<?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>204652</bug_id>
          
          <creation_ts>2019-11-27 13:18:39 -0800</creation_ts>
          <short_desc>Clean up web-platform-tests/resources</short_desc>
          <delta_ts>2020-01-08 21:33:22 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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>Enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>205307</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alexey Shvayka">ashvayka</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dino</cc>
    
    <cc>fred.wang</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1593911</commentid>
    <comment_count>0</comment_count>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2019-11-27 13:18:39 -0800</bug_when>
    <thetext>Re-sync web-platform-tests/resources from upstream</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1593913</commentid>
    <comment_count>1</comment_count>
      <attachid>384424</attachid>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2019-11-27 13:28:54 -0800</bug_when>
    <thetext>Created attachment 384424
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1594194</commentid>
    <comment_count>2</comment_count>
      <attachid>384507</attachid>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2019-11-29 07:14:06 -0800</bug_when>
    <thetext>Created attachment 384507
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1594199</commentid>
    <comment_count>3</comment_count>
      <attachid>384509</attachid>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2019-11-29 08:16:10 -0800</bug_when>
    <thetext>Created attachment 384509
Patch

Upload patch with core.autocrlf=false.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1594601</commentid>
    <comment_count>4</comment_count>
      <attachid>384624</attachid>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2019-12-02 08:38:30 -0800</bug_when>
    <thetext>Created attachment 384624
Patch

Remove file with CRLF line endings with --binary git diff.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1603461</commentid>
    <comment_count>5</comment_count>
      <attachid>386938</attachid>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2020-01-06 23:52:40 -0800</bug_when>
    <thetext>Created attachment 386938
Patch

Rebase patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1603462</commentid>
    <comment_count>6</comment_count>
      <attachid>386939</attachid>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2020-01-06 23:54:19 -0800</bug_when>
    <thetext>Created attachment 386939
Patch

Tweak ChangeLog.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1603483</commentid>
    <comment_count>7</comment_count>
      <attachid>386939</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2020-01-07 01:05:47 -0800</bug_when>
    <thetext>Comment on attachment 386939
Patch

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

&gt; LayoutTests/imported/w3c/ChangeLog:9


Typo: seems</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1603484</commentid>
    <comment_count>8</comment_count>
      <attachid>386939</attachid>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2020-01-07 01:12:18 -0800</bug_when>
    <thetext>Comment on attachment 386939
Patch

Thank you for review. I am unsetting commit-queue as multiple tests are broken, probably because web-platform-tests/resources/testdriver-vendor.js was removed by accident.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1603985</commentid>
    <comment_count>9</comment_count>
      <attachid>387082</attachid>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2020-01-08 00:15:51 -0800</bug_when>
    <thetext>Created attachment 387082
Patch

Set reviewer, fix typo in ChangeLog, and bring back testdriver-vendor.js.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1604498</commentid>
    <comment_count>10</comment_count>
      <attachid>387082</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-01-08 21:32:56 -0800</bug_when>
    <thetext>Comment on attachment 387082
Patch

Clearing flags on attachment: 387082

Committed r254250: &lt;https://trac.webkit.org/changeset/254250&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1604499</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-01-08 21:32:58 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1604500</commentid>
    <comment_count>12</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-01-08 21:33:22 -0800</bug_when>
    <thetext>&lt;rdar://problem/58432698&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>384424</attachid>
            <date>2019-11-27 13:28:54 -0800</date>
            <delta_ts>2019-11-29 07:13:44 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-204652-20191127222850.patch</filename>
            <type>text/plain</type>
            <size>1808956</size>
            <attacher name="Alexey Shvayka">ashvayka</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwkocmV2aXNpb24gMjUyOTExKQorKysg
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDE3IEBACisyMDE5LTExLTI3ICBBbGV4ZXkgU2h2YXlrYSAgPHNodmFpa2FsZXNoQGdtYWls
LmNvbT4KKworICAgICAgICBSZS1zeW5jIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMgZnJv
bSB1cHN0cmVhbQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjA0NjUyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgMS4gUmUtc3luYyB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzIGZyb20gdXBzdHJlYW0g
ZWFiNWZkODYwZWFmLgorICAgICAgICAyLiBTa2lwICJ3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL2Nocm9taXVtIiBhcyBpdCBjb250YWlucyBDaHJvbWl1bS1zcGVjaWZpYyBoYXJuZXNzIHdl
IGRvbid0IHVzZS4KKyAgICAgICAgMy4gU2tpcCAid2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy90ZXN0IiBhcyBpdCBjb250YWlucyBoYXJuZXNzIHRlc3RzIHdlIGRvbid0IHJ1bi4KKworICAg
ICAgICAqIHJlc291cmNlcy9pbXBvcnQtZXhwZWN0YXRpb25zLmpzb246CisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy8qOiBVcGRhdGVkLgorCiAyMDE5LTExLTI3ICBNYW51
ZWwgUmVnbyBDYXNhc25vdmFzICA8cmVnb0BpZ2FsaWEuY29tPgogCiAgICAgICAgIFtjc3MtZ3Jp
ZF0gU2VyaWFsaXphdGlvbiBvZiBncmlkLWFyZWEsIGdyaWQtcm93IGFuZCBncmlkLWNvbHVtbiBz
aG91bGQgaW5jbHVkZSAiLyIgc2VwYXJhdG9yCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2MvcmVzb3VyY2VzL2ltcG9ydC1leHBlY3RhdGlvbnMuanNvbgo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2MvcmVzb3VyY2VzL2ltcG9ydC1leHBlY3RhdGlvbnMuanNvbgko
cmV2aXNpb24gMjUyODk2KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3Jlc291cmNlcy9p
bXBvcnQtZXhwZWN0YXRpb25zLmpzb24JKHdvcmtpbmcgY29weSkKQEAgLTMzMCw2ICszMzAsOCBA
QAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyLyI6ICJpbXBvcnQiLCAK
ICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZyI6ICJpbXBvcnQiLCAKICAg
ICAid2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcyI6ICJpbXBvcnQiLCAKKyAgICAid2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bSI6ICJza2lwIiwgCisgICAgIndlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdCI6ICJza2lwIiwgCiAgICAgIndlYi1wbGF0Zm9ybS10
ZXN0cy9zY3JlZW4tb3JpZW50YXRpb24iOiAic2tpcCIsIAogICAgICJ3ZWItcGxhdGZvcm0tdGVz
dHMvc2Nyb2xsLWFuY2hvcmluZyI6ICJza2lwIiwgCiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9z
Y3JvbGwtaW50by12aWV3IjogInNraXAiLCAKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL01FVEEueW1sCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL01FVEEu
eW1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL01FVEEueW1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBA
QAorc3VnZ2VzdGVkX3Jldmlld2VyczoKKyAgLSBqZ3JhaGFtCisgIC0gZ3NuZWRkZXJzCkluZGV4
OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9P
V05FUlMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvT1dORVJTCShyZXZpc2lvbiAyNTI4OTYpCisrKyBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9PV05FUlMJKG5vbmV4
aXN0ZW50KQpAQCAtMSwzICswLDAgQEAKLUBqZ3JhaGFtCi1AZ3NuZWRkZXJzCi1AYXlnCkluZGV4
OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9j
aGVjay1sYXlvdXQtdGguanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hlY2stbGF5b3V0LXRoLmpzCShyZXZpc2lv
biAyNTI4OTYpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy9jaGVjay1sYXlvdXQtdGguanMJKHdvcmtpbmcgY29weSkKQEAgLTE2MSwxNiAr
MTYxLDE2IEBAIGZ1bmN0aW9uIGNoZWNrRXhwZWN0ZWRWYWx1ZXModCwgbm9kZSwgcHIKICAgICBy
ZXR1cm4gb3V0cHV0LmNoZWNrZWQ7CiB9CiAKLXdpbmRvdy5jaGVja0xheW91dCA9IGZ1bmN0aW9u
KHNlbGVjdG9yTGlzdCwgb3V0cHV0Q29udGFpbmVyKQordmFyIHRlc3ROdW1iZXIgPSAwOworCit3
aW5kb3cuY2hlY2tMYXlvdXQgPSBmdW5jdGlvbihzZWxlY3Rvckxpc3QsIGNhbGxEb25lID0gdHJ1
ZSkKIHsKICAgICBpZiAoIXNlbGVjdG9yTGlzdCkgewogICAgICAgICBjb25zb2xlLmVycm9yKCJZ
b3UgbXVzdCBwcm92aWRlIGEgQ1NTIHNlbGVjdG9yIG9mIG5vZGVzIHRvIGNoZWNrLiIpOwogICAg
ICAgICByZXR1cm47CiAgICAgfQogICAgIHZhciBub2RlcyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0
b3JBbGwoc2VsZWN0b3JMaXN0KTsKLSAgICB2YXIgdGVzdE51bWJlciA9IDA7CiAgICAgbm9kZXMg
PSBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChub2Rlcyk7Ci0gICAgbm9kZXMucmV2ZXJzZSgp
OwogICAgIHZhciBjaGVja2VkTGF5b3V0ID0gZmFsc2U7CiAgICAgQXJyYXkucHJvdG90eXBlLmZv
ckVhY2guY2FsbChub2RlcywgZnVuY3Rpb24obm9kZSkgewogICAgICAgICB0ZXN0KGZ1bmN0aW9u
KHQpIHsKQEAgLTE4OSw3ICsxODksOCBAQCB3aW5kb3cuY2hlY2tMYXlvdXQgPSBmdW5jdGlvbihz
ZWxlY3RvckxpCiAgICAgaWYgKCFjaGVja2VkTGF5b3V0KSB7CiAgICAgICAgIGNvbnNvbGUuZXJy
b3IoIk5vIHZhbGlkIGRhdGEtKiBhdHRyaWJ1dGVzIGZvdW5kIGluIHNlbGVjdG9yIGxpc3QgOiAi
ICsgc2VsZWN0b3JMaXN0KTsKICAgICB9Ci0gICAgZG9uZSgpOworICAgIGlmIChjYWxsRG9uZSkK
KyAgICAgICAgZG9uZSgpOwogfTsKIAogfSkoKTsKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL1JFQURNRS5tZAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy9jaHJvbWl1bS9SRUFETUUubWQJKHJldmlzaW9uIDI1Mjg5NikKKysrIExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL1JF
QURNRS5tZAkobm9uZXhpc3RlbnQpCkBAIC0xLDQgKzAsMCBAQAotVGhpcyBkaXJlY3RvcnkgY29u
dGFpbnMgQ2hyb21pdW0tc3BlY2lmaWMgdGVzdCByZXNvdXJjZXMuCi0KLVRoZSBmaWxlcyBgbW9q
b19iaW5kaW5ncy5qc2AgYW5kIGAqLm1vam9tLmpzYCBhcmUgbWFudWFsbHkgY29waWVkIGZyb20g
dGhlCi1DaHJvbWl1bSBidWlsZCBwcm9jZXNzJ3MgZ2VuZXJhdGVkIGZpbGVzIGFuZCBzaG91bGQg
bm90IGJlIGVkaXRlZCBtYW51YWxseS4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL2Nob29zZXJfc2VydmljZS5tb2pv
bS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS9jaG9vc2VyX3NlcnZpY2UubW9qb20uanMJKHJldmlz
aW9uIDI1Mjg5NikKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL2Nocm9taXVtL2Nob29zZXJfc2VydmljZS5tb2pvbS5qcwkobm9uZXhpc3Rl
bnQpCkBAIC0xLDI3OSArMCwwIEBACi0vLyBDb3B5cmlnaHQgMjAxNCBUaGUgQ2hyb21pdW0gQXV0
aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLS8vIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlz
IGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKLS8vIGZvdW5kIGlu
IHRoZSBMSUNFTlNFIGZpbGUuCi0KLQotJ3VzZSBzdHJpY3QnOwotCi0oZnVuY3Rpb24oKSB7Ci0g
IHZhciBtb2pvbUlkID0gJ2RldmljZS91c2IvcHVibGljL2ludGVyZmFjZXMvY2hvb3Nlcl9zZXJ2
aWNlLm1vam9tJzsKLSAgaWYgKG1vam8uaW50ZXJuYWwuaXNNb2pvbUxvYWRlZChtb2pvbUlkKSkg
ewotICAgIGNvbnNvbGUud2FybignVGhlIGZvbGxvd2luZyBtb2pvbSBpcyBsb2FkZWQgbXVsdGlw
bGUgdGltZXM6ICcgKyBtb2pvbUlkKTsKLSAgICByZXR1cm47Ci0gIH0KLSAgbW9qby5pbnRlcm5h
bC5tYXJrTW9qb21Mb2FkZWQobW9qb21JZCk7Ci0KLSAgLy8gVE9ETyh5enNoZW4pOiBEZWZpbmUg
dGhlc2UgYWxpYXNlcyB0byBtaW5pbWl6ZSB0aGUgZGlmZmVyZW5jZXMgYmV0d2VlbiB0aGUKLSAg
Ly8gb2xkL25ldyBtb2Rlcy4gUmVtb3ZlIHRoZW0gd2hlbiB0aGUgb2xkIG1vZGUgZ29lcyBhd2F5
LgotICB2YXIgYmluZGluZ3MgPSBtb2pvOwotICB2YXIgYXNzb2NpYXRlZEJpbmRpbmdzID0gbW9q
bzsKLSAgdmFyIGNvZGVjID0gbW9qby5pbnRlcm5hbDsKLSAgdmFyIHZhbGlkYXRvciA9IG1vam8u
aW50ZXJuYWw7Ci0KLSAgdmFyIGV4cG9ydHMgPSBtb2pvLmludGVybmFsLmV4cG9zZU5hbWVzcGFj
ZSgnZGV2aWNlLm1vam9tJyk7Ci0gIHZhciBkZXZpY2UkID0KLSAgICAgIG1vam8uaW50ZXJuYWwu
ZXhwb3NlTmFtZXNwYWNlKCdkZXZpY2UubW9qb20nKTsKLSAgaWYgKG1vam8uY29uZmlnLmF1dG9M
b2FkTW9qb21EZXBzKSB7Ci0gICAgbW9qby5pbnRlcm5hbC5sb2FkTW9qb21JZk5lY2Vzc2FyeSgK
LSAgICAgICAgJ2RldmljZS91c2IvcHVibGljL2ludGVyZmFjZXMvZGV2aWNlLm1vam9tJywgJ2Rl
dmljZS5tb2pvbS5qcycpOwotICB9Ci0gIHZhciBkZXZpY2VfbWFuYWdlciQgPQotICAgICAgbW9q
by5pbnRlcm5hbC5leHBvc2VOYW1lc3BhY2UoJ2RldmljZS5tb2pvbScpOwotICBpZiAobW9qby5j
b25maWcuYXV0b0xvYWRNb2pvbURlcHMpIHsKLSAgICBtb2pvLmludGVybmFsLmxvYWRNb2pvbUlm
TmVjZXNzYXJ5KAotICAgICAgICAnZGV2aWNlL3VzYi9wdWJsaWMvaW50ZXJmYWNlcy9kZXZpY2Vf
bWFuYWdlci5tb2pvbScsICdkZXZpY2VfbWFuYWdlci5tb2pvbS5qcycpOwotICB9Ci0KLQotCi0g
IGZ1bmN0aW9uIFVzYkNob29zZXJTZXJ2aWNlX0dldFBlcm1pc3Npb25fUGFyYW1zKHZhbHVlcykg
ewotICAgIHRoaXMuaW5pdERlZmF1bHRzXygpOwotICAgIHRoaXMuaW5pdEZpZWxkc18odmFsdWVz
KTsKLSAgfQotCi0KLSAgVXNiQ2hvb3NlclNlcnZpY2VfR2V0UGVybWlzc2lvbl9QYXJhbXMucHJv
dG90eXBlLmluaXREZWZhdWx0c18gPSBmdW5jdGlvbigpIHsKLSAgICB0aGlzLmRldmljZUZpbHRl
cnMgPSBudWxsOwotICB9OwotICBVc2JDaG9vc2VyU2VydmljZV9HZXRQZXJtaXNzaW9uX1BhcmFt
cy5wcm90b3R5cGUuaW5pdEZpZWxkc18gPSBmdW5jdGlvbihmaWVsZHMpIHsKLSAgICBmb3IodmFy
IGZpZWxkIGluIGZpZWxkcykgewotICAgICAgICBpZiAodGhpcy5oYXNPd25Qcm9wZXJ0eShmaWVs
ZCkpCi0gICAgICAgICAgdGhpc1tmaWVsZF0gPSBmaWVsZHNbZmllbGRdOwotICAgIH0KLSAgfTsK
LQotICBVc2JDaG9vc2VyU2VydmljZV9HZXRQZXJtaXNzaW9uX1BhcmFtcy52YWxpZGF0ZSA9IGZ1
bmN0aW9uKG1lc3NhZ2VWYWxpZGF0b3IsIG9mZnNldCkgewotICAgIHZhciBlcnI7Ci0gICAgZXJy
ID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdEhlYWRlcihvZmZzZXQsIGNvZGVjLmtT
dHJ1Y3RIZWFkZXJTaXplKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVy
cm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICB2YXIga1ZlcnNpb25TaXplcyA9
IFsKLSAgICAgIHt2ZXJzaW9uOiAwLCBudW1CeXRlczogMTZ9Ci0gICAgXTsKLSAgICBlcnIgPSBt
ZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0VmVyc2lvbihvZmZzZXQsIGtWZXJzaW9uU2l6
ZXMpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAg
ICAgICAgcmV0dXJuIGVycjsKLQotCi0gICAgCi0gICAgLy8gdmFsaWRhdGUgVXNiQ2hvb3NlclNl
cnZpY2VfR2V0UGVybWlzc2lvbl9QYXJhbXMuZGV2aWNlRmlsdGVycwotICAgIGVyciA9IG1lc3Nh
Z2VWYWxpZGF0b3IudmFsaWRhdGVBcnJheVBvaW50ZXIob2Zmc2V0ICsgY29kZWMua1N0cnVjdEhl
YWRlclNpemUgKyAwLCA4LCBuZXcgY29kZWMuUG9pbnRlclRvKGRldmljZV9tYW5hZ2VyJC5Vc2JE
ZXZpY2VGaWx0ZXIpLCBmYWxzZSwgWzBdLCAwKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3Iu
dmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICByZXR1cm4g
dmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIFVzYkNob29zZXJTZXJ2
aWNlX0dldFBlcm1pc3Npb25fUGFyYW1zLmVuY29kZWRTaXplID0gY29kZWMua1N0cnVjdEhlYWRl
clNpemUgKyA4OwotCi0gIFVzYkNob29zZXJTZXJ2aWNlX0dldFBlcm1pc3Npb25fUGFyYW1zLmRl
Y29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIHZhciB2YWwg
PSBuZXcgVXNiQ2hvb3NlclNlcnZpY2VfR2V0UGVybWlzc2lvbl9QYXJhbXMoKTsKLSAgICB2YXIg
bnVtYmVyT2ZCeXRlcyA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhciB2ZXJzaW9uID0g
ZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFsLmRldmljZUZpbHRlcnMgPSBkZWNvZGVyLmRl
Y29kZUFycmF5UG9pbnRlcihuZXcgY29kZWMuUG9pbnRlclRvKGRldmljZV9tYW5hZ2VyJC5Vc2JE
ZXZpY2VGaWx0ZXIpKTsKLSAgICByZXR1cm4gdmFsOwotICB9OwotCi0gIFVzYkNob29zZXJTZXJ2
aWNlX0dldFBlcm1pc3Npb25fUGFyYW1zLmVuY29kZSA9IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkg
ewotICAgIHZhciBwYWNrZWQ7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMihVc2JDaG9vc2VyU2Vy
dmljZV9HZXRQZXJtaXNzaW9uX1BhcmFtcy5lbmNvZGVkU2l6ZSk7Ci0gICAgZW5jb2Rlci53cml0
ZVVpbnQzMigwKTsKLSAgICBlbmNvZGVyLmVuY29kZUFycmF5UG9pbnRlcihuZXcgY29kZWMuUG9p
bnRlclRvKGRldmljZV9tYW5hZ2VyJC5Vc2JEZXZpY2VGaWx0ZXIpLCB2YWwuZGV2aWNlRmlsdGVy
cyk7Ci0gIH07Ci0gIGZ1bmN0aW9uIFVzYkNob29zZXJTZXJ2aWNlX0dldFBlcm1pc3Npb25fUmVz
cG9uc2VQYXJhbXModmFsdWVzKSB7Ci0gICAgdGhpcy5pbml0RGVmYXVsdHNfKCk7Ci0gICAgdGhp
cy5pbml0RmllbGRzXyh2YWx1ZXMpOwotICB9Ci0KLQotICBVc2JDaG9vc2VyU2VydmljZV9HZXRQ
ZXJtaXNzaW9uX1Jlc3BvbnNlUGFyYW1zLnByb3RvdHlwZS5pbml0RGVmYXVsdHNfID0gZnVuY3Rp
b24oKSB7Ci0gICAgdGhpcy5yZXN1bHQgPSBudWxsOwotICB9OwotICBVc2JDaG9vc2VyU2Vydmlj
ZV9HZXRQZXJtaXNzaW9uX1Jlc3BvbnNlUGFyYW1zLnByb3RvdHlwZS5pbml0RmllbGRzXyA9IGZ1
bmN0aW9uKGZpZWxkcykgewotICAgIGZvcih2YXIgZmllbGQgaW4gZmllbGRzKSB7Ci0gICAgICAg
IGlmICh0aGlzLmhhc093blByb3BlcnR5KGZpZWxkKSkKLSAgICAgICAgICB0aGlzW2ZpZWxkXSA9
IGZpZWxkc1tmaWVsZF07Ci0gICAgfQotICB9OwotCi0gIFVzYkNob29zZXJTZXJ2aWNlX0dldFBl
cm1pc3Npb25fUmVzcG9uc2VQYXJhbXMudmFsaWRhdGUgPSBmdW5jdGlvbihtZXNzYWdlVmFsaWRh
dG9yLCBvZmZzZXQpIHsKLSAgICB2YXIgZXJyOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3Iu
dmFsaWRhdGVTdHJ1Y3RIZWFkZXIob2Zmc2V0LCBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSk7Ci0g
ICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICBy
ZXR1cm4gZXJyOwotCi0gICAgdmFyIGtWZXJzaW9uU2l6ZXMgPSBbCi0gICAgICB7dmVyc2lvbjog
MCwgbnVtQnl0ZXM6IDE2fQotICAgIF07Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxp
ZGF0ZVN0cnVjdFZlcnNpb24ob2Zmc2V0LCBrVmVyc2lvblNpemVzKTsKLSAgICBpZiAoZXJyICE9
PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0K
LQotICAgIAotICAgIC8vIHZhbGlkYXRlIFVzYkNob29zZXJTZXJ2aWNlX0dldFBlcm1pc3Npb25f
UmVzcG9uc2VQYXJhbXMucmVzdWx0Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0
ZVN0cnVjdFBvaW50ZXIob2Zmc2V0ICsgY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyAwLCBkZXZp
Y2UkLlVzYkRldmljZUluZm8sIHRydWUpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxp
ZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHJldHVybiB2YWxp
ZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gIH07Ci0KLSAgVXNiQ2hvb3NlclNlcnZpY2Vf
R2V0UGVybWlzc2lvbl9SZXNwb25zZVBhcmFtcy5lbmNvZGVkU2l6ZSA9IGNvZGVjLmtTdHJ1Y3RI
ZWFkZXJTaXplICsgODsKLQotICBVc2JDaG9vc2VyU2VydmljZV9HZXRQZXJtaXNzaW9uX1Jlc3Bv
bnNlUGFyYW1zLmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICB2YXIgcGFja2VkOwot
ICAgIHZhciB2YWwgPSBuZXcgVXNiQ2hvb3NlclNlcnZpY2VfR2V0UGVybWlzc2lvbl9SZXNwb25z
ZVBhcmFtcygpOwotICAgIHZhciBudW1iZXJPZkJ5dGVzID0gZGVjb2Rlci5yZWFkVWludDMyKCk7
Ci0gICAgdmFyIHZlcnNpb24gPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YWwucmVzdWx0
ID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3RQb2ludGVyKGRldmljZSQuVXNiRGV2aWNlSW5mbyk7Ci0g
ICAgcmV0dXJuIHZhbDsKLSAgfTsKLQotICBVc2JDaG9vc2VyU2VydmljZV9HZXRQZXJtaXNzaW9u
X1Jlc3BvbnNlUGFyYW1zLmVuY29kZSA9IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgIHZh
ciBwYWNrZWQ7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMihVc2JDaG9vc2VyU2VydmljZV9HZXRQ
ZXJtaXNzaW9uX1Jlc3BvbnNlUGFyYW1zLmVuY29kZWRTaXplKTsKLSAgICBlbmNvZGVyLndyaXRl
VWludDMyKDApOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0UG9pbnRlcihkZXZpY2UkLlVzYkRl
dmljZUluZm8sIHZhbC5yZXN1bHQpOwotICB9OwotICB2YXIga1VzYkNob29zZXJTZXJ2aWNlX0dl
dFBlcm1pc3Npb25fTmFtZSA9IDA7Ci0KLSAgZnVuY3Rpb24gVXNiQ2hvb3NlclNlcnZpY2VQdHIo
aGFuZGxlT3JQdHJJbmZvKSB7Ci0gICAgdGhpcy5wdHIgPSBuZXcgYmluZGluZ3MuSW50ZXJmYWNl
UHRyQ29udHJvbGxlcihVc2JDaG9vc2VyU2VydmljZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZU9yUHRySW5mbyk7Ci0gIH0KLQotICBm
dW5jdGlvbiBVc2JDaG9vc2VyU2VydmljZUFzc29jaWF0ZWRQdHIoYXNzb2NpYXRlZEludGVyZmFj
ZVB0ckluZm8pIHsKLSAgICB0aGlzLnB0ciA9IG5ldyBhc3NvY2lhdGVkQmluZGluZ3MuQXNzb2Np
YXRlZEludGVyZmFjZVB0ckNvbnRyb2xsZXIoCi0gICAgICAgIFVzYkNob29zZXJTZXJ2aWNlLCBh
c3NvY2lhdGVkSW50ZXJmYWNlUHRySW5mbyk7Ci0gIH0KLQotICBVc2JDaG9vc2VyU2VydmljZUFz
c29jaWF0ZWRQdHIucHJvdG90eXBlID0KLSAgICAgIE9iamVjdC5jcmVhdGUoVXNiQ2hvb3NlclNl
cnZpY2VQdHIucHJvdG90eXBlKTsKLSAgVXNiQ2hvb3NlclNlcnZpY2VBc3NvY2lhdGVkUHRyLnBy
b3RvdHlwZS5jb25zdHJ1Y3RvciA9Ci0gICAgICBVc2JDaG9vc2VyU2VydmljZUFzc29jaWF0ZWRQ
dHI7Ci0KLSAgZnVuY3Rpb24gVXNiQ2hvb3NlclNlcnZpY2VQcm94eShyZWNlaXZlcikgewotICAg
IHRoaXMucmVjZWl2ZXJfID0gcmVjZWl2ZXI7Ci0gIH0KLSAgVXNiQ2hvb3NlclNlcnZpY2VQdHIu
cHJvdG90eXBlLmdldFBlcm1pc3Npb24gPSBmdW5jdGlvbigpIHsKLSAgICByZXR1cm4gVXNiQ2hv
b3NlclNlcnZpY2VQcm94eS5wcm90b3R5cGUuZ2V0UGVybWlzc2lvbgotICAgICAgICAuYXBwbHko
dGhpcy5wdHIuZ2V0UHJveHkoKSwgYXJndW1lbnRzKTsKLSAgfTsKLQotICBVc2JDaG9vc2VyU2Vy
dmljZVByb3h5LnByb3RvdHlwZS5nZXRQZXJtaXNzaW9uID0gZnVuY3Rpb24oZGV2aWNlRmlsdGVy
cykgewotICAgIHZhciBwYXJhbXMgPSBuZXcgVXNiQ2hvb3NlclNlcnZpY2VfR2V0UGVybWlzc2lv
bl9QYXJhbXMoKTsKLSAgICBwYXJhbXMuZGV2aWNlRmlsdGVycyA9IGRldmljZUZpbHRlcnM7Ci0g
ICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewotICAgICAg
dmFyIGJ1aWxkZXIgPSBuZXcgY29kZWMuTWVzc2FnZVYxQnVpbGRlcigKLSAgICAgICAgICBrVXNi
Q2hvb3NlclNlcnZpY2VfR2V0UGVybWlzc2lvbl9OYW1lLAotICAgICAgICAgIGNvZGVjLmFsaWdu
KFVzYkNob29zZXJTZXJ2aWNlX0dldFBlcm1pc3Npb25fUGFyYW1zLmVuY29kZWRTaXplKSwKLSAg
ICAgICAgICBjb2RlYy5rTWVzc2FnZUV4cGVjdHNSZXNwb25zZSwgMCk7Ci0gICAgICBidWlsZGVy
LmVuY29kZVN0cnVjdChVc2JDaG9vc2VyU2VydmljZV9HZXRQZXJtaXNzaW9uX1BhcmFtcywgcGFy
YW1zKTsKLSAgICAgIHZhciBtZXNzYWdlID0gYnVpbGRlci5maW5pc2goKTsKLSAgICAgIHRoaXMu
cmVjZWl2ZXJfLmFjY2VwdEFuZEV4cGVjdFJlc3BvbnNlKG1lc3NhZ2UpLnRoZW4oZnVuY3Rpb24o
bWVzc2FnZSkgewotICAgICAgICB2YXIgcmVhZGVyID0gbmV3IGNvZGVjLk1lc3NhZ2VSZWFkZXIo
bWVzc2FnZSk7Ci0gICAgICAgIHZhciByZXNwb25zZVBhcmFtcyA9Ci0gICAgICAgICAgICByZWFk
ZXIuZGVjb2RlU3RydWN0KFVzYkNob29zZXJTZXJ2aWNlX0dldFBlcm1pc3Npb25fUmVzcG9uc2VQ
YXJhbXMpOwotICAgICAgICByZXNvbHZlKHJlc3BvbnNlUGFyYW1zKTsKLSAgICAgIH0pLmNhdGNo
KGZ1bmN0aW9uKHJlc3VsdCkgewotICAgICAgICByZWplY3QoRXJyb3IoIkNvbm5lY3Rpb24gZXJy
b3I6ICIgKyByZXN1bHQpKTsKLSAgICAgIH0pOwotICAgIH0uYmluZCh0aGlzKSk7Ci0gIH07Ci0K
LSAgZnVuY3Rpb24gVXNiQ2hvb3NlclNlcnZpY2VTdHViKGRlbGVnYXRlKSB7Ci0gICAgdGhpcy5k
ZWxlZ2F0ZV8gPSBkZWxlZ2F0ZTsKLSAgfQotICBVc2JDaG9vc2VyU2VydmljZVN0dWIucHJvdG90
eXBlLmdldFBlcm1pc3Npb24gPSBmdW5jdGlvbihkZXZpY2VGaWx0ZXJzKSB7Ci0gICAgcmV0dXJu
IHRoaXMuZGVsZWdhdGVfICYmIHRoaXMuZGVsZWdhdGVfLmdldFBlcm1pc3Npb24gJiYgdGhpcy5k
ZWxlZ2F0ZV8uZ2V0UGVybWlzc2lvbihkZXZpY2VGaWx0ZXJzKTsKLSAgfQotCi0gIFVzYkNob29z
ZXJTZXJ2aWNlU3R1Yi5wcm90b3R5cGUuYWNjZXB0ID0gZnVuY3Rpb24obWVzc2FnZSkgewotICAg
IHZhciByZWFkZXIgPSBuZXcgY29kZWMuTWVzc2FnZVJlYWRlcihtZXNzYWdlKTsKLSAgICBzd2l0
Y2ggKHJlYWRlci5tZXNzYWdlTmFtZSkgewotICAgIGRlZmF1bHQ6Ci0gICAgICByZXR1cm4gZmFs
c2U7Ci0gICAgfQotICB9OwotCi0gIFVzYkNob29zZXJTZXJ2aWNlU3R1Yi5wcm90b3R5cGUuYWNj
ZXB0V2l0aFJlc3BvbmRlciA9Ci0gICAgICBmdW5jdGlvbihtZXNzYWdlLCByZXNwb25kZXIpIHsK
LSAgICB2YXIgcmVhZGVyID0gbmV3IGNvZGVjLk1lc3NhZ2VSZWFkZXIobWVzc2FnZSk7Ci0gICAg
c3dpdGNoIChyZWFkZXIubWVzc2FnZU5hbWUpIHsKLSAgICBjYXNlIGtVc2JDaG9vc2VyU2Vydmlj
ZV9HZXRQZXJtaXNzaW9uX05hbWU6Ci0gICAgICB2YXIgcGFyYW1zID0gcmVhZGVyLmRlY29kZVN0
cnVjdChVc2JDaG9vc2VyU2VydmljZV9HZXRQZXJtaXNzaW9uX1BhcmFtcyk7Ci0gICAgICB0aGlz
LmdldFBlcm1pc3Npb24ocGFyYW1zLmRldmljZUZpbHRlcnMpLnRoZW4oZnVuY3Rpb24ocmVzcG9u
c2UpIHsKLSAgICAgICAgdmFyIHJlc3BvbnNlUGFyYW1zID0KLSAgICAgICAgICAgIG5ldyBVc2JD
aG9vc2VyU2VydmljZV9HZXRQZXJtaXNzaW9uX1Jlc3BvbnNlUGFyYW1zKCk7Ci0gICAgICAgIHJl
c3BvbnNlUGFyYW1zLnJlc3VsdCA9IHJlc3BvbnNlLnJlc3VsdDsKLSAgICAgICAgdmFyIGJ1aWxk
ZXIgPSBuZXcgY29kZWMuTWVzc2FnZVYxQnVpbGRlcigKLSAgICAgICAgICAgIGtVc2JDaG9vc2Vy
U2VydmljZV9HZXRQZXJtaXNzaW9uX05hbWUsCi0gICAgICAgICAgICBjb2RlYy5hbGlnbihVc2JD
aG9vc2VyU2VydmljZV9HZXRQZXJtaXNzaW9uX1Jlc3BvbnNlUGFyYW1zLmVuY29kZWRTaXplKSwK
LSAgICAgICAgICAgIGNvZGVjLmtNZXNzYWdlSXNSZXNwb25zZSwgcmVhZGVyLnJlcXVlc3RJRCk7
Ci0gICAgICAgIGJ1aWxkZXIuZW5jb2RlU3RydWN0KFVzYkNob29zZXJTZXJ2aWNlX0dldFBlcm1p
c3Npb25fUmVzcG9uc2VQYXJhbXMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3Bv
bnNlUGFyYW1zKTsKLSAgICAgICAgdmFyIG1lc3NhZ2UgPSBidWlsZGVyLmZpbmlzaCgpOwotICAg
ICAgICByZXNwb25kZXIuYWNjZXB0KG1lc3NhZ2UpOwotICAgICAgfSk7Ci0gICAgICByZXR1cm4g
dHJ1ZTsKLSAgICBkZWZhdWx0OgotICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0KLSAgfTsKLQot
ICBmdW5jdGlvbiB2YWxpZGF0ZVVzYkNob29zZXJTZXJ2aWNlUmVxdWVzdChtZXNzYWdlVmFsaWRh
dG9yKSB7Ci0gICAgdmFyIG1lc3NhZ2UgPSBtZXNzYWdlVmFsaWRhdG9yLm1lc3NhZ2U7Ci0gICAg
dmFyIHBhcmFtc0NsYXNzID0gbnVsbDsKLSAgICBzd2l0Y2ggKG1lc3NhZ2UuZ2V0TmFtZSgpKSB7
Ci0gICAgICBjYXNlIGtVc2JDaG9vc2VyU2VydmljZV9HZXRQZXJtaXNzaW9uX05hbWU6Ci0gICAg
ICAgIGlmIChtZXNzYWdlLmV4cGVjdHNSZXNwb25zZSgpKQotICAgICAgICAgIHBhcmFtc0NsYXNz
ID0gVXNiQ2hvb3NlclNlcnZpY2VfR2V0UGVybWlzc2lvbl9QYXJhbXM7Ci0gICAgICBicmVhazsK
LSAgICB9Ci0gICAgaWYgKHBhcmFtc0NsYXNzID09PSBudWxsKQotICAgICAgcmV0dXJuIHZhbGlk
YXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAgICByZXR1cm4gcGFyYW1zQ2xhc3MudmFsaWRh
dGUobWVzc2FnZVZhbGlkYXRvciwgbWVzc2FnZVZhbGlkYXRvci5tZXNzYWdlLmdldEhlYWRlck51
bUJ5dGVzKCkpOwotICB9Ci0KLSAgZnVuY3Rpb24gdmFsaWRhdGVVc2JDaG9vc2VyU2VydmljZVJl
c3BvbnNlKG1lc3NhZ2VWYWxpZGF0b3IpIHsKLSAgIHZhciBtZXNzYWdlID0gbWVzc2FnZVZhbGlk
YXRvci5tZXNzYWdlOwotICAgdmFyIHBhcmFtc0NsYXNzID0gbnVsbDsKLSAgIHN3aXRjaCAobWVz
c2FnZS5nZXROYW1lKCkpIHsKLSAgICAgIGNhc2Uga1VzYkNob29zZXJTZXJ2aWNlX0dldFBlcm1p
c3Npb25fTmFtZToKLSAgICAgICAgaWYgKG1lc3NhZ2UuaXNSZXNwb25zZSgpKQotICAgICAgICAg
IHBhcmFtc0NsYXNzID0gVXNiQ2hvb3NlclNlcnZpY2VfR2V0UGVybWlzc2lvbl9SZXNwb25zZVBh
cmFtczsKLSAgICAgICAgYnJlYWs7Ci0gICAgfQotICAgIGlmIChwYXJhbXNDbGFzcyA9PT0gbnVs
bCkKLSAgICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gICAgcmV0
dXJuIHBhcmFtc0NsYXNzLnZhbGlkYXRlKG1lc3NhZ2VWYWxpZGF0b3IsIG1lc3NhZ2VWYWxpZGF0
b3IubWVzc2FnZS5nZXRIZWFkZXJOdW1CeXRlcygpKTsKLSAgfQotCi0gIHZhciBVc2JDaG9vc2Vy
U2VydmljZSA9IHsKLSAgICBuYW1lOiAnZGV2aWNlOjptb2pvbTo6VXNiQ2hvb3NlclNlcnZpY2Un
LAotICAgIGtWZXJzaW9uOiAwLAotICAgIHB0ckNsYXNzOiBVc2JDaG9vc2VyU2VydmljZVB0ciwK
LSAgICBwcm94eUNsYXNzOiBVc2JDaG9vc2VyU2VydmljZVByb3h5LAotICAgIHN0dWJDbGFzczog
VXNiQ2hvb3NlclNlcnZpY2VTdHViLAotICAgIHZhbGlkYXRlUmVxdWVzdDogdmFsaWRhdGVVc2JD
aG9vc2VyU2VydmljZVJlcXVlc3QsCi0gICAgdmFsaWRhdGVSZXNwb25zZTogdmFsaWRhdGVVc2JD
aG9vc2VyU2VydmljZVJlc3BvbnNlLAotICB9OwotICBVc2JDaG9vc2VyU2VydmljZVN0dWIucHJv
dG90eXBlLnZhbGlkYXRvciA9IHZhbGlkYXRlVXNiQ2hvb3NlclNlcnZpY2VSZXF1ZXN0OwotICBV
c2JDaG9vc2VyU2VydmljZVByb3h5LnByb3RvdHlwZS52YWxpZGF0b3IgPSB2YWxpZGF0ZVVzYkNo
b29zZXJTZXJ2aWNlUmVzcG9uc2U7Ci0gIGV4cG9ydHMuVXNiQ2hvb3NlclNlcnZpY2UgPSBVc2JD
aG9vc2VyU2VydmljZTsKLSAgZXhwb3J0cy5Vc2JDaG9vc2VyU2VydmljZVB0ciA9IFVzYkNob29z
ZXJTZXJ2aWNlUHRyOwotICBleHBvcnRzLlVzYkNob29zZXJTZXJ2aWNlQXNzb2NpYXRlZFB0ciA9
IFVzYkNob29zZXJTZXJ2aWNlQXNzb2NpYXRlZFB0cjsKLX0pKCk7ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vY2hvb3Nlcl9zZXJ2aWNlLm1vam9tLmpzLmhlYWRlcnMK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvY2hyb21pdW0vY2hvb3Nlcl9zZXJ2aWNlLm1vam9tLmpzLmhlYWRlcnMJKHJl
dmlzaW9uIDI1Mjg5NikKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL2Nob29zZXJfc2VydmljZS5tb2pvbS5qcy5oZWFkZXJz
CShub25leGlzdGVudCkKQEAgLTEgKzAsMCBAQAotQ29udGVudC1UeXBlOiB0ZXh0L2phdmFzY3Jp
cHQ7IGNoYXJzZXQ9dXRmLTgKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL2RldmljZS5tb2pvbS5qcwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy9jaHJvbWl1bS9kZXZpY2UubW9qb20uanMJKHJldmlzaW9uIDI1Mjg5NikKKysrIExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL2Rl
dmljZS5tb2pvbS5qcwkobm9uZXhpc3RlbnQpCkBAIC0xLDM0NjAgKzAsMCBAQAotLy8gQ29weXJp
Z2h0IDIwMTQgVGhlIENocm9taXVtIEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0vLyBV
c2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNl
IHRoYXQgY2FuIGJlCi0vLyBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgotCi0KLSd1c2Ugc3Ry
aWN0JzsKLQotKGZ1bmN0aW9uKCkgewotICB2YXIgbW9qb21JZCA9ICdkZXZpY2UvdXNiL3B1Ymxp
Yy9pbnRlcmZhY2VzL2RldmljZS5tb2pvbSc7Ci0gIGlmIChtb2pvLmludGVybmFsLmlzTW9qb21M
b2FkZWQobW9qb21JZCkpIHsKLSAgICBjb25zb2xlLndhcm4oJ1RoZSBmb2xsb3dpbmcgbW9qb20g
aXMgbG9hZGVkIG11bHRpcGxlIHRpbWVzOiAnICsgbW9qb21JZCk7Ci0gICAgcmV0dXJuOwotICB9
Ci0gIG1vam8uaW50ZXJuYWwubWFya01vam9tTG9hZGVkKG1vam9tSWQpOwotCi0gIC8vIFRPRE8o
eXpzaGVuKTogRGVmaW5lIHRoZXNlIGFsaWFzZXMgdG8gbWluaW1pemUgdGhlIGRpZmZlcmVuY2Vz
IGJldHdlZW4gdGhlCi0gIC8vIG9sZC9uZXcgbW9kZXMuIFJlbW92ZSB0aGVtIHdoZW4gdGhlIG9s
ZCBtb2RlIGdvZXMgYXdheS4KLSAgdmFyIGJpbmRpbmdzID0gbW9qbzsKLSAgdmFyIGFzc29jaWF0
ZWRCaW5kaW5ncyA9IG1vam87Ci0gIHZhciBjb2RlYyA9IG1vam8uaW50ZXJuYWw7Ci0gIHZhciB2
YWxpZGF0b3IgPSBtb2pvLmludGVybmFsOwotCi0gIHZhciBleHBvcnRzID0gbW9qby5pbnRlcm5h
bC5leHBvc2VOYW1lc3BhY2UoJ2RldmljZS5tb2pvbScpOwotICB2YXIgc3RyaW5nMTYkID0KLSAg
ICAgIG1vam8uaW50ZXJuYWwuZXhwb3NlTmFtZXNwYWNlKCdtb2pvLmNvbW1vbi5tb2pvbScpOwot
ICBpZiAobW9qby5jb25maWcuYXV0b0xvYWRNb2pvbURlcHMpIHsKLSAgICBtb2pvLmludGVybmFs
LmxvYWRNb2pvbUlmTmVjZXNzYXJ5KAotICAgICAgICAnbW9qby9jb21tb24vc3RyaW5nMTYubW9q
b20nLCAnLi4vLi4vLi4vLi4vbW9qby9jb21tb24vc3RyaW5nMTYubW9qb20uanMnKTsKLSAgfQot
Ci0KLSAgdmFyIFVzYk9wZW5EZXZpY2VFcnJvciA9IHt9OwotICBVc2JPcGVuRGV2aWNlRXJyb3Iu
T0sgPSAwOwotICBVc2JPcGVuRGV2aWNlRXJyb3IuQUNDRVNTX0RFTklFRCA9IFVzYk9wZW5EZXZp
Y2VFcnJvci5PSyArIDE7Ci0gIFVzYk9wZW5EZXZpY2VFcnJvci5BTFJFQURZX09QRU4gPSBVc2JP
cGVuRGV2aWNlRXJyb3IuQUNDRVNTX0RFTklFRCArIDE7Ci0KLSAgVXNiT3BlbkRldmljZUVycm9y
LmlzS25vd25FbnVtVmFsdWUgPSBmdW5jdGlvbih2YWx1ZSkgewotICAgIHN3aXRjaCAodmFsdWUp
IHsKLSAgICBjYXNlIDA6Ci0gICAgY2FzZSAxOgotICAgIGNhc2UgMjoKLSAgICAgIHJldHVybiB0
cnVlOwotICAgIH0KLSAgICByZXR1cm4gZmFsc2U7Ci0gIH07Ci0KLSAgVXNiT3BlbkRldmljZUVy
cm9yLnZhbGlkYXRlID0gZnVuY3Rpb24oZW51bVZhbHVlKSB7Ci0gICAgdmFyIGlzRXh0ZW5zaWJs
ZSA9IGZhbHNlOwotICAgIGlmIChpc0V4dGVuc2libGUgfHwgdGhpcy5pc0tub3duRW51bVZhbHVl
KGVudW1WYWx1ZSkpCi0gICAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05F
OwotCi0gICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuVU5LTk9XTl9FTlVNX1ZB
TFVFOwotICB9OwotICB2YXIgVXNiVHJhbnNmZXJEaXJlY3Rpb24gPSB7fTsKLSAgVXNiVHJhbnNm
ZXJEaXJlY3Rpb24uSU5CT1VORCA9IDA7Ci0gIFVzYlRyYW5zZmVyRGlyZWN0aW9uLk9VVEJPVU5E
ID0gVXNiVHJhbnNmZXJEaXJlY3Rpb24uSU5CT1VORCArIDE7Ci0KLSAgVXNiVHJhbnNmZXJEaXJl
Y3Rpb24uaXNLbm93bkVudW1WYWx1ZSA9IGZ1bmN0aW9uKHZhbHVlKSB7Ci0gICAgc3dpdGNoICh2
YWx1ZSkgewotICAgIGNhc2UgMDoKLSAgICBjYXNlIDE6Ci0gICAgICByZXR1cm4gdHJ1ZTsKLSAg
ICB9Ci0gICAgcmV0dXJuIGZhbHNlOwotICB9OwotCi0gIFVzYlRyYW5zZmVyRGlyZWN0aW9uLnZh
bGlkYXRlID0gZnVuY3Rpb24oZW51bVZhbHVlKSB7Ci0gICAgdmFyIGlzRXh0ZW5zaWJsZSA9IGZh
bHNlOwotICAgIGlmIChpc0V4dGVuc2libGUgfHwgdGhpcy5pc0tub3duRW51bVZhbHVlKGVudW1W
YWx1ZSkpCi0gICAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwotCi0g
ICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuVU5LTk9XTl9FTlVNX1ZBTFVFOwot
ICB9OwotICB2YXIgVXNiQ29udHJvbFRyYW5zZmVyVHlwZSA9IHt9OwotICBVc2JDb250cm9sVHJh
bnNmZXJUeXBlLlNUQU5EQVJEID0gMDsKLSAgVXNiQ29udHJvbFRyYW5zZmVyVHlwZS5DTEFTUyA9
IFVzYkNvbnRyb2xUcmFuc2ZlclR5cGUuU1RBTkRBUkQgKyAxOwotICBVc2JDb250cm9sVHJhbnNm
ZXJUeXBlLlZFTkRPUiA9IFVzYkNvbnRyb2xUcmFuc2ZlclR5cGUuQ0xBU1MgKyAxOwotICBVc2JD
b250cm9sVHJhbnNmZXJUeXBlLlJFU0VSVkVEID0gVXNiQ29udHJvbFRyYW5zZmVyVHlwZS5WRU5E
T1IgKyAxOwotCi0gIFVzYkNvbnRyb2xUcmFuc2ZlclR5cGUuaXNLbm93bkVudW1WYWx1ZSA9IGZ1
bmN0aW9uKHZhbHVlKSB7Ci0gICAgc3dpdGNoICh2YWx1ZSkgewotICAgIGNhc2UgMDoKLSAgICBj
YXNlIDE6Ci0gICAgY2FzZSAyOgotICAgIGNhc2UgMzoKLSAgICAgIHJldHVybiB0cnVlOwotICAg
IH0KLSAgICByZXR1cm4gZmFsc2U7Ci0gIH07Ci0KLSAgVXNiQ29udHJvbFRyYW5zZmVyVHlwZS52
YWxpZGF0ZSA9IGZ1bmN0aW9uKGVudW1WYWx1ZSkgewotICAgIHZhciBpc0V4dGVuc2libGUgPSBm
YWxzZTsKLSAgICBpZiAoaXNFeHRlbnNpYmxlIHx8IHRoaXMuaXNLbm93bkVudW1WYWx1ZShlbnVt
VmFsdWUpKQotICAgICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORTsKLQot
ICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLlVOS05PV05fRU5VTV9WQUxVRTsK
LSAgfTsKLSAgdmFyIFVzYkNvbnRyb2xUcmFuc2ZlclJlY2lwaWVudCA9IHt9OwotICBVc2JDb250
cm9sVHJhbnNmZXJSZWNpcGllbnQuREVWSUNFID0gMDsKLSAgVXNiQ29udHJvbFRyYW5zZmVyUmVj
aXBpZW50LklOVEVSRkFDRSA9IFVzYkNvbnRyb2xUcmFuc2ZlclJlY2lwaWVudC5ERVZJQ0UgKyAx
OwotICBVc2JDb250cm9sVHJhbnNmZXJSZWNpcGllbnQuRU5EUE9JTlQgPSBVc2JDb250cm9sVHJh
bnNmZXJSZWNpcGllbnQuSU5URVJGQUNFICsgMTsKLSAgVXNiQ29udHJvbFRyYW5zZmVyUmVjaXBp
ZW50Lk9USEVSID0gVXNiQ29udHJvbFRyYW5zZmVyUmVjaXBpZW50LkVORFBPSU5UICsgMTsKLQot
ICBVc2JDb250cm9sVHJhbnNmZXJSZWNpcGllbnQuaXNLbm93bkVudW1WYWx1ZSA9IGZ1bmN0aW9u
KHZhbHVlKSB7Ci0gICAgc3dpdGNoICh2YWx1ZSkgewotICAgIGNhc2UgMDoKLSAgICBjYXNlIDE6
Ci0gICAgY2FzZSAyOgotICAgIGNhc2UgMzoKLSAgICAgIHJldHVybiB0cnVlOwotICAgIH0KLSAg
ICByZXR1cm4gZmFsc2U7Ci0gIH07Ci0KLSAgVXNiQ29udHJvbFRyYW5zZmVyUmVjaXBpZW50LnZh
bGlkYXRlID0gZnVuY3Rpb24oZW51bVZhbHVlKSB7Ci0gICAgdmFyIGlzRXh0ZW5zaWJsZSA9IGZh
bHNlOwotICAgIGlmIChpc0V4dGVuc2libGUgfHwgdGhpcy5pc0tub3duRW51bVZhbHVlKGVudW1W
YWx1ZSkpCi0gICAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwotCi0g
ICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuVU5LTk9XTl9FTlVNX1ZBTFVFOwot
ICB9OwotICB2YXIgVXNiVHJhbnNmZXJUeXBlID0ge307Ci0gIFVzYlRyYW5zZmVyVHlwZS5DT05U
Uk9MID0gMDsKLSAgVXNiVHJhbnNmZXJUeXBlLklTT0NIUk9OT1VTID0gVXNiVHJhbnNmZXJUeXBl
LkNPTlRST0wgKyAxOwotICBVc2JUcmFuc2ZlclR5cGUuQlVMSyA9IFVzYlRyYW5zZmVyVHlwZS5J
U09DSFJPTk9VUyArIDE7Ci0gIFVzYlRyYW5zZmVyVHlwZS5JTlRFUlJVUFQgPSBVc2JUcmFuc2Zl
clR5cGUuQlVMSyArIDE7Ci0KLSAgVXNiVHJhbnNmZXJUeXBlLmlzS25vd25FbnVtVmFsdWUgPSBm
dW5jdGlvbih2YWx1ZSkgewotICAgIHN3aXRjaCAodmFsdWUpIHsKLSAgICBjYXNlIDA6Ci0gICAg
Y2FzZSAxOgotICAgIGNhc2UgMjoKLSAgICBjYXNlIDM6Ci0gICAgICByZXR1cm4gdHJ1ZTsKLSAg
ICB9Ci0gICAgcmV0dXJuIGZhbHNlOwotICB9OwotCi0gIFVzYlRyYW5zZmVyVHlwZS52YWxpZGF0
ZSA9IGZ1bmN0aW9uKGVudW1WYWx1ZSkgewotICAgIHZhciBpc0V4dGVuc2libGUgPSBmYWxzZTsK
LSAgICBpZiAoaXNFeHRlbnNpYmxlIHx8IHRoaXMuaXNLbm93bkVudW1WYWx1ZShlbnVtVmFsdWUp
KQotICAgICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORTsKLQotICAgIHJl
dHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLlVOS05PV05fRU5VTV9WQUxVRTsKLSAgfTsK
LSAgdmFyIFVzYlRyYW5zZmVyU3RhdHVzID0ge307Ci0gIFVzYlRyYW5zZmVyU3RhdHVzLkNPTVBM
RVRFRCA9IDA7Ci0gIFVzYlRyYW5zZmVyU3RhdHVzLlRSQU5TRkVSX0VSUk9SID0gVXNiVHJhbnNm
ZXJTdGF0dXMuQ09NUExFVEVEICsgMTsKLSAgVXNiVHJhbnNmZXJTdGF0dXMuVElNRU9VVCA9IFVz
YlRyYW5zZmVyU3RhdHVzLlRSQU5TRkVSX0VSUk9SICsgMTsKLSAgVXNiVHJhbnNmZXJTdGF0dXMu
Q0FOQ0VMTEVEID0gVXNiVHJhbnNmZXJTdGF0dXMuVElNRU9VVCArIDE7Ci0gIFVzYlRyYW5zZmVy
U3RhdHVzLlNUQUxMRUQgPSBVc2JUcmFuc2ZlclN0YXR1cy5DQU5DRUxMRUQgKyAxOwotICBVc2JU
cmFuc2ZlclN0YXR1cy5ESVNDT05ORUNUID0gVXNiVHJhbnNmZXJTdGF0dXMuU1RBTExFRCArIDE7
Ci0gIFVzYlRyYW5zZmVyU3RhdHVzLkJBQkJMRSA9IFVzYlRyYW5zZmVyU3RhdHVzLkRJU0NPTk5F
Q1QgKyAxOwotICBVc2JUcmFuc2ZlclN0YXR1cy5TSE9SVF9QQUNLRVQgPSBVc2JUcmFuc2ZlclN0
YXR1cy5CQUJCTEUgKyAxOwotICBVc2JUcmFuc2ZlclN0YXR1cy5QRVJNSVNTSU9OX0RFTklFRCA9
IFVzYlRyYW5zZmVyU3RhdHVzLlNIT1JUX1BBQ0tFVCArIDE7Ci0KLSAgVXNiVHJhbnNmZXJTdGF0
dXMuaXNLbm93bkVudW1WYWx1ZSA9IGZ1bmN0aW9uKHZhbHVlKSB7Ci0gICAgc3dpdGNoICh2YWx1
ZSkgewotICAgIGNhc2UgMDoKLSAgICBjYXNlIDE6Ci0gICAgY2FzZSAyOgotICAgIGNhc2UgMzoK
LSAgICBjYXNlIDQ6Ci0gICAgY2FzZSA1OgotICAgIGNhc2UgNjoKLSAgICBjYXNlIDc6Ci0gICAg
Y2FzZSA4OgotICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfQotICAgIHJldHVybiBmYWxzZTsKLSAg
fTsKLQotICBVc2JUcmFuc2ZlclN0YXR1cy52YWxpZGF0ZSA9IGZ1bmN0aW9uKGVudW1WYWx1ZSkg
ewotICAgIHZhciBpc0V4dGVuc2libGUgPSBmYWxzZTsKLSAgICBpZiAoaXNFeHRlbnNpYmxlIHx8
IHRoaXMuaXNLbm93bkVudW1WYWx1ZShlbnVtVmFsdWUpKQotICAgICAgcmV0dXJuIHZhbGlkYXRv
ci52YWxpZGF0aW9uRXJyb3IuTk9ORTsKLQotICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlv
bkVycm9yLlVOS05PV05fRU5VTV9WQUxVRTsKLSAgfTsKLQotICBmdW5jdGlvbiBVc2JFbmRwb2lu
dEluZm8odmFsdWVzKSB7Ci0gICAgdGhpcy5pbml0RGVmYXVsdHNfKCk7Ci0gICAgdGhpcy5pbml0
RmllbGRzXyh2YWx1ZXMpOwotICB9Ci0KLQotICBVc2JFbmRwb2ludEluZm8ucHJvdG90eXBlLmlu
aXREZWZhdWx0c18gPSBmdW5jdGlvbigpIHsKLSAgICB0aGlzLmVuZHBvaW50TnVtYmVyID0gMDsK
LSAgICB0aGlzLmRpcmVjdGlvbiA9IDA7Ci0gICAgdGhpcy50eXBlID0gMDsKLSAgICB0aGlzLnBh
Y2tldFNpemUgPSAwOwotICB9OwotICBVc2JFbmRwb2ludEluZm8ucHJvdG90eXBlLmluaXRGaWVs
ZHNfID0gZnVuY3Rpb24oZmllbGRzKSB7Ci0gICAgZm9yKHZhciBmaWVsZCBpbiBmaWVsZHMpIHsK
LSAgICAgICAgaWYgKHRoaXMuaGFzT3duUHJvcGVydHkoZmllbGQpKQotICAgICAgICAgIHRoaXNb
ZmllbGRdID0gZmllbGRzW2ZpZWxkXTsKLSAgICB9Ci0gIH07Ci0KLSAgVXNiRW5kcG9pbnRJbmZv
LnZhbGlkYXRlID0gZnVuY3Rpb24obWVzc2FnZVZhbGlkYXRvciwgb2Zmc2V0KSB7Ci0gICAgdmFy
IGVycjsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0SGVhZGVyKG9m
ZnNldCwgY29kZWMua1N0cnVjdEhlYWRlclNpemUpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRv
ci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHZhciBr
VmVyc2lvblNpemVzID0gWwotICAgICAge3ZlcnNpb246IDAsIG51bUJ5dGVzOiAyNH0KLSAgICBd
OwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RWZXJzaW9uKG9mZnNl
dCwga1ZlcnNpb25TaXplcyk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25F
cnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0KLQotICAgIAotICAgIC8vIHZhbGlk
YXRlIFVzYkVuZHBvaW50SW5mby5kaXJlY3Rpb24KLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9y
LnZhbGlkYXRlRW51bShvZmZzZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDQsIFVzYlRy
YW5zZmVyRGlyZWN0aW9uKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVy
cm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotICAgIAotICAgIC8vIHZhbGlkYXRl
IFVzYkVuZHBvaW50SW5mby50eXBlCi0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0
ZUVudW0ob2Zmc2V0ICsgY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyA4LCBVc2JUcmFuc2ZlclR5
cGUpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAg
ICAgICAgcmV0dXJuIGVycjsKLQotCi0gICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJy
b3IuTk9ORTsKLSAgfTsKLQotICBVc2JFbmRwb2ludEluZm8uZW5jb2RlZFNpemUgPSBjb2RlYy5r
U3RydWN0SGVhZGVyU2l6ZSArIDE2OwotCi0gIFVzYkVuZHBvaW50SW5mby5kZWNvZGUgPSBmdW5j
dGlvbihkZWNvZGVyKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICB2YXIgdmFsID0gbmV3IFVzYkVu
ZHBvaW50SW5mbygpOwotICAgIHZhciBudW1iZXJPZkJ5dGVzID0gZGVjb2Rlci5yZWFkVWludDMy
KCk7Ci0gICAgdmFyIHZlcnNpb24gPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YWwuZW5k
cG9pbnROdW1iZXIgPSBkZWNvZGVyLmRlY29kZVN0cnVjdChjb2RlYy5VaW50OCk7Ci0gICAgZGVj
b2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7
Ci0gICAgdmFsLmRpcmVjdGlvbiA9IGRlY29kZXIuZGVjb2RlU3RydWN0KGNvZGVjLkludDMyKTsK
LSAgICB2YWwudHlwZSA9IGRlY29kZXIuZGVjb2RlU3RydWN0KGNvZGVjLkludDMyKTsKLSAgICB2
YWwucGFja2V0U2l6ZSA9IGRlY29kZXIuZGVjb2RlU3RydWN0KGNvZGVjLlVpbnQzMik7Ci0gICAg
cmV0dXJuIHZhbDsKLSAgfTsKLQotICBVc2JFbmRwb2ludEluZm8uZW5jb2RlID0gZnVuY3Rpb24o
ZW5jb2RlciwgdmFsKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICBlbmNvZGVyLndyaXRlVWludDMy
KFVzYkVuZHBvaW50SW5mby5lbmNvZGVkU2l6ZSk7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMigw
KTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdChjb2RlYy5VaW50OCwgdmFsLmVuZHBvaW50TnVt
YmVyKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVu
Y29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdChjb2RlYy5JbnQzMiwgdmFs
LmRpcmVjdGlvbik7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3QoY29kZWMuSW50MzIsIHZhbC50
eXBlKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdChjb2RlYy5VaW50MzIsIHZhbC5wYWNrZXRT
aXplKTsKLSAgfTsKLSAgZnVuY3Rpb24gVXNiQWx0ZXJuYXRlSW50ZXJmYWNlSW5mbyh2YWx1ZXMp
IHsKLSAgICB0aGlzLmluaXREZWZhdWx0c18oKTsKLSAgICB0aGlzLmluaXRGaWVsZHNfKHZhbHVl
cyk7Ci0gIH0KLQotCi0gIFVzYkFsdGVybmF0ZUludGVyZmFjZUluZm8ucHJvdG90eXBlLmluaXRE
ZWZhdWx0c18gPSBmdW5jdGlvbigpIHsKLSAgICB0aGlzLmFsdGVybmF0ZVNldHRpbmcgPSAwOwot
ICAgIHRoaXMuY2xhc3NDb2RlID0gMDsKLSAgICB0aGlzLnN1YmNsYXNzQ29kZSA9IDA7Ci0gICAg
dGhpcy5wcm90b2NvbENvZGUgPSAwOwotICAgIHRoaXMuaW50ZXJmYWNlTmFtZSA9IG51bGw7Ci0g
ICAgdGhpcy5lbmRwb2ludHMgPSBudWxsOwotICB9OwotICBVc2JBbHRlcm5hdGVJbnRlcmZhY2VJ
bmZvLnByb3RvdHlwZS5pbml0RmllbGRzXyA9IGZ1bmN0aW9uKGZpZWxkcykgewotICAgIGZvcih2
YXIgZmllbGQgaW4gZmllbGRzKSB7Ci0gICAgICAgIGlmICh0aGlzLmhhc093blByb3BlcnR5KGZp
ZWxkKSkKLSAgICAgICAgICB0aGlzW2ZpZWxkXSA9IGZpZWxkc1tmaWVsZF07Ci0gICAgfQotICB9
OwotCi0gIFVzYkFsdGVybmF0ZUludGVyZmFjZUluZm8udmFsaWRhdGUgPSBmdW5jdGlvbihtZXNz
YWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsKLSAgICB2YXIgZXJyOwotICAgIGVyciA9IG1lc3NhZ2VW
YWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RIZWFkZXIob2Zmc2V0LCBjb2RlYy5rU3RydWN0SGVhZGVy
U2l6ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQot
ICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgdmFyIGtWZXJzaW9uU2l6ZXMgPSBbCi0gICAgICB7
dmVyc2lvbjogMCwgbnVtQnl0ZXM6IDMyfQotICAgIF07Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlk
YXRvci52YWxpZGF0ZVN0cnVjdFZlcnNpb24ob2Zmc2V0LCBrVmVyc2lvblNpemVzKTsKLSAgICBp
ZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVy
biBlcnI7Ci0KLQotCi0KLQotCi0gICAgCi0gICAgLy8gdmFsaWRhdGUgVXNiQWx0ZXJuYXRlSW50
ZXJmYWNlSW5mby5pbnRlcmZhY2VOYW1lCi0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxp
ZGF0ZVN0cnVjdFBvaW50ZXIob2Zmc2V0ICsgY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyA4LCBz
dHJpbmcxNiQuU3RyaW5nMTYsIHRydWUpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxp
ZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0gICAgCi0gICAgLy8g
dmFsaWRhdGUgVXNiQWx0ZXJuYXRlSW50ZXJmYWNlSW5mby5lbmRwb2ludHMKLSAgICBlcnIgPSBt
ZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlQXJyYXlQb2ludGVyKG9mZnNldCArIGNvZGVjLmtTdHJ1
Y3RIZWFkZXJTaXplICsgMTYsIDgsIG5ldyBjb2RlYy5Qb2ludGVyVG8oVXNiRW5kcG9pbnRJbmZv
KSwgZmFsc2UsIFswXSwgMCk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25F
cnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgcmV0dXJuIHZhbGlkYXRvci52
YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQotICBVc2JBbHRlcm5hdGVJbnRlcmZhY2VJbmZv
LmVuY29kZWRTaXplID0gY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyAyNDsKLQotICBVc2JBbHRl
cm5hdGVJbnRlcmZhY2VJbmZvLmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICB2YXIg
cGFja2VkOwotICAgIHZhciB2YWwgPSBuZXcgVXNiQWx0ZXJuYXRlSW50ZXJmYWNlSW5mbygpOwot
ICAgIHZhciBudW1iZXJPZkJ5dGVzID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFyIHZl
cnNpb24gPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YWwuYWx0ZXJuYXRlU2V0dGluZyA9
IGRlY29kZXIuZGVjb2RlU3RydWN0KGNvZGVjLlVpbnQ4KTsKLSAgICB2YWwuY2xhc3NDb2RlID0g
ZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoY29kZWMuVWludDgpOwotICAgIHZhbC5zdWJjbGFzc0NvZGUg
PSBkZWNvZGVyLmRlY29kZVN0cnVjdChjb2RlYy5VaW50OCk7Ci0gICAgdmFsLnByb3RvY29sQ29k
ZSA9IGRlY29kZXIuZGVjb2RlU3RydWN0KGNvZGVjLlVpbnQ4KTsKLSAgICBkZWNvZGVyLnNraXAo
MSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNv
ZGVyLnNraXAoMSk7Ci0gICAgdmFsLmludGVyZmFjZU5hbWUgPSBkZWNvZGVyLmRlY29kZVN0cnVj
dFBvaW50ZXIoc3RyaW5nMTYkLlN0cmluZzE2KTsKLSAgICB2YWwuZW5kcG9pbnRzID0gZGVjb2Rl
ci5kZWNvZGVBcnJheVBvaW50ZXIobmV3IGNvZGVjLlBvaW50ZXJUbyhVc2JFbmRwb2ludEluZm8p
KTsKLSAgICByZXR1cm4gdmFsOwotICB9OwotCi0gIFVzYkFsdGVybmF0ZUludGVyZmFjZUluZm8u
ZW5jb2RlID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICBl
bmNvZGVyLndyaXRlVWludDMyKFVzYkFsdGVybmF0ZUludGVyZmFjZUluZm8uZW5jb2RlZFNpemUp
OwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoMCk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3Qo
Y29kZWMuVWludDgsIHZhbC5hbHRlcm5hdGVTZXR0aW5nKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0
cnVjdChjb2RlYy5VaW50OCwgdmFsLmNsYXNzQ29kZSk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1
Y3QoY29kZWMuVWludDgsIHZhbC5zdWJjbGFzc0NvZGUpOwotICAgIGVuY29kZXIuZW5jb2RlU3Ry
dWN0KGNvZGVjLlVpbnQ4LCB2YWwucHJvdG9jb2xDb2RlKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7
Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVy
LnNraXAoMSk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3RQb2ludGVyKHN0cmluZzE2JC5TdHJp
bmcxNiwgdmFsLmludGVyZmFjZU5hbWUpOwotICAgIGVuY29kZXIuZW5jb2RlQXJyYXlQb2ludGVy
KG5ldyBjb2RlYy5Qb2ludGVyVG8oVXNiRW5kcG9pbnRJbmZvKSwgdmFsLmVuZHBvaW50cyk7Ci0g
IH07Ci0gIGZ1bmN0aW9uIFVzYkludGVyZmFjZUluZm8odmFsdWVzKSB7Ci0gICAgdGhpcy5pbml0
RGVmYXVsdHNfKCk7Ci0gICAgdGhpcy5pbml0RmllbGRzXyh2YWx1ZXMpOwotICB9Ci0KLQotICBV
c2JJbnRlcmZhY2VJbmZvLnByb3RvdHlwZS5pbml0RGVmYXVsdHNfID0gZnVuY3Rpb24oKSB7Ci0g
ICAgdGhpcy5pbnRlcmZhY2VOdW1iZXIgPSAwOwotICAgIHRoaXMuYWx0ZXJuYXRlcyA9IG51bGw7
Ci0gIH07Ci0gIFVzYkludGVyZmFjZUluZm8ucHJvdG90eXBlLmluaXRGaWVsZHNfID0gZnVuY3Rp
b24oZmllbGRzKSB7Ci0gICAgZm9yKHZhciBmaWVsZCBpbiBmaWVsZHMpIHsKLSAgICAgICAgaWYg
KHRoaXMuaGFzT3duUHJvcGVydHkoZmllbGQpKQotICAgICAgICAgIHRoaXNbZmllbGRdID0gZmll
bGRzW2ZpZWxkXTsKLSAgICB9Ci0gIH07Ci0KLSAgVXNiSW50ZXJmYWNlSW5mby52YWxpZGF0ZSA9
IGZ1bmN0aW9uKG1lc3NhZ2VWYWxpZGF0b3IsIG9mZnNldCkgewotICAgIHZhciBlcnI7Ci0gICAg
ZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdEhlYWRlcihvZmZzZXQsIGNvZGVj
LmtTdHJ1Y3RIZWFkZXJTaXplKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlv
bkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICB2YXIga1ZlcnNpb25TaXpl
cyA9IFsKLSAgICAgIHt2ZXJzaW9uOiAwLCBudW1CeXRlczogMjR9Ci0gICAgXTsKLSAgICBlcnIg
PSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0VmVyc2lvbihvZmZzZXQsIGtWZXJzaW9u
U2l6ZXMpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkK
LSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0KLSAgICAKLSAgICAvLyB2YWxpZGF0ZSBVc2JJbnRl
cmZhY2VJbmZvLmFsdGVybmF0ZXMKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRl
QXJyYXlQb2ludGVyKG9mZnNldCArIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgOCwgOCwgbmV3
IGNvZGVjLlBvaW50ZXJUbyhVc2JBbHRlcm5hdGVJbnRlcmZhY2VJbmZvKSwgZmFsc2UsIFswXSwg
MCk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAg
ICAgICByZXR1cm4gZXJyOwotCi0gICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3Iu
Tk9ORTsKLSAgfTsKLQotICBVc2JJbnRlcmZhY2VJbmZvLmVuY29kZWRTaXplID0gY29kZWMua1N0
cnVjdEhlYWRlclNpemUgKyAxNjsKLQotICBVc2JJbnRlcmZhY2VJbmZvLmRlY29kZSA9IGZ1bmN0
aW9uKGRlY29kZXIpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIHZhciB2YWwgPSBuZXcgVXNiSW50
ZXJmYWNlSW5mbygpOwotICAgIHZhciBudW1iZXJPZkJ5dGVzID0gZGVjb2Rlci5yZWFkVWludDMy
KCk7Ci0gICAgdmFyIHZlcnNpb24gPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YWwuaW50
ZXJmYWNlTnVtYmVyID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoY29kZWMuVWludDgpOwotICAgIGRl
Y29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEp
OwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rl
ci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICB2YWwuYWx0ZXJuYXRlcyA9IGRl
Y29kZXIuZGVjb2RlQXJyYXlQb2ludGVyKG5ldyBjb2RlYy5Qb2ludGVyVG8oVXNiQWx0ZXJuYXRl
SW50ZXJmYWNlSW5mbykpOwotICAgIHJldHVybiB2YWw7Ci0gIH07Ci0KLSAgVXNiSW50ZXJmYWNl
SW5mby5lbmNvZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2YWwpIHsKLSAgICB2YXIgcGFja2VkOwot
ICAgIGVuY29kZXIud3JpdGVVaW50MzIoVXNiSW50ZXJmYWNlSW5mby5lbmNvZGVkU2l6ZSk7Ci0g
ICAgZW5jb2Rlci53cml0ZVVpbnQzMigwKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdChjb2Rl
Yy5VaW50OCwgdmFsLmludGVyZmFjZU51bWJlcik7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAg
IGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lw
KDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5j
b2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuZW5jb2RlQXJyYXlQb2ludGVyKG5ldyBjb2RlYy5Q
b2ludGVyVG8oVXNiQWx0ZXJuYXRlSW50ZXJmYWNlSW5mbyksIHZhbC5hbHRlcm5hdGVzKTsKLSAg
fTsKLSAgZnVuY3Rpb24gVXNiQ29uZmlndXJhdGlvbkluZm8odmFsdWVzKSB7Ci0gICAgdGhpcy5p
bml0RGVmYXVsdHNfKCk7Ci0gICAgdGhpcy5pbml0RmllbGRzXyh2YWx1ZXMpOwotICB9Ci0KLQot
ICBVc2JDb25maWd1cmF0aW9uSW5mby5wcm90b3R5cGUuaW5pdERlZmF1bHRzXyA9IGZ1bmN0aW9u
KCkgewotICAgIHRoaXMuY29uZmlndXJhdGlvblZhbHVlID0gMDsKLSAgICB0aGlzLmNvbmZpZ3Vy
YXRpb25OYW1lID0gbnVsbDsKLSAgICB0aGlzLmludGVyZmFjZXMgPSBudWxsOwotICB9OwotICBV
c2JDb25maWd1cmF0aW9uSW5mby5wcm90b3R5cGUuaW5pdEZpZWxkc18gPSBmdW5jdGlvbihmaWVs
ZHMpIHsKLSAgICBmb3IodmFyIGZpZWxkIGluIGZpZWxkcykgewotICAgICAgICBpZiAodGhpcy5o
YXNPd25Qcm9wZXJ0eShmaWVsZCkpCi0gICAgICAgICAgdGhpc1tmaWVsZF0gPSBmaWVsZHNbZmll
bGRdOwotICAgIH0KLSAgfTsKLQotICBVc2JDb25maWd1cmF0aW9uSW5mby52YWxpZGF0ZSA9IGZ1
bmN0aW9uKG1lc3NhZ2VWYWxpZGF0b3IsIG9mZnNldCkgewotICAgIHZhciBlcnI7Ci0gICAgZXJy
ID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdEhlYWRlcihvZmZzZXQsIGNvZGVjLmtT
dHJ1Y3RIZWFkZXJTaXplKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVy
cm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICB2YXIga1ZlcnNpb25TaXplcyA9
IFsKLSAgICAgIHt2ZXJzaW9uOiAwLCBudW1CeXRlczogMzJ9Ci0gICAgXTsKLSAgICBlcnIgPSBt
ZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0VmVyc2lvbihvZmZzZXQsIGtWZXJzaW9uU2l6
ZXMpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAg
ICAgICAgcmV0dXJuIGVycjsKLQotCi0KLSAgICAKLSAgICAvLyB2YWxpZGF0ZSBVc2JDb25maWd1
cmF0aW9uSW5mby5jb25maWd1cmF0aW9uTmFtZQotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3Iu
dmFsaWRhdGVTdHJ1Y3RQb2ludGVyKG9mZnNldCArIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsg
OCwgc3RyaW5nMTYkLlN0cmluZzE2LCB0cnVlKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3Iu
dmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotICAgIAotICAg
IC8vIHZhbGlkYXRlIFVzYkNvbmZpZ3VyYXRpb25JbmZvLmludGVyZmFjZXMKLSAgICBlcnIgPSBt
ZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlQXJyYXlQb2ludGVyKG9mZnNldCArIGNvZGVjLmtTdHJ1
Y3RIZWFkZXJTaXplICsgMTYsIDgsIG5ldyBjb2RlYy5Qb2ludGVyVG8oVXNiSW50ZXJmYWNlSW5m
byksIGZhbHNlLCBbMF0sIDApOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9u
RXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHJldHVybiB2YWxpZGF0b3Iu
dmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gIH07Ci0KLSAgVXNiQ29uZmlndXJhdGlvbkluZm8uZW5j
b2RlZFNpemUgPSBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDI0OwotCi0gIFVzYkNvbmZpZ3Vy
YXRpb25JbmZvLmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICB2YXIgcGFja2VkOwot
ICAgIHZhciB2YWwgPSBuZXcgVXNiQ29uZmlndXJhdGlvbkluZm8oKTsKLSAgICB2YXIgbnVtYmVy
T2ZCeXRlcyA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhciB2ZXJzaW9uID0gZGVjb2Rl
ci5yZWFkVWludDMyKCk7Ci0gICAgdmFsLmNvbmZpZ3VyYXRpb25WYWx1ZSA9IGRlY29kZXIuZGVj
b2RlU3RydWN0KGNvZGVjLlVpbnQ4KTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rl
ci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0g
ICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNr
aXAoMSk7Ci0gICAgdmFsLmNvbmZpZ3VyYXRpb25OYW1lID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3RQ
b2ludGVyKHN0cmluZzE2JC5TdHJpbmcxNik7Ci0gICAgdmFsLmludGVyZmFjZXMgPSBkZWNvZGVy
LmRlY29kZUFycmF5UG9pbnRlcihuZXcgY29kZWMuUG9pbnRlclRvKFVzYkludGVyZmFjZUluZm8p
KTsKLSAgICByZXR1cm4gdmFsOwotICB9OwotCi0gIFVzYkNvbmZpZ3VyYXRpb25JbmZvLmVuY29k
ZSA9IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgZW5jb2Rl
ci53cml0ZVVpbnQzMihVc2JDb25maWd1cmF0aW9uSW5mby5lbmNvZGVkU2l6ZSk7Ci0gICAgZW5j
b2Rlci53cml0ZVVpbnQzMigwKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdChjb2RlYy5VaW50
OCwgdmFsLmNvbmZpZ3VyYXRpb25WYWx1ZSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVu
Y29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEp
OwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rl
ci5za2lwKDEpOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0UG9pbnRlcihzdHJpbmcxNiQuU3Ry
aW5nMTYsIHZhbC5jb25maWd1cmF0aW9uTmFtZSk7Ci0gICAgZW5jb2Rlci5lbmNvZGVBcnJheVBv
aW50ZXIobmV3IGNvZGVjLlBvaW50ZXJUbyhVc2JJbnRlcmZhY2VJbmZvKSwgdmFsLmludGVyZmFj
ZXMpOwotICB9OwotICBmdW5jdGlvbiBVc2JEZXZpY2VJbmZvKHZhbHVlcykgewotICAgIHRoaXMu
aW5pdERlZmF1bHRzXygpOwotICAgIHRoaXMuaW5pdEZpZWxkc18odmFsdWVzKTsKLSAgfQotCi0K
LSAgVXNiRGV2aWNlSW5mby5wcm90b3R5cGUuaW5pdERlZmF1bHRzXyA9IGZ1bmN0aW9uKCkgewot
ICAgIHRoaXMuZ3VpZCA9IG51bGw7Ci0gICAgdGhpcy51c2JWZXJzaW9uTWFqb3IgPSAwOwotICAg
IHRoaXMudXNiVmVyc2lvbk1pbm9yID0gMDsKLSAgICB0aGlzLnVzYlZlcnNpb25TdWJtaW5vciA9
IDA7Ci0gICAgdGhpcy5jbGFzc0NvZGUgPSAwOwotICAgIHRoaXMuc3ViY2xhc3NDb2RlID0gMDsK
LSAgICB0aGlzLnByb3RvY29sQ29kZSA9IDA7Ci0gICAgdGhpcy52ZW5kb3JJZCA9IDA7Ci0gICAg
dGhpcy5wcm9kdWN0SWQgPSAwOwotICAgIHRoaXMuZGV2aWNlVmVyc2lvbk1ham9yID0gMDsKLSAg
ICB0aGlzLmRldmljZVZlcnNpb25NaW5vciA9IDA7Ci0gICAgdGhpcy5kZXZpY2VWZXJzaW9uU3Vi
bWlub3IgPSAwOwotICAgIHRoaXMuYWN0aXZlQ29uZmlndXJhdGlvbiA9IDA7Ci0gICAgdGhpcy5t
YW51ZmFjdHVyZXJOYW1lID0gbnVsbDsKLSAgICB0aGlzLnByb2R1Y3ROYW1lID0gbnVsbDsKLSAg
ICB0aGlzLnNlcmlhbE51bWJlciA9IG51bGw7Ci0gICAgdGhpcy5jb25maWd1cmF0aW9ucyA9IG51
bGw7Ci0gIH07Ci0gIFVzYkRldmljZUluZm8ucHJvdG90eXBlLmluaXRGaWVsZHNfID0gZnVuY3Rp
b24oZmllbGRzKSB7Ci0gICAgZm9yKHZhciBmaWVsZCBpbiBmaWVsZHMpIHsKLSAgICAgICAgaWYg
KHRoaXMuaGFzT3duUHJvcGVydHkoZmllbGQpKQotICAgICAgICAgIHRoaXNbZmllbGRdID0gZmll
bGRzW2ZpZWxkXTsKLSAgICB9Ci0gIH07Ci0KLSAgVXNiRGV2aWNlSW5mby52YWxpZGF0ZSA9IGZ1
bmN0aW9uKG1lc3NhZ2VWYWxpZGF0b3IsIG9mZnNldCkgewotICAgIHZhciBlcnI7Ci0gICAgZXJy
ID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdEhlYWRlcihvZmZzZXQsIGNvZGVjLmtT
dHJ1Y3RIZWFkZXJTaXplKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVy
cm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICB2YXIga1ZlcnNpb25TaXplcyA9
IFsKLSAgICAgIHt2ZXJzaW9uOiAwLCBudW1CeXRlczogNjR9Ci0gICAgXTsKLSAgICBlcnIgPSBt
ZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0VmVyc2lvbihvZmZzZXQsIGtWZXJzaW9uU2l6
ZXMpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAg
ICAgICAgcmV0dXJuIGVycjsKLQotCi0gICAgCi0gICAgLy8gdmFsaWRhdGUgVXNiRGV2aWNlSW5m
by5ndWlkCi0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cmluZ1BvaW50ZXIo
b2Zmc2V0ICsgY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyAwLCBmYWxzZSkKLSAgICBpZiAoZXJy
ICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7
Ci0KLQotCi0KLQotCi0KLQotCi0KLQotCi0KLSAgICAKLSAgICAvLyB2YWxpZGF0ZSBVc2JEZXZp
Y2VJbmZvLm1hbnVmYWN0dXJlck5hbWUKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlk
YXRlU3RydWN0UG9pbnRlcihvZmZzZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDI0LCBz
dHJpbmcxNiQuU3RyaW5nMTYsIHRydWUpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxp
ZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0gICAgCi0gICAgLy8g
dmFsaWRhdGUgVXNiRGV2aWNlSW5mby5wcm9kdWN0TmFtZQotICAgIGVyciA9IG1lc3NhZ2VWYWxp
ZGF0b3IudmFsaWRhdGVTdHJ1Y3RQb2ludGVyKG9mZnNldCArIGNvZGVjLmtTdHJ1Y3RIZWFkZXJT
aXplICsgMzIsIHN0cmluZzE2JC5TdHJpbmcxNiwgdHJ1ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFs
aWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0KLSAg
ICAKLSAgICAvLyB2YWxpZGF0ZSBVc2JEZXZpY2VJbmZvLnNlcmlhbE51bWJlcgotICAgIGVyciA9
IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RQb2ludGVyKG9mZnNldCArIGNvZGVjLmtT
dHJ1Y3RIZWFkZXJTaXplICsgNDAsIHN0cmluZzE2JC5TdHJpbmcxNiwgdHJ1ZSk7Ci0gICAgaWYg
KGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4g
ZXJyOwotCi0KLQotICAgIAotICAgIC8vIHZhbGlkYXRlIFVzYkRldmljZUluZm8uY29uZmlndXJh
dGlvbnMKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlQXJyYXlQb2ludGVyKG9m
ZnNldCArIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgNDgsIDgsIG5ldyBjb2RlYy5Qb2ludGVy
VG8oVXNiQ29uZmlndXJhdGlvbkluZm8pLCBmYWxzZSwgWzBdLCAwKTsKLSAgICBpZiAoZXJyICE9
PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0K
LSAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIFVz
YkRldmljZUluZm8uZW5jb2RlZFNpemUgPSBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDU2Owot
Ci0gIFVzYkRldmljZUluZm8uZGVjb2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHZhciBw
YWNrZWQ7Ci0gICAgdmFyIHZhbCA9IG5ldyBVc2JEZXZpY2VJbmZvKCk7Ci0gICAgdmFyIG51bWJl
ck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YXIgdmVyc2lvbiA9IGRlY29k
ZXIucmVhZFVpbnQzMigpOwotICAgIHZhbC5ndWlkID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoY29k
ZWMuU3RyaW5nKTsKLSAgICB2YWwudXNiVmVyc2lvbk1ham9yID0gZGVjb2Rlci5kZWNvZGVTdHJ1
Y3QoY29kZWMuVWludDgpOwotICAgIHZhbC51c2JWZXJzaW9uTWlub3IgPSBkZWNvZGVyLmRlY29k
ZVN0cnVjdChjb2RlYy5VaW50OCk7Ci0gICAgdmFsLnVzYlZlcnNpb25TdWJtaW5vciA9IGRlY29k
ZXIuZGVjb2RlU3RydWN0KGNvZGVjLlVpbnQ4KTsKLSAgICB2YWwuY2xhc3NDb2RlID0gZGVjb2Rl
ci5kZWNvZGVTdHJ1Y3QoY29kZWMuVWludDgpOwotICAgIHZhbC5zdWJjbGFzc0NvZGUgPSBkZWNv
ZGVyLmRlY29kZVN0cnVjdChjb2RlYy5VaW50OCk7Ci0gICAgdmFsLnByb3RvY29sQ29kZSA9IGRl
Y29kZXIuZGVjb2RlU3RydWN0KGNvZGVjLlVpbnQ4KTsKLSAgICB2YWwudmVuZG9ySWQgPSBkZWNv
ZGVyLmRlY29kZVN0cnVjdChjb2RlYy5VaW50MTYpOwotICAgIHZhbC5wcm9kdWN0SWQgPSBkZWNv
ZGVyLmRlY29kZVN0cnVjdChjb2RlYy5VaW50MTYpOwotICAgIHZhbC5kZXZpY2VWZXJzaW9uTWFq
b3IgPSBkZWNvZGVyLmRlY29kZVN0cnVjdChjb2RlYy5VaW50OCk7Ci0gICAgdmFsLmRldmljZVZl
cnNpb25NaW5vciA9IGRlY29kZXIuZGVjb2RlU3RydWN0KGNvZGVjLlVpbnQ4KTsKLSAgICB2YWwu
ZGV2aWNlVmVyc2lvblN1Ym1pbm9yID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoY29kZWMuVWludDgp
OwotICAgIHZhbC5hY3RpdmVDb25maWd1cmF0aW9uID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoY29k
ZWMuVWludDgpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0g
ICAgdmFsLm1hbnVmYWN0dXJlck5hbWUgPSBkZWNvZGVyLmRlY29kZVN0cnVjdFBvaW50ZXIoc3Ry
aW5nMTYkLlN0cmluZzE2KTsKLSAgICB2YWwucHJvZHVjdE5hbWUgPSBkZWNvZGVyLmRlY29kZVN0
cnVjdFBvaW50ZXIoc3RyaW5nMTYkLlN0cmluZzE2KTsKLSAgICB2YWwuc2VyaWFsTnVtYmVyID0g
ZGVjb2Rlci5kZWNvZGVTdHJ1Y3RQb2ludGVyKHN0cmluZzE2JC5TdHJpbmcxNik7Ci0gICAgdmFs
LmNvbmZpZ3VyYXRpb25zID0gZGVjb2Rlci5kZWNvZGVBcnJheVBvaW50ZXIobmV3IGNvZGVjLlBv
aW50ZXJUbyhVc2JDb25maWd1cmF0aW9uSW5mbykpOwotICAgIHJldHVybiB2YWw7Ci0gIH07Ci0K
LSAgVXNiRGV2aWNlSW5mby5lbmNvZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2YWwpIHsKLSAgICB2
YXIgcGFja2VkOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoVXNiRGV2aWNlSW5mby5lbmNvZGVk
U2l6ZSk7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMigwKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0
cnVjdChjb2RlYy5TdHJpbmcsIHZhbC5ndWlkKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdChj
b2RlYy5VaW50OCwgdmFsLnVzYlZlcnNpb25NYWpvcik7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1
Y3QoY29kZWMuVWludDgsIHZhbC51c2JWZXJzaW9uTWlub3IpOwotICAgIGVuY29kZXIuZW5jb2Rl
U3RydWN0KGNvZGVjLlVpbnQ4LCB2YWwudXNiVmVyc2lvblN1Ym1pbm9yKTsKLSAgICBlbmNvZGVy
LmVuY29kZVN0cnVjdChjb2RlYy5VaW50OCwgdmFsLmNsYXNzQ29kZSk7Ci0gICAgZW5jb2Rlci5l
bmNvZGVTdHJ1Y3QoY29kZWMuVWludDgsIHZhbC5zdWJjbGFzc0NvZGUpOwotICAgIGVuY29kZXIu
ZW5jb2RlU3RydWN0KGNvZGVjLlVpbnQ4LCB2YWwucHJvdG9jb2xDb2RlKTsKLSAgICBlbmNvZGVy
LmVuY29kZVN0cnVjdChjb2RlYy5VaW50MTYsIHZhbC52ZW5kb3JJZCk7Ci0gICAgZW5jb2Rlci5l
bmNvZGVTdHJ1Y3QoY29kZWMuVWludDE2LCB2YWwucHJvZHVjdElkKTsKLSAgICBlbmNvZGVyLmVu
Y29kZVN0cnVjdChjb2RlYy5VaW50OCwgdmFsLmRldmljZVZlcnNpb25NYWpvcik7Ci0gICAgZW5j
b2Rlci5lbmNvZGVTdHJ1Y3QoY29kZWMuVWludDgsIHZhbC5kZXZpY2VWZXJzaW9uTWlub3IpOwot
ICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNvZGVjLlVpbnQ4LCB2YWwuZGV2aWNlVmVyc2lvblN1
Ym1pbm9yKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdChjb2RlYy5VaW50OCwgdmFsLmFjdGl2
ZUNvbmZpZ3VyYXRpb24pOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAo
MSk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3RQb2ludGVyKHN0cmluZzE2JC5TdHJpbmcxNiwg
dmFsLm1hbnVmYWN0dXJlck5hbWUpOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0UG9pbnRlcihz
dHJpbmcxNiQuU3RyaW5nMTYsIHZhbC5wcm9kdWN0TmFtZSk7Ci0gICAgZW5jb2Rlci5lbmNvZGVT
dHJ1Y3RQb2ludGVyKHN0cmluZzE2JC5TdHJpbmcxNiwgdmFsLnNlcmlhbE51bWJlcik7Ci0gICAg
ZW5jb2Rlci5lbmNvZGVBcnJheVBvaW50ZXIobmV3IGNvZGVjLlBvaW50ZXJUbyhVc2JDb25maWd1
cmF0aW9uSW5mbyksIHZhbC5jb25maWd1cmF0aW9ucyk7Ci0gIH07Ci0gIGZ1bmN0aW9uIFVzYkNv
bnRyb2xUcmFuc2ZlclBhcmFtcyh2YWx1ZXMpIHsKLSAgICB0aGlzLmluaXREZWZhdWx0c18oKTsK
LSAgICB0aGlzLmluaXRGaWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0gIFVzYkNvbnRyb2xUcmFu
c2ZlclBhcmFtcy5wcm90b3R5cGUuaW5pdERlZmF1bHRzXyA9IGZ1bmN0aW9uKCkgewotICAgIHRo
aXMudHlwZSA9IDA7Ci0gICAgdGhpcy5yZWNpcGllbnQgPSAwOwotICAgIHRoaXMucmVxdWVzdCA9
IDA7Ci0gICAgdGhpcy52YWx1ZSA9IDA7Ci0gICAgdGhpcy5pbmRleCA9IDA7Ci0gIH07Ci0gIFVz
YkNvbnRyb2xUcmFuc2ZlclBhcmFtcy5wcm90b3R5cGUuaW5pdEZpZWxkc18gPSBmdW5jdGlvbihm
aWVsZHMpIHsKLSAgICBmb3IodmFyIGZpZWxkIGluIGZpZWxkcykgewotICAgICAgICBpZiAodGhp
cy5oYXNPd25Qcm9wZXJ0eShmaWVsZCkpCi0gICAgICAgICAgdGhpc1tmaWVsZF0gPSBmaWVsZHNb
ZmllbGRdOwotICAgIH0KLSAgfTsKLQotICBVc2JDb250cm9sVHJhbnNmZXJQYXJhbXMudmFsaWRh
dGUgPSBmdW5jdGlvbihtZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsKLSAgICB2YXIgZXJyOwot
ICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RIZWFkZXIob2Zmc2V0LCBj
b2RlYy5rU3RydWN0SGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlk
YXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgdmFyIGtWZXJzaW9u
U2l6ZXMgPSBbCi0gICAgICB7dmVyc2lvbjogMCwgbnVtQnl0ZXM6IDI0fQotICAgIF07Ci0gICAg
ZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFZlcnNpb24ob2Zmc2V0LCBrVmVy
c2lvblNpemVzKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5P
TkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotICAgIAotICAgIC8vIHZhbGlkYXRlIFVzYkNv
bnRyb2xUcmFuc2ZlclBhcmFtcy50eXBlCi0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxp
ZGF0ZUVudW0ob2Zmc2V0ICsgY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyAwLCBVc2JDb250cm9s
VHJhbnNmZXJUeXBlKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9y
Lk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotICAgIAotICAgIC8vIHZhbGlkYXRlIFVz
YkNvbnRyb2xUcmFuc2ZlclBhcmFtcy5yZWNpcGllbnQKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRh
dG9yLnZhbGlkYXRlRW51bShvZmZzZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDQsIFVz
YkNvbnRyb2xUcmFuc2ZlclJlY2lwaWVudCk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZh
bGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0KLQotCi0gICAgcmV0
dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQotICBVc2JDb250cm9s
VHJhbnNmZXJQYXJhbXMuZW5jb2RlZFNpemUgPSBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDE2
OwotCi0gIFVzYkNvbnRyb2xUcmFuc2ZlclBhcmFtcy5kZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVy
KSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICB2YXIgdmFsID0gbmV3IFVzYkNvbnRyb2xUcmFuc2Zl
clBhcmFtcygpOwotICAgIHZhciBudW1iZXJPZkJ5dGVzID0gZGVjb2Rlci5yZWFkVWludDMyKCk7
Ci0gICAgdmFyIHZlcnNpb24gPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YWwudHlwZSA9
IGRlY29kZXIuZGVjb2RlU3RydWN0KGNvZGVjLkludDMyKTsKLSAgICB2YWwucmVjaXBpZW50ID0g
ZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoY29kZWMuSW50MzIpOwotICAgIHZhbC5yZXF1ZXN0ID0gZGVj
b2Rlci5kZWNvZGVTdHJ1Y3QoY29kZWMuVWludDgpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAg
ICB2YWwudmFsdWUgPSBkZWNvZGVyLmRlY29kZVN0cnVjdChjb2RlYy5VaW50MTYpOwotICAgIHZh
bC5pbmRleCA9IGRlY29kZXIuZGVjb2RlU3RydWN0KGNvZGVjLlVpbnQxNik7Ci0gICAgZGVjb2Rl
ci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICByZXR1cm4gdmFsOwotICB9Owot
Ci0gIFVzYkNvbnRyb2xUcmFuc2ZlclBhcmFtcy5lbmNvZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2
YWwpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoVXNiQ29udHJv
bFRyYW5zZmVyUGFyYW1zLmVuY29kZWRTaXplKTsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKDAp
OwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNvZGVjLkludDMyLCB2YWwudHlwZSk7Ci0gICAg
ZW5jb2Rlci5lbmNvZGVTdHJ1Y3QoY29kZWMuSW50MzIsIHZhbC5yZWNpcGllbnQpOwotICAgIGVu
Y29kZXIuZW5jb2RlU3RydWN0KGNvZGVjLlVpbnQ4LCB2YWwucmVxdWVzdCk7Ci0gICAgZW5jb2Rl
ci5za2lwKDEpOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNvZGVjLlVpbnQxNiwgdmFsLnZh
bHVlKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdChjb2RlYy5VaW50MTYsIHZhbC5pbmRleCk7
Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgfTsKLSAgZnVu
Y3Rpb24gVXNiSXNvY2hyb25vdXNQYWNrZXQodmFsdWVzKSB7Ci0gICAgdGhpcy5pbml0RGVmYXVs
dHNfKCk7Ci0gICAgdGhpcy5pbml0RmllbGRzXyh2YWx1ZXMpOwotICB9Ci0KLQotICBVc2JJc29j
aHJvbm91c1BhY2tldC5wcm90b3R5cGUuaW5pdERlZmF1bHRzXyA9IGZ1bmN0aW9uKCkgewotICAg
IHRoaXMubGVuZ3RoID0gMDsKLSAgICB0aGlzLnRyYW5zZmVycmVkTGVuZ3RoID0gMDsKLSAgICB0
aGlzLnN0YXR1cyA9IDA7Ci0gIH07Ci0gIFVzYklzb2Nocm9ub3VzUGFja2V0LnByb3RvdHlwZS5p
bml0RmllbGRzXyA9IGZ1bmN0aW9uKGZpZWxkcykgewotICAgIGZvcih2YXIgZmllbGQgaW4gZmll
bGRzKSB7Ci0gICAgICAgIGlmICh0aGlzLmhhc093blByb3BlcnR5KGZpZWxkKSkKLSAgICAgICAg
ICB0aGlzW2ZpZWxkXSA9IGZpZWxkc1tmaWVsZF07Ci0gICAgfQotICB9OwotCi0gIFVzYklzb2No
cm9ub3VzUGFja2V0LnZhbGlkYXRlID0gZnVuY3Rpb24obWVzc2FnZVZhbGlkYXRvciwgb2Zmc2V0
KSB7Ci0gICAgdmFyIGVycjsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3Ry
dWN0SGVhZGVyKG9mZnNldCwgY29kZWMua1N0cnVjdEhlYWRlclNpemUpOwotICAgIGlmIChlcnIg
IT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsK
LQotICAgIHZhciBrVmVyc2lvblNpemVzID0gWwotICAgICAge3ZlcnNpb246IDAsIG51bUJ5dGVz
OiAyNH0KLSAgICBdOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RW
ZXJzaW9uKG9mZnNldCwga1ZlcnNpb25TaXplcyk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9y
LnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0KLQotCi0gICAg
Ci0gICAgLy8gdmFsaWRhdGUgVXNiSXNvY2hyb25vdXNQYWNrZXQuc3RhdHVzCi0gICAgZXJyID0g
bWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZUVudW0ob2Zmc2V0ICsgY29kZWMua1N0cnVjdEhlYWRl
clNpemUgKyA4LCBVc2JUcmFuc2ZlclN0YXR1cyk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9y
LnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgcmV0dXJu
IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQotICBVc2JJc29jaHJvbm91
c1BhY2tldC5lbmNvZGVkU2l6ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgMTY7Ci0KLSAg
VXNiSXNvY2hyb25vdXNQYWNrZXQuZGVjb2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHZh
ciBwYWNrZWQ7Ci0gICAgdmFyIHZhbCA9IG5ldyBVc2JJc29jaHJvbm91c1BhY2tldCgpOwotICAg
IHZhciBudW1iZXJPZkJ5dGVzID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFyIHZlcnNp
b24gPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YWwubGVuZ3RoID0gZGVjb2Rlci5kZWNv
ZGVTdHJ1Y3QoY29kZWMuVWludDMyKTsKLSAgICB2YWwudHJhbnNmZXJyZWRMZW5ndGggPSBkZWNv
ZGVyLmRlY29kZVN0cnVjdChjb2RlYy5VaW50MzIpOwotICAgIHZhbC5zdGF0dXMgPSBkZWNvZGVy
LmRlY29kZVN0cnVjdChjb2RlYy5JbnQzMik7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRl
Y29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEp
OwotICAgIHJldHVybiB2YWw7Ci0gIH07Ci0KLSAgVXNiSXNvY2hyb25vdXNQYWNrZXQuZW5jb2Rl
ID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICBlbmNvZGVy
LndyaXRlVWludDMyKFVzYklzb2Nocm9ub3VzUGFja2V0LmVuY29kZWRTaXplKTsKLSAgICBlbmNv
ZGVyLndyaXRlVWludDMyKDApOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNvZGVjLlVpbnQz
MiwgdmFsLmxlbmd0aCk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3QoY29kZWMuVWludDMyLCB2
YWwudHJhbnNmZXJyZWRMZW5ndGgpOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNvZGVjLklu
dDMyLCB2YWwuc3RhdHVzKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lw
KDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gIH07Ci0g
IGZ1bmN0aW9uIFVzYkRldmljZV9PcGVuX1BhcmFtcyh2YWx1ZXMpIHsKLSAgICB0aGlzLmluaXRE
ZWZhdWx0c18oKTsKLSAgICB0aGlzLmluaXRGaWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0gIFVz
YkRldmljZV9PcGVuX1BhcmFtcy5wcm90b3R5cGUuaW5pdERlZmF1bHRzXyA9IGZ1bmN0aW9uKCkg
ewotICB9OwotICBVc2JEZXZpY2VfT3Blbl9QYXJhbXMucHJvdG90eXBlLmluaXRGaWVsZHNfID0g
ZnVuY3Rpb24oZmllbGRzKSB7Ci0gICAgZm9yKHZhciBmaWVsZCBpbiBmaWVsZHMpIHsKLSAgICAg
ICAgaWYgKHRoaXMuaGFzT3duUHJvcGVydHkoZmllbGQpKQotICAgICAgICAgIHRoaXNbZmllbGRd
ID0gZmllbGRzW2ZpZWxkXTsKLSAgICB9Ci0gIH07Ci0KLSAgVXNiRGV2aWNlX09wZW5fUGFyYW1z
LnZhbGlkYXRlID0gZnVuY3Rpb24obWVzc2FnZVZhbGlkYXRvciwgb2Zmc2V0KSB7Ci0gICAgdmFy
IGVycjsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0SGVhZGVyKG9m
ZnNldCwgY29kZWMua1N0cnVjdEhlYWRlclNpemUpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRv
ci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHZhciBr
VmVyc2lvblNpemVzID0gWwotICAgICAge3ZlcnNpb246IDAsIG51bUJ5dGVzOiA4fQotICAgIF07
Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFZlcnNpb24ob2Zmc2V0
LCBrVmVyc2lvblNpemVzKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVy
cm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICByZXR1cm4gdmFsaWRhdG9yLnZh
bGlkYXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIFVzYkRldmljZV9PcGVuX1BhcmFtcy5lbmNv
ZGVkU2l6ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgMDsKLQotICBVc2JEZXZpY2VfT3Bl
bl9QYXJhbXMuZGVjb2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHZhciBwYWNrZWQ7Ci0g
ICAgdmFyIHZhbCA9IG5ldyBVc2JEZXZpY2VfT3Blbl9QYXJhbXMoKTsKLSAgICB2YXIgbnVtYmVy
T2ZCeXRlcyA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhciB2ZXJzaW9uID0gZGVjb2Rl
ci5yZWFkVWludDMyKCk7Ci0gICAgcmV0dXJuIHZhbDsKLSAgfTsKLQotICBVc2JEZXZpY2VfT3Bl
bl9QYXJhbXMuZW5jb2RlID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAgdmFyIHBhY2tl
ZDsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKFVzYkRldmljZV9PcGVuX1BhcmFtcy5lbmNvZGVk
U2l6ZSk7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMigwKTsKLSAgfTsKLSAgZnVuY3Rpb24gVXNi
RGV2aWNlX09wZW5fUmVzcG9uc2VQYXJhbXModmFsdWVzKSB7Ci0gICAgdGhpcy5pbml0RGVmYXVs
dHNfKCk7Ci0gICAgdGhpcy5pbml0RmllbGRzXyh2YWx1ZXMpOwotICB9Ci0KLQotICBVc2JEZXZp
Y2VfT3Blbl9SZXNwb25zZVBhcmFtcy5wcm90b3R5cGUuaW5pdERlZmF1bHRzXyA9IGZ1bmN0aW9u
KCkgewotICAgIHRoaXMuZXJyb3IgPSAwOwotICB9OwotICBVc2JEZXZpY2VfT3Blbl9SZXNwb25z
ZVBhcmFtcy5wcm90b3R5cGUuaW5pdEZpZWxkc18gPSBmdW5jdGlvbihmaWVsZHMpIHsKLSAgICBm
b3IodmFyIGZpZWxkIGluIGZpZWxkcykgewotICAgICAgICBpZiAodGhpcy5oYXNPd25Qcm9wZXJ0
eShmaWVsZCkpCi0gICAgICAgICAgdGhpc1tmaWVsZF0gPSBmaWVsZHNbZmllbGRdOwotICAgIH0K
LSAgfTsKLQotICBVc2JEZXZpY2VfT3Blbl9SZXNwb25zZVBhcmFtcy52YWxpZGF0ZSA9IGZ1bmN0
aW9uKG1lc3NhZ2VWYWxpZGF0b3IsIG9mZnNldCkgewotICAgIHZhciBlcnI7Ci0gICAgZXJyID0g
bWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdEhlYWRlcihvZmZzZXQsIGNvZGVjLmtTdHJ1
Y3RIZWFkZXJTaXplKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9y
Lk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICB2YXIga1ZlcnNpb25TaXplcyA9IFsK
LSAgICAgIHt2ZXJzaW9uOiAwLCBudW1CeXRlczogMTZ9Ci0gICAgXTsKLSAgICBlcnIgPSBtZXNz
YWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0VmVyc2lvbihvZmZzZXQsIGtWZXJzaW9uU2l6ZXMp
OwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAg
ICAgcmV0dXJuIGVycjsKLQotCi0gICAgCi0gICAgLy8gdmFsaWRhdGUgVXNiRGV2aWNlX09wZW5f
UmVzcG9uc2VQYXJhbXMuZXJyb3IKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRl
RW51bShvZmZzZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDAsIFVzYk9wZW5EZXZpY2VF
cnJvcik7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQot
ICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJy
b3IuTk9ORTsKLSAgfTsKLQotICBVc2JEZXZpY2VfT3Blbl9SZXNwb25zZVBhcmFtcy5lbmNvZGVk
U2l6ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgODsKLQotICBVc2JEZXZpY2VfT3Blbl9S
ZXNwb25zZVBhcmFtcy5kZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgdmFyIHBhY2tl
ZDsKLSAgICB2YXIgdmFsID0gbmV3IFVzYkRldmljZV9PcGVuX1Jlc3BvbnNlUGFyYW1zKCk7Ci0g
ICAgdmFyIG51bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YXIgdmVy
c2lvbiA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhbC5lcnJvciA9IGRlY29kZXIuZGVj
b2RlU3RydWN0KGNvZGVjLkludDMyKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rl
ci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0g
ICAgcmV0dXJuIHZhbDsKLSAgfTsKLQotICBVc2JEZXZpY2VfT3Blbl9SZXNwb25zZVBhcmFtcy5l
bmNvZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2YWwpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIGVu
Y29kZXIud3JpdGVVaW50MzIoVXNiRGV2aWNlX09wZW5fUmVzcG9uc2VQYXJhbXMuZW5jb2RlZFNp
emUpOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoMCk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1
Y3QoY29kZWMuSW50MzIsIHZhbC5lcnJvcik7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVu
Y29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEp
OwotICB9OwotICBmdW5jdGlvbiBVc2JEZXZpY2VfQ2xvc2VfUGFyYW1zKHZhbHVlcykgewotICAg
IHRoaXMuaW5pdERlZmF1bHRzXygpOwotICAgIHRoaXMuaW5pdEZpZWxkc18odmFsdWVzKTsKLSAg
fQotCi0KLSAgVXNiRGV2aWNlX0Nsb3NlX1BhcmFtcy5wcm90b3R5cGUuaW5pdERlZmF1bHRzXyA9
IGZ1bmN0aW9uKCkgewotICB9OwotICBVc2JEZXZpY2VfQ2xvc2VfUGFyYW1zLnByb3RvdHlwZS5p
bml0RmllbGRzXyA9IGZ1bmN0aW9uKGZpZWxkcykgewotICAgIGZvcih2YXIgZmllbGQgaW4gZmll
bGRzKSB7Ci0gICAgICAgIGlmICh0aGlzLmhhc093blByb3BlcnR5KGZpZWxkKSkKLSAgICAgICAg
ICB0aGlzW2ZpZWxkXSA9IGZpZWxkc1tmaWVsZF07Ci0gICAgfQotICB9OwotCi0gIFVzYkRldmlj
ZV9DbG9zZV9QYXJhbXMudmFsaWRhdGUgPSBmdW5jdGlvbihtZXNzYWdlVmFsaWRhdG9yLCBvZmZz
ZXQpIHsKLSAgICB2YXIgZXJyOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVT
dHJ1Y3RIZWFkZXIob2Zmc2V0LCBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVy
ciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJy
OwotCi0gICAgdmFyIGtWZXJzaW9uU2l6ZXMgPSBbCi0gICAgICB7dmVyc2lvbjogMCwgbnVtQnl0
ZXM6IDh9Ci0gICAgXTsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0
VmVyc2lvbihvZmZzZXQsIGtWZXJzaW9uU2l6ZXMpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRv
ci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHJldHVy
biB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gIH07Ci0KLSAgVXNiRGV2aWNlX0Ns
b3NlX1BhcmFtcy5lbmNvZGVkU2l6ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgMDsKLQot
ICBVc2JEZXZpY2VfQ2xvc2VfUGFyYW1zLmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAg
ICB2YXIgcGFja2VkOwotICAgIHZhciB2YWwgPSBuZXcgVXNiRGV2aWNlX0Nsb3NlX1BhcmFtcygp
OwotICAgIHZhciBudW1iZXJPZkJ5dGVzID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFy
IHZlcnNpb24gPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICByZXR1cm4gdmFsOwotICB9Owot
Ci0gIFVzYkRldmljZV9DbG9zZV9QYXJhbXMuZW5jb2RlID0gZnVuY3Rpb24oZW5jb2RlciwgdmFs
KSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKFVzYkRldmljZV9D
bG9zZV9QYXJhbXMuZW5jb2RlZFNpemUpOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoMCk7Ci0g
IH07Ci0gIGZ1bmN0aW9uIFVzYkRldmljZV9DbG9zZV9SZXNwb25zZVBhcmFtcyh2YWx1ZXMpIHsK
LSAgICB0aGlzLmluaXREZWZhdWx0c18oKTsKLSAgICB0aGlzLmluaXRGaWVsZHNfKHZhbHVlcyk7
Ci0gIH0KLQotCi0gIFVzYkRldmljZV9DbG9zZV9SZXNwb25zZVBhcmFtcy5wcm90b3R5cGUuaW5p
dERlZmF1bHRzXyA9IGZ1bmN0aW9uKCkgewotICB9OwotICBVc2JEZXZpY2VfQ2xvc2VfUmVzcG9u
c2VQYXJhbXMucHJvdG90eXBlLmluaXRGaWVsZHNfID0gZnVuY3Rpb24oZmllbGRzKSB7Ci0gICAg
Zm9yKHZhciBmaWVsZCBpbiBmaWVsZHMpIHsKLSAgICAgICAgaWYgKHRoaXMuaGFzT3duUHJvcGVy
dHkoZmllbGQpKQotICAgICAgICAgIHRoaXNbZmllbGRdID0gZmllbGRzW2ZpZWxkXTsKLSAgICB9
Ci0gIH07Ci0KLSAgVXNiRGV2aWNlX0Nsb3NlX1Jlc3BvbnNlUGFyYW1zLnZhbGlkYXRlID0gZnVu
Y3Rpb24obWVzc2FnZVZhbGlkYXRvciwgb2Zmc2V0KSB7Ci0gICAgdmFyIGVycjsKLSAgICBlcnIg
PSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0SGVhZGVyKG9mZnNldCwgY29kZWMua1N0
cnVjdEhlYWRlclNpemUpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJy
b3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHZhciBrVmVyc2lvblNpemVzID0g
WwotICAgICAge3ZlcnNpb246IDAsIG51bUJ5dGVzOiA4fQotICAgIF07Ci0gICAgZXJyID0gbWVz
c2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFZlcnNpb24ob2Zmc2V0LCBrVmVyc2lvblNpemVz
KTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAg
ICAgIHJldHVybiBlcnI7Ci0KLSAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5O
T05FOwotICB9OwotCi0gIFVzYkRldmljZV9DbG9zZV9SZXNwb25zZVBhcmFtcy5lbmNvZGVkU2l6
ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgMDsKLQotICBVc2JEZXZpY2VfQ2xvc2VfUmVz
cG9uc2VQYXJhbXMuZGVjb2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHZhciBwYWNrZWQ7
Ci0gICAgdmFyIHZhbCA9IG5ldyBVc2JEZXZpY2VfQ2xvc2VfUmVzcG9uc2VQYXJhbXMoKTsKLSAg
ICB2YXIgbnVtYmVyT2ZCeXRlcyA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhciB2ZXJz
aW9uID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgcmV0dXJuIHZhbDsKLSAgfTsKLQotICBV
c2JEZXZpY2VfQ2xvc2VfUmVzcG9uc2VQYXJhbXMuZW5jb2RlID0gZnVuY3Rpb24oZW5jb2Rlciwg
dmFsKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKFVzYkRldmlj
ZV9DbG9zZV9SZXNwb25zZVBhcmFtcy5lbmNvZGVkU2l6ZSk7Ci0gICAgZW5jb2Rlci53cml0ZVVp
bnQzMigwKTsKLSAgfTsKLSAgZnVuY3Rpb24gVXNiRGV2aWNlX1NldENvbmZpZ3VyYXRpb25fUGFy
YW1zKHZhbHVlcykgewotICAgIHRoaXMuaW5pdERlZmF1bHRzXygpOwotICAgIHRoaXMuaW5pdEZp
ZWxkc18odmFsdWVzKTsKLSAgfQotCi0KLSAgVXNiRGV2aWNlX1NldENvbmZpZ3VyYXRpb25fUGFy
YW1zLnByb3RvdHlwZS5pbml0RGVmYXVsdHNfID0gZnVuY3Rpb24oKSB7Ci0gICAgdGhpcy52YWx1
ZSA9IDA7Ci0gIH07Ci0gIFVzYkRldmljZV9TZXRDb25maWd1cmF0aW9uX1BhcmFtcy5wcm90b3R5
cGUuaW5pdEZpZWxkc18gPSBmdW5jdGlvbihmaWVsZHMpIHsKLSAgICBmb3IodmFyIGZpZWxkIGlu
IGZpZWxkcykgewotICAgICAgICBpZiAodGhpcy5oYXNPd25Qcm9wZXJ0eShmaWVsZCkpCi0gICAg
ICAgICAgdGhpc1tmaWVsZF0gPSBmaWVsZHNbZmllbGRdOwotICAgIH0KLSAgfTsKLQotICBVc2JE
ZXZpY2VfU2V0Q29uZmlndXJhdGlvbl9QYXJhbXMudmFsaWRhdGUgPSBmdW5jdGlvbihtZXNzYWdl
VmFsaWRhdG9yLCBvZmZzZXQpIHsKLSAgICB2YXIgZXJyOwotICAgIGVyciA9IG1lc3NhZ2VWYWxp
ZGF0b3IudmFsaWRhdGVTdHJ1Y3RIZWFkZXIob2Zmc2V0LCBjb2RlYy5rU3RydWN0SGVhZGVyU2l6
ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAg
ICAgICByZXR1cm4gZXJyOwotCi0gICAgdmFyIGtWZXJzaW9uU2l6ZXMgPSBbCi0gICAgICB7dmVy
c2lvbjogMCwgbnVtQnl0ZXM6IDE2fQotICAgIF07Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRv
ci52YWxpZGF0ZVN0cnVjdFZlcnNpb24ob2Zmc2V0LCBrVmVyc2lvblNpemVzKTsKLSAgICBpZiAo
ZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBl
cnI7Ci0KLQotICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gIH07
Ci0KLSAgVXNiRGV2aWNlX1NldENvbmZpZ3VyYXRpb25fUGFyYW1zLmVuY29kZWRTaXplID0gY29k
ZWMua1N0cnVjdEhlYWRlclNpemUgKyA4OwotCi0gIFVzYkRldmljZV9TZXRDb25maWd1cmF0aW9u
X1BhcmFtcy5kZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAg
ICB2YXIgdmFsID0gbmV3IFVzYkRldmljZV9TZXRDb25maWd1cmF0aW9uX1BhcmFtcygpOwotICAg
IHZhciBudW1iZXJPZkJ5dGVzID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFyIHZlcnNp
b24gPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YWwudmFsdWUgPSBkZWNvZGVyLmRlY29k
ZVN0cnVjdChjb2RlYy5VaW50OCk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIu
c2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAg
IGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lw
KDEpOwotICAgIHJldHVybiB2YWw7Ci0gIH07Ci0KLSAgVXNiRGV2aWNlX1NldENvbmZpZ3VyYXRp
b25fUGFyYW1zLmVuY29kZSA9IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgIHZhciBwYWNr
ZWQ7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMihVc2JEZXZpY2VfU2V0Q29uZmlndXJhdGlvbl9Q
YXJhbXMuZW5jb2RlZFNpemUpOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoMCk7Ci0gICAgZW5j
b2Rlci5lbmNvZGVTdHJ1Y3QoY29kZWMuVWludDgsIHZhbC52YWx1ZSk7Ci0gICAgZW5jb2Rlci5z
a2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAg
ZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAo
MSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICB9OwotICBmdW5jdGlvbiBVc2JEZXZpY2VfU2V0
Q29uZmlndXJhdGlvbl9SZXNwb25zZVBhcmFtcyh2YWx1ZXMpIHsKLSAgICB0aGlzLmluaXREZWZh
dWx0c18oKTsKLSAgICB0aGlzLmluaXRGaWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0gIFVzYkRl
dmljZV9TZXRDb25maWd1cmF0aW9uX1Jlc3BvbnNlUGFyYW1zLnByb3RvdHlwZS5pbml0RGVmYXVs
dHNfID0gZnVuY3Rpb24oKSB7Ci0gICAgdGhpcy5zdWNjZXNzID0gZmFsc2U7Ci0gIH07Ci0gIFVz
YkRldmljZV9TZXRDb25maWd1cmF0aW9uX1Jlc3BvbnNlUGFyYW1zLnByb3RvdHlwZS5pbml0Rmll
bGRzXyA9IGZ1bmN0aW9uKGZpZWxkcykgewotICAgIGZvcih2YXIgZmllbGQgaW4gZmllbGRzKSB7
Ci0gICAgICAgIGlmICh0aGlzLmhhc093blByb3BlcnR5KGZpZWxkKSkKLSAgICAgICAgICB0aGlz
W2ZpZWxkXSA9IGZpZWxkc1tmaWVsZF07Ci0gICAgfQotICB9OwotCi0gIFVzYkRldmljZV9TZXRD
b25maWd1cmF0aW9uX1Jlc3BvbnNlUGFyYW1zLnZhbGlkYXRlID0gZnVuY3Rpb24obWVzc2FnZVZh
bGlkYXRvciwgb2Zmc2V0KSB7Ci0gICAgdmFyIGVycjsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRh
dG9yLnZhbGlkYXRlU3RydWN0SGVhZGVyKG9mZnNldCwgY29kZWMua1N0cnVjdEhlYWRlclNpemUp
OwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAg
ICAgcmV0dXJuIGVycjsKLQotICAgIHZhciBrVmVyc2lvblNpemVzID0gWwotICAgICAge3ZlcnNp
b246IDAsIG51bUJ5dGVzOiAxNn0KLSAgICBdOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3Iu
dmFsaWRhdGVTdHJ1Y3RWZXJzaW9uKG9mZnNldCwga1ZlcnNpb25TaXplcyk7Ci0gICAgaWYgKGVy
ciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJy
OwotCi0KLSAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwotICB9Owot
Ci0gIFVzYkRldmljZV9TZXRDb25maWd1cmF0aW9uX1Jlc3BvbnNlUGFyYW1zLmVuY29kZWRTaXpl
ID0gY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyA4OwotCi0gIFVzYkRldmljZV9TZXRDb25maWd1
cmF0aW9uX1Jlc3BvbnNlUGFyYW1zLmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICB2
YXIgcGFja2VkOwotICAgIHZhciB2YWwgPSBuZXcgVXNiRGV2aWNlX1NldENvbmZpZ3VyYXRpb25f
UmVzcG9uc2VQYXJhbXMoKTsKLSAgICB2YXIgbnVtYmVyT2ZCeXRlcyA9IGRlY29kZXIucmVhZFVp
bnQzMigpOwotICAgIHZhciB2ZXJzaW9uID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgcGFj
a2VkID0gZGVjb2Rlci5yZWFkVWludDgoKTsKLSAgICB2YWwuc3VjY2VzcyA9IChwYWNrZWQgPj4g
MCkgJiAxID8gdHJ1ZSA6IGZhbHNlOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVy
LnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAg
ICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tp
cCgxKTsKLSAgICByZXR1cm4gdmFsOwotICB9OwotCi0gIFVzYkRldmljZV9TZXRDb25maWd1cmF0
aW9uX1Jlc3BvbnNlUGFyYW1zLmVuY29kZSA9IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAg
IHZhciBwYWNrZWQ7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMihVc2JEZXZpY2VfU2V0Q29uZmln
dXJhdGlvbl9SZXNwb25zZVBhcmFtcy5lbmNvZGVkU2l6ZSk7Ci0gICAgZW5jb2Rlci53cml0ZVVp
bnQzMigwKTsKLSAgICBwYWNrZWQgPSAwOwotICAgIHBhY2tlZCB8PSAodmFsLnN1Y2Nlc3MgJiAx
KSA8PCAwCi0gICAgZW5jb2Rlci53cml0ZVVpbnQ4KHBhY2tlZCk7Ci0gICAgZW5jb2Rlci5za2lw
KDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5j
b2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7
Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICB9OwotICBmdW5jdGlvbiBVc2JEZXZpY2VfQ2xhaW1J
bnRlcmZhY2VfUGFyYW1zKHZhbHVlcykgewotICAgIHRoaXMuaW5pdERlZmF1bHRzXygpOwotICAg
IHRoaXMuaW5pdEZpZWxkc18odmFsdWVzKTsKLSAgfQotCi0KLSAgVXNiRGV2aWNlX0NsYWltSW50
ZXJmYWNlX1BhcmFtcy5wcm90b3R5cGUuaW5pdERlZmF1bHRzXyA9IGZ1bmN0aW9uKCkgewotICAg
IHRoaXMuaW50ZXJmYWNlTnVtYmVyID0gMDsKLSAgfTsKLSAgVXNiRGV2aWNlX0NsYWltSW50ZXJm
YWNlX1BhcmFtcy5wcm90b3R5cGUuaW5pdEZpZWxkc18gPSBmdW5jdGlvbihmaWVsZHMpIHsKLSAg
ICBmb3IodmFyIGZpZWxkIGluIGZpZWxkcykgewotICAgICAgICBpZiAodGhpcy5oYXNPd25Qcm9w
ZXJ0eShmaWVsZCkpCi0gICAgICAgICAgdGhpc1tmaWVsZF0gPSBmaWVsZHNbZmllbGRdOwotICAg
IH0KLSAgfTsKLQotICBVc2JEZXZpY2VfQ2xhaW1JbnRlcmZhY2VfUGFyYW1zLnZhbGlkYXRlID0g
ZnVuY3Rpb24obWVzc2FnZVZhbGlkYXRvciwgb2Zmc2V0KSB7Ci0gICAgdmFyIGVycjsKLSAgICBl
cnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0SGVhZGVyKG9mZnNldCwgY29kZWMu
a1N0cnVjdEhlYWRlclNpemUpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9u
RXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHZhciBrVmVyc2lvblNpemVz
ID0gWwotICAgICAge3ZlcnNpb246IDAsIG51bUJ5dGVzOiAxNn0KLSAgICBdOwotICAgIGVyciA9
IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RWZXJzaW9uKG9mZnNldCwga1ZlcnNpb25T
aXplcyk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQot
ICAgICAgICByZXR1cm4gZXJyOwotCi0KLSAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25F
cnJvci5OT05FOwotICB9OwotCi0gIFVzYkRldmljZV9DbGFpbUludGVyZmFjZV9QYXJhbXMuZW5j
b2RlZFNpemUgPSBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDg7Ci0KLSAgVXNiRGV2aWNlX0Ns
YWltSW50ZXJmYWNlX1BhcmFtcy5kZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgdmFy
IHBhY2tlZDsKLSAgICB2YXIgdmFsID0gbmV3IFVzYkRldmljZV9DbGFpbUludGVyZmFjZV9QYXJh
bXMoKTsKLSAgICB2YXIgbnVtYmVyT2ZCeXRlcyA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAg
IHZhciB2ZXJzaW9uID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFsLmludGVyZmFjZU51
bWJlciA9IGRlY29kZXIuZGVjb2RlU3RydWN0KGNvZGVjLlVpbnQ4KTsKLSAgICBkZWNvZGVyLnNr
aXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBk
ZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgx
KTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgcmV0dXJuIHZhbDsKLSAgfTsKLQotICBVc2JE
ZXZpY2VfQ2xhaW1JbnRlcmZhY2VfUGFyYW1zLmVuY29kZSA9IGZ1bmN0aW9uKGVuY29kZXIsIHZh
bCkgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMihVc2JEZXZpY2Vf
Q2xhaW1JbnRlcmZhY2VfUGFyYW1zLmVuY29kZWRTaXplKTsKLSAgICBlbmNvZGVyLndyaXRlVWlu
dDMyKDApOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNvZGVjLlVpbnQ4LCB2YWwuaW50ZXJm
YWNlTnVtYmVyKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwot
ICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5z
a2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gIH07
Ci0gIGZ1bmN0aW9uIFVzYkRldmljZV9DbGFpbUludGVyZmFjZV9SZXNwb25zZVBhcmFtcyh2YWx1
ZXMpIHsKLSAgICB0aGlzLmluaXREZWZhdWx0c18oKTsKLSAgICB0aGlzLmluaXRGaWVsZHNfKHZh
bHVlcyk7Ci0gIH0KLQotCi0gIFVzYkRldmljZV9DbGFpbUludGVyZmFjZV9SZXNwb25zZVBhcmFt
cy5wcm90b3R5cGUuaW5pdERlZmF1bHRzXyA9IGZ1bmN0aW9uKCkgewotICAgIHRoaXMuc3VjY2Vz
cyA9IGZhbHNlOwotICB9OwotICBVc2JEZXZpY2VfQ2xhaW1JbnRlcmZhY2VfUmVzcG9uc2VQYXJh
bXMucHJvdG90eXBlLmluaXRGaWVsZHNfID0gZnVuY3Rpb24oZmllbGRzKSB7Ci0gICAgZm9yKHZh
ciBmaWVsZCBpbiBmaWVsZHMpIHsKLSAgICAgICAgaWYgKHRoaXMuaGFzT3duUHJvcGVydHkoZmll
bGQpKQotICAgICAgICAgIHRoaXNbZmllbGRdID0gZmllbGRzW2ZpZWxkXTsKLSAgICB9Ci0gIH07
Ci0KLSAgVXNiRGV2aWNlX0NsYWltSW50ZXJmYWNlX1Jlc3BvbnNlUGFyYW1zLnZhbGlkYXRlID0g
ZnVuY3Rpb24obWVzc2FnZVZhbGlkYXRvciwgb2Zmc2V0KSB7Ci0gICAgdmFyIGVycjsKLSAgICBl
cnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0SGVhZGVyKG9mZnNldCwgY29kZWMu
a1N0cnVjdEhlYWRlclNpemUpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9u
RXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHZhciBrVmVyc2lvblNpemVz
ID0gWwotICAgICAge3ZlcnNpb246IDAsIG51bUJ5dGVzOiAxNn0KLSAgICBdOwotICAgIGVyciA9
IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RWZXJzaW9uKG9mZnNldCwga1ZlcnNpb25T
aXplcyk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQot
ICAgICAgICByZXR1cm4gZXJyOwotCi0KLSAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25F
cnJvci5OT05FOwotICB9OwotCi0gIFVzYkRldmljZV9DbGFpbUludGVyZmFjZV9SZXNwb25zZVBh
cmFtcy5lbmNvZGVkU2l6ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgODsKLQotICBVc2JE
ZXZpY2VfQ2xhaW1JbnRlcmZhY2VfUmVzcG9uc2VQYXJhbXMuZGVjb2RlID0gZnVuY3Rpb24oZGVj
b2RlcikgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgdmFyIHZhbCA9IG5ldyBVc2JEZXZpY2VfQ2xh
aW1JbnRlcmZhY2VfUmVzcG9uc2VQYXJhbXMoKTsKLSAgICB2YXIgbnVtYmVyT2ZCeXRlcyA9IGRl
Y29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhciB2ZXJzaW9uID0gZGVjb2Rlci5yZWFkVWludDMy
KCk7Ci0gICAgcGFja2VkID0gZGVjb2Rlci5yZWFkVWludDgoKTsKLSAgICB2YWwuc3VjY2VzcyA9
IChwYWNrZWQgPj4gMCkgJiAxID8gdHJ1ZSA6IGZhbHNlOwotICAgIGRlY29kZXIuc2tpcCgxKTsK
LSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIu
c2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAg
IGRlY29kZXIuc2tpcCgxKTsKLSAgICByZXR1cm4gdmFsOwotICB9OwotCi0gIFVzYkRldmljZV9D
bGFpbUludGVyZmFjZV9SZXNwb25zZVBhcmFtcy5lbmNvZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2
YWwpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoVXNiRGV2aWNl
X0NsYWltSW50ZXJmYWNlX1Jlc3BvbnNlUGFyYW1zLmVuY29kZWRTaXplKTsKLSAgICBlbmNvZGVy
LndyaXRlVWludDMyKDApOwotICAgIHBhY2tlZCA9IDA7Ci0gICAgcGFja2VkIHw9ICh2YWwuc3Vj
Y2VzcyAmIDEpIDw8IDAKLSAgICBlbmNvZGVyLndyaXRlVWludDgocGFja2VkKTsKLSAgICBlbmNv
ZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsK
LSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIu
c2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gIH07Ci0gIGZ1bmN0aW9uIFVzYkRldmlj
ZV9SZWxlYXNlSW50ZXJmYWNlX1BhcmFtcyh2YWx1ZXMpIHsKLSAgICB0aGlzLmluaXREZWZhdWx0
c18oKTsKLSAgICB0aGlzLmluaXRGaWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0gIFVzYkRldmlj
ZV9SZWxlYXNlSW50ZXJmYWNlX1BhcmFtcy5wcm90b3R5cGUuaW5pdERlZmF1bHRzXyA9IGZ1bmN0
aW9uKCkgewotICAgIHRoaXMuaW50ZXJmYWNlTnVtYmVyID0gMDsKLSAgfTsKLSAgVXNiRGV2aWNl
X1JlbGVhc2VJbnRlcmZhY2VfUGFyYW1zLnByb3RvdHlwZS5pbml0RmllbGRzXyA9IGZ1bmN0aW9u
KGZpZWxkcykgewotICAgIGZvcih2YXIgZmllbGQgaW4gZmllbGRzKSB7Ci0gICAgICAgIGlmICh0
aGlzLmhhc093blByb3BlcnR5KGZpZWxkKSkKLSAgICAgICAgICB0aGlzW2ZpZWxkXSA9IGZpZWxk
c1tmaWVsZF07Ci0gICAgfQotICB9OwotCi0gIFVzYkRldmljZV9SZWxlYXNlSW50ZXJmYWNlX1Bh
cmFtcy52YWxpZGF0ZSA9IGZ1bmN0aW9uKG1lc3NhZ2VWYWxpZGF0b3IsIG9mZnNldCkgewotICAg
IHZhciBlcnI7Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdEhlYWRl
cihvZmZzZXQsIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplKTsKLSAgICBpZiAoZXJyICE9PSB2YWxp
ZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICB2
YXIga1ZlcnNpb25TaXplcyA9IFsKLSAgICAgIHt2ZXJzaW9uOiAwLCBudW1CeXRlczogMTZ9Ci0g
ICAgXTsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0VmVyc2lvbihv
ZmZzZXQsIGtWZXJzaW9uU2l6ZXMpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0
aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0gICAgcmV0dXJuIHZhbGlk
YXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQotICBVc2JEZXZpY2VfUmVsZWFzZUlu
dGVyZmFjZV9QYXJhbXMuZW5jb2RlZFNpemUgPSBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDg7
Ci0KLSAgVXNiRGV2aWNlX1JlbGVhc2VJbnRlcmZhY2VfUGFyYW1zLmRlY29kZSA9IGZ1bmN0aW9u
KGRlY29kZXIpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIHZhciB2YWwgPSBuZXcgVXNiRGV2aWNl
X1JlbGVhc2VJbnRlcmZhY2VfUGFyYW1zKCk7Ci0gICAgdmFyIG51bWJlck9mQnl0ZXMgPSBkZWNv
ZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YXIgdmVyc2lvbiA9IGRlY29kZXIucmVhZFVpbnQzMigp
OwotICAgIHZhbC5pbnRlcmZhY2VOdW1iZXIgPSBkZWNvZGVyLmRlY29kZVN0cnVjdChjb2RlYy5V
aW50OCk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBk
ZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgx
KTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIHJldHVy
biB2YWw7Ci0gIH07Ci0KLSAgVXNiRGV2aWNlX1JlbGVhc2VJbnRlcmZhY2VfUGFyYW1zLmVuY29k
ZSA9IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgZW5jb2Rl
ci53cml0ZVVpbnQzMihVc2JEZXZpY2VfUmVsZWFzZUludGVyZmFjZV9QYXJhbXMuZW5jb2RlZFNp
emUpOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoMCk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1
Y3QoY29kZWMuVWludDgsIHZhbC5pbnRlcmZhY2VOdW1iZXIpOwotICAgIGVuY29kZXIuc2tpcCgx
KTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29k
ZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwot
ICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgfTsKLSAgZnVuY3Rpb24gVXNiRGV2aWNlX1JlbGVhc2VJ
bnRlcmZhY2VfUmVzcG9uc2VQYXJhbXModmFsdWVzKSB7Ci0gICAgdGhpcy5pbml0RGVmYXVsdHNf
KCk7Ci0gICAgdGhpcy5pbml0RmllbGRzXyh2YWx1ZXMpOwotICB9Ci0KLQotICBVc2JEZXZpY2Vf
UmVsZWFzZUludGVyZmFjZV9SZXNwb25zZVBhcmFtcy5wcm90b3R5cGUuaW5pdERlZmF1bHRzXyA9
IGZ1bmN0aW9uKCkgewotICAgIHRoaXMuc3VjY2VzcyA9IGZhbHNlOwotICB9OwotICBVc2JEZXZp
Y2VfUmVsZWFzZUludGVyZmFjZV9SZXNwb25zZVBhcmFtcy5wcm90b3R5cGUuaW5pdEZpZWxkc18g
PSBmdW5jdGlvbihmaWVsZHMpIHsKLSAgICBmb3IodmFyIGZpZWxkIGluIGZpZWxkcykgewotICAg
ICAgICBpZiAodGhpcy5oYXNPd25Qcm9wZXJ0eShmaWVsZCkpCi0gICAgICAgICAgdGhpc1tmaWVs
ZF0gPSBmaWVsZHNbZmllbGRdOwotICAgIH0KLSAgfTsKLQotICBVc2JEZXZpY2VfUmVsZWFzZUlu
dGVyZmFjZV9SZXNwb25zZVBhcmFtcy52YWxpZGF0ZSA9IGZ1bmN0aW9uKG1lc3NhZ2VWYWxpZGF0
b3IsIG9mZnNldCkgewotICAgIHZhciBlcnI7Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52
YWxpZGF0ZVN0cnVjdEhlYWRlcihvZmZzZXQsIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplKTsKLSAg
ICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJl
dHVybiBlcnI7Ci0KLSAgICB2YXIga1ZlcnNpb25TaXplcyA9IFsKLSAgICAgIHt2ZXJzaW9uOiAw
LCBudW1CeXRlczogMTZ9Ci0gICAgXTsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlk
YXRlU3RydWN0VmVyc2lvbihvZmZzZXQsIGtWZXJzaW9uU2l6ZXMpOwotICAgIGlmIChlcnIgIT09
IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQot
Ci0gICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQotICBV
c2JEZXZpY2VfUmVsZWFzZUludGVyZmFjZV9SZXNwb25zZVBhcmFtcy5lbmNvZGVkU2l6ZSA9IGNv
ZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgODsKLQotICBVc2JEZXZpY2VfUmVsZWFzZUludGVyZmFj
ZV9SZXNwb25zZVBhcmFtcy5kZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgdmFyIHBh
Y2tlZDsKLSAgICB2YXIgdmFsID0gbmV3IFVzYkRldmljZV9SZWxlYXNlSW50ZXJmYWNlX1Jlc3Bv
bnNlUGFyYW1zKCk7Ci0gICAgdmFyIG51bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50MzIo
KTsKLSAgICB2YXIgdmVyc2lvbiA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHBhY2tlZCA9
IGRlY29kZXIucmVhZFVpbnQ4KCk7Ci0gICAgdmFsLnN1Y2Nlc3MgPSAocGFja2VkID4+IDApICYg
MSA/IHRydWUgOiBmYWxzZTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lw
KDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVj
b2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7
Ci0gICAgcmV0dXJuIHZhbDsKLSAgfTsKLQotICBVc2JEZXZpY2VfUmVsZWFzZUludGVyZmFjZV9S
ZXNwb25zZVBhcmFtcy5lbmNvZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2YWwpIHsKLSAgICB2YXIg
cGFja2VkOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoVXNiRGV2aWNlX1JlbGVhc2VJbnRlcmZh
Y2VfUmVzcG9uc2VQYXJhbXMuZW5jb2RlZFNpemUpOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIo
MCk7Ci0gICAgcGFja2VkID0gMDsKLSAgICBwYWNrZWQgfD0gKHZhbC5zdWNjZXNzICYgMSkgPDwg
MAotICAgIGVuY29kZXIud3JpdGVVaW50OChwYWNrZWQpOwotICAgIGVuY29kZXIuc2tpcCgxKTsK
LSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIu
c2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAg
IGVuY29kZXIuc2tpcCgxKTsKLSAgfTsKLSAgZnVuY3Rpb24gVXNiRGV2aWNlX1NldEludGVyZmFj
ZUFsdGVybmF0ZVNldHRpbmdfUGFyYW1zKHZhbHVlcykgewotICAgIHRoaXMuaW5pdERlZmF1bHRz
XygpOwotICAgIHRoaXMuaW5pdEZpZWxkc18odmFsdWVzKTsKLSAgfQotCi0KLSAgVXNiRGV2aWNl
X1NldEludGVyZmFjZUFsdGVybmF0ZVNldHRpbmdfUGFyYW1zLnByb3RvdHlwZS5pbml0RGVmYXVs
dHNfID0gZnVuY3Rpb24oKSB7Ci0gICAgdGhpcy5pbnRlcmZhY2VOdW1iZXIgPSAwOwotICAgIHRo
aXMuYWx0ZXJuYXRlU2V0dGluZyA9IDA7Ci0gIH07Ci0gIFVzYkRldmljZV9TZXRJbnRlcmZhY2VB
bHRlcm5hdGVTZXR0aW5nX1BhcmFtcy5wcm90b3R5cGUuaW5pdEZpZWxkc18gPSBmdW5jdGlvbihm
aWVsZHMpIHsKLSAgICBmb3IodmFyIGZpZWxkIGluIGZpZWxkcykgewotICAgICAgICBpZiAodGhp
cy5oYXNPd25Qcm9wZXJ0eShmaWVsZCkpCi0gICAgICAgICAgdGhpc1tmaWVsZF0gPSBmaWVsZHNb
ZmllbGRdOwotICAgIH0KLSAgfTsKLQotICBVc2JEZXZpY2VfU2V0SW50ZXJmYWNlQWx0ZXJuYXRl
U2V0dGluZ19QYXJhbXMudmFsaWRhdGUgPSBmdW5jdGlvbihtZXNzYWdlVmFsaWRhdG9yLCBvZmZz
ZXQpIHsKLSAgICB2YXIgZXJyOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVT
dHJ1Y3RIZWFkZXIob2Zmc2V0LCBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVy
ciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJy
OwotCi0gICAgdmFyIGtWZXJzaW9uU2l6ZXMgPSBbCi0gICAgICB7dmVyc2lvbjogMCwgbnVtQnl0
ZXM6IDE2fQotICAgIF07Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVj
dFZlcnNpb24ob2Zmc2V0LCBrVmVyc2lvblNpemVzKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0
b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotCi0gICAg
cmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQotICBVc2JEZXZp
Y2VfU2V0SW50ZXJmYWNlQWx0ZXJuYXRlU2V0dGluZ19QYXJhbXMuZW5jb2RlZFNpemUgPSBjb2Rl
Yy5rU3RydWN0SGVhZGVyU2l6ZSArIDg7Ci0KLSAgVXNiRGV2aWNlX1NldEludGVyZmFjZUFsdGVy
bmF0ZVNldHRpbmdfUGFyYW1zLmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICB2YXIg
cGFja2VkOwotICAgIHZhciB2YWwgPSBuZXcgVXNiRGV2aWNlX1NldEludGVyZmFjZUFsdGVybmF0
ZVNldHRpbmdfUGFyYW1zKCk7Ci0gICAgdmFyIG51bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRV
aW50MzIoKTsKLSAgICB2YXIgdmVyc2lvbiA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZh
bC5pbnRlcmZhY2VOdW1iZXIgPSBkZWNvZGVyLmRlY29kZVN0cnVjdChjb2RlYy5VaW50OCk7Ci0g
ICAgdmFsLmFsdGVybmF0ZVNldHRpbmcgPSBkZWNvZGVyLmRlY29kZVN0cnVjdChjb2RlYy5VaW50
OCk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNv
ZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsK
LSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgcmV0dXJuIHZhbDsKLSAgfTsKLQotICBVc2JEZXZp
Y2VfU2V0SW50ZXJmYWNlQWx0ZXJuYXRlU2V0dGluZ19QYXJhbXMuZW5jb2RlID0gZnVuY3Rpb24o
ZW5jb2RlciwgdmFsKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICBlbmNvZGVyLndyaXRlVWludDMy
KFVzYkRldmljZV9TZXRJbnRlcmZhY2VBbHRlcm5hdGVTZXR0aW5nX1BhcmFtcy5lbmNvZGVkU2l6
ZSk7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMigwKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVj
dChjb2RlYy5VaW50OCwgdmFsLmludGVyZmFjZU51bWJlcik7Ci0gICAgZW5jb2Rlci5lbmNvZGVT
dHJ1Y3QoY29kZWMuVWludDgsIHZhbC5hbHRlcm5hdGVTZXR0aW5nKTsKLSAgICBlbmNvZGVyLnNr
aXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBl
bmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgx
KTsKLSAgfTsKLSAgZnVuY3Rpb24gVXNiRGV2aWNlX1NldEludGVyZmFjZUFsdGVybmF0ZVNldHRp
bmdfUmVzcG9uc2VQYXJhbXModmFsdWVzKSB7Ci0gICAgdGhpcy5pbml0RGVmYXVsdHNfKCk7Ci0g
ICAgdGhpcy5pbml0RmllbGRzXyh2YWx1ZXMpOwotICB9Ci0KLQotICBVc2JEZXZpY2VfU2V0SW50
ZXJmYWNlQWx0ZXJuYXRlU2V0dGluZ19SZXNwb25zZVBhcmFtcy5wcm90b3R5cGUuaW5pdERlZmF1
bHRzXyA9IGZ1bmN0aW9uKCkgewotICAgIHRoaXMuc3VjY2VzcyA9IGZhbHNlOwotICB9OwotICBV
c2JEZXZpY2VfU2V0SW50ZXJmYWNlQWx0ZXJuYXRlU2V0dGluZ19SZXNwb25zZVBhcmFtcy5wcm90
b3R5cGUuaW5pdEZpZWxkc18gPSBmdW5jdGlvbihmaWVsZHMpIHsKLSAgICBmb3IodmFyIGZpZWxk
IGluIGZpZWxkcykgewotICAgICAgICBpZiAodGhpcy5oYXNPd25Qcm9wZXJ0eShmaWVsZCkpCi0g
ICAgICAgICAgdGhpc1tmaWVsZF0gPSBmaWVsZHNbZmllbGRdOwotICAgIH0KLSAgfTsKLQotICBV
c2JEZXZpY2VfU2V0SW50ZXJmYWNlQWx0ZXJuYXRlU2V0dGluZ19SZXNwb25zZVBhcmFtcy52YWxp
ZGF0ZSA9IGZ1bmN0aW9uKG1lc3NhZ2VWYWxpZGF0b3IsIG9mZnNldCkgewotICAgIHZhciBlcnI7
Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdEhlYWRlcihvZmZzZXQs
IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFs
aWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICB2YXIga1ZlcnNp
b25TaXplcyA9IFsKLSAgICAgIHt2ZXJzaW9uOiAwLCBudW1CeXRlczogMTZ9Ci0gICAgXTsKLSAg
ICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0VmVyc2lvbihvZmZzZXQsIGtW
ZXJzaW9uU2l6ZXMpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3Iu
Tk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0gICAgcmV0dXJuIHZhbGlkYXRvci52YWxp
ZGF0aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQotICBVc2JEZXZpY2VfU2V0SW50ZXJmYWNlQWx0ZXJu
YXRlU2V0dGluZ19SZXNwb25zZVBhcmFtcy5lbmNvZGVkU2l6ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFk
ZXJTaXplICsgODsKLQotICBVc2JEZXZpY2VfU2V0SW50ZXJmYWNlQWx0ZXJuYXRlU2V0dGluZ19S
ZXNwb25zZVBhcmFtcy5kZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgdmFyIHBhY2tl
ZDsKLSAgICB2YXIgdmFsID0gbmV3IFVzYkRldmljZV9TZXRJbnRlcmZhY2VBbHRlcm5hdGVTZXR0
aW5nX1Jlc3BvbnNlUGFyYW1zKCk7Ci0gICAgdmFyIG51bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJl
YWRVaW50MzIoKTsKLSAgICB2YXIgdmVyc2lvbiA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAg
IHBhY2tlZCA9IGRlY29kZXIucmVhZFVpbnQ4KCk7Ci0gICAgdmFsLnN1Y2Nlc3MgPSAocGFja2Vk
ID4+IDApICYgMSA/IHRydWUgOiBmYWxzZTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVj
b2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7
Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVy
LnNraXAoMSk7Ci0gICAgcmV0dXJuIHZhbDsKLSAgfTsKLQotICBVc2JEZXZpY2VfU2V0SW50ZXJm
YWNlQWx0ZXJuYXRlU2V0dGluZ19SZXNwb25zZVBhcmFtcy5lbmNvZGUgPSBmdW5jdGlvbihlbmNv
ZGVyLCB2YWwpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoVXNi
RGV2aWNlX1NldEludGVyZmFjZUFsdGVybmF0ZVNldHRpbmdfUmVzcG9uc2VQYXJhbXMuZW5jb2Rl
ZFNpemUpOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoMCk7Ci0gICAgcGFja2VkID0gMDsKLSAg
ICBwYWNrZWQgfD0gKHZhbC5zdWNjZXNzICYgMSkgPDwgMAotICAgIGVuY29kZXIud3JpdGVVaW50
OChwYWNrZWQpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0g
ICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNr
aXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgfTsK
LSAgZnVuY3Rpb24gVXNiRGV2aWNlX1Jlc2V0X1BhcmFtcyh2YWx1ZXMpIHsKLSAgICB0aGlzLmlu
aXREZWZhdWx0c18oKTsKLSAgICB0aGlzLmluaXRGaWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0g
IFVzYkRldmljZV9SZXNldF9QYXJhbXMucHJvdG90eXBlLmluaXREZWZhdWx0c18gPSBmdW5jdGlv
bigpIHsKLSAgfTsKLSAgVXNiRGV2aWNlX1Jlc2V0X1BhcmFtcy5wcm90b3R5cGUuaW5pdEZpZWxk
c18gPSBmdW5jdGlvbihmaWVsZHMpIHsKLSAgICBmb3IodmFyIGZpZWxkIGluIGZpZWxkcykgewot
ICAgICAgICBpZiAodGhpcy5oYXNPd25Qcm9wZXJ0eShmaWVsZCkpCi0gICAgICAgICAgdGhpc1tm
aWVsZF0gPSBmaWVsZHNbZmllbGRdOwotICAgIH0KLSAgfTsKLQotICBVc2JEZXZpY2VfUmVzZXRf
UGFyYW1zLnZhbGlkYXRlID0gZnVuY3Rpb24obWVzc2FnZVZhbGlkYXRvciwgb2Zmc2V0KSB7Ci0g
ICAgdmFyIGVycjsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0SGVh
ZGVyKG9mZnNldCwgY29kZWMua1N0cnVjdEhlYWRlclNpemUpOwotICAgIGlmIChlcnIgIT09IHZh
bGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAg
IHZhciBrVmVyc2lvblNpemVzID0gWwotICAgICAge3ZlcnNpb246IDAsIG51bUJ5dGVzOiA4fQot
ICAgIF07Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFZlcnNpb24o
b2Zmc2V0LCBrVmVyc2lvblNpemVzKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRh
dGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICByZXR1cm4gdmFsaWRh
dG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIFVzYkRldmljZV9SZXNldF9QYXJh
bXMuZW5jb2RlZFNpemUgPSBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDA7Ci0KLSAgVXNiRGV2
aWNlX1Jlc2V0X1BhcmFtcy5kZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgdmFyIHBh
Y2tlZDsKLSAgICB2YXIgdmFsID0gbmV3IFVzYkRldmljZV9SZXNldF9QYXJhbXMoKTsKLSAgICB2
YXIgbnVtYmVyT2ZCeXRlcyA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhciB2ZXJzaW9u
ID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgcmV0dXJuIHZhbDsKLSAgfTsKLQotICBVc2JE
ZXZpY2VfUmVzZXRfUGFyYW1zLmVuY29kZSA9IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAg
IHZhciBwYWNrZWQ7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMihVc2JEZXZpY2VfUmVzZXRfUGFy
YW1zLmVuY29kZWRTaXplKTsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKDApOwotICB9OwotICBm
dW5jdGlvbiBVc2JEZXZpY2VfUmVzZXRfUmVzcG9uc2VQYXJhbXModmFsdWVzKSB7Ci0gICAgdGhp
cy5pbml0RGVmYXVsdHNfKCk7Ci0gICAgdGhpcy5pbml0RmllbGRzXyh2YWx1ZXMpOwotICB9Ci0K
LQotICBVc2JEZXZpY2VfUmVzZXRfUmVzcG9uc2VQYXJhbXMucHJvdG90eXBlLmluaXREZWZhdWx0
c18gPSBmdW5jdGlvbigpIHsKLSAgICB0aGlzLnN1Y2Nlc3MgPSBmYWxzZTsKLSAgfTsKLSAgVXNi
RGV2aWNlX1Jlc2V0X1Jlc3BvbnNlUGFyYW1zLnByb3RvdHlwZS5pbml0RmllbGRzXyA9IGZ1bmN0
aW9uKGZpZWxkcykgewotICAgIGZvcih2YXIgZmllbGQgaW4gZmllbGRzKSB7Ci0gICAgICAgIGlm
ICh0aGlzLmhhc093blByb3BlcnR5KGZpZWxkKSkKLSAgICAgICAgICB0aGlzW2ZpZWxkXSA9IGZp
ZWxkc1tmaWVsZF07Ci0gICAgfQotICB9OwotCi0gIFVzYkRldmljZV9SZXNldF9SZXNwb25zZVBh
cmFtcy52YWxpZGF0ZSA9IGZ1bmN0aW9uKG1lc3NhZ2VWYWxpZGF0b3IsIG9mZnNldCkgewotICAg
IHZhciBlcnI7Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdEhlYWRl
cihvZmZzZXQsIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplKTsKLSAgICBpZiAoZXJyICE9PSB2YWxp
ZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICB2
YXIga1ZlcnNpb25TaXplcyA9IFsKLSAgICAgIHt2ZXJzaW9uOiAwLCBudW1CeXRlczogMTZ9Ci0g
ICAgXTsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0VmVyc2lvbihv
ZmZzZXQsIGtWZXJzaW9uU2l6ZXMpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0
aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0gICAgcmV0dXJuIHZhbGlk
YXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQotICBVc2JEZXZpY2VfUmVzZXRfUmVz
cG9uc2VQYXJhbXMuZW5jb2RlZFNpemUgPSBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDg7Ci0K
LSAgVXNiRGV2aWNlX1Jlc2V0X1Jlc3BvbnNlUGFyYW1zLmRlY29kZSA9IGZ1bmN0aW9uKGRlY29k
ZXIpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIHZhciB2YWwgPSBuZXcgVXNiRGV2aWNlX1Jlc2V0
X1Jlc3BvbnNlUGFyYW1zKCk7Ci0gICAgdmFyIG51bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRV
aW50MzIoKTsKLSAgICB2YXIgdmVyc2lvbiA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHBh
Y2tlZCA9IGRlY29kZXIucmVhZFVpbnQ4KCk7Ci0gICAgdmFsLnN1Y2Nlc3MgPSAocGFja2VkID4+
IDApICYgMSA/IHRydWUgOiBmYWxzZTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rl
ci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0g
ICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNr
aXAoMSk7Ci0gICAgcmV0dXJuIHZhbDsKLSAgfTsKLQotICBVc2JEZXZpY2VfUmVzZXRfUmVzcG9u
c2VQYXJhbXMuZW5jb2RlID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAgdmFyIHBhY2tl
ZDsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKFVzYkRldmljZV9SZXNldF9SZXNwb25zZVBhcmFt
cy5lbmNvZGVkU2l6ZSk7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMigwKTsKLSAgICBwYWNrZWQg
PSAwOwotICAgIHBhY2tlZCB8PSAodmFsLnN1Y2Nlc3MgJiAxKSA8PCAwCi0gICAgZW5jb2Rlci53
cml0ZVVpbnQ4KHBhY2tlZCk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tp
cCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVu
Y29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEp
OwotICB9OwotICBmdW5jdGlvbiBVc2JEZXZpY2VfQ2xlYXJIYWx0X1BhcmFtcyh2YWx1ZXMpIHsK
LSAgICB0aGlzLmluaXREZWZhdWx0c18oKTsKLSAgICB0aGlzLmluaXRGaWVsZHNfKHZhbHVlcyk7
Ci0gIH0KLQotCi0gIFVzYkRldmljZV9DbGVhckhhbHRfUGFyYW1zLnByb3RvdHlwZS5pbml0RGVm
YXVsdHNfID0gZnVuY3Rpb24oKSB7Ci0gICAgdGhpcy5lbmRwb2ludCA9IDA7Ci0gIH07Ci0gIFVz
YkRldmljZV9DbGVhckhhbHRfUGFyYW1zLnByb3RvdHlwZS5pbml0RmllbGRzXyA9IGZ1bmN0aW9u
KGZpZWxkcykgewotICAgIGZvcih2YXIgZmllbGQgaW4gZmllbGRzKSB7Ci0gICAgICAgIGlmICh0
aGlzLmhhc093blByb3BlcnR5KGZpZWxkKSkKLSAgICAgICAgICB0aGlzW2ZpZWxkXSA9IGZpZWxk
c1tmaWVsZF07Ci0gICAgfQotICB9OwotCi0gIFVzYkRldmljZV9DbGVhckhhbHRfUGFyYW1zLnZh
bGlkYXRlID0gZnVuY3Rpb24obWVzc2FnZVZhbGlkYXRvciwgb2Zmc2V0KSB7Ci0gICAgdmFyIGVy
cjsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0SGVhZGVyKG9mZnNl
dCwgY29kZWMua1N0cnVjdEhlYWRlclNpemUpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52
YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHZhciBrVmVy
c2lvblNpemVzID0gWwotICAgICAge3ZlcnNpb246IDAsIG51bUJ5dGVzOiAxNn0KLSAgICBdOwot
ICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RWZXJzaW9uKG9mZnNldCwg
a1ZlcnNpb25TaXplcyk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJv
ci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0KLSAgICByZXR1cm4gdmFsaWRhdG9yLnZh
bGlkYXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIFVzYkRldmljZV9DbGVhckhhbHRfUGFyYW1z
LmVuY29kZWRTaXplID0gY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyA4OwotCi0gIFVzYkRldmlj
ZV9DbGVhckhhbHRfUGFyYW1zLmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICB2YXIg
cGFja2VkOwotICAgIHZhciB2YWwgPSBuZXcgVXNiRGV2aWNlX0NsZWFySGFsdF9QYXJhbXMoKTsK
LSAgICB2YXIgbnVtYmVyT2ZCeXRlcyA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhciB2
ZXJzaW9uID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFsLmVuZHBvaW50ID0gZGVjb2Rl
ci5kZWNvZGVTdHJ1Y3QoY29kZWMuVWludDgpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBk
ZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgx
KTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29k
ZXIuc2tpcCgxKTsKLSAgICByZXR1cm4gdmFsOwotICB9OwotCi0gIFVzYkRldmljZV9DbGVhckhh
bHRfUGFyYW1zLmVuY29kZSA9IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgIHZhciBwYWNr
ZWQ7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMihVc2JEZXZpY2VfQ2xlYXJIYWx0X1BhcmFtcy5l
bmNvZGVkU2l6ZSk7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMigwKTsKLSAgICBlbmNvZGVyLmVu
Y29kZVN0cnVjdChjb2RlYy5VaW50OCwgdmFsLmVuZHBvaW50KTsKLSAgICBlbmNvZGVyLnNraXAo
MSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNv
ZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsK
LSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gIH07Ci0gIGZ1bmN0aW9uIFVzYkRldmljZV9DbGVhckhh
bHRfUmVzcG9uc2VQYXJhbXModmFsdWVzKSB7Ci0gICAgdGhpcy5pbml0RGVmYXVsdHNfKCk7Ci0g
ICAgdGhpcy5pbml0RmllbGRzXyh2YWx1ZXMpOwotICB9Ci0KLQotICBVc2JEZXZpY2VfQ2xlYXJI
YWx0X1Jlc3BvbnNlUGFyYW1zLnByb3RvdHlwZS5pbml0RGVmYXVsdHNfID0gZnVuY3Rpb24oKSB7
Ci0gICAgdGhpcy5zdWNjZXNzID0gZmFsc2U7Ci0gIH07Ci0gIFVzYkRldmljZV9DbGVhckhhbHRf
UmVzcG9uc2VQYXJhbXMucHJvdG90eXBlLmluaXRGaWVsZHNfID0gZnVuY3Rpb24oZmllbGRzKSB7
Ci0gICAgZm9yKHZhciBmaWVsZCBpbiBmaWVsZHMpIHsKLSAgICAgICAgaWYgKHRoaXMuaGFzT3du
UHJvcGVydHkoZmllbGQpKQotICAgICAgICAgIHRoaXNbZmllbGRdID0gZmllbGRzW2ZpZWxkXTsK
LSAgICB9Ci0gIH07Ci0KLSAgVXNiRGV2aWNlX0NsZWFySGFsdF9SZXNwb25zZVBhcmFtcy52YWxp
ZGF0ZSA9IGZ1bmN0aW9uKG1lc3NhZ2VWYWxpZGF0b3IsIG9mZnNldCkgewotICAgIHZhciBlcnI7
Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdEhlYWRlcihvZmZzZXQs
IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFs
aWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICB2YXIga1ZlcnNp
b25TaXplcyA9IFsKLSAgICAgIHt2ZXJzaW9uOiAwLCBudW1CeXRlczogMTZ9Ci0gICAgXTsKLSAg
ICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0VmVyc2lvbihvZmZzZXQsIGtW
ZXJzaW9uU2l6ZXMpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3Iu
Tk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0gICAgcmV0dXJuIHZhbGlkYXRvci52YWxp
ZGF0aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQotICBVc2JEZXZpY2VfQ2xlYXJIYWx0X1Jlc3BvbnNl
UGFyYW1zLmVuY29kZWRTaXplID0gY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyA4OwotCi0gIFVz
YkRldmljZV9DbGVhckhhbHRfUmVzcG9uc2VQYXJhbXMuZGVjb2RlID0gZnVuY3Rpb24oZGVjb2Rl
cikgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgdmFyIHZhbCA9IG5ldyBVc2JEZXZpY2VfQ2xlYXJI
YWx0X1Jlc3BvbnNlUGFyYW1zKCk7Ci0gICAgdmFyIG51bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJl
YWRVaW50MzIoKTsKLSAgICB2YXIgdmVyc2lvbiA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAg
IHBhY2tlZCA9IGRlY29kZXIucmVhZFVpbnQ4KCk7Ci0gICAgdmFsLnN1Y2Nlc3MgPSAocGFja2Vk
ID4+IDApICYgMSA/IHRydWUgOiBmYWxzZTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVj
b2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7
Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVy
LnNraXAoMSk7Ci0gICAgcmV0dXJuIHZhbDsKLSAgfTsKLQotICBVc2JEZXZpY2VfQ2xlYXJIYWx0
X1Jlc3BvbnNlUGFyYW1zLmVuY29kZSA9IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgIHZh
ciBwYWNrZWQ7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMihVc2JEZXZpY2VfQ2xlYXJIYWx0X1Jl
c3BvbnNlUGFyYW1zLmVuY29kZWRTaXplKTsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKDApOwot
ICAgIHBhY2tlZCA9IDA7Ci0gICAgcGFja2VkIHw9ICh2YWwuc3VjY2VzcyAmIDEpIDw8IDAKLSAg
ICBlbmNvZGVyLndyaXRlVWludDgocGFja2VkKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAg
ZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAo
MSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNv
ZGVyLnNraXAoMSk7Ci0gIH07Ci0gIGZ1bmN0aW9uIFVzYkRldmljZV9Db250cm9sVHJhbnNmZXJJ
bl9QYXJhbXModmFsdWVzKSB7Ci0gICAgdGhpcy5pbml0RGVmYXVsdHNfKCk7Ci0gICAgdGhpcy5p
bml0RmllbGRzXyh2YWx1ZXMpOwotICB9Ci0KLQotICBVc2JEZXZpY2VfQ29udHJvbFRyYW5zZmVy
SW5fUGFyYW1zLnByb3RvdHlwZS5pbml0RGVmYXVsdHNfID0gZnVuY3Rpb24oKSB7Ci0gICAgdGhp
cy5wYXJhbXMgPSBudWxsOwotICAgIHRoaXMubGVuZ3RoID0gMDsKLSAgICB0aGlzLnRpbWVvdXQg
PSAwOwotICB9OwotICBVc2JEZXZpY2VfQ29udHJvbFRyYW5zZmVySW5fUGFyYW1zLnByb3RvdHlw
ZS5pbml0RmllbGRzXyA9IGZ1bmN0aW9uKGZpZWxkcykgewotICAgIGZvcih2YXIgZmllbGQgaW4g
ZmllbGRzKSB7Ci0gICAgICAgIGlmICh0aGlzLmhhc093blByb3BlcnR5KGZpZWxkKSkKLSAgICAg
ICAgICB0aGlzW2ZpZWxkXSA9IGZpZWxkc1tmaWVsZF07Ci0gICAgfQotICB9OwotCi0gIFVzYkRl
dmljZV9Db250cm9sVHJhbnNmZXJJbl9QYXJhbXMudmFsaWRhdGUgPSBmdW5jdGlvbihtZXNzYWdl
VmFsaWRhdG9yLCBvZmZzZXQpIHsKLSAgICB2YXIgZXJyOwotICAgIGVyciA9IG1lc3NhZ2VWYWxp
ZGF0b3IudmFsaWRhdGVTdHJ1Y3RIZWFkZXIob2Zmc2V0LCBjb2RlYy5rU3RydWN0SGVhZGVyU2l6
ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAg
ICAgICByZXR1cm4gZXJyOwotCi0gICAgdmFyIGtWZXJzaW9uU2l6ZXMgPSBbCi0gICAgICB7dmVy
c2lvbjogMCwgbnVtQnl0ZXM6IDI0fQotICAgIF07Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRv
ci52YWxpZGF0ZVN0cnVjdFZlcnNpb24ob2Zmc2V0LCBrVmVyc2lvblNpemVzKTsKLSAgICBpZiAo
ZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBl
cnI7Ci0KLQotICAgIAotICAgIC8vIHZhbGlkYXRlIFVzYkRldmljZV9Db250cm9sVHJhbnNmZXJJ
bl9QYXJhbXMucGFyYW1zCi0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVj
dFBvaW50ZXIob2Zmc2V0ICsgY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyAwLCBVc2JDb250cm9s
VHJhbnNmZXJQYXJhbXMsIGZhbHNlKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRh
dGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotCi0gICAgcmV0dXJuIHZh
bGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQotICBVc2JEZXZpY2VfQ29udHJv
bFRyYW5zZmVySW5fUGFyYW1zLmVuY29kZWRTaXplID0gY29kZWMua1N0cnVjdEhlYWRlclNpemUg
KyAxNjsKLQotICBVc2JEZXZpY2VfQ29udHJvbFRyYW5zZmVySW5fUGFyYW1zLmRlY29kZSA9IGZ1
bmN0aW9uKGRlY29kZXIpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIHZhciB2YWwgPSBuZXcgVXNi
RGV2aWNlX0NvbnRyb2xUcmFuc2ZlckluX1BhcmFtcygpOwotICAgIHZhciBudW1iZXJPZkJ5dGVz
ID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFyIHZlcnNpb24gPSBkZWNvZGVyLnJlYWRV
aW50MzIoKTsKLSAgICB2YWwucGFyYW1zID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3RQb2ludGVyKFVz
YkNvbnRyb2xUcmFuc2ZlclBhcmFtcyk7Ci0gICAgdmFsLmxlbmd0aCA9IGRlY29kZXIuZGVjb2Rl
U3RydWN0KGNvZGVjLlVpbnQzMik7Ci0gICAgdmFsLnRpbWVvdXQgPSBkZWNvZGVyLmRlY29kZVN0
cnVjdChjb2RlYy5VaW50MzIpOwotICAgIHJldHVybiB2YWw7Ci0gIH07Ci0KLSAgVXNiRGV2aWNl
X0NvbnRyb2xUcmFuc2ZlckluX1BhcmFtcy5lbmNvZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2YWwp
IHsKLSAgICB2YXIgcGFja2VkOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoVXNiRGV2aWNlX0Nv
bnRyb2xUcmFuc2ZlckluX1BhcmFtcy5lbmNvZGVkU2l6ZSk7Ci0gICAgZW5jb2Rlci53cml0ZVVp
bnQzMigwKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdFBvaW50ZXIoVXNiQ29udHJvbFRyYW5z
ZmVyUGFyYW1zLCB2YWwucGFyYW1zKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdChjb2RlYy5V
aW50MzIsIHZhbC5sZW5ndGgpOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNvZGVjLlVpbnQz
MiwgdmFsLnRpbWVvdXQpOwotICB9OwotICBmdW5jdGlvbiBVc2JEZXZpY2VfQ29udHJvbFRyYW5z
ZmVySW5fUmVzcG9uc2VQYXJhbXModmFsdWVzKSB7Ci0gICAgdGhpcy5pbml0RGVmYXVsdHNfKCk7
Ci0gICAgdGhpcy5pbml0RmllbGRzXyh2YWx1ZXMpOwotICB9Ci0KLQotICBVc2JEZXZpY2VfQ29u
dHJvbFRyYW5zZmVySW5fUmVzcG9uc2VQYXJhbXMucHJvdG90eXBlLmluaXREZWZhdWx0c18gPSBm
dW5jdGlvbigpIHsKLSAgICB0aGlzLnN0YXR1cyA9IDA7Ci0gICAgdGhpcy5kYXRhID0gbnVsbDsK
LSAgfTsKLSAgVXNiRGV2aWNlX0NvbnRyb2xUcmFuc2ZlckluX1Jlc3BvbnNlUGFyYW1zLnByb3Rv
dHlwZS5pbml0RmllbGRzXyA9IGZ1bmN0aW9uKGZpZWxkcykgewotICAgIGZvcih2YXIgZmllbGQg
aW4gZmllbGRzKSB7Ci0gICAgICAgIGlmICh0aGlzLmhhc093blByb3BlcnR5KGZpZWxkKSkKLSAg
ICAgICAgICB0aGlzW2ZpZWxkXSA9IGZpZWxkc1tmaWVsZF07Ci0gICAgfQotICB9OwotCi0gIFVz
YkRldmljZV9Db250cm9sVHJhbnNmZXJJbl9SZXNwb25zZVBhcmFtcy52YWxpZGF0ZSA9IGZ1bmN0
aW9uKG1lc3NhZ2VWYWxpZGF0b3IsIG9mZnNldCkgewotICAgIHZhciBlcnI7Ci0gICAgZXJyID0g
bWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdEhlYWRlcihvZmZzZXQsIGNvZGVjLmtTdHJ1
Y3RIZWFkZXJTaXplKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9y
Lk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICB2YXIga1ZlcnNpb25TaXplcyA9IFsK
LSAgICAgIHt2ZXJzaW9uOiAwLCBudW1CeXRlczogMjR9Ci0gICAgXTsKLSAgICBlcnIgPSBtZXNz
YWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0VmVyc2lvbihvZmZzZXQsIGtWZXJzaW9uU2l6ZXMp
OwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAg
ICAgcmV0dXJuIGVycjsKLQotCi0gICAgCi0gICAgLy8gdmFsaWRhdGUgVXNiRGV2aWNlX0NvbnRy
b2xUcmFuc2ZlckluX1Jlc3BvbnNlUGFyYW1zLnN0YXR1cwotICAgIGVyciA9IG1lc3NhZ2VWYWxp
ZGF0b3IudmFsaWRhdGVFbnVtKG9mZnNldCArIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgMCwg
VXNiVHJhbnNmZXJTdGF0dXMpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9u
RXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0gICAgCi0gICAgLy8gdmFsaWRh
dGUgVXNiRGV2aWNlX0NvbnRyb2xUcmFuc2ZlckluX1Jlc3BvbnNlUGFyYW1zLmRhdGEKLSAgICBl
cnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlQXJyYXlQb2ludGVyKG9mZnNldCArIGNvZGVj
LmtTdHJ1Y3RIZWFkZXJTaXplICsgOCwgMSwgY29kZWMuVWludDgsIHRydWUsIFswXSwgMCk7Ci0g
ICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICBy
ZXR1cm4gZXJyOwotCi0gICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORTsK
LSAgfTsKLQotICBVc2JEZXZpY2VfQ29udHJvbFRyYW5zZmVySW5fUmVzcG9uc2VQYXJhbXMuZW5j
b2RlZFNpemUgPSBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDE2OwotCi0gIFVzYkRldmljZV9D
b250cm9sVHJhbnNmZXJJbl9SZXNwb25zZVBhcmFtcy5kZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVy
KSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICB2YXIgdmFsID0gbmV3IFVzYkRldmljZV9Db250cm9s
VHJhbnNmZXJJbl9SZXNwb25zZVBhcmFtcygpOwotICAgIHZhciBudW1iZXJPZkJ5dGVzID0gZGVj
b2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFyIHZlcnNpb24gPSBkZWNvZGVyLnJlYWRVaW50MzIo
KTsKLSAgICB2YWwuc3RhdHVzID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoY29kZWMuSW50MzIpOwot
ICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5z
a2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICB2YWwuZGF0YSA9IGRlY29kZXIuZGVj
b2RlQXJyYXlQb2ludGVyKGNvZGVjLlVpbnQ4KTsKLSAgICByZXR1cm4gdmFsOwotICB9OwotCi0g
IFVzYkRldmljZV9Db250cm9sVHJhbnNmZXJJbl9SZXNwb25zZVBhcmFtcy5lbmNvZGUgPSBmdW5j
dGlvbihlbmNvZGVyLCB2YWwpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIGVuY29kZXIud3JpdGVV
aW50MzIoVXNiRGV2aWNlX0NvbnRyb2xUcmFuc2ZlckluX1Jlc3BvbnNlUGFyYW1zLmVuY29kZWRT
aXplKTsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKDApOwotICAgIGVuY29kZXIuZW5jb2RlU3Ry
dWN0KGNvZGVjLkludDMyLCB2YWwuc3RhdHVzKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAg
ZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAo
MSk7Ci0gICAgZW5jb2Rlci5lbmNvZGVBcnJheVBvaW50ZXIoY29kZWMuVWludDgsIHZhbC5kYXRh
KTsKLSAgfTsKLSAgZnVuY3Rpb24gVXNiRGV2aWNlX0NvbnRyb2xUcmFuc2Zlck91dF9QYXJhbXMo
dmFsdWVzKSB7Ci0gICAgdGhpcy5pbml0RGVmYXVsdHNfKCk7Ci0gICAgdGhpcy5pbml0RmllbGRz
Xyh2YWx1ZXMpOwotICB9Ci0KLQotICBVc2JEZXZpY2VfQ29udHJvbFRyYW5zZmVyT3V0X1BhcmFt
cy5wcm90b3R5cGUuaW5pdERlZmF1bHRzXyA9IGZ1bmN0aW9uKCkgewotICAgIHRoaXMucGFyYW1z
ID0gbnVsbDsKLSAgICB0aGlzLmRhdGEgPSBudWxsOwotICAgIHRoaXMudGltZW91dCA9IDA7Ci0g
IH07Ci0gIFVzYkRldmljZV9Db250cm9sVHJhbnNmZXJPdXRfUGFyYW1zLnByb3RvdHlwZS5pbml0
RmllbGRzXyA9IGZ1bmN0aW9uKGZpZWxkcykgewotICAgIGZvcih2YXIgZmllbGQgaW4gZmllbGRz
KSB7Ci0gICAgICAgIGlmICh0aGlzLmhhc093blByb3BlcnR5KGZpZWxkKSkKLSAgICAgICAgICB0
aGlzW2ZpZWxkXSA9IGZpZWxkc1tmaWVsZF07Ci0gICAgfQotICB9OwotCi0gIFVzYkRldmljZV9D
b250cm9sVHJhbnNmZXJPdXRfUGFyYW1zLnZhbGlkYXRlID0gZnVuY3Rpb24obWVzc2FnZVZhbGlk
YXRvciwgb2Zmc2V0KSB7Ci0gICAgdmFyIGVycjsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9y
LnZhbGlkYXRlU3RydWN0SGVhZGVyKG9mZnNldCwgY29kZWMua1N0cnVjdEhlYWRlclNpemUpOwot
ICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAg
cmV0dXJuIGVycjsKLQotICAgIHZhciBrVmVyc2lvblNpemVzID0gWwotICAgICAge3ZlcnNpb246
IDAsIG51bUJ5dGVzOiAzMn0KLSAgICBdOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFs
aWRhdGVTdHJ1Y3RWZXJzaW9uKG9mZnNldCwga1ZlcnNpb25TaXplcyk7Ci0gICAgaWYgKGVyciAh
PT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwot
Ci0KLSAgICAKLSAgICAvLyB2YWxpZGF0ZSBVc2JEZXZpY2VfQ29udHJvbFRyYW5zZmVyT3V0X1Bh
cmFtcy5wYXJhbXMKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0UG9p
bnRlcihvZmZzZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDAsIFVzYkNvbnRyb2xUcmFu
c2ZlclBhcmFtcywgZmFsc2UpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9u
RXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0gICAgCi0gICAgLy8gdmFsaWRh
dGUgVXNiRGV2aWNlX0NvbnRyb2xUcmFuc2Zlck91dF9QYXJhbXMuZGF0YQotICAgIGVyciA9IG1l
c3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVBcnJheVBvaW50ZXIob2Zmc2V0ICsgY29kZWMua1N0cnVj
dEhlYWRlclNpemUgKyA4LCAxLCBjb2RlYy5VaW50OCwgZmFsc2UsIFswXSwgMCk7Ci0gICAgaWYg
KGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4g
ZXJyOwotCi0KLSAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwotICB9
OwotCi0gIFVzYkRldmljZV9Db250cm9sVHJhbnNmZXJPdXRfUGFyYW1zLmVuY29kZWRTaXplID0g
Y29kZWMua1N0cnVjdEhlYWRlclNpemUgKyAyNDsKLQotICBVc2JEZXZpY2VfQ29udHJvbFRyYW5z
ZmVyT3V0X1BhcmFtcy5kZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgdmFyIHBhY2tl
ZDsKLSAgICB2YXIgdmFsID0gbmV3IFVzYkRldmljZV9Db250cm9sVHJhbnNmZXJPdXRfUGFyYW1z
KCk7Ci0gICAgdmFyIG51bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2
YXIgdmVyc2lvbiA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhbC5wYXJhbXMgPSBkZWNv
ZGVyLmRlY29kZVN0cnVjdFBvaW50ZXIoVXNiQ29udHJvbFRyYW5zZmVyUGFyYW1zKTsKLSAgICB2
YWwuZGF0YSA9IGRlY29kZXIuZGVjb2RlQXJyYXlQb2ludGVyKGNvZGVjLlVpbnQ4KTsKLSAgICB2
YWwudGltZW91dCA9IGRlY29kZXIuZGVjb2RlU3RydWN0KGNvZGVjLlVpbnQzMik7Ci0gICAgZGVj
b2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7
Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIHJldHVybiB2YWw7Ci0gIH07Ci0KLSAgVXNiRGV2
aWNlX0NvbnRyb2xUcmFuc2Zlck91dF9QYXJhbXMuZW5jb2RlID0gZnVuY3Rpb24oZW5jb2Rlciwg
dmFsKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKFVzYkRldmlj
ZV9Db250cm9sVHJhbnNmZXJPdXRfUGFyYW1zLmVuY29kZWRTaXplKTsKLSAgICBlbmNvZGVyLndy
aXRlVWludDMyKDApOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0UG9pbnRlcihVc2JDb250cm9s
VHJhbnNmZXJQYXJhbXMsIHZhbC5wYXJhbXMpOwotICAgIGVuY29kZXIuZW5jb2RlQXJyYXlQb2lu
dGVyKGNvZGVjLlVpbnQ4LCB2YWwuZGF0YSk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3QoY29k
ZWMuVWludDMyLCB2YWwudGltZW91dCk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29k
ZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwot
ICB9OwotICBmdW5jdGlvbiBVc2JEZXZpY2VfQ29udHJvbFRyYW5zZmVyT3V0X1Jlc3BvbnNlUGFy
YW1zKHZhbHVlcykgewotICAgIHRoaXMuaW5pdERlZmF1bHRzXygpOwotICAgIHRoaXMuaW5pdEZp
ZWxkc18odmFsdWVzKTsKLSAgfQotCi0KLSAgVXNiRGV2aWNlX0NvbnRyb2xUcmFuc2Zlck91dF9S
ZXNwb25zZVBhcmFtcy5wcm90b3R5cGUuaW5pdERlZmF1bHRzXyA9IGZ1bmN0aW9uKCkgewotICAg
IHRoaXMuc3RhdHVzID0gMDsKLSAgfTsKLSAgVXNiRGV2aWNlX0NvbnRyb2xUcmFuc2Zlck91dF9S
ZXNwb25zZVBhcmFtcy5wcm90b3R5cGUuaW5pdEZpZWxkc18gPSBmdW5jdGlvbihmaWVsZHMpIHsK
LSAgICBmb3IodmFyIGZpZWxkIGluIGZpZWxkcykgewotICAgICAgICBpZiAodGhpcy5oYXNPd25Q
cm9wZXJ0eShmaWVsZCkpCi0gICAgICAgICAgdGhpc1tmaWVsZF0gPSBmaWVsZHNbZmllbGRdOwot
ICAgIH0KLSAgfTsKLQotICBVc2JEZXZpY2VfQ29udHJvbFRyYW5zZmVyT3V0X1Jlc3BvbnNlUGFy
YW1zLnZhbGlkYXRlID0gZnVuY3Rpb24obWVzc2FnZVZhbGlkYXRvciwgb2Zmc2V0KSB7Ci0gICAg
dmFyIGVycjsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0SGVhZGVy
KG9mZnNldCwgY29kZWMua1N0cnVjdEhlYWRlclNpemUpOwotICAgIGlmIChlcnIgIT09IHZhbGlk
YXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHZh
ciBrVmVyc2lvblNpemVzID0gWwotICAgICAge3ZlcnNpb246IDAsIG51bUJ5dGVzOiAxNn0KLSAg
ICBdOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RWZXJzaW9uKG9m
ZnNldCwga1ZlcnNpb25TaXplcyk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRp
b25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0KLSAgICAKLSAgICAvLyB2YWxp
ZGF0ZSBVc2JEZXZpY2VfQ29udHJvbFRyYW5zZmVyT3V0X1Jlc3BvbnNlUGFyYW1zLnN0YXR1cwot
ICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVFbnVtKG9mZnNldCArIGNvZGVjLmtT
dHJ1Y3RIZWFkZXJTaXplICsgMCwgVXNiVHJhbnNmZXJTdGF0dXMpOwotICAgIGlmIChlcnIgIT09
IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQot
ICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gIH07Ci0KLSAgVXNi
RGV2aWNlX0NvbnRyb2xUcmFuc2Zlck91dF9SZXNwb25zZVBhcmFtcy5lbmNvZGVkU2l6ZSA9IGNv
ZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgODsKLQotICBVc2JEZXZpY2VfQ29udHJvbFRyYW5zZmVy
T3V0X1Jlc3BvbnNlUGFyYW1zLmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICB2YXIg
cGFja2VkOwotICAgIHZhciB2YWwgPSBuZXcgVXNiRGV2aWNlX0NvbnRyb2xUcmFuc2Zlck91dF9S
ZXNwb25zZVBhcmFtcygpOwotICAgIHZhciBudW1iZXJPZkJ5dGVzID0gZGVjb2Rlci5yZWFkVWlu
dDMyKCk7Ci0gICAgdmFyIHZlcnNpb24gPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YWwu
c3RhdHVzID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoY29kZWMuSW50MzIpOwotICAgIGRlY29kZXIu
c2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAg
IGRlY29kZXIuc2tpcCgxKTsKLSAgICByZXR1cm4gdmFsOwotICB9OwotCi0gIFVzYkRldmljZV9D
b250cm9sVHJhbnNmZXJPdXRfUmVzcG9uc2VQYXJhbXMuZW5jb2RlID0gZnVuY3Rpb24oZW5jb2Rl
ciwgdmFsKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKFVzYkRl
dmljZV9Db250cm9sVHJhbnNmZXJPdXRfUmVzcG9uc2VQYXJhbXMuZW5jb2RlZFNpemUpOwotICAg
IGVuY29kZXIud3JpdGVVaW50MzIoMCk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3QoY29kZWMu
SW50MzIsIHZhbC5zdGF0dXMpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNr
aXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgfTsK
LSAgZnVuY3Rpb24gVXNiRGV2aWNlX0dlbmVyaWNUcmFuc2ZlckluX1BhcmFtcyh2YWx1ZXMpIHsK
LSAgICB0aGlzLmluaXREZWZhdWx0c18oKTsKLSAgICB0aGlzLmluaXRGaWVsZHNfKHZhbHVlcyk7
Ci0gIH0KLQotCi0gIFVzYkRldmljZV9HZW5lcmljVHJhbnNmZXJJbl9QYXJhbXMucHJvdG90eXBl
LmluaXREZWZhdWx0c18gPSBmdW5jdGlvbigpIHsKLSAgICB0aGlzLmVuZHBvaW50TnVtYmVyID0g
MDsKLSAgICB0aGlzLmxlbmd0aCA9IDA7Ci0gICAgdGhpcy50aW1lb3V0ID0gMDsKLSAgfTsKLSAg
VXNiRGV2aWNlX0dlbmVyaWNUcmFuc2ZlckluX1BhcmFtcy5wcm90b3R5cGUuaW5pdEZpZWxkc18g
PSBmdW5jdGlvbihmaWVsZHMpIHsKLSAgICBmb3IodmFyIGZpZWxkIGluIGZpZWxkcykgewotICAg
ICAgICBpZiAodGhpcy5oYXNPd25Qcm9wZXJ0eShmaWVsZCkpCi0gICAgICAgICAgdGhpc1tmaWVs
ZF0gPSBmaWVsZHNbZmllbGRdOwotICAgIH0KLSAgfTsKLQotICBVc2JEZXZpY2VfR2VuZXJpY1Ry
YW5zZmVySW5fUGFyYW1zLnZhbGlkYXRlID0gZnVuY3Rpb24obWVzc2FnZVZhbGlkYXRvciwgb2Zm
c2V0KSB7Ci0gICAgdmFyIGVycjsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRl
U3RydWN0SGVhZGVyKG9mZnNldCwgY29kZWMua1N0cnVjdEhlYWRlclNpemUpOwotICAgIGlmIChl
cnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVy
cjsKLQotICAgIHZhciBrVmVyc2lvblNpemVzID0gWwotICAgICAge3ZlcnNpb246IDAsIG51bUJ5
dGVzOiAyNH0KLSAgICBdOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1
Y3RWZXJzaW9uKG9mZnNldCwga1ZlcnNpb25TaXplcyk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRh
dG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0KLQotCi0g
ICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQotICBVc2JE
ZXZpY2VfR2VuZXJpY1RyYW5zZmVySW5fUGFyYW1zLmVuY29kZWRTaXplID0gY29kZWMua1N0cnVj
dEhlYWRlclNpemUgKyAxNjsKLQotICBVc2JEZXZpY2VfR2VuZXJpY1RyYW5zZmVySW5fUGFyYW1z
LmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIHZhciB2
YWwgPSBuZXcgVXNiRGV2aWNlX0dlbmVyaWNUcmFuc2ZlckluX1BhcmFtcygpOwotICAgIHZhciBu
dW1iZXJPZkJ5dGVzID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFyIHZlcnNpb24gPSBk
ZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YWwuZW5kcG9pbnROdW1iZXIgPSBkZWNvZGVyLmRl
Y29kZVN0cnVjdChjb2RlYy5VaW50OCk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29k
ZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgdmFsLmxlbmd0aCA9IGRlY29k
ZXIuZGVjb2RlU3RydWN0KGNvZGVjLlVpbnQzMik7Ci0gICAgdmFsLnRpbWVvdXQgPSBkZWNvZGVy
LmRlY29kZVN0cnVjdChjb2RlYy5VaW50MzIpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBk
ZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgx
KTsKLSAgICByZXR1cm4gdmFsOwotICB9OwotCi0gIFVzYkRldmljZV9HZW5lcmljVHJhbnNmZXJJ
bl9QYXJhbXMuZW5jb2RlID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAgdmFyIHBhY2tl
ZDsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKFVzYkRldmljZV9HZW5lcmljVHJhbnNmZXJJbl9Q
YXJhbXMuZW5jb2RlZFNpemUpOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoMCk7Ci0gICAgZW5j
b2Rlci5lbmNvZGVTdHJ1Y3QoY29kZWMuVWludDgsIHZhbC5lbmRwb2ludE51bWJlcik7Ci0gICAg
ZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAo
MSk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3QoY29kZWMuVWludDMyLCB2YWwubGVuZ3RoKTsK
LSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdChjb2RlYy5VaW50MzIsIHZhbC50aW1lb3V0KTsKLSAg
ICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tp
cCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gIH07Ci0gIGZ1bmN0aW9uIFVzYkRldmljZV9H
ZW5lcmljVHJhbnNmZXJJbl9SZXNwb25zZVBhcmFtcyh2YWx1ZXMpIHsKLSAgICB0aGlzLmluaXRE
ZWZhdWx0c18oKTsKLSAgICB0aGlzLmluaXRGaWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0gIFVz
YkRldmljZV9HZW5lcmljVHJhbnNmZXJJbl9SZXNwb25zZVBhcmFtcy5wcm90b3R5cGUuaW5pdERl
ZmF1bHRzXyA9IGZ1bmN0aW9uKCkgewotICAgIHRoaXMuc3RhdHVzID0gMDsKLSAgICB0aGlzLmRh
dGEgPSBudWxsOwotICB9OwotICBVc2JEZXZpY2VfR2VuZXJpY1RyYW5zZmVySW5fUmVzcG9uc2VQ
YXJhbXMucHJvdG90eXBlLmluaXRGaWVsZHNfID0gZnVuY3Rpb24oZmllbGRzKSB7Ci0gICAgZm9y
KHZhciBmaWVsZCBpbiBmaWVsZHMpIHsKLSAgICAgICAgaWYgKHRoaXMuaGFzT3duUHJvcGVydHko
ZmllbGQpKQotICAgICAgICAgIHRoaXNbZmllbGRdID0gZmllbGRzW2ZpZWxkXTsKLSAgICB9Ci0g
IH07Ci0KLSAgVXNiRGV2aWNlX0dlbmVyaWNUcmFuc2ZlckluX1Jlc3BvbnNlUGFyYW1zLnZhbGlk
YXRlID0gZnVuY3Rpb24obWVzc2FnZVZhbGlkYXRvciwgb2Zmc2V0KSB7Ci0gICAgdmFyIGVycjsK
LSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0SGVhZGVyKG9mZnNldCwg
Y29kZWMua1N0cnVjdEhlYWRlclNpemUpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxp
ZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHZhciBrVmVyc2lv
blNpemVzID0gWwotICAgICAge3ZlcnNpb246IDAsIG51bUJ5dGVzOiAyNH0KLSAgICBdOwotICAg
IGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RWZXJzaW9uKG9mZnNldCwga1Zl
cnNpb25TaXplcyk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5O
T05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0KLSAgICAKLSAgICAvLyB2YWxpZGF0ZSBVc2JE
ZXZpY2VfR2VuZXJpY1RyYW5zZmVySW5fUmVzcG9uc2VQYXJhbXMuc3RhdHVzCi0gICAgZXJyID0g
bWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZUVudW0ob2Zmc2V0ICsgY29kZWMua1N0cnVjdEhlYWRl
clNpemUgKyAwLCBVc2JUcmFuc2ZlclN0YXR1cyk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9y
LnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0KLSAgICAKLSAg
ICAvLyB2YWxpZGF0ZSBVc2JEZXZpY2VfR2VuZXJpY1RyYW5zZmVySW5fUmVzcG9uc2VQYXJhbXMu
ZGF0YQotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVBcnJheVBvaW50ZXIob2Zm
c2V0ICsgY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyA4LCAxLCBjb2RlYy5VaW50OCwgdHJ1ZSwg
WzBdLCAwKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUp
Ci0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25F
cnJvci5OT05FOwotICB9OwotCi0gIFVzYkRldmljZV9HZW5lcmljVHJhbnNmZXJJbl9SZXNwb25z
ZVBhcmFtcy5lbmNvZGVkU2l6ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgMTY7Ci0KLSAg
VXNiRGV2aWNlX0dlbmVyaWNUcmFuc2ZlckluX1Jlc3BvbnNlUGFyYW1zLmRlY29kZSA9IGZ1bmN0
aW9uKGRlY29kZXIpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIHZhciB2YWwgPSBuZXcgVXNiRGV2
aWNlX0dlbmVyaWNUcmFuc2ZlckluX1Jlc3BvbnNlUGFyYW1zKCk7Ci0gICAgdmFyIG51bWJlck9m
Qnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YXIgdmVyc2lvbiA9IGRlY29kZXIu
cmVhZFVpbnQzMigpOwotICAgIHZhbC5zdGF0dXMgPSBkZWNvZGVyLmRlY29kZVN0cnVjdChjb2Rl
Yy5JbnQzMik7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAg
ICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIHZhbC5kYXRhID0g
ZGVjb2Rlci5kZWNvZGVBcnJheVBvaW50ZXIoY29kZWMuVWludDgpOwotICAgIHJldHVybiB2YWw7
Ci0gIH07Ci0KLSAgVXNiRGV2aWNlX0dlbmVyaWNUcmFuc2ZlckluX1Jlc3BvbnNlUGFyYW1zLmVu
Y29kZSA9IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgZW5j
b2Rlci53cml0ZVVpbnQzMihVc2JEZXZpY2VfR2VuZXJpY1RyYW5zZmVySW5fUmVzcG9uc2VQYXJh
bXMuZW5jb2RlZFNpemUpOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoMCk7Ci0gICAgZW5jb2Rl
ci5lbmNvZGVTdHJ1Y3QoY29kZWMuSW50MzIsIHZhbC5zdGF0dXMpOwotICAgIGVuY29kZXIuc2tp
cCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVu
Y29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLmVuY29kZUFycmF5UG9pbnRlcihjb2RlYy5VaW50
OCwgdmFsLmRhdGEpOwotICB9OwotICBmdW5jdGlvbiBVc2JEZXZpY2VfR2VuZXJpY1RyYW5zZmVy
T3V0X1BhcmFtcyh2YWx1ZXMpIHsKLSAgICB0aGlzLmluaXREZWZhdWx0c18oKTsKLSAgICB0aGlz
LmluaXRGaWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0gIFVzYkRldmljZV9HZW5lcmljVHJhbnNm
ZXJPdXRfUGFyYW1zLnByb3RvdHlwZS5pbml0RGVmYXVsdHNfID0gZnVuY3Rpb24oKSB7Ci0gICAg
dGhpcy5lbmRwb2ludE51bWJlciA9IDA7Ci0gICAgdGhpcy50aW1lb3V0ID0gMDsKLSAgICB0aGlz
LmRhdGEgPSBudWxsOwotICB9OwotICBVc2JEZXZpY2VfR2VuZXJpY1RyYW5zZmVyT3V0X1BhcmFt
cy5wcm90b3R5cGUuaW5pdEZpZWxkc18gPSBmdW5jdGlvbihmaWVsZHMpIHsKLSAgICBmb3IodmFy
IGZpZWxkIGluIGZpZWxkcykgewotICAgICAgICBpZiAodGhpcy5oYXNPd25Qcm9wZXJ0eShmaWVs
ZCkpCi0gICAgICAgICAgdGhpc1tmaWVsZF0gPSBmaWVsZHNbZmllbGRdOwotICAgIH0KLSAgfTsK
LQotICBVc2JEZXZpY2VfR2VuZXJpY1RyYW5zZmVyT3V0X1BhcmFtcy52YWxpZGF0ZSA9IGZ1bmN0
aW9uKG1lc3NhZ2VWYWxpZGF0b3IsIG9mZnNldCkgewotICAgIHZhciBlcnI7Ci0gICAgZXJyID0g
bWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdEhlYWRlcihvZmZzZXQsIGNvZGVjLmtTdHJ1
Y3RIZWFkZXJTaXplKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9y
Lk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICB2YXIga1ZlcnNpb25TaXplcyA9IFsK
LSAgICAgIHt2ZXJzaW9uOiAwLCBudW1CeXRlczogMjR9Ci0gICAgXTsKLSAgICBlcnIgPSBtZXNz
YWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0VmVyc2lvbihvZmZzZXQsIGtWZXJzaW9uU2l6ZXMp
OwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAg
ICAgcmV0dXJuIGVycjsKLQotCi0KLSAgICAKLSAgICAvLyB2YWxpZGF0ZSBVc2JEZXZpY2VfR2Vu
ZXJpY1RyYW5zZmVyT3V0X1BhcmFtcy5kYXRhCi0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52
YWxpZGF0ZUFycmF5UG9pbnRlcihvZmZzZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDgs
IDEsIGNvZGVjLlVpbnQ4LCBmYWxzZSwgWzBdLCAwKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0
b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotICAgIHJl
dHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gIH07Ci0KLSAgVXNiRGV2aWNl
X0dlbmVyaWNUcmFuc2Zlck91dF9QYXJhbXMuZW5jb2RlZFNpemUgPSBjb2RlYy5rU3RydWN0SGVh
ZGVyU2l6ZSArIDE2OwotCi0gIFVzYkRldmljZV9HZW5lcmljVHJhbnNmZXJPdXRfUGFyYW1zLmRl
Y29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIHZhciB2YWwg
PSBuZXcgVXNiRGV2aWNlX0dlbmVyaWNUcmFuc2Zlck91dF9QYXJhbXMoKTsKLSAgICB2YXIgbnVt
YmVyT2ZCeXRlcyA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhciB2ZXJzaW9uID0gZGVj
b2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFsLmVuZHBvaW50TnVtYmVyID0gZGVjb2Rlci5kZWNv
ZGVTdHJ1Y3QoY29kZWMuVWludDgpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVy
LnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIHZhbC50aW1lb3V0ID0gZGVjb2Rl
ci5kZWNvZGVTdHJ1Y3QoY29kZWMuVWludDMyKTsKLSAgICB2YWwuZGF0YSA9IGRlY29kZXIuZGVj
b2RlQXJyYXlQb2ludGVyKGNvZGVjLlVpbnQ4KTsKLSAgICByZXR1cm4gdmFsOwotICB9OwotCi0g
IFVzYkRldmljZV9HZW5lcmljVHJhbnNmZXJPdXRfUGFyYW1zLmVuY29kZSA9IGZ1bmN0aW9uKGVu
Y29kZXIsIHZhbCkgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMihV
c2JEZXZpY2VfR2VuZXJpY1RyYW5zZmVyT3V0X1BhcmFtcy5lbmNvZGVkU2l6ZSk7Ci0gICAgZW5j
b2Rlci53cml0ZVVpbnQzMigwKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdChjb2RlYy5VaW50
OCwgdmFsLmVuZHBvaW50TnVtYmVyKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rl
ci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVj
dChjb2RlYy5VaW50MzIsIHZhbC50aW1lb3V0KTsKLSAgICBlbmNvZGVyLmVuY29kZUFycmF5UG9p
bnRlcihjb2RlYy5VaW50OCwgdmFsLmRhdGEpOwotICB9OwotICBmdW5jdGlvbiBVc2JEZXZpY2Vf
R2VuZXJpY1RyYW5zZmVyT3V0X1Jlc3BvbnNlUGFyYW1zKHZhbHVlcykgewotICAgIHRoaXMuaW5p
dERlZmF1bHRzXygpOwotICAgIHRoaXMuaW5pdEZpZWxkc18odmFsdWVzKTsKLSAgfQotCi0KLSAg
VXNiRGV2aWNlX0dlbmVyaWNUcmFuc2Zlck91dF9SZXNwb25zZVBhcmFtcy5wcm90b3R5cGUuaW5p
dERlZmF1bHRzXyA9IGZ1bmN0aW9uKCkgewotICAgIHRoaXMuc3RhdHVzID0gMDsKLSAgfTsKLSAg
VXNiRGV2aWNlX0dlbmVyaWNUcmFuc2Zlck91dF9SZXNwb25zZVBhcmFtcy5wcm90b3R5cGUuaW5p
dEZpZWxkc18gPSBmdW5jdGlvbihmaWVsZHMpIHsKLSAgICBmb3IodmFyIGZpZWxkIGluIGZpZWxk
cykgewotICAgICAgICBpZiAodGhpcy5oYXNPd25Qcm9wZXJ0eShmaWVsZCkpCi0gICAgICAgICAg
dGhpc1tmaWVsZF0gPSBmaWVsZHNbZmllbGRdOwotICAgIH0KLSAgfTsKLQotICBVc2JEZXZpY2Vf
R2VuZXJpY1RyYW5zZmVyT3V0X1Jlc3BvbnNlUGFyYW1zLnZhbGlkYXRlID0gZnVuY3Rpb24obWVz
c2FnZVZhbGlkYXRvciwgb2Zmc2V0KSB7Ci0gICAgdmFyIGVycjsKLSAgICBlcnIgPSBtZXNzYWdl
VmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0SGVhZGVyKG9mZnNldCwgY29kZWMua1N0cnVjdEhlYWRl
clNpemUpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkK
LSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHZhciBrVmVyc2lvblNpemVzID0gWwotICAgICAg
e3ZlcnNpb246IDAsIG51bUJ5dGVzOiAxNn0KLSAgICBdOwotICAgIGVyciA9IG1lc3NhZ2VWYWxp
ZGF0b3IudmFsaWRhdGVTdHJ1Y3RWZXJzaW9uKG9mZnNldCwga1ZlcnNpb25TaXplcyk7Ci0gICAg
aWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1
cm4gZXJyOwotCi0KLSAgICAKLSAgICAvLyB2YWxpZGF0ZSBVc2JEZXZpY2VfR2VuZXJpY1RyYW5z
ZmVyT3V0X1Jlc3BvbnNlUGFyYW1zLnN0YXR1cwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3Iu
dmFsaWRhdGVFbnVtKG9mZnNldCArIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgMCwgVXNiVHJh
bnNmZXJTdGF0dXMpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3Iu
Tk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRh
dGlvbkVycm9yLk5PTkU7Ci0gIH07Ci0KLSAgVXNiRGV2aWNlX0dlbmVyaWNUcmFuc2Zlck91dF9S
ZXNwb25zZVBhcmFtcy5lbmNvZGVkU2l6ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgODsK
LQotICBVc2JEZXZpY2VfR2VuZXJpY1RyYW5zZmVyT3V0X1Jlc3BvbnNlUGFyYW1zLmRlY29kZSA9
IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIHZhciB2YWwgPSBuZXcg
VXNiRGV2aWNlX0dlbmVyaWNUcmFuc2Zlck91dF9SZXNwb25zZVBhcmFtcygpOwotICAgIHZhciBu
dW1iZXJPZkJ5dGVzID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFyIHZlcnNpb24gPSBk
ZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YWwuc3RhdHVzID0gZGVjb2Rlci5kZWNvZGVTdHJ1
Y3QoY29kZWMuSW50MzIpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAo
MSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICByZXR1
cm4gdmFsOwotICB9OwotCi0gIFVzYkRldmljZV9HZW5lcmljVHJhbnNmZXJPdXRfUmVzcG9uc2VQ
YXJhbXMuZW5jb2RlID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAgdmFyIHBhY2tlZDsK
LSAgICBlbmNvZGVyLndyaXRlVWludDMyKFVzYkRldmljZV9HZW5lcmljVHJhbnNmZXJPdXRfUmVz
cG9uc2VQYXJhbXMuZW5jb2RlZFNpemUpOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoMCk7Ci0g
ICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3QoY29kZWMuSW50MzIsIHZhbC5zdGF0dXMpOwotICAgIGVu
Y29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEp
OwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgfTsKLSAgZnVuY3Rpb24gVXNiRGV2aWNlX0lzb2No
cm9ub3VzVHJhbnNmZXJJbl9QYXJhbXModmFsdWVzKSB7Ci0gICAgdGhpcy5pbml0RGVmYXVsdHNf
KCk7Ci0gICAgdGhpcy5pbml0RmllbGRzXyh2YWx1ZXMpOwotICB9Ci0KLQotICBVc2JEZXZpY2Vf
SXNvY2hyb25vdXNUcmFuc2ZlckluX1BhcmFtcy5wcm90b3R5cGUuaW5pdERlZmF1bHRzXyA9IGZ1
bmN0aW9uKCkgewotICAgIHRoaXMuZW5kcG9pbnROdW1iZXIgPSAwOwotICAgIHRoaXMudGltZW91
dCA9IDA7Ci0gICAgdGhpcy5wYWNrZXRMZW5ndGhzID0gbnVsbDsKLSAgfTsKLSAgVXNiRGV2aWNl
X0lzb2Nocm9ub3VzVHJhbnNmZXJJbl9QYXJhbXMucHJvdG90eXBlLmluaXRGaWVsZHNfID0gZnVu
Y3Rpb24oZmllbGRzKSB7Ci0gICAgZm9yKHZhciBmaWVsZCBpbiBmaWVsZHMpIHsKLSAgICAgICAg
aWYgKHRoaXMuaGFzT3duUHJvcGVydHkoZmllbGQpKQotICAgICAgICAgIHRoaXNbZmllbGRdID0g
ZmllbGRzW2ZpZWxkXTsKLSAgICB9Ci0gIH07Ci0KLSAgVXNiRGV2aWNlX0lzb2Nocm9ub3VzVHJh
bnNmZXJJbl9QYXJhbXMudmFsaWRhdGUgPSBmdW5jdGlvbihtZXNzYWdlVmFsaWRhdG9yLCBvZmZz
ZXQpIHsKLSAgICB2YXIgZXJyOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVT
dHJ1Y3RIZWFkZXIob2Zmc2V0LCBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVy
ciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJy
OwotCi0gICAgdmFyIGtWZXJzaW9uU2l6ZXMgPSBbCi0gICAgICB7dmVyc2lvbjogMCwgbnVtQnl0
ZXM6IDI0fQotICAgIF07Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVj
dFZlcnNpb24ob2Zmc2V0LCBrVmVyc2lvblNpemVzKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0
b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotCi0gICAg
Ci0gICAgLy8gdmFsaWRhdGUgVXNiRGV2aWNlX0lzb2Nocm9ub3VzVHJhbnNmZXJJbl9QYXJhbXMu
cGFja2V0TGVuZ3RocwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVBcnJheVBv
aW50ZXIob2Zmc2V0ICsgY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyA4LCA0LCBjb2RlYy5VaW50
MzIsIGZhbHNlLCBbMF0sIDApOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9u
RXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0gICAgcmV0dXJuIHZhbGlkYXRv
ci52YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQotICBVc2JEZXZpY2VfSXNvY2hyb25vdXNU
cmFuc2ZlckluX1BhcmFtcy5lbmNvZGVkU2l6ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsg
MTY7Ci0KLSAgVXNiRGV2aWNlX0lzb2Nocm9ub3VzVHJhbnNmZXJJbl9QYXJhbXMuZGVjb2RlID0g
ZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgdmFyIHZhbCA9IG5ldyBV
c2JEZXZpY2VfSXNvY2hyb25vdXNUcmFuc2ZlckluX1BhcmFtcygpOwotICAgIHZhciBudW1iZXJP
ZkJ5dGVzID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFyIHZlcnNpb24gPSBkZWNvZGVy
LnJlYWRVaW50MzIoKTsKLSAgICB2YWwuZW5kcG9pbnROdW1iZXIgPSBkZWNvZGVyLmRlY29kZVN0
cnVjdChjb2RlYy5VaW50OCk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tp
cCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgdmFsLnRpbWVvdXQgPSBkZWNvZGVyLmRl
Y29kZVN0cnVjdChjb2RlYy5VaW50MzIpOwotICAgIHZhbC5wYWNrZXRMZW5ndGhzID0gZGVjb2Rl
ci5kZWNvZGVBcnJheVBvaW50ZXIoY29kZWMuVWludDMyKTsKLSAgICByZXR1cm4gdmFsOwotICB9
OwotCi0gIFVzYkRldmljZV9Jc29jaHJvbm91c1RyYW5zZmVySW5fUGFyYW1zLmVuY29kZSA9IGZ1
bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgZW5jb2Rlci53cml0
ZVVpbnQzMihVc2JEZXZpY2VfSXNvY2hyb25vdXNUcmFuc2ZlckluX1BhcmFtcy5lbmNvZGVkU2l6
ZSk7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMigwKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVj
dChjb2RlYy5VaW50OCwgdmFsLmVuZHBvaW50TnVtYmVyKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7
Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVy
LmVuY29kZVN0cnVjdChjb2RlYy5VaW50MzIsIHZhbC50aW1lb3V0KTsKLSAgICBlbmNvZGVyLmVu
Y29kZUFycmF5UG9pbnRlcihjb2RlYy5VaW50MzIsIHZhbC5wYWNrZXRMZW5ndGhzKTsKLSAgfTsK
LSAgZnVuY3Rpb24gVXNiRGV2aWNlX0lzb2Nocm9ub3VzVHJhbnNmZXJJbl9SZXNwb25zZVBhcmFt
cyh2YWx1ZXMpIHsKLSAgICB0aGlzLmluaXREZWZhdWx0c18oKTsKLSAgICB0aGlzLmluaXRGaWVs
ZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0gIFVzYkRldmljZV9Jc29jaHJvbm91c1RyYW5zZmVySW5f
UmVzcG9uc2VQYXJhbXMucHJvdG90eXBlLmluaXREZWZhdWx0c18gPSBmdW5jdGlvbigpIHsKLSAg
ICB0aGlzLmRhdGEgPSBudWxsOwotICAgIHRoaXMucGFja2V0cyA9IG51bGw7Ci0gIH07Ci0gIFVz
YkRldmljZV9Jc29jaHJvbm91c1RyYW5zZmVySW5fUmVzcG9uc2VQYXJhbXMucHJvdG90eXBlLmlu
aXRGaWVsZHNfID0gZnVuY3Rpb24oZmllbGRzKSB7Ci0gICAgZm9yKHZhciBmaWVsZCBpbiBmaWVs
ZHMpIHsKLSAgICAgICAgaWYgKHRoaXMuaGFzT3duUHJvcGVydHkoZmllbGQpKQotICAgICAgICAg
IHRoaXNbZmllbGRdID0gZmllbGRzW2ZpZWxkXTsKLSAgICB9Ci0gIH07Ci0KLSAgVXNiRGV2aWNl
X0lzb2Nocm9ub3VzVHJhbnNmZXJJbl9SZXNwb25zZVBhcmFtcy52YWxpZGF0ZSA9IGZ1bmN0aW9u
KG1lc3NhZ2VWYWxpZGF0b3IsIG9mZnNldCkgewotICAgIHZhciBlcnI7Ci0gICAgZXJyID0gbWVz
c2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdEhlYWRlcihvZmZzZXQsIGNvZGVjLmtTdHJ1Y3RI
ZWFkZXJTaXplKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5P
TkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICB2YXIga1ZlcnNpb25TaXplcyA9IFsKLSAg
ICAgIHt2ZXJzaW9uOiAwLCBudW1CeXRlczogMjR9Ci0gICAgXTsKLSAgICBlcnIgPSBtZXNzYWdl
VmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0VmVyc2lvbihvZmZzZXQsIGtWZXJzaW9uU2l6ZXMpOwot
ICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAg
cmV0dXJuIGVycjsKLQotCi0gICAgCi0gICAgLy8gdmFsaWRhdGUgVXNiRGV2aWNlX0lzb2Nocm9u
b3VzVHJhbnNmZXJJbl9SZXNwb25zZVBhcmFtcy5kYXRhCi0gICAgZXJyID0gbWVzc2FnZVZhbGlk
YXRvci52YWxpZGF0ZUFycmF5UG9pbnRlcihvZmZzZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVyU2l6
ZSArIDAsIDEsIGNvZGVjLlVpbnQ4LCB0cnVlLCBbMF0sIDApOwotICAgIGlmIChlcnIgIT09IHZh
bGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0g
ICAgCi0gICAgLy8gdmFsaWRhdGUgVXNiRGV2aWNlX0lzb2Nocm9ub3VzVHJhbnNmZXJJbl9SZXNw
b25zZVBhcmFtcy5wYWNrZXRzCi0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZUFy
cmF5UG9pbnRlcihvZmZzZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDgsIDgsIG5ldyBj
b2RlYy5Qb2ludGVyVG8oVXNiSXNvY2hyb25vdXNQYWNrZXQpLCBmYWxzZSwgWzBdLCAwKTsKLSAg
ICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJl
dHVybiBlcnI7Ci0KLSAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwot
ICB9OwotCi0gIFVzYkRldmljZV9Jc29jaHJvbm91c1RyYW5zZmVySW5fUmVzcG9uc2VQYXJhbXMu
ZW5jb2RlZFNpemUgPSBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDE2OwotCi0gIFVzYkRldmlj
ZV9Jc29jaHJvbm91c1RyYW5zZmVySW5fUmVzcG9uc2VQYXJhbXMuZGVjb2RlID0gZnVuY3Rpb24o
ZGVjb2RlcikgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgdmFyIHZhbCA9IG5ldyBVc2JEZXZpY2Vf
SXNvY2hyb25vdXNUcmFuc2ZlckluX1Jlc3BvbnNlUGFyYW1zKCk7Ci0gICAgdmFyIG51bWJlck9m
Qnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YXIgdmVyc2lvbiA9IGRlY29kZXIu
cmVhZFVpbnQzMigpOwotICAgIHZhbC5kYXRhID0gZGVjb2Rlci5kZWNvZGVBcnJheVBvaW50ZXIo
Y29kZWMuVWludDgpOwotICAgIHZhbC5wYWNrZXRzID0gZGVjb2Rlci5kZWNvZGVBcnJheVBvaW50
ZXIobmV3IGNvZGVjLlBvaW50ZXJUbyhVc2JJc29jaHJvbm91c1BhY2tldCkpOwotICAgIHJldHVy
biB2YWw7Ci0gIH07Ci0KLSAgVXNiRGV2aWNlX0lzb2Nocm9ub3VzVHJhbnNmZXJJbl9SZXNwb25z
ZVBhcmFtcy5lbmNvZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2YWwpIHsKLSAgICB2YXIgcGFja2Vk
OwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoVXNiRGV2aWNlX0lzb2Nocm9ub3VzVHJhbnNmZXJJ
bl9SZXNwb25zZVBhcmFtcy5lbmNvZGVkU2l6ZSk7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMigw
KTsKLSAgICBlbmNvZGVyLmVuY29kZUFycmF5UG9pbnRlcihjb2RlYy5VaW50OCwgdmFsLmRhdGEp
OwotICAgIGVuY29kZXIuZW5jb2RlQXJyYXlQb2ludGVyKG5ldyBjb2RlYy5Qb2ludGVyVG8oVXNi
SXNvY2hyb25vdXNQYWNrZXQpLCB2YWwucGFja2V0cyk7Ci0gIH07Ci0gIGZ1bmN0aW9uIFVzYkRl
dmljZV9Jc29jaHJvbm91c1RyYW5zZmVyT3V0X1BhcmFtcyh2YWx1ZXMpIHsKLSAgICB0aGlzLmlu
aXREZWZhdWx0c18oKTsKLSAgICB0aGlzLmluaXRGaWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0g
IFVzYkRldmljZV9Jc29jaHJvbm91c1RyYW5zZmVyT3V0X1BhcmFtcy5wcm90b3R5cGUuaW5pdERl
ZmF1bHRzXyA9IGZ1bmN0aW9uKCkgewotICAgIHRoaXMuZW5kcG9pbnROdW1iZXIgPSAwOwotICAg
IHRoaXMudGltZW91dCA9IDA7Ci0gICAgdGhpcy5kYXRhID0gbnVsbDsKLSAgICB0aGlzLnBhY2tl
dExlbmd0aHMgPSBudWxsOwotICB9OwotICBVc2JEZXZpY2VfSXNvY2hyb25vdXNUcmFuc2Zlck91
dF9QYXJhbXMucHJvdG90eXBlLmluaXRGaWVsZHNfID0gZnVuY3Rpb24oZmllbGRzKSB7Ci0gICAg
Zm9yKHZhciBmaWVsZCBpbiBmaWVsZHMpIHsKLSAgICAgICAgaWYgKHRoaXMuaGFzT3duUHJvcGVy
dHkoZmllbGQpKQotICAgICAgICAgIHRoaXNbZmllbGRdID0gZmllbGRzW2ZpZWxkXTsKLSAgICB9
Ci0gIH07Ci0KLSAgVXNiRGV2aWNlX0lzb2Nocm9ub3VzVHJhbnNmZXJPdXRfUGFyYW1zLnZhbGlk
YXRlID0gZnVuY3Rpb24obWVzc2FnZVZhbGlkYXRvciwgb2Zmc2V0KSB7Ci0gICAgdmFyIGVycjsK
LSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0SGVhZGVyKG9mZnNldCwg
Y29kZWMua1N0cnVjdEhlYWRlclNpemUpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxp
ZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHZhciBrVmVyc2lv
blNpemVzID0gWwotICAgICAge3ZlcnNpb246IDAsIG51bUJ5dGVzOiAzMn0KLSAgICBdOwotICAg
IGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RWZXJzaW9uKG9mZnNldCwga1Zl
cnNpb25TaXplcyk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5O
T05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0KLQotICAgIAotICAgIC8vIHZhbGlkYXRlIFVz
YkRldmljZV9Jc29jaHJvbm91c1RyYW5zZmVyT3V0X1BhcmFtcy5kYXRhCi0gICAgZXJyID0gbWVz
c2FnZVZhbGlkYXRvci52YWxpZGF0ZUFycmF5UG9pbnRlcihvZmZzZXQgKyBjb2RlYy5rU3RydWN0
SGVhZGVyU2l6ZSArIDgsIDEsIGNvZGVjLlVpbnQ4LCBmYWxzZSwgWzBdLCAwKTsKLSAgICBpZiAo
ZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBl
cnI7Ci0KLQotICAgIAotICAgIC8vIHZhbGlkYXRlIFVzYkRldmljZV9Jc29jaHJvbm91c1RyYW5z
ZmVyT3V0X1BhcmFtcy5wYWNrZXRMZW5ndGhzCi0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52
YWxpZGF0ZUFycmF5UG9pbnRlcihvZmZzZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDE2
LCA0LCBjb2RlYy5VaW50MzIsIGZhbHNlLCBbMF0sIDApOwotICAgIGlmIChlcnIgIT09IHZhbGlk
YXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0gICAg
cmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQotICBVc2JEZXZp
Y2VfSXNvY2hyb25vdXNUcmFuc2Zlck91dF9QYXJhbXMuZW5jb2RlZFNpemUgPSBjb2RlYy5rU3Ry
dWN0SGVhZGVyU2l6ZSArIDI0OwotCi0gIFVzYkRldmljZV9Jc29jaHJvbm91c1RyYW5zZmVyT3V0
X1BhcmFtcy5kZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAg
ICB2YXIgdmFsID0gbmV3IFVzYkRldmljZV9Jc29jaHJvbm91c1RyYW5zZmVyT3V0X1BhcmFtcygp
OwotICAgIHZhciBudW1iZXJPZkJ5dGVzID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFy
IHZlcnNpb24gPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YWwuZW5kcG9pbnROdW1iZXIg
PSBkZWNvZGVyLmRlY29kZVN0cnVjdChjb2RlYy5VaW50OCk7Ci0gICAgZGVjb2Rlci5za2lwKDEp
OwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgdmFsLnRp
bWVvdXQgPSBkZWNvZGVyLmRlY29kZVN0cnVjdChjb2RlYy5VaW50MzIpOwotICAgIHZhbC5kYXRh
ID0gZGVjb2Rlci5kZWNvZGVBcnJheVBvaW50ZXIoY29kZWMuVWludDgpOwotICAgIHZhbC5wYWNr
ZXRMZW5ndGhzID0gZGVjb2Rlci5kZWNvZGVBcnJheVBvaW50ZXIoY29kZWMuVWludDMyKTsKLSAg
ICByZXR1cm4gdmFsOwotICB9OwotCi0gIFVzYkRldmljZV9Jc29jaHJvbm91c1RyYW5zZmVyT3V0
X1BhcmFtcy5lbmNvZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2YWwpIHsKLSAgICB2YXIgcGFja2Vk
OwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoVXNiRGV2aWNlX0lzb2Nocm9ub3VzVHJhbnNmZXJP
dXRfUGFyYW1zLmVuY29kZWRTaXplKTsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKDApOwotICAg
IGVuY29kZXIuZW5jb2RlU3RydWN0KGNvZGVjLlVpbnQ4LCB2YWwuZW5kcG9pbnROdW1iZXIpOwot
ICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5z
a2lwKDEpOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNvZGVjLlVpbnQzMiwgdmFsLnRpbWVv
dXQpOwotICAgIGVuY29kZXIuZW5jb2RlQXJyYXlQb2ludGVyKGNvZGVjLlVpbnQ4LCB2YWwuZGF0
YSk7Ci0gICAgZW5jb2Rlci5lbmNvZGVBcnJheVBvaW50ZXIoY29kZWMuVWludDMyLCB2YWwucGFj
a2V0TGVuZ3Rocyk7Ci0gIH07Ci0gIGZ1bmN0aW9uIFVzYkRldmljZV9Jc29jaHJvbm91c1RyYW5z
ZmVyT3V0X1Jlc3BvbnNlUGFyYW1zKHZhbHVlcykgewotICAgIHRoaXMuaW5pdERlZmF1bHRzXygp
OwotICAgIHRoaXMuaW5pdEZpZWxkc18odmFsdWVzKTsKLSAgfQotCi0KLSAgVXNiRGV2aWNlX0lz
b2Nocm9ub3VzVHJhbnNmZXJPdXRfUmVzcG9uc2VQYXJhbXMucHJvdG90eXBlLmluaXREZWZhdWx0
c18gPSBmdW5jdGlvbigpIHsKLSAgICB0aGlzLnBhY2tldHMgPSBudWxsOwotICB9OwotICBVc2JE
ZXZpY2VfSXNvY2hyb25vdXNUcmFuc2Zlck91dF9SZXNwb25zZVBhcmFtcy5wcm90b3R5cGUuaW5p
dEZpZWxkc18gPSBmdW5jdGlvbihmaWVsZHMpIHsKLSAgICBmb3IodmFyIGZpZWxkIGluIGZpZWxk
cykgewotICAgICAgICBpZiAodGhpcy5oYXNPd25Qcm9wZXJ0eShmaWVsZCkpCi0gICAgICAgICAg
dGhpc1tmaWVsZF0gPSBmaWVsZHNbZmllbGRdOwotICAgIH0KLSAgfTsKLQotICBVc2JEZXZpY2Vf
SXNvY2hyb25vdXNUcmFuc2Zlck91dF9SZXNwb25zZVBhcmFtcy52YWxpZGF0ZSA9IGZ1bmN0aW9u
KG1lc3NhZ2VWYWxpZGF0b3IsIG9mZnNldCkgewotICAgIHZhciBlcnI7Ci0gICAgZXJyID0gbWVz
c2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdEhlYWRlcihvZmZzZXQsIGNvZGVjLmtTdHJ1Y3RI
ZWFkZXJTaXplKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5P
TkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICB2YXIga1ZlcnNpb25TaXplcyA9IFsKLSAg
ICAgIHt2ZXJzaW9uOiAwLCBudW1CeXRlczogMTZ9Ci0gICAgXTsKLSAgICBlcnIgPSBtZXNzYWdl
VmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0VmVyc2lvbihvZmZzZXQsIGtWZXJzaW9uU2l6ZXMpOwot
ICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAg
cmV0dXJuIGVycjsKLQotCi0gICAgCi0gICAgLy8gdmFsaWRhdGUgVXNiRGV2aWNlX0lzb2Nocm9u
b3VzVHJhbnNmZXJPdXRfUmVzcG9uc2VQYXJhbXMucGFja2V0cwotICAgIGVyciA9IG1lc3NhZ2VW
YWxpZGF0b3IudmFsaWRhdGVBcnJheVBvaW50ZXIob2Zmc2V0ICsgY29kZWMua1N0cnVjdEhlYWRl
clNpemUgKyAwLCA4LCBuZXcgY29kZWMuUG9pbnRlclRvKFVzYklzb2Nocm9ub3VzUGFja2V0KSwg
ZmFsc2UsIFswXSwgMCk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJv
ci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgcmV0dXJuIHZhbGlkYXRvci52YWxp
ZGF0aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQotICBVc2JEZXZpY2VfSXNvY2hyb25vdXNUcmFuc2Zl
ck91dF9SZXNwb25zZVBhcmFtcy5lbmNvZGVkU2l6ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXpl
ICsgODsKLQotICBVc2JEZXZpY2VfSXNvY2hyb25vdXNUcmFuc2Zlck91dF9SZXNwb25zZVBhcmFt
cy5kZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICB2YXIg
dmFsID0gbmV3IFVzYkRldmljZV9Jc29jaHJvbm91c1RyYW5zZmVyT3V0X1Jlc3BvbnNlUGFyYW1z
KCk7Ci0gICAgdmFyIG51bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2
YXIgdmVyc2lvbiA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhbC5wYWNrZXRzID0gZGVj
b2Rlci5kZWNvZGVBcnJheVBvaW50ZXIobmV3IGNvZGVjLlBvaW50ZXJUbyhVc2JJc29jaHJvbm91
c1BhY2tldCkpOwotICAgIHJldHVybiB2YWw7Ci0gIH07Ci0KLSAgVXNiRGV2aWNlX0lzb2Nocm9u
b3VzVHJhbnNmZXJPdXRfUmVzcG9uc2VQYXJhbXMuZW5jb2RlID0gZnVuY3Rpb24oZW5jb2Rlciwg
dmFsKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKFVzYkRldmlj
ZV9Jc29jaHJvbm91c1RyYW5zZmVyT3V0X1Jlc3BvbnNlUGFyYW1zLmVuY29kZWRTaXplKTsKLSAg
ICBlbmNvZGVyLndyaXRlVWludDMyKDApOwotICAgIGVuY29kZXIuZW5jb2RlQXJyYXlQb2ludGVy
KG5ldyBjb2RlYy5Qb2ludGVyVG8oVXNiSXNvY2hyb25vdXNQYWNrZXQpLCB2YWwucGFja2V0cyk7
Ci0gIH07Ci0gIHZhciBrVXNiRGV2aWNlX09wZW5fTmFtZSA9IDA7Ci0gIHZhciBrVXNiRGV2aWNl
X0Nsb3NlX05hbWUgPSAxOwotICB2YXIga1VzYkRldmljZV9TZXRDb25maWd1cmF0aW9uX05hbWUg
PSAyOwotICB2YXIga1VzYkRldmljZV9DbGFpbUludGVyZmFjZV9OYW1lID0gMzsKLSAgdmFyIGtV
c2JEZXZpY2VfUmVsZWFzZUludGVyZmFjZV9OYW1lID0gNDsKLSAgdmFyIGtVc2JEZXZpY2VfU2V0
SW50ZXJmYWNlQWx0ZXJuYXRlU2V0dGluZ19OYW1lID0gNTsKLSAgdmFyIGtVc2JEZXZpY2VfUmVz
ZXRfTmFtZSA9IDY7Ci0gIHZhciBrVXNiRGV2aWNlX0NsZWFySGFsdF9OYW1lID0gNzsKLSAgdmFy
IGtVc2JEZXZpY2VfQ29udHJvbFRyYW5zZmVySW5fTmFtZSA9IDg7Ci0gIHZhciBrVXNiRGV2aWNl
X0NvbnRyb2xUcmFuc2Zlck91dF9OYW1lID0gOTsKLSAgdmFyIGtVc2JEZXZpY2VfR2VuZXJpY1Ry
YW5zZmVySW5fTmFtZSA9IDEwOwotICB2YXIga1VzYkRldmljZV9HZW5lcmljVHJhbnNmZXJPdXRf
TmFtZSA9IDExOwotICB2YXIga1VzYkRldmljZV9Jc29jaHJvbm91c1RyYW5zZmVySW5fTmFtZSA9
IDEyOwotICB2YXIga1VzYkRldmljZV9Jc29jaHJvbm91c1RyYW5zZmVyT3V0X05hbWUgPSAxMzsK
LQotICBmdW5jdGlvbiBVc2JEZXZpY2VQdHIoaGFuZGxlT3JQdHJJbmZvKSB7Ci0gICAgdGhpcy5w
dHIgPSBuZXcgYmluZGluZ3MuSW50ZXJmYWNlUHRyQ29udHJvbGxlcihVc2JEZXZpY2UsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVPclB0
ckluZm8pOwotICB9Ci0KLSAgZnVuY3Rpb24gVXNiRGV2aWNlQXNzb2NpYXRlZFB0cihhc3NvY2lh
dGVkSW50ZXJmYWNlUHRySW5mbykgewotICAgIHRoaXMucHRyID0gbmV3IGFzc29jaWF0ZWRCaW5k
aW5ncy5Bc3NvY2lhdGVkSW50ZXJmYWNlUHRyQ29udHJvbGxlcigKLSAgICAgICAgVXNiRGV2aWNl
LCBhc3NvY2lhdGVkSW50ZXJmYWNlUHRySW5mbyk7Ci0gIH0KLQotICBVc2JEZXZpY2VBc3NvY2lh
dGVkUHRyLnByb3RvdHlwZSA9Ci0gICAgICBPYmplY3QuY3JlYXRlKFVzYkRldmljZVB0ci5wcm90
b3R5cGUpOwotICBVc2JEZXZpY2VBc3NvY2lhdGVkUHRyLnByb3RvdHlwZS5jb25zdHJ1Y3RvciA9
Ci0gICAgICBVc2JEZXZpY2VBc3NvY2lhdGVkUHRyOwotCi0gIGZ1bmN0aW9uIFVzYkRldmljZVBy
b3h5KHJlY2VpdmVyKSB7Ci0gICAgdGhpcy5yZWNlaXZlcl8gPSByZWNlaXZlcjsKLSAgfQotICBV
c2JEZXZpY2VQdHIucHJvdG90eXBlLm9wZW4gPSBmdW5jdGlvbigpIHsKLSAgICByZXR1cm4gVXNi
RGV2aWNlUHJveHkucHJvdG90eXBlLm9wZW4KLSAgICAgICAgLmFwcGx5KHRoaXMucHRyLmdldFBy
b3h5KCksIGFyZ3VtZW50cyk7Ci0gIH07Ci0KLSAgVXNiRGV2aWNlUHJveHkucHJvdG90eXBlLm9w
ZW4gPSBmdW5jdGlvbigpIHsKLSAgICB2YXIgcGFyYW1zID0gbmV3IFVzYkRldmljZV9PcGVuX1Bh
cmFtcygpOwotICAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3Qp
IHsKLSAgICAgIHZhciBidWlsZGVyID0gbmV3IGNvZGVjLk1lc3NhZ2VWMUJ1aWxkZXIoCi0gICAg
ICAgICAga1VzYkRldmljZV9PcGVuX05hbWUsCi0gICAgICAgICAgY29kZWMuYWxpZ24oVXNiRGV2
aWNlX09wZW5fUGFyYW1zLmVuY29kZWRTaXplKSwKLSAgICAgICAgICBjb2RlYy5rTWVzc2FnZUV4
cGVjdHNSZXNwb25zZSwgMCk7Ci0gICAgICBidWlsZGVyLmVuY29kZVN0cnVjdChVc2JEZXZpY2Vf
T3Blbl9QYXJhbXMsIHBhcmFtcyk7Ci0gICAgICB2YXIgbWVzc2FnZSA9IGJ1aWxkZXIuZmluaXNo
KCk7Ci0gICAgICB0aGlzLnJlY2VpdmVyXy5hY2NlcHRBbmRFeHBlY3RSZXNwb25zZShtZXNzYWdl
KS50aGVuKGZ1bmN0aW9uKG1lc3NhZ2UpIHsKLSAgICAgICAgdmFyIHJlYWRlciA9IG5ldyBjb2Rl
Yy5NZXNzYWdlUmVhZGVyKG1lc3NhZ2UpOwotICAgICAgICB2YXIgcmVzcG9uc2VQYXJhbXMgPQot
ICAgICAgICAgICAgcmVhZGVyLmRlY29kZVN0cnVjdChVc2JEZXZpY2VfT3Blbl9SZXNwb25zZVBh
cmFtcyk7Ci0gICAgICAgIHJlc29sdmUocmVzcG9uc2VQYXJhbXMpOwotICAgICAgfSkuY2F0Y2go
ZnVuY3Rpb24ocmVzdWx0KSB7Ci0gICAgICAgIHJlamVjdChFcnJvcigiQ29ubmVjdGlvbiBlcnJv
cjogIiArIHJlc3VsdCkpOwotICAgICAgfSk7Ci0gICAgfS5iaW5kKHRoaXMpKTsKLSAgfTsKLSAg
VXNiRGV2aWNlUHRyLnByb3RvdHlwZS5jbG9zZSA9IGZ1bmN0aW9uKCkgewotICAgIHJldHVybiBV
c2JEZXZpY2VQcm94eS5wcm90b3R5cGUuY2xvc2UKLSAgICAgICAgLmFwcGx5KHRoaXMucHRyLmdl
dFByb3h5KCksIGFyZ3VtZW50cyk7Ci0gIH07Ci0KLSAgVXNiRGV2aWNlUHJveHkucHJvdG90eXBl
LmNsb3NlID0gZnVuY3Rpb24oKSB7Ci0gICAgdmFyIHBhcmFtcyA9IG5ldyBVc2JEZXZpY2VfQ2xv
c2VfUGFyYW1zKCk7Ci0gICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJl
amVjdCkgewotICAgICAgdmFyIGJ1aWxkZXIgPSBuZXcgY29kZWMuTWVzc2FnZVYxQnVpbGRlcigK
LSAgICAgICAgICBrVXNiRGV2aWNlX0Nsb3NlX05hbWUsCi0gICAgICAgICAgY29kZWMuYWxpZ24o
VXNiRGV2aWNlX0Nsb3NlX1BhcmFtcy5lbmNvZGVkU2l6ZSksCi0gICAgICAgICAgY29kZWMua01l
c3NhZ2VFeHBlY3RzUmVzcG9uc2UsIDApOwotICAgICAgYnVpbGRlci5lbmNvZGVTdHJ1Y3QoVXNi
RGV2aWNlX0Nsb3NlX1BhcmFtcywgcGFyYW1zKTsKLSAgICAgIHZhciBtZXNzYWdlID0gYnVpbGRl
ci5maW5pc2goKTsKLSAgICAgIHRoaXMucmVjZWl2ZXJfLmFjY2VwdEFuZEV4cGVjdFJlc3BvbnNl
KG1lc3NhZ2UpLnRoZW4oZnVuY3Rpb24obWVzc2FnZSkgewotICAgICAgICB2YXIgcmVhZGVyID0g
bmV3IGNvZGVjLk1lc3NhZ2VSZWFkZXIobWVzc2FnZSk7Ci0gICAgICAgIHZhciByZXNwb25zZVBh
cmFtcyA9Ci0gICAgICAgICAgICByZWFkZXIuZGVjb2RlU3RydWN0KFVzYkRldmljZV9DbG9zZV9S
ZXNwb25zZVBhcmFtcyk7Ci0gICAgICAgIHJlc29sdmUocmVzcG9uc2VQYXJhbXMpOwotICAgICAg
fSkuY2F0Y2goZnVuY3Rpb24ocmVzdWx0KSB7Ci0gICAgICAgIHJlamVjdChFcnJvcigiQ29ubmVj
dGlvbiBlcnJvcjogIiArIHJlc3VsdCkpOwotICAgICAgfSk7Ci0gICAgfS5iaW5kKHRoaXMpKTsK
LSAgfTsKLSAgVXNiRGV2aWNlUHRyLnByb3RvdHlwZS5zZXRDb25maWd1cmF0aW9uID0gZnVuY3Rp
b24oKSB7Ci0gICAgcmV0dXJuIFVzYkRldmljZVByb3h5LnByb3RvdHlwZS5zZXRDb25maWd1cmF0
aW9uCi0gICAgICAgIC5hcHBseSh0aGlzLnB0ci5nZXRQcm94eSgpLCBhcmd1bWVudHMpOwotICB9
OwotCi0gIFVzYkRldmljZVByb3h5LnByb3RvdHlwZS5zZXRDb25maWd1cmF0aW9uID0gZnVuY3Rp
b24odmFsdWUpIHsKLSAgICB2YXIgcGFyYW1zID0gbmV3IFVzYkRldmljZV9TZXRDb25maWd1cmF0
aW9uX1BhcmFtcygpOwotICAgIHBhcmFtcy52YWx1ZSA9IHZhbHVlOwotICAgIHJldHVybiBuZXcg
UHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKLSAgICAgIHZhciBidWlsZGVyID0g
bmV3IGNvZGVjLk1lc3NhZ2VWMUJ1aWxkZXIoCi0gICAgICAgICAga1VzYkRldmljZV9TZXRDb25m
aWd1cmF0aW9uX05hbWUsCi0gICAgICAgICAgY29kZWMuYWxpZ24oVXNiRGV2aWNlX1NldENvbmZp
Z3VyYXRpb25fUGFyYW1zLmVuY29kZWRTaXplKSwKLSAgICAgICAgICBjb2RlYy5rTWVzc2FnZUV4
cGVjdHNSZXNwb25zZSwgMCk7Ci0gICAgICBidWlsZGVyLmVuY29kZVN0cnVjdChVc2JEZXZpY2Vf
U2V0Q29uZmlndXJhdGlvbl9QYXJhbXMsIHBhcmFtcyk7Ci0gICAgICB2YXIgbWVzc2FnZSA9IGJ1
aWxkZXIuZmluaXNoKCk7Ci0gICAgICB0aGlzLnJlY2VpdmVyXy5hY2NlcHRBbmRFeHBlY3RSZXNw
b25zZShtZXNzYWdlKS50aGVuKGZ1bmN0aW9uKG1lc3NhZ2UpIHsKLSAgICAgICAgdmFyIHJlYWRl
ciA9IG5ldyBjb2RlYy5NZXNzYWdlUmVhZGVyKG1lc3NhZ2UpOwotICAgICAgICB2YXIgcmVzcG9u
c2VQYXJhbXMgPQotICAgICAgICAgICAgcmVhZGVyLmRlY29kZVN0cnVjdChVc2JEZXZpY2VfU2V0
Q29uZmlndXJhdGlvbl9SZXNwb25zZVBhcmFtcyk7Ci0gICAgICAgIHJlc29sdmUocmVzcG9uc2VQ
YXJhbXMpOwotICAgICAgfSkuY2F0Y2goZnVuY3Rpb24ocmVzdWx0KSB7Ci0gICAgICAgIHJlamVj
dChFcnJvcigiQ29ubmVjdGlvbiBlcnJvcjogIiArIHJlc3VsdCkpOwotICAgICAgfSk7Ci0gICAg
fS5iaW5kKHRoaXMpKTsKLSAgfTsKLSAgVXNiRGV2aWNlUHRyLnByb3RvdHlwZS5jbGFpbUludGVy
ZmFjZSA9IGZ1bmN0aW9uKCkgewotICAgIHJldHVybiBVc2JEZXZpY2VQcm94eS5wcm90b3R5cGUu
Y2xhaW1JbnRlcmZhY2UKLSAgICAgICAgLmFwcGx5KHRoaXMucHRyLmdldFByb3h5KCksIGFyZ3Vt
ZW50cyk7Ci0gIH07Ci0KLSAgVXNiRGV2aWNlUHJveHkucHJvdG90eXBlLmNsYWltSW50ZXJmYWNl
ID0gZnVuY3Rpb24oaW50ZXJmYWNlTnVtYmVyKSB7Ci0gICAgdmFyIHBhcmFtcyA9IG5ldyBVc2JE
ZXZpY2VfQ2xhaW1JbnRlcmZhY2VfUGFyYW1zKCk7Ci0gICAgcGFyYW1zLmludGVyZmFjZU51bWJl
ciA9IGludGVyZmFjZU51bWJlcjsKLSAgICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVz
b2x2ZSwgcmVqZWN0KSB7Ci0gICAgICB2YXIgYnVpbGRlciA9IG5ldyBjb2RlYy5NZXNzYWdlVjFC
dWlsZGVyKAotICAgICAgICAgIGtVc2JEZXZpY2VfQ2xhaW1JbnRlcmZhY2VfTmFtZSwKLSAgICAg
ICAgICBjb2RlYy5hbGlnbihVc2JEZXZpY2VfQ2xhaW1JbnRlcmZhY2VfUGFyYW1zLmVuY29kZWRT
aXplKSwKLSAgICAgICAgICBjb2RlYy5rTWVzc2FnZUV4cGVjdHNSZXNwb25zZSwgMCk7Ci0gICAg
ICBidWlsZGVyLmVuY29kZVN0cnVjdChVc2JEZXZpY2VfQ2xhaW1JbnRlcmZhY2VfUGFyYW1zLCBw
YXJhbXMpOwotICAgICAgdmFyIG1lc3NhZ2UgPSBidWlsZGVyLmZpbmlzaCgpOwotICAgICAgdGhp
cy5yZWNlaXZlcl8uYWNjZXB0QW5kRXhwZWN0UmVzcG9uc2UobWVzc2FnZSkudGhlbihmdW5jdGlv
bihtZXNzYWdlKSB7Ci0gICAgICAgIHZhciByZWFkZXIgPSBuZXcgY29kZWMuTWVzc2FnZVJlYWRl
cihtZXNzYWdlKTsKLSAgICAgICAgdmFyIHJlc3BvbnNlUGFyYW1zID0KLSAgICAgICAgICAgIHJl
YWRlci5kZWNvZGVTdHJ1Y3QoVXNiRGV2aWNlX0NsYWltSW50ZXJmYWNlX1Jlc3BvbnNlUGFyYW1z
KTsKLSAgICAgICAgcmVzb2x2ZShyZXNwb25zZVBhcmFtcyk7Ci0gICAgICB9KS5jYXRjaChmdW5j
dGlvbihyZXN1bHQpIHsKLSAgICAgICAgcmVqZWN0KEVycm9yKCJDb25uZWN0aW9uIGVycm9yOiAi
ICsgcmVzdWx0KSk7Ci0gICAgICB9KTsKLSAgICB9LmJpbmQodGhpcykpOwotICB9OwotICBVc2JE
ZXZpY2VQdHIucHJvdG90eXBlLnJlbGVhc2VJbnRlcmZhY2UgPSBmdW5jdGlvbigpIHsKLSAgICBy
ZXR1cm4gVXNiRGV2aWNlUHJveHkucHJvdG90eXBlLnJlbGVhc2VJbnRlcmZhY2UKLSAgICAgICAg
LmFwcGx5KHRoaXMucHRyLmdldFByb3h5KCksIGFyZ3VtZW50cyk7Ci0gIH07Ci0KLSAgVXNiRGV2
aWNlUHJveHkucHJvdG90eXBlLnJlbGVhc2VJbnRlcmZhY2UgPSBmdW5jdGlvbihpbnRlcmZhY2VO
dW1iZXIpIHsKLSAgICB2YXIgcGFyYW1zID0gbmV3IFVzYkRldmljZV9SZWxlYXNlSW50ZXJmYWNl
X1BhcmFtcygpOwotICAgIHBhcmFtcy5pbnRlcmZhY2VOdW1iZXIgPSBpbnRlcmZhY2VOdW1iZXI7
Ci0gICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewotICAg
ICAgdmFyIGJ1aWxkZXIgPSBuZXcgY29kZWMuTWVzc2FnZVYxQnVpbGRlcigKLSAgICAgICAgICBr
VXNiRGV2aWNlX1JlbGVhc2VJbnRlcmZhY2VfTmFtZSwKLSAgICAgICAgICBjb2RlYy5hbGlnbihV
c2JEZXZpY2VfUmVsZWFzZUludGVyZmFjZV9QYXJhbXMuZW5jb2RlZFNpemUpLAotICAgICAgICAg
IGNvZGVjLmtNZXNzYWdlRXhwZWN0c1Jlc3BvbnNlLCAwKTsKLSAgICAgIGJ1aWxkZXIuZW5jb2Rl
U3RydWN0KFVzYkRldmljZV9SZWxlYXNlSW50ZXJmYWNlX1BhcmFtcywgcGFyYW1zKTsKLSAgICAg
IHZhciBtZXNzYWdlID0gYnVpbGRlci5maW5pc2goKTsKLSAgICAgIHRoaXMucmVjZWl2ZXJfLmFj
Y2VwdEFuZEV4cGVjdFJlc3BvbnNlKG1lc3NhZ2UpLnRoZW4oZnVuY3Rpb24obWVzc2FnZSkgewot
ICAgICAgICB2YXIgcmVhZGVyID0gbmV3IGNvZGVjLk1lc3NhZ2VSZWFkZXIobWVzc2FnZSk7Ci0g
ICAgICAgIHZhciByZXNwb25zZVBhcmFtcyA9Ci0gICAgICAgICAgICByZWFkZXIuZGVjb2RlU3Ry
dWN0KFVzYkRldmljZV9SZWxlYXNlSW50ZXJmYWNlX1Jlc3BvbnNlUGFyYW1zKTsKLSAgICAgICAg
cmVzb2x2ZShyZXNwb25zZVBhcmFtcyk7Ci0gICAgICB9KS5jYXRjaChmdW5jdGlvbihyZXN1bHQp
IHsKLSAgICAgICAgcmVqZWN0KEVycm9yKCJDb25uZWN0aW9uIGVycm9yOiAiICsgcmVzdWx0KSk7
Ci0gICAgICB9KTsKLSAgICB9LmJpbmQodGhpcykpOwotICB9OwotICBVc2JEZXZpY2VQdHIucHJv
dG90eXBlLnNldEludGVyZmFjZUFsdGVybmF0ZVNldHRpbmcgPSBmdW5jdGlvbigpIHsKLSAgICBy
ZXR1cm4gVXNiRGV2aWNlUHJveHkucHJvdG90eXBlLnNldEludGVyZmFjZUFsdGVybmF0ZVNldHRp
bmcKLSAgICAgICAgLmFwcGx5KHRoaXMucHRyLmdldFByb3h5KCksIGFyZ3VtZW50cyk7Ci0gIH07
Ci0KLSAgVXNiRGV2aWNlUHJveHkucHJvdG90eXBlLnNldEludGVyZmFjZUFsdGVybmF0ZVNldHRp
bmcgPSBmdW5jdGlvbihpbnRlcmZhY2VOdW1iZXIsIGFsdGVybmF0ZVNldHRpbmcpIHsKLSAgICB2
YXIgcGFyYW1zID0gbmV3IFVzYkRldmljZV9TZXRJbnRlcmZhY2VBbHRlcm5hdGVTZXR0aW5nX1Bh
cmFtcygpOwotICAgIHBhcmFtcy5pbnRlcmZhY2VOdW1iZXIgPSBpbnRlcmZhY2VOdW1iZXI7Ci0g
ICAgcGFyYW1zLmFsdGVybmF0ZVNldHRpbmcgPSBhbHRlcm5hdGVTZXR0aW5nOwotICAgIHJldHVy
biBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKLSAgICAgIHZhciBidWls
ZGVyID0gbmV3IGNvZGVjLk1lc3NhZ2VWMUJ1aWxkZXIoCi0gICAgICAgICAga1VzYkRldmljZV9T
ZXRJbnRlcmZhY2VBbHRlcm5hdGVTZXR0aW5nX05hbWUsCi0gICAgICAgICAgY29kZWMuYWxpZ24o
VXNiRGV2aWNlX1NldEludGVyZmFjZUFsdGVybmF0ZVNldHRpbmdfUGFyYW1zLmVuY29kZWRTaXpl
KSwKLSAgICAgICAgICBjb2RlYy5rTWVzc2FnZUV4cGVjdHNSZXNwb25zZSwgMCk7Ci0gICAgICBi
dWlsZGVyLmVuY29kZVN0cnVjdChVc2JEZXZpY2VfU2V0SW50ZXJmYWNlQWx0ZXJuYXRlU2V0dGlu
Z19QYXJhbXMsIHBhcmFtcyk7Ci0gICAgICB2YXIgbWVzc2FnZSA9IGJ1aWxkZXIuZmluaXNoKCk7
Ci0gICAgICB0aGlzLnJlY2VpdmVyXy5hY2NlcHRBbmRFeHBlY3RSZXNwb25zZShtZXNzYWdlKS50
aGVuKGZ1bmN0aW9uKG1lc3NhZ2UpIHsKLSAgICAgICAgdmFyIHJlYWRlciA9IG5ldyBjb2RlYy5N
ZXNzYWdlUmVhZGVyKG1lc3NhZ2UpOwotICAgICAgICB2YXIgcmVzcG9uc2VQYXJhbXMgPQotICAg
ICAgICAgICAgcmVhZGVyLmRlY29kZVN0cnVjdChVc2JEZXZpY2VfU2V0SW50ZXJmYWNlQWx0ZXJu
YXRlU2V0dGluZ19SZXNwb25zZVBhcmFtcyk7Ci0gICAgICAgIHJlc29sdmUocmVzcG9uc2VQYXJh
bXMpOwotICAgICAgfSkuY2F0Y2goZnVuY3Rpb24ocmVzdWx0KSB7Ci0gICAgICAgIHJlamVjdChF
cnJvcigiQ29ubmVjdGlvbiBlcnJvcjogIiArIHJlc3VsdCkpOwotICAgICAgfSk7Ci0gICAgfS5i
aW5kKHRoaXMpKTsKLSAgfTsKLSAgVXNiRGV2aWNlUHRyLnByb3RvdHlwZS5yZXNldCA9IGZ1bmN0
aW9uKCkgewotICAgIHJldHVybiBVc2JEZXZpY2VQcm94eS5wcm90b3R5cGUucmVzZXQKLSAgICAg
ICAgLmFwcGx5KHRoaXMucHRyLmdldFByb3h5KCksIGFyZ3VtZW50cyk7Ci0gIH07Ci0KLSAgVXNi
RGV2aWNlUHJveHkucHJvdG90eXBlLnJlc2V0ID0gZnVuY3Rpb24oKSB7Ci0gICAgdmFyIHBhcmFt
cyA9IG5ldyBVc2JEZXZpY2VfUmVzZXRfUGFyYW1zKCk7Ci0gICAgcmV0dXJuIG5ldyBQcm9taXNl
KGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewotICAgICAgdmFyIGJ1aWxkZXIgPSBuZXcgY29k
ZWMuTWVzc2FnZVYxQnVpbGRlcigKLSAgICAgICAgICBrVXNiRGV2aWNlX1Jlc2V0X05hbWUsCi0g
ICAgICAgICAgY29kZWMuYWxpZ24oVXNiRGV2aWNlX1Jlc2V0X1BhcmFtcy5lbmNvZGVkU2l6ZSks
Ci0gICAgICAgICAgY29kZWMua01lc3NhZ2VFeHBlY3RzUmVzcG9uc2UsIDApOwotICAgICAgYnVp
bGRlci5lbmNvZGVTdHJ1Y3QoVXNiRGV2aWNlX1Jlc2V0X1BhcmFtcywgcGFyYW1zKTsKLSAgICAg
IHZhciBtZXNzYWdlID0gYnVpbGRlci5maW5pc2goKTsKLSAgICAgIHRoaXMucmVjZWl2ZXJfLmFj
Y2VwdEFuZEV4cGVjdFJlc3BvbnNlKG1lc3NhZ2UpLnRoZW4oZnVuY3Rpb24obWVzc2FnZSkgewot
ICAgICAgICB2YXIgcmVhZGVyID0gbmV3IGNvZGVjLk1lc3NhZ2VSZWFkZXIobWVzc2FnZSk7Ci0g
ICAgICAgIHZhciByZXNwb25zZVBhcmFtcyA9Ci0gICAgICAgICAgICByZWFkZXIuZGVjb2RlU3Ry
dWN0KFVzYkRldmljZV9SZXNldF9SZXNwb25zZVBhcmFtcyk7Ci0gICAgICAgIHJlc29sdmUocmVz
cG9uc2VQYXJhbXMpOwotICAgICAgfSkuY2F0Y2goZnVuY3Rpb24ocmVzdWx0KSB7Ci0gICAgICAg
IHJlamVjdChFcnJvcigiQ29ubmVjdGlvbiBlcnJvcjogIiArIHJlc3VsdCkpOwotICAgICAgfSk7
Ci0gICAgfS5iaW5kKHRoaXMpKTsKLSAgfTsKLSAgVXNiRGV2aWNlUHRyLnByb3RvdHlwZS5jbGVh
ckhhbHQgPSBmdW5jdGlvbigpIHsKLSAgICByZXR1cm4gVXNiRGV2aWNlUHJveHkucHJvdG90eXBl
LmNsZWFySGFsdAotICAgICAgICAuYXBwbHkodGhpcy5wdHIuZ2V0UHJveHkoKSwgYXJndW1lbnRz
KTsKLSAgfTsKLQotICBVc2JEZXZpY2VQcm94eS5wcm90b3R5cGUuY2xlYXJIYWx0ID0gZnVuY3Rp
b24oZW5kcG9pbnQpIHsKLSAgICB2YXIgcGFyYW1zID0gbmV3IFVzYkRldmljZV9DbGVhckhhbHRf
UGFyYW1zKCk7Ci0gICAgcGFyYW1zLmVuZHBvaW50ID0gZW5kcG9pbnQ7Ci0gICAgcmV0dXJuIG5l
dyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewotICAgICAgdmFyIGJ1aWxkZXIg
PSBuZXcgY29kZWMuTWVzc2FnZVYxQnVpbGRlcigKLSAgICAgICAgICBrVXNiRGV2aWNlX0NsZWFy
SGFsdF9OYW1lLAotICAgICAgICAgIGNvZGVjLmFsaWduKFVzYkRldmljZV9DbGVhckhhbHRfUGFy
YW1zLmVuY29kZWRTaXplKSwKLSAgICAgICAgICBjb2RlYy5rTWVzc2FnZUV4cGVjdHNSZXNwb25z
ZSwgMCk7Ci0gICAgICBidWlsZGVyLmVuY29kZVN0cnVjdChVc2JEZXZpY2VfQ2xlYXJIYWx0X1Bh
cmFtcywgcGFyYW1zKTsKLSAgICAgIHZhciBtZXNzYWdlID0gYnVpbGRlci5maW5pc2goKTsKLSAg
ICAgIHRoaXMucmVjZWl2ZXJfLmFjY2VwdEFuZEV4cGVjdFJlc3BvbnNlKG1lc3NhZ2UpLnRoZW4o
ZnVuY3Rpb24obWVzc2FnZSkgewotICAgICAgICB2YXIgcmVhZGVyID0gbmV3IGNvZGVjLk1lc3Nh
Z2VSZWFkZXIobWVzc2FnZSk7Ci0gICAgICAgIHZhciByZXNwb25zZVBhcmFtcyA9Ci0gICAgICAg
ICAgICByZWFkZXIuZGVjb2RlU3RydWN0KFVzYkRldmljZV9DbGVhckhhbHRfUmVzcG9uc2VQYXJh
bXMpOwotICAgICAgICByZXNvbHZlKHJlc3BvbnNlUGFyYW1zKTsKLSAgICAgIH0pLmNhdGNoKGZ1
bmN0aW9uKHJlc3VsdCkgewotICAgICAgICByZWplY3QoRXJyb3IoIkNvbm5lY3Rpb24gZXJyb3I6
ICIgKyByZXN1bHQpKTsKLSAgICAgIH0pOwotICAgIH0uYmluZCh0aGlzKSk7Ci0gIH07Ci0gIFVz
YkRldmljZVB0ci5wcm90b3R5cGUuY29udHJvbFRyYW5zZmVySW4gPSBmdW5jdGlvbigpIHsKLSAg
ICByZXR1cm4gVXNiRGV2aWNlUHJveHkucHJvdG90eXBlLmNvbnRyb2xUcmFuc2ZlckluCi0gICAg
ICAgIC5hcHBseSh0aGlzLnB0ci5nZXRQcm94eSgpLCBhcmd1bWVudHMpOwotICB9OwotCi0gIFVz
YkRldmljZVByb3h5LnByb3RvdHlwZS5jb250cm9sVHJhbnNmZXJJbiA9IGZ1bmN0aW9uKHBhcmFt
cywgbGVuZ3RoLCB0aW1lb3V0KSB7Ci0gICAgdmFyIHBhcmFtcyA9IG5ldyBVc2JEZXZpY2VfQ29u
dHJvbFRyYW5zZmVySW5fUGFyYW1zKCk7Ci0gICAgcGFyYW1zLnBhcmFtcyA9IHBhcmFtczsKLSAg
ICBwYXJhbXMubGVuZ3RoID0gbGVuZ3RoOwotICAgIHBhcmFtcy50aW1lb3V0ID0gdGltZW91dDsK
LSAgICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7Ci0gICAg
ICB2YXIgYnVpbGRlciA9IG5ldyBjb2RlYy5NZXNzYWdlVjFCdWlsZGVyKAotICAgICAgICAgIGtV
c2JEZXZpY2VfQ29udHJvbFRyYW5zZmVySW5fTmFtZSwKLSAgICAgICAgICBjb2RlYy5hbGlnbihV
c2JEZXZpY2VfQ29udHJvbFRyYW5zZmVySW5fUGFyYW1zLmVuY29kZWRTaXplKSwKLSAgICAgICAg
ICBjb2RlYy5rTWVzc2FnZUV4cGVjdHNSZXNwb25zZSwgMCk7Ci0gICAgICBidWlsZGVyLmVuY29k
ZVN0cnVjdChVc2JEZXZpY2VfQ29udHJvbFRyYW5zZmVySW5fUGFyYW1zLCBwYXJhbXMpOwotICAg
ICAgdmFyIG1lc3NhZ2UgPSBidWlsZGVyLmZpbmlzaCgpOwotICAgICAgdGhpcy5yZWNlaXZlcl8u
YWNjZXB0QW5kRXhwZWN0UmVzcG9uc2UobWVzc2FnZSkudGhlbihmdW5jdGlvbihtZXNzYWdlKSB7
Ci0gICAgICAgIHZhciByZWFkZXIgPSBuZXcgY29kZWMuTWVzc2FnZVJlYWRlcihtZXNzYWdlKTsK
LSAgICAgICAgdmFyIHJlc3BvbnNlUGFyYW1zID0KLSAgICAgICAgICAgIHJlYWRlci5kZWNvZGVT
dHJ1Y3QoVXNiRGV2aWNlX0NvbnRyb2xUcmFuc2ZlckluX1Jlc3BvbnNlUGFyYW1zKTsKLSAgICAg
ICAgcmVzb2x2ZShyZXNwb25zZVBhcmFtcyk7Ci0gICAgICB9KS5jYXRjaChmdW5jdGlvbihyZXN1
bHQpIHsKLSAgICAgICAgcmVqZWN0KEVycm9yKCJDb25uZWN0aW9uIGVycm9yOiAiICsgcmVzdWx0
KSk7Ci0gICAgICB9KTsKLSAgICB9LmJpbmQodGhpcykpOwotICB9OwotICBVc2JEZXZpY2VQdHIu
cHJvdG90eXBlLmNvbnRyb2xUcmFuc2Zlck91dCA9IGZ1bmN0aW9uKCkgewotICAgIHJldHVybiBV
c2JEZXZpY2VQcm94eS5wcm90b3R5cGUuY29udHJvbFRyYW5zZmVyT3V0Ci0gICAgICAgIC5hcHBs
eSh0aGlzLnB0ci5nZXRQcm94eSgpLCBhcmd1bWVudHMpOwotICB9OwotCi0gIFVzYkRldmljZVBy
b3h5LnByb3RvdHlwZS5jb250cm9sVHJhbnNmZXJPdXQgPSBmdW5jdGlvbihwYXJhbXMsIGRhdGEs
IHRpbWVvdXQpIHsKLSAgICB2YXIgcGFyYW1zID0gbmV3IFVzYkRldmljZV9Db250cm9sVHJhbnNm
ZXJPdXRfUGFyYW1zKCk7Ci0gICAgcGFyYW1zLnBhcmFtcyA9IHBhcmFtczsKLSAgICBwYXJhbXMu
ZGF0YSA9IGRhdGE7Ci0gICAgcGFyYW1zLnRpbWVvdXQgPSB0aW1lb3V0OwotICAgIHJldHVybiBu
ZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKLSAgICAgIHZhciBidWlsZGVy
ID0gbmV3IGNvZGVjLk1lc3NhZ2VWMUJ1aWxkZXIoCi0gICAgICAgICAga1VzYkRldmljZV9Db250
cm9sVHJhbnNmZXJPdXRfTmFtZSwKLSAgICAgICAgICBjb2RlYy5hbGlnbihVc2JEZXZpY2VfQ29u
dHJvbFRyYW5zZmVyT3V0X1BhcmFtcy5lbmNvZGVkU2l6ZSksCi0gICAgICAgICAgY29kZWMua01l
c3NhZ2VFeHBlY3RzUmVzcG9uc2UsIDApOwotICAgICAgYnVpbGRlci5lbmNvZGVTdHJ1Y3QoVXNi
RGV2aWNlX0NvbnRyb2xUcmFuc2Zlck91dF9QYXJhbXMsIHBhcmFtcyk7Ci0gICAgICB2YXIgbWVz
c2FnZSA9IGJ1aWxkZXIuZmluaXNoKCk7Ci0gICAgICB0aGlzLnJlY2VpdmVyXy5hY2NlcHRBbmRF
eHBlY3RSZXNwb25zZShtZXNzYWdlKS50aGVuKGZ1bmN0aW9uKG1lc3NhZ2UpIHsKLSAgICAgICAg
dmFyIHJlYWRlciA9IG5ldyBjb2RlYy5NZXNzYWdlUmVhZGVyKG1lc3NhZ2UpOwotICAgICAgICB2
YXIgcmVzcG9uc2VQYXJhbXMgPQotICAgICAgICAgICAgcmVhZGVyLmRlY29kZVN0cnVjdChVc2JE
ZXZpY2VfQ29udHJvbFRyYW5zZmVyT3V0X1Jlc3BvbnNlUGFyYW1zKTsKLSAgICAgICAgcmVzb2x2
ZShyZXNwb25zZVBhcmFtcyk7Ci0gICAgICB9KS5jYXRjaChmdW5jdGlvbihyZXN1bHQpIHsKLSAg
ICAgICAgcmVqZWN0KEVycm9yKCJDb25uZWN0aW9uIGVycm9yOiAiICsgcmVzdWx0KSk7Ci0gICAg
ICB9KTsKLSAgICB9LmJpbmQodGhpcykpOwotICB9OwotICBVc2JEZXZpY2VQdHIucHJvdG90eXBl
LmdlbmVyaWNUcmFuc2ZlckluID0gZnVuY3Rpb24oKSB7Ci0gICAgcmV0dXJuIFVzYkRldmljZVBy
b3h5LnByb3RvdHlwZS5nZW5lcmljVHJhbnNmZXJJbgotICAgICAgICAuYXBwbHkodGhpcy5wdHIu
Z2V0UHJveHkoKSwgYXJndW1lbnRzKTsKLSAgfTsKLQotICBVc2JEZXZpY2VQcm94eS5wcm90b3R5
cGUuZ2VuZXJpY1RyYW5zZmVySW4gPSBmdW5jdGlvbihlbmRwb2ludE51bWJlciwgbGVuZ3RoLCB0
aW1lb3V0KSB7Ci0gICAgdmFyIHBhcmFtcyA9IG5ldyBVc2JEZXZpY2VfR2VuZXJpY1RyYW5zZmVy
SW5fUGFyYW1zKCk7Ci0gICAgcGFyYW1zLmVuZHBvaW50TnVtYmVyID0gZW5kcG9pbnROdW1iZXI7
Ci0gICAgcGFyYW1zLmxlbmd0aCA9IGxlbmd0aDsKLSAgICBwYXJhbXMudGltZW91dCA9IHRpbWVv
dXQ7Ci0gICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewot
ICAgICAgdmFyIGJ1aWxkZXIgPSBuZXcgY29kZWMuTWVzc2FnZVYxQnVpbGRlcigKLSAgICAgICAg
ICBrVXNiRGV2aWNlX0dlbmVyaWNUcmFuc2ZlckluX05hbWUsCi0gICAgICAgICAgY29kZWMuYWxp
Z24oVXNiRGV2aWNlX0dlbmVyaWNUcmFuc2ZlckluX1BhcmFtcy5lbmNvZGVkU2l6ZSksCi0gICAg
ICAgICAgY29kZWMua01lc3NhZ2VFeHBlY3RzUmVzcG9uc2UsIDApOwotICAgICAgYnVpbGRlci5l
bmNvZGVTdHJ1Y3QoVXNiRGV2aWNlX0dlbmVyaWNUcmFuc2ZlckluX1BhcmFtcywgcGFyYW1zKTsK
LSAgICAgIHZhciBtZXNzYWdlID0gYnVpbGRlci5maW5pc2goKTsKLSAgICAgIHRoaXMucmVjZWl2
ZXJfLmFjY2VwdEFuZEV4cGVjdFJlc3BvbnNlKG1lc3NhZ2UpLnRoZW4oZnVuY3Rpb24obWVzc2Fn
ZSkgewotICAgICAgICB2YXIgcmVhZGVyID0gbmV3IGNvZGVjLk1lc3NhZ2VSZWFkZXIobWVzc2Fn
ZSk7Ci0gICAgICAgIHZhciByZXNwb25zZVBhcmFtcyA9Ci0gICAgICAgICAgICByZWFkZXIuZGVj
b2RlU3RydWN0KFVzYkRldmljZV9HZW5lcmljVHJhbnNmZXJJbl9SZXNwb25zZVBhcmFtcyk7Ci0g
ICAgICAgIHJlc29sdmUocmVzcG9uc2VQYXJhbXMpOwotICAgICAgfSkuY2F0Y2goZnVuY3Rpb24o
cmVzdWx0KSB7Ci0gICAgICAgIHJlamVjdChFcnJvcigiQ29ubmVjdGlvbiBlcnJvcjogIiArIHJl
c3VsdCkpOwotICAgICAgfSk7Ci0gICAgfS5iaW5kKHRoaXMpKTsKLSAgfTsKLSAgVXNiRGV2aWNl
UHRyLnByb3RvdHlwZS5nZW5lcmljVHJhbnNmZXJPdXQgPSBmdW5jdGlvbigpIHsKLSAgICByZXR1
cm4gVXNiRGV2aWNlUHJveHkucHJvdG90eXBlLmdlbmVyaWNUcmFuc2Zlck91dAotICAgICAgICAu
YXBwbHkodGhpcy5wdHIuZ2V0UHJveHkoKSwgYXJndW1lbnRzKTsKLSAgfTsKLQotICBVc2JEZXZp
Y2VQcm94eS5wcm90b3R5cGUuZ2VuZXJpY1RyYW5zZmVyT3V0ID0gZnVuY3Rpb24oZW5kcG9pbnRO
dW1iZXIsIGRhdGEsIHRpbWVvdXQpIHsKLSAgICB2YXIgcGFyYW1zID0gbmV3IFVzYkRldmljZV9H
ZW5lcmljVHJhbnNmZXJPdXRfUGFyYW1zKCk7Ci0gICAgcGFyYW1zLmVuZHBvaW50TnVtYmVyID0g
ZW5kcG9pbnROdW1iZXI7Ci0gICAgcGFyYW1zLmRhdGEgPSBkYXRhOwotICAgIHBhcmFtcy50aW1l
b3V0ID0gdGltZW91dDsKLSAgICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwg
cmVqZWN0KSB7Ci0gICAgICB2YXIgYnVpbGRlciA9IG5ldyBjb2RlYy5NZXNzYWdlVjFCdWlsZGVy
KAotICAgICAgICAgIGtVc2JEZXZpY2VfR2VuZXJpY1RyYW5zZmVyT3V0X05hbWUsCi0gICAgICAg
ICAgY29kZWMuYWxpZ24oVXNiRGV2aWNlX0dlbmVyaWNUcmFuc2Zlck91dF9QYXJhbXMuZW5jb2Rl
ZFNpemUpLAotICAgICAgICAgIGNvZGVjLmtNZXNzYWdlRXhwZWN0c1Jlc3BvbnNlLCAwKTsKLSAg
ICAgIGJ1aWxkZXIuZW5jb2RlU3RydWN0KFVzYkRldmljZV9HZW5lcmljVHJhbnNmZXJPdXRfUGFy
YW1zLCBwYXJhbXMpOwotICAgICAgdmFyIG1lc3NhZ2UgPSBidWlsZGVyLmZpbmlzaCgpOwotICAg
ICAgdGhpcy5yZWNlaXZlcl8uYWNjZXB0QW5kRXhwZWN0UmVzcG9uc2UobWVzc2FnZSkudGhlbihm
dW5jdGlvbihtZXNzYWdlKSB7Ci0gICAgICAgIHZhciByZWFkZXIgPSBuZXcgY29kZWMuTWVzc2Fn
ZVJlYWRlcihtZXNzYWdlKTsKLSAgICAgICAgdmFyIHJlc3BvbnNlUGFyYW1zID0KLSAgICAgICAg
ICAgIHJlYWRlci5kZWNvZGVTdHJ1Y3QoVXNiRGV2aWNlX0dlbmVyaWNUcmFuc2Zlck91dF9SZXNw
b25zZVBhcmFtcyk7Ci0gICAgICAgIHJlc29sdmUocmVzcG9uc2VQYXJhbXMpOwotICAgICAgfSku
Y2F0Y2goZnVuY3Rpb24ocmVzdWx0KSB7Ci0gICAgICAgIHJlamVjdChFcnJvcigiQ29ubmVjdGlv
biBlcnJvcjogIiArIHJlc3VsdCkpOwotICAgICAgfSk7Ci0gICAgfS5iaW5kKHRoaXMpKTsKLSAg
fTsKLSAgVXNiRGV2aWNlUHRyLnByb3RvdHlwZS5pc29jaHJvbm91c1RyYW5zZmVySW4gPSBmdW5j
dGlvbigpIHsKLSAgICByZXR1cm4gVXNiRGV2aWNlUHJveHkucHJvdG90eXBlLmlzb2Nocm9ub3Vz
VHJhbnNmZXJJbgotICAgICAgICAuYXBwbHkodGhpcy5wdHIuZ2V0UHJveHkoKSwgYXJndW1lbnRz
KTsKLSAgfTsKLQotICBVc2JEZXZpY2VQcm94eS5wcm90b3R5cGUuaXNvY2hyb25vdXNUcmFuc2Zl
ckluID0gZnVuY3Rpb24oZW5kcG9pbnROdW1iZXIsIHBhY2tldExlbmd0aHMsIHRpbWVvdXQpIHsK
LSAgICB2YXIgcGFyYW1zID0gbmV3IFVzYkRldmljZV9Jc29jaHJvbm91c1RyYW5zZmVySW5fUGFy
YW1zKCk7Ci0gICAgcGFyYW1zLmVuZHBvaW50TnVtYmVyID0gZW5kcG9pbnROdW1iZXI7Ci0gICAg
cGFyYW1zLnBhY2tldExlbmd0aHMgPSBwYWNrZXRMZW5ndGhzOwotICAgIHBhcmFtcy50aW1lb3V0
ID0gdGltZW91dDsKLSAgICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVq
ZWN0KSB7Ci0gICAgICB2YXIgYnVpbGRlciA9IG5ldyBjb2RlYy5NZXNzYWdlVjFCdWlsZGVyKAot
ICAgICAgICAgIGtVc2JEZXZpY2VfSXNvY2hyb25vdXNUcmFuc2ZlckluX05hbWUsCi0gICAgICAg
ICAgY29kZWMuYWxpZ24oVXNiRGV2aWNlX0lzb2Nocm9ub3VzVHJhbnNmZXJJbl9QYXJhbXMuZW5j
b2RlZFNpemUpLAotICAgICAgICAgIGNvZGVjLmtNZXNzYWdlRXhwZWN0c1Jlc3BvbnNlLCAwKTsK
LSAgICAgIGJ1aWxkZXIuZW5jb2RlU3RydWN0KFVzYkRldmljZV9Jc29jaHJvbm91c1RyYW5zZmVy
SW5fUGFyYW1zLCBwYXJhbXMpOwotICAgICAgdmFyIG1lc3NhZ2UgPSBidWlsZGVyLmZpbmlzaCgp
OwotICAgICAgdGhpcy5yZWNlaXZlcl8uYWNjZXB0QW5kRXhwZWN0UmVzcG9uc2UobWVzc2FnZSku
dGhlbihmdW5jdGlvbihtZXNzYWdlKSB7Ci0gICAgICAgIHZhciByZWFkZXIgPSBuZXcgY29kZWMu
TWVzc2FnZVJlYWRlcihtZXNzYWdlKTsKLSAgICAgICAgdmFyIHJlc3BvbnNlUGFyYW1zID0KLSAg
ICAgICAgICAgIHJlYWRlci5kZWNvZGVTdHJ1Y3QoVXNiRGV2aWNlX0lzb2Nocm9ub3VzVHJhbnNm
ZXJJbl9SZXNwb25zZVBhcmFtcyk7Ci0gICAgICAgIHJlc29sdmUocmVzcG9uc2VQYXJhbXMpOwot
ICAgICAgfSkuY2F0Y2goZnVuY3Rpb24ocmVzdWx0KSB7Ci0gICAgICAgIHJlamVjdChFcnJvcigi
Q29ubmVjdGlvbiBlcnJvcjogIiArIHJlc3VsdCkpOwotICAgICAgfSk7Ci0gICAgfS5iaW5kKHRo
aXMpKTsKLSAgfTsKLSAgVXNiRGV2aWNlUHRyLnByb3RvdHlwZS5pc29jaHJvbm91c1RyYW5zZmVy
T3V0ID0gZnVuY3Rpb24oKSB7Ci0gICAgcmV0dXJuIFVzYkRldmljZVByb3h5LnByb3RvdHlwZS5p
c29jaHJvbm91c1RyYW5zZmVyT3V0Ci0gICAgICAgIC5hcHBseSh0aGlzLnB0ci5nZXRQcm94eSgp
LCBhcmd1bWVudHMpOwotICB9OwotCi0gIFVzYkRldmljZVByb3h5LnByb3RvdHlwZS5pc29jaHJv
bm91c1RyYW5zZmVyT3V0ID0gZnVuY3Rpb24oZW5kcG9pbnROdW1iZXIsIGRhdGEsIHBhY2tldExl
bmd0aHMsIHRpbWVvdXQpIHsKLSAgICB2YXIgcGFyYW1zID0gbmV3IFVzYkRldmljZV9Jc29jaHJv
bm91c1RyYW5zZmVyT3V0X1BhcmFtcygpOwotICAgIHBhcmFtcy5lbmRwb2ludE51bWJlciA9IGVu
ZHBvaW50TnVtYmVyOwotICAgIHBhcmFtcy5kYXRhID0gZGF0YTsKLSAgICBwYXJhbXMucGFja2V0
TGVuZ3RocyA9IHBhY2tldExlbmd0aHM7Ci0gICAgcGFyYW1zLnRpbWVvdXQgPSB0aW1lb3V0Owot
ICAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKLSAgICAg
IHZhciBidWlsZGVyID0gbmV3IGNvZGVjLk1lc3NhZ2VWMUJ1aWxkZXIoCi0gICAgICAgICAga1Vz
YkRldmljZV9Jc29jaHJvbm91c1RyYW5zZmVyT3V0X05hbWUsCi0gICAgICAgICAgY29kZWMuYWxp
Z24oVXNiRGV2aWNlX0lzb2Nocm9ub3VzVHJhbnNmZXJPdXRfUGFyYW1zLmVuY29kZWRTaXplKSwK
LSAgICAgICAgICBjb2RlYy5rTWVzc2FnZUV4cGVjdHNSZXNwb25zZSwgMCk7Ci0gICAgICBidWls
ZGVyLmVuY29kZVN0cnVjdChVc2JEZXZpY2VfSXNvY2hyb25vdXNUcmFuc2Zlck91dF9QYXJhbXMs
IHBhcmFtcyk7Ci0gICAgICB2YXIgbWVzc2FnZSA9IGJ1aWxkZXIuZmluaXNoKCk7Ci0gICAgICB0
aGlzLnJlY2VpdmVyXy5hY2NlcHRBbmRFeHBlY3RSZXNwb25zZShtZXNzYWdlKS50aGVuKGZ1bmN0
aW9uKG1lc3NhZ2UpIHsKLSAgICAgICAgdmFyIHJlYWRlciA9IG5ldyBjb2RlYy5NZXNzYWdlUmVh
ZGVyKG1lc3NhZ2UpOwotICAgICAgICB2YXIgcmVzcG9uc2VQYXJhbXMgPQotICAgICAgICAgICAg
cmVhZGVyLmRlY29kZVN0cnVjdChVc2JEZXZpY2VfSXNvY2hyb25vdXNUcmFuc2Zlck91dF9SZXNw
b25zZVBhcmFtcyk7Ci0gICAgICAgIHJlc29sdmUocmVzcG9uc2VQYXJhbXMpOwotICAgICAgfSku
Y2F0Y2goZnVuY3Rpb24ocmVzdWx0KSB7Ci0gICAgICAgIHJlamVjdChFcnJvcigiQ29ubmVjdGlv
biBlcnJvcjogIiArIHJlc3VsdCkpOwotICAgICAgfSk7Ci0gICAgfS5iaW5kKHRoaXMpKTsKLSAg
fTsKLQotICBmdW5jdGlvbiBVc2JEZXZpY2VTdHViKGRlbGVnYXRlKSB7Ci0gICAgdGhpcy5kZWxl
Z2F0ZV8gPSBkZWxlZ2F0ZTsKLSAgfQotICBVc2JEZXZpY2VTdHViLnByb3RvdHlwZS5vcGVuID0g
ZnVuY3Rpb24oKSB7Ci0gICAgcmV0dXJuIHRoaXMuZGVsZWdhdGVfICYmIHRoaXMuZGVsZWdhdGVf
Lm9wZW4gJiYgdGhpcy5kZWxlZ2F0ZV8ub3BlbigpOwotICB9Ci0gIFVzYkRldmljZVN0dWIucHJv
dG90eXBlLmNsb3NlID0gZnVuY3Rpb24oKSB7Ci0gICAgcmV0dXJuIHRoaXMuZGVsZWdhdGVfICYm
IHRoaXMuZGVsZWdhdGVfLmNsb3NlICYmIHRoaXMuZGVsZWdhdGVfLmNsb3NlKCk7Ci0gIH0KLSAg
VXNiRGV2aWNlU3R1Yi5wcm90b3R5cGUuc2V0Q29uZmlndXJhdGlvbiA9IGZ1bmN0aW9uKHZhbHVl
KSB7Ci0gICAgcmV0dXJuIHRoaXMuZGVsZWdhdGVfICYmIHRoaXMuZGVsZWdhdGVfLnNldENvbmZp
Z3VyYXRpb24gJiYgdGhpcy5kZWxlZ2F0ZV8uc2V0Q29uZmlndXJhdGlvbih2YWx1ZSk7Ci0gIH0K
LSAgVXNiRGV2aWNlU3R1Yi5wcm90b3R5cGUuY2xhaW1JbnRlcmZhY2UgPSBmdW5jdGlvbihpbnRl
cmZhY2VOdW1iZXIpIHsKLSAgICByZXR1cm4gdGhpcy5kZWxlZ2F0ZV8gJiYgdGhpcy5kZWxlZ2F0
ZV8uY2xhaW1JbnRlcmZhY2UgJiYgdGhpcy5kZWxlZ2F0ZV8uY2xhaW1JbnRlcmZhY2UoaW50ZXJm
YWNlTnVtYmVyKTsKLSAgfQotICBVc2JEZXZpY2VTdHViLnByb3RvdHlwZS5yZWxlYXNlSW50ZXJm
YWNlID0gZnVuY3Rpb24oaW50ZXJmYWNlTnVtYmVyKSB7Ci0gICAgcmV0dXJuIHRoaXMuZGVsZWdh
dGVfICYmIHRoaXMuZGVsZWdhdGVfLnJlbGVhc2VJbnRlcmZhY2UgJiYgdGhpcy5kZWxlZ2F0ZV8u
cmVsZWFzZUludGVyZmFjZShpbnRlcmZhY2VOdW1iZXIpOwotICB9Ci0gIFVzYkRldmljZVN0dWIu
cHJvdG90eXBlLnNldEludGVyZmFjZUFsdGVybmF0ZVNldHRpbmcgPSBmdW5jdGlvbihpbnRlcmZh
Y2VOdW1iZXIsIGFsdGVybmF0ZVNldHRpbmcpIHsKLSAgICByZXR1cm4gdGhpcy5kZWxlZ2F0ZV8g
JiYgdGhpcy5kZWxlZ2F0ZV8uc2V0SW50ZXJmYWNlQWx0ZXJuYXRlU2V0dGluZyAmJiB0aGlzLmRl
bGVnYXRlXy5zZXRJbnRlcmZhY2VBbHRlcm5hdGVTZXR0aW5nKGludGVyZmFjZU51bWJlciwgYWx0
ZXJuYXRlU2V0dGluZyk7Ci0gIH0KLSAgVXNiRGV2aWNlU3R1Yi5wcm90b3R5cGUucmVzZXQgPSBm
dW5jdGlvbigpIHsKLSAgICByZXR1cm4gdGhpcy5kZWxlZ2F0ZV8gJiYgdGhpcy5kZWxlZ2F0ZV8u
cmVzZXQgJiYgdGhpcy5kZWxlZ2F0ZV8ucmVzZXQoKTsKLSAgfQotICBVc2JEZXZpY2VTdHViLnBy
b3RvdHlwZS5jbGVhckhhbHQgPSBmdW5jdGlvbihlbmRwb2ludCkgewotICAgIHJldHVybiB0aGlz
LmRlbGVnYXRlXyAmJiB0aGlzLmRlbGVnYXRlXy5jbGVhckhhbHQgJiYgdGhpcy5kZWxlZ2F0ZV8u
Y2xlYXJIYWx0KGVuZHBvaW50KTsKLSAgfQotICBVc2JEZXZpY2VTdHViLnByb3RvdHlwZS5jb250
cm9sVHJhbnNmZXJJbiA9IGZ1bmN0aW9uKHBhcmFtcywgbGVuZ3RoLCB0aW1lb3V0KSB7Ci0gICAg
cmV0dXJuIHRoaXMuZGVsZWdhdGVfICYmIHRoaXMuZGVsZWdhdGVfLmNvbnRyb2xUcmFuc2Zlcklu
ICYmIHRoaXMuZGVsZWdhdGVfLmNvbnRyb2xUcmFuc2ZlckluKHBhcmFtcywgbGVuZ3RoLCB0aW1l
b3V0KTsKLSAgfQotICBVc2JEZXZpY2VTdHViLnByb3RvdHlwZS5jb250cm9sVHJhbnNmZXJPdXQg
PSBmdW5jdGlvbihwYXJhbXMsIGRhdGEsIHRpbWVvdXQpIHsKLSAgICByZXR1cm4gdGhpcy5kZWxl
Z2F0ZV8gJiYgdGhpcy5kZWxlZ2F0ZV8uY29udHJvbFRyYW5zZmVyT3V0ICYmIHRoaXMuZGVsZWdh
dGVfLmNvbnRyb2xUcmFuc2Zlck91dChwYXJhbXMsIGRhdGEsIHRpbWVvdXQpOwotICB9Ci0gIFVz
YkRldmljZVN0dWIucHJvdG90eXBlLmdlbmVyaWNUcmFuc2ZlckluID0gZnVuY3Rpb24oZW5kcG9p
bnROdW1iZXIsIGxlbmd0aCwgdGltZW91dCkgewotICAgIHJldHVybiB0aGlzLmRlbGVnYXRlXyAm
JiB0aGlzLmRlbGVnYXRlXy5nZW5lcmljVHJhbnNmZXJJbiAmJiB0aGlzLmRlbGVnYXRlXy5nZW5l
cmljVHJhbnNmZXJJbihlbmRwb2ludE51bWJlciwgbGVuZ3RoLCB0aW1lb3V0KTsKLSAgfQotICBV
c2JEZXZpY2VTdHViLnByb3RvdHlwZS5nZW5lcmljVHJhbnNmZXJPdXQgPSBmdW5jdGlvbihlbmRw
b2ludE51bWJlciwgZGF0YSwgdGltZW91dCkgewotICAgIHJldHVybiB0aGlzLmRlbGVnYXRlXyAm
JiB0aGlzLmRlbGVnYXRlXy5nZW5lcmljVHJhbnNmZXJPdXQgJiYgdGhpcy5kZWxlZ2F0ZV8uZ2Vu
ZXJpY1RyYW5zZmVyT3V0KGVuZHBvaW50TnVtYmVyLCBkYXRhLCB0aW1lb3V0KTsKLSAgfQotICBV
c2JEZXZpY2VTdHViLnByb3RvdHlwZS5pc29jaHJvbm91c1RyYW5zZmVySW4gPSBmdW5jdGlvbihl
bmRwb2ludE51bWJlciwgcGFja2V0TGVuZ3RocywgdGltZW91dCkgewotICAgIHJldHVybiB0aGlz
LmRlbGVnYXRlXyAmJiB0aGlzLmRlbGVnYXRlXy5pc29jaHJvbm91c1RyYW5zZmVySW4gJiYgdGhp
cy5kZWxlZ2F0ZV8uaXNvY2hyb25vdXNUcmFuc2ZlckluKGVuZHBvaW50TnVtYmVyLCBwYWNrZXRM
ZW5ndGhzLCB0aW1lb3V0KTsKLSAgfQotICBVc2JEZXZpY2VTdHViLnByb3RvdHlwZS5pc29jaHJv
bm91c1RyYW5zZmVyT3V0ID0gZnVuY3Rpb24oZW5kcG9pbnROdW1iZXIsIGRhdGEsIHBhY2tldExl
bmd0aHMsIHRpbWVvdXQpIHsKLSAgICByZXR1cm4gdGhpcy5kZWxlZ2F0ZV8gJiYgdGhpcy5kZWxl
Z2F0ZV8uaXNvY2hyb25vdXNUcmFuc2Zlck91dCAmJiB0aGlzLmRlbGVnYXRlXy5pc29jaHJvbm91
c1RyYW5zZmVyT3V0KGVuZHBvaW50TnVtYmVyLCBkYXRhLCBwYWNrZXRMZW5ndGhzLCB0aW1lb3V0
KTsKLSAgfQotCi0gIFVzYkRldmljZVN0dWIucHJvdG90eXBlLmFjY2VwdCA9IGZ1bmN0aW9uKG1l
c3NhZ2UpIHsKLSAgICB2YXIgcmVhZGVyID0gbmV3IGNvZGVjLk1lc3NhZ2VSZWFkZXIobWVzc2Fn
ZSk7Ci0gICAgc3dpdGNoIChyZWFkZXIubWVzc2FnZU5hbWUpIHsKLSAgICBkZWZhdWx0OgotICAg
ICAgcmV0dXJuIGZhbHNlOwotICAgIH0KLSAgfTsKLQotICBVc2JEZXZpY2VTdHViLnByb3RvdHlw
ZS5hY2NlcHRXaXRoUmVzcG9uZGVyID0KLSAgICAgIGZ1bmN0aW9uKG1lc3NhZ2UsIHJlc3BvbmRl
cikgewotICAgIHZhciByZWFkZXIgPSBuZXcgY29kZWMuTWVzc2FnZVJlYWRlcihtZXNzYWdlKTsK
LSAgICBzd2l0Y2ggKHJlYWRlci5tZXNzYWdlTmFtZSkgewotICAgIGNhc2Uga1VzYkRldmljZV9P
cGVuX05hbWU6Ci0gICAgICB2YXIgcGFyYW1zID0gcmVhZGVyLmRlY29kZVN0cnVjdChVc2JEZXZp
Y2VfT3Blbl9QYXJhbXMpOwotICAgICAgdGhpcy5vcGVuKCkudGhlbihmdW5jdGlvbihyZXNwb25z
ZSkgewotICAgICAgICB2YXIgcmVzcG9uc2VQYXJhbXMgPQotICAgICAgICAgICAgbmV3IFVzYkRl
dmljZV9PcGVuX1Jlc3BvbnNlUGFyYW1zKCk7Ci0gICAgICAgIHJlc3BvbnNlUGFyYW1zLmVycm9y
ID0gcmVzcG9uc2UuZXJyb3I7Ci0gICAgICAgIHZhciBidWlsZGVyID0gbmV3IGNvZGVjLk1lc3Nh
Z2VWMUJ1aWxkZXIoCi0gICAgICAgICAgICBrVXNiRGV2aWNlX09wZW5fTmFtZSwKLSAgICAgICAg
ICAgIGNvZGVjLmFsaWduKFVzYkRldmljZV9PcGVuX1Jlc3BvbnNlUGFyYW1zLmVuY29kZWRTaXpl
KSwKLSAgICAgICAgICAgIGNvZGVjLmtNZXNzYWdlSXNSZXNwb25zZSwgcmVhZGVyLnJlcXVlc3RJ
RCk7Ci0gICAgICAgIGJ1aWxkZXIuZW5jb2RlU3RydWN0KFVzYkRldmljZV9PcGVuX1Jlc3BvbnNl
UGFyYW1zLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNwb25zZVBhcmFtcyk7Ci0g
ICAgICAgIHZhciBtZXNzYWdlID0gYnVpbGRlci5maW5pc2goKTsKLSAgICAgICAgcmVzcG9uZGVy
LmFjY2VwdChtZXNzYWdlKTsKLSAgICAgIH0pOwotICAgICAgcmV0dXJuIHRydWU7Ci0gICAgY2Fz
ZSBrVXNiRGV2aWNlX0Nsb3NlX05hbWU6Ci0gICAgICB2YXIgcGFyYW1zID0gcmVhZGVyLmRlY29k
ZVN0cnVjdChVc2JEZXZpY2VfQ2xvc2VfUGFyYW1zKTsKLSAgICAgIHRoaXMuY2xvc2UoKS50aGVu
KGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgICAgIHZhciByZXNwb25zZVBhcmFtcyA9Ci0gICAg
ICAgICAgICBuZXcgVXNiRGV2aWNlX0Nsb3NlX1Jlc3BvbnNlUGFyYW1zKCk7Ci0gICAgICAgIHZh
ciBidWlsZGVyID0gbmV3IGNvZGVjLk1lc3NhZ2VWMUJ1aWxkZXIoCi0gICAgICAgICAgICBrVXNi
RGV2aWNlX0Nsb3NlX05hbWUsCi0gICAgICAgICAgICBjb2RlYy5hbGlnbihVc2JEZXZpY2VfQ2xv
c2VfUmVzcG9uc2VQYXJhbXMuZW5jb2RlZFNpemUpLAotICAgICAgICAgICAgY29kZWMua01lc3Nh
Z2VJc1Jlc3BvbnNlLCByZWFkZXIucmVxdWVzdElEKTsKLSAgICAgICAgYnVpbGRlci5lbmNvZGVT
dHJ1Y3QoVXNiRGV2aWNlX0Nsb3NlX1Jlc3BvbnNlUGFyYW1zLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICByZXNwb25zZVBhcmFtcyk7Ci0gICAgICAgIHZhciBtZXNzYWdlID0gYnVpbGRl
ci5maW5pc2goKTsKLSAgICAgICAgcmVzcG9uZGVyLmFjY2VwdChtZXNzYWdlKTsKLSAgICAgIH0p
OwotICAgICAgcmV0dXJuIHRydWU7Ci0gICAgY2FzZSBrVXNiRGV2aWNlX1NldENvbmZpZ3VyYXRp
b25fTmFtZToKLSAgICAgIHZhciBwYXJhbXMgPSByZWFkZXIuZGVjb2RlU3RydWN0KFVzYkRldmlj
ZV9TZXRDb25maWd1cmF0aW9uX1BhcmFtcyk7Ci0gICAgICB0aGlzLnNldENvbmZpZ3VyYXRpb24o
cGFyYW1zLnZhbHVlKS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgICAgIHZhciByZXNw
b25zZVBhcmFtcyA9Ci0gICAgICAgICAgICBuZXcgVXNiRGV2aWNlX1NldENvbmZpZ3VyYXRpb25f
UmVzcG9uc2VQYXJhbXMoKTsKLSAgICAgICAgcmVzcG9uc2VQYXJhbXMuc3VjY2VzcyA9IHJlc3Bv
bnNlLnN1Y2Nlc3M7Ci0gICAgICAgIHZhciBidWlsZGVyID0gbmV3IGNvZGVjLk1lc3NhZ2VWMUJ1
aWxkZXIoCi0gICAgICAgICAgICBrVXNiRGV2aWNlX1NldENvbmZpZ3VyYXRpb25fTmFtZSwKLSAg
ICAgICAgICAgIGNvZGVjLmFsaWduKFVzYkRldmljZV9TZXRDb25maWd1cmF0aW9uX1Jlc3BvbnNl
UGFyYW1zLmVuY29kZWRTaXplKSwKLSAgICAgICAgICAgIGNvZGVjLmtNZXNzYWdlSXNSZXNwb25z
ZSwgcmVhZGVyLnJlcXVlc3RJRCk7Ci0gICAgICAgIGJ1aWxkZXIuZW5jb2RlU3RydWN0KFVzYkRl
dmljZV9TZXRDb25maWd1cmF0aW9uX1Jlc3BvbnNlUGFyYW1zLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICByZXNwb25zZVBhcmFtcyk7Ci0gICAgICAgIHZhciBtZXNzYWdlID0gYnVpbGRl
ci5maW5pc2goKTsKLSAgICAgICAgcmVzcG9uZGVyLmFjY2VwdChtZXNzYWdlKTsKLSAgICAgIH0p
OwotICAgICAgcmV0dXJuIHRydWU7Ci0gICAgY2FzZSBrVXNiRGV2aWNlX0NsYWltSW50ZXJmYWNl
X05hbWU6Ci0gICAgICB2YXIgcGFyYW1zID0gcmVhZGVyLmRlY29kZVN0cnVjdChVc2JEZXZpY2Vf
Q2xhaW1JbnRlcmZhY2VfUGFyYW1zKTsKLSAgICAgIHRoaXMuY2xhaW1JbnRlcmZhY2UocGFyYW1z
LmludGVyZmFjZU51bWJlcikudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgICAgICB2YXIg
cmVzcG9uc2VQYXJhbXMgPQotICAgICAgICAgICAgbmV3IFVzYkRldmljZV9DbGFpbUludGVyZmFj
ZV9SZXNwb25zZVBhcmFtcygpOwotICAgICAgICByZXNwb25zZVBhcmFtcy5zdWNjZXNzID0gcmVz
cG9uc2Uuc3VjY2VzczsKLSAgICAgICAgdmFyIGJ1aWxkZXIgPSBuZXcgY29kZWMuTWVzc2FnZVYx
QnVpbGRlcigKLSAgICAgICAgICAgIGtVc2JEZXZpY2VfQ2xhaW1JbnRlcmZhY2VfTmFtZSwKLSAg
ICAgICAgICAgIGNvZGVjLmFsaWduKFVzYkRldmljZV9DbGFpbUludGVyZmFjZV9SZXNwb25zZVBh
cmFtcy5lbmNvZGVkU2l6ZSksCi0gICAgICAgICAgICBjb2RlYy5rTWVzc2FnZUlzUmVzcG9uc2Us
IHJlYWRlci5yZXF1ZXN0SUQpOwotICAgICAgICBidWlsZGVyLmVuY29kZVN0cnVjdChVc2JEZXZp
Y2VfQ2xhaW1JbnRlcmZhY2VfUmVzcG9uc2VQYXJhbXMsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHJlc3BvbnNlUGFyYW1zKTsKLSAgICAgICAgdmFyIG1lc3NhZ2UgPSBidWlsZGVyLmZp
bmlzaCgpOwotICAgICAgICByZXNwb25kZXIuYWNjZXB0KG1lc3NhZ2UpOwotICAgICAgfSk7Ci0g
ICAgICByZXR1cm4gdHJ1ZTsKLSAgICBjYXNlIGtVc2JEZXZpY2VfUmVsZWFzZUludGVyZmFjZV9O
YW1lOgotICAgICAgdmFyIHBhcmFtcyA9IHJlYWRlci5kZWNvZGVTdHJ1Y3QoVXNiRGV2aWNlX1Jl
bGVhc2VJbnRlcmZhY2VfUGFyYW1zKTsKLSAgICAgIHRoaXMucmVsZWFzZUludGVyZmFjZShwYXJh
bXMuaW50ZXJmYWNlTnVtYmVyKS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgICAgIHZh
ciByZXNwb25zZVBhcmFtcyA9Ci0gICAgICAgICAgICBuZXcgVXNiRGV2aWNlX1JlbGVhc2VJbnRl
cmZhY2VfUmVzcG9uc2VQYXJhbXMoKTsKLSAgICAgICAgcmVzcG9uc2VQYXJhbXMuc3VjY2VzcyA9
IHJlc3BvbnNlLnN1Y2Nlc3M7Ci0gICAgICAgIHZhciBidWlsZGVyID0gbmV3IGNvZGVjLk1lc3Nh
Z2VWMUJ1aWxkZXIoCi0gICAgICAgICAgICBrVXNiRGV2aWNlX1JlbGVhc2VJbnRlcmZhY2VfTmFt
ZSwKLSAgICAgICAgICAgIGNvZGVjLmFsaWduKFVzYkRldmljZV9SZWxlYXNlSW50ZXJmYWNlX1Jl
c3BvbnNlUGFyYW1zLmVuY29kZWRTaXplKSwKLSAgICAgICAgICAgIGNvZGVjLmtNZXNzYWdlSXNS
ZXNwb25zZSwgcmVhZGVyLnJlcXVlc3RJRCk7Ci0gICAgICAgIGJ1aWxkZXIuZW5jb2RlU3RydWN0
KFVzYkRldmljZV9SZWxlYXNlSW50ZXJmYWNlX1Jlc3BvbnNlUGFyYW1zLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICByZXNwb25zZVBhcmFtcyk7Ci0gICAgICAgIHZhciBtZXNzYWdlID0g
YnVpbGRlci5maW5pc2goKTsKLSAgICAgICAgcmVzcG9uZGVyLmFjY2VwdChtZXNzYWdlKTsKLSAg
ICAgIH0pOwotICAgICAgcmV0dXJuIHRydWU7Ci0gICAgY2FzZSBrVXNiRGV2aWNlX1NldEludGVy
ZmFjZUFsdGVybmF0ZVNldHRpbmdfTmFtZToKLSAgICAgIHZhciBwYXJhbXMgPSByZWFkZXIuZGVj
b2RlU3RydWN0KFVzYkRldmljZV9TZXRJbnRlcmZhY2VBbHRlcm5hdGVTZXR0aW5nX1BhcmFtcyk7
Ci0gICAgICB0aGlzLnNldEludGVyZmFjZUFsdGVybmF0ZVNldHRpbmcocGFyYW1zLmludGVyZmFj
ZU51bWJlciwgcGFyYW1zLmFsdGVybmF0ZVNldHRpbmcpLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2Up
IHsKLSAgICAgICAgdmFyIHJlc3BvbnNlUGFyYW1zID0KLSAgICAgICAgICAgIG5ldyBVc2JEZXZp
Y2VfU2V0SW50ZXJmYWNlQWx0ZXJuYXRlU2V0dGluZ19SZXNwb25zZVBhcmFtcygpOwotICAgICAg
ICByZXNwb25zZVBhcmFtcy5zdWNjZXNzID0gcmVzcG9uc2Uuc3VjY2VzczsKLSAgICAgICAgdmFy
IGJ1aWxkZXIgPSBuZXcgY29kZWMuTWVzc2FnZVYxQnVpbGRlcigKLSAgICAgICAgICAgIGtVc2JE
ZXZpY2VfU2V0SW50ZXJmYWNlQWx0ZXJuYXRlU2V0dGluZ19OYW1lLAotICAgICAgICAgICAgY29k
ZWMuYWxpZ24oVXNiRGV2aWNlX1NldEludGVyZmFjZUFsdGVybmF0ZVNldHRpbmdfUmVzcG9uc2VQ
YXJhbXMuZW5jb2RlZFNpemUpLAotICAgICAgICAgICAgY29kZWMua01lc3NhZ2VJc1Jlc3BvbnNl
LCByZWFkZXIucmVxdWVzdElEKTsKLSAgICAgICAgYnVpbGRlci5lbmNvZGVTdHJ1Y3QoVXNiRGV2
aWNlX1NldEludGVyZmFjZUFsdGVybmF0ZVNldHRpbmdfUmVzcG9uc2VQYXJhbXMsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlUGFyYW1zKTsKLSAgICAgICAgdmFyIG1lc3Nh
Z2UgPSBidWlsZGVyLmZpbmlzaCgpOwotICAgICAgICByZXNwb25kZXIuYWNjZXB0KG1lc3NhZ2Up
OwotICAgICAgfSk7Ci0gICAgICByZXR1cm4gdHJ1ZTsKLSAgICBjYXNlIGtVc2JEZXZpY2VfUmVz
ZXRfTmFtZToKLSAgICAgIHZhciBwYXJhbXMgPSByZWFkZXIuZGVjb2RlU3RydWN0KFVzYkRldmlj
ZV9SZXNldF9QYXJhbXMpOwotICAgICAgdGhpcy5yZXNldCgpLnRoZW4oZnVuY3Rpb24ocmVzcG9u
c2UpIHsKLSAgICAgICAgdmFyIHJlc3BvbnNlUGFyYW1zID0KLSAgICAgICAgICAgIG5ldyBVc2JE
ZXZpY2VfUmVzZXRfUmVzcG9uc2VQYXJhbXMoKTsKLSAgICAgICAgcmVzcG9uc2VQYXJhbXMuc3Vj
Y2VzcyA9IHJlc3BvbnNlLnN1Y2Nlc3M7Ci0gICAgICAgIHZhciBidWlsZGVyID0gbmV3IGNvZGVj
Lk1lc3NhZ2VWMUJ1aWxkZXIoCi0gICAgICAgICAgICBrVXNiRGV2aWNlX1Jlc2V0X05hbWUsCi0g
ICAgICAgICAgICBjb2RlYy5hbGlnbihVc2JEZXZpY2VfUmVzZXRfUmVzcG9uc2VQYXJhbXMuZW5j
b2RlZFNpemUpLAotICAgICAgICAgICAgY29kZWMua01lc3NhZ2VJc1Jlc3BvbnNlLCByZWFkZXIu
cmVxdWVzdElEKTsKLSAgICAgICAgYnVpbGRlci5lbmNvZGVTdHJ1Y3QoVXNiRGV2aWNlX1Jlc2V0
X1Jlc3BvbnNlUGFyYW1zLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNwb25zZVBh
cmFtcyk7Ci0gICAgICAgIHZhciBtZXNzYWdlID0gYnVpbGRlci5maW5pc2goKTsKLSAgICAgICAg
cmVzcG9uZGVyLmFjY2VwdChtZXNzYWdlKTsKLSAgICAgIH0pOwotICAgICAgcmV0dXJuIHRydWU7
Ci0gICAgY2FzZSBrVXNiRGV2aWNlX0NsZWFySGFsdF9OYW1lOgotICAgICAgdmFyIHBhcmFtcyA9
IHJlYWRlci5kZWNvZGVTdHJ1Y3QoVXNiRGV2aWNlX0NsZWFySGFsdF9QYXJhbXMpOwotICAgICAg
dGhpcy5jbGVhckhhbHQocGFyYW1zLmVuZHBvaW50KS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7
Ci0gICAgICAgIHZhciByZXNwb25zZVBhcmFtcyA9Ci0gICAgICAgICAgICBuZXcgVXNiRGV2aWNl
X0NsZWFySGFsdF9SZXNwb25zZVBhcmFtcygpOwotICAgICAgICByZXNwb25zZVBhcmFtcy5zdWNj
ZXNzID0gcmVzcG9uc2Uuc3VjY2VzczsKLSAgICAgICAgdmFyIGJ1aWxkZXIgPSBuZXcgY29kZWMu
TWVzc2FnZVYxQnVpbGRlcigKLSAgICAgICAgICAgIGtVc2JEZXZpY2VfQ2xlYXJIYWx0X05hbWUs
Ci0gICAgICAgICAgICBjb2RlYy5hbGlnbihVc2JEZXZpY2VfQ2xlYXJIYWx0X1Jlc3BvbnNlUGFy
YW1zLmVuY29kZWRTaXplKSwKLSAgICAgICAgICAgIGNvZGVjLmtNZXNzYWdlSXNSZXNwb25zZSwg
cmVhZGVyLnJlcXVlc3RJRCk7Ci0gICAgICAgIGJ1aWxkZXIuZW5jb2RlU3RydWN0KFVzYkRldmlj
ZV9DbGVhckhhbHRfUmVzcG9uc2VQYXJhbXMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHJlc3BvbnNlUGFyYW1zKTsKLSAgICAgICAgdmFyIG1lc3NhZ2UgPSBidWlsZGVyLmZpbmlzaCgp
OwotICAgICAgICByZXNwb25kZXIuYWNjZXB0KG1lc3NhZ2UpOwotICAgICAgfSk7Ci0gICAgICBy
ZXR1cm4gdHJ1ZTsKLSAgICBjYXNlIGtVc2JEZXZpY2VfQ29udHJvbFRyYW5zZmVySW5fTmFtZToK
LSAgICAgIHZhciBwYXJhbXMgPSByZWFkZXIuZGVjb2RlU3RydWN0KFVzYkRldmljZV9Db250cm9s
VHJhbnNmZXJJbl9QYXJhbXMpOwotICAgICAgdGhpcy5jb250cm9sVHJhbnNmZXJJbihwYXJhbXMu
cGFyYW1zLCBwYXJhbXMubGVuZ3RoLCBwYXJhbXMudGltZW91dCkudGhlbihmdW5jdGlvbihyZXNw
b25zZSkgewotICAgICAgICB2YXIgcmVzcG9uc2VQYXJhbXMgPQotICAgICAgICAgICAgbmV3IFVz
YkRldmljZV9Db250cm9sVHJhbnNmZXJJbl9SZXNwb25zZVBhcmFtcygpOwotICAgICAgICByZXNw
b25zZVBhcmFtcy5zdGF0dXMgPSByZXNwb25zZS5zdGF0dXM7Ci0gICAgICAgIHJlc3BvbnNlUGFy
YW1zLmRhdGEgPSByZXNwb25zZS5kYXRhOwotICAgICAgICB2YXIgYnVpbGRlciA9IG5ldyBjb2Rl
Yy5NZXNzYWdlVjFCdWlsZGVyKAotICAgICAgICAgICAga1VzYkRldmljZV9Db250cm9sVHJhbnNm
ZXJJbl9OYW1lLAotICAgICAgICAgICAgY29kZWMuYWxpZ24oVXNiRGV2aWNlX0NvbnRyb2xUcmFu
c2ZlckluX1Jlc3BvbnNlUGFyYW1zLmVuY29kZWRTaXplKSwKLSAgICAgICAgICAgIGNvZGVjLmtN
ZXNzYWdlSXNSZXNwb25zZSwgcmVhZGVyLnJlcXVlc3RJRCk7Ci0gICAgICAgIGJ1aWxkZXIuZW5j
b2RlU3RydWN0KFVzYkRldmljZV9Db250cm9sVHJhbnNmZXJJbl9SZXNwb25zZVBhcmFtcywKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2VQYXJhbXMpOwotICAgICAgICB2YXIg
bWVzc2FnZSA9IGJ1aWxkZXIuZmluaXNoKCk7Ci0gICAgICAgIHJlc3BvbmRlci5hY2NlcHQobWVz
c2FnZSk7Ci0gICAgICB9KTsKLSAgICAgIHJldHVybiB0cnVlOwotICAgIGNhc2Uga1VzYkRldmlj
ZV9Db250cm9sVHJhbnNmZXJPdXRfTmFtZToKLSAgICAgIHZhciBwYXJhbXMgPSByZWFkZXIuZGVj
b2RlU3RydWN0KFVzYkRldmljZV9Db250cm9sVHJhbnNmZXJPdXRfUGFyYW1zKTsKLSAgICAgIHRo
aXMuY29udHJvbFRyYW5zZmVyT3V0KHBhcmFtcy5wYXJhbXMsIHBhcmFtcy5kYXRhLCBwYXJhbXMu
dGltZW91dCkudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgICAgICB2YXIgcmVzcG9uc2VQ
YXJhbXMgPQotICAgICAgICAgICAgbmV3IFVzYkRldmljZV9Db250cm9sVHJhbnNmZXJPdXRfUmVz
cG9uc2VQYXJhbXMoKTsKLSAgICAgICAgcmVzcG9uc2VQYXJhbXMuc3RhdHVzID0gcmVzcG9uc2Uu
c3RhdHVzOwotICAgICAgICB2YXIgYnVpbGRlciA9IG5ldyBjb2RlYy5NZXNzYWdlVjFCdWlsZGVy
KAotICAgICAgICAgICAga1VzYkRldmljZV9Db250cm9sVHJhbnNmZXJPdXRfTmFtZSwKLSAgICAg
ICAgICAgIGNvZGVjLmFsaWduKFVzYkRldmljZV9Db250cm9sVHJhbnNmZXJPdXRfUmVzcG9uc2VQ
YXJhbXMuZW5jb2RlZFNpemUpLAotICAgICAgICAgICAgY29kZWMua01lc3NhZ2VJc1Jlc3BvbnNl
LCByZWFkZXIucmVxdWVzdElEKTsKLSAgICAgICAgYnVpbGRlci5lbmNvZGVTdHJ1Y3QoVXNiRGV2
aWNlX0NvbnRyb2xUcmFuc2Zlck91dF9SZXNwb25zZVBhcmFtcywKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgcmVzcG9uc2VQYXJhbXMpOwotICAgICAgICB2YXIgbWVzc2FnZSA9IGJ1aWxk
ZXIuZmluaXNoKCk7Ci0gICAgICAgIHJlc3BvbmRlci5hY2NlcHQobWVzc2FnZSk7Ci0gICAgICB9
KTsKLSAgICAgIHJldHVybiB0cnVlOwotICAgIGNhc2Uga1VzYkRldmljZV9HZW5lcmljVHJhbnNm
ZXJJbl9OYW1lOgotICAgICAgdmFyIHBhcmFtcyA9IHJlYWRlci5kZWNvZGVTdHJ1Y3QoVXNiRGV2
aWNlX0dlbmVyaWNUcmFuc2ZlckluX1BhcmFtcyk7Ci0gICAgICB0aGlzLmdlbmVyaWNUcmFuc2Zl
ckluKHBhcmFtcy5lbmRwb2ludE51bWJlciwgcGFyYW1zLmxlbmd0aCwgcGFyYW1zLnRpbWVvdXQp
LnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICAgICAgdmFyIHJlc3BvbnNlUGFyYW1zID0K
LSAgICAgICAgICAgIG5ldyBVc2JEZXZpY2VfR2VuZXJpY1RyYW5zZmVySW5fUmVzcG9uc2VQYXJh
bXMoKTsKLSAgICAgICAgcmVzcG9uc2VQYXJhbXMuc3RhdHVzID0gcmVzcG9uc2Uuc3RhdHVzOwot
ICAgICAgICByZXNwb25zZVBhcmFtcy5kYXRhID0gcmVzcG9uc2UuZGF0YTsKLSAgICAgICAgdmFy
IGJ1aWxkZXIgPSBuZXcgY29kZWMuTWVzc2FnZVYxQnVpbGRlcigKLSAgICAgICAgICAgIGtVc2JE
ZXZpY2VfR2VuZXJpY1RyYW5zZmVySW5fTmFtZSwKLSAgICAgICAgICAgIGNvZGVjLmFsaWduKFVz
YkRldmljZV9HZW5lcmljVHJhbnNmZXJJbl9SZXNwb25zZVBhcmFtcy5lbmNvZGVkU2l6ZSksCi0g
ICAgICAgICAgICBjb2RlYy5rTWVzc2FnZUlzUmVzcG9uc2UsIHJlYWRlci5yZXF1ZXN0SUQpOwot
ICAgICAgICBidWlsZGVyLmVuY29kZVN0cnVjdChVc2JEZXZpY2VfR2VuZXJpY1RyYW5zZmVySW5f
UmVzcG9uc2VQYXJhbXMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlUGFy
YW1zKTsKLSAgICAgICAgdmFyIG1lc3NhZ2UgPSBidWlsZGVyLmZpbmlzaCgpOwotICAgICAgICBy
ZXNwb25kZXIuYWNjZXB0KG1lc3NhZ2UpOwotICAgICAgfSk7Ci0gICAgICByZXR1cm4gdHJ1ZTsK
LSAgICBjYXNlIGtVc2JEZXZpY2VfR2VuZXJpY1RyYW5zZmVyT3V0X05hbWU6Ci0gICAgICB2YXIg
cGFyYW1zID0gcmVhZGVyLmRlY29kZVN0cnVjdChVc2JEZXZpY2VfR2VuZXJpY1RyYW5zZmVyT3V0
X1BhcmFtcyk7Ci0gICAgICB0aGlzLmdlbmVyaWNUcmFuc2Zlck91dChwYXJhbXMuZW5kcG9pbnRO
dW1iZXIsIHBhcmFtcy5kYXRhLCBwYXJhbXMudGltZW91dCkudGhlbihmdW5jdGlvbihyZXNwb25z
ZSkgewotICAgICAgICB2YXIgcmVzcG9uc2VQYXJhbXMgPQotICAgICAgICAgICAgbmV3IFVzYkRl
dmljZV9HZW5lcmljVHJhbnNmZXJPdXRfUmVzcG9uc2VQYXJhbXMoKTsKLSAgICAgICAgcmVzcG9u
c2VQYXJhbXMuc3RhdHVzID0gcmVzcG9uc2Uuc3RhdHVzOwotICAgICAgICB2YXIgYnVpbGRlciA9
IG5ldyBjb2RlYy5NZXNzYWdlVjFCdWlsZGVyKAotICAgICAgICAgICAga1VzYkRldmljZV9HZW5l
cmljVHJhbnNmZXJPdXRfTmFtZSwKLSAgICAgICAgICAgIGNvZGVjLmFsaWduKFVzYkRldmljZV9H
ZW5lcmljVHJhbnNmZXJPdXRfUmVzcG9uc2VQYXJhbXMuZW5jb2RlZFNpemUpLAotICAgICAgICAg
ICAgY29kZWMua01lc3NhZ2VJc1Jlc3BvbnNlLCByZWFkZXIucmVxdWVzdElEKTsKLSAgICAgICAg
YnVpbGRlci5lbmNvZGVTdHJ1Y3QoVXNiRGV2aWNlX0dlbmVyaWNUcmFuc2Zlck91dF9SZXNwb25z
ZVBhcmFtcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2VQYXJhbXMpOwot
ICAgICAgICB2YXIgbWVzc2FnZSA9IGJ1aWxkZXIuZmluaXNoKCk7Ci0gICAgICAgIHJlc3BvbmRl
ci5hY2NlcHQobWVzc2FnZSk7Ci0gICAgICB9KTsKLSAgICAgIHJldHVybiB0cnVlOwotICAgIGNh
c2Uga1VzYkRldmljZV9Jc29jaHJvbm91c1RyYW5zZmVySW5fTmFtZToKLSAgICAgIHZhciBwYXJh
bXMgPSByZWFkZXIuZGVjb2RlU3RydWN0KFVzYkRldmljZV9Jc29jaHJvbm91c1RyYW5zZmVySW5f
UGFyYW1zKTsKLSAgICAgIHRoaXMuaXNvY2hyb25vdXNUcmFuc2ZlckluKHBhcmFtcy5lbmRwb2lu
dE51bWJlciwgcGFyYW1zLnBhY2tldExlbmd0aHMsIHBhcmFtcy50aW1lb3V0KS50aGVuKGZ1bmN0
aW9uKHJlc3BvbnNlKSB7Ci0gICAgICAgIHZhciByZXNwb25zZVBhcmFtcyA9Ci0gICAgICAgICAg
ICBuZXcgVXNiRGV2aWNlX0lzb2Nocm9ub3VzVHJhbnNmZXJJbl9SZXNwb25zZVBhcmFtcygpOwot
ICAgICAgICByZXNwb25zZVBhcmFtcy5kYXRhID0gcmVzcG9uc2UuZGF0YTsKLSAgICAgICAgcmVz
cG9uc2VQYXJhbXMucGFja2V0cyA9IHJlc3BvbnNlLnBhY2tldHM7Ci0gICAgICAgIHZhciBidWls
ZGVyID0gbmV3IGNvZGVjLk1lc3NhZ2VWMUJ1aWxkZXIoCi0gICAgICAgICAgICBrVXNiRGV2aWNl
X0lzb2Nocm9ub3VzVHJhbnNmZXJJbl9OYW1lLAotICAgICAgICAgICAgY29kZWMuYWxpZ24oVXNi
RGV2aWNlX0lzb2Nocm9ub3VzVHJhbnNmZXJJbl9SZXNwb25zZVBhcmFtcy5lbmNvZGVkU2l6ZSks
Ci0gICAgICAgICAgICBjb2RlYy5rTWVzc2FnZUlzUmVzcG9uc2UsIHJlYWRlci5yZXF1ZXN0SUQp
OwotICAgICAgICBidWlsZGVyLmVuY29kZVN0cnVjdChVc2JEZXZpY2VfSXNvY2hyb25vdXNUcmFu
c2ZlckluX1Jlc3BvbnNlUGFyYW1zLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNw
b25zZVBhcmFtcyk7Ci0gICAgICAgIHZhciBtZXNzYWdlID0gYnVpbGRlci5maW5pc2goKTsKLSAg
ICAgICAgcmVzcG9uZGVyLmFjY2VwdChtZXNzYWdlKTsKLSAgICAgIH0pOwotICAgICAgcmV0dXJu
IHRydWU7Ci0gICAgY2FzZSBrVXNiRGV2aWNlX0lzb2Nocm9ub3VzVHJhbnNmZXJPdXRfTmFtZToK
LSAgICAgIHZhciBwYXJhbXMgPSByZWFkZXIuZGVjb2RlU3RydWN0KFVzYkRldmljZV9Jc29jaHJv
bm91c1RyYW5zZmVyT3V0X1BhcmFtcyk7Ci0gICAgICB0aGlzLmlzb2Nocm9ub3VzVHJhbnNmZXJP
dXQocGFyYW1zLmVuZHBvaW50TnVtYmVyLCBwYXJhbXMuZGF0YSwgcGFyYW1zLnBhY2tldExlbmd0
aHMsIHBhcmFtcy50aW1lb3V0KS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgICAgIHZh
ciByZXNwb25zZVBhcmFtcyA9Ci0gICAgICAgICAgICBuZXcgVXNiRGV2aWNlX0lzb2Nocm9ub3Vz
VHJhbnNmZXJPdXRfUmVzcG9uc2VQYXJhbXMoKTsKLSAgICAgICAgcmVzcG9uc2VQYXJhbXMucGFj
a2V0cyA9IHJlc3BvbnNlLnBhY2tldHM7Ci0gICAgICAgIHZhciBidWlsZGVyID0gbmV3IGNvZGVj
Lk1lc3NhZ2VWMUJ1aWxkZXIoCi0gICAgICAgICAgICBrVXNiRGV2aWNlX0lzb2Nocm9ub3VzVHJh
bnNmZXJPdXRfTmFtZSwKLSAgICAgICAgICAgIGNvZGVjLmFsaWduKFVzYkRldmljZV9Jc29jaHJv
bm91c1RyYW5zZmVyT3V0X1Jlc3BvbnNlUGFyYW1zLmVuY29kZWRTaXplKSwKLSAgICAgICAgICAg
IGNvZGVjLmtNZXNzYWdlSXNSZXNwb25zZSwgcmVhZGVyLnJlcXVlc3RJRCk7Ci0gICAgICAgIGJ1
aWxkZXIuZW5jb2RlU3RydWN0KFVzYkRldmljZV9Jc29jaHJvbm91c1RyYW5zZmVyT3V0X1Jlc3Bv
bnNlUGFyYW1zLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNwb25zZVBhcmFtcyk7
Ci0gICAgICAgIHZhciBtZXNzYWdlID0gYnVpbGRlci5maW5pc2goKTsKLSAgICAgICAgcmVzcG9u
ZGVyLmFjY2VwdChtZXNzYWdlKTsKLSAgICAgIH0pOwotICAgICAgcmV0dXJuIHRydWU7Ci0gICAg
ZGVmYXVsdDoKLSAgICAgIHJldHVybiBmYWxzZTsKLSAgICB9Ci0gIH07Ci0KLSAgZnVuY3Rpb24g
dmFsaWRhdGVVc2JEZXZpY2VSZXF1ZXN0KG1lc3NhZ2VWYWxpZGF0b3IpIHsKLSAgICB2YXIgbWVz
c2FnZSA9IG1lc3NhZ2VWYWxpZGF0b3IubWVzc2FnZTsKLSAgICB2YXIgcGFyYW1zQ2xhc3MgPSBu
dWxsOwotICAgIHN3aXRjaCAobWVzc2FnZS5nZXROYW1lKCkpIHsKLSAgICAgIGNhc2Uga1VzYkRl
dmljZV9PcGVuX05hbWU6Ci0gICAgICAgIGlmIChtZXNzYWdlLmV4cGVjdHNSZXNwb25zZSgpKQot
ICAgICAgICAgIHBhcmFtc0NsYXNzID0gVXNiRGV2aWNlX09wZW5fUGFyYW1zOwotICAgICAgYnJl
YWs7Ci0gICAgICBjYXNlIGtVc2JEZXZpY2VfQ2xvc2VfTmFtZToKLSAgICAgICAgaWYgKG1lc3Nh
Z2UuZXhwZWN0c1Jlc3BvbnNlKCkpCi0gICAgICAgICAgcGFyYW1zQ2xhc3MgPSBVc2JEZXZpY2Vf
Q2xvc2VfUGFyYW1zOwotICAgICAgYnJlYWs7Ci0gICAgICBjYXNlIGtVc2JEZXZpY2VfU2V0Q29u
ZmlndXJhdGlvbl9OYW1lOgotICAgICAgICBpZiAobWVzc2FnZS5leHBlY3RzUmVzcG9uc2UoKSkK
LSAgICAgICAgICBwYXJhbXNDbGFzcyA9IFVzYkRldmljZV9TZXRDb25maWd1cmF0aW9uX1BhcmFt
czsKLSAgICAgIGJyZWFrOwotICAgICAgY2FzZSBrVXNiRGV2aWNlX0NsYWltSW50ZXJmYWNlX05h
bWU6Ci0gICAgICAgIGlmIChtZXNzYWdlLmV4cGVjdHNSZXNwb25zZSgpKQotICAgICAgICAgIHBh
cmFtc0NsYXNzID0gVXNiRGV2aWNlX0NsYWltSW50ZXJmYWNlX1BhcmFtczsKLSAgICAgIGJyZWFr
OwotICAgICAgY2FzZSBrVXNiRGV2aWNlX1JlbGVhc2VJbnRlcmZhY2VfTmFtZToKLSAgICAgICAg
aWYgKG1lc3NhZ2UuZXhwZWN0c1Jlc3BvbnNlKCkpCi0gICAgICAgICAgcGFyYW1zQ2xhc3MgPSBV
c2JEZXZpY2VfUmVsZWFzZUludGVyZmFjZV9QYXJhbXM7Ci0gICAgICBicmVhazsKLSAgICAgIGNh
c2Uga1VzYkRldmljZV9TZXRJbnRlcmZhY2VBbHRlcm5hdGVTZXR0aW5nX05hbWU6Ci0gICAgICAg
IGlmIChtZXNzYWdlLmV4cGVjdHNSZXNwb25zZSgpKQotICAgICAgICAgIHBhcmFtc0NsYXNzID0g
VXNiRGV2aWNlX1NldEludGVyZmFjZUFsdGVybmF0ZVNldHRpbmdfUGFyYW1zOwotICAgICAgYnJl
YWs7Ci0gICAgICBjYXNlIGtVc2JEZXZpY2VfUmVzZXRfTmFtZToKLSAgICAgICAgaWYgKG1lc3Nh
Z2UuZXhwZWN0c1Jlc3BvbnNlKCkpCi0gICAgICAgICAgcGFyYW1zQ2xhc3MgPSBVc2JEZXZpY2Vf
UmVzZXRfUGFyYW1zOwotICAgICAgYnJlYWs7Ci0gICAgICBjYXNlIGtVc2JEZXZpY2VfQ2xlYXJI
YWx0X05hbWU6Ci0gICAgICAgIGlmIChtZXNzYWdlLmV4cGVjdHNSZXNwb25zZSgpKQotICAgICAg
ICAgIHBhcmFtc0NsYXNzID0gVXNiRGV2aWNlX0NsZWFySGFsdF9QYXJhbXM7Ci0gICAgICBicmVh
azsKLSAgICAgIGNhc2Uga1VzYkRldmljZV9Db250cm9sVHJhbnNmZXJJbl9OYW1lOgotICAgICAg
ICBpZiAobWVzc2FnZS5leHBlY3RzUmVzcG9uc2UoKSkKLSAgICAgICAgICBwYXJhbXNDbGFzcyA9
IFVzYkRldmljZV9Db250cm9sVHJhbnNmZXJJbl9QYXJhbXM7Ci0gICAgICBicmVhazsKLSAgICAg
IGNhc2Uga1VzYkRldmljZV9Db250cm9sVHJhbnNmZXJPdXRfTmFtZToKLSAgICAgICAgaWYgKG1l
c3NhZ2UuZXhwZWN0c1Jlc3BvbnNlKCkpCi0gICAgICAgICAgcGFyYW1zQ2xhc3MgPSBVc2JEZXZp
Y2VfQ29udHJvbFRyYW5zZmVyT3V0X1BhcmFtczsKLSAgICAgIGJyZWFrOwotICAgICAgY2FzZSBr
VXNiRGV2aWNlX0dlbmVyaWNUcmFuc2ZlckluX05hbWU6Ci0gICAgICAgIGlmIChtZXNzYWdlLmV4
cGVjdHNSZXNwb25zZSgpKQotICAgICAgICAgIHBhcmFtc0NsYXNzID0gVXNiRGV2aWNlX0dlbmVy
aWNUcmFuc2ZlckluX1BhcmFtczsKLSAgICAgIGJyZWFrOwotICAgICAgY2FzZSBrVXNiRGV2aWNl
X0dlbmVyaWNUcmFuc2Zlck91dF9OYW1lOgotICAgICAgICBpZiAobWVzc2FnZS5leHBlY3RzUmVz
cG9uc2UoKSkKLSAgICAgICAgICBwYXJhbXNDbGFzcyA9IFVzYkRldmljZV9HZW5lcmljVHJhbnNm
ZXJPdXRfUGFyYW1zOwotICAgICAgYnJlYWs7Ci0gICAgICBjYXNlIGtVc2JEZXZpY2VfSXNvY2hy
b25vdXNUcmFuc2ZlckluX05hbWU6Ci0gICAgICAgIGlmIChtZXNzYWdlLmV4cGVjdHNSZXNwb25z
ZSgpKQotICAgICAgICAgIHBhcmFtc0NsYXNzID0gVXNiRGV2aWNlX0lzb2Nocm9ub3VzVHJhbnNm
ZXJJbl9QYXJhbXM7Ci0gICAgICBicmVhazsKLSAgICAgIGNhc2Uga1VzYkRldmljZV9Jc29jaHJv
bm91c1RyYW5zZmVyT3V0X05hbWU6Ci0gICAgICAgIGlmIChtZXNzYWdlLmV4cGVjdHNSZXNwb25z
ZSgpKQotICAgICAgICAgIHBhcmFtc0NsYXNzID0gVXNiRGV2aWNlX0lzb2Nocm9ub3VzVHJhbnNm
ZXJPdXRfUGFyYW1zOwotICAgICAgYnJlYWs7Ci0gICAgfQotICAgIGlmIChwYXJhbXNDbGFzcyA9
PT0gbnVsbCkKLSAgICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0g
ICAgcmV0dXJuIHBhcmFtc0NsYXNzLnZhbGlkYXRlKG1lc3NhZ2VWYWxpZGF0b3IsIG1lc3NhZ2VW
YWxpZGF0b3IubWVzc2FnZS5nZXRIZWFkZXJOdW1CeXRlcygpKTsKLSAgfQotCi0gIGZ1bmN0aW9u
IHZhbGlkYXRlVXNiRGV2aWNlUmVzcG9uc2UobWVzc2FnZVZhbGlkYXRvcikgewotICAgdmFyIG1l
c3NhZ2UgPSBtZXNzYWdlVmFsaWRhdG9yLm1lc3NhZ2U7Ci0gICB2YXIgcGFyYW1zQ2xhc3MgPSBu
dWxsOwotICAgc3dpdGNoIChtZXNzYWdlLmdldE5hbWUoKSkgewotICAgICAgY2FzZSBrVXNiRGV2
aWNlX09wZW5fTmFtZToKLSAgICAgICAgaWYgKG1lc3NhZ2UuaXNSZXNwb25zZSgpKQotICAgICAg
ICAgIHBhcmFtc0NsYXNzID0gVXNiRGV2aWNlX09wZW5fUmVzcG9uc2VQYXJhbXM7Ci0gICAgICAg
IGJyZWFrOwotICAgICAgY2FzZSBrVXNiRGV2aWNlX0Nsb3NlX05hbWU6Ci0gICAgICAgIGlmICht
ZXNzYWdlLmlzUmVzcG9uc2UoKSkKLSAgICAgICAgICBwYXJhbXNDbGFzcyA9IFVzYkRldmljZV9D
bG9zZV9SZXNwb25zZVBhcmFtczsKLSAgICAgICAgYnJlYWs7Ci0gICAgICBjYXNlIGtVc2JEZXZp
Y2VfU2V0Q29uZmlndXJhdGlvbl9OYW1lOgotICAgICAgICBpZiAobWVzc2FnZS5pc1Jlc3BvbnNl
KCkpCi0gICAgICAgICAgcGFyYW1zQ2xhc3MgPSBVc2JEZXZpY2VfU2V0Q29uZmlndXJhdGlvbl9S
ZXNwb25zZVBhcmFtczsKLSAgICAgICAgYnJlYWs7Ci0gICAgICBjYXNlIGtVc2JEZXZpY2VfQ2xh
aW1JbnRlcmZhY2VfTmFtZToKLSAgICAgICAgaWYgKG1lc3NhZ2UuaXNSZXNwb25zZSgpKQotICAg
ICAgICAgIHBhcmFtc0NsYXNzID0gVXNiRGV2aWNlX0NsYWltSW50ZXJmYWNlX1Jlc3BvbnNlUGFy
YW1zOwotICAgICAgICBicmVhazsKLSAgICAgIGNhc2Uga1VzYkRldmljZV9SZWxlYXNlSW50ZXJm
YWNlX05hbWU6Ci0gICAgICAgIGlmIChtZXNzYWdlLmlzUmVzcG9uc2UoKSkKLSAgICAgICAgICBw
YXJhbXNDbGFzcyA9IFVzYkRldmljZV9SZWxlYXNlSW50ZXJmYWNlX1Jlc3BvbnNlUGFyYW1zOwot
ICAgICAgICBicmVhazsKLSAgICAgIGNhc2Uga1VzYkRldmljZV9TZXRJbnRlcmZhY2VBbHRlcm5h
dGVTZXR0aW5nX05hbWU6Ci0gICAgICAgIGlmIChtZXNzYWdlLmlzUmVzcG9uc2UoKSkKLSAgICAg
ICAgICBwYXJhbXNDbGFzcyA9IFVzYkRldmljZV9TZXRJbnRlcmZhY2VBbHRlcm5hdGVTZXR0aW5n
X1Jlc3BvbnNlUGFyYW1zOwotICAgICAgICBicmVhazsKLSAgICAgIGNhc2Uga1VzYkRldmljZV9S
ZXNldF9OYW1lOgotICAgICAgICBpZiAobWVzc2FnZS5pc1Jlc3BvbnNlKCkpCi0gICAgICAgICAg
cGFyYW1zQ2xhc3MgPSBVc2JEZXZpY2VfUmVzZXRfUmVzcG9uc2VQYXJhbXM7Ci0gICAgICAgIGJy
ZWFrOwotICAgICAgY2FzZSBrVXNiRGV2aWNlX0NsZWFySGFsdF9OYW1lOgotICAgICAgICBpZiAo
bWVzc2FnZS5pc1Jlc3BvbnNlKCkpCi0gICAgICAgICAgcGFyYW1zQ2xhc3MgPSBVc2JEZXZpY2Vf
Q2xlYXJIYWx0X1Jlc3BvbnNlUGFyYW1zOwotICAgICAgICBicmVhazsKLSAgICAgIGNhc2Uga1Vz
YkRldmljZV9Db250cm9sVHJhbnNmZXJJbl9OYW1lOgotICAgICAgICBpZiAobWVzc2FnZS5pc1Jl
c3BvbnNlKCkpCi0gICAgICAgICAgcGFyYW1zQ2xhc3MgPSBVc2JEZXZpY2VfQ29udHJvbFRyYW5z
ZmVySW5fUmVzcG9uc2VQYXJhbXM7Ci0gICAgICAgIGJyZWFrOwotICAgICAgY2FzZSBrVXNiRGV2
aWNlX0NvbnRyb2xUcmFuc2Zlck91dF9OYW1lOgotICAgICAgICBpZiAobWVzc2FnZS5pc1Jlc3Bv
bnNlKCkpCi0gICAgICAgICAgcGFyYW1zQ2xhc3MgPSBVc2JEZXZpY2VfQ29udHJvbFRyYW5zZmVy
T3V0X1Jlc3BvbnNlUGFyYW1zOwotICAgICAgICBicmVhazsKLSAgICAgIGNhc2Uga1VzYkRldmlj
ZV9HZW5lcmljVHJhbnNmZXJJbl9OYW1lOgotICAgICAgICBpZiAobWVzc2FnZS5pc1Jlc3BvbnNl
KCkpCi0gICAgICAgICAgcGFyYW1zQ2xhc3MgPSBVc2JEZXZpY2VfR2VuZXJpY1RyYW5zZmVySW5f
UmVzcG9uc2VQYXJhbXM7Ci0gICAgICAgIGJyZWFrOwotICAgICAgY2FzZSBrVXNiRGV2aWNlX0dl
bmVyaWNUcmFuc2Zlck91dF9OYW1lOgotICAgICAgICBpZiAobWVzc2FnZS5pc1Jlc3BvbnNlKCkp
Ci0gICAgICAgICAgcGFyYW1zQ2xhc3MgPSBVc2JEZXZpY2VfR2VuZXJpY1RyYW5zZmVyT3V0X1Jl
c3BvbnNlUGFyYW1zOwotICAgICAgICBicmVhazsKLSAgICAgIGNhc2Uga1VzYkRldmljZV9Jc29j
aHJvbm91c1RyYW5zZmVySW5fTmFtZToKLSAgICAgICAgaWYgKG1lc3NhZ2UuaXNSZXNwb25zZSgp
KQotICAgICAgICAgIHBhcmFtc0NsYXNzID0gVXNiRGV2aWNlX0lzb2Nocm9ub3VzVHJhbnNmZXJJ
bl9SZXNwb25zZVBhcmFtczsKLSAgICAgICAgYnJlYWs7Ci0gICAgICBjYXNlIGtVc2JEZXZpY2Vf
SXNvY2hyb25vdXNUcmFuc2Zlck91dF9OYW1lOgotICAgICAgICBpZiAobWVzc2FnZS5pc1Jlc3Bv
bnNlKCkpCi0gICAgICAgICAgcGFyYW1zQ2xhc3MgPSBVc2JEZXZpY2VfSXNvY2hyb25vdXNUcmFu
c2Zlck91dF9SZXNwb25zZVBhcmFtczsKLSAgICAgICAgYnJlYWs7Ci0gICAgfQotICAgIGlmIChw
YXJhbXNDbGFzcyA9PT0gbnVsbCkKLSAgICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVy
cm9yLk5PTkU7Ci0gICAgcmV0dXJuIHBhcmFtc0NsYXNzLnZhbGlkYXRlKG1lc3NhZ2VWYWxpZGF0
b3IsIG1lc3NhZ2VWYWxpZGF0b3IubWVzc2FnZS5nZXRIZWFkZXJOdW1CeXRlcygpKTsKLSAgfQot
Ci0gIHZhciBVc2JEZXZpY2UgPSB7Ci0gICAgbmFtZTogJ2RldmljZTo6bW9qb206OlVzYkRldmlj
ZScsCi0gICAga1ZlcnNpb246IDAsCi0gICAgcHRyQ2xhc3M6IFVzYkRldmljZVB0ciwKLSAgICBw
cm94eUNsYXNzOiBVc2JEZXZpY2VQcm94eSwKLSAgICBzdHViQ2xhc3M6IFVzYkRldmljZVN0dWIs
Ci0gICAgdmFsaWRhdGVSZXF1ZXN0OiB2YWxpZGF0ZVVzYkRldmljZVJlcXVlc3QsCi0gICAgdmFs
aWRhdGVSZXNwb25zZTogdmFsaWRhdGVVc2JEZXZpY2VSZXNwb25zZSwKLSAgfTsKLSAgVXNiRGV2
aWNlU3R1Yi5wcm90b3R5cGUudmFsaWRhdG9yID0gdmFsaWRhdGVVc2JEZXZpY2VSZXF1ZXN0Owot
ICBVc2JEZXZpY2VQcm94eS5wcm90b3R5cGUudmFsaWRhdG9yID0gdmFsaWRhdGVVc2JEZXZpY2VS
ZXNwb25zZTsKLSAgZXhwb3J0cy5Vc2JPcGVuRGV2aWNlRXJyb3IgPSBVc2JPcGVuRGV2aWNlRXJy
b3I7Ci0gIGV4cG9ydHMuVXNiVHJhbnNmZXJEaXJlY3Rpb24gPSBVc2JUcmFuc2ZlckRpcmVjdGlv
bjsKLSAgZXhwb3J0cy5Vc2JDb250cm9sVHJhbnNmZXJUeXBlID0gVXNiQ29udHJvbFRyYW5zZmVy
VHlwZTsKLSAgZXhwb3J0cy5Vc2JDb250cm9sVHJhbnNmZXJSZWNpcGllbnQgPSBVc2JDb250cm9s
VHJhbnNmZXJSZWNpcGllbnQ7Ci0gIGV4cG9ydHMuVXNiVHJhbnNmZXJUeXBlID0gVXNiVHJhbnNm
ZXJUeXBlOwotICBleHBvcnRzLlVzYlRyYW5zZmVyU3RhdHVzID0gVXNiVHJhbnNmZXJTdGF0dXM7
Ci0gIGV4cG9ydHMuVXNiRW5kcG9pbnRJbmZvID0gVXNiRW5kcG9pbnRJbmZvOwotICBleHBvcnRz
LlVzYkFsdGVybmF0ZUludGVyZmFjZUluZm8gPSBVc2JBbHRlcm5hdGVJbnRlcmZhY2VJbmZvOwot
ICBleHBvcnRzLlVzYkludGVyZmFjZUluZm8gPSBVc2JJbnRlcmZhY2VJbmZvOwotICBleHBvcnRz
LlVzYkNvbmZpZ3VyYXRpb25JbmZvID0gVXNiQ29uZmlndXJhdGlvbkluZm87Ci0gIGV4cG9ydHMu
VXNiRGV2aWNlSW5mbyA9IFVzYkRldmljZUluZm87Ci0gIGV4cG9ydHMuVXNiQ29udHJvbFRyYW5z
ZmVyUGFyYW1zID0gVXNiQ29udHJvbFRyYW5zZmVyUGFyYW1zOwotICBleHBvcnRzLlVzYklzb2No
cm9ub3VzUGFja2V0ID0gVXNiSXNvY2hyb25vdXNQYWNrZXQ7Ci0gIGV4cG9ydHMuVXNiRGV2aWNl
ID0gVXNiRGV2aWNlOwotICBleHBvcnRzLlVzYkRldmljZVB0ciA9IFVzYkRldmljZVB0cjsKLSAg
ZXhwb3J0cy5Vc2JEZXZpY2VBc3NvY2lhdGVkUHRyID0gVXNiRGV2aWNlQXNzb2NpYXRlZFB0cjsK
LX0pKCk7ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vZGV2aWNlLm1v
am9tLmpzLmhlYWRlcnMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vZGV2aWNlLm1vam9tLmpzLmhlYWRl
cnMJKHJldmlzaW9uIDI1Mjg5NikKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL2RldmljZS5tb2pvbS5qcy5oZWFkZXJzCShu
b25leGlzdGVudCkKQEAgLTEgKzAsMCBAQAotQ29udGVudC1UeXBlOiB0ZXh0L2phdmFzY3JpcHQ7
IGNoYXJzZXQ9dXRmLTgKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL2RldmljZV9tYW5hZ2VyLm1vam9tLmpzCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL2Nocm9taXVtL2RldmljZV9tYW5hZ2VyLm1vam9tLmpzCShyZXZpc2lvbiAyNTI4OTYp
CisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy9jaHJvbWl1bS9kZXZpY2VfbWFuYWdlci5tb2pvbS5qcwkobm9uZXhpc3RlbnQpCkBAIC0xLDg1
NiArMCwwIEBACi0vLyBDb3B5cmlnaHQgMjAxNCBUaGUgQ2hyb21pdW0gQXV0aG9ycy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KLS8vIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5
IGEgQlNELXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKLS8vIGZvdW5kIGluIHRoZSBMSUNFTlNF
IGZpbGUuCi0KLQotJ3VzZSBzdHJpY3QnOwotCi0oZnVuY3Rpb24oKSB7Ci0gIHZhciBtb2pvbUlk
ID0gJ2RldmljZS91c2IvcHVibGljL2ludGVyZmFjZXMvZGV2aWNlX21hbmFnZXIubW9qb20nOwot
ICBpZiAobW9qby5pbnRlcm5hbC5pc01vam9tTG9hZGVkKG1vam9tSWQpKSB7Ci0gICAgY29uc29s
ZS53YXJuKCdUaGUgZm9sbG93aW5nIG1vam9tIGlzIGxvYWRlZCBtdWx0aXBsZSB0aW1lczogJyAr
IG1vam9tSWQpOwotICAgIHJldHVybjsKLSAgfQotICBtb2pvLmludGVybmFsLm1hcmtNb2pvbUxv
YWRlZChtb2pvbUlkKTsKLQotICAvLyBUT0RPKHl6c2hlbik6IERlZmluZSB0aGVzZSBhbGlhc2Vz
IHRvIG1pbmltaXplIHRoZSBkaWZmZXJlbmNlcyBiZXR3ZWVuIHRoZQotICAvLyBvbGQvbmV3IG1v
ZGVzLiBSZW1vdmUgdGhlbSB3aGVuIHRoZSBvbGQgbW9kZSBnb2VzIGF3YXkuCi0gIHZhciBiaW5k
aW5ncyA9IG1vam87Ci0gIHZhciBhc3NvY2lhdGVkQmluZGluZ3MgPSBtb2pvOwotICB2YXIgY29k
ZWMgPSBtb2pvLmludGVybmFsOwotICB2YXIgdmFsaWRhdG9yID0gbW9qby5pbnRlcm5hbDsKLQot
ICB2YXIgZXhwb3J0cyA9IG1vam8uaW50ZXJuYWwuZXhwb3NlTmFtZXNwYWNlKCdkZXZpY2UubW9q
b20nKTsKLSAgdmFyIGRldmljZSQgPQotICAgICAgbW9qby5pbnRlcm5hbC5leHBvc2VOYW1lc3Bh
Y2UoJ2RldmljZS5tb2pvbScpOwotICBpZiAobW9qby5jb25maWcuYXV0b0xvYWRNb2pvbURlcHMp
IHsKLSAgICBtb2pvLmludGVybmFsLmxvYWRNb2pvbUlmTmVjZXNzYXJ5KAotICAgICAgICAnZGV2
aWNlL3VzYi9wdWJsaWMvaW50ZXJmYWNlcy9kZXZpY2UubW9qb20nLCAnZGV2aWNlLm1vam9tLmpz
Jyk7Ci0gIH0KLSAgdmFyIHN0cmluZzE2JCA9Ci0gICAgICBtb2pvLmludGVybmFsLmV4cG9zZU5h
bWVzcGFjZSgnbW9qby5jb21tb24ubW9qb20nKTsKLSAgaWYgKG1vam8uY29uZmlnLmF1dG9Mb2Fk
TW9qb21EZXBzKSB7Ci0gICAgbW9qby5pbnRlcm5hbC5sb2FkTW9qb21JZk5lY2Vzc2FyeSgKLSAg
ICAgICAgJ21vam8vY29tbW9uL3N0cmluZzE2Lm1vam9tJywgJy4uLy4uLy4uLy4uL21vam8vY29t
bW9uL3N0cmluZzE2Lm1vam9tLmpzJyk7Ci0gIH0KLQotCi0KLSAgZnVuY3Rpb24gVXNiRGV2aWNl
RmlsdGVyKHZhbHVlcykgewotICAgIHRoaXMuaW5pdERlZmF1bHRzXygpOwotICAgIHRoaXMuaW5p
dEZpZWxkc18odmFsdWVzKTsKLSAgfQotCi0KLSAgVXNiRGV2aWNlRmlsdGVyLnByb3RvdHlwZS5p
bml0RGVmYXVsdHNfID0gZnVuY3Rpb24oKSB7Ci0gICAgdGhpcy5oYXNWZW5kb3JJZCA9IGZhbHNl
OwotICAgIHRoaXMuaGFzUHJvZHVjdElkID0gZmFsc2U7Ci0gICAgdGhpcy5oYXNDbGFzc0NvZGUg
PSBmYWxzZTsKLSAgICB0aGlzLmhhc1N1YmNsYXNzQ29kZSA9IGZhbHNlOwotICAgIHRoaXMuaGFz
UHJvdG9jb2xDb2RlID0gZmFsc2U7Ci0gICAgdGhpcy5jbGFzc0NvZGUgPSAwOwotICAgIHRoaXMu
dmVuZG9ySWQgPSAwOwotICAgIHRoaXMucHJvZHVjdElkID0gMDsKLSAgICB0aGlzLnN1YmNsYXNz
Q29kZSA9IDA7Ci0gICAgdGhpcy5wcm90b2NvbENvZGUgPSAwOwotICAgIHRoaXMuc2VyaWFsTnVt
YmVyID0gbnVsbDsKLSAgfTsKLSAgVXNiRGV2aWNlRmlsdGVyLnByb3RvdHlwZS5pbml0RmllbGRz
XyA9IGZ1bmN0aW9uKGZpZWxkcykgewotICAgIGZvcih2YXIgZmllbGQgaW4gZmllbGRzKSB7Ci0g
ICAgICAgIGlmICh0aGlzLmhhc093blByb3BlcnR5KGZpZWxkKSkKLSAgICAgICAgICB0aGlzW2Zp
ZWxkXSA9IGZpZWxkc1tmaWVsZF07Ci0gICAgfQotICB9OwotCi0gIFVzYkRldmljZUZpbHRlci52
YWxpZGF0ZSA9IGZ1bmN0aW9uKG1lc3NhZ2VWYWxpZGF0b3IsIG9mZnNldCkgewotICAgIHZhciBl
cnI7Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdEhlYWRlcihvZmZz
ZXQsIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3Iu
dmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICB2YXIga1Zl
cnNpb25TaXplcyA9IFsKLSAgICAgIHt2ZXJzaW9uOiAwLCBudW1CeXRlczogMjR9Ci0gICAgXTsK
LSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0VmVyc2lvbihvZmZzZXQs
IGtWZXJzaW9uU2l6ZXMpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJy
b3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0KLQotCi0KLQotCi0KLQotCi0KLSAg
ICAKLSAgICAvLyB2YWxpZGF0ZSBVc2JEZXZpY2VGaWx0ZXIuc2VyaWFsTnVtYmVyCi0gICAgZXJy
ID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFBvaW50ZXIob2Zmc2V0ICsgY29kZWMu
a1N0cnVjdEhlYWRlclNpemUgKyA4LCBzdHJpbmcxNiQuU3RyaW5nMTYsIHRydWUpOwotICAgIGlm
IChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJu
IGVycjsKLQotICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gIH07
Ci0KLSAgVXNiRGV2aWNlRmlsdGVyLmVuY29kZWRTaXplID0gY29kZWMua1N0cnVjdEhlYWRlclNp
emUgKyAxNjsKLQotICBVc2JEZXZpY2VGaWx0ZXIuZGVjb2RlID0gZnVuY3Rpb24oZGVjb2Rlcikg
ewotICAgIHZhciBwYWNrZWQ7Ci0gICAgdmFyIHZhbCA9IG5ldyBVc2JEZXZpY2VGaWx0ZXIoKTsK
LSAgICB2YXIgbnVtYmVyT2ZCeXRlcyA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhciB2
ZXJzaW9uID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgcGFja2VkID0gZGVjb2Rlci5yZWFk
VWludDgoKTsKLSAgICB2YWwuaGFzVmVuZG9ySWQgPSAocGFja2VkID4+IDApICYgMSA/IHRydWUg
OiBmYWxzZTsKLSAgICB2YWwuaGFzUHJvZHVjdElkID0gKHBhY2tlZCA+PiAxKSAmIDEgPyB0cnVl
IDogZmFsc2U7Ci0gICAgdmFsLmhhc0NsYXNzQ29kZSA9IChwYWNrZWQgPj4gMikgJiAxID8gdHJ1
ZSA6IGZhbHNlOwotICAgIHZhbC5oYXNTdWJjbGFzc0NvZGUgPSAocGFja2VkID4+IDMpICYgMSA/
IHRydWUgOiBmYWxzZTsKLSAgICB2YWwuaGFzUHJvdG9jb2xDb2RlID0gKHBhY2tlZCA+PiA0KSAm
IDEgPyB0cnVlIDogZmFsc2U7Ci0gICAgdmFsLmNsYXNzQ29kZSA9IGRlY29kZXIuZGVjb2RlU3Ry
dWN0KGNvZGVjLlVpbnQ4KTsKLSAgICB2YWwudmVuZG9ySWQgPSBkZWNvZGVyLmRlY29kZVN0cnVj
dChjb2RlYy5VaW50MTYpOwotICAgIHZhbC5wcm9kdWN0SWQgPSBkZWNvZGVyLmRlY29kZVN0cnVj
dChjb2RlYy5VaW50MTYpOwotICAgIHZhbC5zdWJjbGFzc0NvZGUgPSBkZWNvZGVyLmRlY29kZVN0
cnVjdChjb2RlYy5VaW50OCk7Ci0gICAgdmFsLnByb3RvY29sQ29kZSA9IGRlY29kZXIuZGVjb2Rl
U3RydWN0KGNvZGVjLlVpbnQ4KTsKLSAgICB2YWwuc2VyaWFsTnVtYmVyID0gZGVjb2Rlci5kZWNv
ZGVTdHJ1Y3RQb2ludGVyKHN0cmluZzE2JC5TdHJpbmcxNik7Ci0gICAgcmV0dXJuIHZhbDsKLSAg
fTsKLQotICBVc2JEZXZpY2VGaWx0ZXIuZW5jb2RlID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7
Ci0gICAgdmFyIHBhY2tlZDsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKFVzYkRldmljZUZpbHRl
ci5lbmNvZGVkU2l6ZSk7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMigwKTsKLSAgICBwYWNrZWQg
PSAwOwotICAgIHBhY2tlZCB8PSAodmFsLmhhc1ZlbmRvcklkICYgMSkgPDwgMAotICAgIHBhY2tl
ZCB8PSAodmFsLmhhc1Byb2R1Y3RJZCAmIDEpIDw8IDEKLSAgICBwYWNrZWQgfD0gKHZhbC5oYXND
bGFzc0NvZGUgJiAxKSA8PCAyCi0gICAgcGFja2VkIHw9ICh2YWwuaGFzU3ViY2xhc3NDb2RlICYg
MSkgPDwgMwotICAgIHBhY2tlZCB8PSAodmFsLmhhc1Byb3RvY29sQ29kZSAmIDEpIDw8IDQKLSAg
ICBlbmNvZGVyLndyaXRlVWludDgocGFja2VkKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdChj
b2RlYy5VaW50OCwgdmFsLmNsYXNzQ29kZSk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3QoY29k
ZWMuVWludDE2LCB2YWwudmVuZG9ySWQpOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNvZGVj
LlVpbnQxNiwgdmFsLnByb2R1Y3RJZCk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3QoY29kZWMu
VWludDgsIHZhbC5zdWJjbGFzc0NvZGUpOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNvZGVj
LlVpbnQ4LCB2YWwucHJvdG9jb2xDb2RlKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdFBvaW50
ZXIoc3RyaW5nMTYkLlN0cmluZzE2LCB2YWwuc2VyaWFsTnVtYmVyKTsKLSAgfTsKLSAgZnVuY3Rp
b24gVXNiRW51bWVyYXRpb25PcHRpb25zKHZhbHVlcykgewotICAgIHRoaXMuaW5pdERlZmF1bHRz
XygpOwotICAgIHRoaXMuaW5pdEZpZWxkc18odmFsdWVzKTsKLSAgfQotCi0KLSAgVXNiRW51bWVy
YXRpb25PcHRpb25zLnByb3RvdHlwZS5pbml0RGVmYXVsdHNfID0gZnVuY3Rpb24oKSB7Ci0gICAg
dGhpcy5maWx0ZXJzID0gbnVsbDsKLSAgfTsKLSAgVXNiRW51bWVyYXRpb25PcHRpb25zLnByb3Rv
dHlwZS5pbml0RmllbGRzXyA9IGZ1bmN0aW9uKGZpZWxkcykgewotICAgIGZvcih2YXIgZmllbGQg
aW4gZmllbGRzKSB7Ci0gICAgICAgIGlmICh0aGlzLmhhc093blByb3BlcnR5KGZpZWxkKSkKLSAg
ICAgICAgICB0aGlzW2ZpZWxkXSA9IGZpZWxkc1tmaWVsZF07Ci0gICAgfQotICB9OwotCi0gIFVz
YkVudW1lcmF0aW9uT3B0aW9ucy52YWxpZGF0ZSA9IGZ1bmN0aW9uKG1lc3NhZ2VWYWxpZGF0b3Is
IG9mZnNldCkgewotICAgIHZhciBlcnI7Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxp
ZGF0ZVN0cnVjdEhlYWRlcihvZmZzZXQsIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplKTsKLSAgICBp
ZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVy
biBlcnI7Ci0KLSAgICB2YXIga1ZlcnNpb25TaXplcyA9IFsKLSAgICAgIHt2ZXJzaW9uOiAwLCBu
dW1CeXRlczogMTZ9Ci0gICAgXTsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRl
U3RydWN0VmVyc2lvbihvZmZzZXQsIGtWZXJzaW9uU2l6ZXMpOwotICAgIGlmIChlcnIgIT09IHZh
bGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0g
ICAgCi0gICAgLy8gdmFsaWRhdGUgVXNiRW51bWVyYXRpb25PcHRpb25zLmZpbHRlcnMKLSAgICBl
cnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlQXJyYXlQb2ludGVyKG9mZnNldCArIGNvZGVj
LmtTdHJ1Y3RIZWFkZXJTaXplICsgMCwgOCwgbmV3IGNvZGVjLlBvaW50ZXJUbyhVc2JEZXZpY2VG
aWx0ZXIpLCBmYWxzZSwgWzBdLCAwKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRh
dGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICByZXR1cm4gdmFsaWRh
dG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIFVzYkVudW1lcmF0aW9uT3B0aW9u
cy5lbmNvZGVkU2l6ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgODsKLQotICBVc2JFbnVt
ZXJhdGlvbk9wdGlvbnMuZGVjb2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHZhciBwYWNr
ZWQ7Ci0gICAgdmFyIHZhbCA9IG5ldyBVc2JFbnVtZXJhdGlvbk9wdGlvbnMoKTsKLSAgICB2YXIg
bnVtYmVyT2ZCeXRlcyA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhciB2ZXJzaW9uID0g
ZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFsLmZpbHRlcnMgPSBkZWNvZGVyLmRlY29kZUFy
cmF5UG9pbnRlcihuZXcgY29kZWMuUG9pbnRlclRvKFVzYkRldmljZUZpbHRlcikpOwotICAgIHJl
dHVybiB2YWw7Ci0gIH07Ci0KLSAgVXNiRW51bWVyYXRpb25PcHRpb25zLmVuY29kZSA9IGZ1bmN0
aW9uKGVuY29kZXIsIHZhbCkgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgZW5jb2Rlci53cml0ZVVp
bnQzMihVc2JFbnVtZXJhdGlvbk9wdGlvbnMuZW5jb2RlZFNpemUpOwotICAgIGVuY29kZXIud3Jp
dGVVaW50MzIoMCk7Ci0gICAgZW5jb2Rlci5lbmNvZGVBcnJheVBvaW50ZXIobmV3IGNvZGVjLlBv
aW50ZXJUbyhVc2JEZXZpY2VGaWx0ZXIpLCB2YWwuZmlsdGVycyk7Ci0gIH07Ci0gIGZ1bmN0aW9u
IFVzYkRldmljZU1hbmFnZXJfR2V0RGV2aWNlc19QYXJhbXModmFsdWVzKSB7Ci0gICAgdGhpcy5p
bml0RGVmYXVsdHNfKCk7Ci0gICAgdGhpcy5pbml0RmllbGRzXyh2YWx1ZXMpOwotICB9Ci0KLQot
ICBVc2JEZXZpY2VNYW5hZ2VyX0dldERldmljZXNfUGFyYW1zLnByb3RvdHlwZS5pbml0RGVmYXVs
dHNfID0gZnVuY3Rpb24oKSB7Ci0gICAgdGhpcy5vcHRpb25zID0gbnVsbDsKLSAgfTsKLSAgVXNi
RGV2aWNlTWFuYWdlcl9HZXREZXZpY2VzX1BhcmFtcy5wcm90b3R5cGUuaW5pdEZpZWxkc18gPSBm
dW5jdGlvbihmaWVsZHMpIHsKLSAgICBmb3IodmFyIGZpZWxkIGluIGZpZWxkcykgewotICAgICAg
ICBpZiAodGhpcy5oYXNPd25Qcm9wZXJ0eShmaWVsZCkpCi0gICAgICAgICAgdGhpc1tmaWVsZF0g
PSBmaWVsZHNbZmllbGRdOwotICAgIH0KLSAgfTsKLQotICBVc2JEZXZpY2VNYW5hZ2VyX0dldERl
dmljZXNfUGFyYW1zLnZhbGlkYXRlID0gZnVuY3Rpb24obWVzc2FnZVZhbGlkYXRvciwgb2Zmc2V0
KSB7Ci0gICAgdmFyIGVycjsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3Ry
dWN0SGVhZGVyKG9mZnNldCwgY29kZWMua1N0cnVjdEhlYWRlclNpemUpOwotICAgIGlmIChlcnIg
IT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsK
LQotICAgIHZhciBrVmVyc2lvblNpemVzID0gWwotICAgICAge3ZlcnNpb246IDAsIG51bUJ5dGVz
OiAxNn0KLSAgICBdOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RW
ZXJzaW9uKG9mZnNldCwga1ZlcnNpb25TaXplcyk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9y
LnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0KLSAgICAKLSAg
ICAvLyB2YWxpZGF0ZSBVc2JEZXZpY2VNYW5hZ2VyX0dldERldmljZXNfUGFyYW1zLm9wdGlvbnMK
LSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0UG9pbnRlcihvZmZzZXQg
KyBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDAsIFVzYkVudW1lcmF0aW9uT3B0aW9ucywgdHJ1
ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAg
ICAgICByZXR1cm4gZXJyOwotCi0gICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3Iu
Tk9ORTsKLSAgfTsKLQotICBVc2JEZXZpY2VNYW5hZ2VyX0dldERldmljZXNfUGFyYW1zLmVuY29k
ZWRTaXplID0gY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyA4OwotCi0gIFVzYkRldmljZU1hbmFn
ZXJfR2V0RGV2aWNlc19QYXJhbXMuZGVjb2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHZh
ciBwYWNrZWQ7Ci0gICAgdmFyIHZhbCA9IG5ldyBVc2JEZXZpY2VNYW5hZ2VyX0dldERldmljZXNf
UGFyYW1zKCk7Ci0gICAgdmFyIG51bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsK
LSAgICB2YXIgdmVyc2lvbiA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhbC5vcHRpb25z
ID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3RQb2ludGVyKFVzYkVudW1lcmF0aW9uT3B0aW9ucyk7Ci0g
ICAgcmV0dXJuIHZhbDsKLSAgfTsKLQotICBVc2JEZXZpY2VNYW5hZ2VyX0dldERldmljZXNfUGFy
YW1zLmVuY29kZSA9IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgIHZhciBwYWNrZWQ7Ci0g
ICAgZW5jb2Rlci53cml0ZVVpbnQzMihVc2JEZXZpY2VNYW5hZ2VyX0dldERldmljZXNfUGFyYW1z
LmVuY29kZWRTaXplKTsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKDApOwotICAgIGVuY29kZXIu
ZW5jb2RlU3RydWN0UG9pbnRlcihVc2JFbnVtZXJhdGlvbk9wdGlvbnMsIHZhbC5vcHRpb25zKTsK
LSAgfTsKLSAgZnVuY3Rpb24gVXNiRGV2aWNlTWFuYWdlcl9HZXREZXZpY2VzX1Jlc3BvbnNlUGFy
YW1zKHZhbHVlcykgewotICAgIHRoaXMuaW5pdERlZmF1bHRzXygpOwotICAgIHRoaXMuaW5pdEZp
ZWxkc18odmFsdWVzKTsKLSAgfQotCi0KLSAgVXNiRGV2aWNlTWFuYWdlcl9HZXREZXZpY2VzX1Jl
c3BvbnNlUGFyYW1zLnByb3RvdHlwZS5pbml0RGVmYXVsdHNfID0gZnVuY3Rpb24oKSB7Ci0gICAg
dGhpcy5yZXN1bHRzID0gbnVsbDsKLSAgfTsKLSAgVXNiRGV2aWNlTWFuYWdlcl9HZXREZXZpY2Vz
X1Jlc3BvbnNlUGFyYW1zLnByb3RvdHlwZS5pbml0RmllbGRzXyA9IGZ1bmN0aW9uKGZpZWxkcykg
ewotICAgIGZvcih2YXIgZmllbGQgaW4gZmllbGRzKSB7Ci0gICAgICAgIGlmICh0aGlzLmhhc093
blByb3BlcnR5KGZpZWxkKSkKLSAgICAgICAgICB0aGlzW2ZpZWxkXSA9IGZpZWxkc1tmaWVsZF07
Ci0gICAgfQotICB9OwotCi0gIFVzYkRldmljZU1hbmFnZXJfR2V0RGV2aWNlc19SZXNwb25zZVBh
cmFtcy52YWxpZGF0ZSA9IGZ1bmN0aW9uKG1lc3NhZ2VWYWxpZGF0b3IsIG9mZnNldCkgewotICAg
IHZhciBlcnI7Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdEhlYWRl
cihvZmZzZXQsIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplKTsKLSAgICBpZiAoZXJyICE9PSB2YWxp
ZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICB2
YXIga1ZlcnNpb25TaXplcyA9IFsKLSAgICAgIHt2ZXJzaW9uOiAwLCBudW1CeXRlczogMTZ9Ci0g
ICAgXTsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0VmVyc2lvbihv
ZmZzZXQsIGtWZXJzaW9uU2l6ZXMpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0
aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0gICAgCi0gICAgLy8gdmFs
aWRhdGUgVXNiRGV2aWNlTWFuYWdlcl9HZXREZXZpY2VzX1Jlc3BvbnNlUGFyYW1zLnJlc3VsdHMK
LSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlQXJyYXlQb2ludGVyKG9mZnNldCAr
IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgMCwgOCwgbmV3IGNvZGVjLlBvaW50ZXJUbyhkZXZp
Y2UkLlVzYkRldmljZUluZm8pLCBmYWxzZSwgWzBdLCAwKTsKLSAgICBpZiAoZXJyICE9PSB2YWxp
ZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICBy
ZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIFVzYkRldmlj
ZU1hbmFnZXJfR2V0RGV2aWNlc19SZXNwb25zZVBhcmFtcy5lbmNvZGVkU2l6ZSA9IGNvZGVjLmtT
dHJ1Y3RIZWFkZXJTaXplICsgODsKLQotICBVc2JEZXZpY2VNYW5hZ2VyX0dldERldmljZXNfUmVz
cG9uc2VQYXJhbXMuZGVjb2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHZhciBwYWNrZWQ7
Ci0gICAgdmFyIHZhbCA9IG5ldyBVc2JEZXZpY2VNYW5hZ2VyX0dldERldmljZXNfUmVzcG9uc2VQ
YXJhbXMoKTsKLSAgICB2YXIgbnVtYmVyT2ZCeXRlcyA9IGRlY29kZXIucmVhZFVpbnQzMigpOwot
ICAgIHZhciB2ZXJzaW9uID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFsLnJlc3VsdHMg
PSBkZWNvZGVyLmRlY29kZUFycmF5UG9pbnRlcihuZXcgY29kZWMuUG9pbnRlclRvKGRldmljZSQu
VXNiRGV2aWNlSW5mbykpOwotICAgIHJldHVybiB2YWw7Ci0gIH07Ci0KLSAgVXNiRGV2aWNlTWFu
YWdlcl9HZXREZXZpY2VzX1Jlc3BvbnNlUGFyYW1zLmVuY29kZSA9IGZ1bmN0aW9uKGVuY29kZXIs
IHZhbCkgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMihVc2JEZXZp
Y2VNYW5hZ2VyX0dldERldmljZXNfUmVzcG9uc2VQYXJhbXMuZW5jb2RlZFNpemUpOwotICAgIGVu
Y29kZXIud3JpdGVVaW50MzIoMCk7Ci0gICAgZW5jb2Rlci5lbmNvZGVBcnJheVBvaW50ZXIobmV3
IGNvZGVjLlBvaW50ZXJUbyhkZXZpY2UkLlVzYkRldmljZUluZm8pLCB2YWwucmVzdWx0cyk7Ci0g
IH07Ci0gIGZ1bmN0aW9uIFVzYkRldmljZU1hbmFnZXJfR2V0RGV2aWNlX1BhcmFtcyh2YWx1ZXMp
IHsKLSAgICB0aGlzLmluaXREZWZhdWx0c18oKTsKLSAgICB0aGlzLmluaXRGaWVsZHNfKHZhbHVl
cyk7Ci0gIH0KLQotCi0gIFVzYkRldmljZU1hbmFnZXJfR2V0RGV2aWNlX1BhcmFtcy5wcm90b3R5
cGUuaW5pdERlZmF1bHRzXyA9IGZ1bmN0aW9uKCkgewotICAgIHRoaXMuZ3VpZCA9IG51bGw7Ci0g
ICAgdGhpcy5kZXZpY2VSZXF1ZXN0ID0gbmV3IGJpbmRpbmdzLkludGVyZmFjZVJlcXVlc3QoKTsK
LSAgfTsKLSAgVXNiRGV2aWNlTWFuYWdlcl9HZXREZXZpY2VfUGFyYW1zLnByb3RvdHlwZS5pbml0
RmllbGRzXyA9IGZ1bmN0aW9uKGZpZWxkcykgewotICAgIGZvcih2YXIgZmllbGQgaW4gZmllbGRz
KSB7Ci0gICAgICAgIGlmICh0aGlzLmhhc093blByb3BlcnR5KGZpZWxkKSkKLSAgICAgICAgICB0
aGlzW2ZpZWxkXSA9IGZpZWxkc1tmaWVsZF07Ci0gICAgfQotICB9OwotCi0gIFVzYkRldmljZU1h
bmFnZXJfR2V0RGV2aWNlX1BhcmFtcy52YWxpZGF0ZSA9IGZ1bmN0aW9uKG1lc3NhZ2VWYWxpZGF0
b3IsIG9mZnNldCkgewotICAgIHZhciBlcnI7Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52
YWxpZGF0ZVN0cnVjdEhlYWRlcihvZmZzZXQsIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplKTsKLSAg
ICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJl
dHVybiBlcnI7Ci0KLSAgICB2YXIga1ZlcnNpb25TaXplcyA9IFsKLSAgICAgIHt2ZXJzaW9uOiAw
LCBudW1CeXRlczogMjR9Ci0gICAgXTsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlk
YXRlU3RydWN0VmVyc2lvbihvZmZzZXQsIGtWZXJzaW9uU2l6ZXMpOwotICAgIGlmIChlcnIgIT09
IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQot
Ci0gICAgCi0gICAgLy8gdmFsaWRhdGUgVXNiRGV2aWNlTWFuYWdlcl9HZXREZXZpY2VfUGFyYW1z
Lmd1aWQKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RyaW5nUG9pbnRlcihv
ZmZzZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDAsIGZhbHNlKQotICAgIGlmIChlcnIg
IT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsK
LQotCi0gICAgCi0gICAgLy8gdmFsaWRhdGUgVXNiRGV2aWNlTWFuYWdlcl9HZXREZXZpY2VfUGFy
YW1zLmRldmljZVJlcXVlc3QKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlSW50
ZXJmYWNlUmVxdWVzdChvZmZzZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDgsIGZhbHNl
KQotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAg
ICAgcmV0dXJuIGVycjsKLQotICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5P
TkU7Ci0gIH07Ci0KLSAgVXNiRGV2aWNlTWFuYWdlcl9HZXREZXZpY2VfUGFyYW1zLmVuY29kZWRT
aXplID0gY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyAxNjsKLQotICBVc2JEZXZpY2VNYW5hZ2Vy
X0dldERldmljZV9QYXJhbXMuZGVjb2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHZhciBw
YWNrZWQ7Ci0gICAgdmFyIHZhbCA9IG5ldyBVc2JEZXZpY2VNYW5hZ2VyX0dldERldmljZV9QYXJh
bXMoKTsKLSAgICB2YXIgbnVtYmVyT2ZCeXRlcyA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAg
IHZhciB2ZXJzaW9uID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFsLmd1aWQgPSBkZWNv
ZGVyLmRlY29kZVN0cnVjdChjb2RlYy5TdHJpbmcpOwotICAgIHZhbC5kZXZpY2VSZXF1ZXN0ID0g
ZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoY29kZWMuSW50ZXJmYWNlUmVxdWVzdCk7Ci0gICAgZGVjb2Rl
ci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0g
ICAgZGVjb2Rlci5za2lwKDEpOwotICAgIHJldHVybiB2YWw7Ci0gIH07Ci0KLSAgVXNiRGV2aWNl
TWFuYWdlcl9HZXREZXZpY2VfUGFyYW1zLmVuY29kZSA9IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkg
ewotICAgIHZhciBwYWNrZWQ7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMihVc2JEZXZpY2VNYW5h
Z2VyX0dldERldmljZV9QYXJhbXMuZW5jb2RlZFNpemUpOwotICAgIGVuY29kZXIud3JpdGVVaW50
MzIoMCk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3QoY29kZWMuU3RyaW5nLCB2YWwuZ3VpZCk7
Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3QoY29kZWMuSW50ZXJmYWNlUmVxdWVzdCwgdmFsLmRl
dmljZVJlcXVlc3QpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7
Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgfTsKLSAgZnVu
Y3Rpb24gVXNiRGV2aWNlTWFuYWdlcl9TZXRDbGllbnRfUGFyYW1zKHZhbHVlcykgewotICAgIHRo
aXMuaW5pdERlZmF1bHRzXygpOwotICAgIHRoaXMuaW5pdEZpZWxkc18odmFsdWVzKTsKLSAgfQot
Ci0KLSAgVXNiRGV2aWNlTWFuYWdlcl9TZXRDbGllbnRfUGFyYW1zLnByb3RvdHlwZS5pbml0RGVm
YXVsdHNfID0gZnVuY3Rpb24oKSB7Ci0gICAgdGhpcy5jbGllbnQgPSBuZXcgVXNiRGV2aWNlTWFu
YWdlckNsaWVudFB0cigpOwotICB9OwotICBVc2JEZXZpY2VNYW5hZ2VyX1NldENsaWVudF9QYXJh
bXMucHJvdG90eXBlLmluaXRGaWVsZHNfID0gZnVuY3Rpb24oZmllbGRzKSB7Ci0gICAgZm9yKHZh
ciBmaWVsZCBpbiBmaWVsZHMpIHsKLSAgICAgICAgaWYgKHRoaXMuaGFzT3duUHJvcGVydHkoZmll
bGQpKQotICAgICAgICAgIHRoaXNbZmllbGRdID0gZmllbGRzW2ZpZWxkXTsKLSAgICB9Ci0gIH07
Ci0KLSAgVXNiRGV2aWNlTWFuYWdlcl9TZXRDbGllbnRfUGFyYW1zLnZhbGlkYXRlID0gZnVuY3Rp
b24obWVzc2FnZVZhbGlkYXRvciwgb2Zmc2V0KSB7Ci0gICAgdmFyIGVycjsKLSAgICBlcnIgPSBt
ZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0SGVhZGVyKG9mZnNldCwgY29kZWMua1N0cnVj
dEhlYWRlclNpemUpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3Iu
Tk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHZhciBrVmVyc2lvblNpemVzID0gWwot
ICAgICAge3ZlcnNpb246IDAsIG51bUJ5dGVzOiAxNn0KLSAgICBdOwotICAgIGVyciA9IG1lc3Nh
Z2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RWZXJzaW9uKG9mZnNldCwga1ZlcnNpb25TaXplcyk7
Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAg
ICByZXR1cm4gZXJyOwotCi0KLSAgICAKLSAgICAvLyB2YWxpZGF0ZSBVc2JEZXZpY2VNYW5hZ2Vy
X1NldENsaWVudF9QYXJhbXMuY2xpZW50Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxp
ZGF0ZUludGVyZmFjZShvZmZzZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDAsIGZhbHNl
KTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAg
ICAgIHJldHVybiBlcnI7Ci0KLSAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5O
T05FOwotICB9OwotCi0gIFVzYkRldmljZU1hbmFnZXJfU2V0Q2xpZW50X1BhcmFtcy5lbmNvZGVk
U2l6ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgODsKLQotICBVc2JEZXZpY2VNYW5hZ2Vy
X1NldENsaWVudF9QYXJhbXMuZGVjb2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHZhciBw
YWNrZWQ7Ci0gICAgdmFyIHZhbCA9IG5ldyBVc2JEZXZpY2VNYW5hZ2VyX1NldENsaWVudF9QYXJh
bXMoKTsKLSAgICB2YXIgbnVtYmVyT2ZCeXRlcyA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAg
IHZhciB2ZXJzaW9uID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFsLmNsaWVudCA9IGRl
Y29kZXIuZGVjb2RlU3RydWN0KG5ldyBjb2RlYy5JbnRlcmZhY2UoVXNiRGV2aWNlTWFuYWdlckNs
aWVudFB0cikpOwotICAgIHJldHVybiB2YWw7Ci0gIH07Ci0KLSAgVXNiRGV2aWNlTWFuYWdlcl9T
ZXRDbGllbnRfUGFyYW1zLmVuY29kZSA9IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgIHZh
ciBwYWNrZWQ7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMihVc2JEZXZpY2VNYW5hZ2VyX1NldENs
aWVudF9QYXJhbXMuZW5jb2RlZFNpemUpOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoMCk7Ci0g
ICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3QobmV3IGNvZGVjLkludGVyZmFjZShVc2JEZXZpY2VNYW5h
Z2VyQ2xpZW50UHRyKSwgdmFsLmNsaWVudCk7Ci0gIH07Ci0gIGZ1bmN0aW9uIFVzYkRldmljZU1h
bmFnZXJDbGllbnRfT25EZXZpY2VBZGRlZF9QYXJhbXModmFsdWVzKSB7Ci0gICAgdGhpcy5pbml0
RGVmYXVsdHNfKCk7Ci0gICAgdGhpcy5pbml0RmllbGRzXyh2YWx1ZXMpOwotICB9Ci0KLQotICBV
c2JEZXZpY2VNYW5hZ2VyQ2xpZW50X09uRGV2aWNlQWRkZWRfUGFyYW1zLnByb3RvdHlwZS5pbml0
RGVmYXVsdHNfID0gZnVuY3Rpb24oKSB7Ci0gICAgdGhpcy5kZXZpY2VJbmZvID0gbnVsbDsKLSAg
fTsKLSAgVXNiRGV2aWNlTWFuYWdlckNsaWVudF9PbkRldmljZUFkZGVkX1BhcmFtcy5wcm90b3R5
cGUuaW5pdEZpZWxkc18gPSBmdW5jdGlvbihmaWVsZHMpIHsKLSAgICBmb3IodmFyIGZpZWxkIGlu
IGZpZWxkcykgewotICAgICAgICBpZiAodGhpcy5oYXNPd25Qcm9wZXJ0eShmaWVsZCkpCi0gICAg
ICAgICAgdGhpc1tmaWVsZF0gPSBmaWVsZHNbZmllbGRdOwotICAgIH0KLSAgfTsKLQotICBVc2JE
ZXZpY2VNYW5hZ2VyQ2xpZW50X09uRGV2aWNlQWRkZWRfUGFyYW1zLnZhbGlkYXRlID0gZnVuY3Rp
b24obWVzc2FnZVZhbGlkYXRvciwgb2Zmc2V0KSB7Ci0gICAgdmFyIGVycjsKLSAgICBlcnIgPSBt
ZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0SGVhZGVyKG9mZnNldCwgY29kZWMua1N0cnVj
dEhlYWRlclNpemUpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3Iu
Tk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHZhciBrVmVyc2lvblNpemVzID0gWwot
ICAgICAge3ZlcnNpb246IDAsIG51bUJ5dGVzOiAxNn0KLSAgICBdOwotICAgIGVyciA9IG1lc3Nh
Z2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RWZXJzaW9uKG9mZnNldCwga1ZlcnNpb25TaXplcyk7
Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAg
ICByZXR1cm4gZXJyOwotCi0KLSAgICAKLSAgICAvLyB2YWxpZGF0ZSBVc2JEZXZpY2VNYW5hZ2Vy
Q2xpZW50X09uRGV2aWNlQWRkZWRfUGFyYW1zLmRldmljZUluZm8KLSAgICBlcnIgPSBtZXNzYWdl
VmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0UG9pbnRlcihvZmZzZXQgKyBjb2RlYy5rU3RydWN0SGVh
ZGVyU2l6ZSArIDAsIGRldmljZSQuVXNiRGV2aWNlSW5mbywgZmFsc2UpOwotICAgIGlmIChlcnIg
IT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsK
LQotICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gIH07Ci0KLSAg
VXNiRGV2aWNlTWFuYWdlckNsaWVudF9PbkRldmljZUFkZGVkX1BhcmFtcy5lbmNvZGVkU2l6ZSA9
IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgODsKLQotICBVc2JEZXZpY2VNYW5hZ2VyQ2xpZW50
X09uRGV2aWNlQWRkZWRfUGFyYW1zLmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICB2
YXIgcGFja2VkOwotICAgIHZhciB2YWwgPSBuZXcgVXNiRGV2aWNlTWFuYWdlckNsaWVudF9PbkRl
dmljZUFkZGVkX1BhcmFtcygpOwotICAgIHZhciBudW1iZXJPZkJ5dGVzID0gZGVjb2Rlci5yZWFk
VWludDMyKCk7Ci0gICAgdmFyIHZlcnNpb24gPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2
YWwuZGV2aWNlSW5mbyA9IGRlY29kZXIuZGVjb2RlU3RydWN0UG9pbnRlcihkZXZpY2UkLlVzYkRl
dmljZUluZm8pOwotICAgIHJldHVybiB2YWw7Ci0gIH07Ci0KLSAgVXNiRGV2aWNlTWFuYWdlckNs
aWVudF9PbkRldmljZUFkZGVkX1BhcmFtcy5lbmNvZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2YWwp
IHsKLSAgICB2YXIgcGFja2VkOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoVXNiRGV2aWNlTWFu
YWdlckNsaWVudF9PbkRldmljZUFkZGVkX1BhcmFtcy5lbmNvZGVkU2l6ZSk7Ci0gICAgZW5jb2Rl
ci53cml0ZVVpbnQzMigwKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdFBvaW50ZXIoZGV2aWNl
JC5Vc2JEZXZpY2VJbmZvLCB2YWwuZGV2aWNlSW5mbyk7Ci0gIH07Ci0gIGZ1bmN0aW9uIFVzYkRl
dmljZU1hbmFnZXJDbGllbnRfT25EZXZpY2VSZW1vdmVkX1BhcmFtcyh2YWx1ZXMpIHsKLSAgICB0
aGlzLmluaXREZWZhdWx0c18oKTsKLSAgICB0aGlzLmluaXRGaWVsZHNfKHZhbHVlcyk7Ci0gIH0K
LQotCi0gIFVzYkRldmljZU1hbmFnZXJDbGllbnRfT25EZXZpY2VSZW1vdmVkX1BhcmFtcy5wcm90
b3R5cGUuaW5pdERlZmF1bHRzXyA9IGZ1bmN0aW9uKCkgewotICAgIHRoaXMuZGV2aWNlSW5mbyA9
IG51bGw7Ci0gIH07Ci0gIFVzYkRldmljZU1hbmFnZXJDbGllbnRfT25EZXZpY2VSZW1vdmVkX1Bh
cmFtcy5wcm90b3R5cGUuaW5pdEZpZWxkc18gPSBmdW5jdGlvbihmaWVsZHMpIHsKLSAgICBmb3Io
dmFyIGZpZWxkIGluIGZpZWxkcykgewotICAgICAgICBpZiAodGhpcy5oYXNPd25Qcm9wZXJ0eShm
aWVsZCkpCi0gICAgICAgICAgdGhpc1tmaWVsZF0gPSBmaWVsZHNbZmllbGRdOwotICAgIH0KLSAg
fTsKLQotICBVc2JEZXZpY2VNYW5hZ2VyQ2xpZW50X09uRGV2aWNlUmVtb3ZlZF9QYXJhbXMudmFs
aWRhdGUgPSBmdW5jdGlvbihtZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsKLSAgICB2YXIgZXJy
OwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RIZWFkZXIob2Zmc2V0
LCBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZh
bGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgdmFyIGtWZXJz
aW9uU2l6ZXMgPSBbCi0gICAgICB7dmVyc2lvbjogMCwgbnVtQnl0ZXM6IDE2fQotICAgIF07Ci0g
ICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFZlcnNpb24ob2Zmc2V0LCBr
VmVyc2lvblNpemVzKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9y
Lk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotICAgIAotICAgIC8vIHZhbGlkYXRlIFVz
YkRldmljZU1hbmFnZXJDbGllbnRfT25EZXZpY2VSZW1vdmVkX1BhcmFtcy5kZXZpY2VJbmZvCi0g
ICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFBvaW50ZXIob2Zmc2V0ICsg
Y29kZWMua1N0cnVjdEhlYWRlclNpemUgKyAwLCBkZXZpY2UkLlVzYkRldmljZUluZm8sIGZhbHNl
KTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAg
ICAgIHJldHVybiBlcnI7Ci0KLSAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5O
T05FOwotICB9OwotCi0gIFVzYkRldmljZU1hbmFnZXJDbGllbnRfT25EZXZpY2VSZW1vdmVkX1Bh
cmFtcy5lbmNvZGVkU2l6ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgODsKLQotICBVc2JE
ZXZpY2VNYW5hZ2VyQ2xpZW50X09uRGV2aWNlUmVtb3ZlZF9QYXJhbXMuZGVjb2RlID0gZnVuY3Rp
b24oZGVjb2RlcikgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgdmFyIHZhbCA9IG5ldyBVc2JEZXZp
Y2VNYW5hZ2VyQ2xpZW50X09uRGV2aWNlUmVtb3ZlZF9QYXJhbXMoKTsKLSAgICB2YXIgbnVtYmVy
T2ZCeXRlcyA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhciB2ZXJzaW9uID0gZGVjb2Rl
ci5yZWFkVWludDMyKCk7Ci0gICAgdmFsLmRldmljZUluZm8gPSBkZWNvZGVyLmRlY29kZVN0cnVj
dFBvaW50ZXIoZGV2aWNlJC5Vc2JEZXZpY2VJbmZvKTsKLSAgICByZXR1cm4gdmFsOwotICB9Owot
Ci0gIFVzYkRldmljZU1hbmFnZXJDbGllbnRfT25EZXZpY2VSZW1vdmVkX1BhcmFtcy5lbmNvZGUg
PSBmdW5jdGlvbihlbmNvZGVyLCB2YWwpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIGVuY29kZXIu
d3JpdGVVaW50MzIoVXNiRGV2aWNlTWFuYWdlckNsaWVudF9PbkRldmljZVJlbW92ZWRfUGFyYW1z
LmVuY29kZWRTaXplKTsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKDApOwotICAgIGVuY29kZXIu
ZW5jb2RlU3RydWN0UG9pbnRlcihkZXZpY2UkLlVzYkRldmljZUluZm8sIHZhbC5kZXZpY2VJbmZv
KTsKLSAgfTsKLSAgdmFyIGtVc2JEZXZpY2VNYW5hZ2VyX0dldERldmljZXNfTmFtZSA9IDA7Ci0g
IHZhciBrVXNiRGV2aWNlTWFuYWdlcl9HZXREZXZpY2VfTmFtZSA9IDE7Ci0gIHZhciBrVXNiRGV2
aWNlTWFuYWdlcl9TZXRDbGllbnRfTmFtZSA9IDI7Ci0KLSAgZnVuY3Rpb24gVXNiRGV2aWNlTWFu
YWdlclB0cihoYW5kbGVPclB0ckluZm8pIHsKLSAgICB0aGlzLnB0ciA9IG5ldyBiaW5kaW5ncy5J
bnRlcmZhY2VQdHJDb250cm9sbGVyKFVzYkRldmljZU1hbmFnZXIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVPclB0ckluZm8pOwotICB9
Ci0KLSAgZnVuY3Rpb24gVXNiRGV2aWNlTWFuYWdlckFzc29jaWF0ZWRQdHIoYXNzb2NpYXRlZElu
dGVyZmFjZVB0ckluZm8pIHsKLSAgICB0aGlzLnB0ciA9IG5ldyBhc3NvY2lhdGVkQmluZGluZ3Mu
QXNzb2NpYXRlZEludGVyZmFjZVB0ckNvbnRyb2xsZXIoCi0gICAgICAgIFVzYkRldmljZU1hbmFn
ZXIsIGFzc29jaWF0ZWRJbnRlcmZhY2VQdHJJbmZvKTsKLSAgfQotCi0gIFVzYkRldmljZU1hbmFn
ZXJBc3NvY2lhdGVkUHRyLnByb3RvdHlwZSA9Ci0gICAgICBPYmplY3QuY3JlYXRlKFVzYkRldmlj
ZU1hbmFnZXJQdHIucHJvdG90eXBlKTsKLSAgVXNiRGV2aWNlTWFuYWdlckFzc29jaWF0ZWRQdHIu
cHJvdG90eXBlLmNvbnN0cnVjdG9yID0KLSAgICAgIFVzYkRldmljZU1hbmFnZXJBc3NvY2lhdGVk
UHRyOwotCi0gIGZ1bmN0aW9uIFVzYkRldmljZU1hbmFnZXJQcm94eShyZWNlaXZlcikgewotICAg
IHRoaXMucmVjZWl2ZXJfID0gcmVjZWl2ZXI7Ci0gIH0KLSAgVXNiRGV2aWNlTWFuYWdlclB0ci5w
cm90b3R5cGUuZ2V0RGV2aWNlcyA9IGZ1bmN0aW9uKCkgewotICAgIHJldHVybiBVc2JEZXZpY2VN
YW5hZ2VyUHJveHkucHJvdG90eXBlLmdldERldmljZXMKLSAgICAgICAgLmFwcGx5KHRoaXMucHRy
LmdldFByb3h5KCksIGFyZ3VtZW50cyk7Ci0gIH07Ci0KLSAgVXNiRGV2aWNlTWFuYWdlclByb3h5
LnByb3RvdHlwZS5nZXREZXZpY2VzID0gZnVuY3Rpb24ob3B0aW9ucykgewotICAgIHZhciBwYXJh
bXMgPSBuZXcgVXNiRGV2aWNlTWFuYWdlcl9HZXREZXZpY2VzX1BhcmFtcygpOwotICAgIHBhcmFt
cy5vcHRpb25zID0gb3B0aW9uczsKLSAgICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVz
b2x2ZSwgcmVqZWN0KSB7Ci0gICAgICB2YXIgYnVpbGRlciA9IG5ldyBjb2RlYy5NZXNzYWdlVjFC
dWlsZGVyKAotICAgICAgICAgIGtVc2JEZXZpY2VNYW5hZ2VyX0dldERldmljZXNfTmFtZSwKLSAg
ICAgICAgICBjb2RlYy5hbGlnbihVc2JEZXZpY2VNYW5hZ2VyX0dldERldmljZXNfUGFyYW1zLmVu
Y29kZWRTaXplKSwKLSAgICAgICAgICBjb2RlYy5rTWVzc2FnZUV4cGVjdHNSZXNwb25zZSwgMCk7
Ci0gICAgICBidWlsZGVyLmVuY29kZVN0cnVjdChVc2JEZXZpY2VNYW5hZ2VyX0dldERldmljZXNf
UGFyYW1zLCBwYXJhbXMpOwotICAgICAgdmFyIG1lc3NhZ2UgPSBidWlsZGVyLmZpbmlzaCgpOwot
ICAgICAgdGhpcy5yZWNlaXZlcl8uYWNjZXB0QW5kRXhwZWN0UmVzcG9uc2UobWVzc2FnZSkudGhl
bihmdW5jdGlvbihtZXNzYWdlKSB7Ci0gICAgICAgIHZhciByZWFkZXIgPSBuZXcgY29kZWMuTWVz
c2FnZVJlYWRlcihtZXNzYWdlKTsKLSAgICAgICAgdmFyIHJlc3BvbnNlUGFyYW1zID0KLSAgICAg
ICAgICAgIHJlYWRlci5kZWNvZGVTdHJ1Y3QoVXNiRGV2aWNlTWFuYWdlcl9HZXREZXZpY2VzX1Jl
c3BvbnNlUGFyYW1zKTsKLSAgICAgICAgcmVzb2x2ZShyZXNwb25zZVBhcmFtcyk7Ci0gICAgICB9
KS5jYXRjaChmdW5jdGlvbihyZXN1bHQpIHsKLSAgICAgICAgcmVqZWN0KEVycm9yKCJDb25uZWN0
aW9uIGVycm9yOiAiICsgcmVzdWx0KSk7Ci0gICAgICB9KTsKLSAgICB9LmJpbmQodGhpcykpOwot
ICB9OwotICBVc2JEZXZpY2VNYW5hZ2VyUHRyLnByb3RvdHlwZS5nZXREZXZpY2UgPSBmdW5jdGlv
bigpIHsKLSAgICByZXR1cm4gVXNiRGV2aWNlTWFuYWdlclByb3h5LnByb3RvdHlwZS5nZXREZXZp
Y2UKLSAgICAgICAgLmFwcGx5KHRoaXMucHRyLmdldFByb3h5KCksIGFyZ3VtZW50cyk7Ci0gIH07
Ci0KLSAgVXNiRGV2aWNlTWFuYWdlclByb3h5LnByb3RvdHlwZS5nZXREZXZpY2UgPSBmdW5jdGlv
bihndWlkLCBkZXZpY2VSZXF1ZXN0KSB7Ci0gICAgdmFyIHBhcmFtcyA9IG5ldyBVc2JEZXZpY2VN
YW5hZ2VyX0dldERldmljZV9QYXJhbXMoKTsKLSAgICBwYXJhbXMuZ3VpZCA9IGd1aWQ7Ci0gICAg
cGFyYW1zLmRldmljZVJlcXVlc3QgPSBkZXZpY2VSZXF1ZXN0OwotICAgIHZhciBidWlsZGVyID0g
bmV3IGNvZGVjLk1lc3NhZ2VWMEJ1aWxkZXIoCi0gICAgICAgIGtVc2JEZXZpY2VNYW5hZ2VyX0dl
dERldmljZV9OYW1lLAotICAgICAgICBjb2RlYy5hbGlnbihVc2JEZXZpY2VNYW5hZ2VyX0dldERl
dmljZV9QYXJhbXMuZW5jb2RlZFNpemUpKTsKLSAgICBidWlsZGVyLmVuY29kZVN0cnVjdChVc2JE
ZXZpY2VNYW5hZ2VyX0dldERldmljZV9QYXJhbXMsIHBhcmFtcyk7Ci0gICAgdmFyIG1lc3NhZ2Ug
PSBidWlsZGVyLmZpbmlzaCgpOwotICAgIHRoaXMucmVjZWl2ZXJfLmFjY2VwdChtZXNzYWdlKTsK
LSAgfTsKLSAgVXNiRGV2aWNlTWFuYWdlclB0ci5wcm90b3R5cGUuc2V0Q2xpZW50ID0gZnVuY3Rp
b24oKSB7Ci0gICAgcmV0dXJuIFVzYkRldmljZU1hbmFnZXJQcm94eS5wcm90b3R5cGUuc2V0Q2xp
ZW50Ci0gICAgICAgIC5hcHBseSh0aGlzLnB0ci5nZXRQcm94eSgpLCBhcmd1bWVudHMpOwotICB9
OwotCi0gIFVzYkRldmljZU1hbmFnZXJQcm94eS5wcm90b3R5cGUuc2V0Q2xpZW50ID0gZnVuY3Rp
b24oY2xpZW50KSB7Ci0gICAgdmFyIHBhcmFtcyA9IG5ldyBVc2JEZXZpY2VNYW5hZ2VyX1NldENs
aWVudF9QYXJhbXMoKTsKLSAgICBwYXJhbXMuY2xpZW50ID0gY2xpZW50OwotICAgIHZhciBidWls
ZGVyID0gbmV3IGNvZGVjLk1lc3NhZ2VWMEJ1aWxkZXIoCi0gICAgICAgIGtVc2JEZXZpY2VNYW5h
Z2VyX1NldENsaWVudF9OYW1lLAotICAgICAgICBjb2RlYy5hbGlnbihVc2JEZXZpY2VNYW5hZ2Vy
X1NldENsaWVudF9QYXJhbXMuZW5jb2RlZFNpemUpKTsKLSAgICBidWlsZGVyLmVuY29kZVN0cnVj
dChVc2JEZXZpY2VNYW5hZ2VyX1NldENsaWVudF9QYXJhbXMsIHBhcmFtcyk7Ci0gICAgdmFyIG1l
c3NhZ2UgPSBidWlsZGVyLmZpbmlzaCgpOwotICAgIHRoaXMucmVjZWl2ZXJfLmFjY2VwdChtZXNz
YWdlKTsKLSAgfTsKLQotICBmdW5jdGlvbiBVc2JEZXZpY2VNYW5hZ2VyU3R1YihkZWxlZ2F0ZSkg
ewotICAgIHRoaXMuZGVsZWdhdGVfID0gZGVsZWdhdGU7Ci0gIH0KLSAgVXNiRGV2aWNlTWFuYWdl
clN0dWIucHJvdG90eXBlLmdldERldmljZXMgPSBmdW5jdGlvbihvcHRpb25zKSB7Ci0gICAgcmV0
dXJuIHRoaXMuZGVsZWdhdGVfICYmIHRoaXMuZGVsZWdhdGVfLmdldERldmljZXMgJiYgdGhpcy5k
ZWxlZ2F0ZV8uZ2V0RGV2aWNlcyhvcHRpb25zKTsKLSAgfQotICBVc2JEZXZpY2VNYW5hZ2VyU3R1
Yi5wcm90b3R5cGUuZ2V0RGV2aWNlID0gZnVuY3Rpb24oZ3VpZCwgZGV2aWNlUmVxdWVzdCkgewot
ICAgIHJldHVybiB0aGlzLmRlbGVnYXRlXyAmJiB0aGlzLmRlbGVnYXRlXy5nZXREZXZpY2UgJiYg
dGhpcy5kZWxlZ2F0ZV8uZ2V0RGV2aWNlKGd1aWQsIGRldmljZVJlcXVlc3QpOwotICB9Ci0gIFVz
YkRldmljZU1hbmFnZXJTdHViLnByb3RvdHlwZS5zZXRDbGllbnQgPSBmdW5jdGlvbihjbGllbnQp
IHsKLSAgICByZXR1cm4gdGhpcy5kZWxlZ2F0ZV8gJiYgdGhpcy5kZWxlZ2F0ZV8uc2V0Q2xpZW50
ICYmIHRoaXMuZGVsZWdhdGVfLnNldENsaWVudChjbGllbnQpOwotICB9Ci0KLSAgVXNiRGV2aWNl
TWFuYWdlclN0dWIucHJvdG90eXBlLmFjY2VwdCA9IGZ1bmN0aW9uKG1lc3NhZ2UpIHsKLSAgICB2
YXIgcmVhZGVyID0gbmV3IGNvZGVjLk1lc3NhZ2VSZWFkZXIobWVzc2FnZSk7Ci0gICAgc3dpdGNo
IChyZWFkZXIubWVzc2FnZU5hbWUpIHsKLSAgICBjYXNlIGtVc2JEZXZpY2VNYW5hZ2VyX0dldERl
dmljZV9OYW1lOgotICAgICAgdmFyIHBhcmFtcyA9IHJlYWRlci5kZWNvZGVTdHJ1Y3QoVXNiRGV2
aWNlTWFuYWdlcl9HZXREZXZpY2VfUGFyYW1zKTsKLSAgICAgIHRoaXMuZ2V0RGV2aWNlKHBhcmFt
cy5ndWlkLCBwYXJhbXMuZGV2aWNlUmVxdWVzdCk7Ci0gICAgICByZXR1cm4gdHJ1ZTsKLSAgICBj
YXNlIGtVc2JEZXZpY2VNYW5hZ2VyX1NldENsaWVudF9OYW1lOgotICAgICAgdmFyIHBhcmFtcyA9
IHJlYWRlci5kZWNvZGVTdHJ1Y3QoVXNiRGV2aWNlTWFuYWdlcl9TZXRDbGllbnRfUGFyYW1zKTsK
LSAgICAgIHRoaXMuc2V0Q2xpZW50KHBhcmFtcy5jbGllbnQpOwotICAgICAgcmV0dXJuIHRydWU7
Ci0gICAgZGVmYXVsdDoKLSAgICAgIHJldHVybiBmYWxzZTsKLSAgICB9Ci0gIH07Ci0KLSAgVXNi
RGV2aWNlTWFuYWdlclN0dWIucHJvdG90eXBlLmFjY2VwdFdpdGhSZXNwb25kZXIgPQotICAgICAg
ZnVuY3Rpb24obWVzc2FnZSwgcmVzcG9uZGVyKSB7Ci0gICAgdmFyIHJlYWRlciA9IG5ldyBjb2Rl
Yy5NZXNzYWdlUmVhZGVyKG1lc3NhZ2UpOwotICAgIHN3aXRjaCAocmVhZGVyLm1lc3NhZ2VOYW1l
KSB7Ci0gICAgY2FzZSBrVXNiRGV2aWNlTWFuYWdlcl9HZXREZXZpY2VzX05hbWU6Ci0gICAgICB2
YXIgcGFyYW1zID0gcmVhZGVyLmRlY29kZVN0cnVjdChVc2JEZXZpY2VNYW5hZ2VyX0dldERldmlj
ZXNfUGFyYW1zKTsKLSAgICAgIHRoaXMuZ2V0RGV2aWNlcyhwYXJhbXMub3B0aW9ucykudGhlbihm
dW5jdGlvbihyZXNwb25zZSkgewotICAgICAgICB2YXIgcmVzcG9uc2VQYXJhbXMgPQotICAgICAg
ICAgICAgbmV3IFVzYkRldmljZU1hbmFnZXJfR2V0RGV2aWNlc19SZXNwb25zZVBhcmFtcygpOwot
ICAgICAgICByZXNwb25zZVBhcmFtcy5yZXN1bHRzID0gcmVzcG9uc2UucmVzdWx0czsKLSAgICAg
ICAgdmFyIGJ1aWxkZXIgPSBuZXcgY29kZWMuTWVzc2FnZVYxQnVpbGRlcigKLSAgICAgICAgICAg
IGtVc2JEZXZpY2VNYW5hZ2VyX0dldERldmljZXNfTmFtZSwKLSAgICAgICAgICAgIGNvZGVjLmFs
aWduKFVzYkRldmljZU1hbmFnZXJfR2V0RGV2aWNlc19SZXNwb25zZVBhcmFtcy5lbmNvZGVkU2l6
ZSksCi0gICAgICAgICAgICBjb2RlYy5rTWVzc2FnZUlzUmVzcG9uc2UsIHJlYWRlci5yZXF1ZXN0
SUQpOwotICAgICAgICBidWlsZGVyLmVuY29kZVN0cnVjdChVc2JEZXZpY2VNYW5hZ2VyX0dldERl
dmljZXNfUmVzcG9uc2VQYXJhbXMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3Bv
bnNlUGFyYW1zKTsKLSAgICAgICAgdmFyIG1lc3NhZ2UgPSBidWlsZGVyLmZpbmlzaCgpOwotICAg
ICAgICByZXNwb25kZXIuYWNjZXB0KG1lc3NhZ2UpOwotICAgICAgfSk7Ci0gICAgICByZXR1cm4g
dHJ1ZTsKLSAgICBkZWZhdWx0OgotICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0KLSAgfTsKLQot
ICBmdW5jdGlvbiB2YWxpZGF0ZVVzYkRldmljZU1hbmFnZXJSZXF1ZXN0KG1lc3NhZ2VWYWxpZGF0
b3IpIHsKLSAgICB2YXIgbWVzc2FnZSA9IG1lc3NhZ2VWYWxpZGF0b3IubWVzc2FnZTsKLSAgICB2
YXIgcGFyYW1zQ2xhc3MgPSBudWxsOwotICAgIHN3aXRjaCAobWVzc2FnZS5nZXROYW1lKCkpIHsK
LSAgICAgIGNhc2Uga1VzYkRldmljZU1hbmFnZXJfR2V0RGV2aWNlc19OYW1lOgotICAgICAgICBp
ZiAobWVzc2FnZS5leHBlY3RzUmVzcG9uc2UoKSkKLSAgICAgICAgICBwYXJhbXNDbGFzcyA9IFVz
YkRldmljZU1hbmFnZXJfR2V0RGV2aWNlc19QYXJhbXM7Ci0gICAgICBicmVhazsKLSAgICAgIGNh
c2Uga1VzYkRldmljZU1hbmFnZXJfR2V0RGV2aWNlX05hbWU6Ci0gICAgICAgIGlmICghbWVzc2Fn
ZS5leHBlY3RzUmVzcG9uc2UoKSAmJiAhbWVzc2FnZS5pc1Jlc3BvbnNlKCkpCi0gICAgICAgICAg
cGFyYW1zQ2xhc3MgPSBVc2JEZXZpY2VNYW5hZ2VyX0dldERldmljZV9QYXJhbXM7Ci0gICAgICBi
cmVhazsKLSAgICAgIGNhc2Uga1VzYkRldmljZU1hbmFnZXJfU2V0Q2xpZW50X05hbWU6Ci0gICAg
ICAgIGlmICghbWVzc2FnZS5leHBlY3RzUmVzcG9uc2UoKSAmJiAhbWVzc2FnZS5pc1Jlc3BvbnNl
KCkpCi0gICAgICAgICAgcGFyYW1zQ2xhc3MgPSBVc2JEZXZpY2VNYW5hZ2VyX1NldENsaWVudF9Q
YXJhbXM7Ci0gICAgICBicmVhazsKLSAgICB9Ci0gICAgaWYgKHBhcmFtc0NsYXNzID09PSBudWxs
KQotICAgICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAgICByZXR1
cm4gcGFyYW1zQ2xhc3MudmFsaWRhdGUobWVzc2FnZVZhbGlkYXRvciwgbWVzc2FnZVZhbGlkYXRv
ci5tZXNzYWdlLmdldEhlYWRlck51bUJ5dGVzKCkpOwotICB9Ci0KLSAgZnVuY3Rpb24gdmFsaWRh
dGVVc2JEZXZpY2VNYW5hZ2VyUmVzcG9uc2UobWVzc2FnZVZhbGlkYXRvcikgewotICAgdmFyIG1l
c3NhZ2UgPSBtZXNzYWdlVmFsaWRhdG9yLm1lc3NhZ2U7Ci0gICB2YXIgcGFyYW1zQ2xhc3MgPSBu
dWxsOwotICAgc3dpdGNoIChtZXNzYWdlLmdldE5hbWUoKSkgewotICAgICAgY2FzZSBrVXNiRGV2
aWNlTWFuYWdlcl9HZXREZXZpY2VzX05hbWU6Ci0gICAgICAgIGlmIChtZXNzYWdlLmlzUmVzcG9u
c2UoKSkKLSAgICAgICAgICBwYXJhbXNDbGFzcyA9IFVzYkRldmljZU1hbmFnZXJfR2V0RGV2aWNl
c19SZXNwb25zZVBhcmFtczsKLSAgICAgICAgYnJlYWs7Ci0gICAgfQotICAgIGlmIChwYXJhbXND
bGFzcyA9PT0gbnVsbCkKLSAgICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5P
TkU7Ci0gICAgcmV0dXJuIHBhcmFtc0NsYXNzLnZhbGlkYXRlKG1lc3NhZ2VWYWxpZGF0b3IsIG1l
c3NhZ2VWYWxpZGF0b3IubWVzc2FnZS5nZXRIZWFkZXJOdW1CeXRlcygpKTsKLSAgfQotCi0gIHZh
ciBVc2JEZXZpY2VNYW5hZ2VyID0gewotICAgIG5hbWU6ICdkZXZpY2U6Om1vam9tOjpVc2JEZXZp
Y2VNYW5hZ2VyJywKLSAgICBrVmVyc2lvbjogMCwKLSAgICBwdHJDbGFzczogVXNiRGV2aWNlTWFu
YWdlclB0ciwKLSAgICBwcm94eUNsYXNzOiBVc2JEZXZpY2VNYW5hZ2VyUHJveHksCi0gICAgc3R1
YkNsYXNzOiBVc2JEZXZpY2VNYW5hZ2VyU3R1YiwKLSAgICB2YWxpZGF0ZVJlcXVlc3Q6IHZhbGlk
YXRlVXNiRGV2aWNlTWFuYWdlclJlcXVlc3QsCi0gICAgdmFsaWRhdGVSZXNwb25zZTogdmFsaWRh
dGVVc2JEZXZpY2VNYW5hZ2VyUmVzcG9uc2UsCi0gIH07Ci0gIFVzYkRldmljZU1hbmFnZXJTdHVi
LnByb3RvdHlwZS52YWxpZGF0b3IgPSB2YWxpZGF0ZVVzYkRldmljZU1hbmFnZXJSZXF1ZXN0Owot
ICBVc2JEZXZpY2VNYW5hZ2VyUHJveHkucHJvdG90eXBlLnZhbGlkYXRvciA9IHZhbGlkYXRlVXNi
RGV2aWNlTWFuYWdlclJlc3BvbnNlOwotICB2YXIga1VzYkRldmljZU1hbmFnZXJDbGllbnRfT25E
ZXZpY2VBZGRlZF9OYW1lID0gMDsKLSAgdmFyIGtVc2JEZXZpY2VNYW5hZ2VyQ2xpZW50X09uRGV2
aWNlUmVtb3ZlZF9OYW1lID0gMTsKLQotICBmdW5jdGlvbiBVc2JEZXZpY2VNYW5hZ2VyQ2xpZW50
UHRyKGhhbmRsZU9yUHRySW5mbykgewotICAgIHRoaXMucHRyID0gbmV3IGJpbmRpbmdzLkludGVy
ZmFjZVB0ckNvbnRyb2xsZXIoVXNiRGV2aWNlTWFuYWdlckNsaWVudCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZU9yUHRySW5mbyk7Ci0g
IH0KLQotICBmdW5jdGlvbiBVc2JEZXZpY2VNYW5hZ2VyQ2xpZW50QXNzb2NpYXRlZFB0cihhc3Nv
Y2lhdGVkSW50ZXJmYWNlUHRySW5mbykgewotICAgIHRoaXMucHRyID0gbmV3IGFzc29jaWF0ZWRC
aW5kaW5ncy5Bc3NvY2lhdGVkSW50ZXJmYWNlUHRyQ29udHJvbGxlcigKLSAgICAgICAgVXNiRGV2
aWNlTWFuYWdlckNsaWVudCwgYXNzb2NpYXRlZEludGVyZmFjZVB0ckluZm8pOwotICB9Ci0KLSAg
VXNiRGV2aWNlTWFuYWdlckNsaWVudEFzc29jaWF0ZWRQdHIucHJvdG90eXBlID0KLSAgICAgIE9i
amVjdC5jcmVhdGUoVXNiRGV2aWNlTWFuYWdlckNsaWVudFB0ci5wcm90b3R5cGUpOwotICBVc2JE
ZXZpY2VNYW5hZ2VyQ2xpZW50QXNzb2NpYXRlZFB0ci5wcm90b3R5cGUuY29uc3RydWN0b3IgPQot
ICAgICAgVXNiRGV2aWNlTWFuYWdlckNsaWVudEFzc29jaWF0ZWRQdHI7Ci0KLSAgZnVuY3Rpb24g
VXNiRGV2aWNlTWFuYWdlckNsaWVudFByb3h5KHJlY2VpdmVyKSB7Ci0gICAgdGhpcy5yZWNlaXZl
cl8gPSByZWNlaXZlcjsKLSAgfQotICBVc2JEZXZpY2VNYW5hZ2VyQ2xpZW50UHRyLnByb3RvdHlw
ZS5vbkRldmljZUFkZGVkID0gZnVuY3Rpb24oKSB7Ci0gICAgcmV0dXJuIFVzYkRldmljZU1hbmFn
ZXJDbGllbnRQcm94eS5wcm90b3R5cGUub25EZXZpY2VBZGRlZAotICAgICAgICAuYXBwbHkodGhp
cy5wdHIuZ2V0UHJveHkoKSwgYXJndW1lbnRzKTsKLSAgfTsKLQotICBVc2JEZXZpY2VNYW5hZ2Vy
Q2xpZW50UHJveHkucHJvdG90eXBlLm9uRGV2aWNlQWRkZWQgPSBmdW5jdGlvbihkZXZpY2VJbmZv
KSB7Ci0gICAgdmFyIHBhcmFtcyA9IG5ldyBVc2JEZXZpY2VNYW5hZ2VyQ2xpZW50X09uRGV2aWNl
QWRkZWRfUGFyYW1zKCk7Ci0gICAgcGFyYW1zLmRldmljZUluZm8gPSBkZXZpY2VJbmZvOwotICAg
IHZhciBidWlsZGVyID0gbmV3IGNvZGVjLk1lc3NhZ2VWMEJ1aWxkZXIoCi0gICAgICAgIGtVc2JE
ZXZpY2VNYW5hZ2VyQ2xpZW50X09uRGV2aWNlQWRkZWRfTmFtZSwKLSAgICAgICAgY29kZWMuYWxp
Z24oVXNiRGV2aWNlTWFuYWdlckNsaWVudF9PbkRldmljZUFkZGVkX1BhcmFtcy5lbmNvZGVkU2l6
ZSkpOwotICAgIGJ1aWxkZXIuZW5jb2RlU3RydWN0KFVzYkRldmljZU1hbmFnZXJDbGllbnRfT25E
ZXZpY2VBZGRlZF9QYXJhbXMsIHBhcmFtcyk7Ci0gICAgdmFyIG1lc3NhZ2UgPSBidWlsZGVyLmZp
bmlzaCgpOwotICAgIHRoaXMucmVjZWl2ZXJfLmFjY2VwdChtZXNzYWdlKTsKLSAgfTsKLSAgVXNi
RGV2aWNlTWFuYWdlckNsaWVudFB0ci5wcm90b3R5cGUub25EZXZpY2VSZW1vdmVkID0gZnVuY3Rp
b24oKSB7Ci0gICAgcmV0dXJuIFVzYkRldmljZU1hbmFnZXJDbGllbnRQcm94eS5wcm90b3R5cGUu
b25EZXZpY2VSZW1vdmVkCi0gICAgICAgIC5hcHBseSh0aGlzLnB0ci5nZXRQcm94eSgpLCBhcmd1
bWVudHMpOwotICB9OwotCi0gIFVzYkRldmljZU1hbmFnZXJDbGllbnRQcm94eS5wcm90b3R5cGUu
b25EZXZpY2VSZW1vdmVkID0gZnVuY3Rpb24oZGV2aWNlSW5mbykgewotICAgIHZhciBwYXJhbXMg
PSBuZXcgVXNiRGV2aWNlTWFuYWdlckNsaWVudF9PbkRldmljZVJlbW92ZWRfUGFyYW1zKCk7Ci0g
ICAgcGFyYW1zLmRldmljZUluZm8gPSBkZXZpY2VJbmZvOwotICAgIHZhciBidWlsZGVyID0gbmV3
IGNvZGVjLk1lc3NhZ2VWMEJ1aWxkZXIoCi0gICAgICAgIGtVc2JEZXZpY2VNYW5hZ2VyQ2xpZW50
X09uRGV2aWNlUmVtb3ZlZF9OYW1lLAotICAgICAgICBjb2RlYy5hbGlnbihVc2JEZXZpY2VNYW5h
Z2VyQ2xpZW50X09uRGV2aWNlUmVtb3ZlZF9QYXJhbXMuZW5jb2RlZFNpemUpKTsKLSAgICBidWls
ZGVyLmVuY29kZVN0cnVjdChVc2JEZXZpY2VNYW5hZ2VyQ2xpZW50X09uRGV2aWNlUmVtb3ZlZF9Q
YXJhbXMsIHBhcmFtcyk7Ci0gICAgdmFyIG1lc3NhZ2UgPSBidWlsZGVyLmZpbmlzaCgpOwotICAg
IHRoaXMucmVjZWl2ZXJfLmFjY2VwdChtZXNzYWdlKTsKLSAgfTsKLQotICBmdW5jdGlvbiBVc2JE
ZXZpY2VNYW5hZ2VyQ2xpZW50U3R1YihkZWxlZ2F0ZSkgewotICAgIHRoaXMuZGVsZWdhdGVfID0g
ZGVsZWdhdGU7Ci0gIH0KLSAgVXNiRGV2aWNlTWFuYWdlckNsaWVudFN0dWIucHJvdG90eXBlLm9u
RGV2aWNlQWRkZWQgPSBmdW5jdGlvbihkZXZpY2VJbmZvKSB7Ci0gICAgcmV0dXJuIHRoaXMuZGVs
ZWdhdGVfICYmIHRoaXMuZGVsZWdhdGVfLm9uRGV2aWNlQWRkZWQgJiYgdGhpcy5kZWxlZ2F0ZV8u
b25EZXZpY2VBZGRlZChkZXZpY2VJbmZvKTsKLSAgfQotICBVc2JEZXZpY2VNYW5hZ2VyQ2xpZW50
U3R1Yi5wcm90b3R5cGUub25EZXZpY2VSZW1vdmVkID0gZnVuY3Rpb24oZGV2aWNlSW5mbykgewot
ICAgIHJldHVybiB0aGlzLmRlbGVnYXRlXyAmJiB0aGlzLmRlbGVnYXRlXy5vbkRldmljZVJlbW92
ZWQgJiYgdGhpcy5kZWxlZ2F0ZV8ub25EZXZpY2VSZW1vdmVkKGRldmljZUluZm8pOwotICB9Ci0K
LSAgVXNiRGV2aWNlTWFuYWdlckNsaWVudFN0dWIucHJvdG90eXBlLmFjY2VwdCA9IGZ1bmN0aW9u
KG1lc3NhZ2UpIHsKLSAgICB2YXIgcmVhZGVyID0gbmV3IGNvZGVjLk1lc3NhZ2VSZWFkZXIobWVz
c2FnZSk7Ci0gICAgc3dpdGNoIChyZWFkZXIubWVzc2FnZU5hbWUpIHsKLSAgICBjYXNlIGtVc2JE
ZXZpY2VNYW5hZ2VyQ2xpZW50X09uRGV2aWNlQWRkZWRfTmFtZToKLSAgICAgIHZhciBwYXJhbXMg
PSByZWFkZXIuZGVjb2RlU3RydWN0KFVzYkRldmljZU1hbmFnZXJDbGllbnRfT25EZXZpY2VBZGRl
ZF9QYXJhbXMpOwotICAgICAgdGhpcy5vbkRldmljZUFkZGVkKHBhcmFtcy5kZXZpY2VJbmZvKTsK
LSAgICAgIHJldHVybiB0cnVlOwotICAgIGNhc2Uga1VzYkRldmljZU1hbmFnZXJDbGllbnRfT25E
ZXZpY2VSZW1vdmVkX05hbWU6Ci0gICAgICB2YXIgcGFyYW1zID0gcmVhZGVyLmRlY29kZVN0cnVj
dChVc2JEZXZpY2VNYW5hZ2VyQ2xpZW50X09uRGV2aWNlUmVtb3ZlZF9QYXJhbXMpOwotICAgICAg
dGhpcy5vbkRldmljZVJlbW92ZWQocGFyYW1zLmRldmljZUluZm8pOwotICAgICAgcmV0dXJuIHRy
dWU7Ci0gICAgZGVmYXVsdDoKLSAgICAgIHJldHVybiBmYWxzZTsKLSAgICB9Ci0gIH07Ci0KLSAg
VXNiRGV2aWNlTWFuYWdlckNsaWVudFN0dWIucHJvdG90eXBlLmFjY2VwdFdpdGhSZXNwb25kZXIg
PQotICAgICAgZnVuY3Rpb24obWVzc2FnZSwgcmVzcG9uZGVyKSB7Ci0gICAgdmFyIHJlYWRlciA9
IG5ldyBjb2RlYy5NZXNzYWdlUmVhZGVyKG1lc3NhZ2UpOwotICAgIHN3aXRjaCAocmVhZGVyLm1l
c3NhZ2VOYW1lKSB7Ci0gICAgZGVmYXVsdDoKLSAgICAgIHJldHVybiBmYWxzZTsKLSAgICB9Ci0g
IH07Ci0KLSAgZnVuY3Rpb24gdmFsaWRhdGVVc2JEZXZpY2VNYW5hZ2VyQ2xpZW50UmVxdWVzdCht
ZXNzYWdlVmFsaWRhdG9yKSB7Ci0gICAgdmFyIG1lc3NhZ2UgPSBtZXNzYWdlVmFsaWRhdG9yLm1l
c3NhZ2U7Ci0gICAgdmFyIHBhcmFtc0NsYXNzID0gbnVsbDsKLSAgICBzd2l0Y2ggKG1lc3NhZ2Uu
Z2V0TmFtZSgpKSB7Ci0gICAgICBjYXNlIGtVc2JEZXZpY2VNYW5hZ2VyQ2xpZW50X09uRGV2aWNl
QWRkZWRfTmFtZToKLSAgICAgICAgaWYgKCFtZXNzYWdlLmV4cGVjdHNSZXNwb25zZSgpICYmICFt
ZXNzYWdlLmlzUmVzcG9uc2UoKSkKLSAgICAgICAgICBwYXJhbXNDbGFzcyA9IFVzYkRldmljZU1h
bmFnZXJDbGllbnRfT25EZXZpY2VBZGRlZF9QYXJhbXM7Ci0gICAgICBicmVhazsKLSAgICAgIGNh
c2Uga1VzYkRldmljZU1hbmFnZXJDbGllbnRfT25EZXZpY2VSZW1vdmVkX05hbWU6Ci0gICAgICAg
IGlmICghbWVzc2FnZS5leHBlY3RzUmVzcG9uc2UoKSAmJiAhbWVzc2FnZS5pc1Jlc3BvbnNlKCkp
Ci0gICAgICAgICAgcGFyYW1zQ2xhc3MgPSBVc2JEZXZpY2VNYW5hZ2VyQ2xpZW50X09uRGV2aWNl
UmVtb3ZlZF9QYXJhbXM7Ci0gICAgICBicmVhazsKLSAgICB9Ci0gICAgaWYgKHBhcmFtc0NsYXNz
ID09PSBudWxsKQotICAgICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORTsK
LSAgICByZXR1cm4gcGFyYW1zQ2xhc3MudmFsaWRhdGUobWVzc2FnZVZhbGlkYXRvciwgbWVzc2Fn
ZVZhbGlkYXRvci5tZXNzYWdlLmdldEhlYWRlck51bUJ5dGVzKCkpOwotICB9Ci0KLSAgZnVuY3Rp
b24gdmFsaWRhdGVVc2JEZXZpY2VNYW5hZ2VyQ2xpZW50UmVzcG9uc2UobWVzc2FnZVZhbGlkYXRv
cikgewotICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gIH0KLQot
ICB2YXIgVXNiRGV2aWNlTWFuYWdlckNsaWVudCA9IHsKLSAgICBuYW1lOiAnZGV2aWNlOjptb2pv
bTo6VXNiRGV2aWNlTWFuYWdlckNsaWVudCcsCi0gICAga1ZlcnNpb246IDAsCi0gICAgcHRyQ2xh
c3M6IFVzYkRldmljZU1hbmFnZXJDbGllbnRQdHIsCi0gICAgcHJveHlDbGFzczogVXNiRGV2aWNl
TWFuYWdlckNsaWVudFByb3h5LAotICAgIHN0dWJDbGFzczogVXNiRGV2aWNlTWFuYWdlckNsaWVu
dFN0dWIsCi0gICAgdmFsaWRhdGVSZXF1ZXN0OiB2YWxpZGF0ZVVzYkRldmljZU1hbmFnZXJDbGll
bnRSZXF1ZXN0LAotICAgIHZhbGlkYXRlUmVzcG9uc2U6IG51bGwsCi0gIH07Ci0gIFVzYkRldmlj
ZU1hbmFnZXJDbGllbnRTdHViLnByb3RvdHlwZS52YWxpZGF0b3IgPSB2YWxpZGF0ZVVzYkRldmlj
ZU1hbmFnZXJDbGllbnRSZXF1ZXN0OwotICBVc2JEZXZpY2VNYW5hZ2VyQ2xpZW50UHJveHkucHJv
dG90eXBlLnZhbGlkYXRvciA9IG51bGw7Ci0gIGV4cG9ydHMuVXNiRGV2aWNlRmlsdGVyID0gVXNi
RGV2aWNlRmlsdGVyOwotICBleHBvcnRzLlVzYkVudW1lcmF0aW9uT3B0aW9ucyA9IFVzYkVudW1l
cmF0aW9uT3B0aW9uczsKLSAgZXhwb3J0cy5Vc2JEZXZpY2VNYW5hZ2VyID0gVXNiRGV2aWNlTWFu
YWdlcjsKLSAgZXhwb3J0cy5Vc2JEZXZpY2VNYW5hZ2VyUHRyID0gVXNiRGV2aWNlTWFuYWdlclB0
cjsKLSAgZXhwb3J0cy5Vc2JEZXZpY2VNYW5hZ2VyQXNzb2NpYXRlZFB0ciA9IFVzYkRldmljZU1h
bmFnZXJBc3NvY2lhdGVkUHRyOwotICBleHBvcnRzLlVzYkRldmljZU1hbmFnZXJDbGllbnQgPSBV
c2JEZXZpY2VNYW5hZ2VyQ2xpZW50OwotICBleHBvcnRzLlVzYkRldmljZU1hbmFnZXJDbGllbnRQ
dHIgPSBVc2JEZXZpY2VNYW5hZ2VyQ2xpZW50UHRyOwotICBleHBvcnRzLlVzYkRldmljZU1hbmFn
ZXJDbGllbnRBc3NvY2lhdGVkUHRyID0gVXNiRGV2aWNlTWFuYWdlckNsaWVudEFzc29jaWF0ZWRQ
dHI7Ci19KSgpOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL2Rldmlj
ZV9tYW5hZ2VyLm1vam9tLmpzLmhlYWRlcnMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vZGV2aWNlX21h
bmFnZXIubW9qb20uanMuaGVhZGVycwkocmV2aXNpb24gMjUyODk2KQorKysgTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vZGV2aWNl
X21hbmFnZXIubW9qb20uanMuaGVhZGVycwkobm9uZXhpc3RlbnQpCkBAIC0xICswLDAgQEAKLUNv
bnRlbnQtVHlwZTogdGV4dC9qYXZhc2NyaXB0OyBjaGFyc2V0PXV0Zi04CkluZGV4OiBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS9t
b2pvX2JpbmRpbmdzLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL21vam9fYmluZGluZ3MuanMJKHJl
dmlzaW9uIDI1Mjg5NikKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL21vam9fYmluZGluZ3MuanMJKG5vbmV4aXN0ZW50KQpA
QCAtMSw1MTI5ICswLDAgQEAKLS8vIENvcHlyaWdodCAyMDE3IFRoZSBDaHJvbWl1bSBBdXRob3Jz
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgotLy8gVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292
ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQotLy8gZm91bmQgaW4gdGhl
IExJQ0VOU0UgZmlsZS4KLQotJ3VzZSBzdHJpY3QnOwotCi1pZiAobW9qbyAmJiBtb2pvLmludGVy
bmFsKSB7Ci0gIHRocm93IG5ldyBFcnJvcignVGhlIE1vam8gYmluZGluZ3MgbGlicmFyeSBoYXMg
YmVlbiBpbml0aWFsaXplZC4nKTsKLX0KLQotdmFyIG1vam8gPSBtb2pvIHx8IHt9OwotbW9qby5p
bnRlcm5hbCA9IHt9OwotbW9qby5pbnRlcm5hbC5nbG9iYWwgPSB0aGlzOwotbW9qby5jb25maWcg
PSB7Ci0gIC8vIFdoZXRoZXIgdG8gYXV0b21hdGljYWxseSBsb2FkIG1vam9tIGRlcGVuZGVuY2ll
cy4KLSAgLy8gRm9yIGV4YW1wbGUsIGlmIGZvby5tb2pvbSBpbXBvcnRzIGJhci5tb2pvbSwgfGF1
dG9Mb2FkTW9qb21EZXBzfCBzZXQgdG8KLSAgLy8gdHJ1ZSBtZWFucyB0aGF0IGxvYWRpbmcgZm9v
Lm1vam9tLmpzIHdpbGwgaW5zZXJ0IGEgPHNjcmlwdD4gdGFnIHRvIGxvYWQKLSAgLy8gYmFyLm1v
am9tLmpzLCBpZiBpdCBoYXNuJ3QgYmVlbiBsb2FkZWQuCi0gIC8vCi0gIC8vIFRoZSBVUkwgb2Yg
YmFyLm1vam9tLmpzIGlzIGRldGVybWluZWQgYnkgdGhlIHJlbGF0aXZlIHBhdGggb2YgYmFyLm1v
am9tCi0gIC8vIChyZWxhdGl2ZSB0byB0aGUgcG9zaXRpb24gb2YgZm9vLm1vam9tIGF0IGJ1aWxk
IHRpbWUpIGFuZCB0aGUgVVJMIG9mCi0gIC8vIGZvby5tb2pvbS5qcy4gRm9yIGV4bXBsZSwgaWYg
YXQgYnVpbGQgdGltZSB0aGUgdHdvIG1vam9tIGZpbGVzIGFyZQotICAvLyBsb2NhdGVkIGF0Ogot
ICAvLyAgIGEvYi9jL2Zvby5tb2pvbQotICAvLyAgIGEvYi9kL2Jhci5tb2pvbQotICAvLyBhbmQg
dGhlIFVSTCBvZiBmb28ubW9qb20uanMgaXM6Ci0gIC8vICAgaHR0cDovL2V4YW1wbGUub3JnL3Nj
cmlwdHMvYi9jL2Zvby5tb2pvbS5qcwotICAvLyB0aGVuIHRoZSBVUkwgb2YgYmFyLm1vam9tLmpz
IHdpbGwgYmU6Ci0gIC8vICAgaHR0cDovL2V4YW1wbGUub3JnL3NjcmlwdHMvYi9kL2Jhci5tb2pv
bS5qcwotICAvLwotICAvLyBJZiB5b3Ugd291bGQgbGlrZSBiYXIubW9qb20uanMgdG8gbGl2ZSBh
dCBhIGRpZmZlcmVudCBsb2NhdGlvbiwgeW91IG5lZWQKLSAgLy8gdG8gdHVybiBvZmYgfGF1dG9M
b2FkTW9qb21EZXBzfCBiZWZvcmUgbG9hZGluZyBmb28ubW9qb20uanMsIGFuZCBtYW51YWxseQot
ICAvLyBsb2FkIGJhci5tb2pvbS5qcyB5b3Vyc2VsZi4gU2ltaWxhcmx5LCB5b3UgbmVlZCB0byB0
dXJuIG9mZiB0aGUgb3B0aW9uIGlmCi0gIC8vIHlvdSBtZXJnZSBiYXIubW9qb20uanMgYW5kIGZv
by5tb2pvbS5qcyBpbnRvIGEgc2luZ2xlIGZpbGUuCi0gIC8vCi0gIC8vIFBlcmZvcm1hbmNlIHRp
cDogQXZvaWQgbG9hZGluZyB0aGUgc2FtZSBtb2pvbS5qcyBmaWxlIG11bHRpcGxlIHRpbWVzLgot
ICAvLyBBc3N1bWUgdGhhdCB8YXV0b0xvYWRNb2pvbURlcHN8IGlzIHNldCB0byB0cnVlLAotICAv
LwotICAvLyA8IS0tCi0gIC8vIChUaGlzIGNvbW1lbnQgdGFnIGlzIG5lY2Vzc2FyeSBvbiBJT1Mg
dG8gYXZvaWQgaW50ZXJwcmV0aW5nIHRoZSBjbG9zaW5nCi0gIC8vIHNjcmlwdCB0YWdzIGluIHRo
ZSBleGFtcGxlLikKLSAgLy8KLSAgLy8gTm8gZHVwbGljYXRlIGxvYWRpbmc7IHJlY29tbWVuZGVk
OgotICAvLyA8c2NyaXB0IHNyYz0iaHR0cDovL2V4YW1wbGUub3JnL3NjcmlwdHMvYi9jL2Zvby5t
b2pvbS5qcyI+PC9zY3JpcHQ+Ci0gIC8vCi0gIC8vIE5vIGR1cGxpY2F0ZSBsb2FkaW5nLCBhbHRo
b3VnaCB1bm5lY2Vzc2FyeToKLSAgLy8gPHNjcmlwdCBzcmM9Imh0dHA6Ly9leGFtcGxlLm9yZy9z
Y3JpcHRzL2IvZC9iYXIubW9qb20uanMiPjwvc2NyaXB0PgotICAvLyA8c2NyaXB0IHNyYz0iaHR0
cDovL2V4YW1wbGUub3JnL3NjcmlwdHMvYi9jL2Zvby5tb2pvbS5qcyI+PC9zY3JpcHQ+Ci0gIC8v
Ci0gIC8vIExvYWQgYmFyLm1vam9tLmpzIHR3aWNlOyBzaG91bGQgYmUgYXZvaWRlZDoKLSAgLy8g
PHNjcmlwdCBzcmM9Imh0dHA6Ly9leGFtcGxlLm9yZy9zY3JpcHRzL2IvYy9mb28ubW9qb20uanMi
Pjwvc2NyaXB0PgotICAvLyA8c2NyaXB0IHNyYz0iaHR0cDovL2V4YW1wbGUub3JnL3NjcmlwdHMv
Yi9kL2Jhci5tb2pvbS5qcyI+PC9zY3JpcHQ+Ci0gIC8vCi0gIC8vIC0tPgotICBhdXRvTG9hZE1v
am9tRGVwczogdHJ1ZQotfTsKLQotKGZ1bmN0aW9uKCkgewotICB2YXIgaW50ZXJuYWwgPSBtb2pv
LmludGVybmFsOwotCi0gIHZhciBMb2FkU3RhdGUgPSB7Ci0gICAgUEVORElOR19MT0FEOiAxLAot
ICAgIExPQURFRDogMgotICB9OwotCi0gIHZhciBtb2pvbVJlZ2lzdHJ5ID0gbmV3IE1hcCgpOwot
Ci0gIGZ1bmN0aW9uIGV4cG9zZU5hbWVzcGFjZShuYW1lc3BhY2UpIHsKLSAgICB2YXIgY3VycmVu
dCA9IGludGVybmFsLmdsb2JhbDsKLSAgICB2YXIgcGFydHMgPSBuYW1lc3BhY2Uuc3BsaXQoJy4n
KTsKLQotICAgIGZvciAodmFyIHBhcnQ7IHBhcnRzLmxlbmd0aCAmJiAocGFydCA9IHBhcnRzLnNo
aWZ0KCkpOykgewotICAgICAgaWYgKCFjdXJyZW50W3BhcnRdKSB7Ci0gICAgICAgIGN1cnJlbnRb
cGFydF0gPSB7fTsKLSAgICAgIH0KLSAgICAgIGN1cnJlbnQgPSBjdXJyZW50W3BhcnRdOwotICAg
IH0KLQotICAgIHJldHVybiBjdXJyZW50OwotICB9Ci0KLSAgZnVuY3Rpb24gaXNNb2pvbVBlbmRp
bmdMb2FkKGlkKSB7Ci0gICAgcmV0dXJuIG1vam9tUmVnaXN0cnkuZ2V0KGlkKSA9PT0gTG9hZFN0
YXRlLlBFTkRJTkdfTE9BRDsKLSAgfQotCi0gIGZ1bmN0aW9uIGlzTW9qb21Mb2FkZWQoaWQpIHsK
LSAgICByZXR1cm4gbW9qb21SZWdpc3RyeS5nZXQoaWQpID09PSBMb2FkU3RhdGUuTE9BREVEOwot
ICB9Ci0KLSAgZnVuY3Rpb24gbWFya01vam9tUGVuZGluZ0xvYWQoaWQpIHsKLSAgICBpZiAoaXNN
b2pvbUxvYWRlZChpZCkpIHsKLSAgICAgIHRocm93IG5ldyBFcnJvcignVGhlIGZvbGxvd2luZyBt
b2pvbSBmaWxlIGhhcyBiZWVuIGxvYWRlZDogJyArIGlkKTsKLSAgICB9Ci0KLSAgICBtb2pvbVJl
Z2lzdHJ5LnNldChpZCwgTG9hZFN0YXRlLlBFTkRJTkdfTE9BRCk7Ci0gIH0KLQotICBmdW5jdGlv
biBtYXJrTW9qb21Mb2FkZWQoaWQpIHsKLSAgICBtb2pvbVJlZ2lzdHJ5LnNldChpZCwgTG9hZFN0
YXRlLkxPQURFRCk7Ci0gIH0KLQotICBmdW5jdGlvbiBsb2FkTW9qb21JZk5lY2Vzc2FyeShpZCwg
cmVsYXRpdmVQYXRoKSB7Ci0gICAgaWYgKG1vam9tUmVnaXN0cnkuaGFzKGlkKSkgewotICAgICAg
cmV0dXJuOwotICAgIH0KLQotICAgIGlmIChpbnRlcm5hbC5nbG9iYWwuZG9jdW1lbnQgPT09IHVu
ZGVmaW5lZCkgewotICAgICAgdGhyb3cgbmV3IEVycm9yKAotICAgICAgICAgICdNb2pvbSBkZXBl
bmRlbmN5IGF1dG9sb2FkaW5nIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB3b3JrZXJzLiAnICsKLSAg
ICAgICAgICAnUGxlYXNlIHNlZSBjb25maWcgdmFyaWFibGUgbW9qby5jb25maWcuYXV0b0xvYWRN
b2pvbURlcHMgZm9yIG1vcmUgJyArCi0gICAgICAgICAgJ2RldGFpbHMuJyk7Ci0gICAgfQotCi0g
ICAgbWFya01vam9tUGVuZGluZ0xvYWQoaWQpOwotICAgIHZhciB1cmwgPSBuZXcgVVJMKHJlbGF0
aXZlUGF0aCwgZG9jdW1lbnQuY3VycmVudFNjcmlwdC5zcmMpLmhyZWY7Ci0gICAgaW50ZXJuYWwu
Z2xvYmFsLmRvY3VtZW50LndyaXRlKCc8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3Jj
PSInICsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsICsgJyI+PCcgKyAn
L3NjcmlwdD4nKTsKLSAgfQotCi0gIGludGVybmFsLmV4cG9zZU5hbWVzcGFjZSA9IGV4cG9zZU5h
bWVzcGFjZTsKLSAgaW50ZXJuYWwuaXNNb2pvbVBlbmRpbmdMb2FkID0gaXNNb2pvbVBlbmRpbmdM
b2FkOwotICBpbnRlcm5hbC5pc01vam9tTG9hZGVkID0gaXNNb2pvbUxvYWRlZDsKLSAgaW50ZXJu
YWwubWFya01vam9tUGVuZGluZ0xvYWQgPSBtYXJrTW9qb21QZW5kaW5nTG9hZDsKLSAgaW50ZXJu
YWwubWFya01vam9tTG9hZGVkID0gbWFya01vam9tTG9hZGVkOwotICBpbnRlcm5hbC5sb2FkTW9q
b21JZk5lY2Vzc2FyeSA9IGxvYWRNb2pvbUlmTmVjZXNzYXJ5OwotfSkoKTsKLS8vIENvcHlyaWdo
dCAyMDE3IFRoZSBDaHJvbWl1bSBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotLy8gVXNl
IG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZSB0
aGF0IGNhbiBiZQotLy8gZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KLQotKGZ1bmN0aW9uKCkg
ewotICB2YXIgaW50ZXJuYWwgPSBtb2pvLmludGVybmFsOwotCi0gIC8vIC0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLQotCi0gIC8vIHxvdXRwdXR8IGNvdWxkIGJlIGFuIGludGVyZmFjZSBwb2ludGVyLCBJbnRl
cmZhY2VQdHJJbmZvIG9yCi0gIC8vIEFzc29jaWF0ZWRJbnRlcmZhY2VQdHJJbmZvLgotICBmdW5j
dGlvbiBtYWtlUmVxdWVzdChvdXRwdXQpIHsKLSAgICBpZiAob3V0cHV0IGluc3RhbmNlb2YgbW9q
by5Bc3NvY2lhdGVkSW50ZXJmYWNlUHRySW5mbykgewotICAgICAgdmFyIHtoYW5kbGUwLCBoYW5k
bGUxfSA9IGludGVybmFsLmNyZWF0ZVBhaXJQZW5kaW5nQXNzb2NpYXRpb24oKTsKLSAgICAgIG91
dHB1dC5pbnRlcmZhY2VFbmRwb2ludEhhbmRsZSA9IGhhbmRsZTA7Ci0gICAgICBvdXRwdXQudmVy
c2lvbiA9IDA7Ci0KLSAgICAgIHJldHVybiBuZXcgbW9qby5Bc3NvY2lhdGVkSW50ZXJmYWNlUmVx
dWVzdChoYW5kbGUxKTsKLSAgICB9Ci0KLSAgICBpZiAob3V0cHV0IGluc3RhbmNlb2YgbW9qby5J
bnRlcmZhY2VQdHJJbmZvKSB7Ci0gICAgICB2YXIgcGlwZSA9IE1vam8uY3JlYXRlTWVzc2FnZVBp
cGUoKTsKLSAgICAgIG91dHB1dC5oYW5kbGUgPSBwaXBlLmhhbmRsZTA7Ci0gICAgICBvdXRwdXQu
dmVyc2lvbiA9IDA7Ci0KLSAgICAgIHJldHVybiBuZXcgbW9qby5JbnRlcmZhY2VSZXF1ZXN0KHBp
cGUuaGFuZGxlMSk7Ci0gICAgfQotCi0gICAgdmFyIHBpcGUgPSBNb2pvLmNyZWF0ZU1lc3NhZ2VQ
aXBlKCk7Ci0gICAgb3V0cHV0LnB0ci5iaW5kKG5ldyBtb2pvLkludGVyZmFjZVB0ckluZm8ocGlw
ZS5oYW5kbGUwLCAwKSk7Ci0gICAgcmV0dXJuIG5ldyBtb2pvLkludGVyZmFjZVJlcXVlc3QocGlw
ZS5oYW5kbGUxKTsKLSAgfQotCi0gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotCi0gIC8vIE9wZXJh
dGlvbnMgdXNlZCB0byBzZXR1cC9jb25maWd1cmUgYW4gaW50ZXJmYWNlIHBvaW50ZXIuIEV4cG9z
ZWQgYXMgdGhlCi0gIC8vIHxwdHJ8IGZpZWxkIG9mIGdlbmVyYXRlZCBpbnRlcmZhY2UgcG9pbnRl
ciBjbGFzc2VzLgotICAvLyB8cHRySW5mb09ySGFuZGxlfCBjb3VsZCBiZSBvbWl0dGVkIGFuZCBw
YXNzZWQgaW50byBiaW5kKCkgbGF0ZXIuCi0gIGZ1bmN0aW9uIEludGVyZmFjZVB0ckNvbnRyb2xs
ZXIoaW50ZXJmYWNlVHlwZSwgcHRySW5mb09ySGFuZGxlKSB7Ci0gICAgdGhpcy52ZXJzaW9uID0g
MDsKLQotICAgIHRoaXMuaW50ZXJmYWNlVHlwZV8gPSBpbnRlcmZhY2VUeXBlOwotICAgIHRoaXMu
cm91dGVyXyA9IG51bGw7Ci0gICAgdGhpcy5pbnRlcmZhY2VFbmRwb2ludENsaWVudF8gPSBudWxs
OwotICAgIHRoaXMucHJveHlfID0gbnVsbDsKLQotICAgIC8vIHxyb3V0ZXJffCBhbmQgfGludGVy
ZmFjZUVuZHBvaW50Q2xpZW50X3wgYXJlIGxhemlseSBpbml0aWFsaXplZC4KLSAgICAvLyB8aGFu
ZGxlX3wgaXMgdmFsaWQgYmV0d2VlbiBiaW5kKCkgYW5kCi0gICAgLy8gdGhlIGluaXRpYWxpemF0
aW9uIG9mIHxyb3V0ZXJffCBhbmQgfGludGVyZmFjZUVuZHBvaW50Q2xpZW50X3wuCi0gICAgdGhp
cy5oYW5kbGVfID0gbnVsbDsKLQotICAgIGlmIChwdHJJbmZvT3JIYW5kbGUpCi0gICAgICB0aGlz
LmJpbmQocHRySW5mb09ySGFuZGxlKTsKLSAgfQotCi0gIEludGVyZmFjZVB0ckNvbnRyb2xsZXIu
cHJvdG90eXBlLmJpbmQgPSBmdW5jdGlvbihwdHJJbmZvT3JIYW5kbGUpIHsKLSAgICB0aGlzLnJl
c2V0KCk7Ci0KLSAgICBpZiAocHRySW5mb09ySGFuZGxlIGluc3RhbmNlb2YgbW9qby5JbnRlcmZh
Y2VQdHJJbmZvKSB7Ci0gICAgICB0aGlzLnZlcnNpb24gPSBwdHJJbmZvT3JIYW5kbGUudmVyc2lv
bjsKLSAgICAgIHRoaXMuaGFuZGxlXyA9IHB0ckluZm9PckhhbmRsZS5oYW5kbGU7Ci0gICAgfSBl
bHNlIHsKLSAgICAgIHRoaXMuaGFuZGxlXyA9IHB0ckluZm9PckhhbmRsZTsKLSAgICB9Ci0gIH07
Ci0KLSAgSW50ZXJmYWNlUHRyQ29udHJvbGxlci5wcm90b3R5cGUuaXNCb3VuZCA9IGZ1bmN0aW9u
KCkgewotICAgIHJldHVybiB0aGlzLmludGVyZmFjZUVuZHBvaW50Q2xpZW50XyAhPT0gbnVsbCB8
fCB0aGlzLmhhbmRsZV8gIT09IG51bGw7Ci0gIH07Ci0KLSAgLy8gQWx0aG91Z2ggdXNlcnMgY291
bGQganVzdCBkaXNjYXJkIHRoZSBvYmplY3QsIHJlc2V0KCkgY2xvc2VzIHRoZSBwaXBlCi0gIC8v
IGltbWVkaWF0ZWx5LgotICBJbnRlcmZhY2VQdHJDb250cm9sbGVyLnByb3RvdHlwZS5yZXNldCA9
IGZ1bmN0aW9uKCkgewotICAgIHRoaXMudmVyc2lvbiA9IDA7Ci0gICAgaWYgKHRoaXMuaW50ZXJm
YWNlRW5kcG9pbnRDbGllbnRfKSB7Ci0gICAgICB0aGlzLmludGVyZmFjZUVuZHBvaW50Q2xpZW50
Xy5jbG9zZSgpOwotICAgICAgdGhpcy5pbnRlcmZhY2VFbmRwb2ludENsaWVudF8gPSBudWxsOwot
ICAgIH0KLSAgICBpZiAodGhpcy5yb3V0ZXJfKSB7Ci0gICAgICB0aGlzLnJvdXRlcl8uY2xvc2Uo
KTsKLSAgICAgIHRoaXMucm91dGVyXyA9IG51bGw7Ci0KLSAgICAgIHRoaXMucHJveHlfID0gbnVs
bDsKLSAgICB9Ci0gICAgaWYgKHRoaXMuaGFuZGxlXykgewotICAgICAgdGhpcy5oYW5kbGVfLmNs
b3NlKCk7Ci0gICAgICB0aGlzLmhhbmRsZV8gPSBudWxsOwotICAgIH0KLSAgfTsKLQotICBJbnRl
cmZhY2VQdHJDb250cm9sbGVyLnByb3RvdHlwZS5yZXNldFdpdGhSZWFzb24gPSBmdW5jdGlvbihy
ZWFzb24pIHsKLSAgICBpZiAodGhpcy5pc0JvdW5kKCkpIHsKLSAgICAgIHRoaXMuY29uZmlndXJl
UHJveHlJZk5lY2Vzc2FyeV8oKTsKLSAgICAgIHRoaXMuaW50ZXJmYWNlRW5kcG9pbnRDbGllbnRf
LmNsb3NlKHJlYXNvbik7Ci0gICAgICB0aGlzLmludGVyZmFjZUVuZHBvaW50Q2xpZW50XyA9IG51
bGw7Ci0gICAgfQotICAgIHRoaXMucmVzZXQoKTsKLSAgfTsKLQotICBJbnRlcmZhY2VQdHJDb250
cm9sbGVyLnByb3RvdHlwZS5zZXRDb25uZWN0aW9uRXJyb3JIYW5kbGVyID0gZnVuY3Rpb24oCi0g
ICAgICBjYWxsYmFjaykgewotICAgIGlmICghdGhpcy5pc0JvdW5kKCkpCi0gICAgICB0aHJvdyBu
ZXcgRXJyb3IoIkNhbm5vdCBzZXQgY29ubmVjdGlvbiBlcnJvciBoYW5kbGVyIGlmIG5vdCBib3Vu
ZC4iKTsKLQotICAgIHRoaXMuY29uZmlndXJlUHJveHlJZk5lY2Vzc2FyeV8oKTsKLSAgICB0aGlz
LmludGVyZmFjZUVuZHBvaW50Q2xpZW50Xy5zZXRDb25uZWN0aW9uRXJyb3JIYW5kbGVyKGNhbGxi
YWNrKTsKLSAgfTsKLQotICBJbnRlcmZhY2VQdHJDb250cm9sbGVyLnByb3RvdHlwZS5wYXNzSW50
ZXJmYWNlID0gZnVuY3Rpb24oKSB7Ci0gICAgdmFyIHJlc3VsdDsKLSAgICBpZiAodGhpcy5yb3V0
ZXJfKSB7Ci0gICAgICAvLyBUT0RPKHl6c2hlbik6IEZpeCBSb3V0ZXIgaW50ZXJmYWNlIHRvIHN1
cHBvcnQgZXh0cmFjdGluZyBoYW5kbGUuCi0gICAgICByZXN1bHQgPSBuZXcgbW9qby5JbnRlcmZh
Y2VQdHJJbmZvKAotICAgICAgICAgIHRoaXMucm91dGVyXy5jb25uZWN0b3JfLmhhbmRsZV8sIHRo
aXMudmVyc2lvbik7Ci0gICAgICB0aGlzLnJvdXRlcl8uY29ubmVjdG9yXy5oYW5kbGVfID0gbnVs
bDsKLSAgICB9IGVsc2UgewotICAgICAgLy8gVGhpcyBhbHNvIGhhbmRsZXMgdGhlIGNhc2Ugd2hl
biB0aGlzIG9iamVjdCBpcyBub3QgYm91bmQuCi0gICAgICByZXN1bHQgPSBuZXcgbW9qby5JbnRl
cmZhY2VQdHJJbmZvKHRoaXMuaGFuZGxlXywgdGhpcy52ZXJzaW9uKTsKLSAgICAgIHRoaXMuaGFu
ZGxlXyA9IG51bGw7Ci0gICAgfQotCi0gICAgdGhpcy5yZXNldCgpOwotICAgIHJldHVybiByZXN1
bHQ7Ci0gIH07Ci0KLSAgSW50ZXJmYWNlUHRyQ29udHJvbGxlci5wcm90b3R5cGUuZ2V0UHJveHkg
PSBmdW5jdGlvbigpIHsKLSAgICB0aGlzLmNvbmZpZ3VyZVByb3h5SWZOZWNlc3NhcnlfKCk7Ci0g
ICAgcmV0dXJuIHRoaXMucHJveHlfOwotICB9OwotCi0gIEludGVyZmFjZVB0ckNvbnRyb2xsZXIu
cHJvdG90eXBlLmNvbmZpZ3VyZVByb3h5SWZOZWNlc3NhcnlfID0gZnVuY3Rpb24oKSB7Ci0gICAg
aWYgKCF0aGlzLmhhbmRsZV8pCi0gICAgICByZXR1cm47Ci0KLSAgICB0aGlzLnJvdXRlcl8gPSBu
ZXcgaW50ZXJuYWwuUm91dGVyKHRoaXMuaGFuZGxlXywgdHJ1ZSk7Ci0gICAgdGhpcy5oYW5kbGVf
ID0gbnVsbDsKLQotICAgIHRoaXMuaW50ZXJmYWNlRW5kcG9pbnRDbGllbnRfID0gbmV3IGludGVy
bmFsLkludGVyZmFjZUVuZHBvaW50Q2xpZW50KAotICAgICAgICB0aGlzLnJvdXRlcl8uY3JlYXRl
TG9jYWxFbmRwb2ludEhhbmRsZShpbnRlcm5hbC5rTWFzdGVySW50ZXJmYWNlSWQpKTsKLQotICAg
IHRoaXMuaW50ZXJmYWNlRW5kcG9pbnRDbGllbnRfIC5zZXRQYXlsb2FkVmFsaWRhdG9ycyhbCi0g
ICAgICAgIHRoaXMuaW50ZXJmYWNlVHlwZV8udmFsaWRhdGVSZXNwb25zZV0pOwotICAgIHRoaXMu
cHJveHlfID0gbmV3IHRoaXMuaW50ZXJmYWNlVHlwZV8ucHJveHlDbGFzcygKLSAgICAgICAgdGhp
cy5pbnRlcmZhY2VFbmRwb2ludENsaWVudF8pOwotICB9OwotCi0gIEludGVyZmFjZVB0ckNvbnRy
b2xsZXIucHJvdG90eXBlLnF1ZXJ5VmVyc2lvbiA9IGZ1bmN0aW9uKCkgewotICAgIGZ1bmN0aW9u
IG9uUXVlcnlWZXJzaW9uKHZlcnNpb24pIHsKLSAgICAgIHRoaXMudmVyc2lvbiA9IHZlcnNpb247
Ci0gICAgICByZXR1cm4gdmVyc2lvbjsKLSAgICB9Ci0KLSAgICB0aGlzLmNvbmZpZ3VyZVByb3h5
SWZOZWNlc3NhcnlfKCk7Ci0gICAgcmV0dXJuIHRoaXMuaW50ZXJmYWNlRW5kcG9pbnRDbGllbnRf
LnF1ZXJ5VmVyc2lvbigpLnRoZW4oCi0gICAgICBvblF1ZXJ5VmVyc2lvbi5iaW5kKHRoaXMpKTsK
LSAgfTsKLQotICBJbnRlcmZhY2VQdHJDb250cm9sbGVyLnByb3RvdHlwZS5yZXF1aXJlVmVyc2lv
biA9IGZ1bmN0aW9uKHZlcnNpb24pIHsKLSAgICB0aGlzLmNvbmZpZ3VyZVByb3h5SWZOZWNlc3Nh
cnlfKCk7Ci0KLSAgICBpZiAodGhpcy52ZXJzaW9uID49IHZlcnNpb24pIHsKLSAgICAgIHJldHVy
bjsKLSAgICB9Ci0gICAgdGhpcy52ZXJzaW9uID0gdmVyc2lvbjsKLSAgICB0aGlzLmludGVyZmFj
ZUVuZHBvaW50Q2xpZW50Xy5yZXF1aXJlVmVyc2lvbih2ZXJzaW9uKTsKLSAgfTsKLQotICAvLyAt
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0KLQotICAvLyB8cmVxdWVzdHwgY291bGQgYmUgb21pdHRlZCBhbmQg
cGFzc2VkIGludG8gYmluZCgpIGxhdGVyLgotICAvLwotICAvLyBFeGFtcGxlOgotICAvLwotICAv
LyAgICAvLyBGb29JbXBsIGltcGxlbWVudHMgbW9qb20uRm9vLgotICAvLyAgICBmdW5jdGlvbiBG
b29JbXBsKCkgeyAuLi4gfQotICAvLyAgICBGb29JbXBsLnByb3RvdHlwZS5mb29NZXRob2QxID0g
ZnVuY3Rpb24oKSB7IC4uLiB9Ci0gIC8vICAgIEZvb0ltcGwucHJvdG90eXBlLmZvb01ldGhvZDIg
PSBmdW5jdGlvbigpIHsgLi4uIH0KLSAgLy8KLSAgLy8gICAgdmFyIGZvb1B0ciA9IG5ldyBtb2pv
bS5Gb29QdHIoKTsKLSAgLy8gICAgdmFyIHJlcXVlc3QgPSBtYWtlUmVxdWVzdChmb29QdHIpOwot
ICAvLyAgICB2YXIgYmluZGluZyA9IG5ldyBCaW5kaW5nKG1vam9tLkZvbywgbmV3IEZvb0ltcGwo
KSwgcmVxdWVzdCk7Ci0gIC8vICAgIGZvb1B0ci5mb29NZXRob2QxKCk7Ci0gIGZ1bmN0aW9uIEJp
bmRpbmcoaW50ZXJmYWNlVHlwZSwgaW1wbCwgcmVxdWVzdE9ySGFuZGxlKSB7Ci0gICAgdGhpcy5p
bnRlcmZhY2VUeXBlXyA9IGludGVyZmFjZVR5cGU7Ci0gICAgdGhpcy5pbXBsXyA9IGltcGw7Ci0g
ICAgdGhpcy5yb3V0ZXJfID0gbnVsbDsKLSAgICB0aGlzLmludGVyZmFjZUVuZHBvaW50Q2xpZW50
XyA9IG51bGw7Ci0gICAgdGhpcy5zdHViXyA9IG51bGw7Ci0KLSAgICBpZiAocmVxdWVzdE9ySGFu
ZGxlKQotICAgICAgdGhpcy5iaW5kKHJlcXVlc3RPckhhbmRsZSk7Ci0gIH0KLQotICBCaW5kaW5n
LnByb3RvdHlwZS5pc0JvdW5kID0gZnVuY3Rpb24oKSB7Ci0gICAgcmV0dXJuIHRoaXMucm91dGVy
XyAhPT0gbnVsbDsKLSAgfTsKLQotICBCaW5kaW5nLnByb3RvdHlwZS5jcmVhdGVJbnRlcmZhY2VQ
dHJBbmRCaW5kID0gZnVuY3Rpb24oKSB7Ci0gICAgdmFyIHB0ciA9IG5ldyB0aGlzLmludGVyZmFj
ZVR5cGVfLnB0ckNsYXNzKCk7Ci0gICAgLy8gVE9ETyh5enNoZW4pOiBTZXQgdGhlIHZlcnNpb24g
b2YgdGhlIGludGVyZmFjZSBwb2ludGVyLgotICAgIHRoaXMuYmluZChtYWtlUmVxdWVzdChwdHIp
KTsKLSAgICByZXR1cm4gcHRyOwotICB9OwotCi0gIEJpbmRpbmcucHJvdG90eXBlLmJpbmQgPSBm
dW5jdGlvbihyZXF1ZXN0T3JIYW5kbGUpIHsKLSAgICB0aGlzLmNsb3NlKCk7Ci0KLSAgICB2YXIg
aGFuZGxlID0gcmVxdWVzdE9ySGFuZGxlIGluc3RhbmNlb2YgbW9qby5JbnRlcmZhY2VSZXF1ZXN0
ID8KLSAgICAgICAgcmVxdWVzdE9ySGFuZGxlLmhhbmRsZSA6IHJlcXVlc3RPckhhbmRsZTsKLSAg
ICBpZiAoIShoYW5kbGUgaW5zdGFuY2VvZiBNb2pvSGFuZGxlKSkKLSAgICAgIHJldHVybjsKLQot
ICAgIHRoaXMucm91dGVyXyA9IG5ldyBpbnRlcm5hbC5Sb3V0ZXIoaGFuZGxlKTsKLQotICAgIHRo
aXMuc3R1Yl8gPSBuZXcgdGhpcy5pbnRlcmZhY2VUeXBlXy5zdHViQ2xhc3ModGhpcy5pbXBsXyk7
Ci0gICAgdGhpcy5pbnRlcmZhY2VFbmRwb2ludENsaWVudF8gPSBuZXcgaW50ZXJuYWwuSW50ZXJm
YWNlRW5kcG9pbnRDbGllbnQoCi0gICAgICAgIHRoaXMucm91dGVyXy5jcmVhdGVMb2NhbEVuZHBv
aW50SGFuZGxlKGludGVybmFsLmtNYXN0ZXJJbnRlcmZhY2VJZCksCi0gICAgICAgIHRoaXMuc3R1
Yl8sIHRoaXMuaW50ZXJmYWNlVHlwZV8ua1ZlcnNpb24pOwotCi0gICAgdGhpcy5pbnRlcmZhY2VF
bmRwb2ludENsaWVudF8gLnNldFBheWxvYWRWYWxpZGF0b3JzKFsKLSAgICAgICAgdGhpcy5pbnRl
cmZhY2VUeXBlXy52YWxpZGF0ZVJlcXVlc3RdKTsKLSAgfTsKLQotICBCaW5kaW5nLnByb3RvdHlw
ZS5jbG9zZSA9IGZ1bmN0aW9uKCkgewotICAgIGlmICghdGhpcy5pc0JvdW5kKCkpCi0gICAgICBy
ZXR1cm47Ci0KLSAgICBpZiAodGhpcy5pbnRlcmZhY2VFbmRwb2ludENsaWVudF8pIHsKLSAgICAg
IHRoaXMuaW50ZXJmYWNlRW5kcG9pbnRDbGllbnRfLmNsb3NlKCk7Ci0gICAgICB0aGlzLmludGVy
ZmFjZUVuZHBvaW50Q2xpZW50XyA9IG51bGw7Ci0gICAgfQotCi0gICAgdGhpcy5yb3V0ZXJfLmNs
b3NlKCk7Ci0gICAgdGhpcy5yb3V0ZXJfID0gbnVsbDsKLSAgICB0aGlzLnN0dWJfID0gbnVsbDsK
LSAgfTsKLQotICBCaW5kaW5nLnByb3RvdHlwZS5jbG9zZVdpdGhSZWFzb24gPSBmdW5jdGlvbihy
ZWFzb24pIHsKLSAgICBpZiAodGhpcy5pbnRlcmZhY2VFbmRwb2ludENsaWVudF8pIHsKLSAgICAg
IHRoaXMuaW50ZXJmYWNlRW5kcG9pbnRDbGllbnRfLmNsb3NlKHJlYXNvbik7Ci0gICAgICB0aGlz
LmludGVyZmFjZUVuZHBvaW50Q2xpZW50XyA9IG51bGw7Ci0gICAgfQotICAgIHRoaXMuY2xvc2Uo
KTsKLSAgfTsKLQotICBCaW5kaW5nLnByb3RvdHlwZS5zZXRDb25uZWN0aW9uRXJyb3JIYW5kbGVy
ID0gZnVuY3Rpb24oY2FsbGJhY2spIHsKLSAgICBpZiAoIXRoaXMuaXNCb3VuZCgpKSB7Ci0gICAg
ICB0aHJvdyBuZXcgRXJyb3IoIkNhbm5vdCBzZXQgY29ubmVjdGlvbiBlcnJvciBoYW5kbGVyIGlm
IG5vdCBib3VuZC4iKTsKLSAgICB9Ci0gICAgdGhpcy5pbnRlcmZhY2VFbmRwb2ludENsaWVudF8u
c2V0Q29ubmVjdGlvbkVycm9ySGFuZGxlcihjYWxsYmFjayk7Ci0gIH07Ci0KLSAgQmluZGluZy5w
cm90b3R5cGUudW5iaW5kID0gZnVuY3Rpb24oKSB7Ci0gICAgaWYgKCF0aGlzLmlzQm91bmQoKSkK
LSAgICAgIHJldHVybiBuZXcgbW9qby5JbnRlcmZhY2VSZXF1ZXN0KG51bGwpOwotCi0gICAgdmFy
IHJlc3VsdCA9IG5ldyBtb2pvLkludGVyZmFjZVJlcXVlc3QodGhpcy5yb3V0ZXJfLmNvbm5lY3Rv
cl8uaGFuZGxlXyk7Ci0gICAgdGhpcy5yb3V0ZXJfLmNvbm5lY3Rvcl8uaGFuZGxlXyA9IG51bGw7
Ci0gICAgdGhpcy5jbG9zZSgpOwotICAgIHJldHVybiByZXN1bHQ7Ci0gIH07Ci0KLSAgLy8gLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tCi0KLSAgZnVuY3Rpb24gQmluZGluZ1NldEVudHJ5KGJpbmRpbmdTZXQs
IGludGVyZmFjZVR5cGUsIGJpbmRpbmdUeXBlLCBpbXBsLAotICAgICAgcmVxdWVzdE9ySGFuZGxl
LCBiaW5kaW5nSWQpIHsKLSAgICB0aGlzLmJpbmRpbmdTZXRfID0gYmluZGluZ1NldDsKLSAgICB0
aGlzLmJpbmRpbmdJZF8gPSBiaW5kaW5nSWQ7Ci0gICAgdGhpcy5iaW5kaW5nXyA9IG5ldyBiaW5k
aW5nVHlwZShpbnRlcmZhY2VUeXBlLCBpbXBsLAotICAgICAgICByZXF1ZXN0T3JIYW5kbGUpOwot
Ci0gICAgdGhpcy5iaW5kaW5nXy5zZXRDb25uZWN0aW9uRXJyb3JIYW5kbGVyKGZ1bmN0aW9uKHJl
YXNvbikgewotICAgICAgdGhpcy5iaW5kaW5nU2V0Xy5vbkNvbm5lY3Rpb25FcnJvcihiaW5kaW5n
SWQsIHJlYXNvbik7Ci0gICAgfS5iaW5kKHRoaXMpKTsKLSAgfQotCi0gIEJpbmRpbmdTZXRFbnRy
eS5wcm90b3R5cGUuY2xvc2UgPSBmdW5jdGlvbigpIHsKLSAgICB0aGlzLmJpbmRpbmdfLmNsb3Nl
KCk7Ci0gIH07Ci0KLSAgZnVuY3Rpb24gQmluZGluZ1NldChpbnRlcmZhY2VUeXBlKSB7Ci0gICAg
dGhpcy5pbnRlcmZhY2VUeXBlXyA9IGludGVyZmFjZVR5cGU7Ci0gICAgdGhpcy5uZXh0QmluZGlu
Z0lkXyA9IDA7Ci0gICAgdGhpcy5iaW5kaW5nc18gPSBuZXcgTWFwKCk7Ci0gICAgdGhpcy5lcnJv
ckhhbmRsZXJfID0gbnVsbDsKLSAgICB0aGlzLmJpbmRpbmdUeXBlXyA9IEJpbmRpbmc7Ci0gIH0K
LQotICBCaW5kaW5nU2V0LnByb3RvdHlwZS5pc0VtcHR5ID0gZnVuY3Rpb24oKSB7Ci0gICAgcmV0
dXJuIHRoaXMuYmluZGluZ3NfLnNpemUgPT0gMDsKLSAgfTsKLQotICBCaW5kaW5nU2V0LnByb3Rv
dHlwZS5hZGRCaW5kaW5nID0gZnVuY3Rpb24oaW1wbCwgcmVxdWVzdE9ySGFuZGxlKSB7Ci0gICAg
dGhpcy5iaW5kaW5nc18uc2V0KAotICAgICAgICB0aGlzLm5leHRCaW5kaW5nSWRfLAotICAgICAg
ICBuZXcgQmluZGluZ1NldEVudHJ5KHRoaXMsIHRoaXMuaW50ZXJmYWNlVHlwZV8sIHRoaXMuYmlu
ZGluZ1R5cGVfLCBpbXBsLAotICAgICAgICAgICAgcmVxdWVzdE9ySGFuZGxlLCB0aGlzLm5leHRC
aW5kaW5nSWRfKSk7Ci0gICAgKyt0aGlzLm5leHRCaW5kaW5nSWRfOwotICB9OwotCi0gIEJpbmRp
bmdTZXQucHJvdG90eXBlLmNsb3NlQWxsQmluZGluZ3MgPSBmdW5jdGlvbigpIHsKLSAgICBmb3Ig
KHZhciBlbnRyeSBvZiB0aGlzLmJpbmRpbmdzXy52YWx1ZXMoKSkKLSAgICAgIGVudHJ5LmNsb3Nl
KCk7Ci0gICAgdGhpcy5iaW5kaW5nc18uY2xlYXIoKTsKLSAgfTsKLQotICBCaW5kaW5nU2V0LnBy
b3RvdHlwZS5zZXRDb25uZWN0aW9uRXJyb3JIYW5kbGVyID0gZnVuY3Rpb24oY2FsbGJhY2spIHsK
LSAgICB0aGlzLmVycm9ySGFuZGxlcl8gPSBjYWxsYmFjazsKLSAgfTsKLQotICBCaW5kaW5nU2V0
LnByb3RvdHlwZS5vbkNvbm5lY3Rpb25FcnJvciA9IGZ1bmN0aW9uKGJpbmRpbmdJZCwgcmVhc29u
KSB7Ci0gICAgdGhpcy5iaW5kaW5nc18uZGVsZXRlKGJpbmRpbmdJZCk7Ci0KLSAgICBpZiAodGhp
cy5lcnJvckhhbmRsZXJfKQotICAgICAgdGhpcy5lcnJvckhhbmRsZXJfKHJlYXNvbik7Ci0gIH07
Ci0KLSAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0KLSAgLy8gT3BlcmF0aW9ucyB1c2VkIHRvIHNl
dHVwL2NvbmZpZ3VyZSBhbiBhc3NvY2lhdGVkIGludGVyZmFjZSBwb2ludGVyLgotICAvLyBFeHBv
c2VkIGFzIHxwdHJ8IGZpZWxkIG9mIGdlbmVyYXRlZCBhc3NvY2lhdGVkIGludGVyZmFjZSBwb2lu
dGVyIGNsYXNzZXMuCi0gIC8vIHxhc3NvY2lhdGVkUHRySW5mb3wgY291bGQgYmUgb21pdHRlZCBh
bmQgcGFzc2VkIGludG8gYmluZCgpIGxhdGVyLgotICAvLwotICAvLyBFeGFtcGxlOgotICAvLyAg
ICAvLyBJbnRlZ2VyU2VuZGVySW1wbCBpbXBsZW1lbnRzIG1vam9tLkludGVnZXJTZW5kZXIKLSAg
Ly8gICAgZnVuY3Rpb24gSW50ZWdlclNlbmRlckltcGwoKSB7IC4uLiB9Ci0gIC8vICAgIEludGVn
ZXJTZW5kZXJJbXBsLnByb3RvdHlwZS5lY2hvID0gZnVuY3Rpb24oKSB7IC4uLiB9Ci0gIC8vCi0g
IC8vICAgIC8vIEludGVnZXJTZW5kZXJDb25uZWN0aW9uSW1wbCBpbXBsZW1lbnRzIG1vam9tLklu
dGVnZXJTZW5kZXJDb25uZWN0aW9uCi0gIC8vICAgIGZ1bmN0aW9uIEludGVnZXJTZW5kZXJDb25u
ZWN0aW9uSW1wbCgpIHsKLSAgLy8gICAgICB0aGlzLnNlbmRlckJpbmRpbmdfID0gbnVsbDsKLSAg
Ly8gICAgfQotICAvLyAgICBJbnRlZ2VyU2VuZGVyQ29ubmVjdGlvbkltcGwucHJvdG90eXBlLmdl
dFNlbmRlciA9IGZ1bmN0aW9uKAotICAvLyAgICAgICAgYXNzb2NpYXRlZFJlcXVlc3QpIHsKLSAg
Ly8gICAgICB0aGlzLnNlbmRlckJpbmRpbmdfID0gbmV3IEFzc29jaWF0ZWRCaW5kaW5nKG1vam9t
LkludGVnZXJTZW5kZXIsCi0gIC8vICAgICAgICAgIG5ldyBJbnRlZ2VyU2VuZGVySW1wbCgpLAot
ICAvLyAgICAgICAgICBhc3NvY2lhdGVkUmVxdWVzdCk7Ci0gIC8vICAgIH0KLSAgLy8KLSAgLy8g
ICAgdmFyIGludGVnZXJTZW5kZXJDb25uZWN0aW9uID0gbmV3IG1vam9tLkludGVnZXJTZW5kZXJD
b25uZWN0aW9uUHRyKCk7Ci0gIC8vICAgIHZhciBpbnRlZ2VyU2VuZGVyQ29ubmVjdGlvbkJpbmRp
bmcgPSBuZXcgQmluZGluZygKLSAgLy8gICAgICAgIG1vam9tLkludGVnZXJTZW5kZXJDb25uZWN0
aW9uLAotICAvLyAgICAgICAgbmV3IEludGVnZXJTZW5kZXJDb25uZWN0aW9uSW1wbCgpLAotICAv
LyAgICAgICAgbW9qby5tYWtlUmVxdWVzdChpbnRlZ2VyU2VuZGVyQ29ubmVjdGlvbikpOwotICAv
LwotICAvLyAgICAvLyBBIGxvY2FsbHktY3JlYXRlZCBhc3NvY2lhdGVkIGludGVyZmFjZSBwb2lu
dGVyIGNhbiBvbmx5IGJlIHVzZWQgdG8KLSAgLy8gICAgLy8gbWFrZSBjYWxscyB3aGVuIHRoZSBj
b3JyZXNwb25kaW5nIGFzc29jaWF0ZWQgcmVxdWVzdCBpcyBzZW50IG92ZXIKLSAgLy8gICAgLy8g
YW5vdGhlciBpbnRlcmZhY2UgKGVpdGhlciB0aGUgbWFzdGVyIGludGVyZmFjZSBvciBhbm90aGVy
Ci0gIC8vICAgIC8vIGFzc29jaWF0ZWQgaW50ZXJmYWNlKS4KLSAgLy8gICAgdmFyIGFzc29jaWF0
ZWRJbnRlcmZhY2VQdHJJbmZvID0gbmV3IEFzc29jaWF0ZWRJbnRlcmZhY2VQdHJJbmZvKCk7Ci0g
IC8vICAgIHZhciBhc3NvY2lhdGVkUmVxdWVzdCA9IG1ha2VSZXF1ZXN0KGludGVyZmFjZVB0cklu
Zm8pOwotICAvLwotICAvLyAgICBpbnRlZ2VyU2VuZGVyQ29ubmVjdGlvbi5nZXRTZW5kZXIoYXNz
b2NpYXRlZFJlcXVlc3QpOwotICAvLwotICAvLyAgICAvLyBDcmVhdGUgYW4gYXNzb2NpYXRlZCBp
bnRlcmZhY2UgYW5kIGJpbmQgdGhlIGFzc29jaWF0ZWQgaGFuZGxlLgotICAvLyAgICB2YXIgaW50
ZWdlclNlbmRlciA9IG5ldyBtb2pvbS5Bc3NvY2lhdGVkSW50ZWdlclNlbmRlclB0cigpOwotICAv
LyAgICBpbnRlZ2VyU2VuZGVyLnB0ci5iaW5kKGFzc29jaWF0ZWRJbnRlcmZhY2VQdHJJbmZvKTsK
LSAgLy8gICAgaW50ZWdlclNlbmRlci5lY2hvKCk7Ci0KLSAgZnVuY3Rpb24gQXNzb2NpYXRlZElu
dGVyZmFjZVB0ckNvbnRyb2xsZXIoaW50ZXJmYWNlVHlwZSwgYXNzb2NpYXRlZFB0ckluZm8pIHsK
LSAgICB0aGlzLnZlcnNpb24gPSAwOwotCi0gICAgdGhpcy5pbnRlcmZhY2VUeXBlXyA9IGludGVy
ZmFjZVR5cGU7Ci0gICAgdGhpcy5pbnRlcmZhY2VFbmRwb2ludENsaWVudF8gPSBudWxsOwotICAg
IHRoaXMucHJveHlfID0gbnVsbDsKLQotICAgIGlmIChhc3NvY2lhdGVkUHRySW5mbykgewotICAg
ICAgdGhpcy5iaW5kKGFzc29jaWF0ZWRQdHJJbmZvKTsKLSAgICB9Ci0gIH0KLQotICBBc3NvY2lh
dGVkSW50ZXJmYWNlUHRyQ29udHJvbGxlci5wcm90b3R5cGUuYmluZCA9IGZ1bmN0aW9uKAotICAg
ICAgYXNzb2NpYXRlZFB0ckluZm8pIHsKLSAgICB0aGlzLnJlc2V0KCk7Ci0gICAgdGhpcy52ZXJz
aW9uID0gYXNzb2NpYXRlZFB0ckluZm8udmVyc2lvbjsKLQotICAgIHRoaXMuaW50ZXJmYWNlRW5k
cG9pbnRDbGllbnRfID0gbmV3IGludGVybmFsLkludGVyZmFjZUVuZHBvaW50Q2xpZW50KAotICAg
ICAgICBhc3NvY2lhdGVkUHRySW5mby5pbnRlcmZhY2VFbmRwb2ludEhhbmRsZSk7Ci0KLSAgICB0
aGlzLmludGVyZmFjZUVuZHBvaW50Q2xpZW50XyAuc2V0UGF5bG9hZFZhbGlkYXRvcnMoWwotICAg
ICAgICB0aGlzLmludGVyZmFjZVR5cGVfLnZhbGlkYXRlUmVzcG9uc2VdKTsKLSAgICB0aGlzLnBy
b3h5XyA9IG5ldyB0aGlzLmludGVyZmFjZVR5cGVfLnByb3h5Q2xhc3MoCi0gICAgICAgIHRoaXMu
aW50ZXJmYWNlRW5kcG9pbnRDbGllbnRfKTsKLSAgfTsKLQotICBBc3NvY2lhdGVkSW50ZXJmYWNl
UHRyQ29udHJvbGxlci5wcm90b3R5cGUuaXNCb3VuZCA9IGZ1bmN0aW9uKCkgewotICAgIHJldHVy
biB0aGlzLmludGVyZmFjZUVuZHBvaW50Q2xpZW50XyAhPT0gbnVsbDsKLSAgfTsKLQotICBBc3Nv
Y2lhdGVkSW50ZXJmYWNlUHRyQ29udHJvbGxlci5wcm90b3R5cGUucmVzZXQgPSBmdW5jdGlvbigp
IHsKLSAgICB0aGlzLnZlcnNpb24gPSAwOwotICAgIGlmICh0aGlzLmludGVyZmFjZUVuZHBvaW50
Q2xpZW50XykgewotICAgICAgdGhpcy5pbnRlcmZhY2VFbmRwb2ludENsaWVudF8uY2xvc2UoKTsK
LSAgICAgIHRoaXMuaW50ZXJmYWNlRW5kcG9pbnRDbGllbnRfID0gbnVsbDsKLSAgICB9Ci0gICAg
aWYgKHRoaXMucHJveHlfKSB7Ci0gICAgICB0aGlzLnByb3h5XyA9IG51bGw7Ci0gICAgfQotICB9
OwotCi0gIEFzc29jaWF0ZWRJbnRlcmZhY2VQdHJDb250cm9sbGVyLnByb3RvdHlwZS5yZXNldFdp
dGhSZWFzb24gPSBmdW5jdGlvbigKLSAgICAgIHJlYXNvbikgewotICAgIGlmICh0aGlzLmlzQm91
bmQoKSkgewotICAgICAgdGhpcy5pbnRlcmZhY2VFbmRwb2ludENsaWVudF8uY2xvc2UocmVhc29u
KTsKLSAgICAgIHRoaXMuaW50ZXJmYWNlRW5kcG9pbnRDbGllbnRfID0gbnVsbDsKLSAgICB9Ci0g
ICAgdGhpcy5yZXNldCgpOwotICB9OwotCi0gIC8vIEluZGljYXRlcyB3aGV0aGVyIGFuIGVycm9y
IGhhcyBiZWVuIGVuY291bnRlcmVkLiBJZiB0cnVlLCBtZXRob2QgY2FsbHMKLSAgLy8gb24gdGhp
cyBpbnRlcmZhY2Ugd2lsbCBiZSBkcm9wcGVkIChhbmQgbWF5IGFscmVhZHkgaGF2ZSBiZWVuIGRy
b3BwZWQpLgotICBBc3NvY2lhdGVkSW50ZXJmYWNlUHRyQ29udHJvbGxlci5wcm90b3R5cGUuZ2V0
RW5jb3VudGVyZWRFcnJvciA9IGZ1bmN0aW9uKCkgewotICAgIHJldHVybiB0aGlzLmludGVyZmFj
ZUVuZHBvaW50Q2xpZW50XyA/Ci0gICAgICAgIHRoaXMuaW50ZXJmYWNlRW5kcG9pbnRDbGllbnRf
LmdldEVuY291bnRlcmVkRXJyb3IoKSA6IGZhbHNlOwotICB9OwotCi0gIEFzc29jaWF0ZWRJbnRl
cmZhY2VQdHJDb250cm9sbGVyLnByb3RvdHlwZS5zZXRDb25uZWN0aW9uRXJyb3JIYW5kbGVyID0K
LSAgICAgIGZ1bmN0aW9uKGNhbGxiYWNrKSB7Ci0gICAgaWYgKCF0aGlzLmlzQm91bmQoKSkgewot
ICAgICAgdGhyb3cgbmV3IEVycm9yKCJDYW5ub3Qgc2V0IGNvbm5lY3Rpb24gZXJyb3IgaGFuZGxl
ciBpZiBub3QgYm91bmQuIik7Ci0gICAgfQotCi0gICAgdGhpcy5pbnRlcmZhY2VFbmRwb2ludENs
aWVudF8uc2V0Q29ubmVjdGlvbkVycm9ySGFuZGxlcihjYWxsYmFjayk7Ci0gIH07Ci0KLSAgQXNz
b2NpYXRlZEludGVyZmFjZVB0ckNvbnRyb2xsZXIucHJvdG90eXBlLnBhc3NJbnRlcmZhY2UgPSBm
dW5jdGlvbigpIHsKLSAgICBpZiAoIXRoaXMuaXNCb3VuZCgpKSB7Ci0gICAgICByZXR1cm4gbmV3
IG1vam8uQXNzb2NpYXRlZEludGVyZmFjZVB0ckluZm8obnVsbCk7Ci0gICAgfQotCi0gICAgdmFy
IHJlc3VsdCA9IG5ldyBtb2pvLkFzc29jaWF0ZWRJbnRlcmZhY2VQdHJJbmZvKAotICAgICAgICB0
aGlzLmludGVyZmFjZUVuZHBvaW50Q2xpZW50Xy5wYXNzSGFuZGxlKCksIHRoaXMudmVyc2lvbik7
Ci0gICAgdGhpcy5yZXNldCgpOwotICAgIHJldHVybiByZXN1bHQ7Ci0gIH07Ci0KLSAgQXNzb2Np
YXRlZEludGVyZmFjZVB0ckNvbnRyb2xsZXIucHJvdG90eXBlLmdldFByb3h5ID0gZnVuY3Rpb24o
KSB7Ci0gICAgcmV0dXJuIHRoaXMucHJveHlfOwotICB9OwotCi0gIEFzc29jaWF0ZWRJbnRlcmZh
Y2VQdHJDb250cm9sbGVyLnByb3RvdHlwZS5xdWVyeVZlcnNpb24gPSBmdW5jdGlvbigpIHsKLSAg
ICBmdW5jdGlvbiBvblF1ZXJ5VmVyc2lvbih2ZXJzaW9uKSB7Ci0gICAgICB0aGlzLnZlcnNpb24g
PSB2ZXJzaW9uOwotICAgICAgcmV0dXJuIHZlcnNpb247Ci0gICAgfQotCi0gICAgcmV0dXJuIHRo
aXMuaW50ZXJmYWNlRW5kcG9pbnRDbGllbnRfLnF1ZXJ5VmVyc2lvbigpLnRoZW4oCi0gICAgICBv
blF1ZXJ5VmVyc2lvbi5iaW5kKHRoaXMpKTsKLSAgfTsKLQotICBBc3NvY2lhdGVkSW50ZXJmYWNl
UHRyQ29udHJvbGxlci5wcm90b3R5cGUucmVxdWlyZVZlcnNpb24gPSBmdW5jdGlvbigKLSAgICAg
IHZlcnNpb24pIHsKLSAgICBpZiAodGhpcy52ZXJzaW9uID49IHZlcnNpb24pIHsKLSAgICAgIHJl
dHVybjsKLSAgICB9Ci0gICAgdGhpcy52ZXJzaW9uID0gdmVyc2lvbjsKLSAgICB0aGlzLmludGVy
ZmFjZUVuZHBvaW50Q2xpZW50Xy5yZXF1aXJlVmVyc2lvbih2ZXJzaW9uKTsKLSAgfTsKLQotICAv
LyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0KLQotICAvLyB8YXNzb2NpYXRlZEludGVyZmFjZVJlcXVlc3R8
IGNvdWxkIGJlIG9taXR0ZWQgYW5kIHBhc3NlZCBpbnRvIGJpbmQoKQotICAvLyBsYXRlci4KLSAg
ZnVuY3Rpb24gQXNzb2NpYXRlZEJpbmRpbmcoaW50ZXJmYWNlVHlwZSwgaW1wbCwgYXNzb2NpYXRl
ZEludGVyZmFjZVJlcXVlc3QpIHsKLSAgICB0aGlzLmludGVyZmFjZVR5cGVfID0gaW50ZXJmYWNl
VHlwZTsKLSAgICB0aGlzLmltcGxfID0gaW1wbDsKLSAgICB0aGlzLmludGVyZmFjZUVuZHBvaW50
Q2xpZW50XyA9IG51bGw7Ci0gICAgdGhpcy5zdHViXyA9IG51bGw7Ci0KLSAgICBpZiAoYXNzb2Np
YXRlZEludGVyZmFjZVJlcXVlc3QpIHsKLSAgICAgIHRoaXMuYmluZChhc3NvY2lhdGVkSW50ZXJm
YWNlUmVxdWVzdCk7Ci0gICAgfQotICB9Ci0KLSAgQXNzb2NpYXRlZEJpbmRpbmcucHJvdG90eXBl
LmlzQm91bmQgPSBmdW5jdGlvbigpIHsKLSAgICByZXR1cm4gdGhpcy5pbnRlcmZhY2VFbmRwb2lu
dENsaWVudF8gIT09IG51bGw7Ci0gIH07Ci0KLSAgQXNzb2NpYXRlZEJpbmRpbmcucHJvdG90eXBl
LmJpbmQgPSBmdW5jdGlvbihhc3NvY2lhdGVkSW50ZXJmYWNlUmVxdWVzdCkgewotICAgIHRoaXMu
Y2xvc2UoKTsKLQotICAgIHRoaXMuc3R1Yl8gPSBuZXcgdGhpcy5pbnRlcmZhY2VUeXBlXy5zdHVi
Q2xhc3ModGhpcy5pbXBsXyk7Ci0gICAgdGhpcy5pbnRlcmZhY2VFbmRwb2ludENsaWVudF8gPSBu
ZXcgaW50ZXJuYWwuSW50ZXJmYWNlRW5kcG9pbnRDbGllbnQoCi0gICAgICAgIGFzc29jaWF0ZWRJ
bnRlcmZhY2VSZXF1ZXN0LmludGVyZmFjZUVuZHBvaW50SGFuZGxlLCB0aGlzLnN0dWJfLAotICAg
ICAgICB0aGlzLmludGVyZmFjZVR5cGVfLmtWZXJzaW9uKTsKLQotICAgIHRoaXMuaW50ZXJmYWNl
RW5kcG9pbnRDbGllbnRfIC5zZXRQYXlsb2FkVmFsaWRhdG9ycyhbCi0gICAgICAgIHRoaXMuaW50
ZXJmYWNlVHlwZV8udmFsaWRhdGVSZXF1ZXN0XSk7Ci0gIH07Ci0KLQotICBBc3NvY2lhdGVkQmlu
ZGluZy5wcm90b3R5cGUuY2xvc2UgPSBmdW5jdGlvbigpIHsKLSAgICBpZiAoIXRoaXMuaXNCb3Vu
ZCgpKSB7Ci0gICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgaWYgKHRoaXMuaW50ZXJmYWNlRW5k
cG9pbnRDbGllbnRfKSB7Ci0gICAgICB0aGlzLmludGVyZmFjZUVuZHBvaW50Q2xpZW50Xy5jbG9z
ZSgpOwotICAgICAgdGhpcy5pbnRlcmZhY2VFbmRwb2ludENsaWVudF8gPSBudWxsOwotICAgIH0K
LQotICAgIHRoaXMuc3R1Yl8gPSBudWxsOwotICB9OwotCi0gIEFzc29jaWF0ZWRCaW5kaW5nLnBy
b3RvdHlwZS5jbG9zZVdpdGhSZWFzb24gPSBmdW5jdGlvbihyZWFzb24pIHsKLSAgICBpZiAodGhp
cy5pbnRlcmZhY2VFbmRwb2ludENsaWVudF8pIHsKLSAgICAgIHRoaXMuaW50ZXJmYWNlRW5kcG9p
bnRDbGllbnRfLmNsb3NlKHJlYXNvbik7Ci0gICAgICB0aGlzLmludGVyZmFjZUVuZHBvaW50Q2xp
ZW50XyA9IG51bGw7Ci0gICAgfQotICAgIHRoaXMuY2xvc2UoKTsKLSAgfTsKLQotICBBc3NvY2lh
dGVkQmluZGluZy5wcm90b3R5cGUuc2V0Q29ubmVjdGlvbkVycm9ySGFuZGxlciA9IGZ1bmN0aW9u
KGNhbGxiYWNrKSB7Ci0gICAgaWYgKCF0aGlzLmlzQm91bmQoKSkgewotICAgICAgdGhyb3cgbmV3
IEVycm9yKCJDYW5ub3Qgc2V0IGNvbm5lY3Rpb24gZXJyb3IgaGFuZGxlciBpZiBub3QgYm91bmQu
Iik7Ci0gICAgfQotICAgIHRoaXMuaW50ZXJmYWNlRW5kcG9pbnRDbGllbnRfLnNldENvbm5lY3Rp
b25FcnJvckhhbmRsZXIoY2FsbGJhY2spOwotICB9OwotCi0gIEFzc29jaWF0ZWRCaW5kaW5nLnBy
b3RvdHlwZS51bmJpbmQgPSBmdW5jdGlvbigpIHsKLSAgICBpZiAoIXRoaXMuaXNCb3VuZCgpKSB7
Ci0gICAgICByZXR1cm4gbmV3IG1vam8uQXNzb2NpYXRlZEludGVyZmFjZVJlcXVlc3QobnVsbCk7
Ci0gICAgfQotCi0gICAgdmFyIHJlc3VsdCA9IG5ldyBtb2pvLkFzc29jaWF0ZWRJbnRlcmZhY2VS
ZXF1ZXN0KAotICAgICAgICB0aGlzLmludGVyZmFjZUVuZHBvaW50Q2xpZW50Xy5wYXNzSGFuZGxl
KCkpOwotICAgIHRoaXMuY2xvc2UoKTsKLSAgICByZXR1cm4gcmVzdWx0OwotICB9OwotCi0gIC8v
IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLQotCi0gIGZ1bmN0aW9uIEFzc29jaWF0ZWRCaW5kaW5nU2V0KGlu
dGVyZmFjZVR5cGUpIHsKLSAgICBtb2pvLkJpbmRpbmdTZXQuY2FsbCh0aGlzLCBpbnRlcmZhY2VU
eXBlKTsKLSAgICB0aGlzLmJpbmRpbmdUeXBlXyA9IEFzc29jaWF0ZWRCaW5kaW5nOwotICB9Ci0K
LSAgQXNzb2NpYXRlZEJpbmRpbmdTZXQucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShCaW5kaW5n
U2V0LnByb3RvdHlwZSk7Ci0gIEFzc29jaWF0ZWRCaW5kaW5nU2V0LnByb3RvdHlwZS5jb25zdHJ1
Y3RvciA9IEFzc29jaWF0ZWRCaW5kaW5nU2V0OwotCi0gIG1vam8ubWFrZVJlcXVlc3QgPSBtYWtl
UmVxdWVzdDsKLSAgbW9qby5Bc3NvY2lhdGVkSW50ZXJmYWNlUHRyQ29udHJvbGxlciA9IEFzc29j
aWF0ZWRJbnRlcmZhY2VQdHJDb250cm9sbGVyOwotICBtb2pvLkFzc29jaWF0ZWRCaW5kaW5nID0g
QXNzb2NpYXRlZEJpbmRpbmc7Ci0gIG1vam8uQXNzb2NpYXRlZEJpbmRpbmdTZXQgPSBBc3NvY2lh
dGVkQmluZGluZ1NldDsKLSAgbW9qby5CaW5kaW5nID0gQmluZGluZzsKLSAgbW9qby5CaW5kaW5n
U2V0ID0gQmluZGluZ1NldDsKLSAgbW9qby5JbnRlcmZhY2VQdHJDb250cm9sbGVyID0gSW50ZXJm
YWNlUHRyQ29udHJvbGxlcjsKLX0pKCk7Ci0vLyBDb3B5cmlnaHQgMjAxNCBUaGUgQ2hyb21pdW0g
QXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLS8vIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2Rl
IGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKLS8vIGZvdW5k
IGluIHRoZSBMSUNFTlNFIGZpbGUuCi0KLShmdW5jdGlvbigpIHsKLSAgdmFyIGludGVybmFsID0g
bW9qby5pbnRlcm5hbDsKLQotICB2YXIga0hvc3RJc0xpdHRsZUVuZGlhbiA9IChmdW5jdGlvbiAo
KSB7Ci0gICAgdmFyIGVuZGlhbkFycmF5QnVmZmVyID0gbmV3IEFycmF5QnVmZmVyKDIpOwotICAg
IHZhciBlbmRpYW5VaW50OEFycmF5ID0gbmV3IFVpbnQ4QXJyYXkoZW5kaWFuQXJyYXlCdWZmZXIp
OwotICAgIHZhciBlbmRpYW5VaW50MTZBcnJheSA9IG5ldyBVaW50MTZBcnJheShlbmRpYW5BcnJh
eUJ1ZmZlcik7Ci0gICAgZW5kaWFuVWludDE2QXJyYXlbMF0gPSAxOwotICAgIHJldHVybiBlbmRp
YW5VaW50OEFycmF5WzBdID09IDE7Ci0gIH0pKCk7Ci0KLSAgdmFyIGtIaWdoV29yZE11bHRpcGxp
ZXIgPSAweDEwMDAwMDAwMDsKLQotICBmdW5jdGlvbiBCdWZmZXIoc2l6ZU9yQXJyYXlCdWZmZXIp
IHsKLSAgICBpZiAoc2l6ZU9yQXJyYXlCdWZmZXIgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlcikKLSAg
ICAgIHRoaXMuYXJyYXlCdWZmZXIgPSBzaXplT3JBcnJheUJ1ZmZlcjsKLSAgICBlbHNlCi0gICAg
ICB0aGlzLmFycmF5QnVmZmVyID0gbmV3IEFycmF5QnVmZmVyKHNpemVPckFycmF5QnVmZmVyKTsK
LQotICAgIHRoaXMuZGF0YVZpZXcgPSBuZXcgRGF0YVZpZXcodGhpcy5hcnJheUJ1ZmZlcik7Ci0g
ICAgdGhpcy5uZXh0ID0gMDsKLSAgfQotCi0gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShCdWZmZXIu
cHJvdG90eXBlLCAiYnl0ZUxlbmd0aCIsIHsKLSAgICBnZXQ6IGZ1bmN0aW9uKCkgeyByZXR1cm4g
dGhpcy5hcnJheUJ1ZmZlci5ieXRlTGVuZ3RoOyB9Ci0gIH0pOwotCi0gIEJ1ZmZlci5wcm90b3R5
cGUuYWxsb2MgPSBmdW5jdGlvbihzaXplKSB7Ci0gICAgdmFyIHBvaW50ZXIgPSB0aGlzLm5leHQ7
Ci0gICAgdGhpcy5uZXh0ICs9IHNpemU7Ci0gICAgaWYgKHRoaXMubmV4dCA+IHRoaXMuYnl0ZUxl
bmd0aCkgewotICAgICAgdmFyIG5ld1NpemUgPSAoMS41ICogKHRoaXMuYnl0ZUxlbmd0aCArIHNp
emUpKSB8IDA7Ci0gICAgICB0aGlzLmdyb3cobmV3U2l6ZSk7Ci0gICAgfQotICAgIHJldHVybiBw
b2ludGVyOwotICB9OwotCi0gIGZ1bmN0aW9uIGNvcHlBcnJheUJ1ZmZlcihkc3RBcnJheUJ1ZmZl
ciwgc3JjQXJyYXlCdWZmZXIpIHsKLSAgICAobmV3IFVpbnQ4QXJyYXkoZHN0QXJyYXlCdWZmZXIp
KS5zZXQobmV3IFVpbnQ4QXJyYXkoc3JjQXJyYXlCdWZmZXIpKTsKLSAgfQotCi0gIEJ1ZmZlci5w
cm90b3R5cGUuZ3JvdyA9IGZ1bmN0aW9uKHNpemUpIHsKLSAgICB2YXIgbmV3QXJyYXlCdWZmZXIg
PSBuZXcgQXJyYXlCdWZmZXIoc2l6ZSk7Ci0gICAgY29weUFycmF5QnVmZmVyKG5ld0FycmF5QnVm
ZmVyLCB0aGlzLmFycmF5QnVmZmVyKTsKLSAgICB0aGlzLmFycmF5QnVmZmVyID0gbmV3QXJyYXlC
dWZmZXI7Ci0gICAgdGhpcy5kYXRhVmlldyA9IG5ldyBEYXRhVmlldyh0aGlzLmFycmF5QnVmZmVy
KTsKLSAgfTsKLQotICBCdWZmZXIucHJvdG90eXBlLnRyaW0gPSBmdW5jdGlvbigpIHsKLSAgICB0
aGlzLmFycmF5QnVmZmVyID0gdGhpcy5hcnJheUJ1ZmZlci5zbGljZSgwLCB0aGlzLm5leHQpOwot
ICAgIHRoaXMuZGF0YVZpZXcgPSBuZXcgRGF0YVZpZXcodGhpcy5hcnJheUJ1ZmZlcik7Ci0gIH07
Ci0KLSAgQnVmZmVyLnByb3RvdHlwZS5nZXRVaW50OCA9IGZ1bmN0aW9uKG9mZnNldCkgewotICAg
IHJldHVybiB0aGlzLmRhdGFWaWV3LmdldFVpbnQ4KG9mZnNldCk7Ci0gIH0KLSAgQnVmZmVyLnBy
b3RvdHlwZS5nZXRVaW50MTYgPSBmdW5jdGlvbihvZmZzZXQpIHsKLSAgICByZXR1cm4gdGhpcy5k
YXRhVmlldy5nZXRVaW50MTYob2Zmc2V0LCBrSG9zdElzTGl0dGxlRW5kaWFuKTsKLSAgfQotICBC
dWZmZXIucHJvdG90eXBlLmdldFVpbnQzMiA9IGZ1bmN0aW9uKG9mZnNldCkgewotICAgIHJldHVy
biB0aGlzLmRhdGFWaWV3LmdldFVpbnQzMihvZmZzZXQsIGtIb3N0SXNMaXR0bGVFbmRpYW4pOwot
ICB9Ci0gIEJ1ZmZlci5wcm90b3R5cGUuZ2V0VWludDY0ID0gZnVuY3Rpb24ob2Zmc2V0KSB7Ci0g
ICAgdmFyIGxvLCBoaTsKLSAgICBpZiAoa0hvc3RJc0xpdHRsZUVuZGlhbikgewotICAgICAgbG8g
PSB0aGlzLmRhdGFWaWV3LmdldFVpbnQzMihvZmZzZXQsIGtIb3N0SXNMaXR0bGVFbmRpYW4pOwot
ICAgICAgaGkgPSB0aGlzLmRhdGFWaWV3LmdldFVpbnQzMihvZmZzZXQgKyA0LCBrSG9zdElzTGl0
dGxlRW5kaWFuKTsKLSAgICB9IGVsc2UgewotICAgICAgaGkgPSB0aGlzLmRhdGFWaWV3LmdldFVp
bnQzMihvZmZzZXQsIGtIb3N0SXNMaXR0bGVFbmRpYW4pOwotICAgICAgbG8gPSB0aGlzLmRhdGFW
aWV3LmdldFVpbnQzMihvZmZzZXQgKyA0LCBrSG9zdElzTGl0dGxlRW5kaWFuKTsKLSAgICB9Ci0g
ICAgcmV0dXJuIGxvICsgaGkgKiBrSGlnaFdvcmRNdWx0aXBsaWVyOwotICB9Ci0KLSAgQnVmZmVy
LnByb3RvdHlwZS5nZXRJbnQ4ID0gZnVuY3Rpb24ob2Zmc2V0KSB7Ci0gICAgcmV0dXJuIHRoaXMu
ZGF0YVZpZXcuZ2V0SW50OChvZmZzZXQpOwotICB9Ci0gIEJ1ZmZlci5wcm90b3R5cGUuZ2V0SW50
MTYgPSBmdW5jdGlvbihvZmZzZXQpIHsKLSAgICByZXR1cm4gdGhpcy5kYXRhVmlldy5nZXRJbnQx
NihvZmZzZXQsIGtIb3N0SXNMaXR0bGVFbmRpYW4pOwotICB9Ci0gIEJ1ZmZlci5wcm90b3R5cGUu
Z2V0SW50MzIgPSBmdW5jdGlvbihvZmZzZXQpIHsKLSAgICByZXR1cm4gdGhpcy5kYXRhVmlldy5n
ZXRJbnQzMihvZmZzZXQsIGtIb3N0SXNMaXR0bGVFbmRpYW4pOwotICB9Ci0gIEJ1ZmZlci5wcm90
b3R5cGUuZ2V0SW50NjQgPSBmdW5jdGlvbihvZmZzZXQpIHsKLSAgICB2YXIgbG8sIGhpOwotICAg
IGlmIChrSG9zdElzTGl0dGxlRW5kaWFuKSB7Ci0gICAgICBsbyA9IHRoaXMuZGF0YVZpZXcuZ2V0
VWludDMyKG9mZnNldCwga0hvc3RJc0xpdHRsZUVuZGlhbik7Ci0gICAgICBoaSA9IHRoaXMuZGF0
YVZpZXcuZ2V0SW50MzIob2Zmc2V0ICsgNCwga0hvc3RJc0xpdHRsZUVuZGlhbik7Ci0gICAgfSBl
bHNlIHsKLSAgICAgIGhpID0gdGhpcy5kYXRhVmlldy5nZXRJbnQzMihvZmZzZXQsIGtIb3N0SXNM
aXR0bGVFbmRpYW4pOwotICAgICAgbG8gPSB0aGlzLmRhdGFWaWV3LmdldFVpbnQzMihvZmZzZXQg
KyA0LCBrSG9zdElzTGl0dGxlRW5kaWFuKTsKLSAgICB9Ci0gICAgcmV0dXJuIGxvICsgaGkgKiBr
SGlnaFdvcmRNdWx0aXBsaWVyOwotICB9Ci0KLSAgQnVmZmVyLnByb3RvdHlwZS5nZXRGbG9hdDMy
ID0gZnVuY3Rpb24ob2Zmc2V0KSB7Ci0gICAgcmV0dXJuIHRoaXMuZGF0YVZpZXcuZ2V0RmxvYXQz
MihvZmZzZXQsIGtIb3N0SXNMaXR0bGVFbmRpYW4pOwotICB9Ci0gIEJ1ZmZlci5wcm90b3R5cGUu
Z2V0RmxvYXQ2NCA9IGZ1bmN0aW9uKG9mZnNldCkgewotICAgIHJldHVybiB0aGlzLmRhdGFWaWV3
LmdldEZsb2F0NjQob2Zmc2V0LCBrSG9zdElzTGl0dGxlRW5kaWFuKTsKLSAgfQotCi0gIEJ1ZmZl
ci5wcm90b3R5cGUuc2V0VWludDggPSBmdW5jdGlvbihvZmZzZXQsIHZhbHVlKSB7Ci0gICAgdGhp
cy5kYXRhVmlldy5zZXRVaW50OChvZmZzZXQsIHZhbHVlKTsKLSAgfQotICBCdWZmZXIucHJvdG90
eXBlLnNldFVpbnQxNiA9IGZ1bmN0aW9uKG9mZnNldCwgdmFsdWUpIHsKLSAgICB0aGlzLmRhdGFW
aWV3LnNldFVpbnQxNihvZmZzZXQsIHZhbHVlLCBrSG9zdElzTGl0dGxlRW5kaWFuKTsKLSAgfQot
ICBCdWZmZXIucHJvdG90eXBlLnNldFVpbnQzMiA9IGZ1bmN0aW9uKG9mZnNldCwgdmFsdWUpIHsK
LSAgICB0aGlzLmRhdGFWaWV3LnNldFVpbnQzMihvZmZzZXQsIHZhbHVlLCBrSG9zdElzTGl0dGxl
RW5kaWFuKTsKLSAgfQotICBCdWZmZXIucHJvdG90eXBlLnNldFVpbnQ2NCA9IGZ1bmN0aW9uKG9m
ZnNldCwgdmFsdWUpIHsKLSAgICB2YXIgaGkgPSAodmFsdWUgLyBrSGlnaFdvcmRNdWx0aXBsaWVy
KSB8IDA7Ci0gICAgaWYgKGtIb3N0SXNMaXR0bGVFbmRpYW4pIHsKLSAgICAgIHRoaXMuZGF0YVZp
ZXcuc2V0SW50MzIob2Zmc2V0LCB2YWx1ZSwga0hvc3RJc0xpdHRsZUVuZGlhbik7Ci0gICAgICB0
aGlzLmRhdGFWaWV3LnNldEludDMyKG9mZnNldCArIDQsIGhpLCBrSG9zdElzTGl0dGxlRW5kaWFu
KTsKLSAgICB9IGVsc2UgewotICAgICAgdGhpcy5kYXRhVmlldy5zZXRJbnQzMihvZmZzZXQsIGhp
LCBrSG9zdElzTGl0dGxlRW5kaWFuKTsKLSAgICAgIHRoaXMuZGF0YVZpZXcuc2V0SW50MzIob2Zm
c2V0ICsgNCwgdmFsdWUsIGtIb3N0SXNMaXR0bGVFbmRpYW4pOwotICAgIH0KLSAgfQotCi0gIEJ1
ZmZlci5wcm90b3R5cGUuc2V0SW50OCA9IGZ1bmN0aW9uKG9mZnNldCwgdmFsdWUpIHsKLSAgICB0
aGlzLmRhdGFWaWV3LnNldEludDgob2Zmc2V0LCB2YWx1ZSk7Ci0gIH0KLSAgQnVmZmVyLnByb3Rv
dHlwZS5zZXRJbnQxNiA9IGZ1bmN0aW9uKG9mZnNldCwgdmFsdWUpIHsKLSAgICB0aGlzLmRhdGFW
aWV3LnNldEludDE2KG9mZnNldCwgdmFsdWUsIGtIb3N0SXNMaXR0bGVFbmRpYW4pOwotICB9Ci0g
IEJ1ZmZlci5wcm90b3R5cGUuc2V0SW50MzIgPSBmdW5jdGlvbihvZmZzZXQsIHZhbHVlKSB7Ci0g
ICAgdGhpcy5kYXRhVmlldy5zZXRJbnQzMihvZmZzZXQsIHZhbHVlLCBrSG9zdElzTGl0dGxlRW5k
aWFuKTsKLSAgfQotICBCdWZmZXIucHJvdG90eXBlLnNldEludDY0ID0gZnVuY3Rpb24ob2Zmc2V0
LCB2YWx1ZSkgewotICAgIHZhciBoaSA9IE1hdGguZmxvb3IodmFsdWUgLyBrSGlnaFdvcmRNdWx0
aXBsaWVyKTsKLSAgICBpZiAoa0hvc3RJc0xpdHRsZUVuZGlhbikgewotICAgICAgdGhpcy5kYXRh
Vmlldy5zZXRJbnQzMihvZmZzZXQsIHZhbHVlLCBrSG9zdElzTGl0dGxlRW5kaWFuKTsKLSAgICAg
IHRoaXMuZGF0YVZpZXcuc2V0SW50MzIob2Zmc2V0ICsgNCwgaGksIGtIb3N0SXNMaXR0bGVFbmRp
YW4pOwotICAgIH0gZWxzZSB7Ci0gICAgICB0aGlzLmRhdGFWaWV3LnNldEludDMyKG9mZnNldCwg
aGksIGtIb3N0SXNMaXR0bGVFbmRpYW4pOwotICAgICAgdGhpcy5kYXRhVmlldy5zZXRJbnQzMihv
ZmZzZXQgKyA0LCB2YWx1ZSwga0hvc3RJc0xpdHRsZUVuZGlhbik7Ci0gICAgfQotICB9Ci0KLSAg
QnVmZmVyLnByb3RvdHlwZS5zZXRGbG9hdDMyID0gZnVuY3Rpb24ob2Zmc2V0LCB2YWx1ZSkgewot
ICAgIHRoaXMuZGF0YVZpZXcuc2V0RmxvYXQzMihvZmZzZXQsIHZhbHVlLCBrSG9zdElzTGl0dGxl
RW5kaWFuKTsKLSAgfQotICBCdWZmZXIucHJvdG90eXBlLnNldEZsb2F0NjQgPSBmdW5jdGlvbihv
ZmZzZXQsIHZhbHVlKSB7Ci0gICAgdGhpcy5kYXRhVmlldy5zZXRGbG9hdDY0KG9mZnNldCwgdmFs
dWUsIGtIb3N0SXNMaXR0bGVFbmRpYW4pOwotICB9Ci0KLSAgaW50ZXJuYWwuQnVmZmVyID0gQnVm
ZmVyOwotfSkoKTsKLS8vIENvcHlyaWdodCAyMDE0IFRoZSBDaHJvbWl1bSBBdXRob3JzLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgotLy8gVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQg
YnkgYSBCU0Qtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQotLy8gZm91bmQgaW4gdGhlIExJQ0VO
U0UgZmlsZS4KLQotKGZ1bmN0aW9uKCkgewotICB2YXIgaW50ZXJuYWwgPSBtb2pvLmludGVybmFs
OwotCi0gIHZhciBrRXJyb3JVbnNpZ25lZCA9ICJQYXNzaW5nIG5lZ2F0aXZlIHZhbHVlIHRvIHVu
c2lnbmVkIjsKLSAgdmFyIGtFcnJvckFycmF5ID0gIlBhc3Npbmcgbm9uIEFycmF5IGZvciBhcnJh
eSB0eXBlIjsKLSAgdmFyIGtFcnJvclN0cmluZyA9ICJQYXNzaW5nIG5vbiBTdHJpbmcgZm9yIHN0
cmluZyB0eXBlIjsKLSAgdmFyIGtFcnJvck1hcCA9ICJQYXNzaW5nIG5vbiBNYXAgZm9yIG1hcCB0
eXBlIjsKLQotICAvLyBNZW1vcnkgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotCi0gIHZhciBrQWxpZ25tZW50ID0gODsK
LQotICBmdW5jdGlvbiBhbGlnbihzaXplKSB7Ci0gICAgcmV0dXJuIHNpemUgKyAoa0FsaWdubWVu
dCAtIChzaXplICUga0FsaWdubWVudCkpICUga0FsaWdubWVudDsKLSAgfQotCi0gIGZ1bmN0aW9u
IGlzQWxpZ25lZChvZmZzZXQpIHsKLSAgICByZXR1cm4gb2Zmc2V0ID49IDAgJiYgKG9mZnNldCAl
IGtBbGlnbm1lbnQpID09PSAwOwotICB9Ci0KLSAgLy8gQ29uc3RhbnRzIC0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLQotICB2
YXIga0FycmF5SGVhZGVyU2l6ZSA9IDg7Ci0gIHZhciBrU3RydWN0SGVhZGVyU2l6ZSA9IDg7Ci0g
IHZhciBrTWVzc2FnZVYwSGVhZGVyU2l6ZSA9IDI0OwotICB2YXIga01lc3NhZ2VWMUhlYWRlclNp
emUgPSAzMjsKLSAgdmFyIGtNZXNzYWdlVjJIZWFkZXJTaXplID0gNDg7Ci0gIHZhciBrTWFwU3Ry
dWN0UGF5bG9hZFNpemUgPSAxNjsKLQotICB2YXIga1N0cnVjdEhlYWRlck51bUJ5dGVzT2Zmc2V0
ID0gMDsKLSAgdmFyIGtTdHJ1Y3RIZWFkZXJWZXJzaW9uT2Zmc2V0ID0gNDsKLQotICB2YXIga0Vu
Y29kZWRJbnZhbGlkSGFuZGxlVmFsdWUgPSAweEZGRkZGRkZGOwotCi0gIC8vIERlY29kZXIgLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tCi0KLSAgZnVuY3Rpb24gRGVjb2RlcihidWZmZXIsIGhhbmRsZXMsIGFzc29jaWF0ZWRF
bmRwb2ludEhhbmRsZXMsIGJhc2UpIHsKLSAgICB0aGlzLmJ1ZmZlciA9IGJ1ZmZlcjsKLSAgICB0
aGlzLmhhbmRsZXMgPSBoYW5kbGVzOwotICAgIHRoaXMuYXNzb2NpYXRlZEVuZHBvaW50SGFuZGxl
cyA9IGFzc29jaWF0ZWRFbmRwb2ludEhhbmRsZXM7Ci0gICAgdGhpcy5iYXNlID0gYmFzZTsKLSAg
ICB0aGlzLm5leHQgPSBiYXNlOwotICB9Ci0KLSAgRGVjb2Rlci5wcm90b3R5cGUuYWxpZ24gPSBm
dW5jdGlvbigpIHsKLSAgICB0aGlzLm5leHQgPSBhbGlnbih0aGlzLm5leHQpOwotICB9OwotCi0g
IERlY29kZXIucHJvdG90eXBlLnNraXAgPSBmdW5jdGlvbihvZmZzZXQpIHsKLSAgICB0aGlzLm5l
eHQgKz0gb2Zmc2V0OwotICB9OwotCi0gIERlY29kZXIucHJvdG90eXBlLnJlYWRJbnQ4ID0gZnVu
Y3Rpb24oKSB7Ci0gICAgdmFyIHJlc3VsdCA9IHRoaXMuYnVmZmVyLmdldEludDgodGhpcy5uZXh0
KTsKLSAgICB0aGlzLm5leHQgKz0gMTsKLSAgICByZXR1cm4gcmVzdWx0OwotICB9OwotCi0gIERl
Y29kZXIucHJvdG90eXBlLnJlYWRVaW50OCA9IGZ1bmN0aW9uKCkgewotICAgIHZhciByZXN1bHQg
PSB0aGlzLmJ1ZmZlci5nZXRVaW50OCh0aGlzLm5leHQpOwotICAgIHRoaXMubmV4dCArPSAxOwot
ICAgIHJldHVybiByZXN1bHQ7Ci0gIH07Ci0KLSAgRGVjb2Rlci5wcm90b3R5cGUucmVhZEludDE2
ID0gZnVuY3Rpb24oKSB7Ci0gICAgdmFyIHJlc3VsdCA9IHRoaXMuYnVmZmVyLmdldEludDE2KHRo
aXMubmV4dCk7Ci0gICAgdGhpcy5uZXh0ICs9IDI7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLSAgfTsK
LQotICBEZWNvZGVyLnByb3RvdHlwZS5yZWFkVWludDE2ID0gZnVuY3Rpb24oKSB7Ci0gICAgdmFy
IHJlc3VsdCA9IHRoaXMuYnVmZmVyLmdldFVpbnQxNih0aGlzLm5leHQpOwotICAgIHRoaXMubmV4
dCArPSAyOwotICAgIHJldHVybiByZXN1bHQ7Ci0gIH07Ci0KLSAgRGVjb2Rlci5wcm90b3R5cGUu
cmVhZEludDMyID0gZnVuY3Rpb24oKSB7Ci0gICAgdmFyIHJlc3VsdCA9IHRoaXMuYnVmZmVyLmdl
dEludDMyKHRoaXMubmV4dCk7Ci0gICAgdGhpcy5uZXh0ICs9IDQ7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLSAgfTsKLQotICBEZWNvZGVyLnByb3RvdHlwZS5yZWFkVWludDMyID0gZnVuY3Rpb24oKSB7
Ci0gICAgdmFyIHJlc3VsdCA9IHRoaXMuYnVmZmVyLmdldFVpbnQzMih0aGlzLm5leHQpOwotICAg
IHRoaXMubmV4dCArPSA0OwotICAgIHJldHVybiByZXN1bHQ7Ci0gIH07Ci0KLSAgRGVjb2Rlci5w
cm90b3R5cGUucmVhZEludDY0ID0gZnVuY3Rpb24oKSB7Ci0gICAgdmFyIHJlc3VsdCA9IHRoaXMu
YnVmZmVyLmdldEludDY0KHRoaXMubmV4dCk7Ci0gICAgdGhpcy5uZXh0ICs9IDg7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLSAgfTsKLQotICBEZWNvZGVyLnByb3RvdHlwZS5yZWFkVWludDY0ID0gZnVu
Y3Rpb24oKSB7Ci0gICAgdmFyIHJlc3VsdCA9IHRoaXMuYnVmZmVyLmdldFVpbnQ2NCh0aGlzLm5l
eHQpOwotICAgIHRoaXMubmV4dCArPSA4OwotICAgIHJldHVybiByZXN1bHQ7Ci0gIH07Ci0KLSAg
RGVjb2Rlci5wcm90b3R5cGUucmVhZEZsb2F0ID0gZnVuY3Rpb24oKSB7Ci0gICAgdmFyIHJlc3Vs
dCA9IHRoaXMuYnVmZmVyLmdldEZsb2F0MzIodGhpcy5uZXh0KTsKLSAgICB0aGlzLm5leHQgKz0g
NDsKLSAgICByZXR1cm4gcmVzdWx0OwotICB9OwotCi0gIERlY29kZXIucHJvdG90eXBlLnJlYWRE
b3VibGUgPSBmdW5jdGlvbigpIHsKLSAgICB2YXIgcmVzdWx0ID0gdGhpcy5idWZmZXIuZ2V0Rmxv
YXQ2NCh0aGlzLm5leHQpOwotICAgIHRoaXMubmV4dCArPSA4OwotICAgIHJldHVybiByZXN1bHQ7
Ci0gIH07Ci0KLSAgRGVjb2Rlci5wcm90b3R5cGUuZGVjb2RlUG9pbnRlciA9IGZ1bmN0aW9uKCkg
ewotICAgIC8vIFRPRE8oYWJhcnRoKTogVG8gY29ycmVjdGx5IGRlY29kZSBhIHBvaW50ZXIsIHdl
IG5lZWQgdG8ga25vdyB0aGUgcmVhbAotICAgIC8vIGJhc2UgYWRkcmVzcyBvZiB0aGUgYXJyYXkg
YnVmZmVyLgotICAgIHZhciBvZmZzZXRQb2ludGVyID0gdGhpcy5uZXh0OwotICAgIHZhciBvZmZz
ZXQgPSB0aGlzLnJlYWRVaW50NjQoKTsKLSAgICBpZiAoIW9mZnNldCkKLSAgICAgIHJldHVybiAw
OwotICAgIHJldHVybiBvZmZzZXRQb2ludGVyICsgb2Zmc2V0OwotICB9OwotCi0gIERlY29kZXIu
cHJvdG90eXBlLmRlY29kZUFuZENyZWF0ZURlY29kZXIgPSBmdW5jdGlvbihwb2ludGVyKSB7Ci0g
ICAgcmV0dXJuIG5ldyBEZWNvZGVyKHRoaXMuYnVmZmVyLCB0aGlzLmhhbmRsZXMsCi0gICAgICAg
IHRoaXMuYXNzb2NpYXRlZEVuZHBvaW50SGFuZGxlcywgcG9pbnRlcik7Ci0gIH07Ci0KLSAgRGVj
b2Rlci5wcm90b3R5cGUuZGVjb2RlSGFuZGxlID0gZnVuY3Rpb24oKSB7Ci0gICAgcmV0dXJuIHRo
aXMuaGFuZGxlc1t0aGlzLnJlYWRVaW50MzIoKV0gfHwgbnVsbDsKLSAgfTsKLQotICBEZWNvZGVy
LnByb3RvdHlwZS5kZWNvZGVBc3NvY2lhdGVkRW5kcG9pbnRIYW5kbGUgPSBmdW5jdGlvbigpIHsK
LSAgICByZXR1cm4gdGhpcy5hc3NvY2lhdGVkRW5kcG9pbnRIYW5kbGVzW3RoaXMucmVhZFVpbnQz
MigpXSB8fCBudWxsOwotICB9OwotCi0gIERlY29kZXIucHJvdG90eXBlLmRlY29kZVN0cmluZyA9
IGZ1bmN0aW9uKCkgewotICAgIHZhciBudW1iZXJPZkJ5dGVzID0gdGhpcy5yZWFkVWludDMyKCk7
Ci0gICAgdmFyIG51bWJlck9mRWxlbWVudHMgPSB0aGlzLnJlYWRVaW50MzIoKTsKLSAgICB2YXIg
YmFzZSA9IHRoaXMubmV4dDsKLSAgICB0aGlzLm5leHQgKz0gbnVtYmVyT2ZFbGVtZW50czsKLSAg
ICByZXR1cm4gaW50ZXJuYWwuZGVjb2RlVXRmOFN0cmluZygKLSAgICAgICAgbmV3IFVpbnQ4QXJy
YXkodGhpcy5idWZmZXIuYXJyYXlCdWZmZXIsIGJhc2UsIG51bWJlck9mRWxlbWVudHMpKTsKLSAg
fTsKLQotICBEZWNvZGVyLnByb3RvdHlwZS5kZWNvZGVBcnJheSA9IGZ1bmN0aW9uKGNscykgewot
ICAgIHZhciBudW1iZXJPZkJ5dGVzID0gdGhpcy5yZWFkVWludDMyKCk7Ci0gICAgdmFyIG51bWJl
ck9mRWxlbWVudHMgPSB0aGlzLnJlYWRVaW50MzIoKTsKLSAgICB2YXIgdmFsID0gbmV3IEFycmF5
KG51bWJlck9mRWxlbWVudHMpOwotICAgIGlmIChjbHMgPT09IFBhY2tlZEJvb2wpIHsKLSAgICAg
IHZhciBieXRlOwotICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBudW1iZXJPZkVsZW1lbnRzOyAr
K2kpIHsKLSAgICAgICAgaWYgKGkgJSA4ID09PSAwKQotICAgICAgICAgIGJ5dGUgPSB0aGlzLnJl
YWRVaW50OCgpOwotICAgICAgICB2YWxbaV0gPSAoYnl0ZSAmICgxIDw8IGkgJSA4KSkgPyB0cnVl
IDogZmFsc2U7Ci0gICAgICB9Ci0gICAgfSBlbHNlIHsKLSAgICAgIGZvciAodmFyIGkgPSAwOyBp
IDwgbnVtYmVyT2ZFbGVtZW50czsgKytpKSB7Ci0gICAgICAgIHZhbFtpXSA9IGNscy5kZWNvZGUo
dGhpcyk7Ci0gICAgICB9Ci0gICAgfQotICAgIHJldHVybiB2YWw7Ci0gIH07Ci0KLSAgRGVjb2Rl
ci5wcm90b3R5cGUuZGVjb2RlU3RydWN0ID0gZnVuY3Rpb24oY2xzKSB7Ci0gICAgcmV0dXJuIGNs
cy5kZWNvZGUodGhpcyk7Ci0gIH07Ci0KLSAgRGVjb2Rlci5wcm90b3R5cGUuZGVjb2RlU3RydWN0
UG9pbnRlciA9IGZ1bmN0aW9uKGNscykgewotICAgIHZhciBwb2ludGVyID0gdGhpcy5kZWNvZGVQ
b2ludGVyKCk7Ci0gICAgaWYgKCFwb2ludGVyKSB7Ci0gICAgICByZXR1cm4gbnVsbDsKLSAgICB9
Ci0gICAgcmV0dXJuIGNscy5kZWNvZGUodGhpcy5kZWNvZGVBbmRDcmVhdGVEZWNvZGVyKHBvaW50
ZXIpKTsKLSAgfTsKLQotICBEZWNvZGVyLnByb3RvdHlwZS5kZWNvZGVBcnJheVBvaW50ZXIgPSBm
dW5jdGlvbihjbHMpIHsKLSAgICB2YXIgcG9pbnRlciA9IHRoaXMuZGVjb2RlUG9pbnRlcigpOwot
ICAgIGlmICghcG9pbnRlcikgewotICAgICAgcmV0dXJuIG51bGw7Ci0gICAgfQotICAgIHJldHVy
biB0aGlzLmRlY29kZUFuZENyZWF0ZURlY29kZXIocG9pbnRlcikuZGVjb2RlQXJyYXkoY2xzKTsK
LSAgfTsKLQotICBEZWNvZGVyLnByb3RvdHlwZS5kZWNvZGVTdHJpbmdQb2ludGVyID0gZnVuY3Rp
b24oKSB7Ci0gICAgdmFyIHBvaW50ZXIgPSB0aGlzLmRlY29kZVBvaW50ZXIoKTsKLSAgICBpZiAo
IXBvaW50ZXIpIHsKLSAgICAgIHJldHVybiBudWxsOwotICAgIH0KLSAgICByZXR1cm4gdGhpcy5k
ZWNvZGVBbmRDcmVhdGVEZWNvZGVyKHBvaW50ZXIpLmRlY29kZVN0cmluZygpOwotICB9OwotCi0g
IERlY29kZXIucHJvdG90eXBlLmRlY29kZU1hcCA9IGZ1bmN0aW9uKGtleUNsYXNzLCB2YWx1ZUNs
YXNzKSB7Ci0gICAgdGhpcy5za2lwKDQpOyAvLyBudW1iZXJPZkJ5dGVzCi0gICAgdGhpcy5za2lw
KDQpOyAvLyB2ZXJzaW9uCi0gICAgdmFyIGtleXMgPSB0aGlzLmRlY29kZUFycmF5UG9pbnRlcihr
ZXlDbGFzcyk7Ci0gICAgdmFyIHZhbHVlcyA9IHRoaXMuZGVjb2RlQXJyYXlQb2ludGVyKHZhbHVl
Q2xhc3MpOwotICAgIHZhciB2YWwgPSBuZXcgTWFwKCk7Ci0gICAgZm9yICh2YXIgaSA9IDA7IGkg
PCBrZXlzLmxlbmd0aDsgaSsrKQotICAgICAgdmFsLnNldChrZXlzW2ldLCB2YWx1ZXNbaV0pOwot
ICAgIHJldHVybiB2YWw7Ci0gIH07Ci0KLSAgRGVjb2Rlci5wcm90b3R5cGUuZGVjb2RlTWFwUG9p
bnRlciA9IGZ1bmN0aW9uKGtleUNsYXNzLCB2YWx1ZUNsYXNzKSB7Ci0gICAgdmFyIHBvaW50ZXIg
PSB0aGlzLmRlY29kZVBvaW50ZXIoKTsKLSAgICBpZiAoIXBvaW50ZXIpIHsKLSAgICAgIHJldHVy
biBudWxsOwotICAgIH0KLSAgICB2YXIgZGVjb2RlciA9IHRoaXMuZGVjb2RlQW5kQ3JlYXRlRGVj
b2Rlcihwb2ludGVyKTsKLSAgICByZXR1cm4gZGVjb2Rlci5kZWNvZGVNYXAoa2V5Q2xhc3MsIHZh
bHVlQ2xhc3MpOwotICB9OwotCi0gIC8vIEVuY29kZXIgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0KLSAgZnVuY3Rpb24g
RW5jb2RlcihidWZmZXIsIGhhbmRsZXMsIGFzc29jaWF0ZWRFbmRwb2ludEhhbmRsZXMsIGJhc2Up
IHsKLSAgICB0aGlzLmJ1ZmZlciA9IGJ1ZmZlcjsKLSAgICB0aGlzLmhhbmRsZXMgPSBoYW5kbGVz
OwotICAgIHRoaXMuYXNzb2NpYXRlZEVuZHBvaW50SGFuZGxlcyA9IGFzc29jaWF0ZWRFbmRwb2lu
dEhhbmRsZXM7Ci0gICAgdGhpcy5iYXNlID0gYmFzZTsKLSAgICB0aGlzLm5leHQgPSBiYXNlOwot
ICB9Ci0KLSAgRW5jb2Rlci5wcm90b3R5cGUuYWxpZ24gPSBmdW5jdGlvbigpIHsKLSAgICB0aGlz
Lm5leHQgPSBhbGlnbih0aGlzLm5leHQpOwotICB9OwotCi0gIEVuY29kZXIucHJvdG90eXBlLnNr
aXAgPSBmdW5jdGlvbihvZmZzZXQpIHsKLSAgICB0aGlzLm5leHQgKz0gb2Zmc2V0OwotICB9Owot
Ci0gIEVuY29kZXIucHJvdG90eXBlLndyaXRlSW50OCA9IGZ1bmN0aW9uKHZhbCkgewotICAgIHRo
aXMuYnVmZmVyLnNldEludDgodGhpcy5uZXh0LCB2YWwpOwotICAgIHRoaXMubmV4dCArPSAxOwot
ICB9OwotCi0gIEVuY29kZXIucHJvdG90eXBlLndyaXRlVWludDggPSBmdW5jdGlvbih2YWwpIHsK
LSAgICBpZiAodmFsIDwgMCkgewotICAgICAgdGhyb3cgbmV3IEVycm9yKGtFcnJvclVuc2lnbmVk
KTsKLSAgICB9Ci0gICAgdGhpcy5idWZmZXIuc2V0VWludDgodGhpcy5uZXh0LCB2YWwpOwotICAg
IHRoaXMubmV4dCArPSAxOwotICB9OwotCi0gIEVuY29kZXIucHJvdG90eXBlLndyaXRlSW50MTYg
PSBmdW5jdGlvbih2YWwpIHsKLSAgICB0aGlzLmJ1ZmZlci5zZXRJbnQxNih0aGlzLm5leHQsIHZh
bCk7Ci0gICAgdGhpcy5uZXh0ICs9IDI7Ci0gIH07Ci0KLSAgRW5jb2Rlci5wcm90b3R5cGUud3Jp
dGVVaW50MTYgPSBmdW5jdGlvbih2YWwpIHsKLSAgICBpZiAodmFsIDwgMCkgewotICAgICAgdGhy
b3cgbmV3IEVycm9yKGtFcnJvclVuc2lnbmVkKTsKLSAgICB9Ci0gICAgdGhpcy5idWZmZXIuc2V0
VWludDE2KHRoaXMubmV4dCwgdmFsKTsKLSAgICB0aGlzLm5leHQgKz0gMjsKLSAgfTsKLQotICBF
bmNvZGVyLnByb3RvdHlwZS53cml0ZUludDMyID0gZnVuY3Rpb24odmFsKSB7Ci0gICAgdGhpcy5i
dWZmZXIuc2V0SW50MzIodGhpcy5uZXh0LCB2YWwpOwotICAgIHRoaXMubmV4dCArPSA0OwotICB9
OwotCi0gIEVuY29kZXIucHJvdG90eXBlLndyaXRlVWludDMyID0gZnVuY3Rpb24odmFsKSB7Ci0g
ICAgaWYgKHZhbCA8IDApIHsKLSAgICAgIHRocm93IG5ldyBFcnJvcihrRXJyb3JVbnNpZ25lZCk7
Ci0gICAgfQotICAgIHRoaXMuYnVmZmVyLnNldFVpbnQzMih0aGlzLm5leHQsIHZhbCk7Ci0gICAg
dGhpcy5uZXh0ICs9IDQ7Ci0gIH07Ci0KLSAgRW5jb2Rlci5wcm90b3R5cGUud3JpdGVJbnQ2NCA9
IGZ1bmN0aW9uKHZhbCkgewotICAgIHRoaXMuYnVmZmVyLnNldEludDY0KHRoaXMubmV4dCwgdmFs
KTsKLSAgICB0aGlzLm5leHQgKz0gODsKLSAgfTsKLQotICBFbmNvZGVyLnByb3RvdHlwZS53cml0
ZVVpbnQ2NCA9IGZ1bmN0aW9uKHZhbCkgewotICAgIGlmICh2YWwgPCAwKSB7Ci0gICAgICB0aHJv
dyBuZXcgRXJyb3Ioa0Vycm9yVW5zaWduZWQpOwotICAgIH0KLSAgICB0aGlzLmJ1ZmZlci5zZXRV
aW50NjQodGhpcy5uZXh0LCB2YWwpOwotICAgIHRoaXMubmV4dCArPSA4OwotICB9OwotCi0gIEVu
Y29kZXIucHJvdG90eXBlLndyaXRlRmxvYXQgPSBmdW5jdGlvbih2YWwpIHsKLSAgICB0aGlzLmJ1
ZmZlci5zZXRGbG9hdDMyKHRoaXMubmV4dCwgdmFsKTsKLSAgICB0aGlzLm5leHQgKz0gNDsKLSAg
fTsKLQotICBFbmNvZGVyLnByb3RvdHlwZS53cml0ZURvdWJsZSA9IGZ1bmN0aW9uKHZhbCkgewot
ICAgIHRoaXMuYnVmZmVyLnNldEZsb2F0NjQodGhpcy5uZXh0LCB2YWwpOwotICAgIHRoaXMubmV4
dCArPSA4OwotICB9OwotCi0gIEVuY29kZXIucHJvdG90eXBlLmVuY29kZVBvaW50ZXIgPSBmdW5j
dGlvbihwb2ludGVyKSB7Ci0gICAgaWYgKCFwb2ludGVyKQotICAgICAgcmV0dXJuIHRoaXMud3Jp
dGVVaW50NjQoMCk7Ci0gICAgLy8gVE9ETyhhYmFydGgpOiBUbyBjb3JyZWN0bHkgZW5jb2RlIGEg
cG9pbnRlciwgd2UgbmVlZCB0byBrbm93IHRoZSByZWFsCi0gICAgLy8gYmFzZSBhZGRyZXNzIG9m
IHRoZSBhcnJheSBidWZmZXIuCi0gICAgdmFyIG9mZnNldCA9IHBvaW50ZXIgLSB0aGlzLm5leHQ7
Ci0gICAgdGhpcy53cml0ZVVpbnQ2NChvZmZzZXQpOwotICB9OwotCi0gIEVuY29kZXIucHJvdG90
eXBlLmNyZWF0ZUFuZEVuY29kZUVuY29kZXIgPSBmdW5jdGlvbihzaXplKSB7Ci0gICAgdmFyIHBv
aW50ZXIgPSB0aGlzLmJ1ZmZlci5hbGxvYyhhbGlnbihzaXplKSk7Ci0gICAgdGhpcy5lbmNvZGVQ
b2ludGVyKHBvaW50ZXIpOwotICAgIHJldHVybiBuZXcgRW5jb2Rlcih0aGlzLmJ1ZmZlciwgdGhp
cy5oYW5kbGVzLAotICAgICAgICB0aGlzLmFzc29jaWF0ZWRFbmRwb2ludEhhbmRsZXMsIHBvaW50
ZXIpOwotICB9OwotCi0gIEVuY29kZXIucHJvdG90eXBlLmVuY29kZUhhbmRsZSA9IGZ1bmN0aW9u
KGhhbmRsZSkgewotICAgIGlmIChoYW5kbGUpIHsKLSAgICAgIHRoaXMuaGFuZGxlcy5wdXNoKGhh
bmRsZSk7Ci0gICAgICB0aGlzLndyaXRlVWludDMyKHRoaXMuaGFuZGxlcy5sZW5ndGggLSAxKTsK
LSAgICB9IGVsc2UgewotICAgICAgdGhpcy53cml0ZVVpbnQzMihrRW5jb2RlZEludmFsaWRIYW5k
bGVWYWx1ZSk7Ci0gICAgfQotICB9OwotCi0gIEVuY29kZXIucHJvdG90eXBlLmVuY29kZUFzc29j
aWF0ZWRFbmRwb2ludEhhbmRsZSA9IGZ1bmN0aW9uKGVuZHBvaW50SGFuZGxlKSB7Ci0gICAgaWYg
KGVuZHBvaW50SGFuZGxlKSB7Ci0gICAgICB0aGlzLmFzc29jaWF0ZWRFbmRwb2ludEhhbmRsZXMu
cHVzaChlbmRwb2ludEhhbmRsZSk7Ci0gICAgICB0aGlzLndyaXRlVWludDMyKHRoaXMuYXNzb2Np
YXRlZEVuZHBvaW50SGFuZGxlcy5sZW5ndGggLSAxKTsKLSAgICB9IGVsc2UgewotICAgICAgdGhp
cy53cml0ZVVpbnQzMihrRW5jb2RlZEludmFsaWRIYW5kbGVWYWx1ZSk7Ci0gICAgfQotICB9Owot
Ci0gIEVuY29kZXIucHJvdG90eXBlLmVuY29kZVN0cmluZyA9IGZ1bmN0aW9uKHZhbCkgewotICAg
IHZhciBiYXNlID0gdGhpcy5uZXh0ICsga0FycmF5SGVhZGVyU2l6ZTsKLSAgICB2YXIgbnVtYmVy
T2ZFbGVtZW50cyA9IGludGVybmFsLmVuY29kZVV0ZjhTdHJpbmcoCi0gICAgICAgIHZhbCwgbmV3
IFVpbnQ4QXJyYXkodGhpcy5idWZmZXIuYXJyYXlCdWZmZXIsIGJhc2UpKTsKLSAgICB2YXIgbnVt
YmVyT2ZCeXRlcyA9IGtBcnJheUhlYWRlclNpemUgKyBudW1iZXJPZkVsZW1lbnRzOwotICAgIHRo
aXMud3JpdGVVaW50MzIobnVtYmVyT2ZCeXRlcyk7Ci0gICAgdGhpcy53cml0ZVVpbnQzMihudW1i
ZXJPZkVsZW1lbnRzKTsKLSAgICB0aGlzLm5leHQgKz0gbnVtYmVyT2ZFbGVtZW50czsKLSAgfTsK
LQotICBFbmNvZGVyLnByb3RvdHlwZS5lbmNvZGVBcnJheSA9Ci0gICAgICBmdW5jdGlvbihjbHMs
IHZhbCwgbnVtYmVyT2ZFbGVtZW50cywgZW5jb2RlZFNpemUpIHsKLSAgICBpZiAobnVtYmVyT2ZF
bGVtZW50cyA9PT0gdW5kZWZpbmVkKQotICAgICAgbnVtYmVyT2ZFbGVtZW50cyA9IHZhbC5sZW5n
dGg7Ci0gICAgaWYgKGVuY29kZWRTaXplID09PSB1bmRlZmluZWQpCi0gICAgICBlbmNvZGVkU2l6
ZSA9IGtBcnJheUhlYWRlclNpemUgKyBjbHMuZW5jb2RlZFNpemUgKiBudW1iZXJPZkVsZW1lbnRz
OwotCi0gICAgdGhpcy53cml0ZVVpbnQzMihlbmNvZGVkU2l6ZSk7Ci0gICAgdGhpcy53cml0ZVVp
bnQzMihudW1iZXJPZkVsZW1lbnRzKTsKLQotICAgIGlmIChjbHMgPT09IFBhY2tlZEJvb2wpIHsK
LSAgICAgIHZhciBieXRlID0gMDsKLSAgICAgIGZvciAoaSA9IDA7IGkgPCBudW1iZXJPZkVsZW1l
bnRzOyArK2kpIHsKLSAgICAgICAgaWYgKHZhbFtpXSkKLSAgICAgICAgICBieXRlIHw9ICgxIDw8
IGkgJSA4KTsKLSAgICAgICAgaWYgKGkgJSA4ID09PSA3IHx8IGkgPT0gbnVtYmVyT2ZFbGVtZW50
cyAtIDEpIHsKLSAgICAgICAgICBVaW50OC5lbmNvZGUodGhpcywgYnl0ZSk7Ci0gICAgICAgICAg
Ynl0ZSA9IDA7Ci0gICAgICAgIH0KLSAgICAgIH0KLSAgICB9IGVsc2UgewotICAgICAgZm9yICh2
YXIgaSA9IDA7IGkgPCBudW1iZXJPZkVsZW1lbnRzOyArK2kpCi0gICAgICAgIGNscy5lbmNvZGUo
dGhpcywgdmFsW2ldKTsKLSAgICB9Ci0gIH07Ci0KLSAgRW5jb2Rlci5wcm90b3R5cGUuZW5jb2Rl
U3RydWN0ID0gZnVuY3Rpb24oY2xzLCB2YWwpIHsKLSAgICByZXR1cm4gY2xzLmVuY29kZSh0aGlz
LCB2YWwpOwotICB9OwotCi0gIEVuY29kZXIucHJvdG90eXBlLmVuY29kZVN0cnVjdFBvaW50ZXIg
PSBmdW5jdGlvbihjbHMsIHZhbCkgewotICAgIGlmICh2YWwgPT0gbnVsbCkgewotICAgICAgLy8g
QWxzbyBoYW5kbGVzIHVuZGVmaW5lZCwgc2luY2UgdW5kZWZpbmVkID09IG51bGwuCi0gICAgICB0
aGlzLmVuY29kZVBvaW50ZXIodmFsKTsKLSAgICAgIHJldHVybjsKLSAgICB9Ci0gICAgdmFyIGVu
Y29kZXIgPSB0aGlzLmNyZWF0ZUFuZEVuY29kZUVuY29kZXIoY2xzLmVuY29kZWRTaXplKTsKLSAg
ICBjbHMuZW5jb2RlKGVuY29kZXIsIHZhbCk7Ci0gIH07Ci0KLSAgRW5jb2Rlci5wcm90b3R5cGUu
ZW5jb2RlQXJyYXlQb2ludGVyID0gZnVuY3Rpb24oY2xzLCB2YWwpIHsKLSAgICBpZiAodmFsID09
IG51bGwpIHsKLSAgICAgIC8vIEFsc28gaGFuZGxlcyB1bmRlZmluZWQsIHNpbmNlIHVuZGVmaW5l
ZCA9PSBudWxsLgotICAgICAgdGhpcy5lbmNvZGVQb2ludGVyKHZhbCk7Ci0gICAgICByZXR1cm47
Ci0gICAgfQotCi0gICAgdmFyIG51bWJlck9mRWxlbWVudHMgPSB2YWwubGVuZ3RoOwotICAgIGlm
ICghTnVtYmVyLmlzU2FmZUludGVnZXIobnVtYmVyT2ZFbGVtZW50cykgfHwgbnVtYmVyT2ZFbGVt
ZW50cyA8IDApCi0gICAgICB0aHJvdyBuZXcgRXJyb3Ioa0Vycm9yQXJyYXkpOwotCi0gICAgdmFy
IGVuY29kZWRTaXplID0ga0FycmF5SGVhZGVyU2l6ZSArICgoY2xzID09PSBQYWNrZWRCb29sKSA/
Ci0gICAgICAgIE1hdGguY2VpbChudW1iZXJPZkVsZW1lbnRzIC8gOCkgOiBjbHMuZW5jb2RlZFNp
emUgKiBudW1iZXJPZkVsZW1lbnRzKTsKLSAgICB2YXIgZW5jb2RlciA9IHRoaXMuY3JlYXRlQW5k
RW5jb2RlRW5jb2RlcihlbmNvZGVkU2l6ZSk7Ci0gICAgZW5jb2Rlci5lbmNvZGVBcnJheShjbHMs
IHZhbCwgbnVtYmVyT2ZFbGVtZW50cywgZW5jb2RlZFNpemUpOwotICB9OwotCi0gIEVuY29kZXIu
cHJvdG90eXBlLmVuY29kZVN0cmluZ1BvaW50ZXIgPSBmdW5jdGlvbih2YWwpIHsKLSAgICBpZiAo
dmFsID09IG51bGwpIHsKLSAgICAgIC8vIEFsc28gaGFuZGxlcyB1bmRlZmluZWQsIHNpbmNlIHVu
ZGVmaW5lZCA9PSBudWxsLgotICAgICAgdGhpcy5lbmNvZGVQb2ludGVyKHZhbCk7Ci0gICAgICBy
ZXR1cm47Ci0gICAgfQotICAgIC8vIE9ubHkgYWNjZXB0cyBzdHJpbmcgcHJpbWl2aXRlcywgbm90
IFN0cmluZyBPYmplY3RzIGxpa2UgbmV3IFN0cmluZygiZm9vIikKLSAgICBpZiAodHlwZW9mKHZh
bCkgIT09ICJzdHJpbmciKSB7Ci0gICAgICB0aHJvdyBuZXcgRXJyb3Ioa0Vycm9yU3RyaW5nKTsK
LSAgICB9Ci0gICAgdmFyIGVuY29kZWRTaXplID0ga0FycmF5SGVhZGVyU2l6ZSArIGludGVybmFs
LnV0ZjhMZW5ndGgodmFsKTsKLSAgICB2YXIgZW5jb2RlciA9IHRoaXMuY3JlYXRlQW5kRW5jb2Rl
RW5jb2RlcihlbmNvZGVkU2l6ZSk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJpbmcodmFsKTsKLSAg
fTsKLQotICBFbmNvZGVyLnByb3RvdHlwZS5lbmNvZGVNYXAgPSBmdW5jdGlvbihrZXlDbGFzcywg
dmFsdWVDbGFzcywgdmFsKSB7Ci0gICAgdmFyIGtleXMgPSBuZXcgQXJyYXkodmFsLnNpemUpOwot
ICAgIHZhciB2YWx1ZXMgPSBuZXcgQXJyYXkodmFsLnNpemUpOwotICAgIHZhciBpID0gMDsKLSAg
ICB2YWwuZm9yRWFjaChmdW5jdGlvbih2YWx1ZSwga2V5KSB7Ci0gICAgICB2YWx1ZXNbaV0gPSB2
YWx1ZTsKLSAgICAgIGtleXNbaSsrXSA9IGtleTsKLSAgICB9KTsKLSAgICB0aGlzLndyaXRlVWlu
dDMyKGtTdHJ1Y3RIZWFkZXJTaXplICsga01hcFN0cnVjdFBheWxvYWRTaXplKTsKLSAgICB0aGlz
LndyaXRlVWludDMyKDApOyAgLy8gdmVyc2lvbgotICAgIHRoaXMuZW5jb2RlQXJyYXlQb2ludGVy
KGtleUNsYXNzLCBrZXlzKTsKLSAgICB0aGlzLmVuY29kZUFycmF5UG9pbnRlcih2YWx1ZUNsYXNz
LCB2YWx1ZXMpOwotICB9Ci0KLSAgRW5jb2Rlci5wcm90b3R5cGUuZW5jb2RlTWFwUG9pbnRlciA9
IGZ1bmN0aW9uKGtleUNsYXNzLCB2YWx1ZUNsYXNzLCB2YWwpIHsKLSAgICBpZiAodmFsID09IG51
bGwpIHsKLSAgICAgIC8vIEFsc28gaGFuZGxlcyB1bmRlZmluZWQsIHNpbmNlIHVuZGVmaW5lZCA9
PSBudWxsLgotICAgICAgdGhpcy5lbmNvZGVQb2ludGVyKHZhbCk7Ci0gICAgICByZXR1cm47Ci0g
ICAgfQotICAgIGlmICghKHZhbCBpbnN0YW5jZW9mIE1hcCkpIHsKLSAgICAgIHRocm93IG5ldyBF
cnJvcihrRXJyb3JNYXApOwotICAgIH0KLSAgICB2YXIgZW5jb2RlZFNpemUgPSBrU3RydWN0SGVh
ZGVyU2l6ZSArIGtNYXBTdHJ1Y3RQYXlsb2FkU2l6ZTsKLSAgICB2YXIgZW5jb2RlciA9IHRoaXMu
Y3JlYXRlQW5kRW5jb2RlRW5jb2RlcihlbmNvZGVkU2l6ZSk7Ci0gICAgZW5jb2Rlci5lbmNvZGVN
YXAoa2V5Q2xhc3MsIHZhbHVlQ2xhc3MsIHZhbCk7Ci0gIH07Ci0KLSAgLy8gTWVzc2FnZSAtLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0KLQotICB2YXIga01lc3NhZ2VJbnRlcmZhY2VJZE9mZnNldCA9IGtTdHJ1Y3RIZWFkZXJT
aXplOwotICB2YXIga01lc3NhZ2VOYW1lT2Zmc2V0ID0ga01lc3NhZ2VJbnRlcmZhY2VJZE9mZnNl
dCArIDQ7Ci0gIHZhciBrTWVzc2FnZUZsYWdzT2Zmc2V0ID0ga01lc3NhZ2VOYW1lT2Zmc2V0ICsg
NDsKLSAgdmFyIGtNZXNzYWdlUmVxdWVzdElET2Zmc2V0ID0ga01lc3NhZ2VGbGFnc09mZnNldCAr
IDg7Ci0gIHZhciBrTWVzc2FnZVBheWxvYWRJbnRlcmZhY2VJZHNQb2ludGVyT2Zmc2V0ID0ga01l
c3NhZ2VWMkhlYWRlclNpemUgLSA4OwotCi0gIHZhciBrTWVzc2FnZUV4cGVjdHNSZXNwb25zZSA9
IDEgPDwgMDsKLSAgdmFyIGtNZXNzYWdlSXNSZXNwb25zZSAgICAgID0gMSA8PCAxOwotCi0gIGZ1
bmN0aW9uIE1lc3NhZ2UoYnVmZmVyLCBoYW5kbGVzLCBhc3NvY2lhdGVkRW5kcG9pbnRIYW5kbGVz
KSB7Ci0gICAgaWYgKGFzc29jaWF0ZWRFbmRwb2ludEhhbmRsZXMgPT09IHVuZGVmaW5lZCkgewot
ICAgICAgYXNzb2NpYXRlZEVuZHBvaW50SGFuZGxlcyA9IFtdOwotICAgIH0KLQotICAgIHRoaXMu
YnVmZmVyID0gYnVmZmVyOwotICAgIHRoaXMuaGFuZGxlcyA9IGhhbmRsZXM7Ci0gICAgdGhpcy5h
c3NvY2lhdGVkRW5kcG9pbnRIYW5kbGVzID0gYXNzb2NpYXRlZEVuZHBvaW50SGFuZGxlczsKLSAg
fQotCi0gIE1lc3NhZ2UucHJvdG90eXBlLmdldEhlYWRlck51bUJ5dGVzID0gZnVuY3Rpb24oKSB7
Ci0gICAgcmV0dXJuIHRoaXMuYnVmZmVyLmdldFVpbnQzMihrU3RydWN0SGVhZGVyTnVtQnl0ZXNP
ZmZzZXQpOwotICB9OwotCi0gIE1lc3NhZ2UucHJvdG90eXBlLmdldEhlYWRlclZlcnNpb24gPSBm
dW5jdGlvbigpIHsKLSAgICByZXR1cm4gdGhpcy5idWZmZXIuZ2V0VWludDMyKGtTdHJ1Y3RIZWFk
ZXJWZXJzaW9uT2Zmc2V0KTsKLSAgfTsKLQotICBNZXNzYWdlLnByb3RvdHlwZS5nZXROYW1lID0g
ZnVuY3Rpb24oKSB7Ci0gICAgcmV0dXJuIHRoaXMuYnVmZmVyLmdldFVpbnQzMihrTWVzc2FnZU5h
bWVPZmZzZXQpOwotICB9OwotCi0gIE1lc3NhZ2UucHJvdG90eXBlLmdldEZsYWdzID0gZnVuY3Rp
b24oKSB7Ci0gICAgcmV0dXJuIHRoaXMuYnVmZmVyLmdldFVpbnQzMihrTWVzc2FnZUZsYWdzT2Zm
c2V0KTsKLSAgfTsKLQotICBNZXNzYWdlLnByb3RvdHlwZS5nZXRJbnRlcmZhY2VJZCA9IGZ1bmN0
aW9uKCkgewotICAgIHJldHVybiB0aGlzLmJ1ZmZlci5nZXRVaW50MzIoa01lc3NhZ2VJbnRlcmZh
Y2VJZE9mZnNldCk7Ci0gIH07Ci0KLSAgTWVzc2FnZS5wcm90b3R5cGUuZ2V0UGF5bG9hZEludGVy
ZmFjZUlkcyA9IGZ1bmN0aW9uKCkgewotICAgIGlmICh0aGlzLmdldEhlYWRlclZlcnNpb24oKSA8
IDIpIHsKLSAgICAgIHJldHVybiBudWxsOwotICAgIH0KLQotICAgIHZhciBkZWNvZGVyID0gbmV3
IERlY29kZXIodGhpcy5idWZmZXIsIHRoaXMuaGFuZGxlcywKLSAgICAgICAgdGhpcy5hc3NvY2lh
dGVkRW5kcG9pbnRIYW5kbGVzLAotICAgICAgICBrTWVzc2FnZVBheWxvYWRJbnRlcmZhY2VJZHNQ
b2ludGVyT2Zmc2V0KTsKLSAgICB2YXIgcGF5bG9hZEludGVyZmFjZUlkcyA9IGRlY29kZXIuZGVj
b2RlQXJyYXlQb2ludGVyKFVpbnQzMik7Ci0gICAgcmV0dXJuIHBheWxvYWRJbnRlcmZhY2VJZHM7
Ci0gIH07Ci0KLSAgTWVzc2FnZS5wcm90b3R5cGUuaXNSZXNwb25zZSA9IGZ1bmN0aW9uKCkgewot
ICAgIHJldHVybiAodGhpcy5nZXRGbGFncygpICYga01lc3NhZ2VJc1Jlc3BvbnNlKSAhPSAwOwot
ICB9OwotCi0gIE1lc3NhZ2UucHJvdG90eXBlLmV4cGVjdHNSZXNwb25zZSA9IGZ1bmN0aW9uKCkg
ewotICAgIHJldHVybiAodGhpcy5nZXRGbGFncygpICYga01lc3NhZ2VFeHBlY3RzUmVzcG9uc2Up
ICE9IDA7Ci0gIH07Ci0KLSAgTWVzc2FnZS5wcm90b3R5cGUuc2V0UmVxdWVzdElEID0gZnVuY3Rp
b24ocmVxdWVzdElEKSB7Ci0gICAgLy8gVE9ETyhkYXJpbik6IFZlcmlmeSB0aGF0IHNwYWNlIHdh
cyByZXNlcnZlZCBmb3IgdGhpcyBmaWVsZCEKLSAgICB0aGlzLmJ1ZmZlci5zZXRVaW50NjQoa01l
c3NhZ2VSZXF1ZXN0SURPZmZzZXQsIHJlcXVlc3RJRCk7Ci0gIH07Ci0KLSAgTWVzc2FnZS5wcm90
b3R5cGUuc2V0SW50ZXJmYWNlSWQgPSBmdW5jdGlvbihpbnRlcmZhY2VJZCkgewotICAgIHRoaXMu
YnVmZmVyLnNldFVpbnQzMihrTWVzc2FnZUludGVyZmFjZUlkT2Zmc2V0LCBpbnRlcmZhY2VJZCk7
Ci0gIH07Ci0KLSAgTWVzc2FnZS5wcm90b3R5cGUuc2V0UGF5bG9hZEludGVyZmFjZUlkc18gPSBm
dW5jdGlvbihwYXlsb2FkSW50ZXJmYWNlSWRzKSB7Ci0gICAgaWYgKHRoaXMuZ2V0SGVhZGVyVmVy
c2lvbigpIDwgMikgewotICAgICAgdGhyb3cgbmV3IEVycm9yKAotICAgICAgICAgICJWZXJzaW9u
IG9mIG1lc3NhZ2UgZG9lcyBub3Qgc3VwcG9ydCBwYXlsb2FkIGludGVyZmFjZSBpZHMiKTsKLSAg
ICB9Ci0KLSAgICB2YXIgZGVjb2RlciA9IG5ldyBEZWNvZGVyKHRoaXMuYnVmZmVyLCB0aGlzLmhh
bmRsZXMsCi0gICAgICAgIHRoaXMuYXNzb2NpYXRlZEVuZHBvaW50SGFuZGxlcywKLSAgICAgICAg
a01lc3NhZ2VQYXlsb2FkSW50ZXJmYWNlSWRzUG9pbnRlck9mZnNldCk7Ci0gICAgdmFyIHBheWxv
YWRJbnRlcmZhY2VJZHNPZmZzZXQgPSBkZWNvZGVyLmRlY29kZVBvaW50ZXIoKTsKLSAgICB2YXIg
ZW5jb2RlciA9IG5ldyBFbmNvZGVyKHRoaXMuYnVmZmVyLCB0aGlzLmhhbmRsZXMsCi0gICAgICAg
IHRoaXMuYXNzb2NpYXRlZEVuZHBvaW50SGFuZGxlcywKLSAgICAgICAgcGF5bG9hZEludGVyZmFj
ZUlkc09mZnNldCk7Ci0gICAgZW5jb2Rlci5lbmNvZGVBcnJheShVaW50MzIsIHBheWxvYWRJbnRl
cmZhY2VJZHMpOwotICB9OwotCi0gIE1lc3NhZ2UucHJvdG90eXBlLnNlcmlhbGl6ZUFzc29jaWF0
ZWRFbmRwb2ludEhhbmRsZXMgPSBmdW5jdGlvbigKLSAgICAgIGFzc29jaWF0ZWRHcm91cENvbnRy
b2xsZXIpIHsKLSAgICBpZiAodGhpcy5hc3NvY2lhdGVkRW5kcG9pbnRIYW5kbGVzLmxlbmd0aCA+
IDApIHsKLSAgICAgIGlmICh0aGlzLmdldEhlYWRlclZlcnNpb24oKSA8IDIpIHsKLSAgICAgICAg
dGhyb3cgbmV3IEVycm9yKAotICAgICAgICAgICAgIlZlcnNpb24gb2YgbWVzc2FnZSBkb2VzIG5v
dCBzdXBwb3J0IGFzc29jaWF0ZWQgZW5kcG9pbnQgaGFuZGxlcyIpOwotICAgICAgfQotCi0gICAg
ICB2YXIgZGF0YSA9IFtdOwotICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLmFzc29jaWF0
ZWRFbmRwb2ludEhhbmRsZXMubGVuZ3RoOyBpKyspIHsKLSAgICAgICAgdmFyIGhhbmRsZSA9IHRo
aXMuYXNzb2NpYXRlZEVuZHBvaW50SGFuZGxlc1tpXTsKLSAgICAgICAgZGF0YS5wdXNoKGFzc29j
aWF0ZWRHcm91cENvbnRyb2xsZXIuYXNzb2NpYXRlSW50ZXJmYWNlKGhhbmRsZSkpOwotICAgICAg
fQotICAgICAgdGhpcy5hc3NvY2lhdGVkRW5kcG9pbnRIYW5kbGVzID0gW107Ci0gICAgICB0aGlz
LnNldFBheWxvYWRJbnRlcmZhY2VJZHNfKGRhdGEpOwotICAgIH0KLSAgfTsKLQotICBNZXNzYWdl
LnByb3RvdHlwZS5kZXNlcmlhbGl6ZUFzc29jaWF0ZWRFbmRwb2ludEhhbmRsZXMgPSBmdW5jdGlv
bigKLSAgICAgIGFzc29jaWF0ZWRHcm91cENvbnRyb2xsZXIpIHsKLSAgICBpZiAodGhpcy5nZXRI
ZWFkZXJWZXJzaW9uKCkgPCAyKSB7Ci0gICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9Ci0KLSAgICB0
aGlzLmFzc29jaWF0ZWRFbmRwb2ludEhhbmRsZXMgPSBbXTsKLSAgICB2YXIgaWRzID0gdGhpcy5n
ZXRQYXlsb2FkSW50ZXJmYWNlSWRzKCk7Ci0KLSAgICB2YXIgcmVzdWx0ID0gdHJ1ZTsKLSAgICBm
b3IgKHZhciBpID0gMDsgaSA8IGlkcy5sZW5ndGg7IGkrKykgewotICAgICAgdmFyIGhhbmRsZSA9
IGFzc29jaWF0ZWRHcm91cENvbnRyb2xsZXIuY3JlYXRlTG9jYWxFbmRwb2ludEhhbmRsZShpZHNb
aV0pOwotICAgICAgaWYgKGludGVybmFsLmlzVmFsaWRJbnRlcmZhY2VJZChpZHNbaV0pICYmICFo
YW5kbGUuaXNWYWxpZCgpKSB7Ci0gICAgICAgIC8vIHxpZHNbaV18IGl0c2VsZiBpcyB2YWxpZCBi
dXQgaGFuZGxlIGNyZWF0aW9uIGZhaWxlZC4gSW4gdGhhdCBjYXNlLAotICAgICAgICAvLyBtYXJr
IGRlc2VyaWFsaXphdGlvbiBhcyBmYWlsZWQgYnV0IGNvbnRpbnVlIHRvIGRlc2VyaWFsaXplIHRo
ZQotICAgICAgICAvLyByZXN0IG9mIGhhbmRsZXMuCi0gICAgICAgIHJlc3VsdCA9IGZhbHNlOwot
ICAgICAgfQotICAgICAgdGhpcy5hc3NvY2lhdGVkRW5kcG9pbnRIYW5kbGVzLnB1c2goaGFuZGxl
KTsKLSAgICAgIGlkc1tpXSA9IGludGVybmFsLmtJbnZhbGlkSW50ZXJmYWNlSWQ7Ci0gICAgfQot
Ci0gICAgdGhpcy5zZXRQYXlsb2FkSW50ZXJmYWNlSWRzXyhpZHMpOwotICAgIHJldHVybiByZXN1
bHQ7Ci0gIH07Ci0KLQotICAvLyBNZXNzYWdlVjBCdWlsZGVyIC0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotCi0gIGZ1bmN0aW9uIE1lc3Nh
Z2VWMEJ1aWxkZXIobWVzc2FnZU5hbWUsIHBheWxvYWRTaXplKSB7Ci0gICAgLy8gQ3VycmVudGx5
LCB3ZSBkb24ndCBjb21wdXRlIHRoZSBwYXlsb2FkIHNpemUgY29ycmVjdGx5IGFoZWFkIG9mIHRp
bWUuCi0gICAgLy8gSW5zdGVhZCwgd2UgcmVzaXplIHRoZSBidWZmZXIgYXQgdGhlIGVuZC4KLSAg
ICB2YXIgbnVtYmVyT2ZCeXRlcyA9IGtNZXNzYWdlVjBIZWFkZXJTaXplICsgcGF5bG9hZFNpemU7
Ci0gICAgdGhpcy5idWZmZXIgPSBuZXcgaW50ZXJuYWwuQnVmZmVyKG51bWJlck9mQnl0ZXMpOwot
ICAgIHRoaXMuaGFuZGxlcyA9IFtdOwotICAgIHZhciBlbmNvZGVyID0gdGhpcy5jcmVhdGVFbmNv
ZGVyKGtNZXNzYWdlVjBIZWFkZXJTaXplKTsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKGtNZXNz
YWdlVjBIZWFkZXJTaXplKTsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKDApOyAgLy8gdmVyc2lv
bi4KLSAgICBlbmNvZGVyLndyaXRlVWludDMyKDApOyAgLy8gaW50ZXJmYWNlIElELgotICAgIGVu
Y29kZXIud3JpdGVVaW50MzIobWVzc2FnZU5hbWUpOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIo
MCk7ICAvLyBmbGFncy4KLSAgICBlbmNvZGVyLndyaXRlVWludDMyKDApOyAgLy8gcGFkZGluZy4K
LSAgfQotCi0gIE1lc3NhZ2VWMEJ1aWxkZXIucHJvdG90eXBlLmNyZWF0ZUVuY29kZXIgPSBmdW5j
dGlvbihzaXplKSB7Ci0gICAgdmFyIHBvaW50ZXIgPSB0aGlzLmJ1ZmZlci5hbGxvYyhzaXplKTsK
LSAgICByZXR1cm4gbmV3IEVuY29kZXIodGhpcy5idWZmZXIsIHRoaXMuaGFuZGxlcywgW10sIHBv
aW50ZXIpOwotICB9OwotCi0gIE1lc3NhZ2VWMEJ1aWxkZXIucHJvdG90eXBlLmVuY29kZVN0cnVj
dCA9IGZ1bmN0aW9uKGNscywgdmFsKSB7Ci0gICAgY2xzLmVuY29kZSh0aGlzLmNyZWF0ZUVuY29k
ZXIoY2xzLmVuY29kZWRTaXplKSwgdmFsKTsKLSAgfTsKLQotICBNZXNzYWdlVjBCdWlsZGVyLnBy
b3RvdHlwZS5maW5pc2ggPSBmdW5jdGlvbigpIHsKLSAgICAvLyBUT0RPKGFiYXJ0aCk6IFJhdGhl
ciB0aGFuIHJlc2l6aW5nIHRoZSBidWZmZXIgYXQgdGhlIGVuZCwgd2UgY291bGQKLSAgICAvLyBj
b21wdXRlIHRoZSBzaXplIHdlIG5lZWQgYWhlYWQgb2YgdGltZSwgbGlrZSB3ZSBkbyBpbiBDKysu
Ci0gICAgdGhpcy5idWZmZXIudHJpbSgpOwotICAgIHZhciBtZXNzYWdlID0gbmV3IE1lc3NhZ2Uo
dGhpcy5idWZmZXIsIHRoaXMuaGFuZGxlcyk7Ci0gICAgdGhpcy5idWZmZXIgPSBudWxsOwotICAg
IHRoaXMuaGFuZGxlcyA9IG51bGw7Ci0gICAgdGhpcy5lbmNvZGVyID0gbnVsbDsKLSAgICByZXR1
cm4gbWVzc2FnZTsKLSAgfTsKLQotICAvLyBNZXNzYWdlVjFCdWlsZGVyIC0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0KLSAgZnVuY3Rpb24gTWVzc2FnZVYx
QnVpbGRlcihtZXNzYWdlTmFtZSwgcGF5bG9hZFNpemUsIGZsYWdzLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdElEKSB7Ci0gICAgLy8gQ3VycmVudGx5LCB3
ZSBkb24ndCBjb21wdXRlIHRoZSBwYXlsb2FkIHNpemUgY29ycmVjdGx5IGFoZWFkIG9mIHRpbWUu
Ci0gICAgLy8gSW5zdGVhZCwgd2UgcmVzaXplIHRoZSBidWZmZXIgYXQgdGhlIGVuZC4KLSAgICB2
YXIgbnVtYmVyT2ZCeXRlcyA9IGtNZXNzYWdlVjFIZWFkZXJTaXplICsgcGF5bG9hZFNpemU7Ci0g
ICAgdGhpcy5idWZmZXIgPSBuZXcgaW50ZXJuYWwuQnVmZmVyKG51bWJlck9mQnl0ZXMpOwotICAg
IHRoaXMuaGFuZGxlcyA9IFtdOwotICAgIHZhciBlbmNvZGVyID0gdGhpcy5jcmVhdGVFbmNvZGVy
KGtNZXNzYWdlVjFIZWFkZXJTaXplKTsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKGtNZXNzYWdl
VjFIZWFkZXJTaXplKTsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKDEpOyAgLy8gdmVyc2lvbi4K
LSAgICBlbmNvZGVyLndyaXRlVWludDMyKDApOyAgLy8gaW50ZXJmYWNlIElELgotICAgIGVuY29k
ZXIud3JpdGVVaW50MzIobWVzc2FnZU5hbWUpOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoZmxh
Z3MpOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoMCk7ICAvLyBwYWRkaW5nLgotICAgIGVuY29k
ZXIud3JpdGVVaW50NjQocmVxdWVzdElEKTsKLSAgfQotCi0gIE1lc3NhZ2VWMUJ1aWxkZXIucHJv
dG90eXBlID0KLSAgICAgIE9iamVjdC5jcmVhdGUoTWVzc2FnZVYwQnVpbGRlci5wcm90b3R5cGUp
OwotCi0gIE1lc3NhZ2VWMUJ1aWxkZXIucHJvdG90eXBlLmNvbnN0cnVjdG9yID0KLSAgICAgIE1l
c3NhZ2VWMUJ1aWxkZXI7Ci0KLSAgLy8gTWVzc2FnZVYyIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0KLSAgZnVuY3Rpb24gTWVzc2FnZVYyQnVpbGRlciht
ZXNzYWdlTmFtZSwgcGF5bG9hZFNpemUsIGZsYWdzLCByZXF1ZXN0SUQpIHsKLSAgICAvLyBDdXJy
ZW50bHksIHdlIGRvbid0IGNvbXB1dGUgdGhlIHBheWxvYWQgc2l6ZSBjb3JyZWN0bHkgYWhlYWQg
b2YgdGltZS4KLSAgICAvLyBJbnN0ZWFkLCB3ZSByZXNpemUgdGhlIGJ1ZmZlciBhdCB0aGUgZW5k
LgotICAgIHZhciBudW1iZXJPZkJ5dGVzID0ga01lc3NhZ2VWMkhlYWRlclNpemUgKyBwYXlsb2Fk
U2l6ZTsKLSAgICB0aGlzLmJ1ZmZlciA9IG5ldyBpbnRlcm5hbC5CdWZmZXIobnVtYmVyT2ZCeXRl
cyk7Ci0gICAgdGhpcy5oYW5kbGVzID0gW107Ci0KLSAgICB0aGlzLnBheWxvYWQgPSBudWxsOwot
ICAgIHRoaXMuYXNzb2NpYXRlZEVuZHBvaW50SGFuZGxlcyA9IFtdOwotCi0gICAgdGhpcy5lbmNv
ZGVyID0gdGhpcy5jcmVhdGVFbmNvZGVyKGtNZXNzYWdlVjJIZWFkZXJTaXplKTsKLSAgICB0aGlz
LmVuY29kZXIud3JpdGVVaW50MzIoa01lc3NhZ2VWMkhlYWRlclNpemUpOwotICAgIHRoaXMuZW5j
b2Rlci53cml0ZVVpbnQzMigyKTsgIC8vIHZlcnNpb24uCi0gICAgLy8gR2V0cyBzZXQgdG8gYW4g
YXBwcm9wcmlhdGUgaW50ZXJmYWNlSWQgZm9yIHRoZSBlbmRwb2ludCBieSB0aGUgUm91dGVyLgot
ICAgIHRoaXMuZW5jb2Rlci53cml0ZVVpbnQzMigwKTsgIC8vIGludGVyZmFjZSBJRC4KLSAgICB0
aGlzLmVuY29kZXIud3JpdGVVaW50MzIobWVzc2FnZU5hbWUpOwotICAgIHRoaXMuZW5jb2Rlci53
cml0ZVVpbnQzMihmbGFncyk7Ci0gICAgdGhpcy5lbmNvZGVyLndyaXRlVWludDMyKDApOyAgLy8g
cGFkZGluZy4KLSAgICB0aGlzLmVuY29kZXIud3JpdGVVaW50NjQocmVxdWVzdElEKTsKLSAgfQot
Ci0gIE1lc3NhZ2VWMkJ1aWxkZXIucHJvdG90eXBlLmNyZWF0ZUVuY29kZXIgPSBmdW5jdGlvbihz
aXplKSB7Ci0gICAgdmFyIHBvaW50ZXIgPSB0aGlzLmJ1ZmZlci5hbGxvYyhzaXplKTsKLSAgICBy
ZXR1cm4gbmV3IEVuY29kZXIodGhpcy5idWZmZXIsIHRoaXMuaGFuZGxlcywKLSAgICAgICAgdGhp
cy5hc3NvY2lhdGVkRW5kcG9pbnRIYW5kbGVzLCBwb2ludGVyKTsKLSAgfTsKLQotICBNZXNzYWdl
VjJCdWlsZGVyLnByb3RvdHlwZS5zZXRQYXlsb2FkID0gZnVuY3Rpb24oY2xzLCB2YWwpIHsKLSAg
ICB0aGlzLnBheWxvYWQgPSB7Y2xzOiBjbHMsIHZhbDogdmFsfTsKLSAgfTsKLQotICBNZXNzYWdl
VjJCdWlsZGVyLnByb3RvdHlwZS5maW5pc2ggPSBmdW5jdGlvbigpIHsKLSAgICBpZiAoIXRoaXMu
cGF5bG9hZCkgewotICAgICAgdGhyb3cgbmV3IEVycm9yKCJQYXlsb2FkIG5lZWRzIHRvIGJlIHNl
dCBiZWZvcmUgY2FsbGluZyBmaW5pc2giKTsKLSAgICB9Ci0KLSAgICB0aGlzLmVuY29kZXIuZW5j
b2RlU3RydWN0UG9pbnRlcih0aGlzLnBheWxvYWQuY2xzLCB0aGlzLnBheWxvYWQudmFsKTsKLSAg
ICB0aGlzLmVuY29kZXIuZW5jb2RlQXJyYXlQb2ludGVyKFVpbnQzMiwKLSAgICAgICAgbmV3IEFy
cmF5KHRoaXMuYXNzb2NpYXRlZEVuZHBvaW50SGFuZGxlcy5sZW5ndGgpKTsKLQotICAgIHRoaXMu
YnVmZmVyLnRyaW0oKTsKLSAgICB2YXIgbWVzc2FnZSA9IG5ldyBNZXNzYWdlKHRoaXMuYnVmZmVy
LCB0aGlzLmhhbmRsZXMsCi0gICAgICAgIHRoaXMuYXNzb2NpYXRlZEVuZHBvaW50SGFuZGxlcyk7
Ci0gICAgdGhpcy5idWZmZXIgPSBudWxsOwotICAgIHRoaXMuaGFuZGxlcyA9IG51bGw7Ci0gICAg
dGhpcy5lbmNvZGVyID0gbnVsbDsKLSAgICB0aGlzLnBheWxvYWQgPSBudWxsOwotICAgIHRoaXMu
YXNzb2NpYXRlZEVuZHBvaW50SGFuZGxlcyA9IG51bGw7Ci0KLSAgICByZXR1cm4gbWVzc2FnZTsK
LSAgfTsKLQotICAvLyBNZXNzYWdlUmVhZGVyIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotCi0gIGZ1bmN0aW9uIE1lc3NhZ2VSZWFk
ZXIobWVzc2FnZSkgewotICAgIHRoaXMuZGVjb2RlciA9IG5ldyBEZWNvZGVyKG1lc3NhZ2UuYnVm
ZmVyLCBtZXNzYWdlLmhhbmRsZXMsCi0gICAgICAgIG1lc3NhZ2UuYXNzb2NpYXRlZEVuZHBvaW50
SGFuZGxlcywgMCk7Ci0gICAgdmFyIG1lc3NhZ2VIZWFkZXJTaXplID0gdGhpcy5kZWNvZGVyLnJl
YWRVaW50MzIoKTsKLSAgICB0aGlzLnBheWxvYWRTaXplID0gbWVzc2FnZS5idWZmZXIuYnl0ZUxl
bmd0aCAtIG1lc3NhZ2VIZWFkZXJTaXplOwotICAgIHZhciB2ZXJzaW9uID0gdGhpcy5kZWNvZGVy
LnJlYWRVaW50MzIoKTsKLSAgICB2YXIgaW50ZXJmYWNlX2lkID0gdGhpcy5kZWNvZGVyLnJlYWRV
aW50MzIoKTsKLSAgICB0aGlzLm1lc3NhZ2VOYW1lID0gdGhpcy5kZWNvZGVyLnJlYWRVaW50MzIo
KTsKLSAgICB0aGlzLmZsYWdzID0gdGhpcy5kZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICAvLyBT
a2lwIHRoZSBwYWRkaW5nLgotICAgIHRoaXMuZGVjb2Rlci5za2lwKDQpOwotICAgIGlmICh2ZXJz
aW9uID49IDEpCi0gICAgICB0aGlzLnJlcXVlc3RJRCA9IHRoaXMuZGVjb2Rlci5yZWFkVWludDY0
KCk7Ci0gICAgdGhpcy5kZWNvZGVyLnNraXAobWVzc2FnZUhlYWRlclNpemUgLSB0aGlzLmRlY29k
ZXIubmV4dCk7Ci0gIH0KLQotICBNZXNzYWdlUmVhZGVyLnByb3RvdHlwZS5kZWNvZGVTdHJ1Y3Qg
PSBmdW5jdGlvbihjbHMpIHsKLSAgICByZXR1cm4gY2xzLmRlY29kZSh0aGlzLmRlY29kZXIpOwot
ICB9OwotCi0gIC8vIEJ1aWx0LWluIHR5cGVzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0KLSAgLy8gVGhpcyB0eXBlIGlzIG9ubHkg
dXNlZCB3aXRoIEFycmF5T2YoUGFja2VkQm9vbCkuCi0gIGZ1bmN0aW9uIFBhY2tlZEJvb2woKSB7
Ci0gIH0KLQotICBmdW5jdGlvbiBJbnQ4KCkgewotICB9Ci0KLSAgSW50OC5lbmNvZGVkU2l6ZSA9
IDE7Ci0KLSAgSW50OC5kZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgcmV0dXJuIGRl
Y29kZXIucmVhZEludDgoKTsKLSAgfTsKLQotICBJbnQ4LmVuY29kZSA9IGZ1bmN0aW9uKGVuY29k
ZXIsIHZhbCkgewotICAgIGVuY29kZXIud3JpdGVJbnQ4KHZhbCk7Ci0gIH07Ci0KLSAgVWludDgu
ZW5jb2RlID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQ4
KHZhbCk7Ci0gIH07Ci0KLSAgZnVuY3Rpb24gVWludDgoKSB7Ci0gIH0KLQotICBVaW50OC5lbmNv
ZGVkU2l6ZSA9IDE7Ci0KLSAgVWludDguZGVjb2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAg
IHJldHVybiBkZWNvZGVyLnJlYWRVaW50OCgpOwotICB9OwotCi0gIFVpbnQ4LmVuY29kZSA9IGZ1
bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgIGVuY29kZXIud3JpdGVVaW50OCh2YWwpOwotICB9
OwotCi0gIGZ1bmN0aW9uIEludDE2KCkgewotICB9Ci0KLSAgSW50MTYuZW5jb2RlZFNpemUgPSAy
OwotCi0gIEludDE2LmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICByZXR1cm4gZGVj
b2Rlci5yZWFkSW50MTYoKTsKLSAgfTsKLQotICBJbnQxNi5lbmNvZGUgPSBmdW5jdGlvbihlbmNv
ZGVyLCB2YWwpIHsKLSAgICBlbmNvZGVyLndyaXRlSW50MTYodmFsKTsKLSAgfTsKLQotICBmdW5j
dGlvbiBVaW50MTYoKSB7Ci0gIH0KLQotICBVaW50MTYuZW5jb2RlZFNpemUgPSAyOwotCi0gIFVp
bnQxNi5kZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgcmV0dXJuIGRlY29kZXIucmVh
ZFVpbnQxNigpOwotICB9OwotCi0gIFVpbnQxNi5lbmNvZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2
YWwpIHsKLSAgICBlbmNvZGVyLndyaXRlVWludDE2KHZhbCk7Ci0gIH07Ci0KLSAgZnVuY3Rpb24g
SW50MzIoKSB7Ci0gIH0KLQotICBJbnQzMi5lbmNvZGVkU2l6ZSA9IDQ7Ci0KLSAgSW50MzIuZGVj
b2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHJldHVybiBkZWNvZGVyLnJlYWRJbnQzMigp
OwotICB9OwotCi0gIEludDMyLmVuY29kZSA9IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAg
IGVuY29kZXIud3JpdGVJbnQzMih2YWwpOwotICB9OwotCi0gIGZ1bmN0aW9uIFVpbnQzMigpIHsK
LSAgfQotCi0gIFVpbnQzMi5lbmNvZGVkU2l6ZSA9IDQ7Ci0KLSAgVWludDMyLmRlY29kZSA9IGZ1
bmN0aW9uKGRlY29kZXIpIHsKLSAgICByZXR1cm4gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gIH07
Ci0KLSAgVWludDMyLmVuY29kZSA9IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgIGVuY29k
ZXIud3JpdGVVaW50MzIodmFsKTsKLSAgfTsKLQotICBmdW5jdGlvbiBJbnQ2NCgpIHsKLSAgfQot
Ci0gIEludDY0LmVuY29kZWRTaXplID0gODsKLQotICBJbnQ2NC5kZWNvZGUgPSBmdW5jdGlvbihk
ZWNvZGVyKSB7Ci0gICAgcmV0dXJuIGRlY29kZXIucmVhZEludDY0KCk7Ci0gIH07Ci0KLSAgSW50
NjQuZW5jb2RlID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAgZW5jb2Rlci53cml0ZUlu
dDY0KHZhbCk7Ci0gIH07Ci0KLSAgZnVuY3Rpb24gVWludDY0KCkgewotICB9Ci0KLSAgVWludDY0
LmVuY29kZWRTaXplID0gODsKLQotICBVaW50NjQuZGVjb2RlID0gZnVuY3Rpb24oZGVjb2Rlcikg
ewotICAgIHJldHVybiBkZWNvZGVyLnJlYWRVaW50NjQoKTsKLSAgfTsKLQotICBVaW50NjQuZW5j
b2RlID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQ2NCh2
YWwpOwotICB9OwotCi0gIGZ1bmN0aW9uIFN0cmluZygpIHsKLSAgfTsKLQotICBTdHJpbmcuZW5j
b2RlZFNpemUgPSA4OwotCi0gIFN0cmluZy5kZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0g
ICAgcmV0dXJuIGRlY29kZXIuZGVjb2RlU3RyaW5nUG9pbnRlcigpOwotICB9OwotCi0gIFN0cmlu
Zy5lbmNvZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2YWwpIHsKLSAgICBlbmNvZGVyLmVuY29kZVN0
cmluZ1BvaW50ZXIodmFsKTsKLSAgfTsKLQotICBmdW5jdGlvbiBOdWxsYWJsZVN0cmluZygpIHsK
LSAgfQotCi0gIE51bGxhYmxlU3RyaW5nLmVuY29kZWRTaXplID0gU3RyaW5nLmVuY29kZWRTaXpl
OwotCi0gIE51bGxhYmxlU3RyaW5nLmRlY29kZSA9IFN0cmluZy5kZWNvZGU7Ci0KLSAgTnVsbGFi
bGVTdHJpbmcuZW5jb2RlID0gU3RyaW5nLmVuY29kZTsKLQotICBmdW5jdGlvbiBGbG9hdCgpIHsK
LSAgfQotCi0gIEZsb2F0LmVuY29kZWRTaXplID0gNDsKLQotICBGbG9hdC5kZWNvZGUgPSBmdW5j
dGlvbihkZWNvZGVyKSB7Ci0gICAgcmV0dXJuIGRlY29kZXIucmVhZEZsb2F0KCk7Ci0gIH07Ci0K
LSAgRmxvYXQuZW5jb2RlID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAgZW5jb2Rlci53
cml0ZUZsb2F0KHZhbCk7Ci0gIH07Ci0KLSAgZnVuY3Rpb24gRG91YmxlKCkgewotICB9Ci0KLSAg
RG91YmxlLmVuY29kZWRTaXplID0gODsKLQotICBEb3VibGUuZGVjb2RlID0gZnVuY3Rpb24oZGVj
b2RlcikgewotICAgIHJldHVybiBkZWNvZGVyLnJlYWREb3VibGUoKTsKLSAgfTsKLQotICBEb3Vi
bGUuZW5jb2RlID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAgZW5jb2Rlci53cml0ZURv
dWJsZSh2YWwpOwotICB9OwotCi0gIGZ1bmN0aW9uIEVudW0oY2xzKSB7Ci0gICAgdGhpcy5jbHMg
PSBjbHM7Ci0gIH0KLQotICBFbnVtLnByb3RvdHlwZS5lbmNvZGVkU2l6ZSA9IDQ7Ci0KLSAgRW51
bS5wcm90b3R5cGUuZGVjb2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHJldHVybiBkZWNv
ZGVyLnJlYWRJbnQzMigpOwotICB9OwotCi0gIEVudW0ucHJvdG90eXBlLmVuY29kZSA9IGZ1bmN0
aW9uKGVuY29kZXIsIHZhbCkgewotICAgIGVuY29kZXIud3JpdGVJbnQzMih2YWwpOwotICB9Owot
Ci0gIGZ1bmN0aW9uIFBvaW50ZXJUbyhjbHMpIHsKLSAgICB0aGlzLmNscyA9IGNsczsKLSAgfQot
Ci0gIFBvaW50ZXJUby5wcm90b3R5cGUuZW5jb2RlZFNpemUgPSA4OwotCi0gIFBvaW50ZXJUby5w
cm90b3R5cGUuZGVjb2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHZhciBwb2ludGVyID0g
ZGVjb2Rlci5kZWNvZGVQb2ludGVyKCk7Ci0gICAgaWYgKCFwb2ludGVyKSB7Ci0gICAgICByZXR1
cm4gbnVsbDsKLSAgICB9Ci0gICAgcmV0dXJuIHRoaXMuY2xzLmRlY29kZShkZWNvZGVyLmRlY29k
ZUFuZENyZWF0ZURlY29kZXIocG9pbnRlcikpOwotICB9OwotCi0gIFBvaW50ZXJUby5wcm90b3R5
cGUuZW5jb2RlID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAgaWYgKCF2YWwpIHsKLSAg
ICAgIGVuY29kZXIuZW5jb2RlUG9pbnRlcih2YWwpOwotICAgICAgcmV0dXJuOwotICAgIH0KLSAg
ICB2YXIgb2JqZWN0RW5jb2RlciA9IGVuY29kZXIuY3JlYXRlQW5kRW5jb2RlRW5jb2Rlcih0aGlz
LmNscy5lbmNvZGVkU2l6ZSk7Ci0gICAgdGhpcy5jbHMuZW5jb2RlKG9iamVjdEVuY29kZXIsIHZh
bCk7Ci0gIH07Ci0KLSAgZnVuY3Rpb24gTnVsbGFibGVQb2ludGVyVG8oY2xzKSB7Ci0gICAgUG9p
bnRlclRvLmNhbGwodGhpcywgY2xzKTsKLSAgfQotCi0gIE51bGxhYmxlUG9pbnRlclRvLnByb3Rv
dHlwZSA9IE9iamVjdC5jcmVhdGUoUG9pbnRlclRvLnByb3RvdHlwZSk7Ci0KLSAgZnVuY3Rpb24g
QXJyYXlPZihjbHMsIGxlbmd0aCkgewotICAgIHRoaXMuY2xzID0gY2xzOwotICAgIHRoaXMubGVu
Z3RoID0gbGVuZ3RoIHx8IDA7Ci0gIH0KLQotICBBcnJheU9mLnByb3RvdHlwZS5lbmNvZGVkU2l6
ZSA9IDg7Ci0KLSAgQXJyYXlPZi5wcm90b3R5cGUuZGltZW5zaW9ucyA9IGZ1bmN0aW9uKCkgewot
ICAgIHJldHVybiBbdGhpcy5sZW5ndGhdLmNvbmNhdCgKLSAgICAgICh0aGlzLmNscyBpbnN0YW5j
ZW9mIEFycmF5T2YpID8gdGhpcy5jbHMuZGltZW5zaW9ucygpIDogW10pOwotICB9Ci0KLSAgQXJy
YXlPZi5wcm90b3R5cGUuZGVjb2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHJldHVybiBk
ZWNvZGVyLmRlY29kZUFycmF5UG9pbnRlcih0aGlzLmNscyk7Ci0gIH07Ci0KLSAgQXJyYXlPZi5w
cm90b3R5cGUuZW5jb2RlID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAgZW5jb2Rlci5l
bmNvZGVBcnJheVBvaW50ZXIodGhpcy5jbHMsIHZhbCk7Ci0gIH07Ci0KLSAgZnVuY3Rpb24gTnVs
bGFibGVBcnJheU9mKGNscykgewotICAgIEFycmF5T2YuY2FsbCh0aGlzLCBjbHMpOwotICB9Ci0K
LSAgTnVsbGFibGVBcnJheU9mLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoQXJyYXlPZi5wcm90
b3R5cGUpOwotCi0gIGZ1bmN0aW9uIEhhbmRsZSgpIHsKLSAgfQotCi0gIEhhbmRsZS5lbmNvZGVk
U2l6ZSA9IDQ7Ci0KLSAgSGFuZGxlLmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICBy
ZXR1cm4gZGVjb2Rlci5kZWNvZGVIYW5kbGUoKTsKLSAgfTsKLQotICBIYW5kbGUuZW5jb2RlID0g
ZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAgZW5jb2Rlci5lbmNvZGVIYW5kbGUodmFsKTsK
LSAgfTsKLQotICBmdW5jdGlvbiBOdWxsYWJsZUhhbmRsZSgpIHsKLSAgfQotCi0gIE51bGxhYmxl
SGFuZGxlLmVuY29kZWRTaXplID0gSGFuZGxlLmVuY29kZWRTaXplOwotCi0gIE51bGxhYmxlSGFu
ZGxlLmRlY29kZSA9IEhhbmRsZS5kZWNvZGU7Ci0KLSAgTnVsbGFibGVIYW5kbGUuZW5jb2RlID0g
SGFuZGxlLmVuY29kZTsKLQotICBmdW5jdGlvbiBJbnRlcmZhY2UoY2xzKSB7Ci0gICAgdGhpcy5j
bHMgPSBjbHM7Ci0gIH0KLQotICBJbnRlcmZhY2UucHJvdG90eXBlLmVuY29kZWRTaXplID0gODsK
LQotICBJbnRlcmZhY2UucHJvdG90eXBlLmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAg
ICB2YXIgaW50ZXJmYWNlUHRySW5mbyA9IG5ldyBtb2pvLkludGVyZmFjZVB0ckluZm8oCi0gICAg
ICAgIGRlY29kZXIuZGVjb2RlSGFuZGxlKCksIGRlY29kZXIucmVhZFVpbnQzMigpKTsKLSAgICB2
YXIgaW50ZXJmYWNlUHRyID0gbmV3IHRoaXMuY2xzKCk7Ci0gICAgaW50ZXJmYWNlUHRyLnB0ci5i
aW5kKGludGVyZmFjZVB0ckluZm8pOwotICAgIHJldHVybiBpbnRlcmZhY2VQdHI7Ci0gIH07Ci0K
LSAgSW50ZXJmYWNlLnByb3RvdHlwZS5lbmNvZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2YWwpIHsK
LSAgICB2YXIgaW50ZXJmYWNlUHRySW5mbyA9Ci0gICAgICAgIHZhbCA/IHZhbC5wdHIucGFzc0lu
dGVyZmFjZSgpIDogbmV3IG1vam8uSW50ZXJmYWNlUHRySW5mbyhudWxsLCAwKTsKLSAgICBlbmNv
ZGVyLmVuY29kZUhhbmRsZShpbnRlcmZhY2VQdHJJbmZvLmhhbmRsZSk7Ci0gICAgZW5jb2Rlci53
cml0ZVVpbnQzMihpbnRlcmZhY2VQdHJJbmZvLnZlcnNpb24pOwotICB9OwotCi0gIGZ1bmN0aW9u
IE51bGxhYmxlSW50ZXJmYWNlKGNscykgewotICAgIEludGVyZmFjZS5jYWxsKHRoaXMsIGNscyk7
Ci0gIH0KLQotICBOdWxsYWJsZUludGVyZmFjZS5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKElu
dGVyZmFjZS5wcm90b3R5cGUpOwotCi0gIGZ1bmN0aW9uIEFzc29jaWF0ZWRJbnRlcmZhY2VQdHJJ
bmZvKCkgewotICB9Ci0KLSAgQXNzb2NpYXRlZEludGVyZmFjZVB0ckluZm8ucHJvdG90eXBlLmVu
Y29kZWRTaXplID0gODsKLQotICBBc3NvY2lhdGVkSW50ZXJmYWNlUHRySW5mby5kZWNvZGUgPSBm
dW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgcmV0dXJuIG5ldyBtb2pvLkFzc29jaWF0ZWRJbnRlcmZh
Y2VQdHJJbmZvKAotICAgICAgZGVjb2Rlci5kZWNvZGVBc3NvY2lhdGVkRW5kcG9pbnRIYW5kbGUo
KSwgZGVjb2Rlci5yZWFkVWludDMyKCkpOwotICB9OwotCi0gIEFzc29jaWF0ZWRJbnRlcmZhY2VQ
dHJJbmZvLmVuY29kZSA9IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgIHZhciBhc3NvY2lh
dGVkaW50ZXJmYWNlUHRySW5mbyA9Ci0gICAgICAgIHZhbCA/IHZhbCA6IG5ldyBtb2pvLkFzc29j
aWF0ZWRJbnRlcmZhY2VQdHJJbmZvKG51bGwsIDApOwotICAgIGVuY29kZXIuZW5jb2RlQXNzb2Np
YXRlZEVuZHBvaW50SGFuZGxlKAotICAgICAgICBhc3NvY2lhdGVkaW50ZXJmYWNlUHRySW5mby5p
bnRlcmZhY2VFbmRwb2ludEhhbmRsZSk7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMihhc3NvY2lh
dGVkaW50ZXJmYWNlUHRySW5mby52ZXJzaW9uKTsKLSAgfTsKLQotICBmdW5jdGlvbiBOdWxsYWJs
ZUFzc29jaWF0ZWRJbnRlcmZhY2VQdHJJbmZvKCkgewotICB9Ci0KLSAgTnVsbGFibGVBc3NvY2lh
dGVkSW50ZXJmYWNlUHRySW5mby5lbmNvZGVkU2l6ZSA9Ci0gICAgICBBc3NvY2lhdGVkSW50ZXJm
YWNlUHRySW5mby5lbmNvZGVkU2l6ZTsKLQotICBOdWxsYWJsZUFzc29jaWF0ZWRJbnRlcmZhY2VQ
dHJJbmZvLmRlY29kZSA9Ci0gICAgICBBc3NvY2lhdGVkSW50ZXJmYWNlUHRySW5mby5kZWNvZGU7
Ci0KLSAgTnVsbGFibGVBc3NvY2lhdGVkSW50ZXJmYWNlUHRySW5mby5lbmNvZGUgPQotICAgICAg
QXNzb2NpYXRlZEludGVyZmFjZVB0ckluZm8uZW5jb2RlOwotCi0gIGZ1bmN0aW9uIEludGVyZmFj
ZVJlcXVlc3QoKSB7Ci0gIH0KLQotICBJbnRlcmZhY2VSZXF1ZXN0LmVuY29kZWRTaXplID0gNDsK
LQotICBJbnRlcmZhY2VSZXF1ZXN0LmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICBy
ZXR1cm4gbmV3IG1vam8uSW50ZXJmYWNlUmVxdWVzdChkZWNvZGVyLmRlY29kZUhhbmRsZSgpKTsK
LSAgfTsKLQotICBJbnRlcmZhY2VSZXF1ZXN0LmVuY29kZSA9IGZ1bmN0aW9uKGVuY29kZXIsIHZh
bCkgewotICAgIGVuY29kZXIuZW5jb2RlSGFuZGxlKHZhbCA/IHZhbC5oYW5kbGUgOiBudWxsKTsK
LSAgfTsKLQotICBmdW5jdGlvbiBOdWxsYWJsZUludGVyZmFjZVJlcXVlc3QoKSB7Ci0gIH0KLQot
ICBOdWxsYWJsZUludGVyZmFjZVJlcXVlc3QuZW5jb2RlZFNpemUgPSBJbnRlcmZhY2VSZXF1ZXN0
LmVuY29kZWRTaXplOwotCi0gIE51bGxhYmxlSW50ZXJmYWNlUmVxdWVzdC5kZWNvZGUgPSBJbnRl
cmZhY2VSZXF1ZXN0LmRlY29kZTsKLQotICBOdWxsYWJsZUludGVyZmFjZVJlcXVlc3QuZW5jb2Rl
ID0gSW50ZXJmYWNlUmVxdWVzdC5lbmNvZGU7Ci0KLSAgZnVuY3Rpb24gQXNzb2NpYXRlZEludGVy
ZmFjZVJlcXVlc3QoKSB7Ci0gIH0KLQotICBBc3NvY2lhdGVkSW50ZXJmYWNlUmVxdWVzdC5kZWNv
ZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgdmFyIGhhbmRsZSA9IGRlY29kZXIuZGVjb2Rl
QXNzb2NpYXRlZEVuZHBvaW50SGFuZGxlKCk7Ci0gICAgcmV0dXJuIG5ldyBtb2pvLkFzc29jaWF0
ZWRJbnRlcmZhY2VSZXF1ZXN0KGhhbmRsZSk7Ci0gIH07Ci0KLSAgQXNzb2NpYXRlZEludGVyZmFj
ZVJlcXVlc3QuZW5jb2RlID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAgZW5jb2Rlci5l
bmNvZGVBc3NvY2lhdGVkRW5kcG9pbnRIYW5kbGUoCi0gICAgICAgIHZhbCA/IHZhbC5pbnRlcmZh
Y2VFbmRwb2ludEhhbmRsZSA6IG51bGwpOwotICB9OwotCi0gIEFzc29jaWF0ZWRJbnRlcmZhY2VS
ZXF1ZXN0LmVuY29kZWRTaXplID0gNDsKLQotICBmdW5jdGlvbiBOdWxsYWJsZUFzc29jaWF0ZWRJ
bnRlcmZhY2VSZXF1ZXN0KCkgewotICB9Ci0KLSAgTnVsbGFibGVBc3NvY2lhdGVkSW50ZXJmYWNl
UmVxdWVzdC5lbmNvZGVkU2l6ZSA9Ci0gICAgICBBc3NvY2lhdGVkSW50ZXJmYWNlUmVxdWVzdC5l
bmNvZGVkU2l6ZTsKLQotICBOdWxsYWJsZUFzc29jaWF0ZWRJbnRlcmZhY2VSZXF1ZXN0LmRlY29k
ZSA9Ci0gICAgICBBc3NvY2lhdGVkSW50ZXJmYWNlUmVxdWVzdC5kZWNvZGU7Ci0KLSAgTnVsbGFi
bGVBc3NvY2lhdGVkSW50ZXJmYWNlUmVxdWVzdC5lbmNvZGUgPQotICAgICAgQXNzb2NpYXRlZElu
dGVyZmFjZVJlcXVlc3QuZW5jb2RlOwotCi0gIGZ1bmN0aW9uIE1hcE9mKGtleUNsYXNzLCB2YWx1
ZUNsYXNzKSB7Ci0gICAgdGhpcy5rZXlDbGFzcyA9IGtleUNsYXNzOwotICAgIHRoaXMudmFsdWVD
bGFzcyA9IHZhbHVlQ2xhc3M7Ci0gIH0KLQotICBNYXBPZi5wcm90b3R5cGUuZW5jb2RlZFNpemUg
PSA4OwotCi0gIE1hcE9mLnByb3RvdHlwZS5kZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0g
ICAgcmV0dXJuIGRlY29kZXIuZGVjb2RlTWFwUG9pbnRlcih0aGlzLmtleUNsYXNzLCB0aGlzLnZh
bHVlQ2xhc3MpOwotICB9OwotCi0gIE1hcE9mLnByb3RvdHlwZS5lbmNvZGUgPSBmdW5jdGlvbihl
bmNvZGVyLCB2YWwpIHsKLSAgICBlbmNvZGVyLmVuY29kZU1hcFBvaW50ZXIodGhpcy5rZXlDbGFz
cywgdGhpcy52YWx1ZUNsYXNzLCB2YWwpOwotICB9OwotCi0gIGZ1bmN0aW9uIE51bGxhYmxlTWFw
T2Yoa2V5Q2xhc3MsIHZhbHVlQ2xhc3MpIHsKLSAgICBNYXBPZi5jYWxsKHRoaXMsIGtleUNsYXNz
LCB2YWx1ZUNsYXNzKTsKLSAgfQotCi0gIE51bGxhYmxlTWFwT2YucHJvdG90eXBlID0gT2JqZWN0
LmNyZWF0ZShNYXBPZi5wcm90b3R5cGUpOwotCi0gIGludGVybmFsLmFsaWduID0gYWxpZ247Ci0g
IGludGVybmFsLmlzQWxpZ25lZCA9IGlzQWxpZ25lZDsKLSAgaW50ZXJuYWwuTWVzc2FnZSA9IE1l
c3NhZ2U7Ci0gIGludGVybmFsLk1lc3NhZ2VWMEJ1aWxkZXIgPSBNZXNzYWdlVjBCdWlsZGVyOwot
ICBpbnRlcm5hbC5NZXNzYWdlVjFCdWlsZGVyID0gTWVzc2FnZVYxQnVpbGRlcjsKLSAgaW50ZXJu
YWwuTWVzc2FnZVYyQnVpbGRlciA9IE1lc3NhZ2VWMkJ1aWxkZXI7Ci0gIGludGVybmFsLk1lc3Nh
Z2VSZWFkZXIgPSBNZXNzYWdlUmVhZGVyOwotICBpbnRlcm5hbC5rQXJyYXlIZWFkZXJTaXplID0g
a0FycmF5SGVhZGVyU2l6ZTsKLSAgaW50ZXJuYWwua01hcFN0cnVjdFBheWxvYWRTaXplID0ga01h
cFN0cnVjdFBheWxvYWRTaXplOwotICBpbnRlcm5hbC5rU3RydWN0SGVhZGVyU2l6ZSA9IGtTdHJ1
Y3RIZWFkZXJTaXplOwotICBpbnRlcm5hbC5rRW5jb2RlZEludmFsaWRIYW5kbGVWYWx1ZSA9IGtF
bmNvZGVkSW52YWxpZEhhbmRsZVZhbHVlOwotICBpbnRlcm5hbC5rTWVzc2FnZVYwSGVhZGVyU2l6
ZSA9IGtNZXNzYWdlVjBIZWFkZXJTaXplOwotICBpbnRlcm5hbC5rTWVzc2FnZVYxSGVhZGVyU2l6
ZSA9IGtNZXNzYWdlVjFIZWFkZXJTaXplOwotICBpbnRlcm5hbC5rTWVzc2FnZVYySGVhZGVyU2l6
ZSA9IGtNZXNzYWdlVjJIZWFkZXJTaXplOwotICBpbnRlcm5hbC5rTWVzc2FnZVBheWxvYWRJbnRl
cmZhY2VJZHNQb2ludGVyT2Zmc2V0ID0KLSAgICAgIGtNZXNzYWdlUGF5bG9hZEludGVyZmFjZUlk
c1BvaW50ZXJPZmZzZXQ7Ci0gIGludGVybmFsLmtNZXNzYWdlRXhwZWN0c1Jlc3BvbnNlID0ga01l
c3NhZ2VFeHBlY3RzUmVzcG9uc2U7Ci0gIGludGVybmFsLmtNZXNzYWdlSXNSZXNwb25zZSA9IGtN
ZXNzYWdlSXNSZXNwb25zZTsKLSAgaW50ZXJuYWwuSW50OCA9IEludDg7Ci0gIGludGVybmFsLlVp
bnQ4ID0gVWludDg7Ci0gIGludGVybmFsLkludDE2ID0gSW50MTY7Ci0gIGludGVybmFsLlVpbnQx
NiA9IFVpbnQxNjsKLSAgaW50ZXJuYWwuSW50MzIgPSBJbnQzMjsKLSAgaW50ZXJuYWwuVWludDMy
ID0gVWludDMyOwotICBpbnRlcm5hbC5JbnQ2NCA9IEludDY0OwotICBpbnRlcm5hbC5VaW50NjQg
PSBVaW50NjQ7Ci0gIGludGVybmFsLkZsb2F0ID0gRmxvYXQ7Ci0gIGludGVybmFsLkRvdWJsZSA9
IERvdWJsZTsKLSAgaW50ZXJuYWwuU3RyaW5nID0gU3RyaW5nOwotICBpbnRlcm5hbC5FbnVtID0g
RW51bTsKLSAgaW50ZXJuYWwuTnVsbGFibGVTdHJpbmcgPSBOdWxsYWJsZVN0cmluZzsKLSAgaW50
ZXJuYWwuUG9pbnRlclRvID0gUG9pbnRlclRvOwotICBpbnRlcm5hbC5OdWxsYWJsZVBvaW50ZXJU
byA9IE51bGxhYmxlUG9pbnRlclRvOwotICBpbnRlcm5hbC5BcnJheU9mID0gQXJyYXlPZjsKLSAg
aW50ZXJuYWwuTnVsbGFibGVBcnJheU9mID0gTnVsbGFibGVBcnJheU9mOwotICBpbnRlcm5hbC5Q
YWNrZWRCb29sID0gUGFja2VkQm9vbDsKLSAgaW50ZXJuYWwuSGFuZGxlID0gSGFuZGxlOwotICBp
bnRlcm5hbC5OdWxsYWJsZUhhbmRsZSA9IE51bGxhYmxlSGFuZGxlOwotICBpbnRlcm5hbC5JbnRl
cmZhY2UgPSBJbnRlcmZhY2U7Ci0gIGludGVybmFsLk51bGxhYmxlSW50ZXJmYWNlID0gTnVsbGFi
bGVJbnRlcmZhY2U7Ci0gIGludGVybmFsLkludGVyZmFjZVJlcXVlc3QgPSBJbnRlcmZhY2VSZXF1
ZXN0OwotICBpbnRlcm5hbC5OdWxsYWJsZUludGVyZmFjZVJlcXVlc3QgPSBOdWxsYWJsZUludGVy
ZmFjZVJlcXVlc3Q7Ci0gIGludGVybmFsLkFzc29jaWF0ZWRJbnRlcmZhY2VQdHJJbmZvID0gQXNz
b2NpYXRlZEludGVyZmFjZVB0ckluZm87Ci0gIGludGVybmFsLk51bGxhYmxlQXNzb2NpYXRlZElu
dGVyZmFjZVB0ckluZm8gPQotICAgICAgTnVsbGFibGVBc3NvY2lhdGVkSW50ZXJmYWNlUHRySW5m
bzsKLSAgaW50ZXJuYWwuQXNzb2NpYXRlZEludGVyZmFjZVJlcXVlc3QgPSBBc3NvY2lhdGVkSW50
ZXJmYWNlUmVxdWVzdDsKLSAgaW50ZXJuYWwuTnVsbGFibGVBc3NvY2lhdGVkSW50ZXJmYWNlUmVx
dWVzdCA9Ci0gICAgICBOdWxsYWJsZUFzc29jaWF0ZWRJbnRlcmZhY2VSZXF1ZXN0OwotICBpbnRl
cm5hbC5NYXBPZiA9IE1hcE9mOwotICBpbnRlcm5hbC5OdWxsYWJsZU1hcE9mID0gTnVsbGFibGVN
YXBPZjsKLX0pKCk7Ci0vLyBDb3B5cmlnaHQgMjAxNCBUaGUgQ2hyb21pdW0gQXV0aG9ycy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KLS8vIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVk
IGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKLS8vIGZvdW5kIGluIHRoZSBMSUNF
TlNFIGZpbGUuCi0KLShmdW5jdGlvbigpIHsKLSAgdmFyIGludGVybmFsID0gbW9qby5pbnRlcm5h
bDsKLQotICBmdW5jdGlvbiBDb25uZWN0b3IoaGFuZGxlKSB7Ci0gICAgaWYgKCEoaGFuZGxlIGlu
c3RhbmNlb2YgTW9qb0hhbmRsZSkpCi0gICAgICB0aHJvdyBuZXcgRXJyb3IoIkNvbm5lY3Rvcjog
bm90IGEgaGFuZGxlICIgKyBoYW5kbGUpOwotICAgIHRoaXMuaGFuZGxlXyA9IGhhbmRsZTsKLSAg
ICB0aGlzLmRyb3BXcml0ZXNfID0gZmFsc2U7Ci0gICAgdGhpcy5lcnJvcl8gPSBmYWxzZTsKLSAg
ICB0aGlzLmluY29taW5nUmVjZWl2ZXJfID0gbnVsbDsKLSAgICB0aGlzLnJlYWRXYXRjaGVyXyA9
IG51bGw7Ci0gICAgdGhpcy5lcnJvckhhbmRsZXJfID0gbnVsbDsKLSAgICB0aGlzLnBhdXNlZF8g
PSBmYWxzZTsKLQotICAgIHRoaXMud2FpdFRvUmVhZE1vcmUoKTsKLSAgfQotCi0gIENvbm5lY3Rv
ci5wcm90b3R5cGUuY2xvc2UgPSBmdW5jdGlvbigpIHsKLSAgICB0aGlzLmNhbmNlbFdhaXQoKTsK
LSAgICBpZiAodGhpcy5oYW5kbGVfICE9IG51bGwpIHsKLSAgICAgIHRoaXMuaGFuZGxlXy5jbG9z
ZSgpOwotICAgICAgdGhpcy5oYW5kbGVfID0gbnVsbDsKLSAgICB9Ci0gIH07Ci0KLSAgQ29ubmVj
dG9yLnByb3RvdHlwZS5wYXVzZUluY29taW5nTWV0aG9kQ2FsbFByb2Nlc3NpbmcgPSBmdW5jdGlv
bigpIHsKLSAgICBpZiAodGhpcy5wYXVzZWRfKSB7Ci0gICAgICByZXR1cm47Ci0gICAgfQotICAg
IHRoaXMucGF1c2VkXz0gdHJ1ZTsKLSAgICB0aGlzLmNhbmNlbFdhaXQoKTsKLSAgfTsKLQotICBD
b25uZWN0b3IucHJvdG90eXBlLnJlc3VtZUluY29taW5nTWV0aG9kQ2FsbFByb2Nlc3NpbmcgPSBm
dW5jdGlvbigpIHsKLSAgICBpZiAoIXRoaXMucGF1c2VkXykgewotICAgICAgcmV0dXJuOwotICAg
IH0KLSAgICB0aGlzLnBhdXNlZF89IGZhbHNlOwotICAgIHRoaXMud2FpdFRvUmVhZE1vcmUoKTsK
LSAgfTsKLQotICBDb25uZWN0b3IucHJvdG90eXBlLmFjY2VwdCA9IGZ1bmN0aW9uKG1lc3NhZ2Up
IHsKLSAgICBpZiAodGhpcy5lcnJvcl8pCi0gICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICBpZiAo
dGhpcy5kcm9wV3JpdGVzXykKLSAgICAgIHJldHVybiB0cnVlOwotCi0gICAgdmFyIHJlc3VsdCA9
IHRoaXMuaGFuZGxlXy53cml0ZU1lc3NhZ2UoCi0gICAgICAgIG5ldyBVaW50OEFycmF5KG1lc3Nh
Z2UuYnVmZmVyLmFycmF5QnVmZmVyKSwgbWVzc2FnZS5oYW5kbGVzKTsKLSAgICBzd2l0Y2ggKHJl
c3VsdCkgewotICAgICAgY2FzZSBNb2pvLlJFU1VMVF9PSzoKLSAgICAgICAgLy8gVGhlIGhhbmRs
ZXMgd2VyZSBzdWNjZXNzZnVsbHkgdHJhbnNmZXJyZWQsIHNvIHdlIGRvbid0IG93biB0aGVtCi0g
ICAgICAgIC8vIGFueW1vcmUuCi0gICAgICAgIG1lc3NhZ2UuaGFuZGxlcyA9IFtdOwotICAgICAg
ICBicmVhazsKLSAgICAgIGNhc2UgTW9qby5SRVNVTFRfRkFJTEVEX1BSRUNPTkRJVElPTjoKLSAg
ICAgICAgLy8gVGhlcmUncyBubyBwb2ludCBpbiBjb250aW51aW5nIHRvIHdyaXRlIHRvIHRoaXMg
cGlwZSBzaW5jZSB0aGUgb3RoZXIKLSAgICAgICAgLy8gZW5kIGlzIGdvbmUuIEF2b2lkIHdyaXRp
bmcgYW55IGZ1dHVyZSBtZXNzYWdlcy4gSGlkZSB3cml0ZSBmYWlsdXJlcwotICAgICAgICAvLyBm
cm9tIHRoZSBjYWxsZXIgc2luY2Ugd2UnZCBsaWtlIHRoZW0gdG8gY29udGludWUgY29uc3VtaW5n
IGFueQotICAgICAgICAvLyBiYWNrbG9nIG9mIGluY29taW5nIG1lc3NhZ2VzIGJlZm9yZSByZWdh
cmRpbmcgdGhlIG1lc3NhZ2UgcGlwZSBhcwotICAgICAgICAvLyBjbG9zZWQuCi0gICAgICAgIHRo
aXMuZHJvcFdyaXRlc18gPSB0cnVlOwotICAgICAgICBicmVhazsKLSAgICAgIGRlZmF1bHQ6Ci0g
ICAgICAgIC8vIFRoaXMgcGFydGljdWxhciB3cml0ZSB3YXMgcmVqZWN0ZWQsIHByZXN1bWFibHkg
YmVjYXVzZSBvZiBiYWQgaW5wdXQuCi0gICAgICAgIC8vIFRoZSBwaXBlIGlzIG5vdCBuZWNlc3Nh
cmlseSBpbiBhIGJhZCBzdGF0ZS4KLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0KLSAgICBy
ZXR1cm4gdHJ1ZTsKLSAgfTsKLQotICBDb25uZWN0b3IucHJvdG90eXBlLnNldEluY29taW5nUmVj
ZWl2ZXIgPSBmdW5jdGlvbihyZWNlaXZlcikgewotICAgIHRoaXMuaW5jb21pbmdSZWNlaXZlcl8g
PSByZWNlaXZlcjsKLSAgfTsKLQotICBDb25uZWN0b3IucHJvdG90eXBlLnNldEVycm9ySGFuZGxl
ciA9IGZ1bmN0aW9uKGhhbmRsZXIpIHsKLSAgICB0aGlzLmVycm9ySGFuZGxlcl8gPSBoYW5kbGVy
OwotICB9OwotCi0gIENvbm5lY3Rvci5wcm90b3R5cGUucmVhZE1vcmVfID0gZnVuY3Rpb24ocmVz
dWx0KSB7Ci0gICAgZm9yICg7OykgewotICAgICAgaWYgKHRoaXMucGF1c2VkXykgewotICAgICAg
ICByZXR1cm47Ci0gICAgICB9Ci0KLSAgICAgIHZhciByZWFkID0gdGhpcy5oYW5kbGVfLnJlYWRN
ZXNzYWdlKCk7Ci0gICAgICBpZiAodGhpcy5oYW5kbGVfID09IG51bGwpIC8vIFRoZSBjb25uZWN0
b3IgaGFzIGJlZW4gY2xvc2VkLgotICAgICAgICByZXR1cm47Ci0gICAgICBpZiAocmVhZC5yZXN1
bHQgPT0gTW9qby5SRVNVTFRfU0hPVUxEX1dBSVQpCi0gICAgICAgIHJldHVybjsKLSAgICAgIGlm
IChyZWFkLnJlc3VsdCAhPSBNb2pvLlJFU1VMVF9PSykgewotICAgICAgICB0aGlzLmhhbmRsZUVy
cm9yKHJlYWQucmVzdWx0ICE9PSBNb2pvLlJFU1VMVF9GQUlMRURfUFJFQ09ORElUSU9OLAotICAg
ICAgICAgICAgZmFsc2UpOwotICAgICAgICByZXR1cm47Ci0gICAgICB9Ci0gICAgICB2YXIgbWVz
c2FnZUJ1ZmZlciA9IG5ldyBpbnRlcm5hbC5CdWZmZXIocmVhZC5idWZmZXIpOwotICAgICAgdmFy
IG1lc3NhZ2UgPSBuZXcgaW50ZXJuYWwuTWVzc2FnZShtZXNzYWdlQnVmZmVyLCByZWFkLmhhbmRs
ZXMpOwotICAgICAgdmFyIHJlY2VpdmVyUmVzdWx0ID0gdGhpcy5pbmNvbWluZ1JlY2VpdmVyXyAm
JgotICAgICAgICAgIHRoaXMuaW5jb21pbmdSZWNlaXZlcl8uYWNjZXB0KG1lc3NhZ2UpOwotCi0g
ICAgICAvLyBIYW5kbGUgaW52YWxpZCBpbmNvbWluZyBtZXNzYWdlLgotICAgICAgaWYgKCFpbnRl
cm5hbC5pc1Rlc3RpbmdNb2RlKCkgJiYgIXJlY2VpdmVyUmVzdWx0KSB7Ci0gICAgICAgIC8vIFRP
RE8oeXpzaGVuKTogQ29uc2lkZXIgbm90aWZ5aW5nIHRoZSBlbWJlZGRlci4KLSAgICAgICAgdGhp
cy5oYW5kbGVFcnJvcih0cnVlLCBmYWxzZSk7Ci0gICAgICB9Ci0gICAgfQotICB9OwotCi0gIENv
bm5lY3Rvci5wcm90b3R5cGUuY2FuY2VsV2FpdCA9IGZ1bmN0aW9uKCkgewotICAgIGlmICh0aGlz
LnJlYWRXYXRjaGVyXykgewotICAgICAgdGhpcy5yZWFkV2F0Y2hlcl8uY2FuY2VsKCk7Ci0gICAg
ICB0aGlzLnJlYWRXYXRjaGVyXyA9IG51bGw7Ci0gICAgfQotICB9OwotCi0gIENvbm5lY3Rvci5w
cm90b3R5cGUud2FpdFRvUmVhZE1vcmUgPSBmdW5jdGlvbigpIHsKLSAgICBpZiAodGhpcy5oYW5k
bGVfKSB7Ci0gICAgICB0aGlzLnJlYWRXYXRjaGVyXyA9IHRoaXMuaGFuZGxlXy53YXRjaCh7cmVh
ZGFibGU6IHRydWV9LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdGhpcy5yZWFkTW9yZV8uYmluZCh0aGlzKSk7Ci0gICAgfQotICB9OwotCi0gIENvbm5lY3Rv
ci5wcm90b3R5cGUuaGFuZGxlRXJyb3IgPSBmdW5jdGlvbihmb3JjZVBpcGVSZXNldCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcmNlQXN5bmNIYW5kbGVy
KSB7Ci0gICAgaWYgKHRoaXMuZXJyb3JfIHx8IHRoaXMuaGFuZGxlXyA9PT0gbnVsbCkgewotICAg
ICAgcmV0dXJuOwotICAgIH0KLQotICAgIGlmICh0aGlzLnBhdXNlZF8pIHsKLSAgICAgIC8vIEVu
Zm9yY2UgY2FsbGluZyB0aGUgZXJyb3IgaGFuZGxlciBhc3luY2hyb25vdXNseSBpZiB0aGUgdXNl
ciBoYXMKLSAgICAgIC8vIHBhdXNlZCByZWNlaXZpbmcgbWVzc2FnZXMuIFdlIG5lZWQgdG8gd2Fp
dCB1bnRpbCB0aGUgdXNlciBzdGFydHMKLSAgICAgIC8vIHJlY2VpdmluZyBtZXNzYWdlcyBhZ2Fp
bi4KLSAgICAgIGZvcmNlQXN5bmNIYW5kbGVyID0gdHJ1ZTsKLSAgICB9Ci0KLSAgICBpZiAoIWZv
cmNlUGlwZVJlc2V0ICYmIGZvcmNlQXN5bmNIYW5kbGVyKSB7Ci0gICAgICBmb3JjZVBpcGVSZXNl
dCA9IHRydWU7Ci0gICAgfQotCi0gICAgdGhpcy5jYW5jZWxXYWl0KCk7Ci0gICAgaWYgKGZvcmNl
UGlwZVJlc2V0KSB7Ci0gICAgICB0aGlzLmhhbmRsZV8uY2xvc2UoKTsKLSAgICAgIHZhciBkdW1t
eVBpcGUgPSBNb2pvLmNyZWF0ZU1lc3NhZ2VQaXBlKCk7Ci0gICAgICB0aGlzLmhhbmRsZV8gPSBk
dW1teVBpcGUuaGFuZGxlMDsKLSAgICB9Ci0KLSAgICBpZiAoZm9yY2VBc3luY0hhbmRsZXIpIHsK
LSAgICAgIGlmICghdGhpcy5wYXVzZWRfKSB7Ci0gICAgICAgIHRoaXMud2FpdFRvUmVhZE1vcmUo
KTsKLSAgICAgIH0KLSAgICB9IGVsc2UgewotICAgICAgdGhpcy5lcnJvcl8gPSB0cnVlOwotICAg
ICAgaWYgKHRoaXMuZXJyb3JIYW5kbGVyXykgewotICAgICAgICB0aGlzLmVycm9ySGFuZGxlcl8u
b25FcnJvcigpOwotICAgICAgfQotICAgIH0KLSAgfTsKLQotICBpbnRlcm5hbC5Db25uZWN0b3Ig
PSBDb25uZWN0b3I7Ci19KSgpOwotLy8gQ29weXJpZ2h0IDIwMTYgVGhlIENocm9taXVtIEF1dGhv
cnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0vLyBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBn
b3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCi0vLyBmb3VuZCBpbiB0
aGUgTElDRU5TRSBmaWxlLgotCi0oZnVuY3Rpb24oKSB7Ci0gIHZhciBpbnRlcm5hbCA9IG1vam8u
aW50ZXJuYWw7Ci0KLSAgLy8gQ29uc3RhbnRzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSAgdmFyIGtJbnRlcmZhY2VJZE5h
bWVzcGFjZU1hc2sgPSAweDgwMDAwMDAwOwotICB2YXIga01hc3RlckludGVyZmFjZUlkID0gMHgw
MDAwMDAwMDsKLSAgdmFyIGtJbnZhbGlkSW50ZXJmYWNlSWQgPSAweEZGRkZGRkZGOwotCi0gIC8v
IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLQotCi0gIGZ1bmN0aW9uIEludGVyZmFjZVB0ckluZm8oaGFuZGxl
LCB2ZXJzaW9uKSB7Ci0gICAgdGhpcy5oYW5kbGUgPSBoYW5kbGU7Ci0gICAgdGhpcy52ZXJzaW9u
ID0gdmVyc2lvbjsKLSAgfQotCi0gIEludGVyZmFjZVB0ckluZm8ucHJvdG90eXBlLmlzVmFsaWQg
PSBmdW5jdGlvbigpIHsKLSAgICByZXR1cm4gdGhpcy5oYW5kbGUgaW5zdGFuY2VvZiBNb2pvSGFu
ZGxlOwotICB9OwotCi0gIEludGVyZmFjZVB0ckluZm8ucHJvdG90eXBlLmNsb3NlID0gZnVuY3Rp
b24oKSB7Ci0gICAgaWYgKCF0aGlzLmlzVmFsaWQoKSkKLSAgICAgIHJldHVybjsKLQotICAgIHRo
aXMuaGFuZGxlLmNsb3NlKCk7Ci0gICAgdGhpcy5oYW5kbGUgPSBudWxsOwotICAgIHRoaXMudmVy
c2lvbiA9IDA7Ci0gIH07Ci0KLSAgZnVuY3Rpb24gQXNzb2NpYXRlZEludGVyZmFjZVB0ckluZm8o
aW50ZXJmYWNlRW5kcG9pbnRIYW5kbGUsIHZlcnNpb24pIHsKLSAgICB0aGlzLmludGVyZmFjZUVu
ZHBvaW50SGFuZGxlID0gaW50ZXJmYWNlRW5kcG9pbnRIYW5kbGU7Ci0gICAgdGhpcy52ZXJzaW9u
ID0gdmVyc2lvbjsKLSAgfQotCi0gIEFzc29jaWF0ZWRJbnRlcmZhY2VQdHJJbmZvLnByb3RvdHlw
ZS5pc1ZhbGlkID0gZnVuY3Rpb24oKSB7Ci0gICAgcmV0dXJuIHRoaXMuaW50ZXJmYWNlRW5kcG9p
bnRIYW5kbGUuaXNWYWxpZCgpOwotICB9OwotCi0gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotCi0g
IGZ1bmN0aW9uIEludGVyZmFjZVJlcXVlc3QoaGFuZGxlKSB7Ci0gICAgdGhpcy5oYW5kbGUgPSBo
YW5kbGU7Ci0gIH0KLQotICBJbnRlcmZhY2VSZXF1ZXN0LnByb3RvdHlwZS5pc1ZhbGlkID0gZnVu
Y3Rpb24oKSB7Ci0gICAgcmV0dXJuIHRoaXMuaGFuZGxlIGluc3RhbmNlb2YgTW9qb0hhbmRsZTsK
LSAgfTsKLQotICBJbnRlcmZhY2VSZXF1ZXN0LnByb3RvdHlwZS5jbG9zZSA9IGZ1bmN0aW9uKCkg
ewotICAgIGlmICghdGhpcy5pc1ZhbGlkKCkpCi0gICAgICByZXR1cm47Ci0KLSAgICB0aGlzLmhh
bmRsZS5jbG9zZSgpOwotICAgIHRoaXMuaGFuZGxlID0gbnVsbDsKLSAgfTsKLQotICBmdW5jdGlv
biBBc3NvY2lhdGVkSW50ZXJmYWNlUmVxdWVzdChpbnRlcmZhY2VFbmRwb2ludEhhbmRsZSkgewot
ICAgIHRoaXMuaW50ZXJmYWNlRW5kcG9pbnRIYW5kbGUgPSBpbnRlcmZhY2VFbmRwb2ludEhhbmRs
ZTsKLSAgfQotCi0gIEFzc29jaWF0ZWRJbnRlcmZhY2VSZXF1ZXN0LnByb3RvdHlwZS5pc1ZhbGlk
ID0gZnVuY3Rpb24oKSB7Ci0gICAgcmV0dXJuIHRoaXMuaW50ZXJmYWNlRW5kcG9pbnRIYW5kbGUu
aXNWYWxpZCgpOwotICB9OwotCi0gIEFzc29jaWF0ZWRJbnRlcmZhY2VSZXF1ZXN0LnByb3RvdHlw
ZS5yZXNldFdpdGhSZWFzb24gPSBmdW5jdGlvbihyZWFzb24pIHsKLSAgICB0aGlzLmludGVyZmFj
ZUVuZHBvaW50SGFuZGxlLnJlc2V0KHJlYXNvbik7Ci0gIH07Ci0KLSAgZnVuY3Rpb24gaXNNYXN0
ZXJJbnRlcmZhY2VJZChpbnRlcmZhY2VJZCkgewotICAgIHJldHVybiBpbnRlcmZhY2VJZCA9PT0g
a01hc3RlckludGVyZmFjZUlkOwotICB9Ci0KLSAgZnVuY3Rpb24gaXNWYWxpZEludGVyZmFjZUlk
KGludGVyZmFjZUlkKSB7Ci0gICAgcmV0dXJuIGludGVyZmFjZUlkICE9PSBrSW52YWxpZEludGVy
ZmFjZUlkOwotICB9Ci0KLSAgbW9qby5JbnRlcmZhY2VQdHJJbmZvID0gSW50ZXJmYWNlUHRySW5m
bzsKLSAgbW9qby5JbnRlcmZhY2VSZXF1ZXN0ID0gSW50ZXJmYWNlUmVxdWVzdDsKLSAgbW9qby5B
c3NvY2lhdGVkSW50ZXJmYWNlUHRySW5mbyA9IEFzc29jaWF0ZWRJbnRlcmZhY2VQdHJJbmZvOwot
ICBtb2pvLkFzc29jaWF0ZWRJbnRlcmZhY2VSZXF1ZXN0ID0gQXNzb2NpYXRlZEludGVyZmFjZVJl
cXVlc3Q7Ci0gIGludGVybmFsLmlzTWFzdGVySW50ZXJmYWNlSWQgPSBpc01hc3RlckludGVyZmFj
ZUlkOwotICBpbnRlcm5hbC5pc1ZhbGlkSW50ZXJmYWNlSWQgPSBpc1ZhbGlkSW50ZXJmYWNlSWQ7
Ci0gIGludGVybmFsLmtJbnZhbGlkSW50ZXJmYWNlSWQgPSBrSW52YWxpZEludGVyZmFjZUlkOwot
ICBpbnRlcm5hbC5rTWFzdGVySW50ZXJmYWNlSWQgPSBrTWFzdGVySW50ZXJmYWNlSWQ7Ci0gIGlu
dGVybmFsLmtJbnRlcmZhY2VJZE5hbWVzcGFjZU1hc2sgPSBrSW50ZXJmYWNlSWROYW1lc3BhY2VN
YXNrOwotfSkoKTsKLS8vIENvcHlyaWdodCAyMDE3IFRoZSBDaHJvbWl1bSBBdXRob3JzLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgotLy8gVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQg
YnkgYSBCU0Qtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQotLy8gZm91bmQgaW4gdGhlIExJQ0VO
U0UgZmlsZS4KLQotKGZ1bmN0aW9uKCkgewotICB2YXIgaW50ZXJuYWwgPSBtb2pvLmludGVybmFs
OwotCi0gIGZ1bmN0aW9uIHZhbGlkYXRlQ29udHJvbFJlcXVlc3RXaXRoUmVzcG9uc2UobWVzc2Fn
ZSkgewotICAgIHZhciBtZXNzYWdlVmFsaWRhdG9yID0gbmV3IGludGVybmFsLlZhbGlkYXRvciht
ZXNzYWdlKTsKLSAgICB2YXIgZXJyb3IgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlTWVzc2Fn
ZUlzUmVxdWVzdEV4cGVjdGluZ1Jlc3BvbnNlKCk7Ci0gICAgaWYgKGVycm9yICE9PSBpbnRlcm5h
bC52YWxpZGF0aW9uRXJyb3IuTk9ORSkgewotICAgICAgdGhyb3cgZXJyb3I7Ci0gICAgfQotCi0g
ICAgaWYgKG1lc3NhZ2UuZ2V0TmFtZSgpICE9IG1vam8uaW50ZXJmYWNlQ29udHJvbDIua1J1bk1l
c3NhZ2VJZCkgewotICAgICAgdGhyb3cgbmV3IEVycm9yKCJDb250cm9sIG1lc3NhZ2UgbmFtZSBp
cyBub3Qga1J1bk1lc3NhZ2VJZCIpOwotICAgIH0KLQotICAgIC8vIFZhbGlkYXRlIHBheWxvYWQu
Ci0gICAgZXJyb3IgPSBtb2pvLmludGVyZmFjZUNvbnRyb2wyLlJ1bk1lc3NhZ2VQYXJhbXMudmFs
aWRhdGUobWVzc2FnZVZhbGlkYXRvciwKLSAgICAgICAgbWVzc2FnZS5nZXRIZWFkZXJOdW1CeXRl
cygpKTsKLSAgICBpZiAoZXJyb3IgIT0gaW50ZXJuYWwudmFsaWRhdGlvbkVycm9yLk5PTkUpIHsK
LSAgICAgIHRocm93IGVycm9yOwotICAgIH0KLSAgfQotCi0gIGZ1bmN0aW9uIHZhbGlkYXRlQ29u
dHJvbFJlcXVlc3RXaXRob3V0UmVzcG9uc2UobWVzc2FnZSkgewotICAgIHZhciBtZXNzYWdlVmFs
aWRhdG9yID0gbmV3IGludGVybmFsLlZhbGlkYXRvcihtZXNzYWdlKTsKLSAgICB2YXIgZXJyb3Ig
PSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlTWVzc2FnZUlzUmVxdWVzdFdpdGhvdXRSZXNwb25z
ZSgpOwotICAgIGlmIChlcnJvciAhPSBpbnRlcm5hbC52YWxpZGF0aW9uRXJyb3IuTk9ORSkgewot
ICAgICAgdGhyb3cgZXJyb3I7Ci0gICAgfQotCi0gICAgaWYgKG1lc3NhZ2UuZ2V0TmFtZSgpICE9
IG1vam8uaW50ZXJmYWNlQ29udHJvbDIua1J1bk9yQ2xvc2VQaXBlTWVzc2FnZUlkKSB7Ci0gICAg
ICB0aHJvdyBuZXcgRXJyb3IoIkNvbnRyb2wgbWVzc2FnZSBuYW1lIGlzIG5vdCBrUnVuT3JDbG9z
ZVBpcGVNZXNzYWdlSWQiKTsKLSAgICB9Ci0KLSAgICAvLyBWYWxpZGF0ZSBwYXlsb2FkLgotICAg
IGVycm9yID0gbW9qby5pbnRlcmZhY2VDb250cm9sMi5SdW5PckNsb3NlUGlwZU1lc3NhZ2VQYXJh
bXMudmFsaWRhdGUoCi0gICAgICAgIG1lc3NhZ2VWYWxpZGF0b3IsIG1lc3NhZ2UuZ2V0SGVhZGVy
TnVtQnl0ZXMoKSk7Ci0gICAgaWYgKGVycm9yICE9IGludGVybmFsLnZhbGlkYXRpb25FcnJvci5O
T05FKSB7Ci0gICAgICB0aHJvdyBlcnJvcjsKLSAgICB9Ci0gIH0KLQotICBmdW5jdGlvbiBydW5P
ckNsb3NlUGlwZShtZXNzYWdlLCBpbnRlcmZhY2VWZXJzaW9uKSB7Ci0gICAgdmFyIHJlYWRlciA9
IG5ldyBpbnRlcm5hbC5NZXNzYWdlUmVhZGVyKG1lc3NhZ2UpOwotICAgIHZhciBydW5PckNsb3Nl
UGlwZU1lc3NhZ2VQYXJhbXMgPSByZWFkZXIuZGVjb2RlU3RydWN0KAotICAgICAgICBtb2pvLmlu
dGVyZmFjZUNvbnRyb2wyLlJ1bk9yQ2xvc2VQaXBlTWVzc2FnZVBhcmFtcyk7Ci0gICAgcmV0dXJu
IGludGVyZmFjZVZlcnNpb24gPj0KLSAgICAgICAgcnVuT3JDbG9zZVBpcGVNZXNzYWdlUGFyYW1z
LmlucHV0LnJlcXVpcmVWZXJzaW9uLnZlcnNpb247Ci0gIH0KLQotICBmdW5jdGlvbiBydW4obWVz
c2FnZSwgcmVzcG9uZGVyLCBpbnRlcmZhY2VWZXJzaW9uKSB7Ci0gICAgdmFyIHJlYWRlciA9IG5l
dyBpbnRlcm5hbC5NZXNzYWdlUmVhZGVyKG1lc3NhZ2UpOwotICAgIHZhciBydW5NZXNzYWdlUGFy
YW1zID0KLSAgICAgICAgcmVhZGVyLmRlY29kZVN0cnVjdChtb2pvLmludGVyZmFjZUNvbnRyb2wy
LlJ1bk1lc3NhZ2VQYXJhbXMpOwotICAgIHZhciBydW5PdXRwdXQgPSBudWxsOwotCi0gICAgaWYg
KHJ1bk1lc3NhZ2VQYXJhbXMuaW5wdXQucXVlcnlWZXJzaW9uKSB7Ci0gICAgICBydW5PdXRwdXQg
PSBuZXcgbW9qby5pbnRlcmZhY2VDb250cm9sMi5SdW5PdXRwdXQoKTsKLSAgICAgIHJ1bk91dHB1
dC5xdWVyeVZlcnNpb25SZXN1bHQgPSBuZXcKLSAgICAgICAgICBtb2pvLmludGVyZmFjZUNvbnRy
b2wyLlF1ZXJ5VmVyc2lvblJlc3VsdCgKLSAgICAgICAgICAgICAgeyd2ZXJzaW9uJzogaW50ZXJm
YWNlVmVyc2lvbn0pOwotICAgIH0KLQotICAgIHZhciBydW5SZXNwb25zZU1lc3NhZ2VQYXJhbXMg
PSBuZXcKLSAgICAgICAgbW9qby5pbnRlcmZhY2VDb250cm9sMi5SdW5SZXNwb25zZU1lc3NhZ2VQ
YXJhbXMoKTsKLSAgICBydW5SZXNwb25zZU1lc3NhZ2VQYXJhbXMub3V0cHV0ID0gcnVuT3V0cHV0
OwotCi0gICAgdmFyIG1lc3NhZ2VOYW1lID0gbW9qby5pbnRlcmZhY2VDb250cm9sMi5rUnVuTWVz
c2FnZUlkOwotICAgIHZhciBwYXlsb2FkU2l6ZSA9Ci0gICAgICAgIG1vam8uaW50ZXJmYWNlQ29u
dHJvbDIuUnVuUmVzcG9uc2VNZXNzYWdlUGFyYW1zLmVuY29kZWRTaXplOwotICAgIHZhciByZXF1
ZXN0SUQgPSByZWFkZXIucmVxdWVzdElEOwotICAgIHZhciBidWlsZGVyID0gbmV3IGludGVybmFs
Lk1lc3NhZ2VWMUJ1aWxkZXIobWVzc2FnZU5hbWUsCi0gICAgICAgIHBheWxvYWRTaXplLCBpbnRl
cm5hbC5rTWVzc2FnZUlzUmVzcG9uc2UsIHJlcXVlc3RJRCk7Ci0gICAgYnVpbGRlci5lbmNvZGVT
dHJ1Y3QobW9qby5pbnRlcmZhY2VDb250cm9sMi5SdW5SZXNwb25zZU1lc3NhZ2VQYXJhbXMsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgcnVuUmVzcG9uc2VNZXNzYWdlUGFyYW1zKTsKLSAgICBy
ZXNwb25kZXIuYWNjZXB0KGJ1aWxkZXIuZmluaXNoKCkpOwotICAgIHJldHVybiB0cnVlOwotICB9
Ci0KLSAgZnVuY3Rpb24gaXNJbnRlcmZhY2VDb250cm9sTWVzc2FnZShtZXNzYWdlKSB7Ci0gICAg
cmV0dXJuIG1lc3NhZ2UuZ2V0TmFtZSgpID09IG1vam8uaW50ZXJmYWNlQ29udHJvbDIua1J1bk1l
c3NhZ2VJZCB8fAotICAgICAgICAgICBtZXNzYWdlLmdldE5hbWUoKSA9PSBtb2pvLmludGVyZmFj
ZUNvbnRyb2wyLmtSdW5PckNsb3NlUGlwZU1lc3NhZ2VJZDsKLSAgfQotCi0gIGZ1bmN0aW9uIENv
bnRyb2xNZXNzYWdlSGFuZGxlcihpbnRlcmZhY2VWZXJzaW9uKSB7Ci0gICAgdGhpcy5pbnRlcmZh
Y2VWZXJzaW9uXyA9IGludGVyZmFjZVZlcnNpb247Ci0gIH0KLQotICBDb250cm9sTWVzc2FnZUhh
bmRsZXIucHJvdG90eXBlLmFjY2VwdCA9IGZ1bmN0aW9uKG1lc3NhZ2UpIHsKLSAgICB2YWxpZGF0
ZUNvbnRyb2xSZXF1ZXN0V2l0aG91dFJlc3BvbnNlKG1lc3NhZ2UpOwotICAgIHJldHVybiBydW5P
ckNsb3NlUGlwZShtZXNzYWdlLCB0aGlzLmludGVyZmFjZVZlcnNpb25fKTsKLSAgfTsKLQotICBD
b250cm9sTWVzc2FnZUhhbmRsZXIucHJvdG90eXBlLmFjY2VwdFdpdGhSZXNwb25kZXIgPSBmdW5j
dGlvbihtZXNzYWdlLAotICAgICAgcmVzcG9uZGVyKSB7Ci0gICAgdmFsaWRhdGVDb250cm9sUmVx
dWVzdFdpdGhSZXNwb25zZShtZXNzYWdlKTsKLSAgICByZXR1cm4gcnVuKG1lc3NhZ2UsIHJlc3Bv
bmRlciwgdGhpcy5pbnRlcmZhY2VWZXJzaW9uXyk7Ci0gIH07Ci0KLSAgaW50ZXJuYWwuQ29udHJv
bE1lc3NhZ2VIYW5kbGVyID0gQ29udHJvbE1lc3NhZ2VIYW5kbGVyOwotICBpbnRlcm5hbC5pc0lu
dGVyZmFjZUNvbnRyb2xNZXNzYWdlID0gaXNJbnRlcmZhY2VDb250cm9sTWVzc2FnZTsKLX0pKCk7
Ci0vLyBDb3B5cmlnaHQgMjAxNyBUaGUgQ2hyb21pdW0gQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KLS8vIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0
eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKLS8vIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCi0K
LShmdW5jdGlvbigpIHsKLSAgdmFyIGludGVybmFsID0gbW9qby5pbnRlcm5hbDsKLQotICBmdW5j
dGlvbiBjb25zdHJ1Y3RSdW5PckNsb3NlUGlwZU1lc3NhZ2UocnVuT3JDbG9zZVBpcGVJbnB1dCkg
ewotICAgIHZhciBydW5PckNsb3NlUGlwZU1lc3NhZ2VQYXJhbXMgPSBuZXcKLSAgICAgICAgbW9q
by5pbnRlcmZhY2VDb250cm9sMi5SdW5PckNsb3NlUGlwZU1lc3NhZ2VQYXJhbXMoKTsKLSAgICBy
dW5PckNsb3NlUGlwZU1lc3NhZ2VQYXJhbXMuaW5wdXQgPSBydW5PckNsb3NlUGlwZUlucHV0Owot
Ci0gICAgdmFyIG1lc3NhZ2VOYW1lID0gbW9qby5pbnRlcmZhY2VDb250cm9sMi5rUnVuT3JDbG9z
ZVBpcGVNZXNzYWdlSWQ7Ci0gICAgdmFyIHBheWxvYWRTaXplID0KLSAgICAgICAgbW9qby5pbnRl
cmZhY2VDb250cm9sMi5SdW5PckNsb3NlUGlwZU1lc3NhZ2VQYXJhbXMuZW5jb2RlZFNpemU7Ci0g
ICAgdmFyIGJ1aWxkZXIgPSBuZXcgaW50ZXJuYWwuTWVzc2FnZVYwQnVpbGRlcihtZXNzYWdlTmFt
ZSwgcGF5bG9hZFNpemUpOwotICAgIGJ1aWxkZXIuZW5jb2RlU3RydWN0KG1vam8uaW50ZXJmYWNl
Q29udHJvbDIuUnVuT3JDbG9zZVBpcGVNZXNzYWdlUGFyYW1zLAotICAgICAgICAgICAgICAgICAg
ICAgICAgIHJ1bk9yQ2xvc2VQaXBlTWVzc2FnZVBhcmFtcyk7Ci0gICAgdmFyIG1lc3NhZ2UgPSBi
dWlsZGVyLmZpbmlzaCgpOwotICAgIHJldHVybiBtZXNzYWdlOwotICB9Ci0KLSAgZnVuY3Rpb24g
dmFsaWRhdGVDb250cm9sUmVzcG9uc2UobWVzc2FnZSkgewotICAgIHZhciBtZXNzYWdlVmFsaWRh
dG9yID0gbmV3IGludGVybmFsLlZhbGlkYXRvcihtZXNzYWdlKTsKLSAgICB2YXIgZXJyb3IgPSBt
ZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlTWVzc2FnZUlzUmVzcG9uc2UoKTsKLSAgICBpZiAoZXJy
b3IgIT0gaW50ZXJuYWwudmFsaWRhdGlvbkVycm9yLk5PTkUpIHsKLSAgICAgIHRocm93IGVycm9y
OwotICAgIH0KLQotICAgIGlmIChtZXNzYWdlLmdldE5hbWUoKSAhPSBtb2pvLmludGVyZmFjZUNv
bnRyb2wyLmtSdW5NZXNzYWdlSWQpIHsKLSAgICAgIHRocm93IG5ldyBFcnJvcigiQ29udHJvbCBt
ZXNzYWdlIG5hbWUgaXMgbm90IGtSdW5NZXNzYWdlSWQiKTsKLSAgICB9Ci0KLSAgICAvLyBWYWxp
ZGF0ZSBwYXlsb2FkLgotICAgIGVycm9yID0gbW9qby5pbnRlcmZhY2VDb250cm9sMi5SdW5SZXNw
b25zZU1lc3NhZ2VQYXJhbXMudmFsaWRhdGUoCi0gICAgICAgIG1lc3NhZ2VWYWxpZGF0b3IsIG1l
c3NhZ2UuZ2V0SGVhZGVyTnVtQnl0ZXMoKSk7Ci0gICAgaWYgKGVycm9yICE9IGludGVybmFsLnZh
bGlkYXRpb25FcnJvci5OT05FKSB7Ci0gICAgICB0aHJvdyBlcnJvcjsKLSAgICB9Ci0gIH0KLQot
ICBmdW5jdGlvbiBhY2NlcHRSdW5SZXNwb25zZShtZXNzYWdlKSB7Ci0gICAgdmFsaWRhdGVDb250
cm9sUmVzcG9uc2UobWVzc2FnZSk7Ci0KLSAgICB2YXIgcmVhZGVyID0gbmV3IGludGVybmFsLk1l
c3NhZ2VSZWFkZXIobWVzc2FnZSk7Ci0gICAgdmFyIHJ1blJlc3BvbnNlTWVzc2FnZVBhcmFtcyA9
IHJlYWRlci5kZWNvZGVTdHJ1Y3QoCi0gICAgICAgIG1vam8uaW50ZXJmYWNlQ29udHJvbDIuUnVu
UmVzcG9uc2VNZXNzYWdlUGFyYW1zKTsKLQotICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUocnVu
UmVzcG9uc2VNZXNzYWdlUGFyYW1zKTsKLSAgfQotCi0gLyoqCi0gICogU2VuZHMgdGhlIGdpdmVu
IHJ1biBtZXNzYWdlIHRocm91Z2ggdGhlIHJlY2VpdmVyLgotICAqIEFjY2VwdHMgdGhlIHJlc3Bv
bnNlIG1lc3NhZ2UgZnJvbSB0aGUgcmVjZWl2ZXIgYW5kIGRlY29kZXMgdGhlIG1lc3NhZ2UKLSAg
KiBzdHJ1Y3QgdG8gUnVuUmVzcG9uc2VNZXNzYWdlUGFyYW1zLgotICAqCi0gICogQHBhcmFtICB7
Um91dGVyfSByZWNlaXZlci4KLSAgKiBAcGFyYW0gIHtSdW5NZXNzYWdlUGFyYW1zfSBydW5NZXNz
YWdlUGFyYW1zIHRvIGJlIHNlbnQgdmlhIGEgbWVzc2FnZS4KLSAgKiBAcmV0dXJuIHtQcm9taXNl
fSB0aGF0IHJlc29sdmVzIHRvIGEgUnVuUmVzcG9uc2VNZXNzYWdlUGFyYW1zLgotICAqLwotICBm
dW5jdGlvbiBzZW5kUnVuTWVzc2FnZShyZWNlaXZlciwgcnVuTWVzc2FnZVBhcmFtcykgewotICAg
IHZhciBtZXNzYWdlTmFtZSA9IG1vam8uaW50ZXJmYWNlQ29udHJvbDIua1J1bk1lc3NhZ2VJZDsK
LSAgICB2YXIgcGF5bG9hZFNpemUgPSBtb2pvLmludGVyZmFjZUNvbnRyb2wyLlJ1bk1lc3NhZ2VQ
YXJhbXMuZW5jb2RlZFNpemU7Ci0gICAgLy8gfHJlcXVlc3RJRHwgaXMgc2V0IHRvIDAsIGJ1dCBp
cyBsYXRlciBwcm9wZXJseSBzZXQgYnkgUm91dGVyLgotICAgIHZhciBidWlsZGVyID0gbmV3IGlu
dGVybmFsLk1lc3NhZ2VWMUJ1aWxkZXIobWVzc2FnZU5hbWUsCi0gICAgICAgIHBheWxvYWRTaXpl
LCBpbnRlcm5hbC5rTWVzc2FnZUV4cGVjdHNSZXNwb25zZSwgMCk7Ci0gICAgYnVpbGRlci5lbmNv
ZGVTdHJ1Y3QobW9qby5pbnRlcmZhY2VDb250cm9sMi5SdW5NZXNzYWdlUGFyYW1zLAotICAgICAg
ICAgICAgICAgICAgICAgICAgIHJ1bk1lc3NhZ2VQYXJhbXMpOwotICAgIHZhciBtZXNzYWdlID0g
YnVpbGRlci5maW5pc2goKTsKLQotICAgIHJldHVybiByZWNlaXZlci5hY2NlcHRBbmRFeHBlY3RS
ZXNwb25zZShtZXNzYWdlKS50aGVuKGFjY2VwdFJ1blJlc3BvbnNlKTsKLSAgfQotCi0gIGZ1bmN0
aW9uIENvbnRyb2xNZXNzYWdlUHJveHkocmVjZWl2ZXIpIHsKLSAgICB0aGlzLnJlY2VpdmVyXyA9
IHJlY2VpdmVyOwotICB9Ci0KLSAgQ29udHJvbE1lc3NhZ2VQcm94eS5wcm90b3R5cGUucXVlcnlW
ZXJzaW9uID0gZnVuY3Rpb24oKSB7Ci0gICAgdmFyIHJ1bk1lc3NhZ2VQYXJhbXMgPSBuZXcgbW9q
by5pbnRlcmZhY2VDb250cm9sMi5SdW5NZXNzYWdlUGFyYW1zKCk7Ci0gICAgcnVuTWVzc2FnZVBh
cmFtcy5pbnB1dCA9IG5ldyBtb2pvLmludGVyZmFjZUNvbnRyb2wyLlJ1bklucHV0KCk7Ci0gICAg
cnVuTWVzc2FnZVBhcmFtcy5pbnB1dC5xdWVyeVZlcnNpb24gPQotICAgICAgICBuZXcgbW9qby5p
bnRlcmZhY2VDb250cm9sMi5RdWVyeVZlcnNpb24oKTsKLQotICAgIHJldHVybiBzZW5kUnVuTWVz
c2FnZSh0aGlzLnJlY2VpdmVyXywgcnVuTWVzc2FnZVBhcmFtcykudGhlbihmdW5jdGlvbigKLSAg
ICAgICAgcnVuUmVzcG9uc2VNZXNzYWdlUGFyYW1zKSB7Ci0gICAgICByZXR1cm4gcnVuUmVzcG9u
c2VNZXNzYWdlUGFyYW1zLm91dHB1dC5xdWVyeVZlcnNpb25SZXN1bHQudmVyc2lvbjsKLSAgICB9
KTsKLSAgfTsKLQotICBDb250cm9sTWVzc2FnZVByb3h5LnByb3RvdHlwZS5yZXF1aXJlVmVyc2lv
biA9IGZ1bmN0aW9uKHZlcnNpb24pIHsKLSAgICB2YXIgcnVuT3JDbG9zZVBpcGVJbnB1dCA9IG5l
dyBtb2pvLmludGVyZmFjZUNvbnRyb2wyLlJ1bk9yQ2xvc2VQaXBlSW5wdXQoKTsKLSAgICBydW5P
ckNsb3NlUGlwZUlucHV0LnJlcXVpcmVWZXJzaW9uID0KLSAgICAgICAgbmV3IG1vam8uaW50ZXJm
YWNlQ29udHJvbDIuUmVxdWlyZVZlcnNpb24oeyd2ZXJzaW9uJzogdmVyc2lvbn0pOwotICAgIHZh
ciBtZXNzYWdlID0gY29uc3RydWN0UnVuT3JDbG9zZVBpcGVNZXNzYWdlKHJ1bk9yQ2xvc2VQaXBl
SW5wdXQpOwotICAgIHRoaXMucmVjZWl2ZXJfLmFjY2VwdChtZXNzYWdlKTsKLSAgfTsKLQotICBp
bnRlcm5hbC5Db250cm9sTWVzc2FnZVByb3h5ID0gQ29udHJvbE1lc3NhZ2VQcm94eTsKLX0pKCk7
Ci0vLyBDb3B5cmlnaHQgMjAxNyBUaGUgQ2hyb21pdW0gQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KLS8vIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0
eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKLS8vIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCi0K
LShmdW5jdGlvbigpIHsKLSAgdmFyIGludGVybmFsID0gbW9qby5pbnRlcm5hbDsKLQotICBmdW5j
dGlvbiBJbnRlcmZhY2VFbmRwb2ludENsaWVudChpbnRlcmZhY2VFbmRwb2ludEhhbmRsZSwgcmVj
ZWl2ZXIsCi0gICAgICBpbnRlcmZhY2VWZXJzaW9uKSB7Ci0gICAgdGhpcy5jb250cm9sbGVyXyA9
IG51bGw7Ci0gICAgdGhpcy5lbmNvdW50ZXJlZEVycm9yXyA9IGZhbHNlOwotICAgIHRoaXMuaGFu
ZGxlXyA9IGludGVyZmFjZUVuZHBvaW50SGFuZGxlOwotICAgIHRoaXMuaW5jb21pbmdSZWNlaXZl
cl8gPSByZWNlaXZlcjsKLQotICAgIGlmIChpbnRlcmZhY2VWZXJzaW9uICE9PSB1bmRlZmluZWQp
IHsKLSAgICAgIHRoaXMuY29udHJvbE1lc3NhZ2VIYW5kbGVyXyA9IG5ldyBpbnRlcm5hbC5Db250
cm9sTWVzc2FnZUhhbmRsZXIoCi0gICAgICAgICAgaW50ZXJmYWNlVmVyc2lvbik7Ci0gICAgfSBl
bHNlIHsKLSAgICAgIHRoaXMuY29udHJvbE1lc3NhZ2VQcm94eV8gPSBuZXcgaW50ZXJuYWwuQ29u
dHJvbE1lc3NhZ2VQcm94eSh0aGlzKTsKLSAgICB9Ci0KLSAgICB0aGlzLm5leHRSZXF1ZXN0SURf
ID0gMDsKLSAgICB0aGlzLmNvbXBsZXRlcnNfID0gbmV3IE1hcCgpOwotICAgIHRoaXMucGF5bG9h
ZFZhbGlkYXRvcnNfID0gW107Ci0gICAgdGhpcy5jb25uZWN0aW9uRXJyb3JIYW5kbGVyXyA9IG51
bGw7Ci0KLSAgICBpZiAoaW50ZXJmYWNlRW5kcG9pbnRIYW5kbGUucGVuZGluZ0Fzc29jaWF0aW9u
KCkpIHsKLSAgICAgIGludGVyZmFjZUVuZHBvaW50SGFuZGxlLnNldEFzc29jaWF0aW9uRXZlbnRI
YW5kbGVyKAotICAgICAgICAgIHRoaXMub25Bc3NvY2lhdGlvbkV2ZW50LmJpbmQodGhpcykpOwot
ICAgIH0gZWxzZSB7Ci0gICAgICB0aGlzLmluaXRDb250cm9sbGVySWZOZWNlc3NhcnlfKCk7Ci0g
ICAgfQotICB9Ci0KLSAgSW50ZXJmYWNlRW5kcG9pbnRDbGllbnQucHJvdG90eXBlLmluaXRDb250
cm9sbGVySWZOZWNlc3NhcnlfID0gZnVuY3Rpb24oKSB7Ci0gICAgaWYgKHRoaXMuY29udHJvbGxl
cl8gfHwgdGhpcy5oYW5kbGVfLnBlbmRpbmdBc3NvY2lhdGlvbigpKSB7Ci0gICAgICByZXR1cm47
Ci0gICAgfQotCi0gICAgdGhpcy5jb250cm9sbGVyXyA9IHRoaXMuaGFuZGxlXy5ncm91cENvbnRy
b2xsZXIoKS5hdHRhY2hFbmRwb2ludENsaWVudCgKLSAgICAgICAgdGhpcy5oYW5kbGVfLCB0aGlz
KTsKLSAgfTsKLQotICBJbnRlcmZhY2VFbmRwb2ludENsaWVudC5wcm90b3R5cGUub25Bc3NvY2lh
dGlvbkV2ZW50ID0gZnVuY3Rpb24oCi0gICAgICBhc3NvY2lhdGlvbkV2ZW50KSB7Ci0gICAgaWYg
KGFzc29jaWF0aW9uRXZlbnQgPT09IGludGVybmFsLkFzc29jaWF0aW9uRXZlbnQuQVNTT0NJQVRF
RCkgewotICAgICAgdGhpcy5pbml0Q29udHJvbGxlcklmTmVjZXNzYXJ5XygpOwotICAgIH0gZWxz
ZSBpZiAoYXNzb2NpYXRpb25FdmVudCA9PT0KLSAgICAgICAgICBpbnRlcm5hbC5Bc3NvY2lhdGlv
bkV2ZW50LlBFRVJfQ0xPU0VEX0JFRk9SRV9BU1NPQ0lBVElPTikgewotICAgICAgc2V0VGltZW91
dCh0aGlzLm5vdGlmeUVycm9yLmJpbmQodGhpcywgdGhpcy5oYW5kbGVfLmRpc2Nvbm5lY3RSZWFz
b24oKSksCi0gICAgICAgICAgICAgICAgIDApOwotICAgIH0KLSAgfTsKLQotICBJbnRlcmZhY2VF
bmRwb2ludENsaWVudC5wcm90b3R5cGUucGFzc0hhbmRsZSA9IGZ1bmN0aW9uKCkgewotICAgIGlm
ICghdGhpcy5oYW5kbGVfLmlzVmFsaWQoKSkgewotICAgICAgcmV0dXJuIG5ldyBpbnRlcm5hbC5J
bnRlcmZhY2VFbmRwb2ludEhhbmRsZSgpOwotICAgIH0KLQotICAgIC8vIFVzZWQgdG8gY2xlYXIg
dGhlIHByZXZpb3VzbHkgc2V0IGNhbGxiYWNrLgotICAgIHRoaXMuaGFuZGxlXy5zZXRBc3NvY2lh
dGlvbkV2ZW50SGFuZGxlcih1bmRlZmluZWQpOwotCi0gICAgaWYgKHRoaXMuY29udHJvbGxlcl8p
IHsKLSAgICAgIHRoaXMuY29udHJvbGxlcl8gPSBudWxsOwotICAgICAgdGhpcy5oYW5kbGVfLmdy
b3VwQ29udHJvbGxlcigpLmRldGFjaEVuZHBvaW50Q2xpZW50KHRoaXMuaGFuZGxlXyk7Ci0gICAg
fQotICAgIHZhciBoYW5kbGUgPSB0aGlzLmhhbmRsZV87Ci0gICAgdGhpcy5oYW5kbGVfID0gbnVs
bDsKLSAgICByZXR1cm4gaGFuZGxlOwotICB9OwotCi0gIEludGVyZmFjZUVuZHBvaW50Q2xpZW50
LnByb3RvdHlwZS5jbG9zZSA9IGZ1bmN0aW9uKHJlYXNvbikgewotICAgIHZhciBoYW5kbGUgPSB0
aGlzLnBhc3NIYW5kbGUoKTsKLSAgICBoYW5kbGUucmVzZXQocmVhc29uKTsKLSAgfTsKLQotICBJ
bnRlcmZhY2VFbmRwb2ludENsaWVudC5wcm90b3R5cGUuYWNjZXB0ID0gZnVuY3Rpb24obWVzc2Fn
ZSkgewotICAgIGlmIChtZXNzYWdlLmFzc29jaWF0ZWRFbmRwb2ludEhhbmRsZXMubGVuZ3RoID4g
MCkgewotICAgICAgbWVzc2FnZS5zZXJpYWxpemVBc3NvY2lhdGVkRW5kcG9pbnRIYW5kbGVzKAot
ICAgICAgICAgIHRoaXMuaGFuZGxlXy5ncm91cENvbnRyb2xsZXIoKSk7Ci0gICAgfQotCi0gICAg
aWYgKHRoaXMuZW5jb3VudGVyZWRFcnJvcl8pIHsKLSAgICAgIHJldHVybiBmYWxzZTsKLSAgICB9
Ci0KLSAgICB0aGlzLmluaXRDb250cm9sbGVySWZOZWNlc3NhcnlfKCk7Ci0gICAgcmV0dXJuIHRo
aXMuY29udHJvbGxlcl8uc2VuZE1lc3NhZ2UobWVzc2FnZSk7Ci0gIH07Ci0KLSAgSW50ZXJmYWNl
RW5kcG9pbnRDbGllbnQucHJvdG90eXBlLmFjY2VwdEFuZEV4cGVjdFJlc3BvbnNlID0gZnVuY3Rp
b24oCi0gICAgICBtZXNzYWdlKSB7Ci0gICAgaWYgKG1lc3NhZ2UuYXNzb2NpYXRlZEVuZHBvaW50
SGFuZGxlcy5sZW5ndGggPiAwKSB7Ci0gICAgICBtZXNzYWdlLnNlcmlhbGl6ZUFzc29jaWF0ZWRF
bmRwb2ludEhhbmRsZXMoCi0gICAgICAgICAgdGhpcy5oYW5kbGVfLmdyb3VwQ29udHJvbGxlcigp
KTsKLSAgICB9Ci0KLSAgICBpZiAodGhpcy5lbmNvdW50ZXJlZEVycm9yXykgewotICAgICAgcmV0
dXJuIFByb21pc2UucmVqZWN0KCk7Ci0gICAgfQotCi0gICAgdGhpcy5pbml0Q29udHJvbGxlcklm
TmVjZXNzYXJ5XygpOwotCi0gICAgLy8gUmVzZXJ2ZSAwIGluIGNhc2Ugd2Ugd2FudCBpdCB0byBj
b252ZXkgc3BlY2lhbCBtZWFuaW5nIGluIHRoZSBmdXR1cmUuCi0gICAgdmFyIHJlcXVlc3RJRCA9
IHRoaXMubmV4dFJlcXVlc3RJRF8rKzsKLSAgICBpZiAocmVxdWVzdElEID09PSAwKQotICAgICAg
cmVxdWVzdElEID0gdGhpcy5uZXh0UmVxdWVzdElEXysrOwotCi0gICAgbWVzc2FnZS5zZXRSZXF1
ZXN0SUQocmVxdWVzdElEKTsKLSAgICB2YXIgcmVzdWx0ID0gdGhpcy5jb250cm9sbGVyXy5zZW5k
TWVzc2FnZShtZXNzYWdlKTsKLSAgICBpZiAoIXJlc3VsdCkKLSAgICAgIHJldHVybiBQcm9taXNl
LnJlamVjdChFcnJvcigiQ29ubmVjdGlvbiBlcnJvciIpKTsKLQotICAgIHZhciBjb21wbGV0ZXIg
PSB7fTsKLSAgICB0aGlzLmNvbXBsZXRlcnNfLnNldChyZXF1ZXN0SUQsIGNvbXBsZXRlcik7Ci0g
ICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewotICAgICAg
Y29tcGxldGVyLnJlc29sdmUgPSByZXNvbHZlOwotICAgICAgY29tcGxldGVyLnJlamVjdCA9IHJl
amVjdDsKLSAgICB9KTsKLSAgfTsKLQotICBJbnRlcmZhY2VFbmRwb2ludENsaWVudC5wcm90b3R5
cGUuc2V0UGF5bG9hZFZhbGlkYXRvcnMgPSBmdW5jdGlvbigKLSAgICAgIHBheWxvYWRWYWxpZGF0
b3JzKSB7Ci0gICAgdGhpcy5wYXlsb2FkVmFsaWRhdG9yc18gPSBwYXlsb2FkVmFsaWRhdG9yczsK
LSAgfTsKLQotICBJbnRlcmZhY2VFbmRwb2ludENsaWVudC5wcm90b3R5cGUuc2V0SW5jb21pbmdS
ZWNlaXZlciA9IGZ1bmN0aW9uKHJlY2VpdmVyKSB7Ci0gICAgdGhpcy5pbmNvbWluZ1JlY2VpdmVy
XyA9IHJlY2VpdmVyOwotICB9OwotCi0gIEludGVyZmFjZUVuZHBvaW50Q2xpZW50LnByb3RvdHlw
ZS5zZXRDb25uZWN0aW9uRXJyb3JIYW5kbGVyID0gZnVuY3Rpb24oCi0gICAgICBoYW5kbGVyKSB7
Ci0gICAgdGhpcy5jb25uZWN0aW9uRXJyb3JIYW5kbGVyXyA9IGhhbmRsZXI7Ci0gIH07Ci0KLSAg
SW50ZXJmYWNlRW5kcG9pbnRDbGllbnQucHJvdG90eXBlLmhhbmRsZUluY29taW5nTWVzc2FnZSA9
IGZ1bmN0aW9uKG1lc3NhZ2UsCi0gICAgICBtZXNzYWdlVmFsaWRhdG9yKSB7Ci0gICAgdmFyIG5v
RXJyb3IgPSBpbnRlcm5hbC52YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAgICB2YXIgZXJyID0gbm9F
cnJvcjsKLSAgICBmb3IgKHZhciBpID0gMDsgZXJyID09PSBub0Vycm9yICYmIGkgPCB0aGlzLnBh
eWxvYWRWYWxpZGF0b3JzXy5sZW5ndGg7ICsraSkKLSAgICAgIGVyciA9IHRoaXMucGF5bG9hZFZh
bGlkYXRvcnNfW2ldKG1lc3NhZ2VWYWxpZGF0b3IpOwotCi0gICAgaWYgKGVyciA9PSBub0Vycm9y
KSB7Ci0gICAgICByZXR1cm4gdGhpcy5oYW5kbGVWYWxpZEluY29taW5nTWVzc2FnZV8obWVzc2Fn
ZSk7Ci0gICAgfSBlbHNlIHsKLSAgICAgIGludGVybmFsLnJlcG9ydFZhbGlkYXRpb25FcnJvcihl
cnIpOwotICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0KLSAgfTsKLQotICBJbnRlcmZhY2VFbmRw
b2ludENsaWVudC5wcm90b3R5cGUuaGFuZGxlVmFsaWRJbmNvbWluZ01lc3NhZ2VfID0gZnVuY3Rp
b24oCi0gICAgICBtZXNzYWdlKSB7Ci0gICAgaWYgKGludGVybmFsLmlzVGVzdGluZ01vZGUoKSkg
ewotICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfQotCi0gICAgaWYgKHRoaXMuZW5jb3VudGVyZWRF
cnJvcl8pIHsKLSAgICAgIHJldHVybiBmYWxzZTsKLSAgICB9Ci0KLSAgICB2YXIgb2sgPSBmYWxz
ZTsKLQotICAgIGlmIChtZXNzYWdlLmV4cGVjdHNSZXNwb25zZSgpKSB7Ci0gICAgICBpZiAoaW50
ZXJuYWwuaXNJbnRlcmZhY2VDb250cm9sTWVzc2FnZShtZXNzYWdlKSAmJgotICAgICAgICAgIHRo
aXMuY29udHJvbE1lc3NhZ2VIYW5kbGVyXykgewotICAgICAgICBvayA9IHRoaXMuY29udHJvbE1l
c3NhZ2VIYW5kbGVyXy5hY2NlcHRXaXRoUmVzcG9uZGVyKG1lc3NhZ2UsIHRoaXMpOwotICAgICAg
fSBlbHNlIGlmICh0aGlzLmluY29taW5nUmVjZWl2ZXJfKSB7Ci0gICAgICAgIG9rID0gdGhpcy5p
bmNvbWluZ1JlY2VpdmVyXy5hY2NlcHRXaXRoUmVzcG9uZGVyKG1lc3NhZ2UsIHRoaXMpOwotICAg
ICAgfQotICAgIH0gZWxzZSBpZiAobWVzc2FnZS5pc1Jlc3BvbnNlKCkpIHsKLSAgICAgIHZhciBy
ZWFkZXIgPSBuZXcgaW50ZXJuYWwuTWVzc2FnZVJlYWRlcihtZXNzYWdlKTsKLSAgICAgIHZhciBy
ZXF1ZXN0SUQgPSByZWFkZXIucmVxdWVzdElEOwotICAgICAgdmFyIGNvbXBsZXRlciA9IHRoaXMu
Y29tcGxldGVyc18uZ2V0KHJlcXVlc3RJRCk7Ci0gICAgICBpZiAoY29tcGxldGVyKSB7Ci0gICAg
ICAgIHRoaXMuY29tcGxldGVyc18uZGVsZXRlKHJlcXVlc3RJRCk7Ci0gICAgICAgIGNvbXBsZXRl
ci5yZXNvbHZlKG1lc3NhZ2UpOwotICAgICAgICBvayA9IHRydWU7Ci0gICAgICB9IGVsc2Ugewot
ICAgICAgICBjb25zb2xlLmxvZygiVW5leHBlY3RlZCByZXNwb25zZSB3aXRoIHJlcXVlc3QgSUQ6
ICIgKyByZXF1ZXN0SUQpOwotICAgICAgfQotICAgIH0gZWxzZSB7Ci0gICAgICBpZiAoaW50ZXJu
YWwuaXNJbnRlcmZhY2VDb250cm9sTWVzc2FnZShtZXNzYWdlKSAmJgotICAgICAgICAgIHRoaXMu
Y29udHJvbE1lc3NhZ2VIYW5kbGVyXykgewotICAgICAgICBvayA9IHRoaXMuY29udHJvbE1lc3Nh
Z2VIYW5kbGVyXy5hY2NlcHQobWVzc2FnZSk7Ci0gICAgICB9IGVsc2UgaWYgKHRoaXMuaW5jb21p
bmdSZWNlaXZlcl8pIHsKLSAgICAgICAgb2sgPSB0aGlzLmluY29taW5nUmVjZWl2ZXJfLmFjY2Vw
dChtZXNzYWdlKTsKLSAgICAgIH0KLSAgICB9Ci0gICAgcmV0dXJuIG9rOwotICB9OwotCi0gIElu
dGVyZmFjZUVuZHBvaW50Q2xpZW50LnByb3RvdHlwZS5ub3RpZnlFcnJvciA9IGZ1bmN0aW9uKHJl
YXNvbikgewotICAgIGlmICh0aGlzLmVuY291bnRlcmVkRXJyb3JfKSB7Ci0gICAgICByZXR1cm47
Ci0gICAgfQotICAgIHRoaXMuZW5jb3VudGVyZWRFcnJvcl8gPSB0cnVlOwotCi0gICAgdGhpcy5j
b21wbGV0ZXJzXy5mb3JFYWNoKGZ1bmN0aW9uKHZhbHVlKSB7Ci0gICAgICB2YWx1ZS5yZWplY3Qo
KTsKLSAgICB9KTsKLSAgICB0aGlzLmNvbXBsZXRlcnNfLmNsZWFyKCk7ICAvLyBEcm9wIGFueSBy
ZXNwb25kZXJzLgotCi0gICAgaWYgKHRoaXMuY29ubmVjdGlvbkVycm9ySGFuZGxlcl8pIHsKLSAg
ICAgIHRoaXMuY29ubmVjdGlvbkVycm9ySGFuZGxlcl8ocmVhc29uKTsKLSAgICB9Ci0gIH07Ci0K
LSAgSW50ZXJmYWNlRW5kcG9pbnRDbGllbnQucHJvdG90eXBlLnF1ZXJ5VmVyc2lvbiA9IGZ1bmN0
aW9uKCkgewotICAgIHJldHVybiB0aGlzLmNvbnRyb2xNZXNzYWdlUHJveHlfLnF1ZXJ5VmVyc2lv
bigpOwotICB9OwotCi0gIEludGVyZmFjZUVuZHBvaW50Q2xpZW50LnByb3RvdHlwZS5yZXF1aXJl
VmVyc2lvbiA9IGZ1bmN0aW9uKHZlcnNpb24pIHsKLSAgICB0aGlzLmNvbnRyb2xNZXNzYWdlUHJv
eHlfLnJlcXVpcmVWZXJzaW9uKHZlcnNpb24pOwotICB9OwotCi0gIEludGVyZmFjZUVuZHBvaW50
Q2xpZW50LnByb3RvdHlwZS5nZXRFbmNvdW50ZXJlZEVycm9yID0gZnVuY3Rpb24oKSB7Ci0gICAg
cmV0dXJuIHRoaXMuZW5jb3VudGVyZWRFcnJvcl87Ci0gIH07Ci0KLSAgaW50ZXJuYWwuSW50ZXJm
YWNlRW5kcG9pbnRDbGllbnQgPSBJbnRlcmZhY2VFbmRwb2ludENsaWVudDsKLX0pKCk7Ci0vLyBD
b3B5cmlnaHQgMjAxNyBUaGUgQ2hyb21pdW0gQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
LS8vIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlIGxp
Y2Vuc2UgdGhhdCBjYW4gYmUKLS8vIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCi0KLShmdW5j
dGlvbigpIHsKLSAgdmFyIGludGVybmFsID0gbW9qby5pbnRlcm5hbDsKLQotICB2YXIgQXNzb2Np
YXRpb25FdmVudCA9IHsKLSAgICAvLyBUaGUgaW50ZXJmYWNlIGhhcyBiZWVuIGFzc29jaWF0ZWQg
d2l0aCBhIG1lc3NhZ2UgcGlwZS4KLSAgICBBU1NPQ0lBVEVEOiAnYXNzb2NpYXRlZCcsCi0gICAg
Ly8gVGhlIHBlZXIgb2YgdGhpcyBvYmplY3QgaGFzIGJlZW4gY2xvc2VkIGJlZm9yZSBhc3NvY2lh
dGlvbi4KLSAgICBQRUVSX0NMT1NFRF9CRUZPUkVfQVNTT0NJQVRJT046ICdwZWVyX2Nsb3NlZF9i
ZWZvcmVfYXNzb2NpYXRpb24nCi0gIH07Ci0KLSAgZnVuY3Rpb24gU3RhdGUoaW50ZXJmYWNlSWQs
IGFzc29jaWF0ZWRHcm91cENvbnRyb2xsZXIpIHsKLSAgICBpZiAoaW50ZXJmYWNlSWQgPT09IHVu
ZGVmaW5lZCkgewotICAgICAgaW50ZXJmYWNlSWQgPSBpbnRlcm5hbC5rSW52YWxpZEludGVyZmFj
ZUlkOwotICAgIH0KLQotICAgIHRoaXMuaW50ZXJmYWNlSWQgPSBpbnRlcmZhY2VJZDsKLSAgICB0
aGlzLmFzc29jaWF0ZWRHcm91cENvbnRyb2xsZXIgPSBhc3NvY2lhdGVkR3JvdXBDb250cm9sbGVy
OwotICAgIHRoaXMucGVuZGluZ0Fzc29jaWF0aW9uID0gZmFsc2U7Ci0gICAgdGhpcy5kaXNjb25u
ZWN0UmVhc29uID0gbnVsbDsKLSAgICB0aGlzLnBlZXJTdGF0ZV8gPSBudWxsOwotICAgIHRoaXMu
YXNzb2NpYXRpb25FdmVudEhhbmRsZXJfID0gbnVsbDsKLSAgfQotCi0gIFN0YXRlLnByb3RvdHlw
ZS5pbml0UGVuZGluZ1N0YXRlID0gZnVuY3Rpb24ocGVlcikgewotICAgIHRoaXMucGVuZGluZ0Fz
c29jaWF0aW9uID0gdHJ1ZTsKLSAgICB0aGlzLnBlZXJTdGF0ZV8gPSBwZWVyOwotICB9OwotCi0g
IFN0YXRlLnByb3RvdHlwZS5pc1ZhbGlkID0gZnVuY3Rpb24oKSB7Ci0gICAgcmV0dXJuIHRoaXMu
cGVuZGluZ0Fzc29jaWF0aW9uIHx8Ci0gICAgICAgIGludGVybmFsLmlzVmFsaWRJbnRlcmZhY2VJ
ZCh0aGlzLmludGVyZmFjZUlkKTsKLSAgfTsKLQotICBTdGF0ZS5wcm90b3R5cGUuY2xvc2UgPSBm
dW5jdGlvbihkaXNjb25uZWN0UmVhc29uKSB7Ci0gICAgdmFyIGNhY2hlZEdyb3VwQ29udHJvbGxl
cjsKLSAgICB2YXIgY2FjaGVkUGVlclN0YXRlOwotICAgIHZhciBjYWNoZWRJZCA9IGludGVybmFs
LmtJbnZhbGlkSW50ZXJmYWNlSWQ7Ci0KLSAgICBpZiAoIXRoaXMucGVuZGluZ0Fzc29jaWF0aW9u
KSB7Ci0gICAgICBpZiAoaW50ZXJuYWwuaXNWYWxpZEludGVyZmFjZUlkKHRoaXMuaW50ZXJmYWNl
SWQpKSB7Ci0gICAgICAgIGNhY2hlZEdyb3VwQ29udHJvbGxlciA9IHRoaXMuYXNzb2NpYXRlZEdy
b3VwQ29udHJvbGxlcjsKLSAgICAgICAgdGhpcy5hc3NvY2lhdGVkR3JvdXBDb250cm9sbGVyID0g
bnVsbDsKLSAgICAgICAgY2FjaGVkSWQgPSB0aGlzLmludGVyZmFjZUlkOwotICAgICAgICB0aGlz
LmludGVyZmFjZUlkID0gaW50ZXJuYWwua0ludmFsaWRJbnRlcmZhY2VJZDsKLSAgICAgIH0KLSAg
ICB9IGVsc2UgewotICAgICAgdGhpcy5wZW5kaW5nQXNzb2NpYXRpb24gPSBmYWxzZTsKLSAgICAg
IGNhY2hlZFBlZXJTdGF0ZSA9IHRoaXMucGVlclN0YXRlXzsKLSAgICAgIHRoaXMucGVlclN0YXRl
XyA9IG51bGw7Ci0gICAgfQotCi0gICAgaWYgKGNhY2hlZEdyb3VwQ29udHJvbGxlcikgewotICAg
ICAgY2FjaGVkR3JvdXBDb250cm9sbGVyLmNsb3NlRW5kcG9pbnRIYW5kbGUoY2FjaGVkSWQsCi0g
ICAgICAgICAgZGlzY29ubmVjdFJlYXNvbik7Ci0gICAgfSBlbHNlIGlmIChjYWNoZWRQZWVyU3Rh
dGUpIHsKLSAgICAgIGNhY2hlZFBlZXJTdGF0ZS5vblBlZXJDbG9zZWRCZWZvcmVBc3NvY2lhdGlv
bihkaXNjb25uZWN0UmVhc29uKTsKLSAgICB9Ci0gIH07Ci0KLSAgU3RhdGUucHJvdG90eXBlLnJ1
bkFzc29jaWF0aW9uRXZlbnRIYW5kbGVyID0gZnVuY3Rpb24oYXNzb2NpYXRpb25FdmVudCkgewot
ICAgIGlmICh0aGlzLmFzc29jaWF0aW9uRXZlbnRIYW5kbGVyXykgewotICAgICAgdmFyIGhhbmRs
ZXIgPSB0aGlzLmFzc29jaWF0aW9uRXZlbnRIYW5kbGVyXzsKLSAgICAgIHRoaXMuYXNzb2NpYXRp
b25FdmVudEhhbmRsZXJfID0gbnVsbDsKLSAgICAgIGhhbmRsZXIoYXNzb2NpYXRpb25FdmVudCk7
Ci0gICAgfQotICB9OwotCi0gIFN0YXRlLnByb3RvdHlwZS5zZXRBc3NvY2lhdGlvbkV2ZW50SGFu
ZGxlciA9IGZ1bmN0aW9uKGhhbmRsZXIpIHsKLSAgICBpZiAoIXRoaXMucGVuZGluZ0Fzc29jaWF0
aW9uICYmCi0gICAgICAgICFpbnRlcm5hbC5pc1ZhbGlkSW50ZXJmYWNlSWQodGhpcy5pbnRlcmZh
Y2VJZCkpIHsKLSAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBpZiAoIWhhbmRsZXIpIHsKLSAg
ICAgIHRoaXMuYXNzb2NpYXRpb25FdmVudEhhbmRsZXJfID0gbnVsbDsKLSAgICAgIHJldHVybjsK
LSAgICB9Ci0KLSAgICB0aGlzLmFzc29jaWF0aW9uRXZlbnRIYW5kbGVyXyA9IGhhbmRsZXI7Ci0g
ICAgaWYgKCF0aGlzLnBlbmRpbmdBc3NvY2lhdGlvbikgewotICAgICAgc2V0VGltZW91dCh0aGlz
LnJ1bkFzc29jaWF0aW9uRXZlbnRIYW5kbGVyLmJpbmQodGhpcywKLSAgICAgICAgICBBc3NvY2lh
dGlvbkV2ZW50LkFTU09DSUFURUQpLCAwKTsKLSAgICB9IGVsc2UgaWYgKCF0aGlzLnBlZXJTdGF0
ZV8pIHsKLSAgICAgIHNldFRpbWVvdXQodGhpcy5ydW5Bc3NvY2lhdGlvbkV2ZW50SGFuZGxlci5i
aW5kKHRoaXMsCi0gICAgICAgICAgQXNzb2NpYXRpb25FdmVudC5QRUVSX0NMT1NFRF9CRUZPUkVf
QVNTT0NJQVRJT04pLCAwKTsKLSAgICB9Ci0gIH07Ci0KLSAgU3RhdGUucHJvdG90eXBlLm5vdGlm
eUFzc29jaWF0aW9uID0gZnVuY3Rpb24oaW50ZXJmYWNlSWQsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBlZXJHcm91cENvbnRyb2xsZXIpIHsKLSAgICB2
YXIgY2FjaGVkUGVlclN0YXRlID0gdGhpcy5wZWVyU3RhdGVfOwotICAgIHRoaXMucGVlclN0YXRl
XyA9IG51bGw7Ci0KLSAgICB0aGlzLnBlbmRpbmdBc3NvY2lhdGlvbiA9IGZhbHNlOwotCi0gICAg
aWYgKGNhY2hlZFBlZXJTdGF0ZSkgewotICAgICAgY2FjaGVkUGVlclN0YXRlLm9uQXNzb2NpYXRl
ZChpbnRlcmZhY2VJZCwgcGVlckdyb3VwQ29udHJvbGxlcik7Ci0gICAgICByZXR1cm4gdHJ1ZTsK
LSAgICB9Ci0gICAgcmV0dXJuIGZhbHNlOwotICB9OwotCi0gIFN0YXRlLnByb3RvdHlwZS5vbkFz
c29jaWF0ZWQgPSBmdW5jdGlvbihpbnRlcmZhY2VJZCwKLSAgICAgIGFzc29jaWF0ZWRHcm91cENv
bnRyb2xsZXIpIHsKLSAgICBpZiAoIXRoaXMucGVuZGluZ0Fzc29jaWF0aW9uKSB7Ci0gICAgICBy
ZXR1cm47Ci0gICAgfQotCi0gICAgdGhpcy5wZW5kaW5nQXNzb2NpYXRpb24gPSBmYWxzZTsKLSAg
ICB0aGlzLnBlZXJTdGF0ZV8gPSBudWxsOwotICAgIHRoaXMuaW50ZXJmYWNlSWQgPSBpbnRlcmZh
Y2VJZDsKLSAgICB0aGlzLmFzc29jaWF0ZWRHcm91cENvbnRyb2xsZXIgPSBhc3NvY2lhdGVkR3Jv
dXBDb250cm9sbGVyOwotICAgIHRoaXMucnVuQXNzb2NpYXRpb25FdmVudEhhbmRsZXIoQXNzb2Np
YXRpb25FdmVudC5BU1NPQ0lBVEVEKTsKLSAgfTsKLQotICBTdGF0ZS5wcm90b3R5cGUub25QZWVy
Q2xvc2VkQmVmb3JlQXNzb2NpYXRpb24gPSBmdW5jdGlvbihkaXNjb25uZWN0UmVhc29uKSB7Ci0g
ICAgaWYgKCF0aGlzLnBlbmRpbmdBc3NvY2lhdGlvbikgewotICAgICAgcmV0dXJuOwotICAgIH0K
LQotICAgIHRoaXMucGVlclN0YXRlXyA9IG51bGw7Ci0gICAgdGhpcy5kaXNjb25uZWN0UmVhc29u
ID0gZGlzY29ubmVjdFJlYXNvbjsKLQotICAgIHRoaXMucnVuQXNzb2NpYXRpb25FdmVudEhhbmRs
ZXIoCi0gICAgICAgIEFzc29jaWF0aW9uRXZlbnQuUEVFUl9DTE9TRURfQkVGT1JFX0FTU09DSUFU
SU9OKTsKLSAgfTsKLQotICBmdW5jdGlvbiBjcmVhdGVQYWlyUGVuZGluZ0Fzc29jaWF0aW9uKCkg
ewotICAgIHZhciBoYW5kbGUwID0gbmV3IEludGVyZmFjZUVuZHBvaW50SGFuZGxlKCk7Ci0gICAg
dmFyIGhhbmRsZTEgPSBuZXcgSW50ZXJmYWNlRW5kcG9pbnRIYW5kbGUoKTsKLSAgICBoYW5kbGUw
LnN0YXRlXy5pbml0UGVuZGluZ1N0YXRlKGhhbmRsZTEuc3RhdGVfKTsKLSAgICBoYW5kbGUxLnN0
YXRlXy5pbml0UGVuZGluZ1N0YXRlKGhhbmRsZTAuc3RhdGVfKTsKLSAgICByZXR1cm4ge2hhbmRs
ZTA6IGhhbmRsZTAsIGhhbmRsZTE6IGhhbmRsZTF9OwotICB9Ci0KLSAgZnVuY3Rpb24gSW50ZXJm
YWNlRW5kcG9pbnRIYW5kbGUoaW50ZXJmYWNlSWQsIGFzc29jaWF0ZWRHcm91cENvbnRyb2xsZXIp
IHsKLSAgICB0aGlzLnN0YXRlXyA9IG5ldyBTdGF0ZShpbnRlcmZhY2VJZCwgYXNzb2NpYXRlZEdy
b3VwQ29udHJvbGxlcik7Ci0gIH0KLQotICBJbnRlcmZhY2VFbmRwb2ludEhhbmRsZS5wcm90b3R5
cGUuaXNWYWxpZCA9IGZ1bmN0aW9uKCkgewotICAgIHJldHVybiB0aGlzLnN0YXRlXy5pc1ZhbGlk
KCk7Ci0gIH07Ci0KLSAgSW50ZXJmYWNlRW5kcG9pbnRIYW5kbGUucHJvdG90eXBlLnBlbmRpbmdB
c3NvY2lhdGlvbiA9IGZ1bmN0aW9uKCkgewotICAgIHJldHVybiB0aGlzLnN0YXRlXy5wZW5kaW5n
QXNzb2NpYXRpb247Ci0gIH07Ci0KLSAgSW50ZXJmYWNlRW5kcG9pbnRIYW5kbGUucHJvdG90eXBl
LmlkID0gZnVuY3Rpb24oKSB7Ci0gICAgcmV0dXJuIHRoaXMuc3RhdGVfLmludGVyZmFjZUlkOwot
ICB9OwotCi0gIEludGVyZmFjZUVuZHBvaW50SGFuZGxlLnByb3RvdHlwZS5ncm91cENvbnRyb2xs
ZXIgPSBmdW5jdGlvbigpIHsKLSAgICByZXR1cm4gdGhpcy5zdGF0ZV8uYXNzb2NpYXRlZEdyb3Vw
Q29udHJvbGxlcjsKLSAgfTsKLQotICBJbnRlcmZhY2VFbmRwb2ludEhhbmRsZS5wcm90b3R5cGUu
ZGlzY29ubmVjdFJlYXNvbiA9IGZ1bmN0aW9uKCkgewotICAgIHJldHVybiB0aGlzLnN0YXRlXy5k
aXNjb25uZWN0UmVhc29uOwotICB9OwotCi0gIEludGVyZmFjZUVuZHBvaW50SGFuZGxlLnByb3Rv
dHlwZS5zZXRBc3NvY2lhdGlvbkV2ZW50SGFuZGxlciA9IGZ1bmN0aW9uKAotICAgICAgaGFuZGxl
cikgewotICAgIHRoaXMuc3RhdGVfLnNldEFzc29jaWF0aW9uRXZlbnRIYW5kbGVyKGhhbmRsZXIp
OwotICB9OwotCi0gIEludGVyZmFjZUVuZHBvaW50SGFuZGxlLnByb3RvdHlwZS5ub3RpZnlBc3Nv
Y2lhdGlvbiA9IGZ1bmN0aW9uKGludGVyZmFjZUlkLAotICAgICAgcGVlckdyb3VwQ29udHJvbGxl
cikgewotICAgIHJldHVybiB0aGlzLnN0YXRlXy5ub3RpZnlBc3NvY2lhdGlvbihpbnRlcmZhY2VJ
ZCwgcGVlckdyb3VwQ29udHJvbGxlcik7Ci0gIH07Ci0KLSAgSW50ZXJmYWNlRW5kcG9pbnRIYW5k
bGUucHJvdG90eXBlLnJlc2V0ID0gZnVuY3Rpb24ocmVhc29uKSB7Ci0gICAgdGhpcy5zdGF0ZV8u
Y2xvc2UocmVhc29uKTsKLSAgICB0aGlzLnN0YXRlXyA9IG5ldyBTdGF0ZSgpOwotICB9OwotCi0g
IGludGVybmFsLkFzc29jaWF0aW9uRXZlbnQgPSBBc3NvY2lhdGlvbkV2ZW50OwotICBpbnRlcm5h
bC5JbnRlcmZhY2VFbmRwb2ludEhhbmRsZSA9IEludGVyZmFjZUVuZHBvaW50SGFuZGxlOwotICBp
bnRlcm5hbC5jcmVhdGVQYWlyUGVuZGluZ0Fzc29jaWF0aW9uID0gY3JlYXRlUGFpclBlbmRpbmdB
c3NvY2lhdGlvbjsKLX0pKCk7Ci0vLyBDb3B5cmlnaHQgMjAxNyBUaGUgQ2hyb21pdW0gQXV0aG9y
cy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLS8vIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdv
dmVybmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKLS8vIGZvdW5kIGluIHRo
ZSBMSUNFTlNFIGZpbGUuCi0KLShmdW5jdGlvbigpIHsKLSAgdmFyIGludGVybmFsID0gbW9qby5p
bnRlcm5hbDsKLQotICBmdW5jdGlvbiB2YWxpZGF0ZUNvbnRyb2xSZXF1ZXN0V2l0aG91dFJlc3Bv
bnNlKG1lc3NhZ2UpIHsKLSAgICB2YXIgbWVzc2FnZVZhbGlkYXRvciA9IG5ldyBpbnRlcm5hbC5W
YWxpZGF0b3IobWVzc2FnZSk7Ci0gICAgdmFyIGVycm9yID0gbWVzc2FnZVZhbGlkYXRvci52YWxp
ZGF0ZU1lc3NhZ2VJc1JlcXVlc3RXaXRob3V0UmVzcG9uc2UoKTsKLSAgICBpZiAoZXJyb3IgIT0g
aW50ZXJuYWwudmFsaWRhdGlvbkVycm9yLk5PTkUpIHsKLSAgICAgIHRocm93IGVycm9yOwotICAg
IH0KLQotICAgIGlmIChtZXNzYWdlLmdldE5hbWUoKSAhPSBtb2pvLnBpcGVDb250cm9sMi5rUnVu
T3JDbG9zZVBpcGVNZXNzYWdlSWQpIHsKLSAgICAgIHRocm93IG5ldyBFcnJvcigiQ29udHJvbCBt
ZXNzYWdlIG5hbWUgaXMgbm90IGtSdW5PckNsb3NlUGlwZU1lc3NhZ2VJZCIpOwotICAgIH0KLQot
ICAgIC8vIFZhbGlkYXRlIHBheWxvYWQuCi0gICAgZXJyb3IgPSBtb2pvLnBpcGVDb250cm9sMi5S
dW5PckNsb3NlUGlwZU1lc3NhZ2VQYXJhbXMudmFsaWRhdGUoCi0gICAgICAgIG1lc3NhZ2VWYWxp
ZGF0b3IsIG1lc3NhZ2UuZ2V0SGVhZGVyTnVtQnl0ZXMoKSk7Ci0gICAgaWYgKGVycm9yICE9IGlu
dGVybmFsLnZhbGlkYXRpb25FcnJvci5OT05FKSB7Ci0gICAgICB0aHJvdyBlcnJvcjsKLSAgICB9
Ci0gIH0KLQotICBmdW5jdGlvbiBydW5PckNsb3NlUGlwZShtZXNzYWdlLCBkZWxlZ2F0ZSkgewot
ICAgIHZhciByZWFkZXIgPSBuZXcgaW50ZXJuYWwuTWVzc2FnZVJlYWRlcihtZXNzYWdlKTsKLSAg
ICB2YXIgcnVuT3JDbG9zZVBpcGVNZXNzYWdlUGFyYW1zID0gcmVhZGVyLmRlY29kZVN0cnVjdCgK
LSAgICAgICAgbW9qby5waXBlQ29udHJvbDIuUnVuT3JDbG9zZVBpcGVNZXNzYWdlUGFyYW1zKTsK
LSAgICB2YXIgZXZlbnQgPSBydW5PckNsb3NlUGlwZU1lc3NhZ2VQYXJhbXMuaW5wdXQKLSAgICAg
ICAgLnBlZXJBc3NvY2lhdGVkRW5kcG9pbnRDbG9zZWRFdmVudDsKLSAgICByZXR1cm4gZGVsZWdh
dGUub25QZWVyQXNzb2NpYXRlZEVuZHBvaW50Q2xvc2VkKGV2ZW50LmlkLAotICAgICAgICBldmVu
dC5kaXNjb25uZWN0UmVhc29uKTsKLSAgfQotCi0gIGZ1bmN0aW9uIGlzUGlwZUNvbnRyb2xNZXNz
YWdlKG1lc3NhZ2UpIHsKLSAgICByZXR1cm4gIWludGVybmFsLmlzVmFsaWRJbnRlcmZhY2VJZCht
ZXNzYWdlLmdldEludGVyZmFjZUlkKCkpOwotICB9Ci0KLSAgZnVuY3Rpb24gUGlwZUNvbnRyb2xN
ZXNzYWdlSGFuZGxlcihkZWxlZ2F0ZSkgewotICAgIHRoaXMuZGVsZWdhdGVfID0gZGVsZWdhdGU7
Ci0gIH0KLQotICBQaXBlQ29udHJvbE1lc3NhZ2VIYW5kbGVyLnByb3RvdHlwZS5hY2NlcHQgPSBm
dW5jdGlvbihtZXNzYWdlKSB7Ci0gICAgdmFsaWRhdGVDb250cm9sUmVxdWVzdFdpdGhvdXRSZXNw
b25zZShtZXNzYWdlKTsKLSAgICByZXR1cm4gcnVuT3JDbG9zZVBpcGUobWVzc2FnZSwgdGhpcy5k
ZWxlZ2F0ZV8pOwotICB9OwotCi0gIGludGVybmFsLlBpcGVDb250cm9sTWVzc2FnZUhhbmRsZXIg
PSBQaXBlQ29udHJvbE1lc3NhZ2VIYW5kbGVyOwotICBpbnRlcm5hbC5pc1BpcGVDb250cm9sTWVz
c2FnZSA9IGlzUGlwZUNvbnRyb2xNZXNzYWdlOwotfSkoKTsKLS8vIENvcHlyaWdodCAyMDE3IFRo
ZSBDaHJvbWl1bSBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotLy8gVXNlIG9mIHRoaXMg
c291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBi
ZQotLy8gZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KLQotKGZ1bmN0aW9uKCkgewotICB2YXIg
aW50ZXJuYWwgPSBtb2pvLmludGVybmFsOwotCi0gIGZ1bmN0aW9uIGNvbnN0cnVjdFJ1bk9yQ2xv
c2VQaXBlTWVzc2FnZShydW5PckNsb3NlUGlwZUlucHV0KSB7Ci0gICAgdmFyIHJ1bk9yQ2xvc2VQ
aXBlTWVzc2FnZVBhcmFtcyA9IG5ldwotICAgICAgICBtb2pvLnBpcGVDb250cm9sMi5SdW5PckNs
b3NlUGlwZU1lc3NhZ2VQYXJhbXMoKTsKLSAgICBydW5PckNsb3NlUGlwZU1lc3NhZ2VQYXJhbXMu
aW5wdXQgPSBydW5PckNsb3NlUGlwZUlucHV0OwotCi0gICAgdmFyIG1lc3NhZ2VOYW1lID0gbW9q
by5waXBlQ29udHJvbDIua1J1bk9yQ2xvc2VQaXBlTWVzc2FnZUlkOwotICAgIHZhciBwYXlsb2Fk
U2l6ZSA9Ci0gICAgICAgIG1vam8ucGlwZUNvbnRyb2wyLlJ1bk9yQ2xvc2VQaXBlTWVzc2FnZVBh
cmFtcy5lbmNvZGVkU2l6ZTsKLQotICAgIHZhciBidWlsZGVyID0gbmV3IGludGVybmFsLk1lc3Nh
Z2VWMEJ1aWxkZXIobWVzc2FnZU5hbWUsIHBheWxvYWRTaXplKTsKLSAgICBidWlsZGVyLmVuY29k
ZVN0cnVjdChtb2pvLnBpcGVDb250cm9sMi5SdW5PckNsb3NlUGlwZU1lc3NhZ2VQYXJhbXMsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgcnVuT3JDbG9zZVBpcGVNZXNzYWdlUGFyYW1zKTsKLSAg
ICB2YXIgbWVzc2FnZSA9IGJ1aWxkZXIuZmluaXNoKCk7Ci0gICAgbWVzc2FnZS5zZXRJbnRlcmZh
Y2VJZChpbnRlcm5hbC5rSW52YWxpZEludGVyZmFjZUlkKTsKLSAgICByZXR1cm4gbWVzc2FnZTsK
LSAgfQotCi0gIGZ1bmN0aW9uIFBpcGVDb250cm9sTWVzc2FnZVByb3h5KHJlY2VpdmVyKSB7Ci0g
ICAgdGhpcy5yZWNlaXZlcl8gPSByZWNlaXZlcjsKLSAgfQotCi0gIFBpcGVDb250cm9sTWVzc2Fn
ZVByb3h5LnByb3RvdHlwZS5ub3RpZnlQZWVyRW5kcG9pbnRDbG9zZWQgPSBmdW5jdGlvbigKLSAg
ICAgIGludGVyZmFjZUlkLCByZWFzb24pIHsKLSAgICB2YXIgbWVzc2FnZSA9IHRoaXMuY29uc3Ry
dWN0UGVlckVuZHBvaW50Q2xvc2VkTWVzc2FnZShpbnRlcmZhY2VJZCwgcmVhc29uKTsKLSAgICB0
aGlzLnJlY2VpdmVyXy5hY2NlcHQobWVzc2FnZSk7Ci0gIH07Ci0KLSAgUGlwZUNvbnRyb2xNZXNz
YWdlUHJveHkucHJvdG90eXBlLmNvbnN0cnVjdFBlZXJFbmRwb2ludENsb3NlZE1lc3NhZ2UgPQot
ICAgICAgZnVuY3Rpb24oaW50ZXJmYWNlSWQsIHJlYXNvbikgewotICAgIHZhciBldmVudCA9IG5l
dyBtb2pvLnBpcGVDb250cm9sMi5QZWVyQXNzb2NpYXRlZEVuZHBvaW50Q2xvc2VkRXZlbnQoKTsK
LSAgICBldmVudC5pZCA9IGludGVyZmFjZUlkOwotICAgIGlmIChyZWFzb24pIHsKLSAgICAgIGV2
ZW50LmRpc2Nvbm5lY3RSZWFzb24gPSBuZXcgbW9qby5waXBlQ29udHJvbDIuRGlzY29ubmVjdFJl
YXNvbih7Ci0gICAgICAgICAgY3VzdG9tUmVhc29uOiByZWFzb24uY3VzdG9tUmVhc29uLAotICAg
ICAgICAgIGRlc2NyaXB0aW9uOiByZWFzb24uZGVzY3JpcHRpb259KTsKLSAgICB9Ci0gICAgdmFy
IHJ1bk9yQ2xvc2VQaXBlSW5wdXQgPSBuZXcgbW9qby5waXBlQ29udHJvbDIuUnVuT3JDbG9zZVBp
cGVJbnB1dCgpOwotICAgIHJ1bk9yQ2xvc2VQaXBlSW5wdXQucGVlckFzc29jaWF0ZWRFbmRwb2lu
dENsb3NlZEV2ZW50ID0gZXZlbnQ7Ci0gICAgcmV0dXJuIGNvbnN0cnVjdFJ1bk9yQ2xvc2VQaXBl
TWVzc2FnZShydW5PckNsb3NlUGlwZUlucHV0KTsKLSAgfTsKLQotICBpbnRlcm5hbC5QaXBlQ29u
dHJvbE1lc3NhZ2VQcm94eSA9IFBpcGVDb250cm9sTWVzc2FnZVByb3h5OwotfSkoKTsKLS8vIENv
cHlyaWdodCAyMDE0IFRoZSBDaHJvbWl1bSBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgot
Ly8gVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGlj
ZW5zZSB0aGF0IGNhbiBiZQotLy8gZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KLQotKGZ1bmN0
aW9uKCkgewotICB2YXIgaW50ZXJuYWwgPSBtb2pvLmludGVybmFsOwotCi0gIC8qKgotICAgKiBU
aGUgc3RhdGUgb2YgfGVuZHBvaW50fC4gSWYgYm90aCB0aGUgZW5kcG9pbnQgYW5kIGl0cyBwZWVy
IGhhdmUgYmVlbgotICAgKiBjbG9zZWQsIHJlbW92ZXMgaXQgZnJvbSB8ZW5kcG9pbnRzX3wuCi0g
ICAqIEBlbnVtIHtzdHJpbmd9Ci0gICAqLwotICB2YXIgRW5kcG9pbnRTdGF0ZVVwZGF0ZVR5cGUg
PSB7Ci0gICAgRU5EUE9JTlRfQ0xPU0VEOiAnZW5kcG9pbnRfY2xvc2VkJywKLSAgICBQRUVSX0VO
RFBPSU5UX0NMT1NFRDogJ3BlZXJfZW5kcG9pbnRfY2xvc2VkJwotICB9OwotCi0gIGZ1bmN0aW9u
IGNoZWNrKGNvbmRpdGlvbiwgb3V0cHV0KSB7Ci0gICAgaWYgKCFjb25kaXRpb24pIHsKLSAgICAg
IC8vIHRlc3RoYXJuZXNzLmpzIGRvZXMgbm90IHJldGhyb3cgZXJyb3JzIHNvIHRoZSBlcnJvciBz
dGFjayBuZWVkcyB0byBiZQotICAgICAgLy8gaW5jbHVkZWQgYXMgYSBzdHJpbmcgaW4gdGhlIGVy
cm9yIHdlIHRocm93IGZvciBkZWJ1Z2dpbmcgbGF5b3V0IHRlc3RzLgotICAgICAgdGhyb3cgbmV3
IEVycm9yKChuZXcgRXJyb3IoKSkuc3RhY2spOwotICAgIH0KLSAgfQotCi0gIGZ1bmN0aW9uIElu
dGVyZmFjZUVuZHBvaW50KHJvdXRlciwgaW50ZXJmYWNlSWQpIHsKLSAgICB0aGlzLnJvdXRlcl8g
PSByb3V0ZXI7Ci0gICAgdGhpcy5pZCA9IGludGVyZmFjZUlkOwotICAgIHRoaXMuY2xvc2VkID0g
ZmFsc2U7Ci0gICAgdGhpcy5wZWVyQ2xvc2VkID0gZmFsc2U7Ci0gICAgdGhpcy5oYW5kbGVDcmVh
dGVkID0gZmFsc2U7Ci0gICAgdGhpcy5kaXNjb25uZWN0UmVhc29uID0gbnVsbDsKLSAgICB0aGlz
LmNsaWVudCA9IG51bGw7Ci0gIH0KLQotICBJbnRlcmZhY2VFbmRwb2ludC5wcm90b3R5cGUuc2Vu
ZE1lc3NhZ2UgPSBmdW5jdGlvbihtZXNzYWdlKSB7Ci0gICAgbWVzc2FnZS5zZXRJbnRlcmZhY2VJ
ZCh0aGlzLmlkKTsKLSAgICByZXR1cm4gdGhpcy5yb3V0ZXJfLmNvbm5lY3Rvcl8uYWNjZXB0KG1l
c3NhZ2UpOwotICB9OwotCi0gIGZ1bmN0aW9uIFJvdXRlcihoYW5kbGUsIHNldEludGVyZmFjZUlk
TmFtZXNwYWNlQml0KSB7Ci0gICAgaWYgKCEoaGFuZGxlIGluc3RhbmNlb2YgTW9qb0hhbmRsZSkp
IHsKLSAgICAgIHRocm93IG5ldyBFcnJvcigiUm91dGVyIGNvbnN0cnVjdG9yOiBOb3QgYSBoYW5k
bGUiKTsKLSAgICB9Ci0gICAgaWYgKHNldEludGVyZmFjZUlkTmFtZXNwYWNlQml0ID09PSB1bmRl
ZmluZWQpIHsKLSAgICAgIHNldEludGVyZmFjZUlkTmFtZXNwYWNlQml0ID0gZmFsc2U7Ci0gICAg
fQotCi0gICAgdGhpcy5jb25uZWN0b3JfID0gbmV3IGludGVybmFsLkNvbm5lY3RvcihoYW5kbGUp
OwotCi0gICAgdGhpcy5jb25uZWN0b3JfLnNldEluY29taW5nUmVjZWl2ZXIoewotICAgICAgICBh
Y2NlcHQ6IHRoaXMuYWNjZXB0LmJpbmQodGhpcyksCi0gICAgfSk7Ci0gICAgdGhpcy5jb25uZWN0
b3JfLnNldEVycm9ySGFuZGxlcih7Ci0gICAgICAgIG9uRXJyb3I6IHRoaXMub25QaXBlQ29ubmVj
dGlvbkVycm9yLmJpbmQodGhpcyksCi0gICAgfSk7Ci0KLSAgICB0aGlzLnNldEludGVyZmFjZUlk
TmFtZXNwYWNlQml0XyA9IHNldEludGVyZmFjZUlkTmFtZXNwYWNlQml0OwotICAgIC8vIHxjYWNo
ZWRNZXNzYWdlRGF0YXwgY2FjaGVzIGluZm9tYXRpb24gYWJvdXQgYSBtZXNzYWdlLCBzbyBpdCBj
YW4gYmUKLSAgICAvLyBwcm9jZXNzZWQgbGF0ZXIgaWYgYSBjbGllbnQgaXMgbm90IHlldCBhdHRh
Y2hlZCB0byB0aGUgdGFyZ2V0IGVuZHBvaW50LgotICAgIHRoaXMuY2FjaGVkTWVzc2FnZURhdGEg
PSBudWxsOwotICAgIHRoaXMuY29udHJvbE1lc3NhZ2VIYW5kbGVyXyA9IG5ldyBpbnRlcm5hbC5Q
aXBlQ29udHJvbE1lc3NhZ2VIYW5kbGVyKHRoaXMpOwotICAgIHRoaXMuY29udHJvbE1lc3NhZ2VQ
cm94eV8gPQotICAgICAgICBuZXcgaW50ZXJuYWwuUGlwZUNvbnRyb2xNZXNzYWdlUHJveHkodGhp
cy5jb25uZWN0b3JfKTsKLSAgICB0aGlzLm5leHRJbnRlcmZhY2VJZFZhbHVlXyA9IDE7Ci0gICAg
dGhpcy5lbmNvdW50ZXJlZEVycm9yXyA9IGZhbHNlOwotICAgIHRoaXMuZW5kcG9pbnRzXyA9IG5l
dyBNYXAoKTsKLSAgfQotCi0gIFJvdXRlci5wcm90b3R5cGUuYXNzb2NpYXRlSW50ZXJmYWNlID0g
ZnVuY3Rpb24oaGFuZGxlVG9TZW5kKSB7Ci0gICAgaWYgKCFoYW5kbGVUb1NlbmQucGVuZGluZ0Fz
c29jaWF0aW9uKCkpIHsKLSAgICAgIHJldHVybiBpbnRlcm5hbC5rSW52YWxpZEludGVyZmFjZUlk
OwotICAgIH0KLQotICAgIHZhciBpZCA9IDA7Ci0gICAgZG8gewotICAgICAgaWYgKHRoaXMubmV4
dEludGVyZmFjZUlkVmFsdWVfID49IGludGVybmFsLmtJbnRlcmZhY2VJZE5hbWVzcGFjZU1hc2sp
IHsKLSAgICAgICAgdGhpcy5uZXh0SW50ZXJmYWNlSWRWYWx1ZV8gPSAxOwotICAgICAgfQotICAg
ICAgaWQgPSB0aGlzLm5leHRJbnRlcmZhY2VJZFZhbHVlXysrOwotICAgICAgaWYgKHRoaXMuc2V0
SW50ZXJmYWNlSWROYW1lc3BhY2VCaXRfKSB7Ci0gICAgICAgIGlkICs9IGludGVybmFsLmtJbnRl
cmZhY2VJZE5hbWVzcGFjZU1hc2s7Ci0gICAgICB9Ci0gICAgfSB3aGlsZSAodGhpcy5lbmRwb2lu
dHNfLmhhcyhpZCkpOwotCi0gICAgdmFyIGVuZHBvaW50ID0gbmV3IEludGVyZmFjZUVuZHBvaW50
KHRoaXMsIGlkKTsKLSAgICB0aGlzLmVuZHBvaW50c18uc2V0KGlkLCBlbmRwb2ludCk7Ci0gICAg
aWYgKHRoaXMuZW5jb3VudGVyZWRFcnJvcl8pIHsKLSAgICAgIHRoaXMudXBkYXRlRW5kcG9pbnRT
dGF0ZU1heVJlbW92ZShlbmRwb2ludCwKLSAgICAgICAgICBFbmRwb2ludFN0YXRlVXBkYXRlVHlw
ZS5QRUVSX0VORFBPSU5UX0NMT1NFRCk7Ci0gICAgfQotICAgIGVuZHBvaW50LmhhbmRsZUNyZWF0
ZWQgPSB0cnVlOwotCi0gICAgaWYgKCFoYW5kbGVUb1NlbmQubm90aWZ5QXNzb2NpYXRpb24oaWQs
IHRoaXMpKSB7Ci0gICAgICAvLyBUaGUgcGVlciBoYW5kbGUgb2YgfGhhbmRsZVRvU2VuZHwsIHdo
aWNoIGlzIHN1cHBvc2VkIHRvIGpvaW4gdGhpcwotICAgICAgLy8gYXNzb2NpYXRlZCBncm91cCwg
aGFzIGJlZW4gY2xvc2VkLgotICAgICAgdGhpcy51cGRhdGVFbmRwb2ludFN0YXRlTWF5UmVtb3Zl
KGVuZHBvaW50LAotICAgICAgICAgIEVuZHBvaW50U3RhdGVVcGRhdGVUeXBlLkVORFBPSU5UX0NM
T1NFRCk7Ci0KLSAgICAgIHBpcGVDb250cm9sTWVzc2FnZXByb3h5Lm5vdGlmeVBlZXJFbmRwb2lu
dENsb3NlZChpZCwKLSAgICAgICAgICBoYW5kbGVUb1NlbmQuZGlzY29ubmVjdFJlYXNvbigpKTsK
LSAgICB9Ci0KLSAgICByZXR1cm4gaWQ7Ci0gIH07Ci0KLSAgUm91dGVyLnByb3RvdHlwZS5hdHRh
Y2hFbmRwb2ludENsaWVudCA9IGZ1bmN0aW9uKAotICAgICAgaW50ZXJmYWNlRW5kcG9pbnRIYW5k
bGUsIGludGVyZmFjZUVuZHBvaW50Q2xpZW50KSB7Ci0gICAgY2hlY2soaW50ZXJuYWwuaXNWYWxp
ZEludGVyZmFjZUlkKGludGVyZmFjZUVuZHBvaW50SGFuZGxlLmlkKCkpKTsKLSAgICBjaGVjayhp
bnRlcmZhY2VFbmRwb2ludENsaWVudCk7Ci0KLSAgICB2YXIgZW5kcG9pbnQgPSB0aGlzLmVuZHBv
aW50c18uZ2V0KGludGVyZmFjZUVuZHBvaW50SGFuZGxlLmlkKCkpOwotICAgIGNoZWNrKGVuZHBv
aW50KTsKLSAgICBjaGVjayghZW5kcG9pbnQuY2xpZW50KTsKLSAgICBjaGVjayghZW5kcG9pbnQu
Y2xvc2VkKTsKLSAgICBlbmRwb2ludC5jbGllbnQgPSBpbnRlcmZhY2VFbmRwb2ludENsaWVudDsK
LQotICAgIGlmIChlbmRwb2ludC5wZWVyQ2xvc2VkKSB7Ci0gICAgICBzZXRUaW1lb3V0KGVuZHBv
aW50LmNsaWVudC5ub3RpZnlFcnJvci5iaW5kKGVuZHBvaW50LmNsaWVudCksIDApOwotICAgIH0K
LQotICAgIGlmICh0aGlzLmNhY2hlZE1lc3NhZ2VEYXRhICYmIGludGVyZmFjZUVuZHBvaW50SGFu
ZGxlLmlkKCkgPT09Ci0gICAgICAgIHRoaXMuY2FjaGVkTWVzc2FnZURhdGEubWVzc2FnZS5nZXRJ
bnRlcmZhY2VJZCgpKSB7Ci0gICAgICBzZXRUaW1lb3V0KChmdW5jdGlvbigpIHsKLSAgICAgICAg
aWYgKCF0aGlzLmNhY2hlZE1lc3NhZ2VEYXRhKSB7Ci0gICAgICAgICAgcmV0dXJuOwotICAgICAg
ICB9Ci0KLSAgICAgICAgdmFyIHRhcmdldEVuZHBvaW50ID0gdGhpcy5lbmRwb2ludHNfLmdldCgK
LSAgICAgICAgICAgIHRoaXMuY2FjaGVkTWVzc2FnZURhdGEubWVzc2FnZS5nZXRJbnRlcmZhY2VJ
ZCgpKTsKLSAgICAgICAgLy8gQ2hlY2sgdGhhdCB0aGUgdGFyZ2V0IGVuZHBvaW50J3MgY2xpZW50
IHN0aWxsIGV4aXN0cy4KLSAgICAgICAgaWYgKHRhcmdldEVuZHBvaW50ICYmIHRhcmdldEVuZHBv
aW50LmNsaWVudCkgewotICAgICAgICAgIHZhciBtZXNzYWdlID0gdGhpcy5jYWNoZWRNZXNzYWdl
RGF0YS5tZXNzYWdlOwotICAgICAgICAgIHZhciBtZXNzYWdlVmFsaWRhdG9yID0gdGhpcy5jYWNo
ZWRNZXNzYWdlRGF0YS5tZXNzYWdlVmFsaWRhdG9yOwotICAgICAgICAgIHRoaXMuY2FjaGVkTWVz
c2FnZURhdGEgPSBudWxsOwotICAgICAgICAgIHRoaXMuY29ubmVjdG9yXy5yZXN1bWVJbmNvbWlu
Z01ldGhvZENhbGxQcm9jZXNzaW5nKCk7Ci0gICAgICAgICAgdmFyIG9rID0gZW5kcG9pbnQuY2xp
ZW50LmhhbmRsZUluY29taW5nTWVzc2FnZShtZXNzYWdlLAotICAgICAgICAgICAgICBtZXNzYWdl
VmFsaWRhdG9yKTsKLQotICAgICAgICAgIC8vIEhhbmRsZSBpbnZhbGlkIGNhY2hlZCBpbmNvbWlu
ZyBtZXNzYWdlLgotICAgICAgICAgIGlmICghaW50ZXJuYWwuaXNUZXN0aW5nTW9kZSgpICYmICFv
aykgewotICAgICAgICAgICAgdGhpcy5jb25uZWN0b3JfLmhhbmRsZUVycm9yKHRydWUsIHRydWUp
OwotICAgICAgICAgIH0KLSAgICAgICAgfQotICAgICAgfSkuYmluZCh0aGlzKSwgMCk7Ci0gICAg
fQotCi0gICAgcmV0dXJuIGVuZHBvaW50OwotICB9OwotCi0gIFJvdXRlci5wcm90b3R5cGUuZGV0
YWNoRW5kcG9pbnRDbGllbnQgPSBmdW5jdGlvbigKLSAgICAgIGludGVyZmFjZUVuZHBvaW50SGFu
ZGxlKSB7Ci0gICAgY2hlY2soaW50ZXJuYWwuaXNWYWxpZEludGVyZmFjZUlkKGludGVyZmFjZUVu
ZHBvaW50SGFuZGxlLmlkKCkpKTsKLSAgICB2YXIgZW5kcG9pbnQgPSB0aGlzLmVuZHBvaW50c18u
Z2V0KGludGVyZmFjZUVuZHBvaW50SGFuZGxlLmlkKCkpOwotICAgIGNoZWNrKGVuZHBvaW50KTsK
LSAgICBjaGVjayhlbmRwb2ludC5jbGllbnQpOwotICAgIGNoZWNrKCFlbmRwb2ludC5jbG9zZWQp
OwotCi0gICAgZW5kcG9pbnQuY2xpZW50ID0gbnVsbDsKLSAgfTsKLQotICBSb3V0ZXIucHJvdG90
eXBlLmNyZWF0ZUxvY2FsRW5kcG9pbnRIYW5kbGUgPSBmdW5jdGlvbigKLSAgICAgIGludGVyZmFj
ZUlkKSB7Ci0gICAgaWYgKCFpbnRlcm5hbC5pc1ZhbGlkSW50ZXJmYWNlSWQoaW50ZXJmYWNlSWQp
KSB7Ci0gICAgICByZXR1cm4gbmV3IGludGVybmFsLkludGVyZmFjZUVuZHBvaW50SGFuZGxlKCk7
Ci0gICAgfQotCi0gICAgdmFyIGVuZHBvaW50ID0gdGhpcy5lbmRwb2ludHNfLmdldChpbnRlcmZh
Y2VJZCk7Ci0KLSAgICBpZiAoIWVuZHBvaW50KSB7Ci0gICAgICBlbmRwb2ludCA9IG5ldyBJbnRl
cmZhY2VFbmRwb2ludCh0aGlzLCBpbnRlcmZhY2VJZCk7Ci0gICAgICB0aGlzLmVuZHBvaW50c18u
c2V0KGludGVyZmFjZUlkLCBlbmRwb2ludCk7Ci0KLSAgICAgIGNoZWNrKCFlbmRwb2ludC5oYW5k
bGVDcmVhdGVkKTsKLQotICAgICAgaWYgKHRoaXMuZW5jb3VudGVyZWRFcnJvcl8pIHsKLSAgICAg
ICAgdGhpcy51cGRhdGVFbmRwb2ludFN0YXRlTWF5UmVtb3ZlKGVuZHBvaW50LAotICAgICAgICAg
ICAgRW5kcG9pbnRTdGF0ZVVwZGF0ZVR5cGUuUEVFUl9FTkRQT0lOVF9DTE9TRUQpOwotICAgICAg
fQotICAgIH0gZWxzZSB7Ci0gICAgICAvLyBJZiB0aGUgZW5kcG9pbnQgYWxyZWFkeSBleGlzdCwg
aXQgaXMgYmVjYXVzZSB3ZSBoYXZlIHJlY2VpdmVkIGEKLSAgICAgIC8vIG5vdGlmaWNhdGlvbiB0
aGF0IHRoZSBwZWVyIGVuZHBvaW50IGhhcyBjbG9zZWQuCi0gICAgICBjaGVjayghZW5kcG9pbnQu
Y2xvc2VkKTsKLSAgICAgIGNoZWNrKGVuZHBvaW50LnBlZXJDbG9zZWQpOwotCi0gICAgICBpZiAo
ZW5kcG9pbnQuaGFuZGxlQ3JlYXRlZCkgewotICAgICAgICByZXR1cm4gbmV3IGludGVybmFsLklu
dGVyZmFjZUVuZHBvaW50SGFuZGxlKCk7Ci0gICAgICB9Ci0gICAgfQotCi0gICAgZW5kcG9pbnQu
aGFuZGxlQ3JlYXRlZCA9IHRydWU7Ci0gICAgcmV0dXJuIG5ldyBpbnRlcm5hbC5JbnRlcmZhY2VF
bmRwb2ludEhhbmRsZShpbnRlcmZhY2VJZCwgdGhpcyk7Ci0gIH07Ci0KLSAgUm91dGVyLnByb3Rv
dHlwZS5hY2NlcHQgPSBmdW5jdGlvbihtZXNzYWdlKSB7Ci0gICAgdmFyIG1lc3NhZ2VWYWxpZGF0
b3IgPSBuZXcgaW50ZXJuYWwuVmFsaWRhdG9yKG1lc3NhZ2UpOwotICAgIHZhciBlcnIgPSBtZXNz
YWdlVmFsaWRhdG9yLnZhbGlkYXRlTWVzc2FnZUhlYWRlcigpOwotCi0gICAgdmFyIG9rID0gZmFs
c2U7Ci0gICAgaWYgKGVyciAhPT0gaW50ZXJuYWwudmFsaWRhdGlvbkVycm9yLk5PTkUpIHsKLSAg
ICAgIGludGVybmFsLnJlcG9ydFZhbGlkYXRpb25FcnJvcihlcnIpOwotICAgIH0gZWxzZSBpZiAo
bWVzc2FnZS5kZXNlcmlhbGl6ZUFzc29jaWF0ZWRFbmRwb2ludEhhbmRsZXModGhpcykpIHsKLSAg
ICAgIGlmIChpbnRlcm5hbC5pc1BpcGVDb250cm9sTWVzc2FnZShtZXNzYWdlKSkgewotICAgICAg
ICBvayA9IHRoaXMuY29udHJvbE1lc3NhZ2VIYW5kbGVyXy5hY2NlcHQobWVzc2FnZSk7Ci0gICAg
ICB9IGVsc2UgewotICAgICAgICB2YXIgaW50ZXJmYWNlSWQgPSBtZXNzYWdlLmdldEludGVyZmFj
ZUlkKCk7Ci0gICAgICAgIHZhciBlbmRwb2ludCA9IHRoaXMuZW5kcG9pbnRzXy5nZXQoaW50ZXJm
YWNlSWQpOwotICAgICAgICBpZiAoIWVuZHBvaW50IHx8IGVuZHBvaW50LmNsb3NlZCkgewotICAg
ICAgICAgIHJldHVybiB0cnVlOwotICAgICAgICB9Ci0KLSAgICAgICAgaWYgKCFlbmRwb2ludC5j
bGllbnQpIHsKLSAgICAgICAgICAvLyBXZSBuZWVkIHRvIHdhaXQgdW50aWwgYSBjbGllbnQgaXMg
YXR0YWNoZWQgaW4gb3JkZXIgdG8gZGlzcGF0Y2gKLSAgICAgICAgICAvLyBmdXJ0aGVyIG1lc3Nh
Z2VzLgotICAgICAgICAgIHRoaXMuY2FjaGVkTWVzc2FnZURhdGEgPSB7bWVzc2FnZTogbWVzc2Fn
ZSwKLSAgICAgICAgICAgICAgbWVzc2FnZVZhbGlkYXRvcjogbWVzc2FnZVZhbGlkYXRvcn07Ci0g
ICAgICAgICAgdGhpcy5jb25uZWN0b3JfLnBhdXNlSW5jb21pbmdNZXRob2RDYWxsUHJvY2Vzc2lu
ZygpOwotICAgICAgICAgIHJldHVybiB0cnVlOwotICAgICAgICB9Ci0gICAgICAgIG9rID0gZW5k
cG9pbnQuY2xpZW50LmhhbmRsZUluY29taW5nTWVzc2FnZShtZXNzYWdlLCBtZXNzYWdlVmFsaWRh
dG9yKTsKLSAgICAgIH0KLSAgICB9Ci0gICAgcmV0dXJuIG9rOwotICB9OwotCi0gIFJvdXRlci5w
cm90b3R5cGUuY2xvc2UgPSBmdW5jdGlvbigpIHsKLSAgICB0aGlzLmNvbm5lY3Rvcl8uY2xvc2Uo
KTsKLSAgICAvLyBDbG9zaW5nIHRoZSBtZXNzYWdlIHBpcGUgd29uJ3QgdHJpZ2dlciBjb25uZWN0
aW9uIGVycm9yIGhhbmRsZXIuCi0gICAgLy8gRXhwbGljaXRseSBjYWxsIG9uUGlwZUNvbm5lY3Rp
b25FcnJvcigpIHNvIHRoYXQgYXNzb2NpYXRlZCBlbmRwb2ludHMKLSAgICAvLyB3aWxsIGdldCBu
b3RpZmllZC4KLSAgICB0aGlzLm9uUGlwZUNvbm5lY3Rpb25FcnJvcigpOwotICB9OwotCi0gIFJv
dXRlci5wcm90b3R5cGUub25QZWVyQXNzb2NpYXRlZEVuZHBvaW50Q2xvc2VkID0gZnVuY3Rpb24o
aW50ZXJmYWNlSWQsCi0gICAgICByZWFzb24pIHsKLSAgICBjaGVjayghaW50ZXJuYWwuaXNNYXN0
ZXJJbnRlcmZhY2VJZChpbnRlcmZhY2VJZCkgfHwgcmVhc29uKTsKLQotICAgIHZhciBlbmRwb2lu
dCA9IHRoaXMuZW5kcG9pbnRzXy5nZXQoaW50ZXJmYWNlSWQpOwotICAgIGlmICghZW5kcG9pbnQp
IHsKLSAgICAgIGVuZHBvaW50ID0gbmV3IEludGVyZmFjZUVuZHBvaW50KHRoaXMsIGludGVyZmFj
ZUlkKTsKLSAgICAgIHRoaXMuZW5kcG9pbnRzXy5zZXQoaW50ZXJmYWNlSWQsIGVuZHBvaW50KTsK
LSAgICB9Ci0KLSAgICBpZiAocmVhc29uKSB7Ci0gICAgICBlbmRwb2ludC5kaXNjb25uZWN0UmVh
c29uID0gcmVhc29uOwotICAgIH0KLQotICAgIGlmICghZW5kcG9pbnQucGVlckNsb3NlZCkgewot
ICAgICAgaWYgKGVuZHBvaW50LmNsaWVudCkgewotICAgICAgICBzZXRUaW1lb3V0KGVuZHBvaW50
LmNsaWVudC5ub3RpZnlFcnJvci5iaW5kKGVuZHBvaW50LmNsaWVudCwgcmVhc29uKSwKLSAgICAg
ICAgICAgICAgICAgICAwKTsKLSAgICAgIH0KLSAgICAgIHRoaXMudXBkYXRlRW5kcG9pbnRTdGF0
ZU1heVJlbW92ZShlbmRwb2ludCwKLSAgICAgICAgICBFbmRwb2ludFN0YXRlVXBkYXRlVHlwZS5Q
RUVSX0VORFBPSU5UX0NMT1NFRCk7Ci0gICAgfQotICAgIHJldHVybiB0cnVlOwotICB9OwotCi0g
IFJvdXRlci5wcm90b3R5cGUub25QaXBlQ29ubmVjdGlvbkVycm9yID0gZnVuY3Rpb24oKSB7Ci0g
ICAgdGhpcy5lbmNvdW50ZXJlZEVycm9yXyA9IHRydWU7Ci0KLSAgICBmb3IgKHZhciBlbmRwb2lu
dCBvZiB0aGlzLmVuZHBvaW50c18udmFsdWVzKCkpIHsKLSAgICAgIGlmIChlbmRwb2ludC5jbGll
bnQpIHsKLSAgICAgICAgc2V0VGltZW91dCgKLSAgICAgICAgICAgIGVuZHBvaW50LmNsaWVudC5u
b3RpZnlFcnJvci5iaW5kKAotICAgICAgICAgICAgICAgIGVuZHBvaW50LmNsaWVudCwgZW5kcG9p
bnQuZGlzY29ubmVjdFJlYXNvbiksCi0gICAgICAgICAgICAwKTsKLSAgICAgIH0KLSAgICAgIHRo
aXMudXBkYXRlRW5kcG9pbnRTdGF0ZU1heVJlbW92ZShlbmRwb2ludCwKLSAgICAgICAgICBFbmRw
b2ludFN0YXRlVXBkYXRlVHlwZS5QRUVSX0VORFBPSU5UX0NMT1NFRCk7Ci0gICAgfQotICB9Owot
Ci0gIFJvdXRlci5wcm90b3R5cGUuY2xvc2VFbmRwb2ludEhhbmRsZSA9IGZ1bmN0aW9uKGludGVy
ZmFjZUlkLCByZWFzb24pIHsKLSAgICBpZiAoIWludGVybmFsLmlzVmFsaWRJbnRlcmZhY2VJZChp
bnRlcmZhY2VJZCkpIHsKLSAgICAgIHJldHVybjsKLSAgICB9Ci0gICAgdmFyIGVuZHBvaW50ID0g
dGhpcy5lbmRwb2ludHNfLmdldChpbnRlcmZhY2VJZCk7Ci0gICAgY2hlY2soZW5kcG9pbnQpOwot
ICAgIGNoZWNrKCFlbmRwb2ludC5jbGllbnQpOwotICAgIGNoZWNrKCFlbmRwb2ludC5jbG9zZWQp
OwotCi0gICAgdGhpcy51cGRhdGVFbmRwb2ludFN0YXRlTWF5UmVtb3ZlKGVuZHBvaW50LAotICAg
ICAgICBFbmRwb2ludFN0YXRlVXBkYXRlVHlwZS5FTkRQT0lOVF9DTE9TRUQpOwotCi0gICAgaWYg
KCFpbnRlcm5hbC5pc01hc3RlckludGVyZmFjZUlkKGludGVyZmFjZUlkKSB8fCByZWFzb24pIHsK
LSAgICAgIHRoaXMuY29udHJvbE1lc3NhZ2VQcm94eV8ubm90aWZ5UGVlckVuZHBvaW50Q2xvc2Vk
KGludGVyZmFjZUlkLCByZWFzb24pOwotICAgIH0KLQotICAgIGlmICh0aGlzLmNhY2hlZE1lc3Nh
Z2VEYXRhICYmIGludGVyZmFjZUlkID09PQotICAgICAgICB0aGlzLmNhY2hlZE1lc3NhZ2VEYXRh
Lm1lc3NhZ2UuZ2V0SW50ZXJmYWNlSWQoKSkgewotICAgICAgdGhpcy5jYWNoZWRNZXNzYWdlRGF0
YSA9IG51bGw7Ci0gICAgICB0aGlzLmNvbm5lY3Rvcl8ucmVzdW1lSW5jb21pbmdNZXRob2RDYWxs
UHJvY2Vzc2luZygpOwotICAgIH0KLSAgfTsKLQotICBSb3V0ZXIucHJvdG90eXBlLnVwZGF0ZUVu
ZHBvaW50U3RhdGVNYXlSZW1vdmUgPSBmdW5jdGlvbihlbmRwb2ludCwKLSAgICAgIGVuZHBvaW50
U3RhdGVVcGRhdGVUeXBlKSB7Ci0gICAgaWYgKGVuZHBvaW50U3RhdGVVcGRhdGVUeXBlID09PSBF
bmRwb2ludFN0YXRlVXBkYXRlVHlwZS5FTkRQT0lOVF9DTE9TRUQpIHsKLSAgICAgIGVuZHBvaW50
LmNsb3NlZCA9IHRydWU7Ci0gICAgfSBlbHNlIHsKLSAgICAgIGVuZHBvaW50LnBlZXJDbG9zZWQg
PSB0cnVlOwotICAgIH0KLSAgICBpZiAoZW5kcG9pbnQuY2xvc2VkICYmIGVuZHBvaW50LnBlZXJD
bG9zZWQpIHsKLSAgICAgIHRoaXMuZW5kcG9pbnRzXy5kZWxldGUoZW5kcG9pbnQuaWQpOwotICAg
IH0KLSAgfTsKLQotICBpbnRlcm5hbC5Sb3V0ZXIgPSBSb3V0ZXI7Ci19KSgpOwotLy8gQ29weXJp
Z2h0IDIwMTQgVGhlIENocm9taXVtIEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0vLyBV
c2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNl
IHRoYXQgY2FuIGJlCi0vLyBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgotCi0vKioKLSAqIERl
ZmluZXMgZnVuY3Rpb25zIGZvciB0cmFuc2xhdGluZyBiZXR3ZWVuIEphdmFTY3JpcHQgc3RyaW5n
cyBhbmQgVVRGOCBzdHJpbmdzCi0gKiBzdG9yZWQgaW4gQXJyYXlCdWZmZXJzLiBUaGVyZSBpcyBt
dWNoIHJvb20gZm9yIG9wdGltaXphdGlvbiBpbiB0aGlzIGNvZGUgaWYKLSAqIGl0IHByb3ZlcyBu
ZWNlc3NhcnkuCi0gKi8KLShmdW5jdGlvbigpIHsKLSAgdmFyIGludGVybmFsID0gbW9qby5pbnRl
cm5hbDsKLQotICAvKioKLSAgICogRGVjb2RlcyB0aGUgVVRGOCBzdHJpbmcgZnJvbSB0aGUgZ2l2
ZW4gYnVmZmVyLgotICAgKiBAcGFyYW0ge0FycmF5QnVmZmVyVmlld30gYnVmZmVyIFRoZSBidWZm
ZXIgY29udGFpbmluZyBVVEY4IHN0cmluZyBkYXRhLgotICAgKiBAcmV0dXJuIHtzdHJpbmd9IFRo
ZSBjb3JyZXNwb25kaW5nIEphdmFTY3JpcHQgc3RyaW5nLgotICAgKi8KLSAgZnVuY3Rpb24gZGVj
b2RlVXRmOFN0cmluZyhidWZmZXIpIHsKLSAgICByZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KGVz
Y2FwZShTdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwsIGJ1ZmZlcikpKTsKLSAgfQotCi0g
IC8qKgotICAgKiBFbmNvZGVzIHRoZSBnaXZlbiBKYXZhU2NyaXB0IHN0cmluZyBpbnRvIFVURjgu
Ci0gICAqIEBwYXJhbSB7c3RyaW5nfSBzdHIgVGhlIHN0cmluZyB0byBlbmNvZGUuCi0gICAqIEBw
YXJhbSB7QXJyYXlCdWZmZXJWaWV3fSBvdXRwdXRCdWZmZXIgVGhlIGJ1ZmZlciB0byBjb250YWlu
IHRoZSByZXN1bHQuCi0gICAqIFNob3VsZCBiZSBwcmUtYWxsb2NhdGVkIHRvIGhvbGQgZW5vdWdo
IHNwYWNlLiBVc2UgfHV0ZjhMZW5ndGh8IHRvIGRldGVybWluZQotICAgKiBob3cgbXVjaCBzcGFj
ZSBpcyByZXF1aXJlZC4KLSAgICogQHJldHVybiB7bnVtYmVyfSBUaGUgbnVtYmVyIG9mIGJ5dGVz
IHdyaXR0ZW4gdG8gfG91dHB1dEJ1ZmZlcnwuCi0gICAqLwotICBmdW5jdGlvbiBlbmNvZGVVdGY4
U3RyaW5nKHN0ciwgb3V0cHV0QnVmZmVyKSB7Ci0gICAgdmFyIHV0ZjhTdHJpbmcgPSB1bmVzY2Fw
ZShlbmNvZGVVUklDb21wb25lbnQoc3RyKSk7Ci0gICAgaWYgKG91dHB1dEJ1ZmZlci5sZW5ndGgg
PCB1dGY4U3RyaW5nLmxlbmd0aCkKLSAgICAgIHRocm93IG5ldyBFcnJvcigiQnVmZmVyIHRvbyBz
bWFsbCBmb3IgZW5jb2RlVXRmOFN0cmluZyIpOwotICAgIGZvciAodmFyIGkgPSAwOyBpIDwgb3V0
cHV0QnVmZmVyLmxlbmd0aCAmJiBpIDwgdXRmOFN0cmluZy5sZW5ndGg7IGkrKykKLSAgICAgIG91
dHB1dEJ1ZmZlcltpXSA9IHV0ZjhTdHJpbmcuY2hhckNvZGVBdChpKTsKLSAgICByZXR1cm4gaTsK
LSAgfQotCi0gIC8qKgotICAgKiBSZXR1cm5zIHRoZSBudW1iZXIgb2YgYnl0ZXMgdGhhdCBhIFVU
RjggZW5jb2Rpbmcgb2YgdGhlIEphdmFTY3JpcHQgc3RyaW5nCi0gICAqIHxzdHJ8IHdvdWxkIG9j
Y3VweS4KLSAgICovCi0gIGZ1bmN0aW9uIHV0ZjhMZW5ndGgoc3RyKSB7Ci0gICAgdmFyIHV0ZjhT
dHJpbmcgPSB1bmVzY2FwZShlbmNvZGVVUklDb21wb25lbnQoc3RyKSk7Ci0gICAgcmV0dXJuIHV0
ZjhTdHJpbmcubGVuZ3RoOwotICB9Ci0KLSAgaW50ZXJuYWwuZGVjb2RlVXRmOFN0cmluZyA9IGRl
Y29kZVV0ZjhTdHJpbmc7Ci0gIGludGVybmFsLmVuY29kZVV0ZjhTdHJpbmcgPSBlbmNvZGVVdGY4
U3RyaW5nOwotICBpbnRlcm5hbC51dGY4TGVuZ3RoID0gdXRmOExlbmd0aDsKLX0pKCk7Ci0vLyBD
b3B5cmlnaHQgMjAxNCBUaGUgQ2hyb21pdW0gQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
LS8vIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlIGxp
Y2Vuc2UgdGhhdCBjYW4gYmUKLS8vIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCi0KLShmdW5j
dGlvbigpIHsKLSAgdmFyIGludGVybmFsID0gbW9qby5pbnRlcm5hbDsKLQotICB2YXIgdmFsaWRh
dGlvbkVycm9yID0gewotICAgIE5PTkU6ICdWQUxJREFUSU9OX0VSUk9SX05PTkUnLAotICAgIE1J
U0FMSUdORURfT0JKRUNUOiAnVkFMSURBVElPTl9FUlJPUl9NSVNBTElHTkVEX09CSkVDVCcsCi0g
ICAgSUxMRUdBTF9NRU1PUllfUkFOR0U6ICdWQUxJREFUSU9OX0VSUk9SX0lMTEVHQUxfTUVNT1JZ
X1JBTkdFJywKLSAgICBVTkVYUEVDVEVEX1NUUlVDVF9IRUFERVI6ICdWQUxJREFUSU9OX0VSUk9S
X1VORVhQRUNURURfU1RSVUNUX0hFQURFUicsCi0gICAgVU5FWFBFQ1RFRF9BUlJBWV9IRUFERVI6
ICdWQUxJREFUSU9OX0VSUk9SX1VORVhQRUNURURfQVJSQVlfSEVBREVSJywKLSAgICBJTExFR0FM
X0hBTkRMRTogJ1ZBTElEQVRJT05fRVJST1JfSUxMRUdBTF9IQU5ETEUnLAotICAgIFVORVhQRUNU
RURfSU5WQUxJRF9IQU5ETEU6ICdWQUxJREFUSU9OX0VSUk9SX1VORVhQRUNURURfSU5WQUxJRF9I
QU5ETEUnLAotICAgIElMTEVHQUxfUE9JTlRFUjogJ1ZBTElEQVRJT05fRVJST1JfSUxMRUdBTF9Q
T0lOVEVSJywKLSAgICBVTkVYUEVDVEVEX05VTExfUE9JTlRFUjogJ1ZBTElEQVRJT05fRVJST1Jf
VU5FWFBFQ1RFRF9OVUxMX1BPSU5URVInLAotICAgIElMTEVHQUxfSU5URVJGQUNFX0lEOiAnVkFM
SURBVElPTl9FUlJPUl9JTExFR0FMX0lOVEVSRkFDRV9JRCcsCi0gICAgVU5FWFBFQ1RFRF9JTlZB
TElEX0lOVEVSRkFDRV9JRDoKLSAgICAgICAgJ1ZBTElEQVRJT05fRVJST1JfVU5FWFBFQ1RFRF9J
TlZBTElEX0lOVEVSRkFDRV9JRCcsCi0gICAgTUVTU0FHRV9IRUFERVJfSU5WQUxJRF9GTEFHUzoK
LSAgICAgICAgJ1ZBTElEQVRJT05fRVJST1JfTUVTU0FHRV9IRUFERVJfSU5WQUxJRF9GTEFHUycs
Ci0gICAgTUVTU0FHRV9IRUFERVJfTUlTU0lOR19SRVFVRVNUX0lEOgotICAgICAgICAnVkFMSURB
VElPTl9FUlJPUl9NRVNTQUdFX0hFQURFUl9NSVNTSU5HX1JFUVVFU1RfSUQnLAotICAgIERJRkZF
UkVOVF9TSVpFRF9BUlJBWVNfSU5fTUFQOgotICAgICAgICAnVkFMSURBVElPTl9FUlJPUl9ESUZG
RVJFTlRfU0laRURfQVJSQVlTX0lOX01BUCcsCi0gICAgSU5WQUxJRF9VTklPTl9TSVpFOiAnVkFM
SURBVElPTl9FUlJPUl9JTlZBTElEX1VOSU9OX1NJWkUnLAotICAgIFVORVhQRUNURURfTlVMTF9V
TklPTjogJ1ZBTElEQVRJT05fRVJST1JfVU5FWFBFQ1RFRF9OVUxMX1VOSU9OJywKLSAgICBVTktO
T1dOX0VOVU1fVkFMVUU6ICdWQUxJREFUSU9OX0VSUk9SX1VOS05PV05fRU5VTV9WQUxVRScsCi0g
IH07Ci0KLSAgdmFyIE5VTExfTU9KT19QT0lOVEVSID0gIk5VTExfTU9KT19QT0lOVEVSIjsKLSAg
dmFyIGdWYWxpZGF0aW9uRXJyb3JPYnNlcnZlciA9IG51bGw7Ci0KLSAgZnVuY3Rpb24gcmVwb3J0
VmFsaWRhdGlvbkVycm9yKGVycm9yKSB7Ci0gICAgaWYgKGdWYWxpZGF0aW9uRXJyb3JPYnNlcnZl
cikgewotICAgICAgZ1ZhbGlkYXRpb25FcnJvck9ic2VydmVyLmxhc3RFcnJvciA9IGVycm9yOwot
ICAgIH0gZWxzZSB7Ci0gICAgICBjb25zb2xlLndhcm4oJ0ludmFsaWQgbWVzc2FnZTogJyArIGVy
cm9yKTsKLSAgICB9Ci0gIH0KLQotICB2YXIgVmFsaWRhdGlvbkVycm9yT2JzZXJ2ZXJGb3JUZXN0
aW5nID0gKGZ1bmN0aW9uKCkgewotICAgIGZ1bmN0aW9uIE9ic2VydmVyKCkgewotICAgICAgdGhp
cy5sYXN0RXJyb3IgPSB2YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAgICB9Ci0KLSAgICBPYnNlcnZl
ci5wcm90b3R5cGUucmVzZXQgPSBmdW5jdGlvbigpIHsKLSAgICAgIHRoaXMubGFzdEVycm9yID0g
dmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gICAgfTsKLQotICAgIHJldHVybiB7Ci0gICAgICBnZXRJ
bnN0YW5jZTogZnVuY3Rpb24oKSB7Ci0gICAgICAgIGlmICghZ1ZhbGlkYXRpb25FcnJvck9ic2Vy
dmVyKSB7Ci0gICAgICAgICAgZ1ZhbGlkYXRpb25FcnJvck9ic2VydmVyID0gbmV3IE9ic2VydmVy
KCk7Ci0gICAgICAgIH0KLSAgICAgICAgcmV0dXJuIGdWYWxpZGF0aW9uRXJyb3JPYnNlcnZlcjsK
LSAgICAgIH0KLSAgICB9OwotICB9KSgpOwotCi0gIGZ1bmN0aW9uIGlzVGVzdGluZ01vZGUoKSB7
Ci0gICAgcmV0dXJuIEJvb2xlYW4oZ1ZhbGlkYXRpb25FcnJvck9ic2VydmVyKTsKLSAgfQotCi0g
IGZ1bmN0aW9uIGNsZWFyVGVzdGluZ01vZGUoKSB7Ci0gICAgZ1ZhbGlkYXRpb25FcnJvck9ic2Vy
dmVyID0gbnVsbDsKLSAgfQotCi0gIGZ1bmN0aW9uIGlzRW51bUNsYXNzKGNscykgewotICAgIHJl
dHVybiBjbHMgaW5zdGFuY2VvZiBpbnRlcm5hbC5FbnVtOwotICB9Ci0KLSAgZnVuY3Rpb24gaXNT
dHJpbmdDbGFzcyhjbHMpIHsKLSAgICByZXR1cm4gY2xzID09PSBpbnRlcm5hbC5TdHJpbmcgfHwg
Y2xzID09PSBpbnRlcm5hbC5OdWxsYWJsZVN0cmluZzsKLSAgfQotCi0gIGZ1bmN0aW9uIGlzSGFu
ZGxlQ2xhc3MoY2xzKSB7Ci0gICAgcmV0dXJuIGNscyA9PT0gaW50ZXJuYWwuSGFuZGxlIHx8IGNs
cyA9PT0gaW50ZXJuYWwuTnVsbGFibGVIYW5kbGU7Ci0gIH0KLQotICBmdW5jdGlvbiBpc0ludGVy
ZmFjZUNsYXNzKGNscykgewotICAgIHJldHVybiBjbHMgaW5zdGFuY2VvZiBpbnRlcm5hbC5JbnRl
cmZhY2U7Ci0gIH0KLQotICBmdW5jdGlvbiBpc0ludGVyZmFjZVJlcXVlc3RDbGFzcyhjbHMpIHsK
LSAgICByZXR1cm4gY2xzID09PSBpbnRlcm5hbC5JbnRlcmZhY2VSZXF1ZXN0IHx8Ci0gICAgICAg
IGNscyA9PT0gaW50ZXJuYWwuTnVsbGFibGVJbnRlcmZhY2VSZXF1ZXN0OwotICB9Ci0KLSAgZnVu
Y3Rpb24gaXNBc3NvY2lhdGVkSW50ZXJmYWNlQ2xhc3MoY2xzKSB7Ci0gICAgcmV0dXJuIGNscyA9
PT0gaW50ZXJuYWwuQXNzb2NpYXRlZEludGVyZmFjZVB0ckluZm8gfHwKLSAgICAgICAgY2xzID09
PSBpbnRlcm5hbC5OdWxsYWJsZUFzc29jaWF0ZWRJbnRlcmZhY2VQdHJJbmZvOwotICB9Ci0KLSAg
ZnVuY3Rpb24gaXNBc3NvY2lhdGVkSW50ZXJmYWNlUmVxdWVzdENsYXNzKGNscykgewotICAgIHJl
dHVybiBjbHMgPT09IGludGVybmFsLkFzc29jaWF0ZWRJbnRlcmZhY2VSZXF1ZXN0IHx8Ci0gICAg
ICAgIGNscyA9PT0gaW50ZXJuYWwuTnVsbGFibGVBc3NvY2lhdGVkSW50ZXJmYWNlUmVxdWVzdDsK
LSAgfQotCi0gIGZ1bmN0aW9uIGlzTnVsbGFibGUodHlwZSkgewotICAgIHJldHVybiB0eXBlID09
PSBpbnRlcm5hbC5OdWxsYWJsZVN0cmluZyB8fAotICAgICAgICB0eXBlID09PSBpbnRlcm5hbC5O
dWxsYWJsZUhhbmRsZSB8fAotICAgICAgICB0eXBlID09PSBpbnRlcm5hbC5OdWxsYWJsZUFzc29j
aWF0ZWRJbnRlcmZhY2VQdHJJbmZvIHx8Ci0gICAgICAgIHR5cGUgPT09IGludGVybmFsLk51bGxh
YmxlQXNzb2NpYXRlZEludGVyZmFjZVJlcXVlc3QgfHwKLSAgICAgICAgdHlwZSA9PT0gaW50ZXJu
YWwuTnVsbGFibGVJbnRlcmZhY2UgfHwKLSAgICAgICAgdHlwZSA9PT0gaW50ZXJuYWwuTnVsbGFi
bGVJbnRlcmZhY2VSZXF1ZXN0IHx8Ci0gICAgICAgIHR5cGUgaW5zdGFuY2VvZiBpbnRlcm5hbC5O
dWxsYWJsZUFycmF5T2YgfHwKLSAgICAgICAgdHlwZSBpbnN0YW5jZW9mIGludGVybmFsLk51bGxh
YmxlUG9pbnRlclRvOwotICB9Ci0KLSAgZnVuY3Rpb24gVmFsaWRhdG9yKG1lc3NhZ2UpIHsKLSAg
ICB0aGlzLm1lc3NhZ2UgPSBtZXNzYWdlOwotICAgIHRoaXMub2Zmc2V0ID0gMDsKLSAgICB0aGlz
LmhhbmRsZUluZGV4ID0gMDsKLSAgICB0aGlzLmFzc29jaWF0ZWRFbmRwb2ludEhhbmRsZUluZGV4
ID0gMDsKLSAgICB0aGlzLnBheWxvYWRJbnRlcmZhY2VJZHMgPSBudWxsOwotICAgIHRoaXMub2Zm
c2V0TGltaXQgPSB0aGlzLm1lc3NhZ2UuYnVmZmVyLmJ5dGVMZW5ndGg7Ci0gIH0KLQotICBPYmpl
Y3QuZGVmaW5lUHJvcGVydHkoVmFsaWRhdG9yLnByb3RvdHlwZSwgImhhbmRsZUluZGV4TGltaXQi
LCB7Ci0gICAgZ2V0OiBmdW5jdGlvbigpIHsgcmV0dXJuIHRoaXMubWVzc2FnZS5oYW5kbGVzLmxl
bmd0aDsgfQotICB9KTsKLQotICBPYmplY3QuZGVmaW5lUHJvcGVydHkoVmFsaWRhdG9yLnByb3Rv
dHlwZSwgImFzc29jaWF0ZWRIYW5kbGVJbmRleExpbWl0IiwgewotICAgIGdldDogZnVuY3Rpb24o
KSB7Ci0gICAgICByZXR1cm4gdGhpcy5wYXlsb2FkSW50ZXJmYWNlSWRzID8gdGhpcy5wYXlsb2Fk
SW50ZXJmYWNlSWRzLmxlbmd0aCA6IDA7Ci0gICAgfQotICB9KTsKLQotICAvLyBUcnVlIGlmIHdl
IGNhbiBzYWZlbHkgYWxsb2NhdGUgYSBibG9jayBvZiBieXRlcyBmcm9tIHN0YXJ0IHRvCi0gIC8v
IHRvIHN0YXJ0ICsgbnVtQnl0ZXMuCi0gIFZhbGlkYXRvci5wcm90b3R5cGUuaXNWYWxpZFJhbmdl
ID0gZnVuY3Rpb24oc3RhcnQsIG51bUJ5dGVzKSB7Ci0gICAgLy8gT25seSBwb3NpdGl2ZSBKYXZh
U2NyaXB0IGludGVnZXJzIHRoYXQgYXJlIGxlc3MgdGhhbiAyXjUzCi0gICAgLy8gKE51bWJlci5N
QVhfU0FGRV9JTlRFR0VSKSBjYW4gYmUgcmVwcmVzZW50ZWQgZXhhY3RseS4KLSAgICBpZiAoc3Rh
cnQgPCB0aGlzLm9mZnNldCB8fCBudW1CeXRlcyA8PSAwIHx8Ci0gICAgICAgICFOdW1iZXIuaXNT
YWZlSW50ZWdlcihzdGFydCkgfHwKLSAgICAgICAgIU51bWJlci5pc1NhZmVJbnRlZ2VyKG51bUJ5
dGVzKSkKLSAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIHZhciBuZXdPZmZzZXQgPSBzdGFydCAr
IG51bUJ5dGVzOwotICAgIGlmICghTnVtYmVyLmlzU2FmZUludGVnZXIobmV3T2Zmc2V0KSB8fCBu
ZXdPZmZzZXQgPiB0aGlzLm9mZnNldExpbWl0KQotICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAg
cmV0dXJuIHRydWU7Ci0gIH07Ci0KLSAgVmFsaWRhdG9yLnByb3RvdHlwZS5jbGFpbVJhbmdlID0g
ZnVuY3Rpb24oc3RhcnQsIG51bUJ5dGVzKSB7Ci0gICAgaWYgKHRoaXMuaXNWYWxpZFJhbmdlKHN0
YXJ0LCBudW1CeXRlcykpIHsKLSAgICAgIHRoaXMub2Zmc2V0ID0gc3RhcnQgKyBudW1CeXRlczsK
LSAgICAgIHJldHVybiB0cnVlOwotICAgIH0KLSAgICByZXR1cm4gZmFsc2U7Ci0gIH07Ci0KLSAg
VmFsaWRhdG9yLnByb3RvdHlwZS5jbGFpbUhhbmRsZSA9IGZ1bmN0aW9uKGluZGV4KSB7Ci0gICAg
aWYgKGluZGV4ID09PSBpbnRlcm5hbC5rRW5jb2RlZEludmFsaWRIYW5kbGVWYWx1ZSkKLSAgICAg
IHJldHVybiB0cnVlOwotCi0gICAgaWYgKGluZGV4IDwgdGhpcy5oYW5kbGVJbmRleCB8fCBpbmRl
eCA+PSB0aGlzLmhhbmRsZUluZGV4TGltaXQpCi0gICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICAv
LyBUaGlzIGlzIHNhZmUgYmVjYXVzZSBoYW5kbGUgaW5kaWNlcyBhcmUgdWludDMyLgotICAgIHRo
aXMuaGFuZGxlSW5kZXggPSBpbmRleCArIDE7Ci0gICAgcmV0dXJuIHRydWU7Ci0gIH07Ci0KLSAg
VmFsaWRhdG9yLnByb3RvdHlwZS5jbGFpbUFzc29jaWF0ZWRFbmRwb2ludEhhbmRsZSA9IGZ1bmN0
aW9uKGluZGV4KSB7Ci0gICAgaWYgKGluZGV4ID09PSBpbnRlcm5hbC5rRW5jb2RlZEludmFsaWRI
YW5kbGVWYWx1ZSkgewotICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfQotCi0gICAgaWYgKGluZGV4
IDwgdGhpcy5hc3NvY2lhdGVkRW5kcG9pbnRIYW5kbGVJbmRleCB8fAotICAgICAgICBpbmRleCA+
PSB0aGlzLmFzc29jaWF0ZWRIYW5kbGVJbmRleExpbWl0KSB7Ci0gICAgICByZXR1cm4gZmFsc2U7
Ci0gICAgfQotCi0gICAgLy8gVGhpcyBpcyBzYWZlIGJlY2F1c2UgaGFuZGxlIGluZGljZXMgYXJl
IHVpbnQzMi4KLSAgICB0aGlzLmFzc29jaWF0ZWRFbmRwb2ludEhhbmRsZUluZGV4ID0gaW5kZXgg
KyAxOwotICAgIHJldHVybiB0cnVlOwotICB9OwotCi0gIFZhbGlkYXRvci5wcm90b3R5cGUudmFs
aWRhdGVFbnVtID0gZnVuY3Rpb24ob2Zmc2V0LCBlbnVtQ2xhc3MpIHsKLSAgICAvLyBOb3RlOiBB
c3N1bWVzIHRoYXQgZW51bXMgYXJlIGFsd2F5cyAzMiBiaXRzISBCdXQgdGhpcyBtYXRjaGVzCi0g
ICAgLy8gbW9qb206OmdlbmVyYXRlOjpwYWNrOjpQYWNrZWRGaWVsZDo6R2V0U2l6ZUZvcktpbmQs
IHNvIGl0IHNob3VsZCBiZSBva2F5LgotICAgIHZhciB2YWx1ZSA9IHRoaXMubWVzc2FnZS5idWZm
ZXIuZ2V0SW50MzIob2Zmc2V0KTsKLSAgICByZXR1cm4gZW51bUNsYXNzLnZhbGlkYXRlKHZhbHVl
KTsKLSAgfQotCi0gIFZhbGlkYXRvci5wcm90b3R5cGUudmFsaWRhdGVIYW5kbGUgPSBmdW5jdGlv
bihvZmZzZXQsIG51bGxhYmxlKSB7Ci0gICAgdmFyIGluZGV4ID0gdGhpcy5tZXNzYWdlLmJ1ZmZl
ci5nZXRVaW50MzIob2Zmc2V0KTsKLQotICAgIGlmIChpbmRleCA9PT0gaW50ZXJuYWwua0VuY29k
ZWRJbnZhbGlkSGFuZGxlVmFsdWUpCi0gICAgICByZXR1cm4gbnVsbGFibGUgPwotICAgICAgICAg
IHZhbGlkYXRpb25FcnJvci5OT05FIDogdmFsaWRhdGlvbkVycm9yLlVORVhQRUNURURfSU5WQUxJ
RF9IQU5ETEU7Ci0KLSAgICBpZiAoIXRoaXMuY2xhaW1IYW5kbGUoaW5kZXgpKQotICAgICAgcmV0
dXJuIHZhbGlkYXRpb25FcnJvci5JTExFR0FMX0hBTkRMRTsKLQotICAgIHJldHVybiB2YWxpZGF0
aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQotICBWYWxpZGF0b3IucHJvdG90eXBlLnZhbGlkYXRlQXNz
b2NpYXRlZEVuZHBvaW50SGFuZGxlID0gZnVuY3Rpb24ob2Zmc2V0LAotICAgICAgbnVsbGFibGUp
IHsKLSAgICB2YXIgaW5kZXggPSB0aGlzLm1lc3NhZ2UuYnVmZmVyLmdldFVpbnQzMihvZmZzZXQp
OwotCi0gICAgaWYgKGluZGV4ID09PSBpbnRlcm5hbC5rRW5jb2RlZEludmFsaWRIYW5kbGVWYWx1
ZSkgewotICAgICAgcmV0dXJuIG51bGxhYmxlID8gdmFsaWRhdGlvbkVycm9yLk5PTkUgOgotICAg
ICAgICAgIHZhbGlkYXRpb25FcnJvci5VTkVYUEVDVEVEX0lOVkFMSURfSU5URVJGQUNFX0lEOwot
ICAgIH0KLQotICAgIGlmICghdGhpcy5jbGFpbUFzc29jaWF0ZWRFbmRwb2ludEhhbmRsZShpbmRl
eCkpIHsKLSAgICAgIHJldHVybiB2YWxpZGF0aW9uRXJyb3IuSUxMRUdBTF9JTlRFUkZBQ0VfSUQ7
Ci0gICAgfQotCi0gICAgcmV0dXJuIHZhbGlkYXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIFZh
bGlkYXRvci5wcm90b3R5cGUudmFsaWRhdGVJbnRlcmZhY2UgPSBmdW5jdGlvbihvZmZzZXQsIG51
bGxhYmxlKSB7Ci0gICAgcmV0dXJuIHRoaXMudmFsaWRhdGVIYW5kbGUob2Zmc2V0LCBudWxsYWJs
ZSk7Ci0gIH07Ci0KLSAgVmFsaWRhdG9yLnByb3RvdHlwZS52YWxpZGF0ZUludGVyZmFjZVJlcXVl
c3QgPSBmdW5jdGlvbihvZmZzZXQsIG51bGxhYmxlKSB7Ci0gICAgcmV0dXJuIHRoaXMudmFsaWRh
dGVIYW5kbGUob2Zmc2V0LCBudWxsYWJsZSk7Ci0gIH07Ci0KLSAgVmFsaWRhdG9yLnByb3RvdHlw
ZS52YWxpZGF0ZUFzc29jaWF0ZWRJbnRlcmZhY2UgPSBmdW5jdGlvbihvZmZzZXQsCi0gICAgICBu
dWxsYWJsZSkgewotICAgIHJldHVybiB0aGlzLnZhbGlkYXRlQXNzb2NpYXRlZEVuZHBvaW50SGFu
ZGxlKG9mZnNldCwgbnVsbGFibGUpOwotICB9OwotCi0gIFZhbGlkYXRvci5wcm90b3R5cGUudmFs
aWRhdGVBc3NvY2lhdGVkSW50ZXJmYWNlUmVxdWVzdCA9IGZ1bmN0aW9uKAotICAgICAgb2Zmc2V0
LCBudWxsYWJsZSkgewotICAgIHJldHVybiB0aGlzLnZhbGlkYXRlQXNzb2NpYXRlZEVuZHBvaW50
SGFuZGxlKG9mZnNldCwgbnVsbGFibGUpOwotICB9OwotCi0gIFZhbGlkYXRvci5wcm90b3R5cGUu
dmFsaWRhdGVTdHJ1Y3RIZWFkZXIgPSBmdW5jdGlvbihvZmZzZXQsIG1pbk51bUJ5dGVzKSB7Ci0g
ICAgaWYgKCFpbnRlcm5hbC5pc0FsaWduZWQob2Zmc2V0KSkKLSAgICAgIHJldHVybiB2YWxpZGF0
aW9uRXJyb3IuTUlTQUxJR05FRF9PQkpFQ1Q7Ci0KLSAgICBpZiAoIXRoaXMuaXNWYWxpZFJhbmdl
KG9mZnNldCwgaW50ZXJuYWwua1N0cnVjdEhlYWRlclNpemUpKQotICAgICAgcmV0dXJuIHZhbGlk
YXRpb25FcnJvci5JTExFR0FMX01FTU9SWV9SQU5HRTsKLQotICAgIHZhciBudW1CeXRlcyA9IHRo
aXMubWVzc2FnZS5idWZmZXIuZ2V0VWludDMyKG9mZnNldCk7Ci0KLSAgICBpZiAobnVtQnl0ZXMg
PCBtaW5OdW1CeXRlcykKLSAgICAgIHJldHVybiB2YWxpZGF0aW9uRXJyb3IuVU5FWFBFQ1RFRF9T
VFJVQ1RfSEVBREVSOwotCi0gICAgaWYgKCF0aGlzLmNsYWltUmFuZ2Uob2Zmc2V0LCBudW1CeXRl
cykpCi0gICAgICByZXR1cm4gdmFsaWRhdGlvbkVycm9yLklMTEVHQUxfTUVNT1JZX1JBTkdFOwot
Ci0gICAgcmV0dXJuIHZhbGlkYXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIFZhbGlkYXRvci5w
cm90b3R5cGUudmFsaWRhdGVTdHJ1Y3RWZXJzaW9uID0gZnVuY3Rpb24ob2Zmc2V0LCB2ZXJzaW9u
U2l6ZXMpIHsKLSAgICB2YXIgbnVtQnl0ZXMgPSB0aGlzLm1lc3NhZ2UuYnVmZmVyLmdldFVpbnQz
MihvZmZzZXQpOwotICAgIHZhciB2ZXJzaW9uID0gdGhpcy5tZXNzYWdlLmJ1ZmZlci5nZXRVaW50
MzIob2Zmc2V0ICsgNCk7Ci0KLSAgICBpZiAodmVyc2lvbiA8PSB2ZXJzaW9uU2l6ZXNbdmVyc2lv
blNpemVzLmxlbmd0aCAtIDFdLnZlcnNpb24pIHsKLSAgICAgIC8vIFNjYW4gaW4gcmV2ZXJzZSBv
cmRlciB0byBvcHRpbWl6ZSBmb3IgbW9yZSByZWNlbnQgdmVyc2lvblNpemVzLgotICAgICAgZm9y
ICh2YXIgaSA9IHZlcnNpb25TaXplcy5sZW5ndGggLSAxOyBpID49IDA7IC0taSkgewotICAgICAg
ICBpZiAodmVyc2lvbiA+PSB2ZXJzaW9uU2l6ZXNbaV0udmVyc2lvbikgewotICAgICAgICAgIGlm
IChudW1CeXRlcyA9PSB2ZXJzaW9uU2l6ZXNbaV0ubnVtQnl0ZXMpCi0gICAgICAgICAgICBicmVh
azsKLSAgICAgICAgICByZXR1cm4gdmFsaWRhdGlvbkVycm9yLlVORVhQRUNURURfU1RSVUNUX0hF
QURFUjsKLSAgICAgICAgfQotICAgICAgfQotICAgIH0gZWxzZSBpZiAobnVtQnl0ZXMgPCB2ZXJz
aW9uU2l6ZXNbdmVyc2lvblNpemVzLmxlbmd0aC0xXS5udW1CeXRlcykgewotICAgICAgcmV0dXJu
IHZhbGlkYXRpb25FcnJvci5VTkVYUEVDVEVEX1NUUlVDVF9IRUFERVI7Ci0gICAgfQotCi0gICAg
cmV0dXJuIHZhbGlkYXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIFZhbGlkYXRvci5wcm90b3R5
cGUuaXNGaWVsZEluU3RydWN0VmVyc2lvbiA9IGZ1bmN0aW9uKG9mZnNldCwgZmllbGRWZXJzaW9u
KSB7Ci0gICAgdmFyIHN0cnVjdFZlcnNpb24gPSB0aGlzLm1lc3NhZ2UuYnVmZmVyLmdldFVpbnQz
MihvZmZzZXQgKyA0KTsKLSAgICByZXR1cm4gZmllbGRWZXJzaW9uIDw9IHN0cnVjdFZlcnNpb247
Ci0gIH07Ci0KLSAgVmFsaWRhdG9yLnByb3RvdHlwZS52YWxpZGF0ZU1lc3NhZ2VIZWFkZXIgPSBm
dW5jdGlvbigpIHsKLSAgICB2YXIgZXJyID0gdGhpcy52YWxpZGF0ZVN0cnVjdEhlYWRlcigwLCBp
bnRlcm5hbC5rTWVzc2FnZVYwSGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVyciAhPSB2YWxpZGF0aW9u
RXJyb3IuTk9ORSkgewotICAgICAgcmV0dXJuIGVycjsKLSAgICB9Ci0KLSAgICB2YXIgbnVtQnl0
ZXMgPSB0aGlzLm1lc3NhZ2UuZ2V0SGVhZGVyTnVtQnl0ZXMoKTsKLSAgICB2YXIgdmVyc2lvbiA9
IHRoaXMubWVzc2FnZS5nZXRIZWFkZXJWZXJzaW9uKCk7Ci0KLSAgICB2YXIgdmFsaWRWZXJzaW9u
QW5kTnVtQnl0ZXMgPQotICAgICAgICAodmVyc2lvbiA9PSAwICYmIG51bUJ5dGVzID09IGludGVy
bmFsLmtNZXNzYWdlVjBIZWFkZXJTaXplKSB8fAotICAgICAgICAodmVyc2lvbiA9PSAxICYmIG51
bUJ5dGVzID09IGludGVybmFsLmtNZXNzYWdlVjFIZWFkZXJTaXplKSB8fAotICAgICAgICAodmVy
c2lvbiA9PSAyICYmIG51bUJ5dGVzID09IGludGVybmFsLmtNZXNzYWdlVjJIZWFkZXJTaXplKSB8
fAotICAgICAgICAodmVyc2lvbiA+IDIgJiYgbnVtQnl0ZXMgPj0gaW50ZXJuYWwua01lc3NhZ2VW
MkhlYWRlclNpemUpOwotCi0gICAgaWYgKCF2YWxpZFZlcnNpb25BbmROdW1CeXRlcykgewotICAg
ICAgcmV0dXJuIHZhbGlkYXRpb25FcnJvci5VTkVYUEVDVEVEX1NUUlVDVF9IRUFERVI7Ci0gICAg
fQotCi0gICAgdmFyIGV4cGVjdHNSZXNwb25zZSA9IHRoaXMubWVzc2FnZS5leHBlY3RzUmVzcG9u
c2UoKTsKLSAgICB2YXIgaXNSZXNwb25zZSA9IHRoaXMubWVzc2FnZS5pc1Jlc3BvbnNlKCk7Ci0K
LSAgICBpZiAodmVyc2lvbiA9PSAwICYmIChleHBlY3RzUmVzcG9uc2UgfHwgaXNSZXNwb25zZSkp
IHsKLSAgICAgIHJldHVybiB2YWxpZGF0aW9uRXJyb3IuTUVTU0FHRV9IRUFERVJfTUlTU0lOR19S
RVFVRVNUX0lEOwotICAgIH0KLQotICAgIGlmIChpc1Jlc3BvbnNlICYmIGV4cGVjdHNSZXNwb25z
ZSkgewotICAgICAgcmV0dXJuIHZhbGlkYXRpb25FcnJvci5NRVNTQUdFX0hFQURFUl9JTlZBTElE
X0ZMQUdTOwotICAgIH0KLQotICAgIGlmICh2ZXJzaW9uIDwgMikgewotICAgICAgcmV0dXJuIHZh
bGlkYXRpb25FcnJvci5OT05FOwotICAgIH0KLQotICAgIHZhciBlcnIgPSB0aGlzLnZhbGlkYXRl
QXJyYXlQb2ludGVyKAotICAgICAgICBpbnRlcm5hbC5rTWVzc2FnZVBheWxvYWRJbnRlcmZhY2VJ
ZHNQb2ludGVyT2Zmc2V0LAotICAgICAgICBpbnRlcm5hbC5VaW50MzIuZW5jb2RlZFNpemUsIGlu
dGVybmFsLlVpbnQzMiwgdHJ1ZSwgWzBdLCAwKTsKLQotICAgIGlmIChlcnIgIT0gdmFsaWRhdGlv
bkVycm9yLk5PTkUpIHsKLSAgICAgIHJldHVybiBlcnI7Ci0gICAgfQotCi0gICAgdGhpcy5wYXls
b2FkSW50ZXJmYWNlSWRzID0gdGhpcy5tZXNzYWdlLmdldFBheWxvYWRJbnRlcmZhY2VJZHMoKTsK
LSAgICBpZiAodGhpcy5wYXlsb2FkSW50ZXJmYWNlSWRzKSB7Ci0gICAgICBmb3IgKHZhciBpbnRl
cmZhY2VJZCBvZiB0aGlzLnBheWxvYWRJbnRlcmZhY2VJZHMpIHsKLSAgICAgICAgaWYgKCFpbnRl
cm5hbC5pc1ZhbGlkSW50ZXJmYWNlSWQoaW50ZXJmYWNlSWQpIHx8Ci0gICAgICAgICAgICBpbnRl
cm5hbC5pc01hc3RlckludGVyZmFjZUlkKGludGVyZmFjZUlkKSkgewotICAgICAgICAgIHJldHVy
biB2YWxpZGF0aW9uRXJyb3IuSUxMRUdBTF9JTlRFUkZBQ0VfSUQ7Ci0gICAgICAgIH0KLSAgICAg
IH0KLSAgICB9Ci0KLSAgICAvLyBTZXQgb2Zmc2V0IHRvIHRoZSBzdGFydCBvZiB0aGUgcGF5bG9h
ZCBhbmQgb2Zmc2V0TGltaXQgdG8gdGhlIHN0YXJ0IG9mCi0gICAgLy8gdGhlIHBheWxvYWQgaW50
ZXJmYWNlIElkcyBzbyB0aGF0IHBheWxvYWQgY2FuIGJlIHZhbGlkYXRlZCB1c2luZyB0aGUKLSAg
ICAvLyBzYW1lIG1lc3NhZ2VWYWxpZGF0b3IuCi0gICAgdGhpcy5vZmZzZXQgPSB0aGlzLm1lc3Nh
Z2UuZ2V0SGVhZGVyTnVtQnl0ZXMoKTsKLSAgICB0aGlzLm9mZnNldExpbWl0ID0gdGhpcy5kZWNv
ZGVQb2ludGVyKAotICAgICAgICBpbnRlcm5hbC5rTWVzc2FnZVBheWxvYWRJbnRlcmZhY2VJZHNQ
b2ludGVyT2Zmc2V0KTsKLQotICAgIHJldHVybiB2YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAgfTsK
LQotICBWYWxpZGF0b3IucHJvdG90eXBlLnZhbGlkYXRlTWVzc2FnZUlzUmVxdWVzdFdpdGhvdXRS
ZXNwb25zZSA9IGZ1bmN0aW9uKCkgewotICAgIGlmICh0aGlzLm1lc3NhZ2UuaXNSZXNwb25zZSgp
IHx8IHRoaXMubWVzc2FnZS5leHBlY3RzUmVzcG9uc2UoKSkgewotICAgICAgcmV0dXJuIHZhbGlk
YXRpb25FcnJvci5NRVNTQUdFX0hFQURFUl9JTlZBTElEX0ZMQUdTOwotICAgIH0KLSAgICByZXR1
cm4gdmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gIH07Ci0KLSAgVmFsaWRhdG9yLnByb3RvdHlwZS52
YWxpZGF0ZU1lc3NhZ2VJc1JlcXVlc3RFeHBlY3RpbmdSZXNwb25zZSA9IGZ1bmN0aW9uKCkgewot
ICAgIGlmICh0aGlzLm1lc3NhZ2UuaXNSZXNwb25zZSgpIHx8ICF0aGlzLm1lc3NhZ2UuZXhwZWN0
c1Jlc3BvbnNlKCkpIHsKLSAgICAgIHJldHVybiB2YWxpZGF0aW9uRXJyb3IuTUVTU0FHRV9IRUFE
RVJfSU5WQUxJRF9GTEFHUzsKLSAgICB9Ci0gICAgcmV0dXJuIHZhbGlkYXRpb25FcnJvci5OT05F
OwotICB9OwotCi0gIFZhbGlkYXRvci5wcm90b3R5cGUudmFsaWRhdGVNZXNzYWdlSXNSZXNwb25z
ZSA9IGZ1bmN0aW9uKCkgewotICAgIGlmICh0aGlzLm1lc3NhZ2UuZXhwZWN0c1Jlc3BvbnNlKCkg
fHwgIXRoaXMubWVzc2FnZS5pc1Jlc3BvbnNlKCkpIHsKLSAgICAgIHJldHVybiB2YWxpZGF0aW9u
RXJyb3IuTUVTU0FHRV9IRUFERVJfSU5WQUxJRF9GTEFHUzsKLSAgICB9Ci0gICAgcmV0dXJuIHZh
bGlkYXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIC8vIFJldHVybnMgdGhlIG1lc3NhZ2UuYnVm
ZmVyIHJlbGF0aXZlIG9mZnNldCB0aGlzIHBvaW50ZXIgInBvaW50cyB0byIsCi0gIC8vIE5VTExf
TU9KT19QT0lOVEVSIGlmIHRoZSBwb2ludGVyIHJlcHJlc2VudHMgYSBudWxsLCBvciBKUyBudWxs
IGlmIHRoZQotICAvLyBwb2ludGVyJ3MgdmFsdWUgaXMgbm90IHZhbGlkLgotICBWYWxpZGF0b3Iu
cHJvdG90eXBlLmRlY29kZVBvaW50ZXIgPSBmdW5jdGlvbihvZmZzZXQpIHsKLSAgICB2YXIgcG9p
bnRlclZhbHVlID0gdGhpcy5tZXNzYWdlLmJ1ZmZlci5nZXRVaW50NjQob2Zmc2V0KTsKLSAgICBp
ZiAocG9pbnRlclZhbHVlID09PSAwKQotICAgICAgcmV0dXJuIE5VTExfTU9KT19QT0lOVEVSOwot
ICAgIHZhciBidWZmZXJPZmZzZXQgPSBvZmZzZXQgKyBwb2ludGVyVmFsdWU7Ci0gICAgcmV0dXJu
IE51bWJlci5pc1NhZmVJbnRlZ2VyKGJ1ZmZlck9mZnNldCkgPyBidWZmZXJPZmZzZXQgOiBudWxs
OwotICB9OwotCi0gIFZhbGlkYXRvci5wcm90b3R5cGUuZGVjb2RlVW5pb25TaXplID0gZnVuY3Rp
b24ob2Zmc2V0KSB7Ci0gICAgcmV0dXJuIHRoaXMubWVzc2FnZS5idWZmZXIuZ2V0VWludDMyKG9m
ZnNldCk7Ci0gIH07Ci0KLSAgVmFsaWRhdG9yLnByb3RvdHlwZS5kZWNvZGVVbmlvblRhZyA9IGZ1
bmN0aW9uKG9mZnNldCkgewotICAgIHJldHVybiB0aGlzLm1lc3NhZ2UuYnVmZmVyLmdldFVpbnQz
MihvZmZzZXQgKyA0KTsKLSAgfTsKLQotICBWYWxpZGF0b3IucHJvdG90eXBlLnZhbGlkYXRlQXJy
YXlQb2ludGVyID0gZnVuY3Rpb24oCi0gICAgICBvZmZzZXQsIGVsZW1lbnRTaXplLCBlbGVtZW50
VHlwZSwgbnVsbGFibGUsIGV4cGVjdGVkRGltZW5zaW9uU2l6ZXMsCi0gICAgICBjdXJyZW50RGlt
ZW5zaW9uKSB7Ci0gICAgdmFyIGFycmF5T2Zmc2V0ID0gdGhpcy5kZWNvZGVQb2ludGVyKG9mZnNl
dCk7Ci0gICAgaWYgKGFycmF5T2Zmc2V0ID09PSBudWxsKQotICAgICAgcmV0dXJuIHZhbGlkYXRp
b25FcnJvci5JTExFR0FMX1BPSU5URVI7Ci0KLSAgICBpZiAoYXJyYXlPZmZzZXQgPT09IE5VTExf
TU9KT19QT0lOVEVSKQotICAgICAgcmV0dXJuIG51bGxhYmxlID8KLSAgICAgICAgICB2YWxpZGF0
aW9uRXJyb3IuTk9ORSA6IHZhbGlkYXRpb25FcnJvci5VTkVYUEVDVEVEX05VTExfUE9JTlRFUjsK
LQotICAgIHJldHVybiB0aGlzLnZhbGlkYXRlQXJyYXkoYXJyYXlPZmZzZXQsIGVsZW1lbnRTaXpl
LCBlbGVtZW50VHlwZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4cGVjdGVkRGlt
ZW5zaW9uU2l6ZXMsIGN1cnJlbnREaW1lbnNpb24pOwotICB9OwotCi0gIFZhbGlkYXRvci5wcm90
b3R5cGUudmFsaWRhdGVTdHJ1Y3RQb2ludGVyID0gZnVuY3Rpb24oCi0gICAgICBvZmZzZXQsIHN0
cnVjdENsYXNzLCBudWxsYWJsZSkgewotICAgIHZhciBzdHJ1Y3RPZmZzZXQgPSB0aGlzLmRlY29k
ZVBvaW50ZXIob2Zmc2V0KTsKLSAgICBpZiAoc3RydWN0T2Zmc2V0ID09PSBudWxsKQotICAgICAg
cmV0dXJuIHZhbGlkYXRpb25FcnJvci5JTExFR0FMX1BPSU5URVI7Ci0KLSAgICBpZiAoc3RydWN0
T2Zmc2V0ID09PSBOVUxMX01PSk9fUE9JTlRFUikKLSAgICAgIHJldHVybiBudWxsYWJsZSA/Ci0g
ICAgICAgICAgdmFsaWRhdGlvbkVycm9yLk5PTkUgOiB2YWxpZGF0aW9uRXJyb3IuVU5FWFBFQ1RF
RF9OVUxMX1BPSU5URVI7Ci0KLSAgICByZXR1cm4gc3RydWN0Q2xhc3MudmFsaWRhdGUodGhpcywg
c3RydWN0T2Zmc2V0KTsKLSAgfTsKLQotICBWYWxpZGF0b3IucHJvdG90eXBlLnZhbGlkYXRlVW5p
b24gPSBmdW5jdGlvbigKLSAgICAgIG9mZnNldCwgdW5pb25DbGFzcywgbnVsbGFibGUpIHsKLSAg
ICB2YXIgc2l6ZSA9IHRoaXMubWVzc2FnZS5idWZmZXIuZ2V0VWludDMyKG9mZnNldCk7Ci0gICAg
aWYgKHNpemUgPT0gMCkgewotICAgICAgcmV0dXJuIG51bGxhYmxlID8KLSAgICAgICAgICB2YWxp
ZGF0aW9uRXJyb3IuTk9ORSA6IHZhbGlkYXRpb25FcnJvci5VTkVYUEVDVEVEX05VTExfVU5JT047
Ci0gICAgfQotCi0gICAgcmV0dXJuIHVuaW9uQ2xhc3MudmFsaWRhdGUodGhpcywgb2Zmc2V0KTsK
LSAgfTsKLQotICBWYWxpZGF0b3IucHJvdG90eXBlLnZhbGlkYXRlTmVzdGVkVW5pb24gPSBmdW5j
dGlvbigKLSAgICAgIG9mZnNldCwgdW5pb25DbGFzcywgbnVsbGFibGUpIHsKLSAgICB2YXIgdW5p
b25PZmZzZXQgPSB0aGlzLmRlY29kZVBvaW50ZXIob2Zmc2V0KTsKLSAgICBpZiAodW5pb25PZmZz
ZXQgPT09IG51bGwpCi0gICAgICByZXR1cm4gdmFsaWRhdGlvbkVycm9yLklMTEVHQUxfUE9JTlRF
UjsKLQotICAgIGlmICh1bmlvbk9mZnNldCA9PT0gTlVMTF9NT0pPX1BPSU5URVIpCi0gICAgICBy
ZXR1cm4gbnVsbGFibGUgPwotICAgICAgICAgIHZhbGlkYXRpb25FcnJvci5OT05FIDogdmFsaWRh
dGlvbkVycm9yLlVORVhQRUNURURfTlVMTF9VTklPTjsKLQotICAgIHJldHVybiB0aGlzLnZhbGlk
YXRlVW5pb24odW5pb25PZmZzZXQsIHVuaW9uQ2xhc3MsIG51bGxhYmxlKTsKLSAgfTsKLQotICAv
LyBUaGlzIG1ldGhvZCBhc3N1bWVzIHRoYXQgdGhlIGFycmF5IGF0IGFycmF5UG9pbnRlck9mZnNl
dCBoYXMKLSAgLy8gYmVlbiB2YWxpZGF0ZWQuCi0KLSAgVmFsaWRhdG9yLnByb3RvdHlwZS5hcnJh
eUxlbmd0aCA9IGZ1bmN0aW9uKGFycmF5UG9pbnRlck9mZnNldCkgewotICAgIHZhciBhcnJheU9m
ZnNldCA9IHRoaXMuZGVjb2RlUG9pbnRlcihhcnJheVBvaW50ZXJPZmZzZXQpOwotICAgIHJldHVy
biB0aGlzLm1lc3NhZ2UuYnVmZmVyLmdldFVpbnQzMihhcnJheU9mZnNldCArIDQpOwotICB9Owot
Ci0gIFZhbGlkYXRvci5wcm90b3R5cGUudmFsaWRhdGVNYXBQb2ludGVyID0gZnVuY3Rpb24oCi0g
ICAgICBvZmZzZXQsIG1hcElzTnVsbGFibGUsIGtleUNsYXNzLCB2YWx1ZUNsYXNzLCB2YWx1ZUlz
TnVsbGFibGUpIHsKLSAgICAvLyBWYWxpZGF0ZSB0aGUgaW1wbGljaXQgbWFwIHN0cnVjdDoKLSAg
ICAvLyBzdHJ1Y3Qge2FycmF5PGtleUNsYXNzPiBrZXlzOyBhcnJheTx2YWx1ZUNsYXNzPiB2YWx1
ZXN9OwotICAgIHZhciBzdHJ1Y3RPZmZzZXQgPSB0aGlzLmRlY29kZVBvaW50ZXIob2Zmc2V0KTsK
LSAgICBpZiAoc3RydWN0T2Zmc2V0ID09PSBudWxsKQotICAgICAgcmV0dXJuIHZhbGlkYXRpb25F
cnJvci5JTExFR0FMX1BPSU5URVI7Ci0KLSAgICBpZiAoc3RydWN0T2Zmc2V0ID09PSBOVUxMX01P
Sk9fUE9JTlRFUikKLSAgICAgIHJldHVybiBtYXBJc051bGxhYmxlID8KLSAgICAgICAgICB2YWxp
ZGF0aW9uRXJyb3IuTk9ORSA6IHZhbGlkYXRpb25FcnJvci5VTkVYUEVDVEVEX05VTExfUE9JTlRF
UjsKLQotICAgIHZhciBtYXBFbmNvZGVkU2l6ZSA9IGludGVybmFsLmtTdHJ1Y3RIZWFkZXJTaXpl
ICsKLSAgICAgICAgICAgICAgICAgICAgICAgICBpbnRlcm5hbC5rTWFwU3RydWN0UGF5bG9hZFNp
emU7Ci0gICAgdmFyIGVyciA9IHRoaXMudmFsaWRhdGVTdHJ1Y3RIZWFkZXIoc3RydWN0T2Zmc2V0
LCBtYXBFbmNvZGVkU2l6ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdGlvbkVycm9yLk5PTkUp
Ci0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICAvLyBWYWxpZGF0ZSB0aGUga2V5cyBhcnJheS4K
LSAgICB2YXIga2V5c0FycmF5UG9pbnRlck9mZnNldCA9IHN0cnVjdE9mZnNldCArIGludGVybmFs
LmtTdHJ1Y3RIZWFkZXJTaXplOwotICAgIGVyciA9IHRoaXMudmFsaWRhdGVBcnJheVBvaW50ZXIo
Ci0gICAgICAgIGtleXNBcnJheVBvaW50ZXJPZmZzZXQsIGtleUNsYXNzLmVuY29kZWRTaXplLCBr
ZXlDbGFzcywgZmFsc2UsIFswXSwgMCk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdGlvbkVycm9y
Lk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICAvLyBWYWxpZGF0ZSB0aGUgdmFsdWVz
IGFycmF5LgotICAgIHZhciB2YWx1ZXNBcnJheVBvaW50ZXJPZmZzZXQgPSBrZXlzQXJyYXlQb2lu
dGVyT2Zmc2V0ICsgODsKLSAgICB2YXIgdmFsdWVzQXJyYXlEaW1lbnNpb25zID0gWzBdOyAvLyBW
YWxpZGF0ZSB0aGUgYWN0dWFsIGxlbmd0aCBiZWxvdy4KLSAgICBpZiAodmFsdWVDbGFzcyBpbnN0
YW5jZW9mIGludGVybmFsLkFycmF5T2YpCi0gICAgICB2YWx1ZXNBcnJheURpbWVuc2lvbnMgPQot
ICAgICAgICAgIHZhbHVlc0FycmF5RGltZW5zaW9ucy5jb25jYXQodmFsdWVDbGFzcy5kaW1lbnNp
b25zKCkpOwotICAgIHZhciBlcnIgPSB0aGlzLnZhbGlkYXRlQXJyYXlQb2ludGVyKHZhbHVlc0Fy
cmF5UG9pbnRlck9mZnNldCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB2YWx1ZUNsYXNzLmVuY29kZWRTaXplLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHZhbHVlQ2xhc3MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdmFsdWVJc051bGxhYmxlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHZhbHVlc0FycmF5RGltZW5zaW9ucywKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAwKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0aW9uRXJyb3IuTk9ORSkK
LSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIC8vIFZhbGlkYXRlIHRoZSBsZW5ndGhzIG9mIHRo
ZSBrZXlzIGFuZCB2YWx1ZXMgYXJyYXlzLgotICAgIHZhciBrZXlzQXJyYXlMZW5ndGggPSB0aGlz
LmFycmF5TGVuZ3RoKGtleXNBcnJheVBvaW50ZXJPZmZzZXQpOwotICAgIHZhciB2YWx1ZXNBcnJh
eUxlbmd0aCA9IHRoaXMuYXJyYXlMZW5ndGgodmFsdWVzQXJyYXlQb2ludGVyT2Zmc2V0KTsKLSAg
ICBpZiAoa2V5c0FycmF5TGVuZ3RoICE9IHZhbHVlc0FycmF5TGVuZ3RoKQotICAgICAgcmV0dXJu
IHZhbGlkYXRpb25FcnJvci5ESUZGRVJFTlRfU0laRURfQVJSQVlTX0lOX01BUDsKLQotICAgIHJl
dHVybiB2YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQotICBWYWxpZGF0b3IucHJvdG90eXBl
LnZhbGlkYXRlU3RyaW5nUG9pbnRlciA9IGZ1bmN0aW9uKG9mZnNldCwgbnVsbGFibGUpIHsKLSAg
ICByZXR1cm4gdGhpcy52YWxpZGF0ZUFycmF5UG9pbnRlcigKLSAgICAgICAgb2Zmc2V0LCBpbnRl
cm5hbC5VaW50OC5lbmNvZGVkU2l6ZSwgaW50ZXJuYWwuVWludDgsIG51bGxhYmxlLCBbMF0sIDAp
OwotICB9OwotCi0gIC8vIFNpbWlsYXIgdG8gQXJyYXlfRGF0YTxUPjo6VmFsaWRhdGUoKQotICAv
LyBtb2pvL3B1YmxpYy9jcHAvYmluZGluZ3MvbGliL2FycmF5X2ludGVybmFsLmgKLQotICBWYWxp
ZGF0b3IucHJvdG90eXBlLnZhbGlkYXRlQXJyYXkgPQotICAgICAgZnVuY3Rpb24gKG9mZnNldCwg
ZWxlbWVudFNpemUsIGVsZW1lbnRUeXBlLCBleHBlY3RlZERpbWVuc2lvblNpemVzLAotICAgICAg
ICAgICAgICAgIGN1cnJlbnREaW1lbnNpb24pIHsKLSAgICBpZiAoIWludGVybmFsLmlzQWxpZ25l
ZChvZmZzZXQpKQotICAgICAgcmV0dXJuIHZhbGlkYXRpb25FcnJvci5NSVNBTElHTkVEX09CSkVD
VDsKLQotICAgIGlmICghdGhpcy5pc1ZhbGlkUmFuZ2Uob2Zmc2V0LCBpbnRlcm5hbC5rQXJyYXlI
ZWFkZXJTaXplKSkKLSAgICAgIHJldHVybiB2YWxpZGF0aW9uRXJyb3IuSUxMRUdBTF9NRU1PUllf
UkFOR0U7Ci0KLSAgICB2YXIgbnVtQnl0ZXMgPSB0aGlzLm1lc3NhZ2UuYnVmZmVyLmdldFVpbnQz
MihvZmZzZXQpOwotICAgIHZhciBudW1FbGVtZW50cyA9IHRoaXMubWVzc2FnZS5idWZmZXIuZ2V0
VWludDMyKG9mZnNldCArIDQpOwotCi0gICAgLy8gTm90ZTogdGhpcyBjb21wdXRhdGlvbiBpcyAi
c2FmZSIgYmVjYXVzZSBlbGVtZW50U2l6ZSA8PSA4IGFuZAotICAgIC8vIG51bUVsZW1lbnRzIGlz
IGEgdWludDMyLgotICAgIHZhciBlbGVtZW50c1RvdGFsU2l6ZSA9IChlbGVtZW50VHlwZSA9PT0g
aW50ZXJuYWwuUGFja2VkQm9vbCkgPwotICAgICAgICBNYXRoLmNlaWwobnVtRWxlbWVudHMgLyA4
KSA6IChlbGVtZW50U2l6ZSAqIG51bUVsZW1lbnRzKTsKLQotICAgIGlmIChudW1CeXRlcyA8IGlu
dGVybmFsLmtBcnJheUhlYWRlclNpemUgKyBlbGVtZW50c1RvdGFsU2l6ZSkKLSAgICAgIHJldHVy
biB2YWxpZGF0aW9uRXJyb3IuVU5FWFBFQ1RFRF9BUlJBWV9IRUFERVI7Ci0KLSAgICBpZiAoZXhw
ZWN0ZWREaW1lbnNpb25TaXplc1tjdXJyZW50RGltZW5zaW9uXSAhPSAwICYmCi0gICAgICAgIG51
bUVsZW1lbnRzICE9IGV4cGVjdGVkRGltZW5zaW9uU2l6ZXNbY3VycmVudERpbWVuc2lvbl0pIHsK
LSAgICAgIHJldHVybiB2YWxpZGF0aW9uRXJyb3IuVU5FWFBFQ1RFRF9BUlJBWV9IRUFERVI7Ci0g
ICAgfQotCi0gICAgaWYgKCF0aGlzLmNsYWltUmFuZ2Uob2Zmc2V0LCBudW1CeXRlcykpCi0gICAg
ICByZXR1cm4gdmFsaWRhdGlvbkVycm9yLklMTEVHQUxfTUVNT1JZX1JBTkdFOwotCi0gICAgLy8g
VmFsaWRhdGUgdGhlIGFycmF5J3MgZWxlbWVudHMgaWYgdGhleSBhcmUgcG9pbnRlcnMgb3IgaGFu
ZGxlcy4KLQotICAgIHZhciBlbGVtZW50c09mZnNldCA9IG9mZnNldCArIGludGVybmFsLmtBcnJh
eUhlYWRlclNpemU7Ci0gICAgdmFyIG51bGxhYmxlID0gaXNOdWxsYWJsZShlbGVtZW50VHlwZSk7
Ci0KLSAgICBpZiAoaXNIYW5kbGVDbGFzcyhlbGVtZW50VHlwZSkpCi0gICAgICByZXR1cm4gdGhp
cy52YWxpZGF0ZUhhbmRsZUVsZW1lbnRzKGVsZW1lbnRzT2Zmc2V0LCBudW1FbGVtZW50cywgbnVs
bGFibGUpOwotICAgIGlmIChpc0ludGVyZmFjZUNsYXNzKGVsZW1lbnRUeXBlKSkKLSAgICAgIHJl
dHVybiB0aGlzLnZhbGlkYXRlSW50ZXJmYWNlRWxlbWVudHMoCi0gICAgICAgICAgZWxlbWVudHNP
ZmZzZXQsIG51bUVsZW1lbnRzLCBudWxsYWJsZSk7Ci0gICAgaWYgKGlzSW50ZXJmYWNlUmVxdWVz
dENsYXNzKGVsZW1lbnRUeXBlKSkKLSAgICAgIHJldHVybiB0aGlzLnZhbGlkYXRlSW50ZXJmYWNl
UmVxdWVzdEVsZW1lbnRzKAotICAgICAgICAgIGVsZW1lbnRzT2Zmc2V0LCBudW1FbGVtZW50cywg
bnVsbGFibGUpOwotICAgIGlmIChpc0Fzc29jaWF0ZWRJbnRlcmZhY2VDbGFzcyhlbGVtZW50VHlw
ZSkpCi0gICAgICByZXR1cm4gdGhpcy52YWxpZGF0ZUFzc29jaWF0ZWRJbnRlcmZhY2VFbGVtZW50
cygKLSAgICAgICAgICBlbGVtZW50c09mZnNldCwgbnVtRWxlbWVudHMsIG51bGxhYmxlKTsKLSAg
ICBpZiAoaXNBc3NvY2lhdGVkSW50ZXJmYWNlUmVxdWVzdENsYXNzKGVsZW1lbnRUeXBlKSkKLSAg
ICAgIHJldHVybiB0aGlzLnZhbGlkYXRlQXNzb2NpYXRlZEludGVyZmFjZVJlcXVlc3RFbGVtZW50
cygKLSAgICAgICAgICBlbGVtZW50c09mZnNldCwgbnVtRWxlbWVudHMsIG51bGxhYmxlKTsKLSAg
ICBpZiAoaXNTdHJpbmdDbGFzcyhlbGVtZW50VHlwZSkpCi0gICAgICByZXR1cm4gdGhpcy52YWxp
ZGF0ZUFycmF5RWxlbWVudHMoCi0gICAgICAgICAgZWxlbWVudHNPZmZzZXQsIG51bUVsZW1lbnRz
LCBpbnRlcm5hbC5VaW50OCwgbnVsbGFibGUsIFswXSwgMCk7Ci0gICAgaWYgKGVsZW1lbnRUeXBl
IGluc3RhbmNlb2YgaW50ZXJuYWwuUG9pbnRlclRvKQotICAgICAgcmV0dXJuIHRoaXMudmFsaWRh
dGVTdHJ1Y3RFbGVtZW50cygKLSAgICAgICAgICBlbGVtZW50c09mZnNldCwgbnVtRWxlbWVudHMs
IGVsZW1lbnRUeXBlLmNscywgbnVsbGFibGUpOwotICAgIGlmIChlbGVtZW50VHlwZSBpbnN0YW5j
ZW9mIGludGVybmFsLkFycmF5T2YpCi0gICAgICByZXR1cm4gdGhpcy52YWxpZGF0ZUFycmF5RWxl
bWVudHMoCi0gICAgICAgICAgZWxlbWVudHNPZmZzZXQsIG51bUVsZW1lbnRzLCBlbGVtZW50VHlw
ZS5jbHMsIG51bGxhYmxlLAotICAgICAgICAgIGV4cGVjdGVkRGltZW5zaW9uU2l6ZXMsIGN1cnJl
bnREaW1lbnNpb24gKyAxKTsKLSAgICBpZiAoaXNFbnVtQ2xhc3MoZWxlbWVudFR5cGUpKQotICAg
ICAgcmV0dXJuIHRoaXMudmFsaWRhdGVFbnVtRWxlbWVudHMoZWxlbWVudHNPZmZzZXQsIG51bUVs
ZW1lbnRzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudFR5
cGUuY2xzKTsKLQotICAgIHJldHVybiB2YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQotICAv
LyBOb3RlOiB0aGUgfG9mZnNldCArIGkgKiBlbGVtZW50U2l6ZXwgY29tcHV0YXRpb24gaW4gdGhl
IHZhbGlkYXRlRm9vRWxlbWVudHMKLSAgLy8gbWV0aG9kcyBiZWxvdyBpcyAic2FmZSIgYmVjYXVz
ZSBlbGVtZW50U2l6ZSA8PSA4LCBvZmZzZXQgYW5kCi0gIC8vIG51bUVsZW1lbnRzIGFyZSB1aW50
MzIsIGFuZCAwIDw9IGkgPCBudW1FbGVtZW50cy4KLQotICBWYWxpZGF0b3IucHJvdG90eXBlLnZh
bGlkYXRlSGFuZGxlRWxlbWVudHMgPQotICAgICAgZnVuY3Rpb24ob2Zmc2V0LCBudW1FbGVtZW50
cywgbnVsbGFibGUpIHsKLSAgICB2YXIgZWxlbWVudFNpemUgPSBpbnRlcm5hbC5IYW5kbGUuZW5j
b2RlZFNpemU7Ci0gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBudW1FbGVtZW50czsgaSsrKSB7Ci0g
ICAgICB2YXIgZWxlbWVudE9mZnNldCA9IG9mZnNldCArIGkgKiBlbGVtZW50U2l6ZTsKLSAgICAg
IHZhciBlcnIgPSB0aGlzLnZhbGlkYXRlSGFuZGxlKGVsZW1lbnRPZmZzZXQsIG51bGxhYmxlKTsK
LSAgICAgIGlmIChlcnIgIT0gdmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBl
cnI7Ci0gICAgfQotICAgIHJldHVybiB2YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQotICBW
YWxpZGF0b3IucHJvdG90eXBlLnZhbGlkYXRlSW50ZXJmYWNlRWxlbWVudHMgPQotICAgICAgZnVu
Y3Rpb24ob2Zmc2V0LCBudW1FbGVtZW50cywgbnVsbGFibGUpIHsKLSAgICB2YXIgZWxlbWVudFNp
emUgPSBpbnRlcm5hbC5JbnRlcmZhY2UucHJvdG90eXBlLmVuY29kZWRTaXplOwotICAgIGZvciAo
dmFyIGkgPSAwOyBpIDwgbnVtRWxlbWVudHM7IGkrKykgewotICAgICAgdmFyIGVsZW1lbnRPZmZz
ZXQgPSBvZmZzZXQgKyBpICogZWxlbWVudFNpemU7Ci0gICAgICB2YXIgZXJyID0gdGhpcy52YWxp
ZGF0ZUludGVyZmFjZShlbGVtZW50T2Zmc2V0LCBudWxsYWJsZSk7Ci0gICAgICBpZiAoZXJyICE9
IHZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotICAgIH0KLSAgICBy
ZXR1cm4gdmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gIH07Ci0KLSAgVmFsaWRhdG9yLnByb3RvdHlw
ZS52YWxpZGF0ZUludGVyZmFjZVJlcXVlc3RFbGVtZW50cyA9Ci0gICAgICBmdW5jdGlvbihvZmZz
ZXQsIG51bUVsZW1lbnRzLCBudWxsYWJsZSkgewotICAgIHZhciBlbGVtZW50U2l6ZSA9IGludGVy
bmFsLkludGVyZmFjZVJlcXVlc3QuZW5jb2RlZFNpemU7Ci0gICAgZm9yICh2YXIgaSA9IDA7IGkg
PCBudW1FbGVtZW50czsgaSsrKSB7Ci0gICAgICB2YXIgZWxlbWVudE9mZnNldCA9IG9mZnNldCAr
IGkgKiBlbGVtZW50U2l6ZTsKLSAgICAgIHZhciBlcnIgPSB0aGlzLnZhbGlkYXRlSW50ZXJmYWNl
UmVxdWVzdChlbGVtZW50T2Zmc2V0LCBudWxsYWJsZSk7Ci0gICAgICBpZiAoZXJyICE9IHZhbGlk
YXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotICAgIH0KLSAgICByZXR1cm4g
dmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gIH07Ci0KLSAgVmFsaWRhdG9yLnByb3RvdHlwZS52YWxp
ZGF0ZUFzc29jaWF0ZWRJbnRlcmZhY2VFbGVtZW50cyA9Ci0gICAgICBmdW5jdGlvbihvZmZzZXQs
IG51bUVsZW1lbnRzLCBudWxsYWJsZSkgewotICAgIHZhciBlbGVtZW50U2l6ZSA9IGludGVybmFs
LkFzc29jaWF0ZWRJbnRlcmZhY2VQdHJJbmZvLnByb3RvdHlwZS5lbmNvZGVkU2l6ZTsKLSAgICBm
b3IgKHZhciBpID0gMDsgaSA8IG51bUVsZW1lbnRzOyBpKyspIHsKLSAgICAgIHZhciBlbGVtZW50
T2Zmc2V0ID0gb2Zmc2V0ICsgaSAqIGVsZW1lbnRTaXplOwotICAgICAgdmFyIGVyciA9IHRoaXMu
dmFsaWRhdGVBc3NvY2lhdGVkSW50ZXJmYWNlKGVsZW1lbnRPZmZzZXQsIG51bGxhYmxlKTsKLSAg
ICAgIGlmIChlcnIgIT0gdmFsaWRhdGlvbkVycm9yLk5PTkUpIHsKLSAgICAgICAgcmV0dXJuIGVy
cjsKLSAgICAgIH0KLSAgICB9Ci0gICAgcmV0dXJuIHZhbGlkYXRpb25FcnJvci5OT05FOwotICB9
OwotCi0gIFZhbGlkYXRvci5wcm90b3R5cGUudmFsaWRhdGVBc3NvY2lhdGVkSW50ZXJmYWNlUmVx
dWVzdEVsZW1lbnRzID0KLSAgICAgIGZ1bmN0aW9uKG9mZnNldCwgbnVtRWxlbWVudHMsIG51bGxh
YmxlKSB7Ci0gICAgdmFyIGVsZW1lbnRTaXplID0gaW50ZXJuYWwuQXNzb2NpYXRlZEludGVyZmFj
ZVJlcXVlc3QuZW5jb2RlZFNpemU7Ci0gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBudW1FbGVtZW50
czsgaSsrKSB7Ci0gICAgICB2YXIgZWxlbWVudE9mZnNldCA9IG9mZnNldCArIGkgKiBlbGVtZW50
U2l6ZTsKLSAgICAgIHZhciBlcnIgPSB0aGlzLnZhbGlkYXRlQXNzb2NpYXRlZEludGVyZmFjZVJl
cXVlc3QoZWxlbWVudE9mZnNldCwKLSAgICAgICAgICBudWxsYWJsZSk7Ci0gICAgICBpZiAoZXJy
ICE9IHZhbGlkYXRpb25FcnJvci5OT05FKSB7Ci0gICAgICAgIHJldHVybiBlcnI7Ci0gICAgICB9
Ci0gICAgfQotICAgIHJldHVybiB2YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQotICAvLyBU
aGUgZWxlbWVudENsYXNzIHBhcmFtZXRlciBpcyB0aGUgZWxlbWVudCB0eXBlIG9mIHRoZSBlbGVt
ZW50IGFycmF5cy4KLSAgVmFsaWRhdG9yLnByb3RvdHlwZS52YWxpZGF0ZUFycmF5RWxlbWVudHMg
PQotICAgICAgZnVuY3Rpb24ob2Zmc2V0LCBudW1FbGVtZW50cywgZWxlbWVudENsYXNzLCBudWxs
YWJsZSwKLSAgICAgICAgICAgICAgIGV4cGVjdGVkRGltZW5zaW9uU2l6ZXMsIGN1cnJlbnREaW1l
bnNpb24pIHsKLSAgICB2YXIgZWxlbWVudFNpemUgPSBpbnRlcm5hbC5Qb2ludGVyVG8ucHJvdG90
eXBlLmVuY29kZWRTaXplOwotICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbnVtRWxlbWVudHM7IGkr
KykgewotICAgICAgdmFyIGVsZW1lbnRPZmZzZXQgPSBvZmZzZXQgKyBpICogZWxlbWVudFNpemU7
Ci0gICAgICB2YXIgZXJyID0gdGhpcy52YWxpZGF0ZUFycmF5UG9pbnRlcigKLSAgICAgICAgICBl
bGVtZW50T2Zmc2V0LCBlbGVtZW50Q2xhc3MuZW5jb2RlZFNpemUsIGVsZW1lbnRDbGFzcywgbnVs
bGFibGUsCi0gICAgICAgICAgZXhwZWN0ZWREaW1lbnNpb25TaXplcywgY3VycmVudERpbWVuc2lv
bik7Ci0gICAgICBpZiAoZXJyICE9IHZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1
cm4gZXJyOwotICAgIH0KLSAgICByZXR1cm4gdmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gIH07Ci0K
LSAgVmFsaWRhdG9yLnByb3RvdHlwZS52YWxpZGF0ZVN0cnVjdEVsZW1lbnRzID0KLSAgICAgIGZ1
bmN0aW9uKG9mZnNldCwgbnVtRWxlbWVudHMsIHN0cnVjdENsYXNzLCBudWxsYWJsZSkgewotICAg
IHZhciBlbGVtZW50U2l6ZSA9IGludGVybmFsLlBvaW50ZXJUby5wcm90b3R5cGUuZW5jb2RlZFNp
emU7Ci0gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBudW1FbGVtZW50czsgaSsrKSB7Ci0gICAgICB2
YXIgZWxlbWVudE9mZnNldCA9IG9mZnNldCArIGkgKiBlbGVtZW50U2l6ZTsKLSAgICAgIHZhciBl
cnIgPQotICAgICAgICAgIHRoaXMudmFsaWRhdGVTdHJ1Y3RQb2ludGVyKGVsZW1lbnRPZmZzZXQs
IHN0cnVjdENsYXNzLCBudWxsYWJsZSk7Ci0gICAgICBpZiAoZXJyICE9IHZhbGlkYXRpb25FcnJv
ci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotICAgIH0KLSAgICByZXR1cm4gdmFsaWRhdGlv
bkVycm9yLk5PTkU7Ci0gIH07Ci0KLSAgVmFsaWRhdG9yLnByb3RvdHlwZS52YWxpZGF0ZUVudW1F
bGVtZW50cyA9Ci0gICAgICBmdW5jdGlvbihvZmZzZXQsIG51bUVsZW1lbnRzLCBlbnVtQ2xhc3Mp
IHsKLSAgICB2YXIgZWxlbWVudFNpemUgPSBpbnRlcm5hbC5FbnVtLnByb3RvdHlwZS5lbmNvZGVk
U2l6ZTsKLSAgICBmb3IgKHZhciBpID0gMDsgaSA8IG51bUVsZW1lbnRzOyBpKyspIHsKLSAgICAg
IHZhciBlbGVtZW50T2Zmc2V0ID0gb2Zmc2V0ICsgaSAqIGVsZW1lbnRTaXplOwotICAgICAgdmFy
IGVyciA9IHRoaXMudmFsaWRhdGVFbnVtKGVsZW1lbnRPZmZzZXQsIGVudW1DbGFzcyk7Ci0gICAg
ICBpZiAoZXJyICE9IHZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwot
ICAgIH0KLSAgICByZXR1cm4gdmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gIH07Ci0KLSAgaW50ZXJu
YWwudmFsaWRhdGlvbkVycm9yID0gdmFsaWRhdGlvbkVycm9yOwotICBpbnRlcm5hbC5WYWxpZGF0
b3IgPSBWYWxpZGF0b3I7Ci0gIGludGVybmFsLlZhbGlkYXRpb25FcnJvck9ic2VydmVyRm9yVGVz
dGluZyA9Ci0gICAgICBWYWxpZGF0aW9uRXJyb3JPYnNlcnZlckZvclRlc3Rpbmc7Ci0gIGludGVy
bmFsLnJlcG9ydFZhbGlkYXRpb25FcnJvciA9IHJlcG9ydFZhbGlkYXRpb25FcnJvcjsKLSAgaW50
ZXJuYWwuaXNUZXN0aW5nTW9kZSA9IGlzVGVzdGluZ01vZGU7Ci0gIGludGVybmFsLmNsZWFyVGVz
dGluZ01vZGUgPSBjbGVhclRlc3RpbmdNb2RlOwotfSkoKTsKLS8vIENvcHlyaWdodCAyMDE0IFRo
ZSBDaHJvbWl1bSBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotLy8gVXNlIG9mIHRoaXMg
c291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBi
ZQotLy8gZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KLQotCi0ndXNlIHN0cmljdCc7Ci0KLShm
dW5jdGlvbigpIHsKLSAgdmFyIG1vam9tSWQgPSAnbW9qby9wdWJsaWMvaW50ZXJmYWNlcy9iaW5k
aW5ncy9uZXdfYmluZGluZ3MvaW50ZXJmYWNlX2NvbnRyb2xfbWVzc2FnZXMubW9qb20nOwotICBp
ZiAobW9qby5pbnRlcm5hbC5pc01vam9tTG9hZGVkKG1vam9tSWQpKSB7Ci0gICAgY29uc29sZS53
YXJuKCdUaGUgZm9sbG93aW5nIG1vam9tIGlzIGxvYWRlZCBtdWx0aXBsZSB0aW1lczogJyArIG1v
am9tSWQpOwotICAgIHJldHVybjsKLSAgfQotICBtb2pvLmludGVybmFsLm1hcmtNb2pvbUxvYWRl
ZChtb2pvbUlkKTsKLQotICAvLyBUT0RPKHl6c2hlbik6IERlZmluZSB0aGVzZSBhbGlhc2VzIHRv
IG1pbmltaXplIHRoZSBkaWZmZXJlbmNlcyBiZXR3ZWVuIHRoZQotICAvLyBvbGQvbmV3IG1vZGVz
LiBSZW1vdmUgdGhlbSB3aGVuIHRoZSBvbGQgbW9kZSBnb2VzIGF3YXkuCi0gIHZhciBiaW5kaW5n
cyA9IG1vam87Ci0gIHZhciBhc3NvY2lhdGVkQmluZGluZ3MgPSBtb2pvOwotICB2YXIgY29kZWMg
PSBtb2pvLmludGVybmFsOwotICB2YXIgdmFsaWRhdG9yID0gbW9qby5pbnRlcm5hbDsKLQotICB2
YXIgZXhwb3J0cyA9IG1vam8uaW50ZXJuYWwuZXhwb3NlTmFtZXNwYWNlKCdtb2pvLmludGVyZmFj
ZUNvbnRyb2wyJyk7Ci0KLQotICB2YXIga1J1bk1lc3NhZ2VJZCA9IDB4RkZGRkZGRkY7Ci0gIHZh
ciBrUnVuT3JDbG9zZVBpcGVNZXNzYWdlSWQgPSAweEZGRkZGRkZFOwotCi0gIGZ1bmN0aW9uIFJ1
bk1lc3NhZ2VQYXJhbXModmFsdWVzKSB7Ci0gICAgdGhpcy5pbml0RGVmYXVsdHNfKCk7Ci0gICAg
dGhpcy5pbml0RmllbGRzXyh2YWx1ZXMpOwotICB9Ci0KLQotICBSdW5NZXNzYWdlUGFyYW1zLnBy
b3RvdHlwZS5pbml0RGVmYXVsdHNfID0gZnVuY3Rpb24oKSB7Ci0gICAgdGhpcy5pbnB1dCA9IG51
bGw7Ci0gIH07Ci0gIFJ1bk1lc3NhZ2VQYXJhbXMucHJvdG90eXBlLmluaXRGaWVsZHNfID0gZnVu
Y3Rpb24oZmllbGRzKSB7Ci0gICAgZm9yKHZhciBmaWVsZCBpbiBmaWVsZHMpIHsKLSAgICAgICAg
aWYgKHRoaXMuaGFzT3duUHJvcGVydHkoZmllbGQpKQotICAgICAgICAgIHRoaXNbZmllbGRdID0g
ZmllbGRzW2ZpZWxkXTsKLSAgICB9Ci0gIH07Ci0KLSAgUnVuTWVzc2FnZVBhcmFtcy52YWxpZGF0
ZSA9IGZ1bmN0aW9uKG1lc3NhZ2VWYWxpZGF0b3IsIG9mZnNldCkgewotICAgIHZhciBlcnI7Ci0g
ICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdEhlYWRlcihvZmZzZXQsIGNv
ZGVjLmtTdHJ1Y3RIZWFkZXJTaXplKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRh
dGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICB2YXIga1ZlcnNpb25T
aXplcyA9IFsKLSAgICAgIHt2ZXJzaW9uOiAwLCBudW1CeXRlczogMjR9Ci0gICAgXTsKLSAgICBl
cnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0VmVyc2lvbihvZmZzZXQsIGtWZXJz
aW9uU2l6ZXMpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9O
RSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0gICAgLy8gdmFsaWRhdGUgUnVuTWVzc2FnZVBh
cmFtcy5pbnB1dAotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVVbmlvbihvZmZz
ZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDAsIFJ1bklucHV0LCBmYWxzZSk7Ci0gICAg
aWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1
cm4gZXJyOwotCi0gICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAg
fTsKLQotICBSdW5NZXNzYWdlUGFyYW1zLmVuY29kZWRTaXplID0gY29kZWMua1N0cnVjdEhlYWRl
clNpemUgKyAxNjsKLQotICBSdW5NZXNzYWdlUGFyYW1zLmRlY29kZSA9IGZ1bmN0aW9uKGRlY29k
ZXIpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIHZhciB2YWwgPSBuZXcgUnVuTWVzc2FnZVBhcmFt
cygpOwotICAgIHZhciBudW1iZXJPZkJ5dGVzID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAg
dmFyIHZlcnNpb24gPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YWwuaW5wdXQgPSBkZWNv
ZGVyLmRlY29kZVN0cnVjdChSdW5JbnB1dCk7Ci0gICAgcmV0dXJuIHZhbDsKLSAgfTsKLQotICBS
dW5NZXNzYWdlUGFyYW1zLmVuY29kZSA9IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgIHZh
ciBwYWNrZWQ7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMihSdW5NZXNzYWdlUGFyYW1zLmVuY29k
ZWRTaXplKTsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKDApOwotICAgIGVuY29kZXIuZW5jb2Rl
U3RydWN0KFJ1bklucHV0LCB2YWwuaW5wdXQpOwotICB9OwotICBmdW5jdGlvbiBSdW5SZXNwb25z
ZU1lc3NhZ2VQYXJhbXModmFsdWVzKSB7Ci0gICAgdGhpcy5pbml0RGVmYXVsdHNfKCk7Ci0gICAg
dGhpcy5pbml0RmllbGRzXyh2YWx1ZXMpOwotICB9Ci0KLQotICBSdW5SZXNwb25zZU1lc3NhZ2VQ
YXJhbXMucHJvdG90eXBlLmluaXREZWZhdWx0c18gPSBmdW5jdGlvbigpIHsKLSAgICB0aGlzLm91
dHB1dCA9IG51bGw7Ci0gIH07Ci0gIFJ1blJlc3BvbnNlTWVzc2FnZVBhcmFtcy5wcm90b3R5cGUu
aW5pdEZpZWxkc18gPSBmdW5jdGlvbihmaWVsZHMpIHsKLSAgICBmb3IodmFyIGZpZWxkIGluIGZp
ZWxkcykgewotICAgICAgICBpZiAodGhpcy5oYXNPd25Qcm9wZXJ0eShmaWVsZCkpCi0gICAgICAg
ICAgdGhpc1tmaWVsZF0gPSBmaWVsZHNbZmllbGRdOwotICAgIH0KLSAgfTsKLQotICBSdW5SZXNw
b25zZU1lc3NhZ2VQYXJhbXMudmFsaWRhdGUgPSBmdW5jdGlvbihtZXNzYWdlVmFsaWRhdG9yLCBv
ZmZzZXQpIHsKLSAgICB2YXIgZXJyOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRh
dGVTdHJ1Y3RIZWFkZXIob2Zmc2V0LCBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSk7Ci0gICAgaWYg
KGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4g
ZXJyOwotCi0gICAgdmFyIGtWZXJzaW9uU2l6ZXMgPSBbCi0gICAgICB7dmVyc2lvbjogMCwgbnVt
Qnl0ZXM6IDI0fQotICAgIF07Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0
cnVjdFZlcnNpb24ob2Zmc2V0LCBrVmVyc2lvblNpemVzKTsKLSAgICBpZiAoZXJyICE9PSB2YWxp
ZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotICAg
IC8vIHZhbGlkYXRlIFJ1blJlc3BvbnNlTWVzc2FnZVBhcmFtcy5vdXRwdXQKLSAgICBlcnIgPSBt
ZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlVW5pb24ob2Zmc2V0ICsgY29kZWMua1N0cnVjdEhlYWRl
clNpemUgKyAwLCBSdW5PdXRwdXQsIHRydWUpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52
YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHJldHVybiB2
YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gIH07Ci0KLSAgUnVuUmVzcG9uc2VNZXNz
YWdlUGFyYW1zLmVuY29kZWRTaXplID0gY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyAxNjsKLQot
ICBSdW5SZXNwb25zZU1lc3NhZ2VQYXJhbXMuZGVjb2RlID0gZnVuY3Rpb24oZGVjb2Rlcikgewot
ICAgIHZhciBwYWNrZWQ7Ci0gICAgdmFyIHZhbCA9IG5ldyBSdW5SZXNwb25zZU1lc3NhZ2VQYXJh
bXMoKTsKLSAgICB2YXIgbnVtYmVyT2ZCeXRlcyA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAg
IHZhciB2ZXJzaW9uID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFsLm91dHB1dCA9IGRl
Y29kZXIuZGVjb2RlU3RydWN0KFJ1bk91dHB1dCk7Ci0gICAgcmV0dXJuIHZhbDsKLSAgfTsKLQot
ICBSdW5SZXNwb25zZU1lc3NhZ2VQYXJhbXMuZW5jb2RlID0gZnVuY3Rpb24oZW5jb2RlciwgdmFs
KSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKFJ1blJlc3BvbnNl
TWVzc2FnZVBhcmFtcy5lbmNvZGVkU2l6ZSk7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMigwKTsK
LSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdChSdW5PdXRwdXQsIHZhbC5vdXRwdXQpOwotICB9Owot
ICBmdW5jdGlvbiBRdWVyeVZlcnNpb24odmFsdWVzKSB7Ci0gICAgdGhpcy5pbml0RGVmYXVsdHNf
KCk7Ci0gICAgdGhpcy5pbml0RmllbGRzXyh2YWx1ZXMpOwotICB9Ci0KLQotICBRdWVyeVZlcnNp
b24ucHJvdG90eXBlLmluaXREZWZhdWx0c18gPSBmdW5jdGlvbigpIHsKLSAgfTsKLSAgUXVlcnlW
ZXJzaW9uLnByb3RvdHlwZS5pbml0RmllbGRzXyA9IGZ1bmN0aW9uKGZpZWxkcykgewotICAgIGZv
cih2YXIgZmllbGQgaW4gZmllbGRzKSB7Ci0gICAgICAgIGlmICh0aGlzLmhhc093blByb3BlcnR5
KGZpZWxkKSkKLSAgICAgICAgICB0aGlzW2ZpZWxkXSA9IGZpZWxkc1tmaWVsZF07Ci0gICAgfQot
ICB9OwotCi0gIFF1ZXJ5VmVyc2lvbi52YWxpZGF0ZSA9IGZ1bmN0aW9uKG1lc3NhZ2VWYWxpZGF0
b3IsIG9mZnNldCkgewotICAgIHZhciBlcnI7Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52
YWxpZGF0ZVN0cnVjdEhlYWRlcihvZmZzZXQsIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplKTsKLSAg
ICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJl
dHVybiBlcnI7Ci0KLSAgICB2YXIga1ZlcnNpb25TaXplcyA9IFsKLSAgICAgIHt2ZXJzaW9uOiAw
LCBudW1CeXRlczogOH0KLSAgICBdOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRh
dGVTdHJ1Y3RWZXJzaW9uKG9mZnNldCwga1ZlcnNpb25TaXplcyk7Ci0gICAgaWYgKGVyciAhPT0g
dmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0g
ICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQotICBRdWVy
eVZlcnNpb24uZW5jb2RlZFNpemUgPSBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDA7Ci0KLSAg
UXVlcnlWZXJzaW9uLmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICB2YXIgcGFja2Vk
OwotICAgIHZhciB2YWwgPSBuZXcgUXVlcnlWZXJzaW9uKCk7Ci0gICAgdmFyIG51bWJlck9mQnl0
ZXMgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YXIgdmVyc2lvbiA9IGRlY29kZXIucmVh
ZFVpbnQzMigpOwotICAgIHJldHVybiB2YWw7Ci0gIH07Ci0KLSAgUXVlcnlWZXJzaW9uLmVuY29k
ZSA9IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgZW5jb2Rl
ci53cml0ZVVpbnQzMihRdWVyeVZlcnNpb24uZW5jb2RlZFNpemUpOwotICAgIGVuY29kZXIud3Jp
dGVVaW50MzIoMCk7Ci0gIH07Ci0gIGZ1bmN0aW9uIFF1ZXJ5VmVyc2lvblJlc3VsdCh2YWx1ZXMp
IHsKLSAgICB0aGlzLmluaXREZWZhdWx0c18oKTsKLSAgICB0aGlzLmluaXRGaWVsZHNfKHZhbHVl
cyk7Ci0gIH0KLQotCi0gIFF1ZXJ5VmVyc2lvblJlc3VsdC5wcm90b3R5cGUuaW5pdERlZmF1bHRz
XyA9IGZ1bmN0aW9uKCkgewotICAgIHRoaXMudmVyc2lvbiA9IDA7Ci0gIH07Ci0gIFF1ZXJ5VmVy
c2lvblJlc3VsdC5wcm90b3R5cGUuaW5pdEZpZWxkc18gPSBmdW5jdGlvbihmaWVsZHMpIHsKLSAg
ICBmb3IodmFyIGZpZWxkIGluIGZpZWxkcykgewotICAgICAgICBpZiAodGhpcy5oYXNPd25Qcm9w
ZXJ0eShmaWVsZCkpCi0gICAgICAgICAgdGhpc1tmaWVsZF0gPSBmaWVsZHNbZmllbGRdOwotICAg
IH0KLSAgfTsKLQotICBRdWVyeVZlcnNpb25SZXN1bHQudmFsaWRhdGUgPSBmdW5jdGlvbihtZXNz
YWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsKLSAgICB2YXIgZXJyOwotICAgIGVyciA9IG1lc3NhZ2VW
YWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RIZWFkZXIob2Zmc2V0LCBjb2RlYy5rU3RydWN0SGVhZGVy
U2l6ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQot
ICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgdmFyIGtWZXJzaW9uU2l6ZXMgPSBbCi0gICAgICB7
dmVyc2lvbjogMCwgbnVtQnl0ZXM6IDE2fQotICAgIF07Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlk
YXRvci52YWxpZGF0ZVN0cnVjdFZlcnNpb24ob2Zmc2V0LCBrVmVyc2lvblNpemVzKTsKLSAgICBp
ZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVy
biBlcnI7Ci0KLQotICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0g
IH07Ci0KLSAgUXVlcnlWZXJzaW9uUmVzdWx0LmVuY29kZWRTaXplID0gY29kZWMua1N0cnVjdEhl
YWRlclNpemUgKyA4OwotCi0gIFF1ZXJ5VmVyc2lvblJlc3VsdC5kZWNvZGUgPSBmdW5jdGlvbihk
ZWNvZGVyKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICB2YXIgdmFsID0gbmV3IFF1ZXJ5VmVyc2lv
blJlc3VsdCgpOwotICAgIHZhciBudW1iZXJPZkJ5dGVzID0gZGVjb2Rlci5yZWFkVWludDMyKCk7
Ci0gICAgdmFyIHZlcnNpb24gPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YWwudmVyc2lv
biA9IGRlY29kZXIuZGVjb2RlU3RydWN0KGNvZGVjLlVpbnQzMik7Ci0gICAgZGVjb2Rlci5za2lw
KDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVj
b2Rlci5za2lwKDEpOwotICAgIHJldHVybiB2YWw7Ci0gIH07Ci0KLSAgUXVlcnlWZXJzaW9uUmVz
dWx0LmVuY29kZSA9IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgIHZhciBwYWNrZWQ7Ci0g
ICAgZW5jb2Rlci53cml0ZVVpbnQzMihRdWVyeVZlcnNpb25SZXN1bHQuZW5jb2RlZFNpemUpOwot
ICAgIGVuY29kZXIud3JpdGVVaW50MzIoMCk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3QoY29k
ZWMuVWludDMyLCB2YWwudmVyc2lvbik7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29k
ZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwot
ICB9OwotICBmdW5jdGlvbiBGbHVzaEZvclRlc3RpbmcodmFsdWVzKSB7Ci0gICAgdGhpcy5pbml0
RGVmYXVsdHNfKCk7Ci0gICAgdGhpcy5pbml0RmllbGRzXyh2YWx1ZXMpOwotICB9Ci0KLQotICBG
bHVzaEZvclRlc3RpbmcucHJvdG90eXBlLmluaXREZWZhdWx0c18gPSBmdW5jdGlvbigpIHsKLSAg
fTsKLSAgRmx1c2hGb3JUZXN0aW5nLnByb3RvdHlwZS5pbml0RmllbGRzXyA9IGZ1bmN0aW9uKGZp
ZWxkcykgewotICAgIGZvcih2YXIgZmllbGQgaW4gZmllbGRzKSB7Ci0gICAgICAgIGlmICh0aGlz
Lmhhc093blByb3BlcnR5KGZpZWxkKSkKLSAgICAgICAgICB0aGlzW2ZpZWxkXSA9IGZpZWxkc1tm
aWVsZF07Ci0gICAgfQotICB9OwotCi0gIEZsdXNoRm9yVGVzdGluZy52YWxpZGF0ZSA9IGZ1bmN0
aW9uKG1lc3NhZ2VWYWxpZGF0b3IsIG9mZnNldCkgewotICAgIHZhciBlcnI7Ci0gICAgZXJyID0g
bWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdEhlYWRlcihvZmZzZXQsIGNvZGVjLmtTdHJ1
Y3RIZWFkZXJTaXplKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9y
Lk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICB2YXIga1ZlcnNpb25TaXplcyA9IFsK
LSAgICAgIHt2ZXJzaW9uOiAwLCBudW1CeXRlczogOH0KLSAgICBdOwotICAgIGVyciA9IG1lc3Nh
Z2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RWZXJzaW9uKG9mZnNldCwga1ZlcnNpb25TaXplcyk7
Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAg
ICByZXR1cm4gZXJyOwotCi0gICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9O
RTsKLSAgfTsKLQotICBGbHVzaEZvclRlc3RpbmcuZW5jb2RlZFNpemUgPSBjb2RlYy5rU3RydWN0
SGVhZGVyU2l6ZSArIDA7Ci0KLSAgRmx1c2hGb3JUZXN0aW5nLmRlY29kZSA9IGZ1bmN0aW9uKGRl
Y29kZXIpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIHZhciB2YWwgPSBuZXcgRmx1c2hGb3JUZXN0
aW5nKCk7Ci0gICAgdmFyIG51bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAg
ICB2YXIgdmVyc2lvbiA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHJldHVybiB2YWw7Ci0g
IH07Ci0KLSAgRmx1c2hGb3JUZXN0aW5nLmVuY29kZSA9IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkg
ewotICAgIHZhciBwYWNrZWQ7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMihGbHVzaEZvclRlc3Rp
bmcuZW5jb2RlZFNpemUpOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoMCk7Ci0gIH07Ci0gIGZ1
bmN0aW9uIFJ1bk9yQ2xvc2VQaXBlTWVzc2FnZVBhcmFtcyh2YWx1ZXMpIHsKLSAgICB0aGlzLmlu
aXREZWZhdWx0c18oKTsKLSAgICB0aGlzLmluaXRGaWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0g
IFJ1bk9yQ2xvc2VQaXBlTWVzc2FnZVBhcmFtcy5wcm90b3R5cGUuaW5pdERlZmF1bHRzXyA9IGZ1
bmN0aW9uKCkgewotICAgIHRoaXMuaW5wdXQgPSBudWxsOwotICB9OwotICBSdW5PckNsb3NlUGlw
ZU1lc3NhZ2VQYXJhbXMucHJvdG90eXBlLmluaXRGaWVsZHNfID0gZnVuY3Rpb24oZmllbGRzKSB7
Ci0gICAgZm9yKHZhciBmaWVsZCBpbiBmaWVsZHMpIHsKLSAgICAgICAgaWYgKHRoaXMuaGFzT3du
UHJvcGVydHkoZmllbGQpKQotICAgICAgICAgIHRoaXNbZmllbGRdID0gZmllbGRzW2ZpZWxkXTsK
LSAgICB9Ci0gIH07Ci0KLSAgUnVuT3JDbG9zZVBpcGVNZXNzYWdlUGFyYW1zLnZhbGlkYXRlID0g
ZnVuY3Rpb24obWVzc2FnZVZhbGlkYXRvciwgb2Zmc2V0KSB7Ci0gICAgdmFyIGVycjsKLSAgICBl
cnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0SGVhZGVyKG9mZnNldCwgY29kZWMu
a1N0cnVjdEhlYWRlclNpemUpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9u
RXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHZhciBrVmVyc2lvblNpemVz
ID0gWwotICAgICAge3ZlcnNpb246IDAsIG51bUJ5dGVzOiAyNH0KLSAgICBdOwotICAgIGVyciA9
IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RWZXJzaW9uKG9mZnNldCwga1ZlcnNpb25T
aXplcyk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQot
ICAgICAgICByZXR1cm4gZXJyOwotCi0KLSAgICAvLyB2YWxpZGF0ZSBSdW5PckNsb3NlUGlwZU1l
c3NhZ2VQYXJhbXMuaW5wdXQKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlVW5p
b24ob2Zmc2V0ICsgY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyAwLCBSdW5PckNsb3NlUGlwZUlu
cHV0LCBmYWxzZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5O
T05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0
aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQotICBSdW5PckNsb3NlUGlwZU1lc3NhZ2VQYXJhbXMuZW5j
b2RlZFNpemUgPSBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDE2OwotCi0gIFJ1bk9yQ2xvc2VQ
aXBlTWVzc2FnZVBhcmFtcy5kZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgdmFyIHBh
Y2tlZDsKLSAgICB2YXIgdmFsID0gbmV3IFJ1bk9yQ2xvc2VQaXBlTWVzc2FnZVBhcmFtcygpOwot
ICAgIHZhciBudW1iZXJPZkJ5dGVzID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFyIHZl
cnNpb24gPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YWwuaW5wdXQgPSBkZWNvZGVyLmRl
Y29kZVN0cnVjdChSdW5PckNsb3NlUGlwZUlucHV0KTsKLSAgICByZXR1cm4gdmFsOwotICB9Owot
Ci0gIFJ1bk9yQ2xvc2VQaXBlTWVzc2FnZVBhcmFtcy5lbmNvZGUgPSBmdW5jdGlvbihlbmNvZGVy
LCB2YWwpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoUnVuT3JD
bG9zZVBpcGVNZXNzYWdlUGFyYW1zLmVuY29kZWRTaXplKTsKLSAgICBlbmNvZGVyLndyaXRlVWlu
dDMyKDApOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KFJ1bk9yQ2xvc2VQaXBlSW5wdXQsIHZh
bC5pbnB1dCk7Ci0gIH07Ci0gIGZ1bmN0aW9uIFJlcXVpcmVWZXJzaW9uKHZhbHVlcykgewotICAg
IHRoaXMuaW5pdERlZmF1bHRzXygpOwotICAgIHRoaXMuaW5pdEZpZWxkc18odmFsdWVzKTsKLSAg
fQotCi0KLSAgUmVxdWlyZVZlcnNpb24ucHJvdG90eXBlLmluaXREZWZhdWx0c18gPSBmdW5jdGlv
bigpIHsKLSAgICB0aGlzLnZlcnNpb24gPSAwOwotICB9OwotICBSZXF1aXJlVmVyc2lvbi5wcm90
b3R5cGUuaW5pdEZpZWxkc18gPSBmdW5jdGlvbihmaWVsZHMpIHsKLSAgICBmb3IodmFyIGZpZWxk
IGluIGZpZWxkcykgewotICAgICAgICBpZiAodGhpcy5oYXNPd25Qcm9wZXJ0eShmaWVsZCkpCi0g
ICAgICAgICAgdGhpc1tmaWVsZF0gPSBmaWVsZHNbZmllbGRdOwotICAgIH0KLSAgfTsKLQotICBS
ZXF1aXJlVmVyc2lvbi52YWxpZGF0ZSA9IGZ1bmN0aW9uKG1lc3NhZ2VWYWxpZGF0b3IsIG9mZnNl
dCkgewotICAgIHZhciBlcnI7Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0
cnVjdEhlYWRlcihvZmZzZXQsIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplKTsKLSAgICBpZiAoZXJy
ICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7
Ci0KLSAgICB2YXIga1ZlcnNpb25TaXplcyA9IFsKLSAgICAgIHt2ZXJzaW9uOiAwLCBudW1CeXRl
czogMTZ9Ci0gICAgXTsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0
VmVyc2lvbihvZmZzZXQsIGtWZXJzaW9uU2l6ZXMpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRv
ci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0gICAgcmV0
dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQotICBSZXF1aXJlVmVy
c2lvbi5lbmNvZGVkU2l6ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgODsKLQotICBSZXF1
aXJlVmVyc2lvbi5kZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgdmFyIHBhY2tlZDsK
LSAgICB2YXIgdmFsID0gbmV3IFJlcXVpcmVWZXJzaW9uKCk7Ci0gICAgdmFyIG51bWJlck9mQnl0
ZXMgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YXIgdmVyc2lvbiA9IGRlY29kZXIucmVh
ZFVpbnQzMigpOwotICAgIHZhbC52ZXJzaW9uID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoY29kZWMu
VWludDMyKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAg
IGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgcmV0dXJuIHZhbDsK
LSAgfTsKLQotICBSZXF1aXJlVmVyc2lvbi5lbmNvZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2YWwp
IHsKLSAgICB2YXIgcGFja2VkOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoUmVxdWlyZVZlcnNp
b24uZW5jb2RlZFNpemUpOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoMCk7Ci0gICAgZW5jb2Rl
ci5lbmNvZGVTdHJ1Y3QoY29kZWMuVWludDMyLCB2YWwudmVyc2lvbik7Ci0gICAgZW5jb2Rlci5z
a2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAg
ZW5jb2Rlci5za2lwKDEpOwotICB9OwotCi0gIGZ1bmN0aW9uIFJ1bklucHV0KHZhbHVlKSB7Ci0g
ICAgdGhpcy5pbml0RGVmYXVsdF8oKTsKLSAgICB0aGlzLmluaXRWYWx1ZV8odmFsdWUpOwotICB9
Ci0gIAotICAKLSAgUnVuSW5wdXQuVGFncyA9IHsKLSAgICBxdWVyeVZlcnNpb246IDAsCi0gICAg
Zmx1c2hGb3JUZXN0aW5nOiAxLAotICB9OwotICAKLSAgUnVuSW5wdXQucHJvdG90eXBlLmluaXRE
ZWZhdWx0XyA9IGZ1bmN0aW9uKCkgewotICAgIHRoaXMuJGRhdGEgPSBudWxsOwotICAgIHRoaXMu
JHRhZyA9IHVuZGVmaW5lZDsKLSAgfQotICAKLSAgUnVuSW5wdXQucHJvdG90eXBlLmluaXRWYWx1
ZV8gPSBmdW5jdGlvbih2YWx1ZSkgewotICAgIGlmICh2YWx1ZSA9PSB1bmRlZmluZWQpIHsKLSAg
ICAgIHJldHVybjsKLSAgICB9Ci0gIAotICAgIHZhciBrZXlzID0gT2JqZWN0LmtleXModmFsdWUp
OwotICAgIGlmIChrZXlzLmxlbmd0aCA9PSAwKSB7Ci0gICAgICByZXR1cm47Ci0gICAgfQotICAK
LSAgICBpZiAoa2V5cy5sZW5ndGggPiAxKSB7Ci0gICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCJZ
b3UgbWF5IHNldCBvbmx5IG9uZSBtZW1iZXIgb24gYSB1bmlvbi4iKTsKLSAgICB9Ci0gIAotICAg
IHZhciBmaWVsZHMgPSBbCi0gICAgICAgICJxdWVyeVZlcnNpb24iLAotICAgICAgICAiZmx1c2hG
b3JUZXN0aW5nIiwKLSAgICBdOwotICAKLSAgICBpZiAoZmllbGRzLmluZGV4T2Yoa2V5c1swXSkg
PCAwKSB7Ci0gICAgICB0aHJvdyBuZXcgUmVmZXJlbmNlRXJyb3Ioa2V5c1swXSArICIgaXMgbm90
IGEgUnVuSW5wdXQgbWVtYmVyLiIpOwotICAKLSAgICB9Ci0gIAotICAgIHRoaXNba2V5c1swXV0g
PSB2YWx1ZVtrZXlzWzBdXTsKLSAgfQotICBPYmplY3QuZGVmaW5lUHJvcGVydHkoUnVuSW5wdXQu
cHJvdG90eXBlLCAicXVlcnlWZXJzaW9uIiwgewotICAgIGdldDogZnVuY3Rpb24oKSB7Ci0gICAg
ICBpZiAodGhpcy4kdGFnICE9IFJ1bklucHV0LlRhZ3MucXVlcnlWZXJzaW9uKSB7Ci0gICAgICAg
IHRocm93IG5ldyBSZWZlcmVuY2VFcnJvcigKLSAgICAgICAgICAgICJSdW5JbnB1dC5xdWVyeVZl
cnNpb24gaXMgbm90IGN1cnJlbnRseSBzZXQuIik7Ci0gICAgICB9Ci0gICAgICByZXR1cm4gdGhp
cy4kZGF0YTsKLSAgICB9LAotICAKLSAgICBzZXQ6IGZ1bmN0aW9uKHZhbHVlKSB7Ci0gICAgICB0
aGlzLiR0YWcgPSBSdW5JbnB1dC5UYWdzLnF1ZXJ5VmVyc2lvbjsKLSAgICAgIHRoaXMuJGRhdGEg
PSB2YWx1ZTsKLSAgICB9Ci0gIH0pOwotICBPYmplY3QuZGVmaW5lUHJvcGVydHkoUnVuSW5wdXQu
cHJvdG90eXBlLCAiZmx1c2hGb3JUZXN0aW5nIiwgewotICAgIGdldDogZnVuY3Rpb24oKSB7Ci0g
ICAgICBpZiAodGhpcy4kdGFnICE9IFJ1bklucHV0LlRhZ3MuZmx1c2hGb3JUZXN0aW5nKSB7Ci0g
ICAgICAgIHRocm93IG5ldyBSZWZlcmVuY2VFcnJvcigKLSAgICAgICAgICAgICJSdW5JbnB1dC5m
bHVzaEZvclRlc3RpbmcgaXMgbm90IGN1cnJlbnRseSBzZXQuIik7Ci0gICAgICB9Ci0gICAgICBy
ZXR1cm4gdGhpcy4kZGF0YTsKLSAgICB9LAotICAKLSAgICBzZXQ6IGZ1bmN0aW9uKHZhbHVlKSB7
Ci0gICAgICB0aGlzLiR0YWcgPSBSdW5JbnB1dC5UYWdzLmZsdXNoRm9yVGVzdGluZzsKLSAgICAg
IHRoaXMuJGRhdGEgPSB2YWx1ZTsKLSAgICB9Ci0gIH0pOwotICAKLSAgCi0gICAgUnVuSW5wdXQu
ZW5jb2RlID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAgICBpZiAodmFsID09IG51bGwp
IHsKLSAgICAgICAgZW5jb2Rlci53cml0ZVVpbnQ2NCgwKTsKLSAgICAgICAgZW5jb2Rlci53cml0
ZVVpbnQ2NCgwKTsKLSAgICAgICAgcmV0dXJuOwotICAgICAgfQotICAgICAgaWYgKHZhbC4kdGFn
ID09IHVuZGVmaW5lZCkgewotICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgZW5j
b2RlIHVuaW9ucyB3aXRoIGFuIHVua25vd24gbWVtYmVyIHNldC4iKTsKLSAgICAgIH0KLSAgICAK
LSAgICAgIGVuY29kZXIud3JpdGVVaW50MzIoMTYpOwotICAgICAgZW5jb2Rlci53cml0ZVVpbnQz
Mih2YWwuJHRhZyk7Ci0gICAgICBzd2l0Y2ggKHZhbC4kdGFnKSB7Ci0gICAgICAgIGNhc2UgUnVu
SW5wdXQuVGFncy5xdWVyeVZlcnNpb246Ci0gICAgICAgICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3RQ
b2ludGVyKFF1ZXJ5VmVyc2lvbiwgdmFsLnF1ZXJ5VmVyc2lvbik7Ci0gICAgICAgICAgYnJlYWs7
Ci0gICAgICAgIGNhc2UgUnVuSW5wdXQuVGFncy5mbHVzaEZvclRlc3Rpbmc6Ci0gICAgICAgICAg
ZW5jb2Rlci5lbmNvZGVTdHJ1Y3RQb2ludGVyKEZsdXNoRm9yVGVzdGluZywgdmFsLmZsdXNoRm9y
VGVzdGluZyk7Ci0gICAgICAgICAgYnJlYWs7Ci0gICAgICB9Ci0gICAgICBlbmNvZGVyLmFsaWdu
KCk7Ci0gICAgfTsKLSAgCi0gIAotICAgIFJ1bklucHV0LmRlY29kZSA9IGZ1bmN0aW9uKGRlY29k
ZXIpIHsKLSAgICAgIHZhciBzaXplID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgICBpZiAo
c2l6ZSA9PSAwKSB7Ci0gICAgICAgIGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgICAgICBkZWNv
ZGVyLnJlYWRVaW50NjQoKTsKLSAgICAgICAgcmV0dXJuIG51bGw7Ci0gICAgICB9Ci0gICAgCi0g
ICAgICB2YXIgcmVzdWx0ID0gbmV3IFJ1bklucHV0KCk7Ci0gICAgICB2YXIgdGFnID0gZGVjb2Rl
ci5yZWFkVWludDMyKCk7Ci0gICAgICBzd2l0Y2ggKHRhZykgewotICAgICAgICBjYXNlIFJ1bklu
cHV0LlRhZ3MucXVlcnlWZXJzaW9uOgotICAgICAgICAgIHJlc3VsdC5xdWVyeVZlcnNpb24gPSBk
ZWNvZGVyLmRlY29kZVN0cnVjdFBvaW50ZXIoUXVlcnlWZXJzaW9uKTsKLSAgICAgICAgICBicmVh
azsKLSAgICAgICAgY2FzZSBSdW5JbnB1dC5UYWdzLmZsdXNoRm9yVGVzdGluZzoKLSAgICAgICAg
ICByZXN1bHQuZmx1c2hGb3JUZXN0aW5nID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3RQb2ludGVyKEZs
dXNoRm9yVGVzdGluZyk7Ci0gICAgICAgICAgYnJlYWs7Ci0gICAgICB9Ci0gICAgICBkZWNvZGVy
LmFsaWduKCk7Ci0gICAgCi0gICAgICByZXR1cm4gcmVzdWx0OwotICAgIH07Ci0gIAotICAKLSAg
ICBSdW5JbnB1dC52YWxpZGF0ZSA9IGZ1bmN0aW9uKG1lc3NhZ2VWYWxpZGF0b3IsIG9mZnNldCkg
ewotICAgICAgdmFyIHNpemUgPSBtZXNzYWdlVmFsaWRhdG9yLmRlY29kZVVuaW9uU2l6ZShvZmZz
ZXQpOwotICAgICAgaWYgKHNpemUgIT0gMTYpIHsKLSAgICAgICAgcmV0dXJuIHZhbGlkYXRvci52
YWxpZGF0aW9uRXJyb3IuSU5WQUxJRF9VTklPTl9TSVpFOwotICAgICAgfQotICAgIAotICAgICAg
dmFyIHRhZyA9IG1lc3NhZ2VWYWxpZGF0b3IuZGVjb2RlVW5pb25UYWcob2Zmc2V0KTsKLSAgICAg
IHZhciBkYXRhX29mZnNldCA9IG9mZnNldCArIDg7Ci0gICAgICB2YXIgZXJyOwotICAgICAgc3dp
dGNoICh0YWcpIHsKLSAgICAgICAgY2FzZSBSdW5JbnB1dC5UYWdzLnF1ZXJ5VmVyc2lvbjoKLSAg
ICAgICAgICAKLSAgICAKLSAgICAvLyB2YWxpZGF0ZSBSdW5JbnB1dC5xdWVyeVZlcnNpb24KLSAg
ICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0UG9pbnRlcihkYXRhX29mZnNl
dCwgUXVlcnlWZXJzaW9uLCBmYWxzZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlk
YXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotICAgICAgICAgIGJyZWFrOwot
ICAgICAgICBjYXNlIFJ1bklucHV0LlRhZ3MuZmx1c2hGb3JUZXN0aW5nOgotICAgICAgICAgIAot
ICAgIAotICAgIC8vIHZhbGlkYXRlIFJ1bklucHV0LmZsdXNoRm9yVGVzdGluZwotICAgIGVyciA9
IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RQb2ludGVyKGRhdGFfb2Zmc2V0LCBGbHVz
aEZvclRlc3RpbmcsIGZhbHNlKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlv
bkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0gICAgICAgICAgYnJlYWs7Ci0gICAg
ICB9Ci0gICAgCi0gICAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwot
ICAgIH07Ci0gIAotICBSdW5JbnB1dC5lbmNvZGVkU2l6ZSA9IDE2OwotCi0gIGZ1bmN0aW9uIFJ1
bk91dHB1dCh2YWx1ZSkgewotICAgIHRoaXMuaW5pdERlZmF1bHRfKCk7Ci0gICAgdGhpcy5pbml0
VmFsdWVfKHZhbHVlKTsKLSAgfQotICAKLSAgCi0gIFJ1bk91dHB1dC5UYWdzID0gewotICAgIHF1
ZXJ5VmVyc2lvblJlc3VsdDogMCwKLSAgfTsKLSAgCi0gIFJ1bk91dHB1dC5wcm90b3R5cGUuaW5p
dERlZmF1bHRfID0gZnVuY3Rpb24oKSB7Ci0gICAgdGhpcy4kZGF0YSA9IG51bGw7Ci0gICAgdGhp
cy4kdGFnID0gdW5kZWZpbmVkOwotICB9Ci0gIAotICBSdW5PdXRwdXQucHJvdG90eXBlLmluaXRW
YWx1ZV8gPSBmdW5jdGlvbih2YWx1ZSkgewotICAgIGlmICh2YWx1ZSA9PSB1bmRlZmluZWQpIHsK
LSAgICAgIHJldHVybjsKLSAgICB9Ci0gIAotICAgIHZhciBrZXlzID0gT2JqZWN0LmtleXModmFs
dWUpOwotICAgIGlmIChrZXlzLmxlbmd0aCA9PSAwKSB7Ci0gICAgICByZXR1cm47Ci0gICAgfQot
ICAKLSAgICBpZiAoa2V5cy5sZW5ndGggPiAxKSB7Ci0gICAgICB0aHJvdyBuZXcgVHlwZUVycm9y
KCJZb3UgbWF5IHNldCBvbmx5IG9uZSBtZW1iZXIgb24gYSB1bmlvbi4iKTsKLSAgICB9Ci0gIAot
ICAgIHZhciBmaWVsZHMgPSBbCi0gICAgICAgICJxdWVyeVZlcnNpb25SZXN1bHQiLAotICAgIF07
Ci0gIAotICAgIGlmIChmaWVsZHMuaW5kZXhPZihrZXlzWzBdKSA8IDApIHsKLSAgICAgIHRocm93
IG5ldyBSZWZlcmVuY2VFcnJvcihrZXlzWzBdICsgIiBpcyBub3QgYSBSdW5PdXRwdXQgbWVtYmVy
LiIpOwotICAKLSAgICB9Ci0gIAotICAgIHRoaXNba2V5c1swXV0gPSB2YWx1ZVtrZXlzWzBdXTsK
LSAgfQotICBPYmplY3QuZGVmaW5lUHJvcGVydHkoUnVuT3V0cHV0LnByb3RvdHlwZSwgInF1ZXJ5
VmVyc2lvblJlc3VsdCIsIHsKLSAgICBnZXQ6IGZ1bmN0aW9uKCkgewotICAgICAgaWYgKHRoaXMu
JHRhZyAhPSBSdW5PdXRwdXQuVGFncy5xdWVyeVZlcnNpb25SZXN1bHQpIHsKLSAgICAgICAgdGhy
b3cgbmV3IFJlZmVyZW5jZUVycm9yKAotICAgICAgICAgICAgIlJ1bk91dHB1dC5xdWVyeVZlcnNp
b25SZXN1bHQgaXMgbm90IGN1cnJlbnRseSBzZXQuIik7Ci0gICAgICB9Ci0gICAgICByZXR1cm4g
dGhpcy4kZGF0YTsKLSAgICB9LAotICAKLSAgICBzZXQ6IGZ1bmN0aW9uKHZhbHVlKSB7Ci0gICAg
ICB0aGlzLiR0YWcgPSBSdW5PdXRwdXQuVGFncy5xdWVyeVZlcnNpb25SZXN1bHQ7Ci0gICAgICB0
aGlzLiRkYXRhID0gdmFsdWU7Ci0gICAgfQotICB9KTsKLSAgCi0gIAotICAgIFJ1bk91dHB1dC5l
bmNvZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2YWwpIHsKLSAgICAgIGlmICh2YWwgPT0gbnVsbCkg
ewotICAgICAgICBlbmNvZGVyLndyaXRlVWludDY0KDApOwotICAgICAgICBlbmNvZGVyLndyaXRl
VWludDY0KDApOwotICAgICAgICByZXR1cm47Ci0gICAgICB9Ci0gICAgICBpZiAodmFsLiR0YWcg
PT0gdW5kZWZpbmVkKSB7Ci0gICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBlbmNv
ZGUgdW5pb25zIHdpdGggYW4gdW5rbm93biBtZW1iZXIgc2V0LiIpOwotICAgICAgfQotICAgIAot
ICAgICAgZW5jb2Rlci53cml0ZVVpbnQzMigxNik7Ci0gICAgICBlbmNvZGVyLndyaXRlVWludDMy
KHZhbC4kdGFnKTsKLSAgICAgIHN3aXRjaCAodmFsLiR0YWcpIHsKLSAgICAgICAgY2FzZSBSdW5P
dXRwdXQuVGFncy5xdWVyeVZlcnNpb25SZXN1bHQ6Ci0gICAgICAgICAgZW5jb2Rlci5lbmNvZGVT
dHJ1Y3RQb2ludGVyKFF1ZXJ5VmVyc2lvblJlc3VsdCwgdmFsLnF1ZXJ5VmVyc2lvblJlc3VsdCk7
Ci0gICAgICAgICAgYnJlYWs7Ci0gICAgICB9Ci0gICAgICBlbmNvZGVyLmFsaWduKCk7Ci0gICAg
fTsKLSAgCi0gIAotICAgIFJ1bk91dHB1dC5kZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0g
ICAgICB2YXIgc2l6ZSA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgICAgaWYgKHNpemUgPT0g
MCkgewotICAgICAgICBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICAgICAgZGVjb2Rlci5yZWFk
VWludDY0KCk7Ci0gICAgICAgIHJldHVybiBudWxsOwotICAgICAgfQotICAgIAotICAgICAgdmFy
IHJlc3VsdCA9IG5ldyBSdW5PdXRwdXQoKTsKLSAgICAgIHZhciB0YWcgPSBkZWNvZGVyLnJlYWRV
aW50MzIoKTsKLSAgICAgIHN3aXRjaCAodGFnKSB7Ci0gICAgICAgIGNhc2UgUnVuT3V0cHV0LlRh
Z3MucXVlcnlWZXJzaW9uUmVzdWx0OgotICAgICAgICAgIHJlc3VsdC5xdWVyeVZlcnNpb25SZXN1
bHQgPSBkZWNvZGVyLmRlY29kZVN0cnVjdFBvaW50ZXIoUXVlcnlWZXJzaW9uUmVzdWx0KTsKLSAg
ICAgICAgICBicmVhazsKLSAgICAgIH0KLSAgICAgIGRlY29kZXIuYWxpZ24oKTsKLSAgICAKLSAg
ICAgIHJldHVybiByZXN1bHQ7Ci0gICAgfTsKLSAgCi0gIAotICAgIFJ1bk91dHB1dC52YWxpZGF0
ZSA9IGZ1bmN0aW9uKG1lc3NhZ2VWYWxpZGF0b3IsIG9mZnNldCkgewotICAgICAgdmFyIHNpemUg
PSBtZXNzYWdlVmFsaWRhdG9yLmRlY29kZVVuaW9uU2l6ZShvZmZzZXQpOwotICAgICAgaWYgKHNp
emUgIT0gMTYpIHsKLSAgICAgICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuSU5W
QUxJRF9VTklPTl9TSVpFOwotICAgICAgfQotICAgIAotICAgICAgdmFyIHRhZyA9IG1lc3NhZ2VW
YWxpZGF0b3IuZGVjb2RlVW5pb25UYWcob2Zmc2V0KTsKLSAgICAgIHZhciBkYXRhX29mZnNldCA9
IG9mZnNldCArIDg7Ci0gICAgICB2YXIgZXJyOwotICAgICAgc3dpdGNoICh0YWcpIHsKLSAgICAg
ICAgY2FzZSBSdW5PdXRwdXQuVGFncy5xdWVyeVZlcnNpb25SZXN1bHQ6Ci0gICAgICAgICAgCi0g
ICAgCi0gICAgLy8gdmFsaWRhdGUgUnVuT3V0cHV0LnF1ZXJ5VmVyc2lvblJlc3VsdAotICAgIGVy
ciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RQb2ludGVyKGRhdGFfb2Zmc2V0LCBR
dWVyeVZlcnNpb25SZXN1bHQsIGZhbHNlKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFs
aWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0gICAgICAgICAgYnJlYWs7
Ci0gICAgICB9Ci0gICAgCi0gICAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5O
T05FOwotICAgIH07Ci0gIAotICBSdW5PdXRwdXQuZW5jb2RlZFNpemUgPSAxNjsKLQotICBmdW5j
dGlvbiBSdW5PckNsb3NlUGlwZUlucHV0KHZhbHVlKSB7Ci0gICAgdGhpcy5pbml0RGVmYXVsdF8o
KTsKLSAgICB0aGlzLmluaXRWYWx1ZV8odmFsdWUpOwotICB9Ci0gIAotICAKLSAgUnVuT3JDbG9z
ZVBpcGVJbnB1dC5UYWdzID0gewotICAgIHJlcXVpcmVWZXJzaW9uOiAwLAotICB9OwotICAKLSAg
UnVuT3JDbG9zZVBpcGVJbnB1dC5wcm90b3R5cGUuaW5pdERlZmF1bHRfID0gZnVuY3Rpb24oKSB7
Ci0gICAgdGhpcy4kZGF0YSA9IG51bGw7Ci0gICAgdGhpcy4kdGFnID0gdW5kZWZpbmVkOwotICB9
Ci0gIAotICBSdW5PckNsb3NlUGlwZUlucHV0LnByb3RvdHlwZS5pbml0VmFsdWVfID0gZnVuY3Rp
b24odmFsdWUpIHsKLSAgICBpZiAodmFsdWUgPT0gdW5kZWZpbmVkKSB7Ci0gICAgICByZXR1cm47
Ci0gICAgfQotICAKLSAgICB2YXIga2V5cyA9IE9iamVjdC5rZXlzKHZhbHVlKTsKLSAgICBpZiAo
a2V5cy5sZW5ndGggPT0gMCkgewotICAgICAgcmV0dXJuOwotICAgIH0KLSAgCi0gICAgaWYgKGtl
eXMubGVuZ3RoID4gMSkgewotICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcigiWW91IG1heSBzZXQg
b25seSBvbmUgbWVtYmVyIG9uIGEgdW5pb24uIik7Ci0gICAgfQotICAKLSAgICB2YXIgZmllbGRz
ID0gWwotICAgICAgICAicmVxdWlyZVZlcnNpb24iLAotICAgIF07Ci0gIAotICAgIGlmIChmaWVs
ZHMuaW5kZXhPZihrZXlzWzBdKSA8IDApIHsKLSAgICAgIHRocm93IG5ldyBSZWZlcmVuY2VFcnJv
cihrZXlzWzBdICsgIiBpcyBub3QgYSBSdW5PckNsb3NlUGlwZUlucHV0IG1lbWJlci4iKTsKLSAg
Ci0gICAgfQotICAKLSAgICB0aGlzW2tleXNbMF1dID0gdmFsdWVba2V5c1swXV07Ci0gIH0KLSAg
T2JqZWN0LmRlZmluZVByb3BlcnR5KFJ1bk9yQ2xvc2VQaXBlSW5wdXQucHJvdG90eXBlLCAicmVx
dWlyZVZlcnNpb24iLCB7Ci0gICAgZ2V0OiBmdW5jdGlvbigpIHsKLSAgICAgIGlmICh0aGlzLiR0
YWcgIT0gUnVuT3JDbG9zZVBpcGVJbnB1dC5UYWdzLnJlcXVpcmVWZXJzaW9uKSB7Ci0gICAgICAg
IHRocm93IG5ldyBSZWZlcmVuY2VFcnJvcigKLSAgICAgICAgICAgICJSdW5PckNsb3NlUGlwZUlu
cHV0LnJlcXVpcmVWZXJzaW9uIGlzIG5vdCBjdXJyZW50bHkgc2V0LiIpOwotICAgICAgfQotICAg
ICAgcmV0dXJuIHRoaXMuJGRhdGE7Ci0gICAgfSwKLSAgCi0gICAgc2V0OiBmdW5jdGlvbih2YWx1
ZSkgewotICAgICAgdGhpcy4kdGFnID0gUnVuT3JDbG9zZVBpcGVJbnB1dC5UYWdzLnJlcXVpcmVW
ZXJzaW9uOwotICAgICAgdGhpcy4kZGF0YSA9IHZhbHVlOwotICAgIH0KLSAgfSk7Ci0gIAotICAK
LSAgICBSdW5PckNsb3NlUGlwZUlucHV0LmVuY29kZSA9IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkg
ewotICAgICAgaWYgKHZhbCA9PSBudWxsKSB7Ci0gICAgICAgIGVuY29kZXIud3JpdGVVaW50NjQo
MCk7Ci0gICAgICAgIGVuY29kZXIud3JpdGVVaW50NjQoMCk7Ci0gICAgICAgIHJldHVybjsKLSAg
ICAgIH0KLSAgICAgIGlmICh2YWwuJHRhZyA9PSB1bmRlZmluZWQpIHsKLSAgICAgICAgdGhyb3cg
bmV3IFR5cGVFcnJvcigiQ2Fubm90IGVuY29kZSB1bmlvbnMgd2l0aCBhbiB1bmtub3duIG1lbWJl
ciBzZXQuIik7Ci0gICAgICB9Ci0gICAgCi0gICAgICBlbmNvZGVyLndyaXRlVWludDMyKDE2KTsK
LSAgICAgIGVuY29kZXIud3JpdGVVaW50MzIodmFsLiR0YWcpOwotICAgICAgc3dpdGNoICh2YWwu
JHRhZykgewotICAgICAgICBjYXNlIFJ1bk9yQ2xvc2VQaXBlSW5wdXQuVGFncy5yZXF1aXJlVmVy
c2lvbjoKLSAgICAgICAgICBlbmNvZGVyLmVuY29kZVN0cnVjdFBvaW50ZXIoUmVxdWlyZVZlcnNp
b24sIHZhbC5yZXF1aXJlVmVyc2lvbik7Ci0gICAgICAgICAgYnJlYWs7Ci0gICAgICB9Ci0gICAg
ICBlbmNvZGVyLmFsaWduKCk7Ci0gICAgfTsKLSAgCi0gIAotICAgIFJ1bk9yQ2xvc2VQaXBlSW5w
dXQuZGVjb2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAgICAgdmFyIHNpemUgPSBkZWNvZGVy
LnJlYWRVaW50MzIoKTsKLSAgICAgIGlmIChzaXplID09IDApIHsKLSAgICAgICAgZGVjb2Rlci5y
ZWFkVWludDMyKCk7Ci0gICAgICAgIGRlY29kZXIucmVhZFVpbnQ2NCgpOwotICAgICAgICByZXR1
cm4gbnVsbDsKLSAgICAgIH0KLSAgICAKLSAgICAgIHZhciByZXN1bHQgPSBuZXcgUnVuT3JDbG9z
ZVBpcGVJbnB1dCgpOwotICAgICAgdmFyIHRhZyA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAg
ICAgc3dpdGNoICh0YWcpIHsKLSAgICAgICAgY2FzZSBSdW5PckNsb3NlUGlwZUlucHV0LlRhZ3Mu
cmVxdWlyZVZlcnNpb246Ci0gICAgICAgICAgcmVzdWx0LnJlcXVpcmVWZXJzaW9uID0gZGVjb2Rl
ci5kZWNvZGVTdHJ1Y3RQb2ludGVyKFJlcXVpcmVWZXJzaW9uKTsKLSAgICAgICAgICBicmVhazsK
LSAgICAgIH0KLSAgICAgIGRlY29kZXIuYWxpZ24oKTsKLSAgICAKLSAgICAgIHJldHVybiByZXN1
bHQ7Ci0gICAgfTsKLSAgCi0gIAotICAgIFJ1bk9yQ2xvc2VQaXBlSW5wdXQudmFsaWRhdGUgPSBm
dW5jdGlvbihtZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsKLSAgICAgIHZhciBzaXplID0gbWVz
c2FnZVZhbGlkYXRvci5kZWNvZGVVbmlvblNpemUob2Zmc2V0KTsKLSAgICAgIGlmIChzaXplICE9
IDE2KSB7Ci0gICAgICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLklOVkFMSURf
VU5JT05fU0laRTsKLSAgICAgIH0KLSAgICAKLSAgICAgIHZhciB0YWcgPSBtZXNzYWdlVmFsaWRh
dG9yLmRlY29kZVVuaW9uVGFnKG9mZnNldCk7Ci0gICAgICB2YXIgZGF0YV9vZmZzZXQgPSBvZmZz
ZXQgKyA4OwotICAgICAgdmFyIGVycjsKLSAgICAgIHN3aXRjaCAodGFnKSB7Ci0gICAgICAgIGNh
c2UgUnVuT3JDbG9zZVBpcGVJbnB1dC5UYWdzLnJlcXVpcmVWZXJzaW9uOgotICAgICAgICAgIAot
ICAgIAotICAgIC8vIHZhbGlkYXRlIFJ1bk9yQ2xvc2VQaXBlSW5wdXQucmVxdWlyZVZlcnNpb24K
LSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0UG9pbnRlcihkYXRhX29m
ZnNldCwgUmVxdWlyZVZlcnNpb24sIGZhbHNlKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3Iu
dmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0gICAgICAgICAgYnJl
YWs7Ci0gICAgICB9Ci0gICAgCi0gICAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJv
ci5OT05FOwotICAgIH07Ci0gIAotICBSdW5PckNsb3NlUGlwZUlucHV0LmVuY29kZWRTaXplID0g
MTY7Ci0gIGV4cG9ydHMua1J1bk1lc3NhZ2VJZCA9IGtSdW5NZXNzYWdlSWQ7Ci0gIGV4cG9ydHMu
a1J1bk9yQ2xvc2VQaXBlTWVzc2FnZUlkID0ga1J1bk9yQ2xvc2VQaXBlTWVzc2FnZUlkOwotICBl
eHBvcnRzLlJ1bk1lc3NhZ2VQYXJhbXMgPSBSdW5NZXNzYWdlUGFyYW1zOwotICBleHBvcnRzLlJ1
blJlc3BvbnNlTWVzc2FnZVBhcmFtcyA9IFJ1blJlc3BvbnNlTWVzc2FnZVBhcmFtczsKLSAgZXhw
b3J0cy5RdWVyeVZlcnNpb24gPSBRdWVyeVZlcnNpb247Ci0gIGV4cG9ydHMuUXVlcnlWZXJzaW9u
UmVzdWx0ID0gUXVlcnlWZXJzaW9uUmVzdWx0OwotICBleHBvcnRzLkZsdXNoRm9yVGVzdGluZyA9
IEZsdXNoRm9yVGVzdGluZzsKLSAgZXhwb3J0cy5SdW5PckNsb3NlUGlwZU1lc3NhZ2VQYXJhbXMg
PSBSdW5PckNsb3NlUGlwZU1lc3NhZ2VQYXJhbXM7Ci0gIGV4cG9ydHMuUmVxdWlyZVZlcnNpb24g
PSBSZXF1aXJlVmVyc2lvbjsKLSAgZXhwb3J0cy5SdW5JbnB1dCA9IFJ1bklucHV0OwotICBleHBv
cnRzLlJ1bk91dHB1dCA9IFJ1bk91dHB1dDsKLSAgZXhwb3J0cy5SdW5PckNsb3NlUGlwZUlucHV0
ID0gUnVuT3JDbG9zZVBpcGVJbnB1dDsKLX0pKCk7Ly8gQ29weXJpZ2h0IDIwMTQgVGhlIENocm9t
aXVtIEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0vLyBVc2Ugb2YgdGhpcyBzb3VyY2Ug
Y29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCi0vLyBm
b3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgotCi0KLSd1c2Ugc3RyaWN0JzsKLQotKGZ1bmN0aW9u
KCkgewotICB2YXIgbW9qb21JZCA9ICdtb2pvL3B1YmxpYy9pbnRlcmZhY2VzL2JpbmRpbmdzL25l
d19iaW5kaW5ncy9waXBlX2NvbnRyb2xfbWVzc2FnZXMubW9qb20nOwotICBpZiAobW9qby5pbnRl
cm5hbC5pc01vam9tTG9hZGVkKG1vam9tSWQpKSB7Ci0gICAgY29uc29sZS53YXJuKCdUaGUgZm9s
bG93aW5nIG1vam9tIGlzIGxvYWRlZCBtdWx0aXBsZSB0aW1lczogJyArIG1vam9tSWQpOwotICAg
IHJldHVybjsKLSAgfQotICBtb2pvLmludGVybmFsLm1hcmtNb2pvbUxvYWRlZChtb2pvbUlkKTsK
LQotICAvLyBUT0RPKHl6c2hlbik6IERlZmluZSB0aGVzZSBhbGlhc2VzIHRvIG1pbmltaXplIHRo
ZSBkaWZmZXJlbmNlcyBiZXR3ZWVuIHRoZQotICAvLyBvbGQvbmV3IG1vZGVzLiBSZW1vdmUgdGhl
bSB3aGVuIHRoZSBvbGQgbW9kZSBnb2VzIGF3YXkuCi0gIHZhciBiaW5kaW5ncyA9IG1vam87Ci0g
IHZhciBhc3NvY2lhdGVkQmluZGluZ3MgPSBtb2pvOwotICB2YXIgY29kZWMgPSBtb2pvLmludGVy
bmFsOwotICB2YXIgdmFsaWRhdG9yID0gbW9qby5pbnRlcm5hbDsKLQotICB2YXIgZXhwb3J0cyA9
IG1vam8uaW50ZXJuYWwuZXhwb3NlTmFtZXNwYWNlKCdtb2pvLnBpcGVDb250cm9sMicpOwotCi0K
LSAgdmFyIGtSdW5PckNsb3NlUGlwZU1lc3NhZ2VJZCA9IDB4RkZGRkZGRkU7Ci0KLSAgZnVuY3Rp
b24gUnVuT3JDbG9zZVBpcGVNZXNzYWdlUGFyYW1zKHZhbHVlcykgewotICAgIHRoaXMuaW5pdERl
ZmF1bHRzXygpOwotICAgIHRoaXMuaW5pdEZpZWxkc18odmFsdWVzKTsKLSAgfQotCi0KLSAgUnVu
T3JDbG9zZVBpcGVNZXNzYWdlUGFyYW1zLnByb3RvdHlwZS5pbml0RGVmYXVsdHNfID0gZnVuY3Rp
b24oKSB7Ci0gICAgdGhpcy5pbnB1dCA9IG51bGw7Ci0gIH07Ci0gIFJ1bk9yQ2xvc2VQaXBlTWVz
c2FnZVBhcmFtcy5wcm90b3R5cGUuaW5pdEZpZWxkc18gPSBmdW5jdGlvbihmaWVsZHMpIHsKLSAg
ICBmb3IodmFyIGZpZWxkIGluIGZpZWxkcykgewotICAgICAgICBpZiAodGhpcy5oYXNPd25Qcm9w
ZXJ0eShmaWVsZCkpCi0gICAgICAgICAgdGhpc1tmaWVsZF0gPSBmaWVsZHNbZmllbGRdOwotICAg
IH0KLSAgfTsKLQotICBSdW5PckNsb3NlUGlwZU1lc3NhZ2VQYXJhbXMudmFsaWRhdGUgPSBmdW5j
dGlvbihtZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsKLSAgICB2YXIgZXJyOwotICAgIGVyciA9
IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RIZWFkZXIob2Zmc2V0LCBjb2RlYy5rU3Ry
dWN0SGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJv
ci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgdmFyIGtWZXJzaW9uU2l6ZXMgPSBb
Ci0gICAgICB7dmVyc2lvbjogMCwgbnVtQnl0ZXM6IDI0fQotICAgIF07Ci0gICAgZXJyID0gbWVz
c2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFZlcnNpb24ob2Zmc2V0LCBrVmVyc2lvblNpemVz
KTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAg
ICAgIHJldHVybiBlcnI7Ci0KLQotICAgIC8vIHZhbGlkYXRlIFJ1bk9yQ2xvc2VQaXBlTWVzc2Fn
ZVBhcmFtcy5pbnB1dAotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVVbmlvbihv
ZmZzZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDAsIFJ1bk9yQ2xvc2VQaXBlSW5wdXQs
IGZhbHNlKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUp
Ci0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25F
cnJvci5OT05FOwotICB9OwotCi0gIFJ1bk9yQ2xvc2VQaXBlTWVzc2FnZVBhcmFtcy5lbmNvZGVk
U2l6ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgMTY7Ci0KLSAgUnVuT3JDbG9zZVBpcGVN
ZXNzYWdlUGFyYW1zLmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICB2YXIgcGFja2Vk
OwotICAgIHZhciB2YWwgPSBuZXcgUnVuT3JDbG9zZVBpcGVNZXNzYWdlUGFyYW1zKCk7Ci0gICAg
dmFyIG51bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YXIgdmVyc2lv
biA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhbC5pbnB1dCA9IGRlY29kZXIuZGVjb2Rl
U3RydWN0KFJ1bk9yQ2xvc2VQaXBlSW5wdXQpOwotICAgIHJldHVybiB2YWw7Ci0gIH07Ci0KLSAg
UnVuT3JDbG9zZVBpcGVNZXNzYWdlUGFyYW1zLmVuY29kZSA9IGZ1bmN0aW9uKGVuY29kZXIsIHZh
bCkgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMihSdW5PckNsb3Nl
UGlwZU1lc3NhZ2VQYXJhbXMuZW5jb2RlZFNpemUpOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIo
MCk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3QoUnVuT3JDbG9zZVBpcGVJbnB1dCwgdmFsLmlu
cHV0KTsKLSAgfTsKLSAgZnVuY3Rpb24gRGlzY29ubmVjdFJlYXNvbih2YWx1ZXMpIHsKLSAgICB0
aGlzLmluaXREZWZhdWx0c18oKTsKLSAgICB0aGlzLmluaXRGaWVsZHNfKHZhbHVlcyk7Ci0gIH0K
LQotCi0gIERpc2Nvbm5lY3RSZWFzb24ucHJvdG90eXBlLmluaXREZWZhdWx0c18gPSBmdW5jdGlv
bigpIHsKLSAgICB0aGlzLmN1c3RvbVJlYXNvbiA9IDA7Ci0gICAgdGhpcy5kZXNjcmlwdGlvbiA9
IG51bGw7Ci0gIH07Ci0gIERpc2Nvbm5lY3RSZWFzb24ucHJvdG90eXBlLmluaXRGaWVsZHNfID0g
ZnVuY3Rpb24oZmllbGRzKSB7Ci0gICAgZm9yKHZhciBmaWVsZCBpbiBmaWVsZHMpIHsKLSAgICAg
ICAgaWYgKHRoaXMuaGFzT3duUHJvcGVydHkoZmllbGQpKQotICAgICAgICAgIHRoaXNbZmllbGRd
ID0gZmllbGRzW2ZpZWxkXTsKLSAgICB9Ci0gIH07Ci0KLSAgRGlzY29ubmVjdFJlYXNvbi52YWxp
ZGF0ZSA9IGZ1bmN0aW9uKG1lc3NhZ2VWYWxpZGF0b3IsIG9mZnNldCkgewotICAgIHZhciBlcnI7
Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdEhlYWRlcihvZmZzZXQs
IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFs
aWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICB2YXIga1ZlcnNp
b25TaXplcyA9IFsKLSAgICAgIHt2ZXJzaW9uOiAwLCBudW1CeXRlczogMjR9Ci0gICAgXTsKLSAg
ICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0VmVyc2lvbihvZmZzZXQsIGtW
ZXJzaW9uU2l6ZXMpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3Iu
Tk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0KLSAgICAKLSAgICAvLyB2YWxpZGF0ZSBE
aXNjb25uZWN0UmVhc29uLmRlc2NyaXB0aW9uCi0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52
YWxpZGF0ZVN0cmluZ1BvaW50ZXIob2Zmc2V0ICsgY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyA4
LCBmYWxzZSkKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUp
Ci0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25F
cnJvci5OT05FOwotICB9OwotCi0gIERpc2Nvbm5lY3RSZWFzb24uZW5jb2RlZFNpemUgPSBjb2Rl
Yy5rU3RydWN0SGVhZGVyU2l6ZSArIDE2OwotCi0gIERpc2Nvbm5lY3RSZWFzb24uZGVjb2RlID0g
ZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgdmFyIHZhbCA9IG5ldyBE
aXNjb25uZWN0UmVhc29uKCk7Ci0gICAgdmFyIG51bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRV
aW50MzIoKTsKLSAgICB2YXIgdmVyc2lvbiA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZh
bC5jdXN0b21SZWFzb24gPSBkZWNvZGVyLmRlY29kZVN0cnVjdChjb2RlYy5VaW50MzIpOwotICAg
IGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lw
KDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICB2YWwuZGVzY3JpcHRpb24gPSBkZWNvZGVy
LmRlY29kZVN0cnVjdChjb2RlYy5TdHJpbmcpOwotICAgIHJldHVybiB2YWw7Ci0gIH07Ci0KLSAg
RGlzY29ubmVjdFJlYXNvbi5lbmNvZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2YWwpIHsKLSAgICB2
YXIgcGFja2VkOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoRGlzY29ubmVjdFJlYXNvbi5lbmNv
ZGVkU2l6ZSk7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMigwKTsKLSAgICBlbmNvZGVyLmVuY29k
ZVN0cnVjdChjb2RlYy5VaW50MzIsIHZhbC5jdXN0b21SZWFzb24pOwotICAgIGVuY29kZXIuc2tp
cCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVu
Y29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdChjb2RlYy5TdHJpbmcsIHZh
bC5kZXNjcmlwdGlvbik7Ci0gIH07Ci0gIGZ1bmN0aW9uIFBlZXJBc3NvY2lhdGVkRW5kcG9pbnRD
bG9zZWRFdmVudCh2YWx1ZXMpIHsKLSAgICB0aGlzLmluaXREZWZhdWx0c18oKTsKLSAgICB0aGlz
LmluaXRGaWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0gIFBlZXJBc3NvY2lhdGVkRW5kcG9pbnRD
bG9zZWRFdmVudC5wcm90b3R5cGUuaW5pdERlZmF1bHRzXyA9IGZ1bmN0aW9uKCkgewotICAgIHRo
aXMuaWQgPSAwOwotICAgIHRoaXMuZGlzY29ubmVjdFJlYXNvbiA9IG51bGw7Ci0gIH07Ci0gIFBl
ZXJBc3NvY2lhdGVkRW5kcG9pbnRDbG9zZWRFdmVudC5wcm90b3R5cGUuaW5pdEZpZWxkc18gPSBm
dW5jdGlvbihmaWVsZHMpIHsKLSAgICBmb3IodmFyIGZpZWxkIGluIGZpZWxkcykgewotICAgICAg
ICBpZiAodGhpcy5oYXNPd25Qcm9wZXJ0eShmaWVsZCkpCi0gICAgICAgICAgdGhpc1tmaWVsZF0g
PSBmaWVsZHNbZmllbGRdOwotICAgIH0KLSAgfTsKLQotICBQZWVyQXNzb2NpYXRlZEVuZHBvaW50
Q2xvc2VkRXZlbnQudmFsaWRhdGUgPSBmdW5jdGlvbihtZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQp
IHsKLSAgICB2YXIgZXJyOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1
Y3RIZWFkZXIob2Zmc2V0LCBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVyciAh
PT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwot
Ci0gICAgdmFyIGtWZXJzaW9uU2l6ZXMgPSBbCi0gICAgICB7dmVyc2lvbjogMCwgbnVtQnl0ZXM6
IDI0fQotICAgIF07Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFZl
cnNpb24ob2Zmc2V0LCBrVmVyc2lvblNpemVzKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3Iu
dmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotCi0gICAgCi0g
ICAgLy8gdmFsaWRhdGUgUGVlckFzc29jaWF0ZWRFbmRwb2ludENsb3NlZEV2ZW50LmRpc2Nvbm5l
Y3RSZWFzb24KLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0UG9pbnRl
cihvZmZzZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDgsIERpc2Nvbm5lY3RSZWFzb24s
IHRydWUpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkK
LSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVy
cm9yLk5PTkU7Ci0gIH07Ci0KLSAgUGVlckFzc29jaWF0ZWRFbmRwb2ludENsb3NlZEV2ZW50LmVu
Y29kZWRTaXplID0gY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyAxNjsKLQotICBQZWVyQXNzb2Np
YXRlZEVuZHBvaW50Q2xvc2VkRXZlbnQuZGVjb2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAg
IHZhciBwYWNrZWQ7Ci0gICAgdmFyIHZhbCA9IG5ldyBQZWVyQXNzb2NpYXRlZEVuZHBvaW50Q2xv
c2VkRXZlbnQoKTsKLSAgICB2YXIgbnVtYmVyT2ZCeXRlcyA9IGRlY29kZXIucmVhZFVpbnQzMigp
OwotICAgIHZhciB2ZXJzaW9uID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFsLmlkID0g
ZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoY29kZWMuVWludDMyKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7
Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVy
LnNraXAoMSk7Ci0gICAgdmFsLmRpc2Nvbm5lY3RSZWFzb24gPSBkZWNvZGVyLmRlY29kZVN0cnVj
dFBvaW50ZXIoRGlzY29ubmVjdFJlYXNvbik7Ci0gICAgcmV0dXJuIHZhbDsKLSAgfTsKLQotICBQ
ZWVyQXNzb2NpYXRlZEVuZHBvaW50Q2xvc2VkRXZlbnQuZW5jb2RlID0gZnVuY3Rpb24oZW5jb2Rl
ciwgdmFsKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKFBlZXJB
c3NvY2lhdGVkRW5kcG9pbnRDbG9zZWRFdmVudC5lbmNvZGVkU2l6ZSk7Ci0gICAgZW5jb2Rlci53
cml0ZVVpbnQzMigwKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdChjb2RlYy5VaW50MzIsIHZh
bC5pZCk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBl
bmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuZW5jb2Rl
U3RydWN0UG9pbnRlcihEaXNjb25uZWN0UmVhc29uLCB2YWwuZGlzY29ubmVjdFJlYXNvbik7Ci0g
IH07Ci0KLSAgZnVuY3Rpb24gUnVuT3JDbG9zZVBpcGVJbnB1dCh2YWx1ZSkgewotICAgIHRoaXMu
aW5pdERlZmF1bHRfKCk7Ci0gICAgdGhpcy5pbml0VmFsdWVfKHZhbHVlKTsKLSAgfQotICAKLSAg
Ci0gIFJ1bk9yQ2xvc2VQaXBlSW5wdXQuVGFncyA9IHsKLSAgICBwZWVyQXNzb2NpYXRlZEVuZHBv
aW50Q2xvc2VkRXZlbnQ6IDAsCi0gIH07Ci0gIAotICBSdW5PckNsb3NlUGlwZUlucHV0LnByb3Rv
dHlwZS5pbml0RGVmYXVsdF8gPSBmdW5jdGlvbigpIHsKLSAgICB0aGlzLiRkYXRhID0gbnVsbDsK
LSAgICB0aGlzLiR0YWcgPSB1bmRlZmluZWQ7Ci0gIH0KLSAgCi0gIFJ1bk9yQ2xvc2VQaXBlSW5w
dXQucHJvdG90eXBlLmluaXRWYWx1ZV8gPSBmdW5jdGlvbih2YWx1ZSkgewotICAgIGlmICh2YWx1
ZSA9PSB1bmRlZmluZWQpIHsKLSAgICAgIHJldHVybjsKLSAgICB9Ci0gIAotICAgIHZhciBrZXlz
ID0gT2JqZWN0LmtleXModmFsdWUpOwotICAgIGlmIChrZXlzLmxlbmd0aCA9PSAwKSB7Ci0gICAg
ICByZXR1cm47Ci0gICAgfQotICAKLSAgICBpZiAoa2V5cy5sZW5ndGggPiAxKSB7Ci0gICAgICB0
aHJvdyBuZXcgVHlwZUVycm9yKCJZb3UgbWF5IHNldCBvbmx5IG9uZSBtZW1iZXIgb24gYSB1bmlv
bi4iKTsKLSAgICB9Ci0gIAotICAgIHZhciBmaWVsZHMgPSBbCi0gICAgICAgICJwZWVyQXNzb2Np
YXRlZEVuZHBvaW50Q2xvc2VkRXZlbnQiLAotICAgIF07Ci0gIAotICAgIGlmIChmaWVsZHMuaW5k
ZXhPZihrZXlzWzBdKSA8IDApIHsKLSAgICAgIHRocm93IG5ldyBSZWZlcmVuY2VFcnJvcihrZXlz
WzBdICsgIiBpcyBub3QgYSBSdW5PckNsb3NlUGlwZUlucHV0IG1lbWJlci4iKTsKLSAgCi0gICAg
fQotICAKLSAgICB0aGlzW2tleXNbMF1dID0gdmFsdWVba2V5c1swXV07Ci0gIH0KLSAgT2JqZWN0
LmRlZmluZVByb3BlcnR5KFJ1bk9yQ2xvc2VQaXBlSW5wdXQucHJvdG90eXBlLCAicGVlckFzc29j
aWF0ZWRFbmRwb2ludENsb3NlZEV2ZW50IiwgewotICAgIGdldDogZnVuY3Rpb24oKSB7Ci0gICAg
ICBpZiAodGhpcy4kdGFnICE9IFJ1bk9yQ2xvc2VQaXBlSW5wdXQuVGFncy5wZWVyQXNzb2NpYXRl
ZEVuZHBvaW50Q2xvc2VkRXZlbnQpIHsKLSAgICAgICAgdGhyb3cgbmV3IFJlZmVyZW5jZUVycm9y
KAotICAgICAgICAgICAgIlJ1bk9yQ2xvc2VQaXBlSW5wdXQucGVlckFzc29jaWF0ZWRFbmRwb2lu
dENsb3NlZEV2ZW50IGlzIG5vdCBjdXJyZW50bHkgc2V0LiIpOwotICAgICAgfQotICAgICAgcmV0
dXJuIHRoaXMuJGRhdGE7Ci0gICAgfSwKLSAgCi0gICAgc2V0OiBmdW5jdGlvbih2YWx1ZSkgewot
ICAgICAgdGhpcy4kdGFnID0gUnVuT3JDbG9zZVBpcGVJbnB1dC5UYWdzLnBlZXJBc3NvY2lhdGVk
RW5kcG9pbnRDbG9zZWRFdmVudDsKLSAgICAgIHRoaXMuJGRhdGEgPSB2YWx1ZTsKLSAgICB9Ci0g
IH0pOwotICAKLSAgCi0gICAgUnVuT3JDbG9zZVBpcGVJbnB1dC5lbmNvZGUgPSBmdW5jdGlvbihl
bmNvZGVyLCB2YWwpIHsKLSAgICAgIGlmICh2YWwgPT0gbnVsbCkgewotICAgICAgICBlbmNvZGVy
LndyaXRlVWludDY0KDApOwotICAgICAgICBlbmNvZGVyLndyaXRlVWludDY0KDApOwotICAgICAg
ICByZXR1cm47Ci0gICAgICB9Ci0gICAgICBpZiAodmFsLiR0YWcgPT0gdW5kZWZpbmVkKSB7Ci0g
ICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBlbmNvZGUgdW5pb25zIHdpdGggYW4g
dW5rbm93biBtZW1iZXIgc2V0LiIpOwotICAgICAgfQotICAgIAotICAgICAgZW5jb2Rlci53cml0
ZVVpbnQzMigxNik7Ci0gICAgICBlbmNvZGVyLndyaXRlVWludDMyKHZhbC4kdGFnKTsKLSAgICAg
IHN3aXRjaCAodmFsLiR0YWcpIHsKLSAgICAgICAgY2FzZSBSdW5PckNsb3NlUGlwZUlucHV0LlRh
Z3MucGVlckFzc29jaWF0ZWRFbmRwb2ludENsb3NlZEV2ZW50OgotICAgICAgICAgIGVuY29kZXIu
ZW5jb2RlU3RydWN0UG9pbnRlcihQZWVyQXNzb2NpYXRlZEVuZHBvaW50Q2xvc2VkRXZlbnQsIHZh
bC5wZWVyQXNzb2NpYXRlZEVuZHBvaW50Q2xvc2VkRXZlbnQpOwotICAgICAgICAgIGJyZWFrOwot
ICAgICAgfQotICAgICAgZW5jb2Rlci5hbGlnbigpOwotICAgIH07Ci0gIAotICAKLSAgICBSdW5P
ckNsb3NlUGlwZUlucHV0LmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICAgIHZhciBz
aXplID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgICBpZiAoc2l6ZSA9PSAwKSB7Ci0gICAg
ICAgIGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgICAgICBkZWNvZGVyLnJlYWRVaW50NjQoKTsK
LSAgICAgICAgcmV0dXJuIG51bGw7Ci0gICAgICB9Ci0gICAgCi0gICAgICB2YXIgcmVzdWx0ID0g
bmV3IFJ1bk9yQ2xvc2VQaXBlSW5wdXQoKTsKLSAgICAgIHZhciB0YWcgPSBkZWNvZGVyLnJlYWRV
aW50MzIoKTsKLSAgICAgIHN3aXRjaCAodGFnKSB7Ci0gICAgICAgIGNhc2UgUnVuT3JDbG9zZVBp
cGVJbnB1dC5UYWdzLnBlZXJBc3NvY2lhdGVkRW5kcG9pbnRDbG9zZWRFdmVudDoKLSAgICAgICAg
ICByZXN1bHQucGVlckFzc29jaWF0ZWRFbmRwb2ludENsb3NlZEV2ZW50ID0gZGVjb2Rlci5kZWNv
ZGVTdHJ1Y3RQb2ludGVyKFBlZXJBc3NvY2lhdGVkRW5kcG9pbnRDbG9zZWRFdmVudCk7Ci0gICAg
ICAgICAgYnJlYWs7Ci0gICAgICB9Ci0gICAgICBkZWNvZGVyLmFsaWduKCk7Ci0gICAgCi0gICAg
ICByZXR1cm4gcmVzdWx0OwotICAgIH07Ci0gIAotICAKLSAgICBSdW5PckNsb3NlUGlwZUlucHV0
LnZhbGlkYXRlID0gZnVuY3Rpb24obWVzc2FnZVZhbGlkYXRvciwgb2Zmc2V0KSB7Ci0gICAgICB2
YXIgc2l6ZSA9IG1lc3NhZ2VWYWxpZGF0b3IuZGVjb2RlVW5pb25TaXplKG9mZnNldCk7Ci0gICAg
ICBpZiAoc2l6ZSAhPSAxNikgewotICAgICAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25F
cnJvci5JTlZBTElEX1VOSU9OX1NJWkU7Ci0gICAgICB9Ci0gICAgCi0gICAgICB2YXIgdGFnID0g
bWVzc2FnZVZhbGlkYXRvci5kZWNvZGVVbmlvblRhZyhvZmZzZXQpOwotICAgICAgdmFyIGRhdGFf
b2Zmc2V0ID0gb2Zmc2V0ICsgODsKLSAgICAgIHZhciBlcnI7Ci0gICAgICBzd2l0Y2ggKHRhZykg
ewotICAgICAgICBjYXNlIFJ1bk9yQ2xvc2VQaXBlSW5wdXQuVGFncy5wZWVyQXNzb2NpYXRlZEVu
ZHBvaW50Q2xvc2VkRXZlbnQ6Ci0gICAgICAgICAgCi0gICAgCi0gICAgLy8gdmFsaWRhdGUgUnVu
T3JDbG9zZVBpcGVJbnB1dC5wZWVyQXNzb2NpYXRlZEVuZHBvaW50Q2xvc2VkRXZlbnQKLSAgICBl
cnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0UG9pbnRlcihkYXRhX29mZnNldCwg
UGVlckFzc29jaWF0ZWRFbmRwb2ludENsb3NlZEV2ZW50LCBmYWxzZSk7Ci0gICAgaWYgKGVyciAh
PT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwot
ICAgICAgICAgIGJyZWFrOwotICAgICAgfQotICAgIAotICAgICAgcmV0dXJuIHZhbGlkYXRvci52
YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAgICB9OwotICAKLSAgUnVuT3JDbG9zZVBpcGVJbnB1dC5l
bmNvZGVkU2l6ZSA9IDE2OwotICBleHBvcnRzLmtSdW5PckNsb3NlUGlwZU1lc3NhZ2VJZCA9IGtS
dW5PckNsb3NlUGlwZU1lc3NhZ2VJZDsKLSAgZXhwb3J0cy5SdW5PckNsb3NlUGlwZU1lc3NhZ2VQ
YXJhbXMgPSBSdW5PckNsb3NlUGlwZU1lc3NhZ2VQYXJhbXM7Ci0gIGV4cG9ydHMuRGlzY29ubmVj
dFJlYXNvbiA9IERpc2Nvbm5lY3RSZWFzb247Ci0gIGV4cG9ydHMuUGVlckFzc29jaWF0ZWRFbmRw
b2ludENsb3NlZEV2ZW50ID0gUGVlckFzc29jaWF0ZWRFbmRwb2ludENsb3NlZEV2ZW50OwotICBl
eHBvcnRzLlJ1bk9yQ2xvc2VQaXBlSW5wdXQgPSBSdW5PckNsb3NlUGlwZUlucHV0OwotfSkoKTsK
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS9tb2pvX2JpbmRpbmdzLmpz
LmhlYWRlcnMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vbW9qb19iaW5kaW5ncy5qcy5oZWFkZXJzCShy
ZXZpc2lvbiAyNTI4OTYpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS9tb2pvX2JpbmRpbmdzLmpzLmhlYWRlcnMJKG5vbmV4
aXN0ZW50KQpAQCAtMSArMCwwIEBACi1Db250ZW50LVR5cGU6IHRleHQvamF2YXNjcmlwdDsgY2hh
cnNldD11dGYtOApJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vc3RyaW5nMTYubW9qb20uanMKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hy
b21pdW0vc3RyaW5nMTYubW9qb20uanMJKHJldmlzaW9uIDI1Mjg5NikKKysrIExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL3N0cmlu
ZzE2Lm1vam9tLmpzCShub25leGlzdGVudCkKQEAgLTEsMTU5ICswLDAgQEAKLS8vIENvcHlyaWdo
dCAyMDE0IFRoZSBDaHJvbWl1bSBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotLy8gVXNl
IG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZSB0
aGF0IGNhbiBiZQotLy8gZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KLQotCi0ndXNlIHN0cmlj
dCc7Ci1pZiAoKHR5cGVvZiBtb2pvICE9PSAndW5kZWZpbmVkJykgICYmIG1vam8uaW50ZXJuYWwg
JiYgbW9qby5jb25maWcpIHsKLQotKGZ1bmN0aW9uKCkgewotICB2YXIgbW9qb21JZCA9ICdtb2pv
L2NvbW1vbi9zdHJpbmcxNi5tb2pvbSc7Ci0gIGlmIChtb2pvLmludGVybmFsLmlzTW9qb21Mb2Fk
ZWQobW9qb21JZCkpIHsKLSAgICBjb25zb2xlLndhcm4oJ1RoZSBmb2xsb3dpbmcgbW9qb20gaXMg
bG9hZGVkIG11bHRpcGxlIHRpbWVzOiAnICsgbW9qb21JZCk7Ci0gICAgcmV0dXJuOwotICB9Ci0g
IG1vam8uaW50ZXJuYWwubWFya01vam9tTG9hZGVkKG1vam9tSWQpOwotCi0gIC8vIFRPRE8oeXpz
aGVuKTogRGVmaW5lIHRoZXNlIGFsaWFzZXMgdG8gbWluaW1pemUgdGhlIGRpZmZlcmVuY2VzIGJl
dHdlZW4gdGhlCi0gIC8vIG9sZC9uZXcgbW9kZXMuIFJlbW92ZSB0aGVtIHdoZW4gdGhlIG9sZCBt
b2RlIGdvZXMgYXdheS4KLSAgdmFyIGJpbmRpbmdzID0gbW9qbzsKLSAgdmFyIGFzc29jaWF0ZWRC
aW5kaW5ncyA9IG1vam87Ci0gIHZhciBjb2RlYyA9IG1vam8uaW50ZXJuYWw7Ci0gIHZhciB2YWxp
ZGF0b3IgPSBtb2pvLmludGVybmFsOwotCi0gIHZhciBleHBvcnRzID0gbW9qby5pbnRlcm5hbC5l
eHBvc2VOYW1lc3BhY2UoJ21vam8uY29tbW9uLm1vam9tJyk7Ci0KLQotCi0gIGZ1bmN0aW9uIFN0
cmluZzE2KHZhbHVlcykgewotICAgIHRoaXMuaW5pdERlZmF1bHRzXygpOwotICAgIHRoaXMuaW5p
dEZpZWxkc18odmFsdWVzKTsKLSAgfQotCi0KLSAgU3RyaW5nMTYucHJvdG90eXBlLmluaXREZWZh
dWx0c18gPSBmdW5jdGlvbigpIHsKLSAgICB0aGlzLmRhdGEgPSBudWxsOwotICB9OwotICBTdHJp
bmcxNi5wcm90b3R5cGUuaW5pdEZpZWxkc18gPSBmdW5jdGlvbihmaWVsZHMpIHsKLSAgICBmb3Io
dmFyIGZpZWxkIGluIGZpZWxkcykgewotICAgICAgICBpZiAodGhpcy5oYXNPd25Qcm9wZXJ0eShm
aWVsZCkpCi0gICAgICAgICAgdGhpc1tmaWVsZF0gPSBmaWVsZHNbZmllbGRdOwotICAgIH0KLSAg
fTsKLQotICBTdHJpbmcxNi52YWxpZGF0ZSA9IGZ1bmN0aW9uKG1lc3NhZ2VWYWxpZGF0b3IsIG9m
ZnNldCkgewotICAgIHZhciBlcnI7Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0
ZVN0cnVjdEhlYWRlcihvZmZzZXQsIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplKTsKLSAgICBpZiAo
ZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBl
cnI7Ci0KLSAgICB2YXIga1ZlcnNpb25TaXplcyA9IFsKLSAgICAgIHt2ZXJzaW9uOiAwLCBudW1C
eXRlczogMTZ9Ci0gICAgXTsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3Ry
dWN0VmVyc2lvbihvZmZzZXQsIGtWZXJzaW9uU2l6ZXMpOwotICAgIGlmIChlcnIgIT09IHZhbGlk
YXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0gICAg
Ci0gICAgLy8gdmFsaWRhdGUgU3RyaW5nMTYuZGF0YQotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0
b3IudmFsaWRhdGVBcnJheVBvaW50ZXIob2Zmc2V0ICsgY29kZWMua1N0cnVjdEhlYWRlclNpemUg
KyAwLCAyLCBjb2RlYy5VaW50MTYsIGZhbHNlLCBbMF0sIDApOwotICAgIGlmIChlcnIgIT09IHZh
bGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAg
IHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gIH07Ci0KLSAgU3RyaW5n
MTYuZW5jb2RlZFNpemUgPSBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDg7Ci0KLSAgU3RyaW5n
MTYuZGVjb2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgdmFy
IHZhbCA9IG5ldyBTdHJpbmcxNigpOwotICAgIHZhciBudW1iZXJPZkJ5dGVzID0gZGVjb2Rlci5y
ZWFkVWludDMyKCk7Ci0gICAgdmFyIHZlcnNpb24gPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAg
ICB2YWwuZGF0YSA9IGRlY29kZXIuZGVjb2RlQXJyYXlQb2ludGVyKGNvZGVjLlVpbnQxNik7Ci0g
ICAgcmV0dXJuIHZhbDsKLSAgfTsKLQotICBTdHJpbmcxNi5lbmNvZGUgPSBmdW5jdGlvbihlbmNv
ZGVyLCB2YWwpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoU3Ry
aW5nMTYuZW5jb2RlZFNpemUpOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoMCk7Ci0gICAgZW5j
b2Rlci5lbmNvZGVBcnJheVBvaW50ZXIoY29kZWMuVWludDE2LCB2YWwuZGF0YSk7Ci0gIH07Ci0g
IGV4cG9ydHMuU3RyaW5nMTYgPSBTdHJpbmcxNjsKLX0pKCk7Ci19Ci0KLWlmICgodHlwZW9mIG1v
am8gPT09ICd1bmRlZmluZWQnKSB8fCAhbW9qby5pbnRlcm5hbCB8fCAhbW9qby5jb25maWcpIHsK
LQotZGVmaW5lKCJtb2pvL2NvbW1vbi9zdHJpbmcxNi5tb2pvbSIsIFsKLSAgICAibW9qby9wdWJs
aWMvanMvYXNzb2NpYXRlZF9iaW5kaW5ncyIsCi0gICAgIm1vam8vcHVibGljL2pzL2JpbmRpbmdz
IiwKLSAgICAibW9qby9wdWJsaWMvanMvY29kZWMiLAotICAgICJtb2pvL3B1YmxpYy9qcy9jb3Jl
IiwKLSAgICAibW9qby9wdWJsaWMvanMvdmFsaWRhdG9yIiwKLV0sIGZ1bmN0aW9uKGFzc29jaWF0
ZWRCaW5kaW5ncywgYmluZGluZ3MsIGNvZGVjLCBjb3JlLCB2YWxpZGF0b3IpIHsKLSAgdmFyIGV4
cG9ydHMgPSB7fTsKLQotICBmdW5jdGlvbiBTdHJpbmcxNih2YWx1ZXMpIHsKLSAgICB0aGlzLmlu
aXREZWZhdWx0c18oKTsKLSAgICB0aGlzLmluaXRGaWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0g
IFN0cmluZzE2LnByb3RvdHlwZS5pbml0RGVmYXVsdHNfID0gZnVuY3Rpb24oKSB7Ci0gICAgdGhp
cy5kYXRhID0gbnVsbDsKLSAgfTsKLSAgU3RyaW5nMTYucHJvdG90eXBlLmluaXRGaWVsZHNfID0g
ZnVuY3Rpb24oZmllbGRzKSB7Ci0gICAgZm9yKHZhciBmaWVsZCBpbiBmaWVsZHMpIHsKLSAgICAg
ICAgaWYgKHRoaXMuaGFzT3duUHJvcGVydHkoZmllbGQpKQotICAgICAgICAgIHRoaXNbZmllbGRd
ID0gZmllbGRzW2ZpZWxkXTsKLSAgICB9Ci0gIH07Ci0KLSAgU3RyaW5nMTYudmFsaWRhdGUgPSBm
dW5jdGlvbihtZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsKLSAgICB2YXIgZXJyOwotICAgIGVy
ciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RIZWFkZXIob2Zmc2V0LCBjb2RlYy5r
U3RydWN0SGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25F
cnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgdmFyIGtWZXJzaW9uU2l6ZXMg
PSBbCi0gICAgICB7dmVyc2lvbjogMCwgbnVtQnl0ZXM6IDE2fQotICAgIF07Ci0gICAgZXJyID0g
bWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFZlcnNpb24ob2Zmc2V0LCBrVmVyc2lvblNp
emVzKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0g
ICAgICAgIHJldHVybiBlcnI7Ci0KLQotICAgIAotICAgIC8vIHZhbGlkYXRlIFN0cmluZzE2LmRh
dGEKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlQXJyYXlQb2ludGVyKG9mZnNl
dCArIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgMCwgMiwgY29kZWMuVWludDE2LCBmYWxzZSwg
WzBdLCAwKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUp
Ci0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25F
cnJvci5OT05FOwotICB9OwotCi0gIFN0cmluZzE2LmVuY29kZWRTaXplID0gY29kZWMua1N0cnVj
dEhlYWRlclNpemUgKyA4OwotCi0gIFN0cmluZzE2LmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIp
IHsKLSAgICB2YXIgcGFja2VkOwotICAgIHZhciB2YWwgPSBuZXcgU3RyaW5nMTYoKTsKLSAgICB2
YXIgbnVtYmVyT2ZCeXRlcyA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhciB2ZXJzaW9u
ID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFsLmRhdGEgPSBkZWNvZGVyLmRlY29kZUFy
cmF5UG9pbnRlcihjb2RlYy5VaW50MTYpOwotICAgIHJldHVybiB2YWw7Ci0gIH07Ci0KLSAgU3Ry
aW5nMTYuZW5jb2RlID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAgdmFyIHBhY2tlZDsK
LSAgICBlbmNvZGVyLndyaXRlVWludDMyKFN0cmluZzE2LmVuY29kZWRTaXplKTsKLSAgICBlbmNv
ZGVyLndyaXRlVWludDMyKDApOwotICAgIGVuY29kZXIuZW5jb2RlQXJyYXlQb2ludGVyKGNvZGVj
LlVpbnQxNiwgdmFsLmRhdGEpOwotICB9OwotICBleHBvcnRzLlN0cmluZzE2ID0gU3RyaW5nMTY7
Ci0KLSAgcmV0dXJuIGV4cG9ydHM7Ci19KTsKLX0KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy9jaHJvbWl1bS9zdHJpbmcxNi5tb2pvbS5qcy5oZWFkZXJzCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9t
aXVtL3N0cmluZzE2Lm1vam9tLmpzLmhlYWRlcnMJKHJldmlzaW9uIDI1Mjg5NikKKysrIExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVt
L3N0cmluZzE2Lm1vam9tLmpzLmhlYWRlcnMJKG5vbmV4aXN0ZW50KQpAQCAtMSArMCwwIEBACi1D
b250ZW50LVR5cGU6IHRleHQvamF2YXNjcmlwdDsgY2hhcnNldD11dGYtOApJbmRleDogTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0v
dzNjLWltcG9ydC5sb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vdzNjLWltcG9ydC5sb2cJKHJldmlz
aW9uIDI1Mjg5NikKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL2Nocm9taXVtL3czYy1pbXBvcnQubG9nCShub25leGlzdGVudCkKQEAgLTEs
MjkgKzAsMCBAQAotVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJv
bSB0aGUgVzNDIHJlcG9zaXRvcnkuCi1EbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5
IGluIFdlYktpdC4KLUluc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdp
dGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cwotCi1UaGVu
IHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWlt
cG9ydAotCi1EbyBOT1QgbW9kaWZ5IG9yIHJlbW92ZSB0aGlzIGZpbGUuCi0KLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLQotUHJvcGVydGllcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgotTm9uZQotUHJvcGVy
dHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6Ci1Ob25lCi0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0KLUxpc3Qgb2YgZmlsZXM6Ci0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vUkVBRE1FLm1kCi0vTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vY2hvb3Nlcl9zZXJ2
aWNlLm1vam9tLmpzCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvY2hyb21pdW0vY2hvb3Nlcl9zZXJ2aWNlLm1vam9tLmpzLmhlYWRlcnMKLS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJv
bWl1bS9kZXZpY2UubW9qb20uanMKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS9kZXZpY2UubW9qb20uanMuaGVhZGVycwotL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9t
aXVtL2RldmljZV9tYW5hZ2VyLm1vam9tLmpzCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vZGV2aWNlX21hbmFnZXIubW9qb20u
anMuaGVhZGVycwotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL2Nocm9taXVtL21vam9fYmluZGluZ3MuanMKLS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS9tb2pvX2JpbmRpbmdz
LmpzLmhlYWRlcnMKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy9jaHJvbWl1bS9zdHJpbmcxNi5tb2pvbS5qcwotL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL3N0cmluZzE2Lm1v
am9tLmpzLmhlYWRlcnMKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy9jaHJvbWl1bS93ZWJ1c2ItdGVzdC5qcwotL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL3dlYnVzYi10ZXN0
LmpzLmhlYWRlcnMKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL3dlYnVzYi10ZXN0LmpzCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9t
aXVtL3dlYnVzYi10ZXN0LmpzCShyZXZpc2lvbiAyNTI4OTYpCisrKyBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS93ZWJ1c2ItdGVz
dC5qcwkobm9uZXhpc3RlbnQpCkBAIC0xLDU0MSArMCwwIEBACi0ndXNlIHN0cmljdCc7Ci0KLS8v
IFRoaXMgcG9seWZpbGwgbGlicmFyeSBpbXBsZW1lbnRzIHRoZSBXZWJVU0IgVGVzdCBBUEkgYXMg
c3BlY2lmaWVkIGhlcmU6Ci0vLyBodHRwczovL3dpY2cuZ2l0aHViLmlvL3dlYnVzYi90ZXN0Lwot
Ci0oKCkgPT4gewotCi0vLyBUaGVzZSB2YXJpYWJsZXMgYXJlIGxvZ2ljYWxseSBtZW1iZXJzIG9m
IHRoZSBVU0JUZXN0IGNsYXNzIGJ1dCBhcmUgZGVmaW5lZAotLy8gaGVyZSB0byBoaWRlIHRoZW0g
ZnJvbSBiZWluZyB2aXNpYmxlIGFzIGZpZWxkcyBvZiBuYXZpZ2F0b3IudXNiLnRlc3QuCi1sZXQg
aW50ZXJuYWwgPSB7Ci0gIGludGlhbGl6ZWQ6IGZhbHNlLAotCi0gIGRldmljZU1hbmFnZXI6IG51
bGwsCi0gIGRldmljZU1hbmFnZXJJbnRlcmNlcHRvcjogbnVsbCwKLSAgZGV2aWNlTWFuYWdlckNy
b3NzRnJhbWVQcm94eTogbnVsbCwKLQotICBjaG9vc2VyOiBudWxsLAotICBjaG9vc2VySW50ZXJj
ZXB0b3I6IG51bGwsCi0gIGNob29zZXJDcm9zc0ZyYW1lUHJveHk6IG51bGwsCi19OwotCi0vLyBD
b252ZXJ0cyBhbiBFQ01BU2NyaXB0IFN0cmluZyBvYmplY3QgdG8gYW4gaW5zdGFuY2Ugb2YKLS8v
IG1vam8uY29tbW9uLm1vam9tLlN0cmluZzE2LgotZnVuY3Rpb24gbW9qb1N0cmluZzE2VG9TdHJp
bmcoc3RyaW5nMTYpIHsKLSAgcmV0dXJuIFN0cmluZy5mcm9tQ2hhckNvZGUuYXBwbHkobnVsbCwg
c3RyaW5nMTYuZGF0YSk7Ci19Ci0KLS8vIENvbnZlcnRzIGFuIGluc3RhbmNlIG9mIG1vam8uY29t
bW9uLm1vam9tLlN0cmluZzE2IHRvIGFuIEVDTUFTY3JpcHQgU3RyaW5nLgotZnVuY3Rpb24gc3Ry
aW5nVG9Nb2pvU3RyaW5nMTYoc3RyaW5nKSB7Ci0gIGxldCBhcnJheSA9IG5ldyBBcnJheShzdHJp
bmcubGVuZ3RoKTsKLSAgZm9yICh2YXIgaSA9IDA7IGkgPCBzdHJpbmcubGVuZ3RoOyArK2kpIHsK
LSAgICBhcnJheVtpXSA9IHN0cmluZy5jaGFyQ29kZUF0KGkpOwotICB9Ci0gIHJldHVybiB7IGRh
dGE6IGFycmF5IH0KLX0KLQotZnVuY3Rpb24gZmFrZURldmljZUluaXRUb0RldmljZUluZm8oZ3Vp
ZCwgaW5pdCkgewotICBsZXQgZGV2aWNlSW5mbyA9IHsKLSAgICBndWlkOiBndWlkICsgIiIsCi0g
ICAgdXNiVmVyc2lvbk1ham9yOiBpbml0LnVzYlZlcnNpb25NYWpvciwKLSAgICB1c2JWZXJzaW9u
TWlub3I6IGluaXQudXNiVmVyc2lvbk1pbm9yLAotICAgIHVzYlZlcnNpb25TdWJtaW5vcjogaW5p
dC51c2JWZXJzaW9uU3VibWlub3IsCi0gICAgY2xhc3NDb2RlOiBpbml0LmRldmljZUNsYXNzLAot
ICAgIHN1YmNsYXNzQ29kZTogaW5pdC5kZXZpY2VTdWJjbGFzcywKLSAgICBwcm90b2NvbENvZGU6
IGluaXQuZGV2aWNlUHJvdG9jb2wsCi0gICAgdmVuZG9ySWQ6IGluaXQudmVuZG9ySWQsCi0gICAg
cHJvZHVjdElkOiBpbml0LnByb2R1Y3RJZCwKLSAgICBkZXZpY2VWZXJzaW9uTWFqb3I6IGluaXQu
ZGV2aWNlVmVyc2lvbk1ham9yLAotICAgIGRldmljZVZlcnNpb25NaW5vcjogaW5pdC5kZXZpY2VW
ZXJzaW9uTWlub3IsCi0gICAgZGV2aWNlVmVyc2lvblN1Ym1pbm9yOiBpbml0LmRldmljZVZlcnNp
b25TdWJtaW5vciwKLSAgICBtYW51ZmFjdHVyZXJOYW1lOiBzdHJpbmdUb01vam9TdHJpbmcxNihp
bml0Lm1hbnVmYWN0dXJlck5hbWUpLAotICAgIHByb2R1Y3ROYW1lOiBzdHJpbmdUb01vam9TdHJp
bmcxNihpbml0LnByb2R1Y3ROYW1lKSwKLSAgICBzZXJpYWxOdW1iZXI6IHN0cmluZ1RvTW9qb1N0
cmluZzE2KGluaXQuc2VyaWFsTnVtYmVyKSwKLSAgICBhY3RpdmVDb25maWd1cmF0aW9uOiBpbml0
LmFjdGl2ZUNvbmZpZ3VyYXRpb25WYWx1ZSwKLSAgICBjb25maWd1cmF0aW9uczogW10KLSAgfTsK
LSAgaW5pdC5jb25maWd1cmF0aW9ucy5mb3JFYWNoKGNvbmZpZyA9PiB7Ci0gICAgdmFyIGNvbmZp
Z0luZm8gPSB7Ci0gICAgICBjb25maWd1cmF0aW9uVmFsdWU6IGNvbmZpZy5jb25maWd1cmF0aW9u
VmFsdWUsCi0gICAgICBjb25maWd1cmF0aW9uTmFtZTogc3RyaW5nVG9Nb2pvU3RyaW5nMTYoY29u
ZmlnLmNvbmZpZ3VyYXRpb25OYW1lKSwKLSAgICAgIGludGVyZmFjZXM6IFtdCi0gICAgfTsKLSAg
ICBjb25maWcuaW50ZXJmYWNlcy5mb3JFYWNoKGlmYWNlID0+IHsKLSAgICAgIHZhciBpbnRlcmZh
Y2VJbmZvID0gewotICAgICAgICBpbnRlcmZhY2VOdW1iZXI6IGlmYWNlLmludGVyZmFjZU51bWJl
ciwKLSAgICAgICAgYWx0ZXJuYXRlczogW10KLSAgICAgIH07Ci0gICAgICBpZmFjZS5hbHRlcm5h
dGVzLmZvckVhY2goYWx0ZXJuYXRlID0+IHsKLSAgICAgICAgdmFyIGFsdGVybmF0ZUluZm8gPSB7
Ci0gICAgICAgICAgYWx0ZXJuYXRlU2V0dGluZzogYWx0ZXJuYXRlLmFsdGVybmF0ZVNldHRpbmcs
Ci0gICAgICAgICAgY2xhc3NDb2RlOiBhbHRlcm5hdGUuaW50ZXJmYWNlQ2xhc3MsCi0gICAgICAg
ICAgc3ViY2xhc3NDb2RlOiBhbHRlcm5hdGUuaW50ZXJmYWNlU3ViY2xhc3MsCi0gICAgICAgICAg
cHJvdG9jb2xDb2RlOiBhbHRlcm5hdGUuaW50ZXJmYWNlUHJvdG9jb2wsCi0gICAgICAgICAgaW50
ZXJmYWNlTmFtZTogc3RyaW5nVG9Nb2pvU3RyaW5nMTYoYWx0ZXJuYXRlLmludGVyZmFjZU5hbWUp
LAotICAgICAgICAgIGVuZHBvaW50czogW10KLSAgICAgICAgfTsKLSAgICAgICAgYWx0ZXJuYXRl
LmVuZHBvaW50cy5mb3JFYWNoKGVuZHBvaW50ID0+IHsKLSAgICAgICAgICB2YXIgZW5kcG9pbnRJ
bmZvID0gewotICAgICAgICAgICAgZW5kcG9pbnROdW1iZXI6IGVuZHBvaW50LmVuZHBvaW50TnVt
YmVyLAotICAgICAgICAgICAgcGFja2V0U2l6ZTogZW5kcG9pbnQucGFja2V0U2l6ZSwKLSAgICAg
ICAgICB9OwotICAgICAgICAgIHN3aXRjaCAoZW5kcG9pbnQuZGlyZWN0aW9uKSB7Ci0gICAgICAg
ICAgY2FzZSAiaW4iOgotICAgICAgICAgICAgZW5kcG9pbnRJbmZvLmRpcmVjdGlvbiA9IGRldmlj
ZS5tb2pvbS5Vc2JUcmFuc2ZlckRpcmVjdGlvbi5JTkJPVU5EOwotICAgICAgICAgICAgYnJlYWs7
Ci0gICAgICAgICAgY2FzZSAib3V0IjoKLSAgICAgICAgICAgIGVuZHBvaW50SW5mby5kaXJlY3Rp
b24gPSBkZXZpY2UubW9qb20uVXNiVHJhbnNmZXJEaXJlY3Rpb24uT1VUQk9VTkQ7Ci0gICAgICAg
ICAgICBicmVhazsKLSAgICAgICAgICB9Ci0gICAgICAgICAgc3dpdGNoIChlbmRwb2ludC50eXBl
KSB7Ci0gICAgICAgICAgY2FzZSAiYnVsayI6Ci0gICAgICAgICAgICBlbmRwb2ludEluZm8udHlw
ZSA9IGRldmljZS5tb2pvbS5Vc2JUcmFuc2ZlclR5cGUuQlVMSzsKLSAgICAgICAgICAgIGJyZWFr
OwotICAgICAgICAgIGNhc2UgImludGVycnVwdCI6Ci0gICAgICAgICAgICBlbmRwb2ludEluZm8u
dHlwZSA9IGRldmljZS5tb2pvbS5Vc2JUcmFuc2ZlclR5cGUuSU5URVJSVVBUOwotICAgICAgICAg
ICAgYnJlYWs7Ci0gICAgICAgICAgY2FzZSAiaXNvY2hyb25vdXMiOgotICAgICAgICAgICAgZW5k
cG9pbnRJbmZvLnR5cGUgPSBkZXZpY2UubW9qb20uVXNiVHJhbnNmZXJUeXBlLklTT0NIUk9OT1VT
OwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgfQotICAgICAgICAgIGFsdGVybmF0ZUlu
Zm8uZW5kcG9pbnRzLnB1c2goZW5kcG9pbnRJbmZvKTsKLSAgICAgICAgfSk7Ci0gICAgICAgIGlu
dGVyZmFjZUluZm8uYWx0ZXJuYXRlcy5wdXNoKGFsdGVybmF0ZUluZm8pOwotICAgICAgfSk7Ci0g
ICAgICBjb25maWdJbmZvLmludGVyZmFjZXMucHVzaChpbnRlcmZhY2VJbmZvKTsKLSAgICB9KTsK
LSAgICBkZXZpY2VJbmZvLmNvbmZpZ3VyYXRpb25zLnB1c2goY29uZmlnSW5mbyk7Ci0gIH0pOwot
ICByZXR1cm4gZGV2aWNlSW5mbzsKLX0KLQotZnVuY3Rpb24gY29udmVydE1vam9EZXZpY2VGaWx0
ZXJzKGlucHV0KSB7Ci0gIGxldCBvdXRwdXQgPSBbXTsKLSAgaW5wdXQuZm9yRWFjaChmaWx0ZXIg
PT4gewotICAgIG91dHB1dC5wdXNoKGNvbnZlcnRNb2pvRGV2aWNlRmlsdGVyKGZpbHRlcikpOwot
ICB9KTsKLSAgcmV0dXJuIG91dHB1dDsKLX0KLQotZnVuY3Rpb24gY29udmVydE1vam9EZXZpY2VG
aWx0ZXIoaW5wdXQpIHsKLSAgbGV0IG91dHB1dCA9IHt9OwotICBpZiAoaW5wdXQuaGFzVmVuZG9y
SWQpCi0gICAgb3V0cHV0LnZlbmRvcklkID0gaW5wdXQudmVuZG9ySWQ7Ci0gIGlmIChpbnB1dC5o
YXNQcm9kdWN0SWQpCi0gICAgb3V0cHV0LnByb2R1Y3RJZCA9IGlucHV0LnByb2R1Y3RJZDsKLSAg
aWYgKGlucHV0Lmhhc0NsYXNzQ29kZSkKLSAgICBvdXRwdXQuY2xhc3NDb2RlID0gaW5wdXQuY2xh
c3NDb2RlOwotICBpZiAoaW5wdXQuaGFzU3ViY2xhc3NDb2RlKQotICAgIG91dHB1dC5zdWJjbGFz
c0NvZGUgPSBpbnB1dC5zdWJjbGFzc0NvZGU7Ci0gIGlmIChpbnB1dC5oYXNQcm90b2NvbENvZGUp
Ci0gICAgb3V0cHV0LnByb3RvY29sQ29kZSA9IGlucHV0LnByb3RvY29sQ29kZTsKLSAgaWYgKGlu
cHV0LnNlcmlhbE51bWJlcikKLSAgICBvdXRwdXQuc2VyaWFsTnVtYmVyID0gbW9qb1N0cmluZzE2
VG9TdHJpbmcoaW5wdXQuc2VyaWFsTnVtYmVyKTsKLSAgcmV0dXJuIG91dHB1dDsKLX0KLQotY2xh
c3MgRmFrZURldmljZSB7Ci0gIGNvbnN0cnVjdG9yKGRldmljZUluaXQpIHsKLSAgICB0aGlzLmlu
Zm9fID0gZGV2aWNlSW5pdDsKLSAgICB0aGlzLm9wZW5lZF8gPSBmYWxzZTsKLSAgICB0aGlzLmN1
cnJlbnRDb25maWd1cmF0aW9uXyA9IG51bGw7Ci0gICAgdGhpcy5jbGFpbWVkSW50ZXJmYWNlc18g
PSBuZXcgTWFwKCk7Ci0gIH0KLQotICBnZXRDb25maWd1cmF0aW9uKCkgewotICAgIGlmICh0aGlz
LmN1cnJlbnRDb25maWd1cmF0aW9uXykgewotICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh7
Ci0gICAgICAgICAgdmFsdWU6IHRoaXMuY3VycmVudENvbmZpZ3VyYXRpb25fLmNvbmZpZ3VyYXRp
b25WYWx1ZSB9KTsKLSAgICB9IGVsc2UgewotICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh7
IHZhbHVlOiAwIH0pOwotICAgIH0KLSAgfQotCi0gIG9wZW4oKSB7Ci0gICAgYXNzZXJ0X2ZhbHNl
KHRoaXMub3BlbmVkXyk7Ci0gICAgdGhpcy5vcGVuZWRfID0gdHJ1ZTsKLSAgICByZXR1cm4gUHJv
bWlzZS5yZXNvbHZlKHsgZXJyb3I6IGRldmljZS5tb2pvbS5Vc2JPcGVuRGV2aWNlRXJyb3IuT0sg
fSk7Ci0gIH0KLQotICBjbG9zZSgpIHsKLSAgICBhc3NlcnRfdHJ1ZSh0aGlzLm9wZW5lZF8pOwot
ICAgIHRoaXMub3BlbmVkXyA9IGZhbHNlOwotICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTsK
LSAgfQotCi0gIHNldENvbmZpZ3VyYXRpb24odmFsdWUpIHsKLSAgICBhc3NlcnRfdHJ1ZSh0aGlz
Lm9wZW5lZF8pOwotCi0gICAgbGV0IHNlbGVjdGVkQ29uZmlndXJhdGlvbiA9IHRoaXMuaW5mb18u
Y29uZmlndXJhdGlvbnMuZmluZCgKLSAgICAgICAgY29uZmlndXJhdGlvbiA9PiBjb25maWd1cmF0
aW9uLmNvbmZpZ3VyYXRpb25WYWx1ZSA9PSB2YWx1ZSk7Ci0gICAgLy8gQmxpbmsgc2hvdWxkIG5l
dmVyIHJlcXVlc3QgYW4gaW52YWxpZCBjb25maWd1cmF0aW9uLgotICAgIGFzc2VydF9ub3RfZXF1
YWxzKHNlbGVjdGVkQ29uZmlndXJhdGlvbiwgdW5kZWZpbmVkKTsKLSAgICB0aGlzLmN1cnJlbnRD
b25maWd1cmF0aW9uXyA9IHNlbGVjdGVkQ29uZmlndXJhdGlvbjsKLSAgICByZXR1cm4gUHJvbWlz
ZS5yZXNvbHZlKHsgc3VjY2VzczogdHJ1ZSB9KTsKLSAgfQotCi0gIGNsYWltSW50ZXJmYWNlKGlu
dGVyZmFjZU51bWJlcikgewotICAgIGFzc2VydF90cnVlKHRoaXMub3BlbmVkXyk7Ci0gICAgYXNz
ZXJ0X2ZhbHNlKHRoaXMuY3VycmVudENvbmZpZ3VyYXRpb25fID09IG51bGwsICdkZXZpY2UgY29u
ZmlndXJlZCcpOwotICAgIGFzc2VydF9mYWxzZSh0aGlzLmNsYWltZWRJbnRlcmZhY2VzXy5oYXMo
aW50ZXJmYWNlTnVtYmVyKSwKLSAgICAgICAgICAgICAgICAgJ2ludGVyZmFjZSBhbHJlYWR5IGNs
YWltZWQnKTsKLQotICAgIC8vIEJsaW5rIHNob3VsZCBuZXZlciByZXF1ZXN0IGFuIGludmFsaWQg
aW50ZXJmYWNlLgotICAgIGFzc2VydF90cnVlKHRoaXMuY3VycmVudENvbmZpZ3VyYXRpb25fLmlu
dGVyZmFjZXMuc29tZSgKLSAgICAgICAgICAgIGlmYWNlID0+IGlmYWNlLmludGVyZmFjZU51bWJl
ciA9PSBpbnRlcmZhY2VOdW1iZXIpKTsKLSAgICB0aGlzLmNsYWltZWRJbnRlcmZhY2VzXy5zZXQo
aW50ZXJmYWNlTnVtYmVyLCAwKTsKLSAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHsgc3VjY2Vz
czogdHJ1ZSB9KTsKLSAgfQotCi0gIHJlbGVhc2VJbnRlcmZhY2UoaW50ZXJmYWNlTnVtYmVyKSB7
Ci0gICAgYXNzZXJ0X3RydWUodGhpcy5vcGVuZWRfKTsKLSAgICBhc3NlcnRfZmFsc2UodGhpcy5j
dXJyZW50Q29uZmlndXJhdGlvbl8gPT0gbnVsbCwgJ2RldmljZSBjb25maWd1cmVkJyk7Ci0gICAg
YXNzZXJ0X3RydWUodGhpcy5jbGFpbWVkSW50ZXJmYWNlc18uaGFzKGludGVyZmFjZU51bWJlcikp
OwotICAgIHRoaXMuY2xhaW1lZEludGVyZmFjZXNfLmRlbGV0ZShpbnRlcmZhY2VOdW1iZXIpOwot
ICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoeyBzdWNjZXNzOiB0cnVlIH0pOwotICB9Ci0KLSAg
c2V0SW50ZXJmYWNlQWx0ZXJuYXRlU2V0dGluZyhpbnRlcmZhY2VOdW1iZXIsIGFsdGVybmF0ZVNl
dHRpbmcpIHsKLSAgICBhc3NlcnRfdHJ1ZSh0aGlzLm9wZW5lZF8pOwotICAgIGFzc2VydF9mYWxz
ZSh0aGlzLmN1cnJlbnRDb25maWd1cmF0aW9uXyA9PSBudWxsLCAnZGV2aWNlIGNvbmZpZ3VyZWQn
KTsKLSAgICBhc3NlcnRfdHJ1ZSh0aGlzLmNsYWltZWRJbnRlcmZhY2VzXy5oYXMoaW50ZXJmYWNl
TnVtYmVyKSk7Ci0KLSAgICBsZXQgaWZhY2UgPSB0aGlzLmN1cnJlbnRDb25maWd1cmF0aW9uXy5p
bnRlcmZhY2VzLmZpbmQoCi0gICAgICAgIGlmYWNlID0+IGlmYWNlLmludGVyZmFjZU51bWJlciA9
PSBpbnRlcmZhY2VOdW1iZXIpOwotICAgIC8vIEJsaW5rIHNob3VsZCBuZXZlciByZXF1ZXN0IGFu
IGludmFsaWQgaW50ZXJmYWNlIG9yIGFsdGVybmF0ZS4KLSAgICBhc3NlcnRfZmFsc2UoaWZhY2Ug
PT0gdW5kZWZpbmVkKTsKLSAgICBhc3NlcnRfdHJ1ZShpZmFjZS5hbHRlcm5hdGVzLnNvbWUoCi0g
ICAgICAgIHggPT4geC5hbHRlcm5hdGVTZXR0aW5nID09IGFsdGVybmF0ZVNldHRpbmcpKTsKLSAg
ICB0aGlzLmNsYWltZWRJbnRlcmZhY2VzXy5zZXQoaW50ZXJmYWNlTnVtYmVyLCBhbHRlcm5hdGVT
ZXR0aW5nKTsKLSAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHsgc3VjY2VzczogdHJ1ZSB9KTsK
LSAgfQotCi0gIHJlc2V0KCkgewotICAgIGFzc2VydF90cnVlKHRoaXMub3BlbmVkXyk7Ci0gICAg
cmV0dXJuIFByb21pc2UucmVzb2x2ZSh7IHN1Y2Nlc3M6IHRydWUgfSk7Ci0gIH0KLQotICBjbGVh
ckhhbHQoZW5kcG9pbnQpIHsKLSAgICBhc3NlcnRfdHJ1ZSh0aGlzLm9wZW5lZF8pOwotICAgIGFz
c2VydF9mYWxzZSh0aGlzLmN1cnJlbnRDb25maWd1cmF0aW9uXyA9PSBudWxsLCAnZGV2aWNlIGNv
bmZpZ3VyZWQnKTsKLSAgICAvLyBUT0RPKHJlaWxseWcpOiBBc3NlcnQgdGhhdCBlbmRwb2ludCBp
cyB2YWxpZC4KLSAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHsgc3VjY2VzczogdHJ1ZSB9KTsK
LSAgfQotCi0gIGNvbnRyb2xUcmFuc2ZlckluKHBhcmFtcywgbGVuZ3RoLCB0aW1lb3V0KSB7Ci0g
ICAgYXNzZXJ0X3RydWUodGhpcy5vcGVuZWRfKTsKLSAgICBhc3NlcnRfZmFsc2UodGhpcy5jdXJy
ZW50Q29uZmlndXJhdGlvbl8gPT0gbnVsbCwgJ2RldmljZSBjb25maWd1cmVkJyk7Ci0gICAgcmV0
dXJuIFByb21pc2UucmVzb2x2ZSh7Ci0gICAgICBzdGF0dXM6IGRldmljZS5tb2pvbS5Vc2JUcmFu
c2ZlclN0YXR1cy5PSywKLSAgICAgIGRhdGE6IFtsZW5ndGggPj4gOCwgbGVuZ3RoICYgMHhmZiwg
cGFyYW1zLnJlcXVlc3QsIHBhcmFtcy52YWx1ZSA+PiA4LAotICAgICAgICAgICAgIHBhcmFtcy52
YWx1ZSAmIDB4ZmYsIHBhcmFtcy5pbmRleCA+PiA4LCBwYXJhbXMuaW5kZXggJiAweGZmXQotICAg
IH0pOwotICB9Ci0KLSAgY29udHJvbFRyYW5zZmVyT3V0KHBhcmFtcywgZGF0YSwgdGltZW91dCkg
ewotICAgIGFzc2VydF90cnVlKHRoaXMub3BlbmVkXyk7Ci0gICAgYXNzZXJ0X2ZhbHNlKHRoaXMu
Y3VycmVudENvbmZpZ3VyYXRpb25fID09IG51bGwsICdkZXZpY2UgY29uZmlndXJlZCcpOwotICAg
IHJldHVybiBQcm9taXNlLnJlc29sdmUoewotICAgICAgc3RhdHVzOiBkZXZpY2UubW9qb20uVXNi
VHJhbnNmZXJTdGF0dXMuT0ssCi0gICAgICBieXRlc1dyaXR0ZW46IGRhdGEuYnl0ZUxlbmd0aAot
ICAgIH0pOwotICB9Ci0KLSAgZ2VuZXJpY1RyYW5zZmVySW4oZW5kcG9pbnROdW1iZXIsIGxlbmd0
aCwgdGltZW91dCkgewotICAgIGFzc2VydF90cnVlKHRoaXMub3BlbmVkXyk7Ci0gICAgYXNzZXJ0
X2ZhbHNlKHRoaXMuY3VycmVudENvbmZpZ3VyYXRpb25fID09IG51bGwsICdkZXZpY2UgY29uZmln
dXJlZCcpOwotICAgIC8vIFRPRE8ocmVpbGx5Zyk6IEFzc2VydCB0aGF0IGVuZHBvaW50IGlzIHZh
bGlkLgotICAgIGxldCBkYXRhID0gbmV3IEFycmF5KGxlbmd0aCk7Ci0gICAgZm9yIChsZXQgaSA9
IDA7IGkgPCBsZW5ndGg7ICsraSkKLSAgICAgIGRhdGFbaV0gPSBpICYgMHhmZjsKLSAgICByZXR1
cm4gUHJvbWlzZS5yZXNvbHZlKHsKLSAgICAgIHN0YXR1czogZGV2aWNlLm1vam9tLlVzYlRyYW5z
ZmVyU3RhdHVzLk9LLAotICAgICAgZGF0YTogZGF0YQotICAgIH0pOwotICB9Ci0KLSAgZ2VuZXJp
Y1RyYW5zZmVyT3V0KGVuZHBvaW50TnVtYmVyLCBkYXRhLCB0aW1lb3V0KSB7Ci0gICAgYXNzZXJ0
X3RydWUodGhpcy5vcGVuZWRfKTsKLSAgICBhc3NlcnRfZmFsc2UodGhpcy5jdXJyZW50Q29uZmln
dXJhdGlvbl8gPT0gbnVsbCwgJ2RldmljZSBjb25maWd1cmVkJyk7Ci0gICAgLy8gVE9ETyhyZWls
bHlnKTogQXNzZXJ0IHRoYXQgZW5kcG9pbnQgaXMgdmFsaWQuCi0gICAgcmV0dXJuIFByb21pc2Uu
cmVzb2x2ZSh7Ci0gICAgICBzdGF0dXM6IGRldmljZS5tb2pvbS5Vc2JUcmFuc2ZlclN0YXR1cy5P
SywKLSAgICAgIGJ5dGVzV3JpdHRlbjogZGF0YS5ieXRlTGVuZ3RoCi0gICAgfSk7Ci0gIH0KLQot
ICBpc29jaHJvbm91c1RyYW5zZmVySW4oZW5kcG9pbnROdW1iZXIsIHBhY2tldExlbmd0aHMsIHRp
bWVvdXQpIHsKLSAgICBhc3NlcnRfdHJ1ZSh0aGlzLm9wZW5lZF8pOwotICAgIGFzc2VydF9mYWxz
ZSh0aGlzLmN1cnJlbnRDb25maWd1cmF0aW9uXyA9PSBudWxsLCAnZGV2aWNlIGNvbmZpZ3VyZWQn
KTsKLSAgICAvLyBUT0RPKHJlaWxseWcpOiBBc3NlcnQgdGhhdCBlbmRwb2ludCBpcyB2YWxpZC4K
LSAgICBsZXQgZGF0YSA9IG5ldyBBcnJheShwYWNrZXRMZW5ndGhzLnJlZHVjZSgoYSwgYikgPT4g
YSArIGIsIDApKTsKLSAgICBsZXQgZGF0YU9mZnNldCA9IDA7Ci0gICAgbGV0IHBhY2tldHMgPSBu
ZXcgQXJyYXkocGFja2V0TGVuZ3Rocy5sZW5ndGgpOwotICAgIGZvciAobGV0IGkgPSAwOyBpIDwg
cGFja2V0TGVuZ3Rocy5sZW5ndGg7ICsraSkgewotICAgICAgZm9yIChsZXQgaiA9IDA7IGogPCBw
YWNrZXRMZW5ndGhzW2ldOyArK2opCi0gICAgICAgIGRhdGFbZGF0YU9mZnNldCsrXSA9IGogJiAw
eGZmOwotICAgICAgcGFja2V0c1tpXSA9IHsKLSAgICAgICAgbGVuZ3RoOiBwYWNrZXRMZW5ndGhz
W2ldLAotICAgICAgICB0cmFuc2ZlcnJlZExlbmd0aDogcGFja2V0TGVuZ3Roc1tpXSwKLSAgICAg
ICAgc3RhdHVzOiBkZXZpY2UubW9qb20uVXNiVHJhbnNmZXJTdGF0dXMuT0sKLSAgICAgIH07Ci0g
ICAgfQotICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoeyBkYXRhOiBkYXRhLCBwYWNrZXRzOiBw
YWNrZXRzIH0pOwotICB9Ci0KLSAgaXNvY2hyb25vdXNUcmFuc2Zlck91dChlbmRwb2ludE51bWJl
ciwgZGF0YSwgcGFja2V0TGVuZ3RocywgdGltZW91dCkgewotICAgIGFzc2VydF90cnVlKHRoaXMu
b3BlbmVkXyk7Ci0gICAgYXNzZXJ0X2ZhbHNlKHRoaXMuY3VycmVudENvbmZpZ3VyYXRpb25fID09
IG51bGwsICdkZXZpY2UgY29uZmlndXJlZCcpOwotICAgIC8vIFRPRE8ocmVpbGx5Zyk6IEFzc2Vy
dCB0aGF0IGVuZHBvaW50IGlzIHZhbGlkLgotICAgIGxldCBwYWNrZXRzID0gbmV3IEFycmF5KHBh
Y2tldExlbmd0aHMubGVuZ3RoKTsKLSAgICBmb3IgKGxldCBpID0gMDsgaSA8IHBhY2tldExlbmd0
aHMubGVuZ3RoOyArK2kpIHsKLSAgICAgIHBhY2tldHNbaV0gPSB7Ci0gICAgICAgIGxlbmd0aDog
cGFja2V0TGVuZ3Roc1tpXSwKLSAgICAgICAgdHJhbnNmZXJyZWRMZW5ndGg6IHBhY2tldExlbmd0
aHNbaV0sCi0gICAgICAgIHN0YXR1czogZGV2aWNlLm1vam9tLlVzYlRyYW5zZmVyU3RhdHVzLk9L
Ci0gICAgICB9OwotICAgIH0KLSAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHsgcGFja2V0czog
cGFja2V0cyB9KTsKLSAgfQotfQotCi1jbGFzcyBGYWtlRGV2aWNlTWFuYWdlciB7Ci0gIGNvbnN0
cnVjdG9yKCkgewotICAgIHRoaXMuYmluZGluZ1NldF8gPSBuZXcgbW9qby5CaW5kaW5nU2V0KGRl
dmljZS5tb2pvbS5Vc2JEZXZpY2VNYW5hZ2VyKTsKLSAgICB0aGlzLmRldmljZXNfID0gbmV3IE1h
cCgpOwotICAgIHRoaXMuZGV2aWNlc0J5R3VpZF8gPSBuZXcgTWFwKCk7Ci0gICAgdGhpcy5jbGll
bnRfID0gbnVsbDsKLSAgICB0aGlzLm5leHRHdWlkXyA9IDA7Ci0gIH0KLQotICBhZGRCaW5kaW5n
KGhhbmRsZSkgewotICAgIHRoaXMuYmluZGluZ1NldF8uYWRkQmluZGluZyh0aGlzLCBoYW5kbGUp
OwotICB9Ci0KLSAgYWRkRGV2aWNlKGZha2VEZXZpY2UsIGluZm8pIHsKLSAgICBsZXQgZGV2aWNl
ID0gewotICAgICAgZmFrZURldmljZTogZmFrZURldmljZSwKLSAgICAgIGd1aWQ6ICh0aGlzLm5l
eHRHdWlkXysrKS50b1N0cmluZygpLAotICAgICAgaW5mbzogaW5mbywKLSAgICAgIGJpbmRpbmdB
cnJheTogW10KLSAgICB9OwotICAgIHRoaXMuZGV2aWNlc18uc2V0KGZha2VEZXZpY2UsIGRldmlj
ZSk7Ci0gICAgdGhpcy5kZXZpY2VzQnlHdWlkXy5zZXQoZGV2aWNlLmd1aWQsIGRldmljZSk7Ci0g
ICAgaWYgKHRoaXMuY2xpZW50XykKLSAgICAgIHRoaXMuY2xpZW50Xy5vbkRldmljZUFkZGVkKGZh
a2VEZXZpY2VJbml0VG9EZXZpY2VJbmZvKGRldmljZS5ndWlkLCBpbmZvKSk7Ci0gIH0KLQotICBy
ZW1vdmVEZXZpY2UoZmFrZURldmljZSkgewotICAgIGxldCBkZXZpY2UgPSB0aGlzLmRldmljZXNf
LmdldChmYWtlRGV2aWNlKTsKLSAgICBpZiAoIWRldmljZSkKLSAgICAgIHRocm93IG5ldyBFcnJv
cignQ2Fubm90IHJlbW92ZSB1bmtub3duIGRldmljZS4nKTsKLQotICAgIGZvciAodmFyIGJpbmRp
bmcgb2YgZGV2aWNlLmJpbmRpbmdBcnJheSkKLSAgICAgIGJpbmRpbmcuY2xvc2UoKTsKLSAgICB0
aGlzLmRldmljZXNfLmRlbGV0ZShkZXZpY2UuZmFrZURldmljZSk7Ci0gICAgdGhpcy5kZXZpY2Vz
QnlHdWlkXy5kZWxldGUoZGV2aWNlLmd1aWQpOwotICAgIGlmICh0aGlzLmNsaWVudF8pIHsKLSAg
ICAgIHRoaXMuY2xpZW50Xy5vbkRldmljZVJlbW92ZWQoCi0gICAgICAgICAgZmFrZURldmljZUlu
aXRUb0RldmljZUluZm8oZGV2aWNlLmd1aWQsIGRldmljZS5pbmZvKSk7Ci0gICAgfQotICB9Ci0K
LSAgcmVtb3ZlQWxsRGV2aWNlcygpIHsKLSAgICB0aGlzLmRldmljZXNfLmZvckVhY2goZGV2aWNl
ID0+IHsKLSAgICAgIGZvciAodmFyIGJpbmRpbmcgb2YgZGV2aWNlLmJpbmRpbmdBcnJheSkKLSAg
ICAgICAgYmluZGluZy5jbG9zZSgpOwotICAgICAgdGhpcy5jbGllbnRfLm9uRGV2aWNlUmVtb3Zl
ZCgKLSAgICAgICAgICBmYWtlRGV2aWNlSW5pdFRvRGV2aWNlSW5mbyhkZXZpY2UuZ3VpZCwgZGV2
aWNlLmluZm8pKTsKLSAgICB9KTsKLSAgICB0aGlzLmRldmljZXNfLmNsZWFyKCk7Ci0gICAgdGhp
cy5kZXZpY2VzQnlHdWlkXy5jbGVhcigpOwotICB9Ci0KLSAgZ2V0RGV2aWNlcyhvcHRpb25zKSB7
Ci0gICAgbGV0IGRldmljZXMgPSBbXTsKLSAgICB0aGlzLmRldmljZXNfLmZvckVhY2goZGV2aWNl
ID0+IHsKLSAgICAgIGRldmljZXMucHVzaChmYWtlRGV2aWNlSW5pdFRvRGV2aWNlSW5mbyhkZXZp
Y2UuZ3VpZCwgZGV2aWNlLmluZm8pKTsKLSAgICB9KTsKLSAgICByZXR1cm4gUHJvbWlzZS5yZXNv
bHZlKHsgcmVzdWx0czogZGV2aWNlcyB9KTsKLSAgfQotCi0gIGdldERldmljZShndWlkLCByZXF1
ZXN0KSB7Ci0gICAgbGV0IGRldmljZSA9IHRoaXMuZGV2aWNlc0J5R3VpZF8uZ2V0KGd1aWQpOwot
ICAgIGlmIChkZXZpY2UpIHsKLSAgICAgIGxldCBiaW5kaW5nID0gbmV3IG1vam8uQmluZGluZygK
LSAgICAgICAgICB3aW5kb3cuZGV2aWNlLm1vam9tLlVzYkRldmljZSwgbmV3IEZha2VEZXZpY2Uo
ZGV2aWNlLmluZm8pLCByZXF1ZXN0KTsKLSAgICAgIGJpbmRpbmcuc2V0Q29ubmVjdGlvbkVycm9y
SGFuZGxlcigoKSA9PiB7Ci0gICAgICAgIGlmIChkZXZpY2UuZmFrZURldmljZS5vbmNsb3NlKQot
ICAgICAgICAgIGRldmljZS5mYWtlRGV2aWNlLm9uY2xvc2UoKTsKLSAgICAgIH0pOwotICAgICAg
ZGV2aWNlLmJpbmRpbmdBcnJheS5wdXNoKGJpbmRpbmcpOwotICAgIH0gZWxzZSB7Ci0gICAgICBy
ZXF1ZXN0LmNsb3NlKCk7Ci0gICAgfQotICB9Ci0KLSAgc2V0Q2xpZW50KGNsaWVudCkgewotICAg
IHRoaXMuY2xpZW50XyA9IGNsaWVudDsKLSAgfQotfQotCi1jbGFzcyBVU0JEZXZpY2VSZXF1ZXN0
RXZlbnQgewotICBjb25zdHJ1Y3RvcihkZXZpY2VGaWx0ZXJzLCByZXNvbHZlKSB7Ci0gICAgdGhp
cy5maWx0ZXJzID0gY29udmVydE1vam9EZXZpY2VGaWx0ZXJzKGRldmljZUZpbHRlcnMpOwotICAg
IHRoaXMucmVzb2x2ZUZ1bmNfID0gcmVzb2x2ZTsKLSAgfQotCi0gIHJlc3BvbmRXaXRoKHZhbHVl
KSB7Ci0gICAgLy8gV2FpdCB1bnRpbCB8dmFsdWV8IHJlc29sdmVzIChpZiBpdCBpcyBhIFByb21p
c2UpLiBUaGlzIGZ1bmN0aW9uIHJldHVybnMKLSAgICAvLyBubyB2YWx1ZS4KLSAgICBQcm9taXNl
LnJlc29sdmUodmFsdWUpLnRoZW4oZmFrZURldmljZSA9PiB7Ci0gICAgICBsZXQgZGV2aWNlID0g
aW50ZXJuYWwuZGV2aWNlTWFuYWdlci5kZXZpY2VzXy5nZXQoZmFrZURldmljZSk7Ci0gICAgICBs
ZXQgcmVzdWx0ID0gbnVsbDsKLSAgICAgIGlmIChkZXZpY2UpIHsKLSAgICAgICAgcmVzdWx0ID0g
ZmFrZURldmljZUluaXRUb0RldmljZUluZm8oZGV2aWNlLmd1aWQsIGRldmljZS5pbmZvKTsKLSAg
ICAgIH0KLSAgICAgIHRoaXMucmVzb2x2ZUZ1bmNfKHsgcmVzdWx0OiByZXN1bHQgfSk7Ci0gICAg
fSwgKCkgPT4gewotICAgICAgdGhpcy5yZXNvbHZlRnVuY18oeyByZXN1bHQ6IG51bGwgfSk7Ci0g
ICAgfSk7Ci0gIH0KLX0KLQotY2xhc3MgRmFrZUNob29zZXJTZXJ2aWNlIHsKLSAgY29uc3RydWN0
b3IoKSB7Ci0gICAgdGhpcy5iaW5kaW5nU2V0XyA9IG5ldyBtb2pvLkJpbmRpbmdTZXQoZGV2aWNl
Lm1vam9tLlVzYkNob29zZXJTZXJ2aWNlKTsKLSAgfQotCi0gIGFkZEJpbmRpbmcoaGFuZGxlKSB7
Ci0gICAgdGhpcy5iaW5kaW5nU2V0Xy5hZGRCaW5kaW5nKHRoaXMsIGhhbmRsZSk7Ci0gIH0KLQot
ICBnZXRQZXJtaXNzaW9uKGRldmljZUZpbHRlcnMpIHsKLSAgICByZXR1cm4gbmV3IFByb21pc2Uo
cmVzb2x2ZSA9PiB7Ci0gICAgICBpZiAobmF2aWdhdG9yLnVzYi50ZXN0Lm9ucmVxdWVzdGRldmlj
ZSkgewotICAgICAgICBuYXZpZ2F0b3IudXNiLnRlc3Qub25yZXF1ZXN0ZGV2aWNlKAotICAgICAg
ICAgICAgbmV3IFVTQkRldmljZVJlcXVlc3RFdmVudChkZXZpY2VGaWx0ZXJzLCByZXNvbHZlKSk7
Ci0gICAgICB9IGVsc2UgewotICAgICAgICByZXNvbHZlKHsgcmVzdWx0OiBudWxsIH0pOwotICAg
ICAgfQotICAgIH0pOwotICB9Ci19Ci0KLS8vIFVubGlrZSBGYWtlRGV2aWNlIHRoaXMgY2xhc3Mg
aXMgZXhwb3J0ZWQgdG8gY2FsbGVycyBvZiBVU0JUZXN0LmFkZEZha2VEZXZpY2UuCi1jbGFzcyBG
YWtlVVNCRGV2aWNlIHsKLSAgY29uc3RydWN0b3IoKSB7Ci0gICAgdGhpcy5vbmNsb3NlID0gbnVs
bDsKLSAgfQotCi0gIGRpc2Nvbm5lY3QoKSB7Ci0gICAgc2V0VGltZW91dCgoKSA9PiBpbnRlcm5h
bC5kZXZpY2VNYW5hZ2VyLnJlbW92ZURldmljZSh0aGlzKSwgMCk7Ci0gIH0KLX0KLQotLy8gQSBo
ZWxwZXIgZm9yIGZvcndhcmRpbmcgTW9qb0hhbmRsZSBpbnN0YW5jZXMgZnJvbSBvbmUgZnJhbWUg
dG8gYW5vdGhlci4KLWNsYXNzIENyb3NzRnJhbWVIYW5kbGVQcm94eSB7Ci0gIGNvbnN0cnVjdG9y
KGNhbGxiYWNrKSB7Ci0gICAgbGV0IHtoYW5kbGUwLCBoYW5kbGUxfSA9IE1vam8uY3JlYXRlTWVz
c2FnZVBpcGUoKTsKLSAgICB0aGlzLnNlbmRlcl8gPSBoYW5kbGUwOwotICAgIHRoaXMucmVjZWl2
ZXJfID0gaGFuZGxlMTsKLSAgICB0aGlzLnJlY2VpdmVyXy53YXRjaCh7cmVhZGFibGU6IHRydWV9
LCAoKSA9PiB7Ci0gICAgICBsZXQgbWVzc2FnZSA9IHRoaXMucmVjZWl2ZXJfLnJlYWRNZXNzYWdl
KCk7Ci0gICAgICBhc3NlcnRfZXF1YWxzKG1lc3NhZ2UuYnVmZmVyLmJ5dGVMZW5ndGgsIDApOwot
ICAgICAgYXNzZXJ0X2VxdWFscyhtZXNzYWdlLmhhbmRsZXMubGVuZ3RoLCAxKTsKLSAgICAgIGNh
bGxiYWNrKG1lc3NhZ2UuaGFuZGxlc1swXSk7Ci0gICAgfSk7Ci0gIH0KLQotICBmb3J3YXJkSGFu
ZGxlKGhhbmRsZSkgewotICAgIHRoaXMuc2VuZGVyXy53cml0ZU1lc3NhZ2UobmV3IEFycmF5QnVm
ZmVyLCBbaGFuZGxlXSk7Ci0gIH0KLX0KLQotY2xhc3MgVVNCVGVzdCB7Ci0gIGNvbnN0cnVjdG9y
KCkgewotICAgIHRoaXMub25yZXF1ZXN0ZGV2aWNlID0gdW5kZWZpbmVkOwotICB9Ci0KLSAgYXN5
bmMgaW5pdGlhbGl6ZSgpIHsKLSAgICBpZiAoaW50ZXJuYWwuaW5pdGlhbGl6ZWQpCi0gICAgICBy
ZXR1cm47Ci0KLSAgICBpbnRlcm5hbC5kZXZpY2VNYW5hZ2VyID0gbmV3IEZha2VEZXZpY2VNYW5h
Z2VyKCk7Ci0gICAgaW50ZXJuYWwuZGV2aWNlTWFuYWdlckludGVyY2VwdG9yID0KLSAgICAgICAg
bmV3IE1vam9JbnRlcmZhY2VJbnRlcmNlcHRvcihkZXZpY2UubW9qb20uVXNiRGV2aWNlTWFuYWdl
ci5uYW1lKTsKLSAgICBpbnRlcm5hbC5kZXZpY2VNYW5hZ2VySW50ZXJjZXB0b3Iub25pbnRlcmZh
Y2VyZXF1ZXN0ID0KLSAgICAgICAgZSA9PiBpbnRlcm5hbC5kZXZpY2VNYW5hZ2VyLmFkZEJpbmRp
bmcoZS5oYW5kbGUpOwotICAgIGludGVybmFsLmRldmljZU1hbmFnZXJJbnRlcmNlcHRvci5zdGFy
dCgpOwotICAgIGludGVybmFsLmRldmljZU1hbmFnZXJDcm9zc0ZyYW1lUHJveHkgPSBuZXcgQ3Jv
c3NGcmFtZUhhbmRsZVByb3h5KAotICAgICAgICBoYW5kbGUgPT4gaW50ZXJuYWwuZGV2aWNlTWFu
YWdlci5hZGRCaW5kaW5nKGhhbmRsZSkpOwotCi0gICAgaW50ZXJuYWwuY2hvb3NlciA9IG5ldyBG
YWtlQ2hvb3NlclNlcnZpY2UoKTsKLSAgICBpbnRlcm5hbC5jaG9vc2VySW50ZXJjZXB0b3IgPQot
ICAgICAgICBuZXcgTW9qb0ludGVyZmFjZUludGVyY2VwdG9yKGRldmljZS5tb2pvbS5Vc2JDaG9v
c2VyU2VydmljZS5uYW1lKTsKLSAgICBpbnRlcm5hbC5jaG9vc2VySW50ZXJjZXB0b3Iub25pbnRl
cmZhY2VyZXF1ZXN0ID0KLSAgICAgICAgZSA9PiBpbnRlcm5hbC5jaG9vc2VyLmFkZEJpbmRpbmco
ZS5oYW5kbGUpOwotICAgIGludGVybmFsLmNob29zZXJJbnRlcmNlcHRvci5zdGFydCgpOwotICAg
IGludGVybmFsLmNob29zZXJDcm9zc0ZyYW1lUHJveHkgPSBuZXcgQ3Jvc3NGcmFtZUhhbmRsZVBy
b3h5KAotICAgICAgICBoYW5kbGUgPT4gaW50ZXJuYWwuY2hvb3Nlci5hZGRCaW5kaW5nKGhhbmRs
ZSkpOwotCi0gICAgLy8gV2FpdCBmb3IgYSBjYWxsIHRvIEdldERldmljZXMoKSB0byBwYXNzIGJl
dHdlZW4gdGhlIHJlbmRlcmVyIGFuZCB0aGUKLSAgICAvLyBtb2NrIGluIG9yZGVyIHRvIGVzdGFi
bGlzaCB0aGF0IGV2ZXJ5dGhpbmcgaXMgc2V0IHVwLgotICAgIGF3YWl0IG5hdmlnYXRvci51c2Iu
Z2V0RGV2aWNlcygpOwotICAgIGludGVybmFsLmluaXRpYWxpemVkID0gdHJ1ZTsKLSAgfQotCi0g
IGFzeW5jIGF0dGFjaFRvV2luZG93KG90aGVyV2luZG93KSB7Ci0gICAgaWYgKCFpbnRlcm5hbC5p
bml0aWFsaXplZCkKLSAgICAgIHRocm93IG5ldyBFcnJvcignQ2FsbCBpbml0aWFsaXplKCkgYmVm
b3JlIGF0dGFjaFRvV2luZG93KCkuJyk7Ci0KLSAgICBvdGhlcldpbmRvdy5kZXZpY2VNYW5hZ2Vy
SW50ZXJjZXB0b3IgPQotICAgICAgICBuZXcgb3RoZXJXaW5kb3cuTW9qb0ludGVyZmFjZUludGVy
Y2VwdG9yKAotICAgICAgICAgICAgZGV2aWNlLm1vam9tLlVzYkRldmljZU1hbmFnZXIubmFtZSk7
Ci0gICAgb3RoZXJXaW5kb3cuZGV2aWNlTWFuYWdlckludGVyY2VwdG9yLm9uaW50ZXJmYWNlcmVx
dWVzdCA9Ci0gICAgICAgIGUgPT4gaW50ZXJuYWwuZGV2aWNlTWFuYWdlckNyb3NzRnJhbWVQcm94
eS5mb3J3YXJkSGFuZGxlKGUuaGFuZGxlKTsKLSAgICBvdGhlcldpbmRvdy5kZXZpY2VNYW5hZ2Vy
SW50ZXJjZXB0b3Iuc3RhcnQoKTsKLQotICAgIG90aGVyV2luZG93LmNob29zZXJJbnRlcmNlcHRv
ciA9Ci0gICAgICAgIG5ldyBvdGhlcldpbmRvdy5Nb2pvSW50ZXJmYWNlSW50ZXJjZXB0b3IoCi0g
ICAgICAgICAgICBkZXZpY2UubW9qb20uVXNiQ2hvb3NlclNlcnZpY2UubmFtZSk7Ci0gICAgb3Ro
ZXJXaW5kb3cuY2hvb3NlckludGVyY2VwdG9yLm9uaW50ZXJmYWNlcmVxdWVzdCA9Ci0gICAgICAg
IGUgPT4gaW50ZXJuYWwuY2hvb3NlckNyb3NzRnJhbWVQcm94eS5mb3J3YXJkSGFuZGxlKGUuaGFu
ZGxlKTsKLSAgICBvdGhlcldpbmRvdy5jaG9vc2VySW50ZXJjZXB0b3Iuc3RhcnQoKTsKLQotICAg
IC8vIFdhaXQgZm9yIGEgY2FsbCB0byBHZXREZXZpY2VzKCkgdG8gcGFzcyBiZXR3ZWVuIHRoZSBy
ZW5kZXJlciBhbmQgdGhlCi0gICAgLy8gbW9jayBpbiBvcmRlciB0byBlc3RhYmxpc2ggdGhhdCBl
dmVyeXRoaW5nIGlzIHNldCB1cC4KLSAgICBhd2FpdCBvdGhlcldpbmRvdy5uYXZpZ2F0b3IudXNi
LmdldERldmljZXMoKTsKLSAgfQotCi0gIGFkZEZha2VEZXZpY2UoZGV2aWNlSW5pdCkgewotICAg
IGlmICghaW50ZXJuYWwuaW5pdGlhbGl6ZWQpCi0gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0NhbGwg
aW5pdGlhbGl6ZSgpIGJlZm9yZSBhZGRGYWtlRGV2aWNlKCkuJyk7Ci0KLSAgICAvLyB8YWRkRGV2
aWNlfCBhbmQgfHJlbW92ZURldmljZXwgYXJlIGNhbGxlZCBpbiBhIHNldFRpbWVvdXQgY2FsbGJh
Y2sgc28KLSAgICAvLyB0aGF0IHRlc3RzIGRvIG5vdCByZWx5IG9uIHRoZSBkZXZpY2UgYmVpbmcg
aW1tZWRpYXRlbHkgYXZhaWxhYmxlIHdoaWNoCi0gICAgLy8gbWF5IG5vdCBiZSB0cnVlIGZvciBh
bGwgaW1wbGVtZW50YXRpb25zIG9mIHRoaXMgdGVzdCBBUEkuCi0gICAgbGV0IGZha2VEZXZpY2Ug
PSBuZXcgRmFrZVVTQkRldmljZSgpOwotICAgIHNldFRpbWVvdXQoCi0gICAgICAgICgpID0+IGlu
dGVybmFsLmRldmljZU1hbmFnZXIuYWRkRGV2aWNlKGZha2VEZXZpY2UsIGRldmljZUluaXQpLCAw
KTsKLSAgICByZXR1cm4gZmFrZURldmljZTsKLSAgfQotCi0gIHJlc2V0KCkgewotICAgIGlmICgh
aW50ZXJuYWwuaW5pdGlhbGl6ZWQpCi0gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0NhbGwgaW5pdGlh
bGl6ZSgpIGJlZm9yZSByZXNldCgpLicpOwotCi0gICAgLy8gUmVzZXQgdGhlIG1vY2tzIGluIGEg
c2V0VGltZW91dCBjYWxsYmFjayBzbyB0aGF0IHRlc3RzIGRvIG5vdCByZWx5IG9uCi0gICAgLy8g
dGhlIGZhY3QgdGhhdCB0aGlzIHBvbHlmaWxsIGNhbiBkbyB0aGlzIHN5bmNocm9ub3VzbHkuCi0g
ICAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4gewotICAgICAgc2V0VGltZW91dCgoKSA9
PiB7Ci0gICAgICAgIGludGVybmFsLmRldmljZU1hbmFnZXIucmVtb3ZlQWxsRGV2aWNlcygpOwot
ICAgICAgICByZXNvbHZlKCk7Ci0gICAgICB9LCAwKTsKLSAgICB9KTsKLSAgfQotfQotCi1uYXZp
Z2F0b3IudXNiLnRlc3QgPSBuZXcgVVNCVGVzdCgpOwotCi19KSgpOwpJbmRleDogTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vd2Vi
dXNiLXRlc3QuanMuaGVhZGVycwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS93ZWJ1c2ItdGVzdC5qcy5o
ZWFkZXJzCShyZXZpc2lvbiAyNTI4OTYpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS93ZWJ1c2ItdGVzdC5qcy5oZWFkZXJz
CShub25leGlzdGVudCkKQEAgLTEgKzAsMCBAQAotQ29udGVudC1UeXBlOiB0ZXh0L2phdmFzY3Jp
cHQ7IGNoYXJzZXQ9dXRmLTgKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL2RvY3MvYXBpLm1kCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2RvY3MvYXBpLm1k
CShyZXZpc2lvbiAyNTI4OTYpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy9kb2NzL2FwaS5tZAkobm9uZXhpc3RlbnQpCkBAIC0xLDcwNCAr
MCwwIEBACi0jIyBJbnRyb2R1Y3Rpb24gIyMKLQotdGVzdGhhcm5lc3MuanMgcHJvdmlkZXMgYSBm
cmFtZXdvcmsgZm9yIHdyaXRpbmcgdGVzdGNhc2VzLiBJdCBpcyBpbnRlbmRlZCB0bwotcHJvdmlk
ZSBhIGNvbnZlbmllbnQgQVBJIGZvciBtYWtpbmcgY29tbW9uIGFzc2VydGlvbnMsIGFuZCB0byB3
b3JrIGJvdGgKLWZvciB0ZXN0aW5nIHN5bmNocm9ub3VzIGFuZCBhc3luY2hyb25vdXMgRE9NIGZl
YXR1cmVzIGluIGEgd2F5IHRoYXQKLXByb21vdGVzIGNsZWFyLCByb2J1c3QsIHRlc3RzLgotCi0j
IyBCYXNpYyBVc2FnZSAjIwotCi1UaGUgdGVzdCBoYXJuZXNzIHNjcmlwdCBjYW4gYmUgdXNlZCBm
cm9tIEhUTUwgb3IgU1ZHIGRvY3VtZW50cyBhbmQgd2ViIHdvcmtlcgotc2NyaXB0cy4KLQotRnJv
bSBhbiBIVE1MIG9yIFNWRyBkb2N1bWVudCwgc3RhcnQgYnkgaW1wb3J0aW5nIGJvdGggYHRlc3Ro
YXJuZXNzLmpzYCBhbmQKLWB0ZXN0aGFybmVzc3JlcG9ydC5qc2Agc2NyaXB0cyBpbnRvIHRoZSBk
b2N1bWVudDoKLQotYGBgaHRtbAotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgotYGBgCi0KLVJlZmVyIHRvIHRoZSBbV2ViIFdvcmtlcnNdKCN3ZWItd29y
a2Vycykgc2VjdGlvbiBmb3IgZGV0YWlscyBhbmQgYW4gZXhhbXBsZSBvbgotdGVzdGluZyB3aXRo
aW4gYSB3ZWIgd29ya2VyLgotCi1XaXRoaW4gZWFjaCBmaWxlIG9uZSBtYXkgZGVmaW5lIG9uZSBv
ciBtb3JlIHRlc3RzLiBFYWNoIHRlc3QgaXMgYXRvbWljIGluIHRoZQotc2Vuc2UgdGhhdCBhIHNp
bmdsZSB0ZXN0IGhhcyBhIHNpbmdsZSByZXN1bHQgKGBQQVNTYC9gRkFJTGAvYFRJTUVPVVRgL2BO
T1RSVU5gKS4KLVdpdGhpbiBlYWNoIHRlc3Qgb25lIG1heSBoYXZlIGEgbnVtYmVyIG9mIGFzc2Vy
dHMuIFRoZSB0ZXN0IGZhaWxzIGF0IHRoZSBmaXJzdAotZmFpbGluZyBhc3NlcnQsIGFuZCB0aGUg
cmVtYWluZGVyIG9mIHRoZSB0ZXN0IGlzICh0eXBpY2FsbHkpIG5vdCBydW4uCi0KLUlmIHRoZSBm
aWxlIGNvbnRhaW5pbmcgdGhlIHRlc3RzIGlzIGEgSFRNTCBmaWxlLCBhIHRhYmxlIGNvbnRhaW5p
bmcgdGhlIHRlc3QKLXJlc3VsdHMgd2lsbCBiZSBhZGRlZCB0byB0aGUgZG9jdW1lbnQgYWZ0ZXIg
YWxsIHRlc3RzIGhhdmUgcnVuLiBCeSBkZWZhdWx0IHRoaXMKLXdpbGwgYmUgYWRkZWQgdG8gYSBg
ZGl2YCBlbGVtZW50IHdpdGggYGlkPWxvZ2AgaWYgaXQgZXhpc3RzLCBvciBhIG5ldyBgZGl2YAot
ZWxlbWVudCBhcHBlbmRlZCB0byBgZG9jdW1lbnQuYm9keWAgaWYgaXQgZG9lcyBub3QuCi0KLU5P
VEU6IEJ5IGRlZmF1bHQgdGVzdHMgbXVzdCBiZSBjcmVhdGVkIGJlZm9yZSB0aGUgbG9hZCBldmVu
dCBmaXJlcy4gRm9yIHdheXMKLXRvIGNyZWF0ZSB0ZXN0cyBhZnRlciB0aGUgbG9hZCBldmVudCwg
c2VlICJEZXRlcm1pbmluZyB3aGVuIGFsbCB0ZXN0cwotYXJlIGNvbXBsZXRlIiwgYmVsb3cuCi0K
LSMjIFN5bmNocm9ub3VzIFRlc3RzICMjCi0KLVRvIGNyZWF0ZSBhIHN5bmNocm9ub3VzIHRlc3Qg
dXNlIHRoZSBgdGVzdCgpYCBmdW5jdGlvbjoKLQotYGBganMKLXRlc3QodGVzdF9mdW5jdGlvbiwg
bmFtZSwgcHJvcGVydGllcykKLWBgYAotCi1gdGVzdF9mdW5jdGlvbmAgaXMgYSBmdW5jdGlvbiB0
aGF0IGNvbnRhaW5zIHRoZSBjb2RlIHRvIHRlc3QuIEZvciBleGFtcGxlIGEKLXRyaXZpYWwgdGVz
dCBmb3IgdGhlIERPTQotW2BoYXNGZWF0dXJlKClgXShodHRwczovL2RvbS5zcGVjLndoYXR3Zy5v
cmcvI2RvbS1kb21pbXBsZW1lbnRhdGlvbi1oYXNmZWF0dXJlKQotbWV0aG9kICh3aGljaCBpcyBk
ZWZpbmVkIHRvIGFsd2F5cyByZXR1cm4gdHJ1ZSkgd291bGQgYmU6Ci0KLWBgYGpzCi10ZXN0KGZ1
bmN0aW9uKCkgewotICBhc3NlcnRfdHJ1ZShkb2N1bWVudC5pbXBsZW1lbnRhdGlvbi5oYXNGZWF0
dXJlKCkpOwotfSwgImhhc0ZlYXR1cmUoKSB3aXRoIG5vIGFyZ3VtZW50cyIpCi1gYGAKLQotVGhl
IGZ1bmN0aW9uIHBhc3NlZCBpbiBpcyBydW4gaW4gdGhlIGB0ZXN0KClgIGNhbGwuCi0KLWBwcm9w
ZXJ0aWVzYCBpcyBhIGphdmFzY3JpcHQgb2JqZWN0IGZvciBwYXNzaW5nIGV4dHJhIG9wdGlvbnMg
dG8gdGhlCi10ZXN0LiBDdXJyZW50bHkgaXQgaXMgb25seSB1c2VkIHRvIHByb3ZpZGUgdGVzdC1z
cGVjaWZpYwotbWV0YWRhdGEsIGFzIGRlc2NyaWJlZCBpbiB0aGUgW21ldGFkYXRhXSgjbWV0YWRh
dGEpIHNlY3Rpb24gYmVsb3cuCi0KLSMjIEFzeW5jaHJvbm91cyBUZXN0cyAjIwotCi1UZXN0aW5n
IGFzeW5jaHJvbm91cyBmZWF0dXJlcyBpcyBzb21ld2hhdCBtb3JlIGNvbXBsZXggc2luY2UgdGhl
IHJlc3VsdCBvZgotYSB0ZXN0IG1heSBkZXBlbmQgb24gb25lIG9yIG1vcmUgZXZlbnRzIG9yIG90
aGVyIGNhbGxiYWNrcy4gVGhlIEFQSSBwcm92aWRlZAotZm9yIHRlc3RpbmcgdGhlc2UgZmVhdHVy
ZXMgaXMgaW50ZW5kZWQgdG8gYmUgcmF0aGVyIGxvdy1sZXZlbCBidXQgaG9wZWZ1bGx5Ci1hcHBs
aWNhYmxlIHRvIG1hbnkgc2l0dWF0aW9ucy4KLQotVG8gY3JlYXRlIGEgdGVzdCwgb25lIHN0YXJ0
cyBieSBnZXR0aW5nIGEgYFRlc3RgIG9iamVjdCB1c2luZyBgYXN5bmNfdGVzdGA6Ci0KLWBgYGpz
Ci1hc3luY190ZXN0KG5hbWUsIHByb3BlcnRpZXMpCi1gYGAKLQotZS5nLgotCi1gYGBqcwotdmFy
IHQgPSBhc3luY190ZXN0KCJET01Db250ZW50TG9hZGVkIikKLWBgYAotCi1Bc3NlcnRpb25zIGNh
biBiZSBhZGRlZCB0byB0aGUgdGVzdCBieSBjYWxsaW5nIHRoZSBzdGVwIG1ldGhvZCBvZiB0aGUg
dGVzdAotb2JqZWN0IHdpdGggYSBmdW5jdGlvbiBjb250YWluaW5nIHRoZSB0ZXN0IGFzc2VydGlv
bnM6Ci0KLWBgYGpzCi1kb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVk
IiwgZnVuY3Rpb24oKSB7Ci0gIHQuc3RlcChmdW5jdGlvbigpIHsKLSAgICBhc3NlcnRfdHJ1ZShl
LmJ1YmJsZXMsICJidWJibGVzIHNob3VsZCBiZSB0cnVlIik7Ci0gIH0pOwotfSk7Ci1gYGAKLQot
V2hlbiBhbGwgdGhlIHN0ZXBzIGFyZSBjb21wbGV0ZSwgdGhlIGBkb25lKClgIG1ldGhvZCBtdXN0
IGJlIGNhbGxlZDoKLQotYGBganMKLXQuZG9uZSgpOwotYGBgCi0KLUFzIGEgY29udmVuaWVuY2Us
IGBhc3luY190ZXN0YCBjYW4gYWxzbyB0YWtlcyBhIGZ1bmN0aW9uIGFzIGZpcnN0IGFyZ3VtZW50
LgotVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgd2l0aCB0aGUgdGVzdCBvYmplY3QgYXMgYm90aCBp
dHMgYHRoaXNgIG9iamVjdCBhbmQKLWZpcnN0IGFyZ3VtZW50LiBUaGUgYWJvdmUgZXhhbXBsZSBj
YW4gYmUgcmV3cml0dGVuIGFzOgotCi1gYGBqcwotYXN5bmNfdGVzdChmdW5jdGlvbih0KSB7Ci0g
IGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLCBmdW5jdGlvbigp
IHsKLSAgICB0LnN0ZXAoZnVuY3Rpb24oKSB7Ci0gICAgICBhc3NlcnRfdHJ1ZShlLmJ1YmJsZXMs
ICJidWJibGVzIHNob3VsZCBiZSB0cnVlIik7Ci0gICAgfSk7Ci0gICAgdC5kb25lKCk7Ci0gIH0p
OwotfSwgIkRPTUNvbnRlbnRMb2FkZWQiKTsKLWBgYAotCi13aGljaCBhdm9pZHMgY2x1dHRlcmlu
ZyB0aGUgZ2xvYmFsIHNjb3BlIHdpdGggcmVmZXJlbmNlcyB0byBhc3luYwotdGVzdHMgaW5zdGFu
Y2VzLgotCi1UaGUgcHJvcGVydGllcyBhcmd1bWVudCBpcyBpZGVudGljYWwgdG8gdGhhdCBmb3Ig
YHRlc3QoKWAuCi0KLUluIG1hbnkgY2FzZXMgaXQgaXMgY29udmVuaWVudCB0byBydW4gYSBzdGVw
IGluIHJlc3BvbnNlIHRvIGFuIGV2ZW50IG9yIGEKLWNhbGxiYWNrLiBBIGNvbnZlbmllbnQgbWV0
aG9kIG9mIGRvaW5nIHRoaXMgaXMgdGhyb3VnaCB0aGUgYHN0ZXBfZnVuY2AgbWV0aG9kCi13aGlj
aCByZXR1cm5zIGEgZnVuY3Rpb24gdGhhdCwgd2hlbiBjYWxsZWQgcnVucyBhIHRlc3Qgc3RlcC4g
Rm9yIGV4YW1wbGUKLQotYGBganMKLWRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoIkRPTUNvbnRl
bnRMb2FkZWQiLCB0LnN0ZXBfZnVuYyhmdW5jdGlvbigpIHsKLSAgYXNzZXJ0X3RydWUoZS5idWJi
bGVzLCAiYnViYmxlcyBzaG91bGQgYmUgdHJ1ZSIpOwotICB0LmRvbmUoKTsKLX0pOwotYGBgCi0K
LUFzIGEgZnVydGhlciBjb252ZW5pZW5jZSwgdGhlIGBzdGVwX2Z1bmNgIHRoYXQgY2FsbHMgYGRv
bmUoKWAgY2FuIGluc3RlYWQKLXVzZSBgc3RlcF9mdW5jX2RvbmVgLCBhcyBmb2xsb3dzOgotCi1g
YGBqcwotZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsIHQuc3Rl
cF9mdW5jX2RvbmUoZnVuY3Rpb24oKSB7Ci0gIGFzc2VydF90cnVlKGUuYnViYmxlcywgImJ1YmJs
ZXMgc2hvdWxkIGJlIHRydWUiKTsKLX0pOwotYGBgCi0KLUZvciBhc3luY2hyb25vdXMgY2FsbGJh
Y2tzIHRoYXQgc2hvdWxkIG5ldmVyIGV4ZWN1dGUsIGB1bnJlYWNoZWRfZnVuY2AgY2FuCi1iZSB1
c2VkLiBGb3IgZXhhbXBsZToKLQotYGBganMKLWRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5hZGRF
dmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIiwKLSAgdC51bnJlYWNoZWRfZnVuYygiRE9N
Q29udGVudExvYWRlZCBzaG91bGQgbm90IGJlIGZpcmVkIG9uIHRoZSBkb2N1bWVudCBlbGVtZW50
IikpOwotYGBgCi0KLUtlZXAgaW4gbWluZCB0aGF0IG90aGVyIHRlc3RzIGNvdWxkIHN0YXJ0IGV4
ZWN1dGluZyBiZWZvcmUgYW4gQXN5bmNocm9ub3VzCi1UZXN0IGlzIGZpbmlzaGVkLgotCi0jIyBQ
cm9taXNlIFRlc3RzICMjCi0KLWBwcm9taXNlX3Rlc3RgIGNhbiBiZSB1c2VkIHRvIHRlc3QgQVBJ
cyB0aGF0IGFyZSBiYXNlZCBvbiBQcm9taXNlczoKLQotYGBganMKLXByb21pc2VfdGVzdCh0ZXN0
X2Z1bmN0aW9uLCBuYW1lLCBwcm9wZXJ0aWVzKQotYGBgCi0KLWB0ZXN0X2Z1bmN0aW9uYCBpcyBh
IGZ1bmN0aW9uIHRoYXQgcmVjZWl2ZXMgYSB0ZXN0IGFzIGFuIGFyZ3VtZW50IGFuZCByZXR1cm5z
IGEKLXByb21pc2UuIFRoZSB0ZXN0IGNvbXBsZXRlcyB3aGVuIHRoZSByZXR1cm5lZCBwcm9taXNl
IHJlc29sdmVzLiBUaGUgdGVzdCBmYWlscwotaWYgdGhlIHJldHVybmVkIHByb21pc2UgcmVqZWN0
cy4KLQotRS5nLjoKLQotYGBganMKLWZ1bmN0aW9uIGZvbygpIHsKLSAgcmV0dXJuIFByb21pc2Uu
cmVzb2x2ZSgiZm9vIik7Ci19Ci0KLXByb21pc2VfdGVzdChmdW5jdGlvbigpIHsKLSAgcmV0dXJu
IGZvbygpCi0gICAgLnRoZW4oZnVuY3Rpb24ocmVzdWx0KSB7Ci0gICAgICBhc3NlcnRfZXF1YWxz
KHJlc3VsdCwgImZvbyIsICJmb28gc2hvdWxkIHJldHVybiAnZm9vJyIpOwotICAgIH0pOwotfSwg
IlNpbXBsZSBleGFtcGxlIik7Ci1gYGAKLQotSW4gdGhlIGV4YW1wbGUgYWJvdmUsIGBmb28oKWAg
cmV0dXJucyBhIFByb21pc2UgdGhhdCByZXNvbHZlcyB3aXRoIHRoZSBzdHJpbmcKLSJmb28iLiBU
aGUgYHRlc3RfZnVuY3Rpb25gIHBhc3NlZCBpbnRvIGBwcm9taXNlX3Rlc3RgIGludm9rZXMgYGZv
b2AgYW5kIGF0dGFjaGVzCi1hIHJlc29sdmUgcmVhY3Rpb24gdGhhdCB2ZXJpZmllcyB0aGUgcmV0
dXJuZWQgdmFsdWUuCi0KLU5vdGUgdGhhdCBpbiB0aGUgcHJvbWlzZSBjaGFpbiBjb25zdHJ1Y3Rl
ZCBpbiBgdGVzdF9mdW5jdGlvbmAgYXNzZXJ0aW9ucyBkb24ndAotbmVlZCB0byB3cmFwcGVkIGlu
IGBzdGVwYCBvciBgc3RlcF9mdW5jYCBjYWxscy4KLQotVW5saWtlIEFzeW5jaHJvbm91cyBUZXN0
cywgUHJvbWlzZSBUZXN0cyBkb24ndCBzdGFydCBydW5uaW5nIHVudGlsIGFmdGVyIHRoZQotcHJl
dmlvdXMgUHJvbWlzZSBUZXN0IGZpbmlzaGVzLgotCi1gcHJvbWlzZV9yZWplY3RzYCBjYW4gYmUg
dXNlZCB0byB0ZXN0IFByb21pc2VzIHRoYXQgbmVlZCB0byByZWplY3Q6Ci0KLWBgYGpzCi1wcm9t
aXNlX3JlamVjdHModGVzdF9vYmplY3QsIGNvZGUsIHByb21pc2UsIGRlc2NyaXB0aW9uKQotYGBg
Ci0KLVRoZSBgY29kZWAgYXJndW1lbnQgaXMgZXF1aXZhbGVudCB0byB0aGUgc2FtZSBhcmd1bWVu
dCB0byB0aGUgYGFzc2VydF90aHJvd3NgCi1mdW5jdGlvbi4KLQotSGVyZSdzIGFuIGV4YW1wbGUg
d2hlcmUgdGhlIGBiYXIoKWAgZnVuY3Rpb24gcmV0dXJucyBhIFByb21pc2UgdGhhdCByZWplY3Rz
Ci13aXRoIGEgVHlwZUVycm9yOgotCi1gYGBqcwotZnVuY3Rpb24gYmFyKCkgewotICByZXR1cm4g
UHJvbWlzZS5yZWplY3QobmV3IFR5cGVFcnJvcigpKTsKLX0KLQotcHJvbWlzZV90ZXN0KGZ1bmN0
aW9uKHQpIHsKLSAgcmV0dXJuIHByb21pc2VfcmVqZWN0cyh0LCBuZXcgVHlwZUVycm9yKCksIGJh
cigpKTsKLX0sICJBbm90aGVyIGV4YW1wbGUiKTsKLWBgYAotCi1gRXZlbnRXYXRjaGVyYCBpcyBh
IGNvbnN0cnVjdG9yIGZ1bmN0aW9uIHRoYXQgYWxsb3dzIERPTSBldmVudHMgdG8gYmUgaGFuZGxl
ZAotdXNpbmcgUHJvbWlzZXMsIHdoaWNoIGNhbiBtYWtlIGl0IGEgbG90IGVhc2llciB0byB0ZXN0
IGEgdmVyeSBzcGVjaWZpYyBzZXJpZXMKLW9mIGV2ZW50cywgaW5jbHVkaW5nIGVuc3VyaW5nIHRo
YXQgdW5leHBlY3RlZCBldmVudHMgYXJlIG5vdCBmaXJlZCBhdCBhbnkgcG9pbnQuCi0KLUhlcmUn
cyBhbiBleGFtcGxlIG9mIGhvdyB0byB1c2UgYEV2ZW50V2F0Y2hlcmA6Ci0KLWBgYGpzCi12YXIg
dCA9IGFzeW5jX3Rlc3QoIkV2ZW50IG9yZGVyIG9uIGFuaW1hdGlvbiBzdGFydCIpOwotCi12YXIg
YW5pbWF0aW9uID0gd2F0Y2hlZE5vZGUuZ2V0QW5pbWF0aW9ucygpWzBdOwotdmFyIGV2ZW50V2F0
Y2hlciA9IG5ldyBFdmVudFdhdGNoZXIodCwgd2F0Y2hlZE5vZGUsIFsnYW5pbWF0aW9uc3RhcnQn
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAn
YW5pbWF0aW9uaXRlcmF0aW9uJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgJ2FuaW1hdGlvbmVuZCddKTsKLQotZXZlbnRXYXRjaGVyLndhaXRf
Zm9yKCdhbmltYXRpb25zdGFydCcpLnRoZW4odC5zdGVwX2Z1bmMoZnVuY3Rpb24oKSB7Ci0gIGFz
c2VydEV4cGVjdGVkU3RhdGVBdFN0YXJ0T2ZBbmltYXRpb24oKTsKLSAgYW5pbWF0aW9uLmN1cnJl
bnRUaW1lID0gRU5EX1RJTUU7IC8vIHNraXAgdG8gZW5kCi0gIC8vIFdlIGV4cGVjdCB0d28gYW5p
bWF0aW9uaXRlcmF0aW9uIGV2ZW50cyB0aGVuIGFuIGFuaW1hdGlvbmVuZCBldmVudCBvbgotICAv
LyBza2lwcGluZyB0byB0aGUgZW5kIG9mIHRoZSBhbmltYXRpb24uCi0gIHJldHVybiBldmVudFdh
dGNoZXIud2FpdF9mb3IoWydhbmltYXRpb25pdGVyYXRpb24nLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAnYW5pbWF0aW9uaXRlcmF0aW9uJywKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgJ2FuaW1hdGlvbmVuZCddKTsKLX0pKS50aGVuKHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKCkgewotICBhc3NlcnRFeHBlY3RlZFN0YXRlQXRFbmRPZkFuaW1hdGlvbigpOwotICB0LmRv
bmUoKTsKLX0pKTsKLWBgYAotCi1gd2FpdF9mb3JgIGVpdGhlciB0YWtlcyB0aGUgbmFtZSBvZiBh
IHNpbmdsZSBldmVudCBhbmQgcmV0dXJucyBhIFByb21pc2UgdGhhdAotd2lsbCByZXNvbHZlIGFm
dGVyIHRoYXQgZXZlbnQgaXMgZmlyZWQgYXQgdGhlIHdhdGNoZWQgbm9kZSwgb3IgZWxzZSBpdCB0
YWtlcyBhbgotYXJyYXkgb2YgdGhlIG5hbWVzIG9mIGEgc2VyaWVzIG9mIGV2ZW50cyBhbmQgcmV0
dXJucyBhIFByb21pc2UgdGhhdCB3aWxsCi1yZXNvbHZlIGFmdGVyIHRoYXQgc3BlY2lmaWMgc2Vy
aWVzIG9mIGV2ZW50cyBoYXMgYmVlbiBmaXJlZCBhdCB0aGUgd2F0Y2hlZCBub2RlLgotCi1gRXZl
bnRXYXRjaGVyYCB3aWxsIGFzc2VydCBpZiBhbiBldmVudCBvY2N1cnMgd2hpbGUgdGhlcmUgaXMg
bm8gYHdhaXRfZm9yYCgpCi1jcmVhdGVkIFByb21pc2Ugd2FpdGluZyB0byBiZSBmdWxmaWxsZWQs
IG9yIGlmIHRoZSBldmVudCBpcyBvZiBhIGRpZmZlcmVudCB0eXBlCi10byB0aGUgdHlwZSBjdXJy
ZW50bHkgZXhwZWN0ZWQuIFRoaXMgZW5zdXJlcyB0aGF0IG9ubHkgdGhlIGV2ZW50cyB0aGF0IGFy
ZQotZXhwZWN0ZWQgb2NjdXIsIGluIHRoZSBjb3JyZWN0IG9yZGVyLCBhbmQgd2l0aCB0aGUgY29y
cmVjdCB0aW1pbmcuCi0KLSMjIFNpbmdsZSBQYWdlIFRlc3RzICMjCi0KLVNvbWV0aW1lcywgcGFy
dGljdWxhcmx5IHdoZW4gZGVhbGluZyB3aXRoIGFzeW5jaHJvbm91cyBiZWhhdmlvdXIsCi1oYXZp
bmcgZXhhY3RseSBvbmUgdGVzdCBwZXIgcGFnZSBpcyBkZXNpcmFibGUsIGFuZCB0aGUgb3Zlcmhl
YWQgb2YKLXdyYXBwaW5nIGV2ZXJ5dGhpbmcgaW4gZnVuY3Rpb25zIGZvciBpc29sYXRpb24gYmVj
b21lcwotYnVyZGVuc29tZS4gRm9yIHRoZXNlIGNhc2VzIGB0ZXN0aGFybmVzcy5qc2Agc3VwcG9y
dCAic2luZ2xlIHBhZ2UKLXRlc3RzIi4KLQotSW4gb3JkZXIgZm9yIGEgdGVzdCB0byBiZSBpbnRl
cnByZXRlZCBhcyBhIHNpbmdsZSBwYWdlIHRlc3QsIHRoZW4KLWl0IG11c3Qgc2ltcGx5IG5vdCBj
YWxsIGB0ZXN0KClgIG9yIGBhc3luY190ZXN0KClgIGFueXdoZXJlIG9uIHRoZSBwYWdlLCBhbmQK
LW11c3QgY2FsbCB0aGUgYGRvbmUoKWAgZnVuY3Rpb24gdG8gaW5kaWNhdGUgdGhhdCB0aGUgdGVz
dCBpcyBjb21wbGV0ZS4gQWxsCi10aGUgYGFzc2VydF8qYCBmdW5jdGlvbnMgYXJlIGF2YWxpYWJs
ZSBhcyBub3JtYWwsIGJ1dCBhcmUgY2FsbGVkIHdpdGhvdXQKLXRoZSBub3JtYWwgc3RlcCBmdW5j
dGlvbiB3cmFwcGVyLiBGb3IgZXhhbXBsZToKLQotYGBgaHRtbAotPCFkb2N0eXBlIGh0bWw+Ci08
dGl0bGU+QmFzaWMgZG9jdW1lbnQuYm9keSB0ZXN0PC90aXRsZT4KLTxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxib2R5PgotICA8c2NyaXB0PgotICAg
IGFzc2VydF9lcXVhbHMoZG9jdW1lbnQuYm9keSwgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05h
bWUoImJvZHkiKVswXSkKLSAgICBkb25lKCkKLSA8L3NjcmlwdD4KLWBgYAotCi1UaGUgdGVzdCB0
aXRsZSBmb3Igc2luZ2xlIHBhZ2UgdGVzdHMgaXMgYWx3YXlzIHRha2VuIGZyb20gYGRvY3VtZW50
LnRpdGxlYC4KLQotIyMgTWFraW5nIGFzc2VydGlvbnMgIyMKLQotRnVuY3Rpb25zIGZvciBtYWtp
bmcgYXNzZXJ0aW9ucyBzdGFydCBgYXNzZXJ0X2AuIFRoZSBmdWxsIGxpc3Qgb2YKLWFzc2VydHMg
YXZhbGlhYmxlIGlzIGRvY3VtZW50ZWQgaW4gdGhlIFthc3NlcnRzXSgjbGlzdC1vZi1hc3NlcnRp
b25zKSBzZWN0aW9uCi1iZWxvdy4gVGhlIGdlbmVyYWwgc2lnbmF0dXJlIGlzCi0KLWBgYGpzCi1h
c3NlcnRfc29tZXRoaW5nKGFjdHVhbCwgZXhwZWN0ZWQsIGRlc2NyaXB0aW9uKQotYGBgCi0KLWFs
dGhvdWdoIG5vdCBhbGwgYXNzZXJ0aW9ucyBwcmVjaXNlbHkgbWF0Y2ggdGhpcyBwYXR0ZXJuIGUu
Zy4gYGFzc2VydF90cnVlYAotb25seSB0YWtlcyBgYWN0dWFsYCBhbmQgYGRlc2NyaXB0aW9uYCBh
cyBhcmd1bWVudHMuCi0KLVRoZSBkZXNjcmlwdGlvbiBwYXJhbWV0ZXIgaXMgdXNlZCB0byBwcmVz
ZW50IG1vcmUgdXNlZnVsIGVycm9yIG1lc3NhZ2VzIHdoZW4KLWEgdGVzdCBmYWlscwotCi1OT1RF
OiBBbGwgYXNzZXJ0cyBtdXN0IGJlIGxvY2F0ZWQgaW4gYSBgdGVzdCgpYCBvciBhIHN0ZXAgb2Yg
YW4KLWBhc3luY190ZXN0KClgLCB1bmxlc3MgdGhlIHRlc3QgaXMgYSBzaW5nbGUgcGFnZSB0ZXN0
LiBBc3NlcnRzIG91dHNpZGUKLXRoZXNlIHBsYWNlcyB3b24ndCBiZSBkZXRlY3RlZCBjb3JyZWN0
bHkgYnkgdGhlIGhhcm5lc3MgYW5kIG1heSBjYXVzZQotdW5leHBlY3RlZCBleGNlcHRpb25zIHRo
YXQgd2lsbCBsZWFkIHRvIGFuIGVycm9yIGluIHRoZSBoYXJuZXNzLgotCi0jIyBDbGVhbnVwICMj
Ci0KLU9jY2FzaW9uYWxseSB0ZXN0cyBtYXkgY3JlYXRlIHN0YXRlIHRoYXQgd2lsbCBwZXJzaXN0
IGJleW9uZCB0aGUgdGVzdCBpdHNlbGYuCi1JbiBvcmRlciB0byBlbnN1cmUgdGhhdCB0ZXN0cyBh
cmUgaW5kZXBlbmRlbnQsIHN1Y2ggc3RhdGUgc2hvdWxkIGJlIGNsZWFuZWQKLXVwIG9uY2UgdGhl
IHRlc3QgaGFzIGEgcmVzdWx0LiBUaGlzIGNhbiBiZSBhY2hpZXZlZCBieSBhZGRpbmcgY2xlYW51
cAotY2FsbGJhY2tzIHRvIHRoZSB0ZXN0LiBTdWNoIGNhbGxiYWNrcyBhcmUgcmVnaXN0ZXJlZCB1
c2luZyB0aGUgYGFkZF9jbGVhbnVwYAotZnVuY3Rpb24gb24gdGhlIHRlc3Qgb2JqZWN0LiBBbGwg
cmVnaXN0ZXJlZCBjYWxsYmFja3Mgd2lsbCBiZSBydW4gYXMgc29vbiBhcwotdGhlIHRlc3QgcmVz
dWx0IGlzIGtub3duLiBGb3IgZXhhbXBsZQotCi1gYGBqcwotICB0ZXN0KGZ1bmN0aW9uKCkgewot
ICAgIHZhciBlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7Ci0gICAgZWxl
bWVudC5zZXRBdHRyaWJ1dGUoImlkIiwgIm51bGwiKTsKLSAgICBkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKGVsZW1lbnQpOwotICAgIHRoaXMuYWRkX2NsZWFudXAoZnVuY3Rpb24oKSB7IGRvY3Vt
ZW50LmJvZHkucmVtb3ZlQ2hpbGQoZWxlbWVudCkgfSk7Ci0gICAgYXNzZXJ0X2VxdWFscyhkb2N1
bWVudC5nZXRFbGVtZW50QnlJZChudWxsKSwgZWxlbWVudCk7Ci0gIH0sICJDYWxsaW5nIGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkIHdpdGggYSBudWxsIGFyZ3VtZW50LiIpOwotYGBgCi0KLSMjIFRp
bWVvdXRzIGluIFRlc3RzICMjCi0KLUluIGdlbmVyYWwgdGhlIHVzZSBvZiB0aW1lb3V0cyBpbiB0
ZXN0cyBpcyBkaXNjb3VyYWdlZCBiZWNhdXNlIHRoaXMgaXMKLWFuIG9ic2VydmVkIHNvdXJjZSBv
ZiBpbnN0YWJpbGl0eSBpbiByZWFsIHRlc3RzIHdoZW4gcnVuIG9uIENJCi1pbmZyYXN0cnVjdHVy
ZS4gSW4gcGFydGljdWxhciBpZiBhIHRlc3Qgc2hvdWxkIGZhaWwgd2hlbiBzb21ldGhpbmcKLWRv
ZXNuJ3QgaGFwcGVuLCBpdCBpcyBnb29kIHByYWN0aWNlIHRvIHNpbXBseSBsZXQgdGhlIHRlc3Qg
cnVuIHRvIHRoZQotZnVsbCB0aW1lb3V0IHJhdGhlciB0aGFuIHRyeWluZyB0byBndWVzcyBhbiBh
cHByb3ByaWF0ZSBzaG9ydGVyCi10aW1lb3V0IHRvIHVzZS4KLQotSW4gb3RoZXIgY2FzZXMgaXQg
bWF5IGJlIG5lY2Vzc2FyeSB0byB1c2UgYSB0aW1lb3V0IChlLmcuLCBmb3IgYSB0ZXN0Ci10aGF0
IG9ubHkgcGFzc2VzIGlmIHNvbWUgZXZlbnQgaXMgKm5vdCogZmlyZWQpLiBJbiB0aGlzIGNhc2Ug
aXQgaXMKLSpub3QqIHBlcm1pdHRlZCB0byB1c2UgdGhlIHN0YW5kYXJkIGBzZXRUaW1lb3V0YCBm
dW5jdGlvbi4gSW5zdGVhZCBvbmUKLW11c3QgdXNlIHRoZSBgc3RlcF90aW1lb3V0YCBmdW5jdGlv
bjoKLQotYGBganMKLWFzeW5jX3Rlc3QoZnVuY3Rpb24odCkgewotICB2YXIgZ290RXZlbnQgPSBm
YWxzZTsKLSAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsIHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKCkgewotICAgIGFzc2VydF9mYWxzZShnb3RFdmVudCwgIlVuZXhw
ZWN0ZWQgRE9NQ29udGVudExvYWRlZCBldmVudCIpOwotICAgIGdvdEV2ZW50ID0gdHJ1ZTsKLSAg
ICB0LnN0ZXBfdGltZW91dChmdW5jdGlvbigpIHsgdC5kb25lKCk7IH0sIDIwMDApOwotICB9KTsK
LX0sICJPbmx5IG9uZSBET01Db250ZW50TG9hZGVkIik7Ci1gYGAKLQotVGhlIGRpZmZlcmVuY2Ug
YmV0d2VlbiBgc2V0VGltZW91dGAgYW5kIGBzdGVwX3RpbWVvdXRgIGlzIHRoYXQgdGhlCi1sYXR0
ZXIgdGFrZXMgYWNjb3VudCBvZiB0aGUgdGltZW91dCBtdWx0aXBsaWVyIHdoZW4gY29tcHV0aW5n
IHRoZQotZGVsYXk7IGUuZy4sIGluIHRoZSBhYm92ZSBjYXNlIGEgdGltZW91dCBtdWx0aXBsaWVy
IG9mIDIgd291bGQgY2F1c2UgYQotcGF1c2Ugb2YgNDAwMG1zIGJlZm9yZSBjYWxsaW5nIHRoZSBj
YWxsYmFjay4gVGhpcyBtYWtlcyBpdCBsZXNzIGxpa2VseQotdG8gcHJvZHVjZSB1bnN0YWJsZSBy
ZXN1bHRzIGluIHNsb3cgY29uZmlndXJhdGlvbnMuCi0KLU5vdGUgdGhhdCB0aW1lb3V0cyBnZW5l
cmFsbHkgbmVlZCB0byBiZSBhIGZldyBzZWNvbmRzIGxvbmcgaW4gb3JkZXIgdG8KLXByb2R1Y2Ug
c3RhYmxlIHJlc3VsdHMgaW4gYWxsIHRlc3QgZW52aXJvbm1lbnRzLgotCi1Gb3Igc2luZ2xlLXBh
Z2UgdGVzdHMsIGBzdGVwX3RpbWVvdXRgIGlzIGFsc28gYXZhaWxhYmxlIGFzIGEgZ2xvYmFsCi1m
dW5jdGlvbi4KLQotIyMgSGFybmVzcyBUaW1lb3V0ICMjCi0KLVRoZSBvdmVyYWxsIGhhcm5lc3Mg
YWRtaXRzIHR3byB0aW1lb3V0IHZhbHVlcyBgIm5vcm1hbCJgICh0aGUKLWRlZmF1bHQpIGFuZCBg
ImxvbmciYCwgdXNlZCBmb3IgdGVzdHMgd2hpY2ggaGF2ZSBhbiB1bnVzdWFsbHkgbG9uZwotcnVu
dGltZS4gQWZ0ZXIgdGhlIHRpbWVvdXQgaXMgcmVhY2hlZCwgdGhlIGhhcm5lc3Mgd2lsbCBzdG9w
Ci13YWl0aW5nIGZvciBmdXJ0aGVyIGFzeW5jIHRlc3RzIHRvIGNvbXBsZXRlLiBCeSBkZWZhdWx0
IHRoZQotdGltZW91dHMgYXJlIHNldCB0byAxMHMgYW5kIDYwcywgcmVzcGVjdGl2ZWx5LCBidXQg
bWF5IGJlIGNoYW5nZWQKLXdoZW4gdGhlIHRlc3QgaXMgcnVuIG9uIGhhcmR3YXJlIHdpdGggZGlm
ZmVyZW50IHBlcmZvcm1hbmNlCi1jaGFyYWN0ZXJpc3RpY3MgdG8gYSBjb21tb24gZGVza3RvcCBj
b21wdXRlci4gIEluIG9yZGVyIHRvIG9wdC1pbgotdG8gdGhlIGxvbmdlciB0ZXN0IHRpbWVvdXQs
IHRoZSB0ZXN0IG11c3Qgc3BlY2lmeSBhIG1ldGEgZWxlbWVudDoKLQotYGBgaHRtbAotPG1ldGEg
bmFtZT0idGltZW91dCIgY29udGVudD0ibG9uZyI+Ci1gYGAKLQotT2NjYXNpb25hbGx5IHRlc3Rz
IG1heSBoYXZlIGEgcmFjZSBiZXR3ZWVuIHRoZSBoYXJuZXNzIHRpbWluZyBvdXQgYW5kCi1hIHBh
cnRpY3VsYXIgdGVzdCBmYWlsaW5nOyB0eXBpY2FsbHkgd2hlbiB0aGUgdGVzdCB3YWl0cyBmb3Ig
c29tZSBldmVudAotdGhhdCBuZXZlciBvY2N1cnMuIEluIHRoaXMgY2FzZSBpdCBpcyBwb3NzaWJs
ZSB0byB1c2UgYHRlc3QuZm9yY2VfdGltZW91dCgpYAotaW4gcGxhY2Ugb2YgYGFzc2VydF91bnJl
YWNoZWQoKWAsIHRvIGltbWVkaWF0ZWx5IGZhaWwgdGhlIHRlc3QgYnV0IHdpdGggYQotc3RhdHVz
IG9mIGBUSU1FT1VUYC4gVGhpcyBzaG91bGQgb25seSBiZSB1c2VkIGFzIGEgbGFzdCByZXNvcnQg
d2hlbiBpdCBpcwotbm90IHBvc3NpYmxlIHRvIG1ha2UgdGhlIHRlc3QgcmVsaWFibGUgaW4gc29t
ZSBvdGhlciB3YXkuCi0KLSMjIFNldHVwICMjCi0KLVNvbWV0aW1lcyB0ZXN0cyByZXF1aXJlIG5v
bi10cml2aWFsIHNldHVwIHRoYXQgbWF5IGZhaWwuIEZvciB0aGlzIHB1cnBvc2UKLXRoZXJlIGlz
IGEgYHNldHVwKClgIGZ1bmN0aW9uLCB0aGF0IG1heSBiZSBjYWxsZWQgd2l0aCBvbmUgb3IgdHdv
IGFyZ3VtZW50cy4KLVRoZSB0d28gYXJndW1lbnQgdmVyc2lvbiBpczoKLQotYGBganMKLXNldHVw
KGZ1bmMsIHByb3BlcnRpZXMpCi1gYGAKLQotVGhlIG9uZSBhcmd1bWVudCB2ZXJzaW9ucyBtYXkg
b21pdCBlaXRoZXIgYXJndW1lbnQuCi1mdW5jIGlzIGEgZnVuY3Rpb24gdG8gYmUgcnVuIHN5bmNo
cm9ub3VzbHkuIGBzZXR1cCgpYCBiZWNvbWVzIGEgbm8tb3Agb25jZQotYW55IHRlc3RzIGhhdmUg
cmV0dXJuZWQgcmVzdWx0cy4gUHJvcGVydGllcyBhcmUgZ2xvYmFsIHByb3BlcnRpZXMgb2YgdGhl
IHRlc3QKLWhhcm5lc3MuIEN1cnJlbnRseSByZWNvZ25pc2VkIHByb3BlcnRpZXMgYXJlOgotCi1g
ZXhwbGljaXRfZG9uZWAgLSBXYWl0IGZvciBhbiBleHBsaWNpdCBjYWxsIHRvIGRvbmUoKSBiZWZv
cmUgZGVjbGFyaW5nIGFsbAotdGVzdHMgY29tcGxldGUgKHNlZSBiZWxvdzsgaW1wbGljaXRseSB0
cnVlIGZvciBzaW5nbGUgcGFnZSB0ZXN0cykKLQotYG91dHB1dF9kb2N1bWVudGAgLSBUaGUgZG9j
dW1lbnQgdG8gd2hpY2ggcmVzdWx0cyBzaG91bGQgYmUgbG9nZ2VkLiBCeSBkZWZhdWx0Ci10aGlz
IGlzIHRoZSBjdXJyZW50IGRvY3VtZW50IGJ1dCBjb3VsZCBiZSBhbiBhbmNlc3RvciBkb2N1bWVu
dCBpbiBzb21lIGNhc2VzCi1lLmcuIGEgU1ZHIHRlc3QgbG9hZGVkIGluIGFuIEhUTUwgd3JhcHBl
cgotCi1gZXhwbGljaXRfdGltZW91dGAgLSBkaXNhYmxlIGZpbGUgdGltZW91dDsgb25seSBzdG9w
IHdhaXRpbmcgZm9yIHJlc3VsdHMKLXdoZW4gdGhlIGB0aW1lb3V0KClgIGZ1bmN0aW9uIGlzIGNh
bGxlZCAodHlwaWNhbGx5IGZvciB1c2Ugd2hlbiBpbnRlZ3JhdGluZwotd2l0aCBzb21lIGV4aXN0
aW5nIHRlc3QgZnJhbWV3b3JrIHRoYXQgaGFzIGl0cyBvd24gdGltZW91dCBtZWNoYW5pc20pLgot
Ci1gYWxsb3dfdW5jYXVnaHRfZXhjZXB0aW9uYCAtIGRvbid0IHRyZWF0IGFuIHVuY2F1Z2h0IGV4
Y2VwdGlvbiBhcyBhbiBlcnJvcjsKLW5lZWRlZCB3aGVuIGUuZy4gdGVzdGluZyB0aGUgYHdpbmRv
dy5vbmVycm9yYCBoYW5kbGVyLgotCi1gdGltZW91dF9tdWx0aXBsaWVyYCAtIE11bHRpcGxpZXIg
dG8gYXBwbHkgdG8gcGVyLXRlc3QgdGltZW91dHMuCi0KLSMjIERldGVybWluaW5nIHdoZW4gYWxs
IHRlc3RzIGFyZSBjb21wbGV0ZSAjIwotCi1CeSBkZWZhdWx0IHRoZSB0ZXN0IGhhcm5lc3Mgd2ls
bCBhc3N1bWUgdGhlcmUgYXJlIG5vIG1vcmUgcmVzdWx0cyB0byBjb21lCi13aGVuOgotCi0gMS4g
VGhlcmUgYXJlIG5vIGBUZXN0YCBvYmplY3RzIHRoYXQgaGF2ZSBiZWVuIGNyZWF0ZWQgYnV0IG5v
dCBjb21wbGV0ZWQKLSAyLiBUaGUgbG9hZCBldmVudCBvbiB0aGUgZG9jdW1lbnQgaGFzIGZpcmVk
Ci0KLVRoaXMgYmVoYXZpb3VyIGNhbiBiZSBvdmVycmlkZGVuIGJ5IHNldHRpbmcgdGhlIGBleHBs
aWNpdF9kb25lYCBwcm9wZXJ0eSB0bwotdHJ1ZSBpbiBhIGNhbGwgdG8gYHNldHVwKClgLiBJZiBg
ZXhwbGljaXRfZG9uZWAgaXMgdHJ1ZSwgdGhlIHRlc3QgaGFybmVzcyB3aWxsCi1ub3QgYXNzdW1l
IGl0IGlzIGRvbmUgdW50aWwgdGhlIGdsb2JhbCBgZG9uZSgpYCBmdW5jdGlvbiBpcyBjYWxsZWQu
IE9uY2UgYGRvbmUoKWAKLWlzIGNhbGxlZCwgdGhlIHR3byBjb25kaXRpb25zIGFib3ZlIGFwcGx5
IGxpa2Ugbm9ybWFsLgotCi1EZWRpY2F0ZWQgYW5kIHNoYXJlZCB3b3JrZXJzIGRvbid0IGhhdmUg
YW4gZXZlbnQgdGhhdCBjb3JyZXNwb25kcyB0byB0aGUgYGxvYWRgCi1ldmVudCBpbiBhIGRvY3Vt
ZW50LiBUaGVyZWZvcmUgdGhlc2Ugd29ya2VyIHRlc3RzIGFsd2F5cyBiZWhhdmUgYXMgaWYgdGhl
Ci1gZXhwbGljaXRfZG9uZWAgcHJvcGVydHkgaXMgc2V0IHRvIHRydWUuIFNlcnZpY2Ugd29ya2Vy
cyBkZXBlbmQgb24gdGhlCi1baW5zdGFsbF0oaHR0cHM6Ly9zbGlnaHRseW9mZi5naXRodWIuaW8v
U2VydmljZVdvcmtlci9zcGVjL3NlcnZpY2Vfd29ya2VyL2luZGV4Lmh0bWwjc2VydmljZS13b3Jr
ZXItZ2xvYmFsLXNjb3BlLWluc3RhbGwtZXZlbnQpCi1ldmVudCB3aGljaCBpcyBmaXJlZCBmb2xs
b3dpbmcgdGhlIGNvbXBsZXRpb24gb2YgW3J1bm5pbmcgdGhlCi13b3JrZXJdKGh0dHBzOi8vaHRt
bC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL3dvcmtlcnMuaHRtbCNydW4tYS13b3JrZXIpLgot
Ci0jIyBHZW5lcmF0aW5nIHRlc3RzICMjCi0KLVRoZXJlIGFyZSBzY2VuYXJpb3MgaW4gd2hpY2gg
aXMgaXMgZGVzaXJhYmxlIHRvIGNyZWF0ZSBhIGxhcmdlIG51bWJlciBvZgotKHN5bmNocm9ub3Vz
KSB0ZXN0cyB0aGF0IGFyZSBpbnRlcm5hbGx5IHNpbWlsYXIgYnV0IHZhcnkgaW4gdGhlIHBhcmFt
ZXRlcnMKLXVzZWQuIFRvIG1ha2UgdGhpcyBlYXNpZXIsIHRoZSBgZ2VuZXJhdGVfdGVzdHNgIGZ1
bmN0aW9uIGFsbG93cyBhIHNpbmdsZQotZnVuY3Rpb24gdG8gYmUgY2FsbGVkIHdpdGggZWFjaCBz
ZXQgb2YgcGFyYW1ldGVycyBpbiBhIGxpc3Q6Ci0KLWBgYGpzCi1nZW5lcmF0ZV90ZXN0cyh0ZXN0
X2Z1bmN0aW9uLCBwYXJhbWV0ZXJfbGlzdHMsIHByb3BlcnRpZXMpCi1gYGAKLQotRm9yIGV4YW1w
bGU6Ci0KLWBgYGpzCi1nZW5lcmF0ZV90ZXN0cyhhc3NlcnRfZXF1YWxzLCBbCi0gICAgWyJTdW0g
b25lIGFuZCBvbmUiLCAxKzEsIDJdLAotICAgIFsiU3VtIG9uZSBhbmQgemVybyIsIDErMCwgMV0K
LSAgICBdKQotYGBgCi0KLUlzIGVxdWl2YWxlbnQgdG86Ci0KLWBgYGpzCi10ZXN0KGZ1bmN0aW9u
KCkge2Fzc2VydF9lcXVhbHMoMSsxLCAyKX0sICJTdW0gb25lIGFuZCBvbmUiKQotdGVzdChmdW5j
dGlvbigpIHthc3NlcnRfZXF1YWxzKDErMCwgMSl9LCAiU3VtIG9uZSBhbmQgemVybyIpCi1gYGAK
LQotTm90ZSB0aGF0IHRoZSBmaXJzdCBpdGVtIGluIGVhY2ggcGFyYW1ldGVyIGxpc3QgY29ycmVz
cG9uZHMgdG8gdGhlIG5hbWUgb2YKLXRoZSB0ZXN0LgotCi1UaGUgcHJvcGVydGllcyBhcmd1bWVu
dCBpcyBpZGVudGljYWwgdG8gdGhhdCBmb3IgYHRlc3QoKWAuIFRoaXMgbWF5IGJlIGEKLXNpbmds
ZSBvYmplY3QgKHVzZWQgZm9yIGFsbCBnZW5lcmF0ZWQgdGVzdHMpIG9yIGFuIGFycmF5LgotCi0j
IyBDYWxsYmFjayBBUEkgIyMKLQotVGhlIGZyYW1ld29yayBwcm92aWRlcyBjYWxsYmFja3MgY29y
cmVzcG9uZGluZyB0byA0IGV2ZW50czoKLQotICogYHN0YXJ0YCAtIHRyaWdnZXJlZCB3aGVuIHRo
ZSBmaXJzdCBUZXN0IGlzIGNyZWF0ZWQKLSAqIGB0ZXN0X3N0YXRlYCAtIHRyaWdnZXJlZCB3aGVu
IGEgdGVzdCBzdGF0ZSBjaGFuZ2VzCi0gKiBgcmVzdWx0YCAtIHRyaWdnZXJlZCB3aGVuIGEgdGVz
dCByZXN1bHQgaXMgcmVjZWl2ZWQKLSAqIGBjb21wbGV0ZWAgLSB0cmlnZ2VyZWQgd2hlbiBhbGwg
cmVzdWx0cyBhcmUgcmVjZWl2ZWQKLQotVGhlIHBhZ2UgZGVmaW5pbmcgdGhlIHRlc3RzIG1heSBh
ZGQgY2FsbGJhY2tzIGZvciB0aGVzZSBldmVudHMgYnkgY2FsbGluZwotdGhlIGZvbGxvd2luZyBt
ZXRob2RzOgotCi0gIGBhZGRfc3RhcnRfY2FsbGJhY2soY2FsbGJhY2spYCAtIGNhbGxiYWNrIGNh
bGxlZCB3aXRoIG5vIGFyZ3VtZW50cwotCi0gIGBhZGRfdGVzdF9zdGF0ZV9jYWxsYmFjayhjYWxs
YmFjaylgIC0gY2FsbGJhY2sgY2FsbGVkIHdpdGggYSB0ZXN0IGFyZ3VtZW50Ci0KLSAgYGFkZF9y
ZXN1bHRfY2FsbGJhY2soY2FsbGJhY2spYCAtIGNhbGxiYWNrIGNhbGxlZCB3aXRoIGEgdGVzdCBh
cmd1bWVudAotCi0gIGBhZGRfY29tcGxldGlvbl9jYWxsYmFjayhjYWxsYmFjaylgIC0gY2FsbGJh
Y2sgY2FsbGVkIHdpdGggYW4gYXJyYXkgb2YgdGVzdHMKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBhbmQgYSBzdGF0dXMgb2JqZWN0Ci0KLVRlc3RzIGhhdmUgdGhlIGZv
bGxvd2luZyBwcm9wZXJ0aWVzOgotCi0gICogYHN0YXR1c2AgLSBBIHN0YXR1cyBjb2RlLiBUaGlz
IGNhbiBiZSBjb21wYXJlZCB0byB0aGUgYFBBU1NgLCBgRkFJTGAsCi0gICAgICAgICAgICAgICBg
VElNRU9VVGAgYW5kIGBOT1RSVU5gIHByb3BlcnRpZXMgb24gdGhlIHRlc3Qgb2JqZWN0Ci0KLSAg
KiBgbWVzc2FnZWAgLSBBIG1lc3NhZ2UgaW5kaWNhdGluZyB0aGUgcmVhc29uIGZvciBmYWlsdXJl
LiBJbiB0aGUgZnV0dXJlIHRoaXMKLSAgICAgICAgICAgICAgICB3aWxsIGFsd2F5cyBiZSBhIHN0
cmluZwotCi0gVGhlIHN0YXR1cyBvYmplY3QgZ2l2ZXMgdGhlIG92ZXJhbGwgc3RhdHVzIG9mIHRo
ZSBoYXJuZXNzLiBJdCBoYXMgdGhlCi0gZm9sbG93aW5nIHByb3BlcnRpZXM6Ci0KLSAqIGBzdGF0
dXNgIC0gQ2FuIGJlIGNvbXBhcmVkIHRvIHRoZSBgT0tgLCBgRVJST1JgIGFuZCBgVElNRU9VVGAg
cHJvcGVydGllcwotCi0gKiBgbWVzc2FnZWAgLSBBbiBlcnJvciBtZXNzYWdlIHNldCB3aGVuIHRo
ZSBzdGF0dXMgaXMgYEVSUk9SYAotCi0jIyBFeHRlcm5hbCBBUEkgIyMKLQotSW4gb3JkZXIgdG8g
Y29sbGVjdCB0aGUgcmVzdWx0cyBvZiBtdWx0aXBsZSBwYWdlcyBjb250YWluaW5nIHRlc3RzLCB0
aGUgdGVzdAotaGFybmVzcyB3aWxsLCB3aGVuIGxvYWRlZCBpbiBhIG5lc3RlZCBicm93c2luZyBj
b250ZXh0LCBhdHRlbXB0IHRvIGNhbGwKLWNlcnRhaW4gZnVuY3Rpb25zIGluIGVhY2ggYW5jZXN0
b3IgYW5kIG9wZW5lciBicm93c2luZyBjb250ZXh0OgotCi0gKiBzdGFydCAtIGBzdGFydF9jYWxs
YmFja2AKLSAqIHRlc3RcX3N0YXRlIC0gYHRlc3Rfc3RhdGVfY2FsbGJhY2tgCi0gKiByZXN1bHQg
LSBgcmVzdWx0X2NhbGxiYWNrYAotICogY29tcGxldGUgLSBgY29tcGxldGlvbl9jYWxsYmFja2AK
LQotVGhlc2UgYXJlIGdpdmVuIHRoZSBzYW1lIGFyZ3VtZW50cyBhcyB0aGUgY29ycmVzcG9uZGlu
ZyBpbnRlcm5hbCBjYWxsYmFja3MKLWRlc2NyaWJlZCBhYm92ZS4KLQotIyMgRXh0ZXJuYWwgQVBJ
IHRocm91Z2ggY3Jvc3MtZG9jdW1lbnQgbWVzc2FnaW5nICMjCi0KLVdoZXJlIHN1cHBvcnRlZCwg
dGhlIHRlc3QgaGFybmVzcyB3aWxsIGFsc28gc2VuZCBtZXNzYWdlcyB1c2luZyBjcm9zcy1kb2N1
bWVudAotbWVzc2FnaW5nIHRvIGVhY2ggYW5jZXN0b3IgYW5kIG9wZW5lciBicm93c2luZyBjb250
ZXh0LiBTaW5jZSBpdCB1c2VzIHRoZQotd2lsZGNhcmQga2V5d29yZCAoXCopLCBjcm9zcy1vcmln
aW4gY29tbXVuaWNhdGlvbiBpcyBlbmFibGVkIGFuZCBzY3JpcHQgb24KLWRpZmZlcmVudCBvcmln
aW5zIGNhbiBjb2xsZWN0IHRoZSByZXN1bHRzLgotCi1UaGlzIEFQSSBmb2xsb3dzIHNpbWlsYXIg
Y29udmVudGlvbnMgYXMgdGhvc2UgZGVzY3JpYmVkIGFib3ZlIG9ubHkgc2xpZ2h0bHkKLW1vZGlm
aWVkIHRvIGFjY29tbW9kYXRlIG1lc3NhZ2UgZXZlbnQgQVBJLiBFYWNoIG1lc3NhZ2UgaXMgc2Vu
dCBieSB0aGUgaGFybmVzcwotaXMgcGFzc2VkIGEgc2luZ2xlIHZhbmlsbGEgb2JqZWN0LCBhdmFp
bGFibGUgYXMgdGhlIGBkYXRhYCBwcm9wZXJ0eSBvZiB0aGUgZXZlbnQKLW9iamVjdC4gVGhlc2Ug
b2JqZWN0cyBhcmUgc3RydWN0dXJlZCBhcyBmb2xsb3dzOgotCi0gKiBzdGFydCAtIGB7IHR5cGU6
ICJzdGFydCIgfWAKLSAqIHRlc3RcX3N0YXRlIC0gYHsgdHlwZTogInRlc3Rfc3RhdGUiLCB0ZXN0
OiBUZXN0IH1gCi0gKiByZXN1bHQgLSBgeyB0eXBlOiAicmVzdWx0IiwgdGVzdDogVGVzdCB9YAot
ICogY29tcGxldGUgLSBgeyB0eXBlOiAiY29tcGxldGUiLCB0ZXN0czogW1Rlc3QsIC4uLl0sIHN0
YXR1czogVGVzdHNTdGF0dXMgfWAKLQotIyMgV2ViIFdvcmtlcnMgIyMKLQotVGhlIGB0ZXN0aGFy
bmVzcy5qc2Agc2NyaXB0IGNhbiBiZSB1c2VkIGZyb20gd2l0aGluIFtkZWRpY2F0ZWQgd29ya2Vy
cywgc2hhcmVkCi13b3JrZXJzXShodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFn
ZS93b3JrZXJzLmh0bWwpIGFuZCBbc2VydmljZQotd29ya2Vyc10oaHR0cHM6Ly9zbGlnaHRseW9m
Zi5naXRodWIuaW8vU2VydmljZVdvcmtlci9zcGVjL3NlcnZpY2Vfd29ya2VyLykuCi0KLVRlc3Rp
bmcgZnJvbSBhIHdvcmtlciBzY3JpcHQgaXMgZGlmZmVyZW50IGZyb20gdGVzdGluZyBmcm9tIGFu
IEhUTUwgZG9jdW1lbnQgaW4KLXNldmVyYWwgd2F5czoKLQotKiBXb3JrZXJzIGhhdmUgbm8gcmVw
b3J0aW5nIGNhcGFiaWxpdHkgc2luY2UgdGhleSBhcmUgcnVuaW5nIGluIHRoZSBiYWNrZ3JvdW5k
LgotICBIZW5jZSB0aGV5IHJlbHkgb24gYHRlc3RoYXJuZXNzLmpzYCBydW5uaW5nIGluIGEgY29t
cGFuaW9uIGNsaWVudCBIVE1MIGRvY3VtZW50Ci0gIGZvciByZXBvcnRpbmcuCi0KLSogU2hhcmVk
IGFuZCBzZXJ2aWNlIHdvcmtlcnMgZG8gbm90IGhhdmUgYSB1bmlxdWUgY2xpZW50IGRvY3VtZW50
IHNpbmNlIHRoZXJlCi0gIGNvdWxkIGJlIG1vcmUgdGhhbiBvbmUgZG9jdW1lbnQgdGhhdCBjb21t
dW5pY2F0ZXMgd2l0aCB0aGVzZSB3b3JrZXJzLiBTbyBhCi0gIGNsaWVudCBkb2N1bWVudCBuZWVk
cyB0byBleHBsaWNpdGx5IGNvbm5lY3QgdG8gYSB3b3JrZXIgYW5kIGZldGNoIHRlc3QgcmVzdWx0
cwotICBmcm9tIGl0IHVzaW5nIGBmZXRjaF90ZXN0c19mcm9tX3dvcmtlcmAuIFRoaXMgaXMgdHJ1
ZSBldmVuIGZvciBhIGRlZGljYXRlZAotICB3b3JrZXIuIE9uY2UgY29ubmVjdGVkLCB0aGUgaW5k
aXZpZHVhbCB0ZXN0cyBydW5uaW5nIGluIHRoZSB3b3JrZXIgKG9yIHRob3NlCi0gIHRoYXQgaGF2
ZSBhbHJlYWR5IHJ1biB0byBjb21wbGV0aW9uKSB3aWxsIGJlIGF1dG9tYXRpY2FsbHkgcmVmbGVj
dGVkIGluIHRoZQotICBjbGllbnQgZG9jdW1lbnQuCi0KLSogVGhlIGNsaWVudCBkb2N1bWVudCBj
b250cm9scyB0aGUgdGltZW91dCBvZiB0aGUgdGVzdHMuIEFsbCB3b3JrZXIgc2NyaXB0cyBhY3QK
LSAgYXMgaWYgdGhleSB3ZXJlIHN0YXJ0ZWQgd2l0aCB0aGUgYGV4cGxpY2l0X3RpbWVvdXRgIG9w
dGlvbiAoc2VlIHRoZSBbSGFybmVzcwotICB0aW1lb3V0XSgjaGFybmVzcy10aW1lb3V0KSBzZWN0
aW9uKS4KLQotKiBEZWRpY2F0ZWQgYW5kIHNoYXJlZCB3b3JrZXJzIGRvbid0IGhhdmUgYW4gZXF1
aXZhbGVudCBvZiBhbiBgb25sb2FkYCBldmVudC4KLSAgVGh1cyB0aGUgdGVzdCBoYXJuZXNzIGhh
cyBubyB3YXkgdG8ga25vdyB3aGVuIGFsbCB0ZXN0cyBoYXZlIGNvbXBsZXRlZCAoc2VlCi0gIFtE
ZXRlcm1pbmluZyB3aGVuIGFsbCB0ZXN0cyBhcmUKLSAgY29tcGxldGVdKCNkZXRlcm1pbmluZy13
aGVuLWFsbC10ZXN0cy1hcmUtY29tcGxldGUpKS4gU28gdGhlc2Ugd29ya2VyIHRlc3RzCi0gIGJl
aGF2ZSBhcyBpZiB0aGV5IHdlcmUgc3RhcnRlZCB3aXRoIHRoZSBgZXhwbGljaXRfZG9uZWAgb3B0
aW9uLiBTZXJ2aWNlCi0gIHdvcmtlcnMgZGVwZW5kIG9uIHRoZQotICBbb25pbnN0YWxsXShodHRw
czovL3NsaWdodGx5b2ZmLmdpdGh1Yi5pby9TZXJ2aWNlV29ya2VyL3NwZWMvc2VydmljZV93b3Jr
ZXIvaW5kZXguaHRtbCNzZXJ2aWNlLXdvcmtlci1nbG9iYWwtc2NvcGUtaW5zdGFsbC1ldmVudCkK
LSAgZXZlbnQgYW5kIGRvbid0IHJlcXVpcmUgYW4gZXhwbGljaXQgYGRvbmVgIGNhbGwuCi0KLUhl
cmUncyBhbiBleGFtcGxlIHRoYXQgdXNlcyBhIGRlZGljYXRlZCB3b3JrZXIuCi0KLWB3b3JrZXIu
anNgOgotCi1gYGBqcwotaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIp
OwotCi10ZXN0KGZ1bmN0aW9uKHQpIHsKLSAgYXNzZXJ0X3RydWUodHJ1ZSwgInRydWUgaXMgdHJ1
ZSIpOwotfSwgIlNpbXBsZSB0ZXN0Iik7Ci0KLS8vIGRvbmUoKSBpcyBuZWVkZWQgYmVjYXVzZSB0
aGUgdGVzdGhhcm5lc3MgaXMgcnVubmluZyBhcyBpZiBleHBsaWNpdF9kb25lCi0vLyB3YXMgc3Bl
Y2lmaWVkLgotZG9uZSgpOwotYGBgCi0KLWB0ZXN0Lmh0bWxgOgotCi1gYGBodG1sCi08IURPQ1RZ
UEUgaHRtbD4KLTx0aXRsZT5TaW1wbGUgdGVzdDwvdGl0bGU+Ci08c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08ZGl2IGlkPSJsb2ciPjwvZGl2PgotPHNj
cmlwdD4KLQotZmV0Y2hfdGVzdHNfZnJvbV93b3JrZXIobmV3IFdvcmtlcigid29ya2VyLmpzIikp
OwotCi08L3NjcmlwdD4KLWBgYAotCi1UaGUgYXJndW1lbnQgdG8gdGhlIGBmZXRjaF90ZXN0c19m
cm9tX3dvcmtlcmAgZnVuY3Rpb24gY2FuIGJlIGEKLVtgV29ya2VyYF0oaHR0cHM6Ly9odG1sLnNw
ZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2Uvd29ya2Vycy5odG1sI2RlZGljYXRlZC13b3JrZXJzLWFu
ZC10aGUtd29ya2VyLWludGVyZmFjZSksCi1hIFtgU2hhcmVkV29ya2VyYF0oaHR0cHM6Ly9odG1s
LnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2Uvd29ya2Vycy5odG1sI3NoYXJlZC13b3JrZXJzLWFu
ZC10aGUtc2hhcmVkd29ya2VyLWludGVyZmFjZSkKLW9yIGEgW2BTZXJ2aWNlV29ya2VyYF0oaHR0
cHM6Ly9zbGlnaHRseW9mZi5naXRodWIuaW8vU2VydmljZVdvcmtlci9zcGVjL3NlcnZpY2Vfd29y
a2VyLyNzZXJ2aWNlLXdvcmtlci1vYmopLgotT25jZSBjYWxsZWQsIHRoZSBjb250YWluaW5nIGRv
Y3VtZW50IGZldGNoZXMgYWxsIHRoZSB0ZXN0cyBmcm9tIHRoZSB3b3JrZXIgYW5kCi1iZWhhdmVz
IGFzIGlmIHRob3NlIHRlc3RzIHdlcmUgcnVubmluZyBpbiB0aGUgY29udGFpbmluZyBkb2N1bWVu
dCBpdHNlbGYuCi0KLSMjIExpc3Qgb2YgQXNzZXJ0aW9ucyAjIwotCi0jIyMgYGFzc2VydF90cnVl
KGFjdHVhbCwgZGVzY3JpcHRpb24pYAotYXNzZXJ0cyB0aGF0IGBhY3R1YWxgIGlzIHN0cmljdGx5
IHRydWUKLQotIyMjIGBhc3NlcnRfZmFsc2UoYWN0dWFsLCBkZXNjcmlwdGlvbilgCi1hc3NlcnRz
IHRoYXQgYGFjdHVhbGAgaXMgc3RyaWN0bHkgZmFsc2UKLQotIyMjIGBhc3NlcnRfZXF1YWxzKGFj
dHVhbCwgZXhwZWN0ZWQsIGRlc2NyaXB0aW9uKWAKLWFzc2VydHMgdGhhdCBgYWN0dWFsYCBpcyB0
aGUgc2FtZSB2YWx1ZSBhcyBgZXhwZWN0ZWRgCi0KLSMjIyBgYXNzZXJ0X25vdF9lcXVhbHMoYWN0
dWFsLCBleHBlY3RlZCwgZGVzY3JpcHRpb24pYAotYXNzZXJ0cyB0aGF0IGBhY3R1YWxgIGlzIGEg
ZGlmZmVyZW50IHZhbHVlIHRvIGBleHBlY3RlZGAuCi1UaGlzIG1lYW5zIHRoYXQgYGV4cGVjdGVk
YCBpcyBhIG1pc25vbWVyLgotCi0jIyMgYGFzc2VydF9pbl9hcnJheShhY3R1YWwsIGV4cGVjdGVk
LCBkZXNjcmlwdGlvbilgCi1hc3NlcnRzIHRoYXQgYGV4cGVjdGVkYCBpcyBhbiBBcnJheSwgYW5k
IGBhY3R1YWxgIGlzIGVxdWFsIHRvIG9uZSBvZiB0aGUKLW1lbWJlcnMgaS5lLiBgZXhwZWN0ZWQu
aW5kZXhPZihhY3R1YWwpICE9IC0xYAotCi0jIyMgYGFzc2VydF9hcnJheV9lcXVhbHMoYWN0dWFs
LCBleHBlY3RlZCwgZGVzY3JpcHRpb24pYAotYXNzZXJ0cyB0aGF0IGBhY3R1YWxgIGFuZCBgZXhw
ZWN0ZWRgIGhhdmUgdGhlIHNhbWUKLWxlbmd0aCBhbmQgdGhlIHZhbHVlIG9mIGVhY2ggaW5kZXhl
ZCBwcm9wZXJ0eSBpbiBgYWN0dWFsYCBpcyB0aGUgc3RyaWN0bHkgZXF1YWwKLXRvIHRoZSBjb3Jy
ZXNwb25kaW5nIHByb3BlcnR5IHZhbHVlIGluIGBleHBlY3RlZGAKLQotIyMjIGBhc3NlcnRfYXBw
cm94X2VxdWFscyhhY3R1YWwsIGV4cGVjdGVkLCBlcHNpbG9uLCBkZXNjcmlwdGlvbilgCi1hc3Nl
cnRzIHRoYXQgYGFjdHVhbGAgaXMgYSBudW1iZXIgd2l0aGluIMKxYGVwc2lsb25gIG9mIGBleHBl
Y3RlZGAKLQotIyMjIGBhc3NlcnRfbGVzc190aGFuKGFjdHVhbCwgZXhwZWN0ZWQsIGRlc2NyaXB0
aW9uKWAKLWFzc2VydHMgdGhhdCBgYWN0dWFsYCBpcyBhIG51bWJlciBsZXNzIHRoYW4gYGV4cGVj
dGVkYAotCi0jIyMgYGFzc2VydF9ncmVhdGVyX3RoYW4oYWN0dWFsLCBleHBlY3RlZCwgZGVzY3Jp
cHRpb24pYAotYXNzZXJ0cyB0aGF0IGBhY3R1YWxgIGlzIGEgbnVtYmVyIGdyZWF0ZXIgdGhhbiBg
ZXhwZWN0ZWRgCi0KLSMjIyBgYXNzZXJ0X2JldHdlZW5fZXhjbHVzaXZlKGFjdHVhbCwgbG93ZXIs
IHVwcGVyLCBkZXNjcmlwdGlvbmAKLWFzc2VydHMgdGhhdCBgYWN0dWFsYCBpcyBhIG51bWJlciBi
ZXR3ZWVuIGBsb3dlcmAgYW5kIGB1cHBlcmAgYnV0IG5vdAotZXF1YWwgdG8gZWl0aGVyIG9mIHRo
ZW0KLQotIyMjIGBhc3NlcnRfbGVzc190aGFuX2VxdWFsKGFjdHVhbCwgZXhwZWN0ZWQsIGRlc2Ny
aXB0aW9uKWAKLWFzc2VydHMgdGhhdCBgYWN0dWFsYCBpcyBhIG51bWJlciBsZXNzIHRoYW4gb3Ig
ZXF1YWwgdG8gYGV4cGVjdGVkYAotCi0jIyMgYGFzc2VydF9ncmVhdGVyX3RoYW5fZXF1YWwoYWN0
dWFsLCBleHBlY3RlZCwgZGVzY3JpcHRpb24pYAotYXNzZXJ0cyB0aGF0IGBhY3R1YWxgIGlzIGEg
bnVtYmVyIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byBgZXhwZWN0ZWRgCi0KLSMjIyBgYXNzZXJ0
X2JldHdlZW5faW5jbHVzaXZlKGFjdHVhbCwgbG93ZXIsIHVwcGVyLCBkZXNjcmlwdGlvbmAKLWFz
c2VydHMgdGhhdCBgYWN0dWFsYCBpcyBhIG51bWJlciBiZXR3ZWVuIGBsb3dlcmAgYW5kIGB1cHBl
cmAgb3IKLWVxdWFsIHRvIGVpdGhlciBvZiB0aGVtCi0KLSMjIyBgYXNzZXJ0X3JlZ2V4cF9tYXRj
aChhY3R1YWwsIGV4cGVjdGVkLCBkZXNjcmlwdGlvbilgCi1hc3NlcnRzIHRoYXQgYGFjdHVhbGAg
bWF0Y2hlcyB0aGUgcmVnZXhwIGBleHBlY3RlZGAKLQotIyMjIGBhc3NlcnRfY2xhc3Nfc3RyaW5n
KG9iamVjdCwgY2xhc3NfbmFtZSwgZGVzY3JpcHRpb24pYAotYXNzZXJ0cyB0aGF0IHRoZSBjbGFz
cyBzdHJpbmcgb2YgYG9iamVjdGAgYXMgcmV0dXJuZWQgaW4KLWBPYmplY3QucHJvdG90eXBlLnRv
U3RyaW5nYCBpcyBlcXVhbCB0byBgY2xhc3NfbmFtZWAuCi0KLSMjIyBgYXNzZXJ0X293bl9wcm9w
ZXJ0eShvYmplY3QsIHByb3BlcnR5X25hbWUsIGRlc2NyaXB0aW9uKWAKLWFzc2VydCB0aGF0IG9i
amVjdCBoYXMgb3duIHByb3BlcnR5IGBwcm9wZXJ0eV9uYW1lYAotCi0jIyMgYGFzc2VydF9pbmhl
cml0cyhvYmplY3QsIHByb3BlcnR5X25hbWUsIGRlc2NyaXB0aW9uKWAKLWFzc2VydCB0aGF0IG9i
amVjdCBkb2VzIG5vdCBoYXZlIGFuIG93biBwcm9wZXJ0eSBuYW1lZAotYHByb3BlcnR5X25hbWVg
IGJ1dCB0aGF0IGBwcm9wZXJ0eV9uYW1lYCBpcyBwcmVzZW50IGluIHRoZSBwcm90b3R5cGUKLWNo
YWluIGZvciBvYmplY3QKLQotIyMjIGBhc3NlcnRfaWRsX2F0dHJpYnV0ZShvYmplY3QsIGF0dHJp
YnV0ZV9uYW1lLCBkZXNjcmlwdGlvbilgCi1hc3NlcnQgdGhhdCBhbiBvYmplY3QgdGhhdCBpcyBh
biBpbnN0YW5jZSBvZiBzb21lIGludGVyZmFjZSBoYXMgdGhlCi1hdHRyaWJ1dGUgYXR0cmlidXRl
X25hbWUgZm9sbG93aW5nIHRoZSBjb25kaXRpb25zIHNwZWNpZmllZCBieSBXZWJJREwKLQotIyMj
IGBhc3NlcnRfcmVhZG9ubHkob2JqZWN0LCBwcm9wZXJ0eV9uYW1lLCBkZXNjcmlwdGlvbilgCi1h
c3NlcnQgdGhhdCBwcm9wZXJ0eSBgcHJvcGVydHlfbmFtZWAgb24gb2JqZWN0IGlzIHJlYWRvbmx5
Ci0KLSMjIyBgYXNzZXJ0X3Rocm93cyhjb2RlLCBmdW5jLCBkZXNjcmlwdGlvbilgCi1gY29kZWAg
LSB0aGUgZXhwZWN0ZWQgZXhjZXB0aW9uLiBUaGlzIGNhbiB0YWtlIHNldmVyYWwgZm9ybXM6Ci0K
LSAgKiBzdHJpbmcgLSB0aGUgdGhyb3duIGV4Y2VwdGlvbiBtdXN0IGJlIGEgRE9NRXhjZXB0aW9u
IHdpdGggdGhlIGdpdmVuCi0gICAgICAgICAgICAgbmFtZSwgZS5nLiwgIlRpbWVvdXRFcnJvciIg
KGZvciBjb21wYXRpYmlsaXR5IHdpdGggZXhpc3RpbmcKLSAgICAgICAgICAgICB0ZXN0cywgYSBj
b25zdGFudCBpcyBhbHNvIHN1cHBvcnRlZCwgZS5nLiwgIlRJTUVPVVRfRVJSIikKLSAgKiBvYmpl
Y3QgLSB0aGUgdGhyb3duIGV4Y2VwdGlvbiBtdXN0IGhhdmUgYSBwcm9wZXJ0eSBjYWxsZWQgIm5h
bWUiIHRoYXQKLSAgICAgICAgICAgICBtYXRjaGVzIGNvZGUubmFtZQotICAqIG51bGwgLSAgIGFs
bG93IGFueSBleGNlcHRpb24gKGluIGdlbmVyYWwsIG9uZSBvZiB0aGUgb3B0aW9ucyBhYm92ZQot
ICAgICAgICAgICAgIHNob3VsZCBiZSB1c2VkKQotCi1gZnVuY2AgLSBhIGZ1bmN0aW9uIHRoYXQg
c2hvdWxkIHRocm93Ci0KLSMjIyBgYXNzZXJ0X3VucmVhY2hlZChkZXNjcmlwdGlvbilgCi1hc3Nl
cnRzIGlmIGNhbGxlZC4gVXNlZCB0byBlbnN1cmUgdGhhdCBzb21lIGNvZGVwYXRoIGlzICpub3Qq
IHRha2VuIGUuZy4KLWFuIGV2ZW50IGRvZXMgbm90IGZpcmUuCi0KLSMjIyBgYXNzZXJ0X2FueShh
c3NlcnRfZnVuYywgYWN0dWFsLCBleHBlY3RlZF9hcnJheSwgZXh0cmFfYXJnXzEsIC4uLiBleHRy
YV9hcmdfTilgCi1hc3NlcnRzIHRoYXQgb25lIGBhc3NlcnRfZnVuYyhhY3R1YWwsIGV4cGVjdGVk
X2FycmF5X04sIGV4dHJhX2FyZzEsIC4uLiwgZXh0cmFfYXJnX04pYAotICBpcyB0cnVlIGZvciBz
b21lIGBleHBlY3RlZF9hcnJheV9OYCBpbiBgZXhwZWN0ZWRfYXJyYXlgLiBUaGlzIG9ubHkgd29y
a3MgZm9yIGBhc3NlcnRfZnVuY2AKLSAgd2l0aCBzaWduYXR1cmUgYGFzc2VydF9mdW5jKGFjdHVh
bCwgZXhwZWN0ZWQsIGFyZ3NfMSwgLi4uLCBhcmdzX04pYC4gTm90ZSB0aGF0IHRlc3RzCi0gIHdp
dGggbXVsdGlwbGUgYWxsb3dlZCBwYXNzIGNvbmRpdGlvbnMgYXJlIGJhZCBwcmFjdGljZSB1bmxl
c3MgdGhlIHNwZWMgc3BlY2lmaWNhbGx5Ci0gIGFsbG93cyBtdWx0aXBsZSBiZWhhdmlvdXJzLiBU
ZXN0IGF1dGhvcnMgc2hvdWxkIG5vdCB1c2UgdGhpcyBtZXRob2Qgc2ltcGx5IHRvIGhpZGUKLSAg
VUEgYnVncy4KLQotIyMjIGBhc3NlcnRfZXhpc3RzKG9iamVjdCwgcHJvcGVydHlfbmFtZSwgZGVz
Y3JpcHRpb24pYAotKipkZXByZWNhdGVkKioKLWFzc2VydHMgdGhhdCBvYmplY3QgaGFzIGFuIG93
biBwcm9wZXJ0eSBgcHJvcGVydHlfbmFtZWAKLQotIyMjIGBhc3NlcnRfbm90X2V4aXN0cyhvYmpl
Y3QsIHByb3BlcnR5X25hbWUsIGRlc2NyaXB0aW9uKWAKLSoqZGVwcmVjYXRlZCoqCi1hc3NlcnQg
dGhhdCBvYmplY3QgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgYHByb3BlcnR5X25hbWVgCi0K
LSMjIE1ldGFkYXRhICMjCi0KLUl0IGlzIHBvc3NpYmxlIHRvIGFkZCBvcHRpb25hbCBtZXRhZGF0
YSB0byB0ZXN0czsgdGhpcyBjYW4gYmUgZG9uZSBpbgotb25lIG9mIHR3byB3YXlzOyBlaXRoZXIg
YnkgYWRkaW5nIGA8bWV0YT5gIGVsZW1lbnRzIHRvIHRoZSBoZWFkIG9mIHRoZQotZG9jdW1lbnQg
Y29udGFpbmluZyB0aGUgdGVzdHMsIG9yIGJ5IGFkZGluZyB0aGUgbWV0YWRhdGEgdG8gaW5kaXZp
ZHVhbAotYFthc3luY19ddGVzdGAgY2FsbHMsIGFzIHByb3BlcnRpZXMuCkluZGV4OiBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9kb2NzL2lkbGhh
cm5lc3MubWQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZG9jcy9pZGxoYXJuZXNzLm1kCShyZXZpc2lvbiAyNTI4OTYp
CisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy9kb2NzL2lkbGhhcm5lc3MubWQJKG5vbmV4aXN0ZW50KQpAQCAtMSwxMjggKzAsMCBAQAotIyMg
SW50cm9kdWN0aW9uICMjCi0KLWBpZGxoYXJuZXNzLmpzYCBhdXRvbWF0aWNhbGx5IGdlbmVyYXRl
cyBicm93c2VyIHRlc3RzIGZvciBXZWJJREwgaW50ZXJmYWNlcywgdXNpbmcKLXRoZSB0ZXN0aGFy
bmVzcy5qcyBmcmFtZXdvcmsuICBUbyB1c2UsIGZpcnN0IGluY2x1ZGUgdGhlIGZvbGxvd2luZzoK
LQotYGBgaHRtbAotPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcz48L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanM+PC9zY3JpcHQ+
Ci08c2NyaXB0IHNyYz0vcmVzb3VyY2VzL1dlYklETFBhcnNlci5qcz48L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPS9yZXNvdXJjZXMvaWRsaGFybmVzcy5qcz48L3NjcmlwdD4KLWBgYAotCi1UaGVuIHlv
dSdsbCBuZWVkIHNvbWUgdHlwZSBvZiBJRExzLiAgSGVyZSdzIHNvbWUgc2NyaXB0IHRoYXQgY2Fu
IGJlIHJ1biBvbiBhCi1zcGVjIHdyaXR0ZW4gaW4gSFRNTCwgd2hpY2ggd2lsbCBncmFiIGFsbCB0
aGUgZWxlbWVudHMgd2l0aCBgY2xhc3M9ImlkbCJgLAotY29uY2F0ZW5hdGUgdGhlbSwgYW5kIHJl
cGxhY2UgdGhlIGJvZHkgc28geW91IGNhbiBjb3B5LXBhc3RlOgotCi1gYGBqcwotdmFyIHMgPSAi
IjsKLVtdLmZvckVhY2guY2FsbChkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCJpZGwi
KSwgZnVuY3Rpb24oaWRsKSB7Ci0gIC8vaHR0cHM6Ly93d3cudzMub3JnL0J1Z3MvUHVibGljL3No
b3dfYnVnLmNnaT9pZD0xNDkxNAotICBpZiAoIWlkbC5jbGFzc0xpc3QuY29udGFpbnMoImV4dHJh
Y3QiKSkKLSAgewotICAgIHMgKz0gaWRsLnRleHRDb250ZW50ICsgIlxuXG4iOwotICB9Ci19KTsK
LWRvY3VtZW50LmJvZHkuaW5uZXJIVE1MID0gJzxwcmU+PC9wcmU+JzsKLWRvY3VtZW50LmJvZHku
Zmlyc3RDaGlsZC50ZXh0Q29udGVudCA9IHM7Ci1gYGAKLQotT25jZSB5b3UgaGF2ZSB0aGF0LCBw
dXQgaXQgaW4geW91ciBzY3JpcHQgc29tZWhvdy4gIFRoZSBlYXNpZXN0IHdheSBpcyB0bwotZW1i
ZWQgaXQgbGl0ZXJhbGx5IGluIGFuIEhUTUwgZmlsZSB3aXRoIGA8c2NyaXB0IHR5cGU9dGV4dC9w
bGFpbj5gIG9yIHNpbWlsYXIsCi1zbyB0aGF0IHlvdSBkb24ndCBoYXZlIHRvIGRvIGFueSBlc2Nh
cGluZy4gIEFub3RoZXIgcG9zc2liaWxpdHkgaXMgdG8gcHV0IGl0Ci1pbiBhIHNlcGFyYXRlIC5p
ZGwgZmlsZSB0aGF0J3MgZmV0Y2hlZCB2aWEgWEhSIG9yIHNpbWlsYXIuICBTYW1wbGUgdXNhZ2U6
Ci0KLWBgYGpzCi12YXIgaWRsX2FycmF5ID0gbmV3IElkbEFycmF5KCk7Ci1pZGxfYXJyYXkuYWRk
X3VudGVzdGVkX2lkbHMoImludGVyZmFjZSBOb2RlIHsgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0
cmluZyBub2RlTmFtZTsgfTsiKTsKLWlkbF9hcnJheS5hZGRfaWRscygiaW50ZXJmYWNlIERvY3Vt
ZW50IDogTm9kZSB7IHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgVVJMOyB9OyIpOwotaWRs
X2FycmF5LmFkZF9vYmplY3RzKHtEb2N1bWVudDogWyJkb2N1bWVudCJdfSk7Ci1pZGxfYXJyYXku
dGVzdCgpOwotYGBgCi0KLVRoaXMgdGVzdHMgdGhhdCBgd2luZG93LkRvY3VtZW50YCBleGlzdHMg
YW5kIG1lZXRzIGFsbCB0aGUgcmVxdWlyZW1lbnRzIG9mCi1XZWJJREwuICBJdCBhbHNvIHRlc3Rz
IHRoYXQgd2luZG93LmRvY3VtZW50ICh0aGUgcmVzdWx0IG9mIGV2YWx1YXRpbmcgdGhlCi1zdHJp
bmcgImRvY3VtZW50IikgaGFzIFVSTCBhbmQgbm9kZU5hbWUgcHJvcGVydGllcyB0aGF0IGJlaGF2
ZSBhcyB0aGV5Ci1zaG91bGQsIGFuZCBvdGhlcndpc2UgbWVldHMgV2ViSURMJ3MgcmVxdWlyZW1l
bnRzIGZvciBhbiBvYmplY3Qgd2hvc2UKLXByaW1hcnkgaW50ZXJmYWNlIGlzIERvY3VtZW50LiAg
SXQgZG9lcyBub3QgdGVzdCB0aGF0IHdpbmRvdy5Ob2RlIGV4aXN0cywKLXdoaWNoIGlzIHdoYXQg
eW91IHdhbnQgaWYgdGhlIE5vZGUgaW50ZXJmYWNlIGlzIGFscmVhZHkgdGVzdGVkIGluIHNvbWUg
b3RoZXIKLXNwZWNpZmljYXRpb24ncyBzdWl0ZSBhbmQgeW91ciBzcGVjaWZpY2F0aW9uIG9ubHkg
ZXh0ZW5kcyBvciByZWZlcnMgdG8gaXQuCi1PZiBjb3Vyc2UsIGVhY2ggSURMIHN0cmluZyBjYW4g
ZGVmaW5lIG1hbnkgZGlmZmVyZW50IHRoaW5ncywgYW5kIGNhbGxzIHRvCi1hZGRfb2JqZWN0cygp
IGNhbiByZWdpc3RlciBtYW55IGRpZmZlcmVudCBvYmplY3RzIGZvciBkaWZmZXJlbnQgaW50ZXJm
YWNlczoKLXRoaXMgaXMgYSB2ZXJ5IHNpbXBsZSBleGFtcGxlLgotCi0jIyBQdWJsaWMgbWV0aG9k
cyBvZiBJZGxBcnJheSAjIwotCi1JZGxBcnJheSBvYmplY3RzIGNhbiBiZSBvYnRhaW5lZCB3aXRo
IGBuZXcgSWRsQXJyYXkoKWAuICBBbnl0aGluZyBub3QKLWRvY3VtZW50ZWQgaW4gdGhpcyBzZWN0
aW9uIHNob3VsZCBiZSBjb25zaWRlcmVkIGFuIGltcGxlbWVudGF0aW9uIGRldGFpbCwKLWFuZCBv
dXRzaWRlIGNhbGxlcnMgc2hvdWxkIG5vdCB1c2UgaXQuCi0KLSMjIyBgYWRkX2lkbHMoaWRsX3N0
cmluZylgCi0gIFBhcnNlcyBgaWRsX3N0cmluZ2AgKHRocm93aW5nIG9uIHBhcnNlIGVycm9yKSBh
bmQgYWRkcyB0aGUgcmVzdWx0cyB0byB0aGUKLSAgSWRsQXJyYXkuICBBbGwgdGhlIGRlZmluaXRp
b25zIHdpbGwgYmUgdGVzdGVkIHdoZW4geW91IHJ1biB0ZXN0KCkuICBJZgotICBzb21lIG9mIHRo
ZSBkZWZpbml0aW9ucyByZWZlciB0byBvdGhlciBkZWZpbml0aW9ucywgdGhvc2UgbXVzdCBiZSBw
cmVzZW50Ci0gIHRvby4gIEZvciBpbnN0YW5jZSwgaWYgYGlkbF9zdHJpbmdgIHNheXMgdGhhdCBg
RG9jdW1lbnRgIGluaGVyaXRzIGZyb20gYE5vZGVgLAotICB0aGUgYE5vZGVgIGludGVyZmFjZSBt
dXN0IGFsc28gaGF2ZSBiZWVuIHByb3ZpZGVkIGluIHNvbWUgY2FsbCB0byBgYWRkX2lkbHMoKWAK
LSAgb3IgYGFkZF91bnRlc3RlZF9pZGxzKClgLgotCi0jIyMgYGFkZF91bnRlc3RlZF9pZGxzKGlk
bF9zdHJpbmcpYAotICBMaWtlIGBhZGRfaWRscygpYCwgYnV0IHRoZSBkZWZpbml0aW9ucyB3aWxs
IG5vdCBiZSB0ZXN0ZWQuICBJZiBhbiB1bnRlc3RlZAotICBpbnRlcmZhY2UgaXMgYWRkZWQgYW5k
IHRoZW4gZXh0ZW5kZWQgd2l0aCBhIHRlc3RlZCBwYXJ0aWFsIGludGVyZmFjZSwgdGhlCi0gIG1l
bWJlcnMgb2YgdGhlIHBhcnRpYWwgaW50ZXJmYWNlIHdpbGwgc3RpbGwgYmUgdGVzdGVkLiAgQWxz
bywgYWxsIHRoZQotICBtZW1iZXJzIHdpbGwgc3RpbGwgYmUgdGVzdGVkIGZvciBvYmplY3RzIGFk
ZGVkIHdpdGggYGFkZF9vYmplY3RzKClgLCBiZWNhdXNlCi0gIHlvdSBwcm9iYWJseSB3YW50IHRv
IHRlc3QgdGhhdCAoZm9yIGluc3RhbmNlKSB3aW5kb3cuZG9jdW1lbnQgaGFzIGFsbCB0aGUKLSAg
cHJvcGVydGllcyBmcm9tIGBOb2RlYCwgbm90IGp1c3QgYERvY3VtZW50YCwgZXZlbiBpZiB0aGUg
YE5vZGVgIGludGVyZmFjZSBpdHNlbGYKLSAgaXMgdGVzdGVkIGluIGEgZGlmZmVyZW50IHRlc3Qg
c3VpdGUuCi0KLSMjIyBgYWRkX29iamVjdHMoZGljdClgCi0gIGBkaWN0YCBzaG91bGQgYmUgYW4g
b2JqZWN0IHdob3NlIGtleXMgYXJlIHRoZSBuYW1lcyBvZiBpbnRlcmZhY2VzIG9yCi0gIGV4Y2Vw
dGlvbnMsIGFuZCB3aG9zZSB2YWx1ZXMgYXJlIGFycmF5cyBvZiBzdHJpbmdzLiAgV2hlbiBhbiBp
bnRlcmZhY2Ugb3IKLSAgZXhjZXB0aW9uIGlzIHRlc3RlZCwgZXZlcnkgc3RyaW5nIHJlZ2lzdGVy
ZWQgZm9yIGl0IHdpdGggYGFkZF9vYmplY3RzKClgCi0gIHdpbGwgYmUgZXZhbHVhdGVkLCBhbmQg
dGVzdHMgd2lsbCBiZSBydW4gb24gdGhlIHJlc3VsdCB0byB2ZXJpZnkgdGhhdCBpdAotICBjb3Jy
ZWN0bHkgaW1wbGVtZW50cyB0aGF0IGludGVyZmFjZSBvciBleGNlcHRpb24uICBUaGlzIGlzIHRo
ZSBvbmx5IHdheSB0bwotICB0ZXN0IGFueXRoaW5nIGFib3V0IGBbTm9JbnRlcmZhY2VPYmplY3Rd
YCBpbnRlcmZhY2VzLCBhbmQgdGhlcmUgYXJlIG1hbnkKLSAgdGVzdHMgdGhhdCBjYW4ndCBiZSBy
dW4gb24gYW55IGludGVyZmFjZSB3aXRob3V0IGFuIG9iamVjdCB0byBmaWRkbGUgd2l0aC4KLQot
ICBUaGUgaW50ZXJmYWNlIGhhcyB0byBiZSB0aGUgKnByaW1hcnkqIGludGVyZmFjZSBvZiBhbGwg
dGhlIG9iamVjdHMKLSAgcHJvdmlkZWQuICBGb3IgZXhhbXBsZSwgZG9uJ3QgcGFzcyBge05vZGU6
IFsiZG9jdW1lbnQiXX1gLCBidXQgcmF0aGVyCi0gIGB7RG9jdW1lbnQ6IFsiZG9jdW1lbnQiXX1g
LiAgQXNzdW1pbmcgdGhlIGBEb2N1bWVudGAgaW50ZXJmYWNlIHdhcyBkZWNsYXJlZCB0bwotICBp
bmhlcml0IGZyb20gYE5vZGVgLCB0aGlzIHdpbGwgYXV0b21hdGljYWxseSB0ZXN0IHRoYXQgZG9j
dW1lbnQgaW1wbGVtZW50cwotICB0aGUgYE5vZGVgIGludGVyZmFjZSB0b28uCi0KLSAgV2Fybmlu
ZzogbWV0aG9kcyB3aWxsIGJlIGNhbGxlZCBvbiBhbnkgcHJvdmlkZWQgb2JqZWN0cywgaW4gYSBt
YW5uZXIgdGhhdAotICBXZWJJREwgcmVxdWlyZXMgYmUgc2FmZS4gIEZvciBpbnN0YW5jZSwgaWYg
YSBtZXRob2QgaGFzIG1hbmRhdG9yeQotICBhcmd1bWVudHMsIHRoZSB0ZXN0IHN1aXRlIHdpbGwg
dHJ5IGNhbGxpbmcgaXQgd2l0aCB0b28gZmV3IGFyZ3VtZW50cyB0bwotICBzZWUgaWYgaXQgdGhy
b3dzIGFuIGV4Y2VwdGlvbi4gIElmIGFuIGltcGxlbWVudGF0aW9uIGluY29ycmVjdGx5IHJ1bnMg
dGhlCi0gIGZ1bmN0aW9uIGluc3RlYWQgb2YgdGhyb3dpbmcsIHRoaXMgbWlnaHQgaGF2ZSBzaWRl
IGVmZmVjdHMsIHBvc3NpYmx5IGV2ZW4KLSAgcHJldmVudGluZyB0aGUgdGVzdCBzdWl0ZSBmcm9t
IHJ1bm5pbmcgY29ycmVjdGx5LgotCi0jIyMgYHByZXZlbnRfbXVsdGlwbGVfdGVzdGluZyhuYW1l
KWAKLSAgVGhpcyBpcyBhIG5pY2hlIG1ldGhvZCBmb3IgdXNlIGluIGNhc2UgeW91J3JlIHRlc3Rp
bmcgbWFueSBvYmplY3RzIHRoYXQKLSAgaW1wbGVtZW50IHRoZSBzYW1lIGludGVyZmFjZXMsIGFu
ZCBkb24ndCB3YW50IHRvIHJldGVzdCB0aGUgc2FtZQotICBpbnRlcmZhY2VzIGV2ZXJ5IHNpbmds
ZSB0aW1lLiAgRm9yIGluc3RhbmNlLCBIVE1MIGRlZmluZXMgbWFueSBpbnRlcmZhY2VzCi0gIHRo
YXQgYWxsIGluaGVyaXQgZnJvbSBgSFRNTEVsZW1lbnRgLCBzbyB0aGUgSFRNTCB0ZXN0IHN1aXRl
IGhhcyBzb21ldGhpbmcKLSAgbGlrZQotCi1gYGBqcwotLmFkZF9vYmplY3RzKHsKLSAgSFRNTEh0
bWxFbGVtZW50OiBbJ2RvY3VtZW50LmRvY3VtZW50RWxlbWVudCddLAotICBIVE1MSGVhZEVsZW1l
bnQ6IFsnZG9jdW1lbnQuaGVhZCddLAotICBIVE1MQm9keUVsZW1lbnQ6IFsnZG9jdW1lbnQuYm9k
eSddLAotICAuLi4KLX0pCi1gYGAKLQotICBhbmQgc28gb24gZm9yIGRvemVucyBvZiBlbGVtZW50
IHR5cGVzLiAgVGhpcyB3b3VsZCBtZWFuIHRoYXQgaXQgd291bGQKLSAgcmV0ZXN0IHRoYXQgZWFj
aCBhbmQgZXZlcnkgb25lIG9mIHRob3NlIGVsZW1lbnRzIGltcGxlbWVudHMgYEhUTUxFbGVtZW50
YCwKLSAgYEVsZW1lbnRgLCBhbmQgYE5vZGVgLCB3aGljaCB3b3VsZCBiZSB0aG91c2FuZHMgb2Yg
YmFzaWNhbGx5IHJlZHVuZGFudCB0ZXN0cy4KLSAgVGhlIHRlc3Qgc3VpdGUgdGhlcmVmb3JlIGNh
bGxzIGBwcmV2ZW50X211bHRpcGxlX3Rlc3RpbmcoIkhUTUxFbGVtZW50IilgLgotICBUaGlzIG1l
YW5zIHRoYXQgb25jZSBvbmUgb2JqZWN0IGhhcyBiZWVuIHRlc3RlZCB0byBpbXBsZW1lbnQgYEhU
TUxFbGVtZW50YAotICBhbmQgaXRzIGFuY2VzdG9ycywgbm8gb3RoZXIgb2JqZWN0IHdpbGwgYmUu
ICBUaHVzIGluIHRoZSBleGFtcGxlIGNvZGUKLSAgYWJvdmUsIHRoZSBoYXJuZXNzIHdvdWxkIHRl
c3QgdGhhdCBgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50YCBjb3JyZWN0bHkKLSAgaW1wbGVtZW50
cyBgSFRNTEh0bWxFbGVtZW50YCwgYEhUTUxFbGVtZW50YCwgYEVsZW1lbnRgLCBhbmQgYE5vZGVg
OyBidXQKLSAgYGRvY3VtZW50LmhlYWRgIHdvdWxkIG9ubHkgYmUgdGVzdGVkIGZvciBgSFRNTEhl
YWRFbGVtZW50YCwgYW5kIHNvIG9uIGZvcgotICBmdXJ0aGVyIG9iamVjdHMuCi0KLSMjIyBgdGVz
dCgpYAotICBSdW4gYWxsIHRlc3RzLiAgVGhpcyBzaG91bGQgYmUgY2FsbGVkIGFmdGVyIHlvdSd2
ZSBjYWxsZWQgYWxsIG90aGVyCi0gIG1ldGhvZHMgdG8gYWRkIElETHMgYW5kIG9iamVjdHMuCklu
ZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy9kb2NzL3czYy1pbXBvcnQubG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2RvY3MvdzNjLWltcG9ydC5sb2cJKHJl
dmlzaW9uIDI1Mjg5NikKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL2RvY3MvdzNjLWltcG9ydC5sb2cJKG5vbmV4aXN0ZW50KQpAQCAtMSwx
OSArMCwwIEBACi1UaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9t
IHRoZSBXM0MgcmVwb3NpdG9yeS4KLURvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkg
aW4gV2ViS2l0LgotSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXM0MgQ1NT
IG9yIFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy10ZXN0Ci0JaHR0
cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMKLQotVGhlbiBydW4gdGhlIFRv
b2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKLQotRG8g
Tk9UIG1vZGlmeSBvciByZW1vdmUgdGhpcyBmaWxlLgotCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLVByb3Bl
cnRpZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKLU5vbmUKLVByb3BlcnR5IHZhbHVlcyBy
ZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgotTm9uZQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1MaXN0IG9m
IGZpbGVzOgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL2RvY3MvYXBpLm1kCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvZG9jcy9pZGxoYXJuZXNzLm1kCkluZGV4OiBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy9hcGlzYW1w
bGUtZXJyb3Itd29ya2VyLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBsZS1lcnJvci13
b3JrZXIuanMJKHJldmlzaW9uIDI1Mjg5NikKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBsZS1lcnJvci13b3Jr
ZXIuanMJKG5vbmV4aXN0ZW50KQpAQCAtMSwzICswLDAgQEAKLWltcG9ydFNjcmlwdHMoIi4uL3Rl
c3RoYXJuZXNzLmpzIik7Ci0KLXRocm93IG5ldyBFcnJvcigiVGhpcyBmYWlsdXJlIGlzIGV4cGVj
dGVkLiIpOwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2FtcGxlLXdvcmtlci5qcwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9leGFt
cGxlcy9hcGlzYW1wbGUtd29ya2VyLmpzCShyZXZpc2lvbiAyNTI4OTYpCisrKyBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy9hcGlz
YW1wbGUtd29ya2VyLmpzCShub25leGlzdGVudCkKQEAgLTEsMzQgKzAsMCBAQAotaW1wb3J0U2Ny
aXB0cygiLi4vdGVzdGhhcm5lc3MuanMiKTsKLQotdGVzdCgKLSAgICBmdW5jdGlvbih0ZXN0KSB7
Ci0gICAgICAgIGFzc2VydF90cnVlKHRydWUsICJUcnVlIGlzIHRydWUiKTsKLSAgICB9LAotICAg
ICJXb3JrZXIgdGVzdCB0aGF0IGNvbXBsZXRlcyBzdWNjZXNzZnVsbHkiKTsKLQotdGVzdCgKLSAg
ICBmdW5jdGlvbih0ZXN0KSB7Ci0gICAgICAgIGFzc2VydF90cnVlKGZhbHNlLCAiRmFpbGluZyB0
ZXN0Iik7Ci0gICAgfSwKLSAgICAiV29ya2VyIHRlc3QgdGhhdCBmYWlscyAoJ0ZBSUwnKSIpOwot
Ci1hc3luY190ZXN0KAotICAgIGZ1bmN0aW9uKHRlc3QpIHsKLSAgICAgICAgYXNzZXJ0X3RydWUo
dHJ1ZSwgIlRydWUgaXMgdHJ1ZSIpOwotICAgIH0sCi0gICAgIldvcmtlciB0ZXN0IHRoYXQgdGlt
ZXMgb3V0ICgnVElNRU9VVCcpIik7Ci0KLWFzeW5jX3Rlc3QoIldvcmtlciB0ZXN0IHRoYXQgZG9l
c24ndCBydW4gKCdOT1QgUlVOJykiKTsKLQotYXN5bmNfdGVzdCgKLSAgICBmdW5jdGlvbih0ZXN0
KSB7Ci0gICAgICAgIHNlbGYuc2V0VGltZW91dCgKLSAgICAgICAgICAgIGZ1bmN0aW9uKCkgewot
ICAgICAgICAgICAgICAgIHRlc3QuZG9uZSgpOwotICAgICAgICAgICAgfSwKLSAgICAgICAgICAg
IDApOwotICAgIH0sCi0gICAgIldvcmtlciBhc3luY190ZXN0IHRoYXQgY29tcGxldGVzIHN1Y2Nl
c3NmdWxseSIpOwotCi0vLyBBbiBleHBsaWNpdCBkb25lKCkgaXMgcmVxdWlyZWQgZm9yIGRlZGlj
YXRlZCBhbmQgc2hhcmVkIHdlYiB3b3JrZXJzLgotZG9uZSgpOwpJbmRleDogTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2Ft
cGxlLmh0bQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy9hcGlzYW1wbGUuaHRtCShyZXZpc2lvbiAyNTI4
OTYpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy9leGFtcGxlcy9hcGlzYW1wbGUuaHRtCShub25leGlzdGVudCkKQEAgLTEsMTc1ICswLDAg
QEAKLTwhRE9DVFlQRSBIVE1MPg0KLTxodG1sPg0KLTxoZWFkPg0KLTx0aXRsZT5TYW1wbGUgSFRN
TDUgQVBJIFRlc3RzPC90aXRsZT4NCi08bWV0YSBuYW1lPSJ0aW1lb3V0IiBjb250ZW50PSI2MDAw
Ij4NCi08L2hlYWQ+DQotPGJvZHkgb25sb2FkPSJsb2FkX3Rlc3RfYXR0ci5kb25lKCkiPg0KLTxo
MT5TYW1wbGUgSFRNTDUgQVBJIFRlc3RzPC9oMT4NCi08ZGl2IGlkPSJsb2ciPjwvZGl2Pg0KLTxz
Y3JpcHQgc3JjPSIuLi90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+DQotPHNjcmlwdCBzcmM9Ii4u
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4NCi08c2NyaXB0Pg0KLSAgICBzZXR1cF9y
dW4gPSBmYWxzZTsNCi0gICAgc2V0dXAoZnVuY3Rpb24oKSB7DQotICAgICAgICAgICAgc2V0dXBf
cnVuID0gdHJ1ZTsNCi0gICAgICAgICAgfSk7DQotICAgIHRlc3QoZnVuY3Rpb24oKSB7YXNzZXJ0
X3RydWUoc2V0dXBfcnVuKX0sICJTZXR1cCBmdW5jdGlvbiByYW4iKTsNCi0NCi0gICAgLy8gVHdv
IGV4YW1wbGVzIGZvciB0ZXN0aW5nIGV2ZW50cyBmcm9tIGhhbmRsZXIgYW5kIGF0dHJpYnV0ZXMN
Ci0gICAgdmFyIGxvYWRfdGVzdF9ldmVudCA9IGFzeW5jX3Rlc3QoIndpbmRvdyBvbmxvYWQgZXZl
bnQgZmlyZXMgd2hlbiBzZXQgZnJvbSB0aGUgaGFuZGxlciIpOw0KLQ0KLSAgICBmdW5jdGlvbiB3
aW5kb3dMb2FkKCkNCi0gICAgew0KLSAgICAgICAgbG9hZF90ZXN0X2V2ZW50LmRvbmUoKTsNCi0g
ICAgfQ0KLSAgICBvbl9ldmVudCh3aW5kb3csICJsb2FkIiwgd2luZG93TG9hZCk7DQotDQotICAg
IC8vIHNlZSB0aGUgYm9keSBvbmxvYWQgYmVsb3cNCi0gICAgdmFyIGxvYWRfdGVzdF9hdHRyID0g
YXN5bmNfdGVzdCgiYm9keSBlbGVtZW50IGZpcmVzIHRoZSBvbmxvYWQgZXZlbnQgc2V0IGZyb20g
dGhlIGF0dHJpYnV0ZSIpOw0KLTwvc2NyaXB0Pg0KLTxzY3JpcHQ+DQotICAgIGZ1bmN0aW9uIGJv
ZHlFbGVtZW50KCkNCi0gICAgew0KLSAgICAgICAgYXNzZXJ0X2VxdWFscyhkb2N1bWVudC5ib2R5
LCBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiYm9keSIpWzBdKTsNCi0gICAgfQ0KLSAg
ICB0ZXN0KGJvZHlFbGVtZW50LCAiZG9jdW1lbnQuYm9keSBzaG91bGQgYmUgdGhlIGZpcnN0IGJv
ZHkgZWxlbWVudCBpbiB0aGUgZG9jdW1lbnQiKTsNCi0NCi0gICAgdGVzdChmdW5jdGlvbigpIHsN
Ci0gICAgICAgIGFzc2VydF9lcXVhbHMoMSwxKTsNCi0gICAgICAgIGFzc2VydF9lcXVhbHMoTmFO
LCBOYU4sICJOYU4gY2FzZSIpOw0KLSAgICAgICAgYXNzZXJ0X2VxdWFscygwLCAwLCAiWmVybyBj
YXNlIik7DQotICAgIH0sICJhc3NlcnRfZXF1YWxzIHRlc3RzIikNCi0NCi0gICAgdGVzdChmdW5j
dGlvbigpIHsNCi0gICAgICAgIGFzc2VydF9lcXVhbHMoLTAsIDAsICJaZXJvIGNhc2UiKTsNCi0g
ICAgfSwgImFzc2VydF9lcXVhbHMgdGVzdHMgZXhwZWN0ZWQgdG8gZmFpbCIpDQotDQotICAgIHRl
c3QoZnVuY3Rpb24oKSB7DQotICAgICAgICBhc3NlcnRfbm90X2VxdWFscyh7fSwge30sICJvYmpl
Y3QgY2FzZSIpOw0KLSAgICAgICAgYXNzZXJ0X25vdF9lcXVhbHMoLTAsIDAsICJaZXJvIGNhc2Ui
KTsNCi0gICAgfSwgImFzc2VydF9ub3RfZXF1YWxzIHRlc3RzIikNCi0NCi0gICAgZnVuY3Rpb24g
dGVzdEFzc2VydFBhc3MoKQ0KLSAgICB7DQotICAgICAgICBhc3NlcnRfdHJ1ZSh0cnVlKTsNCi0g
ICAgfQ0KLSAgICB0ZXN0KHRlc3RBc3NlcnRQYXNzLCAiYXNzZXJ0X3RydWUgZXhwZWN0ZWQgdG8g
cGFzcyIpOw0KLQ0KLSAgICBmdW5jdGlvbiB0ZXN0QXNzZXJ0RmFsc2UoKQ0KLSAgICB7DQotICAg
ICAgICBhc3NlcnRfdHJ1ZShmYWxzZSwgImZhbHNlIHNob3VsZCBub3QgYmUgdHJ1ZSIpOw0KLSAg
ICB9DQotICAgIHRlc3QodGVzdEFzc2VydEZhbHNlLCAiYXNzZXJ0X3RydWUgZXhwZWN0ZWQgdG8g
ZmFpbCIpOw0KLQ0KLSAgICBmdW5jdGlvbiBiYXNpY0Fzc2VydEFycmF5RXF1YWxzKCkNCi0gICAg
ew0KLSAgICAgICAgYXNzZXJ0X2FycmF5X2VxdWFscyhbMSwgTmFOXSwgWzEsIE5hTl0sICJbMSwg
TmFOXSBpcyBlcXVhbCB0byBbMSwgTmFOXSIpOw0KLSAgICB9DQotICAgIHRlc3QoYmFzaWNBc3Nl
cnRBcnJheUVxdWFscywgImJhc2ljIGFzc2VydF9hcnJheV9lcXVhbHMgdGVzdCIpOw0KLQ0KLSAg
ICBmdW5jdGlvbiBiYXNpY0Fzc2VydE9iamVjdEVxdWFscygpDQotICAgIHsNCi0gICAgICAgIGFz
c2VydF9vYmplY3RfZXF1YWxzKFsxLCAyLCBbMSwgMl1dLCB7IDA6IDEsIDE6IDIsIDI6IHsgMDog
MSwgMTogMn0gfSwgImFycmF5IGlzIGVxdWFsIHRvIG9iamVjdCIpDQotICAgIH0NCi0gICAgdGVz
dChiYXNpY0Fzc2VydE9iamVjdEVxdWFscywgImJhc2ljIGFzc2VydF9vYmplY3RfZXF1YWxzIHRl
c3QiKTsNCi0NCi0gICAgZnVuY3Rpb24gYmFzaWNBc3NlcnRBcHByb3hFcXVhbHMoKQ0KLSAgICB7
DQotICAgICAgICBhc3NlcnRfYXBwcm94X2VxdWFscygxMCwgMTEsIDEsICIxMCBpcyBhcHByb3hp
bWF0ZWx5ICgrLy0gMSkgMTEiKQ0KLSAgICB9DQotICAgIHRlc3QoYmFzaWNBc3NlcnRBcHByb3hF
cXVhbHMsICJiYXNpYyBhc3NlcnRfYXBwcm94X2VxdWFscyB0ZXN0Iik7DQotDQotICAgIGZ1bmN0
aW9uIGJhc2ljQXNzZXJ0TGVzc1RoYW4oKQ0KLSAgICB7DQotICAgICAgICBhc3NlcnRfbGVzc190
aGFuKDEwLCAxMSwgIjEwIGlzIGxlc3MgdGhhbiAxMSIpDQotICAgIH0NCi0gICAgdGVzdChiYXNp
Y0Fzc2VydEFwcHJveEVxdWFscywgImJhc2ljIGFzc2VydF9sZXNzX3RoYW4gdGVzdCIpOw0KLQ0K
LSAgICBmdW5jdGlvbiBiYXNpY0Fzc2VydEdyZWF0ZXJUaGFuKCkNCi0gICAgew0KLSAgICAgICAg
YXNzZXJ0X2dyZWF0ZXJfdGhhbigxMCwgMTEsICIxMCBpcyBub3QgZ3JlYXRlciB0aGFuIDExIik7
DQotICAgIH0NCi0gICAgdGVzdChiYXNpY0Fzc2VydEdyZWF0ZXJUaGFuLCAiYXNzZXJ0X2dyZWF0
ZXJfdGhhbiBleHBlY3RlZCB0byBmYWlsIik7DQotDQotICAgIGZ1bmN0aW9uIGJhc2ljQXNzZXJ0
R3JlYXRlclRoYW5FcXVhbCgpDQotICAgIHsNCi0gICAgICAgIGFzc2VydF9ncmVhdGVyX3RoYW5f
ZXF1YWwoMTAsIDEwLCAiMTAgaXMgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIDEwIikNCi0gICAg
fQ0KLSAgICB0ZXN0KGJhc2ljQXNzZXJ0R3JlYXRlclRoYW5FcXVhbCwgImJhc2ljIGFzc2VydF9n
cmVhdGVyX3RoYW5fZXF1YWwgdGVzdCIpOw0KLQ0KLSAgICBmdW5jdGlvbiBiYXNpY0Fzc2VydExl
c3NUaGFuRXF1YWwoKQ0KLSAgICB7DQotICAgICAgICBhc3NlcnRfZ3JlYXRlcl90aGFuX2VxdWFs
KCcxMCcsIDEwLCAiJzEwJyBpcyBub3QgYSBudW1iZXIiKQ0KLSAgICB9DQotICAgIHRlc3QoYmFz
aWNBc3NlcnRMZXNzVGhhbkVxdWFsLCAiYXNzZXJ0X2xlc3NfdGhhbl9lcXVhbCBleHBlY3RlZCB0
byBmYWlsIik7DQotDQotICAgIGZ1bmN0aW9uIHRlc3RBc3NlcnRJbmhlcml0cygpIHsNCi0gICAg
ICAgIHZhciBBID0gZnVuY3Rpb24oKXt0aGlzLmEgPSAiYSJ9DQotICAgICAgICBBLnByb3RvdHlw
ZSA9IHtiOiJiIn0NCi0gICAgICAgIHZhciBhID0gbmV3IEEoKTsNCi0gICAgICAgIGFzc2VydF9l
eGlzdHMoYSwgImEiKTsNCi0gICAgICAgIGFzc2VydF9ub3RfZXhpc3RzKGEsICJiIik7DQotICAg
ICAgICBhc3NlcnRfaW5oZXJpdHMoYSwgImIiKTsNCi0gICAgfQ0KLSAgICB0ZXN0KHRlc3RBc3Nl
cnRJbmhlcml0cywgInRlc3QgZm9yIGFzc2VydFtfbm90XV9leGlzdHMgYW5kIGluc2VydF9pbmhl
cml0cyIpDQotDQotICAgIHRlc3QoZnVuY3Rpb24oKQ0KLSAgICB7DQotICAgICAgICB2YXIgYSA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImEiKQ0KLSAgICAgICAgdmFyIGIgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJiIikNCi0gICAgICAgIGFzc2VydF90aHJvd3MoIk5PVF9GT1VORF9FUlIi
LCBmdW5jdGlvbigpe2EucmVtb3ZlQ2hpbGQoYil9KTsNCi0gICAgfSwgIlRlc3QgdGhyb3cgRE9N
IGV4Y2VwdGlvbiIpDQotDQotICAgIHRlc3QoZnVuY3Rpb24oKQ0KLSAgICB7DQotICAgICAgICB2
YXIgYSA9IGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCJhIikNCi0gICAgICAgIHZhciBiID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgiYiIpDQotICAgICAgICBhc3NlcnRfdGhyb3dzKCJOT1RfRk9V
TkRfRVJSIiwgZnVuY3Rpb24oKXthLmFwcGVuZENoaWxkKGIpfSk7DQotICAgIH0sICJUZXN0IHRo
cm93IERPTSBleGNlcHRpb24gZXhwZWN0ZWQgdG8gZmFpbCIpDQotDQotICAgIHRlc3QoZnVuY3Rp
b24oKQ0KLSAgICB7DQotICAgICAgICB2YXIgZSA9IHtjb2RlOjAsIG5hbWU6IlRFU1RfRVJSIiwg
VEVTVF9FUlI6MH0NCi0gICAgICAgIGFzc2VydF90aHJvd3MoIlRFU1RfRVJSIiwgZnVuY3Rpb24o
KSB7dGhyb3cgZX0pOw0KLSAgICB9LCAiVGVzdCBhc3NlcnRfdGhyb3dzIHdpdGggbm9uLURPTS1l
eGNlcHRpb24gZXhwZWN0ZWQgdG8gRmFpbCIpOw0KLQ0KLSAgICB2YXIgdCA9IGFzeW5jX3Rlc3Qo
IlRlc3Qgc3RlcF9mdW5jIikNCi0gICAgc2V0VGltZW91dCgNCi0gICAgICB0LnN0ZXBfZnVuYygN
Ci0gICAgICAgIGZ1bmN0aW9uICgpIHsNCi0gICAgICAgICAgYXNzZXJ0X3RydWUodHJ1ZSk7IHQu
ZG9uZSgpOw0KLSAgICAgICAgfSksIDApOw0KLQ0KLSAgICBhc3luY190ZXN0KGZ1bmN0aW9uKHQp
IHsNCi0gICAgICAgIHNldFRpbWVvdXQodC5zdGVwX2Z1bmMoZnVuY3Rpb24gKCl7YXNzZXJ0X3Ry
dWUodHJ1ZSk7IHQuZG9uZSgpO30pLCAwKTsNCi0gICAgfSwgIlRlc3QgYXN5bmMgdGVzdCB3aXRo
IGNhbGxiYWNrIik7DQotDQotICAgIGFzeW5jX3Rlc3QoZnVuY3Rpb24oKSB7DQotICAgICAgICBz
ZXRUaW1lb3V0KHRoaXMuc3RlcF9mdW5jKGZ1bmN0aW9uICgpe2Fzc2VydF90cnVlKHRydWUpOyB0
aGlzLmRvbmUoKTt9KSwgMCk7DQotICAgIH0sICJUZXN0IGFzeW5jIHRlc3Qgd2l0aCBjYWxsYmFj
ayBhbmQgYHRoaXNgIG9iai4iKTsNCi0NCi0gICAgYXN5bmNfdGVzdCgidGVzdCBzaG91bGQgdGlt
ZW91dCAoZmFpbCkgd2l0aCB0aGUgZGVmYXVsdCBvZiAyIHNlY29uZHMiKS5zdGVwKGZ1bmN0aW9u
KCl7fSk7DQotDQotICAgIGFzeW5jX3Rlc3QoInRlc3Qgc2hvdWxkIHRpbWVvdXQgKGZhaWwpIHdp
dGggYSBjdXN0b20gc2V0IHRpbWVvdXQgdmFsdWUgb2YgMSBzZWNvbmQiLA0KLSAgICAgICAgICAg
ICAgIHt0aW1lb3V0OjEwMDB9KS5zdGVwKGZ1bmN0aW9uKCl7fSk7DQotDQotICAgIGFzeW5jX3Rl
c3QoImFzeW5jIHRlc3QgdGhhdCBpcyBuZXZlciBzdGFydGVkLCBzaG91bGQgaGF2ZSBzdGF0dXMg
Tm90IFJ1biIsIHt0aW1lb3V0OjEwMDB9KTsNCi0NCi0NCi0gICAgdGVzdChmdW5jdGlvbih0KSB7
DQotICAgICAgICAgICAgIHdpbmRvdy5nbG9iYWwgPSAxOw0KLSAgICAgICAgICAgICB0LmFkZF9j
bGVhbnVwKGZ1bmN0aW9uKCkge2RlbGV0ZSB3aW5kb3cuZ2xvYmFsfSk7DQotICAgICAgICAgICAg
IGFzc2VydF9lcXVhbHMod2luZG93Lmdsb2JhbCwgMSk7DQotICAgICAgICAgfSwNCi0gICAgICAg
ICAiVGVzdCB0aGF0IGRlZmluZXMgYSBnbG9iYWwgYW5kIGNsZWFucyBpdCB1cCIpOw0KLQ0KLSAg
ICB0ZXN0KGZ1bmN0aW9uKCkge2Fzc2VydF9lcXVhbHMod2luZG93Lmdsb2JhbCwgdW5kZWZpbmVk
KX0sDQotICAgICAgICAgIlRlc3QgdGhhdCBjbGVhbnVwIGhhbmRsZXJzIGZyb20gcHJldmlvdXMg
dGVzdCByYW4iKTsNCi0NCi08L3NjcmlwdD4NCi08L2JvZHk+DQotPC9odG1sPg0KLQ0KLQ0KLQ0K
SW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL2V4YW1wbGVzL2FwaXNhbXBsZTEwLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2Ft
cGxlMTAuaHRtbAkocmV2aXNpb24gMjUyODk2KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2FtcGxlMTAuaHRtbAko
bm9uZXhpc3RlbnQpCkBAIC0xLDExOSArMCwwIEBACi08IURPQ1RZUEUgSFRNTD4KLTxodG1sPgot
PGhlYWQ+Ci08dGl0bGU+QXN5bmMgVGVzdHMgYW5kIFByb21pc2VzPC90aXRsZT4KLTwvaGVhZD4K
LTxib2R5PgotPGgxPkFzeW5jIFRlc3RzIGFuZCBQcm9taXNlczwvaDE+Ci08cD5UaGlzIHRlc3Qg
YXNzdW1lcyBFQ01BU2NyaXB0IDYgUHJvbWlzZSBzdXBwb3J0LiBTb21lIGZhaWx1cmVzIGFyZSBl
eHBlY3RlZC48L3A+Ci08ZGl2IGlkPSJsb2ciPjwvZGl2PgotPHNjcmlwdCBzcmM9Ii4uL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotCi10ZXN0KGZ1bmN0aW9uKCkgewotICB2YXIgcCA9IG5l
dyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkge30pOwotICBhc3NlcnRfdHJ1ZSgn
dGhlbicgaW4gcCk7Ci0gIGFzc2VydF9lcXVhbHModHlwZW9mIFByb21pc2UucmVzb2x2ZSwgJ2Z1
bmN0aW9uJyk7Ci0gIGFzc2VydF9lcXVhbHModHlwZW9mIFByb21pc2UucmVqZWN0LCAnZnVuY3Rp
b24nKTsKLX0sICJQcm9taXNlcyBhcmUgc3VwcG9ydGVkIGluIHlvdXIgYnJvd3NlciIpOwotCi0o
ZnVuY3Rpb24oKSB7Ci0gIHZhciB0ID0gYXN5bmNfdGVzdCgiUHJvbWlzZSByZXNvbHV0aW9uIik7
Ci0gIHQuc3RlcChmdW5jdGlvbigpIHsKLSAgICBQcm9taXNlLnJlc29sdmUoJ3gnKS50aGVuKAot
ICAgICAgdC5zdGVwX2Z1bmMoZnVuY3Rpb24odmFsdWUpIHsKLSAgICAgICAgYXNzZXJ0X2VxdWFs
cyh2YWx1ZSwgJ3gnKTsKLSAgICAgICAgdC5kb25lKCk7Ci0gICAgICB9KSwKLSAgICAgIHQudW5y
ZWFjaGVkX2Z1bmMoJ1Byb21pc2Ugc2hvdWxkIG5vdCByZWplY3QnKQotICAgICk7Ci0gIH0pOwot
fSgpKTsKLQotKGZ1bmN0aW9uKCkgewotICB2YXIgdCA9IGFzeW5jX3Rlc3QoIlByb21pc2UgcmVq
ZWN0aW9uIik7Ci0gIHQuc3RlcChmdW5jdGlvbigpIHsKLSAgICBQcm9taXNlLnJlamVjdChFcnJv
cignZmFpbCcpKS50aGVuKAotICAgICAgdC51bnJlYWNoZWRfZnVuYygnUHJvbWlzZSBzaG91bGQg
cmVqZWN0JyksCi0gICAgICB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKLSAgICAgICAg
YXNzZXJ0X3RydWUocmVhc29uIGluc3RhbmNlb2YgRXJyb3IpOwotICAgICAgICBhc3NlcnRfZXF1
YWxzKHJlYXNvbi5tZXNzYWdlLCAnZmFpbCcpOwotICAgICAgICB0LmRvbmUoKTsKLSAgICAgIH0p
Ci0gICAgKTsKLSAgfSk7Ci19KCkpOwotCi0oZnVuY3Rpb24oKSB7Ci0gIHZhciB0ID0gYXN5bmNf
dGVzdCgiUHJvbWlzZXMgcmVzb2x1dGlvbiBjaGFpbmluZyIpOwotICB0LnN0ZXAoZnVuY3Rpb24o
KSB7Ci0gICAgdmFyIHJlc29sdXRpb25zID0gW107Ci0gICAgUHJvbWlzZS5yZXNvbHZlKCdhJyku
dGhlbigKLSAgICAgIHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHZhbHVlKSB7Ci0gICAgICAgIHJlc29s
dXRpb25zLnB1c2godmFsdWUpOwotICAgICAgICByZXR1cm4gJ2InOwotICAgICAgfSkKLSAgICAp
LnRoZW4oCi0gICAgICB0LnN0ZXBfZnVuYyhmdW5jdGlvbih2YWx1ZSkgewotICAgICAgICByZXNv
bHV0aW9ucy5wdXNoKHZhbHVlKTsKLSAgICAgICAgcmV0dXJuICdjJzsKLSAgICAgIH0pCi0gICAg
KS50aGVuKAotICAgICAgdC5zdGVwX2Z1bmMoZnVuY3Rpb24odmFsdWUpIHsKLSAgICAgICAgcmVz
b2x1dGlvbnMucHVzaCh2YWx1ZSk7Ci0KLSAgICAgICAgYXNzZXJ0X2FycmF5X2VxdWFscyhyZXNv
bHV0aW9ucywgWydhJywgJ2InLCAnYyddKTsKLSAgICAgICAgdC5kb25lKCk7Ci0gICAgICB9KQot
ICAgICkuY2F0Y2goCi0gICAgICB0LnVucmVhY2hlZF9mdW5jKCdwcm9taXNlIHNob3VsZCBub3Qg
aGF2ZSByZWplY3RlZCcpCi0gICAgKTsKLSAgfSk7Ci19KCkpOwotCi0oZnVuY3Rpb24oKSB7Ci0g
IHZhciB0ID0gYXN5bmNfdGVzdCgiVXNlIG9mIHN0ZXBfZnVuYyB3aXRoIFByb21pc2VzIik7Ci0g
IHQuc3RlcChmdW5jdGlvbigpIHsKLSAgICB2YXIgcmVzb2x1dGlvbnMgPSBbXTsKLSAgICBQcm9t
aXNlLnJlc29sdmUoJ3gnKS50aGVuKAotICAgICAgdC5zdGVwX2Z1bmNfZG9uZSgpLAotICAgICAg
dC51bnJlYWNoZWRfZnVuYygnUHJvbWlzZSBzaG91bGQgbm90IGhhdmUgcmVqZWN0ZWQnKQotICAg
ICk7Ci0gIH0pOwotfSgpKTsKLQotKGZ1bmN0aW9uKCkgewotICB2YXIgdCA9IGFzeW5jX3Rlc3Qo
IlByb21pc2VzIGFuZCB0ZXN0IGFzc2VydGlvbiBmYWlsdXJlcyAoc2hvdWxkIGZhaWwpIik7Ci0g
IHQuc3RlcChmdW5jdGlvbigpIHsKLSAgICB2YXIgcmVzb2x1dGlvbnMgPSBbXTsKLSAgICBQcm9t
aXNlLnJlc29sdmUoJ3gnKS50aGVuKAotICAgICAgdC5zdGVwX2Z1bmMoZnVuY3Rpb24odmFsdWUp
IHsKLSAgICAgICAgYXNzZXJ0X3RydWUoZmFsc2UsICdUaGlzIGZhaWx1cmUgaXMgZXhwZWN0ZWQn
KTsKLSAgICAgIH0pCi0gICAgKS50aGVuKAotICAgICAgdC51bnJlYWNoZWRfZnVuYygnUHJvbWlz
ZSBzaG91bGQgbm90IGhhdmUgcmVzb2x2ZWQnKQotICAgICkuY2F0Y2goCi0gICAgICB0LnVucmVh
Y2hlZF9mdW5jKCdQcm9taXNlIHNob3VsZCBub3QgaGF2ZSByZWplY3RlZCcpCi0gICAgKTsKLSAg
fSk7Ci19KCkpOwotCi0oZnVuY3Rpb24oKSB7Ci0gIHZhciB0ID0gYXN5bmNfdGVzdCgiVXNlIG9m
IHVucmVhY2hlZF9mdW5jIHdpdGggUHJvbWlzZXMgKHNob3VsZCBmYWlsKSIpOwotICB0LnN0ZXAo
ZnVuY3Rpb24oKSB7Ci0gICAgdmFyIHJlc29sdXRpb25zID0gW107Ci0gICAgdmFyIHI7Ci0gICAg
dmFyIHAgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKLSAgICAgIC8v
IFJlamVjdCBpbnN0ZWFkIG9mIHJlc29sdmUsIHRvIGRlbW9uc3RyYXRlIGZhaWx1cmUuCi0gICAg
ICByZWplY3QoMTIzKTsKLSAgICB9KTsKLSAgICBwLnRoZW4oCi0gICAgICBmdW5jdGlvbih2YWx1
ZSkgewotICAgICAgICBhc3NlcnRfZXF1YWxzKHZhbHVlLCAxMjMsICdUaGlzIHNob3VsZCBub3Qg
YWN0dWFsbHkgaGFwcGVuJyk7Ci0gICAgICB9LAotICAgICAgdC51bnJlYWNoZWRfZnVuYygnVGhp
cyBmYWlsdXJlIGlzIGV4cGVjdGVkJykKLSAgICApOwotICB9KTsKLX0oKSk7Ci08L3NjcmlwdD4K
SW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL2V4YW1wbGVzL2FwaXNhbXBsZTExLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2Ft
cGxlMTEuaHRtbAkocmV2aXNpb24gMjUyODk2KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2FtcGxlMTEuaHRtbAko
bm9uZXhpc3RlbnQpCkBAIC0xLDk5ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08
aGVhZD4KLTx0aXRsZT5FeGFtcGxlIHdpdGggaWZyYW1lIHRoYXQgbm90aWZpZXMgY29udGFpbmlu
ZyBkb2N1bWVudCB2aWEgY2FsbGJhY2tzPC90aXRsZT4KLTxzY3JpcHQgc3JjPSIuLi90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgb25sb2FkPSJzdGFydF90ZXN0X2luX2lmcmFtZSgp
Ij4KLTxoMT5DYWxsYmFja3MgRnJvbSBUZXN0cyBSdW5uaW5nIEluIEFuIElGUkFNRTwvaDE+Ci08
cD5BIHRlc3QgaXMgcnVuIGluc2lkZSBhbiA8dHQ+aWZyYW1lPC90dD4gd2l0aCBhIHNhbWUgb3Jp
Z2luIGRvY3VtZW50LiBUaGUKLWNvbnRhaW5pbmcgZG9jdW1lbnQgc2hvdWxkIHJlY2VpdmUgY2Fs
bGJhY2tzIGFzIHRoZSB0ZXN0cyBwcm9ncmVzcyBpbnNpZGUgdGhlCi08dHQ+aWZyYW1lPC90dD4u
IEEgc2luZ2xlIHBhc3NpbmcgdGVzdCBpcyBleHBlY3RlZCBpbiB0aGUgc3VtbWFyeSBiZWxvdy4K
LTxkaXYgaWQ9ImxvZyI+PC9kaXY+Ci0KLTxzY3JpcHQ+Ci12YXIgY2FsbGJhY2tzID0gW107Ci12
YXIgU1RBUlQgPSAxCi12YXIgVEVTVF9TVEFURSA9IDIKLXZhciBSRVNVTFQgPSAzCi12YXIgQ09N
UExFVElPTiA9IDQKLXZhciB0ZXN0X2NvbXBsZXRlID0gZmFsc2U7Ci0KLXNldHVwKHtleHBsaWNp
dF9kb25lOiB0cnVlfSk7Ci0KLS8vIFRoZSBmb2xsb3dpbmcgY2FsbGJhY2tzIGFyZSBjYWxsZWQg
Zm9yIHRlc3RzIGluIHRoaXMgZG9jdW1lbnQgYXMgd2VsbCBhcyB0aGUKLS8vIHRlc3RzIGluIHRo
ZSBJRlJBTUUuIEN1cnJlbnRseSwgY2FsbGJhY2tzIGludm9rZWQgZnJvbSB0aGlzIGRvY3VtZW50
IGFuZCBhbnkKLS8vIGNoaWxkIGRvY3VtZW50IGFyZSBpbmRpc3Rpbmd1aXNoYWJsZSBmcm9tIGVh
Y2ggb3RoZXIuCi0KLWZ1bmN0aW9uIHN0YXJ0X2NhbGxiYWNrKHByb3BlcnRpZXMpIHsKLSAgICBj
YWxsYmFja3MucHVzaChTVEFSVCk7Ci19Ci0KLWZ1bmN0aW9uIHRlc3Rfc3RhdGVfY2FsbGJhY2so
dGVzdCkgewotICAgIGNhbGxiYWNrcy5wdXNoKFRFU1RfU1RBVEUpOwotfQotCi1mdW5jdGlvbiBy
ZXN1bHRfY2FsbGJhY2sodGVzdCkgewotICAgIGNhbGxiYWNrcy5wdXNoKFJFU1VMVCk7Ci19Ci0K
LWZ1bmN0aW9uIGNvbXBsZXRpb25fY2FsbGJhY2sodGVzdHMsIHN0YXR1cykgewotICAgIGlmICh0
ZXN0X2NvbXBsZXRlKSB7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0gICAgdGVzdF9jb21wbGV0
ZSA9IHRydWU7Ci0gICAgY2FsbGJhY2tzLnB1c2goQ09NUExFVElPTik7Ci0gICAgdmVyaWZ5X3Jl
Y2VpdmVkX2NhbGxiYWNrcygpOwotICAgIGRvbmUoKTsKLX0KLQotZnVuY3Rpb24gdmVyaWZ5X3Jl
Y2VpdmVkX2NhbGxiYWNrcygpIHsKLSAgICB2YXIgY29weV9vZl9jYWxsYmFja3MgPSBjYWxsYmFj
a3Muc2xpY2UoMCk7Ci0KLSAgICAvLyBOb3RlIHRoYXQgeW91IGNhbid0IHJ1biB0ZXN0IGFzc2Vy
dGlvbnMgZGlyZWN0bHkgaW4gYSBjYWxsYmFjayBldmVuIGlmCi0gICAgLy8gdGhpcyBpcyBhIGZp
bGUgdGVzdC4gV2hlbiB0aGUgY2FsbGJhY2sgaXMgaW52b2tlZCBmcm9tIGEgc2FtZS1vcmlnaW4g
Y2hpbGQKLSAgICAvLyBwYWdlLCB0aGUgY2FsbHN0YWNrIHJlYWNoZXMgaW50byB0aGUgY2FsbGlu
ZyBjaGlsZCBkb2N1bWVudC4gQW55Ci0gICAgLy8gZXhjZXB0aW9uIHRocm93biBpbiBhIGNhbGxi
YWNrIHdpbGwgYmUgaGFuZGxlZCBieSB0aGUgY2hpbGQgcmF0aGVyIHRoYW4KLSAgICAvLyB0aGlz
IGRvY3VtZW50LgotICAgIHRlc3QoCi0gICAgICAgIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAg
Ly8gY2FsbGJhY2tzIGxpc3Qgc2hvdWxkIGxvb2sgbGlrZToKLSAgICAgICAgICAgIC8vICAgICBT
VEFSVCAxKihURVNUX1NUQVRFKSBSRVNVTFQgQ09NUExFVElPTgotICAgICAgICAgICAgYXNzZXJ0
X2VxdWFscyhjb3B5X29mX2NhbGxiYWNrcy5zaGlmdCgpLCBTVEFSVCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgIlRoZSBmaXJzdCByZWNlaXZlZCBjYWxsYmFjayBzaG91bGQgYmUgJ3N0YXJ0
X2NhbGxiYWNrJy4iKTsKLSAgICAgICAgICAgIGFzc2VydF9lcXVhbHMoY29weV9vZl9jYWxsYmFj
a3Muc2hpZnQoKSwgVEVTVF9TVEFURSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIid0ZXN0
X3N0YXRlX2NhbGxiYWNrJyBzaG91bGQgYmUgcmVjZWl2ZWQgYmVmb3JlIGFueSAiICsKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgInJlc3VsdCBvciBjb21wbGV0aW9uIGNhbGxiYWNrcy4iKTsK
LSAgICAgICAgICAgIHdoaWxlKGNvcHlfb2ZfY2FsbGJhY2tzLmxlbmd0aCA+IDApIHsKLSAgICAg
ICAgICAgICAgICB2YXIgY2FsbGJhY2sgPSBjb3B5X29mX2NhbGxiYWNrcy5zaGlmdCgpOwotICAg
ICAgICAgICAgICAgIGlmIChjYWxsYmFjayAhPSBURVNUX1NUQVRFKSB7Ci0gICAgICAgICAgICAg
ICAgICAgIGNvcHlfb2ZfY2FsbGJhY2tzLnVuc2hpZnQoY2FsbGJhY2spOwotICAgICAgICAgICAg
ICAgICAgICBicmVhazsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB9Ci0gICAgICAg
ICAgICBhc3NlcnRfZXF1YWxzKGNvcHlfb2ZfY2FsbGJhY2tzLnNoaWZ0KCksIFJFU1VMVCwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgIid0ZXN0X3N0YXRlX2NhbGxiYWNrJyBzaG91bGQgYmUg
Zm9sbG93ZWQgYnkgJ3Jlc3VsdF9jYWxsYmFjaycuIik7Ci0gICAgICAgICAgICBhc3NlcnRfZXF1
YWxzKGNvcHlfb2ZfY2FsbGJhY2tzLnNoaWZ0KCksIENPTVBMRVRJT04sCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICJGaW5hbCAncmVzdWx0X2NhbGxiYWNrJyBzaG91bGQgYmUgZm9sbG93ZWQg
YnkgJ2NvbXBsZXRpb25fY2FsbGJhY2snLiIpOwotICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhj
b3B5X29mX2NhbGxiYWNrcy5sZW5ndGgsIDAsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICIn
Y29tcGxldGlvbl9jYWxsYmFjaycgc2hvdWxkIGJlIHRoZSBsYXN0IGNhbGxiYWNrLiIpOwotICAg
ICAgICB9KTsKLX0KLQotZnVuY3Rpb24gc3RhcnRfdGVzdF9pbl9pZnJhbWUoKSB7Ci0gICAgLy8g
VGhpcyBkb2N1bWVudCBpcyBnb2luZyB0byBjbGVhciBhbnkgcmVjZWl2ZWQgY2FsbGJhY2tzIGFu
ZCBtYWludGFpbgotICAgIC8vIHJhZGlvIHNpbGVuY2UgdW50aWwgdGhlIHRlc3QgaW4gdGhlIGlm
cmFtZSBydW5zIHRvIGNvbXBsZXRpb24uIFRoZQotICAgIC8vIGNvbXBsZXRpb25fY2FsbGJhY2so
KSB3aWxsIHRoZW4gY29tcGxldGUgdGhlIHRlc3Rpbmcgb24gdGhpcyBkb2N1bWVudC4KLSAgICBj
YWxsYmFja3MubGVuZ3RoID0gMDsKLSAgICB2YXIgaWZyYW1lID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgiaWZyYW1lIik7Ci0gICAgLy8gYXBpc2FtcGxlNi5odG1sIGhhcyBhIHNpbmdsZSB0ZXN0
LgotICAgIGlmcmFtZS5zcmMgPSAiYXBpc2FtcGxlNi5odG1sIjsKLSAgICBpZnJhbWUuc3R5bGUu
c2V0UHJvcGVydHkoImRpc3BsYXkiLCAibm9uZSIpOwotICAgIGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJ0YXJnZXQiKS5hcHBlbmRDaGlsZChpZnJhbWUpOwotfQotPC9zY3JpcHQ+Ci0KLTxkaXYg
aWQ9InRhcmdldCI+Ci08L2Rpdj4KLTwvYm9keT4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBsZTEyLmh0
bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2FtcGxlMTIuaHRtbAkocmV2aXNpb24gMjUyODk2
KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvZXhhbXBsZXMvYXBpc2FtcGxlMTIuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDY3ICswLDAg
QEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLTx0aXRsZT5FeGFtcGxlIHdpdGgg
aWZyYW1lIHRoYXQgbm90aWZpZXMgY29udGFpbmluZyBkb2N1bWVudCB2aWEgY3Jvc3MgZG9jdW1l
bnQgbWVzc2FnaW5nPC90aXRsZT4KLTxzY3JpcHQgc3JjPSIuLi90ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgot
PC9oZWFkPgotPGJvZHk+Ci08aDE+Tm90aWZpY2F0aW9ucyBGcm9tIFRlc3RzIFJ1bm5pbmcgSW4g
QW4gSUZSQU1FPC9oMT4KLTxwPkEgdGVzdCBpcyBydW4gaW5zaWRlIGFuIDx0dD5pZnJhbWU8L3R0
PiB3aXRoIGEgc2FtZSBvcmlnaW4gZG9jdW1lbnQuIFRoZQotY29udGFpbmluZyBkb2N1bWVudCBz
aG91bGQgcmVjZWl2ZSBtZXNzYWdlcyB2aWEgPHR0PnBvc3RNZXNzYWdlPC90dD4vCi08dHQ+b25t
ZXNzYWdlPC90dD4gYXMgdGhlIHRlc3RzIHByb2dyZXNzIGluc2lkZSB0aGUgPHR0PmlmcmFtZTwv
dHQ+LiBBIHNpbmdsZQotcGFzc2luZyB0ZXN0IGlzIGV4cGVjdGVkIGluIHRoZSBzdW1tYXJ5IGJl
bG93LgotPC9wPgotPGRpdiBpZD0ibG9nIj48L2Rpdj4KLQotPHNjcmlwdD4KLXZhciB0ID0gYXN5
bmNfdGVzdCgiQ29udGFpbmluZyBkb2N1bWVudCByZWNlaXZlcyBtZXNzYWdlcyIpOwotdmFyIHN0
YXJ0X3JlY2VpdmVkID0gZmFsc2U7Ci12YXIgcmVzdWx0X3JlY2VpdmVkID0gZmFsc2U7Ci12YXIg
Y29tcGxldGlvbl9yZWNlaXZlZCA9IGZhbHNlOwotCi0vLyBUaGVzZSBhcmUgdGhlIG1lc3NhZ2Vz
IHRoYXQgYXJlIGV4cGVjdGVkIHRvIGJlIHNlZW4gd2hpbGUgcnVubmluZyB0aGUgdGVzdHMKLS8v
IGluIHRoZSBJRlJBTUUuCi12YXIgZXhwZWN0ZWRfbWVzc2FnZXMgPSBbCi0gICAgdC5zdGVwX2Z1
bmMoCi0gICAgICAgIGZ1bmN0aW9uKG1lc3NhZ2UpIHsKLSAgICAgICAgICAgIGFzc2VydF9lcXVh
bHMobWVzc2FnZS5kYXRhLnR5cGUsICJzdGFydCIpOwotICAgICAgICAgICAgYXNzZXJ0X293bl9w
cm9wZXJ0eShtZXNzYWdlLmRhdGEsICJwcm9wZXJ0aWVzIik7Ci0gICAgICAgIH0pLAotCi0gICAg
dC5zdGVwX2Z1bmMoCi0gICAgICAgIGZ1bmN0aW9uKG1lc3NhZ2UpIHsKLSAgICAgICAgICAgIGFz
c2VydF9lcXVhbHMobWVzc2FnZS5kYXRhLnR5cGUsICJ0ZXN0X3N0YXRlIik7Ci0gICAgICAgICAg
ICBhc3NlcnRfZXF1YWxzKG1lc3NhZ2UuZGF0YS50ZXN0LnN0YXR1cywgbWVzc2FnZS5kYXRhLnRl
c3QuTk9UUlVOKTsKLSAgICAgICAgfSksCi0KLSAgICB0LnN0ZXBfZnVuYygKLSAgICAgICAgZnVu
Y3Rpb24obWVzc2FnZSkgewotICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhtZXNzYWdlLmRhdGEu
dHlwZSwgInJlc3VsdCIpOwotICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhtZXNzYWdlLmRhdGEu
dGVzdC5zdGF0dXMsIG1lc3NhZ2UuZGF0YS50ZXN0LlBBU1MpOwotICAgICAgICB9KSwKLQotICAg
IHQuc3RlcF9mdW5jKAotICAgICAgICBmdW5jdGlvbihtZXNzYWdlKSB7Ci0gICAgICAgICAgICBh
c3NlcnRfZXF1YWxzKG1lc3NhZ2UuZGF0YS50eXBlLCAiY29tcGxldGUiKTsKLSAgICAgICAgICAg
IGFzc2VydF9lcXVhbHMobWVzc2FnZS5kYXRhLnRlc3RzLmxlbmd0aCwgMSk7Ci0gICAgICAgICAg
ICBhc3NlcnRfZXF1YWxzKG1lc3NhZ2UuZGF0YS50ZXN0c1swXS5zdGF0dXMsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgIG1lc3NhZ2UuZGF0YS50ZXN0c1swXS5QQVNTKTsKLSAgICAgICAgICAg
IGFzc2VydF9lcXVhbHMobWVzc2FnZS5kYXRhLnN0YXR1cy5zdGF0dXMsIG1lc3NhZ2UuZGF0YS5z
dGF0dXMuT0spOwotICAgICAgICAgICAgdC5kb25lKCk7Ci0gICAgICAgIH0pLAotCi0gICAgdC51
bnJlYWNoZWRfZnVuYygiVG9vIG1hbnkgbWVzc2FnZXMgcmVjZWl2ZWQiKQotXTsKLQotb25fZXZl
bnQod2luZG93LAotICAgICAgICAgIm1lc3NhZ2UiLAotICAgICAgICAgZnVuY3Rpb24obWVzc2Fn
ZSkgewotICAgICAgICAgICAgIHZhciBoYW5kbGVyID0gZXhwZWN0ZWRfbWVzc2FnZXMuc2hpZnQo
KTsKLSAgICAgICAgICAgICBoYW5kbGVyKG1lc3NhZ2UpOwotICAgICAgICAgfSk7Ci08L3Njcmlw
dD4KLTxpZnJhbWUgc3JjPSJhcGlzYW1wbGU2Lmh0bWwiIHN0eWxlPSJkaXNwbGF5Om5vbmUiPgot
ICA8IS0tICBhcGlzYW1wbGU2IGltcGxlbWVudHMgYSBmaWxlX2lzX3Rlc3QgdGVzdC4gIC0tPgot
PC9pZnJhbWU+Ci08L2JvZHk+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy9hcGlzYW1wbGUxMy5odG1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL2V4YW1wbGVzL2FwaXNhbXBsZTEzLmh0bWwJKHJldmlzaW9uIDI1Mjg5NikKKysrIExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVz
L2FwaXNhbXBsZTEzLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwxMzIgKzAsMCBAQAotPCFET0NU
WVBFIEhUTUw+Ci08aHRtbD4KLTxoZWFkPgotPHRpdGxlPlByb21pc2UgVGVzdHM8L3RpdGxlPgot
PC9oZWFkPgotPGJvZHk+Ci08aDE+UHJvbWlzZSBUZXN0czwvaDE+Ci08cD5UaGlzIHRlc3QgZGVt
b25zdHJhdGVzIHRoZSB1c2Ugb2YgPHR0PnByb21pc2VfdGVzdDwvdHQ+LiBBc3N1bWVzIEVDTUFT
Y3JpcHQgNgotUHJvbWlzZSBzdXBwb3J0LiBTb21lIGZhaWx1cmVzIGFyZSBleHBlY3RlZC48L3A+
Ci08ZGl2IGlkPSJsb2ciPjwvZGl2PgotPHNjcmlwdCBzcmM9Ii4uL3Rlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0PgotdGVzdCgKLSAgICBmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIHAgPSBuZXcg
UHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3Qpe30pOwotICAgICAgICBhc3NlcnRfdHJ1
ZSgidGhlbiIgaW4gcCk7Ci0gICAgICAgIGFzc2VydF9lcXVhbHModHlwZW9mIFByb21pc2UucmVz
b2x2ZSwgImZ1bmN0aW9uIik7Ci0gICAgICAgIGFzc2VydF9lcXVhbHModHlwZW9mIFByb21pc2Uu
cmVqZWN0LCAiZnVuY3Rpb24iKTsKLSAgICB9LAotICAgICJQcm9taXNlcyBhcmUgc3VwcG9ydGVk
IGluIHlvdXIgYnJvd3NlciIpOwotCi1wcm9taXNlX3Rlc3QoCi0gICAgZnVuY3Rpb24oKSB7Ci0g
ICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoIngiKQotICAgICAgICAgICAgLnRoZW4oCi0g
ICAgICAgICAgICAgICAgZnVuY3Rpb24odmFsdWUpIHsKLSAgICAgICAgICAgICAgICAgICAgYXNz
ZXJ0X2VxdWFscyh2YWx1ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAieCIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkZ1bGZpbGxlZCBwcm9taXNlIHNo
b3VsZCBwYXNzIHJlc3VsdCB0byAiICsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAiZnVsZmlsbCByZWFjdGlvbi4iKTsKLSAgICAgICAgICAgICAgICB9KTsKLSAgICB9LAotICAg
ICJQcm9taXNlIGZ1bGZpbGxtZW50IHdpdGggcmVzdWx0Iik7Ci0KLXByb21pc2VfdGVzdCgKLSAg
ICBmdW5jdGlvbih0KSB7Ci0gICAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdChuZXcgRXJyb3Io
ImZhaWwiKSkKLSAgICAgICAgICAgIC50aGVuKHQudW5yZWFjaGVkX2Z1bmMoIlByb21pc2Ugc2hv
dWxkIHJlamVjdCIpLAotICAgICAgICAgICAgICAgIGZ1bmN0aW9uKHJlYXNvbikgewotICAgICAg
ICAgICAgICAgICAgICBhc3NlcnRfdHJ1ZSgKLSAgICAgICAgICAgICAgICAgICAgICAgIHJlYXNv
biBpbnN0YW5jZW9mIEVycm9yLAotICAgICAgICAgICAgICAgICAgICAgICAgIlJlamVjdGVkIHBy
b21pc2Ugc2hvdWxkIHBhc3MgcmVhc29uIHRvIGZ1bGZpbGwgcmVhY3Rpb24uIik7Ci0gICAgICAg
ICAgICAgICAgICAgIGFzc2VydF9lcXVhbHMoCi0gICAgICAgICAgICAgICAgICAgICAgICByZWFz
b24ubWVzc2FnZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJmYWlsIiwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJSZWplY3RlZCBwcm9taXNlIHNob3VsZCBwYXNzIHJlYXNvbiB0byByZWpl
Y3QgcmVhY3Rpb24uIik7Ci0gICAgICAgICAgICAgICAgfSk7Ci0gICAgfSwKLSAgICAiUHJvbWlz
ZSByZWplY3Rpb24gd2l0aCByZXN1bHQiKTsKLQotcHJvbWlzZV90ZXN0KAotICAgIGZ1bmN0aW9u
KCkgewotICAgICAgICB2YXIgcmVzb2x1dGlvbnMgPSBbXTsKLSAgICAgICAgcmV0dXJuIFByb21p
c2UucmVzb2x2ZSgiYSIpCi0gICAgICAgICAgICAudGhlbigKLSAgICAgICAgICAgICAgICBmdW5j
dGlvbih2YWx1ZSkgewotICAgICAgICAgICAgICAgICAgICByZXNvbHV0aW9ucy5wdXNoKHZhbHVl
KTsKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuICJiIjsKLSAgICAgICAgICAgICAgICB9KQot
ICAgICAgICAgICAgLnRoZW4oCi0gICAgICAgICAgICAgICAgZnVuY3Rpb24odmFsdWUpIHsKLSAg
ICAgICAgICAgICAgICAgICAgcmVzb2x1dGlvbnMucHVzaCh2YWx1ZSk7Ci0gICAgICAgICAgICAg
ICAgICAgIHJldHVybiAiYyI7Ci0gICAgICAgICAgICAgICAgfSkKLSAgICAgICAgICAgIC50aGVu
KAotICAgICAgICAgICAgICAgIGZ1bmN0aW9uKHZhbHVlKSB7Ci0gICAgICAgICAgICAgICAgICAg
IHJlc29sdXRpb25zLnB1c2godmFsdWUpOwotICAgICAgICAgICAgICAgICAgICBhc3NlcnRfYXJy
YXlfZXF1YWxzKHJlc29sdXRpb25zLCBbImEiLCAiYiIsICJjIl0pOwotICAgICAgICAgICAgICAg
IH0pOwotICAgIH0sCi0gICAgIkNoYWluIG9mIHByb21pc2UgcmVzb2x1dGlvbnMiKTsKLQotcHJv
bWlzZV90ZXN0KAotICAgIGZ1bmN0aW9uKHQpIHsKLSAgICAgICAgdmFyIHJlc29sdXRpb25zID0g
W107Ci0gICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoIngiKQotICAgICAgICAgICAgLnRo
ZW4oCi0gICAgICAgICAgICAgICAgZnVuY3Rpb24odmFsdWUpIHsKLSAgICAgICAgICAgICAgICAg
ICAgYXNzZXJ0X3RydWUoZmFsc2UsICJFeHBlY3RlZCBmYWlsdXJlLiIpOwotICAgICAgICAgICAg
ICAgIH0pCi0gICAgICAgICAgICAudGhlbih0LnVucmVhY2hlZF9mdW5jKCJVTkVYUEVDVEVEIEZB
SUxVUkU6IFByb21pc2Ugc2hvdWxkIG5vdCBoYXZlIHJlc29sdmVkLiIpKTsKLSAgICB9LAotICAg
ICJBc3NlcnRpb24gZmFpbHVyZSBpbiBhIGZ1bGZpbGwgcmVhY3Rpb24gKHNob3VsZCBGQUlMIHdp
dGggYW4gZXhwZWN0ZWQgZmFpbHVyZSkiKTsKLQotcHJvbWlzZV90ZXN0KAotICAgIGZ1bmN0aW9u
KHQpIHsKLSAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKAotICAgICAgICAgICAgICAgIGZ1bmN0
aW9uKHJlc29sdmUsIHJlamVjdCkgewotICAgICAgICAgICAgICAgICAgICByZWplY3QoMTIzKTsK
LSAgICAgICAgICAgICAgICB9KQotICAgICAgICAgICAgLnRoZW4odC51bnJlYWNoZWRfZnVuYygi
VU5FWFBFQ1RFRCBGQUlMVVJFOiBGdWxmaWxsIHJlYWN0aW9uIHJlYWNoZWQgYWZ0ZXIgcmVqZWN0
aW9uLiIpLAotICAgICAgICAgICAgICAgICAgdC51bnJlYWNoZWRfZnVuYygiRXhwZWN0ZWQgZmFp
bHVyZS4iKSk7Ci0gICAgfSwKLSAgICAidW5yZWFjaGVkX2Z1bmMgYXMgcmVhY3RvciAoc2hvdWxk
IEZBSUwgd2l0aCBhbiBleHBlY3RlZCBmYWlsdXJlKSIpOwotCi1wcm9taXNlX3Rlc3QoCi0gICAg
ZnVuY3Rpb24oKSB7Ci0gICAgICAgIHJldHVybiB0cnVlOwotICAgIH0sCi0gICAgInByb21pc2Vf
dGVzdCB3aXRoIGZ1bmN0aW9uIHRoYXQgZG9lc24ndCByZXR1cm4gYSBQcm9taXNlIik7Ci0KLXBy
b21pc2VfdGVzdChmdW5jdGlvbigpe30sCi0gICAgICAgICAgICAgInByb21pc2VfdGVzdCB3aXRo
IGZ1bmN0aW9uIHRoYXQgZG9lc24ndCByZXR1cm4gYW55dGhpbmciKTsKLQotcHJvbWlzZV90ZXN0
KAotICAgIGZ1bmN0aW9uKCkgewotICAgICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QoIkV4cGVj
dGVkIHJlamVjdGlvbiIpOwotICAgIH0sCi0gICAgInByb21pc2VfdGVzdCB3aXRoIHVuaGFuZGxl
ZCByZWplY3Rpb24gKHNob3VsZCBGQUlMKSIpOwotCi1wcm9taXNlX3Rlc3QoCi0gICAgZnVuY3Rp
b24oKSB7Ci0gICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoMTApCi0gICAgICAgICAgICAu
dGhlbigKLSAgICAgICAgICAgICAgICBmdW5jdGlvbih2YWx1ZSkgewotICAgICAgICAgICAgICAg
ICAgICB0aHJvdyBFcnJvcigiRXhwZWN0ZWQgZXhjZXB0aW9uLiIpOwotICAgICAgICAgICAgICAg
IH0pOwotICAgIH0sCi0gICAgInByb21pc2VfdGVzdCB3aXRoIHVuaGFuZGxlZCBleGNlcHRpb24g
aW4gZnVsZmlsbCByZWFjdGlvbiAoc2hvdWxkIEZBSUwpIik7Ci0KLXByb21pc2VfdGVzdCgKLSAg
ICBmdW5jdGlvbih0KSB7Ci0gICAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdCgxMCkKLSAgICAg
ICAgICAgIC50aGVuKAotICAgICAgICAgICAgICAgIHQudW5yZWFjaGVkX2Z1bmMoIlVORVhQRUNU
RUQgRkFJTFVSRTogRnVsZmlsbCByZWFjdGlvbiByZWFjaGVkIGFmdGVyIHJlamVjdGlvbi4iKSwK
LSAgICAgICAgICAgICAgICBmdW5jdGlvbih2YWx1ZSkgewotICAgICAgICAgICAgICAgICAgICB0
aHJvdyBFcnJvcigiRXhwZWN0ZWQgZXhjZXB0aW9uLiIpOwotICAgICAgICAgICAgICAgIH0pOwot
ICAgIH0sCi0gICAgInByb21pc2VfdGVzdCB3aXRoIHVuaGFuZGxlZCBleGNlcHRpb24gaW4gcmVq
ZWN0IHJlYWN0aW9uIChzaG91bGQgRkFJTCkiKTsKLTwvc2NyaXB0PgpJbmRleDogTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZXMvYXBp
c2FtcGxlMTQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy9hcGlzYW1wbGUxNC5odG1sCShyZXZp
c2lvbiAyNTI4OTYpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy9leGFtcGxlcy9hcGlzYW1wbGUxNC5odG1sCShub25leGlzdGVudCkKQEAg
LTEsMjkgKzAsMCBAQAotPCFET0NUWVBFIEhUTUw+Ci08aHRtbD4KLTxoZWFkPgotPHRpdGxlPkRl
ZGljYXRlZCBXb3JrZXIgVGVzdHM8L3RpdGxlPgotPHNjcmlwdCBzcmM9Ii4uL3Rlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9z
Y3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxoMT5EZWRpY2F0ZWQgV2ViIFdvcmtlciBUZXN0czwv
aDE+Ci08cD5EZW1vbnN0cmF0ZXMgcnVubmluZyA8dHQ+dGVzdGhhcm5lc3M8L3R0PiBiYXNlZCB0
ZXN0cyBpbnNpZGUgYSBkZWRpY2F0ZWQgd2ViIHdvcmtlci4KLTxwPlRoZSB0ZXN0IGhhcm5lc3Mg
aXMgZXhwZWN0ZWQgdG8gZmFpbCBkdWUgdG8gYW4gdW5jYXVnaHQgZXhjZXB0aW9uIGluIG9uZSB3
b3JrZXIuPC9wPgotPGRpdiBpZD0ibG9nIj48L2Rpdj4KLQotPHNjcmlwdD4KLXRlc3QoZnVuY3Rp
b24odCkgewotICAgICAgICBhc3NlcnRfdHJ1ZSgiV29ya2VyIiBpbiBzZWxmLCAiQnJvd3NlciBz
aG91bGQgc3VwcG9ydCBXb3JrZXJzIik7Ci0gICAgfSwKLSAgICAiQnJvd3NlciBzdXBwb3J0cyBX
b3JrZXJzIik7Ci0KLWZldGNoX3Rlc3RzX2Zyb21fd29ya2VyKG5ldyBXb3JrZXIoImFwaXNhbXBs
ZS13b3JrZXIuanMiKSk7Ci0KLWZldGNoX3Rlc3RzX2Zyb21fd29ya2VyKG5ldyBXb3JrZXIoImFw
aXNhbXBsZS1lcnJvci13b3JrZXIuanMiKSk7Ci0KLXRlc3QoZnVuY3Rpb24odCkgewotICAgICAg
ICBhc3NlcnRfZmFsc2UoZmFsc2UsICJGYWxzZSBpcyBmYWxzZSIpOwotICAgIH0sCi0gICAgIlRl
c3QgcnVubmluZyBvbiBtYWluIGRvY3VtZW50LiIpOwotPC9zY3JpcHQ+Ci08L2JvZHk+CkluZGV4
OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9l
eGFtcGxlcy9hcGlzYW1wbGUxNS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBsZTE1
Lmh0bWwJKHJldmlzaW9uIDI1Mjg5NikKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBsZTE1Lmh0bWwJKG5vbmV4
aXN0ZW50KQpAQCAtMSwyNiArMCwwIEBACi08IURPQ1RZUEUgSFRNTD4KLTxodG1sPgotPGhlYWQ+
Ci08dGl0bGU+RXhhbXBsZSB3aXRoIGEgc2hhcmVkIHdvcmtlcjwvdGl0bGU+Ci08c2NyaXB0IHNy
Yz0iLi4vdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGgxPlNoYXJlZCBXZWIg
V29ya2VyIFRlc3RzPC9oMT4KLTxwPkRlbW9uc3RyYXRlcyBydW5uaW5nIDx0dD50ZXN0aGFybmVz
czwvdHQ+IGJhc2VkIHRlc3RzIGluc2lkZSBhIHNoYXJlZCB3b3JrZXIuCi08cD5UaGUgdGVzdCBo
YXJuZXNzIHNob3VsZCB0aW1lIG91dCBkdWUgdG8gb25lIG9mIHRoZSB0ZXN0cyBpbiB0aGUgd29y
a2VyIHRpbWluZyBvdXQuCi08cD5UaGlzIHRlc3QgYXNzdW1lcyB0aGF0IHRoZSBicm93c2VyIHN1
cHBvcnRzIDxhIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL3dvcmtlcnMvI3NoYXJlZC13b3Jr
ZXJzLWFuZC10aGUtc2hhcmVkd29ya2VyLWludGVyZmFjZSI+c2hhcmVkIHdlYiB3b3JrZXJzPC9h
Pi4KLTxkaXYgaWQ9ImxvZyI+PC9kaXY+Ci0KLTxzY3JpcHQ+Ci10ZXN0KAotICAgIGZ1bmN0aW9u
KHQpIHsKLSAgICAgICAgYXNzZXJ0X3RydWUoIlNoYXJlZFdvcmtlciIgaW4gc2VsZiwKLSAgICAg
ICAgICAgICAgICAgICAgIkJyb3dzZXIgc2hvdWxkIHN1cHBvcnQgU2hhcmVkV29ya2VycyIpOwot
ICAgIH0sCi0gICAgIkJyb3dzZXIgc3VwcG9ydHMgU2hhcmVkV29ya2VycyIpOwotCi1mZXRjaF90
ZXN0c19mcm9tX3dvcmtlcihuZXcgU2hhcmVkV29ya2VyKCJhcGlzYW1wbGUtd29ya2VyLmpzIiwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk15IHNoYXJlZCB3b3Jr
ZXIiKSk7Ci08L3NjcmlwdD4KLTwvYm9keT4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBsZTE2Lmh0bWwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2FtcGxlMTYuaHRtbAkocmV2aXNpb24gMjUyODk2KQor
KysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
ZXhhbXBsZXMvYXBpc2FtcGxlMTYuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDYyICswLDAgQEAK
LTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLTx0aXRsZT5FeGFtcGxlIHdpdGggYSBz
ZXJ2aWNlIHdvcmtlcjwvdGl0bGU+Ci08c2NyaXB0IHNyYz0iLi4vdGVzdGhhcm5lc3MuanMiPjwv
c2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
LTwvaGVhZD4KLTxib2R5PgotPGgxPlNlcnZpY2UgV29ya2VyIFRlc3RzPC9oMT4KLTxwPkRlbW9u
c3RyYXRlcyBydW5uaW5nIDx0dD50ZXN0aGFybmVzczwvdHQ+IGJhc2VkIHRlc3RzIGluc2lkZSBh
IHNlcnZpY2Ugd29ya2VyLgotPHA+VGhlIHRlc3QgaGFybmVzcyBzaG91bGQgdGltZSBvdXQgZHVl
IHRvIG9uZSBvZiB0aGUgdGVzdHMgaW5zaWRlIHRoZSB3b3JrZXIgdGltaW5nIG91dC4KLTxwPlRo
aXMgdGVzdCBhc3N1bWVzIHRoYXQgdGhlIGJyb3dzZXIgc3VwcG9ydHMgPGEgaHJlZj0iaHR0cDov
L3d3dy53My5vcmcvVFIvc2VydmljZS13b3JrZXJzLyI+U2VydmljZVdvcmtlcnM8L2E+LgotPGRp
diBpZD0ibG9nIj48L2Rpdj4KLQotPHNjcmlwdD4KLXRlc3QoCi0gICAgZnVuY3Rpb24odCkgewot
ICAgICAgICBhc3NlcnRfdHJ1ZSgic2VydmljZVdvcmtlciIgaW4gbmF2aWdhdG9yLAotICAgICAg
ICAgICAgICAgICAgICAibmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIgZXhpc3RzIik7Ci0gICAgfSwK
LSAgICAiQnJvd3NlciBzdXBwb3J0cyBTZXJ2aWNlV29ya2VyIik7Ci0KLXByb21pc2VfdGVzdCgK
LSAgICBmdW5jdGlvbigpIHsKLSAgICAgICAgLy8gU2luY2UgdGhlIHNlcnZpY2Ugd29ya2VyIHJl
Z2lzdHJhdGlvbiBjb3VsZCBiZSBpbiBhbiBpbmRldGVybWluYXRlCi0gICAgICAgIC8vIHN0YXRl
IChkdWUgdG8sIGZvciBleGFtcGxlLCBhIHByZXZpb3VzIHRlc3QgcnVuIGZhaWxpbmcpLCB3ZSBz
dGFydCBieQotICAgICAgICAvLyB1bnJlZ3N0ZXJpbmcgb3VyIHNlcnZpY2Ugd29ya2VyIGFuZCB0
aGVuIHJlZ2lzdGVyaW5nIGl0IGFnYWluLgotICAgICAgICB2YXIgc2NvcGUgPSAiL3NlcnZpY2Ut
d29ya2VyLXNjb3BlIjsKLSAgICAgICAgdmFyIHdvcmtlcl91cmwgPSAiYXBpc2FtcGxlLXdvcmtl
ci5qcyI7Ci0KLSAgICAgICAgcmV0dXJuIG5hdmlnYXRvci5zZXJ2aWNlV29ya2VyLnJlZ2lzdGVy
KHdvcmtlcl91cmwsIHtzY29wZTogc2NvcGV9KQotICAgICAgICAgICAgLnRoZW4oCi0gICAgICAg
ICAgICAgICAgZnVuY3Rpb24ocmVnaXN0cmF0aW9uKSB7Ci0gICAgICAgICAgICAgICAgICAgIHJl
dHVybiByZWdpc3RyYXRpb24udW5yZWdpc3RlcigpOwotICAgICAgICAgICAgICAgIH0pCi0gICAg
ICAgICAgICAudGhlbigKLSAgICAgICAgICAgICAgICBmdW5jdGlvbigpIHsKLSAgICAgICAgICAg
ICAgICAgICAgcmV0dXJuIG5hdmlnYXRvci5zZXJ2aWNlV29ya2VyLnJlZ2lzdGVyKHdvcmtlcl91
cmwsIHtzY29wZTogc2NvcGV9KTsKLSAgICAgICAgICAgICAgICB9KQotICAgICAgICAgICAgLnRo
ZW4oCi0gICAgICAgICAgICAgICAgZnVuY3Rpb24ocmVnaXN0cmF0aW9uKSB7Ci0gICAgICAgICAg
ICAgICAgICAgIGFkZF9jb21wbGV0aW9uX2NhbGxiYWNrKAotICAgICAgICAgICAgICAgICAgICAg
ICAgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVnaXN0cmF0aW9u
LnVucmVnaXN0ZXIoKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIH0pOwotCi0gICAgICAgICAg
ICAgICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgKLSAgICAgICAgICAgICAgICAgICAgICAgIGZ1
bmN0aW9uKHJlc29sdmUpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWdpc3RyYXRp
b24uYWRkRXZlbnRMaXN0ZW5lcigidXBkYXRlZm91bmQiLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHJlc29sdmUocmVnaXN0cmF0aW9uLmluc3RhbGxpbmcpOwotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB9KTsKLSAgICAgICAgICAgICAgICAgICAgICAgIH0pOwotICAgICAgICAg
ICAgICAgIH0pCi0gICAgICAgICAgICAudGhlbigKLSAgICAgICAgICAgICAgICBmdW5jdGlvbih3
b3JrZXIpIHsKLSAgICAgICAgICAgICAgICAgICAgZmV0Y2hfdGVzdHNfZnJvbV93b3JrZXIod29y
a2VyKTsKLSAgICAgICAgICAgICAgICB9KTsKLSAgICB9LAotICAgICJSZWdpc3RlciBTZXJ2aWNl
V29ya2VyIik7Ci08L3NjcmlwdD4KLTwvYm9keT4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBsZTE3Lmh0
bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2FtcGxlMTcuaHRtbAkocmV2aXNpb24gMjUyODk2
KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvZXhhbXBsZXMvYXBpc2FtcGxlMTcuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDU5ICswLDAg
QEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLTx0aXRsZT5TYW1wbGUgZm9yIHVz
aW5nIGdlbmVyYXRlX3Rlc3RzIHRvIGNyZWF0ZSBhIHNlcmllcyBvZiB0ZXN0cyB0aGF0IHNoYXJl
IHRoZSBzYW1lIGNhbGxiYWNrLjwvdGl0bGU+Ci08c2NyaXB0IHNyYz0iLi4vdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPHNjcmlwdD4KLS8vIGdlbmVyYXRlX3Rlc3RzIHRha2Vz
IGFuIGFycmF5IG9mIGFycmF5cyB0aGF0IGRlZmluZSB0ZXN0cwotLy8gYnV0IGxldHMgcGFzcyBp
dCBhbiBlbXB0eSBhcnJheSBhbmQgdmVyaWZ5IGl0IGRvZXMgbm90aGluZy4KLWZ1bmN0aW9uIG51
bGxfY2FsbGJhY2soKSB7Ci0JdGhyb3cgIm51bGxfY2FsbGJhY2sgc2hvdWxkIG5vdCBiZSBjYWxs
ZWQuIjsKLX0KLWdlbmVyYXRlX3Rlc3RzKG51bGxfY2FsbGJhY2ssIFtdKTsKLQotLy8gR2VuZXJh
dGUgMyB0ZXN0cyBzcGVjaWZ5aW5nIHRoZSBuYW1lIGFuZCBvbmUgcGFyYW1ldGVyCi1mdW5jdGlv
biB2YWxpZGF0ZV9hcmd1bWVudHMoYXJnMSkgewotCWFzc2VydF9lcXVhbHMoYXJnMSwgMSwgIkVu
c3VyZSB0aGF0IHdlIGdldCBvdXIgZXhwZWN0ZWQgYXJndW1lbnQiKTsKLX0KLWdlbmVyYXRlX3Rl
c3RzKHZhbGlkYXRlX2FyZ3VtZW50cywgWwotCVsiZmlyc3QgdGVzdCIsIDFdLAotCVsic2Vjb25k
IHRlc3QiLCAxXSwKLQlbInRoaXJkIHRlc3QiLCAxXSwKLV0pOwotCi0vLyBHZW5lcmF0ZSBhIHRl
c3QgcGFzc2luZyBpbiBhIHByb3BlcnRpZXMgb2JqZWN0IHRoYXQgaXMgc2hhcmVkIGFjcm9zcyB0
ZXN0cy4KLWZ1bmN0aW9uIHZhbGlkYXRlX3Byb3BlcnRpZXMoKSB7Ci0JYXNzZXJ0X3RydWUodGhp
cy5wcm9wZXJ0aWVzLnNlbnRpbmVsLCAiRW5zdXJlIHRoYXQgd2UgZ290IHRoZSByaWdodCBwcm9w
ZXJ0aWVzIG9iamVjdC4iKTsKLX0KLWdlbmVyYXRlX3Rlc3RzKHZhbGlkYXRlX3Byb3BlcnRpZXMs
IFtbInNlbnRpbmVsIGNoZWNrIDEiXSwgWyJzZW50aW5lbCBjaGVjayAyIl1dLCB7c2VudGluZWw6
IHRydWV9KTsKLQotLy8gR2VuZXJhdGUgYSB0ZXN0IHBhc3NpbmcgaW4gYSBwcm9wZXJ0aWVzIG9i
amVjdCB0aGF0IGlzIHNoYXJlZCBhY3Jvc3MgdGVzdHMuCi1mdW5jdGlvbiB2YWxpZGF0ZV9zZXBh
cmF0ZV9wcm9wZXJ0aWVzKCkgewotCWlmICh0aGlzLm5hbWUgPT09ICJzZW50aW5lbCBjaGVjayAx
IHVuaXF1ZSBwcm9wZXJ0aWVzIikgewotCQlhc3NlcnRfdHJ1ZSh0aGlzLnByb3BlcnRpZXMuc2Vu
dGluZWwsICJFbnN1cmUgdGhhdCB3ZSBnb3QgdGhlIHJpZ2h0IHByb3BlcnRpZXMgb2JqZWN0LiBF
eHBlY3Qgc2VudGluZWw6IHRydWUuIik7Ci0JfQotCWVsc2UgewotCQlhc3NlcnRfZmFsc2UodGhp
cy5wcm9wZXJ0aWVzLnNlbnRpbmVsLCAiRW5zdXJlIHRoYXQgd2UgZ290IHRoZSByaWdodCBwcm9w
ZXJ0aWVzIG9iamVjdC4gRXhwZWN0IHNlbnRpbmVsOiBmYWxzZS4iKTsKLQl9Ci19Ci1nZW5lcmF0
ZV90ZXN0cyh2YWxpZGF0ZV9zZXBhcmF0ZV9wcm9wZXJ0aWVzLCBbWyJzZW50aW5lbCBjaGVjayAx
IHVuaXF1ZSBwcm9wZXJ0aWVzIl0sIFsic2VudGluZWwgY2hlY2sgMiB1bmlxdWUgcHJvcGVydGll
cyJdXSwgW3tzZW50aW5lbDogdHJ1ZX0sIHtzZW50aW5lbDogZmFsc2V9XSk7Ci0KLS8vIEZpbmFs
bHkgZ2VuZXJhdGUgYSBjb21wbGljYXRlZCBzZXQgb2YgdGVzdHMgZnJvbSBhbm90aGVyIGRhdGEg
c291cmNlCi12YXIgbGV0dGVycyA9IFsiYSIsICJiIiwgImMiLCAiZCIsICJlIiwgImYiXTsKLXZh
ciBudW1iZXJzID0gWzAsIDEsIDIsIDMsIDQsIDVdOwotZnVuY3Rpb24gdmFsaWRhdGVfcmVsYXRl
ZF9hcmd1bWVudHMoYXJnMSwgYXJnMikgewotCWFzc2VydF9lcXVhbHMoYXJnMS5jaGFyQ29kZUF0
KDApIC0gImEiLmNoYXJDb2RlQXQoMCksIGFyZzIsICJFbnN1cmUgdGhhdCB3ZSBjYW4gbWFwIGxl
dHRlcnMgdG8gbnVtYmVycy4iKTsKLX0KLWZ1bmN0aW9uIGZvcm1hdF9hc190ZXN0KGxldHRlciwg
aW5kZXgsIGxldHRlcnMpIHsKLQlyZXR1cm4gWyJUZXN0IHRvIG1hcCAiICsgbGV0dGVyICsgIiB0
byAiICsgbnVtYmVyc1tpbmRleF0sIGxldHRlciwgbnVtYmVyc1tpbmRleF1dOwotfQotZ2VuZXJh
dGVfdGVzdHModmFsaWRhdGVfcmVsYXRlZF9hcmd1bWVudHMsIGxldHRlcnMubWFwKGZvcm1hdF9h
c190ZXN0KSk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KLQotCi0KSW5kZXg6IExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVz
L2FwaXNhbXBsZTE4Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2FtcGxlMTguaHRtbAko
cmV2aXNpb24gMjUyODk2KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2FtcGxlMTguaHRtbAkobm9uZXhpc3RlbnQp
CkBAIC0xLDI2ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLTx0aXRs
ZT5FeGFtcGxlIHdpdGggaWZyYW1lIHRoYXQgY29uc29saWRhdGVzIGVycm9ycyB2aWEgZmV0Y2hf
dGVzdHNfZnJvbV93aW5kb3c8L3RpdGxlPgotPHNjcmlwdCBzcmM9Ii4uL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0PgotdmFyIHBhcmVudF90ZXN0ID0gYXN5bmNfdGVzdCgiVGVzdCBleGVjdXRp
bmcgaW4gcGFyZW50IGNvbnRleHQiKTsKLTwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgb25sb2Fk
PSJwYXJlbnRfdGVzdC5kb25lKCkiPgotPGgxPkZldGNoaW5nIFRlc3RzIEZyb20gYSBDaGlsZCBD
b250ZXh0PC9oMT4KLTxwPlRoaXMgdGVzdCBkZW1vbnN0cmF0ZXMgdGhlIHVzZSBvZiA8dHQ+ZmV0
Y2hfdGVzdHNfZnJvbV93aW5kb3c8L3R0PiB0byBwdWxsCi10ZXN0cyBmcm9tIGFuIDx0dD5pZnJh
bWU8L3R0PiBpbnRvIHRoZSBwcmltYXJ5IGRvY3VtZW50LjwvcD4KLTxwPlRoZSB0ZXN0IHN1aXRl
IGlzIGV4cGVjdGVkIHRvIGZhaWwgZHVlIHRvIGFuIHVuaGFuZGxlZCBleGNlcHRpb24gaW4gdGhl
Ci1jaGlsZCBjb250ZXh0LjwvcD4KLTxkaXYgaWQ9ImxvZyI+PC9kaXY+Ci0KLTxpZnJhbWUgaWQ9
ImNoaWxkQ29udGV4dCIgc3JjPSJhcGlzYW1wbGU0Lmh0bSIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+
PC9pZnJhbWU+Ci08IS0tICBhcGlzYW1wbGU0IGlzIGEgZmFpbGluZyBzdWl0ZSBkdWUgdG8gYW4g
dW5oYW5kbGVkIEVycm9yLiAgLS0+Ci0KLTxzY3JpcHQ+Ci0JdmFyIGNoaWxkQ29udGV4dCA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjaGlsZENvbnRleHQiKTsKLQlmZXRjaF90ZXN0c19mcm9t
X3dpbmRvdyhjaGlsZENvbnRleHQuY29udGVudFdpbmRvdyk7Ci08L3NjcmlwdD4KLTwvYm9keT4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy9hcGlzYW1wbGUxOS5odG1s
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBsZTE5Lmh0bWwJKHJldmlzaW9uIDI1Mjg5NikK
KysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L2V4YW1wbGVzL2FwaXNhbXBsZTE5Lmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwyNiArMCwwIEBA
Ci08IURPQ1RZUEUgSFRNTD4KLTxodG1sPgotPGhlYWQ+Ci08dGl0bGU+RXhhbXBsZSB3aXRoIGlm
cmFtZSB0aGF0IGNvbnNvbGlkYXRlcyB0ZXN0cyB2aWEgZmV0Y2hfdGVzdHNfZnJvbV93aW5kb3c8
L3RpdGxlPgotPHNjcmlwdCBzcmM9Ii4uL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSIuLi90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotdmFy
IHBhcmVudF90ZXN0ID0gYXN5bmNfdGVzdCgiVGVzdCBleGVjdXRpbmcgaW4gcGFyZW50IGNvbnRl
eHQiKTsKLTwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgb25sb2FkPSJwYXJlbnRfdGVzdC5kb25l
KCkiPgotPGgxPkZldGNoaW5nIFRlc3RzIEZyb20gYSBDaGlsZCBDb250ZXh0PC9oMT4KLTxwPlRo
aXMgdGVzdCBkZW1vbnN0cmF0ZXMgdGhlIHVzZSBvZiA8dHQ+ZmV0Y2hfdGVzdHNfZnJvbV93aW5k
b3c8L3R0PiB0byBwdWxsCi10ZXN0cyBmcm9tIGFuIDx0dD5pZnJhbWU8L3R0PiBpbnRvIHRoZSBw
cmltYXJ5IGRvY3VtZW50LjwvcD4KLTxwPlRoZSB0ZXN0IHN1aXRlIHdpbGwgbm90IGNvbXBsZXRl
IHVudGlsIHRlc3RzIGluIHRoZSBjaGlsZCBjb250ZXh0IGhhdmUgZmluaXNoZWQKLWV4ZWN1dGlu
ZzwvcD4KLTxkaXYgaWQ9ImxvZyI+PC9kaXY+Ci0KLTxpZnJhbWUgaWQ9ImNoaWxkQ29udGV4dCIg
c3JjPSJhcGlzYW1wbGUxMC5odG1sIiBzdHlsZT0iZGlzcGxheTpub25lIj48L2lmcmFtZT4KLTwh
LS0gIGFwaXNhbXBsZTEwIGhhcyBhc3luYyB0ZXN0cyB3aXRoIHByb21pc2VzICAtLT4KLQotPHNj
cmlwdD4KLQl2YXIgY2hpbGRDb250ZXh0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNoaWxk
Q29udGV4dCIpOwotCWZldGNoX3Rlc3RzX2Zyb21fd2luZG93KGNoaWxkQ29udGV4dC5jb250ZW50
V2luZG93KTsKLTwvc2NyaXB0PgotPC9ib2R5PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
SW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL2V4YW1wbGVzL2FwaXNhbXBsZTIuaHRtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBs
ZTIuaHRtCShyZXZpc2lvbiAyNTI4OTYpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy9hcGlzYW1wbGUyLmh0bQkobm9uZXhp
c3RlbnQpCkBAIC0xLDE5ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4K
LTx0aXRsZT5TYW1wbGUgSFRNTDUgQVBJIFRlc3RzPC90aXRsZT4KLTwvaGVhZD4KLTxib2R5IG9u
bG9hZD0ibG9hZF90ZXN0X2F0dHIuZG9uZSgpIj4KLTxoMT5TYW1wbGUgSFRNTDUgQVBJIFRlc3Rz
PC9oMT4KLTxwPlRoZXJlIHNob3VsZCBiZSB0d28gcmVzdWx0czwvcD4KLTxkaXYgaWQ9ImxvZyI+
PC9kaXY+Ci08c2NyaXB0IHNyYz0iLi4vdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlw
dCBzcmM9Ii4uL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci1zZXR1
cCh7ZXhwbGljaXRfZG9uZTp0cnVlfSkKLXRlc3QoZnVuY3Rpb24oKSB7YXNzZXJ0X3RydWUodHJ1
ZSl9LCAiVGVzdCBkZWZpbmVkIGJlZm9yZSBvbmxvYWQiKTsKLQotb25sb2FkID0gZnVuY3Rpb24o
KSB7dGVzdChmdW5jdGlvbiAoKXthc3NlcnRfdHJ1ZSh0cnVlKX0sICJUZXN0IGRlZmluZWQgYWZ0
ZXIgb25sb2FkIik7Ci1kb25lKCk7Ci19Ci08L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBs
ZTMuaHRtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBsZTMuaHRtCShyZXZpc2lvbiAyNTI4
OTYpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy9leGFtcGxlcy9hcGlzYW1wbGUzLmh0bQkobm9uZXhpc3RlbnQpCkBAIC0xLDE3ICswLDAg
QEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLTx0aXRsZT5TYW1wbGUgSFRNTDUg
QVBJIFRlc3RzPC90aXRsZT4KLTwvaGVhZD4KLTxzY3JpcHQgc3JjPSIuLi90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+Ci0KLTxib2R5IG9ubG9hZD0ibG9hZF90ZXN0X2F0dHIuZG9uZSgpIj4KLTxo
MT5TYW1wbGUgSFRNTDUgQVBJIFRlc3RzPC9oMT4KLTxkaXYgaWQ9ImxvZyI+PC9kaXY+Ci08c2Ny
aXB0Pgotc2V0dXAoe2V4cGxpY2l0X3RpbWVvdXQ6dHJ1ZX0pOwotdmFyIHQgPSBhc3luY190ZXN0
KCJUaGlzIHRlc3Qgc2hvdWxkIGdpdmUgYSBzdGF0dXMgb2YgJ05vdCBSdW4nIHdpdGhvdXQgYSBk
ZWxheSIpOwotdGltZW91dCgpOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9leGFt
cGxlcy9hcGlzYW1wbGU0Lmh0bQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy9hcGlzYW1wbGU0Lmh0bQko
cmV2aXNpb24gMjUyODk2KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2FtcGxlNC5odG0JKG5vbmV4aXN0ZW50KQpA
QCAtMSwxNiArMCwwIEBACi08IURPQ1RZUEUgSFRNTD4KLTxodG1sPgotPGhlYWQ+Ci08dGl0bGU+
SGFybmVzcyBIYW5kbGluZyBVbmNhdWdodCBFeGNlcHRpb248L3RpdGxlPgotPC9oZWFkPgotPHNj
cmlwdCBzcmM9Ii4uL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLQotPGJvZHk+Ci08aDE+SGFy
bmVzcyBIYW5kbGluZyBVbmNhdWdodCBFeGNlcHRpb248L2gxPgotPGRpdiBpZD0ibG9nIj48L2Rp
dj4KLTxzY3JpcHQ+Ci12YXIgdCA9IGFzeW5jX3Rlc3QoIlRoaXMgc2hvdWxkIHNob3cgYSBoYXJu
ZXNzIHN0YXR1cyBvZiAnRXJyb3InIGFuZCBhIHRlc3Qgc3RhdHVzIG9mICdOb3QgUnVuJyIpOwot
dGhyb3cgbmV3IEVycm9yKCJFeGFtcGxlIEVycm9yIik7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwv
aHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBsZTUuaHRtCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2Fw
aXNhbXBsZTUuaHRtCShyZXZpc2lvbiAyNTI4OTYpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy9hcGlzYW1wbGU1Lmh0bQko
bm9uZXhpc3RlbnQpCkBAIC0xLDE4ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08
aGVhZD4KLTx0aXRsZT5IYXJuZXNzIElnbm9yaW5nIFVuY2F1Z2h0IEV4Y2VwdGlvbjwvdGl0bGU+
Ci08L2hlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotCi08
Ym9keT4KLTxoMT5IYXJuZXNzIElnbm9yaW5nIFVuY2F1Z2h0IEV4Y2VwdGlvbjwvaDE+Ci08ZGl2
IGlkPSJsb2ciPjwvZGl2PgotPHNjcmlwdD4KLXNldHVwKHthbGxvd191bmNhdWdodF9leGNlcHRp
b246dHJ1ZX0pOwotdmFyIHQgPSBhc3luY190ZXN0KCJzZXR1cCh7YWxsb3dfdW5jYXVnaHRfZXhj
ZXB0aW9uOnRydWV9KSBzaG91bGQgYWxsb3cgdGVzdHMgdG8gcGFzcyBldmVuIGlmIHRoZXJlIGlz
IGFuIGV4Y2VwdGlvbiIpOwotb25lcnJvciA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKCkge3QuZG9u
ZSgpfSk7Ci10aHJvdyBuZXcgRXJyb3IoIkV4YW1wbGUgRXJyb3IiKTsKLTwvc2NyaXB0PgotPC9i
b2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2FtcGxlNi5odG1sCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4
YW1wbGVzL2FwaXNhbXBsZTYuaHRtbAkocmV2aXNpb24gMjUyODk2KQorKysgTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2Ft
cGxlNi5odG1sCShub25leGlzdGVudCkKQEAgLTEsMTAgKzAsMCBAQAotPCFET0NUWVBFIEhUTUw+
Ci08dGl0bGU+RXhhbXBsZSB3aXRoIGZpbGVfaXNfdGVzdDwvdGl0bGU+Ci08c2NyaXB0IHNyYz0i
Li4vdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci1vbmxvYWQgPSBmdW5jdGlvbigpIHsKLSAg
YXNzZXJ0X3RydWUodHJ1ZSk7Ci0gIGRvbmUoKTsKLX0KLTwvc2NyaXB0PgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBsZTcuaHRtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9l
eGFtcGxlcy9hcGlzYW1wbGU3Lmh0bWwJKHJldmlzaW9uIDI1Mjg5NikKKysrIExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNh
bXBsZTcuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDEwICswLDAgQEAKLTwhRE9DVFlQRSBIVE1M
PgotPHRpdGxlPkV4YW1wbGUgd2l0aCBmaWxlX2lzX3Rlc3QgKHNob3VsZCBmYWlsKTwvdGl0bGU+
Ci08c2NyaXB0IHNyYz0iLi4vdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
Ii4uL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci1vbmxvYWQgPSBm
dW5jdGlvbigpIHsKLSAgYXNzZXJ0X3RydWUoZmFsc2UpOwotICBkb25lKCk7Ci19Ci08L3Njcmlw
dD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy9hcGlzYW1wbGU4Lmh0
bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2FtcGxlOC5odG1sCShyZXZpc2lvbiAyNTI4OTYp
CisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy9leGFtcGxlcy9hcGlzYW1wbGU4Lmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSw4ICswLDAgQEAK
LTwhRE9DVFlQRSBIVE1MPgotPHRpdGxlPkV4YW1wbGUgc2luZ2xlIHBhZ2UgdGVzdCB3aXRoIG5v
IGJvZHk8L3RpdGxlPgotPHNjcmlwdCBzcmM9Ii4uL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIuLi90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
PgotYXNzZXJ0X3RydWUodHJ1ZSk7Ci1kb25lKCk7Ci08L3NjcmlwdD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy9hcGlzYW1wbGU5Lmh0bWwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZXhh
bXBsZXMvYXBpc2FtcGxlOS5odG1sCShyZXZpc2lvbiAyNTI4OTYpCisrKyBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy9hcGlzYW1w
bGU5Lmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSw3ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgot
PHRpdGxlPkV4YW1wbGUgc2luZ2xlIHBhZ2UgdGVzdCB3aXRoIG5vIGFzc2VydHM8L3RpdGxlPgot
PHNjcmlwdCBzcmM9Ii4uL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIu
Li90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotZG9uZSgpOwotPC9z
Y3JpcHQ+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZXMvdzNjLWltcG9y
dC5sb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZXMvdzNjLWltcG9ydC5sb2cJKHJldmlzaW9uIDI1Mjg5
NikKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL2V4YW1wbGVzL3czYy1pbXBvcnQubG9nCShub25leGlzdGVudCkKQEAgLTEsMzcgKzAsMCBA
QAotVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzND
IHJlcG9zaXRvcnkuCi1EbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktp
dC4KLUluc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKLQlo
dHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cwotCi1UaGVuIHJ1biB0aGUg
VG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydAotCi1E
byBOT1QgbW9kaWZ5IG9yIHJlbW92ZSB0aGlzIGZpbGUuCi0KLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotUHJv
cGVydGllcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgotTm9uZQotUHJvcGVydHkgdmFsdWVz
IHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6Ci1Ob25lCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLUxpc3Qg
b2YgZmlsZXM6Ci0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2FtcGxlLWVycm9yLXdvcmtlci5qcwotL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNh
bXBsZS13b3JrZXIuanMKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy9leGFtcGxlcy9hcGlzYW1wbGUuaHRtCi0vTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2FtcGxlMTAu
aHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL2V4YW1wbGVzL2FwaXNhbXBsZTExLmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy9hcGlzYW1wbGUxMi5odG1sCi0v
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZXhh
bXBsZXMvYXBpc2FtcGxlMTMuaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBsZTE0Lmh0bWwKLS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy9h
cGlzYW1wbGUxNS5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2FtcGxlMTYuaHRtbAotL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBs
ZTE3Lmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy9leGFtcGxlcy9hcGlzYW1wbGUxOC5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2FtcGxlMTkuaHRt
bAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L2V4YW1wbGVzL2FwaXNhbXBsZTIuaHRtCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2FtcGxlMy5odG0KLS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy9h
cGlzYW1wbGU0Lmh0bQotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBsZTUuaHRtCi0vTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2FtcGxlNi5o
dG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvZXhhbXBsZXMvYXBpc2FtcGxlNy5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2FtcGxlOC5odG1sCi0vTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZXhhbXBs
ZXMvYXBpc2FtcGxlOS5odG1sCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy9pZGxoYXJuZXNzLmpzCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2lkbGhhcm5l
c3MuanMJKHJldmlzaW9uIDI1Mjg5NikKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2lkbGhhcm5lc3MuanMJKHdvcmtpbmcgY29weSkKQEAg
LTIzNiw3ICsyMzYsMTEgQEAgSWRsQXJyYXkucHJvdG90eXBlLmlzX2V4Y2x1ZGVkX2J5X29wdGlv
bgogCiBJZGxBcnJheS5wcm90b3R5cGUuYWRkX2RlcGVuZGVuY3lfaWRscyA9IGZ1bmN0aW9uKHJh
d19pZGxzLCBvcHRpb25zKQogewotICAgIGNvbnN0IHBhcnNlZF9pZGxzID0gV2ViSURMMi5wYXJz
ZShyYXdfaWRscyk7CisgICAgcmV0dXJuIHRoaXMuaW50ZXJuYWxfYWRkX2RlcGVuZGVuY3lfaWRs
cyhXZWJJREwyLnBhcnNlKHJhd19pZGxzKSwgb3B0aW9ucyk7Cit9OworCitJZGxBcnJheS5wcm90
b3R5cGUuaW50ZXJuYWxfYWRkX2RlcGVuZGVuY3lfaWRscyA9IGZ1bmN0aW9uKHBhcnNlZF9pZGxz
LCBvcHRpb25zKQorewogICAgIGNvbnN0IG5ld19vcHRpb25zID0geyBvbmx5OiBbXSB9CiAKICAg
ICBjb25zdCBhbGxfZGVwcyA9IG5ldyBTZXQoKTsKQEAgLTgwNCwxMCArODA4LDIwIEBAIElkbEFy
cmF5LnByb3RvdHlwZS50ZXN0ID0gZnVuY3Rpb24oKQogICAgICAgICAgICAgaWYgKCEodGhpcy5t
ZW1iZXJzW2xoc10gaW5zdGFuY2VvZiBJZGxJbnRlcmZhY2UpKSB0aHJvdyBlcnJTdHIgKyBsaHMg
KyAiIGlzIG5vdCBhbiBpbnRlcmZhY2UuIjsKICAgICAgICAgICAgIGlmICghKHJocyBpbiB0aGlz
Lm1lbWJlcnMpKSB0aHJvdyBlcnJTdHIgKyByaHMgKyAiIGlzIHVuZGVmaW5lZC4iOwogICAgICAg
ICAgICAgaWYgKCEodGhpcy5tZW1iZXJzW3Joc10gaW5zdGFuY2VvZiBJZGxJbnRlcmZhY2UpKSB0
aHJvdyBlcnJTdHIgKyByaHMgKyAiIGlzIG5vdCBhbiBpbnRlcmZhY2UuIjsKLSAgICAgICAgICAg
IHRoaXMubWVtYmVyc1tyaHNdLm1lbWJlcnMuZm9yRWFjaChmdW5jdGlvbihtZW1iZXIpCi0gICAg
ICAgICAgICB7Ci0gICAgICAgICAgICAgICAgdGhpcy5tZW1iZXJzW2xoc10ubWVtYmVycy5wdXNo
KG5ldyBJZGxJbnRlcmZhY2VNZW1iZXIobWVtYmVyKSk7Ci0gICAgICAgICAgICB9LmJpbmQodGhp
cykpOworCisgICAgICAgICAgICBpZiAodGhpcy5tZW1iZXJzW3Joc10ubWVtYmVycy5sZW5ndGgp
IHsKKyAgICAgICAgICAgICAgICB0ZXN0KGZ1bmN0aW9uICgpIHsKKyAgICAgICAgICAgICAgICAg
ICAgdmFyIGNsYXNoID0gdGhpcy5tZW1iZXJzW3Joc10ubWVtYmVycy5maW5kKGZ1bmN0aW9uKG1l
bWJlcikgeworICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMubWVtYmVyc1tsaHNd
Lm1lbWJlcnMuZmluZChmdW5jdGlvbihtKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
cmV0dXJuIHRoaXMuYXJlX2R1cGxpY2F0ZV9tZW1iZXJzKG0sIG1lbWJlcik7CisgICAgICAgICAg
ICAgICAgICAgICAgICB9LmJpbmQodGhpcykpOworICAgICAgICAgICAgICAgICAgICB9LmJpbmQo
dGhpcykpOworICAgICAgICAgICAgICAgICAgICB0aGlzLm1lbWJlcnNbcmhzXS5tZW1iZXJzLmZv
ckVhY2goZnVuY3Rpb24obWVtYmVyKSB7CisgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm1l
bWJlcnNbbGhzXS5tZW1iZXJzLnB1c2gobmV3IElkbEludGVyZmFjZU1lbWJlcihtZW1iZXIpKTsK
KyAgICAgICAgICAgICAgICAgICAgfS5iaW5kKHRoaXMpKTsKKyAgICAgICAgICAgICAgICAgICAg
YXNzZXJ0X3RydWUoIWNsYXNoLCAibWVtYmVyICIgKyAoY2xhc2ggJiYgY2xhc2gubmFtZSkgKyAi
IGlzIHVuaXF1ZSIpOworICAgICAgICAgICAgICAgIH0uYmluZCh0aGlzKSwgbGhzICsgIiBpbXBs
ZW1lbnRzICIgKyByaHMgKyAiOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZSIpOworICAgICAgICAg
ICAgfQogICAgICAgICB9LmJpbmQodGhpcykpOwogICAgIH0KICAgICB0aGlzWyJpbXBsZW1lbnRz
Il0gPSB7fTsKQEAgLTgyMSwxMCArODM1LDIzIEBAIElkbEFycmF5LnByb3RvdHlwZS50ZXN0ID0g
ZnVuY3Rpb24oKQogICAgICAgICAgICAgaWYgKCEodGhpcy5tZW1iZXJzW2xoc10gaW5zdGFuY2Vv
ZiBJZGxJbnRlcmZhY2UpKSB0aHJvdyBlcnJTdHIgKyBsaHMgKyAiIGlzIG5vdCBhbiBpbnRlcmZh
Y2UuIjsKICAgICAgICAgICAgIGlmICghKHJocyBpbiB0aGlzLm1lbWJlcnMpKSB0aHJvdyBlcnJT
dHIgKyByaHMgKyAiIGlzIHVuZGVmaW5lZC4iOwogICAgICAgICAgICAgaWYgKCEodGhpcy5tZW1i
ZXJzW3Joc10gaW5zdGFuY2VvZiBJZGxJbnRlcmZhY2UpKSB0aHJvdyBlcnJTdHIgKyByaHMgKyAi
IGlzIG5vdCBhbiBpbnRlcmZhY2UuIjsKLSAgICAgICAgICAgIHRoaXMubWVtYmVyc1tyaHNdLm1l
bWJlcnMuZm9yRWFjaChmdW5jdGlvbihtZW1iZXIpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAg
ICAgICAgdGhpcy5tZW1iZXJzW2xoc10ubWVtYmVycy5wdXNoKG5ldyBJZGxJbnRlcmZhY2VNZW1i
ZXIobWVtYmVyKSk7Ci0gICAgICAgICAgICB9LmJpbmQodGhpcykpOworCisgICAgICAgICAgICBp
ZiAodGhpcy5tZW1iZXJzW3Joc10ubWVtYmVycy5sZW5ndGgpIHsKKyAgICAgICAgICAgICAgICB0
ZXN0KGZ1bmN0aW9uICgpIHsKKyAgICAgICAgICAgICAgICAgICAgdmFyIGNsYXNoID0gdGhpcy5t
ZW1iZXJzW3Joc10ubWVtYmVycy5maW5kKGZ1bmN0aW9uKG1lbWJlcikgeworICAgICAgICAgICAg
ICAgICAgICAgICAgcmV0dXJuIHRoaXMubWVtYmVyc1tsaHNdLm1lbWJlcnMuZmluZChmdW5jdGlv
bihtKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuYXJlX2R1cGxp
Y2F0ZV9tZW1iZXJzKG0sIG1lbWJlcik7CisgICAgICAgICAgICAgICAgICAgICAgICB9LmJpbmQo
dGhpcykpOworICAgICAgICAgICAgICAgICAgICB9LmJpbmQodGhpcykpOworICAgICAgICAgICAg
ICAgICAgICB0aGlzLm1lbWJlcnNbcmhzXS5tZW1iZXJzLmZvckVhY2goZnVuY3Rpb24obWVtYmVy
KSB7CisgICAgICAgICAgICAgICAgICAgICAgICBhc3NlcnRfdHJ1ZSgKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB0aGlzLm1lbWJlcnNbbGhzXS5tZW1iZXJzLmV2ZXJ5KG0gPT4gIXRoaXMu
YXJlX2R1cGxpY2F0ZV9tZW1iZXJzKG0sIG1lbWJlcikpLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICJtZW1iZXIgIiArIG1lbWJlci5uYW1lICsgIiBpcyB1bmlxdWUiKTsKKyAgICAgICAg
ICAgICAgICAgICAgICAgIHRoaXMubWVtYmVyc1tsaHNdLm1lbWJlcnMucHVzaChuZXcgSWRsSW50
ZXJmYWNlTWVtYmVyKG1lbWJlcikpOworICAgICAgICAgICAgICAgICAgICB9LmJpbmQodGhpcykp
OworICAgICAgICAgICAgICAgICAgICBhc3NlcnRfdHJ1ZSghY2xhc2gsICJtZW1iZXIgIiArIChj
bGFzaCAmJiBjbGFzaC5uYW1lKSArICIgaXMgdW5pcXVlIik7CisgICAgICAgICAgICAgICAgfS5i
aW5kKHRoaXMpLCBsaHMgKyAiIGluY2x1ZGVzICIgKyByaHMgKyAiOiBtZW1iZXIgbmFtZXMgYXJl
IHVuaXF1ZSIpOworICAgICAgICAgICAgfQogICAgICAgICB9LmJpbmQodGhpcykpOwogICAgIH0K
ICAgICB0aGlzWyJpbmNsdWRlcyJdID0ge307CkBAIC04ODYsMjQgKzkxMywyNyBAQCBJZGxBcnJh
eS5wcm90b3R5cGUuY29sbGFwc2VfcGFydGlhbHMgPSBmCiAgICAgICAgICAgICAgICAgfHwgdGhp
cy5tZW1iZXJzW3BhcnNlZF9pZGwubmFtZV0gaW5zdGFuY2VvZiBJZGxEaWN0aW9uYXJ5CiAgICAg
ICAgICAgICAgICAgfHwgdGhpcy5tZW1iZXJzW3BhcnNlZF9pZGwubmFtZV0gaW5zdGFuY2VvZiBJ
ZGxOYW1lc3BhY2UpOwogCisgICAgICAgIC8vIEVuc3VyZSB1bmlxdWUgdGVzdCBuYW1lIGluIGNh
c2Ugb2YgbXVsdGlwbGUgcGFydGlhbHMuCiAgICAgICAgIGxldCBwYXJ0aWFsVGVzdE5hbWUgPSBw
YXJzZWRfaWRsLm5hbWU7Ci0gICAgICAgIGlmICghcGFyc2VkX2lkbC51bnRlc3RlZCkgewotICAg
ICAgICAgICAgLy8gRW5zdXJlIHVuaXF1ZSB0ZXN0IG5hbWUgaW4gY2FzZSBvZiBtdWx0aXBsZSBw
YXJ0aWFscy4KLSAgICAgICAgICAgIGxldCBwYXJ0aWFsVGVzdENvdW50ID0gMTsKLSAgICAgICAg
ICAgIGlmICh0ZXN0ZWRQYXJ0aWFscy5oYXMocGFyc2VkX2lkbC5uYW1lKSkgewotICAgICAgICAg
ICAgICAgIHBhcnRpYWxUZXN0Q291bnQgKz0gdGVzdGVkUGFydGlhbHMuZ2V0KHBhcnNlZF9pZGwu
bmFtZSk7Ci0gICAgICAgICAgICAgICAgcGFydGlhbFRlc3ROYW1lID0gYCR7cGFydGlhbFRlc3RO
YW1lfVske3BhcnRpYWxUZXN0Q291bnR9XWA7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICB0
ZXN0ZWRQYXJ0aWFscy5zZXQocGFyc2VkX2lkbC5uYW1lLCBwYXJ0aWFsVGVzdENvdW50KTsKKyAg
ICAgICAgbGV0IHBhcnRpYWxUZXN0Q291bnQgPSAxOworICAgICAgICBpZiAodGVzdGVkUGFydGlh
bHMuaGFzKHBhcnNlZF9pZGwubmFtZSkpIHsKKyAgICAgICAgICAgIHBhcnRpYWxUZXN0Q291bnQg
Kz0gdGVzdGVkUGFydGlhbHMuZ2V0KHBhcnNlZF9pZGwubmFtZSk7CisgICAgICAgICAgICBwYXJ0
aWFsVGVzdE5hbWUgPSBgJHtwYXJ0aWFsVGVzdE5hbWV9WyR7cGFydGlhbFRlc3RDb3VudH1dYDsK
KyAgICAgICAgfQorICAgICAgICB0ZXN0ZWRQYXJ0aWFscy5zZXQocGFyc2VkX2lkbC5uYW1lLCBw
YXJ0aWFsVGVzdENvdW50KTsKIAorICAgICAgICBpZiAoIXBhcnNlZF9pZGwudW50ZXN0ZWQpIHsK
ICAgICAgICAgICAgIHRlc3QoZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgIGFzc2VydF90
cnVlKG9yaWdpbmFsRXhpc3RzLCBgT3JpZ2luYWwgJHtwYXJzZWRfaWRsLnR5cGV9IHNob3VsZCBi
ZSBkZWZpbmVkYCk7CiAKLSAgICAgICAgICAgICAgICB2YXIgZXhwZWN0ZWQgPSBJZGxJbnRlcmZh
Y2U7CisgICAgICAgICAgICAgICAgdmFyIGV4cGVjdGVkOwogICAgICAgICAgICAgICAgIHN3aXRj
aCAocGFyc2VkX2lkbC50eXBlKSB7Ci0gICAgICAgICAgICAgICAgICAgIGNhc2UgJ2ludGVyZmFj
ZSc6IGV4cGVjdGVkID0gSWRsSW50ZXJmYWNlOyBicmVhazsKICAgICAgICAgICAgICAgICAgICAg
Y2FzZSAnZGljdGlvbmFyeSc6IGV4cGVjdGVkID0gSWRsRGljdGlvbmFyeTsgYnJlYWs7CiAgICAg
ICAgICAgICAgICAgICAgIGNhc2UgJ25hbWVzcGFjZSc6IGV4cGVjdGVkID0gSWRsTmFtZXNwYWNl
OyBicmVhazsKKyAgICAgICAgICAgICAgICAgICAgY2FzZSAnaW50ZXJmYWNlJzoKKyAgICAgICAg
ICAgICAgICAgICAgY2FzZSAnaW50ZXJmYWNlIG1peGluJzoKKyAgICAgICAgICAgICAgICAgICAg
ZGVmYXVsdDoKKyAgICAgICAgICAgICAgICAgICAgICAgIGV4cGVjdGVkID0gSWRsSW50ZXJmYWNl
OyBicmVhazsKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgYXNzZXJ0X3RydWUo
CiAgICAgICAgICAgICAgICAgICAgIGV4cGVjdGVkLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHRo
aXMubWVtYmVyc1twYXJzZWRfaWRsLm5hbWVdKSwKQEAgLTk0OSwxNCArOTc5LDM2IEBAIElkbEFy
cmF5LnByb3RvdHlwZS5jb2xsYXBzZV9wYXJ0aWFscyA9IGYKICAgICAgICAgICAgICAgICB0aGlz
Lm1lbWJlcnNbcGFyc2VkX2lkbC5uYW1lXS5leHRBdHRycy5wdXNoKGV4dEF0dHIpOwogICAgICAg
ICAgICAgfS5iaW5kKHRoaXMpKTsKICAgICAgICAgfQotICAgICAgICBwYXJzZWRfaWRsLm1lbWJl
cnMuZm9yRWFjaChmdW5jdGlvbihtZW1iZXIpCi0gICAgICAgIHsKLSAgICAgICAgICAgIHRoaXMu
bWVtYmVyc1twYXJzZWRfaWRsLm5hbWVdLm1lbWJlcnMucHVzaChuZXcgSWRsSW50ZXJmYWNlTWVt
YmVyKG1lbWJlcikpOwotICAgICAgICB9LmJpbmQodGhpcykpOworICAgICAgICBpZiAocGFyc2Vk
X2lkbC5tZW1iZXJzLmxlbmd0aCkgeworICAgICAgICAgICAgdGVzdChmdW5jdGlvbiAoKSB7Cisg
ICAgICAgICAgICAgICAgdmFyIGNsYXNoID0gcGFyc2VkX2lkbC5tZW1iZXJzLmZpbmQoZnVuY3Rp
b24obWVtYmVyKSB7CisgICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLm1lbWJlcnNbcGFy
c2VkX2lkbC5uYW1lXS5tZW1iZXJzLmZpbmQoZnVuY3Rpb24obSkgeworICAgICAgICAgICAgICAg
ICAgICAgICAgcmV0dXJuIHRoaXMuYXJlX2R1cGxpY2F0ZV9tZW1iZXJzKG0sIG1lbWJlcik7Cisg
ICAgICAgICAgICAgICAgICAgIH0uYmluZCh0aGlzKSk7CisgICAgICAgICAgICAgICAgfS5iaW5k
KHRoaXMpKTsKKyAgICAgICAgICAgICAgICBwYXJzZWRfaWRsLm1lbWJlcnMuZm9yRWFjaChmdW5j
dGlvbihtZW1iZXIpCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICB0aGlz
Lm1lbWJlcnNbcGFyc2VkX2lkbC5uYW1lXS5tZW1iZXJzLnB1c2gobmV3IElkbEludGVyZmFjZU1l
bWJlcihtZW1iZXIpKTsKKyAgICAgICAgICAgICAgICB9LmJpbmQodGhpcykpOworICAgICAgICAg
ICAgICAgIGFzc2VydF90cnVlKCFjbGFzaCwgIm1lbWJlciAiICsgKGNsYXNoICYmIGNsYXNoLm5h
bWUpICsgIiBpcyB1bmlxdWUiKTsKKyAgICAgICAgICAgIH0uYmluZCh0aGlzKSwgYFBhcnRpYWwg
JHtwYXJzZWRfaWRsLnR5cGV9ICR7cGFydGlhbFRlc3ROYW1lfTogbWVtYmVyIG5hbWVzIGFyZSB1
bmlxdWVgKTsKKyAgICAgICAgfQogICAgIH0uYmluZCh0aGlzKSk7CiAgICAgdGhpcy5wYXJ0aWFs
cyA9IFtdOwogfQogCitJZGxBcnJheS5wcm90b3R5cGUuYXJlX2R1cGxpY2F0ZV9tZW1iZXJzID0g
ZnVuY3Rpb24obTEsIG0yKSB7CisgICAgaWYgKG0xLm5hbWUgIT09IG0yLm5hbWUpIHsKKyAgICAg
ICAgcmV0dXJuIGZhbHNlOworICAgIH0KKyAgICBpZiAobTEudHlwZSA9PT0gJ29wZXJhdGlvbicg
JiYgbTIudHlwZSA9PT0gJ29wZXJhdGlvbicKKyAgICAgICAgJiYgbTEuYXJndW1lbnRzLmxlbmd0
aCAhPT0gbTIuYXJndW1lbnRzLmxlbmd0aCkgeworICAgICAgICAvLyBNZXRob2Qgb3ZlcmxvYWQu
IFRPRE86IERlZXAgY29tcGFyaXNvbiBvZiBhcmd1bWVudHMuCisgICAgICAgIHJldHVybiBmYWxz
ZTsKKyAgICB9CisgICAgcmV0dXJuIHRydWU7Cit9CisKIElkbEFycmF5LnByb3RvdHlwZS5hc3Nl
cnRfdHlwZV9pcyA9IGZ1bmN0aW9uKHZhbHVlLCB0eXBlKQogewogICAgIGlmICh0eXBlLmlkbFR5
cGUgaW4gdGhpcy5tZW1iZXJzCkBAIC0zMjk3LDE2ICszMzQ5LDMwIEBAIGZ1bmN0aW9uIGlkbF90
ZXN0KHNyY3MsIGRlcHMsIGlkbF9zZXR1cF8KICAgICAgICAgc3JjcyA9IChzcmNzIGluc3RhbmNl
b2YgQXJyYXkpID8gc3JjcyA6IFtzcmNzXSB8fCBbXTsKICAgICAgICAgZGVwcyA9IChkZXBzIGlu
c3RhbmNlb2YgQXJyYXkpID8gZGVwcyA6IFtkZXBzXSB8fCBbXTsKICAgICAgICAgdmFyIHNldHVw
X2Vycm9yID0gbnVsbDsKKyAgICAgICAgY29uc3QgdmFsaWRhdGlvbklnbm9yZWQgPSBbCisgICAg
ICAgICAgICAiY29uc3RydWN0b3ItbWVtYmVyIiwKKyAgICAgICAgICAgICJkaWN0LWFyZy1kZWZh
dWx0IiwKKyAgICAgICAgICAgICJyZXF1aXJlLWV4cG9zZWQiCisgICAgICAgIF07CiAgICAgICAg
IHJldHVybiBQcm9taXNlLmFsbCgKLSAgICAgICAgICAgIHNyY3MuY29uY2F0KGRlcHMpLm1hcChm
dW5jdGlvbihzcGVjKSB7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIGZldGNoX3NwZWMoc3BlYyk7
Ci0gICAgICAgICAgICB9KSkKLSAgICAgICAgICAgIC50aGVuKGZ1bmN0aW9uKGlkbHMpIHsKKyAg
ICAgICAgICAgIHNyY3MuY29uY2F0KGRlcHMpLm1hcChmZXRjaF9zcGVjKSkKKyAgICAgICAgICAg
IC50aGVuKGZ1bmN0aW9uKHJlc3VsdHMpIHsKKyAgICAgICAgICAgICAgICBjb25zdCBhc3RBcnJh
eSA9IHJlc3VsdHMubWFwKHJlc3VsdCA9PgorICAgICAgICAgICAgICAgICAgICBXZWJJREwyLnBh
cnNlKHJlc3VsdC5pZGwsIHsgc291cmNlTmFtZTogcmVzdWx0LnNwZWMgfSkKKyAgICAgICAgICAg
ICAgICApOworICAgICAgICAgICAgICAgIHRlc3QoKCkgPT4geworICAgICAgICAgICAgICAgICAg
ICBjb25zdCB2YWxpZGF0aW9ucyA9IFdlYklETDIudmFsaWRhdGUoYXN0QXJyYXkpCisgICAgICAg
ICAgICAgICAgICAgICAgICAuZmlsdGVyKHYgPT4gIXZhbGlkYXRpb25JZ25vcmVkLmluY2x1ZGVz
KHYucnVsZU5hbWUpKTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHZhbGlkYXRpb25zLmxlbmd0
aCkgeworICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbWVzc2FnZSA9IHZhbGlkYXRpb25z
Lm1hcCh2ID0+IHYubWVzc2FnZSkuam9pbigiXG5cbiIpOworICAgICAgICAgICAgICAgICAgICAg
ICAgdGhyb3cgbmV3IEVycm9yKG1lc3NhZ2UpOworICAgICAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICAgICAgfSwgImlkbF90ZXN0IHZhbGlkYXRpb24iKTsKICAgICAgICAgICAgICAgICBm
b3IgKHZhciBpID0gMDsgaSA8IHNyY3MubGVuZ3RoOyBpKyspIHsKLSAgICAgICAgICAgICAgICAg
ICAgaWRsX2FycmF5LmFkZF9pZGxzKGlkbHNbaV0pOworICAgICAgICAgICAgICAgICAgICBpZGxf
YXJyYXkuaW50ZXJuYWxfYWRkX2lkbHMoYXN0QXJyYXlbaV0pOwogICAgICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgICAgICBmb3IgKHZhciBpID0gc3Jjcy5sZW5ndGg7IGkgPCBzcmNzLmxlbmd0
aCArIGRlcHMubGVuZ3RoOyBpKyspIHsKLSAgICAgICAgICAgICAgICAgICAgaWRsX2FycmF5LmFk
ZF9kZXBlbmRlbmN5X2lkbHMoaWRsc1tpXSk7CisgICAgICAgICAgICAgICAgICAgIGlkbF9hcnJh
eS5pbnRlcm5hbF9hZGRfZGVwZW5kZW5jeV9pZGxzKGFzdEFycmF5W2ldKTsKICAgICAgICAgICAg
ICAgICB9CiAgICAgICAgICAgICB9KQogICAgICAgICAgICAgLnRoZW4oZnVuY3Rpb24oKSB7CkBA
IC0zMzQxLDYgKzM0MDcsNiBAQCBmdW5jdGlvbiBmZXRjaF9zcGVjKHNwZWMpIHsKICAgICAgICAg
ICAgIHRocm93IG5ldyBJZGxIYXJuZXNzRXJyb3IoIkVycm9yIGZldGNoaW5nICIgKyB1cmwgKyAi
LiIpOwogICAgICAgICB9CiAgICAgICAgIHJldHVybiByLnRleHQoKTsKLSAgICB9KTsKKyAgICB9
KS50aGVuKGlkbCA9PiAoeyBzcGVjLCBpZGwgfSkpOwogfQogLy8gdmltOiBzZXQgZXhwYW5kdGFi
IHNoaWZ0d2lkdGg9NCB0YWJzdG9wPTQgZm9sZG1hcmtlcj1AeyxAfSBmb2xkbWV0aG9kPW1hcmtl
cjoKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3JlYWRtZS5tZAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9yZWFkbWUubWQJKHJldmlzaW9uIDI1Mjg5NikK
KysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3JlYWRtZS5tZAkod29ya2luZyBjb3B5KQpAQCAtMSwyMiArMSwxNCBAQAotIyMgSW50cm9kdWN0
aW9uICMjCisjIFJlc291cmNlcwogCi10ZXN0aGFybmVzcy5qcyBwcm92aWRlcyBhIGZyYW1ld29y
ayBmb3Igd3JpdGluZyBsb3ctbGV2ZWwgdGVzdHMgb2YKLWJyb3dzZXIgZnVuY3Rpb25hbGl0eSBp
biBqYXZhc2NyaXB0LiBJdCBwcm92aWRlcyBhIGNvbnZlbmllbnQgQVBJIGZvcgotbWFraW5nIGFz
c2VydGlvbnMgYW5kIGlzIGludGVuZGVkIHRvIHdvcmsgZm9yIGJvdGggc2ltcGxlIHN5bmNocm9u
b3VzCi10ZXN0cyBhbmQgZm9yIHRlc3RzIG9mIGFzeW5jaHJvbm91cyBiZWhhdmlvdXIuCi0KLSMj
IEdldHRpbmcgU3RhcnRlZCAjIwotCi1UbyB1c2UgdGVzdGhhcm5lc3MuanMgeW91IG11c3QgaW5j
bHVkZSB0d28gc2NyaXB0cywgaW4gdGhlIG9yZGVyIGdpdmVuOgorVGhpcyBkaXJlY3RvcnkgY29u
dGFpbnMgdXRpbGl0aWVzIGludGVuZGVkIGZvciB1c2UgYnkgdGVzdHMgYW5kIG1haW50YWluZWQg
YXMgcHJvamVjdCBpbmZyYXN0cnVjdHVyZS4KK0l0IGRvZXMgbm90IGNvbnRhaW4gdGVzdHMuCiAK
LWBgYCBodG1sCi08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+Ci1gYGAKKyMjIGB0ZXN0aGFybmVzcy5qc2AKIAotIyMgRnVsbCBkb2N1bWVudGF0aW9uICMj
Ci0KLUZ1bGwgdXNlciBkb2N1bWVudGF0aW9uIGZvciB0aGUgQVBJIGlzIGF0IFtodHRwOi8vd2Vi
LXBsYXRmb3JtLXRlc3RzLm9yZy93cml0aW5nLXRlc3RzL3Rlc3RoYXJuZXNzLWFwaS5odG1sXSho
dHRwOi8vd2ViLXBsYXRmb3JtLXRlc3RzLm9yZy93cml0aW5nLXRlc3RzL3Rlc3RoYXJuZXNzLWFw
aS5odG1sKS4KK2B0ZXN0aGFybmVzcy5qc2AgaXMgYSBmcmFtZXdvcmsgZm9yIHdyaXRpbmcgbG93
LWxldmVsIHRlc3RzIG9mCiticm93c2VyIGZ1bmN0aW9uYWxpdHkgaW4gamF2YXNjcmlwdC4gSXQg
cHJvdmlkZXMgYSBjb252ZW5pZW50IEFQSSBmb3IKK21ha2luZyBhc3NlcnRpb25zIGFuZCBpcyBp
bnRlbmRlZCB0byB3b3JrIGZvciBib3RoIHNpbXBsZSBzeW5jaHJvbm91cwordGVzdHMsIGFuZCB0
ZXN0cyBvZiBhc3luY2hyb25vdXMgYmVoYXZpb3VyLgogCi1Zb3UgY2FuIGFsc28gcmVhZCBhIHR1
dG9yaWFsIG9uIAotW1VzaW5nIHRlc3RoYXJuZXNzLmpzXShodHRwOi8vZGFyb2Jpbi5naXRodWIu
Y29tL3Rlc3QtaGFybmVzcy10dXRvcmlhbC9kb2NzL3VzaW5nLXRlc3RoYXJuZXNzLmh0bWwpLgor
Q29tcGxldGUgZG9jdW1lbnRhdGlvbiBpcyBhdmFpbGFibGUgaW4gdGhlIGBkb2NzL2AgZGlyZWN0
b3J5IG9mIHRoaXMgcmVwb3NpdG9yeQorYW5kIG9uIHRoZSB3ZWIgYXQgaHR0cHM6Ly93ZWItcGxh
dGZvcm0tdGVzdHMub3JnL3dyaXRpbmctdGVzdHMvLgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvc3JpaGFybmVzcy5qcwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy9zcmloYXJuZXNzLmpzCShyZXZpc2lvbiAyNTI4OTYpCisrKyBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9zcmloYXJuZXNzLmpzCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zMiw2ICszMiwxMDUgQEAgU1JJU2NyaXB0VGVzdC5wcm90b3R5cGUuZXhl
Y3V0ZSA9IGZ1bmN0aQogICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZSk7CiB9OwogCitm
dW5jdGlvbiBzZXRfZXh0cmFfYXR0cmlidXRlcyhlbGVtZW50LCBhdHRycykgeworICAvLyBBcHBs
eSB0aGUgcmVzdCBvZiB0aGUgYXR0cmlidXRlcywgaWYgYW55LgorICBmb3IgKGNvbnN0IFthdHRy
X25hbWUsIGF0dHJfdmFsXSBvZiBPYmplY3QuZW50cmllcyhhdHRycykpIHsKKyAgICBlbGVtZW50
W2F0dHJfbmFtZV0gPSBhdHRyX3ZhbDsKKyAgfQorfQorCitmdW5jdGlvbiBidWlsZEVsZW1lbnRG
cm9tRGVzdGluYXRpb24ocmVzb3VyY2VfdXJsLCBkZXN0aW5hdGlvbiwgYXR0cnMpIHsKKyAgLy8g
QXNzZXJ0OiB8ZGVzdGluYXRpb258IGlzIGEgdmFsaWQgZGVzdGluYXRpb24uCisgIGxldCBlbGVt
ZW50OworCisgIC8vIFRoZSBiZWxvdyBzd2l0Y2ggaXMgcmVzcG9uc2libGUgZm9yOgorICAvLyAg
IDEuIENyZWF0aW5nIHRoZSBjb3JyZWN0IHN1YnJlc291cmNlIGVsZW1lbnQKKyAgLy8gICAyLiBT
ZXR0aW5nIHNhaWQgZWxlbWVudCdzIGhyZWYsIHNyYywgb3IgZmV0Y2gtaW5zdGlnYXRpbmcgcHJv
cGVydHkKKyAgLy8gICAgICBhcHByb3ByaWF0ZWx5LgorICBzd2l0Y2ggKGRlc3RpbmF0aW9uKSB7
CisgICAgY2FzZSAic2NyaXB0IjoKKyAgICAgIGVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KGRlc3RpbmF0aW9uKTsKKyAgICAgIHNldF9leHRyYV9hdHRyaWJ1dGVzKGVsZW1lbnQsIGF0
dHJzKTsKKyAgICAgIGVsZW1lbnQuc3JjID0gcmVzb3VyY2VfdXJsOworICAgICAgYnJlYWs7Cisg
ICAgY2FzZSAic3R5bGUiOgorICAgICAgZWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
J2xpbmsnKTsKKyAgICAgIHNldF9leHRyYV9hdHRyaWJ1dGVzKGVsZW1lbnQsIGF0dHJzKTsKKyAg
ICAgIGVsZW1lbnQucmVsID0gJ3N0eWxlc2hlZXQnOworICAgICAgZWxlbWVudC5ocmVmID0gcmVz
b3VyY2VfdXJsOworICAgICAgYnJlYWs7CisgICAgY2FzZSAiaW1hZ2UiOgorICAgICAgZWxlbWVu
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2ltZycpOworICAgICAgc2V0X2V4dHJhX2F0dHJp
YnV0ZXMoZWxlbWVudCwgYXR0cnMpOworICAgICAgZWxlbWVudC5zcmMgPSByZXNvdXJjZV91cmw7
CisgICAgICBicmVhazsKKyAgICBkZWZhdWx0OgorICAgICAgYXNzZXJ0X3VucmVhY2hlZCgiSU5W
QUxJRCBERVNUSU5BVElPTiIpOworICB9CisKKyAgcmV0dXJuIGVsZW1lbnQ7Cit9CisKK2NvbnN0
IFNSSVByZWxvYWRUZXN0ID0gKHByZWxvYWRfc3JpX3N1Y2Nlc3MsIHN1YnJlc291cmNlX3NyaV9z
dWNjZXNzLCBuYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgZGVzdGluYXRpb24sIHJlc291
cmNlX3VybCwgbGlua19hdHRycywKKyAgICAgICAgICAgICAgICAgICAgICAgIHN1YnJlc291cmNl
X2F0dHJzKSA9PiB7CisgIGNvbnN0IHRlc3QgPSBhc3luY190ZXN0KG5hbWUpOworICBjb25zdCBs
aW5rID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnbGluaycpOworCisgIC8vIEVhcmx5LWZhaWwg
aW4gVUFzIHRoYXQgZG8gbm90IHN1cHBvcnQgYHByZWxvYWRgIGxpbmtzLgorICB0ZXN0LnN0ZXBf
ZnVuYygoKSA9PiB7CisgICAgYXNzZXJ0X3RydWUobGluay5yZWxMaXN0LnN1cHBvcnRzKCdwcmVs
b2FkJyksCisgICAgICAiVGhpcyB0ZXN0IGlzIGF1dG9tYXRpY2FsbHkgZmFpbGluZyBiZWNhdXNl
IHRoZSBicm93c2VyIGRvZXMgbm90IiArCisgICAgICAic3VwcG9ydCBgcHJlbG9hZGAgbGlua3Mu
Iik7CisgIH0pKCk7CisKKyAgLy8gQnVpbGQgdXAgdGhlIGxpbmsuCisgIGxpbmsucmVsID0gJ3By
ZWxvYWQnOworICBsaW5rLmFzID0gZGVzdGluYXRpb247CisgIGxpbmsuaHJlZiA9IHJlc291cmNl
X3VybDsKKyAgZm9yIChjb25zdCBbYXR0cl9uYW1lLCBhdHRyX3ZhbF0gb2YgT2JqZWN0LmVudHJp
ZXMobGlua19hdHRycykpIHsKKyAgICBsaW5rW2F0dHJfbmFtZV0gPSBhdHRyX3ZhbDsgLy8gVGhp
cyBtYXkgb3ZlcnJpZGUgYHJlbGAgdG8gbW9kdWxlcHJlbG9hZC4KKyAgfQorCisgIC8vIFByZWxv
YWQgKyBzdWJyZXNvdXJjZSBzdWNjZXNzIGFuZCBmYWlsdXJlIGxvYWRpbmcgZnVuY3Rpb25zLgor
ICBjb25zdCB2YWxpZF9wcmVsb2FkX2ZhaWxlZCA9IHRlc3Quc3RlcF9mdW5jKCgpID0+CisgICAg
eyBhc3NlcnRfdW5yZWFjaGVkKCJWYWxpZCBwcmVsb2FkIGZpcmVkIGVycm9yIGhhbmRsZXIuIikg
fSk7CisgIGNvbnN0IGludmFsaWRfcHJlbG9hZF9zdWNjZWVkZWQgPSB0ZXN0LnN0ZXBfZnVuYygo
KSA9PgorICAgIHsgYXNzZXJ0X3VucmVhY2hlZCgiSW52YWxpZCBwcmVsb2FkIGxvYWQgc3VjY2Vl
ZGVkLiIpIH0pOworICBjb25zdCB2YWxpZF9zdWJyZXNvdXJjZV9mYWlsZWQgPSB0ZXN0LnN0ZXBf
ZnVuYygoKSA9PgorICAgIHsgYXNzZXJ0X3VucmVhY2hlZCgiVmFsaWQgc3VicmVzb3VyY2UgZmly
ZWQgZXJyb3IgaGFuZGxlci4iKSB9KTsKKyAgY29uc3QgaW52YWxpZF9zdWJyZXNvdXJjZV9zdWNj
ZWVkZWQgPSB0ZXN0LnN0ZXBfZnVuYygoKSA9PgorICAgIHsgYXNzZXJ0X3VucmVhY2hlZCgiSW52
YWxpZCBzdWJyZXNvdXJjZSBsb2FkIHN1Y2NlZWRlZC4iKSB9KTsKKyAgY29uc3Qgc3VicmVzb3Vy
Y2VfcGFzcyA9IHRlc3Quc3RlcF9mdW5jKCgpID0+IHsgdGVzdC5kb25lKCk7IH0pOworICBjb25z
dCBwcmVsb2FkX3Bhc3MgPSB0ZXN0LnN0ZXBfZnVuYygoKSA9PiB7CisgICAgY29uc3Qgc3VicmVz
b3VyY2VfZWxlbWVudCA9IGJ1aWxkRWxlbWVudEZyb21EZXN0aW5hdGlvbigKKyAgICAgIHJlc291
cmNlX3VybCwKKyAgICAgIGRlc3RpbmF0aW9uLAorICAgICAgc3VicmVzb3VyY2VfYXR0cnMKKyAg
ICApOworCisgICAgaWYgKHN1YnJlc291cmNlX3NyaV9zdWNjZXNzKSB7CisgICAgICBzdWJyZXNv
dXJjZV9lbGVtZW50Lm9ubG9hZCA9IHN1YnJlc291cmNlX3Bhc3M7CisgICAgICBzdWJyZXNvdXJj
ZV9lbGVtZW50Lm9uZXJyb3IgPSB2YWxpZF9zdWJyZXNvdXJjZV9mYWlsZWQ7CisgICAgfSBlbHNl
IHsKKyAgICAgIHN1YnJlc291cmNlX2VsZW1lbnQub25sb2FkID0gaW52YWxpZF9zdWJyZXNvdXJj
ZV9zdWNjZWVkZWQ7CisgICAgICBzdWJyZXNvdXJjZV9lbGVtZW50Lm9uZXJyb3IgPSBzdWJyZXNv
dXJjZV9wYXNzOworICAgIH0KKworICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kKHN1YnJlc291cmNl
X2VsZW1lbnQpOworICB9KTsKKworICBpZiAocHJlbG9hZF9zcmlfc3VjY2VzcykgeworICAgIGxp
bmsub25sb2FkID0gcHJlbG9hZF9wYXNzOworICAgIGxpbmsub25lcnJvciA9IHZhbGlkX3ByZWxv
YWRfZmFpbGVkOworICB9IGVsc2UgeworICAgIGxpbmsub25sb2FkID0gaW52YWxpZF9wcmVsb2Fk
X3N1Y2NlZWRlZDsKKyAgICBsaW5rLm9uZXJyb3IgPSBwcmVsb2FkX3Bhc3M7CisgIH0KKworICBk
b2N1bWVudC5oZWFkLmFwcGVuZChsaW5rKTsKK30KKwogLy8gPGxpbms+IHRlc3RzCiAvLyBTdHls
ZSB0ZXN0cyBtdXN0IGJlIGRvbmUgc3luY2hyb25vdXNseSBiZWNhdXNlIHRoZXkgcmVseSBvbiB0
aGUgcHJlc2VuY2UKIC8vIGFuZCBhYnNlbmNlIG9mIGdsb2JhbCBzdHlsZSwgd2hpY2ggY2FuIGFm
ZmVjdCBsYXRlciB0ZXN0cy4gVGh1cywgaW5zdGVhZApAQCAtNjMsNiArMTYyLDggQEAgU1JJU3R5
bGVUZXN0LnByb3RvdHlwZS5leGVjdXRlID0gZnVuY3RpbwogICAgIHZhciBkaXYgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKICAgICBkaXYuY2xhc3NOYW1lID0gInRlc3RkaXYiOwog
ICAgIHZhciBlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibGluayIpOworCisgICAgLy8gVGhl
IGxpbmsgcmVsYXRpb24gaXMgZ3VhcmFudGVlZCB0byBub3QgYmUgInByZWxvYWQiIG9yICJtb2R1
bGVwcmVsb2FkIi4KICAgICB0aGlzLmF0dHJzLnJlbCA9IHRoaXMuYXR0cnMucmVsIHx8ICJzdHls
ZXNoZWV0IjsKICAgICBmb3IgKHZhciBrZXkgaW4gdGhpcy5hdHRycykgewogICAgICAgICBpZiAo
dGhpcy5hdHRycy5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L1JFQURNRS5tZAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy90ZXN0L1JFQURNRS5tZAkocmV2aXNpb24gMjUyODk2KQorKysgTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC9SRUFETUUubWQJ
KG5vbmV4aXN0ZW50KQpAQCAtMSw2NyArMCwwIEBACi0jIGB0ZXN0aGFybmVzcy5qc2AgdGVzdCBz
dWl0ZQotCi1UaGUgdGVzdCBzdWl0ZSBmb3IgdGhlIGB0ZXN0aGFybmVzcy5qc2AgdGVzdGluZyBm
cmFtZXdvcmsuCi0KLSMjIEV4ZWN1dGluZyBUZXN0cwotCi1JbnN0YWxsIHRoZSBmb2xsb3dpbmcg
ZGVwZW5kZW5jaWVzOgotCi0tIFtQeXRob24gMi43XShodHRwczovL3d3dy5weXRob24ub3JnLykK
LS0gW3RoZSB0b3ggUHl0aG9uIHBhY2thZ2VdKGh0dHBzOi8vdG94LnJlYWR0aGVkb2NzLmlvL2Vu
L2xhdGVzdC8pCi0tIFt0aGUgTW96aWxsYSBGaXJlZm94IHdlYiBicm93c2VyXShodHRwczovL21v
emlsbGEub3JnL2ZpcmVmb3gpCi0tIFt0aGUgR2Vja29Ecml2ZXIgc2VydmVyXShodHRwczovL2dp
dGh1Yi5jb20vbW96aWxsYS9nZWNrb2RyaXZlcikKLQotT25jZSB0aGVzZSBkZXBlbmRlbmNpZXMg
YXJlIHNhdGlzZmllZCwgdGhlIHRlc3RzIG1heSBiZSBydW4gZnJvbSBhIGNvbW1hbmQgbGluZQot
YnkgZXhlY3V0aW5nIHRoZSBmb2xsb3dpbmcgY29tbWFuZCBmcm9tIHRoaXMgZGlyZWN0b3J5Ogot
Ci0gICAgdG94Ci0KLUN1cnJlbnRseSwgdGhlIHRlc3RzIHNob3VsZCBiZSBydW4gd2l0aCBGaXJl
Zm94IE5pZ2h0bHkuCi0KLUluIG9yZGVyIHRvIHNwZWNpZnkgdGhlIHBhdGggdG8gRmlyZWZveCBO
aWdodGx5LCB1c2UgdGhlIGZvbGxvd2luZyBjb21tYW5kLWxpbmUgb3B0aW9uOgotCi0gICAgdG94
IC0tIC0tYmluYXJ5PS9wYXRoL3RvL0ZpcmVmb3hOaWdodGx5Ci0KLSMjIEF1dGhvcmluZyBUZXN0
cwotCi1UZXN0IGNhc2VzIGFyZSBleHByZXNzZWQgYXMgYC5odG1sYCBmaWxlcyBsb2NhdGVkIHdp
dGhpbiB0aGUgYHRlc3RzL2AKLXN1Yi1kaXJlY3RvcnkuIEVhY2ggdGVzdCBzaG91bGQgaW5jbHVk
ZSB0aGUgYHRlc3RoYXJuZXNzLmpzYCBsaWJyYXJ5IHdpdGggdGhlCi1mb2xsb3dpbmcgbWFya3Vw
OgotCi0gICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLSAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotCi1U
aGlzIHNob3VsZCBiZSBmb2xsb3dlZCBieSBvbmUgb3IgbW9yZSBgPHNjcmlwdD5gIHRhZ3MgdGhh
dCBpbnRlcmZhY2Ugd2l0aCB0aGUKLWB0ZXN0aGFybmVzcy5qc2AgQVBJIGluIHNvbWUgd2F5LiBG
b3IgZXhhbXBsZToKLQotICAgIDxzY3JpcHQ+Ci0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAg
ICAgMSA9IDE7Ci0gICAgICB9LCAnVGhpcyB0ZXN0IGlzIGV4cGVjdGVkIHRvIGZhaWwuJyk7Ci0g
ICAgPC9zY3JpcHQ+Ci0KLUZpbmFsbHksIGVhY2ggdGVzdCBtYXkgaW5jbHVkZSBhIHN1bW1hcnkg
b2YgdGhlIGV4cGVjdGVkIHJlc3VsdHMgYXMgYSBKU09OCi1zdHJpbmcgd2l0aGluIGEgYDxzY3Jp
cHQ+YCB0YWcgd2l0aCBhbiBgaWRgIG9mIGAiZXhwZWN0ZWQiYCwgZS5nLjoKLQotICAgIDxzY3Jp
cHQgdHlwZT0idGV4dC9qc29uIiBpZD0iZXhwZWN0ZWQiPgotICAgIHsKLSAgICAgICJzdW1tYXJp
emVkX3N0YXR1cyI6IHsKLSAgICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgICAic3RhY2si
OiBudWxsLAotICAgICAgICAic3RhdHVzX3N0cmluZyI6ICJPSyIKLSAgICAgIH0sCi0gICAgICAi
c3VtbWFyaXplZF90ZXN0cyI6IFsKLSAgICAgICAgewotICAgICAgICAgICJtZXNzYWdlIjogIlJl
ZmVyZW5jZUVycm9yOiBpbnZhbGlkIGFzc2lnbm1lbnQgbGVmdC1oYW5kIHNpZGUiLAotICAgICAg
ICAgICJuYW1lIjogIlNhbXBsZSBIVE1MNSBBUEkgVGVzdHMiLAotICAgICAgICAgICJwcm9wZXJ0
aWVzIjoge30sCi0gICAgICAgICAgInN0YWNrIjogIihpbXBsZW1lbnRhdGlvbi1kZWZpbmVkKSIs
Ci0gICAgICAgICAgInN0YXR1c19zdHJpbmciOiAiRkFJTCIKLSAgICAgICAgfQotICAgICAgXSwK
LSAgICAgICJ0eXBlIjogImNvbXBsZXRlIgotICAgIH0KLSAgICA8L3NjcmlwdD4KLQotVGhpcyBp
cyB1c2VmdWwgdG8gdGVzdCwgZm9yIGV4YW1wbGUsIHdoZXRoZXIgYXNzZXJhdGlvbnMgdGhhdCBz
aG91bGQgZmFpbCBvcgotdGhyb3cgYWN0dWFsbHkgZG8uClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvdGVzdC9jb25maWcudGVzdC5qc29uCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvY29uZmlnLnRl
c3QuanNvbgkocmV2aXNpb24gMjUyODk2KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC9jb25maWcudGVzdC5qc29uCShub25leGlz
dGVudCkKQEAgLTEsMjcgKzAsMCBAQAoteyJob3N0IjogIndlYi1wbGF0Zm9ybS50ZXN0IiwKLSAi
ZG9jX3Jvb3QiOiBudWxsLAotICJ3c19kb2Nfcm9vdCI6IG51bGwsCi0gImV4dGVybmFsX2hvc3Qi
OiBudWxsLAotICJwb3J0cyI6eyJodHRwIjpbODAwMCwgImF1dG8iXSwKLSAgICAgICAgICAiaHR0
cHMiOls5MDAzXSwKLSAgICAgICAgICAid3MiOlsiYXV0byJdLAotICAgICAgICAgICJ3c3MiOlsi
YXV0byJdfSwKLSAiY2hlY2tfc3ViZG9tYWlucyI6IHRydWUsCi0gImxvZ19sZXZlbCI6ImRlYnVn
IiwKLSAiYmluZF9ob3N0bmFtZSI6IHRydWUsCi0gInNzbCI6IHsidHlwZSI6ICJvcGVuc3NsIiwK
LSAgICAgICAgICJlbmNyeXB0X2FmdGVyX2Nvbm5lY3QiOiBmYWxzZSwKLSAgICAgICAgICJvcGVu
c3NsIjogewotICAgICAgICAgICAgICJvcGVuc3NsX2JpbmFyeSI6ICJvcGVuc3NsIiwKLSAgICAg
ICAgICAgICAiYmFzZV9wYXRoIjogIl9jZXJ0cyIsCi0gICAgICAgICAgICAgImZvcmNlX3JlZ2Vu
ZXJhdGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAiYmFzZV9jb25mX3BhdGgiOiBudWxsCi0gICAg
ICAgICB9LAotICAgICAgICAgInByZWdlbmVyYXRlZCI6IHsKLSAgICAgICAgICAgICAiaG9zdF9r
ZXlfcGF0aCI6IG51bGwsCi0gICAgICAgICAgICAgImhvc3RfY2VydF9wYXRoIjogbnVsbAotICAg
ICAgICAgfSwKLSAgICAgICAgICJub25lIjoge30KLSAgICAgICAgfSwKLSAiYWxpYXNlcyI6IFtd
Ci19CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy90ZXN0L2NvbmZ0ZXN0LnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvY29uZnRlc3QucHkJKHJl
dmlzaW9uIDI1Mjg5NikKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3Rlc3QvY29uZnRlc3QucHkJKG5vbmV4aXN0ZW50KQpAQCAtMSwxMzcg
KzAsMCBAQAotaW1wb3J0IGlvCi1pbXBvcnQganNvbgotaW1wb3J0IG9zCi0KLWltcG9ydCBodG1s
NWxpYgotaW1wb3J0IHB5dGVzdAotZnJvbSBzZWxlbml1bSBpbXBvcnQgd2ViZHJpdmVyCi0KLWZy
b20gd3B0c2VydmVyIGltcG9ydCBXUFRTZXJ2ZXIKLQotRU5DID0gJ3V0ZjgnCi1IRVJFID0gb3Mu
cGF0aC5kaXJuYW1lKG9zLnBhdGguYWJzcGF0aChfX2ZpbGVfXykpCi1XUFRfUk9PVCA9IG9zLnBh
dGgubm9ybXBhdGgob3MucGF0aC5qb2luKEhFUkUsICcuLicsICcuLicpKQotSEFSTkVTUyA9IG9z
LnBhdGguam9pbihIRVJFLCAnaGFybmVzcy5odG1sJykKLQotZGVmIHB5dGVzdF9hZGRvcHRpb24o
cGFyc2VyKToKLSAgICBwYXJzZXIuYWRkb3B0aW9uKCItLWJpbmFyeSIsIGFjdGlvbj0ic3RvcmUi
LCBkZWZhdWx0PU5vbmUsIGhlbHA9InBhdGggdG8gYnJvd3NlciBiaW5hcnkiKQotCi1kZWYgcHl0
ZXN0X2NvbGxlY3RfZmlsZShwYXRoLCBwYXJlbnQpOgotICAgIGlmIHBhdGguZXh0Lmxvd2VyKCkg
PT0gJy5odG1sJzoKLSAgICAgICAgcmV0dXJuIEhUTUxJdGVtKHN0cihwYXRoKSwgcGFyZW50KQot
Ci1kZWYgcHl0ZXN0X2NvbmZpZ3VyZShjb25maWcpOgotICAgIGNvbmZpZy5kcml2ZXIgPSB3ZWJk
cml2ZXIuRmlyZWZveChmaXJlZm94X2JpbmFyeT1jb25maWcuZ2V0b3B0aW9uKCItLWJpbmFyeSIp
KQotICAgIGNvbmZpZy5zZXJ2ZXIgPSBXUFRTZXJ2ZXIoV1BUX1JPT1QpCi0gICAgY29uZmlnLnNl
cnZlci5zdGFydCgpCi0gICAgY29uZmlnLmFkZF9jbGVhbnVwKGxhbWJkYTogY29uZmlnLnNlcnZl
ci5zdG9wKCkpCi0gICAgY29uZmlnLmFkZF9jbGVhbnVwKGxhbWJkYTogY29uZmlnLmRyaXZlci5x
dWl0KCkpCi0KLWNsYXNzIEhUTUxJdGVtKHB5dGVzdC5JdGVtLCBweXRlc3QuQ29sbGVjdG9yKToK
LSAgICBkZWYgX19pbml0X18oc2VsZiwgZmlsZW5hbWUsIHBhcmVudCk6Ci0gICAgICAgIHNlbGYu
ZmlsZW5hbWUgPSBmaWxlbmFtZQotICAgICAgICB3aXRoIGlvLm9wZW4oZmlsZW5hbWUsIGVuY29k
aW5nPUVOQykgYXMgZjoKLSAgICAgICAgICAgIG1hcmt1cCA9IGYucmVhZCgpCi0KLSAgICAgICAg
cGFyc2VkID0gaHRtbDVsaWIucGFyc2UobWFya3VwLCBuYW1lc3BhY2VIVE1MRWxlbWVudHM9RmFs
c2UpCi0gICAgICAgIG5hbWUgPSBOb25lCi0gICAgICAgIHNlbGYuZXhwZWN0ZWQgPSBOb25lCi0K
LSAgICAgICAgZm9yIGVsZW1lbnQgaW4gcGFyc2VkLmdldGl0ZXJhdG9yKCk6Ci0gICAgICAgICAg
ICBpZiBub3QgbmFtZSBhbmQgZWxlbWVudC50YWcgPT0gJ3RpdGxlJzoKLSAgICAgICAgICAgICAg
ICBuYW1lID0gZWxlbWVudC50ZXh0Ci0gICAgICAgICAgICAgICAgY29udGludWUKLSAgICAgICAg
ICAgIGlmIGVsZW1lbnQuYXR0cmliLmdldCgnaWQnKSA9PSAnZXhwZWN0ZWQnOgotICAgICAgICAg
ICAgICAgIHNlbGYuZXhwZWN0ZWQgPSBqc29uLmxvYWRzKHVuaWNvZGUoZWxlbWVudC50ZXh0KSkK
LSAgICAgICAgICAgICAgICBjb250aW51ZQotCi0gICAgICAgIGlmIG5vdCBuYW1lOgotICAgICAg
ICAgICAgcmFpc2UgVmFsdWVFcnJvcignTm8gbmFtZSBmb3VuZCBpbiBmaWxlOiAlcycgJSBmaWxl
bmFtZSkKLQotICAgICAgICBzdXBlcihIVE1MSXRlbSwgc2VsZikuX19pbml0X18obmFtZSwgcGFy
ZW50KQotCi0KLSAgICBkZWYgcmVwb3J0aW5mbyhzZWxmKToKLSAgICAgICAgcmV0dXJuIHNlbGYu
ZnNwYXRoLCBOb25lLCBzZWxmLmZpbGVuYW1lCi0KLSAgICBkZWYgcmVwcl9mYWlsdXJlKHNlbGYs
IGV4Y2luZm8pOgotICAgICAgICByZXR1cm4gcHl0ZXN0LkNvbGxlY3Rvci5yZXByX2ZhaWx1cmUo
c2VsZiwgZXhjaW5mbykKLQotICAgIGRlZiBydW50ZXN0KHNlbGYpOgotICAgICAgICBkcml2ZXIg
PSBzZWxmLnNlc3Npb24uY29uZmlnLmRyaXZlcgotICAgICAgICBzZXJ2ZXIgPSBzZWxmLnNlc3Np
b24uY29uZmlnLnNlcnZlcgotCi0gICAgICAgIGRyaXZlci5nZXQoc2VydmVyLnVybChIQVJORVNT
KSkKLQotICAgICAgICBhY3R1YWwgPSBkcml2ZXIuZXhlY3V0ZV9hc3luY19zY3JpcHQoJ3J1blRl
c3QoIiVzIiwgImZvbyIsIGFyZ3VtZW50c1swXSknICUgc2VydmVyLnVybChzdHIoc2VsZi5maWxl
bmFtZSkpKQotCi0gICAgICAgICMgVGVzdCBvYmplY3Qgb3JkZXJpbmcgaXMgbm90IGd1YXJhbnRl
ZWQuIFRoaXMgd2VhayBhc3NlcnRpb24gdmVyaWZpZXMKLSAgICAgICAgIyB0aGF0IHRoZSBpbmRp
Y2VzIGFyZSB1bmlxdWUgYW5kIHNlcXVlbnRpYWwKLSAgICAgICAgaW5kaWNlcyA9IFt0ZXN0X29i
ai5nZXQoJ2luZGV4JykgZm9yIHRlc3Rfb2JqIGluIGFjdHVhbFsndGVzdHMnXV0KLSAgICAgICAg
c2VsZi5fYXNzZXJ0X3NlcXVlbmNlKGluZGljZXMpCi0KLSAgICAgICAgc3VtbWFyaXplZCA9IHt9
Ci0gICAgICAgIHN1bW1hcml6ZWRbdSdzdW1tYXJpemVkX3N0YXR1cyddID0gc2VsZi5fc3VtbWFy
aXplX3N0YXR1cyhhY3R1YWxbJ3N0YXR1cyddKQotICAgICAgICBzdW1tYXJpemVkW3Unc3VtbWFy
aXplZF90ZXN0cyddID0gWwotICAgICAgICAgICAgc2VsZi5fc3VtbWFyaXplX3Rlc3QodGVzdCkg
Zm9yIHRlc3QgaW4gYWN0dWFsWyd0ZXN0cyddXQotICAgICAgICBzdW1tYXJpemVkW3Unc3VtbWFy
aXplZF90ZXN0cyddLnNvcnQoa2V5PWxhbWJkYSB0ZXN0X29iajogdGVzdF9vYmouZ2V0KCduYW1l
JykpCi0gICAgICAgIHN1bW1hcml6ZWRbdSd0eXBlJ10gPSBhY3R1YWxbJ3R5cGUnXQotCi0gICAg
ICAgIGlmIG5vdCBzZWxmLmV4cGVjdGVkOgotICAgICAgICAgICAgYXNzZXJ0IHN1bW1hcml6ZWRb
dSdzdW1tYXJpemVkX3N0YXR1cyddW3Unc3RhdHVzX3N0cmluZyddID09IHUnT0snLCBzdW1tYXJp
emVkW3Unc3VtbWFyaXplZF9zdGF0dXMnXVt1J21lc3NhZ2UnXQotICAgICAgICAgICAgZm9yIHRl
c3QgaW4gc3VtbWFyaXplZFt1J3N1bW1hcml6ZWRfdGVzdHMnXToKLSAgICAgICAgICAgICAgICBt
c2cgPSAiJXNcbiVzOlxuJXMiICUgKHRlc3RbdSduYW1lJ10sIHRlc3RbdSdtZXNzYWdlJ10sIHRl
c3RbdSdzdGFjayddKQotICAgICAgICAgICAgICAgIGFzc2VydCB0ZXN0W3Unc3RhdHVzX3N0cmlu
ZyddID09IHUnUEFTUycsIG1zZwotICAgICAgICBlbHNlOgotICAgICAgICAgICAgYXNzZXJ0IHN1
bW1hcml6ZWQgPT0gc2VsZi5leHBlY3RlZAotCi0gICAgQHN0YXRpY21ldGhvZAotICAgIGRlZiBf
YXNzZXJ0X3NlcXVlbmNlKG51bXMpOgotICAgICAgICBhc3NlcnQgbnVtcyA9PSByYW5nZSgxLCBu
dW1zWy0xXSArIDEpCi0KLSAgICBAc3RhdGljbWV0aG9kCi0gICAgZGVmIF9zY3J1Yl9zdGFjayh0
ZXN0X29iaik6Ci0gICAgICAgIGNvcHkgPSBkaWN0KHRlc3Rfb2JqKQotCi0gICAgICAgIGFzc2Vy
dCAnc3RhY2snIGluIGNvcHkKLQotICAgICAgICBpZiBjb3B5WydzdGFjayddIGlzIG5vdCBOb25l
OgotICAgICAgICAgICAgY29weVsnc3RhY2snXSA9IHUnKGltcGxlbWVudGF0aW9uLWRlZmluZWQp
JwotCi0gICAgICAgIHJldHVybiBjb3B5Ci0KLSAgICBAc3RhdGljbWV0aG9kCi0gICAgZGVmIF9l
eHBhbmRfc3RhdHVzKHN0YXR1c19vYmopOgotICAgICAgICBmb3Iga2V5LCB2YWx1ZSBpbiBbaXRl
bSBmb3IgaXRlbSBpbiBzdGF0dXNfb2JqLml0ZW1zKCldOgotICAgICAgICAgICAgIyBJbiAic3Rh
dHVzIiBhbmQgInRlc3QiIG9iamVjdHMsIHRoZSAic3RhdHVzIiB2YWx1ZSBlbnVtCi0gICAgICAg
ICAgICAjIGRlZmluaXRpb25zIGFyZSBpbnRlcnNwZXJzZWQgd2l0aCBwcm9wZXJ0aWVzIGZvciB1
bnJlbGF0ZWQKLSAgICAgICAgICAgICMgbWV0YWRhdGEuIFRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
IGlzIGEgYmVzdC1lZmZvcnQgYXR0ZW1wdCB0bwotICAgICAgICAgICAgIyBpZ25vcmUgbm9uLWVu
dW0gcHJvcGVydGllcy4KLSAgICAgICAgICAgIGlmIGtleSAhPSBrZXkudXBwZXIoKSBvciBub3Qg
aXNpbnN0YW5jZSh2YWx1ZSwgaW50KToKLSAgICAgICAgICAgICAgICBjb250aW51ZQotCi0gICAg
ICAgICAgICBkZWwgc3RhdHVzX29ialtrZXldCi0KLSAgICAgICAgICAgIGlmIHN0YXR1c19vYmpb
J3N0YXR1cyddID09IHZhbHVlOgotICAgICAgICAgICAgICAgIHN0YXR1c19vYmpbdSdzdGF0dXNf
c3RyaW5nJ10gPSBrZXkKLQotICAgICAgICBkZWwgc3RhdHVzX29ialsnc3RhdHVzJ10KLQotICAg
ICAgICByZXR1cm4gc3RhdHVzX29iagotCi0gICAgQHN0YXRpY21ldGhvZAotICAgIGRlZiBfc3Vt
bWFyaXplX3Rlc3QodGVzdF9vYmopOgotICAgICAgICBkZWwgdGVzdF9vYmpbJ2luZGV4J10KLQot
ICAgICAgICBhc3NlcnQgJ3BoYXNlJyBpbiB0ZXN0X29iagotICAgICAgICBhc3NlcnQgJ3BoYXNl
cycgaW4gdGVzdF9vYmoKLSAgICAgICAgYXNzZXJ0ICdDT01QTEVURScgaW4gdGVzdF9vYmpbJ3Bo
YXNlcyddCi0gICAgICAgIGFzc2VydCB0ZXN0X29ialsncGhhc2UnXSA9PSB0ZXN0X29ialsncGhh
c2VzJ11bJ0NPTVBMRVRFJ10KLSAgICAgICAgZGVsIHRlc3Rfb2JqWydwaGFzZXMnXQotICAgICAg
ICBkZWwgdGVzdF9vYmpbJ3BoYXNlJ10KLQotICAgICAgICByZXR1cm4gSFRNTEl0ZW0uX2V4cGFu
ZF9zdGF0dXMoSFRNTEl0ZW0uX3NjcnViX3N0YWNrKHRlc3Rfb2JqKSkKLQotICAgIEBzdGF0aWNt
ZXRob2QKLSAgICBkZWYgX3N1bW1hcml6ZV9zdGF0dXMoc3RhdHVzX29iaik6Ci0gICAgICAgIHJl
dHVybiBIVE1MSXRlbS5fZXhwYW5kX3N0YXR1cyhIVE1MSXRlbS5fc2NydWJfc3RhY2soc3RhdHVz
X29iaikpCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy90ZXN0L2hhcm5lc3MuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L2hhcm5lc3MuaHRt
bAkocmV2aXNpb24gMjUyODk2KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC9oYXJuZXNzLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAt
MSwyNiArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotICA8aGVhZD4KLSAgICA8bWV0
YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD11
dGYtOCI+Ci0gIDwvaGVhZD4KLSAgPGJvZHk+Ci0gICAgPHNjcmlwdD4KLWZ1bmN0aW9uIHJ1blRl
c3QodXJsLCBpZCwgZG9uZSkgewotICB2YXIgY2hpbGQ7Ci0KLSAgZnVuY3Rpb24gb25NZXNzYWdl
KGV2ZW50KSB7Ci0gICAgaWYgKCFldmVudC5kYXRhIHx8IGV2ZW50LmRhdGEudHlwZSAhPT0gJ2Nv
bXBsZXRlJykgewotICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIHdpbmRvdy5yZW1vdmVFdmVu
dExpc3RlbmVyKCdtZXNzYWdlJywgb25NZXNzYWdlKTsKLSAgICBjaGlsZC5jbG9zZSgpOwotICAg
IGRvbmUoZXZlbnQuZGF0YSk7Ci0gIH0KLSAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21lc3Nh
Z2UnLCBvbk1lc3NhZ2UpOwotCi0gIHdpbmRvdy5jaGlsZCA9IGNoaWxkID0gd2luZG93Lm9wZW4o
dXJsLCBpZCk7Ci19Ci0gICAgPC9zY3JpcHQ+Ci0gIDwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3Qv
dGVzdHMvYWRkX2NsZWFudXAuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2FkZF9jbGVhbnVw
Lmh0bWwJKHJldmlzaW9uIDI1Mjg5NikKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvYWRkX2NsZWFudXAuaHRtbAkobm9u
ZXhpc3RlbnQpCkBAIC0xLDk2ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVh
ZD4KLTx0aXRsZT5UZXN0I2FkZF9jbGVhbnVwPC90aXRsZT4KLTxzY3JpcHQgc3JjPSIuLi8uLi90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08ZGl2IGlkPSJsb2ciPjwvZGl2
PgotPHNjcmlwdD4KLSJ1c2Ugc3RyaWN0IjsKLQotdmFyIGxvZ19zeW5jOwotdGVzdChmdW5jdGlv
bih0KSB7Ci0gIGxvZ19zeW5jID0gIiI7Ci0gIHQuYWRkX2NsZWFudXAoZnVuY3Rpb24oKSB7IGxv
Z19zeW5jICs9ICIxIjsgfSk7Ci0gIHQuYWRkX2NsZWFudXAoZnVuY3Rpb24oKSB7IGxvZ19zeW5j
ICs9ICIyIjsgfSk7Ci0gIHQuYWRkX2NsZWFudXAoZnVuY3Rpb24oKSB7IGxvZ19zeW5jICs9ICIz
IjsgfSk7Ci0gIHQuYWRkX2NsZWFudXAoZnVuY3Rpb24oKSB7IGxvZ19zeW5jICs9ICI0IjsgfSk7
Ci0gIHQuYWRkX2NsZWFudXAoZnVuY3Rpb24oKSB7IGxvZ19zeW5jICs9ICI1IjsgfSk7Ci0gIGxv
Z19zeW5jICs9ICIwIjsKLX0sICJwcm9iZSBzeW5jaHJvbm91cyIpOwotCi10ZXN0KGZ1bmN0aW9u
KCkgewotICBpZiAobG9nX3N5bmMgIT09ICIwMTIzNDUiKSB7Ci0gICAgdGhyb3cgbmV3IEVycm9y
KCJFeHBlY3RlZDogJzAxMjM0NScuIEFjdHVhbDogJyIgKyBsb2dfc3luYyArICInLiIpOwotICB9
Ci19LCAiQ2xlYW51cCBtZXRob2RzIGFyZSBpbnZva2VkIGV4YWN0bHkgb25jZSBhbmQgaW4gdGhl
IGV4cGVjdGVkIHNlcXVlbmNlLiIpOwotCi12YXIgY29tcGxldGUsIGxvZ19hc3luYzsKLWFzeW5j
X3Rlc3QoZnVuY3Rpb24odCkgewotICBjb21wbGV0ZSA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKCkg
ewotICAgIGlmIChsb2dfYXN5bmMgIT09ICIwMTIiKSB7Ci0gICAgICB0aHJvdyBuZXcgRXJyb3Io
IkV4cGVjdGVkOiAnMDEyJy4gQWN0dWFsOiAnIiArIGxvZ19hc3luYyArICInLiIpOwotICAgIH0K
LQotICAgIHQuZG9uZSgpOwotICB9KTsKLX0sICJDbGVhbnVwIG1ldGhvZHMgYXJlIGludm9rZWQg
Zm9sbG93aW5nIHRoZSBjb21wbGV0aW9uIG9mIGFzeW5jaHJvbm91cyB0ZXN0cyIpOwotCi1hc3lu
Y190ZXN0KGZ1bmN0aW9uKHQpIHsKLSAgbG9nX2FzeW5jID0gIiI7Ci0gIHQuYWRkX2NsZWFudXAo
ZnVuY3Rpb24oKSB7IGxvZ19hc3luYyArPSAiMSI7IH0pOwotCi0gIHNldFRpbWVvdXQodC5zdGVw
X2Z1bmMoZnVuY3Rpb24oKSB7Ci0gICAgdC5hZGRfY2xlYW51cChmdW5jdGlvbigpIHsKLSAgICAg
IGxvZ19hc3luYyArPSAiMiI7Ci0gICAgICBjb21wbGV0ZSgpOwotICAgIH0pOwotICAgIGxvZ19h
c3luYyArPSAiMCI7Ci0gICAgdC5kb25lKCk7Ci0gIH0pLCAwKTsKLX0sICJwcm9iZSBhc3luY2hy
b25vdXMiKTsKLTwvc2NyaXB0PgotPHNjcmlwdCB0eXBlPSJ0ZXh0L2pzb24iIGlkPSJleHBlY3Rl
ZCI+Ci17Ci0gICJzdW1tYXJpemVkX3N0YXR1cyI6IHsKLSAgICAic3RhdHVzX3N0cmluZyI6ICJP
SyIsCi0gICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICJzdGFjayI6IG51bGwKLSAgfSwKLSAgInN1
bW1hcml6ZWRfdGVzdHMiOiBbCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIs
Ci0gICAgICAibmFtZSI6ICJDbGVhbnVwIG1ldGhvZHMgYXJlIGludm9rZWQgZXhhY3RseSBvbmNl
IGFuZCBpbiB0aGUgZXhwZWN0ZWQgc2VxdWVuY2UuIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30s
Ci0gICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAic3RhY2siOiBudWxsCi0gICAgfSwKLSAg
ICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1lIjogIkNsZWFu
dXAgbWV0aG9kcyBhcmUgaW52b2tlZCBmb2xsb3dpbmcgdGhlIGNvbXBsZXRpb24gb2YgYXN5bmNo
cm9ub3VzIHRlc3RzIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6
IG51bGwsCi0gICAgICAic3RhY2siOiBudWxsCi0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVz
X3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1lIjogInByb2JlIGFzeW5jaHJvbm91cyIsCi0g
ICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgInN0
YWNrIjogbnVsbAotICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIs
Ci0gICAgICAibmFtZSI6ICJwcm9iZSBzeW5jaHJvbm91cyIsCi0gICAgICAicHJvcGVydGllcyI6
IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgInN0YWNrIjogbnVsbAotICAgIH0K
LSAgXSwKLSAgInR5cGUiOiAiY29tcGxldGUiCi19Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRt
bD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3Rlc3QvdGVzdHMvYWRkX2NsZWFudXBfY291bnQuaHRtbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0
L3Rlc3RzL2FkZF9jbGVhbnVwX2NvdW50Lmh0bWwJKHJldmlzaW9uIDI1Mjg5NikKKysrIExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVz
dHMvYWRkX2NsZWFudXBfY291bnQuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDQxICswLDAgQEAK
LTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLTx0aXRsZT5UZXN0I2FkZF9jbGVhbnVw
IHJlcG9ydGVkIGNvdW50PC90aXRsZT4KLTxzY3JpcHQgc3JjPSIuLi8uLi90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwv
c2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08ZGl2IGlkPSJsb2ciPjwvZGl2PgotCi08c2NyaXB0
PgotcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHQpIHsKLSAgICB0LmFkZF9jbGVhbnVwKGZ1bmN0aW9u
KCkge30pOwotICAgIHQuYWRkX2NsZWFudXAoZnVuY3Rpb24oKSB7fSk7Ci0gICAgdC5hZGRfY2xl
YW51cChmdW5jdGlvbigpIHsgdGhyb3cgbmV3IEVycm9yKCk7IH0pOwotICAgIG5ldyBFdmVudFdh
dGNoZXIodCwgZG9jdW1lbnQuYm9keSwgW10pOwotCi0gICAgcmV0dXJuIFByb21pc2UucmVzb2x2
ZSgpOwotfSwgJ3Rlc3Qgd2l0aCAzIHVzZXItZGVmaW5lZCBjbGVhbnVwIGZ1bmN0aW9ucycpOwot
PC9zY3JpcHQ+Ci08c2NyaXB0IHR5cGU9InRleHQvanNvbiIgaWQ9ImV4cGVjdGVkIj4KLXsKLSAg
InN1bW1hcml6ZWRfc3RhdHVzIjogewotICAgICJzdGF0dXNfc3RyaW5nIjogIkVSUk9SIiwKLSAg
ICAibWVzc2FnZSI6ICJUZXN0IG5hbWVkICd0ZXN0IHdpdGggMyB1c2VyLWRlZmluZWQgY2xlYW51
cCBmdW5jdGlvbnMnIHNwZWNpZmllZCAzICdjbGVhbnVwJyBmdW5jdGlvbnMsIGFuZCAxIGZhaWxl
ZC4iLAotICAgICJzdGFjayI6IG51bGwKLSAgfSwKLSAgInN1bW1hcml6ZWRfdGVzdHMiOiBbCi0g
ICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJ0ZXN0
IHdpdGggMyB1c2VyLWRlZmluZWQgY2xlYW51cCBmdW5jdGlvbnMiLAotICAgICAgInN0YWNrIjog
bnVsbCwKLSAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30KLSAg
ICB9Ci0gIF0sCi0gICJ0eXBlIjogImNvbXBsZXRlIgotfQotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08
L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy90ZXN0L3Rlc3RzL2FkZF9jbGVhbnVwX2Vyci5odG1sCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rl
c3QvdGVzdHMvYWRkX2NsZWFudXBfZXJyLmh0bWwJKHJldmlzaW9uIDI1Mjg5NikKKysrIExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVz
dHMvYWRkX2NsZWFudXBfZXJyLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSw0OCArMCwwIEBACi08
IURPQ1RZUEUgSFRNTD4KLTxodG1sPgotPGhlYWQ+Ci08dGl0bGU+VGVzdCNhZGRfY2xlYW51cDog
ZXJyb3I8L3RpdGxlPgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Rlc3RoYXJuZXNzLmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPSIuLi8uLi90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08
L2hlYWQ+Ci08Ym9keT4KLTxkaXYgaWQ9ImxvZyI+PC9kaXY+Ci08c2NyaXB0PgotInVzZSBzdHJp
Y3QiOwotCi10ZXN0KGZ1bmN0aW9uKHQpIHsKLSAgdC5hZGRfY2xlYW51cChmdW5jdGlvbigpIHsK
LSAgICB0aHJvdyBuZXcgRXJyb3IoJ2V4Y2VwdGlvbiBpbiBjbGVhbnVwIGZ1bmN0aW9uJyk7Ci0g
IH0pOwotfSwgIkV4Y2VwdGlvbiBpbiBjbGVhbnVwIGZ1bmN0aW9uIGNhdXNlcyBoYXJuZXNzIGZh
aWx1cmUuIik7Ci0KLXRlc3QoZnVuY3Rpb24oKSB7fSwgIlRoaXMgdGVzdCBzaG91bGQgbm90IGJl
IHJ1bi4iKTsKLTwvc2NyaXB0PgotPHNjcmlwdCB0eXBlPSJ0ZXh0L2pzb24iIGlkPSJleHBlY3Rl
ZCI+Ci17Ci0gICJzdW1tYXJpemVkX3N0YXR1cyI6IHsKLSAgICAic3RhdHVzX3N0cmluZyI6ICJF
UlJPUiIsCi0gICAgIm1lc3NhZ2UiOiAiVGVzdCBuYW1lZCAnRXhjZXB0aW9uIGluIGNsZWFudXAg
ZnVuY3Rpb24gY2F1c2VzIGhhcm5lc3MgZmFpbHVyZS4nIHNwZWNpZmllZCAxICdjbGVhbnVwJyBm
dW5jdGlvbiwgYW5kIDEgZmFpbGVkLiIsCi0gICAgInN0YWNrIjogbnVsbAotICB9LAotICAic3Vt
bWFyaXplZF90ZXN0cyI6IFsKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwK
LSAgICAgICJuYW1lIjogIkV4Y2VwdGlvbiBpbiBjbGVhbnVwIGZ1bmN0aW9uIGNhdXNlcyBoYXJu
ZXNzIGZhaWx1cmUuIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6
IG51bGwsCi0gICAgICAic3RhY2siOiBudWxsCi0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVz
X3N0cmluZyI6ICJOT1RSVU4iLAotICAgICAgIm5hbWUiOiAiVGhpcyB0ZXN0IHNob3VsZCBub3Qg
YmUgcnVuLiIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxs
LAotICAgICAgInN0YWNrIjogbnVsbAotICAgIH0KLSAgXSwKLSAgInR5cGUiOiAiY29tcGxldGUi
Ci19Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvYWRkX2NsZWFu
dXBfZXJyX211bHRpLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9hZGRfY2xlYW51cF9lcnJf
bXVsdGkuaHRtbAkocmV2aXNpb24gMjUyODk2KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9hZGRfY2xlYW51cF9lcnJf
bXVsdGkuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDU1ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1M
PgotPGh0bWw+Ci08aGVhZD4KLTx0aXRsZT5UZXN0I2FkZF9jbGVhbnVwOiBtdWx0aXBsZSBmdW5j
dGlvbnMgd2l0aCBvbmUgaW4gZXJyb3I8L3RpdGxlPgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxkaXYgaWQ9ImxvZyI+PC9kaXY+Ci0K
LTxzY3JpcHQ+Ci0idXNlIHN0cmljdCI7Ci0KLXRlc3QoZnVuY3Rpb24odCkgewotICAgIHQuYWRk
X2NsZWFudXAoZnVuY3Rpb24oKSB7Ci0gICAgICB0aHJvdyBuZXcgRXJyb3IoImV4Y2VwdGlvbiBp
biBjbGVhbnVwIGZ1bmN0aW9uIik7Ci0gICAgfSk7Ci0KLSAgICAvLyBUaGUgZm9sbG93aW5nIGNs
ZWFudXAgZnVuY3Rpb24gZGVmaW5lcyBhIHRlc3Qgc28gdGhhdCB0aGUgcmVwb3J0ZWQKLSAgICAv
LyBkYXRhIGRlbW9uc3RyYXRlcyB0aGUgaW50ZW5kZWQgcnVuLXRpbWUgYmVoYXZpb3IsIGkuZS4g
dGhhdAotICAgIC8vIGB0ZXN0aGFybmVzcy5qc2AgaW52b2tlcyBhbGwgY2xlYW51cCBmdW5jdGlv
bnMgZXZlbiB3aGVuIG9uZSBvciBtb3JlCi0gICAgLy8gdGhyb3cgZXJyb3JzLgotICAgIHQuYWRk
X2NsZWFudXAoZnVuY3Rpb24oKSB7Ci0gICAgICB0ZXN0KGZ1bmN0aW9uKCkge30sICJWZXJpZmlj
YXRpb24gdGVzdCIpOwotICAgIH0pOwotICB9LCAiVGVzdCB3aXRoIG11bHRpcGxlIGNsZWFudXAg
ZnVuY3Rpb25zIik7Ci08L3NjcmlwdD4KLTxzY3JpcHQgdHlwZT0idGV4dC9qc29uIiBpZD0iZXhw
ZWN0ZWQiPgotewotICAic3VtbWFyaXplZF9zdGF0dXMiOiB7Ci0gICAgInN0YXR1c19zdHJpbmci
OiAiRVJST1IiLAotICAgICJtZXNzYWdlIjogIlRlc3QgbmFtZWQgJ1Rlc3Qgd2l0aCBtdWx0aXBs
ZSBjbGVhbnVwIGZ1bmN0aW9ucycgc3BlY2lmaWVkIDIgJ2NsZWFudXAnIGZ1bmN0aW9ucywgYW5k
IDEgZmFpbGVkLiIsCi0gICAgInN0YWNrIjogbnVsbAotICB9LAotICAic3VtbWFyaXplZF90ZXN0
cyI6IFsKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1l
IjogIlRlc3Qgd2l0aCBtdWx0aXBsZSBjbGVhbnVwIGZ1bmN0aW9ucyIsCi0gICAgICAicHJvcGVy
dGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgInN0YWNrIjogbnVsbAot
ICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiTk9UUlVOIiwKLSAgICAgICJu
YW1lIjogIlZlcmlmaWNhdGlvbiB0ZXN0IiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAg
ICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAic3RhY2siOiBudWxsCi0gICAgfQotICBdLAotICAi
dHlwZSI6ICJjb21wbGV0ZSIKLX0KLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDog
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVz
dC90ZXN0cy9hcGktdGVzdHMtMS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvYXBpLXRlc3Rz
LTEuaHRtbAkocmV2aXNpb24gMjUyODk2KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9hcGktdGVzdHMtMS5odG1sCShu
b25leGlzdGVudCkKQEAgLTEsNDYyICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPg0KLTxodG1sPg0K
LTxoZWFkPg0KLTx0aXRsZT5TYW1wbGUgSFRNTDUgQVBJIFRlc3RzPC90aXRsZT4NCi08bWV0YSBu
YW1lPSJ0aW1lb3V0IiBjb250ZW50PSI2MDAwIj4NCi08L2hlYWQ+DQotPGJvZHkgb25sb2FkPSJs
b2FkX3Rlc3RfYXR0ci5kb25lKCkiPg0KLTxoMT5TYW1wbGUgSFRNTDUgQVBJIFRlc3RzPC9oMT4N
Ci08ZGl2IGlkPSJsb2ciPjwvZGl2Pg0KLTxzY3JpcHQgc3JjPSIuLi8uLi90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+DQotPHNjcmlwdCBzcmM9Ii4uLy4uL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48
L3NjcmlwdD4NCi08c2NyaXB0Pg0KLSAgICBzZXR1cF9ydW4gPSBmYWxzZTsNCi0gICAgc2V0dXAo
ZnVuY3Rpb24oKSB7DQotICAgICAgICAgICAgc2V0dXBfcnVuID0gdHJ1ZTsNCi0gICAgICAgICAg
fSk7DQotICAgIHRlc3QoZnVuY3Rpb24oKSB7YXNzZXJ0X3RydWUoc2V0dXBfcnVuKX0sICJTZXR1
cCBmdW5jdGlvbiByYW4iKTsNCi0NCi0gICAgLy8gVHdvIGV4YW1wbGVzIGZvciB0ZXN0aW5nIGV2
ZW50cyBmcm9tIGhhbmRsZXIgYW5kIGF0dHJpYnV0ZXMNCi0gICAgdmFyIGxvYWRfdGVzdF9ldmVu
dCA9IGFzeW5jX3Rlc3QoIndpbmRvdyBvbmxvYWQgZXZlbnQgZmlyZXMgd2hlbiBzZXQgZnJvbSB0
aGUgaGFuZGxlciIpOw0KLQ0KLSAgICBmdW5jdGlvbiB3aW5kb3dMb2FkKCkNCi0gICAgew0KLSAg
ICAgICAgbG9hZF90ZXN0X2V2ZW50LmRvbmUoKTsNCi0gICAgfQ0KLSAgICBvbl9ldmVudCh3aW5k
b3csICJsb2FkIiwgd2luZG93TG9hZCk7DQotDQotICAgIC8vIHNlZSB0aGUgYm9keSBvbmxvYWQg
YmVsb3cNCi0gICAgdmFyIGxvYWRfdGVzdF9hdHRyID0gYXN5bmNfdGVzdCgiYm9keSBlbGVtZW50
IGZpcmVzIHRoZSBvbmxvYWQgZXZlbnQgc2V0IGZyb20gdGhlIGF0dHJpYnV0ZSIpOw0KLTwvc2Ny
aXB0Pg0KLTxzY3JpcHQ+DQotICAgIGZ1bmN0aW9uIGJvZHlFbGVtZW50KCkNCi0gICAgew0KLSAg
ICAgICAgYXNzZXJ0X2VxdWFscyhkb2N1bWVudC5ib2R5LCBkb2N1bWVudC5nZXRFbGVtZW50c0J5
VGFnTmFtZSgiYm9keSIpWzBdKTsNCi0gICAgfQ0KLSAgICB0ZXN0KGJvZHlFbGVtZW50LCAiZG9j
dW1lbnQuYm9keSBzaG91bGQgYmUgdGhlIGZpcnN0IGJvZHkgZWxlbWVudCBpbiB0aGUgZG9jdW1l
bnQiKTsNCi0NCi0gICAgdGVzdChmdW5jdGlvbigpIHsNCi0gICAgICAgIGFzc2VydF9lcXVhbHMo
MSwxKTsNCi0gICAgICAgIGFzc2VydF9lcXVhbHMoTmFOLCBOYU4sICJOYU4gY2FzZSIpOw0KLSAg
ICAgICAgYXNzZXJ0X2VxdWFscygwLCAwLCAiWmVybyBjYXNlIik7DQotICAgIH0sICJhc3NlcnRf
ZXF1YWxzIHRlc3RzIikNCi0NCi0gICAgdGVzdChmdW5jdGlvbigpIHsNCi0gICAgICAgIGFzc2Vy
dF9lcXVhbHMoLTAsIDAsICJaZXJvIGNhc2UiKTsNCi0gICAgfSwgImFzc2VydF9lcXVhbHMgdGVz
dHMgZXhwZWN0ZWQgdG8gZmFpbCIpDQotDQotICAgIHRlc3QoZnVuY3Rpb24oKSB7DQotICAgICAg
ICBhc3NlcnRfbm90X2VxdWFscyh7fSwge30sICJvYmplY3QgY2FzZSIpOw0KLSAgICAgICAgYXNz
ZXJ0X25vdF9lcXVhbHMoLTAsIDAsICJaZXJvIGNhc2UiKTsNCi0gICAgfSwgImFzc2VydF9ub3Rf
ZXF1YWxzIHRlc3RzIikNCi0NCi0gICAgZnVuY3Rpb24gdGVzdEFzc2VydFBhc3MoKQ0KLSAgICB7
DQotICAgICAgICBhc3NlcnRfdHJ1ZSh0cnVlKTsNCi0gICAgfQ0KLSAgICB0ZXN0KHRlc3RBc3Nl
cnRQYXNzLCAiYXNzZXJ0X3RydWUgZXhwZWN0ZWQgdG8gcGFzcyIpOw0KLQ0KLSAgICBmdW5jdGlv
biB0ZXN0QXNzZXJ0RmFsc2UoKQ0KLSAgICB7DQotICAgICAgICBhc3NlcnRfdHJ1ZShmYWxzZSwg
ImZhbHNlIHNob3VsZCBub3QgYmUgdHJ1ZSIpOw0KLSAgICB9DQotICAgIHRlc3QodGVzdEFzc2Vy
dEZhbHNlLCAiYXNzZXJ0X3RydWUgZXhwZWN0ZWQgdG8gZmFpbCIpOw0KLQ0KLSAgICBmdW5jdGlv
biBiYXNpY0Fzc2VydEFycmF5RXF1YWxzKCkNCi0gICAgew0KLSAgICAgICAgYXNzZXJ0X2FycmF5
X2VxdWFscyhbMSwgTmFOXSwgWzEsIE5hTl0sICJbMSwgTmFOXSBpcyBlcXVhbCB0byBbMSwgTmFO
XSIpOw0KLSAgICB9DQotICAgIHRlc3QoYmFzaWNBc3NlcnRBcnJheUVxdWFscywgImJhc2ljIGFz
c2VydF9hcnJheV9lcXVhbHMgdGVzdCIpOw0KLQ0KLSAgICBmdW5jdGlvbiBhc3NlcnRBcnJheUVx
dWFsc1VuZGVmaW5lZCgpDQotICAgIHsNCi0gICAgICAgIGFzc2VydF9hcnJheV9lcXVhbHModW5k
ZWZpbmVkLCBbMV0sICJ1bmRlZmluZWQgZXF1YWxzIFsxXT8iKTsNCi0gICAgfQ0KLSAgICB0ZXN0
KGFzc2VydEFycmF5RXF1YWxzVW5kZWZpbmVkLCAiYXNzZXJ0X2FycmF5X2VxdWFscyB3aXRoIGZp
cnN0IHBhcmFtIHVuZGVmaW5lZCIpOw0KLQ0KLSAgICBmdW5jdGlvbiBhc3NlcnRBcnJheUVxdWFs
c1RydWUoKQ0KLSAgICB7DQotICAgICAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKHRydWUsIFsxXSwg
InRydWUgZXF1YWxzIFsxXT8iKTsNCi0gICAgfQ0KLSAgICB0ZXN0KGFzc2VydEFycmF5RXF1YWxz
VHJ1ZSwgImFzc2VydF9hcnJheV9lcXVhbHMgd2l0aCBmaXJzdCBwYXJhbSB0cnVlIik7DQotDQot
ICAgIGZ1bmN0aW9uIGFzc2VydEFycmF5RXF1YWxzRmFsc2UoKQ0KLSAgICB7DQotICAgICAgICBh
c3NlcnRfYXJyYXlfZXF1YWxzKGZhbHNlLCBbMV0sICJmYWxzZSBlcXVhbHMgWzFdPyIpOw0KLSAg
ICB9DQotICAgIHRlc3QoYXNzZXJ0QXJyYXlFcXVhbHNGYWxzZSwgImFzc2VydF9hcnJheV9lcXVh
bHMgd2l0aCBmaXJzdCBwYXJhbSBmYWxzZSIpOw0KLQ0KLSAgICBmdW5jdGlvbiBhc3NlcnRBcnJh
eUVxdWFsc051bGwoKQ0KLSAgICB7DQotICAgICAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKG51bGws
IFsxXSwgIm51bGwgZXF1YWxzIFsxXT8iKTsNCi0gICAgfQ0KLSAgICB0ZXN0KGFzc2VydEFycmF5
RXF1YWxzTnVsbCwgImFzc2VydF9hcnJheV9lcXVhbHMgd2l0aCBmaXJzdCBwYXJhbSBudWxsIik7
DQotDQotICAgIGZ1bmN0aW9uIGFzc2VydEFycmF5RXF1YWxzTnVtZXJpYygpDQotICAgIHsNCi0g
ICAgICAgIGFzc2VydF9hcnJheV9lcXVhbHMoMSwgWzFdLCAiMSBlcXVhbHMgWzFdPyIpOw0KLSAg
ICB9DQotICAgIHRlc3QoYXNzZXJ0QXJyYXlFcXVhbHNOdW1lcmljLCAiYXNzZXJ0X2FycmF5X2Vx
dWFscyB3aXRoIGZpcnN0IHBhcmFtIDEiKTsNCi0NCi0gICAgZnVuY3Rpb24gYmFzaWNBc3NlcnRP
YmplY3RFcXVhbHMoKQ0KLSAgICB7DQotICAgICAgICBhc3NlcnRfb2JqZWN0X2VxdWFscyhbMSwg
MiwgWzEsIDJdXSwgeyAwOiAxLCAxOiAyLCAyOiB7IDA6IDEsIDE6IDJ9IH0sICJhcnJheSBpcyBl
cXVhbCB0byBvYmplY3QiKQ0KLSAgICB9DQotICAgIHRlc3QoYmFzaWNBc3NlcnRPYmplY3RFcXVh
bHMsICJiYXNpYyBhc3NlcnRfb2JqZWN0X2VxdWFscyB0ZXN0Iik7DQotDQotICAgIGZ1bmN0aW9u
IGJhc2ljQXNzZXJ0QXJyYXlBcHByb3hFcXVhbHMoKQ0KLSAgICB7DQotICAgICAgICBhc3NlcnRf
YXJyYXlfYXBwcm94X2VxdWFscyhbMTAsIDExXSwgWzExLCAxMF0sIDEsICJbMTAsIDExXSBpcyBh
cHByb3hpbWF0ZWx5ICgrLy0gMSkgWzExLCAxMF0iKQ0KLSAgICB9DQotICAgIHRlc3QoYmFzaWNB
c3NlcnRBcnJheUFwcHJveEVxdWFscywgImJhc2ljIGFzc2VydF9hcnJheV9hcHByb3hfZXF1YWxz
IHRlc3QiKTsNCi0NCi0gICAgZnVuY3Rpb24gYmFzaWNBc3NlcnRBcHByb3hFcXVhbHMoKQ0KLSAg
ICB7DQotICAgICAgICBhc3NlcnRfYXBwcm94X2VxdWFscygxMCwgMTEsIDEsICIxMCBpcyBhcHBy
b3hpbWF0ZWx5ICgrLy0gMSkgMTEiKQ0KLSAgICB9DQotICAgIHRlc3QoYmFzaWNBc3NlcnRBcHBy
b3hFcXVhbHMsICJiYXNpYyBhc3NlcnRfYXBwcm94X2VxdWFscyB0ZXN0Iik7DQotDQotICAgIGZ1
bmN0aW9uIGJhc2ljQXNzZXJ0TGVzc1RoYW4oKQ0KLSAgICB7DQotICAgICAgICBhc3NlcnRfbGVz
c190aGFuKDEwLCAxMSwgIjEwIGlzIGxlc3MgdGhhbiAxMSIpDQotICAgIH0NCi0gICAgdGVzdChi
YXNpY0Fzc2VydEFwcHJveEVxdWFscywgImJhc2ljIGFzc2VydF9sZXNzX3RoYW4gdGVzdCIpOw0K
LQ0KLSAgICBmdW5jdGlvbiBiYXNpY0Fzc2VydEdyZWF0ZXJUaGFuKCkNCi0gICAgew0KLSAgICAg
ICAgYXNzZXJ0X2dyZWF0ZXJfdGhhbigxMCwgMTEsICIxMCBpcyBub3QgZ3JlYXRlciB0aGFuIDEx
Iik7DQotICAgIH0NCi0gICAgdGVzdChiYXNpY0Fzc2VydEdyZWF0ZXJUaGFuLCAiYXNzZXJ0X2dy
ZWF0ZXJfdGhhbiBleHBlY3RlZCB0byBmYWlsIik7DQotDQotICAgIGZ1bmN0aW9uIGJhc2ljQXNz
ZXJ0R3JlYXRlclRoYW5FcXVhbCgpDQotICAgIHsNCi0gICAgICAgIGFzc2VydF9ncmVhdGVyX3Ro
YW5fZXF1YWwoMTAsIDEwLCAiMTAgaXMgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIDEwIikNCi0g
ICAgfQ0KLSAgICB0ZXN0KGJhc2ljQXNzZXJ0R3JlYXRlclRoYW5FcXVhbCwgImJhc2ljIGFzc2Vy
dF9ncmVhdGVyX3RoYW5fZXF1YWwgdGVzdCIpOw0KLQ0KLSAgICBmdW5jdGlvbiBiYXNpY0Fzc2Vy
dExlc3NUaGFuRXF1YWwoKQ0KLSAgICB7DQotICAgICAgICBhc3NlcnRfZ3JlYXRlcl90aGFuX2Vx
dWFsKCcxMCcsIDEwLCAiJzEwJyBpcyBub3QgYSBudW1iZXIiKQ0KLSAgICB9DQotICAgIHRlc3Qo
YmFzaWNBc3NlcnRMZXNzVGhhbkVxdWFsLCAiYXNzZXJ0X2xlc3NfdGhhbl9lcXVhbCBleHBlY3Rl
ZCB0byBmYWlsIik7DQotDQotICAgIGZ1bmN0aW9uIHRlc3RBc3NlcnRJbmhlcml0cygpIHsNCi0g
ICAgICAgIHZhciBBID0gZnVuY3Rpb24oKXt0aGlzLmEgPSAiYSJ9DQotICAgICAgICBBLnByb3Rv
dHlwZSA9IHtiOiJiIn0NCi0gICAgICAgIHZhciBhID0gbmV3IEEoKTsNCi0gICAgICAgIGFzc2Vy
dF9leGlzdHMoYSwgImEiKTsNCi0gICAgICAgIGFzc2VydF9ub3RfZXhpc3RzKGEsICJiIik7DQot
ICAgICAgICBhc3NlcnRfaW5oZXJpdHMoYSwgImIiKTsNCi0gICAgfQ0KLSAgICB0ZXN0KHRlc3RB
c3NlcnRJbmhlcml0cywgInRlc3QgZm9yIGFzc2VydFtfbm90XV9leGlzdHMgYW5kIGluc2VydF9p
bmhlcml0cyIpDQotDQotICAgIHRlc3QoZnVuY3Rpb24oKQ0KLSAgICB7DQotICAgICAgICB2YXIg
YSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImEiKQ0KLSAgICAgICAgdmFyIGIgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJiIikNCi0gICAgICAgIGFzc2VydF90aHJvd3MoIk5PVF9GT1VORF9F
UlIiLCBmdW5jdGlvbiAoKSB7YS5yZW1vdmVDaGlsZChiKX0pOw0KLSAgICB9LCAiVGVzdCB0aHJv
dyBET00gZXhjZXB0aW9uIikNCi0NCi0gICAgdGVzdChmdW5jdGlvbigpDQotICAgIHsNCi0gICAg
ICAgIHZhciBhID0gZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoImEiKQ0KLSAgICAgICAgdmFyIGIg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJiIikNCi0gICAgICAgIGFzc2VydF90aHJvd3MoIk5P
VF9GT1VORF9FUlIiLCBmdW5jdGlvbiAoKSB7YS5hcHBlbmRDaGlsZChiKX0pOw0KLSAgICB9LCAi
VGVzdCB0aHJvdyBET00gZXhjZXB0aW9uIGV4cGVjdGVkIHRvIGZhaWwiKQ0KLQ0KLSAgICB0ZXN0
KGZ1bmN0aW9uKCkNCi0gICAgew0KLSAgICAgICAgdmFyIGUgPSB7Y29kZTowLCBuYW1lOiJURVNU
X0VSUiIsIFRFU1RfRVJSOjB9DQotICAgICAgICBhc3NlcnRfdGhyb3dzKCJURVNUX0VSUiIsIGZ1
bmN0aW9uKCkge3Rocm93IGV9KTsNCi0gICAgfSwgIlRlc3QgYXNzZXJ0X3Rocm93cyB3aXRoIG5v
bi1ET00tZXhjZXB0aW9uIGV4cGVjdGVkIHRvIEZhaWwiKTsNCi0NCi0gICAgdmFyIHQgPSBhc3lu
Y190ZXN0KCJUZXN0IHN0ZXBfZnVuYyIpDQotICAgIHNldFRpbWVvdXQoDQotICAgICAgdC5zdGVw
X2Z1bmMoDQotICAgICAgICBmdW5jdGlvbiAoKSB7DQotICAgICAgICAgIGFzc2VydF90cnVlKHRy
dWUpOyB0LmRvbmUoKTsNCi0gICAgICAgIH0pLCAwKTsNCi0NCi0gICAgYXN5bmNfdGVzdChmdW5j
dGlvbih0KSB7DQotICAgICAgICBzZXRUaW1lb3V0KHQuc3RlcF9mdW5jKGZ1bmN0aW9uICgpe2Fz
c2VydF90cnVlKHRydWUpOyB0LmRvbmUoKTt9KSwgMCk7DQotICAgIH0sICJUZXN0IGFzeW5jIHRl
c3Qgd2l0aCBjYWxsYmFjayIpOw0KLQ0KLSAgICBhc3luY190ZXN0KGZ1bmN0aW9uKCkgew0KLSAg
ICAgICAgc2V0VGltZW91dCh0aGlzLnN0ZXBfZnVuYyhmdW5jdGlvbiAoKXthc3NlcnRfdHJ1ZSh0
cnVlKTsgdGhpcy5kb25lKCk7fSksIDApOw0KLSAgICB9LCAiVGVzdCBhc3luYyB0ZXN0IHdpdGgg
Y2FsbGJhY2sgYW5kIGB0aGlzYCBvYmouIik7DQotDQotICAgIGFzeW5jX3Rlc3QoInRlc3Qgc2hv
dWxkIHRpbWVvdXQgKGZhaWwpIHdpdGggdGhlIGRlZmF1bHQgb2YgMiBzZWNvbmRzIikuc3RlcChm
dW5jdGlvbigpe30pOw0KLQ0KLSAgICBhc3luY190ZXN0KCJ0ZXN0IHNob3VsZCB0aW1lb3V0IChm
YWlsKSB3aXRoIGEgY3VzdG9tIHNldCB0aW1lb3V0IHZhbHVlIG9mIDEgc2Vjb25kIiwNCi0gICAg
ICAgICAgICAgICB7dGltZW91dDoxMDAwfSkuc3RlcChmdW5jdGlvbigpe30pOw0KLQ0KLSAgICBh
c3luY190ZXN0KCJhc3luYyB0ZXN0IHRoYXQgaXMgbmV2ZXIgc3RhcnRlZCwgc2hvdWxkIGhhdmUg
c3RhdHVzIE5vdCBSdW4iLCB7dGltZW91dDoxMDAwfSk7DQotDQotDQotICAgIHRlc3QoZnVuY3Rp
b24odCkgew0KLSAgICAgICAgICAgICB3aW5kb3cuZ2xvYmFsID0gMTsNCi0gICAgICAgICAgICAg
dC5hZGRfY2xlYW51cChmdW5jdGlvbigpIHtkZWxldGUgd2luZG93Lmdsb2JhbH0pOw0KLSAgICAg
ICAgICAgICBhc3NlcnRfZXF1YWxzKHdpbmRvdy5nbG9iYWwsIDEpOw0KLSAgICAgICAgIH0sDQot
ICAgICAgICAgIlRlc3QgdGhhdCBkZWZpbmVzIGEgZ2xvYmFsIGFuZCBjbGVhbnMgaXQgdXAiKTsN
Ci0NCi0gICAgdGVzdChmdW5jdGlvbigpIHthc3NlcnRfZXF1YWxzKHdpbmRvdy5nbG9iYWwsIHVu
ZGVmaW5lZCl9LA0KLSAgICAgICAgICJUZXN0IHRoYXQgY2xlYW51cCBoYW5kbGVycyBmcm9tIHBy
ZXZpb3VzIHRlc3QgcmFuIik7DQotDQotPC9zY3JpcHQ+DQotPHNjcmlwdCB0eXBlPSJ0ZXh0L2pz
b24iIGlkPSJleHBlY3RlZCI+DQotew0KLSAgInN1bW1hcml6ZWRfc3RhdHVzIjogew0KLSAgICAi
c3RhdHVzX3N0cmluZyI6ICJUSU1FT1VUIiwNCi0gICAgIm1lc3NhZ2UiOiBudWxsLA0KLSAgICAi
c3RhY2siOiBudWxsDQotICB9LA0KLSAgInN1bW1hcml6ZWRfdGVzdHMiOiBbDQotICAgIHsNCi0g
ICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwgDQotICAgICAgIm5hbWUiOiAiU2V0dXAgZnVu
Y3Rpb24gcmFuIiwgDQotICAgICAgInN0YWNrIjogbnVsbCwgDQotICAgICAgIm1lc3NhZ2UiOiBu
dWxsLCANCi0gICAgICAicHJvcGVydGllcyI6IHt9DQotICAgIH0sIA0KLSAgICB7DQotICAgICAg
InN0YXR1c19zdHJpbmciOiAiRkFJTCIsIA0KLSAgICAgICJuYW1lIjogIlRlc3QgYXNzZXJ0X3Ro
cm93cyB3aXRoIG5vbi1ET00tZXhjZXB0aW9uIGV4cGVjdGVkIHRvIEZhaWwiLCANCi0gICAgICAi
c3RhY2siOiAiKGltcGxlbWVudGF0aW9uLWRlZmluZWQpIiwgDQotICAgICAgIm1lc3NhZ2UiOiAi
VGVzdCBidWc6IHVucmVjb2duaXplZCBET01FeGNlcHRpb24gY29kZSBcIlRFU1RfRVJSXCIgcGFz
c2VkIHRvIGFzc2VydF90aHJvd3MoKSIsIA0KLSAgICAgICJwcm9wZXJ0aWVzIjoge30NCi0gICAg
fSwgDQotICAgIHsNCi0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwgDQotICAgICAgIm5h
bWUiOiAiVGVzdCBhc3luYyB0ZXN0IHdpdGggY2FsbGJhY2siLCANCi0gICAgICAic3RhY2siOiBu
dWxsLCANCi0gICAgICAibWVzc2FnZSI6IG51bGwsIA0KLSAgICAgICJwcm9wZXJ0aWVzIjoge30N
Ci0gICAgfSwgDQotICAgIHsNCi0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwgDQotICAg
ICAgIm5hbWUiOiAiVGVzdCBhc3luYyB0ZXN0IHdpdGggY2FsbGJhY2sgYW5kIGB0aGlzYCBvYmou
IiwgDQotICAgICAgInN0YWNrIjogbnVsbCwgDQotICAgICAgIm1lc3NhZ2UiOiBudWxsLCANCi0g
ICAgICAicHJvcGVydGllcyI6IHt9DQotICAgIH0sIA0KLSAgICB7DQotICAgICAgInN0YXR1c19z
dHJpbmciOiAiUEFTUyIsIA0KLSAgICAgICJuYW1lIjogIlRlc3Qgc3RlcF9mdW5jIiwgDQotICAg
ICAgInN0YWNrIjogbnVsbCwgDQotICAgICAgIm1lc3NhZ2UiOiBudWxsLCANCi0gICAgICAicHJv
cGVydGllcyI6IHt9DQotICAgIH0sIA0KLSAgICB7DQotICAgICAgInN0YXR1c19zdHJpbmciOiAi
UEFTUyIsIA0KLSAgICAgICJuYW1lIjogIlRlc3QgdGhhdCBjbGVhbnVwIGhhbmRsZXJzIGZyb20g
cHJldmlvdXMgdGVzdCByYW4iLCANCi0gICAgICAic3RhY2siOiBudWxsLCANCi0gICAgICAibWVz
c2FnZSI6IG51bGwsIA0KLSAgICAgICJwcm9wZXJ0aWVzIjoge30NCi0gICAgfSwgDQotICAgIHsN
Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwgDQotICAgICAgIm5hbWUiOiAiVGVzdCB0
aGF0IGRlZmluZXMgYSBnbG9iYWwgYW5kIGNsZWFucyBpdCB1cCIsIA0KLSAgICAgICJzdGFjayI6
IG51bGwsIA0KLSAgICAgICJtZXNzYWdlIjogbnVsbCwgDQotICAgICAgInByb3BlcnRpZXMiOiB7
fQ0KLSAgICB9LCANCi0gICAgew0KLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLCANCi0g
ICAgICAibmFtZSI6ICJUZXN0IHRocm93IERPTSBleGNlcHRpb24iLCANCi0gICAgICAic3RhY2si
OiBudWxsLCANCi0gICAgICAibWVzc2FnZSI6IG51bGwsIA0KLSAgICAgICJwcm9wZXJ0aWVzIjog
e30NCi0gICAgfSwgDQotICAgIHsNCi0gICAgICAic3RhdHVzX3N0cmluZyI6ICJGQUlMIiwgDQot
ICAgICAgIm5hbWUiOiAiVGVzdCB0aHJvdyBET00gZXhjZXB0aW9uIGV4cGVjdGVkIHRvIGZhaWwi
LCANCi0gICAgICAic3RhY2siOiAiKGltcGxlbWVudGF0aW9uLWRlZmluZWQpIiwgDQotICAgICAg
Im1lc3NhZ2UiOiAiYXNzZXJ0X3Rocm93czogZnVuY3Rpb24gXCJmdW5jdGlvbiAoKSB7YS5hcHBl
bmRDaGlsZChiKX1cIiB0aHJldyBvYmplY3QgXCJIaWVyYXJjaHlSZXF1ZXN0RXJyb3I6IE5vZGUg
Y2Fubm90IGJlIGluc2VydGVkIGF0IHRoZSBzcGVjaWZpZWQgcG9pbnQgaW4gdGhlIGhpZXJhcmNo
eVwiIHRoYXQgaXMgbm90IGEgRE9NRXhjZXB0aW9uIE5PVF9GT1VORF9FUlI6IHByb3BlcnR5IFwi
Y29kZVwiIGlzIGVxdWFsIHRvIDMsIGV4cGVjdGVkIDgiLCANCi0gICAgICAicHJvcGVydGllcyI6
IHt9DQotICAgIH0sIA0KLSAgICB7DQotICAgICAgInN0YXR1c19zdHJpbmciOiAiRkFJTCIsIA0K
LSAgICAgICJuYW1lIjogImFzc2VydF9hcnJheV9lcXVhbHMgd2l0aCBmaXJzdCBwYXJhbSAxIiwg
DQotICAgICAgInN0YWNrIjogIihpbXBsZW1lbnRhdGlvbi1kZWZpbmVkKSIsIA0KLSAgICAgICJt
ZXNzYWdlIjogImFzc2VydF9hcnJheV9lcXVhbHM6IDEgZXF1YWxzIFsxXT8gdmFsdWUgaXMgMSwg
ZXhwZWN0ZWQgYXJyYXkiLCANCi0gICAgICAicHJvcGVydGllcyI6IHt9DQotICAgIH0sIA0KLSAg
ICB7DQotICAgICAgInN0YXR1c19zdHJpbmciOiAiRkFJTCIsIA0KLSAgICAgICJuYW1lIjogImFz
c2VydF9hcnJheV9lcXVhbHMgd2l0aCBmaXJzdCBwYXJhbSBmYWxzZSIsIA0KLSAgICAgICJzdGFj
ayI6ICIoaW1wbGVtZW50YXRpb24tZGVmaW5lZCkiLCANCi0gICAgICAibWVzc2FnZSI6ICJhc3Nl
cnRfYXJyYXlfZXF1YWxzOiBmYWxzZSBlcXVhbHMgWzFdPyB2YWx1ZSBpcyBmYWxzZSwgZXhwZWN0
ZWQgYXJyYXkiLCANCi0gICAgICAicHJvcGVydGllcyI6IHt9DQotICAgIH0sIA0KLSAgICB7DQot
ICAgICAgInN0YXR1c19zdHJpbmciOiAiRkFJTCIsIA0KLSAgICAgICJuYW1lIjogImFzc2VydF9h
cnJheV9lcXVhbHMgd2l0aCBmaXJzdCBwYXJhbSBudWxsIiwgDQotICAgICAgInN0YWNrIjogIihp
bXBsZW1lbnRhdGlvbi1kZWZpbmVkKSIsIA0KLSAgICAgICJtZXNzYWdlIjogImFzc2VydF9hcnJh
eV9lcXVhbHM6IG51bGwgZXF1YWxzIFsxXT8gdmFsdWUgaXMgbnVsbCwgZXhwZWN0ZWQgYXJyYXki
LCANCi0gICAgICAicHJvcGVydGllcyI6IHt9DQotICAgIH0sIA0KLSAgICB7DQotICAgICAgInN0
YXR1c19zdHJpbmciOiAiRkFJTCIsIA0KLSAgICAgICJuYW1lIjogImFzc2VydF9hcnJheV9lcXVh
bHMgd2l0aCBmaXJzdCBwYXJhbSB0cnVlIiwgDQotICAgICAgInN0YWNrIjogIihpbXBsZW1lbnRh
dGlvbi1kZWZpbmVkKSIsIA0KLSAgICAgICJtZXNzYWdlIjogImFzc2VydF9hcnJheV9lcXVhbHM6
IHRydWUgZXF1YWxzIFsxXT8gdmFsdWUgaXMgdHJ1ZSwgZXhwZWN0ZWQgYXJyYXkiLCANCi0gICAg
ICAicHJvcGVydGllcyI6IHt9DQotICAgIH0sIA0KLSAgICB7DQotICAgICAgInN0YXR1c19zdHJp
bmciOiAiRkFJTCIsIA0KLSAgICAgICJuYW1lIjogImFzc2VydF9hcnJheV9lcXVhbHMgd2l0aCBm
aXJzdCBwYXJhbSB1bmRlZmluZWQiLCANCi0gICAgICAic3RhY2siOiAiKGltcGxlbWVudGF0aW9u
LWRlZmluZWQpIiwgDQotICAgICAgIm1lc3NhZ2UiOiAiYXNzZXJ0X2FycmF5X2VxdWFsczogdW5k
ZWZpbmVkIGVxdWFscyBbMV0/IHZhbHVlIGlzIHVuZGVmaW5lZCwgZXhwZWN0ZWQgYXJyYXkiLCAN
Ci0gICAgICAicHJvcGVydGllcyI6IHt9DQotICAgIH0sIA0KLSAgICB7DQotICAgICAgInN0YXR1
c19zdHJpbmciOiAiUEFTUyIsIA0KLSAgICAgICJuYW1lIjogImFzc2VydF9lcXVhbHMgdGVzdHMi
LCANCi0gICAgICAic3RhY2siOiBudWxsLCANCi0gICAgICAibWVzc2FnZSI6IG51bGwsIA0KLSAg
ICAgICJwcm9wZXJ0aWVzIjoge30NCi0gICAgfSwgDQotICAgIHsNCi0gICAgICAic3RhdHVzX3N0
cmluZyI6ICJGQUlMIiwgDQotICAgICAgIm5hbWUiOiAiYXNzZXJ0X2VxdWFscyB0ZXN0cyBleHBl
Y3RlZCB0byBmYWlsIiwgDQotICAgICAgInN0YWNrIjogIihpbXBsZW1lbnRhdGlvbi1kZWZpbmVk
KSIsIA0KLSAgICAgICJtZXNzYWdlIjogImFzc2VydF9lcXVhbHM6IFplcm8gY2FzZSBleHBlY3Rl
ZCAwIGJ1dCBnb3QgLTAiLCANCi0gICAgICAicHJvcGVydGllcyI6IHt9DQotICAgIH0sIA0KLSAg
ICB7DQotICAgICAgInN0YXR1c19zdHJpbmciOiAiRkFJTCIsIA0KLSAgICAgICJuYW1lIjogImFz
c2VydF9ncmVhdGVyX3RoYW4gZXhwZWN0ZWQgdG8gZmFpbCIsIA0KLSAgICAgICJzdGFjayI6ICIo
aW1wbGVtZW50YXRpb24tZGVmaW5lZCkiLCANCi0gICAgICAibWVzc2FnZSI6ICJhc3NlcnRfZ3Jl
YXRlcl90aGFuOiAxMCBpcyBub3QgZ3JlYXRlciB0aGFuIDExIGV4cGVjdGVkIGEgbnVtYmVyIGdy
ZWF0ZXIgdGhhbiAxMSBidXQgZ290IDEwIiwgDQotICAgICAgInByb3BlcnRpZXMiOiB7fQ0KLSAg
ICB9LCANCi0gICAgew0KLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIkZBSUwiLCANCi0gICAgICAi
bmFtZSI6ICJhc3NlcnRfbGVzc190aGFuX2VxdWFsIGV4cGVjdGVkIHRvIGZhaWwiLCANCi0gICAg
ICAic3RhY2siOiAiKGltcGxlbWVudGF0aW9uLWRlZmluZWQpIiwgDQotICAgICAgIm1lc3NhZ2Ui
OiAiYXNzZXJ0X2dyZWF0ZXJfdGhhbl9lcXVhbDogJzEwJyBpcyBub3QgYSBudW1iZXIgZXhwZWN0
ZWQgYSBudW1iZXIgYnV0IGdvdCBhIFwic3RyaW5nXCIiLCANCi0gICAgICAicHJvcGVydGllcyI6
IHt9DQotICAgIH0sIA0KLSAgICB7DQotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsIA0K
LSAgICAgICJuYW1lIjogImFzc2VydF9ub3RfZXF1YWxzIHRlc3RzIiwgDQotICAgICAgInN0YWNr
IjogbnVsbCwgDQotICAgICAgIm1lc3NhZ2UiOiBudWxsLCANCi0gICAgICAicHJvcGVydGllcyI6
IHt9DQotICAgIH0sIA0KLSAgICB7DQotICAgICAgInN0YXR1c19zdHJpbmciOiAiRkFJTCIsIA0K
LSAgICAgICJuYW1lIjogImFzc2VydF90cnVlIGV4cGVjdGVkIHRvIGZhaWwiLCANCi0gICAgICAi
c3RhY2siOiAiKGltcGxlbWVudGF0aW9uLWRlZmluZWQpIiwgDQotICAgICAgIm1lc3NhZ2UiOiAi
YXNzZXJ0X3RydWU6IGZhbHNlIHNob3VsZCBub3QgYmUgdHJ1ZSBleHBlY3RlZCB0cnVlIGdvdCBm
YWxzZSIsIA0KLSAgICAgICJwcm9wZXJ0aWVzIjoge30NCi0gICAgfSwgDQotICAgIHsNCi0gICAg
ICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwgDQotICAgICAgIm5hbWUiOiAiYXNzZXJ0X3RydWUg
ZXhwZWN0ZWQgdG8gcGFzcyIsIA0KLSAgICAgICJzdGFjayI6IG51bGwsIA0KLSAgICAgICJtZXNz
YWdlIjogbnVsbCwgDQotICAgICAgInByb3BlcnRpZXMiOiB7fQ0KLSAgICB9LCANCi0gICAgew0K
LSAgICAgICJzdGF0dXNfc3RyaW5nIjogIk5PVFJVTiIsIA0KLSAgICAgICJuYW1lIjogImFzeW5j
IHRlc3QgdGhhdCBpcyBuZXZlciBzdGFydGVkLCBzaG91bGQgaGF2ZSBzdGF0dXMgTm90IFJ1biIs
IA0KLSAgICAgICJzdGFjayI6IG51bGwsIA0KLSAgICAgICJtZXNzYWdlIjogbnVsbCwgDQotICAg
ICAgInByb3BlcnRpZXMiOiB7DQotICAgICAgICAidGltZW91dCI6IDEwMDANCi0gICAgICB9DQot
ICAgIH0sIA0KLSAgICB7DQotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsDQotICAgICAg
Im5hbWUiOiAiYmFzaWMgYXNzZXJ0X2FwcHJveF9lcXVhbHMgdGVzdCIsDQotICAgICAgInN0YWNr
IjogbnVsbCwNCi0gICAgICAibWVzc2FnZSI6IG51bGwsDQotICAgICAgInByb3BlcnRpZXMiOiB7
fQ0KLSAgICB9LA0KLSAgICB7DQotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsDQotICAg
ICAgIm5hbWUiOiAiYmFzaWMgYXNzZXJ0X2FycmF5X2FwcHJveF9lcXVhbHMgdGVzdCIsDQotICAg
ICAgInN0YWNrIjogbnVsbCwNCi0gICAgICAibWVzc2FnZSI6IG51bGwsDQotICAgICAgInByb3Bl
cnRpZXMiOiB7fQ0KLSAgICB9LA0KLSAgICB7DQotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFT
UyIsIA0KLSAgICAgICJuYW1lIjogImJhc2ljIGFzc2VydF9hcnJheV9lcXVhbHMgdGVzdCIsIA0K
LSAgICAgICJzdGFjayI6IG51bGwsIA0KLSAgICAgICJtZXNzYWdlIjogbnVsbCwgDQotICAgICAg
InByb3BlcnRpZXMiOiB7fQ0KLSAgICB9LCANCi0gICAgew0KLSAgICAgICJzdGF0dXNfc3RyaW5n
IjogIlBBU1MiLCANCi0gICAgICAibmFtZSI6ICJiYXNpYyBhc3NlcnRfZ3JlYXRlcl90aGFuX2Vx
dWFsIHRlc3QiLCANCi0gICAgICAic3RhY2siOiBudWxsLCANCi0gICAgICAibWVzc2FnZSI6IG51
bGwsIA0KLSAgICAgICJwcm9wZXJ0aWVzIjoge30NCi0gICAgfSwgDQotICAgIHsNCi0gICAgICAi
c3RhdHVzX3N0cmluZyI6ICJQQVNTIiwgDQotICAgICAgIm5hbWUiOiAiYmFzaWMgYXNzZXJ0X2xl
c3NfdGhhbiB0ZXN0IiwgDQotICAgICAgInN0YWNrIjogbnVsbCwgDQotICAgICAgIm1lc3NhZ2Ui
OiBudWxsLCANCi0gICAgICAicHJvcGVydGllcyI6IHt9DQotICAgIH0sIA0KLSAgICB7DQotICAg
ICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsIA0KLSAgICAgICJuYW1lIjogImJhc2ljIGFzc2Vy
dF9vYmplY3RfZXF1YWxzIHRlc3QiLCANCi0gICAgICAic3RhY2siOiBudWxsLCANCi0gICAgICAi
bWVzc2FnZSI6IG51bGwsIA0KLSAgICAgICJwcm9wZXJ0aWVzIjoge30NCi0gICAgfSwgDQotICAg
IHsNCi0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwgDQotICAgICAgIm5hbWUiOiAiYm9k
eSBlbGVtZW50IGZpcmVzIHRoZSBvbmxvYWQgZXZlbnQgc2V0IGZyb20gdGhlIGF0dHJpYnV0ZSIs
IA0KLSAgICAgICJzdGFjayI6IG51bGwsIA0KLSAgICAgICJtZXNzYWdlIjogbnVsbCwgDQotICAg
ICAgInByb3BlcnRpZXMiOiB7fQ0KLSAgICB9LCANCi0gICAgew0KLSAgICAgICJzdGF0dXNfc3Ry
aW5nIjogIlBBU1MiLCANCi0gICAgICAibmFtZSI6ICJkb2N1bWVudC5ib2R5IHNob3VsZCBiZSB0
aGUgZmlyc3QgYm9keSBlbGVtZW50IGluIHRoZSBkb2N1bWVudCIsIA0KLSAgICAgICJzdGFjayI6
IG51bGwsIA0KLSAgICAgICJtZXNzYWdlIjogbnVsbCwgDQotICAgICAgInByb3BlcnRpZXMiOiB7
fQ0KLSAgICB9LCANCi0gICAgew0KLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLCANCi0g
ICAgICAibmFtZSI6ICJ0ZXN0IGZvciBhc3NlcnRbX25vdF1fZXhpc3RzIGFuZCBpbnNlcnRfaW5o
ZXJpdHMiLCANCi0gICAgICAic3RhY2siOiBudWxsLCANCi0gICAgICAibWVzc2FnZSI6IG51bGws
IA0KLSAgICAgICJwcm9wZXJ0aWVzIjoge30NCi0gICAgfSwgDQotICAgIHsNCi0gICAgICAic3Rh
dHVzX3N0cmluZyI6ICJUSU1FT1VUIiwgDQotICAgICAgIm5hbWUiOiAidGVzdCBzaG91bGQgdGlt
ZW91dCAoZmFpbCkgd2l0aCBhIGN1c3RvbSBzZXQgdGltZW91dCB2YWx1ZSBvZiAxIHNlY29uZCIs
IA0KLSAgICAgICJzdGFjayI6IG51bGwsIA0KLSAgICAgICJtZXNzYWdlIjogIlRlc3QgdGltZWQg
b3V0IiwgDQotICAgICAgInByb3BlcnRpZXMiOiB7DQotICAgICAgICAidGltZW91dCI6IDEwMDAN
Ci0gICAgICB9DQotICAgIH0sIA0KLSAgICB7DQotICAgICAgInN0YXR1c19zdHJpbmciOiAiVElN
RU9VVCIsIA0KLSAgICAgICJuYW1lIjogInRlc3Qgc2hvdWxkIHRpbWVvdXQgKGZhaWwpIHdpdGgg
dGhlIGRlZmF1bHQgb2YgMiBzZWNvbmRzIiwgDQotICAgICAgInN0YWNrIjogbnVsbCwgDQotICAg
ICAgIm1lc3NhZ2UiOiAiVGVzdCB0aW1lZCBvdXQiLCANCi0gICAgICAicHJvcGVydGllcyI6IHt9
DQotICAgIH0sIA0KLSAgICB7DQotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsIA0KLSAg
ICAgICJuYW1lIjogIndpbmRvdyBvbmxvYWQgZXZlbnQgZmlyZXMgd2hlbiBzZXQgZnJvbSB0aGUg
aGFuZGxlciIsIA0KLSAgICAgICJzdGFjayI6IG51bGwsIA0KLSAgICAgICJtZXNzYWdlIjogbnVs
bCwgDQotICAgICAgInByb3BlcnRpZXMiOiB7fQ0KLSAgICB9DQotICBdLA0KLSAgInR5cGUiOiAi
Y29tcGxldGUiDQotfQ0KLTwvc2NyaXB0Pg0KLTwvYm9keT4NCi08L2h0bWw+DQpJbmRleDogTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90
ZXN0cy9hcGktdGVzdHMtMi5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvYXBpLXRlc3RzLTIu
aHRtbAkocmV2aXNpb24gMjUyODk2KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9hcGktdGVzdHMtMi5odG1sCShub25l
eGlzdGVudCkKQEAgLTEsNDcgKzAsMCBAQAotPCFET0NUWVBFIEhUTUw+Ci08aHRtbD4KLTxoZWFk
PgotPHRpdGxlPlNhbXBsZSBIVE1MNSBBUEkgVGVzdHM8L3RpdGxlPgotPC9oZWFkPgotPGJvZHkg
b25sb2FkPSJsb2FkX3Rlc3RfYXR0ci5kb25lKCkiPgotPGgxPlNhbXBsZSBIVE1MNSBBUEkgVGVz
dHM8L2gxPgotPHA+VGhlcmUgc2hvdWxkIGJlIHR3byByZXN1bHRzPC9wPgotPGRpdiBpZD0ibG9n
Ij48L2Rpdj4KLTxzY3JpcHQgc3JjPSIuLi8uLi90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0iLi4vLi4vdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlw
dD4KLXNldHVwKHtleHBsaWNpdF9kb25lOnRydWV9KQotdGVzdChmdW5jdGlvbigpIHthc3NlcnRf
dHJ1ZSh0cnVlKX0sICJUZXN0IGRlZmluZWQgYmVmb3JlIG9ubG9hZCIpOwotCi1vbmxvYWQgPSBm
dW5jdGlvbigpIHt0ZXN0KGZ1bmN0aW9uICgpe2Fzc2VydF90cnVlKHRydWUpfSwgIlRlc3QgZGVm
aW5lZCBhZnRlciBvbmxvYWQiKTsKLWRvbmUoKTsKLX0KLTwvc2NyaXB0PgotPHNjcmlwdCB0eXBl
PSJ0ZXh0L2pzb24iIGlkPSJleHBlY3RlZCI+Ci17Ci0gICJzdW1tYXJpemVkX3N0YXR1cyI6IHsK
LSAgICAic3RhdHVzX3N0cmluZyI6ICJPSyIsCi0gICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICJz
dGFjayI6IG51bGwKLSAgfSwKLSAgInN1bW1hcml6ZWRfdGVzdHMiOiBbCi0gICAgewotICAgICAg
InN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJUZXN0IGRlZmluZWQgYWZ0
ZXIgb25sb2FkIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6IG51
bGwsCi0gICAgICAic3RhY2siOiBudWxsCi0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0
cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1lIjogIlRlc3QgZGVmaW5lZCBiZWZvcmUgb25sb2Fk
IiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAg
ICAic3RhY2siOiBudWxsCi0gICAgfQotICBdLAotICAidHlwZSI6ICJjb21wbGV0ZSIKLX0KLTwv
c2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9hcGktdGVzdHMtMy5odG1s
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvYXBpLXRlc3RzLTMuaHRtbAkocmV2aXNpb24gMjUyODk2
KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvdGVzdC90ZXN0cy9hcGktdGVzdHMtMy5odG1sCShub25leGlzdGVudCkKQEAgLTEsMzYgKzAs
MCBAQAotPCFET0NUWVBFIEhUTUw+Ci08aHRtbD4KLTxoZWFkPgotPHRpdGxlPlNhbXBsZSBIVE1M
NSBBUEkgVGVzdHM8L3RpdGxlPgotPC9oZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Rlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4KLQotPGJvZHkgb25sb2FkPSJsb2FkX3Rlc3RfYXR0ci5kb25lKCki
PgotPGgxPlNhbXBsZSBIVE1MNSBBUEkgVGVzdHM8L2gxPgotPGRpdiBpZD0ibG9nIj48L2Rpdj4K
LTxzY3JpcHQ+Ci1zZXR1cCh7ZXhwbGljaXRfdGltZW91dDp0cnVlfSk7Ci12YXIgdCA9IGFzeW5j
X3Rlc3QoIlRoaXMgdGVzdCBzaG91bGQgZ2l2ZSBhIHN0YXR1cyBvZiAnTm90IFJ1bicgd2l0aG91
dCBhIGRlbGF5Iik7Ci10aW1lb3V0KCk7Ci08L3NjcmlwdD4KLTxzY3JpcHQgdHlwZT0idGV4dC9q
c29uIiBpZD0iZXhwZWN0ZWQiPgotewotICAic3VtbWFyaXplZF9zdGF0dXMiOiB7Ci0gICAgInN0
YXR1c19zdHJpbmciOiAiVElNRU9VVCIsCi0gICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICJzdGFj
ayI6IG51bGwKLSAgfSwKLSAgInN1bW1hcml6ZWRfdGVzdHMiOiBbCi0gICAgewotICAgICAgInN0
YXR1c19zdHJpbmciOiAiTk9UUlVOIiwKLSAgICAgICJuYW1lIjogIlRoaXMgdGVzdCBzaG91bGQg
Z2l2ZSBhIHN0YXR1cyBvZiAnTm90IFJ1bicgd2l0aG91dCBhIGRlbGF5IiwKLSAgICAgICJwcm9w
ZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAic3RhY2siOiBudWxs
Ci0gICAgfQotICBdLAotICAidHlwZSI6ICJjb21wbGV0ZSIKLX0KLTwvc2NyaXB0PgotPC9ib2R5
PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9nZW5lcmF0ZS1jYWxsYmFjay5odG1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3Rlc3QvdGVzdHMvZ2VuZXJhdGUtY2FsbGJhY2suaHRtbAkocmV2aXNpb24gMjUyODk2KQor
KysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
dGVzdC90ZXN0cy9nZW5lcmF0ZS1jYWxsYmFjay5odG1sCShub25leGlzdGVudCkKQEAgLTEsMTY3
ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLTx0aXRsZT5TYW1wbGUg
Zm9yIHVzaW5nIGdlbmVyYXRlX3Rlc3RzIHRvIGNyZWF0ZSBhIHNlcmllcyBvZiB0ZXN0cyB0aGF0
IHNoYXJlIHRoZSBzYW1lIGNhbGxiYWNrLjwvdGl0bGU+Ci08c2NyaXB0IHNyYz0iLi4vLi4vdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPHNjcmlwdD4KLS8vIGdlbmVyYXRl
X3Rlc3RzIHRha2VzIGFuIGFycmF5IG9mIGFycmF5cyB0aGF0IGRlZmluZSB0ZXN0cwotLy8gYnV0
IGxldHMgcGFzcyBpdCBhbiBlbXB0eSBhcnJheSBhbmQgdmVyaWZ5IGl0IGRvZXMgbm90aGluZy4K
LWZ1bmN0aW9uIG51bGxfY2FsbGJhY2soKSB7Ci0JdGhyb3cgIm51bGxfY2FsbGJhY2sgc2hvdWxk
IG5vdCBiZSBjYWxsZWQuIjsKLX0KLWdlbmVyYXRlX3Rlc3RzKG51bGxfY2FsbGJhY2ssIFtdKTsK
LQotLy8gR2VuZXJhdGUgMyB0ZXN0cyBzcGVjaWZ5aW5nIHRoZSBuYW1lIGFuZCBvbmUgcGFyYW1l
dGVyCi1mdW5jdGlvbiB2YWxpZGF0ZV9hcmd1bWVudHMoYXJnMSkgewotCWFzc2VydF9lcXVhbHMo
YXJnMSwgMSwgIkVuc3VyZSB0aGF0IHdlIGdldCBvdXIgZXhwZWN0ZWQgYXJndW1lbnQiKTsKLX0K
LWdlbmVyYXRlX3Rlc3RzKHZhbGlkYXRlX2FyZ3VtZW50cywgWwotCVsiZmlyc3QgdGVzdCIsIDFd
LAotCVsic2Vjb25kIHRlc3QiLCAxXSwKLQlbInRoaXJkIHRlc3QiLCAxXSwKLV0pOwotCi0vLyBH
ZW5lcmF0ZSBhIHRlc3QgcGFzc2luZyBpbiBhIHByb3BlcnRpZXMgb2JqZWN0IHRoYXQgaXMgc2hh
cmVkIGFjcm9zcyB0ZXN0cy4KLWZ1bmN0aW9uIHZhbGlkYXRlX3Byb3BlcnRpZXMoKSB7Ci0JYXNz
ZXJ0X3RydWUodGhpcy5wcm9wZXJ0aWVzLnNlbnRpbmVsLCAiRW5zdXJlIHRoYXQgd2UgZ290IHRo
ZSByaWdodCBwcm9wZXJ0aWVzIG9iamVjdC4iKTsKLX0KLWdlbmVyYXRlX3Rlc3RzKHZhbGlkYXRl
X3Byb3BlcnRpZXMsIFtbInNlbnRpbmVsIGNoZWNrIDEiXSwgWyJzZW50aW5lbCBjaGVjayAyIl1d
LCB7c2VudGluZWw6IHRydWV9KTsKLQotLy8gR2VuZXJhdGUgYSB0ZXN0IHBhc3NpbmcgaW4gYSBw
cm9wZXJ0aWVzIG9iamVjdCB0aGF0IGlzIHNoYXJlZCBhY3Jvc3MgdGVzdHMuCi1mdW5jdGlvbiB2
YWxpZGF0ZV9zZXBhcmF0ZV9wcm9wZXJ0aWVzKCkgewotCWlmICh0aGlzLm5hbWUgPT09ICJzZW50
aW5lbCBjaGVjayAxIHVuaXF1ZSBwcm9wZXJ0aWVzIikgewotCQlhc3NlcnRfdHJ1ZSh0aGlzLnBy
b3BlcnRpZXMuc2VudGluZWwsICJFbnN1cmUgdGhhdCB3ZSBnb3QgdGhlIHJpZ2h0IHByb3BlcnRp
ZXMgb2JqZWN0LiBFeHBlY3Qgc2VudGluZWw6IHRydWUuIik7Ci0JfQotCWVsc2UgewotCQlhc3Nl
cnRfZmFsc2UodGhpcy5wcm9wZXJ0aWVzLnNlbnRpbmVsLCAiRW5zdXJlIHRoYXQgd2UgZ290IHRo
ZSByaWdodCBwcm9wZXJ0aWVzIG9iamVjdC4gRXhwZWN0IHNlbnRpbmVsOiBmYWxzZS4iKTsKLQl9
Ci19Ci1nZW5lcmF0ZV90ZXN0cyh2YWxpZGF0ZV9zZXBhcmF0ZV9wcm9wZXJ0aWVzLCBbWyJzZW50
aW5lbCBjaGVjayAxIHVuaXF1ZSBwcm9wZXJ0aWVzIl0sIFsic2VudGluZWwgY2hlY2sgMiB1bmlx
dWUgcHJvcGVydGllcyJdXSwgW3tzZW50aW5lbDogdHJ1ZX0sIHtzZW50aW5lbDogZmFsc2V9XSk7
Ci0KLS8vIEZpbmFsbHkgZ2VuZXJhdGUgYSBjb21wbGljYXRlZCBzZXQgb2YgdGVzdHMgZnJvbSBh
bm90aGVyIGRhdGEgc291cmNlCi12YXIgbGV0dGVycyA9IFsiYSIsICJiIiwgImMiLCAiZCIsICJl
IiwgImYiXTsKLXZhciBudW1iZXJzID0gWzAsIDEsIDIsIDMsIDQsIDVdOwotZnVuY3Rpb24gdmFs
aWRhdGVfcmVsYXRlZF9hcmd1bWVudHMoYXJnMSwgYXJnMikgewotCWFzc2VydF9lcXVhbHMoYXJn
MS5jaGFyQ29kZUF0KDApIC0gImEiLmNoYXJDb2RlQXQoMCksIGFyZzIsICJFbnN1cmUgdGhhdCB3
ZSBjYW4gbWFwIGxldHRlcnMgdG8gbnVtYmVycy4iKTsKLX0KLWZ1bmN0aW9uIGZvcm1hdF9hc190
ZXN0KGxldHRlciwgaW5kZXgsIGxldHRlcnMpIHsKLQlyZXR1cm4gWyJUZXN0IHRvIG1hcCAiICsg
bGV0dGVyICsgIiB0byAiICsgbnVtYmVyc1tpbmRleF0sIGxldHRlciwgbnVtYmVyc1tpbmRleF1d
OwotfQotZ2VuZXJhdGVfdGVzdHModmFsaWRhdGVfcmVsYXRlZF9hcmd1bWVudHMsIGxldHRlcnMu
bWFwKGZvcm1hdF9hc190ZXN0KSk7Ci08L3NjcmlwdD4KLTxzY3JpcHQgdHlwZT0idGV4dC9qc29u
IiBpZD0iZXhwZWN0ZWQiPgotewotICAic3VtbWFyaXplZF9zdGF0dXMiOiB7Ci0gICAgInN0YXR1
c19zdHJpbmciOiAiT0siLAotICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAic3RhY2siOiBudWxs
Ci0gIH0sCi0gICJzdW1tYXJpemVkX3Rlc3RzIjogWwotICAgIHsKLSAgICAgICJzdGF0dXNfc3Ry
aW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUiOiAiVGVzdCB0byBtYXAgYSB0byAwIiwKLSAgICAg
ICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAic3RhY2si
OiBudWxsCi0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAg
ICAgICJuYW1lIjogIlRlc3QgdG8gbWFwIGIgdG8gMSIsCi0gICAgICAicHJvcGVydGllcyI6IHt9
LAotICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgInN0YWNrIjogbnVsbAotICAgIH0sCi0g
ICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJUZXN0
IHRvIG1hcCBjIHRvIDIiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdl
IjogbnVsbCwKLSAgICAgICJzdGFjayI6IG51bGwKLSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0
dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUiOiAiVGVzdCB0byBtYXAgZCB0byAzIiwK
LSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAi
c3RhY2siOiBudWxsCi0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNT
IiwKLSAgICAgICJuYW1lIjogIlRlc3QgdG8gbWFwIGUgdG8gNCIsCi0gICAgICAicHJvcGVydGll
cyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgInN0YWNrIjogbnVsbAotICAg
IH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6
ICJUZXN0IHRvIG1hcCBmIHRvIDUiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJt
ZXNzYWdlIjogbnVsbCwKLSAgICAgICJzdGFjayI6IG51bGwKLSAgICB9LAotICAgIHsKLSAgICAg
ICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUiOiAiZmlyc3QgdGVzdCIsCi0g
ICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgInN0
YWNrIjogbnVsbAotICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIs
Ci0gICAgICAibmFtZSI6ICJzZWNvbmQgdGVzdCIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAot
ICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgInN0YWNrIjogbnVsbAotICAgIH0sCi0gICAg
ewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJzZW50aW5l
bCBjaGVjayAxIiwKLSAgICAgICJwcm9wZXJ0aWVzIjogewotICAgICAgICAic2VudGluZWwiOiB0
cnVlCi0gICAgICB9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgInN0YWNrIjogbnVs
bAotICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAi
bmFtZSI6ICJzZW50aW5lbCBjaGVjayAxIHVuaXF1ZSBwcm9wZXJ0aWVzIiwKLSAgICAgICJwcm9w
ZXJ0aWVzIjogewotICAgICAgICAic2VudGluZWwiOiB0cnVlCi0gICAgICB9LAotICAgICAgIm1l
c3NhZ2UiOiBudWxsLAotICAgICAgInN0YWNrIjogbnVsbAotICAgIH0sCi0gICAgewotICAgICAg
InN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJzZW50aW5lbCBjaGVjayAy
IiwKLSAgICAgICJwcm9wZXJ0aWVzIjogewotICAgICAgICAic2VudGluZWwiOiB0cnVlCi0gICAg
ICB9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgInN0YWNrIjogbnVsbAotICAgIH0s
Ci0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJz
ZW50aW5lbCBjaGVjayAyIHVuaXF1ZSBwcm9wZXJ0aWVzIiwKLSAgICAgICJwcm9wZXJ0aWVzIjog
ewotICAgICAgICAic2VudGluZWwiOiBmYWxzZQotICAgICAgfSwKLSAgICAgICJtZXNzYWdlIjog
bnVsbCwKLSAgICAgICJzdGFjayI6IG51bGwKLSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0dXNf
c3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUiOiAidGhpcmQgdGVzdCIsCi0gICAgICAicHJv
cGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgInN0YWNrIjogbnVs
bAotICAgIH0KLSAgXSwKLSAgInR5cGUiOiAiY29tcGxldGUiCi19Ci08L3NjcmlwdD4KLTwvYm9k
eT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRsaGFybmVzcy9JZGxBcnJheS9pc19qc29uX3R5
cGUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2lkbGhhcm5lc3MvSWRsQXJyYXkvaXNfanNv
bl90eXBlLmh0bWwJKHJldmlzaW9uIDI1Mjg5NikKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRsaGFybmVzcy9JZGxB
cnJheS9pc19qc29uX3R5cGUuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDE5NSArMCwwIEBACi08
IURPQ1RZUEUgSFRNTD4KLTxodG1sPgotPGhlYWQ+Ci08dGl0bGU+SWRsQXJyYXkucHJvdG90eXBl
LmlzX2pzb25fdHlwZSgpPC90aXRsZT4KLTwvaGVhZD4KLTxib2R5PgotPGRpdiBpZD0ibG9nIj48
L2Rpdj4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL1dlYklETFBhcnNlci5qcyI+PC9zY3JpcHQ+Ci08c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy9pZGxoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIuLi9oZWxwZXIuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLSAgICAidXNlIHN0cmljdCI7Ci0K
LSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgaWRsID0gbmV3IElkbEFycmF5KCk7
Ci0gICAgICAgIGFzc2VydF90cnVlKGlkbC5pc19qc29uX3R5cGUodHlwZUZyb20oIkRPTVN0cmlu
ZyIpKSk7Ci0gICAgICAgIGFzc2VydF90cnVlKGlkbC5pc19qc29uX3R5cGUodHlwZUZyb20oIkJ5
dGVTdHJpbmciKSkpOwotICAgICAgICBhc3NlcnRfdHJ1ZShpZGwuaXNfanNvbl90eXBlKHR5cGVG
cm9tKCJVU1ZTdHJpbmciKSkpOwotICAgICAgICBpZGwuYWRkX3VudGVzdGVkX2lkbHMoJ2VudW0g
QmFyRW51bSB7ICJhIiwgImIiLCAiYyIgfTsnKTsKLSAgICAgICAgYXNzZXJ0X3RydWUoaWRsLmlz
X2pzb25fdHlwZSh0eXBlRnJvbSgiQmFyRW51bSIpKSk7Ci0gICAgfSwgJ3Nob3VsZCByZXR1cm4g
dHJ1ZSBmb3IgYWxsIHN0cmluZyB0eXBlcycpOwotCi0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAg
ICAgICAgdmFyIGlkbCA9IG5ldyBJZGxBcnJheSgpOwotICAgICAgICBhc3NlcnRfZmFsc2UoaWRs
LmlzX2pzb25fdHlwZSh0eXBlRnJvbSgiRXJyb3IiKSkpOwotICAgICAgICBhc3NlcnRfZmFsc2Uo
aWRsLmlzX2pzb25fdHlwZSh0eXBlRnJvbSgiRE9NRXhjZXB0aW9uIikpKTsKLSAgICB9LCAnc2hv
dWxkIHJldHVybiBmYWxzZSBmb3IgYWxsIGV4Y2VwdGlvbiB0eXBlcycpOwotCi0gICAgdGVzdChm
dW5jdGlvbigpIHsKLSAgICAgICAgdmFyIGlkbCA9IG5ldyBJZGxBcnJheSgpOwotICAgICAgICBh
c3NlcnRfZmFsc2UoaWRsLmlzX2pzb25fdHlwZSh0eXBlRnJvbSgiSW50OEFycmF5IikpKTsKLSAg
ICAgICAgYXNzZXJ0X2ZhbHNlKGlkbC5pc19qc29uX3R5cGUodHlwZUZyb20oIkludDE2QXJyYXki
KSkpOwotICAgICAgICBhc3NlcnRfZmFsc2UoaWRsLmlzX2pzb25fdHlwZSh0eXBlRnJvbSgiSW50
MzJBcnJheSIpKSk7Ci0gICAgICAgIGFzc2VydF9mYWxzZShpZGwuaXNfanNvbl90eXBlKHR5cGVG
cm9tKCJVaW50OEFycmF5IikpKTsKLSAgICAgICAgYXNzZXJ0X2ZhbHNlKGlkbC5pc19qc29uX3R5
cGUodHlwZUZyb20oIlVpbnQxNkFycmF5IikpKTsKLSAgICAgICAgYXNzZXJ0X2ZhbHNlKGlkbC5p
c19qc29uX3R5cGUodHlwZUZyb20oIlVpbnQzMkFycmF5IikpKTsKLSAgICAgICAgYXNzZXJ0X2Zh
bHNlKGlkbC5pc19qc29uX3R5cGUodHlwZUZyb20oIlVpbnQ4Q2xhbXBlZEFycmF5IikpKTsKLSAg
ICAgICAgYXNzZXJ0X2ZhbHNlKGlkbC5pc19qc29uX3R5cGUodHlwZUZyb20oIkZsb2F0MzJBcnJh
eSIpKSk7Ci0gICAgICAgIGFzc2VydF9mYWxzZShpZGwuaXNfanNvbl90eXBlKHR5cGVGcm9tKCJB
cnJheUJ1ZmZlciIpKSk7Ci0gICAgICAgIGFzc2VydF9mYWxzZShpZGwuaXNfanNvbl90eXBlKHR5
cGVGcm9tKCJEYXRhVmlldyIpKSk7Ci0gICAgfSwgJ3Nob3VsZCByZXR1cm4gZmFsc2UgZm9yIGFs
bCBidWZmZXIgc291cmNlIHR5cGVzJyk7Ci0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAg
ICB2YXIgaWRsID0gbmV3IElkbEFycmF5KCk7Ci0gICAgICAgIGFzc2VydF90cnVlKGlkbC5pc19q
c29uX3R5cGUodHlwZUZyb20oImJvb2xlYW4iKSkpOwotICAgIH0sICdzaG91bGQgcmV0dXJuIHRy
dWUgZm9yIGJvb2xlYW4nKTsKLQotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBp
ZGwgPSBuZXcgSWRsQXJyYXkoKTsKLSAgICAgICAgYXNzZXJ0X3RydWUoaWRsLmlzX2pzb25fdHlw
ZSh0eXBlRnJvbSgiYnl0ZSIpKSk7Ci0gICAgICAgIGFzc2VydF90cnVlKGlkbC5pc19qc29uX3R5
cGUodHlwZUZyb20oIm9jdGV0IikpKTsKLSAgICAgICAgYXNzZXJ0X3RydWUoaWRsLmlzX2pzb25f
dHlwZSh0eXBlRnJvbSgic2hvcnQiKSkpOwotICAgICAgICBhc3NlcnRfdHJ1ZShpZGwuaXNfanNv
bl90eXBlKHR5cGVGcm9tKCJ1bnNpZ25lZCBzaG9ydCIpKSk7Ci0gICAgICAgIGFzc2VydF90cnVl
KGlkbC5pc19qc29uX3R5cGUodHlwZUZyb20oImxvbmciKSkpOwotICAgICAgICBhc3NlcnRfdHJ1
ZShpZGwuaXNfanNvbl90eXBlKHR5cGVGcm9tKCJ1bnNpZ25lZCBsb25nIikpKTsKLSAgICAgICAg
YXNzZXJ0X3RydWUoaWRsLmlzX2pzb25fdHlwZSh0eXBlRnJvbSgibG9uZyBsb25nIikpKTsKLSAg
ICAgICAgYXNzZXJ0X3RydWUoaWRsLmlzX2pzb25fdHlwZSh0eXBlRnJvbSgidW5zaWduZWQgbG9u
ZyBsb25nIikpKTsKLSAgICAgICAgYXNzZXJ0X3RydWUoaWRsLmlzX2pzb25fdHlwZSh0eXBlRnJv
bSgiZmxvYXQiKSkpOwotICAgICAgICBhc3NlcnRfdHJ1ZShpZGwuaXNfanNvbl90eXBlKHR5cGVG
cm9tKCJ1bnJlc3RyaWN0ZWQgZmxvYXQiKSkpOwotICAgICAgICBhc3NlcnRfdHJ1ZShpZGwuaXNf
anNvbl90eXBlKHR5cGVGcm9tKCJkb3VibGUiKSkpOwotICAgICAgICBhc3NlcnRfdHJ1ZShpZGwu
aXNfanNvbl90eXBlKHR5cGVGcm9tKCJ1bnJlc3RyaWN0ZWQgZG91YmxlIikpKTsKLSAgICB9LCAn
c2hvdWxkIHJldHVybiB0cnVlIGZvciBhbGwgbnVtZXJpYyB0eXBlcycpOwotCi0gICAgdGVzdChm
dW5jdGlvbigpIHsKLSAgICAgICAgdmFyIGlkbCA9IG5ldyBJZGxBcnJheSgpOwotICAgICAgICBh
c3NlcnRfZmFsc2UoaWRsLmlzX2pzb25fdHlwZSh0eXBlRnJvbSgiUHJvbWlzZTxET01TdHJpbmc+
IikpKTsKLSAgICB9LCAnc2hvdWxkIHJldHVybiBmYWxzZSBmb3IgcHJvbWlzZXMnKTsKLQotICAg
IHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBpZGwgPSBuZXcgSWRsQXJyYXkoKTsKLSAg
ICAgICAgYXNzZXJ0X2ZhbHNlKGlkbC5pc19qc29uX3R5cGUodHlwZUZyb20oInNlcXVlbmNlPERP
TUV4Y2VwdGlvbj4iKSkpOwotICAgICAgICBhc3NlcnRfdHJ1ZShpZGwuaXNfanNvbl90eXBlKHR5
cGVGcm9tKCJzZXF1ZW5jZTxET01TdHJpbmc+IikpKTsKLSAgICB9LCAnc2hvdWxkIGhhbmRsZSBz
ZXF1ZW5jZXMgYWNjb3JkaW5nIHRvIHRoZWlyIGlubmVyIHR5cGVzJyk7Ci0gICAgCi0gICAgdGVz
dChmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIGlkbCA9IG5ldyBJZGxBcnJheSgpOwotICAgICAg
ICBhc3NlcnRfZmFsc2UoaWRsLmlzX2pzb25fdHlwZSh0eXBlRnJvbSgiRnJvemVuQXJyYXk8RE9N
RXhjZXB0aW9uPiIpKSk7Ci0gICAgICAgIGFzc2VydF90cnVlKGlkbC5pc19qc29uX3R5cGUodHlw
ZUZyb20oIkZyb3plbkFycmF5PERPTVN0cmluZz4iKSkpOwotICAgIH0sICdzaG91bGQgaGFuZGxl
IGZyb3plbiBhcnJheXMgYWNjb3JkaW5nIHRvIHRoZWlyIGlubmVyIHR5cGVzJyk7Ci0KLSAgICB0
ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgaWRsID0gbmV3IElkbEFycmF5KCk7Ci0gICAg
ICAgIGFzc2VydF90cnVlKGlkbC5pc19qc29uX3R5cGUodHlwZUZyb20oInJlY29yZDxET01TdHJp
bmcsIERPTVN0cmluZz4iKSkpOwotICAgICAgICBhc3NlcnRfZmFsc2UoaWRsLmlzX2pzb25fdHlw
ZSh0eXBlRnJvbSgicmVjb3JkPERPTVN0cmluZywgRXJyb3I+IikpKTsKLSAgICB9LCAnc2hvdWxk
IGhhbmRsZSByZWNvcmRzIGFjY29yZGluZyB0byB0aGVpciBpbm5lciB0eXBlcycpOwotCi0gICAg
dGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIGlkbCA9IG5ldyBJZGxBcnJheSgpOwotICAg
ICAgICBhc3NlcnRfdHJ1ZShpZGwuaXNfanNvbl90eXBlKHR5cGVGcm9tKCJvYmplY3QiKSkpOwot
ICAgIH0sICdzaG91bGQgcmV0dXJuIHRydWUgZm9yIG9iamVjdCB0eXBlJyk7Ci0KLSAgICB0ZXN0
KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgaWRsID0gbmV3IElkbEFycmF5KCk7Ci0gICAgICAg
IGFzc2VydF9mYWxzZShpZGwuaXNfanNvbl90eXBlKHR5cGVGcm9tKCJhbnkiKSkpOwotICAgIH0s
ICdzaG91bGQgcmV0dXJuIGZhbHNlIGZvciBhbnkgdHlwZScpOwotCi0gICAgdGVzdChmdW5jdGlv
bigpIHsKLSAgICAgICAgdmFyIGlkbCA9IG5ldyBJZGxBcnJheSgpOwotICAgICAgICBpZGwuYWRk
X3VudGVzdGVkX2lkbHMoJ2RpY3Rpb25hcnkgRm9vIHsgRE9NU3RyaW5nIGZvbzsgfTsgZGljdGlv
bmFyeSBCYXIgOiBGb28geyBET01TdHJpbmcgYmFyOyB9OycpOwotICAgICAgICBhc3NlcnRfdHJ1
ZShpZGwuaXNfanNvbl90eXBlKHR5cGVGcm9tKCJGb28iKSkpOwotICAgICAgICBhc3NlcnRfdHJ1
ZShpZGwuaXNfanNvbl90eXBlKHR5cGVGcm9tKCJCYXIiKSkpOwotICAgIH0sICdzaG91bGQgcmV0
dXJuIHRydWUgZm9yIGRpY3Rpb25hcmllcyB3aG9zZSBtZW1iZXJzIGFyZSBhbGwgSlNPTiB0eXBl
cycpOwotCi0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIGlkbCA9IG5ldyBJZGxB
cnJheSgpOwotICAgICAgICBpZGwuYWRkX3VudGVzdGVkX2lkbHMoJ2RpY3Rpb25hcnkgRm9vIHsg
fTsnKTsKLSAgICAgICAgYXNzZXJ0X3RydWUoaWRsLmlzX2pzb25fdHlwZSh0eXBlRnJvbSgiRm9v
IikpKTsKLSAgICB9LCAnc2hvdWxkIHJldHVybiB0cnVlIGZvciBkaWN0aW9uYXJpZXMgd2hpY2gg
aGF2ZSBubyBtZW1iZXJzJyk7Ci0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIg
aWRsID0gbmV3IElkbEFycmF5KCk7Ci0gICAgICAgIGlkbC5hZGRfdW50ZXN0ZWRfaWRscygnZGlj
dGlvbmFyeSBGb29CYXIgeyBET01TdHJpbmcgYTsgRXJyb3IgYjsgfTsgZGljdGlvbmFyeSBCYXog
OiBGb29CYXIge307Jyk7Ci0gICAgICAgIGFzc2VydF9mYWxzZShpZGwuaXNfanNvbl90eXBlKHR5
cGVGcm9tKCJGb29CYXIiKSkpOwotICAgICAgICBhc3NlcnRfZmFsc2UoaWRsLmlzX2pzb25fdHlw
ZSh0eXBlRnJvbSgiQmF6IikpKTsKLSAgICB9LCAnc2hvdWxkIHJldHVybiBmYWxzZSBmb3IgZGlj
dGlvbmFyaWVzIHdob3NlIG1lbWJlcnMgYXJlIG5vdCBhbGwgSlNPTiB0eXBlcycpOwotCi0gICAg
dGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIGlkbCA9IG5ldyBJZGxBcnJheSgpOwotICAg
ICAgICBpZGwuYWRkX3VudGVzdGVkX2lkbHMoJ2ludGVyZmFjZSBGb28geyBET01TdHJpbmcgdG9K
U09OKCk7IH07Jyk7Ci0gICAgICAgIGFzc2VydF90cnVlKGlkbC5pc19qc29uX3R5cGUodHlwZUZy
b20oIkZvbyIpKSk7Ci0gICAgfSwgJ3Nob3VsZCByZXR1cm4gdHJ1ZSBmb3IgaW50ZXJmYWNlcyB3
aGljaCBkZWNsYXJlIGEgdG9KU09OIG9wZXJhdGlvbicpOwotCi0gICAgdGVzdChmdW5jdGlvbigp
IHsKLSAgICAgICAgdmFyIGlkbCA9IG5ldyBJZGxBcnJheSgpOwotICAgICAgICBpZGwuYWRkX3Vu
dGVzdGVkX2lkbHMoJ2ludGVyZmFjZSBGb28geyBET01TdHJpbmcgdG9KU09OKCk7IH07IGludGVy
ZmFjZSBCYXIgOiBGb28geyB9OycpOwotICAgICAgICBhc3NlcnRfdHJ1ZShpZGwuaXNfanNvbl90
eXBlKHR5cGVGcm9tKCJCYXIiKSkpOwotICAgIH0sICdzaG91bGQgcmV0dXJuIHRydWUgZm9yIGlu
dGVyZmFjZXMgd2hpY2ggaW5oZXJpdCBmcm9tIGFuIGludGVyZmFjZSB3aGljaCBkZWNsYXJlcyBh
IHRvSlNPTiBvcGVyYXRpb24nKTsKLQotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZh
ciBpZGwgPSBuZXcgSWRsQXJyYXkoKTsKLSAgICAgICAgaWRsLmFkZF91bnRlc3RlZF9pZGxzKCdp
bnRlcmZhY2UgRm9vIHsgfTsgaW50ZXJmYWNlIEJhciB7IERPTVN0cmluZyB0b0pTT04oKTsgfTsg
Rm9vIGltcGxlbWVudHMgQmFyOycpOwotICAgICAgICBhc3NlcnRfdHJ1ZShpZGwuaXNfanNvbl90
eXBlKHR5cGVGcm9tKCJGb28iKSkpOwotICAgIH0sICdzaG91bGQgcmV0dXJuIHRydWUgZm9yIGlu
dGVyZmFjZXMgd2hpY2ggbWl4aW4gYW4gaW50ZXJmYWNlIHdoaWNoIGRlY2xhcmUgYSB0b0pTT04g
b3BlcmF0aW9uJyk7Ci0KLS8vICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0vLyAgICAgICAgdmFyIGlk
bCA9IG5ldyBJZGxBcnJheSgpOwotLy8gICAgICAgIGlkbC5hZGRfdW50ZXN0ZWRfaWRscygnaW50
ZXJmYWNlIEZvbyB7IH07IGludGVyZmFjZSBCYXIgeyB9OyBpbnRlcmZhY2UgQmF6IHsgRE9NU3Ry
aW5nIHRvSlNPTigpOyB9OyBGb28gaW1wbGVtZW50cyBCYXI7IEJhciBpbXBsZW1lbnRzIEJhejsn
KTsKLS8vICAgICAgICBhc3NlcnRfdHJ1ZShpZGwuaXNfanNvbl90eXBlKHR5cGVGcm9tKCJGb28i
KSkpOwotLy8gICAgfSwgJ3Nob3VsZCByZXR1cm4gdHJ1ZSBmb3IgaW50ZXJmYWNlcyB3aGljaCBt
aXhpbiBhbiBpbnRlcmZhY2Ugd2hpY2ggaXRzZWxmIG1peGVzIGluIGFuIGludGVyZmFjZSB3aGlj
aCBkZWNsYXJlcyBhIHRvSlNPTiBvcGVyYXRpb24nKTsKLQotICAgIHRlc3QoZnVuY3Rpb24oKSB7
Ci0gICAgICAgIHZhciBpZGwgPSBuZXcgSWRsQXJyYXkoKTsKLSAgICAgICAgaWRsLmFkZF91bnRl
c3RlZF9pZGxzKCdpbnRlcmZhY2UgRm9vIHsgfTsnKTsKLSAgICAgICAgYXNzZXJ0X2ZhbHNlKGlk
bC5pc19qc29uX3R5cGUodHlwZUZyb20oIkZvbyIpKSk7Ci0gICAgfSwgJ3Nob3VsZCByZXR1cm4g
ZmFsc2UgZm9yIGludGVyZmFjZXMgd2hpY2ggZG8gbm90IGRlY2xhcmUgYSB0b0pTT04gb3BlcmF0
aW9uJyk7Ci0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgaWRsID0gbmV3IElk
bEFycmF5KCk7Ci0gICAgICAgIGlkbC5hZGRfdW50ZXN0ZWRfaWRscygnaW50ZXJmYWNlIEZvbyB7
IG9iamVjdCB0b0pTT04oKTsgfTsnKTsKLSAgICAgICAgYXNzZXJ0X3RydWUoaWRsLmlzX2pzb25f
dHlwZSh0eXBlRnJvbSgiKEZvbyBvciBET01TdHJpbmcpIikpKTsKLSAgICB9LCAnc2hvdWxkIHJl
dHVybiB0cnVlIGZvciB1bmlvbiB0eXBlcyB3aG9zZSBtZW1iZXIgdHlwZXMgYXJlIEpTT04gdHlw
ZXMnKTsKLQotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBpZGwgPSBuZXcgSWRs
QXJyYXkoKTsKLSAgICAgICAgYXNzZXJ0X2ZhbHNlKGlkbC5pc19qc29uX3R5cGUodHlwZUZyb20o
IihEYXRhVmlldyBvciBET01TdHJpbmcpIikpKTsKLSAgICB9LCAnc2hvdWxkIHJldHVybiBmYWxz
ZSBmb3IgdW5pb24gdHlwZXMgd2hvc2UgbWVtYmVyIHR5cGVzIGFyZSBub3QgYWxsIEpTT04gdHlw
ZXMnKTsKLQotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBpZGwgPSBuZXcgSWRs
QXJyYXkoKTsKLSAgICAgICAgYXNzZXJ0X3RydWUoaWRsLmlzX2pzb25fdHlwZSh0eXBlRnJvbSgi
RE9NU3RyaW5nPyIpKSk7Ci0gICAgICAgIGFzc2VydF9mYWxzZShpZGwuaXNfanNvbl90eXBlKHR5
cGVGcm9tKCJEYXRhVmlldz8iKSkpOwotICAgIH0sICdzaG91bGQgY29uc2lkZXIgdGhlIGlubmVy
IHR5cGVzIG9mIG51bGxhYmxlIHR5cGVzJyk7Ci0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAg
ICAgICB2YXIgaWRsID0gbmV3IElkbEFycmF5KCk7Ci0gICAgICAgIGFzc2VydF90cnVlKGlkbC5p
c19qc29uX3R5cGUodHlwZUZyb20oIltYQXR0cl0gbG9uZyIpKSk7Ci0gICAgICAgIGFzc2VydF9m
YWxzZShpZGwuaXNfanNvbl90eXBlKHR5cGVGcm9tKCJbWEF0dHJdIERhdGFWaWV3IikpKTsKLSAg
ICB9LCAnc2hvdWxkIGNvbnNpZGVyIHRoZSBpbm5lciB0eXBlcyBvZiBhbm5vdGF0ZWQgdHlwZXMu
Jyk7Ci0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgaWRsID0gbmV3IElkbEFy
cmF5KCk7Ci0gICAgICAgIGFzc2VydF90aHJvd3MobmV3IEVycm9yKCksIF8gPT4gaWRsLmlzX2pz
b25fdHlwZSh0eXBlRnJvbSgiRm9vIikpKTsKLSAgICB9LCAic2hvdWxkIHRocm93IGlmIGl0IHJl
ZmVyZW5jZXMgYSBkaWN0aW9uYXJ5LCBlbnVtIG9yIGludGVyZmFjZSB3aGljaCB3YXNuJ3QgYWRk
ZWQgdG8gdGhlIElkbEFycmF5Iik7Ci0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICB2
YXIgaWRsID0gbmV3IElkbEFycmF5KCk7Ci0gICAgICAgIGlkbC5hZGRfdW50ZXN0ZWRfaWRscygn
aW50ZXJmYWNlIEZvbyA6IEJhciB7IH07Jyk7Ci0gICAgICAgIGFzc2VydF90aHJvd3MobmV3IEVy
cm9yKCksIF8gPT4gaWRsLmlzX2pzb25fdHlwZSh0eXBlRnJvbSgiRm9vIikpKTsKLSAgICB9LCAi
c2hvdWxkIHRocm93IGZvciBpbnRlcmZhY2VzIHdoaWNoIGluaGVyaXQgZnJvbSBhbm90aGVyIGlu
dGVyZmFjZSB3aGljaCB3YXNuJ3QgYWRkZWQgdG8gdGhlIElkbEFycmF5Iik7Ci0KLSAgICB0ZXN0
KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgaWRsID0gbmV3IElkbEFycmF5KCk7Ci0gICAgICAg
IGFzc2VydF90cnVlKGlkbC5pc19qc29uX3R5cGUodHlwZWRlZkZyb20oInR5cGVkZWYgZG91Ymxl
IERPTUhpZ2hSZXNUaW1lU3RhbXA7IikuaWRsVHlwZSkpOwotICAgIH0sICdzaG91bGQgcmV0dXJu
IHRydWUgZm9yIHR5cGVkZWZzIHdob3NlIHNvdXJjZSB0eXBlIGlzIGEgSlNPTiB0eXBlJyk7Ci0K
LSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgaWRsID0gbmV3IElkbEFycmF5KCk7
Ci0gICAgICAgIGFzc2VydF9mYWxzZShpZGwuaXNfanNvbl90eXBlKHR5cGVkZWZGcm9tKCJ0eXBl
ZGVmIERhdGFWaWV3IERPTUhpZ2hSZXNUaW1lU3RhbXA7IikuaWRsVHlwZSkpOwotICAgIH0sICdz
aG91bGQgcmV0dXJuIGZhbHNlIGZvciB0eXBlZGVmcyB3aG9zZSBzb3VyY2UgdHlwZSBpcyBub3Qg
YSBKU09OIHR5cGUnKTsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgotCkluZGV4OiBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rl
c3RzL2lkbGhhcm5lc3MvSWRsQXJyYXkvdzNjLWltcG9ydC5sb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90
ZXN0cy9pZGxoYXJuZXNzL0lkbEFycmF5L3czYy1pbXBvcnQubG9nCShyZXZpc2lvbiAyNTI4OTYp
CisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy90ZXN0L3Rlc3RzL2lkbGhhcm5lc3MvSWRsQXJyYXkvdzNjLWltcG9ydC5sb2cJKG5vbmV4aXN0
ZW50KQpAQCAtMSwxNyArMCwwIEBACi1UaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBp
bXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KLURvIE5PVCBtb2RpZnkgdGhlc2UgdGVz
dHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9u
IHRoZSBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzCi0KLVRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2Vi
S2l0IHRvIHJlaW1wb3J0Ci0KLURvIE5PVCBtb2RpZnkgb3IgcmVtb3ZlIHRoaXMgZmlsZS4KLQot
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tCi1Qcm9wZXJ0aWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6Ci1O
b25lCi1Qcm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKLU5vbmUKLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLQotTGlzdCBvZiBmaWxlczoKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2lkbGhhcm5lc3MvSWRsQXJy
YXkvaXNfanNvbl90eXBlLmh0bWwKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRsaGFybmVzcy9JZGxEaWN0aW9u
YXJ5L2dldF9pbmhlcml0YW5jZV9zdGFjay5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRs
aGFybmVzcy9JZGxEaWN0aW9uYXJ5L2dldF9pbmhlcml0YW5jZV9zdGFjay5odG1sCShyZXZpc2lv
biAyNTI4OTYpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy90ZXN0L3Rlc3RzL2lkbGhhcm5lc3MvSWRsRGljdGlvbmFyeS9nZXRfaW5oZXJp
dGFuY2Vfc3RhY2suaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDM1ICswLDAgQEAKLTwhRE9DVFlQ
RSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLTx0aXRsZT5JZGxEaWN0aW9uYXJ5LnByb3RvdHlwZS5n
ZXRfaW5oZXJpdGFuY2Vfc3RhY2soKTwvdGl0bGU+Ci08L2hlYWQ+Ci08Ym9keT4KLTxkaXYgaWQ9
ImxvZyI+PC9kaXY+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9XZWJJRExQYXJzZXIuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvaWRsaGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2Ny
aXB0IHNyYz0iLi4vaGVscGVyLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci0gICAgInVzZSBzdHJp
Y3QiOwotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBzdGFjayA9IGRpY3Rpb25h
cnlGcm9tKCdkaWN0aW9uYXJ5IEEgeyB9OycpLmdldF9pbmhlcml0YW5jZV9zdGFjaygpOwotICAg
ICAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKHN0YWNrLm1hcChkID0+IGQubmFtZSksIFsiQSJdKTsK
LSAgICB9LCAnc2hvdWxkIHJldHVybiBhbiBhcnJheSB0aGF0IGluY2x1ZGVzIGl0c2VsZi4nKTsK
LSAgICAKLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgZCA9IGRpY3Rpb25hcnlG
cm9tKCdkaWN0aW9uYXJ5IEEgOiBCIHsgfTsnKTsKLSAgICAgICAgYXNzZXJ0X3Rocm93cyhuZXcg
RXJyb3IoKSwgXyA9PiBkLmdldF9pbmhlcml0YW5jZV9zdGFjaygpKTsKLSAgICB9LCAic2hvdWxk
IHRocm93IGZvciBkaWN0aW9uYXJpZXMgd2hpY2ggaW5oZXJpdCBmcm9tIGFub3RoZXIgZGljdGlv
bmFyeSB3aGljaCB3YXNuJ3QgYWRkZWQgdG8gdGhlIElkbEFycmF5Iik7Ci0gICAgCi0gICAgdGVz
dChmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIGlkbCA9IG5ldyBJZGxBcnJheSgpOwotICAgICAg
ICBpZGwuYWRkX2lkbHMoJ2RpY3Rpb25hcnkgQSA6IEIgeyB9OycpOwotICAgICAgICBpZGwuYWRk
X3VudGVzdGVkX2lkbHMoJ2RpY3Rpb25hcnkgQiA6IEMgeyB9OyBkaWN0aW9uYXJ5IEMgeyB9Oycp
OwotICAgICAgICB2YXIgQSA9IGlkbC5tZW1iZXJzWyJBIl07Ci0gICAgICAgIGFzc2VydF9hcnJh
eV9lcXVhbHMoQS5nZXRfaW5oZXJpdGFuY2Vfc3RhY2soKS5tYXAoZCA9PiBkLm5hbWUpLCBbIkEi
LCAiQiIsICJDIl0pOwotICAgIH0sICdzaG91bGQgcmV0dXJuIGFuIGFycmF5IG9mIGluaGVyaXRl
ZCBkaWN0aW9uYXJpZXMgaW4gb3JkZXIgb2YgaW5oZXJpdGFuY2UsIHN0YXJ0aW5nIHdpdGggaXRz
ZWxmLicpOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+Ci0KSW5kZXg6IExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRs
aGFybmVzcy9JZGxEaWN0aW9uYXJ5L3czYy1pbXBvcnQubG9nCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVz
dHMvaWRsaGFybmVzcy9JZGxEaWN0aW9uYXJ5L3czYy1pbXBvcnQubG9nCShyZXZpc2lvbiAyNTI4
OTYpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy90ZXN0L3Rlc3RzL2lkbGhhcm5lc3MvSWRsRGljdGlvbmFyeS93M2MtaW1wb3J0LmxvZwko
bm9uZXhpc3RlbnQpCkBAIC0xLDE3ICswLDAgQEAKLVRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9y
eSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgotRG8gTk9UIG1vZGlmeSB0
aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJl
cXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMKLQotVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0
cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKLQotRG8gTk9UIG1vZGlmeSBvciByZW1vdmUgdGhpcyBm
aWxlLgotCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLVByb3BlcnRpZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVm
aXhlczoKLU5vbmUKLVByb3BlcnR5IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgot
Tm9uZQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1MaXN0IG9mIGZpbGVzOgotL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRsaGFybmVz
cy9JZGxEaWN0aW9uYXJ5L2dldF9pbmhlcml0YW5jZV9zdGFjay5odG1sCkluZGV4OiBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3Rz
L2lkbGhhcm5lc3MvSWRsSW50ZXJmYWNlL2RlZmF1bHRfdG9fanNvbl9vcGVyYXRpb24uaHRtbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy90ZXN0L3Rlc3RzL2lkbGhhcm5lc3MvSWRsSW50ZXJmYWNlL2RlZmF1bHRfdG9f
anNvbl9vcGVyYXRpb24uaHRtbAkocmV2aXNpb24gMjUyODk2KQorKysgTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9pZGxoYXJu
ZXNzL0lkbEludGVyZmFjZS9kZWZhdWx0X3RvX2pzb25fb3BlcmF0aW9uLmh0bWwJKG5vbmV4aXN0
ZW50KQpAQCAtMSwxODkgKzAsMCBAQAotPCFET0NUWVBFIEhUTUw+Ci08aHRtbD4KLTxoZWFkPgot
PHRpdGxlPklkbERpY3Rpb25hcnkucHJvdG90eXBlLmRlZmF1bHRfdG9fanNvbl9vcGVyYXRpb24o
KTwvdGl0bGU+Ci08L2hlYWQ+Ci08Ym9keT4KLTxkaXYgaWQ9ImxvZyI+PC9kaXY+Ci08c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy9XZWJJRExQYXJzZXIuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvaWRsaGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vaGVscGVyLmpz
Ij48L3NjcmlwdD4KLTxwcmUgaWQ9ZnJhZ21lbnRzPgotICAgIGludGVyZmFjZSBBIDogQiB7Ci0g
ICAgICBhdHRyaWJ1dGUgRE9NU3RyaW5nIGE7Ci0gICAgfTsKLQotICAgIGludGVyZmFjZSBCIDog
QyB7Ci0gICAgICBbRGVmYXVsdF0gb2JqZWN0IHRvSlNPTigpOwotICAgICAgYXR0cmlidXRlIGxv
bmcgYjsKLSAgICB9OwotCi0gICAgaW50ZXJmYWNlIEMgewotICAgICAgYXR0cmlidXRlIERPTVN0
cmluZyBjOwotICAgIH07Ci0KLSAgICBpbnRlcmZhY2UgRCA6IEUgewotICAgICAgW0RlZmF1bHRd
IG9iamVjdCB0b0pTT04oKTsKLSAgICAgIGF0dHJpYnV0ZSBmbG9hdCBkOwotICAgIH07Ci0KLSAg
ICBpbnRlcmZhY2UgRSA6IEYgewotICAgICAgYXR0cmlidXRlIERPTVN0cmluZyBlOwotICAgIH07
Ci0KLSAgICBpbnRlcmZhY2UgRiB7Ci0gICAgICBbRGVmYXVsdF0gb2JqZWN0IHRvSlNPTigpOwot
ICAgICAgYXR0cmlidXRlIHVucmVzdHJpY3RlZCBkb3VibGUgZjsKLSAgICB9OwotCi0gICAgaW50
ZXJmYWNlIEcgewotICAgICAgW0RlZmF1bHRdIG9iamVjdCB0b0pTT04oKTsKLSAgICAgIGF0dHJp
YnV0ZSBvY3RldCBnOwotICAgIH07Ci0KLSAgICBpbnRlcmZhY2UgSCB7Ci0gICAgICBbRGVmYXVs
dF0gb2JqZWN0IHRvSlNPTigpOwotICAgICAgYXR0cmlidXRlIERPTVN0cmluZyBoOwotICAgIH07
Ci0KLSAgICBpbnRlcmZhY2UgSSB7Ci0gICAgICBbRGVmYXVsdF0gb2JqZWN0IHRvSlNPTigpOwot
ICAgICAgYXR0cmlidXRlIGJvb2xlYW4gaTsKLSAgICB9OwotCi0gICAgaW50ZXJmYWNlIEogewot
ICAgICAgW0RlZmF1bHRdIG9iamVjdCB0b0pTT04oKTsKLSAgICAgIGF0dHJpYnV0ZSBEIGo7Ci0g
ICAgfTsKLQotICAgIEEgaW1wbGVtZW50cyBHOwotICAgIEEgaW1wbGVtZW50cyBIOwotICAgIEIg
aW1wbGVtZW50cyBEOwotICAgIEUgaW1wbGVtZW50cyBJOwotICAgIEggaW1wbGVtZW50cyBKOwot
PC9wcmU+Ci08c2NyaXB0PgotICAgICJ1c2Ugc3RyaWN0IjsKLSAgICB0ZXN0KGZ1bmN0aW9uKCkg
ewotICAgICAgICB2YXIgbWFwID0gaW50ZXJmYWNlRnJvbSgnaW50ZXJmYWNlIEEgeyBbRGVmYXVs
dF0gb2JqZWN0IHRvSlNPTigpOyB9OycpLmRlZmF1bHRfdG9fanNvbl9vcGVyYXRpb24oKTsKLSAg
ICAgICAgYXNzZXJ0X2VxdWFscyhtYXAuc2l6ZSwgMCk7Ci0gICAgfSwgJ3Nob3VsZCByZXR1cm4g
YW4gZW1wdHkgbWFwIHdoZW4gdGhlcmUgYXJlIG5vIGF0dHJpYnV0ZXMnKTsKLQotICAgIHRlc3Qo
ZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciByID0gaW50ZXJmYWNlRnJvbSgnaW50ZXJmYWNlIEEg
eyB9OycpLmRlZmF1bHRfdG9fanNvbl9vcGVyYXRpb24oKTsKLSAgICAgICAgYXNzZXJ0X2VxdWFs
cyhyLCBudWxsKTsKLSAgICB9LCAnc2hvdWxkIHJldHVybiBudWxsIHdoZW4gdGhlcmUgaXMgbm8g
dG9KU09OIG1ldGhvZCcpOwotCi0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIHIg
PSBpbnRlcmZhY2VGcm9tKCdpbnRlcmZhY2UgQSB7IERPTVN0cmluZyB0b0pTT04oKTsgfTsnKS5k
ZWZhdWx0X3RvX2pzb25fb3BlcmF0aW9uKCk7Ci0gICAgICAgIGFzc2VydF9lcXVhbHMociwgbnVs
bCk7Ci0gICAgfSwgJ3Nob3VsZCByZXR1cm4gbnVsbCB3aGVuIHRoZXJlIGlzIGEgdG9KU09OIG1l
dGhvZCBidXQgaXQgZG9lcyBub3QgaGF2ZSB0aGUgW0RlZmF1bHRdIGV4dGVuZGVkIGF0dHJpYnV0
ZScpOwotCi0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIGNvbnRleHQgPSBuZXcg
SWRsQXJyYXkoKTsKLSAgICAgICAgY29udGV4dC5hZGRfaWRscygiaW50ZXJmYWNlIEEgOiBCIHsg
RE9NU3RyaW5nIHRvSlNPTigpOyB9OyIpOwotICAgICAgICBjb250ZXh0LmFkZF9pZGxzKCJpbnRl
cmZhY2UgQiB7IFtEZWZhdWx0XSBvYmplY3QgdG9KU09OKCk7IH07Iik7Ci0gICAgICAgIHZhciBy
ID0gY29udGV4dC5tZW1iZXJzLkEuZGVmYXVsdF90b19qc29uX29wZXJhdGlvbigpOwotICAgICAg
ICBhc3NlcnRfZXF1YWxzKHIsIG51bGwpOwotICAgIH0sICdzaG91bGQgcmV0dXJuIG51bGwgd2hl
biB0aGVyZSBpcyBhIHRvSlNPTiBtZXRob2QgYnV0IGl0IGRvZXMgbm90IGhhdmUgdGhlIFtEZWZh
dWx0XSBleHRlbmRlZCBhdHRyaWJ1dGUgZXZlbiBpZiB0aGlzIGV4dGVuZGVkIGF0dHJpYnV0ZSBl
eGlzdHMgb24gaW5oZXJpdGVkIGludGVyZmFjZXMnKTsKLQotICAgIHRlc3QoZnVuY3Rpb24oKSB7
Ci0gICAgICAgIHZhciBtYXAgPSBpbnRlcmZhY2VGcm9tKCdpbnRlcmZhY2UgQSB7IFtEZWZhdWx0
XSBvYmplY3QgdG9KU09OKCk7IHN0YXRpYyBhdHRyaWJ1dGUgRE9NU3RyaW5nIGZvbzsgfTsnKS5k
ZWZhdWx0X3RvX2pzb25fb3BlcmF0aW9uKCk7Ci0gICAgICAgIGFzc2VydF9lcXVhbHMobWFwLnNp
emUsIDApOwotICAgIH0sICdzaG91bGQgbm90IGluY2x1ZGUgc3RhdGljIGF0dHJpYnV0ZXMnKTsK
LQotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBtYXAgPSBpbnRlcmZhY2VGcm9t
KCdpbnRlcmZhY2UgQSB7IFtEZWZhdWx0XSBvYmplY3QgdG9KU09OKCk7IGF0dHJpYnV0ZSBQcm9t
aXNlPERPTVN0cmluZz4gYmFyOyB9OycpLmRlZmF1bHRfdG9fanNvbl9vcGVyYXRpb24oKTsKLSAg
ICAgICAgYXNzZXJ0X2VxdWFscyhtYXAuc2l6ZSwgMCk7Ci0gICAgfSwgJ3Nob3VsZCBub3QgaW5j
bHVkZSBhdHRyaWJ1dGVzIHdoaWNoIGFyZSBub3QgSlNPTiB0eXBlcycpOwotCi0gICAgdGVzdChm
dW5jdGlvbigpIHsKLSAgICAgICAgdmFyIG1hcCA9IGludGVyZmFjZUZyb20oJ2ludGVyZmFjZSBB
IHsgW0RlZmF1bHRdIG9iamVjdCB0b0pTT04oKTsgRE9NU3RyaW5nIGJhcigpOyB9OycpLmRlZmF1
bHRfdG9fanNvbl9vcGVyYXRpb24oKTsKLSAgICAgICAgYXNzZXJ0X2VxdWFscyhtYXAuc2l6ZSwg
MCk7Ci0gICAgfSwgJ3Nob3VsZCBub3QgaW5jbHVkZSBvcGVyYXRpb25zJyk7Ci0KLSAgICB0ZXN0
KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgbWFwID0gaW50ZXJmYWNlRnJvbSgnaW50ZXJmYWNl
IEEgeyBbRGVmYXVsdF0gb2JqZWN0IHRvSlNPTigpOyBhdHRyaWJ1dGUgRE9NU3RyaW5nIGJhcjsg
fTsnKS5kZWZhdWx0X3RvX2pzb25fb3BlcmF0aW9uKCk7Ci0gICAgICAgIGFzc2VydF9lcXVhbHMo
bWFwLnNpemUsIDEpOwotICAgICAgICBhc3NlcnRfdHJ1ZShtYXAuaGFzKCJiYXIiKSk7Ci0gICAg
ICAgIGFzc2VydF9lcXVhbHMobWFwLmdldCgiYmFyIikuaWRsVHlwZSwgIkRPTVN0cmluZyIpOwot
ICAgIH0sICdzaG91bGQgcmV0dXJuIGEgbWFwIHdob3NlIGtleS92YWx1ZSBwYWlyIHJlcHJlc2Vu
dCB0aGUgaWRlbnRpZmllciBhbmQgSURMIHR5cGUgb2YgdmFsaWQgYXR0cmlidXRlcycpOwotCi0g
ICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIGNvbnRleHQgPSBuZXcgSWRsQXJyYXko
KTsKLSAgICAgICAgY29udGV4dC5hZGRfaWRscygiaW50ZXJmYWNlIEEgOiBCIHsgW0RlZmF1bHRd
IG9iamVjdCB0b0pTT04oKTsgYXR0cmlidXRlIERPTVN0cmluZyBhOyB9OyIpOwotICAgICAgICBj
b250ZXh0LmFkZF9pZGxzKCJpbnRlcmZhY2UgQiB7IFtEZWZhdWx0XSBvYmplY3QgdG9KU09OKCk7
IGF0dHJpYnV0ZSBsb25nIGI7IH07Iik7Ci0gICAgICAgIHZhciBtYXAgPSBjb250ZXh0Lm1lbWJl
cnMuQS5kZWZhdWx0X3RvX2pzb25fb3BlcmF0aW9uKCk7Ci0gICAgICAgIGFzc2VydF9hcnJheV9l
cXVhbHMoWy4uLm1hcC5rZXlzKCldLCBbImIiLCAiYSJdKTsKLSAgICAgICAgYXNzZXJ0X2FycmF5
X2VxdWFscyhbLi4ubWFwLnZhbHVlcygpXS5tYXAodiA9PiB2LmlkbFR5cGUpLCBbImxvbmciLCAi
RE9NU3RyaW5nIl0pOwotICAgIH0sICdzaG91bGQgcmV0dXJuIGEgcHJvcGVybHkgb3JkZXJlZCBt
YXAgdGhhdCBjb250YWlucyBJREwgdHlwZXMgb2YgdmFsaWQgYXR0cmlidXRlcyBmb3IgaW5oZXJp
dGVkIGludGVyZmFjZXMnKTsKLQotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBj
b250ZXh0ID0gbmV3IElkbEFycmF5KCk7Ci0gICAgICAgIGNvbnRleHQuYWRkX2lkbHMoImludGVy
ZmFjZSBBIDogQiB7IGF0dHJpYnV0ZSBET01TdHJpbmcgYTsgfTsiKTsKLSAgICAgICAgY29udGV4
dC5hZGRfaWRscygiaW50ZXJmYWNlIEIgeyBbRGVmYXVsdF0gb2JqZWN0IHRvSlNPTigpOyBhdHRy
aWJ1dGUgbG9uZyBiOyB9OyIpOwotICAgICAgICB2YXIgbWFwID0gY29udGV4dC5tZW1iZXJzLkEu
ZGVmYXVsdF90b19qc29uX29wZXJhdGlvbigpOwotICAgICAgICBhc3NlcnRfZXF1YWxzKG1hcC5z
aXplLCAxKTsKLSAgICAgICAgYXNzZXJ0X3RydWUobWFwLmhhcygiYiIpKTsKLSAgICAgICAgYXNz
ZXJ0X2VxdWFscyhtYXAuZ2V0KCJiIikuaWRsVHlwZSwgImxvbmciKTsKLSAgICAgICAgYXNzZXJ0
X2FycmF5X2VxdWFscyhbLi4ubWFwLmtleXMoKV0sIFsiYiJdKTsKLSAgICB9LCAnc2hvdWxkIG5v
dCBpbmNsdWRlIGF0dHJpYnV0ZXMgb2YgdGhlIGN1cnJlbnQgaW50ZXJmYWNlIHdoZW4gdGhlIFtE
ZWZhdWx0XSB0b0pTT04gbWV0aG9kIGluIGluaGVyaXRlZCcpOwotCi0gICAgdGVzdChmdW5jdGlv
bigpIHsKLSAgICAgICAgdmFyIGNvbnRleHQgPSBuZXcgSWRsQXJyYXkoKTsKLSAgICAgICAgY29u
dGV4dC5hZGRfaWRscygiaW50ZXJmYWNlIEEgOiBCIHsgW0RlZmF1bHRdIG9iamVjdCB0b0pTT04o
KTsgfTsiKTsKLSAgICAgICAgY29udGV4dC5hZGRfaWRscygiaW50ZXJmYWNlIEIgOiBDIHsgW0Rl
ZmF1bHRdIG9iamVjdCB0b0pTT04oKTsgYXR0cmlidXRlIERPTVN0cmluZyBmb287IH07Iik7Ci0g
ICAgICAgIGNvbnRleHQuYWRkX2lkbHMoImludGVyZmFjZSBDIHsgW0RlZmF1bHRdIG9iamVjdCB0
b0pTT04oKTsgYXR0cmlidXRlIGxvbmcgZm9vOyB9OyIpOwotICAgICAgICB2YXIgbWFwID0gY29u
dGV4dC5tZW1iZXJzLkEuZGVmYXVsdF90b19qc29uX29wZXJhdGlvbigpOwotICAgICAgICBhc3Nl
cnRfZXF1YWxzKG1hcC5zaXplLCAxKTsKLSAgICAgICAgYXNzZXJ0X3RydWUobWFwLmhhcygiZm9v
IikpOwotICAgICAgICBhc3NlcnRfZXF1YWxzKG1hcC5nZXQoImZvbyIpLmlkbFR5cGUsICJET01T
dHJpbmciKTsKLSAgICB9LCAnYXR0cmlidXRlcyBkZWNsYXJlZCBmdXJ0aGVyIGF3YXkgaW4gdGhl
IGluaGVyaXRhbmNlIGhpZXJhcmNoeSBzaG91bGQgYmUgbWFza2VkIGJ5IGF0dHJpYnV0ZXMgZGVj
bGFyZWQgY2xvc2VyJyk7Ci0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgY29u
dGV4dCA9IG5ldyBJZGxBcnJheSgpOwotICAgICAgICBjb250ZXh0LmFkZF9pZGxzKCJpbnRlcmZh
Y2UgQSA6IEIgeyBbRGVmYXVsdF0gb2JqZWN0IHRvSlNPTigpOyBhdHRyaWJ1dGUgRE9NU3RyaW5n
IGE7IH07Iik7Ci0gICAgICAgIGNvbnRleHQuYWRkX2lkbHMoImludGVyZmFjZSBCIHsgb2JqZWN0
IHRvSlNPTigpOyBhdHRyaWJ1dGUgbG9uZyBiOyB9OyIpOwotICAgICAgICB2YXIgbWFwID0gY29u
dGV4dC5tZW1iZXJzLkEuZGVmYXVsdF90b19qc29uX29wZXJhdGlvbigpOwotICAgICAgICBhc3Nl
cnRfZXF1YWxzKG1hcC5zaXplLCAxKTsKLSAgICAgICAgYXNzZXJ0X3RydWUobWFwLmhhcygiYSIp
KTsKLSAgICAgICAgYXNzZXJ0X2ZhbHNlKG1hcC5oYXMoImIiKSk7Ci0gICAgICAgIGFzc2VydF9l
cXVhbHMobWFwLmdldCgiYSIpLmlkbFR5cGUsICJET01TdHJpbmciKTsKLSAgICB9LCAnc2hvdWxk
IHJldHVybiBhbiBvcmRlcmVkIG1hcCB0aGF0IGlnbm9yZXMgYXR0cmlidXRlcyBvZiBpbmhlcml0
ZWQgaW50ZXJmYWNlcyB3aGljaCBkbyBub3QgZGVjbGFyZSBhIFtEZWZhdWx0XSB0b0pTT04gb3Bl
cmF0aW9uLicpOwotCi0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIGNvbnRleHQg
PSBuZXcgSWRsQXJyYXkoKTsKLSAgICAgICAgY29udGV4dC5hZGRfaWRscygiaW50ZXJmYWNlIEEg
eyBbRGVmYXVsdF0gb2JqZWN0IHRvSlNPTigpOyBhdHRyaWJ1dGUgRE9NU3RyaW5nIGE7IH07Iik7
Ci0gICAgICAgIGNvbnRleHQuYWRkX2lkbHMoImludGVyZmFjZSBOIHsgW0RlZmF1bHRdIG9iamVj
dCB0b0pTT04oKTsgYXR0cmlidXRlIGxvbmcgbjsgfTsiKTsKLSAgICAgICAgY29udGV4dC5hZGRf
aWRscygiQSBpbXBsZW1lbnRzIE47Iik7Ci0gICAgICAgIHZhciBtYXAgPSBjb250ZXh0Lm1lbWJl
cnMuQS5kZWZhdWx0X3RvX2pzb25fb3BlcmF0aW9uKCk7Ci0gICAgICAgIGFzc2VydF9hcnJheV9l
cXVhbHMoWy4uLm1hcC5rZXlzKCldLCBbImEiLCAibiJdKTsKLSAgICAgICAgYXNzZXJ0X2FycmF5
X2VxdWFscyhbLi4ubWFwLnZhbHVlcygpXS5tYXAodiA9PiB2LmlkbFR5cGUpLCBbIkRPTVN0cmlu
ZyIsICJsb25nIl0pOwotICAgIH0sICdzaG91bGQgcmV0dXJuIGEgcHJvcGVybHkgb3JkZXJlZCBt
YXAgdGhhdCBhY2NvdW50cyBmb3IgbWl4ZWQtaW4gaW50ZXJmYWNlcyB3aGljaCBkZWNsYXJlIGEg
W0RlZmF1bHRdIHRvSlNPTiBvcGVyYXRpb24uJyk7Ci0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewot
ICAgICAgICB2YXIgY29udGV4dCA9IG5ldyBJZGxBcnJheSgpOwotICAgICAgICBjb250ZXh0LmFk
ZF9pZGxzKCJpbnRlcmZhY2UgQSB7IFtEZWZhdWx0XSBvYmplY3QgdG9KU09OKCk7IGF0dHJpYnV0
ZSBET01TdHJpbmcgYTsgfTsiKTsKLSAgICAgICAgY29udGV4dC5hZGRfaWRscygiaW50ZXJmYWNl
IE4geyBhdHRyaWJ1dGUgbG9uZyBuOyB9OyIpOwotICAgICAgICBjb250ZXh0LmFkZF9pZGxzKCJB
IGltcGxlbWVudHMgTjsiKTsKLSAgICAgICAgdmFyIG1hcCA9IGNvbnRleHQubWVtYmVycy5BLmRl
ZmF1bHRfdG9fanNvbl9vcGVyYXRpb24oKTsKLSAgICAgICAgYXNzZXJ0X2VxdWFscyhtYXAuc2l6
ZSwgMSk7Ci0gICAgICAgIGFzc2VydF90cnVlKG1hcC5oYXMoImEiKSk7Ci0gICAgICAgIGFzc2Vy
dF9mYWxzZShtYXAuaGFzKCJuIikpOwotICAgICAgICBhc3NlcnRfZXF1YWxzKG1hcC5nZXQoImEi
KS5pZGxUeXBlLCAiRE9NU3RyaW5nIik7Ci0gICAgfSwgJ3Nob3VsZCByZXR1cm4gYSBwcm9wZXJs
eSBvcmRlcmVkIG1hcCB0aGF0IGlnbm9yZXMgbWl4ZWQtaW4gaW50ZXJmYWNlcyB3aGljaCBkbyBu
b3QgZGVjbGFyZSBhIFtEZWZhdWx0XSB0b0pTT04gb3BlcmF0aW9uLicpOwotCi0KLSAgICB0ZXN0
KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgY29udGV4dCA9IG5ldyBJZGxBcnJheSgpOwotICAg
ICAgICBjb250ZXh0LmFkZF9pZGxzKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmcmFnbWVudHMn
KS50ZXh0Q29udGVudCk7Ci0gICAgICAgIHZhciBtYXAgPSBjb250ZXh0Lm1lbWJlcnMuQS5kZWZh
dWx0X3RvX2pzb25fb3BlcmF0aW9uKCk7Ci0gICAgICAgIGFzc2VydF9hcnJheV9lcXVhbHMoWy4u
Lm1hcC5rZXlzKCldLCBbImIiLCAiZiIsICJpIiwgImQiLCAiZyIsICJoIiwgImoiXSk7Ci0gICAg
ICAgIGFzc2VydF9hcnJheV9lcXVhbHMoWy4uLm1hcC52YWx1ZXMoKV0ubWFwKHYgPT4gdi5pZGxU
eXBlKSwgWyJsb25nIiwgInVucmVzdHJpY3RlZCBkb3VibGUiLCAiYm9vbGVhbiIsICJmbG9hdCIs
ICJvY3RldCIsICJET01TdHJpbmciLCAiRCJdKTsKLSAgICB9LCAnc2hvdWxkIHJldHVybiBhIHBy
b3Blcmx5IG9yZGVyZWQgbWFwIG9mIG5hbWUvdHlwZSBwYWlycyBoYW5kbGluZyBpbmhlcml0ZWQg
YW5kIGNvbnNlcXVlbnRpYWwgaW50ZXJmYWNlcyBhcyBzcGVjaWZpZWQuJyk7Ci08L3NjcmlwdD4K
LTwvYm9keT4KLTwvaHRtbD4KLQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9pZGxoYXJuZXNzL0lkbEludGVyZmFj
ZS9nZXRfaW5oZXJpdGFuY2Vfc3RhY2suaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2lkbGhh
cm5lc3MvSWRsSW50ZXJmYWNlL2dldF9pbmhlcml0YW5jZV9zdGFjay5odG1sCShyZXZpc2lvbiAy
NTI4OTYpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy90ZXN0L3Rlc3RzL2lkbGhhcm5lc3MvSWRsSW50ZXJmYWNlL2dldF9pbmhlcml0YW5j
ZV9zdGFjay5odG1sCShub25leGlzdGVudCkKQEAgLTEsMzUgKzAsMCBAQAotPCFET0NUWVBFIEhU
TUw+Ci08aHRtbD4KLTxoZWFkPgotPHRpdGxlPklkbEludGVyZmFjZS5wcm90b3R5cGUuZ2V0X2lu
aGVyaXRhbmNlX3N0YWNrKCk8L3RpdGxlPgotPC9oZWFkPgotPGJvZHk+Ci08ZGl2IGlkPSJsb2ci
PjwvZGl2PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvV2ViSURMUGFyc2VyLmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL2lkbGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBz
cmM9Ii4uL2hlbHBlci5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotICAgICJ1c2Ugc3RyaWN0IjsK
LSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgc3RhY2sgPSBpbnRlcmZhY2VGcm9t
KCdpbnRlcmZhY2UgQSB7IH07JykuZ2V0X2luaGVyaXRhbmNlX3N0YWNrKCk7Ci0gICAgICAgIGFz
c2VydF9hcnJheV9lcXVhbHMoc3RhY2subWFwKGkgPT4gaS5uYW1lKSwgWyJBIl0pOwotICAgIH0s
ICdzaG91bGQgcmV0dXJuIGFuIGFycmF5IHRoYXQgaW5jbHVkZXMgaXRzZWxmLicpOwotICAgIAot
ICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBpID0gaW50ZXJmYWNlRnJvbSgnaW50
ZXJmYWNlIEEgOiBCIHsgfTsnKTsKLSAgICAgICAgYXNzZXJ0X3Rocm93cyhuZXcgRXJyb3IoKSwg
XyA9PiBpLmdldF9pbmhlcml0YW5jZV9zdGFjaygpKTsKLSAgICB9LCAic2hvdWxkIHRocm93IGZv
ciBpbnRlcmZhY2VzIHdoaWNoIGluaGVyaXQgZnJvbSBhbm90aGVyIGludGVyZmFjZSB3aGljaCB3
YXNuJ3QgYWRkZWQgdG8gdGhlIElkbEFycmF5Iik7Ci0gICAgCi0gICAgdGVzdChmdW5jdGlvbigp
IHsKLSAgICAgICAgdmFyIGlkbCA9IG5ldyBJZGxBcnJheSgpOwotICAgICAgICBpZGwuYWRkX2lk
bHMoJ2ludGVyZmFjZSBBIDogQiB7IH07Jyk7Ci0gICAgICAgIGlkbC5hZGRfdW50ZXN0ZWRfaWRs
cygnaW50ZXJmYWNlIEIgOiBDIHsgfTsgaW50ZXJmYWNlIEMgeyB9OycpOwotICAgICAgICB2YXIg
QSA9IGlkbC5tZW1iZXJzWyJBIl07Ci0gICAgICAgIGFzc2VydF9hcnJheV9lcXVhbHMoQS5nZXRf
aW5oZXJpdGFuY2Vfc3RhY2soKS5tYXAoaSA9PiBpLm5hbWUpLCBbIkEiLCAiQiIsICJDIl0pOwot
ICAgIH0sICdzaG91bGQgcmV0dXJuIGFuIGFycmF5IG9mIGluaGVyaXRlZCBpbnRlcmZhY2VzIGlu
IG9yZGVyIG9mIGluaGVyaXRhbmNlLCBzdGFydGluZyB3aXRoIGl0c2VsZi4nKTsKLTwvc2NyaXB0
PgotPC9ib2R5PgotPC9odG1sPgotCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2lkbGhhcm5lc3MvSWRsSW50ZXJm
YWNlL2hhc19kZWZhdWx0X3RvX2pzb25fcmVndWxhcl9vcGVyYXRpb24uaHRtbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy90ZXN0L3Rlc3RzL2lkbGhhcm5lc3MvSWRsSW50ZXJmYWNlL2hhc19kZWZhdWx0X3RvX2pzb25f
cmVndWxhcl9vcGVyYXRpb24uaHRtbAkocmV2aXNpb24gMjUyODk2KQorKysgTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9pZGxo
YXJuZXNzL0lkbEludGVyZmFjZS9oYXNfZGVmYXVsdF90b19qc29uX3JlZ3VsYXJfb3BlcmF0aW9u
Lmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSw0NyArMCwwIEBACi08IURPQ1RZUEUgSFRNTD4KLTxo
dG1sPgotPGhlYWQ+Ci08dGl0bGU+SWRsSW50ZXJmYWNlLnByb3RvdHlwZS5oYXNfZGVmYXVsdF90
b19qc29uX3JlZ3VsYXJfb3BlcmF0aW9uKCk8L3RpdGxlPgotPC9oZWFkPgotPGJvZHk+Ci08ZGl2
IGlkPSJsb2ciPjwvZGl2PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
Pjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvV2ViSURMUGFyc2VyLmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL2lkbGhhcm5lc3MuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdCBzcmM9Ii4uL2hlbHBlci5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotICAgICJ1c2Ug
c3RyaWN0IjsKLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgaSA9IGludGVyZmFj
ZUZyb20oJ2ludGVyZmFjZSBBIHsgfTsnKTsKLSAgICAgICAgYXNzZXJ0X2ZhbHNlKGkuaGFzX2Rl
ZmF1bHRfdG9fanNvbl9yZWd1bGFyX29wZXJhdGlvbigpKTsKLSAgICB9LCAnc2hvdWxkIHJldHVy
biBmYWxzZSB3aGVuIHRoZSBpbnRlcmZhY2UgZGVjbGFyZXMgbm8gdG9KU09OIG9wZXJhdGlvbi4n
KTsKLQotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBpID0gaW50ZXJmYWNlRnJv
bSgnaW50ZXJmYWNlIEEgeyBzdGF0aWMgb2JqZWN0IHRvSlNPTigpOyB9OycpOwotICAgICAgICBh
c3NlcnRfZmFsc2UoaS5oYXNfZGVmYXVsdF90b19qc29uX3JlZ3VsYXJfb3BlcmF0aW9uKCkpOwot
ICAgIH0sICdzaG91bGQgcmV0dXJuIGZhbHNlIHdoZW4gdGhlIGludGVyZmFjZSBkZWNsYXJlcyBh
IHN0YXRpYyB0b0pTT04gb3BlcmF0aW9uLicpOwotCi0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAg
ICAgICAgdmFyIGkgPSBpbnRlcmZhY2VGcm9tKCdpbnRlcmZhY2UgQSB7IG9iamVjdCB0b0pTT04o
KTsgfTsnKTsKLSAgICAgICAgYXNzZXJ0X2ZhbHNlKGkuaGFzX2RlZmF1bHRfdG9fanNvbl9yZWd1
bGFyX29wZXJhdGlvbigpKTsKLSAgICB9LCAnc2hvdWxkIHJldHVybiBmYWxzZSB3aGVuIHRoZSBp
bnRlcmZhY2UgZGVjbGFyZXMgYSByZWd1bGFyIHRvSlNPTiBvcGVyYXRpb24gd2l0aCBubyBleHRl
bmRlZCBhdHRyaWJ1dGUuJyk7Ci0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIg
aSA9IGludGVyZmFjZUZyb20oJ2ludGVyZmFjZSBBIHsgW3hdIG9iamVjdCB0b0pTT04oKTsgfTsn
KTsKLSAgICAgICAgYXNzZXJ0X2ZhbHNlKGkuaGFzX2RlZmF1bHRfdG9fanNvbl9yZWd1bGFyX29w
ZXJhdGlvbigpKTsKLSAgICB9LCAnc2hvdWxkIHJldHVybiBmYWxzZSB3aGVuIHRoZSBpbnRlcmZh
Y2UgZGVjbGFyZXMgYSByZWd1bGFyIHRvSlNPTiBvcGVyYXRpb24gd2l0aCBhbm90aGVyIGV4dGVu
dGVkIGF0dHJpYnV0ZS4nKTsKLQotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBp
ID0gaW50ZXJmYWNlRnJvbSgnaW50ZXJmYWNlIEEgeyBbRGVmYXVsdF0gb2JqZWN0IHRvSlNPTigp
OyB9OycpOwotICAgICAgICBhc3NlcnRfdHJ1ZShpLmhhc19kZWZhdWx0X3RvX2pzb25fcmVndWxh
cl9vcGVyYXRpb24oKSk7Ci0gICAgfSwgJ3Nob3VsZCByZXR1cm4gdHJ1ZSB3aGVuIHRoZSBpbnRl
cmZhY2UgZGVjbGFyZXMgYSByZWd1bGFyIHRvSlNPTiBvcGVyYXRpb24gd2l0aCB0aGUgW0RlZmF1
bHRdIGV4dGVudGVkIGF0dHJpYnV0ZS4nKTsKLQotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAg
ICAgIHZhciBpID0gaW50ZXJmYWNlRnJvbSgnaW50ZXJmYWNlIEEgeyBbQXR0ciwgQW5vdGhlckF0
dHIsIERlZmF1bHRdIG9iamVjdCB0b0pTT04oKTsgfTsnKTsKLSAgICAgICAgYXNzZXJ0X3RydWUo
aS5oYXNfZGVmYXVsdF90b19qc29uX3JlZ3VsYXJfb3BlcmF0aW9uKCkpOwotICAgIH0sICdzaG91
bGQgcmV0dXJuIHRydWUgd2hlbiB0aGUgaW50ZXJmYWNlIGRlY2xhcmVzIGEgcmVndWxhciB0b0pT
T04gb3BlcmF0aW9uIHdpdGggbXVsdGlwbGUgZXh0ZW5kZWQgYXR0cmlidXRlcywgaW5jbHVkaW5n
IFtEZWZhdWx0XS4nKTsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgotCkluZGV4OiBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rl
c3RzL2lkbGhhcm5lc3MvSWRsSW50ZXJmYWNlL2hhc190b19qc29uX3JlZ3VsYXJfb3BlcmF0aW9u
Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9pZGxoYXJuZXNzL0lkbEludGVyZmFjZS9oYXNf
dG9fanNvbl9yZWd1bGFyX29wZXJhdGlvbi5odG1sCShyZXZpc2lvbiAyNTI4OTYpCisrKyBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rl
c3RzL2lkbGhhcm5lc3MvSWRsSW50ZXJmYWNlL2hhc190b19qc29uX3JlZ3VsYXJfb3BlcmF0aW9u
Lmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwzMiArMCwwIEBACi08IURPQ1RZUEUgSFRNTD4KLTxo
dG1sPgotPGhlYWQ+Ci08dGl0bGU+SWRsSW50ZXJmYWNlLnByb3RvdHlwZS5oYXNfdG9fanNvbl9y
ZWd1bGFyX29wZXJhdGlvbigpPC90aXRsZT4KLTwvaGVhZD4KLTxib2R5PgotPGRpdiBpZD0ibG9n
Ij48L2Rpdj4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL1dlYklETFBhcnNlci5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9pZGxoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIuLi9oZWxwZXIuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLSAgICAidXNlIHN0cmljdCI7
Ci0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIGkgPSBpbnRlcmZhY2VGcm9tKCdp
bnRlcmZhY2UgQSB7IH07Jyk7Ci0gICAgICAgIGFzc2VydF9mYWxzZShpLmhhc190b19qc29uX3Jl
Z3VsYXJfb3BlcmF0aW9uKCkpOwotICAgIH0sICdzaG91bGQgcmV0dXJuIGZhbHNlIHdoZW4gdGhl
IGludGVyZmFjZSBkZWNsYXJlcyBubyB0b0pTT04gb3BlcmF0aW9uLicpOwotICAgIAotICAgIHRl
c3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBpID0gaW50ZXJmYWNlRnJvbSgnaW50ZXJmYWNl
IEEgeyBzdGF0aWMgb2JqZWN0IHRvSlNPTigpOyB9OycpOwotICAgICAgICBhc3NlcnRfZmFsc2Uo
aS5oYXNfdG9fanNvbl9yZWd1bGFyX29wZXJhdGlvbigpKTsKLSAgICB9LCAnc2hvdWxkIHJldHVy
biBmYWxzZSB3aGVuIHRoZSBpbnRlcmZhY2UgZGVjbGFyZXMgYSBzdGF0aWMgdG9KU09OIG9wZXJh
dGlvbi4nKTsKLSAgICAKLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgaSA9IGlu
dGVyZmFjZUZyb20oJ2ludGVyZmFjZSBBIHsgb2JqZWN0IHRvSlNPTigpOyB9OycpOwotICAgICAg
ICBhc3NlcnRfdHJ1ZShpLmhhc190b19qc29uX3JlZ3VsYXJfb3BlcmF0aW9uKCkpOwotICAgIH0s
ICdzaG91bGQgcmV0dXJuIHRydWUgd2hlbiB0aGUgaW50ZXJmYWNlIGRlY2xhcmVzIGEgcmVndWxh
ciB0b0pTT04gb3BlcmF0aW9uLicpOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+Ci0KSW5k
ZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3Rlc3QvdGVzdHMvaWRsaGFybmVzcy9JZGxJbnRlcmZhY2UvdGVzdF9pbW11dGFibGVfcHJvdG90
eXBlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9pZGxoYXJuZXNzL0lkbEludGVyZmFjZS90
ZXN0X2ltbXV0YWJsZV9wcm90b3R5cGUuaHRtbAkocmV2aXNpb24gMjUyODk2KQorKysgTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0
cy9pZGxoYXJuZXNzL0lkbEludGVyZmFjZS90ZXN0X2ltbXV0YWJsZV9wcm90b3R5cGUuaHRtbAko
bm9uZXhpc3RlbnQpCkBAIC0xLDMyMSArMCwwIEBACi08IURPQ1RZUEUgSFRNTD4KLTxodG1sPgot
PGhlYWQ+Ci0gIDxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KLSAgPHRpdGxlPmlkbGhhcm5lc3M6IElt
bXV0YWJsZSBwcm90b3R5cGVzPC90aXRsZT4KLSAgPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLSAgPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLSAgPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL1dl
YklETFBhcnNlci5qcyI+PC9zY3JpcHQ+Ci0gIDxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi9pZGxo
YXJuZXNzLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPHNjcmlwdD4KLSJ1c2Ugc3Ry
aWN0dCI7Ci0KLU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh3aW5kb3csICJGb28iLCB7Ci0gICAgZW51
bWVyYWJsZTogZmFsc2UsCi0gICAgd3JpdGFibGU6IHRydWUsCi0gICAgY29uZmlndXJhYmxlOiB0
cnVlLAotICAgIHZhbHVlOiBmdW5jdGlvbiBGb28oKSB7fQotICB9KTsKLU9iamVjdC5kZWZpbmVQ
cm9wZXJ0eSh3aW5kb3cuRm9vLCAicHJvdG90eXBlIiwgewotICAgIHdyaXRhYmxlOiBmYWxzZSwK
LSAgICB2YWx1ZTogd2luZG93LkZvby5wcm90b3R5cGUKLSAgfSk7Ci1Gb28ucHJvdG90eXBlW1N5
bWJvbC50b1N0cmluZ1RhZ10gPSAiRm9vIjsKLQotdmFyIGlkbEFycmF5ID0gbmV3IElkbEFycmF5
KCk7Ci1pZGxBcnJheS5hZGRfdW50ZXN0ZWRfaWRscygiaW50ZXJmYWNlIEV2ZW50VGFyZ2V0IHt9
OyIpOwotaWRsQXJyYXkuYWRkX2lkbHMoCi0gICAgIltHbG9iYWw9V2luZG93LCBFeHBvc2VkPVdp
bmRvd11cbiIgKwotICAgICJpbnRlcmZhY2UgV2luZG93IDogRXZlbnRUYXJnZXQge307XG4iICsK
LQotICAgICJbR2xvYmFsPVdpbmRvdywgRXhwb3NlZD1XaW5kb3csIENvbnN0cnVjdG9yKCldXG4i
ICsKLQkiaW50ZXJmYWNlIEZvbyB7fTsiCi0gICk7Ci1pZGxBcnJheS5hZGRfb2JqZWN0cyh7Ci0g
IEZvbzogWyJuZXcgRm9vKCkiXSwKLSAgV2luZG93OiBbIndpbmRvdyJdCi19KTsKLWlkbEFycmF5
LnRlc3QoKTsKLTwvc2NyaXB0PgotPHNjcmlwdCB0eXBlPSJ0ZXh0L2pzb24iIGlkPSJleHBlY3Rl
ZCI+Ci17Ci0gICAgInN1bW1hcml6ZWRfc3RhdHVzIjogewotICAgICAgICAibWVzc2FnZSI6IG51
bGwsCi0gICAgICAgICJzdGF0dXNfc3RyaW5nIjogIk9LIiwKLSAgICAgICAgInN0YWNrIjogbnVs
bAotICAgIH0sCi0gICAgInN1bW1hcml6ZWRfdGVzdHMiOiBbCi0gICAgICAgIHsKLSAgICAgICAg
ICAgICJuYW1lIjogIkZvbyBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aCIsCi0gICAgICAgICAgICAi
c3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0g
ICAgICAgICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAgICAgICAic3RhY2siOiBudWxsCi0g
ICAgICAgIH0sCi0gICAgICAgIHsKLSAgICAgICAgICAgICJuYW1lIjogIkZvbyBpbnRlcmZhY2Ug
b2JqZWN0IG5hbWUiLAotICAgICAgICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAg
ICAgICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgICAgICAgIm1lc3NhZ2UiOiBudWxsLAot
ICAgICAgICAgICAgInN0YWNrIjogbnVsbAotICAgICAgICB9LAotICAgICAgICB7Ci0gICAgICAg
ICAgICAibmFtZSI6ICJGb28gaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2Yg
aW50ZXJmYWNlIG9iamVjdCIsCi0gICAgICAgICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwK
LSAgICAgICAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAgICAgICAibWVzc2FnZSI6IG51
bGwsCi0gICAgICAgICAgICAic3RhY2siOiBudWxsCi0gICAgICAgIH0sCi0gICAgICAgIHsKLSAg
ICAgICAgICAgICJuYW1lIjogIkZvbyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGll
cyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCIsCi0gICAgICAgICAgICAic3RhdHVzX3N0
cmluZyI6ICJQQVNTIiwKLSAgICAgICAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAgICAg
ICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAgICAgICAic3RhY2siOiBudWxsCi0gICAgICAgIH0s
Ci0gICAgICAgIHsKLSAgICAgICAgICAgICJuYW1lIjogIkZvbyBpbnRlcmZhY2U6IGV4aXN0ZW5j
ZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzIFwiY29uc3Ry
dWN0b3JcIiBwcm9wZXJ0eSIsCi0gICAgICAgICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwK
LSAgICAgICAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAgICAgICAibWVzc2FnZSI6IG51
bGwsCi0gICAgICAgICAgICAic3RhY2siOiBudWxsCi0gICAgICAgIH0sCi0gICAgICAgIHsKLSAg
ICAgICAgICAgICJuYW1lIjogIkZvbyBpbnRlcmZhY2U6IGludGVybmFsIFtbU2V0UHJvdG90eXBl
T2ZdXSBtZXRob2Qgb2YgZ2xvYmFsIHBsYXRmb3JtIG9iamVjdCAtIHNldHRpbmcgdG8gYSBuZXcg
dmFsdWUgdmlhIE9iamVjdC5zZXRQcm90b3R5cGVPZiBzaG91bGQgdGhyb3cgYSBUeXBlRXJyb3Ii
LAotICAgICAgICAgICAgInN0YXR1c19zdHJpbmciOiAiRkFJTCIsCi0gICAgICAgICAgICAicHJv
cGVydGllcyI6IHt9LAotICAgICAgICAgICAgIm1lc3NhZ2UiOiAiYXNzZXJ0X3Rocm93czogZnVu
Y3Rpb24gXCJmdW5jdGlvbigpIHtcbiAgICAgICAgICAgIE9iamVjdC5zZXRQcm90b3R5cGVPZihv
YmosIG5ld1ZhbHVlKTtcbiAgICAgICAgfVwiIGRpZCBub3QgdGhyb3ciLAotICAgICAgICAgICAg
InN0YWNrIjogIihpbXBsZW1lbnRhdGlvbi1kZWZpbmVkKSIKLSAgICAgICAgfSwKLSAgICAgICAg
ewotICAgICAgICAgICAgIm5hbWUiOiAiRm9vIGludGVyZmFjZTogaW50ZXJuYWwgW1tTZXRQcm90
b3R5cGVPZl1dIG1ldGhvZCBvZiBnbG9iYWwgcGxhdGZvcm0gb2JqZWN0IC0gc2V0dGluZyB0byBh
IG5ldyB2YWx1ZSB2aWEgUmVmbGVjdC5zZXRQcm90b3R5cGVPZiBzaG91bGQgcmV0dXJuIGZhbHNl
IiwKLSAgICAgICAgICAgICJzdGF0dXNfc3RyaW5nIjogIkZBSUwiLAotICAgICAgICAgICAgInBy
b3BlcnRpZXMiOiB7fSwKLSAgICAgICAgICAgICJtZXNzYWdlIjogImFzc2VydF9mYWxzZTogZXhw
ZWN0ZWQgZmFsc2UgZ290IHRydWUiLAotICAgICAgICAgICAgInN0YWNrIjogIihpbXBsZW1lbnRh
dGlvbi1kZWZpbmVkKSIKLSAgICAgICAgfSwKLSAgICAgICAgewotICAgICAgICAgICAgIm5hbWUi
OiAiRm9vIGludGVyZmFjZTogaW50ZXJuYWwgW1tTZXRQcm90b3R5cGVPZl1dIG1ldGhvZCBvZiBn
bG9iYWwgcGxhdGZvcm0gb2JqZWN0IC0gc2V0dGluZyB0byBhIG5ldyB2YWx1ZSB2aWEgX19wcm90
b19fIHNob3VsZCB0aHJvdyBhIFR5cGVFcnJvciIsCi0gICAgICAgICAgICAic3RhdHVzX3N0cmlu
ZyI6ICJGQUlMIiwKLSAgICAgICAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAgICAgICAi
bWVzc2FnZSI6ICJhc3NlcnRfdGhyb3dzOiBmdW5jdGlvbiBcImZ1bmN0aW9uKCkge1xuICAgICAg
ICAgICAgb2JqLl9fcHJvdG9fXyA9IG5ld1ZhbHVlO1xuICAgICAgICB9XCIgZGlkIG5vdCB0aHJv
dyIsCi0gICAgICAgICAgICAic3RhY2siOiAiKGltcGxlbWVudGF0aW9uLWRlZmluZWQpIgotICAg
ICAgICB9LAotICAgICAgICB7Ci0gICAgICAgICAgICAibmFtZSI6ICJGb28gaW50ZXJmYWNlOiBp
bnRlcm5hbCBbW1NldFByb3RvdHlwZU9mXV0gbWV0aG9kIG9mIGdsb2JhbCBwbGF0Zm9ybSBvYmpl
Y3QgLSBzZXR0aW5nIHRvIGl0cyBvcmlnaW5hbCB2YWx1ZSB2aWEgT2JqZWN0LnNldFByb3RvdHlw
ZU9mIHNob3VsZCBub3QgdGhyb3ciLAotICAgICAgICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFT
UyIsCi0gICAgICAgICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgICAgICAgIm1lc3NhZ2Ui
OiBudWxsLAotICAgICAgICAgICAgInN0YWNrIjogbnVsbAotICAgICAgICB9LAotICAgICAgICB7
Ci0gICAgICAgICAgICAibmFtZSI6ICJGb28gaW50ZXJmYWNlOiBpbnRlcm5hbCBbW1NldFByb3Rv
dHlwZU9mXV0gbWV0aG9kIG9mIGdsb2JhbCBwbGF0Zm9ybSBvYmplY3QgLSBzZXR0aW5nIHRvIGl0
cyBvcmlnaW5hbCB2YWx1ZSB2aWEgUmVmbGVjdC5zZXRQcm90b3R5cGVPZiBzaG91bGQgcmV0dXJu
IHRydWUiLAotICAgICAgICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAgICAg
ICAicHJvcGVydGllcyI6IHt9LAotICAgICAgICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAg
ICAgICAgInN0YWNrIjogbnVsbAotICAgICAgICB9LAotICAgICAgICB7Ci0gICAgICAgICAgICAi
bmFtZSI6ICJGb28gaW50ZXJmYWNlOiBpbnRlcm5hbCBbW1NldFByb3RvdHlwZU9mXV0gbWV0aG9k
IG9mIGdsb2JhbCBwbGF0Zm9ybSBvYmplY3QgLSBzZXR0aW5nIHRvIGl0cyBvcmlnaW5hbCB2YWx1
ZSB2aWEgX19wcm90b19fIHNob3VsZCBub3QgdGhyb3ciLAotICAgICAgICAgICAgInN0YXR1c19z
dHJpbmciOiAiUEFTUyIsCi0gICAgICAgICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgICAg
ICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgICAgICAgInN0YWNrIjogbnVsbAotICAgICAgICB9
LAotICAgICAgICB7Ci0gICAgICAgICAgICAibmFtZSI6ICJGb28gaW50ZXJmYWNlOiBpbnRlcm5h
bCBbW1NldFByb3RvdHlwZU9mXV0gbWV0aG9kIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0
IC0gc2V0dGluZyB0byBhIG5ldyB2YWx1ZSB2aWEgT2JqZWN0LnNldFByb3RvdHlwZU9mIHNob3Vs
ZCB0aHJvdyBhIFR5cGVFcnJvciIsCi0gICAgICAgICAgICAic3RhdHVzX3N0cmluZyI6ICJGQUlM
IiwKLSAgICAgICAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAgICAgICAibWVzc2FnZSI6
ICJhc3NlcnRfdGhyb3dzOiBmdW5jdGlvbiBcImZ1bmN0aW9uKCkge1xuICAgICAgICAgICAgT2Jq
ZWN0LnNldFByb3RvdHlwZU9mKG9iaiwgbmV3VmFsdWUpO1xuICAgICAgICB9XCIgZGlkIG5vdCB0
aHJvdyIsCi0gICAgICAgICAgICAic3RhY2siOiAiKGltcGxlbWVudGF0aW9uLWRlZmluZWQpIgot
ICAgICAgICB9LAotICAgICAgICB7Ci0gICAgICAgICAgICAibmFtZSI6ICJGb28gaW50ZXJmYWNl
OiBpbnRlcm5hbCBbW1NldFByb3RvdHlwZU9mXV0gbWV0aG9kIG9mIGludGVyZmFjZSBwcm90b3R5
cGUgb2JqZWN0IC0gc2V0dGluZyB0byBhIG5ldyB2YWx1ZSB2aWEgUmVmbGVjdC5zZXRQcm90b3R5
cGVPZiBzaG91bGQgcmV0dXJuIGZhbHNlIiwKLSAgICAgICAgICAgICJzdGF0dXNfc3RyaW5nIjog
IkZBSUwiLAotICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICAgICAgICJtZXNz
YWdlIjogImFzc2VydF9mYWxzZTogZXhwZWN0ZWQgZmFsc2UgZ290IHRydWUiLAotICAgICAgICAg
ICAgInN0YWNrIjogIihpbXBsZW1lbnRhdGlvbi1kZWZpbmVkKSIKLSAgICAgICAgfSwKLSAgICAg
ICAgewotICAgICAgICAgICAgIm5hbWUiOiAiRm9vIGludGVyZmFjZTogaW50ZXJuYWwgW1tTZXRQ
cm90b3R5cGVPZl1dIG1ldGhvZCBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCAtIHNldHRp
bmcgdG8gYSBuZXcgdmFsdWUgdmlhIF9fcHJvdG9fXyBzaG91bGQgdGhyb3cgYSBUeXBlRXJyb3Ii
LAotICAgICAgICAgICAgInN0YXR1c19zdHJpbmciOiAiRkFJTCIsCi0gICAgICAgICAgICAicHJv
cGVydGllcyI6IHt9LAotICAgICAgICAgICAgIm1lc3NhZ2UiOiAiYXNzZXJ0X3Rocm93czogZnVu
Y3Rpb24gXCJmdW5jdGlvbigpIHtcbiAgICAgICAgICAgIG9iai5fX3Byb3RvX18gPSBuZXdWYWx1
ZTtcbiAgICAgICAgfVwiIGRpZCBub3QgdGhyb3ciLAotICAgICAgICAgICAgInN0YWNrIjogIihp
bXBsZW1lbnRhdGlvbi1kZWZpbmVkKSIKLSAgICAgICAgfSwKLSAgICAgICAgewotICAgICAgICAg
ICAgIm5hbWUiOiAiRm9vIGludGVyZmFjZTogaW50ZXJuYWwgW1tTZXRQcm90b3R5cGVPZl1dIG1l
dGhvZCBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCAtIHNldHRpbmcgdG8gaXRzIG9yaWdp
bmFsIHZhbHVlIHZpYSBPYmplY3Quc2V0UHJvdG90eXBlT2Ygc2hvdWxkIG5vdCB0aHJvdyIsCi0g
ICAgICAgICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICAgICAgICJwcm9wZXJ0
aWVzIjoge30sCi0gICAgICAgICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAgICAgICAic3Rh
Y2siOiBudWxsCi0gICAgICAgIH0sCi0gICAgICAgIHsKLSAgICAgICAgICAgICJuYW1lIjogIkZv
byBpbnRlcmZhY2U6IGludGVybmFsIFtbU2V0UHJvdG90eXBlT2ZdXSBtZXRob2Qgb2YgaW50ZXJm
YWNlIHByb3RvdHlwZSBvYmplY3QgLSBzZXR0aW5nIHRvIGl0cyBvcmlnaW5hbCB2YWx1ZSB2aWEg
UmVmbGVjdC5zZXRQcm90b3R5cGVPZiBzaG91bGQgcmV0dXJuIHRydWUiLAotICAgICAgICAgICAg
InN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAgICAgICAicHJvcGVydGllcyI6IHt9LAot
ICAgICAgICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgICAgICAgInN0YWNrIjogbnVsbAot
ICAgICAgICB9LAotICAgICAgICB7Ci0gICAgICAgICAgICAibmFtZSI6ICJGb28gaW50ZXJmYWNl
OiBpbnRlcm5hbCBbW1NldFByb3RvdHlwZU9mXV0gbWV0aG9kIG9mIGludGVyZmFjZSBwcm90b3R5
cGUgb2JqZWN0IC0gc2V0dGluZyB0byBpdHMgb3JpZ2luYWwgdmFsdWUgdmlhIF9fcHJvdG9fXyBz
aG91bGQgbm90IHRocm93IiwKLSAgICAgICAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAot
ICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICAgICAgICJtZXNzYWdlIjogbnVs
bCwKLSAgICAgICAgICAgICJzdGFjayI6IG51bGwKLSAgICAgICAgfSwKLSAgICAgICAgewotICAg
ICAgICAgICAgIm5hbWUiOiAiRm9vIG11c3QgYmUgcHJpbWFyeSBpbnRlcmZhY2Ugb2YgbmV3IEZv
bygpIiwKLSAgICAgICAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgICAgICAg
InByb3BlcnRpZXMiOiB7fSwKLSAgICAgICAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICAg
ICAgICJzdGFjayI6IG51bGwKLSAgICAgICAgfSwKLSAgICAgICAgewotICAgICAgICAgICAgIm5h
bWUiOiAiU3RyaW5naWZpY2F0aW9uIG9mIG5ldyBGb28oKSIsCi0gICAgICAgICAgICAic3RhdHVz
X3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAg
ICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAgICAgICAic3RhY2siOiBudWxsCi0gICAgICAg
IH0sCi0gICAgICAgIHsKLSAgICAgICAgICAgICJuYW1lIjogIlN0cmluZ2lmaWNhdGlvbiBvZiB3
aW5kb3ciLAotICAgICAgICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAgICAg
ICAicHJvcGVydGllcyI6IHt9LAotICAgICAgICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAg
ICAgICAgInN0YWNrIjogbnVsbAotICAgICAgICB9LAotICAgICAgICB7Ci0gICAgICAgICAgICAi
bmFtZSI6ICJXaW5kb3cgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGgiLAotICAgICAgICAgICAgInN0
YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAgICAgICAicHJvcGVydGllcyI6IHt9LAotICAg
ICAgICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgICAgICAgInN0YWNrIjogbnVsbAotICAg
ICAgICB9LAotICAgICAgICB7Ci0gICAgICAgICAgICAibmFtZSI6ICJXaW5kb3cgaW50ZXJmYWNl
IG9iamVjdCBuYW1lIiwKLSAgICAgICAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAg
ICAgICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICAgICAgICJtZXNzYWdlIjogbnVsbCwK
LSAgICAgICAgICAgICJzdGFjayI6IG51bGwKLSAgICAgICAgfSwKLSAgICAgICAgewotICAgICAg
ICAgICAgIm5hbWUiOiAiV2luZG93IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVz
IG9mIGludGVyZmFjZSBvYmplY3QiLAotICAgICAgICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFT
UyIsCi0gICAgICAgICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgICAgICAgIm1lc3NhZ2Ui
OiBudWxsLAotICAgICAgICAgICAgInN0YWNrIjogbnVsbAotICAgICAgICB9LAotICAgICAgICB7
Ci0gICAgICAgICAgICAibmFtZSI6ICJXaW5kb3cgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHBy
b3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QiLAotICAgICAgICAgICAgInN0
YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAgICAgICAicHJvcGVydGllcyI6IHt9LAotICAg
ICAgICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgICAgICAgInN0YWNrIjogbnVsbAotICAg
ICAgICB9LAotICAgICAgICB7Ci0gICAgICAgICAgICAibmFtZSI6ICJXaW5kb3cgaW50ZXJmYWNl
OiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3Qn
cyBcImNvbnN0cnVjdG9yXCIgcHJvcGVydHkiLAotICAgICAgICAgICAgInN0YXR1c19zdHJpbmci
OiAiUEFTUyIsCi0gICAgICAgICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgICAgICAgIm1l
c3NhZ2UiOiBudWxsLAotICAgICAgICAgICAgInN0YWNrIjogbnVsbAotICAgICAgICB9LAotICAg
ICAgICB7Ci0gICAgICAgICAgICAibmFtZSI6ICJXaW5kb3cgaW50ZXJmYWNlOiBpbnRlcm5hbCBb
W1NldFByb3RvdHlwZU9mXV0gbWV0aG9kIG9mIGdsb2JhbCBwbGF0Zm9ybSBvYmplY3QgLSBzZXR0
aW5nIHRvIGEgbmV3IHZhbHVlIHZpYSBPYmplY3Quc2V0UHJvdG90eXBlT2Ygc2hvdWxkIHRocm93
IGEgVHlwZUVycm9yIiwKLSAgICAgICAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAg
ICAgICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICAgICAgICJtZXNzYWdlIjogbnVsbCwK
LSAgICAgICAgICAgICJzdGFjayI6IG51bGwKLSAgICAgICAgfSwKLSAgICAgICAgewotICAgICAg
ICAgICAgIm5hbWUiOiAiV2luZG93IGludGVyZmFjZTogaW50ZXJuYWwgW1tTZXRQcm90b3R5cGVP
Zl1dIG1ldGhvZCBvZiBnbG9iYWwgcGxhdGZvcm0gb2JqZWN0IC0gc2V0dGluZyB0byBhIG5ldyB2
YWx1ZSB2aWEgUmVmbGVjdC5zZXRQcm90b3R5cGVPZiBzaG91bGQgcmV0dXJuIGZhbHNlIiwKLSAg
ICAgICAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgICAgICAgInByb3BlcnRp
ZXMiOiB7fSwKLSAgICAgICAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICAgICAgICJzdGFj
ayI6IG51bGwKLSAgICAgICAgfSwKLSAgICAgICAgewotICAgICAgICAgICAgIm5hbWUiOiAiV2lu
ZG93IGludGVyZmFjZTogaW50ZXJuYWwgW1tTZXRQcm90b3R5cGVPZl1dIG1ldGhvZCBvZiBnbG9i
YWwgcGxhdGZvcm0gb2JqZWN0IC0gc2V0dGluZyB0byBhIG5ldyB2YWx1ZSB2aWEgX19wcm90b19f
IHNob3VsZCB0aHJvdyBhIFR5cGVFcnJvciIsCi0gICAgICAgICAgICAic3RhdHVzX3N0cmluZyI6
ICJQQVNTIiwKLSAgICAgICAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAgICAgICAibWVz
c2FnZSI6IG51bGwsCi0gICAgICAgICAgICAic3RhY2siOiBudWxsCi0gICAgICAgIH0sCi0gICAg
ICAgIHsKLSAgICAgICAgICAgICJuYW1lIjogIldpbmRvdyBpbnRlcmZhY2U6IGludGVybmFsIFtb
U2V0UHJvdG90eXBlT2ZdXSBtZXRob2Qgb2YgZ2xvYmFsIHBsYXRmb3JtIG9iamVjdCAtIHNldHRp
bmcgdG8gaXRzIG9yaWdpbmFsIHZhbHVlIHZpYSBPYmplY3Quc2V0UHJvdG90eXBlT2Ygc2hvdWxk
IG5vdCB0aHJvdyIsCi0gICAgICAgICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAg
ICAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAgICAgICAibWVzc2FnZSI6IG51bGwsCi0g
ICAgICAgICAgICAic3RhY2siOiBudWxsCi0gICAgICAgIH0sCi0gICAgICAgIHsKLSAgICAgICAg
ICAgICJuYW1lIjogIldpbmRvdyBpbnRlcmZhY2U6IGludGVybmFsIFtbU2V0UHJvdG90eXBlT2Zd
XSBtZXRob2Qgb2YgZ2xvYmFsIHBsYXRmb3JtIG9iamVjdCAtIHNldHRpbmcgdG8gaXRzIG9yaWdp
bmFsIHZhbHVlIHZpYSBSZWZsZWN0LnNldFByb3RvdHlwZU9mIHNob3VsZCByZXR1cm4gdHJ1ZSIs
Ci0gICAgICAgICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICAgICAgICJwcm9w
ZXJ0aWVzIjoge30sCi0gICAgICAgICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAgICAgICAi
c3RhY2siOiBudWxsCi0gICAgICAgIH0sCi0gICAgICAgIHsKLSAgICAgICAgICAgICJuYW1lIjog
IldpbmRvdyBpbnRlcmZhY2U6IGludGVybmFsIFtbU2V0UHJvdG90eXBlT2ZdXSBtZXRob2Qgb2Yg
Z2xvYmFsIHBsYXRmb3JtIG9iamVjdCAtIHNldHRpbmcgdG8gaXRzIG9yaWdpbmFsIHZhbHVlIHZp
YSBfX3Byb3RvX18gc2hvdWxkIG5vdCB0aHJvdyIsCi0gICAgICAgICAgICAic3RhdHVzX3N0cmlu
ZyI6ICJQQVNTIiwKLSAgICAgICAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAgICAgICAi
bWVzc2FnZSI6IG51bGwsCi0gICAgICAgICAgICAic3RhY2siOiBudWxsCi0gICAgICAgIH0sCi0g
ICAgICAgIHsKLSAgICAgICAgICAgICJuYW1lIjogIldpbmRvdyBpbnRlcmZhY2U6IGludGVybmFs
IFtbU2V0UHJvdG90eXBlT2ZdXSBtZXRob2Qgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3Qg
LSBzZXR0aW5nIHRvIGEgbmV3IHZhbHVlIHZpYSBPYmplY3Quc2V0UHJvdG90eXBlT2Ygc2hvdWxk
IHRocm93IGEgVHlwZUVycm9yIiwKLSAgICAgICAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1Mi
LAotICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICAgICAgICJtZXNzYWdlIjog
bnVsbCwKLSAgICAgICAgICAgICJzdGFjayI6IG51bGwKLSAgICAgICAgfSwKLSAgICAgICAgewot
ICAgICAgICAgICAgIm5hbWUiOiAiV2luZG93IGludGVyZmFjZTogaW50ZXJuYWwgW1tTZXRQcm90
b3R5cGVPZl1dIG1ldGhvZCBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCAtIHNldHRpbmcg
dG8gYSBuZXcgdmFsdWUgdmlhIFJlZmxlY3Quc2V0UHJvdG90eXBlT2Ygc2hvdWxkIHJldHVybiBm
YWxzZSIsCi0gICAgICAgICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICAgICAg
ICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAgICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAg
ICAgICAic3RhY2siOiBudWxsCi0gICAgICAgIH0sCi0gICAgICAgIHsKLSAgICAgICAgICAgICJu
YW1lIjogIldpbmRvdyBpbnRlcmZhY2U6IGludGVybmFsIFtbU2V0UHJvdG90eXBlT2ZdXSBtZXRo
b2Qgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgLSBzZXR0aW5nIHRvIGEgbmV3IHZhbHVl
IHZpYSBfX3Byb3RvX18gc2hvdWxkIHRocm93IGEgVHlwZUVycm9yIiwKLSAgICAgICAgICAgICJz
dGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAg
ICAgICAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICAgICAgICJzdGFjayI6IG51bGwKLSAg
ICAgICAgfSwKLSAgICAgICAgewotICAgICAgICAgICAgIm5hbWUiOiAiV2luZG93IGludGVyZmFj
ZTogaW50ZXJuYWwgW1tTZXRQcm90b3R5cGVPZl1dIG1ldGhvZCBvZiBpbnRlcmZhY2UgcHJvdG90
eXBlIG9iamVjdCAtIHNldHRpbmcgdG8gaXRzIG9yaWdpbmFsIHZhbHVlIHZpYSBPYmplY3Quc2V0
UHJvdG90eXBlT2Ygc2hvdWxkIG5vdCB0aHJvdyIsCi0gICAgICAgICAgICAic3RhdHVzX3N0cmlu
ZyI6ICJQQVNTIiwKLSAgICAgICAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAgICAgICAi
bWVzc2FnZSI6IG51bGwsCi0gICAgICAgICAgICAic3RhY2siOiBudWxsCi0gICAgICAgIH0sCi0g
ICAgICAgIHsKLSAgICAgICAgICAgICJuYW1lIjogIldpbmRvdyBpbnRlcmZhY2U6IGludGVybmFs
IFtbU2V0UHJvdG90eXBlT2ZdXSBtZXRob2Qgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3Qg
LSBzZXR0aW5nIHRvIGl0cyBvcmlnaW5hbCB2YWx1ZSB2aWEgUmVmbGVjdC5zZXRQcm90b3R5cGVP
ZiBzaG91bGQgcmV0dXJuIHRydWUiLAotICAgICAgICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFT
UyIsCi0gICAgICAgICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgICAgICAgIm1lc3NhZ2Ui
OiBudWxsLAotICAgICAgICAgICAgInN0YWNrIjogbnVsbAotICAgICAgICB9LAotICAgICAgICB7
Ci0gICAgICAgICAgICAibmFtZSI6ICJXaW5kb3cgaW50ZXJmYWNlOiBpbnRlcm5hbCBbW1NldFBy
b3RvdHlwZU9mXV0gbWV0aG9kIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IC0gc2V0dGlu
ZyB0byBpdHMgb3JpZ2luYWwgdmFsdWUgdmlhIF9fcHJvdG9fXyBzaG91bGQgbm90IHRocm93IiwK
LSAgICAgICAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgICAgICAgInByb3Bl
cnRpZXMiOiB7fSwKLSAgICAgICAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICAgICAgICJz
dGFjayI6IG51bGwKLSAgICAgICAgfSwKLSAgICAgICAgewotICAgICAgICAgICAgIm5hbWUiOiAi
V2luZG93IG11c3QgYmUgcHJpbWFyeSBpbnRlcmZhY2Ugb2Ygd2luZG93IiwKLSAgICAgICAgICAg
ICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7fSwK
LSAgICAgICAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICAgICAgICJzdGFjayI6IG51bGwK
LSAgICAgICAgfQotICAgIF0sCi0gICAgInR5cGUiOiAiY29tcGxldGUiCi19Ci08L3NjcmlwdD4K
LTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRsaGFybmVzcy9JZGxJbnRlcmZhY2Uv
dGVzdF9wcmltYXJ5X2ludGVyZmFjZV9vZi5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRs
aGFybmVzcy9JZGxJbnRlcmZhY2UvdGVzdF9wcmltYXJ5X2ludGVyZmFjZV9vZi5odG1sCShyZXZp
c2lvbiAyNTI4OTYpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2lkbGhhcm5lc3MvSWRsSW50ZXJmYWNlL3Rlc3RfcHJp
bWFyeV9pbnRlcmZhY2Vfb2YuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDExMSArMCwwIEBACi08
IURPQ1RZUEUgSFRNTD4KLTxodG1sPgotPGhlYWQ+Ci0gIDxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4K
LSAgPHRpdGxlPmlkbGhhcm5lc3M6IFByaW1hcnkgaW50ZXJmYWNlPC90aXRsZT4KLSAgPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotICA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci0gIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL1dlYklETFBhcnNlci5qcyI+PC9zY3JpcHQ+Ci0gIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL2lkbGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08
cD5WZXJpZnkgdGhlIHNlcmllcyBvZiBzdWItdGVzdHMgdGhhdCBhcmUgZXhlY3V0ZWQgZm9yICJ0
ZXN0ZWQiIGludGVyZmFjZQotb2JqZWN0cyBidXQgc2tpcHBlZCBmb3IgInVudGVzdGVkIiBpbnRl
cmZhY2Ugb2JqZWN0cy48L3A+Ci08c2NyaXB0PgotInVzZSBzdHJpY3QiOwotCi1mdW5jdGlvbiBG
b29QYXJlbnQoKSB7fQotT2JqZWN0LmRlZmluZVByb3BlcnR5KHdpbmRvdywgIkZvbyIsIHsKLSAg
ICBlbnVtZXJhYmxlOiBmYWxzZSwKLSAgICB3cml0YWJsZTogdHJ1ZSwKLSAgICBjb25maWd1cmFi
bGU6IHRydWUsCi0gICAgdmFsdWU6IGZ1bmN0aW9uIEZvbygpIHt9Ci0gIH0pOwotT2JqZWN0LmRl
ZmluZVByb3BlcnR5KHdpbmRvdy5Gb28sICJwcm90b3R5cGUiLCB7Ci0gICAgd3JpdGFibGU6IGZh
bHNlLAotICAgIHZhbHVlOiBuZXcgRm9vUGFyZW50KCkKLSAgfSk7Ci1PYmplY3QuZGVmaW5lUHJv
cGVydHkod2luZG93LkZvby5wcm90b3R5cGUsICJjb25zdHJ1Y3RvciIsIHsKLSAgICBlbnVtZXJh
YmxlOiBmYWxzZSwKLSAgICB3cml0YWJsZTogdHJ1ZSwKLSAgICBjb25maWd1cmFibGU6IHRydWUs
Ci0gICAgdmFsdWU6IHdpbmRvdy5Gb28KLSAgfSk7Ci1Gb28uX19wcm90b19fID0gRm9vUGFyZW50
OwotRm9vLnByb3RvdHlwZVtTeW1ib2wudG9TdHJpbmdUYWddID0gIkZvbyI7Ci0KLXZhciBpZGxB
cnJheSA9IG5ldyBJZGxBcnJheSgpOwotaWRsQXJyYXkuYWRkX3VudGVzdGVkX2lkbHMoImludGVy
ZmFjZSBGb29QYXJlbnQge307Iik7Ci1pZGxBcnJheS5hZGRfaWRscygKLSAgICAiW0NvbnN0cnVj
dG9yKCldXG4iICsKLSAgICAiaW50ZXJmYWNlIEZvbyA6IEZvb1BhcmVudCB7fTsiCi0gICk7Ci1p
ZGxBcnJheS5hZGRfb2JqZWN0cyh7Ci0gIEZvbzogWyJuZXcgRm9vKCkiXSwKLSAgRm9vUGFyZW50
OiBbIm5ldyBGb29QYXJlbnQoKSJdCi19KTsKLWlkbEFycmF5LnRlc3QoKTsKLTwvc2NyaXB0Pgot
PHNjcmlwdCB0eXBlPSJ0ZXh0L2pzb24iIGlkPSJleHBlY3RlZCI+Ci17Ci0gICJzdW1tYXJpemVk
X3N0YXR1cyI6IHsKLSAgICAic3RhdHVzX3N0cmluZyI6ICJPSyIsCi0gICAgIm1lc3NhZ2UiOiBu
dWxsLAotICAgICJzdGFjayI6IG51bGwKLSAgfSwKLSAgInN1bW1hcml6ZWRfdGVzdHMiOiBbCi0g
ICAgewotICAgICAgIm5hbWUiOiAiRm9vIGludGVyZmFjZSBvYmplY3QgbGVuZ3RoIiwKLSAgICAg
ICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAg
ICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICJzdGFjayI6IG51bGwKLSAgICB9LAotICAgIHsKLSAg
ICAgICJuYW1lIjogIkZvbyBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUiLAotICAgICAgInN0YXR1c19z
dHJpbmciOiAiUEFTUyIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2Ui
OiBudWxsLAotICAgICAgInN0YWNrIjogbnVsbAotICAgIH0sCi0gICAgewotICAgICAgIm5hbWUi
OiAiRm9vIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBv
YmplY3QiLAotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAicHJvcGVydGll
cyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgInN0YWNrIjogbnVsbAotICAg
IH0sCi0gICAgewotICAgICAgIm5hbWUiOiAiRm9vIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBw
cm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IiwKLSAgICAgICJzdGF0dXNf
c3RyaW5nIjogIlBBU1MiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdl
IjogbnVsbCwKLSAgICAgICJzdGFjayI6IG51bGwKLSAgICB9LAotICAgIHsKLSAgICAgICJuYW1l
IjogIkZvbyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ug
cHJvdG90eXBlIG9iamVjdCdzIFwiY29uc3RydWN0b3JcIiBwcm9wZXJ0eSIsCi0gICAgICAic3Rh
dHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVz
c2FnZSI6IG51bGwsCi0gICAgICAic3RhY2siOiBudWxsCi0gICAgfSwKLSAgICB7Ci0gICAgICAi
bmFtZSI6ICJGb28gbXVzdCBiZSBwcmltYXJ5IGludGVyZmFjZSBvZiBuZXcgRm9vKCkiLAotICAg
ICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAg
ICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgInN0YWNrIjogbnVsbAotICAgIH0sCi0gICAgewot
ICAgICAgIm5hbWUiOiAiU3RyaW5naWZpY2F0aW9uIG9mIG5ldyBGb28oKSIsCi0gICAgICAic3Rh
dHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVz
c2FnZSI6IG51bGwsCi0gICAgICAic3RhY2siOiBudWxsCi0gICAgfQotICBdLAotICAidHlwZSI6
ICJjb21wbGV0ZSIKLX0KLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0
cy9pZGxoYXJuZXNzL0lkbEludGVyZmFjZS90ZXN0X3RvX2pzb25fb3BlcmF0aW9uLmh0bWwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvdGVzdC90ZXN0cy9pZGxoYXJuZXNzL0lkbEludGVyZmFjZS90ZXN0X3RvX2pzb25f
b3BlcmF0aW9uLmh0bWwJKHJldmlzaW9uIDI1Mjg5NikKKysrIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRsaGFybmVzcy9J
ZGxJbnRlcmZhY2UvdGVzdF90b19qc29uX29wZXJhdGlvbi5odG1sCShub25leGlzdGVudCkKQEAg
LTEsMTkwICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLSAgPG1ldGEg
Y2hhcnNldD0idXRmLTgiPgotICA8dGl0bGU+SWRsSW50ZXJmYWNlLnByb3RvdHlwZS50ZXN0X3Rv
X2pzb25fb3BlcmF0aW9uKCk8L3RpdGxlPgotICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci0gIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLSAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvV2ViSURM
UGFyc2VyLmpzIj48L3NjcmlwdD4KLSAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvaWRsaGFybmVz
cy5qcyI+PC9zY3JpcHQ+Ci0gIDxzY3JpcHQgc3JjPSIuLi9oZWxwZXIuanMiPjwvc2NyaXB0Pgot
PC9oZWFkPgotPGJvZHk+Ci08c2NyaXB0PgotICAgICJ1c2Ugc3RyaWN0IjsKLSAgICBmdW5jdGlv
biB3cmFwKG9iaikgewotICAgICAgICBmdW5jdGlvbiBGKG9iaikgewotICAgICAgICAgICAgdGhp
cy5fb2JqID0gb2JqOwotICAgICAgICB9Ci0KLSAgICAgICAgRi5wcm90b3R5cGUudG9KU09OID0g
ZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICByZXR1cm4gdGhpcy5fb2JqOwotICAgICAgICB9Ci0K
LSAgICAgICAgcmV0dXJuIG5ldyBGKG9iaik7Ci0gICAgfQotCi0gICAgdmFyIGksIG9iajsKLSAg
ICBpID0gaW50ZXJmYWNlRnJvbSgiaW50ZXJmYWNlIEEgeyBbRGVmYXVsdF0gb2JqZWN0IHRvSlNP
TigpOyBhdHRyaWJ1dGUgbG9uZyBmb287IH07Iik7Ci0gICAgaS50ZXN0X3RvX2pzb25fb3BlcmF0
aW9uKHdyYXAoeyBmb286IDEyMyB9KSwgaS5tZW1iZXJzWzBdKTsKLQotICAgIC8vIHNob3VsZCBm
YWlsICh3cm9uZyB0eXBlKQotICAgIGkgPSBpbnRlcmZhY2VGcm9tKCJpbnRlcmZhY2UgQiB7IFtE
ZWZhdWx0XSBvYmplY3QgdG9KU09OKCk7IGF0dHJpYnV0ZSBsb25nIGZvbzsgfTsiKTsKLSAgICBp
LnRlc3RfdG9fanNvbl9vcGVyYXRpb24od3JhcCh7IGZvbzogImEgdmFsdWUiIH0pLCBpLm1lbWJl
cnNbMF0pOwotCi0gICAgLy8gc2hvdWxkIGhhbmRsZSBleHRyYW5lb3VzIGF0dHJpYnV0ZXMgKGUu
Zy4gZnJvbSBhbiBleHRlbnNpb24gc3BlY2lmaWNhdGlvbikKLSAgICBpID0gaW50ZXJmYWNlRnJv
bSgiaW50ZXJmYWNlIEMgeyBbRGVmYXVsdF0gb2JqZWN0IHRvSlNPTigpOyBhdHRyaWJ1dGUgbG9u
ZyBmb287IH07Iik7Ci0gICAgaS50ZXN0X3RvX2pzb25fb3BlcmF0aW9uKHdyYXAoeyBmb286IDEy
MywgYmFyOiA0NTYgfSksIGkubWVtYmVyc1swXSk7Ci0KLSAgICAvLyBzaG91bGQgZmFpbCAobWlz
c2luZyBwcm9wZXJ0eSkKLSAgICBpID0gaW50ZXJmYWNlRnJvbSgiaW50ZXJmYWNlIEQgeyBbRGVm
YXVsdF0gb2JqZWN0IHRvSlNPTigpOyBhdHRyaWJ1dGUgbG9uZyBmb287IH07Iik7Ci0gICAgaS50
ZXN0X3RvX2pzb25fb3BlcmF0aW9uKHdyYXAoeyB9KSwgaS5tZW1iZXJzWzBdKTsKLQotICAgIC8v
IHNob3VsZCBmYWlsIChzaG91bGQgYmUgd3JpdGFibGUpCi0gICAgb2JqID0gT2JqZWN0LmRlZmlu
ZVByb3BlcnRpZXMoe30sIHsgZm9vOiB7Ci0gICAgICAgIHdyaXRhYmxlOiBmYWxzZSwKLSAgICAg
ICAgZW51bWVyYWJsZTogdHJ1ZSwKLSAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLAotICAgICAg
ICB2YWx1ZTogMTIzCi0gICAgfX0pOwotICAgIGkgPSBpbnRlcmZhY2VGcm9tKCJpbnRlcmZhY2Ug
RiB7IFtEZWZhdWx0XSBvYmplY3QgdG9KU09OKCk7IGF0dHJpYnV0ZSBsb25nIGZvbzsgfTsiKTsK
LSAgICBpLnRlc3RfdG9fanNvbl9vcGVyYXRpb24od3JhcChvYmopLCBpLm1lbWJlcnNbMF0pOwot
Ci0gICAgLy8gc2hvdWxkIGZhaWwgKHNob3VsZCBiZSBlbnVtZXJhYmxlKQotICAgIG9iaiA9IE9i
amVjdC5kZWZpbmVQcm9wZXJ0aWVzKHt9LCB7IGZvbzogewotICAgICAgICB3cml0YWJsZTogdHJ1
ZSwKLSAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsCi0gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1
ZSwKLSAgICAgICAgdmFsdWU6IDEyMwotICAgIH19KTsKLSAgICBpID0gaW50ZXJmYWNlRnJvbSgi
aW50ZXJmYWNlIEcgeyBbRGVmYXVsdF0gb2JqZWN0IHRvSlNPTigpOyBhdHRyaWJ1dGUgbG9uZyBm
b287IH07Iik7Ci0gICAgaS50ZXN0X3RvX2pzb25fb3BlcmF0aW9uKHdyYXAob2JqKSwgaS5tZW1i
ZXJzWzBdKTsKLQotICAgIC8vIHNob3VsZCBmYWlsIChzaG91bGQgYmUgY29uZmlndXJhYmxlKQot
ICAgIG9iaiA9IE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKHt9LCB7IGZvbzogewotICAgICAgICB3
cml0YWJsZTogdHJ1ZSwKLSAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwKLSAgICAgICAgY29uZmln
dXJhYmxlOiBmYWxzZSwKLSAgICAgICAgdmFsdWU6IDEyMwotICAgIH19KTsKLSAgICBpID0gaW50
ZXJmYWNlRnJvbSgiaW50ZXJmYWNlIEggeyBbRGVmYXVsdF0gb2JqZWN0IHRvSlNPTigpOyBhdHRy
aWJ1dGUgbG9uZyBmb287IH07Iik7Ci0gICAgaS50ZXN0X3RvX2pzb25fb3BlcmF0aW9uKHdyYXAo
b2JqKSwgaS5tZW1iZXJzWzBdKTsKLQotICAgIHZhciBpZGwgPSBuZXcgSWRsQXJyYXkoKTsKLSAg
ICBpZGwuYWRkX2lkbHMoImludGVyZmFjZSBJIDogSiB7IFtEZWZhdWx0XSBvYmplY3QgdG9KU09O
KCk7IGF0dHJpYnV0ZSBsb25nIGZvbzsgfTsiKTsKLSAgICBpZGwuYWRkX2lkbHMoImludGVyZmFj
ZSBKIHsgW0RlZmF1bHRdIG9iamVjdCB0b0pTT04oKTsgYXR0cmlidXRlIERPTVN0cmluZyBmb287
fTsiKTsKLSAgICB2YXIgaSA9IGlkbC5tZW1iZXJzLkk7Ci0gICAgaS50ZXN0X3RvX2pzb25fb3Bl
cmF0aW9uKHdyYXAoeyBmb286IDEyMyB9KSwgaS5tZW1iZXJzWzBdKTsKLQotICAgIGkgPSBpbnRl
cmZhY2VGcm9tKCJpbnRlcmZhY2UgSyB7IFtEZWZhdWx0XSBvYmplY3QgdG9KU09OKCk7IH07Iik7
Ci0gICAgaS50ZXN0X3RvX2pzb25fb3BlcmF0aW9uKHdyYXAoe30pLCBpLm1lbWJlcnNbMF0pOwot
Ci0gICAgaSA9IGludGVyZmFjZUZyb20oImludGVyZmFjZSBMIHsgRE9NU3RyaW5nIHRvSlNPTigp
OyB9OyIpOwotICAgIGkudGVzdF90b19qc29uX29wZXJhdGlvbih3cmFwKCJhIHN0cmluZyIpLCBp
Lm1lbWJlcnNbMF0pOwotCi0gICAgLy8gc2hvdWxkIGZhaWwgKHdyb25nIG91dHB1dCB0eXBlKQot
ICAgIGkgPSBpbnRlcmZhY2VGcm9tKCJpbnRlcmZhY2UgTSB7IERPTVN0cmluZyB0b0pTT04oKTsg
fTsiKTsKLSAgICBpLnRlc3RfdG9fanNvbl9vcGVyYXRpb24od3JhcCh7fSksIGkubWVtYmVyc1sw
XSk7Ci0KLSAgICAvLyBzaG91bGQgZmFpbCAobm90IGFuIElETCB0eXBlKQotICAgIGkgPSBpbnRl
cmZhY2VGcm9tKCJpbnRlcmZhY2UgTiB7IERPTUV4Y2VwdGlvbiB0b0pTT04oKTsgfTsiKTsKLSAg
ICBpLnRlc3RfdG9fanNvbl9vcGVyYXRpb24od3JhcCh7fSksIGkubWVtYmVyc1swXSk7Ci08L3Nj
cmlwdD4KLTxzY3JpcHQgdHlwZT0idGV4dC9qc29uIiBpZD0iZXhwZWN0ZWQiPgotICAgIHsKLSAg
ICAgICAgInN1bW1hcml6ZWRfc3RhdHVzIjogewotICAgICAgICAgICAgIm1lc3NhZ2UiOiBudWxs
LAotICAgICAgICAgICAgInN0YWNrIjogbnVsbCwKLSAgICAgICAgICAgICJzdGF0dXNfc3RyaW5n
IjogIk9LIgotICAgICAgICB9LAotICAgICAgICAic3VtbWFyaXplZF90ZXN0cyI6IFsKLSAgICAg
ICAgICAgIHsKLSAgICAgICAgICAgICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAgICAgICAg
ICAgIm5hbWUiOiAiVGVzdCBkZWZhdWx0IHRvSlNPTiBvcGVyYXRpb24gb2YgQSIsCi0gICAgICAg
ICAgICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICAgICAgICAgICAic3RhY2siOiBudWxs
LAotICAgICAgICAgICAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiCi0gICAgICAgICAgICB9
LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJtZXNzYWdlIjogImFzc2VydF9lcXVh
bHM6IGV4cGVjdGVkIFwibnVtYmVyXCIgYnV0IGdvdCBcInN0cmluZ1wiIiwKLSAgICAgICAgICAg
ICAgICAibmFtZSI6ICJUZXN0IGRlZmF1bHQgdG9KU09OIG9wZXJhdGlvbiBvZiBCIiwKLSAgICAg
ICAgICAgICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgICAgICAgICAgICJzdGFjayI6ICIo
aW1wbGVtZW50YXRpb24tZGVmaW5lZCkiLAotICAgICAgICAgICAgICAgICJzdGF0dXNfc3RyaW5n
IjogIkZBSUwiCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAg
ICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJUZXN0IGRlZmF1bHQg
dG9KU09OIG9wZXJhdGlvbiBvZiBDIiwKLSAgICAgICAgICAgICAgICAicHJvcGVydGllcyI6IHt9
LAotICAgICAgICAgICAgICAgICJzdGFjayI6IG51bGwsCi0gICAgICAgICAgICAgICAgInN0YXR1
c19zdHJpbmciOiAiUEFTUyIKLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAg
ICAgICAgICAgIm1lc3NhZ2UiOiAiYXNzZXJ0X3RydWU6IHByb3BlcnR5IFwiZm9vXCIgc2hvdWxk
IGJlIHByZXNlbnQgaW4gdGhlIG91dHB1dCBvZiBELnByb3RvdHlwZS50b0pTT04oKSBleHBlY3Rl
ZCB0cnVlIGdvdCBmYWxzZSIsCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiVGVzdCBkZWZhdWx0
IHRvSlNPTiBvcGVyYXRpb24gb2YgRCIsCi0gICAgICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7
fSwKLSAgICAgICAgICAgICAgICAic3RhY2siOiAiKGltcGxlbWVudGF0aW9uLWRlZmluZWQpIiwK
LSAgICAgICAgICAgICAgICAic3RhdHVzX3N0cmluZyI6ICJGQUlMIgotICAgICAgICAgICAgfSwK
LSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAibWVzc2FnZSI6ICJhc3NlcnRfdHJ1ZTog
cHJvcGVydHkgZm9vIHNob3VsZCBiZSB3cml0YWJsZSBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZSIs
Ci0gICAgICAgICAgICAgICAgIm5hbWUiOiAiVGVzdCBkZWZhdWx0IHRvSlNPTiBvcGVyYXRpb24g
b2YgRiIsCi0gICAgICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICAgICAgICAg
ICAic3RhY2siOiAiKGltcGxlbWVudGF0aW9uLWRlZmluZWQpIiwKLSAgICAgICAgICAgICAgICAi
c3RhdHVzX3N0cmluZyI6ICJGQUlMIgotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAg
ICAgICAgICAgICAgICAibWVzc2FnZSI6ICJhc3NlcnRfdHJ1ZTogcHJvcGVydHkgZm9vIHNob3Vs
ZCBiZSBlbnVtZXJhYmxlIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlIiwKLSAgICAgICAgICAgICAg
ICAibmFtZSI6ICJUZXN0IGRlZmF1bHQgdG9KU09OIG9wZXJhdGlvbiBvZiBHIiwKLSAgICAgICAg
ICAgICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgICAgICAgICAgICJzdGFjayI6ICIoaW1w
bGVtZW50YXRpb24tZGVmaW5lZCkiLAotICAgICAgICAgICAgICAgICJzdGF0dXNfc3RyaW5nIjog
IkZBSUwiCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJt
ZXNzYWdlIjogImFzc2VydF90cnVlOiBwcm9wZXJ0eSBmb28gc2hvdWxkIGJlIGNvbmZpZ3VyYWJs
ZSBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZSIsCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiVGVz
dCBkZWZhdWx0IHRvSlNPTiBvcGVyYXRpb24gb2YgSCIsCi0gICAgICAgICAgICAgICAgInByb3Bl
cnRpZXMiOiB7fSwKLSAgICAgICAgICAgICAgICAic3RhY2siOiAiKGltcGxlbWVudGF0aW9uLWRl
ZmluZWQpIiwKLSAgICAgICAgICAgICAgICAic3RhdHVzX3N0cmluZyI6ICJGQUlMIgotICAgICAg
ICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAibWVzc2FnZSI6IG51bGws
Ci0gICAgICAgICAgICAgICAgIm5hbWUiOiAiVGVzdCBkZWZhdWx0IHRvSlNPTiBvcGVyYXRpb24g
b2YgSSIsCi0gICAgICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICAgICAgICAg
ICAic3RhY2siOiBudWxsLAotICAgICAgICAgICAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1Mi
Ci0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJtZXNzYWdl
IjogbnVsbCwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJUZXN0IGRlZmF1bHQgdG9KU09OIG9w
ZXJhdGlvbiBvZiBLIiwKLSAgICAgICAgICAgICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAg
ICAgICAgICAgICJzdGFjayI6IG51bGwsCi0gICAgICAgICAgICAgICAgInN0YXR1c19zdHJpbmci
OiAiUEFTUyIKLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAg
Im1lc3NhZ2UiOiBudWxsLAotICAgICAgICAgICAgICAgICJuYW1lIjogIlRlc3QgdG9KU09OIG9w
ZXJhdGlvbiBvZiBMIiwKLSAgICAgICAgICAgICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAg
ICAgICAgICAgICJzdGFjayI6IG51bGwsCi0gICAgICAgICAgICAgICAgInN0YXR1c19zdHJpbmci
OiAiUEFTUyIKLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAg
Im1lc3NhZ2UiOiAiYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgXCJzdHJpbmdcIiBidXQgZ290IFwi
b2JqZWN0XCIiLAotICAgICAgICAgICAgICAgICJuYW1lIjogIlRlc3QgdG9KU09OIG9wZXJhdGlv
biBvZiBNIiwKLSAgICAgICAgICAgICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgICAgICAg
ICAgICJzdGFjayI6ICIoaW1wbGVtZW50YXRpb24tZGVmaW5lZCkiLAotICAgICAgICAgICAgICAg
ICJzdGF0dXNfc3RyaW5nIjogIkZBSUwiCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewot
ICAgICAgICAgICAgICAgICJtZXNzYWdlIjogImFzc2VydF90cnVlOiB7XCJzZXF1ZW5jZVwiOmZh
bHNlLFwiZ2VuZXJpY1wiOm51bGwsXCJudWxsYWJsZVwiOmZhbHNlLFwiYXJyYXlcIjpmYWxzZSxc
InVuaW9uXCI6ZmFsc2UsXCJpZGxUeXBlXCI6XCJET01FeGNlcHRpb25cIn0gaXMgbm90IGFuIGFw
cHJvcHJpYXRlIHJldHVybiB2YWx1ZSBmb3IgdGhlIHRvSlNPTiBvcGVyYXRpb24gb2YgTiBleHBl
Y3RlZCB0cnVlIGdvdCBmYWxzZSIsCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiVGVzdCB0b0pT
T04gb3BlcmF0aW9uIG9mIE4iLAotICAgICAgICAgICAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0g
ICAgICAgICAgICAgICAgInN0YWNrIjogIihpbXBsZW1lbnRhdGlvbi1kZWZpbmVkKSIsCi0gICAg
ICAgICAgICAgICAgInN0YXR1c19zdHJpbmciOiAiRkFJTCIKLSAgICAgICAgICAgIH0KLSAgICAg
ICAgXSwKLSAgICAgICAgInR5cGUiOiAiY29tcGxldGUiCi0gICAgfQotPC9zY3JpcHQ+Ci08L2Jv
ZHk+Ci08L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9p
ZGxoYXJuZXNzL0lkbEludGVyZmFjZS90cmF2ZXJzZV9pbmhlcml0ZWRfYW5kX2NvbnNlcXVlbnRp
YWxfaW50ZXJmYWNlcy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRsaGFybmVzcy9JZGxJ
bnRlcmZhY2UvdHJhdmVyc2VfaW5oZXJpdGVkX2FuZF9jb25zZXF1ZW50aWFsX2ludGVyZmFjZXMu
aHRtbAkocmV2aXNpb24gMjUyODk2KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9pZGxoYXJuZXNzL0lkbEludGVyZmFj
ZS90cmF2ZXJzZV9pbmhlcml0ZWRfYW5kX2NvbnNlcXVlbnRpYWxfaW50ZXJmYWNlcy5odG1sCShu
b25leGlzdGVudCkKQEAgLTEsNjUgKzAsMCBAQAotPCFET0NUWVBFIEhUTUw+Ci08aHRtbD4KLTxo
ZWFkPgotPHRpdGxlPklkbERpY3Rpb25hcnkucHJvdG90eXBlLnRyYXZlcnNlX2luaGVyaXRlZF9h
bmRfY29uc2VxdWVudGlhbF9pbnRlcmZhY2VzKCk8L3RpdGxlPgotPC9oZWFkPgotPGJvZHk+Ci08
ZGl2IGlkPSJsb2ciPjwvZGl2PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvV2ViSURMUGFyc2VyLmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL2lkbGhhcm5lc3MuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii4uL2hlbHBlci5qcyI+PC9zY3JpcHQ+Ci08cHJlIGlkPWZyYWdtZW50
cz4KLSAgICBpbnRlcmZhY2UgQSA6IEIgeyB9OwotICAgIGludGVyZmFjZSBCIDogQyB7IH07Ci0g
ICAgaW50ZXJmYWNlIEMgeyB9OwotICAgIGludGVyZmFjZSBEIDogRSB7IH07Ci0gICAgaW50ZXJm
YWNlIEUgOiBGIHsgfTsKLSAgICBpbnRlcmZhY2UgRiB7IH07Ci0gICAgaW50ZXJmYWNlIEcgeyB9
OwotICAgIGludGVyZmFjZSBIIHsgfTsKLSAgICBpbnRlcmZhY2UgSSB7IH07Ci0gICAgaW50ZXJm
YWNlIEogeyB9OwotCi0gICAgQSBpbXBsZW1lbnRzIEc7Ci0gICAgQSBpbXBsZW1lbnRzIEg7Ci0g
ICAgQiBpbXBsZW1lbnRzIEQ7Ci0gICAgRSBpbXBsZW1lbnRzIEk7Ci0gICAgSCBpbXBsZW1lbnRz
IEo7Ci08L3ByZT4KLTxzY3JpcHQ+Ci0gICAgInVzZSBzdHJpY3QiOwotICAgIHRlc3QoZnVuY3Rp
b24oKSB7Ci0gICAgICAgIHZhciBpbnRlcmZhY2VzID0gW107Ci0gICAgICAgIGludGVyZmFjZUZy
b20oJ2ludGVyZmFjZSBBIHsgfTsnKS50cmF2ZXJzZV9pbmhlcml0ZWRfYW5kX2NvbnNlcXVlbnRp
YWxfaW50ZXJmYWNlcyhmdW5jdGlvbihpKSB7Ci0gICAgICAgICAgICBpbnRlcmZhY2VzLnB1c2go
aS5uYW1lKTsKLSAgICAgICAgfSk7Ci0gICAgICAgIGFzc2VydF9hcnJheV9lcXVhbHMoaW50ZXJm
YWNlcywgWyJBIl0pOwotICAgIH0sICdzaG91bGQgcmV0dXJuIGFuIGFycmF5IHRoYXQgaW5jbHVk
ZXMgaXRzZWxmLicpOwotICAgIAotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBj
b250ZXh0ID0gbmV3IElkbEFycmF5KCk7Ci0gICAgICAgIGNvbnRleHQuYWRkX2lkbHMoImludGVy
ZmFjZSBBIHsgfTsgQSBpbXBsZW1lbnRzIEI7Iik7Ci0gICAgICAgIGFzc2VydF90aHJvd3MobmV3
IEVycm9yKCksIF8gPT4gY29udGV4dC5tZW1iZXJzWyJBIl0udHJhdmVyc2VfaW5oZXJpdGVkX2Fu
ZF9jb25zZXF1ZW50aWFsX2ludGVyZmFjZXMoZnVuY3Rpb24oKSB7fSkpOwotICAgIH0sICJzaG91
bGQgdGhyb3cgZm9yIGludGVyZmFjZXMgd2hpY2ggYXJlIGV4dGVuZGVkIGJ5IGFub3RoZXIgaW50
ZXJmYWNlIHdoaWNoIHdhc24ndCBhZGRlZCB0byB0aGUgSWRsQXJyYXkuIik7Ci0KLSAgICB0ZXN0
KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgY29udGV4dCA9IG5ldyBJZGxBcnJheSgpOwotICAg
ICAgICBjb250ZXh0LmFkZF9pZGxzKCJpbnRlcmZhY2UgQSB7IH07Iik7Ci0gICAgICAgIGFzc2Vy
dF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCBfID0+IGNvbnRleHQubWVtYmVyc1siQSJdLnRyYXZl
cnNlX2luaGVyaXRlZF9hbmRfY29uc2VxdWVudGlhbF9pbnRlcmZhY2VzKCkpOwotICAgIH0sICJz
aG91bGQgdGhyb3cgaWYgbm90IHBhc3NlZCBhIGNhbGxiYWNrIik7Ci0gICAgCi0gICAgdGVzdChm
dW5jdGlvbigpIHsKLSAgICAgICAgdmFyIGNvbnRleHQgPSBuZXcgSWRsQXJyYXkoKTsKLSAgICAg
ICAgY29udGV4dC5hZGRfaWRscyhkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZnJhZ21lbnRzJyku
dGV4dENvbnRlbnQpOwotICAgICAgICB2YXIgaW50ZXJmYWNlcyA9IFtdOwotICAgICAgICBjb250
ZXh0Lm1lbWJlcnNbIkEiXS50cmF2ZXJzZV9pbmhlcml0ZWRfYW5kX2NvbnNlcXVlbnRpYWxfaW50
ZXJmYWNlcyhmdW5jdGlvbihpKSB7Ci0gICAgICAgICAgICBpbnRlcmZhY2VzLnB1c2goaS5uYW1l
KTsKLSAgICAgICAgfSk7Ci0gICAgICAgIGFzc2VydF9hcnJheV9lcXVhbHMoaW50ZXJmYWNlcywg
WyJDIiwgIkIiLCAiRiIsICJFIiwgIkkiLCAiRCIsICJBIiwgIkciLCAiSCIsICJKIl0pOwotICAg
IH0sICdzaG91bGQgcmV0dXJuIGFuIGFycmF5IHRoYXQgaW5jbHVkZXMgdGhlIGlkZW50aWZpZXIg
b2YgdGhlIGludGVyZmFjZXMgaW4gdGhlIGNvcnJlY3Qgb3JkZXIuJyk7Ci08L3NjcmlwdD4KLTwv
Ym9keT4KLTwvaHRtbD4KLQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9pZGxoYXJuZXNzL0lkbEludGVyZmFjZS93
M2MtaW1wb3J0LmxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2lkbGhhcm5lc3MvSWRsSW50ZXJm
YWNlL3czYy1pbXBvcnQubG9nCShyZXZpc2lvbiAyNTI4OTYpCisrKyBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2lkbGhhcm5l
c3MvSWRsSW50ZXJmYWNlL3czYy1pbXBvcnQubG9nCShub25leGlzdGVudCkKQEAgLTEsMjQgKzAs
MCBAQAotVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUg
VzNDIHJlcG9zaXRvcnkuCi1EbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdl
YktpdC4KLUluc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoK
LQlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cwotCi1UaGVuIHJ1biB0
aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydAot
Ci1EbyBOT1QgbW9kaWZ5IG9yIHJlbW92ZSB0aGlzIGZpbGUuCi0KLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQot
UHJvcGVydGllcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgotTm9uZQotUHJvcGVydHkgdmFs
dWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6Ci1Ob25lCi0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLUxp
c3Qgb2YgZmlsZXM6Ci0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9pZGxoYXJuZXNzL0lkbEludGVyZmFjZS9kZWZhdWx0X3Rv
X2pzb25fb3BlcmF0aW9uLmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2lkbGhhcm5lc3MvSWRsSW50ZXJmYWNlL2dl
dF9pbmhlcml0YW5jZV9zdGFjay5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9pZGxoYXJuZXNzL0lkbEludGVyZmFj
ZS9oYXNfZGVmYXVsdF90b19qc29uX3JlZ3VsYXJfb3BlcmF0aW9uLmh0bWwKLS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2lk
bGhhcm5lc3MvSWRsSW50ZXJmYWNlL2hhc190b19qc29uX3JlZ3VsYXJfb3BlcmF0aW9uLmh0bWwK
LS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90
ZXN0L3Rlc3RzL2lkbGhhcm5lc3MvSWRsSW50ZXJmYWNlL3Rlc3RfaW1tdXRhYmxlX3Byb3RvdHlw
ZS5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvdGVzdC90ZXN0cy9pZGxoYXJuZXNzL0lkbEludGVyZmFjZS90ZXN0X3ByaW1hcnlfaW50
ZXJmYWNlX29mLmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2lkbGhhcm5lc3MvSWRsSW50ZXJmYWNlL3Rlc3RfdG9f
anNvbl9vcGVyYXRpb24uaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRsaGFybmVzcy9JZGxJbnRlcmZhY2UvdHJh
dmVyc2VfaW5oZXJpdGVkX2FuZF9jb25zZXF1ZW50aWFsX2ludGVyZmFjZXMuaHRtbApJbmRleDog
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVz
dC90ZXN0cy9pZGxoYXJuZXNzL0lkbEludGVyZmFjZU1lbWJlci9pc190b19qc29uX3JlZ3VsYXJf
b3BlcmF0aW9uLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9pZGxoYXJuZXNzL0lkbEludGVy
ZmFjZU1lbWJlci9pc190b19qc29uX3JlZ3VsYXJfb3BlcmF0aW9uLmh0bWwJKHJldmlzaW9uIDI1
Mjg5NikKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3Rlc3QvdGVzdHMvaWRsaGFybmVzcy9JZGxJbnRlcmZhY2VNZW1iZXIvaXNfdG9fanNv
bl9yZWd1bGFyX29wZXJhdGlvbi5odG1sCShub25leGlzdGVudCkKQEAgLTEsNDIgKzAsMCBAQAot
PCFET0NUWVBFIEhUTUw+Ci08aHRtbD4KLTxoZWFkPgotPHRpdGxlPklkbEludGVyZmFjZU1lbWJl
ci5wcm90b3R5cGUuaXNfdG9fanNvbl9yZWd1bGFyX29wZXJhdGlvbigpPC90aXRsZT4KLTwvaGVh
ZD4KLTxib2R5PgotPGRpdiBpZD0ibG9nIj48L2Rpdj4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL1dlYklE
TFBhcnNlci5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9pZGxoYXJuZXNz
LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi9oZWxwZXIuanMiPjwvc2NyaXB0PgotPHNj
cmlwdD4KLSAgICAidXNlIHN0cmljdCI7Ci0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAg
dmFyIG0gPSBtZW1iZXJGcm9tKCJyZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGZvbyIpOwot
ICAgICAgICBhc3NlcnRfZmFsc2UobS5pc190b19qc29uX3JlZ3VsYXJfb3BlcmF0aW9uKCkpOwot
ICAgIH0sICdzaG91bGQgcmV0dXJuIGZhbHNlIHdoZW4gbWVtYmVyIGlzIGFuIGF0dHJpYnV0ZS4n
KTsKLQotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBtID0gbWVtYmVyRnJvbSgi
c3RhdGljIHZvaWQgZm9vKCkiKTsKLSAgICAgICAgYXNzZXJ0X2ZhbHNlKG0uaXNfdG9fanNvbl9y
ZWd1bGFyX29wZXJhdGlvbigpKTsKLSAgICB9LCAnc2hvdWxkIHJldHVybiBmYWxzZSB3aGVuIG1l
bWJlciBpcyBhIHN0YXRpYyBvcGVyYXRpb24uJyk7Ci0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewot
ICAgICAgICB2YXIgbSA9IG1lbWJlckZyb20oInN0YXRpYyBvYmplY3QgdG9KU09OKCkiKTsKLSAg
ICAgICAgYXNzZXJ0X2ZhbHNlKG0uaXNfdG9fanNvbl9yZWd1bGFyX29wZXJhdGlvbigpKTsKLSAg
ICB9LCAnc2hvdWxkIHJldHVybiBmYWxzZSB3aGVuIG1lbWJlciBpcyBhIHN0YXRpYyB0b0pTT04g
b3BlcmF0aW9uLicpOwotCi0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIG0gPSBt
ZW1iZXJGcm9tKCJvYmplY3QgdG9KU09OKCkiKTsKLSAgICAgICAgYXNzZXJ0X3RydWUobS5pc190
b19qc29uX3JlZ3VsYXJfb3BlcmF0aW9uKCkpOwotICAgIH0sICdzaG91bGQgcmV0dXJuIHRydWUg
d2hlbiBtZW1iZXIgaXMgYSByZWd1bGFyIHRvSlNPTiBvcGVyYXRpb24uJyk7Ci0KLSAgICB0ZXN0
KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgbSA9IG1lbWJlckZyb20oIltGb29dIG9iamVjdCB0
b0pTT04oKSIpOwotICAgICAgICBhc3NlcnRfdHJ1ZShtLmlzX3RvX2pzb25fcmVndWxhcl9vcGVy
YXRpb24oKSk7Ci0gICAgfSwgJ3Nob3VsZCByZXR1cm4gdHJ1ZSB3aGVuIG1lbWJlciBpcyBhIHJl
Z3VsYXIgdG9KU09OIG9wZXJhdGlvbiB3aXRoIGV4dGVuc2libGUgYXR0cmlidXRlcy4nKTsKLTwv
c2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgotCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2lkbGhhcm5lc3MvSWRs
SW50ZXJmYWNlTWVtYmVyL3czYy1pbXBvcnQubG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRs
aGFybmVzcy9JZGxJbnRlcmZhY2VNZW1iZXIvdzNjLWltcG9ydC5sb2cJKHJldmlzaW9uIDI1Mjg5
NikKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3Rlc3QvdGVzdHMvaWRsaGFybmVzcy9JZGxJbnRlcmZhY2VNZW1iZXIvdzNjLWltcG9ydC5s
b2cJKG5vbmV4aXN0ZW50KQpAQCAtMSwxNyArMCwwIEBACi1UaGUgdGVzdHMgaW4gdGhpcyBkaXJl
Y3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KLURvIE5PVCBtb2Rp
ZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVhZCwgY3JlYXRlIGEgcHVs
bCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzCi0KLVRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2Mt
dGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0Ci0KLURvIE5PVCBtb2RpZnkgb3IgcmVtb3ZlIHRo
aXMgZmlsZS4KLQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1Qcm9wZXJ0aWVzIHJlcXVpcmluZyB2ZW5kb3Ig
cHJlZml4ZXM6Ci1Ob25lCi1Qcm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhl
czoKLU5vbmUKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotTGlzdCBvZiBmaWxlczoKLS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2lkbGhh
cm5lc3MvSWRsSW50ZXJmYWNlTWVtYmVyL2lzX3RvX2pzb25fcmVndWxhcl9vcGVyYXRpb24uaHRt
bApJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvdGVzdC90ZXN0cy9pZGxoYXJuZXNzL09XTkVSUwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3Rz
L2lkbGhhcm5lc3MvT1dORVJTCShyZXZpc2lvbiAyNTI4OTYpCisrKyBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2lkbGhhcm5l
c3MvT1dORVJTCShub25leGlzdGVudCkKQEAgLTEgKzAsMCBAQAotQHRvYmllCkluZGV4OiBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rl
c3RzL2lkbGhhcm5lc3MvYmFzaWMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2lkbGhhcm5l
c3MvYmFzaWMuaHRtbAkocmV2aXNpb24gMjUyODk2KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9pZGxoYXJuZXNzL2Jh
c2ljLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwzNSArMCwwIEBACi08IURPQ1RZUEUgSFRNTD4K
LTxodG1sPgotPGhlYWQ+Ci08dGl0bGU+aWRsaGFybmVzcyBiYXNpYzwvdGl0bGU+Ci08L2hlYWQ+
Ci08Ym9keT4KLTxkaXYgaWQ9ImxvZyI+PC9kaXY+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9XZWJJRExQ
YXJzZXIuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvaWRsaGFybmVzcy5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotICAgICJ1c2Ugc3RyaWN0IjsKLSAgICB0ZXN0KGZ1bmN0
aW9uKCkgewotICAgICAgICBhc3NlcnRfdHJ1ZSgiSWRsQXJyYXkiIGluIHdpbmRvdyk7Ci0gICAg
fSwgJ0lkbEFycmF5IGNvbnN0cnVjdG9yIHNob3VsZCBiZSBhIGdsb2JhbCBvYmplY3QnKTsKLSAg
ICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICBhc3NlcnRfdHJ1ZShuZXcgSWRsQXJyYXkoKSBp
bnN0YW5jZW9mIElkbEFycmF5KTsKLSAgICB9LCAnSWRsQXJyYXkgY29uc3RydWN0b3Igc2hvdWxk
IGJlIGNvbnN0cnVjdGlibGUnKTsKLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICBhc3Nl
cnRfdHJ1ZSgiV2ViSURMMiIgaW4gd2luZG93KTsKLSAgICB9LCAnV2ViSURMMiBuYW1lc3BhY2Ug
c2hvdWxkIGJlIGEgZ2xvYmFsIG9iamVjdCcpOwotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAg
ICAgIGFzc2VydF9lcXVhbHModHlwZW9mIFdlYklETDIucGFyc2UsICJmdW5jdGlvbiIpOwotICAg
IH0sICdXZWJJREwyIG5hbWVzcGFjZSBzaG91bGQgaGF2ZSBhIHBhcnNlIG1ldGhvZCcpOwotICAg
IHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigp
LCBmdW5jdGlvbigpIHsgIFdlYklETDIucGFyc2UoIkknbSBhIHN5bnRheCBlcnJvciIpOyB9KTsK
LSAgICB9LCAnV2ViSURMMiBwYXJzZSBtZXRob2Qgc2hvdWxkIGJhaWwgb24gaW5jb3JyZWN0IFdl
YklETCcpOwotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIGFzc2VydF9lcXVhbHModHlw
ZW9mIFdlYklETDIucGFyc2UoImludGVyZmFjZSBGb28ge307IiksICJvYmplY3QiKTsKLSAgICB9
LCAnV2ViSURMMiBwYXJzZSBtZXRob2Qgc2hvdWxkIHByb2R1Y2UgYW4gQVNUIGZvciBjb3JyZWN0
IFdlYklETCcpOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+Ci0KSW5kZXg6IExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMv
aWRsaGFybmVzcy9oZWxwZXIuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9pZGxoYXJuZXNzL2hl
bHBlci5qcwkocmV2aXNpb24gMjUyODk2KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9pZGxoYXJuZXNzL2hlbHBlci5q
cwkobm9uZXhpc3RlbnQpCkBAIC0xLDI0ICswLDAgQEAKLSJ1c2Ugc3RyaWN0IjsKLQotdmFyIHR5
cGVkZWZGcm9tID0gaW50ZXJmYWNlRnJvbTsKLXZhciBkaWN0aW9uYXJ5RnJvbSA9IGludGVyZmFj
ZUZyb207Ci1mdW5jdGlvbiBpbnRlcmZhY2VGcm9tKGkpIHsKLSAgICB2YXIgaWRsID0gbmV3IElk
bEFycmF5KCk7Ci0gICAgaWRsLmFkZF9pZGxzKGkpOwotICAgIGZvciAodmFyIHByb3AgaW4gaWRs
Lm1lbWJlcnMpIHsKLSAgICAgICAgcmV0dXJuIGlkbC5tZW1iZXJzW3Byb3BdOwotICAgIH0KLX0K
LQotZnVuY3Rpb24gbWVtYmVyRnJvbShtKSB7Ci0gICAgdmFyIGlkbCA9IG5ldyBJZGxBcnJheSgp
OwotICAgIGlkbC5hZGRfaWRscygnaW50ZXJmYWNlIEEgeyAnICsgbSArICc7IH07Jyk7Ci0gICAg
cmV0dXJuIGlkbC5tZW1iZXJzWyJBIl0ubWVtYmVyc1swXTsKLX0KLQotZnVuY3Rpb24gdHlwZUZy
b20odHlwZSkgewotICAgIHZhciBhc3QgPSBXZWJJREwyLnBhcnNlKCdpbnRlcmZhY2UgRm9vIHsg
JyArIHR5cGUgKyAnIGEoKTsgfTsnKTsKLSAgICBhc3QgPSBhc3RbMF07IC8vIGdldCB0aGUgZmly
c3QgZnJhZ21lbnQKLSAgICBhc3QgPSBhc3QubWVtYmVyc1swXTsgLy8gZ2V0IHRoZSBmaXJzdCBt
ZW1iZXIKLSAgICByZXR1cm4gYXN0LmlkbFR5cGU7IC8vIGdldCB0aGUgdHlwZSBvZiB0aGUgZmly
c3QgZmllbGQKLX0KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRsaGFybmVzcy93M2MtaW1wb3J0LmxvZwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy90ZXN0L3Rlc3RzL2lkbGhhcm5lc3MvdzNjLWltcG9ydC5sb2cJKHJldmlzaW9uIDI1
Mjg5NikKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3Rlc3QvdGVzdHMvaWRsaGFybmVzcy93M2MtaW1wb3J0LmxvZwkobm9uZXhpc3RlbnQp
CkBAIC0xLDE5ICswLDAgQEAKLVRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9y
dGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgotRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBk
aXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhl
IFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMK
LQotVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQg
dG8gcmVpbXBvcnQKLQotRG8gTk9UIG1vZGlmeSBvciByZW1vdmUgdGhpcyBmaWxlLgotCi0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0KLVByb3BlcnRpZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKLU5vbmUK
LVByb3BlcnR5IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgotTm9uZQotLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tCi1MaXN0IG9mIGZpbGVzOgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRsaGFybmVzcy9PV05FUlMKLS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0
L3Rlc3RzL2lkbGhhcm5lc3MvYmFzaWMuaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRsaGFybmVzcy9oZWxwZXIu
anMKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3Rlc3QvdGVzdHMvaWZyYW1lLWNhbGxiYWNrLmh0bWwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90
ZXN0cy9pZnJhbWUtY2FsbGJhY2suaHRtbAkocmV2aXNpb24gMjUyODk2KQorKysgTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9p
ZnJhbWUtY2FsbGJhY2suaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDExOCArMCwwIEBACi08IURP
Q1RZUEUgSFRNTD4KLTxodG1sPgotPGhlYWQ+Ci08dGl0bGU+RXhhbXBsZSB3aXRoIGlmcmFtZSB0
aGF0IG5vdGlmaWVzIGNvbnRhaW5pbmcgZG9jdW1lbnQgdmlhIGNhbGxiYWNrczwvdGl0bGU+Ci08
c2NyaXB0IHNyYz0iLi4vLi4vdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
Ii4uLy4uL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IG9u
bG9hZD0ic3RhcnRfdGVzdF9pbl9pZnJhbWUoKSI+Ci08aDE+Q2FsbGJhY2tzIEZyb20gVGVzdHMg
UnVubmluZyBJbiBBbiBJRlJBTUU8L2gxPgotPHA+QSB0ZXN0IGlzIHJ1biBpbnNpZGUgYW4gPHR0
PmlmcmFtZTwvdHQ+IHdpdGggYSBzYW1lIG9yaWdpbiBkb2N1bWVudC4gVGhlCi1jb250YWluaW5n
IGRvY3VtZW50IHNob3VsZCByZWNlaXZlIGNhbGxiYWNrcyBhcyB0aGUgdGVzdHMgcHJvZ3Jlc3Mg
aW5zaWRlIHRoZQotPHR0PmlmcmFtZTwvdHQ+LiBBIHNpbmdsZSBwYXNzaW5nIHRlc3QgaXMgZXhw
ZWN0ZWQgaW4gdGhlIHN1bW1hcnkgYmVsb3cuCi08ZGl2IGlkPSJsb2ciPjwvZGl2PgotCi08c2Ny
aXB0PgotdmFyIGNhbGxiYWNrcyA9IFtdOwotdmFyIFNUQVJUID0gMQotdmFyIFRFU1RfU1RBVEUg
PSAyCi12YXIgUkVTVUxUID0gMwotdmFyIENPTVBMRVRJT04gPSA0Ci12YXIgdGVzdF9jb21wbGV0
ZSA9IGZhbHNlOwotCi1zZXR1cCh7ZXhwbGljaXRfZG9uZTogdHJ1ZX0pOwotCi0vLyBUaGUgZm9s
bG93aW5nIGNhbGxiYWNrcyBhcmUgY2FsbGVkIGZvciB0ZXN0cyBpbiB0aGlzIGRvY3VtZW50IGFz
IHdlbGwgYXMgdGhlCi0vLyB0ZXN0cyBpbiB0aGUgSUZSQU1FLiBDdXJyZW50bHksIGNhbGxiYWNr
cyBpbnZva2VkIGZyb20gdGhpcyBkb2N1bWVudCBhbmQgYW55Ci0vLyBjaGlsZCBkb2N1bWVudCBh
cmUgaW5kaXN0aW5ndWlzaGFibGUgZnJvbSBlYWNoIG90aGVyLgotCi1mdW5jdGlvbiBzdGFydF9j
YWxsYmFjayhwcm9wZXJ0aWVzKSB7Ci0gICAgY2FsbGJhY2tzLnB1c2goU1RBUlQpOwotfQotCi1m
dW5jdGlvbiB0ZXN0X3N0YXRlX2NhbGxiYWNrKHRlc3QpIHsKLSAgICBjYWxsYmFja3MucHVzaChU
RVNUX1NUQVRFKTsKLX0KLQotZnVuY3Rpb24gcmVzdWx0X2NhbGxiYWNrKHRlc3QpIHsKLSAgICBj
YWxsYmFja3MucHVzaChSRVNVTFQpOwotfQotCi1mdW5jdGlvbiBjb21wbGV0aW9uX2NhbGxiYWNr
KHRlc3RzLCBzdGF0dXMpIHsKLSAgICBpZiAodGVzdF9jb21wbGV0ZSkgewotICAgICAgICByZXR1
cm47Ci0gICAgfQotICAgIHRlc3RfY29tcGxldGUgPSB0cnVlOwotICAgIGNhbGxiYWNrcy5wdXNo
KENPTVBMRVRJT04pOwotICAgIHZlcmlmeV9yZWNlaXZlZF9jYWxsYmFja3MoKTsKLSAgICBkb25l
KCk7Ci19Ci0KLWZ1bmN0aW9uIHZlcmlmeV9yZWNlaXZlZF9jYWxsYmFja3MoKSB7Ci0gICAgdmFy
IGNvcHlfb2ZfY2FsbGJhY2tzID0gY2FsbGJhY2tzLnNsaWNlKDApOwotCi0gICAgLy8gTm90ZSB0
aGF0IHlvdSBjYW4ndCBydW4gdGVzdCBhc3NlcnRpb25zIGRpcmVjdGx5IGluIGEgY2FsbGJhY2sg
ZXZlbiBpZgotICAgIC8vIHRoaXMgaXMgYSBmaWxlIHRlc3QuIFdoZW4gdGhlIGNhbGxiYWNrIGlz
IGludm9rZWQgZnJvbSBhIHNhbWUtb3JpZ2luIGNoaWxkCi0gICAgLy8gcGFnZSwgdGhlIGNhbGxz
dGFjayByZWFjaGVzIGludG8gdGhlIGNhbGxpbmcgY2hpbGQgZG9jdW1lbnQuIEFueQotICAgIC8v
IGV4Y2VwdGlvbiB0aHJvd24gaW4gYSBjYWxsYmFjayB3aWxsIGJlIGhhbmRsZWQgYnkgdGhlIGNo
aWxkIHJhdGhlciB0aGFuCi0gICAgLy8gdGhpcyBkb2N1bWVudC4KLSAgICB0ZXN0KAotICAgICAg
ICBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgIC8vIGNhbGxiYWNrcyBsaXN0IHNob3VsZCBsb29r
IGxpa2U6Ci0gICAgICAgICAgICAvLyAgICAgU1RBUlQgMSooVEVTVF9TVEFURSkgUkVTVUxUIENP
TVBMRVRJT04KLSAgICAgICAgICAgIGFzc2VydF9lcXVhbHMoY29weV9vZl9jYWxsYmFja3Muc2hp
ZnQoKSwgU1RBUlQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICJUaGUgZmlyc3QgcmVjZWl2
ZWQgY2FsbGJhY2sgc2hvdWxkIGJlICdzdGFydF9jYWxsYmFjaycuIik7Ci0gICAgICAgICAgICBh
c3NlcnRfZXF1YWxzKGNvcHlfb2ZfY2FsbGJhY2tzLnNoaWZ0KCksIFRFU1RfU1RBVEUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICIndGVzdF9zdGF0ZV9jYWxsYmFjaycgc2hvdWxkIGJlIHJl
Y2VpdmVkIGJlZm9yZSBhbnkgIiArCi0gICAgICAgICAgICAgICAgICAgICAgICAgICJyZXN1bHQg
b3IgY29tcGxldGlvbiBjYWxsYmFja3MuIik7Ci0gICAgICAgICAgICB3aGlsZShjb3B5X29mX2Nh
bGxiYWNrcy5sZW5ndGggPiAwKSB7Ci0gICAgICAgICAgICAgICAgdmFyIGNhbGxiYWNrID0gY29w
eV9vZl9jYWxsYmFja3Muc2hpZnQoKTsKLSAgICAgICAgICAgICAgICBpZiAoY2FsbGJhY2sgIT0g
VEVTVF9TVEFURSkgewotICAgICAgICAgICAgICAgICAgICBjb3B5X29mX2NhbGxiYWNrcy51bnNo
aWZ0KGNhbGxiYWNrKTsKLSAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAg
ICAgfQotICAgICAgICAgICAgfQotICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhjb3B5X29mX2Nh
bGxiYWNrcy5zaGlmdCgpLCBSRVNVTFQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICIndGVz
dF9zdGF0ZV9jYWxsYmFjaycgc2hvdWxkIGJlIGZvbGxvd2VkIGJ5ICdyZXN1bHRfY2FsbGJhY2sn
LiIpOwotICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhjb3B5X29mX2NhbGxiYWNrcy5zaGlmdCgp
LCBDT01QTEVUSU9OLAotICAgICAgICAgICAgICAgICAgICAgICAgICAiRmluYWwgJ3Jlc3VsdF9j
YWxsYmFjaycgc2hvdWxkIGJlIGZvbGxvd2VkIGJ5ICdjb21wbGV0aW9uX2NhbGxiYWNrJy4iKTsK
LSAgICAgICAgICAgIGFzc2VydF9lcXVhbHMoY29weV9vZl9jYWxsYmFja3MubGVuZ3RoLCAwLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAiJ2NvbXBsZXRpb25fY2FsbGJhY2snIHNob3VsZCBi
ZSB0aGUgbGFzdCBjYWxsYmFjay4iKTsKLSAgICAgICAgfSk7Ci19Ci0KLWZ1bmN0aW9uIHN0YXJ0
X3Rlc3RfaW5faWZyYW1lKCkgewotICAgIC8vIFRoaXMgZG9jdW1lbnQgaXMgZ29pbmcgdG8gY2xl
YXIgYW55IHJlY2VpdmVkIGNhbGxiYWNrcyBhbmQgbWFpbnRhaW4KLSAgICAvLyByYWRpbyBzaWxl
bmNlIHVudGlsIHRoZSB0ZXN0IGluIHRoZSBpZnJhbWUgcnVucyB0byBjb21wbGV0aW9uLiBUaGUK
LSAgICAvLyBjb21wbGV0aW9uX2NhbGxiYWNrKCkgd2lsbCB0aGVuIGNvbXBsZXRlIHRoZSB0ZXN0
aW5nIG9uIHRoaXMgZG9jdW1lbnQuCi0gICAgY2FsbGJhY2tzLmxlbmd0aCA9IDA7Ci0gICAgdmFy
IGlmcmFtZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlmcmFtZSIpOwotICAgIC8vIHNpbmds
ZS1wYWdlLXRlc3QtcGFzcy5odG1sIGhhcyBhIHNpbmdsZSB0ZXN0LgotICAgIGlmcmFtZS5zcmMg
PSAic2luZ2xlLXBhZ2UtdGVzdC1wYXNzLmh0bWwiOwotICAgIGlmcmFtZS5zdHlsZS5zZXRQcm9w
ZXJ0eSgiZGlzcGxheSIsICJub25lIik7Ci0gICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRh
cmdldCIpLmFwcGVuZENoaWxkKGlmcmFtZSk7Ci19Ci08L3NjcmlwdD4KLQotPGRpdiBpZD0idGFy
Z2V0Ij4KLTwvZGl2PgotPHNjcmlwdCB0eXBlPSJ0ZXh0L2pzb24iIGlkPSJleHBlY3RlZCI+Ci17
Ci0gICJzdW1tYXJpemVkX3N0YXR1cyI6IHsKLSAgICAic3RhdHVzX3N0cmluZyI6ICJPSyIsCi0g
ICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICJzdGFjayI6IG51bGwKLSAgfSwKLSAgInN1bW1hcml6
ZWRfdGVzdHMiOiBbCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAg
ICAibmFtZSI6ICJFeGFtcGxlIHdpdGggaWZyYW1lIHRoYXQgbm90aWZpZXMgY29udGFpbmluZyBk
b2N1bWVudCB2aWEgY2FsbGJhY2tzIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAi
bWVzc2FnZSI6IG51bGwsCi0gICAgICAic3RhY2siOiBudWxsCi0gICAgfQotICBdLAotICAidHlw
ZSI6ICJjb21wbGV0ZSIKLX0KLTwvc2NyaXB0PgotPC9ib2R5PgpJbmRleDogTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9pZnJh
bWUtY29uc29saWRhdGUtZXJyb3JzLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9pZnJhbWUt
Y29uc29saWRhdGUtZXJyb3JzLmh0bWwJKHJldmlzaW9uIDI1Mjg5NikKKysrIExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWZy
YW1lLWNvbnNvbGlkYXRlLWVycm9ycy5odG1sCShub25leGlzdGVudCkKQEAgLTEsNDYgKzAsMCBA
QAotPCFET0NUWVBFIEhUTUw+Ci08aHRtbD4KLTxoZWFkPgotPHRpdGxlPkV4YW1wbGUgd2l0aCBp
ZnJhbWUgdGhhdCBjb25zb2xpZGF0ZXMgZXJyb3JzIHZpYSBmZXRjaF90ZXN0c19mcm9tX3dpbmRv
dzwvdGl0bGU+Ci08c2NyaXB0IHNyYz0iLi4vLi4vdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdCBzcmM9Ii4uLy4uL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQ+Ci12YXIgcGFyZW50X3Rlc3QgPSBhc3luY190ZXN0KCJUZXN0IGV4ZWN1dGluZyBpbiBwYXJl
bnQgY29udGV4dCIpOwotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9InBhcmVudF90
ZXN0LmRvbmUoKSI+Ci08aDE+RmV0Y2hpbmcgVGVzdHMgRnJvbSBhIENoaWxkIENvbnRleHQ8L2gx
PgotPHA+VGhpcyB0ZXN0IGRlbW9uc3RyYXRlcyB0aGUgdXNlIG9mIDx0dD5mZXRjaF90ZXN0c19m
cm9tX3dpbmRvdzwvdHQ+IHRvIHB1bGwKLXRlc3RzIGZyb20gYW4gPHR0PmlmcmFtZTwvdHQ+IGlu
dG8gdGhlIHByaW1hcnkgZG9jdW1lbnQuPC9wPgotPHA+VGhlIHRlc3Qgc3VpdGUgaXMgZXhwZWN0
ZWQgdG8gZmFpbCBkdWUgdG8gYW4gdW5oYW5kbGVkIGV4Y2VwdGlvbiBpbiB0aGUKLWNoaWxkIGNv
bnRleHQuPC9wPgotPGRpdiBpZD0ibG9nIj48L2Rpdj4KLQotPGlmcmFtZSBpZD0iY2hpbGRDb250
ZXh0IiBzcmM9InVuY2F1Z2h0LWV4Y2VwdGlvbi1oYW5kbGUuaHRtbCIgc3R5bGU9ImRpc3BsYXk6
bm9uZSI+PC9pZnJhbWU+Ci08IS0tIGFwaXNhbXBsZTQuaHRtbCBpcyBhIGZhaWxpbmcgc3VpdGUg
ZHVlIHRvIGFuIHVuaGFuZGxlZCBFcnJvci4gLS0+Ci0KLTxzY3JpcHQ+Ci0JdmFyIGNoaWxkQ29u
dGV4dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjaGlsZENvbnRleHQiKTsKLQlmZXRjaF90
ZXN0c19mcm9tX3dpbmRvdyhjaGlsZENvbnRleHQuY29udGVudFdpbmRvdyk7Ci08L3NjcmlwdD4K
LTxzY3JpcHQgdHlwZT0idGV4dC9qc29uIiBpZD0iZXhwZWN0ZWQiPgotewotICAic3VtbWFyaXpl
ZF9zdGF0dXMiOiB7Ci0gICAgInN0YXR1c19zdHJpbmciOiAiRVJST1IiLAotICAgICJtZXNzYWdl
IjogIkVycm9yIGluIHJlbW90ZTogRXJyb3I6IEV4YW1wbGUgRXJyb3IiLAotICAgICJzdGFjayI6
IG51bGwKLSAgfSwKLSAgInN1bW1hcml6ZWRfdGVzdHMiOiBbCi0gICAgewotICAgICAgInN0YXR1
c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJUZXN0IGV4ZWN1dGluZyBpbiBwYXJl
bnQgY29udGV4dCIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBu
dWxsLAotICAgICAgInN0YWNrIjogbnVsbAotICAgIH0KLSAgXSwKLSAgInR5cGUiOiAiY29tcGxl
dGUiCi19Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWZyYW1l
LWNvbnNvbGlkYXRlLXRlc3RzLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9pZnJhbWUtY29u
c29saWRhdGUtdGVzdHMuaHRtbAkocmV2aXNpb24gMjUyODk2KQorKysgTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9pZnJhbWUt
Y29uc29saWRhdGUtdGVzdHMuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDk1ICswLDAgQEAKLTwh
RE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLTx0aXRsZT5FeGFtcGxlIHdpdGggaWZyYW1l
IHRoYXQgY29uc29saWRhdGVzIHRlc3RzIHZpYSBmZXRjaF90ZXN0c19mcm9tX3dpbmRvdzwvdGl0
bGU+Ci08c2NyaXB0IHNyYz0iLi4vLi4vdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlw
dCBzcmM9Ii4uLy4uL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci12
YXIgcGFyZW50X3Rlc3QgPSBhc3luY190ZXN0KCJUZXN0IGV4ZWN1dGluZyBpbiBwYXJlbnQgY29u
dGV4dCIpOwotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9InBhcmVudF90ZXN0LmRv
bmUoKSI+Ci08aDE+RmV0Y2hpbmcgVGVzdHMgRnJvbSBhIENoaWxkIENvbnRleHQ8L2gxPgotPHA+
VGhpcyB0ZXN0IGRlbW9uc3RyYXRlcyB0aGUgdXNlIG9mIDx0dD5mZXRjaF90ZXN0c19mcm9tX3dp
bmRvdzwvdHQ+IHRvIHB1bGwKLXRlc3RzIGZyb20gYW4gPHR0PmlmcmFtZTwvdHQ+IGludG8gdGhl
IHByaW1hcnkgZG9jdW1lbnQuPC9wPgotPHA+VGhlIHRlc3Qgc3VpdGUgd2lsbCBub3QgY29tcGxl
dGUgdW50aWwgdGVzdHMgaW4gdGhlIGNoaWxkIGNvbnRleHQgaGF2ZSBmaW5pc2hlZAotZXhlY3V0
aW5nPC9wPgotPGRpdiBpZD0ibG9nIj48L2Rpdj4KLQotPGlmcmFtZSBpZD0iY2hpbGRDb250ZXh0
IiBzcmM9InByb21pc2UtYXN5bmMuaHRtbCIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+PC9pZnJhbWU+
Ci08IS0tIHByb21pc2UtYXN5bmMuaHRtbCBoYXMgYXN5bmMgdGVzdHMgd2l0aCBwcm9taXNlcyAt
LT4KLQotPHNjcmlwdD4KLQl2YXIgY2hpbGRDb250ZXh0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNoaWxkQ29udGV4dCIpOwotCWZldGNoX3Rlc3RzX2Zyb21fd2luZG93KGNoaWxkQ29udGV4
dC5jb250ZW50V2luZG93KTsKLTwvc2NyaXB0PgotPHNjcmlwdCB0eXBlPSJ0ZXh0L2pzb24iIGlk
PSJleHBlY3RlZCI+Ci17Ci0gICJzdW1tYXJpemVkX3N0YXR1cyI6IHsKLSAgICAic3RhdHVzX3N0
cmluZyI6ICJPSyIsCi0gICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICJzdGFjayI6IG51bGwKLSAg
fSwKLSAgInN1bW1hcml6ZWRfdGVzdHMiOiBbCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmci
OiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJQcm9taXNlIHJlamVjdGlvbiIsCi0gICAgICAicHJv
cGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgInN0YWNrIjogbnVs
bAotICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAi
bmFtZSI6ICJQcm9taXNlIHJlc29sdXRpb24iLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAg
ICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICJzdGFjayI6IG51bGwKLSAgICB9LAotICAgIHsK
LSAgICAgICJzdGF0dXNfc3RyaW5nIjogIkZBSUwiLAotICAgICAgIm5hbWUiOiAiUHJvbWlzZXMg
YW5kIHRlc3QgYXNzZXJ0aW9uIGZhaWx1cmVzIChzaG91bGQgZmFpbCkiLAotICAgICAgInByb3Bl
cnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogImFzc2VydF90cnVlOiBUaGlzIGZhaWx1cmUg
aXMgZXhwZWN0ZWQgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UiLAotICAgICAgInN0YWNrIjogIihp
bXBsZW1lbnRhdGlvbi1kZWZpbmVkKSIKLSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0dXNfc3Ry
aW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUiOiAiUHJvbWlzZXMgYXJlIHN1cHBvcnRlZCBpbiB5
b3VyIGJyb3dzZXIiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjog
bnVsbCwKLSAgICAgICJzdGFjayI6IG51bGwKLSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0dXNf
c3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUiOiAiUHJvbWlzZXMgcmVzb2x1dGlvbiBjaGFp
bmluZyIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsLAot
ICAgICAgInN0YWNrIjogbnVsbAotICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmci
OiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJUZXN0IGV4ZWN1dGluZyBpbiBwYXJlbnQgY29udGV4
dCIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAg
ICAgInN0YWNrIjogbnVsbAotICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAi
UEFTUyIsCi0gICAgICAibmFtZSI6ICJVc2Ugb2Ygc3RlcF9mdW5jIHdpdGggUHJvbWlzZXMiLAot
ICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICJz
dGFjayI6IG51bGwKLSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIkZBSUwi
LAotICAgICAgIm5hbWUiOiAiVXNlIG9mIHVucmVhY2hlZF9mdW5jIHdpdGggUHJvbWlzZXMgKHNo
b3VsZCBmYWlsKSIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiAi
YXNzZXJ0X3VucmVhY2hlZDogVGhpcyBmYWlsdXJlIGlzIGV4cGVjdGVkIFJlYWNoZWQgdW5yZWFj
aGFibGUgY29kZSIsCi0gICAgICAic3RhY2siOiAiKGltcGxlbWVudGF0aW9uLWRlZmluZWQpIgot
ICAgIH0KLSAgXSwKLSAgInR5cGUiOiAiY29tcGxldGUiCi19Ci08L3NjcmlwdD4KLTwvYm9keT4K
LTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWZyYW1lLW1zZy5odG1sCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3Qv
dGVzdHMvaWZyYW1lLW1zZy5odG1sCShyZXZpc2lvbiAyNTI4OTYpCisrKyBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2lmcmFt
ZS1tc2cuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDg2ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1M
PgotPGh0bWw+Ci08aGVhZD4KLTx0aXRsZT5FeGFtcGxlIHdpdGggaWZyYW1lIHRoYXQgbm90aWZp
ZXMgY29udGFpbmluZyBkb2N1bWVudCB2aWEgY3Jvc3MgZG9jdW1lbnQgbWVzc2FnaW5nPC90aXRs
ZT4KLTxzY3JpcHQgc3JjPSIuLi8uLi90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0iLi4vLi4vdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJv
ZHk+Ci08aDE+Tm90aWZpY2F0aW9ucyBGcm9tIFRlc3RzIFJ1bm5pbmcgSW4gQW4gSUZSQU1FPC9o
MT4KLTxwPkEgdGVzdCBpcyBydW4gaW5zaWRlIGFuIDx0dD5pZnJhbWU8L3R0PiB3aXRoIGEgc2Ft
ZSBvcmlnaW4gZG9jdW1lbnQuIFRoZQotY29udGFpbmluZyBkb2N1bWVudCBzaG91bGQgcmVjZWl2
ZSBtZXNzYWdlcyB2aWEgPHR0PnBvc3RNZXNzYWdlPC90dD4vCi08dHQ+b25tZXNzYWdlPC90dD4g
YXMgdGhlIHRlc3RzIHByb2dyZXNzIGluc2lkZSB0aGUgPHR0PmlmcmFtZTwvdHQ+LiBBIHNpbmds
ZQotcGFzc2luZyB0ZXN0IGlzIGV4cGVjdGVkIGluIHRoZSBzdW1tYXJ5IGJlbG93LgotPC9wPgot
PGRpdiBpZD0ibG9nIj48L2Rpdj4KLQotPHNjcmlwdD4KLXZhciB0ID0gYXN5bmNfdGVzdCgiQ29u
dGFpbmluZyBkb2N1bWVudCByZWNlaXZlcyBtZXNzYWdlcyIpOwotdmFyIHN0YXJ0X3JlY2VpdmVk
ID0gZmFsc2U7Ci12YXIgcmVzdWx0X3JlY2VpdmVkID0gZmFsc2U7Ci12YXIgY29tcGxldGlvbl9y
ZWNlaXZlZCA9IGZhbHNlOwotCi0vLyBUaGVzZSBhcmUgdGhlIG1lc3NhZ2VzIHRoYXQgYXJlIGV4
cGVjdGVkIHRvIGJlIHNlZW4gd2hpbGUgcnVubmluZyB0aGUgdGVzdHMKLS8vIGluIHRoZSBJRlJB
TUUuCi12YXIgZXhwZWN0ZWRfbWVzc2FnZXMgPSBbCi0gICAgdC5zdGVwX2Z1bmMoCi0gICAgICAg
IGZ1bmN0aW9uKG1lc3NhZ2UpIHsKLSAgICAgICAgICAgIGFzc2VydF9lcXVhbHMobWVzc2FnZS5k
YXRhLnR5cGUsICJzdGFydCIpOwotICAgICAgICAgICAgYXNzZXJ0X293bl9wcm9wZXJ0eShtZXNz
YWdlLmRhdGEsICJwcm9wZXJ0aWVzIik7Ci0gICAgICAgIH0pLAotCi0gICAgdC5zdGVwX2Z1bmMo
Ci0gICAgICAgIGZ1bmN0aW9uKG1lc3NhZ2UpIHsKLSAgICAgICAgICAgIGFzc2VydF9lcXVhbHMo
bWVzc2FnZS5kYXRhLnR5cGUsICJ0ZXN0X3N0YXRlIik7Ci0gICAgICAgICAgICBhc3NlcnRfZXF1
YWxzKG1lc3NhZ2UuZGF0YS50ZXN0LnN0YXR1cywgbWVzc2FnZS5kYXRhLnRlc3QuTk9UUlVOKTsK
LSAgICAgICAgfSksCi0KLSAgICB0LnN0ZXBfZnVuYygKLSAgICAgICAgZnVuY3Rpb24obWVzc2Fn
ZSkgewotICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhtZXNzYWdlLmRhdGEudHlwZSwgInJlc3Vs
dCIpOwotICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhtZXNzYWdlLmRhdGEudGVzdC5zdGF0dXMs
IG1lc3NhZ2UuZGF0YS50ZXN0LlBBU1MpOwotICAgICAgICB9KSwKLQotICAgIHQuc3RlcF9mdW5j
KAotICAgICAgICBmdW5jdGlvbihtZXNzYWdlKSB7Ci0gICAgICAgICAgICBhc3NlcnRfZXF1YWxz
KG1lc3NhZ2UuZGF0YS50eXBlLCAiY29tcGxldGUiKTsKLSAgICAgICAgICAgIGFzc2VydF9lcXVh
bHMobWVzc2FnZS5kYXRhLnRlc3RzLmxlbmd0aCwgMSk7Ci0gICAgICAgICAgICBhc3NlcnRfZXF1
YWxzKG1lc3NhZ2UuZGF0YS50ZXN0c1swXS5zdGF0dXMsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgIG1lc3NhZ2UuZGF0YS50ZXN0c1swXS5QQVNTKTsKLSAgICAgICAgICAgIGFzc2VydF9lcXVh
bHMobWVzc2FnZS5kYXRhLnN0YXR1cy5zdGF0dXMsIG1lc3NhZ2UuZGF0YS5zdGF0dXMuT0spOwot
ICAgICAgICAgICAgdC5kb25lKCk7Ci0gICAgICAgIH0pLAotCi0gICAgdC51bnJlYWNoZWRfZnVu
YygiVG9vIG1hbnkgbWVzc2FnZXMgcmVjZWl2ZWQiKQotXTsKLQotb25fZXZlbnQod2luZG93LAot
ICAgICAgICAgIm1lc3NhZ2UiLAotICAgICAgICAgZnVuY3Rpb24obWVzc2FnZSkgewotICAgICAg
ICAgICAgIHZhciBoYW5kbGVyID0gZXhwZWN0ZWRfbWVzc2FnZXMuc2hpZnQoKTsKLSAgICAgICAg
ICAgICBoYW5kbGVyKG1lc3NhZ2UpOwotICAgICAgICAgfSk7Ci08L3NjcmlwdD4KLTxpZnJhbWUg
c3JjPSJzaW5nbGUtcGFnZS10ZXN0LXBhc3MuaHRtbCIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+Ci0g
IDwhLS0gc2luZ2xlLXBhZ2UtdGVzdC1wYXNzLmh0bWwgaW1wbGVtZW50cyBhIGZpbGVfaXNfdGVz
dCB0ZXN0LiAtLT4KLTwvaWZyYW1lPgotPHNjcmlwdCB0eXBlPSJ0ZXh0L2pzb24iIGlkPSJleHBl
Y3RlZCI+Ci17Ci0gICJzdW1tYXJpemVkX3N0YXR1cyI6IHsKLSAgICAic3RhdHVzX3N0cmluZyI6
ICJPSyIsCi0gICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICJzdGFjayI6IG51bGwKLSAgfSwKLSAg
InN1bW1hcml6ZWRfdGVzdHMiOiBbCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFT
UyIsCi0gICAgICAibmFtZSI6ICJDb250YWluaW5nIGRvY3VtZW50IHJlY2VpdmVzIG1lc3NhZ2Vz
IiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAg
ICAic3RhY2siOiBudWxsCi0gICAgfQotICBdLAotICAidHlwZSI6ICJjb21wbGV0ZSIKLX0KLTwv
c2NyaXB0PgotPC9ib2R5PgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9vcmRlci5odG1sCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rl
c3QvdGVzdHMvb3JkZXIuaHRtbAkocmV2aXNpb24gMjUyODk2KQorKysgTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9vcmRlci5o
dG1sCShub25leGlzdGVudCkKQEAgLTEsMzkgKzAsMCBAQAotPCFET0NUWVBFIEhUTUw+Ci08aHRt
bD4KLTxoZWFkPgotPHRpdGxlPk9yZGVyaW5nPC90aXRsZT4KLTxtZXRhIG5hbWU9InRpbWVvdXQi
IGNvbnRlbnQ9IjYwMDAiPgotPC9oZWFkPgotPGJvZHk+Ci08ZGl2IGlkPSJsb2ciPjwvZGl2Pgot
PHNjcmlwdCBzcmM9Ii4uLy4uL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIuLi8uLi90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotdGVzdChm
dW5jdGlvbigpIHt9LCAnc2Vjb25kJyk7Ci10ZXN0KGZ1bmN0aW9uKCkge30sICdmaXJzdCcpOwot
PC9zY3JpcHQ+Ci08c2NyaXB0IHR5cGU9InRleHQvanNvbiIgaWQ9ImV4cGVjdGVkIj4KLXsKLSAg
InN1bW1hcml6ZWRfc3RhdHVzIjogewotICAgICJzdGF0dXNfc3RyaW5nIjogIk9LIiwKLSAgICAi
bWVzc2FnZSI6IG51bGwsCi0gICAgInN0YWNrIjogbnVsbAotICB9LAotICAic3VtbWFyaXplZF90
ZXN0cyI6IFt7Ci0gICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgIm5hbWUiOiAiZmly
c3QiLAotICAgICJzdGFjayI6IG51bGwsCi0gICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICJwcm9w
ZXJ0aWVzIjoge30KLSAgfSwgewotICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICJu
YW1lIjogInNlY29uZCIsCi0gICAgInN0YWNrIjogbnVsbCwKLSAgICAibWVzc2FnZSI6IG51bGws
Ci0gICAgInByb3BlcnRpZXMiOiB7fQotICB9XSwKLSAgInR5cGUiOiAiY29tcGxldGUiCi19Ci08
L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvcHJvbWlzZS1hc3luYy5o
dG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvcHJvbWlzZS1hc3luYy5odG1sCShyZXZpc2lvbiAy
NTI4OTYpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy90ZXN0L3Rlc3RzL3Byb21pc2UtYXN5bmMuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0x
LDE4MCArMCwwIEBACi08IURPQ1RZUEUgSFRNTD4KLTxodG1sPgotPGhlYWQ+Ci08dGl0bGU+QXN5
bmMgVGVzdHMgYW5kIFByb21pc2VzPC90aXRsZT4KLTwvaGVhZD4KLTxib2R5PgotPGgxPkFzeW5j
IFRlc3RzIGFuZCBQcm9taXNlczwvaDE+Ci08cD5UaGlzIHRlc3QgYXNzdW1lcyBFQ01BU2NyaXB0
IDYgUHJvbWlzZSBzdXBwb3J0LiBTb21lIGZhaWx1cmVzIGFyZSBleHBlY3RlZC48L3A+Ci08ZGl2
IGlkPSJsb2ciPjwvZGl2PgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0PgotCi10ZXN0KGZ1bmN0aW9uKCkgewotICB2YXIgcCA9IG5ldyBQcm9taXNlKGZ1
bmN0aW9uKHJlc29sdmUsIHJlamVjdCkge30pOwotICBhc3NlcnRfdHJ1ZSgndGhlbicgaW4gcCk7
Ci0gIGFzc2VydF9lcXVhbHModHlwZW9mIFByb21pc2UucmVzb2x2ZSwgJ2Z1bmN0aW9uJyk7Ci0g
IGFzc2VydF9lcXVhbHModHlwZW9mIFByb21pc2UucmVqZWN0LCAnZnVuY3Rpb24nKTsKLX0sICJQ
cm9taXNlcyBhcmUgc3VwcG9ydGVkIGluIHlvdXIgYnJvd3NlciIpOwotCi0oZnVuY3Rpb24oKSB7
Ci0gIHZhciB0ID0gYXN5bmNfdGVzdCgiUHJvbWlzZSByZXNvbHV0aW9uIik7Ci0gIHQuc3RlcChm
dW5jdGlvbigpIHsKLSAgICBQcm9taXNlLnJlc29sdmUoJ3gnKS50aGVuKAotICAgICAgdC5zdGVw
X2Z1bmMoZnVuY3Rpb24odmFsdWUpIHsKLSAgICAgICAgYXNzZXJ0X2VxdWFscyh2YWx1ZSwgJ3gn
KTsKLSAgICAgICAgdC5kb25lKCk7Ci0gICAgICB9KSwKLSAgICAgIHQudW5yZWFjaGVkX2Z1bmMo
J1Byb21pc2Ugc2hvdWxkIG5vdCByZWplY3QnKQotICAgICk7Ci0gIH0pOwotfSgpKTsKLQotKGZ1
bmN0aW9uKCkgewotICB2YXIgdCA9IGFzeW5jX3Rlc3QoIlByb21pc2UgcmVqZWN0aW9uIik7Ci0g
IHQuc3RlcChmdW5jdGlvbigpIHsKLSAgICBQcm9taXNlLnJlamVjdChFcnJvcignZmFpbCcpKS50
aGVuKAotICAgICAgdC51bnJlYWNoZWRfZnVuYygnUHJvbWlzZSBzaG91bGQgcmVqZWN0JyksCi0g
ICAgICB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKLSAgICAgICAgYXNzZXJ0X3RydWUo
cmVhc29uIGluc3RhbmNlb2YgRXJyb3IpOwotICAgICAgICBhc3NlcnRfZXF1YWxzKHJlYXNvbi5t
ZXNzYWdlLCAnZmFpbCcpOwotICAgICAgICB0LmRvbmUoKTsKLSAgICAgIH0pCi0gICAgKTsKLSAg
fSk7Ci19KCkpOwotCi0oZnVuY3Rpb24oKSB7Ci0gIHZhciB0ID0gYXN5bmNfdGVzdCgiUHJvbWlz
ZXMgcmVzb2x1dGlvbiBjaGFpbmluZyIpOwotICB0LnN0ZXAoZnVuY3Rpb24oKSB7Ci0gICAgdmFy
IHJlc29sdXRpb25zID0gW107Ci0gICAgUHJvbWlzZS5yZXNvbHZlKCdhJykudGhlbigKLSAgICAg
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHZhbHVlKSB7Ci0gICAgICAgIHJlc29sdXRpb25zLnB1c2go
dmFsdWUpOwotICAgICAgICByZXR1cm4gJ2InOwotICAgICAgfSkKLSAgICApLnRoZW4oCi0gICAg
ICB0LnN0ZXBfZnVuYyhmdW5jdGlvbih2YWx1ZSkgewotICAgICAgICByZXNvbHV0aW9ucy5wdXNo
KHZhbHVlKTsKLSAgICAgICAgcmV0dXJuICdjJzsKLSAgICAgIH0pCi0gICAgKS50aGVuKAotICAg
ICAgdC5zdGVwX2Z1bmMoZnVuY3Rpb24odmFsdWUpIHsKLSAgICAgICAgcmVzb2x1dGlvbnMucHVz
aCh2YWx1ZSk7Ci0KLSAgICAgICAgYXNzZXJ0X2FycmF5X2VxdWFscyhyZXNvbHV0aW9ucywgWydh
JywgJ2InLCAnYyddKTsKLSAgICAgICAgdC5kb25lKCk7Ci0gICAgICB9KQotICAgICkuY2F0Y2go
Ci0gICAgICB0LnVucmVhY2hlZF9mdW5jKCdwcm9taXNlIHNob3VsZCBub3QgaGF2ZSByZWplY3Rl
ZCcpCi0gICAgKTsKLSAgfSk7Ci19KCkpOwotCi0oZnVuY3Rpb24oKSB7Ci0gIHZhciB0ID0gYXN5
bmNfdGVzdCgiVXNlIG9mIHN0ZXBfZnVuYyB3aXRoIFByb21pc2VzIik7Ci0gIHQuc3RlcChmdW5j
dGlvbigpIHsKLSAgICB2YXIgcmVzb2x1dGlvbnMgPSBbXTsKLSAgICBQcm9taXNlLnJlc29sdmUo
J3gnKS50aGVuKAotICAgICAgdC5zdGVwX2Z1bmNfZG9uZSgpLAotICAgICAgdC51bnJlYWNoZWRf
ZnVuYygnUHJvbWlzZSBzaG91bGQgbm90IGhhdmUgcmVqZWN0ZWQnKQotICAgICk7Ci0gIH0pOwot
fSgpKTsKLQotKGZ1bmN0aW9uKCkgewotICB2YXIgdCA9IGFzeW5jX3Rlc3QoIlByb21pc2VzIGFu
ZCB0ZXN0IGFzc2VydGlvbiBmYWlsdXJlcyAoc2hvdWxkIGZhaWwpIik7Ci0gIHQuc3RlcChmdW5j
dGlvbigpIHsKLSAgICB2YXIgcmVzb2x1dGlvbnMgPSBbXTsKLSAgICBQcm9taXNlLnJlc29sdmUo
J3gnKS50aGVuKAotICAgICAgdC5zdGVwX2Z1bmMoZnVuY3Rpb24odmFsdWUpIHsKLSAgICAgICAg
YXNzZXJ0X3RydWUoZmFsc2UsICdUaGlzIGZhaWx1cmUgaXMgZXhwZWN0ZWQnKTsKLSAgICAgIH0p
Ci0gICAgKS50aGVuKAotICAgICAgdC51bnJlYWNoZWRfZnVuYygnUHJvbWlzZSBzaG91bGQgbm90
IGhhdmUgcmVzb2x2ZWQnKQotICAgICkuY2F0Y2goCi0gICAgICB0LnVucmVhY2hlZF9mdW5jKCdQ
cm9taXNlIHNob3VsZCBub3QgaGF2ZSByZWplY3RlZCcpCi0gICAgKTsKLSAgfSk7Ci19KCkpOwot
Ci0oZnVuY3Rpb24oKSB7Ci0gIHZhciB0ID0gYXN5bmNfdGVzdCgiVXNlIG9mIHVucmVhY2hlZF9m
dW5jIHdpdGggUHJvbWlzZXMgKHNob3VsZCBmYWlsKSIpOwotICB0LnN0ZXAoZnVuY3Rpb24oKSB7
Ci0gICAgdmFyIHJlc29sdXRpb25zID0gW107Ci0gICAgdmFyIHI7Ci0gICAgdmFyIHAgPSBuZXcg
UHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKLSAgICAgIC8vIFJlamVjdCBpbnN0
ZWFkIG9mIHJlc29sdmUsIHRvIGRlbW9uc3RyYXRlIGZhaWx1cmUuCi0gICAgICByZWplY3QoMTIz
KTsKLSAgICB9KTsKLSAgICBwLnRoZW4oCi0gICAgICBmdW5jdGlvbih2YWx1ZSkgewotICAgICAg
ICBhc3NlcnRfZXF1YWxzKHZhbHVlLCAxMjMsICdUaGlzIHNob3VsZCBub3QgYWN0dWFsbHkgaGFw
cGVuJyk7Ci0gICAgICB9LAotICAgICAgdC51bnJlYWNoZWRfZnVuYygnVGhpcyBmYWlsdXJlIGlz
IGV4cGVjdGVkJykKLSAgICApOwotICB9KTsKLX0oKSk7Ci08L3NjcmlwdD4KLTxzY3JpcHQgdHlw
ZT0idGV4dC9qc29uIiBpZD0iZXhwZWN0ZWQiPgotewotICAic3VtbWFyaXplZF9zdGF0dXMiOiB7
Ci0gICAgInN0YXR1c19zdHJpbmciOiAiT0siLAotICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAi
c3RhY2siOiBudWxsCi0gIH0sCi0gICJzdW1tYXJpemVkX3Rlc3RzIjogWwotICAgIHsKLSAgICAg
ICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUiOiAiUHJvbWlzZSByZWplY3Rp
b24iLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAg
ICAgICJzdGFjayI6IG51bGwKLSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjog
IlBBU1MiLAotICAgICAgIm5hbWUiOiAiUHJvbWlzZSByZXNvbHV0aW9uIiwKLSAgICAgICJwcm9w
ZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAic3RhY2siOiBudWxs
Ci0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJGQUlMIiwKLSAgICAgICJu
YW1lIjogIlByb21pc2VzIGFuZCB0ZXN0IGFzc2VydGlvbiBmYWlsdXJlcyAoc2hvdWxkIGZhaWwp
IiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6ICJhc3NlcnRfdHJ1
ZTogVGhpcyBmYWlsdXJlIGlzIGV4cGVjdGVkIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlIiwKLSAg
ICAgICJzdGFjayI6ICIoaW1wbGVtZW50YXRpb24tZGVmaW5lZCkiCi0gICAgfSwKLSAgICB7Ci0g
ICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1lIjogIlByb21pc2VzIGFy
ZSBzdXBwb3J0ZWQgaW4geW91ciBicm93c2VyIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0g
ICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAic3RhY2siOiBudWxsCi0gICAgfSwKLSAgICB7
Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1lIjogIlByb21pc2Vz
IHJlc29sdXRpb24gY2hhaW5pbmciLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJt
ZXNzYWdlIjogbnVsbCwKLSAgICAgICJzdGFjayI6IG51bGwKLSAgICB9LAotICAgIHsKLSAgICAg
ICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUiOiAiVXNlIG9mIHN0ZXBfZnVu
YyB3aXRoIFByb21pc2VzIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2Fn
ZSI6IG51bGwsCi0gICAgICAic3RhY2siOiBudWxsCi0gICAgfSwKLSAgICB7Ci0gICAgICAic3Rh
dHVzX3N0cmluZyI6ICJGQUlMIiwKLSAgICAgICJuYW1lIjogIlVzZSBvZiB1bnJlYWNoZWRfZnVu
YyB3aXRoIFByb21pc2VzIChzaG91bGQgZmFpbCkiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwK
LSAgICAgICJtZXNzYWdlIjogImFzc2VydF91bnJlYWNoZWQ6IFRoaXMgZmFpbHVyZSBpcyBleHBl
Y3RlZCBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUiLAotICAgICAgInN0YWNrIjogIihpbXBsZW1l
bnRhdGlvbi1kZWZpbmVkKSIKLSAgICB9Ci0gIF0sCi0gICJ0eXBlIjogImNvbXBsZXRlIgotfQot
PC9zY3JpcHQ+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL3Byb21pc2UuaHRtbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rl
c3RzL3Byb21pc2UuaHRtbAkocmV2aXNpb24gMjUyODk2KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9wcm9taXNlLmh0
bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwyMjEgKzAsMCBAQAotPCFET0NUWVBFIEhUTUw+Ci08aHRt
bD4KLTxoZWFkPgotPHRpdGxlPlByb21pc2UgVGVzdHM8L3RpdGxlPgotPC9oZWFkPgotPGJvZHk+
Ci08aDE+UHJvbWlzZSBUZXN0czwvaDE+Ci08cD5UaGlzIHRlc3QgZGVtb25zdHJhdGVzIHRoZSB1
c2Ugb2YgPHR0PnByb21pc2VfdGVzdDwvdHQ+LiBBc3N1bWVzIEVDTUFTY3JpcHQgNgotUHJvbWlz
ZSBzdXBwb3J0LiBTb21lIGZhaWx1cmVzIGFyZSBleHBlY3RlZC48L3A+Ci08ZGl2IGlkPSJsb2ci
PjwvZGl2PgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSIuLi8uLi90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
PgotdGVzdCgKLSAgICBmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIHAgPSBuZXcgUHJvbWlzZShm
dW5jdGlvbihyZXNvbHZlLCByZWplY3Qpe30pOwotICAgICAgICBhc3NlcnRfdHJ1ZSgidGhlbiIg
aW4gcCk7Ci0gICAgICAgIGFzc2VydF9lcXVhbHModHlwZW9mIFByb21pc2UucmVzb2x2ZSwgImZ1
bmN0aW9uIik7Ci0gICAgICAgIGFzc2VydF9lcXVhbHModHlwZW9mIFByb21pc2UucmVqZWN0LCAi
ZnVuY3Rpb24iKTsKLSAgICB9LAotICAgICJQcm9taXNlcyBhcmUgc3VwcG9ydGVkIGluIHlvdXIg
YnJvd3NlciIpOwotCi1wcm9taXNlX3Rlc3QoCi0gICAgZnVuY3Rpb24oKSB7Ci0gICAgICAgIHJl
dHVybiBQcm9taXNlLnJlc29sdmUoIngiKQotICAgICAgICAgICAgLnRoZW4oCi0gICAgICAgICAg
ICAgICAgZnVuY3Rpb24odmFsdWUpIHsKLSAgICAgICAgICAgICAgICAgICAgYXNzZXJ0X2VxdWFs
cyh2YWx1ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAieCIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIkZ1bGZpbGxlZCBwcm9taXNlIHNob3VsZCBwYXNz
IHJlc3VsdCB0byAiICsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZnVsZmls
bCByZWFjdGlvbi4iKTsKLSAgICAgICAgICAgICAgICB9KTsKLSAgICB9LAotICAgICJQcm9taXNl
IGZ1bGZpbGxtZW50IHdpdGggcmVzdWx0Iik7Ci0KLXByb21pc2VfdGVzdCgKLSAgICBmdW5jdGlv
bih0KSB7Ci0gICAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdChuZXcgRXJyb3IoImZhaWwiKSkK
LSAgICAgICAgICAgIC50aGVuKHQudW5yZWFjaGVkX2Z1bmMoIlByb21pc2Ugc2hvdWxkIHJlamVj
dCIpLAotICAgICAgICAgICAgICAgIGZ1bmN0aW9uKHJlYXNvbikgewotICAgICAgICAgICAgICAg
ICAgICBhc3NlcnRfdHJ1ZSgKLSAgICAgICAgICAgICAgICAgICAgICAgIHJlYXNvbiBpbnN0YW5j
ZW9mIEVycm9yLAotICAgICAgICAgICAgICAgICAgICAgICAgIlJlamVjdGVkIHByb21pc2Ugc2hv
dWxkIHBhc3MgcmVhc29uIHRvIGZ1bGZpbGwgcmVhY3Rpb24uIik7Ci0gICAgICAgICAgICAgICAg
ICAgIGFzc2VydF9lcXVhbHMoCi0gICAgICAgICAgICAgICAgICAgICAgICByZWFzb24ubWVzc2Fn
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJmYWlsIiwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJSZWplY3RlZCBwcm9taXNlIHNob3VsZCBwYXNzIHJlYXNvbiB0byByZWplY3QgcmVhY3Rp
b24uIik7Ci0gICAgICAgICAgICAgICAgfSk7Ci0gICAgfSwKLSAgICAiUHJvbWlzZSByZWplY3Rp
b24gd2l0aCByZXN1bHQiKTsKLQotcHJvbWlzZV90ZXN0KAotICAgIGZ1bmN0aW9uKCkgewotICAg
ICAgICB2YXIgcmVzb2x1dGlvbnMgPSBbXTsKLSAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2
ZSgiYSIpCi0gICAgICAgICAgICAudGhlbigKLSAgICAgICAgICAgICAgICBmdW5jdGlvbih2YWx1
ZSkgewotICAgICAgICAgICAgICAgICAgICByZXNvbHV0aW9ucy5wdXNoKHZhbHVlKTsKLSAgICAg
ICAgICAgICAgICAgICAgcmV0dXJuICJiIjsKLSAgICAgICAgICAgICAgICB9KQotICAgICAgICAg
ICAgLnRoZW4oCi0gICAgICAgICAgICAgICAgZnVuY3Rpb24odmFsdWUpIHsKLSAgICAgICAgICAg
ICAgICAgICAgcmVzb2x1dGlvbnMucHVzaCh2YWx1ZSk7Ci0gICAgICAgICAgICAgICAgICAgIHJl
dHVybiAiYyI7Ci0gICAgICAgICAgICAgICAgfSkKLSAgICAgICAgICAgIC50aGVuKAotICAgICAg
ICAgICAgICAgIGZ1bmN0aW9uKHZhbHVlKSB7Ci0gICAgICAgICAgICAgICAgICAgIHJlc29sdXRp
b25zLnB1c2godmFsdWUpOwotICAgICAgICAgICAgICAgICAgICBhc3NlcnRfYXJyYXlfZXF1YWxz
KHJlc29sdXRpb25zLCBbImEiLCAiYiIsICJjIl0pOwotICAgICAgICAgICAgICAgIH0pOwotICAg
IH0sCi0gICAgIkNoYWluIG9mIHByb21pc2UgcmVzb2x1dGlvbnMiKTsKLQotcHJvbWlzZV90ZXN0
KAotICAgIGZ1bmN0aW9uKHQpIHsKLSAgICAgICAgdmFyIHJlc29sdXRpb25zID0gW107Ci0gICAg
ICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoIngiKQotICAgICAgICAgICAgLnRoZW4oCi0gICAg
ICAgICAgICAgICAgZnVuY3Rpb24odmFsdWUpIHsKLSAgICAgICAgICAgICAgICAgICAgYXNzZXJ0
X3RydWUoZmFsc2UsICJFeHBlY3RlZCBmYWlsdXJlLiIpOwotICAgICAgICAgICAgICAgIH0pCi0g
ICAgICAgICAgICAudGhlbih0LnVucmVhY2hlZF9mdW5jKCJVTkVYUEVDVEVEIEZBSUxVUkU6IFBy
b21pc2Ugc2hvdWxkIG5vdCBoYXZlIHJlc29sdmVkLiIpKTsKLSAgICB9LAotICAgICJBc3NlcnRp
b24gZmFpbHVyZSBpbiBhIGZ1bGZpbGwgcmVhY3Rpb24gKHNob3VsZCBGQUlMIHdpdGggYW4gZXhw
ZWN0ZWQgZmFpbHVyZSkiKTsKLQotcHJvbWlzZV90ZXN0KAotICAgIGZ1bmN0aW9uKHQpIHsKLSAg
ICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKAotICAgICAgICAgICAgICAgIGZ1bmN0aW9uKHJlc29s
dmUsIHJlamVjdCkgewotICAgICAgICAgICAgICAgICAgICByZWplY3QoMTIzKTsKLSAgICAgICAg
ICAgICAgICB9KQotICAgICAgICAgICAgLnRoZW4odC51bnJlYWNoZWRfZnVuYygiVU5FWFBFQ1RF
RCBGQUlMVVJFOiBGdWxmaWxsIHJlYWN0aW9uIHJlYWNoZWQgYWZ0ZXIgcmVqZWN0aW9uLiIpLAot
ICAgICAgICAgICAgICAgICAgdC51bnJlYWNoZWRfZnVuYygiRXhwZWN0ZWQgZmFpbHVyZS4iKSk7
Ci0gICAgfSwKLSAgICAidW5yZWFjaGVkX2Z1bmMgYXMgcmVhY3RvciAoc2hvdWxkIEZBSUwgd2l0
aCBhbiBleHBlY3RlZCBmYWlsdXJlKSIpOwotCi1wcm9taXNlX3Rlc3QoCi0gICAgZnVuY3Rpb24o
KSB7Ci0gICAgICAgIHJldHVybiB0cnVlOwotICAgIH0sCi0gICAgInByb21pc2VfdGVzdCB3aXRo
IGZ1bmN0aW9uIHRoYXQgZG9lc24ndCByZXR1cm4gYSBQcm9taXNlIik7Ci0KLXByb21pc2VfdGVz
dChmdW5jdGlvbigpe30sCi0gICAgICAgICAgICAgInByb21pc2VfdGVzdCB3aXRoIGZ1bmN0aW9u
IHRoYXQgZG9lc24ndCByZXR1cm4gYW55dGhpbmciKTsKLQotcHJvbWlzZV90ZXN0KAotICAgIGZ1
bmN0aW9uKCkgewotICAgICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QoIkV4cGVjdGVkIHJlamVj
dGlvbiIpOwotICAgIH0sCi0gICAgInByb21pc2VfdGVzdCB3aXRoIHVuaGFuZGxlZCByZWplY3Rp
b24gKHNob3VsZCBGQUlMKSIpOwotCi1wcm9taXNlX3Rlc3QoCi0gICAgZnVuY3Rpb24oKSB7Ci0g
ICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoMTApCi0gICAgICAgICAgICAudGhlbigKLSAg
ICAgICAgICAgICAgICBmdW5jdGlvbih2YWx1ZSkgewotICAgICAgICAgICAgICAgICAgICB0aHJv
dyBFcnJvcigiRXhwZWN0ZWQgZXhjZXB0aW9uLiIpOwotICAgICAgICAgICAgICAgIH0pOwotICAg
IH0sCi0gICAgInByb21pc2VfdGVzdCB3aXRoIHVuaGFuZGxlZCBleGNlcHRpb24gaW4gZnVsZmls
bCByZWFjdGlvbiAoc2hvdWxkIEZBSUwpIik7Ci0KLXByb21pc2VfdGVzdCgKLSAgICBmdW5jdGlv
bih0KSB7Ci0gICAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdCgxMCkKLSAgICAgICAgICAgIC50
aGVuKAotICAgICAgICAgICAgICAgIHQudW5yZWFjaGVkX2Z1bmMoIlVORVhQRUNURUQgRkFJTFVS
RTogRnVsZmlsbCByZWFjdGlvbiByZWFjaGVkIGFmdGVyIHJlamVjdGlvbi4iKSwKLSAgICAgICAg
ICAgICAgICBmdW5jdGlvbih2YWx1ZSkgewotICAgICAgICAgICAgICAgICAgICB0aHJvdyBFcnJv
cigiRXhwZWN0ZWQgZXhjZXB0aW9uLiIpOwotICAgICAgICAgICAgICAgIH0pOwotICAgIH0sCi0g
ICAgInByb21pc2VfdGVzdCB3aXRoIHVuaGFuZGxlZCBleGNlcHRpb24gaW4gcmVqZWN0IHJlYWN0
aW9uIChzaG91bGQgRkFJTCkiKTsKLTwvc2NyaXB0PgotPHNjcmlwdCB0eXBlPSJ0ZXh0L2pzb24i
IGlkPSJleHBlY3RlZCI+Ci17Ci0gICJzdW1tYXJpemVkX3N0YXR1cyI6IHsKLSAgICAic3RhdHVz
X3N0cmluZyI6ICJPSyIsCi0gICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICJzdGFjayI6IG51bGwK
LSAgfSwKLSAgInN1bW1hcml6ZWRfdGVzdHMiOiBbCi0gICAgewotICAgICAgInN0YXR1c19zdHJp
bmciOiAiRkFJTCIsCi0gICAgICAibmFtZSI6ICJBc3NlcnRpb24gZmFpbHVyZSBpbiBhIGZ1bGZp
bGwgcmVhY3Rpb24gKHNob3VsZCBGQUlMIHdpdGggYW4gZXhwZWN0ZWQgZmFpbHVyZSkiLAotICAg
ICAgInN0YWNrIjogIihpbXBsZW1lbnRhdGlvbi1kZWZpbmVkKSIsCi0gICAgICAibWVzc2FnZSI6
ICJhc3NlcnRfdHJ1ZTogRXhwZWN0ZWQgZmFpbHVyZS4gZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2Ui
LAotICAgICAgInByb3BlcnRpZXMiOiB7fQotICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19z
dHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJDaGFpbiBvZiBwcm9taXNlIHJlc29sdXRp
b25zIiwKLSAgICAgICJzdGFjayI6IG51bGwsCi0gICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAg
ICAicHJvcGVydGllcyI6IHt9Ci0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6
ICJQQVNTIiwKLSAgICAgICJuYW1lIjogIlByb21pc2UgZnVsZmlsbG1lbnQgd2l0aCByZXN1bHQi
LAotICAgICAgInN0YWNrIjogbnVsbCwKLSAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICJw
cm9wZXJ0aWVzIjoge30KLSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBB
U1MiLAotICAgICAgIm5hbWUiOiAiUHJvbWlzZSByZWplY3Rpb24gd2l0aCByZXN1bHQiLAotICAg
ICAgInN0YWNrIjogbnVsbCwKLSAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICJwcm9wZXJ0
aWVzIjoge30KLSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAot
ICAgICAgIm5hbWUiOiAiUHJvbWlzZXMgYXJlIHN1cHBvcnRlZCBpbiB5b3VyIGJyb3dzZXIiLAot
ICAgICAgInN0YWNrIjogbnVsbCwKLSAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICJwcm9w
ZXJ0aWVzIjoge30KLSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1Mi
LAotICAgICAgIm5hbWUiOiAicHJvbWlzZV90ZXN0IHdpdGggZnVuY3Rpb24gdGhhdCBkb2Vzbid0
IHJldHVybiBhIFByb21pc2UiLAotICAgICAgInN0YWNrIjogbnVsbCwKLSAgICAgICJtZXNzYWdl
IjogbnVsbCwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30KLSAgICB9LAotICAgIHsKLSAgICAgICJz
dGF0dXNfc3RyaW5nIjogIkZBSUwiLAotICAgICAgIm5hbWUiOiAicHJvbWlzZV90ZXN0IHdpdGgg
ZnVuY3Rpb24gdGhhdCBkb2Vzbid0IHJldHVybiBhbnl0aGluZyIsCi0gICAgICAic3RhY2siOiAi
KGltcGxlbWVudGF0aW9uLWRlZmluZWQpIiwKLSAgICAgICJtZXNzYWdlIjogImFzc2VydF9ub3Rf
ZXF1YWxzOiBnb3QgZGlzYWxsb3dlZCB2YWx1ZSB1bmRlZmluZWQiLAotICAgICAgInByb3BlcnRp
ZXMiOiB7fQotICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiRkFJTCIsCi0g
ICAgICAibmFtZSI6ICJwcm9taXNlX3Rlc3Qgd2l0aCB1bmhhbmRsZWQgZXhjZXB0aW9uIGluIGZ1
bGZpbGwgcmVhY3Rpb24gKHNob3VsZCBGQUlMKSIsCi0gICAgICAic3RhY2siOiAiKGltcGxlbWVu
dGF0aW9uLWRlZmluZWQpIiwKLSAgICAgICJtZXNzYWdlIjogInByb21pc2VfdGVzdDogVW5oYW5k
bGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgXCJFcnJvcjogRXhwZWN0ZWQgZXhjZXB0
aW9uLlwiIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30KLSAgICB9LAotICAgIHsKLSAgICAgICJz
dGF0dXNfc3RyaW5nIjogIkZBSUwiLAotICAgICAgIm5hbWUiOiAicHJvbWlzZV90ZXN0IHdpdGgg
dW5oYW5kbGVkIGV4Y2VwdGlvbiBpbiByZWplY3QgcmVhY3Rpb24gKHNob3VsZCBGQUlMKSIsCi0g
ICAgICAic3RhY2siOiAiKGltcGxlbWVudGF0aW9uLWRlZmluZWQpIiwKLSAgICAgICJtZXNzYWdl
IjogInByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3Qg
XCJFcnJvcjogRXhwZWN0ZWQgZXhjZXB0aW9uLlwiIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30K
LSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIkZBSUwiLAotICAgICAgIm5h
bWUiOiAicHJvbWlzZV90ZXN0IHdpdGggdW5oYW5kbGVkIHJlamVjdGlvbiAoc2hvdWxkIEZBSUwp
IiwKLSAgICAgICJzdGFjayI6ICIoaW1wbGVtZW50YXRpb24tZGVmaW5lZCkiLAotICAgICAgIm1l
c3NhZ2UiOiAicHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IFwi
RXhwZWN0ZWQgcmVqZWN0aW9uXCIiLAotICAgICAgInByb3BlcnRpZXMiOiB7fQotICAgIH0sCi0g
ICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiRkFJTCIsCi0gICAgICAibmFtZSI6ICJ1bnJl
YWNoZWRfZnVuYyBhcyByZWFjdG9yIChzaG91bGQgRkFJTCB3aXRoIGFuIGV4cGVjdGVkIGZhaWx1
cmUpIiwKLSAgICAgICJzdGFjayI6ICIoaW1wbGVtZW50YXRpb24tZGVmaW5lZCkiLAotICAgICAg
Im1lc3NhZ2UiOiAiYXNzZXJ0X3VucmVhY2hlZDogRXhwZWN0ZWQgZmFpbHVyZS4gUmVhY2hlZCB1
bnJlYWNoYWJsZSBjb2RlIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30KLSAgICB9Ci0gIF0sCi0g
ICJ0eXBlIjogImNvbXBsZXRlIgotfQotPC9zY3JpcHQ+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL3NpbmdsZS1w
YWdlLXRlc3QtZmFpbC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvc2luZ2xlLXBhZ2UtdGVz
dC1mYWlsLmh0bWwJKHJldmlzaW9uIDI1Mjg5NikKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvc2luZ2xlLXBhZ2UtdGVz
dC1mYWlsLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwyOSArMCwwIEBACi08IURPQ1RZUEUgSFRN
TD4KLTx0aXRsZT5FeGFtcGxlIHdpdGggZmlsZV9pc190ZXN0IChzaG91bGQgZmFpbCk8L3RpdGxl
PgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIuLi8uLi90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0Pgotb25s
b2FkID0gZnVuY3Rpb24oKSB7Ci0gIGFzc2VydF90cnVlKGZhbHNlKTsKLSAgZG9uZSgpOwotfQot
PC9zY3JpcHQ+Ci08c2NyaXB0IHR5cGU9InRleHQvanNvbiIgaWQ9ImV4cGVjdGVkIj4KLXsKLSAg
InN1bW1hcml6ZWRfc3RhdHVzIjogewotICAgICJzdGF0dXNfc3RyaW5nIjogIk9LIiwKLSAgICAi
bWVzc2FnZSI6IG51bGwsCi0gICAgInN0YWNrIjogbnVsbAotICB9LAotICAic3VtbWFyaXplZF90
ZXN0cyI6IFsKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJGQUlMIiwKLSAgICAgICJu
YW1lIjogIkV4YW1wbGUgd2l0aCBmaWxlX2lzX3Rlc3QgKHNob3VsZCBmYWlsKSIsCi0gICAgICAi
cHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiAidW5jYXVnaHQgZXhjZXB0aW9uOiBF
cnJvcjogYXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlIiwKLSAgICAgICJzdGFj
ayI6ICIoaW1wbGVtZW50YXRpb24tZGVmaW5lZCkiCi0gICAgfQotICBdLAotICAidHlwZSI6ICJj
b21wbGV0ZSIKLX0KLTwvc2NyaXB0PgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9zaW5nbGUtcGFnZS10ZXN0LW5v
LWFzc2VydGlvbnMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL3NpbmdsZS1wYWdlLXRlc3Qt
bm8tYXNzZXJ0aW9ucy5odG1sCShyZXZpc2lvbiAyNTI4OTYpCisrKyBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL3NpbmdsZS1w
YWdlLXRlc3Qtbm8tYXNzZXJ0aW9ucy5odG1sCShub25leGlzdGVudCkKQEAgLTEsMjYgKzAsMCBA
QAotPCFET0NUWVBFIEhUTUw+Ci08dGl0bGU+RXhhbXBsZSBzaW5nbGUgcGFnZSB0ZXN0IHdpdGgg
bm8gYXNzZXJ0czwvdGl0bGU+Ci08c2NyaXB0IHNyYz0iLi4vLi4vdGVzdGhhcm5lc3MuanMiPjwv
c2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQ+Ci1kb25lKCk7Ci08L3NjcmlwdD4KLTxzY3JpcHQgdHlwZT0idGV4dC9qc29u
IiBpZD0iZXhwZWN0ZWQiPgotewotICAic3VtbWFyaXplZF9zdGF0dXMiOiB7Ci0gICAgInN0YXR1
c19zdHJpbmciOiAiT0siLAotICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAic3RhY2siOiBudWxs
Ci0gIH0sCi0gICJzdW1tYXJpemVkX3Rlc3RzIjogWwotICAgIHsKLSAgICAgICJzdGF0dXNfc3Ry
aW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUiOiAiRXhhbXBsZSBzaW5nbGUgcGFnZSB0ZXN0IHdp
dGggbm8gYXNzZXJ0cyIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2Ui
OiBudWxsLAotICAgICAgInN0YWNrIjogbnVsbAotICAgIH0KLSAgXSwKLSAgInR5cGUiOiAiY29t
cGxldGUiCi19Ci08L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvc2luZ2xlLXBhZ2UtdGVzdC1uby1i
b2R5Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9zaW5nbGUtcGFnZS10ZXN0LW5vLWJvZHku
aHRtbAkocmV2aXNpb24gMjUyODk2KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9zaW5nbGUtcGFnZS10ZXN0LW5vLWJv
ZHkuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDI3ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgot
PHRpdGxlPkV4YW1wbGUgc2luZ2xlIHBhZ2UgdGVzdCB3aXRoIG5vIGJvZHk8L3RpdGxlPgotPHNj
cmlwdCBzcmM9Ii4uLy4uL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIu
Li8uLi90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotYXNzZXJ0X3Ry
dWUodHJ1ZSk7Ci1kb25lKCk7Ci08L3NjcmlwdD4KLTxzY3JpcHQgdHlwZT0idGV4dC9qc29uIiBp
ZD0iZXhwZWN0ZWQiPgotewotICAic3VtbWFyaXplZF9zdGF0dXMiOiB7Ci0gICAgInN0YXR1c19z
dHJpbmciOiAiT0siLAotICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAic3RhY2siOiBudWxsCi0g
IH0sCi0gICJzdW1tYXJpemVkX3Rlc3RzIjogWwotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5n
IjogIlBBU1MiLAotICAgICAgIm5hbWUiOiAiRXhhbXBsZSBzaW5nbGUgcGFnZSB0ZXN0IHdpdGgg
bm8gYm9keSIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxs
LAotICAgICAgInN0YWNrIjogbnVsbAotICAgIH0KLSAgXSwKLSAgInR5cGUiOiAiY29tcGxldGUi
Ci19Ci08L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvc2luZ2xlLXBhZ2UtdGVzdC1wYXNzLmh0bWwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9zaW5nbGUtcGFnZS10ZXN0LXBhc3MuaHRtbAkocmV2aXNp
b24gMjUyODk2KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9zaW5nbGUtcGFnZS10ZXN0LXBhc3MuaHRtbAkobm9uZXhp
c3RlbnQpCkBAIC0xLDI5ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPHRpdGxlPkV4YW1wbGUg
d2l0aCBmaWxlX2lzX3Rlc3Q8L3RpdGxlPgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Rlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0Pgotb25sb2FkID0gZnVuY3Rpb24oKSB7Ci0gIGFzc2VydF90cnVl
KHRydWUpOwotICBkb25lKCk7Ci19Ci08L3NjcmlwdD4KLTxzY3JpcHQgdHlwZT0idGV4dC9qc29u
IiBpZD0iZXhwZWN0ZWQiPgotewotICAic3VtbWFyaXplZF9zdGF0dXMiOiB7Ci0gICAgInN0YXR1
c19zdHJpbmciOiAiT0siLAotICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAic3RhY2siOiBudWxs
Ci0gIH0sCi0gICJzdW1tYXJpemVkX3Rlc3RzIjogWwotICAgIHsKLSAgICAgICJzdGF0dXNfc3Ry
aW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUiOiAiRXhhbXBsZSB3aXRoIGZpbGVfaXNfdGVzdCIs
Ci0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAg
InN0YWNrIjogbnVsbAotICAgIH0KLSAgXSwKLSAgInR5cGUiOiAiY29tcGxldGUiCi19Ci08L3Nj
cmlwdD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3Rlc3QvdGVzdHMvdW5jYXVnaHQtZXhjZXB0aW9uLWhhbmRsZS5odG1sCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3Rlc3QvdGVzdHMvdW5jYXVnaHQtZXhjZXB0aW9uLWhhbmRsZS5odG1sCShyZXZpc2lv
biAyNTI4OTYpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy90ZXN0L3Rlc3RzL3VuY2F1Z2h0LWV4Y2VwdGlvbi1oYW5kbGUuaHRtbAkobm9u
ZXhpc3RlbnQpCkBAIC0xLDM1ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVh
ZD4KLTx0aXRsZT5IYXJuZXNzIEhhbmRsaW5nIFVuY2F1Z2h0IEV4Y2VwdGlvbjwvdGl0bGU+Ci08
L2hlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotCi08
Ym9keT4KLTxoMT5IYXJuZXNzIEhhbmRsaW5nIFVuY2F1Z2h0IEV4Y2VwdGlvbjwvaDE+Ci08ZGl2
IGlkPSJsb2ciPjwvZGl2PgotPHNjcmlwdD4KLXZhciB0ID0gYXN5bmNfdGVzdCgiVGhpcyBzaG91
bGQgc2hvdyBhIGhhcm5lc3Mgc3RhdHVzIG9mICdFcnJvcicgYW5kIGEgdGVzdCBzdGF0dXMgb2Yg
J05vdCBSdW4nIik7Ci10aHJvdyBuZXcgRXJyb3IoIkV4YW1wbGUgRXJyb3IiKTsKLTwvc2NyaXB0
PgotPHNjcmlwdCB0eXBlPSJ0ZXh0L2pzb24iIGlkPSJleHBlY3RlZCI+Ci17Ci0gICJzdW1tYXJp
emVkX3N0YXR1cyI6IHsKLSAgICAic3RhdHVzX3N0cmluZyI6ICJFUlJPUiIsCi0gICAgIm1lc3Nh
Z2UiOiAiRXJyb3I6IEV4YW1wbGUgRXJyb3IiLAotICAgICJzdGFjayI6ICIoaW1wbGVtZW50YXRp
b24tZGVmaW5lZCkiCi0gIH0sCi0gICJzdW1tYXJpemVkX3Rlc3RzIjogWwotICAgIHsKLSAgICAg
ICJzdGF0dXNfc3RyaW5nIjogIk5PVFJVTiIsCi0gICAgICAibmFtZSI6ICJUaGlzIHNob3VsZCBz
aG93IGEgaGFybmVzcyBzdGF0dXMgb2YgJ0Vycm9yJyBhbmQgYSB0ZXN0IHN0YXR1cyBvZiAnTm90
IFJ1biciLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogbnVsbCwK
LSAgICAgICJzdGFjayI6IG51bGwKLSAgICB9Ci0gIF0sCi0gICJ0eXBlIjogImNvbXBsZXRlIgot
fQotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL3VuY2F1Z2h0LWV4
Y2VwdGlvbi1pZ25vcmUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL3VuY2F1Z2h0LWV4Y2Vw
dGlvbi1pZ25vcmUuaHRtbAkocmV2aXNpb24gMjUyODk2KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy91bmNhdWdodC1l
eGNlcHRpb24taWdub3JlLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwzNyArMCwwIEBACi08IURP
Q1RZUEUgSFRNTD4KLTxodG1sPgotPGhlYWQ+Ci08dGl0bGU+SGFybmVzcyBJZ25vcmluZyBVbmNh
dWdodCBFeGNlcHRpb248L3RpdGxlPgotPC9oZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KLQotPGJvZHk+Ci08aDE+SGFybmVzcyBJZ25vcmluZyBVbmNh
dWdodCBFeGNlcHRpb248L2gxPgotPGRpdiBpZD0ibG9nIj48L2Rpdj4KLTxzY3JpcHQ+Ci1zZXR1
cCh7YWxsb3dfdW5jYXVnaHRfZXhjZXB0aW9uOnRydWV9KTsKLXZhciB0ID0gYXN5bmNfdGVzdCgi
c2V0dXAoe2FsbG93X3VuY2F1Z2h0X2V4Y2VwdGlvbjp0cnVlfSkgc2hvdWxkIGFsbG93IHRlc3Rz
IHRvIHBhc3MgZXZlbiBpZiB0aGVyZSBpcyBhbiBleGNlcHRpb24iKTsKLW9uZXJyb3IgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbigpIHt0LmRvbmUoKX0pOwotdGhyb3cgbmV3IEVycm9yKCJFeGFtcGxl
IEVycm9yIik7Ci08L3NjcmlwdD4KLTxzY3JpcHQgdHlwZT0idGV4dC9qc29uIiBpZD0iZXhwZWN0
ZWQiPgotewotICAic3VtbWFyaXplZF9zdGF0dXMiOiB7Ci0gICAgInN0YXR1c19zdHJpbmciOiAi
T0siLAotICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAic3RhY2siOiBudWxsCi0gIH0sCi0gICJz
dW1tYXJpemVkX3Rlc3RzIjogWwotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1Mi
LAotICAgICAgIm5hbWUiOiAic2V0dXAoe2FsbG93X3VuY2F1Z2h0X2V4Y2VwdGlvbjp0cnVlfSkg
c2hvdWxkIGFsbG93IHRlc3RzIHRvIHBhc3MgZXZlbiBpZiB0aGVyZSBpcyBhbiBleGNlcHRpb24i
LAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAg
ICJzdGFjayI6IG51bGwKLSAgICB9Ci0gIF0sCi0gICJ0eXBlIjogImNvbXBsZXRlIgotfQotPC9z
Y3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL3czYy1pbXBvcnQubG9nCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3Rlc3QvdGVzdHMvdzNjLWltcG9ydC5sb2cJKHJldmlzaW9uIDI1Mjg5NikKKysr
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rl
c3QvdGVzdHMvdzNjLWltcG9ydC5sb2cJKG5vbmV4aXN0ZW50KQpAQCAtMSw0MiArMCwwIEBACi1U
aGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVw
b3NpdG9yeS4KLURvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0Lgot
SW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgotCWh0dHBz
Oi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCi0KLVRoZW4gcnVuIHRoZSBUb29s
cy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0Ci0KLURvIE5P
VCBtb2RpZnkgb3IgcmVtb3ZlIHRoaXMgZmlsZS4KLQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1Qcm9wZXJ0
aWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6Ci1Ob25lCi1Qcm9wZXJ0eSB2YWx1ZXMgcmVx
dWlyaW5nIHZlbmRvciBwcmVmaXhlczoKLU5vbmUKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotTGlzdCBvZiBm
aWxlczoKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy90ZXN0L3Rlc3RzL2FkZF9jbGVhbnVwLmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2FkZF9jbGVhbnVwX2Nv
dW50Lmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy90ZXN0L3Rlc3RzL2FkZF9jbGVhbnVwX2Vyci5odG1sCi0vTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9hZGRfY2xl
YW51cF9lcnJfbXVsdGkuaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvYXBpLXRlc3RzLTEuaHRtbAotL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMv
YXBpLXRlc3RzLTIuaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvYXBpLXRlc3RzLTMuaHRtbAotL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZ2Vu
ZXJhdGUtY2FsbGJhY2suaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWZyYW1lLWNhbGxiYWNrLmh0bWwKLS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rl
c3RzL2lmcmFtZS1jb25zb2xpZGF0ZS1lcnJvcnMuaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWZyYW1lLWNvbnNv
bGlkYXRlLXRlc3RzLmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2lmcmFtZS1tc2cuaHRtbAotL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvb3Jk
ZXIuaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3Rlc3QvdGVzdHMvcHJvbWlzZS1hc3luYy5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9wcm9taXNlLmh0
bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy90ZXN0L3Rlc3RzL3NpbmdsZS1wYWdlLXRlc3QtZmFpbC5odG1sCi0vTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9zaW5nbGUt
cGFnZS10ZXN0LW5vLWFzc2VydGlvbnMuaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvc2luZ2xlLXBhZ2UtdGVzdC1u
by1ib2R5Lmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy90ZXN0L3Rlc3RzL3NpbmdsZS1wYWdlLXRlc3QtcGFzcy5odG1sCi0vTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0
cy91bmNhdWdodC1leGNlcHRpb24taGFuZGxlLmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL3VuY2F1Z2h0LWV4Y2Vw
dGlvbi1pZ25vcmUuaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvd29ya2VyLWRlZGljYXRlZC5odG1sCi0vTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0
cy93b3JrZXItZXJyb3IuanMKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL3dvcmtlci1zZXJ2aWNlLmh0bWwKLS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3Rz
L3dvcmtlci1zaGFyZWQuaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvd29ya2VyLmpzCkluZGV4OiBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL3dv
cmtlci1kZWRpY2F0ZWQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL3dvcmtlci1kZWRpY2F0
ZWQuaHRtbAkocmV2aXNpb24gMjUyODk2KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy93b3JrZXItZGVkaWNhdGVkLmh0
bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSw5NyArMCwwIEBACi08IURPQ1RZUEUgSFRNTD4KLTxodG1s
PgotPGhlYWQ+Ci08dGl0bGU+RGVkaWNhdGVkIFdvcmtlciBUZXN0czwvdGl0bGU+Ci08c2NyaXB0
IHNyYz0iLi4vLi4vdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4u
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGgxPkRl
ZGljYXRlZCBXZWIgV29ya2VyIFRlc3RzPC9oMT4KLTxwPkRlbW9uc3RyYXRlcyBydW5uaW5nIDx0
dD50ZXN0aGFybmVzczwvdHQ+IGJhc2VkIHRlc3RzIGluc2lkZSBhIGRlZGljYXRlZCB3ZWIgd29y
a2VyLgotPHA+VGhlIHRlc3QgaGFybmVzcyBpcyBleHBlY3RlZCB0byBmYWlsIGR1ZSB0byBhbiB1
bmNhdWdodCBleGNlcHRpb24gaW4gb25lIHdvcmtlci48L3A+Ci08ZGl2IGlkPSJsb2ciPjwvZGl2
PgotCi08c2NyaXB0PgotdGVzdChmdW5jdGlvbih0KSB7Ci0gICAgICAgIGFzc2VydF90cnVlKCJX
b3JrZXIiIGluIHNlbGYsICJCcm93c2VyIHNob3VsZCBzdXBwb3J0IFdvcmtlcnMiKTsKLSAgICB9
LAotICAgICJCcm93c2VyIHN1cHBvcnRzIFdvcmtlcnMiKTsKLQotZmV0Y2hfdGVzdHNfZnJvbV93
b3JrZXIobmV3IFdvcmtlcigid29ya2VyLmpzIikpOwotCi1mZXRjaF90ZXN0c19mcm9tX3dvcmtl
cihuZXcgV29ya2VyKCJ3b3JrZXItZXJyb3IuanMiKSk7Ci0KLXRlc3QoZnVuY3Rpb24odCkgewot
ICAgICAgICBhc3NlcnRfZmFsc2UoZmFsc2UsICJGYWxzZSBpcyBmYWxzZSIpOwotICAgIH0sCi0g
ICAgIlRlc3QgcnVubmluZyBvbiBtYWluIGRvY3VtZW50LiIpOwotPC9zY3JpcHQ+Ci08c2NyaXB0
IHR5cGU9InRleHQvanNvbiIgaWQ9ImV4cGVjdGVkIj4KLXsKLSAgInN1bW1hcml6ZWRfc3RhdHVz
IjogewotICAgICJzdGF0dXNfc3RyaW5nIjogIkVSUk9SIiwKLSAgICAibWVzc2FnZSI6ICJFcnJv
cjogVGhpcyBmYWlsdXJlIGlzIGV4cGVjdGVkLiIsCi0gICAgInN0YWNrIjogIihpbXBsZW1lbnRh
dGlvbi1kZWZpbmVkKSIKLSAgfSwKLSAgInN1bW1hcml6ZWRfdGVzdHMiOiBbCi0gICAgewotICAg
ICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJCcm93c2VyIHN1cHBv
cnRzIFdvcmtlcnMiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjog
bnVsbCwKLSAgICAgICJzdGFjayI6IG51bGwKLSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0dXNf
c3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUiOiAiVGVzdCBydW5uaW5nIG9uIG1haW4gZG9j
dW1lbnQuIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6IG51bGws
Ci0gICAgICAic3RhY2siOiBudWxsCi0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmlu
ZyI6ICJGQUlMIiwKLSAgICAgICJuYW1lIjogIlVudGl0bGVkIiwKLSAgICAgICJwcm9wZXJ0aWVz
Ijoge30sCi0gICAgICAibWVzc2FnZSI6ICJFcnJvcjogVGhpcyBmYWlsdXJlIGlzIGV4cGVjdGVk
LiIsCi0gICAgICAic3RhY2siOiAiKGltcGxlbWVudGF0aW9uLWRlZmluZWQpIgotICAgIH0sCi0g
ICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJXb3Jr
ZXIgYXN5bmNfdGVzdCB0aGF0IGNvbXBsZXRlcyBzdWNjZXNzZnVsbHkiLAotICAgICAgInByb3Bl
cnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICJzdGFjayI6IG51bGwK
LSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5h
bWUiOiAiV29ya2VyIHRlc3QgdGhhdCBjb21wbGV0ZXMgc3VjY2Vzc2Z1bGx5IiwKLSAgICAgICJw
cm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAic3RhY2siOiBu
dWxsCi0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJOT1RSVU4iLAotICAg
ICAgIm5hbWUiOiAiV29ya2VyIHRlc3QgdGhhdCBkb2Vzbid0IHJ1biAoJ05PVCBSVU4nKSIsCi0g
ICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgInN0
YWNrIjogbnVsbAotICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiRkFJTCIs
Ci0gICAgICAibmFtZSI6ICJXb3JrZXIgdGVzdCB0aGF0IGZhaWxzICgnRkFJTCcpIiwKLSAgICAg
ICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6ICJhc3NlcnRfdHJ1ZTogRmFpbGlu
ZyB0ZXN0IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlIiwKLSAgICAgICJzdGFjayI6ICIoaW1wbGVt
ZW50YXRpb24tZGVmaW5lZCkiCi0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6
ICJUSU1FT1VUIiwKLSAgICAgICJuYW1lIjogIldvcmtlciB0ZXN0IHRoYXQgdGltZXMgb3V0ICgn
VElNRU9VVCcpIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6ICJU
ZXN0IHRpbWVkIG91dCIsCi0gICAgICAic3RhY2siOiBudWxsCi0gICAgfQotICBdLAotICAidHlw
ZSI6ICJjb21wbGV0ZSIKLX0KLTwvc2NyaXB0PgotPC9ib2R5PgpJbmRleDogTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy93b3Jr
ZXItZXJyb3IuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy93b3JrZXItZXJyb3IuanMJKHJldmlz
aW9uIDI1Mjg5NikKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvd29ya2VyLWVycm9yLmpzCShub25leGlzdGVudCkKQEAg
LTEsMyArMCwwIEBACi1pbXBvcnRTY3JpcHRzKCIuLi8uLi90ZXN0aGFybmVzcy5qcyIpOwotCi10
aHJvdyBuZXcgRXJyb3IoIlRoaXMgZmFpbHVyZSBpcyBleHBlY3RlZC4iKTsKSW5kZXg6IExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVz
dHMvd29ya2VyLXNlcnZpY2UuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL3dvcmtlci1zZXJ2
aWNlLmh0bWwJKHJldmlzaW9uIDI1Mjg5NikKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvd29ya2VyLXNlcnZpY2UuaHRt
bAkobm9uZXhpc3RlbnQpCkBAIC0xLDEyMyArMCwwIEBACi08IURPQ1RZUEUgSFRNTD4KLTxodG1s
PgotPGhlYWQ+Ci08dGl0bGU+RXhhbXBsZSB3aXRoIGEgc2VydmljZSB3b3JrZXI8L3RpdGxlPgot
PHNjcmlwdCBzcmM9Ii4uLy4uL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIuLi8uLi90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4K
LTxoMT5TZXJ2aWNlIFdvcmtlciBUZXN0czwvaDE+Ci08cD5EZW1vbnN0cmF0ZXMgcnVubmluZyA8
dHQ+dGVzdGhhcm5lc3M8L3R0PiBiYXNlZCB0ZXN0cyBpbnNpZGUgYSBzZXJ2aWNlIHdvcmtlci4K
LTxwPlRoZSB0ZXN0IGhhcm5lc3Mgc2hvdWxkIHRpbWUgb3V0IGR1ZSB0byBvbmUgb2YgdGhlIHRl
c3RzIGluc2lkZSB0aGUgd29ya2VyIHRpbWluZyBvdXQuCi08cD5UaGlzIHRlc3QgYXNzdW1lcyB0
aGF0IHRoZSBicm93c2VyIHN1cHBvcnRzIDxhIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL3Nl
cnZpY2Utd29ya2Vycy8iPlNlcnZpY2VXb3JrZXJzPC9hPi4KLTxkaXYgaWQ9ImxvZyI+PC9kaXY+
Ci0KLTxzY3JpcHQ+Ci10ZXN0KAotICAgIGZ1bmN0aW9uKHQpIHsKLSAgICAgICAgYXNzZXJ0X3Ry
dWUoInNlcnZpY2VXb3JrZXIiIGluIG5hdmlnYXRvciwKLSAgICAgICAgICAgICAgICAgICAgIm5h
dmlnYXRvci5zZXJ2aWNlV29ya2VyIGV4aXN0cyIpOwotICAgIH0sCi0gICAgIkJyb3dzZXIgc3Vw
cG9ydHMgU2VydmljZVdvcmtlciIpOwotCi1wcm9taXNlX3Rlc3QoCi0gICAgZnVuY3Rpb24oKSB7
Ci0gICAgICAgIC8vIFNpbmNlIHRoZSBzZXJ2aWNlIHdvcmtlciByZWdpc3RyYXRpb24gY291bGQg
YmUgaW4gYW4gaW5kZXRlcm1pbmF0ZQotICAgICAgICAvLyBzdGF0ZSAoZHVlIHRvLCBmb3IgZXhh
bXBsZSwgYSBwcmV2aW91cyB0ZXN0IHJ1biBmYWlsaW5nKSwgd2Ugc3RhcnQgYnkKLSAgICAgICAg
Ly8gdW5yZWdzdGVyaW5nIG91ciBzZXJ2aWNlIHdvcmtlciBhbmQgdGhlbiByZWdpc3RlcmluZyBp
dCBhZ2Fpbi4KLSAgICAgICAgdmFyIHNjb3BlID0gInNlcnZpY2Utd29ya2VyLXNjb3BlIjsKLSAg
ICAgICAgdmFyIHdvcmtlcl91cmwgPSAid29ya2VyLmpzIjsKLQotICAgICAgICByZXR1cm4gbmF2
aWdhdG9yLnNlcnZpY2VXb3JrZXIucmVnaXN0ZXIod29ya2VyX3VybCwge3Njb3BlOiBzY29wZX0p
Ci0gICAgICAgICAgICAudGhlbigKLSAgICAgICAgICAgICAgICBmdW5jdGlvbihyZWdpc3RyYXRp
b24pIHsKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlZ2lzdHJhdGlvbi51bnJlZ2lzdGVy
KCk7Ci0gICAgICAgICAgICAgICAgfSkKLSAgICAgICAgICAgIC50aGVuKAotICAgICAgICAgICAg
ICAgIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmF2aWdhdG9yLnNl
cnZpY2VXb3JrZXIucmVnaXN0ZXIod29ya2VyX3VybCwge3Njb3BlOiBzY29wZX0pOwotICAgICAg
ICAgICAgICAgIH0pCi0gICAgICAgICAgICAudGhlbigKLSAgICAgICAgICAgICAgICBmdW5jdGlv
bihyZWdpc3RyYXRpb24pIHsKLSAgICAgICAgICAgICAgICAgICAgYWRkX2NvbXBsZXRpb25fY2Fs
bGJhY2soCi0gICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbigpIHsKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICByZWdpc3RyYXRpb24udW5yZWdpc3RlcigpOwotICAgICAgICAgICAg
ICAgICAgICAgICAgfSk7Ci0KLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNl
KAotICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24ocmVzb2x2ZSkgewotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHJlZ2lzdHJhdGlvbi5hZGRFdmVudExpc3RlbmVyKCJ1cGRhdGVm
b3VuZCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uKCkgewotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZShyZWdpc3RyYXRpb24uaW5z
dGFsbGluZyk7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pOwotICAgICAgICAg
ICAgICAgICAgICAgICAgfSk7Ci0gICAgICAgICAgICAgICAgfSkKLSAgICAgICAgICAgIC50aGVu
KAotICAgICAgICAgICAgICAgIGZ1bmN0aW9uKHdvcmtlcikgewotICAgICAgICAgICAgICAgICAg
ICBmZXRjaF90ZXN0c19mcm9tX3dvcmtlcih3b3JrZXIpOwotICAgICAgICAgICAgICAgIH0pOwot
ICAgIH0sCi0gICAgIlJlZ2lzdGVyIFNlcnZpY2VXb3JrZXIiKTsKLTwvc2NyaXB0PgotPHNjcmlw
dCB0eXBlPSJ0ZXh0L2pzb24iIGlkPSJleHBlY3RlZCI+Ci17Ci0gICJzdW1tYXJpemVkX3N0YXR1
cyI6IHsKLSAgICAic3RhdHVzX3N0cmluZyI6ICJUSU1FT1VUIiwKLSAgICAibWVzc2FnZSI6IG51
bGwsCi0gICAgInN0YWNrIjogbnVsbAotICB9LAotICAic3VtbWFyaXplZF90ZXN0cyI6IFsKLSAg
ICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1lIjogIkJyb3dz
ZXIgc3VwcG9ydHMgU2VydmljZVdvcmtlciIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAg
ICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgInN0YWNrIjogbnVsbAotICAgIH0sCi0gICAgewot
ICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJSZWdpc3RlciBT
ZXJ2aWNlV29ya2VyIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6
IG51bGwsCi0gICAgICAic3RhY2siOiBudWxsCi0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVz
X3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1lIjogIldvcmtlciBhc3luY190ZXN0IHRoYXQg
Y29tcGxldGVzIHN1Y2Nlc3NmdWxseSIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAg
Im1lc3NhZ2UiOiBudWxsLAotICAgICAgInN0YWNrIjogbnVsbAotICAgIH0sCi0gICAgewotICAg
ICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJXb3JrZXIgdGVzdCB0
aGF0IGNvbXBsZXRlcyBzdWNjZXNzZnVsbHkiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAg
ICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICJzdGFjayI6IG51bGwKLSAgICB9LAotICAgIHsK
LSAgICAgICJzdGF0dXNfc3RyaW5nIjogIk5PVFJVTiIsCi0gICAgICAibmFtZSI6ICJXb3JrZXIg
dGVzdCB0aGF0IGRvZXNuJ3QgcnVuICgnTk9UIFJVTicpIiwKLSAgICAgICJwcm9wZXJ0aWVzIjog
e30sCi0gICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAic3RhY2siOiBudWxsCi0gICAgfSwK
LSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJGQUlMIiwKLSAgICAgICJuYW1lIjogIldv
cmtlciB0ZXN0IHRoYXQgZmFpbHMgKCdGQUlMJykiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwK
LSAgICAgICJtZXNzYWdlIjogImFzc2VydF90cnVlOiBGYWlsaW5nIHRlc3QgZXhwZWN0ZWQgdHJ1
ZSBnb3QgZmFsc2UiLAotICAgICAgInN0YWNrIjogIihpbXBsZW1lbnRhdGlvbi1kZWZpbmVkKSIK
LSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlRJTUVPVVQiLAotICAgICAg
Im5hbWUiOiAiV29ya2VyIHRlc3QgdGhhdCB0aW1lcyBvdXQgKCdUSU1FT1VUJykiLAotICAgICAg
InByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogIlRlc3QgdGltZWQgb3V0IiwKLSAg
ICAgICJzdGFjayI6IG51bGwKLSAgICB9Ci0gIF0sCi0gICJ0eXBlIjogImNvbXBsZXRlIgotfQot
PC9zY3JpcHQ+Ci08L2JvZHk+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL3dvcmtlci1zaGFyZWQuaHRtbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy90ZXN0L3Rlc3RzL3dvcmtlci1zaGFyZWQuaHRtbAkocmV2aXNpb24gMjUyODk2KQor
KysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
dGVzdC90ZXN0cy93b3JrZXItc2hhcmVkLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSw4MCArMCww
IEBACi08IURPQ1RZUEUgSFRNTD4KLTxodG1sPgotPGhlYWQ+Ci08dGl0bGU+RXhhbXBsZSB3aXRo
IGEgc2hhcmVkIHdvcmtlcjwvdGl0bGU+Ci08c2NyaXB0IHNyYz0iLi4vLi4vdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48
L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGgxPlNoYXJlZCBXZWIgV29ya2VyIFRlc3RzPC9o
MT4KLTxwPkRlbW9uc3RyYXRlcyBydW5uaW5nIDx0dD50ZXN0aGFybmVzczwvdHQ+IGJhc2VkIHRl
c3RzIGluc2lkZSBhIHNoYXJlZCB3b3JrZXIuCi08cD5UaGUgdGVzdCBoYXJuZXNzIHNob3VsZCB0
aW1lIG91dCBkdWUgdG8gb25lIG9mIHRoZSB0ZXN0cyBpbiB0aGUgd29ya2VyIHRpbWluZyBvdXQu
Ci08cD5UaGlzIHRlc3QgYXNzdW1lcyB0aGF0IHRoZSBicm93c2VyIHN1cHBvcnRzIDxhIGhyZWY9
Imh0dHA6Ly93d3cudzMub3JnL1RSL3dvcmtlcnMvI3NoYXJlZC13b3JrZXJzLWFuZC10aGUtc2hh
cmVkd29ya2VyLWludGVyZmFjZSI+c2hhcmVkIHdlYiB3b3JrZXJzPC9hPi4KLTxkaXYgaWQ9Imxv
ZyI+PC9kaXY+Ci0KLTxzY3JpcHQ+Ci10ZXN0KAotICAgIGZ1bmN0aW9uKHQpIHsKLSAgICAgICAg
YXNzZXJ0X3RydWUoIlNoYXJlZFdvcmtlciIgaW4gc2VsZiwKLSAgICAgICAgICAgICAgICAgICAg
IkJyb3dzZXIgc2hvdWxkIHN1cHBvcnQgU2hhcmVkV29ya2VycyIpOwotICAgIH0sCi0gICAgIkJy
b3dzZXIgc3VwcG9ydHMgU2hhcmVkV29ya2VycyIpOwotCi1mZXRjaF90ZXN0c19mcm9tX3dvcmtl
cihuZXcgU2hhcmVkV29ya2VyKCJ3b3JrZXIuanMiLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAiTXkgc2hhcmVkIHdvcmtlciIpKTsKLTwvc2NyaXB0PgotPHNjcmlw
dCB0eXBlPSJ0ZXh0L2pzb24iIGlkPSJleHBlY3RlZCI+Ci17Ci0gICJzdW1tYXJpemVkX3N0YXR1
cyI6IHsKLSAgICAic3RhdHVzX3N0cmluZyI6ICJUSU1FT1VUIiwKLSAgICAibWVzc2FnZSI6IG51
bGwsCi0gICAgInN0YWNrIjogbnVsbAotICB9LAotICAic3VtbWFyaXplZF90ZXN0cyI6IFsKLSAg
ICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1lIjogIkJyb3dz
ZXIgc3VwcG9ydHMgU2hhcmVkV29ya2VycyIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAg
ICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgInN0YWNrIjogbnVsbAotICAgIH0sCi0gICAgewot
ICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgIm5hbWUiOiAiV29ya2VyIGFzeW5jX3Rlc3Qg
dGhhdCBjb21wbGV0ZXMgc3VjY2Vzc2Z1bGx5IiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0g
ICAgICAic3RhY2siOiBudWxsLAotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIKLSAgICB9
LAotICAgIHsKLSAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICJuYW1lIjogIldvcmtlciB0
ZXN0IHRoYXQgY29tcGxldGVzIHN1Y2Nlc3NmdWxseSIsCi0gICAgICAicHJvcGVydGllcyI6IHt9
LAotICAgICAgInN0YWNrIjogbnVsbCwKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiCi0g
ICAgfSwKLSAgICB7Ci0gICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAibmFtZSI6ICJXb3Jr
ZXIgdGVzdCB0aGF0IGRvZXNuJ3QgcnVuICgnTk9UIFJVTicpIiwKLSAgICAgICJwcm9wZXJ0aWVz
Ijoge30sCi0gICAgICAic3RhY2siOiBudWxsLAotICAgICAgInN0YXR1c19zdHJpbmciOiAiTk9U
UlVOIgotICAgIH0sCi0gICAgewotICAgICAgIm1lc3NhZ2UiOiAiYXNzZXJ0X3RydWU6IEZhaWxp
bmcgdGVzdCBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZSIsCi0gICAgICAibmFtZSI6ICJXb3JrZXIg
dGVzdCB0aGF0IGZhaWxzICgnRkFJTCcpIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAg
ICAic3RhY2siOiAiKGltcGxlbWVudGF0aW9uLWRlZmluZWQpIiwKLSAgICAgICJzdGF0dXNfc3Ry
aW5nIjogIkZBSUwiCi0gICAgfSwKLSAgICB7Ci0gICAgICAibWVzc2FnZSI6ICJUZXN0IHRpbWVk
IG91dCIsCi0gICAgICAibmFtZSI6ICJXb3JrZXIgdGVzdCB0aGF0IHRpbWVzIG91dCAoJ1RJTUVP
VVQnKSIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgInN0YWNrIjogbnVsbCwKLSAg
ICAgICJzdGF0dXNfc3RyaW5nIjogIlRJTUVPVVQiCi0gICAgfQotICBdLAotICAidHlwZSI6ICJj
b21wbGV0ZSIKLX0KLTwvc2NyaXB0PgotPC9ib2R5PgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy93b3JrZXIuanMK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy93b3JrZXIuanMJKHJldmlzaW9uIDI1Mjg5NikKKysrIExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3Qv
dGVzdHMvd29ya2VyLmpzCShub25leGlzdGVudCkKQEAgLTEsMzQgKzAsMCBAQAotaW1wb3J0U2Ny
aXB0cygiLi4vLi4vdGVzdGhhcm5lc3MuanMiKTsKLQotdGVzdCgKLSAgICBmdW5jdGlvbih0ZXN0
KSB7Ci0gICAgICAgIGFzc2VydF90cnVlKHRydWUsICJUcnVlIGlzIHRydWUiKTsKLSAgICB9LAot
ICAgICJXb3JrZXIgdGVzdCB0aGF0IGNvbXBsZXRlcyBzdWNjZXNzZnVsbHkiKTsKLQotdGVzdCgK
LSAgICBmdW5jdGlvbih0ZXN0KSB7Ci0gICAgICAgIGFzc2VydF90cnVlKGZhbHNlLCAiRmFpbGlu
ZyB0ZXN0Iik7Ci0gICAgfSwKLSAgICAiV29ya2VyIHRlc3QgdGhhdCBmYWlscyAoJ0ZBSUwnKSIp
OwotCi1hc3luY190ZXN0KAotICAgIGZ1bmN0aW9uKHRlc3QpIHsKLSAgICAgICAgYXNzZXJ0X3Ry
dWUodHJ1ZSwgIlRydWUgaXMgdHJ1ZSIpOwotICAgIH0sCi0gICAgIldvcmtlciB0ZXN0IHRoYXQg
dGltZXMgb3V0ICgnVElNRU9VVCcpIik7Ci0KLWFzeW5jX3Rlc3QoIldvcmtlciB0ZXN0IHRoYXQg
ZG9lc24ndCBydW4gKCdOT1QgUlVOJykiKTsKLQotYXN5bmNfdGVzdCgKLSAgICBmdW5jdGlvbih0
ZXN0KSB7Ci0gICAgICAgIHNlbGYuc2V0VGltZW91dCgKLSAgICAgICAgICAgIGZ1bmN0aW9uKCkg
ewotICAgICAgICAgICAgICAgIHRlc3QuZG9uZSgpOwotICAgICAgICAgICAgfSwKLSAgICAgICAg
ICAgIDApOwotICAgIH0sCi0gICAgIldvcmtlciBhc3luY190ZXN0IHRoYXQgY29tcGxldGVzIHN1
Y2Nlc3NmdWxseSIpOwotCi0vLyBBbiBleHBsaWNpdCBkb25lKCkgaXMgcmVxdWlyZWQgZm9yIGRl
ZGljYXRlZCBhbmQgc2hhcmVkIHdlYiB3b3JrZXJzLgotZG9uZSgpOwpJbmRleDogTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90b3guaW5p
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3Rlc3QvdG94LmluaQkocmV2aXNpb24gMjUyODk2KQorKysgTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90b3guaW5p
CShub25leGlzdGVudCkKQEAgLTEsMTMgKzAsMCBAQAotW3RveF0KLXNraXBzZGlzdD1UcnVlCi0K
LVt0ZXN0ZW52XQotcGFzc2Vudj1ESVNQTEFZICMgTmVjZXNzYXJ5IGZvciB0aGUgc3Bhd25lZCBH
ZWNrb0RyaXZlciBwcm9jZXNzIHRvIGNvbm5lY3QgdG8KLSAgICAgICAgICAgICAgICAjIHRoZSBh
cHByb3ByaWF0ZSBkaXNwbGF5LgotZGVwcyA9Ci0gIGh0bWw1bGliCi0gIHB5dGVzdD49Mi45Ci0g
IHB5dmlydHVhbGRpc3BsYXkKLSAgc2VsZW5pdW0KLQotY29tbWFuZHMgPSBweXRlc3Qge3Bvc2Fy
Z3N9IC12diB0ZXN0cwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvdGVzdC93M2MtaW1wb3J0LmxvZwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3cz
Yy1pbXBvcnQubG9nCShyZXZpc2lvbiAyNTI4OTYpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3czYy1pbXBvcnQubG9nCShub25l
eGlzdGVudCkKQEAgLTEsMjIgKzAsMCBAQAotVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdl
cmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCi1EbyBOT1QgbW9kaWZ5IHRoZXNl
IHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVz
dCBvbiB0aGUgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cwotCi1UaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGlu
IFdlYktpdCB0byByZWltcG9ydAotCi1EbyBOT1QgbW9kaWZ5IG9yIHJlbW92ZSB0aGlzIGZpbGUu
Ci0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLQotUHJvcGVydGllcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVz
OgotTm9uZQotUHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6Ci1Ob25l
Ci0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0KLUxpc3Qgb2YgZmlsZXM6Ci0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC9SRUFETUUubWQKLS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L2NvbmZp
Zy50ZXN0Lmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy90ZXN0L2NvbmZ0ZXN0LnB5Ci0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC9oYXJuZXNzLmh0bWwKLS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3RveC5pbmkK
LS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90
ZXN0L3dwdHNlcnZlci5weQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC93cHRzZXJ2ZXIucHkKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC93
cHRzZXJ2ZXIucHkJKHJldmlzaW9uIDI1Mjg5NikKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3Qvd3B0c2VydmVyLnB5CShub25leGlz
dGVudCkKQEAgLTEsNDggKzAsMCBAQAotaW1wb3J0IGpzb24KLWltcG9ydCBvcwotaW1wb3J0IHNz
bAotaW1wb3J0IHN1YnByb2Nlc3MKLWltcG9ydCB1cmxsaWIyCi0KLV9DT05GSUdfRklMRSA9IG9z
LnBhdGguam9pbihvcy5wYXRoLmRpcm5hbWUob3MucGF0aC5hYnNwYXRoKF9fZmlsZV9fKSksCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2NvbmZpZy50ZXN0Lmpzb24nKQotCi13aXRoIG9w
ZW4oX0NPTkZJR19GSUxFLCAncicpIGFzIGNvbmZpZ19oYW5kbGU6Ci0gICAgY29uZmlnID0ganNv
bi5sb2Fkcyhjb25maWdfaGFuZGxlLnJlYWQoKSkKLSAgICBob3N0ID0gY29uZmlnWyJob3N0Il0K
LSAgICBwb3J0ID0gY29uZmlnWyJwb3J0cyJdWyJodHRwcyJdWzBdCi0KLWNsYXNzIFdQVFNlcnZl
cihvYmplY3QpOgotICAgIGJhc2VfdXJsID0gJ2h0dHBzOi8vJXM6JXMnICUgKGhvc3QsIHBvcnQp
Ci0KLSAgICBkZWYgX19pbml0X18oc2VsZiwgd3B0X3Jvb3QpOgotICAgICAgICBzZWxmLndwdF9y
b290ID0gd3B0X3Jvb3QKLQotICAgIGRlZiBzdGFydChzZWxmKToKLSAgICAgICAgc2VsZi5kZXZu
dWxsID0gb3Blbihvcy5kZXZudWxsLCAndycpCi0gICAgICAgIHNlbGYucHJvYyA9IHN1YnByb2Nl
c3MuUG9wZW4oCi0gICAgICAgICAgICBbb3MucGF0aC5qb2luKHNlbGYud3B0X3Jvb3QsICd3cHQn
KSwgJ3NlcnZlJywgJy0tY29uZmlnPScgKyBfQ09ORklHX0ZJTEVdLAotICAgICAgICAgICAgc3Rk
b3V0PXNlbGYuZGV2bnVsbCwKLSAgICAgICAgICAgIHN0ZGVycj1zZWxmLmRldm51bGwsCi0gICAg
ICAgICAgICBjd2Q9c2VsZi53cHRfcm9vdCkKLSAgICAgICAgY29udGV4dCA9IHNzbC5TU0xDb250
ZXh0KHNzbC5QUk9UT0NPTF9UTFN2MSkKLSAgICAgICAgY29udGV4dC52ZXJpZnlfbW9kZSA9IHNz
bC5DRVJUX05PTkUKLSAgICAgICAgY29udGV4dC5jaGVja19ob3N0bmFtZSA9IEZhbHNlCi0KLSAg
ICAgICAgd2hpbGUgVHJ1ZToKLSAgICAgICAgICAgIGlmIHNlbGYucHJvYy5wb2xsKCkgIT0gTm9u
ZToKLSAgICAgICAgICAgICAgICByYWlzZSBFeGNlcHRpb24oJ0NvdWxkIG5vdCBzdGFydCB3cHRz
ZXJ2ZS4nKQotCi0gICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgdXJsbGliMi51cmxv
cGVuKHNlbGYuYmFzZV91cmwsIHRpbWVvdXQ9MSwgY29udGV4dD1jb250ZXh0KQotICAgICAgICAg
ICAgICAgIGJyZWFrCi0gICAgICAgICAgICBleGNlcHQgdXJsbGliMi5VUkxFcnJvciBhcyBlOgot
ICAgICAgICAgICAgICAgIHBhc3MKLQotICAgIGRlZiBzdG9wKHNlbGYpOgotICAgICAgICBzZWxm
LnByb2Mua2lsbCgpCi0gICAgICAgIHNlbGYucHJvYy53YWl0KCkKLSAgICAgICAgc2VsZi5kZXZu
dWxsLmNsb3NlKCkKLQotICAgIGRlZiB1cmwoc2VsZiwgYWJzX3BhdGgpOgotICAgICAgICByZXR1
cm4gc2VsZi5iYXNlX3VybCArICcvJyArIG9zLnBhdGgucmVscGF0aChhYnNfcGF0aCwgc2VsZi53
cHRfcm9vdCkKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3Rlc3Rkcml2ZXItYWN0aW9ucy5qcwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0ZHJpdmVy
LWFjdGlvbnMuanMJKHJldmlzaW9uIDI1Mjg5NikKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3Rkcml2ZXItYWN0aW9ucy5qcwkod29y
a2luZyBjb3B5KQpAQCAtMyw4ICszLDEwIEBACiAKICAgLyoqCiAgICAqIEJ1aWxkZXIgZm9yIGNy
ZWF0aW5nIGEgc2VxdWVuY2Ugb2YgYWN0aW9ucworICAgKiBUaGUgZGVmYXVsdCB0aWNrIGR1cmF0
aW9uIGlzIHNldCB0byAxNm1zLCB3aGljaCBpcyBvbmUgZnJhbWUgdGltZSBiYXNlZCBvbgorICAg
KiA2MEh6IGRpc3BsYXkuCiAgICAqLwotICBmdW5jdGlvbiBBY3Rpb25zKCkgeworICBmdW5jdGlv
biBBY3Rpb25zKGRlZmF1bHRUaWNrRHVyYXRpb249MTYpIHsKICAgICB0aGlzLnNvdXJjZVR5cGVz
ID0gbmV3IE1hcChbWyJrZXkiLCBLZXlTb3VyY2VdLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBbInBvaW50ZXIiLCBQb2ludGVyU291cmNlXSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgWyJub25lIiwgR2VuZXJhbFNvdXJjZV1dKTsKQEAgLTE5LDYgKzIxLDcgQEAK
ICAgICB9CiAgICAgdGhpcy5jcmVhdGVTb3VyY2UoIm5vbmUiKTsKICAgICB0aGlzLnRpY2tJZHgg
PSAwOworICAgIHRoaXMuZGVmYXVsdFRpY2tEdXJhdGlvbiA9IGRlZmF1bHRUaWNrRHVyYXRpb247
CiAgIH0KIAogICBBY3Rpb25zLnByb3RvdHlwZSA9IHsKQEAgLTQwLDcgKzQzLDcgQEAKICAgICAg
IGxldCBhY3Rpb25zID0gW107CiAgICAgICBmb3IgKGxldCBbc291cmNlVHlwZSwgc291cmNlTmFt
ZV0gb2YgdGhpcy5zb3VyY2VPcmRlcikgewogICAgICAgICBsZXQgc291cmNlID0gdGhpcy5zb3Vy
Y2VzLmdldChzb3VyY2VUeXBlKS5nZXQoc291cmNlTmFtZSk7Ci0gICAgICAgIGxldCBzZXJpYWxp
emVkID0gc291cmNlLnNlcmlhbGl6ZSh0aGlzLnRpY2tJZHggKyAxKTsKKyAgICAgICAgbGV0IHNl
cmlhbGl6ZWQgPSBzb3VyY2Uuc2VyaWFsaXplKHRoaXMudGlja0lkeCArIDEsIHRoaXMuZGVmYXVs
dFRpY2tEdXJhdGlvbik7CiAgICAgICAgIGlmIChzZXJpYWxpemVkKSB7CiAgICAgICAgICAgc2Vy
aWFsaXplZC5pZCA9IHNvdXJjZU5hbWU7CiAgICAgICAgICAgYWN0aW9ucy5wdXNoKHNlcmlhbGl6
ZWQpOwpAQCAtMTkyLDEwICsxOTUsMTYgQEAKICAgICAgKiBBZGQgYSBwYXVzZSB0byB0aGUgY3Vy
cmVudCB0aWNrCiAgICAgICoKICAgICAgKiBAcGFyYW0ge051bWJlcj99IGR1cmF0aW9uIC0gTWlu
aW11bSBsZW5ndGggb2YgdGhlIHRpY2sgaW4gbXMuCisgICAgICogQHBhcmFtIHtTdHJpbmd9IHNv
dXJjZVR5cGUgLSBzb3VyY2UgdHlwZQorICAgICAqIEBwYXJhbSB7U3RyaW5nP30gc291cmNlTmFt
ZSAtIE5hbWVkIGtleSBvciBwb2ludGVyIHNvdXJjZSB0byB1c2Ugb3IgbnVsbCBmb3IgdGhlIGRl
ZmF1bHQKKyAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXkgb3IgcG9pbnRl
ciBzb3VyY2UKICAgICAgKiBAcmV0dXJucyB7QWN0aW9uc30KICAgICAgKi8KLSAgICBwYXVzZTog
ZnVuY3Rpb24oZHVyYXRpb24pIHsKLSAgICAgIHRoaXMuZ2V0U291cmNlKCJub25lIikuYWRkUGF1
c2UodGhpcywgZHVyYXRpb24pOworICAgIHBhdXNlOiBmdW5jdGlvbihkdXJhdGlvbj0wLCBzb3Vy
Y2VUeXBlPSJub25lIiwge3NvdXJjZU5hbWU9bnVsbH09e30pIHsKKyAgICAgIGlmIChzb3VyY2VU
eXBlPT0ibm9uZSIpCisgICAgICAgIHRoaXMuZ2V0U291cmNlKCJub25lIikuYWRkUGF1c2UodGhp
cywgZHVyYXRpb24pOworICAgICAgZWxzZQorICAgICAgICB0aGlzLmdldFNvdXJjZShzb3VyY2VU
eXBlLCBzb3VyY2VOYW1lKS5hZGRQYXVzZSh0aGlzLCBkdXJhdGlvbik7CiAgICAgICByZXR1cm4g
dGhpczsKICAgICB9LAogCkBAIC0yNzgsMTcgKzI4NywxNCBAQAogICB9CiAKICAgR2VuZXJhbFNv
dXJjZS5wcm90b3R5cGUgPSB7Ci0gICAgc2VyaWFsaXplOiBmdW5jdGlvbih0aWNrQ291bnQpIHsK
LSAgICAgIGlmICghdGhpcy5hY3Rpb25zLnNpemUpIHsKLSAgICAgICAgcmV0dXJuIHVuZGVmaW5l
ZDsKLSAgICAgIH0KKyAgICBzZXJpYWxpemU6IGZ1bmN0aW9uKHRpY2tDb3VudCwgZGVmYXVsdFRp
Y2tEdXJhdGlvbikgewogICAgICAgbGV0IGFjdGlvbnMgPSBbXTsKICAgICAgIGxldCBkYXRhID0g
eyJ0eXBlIjogIm5vbmUiLCAiYWN0aW9ucyI6IGFjdGlvbnN9OwogICAgICAgZm9yIChsZXQgaT0w
OyBpPHRpY2tDb3VudDsgaSsrKSB7CiAgICAgICAgIGlmICh0aGlzLmFjdGlvbnMuaGFzKGkpKSB7
CiAgICAgICAgICAgYWN0aW9ucy5wdXNoKHRoaXMuYWN0aW9ucy5nZXQoaSkpOwogICAgICAgICB9
IGVsc2UgewotICAgICAgICAgIGFjdGlvbnMucHVzaCh7InR5cGUiOiAicGF1c2UifSk7CisgICAg
ICAgICAgYWN0aW9ucy5wdXNoKHsidHlwZSI6ICJwYXVzZSIsIGR1cmF0aW9uOiBkZWZhdWx0VGlj
a0R1cmF0aW9ufSk7CiAgICAgICAgIH0KICAgICAgIH0KICAgICAgIHJldHVybiBkYXRhOwpAQCAt
MzM5LDYgKzM0NSwxNCBAQAogICAgICAgfQogICAgICAgdGhpcy5hY3Rpb25zLnNldCh0aWNrLCB7
dHlwZTogImtleVVwIiwgdmFsdWU6IGtleX0pOwogICAgIH0sCisKKyAgICBhZGRQYXVzZTogZnVu
Y3Rpb24oYWN0aW9ucywgZHVyYXRpb24pIHsKKyAgICAgIGxldCB0aWNrID0gYWN0aW9ucy50aWNr
SWR4OworICAgICAgaWYgKHRoaXMuYWN0aW9ucy5oYXModGljaykpIHsKKyAgICAgICAgdGljayA9
IGFjdGlvbnMuYWRkVGljaygpLnRpY2tJZHg7CisgICAgICB9CisgICAgICB0aGlzLmFjdGlvbnMu
c2V0KHRpY2ssIHt0eXBlOiAicGF1c2UiLCBkdXJhdGlvbjogZHVyYXRpb259KTsKKyAgICB9LAog
ICB9OwogCiAgIGZ1bmN0aW9uIFBvaW50ZXJTb3VyY2UocGFyYW1ldGVycz17cG9pbnRlclR5cGU6
ICJtb3VzZSJ9KSB7CkBAIC0zOTMsNiArNDA3LDE0IEBACiAgICAgICAgIHRoaXMuYWN0aW9ucy5n
ZXQodGljaykuZHVyYXRpb24gPSBkdXJhdGlvbjsKICAgICAgIH0KICAgICB9LAorCisgICAgYWRk
UGF1c2U6IGZ1bmN0aW9uKGFjdGlvbnMsIGR1cmF0aW9uKSB7CisgICAgICBsZXQgdGljayA9IGFj
dGlvbnMudGlja0lkeDsKKyAgICAgIGlmICh0aGlzLmFjdGlvbnMuaGFzKHRpY2spKSB7CisgICAg
ICAgIHRpY2sgPSBhY3Rpb25zLmFkZFRpY2soKS50aWNrSWR4OworICAgICAgfQorICAgICAgdGhp
cy5hY3Rpb25zLnNldCh0aWNrLCB7dHlwZTogInBhdXNlIiwgZHVyYXRpb246IGR1cmF0aW9ufSk7
CisgICAgfSwKICAgfTsKIAogICB0ZXN0X2RyaXZlci5BY3Rpb25zID0gQWN0aW9uczsKSW5kZXg6
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rl
c3Rkcml2ZXItdmVuZG9yLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3Rkcml2ZXItdmVuZG9yLmpzCShyZXZp
c2lvbiAyNTI4OTYpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy90ZXN0ZHJpdmVyLXZlbmRvci5qcwkod29ya2luZyBjb3B5KQpAQCAtMSwy
NTEgKzAsMCBAQAotCi1jb25zdCBpc0RlYnVnID0gZmFsc2U7Ci0KLWZ1bmN0aW9uIGxvZ0RlYnVn
KGNhbGxiYWNrKQotewotICAgIGlmIChpc0RlYnVnKQotICAgICAgICBjb25zb2xlLmxvZyhjYWxs
YmFjaygpKTsKLX0KLQotZnVuY3Rpb24gZGlzcGF0Y2hNb3VzZUFjdGlvbnMoYWN0aW9ucykKLXsK
LSAgICBpZiAoIXdpbmRvdy5ldmVudFNlbmRlcikKLSAgICAgICAgcmV0dXJuIFByb21pc2UucmVq
ZWN0KG5ldyBFcnJvcigid2luZG93LmV2ZW50U2VuZGVyIGlzIHVuZGVmaW5lZC4iKSk7Ci0KLSAg
ICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7Ci0gICAgICAgIHNldFRpbWVvdXQoKCkg
PT4gewotICAgICAgICAgICAgZXZlbnRTZW5kZXIuZHJhZ01vZGUgPSBmYWxzZTsKLQotICAgICAg
ICAgICAgZm9yIChsZXQgYWN0aW9uIG9mIGFjdGlvbnMpIHsKLSAgICAgICAgICAgICAgICBzd2l0
Y2ggKGFjdGlvbi50eXBlKSB7Ci0gICAgICAgICAgICAgICAgY2FzZSAicG9pbnRlck1vdmUiOgot
ICAgICAgICAgICAgICAgICAgICBsZXQgb3JpZ2luID0geyB4OiAwLCB5OiAwIH07Ci0gICAgICAg
ICAgICAgICAgICAgIGlmIChhY3Rpb24ub3JpZ2luIGluc3RhbmNlb2YgRWxlbWVudCkgewotICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgYm91bmRzID0gYWN0aW9uLm9yaWdpbi5nZXRCb3Vu
ZGluZ0NsaWVudFJlY3QoKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGxvZ0RlYnVnKCgpID0+
IGAke2FjdGlvbi5vcmlnaW4uaWR9IFske2JvdW5kcy5sZWZ0fSwgJHtib3VuZHMudG9wfSwgJHti
b3VuZHMud2lkdGh9LCAke2JvdW5kcy5oZWlnaHR9XWApOwotICAgICAgICAgICAgICAgICAgICAg
ICAgb3JpZ2luLnggPSBib3VuZHMubGVmdCArIDE7Ci0gICAgICAgICAgICAgICAgICAgICAgICBv
cmlnaW4ueSA9IGJvdW5kcy50b3AgKyAxOwotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAg
ICAgICAgICAgICAgIGxvZ0RlYnVnKCgpID0+IGBldmVudFNlbmRlci5tb3VzZU1vdmVUbygke2Fj
dGlvbi54ICsgb3JpZ2luLnh9LCAke2FjdGlvbi55ICsgb3JpZ2luLnl9KWApOwotICAgICAgICAg
ICAgICAgICAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbyhhY3Rpb24ueCArIG9yaWdpbi54LCBh
Y3Rpb24ueSArIG9yaWdpbi55KTsKLSAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAg
ICAgICAgICAgY2FzZSAicG9pbnRlckRvd24iOgotICAgICAgICAgICAgICAgICAgICBsb2dEZWJ1
ZygoKSA9PiBgZXZlbnRTZW5kZXIubW91c2VEb3duKClgKTsKLSAgICAgICAgICAgICAgICAgICAg
ZXZlbnRTZW5kZXIubW91c2VEb3duKGFjdGlvbi5idXR0b24pOwotICAgICAgICAgICAgICAgICAg
ICBicmVhazsKLSAgICAgICAgICAgICAgICBjYXNlICJwb2ludGVyVXAiOgotICAgICAgICAgICAg
ICAgICAgICBsb2dEZWJ1ZygoKSA9PiBgZXZlbnRTZW5kZXIubW91c2VVcCgpYCk7Ci0gICAgICAg
ICAgICAgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlVXAoYWN0aW9uLmJ1dHRvbik7Ci0gICAgICAg
ICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAg
ICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdChuZXcgRXJyb3IoYFVua25vd24gYWN0aW9u
IHR5cGUgIiR7YWN0aW9uLnR5cGV9Ii5gKSk7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAg
ICAgfQotICAgICAgICAgICAgcmVzb2x2ZSgpOwotICAgICAgICB9KTsKLSAgICB9KTsKLX0KLQot
ZnVuY3Rpb24gZGlzcGF0Y2hUb3VjaEFjdGlvbnMoYWN0aW9ucywgb3B0aW9ucyA9IHsgaW5zZXJ0
UGF1c2VBZnRlclBvaW50ZXJVcDogZmFsc2UgfSkKLXsKLSAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyIHx8IHR5cGVvZiB3aW5kb3cudGVzdFJ1bm5lci5ydW5VSVNjcmlwdCAhPT0gImZ1bmN0aW9u
IikKLSAgICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyBFcnJvcigid2luZG93LnRlc3RS
dW5uZXIucnVuVUlTY3JpcHQoKSBpcyB1bmRlZmluZWQuIikpOwotCi0gICAgbGV0IHggPSAwOwot
ICAgIGxldCB5ID0gMDsKLSAgICBsZXQgdGltZU9mZnNldCA9IDA7Ci0gICAgbGV0IHBvaW50ZXJE
b3duID0gZmFsc2U7Ci0gICAgbGV0IGlkID0gMTsKLQotICAgIGNvbnN0IGV2ZW50cyA9IFtdOwot
ICAgIGZvciAobGV0IGFjdGlvbiBvZiBhY3Rpb25zKSB7Ci0gICAgICAgIGNvbnN0IHRvdWNoID0g
ewotICAgICAgICAgICAgaW5wdXRUeXBlIDogImZpbmdlciIsCi0gICAgICAgICAgICBpZCwKLSAg
ICAgICAgICAgIHggOiBhY3Rpb24ueCwKLSAgICAgICAgICAgIHkgOiBhY3Rpb24ueSwKLSAgICAg
ICAgICAgIHByZXNzdXJlIDogMAotICAgICAgICB9OwotCi0gICAgICAgIGNvbnN0IGNvbW1hbmQg
PSB7Ci0gICAgICAgICAgICBpbnB1dFR5cGUgOiAiaGFuZCIsCi0gICAgICAgICAgICBjb29yZGlu
YXRlU3BhY2UgOiAiY29udGVudCIsCi0gICAgICAgICAgICB0b3VjaGVzIDogW3RvdWNoXSwKLSAg
ICAgICAgICAgIHRpbWVPZmZzZXQKLSAgICAgICAgfTsKLQotICAgICAgICBsZXQgdGltZU9mZnNl
dEluY3JlYXNlID0gMC4wNTsKLQotICAgICAgICBzd2l0Y2ggKGFjdGlvbi50eXBlKSB7Ci0gICAg
ICAgIGNhc2UgInBvaW50ZXJNb3ZlIjoKLSAgICAgICAgICAgIHRvdWNoLnBoYXNlID0gIm1vdmVk
IjsKLSAgICAgICAgICAgIGlmIChhY3Rpb24ub3JpZ2luIGluc3RhbmNlb2YgRWxlbWVudCkgewot
ICAgICAgICAgICAgICAgIGNvbnN0IGJvdW5kcyA9IGFjdGlvbi5vcmlnaW4uZ2V0Qm91bmRpbmdD
bGllbnRSZWN0KCk7Ci0gICAgICAgICAgICAgICAgdG91Y2gueCArPSBib3VuZHMubGVmdCArIDE7
Ci0gICAgICAgICAgICAgICAgdG91Y2gueSArPSBib3VuZHMudG9wICsgMTsKLSAgICAgICAgICAg
IH0KLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlICJwb2ludGVyRG93biI6Ci0gICAg
ICAgICAgICBwb2ludGVyRG93biA9IHRydWU7Ci0gICAgICAgICAgICB0b3VjaC5waGFzZSA9ICJi
ZWdhbiI7Ci0gICAgICAgICAgICBpZiAoYWN0aW9uLnggPT09IHVuZGVmaW5lZCkKLSAgICAgICAg
ICAgICAgICB0b3VjaC54ID0geDsKLSAgICAgICAgICAgIGlmIChhY3Rpb24ueSA9PT0gdW5kZWZp
bmVkKQotICAgICAgICAgICAgICAgIHRvdWNoLnkgPSB5OwotICAgICAgICAgICAgYnJlYWs7Ci0g
ICAgICAgIGNhc2UgInBvaW50ZXJVcCI6Ci0gICAgICAgICAgICBwb2ludGVyRG93biA9IGZhbHNl
OwotICAgICAgICAgICAgdG91Y2gucGhhc2UgPSAiZW5kZWQiOwotICAgICAgICAgICAgdG91Y2gu
eCA9IHg7Ci0gICAgICAgICAgICB0b3VjaC55ID0geTsKLSAgICAgICAgICAgIGlkKys7Ci0gICAg
ICAgICAgICAvLyBXZSBuZWVkIHRvIGFkZCBhIHBhdXNlIGFmdGVyIGEgcG9pbnRlciB1cCB0byBl
bnN1cmUgdGhhdCBhIHN1YnNlcXVlbnQgdGFwIG1heSBiZSByZWNvZ25pemVkIGFzIHN1Y2guCi0g
ICAgICAgICAgICBpZiAob3B0aW9ucy5pbnNlcnRQYXVzZUFmdGVyUG9pbnRlclVwKQotICAgICAg
ICAgICAgICAgIHRpbWVPZmZzZXRJbmNyZWFzZSA9IDAuNTsKLSAgICAgICAgICAgIGJyZWFrOwot
ICAgICAgICBjYXNlICJwYXVzZSI6Ci0gICAgICAgICAgICB0aW1lT2Zmc2V0SW5jcmVhc2UgPSBh
Y3Rpb24uZHVyYXRpb24gLyAxMDAwOwotICAgICAgICAgICAgdG91Y2gucGhhc2UgPSAic3RhdGlv
bmFyeSI7Ci0gICAgICAgICAgICBpZiAoIXBvaW50ZXJEb3duKQotICAgICAgICAgICAgICAgIGlk
Kys7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgIHJl
dHVybiBQcm9taXNlLnJlamVjdChuZXcgRXJyb3IoYFVua25vd24gYWN0aW9uIHR5cGUgIiR7YWN0
aW9uLnR5cGV9Ii5gKSk7Ci0gICAgICAgIH0KLQotICAgICAgICB4ID0gdG91Y2gueDsKLSAgICAg
ICAgeSA9IHRvdWNoLnk7Ci0KLSAgICAgICAgaWYgKCFwb2ludGVyRG93biAmJiB0b3VjaC5waGFz
ZSA9PSAibW92ZWQiKQotICAgICAgICAgICAgY29udGludWU7Ci0KLSAgICAgICAgdGltZU9mZnNl
dCArPSB0aW1lT2Zmc2V0SW5jcmVhc2U7Ci0KLSAgICAgICAgZXZlbnRzLnB1c2goY29tbWFuZCk7
Ci0gICAgfQotCi0gICAgY29uc3Qgc3RyZWFtID0gSlNPTi5zdHJpbmdpZnkoeyBldmVudHMgfSk7
Ci0gICAgbG9nRGVidWcoKCkgPT4gc3RyZWFtKTsKLQotICAgIHJldHVybiBuZXcgUHJvbWlzZShy
ZXNvbHZlID0+IHRlc3RSdW5uZXIucnVuVUlTY3JpcHQoYChmdW5jdGlvbigpIHsKLSAgICAgICAg
KGZ1bmN0aW9uKCkgeyB1aUNvbnRyb2xsZXIuc2VuZEV2ZW50U3RyZWFtKCcke3N0cmVhbX0nKSB9
KSgpOwotICAgICAgICB1aUNvbnRyb2xsZXIudWlTY3JpcHRDb21wbGV0ZSgpOwotICAgIH0pKCk7
YCwgcmVzb2x2ZSkpOwotfQotCi1pZiAod2luZG93LnRlc3RfZHJpdmVyX2ludGVybmFsID09PSB1
bmRlZmluZWQpCi0gICAgd2luZG93LnRlc3RfZHJpdmVyX2ludGVybmFsID0geyB9OwotCi13aW5k
b3cudGVzdF9kcml2ZXJfaW50ZXJuYWwuc2VuZF9rZXlzID0gZnVuY3Rpb24oZWxlbWVudCwga2V5
cykKLXsKLSAgICBpZiAoIXdpbmRvdy5ldmVudFNlbmRlcikKLSAgICAgICAgcmV0dXJuIFByb21p
c2UucmVqZWN0KG5ldyBFcnJvcigid2luZG93LmV2ZW50U2VuZGVyIGlzIHVuZGVmaW5lZC4iKSk7
Ci0KLSAgICAvLyBodHRwczovL3NlbGVuaXVtaHEuZ2l0aHViLmlvL3NlbGVuaXVtL2RvY3MvYXBp
L3B5L3dlYmRyaXZlci9zZWxlbml1bS53ZWJkcml2ZXIuY29tbW9uLmtleXMuaHRtbAotICAgIC8v
IEZJWE1FOiBBZGQgbW9yZSBjYXNlcy4KLSAgICAvLyBGSVhNRTogQWRkIHRoZSBzdXBwb3J0IGZv
ciBtb2RpZmllciBrZXlzLgotICAgIGNvbnN0IFNlbGVuaXVtQ2hhckNvZGVUb0V2ZW50U2VuZGVy
S2V5ID0gewotICAgICAgICAweEUwMDM6ICdkZWxldGUnLAotICAgICAgICAweEUwMDQ6ICdcdCcs
Ci0gICAgICAgIDB4RTAwRDogJyAnLAotICAgICAgICAweEUwMTI6ICdsZWZ0QXJyb3cnLAotICAg
ICAgICAweEUwMTM6ICd1cEFycm93JywKLSAgICAgICAgMHhFMDE0OiAncmlnaHRBcnJvdycsCi0g
ICAgICAgIDB4RTAxNTogJ2Rvd25BcnJvdycsCi0gICAgfTsKLQotICAgIGZ1bmN0aW9uIGNvbnZl
cnRTZWxlbml1bUtleUNvZGUoa2V5KQotICAgIHsKLSAgICAgICAgY29uc3QgY29kZSA9IGtleS5j
aGFyQ29kZUF0KDApOwotICAgICAgICByZXR1cm4gU2VsZW5pdW1DaGFyQ29kZVRvRXZlbnRTZW5k
ZXJLZXlbY29kZV0gfHwga2V5OwotICAgIH0KLQotICAgIGNvbnN0IGtleUxpc3QgPSBbXTsKLSAg
ICBmb3IgKGNvbnN0IGtleSBvZiBrZXlzKQotICAgICAgICBrZXlMaXN0LnB1c2goY29udmVydFNl
bGVuaXVtS2V5Q29kZShrZXkpKTsKLQotICAgIGlmICh0ZXN0UnVubmVyLmlzSU9TRmFtaWx5ICYm
IHRlc3RSdW5uZXIuaXNXZWJLaXQyKSB7Ci0gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVz
b2x2ZSkgPT4gewotICAgICAgICAgICAgdGVzdFJ1bm5lci5ydW5VSVNjcmlwdChgCi0gICAgICAg
ICAgICAgICAgY29uc3Qga2V5TGlzdCA9IEpTT04ucGFyc2UoJyR7SlNPTi5zdHJpbmdpZnkoa2V5
TGlzdCl9Jyk7Ci0gICAgICAgICAgICAgICAgZm9yIChjb25zdCBrZXkgb2Yga2V5TGlzdCkKLSAg
ICAgICAgICAgICAgICAgICAgdWlDb250cm9sbGVyLmtleURvd24oa2V5KTtgLCByZXNvbHZlKTsK
LSAgICAgICAgfSk7Ci0gICAgfQotCi0gICAgZm9yIChjb25zdCBrZXkgb2Yga2V5TGlzdCkKLSAg
ICAgICAgZXZlbnRTZW5kZXIua2V5RG93bihrZXkpOwotICAgIHJldHVybiBQcm9taXNlLnJlc29s
dmUoKTsKLX0KLQotd2luZG93LnRlc3RfZHJpdmVyX2ludGVybmFsLmNsaWNrID0gZnVuY3Rpb24g
KGVsZW1lbnQsIGNvb3JkcykKLXsKLSAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQotICAgICAg
ICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7Ci0KLSAgICBpZiAoIXdpbmRvdy5ldmVudFNlbmRl
cikKLSAgICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyBFcnJvcigid2luZG93LmV2ZW50
U2VuZGVyIGlzIHVuZGVmaW5lZC4iKSk7Ci0KLSAgICBpZiAodGVzdFJ1bm5lci5pc0lPU0ZhbWls
eSAmJiB0ZXN0UnVubmVyLmlzV2ViS2l0MikgewotICAgICAgICByZXR1cm4gbmV3IFByb21pc2Uo
KHJlc29sdmUpID0+IHsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIucnVuVUlTY3JpcHQoYAotICAg
ICAgICAgICAgICAgIHVpQ29udHJvbGxlci5zaW5nbGVUYXBBdFBvaW50KCR7Y29vcmRzLnh9LCAk
e2Nvb3Jkcy55fSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgICAgIHVpQ29udHJvbGxl
ci51aVNjcmlwdENvbXBsZXRlKCk7Ci0gICAgICAgICAgICAgICAgfSk7YCwgcmVzb2x2ZSk7Ci0g
ICAgICAgIH0pOwotICAgIH0KLQotICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKGNvb3Jkcy54
LCBjb29yZHMueSk7Ci0gICAgZXZlbnRTZW5kZXIubW91c2VEb3duKCk7Ci0gICAgZXZlbnRTZW5k
ZXIubW91c2VVcCgpOwotCi0gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpOwotfQotCi13aW5k
b3cudGVzdF9kcml2ZXJfaW50ZXJuYWwuYWN0aW9uX3NlcXVlbmNlID0gZnVuY3Rpb24oc291cmNl
cykKLXsKLSAgICAvLyBodHRwczovL3czYy5naXRodWIuaW8vd2ViZHJpdmVyLyNwcm9jZXNzaW5n
LWFjdGlvbnMgICAgCi0KLSAgICBsZXQgbm9uZVNvdXJjZTsKLSAgICBsZXQgcG9pbnRlclNvdXJj
ZTsKLSAgICBmb3IgKGxldCBzb3VyY2Ugb2Ygc291cmNlcykgewotICAgICAgICBzd2l0Y2ggKHNv
dXJjZS50eXBlKSB7Ci0gICAgICAgIGNhc2UgIm5vbmUiOgotICAgICAgICAgICAgbm9uZVNvdXJj
ZSA9IHNvdXJjZTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlICJwb2ludGVyIjoK
LSAgICAgICAgICAgIHBvaW50ZXJTb3VyY2UgPSBzb3VyY2U7Ci0gICAgICAgICAgICBicmVhazsK
LSAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdChuZXcg
RXJyb3IoYFVua25vd24gc291cmNlIHR5cGUgIiR7YWN0aW9uLnR5cGV9Ii5gKSk7Ci0gICAgICAg
IH0KLSAgICB9Ci0KLSAgICBpZiAoIXBvaW50ZXJTb3VyY2UpCi0gICAgICAgIHJldHVybiBQcm9t
aXNlLnJlamVjdChuZXcgRXJyb3IoYFVua25vd24gcG9pbnRlciB0eXBlIHBvaW50ZXIgdHlwZSAi
JHthY3Rpb24ucGFyYW1ldGVycy5wb2ludGVyVHlwZX0iLmApKTsKLQotICAgIGNvbnN0IHBvaW50
ZXJUeXBlID0gcG9pbnRlclNvdXJjZS5wYXJhbWV0ZXJzLnBvaW50ZXJUeXBlOwotICAgIGlmIChw
b2ludGVyVHlwZSAhPT0gIm1vdXNlIiAmJiBwb2ludGVyVHlwZSAhPT0gInRvdWNoIikKLSAgICAg
ICAgcmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyBFcnJvcihgVW5rbm93biBwb2ludGVyIHR5cGUg
IiR7cG9pbnRlclR5cGV9Ii5gKSk7Ci0KLSAgICAvLyBJZiB3ZSBoYXZlIGEgIm5vbmUiIHNvdXJj
ZSwgbGV0J3MgaW5qZWN0IGFueSBwYXVzZSB3aXRoIG5vbi16ZXJvIGR1cmF0aW9ucyBpbnRvIHRo
ZSBwb2ludGVyIHNvdXJjZQotICAgIC8vIGFmdGVyIHRoZSBtYXRjaGluZyBhY3Rpb24gaW4gdGhl
IHBvaW50ZXIgc291cmNlLgotICAgIGlmIChub25lU291cmNlKSB7Ci0gICAgICAgIGxldCBpbmpl
Y3RlZEFjdGlvbnMgPSAwOwotICAgICAgICBub25lU291cmNlLmFjdGlvbnMuZm9yRWFjaCgoYWN0
aW9uLCBpbmRleCkgPT4gewotICAgICAgICAgICAgaWYgKGFjdGlvbi5kdXJhdGlvbiA+IDApIHsK
LSAgICAgICAgICAgICAgICBwb2ludGVyU291cmNlLmFjdGlvbnMuc3BsaWNlKGluZGV4ICsgaW5q
ZWN0ZWRBY3Rpb25zICsgMSwgMCwgYWN0aW9uKTsKLSAgICAgICAgICAgICAgICBpbmplY3RlZEFj
dGlvbnMrKzsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfSk7Ci0gICAgfQotCi0gICAgbG9nRGVi
dWcoKCkgPT4gSlNPTi5zdHJpbmdpZnkocG9pbnRlclNvdXJjZSkpOwotCi0gICAgaWYgKHBvaW50
ZXJUeXBlID09PSAidG91Y2giKQotICAgICAgICByZXR1cm4gZGlzcGF0Y2hUb3VjaEFjdGlvbnMo
cG9pbnRlclNvdXJjZS5hY3Rpb25zKTsKLSAgICBpZiAodGVzdFJ1bm5lci5pc0lPU0ZhbWlseSAm
JiAiY3JlYXRlVG91Y2giIGluIGRvY3VtZW50KQotICAgICAgICByZXR1cm4gZGlzcGF0Y2hUb3Vj
aEFjdGlvbnMocG9pbnRlclNvdXJjZS5hY3Rpb25zLCB7IGluc2VydFBhdXNlQWZ0ZXJQb2ludGVy
VXA6IHRydWUgfSk7Ci0gICAgaWYgKHBvaW50ZXJUeXBlID09PSAibW91c2UiKQotICAgICAgICBy
ZXR1cm4gZGlzcGF0Y2hNb3VzZUFjdGlvbnMocG9pbnRlclNvdXJjZS5hY3Rpb25zKTsKLX07Cklu
ZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy90ZXN0ZHJpdmVyLXZlbmRvci5qcy5oZWFkZXJzCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3Rkcml2ZXItdmVu
ZG9yLmpzLmhlYWRlcnMJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdGRyaXZlci12ZW5kb3IuanMuaGVhZGVy
cwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDIgQEAKK0NvbnRlbnQtVHlwZTogdGV4dC9qYXZh
c2NyaXB0OyBjaGFyc2V0PXV0Zi04CitDYWNoZS1Db250cm9sOiBtYXgtYWdlPTM2MDAKSW5kZXg6
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rl
c3Rkcml2ZXIuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdGRyaXZlci5qcwkocmV2aXNpb24gMjUyODk2KQor
KysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
dGVzdGRyaXZlci5qcwkod29ya2luZyBjb3B5KQpAQCAtMjA4LDcgKzIwOCwxMjYgQEAKICAgICAg
ICAgICovCiAgICAgICAgIGdlbmVyYXRlX3Rlc3RfcmVwb3J0OiBmdW5jdGlvbihtZXNzYWdlKSB7
CiAgICAgICAgICAgICByZXR1cm4gd2luZG93LnRlc3RfZHJpdmVyX2ludGVybmFsLmdlbmVyYXRl
X3Rlc3RfcmVwb3J0KG1lc3NhZ2UpOwotICAgICAgICB9CisgICAgICAgIH0sCisKKyAgICAgICAg
LyoqCisgICAgICAgICAqIENyZWF0ZXMgYSB2aXJ0dWFsIGF1dGhlbnRpY2F0b3IKKyAgICAgICAg
ICoKKyAgICAgICAgICogVGhpcyBmdW5jdGlvbiBjcmVhdGVzIGEgdmlydHVhbCBhdXRoZW50aWNh
dG9yIGZvciB1c2Ugd2l0aCB0aGUgVTJGCisgICAgICAgICAqIGFuZCBXZWJBdXRobiBBUElzIGFz
IGRlc2NyaWJlZCBpbiB7QGxpbmsKKyAgICAgICAgICogaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3dl
YmF1dGhuLyNzY3RuLWF1dG9tYXRpb24tYWRkLXZpcnR1YWwtYXV0aGVudGljYXRvcn0KKyAgICAg
ICAgICoKKyAgICAgICAgICogQHBhcmFtIHtPYmplY3R9IGNvbmZpZyAtIGFuIFtBdXRoZW50aWNh
dG9yIENvbmZpZ3VyYXRpb25de0BsaW5rCisgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAg
ICAgICBodHRwczovL3czYy5naXRodWIuaW8vd2ViYXV0aG4vI2F1dGhlbnRpY2F0b3ItY29uZmln
dXJhdGlvbn0KKyAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgIG9iamVjdAorICAg
ICAgICAgKiBAcmV0dXJucyB7UHJvbWlzZX0gZnVsZmlsbGVkIGFmdGVyIHRoZSBhdXRoZW50aWNh
dG9yIGlzIGFkZGVkLCBvcgorICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgcmVqZWN0ZWQg
aW4gdGhlIGNhc2VzIHRoZSBXZWJEcml2ZXIgY29tbWFuZAorICAgICAgICAgKiAgICAgICAgICAg
ICAgICAgICAgZXJyb3JzLiBSZXR1cm5zIHRoZSBJRCBvZiB0aGUgYXV0aGVudGljYXRvcgorICAg
ICAgICAgKi8KKyAgICAgICAgYWRkX3ZpcnR1YWxfYXV0aGVudGljYXRvcjogZnVuY3Rpb24oY29u
ZmlnKSB7CisgICAgICAgICAgICByZXR1cm4gd2luZG93LnRlc3RfZHJpdmVyX2ludGVybmFsLmFk
ZF92aXJ0dWFsX2F1dGhlbnRpY2F0b3IoY29uZmlnKTsKKyAgICAgICAgfSwKKworICAgICAgICAv
KioKKyAgICAgICAgICogUmVtb3ZlcyBhIHZpcnR1YWwgYXV0aGVudGljYXRvcgorICAgICAgICAg
KgorICAgICAgICAgKiBUaGlzIGZ1bmN0aW9uIHJlbW92ZXMgYSB2aXJ0dWFsIGF1dGhlbnRpY2F0
b3IgdGhhdCBoYXMgYmVlbiBjcmVhdGVkCisgICAgICAgICAqIGJ5IGFkZF92aXJ0dWFsX2F1dGhl
bnRpY2F0b3IKKyAgICAgICAgICogaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3dlYmF1dGhuLyNzY3Ru
LWF1dG9tYXRpb24tcmVtb3ZlLXZpcnR1YWwtYXV0aGVudGljYXRvcgorICAgICAgICAgKgorICAg
ICAgICAgKiBAcGFyYW0ge1N0cmluZ30gYXV0aGVudGljYXRvcl9pZCAtIHRoZSBJRCBvZiB0aGUg
YXV0aGVudGljYXRvciB0byBiZQorICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHJlbW92ZWQuCisgICAgICAgICAqCisgICAgICAgICAqIEByZXR1cm5zIHtQcm9t
aXNlfSBmdWxmaWxsZWQgYWZ0ZXIgdGhlIGF1dGhlbnRpY2F0b3IgaXMgcmVtb3ZlZCwgb3IKKyAg
ICAgICAgICogICAgICAgICAgICAgICAgICAgIHJlamVjdGVkIGluIHRoZSBjYXNlcyB0aGUgV2Vi
RHJpdmVyIGNvbW1hbmQKKyAgICAgICAgICogICAgICAgICAgICAgICAgICAgIGVycm9ycworICAg
ICAgICAgKi8KKyAgICAgICAgcmVtb3ZlX3ZpcnR1YWxfYXV0aGVudGljYXRvcjogZnVuY3Rpb24o
YXV0aGVudGljYXRvcl9pZCkgeworICAgICAgICAgICAgcmV0dXJuIHdpbmRvdy50ZXN0X2RyaXZl
cl9pbnRlcm5hbC5yZW1vdmVfdmlydHVhbF9hdXRoZW50aWNhdG9yKGF1dGhlbnRpY2F0b3JfaWQp
OworICAgICAgICB9LAorCisgICAgICAgIC8qKgorICAgICAgICAgKiBBZGRzIGEgY3JlZGVudGlh
bCB0byBhIHZpcnR1YWwgYXV0aGVudGljYXRvcgorICAgICAgICAgKgorICAgICAgICAgKiBodHRw
czovL3czYy5naXRodWIuaW8vd2ViYXV0aG4vI3NjdG4tYXV0b21hdGlvbi1hZGQtY3JlZGVudGlh
bAorICAgICAgICAgKgorICAgICAgICAgKiBAcGFyYW0ge1N0cmluZ30gYXV0aGVudGljYXRvcl9p
ZCAtIHRoZSBJRCBvZiB0aGUgYXV0aGVudGljYXRvcgorICAgICAgICAgKiBAcGFyYW0ge09iamVj
dH0gY3JlZGVudGlhbCAtIEEgW0NyZWRlbnRpYWwgUGFyYW1ldGVyc117QGxpbmsKKyAgICAgICAg
ICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBodHRwczovL3czYy5naXRodWIuaW8vd2Vi
YXV0aG4vI2NyZWRlbnRpYWwtcGFyYW1ldGVyc30KKyAgICAgICAgICogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBvYmplY3QKKyAgICAgICAgICoKKyAgICAgICAgICogQHJldHVybnMge1By
b21pc2V9IGZ1bGZpbGxlZCBhZnRlciB0aGUgY3JlZGVudGlhbCBpcyBhZGRlZCwgb3IKKyAgICAg
ICAgICogICAgICAgICAgICAgICAgICAgIHJlamVjdGVkIGluIHRoZSBjYXNlcyB0aGUgV2ViRHJp
dmVyIGNvbW1hbmQKKyAgICAgICAgICogICAgICAgICAgICAgICAgICAgIGVycm9ycworICAgICAg
ICAgKi8KKyAgICAgICAgYWRkX2NyZWRlbnRpYWw6IGZ1bmN0aW9uKGF1dGhlbnRpY2F0b3JfaWQs
IGNyZWRlbnRpYWwpIHsKKyAgICAgICAgICAgIHJldHVybiB3aW5kb3cudGVzdF9kcml2ZXJfaW50
ZXJuYWwuYWRkX2NyZWRlbnRpYWwoYXV0aGVudGljYXRvcl9pZCwgY3JlZGVudGlhbCk7CisgICAg
ICAgIH0sCisKKyAgICAgICAgLyoqCisgICAgICAgICAqIEdldHMgYWxsIHRoZSBjcmVkZW50aWFs
cyBzdG9yZWQgaW4gYW4gYXV0aGVudGljYXRvcgorICAgICAgICAgKgorICAgICAgICAgKiBUaGlz
IGZ1bmN0aW9uIHJldHJpZXZlcyBhbGwgdGhlIGNyZWRlbnRpYWxzIChhZGRlZCB2aWEgdGhlIFUy
RiBBUEksCisgICAgICAgICAqIFdlYkF1dGhuLCBvciB0aGUgYWRkX2NyZWRlbnRpYWwgZnVuY3Rp
b24pIHN0b3JlZCBpbiBhIHZpcnR1YWwKKyAgICAgICAgICogYXV0aGVudGljYXRvcgorICAgICAg
ICAgKiBodHRwczovL3czYy5naXRodWIuaW8vd2ViYXV0aG4vI3NjdG4tYXV0b21hdGlvbi1nZXQt
Y3JlZGVudGlhbHMKKyAgICAgICAgICoKKyAgICAgICAgICogQHBhcmFtIHtTdHJpbmd9IGF1dGhl
bnRpY2F0b3JfaWQgLSB0aGUgSUQgb2YgdGhlIGF1dGhlbnRpY2F0b3IKKyAgICAgICAgICoKKyAg
ICAgICAgICogQHJldHVybnMge1Byb21pc2V9IGZ1bGZpbGxlZCBhZnRlciB0aGUgY3JlZGVudGlh
bHMgYXJlIHJldHVybmVkLCBvcgorICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgcmVqZWN0
ZWQgaW4gdGhlIGNhc2VzIHRoZSBXZWJEcml2ZXIgY29tbWFuZAorICAgICAgICAgKiAgICAgICAg
ICAgICAgICAgICAgZXJyb3JzLiBSZXR1cm5zIGFuIGFycmF5IG9mIFtDcmVkZW50aWFsCisgICAg
ICAgICAqICAgICAgICAgICAgICAgICAgICBQYXJhbWV0ZXJzXXtAbGluaworICAgICAgICAgKiAg
ICAgICAgICAgICAgICAgICAgaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3dlYmF1dGhuLyNjcmVkZW50
aWFsLXBhcmFtZXRlcnN9CisgICAgICAgICAqLworICAgICAgICBnZXRfY3JlZGVudGlhbHM6IGZ1
bmN0aW9uKGF1dGhlbnRpY2F0b3JfaWQpIHsKKyAgICAgICAgICAgIHJldHVybiB3aW5kb3cudGVz
dF9kcml2ZXJfaW50ZXJuYWwuZ2V0X2NyZWRlbnRpYWxzKGF1dGhlbnRpY2F0b3JfaWQpOworICAg
ICAgICB9LAorCisgICAgICAgIC8qKgorICAgICAgICAgKiBSZW1vdmUgYSBjcmVkZW50aWFsIHN0
b3JlZCBpbiBhbiBhdXRoZW50aWNhdG9yCisgICAgICAgICAqCisgICAgICAgICAqIGh0dHBzOi8v
dzNjLmdpdGh1Yi5pby93ZWJhdXRobi8jc2N0bi1hdXRvbWF0aW9uLXJlbW92ZS1jcmVkZW50aWFs
CisgICAgICAgICAqCisgICAgICAgICAqIEBwYXJhbSB7U3RyaW5nfSBhdXRoZW50aWNhdG9yX2lk
IC0gdGhlIElEIG9mIHRoZSBhdXRoZW50aWNhdG9yCisgICAgICAgICAqIEBwYXJhbSB7U3RyaW5n
fSBjcmVkZW50aWFsX2lkIC0gdGhlIElEIG9mIHRoZSBjcmVkZW50aWFsCisgICAgICAgICAqCisg
ICAgICAgICAqIEByZXR1cm5zIHtQcm9taXNlfSBmdWxmaWxsZWQgYWZ0ZXIgdGhlIGNyZWRlbnRp
YWwgaXMgcmVtb3ZlZCwgb3IKKyAgICAgICAgICogICAgICAgICAgICAgICAgICAgIHJlamVjdGVk
IGluIHRoZSBjYXNlcyB0aGUgV2ViRHJpdmVyIGNvbW1hbmQKKyAgICAgICAgICogICAgICAgICAg
ICAgICAgICAgIGVycm9ycy4KKyAgICAgICAgICovCisgICAgICAgIHJlbW92ZV9jcmVkZW50aWFs
OiBmdW5jdGlvbihhdXRoZW50aWNhdG9yX2lkLCBjcmVkZW50aWFsX2lkKSB7CisgICAgICAgICAg
ICByZXR1cm4gd2luZG93LnRlc3RfZHJpdmVyX2ludGVybmFsLnJlbW92ZV9jcmVkZW50aWFsKGF1
dGhlbnRpY2F0b3JfaWQsIGNyZWRlbnRpYWxfaWQpOworICAgICAgICB9LAorCisgICAgICAgIC8q
KgorICAgICAgICAgKiBSZW1vdmVzIGFsbCB0aGUgY3JlZGVudGlhbHMgc3RvcmVkIGluIGEgdmly
dHVhbCBhdXRoZW50aWNhdG9yCisgICAgICAgICAqCisgICAgICAgICAqIGh0dHBzOi8vdzNjLmdp
dGh1Yi5pby93ZWJhdXRobi8jc2N0bi1hdXRvbWF0aW9uLXJlbW92ZS1hbGwtY3JlZGVudGlhbHMK
KyAgICAgICAgICoKKyAgICAgICAgICogQHBhcmFtIHtTdHJpbmd9IGF1dGhlbnRpY2F0b3JfaWQg
LSB0aGUgSUQgb2YgdGhlIGF1dGhlbnRpY2F0b3IKKyAgICAgICAgICoKKyAgICAgICAgICogQHJl
dHVybnMge1Byb21pc2V9IGZ1bGZpbGxlZCBhZnRlciB0aGUgY3JlZGVudGlhbHMgYXJlIHJlbW92
ZWQsIG9yCisgICAgICAgICAqICAgICAgICAgICAgICAgICAgICByZWplY3RlZCBpbiB0aGUgY2Fz
ZXMgdGhlIFdlYkRyaXZlciBjb21tYW5kCisgICAgICAgICAqICAgICAgICAgICAgICAgICAgICBl
cnJvcnMuCisgICAgICAgICAqLworICAgICAgICByZW1vdmVfYWxsX2NyZWRlbnRpYWxzOiBmdW5j
dGlvbihhdXRoZW50aWNhdG9yX2lkKSB7CisgICAgICAgICAgICByZXR1cm4gd2luZG93LnRlc3Rf
ZHJpdmVyX2ludGVybmFsLnJlbW92ZV9hbGxfY3JlZGVudGlhbHMoYXV0aGVudGljYXRvcl9pZCk7
CisgICAgICAgIH0sCisKKyAgICAgICAgLyoqCisgICAgICAgICAqIFNldHMgdGhlIFVzZXIgVmVy
aWZpZWQgZmxhZyBvbiBhbiBhdXRoZW50aWNhdG9yCisgICAgICAgICAqCisgICAgICAgICAqIFNl
dHMgd2hldGhlciByZXF1ZXN0cyByZXF1aXJpbmcgdXNlciB2ZXJpZmljYXRpb24gd2lsbCBzdWNj
ZWVkIG9yCisgICAgICAgICAqIGZhaWwgb24gYSBnaXZlbiB2aXJ0dWFsIGF1dGhlbnRpY2F0b3IK
KyAgICAgICAgICogaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3dlYmF1dGhuLyNzY3RuLWF1dG9tYXRp
b24tc2V0LXVzZXItdmVyaWZpZWQKKyAgICAgICAgICoKKyAgICAgICAgICogQHBhcmFtIHtTdHJp
bmd9IGF1dGhlbnRpY2F0b3JfaWQgLSB0aGUgSUQgb2YgdGhlIGF1dGhlbnRpY2F0b3IKKyAgICAg
ICAgICogQHBhcmFtIHtib29sZWFufSB1diAtIHRoZSBVc2VyIFZlcmlmaWVkIGZsYWcKKyAgICAg
ICAgICovCisgICAgICAgIHNldF91c2VyX3ZlcmlmaWVkOiBmdW5jdGlvbihhdXRoZW50aWNhdG9y
X2lkLCB1dikgeworICAgICAgICAgICAgcmV0dXJuIHdpbmRvdy50ZXN0X2RyaXZlcl9pbnRlcm5h
bC5zZXRfdXNlcl92ZXJpZmllZChhdXRoZW50aWNhdG9yX2lkLCB1dik7CisgICAgICAgIH0sCiAg
ICAgfTsKIAogICAgIHdpbmRvdy50ZXN0X2RyaXZlcl9pbnRlcm5hbCA9IHsKQEAgLTMwNiw2ICs0
MjUsMTA1IEBACiAgICAgICAgICAqLwogICAgICAgICBnZW5lcmF0ZV90ZXN0X3JlcG9ydDogZnVu
Y3Rpb24obWVzc2FnZSkgewogICAgICAgICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyBF
cnJvcigidW5pbXBsZW1lbnRlZCIpKTsKLSAgICAgICAgfQorICAgICAgICB9LAorCisgICAgICAg
IC8qKgorICAgICAgICAgKiBDcmVhdGVzIGEgdmlydHVhbCBhdXRoZW50aWNhdG9yCisgICAgICAg
ICAqCisgICAgICAgICAqIEBwYXJhbSB7T2JqZWN0fSBjb25maWcgLSB0aGUgYXV0aGVudGljYXRv
ciBjb25maWd1cmF0aW9uCisgICAgICAgICAqIEByZXR1cm5zIHtQcm9taXNlfSBmdWxmaWxsZWQg
YWZ0ZXIgdGhlIGF1dGhlbnRpY2F0b3IgaXMgYWRkZWQsIG9yCisgICAgICAgICAqICAgICAgICAg
ICAgICAgICAgICByZWplY3RlZCBpbiB0aGUgY2FzZXMgdGhlIFdlYkRyaXZlciBjb21tYW5kCisg
ICAgICAgICAqICAgICAgICAgICAgICAgICAgICBlcnJvcnMuCisgICAgICAgICAqLworICAgICAg
ICBhZGRfdmlydHVhbF9hdXRoZW50aWNhdG9yOiBmdW5jdGlvbihjb25maWcpIHsKKyAgICAgICAg
ICAgIHJldHVybiBQcm9taXNlLnJlamVjdChuZXcgRXJyb3IoInVuaW1wbGVtZW50ZWQiKSk7Cisg
ICAgICAgIH0sCisKKyAgICAgICAgLyoqCisgICAgICAgICAqIFJlbW92ZXMgYSB2aXJ0dWFsIGF1
dGhlbnRpY2F0b3IKKyAgICAgICAgICoKKyAgICAgICAgICogQHBhcmFtIHtTdHJpbmd9IGF1dGhl
bnRpY2F0b3JfaWQgLSB0aGUgSUQgb2YgdGhlIGF1dGhlbnRpY2F0b3IgdG8gYmUKKyAgICAgICAg
ICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZW1vdmVkLgorICAgICAgICAg
KgorICAgICAgICAgKiBAcmV0dXJucyB7UHJvbWlzZX0gZnVsZmlsbGVkIGFmdGVyIHRoZSBhdXRo
ZW50aWNhdG9yIGlzIHJlbW92ZWQsIG9yCisgICAgICAgICAqICAgICAgICAgICAgICAgICAgICBy
ZWplY3RlZCBpbiB0aGUgY2FzZXMgdGhlIFdlYkRyaXZlciBjb21tYW5kCisgICAgICAgICAqICAg
ICAgICAgICAgICAgICAgICBlcnJvcnMKKyAgICAgICAgICovCisgICAgICAgIHJlbW92ZV92aXJ0
dWFsX2F1dGhlbnRpY2F0b3I6IGZ1bmN0aW9uKGF1dGhlbnRpY2F0b3JfaWQpIHsKKyAgICAgICAg
ICAgIHJldHVybiBQcm9taXNlLnJlamVjdChuZXcgRXJyb3IoInVuaW1wbGVtZW50ZWQiKSk7Cisg
ICAgICAgIH0sCisKKyAgICAgICAgLyoqCisgICAgICAgICAqIEFkZHMgYSBjcmVkZW50aWFsIHRv
IGEgdmlydHVhbCBhdXRoZW50aWNhdG9yCisgICAgICAgICAqCisgICAgICAgICAqIEBwYXJhbSB7
U3RyaW5nfSBhdXRoZW50aWNhdG9yX2lkIC0gdGhlIElEIG9mIHRoZSBhdXRoZW50aWNhdG9yCisg
ICAgICAgICAqIEBwYXJhbSB7T2JqZWN0fSBjcmVkZW50aWFsIC0gQSBbQ3JlZGVudGlhbCBQYXJh
bWV0ZXJzXXtAbGluaworICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGh0
dHBzOi8vdzNjLmdpdGh1Yi5pby93ZWJhdXRobi8jY3JlZGVudGlhbC1wYXJhbWV0ZXJzfQorICAg
ICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iamVjdAorICAgICAgICAgKgor
ICAgICAgICAgKiBAcmV0dXJucyB7UHJvbWlzZX0gZnVsZmlsbGVkIGFmdGVyIHRoZSBjcmVkZW50
aWFsIGlzIGFkZGVkLCBvcgorICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgcmVqZWN0ZWQg
aW4gdGhlIGNhc2VzIHRoZSBXZWJEcml2ZXIgY29tbWFuZAorICAgICAgICAgKiAgICAgICAgICAg
ICAgICAgICAgZXJyb3JzCisgICAgICAgICAqCisgICAgICAgICAqLworICAgICAgICBhZGRfY3Jl
ZGVudGlhbDogZnVuY3Rpb24oYXV0aGVudGljYXRvcl9pZCwgY3JlZGVudGlhbCkgeworICAgICAg
ICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyBFcnJvcigidW5pbXBsZW1lbnRlZCIpKTsK
KyAgICAgICAgfSwKKworICAgICAgICAvKioKKyAgICAgICAgICogR2V0cyBhbGwgdGhlIGNyZWRl
bnRpYWxzIHN0b3JlZCBpbiBhbiBhdXRoZW50aWNhdG9yCisgICAgICAgICAqCisgICAgICAgICAq
IEBwYXJhbSB7U3RyaW5nfSBhdXRoZW50aWNhdG9yX2lkIC0gdGhlIElEIG9mIHRoZSBhdXRoZW50
aWNhdG9yCisgICAgICAgICAqCisgICAgICAgICAqIEByZXR1cm5zIHtQcm9taXNlfSBmdWxmaWxs
ZWQgYWZ0ZXIgdGhlIGNyZWRlbnRpYWxzIGFyZSByZXR1cm5lZCwgb3IKKyAgICAgICAgICogICAg
ICAgICAgICAgICAgICAgIHJlamVjdGVkIGluIHRoZSBjYXNlcyB0aGUgV2ViRHJpdmVyIGNvbW1h
bmQKKyAgICAgICAgICogICAgICAgICAgICAgICAgICAgIGVycm9ycy4gUmV0dXJucyBhbiBhcnJh
eSBvZiBbQ3JlZGVudGlhbAorICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgUGFyYW1ldGVy
c117QGxpbmsKKyAgICAgICAgICogICAgICAgICAgICAgICAgICAgIGh0dHBzOi8vdzNjLmdpdGh1
Yi5pby93ZWJhdXRobi8jY3JlZGVudGlhbC1wYXJhbWV0ZXJzfQorICAgICAgICAgKgorICAgICAg
ICAgKi8KKyAgICAgICAgZ2V0X2NyZWRlbnRpYWxzOiBmdW5jdGlvbihhdXRoZW50aWNhdG9yX2lk
KSB7CisgICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QobmV3IEVycm9yKCJ1bmltcGxl
bWVudGVkIikpOworICAgICAgICB9LAorCisgICAgICAgIC8qKgorICAgICAgICAgKiBSZW1vdmUg
YSBjcmVkZW50aWFsIHN0b3JlZCBpbiBhbiBhdXRoZW50aWNhdG9yCisgICAgICAgICAqCisgICAg
ICAgICAqIEBwYXJhbSB7U3RyaW5nfSBhdXRoZW50aWNhdG9yX2lkIC0gdGhlIElEIG9mIHRoZSBh
dXRoZW50aWNhdG9yCisgICAgICAgICAqIEBwYXJhbSB7U3RyaW5nfSBjcmVkZW50aWFsX2lkIC0g
dGhlIElEIG9mIHRoZSBjcmVkZW50aWFsCisgICAgICAgICAqCisgICAgICAgICAqIEByZXR1cm5z
IHtQcm9taXNlfSBmdWxmaWxsZWQgYWZ0ZXIgdGhlIGNyZWRlbnRpYWwgaXMgcmVtb3ZlZCwgb3IK
KyAgICAgICAgICogICAgICAgICAgICAgICAgICAgIHJlamVjdGVkIGluIHRoZSBjYXNlcyB0aGUg
V2ViRHJpdmVyIGNvbW1hbmQKKyAgICAgICAgICogICAgICAgICAgICAgICAgICAgIGVycm9ycy4K
KyAgICAgICAgICoKKyAgICAgICAgICovCisgICAgICAgIHJlbW92ZV9jcmVkZW50aWFsOiBmdW5j
dGlvbihhdXRoZW50aWNhdG9yX2lkLCBjcmVkZW50aWFsX2lkKSB7CisgICAgICAgICAgICByZXR1
cm4gUHJvbWlzZS5yZWplY3QobmV3IEVycm9yKCJ1bmltcGxlbWVudGVkIikpOworICAgICAgICB9
LAorCisgICAgICAgIC8qKgorICAgICAgICAgKiBSZW1vdmVzIGFsbCB0aGUgY3JlZGVudGlhbHMg
c3RvcmVkIGluIGEgdmlydHVhbCBhdXRoZW50aWNhdG9yCisgICAgICAgICAqCisgICAgICAgICAq
IEBwYXJhbSB7U3RyaW5nfSBhdXRoZW50aWNhdG9yX2lkIC0gdGhlIElEIG9mIHRoZSBhdXRoZW50
aWNhdG9yCisgICAgICAgICAqCisgICAgICAgICAqIEByZXR1cm5zIHtQcm9taXNlfSBmdWxmaWxs
ZWQgYWZ0ZXIgdGhlIGNyZWRlbnRpYWxzIGFyZSByZW1vdmVkLCBvcgorICAgICAgICAgKiAgICAg
ICAgICAgICAgICAgICAgcmVqZWN0ZWQgaW4gdGhlIGNhc2VzIHRoZSBXZWJEcml2ZXIgY29tbWFu
ZAorICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgZXJyb3JzLgorICAgICAgICAgKgorICAg
ICAgICAgKi8KKyAgICAgICAgcmVtb3ZlX2FsbF9jcmVkZW50aWFsczogZnVuY3Rpb24oYXV0aGVu
dGljYXRvcl9pZCkgeworICAgICAgICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyBFcnJv
cigidW5pbXBsZW1lbnRlZCIpKTsKKyAgICAgICAgfSwKKworICAgICAgICAvKioKKyAgICAgICAg
ICogU2V0cyB0aGUgVXNlciBWZXJpZmllZCBmbGFnIG9uIGFuIGF1dGhlbnRpY2F0b3IKKyAgICAg
ICAgICoKKyAgICAgICAgICogQHBhcmFtIHtTdHJpbmd9IGF1dGhlbnRpY2F0b3JfaWQgLSB0aGUg
SUQgb2YgdGhlIGF1dGhlbnRpY2F0b3IKKyAgICAgICAgICogQHBhcmFtIHtib29sZWFufSB1diAt
IHRoZSBVc2VyIFZlcmlmaWVkIGZsYWcKKyAgICAgICAgICoKKyAgICAgICAgICovCisgICAgICAg
IHNldF91c2VyX3ZlcmlmaWVkOiBmdW5jdGlvbihhdXRoZW50aWNhdG9yX2lkLCB1dikgeworICAg
ICAgICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyBFcnJvcigidW5pbXBsZW1lbnRlZCIp
KTsKKyAgICAgICAgfSwKICAgICB9OwogfSkoKTsKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3Rkcml2ZXIuanMuaGVhZGVycwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy90ZXN0ZHJpdmVyLmpzLmhlYWRlcnMJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdGRyaXZl
ci5qcy5oZWFkZXJzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMiBAQAorQ29udGVudC1UeXBl
OiB0ZXh0L2phdmFzY3JpcHQ7IGNoYXJzZXQ9dXRmLTgKK0NhY2hlLUNvbnRyb2w6IG1heC1hZ2U9
MzYwMApJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMJKHJldmlz
aW9uIDI1Mjg5NikKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzCSh3b3JraW5nIGNvcHkpCkBAIC01MzgsOCArNTM4
LDEyIEBAIHBvbGljaWVzIGFuZCBjb250cmlidXRpb24gZm9ybXMgWzNdLgogICAgICAqLwogICAg
IGZ1bmN0aW9uIHRlc3QoZnVuYywgbmFtZSwgcHJvcGVydGllcykKICAgICB7CisgICAgICAgIGlm
ICh0ZXN0cy5wcm9taXNlX3NldHVwX2NhbGxlZCkgeworICAgICAgICAgICAgdGVzdHMuc3RhdHVz
LnN0YXR1cyA9IHRlc3RzLnN0YXR1cy5FUlJPUjsKKyAgICAgICAgICAgIHRlc3RzLnN0YXR1cy5t
ZXNzYWdlID0gJ2B0ZXN0YCBpbnZva2VkIGFmdGVyIGBwcm9taXNlX3NldHVwYCc7CisgICAgICAg
ICAgICB0ZXN0cy5jb21wbGV0ZSgpOworICAgICAgICB9CiAgICAgICAgIHZhciB0ZXN0X25hbWUg
PSBuYW1lID8gbmFtZSA6IHRlc3RfZW52aXJvbm1lbnQubmV4dF9kZWZhdWx0X3Rlc3RfbmFtZSgp
OwotICAgICAgICBwcm9wZXJ0aWVzID0gcHJvcGVydGllcyA/IHByb3BlcnRpZXMgOiB7fTsKICAg
ICAgICAgdmFyIHRlc3Rfb2JqID0gbmV3IFRlc3QodGVzdF9uYW1lLCBwcm9wZXJ0aWVzKTsKICAg
ICAgICAgdmFyIHZhbHVlID0gdGVzdF9vYmouc3RlcChmdW5jLCB0ZXN0X29iaiwgdGVzdF9vYmop
OwogCkBAIC01NjQsMTMgKzU2OCwxNyBAQCBwb2xpY2llcyBhbmQgY29udHJpYnV0aW9uIGZvcm1z
IFszXS4KIAogICAgIGZ1bmN0aW9uIGFzeW5jX3Rlc3QoZnVuYywgbmFtZSwgcHJvcGVydGllcykK
ICAgICB7CisgICAgICAgIGlmICh0ZXN0cy5wcm9taXNlX3NldHVwX2NhbGxlZCkgeworICAgICAg
ICAgICAgdGVzdHMuc3RhdHVzLnN0YXR1cyA9IHRlc3RzLnN0YXR1cy5FUlJPUjsKKyAgICAgICAg
ICAgIHRlc3RzLnN0YXR1cy5tZXNzYWdlID0gJ2Bhc3luY190ZXN0YCBpbnZva2VkIGFmdGVyIGBw
cm9taXNlX3NldHVwYCc7CisgICAgICAgICAgICB0ZXN0cy5jb21wbGV0ZSgpOworICAgICAgICB9
CiAgICAgICAgIGlmICh0eXBlb2YgZnVuYyAhPT0gImZ1bmN0aW9uIikgewogICAgICAgICAgICAg
cHJvcGVydGllcyA9IG5hbWU7CiAgICAgICAgICAgICBuYW1lID0gZnVuYzsKICAgICAgICAgICAg
IGZ1bmMgPSBudWxsOwogICAgICAgICB9CiAgICAgICAgIHZhciB0ZXN0X25hbWUgPSBuYW1lID8g
bmFtZSA6IHRlc3RfZW52aXJvbm1lbnQubmV4dF9kZWZhdWx0X3Rlc3RfbmFtZSgpOwotICAgICAg
ICBwcm9wZXJ0aWVzID0gcHJvcGVydGllcyA/IHByb3BlcnRpZXMgOiB7fTsKICAgICAgICAgdmFy
IHRlc3Rfb2JqID0gbmV3IFRlc3QodGVzdF9uYW1lLCBwcm9wZXJ0aWVzKTsKICAgICAgICAgaWYg
KGZ1bmMpIHsKICAgICAgICAgICAgIHRlc3Rfb2JqLnN0ZXAoZnVuYywgdGVzdF9vYmosIHRlc3Rf
b2JqKTsKQEAgLTU3OSw3ICs1ODcsMTMgQEAgcG9saWNpZXMgYW5kIGNvbnRyaWJ1dGlvbiBmb3Jt
cyBbM10uCiAgICAgfQogCiAgICAgZnVuY3Rpb24gcHJvbWlzZV90ZXN0KGZ1bmMsIG5hbWUsIHBy
b3BlcnRpZXMpIHsKLSAgICAgICAgdmFyIHRlc3QgPSBhc3luY190ZXN0KG5hbWUsIHByb3BlcnRp
ZXMpOworICAgICAgICBpZiAodHlwZW9mIGZ1bmMgIT09ICJmdW5jdGlvbiIpIHsKKyAgICAgICAg
ICAgIHByb3BlcnRpZXMgPSBuYW1lOworICAgICAgICAgICAgbmFtZSA9IGZ1bmM7CisgICAgICAg
ICAgICBmdW5jID0gbnVsbDsKKyAgICAgICAgfQorICAgICAgICB2YXIgdGVzdF9uYW1lID0gbmFt
ZSA/IG5hbWUgOiB0ZXN0X2Vudmlyb25tZW50Lm5leHRfZGVmYXVsdF90ZXN0X25hbWUoKTsKKyAg
ICAgICAgdmFyIHRlc3QgPSBuZXcgVGVzdCh0ZXN0X25hbWUsIHByb3BlcnRpZXMpOwogICAgICAg
ICB0ZXN0Ll9pc19wcm9taXNlX3Rlc3QgPSB0cnVlOwogCiAgICAgICAgIC8vIElmIHRoZXJlIGlz
IG5vIHByb21pc2UgdGVzdHMgcXVldWUgbWFrZSBvbmUuCkBAIC02MzAsNiArNjQ0LDI3IEBAIHBv
bGljaWVzIGFuZCBjb250cmlidXRpb24gZm9ybXMgWzNdLgogICAgICAgICB9KTsKICAgICB9CiAK
KyAgICBmdW5jdGlvbiBwcm9taXNlX3JlamVjdHNfanModGVzdCwgZXhwZWN0ZWQsIHByb21pc2Us
IGRlc2NyaXB0aW9uKSB7CisgICAgICAgIHJldHVybiBwcm9taXNlLnRoZW4odGVzdC51bnJlYWNo
ZWRfZnVuYygiU2hvdWxkIGhhdmUgcmVqZWN0ZWQ6ICIgKyBkZXNjcmlwdGlvbikpLmNhdGNoKGZ1
bmN0aW9uKGUpIHsKKyAgICAgICAgICAgIGFzc2VydF90aHJvd3NfanNfaW1wbChleHBlY3RlZCwg
ZnVuY3Rpb24oKSB7IHRocm93IGUgfSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBkZXNjcmlwdGlvbiwgInByb21pc2VfcmVqZWN0X2pzIik7CisgICAgICAgIH0pOworICAgIH0K
KworICAgIGZ1bmN0aW9uIHByb21pc2VfcmVqZWN0c19kb20odGVzdCwgZXhwZWN0ZWQsIHByb21p
c2UsIGRlc2NyaXB0aW9uKSB7CisgICAgICAgIHJldHVybiBwcm9taXNlLnRoZW4odGVzdC51bnJl
YWNoZWRfZnVuYygiU2hvdWxkIGhhdmUgcmVqZWN0ZWQ6ICIgKyBkZXNjcmlwdGlvbikpLmNhdGNo
KGZ1bmN0aW9uKGUpIHsKKyAgICAgICAgICAgIGFzc2VydF90aHJvd3NfZG9tX2ltcGwoZXhwZWN0
ZWQsIGZ1bmN0aW9uKCkgeyB0aHJvdyBlIH0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGRlc2NyaXB0aW9uLCAicHJvbWlzZV9yZWplY3RzX2RvbSIpOworICAgICAgICB9KTsK
KyAgICB9CisKKyAgICBmdW5jdGlvbiBwcm9taXNlX3JlamVjdHNfZXhhY3RseSh0ZXN0LCBleHBl
Y3RlZCwgcHJvbWlzZSwgZGVzY3JpcHRpb24pIHsKKyAgICAgICAgcmV0dXJuIHByb21pc2UudGhl
bih0ZXN0LnVucmVhY2hlZF9mdW5jKCJTaG91bGQgaGF2ZSByZWplY3RlZDogIiArIGRlc2NyaXB0
aW9uKSkuY2F0Y2goZnVuY3Rpb24oZSkgeworICAgICAgICAgICAgYXNzZXJ0X3Rocm93c19leGFj
dGx5X2ltcGwoZXhwZWN0ZWQsIGZ1bmN0aW9uKCkgeyB0aHJvdyBlIH0sCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbiwgInByb21pc2VfcmVqZWN0c19l
eGFjdGx5Iik7CisgICAgICAgIH0pOworICAgIH0KKwogICAgIC8qKgogICAgICAqIFRoaXMgY29u
c3RydWN0b3IgaGVscGVyIGFsbG93cyBET00gZXZlbnRzIHRvIGJlIGhhbmRsZWQgdXNpbmcgUHJv
bWlzZXMsCiAgICAgICogd2hpY2ggY2FuIG1ha2UgaXQgYSBsb3QgZWFzaWVyIHRvIHRlc3QgYSB2
ZXJ5IHNwZWNpZmljIHNlcmllcyBvZiBldmVudHMsCkBAIC03NjksOSArODA0LDU2IEBAIHBvbGlj
aWVzIGFuZCBjb250cmlidXRpb24gZm9ybXMgWzNdLgogICAgICAgICB0ZXN0X2Vudmlyb25tZW50
Lm9uX25ld19oYXJuZXNzX3Byb3BlcnRpZXMocHJvcGVydGllcyk7CiAgICAgfQogCisgICAgZnVu
Y3Rpb24gcHJvbWlzZV9zZXR1cChmdW5jLCBtYXliZV9wcm9wZXJ0aWVzKQorICAgIHsKKyAgICAg
ICAgaWYgKHR5cGVvZiBmdW5jICE9PSAiZnVuY3Rpb24iKSB7CisgICAgICAgICAgICB0ZXN0cy5z
ZXRfc3RhdHVzKHRlc3RzLnN0YXR1cy5FUlJPUiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgInByb21pc2VfdGVzdCBpbnZva2VkIHdpdGhvdXQgYSBmdW5jdGlvbiIpOworICAgICAgICAg
ICAgdGVzdHMuY29tcGxldGUoKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAg
ICAgICB0ZXN0cy5wcm9taXNlX3NldHVwX2NhbGxlZCA9IHRydWU7CisKKyAgICAgICAgaWYgKCF0
ZXN0cy5wcm9taXNlX3Rlc3RzKSB7CisgICAgICAgICAgICB0ZXN0cy5wcm9taXNlX3Rlc3RzID0g
UHJvbWlzZS5yZXNvbHZlKCk7CisgICAgICAgIH0KKworICAgICAgICB0ZXN0cy5wcm9taXNlX3Rl
c3RzID0gdGVzdHMucHJvbWlzZV90ZXN0cworICAgICAgICAgICAgLnRoZW4oZnVuY3Rpb24oKQor
ICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgIHZhciBwcm9wZXJ0aWVz
ID0gbWF5YmVfcHJvcGVydGllcyB8fCB7fTsKKyAgICAgICAgICAgICAgICAgICAgICB2YXIgcmVz
dWx0OworCisgICAgICAgICAgICAgICAgICAgICAgdGVzdHMuc2V0dXAobnVsbCwgcHJvcGVydGll
cyk7CisgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0ID0gZnVuYygpOworICAgICAgICAgICAg
ICAgICAgICAgIHRlc3RfZW52aXJvbm1lbnQub25fbmV3X2hhcm5lc3NfcHJvcGVydGllcyhwcm9w
ZXJ0aWVzKTsKKworICAgICAgICAgICAgICAgICAgICAgIGlmICghcmVzdWx0IHx8IHR5cGVvZiBy
ZXN1bHQudGhlbiAhPT0gImZ1bmN0aW9uIikgeworICAgICAgICAgICAgICAgICAgICAgICAgICB0
aHJvdyAiTm9uLXRoZW5hYmxlIHJldHVybmVkIGJ5IGZ1bmN0aW9uIHBhc3NlZCB0byBgcHJvbWlz
ZV9zZXR1cGAiOworICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAg
ICByZXR1cm4gcmVzdWx0OworICAgICAgICAgICAgICAgICAgfSkKKyAgICAgICAgICAgIC5jYXRj
aChmdW5jdGlvbihlKQorICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAg
ICAgdGVzdHMuc2V0X3N0YXR1cyh0ZXN0cy5zdGF0dXMuRVJST1IsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgU3RyaW5nKGUpLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGUgJiYgZS5zdGFjayk7CisgICAgICAgICAgICAgICAgICAgICAg
IHRlc3RzLmNvbXBsZXRlKCk7CisgICAgICAgICAgICAgICAgICAgfSk7CisgICAgfQorCiAgICAg
ZnVuY3Rpb24gZG9uZSgpIHsKICAgICAgICAgaWYgKHRlc3RzLnRlc3RzLmxlbmd0aCA9PT0gMCkg
ewotICAgICAgICAgICAgdGVzdHMuc2V0X2ZpbGVfaXNfdGVzdCgpOworICAgICAgICAgICAgLy8g
YGRvbmVgIGlzIGludm9rZWQgYWZ0ZXIgaGFuZGxpbmcgdW5jYXVnaHQgZXhjZXB0aW9ucywgc28g
aWYgdGhlCisgICAgICAgICAgICAvLyBoYXJuZXNzIHN0YXR1cyBpcyBhbHJlYWR5IHNldCwgdGhl
IGNvcnJlc3BvbmRpbmcgbWVzc2FnZSBpcyBtb3JlCisgICAgICAgICAgICAvLyBkZXNjcmlwdGl2
ZSB0aGFuIHRoZSBnZW5lcmljIG1lc3NhZ2UgZGVmaW5lZCBoZXJlLgorICAgICAgICAgICAgaWYg
KHRlc3RzLnN0YXR1cy5zdGF0dXMgPT09IG51bGwpIHsKKyAgICAgICAgICAgICAgICB0ZXN0cy5z
dGF0dXMuc3RhdHVzID0gdGVzdHMuc3RhdHVzLkVSUk9SOworICAgICAgICAgICAgICAgIHRlc3Rz
LnN0YXR1cy5tZXNzYWdlID0gImRvbmUoKSB3YXMgY2FsbGVkIHdpdGhvdXQgZmlyc3QgZGVmaW5p
bmcgYW55IHRlc3RzIjsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgdGVzdHMuY29tcGxl
dGUoKTsKKyAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogICAgICAgICBpZiAodGVzdHMu
ZmlsZV9pc190ZXN0KSB7CiAgICAgICAgICAgICAvLyBmaWxlIGlzIHRlc3QgZmlsZXMgbmV2ZXIg
aGF2ZSBhc3luY2hyb25vdXMgY2xlYW51cCBsb2dpYywKQEAgLTc5NCw2ICs4NzYsMTIgQEAgcG9s
aWNpZXMgYW5kIGNvbnRyaWJ1dGlvbiBmb3JtcyBbM10uCiAgICAgICAgICAgICAgICAgfSk7CiAg
ICAgfQogCisgICAgLyoKKyAgICAgKiBSZWdpc3RlciBhIGZ1bmN0aW9uIGFzIGEgRE9NIGV2ZW50
IGxpc3RlbmVyIHRvIHRoZSBnaXZlbiBvYmplY3QgZm9yIHRoZQorICAgICAqIGV2ZW50IGJ1YmJs
aW5nIHBoYXNlLgorICAgICAqCisgICAgICogVGhpcyBmdW5jdGlvbiB3YXMgZGVwcmVjYXRlZCBp
biBOb3ZlbWJlciBvZiAyMDE5LgorICAgICAqLwogICAgIGZ1bmN0aW9uIG9uX2V2ZW50KG9iamVj
dCwgZXZlbnQsIGNhbGxiYWNrKQogICAgIHsKICAgICAgICAgb2JqZWN0LmFkZEV2ZW50TGlzdGVu
ZXIoZXZlbnQsIGNhbGxiYWNrLCBmYWxzZSk7CkBAIC04MTEsOCArODk5LDEyIEBAIHBvbGljaWVz
IGFuZCBjb250cmlidXRpb24gZm9ybXMgWzNdLgogICAgIGV4cG9zZShhc3luY190ZXN0LCAnYXN5
bmNfdGVzdCcpOwogICAgIGV4cG9zZShwcm9taXNlX3Rlc3QsICdwcm9taXNlX3Rlc3QnKTsKICAg
ICBleHBvc2UocHJvbWlzZV9yZWplY3RzLCAncHJvbWlzZV9yZWplY3RzJyk7CisgICAgZXhwb3Nl
KHByb21pc2VfcmVqZWN0c19qcywgJ3Byb21pc2VfcmVqZWN0c19qcycpOworICAgIGV4cG9zZShw
cm9taXNlX3JlamVjdHNfZG9tLCAncHJvbWlzZV9yZWplY3RzX2RvbScpOworICAgIGV4cG9zZShw
cm9taXNlX3JlamVjdHNfZXhhY3RseSwgJ3Byb21pc2VfcmVqZWN0c19leGFjdGx5Jyk7CiAgICAg
ZXhwb3NlKGdlbmVyYXRlX3Rlc3RzLCAnZ2VuZXJhdGVfdGVzdHMnKTsKICAgICBleHBvc2Uoc2V0
dXAsICdzZXR1cCcpOworICAgIGV4cG9zZShwcm9taXNlX3NldHVwLCAncHJvbWlzZV9zZXR1cCcp
OwogICAgIGV4cG9zZShkb25lLCAnZG9uZScpOwogICAgIGV4cG9zZShvbl9ldmVudCwgJ29uX2V2
ZW50Jyk7CiAgICAgZXhwb3NlKHN0ZXBfdGltZW91dCwgJ3N0ZXBfdGltZW91dCcpOwpAQCAtMTI3
MCw4ICsxMzYyLDExIEBAIHBvbGljaWVzIGFuZCBjb250cmlidXRpb24gZm9ybXMgWzNdLgogICAg
IGV4cG9zZShhc3NlcnRfcmVnZXhwX21hdGNoLCAiYXNzZXJ0X3JlZ2V4cF9tYXRjaCIpOwogCiAg
ICAgZnVuY3Rpb24gYXNzZXJ0X2NsYXNzX3N0cmluZyhvYmplY3QsIGNsYXNzX3N0cmluZywgZGVz
Y3JpcHRpb24pIHsKLSAgICAgICAgYXNzZXJ0X2VxdWFscyh7fS50b1N0cmluZy5jYWxsKG9iamVj
dCksICJbb2JqZWN0ICIgKyBjbGFzc19zdHJpbmcgKyAiXSIsCi0gICAgICAgICAgICAgICAgICAg
ICAgZGVzY3JpcHRpb24pOworICAgICAgICB2YXIgYWN0dWFsID0ge30udG9TdHJpbmcuY2FsbChv
YmplY3QpOworICAgICAgICB2YXIgZXhwZWN0ZWQgPSAiW29iamVjdCAiICsgY2xhc3Nfc3RyaW5n
ICsgIl0iOworICAgICAgICBhc3NlcnQoc2FtZV92YWx1ZShhY3R1YWwsIGV4cGVjdGVkKSwgImFz
c2VydF9jbGFzc19zdHJpbmciLCBkZXNjcmlwdGlvbiwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJleHBlY3RlZCAke2V4cGVjdGVkfSBidXQgZ290ICR7YWN0
dWFsfSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7ZXhw
ZWN0ZWQ6ZXhwZWN0ZWQsIGFjdHVhbDphY3R1YWx9KTsKICAgICB9CiAgICAgZXhwb3NlKGFzc2Vy
dF9jbGFzc19zdHJpbmcsICJhc3NlcnRfY2xhc3Nfc3RyaW5nIik7CiAKQEAgLTE0ODIsNiArMTU3
NywyNzYgQEAgcG9saWNpZXMgYW5kIGNvbnRyaWJ1dGlvbiBmb3JtcyBbM10uCiAgICAgfQogICAg
IGV4cG9zZShhc3NlcnRfdGhyb3dzLCAiYXNzZXJ0X3Rocm93cyIpOwogCisgICAgLyoqCisgICAg
ICogQXNzZXJ0IGEgSlMgRXJyb3Igd2l0aCB0aGUgZXhwZWN0ZWQgY29uc3RydWN0b3IgaXMgdGhy
b3duLgorICAgICAqCisgICAgICogQHBhcmFtIHtvYmplY3R9IGNvbnN0cnVjdG9yIFRoZSBleHBl
Y3RlZCBleGNlcHRpb24gY29uc3RydWN0b3IuCisgICAgICogQHBhcmFtIHtGdW5jdGlvbn0gZnVu
YyBGdW5jdGlvbiB3aGljaCBzaG91bGQgdGhyb3cuCisgICAgICogQHBhcmFtIHtzdHJpbmd9IGRl
c2NyaXB0aW9uIEVycm9yIGRlc2NyaXB0aW9uIGZvciB0aGUgY2FzZSB0aGF0IHRoZSBlcnJvciBp
cyBub3QgdGhyb3duLgorICAgICAqLworICAgIGZ1bmN0aW9uIGFzc2VydF90aHJvd3NfanMoY29u
c3RydWN0b3IsIGZ1bmMsIGRlc2NyaXB0aW9uKQorICAgIHsKKyAgICAgICAgYXNzZXJ0X3Rocm93
c19qc19pbXBsKGNvbnN0cnVjdG9yLCBmdW5jLCBkZXNjcmlwdGlvbiwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICJhc3NlcnRfdGhyb3dzX2pzIik7CisgICAgfQorICAgIGV4cG9zZShh
c3NlcnRfdGhyb3dzX2pzLCAiYXNzZXJ0X3Rocm93c19qcyIpOworCisgICAgLyoqCisgICAgICog
TGlrZSBhc3NlcnRfdGhyb3dzX2pzIGJ1dCBhbGxvd3Mgc3BlY2lmeWluZyB0aGUgYXNzZXJ0aW9u
IHR5cGUKKyAgICAgKiAoYXNzZXJ0X3Rocm93c19qcyBvciBwcm9taXNlX3JlamVjdHNfanMsIGlu
IHByYWN0aWNlKS4KKyAgICAgKi8KKyAgICBmdW5jdGlvbiBhc3NlcnRfdGhyb3dzX2pzX2ltcGwo
Y29uc3RydWN0b3IsIGZ1bmMsIGRlc2NyaXB0aW9uLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBhc3NlcnRpb25fdHlwZSkKKyAgICB7CisgICAgICAgIHRyeSB7CisgICAgICAg
ICAgICBmdW5jLmNhbGwodGhpcyk7CisgICAgICAgICAgICBhc3NlcnQoZmFsc2UsIGFzc2VydGlv
bl90eXBlLCBkZXNjcmlwdGlvbiwKKyAgICAgICAgICAgICAgICAgICAiJHtmdW5jfSBkaWQgbm90
IHRocm93Iiwge2Z1bmM6ZnVuY30pOworICAgICAgICB9IGNhdGNoIChlKSB7CisgICAgICAgICAg
ICBpZiAoZSBpbnN0YW5jZW9mIEFzc2VydGlvbkVycm9yKSB7CisgICAgICAgICAgICAgICAgdGhy
b3cgZTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgLy8gQmFzaWMgc2FuaXR5LWNoZWNr
cyBvbiB0aGUgdGhyb3duIGV4Y2VwdGlvbi4KKyAgICAgICAgICAgIGFzc2VydCh0eXBlb2YgZSA9
PT0gIm9iamVjdCIsCisgICAgICAgICAgICAgICAgICAgYXNzZXJ0aW9uX3R5cGUsIGRlc2NyaXB0
aW9uLAorICAgICAgICAgICAgICAgICAgICIke2Z1bmN9IHRocmV3ICR7ZX0gd2l0aCB0eXBlICR7
dHlwZX0sIG5vdCBhbiBvYmplY3QiLAorICAgICAgICAgICAgICAgICAgIHtmdW5jOmZ1bmMsIGU6
ZSwgdHlwZTp0eXBlb2YgZX0pOworCisgICAgICAgICAgICBhc3NlcnQoZSAhPT0gbnVsbCwKKyAg
ICAgICAgICAgICAgICAgICBhc3NlcnRpb25fdHlwZSwgZGVzY3JpcHRpb24sCisgICAgICAgICAg
ICAgICAgICAgIiR7ZnVuY30gdGhyZXcgbnVsbCwgbm90IGFuIG9iamVjdCIsCisgICAgICAgICAg
ICAgICAgICAge2Z1bmM6ZnVuY30pOworCisgICAgICAgICAgICAvLyBCYXNpYyBzYW5pdHktY2hl
Y2sgb24gdGhlIHBhc3NlZC1pbiBjb25zdHJ1Y3RvcgorICAgICAgICAgICAgYXNzZXJ0KHR5cGVv
ZiBjb25zdHJ1Y3RvciA9PSAiZnVuY3Rpb24iLAorICAgICAgICAgICAgICAgICAgIGFzc2VydGlv
bl90eXBlLCBkZXNjcmlwdGlvbiwKKyAgICAgICAgICAgICAgICAgICAiJHtjb25zdHJ1Y3Rvcn0g
aXMgbm90IGEgY29uc3RydWN0b3IiLAorICAgICAgICAgICAgICAgICAgIHtjb25zdHJ1Y3Rvcjpj
b25zdHJ1Y3Rvcn0pOworICAgICAgICAgICAgdmFyIG9iaiA9IGNvbnN0cnVjdG9yOworICAgICAg
ICAgICAgd2hpbGUgKG9iaikgeworICAgICAgICAgICAgICAgIGlmICh0eXBlb2Ygb2JqID09PSAi
ZnVuY3Rpb24iICYmCisgICAgICAgICAgICAgICAgICAgIG9iai5uYW1lID09PSAiRXJyb3IiKSB7
CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgICAgICBvYmogPSBPYmplY3QuZ2V0UHJvdG90eXBlT2Yob2JqKTsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIGFzc2VydChvYmogIT0gbnVsbCwKKyAgICAgICAgICAgICAgICAgICBhc3Nl
cnRpb25fdHlwZSwgZGVzY3JpcHRpb24sCisgICAgICAgICAgICAgICAgICAgIiR7Y29uc3RydWN0
b3J9IGlzIG5vdCBhbiBFcnJvciBzdWJ0eXBlIiwKKyAgICAgICAgICAgICAgICAgICB7Y29uc3Ry
dWN0b3I6Y29uc3RydWN0b3J9KTsKKworICAgICAgICAgICAgLy8gQW5kIGNoZWNraW5nIHRoYXQg
b3VyIGV4Y2VwdGlvbiBpcyByZWFzb25hYmxlCisgICAgICAgICAgICBhc3NlcnQoZS5jb25zdHJ1
Y3RvciA9PT0gY29uc3RydWN0b3IgJiYKKyAgICAgICAgICAgICAgICAgICBlLm5hbWUgPT09IGNv
bnN0cnVjdG9yLm5hbWUsCisgICAgICAgICAgICAgICAgICAgYXNzZXJ0aW9uX3R5cGUsIGRlc2Ny
aXB0aW9uLAorICAgICAgICAgICAgICAgICAgICIke2Z1bmN9IHRocmV3ICR7YWN0dWFsfSAoJHth
Y3R1YWxfbmFtZX0pIGV4cGVjdGVkIGluc3RhbmNlIG9mICR7ZXhwZWN0ZWR9ICgke2V4cGVjdGVk
X25hbWV9KSIsCisgICAgICAgICAgICAgICAgICAge2Z1bmM6ZnVuYywgYWN0dWFsOmUsIGFjdHVh
bF9uYW1lOmUubmFtZSwKKyAgICAgICAgICAgICAgICAgICAgZXhwZWN0ZWQ6Y29uc3RydWN0b3Is
CisgICAgICAgICAgICAgICAgICAgIGV4cGVjdGVkX25hbWU6Y29uc3RydWN0b3IubmFtZX0pOwor
ICAgICAgICB9CisgICAgfQorCisgICAgLyoqCisgICAgICogQXNzZXJ0IGEgRE9NRXhjZXB0aW9u
IHdpdGggdGhlIGV4cGVjdGVkIHR5cGUgaXMgdGhyb3duLgorICAgICAqCisgICAgICogQHBhcmFt
IHtudW1iZXJ8c3RyaW5nfSB0eXBlIFRoZSBleHBlY3RlZCBleGNlcHRpb24gbmFtZSBvciBjb2Rl
LiAgU2VlIHRoZQorICAgICAqICAgICAgICB0YWJsZSBvZiBuYW1lcyBhbmQgY29kZXMgYXQKKyAg
ICAgKiAgICAgICAgaHR0cHM6Ly9oZXljYW0uZ2l0aHViLmlvL3dlYmlkbC8jZGZuLWVycm9yLW5h
bWVzLXRhYmxlCisgICAgICogICAgICAgIElmIGEgbnVtYmVyIGlzIHBhc3NlZCBpdCBzaG91bGQg
YmUgb25lIG9mIHRoZSBudW1lcmljIGNvZGUgdmFsdWVzCisgICAgICogICAgICAgIGluIHRoYXQg
dGFibGUgKGUuZy4gMywgNCwgZXRjKS4gIElmIGEgc3RyaW5nIGlzIHBhc3NlZCBpdCBjYW4KKyAg
ICAgKiAgICAgICAgZWl0aGVyIGJlIGFuIGV4Y2VwdGlvbiBuYW1lIChlLmcuICJIaWVyYXJjaHlS
ZXF1ZXN0RXJyb3IiLAorICAgICAqICAgICAgICAiV3JvbmdEb2N1bWVudEVycm9yIikgb3IgdGhl
IG5hbWUgb2YgdGhlIGNvcnJlc3BvbmRpbmcgZXJyb3IgY29kZQorICAgICAqICAgICAgICAoZS5n
LiAiSElFUkFSQ0hZX1JFUVVFU1RfRVJSIiwgIldST05HX0RPQ1VNRU5UX0VSUiIpLgorICAgICAq
IEBwYXJhbSB7RnVuY3Rpb259IGZ1bmMgRnVuY3Rpb24gd2hpY2ggc2hvdWxkIHRocm93LgorICAg
ICAqIEBwYXJhbSB7c3RyaW5nfSBkZXNjcmlwdGlvbiBFcnJvciBkZXNjcmlwdGlvbiBmb3IgdGhl
IGNhc2UgdGhhdCB0aGUgZXJyb3IgaXMgbm90IHRocm93bi4KKyAgICAgKi8KKyAgICBmdW5jdGlv
biBhc3NlcnRfdGhyb3dzX2RvbSh0eXBlLCBmdW5jLCBkZXNjcmlwdGlvbikKKyAgICB7CisgICAg
ICAgIGFzc2VydF90aHJvd3NfZG9tX2ltcGwodHlwZSwgZnVuYywgZGVzY3JpcHRpb24sICJhc3Nl
cnRfdGhyb3dzX2RvbSIpCisgICAgfQorICAgIGV4cG9zZShhc3NlcnRfdGhyb3dzX2RvbSwgImFz
c2VydF90aHJvd3NfZG9tIik7CisKKyAgICAvKioKKyAgICAgKiBMaWtlIGFzc2VydF90aHJvd3Nf
ZG9tIGJ1dCBhbGxvd3Mgc3BlY2lmeWluZyB0aGUgYXNzZXJ0aW9uIHR5cGUKKyAgICAgKiAoYXNz
ZXJ0X3Rocm93c19kb20gb3IgcHJvbWlzZV9yZWplY3RzX2RvbSwgaW4gcHJhY3RpY2UpLgorICAg
ICAqLworICAgIGZ1bmN0aW9uIGFzc2VydF90aHJvd3NfZG9tX2ltcGwodHlwZSwgZnVuYywgZGVz
Y3JpcHRpb24sIGFzc2VydGlvbl90eXBlKQorICAgIHsKKyAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgIGZ1bmMuY2FsbCh0aGlzKTsKKyAgICAgICAgICAgIGFzc2VydChmYWxzZSwgYXNzZXJ0aW9u
X3R5cGUsIGRlc2NyaXB0aW9uLAorICAgICAgICAgICAgICAgICAgICIke2Z1bmN9IGRpZCBub3Qg
dGhyb3ciLCB7ZnVuYzpmdW5jfSk7CisgICAgICAgIH0gY2F0Y2ggKGUpIHsKKyAgICAgICAgICAg
IGlmIChlIGluc3RhbmNlb2YgQXNzZXJ0aW9uRXJyb3IpIHsKKyAgICAgICAgICAgICAgICB0aHJv
dyBlOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBhc3NlcnQodHlwZW9mIGUgPT09ICJv
YmplY3QiLAorICAgICAgICAgICAgICAgICAgIGFzc2VydGlvbl90eXBlLCBkZXNjcmlwdGlvbiwK
KyAgICAgICAgICAgICAgICAgICAiJHtmdW5jfSB0aHJldyAke2V9IHdpdGggdHlwZSAke3R5cGV9
LCBub3QgYW4gb2JqZWN0IiwKKyAgICAgICAgICAgICAgICAgICB7ZnVuYzpmdW5jLCBlOmUsIHR5
cGU6dHlwZW9mIGV9KTsKKworICAgICAgICAgICAgYXNzZXJ0KGUgIT09IG51bGwsCisgICAgICAg
ICAgICAgICAgICAgYXNzZXJ0aW9uX3R5cGUsIGRlc2NyaXB0aW9uLAorICAgICAgICAgICAgICAg
ICAgICIke2Z1bmN9IHRocmV3IG51bGwsIG5vdCBhbiBvYmplY3QiLAorICAgICAgICAgICAgICAg
ICAgIHtmdW5jOmZ1bmN9KTsKKworICAgICAgICAgICAgLy8gU2FuaXR5LWNoZWNrIG91ciB0eXBl
CisgICAgICAgICAgICBhc3NlcnQodHlwZW9mIHR5cGUgPT0gIm51bWJlciIgfHwKKyAgICAgICAg
ICAgICAgICAgICB0eXBlb2YgdHlwZSA9PSAic3RyaW5nIiwKKyAgICAgICAgICAgICAgICAgICBh
c3NlcnRpb25fdHlwZSwgZGVzY3JpcHRpb24sCisgICAgICAgICAgICAgICAgICAgIiR7dHlwZX0g
aXMgbm90IGEgbnVtYmVyIG9yIHN0cmluZyIsCisgICAgICAgICAgICAgICAgICAge3R5cGU6dHlw
ZX0pOworCisgICAgICAgICAgICB2YXIgY29kZW5hbWVfbmFtZV9tYXAgPSB7CisgICAgICAgICAg
ICAgICAgSU5ERVhfU0laRV9FUlI6ICdJbmRleFNpemVFcnJvcicsCisgICAgICAgICAgICAgICAg
SElFUkFSQ0hZX1JFUVVFU1RfRVJSOiAnSGllcmFyY2h5UmVxdWVzdEVycm9yJywKKyAgICAgICAg
ICAgICAgICBXUk9OR19ET0NVTUVOVF9FUlI6ICdXcm9uZ0RvY3VtZW50RXJyb3InLAorICAgICAg
ICAgICAgICAgIElOVkFMSURfQ0hBUkFDVEVSX0VSUjogJ0ludmFsaWRDaGFyYWN0ZXJFcnJvcics
CisgICAgICAgICAgICAgICAgTk9fTU9ESUZJQ0FUSU9OX0FMTE9XRURfRVJSOiAnTm9Nb2RpZmlj
YXRpb25BbGxvd2VkRXJyb3InLAorICAgICAgICAgICAgICAgIE5PVF9GT1VORF9FUlI6ICdOb3RG
b3VuZEVycm9yJywKKyAgICAgICAgICAgICAgICBOT1RfU1VQUE9SVEVEX0VSUjogJ05vdFN1cHBv
cnRlZEVycm9yJywKKyAgICAgICAgICAgICAgICBJTlVTRV9BVFRSSUJVVEVfRVJSOiAnSW5Vc2VB
dHRyaWJ1dGVFcnJvcicsCisgICAgICAgICAgICAgICAgSU5WQUxJRF9TVEFURV9FUlI6ICdJbnZh
bGlkU3RhdGVFcnJvcicsCisgICAgICAgICAgICAgICAgU1lOVEFYX0VSUjogJ1N5bnRheEVycm9y
JywKKyAgICAgICAgICAgICAgICBJTlZBTElEX01PRElGSUNBVElPTl9FUlI6ICdJbnZhbGlkTW9k
aWZpY2F0aW9uRXJyb3InLAorICAgICAgICAgICAgICAgIE5BTUVTUEFDRV9FUlI6ICdOYW1lc3Bh
Y2VFcnJvcicsCisgICAgICAgICAgICAgICAgSU5WQUxJRF9BQ0NFU1NfRVJSOiAnSW52YWxpZEFj
Y2Vzc0Vycm9yJywKKyAgICAgICAgICAgICAgICBUWVBFX01JU01BVENIX0VSUjogJ1R5cGVNaXNt
YXRjaEVycm9yJywKKyAgICAgICAgICAgICAgICBTRUNVUklUWV9FUlI6ICdTZWN1cml0eUVycm9y
JywKKyAgICAgICAgICAgICAgICBORVRXT1JLX0VSUjogJ05ldHdvcmtFcnJvcicsCisgICAgICAg
ICAgICAgICAgQUJPUlRfRVJSOiAnQWJvcnRFcnJvcicsCisgICAgICAgICAgICAgICAgVVJMX01J
U01BVENIX0VSUjogJ1VSTE1pc21hdGNoRXJyb3InLAorICAgICAgICAgICAgICAgIFFVT1RBX0VY
Q0VFREVEX0VSUjogJ1F1b3RhRXhjZWVkZWRFcnJvcicsCisgICAgICAgICAgICAgICAgVElNRU9V
VF9FUlI6ICdUaW1lb3V0RXJyb3InLAorICAgICAgICAgICAgICAgIElOVkFMSURfTk9ERV9UWVBF
X0VSUjogJ0ludmFsaWROb2RlVHlwZUVycm9yJywKKyAgICAgICAgICAgICAgICBEQVRBX0NMT05F
X0VSUjogJ0RhdGFDbG9uZUVycm9yJworICAgICAgICAgICAgfTsKKworICAgICAgICAgICAgdmFy
IG5hbWVfY29kZV9tYXAgPSB7CisgICAgICAgICAgICAgICAgSW5kZXhTaXplRXJyb3I6IDEsCisg
ICAgICAgICAgICAgICAgSGllcmFyY2h5UmVxdWVzdEVycm9yOiAzLAorICAgICAgICAgICAgICAg
IFdyb25nRG9jdW1lbnRFcnJvcjogNCwKKyAgICAgICAgICAgICAgICBJbnZhbGlkQ2hhcmFjdGVy
RXJyb3I6IDUsCisgICAgICAgICAgICAgICAgTm9Nb2RpZmljYXRpb25BbGxvd2VkRXJyb3I6IDcs
CisgICAgICAgICAgICAgICAgTm90Rm91bmRFcnJvcjogOCwKKyAgICAgICAgICAgICAgICBOb3RT
dXBwb3J0ZWRFcnJvcjogOSwKKyAgICAgICAgICAgICAgICBJblVzZUF0dHJpYnV0ZUVycm9yOiAx
MCwKKyAgICAgICAgICAgICAgICBJbnZhbGlkU3RhdGVFcnJvcjogMTEsCisgICAgICAgICAgICAg
ICAgU3ludGF4RXJyb3I6IDEyLAorICAgICAgICAgICAgICAgIEludmFsaWRNb2RpZmljYXRpb25F
cnJvcjogMTMsCisgICAgICAgICAgICAgICAgTmFtZXNwYWNlRXJyb3I6IDE0LAorICAgICAgICAg
ICAgICAgIEludmFsaWRBY2Nlc3NFcnJvcjogMTUsCisgICAgICAgICAgICAgICAgVHlwZU1pc21h
dGNoRXJyb3I6IDE3LAorICAgICAgICAgICAgICAgIFNlY3VyaXR5RXJyb3I6IDE4LAorICAgICAg
ICAgICAgICAgIE5ldHdvcmtFcnJvcjogMTksCisgICAgICAgICAgICAgICAgQWJvcnRFcnJvcjog
MjAsCisgICAgICAgICAgICAgICAgVVJMTWlzbWF0Y2hFcnJvcjogMjEsCisgICAgICAgICAgICAg
ICAgUXVvdGFFeGNlZWRlZEVycm9yOiAyMiwKKyAgICAgICAgICAgICAgICBUaW1lb3V0RXJyb3I6
IDIzLAorICAgICAgICAgICAgICAgIEludmFsaWROb2RlVHlwZUVycm9yOiAyNCwKKyAgICAgICAg
ICAgICAgICBEYXRhQ2xvbmVFcnJvcjogMjUsCisKKyAgICAgICAgICAgICAgICBFbmNvZGluZ0Vy
cm9yOiAwLAorICAgICAgICAgICAgICAgIE5vdFJlYWRhYmxlRXJyb3I6IDAsCisgICAgICAgICAg
ICAgICAgVW5rbm93bkVycm9yOiAwLAorICAgICAgICAgICAgICAgIENvbnN0cmFpbnRFcnJvcjog
MCwKKyAgICAgICAgICAgICAgICBEYXRhRXJyb3I6IDAsCisgICAgICAgICAgICAgICAgVHJhbnNh
Y3Rpb25JbmFjdGl2ZUVycm9yOiAwLAorICAgICAgICAgICAgICAgIFJlYWRPbmx5RXJyb3I6IDAs
CisgICAgICAgICAgICAgICAgVmVyc2lvbkVycm9yOiAwLAorICAgICAgICAgICAgICAgIE9wZXJh
dGlvbkVycm9yOiAwLAorICAgICAgICAgICAgICAgIE5vdEFsbG93ZWRFcnJvcjogMAorICAgICAg
ICAgICAgfTsKKworICAgICAgICAgICAgdmFyIGNvZGVfbmFtZV9tYXAgPSB7fTsKKyAgICAgICAg
ICAgIGZvciAodmFyIGtleSBpbiBuYW1lX2NvZGVfbWFwKSB7CisgICAgICAgICAgICAgICAgaWYg
KG5hbWVfY29kZV9tYXBba2V5XSA+IDApIHsKKyAgICAgICAgICAgICAgICAgICAgY29kZV9uYW1l
X21hcFtuYW1lX2NvZGVfbWFwW2tleV1dID0ga2V5OworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIH0KKworICAgICAgICAgICAgdmFyIHJlcXVpcmVkX3Byb3BzID0ge307CisgICAgICAg
ICAgICB2YXIgbmFtZTsKKworICAgICAgICAgICAgaWYgKHR5cGVvZiB0eXBlID09PSAibnVtYmVy
IikgeworICAgICAgICAgICAgICAgIGlmICh0eXBlID09PSAwKSB7CisgICAgICAgICAgICAgICAg
ICAgIHRocm93IG5ldyBBc3NlcnRpb25FcnJvcignVGVzdCBidWc6IGFtYmlndW91cyBET01FeGNl
cHRpb24gY29kZSAwIHBhc3NlZCB0byBhc3NlcnRfdGhyb3dzX2RvbSgpJyk7CisgICAgICAgICAg
ICAgICAgfSBlbHNlIGlmICghKHR5cGUgaW4gY29kZV9uYW1lX21hcCkpIHsKKyAgICAgICAgICAg
ICAgICAgICAgdGhyb3cgbmV3IEFzc2VydGlvbkVycm9yKCdUZXN0IGJ1ZzogdW5yZWNvZ25pemVk
IERPTUV4Y2VwdGlvbiBjb2RlICInICsgdHlwZSArICciIHBhc3NlZCB0byBhc3NlcnRfdGhyb3dz
X2RvbSgpJyk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIG5hbWUgPSBjb2Rl
X25hbWVfbWFwW3R5cGVdOworICAgICAgICAgICAgICAgIHJlcXVpcmVkX3Byb3BzLmNvZGUgPSB0
eXBlOworICAgICAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgdHlwZSA9PT0gInN0cmluZyIpIHsK
KyAgICAgICAgICAgICAgICBuYW1lID0gdHlwZSBpbiBjb2RlbmFtZV9uYW1lX21hcCA/IGNvZGVu
YW1lX25hbWVfbWFwW3R5cGVdIDogdHlwZTsKKyAgICAgICAgICAgICAgICBpZiAoIShuYW1lIGlu
IG5hbWVfY29kZV9tYXApKSB7CisgICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBBc3NlcnRp
b25FcnJvcignVGVzdCBidWc6IHVucmVjb2duaXplZCBET01FeGNlcHRpb24gY29kZSBuYW1lIG9y
IG5hbWUgIicgKyB0eXBlICsgJyIgcGFzc2VkIHRvIGFzc2VydF90aHJvd3NfZG9tKCknKTsKKyAg
ICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICByZXF1aXJlZF9wcm9wcy5jb2RlID0g
bmFtZV9jb2RlX21hcFtuYW1lXTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgaWYgKHJl
cXVpcmVkX3Byb3BzLmNvZGUgPT09IDAgfHwKKyAgICAgICAgICAgICAgICgibmFtZSIgaW4gZSAm
JgorICAgICAgICAgICAgICAgIGUubmFtZSAhPT0gZS5uYW1lLnRvVXBwZXJDYXNlKCkgJiYKKyAg
ICAgICAgICAgICAgICBlLm5hbWUgIT09ICJET01FeGNlcHRpb24iKSkgeworICAgICAgICAgICAg
ICAgIC8vIE5ldyBzdHlsZSBleGNlcHRpb246IGFsc28gdGVzdCB0aGUgbmFtZSBwcm9wZXJ0eS4K
KyAgICAgICAgICAgICAgICByZXF1aXJlZF9wcm9wcy5uYW1lID0gbmFtZTsKKyAgICAgICAgICAg
IH0KKworICAgICAgICAgICAgLy9XZSdkIGxpa2UgdG8gdGVzdCB0aGF0IGUgaW5zdGFuY2VvZiB0
aGUgYXBwcm9wcmlhdGUgaW50ZXJmYWNlLAorICAgICAgICAgICAgLy9idXQgd2UgY2FuJ3QsIGJl
Y2F1c2Ugd2UgZG9uJ3Qga25vdyB3aGF0IHdpbmRvdyBpdCB3YXMgY3JlYXRlZAorICAgICAgICAg
ICAgLy9pbi4gIEl0IG1pZ2h0IGJlIGFuIGluc3RhbmNlb2YgdGhlIGFwcHJvcHJpYXRlIGludGVy
ZmFjZSBvbiBzb21lCisgICAgICAgICAgICAvL3Vua25vd24gb3RoZXIgd2luZG93LiAgVE9ETzog
V29yayBhcm91bmQgdGhpcyBzb21laG93PyAgTWF5YmUgaGF2ZQorICAgICAgICAgICAgLy90aGUg
Zmlyc3QgYXJnIGp1c3QgYmUgYSBET01FeGNlcHRpb24gd2l0aCB0aGUgcmlnaHQgbmFtZSBpbnN0
ZWFkCisgICAgICAgICAgICAvL29mIHRoZSBzdHJpbmctb3ItY29kZSB0aGluZyB3ZSBoYXZlIG5v
dz8KKworICAgICAgICAgICAgZm9yICh2YXIgcHJvcCBpbiByZXF1aXJlZF9wcm9wcykgeworICAg
ICAgICAgICAgICAgIGFzc2VydChwcm9wIGluIGUgJiYgZVtwcm9wXSA9PSByZXF1aXJlZF9wcm9w
c1twcm9wXSwKKyAgICAgICAgICAgICAgICAgICAgICAgYXNzZXJ0aW9uX3R5cGUsIGRlc2NyaXB0
aW9uLAorICAgICAgICAgICAgICAgICAgICAgICAiJHtmdW5jfSB0aHJldyAke2V9IHRoYXQgaXMg
bm90IGEgRE9NRXhjZXB0aW9uICIgKyB0eXBlICsgIjogcHJvcGVydHkgJHtwcm9wfSBpcyBlcXVh
bCB0byAke2FjdHVhbH0sIGV4cGVjdGVkICR7ZXhwZWN0ZWR9IiwKKyAgICAgICAgICAgICAgICAg
ICAgICAge2Z1bmM6ZnVuYywgZTplLCBwcm9wOnByb3AsIGFjdHVhbDplW3Byb3BdLCBleHBlY3Rl
ZDpyZXF1aXJlZF9wcm9wc1twcm9wXX0pOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAg
fQorCisgICAgLyoqCisgICAgICogQXNzZXJ0IHRoZSBwcm92aWRlZCB2YWx1ZSBpcyB0aHJvd24u
CisgICAgICoKKyAgICAgKiBAcGFyYW0ge3ZhbHVlfSBleGNlcHRpb24gVGhlIGV4cGVjdGVkIGV4
Y2VwdGlvbi4KKyAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBmdW5jIEZ1bmN0aW9uIHdoaWNoIHNo
b3VsZCB0aHJvdy4KKyAgICAgKiBAcGFyYW0ge3N0cmluZ30gZGVzY3JpcHRpb24gRXJyb3IgZGVz
Y3JpcHRpb24gZm9yIHRoZSBjYXNlIHRoYXQgdGhlIGVycm9yIGlzIG5vdCB0aHJvd24uCisgICAg
ICovCisgICAgZnVuY3Rpb24gYXNzZXJ0X3Rocm93c19leGFjdGx5KGV4Y2VwdGlvbiwgZnVuYywg
ZGVzY3JpcHRpb24pCisgICAgeworICAgICAgICBhc3NlcnRfdGhyb3dzX2V4YWN0bHlfaW1wbChl
eGNlcHRpb24sIGZ1bmMsIGRlc2NyaXB0aW9uLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAiYXNzZXJ0X3Rocm93c19leGFjdGx5Iik7CisgICAgfQorICAgIGV4cG9zZShhc3Nl
cnRfdGhyb3dzX2V4YWN0bHksICJhc3NlcnRfdGhyb3dzX2V4YWN0bHkiKTsKKworICAgIC8qKgor
ICAgICAqIExpa2UgYXNzZXJ0X3Rocm93c19leGFjdGx5IGJ1dCBhbGxvd3Mgc3BlY2lmeWluZyB0
aGUgYXNzZXJ0aW9uIHR5cGUKKyAgICAgKiAoYXNzZXJ0X3Rocm93c19leGFjdGx5IG9yIHByb21p
c2VfcmVqZWN0c19leGFjdGx5LCBpbiBwcmFjdGljZSkuCisgICAgICovCisgICAgZnVuY3Rpb24g
YXNzZXJ0X3Rocm93c19leGFjdGx5X2ltcGwoZXhjZXB0aW9uLCBmdW5jLCBkZXNjcmlwdGlvbiwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhc3NlcnRpb25fdHlwZSkK
KyAgICB7CisgICAgICAgIHRyeSB7CisgICAgICAgICAgICBmdW5jLmNhbGwodGhpcyk7CisgICAg
ICAgICAgICBhc3NlcnQoZmFsc2UsIGFzc2VydGlvbl90eXBlLCBkZXNjcmlwdGlvbiwKKyAgICAg
ICAgICAgICAgICAgICAiJHtmdW5jfSBkaWQgbm90IHRocm93Iiwge2Z1bmM6ZnVuY30pOworICAg
ICAgICB9IGNhdGNoIChlKSB7CisgICAgICAgICAgICBpZiAoZSBpbnN0YW5jZW9mIEFzc2VydGlv
bkVycm9yKSB7CisgICAgICAgICAgICAgICAgdGhyb3cgZTsKKyAgICAgICAgICAgIH0KKworICAg
ICAgICAgICAgYXNzZXJ0KHNhbWVfdmFsdWUoZSwgZXhjZXB0aW9uKSwgYXNzZXJ0aW9uX3R5cGUs
IGRlc2NyaXB0aW9uLAorICAgICAgICAgICAgICAgICAgICIke2Z1bmN9IHRocmV3ICR7ZX0gYnV0
IHdlIGV4cGVjdGVkIGl0IHRvIHRocm93ICR7ZXhjZXB0aW9ufSIsCisgICAgICAgICAgICAgICAg
ICAge2Z1bmM6ZnVuYywgZTplLCBleGNlcHRpb246ZXhjZXB0aW9ufSk7CisgICAgICAgIH0KKyAg
ICB9CisKICAgICBmdW5jdGlvbiBhc3NlcnRfdW5yZWFjaGVkKGRlc2NyaXB0aW9uKSB7CiAgICAg
ICAgICBhc3NlcnQoZmFsc2UsICJhc3NlcnRfdW5yZWFjaGVkIiwgZGVzY3JpcHRpb24sCiAgICAg
ICAgICAgICAgICAgIlJlYWNoZWQgdW5yZWFjaGFibGUgY29kZSIpOwpAQCAtMTUwOSw2ICsxODc0
LDEzIEBAIHBvbGljaWVzIGFuZCBjb250cmlidXRpb24gZm9ybXMgWzNdLgogICAgIH0KICAgICBl
eHBvc2UoYXNzZXJ0X2FueSwgImFzc2VydF9hbnkiKTsKIAorICAgIGZ1bmN0aW9uIGFzc2VydF9w
cmVjb25kaXRpb24ocHJlY29uZGl0aW9uLCBkZXNjcmlwdGlvbikgeworICAgICAgICBpZiAoIXBy
ZWNvbmRpdGlvbikgeworICAgICAgICAgICAgdGhyb3cgbmV3IFByZWNvbmRpdGlvbkZhaWxlZEVy
cm9yKGRlc2NyaXB0aW9uKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBleHBvc2UoYXNzZXJ0X3By
ZWNvbmRpdGlvbiwgImFzc2VydF9wcmVjb25kaXRpb24iKTsKKwogICAgIGZ1bmN0aW9uIFRlc3Qo
bmFtZSwgcHJvcGVydGllcykKICAgICB7CiAgICAgICAgIGlmICh0ZXN0cy5maWxlX2lzX3Rlc3Qg
JiYgdGVzdHMudGVzdHMubGVuZ3RoKSB7CkBAIC0xNTIzLDcgKzE4OTUsNyBAQCBwb2xpY2llcyBh
bmQgY29udHJpYnV0aW9uIGZvcm1zIFszXS4KICAgICAgICAgdGhpcy50aW1lb3V0X2lkID0gbnVs
bDsKICAgICAgICAgdGhpcy5pbmRleCA9IG51bGw7CiAKLSAgICAgICAgdGhpcy5wcm9wZXJ0aWVz
ID0gcHJvcGVydGllczsKKyAgICAgICAgdGhpcy5wcm9wZXJ0aWVzID0gcHJvcGVydGllcyB8fCB7
fTsKICAgICAgICAgdGhpcy50aW1lb3V0X2xlbmd0aCA9IHNldHRpbmdzLnRlc3RfdGltZW91dDsK
ICAgICAgICAgaWYgKHRoaXMudGltZW91dF9sZW5ndGggIT09IG51bGwpIHsKICAgICAgICAgICAg
IHRoaXMudGltZW91dF9sZW5ndGggKj0gdGVzdHMudGltZW91dF9tdWx0aXBsaWVyOwpAQCAtMTU1
Myw3ICsxOTI1LDggQEAgcG9saWNpZXMgYW5kIGNvbnRyaWJ1dGlvbiBmb3JtcyBbM10uCiAgICAg
ICAgIFBBU1M6MCwKICAgICAgICAgRkFJTDoxLAogICAgICAgICBUSU1FT1VUOjIsCi0gICAgICAg
IE5PVFJVTjozCisgICAgICAgIE5PVFJVTjozLAorICAgICAgICBQUkVDT05ESVRJT05fRkFJTEVE
OjQKICAgICB9OwogCiAgICAgVGVzdC5wcm90b3R5cGUgPSBtZXJnZSh7fSwgVGVzdC5zdGF0dXNl
cyk7CkBAIC0xNjEzLDEwICsxOTg2LDExIEBAIHBvbGljaWVzIGFuZCBjb250cmlidXRpb24gZm9y
bXMgWzNdLgogICAgICAgICAgICAgaWYgKHRoaXMucGhhc2UgPj0gdGhpcy5waGFzZXMuSEFTX1JF
U1VMVCkgewogICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIHZhciBzdGF0dXMgPSBlIGluc3RhbmNlb2YgUHJlY29uZGl0aW9uRmFpbGVkRXJyb3IgPyB0
aGlzLlBSRUNPTkRJVElPTl9GQUlMRUQgOiB0aGlzLkZBSUw7CiAgICAgICAgICAgICB2YXIgbWVz
c2FnZSA9IFN0cmluZygodHlwZW9mIGUgPT09ICJvYmplY3QiICYmIGUgIT09IG51bGwpID8gZS5t
ZXNzYWdlIDogZSk7CiAgICAgICAgICAgICB2YXIgc3RhY2sgPSBlLnN0YWNrID8gZS5zdGFjayA6
IG51bGw7CiAKLSAgICAgICAgICAgIHRoaXMuc2V0X3N0YXR1cyh0aGlzLkZBSUwsIG1lc3NhZ2Us
IHN0YWNrKTsKKyAgICAgICAgICAgIHRoaXMuc2V0X3N0YXR1cyhzdGF0dXMsIG1lc3NhZ2UsIHN0
YWNrKTsKICAgICAgICAgICAgIHRoaXMucGhhc2UgPSB0aGlzLnBoYXNlcy5IQVNfUkVTVUxUOwog
ICAgICAgICAgICAgdGhpcy5kb25lKCk7CiAgICAgICAgIH0KQEAgLTIwODcsNyArMjQ2MSw4IEBA
IHBvbGljaWVzIGFuZCBjb250cmlidXRpb24gZm9ybXMgWzNdLgogICAgIFRlc3RzU3RhdHVzLnN0
YXR1c2VzID0gewogICAgICAgICBPSzowLAogICAgICAgICBFUlJPUjoxLAotICAgICAgICBUSU1F
T1VUOjIKKyAgICAgICAgVElNRU9VVDoyLAorICAgICAgICBQUkVDT05ESVRJT05fRkFJTEVEOjMK
ICAgICB9OwogCiAgICAgVGVzdHNTdGF0dXMucHJvdG90eXBlID0gbWVyZ2Uoe30sIFRlc3RzU3Rh
dHVzLnN0YXR1c2VzKTsKQEAgLTIxMjgsNiArMjUwMywxMCBAQCBwb2xpY2llcyBhbmQgY29udHJp
YnV0aW9uIGZvcm1zIFszXS4KICAgICAgICAgdGhpcy5hbGxvd191bmNhdWdodF9leGNlcHRpb24g
PSBmYWxzZTsKIAogICAgICAgICB0aGlzLmZpbGVfaXNfdGVzdCA9IGZhbHNlOworICAgICAgICAv
LyBUaGlzIHZhbHVlIGlzIGxhemlseSBpbml0aWFsaXplZCBpbiBvcmRlciB0byBhdm9pZCBpbnRy
b2R1Y2luZyBhCisgICAgICAgIC8vIGRlcGVuZGVuY3kgb24gRUNNQVNjcmlwdCAyMDE1IFByb21p
c2VzIHRvIGFsbCB0ZXN0cy4KKyAgICAgICAgdGhpcy5wcm9taXNlX3Rlc3RzID0gbnVsbDsKKyAg
ICAgICAgdGhpcy5wcm9taXNlX3NldHVwX2NhbGxlZCA9IGZhbHNlOwogCiAgICAgICAgIHRoaXMu
dGltZW91dF9tdWx0aXBsaWVyID0gMTsKICAgICAgICAgdGhpcy50aW1lb3V0X2xlbmd0aCA9IHRl
c3RfZW52aXJvbm1lbnQudGVzdF90aW1lb3V0KCk7CkBAIC0yMTc4LDYgKzI1NTcsOCBAQCBwb2xp
Y2llcyBhbmQgY29udHJpYnV0aW9uIGZvcm1zIFszXS4KICAgICAgICAgICAgICAgICAgICAgewog
ICAgICAgICAgICAgICAgICAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMudGltZW91dF9pZCk7CiAg
ICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHAgPT0gInNp
bmdsZV90ZXN0IiAmJiB2YWx1ZSkgeworICAgICAgICAgICAgICAgICAgICB0aGlzLnNldF9maWxl
X2lzX3Rlc3QoKTsKICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHAgPT0gInRpbWVvdXRfbXVs
dGlwbGllciIpIHsKICAgICAgICAgICAgICAgICAgICAgdGhpcy50aW1lb3V0X211bHRpcGxpZXIg
PSB2YWx1ZTsKICAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMudGltZW91dF9sZW5ndGgpIHsK
QEAgLTIxOTEsOSArMjU3MiwxMCBAQCBwb2xpY2llcyBhbmQgY29udHJpYnV0aW9uIGZvcm1zIFsz
XS4KICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAgZnVuYygpOwogICAgICAgICAg
ICAgfSBjYXRjaCAoZSkgewotICAgICAgICAgICAgICAgIHRoaXMuc3RhdHVzLnN0YXR1cyA9IHRo
aXMuc3RhdHVzLkVSUk9SOworICAgICAgICAgICAgICAgIHRoaXMuc3RhdHVzLnN0YXR1cyA9IGUg
aW5zdGFuY2VvZiBQcmVjb25kaXRpb25GYWlsZWRFcnJvciA/IHRoaXMuc3RhdHVzLlBSRUNPTkRJ
VElPTl9GQUlMRUQgOiB0aGlzLnN0YXR1cy5FUlJPUjsKICAgICAgICAgICAgICAgICB0aGlzLnN0
YXR1cy5tZXNzYWdlID0gU3RyaW5nKGUpOwogICAgICAgICAgICAgICAgIHRoaXMuc3RhdHVzLnN0
YWNrID0gZS5zdGFjayA/IGUuc3RhY2sgOiBudWxsOworICAgICAgICAgICAgICAgIHRoaXMuY29t
cGxldGUoKTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgICAgICB0aGlzLnNldF90aW1l
b3V0KCk7CkBAIC0yNzQ4LDEyICszMTMwLDE0IEBAIHBvbGljaWVzIGFuZCBjb250cmlidXRpb24g
Zm9ybXMgWzNdLgogICAgICAgICBzdGF0dXNfdGV4dF9oYXJuZXNzW2hhcm5lc3Nfc3RhdHVzLk9L
XSA9ICJPSyI7CiAgICAgICAgIHN0YXR1c190ZXh0X2hhcm5lc3NbaGFybmVzc19zdGF0dXMuRVJS
T1JdID0gIkVycm9yIjsKICAgICAgICAgc3RhdHVzX3RleHRfaGFybmVzc1toYXJuZXNzX3N0YXR1
cy5USU1FT1VUXSA9ICJUaW1lb3V0IjsKKyAgICAgICAgc3RhdHVzX3RleHRfaGFybmVzc1toYXJu
ZXNzX3N0YXR1cy5QUkVDT05ESVRJT05fRkFJTEVEXSA9ICJQcmVjb25kaXRpb24gRmFpbGVkIjsK
IAogICAgICAgICB2YXIgc3RhdHVzX3RleHQgPSB7fTsKICAgICAgICAgc3RhdHVzX3RleHRbVGVz
dC5wcm90b3R5cGUuUEFTU10gPSAiUGFzcyI7CiAgICAgICAgIHN0YXR1c190ZXh0W1Rlc3QucHJv
dG90eXBlLkZBSUxdID0gIkZhaWwiOwogICAgICAgICBzdGF0dXNfdGV4dFtUZXN0LnByb3RvdHlw
ZS5USU1FT1VUXSA9ICJUaW1lb3V0IjsKICAgICAgICAgc3RhdHVzX3RleHRbVGVzdC5wcm90b3R5
cGUuTk9UUlVOXSA9ICJOb3QgUnVuIjsKKyAgICAgICAgc3RhdHVzX3RleHRbVGVzdC5wcm90b3R5
cGUuUFJFQ09ORElUSU9OX0ZBSUxFRF0gPSAiUHJlY29uZGl0aW9uIEZhaWxlZCI7CiAKICAgICAg
ICAgdmFyIHN0YXR1c19udW1iZXIgPSB7fTsKICAgICAgICAgZm9yRWFjaCh0ZXN0cywKQEAgLTMw
NzMsOSArMzQ1Nyw2IEBAIHBvbGljaWVzIGFuZCBjb250cmlidXRpb24gZm9ybXMgWzNdLgogICAg
ICAqLwogICAgIGZ1bmN0aW9uIGFzc2VydChleHBlY3RlZF90cnVlLCBmdW5jdGlvbl9uYW1lLCBk
ZXNjcmlwdGlvbiwgZXJyb3IsIHN1YnN0aXR1dGlvbnMpCiAgICAgewotICAgICAgICBpZiAodGVz
dHMudGVzdHMubGVuZ3RoID09PSAwKSB7Ci0gICAgICAgICAgICB0ZXN0cy5zZXRfZmlsZV9pc190
ZXN0KCk7Ci0gICAgICAgIH0KICAgICAgICAgaWYgKGV4cGVjdGVkX3RydWUgIT09IHRydWUpIHsK
ICAgICAgICAgICAgIHZhciBtc2cgPSBtYWtlX21lc3NhZ2UoZnVuY3Rpb25fbmFtZSwgZGVzY3Jp
cHRpb24sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yLCBzdWJzdGl0
dXRpb25zKTsKQEAgLTMxMzgsNiArMzUxOSwxMyBAQCBwb2xpY2llcyBhbmQgY29udHJpYnV0aW9u
IGZvcm1zIFszXS4KICAgICAgICAgcmV0dXJuIGxpbmVzLnNsaWNlKGkpLmpvaW4oIlxuIik7CiAg
ICAgfQogCisgICAgZnVuY3Rpb24gUHJlY29uZGl0aW9uRmFpbGVkRXJyb3IobWVzc2FnZSkKKyAg
ICB7CisgICAgICAgIEFzc2VydGlvbkVycm9yLmNhbGwodGhpcywgbWVzc2FnZSk7CisgICAgfQor
ICAgIFByZWNvbmRpdGlvbkZhaWxlZEVycm9yLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoQXNz
ZXJ0aW9uRXJyb3IucHJvdG90eXBlKTsKKyAgICBleHBvc2UoUHJlY29uZGl0aW9uRmFpbGVkRXJy
b3IsICJQcmVjb25kaXRpb25GYWlsZWRFcnJvciIpOworCiAgICAgZnVuY3Rpb24gbWFrZV9tZXNz
YWdlKGZ1bmN0aW9uX25hbWUsIGRlc2NyaXB0aW9uLCBlcnJvciwgc3Vic3RpdHV0aW9ucykKICAg
ICB7CiAgICAgICAgIGZvciAodmFyIHAgaW4gc3Vic3RpdHV0aW9ucykgewpAQCAtMzM2NSwzOCAr
Mzc1Myw1NiBAQCBwb2xpY2llcyBhbmQgY29udHJpYnV0aW9uIGZvcm1zIFszXS4KICAgICB2YXIg
dGVzdHMgPSBuZXcgVGVzdHMoKTsKIAogICAgIGlmIChnbG9iYWxfc2NvcGUuYWRkRXZlbnRMaXN0
ZW5lcikgewotICAgICAgICB2YXIgZXJyb3JfaGFuZGxlciA9IGZ1bmN0aW9uKGUpIHsKLSAgICAg
ICAgICAgIGlmICh0ZXN0cy50ZXN0cy5sZW5ndGggPT09IDAgJiYgIXRlc3RzLmFsbG93X3VuY2F1
Z2h0X2V4Y2VwdGlvbikgewotICAgICAgICAgICAgICAgIHRlc3RzLnNldF9maWxlX2lzX3Rlc3Qo
KTsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgdmFyIHN0YWNrOwotICAgICAgICAgICAg
aWYgKGUuZXJyb3IgJiYgZS5lcnJvci5zdGFjaykgewotICAgICAgICAgICAgICAgIHN0YWNrID0g
ZS5lcnJvci5zdGFjazsKLSAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgc3Rh
Y2sgPSBlLmZpbGVuYW1lICsgIjoiICsgZS5saW5lbm8gKyAiOiIgKyBlLmNvbG5vOwotICAgICAg
ICAgICAgfQotCisgICAgICAgIHZhciBlcnJvcl9oYW5kbGVyID0gZnVuY3Rpb24oZXJyb3IsIG1l
c3NhZ2UsIHN0YWNrKSB7CisgICAgICAgICAgICB2YXIgcHJlY29uZGl0aW9uX2ZhaWxlZCA9IGVy
cm9yIGluc3RhbmNlb2YgUHJlY29uZGl0aW9uRmFpbGVkRXJyb3I7CiAgICAgICAgICAgICBpZiAo
dGVzdHMuZmlsZV9pc190ZXN0KSB7CiAgICAgICAgICAgICAgICAgdmFyIHRlc3QgPSB0ZXN0cy50
ZXN0c1swXTsKICAgICAgICAgICAgICAgICBpZiAodGVzdC5waGFzZSA+PSB0ZXN0LnBoYXNlcy5I
QVNfUkVTVUxUKSB7CiAgICAgICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgICAg
ICB9Ci0gICAgICAgICAgICAgICAgdGVzdC5zZXRfc3RhdHVzKHRlc3QuRkFJTCwgZS5tZXNzYWdl
LCBzdGFjayk7CisgICAgICAgICAgICAgICAgdmFyIHN0YXR1cyA9IHByZWNvbmRpdGlvbl9mYWls
ZWQgPyB0ZXN0LlBSRUNPTkRJVElPTl9GQUlMRUQgOiB0ZXN0LkZBSUw7CisgICAgICAgICAgICAg
ICAgdGVzdC5zZXRfc3RhdHVzKHN0YXR1cywgbWVzc2FnZSwgc3RhY2spOwogICAgICAgICAgICAg
ICAgIHRlc3QucGhhc2UgPSB0ZXN0LnBoYXNlcy5IQVNfUkVTVUxUOwotICAgICAgICAgICAgICAg
IC8vIFRoZSBmb2xsb3dpbmcgZnVuY3Rpb24gaW52b2NhdGlvbiBpcyBzdXBlcmZsdW91cy4KLSAg
ICAgICAgICAgICAgICAvLyBUT0RPOiBSZW1vdmUuCi0gICAgICAgICAgICAgICAgdGVzdC5kb25l
KCk7CiAgICAgICAgICAgICB9IGVsc2UgaWYgKCF0ZXN0cy5hbGxvd191bmNhdWdodF9leGNlcHRp
b24pIHsKLSAgICAgICAgICAgICAgICB0ZXN0cy5zdGF0dXMuc3RhdHVzID0gdGVzdHMuc3RhdHVz
LkVSUk9SOwotICAgICAgICAgICAgICAgIHRlc3RzLnN0YXR1cy5tZXNzYWdlID0gZS5tZXNzYWdl
OworICAgICAgICAgICAgICAgIHZhciBzdGF0dXMgPSBwcmVjb25kaXRpb25fZmFpbGVkID8gdGVz
dHMuc3RhdHVzLlBSRUNPTkRJVElPTl9GQUlMRUQgOiB0ZXN0cy5zdGF0dXMuRVJST1I7CisgICAg
ICAgICAgICAgICAgdGVzdHMuc3RhdHVzLnN0YXR1cyA9IHN0YXR1czsKKyAgICAgICAgICAgICAg
ICB0ZXN0cy5zdGF0dXMubWVzc2FnZSA9IG1lc3NhZ2U7CiAgICAgICAgICAgICAgICAgdGVzdHMu
c3RhdHVzLnN0YWNrID0gc3RhY2s7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICBkb25lKCk7
CisKKyAgICAgICAgICAgIC8vIERvIG5vdCB0cmFuc2l0aW9uIHRvIHRoZSAiY29tcGxldGUiIHBo
YXNlIGlmIHRoZSB0ZXN0IGhhcyBiZWVuCisgICAgICAgICAgICAvLyBjb25maWd1cmVkIHRvIGFs
bG93IHVuY2F1Z2h0IGV4Y2VwdGlvbnMuIFRoaXMgZ2l2ZXMgdGhlIHRlc3QgYW4KKyAgICAgICAg
ICAgIC8vIG9wcG9ydHVuaXR5IHRvIGRlZmluZSBzdWJ0ZXN0cyBiYXNlZCBvbiB0aGUgZXhjZXB0
aW9uIHJlcG9ydGluZworICAgICAgICAgICAgLy8gYmVoYXZpb3IuCisgICAgICAgICAgICBpZiAo
IXRlc3RzLmFsbG93X3VuY2F1Z2h0X2V4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgIGRvbmUo
KTsKKyAgICAgICAgICAgIH0KICAgICAgICAgfTsKIAotICAgICAgICBhZGRFdmVudExpc3RlbmVy
KCJlcnJvciIsIGVycm9yX2hhbmRsZXIsIGZhbHNlKTsKLSAgICAgICAgYWRkRXZlbnRMaXN0ZW5l
cigidW5oYW5kbGVkcmVqZWN0aW9uIiwgZnVuY3Rpb24oZSl7IGVycm9yX2hhbmRsZXIoZS5yZWFz
b24pOyB9LCBmYWxzZSk7CisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImVycm9yIiwgZnVuY3Rp
b24oZSkgeworICAgICAgICAgICAgdmFyIG1lc3NhZ2UgPSBlLm1lc3NhZ2U7CisgICAgICAgICAg
ICB2YXIgc3RhY2s7CisgICAgICAgICAgICBpZiAoZS5lcnJvciAmJiBlLmVycm9yLnN0YWNrKSB7
CisgICAgICAgICAgICAgICAgc3RhY2sgPSBlLmVycm9yLnN0YWNrOworICAgICAgICAgICAgfSBl
bHNlIHsKKyAgICAgICAgICAgICAgICBzdGFjayA9IGUuZmlsZW5hbWUgKyAiOiIgKyBlLmxpbmVu
byArICI6IiArIGUuY29sbm87CisgICAgICAgICAgICB9CisgICAgICAgICAgICBlcnJvcl9oYW5k
bGVyKGUuZXJyb3IsIG1lc3NhZ2UsIHN0YWNrKTsKKyAgICAgICAgfSwgZmFsc2UpOworCisgICAg
ICAgIGFkZEV2ZW50TGlzdGVuZXIoInVuaGFuZGxlZHJlamVjdGlvbiIsIGZ1bmN0aW9uKGUpIHsK
KyAgICAgICAgICAgIHZhciBtZXNzYWdlOworICAgICAgICAgICAgaWYgKGUucmVhc29uICYmIGUu
cmVhc29uLm1lc3NhZ2UpIHsKKyAgICAgICAgICAgICAgICBtZXNzYWdlID0gIlVuaGFuZGxlZCBy
ZWplY3Rpb246ICIgKyBlLnJlYXNvbi5tZXNzYWdlOworICAgICAgICAgICAgfSBlbHNlIHsKKyAg
ICAgICAgICAgICAgICBtZXNzYWdlID0gIlVuaGFuZGxlZCByZWplY3Rpb24iOworICAgICAgICAg
ICAgfQorICAgICAgICAgICAgdmFyIHN0YWNrOworICAgICAgICAgICAgaWYgKGUucmVhc29uICYm
IGUucmVhc29uLnN0YWNrKSB7CisgICAgICAgICAgICAgICAgc3RhY2sgPSBlLnJlYXNvbi5zdGFj
azsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGVycm9yX2hhbmRsZXIoZS5yZWFzb24sIG1l
c3NhZ2UsIHN0YWNrKTsKKyAgICAgICAgfSwgZmFsc2UpOwogICAgIH0KIAogICAgIHRlc3RfZW52
aXJvbm1lbnQub25fdGVzdHNfcmVhZHkoKTsKQEAgLTM0MzMsNyArMzgzOSw3IEBAIHRhYmxlI3Jl
c3VsdHMge1wKIFwKIHRhYmxlI3Jlc3VsdHMgdGg6Zmlyc3QtY2hpbGQsXAogdGFibGUjcmVzdWx0
cyB0ZDpmaXJzdC1jaGlsZCB7XAotICAgIHdpZHRoOjRlbTtcCisgICAgd2lkdGg6OGVtO1wKIH1c
CiBcCiB0YWJsZSNyZXN1bHRzIHRoOmxhc3QtY2hpbGQsXApAQCAtMzQ3NCw3ICszODgwLDExIEBA
IHRyLm5vdHJ1biA+IHRkOmZpcnN0LWNoaWxkIHtcCiAgICAgY29sb3I6Ymx1ZTtcCiB9XAogXAot
LnBhc3MgPiB0ZDpmaXJzdC1jaGlsZCwgLmZhaWwgPiB0ZDpmaXJzdC1jaGlsZCwgLnRpbWVvdXQg
PiB0ZDpmaXJzdC1jaGlsZCwgLm5vdHJ1biA+IHRkOmZpcnN0LWNoaWxkIHtcCit0ci5wcmVjb25k
aXRpb25mYWlsZWQgPiB0ZDpmaXJzdC1jaGlsZCB7XAorICAgIGNvbG9yOmJsdWU7XAorfVwKK1wK
Ky5wYXNzID4gdGQ6Zmlyc3QtY2hpbGQsIC5mYWlsID4gdGQ6Zmlyc3QtY2hpbGQsIC50aW1lb3V0
ID4gdGQ6Zmlyc3QtY2hpbGQsIC5ub3RydW4gPiB0ZDpmaXJzdC1jaGlsZCwgLnByZWNvbmRpdGlv
bmZhaWxlZCA+IHRkOmZpcnN0LWNoaWxkIHtcCiAgICAgZm9udC12YXJpYW50OnNtYWxsLWNhcHM7
XAogfVwKIFwKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzLmhlYWRlcnMKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanMuaGVhZGVycwkocmV2aXNpb24gMjUyODk2KQorKysgTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMuaGVhZGVycwkod29ya2luZyBjb3B5KQpAQCAtMSArMSwyIEBACiBDb250ZW50LVR5
cGU6IHRleHQvamF2YXNjcmlwdDsgY2hhcnNldD11dGYtOAorQ2FjaGUtQ29udHJvbDogbWF4LWFn
ZT0zNjAwCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93M2MtaW1wb3J0LmxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93M2MtaW1wb3J0LmxvZwkocmV2
aXNpb24gMjUyODk2KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvdzNjLWltcG9ydC5sb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsNyArMSw3
IEBACiBUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBX
M0MgcmVwb3NpdG9yeS4KIERvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2Vi
S2l0LgogSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgot
CWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCisJaHR0cHM6Ly9naXRo
dWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQKIAogVGhlbiBydW4gdGhlIFRvb2xzL1Njcmlw
dHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKIApAQCAtMTYsMTEgKzE2
LDE4IEBAIE5vbmUKIExpc3Qgb2YgZmlsZXM6CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvLmh0YWNjZXNzCiAvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvTElDRU5TRQotL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL09XTkVSUworL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL01FVEEueW1s
CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
U1ZHQW5pbWF0aW9uVGVzdENhc2UtdGVzdGhhcm5lc3MuanMKKy9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaGVjay1sYXlvdXQtdGguanMKIC9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9pZGxo
YXJuZXNzLmpzCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvaWRsaGFybmVzcy5qcy5oZWFkZXJzCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvcmVhZG1lLm1kCiAvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvc3JpaGFybmVzcy5qcworL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3Rk
cml2ZXItYWN0aW9ucy5qcworL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3Rlc3Rkcml2ZXItdmVuZG9yLmpzCisvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdGRyaXZlci12ZW5kb3IuanMu
aGVhZGVycworL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3Rlc3Rkcml2ZXIuanMKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0ZHJpdmVyLmpzLmhlYWRlcnMKIC9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0aGFybmVzcy5jc3Mu
aGVhZGVycwogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMuaGVhZGVycwpJbmRleDogTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi9D
SEFOR0VMT0cubWQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi9DSEFOR0VMT0cubWQJKHJldmlzaW9uIDI1
Mjg5NikKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvQ0hBTkdFTE9HLm1kCShub25leGlzdGVudCkKQEAgLTEsMjkyICswLDAg
QEAKLSMgQ2hhbmdlIExvZwotCi0jIyBbdjEwLjIuMV0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93
ZWJpZGwyLmpzL3RyZWUvdjEwLjIuMSkgKDIwMTgtMDMtMDkpCi1bRnVsbCBDaGFuZ2Vsb2ddKGh0
dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9jb21wYXJlL3YxMC4yLjAuLi52MTAuMi4x
KQotCi0qKk1lcmdlZCBwdWxsIHJlcXVlc3RzOioqCi0KLS0gT3B0aW1pc2UgdG9rZW5pc2F0aW9u
IGFuZCB3aGl0ZXNwYWNlIHNraXBwaW5nIFtcIzEzOV0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93
ZWJpZGwyLmpzL3B1bGwvMTM5KSAoW3JpY2VhXShodHRwczovL2dpdGh1Yi5jb20vcmljZWEpKQot
LSByZWZhY3Rvcjogc21hbGwgc3ludGF4IGNoYW5nZXMgW1wjMTM3XShodHRwczovL2dpdGh1Yi5j
b20vdzNjL3dlYmlkbDIuanMvcHVsbC8xMzcpIChbc2FzY2hhbmF6XShodHRwczovL2dpdGh1Yi5j
b20vc2FzY2hhbmF6KSkKLQotIyMgW3YxMC4yLjBdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2Vi
aWRsMi5qcy90cmVlL3YxMC4yLjApICgyMDE4LTAxLTMwKQotW0Z1bGwgQ2hhbmdlbG9nXShodHRw
czovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvY29tcGFyZS92MTAuMS4wLi4udjEwLjIuMCkK
LQotKipNZXJnZWQgcHVsbCByZXF1ZXN0czoqKgotCi0tIFR5cGUgb24gdW5pb24gaWRsVHlwZSBb
XCMxMzVdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9wdWxsLzEzNSkgKFtzYXNj
aGFuYXpdKGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNjaGFuYXopKQotLSBmZWF0OiBhZGQgYXJndW1l
bnQvcmV0dXJuIHR5cGUgW1wjMTM0XShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMv
cHVsbC8xMzQpIChbc2FzY2hhbmF6XShodHRwczovL2dpdGh1Yi5jb20vc2FzY2hhbmF6KSkKLS0g
ZmVhdDogYWRkIGRpY3Rpb25hcnkvdHlwZWRlZi10eXBlIFtcIzEzM10oaHR0cHM6Ly9naXRodWIu
Y29tL3czYy93ZWJpZGwyLmpzL3B1bGwvMTMzKSAoW3Nhc2NoYW5hel0oaHR0cHM6Ly9naXRodWIu
Y29tL3Nhc2NoYW5heikpCi0tIGZlYXQ6IGFkZCBjb25zdC10eXBlIGZvciBpZGxUeXBlcyAgW1wj
MTMyXShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvcHVsbC8xMzIpIChbc2FzY2hh
bmF6XShodHRwczovL2dpdGh1Yi5jb20vc2FzY2hhbmF6KSkKLS0gZmVhdDogYWRkIHR5cGVzIG9u
IGlkbFR5cGVzIFtcIzEzMV0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL3B1bGwv
MTMxKSAoW3Nhc2NoYW5hel0oaHR0cHM6Ly9naXRodWIuY29tL3Nhc2NoYW5heikpCi0tIEF1dG8g
YWNxdWlzaXRpb24gZm9yIHBhcnNlciByZXN1bHQgY2hhbmdlcyBbXCMxMzBdKGh0dHBzOi8vZ2l0
aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9wdWxsLzEzMCkgKFtzYXNjaGFuYXpdKGh0dHBzOi8vZ2l0
aHViLmNvbS9zYXNjaGFuYXopKQotCi0jIyBbdjEwLjEuMF0oaHR0cHM6Ly9naXRodWIuY29tL3cz
Yy93ZWJpZGwyLmpzL3RyZWUvdjEwLjEuMCkgKDIwMTgtMDEtMTkpCi1bRnVsbCBDaGFuZ2Vsb2dd
KGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9jb21wYXJlL3YxMC4wLjAuLi52MTAu
MS4wKQotCi0qKkNsb3NlZCBpc3N1ZXM6KioKLQotLSBTdXBwb3J0IGByYWlzZXNgIGFuZCBgc2V0
cmFpc2VzYCBbXCMxMjhdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9pc3N1ZXMv
MTI4KQotLSBTdXBwb3J0IGBsZWdhY3ljYWxsZXJgIFtcIzEyN10oaHR0cHM6Ly9naXRodWIuY29t
L3czYy93ZWJpZGwyLmpzL2lzc3Vlcy8xMjcpCi0tIEltcHJvdmUgIk5vIHNlbWljb2xvbiBhZnRl
ciBlbnVtIiBtZXNzYWdlIFtcIzExOV0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpz
L2lzc3Vlcy8xMTkpCi0KLSoqTWVyZ2VkIHB1bGwgcmVxdWVzdHM6KioKLQotLSBMZXQgZXJyb3Ig
bWVzc2FnZXMgaW5jbHVkZSB0aGUgY3VycmVudCBkZWZpbml0aW9uIG5hbWUgW1wjMTI5XShodHRw
czovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvcHVsbC8xMjkpIChbc2FzY2hhbmF6XShodHRw
czovL2dpdGh1Yi5jb20vc2FzY2hhbmF6KSkKLQotIyMgW3YxMC4wLjBdKGh0dHBzOi8vZ2l0aHVi
LmNvbS93M2Mvd2ViaWRsMi5qcy90cmVlL3YxMC4wLjApICgyMDE3LTEyLTIwKQotW0Z1bGwgQ2hh
bmdlbG9nXShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvY29tcGFyZS92OS4wLjAu
Li52MTAuMC4wKQotCi0qKkNsb3NlZCBpc3N1ZXM6KioKLQotLSAgQWx3YXlzIHJldHVybiBhbiBh
cnJheSBmb3IgaWRsVHlwZSwgZXRjLiBbXCMxMTNdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2Vi
aWRsMi5qcy9pc3N1ZXMvMTEzKQotLSBNYWludGFpbiB3cml0ZXIuanMgb3Igbm90PyBbXCMxMDld
KGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9pc3N1ZXMvMTA5KQotCi0qKk1lcmdl
ZCBwdWxsIHJlcXVlc3RzOioqCi0KLS0gUmVtb3ZlIHR5cGVFeHRBdHRycyBmcm9tIGRvY3MgW1wj
MTI0XShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvcHVsbC8xMjQpIChbc2FzY2hh
bmF6XShodHRwczovL2dpdGh1Yi5jb20vc2FzY2hhbmF6KSkKLS0gUmVtb3ZlIGl0ZXJhdG9yIGRv
Y3VtZW50YXRpb24gW1wjMTIzXShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvcHVs
bC8xMjMpIChbc2FzY2hhbmF6XShodHRwczovL2dpdGh1Yi5jb20vc2FzY2hhbmF6KSkKLS0gTWFp
bnRhaW4gd3JpdGVyLmpzIFtcIzEyMl0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpz
L3B1bGwvMTIyKSAoW3Nhc2NoYW5hel0oaHR0cHM6Ly9naXRodWIuY29tL3Nhc2NoYW5heikpCi0t
IEJSRUFLSU5HIENIQU5HRTogcmVtb3ZlIGRlcHJlY2F0ZWQgaXRlcmF0b3Igb3BlcmF0aW9uIFtc
IzEyMV0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL3B1bGwvMTIxKSAoW3Nhc2No
YW5hel0oaHR0cHM6Ly9naXRodWIuY29tL3Nhc2NoYW5heikpCi0tIFVzZSBmb3Itb2Ygb24gdGVz
dHMgW1wjMTIwXShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvcHVsbC8xMjApIChb
c2FzY2hhbmF6XShodHRwczovL2dpdGh1Yi5jb20vc2FzY2hhbmF6KSkKLS0gZG9jc1woUkVBRE1F
XCk6IGl0ZXJhYmxlcyBpbGRUeXBlIGlzIGFsd2F5cyBhcnJheSBbXCMxMThdKGh0dHBzOi8vZ2l0
aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9wdWxsLzExOCkgKFttYXJjb3NjYWNlcmVzXShodHRwczov
L2dpdGh1Yi5jb20vbWFyY29zY2FjZXJlcykpCi0KLSMjIFt2OS4wLjBdKGh0dHBzOi8vZ2l0aHVi
LmNvbS93M2Mvd2ViaWRsMi5qcy90cmVlL3Y5LjAuMCkgKDIwMTctMTEtMzApCi1bRnVsbCBDaGFu
Z2Vsb2ddKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9jb21wYXJlL3Y4LjEuMC4u
LnY5LjAuMCkKLQotKipDbG9zZWQgaXNzdWVzOioqCi0KLS0gQ29kZSBxdWFsaXR5IFtcIzExNl0o
aHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL2lzc3Vlcy8xMTYpCi0tIFVuYWJsZSB0
byBwYXJzZSBIVE1MQWxsQ29sbGVjdGlvbiBpbnRlcmZhY2UgW1wjMTE0XShodHRwczovL2dpdGh1
Yi5jb20vdzNjL3dlYmlkbDIuanMvaXNzdWVzLzExNCkKLS0gQWRkIHN1cHBvcnQgZm9yIG1peGlu
IHN5bnRheCBbXCMxMTJdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9pc3N1ZXMv
MTEyKQotLSBXaGl0ZXNwYWNlIGlzc3VlcyBbXCMxMTFdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mv
d2ViaWRsMi5qcy9pc3N1ZXMvMTExKQotCi0qKk1lcmdlZCBwdWxsIHJlcXVlc3RzOioqCi0KLS0g
Q29uc2lzdGVudCBhcnJheSB0eXBlIGZvciBpdGVyYWJsZS5pZGxUeXBlIFtcIzExN10oaHR0cHM6
Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL3B1bGwvMTE3KSAoW3Nhc2NoYW5hel0oaHR0cHM6
Ly9naXRodWIuY29tL3Nhc2NoYW5heikpCi0tICBSZXZlcnQgImNob3JlOiBkcm9wIE5vZGUgNiBz
dXBwb3J0IFwoXCMxMDJcKSIgW1wjMTE1XShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIu
anMvcHVsbC8xMTUpIChbVGltb3RoeUd1XShodHRwczovL2dpdGh1Yi5jb20vVGltb3RoeUd1KSkK
LQotIyMgW3Y4LjEuMF0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL3RyZWUvdjgu
MS4wKSAoMjAxNy0xMS0wMykKLVtGdWxsIENoYW5nZWxvZ10oaHR0cHM6Ly9naXRodWIuY29tL3cz
Yy93ZWJpZGwyLmpzL2NvbXBhcmUvdjguMC4xLi4udjguMS4wKQotCi0qKkNsb3NlZCBpc3N1ZXM6
KioKLQotLSBFeHRlbmRlZCBBdHRyaWJ1dGVzIGByaHNgIHNob3VsZCBhbHdheXMgYmUgdGhlcmUg
W1wjOTZdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9pc3N1ZXMvOTYpCi0KLSoq
TWVyZ2VkIHB1bGwgcmVxdWVzdHM6KioKLQotLSBBbHdheXMgYWRkIHJocyBwcm9wZXJ0eSBbXCMx
MTBdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9wdWxsLzExMCkgKFtzYXNjaGFu
YXpdKGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNjaGFuYXopKQotCi0jIyBbdjguMC4xXShodHRwczov
L2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvdHJlZS92OC4wLjEpICgyMDE3LTExLTAzKQotW0Z1
bGwgQ2hhbmdlbG9nXShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvY29tcGFyZS92
OC4wLjAuLi52OC4wLjEpCi0KLSoqRml4ZWQgYnVnczoqKgotCi0tIENvbW1lbnQgb3JkZXIgcGFy
c2luZyBidWcgIFtcIzEwN10oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL2lzc3Vl
cy8xMDcpCi0KLSoqTWVyZ2VkIHB1bGwgcmVxdWVzdHM6KioKLQotLSBSZW1vdmUgbSBwb3N0Zml4
IGZyb20gYWxsXF93c1woXCkgW1wjMTA4XShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIu
anMvcHVsbC8xMDgpIChbc2FzY2hhbmF6XShodHRwczovL2dpdGh1Yi5jb20vc2FzY2hhbmF6KSkK
LQotIyMgW3Y4LjAuMF0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL3RyZWUvdjgu
MC4wKSAoMjAxNy0xMS0wMykKLVtGdWxsIENoYW5nZWxvZ10oaHR0cHM6Ly9naXRodWIuY29tL3cz
Yy93ZWJpZGwyLmpzL2NvbXBhcmUvdjcuMC4wLi4udjguMC4wKQotCi0qKkNsb3NlZCBpc3N1ZXM6
KioKLQotLSBSZW1vdmUgY3JlYXRvcnMgc3VwcG9ydCBbXCMxMDBdKGh0dHBzOi8vZ2l0aHViLmNv
bS93M2Mvd2ViaWRsMi5qcy9pc3N1ZXMvMTAwKQotLSBBZGQgbWl4aW4gc3VwcG9ydCBbXCM5Ml0o
aHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL2lzc3Vlcy85MikKLQotKipNZXJnZWQg
cHVsbCByZXF1ZXN0czoqKgotCi0tIFN1cHBvcnQgbWl4aW5zICsgaW5jbHVkZXMgc3RhdGVtZW50
cyBbXCMxMDVdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9wdWxsLzEwNSkgKFtz
YXNjaGFuYXpdKGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNjaGFuYXopKQotLSBjaG9yZTogZHJvcCBO
b2RlIDYgc3VwcG9ydCBbXCMxMDJdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9w
dWxsLzEwMikgKFttYXJjb3NjYWNlcmVzXShodHRwczovL2dpdGh1Yi5jb20vbWFyY29zY2FjZXJl
cykpCi0tIEJSRUFLSU5HIENIQU5HRTogZHJvcCBjcmVhdG9yIHN1cHBvcnQgW1wjMTAxXShodHRw
czovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvcHVsbC8xMDEpIChbc2FzY2hhbmF6XShodHRw
czovL2dpdGh1Yi5jb20vc2FzY2hhbmF6KSkKLS0gTm9ybWFsaXplIHNvbWUgd2hpdGVzcGFjZSB0
byBwYXNzIHdwdCdzIGxpbnQgW1wjOTldKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5q
cy9wdWxsLzk5KSAoW2Zvb2xpcF0oaHR0cHM6Ly9naXRodWIuY29tL2Zvb2xpcCkpCi0KLSMjIFt2
Ny4wLjBdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy90cmVlL3Y3LjAuMCkgKDIw
MTctMTAtMjcpCi1bRnVsbCBDaGFuZ2Vsb2ddKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRs
Mi5qcy9jb21wYXJlL3Y2LjEuMC4uLnY3LjAuMCkKLQotKipDbG9zZWQgaXNzdWVzOioqCi0KLS0g
VHlwZSBjb252ZXJzaW9uIG9uIGRlZmF1bHQgdmFsdWVzIGlzIGRlc3RydWN0aXZlICBbXCM5NF0o
aHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL2lzc3Vlcy85NCkKLS0gZXh0ZW5kZWQg
YXR0cmlidXRlIHN0cnVjdHVyZSBtaXNzaW5nIHR5cGUgW1wjODldKGh0dHBzOi8vZ2l0aHViLmNv
bS93M2Mvd2ViaWRsMi5qcy9pc3N1ZXMvODkpCi0KLSoqTWVyZ2VkIHB1bGwgcmVxdWVzdHM6KioK
LQotLSAgQlJFQUtJTkcgQ0hBTkdFOiBhcmd1bWVudCArIGRlZmF1bHQgdHlwZXMgc2hvdWxkIGJl
IHN0cmluZyBbXCM5NV0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL3B1bGwvOTUp
IChbbWFyY29zY2FjZXJlc10oaHR0cHM6Ly9naXRodWIuY29tL21hcmNvc2NhY2VyZXMpKQotCi0j
IyBbdjYuMS4wXShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvdHJlZS92Ni4xLjAp
ICgyMDE3LTEwLTIzKQotW0Z1bGwgQ2hhbmdlbG9nXShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dl
YmlkbDIuanMvY29tcGFyZS92Ni4wLjEuLi52Ni4xLjApCi0KLSoqTWVyZ2VkIHB1bGwgcmVxdWVz
dHM6KioKLQotLSBmZWF0OiBnaXZlIGV4dGVuZGVkIGF0dHJpYnV0ZXMgYSB0eXBlIFtcIzkwXSho
dHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvcHVsbC85MCkgKFttYXJjb3NjYWNlcmVz
XShodHRwczovL2dpdGh1Yi5jb20vbWFyY29zY2FjZXJlcykpCi0KLSMjIFt2Ni4wLjFdKGh0dHBz
Oi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy90cmVlL3Y2LjAuMSkgKDIwMTctMTAtMTgpCi1b
RnVsbCBDaGFuZ2Vsb2ddKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9jb21wYXJl
L3Y2LjAuMC4uLnY2LjAuMSkKLQotKipDbG9zZWQgaXNzdWVzOioqCi0KLS0gRW51bSB2YWx1ZXMg
c2hvdWxkIGJlIG9iamVjdHMgW1wjODZdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5q
cy9pc3N1ZXMvODYpCi0KLSoqTWVyZ2VkIHB1bGwgcmVxdWVzdHM6KioKLQotLSBVc2UgRVMyMDE1
IHN5bnRheCBmb3IgdGVzdHMgW1wjODhdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5q
cy9wdWxsLzg4KSAoW3Nhc2NoYW5hel0oaHR0cHM6Ly9naXRodWIuY29tL3Nhc2NoYW5heikpCi0K
LSMjIFt2Ni4wLjBdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy90cmVlL3Y2LjAu
MCkgKDIwMTctMTAtMTcpCi1bRnVsbCBDaGFuZ2Vsb2ddKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mv
d2ViaWRsMi5qcy9jb21wYXJlL3Y1LjAuMC4uLnY2LjAuMCkKLQotKipNZXJnZWQgcHVsbCByZXF1
ZXN0czoqKgotCi0tIEJSRUFLSU5HIENIQU5HRTogcmV0IGVudW0gdmFsdWUgYXMgb2JqZWN0IFtc
Izg3XShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvcHVsbC84NykgKFttYXJjb3Nj
YWNlcmVzXShodHRwczovL2dpdGh1Yi5jb20vbWFyY29zY2FjZXJlcykpCi0KLSMjIFt2NS4wLjBd
KGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy90cmVlL3Y1LjAuMCkgKDIwMTctMTAt
MTcpCi1bRnVsbCBDaGFuZ2Vsb2ddKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9j
b21wYXJlL3Y0LjIuMC4uLnY1LjAuMCkKLQotKipDbG9zZWQgaXNzdWVzOioqCi0KLS0gVW5hYmxl
IHRvIHBhcnNlIGFubm90YXRlZCB0eXBlcyBpbiBnZW5lcmljcyBbXCM4M10oaHR0cHM6Ly9naXRo
dWIuY29tL3czYy93ZWJpZGwyLmpzL2lzc3Vlcy84MykKLS0gRHJvcCBzdXBwb3J0IGZvciBOb2Rl
IDQsIG1vdmUgdG8gNiBMVFMgW1wjODJdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5q
cy9pc3N1ZXMvODIpCi0KLSoqTWVyZ2VkIHB1bGwgcmVxdWVzdHM6KioKLQotLSBCUkVBS0lORyBD
SEFOR0U6IFVzZSBFUzIwMTUgc3ludGF4IFtcIzg0XShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dl
YmlkbDIuanMvcHVsbC84NCkgKFtzYXNjaGFuYXpdKGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNjaGFu
YXopKQotCi0jIyBbdjQuMi4wXShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvdHJl
ZS92NC4yLjApICgyMDE3LTEwLTE2KQotW0Z1bGwgQ2hhbmdlbG9nXShodHRwczovL2dpdGh1Yi5j
b20vdzNjL3dlYmlkbDIuanMvY29tcGFyZS92NC4xLjAuLi52NC4yLjApCi0KLSoqQ2xvc2VkIGlz
c3VlczoqKgotCi0tIFJlbW92ZSBsZWdhY3kgY2FsbGVyIHN1cHBvcnQgW1wjNzhdKGh0dHBzOi8v
Z2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9pc3N1ZXMvNzgpCi0tIFNob3VsZCByZXBvcnQgZXJy
b3IgZm9yIHVzaW5nIGR1cGxpY2F0ZSBuYW1lcyBbXCM3N10oaHR0cHM6Ly9naXRodWIuY29tL3cz
Yy93ZWJpZGwyLmpzL2lzc3Vlcy83NykKLQotKipNZXJnZWQgcHVsbCByZXF1ZXN0czoqKgotCi0t
IENoZWNrIGR1cGxpY2F0ZWQgbmFtZXMgW1wjODBdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2Vi
aWRsMi5qcy9wdWxsLzgwKSAoW3Nhc2NoYW5hel0oaHR0cHM6Ly9naXRodWIuY29tL3Nhc2NoYW5h
eikpCi0tIFJlbW92ZSBsZWdhY3ljYWxsZXIgW1wjNzldKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mv
d2ViaWRsMi5qcy9wdWxsLzc5KSAoW3Nhc2NoYW5hel0oaHR0cHM6Ly9naXRodWIuY29tL3Nhc2No
YW5heikpCi0tIEFkZCAic2VxdWVuY2UiIHByb3BlcnR5IHRvIElETCBUeXBlIEFTVCBkZWZpbml0
aW9uIFtcIzc2XShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvcHVsbC83NikgKFts
ZXJvdWNoZV0oaHR0cHM6Ly9naXRodWIuY29tL2xlcm91Y2hlKSkKLQotIyMgW3Y0LjEuMF0oaHR0
cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL3RyZWUvdjQuMS4wKSAoMjAxNy0wNy0wNCkK
LVtGdWxsIENoYW5nZWxvZ10oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL2NvbXBh
cmUvdjQuMC4wLi4udjQuMS4wKQotCi0qKkNsb3NlZCBpc3N1ZXM6KioKLQotLSBQYXJzaW5nIGVy
cm9yIGZvciBhbm5vbmF0ZWQgaW5uZXIgdHlwZXMgb2YgZ2VuZXJpYyB0eXBlcyBbXCM3MV0oaHR0
cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL2lzc3Vlcy83MSkKLQotKipNZXJnZWQgcHVs
bCByZXF1ZXN0czoqKgotCi0tIFN1cHBvcnQgVHlwZVdpdGhFeHRlbmRlZEF0dHJpYnV0ZXMgb24g
Z2VuZXJpY3MgW1wjNzVdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9wdWxsLzc1
KSAoW3Nhc2NoYW5hel0oaHR0cHM6Ly9naXRodWIuY29tL3Nhc2NoYW5heikpCi0KLSMjIFt2NC4w
LjBdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy90cmVlL3Y0LjAuMCkgKDIwMTct
MDYtMjcpCi1bRnVsbCBDaGFuZ2Vsb2ddKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5q
cy9jb21wYXJlL3YzLjAuMi4uLnY0LjAuMCkKLQotKipDbG9zZWQgaXNzdWVzOioqCi0KLS0gUmVt
b3ZlIHNlcmlhbGl6ZXItcmVsYXRlZCBwcm9kdWN0aW9ucyBbXCM3M10oaHR0cHM6Ly9naXRodWIu
Y29tL3czYy93ZWJpZGwyLmpzL2lzc3Vlcy83MykKLS0gUmVjb3JkcyBkb24ndCBzZWVtIHRvIGJl
IHdvcmtpbmcgcmlnaHQgW1wjNzJdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9p
c3N1ZXMvNzIpCi0tIERvY3VtZW50IG5hbWVzcGFjZSBtZW1iZXIgb3V0cHV0IFtcIzU5XShodHRw
czovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvaXNzdWVzLzU5KQotCi0qKk1lcmdlZCBwdWxs
IHJlcXVlc3RzOioqCi0KLS0gQlJFQUtJTkcgQ0hBTkdFOiByZW1vdmUgc2VyaWFsaXplcnMgXChj
bG9zZXMgXCM3M1wpIFtcIzc0XShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvcHVs
bC83NCkgKFttYXJjb3NjYWNlcmVzXShodHRwczovL2dpdGh1Yi5jb20vbWFyY29zY2FjZXJlcykp
Ci0tIEFkZCBkb2N1bWVudGF0aW9uIGZvciBuYW1lc3BhY2VzIFtcIzcwXShodHRwczovL2dpdGh1
Yi5jb20vdzNjL3dlYmlkbDIuanMvcHVsbC83MCkgKFtzYXNjaGFuYXpdKGh0dHBzOi8vZ2l0aHVi
LmNvbS9zYXNjaGFuYXopKQotCi0jIyBbdjMuMC4yXShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dl
YmlkbDIuanMvdHJlZS92My4wLjIpICgyMDE3LTA1LTI5KQotW0Z1bGwgQ2hhbmdlbG9nXShodHRw
czovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvY29tcGFyZS92My4wLjEuLi52My4wLjIpCi0K
LSoqQ2xvc2VkIGlzc3VlczoqKgotCi0tIFdoaXRlc3BhY2UgaXNzdWVzIFtcIzY0XShodHRwczov
L2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvaXNzdWVzLzY0KQotCi0qKk1lcmdlZCBwdWxsIHJl
cXVlc3RzOioqCi0KLS0gVGVzdCBmb3IgbGF0ZXN0IExUUy9zdGFibGUgbm9kZSB2ZXJzaW9ucyBb
XCM2OV0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL3B1bGwvNjkpIChbc2FzY2hh
bmF6XShodHRwczovL2dpdGh1Yi5jb20vc2FzY2hhbmF6KSkKLQotIyMgW3YzLjAuMV0oaHR0cHM6
Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL3RyZWUvdjMuMC4xKSAoMjAxNy0wNS0xOCkKLVtG
dWxsIENoYW5nZWxvZ10oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL2NvbXBhcmUv
djIuNC4wLi4udjMuMC4xKQotCi0qKkNsb3NlZCBpc3N1ZXM6KioKLQotLSBJcyBhcnJheSBzeW50
YXggZGVhZD8gW1wjNjZdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9pc3N1ZXMv
NjYpCi0tIFJlbW92ZSBleGNlcHRpb25zIHN1cHBvcnQgW1wjNjVdKGh0dHBzOi8vZ2l0aHViLmNv
bS93M2Mvd2ViaWRsMi5qcy9pc3N1ZXMvNjUpCi0KLSoqTWVyZ2VkIHB1bGwgcmVxdWVzdHM6KioK
LQotLSBGaXggd2hpdGVzcGFjZSBlcnJvciBvbiBwYXJzaW5nIGV4dGVuZGVkIGF0dHJpYnV0ZXMg
W1wjNjhdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9wdWxsLzY4KSAoW3Nhc2No
YW5hel0oaHR0cHM6Ly9naXRodWIuY29tL3Nhc2NoYW5heikpCi0tIFJlbW92ZSBkZXByZWNhdGVk
IElETCBhcnJheXMgYW5kIGV4Y2VwdGlvbnMgW1wjNjddKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mv
d2ViaWRsMi5qcy9wdWxsLzY3KSAoW3Nhc2NoYW5hel0oaHR0cHM6Ly9naXRodWIuY29tL3Nhc2No
YW5heikpCi0KLSMjIFt2Mi40LjBdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy90
cmVlL3YyLjQuMCkgKDIwMTctMDQtMTIpCi1bRnVsbCBDaGFuZ2Vsb2ddKGh0dHBzOi8vZ2l0aHVi
LmNvbS93M2Mvd2ViaWRsMi5qcy9jb21wYXJlL3YyLjEuMC4uLnYyLjQuMCkKLQotKipDbG9zZWQg
aXNzdWVzOioqCi0KLS0gQWRkIHN1cHBvcnQgZm9yIEFubm90YXRlZCBUeXBlcyBbXCM2MF0oaHR0
cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL2lzc3Vlcy82MCkKLS0gUXVlc3Rpb246IENv
bnZlcnQgV2ViSURMIC1cPiBKYXZhc2NyaXB0IFtcIzU2XShodHRwczovL2dpdGh1Yi5jb20vdzNj
L3dlYmlkbDIuanMvaXNzdWVzLzU2KQotLSBHZXQgUm9iaW4gdG8gZ2l2ZSB1cyBwdXNoIHBlcm1p
c3Npb25zIG9uIG5wbSBbXCM1NF0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL2lz
c3Vlcy81NCkKLS0gQWRkIHN1cHBvcnQgZm9yIHJlY29yZHMgW1wjNTNdKGh0dHBzOi8vZ2l0aHVi
LmNvbS93M2Mvd2ViaWRsMi5qcy9pc3N1ZXMvNTMpCi0tIG1vZHVsZSBub3Qgc3VwcG9ydGVkPyBb
XCM1Ml0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL2lzc3Vlcy81MikKLS0gQWRk
IHN1cHBvcnQgZm9yIG5hbWVzcGFjZXMgW1wjNTFdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2Vi
aWRsMi5qcy9pc3N1ZXMvNTEpCi0tIEV4cG9ydCBpcyBub3QgQU1EIGNvbXBhdGlibGUgW1wjNDhd
KGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9pc3N1ZXMvNDgpCi0tIENhbid0IHJl
cHJlc2VudCBsYXJnZSBjb25zdGFudHMgW1wjMjFdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2Vi
aWRsMi5qcy9pc3N1ZXMvMjEpCi0KLSoqTWVyZ2VkIHB1bGwgcmVxdWVzdHM6KioKLQotLSBVcGRh
dGUgd2ViaWRsMi5qcyBbXCM2M10oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL3B1
bGwvNjMpIChbdHFldG9dKGh0dHBzOi8vZ2l0aHViLmNvbS90cWV0bykpCi0tIFJlbW92ZSBzdXBw
b3J0IGZvciBNYXBDbGFzcyBcKG5vIGxvbmdlciB2YWxpZCBpbiBXZWJJRExcKSBbXCM2Ml0oaHR0
cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL3B1bGwvNjIpIChbZG9udGNhbGxtZWRvbV0o
aHR0cHM6Ly9naXRodWIuY29tL2RvbnRjYWxsbWVkb20pKQotLSBBZGQgc3VwcG9ydCBmb3IgYW5u
b3RhdGVkIHR5cGVzIFtcIzYxXShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvcHVs
bC82MSkgKFtkb250Y2FsbG1lZG9tXShodHRwczovL2dpdGh1Yi5jb20vZG9udGNhbGxtZWRvbSkp
Ci0tIFN1cHBvcnQgbmFtZXNwYWNlcyBbXCM1OF0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJp
ZGwyLmpzL3B1bGwvNTgpIChbc2FzY2hhbmF6XShodHRwczovL2dpdGh1Yi5jb20vc2FzY2hhbmF6
KSkKLS0gQWRkIHN1cHBvcnQgZm9yIHJlY29yZHMgW1wjNTddKGh0dHBzOi8vZ2l0aHViLmNvbS93
M2Mvd2ViaWRsMi5qcy9wdWxsLzU3KSAoW1RpbW90aHlHdV0oaHR0cHM6Ly9naXRodWIuY29tL1Rp
bW90aHlHdSkpCi0tIFJlZmFjdG9yIFtcIzUwXShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlk
bDIuanMvcHVsbC81MCkgKFttYXJjb3NjYWNlcmVzXShodHRwczovL2dpdGh1Yi5jb20vbWFyY29z
Y2FjZXJlcykpCi0tIGZlYXRcKGxpYlwpOiBhZGQgQU1EIGV4cG9ydCBzdXBwb3J0IFwoY2xvc2Vz
IFwjNDhcKSBbXCM0OV0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL3B1bGwvNDkp
IChbbWFyY29zY2FjZXJlc10oaHR0cHM6Ly9naXRodWIuY29tL21hcmNvc2NhY2VyZXMpKQotCi0j
IyBbdjIuMS4wXShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvdHJlZS92Mi4xLjAp
ICgyMDE2LTA4LTEyKQotKipDbG9zZWQgaXNzdWVzOioqCi0KLS0gRXhjZXB0aW9uIHdoZW4gcGFy
c2luZyB0ZXN0L3N5bnRheC9pZGwvdHlwZWRlZi53aWRsIFtcIzQ2XShodHRwczovL2dpdGh1Yi5j
b20vdzNjL3dlYmlkbDIuanMvaXNzdWVzLzQ2KQotLSBXcm9uZyBqc29uZGlmZnBhdGNoIGxvY2F0
aW9uIFtcIzQyXShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvaXNzdWVzLzQyKQot
LSAnbnBtIGluc3RhbGwnIGZhaWxzIG9uIGJ1aWxkaW5nIG1pY3JvdGltZSBbXCM0MF0oaHR0cHM6
Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL2lzc3Vlcy80MCkKLS0gQ2FuJ3QgcmVwcmVzZW50
IHVuaW9uIHR5cGVzIGluIHR5cGVkZWZzIFtcIzM4XShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dl
YmlkbDIuanMvaXNzdWVzLzM4KQotLSB0b2tlbmlzZVwoXCkgYXNzdW1lcyBhIHNwZWNpZmljIHBy
b3BlcnR5IGVudW1lcmF0aW9uIG9yZGVyIFtcIzI3XShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dl
YmlkbDIuanMvaXNzdWVzLzI3KQotLSBBZGQgc3VwcG9ydCBmb3IgaXRlcmFibGVcPFw+LCBtYXBs
aWtlXDxcPiwgc2V0bGlrZVw8XD4gZGVjbGFyYXRpb25zIFtcIzI0XShodHRwczovL2dpdGh1Yi5j
b20vdzNjL3dlYmlkbDIuanMvaXNzdWVzLzI0KQotLSBXZWJJREwyIGZhaWxzIHRvIHBhcnNlIGBh
dHRyaWJ1dGUgUHJvbWlzZVw8RE9NU3RyaW5nXD5cW1xdIGJhemAgW1wjMTldKGh0dHBzOi8vZ2l0
aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9pc3N1ZXMvMTkpCi0tIFN1cHBvcnQgZm9yIEV4dGVuZGVk
QXR0cmlidXRlSWRlbnRMaXN0IFwoY3VycmVudCBlZGl0b3IncyBkcmFmdFwpIFtcIzE4XShodHRw
czovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvaXNzdWVzLzE4KQotLSBObyBMaWNlbnNpbmcg
SW5mb3JtYXRpb24gW1wjMTddKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9pc3N1
ZXMvMTcpCi0tIGhvdyB0byByZWdlbmVyYXRlIHczYyBpZGwgZmlsZXMgPyBbXCMxNF0oaHR0cHM6
Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL2lzc3Vlcy8xNCkKLS0gV2hhdCBpcyBsaWIvd3Jp
dGVyLmpzIFtcIzEzXShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvaXNzdWVzLzEz
KQotLSBOdW1lcm91cyB0ZXN0cyBhcmUgZmFpbGluZyBbXCM3XShodHRwczovL2dpdGh1Yi5jb20v
dzNjL3dlYmlkbDIuanMvaXNzdWVzLzcpCi0tIEFkZCBzdXBwb3J0IGZvciBtaXNzaW5nIHR5cGVz
IGluIFNlcnZpY2VXb3JrZXIgW1wjNV0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpz
L2lzc3Vlcy81KQotLSBIb3cgY2FuIEkgcGFyc2UganVzdCBhIGZ1bmN0aW9uPyBbXCMzXShodHRw
czovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvaXNzdWVzLzMpCi0tIFBhcnNlciB0aHJvd3Mg
b24gbnVsbGFibGUgYXJyYXkgb2YgbnVsbGFibGUgYXJyYXkgW1wjMl0oaHR0cHM6Ly9naXRodWIu
Y29tL3czYy93ZWJpZGwyLmpzL2lzc3Vlcy8yKQotLSBQYXJzZXIgdGhyb3dzIG9uIG51bGxhYmxl
IGFycmF5IG9mIGFueSBbXCMxXShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvaXNz
dWVzLzEpCi0KLSoqTWVyZ2VkIHB1bGwgcmVxdWVzdHM6KioKLQotLSBGaXggImRlZmF1bHQiOiB1
bmRlZmluZWQgW1wjNDddKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9wdWxsLzQ3
KSAoW21rd3R5c10oaHR0cHM6Ly9naXRodWIuY29tL21rd3R5cykpCi0tIFJlcGxhY2UgZXhwZWN0
LmpzIHdpdGggZXhwY3QgW1wjNDVdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9w
dWxsLzQ1KSAoW2hhbHRvbl0oaHR0cHM6Ly9naXRodWIuY29tL2hhbHRvbikpCi0tIENvcnJlY3Qg
anNvbmRpZmZwYXRjaCBsb2NhdGlvbi4gW1wjNDRdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2Vi
aWRsMi5qcy9wdWxsLzQ0KSAoW2hhbHRvbl0oaHR0cHM6Ly9naXRodWIuY29tL2hhbHRvbikpCi0t
IEJ1bXAgbWljcm90aW1lIHRvIDIuMS4xIFtcIzQzXShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dl
YmlkbDIuanMvcHVsbC80MykgKFtoYWx0b25dKGh0dHBzOi8vZ2l0aHViLmNvbS9oYWx0b24pKQot
LSBFeHBhbmQgd3JpdGVyIHN1cHBvcnQgW1wjMzldKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2Vi
aWRsMi5qcy9wdWxsLzM5KSAoW21hcmthbmRydXNdKGh0dHBzOi8vZ2l0aHViLmNvbS9tYXJrYW5k
cnVzKSkKLS0gQWNjZXB0IHdpZGVyIFwoYnV0IHN0aWxsIGluY29tcGxldGVcKSBzZXQgb2YgYWxs
b3dlZCBzeW50YXggZm9yIGV4dGVuZGVkIGF0dHJpYnV0ZXMgW1wjMzddKGh0dHBzOi8vZ2l0aHVi
LmNvbS93M2Mvd2ViaWRsMi5qcy9wdWxsLzM3KSAoW21sb2dhbl0oaHR0cHM6Ly9naXRodWIuY29t
L21sb2dhbikpCi0tIEFkZCB0ZXN0IGZvciBjYWxsYmFjayB3aXRoIG11bHRpcGxlIGFyZ3VtZW50
cy4gW1wjMzZdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9wdWxsLzM2KSAoW3Rv
YmllXShodHRwczovL2dpdGh1Yi5jb20vdG9iaWUpKQotLSBJdGVyYWJsZXMgW1wjMzRdKGh0dHBz
Oi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9wdWxsLzM0KSAoW21vdGl6ODhdKGh0dHBzOi8v
Z2l0aHViLmNvbS9tb3Rpejg4KSkKLS0gQWxsb3cgdHJhaWxpbmcgY29tbWEgaW4gZW51bSB2YWx1
ZSBsaXN0cywgcGVyIHNwZWMgW1wjMzNdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5q
cy9wdWxsLzMzKSAoW21vdGl6ODhdKGh0dHBzOi8vZ2l0aHViLmNvbS9tb3Rpejg4KSkKLS0gQWxs
b3cgdHlwZWRlZnMgd2l0aGluIGludGVyZmFjZXMgXChiZWhpbmQgYW4gb3B0LWluIGZsYWdcKSBb
XCMzMl0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL3B1bGwvMzIpIChbbW90aXo4
OF0oaHR0cHM6Ly9naXRodWIuY29tL21vdGl6ODgpKQotLSBJbiBkcmFmdCBbXCMzMV0oaHR0cHM6
Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL3B1bGwvMzEpIChbb3RocmVlXShodHRwczovL2dp
dGh1Yi5jb20vb3RocmVlKSkKLS0gQWRkIHN1cHBvcnQgZm9yIGV4dGVuZGVkIGF0dHJpYnV0ZXMg
aWRlbnRpZmllciBsaXN0cyBbXCMyOV0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpz
L3B1bGwvMjkpIChbdG9iaWVdKGh0dHBzOi8vZ2l0aHViLmNvbS90b2JpZSkpCi0tIE1ha2UgYGF0
dHJpYnV0ZSBQcm9taXNlXDxUXD5cW1xdIGF0dHI7YCB3b3JrLiBbXCMyNl0oaHR0cHM6Ly9naXRo
dWIuY29tL3czYy93ZWJpZGwyLmpzL3B1bGwvMjYpIChbanlhc3NraW5dKGh0dHBzOi8vZ2l0aHVi
LmNvbS9qeWFzc2tpbikpCi0tIFBhcnNlIHJlcXVpcmVkIGRpY3Rpb25hcnkgZmllbGRzLiBbXCMy
NV0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL3B1bGwvMjUpIChbanlhc3NraW5d
KGh0dHBzOi8vZ2l0aHViLmNvbS9qeWFzc2tpbikpCi0tIERlZmluZSB0aGUgV2ViSURMMiBwcm9w
ZXJ0eSBvbiBzZWxmIHJhdGhlciB0aGFuIHdpbmRvdy4gW1wjMjNdKGh0dHBzOi8vZ2l0aHViLmNv
bS93M2Mvd2ViaWRsMi5qcy9wdWxsLzIzKSAoW01zMmdlcl0oaHR0cHM6Ly9naXRodWIuY29tL01z
MmdlcikpCi0tIFRlYWNoIFdlYklETDIgdG8gcGFyc2UgXFtcXSBkZWZhdWx0IHZhbHVlcy4gW1wj
MjJdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9wdWxsLzIyKSAoW2p5YXNza2lu
XShodHRwczovL2dpdGh1Yi5jb20vanlhc3NraW4pKQotLSBTdXBwb3J0IElEIGxpc3QgaW4gZXh0
ZW5kZWQgYXR0cmlidXRlcyBbXCMyMF0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpz
L3B1bGwvMjApIChbb3RocmVlXShodHRwczovL2dpdGh1Yi5jb20vb3RocmVlKSkKLS0gTWFrZSBz
dXJlIHRoYXQgYHNlcXVlbmNlYCBwcm9wZXJ0eSBvZiBpZGwgdHlwZXMgaXMgc2V0IHRvIGZhbHNl
IGlmIHRoZSB0eXBlIGlzIGFjdHVhbGx5IGBzZXF1ZW5jZWAuIFtcIzE2XShodHRwczovL2dpdGh1
Yi5jb20vdzNjL3dlYmlkbDIuanMvcHVsbC8xNikgKFt0b2JpZV0oaHR0cHM6Ly9naXRodWIuY29t
L3RvYmllKSkKLS0gUGFyYW1ldHJpemVkIFtcIzE1XShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dl
YmlkbDIuanMvcHVsbC8xNSkgKFt0b2JpZV0oaHR0cHM6Ly9naXRodWIuY29tL3RvYmllKSkKLS0g
QWRkIHByb21pc2Ugc3VwcG9ydCBbXCMxMl0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwy
LmpzL3B1bGwvMTIpIChbdG9iaWVdKGh0dHBzOi8vZ2l0aHViLmNvbS90b2JpZSkpCi0tIFJlbW92
ZSBicm9rZW4gY292ZXJhZ2Ugc3VwcG9ydCBmcm9tIHRyYXZpcyBmb3Igbm93LiBbXCMxMV0oaHR0
cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL3B1bGwvMTEpIChbdG9iaWVdKGh0dHBzOi8v
Z2l0aHViLmNvbS90b2JpZSkpCi0tIEFkZCBzdXBwb3J0IGZvciBcW01hcENsYXNzXCh0eXBlLCB0
eXBlXClcXS4gW1wjMTBdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9wdWxsLzEw
KSAoW3RvYmllXShodHRwczovL2dpdGh1Yi5jb20vdG9iaWUpKQotLSBJbmNvcnBvcmF0ZSB0ZXN0
cyBmcm9tIHdpZGxwcm9jXFsxXF0gYW5kIHJlbW92ZSBkZXBlbmRlbmN5IG9uIHNhaWQgcHJvamVj
dC4gW1wjOV0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL3B1bGwvOSkgKFt0b2Jp
ZV0oaHR0cHM6Ly9naXRodWIuY29tL3RvYmllKSkKLS0gUkVBRE1FIGluY29ycmVjdGx5IHJlY29t
bWVuZGVkIHVwZGF0aW5nIHRoZSB3aWRscHJvYyBzdWJtb2R1bGUuIFtcIzhdKGh0dHBzOi8vZ2l0
aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9wdWxsLzgpIChbdG9iaWVdKGh0dHBzOi8vZ2l0aHViLmNv
bS90b2JpZSkpCi0tIEZpeCBidWcgd2hlcmUgaW5zdHJ1bWVudGVkIHZlcnNpb24gb2Ygd2ViaWRs
MiB3YXMgbG9hZGVkLiBbXCM2XShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvcHVs
bC82KSAoW3RvYmllXShodHRwczovL2dpdGh1Yi5jb20vdG9iaWUpKQotLSBVc2UgaHR0cHM6Ly8g
aW5zdGVhZCBvZiBnaXQ6Ly8gW1wjNF0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpz
L3B1bGwvNCkgKFtNYW5pc2hlYXJ0aF0oaHR0cHM6Ly9naXRodWIuY29tL01hbmlzaGVhcnRoKSkK
LQotCi0KLVwqICpUaGlzIENoYW5nZSBMb2cgd2FzIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGJ5
IFtnaXRodWJfY2hhbmdlbG9nX2dlbmVyYXRvcl0oaHR0cHM6Ly9naXRodWIuY29tL3NreXdpbmRl
ci9HaXRodWItQ2hhbmdlbG9nLUdlbmVyYXRvcikqClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi9MSUNFTlNFCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvTElDRU5TRQkocmV2aXNp
b24gMjUyODk2KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi9MSUNFTlNFCShub25leGlzdGVudCkKQEAgLTEsMjEgKzAsMCBA
QAotVGhlIE1JVCBMaWNlbnNlIChNSVQpCi0KLUNvcHlyaWdodCAoYykgMjAxNCBSb2JpbiBCZXJq
b24KLQotUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFu
eSBwZXJzb24gb2J0YWluaW5nIGEgY29weQotb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRl
ZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksIHRvIGRlYWwKLWluIHRoZSBT
b2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9u
IHRoZSByaWdodHMKLXRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJp
YnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwKLWNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFu
ZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcwotZnVybmlzaGVkIHRv
IGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKLQotVGhlIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5j
bHVkZWQgaW4gYWxsCi1jb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3
YXJlLgotCi1USEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5U
WSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgotSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElN
SVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksCi1GSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFM
TCBUSEUKLUFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xB
SU0sIERBTUFHRVMgT1IgT1RIRVIKLUxJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0Yg
Q09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sCi1PVVQgT0YgT1IgSU4g
Q09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdT
IElOIFRIRQotU09GVFdBUkUuCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL1JFQURNRS5tZAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL1JFQURNRS5tZAkocmV2aXNpb24gMjUyODk2KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi9SRUFETUUubWQJKG5vbmV4
aXN0ZW50KQpAQCAtMSw2MjkgKzAsMCBAQAotCi0jIFdlYklETCAyCi0KLVshW05QTSB2ZXJzaW9u
XShodHRwczovL2JhZGdlLmZ1cnkuaW8vanMvd2ViaWRsMi5zdmcpXShodHRwOi8vYmFkZ2UuZnVy
eS5pby9qcy93ZWJpZGwyKQotCi0jIyBQdXJwb3NlCi0KLVRoaXMgaXMgYSBwYXJzZXIgZm9yIHRo
ZSBbV2ViSURMXShodHRwOi8vZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJJREwvKSBsYW5ndWFn
ZS4gSWYKLXlvdSBkb24ndCBrbm93IHdoYXQgdGhhdCBpcywgdGhlbiB5b3UgcHJvYmFibHkgZG9u
J3QgbmVlZCBpdC4gSXQgaXMgbWVhbnQgdG8gYmUgdXNlZAotYm90aCBpbiBOb2RlIGFuZCBpbiB0
aGUgYnJvd3NlciAodGhlIHBhcnNlciBsaWtlbHkgd29ya3MgaW4gb3RoZXIgSlMgZW52aXJvbm1l
bnRzLCBidXQKLW5vdCB0aGUgdGVzdCBzdWl0ZSkuCi0KLSMjIEluc3RhbGxhdGlvbgotCi1KdXN0
IHRoZSB1c3VhbC4gRm9yIE5vZGU6Ci0KLWBgYEJhc2gKLW5wbSBpbnN0YWxsIHdlYmlkbDIKLWBg
YAotCi1JbiB0aGUgYnJvd3NlcjoKLQotYGBgSFRNTAotPHNjcmlwdCBzcmM9J3dlYmlkbDIuanMn
Pjwvc2NyaXB0PgotYGBgCi0KLSMjIERvY3VtZW50YXRpb24KLQotVGhlIEFQSSB0byBXZWJJREwy
IGlzIHRyaXZpYWw6IHlvdSBwYXJzZSBhIHN0cmluZyBvZiBXZWJJREwgYW5kIGl0IHJldHVybnMg
YSBzeW50YXggdHJlZS4KLQotIyMjIFBhcnNpbmcKLQotSW4gTm9kZSwgdGhhdCBoYXBwZW5zIHdp
dGg6Ci0KLWBgYEpTCi12YXIgV2ViSURMMiA9IHJlcXVpcmUoIndlYmlkbDIiKTsKLXZhciB0cmVl
ID0gV2ViSURMMi5wYXJzZSgic3RyaW5nIG9mIFdlYklETCIpOwotYGBgCi0KLUluIHRoZSBicm93
c2VyOgotYGBgSFRNTAotPHNjcmlwdCBzcmM9J3dlYmlkbDIuanMnPjwvc2NyaXB0PgotPHNjcmlw
dD4KLSAgdmFyIHRyZWUgPSBXZWJJREwyLnBhcnNlKCJzdHJpbmcgb2YgV2ViSURMIik7Ci08L3Nj
cmlwdD4KLWBgYAotCi0jIyMgRXJyb3JzCi0KLVdoZW4gdGhlcmUgaXMgYSBzeW50YXggZXJyb3Ig
aW4gdGhlIFdlYklETCwgaXQgdGhyb3dzIGFuIGV4Y2VwdGlvbiBvYmplY3Qgd2l0aCB0aGUgZm9s
bG93aW5nCi1wcm9wZXJ0aWVzOgotCi0qIGBtZXNzYWdlYDogdGhlIGVycm9yIG1lc3NhZ2UKLSog
YGxpbmVgOiB0aGUgbGluZSBhdCB3aGljaCB0aGUgZXJyb3Igb2NjdXJyZWQuCi0qIGBpbnB1dGA6
IGEgc2hvcnQgcGVlayBhdCB0aGUgdGV4dCBhdCB0aGUgcG9pbnQgd2hlcmUgdGhlIGVycm9yIGhh
cHBlbmVkCi0qIGB0b2tlbnNgOiB0aGUgZml2ZSB0b2tlbnMgYXQgdGhlIHBvaW50IG9mIGVycm9y
LCBhcyB1bmRlcnN0b29kIGJ5IHRoZSB0b2tlbmlzZXIKLSAgKHRoaXMgaXMgdGhlIHNhbWUgY29u
dGVudCBhcyBgaW5wdXRgLCBidXQgc2VlbiBmcm9tIHRoZSB0b2tlbmlzZXIncyBwb2ludCBvZiB2
aWV3KQotCi1UaGUgZXhjZXB0aW9uIGFsc28gaGFzIGEgYHRvU3RyaW5nKClgIG1ldGhvZCB0aGF0
IGhvcGVmdWxseSBzaG91bGQgcHJvZHVjZSBhIGRlY2VudAotZXJyb3IgbWVzc2FnZS4KLQotIyMj
IEFTVCAoQWJzdHJhY3QgU3ludGF4IFRyZWUpCi0KLVRoZSBgcGFyc2UoKWAgbWV0aG9kIHJldHVy
bnMgYSB0cmVlIG9iamVjdCByZXByZXNlbnRpbmcgdGhlIHBhcnNlIHRyZWUgb2YgdGhlIElETC4K
LUNvbW1lbnQgYW5kIHdoaXRlIHNwYWNlIGFyZSBub3QgcmVwcmVzZW50ZWQgaW4gdGhlIEFTVC4K
LQotVGhlIHJvb3Qgb2YgdGhpcyBvYmplY3QgaXMgYWx3YXlzIGFuIGFycmF5IG9mIGRlZmluaXRp
b25zICh3aGVyZSBkZWZpbml0aW9ucyBhcmUKLWFueSBvZiBpbnRlcmZhY2VzLCBkaWN0aW9uYXJp
ZXMsIGNhbGxiYWNrcywgZXRjLiDigJQgYW55dGhpbmcgdGhhdCBjYW4gb2NjdXIgYXQgdGhlIHJv
b3QKLW9mIHRoZSBJREwpLgotCi0jIyMgSURMIFR5cGUKLQotVGhpcyBzdHJ1Y3R1cmUgaXMgdXNl
ZCBpbiBtYW55IG90aGVyIHBsYWNlcyAob3BlcmF0aW9uIHJldHVybiB0eXBlcywgYXJndW1lbnQg
dHlwZXMsIGV0Yy4pLgotSXQgY2FwdHVyZXMgYSBXZWJJREwgdHlwZSB3aXRoIGEgbnVtYmVyIG9m
IG9wdGlvbnMuIFR5cGVzIGxvb2sgbGlrZSB0aGlzIGFuZCBhcmUgdHlwaWNhbGx5Ci1hdHRhY2hl
ZCB0byBhIGZpZWxkIGNhbGxlZCBgaWRsVHlwZWA6Ci0KLWBgYEpTCi17Ci0gICJ0eXBlIjogImF0
dHJpYnV0ZS10eXBlIiwKLSAgImdlbmVyaWMiOiBudWxsLAotICAiaWRsVHlwZSI6ICJ1bnNpZ25l
ZCBzaG9ydCIsCi0gICJudWxsYWJsZSI6IGZhbHNlLAotICAidW5pb24iOiBmYWxzZSwKLSAgImV4
dEF0dHJzIjogWy4uLl0KLX0KLWBgYAotCi1XaGVyZSB0aGUgZmllbGRzIGFyZSBhcyBmb2xsb3dz
OgotCi0qIGB0eXBlYDogU3RyaW5nIGluZGljYXRpbmcgd2hlcmUgdGhpcyB0eXBlIGlzIHVzZWQu
IENhbiBiZSBgbnVsbGAgaWYgbm90IGFwcGxpY2FibGUuCi0qIGBnZW5lcmljYDogU3RyaW5nIGlu
ZGljYXRpbmcgdGhlIGdlbmVyaWMgdHlwZSAoZS5nLiAiUHJvbWlzZSIsICJzZXF1ZW5jZSIpLiBg
bnVsbGAKLSAgb3RoZXJ3aXNlLgotKiBgaWRsVHlwZWA6IENhbiBiZSBkaWZmZXJlbnQgdGhpbmdz
IGRlcGVuZGluZyBvbiBjb250ZXh0LiBJbiBtb3N0IGNhc2VzLCB0aGlzIHdpbGwganVzdAotICBi
ZSBhIHN0cmluZyB3aXRoIHRoZSB0eXBlIG5hbWUuIEJ1dCB0aGUgcmVhc29uIHRoaXMgZmllbGQg
aXNuJ3QgY2FsbGVkICJ0eXBlTmFtZSIgaXMKLSAgYmVjYXVzZSBpdCBjYW4gdGFrZSBtb3JlIGNv
bXBsZXggdmFsdWVzLiBJZiB0aGUgdHlwZSBpcyBhIHVuaW9uLCB0aGVuIHRoaXMgY29udGFpbnMg
YW4KLSAgYXJyYXkgb2YgdGhlIHR5cGVzIGl0IHVuaXRlcy4gSWYgaXQgaXMgYSBnZW5lcmljIHR5
cGUsIGl0IGNvbnRhaW5zIHRoZSBJREwgdHlwZQotICBkZXNjcmlwdGlvbiBmb3IgdGhlIHR5cGUg
aW4gdGhlIHNlcXVlbmNlLCB0aGUgZXZlbnR1YWwgdmFsdWUgb2YgdGhlIHByb21pc2UsIGV0Yy4K
LSogYG51bGxhYmxlYDogQm9vbGVhbiBpbmRpY2F0aW5nIHdoZXRoZXIgdGhpcyBpcyBudWxsYWJs
ZSBvciBub3QuCi0qIGB1bmlvbmA6IEJvb2xlYW4gaW5kaWNhdGluZyB3aGV0aGVyIHRoaXMgaXMg
YSB1bmlvbiB0eXBlIG9yIG5vdC4KLSogYGV4dEF0dHJzYDogQSBsaXN0IG9mIFtleHRlbmRlZCBh
dHRyaWJ1dGVzXSgjZXh0ZW5kZWQtYXR0cmlidXRlcykuCi0KLSMjIyBJbnRlcmZhY2UKLQotSW50
ZXJmYWNlcyBsb29rIGxpa2UgdGhpczoKLQotYGBgSlMKLXsKLSAgInR5cGUiOiAiaW50ZXJmYWNl
IiwKLSAgIm5hbWUiOiAiQW5pbWFsIiwKLSAgInBhcnRpYWwiOiBmYWxzZSwKLSAgIm1lbWJlcnMi
OiBbLi4uXSwKLSAgImluaGVyaXRhbmNlIjogbnVsbCwKLSAgImV4dEF0dHJzIjogWy4uLl0KLX0s
IHsKLSAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgIm5hbWUiOiAiSHVtYW4iLAotICAicGFydGlh
bCI6IGZhbHNlLAotICAibWVtYmVycyI6IFsuLi5dLAotICAiaW5oZXJpdGFuY2UiOiAiQW5pbWFs
IiwKLSAgImV4dEF0dHJzIjogWy4uLl0KLX0KLWBgYAotCi1UaGUgZmllbGRzIGFyZSBhcyBmb2xs
b3dzOgotCi0qIGB0eXBlYDogQWx3YXlzICJpbnRlcmZhY2UiLgotKiBgbmFtZWA6IFRoZSBuYW1l
IG9mIHRoZSBpbnRlcmZhY2UuCi0qIGBwYXJ0aWFsYDogQSBib29sZWFuIGluZGljYXRpbmcgd2hl
dGhlciBpdCdzIGEgcGFydGlhbCBpbnRlcmZhY2UuCi0qIGBtZW1iZXJzYDogQW4gYXJyYXkgb2Yg
aW50ZXJmYWNlIG1lbWJlcnMgKGF0dHJpYnV0ZXMsIG9wZXJhdGlvbnMsIGV0Yy4pLiBFbXB0eSBp
ZiB0aGVyZSBhcmUgbm9uZS4KLSogYGluaGVyaXRhbmNlYDogQSBzdHJpbmcgZ2l2aW5nIHRoZSBu
YW1lIG9mIGFuIGludGVyZmFjZSB0aGlzIG9uZSBpbmhlcml0cyBmcm9tLCBgbnVsbGAgb3RoZXJ3
aXNlLgotICAqKk5PVEUqKjogSW4gdjEgdGhpcyB3YXMgYW4gYXJyYXksIGJ1dCBtdWx0aXBsZSBp
bmhlcml0YW5jZSBpcyBubyBsb25nZXIgc3VwcG9ydGVkIHNvIHRoaXMgZGlkbid0IG1ha2UKLSAg
c2Vuc2UuCi0qIGBleHRBdHRyc2A6IEEgbGlzdCBvZiBbZXh0ZW5kZWQgYXR0cmlidXRlc10oI2V4
dGVuZGVkLWF0dHJpYnV0ZXMpLgotCi0jIyMgSW50ZXJmYWNlIG1peGlucwotCi1JbnRlcmZhY2Vz
IG1peGlucyBsb29rIGxpa2UgdGhpczoKLQotYGBgSlMKLXsKLSAgInR5cGUiOiAiaW50ZXJmYWNl
IG1peGluIiwKLSAgIm5hbWUiOiAiQW5pbWFsIiwKLSAgInBhcnRpYWwiOiBmYWxzZSwKLSAgIm1l
bWJlcnMiOiBbLi4uXSwKLSAgImV4dEF0dHJzIjogWy4uLl0KLX0sIHsKLSAgInR5cGUiOiAiaW50
ZXJmYWNlIG1peGluIiwKLSAgIm5hbWUiOiAiSHVtYW4iLAotICAicGFydGlhbCI6IGZhbHNlLAot
ICAibWVtYmVycyI6IFsuLi5dLAotICAiZXh0QXR0cnMiOiBbLi4uXQotfQotYGBgCi0KLVRoZSBm
aWVsZHMgYXJlIGFzIGZvbGxvd3M6Ci0KLSogYHR5cGVgOiBBbHdheXMgImludGVyZmFjZSBtaXhp
biIuCi0qIGBuYW1lYDogVGhlIG5hbWUgb2YgdGhlIGludGVyZmFjZSBtaXhpbi4KLSogYHBhcnRp
YWxgOiBBIGJvb2xlYW4gaW5kaWNhdGluZyB3aGV0aGVyIGl0J3MgYSBwYXJ0aWFsIGludGVyZmFj
ZSBtaXhpbi4KLSogYG1lbWJlcnNgOiBBbiBhcnJheSBvZiBpbnRlcmZhY2UgbWVtYmVycyAoYXR0
cmlidXRlcywgb3BlcmF0aW9ucywgZXRjLikuIEVtcHR5IGlmIHRoZXJlIGFyZSBub25lLgotKiBg
ZXh0QXR0cnNgOiBBIGxpc3Qgb2YgW2V4dGVuZGVkIGF0dHJpYnV0ZXNdKCNleHRlbmRlZC1hdHRy
aWJ1dGVzKS4KLQotIyMjIE5hbWVzcGFjZQotCi1OYW1lc3BhY2VzIGxvb2sgbGlrZSB0aGlzOgot
Ci1gYGBKUwotewotICAidHlwZSI6ICJuYW1lc3BhY2UiLAotICAibmFtZSI6ICJDb25zb2xlIiwK
LSAgInBhcnRpYWwiOiBmYWxzZSwKLSAgIm1lbWJlcnMiOiBbLi4uXSwKLSAgImV4dEF0dHJzIjog
Wy4uLl0KLX0KLWBgYAotCi1UaGUgZmllbGRzIGFyZSBhcyBmb2xsb3dzOgotCi0qIGB0eXBlYDog
QWx3YXlzICJuYW1lc3BhY2UiLgotKiBgbmFtZWA6IFRoZSBuYW1lIG9mIHRoZSBuYW1lc3BhY2Uu
Ci0qIGBwYXJ0aWFsYDogQSBib29sZWFuIGluZGljYXRpbmcgd2hldGhlciBpdCdzIGEgcGFydGlh
bCBuYW1lc3BhY2UuCi0qIGBtZW1iZXJzYDogQW4gYXJyYXkgb2YgbmFtZXNwYWNlIG1lbWJlcnMg
KGF0dHJpYnV0ZXMgYW5kIG9wZXJhdGlvbnMpLiBFbXB0eSBpZiB0aGVyZSBhcmUgbm9uZS4KLSog
YGV4dEF0dHJzYDogQSBsaXN0IG9mIFtleHRlbmRlZCBhdHRyaWJ1dGVzXSgjZXh0ZW5kZWQtYXR0
cmlidXRlcykuCi0KLSMjIyBDYWxsYmFjayBJbnRlcmZhY2VzCi0KLVRoZXNlIGFyZSBjYXB0dXJl
ZCBieSB0aGUgc2FtZSBzdHJ1Y3R1cmUgYXMgW0ludGVyZmFjZXNdKCNpbnRlcmZhY2UpIGV4Y2Vw
dCB0aGF0Ci10aGVpciBgdHlwZWAgZmllbGQgaXMgImNhbGxiYWNrIGludGVyZmFjZSIuCi0KLSMj
IyBDYWxsYmFjawotCi1BIGNhbGxiYWNrIGxvb2tzIGxpa2UgdGhpczoKLQotYGBgSlMKLXsKLSAg
InR5cGUiOiAiY2FsbGJhY2siLAotICAibmFtZSI6ICJBc3luY09wZXJhdGlvbkNhbGxiYWNrIiwK
LSAgImlkbFR5cGUiOiB7Ci0gICAgInR5cGUiOiAicmV0dXJuLXR5cGUiLAotICAgICJzZXF1ZW5j
ZSI6IGZhbHNlLAotICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAibnVsbGFibGUiOiBmYWxzZSwK
LSAgICAidW5pb24iOiBmYWxzZSwKLSAgICAiaWRsVHlwZSI6ICJ2b2lkIiwKLSAgICAiZXh0QXR0
cnMiOiBbXQotICB9LAotICAiYXJndW1lbnRzIjogWy4uLl0sCi0gICJleHRBdHRycyI6IFtdCi19
Ci1gYGAKLQotVGhlIGZpZWxkcyBhcmUgYXMgZm9sbG93czoKLQotKiBgdHlwZWA6IEFsd2F5cyAi
Y2FsbGJhY2siLgotKiBgbmFtZWA6IFRoZSBuYW1lIG9mIHRoZSBjYWxsYmFjay4KLSogYGlkbFR5
cGVgOiBBbiBbSURMIFR5cGVdKCNpZGwtdHlwZSkgZGVzY3JpYmluZyB3aGF0IHRoZSBjYWxsYmFj
ayByZXR1cm5zLgotKiBgYXJndW1lbnRzYDogQSBsaXN0IG9mIFthcmd1bWVudHNdKCNhcmd1bWVu
dHMpLCBhcyBpbiBmdW5jdGlvbiBwYXJhbXRlcnMuCi0qIGBleHRBdHRyc2A6IEEgbGlzdCBvZiBb
ZXh0ZW5kZWQgYXR0cmlidXRlc10oI2V4dGVuZGVkLWF0dHJpYnV0ZXMpLgotCi0jIyMgRGljdGlv
bmFyeQotCi1BIGRpY3Rpb25hcnkgbG9va3MgbGlrZSB0aGlzOgotCi1gYGBKUwotewotICAidHlw
ZSI6ICJkaWN0aW9uYXJ5IiwKLSAgIm5hbWUiOiAiUGFpbnRPcHRpb25zIiwKLSAgInBhcnRpYWwi
OiBmYWxzZSwKLSAgIm1lbWJlcnMiOiBbewotICAgICJ0eXBlIjogImZpZWxkIiwKLSAgICAibmFt
ZSI6ICJmaWxsUGF0dGVybiIsCi0gICAgInJlcXVpcmVkIjogZmFsc2UsCi0gICAgImlkbFR5cGUi
OiB7Ci0gICAgICAidHlwZSI6ICJkaWN0aW9uYXJ5LXR5cGUiLAotICAgICAgInNlcXVlbmNlIjog
ZmFsc2UsCi0gICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAibnVsbGFibGUiOiB0cnVlLAot
ICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAiaWRsVHlwZSI6ICJET01TdHJpbmciLAotICAg
ICAgImV4dEF0dHJzIjogWy4uLl0KLSAgICB9LAotICAgICJleHRBdHRycyI6IFtdLAotICAgICJk
ZWZhdWx0IjogewotICAgICAgInR5cGUiOiAic3RyaW5nIiwKLSAgICAgICJ2YWx1ZSI6ICJibGFj
ayIKLSAgICB9Ci0gIH1dLAotICAiaW5oZXJpdGFuY2UiOiBudWxsLAotICAiZXh0QXR0cnMiOiBb
XQotfQotYGBgCi0KLVRoZSBmaWVsZHMgYXJlIGFzIGZvbGxvd3M6Ci0KLSogYHR5cGVgOiBBbHdh
eXMgImRpY3Rpb25hcnkiLgotKiBgbmFtZWA6IFRoZSBkaWN0aW9uYXJ5IG5hbWUuCi0qIGBwYXJ0
aWFsYDogQm9vbGVhbiBpbmRpY2F0aW5nIHdoZXRoZXIgaXQncyBhIHBhcnRpYWwgZGljdGlvbmFy
eS4KLSogYG1lbWJlcnNgOiBBbiBhcnJheSBvZiBtZW1iZXJzIChzZWUgYmVsb3cpLgotKiBgaW5o
ZXJpdGFuY2VgOiBBIHN0cmluZyBpbmRpY2F0aW5nIHdoaWNoIGRpY3Rpb25hcnkgaXMgYmVpbmcg
aW5oZXJpdGVkIGZyb20sIGBudWxsYCBvdGhlcndpc2UuCi0qIGBleHRBdHRyc2A6IEEgbGlzdCBv
ZiBbZXh0ZW5kZWQgYXR0cmlidXRlc10oI2V4dGVuZGVkLWF0dHJpYnV0ZXMpLgotCi1BbGwgdGhl
IG1lbWJlcnMgYXJlIGZpZWxkcyBhcyBmb2xsb3dzOgotCi0qIGB0eXBlYDogQWx3YXlzICJmaWVs
ZCIuCi0qIGBuYW1lYDogVGhlIG5hbWUgb2YgdGhlIGZpZWxkLgotKiBgcmVxdWlyZWRgOiBCb29s
ZWFuIGluZGljYXRpbmcgd2hldGhlciB0aGlzIGlzIGEgW3JlcXVpcmVkXShodHRwczovL2hleWNh
bS5naXRodWIuaW8vd2ViaWRsLyNyZXF1aXJlZC1kaWN0aW9uYXJ5LW1lbWJlcikgZmllbGQuCi0q
IGBpZGxUeXBlYDogQW4gW0lETCBUeXBlXSgjaWRsLXR5cGUpIGRlc2NyaWJpbmcgd2hhdCBmaWVs
ZCdzIHR5cGUuCi0qIGBleHRBdHRyc2A6IEEgbGlzdCBvZiBbZXh0ZW5kZWQgYXR0cmlidXRlc10o
I2V4dGVuZGVkLWF0dHJpYnV0ZXMpLgotKiBgZGVmYXVsdGA6IEEgW2RlZmF1bHQgdmFsdWVdKCNk
ZWZhdWx0LWFuZC1jb25zdC12YWx1ZXMpLCBhYnNlbnQgaWYgdGhlcmUgaXMgbm9uZS4KLQotIyMj
IEVudW0KLQotQW4gZW51bSBsb29rcyBsaWtlIHRoaXM6Ci0KLWBgYEpTCi17Ci0gICJ0eXBlIjog
ImVudW0iLAotICAibmFtZSI6ICJNZWFsVHlwZSIsCi0gICJ2YWx1ZXMiOiBbCi0gICAgeyAidHlw
ZSI6ICJzdHJpbmciLCAidmFsdWUiOiAicmljZSIgfSwKLSAgICB7ICJ0eXBlIjogInN0cmluZyIs
ICJ2YWx1ZSI6ICJub29kbGVzIiB9LAotICAgIHsgInR5cGUiOiAic3RyaW5nIiwgInZhbHVlIjog
Im90aGVyIiB9Ci0gIF0sCi0gICJleHRBdHRycyI6IFtdCi19Ci1gYGAKLQotVGhlIGZpZWxkcyBh
cmUgYXMgZm9sbG93czoKLQotKiBgdHlwZWA6IEFsd2F5cyAiZW51bSIuCi0qIGBuYW1lYDogVGhl
IGVudW0ncyBuYW1lLgotKiBgdmFsdWVzYDogQW4gYXJyYXkgb2YgdmFsdWVzLgotKiBgZXh0QXR0
cnNgOiBBIGxpc3Qgb2YgW2V4dGVuZGVkIGF0dHJpYnV0ZXNdKCNleHRlbmRlZC1hdHRyaWJ1dGVz
KS4KLQotIyMjIFR5cGVkZWYKLQotQSB0eXBlZGVmIGxvb2tzIGxpa2UgdGhpczoKLQotYGBgSlMK
LXsKLSAgInR5cGUiOiAidHlwZWRlZiIsCi0gICJpZGxUeXBlIjogewotICAgICJ0eXBlIjogInR5
cGVkZWYtdHlwZSIsCi0gICAgInNlcXVlbmNlIjogdHJ1ZSwKLSAgICAiZ2VuZXJpYyI6ICJzZXF1
ZW5jZSIsCi0gICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgInVuaW9uIjogZmFsc2UsCi0gICAg
ImlkbFR5cGUiOiB7Ci0gICAgICAidHlwZSI6ICJ0eXBlZGVmLXR5cGUiLAotICAgICAgInNlcXVl
bmNlIjogZmFsc2UsCi0gICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAibnVsbGFibGUiOiBm
YWxzZSwKLSAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgImlkbFR5cGUiOiAiUG9pbnQiLAot
ICAgICAgImV4dEF0dHJzIjogWy4uLl0KLSAgICB9LAotICAgICJleHRBdHRycyI6IFsuLi5dCi0g
IH0sCi0gICJuYW1lIjogIlBvaW50U2VxdWVuY2UiLAotICAiZXh0QXR0cnMiOiBbXQotfQotYGBg
Ci0KLQotVGhlIGZpZWxkcyBhcmUgYXMgZm9sbG93czoKLQotKiBgdHlwZWA6IEFsd2F5cyAidHlw
ZWRlZiIuCi0qIGBuYW1lYDogVGhlIHR5cGVkZWYncyBuYW1lLgotKiBgaWRsVHlwZWA6IEFuIFtJ
REwgVHlwZV0oI2lkbC10eXBlKSBkZXNjcmliaW5nIHdoYXQgdHlwZWRlZidzIHR5cGUuCi0qIGBl
eHRBdHRyc2A6IEEgbGlzdCBvZiBbZXh0ZW5kZWQgYXR0cmlidXRlc10oI2V4dGVuZGVkLWF0dHJp
YnV0ZXMpLgotCi0jIyMgSW1wbGVtZW50cwotCi1BbiBpbXBsZW1lbnRzIGRlZmluaXRpb24gbG9v
a3MgbGlrZSB0aGlzOgotCi1gYGBKUwotewotICAidHlwZSI6ICJpbXBsZW1lbnRzIiwKLSAgInRh
cmdldCI6ICJOb2RlIiwKLSAgImltcGxlbWVudHMiOiAiRXZlbnRUYXJnZXQiLAotICAiZXh0QXR0
cnMiOiBbXQotfQotYGBgCi0KLVRoZSBmaWVsZHMgYXJlIGFzIGZvbGxvd3M6Ci0KLSogYHR5cGVg
OiBBbHdheXMgImltcGxlbWVudHMiLgotKiBgdGFyZ2V0YDogVGhlIGludGVyZmFjZSB0aGF0IGlt
cGxlbWVudHMgYW5vdGhlci4KLSogYGltcGxlbWVudHNgOiBUaGUgaW50ZXJmYWNlIHRoYXQgaXMg
YmVpbmcgaW1wbGVtZW50ZWQgYnkgdGhlIHRhcmdldC4KLSogYGV4dEF0dHJzYDogQSBsaXN0IG9m
IFtleHRlbmRlZCBhdHRyaWJ1dGVzXSgjZXh0ZW5kZWQtYXR0cmlidXRlcykuCi0KLSMjIyBJbmNs
dWRlcwotCi1BbiBpbmNsdWRlcyBkZWZpbml0aW9uIGxvb2tzIGxpa2UgdGhpczoKLQotYGBgSlMK
LXsKLSAgInR5cGUiOiAiaW5jbHVkZXMiLAotICAidGFyZ2V0IjogIk5vZGUiLAotICAiaW5jbHVk
ZXMiOiAiRXZlbnRUYXJnZXQiLAotICAiZXh0QXR0cnMiOiBbXQotfQotYGBgCi0KLVRoZSBmaWVs
ZHMgYXJlIGFzIGZvbGxvd3M6Ci0KLSogYHR5cGVgOiBBbHdheXMgImluY2x1ZGVzIi4KLSogYHRh
cmdldGA6IFRoZSBpbnRlcmZhY2UgdGhhdCBpbmNsdWRlcyBhbiBpbnRlcmZhY2UgbWl4aW4uCi0q
IGBpbmNsdWRlc2A6IFRoZSBpbnRlcmZhY2UgbWl4aW4gdGhhdCBpcyBiZWluZyBpbmNsdWRlZCBi
eSB0aGUgdGFyZ2V0LgotKiBgZXh0QXR0cnNgOiBBIGxpc3Qgb2YgW2V4dGVuZGVkIGF0dHJpYnV0
ZXNdKCNleHRlbmRlZC1hdHRyaWJ1dGVzKS4KLQotIyMjIE9wZXJhdGlvbiBNZW1iZXIKLQotQW4g
b3BlcmF0aW9uIGxvb2tzIGxpa2UgdGhpczoKLWBgYEpTCi17Ci0gICJ0eXBlIjogIm9wZXJhdGlv
biIsCi0gICJnZXR0ZXIiOiBmYWxzZSwKLSAgInNldHRlciI6IGZhbHNlLAotICAiZGVsZXRlciI6
IGZhbHNlLAotICAic3RhdGljIjogZmFsc2UsCi0gICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAi
aWRsVHlwZSI6IHsKLSAgICAidHlwZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAgInNlcXVlbmNlIjog
ZmFsc2UsCi0gICAgImdlbmVyaWMiOiBudWxsLAotICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAg
ICJ1bmlvbiI6IGZhbHNlLAotICAgICJpZGxUeXBlIjogInZvaWQiLAotICAgICJleHRBdHRycyI6
IFtdCi0gIH0sCi0gICJuYW1lIjogImludGVyc2VjdGlvbiIsCi0gICJhcmd1bWVudHMiOiBbewot
ICAgICJvcHRpb25hbCI6IGZhbHNlLAotICAgICJ2YXJpYWRpYyI6IHRydWUsCi0gICAgImV4dEF0
dHJzIjogW10sCi0gICAgImlkbFR5cGUiOiB7Ci0gICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBl
IiwKLSAgICAgICJzZXF1ZW5jZSI6IGZhbHNlLAotICAgICAgImdlbmVyaWMiOiBudWxsLAotICAg
ICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICJpZGxU
eXBlIjogImxvbmciLAotICAgICAgImV4dEF0dHJzIjogWy4uLl0KLSAgICB9LAotICAgICJuYW1l
IjogImludHMiCi0gIH1dLAotICAiZXh0QXR0cnMiOiBbXQotfQotYGBgCi0KLVRoZSBmaWVsZHMg
YXJlIGFzIGZvbGxvd3M6Ci0KLSogYHR5cGVgOiBBbHdheXMgIm9wZXJhdGlvbiIuCi0qIGBnZXR0
ZXJgOiBUcnVlIGlmIGEgZ2V0dGVyIG9wZXJhdGlvbi4KLSogYHNldHRlcmA6IFRydWUgaWYgYSBz
ZXR0ZXIgb3BlcmF0aW9uLgotKiBgZGVsZXRlcmA6IFRydWUgaWYgYSBkZWxldGVyIG9wZXJhdGlv
bi4KLSogYHN0YXRpY2A6IFRydWUgaWYgYSBzdGF0aWMgb3BlcmF0aW9uLgotKiBgc3RyaW5naWZp
ZXJgOiBUcnVlIGlmIGEgc3RyaW5naWZpZXIgb3BlcmF0aW9uLgotKiBgaWRsVHlwZWA6IEFuIFtJ
REwgVHlwZV0oI2lkbC10eXBlKSBvZiB3aGF0IHRoZSBvcGVyYXRpb24gcmV0dXJucy4gSWYgYSBz
dHJpbmdpZmllciwgbWF5IGJlIGFic2VudC4KLSogYG5hbWVgOiBUaGUgbmFtZSBvZiB0aGUgb3Bl
cmF0aW9uLiBJZiBhIHN0cmluZ2lmaWVyLCBtYXkgYmUgYG51bGxgLgotKiBgYXJndW1lbnRzYDog
QW4gYXJyYXkgb2YgW2FyZ3VtZW50c10oI2FyZ3VtZW50cykgZm9yIHRoZSBvcGVyYXRpb24uCi0q
IGBleHRBdHRyc2A6IEEgbGlzdCBvZiBbZXh0ZW5kZWQgYXR0cmlidXRlc10oI2V4dGVuZGVkLWF0
dHJpYnV0ZXMpLgotCi0jIyMgQXR0cmlidXRlIE1lbWJlcgotCi1BbiBhdHRyaWJ1dGUgbWVtYmVy
IGxvb2tzIGxpa2UgdGhpczoKLQotYGBgSlMKLXsKLSAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAg
InN0YXRpYyI6IGZhbHNlLAotICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgImluaGVyaXQiOiBm
YWxzZSwKLSAgInJlYWRvbmx5IjogZmFsc2UsCi0gICJpZGxUeXBlIjogewotICAgICJ0eXBlIjog
ImF0dHJpYnV0ZS10eXBlIiwKLSAgICAic2VxdWVuY2UiOiBmYWxzZSwKLSAgICAiZ2VuZXJpYyI6
IG51bGwsCi0gICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgInVuaW9uIjogZmFsc2UsCi0gICAg
ImlkbFR5cGUiOiAiUmVnRXhwIiwKLSAgICAiZXh0QXR0cnMiOiBbLi4uXQotICB9LAotICAibmFt
ZSI6ICJyZWdleHAiLAotICAiZXh0QXR0cnMiOiBbXQotfQotYGBgCi0KLVRoZSBmaWVsZHMgYXJl
IGFzIGZvbGxvd3M6Ci0KLSogYHR5cGVgOiBBbHdheXMgImF0dHJpYnV0ZSIuCi0qIGBuYW1lYDog
VGhlIGF0dHJpYnV0ZSdzIG5hbWUuCi0qIGBzdGF0aWNgOiBUcnVlIGlmIGl0J3MgYSBzdGF0aWMg
YXR0cmlidXRlLgotKiBgc3RyaW5naWZpZXJgOiBUcnVlIGlmIGl0J3MgYSBzdHJpbmdpZmllciBh
dHRyaWJ1dGUuCi0qIGBpbmhlcml0YDogVHJ1ZSBpZiBpdCdzIGFuIGluaGVyaXQgYXR0cmlidXRl
LgotKiBgcmVhZG9ubHlgOiBUcnVlIGlmIGl0J3MgYSByZWFkLW9ubHkgYXR0cmlidXRlLgotKiBg
aWRsVHlwZWA6IEFuIFtJREwgVHlwZV0oI2lkbC10eXBlKSBmb3IgdGhlIGF0dHJpYnV0ZS4KLSog
YGV4dEF0dHJzYDogQSBsaXN0IG9mIFtleHRlbmRlZCBhdHRyaWJ1dGVzXSgjZXh0ZW5kZWQtYXR0
cmlidXRlcykuCi0KLSMjIyBDb25zdGFudCBNZW1iZXIKLQotQSBjb25zdGFudCBtZW1iZXIgbG9v
a3MgbGlrZSB0aGlzOgotCi1gYGBKUwotewotICAidHlwZSI6ICJjb25zdCIsCi0gICJudWxsYWJs
ZSI6IGZhbHNlLAotICAiaWRsVHlwZSI6IHsKLSAgICAidHlwZSI6ICJjb25zdC10eXBlIiwKLSAg
ICAic2VxdWVuY2UiOiBmYWxzZSwKLSAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgIm51bGxhYmxl
IjogZmFsc2UsCi0gICAgInVuaW9uIjogZmFsc2UsCi0gICAgImlkbFR5cGUiOiAiYm9vbGVhbiIK
LSAgICAiZXh0QXR0cnMiOiBbXQotICB9LAotICAibmFtZSI6ICJERUJVRyIsCi0gICJ2YWx1ZSI6
IHsKLSAgICAidHlwZSI6ICJib29sZWFuIiwKLSAgICAidmFsdWUiOiBmYWxzZQotICB9LAotICAi
ZXh0QXR0cnMiOiBbXQotfQotYGBgCi0KLVRoZSBmaWVsZHMgYXJlIGFzIGZvbGxvd3M6Ci0KLSog
YHR5cGVgOiBBbHdheXMgImNvbnN0Ii4KLSogYG51bGxhYmxlYDogV2hldGhlciBpdHMgdHlwZSBp
cyBudWxsYWJsZS4KLSogYGlkbFR5cGVgOiBBbiBbSURMIFR5cGVdKCNpZGwtdHlwZSkgb2YgdGhl
IGNvbnN0YW50IHRoYXQgcmVwcmVzZW50cyBhIHNpbXBsZSB0eXBlLCB0aGUgdHlwZSBuYW1lLgot
KiBgbmFtZWA6IFRoZSBuYW1lIG9mIHRoZSBjb25zdGFudC4KLSogYHZhbHVlYDogVGhlIGNvbnN0
YW50IHZhbHVlIGFzIGRlc2NyaWJlZCBieSBbQ29uc3QgVmFsdWVzXSgjZGVmYXVsdC1hbmQtY29u
c3QtdmFsdWVzKQotKiBgZXh0QXR0cnNgOiBBIGxpc3Qgb2YgW2V4dGVuZGVkIGF0dHJpYnV0ZXNd
KCNleHRlbmRlZC1hdHRyaWJ1dGVzKS4KLQotIyMjIEFyZ3VtZW50cwotCi1UaGUgYXJndW1lbnRz
IChlLmcuIGZvciBhbiBvcGVyYXRpb24pIGxvb2sgbGlrZSB0aGlzOgotCi1gYGBKUwotewotICAi
YXJndW1lbnRzIjogW3sKLSAgICAib3B0aW9uYWwiOiBmYWxzZSwKLSAgICAidmFyaWFkaWMiOiB0
cnVlLAotICAgICJleHRBdHRycyI6IFtdLAotICAgICJpZGxUeXBlIjogewotICAgICAgInR5cGUi
OiAiYXJndW1lbnQtdHlwZSIsCi0gICAgICAic2VxdWVuY2UiOiBmYWxzZSwKLSAgICAgICJnZW5l
cmljIjogbnVsbCwKLSAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgInVuaW9uIjogZmFs
c2UsCi0gICAgICAiaWRsVHlwZSI6ICJsb25nIiwKLSAgICAgICJleHRBdHRycyI6IFsuLi5dCi0g
ICAgfSwKLSAgICAibmFtZSI6ICJpbnRzIgotICB9XQotfQotYGBgCi0KLVRoZSBmaWVsZHMgYXJl
IGFzIGZvbGxvd3M6Ci0KLSogYG9wdGlvbmFsYDogVHJ1ZSBpZiB0aGUgYXJndW1lbnQgaXMgb3B0
aW9uYWwuCi0qIGB2YXJpYWRpY2A6IFRydWUgaWYgdGhlIGFyZ3VtZW50IGlzIHZhcmlhZGljLgot
KiBgaWRsVHlwZWA6IEFuIFtJREwgVHlwZV0oI2lkbC10eXBlKSBkZXNjcmliaW5nIHRoZSB0eXBl
IG9mIHRoZSBhcmd1bWVudC4KLSogYG5hbWVgOiBUaGUgYXJndW1lbnQncyBuYW1lLgotKiBgZXh0
QXR0cnNgOiBBIGxpc3Qgb2YgW2V4dGVuZGVkIGF0dHJpYnV0ZXNdKCNleHRlbmRlZC1hdHRyaWJ1
dGVzKS4KLQotIyMjIEV4dGVuZGVkIEF0dHJpYnV0ZXMKLQotRXh0ZW5kZWQgYXR0cmlidXRlcyBh
cmUgYXJyYXlzIG9mIGl0ZW1zIHRoYXQgbG9vayBsaWtlIHRoaXM6Ci0KLWBgYEpTCi17Ci0gICJl
eHRBdHRycyI6IFt7Ci0gICAgIm5hbWUiOiAiVHJlYXROdWxsQXMiLAotICAgICJhcmd1bWVudHMi
OiBudWxsLAotICAgICJ0eXBlIjogImV4dGVuZGVkLWF0dHJpYnV0ZSIsCi0gICAgInJocyI6IHsK
LSAgICAgICJ0eXBlIjogImlkZW50aWZpZXIiLAotICAgICAgInZhbHVlIjogIkVtcHR5U3RyaW5n
IgotICAgIH0KLSAgfV0KLX0KLWBgYAotCi1UaGUgZmllbGRzIGFyZSBhcyBmb2xsb3dzOgotCi0q
IGBuYW1lYDogVGhlIGV4dGVuZGVkIGF0dHJpYnV0ZSdzIG5hbWUuCi0qIGBhcmd1bWVudHNgOiBJ
ZiB0aGUgZXh0ZW5kZWQgYXR0cmlidXRlIHRha2VzIGFyZ3VtZW50cyAoZS5nLiBgW0ZvbygpXWAp
IG9yIGlmCi0gIGl0cyByaWdodC1oYW5kIHNpZGUgZG9lcyAoZS5nLiBgW05hbWVkQ29uc3RydWN0
b3I9TmFtZShET01TdHJpbmcgYmxhaCldYCkgdGhleQotICBhcmUgbGlzdGVkIGhlcmUuIE5vdGUg
dGhhdCBhbiBlbXB0eSBhcmd1bWVudHMgbGlzdCB3aWxsIHByb2R1Y2UgYW4gZW1wdHkgYXJyYXks
Ci0gIHdoZXJlYXMgdGhlIGxhY2sgdGhlcmVvZiB3aWxsIHlpZWxkIGEgYG51bGxgLiBJZiB0aGVy
ZSBpcyBhbiBgcmhzYCBmaWVsZCB0aGVuCi0gIHRoZXkgYXJlIHRoZSByaWdodC1oYW5kIHNpZGUn
cyBhcmd1bWVudHMsIG90aGVyd2lzZSB0aGV5IGFwcGx5IHRvIHRoZSBleHRlbmRlZAotICBhdHRy
aWJ1dGUgZGlyZWN0bHkuCi0qIGB0eXBlYDogQWx3YXlzIGAiZXh0ZW5kZWQtYXR0cmlidXRlImAu
Ci0qIGByaHNgOiBJZiB0aGVyZSBpcyBhIHJpZ2h0LWhhbmQgc2lkZSwgdGhpcyB3aWxsIGNhcHR1
cmUgaXRzIGB0eXBlYCAod2hpY2ggY2FuIGJlCi0gICJpZGVudGlmaWVyIiBvciAiaWRlbnRpZmll
ci1saXN0IikgYW5kIGl0cyBgdmFsdWVgLgotCi0jIyMgRGVmYXVsdCBhbmQgQ29uc3QgVmFsdWVz
Ci0KLURpY3Rpb25hcnkgZmllbGRzIGFuZCBvcGVyYXRpb24gYXJndW1lbnRzIGNhbiB0YWtlIGRl
ZmF1bHQgdmFsdWVzLCBhbmQgY29uc3RhbnRzIHRha2UKLXZhbHVlcywgYWxsIG9mIHdoaWNoIGhh
dmUgdGhlIGZvbGxvd2luZyBmaWVsZHM6Ci0KLSogYHR5cGVgOiBPbmUgb2Ygc3RyaW5nLCBudW1i
ZXIsIGJvb2xlYW4sIG51bGwsIEluZmluaXR5LCBOYU4sIG9yIHNlcXVlbmNlLgotCi1Gb3Igc3Ry
aW5nLCBudW1iZXIsIGJvb2xlYW4sIGFuZCBzZXF1ZW5jZToKLQotKiBgdmFsdWVgOiBUaGUgdmFs
dWUgb2YgdGhlIGdpdmVuIHR5cGUsIGFzIGEgc3RyaW5nLiBGb3Igc2VxdWVuY2UsIHRoZSBvbmx5
IHBvc3NpYmxlIHZhbHVlIGlzIGBbXWAuCi0KLUZvciBJbmZpbml0eToKLQotKiBgbmVnYXRpdmVg
OiBCb29sZWFuIGluZGljYXRpbmcgd2hldGhlciB0aGlzIGlzIG5lZ2F0aXZlIEluZmluaXR5IG9y
IG5vdC4KLQotIyMjIGBpdGVyYWJsZTw+YCwgYGxlZ2FjeWl0ZXJhYmxlPD5gLCBgbWFwbGlrZTw+
YCwgYHNldGxpa2U8PmAgZGVjbGFyYXRpb25zCi0KLVRoZXNlIGFwcGVhciBhcyBtZW1iZXJzIG9m
IGludGVyZmFjZXMgdGhhdCBsb29rIGxpa2UgdGhpczoKLQotYGBgSlMKLXsKLSAgInR5cGUiOiAi
bWFwbGlrZSIsIC8vIG9yICJsZWdhY3lpdGVyYWJsZSIgLyAiaXRlcmFibGUiIC8gInNldGxpa2Ui
Ci0gICJpZGxUeXBlIjogLyogT25lIG9yIHR3byB0eXBlcyAqLyAsCi0gICJyZWFkb25seSI6IGZh
bHNlLCAvLyBvbmx5IGZvciBtYXBsaWtlIGFuZCBzZXRsaWtlCi0gICJleHRBdHRycyI6IFtdCi19
Ci1gYGAKLQotVGhlIGZpZWxkcyBhcmUgYXMgZm9sbG93czoKLQotKiBgdHlwZWA6IEFsd2F5cyBv
bmUgb2YgIml0ZXJhYmxlIiwgImxlZ2FjeWl0ZXJhYmxlIiwgIm1hcGxpa2UiIG9yICJzZXRsaWtl
Ii4KLSogYGlkbFR5cGVgOiBBbiBhcnJheSB3aXRoIG9uZSBvciBtb3JlIFtJREwgVHlwZXNdKCNp
ZGwtdHlwZSkgcmVwcmVzZW50aW5nIHRoZSBkZWNsYXJlZCB0eXBlIGFyZ3VtZW50cy4KLSogYHJl
YWRvbmx5YDogV2hldGhlciB0aGUgbWFwbGlrZSBvciBzZXRsaWtlIGlzIGRlY2xhcmVkIGFzIHJl
YWQgb25seS4KLSogYGV4dEF0dHJzYDogQSBsaXN0IG9mIFtleHRlbmRlZCBhdHRyaWJ1dGVzXSgj
ZXh0ZW5kZWQtYXR0cmlidXRlcykuCi0KLQotIyMgVGVzdGluZwotCi0jIyMgUnVubmluZwotCi1U
aGUgdGVzdCBydW5zIHdpdGggbW9jaGEgYW5kIGV4cGVjdC5qcy4gTm9ybWFsbHksIHJ1bm5pbmcg
bW9jaGEgaW4gdGhlIHJvb3QgZGlyZWN0b3J5Ci1zaG91bGQgYmUgZW5vdWdoIG9uY2UgeW91J3Jl
IHNldCB1cC4KLQotIyMjIENvdmVyYWdlCi0KLUN1cnJlbnQgdGVzdCBjb3ZlcmFnZSwgYXMgZG9j
dW1lbnRlZCBpbiBgY292ZXJhZ2UuaHRtbGAsIGlzIDk1JS4gWW91IGNhbiBydW4geW91ciBvd24K
LWNvdmVyYWdlIGFuYWx5c2lzIHdpdGg6Ci0KLWBgYEJhc2gKLWpzY292ZXJhZ2UgbGliIGxpYi1j
b3YKLWBgYAotCi1UaGF0IHdpbGwgY3JlYXRlIHRoZSBsaWItY292IGRpcmVjdG9yeSB3aXRoIGlu
c3RydW1lbnRlZCBjb2RlOyB0aGUgdGVzdCBzdWl0ZSBrbm93cwotdG8gdXNlIHRoYXQgaWYgbmVl
ZGVkLiBZb3UgY2FuIHRoZW4gcnVuIHRoZSB0ZXN0cyB3aXRoOgotCi1gYGBCYXNoCi1KU0NPVj0x
IG1vY2hhIC0tcmVwb3J0ZXIgaHRtbC1jb3YgPiBjb3ZlcmFnZS5odG1sCi1gYGAKLQotTm90ZSB0
aGF0IEkndmUgYmVlbiBnZXR0aW5nIHdlaXJkbHkgb3ZlcmVzY2FwZWQgcmVzdWx0cyBmcm9tIHRo
ZSBodG1sLWNvdiByZXBvcnRlciwKLXNvIHlvdSBtaWdodCB3aXNoIHRvIHRyeSB0aGlzIGluc3Rl
YWQ6Ci0KLWBgYEJhc2gKLUpTQ09WPTEgbW9jaGEgIC0tcmVwb3J0ZXIgaHRtbC1jb3YgfCBzZWQg
InMvJmx0Oy88L2ciIHwgc2VkICJzLyZndDsvPi9nIiB8IHNlZCAicy8mcXVvdDsvXCIvZyIgPiBj
b3ZlcmFnZS5odG1sCi1gYGAKLSMjIyBCcm93c2VyIHRlc3RzCi0KLUluIG9yZGVyIHRvIHRlc3Qg
aW4gdGhlIGJyb3dzZXIsIGdldCBpbnNpZGUgYHRlc3Qvd2ViYCBhbmQgcnVuIGBtYWtlLXdlYi10
ZXN0cy5qc2AuIFRoaXMKLXdpbGwgZ2VuZXJhdGUgYSBgYnJvd3Nlci10ZXN0cy5odG1sYCBmaWxl
IHRoYXQgeW91IGNhbiBvcGVuIGluIGEgYnJvd3Nlci4gQXMgb2YgdGhpcwotd3JpdGluZyB0ZXN0
cyBwYXNzIGluIHRoZSBsYXRlc3QgRmlyZWZveCwgQ2hyb21lLCBPcGVyYSwgYW5kIFNhZmFyaS4g
VGVzdGluZyBvbiBJRQotYW5kIG9sZGVyIHZlcnNpb25zIHdpbGwgaGFwcGVuIHByb2dyZXNzaXZl
bHkuCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL2NoZWNrZXIvaW5kZXguaHRtbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL2No
ZWNrZXIvaW5kZXguaHRtbAkocmV2aXNpb24gMjUyODk2KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi9jaGVja2VyL2luZGV4
Lmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSw1NSArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxo
dG1sPgotPGhlYWQ+Ci08dGl0bGU+V2ViSURMIDIgQ2hlY2tlcjwvdGl0bGU+Ci0KLTxzY3JpcHQg
c3JjPScuLi9saWIvd2ViaWRsMi5qcyc+PC9zY3JpcHQ+Ci08c2NyaXB0PgotbGV0IHBhcnNlclJl
c3VsdCA9IHVuZGVmaW5lZDsKLQotZnVuY3Rpb24gZm9ybWF0UGFyc2VyT3V0cHV0KCkgewotICBj
b25zdCBvdXRwdXRFbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd3ZWJpZGwtY2hlY2tlci1v
dXRwdXQnKTsKLSAgaWYgKHBhcnNlclJlc3VsdCkgewotICAgIGNvbnN0IHByZXR0eVByaW50RWwg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncHJldHR5LXByaW50Jyk7Ci0gICAgb3V0cHV0RWwu
aW5uZXJUZXh0ID0gSlNPTi5zdHJpbmdpZnkocGFyc2VyUmVzdWx0LCBudWxsLCBwcmV0dHlQcmlu
dEVsLmNoZWNrZWQgPyAyIDogbnVsbCk7Ci0gIH0gZWxzZSB7Ci0gICAgb3V0cHV0RWwuaW5uZXJU
ZXh0ID0gJyc7Ci0gIH0KLX0KLQotZnVuY3Rpb24gY2hlY2tXZWJJREwodGV4dFRvQ2hlY2spIHsK
LSAgY29uc3QgdmFsaWRhdGlvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd3ZWJpZGwtY2hl
Y2tlci12YWxpZGF0aW9uJyk7Ci0gIHBhcnNlclJlc3VsdCA9IG51bGw7Ci0gIHRyeSB7Ci0gICAg
cGFyc2VyUmVzdWx0ID0gV2ViSURMMi5wYXJzZSh0ZXh0VG9DaGVjayk7Ci0gICAgdmFsaWRhdGlv
bi5pbm5lclRleHQgPSAnV2ViSURMIHBhcnNlZCBzdWNjZXNzZnVsbHkhJzsKLSAgfSBjYXRjaCAo
ZSkgewotICAgIHZhbGlkYXRpb24uaW5uZXJUZXh0ID0gJ0V4Y2VwdGlvbiB3aGlsZSBwYXJzaW5n
IFdlYklETC4gU2VlIEphdmFTY3JpcHQgY29uc29sZSBmb3IgbW9yZSBkZXRhaWxzLlxuXG4nICsg
ZS50b1N0cmluZygpOwotICAgIC8vIFBhc3MgaXQgYWxvbmcgdG8gdGhlIEphdmFTY3JpcHQgY29u
c29sZS4KLSAgICB0aHJvdyBlOwotICB9IGZpbmFsbHkgewotICAgIGZvcm1hdFBhcnNlck91dHB1
dCgpOwotICB9Ci19Ci08L3NjcmlwdD4KLTxzdHlsZT4KLXRleHRhcmVhIHsKLSAgZm9udC1mYW1p
bHk6IG1vbm9zcGFjZTsKLX0KLTwvc3R5bGU+Ci08L2hlYWQ+Ci08Ym9keT4KLTxoMj5XZWJJREwg
Q2hlY2tlcjwvaDI+Ci08cD5UaGlzIGlzIGFuIG9ubGluZSBjaGVja2VyIGZvciBXZWJJREwgYnVp
bHQgb24gdGhlIDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcyI+d2Vi
aWRsMi5qczwvYT4gcHJvamVjdC48L3A+Ci08cD5FbnRlciB5b3VyIFdlYklETCB0byBjaGVjayBi
ZWxvdzo8L3A+Ci08dGV4dGFyZWEgaWQ9J3dlYmlkbC10by1jaGVjaycgcm93cz0nMjAnIGNvbHM9
JzgwJz48L3RleHRhcmVhPgotPGJyPgotPGlucHV0IHR5cGU9J2J1dHRvbicgdmFsdWU9J0NoZWNr
IFdlYklETCcgb25jbGljaz0nY2hlY2tXZWJJREwoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIndl
YmlkbC10by1jaGVjayIpLnZhbHVlKSc+Ci08cD5WYWxpZGF0aW9uIHJlc3VsdHM6PC9wPgotPHRl
eHRhcmVhIGlkPSd3ZWJpZGwtY2hlY2tlci12YWxpZGF0aW9uJyByb3dzPScyMCcgY29scz0nODAn
PjwvdGV4dGFyZWE+Ci08cD5QYXJzZXIgb3V0cHV0OjwvcD4KLTx0ZXh0YXJlYSBpZD0nd2ViaWRs
LWNoZWNrZXItb3V0cHV0JyByb3dzPScyMCcgY29scz0nODAnPjwvdGV4dGFyZWE+Ci08YnI+Ci08
aW5wdXQgdHlwZT0nY2hlY2tib3gnIGlkPSdwcmV0dHktcHJpbnQnIGNoZWNrZWQ9J3RydWUnIG9u
Y2hhbmdlPSdmb3JtYXRQYXJzZXJPdXRwdXQoKSc+UHJldHR5IFByaW50Ci08L2JvZHk+Ci08L2h0
bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL2NoZWNrZXIvdzNjLWltcG9ydC5sb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi9jaGVja2VyL3czYy1pbXBvcnQubG9nCShyZXZpc2lvbiAyNTI4OTYpCisrKyBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL2NoZWNr
ZXIvdzNjLWltcG9ydC5sb2cJKG5vbmV4aXN0ZW50KQpAQCAtMSwxNyArMCwwIEBACi1UaGUgdGVz
dHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9y
eS4KLURvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVh
ZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0
aHViLmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0Ci0KLVRoZW4gcnVuIHRoZSBUb29scy9TY3Jp
cHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0Ci0KLURvIE5PVCBtb2Rp
Znkgb3IgcmVtb3ZlIHRoaXMgZmlsZS4KLQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1Qcm9wZXJ0aWVzIHJl
cXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6Ci1Ob25lCi1Qcm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5n
IHZlbmRvciBwcmVmaXhlczoKLU5vbmUKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotTGlzdCBvZiBmaWxlczoK
LS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL2NoZWNrZXIvaW5kZXguaHRtbApJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi9jb3ZlcmFnZS5odG1sCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvY292ZXJhZ2UuaHRtbAkocmV2aXNpb24gMjUyODk2KQorKysgTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi9j
b3ZlcmFnZS5odG1sCShub25leGlzdGVudCkKQEAgLTEsMzQxICswLDAgQEAKLTwhRE9DVFlQRSBo
dG1sPjxodG1sPjxoZWFkPjx0aXRsZT5Db3ZlcmFnZTwvdGl0bGU+PHNjcmlwdD4KLQotaGVhZGlu
Z3MgPSBbXTsKLQotb25sb2FkID0gZnVuY3Rpb24oKXsKLSAgaGVhZGluZ3MgPSBkb2N1bWVudC5x
dWVyeVNlbGVjdG9yQWxsKCdoMicpOwotfTsKLQotb25zY3JvbGwgPSBmdW5jdGlvbihlKXsKLSAg
dmFyIGhlYWRpbmcgPSBmaW5kKHdpbmRvdy5zY3JvbGxZKTsKLSAgaWYgKCFoZWFkaW5nKSByZXR1
cm47Ci0gIHZhciBsaW5rcyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJyNtZW51IGEnKQot
ICAgICwgbGluazsKLQotICBmb3IgKHZhciBpID0gMCwgbGVuID0gbGlua3MubGVuZ3RoOyBpIDwg
bGVuOyArK2kpIHsKLSAgICBsaW5rID0gbGlua3NbaV07Ci0gICAgbGluay5jbGFzc05hbWUgPSBs
aW5rLmdldEF0dHJpYnV0ZSgnaHJlZicpID09ICcjJyArIGhlYWRpbmcuaWQKLSAgICAgID8gJ2Fj
dGl2ZScKLSAgICAgIDogJyc7Ci0gIH0KLX07Ci0KLWZ1bmN0aW9uIGZpbmQoeSkgewotICB2YXIg
aSA9IGhlYWRpbmdzLmxlbmd0aAotICAgICwgaGVhZGluZzsKLQotICB3aGlsZSAoaS0tKSB7Ci0g
ICAgaGVhZGluZyA9IGhlYWRpbmdzW2ldOwotICAgIGlmICh5ID49IGhlYWRpbmcub2Zmc2V0VG9w
KSB7Ci0gICAgICByZXR1cm4gaGVhZGluZzsKLSAgICB9Ci0gIH0KLX0KLTwvc2NyaXB0PgotPHN0
eWxlPgotCi1ib2R5IHsKLSAgZm9udDogMTRweC8xLjYgIkhlbHZldGljYSBOZXVlIiwgSGVsdmV0
aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjsKLSAgbWFyZ2luOiAwOwotICBjb2xvcjogIzJDMkMyQzsK
LSAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICNkZGQ7Ci19Ci0KLSNjb3ZlcmFnZSB7Ci0gIHBhZGRp
bmc6IDYwcHg7Ci19Ci0KLWgxIGEgewotICBjb2xvcjogaW5oZXJpdDsKLSAgZm9udC13ZWlnaHQ6
IGluaGVyaXQ7Ci19Ci0KLWgxIGE6aG92ZXIgewotICB0ZXh0LWRlY29yYXRpb246IG5vbmU7Ci19
Ci0KLS5vbmxvYWQgaDEgewotICBvcGFjaXR5OiAxOwotfQotCi1oMiB7Ci0gIHdpZHRoOiA4MCU7
Ci0gIG1hcmdpbi10b3A6IDgwcHg7Ci0gIG1hcmdpbi1ib3R0b206IDA7Ci0gIGZvbnQtd2VpZ2h0
OiAxMDA7Ci0gIGxldHRlci1zcGFjaW5nOiAxcHg7Ci0gIGJvcmRlci1ib3R0b206IDFweCBzb2xp
ZCAjZWVlOwotfQotCi1hIHsKLSAgY29sb3I6ICM4QTYzNDM7Ci0gIGZvbnQtd2VpZ2h0OiBib2xk
OwotICB0ZXh0LWRlY29yYXRpb246IG5vbmU7Ci19Ci0KLWE6aG92ZXIgewotICB0ZXh0LWRlY29y
YXRpb246IHVuZGVybGluZTsKLX0KLQotdWwgewotICBtYXJnaW4tdG9wOiAyMHB4OwotICBwYWRk
aW5nOiAwIDE1cHg7Ci0gIHdpZHRoOiAxMDAlOwotfQotCi11bCBsaSB7Ci0gIGZsb2F0OiBsZWZ0
OwotICB3aWR0aDogNDAlOwotICBtYXJnaW4tdG9wOiA1cHg7Ci0gIG1hcmdpbi1yaWdodDogNjBw
eDsKLSAgbGlzdC1zdHlsZTogbm9uZTsKLSAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlZWU7
Ci0gIHBhZGRpbmc6IDVweCAwOwotICBmb250LXNpemU6IDEycHg7Ci19Ci0KLXVsOjphZnRlciB7
Ci0gIGNvbnRlbnQ6ICcuJzsKLSAgaGVpZ2h0OiAwOwotICBkaXNwbGF5OiBibG9jazsKLSAgdmlz
aWJpbGl0eTogaGlkZGVuOwotICBjbGVhcjogYm90aDsKLX0KLQotY29kZSB7Ci0gIGZvbnQ6IDEy
cHggbW9uYWNvLCBtb25vc3BhY2U7Ci19Ci0KLXByZSB7Ci0gIG1hcmdpbjogMzBweDsKLSAgcGFk
ZGluZzogMzBweDsKLSAgYm9yZGVyOiAxcHggc29saWQgI2VlZTsKLSAgYm9yZGVyLWJvdHRvbS1j
b2xvcjogI2RkZDsKLSAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAycHg7Ci0gIC1tb3otYm9yZGVy
LXJhZGl1czogMnB4OwotICAtd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDAgMCAxMHB4ICNlZWU7
Ci0gIC1tb3otYm94LXNoYWRvdzogaW5zZXQgMCAwIDEwcHggI2VlZTsKLSAgb3ZlcmZsb3cteDog
YXV0bzsKLX0KLQotaW1nIHsKLSAgbWFyZ2luOiAzMHB4OwotICBwYWRkaW5nOiAxcHg7Ci0gIC13
ZWJraXQtYm9yZGVyLXJhZGl1czogM3B4OwotICAtbW96LWJvcmRlci1yYWRpdXM6IDNweDsKLSAg
LXdlYmtpdC1ib3gtc2hhZG93OiAwIDNweCAxMHB4ICNkZWRlZGUsIDAgMXB4IDVweCAjODg4Owot
ICAtbW96LWJveC1zaGFkb3c6IDAgM3B4IDEwcHggI2RlZGVkZSwgMCAxcHggNXB4ICM4ODg7Ci0g
IG1heC13aWR0aDogMTAwJTsKLX0KLQotZm9vdGVyIHsKLSAgYmFja2dyb3VuZDogI2VlZTsKLSAg
d2lkdGg6IDEwMCU7Ci0gIHBhZGRpbmc6IDUwcHggMDsKLSAgdGV4dC1hbGlnbjogcmlnaHQ7Ci0g
IGJvcmRlci10b3A6IDFweCBzb2xpZCAjZGRkOwotfQotCi1mb290ZXIgc3BhbiB7Ci0gIGRpc3Bs
YXk6IGJsb2NrOwotICBtYXJnaW4tcmlnaHQ6IDMwcHg7Ci0gIGNvbG9yOiAjODg4OwotICBmb250
LXNpemU6IDEycHg7Ci19Ci0KLSNtZW51IHsKLSAgcG9zaXRpb246IGZpeGVkOwotICBmb250LXNp
emU6IDEycHg7Ci0gIG92ZXJmbG93LXk6IGF1dG87Ci0gIHRvcDogMDsKLSAgcmlnaHQ6IDA7Ci0g
IG1hcmdpbjogMDsKLSAgaGVpZ2h0OiAxMDAlOwotICBwYWRkaW5nOiAxNXB4IDA7Ci0gIHRleHQt
YWxpZ246IHJpZ2h0OwotICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNlZWU7Ci0gIC1tb3otYm94
LXNoYWRvdzogMCAwIDJweCAjODg4Ci0gICAgICwgaW5zZXQgNXB4IDAgMjBweCByZ2JhKDAsMCww
LC41KQotICAgICAsIGluc2V0IDVweCAwIDNweCByZ2JhKDAsMCwwLC4zKTsKLSAgLXdlYmtpdC1i
b3gtc2hhZG93OiAwIDAgMnB4ICM4ODgKLSAgICAgLCBpbnNldCA1cHggMCAyMHB4IHJnYmEoMCww
LDAsLjUpCi0gICAgICwgaW5zZXQgNXB4IDAgM3B4IHJnYmEoMCwwLDAsLjMpOwotICAtd2Via2l0
LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDsKLSAgYmFja2dyb3VuZDogdXJsKCJkYXRhOmlt
YWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUdZQUFBQm1DQU1BQUFBT0FS
UlFBQUFCZWxCTVZFVWpKU1U2T3pzaEl5TTVPam9xS3kwMk5qZ3NMUzAxTlRZakpDVXpOVFVnSVNN
bEpTYzBOVFV2TURBNlBEd2xKeWcxTmpZb0tpczJOallyTFMwMk9Ea3BLeXcwTkRZckxDMDRPRG92
THpBNE9qbzBORFV0THk4Nk9qd2pJeVU0T1Rvc0xTODJPRGd0TFM4aEl5UXZNVEVuS0Nvb0tTc3JL
eTBxTEN3a0pTVW5LQ2tyTEN3cEtpd3dNakl4TXpNcUxDMHRMUzBwS2lzc0xDMDBOVFl3TURJd01U
UXBLeXNvS1Nvdk1ERXRMekEyT1RreE16VXJLeXd2THk4cUt5c3pOVFk1T3pzcUtpdzZPanN3TURF
eE5EVW9LaW96TkRVdk1ESXlORFkxTmpnMk5qazVPVG96TXpVME5qWTRPRGtpSXlVaUl5UTRPVGt1
TURFbUtDb3dNalF3TVRFckxTNHFLeXd3TVRNaElpTXBLaW9wS3kwdExqQWtKU2N4TkRRdkx6RXhO
RFl5TkRRbUtDazVPVHNsSmlnNU9qc2tKU1l4TXpRckxTOGdJU0l3TVRJb0tDazFOVFVsSlNVbkp5
Z3dNREE0T0RnaUlpTWhJU0k4UER3Nk9qbzVPVGtwS1Nvakl5UTdPenN5TWpJcEtTc3NMQ3c2T3p3
MU5qbHJmTGFrQUFBZzJVbEVRVlI0MmpSNmkzZWE2cll2UGdBTklBaFZYaDhXdmtRbGlvVWlGbEZj
QnRBbW9pUk5kenhxdTlwMEo3dnJkSzI5enVQZWV4NzdubnZPLzM1bjFyMW5kSFJrdEkwalRPYWN2
L2w3bENCSzVVcVZwT2hhL1l4bVdLN0JDNFRRRktWWHJiWXNuaW1xeHV1TVZsT1EwWGx0V2pVZEN3
UkoxTSt0QzFLdWRPczlxNitkYTJhZFVld0cwU0MwU3dFTGZIdGdEZHM5M1ZFdXlkRWJsM1FNV2VO
b1lrUjdiLzB4MVpSb2JHSTNtTHd6QWhlUHFUQXdoZzZhb2dqTnNHeTcvandRNHJrZHFlN0NXTHhG
OGs5TGZNVkZ5UlM3VkpxdGtyVzhWdC9ia1I4RlpKYW8xNmlwa25iQzNZdzJsTTdsYU82SEJFT2Fk
RVoydHBmNjVjNHY4ZTN1N0Z5VTZxYmlOTnlDdXpYWjZwYXdnbndnbXJwVFQvUTd3MkVabWlJSjBk
eldESTdtaFE4MElmUm5NdTJrekE1cjVyMXBJRm9pYSsvZDkzSFJZcDFHVjhUYnJrV29VLytqZEkw
RmY2eUd3VGpUMUhuOEorOG0xcktwR2lZUHVOaUhuTXROTUl2K3pwc2s4NE1ZVE5XMS8rRHB3WEx2
Y2tkT0NNWW93Vk5QUkVlMFFsTTh4UkhYWEZoY05EenVwd3NTbWI1cEgrMHQwUlAyUWsrUXRJN0Yx
UW02SlJDNlpQQnRQcS9kcS9rSCtqeHRDbGpuOVRJcFc2clFJZ21TVnlqNmxQSUNJdzROL3Rha2E0
MVBGVUludGgwamU5K2pPNkt0MUc0L2E3VjJMRWdHMDJCMHBIVnVDWnJnbHRTS011SWw1U3l1ZlV2
OW1ZdVFpK21GZ3piQkV0Rm8yZytEaDRzU1RyTE51OEpQaDAwc1F5ZHBiMDB0cVhCdnFSTjdRN2tx
emNuSXhDR252WnQvV21KYWNvT0VPNkRjbjhRcmUwM3BPQ1NReGJNT1hVdUROeDlTeHVMejRXMUkx
OGd2alZpUTY3elYwcnhkV0w4VGUvVFFrdW84U1RTNDFEUjQ4VzdMNllQMnVXSXFpVVY4cmQ2R2Jm
L3JuZWdLWmVHOFRwQU02YWZoR3plOUpBT3hiTGpzblVYRWJyWjl2TFlkN01UMzJjUEY1bUtLeG1q
eTdodWFvRDluNjJHT3huaTNpSUp3djBJelpBWmpkWmtVdG9sQ05MVmZZWk5hcXVGakdzelZWZitK
MHZyejRDYXdvS2RIbk96YjBOTUg3Q0RCT3liZllOSjRyZmVNeUZOamtGWVZUek1Gczg3cm5QR1hM
VU9lTktSVmMwTG5VNy9VSWdlbHpzeTNDTXV0aDBZZnZuWTB3c0Qzdk9EVUwzZUpjS3FIUXBtOHlN
M1haUVdKeE82VW45aVlsb3l5THBPd04yb2JIeTZXNmdicGNiNDRYbXlDK21nK2l0QWNhcHJHY3J3
WkNxTWovR210S24welB2cFR6L0N2MWR3MjFYd1AzY1J1cGczSDNNRi9TNzFlVEtqMVlyZHdLZGMy
TXcwZlJtYjJzRmY4bFczYVU2SmJJWlNFUHF2WHZqTTdHL2FBcHlYbFhlcUtmTXEwZy9TdTNyVUdK
UFNQcnRHRWxna25yWk0zeFVYcXNBUDZ6TUNOVm41dThhSm5TTnBKdjJ1cnU3dDJqZlJ6aVcyK0d1
aHFmbGRVTmJQazcxb2x3bys0NmVQVW8xVTNXS2svZTVZSzA3Ri93R1JnY3BPRG1RbklsVmVIQ1dC
RTRwdUJpMmpxMjhVS3BxaU4xLzRVT3JHejU5VE5ZcnJRSHRkKzExc0c0MEJHRCtwWGRlbE5xR09n
NE5YZThXNGVhY0pWL05TOS8yVW10eW02V1FxdmVxUjl4ZENNRWxweG5ia2FsTTRWZjl1YUVjV1ph
S2R5aWJFSWpXS3hKWlBOOTVuaUNMM0dpYVh5c3NJckh4b0xrcWt6TENYVUxONDYvZjJoM3RRSmd5
aXArVGs5RUFqSjlhSnNocTd0OFg0NWFvd1NLc3BNU3ZQZjdyOVI4eXhOcHRJYUhTNW96dUVtNmx1
UERBcHVneU5QOE9hcWlRNEJqYWVxdVhBNTRTTEM4M2VISVkycitDWnA0NDA5WHF3OEFhMm9JN1hr
Q3JRaStpbjB3NUFxRi9rTE5yY1V6K3FrbC9sQW9iWTFqU254NU9KTmh5WEl6M3FmTkZsWGMwVEth
Z2xOd2RXa1dZdDlRUTFLcjZXOHp1ZTIxaU5yZEprK041b0NyMk85bkV0V0tDN0lTNUovemRERVly
bW5BWWZnNmFnQ3krcWNnejdab2ZlRGM0UGJVV1N2a3NoV3VBYzdPamlVeUxraitSQXRkbHdYSmNq
eGRwa1RUSERoSzhsQkNpOCtKdHZEVkwxVzZlbG1PTSsrWVMwTHVTbGFQMW9VdkFlaVczY0ZudlRy
OEViVHoxdHNTTVlkR2VaZTQwc1JXdTV1QWZqN3ErWm9LdjJGTlEwcDVYWTFsbWxjaWdIWnFUUHBh
YnVmRVZyTnVOUGkxNjV3M3VDVlFKSHlKcW1TSjdaSG5ndXF3dENtd1ZpSUppamowNGJhMkpOWXRC
K3lPUmY1Z2cxLzl0OWl3NHZVcGVxaXVuU0FiZitJQmRqL2IraUcycXJIdnVOUDBWZC8rVGhWWlQv
bHJ2SFlqamdEYmJ5eGFxZ0hOTTJ1aHhhMUdXM1VlZFpZaE1Nd000bVFobHRvdUsrSVY0TmRiSVFO
TSs4WXYzMTFSWms5a1Q0dGlZUjRMa3lGY3VQcGRjanVoVXVGcUJBV1JaYTExbGNaM2dFQmxYeXdz
TmhydCtwbElTWlA1RGxzVjlsNEVnWTZKM3laUFRVY01yZ2FXQVQzb0k3OWVTYkdFYmNKcHI2QkQ4
a3lEaVZ0K0cwL2hYb3NRTjRORlhLbGZXSWZzSXMwQkhPRFZvazEvSUduS0ZISllJcXVoOFhvKzIr
YmtRTlRHZ1dtTi9mWjBZMzNMU2o2bHIxR3lWN21XSUtnN1pUUlpQR3VoRi96alJOY1ExVVB0U1ln
bldReFNzMHlyVmh3TkRjZEdNTlNOZTJKVDNXdXpiQU0zSHlreUFhalMzVXBoZjZTVEtFcXhMYXM5
RW5tbmhBL2x5ajlVaitKb1k3U1ZnVm1HTGw0NlJtMnU5OHNia2FwMmx6QWRLQkc0cjZMZ3VsUU9T
U2pRdjFHV2RRMGp0RFVLL21BYXFNMVVxanB1NGszUnZmdnh2N1lUeExTSyt3TjNFNWpWSXptRjIz
dVo3aGlIL3NWUDQ5RDd0dm9LcDRTOGIxTHV2UmxpdlZCL2FsZ2JoY0ZJVFlWWHZEcEx6cERmcGxS
MnVENVY0WEpGeHBqbUlwTGM5WTVzQjJUcEJSaXg3Qm1lNkdaSXErMDZ2M1h6TmVUY0E0b2JRSUt4
cm5UNEMySnBPcUQ5MmRibVNYOE1HYXpseTVFc1pWTXZTVTFmNFJad3l1OGlRWGJWZGVMbFpyanVU
VDFqclkxdWs1YzdpWjdSc3ZoaGx1cUFrcTRKcFZRQWc3UkpGdFN1K3hnSjhQdjZPMWo1RGtMeFQ4
bWtiZnlSVzVEclFtRzdoaURJakNnQnNBRGJqdW9mNllITEdlVjZhNVExU214OWpvVVhQcGRhYUR4
OTdBL1dxMDBvSmtkUjdaWXVRUmZTNTMzSnR4TzFlcmR1cVdPWUl0M3doMHdwYkx1Q05JWWt3eGJz
d2Jpa0NVdTJDRENTK1ErN3JnVnRmUmNtK1NPY2RLUFJsWi9yRTd3TlZVRUUzOUtUUzV1dlVLTjFQ
VW5rbG9Qa3l6aHlHUThxa291RWpKM0gvVlhkcUc2YXNTUml3M2VjTWxCdkREdDhkRGhCSFhNd1oy
Q2FqempyNy83NlQrSWF2cVBZdno2cjcvL0UvM1gzK04vL2gvMFFvemJqUGdQaWlyNjlQLzhYMy85
Ri95djhiLzgyNy8rKzk4V0l0UHU1L0h2d2Q4WVBmNWJwLzIvbFgvVC8rT2YvME1KL2xZVGErTC9F
ZitkOXZOLzMvMlQ2UC8ranlUenUvZXZmNlU3dnhON0I2cEprUnRBRjZqVXI4SStQOFJzUC9wdEdo
ZnFGaytwUS9EZ0F5Nk5KdFJZSmRYbXA0Z0s3V0xxTEtKK01hS2hHak9vanZMK1NuSVdya3B5MFNM
SERlNFF1eU56YUVBMTVtTE1DY21FOEVtKzRIZE9paFc0L1pXdXBwSkVtemVBd2NEdHY3TXVMYzl5
MlY1YXR2eFhOZTNTNERVTXQ1L1F5MkxNOWtTWUtpVldCdUtsZnA0bnhUbnRwdVcwM0piSWxraVJ2
QlhtVDIzZzFJMk9ZZTZJaXpVSFBJcTZ6bTZtYmZzYnRlS21pL3NnOUorb2NRQk1jdEdGTzdpbGpv
OFRQTit6M2p4dzRkbytad2Zxb1I5ZGtOVEtIeU0zMDVHcFRrZmhjSGV4VmtQVkdFYlVPanVvOWYw
VU1QSEJGbEdFeDBTTHZKdlZSS1R3VzdQU2V3NW9QbWUrRTQyK2ZySmE5Y0d0Mm5qUzNkSzVrSWlm
MmVZYmh1U0VRWEVxTVZmVWpoR0l1aW4wRzAvVzVlekp5SlF5M1NwTUxhaTRNMEpVV2I1dTFrOXRu
eTViZDFwUHdZQnBRdURDWFpsNjJ4ZzRDZFZFQXRmbFhIczZKS21QL3BINm1PbDc5Nkxnb3BqMG84
ZDVrS2gwMGh4RzNPU2RFRS9RQm85SGdyOEpKcUFlTER3Sm9oRzVqL0RHaDYxUmMvK3RmMjIvOGtF
bnhITkNFam8wRWx2dkdmRVNaa3FtejJCRGNLVjFIMWJ1U2toa2RnN3AxSU1HczJzMTduWWpwYmxy
V3VFMks5V0VPL2hjUnA1ZTlvT0YvUUJtT2FEdGdpbCtvYVU2c3pQcmR3VzY1Zk9CMEtVVHNWVW43
TEZVN0o4ZTZjeEpJbDkrRkh3NU1RTXp1UUorNG94TUgzaVcvNUdLK2hXdUcwVCtnVExzK2ZBamR0
VWQ1OFRtSVVxMDRFZXlSQ1lDamtsZG93MjM0YUlnUjVicXdydFpvc1orNllFcUFtRHFhdEo5bFdh
c3o0SXF1S0FMUHRkOTJoR0kzWjJCZHp6WnVlK1JFbDFPbTRESVdEK1JydFVUT0pMSStTMGpIb3dY
WGRBeHNHTFNkNDB6WU51RVVsT0docndMNmM3dGNPdFVPdnBKQ1A3UUJRUzE5SCtHdlpuMDVld2ps
Vkx6K0lHS29DOVR5ZlFqTE1CTm1YQ3VxcXRUZE9TdWtaVzQ4QjBIcWdTVENCckJubEZ2RjRDRzJT
dTd5RnpxbUpGVVJLM1VtVFQzcnUwNTByMHB0VXBNaWxZbkJKV2ZsMkJ2NmtQbFV1RTFreHhwZHp1
aTlBdWJzUjJOMmJvVlN1ODFPdWxBd0Jxb1NyMUxaMExMWU9vbXlaSG1qcW5YbFA3MnM4TG5Eb3VF
Smp0b2RCdmRIYUcxak15U1lPN2NyV2Q5ME1wQ1J5Q0cxNHZiNUlFN0FydXB3L3kvUmNDbS9UbTN6
SzZ6WWo4UFlOYUdsZGlVZmtCL0xIV2NtZjJsVk0rbXd5VTI3YTBxcTJ0c2NyUS92ekJqTjI2RG5u
dElyT3lHaXp6WEszNXlLUWRZblVBQmt5TjRzYXozV0QvdmlGK2VDY3NYbklhamRXWUpXYVlIUnN0
SWlzOUNTK3RxbkZHbXoyajV1emZyM1o0cHJxZ0s0WE9UL1B5ZnR2alpxSW04bGhrZnhKN09sM0NK
RjFwaVlCR0FHOHd0QWs1NkRydzFZd21PcGN6K05kZmtTcFNMcGxSWExYSEwwUnF1ajZZVy9nYWJx
Z0s3RGdyNk53dEgwQi9BTjdYck4rTVZKNkFtWG1VdXFtUXVsck5OWVBtSDBSb0RvZ3lkT0tMby9R
YmZZTkFSU1FRS0lTUkN6UlhVK3E5V1dKRkwzTFpXNnUzNENrZUc5N3hDME5OR2FKMGJ2SzZTblpT
M3pQc2tyNUV0dUNnak1XUjVvMng1QnFoS21EV0pQUmU3Sk1FT3lSYjV1VUtsSGFHVnRxNWl2U09h
U2xpU1hwOVNRbTJxazhNUkpoMTBNQXA5UVEySDV0NTlKOHJqaXdTWnRvSWZNR2psTFBWTmRZbC9M
QlIwQU82V0xHRG1rTGtJUFJFNDVZOU1mdGRBSy95TnUxSG42dHpPUVRlc2dRKzhmU3pCMTl3Tzkx
dkNuTzIzdk9XUWR3SjYzU0pyWWpkZktGVzZXMjgxUEtzMms4aVQ5YWkxY2dKNHNhM3hxZHZtdHhS
OC8rRDFCOEFLYzJ1KzZKZnRyeVJoTVdTUXRvU0JnSXl5UUd5eGNuRUx1QWFzWE4xMm9TcmlVNFJN
ejFERDZSTDBUU1Yrb203aTFZdCtqRUUvam5hd004Y1gvVWhONG5raXYvdzllQUxyek5oWHVRZk96
RkwwRmk2U2pGNy80UW44ckxZQm9hODVjdmdBbmtDRUJQK0hQYkVucXVWWENac01TL3l6WXcyVnJ1
NjBQLytuSlBZS2t6WkZqbWJ5a3pVb0VxVjgzNlQ1cTNmUC9MMzgzZEY4MnR4MTgvQVpnWmN6TUFn
eWVXWUttU1pJcXRITCtlK080WlJjcTlWSTNnL3FQZUNvaUs0cGNnRXFkYlMwUy9CZTU0c2JWUU91
SlZQTkJibElnaHplYXNOdTdoL2crU3oxSWRoSTVsQ3dxMW5VYjNKaTRPQ0ljcVFacXRxSjV3N3JY
cmcvREE5SWdWbUVHaERnR2VjRXduQ1RIZmZYY1hzMFYzT0NFVnpZREtTMXZwL29YK25nKzZYVlU4
NlVqQTZGTU8yUlhPT09ycVkxR2dQdnJBazlIVi9CWHRDdTVSdXdGOHFnZEdETHNCY3VpNEUzM3lt
ZEJpcDFYOHVLeWhJV1Q4cU5SRHNYeitndk85VWlFQzBkOFJHNFRmMng4SDRzbGxqZ0h0Q0JjeEhM
VFdPWUptNUgvZkNQQ3pPZ2Y5cWdPVXhUUlowUGM2aGE1eUx1TFZUOW50dklhNmdhY0U5OW1Db3Zk
VXVtVFFkUlA0UlBzUzkxMjllRWUydVN2dkdoMGJWNFkzUVBQaFBaTXFoWldTTWE1UjBIYzFTR080
SVZPUWMwRnJpcmxpYlRWZktScllrRDhrejNiK1g2NS9Ra1VOYVpkcmRsM21DYXAwSGYzWWNDdy9M
aW91SllOYnF6ODhVcWVEWXY5M3lPN3Z2WHRnbDRYQ3lBTzRPRGtZNlcrODMrTFpVLy9wMy96WE5H
R3JVS0NsQ2lPbkwyN2lKWmJOV0RGMDJYWEFPZUZsQjdJYUFEb01IMVlxcitVUDliaXlaREVhL2lK
dDRNRGVJejZHS1RkTFZCZldHVnRSTjRmZFQycmdSZVg4VVh3RjJ6T3JyYWRtNEowbnlUZ2RQbmFp
M1J2enBadkNLRFVxak93RC9RQTZFRGFNQ0xld1g2UVdZVm5IWTFzeDFiZDhvdlluUG0xWnZQSCty
RTIwbFdqT0NuWjY2L3hEdDBRQWwxNUZqZkJjWnAraTlPVTBSTlBRMHQzeDJwU05XbzhlaVl1ZHdz
bnVQMUhxNmlIMUxKQ0p5bmtZc2ZnSjBwM3BGNlNvUWsybCtqcUU4Q1BrK3ppR0pSU0tqcytXNUFP
MTg1dW1QZGtZemxLNHdsN1RDOU54eXlEUDdab3lZVm9YaXVTNlNqbklubExXcnd6MWk4YkdUS1hY
MEFWUVdrU2ZJbGdsVzN6UkpSSjhiZzVWZ0U2WkVucU51OUIrKzBHTlF2RFFKdkZpemU0RVNOS0JK
UCs4dkEzTE00QVg1U0lCcTA4TW9iKzdRTVRDWng0bndQLzY0KzRCbmxaQys4V3RsUC9DWHc2dDFQ
d013a0ozamhQMUZpWExoREYvM0k2RkdVek8yRFNpOUFCeEt5eUw5cGFaeFNFejQwWkNQUVRvREFK
dTE5NTlrN1FkYlZ4Z0I0aWNzdTJzNHpzVFBKaGNFRG8rTjFHWDR6U2svd3JpUmg4QXF3TDYyOTcy
aTlISkhkMXlkYUxYVnp2S3ZPZkdHdzVSVmNVVk1pS1hGSDRBUGRrUVUvZGM1QlgwWWZLVE5aWVhD
VzltYjhiYzhtdWZvUVA2QmJkUW1UOTlaam9ZZnIvZ280VGdRWDlJRGd6dGltN3d5RmVHTWZiTmFl
cWo4RHpzMzhwZ2Nxd1N2MmhicUIzb1NHS1dLeStzZXNZN3A1N3dBSGxkcUU2TkR1ZGsvVzdzL3pq
cks0clpGbEZ2YUd4blNaZEhiYzF5NDdxRE42eGtvSzhPM2JmcjJqNDFkbEpaNzFyQjRkbERxYXBQ
RmE4TjZ4QnJwclVkdGVuVUNId3hLTmh3MXV1VEJoKzl1VTQ1azRSRXBRQUJOMmJBTzlEU0xxb0lM
MjZnTnJvV2d1cDVwVU14SFVOU3E0R3l6NDd2QlB2aWxwbzVmOU9ZSTJkZEFxVHFtbnhYRVJ4UUoz
VUs4ZkhiVkU5SGFnSGkzK3RxTlJvTnNBcmRtQXhIQTVMd3RRbzlaQWFOS1VUbGpub2tsam8yeDhz
Y3FWcEVFSVBjMDFmUENkSE9DZzBEZVdCejhENVRWQUFmeDhhUkg1WDJaWU5JM2ViS0RaZGVKK29C
REF4bVJxSjMwRWgyL0RhZUF5NWRpVk5NcEVEbVhpUERzR1R6QkxYeThlVkRkSm9JYWZneC9neE15
UWk0NTRRclc1Nm5DeWVFTGdTdU5ORW1Za2ZsRit0M0NaUU9WUldqS2hJdUNjbG1RU2xBWFQzKzRK
R0c3NUI0dC81aFErbGRNUDRMc0FXNnozWG1VNklKSndwbkdWbnNnVVpob1kxZlpsd1RSOHdTVTd4
UmVqZjJ1Q3g5WjV0clZUUlJKUDlLbkViMTM0ZEVpZWlsNmVDT0dXZ2JvSTd4c3FzcU05OWpmSkxU
ZVBqeWdLbEgyQ1Z4eHNzZTlRUnpUQkZqRC9LanFpdHIvQ0NUQnQvU0o2bkx4ejdjS1A5cEZxQnBw
MGxONXkrYWRLTnNaanJQdXJvZW1aYXVIOWFUVEZEM0VLSFc4UzU1WEJMRlFBdDFqZ3hUUUNUd3ht
eC9KeWZzWkROMVJyb04zVmF4cFNlbnBJWDdLK1piTDhWZGxRRGNJNENiemczUUpMYTl5VnFOeFVl
bHUrRXR4TFZxZWVrYUF2U0prTzZzU1ZxYlVhanhxaEtzaE5wdlpxb2VBcEYway8wUDBpa2t3VWNi
ZHdjNEExZWpON09vME8xNWtHN2hUTW9LM2haUkJDWDdZWWVMVzB3dmNYeC8xOG4vdTM3eUxnekJZ
VkJVdk9SR2xpK3NmUmNYLzc0dUQ2UDRocSs3eHU1NFRsV0pMRnpUNjN1d1VEd3VFRGRPakpRcXg3
SlYrWmphRUFQaTd0ME1NclI0UThSa2YxOHV4RDZSSzBSS2gwaEw4WVUrRGVMOTdpNHBhNVpTeUFm
WEt3WlJTLzhnWGN4ZFpYbTYyUkJEajhVM3NOOHg5NWI1UHBQcy9tQ0JLWXZwYUE1MHBONUN0LzQ5
OUFGVHR3UTV2Z2VTaCtOSHJLSWk0TlZwd00vWHpSYU5mSkQ4NTZsUEU2TTIxeldQZ3VGc0g3amJM
VnlFRGZSbXQ0VndyaENKNVZUWW1jU1BmR2dPNWNsZk4rdmJhRFo3c2FrVTUrMnZaMldDRFkwMzFO
eEphclZ5dGZERFZ0aWFmY1RHTzJySi90YW9MM3pDaE4ycW1qeG9mY3pUT1lRUFBWUVBoMEpWdFln
ZFVRSU5jU2lORUV5NThVZFlYWDFNcFdVQ0VCeDdMYmNHdEFtOFhXUlFUVk9hb1YzeVNyaTRSU2ho
cy9CLzBtNGpYNk9Bd1hPdmNBMDliTlNHNGN6RUd2L1dleTZWL2piVENOVFc2YXdYZE5UY0ExR3NQ
ZTFFOWZaZEdsN1IwdnlvVnBJZEp0ZkM2ZDMyTk5FcnJ2cS9SK2Q2NVZHK1lPd1JYcHBYeE9DWXlH
TlNmMUszeDZWeEFXL3Z0ejRFQzFTZ0NPU1BkTjYyc0xzb0l6dURmZzhHd1pBYnF1Vk84SEl1RlAv
VG9Wb2VVQjdubndNRjM1YTF3SzF0STZma3JxRktoUWRlSnB3eWxzMHBJeThBWmRlMy82TFVVYkZh
WUp0aHlVSlNVL2txRFhUTFFFbG5uMEpyNEIyUlZnaE5ybU5tb0VuN3BYSWVzaFBndVhWc3Z3b1Rk
bUNscTQ5SkpVM0xXaEh5V1RySkw5YlJQNlZLdjN0Wm9BL3RoNzdwNUp3KytPRUVOdnl2V3kvcE5l
RXhpRFVWUWFYSVJHaDh4eVNaVEkzNnl1ZUZhU1hvMXVKWTBSblhZZ0VPb1dXT0pIZWFWdVgvYkdO
aEhzaDJ5aW56bmwvKytOSmNFOWo2ZkJQUmNCZHE5aGI4YXdOdzhVN0JsNkdNN3g2OUVET0lJYlgv
bnBaKythbWxIUjlMLzM1bUUvMlNzNGdiMHhDY1k0VnlURkxSRTc5NnZIeXNMQWFtcWN5TythRlF5
SklEQk5zbGJIMi9NckF2WmlTRUllZGMvY3FqbXY0ZmJkYTJwWGJ2K0Y1YTJzelNzZGttOW5vaU5V
Ulh0OGVkVWhHVUY2ZlNaV2QxSUphWEtGd0QrNDlSNmVDWEQ0QmtlZjdqOXRSdE5NVmdXOEJoUnov
UXB5MVRtZVlrMGRveWpab0pTYmVQT1JlVkhna0ZzQ0Z1UUorTGdjNEJ4ZUFzSy9jT2lORFJtZE53
MGN0WWhuL25RNDk4ZFlJNXpuekdMb0ppMXJhdjdDbjg4ckwzd0xlUFZ0REs1Z2w3N1RraTNnSEVz
SUFRMitJS2dhcmo3WThXMUlRelY1VjlOKzBUakxxYmc2OFdmS2NPbUJDT2ozSmt3SmhWSWt3RGhj
K0pvclh1WkVQTUVoMHZ2SDN4N2lxZitWQXdYZ2Q0ZGlaaWFKRDF6SEw5U254NldmZzRJdWdyZXlo
YWJRa2Npcit5NVhnRHRkeDNBdnM3bGtlZUNCd0R2Wm9UVUNYeDVRclprY0VxV2ZZRWlFWVJzL0Vw
aG1SQUxTTkdSMUljbGdkcjVWRm9FTHB6RjQrK2YzNXczL2owdDV1Y1czbjJjaDRQUUNMdVVYdXBz
UFJSN1VBNUZqU0tyTXRQY0tBWkpmYWdPNGxHRTdGSDNZS01qb3JwSzBaeEF2K2kySmtKaHRBTVdX
V0ZlajRSaFBSL2NKM0R4d29jQ3ZYRGk0U0daVTRjdStLMzJYbmRpRldnb3BBbCswR0FwY3dmMVh2
eW1KY0ZzMzlqRXhJQk80eVVqVTlNRXhCTFFZYzlIK1c3K0lnZEVTUFJwY2lUK3JLWlBlYlZ0YVZx
KzFHWU8vNXhUQUwzSEFTak5UR0lnTXZkaldiZ2M3SnZkRTF6SUZwdUMwVTlFU2laeXpCaXh6eFd4
ajRLd2g4TXkzNHErRkszS05MdG1zQTFxeXJtS1NOUU9YQ1BVWmQrT05lbEJUdkZvVUkvQ1lzcWEv
Umh0S2l5TWYyQ2dTRnFFUGs1OVkzdXFubFo4Z0Zwc3dmU1l5a28yM3lWWll4ektHeEdtNDlacXhn
MWw4b3o1UmE5WGFSd0hrdXhlcG1neWhtMFNvTnkyS2xiY0VxSys5UXFTOVBOeDlJaG05VTdnc1I1
NVNTSjFGQkRObmt1V0t4SVowU0RwWHVPR3daZG9VYk9NRFBIUDR2QkFnejJWbFNFSkFIWkdKVmJZ
SWc3bC9GTzVLZklWdnhDOHBQUHhNR2NOTW9ldkZEZVN0dDJpcXp0RTEwbjJUQTRkZ0pINzZZUzlI
RGhLSEQzaUN4NmllRlg4NEJBSTNRUW5uZ2g3NmY1cnVQUVZicjVxWm1jay81VWpEYzI2bGZyT3ZV
Qld5ME9nbDhiQ29Pa01PbnM4MVRuQzNjdVVTOUtXOCs5QStmZTNYWVpPRlVQRzF1NWVwU1NtREx3
MHM1czJGMFczMEFOZW8rekprSlF6OVNQWmd6d1lwRW9rdG9maEdWZm1MT0FCMjBib0NiVzFRV3Ev
TnBFVC9obk1lY3cvdVN5QUg0TkpjM0VDT1U0bm5rSzFmajNTL2k1ZHdiM1I3azAwQXFRUVV3dDdJ
ZTFxVjBhWS9WUVgwSjhoTFB5N2VCTlhNSFlaWUROeEhaMlFoNkF1WEp4cStBZVJlYy9RK0pMaFpW
NmhwWHdRRXp3N2JmNXY5dVVmMnZwcTNxbGhteTBJSUdUa3dZZENmU0FGbXFiZG8rM1h2RFREakZK
ZGUwbWJlUUxjbjJuMzF4YUFxSjBpeE8vQ0xzVDRJNEc0RG9uY1ZUZ1JHTkJ0c0NjaklTV1Qrb2VY
WjRJZWR3LzhPc0pJMWFQbk5LTFgvNjBWdmNaYjk0dWFzUnhDa3FsUFExMXUxU2EyaEh2QjgwV1FF
TnhWeXpqbnMwL1BpRUJ5eWlsMjFUZTZvaXNrM21OQ0VNcmhvdUNGTzN5RVpUSEhPQ015OWViLzRU
bWk4Y1ZmM0xmN1A1M1NZMmhYM1BTTjAzM0FzM0VUSU1MSFd1bVdFTzlKWEhBMnkyU0lCbElQcExH
RzJxdk5zQ0lsSXIrQjFTV0FxUkttMnc2QmxmN1UrekNTQndKcmZIRzVpOEo1R2F4L2NWb25NbG9u
N2FISlgvZ1N2dWNJbmNSUDkzWENxa3Y3RDhJRktGc0xpQmdIcVVwWGhFM3BZakVjVjFkay9KRDl6
RlZDZkVhUUlWWDhKbWZ6N0lJb2ZjQktRNE9hRytDM3hDMnZlWDlDRCtpQUZYRE5hR2c5ZVRWeHZr
YkpSSmxXNE5rOVdrMTNrbjY5NmpXcHBSRGUvOHBEcllNTzlaeXhaOThSZUtTejlrV0tMTHlrMnpD
WmdBbmlDa0xKVlgzbjFNOURZYm9teWFoV2l2L0tpeFJJVjloai9vRno4N0krSEx6bmJQVGpwYStE
K2JaUW5NdVJzbGpUcHY5MHZRVXQvcEs3akNGbkEzMEIvanRyb1NGMi9tL2dwV24xYVFzNVdlQTZn
aHpGOFNkcVdJMjBmZ2hkU2VET0NTQ21MZ1RrZmFHZ0dEbXc3bkhGa1J6R3RhZzU3SUhTMm5hMDZJ
K2d6RXBoWG8xdy9aeDJCTS9qS0wyblpvRmpIZ2d0RlFqWWk4blNWUlNYSUU1OFJQYkJPYlhrN3V1
SUw5K3JzLzVabzdzdUpJbkVVeGdzaVpaQVdTMjVpQnRwRWlaZUJnRHRnaEVvQUUwc2pjYXlOcTg1
TTR0YnUvTEY1aDUxMzM1UHNHelEwOU84NzUrdlVTODlsa1dNeU5PRm9pcDJQdXlXeU1QL2lVMlhJ
WmRmQ0NKTkRqZWJEb0JMUWRweTdRUVpDN3M5YzB3akhKZXJ2UU5EdTJqV3pCVzVNU0FKTXI3YlAr
SXY5MkJrUy9HR2d6akVuN01GMUlSS0Z3d3piamJTNC9zbEdPbWh4OWNackZ1N0hTRWVmb2pOdjNy
MFVhS2ZLT1d6WHNxMXpFdWdiemxNREZzYWNSSkpJL2lKbEszdnRrWitQTFpJVk1GbEtBMzJ3YnEy
S2Q1VDB1Q0xaMUNQa0FmQ2R6a3oyRVlzY2pEY1pxMkFXZnppTjJjb3ZONGtYRTFsUVhQUExUTk0x
eHgzdGJpZXBjTy90M1NXbTR3ODdxZmg5OVNMMFpuWStMS0ZQTFBlWFZNMm1JSW9WV3QrOU5rMEk3
blk0Tzc5aUdZcXhaOFJWejI4OWFuNk5WZEpXblNLWnZKUUNBdUhOaVZhRHhQQUZvSDM5MnQ5d290
NXQwL3FtVTk1ZUVXTmJVMnVkVVc1c045SlZxY1lsdkFJZkxlWUMzM29Venp4WmdTa3RzdjIxbUE3
VWx5MUZBNVZub0pGaDZOMjQ0V212M1lKR0Z2L1RDUHJ5YXcrWk9SbHBaalFkcS8yRFlYcjNFWnNr
ZmVkMEc2MVAwOWlwVEttbFRRMTA2N1JnNStQQWs1RmxROWUwU1diR2YyQi8wOGtxeW1PVE1WT3pu
c0FMSEhORkg0TEZSS2wyRi9OT2lZRmw5a2hOSG5TdTlBazVzcTI2WW5sL2kyZmRUbGUyOVkxdWdx
bVI1WWo0WVQ5cHZzbEZ5WUNidzBtTkZyNXJWUW0xTHZrRzI3UU1xOXBoM3Q4Zm1uNnI2U1E0b1Ni
cjV0eitKMWtJYXdHekR4YjZWWU92dldob2JEVFhmQmVOdjNiNGFObTVYVWluc0NHcUcycS80NW0z
K0xvQ09zZGRGY2VZaFJ4MVRzc3M5UExkUGZKZEVyRk1qWWQzZ2RkamlQMCtYUWpjUmFkWlA2YndO
THlTdnVuRmYyMEN6eTZKcWRFVzJhOTZLeGRZZE9yeUJ2MUJqYnVVcTJ5Q0hlaCs2c2s3ZkdtbVBp
NTBwZS8xbDVUeVBlNW9IVzlvUG5oUHN3THlmMlRGRGRDeVlsaHdCQ3N0djVDMUh3bFc3eFdvR1Q5
WFp0NHFWajVXcnlMUExMRDZoLzVjTUxFald6Z0NlQUlLTnNMYWs5MmFCcUJzSGw0QUp3bDJONGpm
dmJTa0JFeEdpbXYwbkZ2djA5dURTY1FiangrdzRrUFFqZ2psVytnOXdzOVZFSnZJMms4TjZYeFZ1
MHVJd292Z1RGZHVuRzI0Z0J0YURpK3kxWUxRd1o4bXdiaXA1ZlZsTzNrMG4wQUVyL0VUYnR1OFZq
a20rbk5TaUViN1gvM2ZNakJMNUE4UGRnRysvRm5iZXhiRkZFeG1FZmV0WEFuaXNFS3k1ejQ0V1ZQ
cFFaalN5L2p6ZUduNHlEUnNGR3FoaDg3UVBhREJXaGxvMzdJRmJlL0MweHluUzkxZDJ0UC9BSm9K
UzBzVkY2aXdBQUFBQUVsRlRrU3VRbUNDIik7Ci19Ci0KLSNtZW51OjphZnRlciB7Ci0gIGRpc3Bs
YXk6IGJsb2NrOwotICBjb250ZW50OiAnJzsKLSAgcGFkZGluZy10b3A6IDgwcHg7Ci19Ci0KLSNs
b2dvIHsKLSAgcG9zaXRpb246IGZpeGVkOwotICBib3R0b206IDEwcHg7Ci0gIHJpZ2h0OiAxMHB4
OwotICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LC4xKTsKLSAgZm9udC1zaXplOiAxMXB4
OwotICBkaXNwbGF5OiBibG9jazsKLSAgd2lkdGg6IDIwcHg7Ci0gIGhlaWdodDogMjBweDsKLSAg
bGluZS1oZWlnaHQ6IDIwcHg7Ci0gIHRleHQtYWxpZ246IGNlbnRlcjsKLSAgLXdlYmtpdC1ib3Jk
ZXItcmFkaXVzOiAyMHB4OwotICAtbW96LWJvcmRlci1yYWRpdXM6IDIwcHg7Ci0gIC13ZWJraXQt
Ym94LXNoYWRvdzogMCAwIDNweCByZ2JhKDAsMCwwLC4yKTsKLSAgLW1vei1ib3gtc2hhZG93OiAw
IDAgM3B4IHJnYmEoMCwwLDAsLjIpOwotICBjb2xvcjogaW5oZXJpdDsKLX0KLQotI21lbnUgbGkg
YSB7Ci0gIGRpc3BsYXk6IGJsb2NrOwotICBjb2xvcjogd2hpdGU7Ci0gIHBhZGRpbmc6IDAgMzVw
eCAwIDI1cHg7Ci0gIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZCAzMDBtczsKLSAgLW1v
ei10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDMwMG1zOwotfQotCi0jbWVudSBsaSB7Ci0gIHBvc2l0
aW9uOiByZWxhdGl2ZTsKLSAgbGlzdC1zdHlsZTogbm9uZTsKLX0KLQotI21lbnUgYTpob3ZlciwK
LSNtZW51IGEuYWN0aXZlIHsKLSAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwotICBiYWNrZ3JvdW5k
OiByZ2JhKDI1NSwyNTUsMjU1LC4xKTsKLX0KLQotI21lbnUgbGk6aG92ZXIgLmNvdiB7Ci0gIG9w
YWNpdHk6IDE7Ci19Ci0KLSNtZW51IGxpIC5kaXJuYW1lIHsKLSAgb3BhY2l0eTogLjYwOwotICBw
YWRkaW5nLXJpZ2h0OiAycHg7Ci19Ci0KLSNtZW51IGxpIC5iYXNlbmFtZSB7Ci0gIG9wYWNpdHk6
IDE7Ci19Ci0KLSNtZW51IC5jb3YgewotICBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLC40KTsKLSAg
cG9zaXRpb246IGFic29sdXRlOwotICB0b3A6IDA7Ci0gIHJpZ2h0OiA4cHg7Ci0gIGZvbnQtc2l6
ZTogOXB4OwotICBvcGFjaXR5OiAuNjsKLSAgdGV4dC1hbGlnbjogbGVmdDsKLSAgd2lkdGg6IDE3
cHg7Ci0gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMTBweDsKLSAgLW1vei1ib3JkZXItcmFkaXVz
OiAxMHB4OwotICBwYWRkaW5nOiAycHggM3B4OwotICB0ZXh0LWFsaWduOiBjZW50ZXI7Ci19Ci0K
LSNzdGF0czpudGgtY2hpbGQoMm4pIHsKLSAgZGlzcGxheTogaW5saW5lLWJsb2NrOwotICBtYXJn
aW4tdG9wOiAxNXB4OwotICBib3JkZXI6IDFweCBzb2xpZCAjZWVlOwotICBwYWRkaW5nOiAxMHB4
OwotICAtd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDAgMCAycHggI2VlZTsKLSAgLW1vei1ib3gt
c2hhZG93OiBpbnNldCAwIDAgMnB4ICNlZWU7Ci0gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogNXB4
OwotICAtbW96LWJvcmRlci1yYWRpdXM6IDVweDsKLX0KLQotI3N0YXRzIGRpdiB7Ci0gIGZsb2F0
OiBsZWZ0OwotICBwYWRkaW5nOiAwIDVweDsKLX0KLQotI3N0YXRzOjphZnRlciB7Ci0gIGRpc3Bs
YXk6IGJsb2NrOwotICBjb250ZW50OiAnJzsKLSAgY2xlYXI6IGJvdGg7Ci19Ci0KLSNzdGF0cyAu
c2xvYzo6YWZ0ZXIgewotICBjb250ZW50OiAnIFNMT0MnOwotICBjb2xvcjogI2I2YjZiNjsKLX0K
LQotI3N0YXRzIC5wZXJjZW50YWdlOjphZnRlciB7Ci0gIGNvbnRlbnQ6ICcgY292ZXJhZ2UnOwot
ICBjb2xvcjogI2I2YjZiNjsKLX0KLQotI3N0YXRzIC5oaXRzLAotI3N0YXRzIC5taXNzZXMgewot
ICBkaXNwbGF5OiBub25lOwotfQotCi0uaGlnaCB7Ci0gIGNvbG9yOiAjMDBkNGI0OwotfQotLm1l
ZGl1bSB7Ci0gIGNvbG9yOiAjZTg3ZDBkOwotfQotLmxvdyB7Ci0gIGNvbG9yOiAjZDQwODFhOwot
fQotLnRlcnJpYmxlIHsKLSAgY29sb3I6ICNkNDA4MWE7Ci0gIGZvbnQtd2VpZ2h0OiBib2xkOwot
fQotCi10YWJsZSB7Ci0gIHdpZHRoOiA4MCU7Ci0gIG1hcmdpbi10b3A6IDEwcHg7Ci0gIGJvcmRl
ci1jb2xsYXBzZTogY29sbGFwc2U7Ci0gIGJvcmRlcjogMXB4IHNvbGlkICNjYmNiY2I7Ci0gIGNv
bG9yOiAjMzYzNjM2OwotICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDNweDsKLSAgLW1vei1ib3Jk
ZXItcmFkaXVzOiAzcHg7Ci19Ci0KLXRhYmxlIHRoZWFkIHsKLSAgZGlzcGxheTogbm9uZTsKLX0K
LQotdGFibGUgdGQubGluZSwKLXRhYmxlIHRkLmhpdHMgewotICB3aWR0aDogMjBweDsKLSAgYmFj
a2dyb3VuZDogI2VhZWFlYTsKLSAgdGV4dC1hbGlnbjogY2VudGVyOwotICBmb250LXNpemU6IDEx
cHg7Ci0gIHBhZGRpbmc6IDAgMTBweDsKLSAgY29sb3I6ICM5NDk0OTQ7Ci19Ci0KLXRhYmxlIHRk
LmhpdHMgewotICB3aWR0aDogMTBweDsKLSAgcGFkZGluZzogMnB4IDVweDsKLSAgY29sb3I6IHJn
YmEoMCwwLDAsLjIpOwotICBiYWNrZ3JvdW5kOiAjZjBmMGYwOwotfQotCi10ci5taXNzIHRkLmxp
bmUsCi10ci5taXNzIHRkLmhpdHMgewotICBiYWNrZ3JvdW5kOiAjZTZjM2M3OwotfQotCi10ci5t
aXNzIHRkIHsKLSAgYmFja2dyb3VuZDogI2Y4ZDVkODsKLX0KLQotdGQuc291cmNlIHsKLSAgcGFk
ZGluZy1sZWZ0OiAxNXB4OwotICBsaW5lLWhlaWdodDogMTVweDsKLSAgd2hpdGUtc3BhY2U6IHBy
ZTsKLSAgZm9udDogMTJweCBtb25hY28sIG1vbm9zcGFjZTsKLX0KLQotY29kZSAuY29tbWVudCB7
IGNvbG9yOiAjZGRkIH0KLWNvZGUgLmluaXQgeyBjb2xvcjogIzJGNkZBRCB9Ci1jb2RlIC5zdHJp
bmcgeyBjb2xvcjogIzU4OTBBRCB9Ci1jb2RlIC5rZXl3b3JkIHsgY29sb3I6ICM4QTYzNDMgfQot
Y29kZSAubnVtYmVyIHsgY29sb3I6ICMyRjZGQUQgfQotPC9zdHlsZT48L2hlYWQ+PGJvZHk+PGRp
diBpZD0iY292ZXJhZ2UiPjxoMSBpZD0ib3ZlcnZpZXciPkNvdmVyYWdlPC9oMT48ZGl2IGlkPSJt
ZW51Ij48bGk+PGEgaHJlZj0iI292ZXJ2aWV3Ij5vdmVydmlldzwvYT48L2xpPjxsaT48c3BhbiBj
bGFzcz0iY292IGhpZ2giPjk1PC9zcGFuPjxhIGhyZWY9IiN3ZWJpZGwyLmpzIj48c3BhbiBjbGFz
cz0iYmFzZW5hbWUiPndlYmlkbDIuanM8L3NwYW4+PC9hPjwvbGk+PGEgaWQ9ImxvZ28iIGhyZWY9
Imh0dHA6Ly92aXNpb25tZWRpYS5naXRodWIuY29tL21vY2hhLyI+bTwvYT48L2Rpdj48ZGl2IGlk
PSJzdGF0cyIgY2xhc3M9ImhpZ2giPjxkaXYgY2xhc3M9InBlcmNlbnRhZ2UiPjk1JTwvZGl2Pjxk
aXYgY2xhc3M9InNsb2MiPjU3MjwvZGl2PjxkaXYgY2xhc3M9ImhpdHMiPjU0ODwvZGl2PjxkaXYg
Y2xhc3M9Im1pc3NlcyI+MjQ8L2Rpdj48L2Rpdj48ZGl2IGlkPSJmaWxlcyI+PGRpdiBjbGFzcz0i
ZmlsZSI+PGgyIGlkPSJ3ZWJpZGwyLmpzIj53ZWJpZGwyLmpzPC9oMj48ZGl2IGlkPSJzdGF0cyIg
Y2xhc3M9ImhpZ2giPjxkaXYgY2xhc3M9InBlcmNlbnRhZ2UiPjk1JTwvZGl2PjxkaXYgY2xhc3M9
InNsb2MiPjU3MjwvZGl2PjxkaXYgY2xhc3M9ImhpdHMiPjU0ODwvZGl2PjxkaXYgY2xhc3M9Im1p
c3NlcyI+MjQ8L2Rpdj48L2Rpdj48dGFibGUgaWQ9InNvdXJjZSI+PHRoZWFkPjx0cj48dGg+TGlu
ZTwvdGg+PHRoPkhpdHM8L3RoPjx0aD5Tb3VyY2U8L3RoPjwvdHI+PC90aGVhZD48dGJvZHk+PHRy
Pjx0ZCBjbGFzcz0ibGluZSI+MTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0i
c291cmNlIj4gPC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjI8L3RkPjx0ZCBjbGFzcz0i
aGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+IDwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+
IDx0ZCBjbGFzcz0ibGluZSI+MzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xPC90ZD48dGQgY2xhc3M9
InNvdXJjZSI+PHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPmZ1bmN0aW9u
PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KCk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFu
PjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NDwvdGQ+PHRkIGNs
YXNzPSJoaXRzIj4xPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgIDxzcGFuIGNsYXNzPSJrIj52
YXI8L3NwYW4+IHRva2VuaXNlIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0i
ayI+ZnVuY3Rpb248L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPnN0cjxzcGFuIGNsYXNz
PSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNz
PSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjU8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDc8L3RkPjx0
ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IHRva2Vu
cyA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPltdPC9zcGFuPjwvdGQ+
PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj42PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRk
IGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+ICAgcmUgPHNw
YW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48
dHI+PHRkIGNsYXNzPSJsaW5lIj43PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNz
PSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0icyI+ImZsb2F0Ijwvc3Bhbj48
c3BhbiBjbGFzcz0iayI+Ojwvc3Bhbj4gICAgICAgIDxzcGFuIGNsYXNzPSJzIj4vXi0/KChbMC05
XStcLlswLTldKnxbMC05XSpcLlswLTldKykoW0VlXVstK10/WzAtOV0rKT98WzAtOV0rW0VlXVst
K10/WzAtOV0rKS88L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjg8L3RkPjx0
ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4g
Y2xhc3M9ImsiPiw8L3NwYW4+ICAgPHNwYW4gY2xhc3M9InMiPiJpbnRlZ2VyIjwvc3Bhbj48c3Bh
biBjbGFzcz0iayI+Ojwvc3Bhbj4gICAgICA8c3BhbiBjbGFzcz0icyI+L14tPygwKFtYeF1bMC05
QS1GYS1mXSt8WzAtN10qKXxbMS05XVswLTldKikvPC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNs
YXNzPSJsaW5lIj45PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2Ui
PiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiAgIDxzcGFuIGNsYXNzPSJzIj4i
aWRlbnRpZmllciI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjo8L3NwYW4+ICAgPHNwYW4gY2xhc3M9
InMiPi9eW0EtWl9hLXpdWzAtOUEtWl9hLXpdKi88L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xh
c3M9ImxpbmUiPjEwPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2Ui
PiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiAgIDxzcGFuIGNsYXNzPSJzIj4i
c3RyaW5nIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ojwvc3Bhbj4gICAgICAgPHNwYW4gY2xhc3M9
InMiPi9eIlteIl0qIi88L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjExPC90
ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxz
cGFuIGNsYXNzPSJrIj4sPC9zcGFuPiAgIDxzcGFuIGNsYXNzPSJzIj4id2hpdGVzcGFjZSI8L3Nw
YW4+PHNwYW4gY2xhc3M9ImsiPjo8L3NwYW4+ICAgPHNwYW4gY2xhc3M9InMiPi9eKD86W1x0XG5c
ciBdK3xbXHRcblxyIF0qKChcL1wvLip8XC9cKigufFxufFxyKSo/XCpcLylbXHRcblxyIF0qKSkr
Lzwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+MTI8L3RkPjx0ZCBjbGFzcz0i
aGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9Imsi
Piw8L3NwYW4+ICAgPHNwYW4gY2xhc3M9InMiPiJvdGhlciI8L3NwYW4+PHNwYW4gY2xhc3M9Imsi
Pjo8L3NwYW4+ICAgICAgICA8c3BhbiBjbGFzcz0icyI+L15bXlx0XG5cciAwLTlBLVpfYS16XS88
L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjEzPC90ZD48dGQgY2xhc3M9Imhp
dHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj59
PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj4xNDwvdGQ+PHRkIGNsYXNzPSJo
aXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj4sPC9z
cGFuPiAgIHR5cGVzIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+W108
L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjE1PC90ZD48dGQgY2xhc3M9Imhp
dHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPjs8L3Nw
YW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4xNjwvdGQ+PHRk
IGNsYXNzPSJoaXRzIj4zMjk8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxzcGFuIGNs
YXNzPSJrIj5mb3I8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJr
Ij52YXI8L3NwYW4+IGsgPHNwYW4gY2xhc3M9ImsiPmluPC9zcGFuPiByZTxzcGFuIGNsYXNzPSJr
Ij4pPC9zcGFuPiB0eXBlczxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnB1c2g8c3BhbiBjbGFzcz0i
ayI+KDwvc3Bhbj5rPHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9
ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MTc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDc8L3RkPjx0
ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj53aGlsZTwvc3Bhbj4gPHNw
YW4gY2xhc3M9ImsiPig8L3NwYW4+c3RyPHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+bGVuZ3RoIDxz
cGFuIGNsYXNzPSJrIj4+PC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+MDwvc3Bhbj48c3BhbiBjbGFz
cz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFz
cz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4xODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yOTE0PC90
ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bh
bj4gbWF0Y2hlZCA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPmZhbHNl
PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+
IDx0ZCBjbGFzcz0ibGluZSI+MTk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MjkxNDwvdGQ+PHRkIGNs
YXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5mb3I8L3NwYW4+IDxzcGFu
IGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IGkgPHNwYW4gY2xh
c3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4wPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4s
PC9zcGFuPiBuIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiB0eXBlczxzcGFuIGNsYXNzPSJrIj4u
PC9zcGFuPmxlbmd0aDxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPiBpIDxzcGFuIGNsYXNzPSJrIj48
PC9zcGFuPiBuPHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+IGk8c3BhbiBjbGFzcz0iayI+KyspPC9z
cGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8
dGQgY2xhc3M9ImxpbmUiPjIwPC90ZD48dGQgY2xhc3M9ImhpdHMiPjEzMzI1PC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IHR5
cGUgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IHR5cGVzPHNwYW4gY2xhc3M9ImsiPls8L3NwYW4+
aTxzcGFuIGNsYXNzPSJrIj5dOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQg
Y2xhc3M9ImxpbmUiPjIxPC90ZD48dGQgY2xhc3M9ImhpdHMiPjEzMzI1PC90ZD48dGQgY2xhc3M9
InNvdXJjZSI+ICAgICAgICAgICAgICAgIHN0ciA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gc3Ry
PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+cmVwbGFjZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPnJl
PHNwYW4gY2xhc3M9ImsiPls8L3NwYW4+dHlwZTxzcGFuIGNsYXNzPSJrIj5dLDwvc3Bhbj4gPHNw
YW4gY2xhc3M9ImsiPmZ1bmN0aW9uPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj50b2s8
c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3Ry
Pjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4yMjwvdGQ+PHRkIGNsYXNzPSJoaXRz
Ij4yOTE0PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICB0b2tlbnM8
c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5wdXNoPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4g
Y2xhc3M9ImsiPns8L3NwYW4+IHR5cGU8c3BhbiBjbGFzcz0iayI+Ojwvc3Bhbj4gdHlwZTxzcGFu
IGNsYXNzPSJrIj4sPC9zcGFuPiB2YWx1ZTxzcGFuIGNsYXNzPSJrIj46PC9zcGFuPiB0b2sgPHNw
YW4gY2xhc3M9ImsiPn08L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48
dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MjM8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+
MjkxNDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAgbWF0Y2hlZCA8
c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnRydWU8L3NwYW4+PHNwYW4g
Y2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJs
aW5lIj4yNDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yOTE0PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+
ICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+cmV0dXJuPC9zcGFuPiA8c3BhbiBj
bGFzcz0icyI+IiI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48
dGQgY2xhc3M9ImxpbmUiPjI1PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJz
b3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48c3BhbiBjbGFz
cz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5l
Ij4yNjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xNjIzOTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAg
ICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4o
PC9zcGFuPm1hdGNoZWQ8c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPmJy
ZWFrPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNz
PSJsaW5lIj4yNzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4g
ICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJo
aXQiPiA8dGQgY2xhc3M9ImxpbmUiPjI4PC90ZD48dGQgY2xhc3M9ImhpdHMiPjU4Mjg8L3RkPjx0
ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxz
cGFuIGNsYXNzPSJrIj4oPC9zcGFuPm1hdGNoZWQ8c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNw
YW4gY2xhc3M9ImsiPmNvbnRpbnVlPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+
PC90cj48dHIgY2xhc3M9Im1pc3MiPiA8dGQgY2xhc3M9ImxpbmUiPjI5PC90ZD48dGQgY2xhc3M9
ImhpdHMiPjA8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0i
ayI+dGhyb3c8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5uZXc8L3NwYW4+IEVycm9yPHNwYW4gY2xh
c3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9InMiPiJUb2tlbiBzdHJlYW0gbm90IHByb2dyZXNz
aW5nIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xh
c3M9ImxpbmUiPjMwPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2Ui
PiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0
Ij4gPHRkIGNsYXNzPSJsaW5lIj4zMTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40NzwvdGQ+PHRkIGNs
YXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnJldHVybjwvc3Bhbj4gdG9rZW5z
PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjMy
PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICA8c3BhbiBj
bGFzcz0iayI+fTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0
ZCBjbGFzcz0ibGluZSI+MzM8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNv
dXJjZSI+ICAgIDwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MzQ8
L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICA8c3BhbiBj
bGFzcz0iayI+dmFyPC9zcGFuPiBwYXJzZSA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4g
Y2xhc3M9ImsiPmZ1bmN0aW9uPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj50b2tlbnM8
c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3Ry
Pjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4zNTwvdGQ+PHRkIGNsYXNzPSJoaXRz
Ij40NzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwv
c3Bhbj4gbGluZSA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPjE8L3Nw
YW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRk
IGNsYXNzPSJsaW5lIj4zNjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40NzwvdGQ+PHRkIGNsYXNzPSJz
b3VyY2UiPiAgICAgICAgdG9rZW5zIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiB0b2tlbnM8c3Bh
biBjbGFzcz0iayI+Ljwvc3Bhbj5zbGljZTxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48
L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjM3PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRk
IGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNs
YXNzPSJsaW5lIj4zODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40NzwvdGQ+PHRkIGNsYXNzPSJzb3Vy
Y2UiPiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gRkxPQVQgPHNwYW4gY2xhc3M9
ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iZmxvYXQiPC9zcGFuPjwvdGQ+PC90cj48dHI+
PHRkIGNsYXNzPSJsaW5lIj4zOTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0i
c291cmNlIj4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiAgIElOVCA8c3BhbiBjbGFz
cz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJpbnRlZ2VyIjwvc3Bhbj48L3RkPjwvdHI+
PHRyPjx0ZCBjbGFzcz0ibGluZSI+NDA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gICBJRCA8c3BhbiBj
bGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJpZGVudGlmaWVyIjwvc3Bhbj48L3Rk
PjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NDE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48
dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gICBTVFIg
PHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4ic3RyaW5nIjwvc3Bhbj48
L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NDI8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90
ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gICBP
VEhFUiA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJvdGhlciI8L3Nw
YW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjQzPC90ZD48dGQgY2xhc3M9ImhpdHMi
PjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+
PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjQ0PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwv
dGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4g
PHRkIGNsYXNzPSJsaW5lIj40NTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40NzwvdGQ+PHRkIGNsYXNz
PSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gV2ViSURMUGFyc2VF
cnJvciA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPmZ1bmN0aW9uPC9z
cGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5zdHI8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4g
bGluZTxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiBpbnB1dDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFu
PiB0b2tlbnM8c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+
PC90ZD48L3RyPjx0ciBjbGFzcz0ibWlzcyI+IDx0ZCBjbGFzcz0ibGluZSI+NDY8L3RkPjx0ZCBj
bGFzcz0iaGl0cyI+MDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNs
YXNzPSJrIj50aGlzPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPm1lc3NhZ2UgPHNwYW4g
Y2xhc3M9ImsiPj08L3NwYW4+IHN0cjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48
dHIgY2xhc3M9Im1pc3MiPiA8dGQgY2xhc3M9ImxpbmUiPjQ3PC90ZD48dGQgY2xhc3M9ImhpdHMi
PjA8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+dGhp
czwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5saW5lIDxzcGFuIGNsYXNzPSJrIj49PC9z
cGFuPiBsaW5lPHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0ibWlz
cyI+IDx0ZCBjbGFzcz0ibGluZSI+NDg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MDwvdGQ+PHRkIGNs
YXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj50aGlzPC9zcGFuPjxzcGFu
IGNsYXNzPSJrIj4uPC9zcGFuPmlucHV0IDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiBpbnB1dDxz
cGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9Im1pc3MiPiA8dGQgY2xh
c3M9ImxpbmUiPjQ5PC90ZD48dGQgY2xhc3M9ImhpdHMiPjA8L3RkPjx0ZCBjbGFzcz0ic291cmNl
Ij4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+dGhpczwvc3Bhbj48c3BhbiBjbGFzcz0iayI+
Ljwvc3Bhbj50b2tlbnMgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IHRva2VuczxzcGFuIGNsYXNz
PSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj41MDwvdGQ+PHRkIGNs
YXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxzcGFuIGNsYXNzPSJr
Ij59PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9Imhp
dCI+IDx0ZCBjbGFzcz0ibGluZSI+NTE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDc8L3RkPjx0ZCBj
bGFzcz0ic291cmNlIj4gICAgICAgIFdlYklETFBhcnNlRXJyb3I8c3BhbiBjbGFzcz0iayI+Ljwv
c3Bhbj5wcm90b3R5cGU8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj50b1N0cmluZyA8c3BhbiBjbGFz
cz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPmZ1bmN0aW9uPC9zcGFuPiA8c3BhbiBjbGFz
cz0iayI+KCk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xh
c3M9Im1pc3MiPiA8dGQgY2xhc3M9ImxpbmUiPjUyPC90ZD48dGQgY2xhc3M9ImhpdHMiPjA8L3Rk
Pjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+cmV0dXJuPC9z
cGFuPiA8c3BhbiBjbGFzcz0iayI+dGhpczwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5t
ZXNzYWdlIDxzcGFuIGNsYXNzPSJrIj4rPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+IiwgbGluZSAi
PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+Kzwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnRoaXM8L3Nw
YW4+PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+bGluZSA8c3BhbiBjbGFzcz0iayI+Kzwvc3Bhbj4g
PHNwYW4gY2xhc3M9InMiPiIgKHRva2VuczogJyI8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4rPC9z
cGFuPiA8c3BhbiBjbGFzcz0iayI+dGhpczwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5p
bnB1dCA8c3BhbiBjbGFzcz0iayI+Kzwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiInKTwvc3Bhbj48
c3BhbiBjbGFzcz0idCI+XG48L3NwYW4+PHNwYW4gY2xhc3M9InMiPiI8L3NwYW4+IDxzcGFuIGNs
YXNzPSJrIj4rPC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj41MzwvdGQ+PHRk
IGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAg
SlNPTjxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnN0cmluZ2lmeTxzcGFuIGNsYXNzPSJrIj4oPC9z
cGFuPjxzcGFuIGNsYXNzPSJrIj50aGlzPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnRv
a2VuczxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+bnVsbDwvc3Bhbj48
c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPjQ8L3NwYW4+PHNwYW4gY2xh
c3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj41NDwvdGQ+PHRk
IGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxzcGFuIGNsYXNz
PSJrIj59PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNs
YXNzPSJsaW5lIj41NTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNl
Ij4gICAgICAgIDwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NTY8
L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDc8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxz
cGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IGVycm9yIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8
c3BhbiBjbGFzcz0iayI+ZnVuY3Rpb248L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPnN0
cjxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwv
dHI+PHRyIGNsYXNzPSJtaXNzIj4gPHRkIGNsYXNzPSJsaW5lIj41NzwvdGQ+PHRkIGNsYXNzPSJo
aXRzIj4wPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9Imsi
PnZhcjwvc3Bhbj4gdG9rIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+
IiI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IG51bVRva2VucyA8c3BhbiBjbGFzcz0i
ayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPjA8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPiw8L3Nw
YW4+IG1heFRva2VucyA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPjU8
L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0ibWlzcyI+
IDx0ZCBjbGFzcz0ibGluZSI+NTg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MDwvdGQ+PHRkIGNsYXNz
PSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj53aGlsZTwvc3Bhbj4gPHNwYW4g
Y2xhc3M9ImsiPig8L3NwYW4+bnVtVG9rZW5zIDxzcGFuIGNsYXNzPSJrIj48PC9zcGFuPiBtYXhU
b2tlbnMgPHNwYW4gY2xhc3M9ImsiPiZhbXA7JmFtcDs8L3NwYW4+IHRva2VuczxzcGFuIGNsYXNz
PSJrIj4uPC9zcGFuPmxlbmd0aCA8c3BhbiBjbGFzcz0iayI+Pjwvc3Bhbj4gbnVtVG9rZW5zPHNw
YW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48
dHIgY2xhc3M9Im1pc3MiPiA8dGQgY2xhc3M9ImxpbmUiPjU5PC90ZD48dGQgY2xhc3M9ImhpdHMi
PjA8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgdG9rIDxzcGFuIGNsYXNz
PSJrIj4rPTwvc3Bhbj4gdG9rZW5zPHNwYW4gY2xhc3M9ImsiPls8L3NwYW4+bnVtVG9rZW5zPHNw
YW4gY2xhc3M9ImsiPl0uPC9zcGFuPnZhbHVlPHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48
L3RyPjx0ciBjbGFzcz0ibWlzcyI+IDx0ZCBjbGFzcz0ibGluZSI+NjA8L3RkPjx0ZCBjbGFzcz0i
aGl0cyI+MDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICBudW1Ub2tlbnM8
c3BhbiBjbGFzcz0iayI+Kys7PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj42
MTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAg
ICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJtaXNzIj4gPHRk
IGNsYXNzPSJsaW5lIj42MjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4wPC90ZD48dGQgY2xhc3M9InNv
dXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnRocm93PC9zcGFuPiA8c3BhbiBjbGFz
cz0iayI+bmV3PC9zcGFuPiBXZWJJRExQYXJzZUVycm9yPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+
c3RyPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IGxpbmU8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4g
dG9rPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IHRva2VuczxzcGFuIGNsYXNzPSJrIj4uPC9zcGFu
PnNsaWNlPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9InMiPjA8L3NwYW4+PHNw
YW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj41PC9zcGFuPjxzcGFuIGNsYXNz
PSJrIj4pKTs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjYzPC90ZD48dGQg
Y2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9
ImsiPn08L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xh
c3M9ImxpbmUiPjY0PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2Ui
PiAgICAgICAgPC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj42NTwv
dGQ+PHRkIGNsYXNzPSJoaXRzIj40NzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNw
YW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gbGFzdF90b2tlbiA8c3BhbiBjbGFzcz0iayI+PTwvc3Bh
bj4gPHNwYW4gY2xhc3M9ImsiPm51bGw8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90
ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjY2PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+
PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRk
IGNsYXNzPSJsaW5lIj42NzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40NzwvdGQ+PHRkIGNsYXNzPSJz
b3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gY29uc3VtZSA8c3BhbiBj
bGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPmZ1bmN0aW9uPC9zcGFuPiA8c3BhbiBj
bGFzcz0iayI+KDwvc3Bhbj50eXBlPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IHZhbHVlPHNwYW4g
Y2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIg
Y2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+Njg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+ODc3
ODwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwv
c3Bhbj4gPHNwYW4gY2xhc3M9ImsiPighPC9zcGFuPnRva2VuczxzcGFuIGNsYXNzPSJrIj4uPC9z
cGFuPmxlbmd0aCA8c3BhbiBjbGFzcz0iayI+fHw8L3NwYW4+IHRva2VuczxzcGFuIGNsYXNzPSJr
Ij5bPC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4wPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj5dLjwvc3Bh
bj50eXBlIDxzcGFuIGNsYXNzPSJrIj4hPT08L3NwYW4+IHR5cGU8c3BhbiBjbGFzcz0iayI+KTwv
c3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnJldHVybjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bh
bj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjY5PC90ZD48dGQg
Y2xhc3M9ImhpdHMiPjU0NzA8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3Bh
biBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNz
PSJrIj50eXBlb2Y8L3NwYW4+IHZhbHVlIDxzcGFuIGNsYXNzPSJrIj49PT08L3NwYW4+IDxzcGFu
IGNsYXNzPSJzIj4idW5kZWZpbmVkIjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnx8PC9zcGFuPiB0
b2tlbnM8c3BhbiBjbGFzcz0iayI+Wzwvc3Bhbj48c3BhbiBjbGFzcz0icyI+MDwvc3Bhbj48c3Bh
biBjbGFzcz0iayI+XS48L3NwYW4+dmFsdWUgPHNwYW4gY2xhc3M9ImsiPj09PTwvc3Bhbj4gdmFs
dWU8c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48
L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj43MDwvdGQ+PHRkIGNsYXNzPSJo
aXRzIj4xNzM4PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICBsYXN0X3Rv
a2VuIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiB0b2tlbnM8c3BhbiBjbGFzcz0iayI+Ljwvc3Bh
bj5zaGlmdDxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0
Ij4gPHRkIGNsYXNzPSJsaW5lIj43MTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xNzM4PC90ZD48dGQg
Y2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+cmV0dXJuPC9z
cGFuPiBsYXN0X3Rva2VuPHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQg
Y2xhc3M9ImxpbmUiPjcyPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3Vy
Y2UiPiAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0
ZCBjbGFzcz0ibGluZSI+NzM8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNv
dXJjZSI+ICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwv
c3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NzQ8L3RkPjx0ZCBjbGFzcz0iaGl0
cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8L3RkPjwvdHI+PHRyIGNsYXNzPSJo
aXQiPiA8dGQgY2xhc3M9ImxpbmUiPjc1PC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ3PC90ZD48dGQg
Y2xhc3M9InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiB3cyA8c3Bh
biBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPmZ1bmN0aW9uPC9zcGFuPiA8c3Bh
biBjbGFzcz0iayI+KCk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48
dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NzY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+
Njk2MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5p
Zjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPighPC9zcGFuPnRva2VuczxzcGFuIGNsYXNzPSJrIj4u
PC9zcGFuPmxlbmd0aDxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+cmV0
dXJuPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNz
PSJsaW5lIj43NzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4g
ICAgICAgICAgICA8c3BhbiBjbGFzcz0iYyI+Ly8gY29uc29sZS5sb2coInRva2Vucy5sZW5ndGgi
LCB0b2tlbnMubGVuZ3RoLCB0b2tlbnNbMF0pOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJo
aXQiPiA8dGQgY2xhc3M9ImxpbmUiPjc4PC90ZD48dGQgY2xhc3M9ImhpdHMiPjYxMTU8L3RkPjx0
ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxz
cGFuIGNsYXNzPSJrIj4oPC9zcGFuPnRva2VuczxzcGFuIGNsYXNzPSJrIj5bPC9zcGFuPjxzcGFu
IGNsYXNzPSJzIj4wPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj5dLjwvc3Bhbj50eXBlIDxzcGFuIGNs
YXNzPSJrIj49PT08L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4id2hpdGVzcGFjZSI8L3NwYW4+PHNw
YW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48
dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+Nzk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+
MTE3MjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0i
ayI+dmFyPC9zcGFuPiB0IDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiB0b2tlbnM8c3BhbiBjbGFz
cz0iayI+Ljwvc3Bhbj5zaGlmdDxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0
ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj44MDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4y
Mjk0PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIHQ8c3BhbiBjbGFzcz0i
ayI+Ljwvc3Bhbj52YWx1ZTxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnJlcGxhY2U8c3BhbiBjbGFz
cz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0icyI+L1xuL2c8L3NwYW4+PHNwYW4gY2xhc3M9Imsi
Piw8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5mdW5jdGlvbjwvc3Bhbj4gPHNwYW4gY2xhc3M9Imsi
Pig8L3NwYW4+bTxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bh
bj4gbGluZTxzcGFuIGNsYXNzPSJrIj4rKzs8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5yZXR1cm48
L3NwYW4+IG08c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+
PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBj
bGFzcz0ibGluZSI+ODE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTE3MjwvdGQ+PHRkIGNsYXNzPSJz
b3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+cmV0dXJuPC9zcGFuPiB0PHNw
YW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjgyPC90
ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxz
cGFuIGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj44Mzwv
dGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxzcGFu
IGNsYXNzPSJrIj59PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+
PHRkIGNsYXNzPSJsaW5lIj44NDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0i
c291cmNlIj4gICAgICAgIDwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGlu
ZSI+ODU8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDc8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAg
ICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IGFsbF93cyA8c3BhbiBjbGFzcz0iayI+PTwv
c3Bhbj4gPHNwYW4gY2xhc3M9ImsiPmZ1bmN0aW9uPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KCk8
L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+
IDx0ZCBjbGFzcz0ibGluZSI+ODY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NTM2NjwvdGQ+PHRkIGNs
YXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IHQgPHNw
YW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPiB0eXBlPHNwYW4g
Y2xhc3M9ImsiPjo8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4id2hpdGVzcGFjZSI8L3NwYW4+PHNw
YW4gY2xhc3M9ImsiPiw8L3NwYW4+IHZhbHVlPHNwYW4gY2xhc3M9ImsiPjo8L3NwYW4+IDxzcGFu
IGNsYXNzPSJzIj4iIjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PHNwYW4gY2xhc3M9
ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj44
NzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj41MzY2PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAg
ICAgICAgPHNwYW4gY2xhc3M9ImsiPndoaWxlPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bh
bj48c3BhbiBjbGFzcz0iayI+dHJ1ZTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNw
YW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNz
PSJsaW5lIj44ODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj42NTM4PC90ZD48dGQgY2xhc3M9InNvdXJj
ZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IHcgPHNwYW4gY2xh
c3M9ImsiPj08L3NwYW4+IHdzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRy
IGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjg5PC90ZD48dGQgY2xhc3M9ImhpdHMiPjEx
OTA0PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJr
Ij5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPighPC9zcGFuPnc8c3BhbiBjbGFzcz0iayI+KTwv
c3Bhbj4gPHNwYW4gY2xhc3M9ImsiPmJyZWFrPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFu
PjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+OTA8L3RkPjx0ZCBj
bGFzcz0iaGl0cyI+MTE3MjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICB0
PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+dmFsdWUgPHNwYW4gY2xhc3M9ImsiPis9PC9zcGFuPiB3
PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+dmFsdWU8c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3Rk
PjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+OTE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48
dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PC90
ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj45MjwvdGQ+PHRkIGNsYXNz
PSJoaXRzIj42NTM4PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xh
c3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj50PHNwYW4gY2xhc3M9Imsi
Pi48L3NwYW4+dmFsdWU8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5sZW5ndGggPHNwYW4gY2xhc3M9
ImsiPj48L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4wPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pPC9z
cGFuPiA8c3BhbiBjbGFzcz0iayI+cmV0dXJuPC9zcGFuPiB0PHNwYW4gY2xhc3M9ImsiPjs8L3Nw
YW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjkzPC90ZD48dGQgY2xhc3M9ImhpdHMi
PjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+
PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjk0
PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPC90
ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj45NTwvdGQ+PHRkIGNsYXNz
PSJoaXRzIj40NzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9Imsi
PnZhcjwvc3Bhbj4gaW50ZWdlcl90eXBlIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBj
bGFzcz0iayI+ZnVuY3Rpb248L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oKTwvc3Bhbj4gPHNwYW4g
Y2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJs
aW5lIj45NjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yNzM8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4g
ICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiByZXQgPHNwYW4gY2xhc3M9Imsi
Pj08L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bh
bj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjk3PC90ZD48dGQg
Y2xhc3M9ImhpdHMiPjI3MzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIGFsbF93
czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRk
IGNsYXNzPSJsaW5lIj45ODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4zMTI8L3RkPjx0ZCBjbGFzcz0i
c291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNz
PSJrIj4oPC9zcGFuPmNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5JRDxzcGFuIGNsYXNz
PSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+InVuc2lnbmVkIjwvc3Bhbj48c3BhbiBjbGFz
cz0iayI+KSk8L3NwYW4+IHJldCA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9
InMiPiJ1bnNpZ25lZCAiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48
dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+OTk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+
MjczPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9
ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUi
PjEwMDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yODc8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAg
ICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFu
PmNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5JRDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFu
PiA8c3BhbiBjbGFzcz0icyI+InNob3J0Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KSk8L3NwYW4+
IDxzcGFuIGNsYXNzPSJrIj5yZXR1cm48L3NwYW4+IHJldCA8c3BhbiBjbGFzcz0iayI+Kzwvc3Bh
bj4gPHNwYW4gY2xhc3M9InMiPiJzaG9ydCI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+
PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4xMDE8L3RkPjx0ZCBj
bGFzcz0iaGl0cyI+MjU5PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4g
Y2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5jb25zdW1lPHNwYW4g
Y2xhc3M9ImsiPig8L3NwYW4+SUQ8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9
InMiPiJsb25nIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KSk8L3NwYW4+IDxzcGFuIGNsYXNzPSJr
Ij57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MTAy
PC90ZD48dGQgY2xhc3M9ImhpdHMiPjQxPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAg
ICAgICAgIHJldCA8c3BhbiBjbGFzcz0iayI+Kz08L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4ibG9u
ZyI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0
Ij4gPHRkIGNsYXNzPSJsaW5lIj4xMDM8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDE8L3RkPjx0ZCBj
bGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwv
c3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjEwNDwvdGQ+
PHRkIGNsYXNzPSJoaXRzIj40MzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAg
ICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPmNvbnN1
bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5JRDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3Bh
biBjbGFzcz0icyI+ImxvbmciPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pKTwvc3Bhbj4gPHNwYW4g
Y2xhc3M9ImsiPnJldHVybjwvc3Bhbj4gcmV0IDxzcGFuIGNsYXNzPSJrIj4rPC9zcGFuPiA8c3Bh
biBjbGFzcz0icyI+IiBsb25nIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwv
dHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjEwNTwvdGQ+PHRkIGNsYXNzPSJo
aXRzIj4zOTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFz
cz0iayI+cmV0dXJuPC9zcGFuPiByZXQ8c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+
PHRyPjx0ZCBjbGFzcz0ibGluZSI+MTA2PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNs
YXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90
cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MTA3PC90ZD48dGQgY2xhc3M9Imhp
dHMiPjIxODwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJr
Ij5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+cmV0PHNwYW4gY2xhc3M9ImsiPik8
L3NwYW4+IGVycm9yPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9InMiPiJGYWls
ZWQgdG8gcGFyc2UgaW50ZWdlciB0eXBlIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+
PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjEwODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48
L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjxz
cGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj4xMDk8
L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8L3Rk
PjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjExMDwvdGQ+PHRkIGNsYXNz
PSJoaXRzIj40NzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9Imsi
PnZhcjwvc3Bhbj4gZmxvYXRfdHlwZSA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xh
c3M9ImsiPmZ1bmN0aW9uPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KCk8L3NwYW4+IDxzcGFuIGNs
YXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGlu
ZSI+MTExPC90ZD48dGQgY2xhc3M9ImhpdHMiPjIxODwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAg
ICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IHJldCA8c3BhbiBjbGFzcz0iayI+
PTwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiIiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFu
PjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MTEyPC90ZD48dGQg
Y2xhc3M9ImhpdHMiPjIxODwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIGFsbF93
czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRk
IGNsYXNzPSJsaW5lIj4xMTM8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MjIyPC90ZD48dGQgY2xhc3M9
InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFz
cz0iayI+KDwvc3Bhbj5jb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+SUQ8c3BhbiBjbGFz
cz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJ1bnJlc3RyaWN0ZWQiPC9zcGFuPjxzcGFu
IGNsYXNzPSJrIj4pKTwvc3Bhbj4gcmV0IDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBj
bGFzcz0icyI+InVucmVzdHJpY3RlZCAiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwv
dGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MTE0PC90ZD48dGQgY2xh
c3M9ImhpdHMiPjIxODwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIGFsbF93czxz
cGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNs
YXNzPSJsaW5lIj4xMTU8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MjU3PC90ZD48dGQgY2xhc3M9InNv
dXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0i
ayI+KDwvc3Bhbj5jb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+SUQ8c3BhbiBjbGFzcz0i
ayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJmbG9hdCI8L3NwYW4+PHNwYW4gY2xhc3M9Imsi
PikpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+cmV0dXJuPC9zcGFuPiByZXQgPHNwYW4gY2xhc3M9
ImsiPis8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iZmxvYXQiPC9zcGFuPjxzcGFuIGNsYXNzPSJr
Ij47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MTE2
PC90ZD48dGQgY2xhc3M9ImhpdHMiPjE4MjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAg
ICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+Y29u
c3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPklEPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxz
cGFuIGNsYXNzPSJzIj4iZG91YmxlIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KSk8L3NwYW4+IDxz
cGFuIGNsYXNzPSJrIj5yZXR1cm48L3NwYW4+IHJldCA8c3BhbiBjbGFzcz0iayI+Kzwvc3Bhbj4g
PHNwYW4gY2xhc3M9InMiPiJkb3VibGUiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwv
dGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MTE3PC90ZD48dGQgY2xh
c3M9ImhpdHMiPjE3NjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNs
YXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+cmV0PHNwYW4gY2xhc3M9
ImsiPik8L3NwYW4+IGVycm9yPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9InMi
PiJGYWlsZWQgdG8gcGFyc2UgZmxvYXQgdHlwZSI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7PC9z
cGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj4xMTg8L3RkPjx0ZCBjbGFzcz0iaGl0
cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bh
bj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+
MTE5PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAg
PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4xMjA8L3RkPjx0ZCBj
bGFzcz0iaGl0cyI+NDc8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxzcGFuIGNsYXNz
PSJrIj52YXI8L3NwYW4+IHByaW1pdGl2ZV90eXBlIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8
c3BhbiBjbGFzcz0iayI+ZnVuY3Rpb248L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oKTwvc3Bhbj4g
PHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNs
YXNzPSJsaW5lIj4xMjE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MjczPC90ZD48dGQgY2xhc3M9InNv
dXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gbnVtX3R5cGUgPHNw
YW4gY2xhc3M9ImsiPj08L3NwYW4+IGludGVnZXJfdHlwZTxzcGFuIGNsYXNzPSJrIj4oKTwvc3Bh
bj4gPHNwYW4gY2xhc3M9ImsiPnx8PC9zcGFuPiBmbG9hdF90eXBlPHNwYW4gY2xhc3M9ImsiPigp
Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjEyMjwv
dGQ+PHRkIGNsYXNzPSJoaXRzIj4zNzA8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAg
ICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPm51bV90
eXBlPHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5yZXR1cm48L3NwYW4+
IG51bV90eXBlPHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0
Ij4gPHRkIGNsYXNzPSJsaW5lIj4xMjM8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTc2PC90ZD48dGQg
Y2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bh
bj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjEyNDwvdGQ+PHRk
IGNsYXNzPSJoaXRzIj4xODY8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3Bh
biBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPmNvbnN1bWU8c3Bh
biBjbGFzcz0iayI+KDwvc3Bhbj5JRDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFz
cz0icyI+ImJvb2xlYW4iPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pKTwvc3Bhbj4gPHNwYW4gY2xh
c3M9ImsiPnJldHVybjwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJib29sZWFuIjwvc3Bhbj48c3Bh
biBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9
ImxpbmUiPjEyNTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xNjc8L3RkPjx0ZCBjbGFzcz0ic291cmNl
Ij4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4o
PC9zcGFuPmNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5JRDxzcGFuIGNsYXNzPSJrIj4s
PC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+ImJ5dGUiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pKTwv
c3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnJldHVybjwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJieXRl
Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQi
PiA8dGQgY2xhc3M9ImxpbmUiPjEyNjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xNjg8L3RkPjx0ZCBj
bGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFu
IGNsYXNzPSJrIj4oPC9zcGFuPmNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5JRDxzcGFu
IGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+Im9jdGV0Ijwvc3Bhbj48c3BhbiBj
bGFzcz0iayI+KSk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5yZXR1cm48L3NwYW4+IDxzcGFuIGNs
YXNzPSJzIj4ib2N0ZXQiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48
dHI+PHRkIGNsYXNzPSJsaW5lIj4xMjc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48c3BhbiBjbGFzcz0i
ayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+MTI4PC90ZD48dGQgY2xh
c3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPC90ZD48L3RyPjx0ciBj
bGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4xMjk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDc8
L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+
IGNvbnN0X3ZhbHVlIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ZnVu
Y3Rpb248L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8
L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4xMzA8L3Rk
Pjx0ZCBjbGFzcz0iaGl0cyI+MTc8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8
c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPmNvbnN1bWU8
c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5JRDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBj
bGFzcz0icyI+InRydWUiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pKTwvc3Bhbj4gPHNwYW4gY2xh
c3M9ImsiPnJldHVybjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnRydWU8L3NwYW4+PHNwYW4gY2xh
c3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5l
Ij4xMzE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTk8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAg
ICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFu
PmNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5JRDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFu
PiA8c3BhbiBjbGFzcz0icyI+ImZhbHNlIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KSk8L3NwYW4+
IDxzcGFuIGNsYXNzPSJrIj5yZXR1cm48L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5mYWxzZTwvc3Bh
bj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQg
Y2xhc3M9ImxpbmUiPjEzMjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xNzwvdGQ+PHRkIGNsYXNzPSJz
b3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9
ImsiPig8L3NwYW4+Y29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPklEPHNwYW4gY2xhc3M9
ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4ibnVsbCI8L3NwYW4+PHNwYW4gY2xhc3M9Imsi
PikpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+cmV0dXJuPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+
bnVsbDwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJo
aXQiPiA8dGQgY2xhc3M9ImxpbmUiPjEzMzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xNDwvdGQ+PHRk
IGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNw
YW4gY2xhc3M9ImsiPig8L3NwYW4+Y29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPklEPHNw
YW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iSW5maW5pdHkiPC9zcGFuPjxz
cGFuIGNsYXNzPSJrIj4pKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnJldHVybjwvc3Bhbj4gSW5m
aW5pdHk8c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8
dGQgY2xhc3M9ImxpbmUiPjEzNDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xMzwvdGQ+PHRkIGNsYXNz
PSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xh
c3M9ImsiPig8L3NwYW4+Y29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPklEPHNwYW4gY2xh
c3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iTmFOIjwvc3Bhbj48c3BhbiBjbGFzcz0i
ayI+KSk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5yZXR1cm48L3NwYW4+IE5hTjxzcGFuIGNsYXNz
PSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+
MTM1PC90ZD48dGQgY2xhc3M9ImhpdHMiPjExPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAg
ICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gcmV0IDxzcGFuIGNsYXNzPSJrIj49PC9z
cGFuPiBjb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+RkxPQVQ8c3BhbiBjbGFzcz0iayI+
KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnx8PC9zcGFuPiBjb25zdW1lPHNwYW4gY2xhc3M9Imsi
Pig8L3NwYW4+SU5UPHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9
ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MTM2PC90ZD48dGQgY2xhc3M9ImhpdHMiPjE5PC90ZD48
dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8
c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5yZXQ8c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4g
Y2xhc3M9ImsiPnJldHVybjwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPjE8L3NwYW4+IDxzcGFuIGNs
YXNzPSJrIj4qPC9zcGFuPiByZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj52YWx1ZTxzcGFuIGNs
YXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGlu
ZSI+MTM3PC90ZD48dGQgY2xhc3M9ImhpdHMiPjM8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAg
ICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiB0b2sgPHNwYW4gY2xhc3M9ImsiPj08
L3NwYW4+IGNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5PVEhFUjxzcGFuIGNsYXNzPSJr
Ij4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+Ii0iPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwv
c3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjEzODwvdGQ+
PHRkIGNsYXNzPSJoaXRzIj4zPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNw
YW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj50b2s8c3BhbiBj
bGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBj
bGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4xMzk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+Mjwv
dGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8
L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPmNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwv
c3Bhbj5JRDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+IkluZmluaXR5
Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KSk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5yZXR1cm48
L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4tPC9zcGFuPkluZmluaXR5PHNwYW4gY2xhc3M9ImsiPjs8
L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0ibWlzcyI+IDx0ZCBjbGFzcz0ibGluZSI+MTQwPC90
ZD48dGQgY2xhc3M9ImhpdHMiPjA8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAg
ICAgPHNwYW4gY2xhc3M9ImsiPmVsc2U8L3NwYW4+IHRva2VuczxzcGFuIGNsYXNzPSJrIj4uPC9z
cGFuPnVuc2hpZnQ8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj50b2s8c3BhbiBjbGFzcz0iayI+KTs8
L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjE0MTwvdGQ+PHRkIGNsYXNzPSJo
aXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+
fTwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+MTQyPC90ZD48dGQgY2xhc3M9
ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08
L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9Imxp
bmUiPjE0MzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAg
ICAgIDwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MTQ0PC90ZD48
dGQgY2xhc3M9ImhpdHMiPjQ3PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8c3BhbiBj
bGFzcz0iayI+dmFyPC9zcGFuPiB0eXBlX3N1ZmZpeCA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4g
PHNwYW4gY2xhc3M9ImsiPmZ1bmN0aW9uPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5v
Ymo8c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48
L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4xNDU8L3RkPjx0ZCBjbGFzcz0i
aGl0cyI+MjQ5PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9
ImsiPndoaWxlPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0iayI+
dHJ1ZTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3Nw
YW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4xNDY8L3RkPjx0
ZCBjbGFzcz0iaGl0cyI+MjYzPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAg
IGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0
Ij4gPHRkIGNsYXNzPSJsaW5lIj4xNDc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MjYzPC90ZD48dGQg
Y2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4g
PHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+Y29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPk9U
SEVSPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iPyI8L3NwYW4+PHNw
YW4gY2xhc3M9ImsiPikpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+
PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjE0ODwvdGQ+PHRkIGNsYXNzPSJoaXRz
Ij4xMTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xh
c3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5vYmo8c3BhbiBjbGFzcz0i
ayI+Ljwvc3Bhbj5udWxsYWJsZTxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiBlcnJvcjxzcGFuIGNs
YXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4iQ2FuJ3QgbnVsbGFibGUgbW9yZSB0aGFu
IG9uY2UiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNz
PSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjE0OTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xMTwvdGQ+
PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAgb2JqPHNwYW4gY2xhc3M9Imsi
Pi48L3NwYW4+bnVsbGFibGUgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJr
Ij50cnVlPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNs
YXNzPSJsaW5lIj4xNTA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJj
ZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90cj48dHIg
Y2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MTUxPC90ZD48dGQgY2xhc3M9ImhpdHMiPjI1
MjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+
ZWxzZTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwv
c3Bhbj5jb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+T1RIRVI8c3BhbiBjbGFzcz0iayI+
LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJbIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KSk8L3Nw
YW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0
ZCBjbGFzcz0ibGluZSI+MTUyPC90ZD48dGQgY2xhc3M9ImhpdHMiPjM8L3RkPjx0ZCBjbGFzcz0i
c291cmNlIj4gICAgICAgICAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3Nw
YW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4xNTM8L3RkPjx0
ZCBjbGFzcz0iaGl0cyI+MzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAg
ICAgY29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPk9USEVSPHNwYW4gY2xhc3M9ImsiPiw8
L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iXSI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+
IDxzcGFuIGNsYXNzPSJrIj58fDwvc3Bhbj4gZXJyb3I8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48
c3BhbiBjbGFzcz0icyI+IlVudGVybWluYXRlZCBhcnJheSB0eXBlIjwvc3Bhbj48c3BhbiBjbGFz
cz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5l
Ij4xNTQ8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAg
ICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+
KCE8L3NwYW4+b2JqPHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+YXJyYXk8c3BhbiBjbGFzcz0iayI+
KTwvc3Bhbj4gb2JqPHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+YXJyYXkgPHNwYW4gY2xhc3M9Imsi
Pj08L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4xPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFu
PjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MTU1PC90ZD48dGQg
Y2xhc3M9ImhpdHMiPjE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAg
IDxzcGFuIGNsYXNzPSJrIj5lbHNlPC9zcGFuPiBvYmo8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5h
cnJheTxzcGFuIGNsYXNzPSJrIj4rKzs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9Imxp
bmUiPjE1NjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAg
ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0i
aGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4xNTc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MjQ5PC90ZD48
dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5lbHNlPC9z
cGFuPiA8c3BhbiBjbGFzcz0iayI+cmV0dXJuPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFu
PjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj4xNTg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+
PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3Nw
YW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjE1OTwvdGQ+PHRkIGNsYXNzPSJoaXRz
Ij48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFu
PjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj4x
NjA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8
L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjE2MTwvdGQ+PHRkIGNs
YXNzPSJoaXRzIj40NzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9
ImsiPnZhcjwvc3Bhbj4gc2luZ2xlX3R5cGUgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFu
IGNsYXNzPSJrIj5mdW5jdGlvbjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPigpPC9zcGFuPiA8c3Bh
biBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9
ImxpbmUiPjE2MjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yNjE8L3RkPjx0ZCBjbGFzcz0ic291cmNl
Ij4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiBwcmltIDxzcGFuIGNsYXNz
PSJrIj49PC9zcGFuPiBwcmltaXRpdmVfdHlwZTxzcGFuIGNsYXNzPSJrIj4oKTwvc3Bhbj48L3Rk
PjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+MTYzPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+
PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiAg
IHJldCA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+IHNl
cXVlbmNlPHNwYW4gY2xhc3M9ImsiPjo8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5mYWxzZTwvc3Bh
bj48c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gbnVsbGFibGU8c3BhbiBjbGFzcz0iayI+Ojwvc3Bh
bj4gPHNwYW4gY2xhc3M9ImsiPmZhbHNlPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiBh
cnJheTxzcGFuIGNsYXNzPSJrIj46PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ZmFsc2U8L3NwYW4+
PHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IHVuaW9uPHNwYW4gY2xhc3M9ImsiPjo8L3NwYW4+IDxz
cGFuIGNsYXNzPSJrIj5mYWxzZTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PC90ZD48
L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjE2NDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0
ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3Rk
PjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjE2NTwvdGQ+PHRkIGNsYXNz
PSJoaXRzIj4yNjE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFz
cz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPnByaW08c3BhbiBjbGFzcz0i
ayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0i
aGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4xNjY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+OTk8L3RkPjx0
ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgcmV0PHNwYW4gY2xhc3M9ImsiPi48L3Nw
YW4+aWRsVHlwZSA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gcHJpbTxzcGFuIGNsYXNzPSJrIj47
PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj4xNjc8L3RkPjx0ZCBjbGFzcz0i
aGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9Imsi
Pn08L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4xNjg8
L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTYyPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAg
ICAgPHNwYW4gY2xhc3M9ImsiPmVsc2U8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4g
PHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+Y29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPklE
PHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4ic2VxdWVuY2UiPC9zcGFu
PjxzcGFuIGNsYXNzPSJrIj4pKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48
L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4xNjk8L3RkPjx0ZCBjbGFzcz0i
aGl0cyI+NDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICBhbGxfd3M8c3Bh
biBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFz
cz0ibGluZSI+MTcwPC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ8L3RkPjx0ZCBjbGFzcz0ic291cmNl
Ij4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0i
ayI+KCE8L3NwYW4+Y29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPk9USEVSPHNwYW4gY2xh
c3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iPCI8L3NwYW4+PHNwYW4gY2xhc3M9Imsi
PikpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJt
aXNzIj4gPHRkIGNsYXNzPSJsaW5lIj4xNzE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MDwvdGQ+PHRk
IGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAgcmV0PHNwYW4gY2xhc3M9ImsiPi48
L3NwYW4+aWRsVHlwZSA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJz
ZXF1ZW5jZSI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQg
Y2xhc3M9ImxpbmUiPjE3MjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291
cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PC90ZD48L3RyPjx0
cj48dGQgY2xhc3M9ImxpbmUiPjE3MzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFz
cz0ic291cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmVsc2U8L3NwYW4+IDxz
cGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFz
cz0ibGluZSI+MTc0PC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ8L3RkPjx0ZCBjbGFzcz0ic291cmNl
Ij4gICAgICAgICAgICAgICAgICAgIHJldDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnNlcXVlbmNl
IDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+dHJ1ZTwvc3Bhbj48c3Bh
biBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9
ImxpbmUiPjE3NTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+
ICAgICAgICAgICAgICAgICAgICByZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5pZGxUeXBlIDxz
cGFuIGNsYXNzPSJrIj49PC9zcGFuPiB0eXBlPHNwYW4gY2xhc3M9ImsiPigpPC9zcGFuPiA8c3Bh
biBjbGFzcz0iayI+fHw8L3NwYW4+IGVycm9yPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4g
Y2xhc3M9InMiPiJFcnJvciBwYXJzaW5nIHNlcXVlbmNlIHR5cGUiPC9zcGFuPjxzcGFuIGNsYXNz
PSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUi
PjE3NjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAg
ICAgICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48
dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MTc3PC90ZD48dGQgY2xhc3M9ImhpdHMi
PjQ8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNz
PSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPighPC9zcGFuPmNvbnN1bWU8c3BhbiBjbGFz
cz0iayI+KDwvc3Bhbj5PVEhFUjxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0i
cyI+Ij4iPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pKTwvc3Bhbj4gZXJyb3I8c3BhbiBjbGFzcz0i
ayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0icyI+IlVudGVybWluYXRlZCBzZXF1ZW5jZSI8L3NwYW4+
PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBj
bGFzcz0ibGluZSI+MTc4PC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ8L3RkPjx0ZCBjbGFzcz0ic291
cmNlIj4gICAgICAgICAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+
PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4xNzk8L3RkPjx0ZCBj
bGFzcz0iaGl0cyI+NTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAg
PHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5jb25zdW1l
PHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+T1RIRVI8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNw
YW4gY2xhc3M9InMiPiI/Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KSk8L3NwYW4+IHJldDxzcGFu
IGNsYXNzPSJrIj4uPC9zcGFuPm51bGxhYmxlIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3Bh
biBjbGFzcz0iayI+dHJ1ZTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+
PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjE4MDwvdGQ+PHRkIGNsYXNzPSJoaXRz
Ij40PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFz
cz0iayI+cmV0dXJuPC9zcGFuPiByZXQ8c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+
PHRyPjx0ZCBjbGFzcz0ibGluZSI+MTgxPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNs
YXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48L3Rk
PjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+MTgyPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+
PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjwv
dGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj4xODM8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90
ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmVsc2U8L3Nw
YW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0
ZCBjbGFzcz0ibGluZSI+MTg0PC90ZD48dGQgY2xhc3M9ImhpdHMiPjE1ODwvdGQ+PHRkIGNsYXNz
PSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiBuYW1l
IDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiBjb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+
SUQ8c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRk
IGNsYXNzPSJsaW5lIj4xODU8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTY5PC90ZD48dGQgY2xhc3M9
InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4g
Y2xhc3M9ImsiPighPC9zcGFuPm5hbWU8c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xh
c3M9ImsiPnJldHVybjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRy
IGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjE4NjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4x
NDc8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgcmV0PHNwYW4gY2xhc3M9
ImsiPi48L3NwYW4+aWRsVHlwZSA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gbmFtZTxzcGFuIGNs
YXNzPSJrIj4uPC9zcGFuPnZhbHVlPHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0
cj48dGQgY2xhc3M9ImxpbmUiPjE4NzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFz
cz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+
PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjE4ODwvdGQ+PHRkIGNsYXNzPSJoaXRz
Ij4yNDY8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICB0eXBlX3N1ZmZpeDxzcGFu
IGNsYXNzPSJrIj4oPC9zcGFuPnJldDxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+
PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjE4OTwvdGQ+PHRkIGNsYXNzPSJoaXRz
Ij4yNDY8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+
aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPnJldDxzcGFuIGNsYXNzPSJrIj4uPC9z
cGFuPm51bGxhYmxlIDxzcGFuIGNsYXNzPSJrIj4mYW1wOyZhbXA7PC9zcGFuPiByZXQ8c3BhbiBj
bGFzcz0iayI+Ljwvc3Bhbj5pZGxUeXBlIDxzcGFuIGNsYXNzPSJrIj49PT08L3NwYW4+IDxzcGFu
IGNsYXNzPSJzIj4iYW55Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gZXJyb3I8c3Bh
biBjbGFzcz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0icyI+IlR5cGUgYW55IGNhbm5vdCBiZSBt
YWRlIG51bGxhYmxlIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0
ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4xOTA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+
MjQ2PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnJl
dHVybjwvc3Bhbj4gcmV0PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQg
Y2xhc3M9ImxpbmUiPjE5MTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291
cmNlIj4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9z
cGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj4xOTI8L3RkPjx0ZCBjbGFzcz0iaGl0
cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8L3RkPjwvdHI+PHRyIGNsYXNzPSJo
aXQiPiA8dGQgY2xhc3M9ImxpbmUiPjE5MzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40NzwvdGQ+PHRk
IGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gdW5pb25f
dHlwZSA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPmZ1bmN0aW9uPC9z
cGFuPiA8c3BhbiBjbGFzcz0iayI+KCk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwv
dGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MTk0PC90ZD48dGQgY2xh
c3M9ImhpdHMiPjExPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgYWxsX3dzPHNw
YW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xh
c3M9ImxpbmUiPjE5NTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xOTwvdGQ+PHRkIGNsYXNzPSJzb3Vy
Y2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9Imsi
PighPC9zcGFuPmNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5PVEhFUjxzcGFuIGNsYXNz
PSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+IigiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4p
KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnJldHVybjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwv
c3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjE5NjwvdGQ+
PHRkIGNsYXNzPSJoaXRzIj4zPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNw
YW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gcmV0IDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3Bh
biBjbGFzcz0iayI+ezwvc3Bhbj4gc2VxdWVuY2U8c3BhbiBjbGFzcz0iayI+Ojwvc3Bhbj4gPHNw
YW4gY2xhc3M9ImsiPmZhbHNlPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiBudWxsYWJs
ZTxzcGFuIGNsYXNzPSJrIj46PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ZmFsc2U8L3NwYW4+PHNw
YW4gY2xhc3M9ImsiPiw8L3NwYW4+IGFycmF5PHNwYW4gY2xhc3M9ImsiPjo8L3NwYW4+IDxzcGFu
IGNsYXNzPSJrIj5mYWxzZTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gdW5pb248c3Bh
biBjbGFzcz0iayI+Ojwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnRydWU8L3NwYW4+PHNwYW4gY2xh
c3M9ImsiPiw8L3NwYW4+IGlkbFR5cGU8c3BhbiBjbGFzcz0iayI+Ojwvc3Bhbj4gPHNwYW4gY2xh
c3M9ImsiPltdPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+
Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjE5Nzwv
dGQ+PHRkIGNsYXNzPSJoaXRzIj4zPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAg
PHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gZnN0IDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiB0
eXBlPHNwYW4gY2xhc3M9ImsiPigpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+fHw8L3NwYW4+IGVy
cm9yPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9InMiPiJVbmlvbiB0eXBlIHdp
dGggbm8gY29udGVudCI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48
dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MTk4PC90ZD48dGQgY2xhc3M9ImhpdHMi
PjM8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICByZXQ8c3BhbiBjbGFzcz0iayI+
Ljwvc3Bhbj5pZGxUeXBlPHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+cHVzaDxzcGFuIGNsYXNzPSJr
Ij4oPC9zcGFuPmZzdDxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNz
PSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjE5OTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4zPC90ZD48
dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPndoaWxlPC9zcGFu
PiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0iayI+dHJ1ZTwvc3Bhbj48c3Bh
biBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0
ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4yMDA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+
NzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFz
cz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGlu
ZSI+MjAxPC90ZD48dGQgY2xhc3M9ImhpdHMiPjEwPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAg
ICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPigh
PC9zcGFuPmNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5JRDxzcGFuIGNsYXNzPSJrIj4s
PC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+Im9yIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KSk8L3Nw
YW4+IDxzcGFuIGNsYXNzPSJrIj5icmVhazwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48
L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjIwMjwvdGQ+PHRkIGNs
YXNzPSJoaXRzIj40PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFu
IGNsYXNzPSJrIj52YXI8L3NwYW4+IHR5cCA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gdHlwZTxz
cGFuIGNsYXNzPSJrIj4oKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnx8PC9zcGFuPiBlcnJvcjxz
cGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4iTm8gdHlwZSBhZnRlciAnb3In
IGluIHVuaW9uIHR5cGUiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+
PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjIwMzwvdGQ+PHRkIGNsYXNzPSJoaXRz
Ij40PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIHJldDxzcGFuIGNsYXNz
PSJrIj4uPC9zcGFuPmlkbFR5cGU8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5wdXNoPHNwYW4gY2xh
c3M9ImsiPig8L3NwYW4+dHlwPHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHI+
PHRkIGNsYXNzPSJsaW5lIj4yMDQ8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9
InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PC90ZD48L3RyPjx0
ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4yMDU8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+
MzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwv
c3Bhbj4gPHNwYW4gY2xhc3M9ImsiPighPC9zcGFuPmNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwv
c3Bhbj5PVEhFUjxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+IikiPC9z
cGFuPjxzcGFuIGNsYXNzPSJrIj4pKTwvc3Bhbj4gZXJyb3I8c3BhbiBjbGFzcz0iayI+KDwvc3Bh
bj48c3BhbiBjbGFzcz0icyI+IlVudGVybWluYXRlZCB1bmlvbiB0eXBlIjwvc3Bhbj48c3BhbiBj
bGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJs
aW5lIj4yMDY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAg
ICAgICAgICAgIHR5cGVfc3VmZml4PHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+cmV0PHNwYW4gY2xh
c3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGlu
ZSI+MjA3PC90ZD48dGQgY2xhc3M9ImhpdHMiPjM8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAg
ICAgICAgICA8c3BhbiBjbGFzcz0iayI+cmV0dXJuPC9zcGFuPiByZXQ8c3BhbiBjbGFzcz0iayI+
Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+MjA4PC90ZD48dGQgY2xhc3M9
ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08
L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9Imxp
bmUiPjIwOTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAg
ICAgIDwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MjEwPC90ZD48
dGQgY2xhc3M9ImhpdHMiPjQ3PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8c3BhbiBj
bGFzcz0iayI+dmFyPC9zcGFuPiB0eXBlIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBj
bGFzcz0iayI+ZnVuY3Rpb248L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oKTwvc3Bhbj4gPHNwYW4g
Y2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJs
aW5lIj4yMTE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MjYxPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+
ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnJldHVybjwvc3Bhbj4gc2luZ2xlX3R5cGU8c3Bh
biBjbGFzcz0iayI+KCk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj58fDwvc3Bhbj4gdW5pb25fdHlw
ZTxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUi
PjIxMjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAg
IDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90
cj48dHI+PHRkIGNsYXNzPSJsaW5lIj4yMTM8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQg
Y2xhc3M9InNvdXJjZSI+ICAgICAgICA8L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xh
c3M9ImxpbmUiPjIxNDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40NzwvdGQ+PHRkIGNsYXNzPSJzb3Vy
Y2UiPiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gYXJndW1lbnQgPHNwYW4gY2xh
c3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5mdW5jdGlvbjwvc3Bhbj4gPHNwYW4gY2xh
c3M9ImsiPigpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNs
YXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjIxNTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj43OTwv
dGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3Nw
YW4+IHJldCA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+
IG9wdGlvbmFsPHNwYW4gY2xhc3M9ImsiPjo8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5mYWxzZTwv
c3Bhbj48c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gdmFyaWFkaWM8c3BhbiBjbGFzcz0iayI+Ojwv
c3Bhbj4gPHNwYW4gY2xhc3M9ImsiPmZhbHNlPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+fTwvc3Bh
bj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQg
Y2xhc3M9ImxpbmUiPjIxNjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj43OTwvdGQ+PHRkIGNsYXNzPSJz
b3VyY2UiPiAgICAgICAgICAgIHJldDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPmV4dEF0dHJzIDxz
cGFuIGNsYXNzPSJrIj49PC9zcGFuPiBleHRlbmRlZF9hdHRyczxzcGFuIGNsYXNzPSJrIj4oKTs8
L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4yMTc8L3Rk
Pjx0ZCBjbGFzcz0iaGl0cyI+Nzk8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICBh
bGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+
IDx0ZCBjbGFzcz0ibGluZSI+MjE4PC90ZD48dGQgY2xhc3M9ImhpdHMiPjc5PC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBj
bGFzcz0iayI+KDwvc3Bhbj5jb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+SUQ8c3BhbiBj
bGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJvcHRpb25hbCI8L3NwYW4+PHNwYW4g
Y2xhc3M9ImsiPikpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRy
IGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjIxOTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4y
PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIHJldDxzcGFuIGNsYXNzPSJr
Ij4uPC9zcGFuPm9wdGlvbmFsIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0i
ayI+dHJ1ZTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNz
PSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjIyMDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yPC90ZD48
dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4o
KTs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjIyMTwvdGQ+PHRkIGNsYXNz
PSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0i
ayI+fTwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjIy
MjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj43OTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAg
ICAgIHJldDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnR5cGUgPHNwYW4gY2xhc3M9ImsiPj08L3Nw
YW4+IHR5cGU8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9Imhp
dCI+IDx0ZCBjbGFzcz0ibGluZSI+MjIzPC90ZD48dGQgY2xhc3M9ImhpdHMiPjg3PC90ZD48dGQg
Y2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3Bh
biBjbGFzcz0iayI+KCE8L3NwYW4+cmV0PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+dHlwZTxzcGFu
IGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+cmV0dXJuPC9zcGFuPjxzcGFuIGNs
YXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGlu
ZSI+MjI0PC90ZD48dGQgY2xhc3M9ImhpdHMiPjcxPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAg
ICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KCE8L3Nw
YW4+cmV0PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+b3B0aW9uYWw8c3BhbiBjbGFzcz0iayI+KTwv
c3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4g
PHRkIGNsYXNzPSJsaW5lIj4yMjU8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+Njk8L3RkPjx0ZCBjbGFz
cz0ic291cmNlIj4gICAgICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bh
bj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjIyNjwvdGQ+PHRk
IGNsYXNzPSJoaXRzIj42OTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8
c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPnRva2Vuczxz
cGFuIGNsYXNzPSJrIj4uPC9zcGFuPmxlbmd0aCA8c3BhbiBjbGFzcz0iayI+Pj08L3NwYW4+IDxz
cGFuIGNsYXNzPSJzIj4zPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+JmFtcDsmYW1wOzwvc3Bhbj48
L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+MjI3PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwv
dGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAgdG9rZW5zPHNwYW4gY2xh
c3M9ImsiPls8L3NwYW4+PHNwYW4gY2xhc3M9InMiPjA8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPl0u
PC9zcGFuPnR5cGUgPHNwYW4gY2xhc3M9ImsiPj09PTwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJv
dGhlciI8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4mYW1wOyZhbXA7PC9zcGFuPiB0b2tlbnM8c3Bh
biBjbGFzcz0iayI+Wzwvc3Bhbj48c3BhbiBjbGFzcz0icyI+MDwvc3Bhbj48c3BhbiBjbGFzcz0i
ayI+XS48L3NwYW4+dmFsdWUgPHNwYW4gY2xhc3M9ImsiPj09PTwvc3Bhbj4gPHNwYW4gY2xhc3M9
InMiPiIuIjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPiZhbXA7JmFtcDs8L3NwYW4+PC90ZD48L3Ry
Pjx0cj48dGQgY2xhc3M9ImxpbmUiPjIyODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBj
bGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAgIHRva2VuczxzcGFuIGNsYXNzPSJrIj5b
PC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4xPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj5dLjwvc3Bhbj50
eXBlIDxzcGFuIGNsYXNzPSJrIj49PT08L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4ib3RoZXIiPC9z
cGFuPiA8c3BhbiBjbGFzcz0iayI+JmFtcDsmYW1wOzwvc3Bhbj4gdG9rZW5zPHNwYW4gY2xhc3M9
ImsiPls8L3NwYW4+PHNwYW4gY2xhc3M9InMiPjE8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPl0uPC9z
cGFuPnZhbHVlIDxzcGFuIGNsYXNzPSJrIj49PT08L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iLiI8
L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4mYW1wOyZhbXA7PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRk
IGNsYXNzPSJsaW5lIj4yMjk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNv
dXJjZSI+ICAgICAgICAgICAgICAgICAgICB0b2tlbnM8c3BhbiBjbGFzcz0iayI+Wzwvc3Bhbj48
c3BhbiBjbGFzcz0icyI+Mjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+XS48L3NwYW4+dHlwZSA8c3Bh
biBjbGFzcz0iayI+PT09PC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+Im90aGVyIjwvc3Bhbj4gPHNw
YW4gY2xhc3M9ImsiPiZhbXA7JmFtcDs8L3NwYW4+IHRva2VuczxzcGFuIGNsYXNzPSJrIj5bPC9z
cGFuPjxzcGFuIGNsYXNzPSJzIj4yPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj5dLjwvc3Bhbj52YWx1
ZSA8c3BhbiBjbGFzcz0iayI+PT09PC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+Ii4iPC9zcGFuPjwv
dGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj4yMzA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90
ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+
KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0
Ij4gPHRkIGNsYXNzPSJsaW5lIj4yMzE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDwvdGQ+PHRkIGNs
YXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAgdG9rZW5zPHNwYW4gY2xhc3M9ImsiPi48
L3NwYW4+c2hpZnQ8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9
ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MjMyPC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ8L3RkPjx0
ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAgIHRva2VuczxzcGFuIGNsYXNzPSJr
Ij4uPC9zcGFuPnNoaWZ0PHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNs
YXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjIzMzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40PC90
ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICB0b2tlbnM8c3BhbiBjbGFz
cz0iayI+Ljwvc3Bhbj5zaGlmdDxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0
ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4yMzQ8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+
NDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAgcmV0PHNwYW4gY2xh
c3M9ImsiPi48L3NwYW4+dmFyaWFkaWMgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNs
YXNzPSJrIj50cnVlPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+
PHRkIGNsYXNzPSJsaW5lIj4yMzU8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9
InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90
cj48dHI+PHRkIGNsYXNzPSJsaW5lIj4yMzY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQg
Y2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PC90ZD48
L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4yMzc8L3RkPjx0ZCBjbGFzcz0i
aGl0cyI+NzE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICBhbGxfd3M8c3BhbiBj
bGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0i
bGluZSI+MjM4PC90ZD48dGQgY2xhc3M9ImhpdHMiPjcxPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+
ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gbmFtZSA8c3BhbiBjbGFzcz0i
ayI+PTwvc3Bhbj4gY29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPklEPHNwYW4gY2xhc3M9
ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj58fDwvc3Bhbj4gZXJyb3I8c3BhbiBjbGFzcz0i
ayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0icyI+Ik5vIG5hbWUgaW4gYXJndW1lbnQiPC9zcGFuPjxz
cGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xh
c3M9ImxpbmUiPjIzOTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj43MTwvdGQ+PHRkIGNsYXNzPSJzb3Vy
Y2UiPiAgICAgICAgICAgIHJldDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPm5hbWUgPHNwYW4gY2xh
c3M9ImsiPj08L3NwYW4+IG5hbWU8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj52YWx1ZTxzcGFuIGNs
YXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGlu
ZSI+MjQwPC90ZD48dGQgY2xhc3M9ImhpdHMiPjcxPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAg
ICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bh
bj5yZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5vcHRpb25hbDxzcGFuIGNsYXNzPSJrIj4pPC9z
cGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8
dGQgY2xhc3M9ImxpbmUiPjI0MTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yPC90ZD48dGQgY2xhc3M9
InNvdXJjZSI+ICAgICAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+
PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4yNDI8L3RkPjx0ZCBj
bGFzcz0iaGl0cyI+MjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICByZXQ8
c3BhbiBjbGFzcz0iayI+Wzwvc3Bhbj48c3BhbiBjbGFzcz0icyI+ImRlZmF1bHQiPC9zcGFuPjxz
cGFuIGNsYXNzPSJrIj5dPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gZGVmYXVsdF88
c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj4y
NDM8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAg
ICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRk
IGNsYXNzPSJsaW5lIj4yNDQ8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NzE8L3RkPjx0ZCBjbGFzcz0i
c291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+cmV0dXJuPC9zcGFuPiByZXQ8c3Bh
biBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+MjQ1PC90
ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4g
Y2xhc3M9ImsiPn08L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48
dGQgY2xhc3M9ImxpbmUiPjI0NjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0i
c291cmNlIj4gICAgICAgIDwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGlu
ZSI+MjQ3PC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ3PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAg
ICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiBhcmd1bWVudF9saXN0IDxzcGFuIGNsYXNz
PSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ZnVuY3Rpb248L3NwYW4+IDxzcGFuIGNsYXNz
PSJrIj4oKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFz
cz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4yNDg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NTk8L3Rk
Pjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFu
PiBhcmcgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IGFyZ3VtZW50PHNwYW4gY2xhc3M9ImsiPigp
LDwvc3Bhbj4gcmV0IDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+W107
PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MjQ5PC90
ZD48dGQgY2xhc3M9ImhpdHMiPjY3PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAg
PHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KCE8L3NwYW4+YXJnPHNw
YW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5yZXR1cm48L3NwYW4+IHJldDxz
cGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFz
cz0ibGluZSI+MjUwPC90ZD48dGQgY2xhc3M9ImhpdHMiPjUxPC90ZD48dGQgY2xhc3M9InNvdXJj
ZSI+ICAgICAgICAgICAgcmV0PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+cHVzaDxzcGFuIGNsYXNz
PSJrIj4oPC9zcGFuPmFyZzxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNs
YXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjI1MTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj41MTwv
dGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj53aGlsZTwv
c3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPnRydWU8L3NwYW4+
PHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90
cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MjUyPC90ZD48dGQgY2xhc3M9Imhp
dHMiPjcxPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIGFsbF93czxzcGFu
IGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNz
PSJsaW5lIj4yNTM8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTIyPC90ZD48dGQgY2xhc3M9InNvdXJj
ZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9
ImsiPighPC9zcGFuPmNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5PVEhFUjxzcGFuIGNs
YXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+IiwiPC9zcGFuPjxzcGFuIGNsYXNzPSJr
Ij4pKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnJldHVybjwvc3Bhbj4gcmV0PHNwYW4gY2xhc3M9
ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4y
NTQ8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MjA8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAg
ICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNs
YXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjI1NTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yMDwv
dGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFy
PC9zcGFuPiBueHQgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IGFyZ3VtZW50PHNwYW4gY2xhc3M9
ImsiPigpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+fHw8L3NwYW4+IGVycm9yPHNwYW4gY2xhc3M9
ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9InMiPiJUcmFpbGluZyBjb21tYSBpbiBhcmd1bWVudHMg
bGlzdCI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9
ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MjU2PC90ZD48dGQgY2xhc3M9ImhpdHMiPjIwPC90ZD48
dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIHJldDxzcGFuIGNsYXNzPSJrIj4uPC9z
cGFuPnB1c2g8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5ueHQ8c3BhbiBjbGFzcz0iayI+KTs8L3Nw
YW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjI1NzwvdGQ+PHRkIGNsYXNzPSJoaXRz
Ij48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwv
c3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+MjU4PC90ZD48dGQgY2xhc3M9Imhp
dHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3Nw
YW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUi
PjI1OTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAg
IDwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MjYwPC90ZD48dGQg
Y2xhc3M9ImhpdHMiPjQ3PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFz
cz0iayI+dmFyPC9zcGFuPiBzaW1wbGVfZXh0ZW5kZWRfYXR0ciA8c3BhbiBjbGFzcz0iayI+PTwv
c3Bhbj4gPHNwYW4gY2xhc3M9ImsiPmZ1bmN0aW9uPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KCk8
L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+
IDx0ZCBjbGFzcz0ibGluZSI+MjYxPC90ZD48dGQgY2xhc3M9ImhpdHMiPjE3PC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+ICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48
L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjI2MjwvdGQ+PHRkIGNs
YXNzPSJoaXRzIj4xNzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNs
YXNzPSJrIj52YXI8L3NwYW4+IG5hbWUgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IGNvbnN1bWU8
c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5JRDxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwv
dHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjI2MzwvdGQ+PHRkIGNsYXNzPSJo
aXRzIj4xNzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJr
Ij5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPighPC9zcGFuPm5hbWU8c3BhbiBjbGFzcz0iayI+
KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnJldHVybjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwv
c3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjI2NDwvdGQ+
PHRkIGNsYXNzPSJoaXRzIj4xNzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxz
cGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IHJldCA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNw
YW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjI2NTwv
dGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAg
ICAgbmFtZTxzcGFuIGNsYXNzPSJrIj46PC9zcGFuPiBuYW1lPHNwYW4gY2xhc3M9ImsiPi48L3Nw
YW4+dmFsdWU8L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+MjY2PC90ZD48dGQgY2xhc3M9
ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJr
Ij4sPC9zcGFuPiAgIDxzcGFuIGNsYXNzPSJzIj4iYXJndW1lbnRzIjwvc3Bhbj48c3BhbiBjbGFz
cz0iayI+Ojwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPm51bGw8L3NwYW4+PC90ZD48L3RyPjx0cj48
dGQgY2xhc3M9ImxpbmUiPjI2NzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0i
c291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48c3BhbiBjbGFzcz0i
ayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjI2
ODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xNzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAg
ICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0i
aGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4yNjk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTc8L3RkPjx0
ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiBl
cSA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gY29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFu
Pk9USEVSPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iPSI8L3NwYW4+
PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBj
bGFzcz0ibGluZSI+MjcwPC90ZD48dGQgY2xhc3M9ImhpdHMiPjE3PC90ZD48dGQgY2xhc3M9InNv
dXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0i
ayI+KDwvc3Bhbj5lcTxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwv
c3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjI3MTwvdGQ+
PHRkIGNsYXNzPSJoaXRzIj41PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAg
IGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0
Ij4gPHRkIGNsYXNzPSJsaW5lIj4yNzI8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NTwvdGQ+PHRkIGNs
YXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICByZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5y
aHMgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IGNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bh
bj5JRDxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8
dGQgY2xhc3M9ImxpbmUiPjI3MzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj41PC90ZD48dGQgY2xhc3M9
InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4g
Y2xhc3M9ImsiPighPC9zcGFuPnJldDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnJoczxzcGFuIGNs
YXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+cmV0dXJuPC9zcGFuPiBlcnJvcjxzcGFu
IGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4iTm8gcmlnaHQgaGFuZCBzaWRlIHRv
IGV4dGVuZGVkIGF0dHJpYnV0ZSBhc3NpZ25tZW50Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTs8
L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjI3NDwvdGQ+PHRkIGNsYXNzPSJo
aXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+
fTwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjI3NTwv
dGQ+PHRkIGNsYXNzPSJoaXRzIj4xNzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAg
IGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0
Ij4gPHRkIGNsYXNzPSJsaW5lIj4yNzY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTc8L3RkPjx0ZCBj
bGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFu
IGNsYXNzPSJrIj4oPC9zcGFuPmNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5PVEhFUjxz
cGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+IigiPC9zcGFuPjxzcGFuIGNs
YXNzPSJrIj4pKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBj
bGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4yNzc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+Mjwv
dGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICByZXQ8c3BhbiBjbGFzcz0iayI+
Wzwvc3Bhbj48c3BhbiBjbGFzcz0icyI+ImFyZ3VtZW50cyI8L3NwYW4+PHNwYW4gY2xhc3M9Imsi
Pl08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiBhcmd1bWVudF9saXN0PHNwYW4gY2xh
c3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9Imxp
bmUiPjI3ODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAg
ICAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0
ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4yNzk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+
MjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICBjb25zdW1lPHNwYW4gY2xh
c3M9ImsiPig8L3NwYW4+T1RIRVI8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9
InMiPiIpIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnx8
PC9zcGFuPiBlcnJvcjxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4iVW5j
bG9zZWQgYXJndW1lbnQgaW4gZXh0ZW5kZWQgYXR0cmlidXRlIjwvc3Bhbj48c3BhbiBjbGFzcz0i
ayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjI4MDwvdGQ+PHRkIGNs
YXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFz
cz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUi
PjI4MTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xNzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAg
ICAgICAgIDxzcGFuIGNsYXNzPSJrIj5yZXR1cm48L3NwYW4+IHJldDxzcGFuIGNsYXNzPSJrIj47
PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj4yODI8L3RkPjx0ZCBjbGFzcz0i
aGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwv
c3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGlu
ZSI+MjgzPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAg
ICAgPC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjI4NDwvdGQ+PHRkIGNsYXNzPSJoaXRz
Ij48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxzcGFuIGNsYXNzPSJjIj4vLyBOb3Rl
OiB3ZSBwYXJzZSBzb21ldGhpbmcgc2ltcGxlciB0aGFuIHRoZSBvZmZpY2lhbCBzeW50YXguIEl0
J3MgYWxsIHRoYXQgZXZlcjwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+Mjg1
PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNw
YW4gY2xhc3M9ImMiPi8vIHNlZW1zIHRvIGJlIHVzZWQ8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFz
cz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4yODY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDc8L3Rk
Pjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IGV4
dGVuZGVkX2F0dHJzIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ZnVu
Y3Rpb248L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8
L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4yODc8L3Rk
Pjx0ZCBjbGFzcz0iaGl0cyI+NDE1PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAg
PHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gZWFzIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8
c3BhbiBjbGFzcz0iayI+W107PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBj
bGFzcz0ibGluZSI+Mjg4PC90ZD48dGQgY2xhc3M9ImhpdHMiPjQxNTwvdGQ+PHRkIGNsYXNzPSJz
b3VyY2UiPiAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48
L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4yODk8L3RkPjx0ZCBjbGFzcz0i
aGl0cyI+ODE1PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9
ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KCE8L3NwYW4+Y29uc3VtZTxzcGFuIGNsYXNz
PSJrIj4oPC9zcGFuPk9USEVSPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJz
Ij4iWyI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPikpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+cmV0
dXJuPC9zcGFuPiBlYXM8c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNz
PSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjI5MDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xNTwvdGQ+
PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIGVhczxzcGFuIGNsYXNzPSJrIj5bPC9zcGFu
PjxzcGFuIGNsYXNzPSJzIj4wPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj5dPC9zcGFuPiA8c3BhbiBj
bGFzcz0iayI+PTwvc3Bhbj4gc2ltcGxlX2V4dGVuZGVkX2F0dHI8c3BhbiBjbGFzcz0iayI+KCk8
L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj58fDwvc3Bhbj4gZXJyb3I8c3BhbiBjbGFzcz0iayI+KDwv
c3Bhbj48c3BhbiBjbGFzcz0icyI+IkV4dGVuZGVkIGF0dHJpYnV0ZSB3aXRoIG5vdCBjb250ZW50
Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0
Ij4gPHRkIGNsYXNzPSJsaW5lIj4yOTE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTU8L3RkPjx0ZCBj
bGFzcz0ic291cmNlIj4gICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFu
PjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MjkyPC90ZD48dGQg
Y2xhc3M9ImhpdHMiPjE1PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4g
Y2xhc3M9ImsiPndoaWxlPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5jb25zdW1lPHNw
YW4gY2xhc3M9ImsiPig8L3NwYW4+T1RIRVI8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4g
Y2xhc3M9InMiPiIsIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KSk8L3NwYW4+IDxzcGFuIGNsYXNz
PSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+
MjkzPC90ZD48dGQgY2xhc3M9ImhpdHMiPjI8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAg
ICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNs
YXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjI5NDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yPC90
ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIGVhczxzcGFuIGNsYXNzPSJrIj4u
PC9zcGFuPnB1c2g8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5zaW1wbGVfZXh0ZW5kZWRfYXR0cjxz
cGFuIGNsYXNzPSJrIj4oKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnx8PC9zcGFuPiBlcnJvcjxz
cGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4iVHJhaWxpbmcgY29tbWEgaW4g
ZXh0ZW5kZWQgYXR0cmlidXRlIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KSk7PC9zcGFuPjwvdGQ+
PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+Mjk1PC90ZD48dGQgY2xhc3M9
ImhpdHMiPjI8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgYWxsX3dzPHNw
YW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+Mjk2
PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAg
IDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBj
bGFzcz0ibGluZSI+Mjk3PC90ZD48dGQgY2xhc3M9ImhpdHMiPjE1PC90ZD48dGQgY2xhc3M9InNv
dXJjZSI+ICAgICAgICAgICAgY29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPk9USEVSPHNw
YW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iXSI8L3NwYW4+PHNwYW4gY2xh
c3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj58fDwvc3Bhbj4gZXJyb3I8c3BhbiBjbGFz
cz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0icyI+Ik5vIGVuZCBvZiBleHRlbmRlZCBhdHRyaWJ1
dGUiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJo
aXQiPiA8dGQgY2xhc3M9ImxpbmUiPjI5ODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xNTwvdGQ+PHRk
IGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5yZXR1cm48L3NwYW4+
IGVhczxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5l
Ij4yOTk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAg
ICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwv
dHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+MzAwPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRk
IGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNs
YXNzPSJsaW5lIj4zMDE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDc8L3RkPjx0ZCBjbGFzcz0ic291
cmNlIj4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IGRlZmF1bHRfIDxzcGFuIGNs
YXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ZnVuY3Rpb248L3NwYW4+IDxzcGFuIGNs
YXNzPSJrIj4oKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBj
bGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4zMDI8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTE8
L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+
KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MzAz
PC90ZD48dGQgY2xhc3M9ImhpdHMiPjExPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAg
ICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5jb25z
dW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+T1RIRVI8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4g
PHNwYW4gY2xhc3M9InMiPiI9Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KSk8L3NwYW4+IDxzcGFu
IGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0i
bGluZSI+MzA0PC90ZD48dGQgY2xhc3M9ImhpdHMiPjU8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4g
ICAgICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+
PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjMwNTwvdGQ+PHRkIGNsYXNzPSJoaXRz
Ij41PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJr
Ij52YXI8L3NwYW4+IGRlZiA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gY29uc3RfdmFsdWU8c3Bh
biBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFz
cz0ibGluZSI+MzA2PC90ZD48dGQgY2xhc3M9ImhpdHMiPjU8L3RkPjx0ZCBjbGFzcz0ic291cmNl
Ij4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0i
ayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0iayI+dHlwZW9mPC9zcGFuPiBkZWYgPHNwYW4gY2xhc3M9
ImsiPiE9PTwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJ1bmRlZmluZWQiPC9zcGFuPjxzcGFuIGNs
YXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNs
YXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjMwNzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4zPC90
ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+
cmV0dXJuPC9zcGFuPiBkZWY8c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0
ZCBjbGFzcz0ibGluZSI+MzA4PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJz
b3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+
PHRyPjx0ZCBjbGFzcz0ibGluZSI+MzA5PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNs
YXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+ZWxzZTwvc3Bhbj4g
PHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNs
YXNzPSJsaW5lIj4zMTA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MjwvdGQ+PHRkIGNsYXNzPSJzb3Vy
Y2UiPiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gc3RyIDxz
cGFuIGNsYXNzPSJrIj49PC9zcGFuPiBjb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+U1RS
PHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj58fDwvc3Bhbj4gZXJyb3I8
c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0icyI+Ik5vIHZhbHVlIGZvciBkZWZh
dWx0Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0i
aGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4zMTE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MjwvdGQ+PHRk
IGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnJldHVy
bjwvc3Bhbj4gc3RyPHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xh
c3M9ImxpbmUiPjMxMjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNl
Ij4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PC90ZD48L3RyPjx0cj48
dGQgY2xhc3M9ImxpbmUiPjMxMzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0i
c291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+PHRy
Pjx0ZCBjbGFzcz0ibGluZSI+MzE0PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNz
PSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PHNwYW4gY2xhc3M9Imsi
Pjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjMxNTwvdGQ+PHRkIGNsYXNz
PSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDwvdGQ+PC90cj48dHIgY2xh
c3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MzE2PC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ3PC90
ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiBj
b25zdF8gPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5mdW5jdGlvbjwv
c3Bhbj4gPHNwYW4gY2xhc3M9ImsiPigpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48
L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjMxNzwvdGQ+PHRkIGNs
YXNzPSJoaXRzIj4xODA8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICBhbGxfd3M8
c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBj
bGFzcz0ibGluZSI+MzE4PC90ZD48dGQgY2xhc3M9ImhpdHMiPjM0ODwvdGQ+PHRkIGNsYXNzPSJz
b3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9
ImsiPighPC9zcGFuPmNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5JRDxzcGFuIGNsYXNz
PSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+ImNvbnN0Ijwvc3Bhbj48c3BhbiBjbGFzcz0i
ayI+KSk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5yZXR1cm48L3NwYW4+PHNwYW4gY2xhc3M9Imsi
Pjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4zMTk8
L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTI8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAg
ICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiByZXQgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+
IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPiB0eXBlPHNwYW4gY2xhc3M9ImsiPjo8L3NwYW4+IDxz
cGFuIGNsYXNzPSJzIj4iY29uc3QiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiBudWxs
YWJsZTxzcGFuIGNsYXNzPSJrIj46PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ZmFsc2U8L3NwYW4+
IDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90
cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MzIwPC90ZD48dGQgY2xhc3M9Imhp
dHMiPjEyPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xh
c3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9Imxp
bmUiPjMyMTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xMjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAg
ICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IHR5cCA8c3BhbiBjbGFzcz0iayI+
PTwvc3Bhbj4gcHJpbWl0aXZlX3R5cGU8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90
cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MzIyPC90ZD48dGQgY2xhc3M9Imhp
dHMiPjEyPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9Imsi
PmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KCE8L3NwYW4+dHlwPHNwYW4gY2xhc3M9ImsiPik8
L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9Im1pc3Mi
PiA8dGQgY2xhc3M9ImxpbmUiPjMyMzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4wPC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIHR5cCA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4g
Y29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPklEPHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+
IDxzcGFuIGNsYXNzPSJrIj58fDwvc3Bhbj4gZXJyb3I8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48
c3BhbiBjbGFzcz0icyI+Ik5vIHR5cGUgZm9yIGNvbnN0Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+
KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0ibWlzcyI+IDx0ZCBjbGFzcz0ibGluZSI+MzI0
PC90ZD48dGQgY2xhc3M9ImhpdHMiPjA8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAg
ICAgICAgdHlwIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiB0eXA8c3BhbiBjbGFzcz0iayI+Ljwv
c3Bhbj52YWx1ZTxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNz
PSJsaW5lIj4zMjU8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+
ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0i
aGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4zMjY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTI8L3RkPjx0
ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICByZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5p
ZGxUeXBlIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiB0eXA8c3BhbiBjbGFzcz0iayI+Ozwvc3Bh
bj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjMyNzwvdGQ+PHRk
IGNsYXNzPSJoaXRzIj4xMjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIGFsbF93
czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRk
IGNsYXNzPSJsaW5lIj4zMjg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTI8L3RkPjx0ZCBjbGFzcz0i
c291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNz
PSJrIj4oPC9zcGFuPmNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5PVEhFUjxzcGFuIGNs
YXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+Ij8iPC9zcGFuPjxzcGFuIGNsYXNzPSJr
Ij4pKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0i
aGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4zMjk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTwvdGQ+PHRk
IGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICByZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bh
bj5udWxsYWJsZSA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnRydWU8
L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4g
PHRkIGNsYXNzPSJsaW5lIj4zMzA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTwvdGQ+PHRkIGNsYXNz
PSJzb3VyY2UiPiAgICAgICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFu
PjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj4zMzE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+
PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3Nw
YW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4zMzI8L3RkPjx0
ZCBjbGFzcz0iaGl0cyI+MTI8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3Bh
biBjbGFzcz0iayI+dmFyPC9zcGFuPiBuYW1lIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiBjb25z
dW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+SUQ8c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNw
YW4gY2xhc3M9ImsiPnx8PC9zcGFuPiBlcnJvcjxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFu
IGNsYXNzPSJzIj4iTm8gbmFtZSBmb3IgY29uc3QiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwv
c3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjMzMzwvdGQ+
PHRkIGNsYXNzPSJoaXRzIj4xMjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIHJl
dDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPm5hbWUgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IG5h
bWU8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj52YWx1ZTxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwv
dGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MzM0PC90ZD48dGQgY2xh
c3M9ImhpdHMiPjEyPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgYWxsX3dzPHNw
YW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xh
c3M9ImxpbmUiPjMzNTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xMjwvdGQ+PHRkIGNsYXNzPSJzb3Vy
Y2UiPiAgICAgICAgICAgIGNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5PVEhFUjxzcGFu
IGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+Ij0iPC9zcGFuPjxzcGFuIGNsYXNz
PSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+fHw8L3NwYW4+IGVycm9yPHNwYW4gY2xhc3M9
ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9InMiPiJObyB2YWx1ZSBhc3NpZ25tZW50IGZvciBjb25z
dCI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9Imhp
dCI+IDx0ZCBjbGFzcz0ibGluZSI+MzM2PC90ZD48dGQgY2xhc3M9ImhpdHMiPjEyPC90ZD48dGQg
Y2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bh
bj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjMzNzwvdGQ+PHRk
IGNsYXNzPSJoaXRzIj4xMjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFu
IGNsYXNzPSJrIj52YXI8L3NwYW4+IGNudCA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gY29uc3Rf
dmFsdWU8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+
IDx0ZCBjbGFzcz0ibGluZSI+MzM4PC90ZD48dGQgY2xhc3M9ImhpdHMiPjI0PC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBj
bGFzcz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0iayI+dHlwZW9mPC9zcGFuPiBjbnQgPHNwYW4g
Y2xhc3M9ImsiPiE9PTwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJ1bmRlZmluZWQiPC9zcGFuPjxz
cGFuIGNsYXNzPSJrIj4pPC9zcGFuPiByZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj52YWx1ZSA8
c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gY250PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48
L3RyPjx0ciBjbGFzcz0ibWlzcyI+IDx0ZCBjbGFzcz0ibGluZSI+MzM5PC90ZD48dGQgY2xhc3M9
ImhpdHMiPjA8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0i
ayI+ZWxzZTwvc3Bhbj4gZXJyb3I8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0i
cyI+Ik5vIHZhbHVlIGZvciBjb25zdCI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwv
dGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MzQwPC90ZD48dGQgY2xh
c3M9ImhpdHMiPjEyPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgYWxsX3dzPHNw
YW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xh
c3M9ImxpbmUiPjM0MTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xMjwvdGQ+PHRkIGNsYXNzPSJzb3Vy
Y2UiPiAgICAgICAgICAgIGNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5PVEhFUjxzcGFu
IGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+IjsiPC9zcGFuPjxzcGFuIGNsYXNz
PSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+fHw8L3NwYW4+IGVycm9yPHNwYW4gY2xhc3M9
ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9InMiPiJVbnRlcm1pbmF0ZWQgY29uc3QiPC9zcGFuPjxz
cGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xh
c3M9ImxpbmUiPjM0MjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xMjwvdGQ+PHRkIGNsYXNzPSJzb3Vy
Y2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5yZXR1cm48L3NwYW4+IHJldDxzcGFuIGNs
YXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj4zNDM8L3RkPjx0
ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFz
cz0iayI+fTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBj
bGFzcz0ibGluZSI+MzQ0PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3Vy
Y2UiPiAgICAgICAgPC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4z
NDU8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDc8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAg
IDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IGluaGVyaXRhbmNlIDxzcGFuIGNsYXNzPSJrIj49
PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ZnVuY3Rpb248L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4o
KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0
Ij4gPHRkIGNsYXNzPSJsaW5lIj4zNDY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+ODk8L3RkPjx0ZCBj
bGFzcz0ic291cmNlIj4gICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFu
PjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MzQ3PC90ZD48dGQg
Y2xhc3M9ImhpdHMiPjg5PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4g
Y2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5jb25zdW1lPHNwYW4g
Y2xhc3M9ImsiPig8L3NwYW4+T1RIRVI8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xh
c3M9InMiPiI6Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KSk8L3NwYW4+IDxzcGFuIGNsYXNzPSJr
Ij57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MzQ4
PC90ZD48dGQgY2xhc3M9ImhpdHMiPjk8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAg
ICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNz
PSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjM0OTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj45PC90ZD48
dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3Nw
YW4+IGluaCA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gY29uc3VtZTxzcGFuIGNsYXNzPSJrIj4o
PC9zcGFuPklEPHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj58fDwvc3Bh
bj4gZXJyb3IgPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9InMiPiJObyB0eXBl
IGluIGluaGVyaXRhbmNlIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3Ry
Pjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4zNTA8L3RkPjx0ZCBjbGFzcz0iaGl0
cyI+OTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0i
ayI+cmV0dXJuPC9zcGFuPiBpbmg8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj52YWx1ZTxzcGFuIGNs
YXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj4zNTE8L3RkPjx0
ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4g
Y2xhc3M9ImsiPn08L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjM1MjwvdGQ+
PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxzcGFuIGNs
YXNzPSJrIj59PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRk
IGNsYXNzPSJsaW5lIj4zNTM8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNv
dXJjZSI+ICAgICAgICA8L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUi
PjM1NDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40NzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAg
ICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gb3BlcmF0aW9uX3Jlc3QgPHNwYW4gY2xhc3M9
ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5mdW5jdGlvbjwvc3Bhbj4gPHNwYW4gY2xhc3M9
ImsiPig8L3NwYW4+cmV0PHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57
PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MzU1PC90
ZD48dGQgY2xhc3M9ImhpdHMiPjU2PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAg
YWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQi
PiA8dGQgY2xhc3M9ImxpbmUiPjM1NjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj41NzwvdGQ+PHRkIGNs
YXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4g
Y2xhc3M9ImsiPighPC9zcGFuPnJldDxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiByZXQgPHNwYW4g
Y2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57fTwvc3Bhbj48c3BhbiBjbGFzcz0i
ayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjM1
NzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj41NjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAg
ICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IG5hbWUgPHNwYW4gY2xhc3M9ImsiPj08L3Nw
YW4+IGNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5JRDxzcGFuIGNsYXNzPSJrIj4pOzwv
c3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjM1ODwvdGQ+
PHRkIGNsYXNzPSJoaXRzIj41NjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIHJl
dDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPm5hbWUgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IG5h
bWUgPHNwYW4gY2xhc3M9ImsiPj88L3NwYW4+IG5hbWU8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj52
YWx1ZSA8c3BhbiBjbGFzcz0iayI+Ojwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPm51bGw8L3NwYW4+
PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNs
YXNzPSJsaW5lIj4zNTk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NTY8L3RkPjx0ZCBjbGFzcz0ic291
cmNlIj4gICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90
cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MzYwPC90ZD48dGQgY2xhc3M9Imhp
dHMiPjU2PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgY29uc3VtZTxzcGFuIGNs
YXNzPSJrIj4oPC9zcGFuPk9USEVSPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNz
PSJzIj4iKCI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj58
fDwvc3Bhbj4gZXJyb3I8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0icyI+Iklu
dmFsaWQgb3BlcmF0aW9uIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3Ry
Pjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4zNjE8L3RkPjx0ZCBjbGFzcz0iaGl0
cyI+NTY8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICByZXQ8c3BhbiBjbGFzcz0i
ayI+Wzwvc3Bhbj48c3BhbiBjbGFzcz0icyI+ImFyZ3VtZW50cyI8L3NwYW4+PHNwYW4gY2xhc3M9
ImsiPl08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiBhcmd1bWVudF9saXN0PHNwYW4g
Y2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9
ImxpbmUiPjM2MjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj41NjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2Ui
PiAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0
ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4zNjM8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+
NTY8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICBjb25zdW1lPHNwYW4gY2xhc3M9
ImsiPig8L3NwYW4+T1RIRVI8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMi
PiIpIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnx8PC9z
cGFuPiBlcnJvcjxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4iVW50ZXJt
aW5hdGVkIG9wZXJhdGlvbiI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90
cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MzY0PC90ZD48dGQgY2xhc3M9Imhp
dHMiPjU2PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xh
c3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9Imxp
bmUiPjM2NTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj41NjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAg
ICAgICAgICAgIGNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5PVEhFUjxzcGFuIGNsYXNz
PSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+IjsiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4p
PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+fHw8L3NwYW4+IGVycm9yPHNwYW4gY2xhc3M9ImsiPig8
L3NwYW4+PHNwYW4gY2xhc3M9InMiPiJVbnRlcm1pbmF0ZWQgb3BlcmF0aW9uIjwvc3Bhbj48c3Bh
biBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNz
PSJsaW5lIj4zNjY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NTY8L3RkPjx0ZCBjbGFzcz0ic291cmNl
Ij4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+cmV0dXJuPC9zcGFuPiByZXQ8c3BhbiBjbGFz
cz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+MzY3PC90ZD48dGQg
Y2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9
ImsiPn08L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xh
c3M9ImxpbmUiPjM2ODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNl
Ij4gICAgICAgIDwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MzY5
PC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ3PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8
c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiBjYWxsYmFjayA8c3BhbiBjbGFzcz0iayI+PTwvc3Bh
bj4gPHNwYW4gY2xhc3M9ImsiPmZ1bmN0aW9uPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KCk8L3Nw
YW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0
ZCBjbGFzcz0ibGluZSI+MzcwPC90ZD48dGQgY2xhc3M9ImhpdHMiPjE0NDwvdGQ+PHRkIGNsYXNz
PSJzb3VyY2UiPiAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90
ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4zNzE8L3RkPjx0ZCBjbGFz
cz0iaGl0cyI+MTQ0PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xh
c3M9ImsiPnZhcjwvc3Bhbj4gcmV0PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0
ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4zNzI8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+
Mjg2PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlm
PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KCE8L3NwYW4+Y29uc3VtZTxzcGFuIGNsYXNzPSJrIj4o
PC9zcGFuPklEPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iY2FsbGJh
Y2siPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnJldHVy
bjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQi
PiA8dGQgY2xhc3M9ImxpbmUiPjM3MzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yPC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+ICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48
L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjM3NDwvdGQ+PHRkIGNs
YXNzPSJoaXRzIj4yPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xh
c3M9ImsiPnZhcjwvc3Bhbj4gdG9rIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiBjb25zdW1lPHNw
YW4gY2xhc3M9ImsiPig8L3NwYW4+SUQ8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xh
c3M9InMiPiJpbnRlcmZhY2UiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwv
dHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjM3NTwvdGQ+PHRkIGNsYXNzPSJo
aXRzIj4yPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9Imsi
PmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj50b2s8c3BhbiBjbGFzcz0iayI+KTwv
c3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4g
PHRkIGNsYXNzPSJsaW5lIj4zNzY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTwvdGQ+PHRkIGNsYXNz
PSJzb3VyY2UiPiAgICAgICAgICAgICAgICB0b2tlbnM8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj51
bnNoaWZ0PHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+dG9rPHNwYW4gY2xhc3M9ImsiPik7PC9zcGFu
PjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+Mzc3PC90ZD48dGQg
Y2xhc3M9ImhpdHMiPjE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgcmV0
IDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiBpbnRlcmZhY2VfPHNwYW4gY2xhc3M9ImsiPigpOzwv
c3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjM3ODwvdGQ+
PHRkIGNsYXNzPSJoaXRzIj4xPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAg
IHJldDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnR5cGUgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+
IDxzcGFuIGNsYXNzPSJzIj4iY2FsbGJhY2sgaW50ZXJmYWNlIjwvc3Bhbj48c3BhbiBjbGFzcz0i
ayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjM3
OTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAg
ICAgICAgIDxzcGFuIGNsYXNzPSJrIj5yZXR1cm48L3NwYW4+IHJldDxzcGFuIGNsYXNzPSJrIj47
PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj4zODA8L3RkPjx0ZCBjbGFzcz0i
aGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9Imsi
Pn08L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4zODE8
L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAg
IDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IG5hbWUgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+
IGNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5JRDxzcGFuIGNsYXNzPSJrIj4pPC9zcGFu
PiA8c3BhbiBjbGFzcz0iayI+fHw8L3NwYW4+IGVycm9yPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+
PHNwYW4gY2xhc3M9InMiPiJObyBuYW1lIGZvciBjYWxsYmFjayI8L3NwYW4+PHNwYW4gY2xhc3M9
ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+
MzgyPC90ZD48dGQgY2xhc3M9ImhpdHMiPjE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAg
ICAgICByZXQgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFu
PiB0eXBlPHNwYW4gY2xhc3M9ImsiPjo8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iY2FsbGJhY2si
PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiBuYW1lPHNwYW4gY2xhc3M9ImsiPjo8L3Nw
YW4+IG5hbWU8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj52YWx1ZSA8c3BhbiBjbGFzcz0iayI+fTwv
c3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8
dGQgY2xhc3M9ImxpbmUiPjM4MzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xPC90ZD48dGQgY2xhc3M9
InNvdXJjZSI+ICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3Rk
PjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjM4NDwvdGQ+PHRkIGNsYXNz
PSJoaXRzIj4xPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgY29uc3VtZTxzcGFu
IGNsYXNzPSJrIj4oPC9zcGFuPk9USEVSPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNs
YXNzPSJzIj4iPSI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJr
Ij58fDwvc3Bhbj4gZXJyb3I8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0icyI+
Ik5vIGFzc2lnbm1lbnQgaW4gY2FsbGJhY2siPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bh
bj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjM4NTwvdGQ+PHRk
IGNsYXNzPSJoaXRzIj4xPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgYWxsX3dz
PHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQg
Y2xhc3M9ImxpbmUiPjM4NjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xPC90ZD48dGQgY2xhc3M9InNv
dXJjZSI+ICAgICAgICAgICAgcmV0PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+aWRsVHlwZSA8c3Bh
biBjbGFzcz0iayI+PTwvc3Bhbj4gcmV0dXJuX3R5cGU8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFu
PjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+Mzg3PC90ZD48dGQg
Y2xhc3M9ImhpdHMiPjE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICBhbGxfd3M8
c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBj
bGFzcz0ibGluZSI+Mzg4PC90ZD48dGQgY2xhc3M9ImhpdHMiPjE8L3RkPjx0ZCBjbGFzcz0ic291
cmNlIj4gICAgICAgICAgICBjb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+T1RIRVI8c3Bh
biBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiIoIjwvc3Bhbj48c3BhbiBjbGFz
cz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnx8PC9zcGFuPiBlcnJvcjxzcGFuIGNsYXNz
PSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4iTm8gYXJndW1lbnRzIGluIGNhbGxiYWNrIjwv
c3Bhbj48c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4g
PHRkIGNsYXNzPSJsaW5lIj4zODk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTwvdGQ+PHRkIGNsYXNz
PSJzb3VyY2UiPiAgICAgICAgICAgIHJldDxzcGFuIGNsYXNzPSJrIj5bPC9zcGFuPjxzcGFuIGNs
YXNzPSJzIj4iYXJndW1lbnRzIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+XTwvc3Bhbj4gPHNwYW4g
Y2xhc3M9ImsiPj08L3NwYW4+IGFyZ3VtZW50X2xpc3Q8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFu
PjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MzkwPC90ZD48dGQg
Y2xhc3M9ImhpdHMiPjE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICBhbGxfd3M8
c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBj
bGFzcz0ibGluZSI+MzkxPC90ZD48dGQgY2xhc3M9ImhpdHMiPjE8L3RkPjx0ZCBjbGFzcz0ic291
cmNlIj4gICAgICAgICAgICBjb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+T1RIRVI8c3Bh
biBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiIpIjwvc3Bhbj48c3BhbiBjbGFz
cz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnx8PC9zcGFuPiBlcnJvcjxzcGFuIGNsYXNz
PSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4iVW50ZXJtaW5hdGVkIGNhbGxiYWNrIjwvc3Bh
bj48c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRk
IGNsYXNzPSJsaW5lIj4zOTI8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTwvdGQ+PHRkIGNsYXNzPSJz
b3VyY2UiPiAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48
L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4zOTM8L3RkPjx0ZCBjbGFzcz0i
aGl0cyI+MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIGNvbnN1bWU8c3BhbiBj
bGFzcz0iayI+KDwvc3Bhbj5PVEhFUjxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFz
cz0icyI+IjsiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+
fHw8L3NwYW4+IGVycm9yPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9InMiPiJV
bnRlcm1pbmF0ZWQgY2FsbGJhY2siPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3Rk
PjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjM5NDwvdGQ+PHRkIGNsYXNz
PSJoaXRzIj4xPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9
ImsiPnJldHVybjwvc3Bhbj4gcmV0PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0
cj48dGQgY2xhc3M9ImxpbmUiPjM5NTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFz
cz0ic291cmNlIj4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjxzcGFuIGNsYXNzPSJr
Ij47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj4zOTY8L3RkPjx0ZCBjbGFz
cz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+IDwvdGQ+PC90cj48dHIgY2xhc3M9Imhp
dCI+IDx0ZCBjbGFzcz0ibGluZSI+Mzk3PC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ3PC90ZD48dGQg
Y2xhc3M9InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiBhdHRyaWJ1
dGUgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5mdW5jdGlvbjwvc3Bh
bj4gPHNwYW4gY2xhc3M9ImsiPigpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3Rk
PjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjM5ODwvdGQ+PHRkIGNsYXNz
PSJoaXRzIj4xNTQ8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICBhbGxfd3M8c3Bh
biBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFz
cz0ibGluZSI+Mzk5PC90ZD48dGQgY2xhc3M9ImhpdHMiPjE1NDwvdGQ+PHRkIGNsYXNzPSJzb3Vy
Y2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IGdyYWJiZWQgPHNwYW4g
Y2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5bXTwvc3Bhbj48L3RkPjwvdHI+PHRy
Pjx0ZCBjbGFzcz0ibGluZSI+NDAwPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNz
PSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiAgIHJldCA8c3Bh
biBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0
cj48dGQgY2xhc3M9ImxpbmUiPjQwMTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFz
cz0ic291cmNlIj4gICAgICAgICAgICAgICAgdHlwZTxzcGFuIGNsYXNzPSJrIj46PC9zcGFuPiAg
ICAgICAgICAgPHNwYW4gY2xhc3M9InMiPiJhdHRyaWJ1dGUiPC9zcGFuPjwvdGQ+PC90cj48dHI+
PHRkIGNsYXNzPSJsaW5lIj40MDI8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9
InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+ICAgPHNwYW4gY2xh
c3M9InMiPiJzdGF0aWMiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj46PC9zcGFuPiAgICAgICA8c3Bh
biBjbGFzcz0iayI+ZmFsc2U8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjQw
MzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAg
ICA8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gICBzdHJpbmdpZmllcjxzcGFuIGNsYXNzPSJrIj46
PC9zcGFuPiAgICA8c3BhbiBjbGFzcz0iayI+ZmFsc2U8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQg
Y2xhc3M9ImxpbmUiPjQwNDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291
cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gICBpbmhlcml0PHNwYW4g
Y2xhc3M9ImsiPjo8L3NwYW4+ICAgICAgICA8c3BhbiBjbGFzcz0iayI+ZmFsc2U8L3NwYW4+PC90
ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjQwNTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3Rk
Pjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4g
ICByZWFkb25seTxzcGFuIGNsYXNzPSJrIj46PC9zcGFuPiAgICAgICA8c3BhbiBjbGFzcz0iayI+
ZmFsc2U8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjQwNjwvdGQ+PHRkIGNs
YXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFz
cz0iayI+fTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNz
PSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjQwNzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xNTQ8L3Rk
Pjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+
IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPmNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5J
RDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+InN0YXRpYyI8L3NwYW4+
PHNwYW4gY2xhc3M9ImsiPikpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwv
dHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjQwODwvdGQ+PHRkIGNsYXNzPSJo
aXRzIj4yPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIHJldDxzcGFuIGNs
YXNzPSJrIj5bPC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4ic3RhdGljIjwvc3Bhbj48c3BhbiBjbGFz
cz0iayI+XTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj50
cnVlPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9Imhp
dCI+IDx0ZCBjbGFzcz0ibGluZSI+NDA5PC90ZD48dGQgY2xhc3M9ImhpdHMiPjI8L3RkPjx0ZCBj
bGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgZ3JhYmJlZDxzcGFuIGNsYXNzPSJrIj4uPC9z
cGFuPnB1c2g8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5sYXN0X3Rva2VuPHNwYW4gY2xhc3M9Imsi
Pik7PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj40MTA8L3RkPjx0ZCBjbGFz
cz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9
ImsiPn08L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj40
MTE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTUyPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAg
ICAgICAgPHNwYW4gY2xhc3M9ImsiPmVsc2U8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bh
bj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+Y29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFu
PklEPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4ic3RyaW5naWZpZXIi
PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+
PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj40MTI8L3RkPjx0ZCBj
bGFzcz0iaGl0cyI+NDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICByZXQ8
c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5zdHJpbmdpZmllciA8c3BhbiBjbGFzcz0iayI+PTwvc3Bh
bj4gPHNwYW4gY2xhc3M9ImsiPnRydWU8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90
ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj40MTM8L3RkPjx0ZCBjbGFz
cz0iaGl0cyI+NDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICBncmFiYmVk
PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+cHVzaDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPmxhc3Rf
dG9rZW48c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9Imxp
bmUiPjQxNDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAg
ICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQi
PiA8dGQgY2xhc3M9ImxpbmUiPjQxNTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xNTQ8L3RkPjx0ZCBj
bGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiB3IDxz
cGFuIGNsYXNzPSJrIj49PC9zcGFuPiBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwv
dGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NDE2PC90ZD48dGQgY2xh
c3M9ImhpdHMiPjE1OTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNs
YXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+dzxzcGFuIGNsYXNzPSJr
Ij4pPC9zcGFuPiBncmFiYmVkPHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+cHVzaDxzcGFuIGNsYXNz
PSJrIj4oPC9zcGFuPnc8c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFz
cz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj40MTc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTU0PC90
ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFu
PiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5jb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+
SUQ8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJpbmhlcml0Ijwvc3Bh
bj48c3BhbiBjbGFzcz0iayI+KSk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+
PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NDE4PC90ZD48dGQgY2xhc3M9
ImhpdHMiPjE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4gY2xh
c3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5yZXQ8c3BhbiBjbGFzcz0i
ayI+Wzwvc3Bhbj48c3BhbiBjbGFzcz0icyI+InN0YXRpYyI8L3NwYW4+PHNwYW4gY2xhc3M9Imsi
Pl08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj58fDwvc3Bhbj4gcmV0PHNwYW4gY2xhc3M9ImsiPi48
L3NwYW4+c3RyaW5naWZpZXI8c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gZXJyb3I8c3BhbiBjbGFz
cz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0icyI+IkNhbm5vdCBoYXZlIGEgc3RhdGljIG9yIHN0
cmluZ2lmaWVyIGluaGVyaXQiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwv
dHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjQxOTwvdGQ+PHRkIGNsYXNzPSJo
aXRzIj4xPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIHJldDxzcGFuIGNs
YXNzPSJrIj4uPC9zcGFuPmluaGVyaXQgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNs
YXNzPSJrIj50cnVlPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIg
Y2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NDIwPC90ZD48dGQgY2xhc3M9ImhpdHMiPjE8
L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgZ3JhYmJlZDxzcGFuIGNsYXNz
PSJrIj4uPC9zcGFuPnB1c2g8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5sYXN0X3Rva2VuPHNwYW4g
Y2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0i
bGluZSI+NDIxPC90ZD48dGQgY2xhc3M9ImhpdHMiPjE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4g
ICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gdyA8c3BhbiBjbGFzcz0i
ayI+PTwvc3Bhbj4gYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRy
IGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjQyMjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4y
PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5p
Zjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+dzxzcGFuIGNsYXNzPSJrIj4pPC9zcGFu
PiBncmFiYmVkPHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+cHVzaDxzcGFuIGNsYXNzPSJrIj4oPC9z
cGFuPnc8c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9Imxp
bmUiPjQyMzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAg
ICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQi
PiA8dGQgY2xhc3M9ImxpbmUiPjQyNDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xNTQ8L3RkPjx0ZCBj
bGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFu
IGNsYXNzPSJrIj4oPC9zcGFuPmNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5JRDxzcGFu
IGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+InJlYWRvbmx5Ijwvc3Bhbj48c3Bh
biBjbGFzcz0iayI+KSk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48
dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NDI1PC90ZD48dGQgY2xhc3M9ImhpdHMi
PjMyPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIHJldDxzcGFuIGNsYXNz
PSJrIj4uPC9zcGFuPnJlYWRvbmx5IDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFz
cz0iayI+dHJ1ZTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNs
YXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjQyNjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4zMjwv
dGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICBncmFiYmVkPHNwYW4gY2xhc3M9
ImsiPi48L3NwYW4+cHVzaDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPmxhc3RfdG9rZW48c3BhbiBj
bGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJs
aW5lIj40Mjc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MzI8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4g
ICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gdyA8c3BhbiBjbGFzcz0i
ayI+PTwvc3Bhbj4gYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRy
IGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjQyODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj42
NDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+
aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPnc8c3BhbiBjbGFzcz0iayI+KTwvc3Bh
bj4gZ3JhYmJlZDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnB1c2g8c3BhbiBjbGFzcz0iayI+KDwv
c3Bhbj53PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJs
aW5lIj40Mjk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAg
ICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0
Ij4gPHRkIGNsYXNzPSJsaW5lIj40MzA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTU0PC90ZD48dGQg
Y2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3Bh
biBjbGFzcz0iayI+KCE8L3NwYW4+Y29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPklEPHNw
YW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iYXR0cmlidXRlIjwvc3Bhbj48
c3BhbiBjbGFzcz0iayI+KSk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90
cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NDMxPC90ZD48dGQgY2xhc3M9Imhp
dHMiPjYwPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIHRva2VucyA8c3Bh
biBjbGFzcz0iayI+PTwvc3Bhbj4gZ3JhYmJlZDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPmNvbmNh
dDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPnRva2VuczxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48
L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjQzMjwvdGQ+PHRkIGNs
YXNzPSJoaXRzIj42MDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3Bh
biBjbGFzcz0iayI+cmV0dXJuPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90
cj48dHI+PHRkIGNsYXNzPSJsaW5lIj40MzM8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQg
Y2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PC90ZD48
L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj40MzQ8L3RkPjx0ZCBjbGFzcz0i
aGl0cyI+OTQ8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICBhbGxfd3M8c3BhbiBj
bGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0i
bGluZSI+NDM1PC90ZD48dGQgY2xhc3M9ImhpdHMiPjk0PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+
ICAgICAgICAgICAgcmV0PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+aWRsVHlwZSA8c3BhbiBjbGFz
cz0iayI+PTwvc3Bhbj4gdHlwZTxzcGFuIGNsYXNzPSJrIj4oKTwvc3Bhbj4gPHNwYW4gY2xhc3M9
ImsiPnx8PC9zcGFuPiBlcnJvcjxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJz
Ij4iTm8gdHlwZSBpbiBhdHRyaWJ1dGUiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48
L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjQzNjwvdGQ+PHRkIGNs
YXNzPSJoaXRzIj45NDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNs
YXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+cmV0PHNwYW4gY2xhc3M9
ImsiPi48L3NwYW4+aWRsVHlwZTxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnNlcXVlbmNlPHNwYW4g
Y2xhc3M9ImsiPik8L3NwYW4+IGVycm9yPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xh
c3M9InMiPiJBdHRyaWJ1dGVzIGNhbm5vdCBhY2NlcHQgc2VxdWVuY2UgdHlwZXMiPC9zcGFuPjxz
cGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xh
c3M9ImxpbmUiPjQzNzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj45NDwvdGQ+PHRkIGNsYXNzPSJzb3Vy
Y2UiPiAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3Ry
Pjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj40Mzg8L3RkPjx0ZCBjbGFzcz0iaGl0
cyI+OTQ8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+
dmFyPC9zcGFuPiBuYW1lIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiBjb25zdW1lPHNwYW4gY2xh
c3M9ImsiPig8L3NwYW4+SUQ8c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9Imsi
Pnx8PC9zcGFuPiBlcnJvcjxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4i
Tm8gbmFtZSBpbiBhdHRyaWJ1dGUiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3Rk
PjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjQzOTwvdGQ+PHRkIGNsYXNz
PSJoaXRzIj45NDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIHJldDxzcGFuIGNs
YXNzPSJrIj4uPC9zcGFuPm5hbWUgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IG5hbWU8c3BhbiBj
bGFzcz0iayI+Ljwvc3Bhbj52YWx1ZTxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48
dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NDQwPC90ZD48dGQgY2xhc3M9ImhpdHMi
Pjk0PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9
ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUi
PjQ0MTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj45NDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAg
ICAgICAgIGNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5PVEhFUjxzcGFuIGNsYXNzPSJr
Ij4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+IjsiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pPC9z
cGFuPiA8c3BhbiBjbGFzcz0iayI+fHw8L3NwYW4+IGVycm9yPHNwYW4gY2xhc3M9ImsiPig8L3Nw
YW4+PHNwYW4gY2xhc3M9InMiPiJVbnRlcm1pbmF0ZWQgYXR0cmlidXRlIjwvc3Bhbj48c3BhbiBj
bGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJs
aW5lIj40NDI8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+OTQ8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4g
ICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+cmV0dXJuPC9zcGFuPiByZXQ8c3BhbiBjbGFzcz0i
ayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NDQzPC90ZD48dGQgY2xh
c3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9Imsi
Pn08L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9
ImxpbmUiPjQ0NDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4g
ICAgICAgIDwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NDQ1PC90
ZD48dGQgY2xhc3M9ImhpdHMiPjQ3PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8c3Bh
biBjbGFzcz0iayI+dmFyPC9zcGFuPiByZXR1cm5fdHlwZSA8c3BhbiBjbGFzcz0iayI+PTwvc3Bh
bj4gPHNwYW4gY2xhc3M9ImsiPmZ1bmN0aW9uPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KCk8L3Nw
YW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0
ZCBjbGFzcz0ibGluZSI+NDQ2PC90ZD48dGQgY2xhc3M9ImhpdHMiPjYxPC90ZD48dGQgY2xhc3M9
InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gdHlwIDxzcGFu
IGNsYXNzPSJrIj49PC9zcGFuPiB0eXBlPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwv
dHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjQ0NzwvdGQ+PHRkIGNsYXNzPSJo
aXRzIj42MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJr
Ij5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPighPC9zcGFuPnR5cDxzcGFuIGNsYXNzPSJrIj4p
PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJtaXNz
Ij4gPHRkIGNsYXNzPSJsaW5lIj40NDg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MDwvdGQ+PHRkIGNs
YXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxz
cGFuIGNsYXNzPSJrIj4oPC9zcGFuPmNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5JRDxz
cGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+InZvaWQiPC9zcGFuPjxzcGFu
IGNsYXNzPSJrIj4pKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0
ciBjbGFzcz0ibWlzcyI+IDx0ZCBjbGFzcz0ibGluZSI+NDQ5PC90ZD48dGQgY2xhc3M9ImhpdHMi
PjA8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNz
PSJrIj5yZXR1cm48L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4idm9pZCI8L3NwYW4+PHNwYW4gY2xh
c3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjQ1MDwvdGQ+PHRk
IGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgPHNw
YW4gY2xhc3M9ImsiPn08L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0ibWlzcyI+IDx0ZCBjbGFz
cz0ibGluZSI+NDUxPC90ZD48dGQgY2xhc3M9ImhpdHMiPjA8L3RkPjx0ZCBjbGFzcz0ic291cmNl
Ij4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmVsc2U8L3NwYW4+IGVycm9yPHNwYW4g
Y2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9InMiPiJObyByZXR1cm4gdHlwZSI8L3NwYW4+
PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj40
NTI8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAg
ICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRk
IGNsYXNzPSJsaW5lIj40NTM8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NjE8L3RkPjx0ZCBjbGFzcz0i
c291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+cmV0dXJuPC9zcGFuPiB0eXA8c3Bh
biBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NDU0PC90
ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4g
Y2xhc3M9ImsiPn08L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48
dGQgY2xhc3M9ImxpbmUiPjQ1NTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0i
c291cmNlIj4gICAgICAgIDwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGlu
ZSI+NDU2PC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ3PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAg
ICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiBvcGVyYXRpb24gPHNwYW4gY2xhc3M9Imsi
Pj08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5mdW5jdGlvbjwvc3Bhbj4gPHNwYW4gY2xhc3M9Imsi
PigpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJo
aXQiPiA8dGQgY2xhc3M9ImxpbmUiPjQ1NzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj42MDwvdGQ+PHRk
IGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3Nw
YW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj40NTg8L3RkPjx0
ZCBjbGFzcz0iaGl0cyI+NjA8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3Bh
biBjbGFzcz0iayI+dmFyPC9zcGFuPiByZXQgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFu
IGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj40NTk8L3Rk
Pjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAg
IHR5cGU8c3BhbiBjbGFzcz0iayI+Ojwvc3Bhbj4gICAgICAgICAgIDxzcGFuIGNsYXNzPSJzIj4i
b3BlcmF0aW9uIjwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NDYwPC90ZD48
dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFu
IGNsYXNzPSJrIj4sPC9zcGFuPiAgIGdldHRlcjxzcGFuIGNsYXNzPSJrIj46PC9zcGFuPiAgICAg
ICAgIDxzcGFuIGNsYXNzPSJrIj5mYWxzZTwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0i
bGluZSI+NDYxPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAg
ICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiAgIHNldHRlcjxzcGFuIGNsYXNzPSJr
Ij46PC9zcGFuPiAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5mYWxzZTwvc3Bhbj48L3RkPjwvdHI+
PHRyPjx0ZCBjbGFzcz0ibGluZSI+NDYyPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNs
YXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiAgIGNyZWF0
b3I8c3BhbiBjbGFzcz0iayI+Ojwvc3Bhbj4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj5mYWxzZTwv
c3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NDYzPC90ZD48dGQgY2xhc3M9Imhp
dHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj4s
PC9zcGFuPiAgIGRlbGV0ZXI8c3BhbiBjbGFzcz0iayI+Ojwvc3Bhbj4gICAgICAgIDxzcGFuIGNs
YXNzPSJrIj5mYWxzZTwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NDY0PC90
ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxz
cGFuIGNsYXNzPSJrIj4sPC9zcGFuPiAgIGxlZ2FjeWNhbGxlcjxzcGFuIGNsYXNzPSJrIj46PC9z
cGFuPiAgIDxzcGFuIGNsYXNzPSJrIj5mYWxzZTwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFz
cz0ibGluZSI+NDY1PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2Ui
PiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiAgIDxzcGFuIGNsYXNzPSJzIj4i
c3RhdGljIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ojwvc3Bhbj4gICAgICAgPHNwYW4gY2xhc3M9
ImsiPmZhbHNlPC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj40NjY8L3RkPjx0
ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4g
Y2xhc3M9ImsiPiw8L3NwYW4+ICAgc3RyaW5naWZpZXI8c3BhbiBjbGFzcz0iayI+Ojwvc3Bhbj4g
ICAgPHNwYW4gY2xhc3M9ImsiPmZhbHNlPC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJs
aW5lIj40Njc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAg
ICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+
PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj40Njg8L3RkPjx0ZCBj
bGFzcz0iaGl0cyI+NjA8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBj
bGFzcz0iayI+d2hpbGU8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNz
PSJrIj50cnVlPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+
ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjQ2OTwv
dGQ+PHRkIGNsYXNzPSJoaXRzIj43ODwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAg
ICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9
ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NDcwPC90ZD48dGQgY2xhc3M9ImhpdHMiPjg3PC90ZD48
dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bh
bj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+Y29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFu
PklEPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iZ2V0dGVyIjwvc3Bh
bj48c3BhbiBjbGFzcz0iayI+KSk8L3NwYW4+IHJldDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPmdl
dHRlciA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnRydWU8L3NwYW4+
PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNs
YXNzPSJsaW5lIj40NzE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NzQ8L3RkPjx0ZCBjbGFzcz0ic291
cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmVsc2U8L3NwYW4+IDxzcGFuIGNs
YXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+Y29uc3VtZTxzcGFuIGNs
YXNzPSJrIj4oPC9zcGFuPklEPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJz
Ij4ic2V0dGVyIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KSk8L3NwYW4+IHJldDxzcGFuIGNsYXNz
PSJrIj4uPC9zcGFuPnNldHRlciA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9
ImsiPnRydWU8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFz
cz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj40NzI8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NjU8L3Rk
Pjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmVsc2U8
L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+
Y29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPklEPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+
IDxzcGFuIGNsYXNzPSJzIj4iY3JlYXRvciI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPikpPC9zcGFu
PiByZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5jcmVhdG9yIDxzcGFuIGNsYXNzPSJrIj49PC9z
cGFuPiA8c3BhbiBjbGFzcz0iayI+dHJ1ZTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48
L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjQ3MzwvdGQ+PHRkIGNs
YXNzPSJoaXRzIj42NTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3Bh
biBjbGFzcz0iayI+ZWxzZTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBj
bGFzcz0iayI+KDwvc3Bhbj5jb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+SUQ8c3BhbiBj
bGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJkZWxldGVyIjwvc3Bhbj48c3BhbiBj
bGFzcz0iayI+KSk8L3NwYW4+IHJldDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPmRlbGV0ZXIgPHNw
YW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj50cnVlPC9zcGFuPjxzcGFuIGNs
YXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGlu
ZSI+NDc0PC90ZD48dGQgY2xhc3M9ImhpdHMiPjYyPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAg
ICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5lbHNlPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+
aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPmNvbnN1bWU8c3BhbiBjbGFzcz0iayI+
KDwvc3Bhbj5JRDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+ImxlZ2Fj
eWNhbGxlciI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPikpPC9zcGFuPiByZXQ8c3BhbiBjbGFzcz0i
ayI+Ljwvc3Bhbj5sZWdhY3ljYWxsZXIgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNs
YXNzPSJrIj50cnVlPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIg
Y2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NDc1PC90ZD48dGQgY2xhc3M9ImhpdHMiPjYw
PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5l
bHNlPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+YnJlYWs8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8
L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjQ3NjwvdGQ+PHRkIGNsYXNzPSJo
aXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+
fTwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjQ3Nzwv
dGQ+PHRkIGNsYXNzPSJoaXRzIj42MDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAg
IDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+cmV0PHNw
YW4gY2xhc3M9ImsiPi48L3NwYW4+Z2V0dGVyIDxzcGFuIGNsYXNzPSJrIj58fDwvc3Bhbj4gcmV0
PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+c2V0dGVyIDxzcGFuIGNsYXNzPSJrIj58fDwvc3Bhbj4g
cmV0PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+Y3JlYXRvciA8c3BhbiBjbGFzcz0iayI+fHw8L3Nw
YW4+IHJldDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPmRlbGV0ZXIgPHNwYW4gY2xhc3M9ImsiPnx8
PC9zcGFuPiByZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5sZWdhY3ljYWxsZXI8c3BhbiBjbGFz
cz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFz
cz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj40Nzg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTc8L3Rk
Pjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9Imsi
PigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjQ3
OTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xNzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAg
ICAgICAgICByZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5pZGxUeXBlIDxzcGFuIGNsYXNzPSJr
Ij49PC9zcGFuPiByZXR1cm5fdHlwZTxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3Ry
Pjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj40ODA8L3RkPjx0ZCBjbGFzcz0iaGl0
cyI+MTc8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgb3BlcmF0aW9uX3Jl
c3Q8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5yZXQ8c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90
ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj40ODE8L3RkPjx0ZCBjbGFz
cz0iaGl0cyI+MTc8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4g
Y2xhc3M9ImsiPnJldHVybjwvc3Bhbj4gcmV0PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48
L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjQ4MjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0
ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48L3Rk
PjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjQ4MzwvdGQ+PHRkIGNsYXNz
PSJoaXRzIj40MzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNz
PSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+Y29uc3VtZTxzcGFuIGNsYXNz
PSJrIj4oPC9zcGFuPklEPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4i
c3RhdGljIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KSk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57
PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NDg0PC90
ZD48dGQgY2xhc3M9ImhpdHMiPjE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAg
ICAgcmV0PHNwYW4gY2xhc3M9ImsiPls8L3NwYW4+PHNwYW4gY2xhc3M9InMiPiJzdGF0aWMiPC9z
cGFuPjxzcGFuIGNsYXNzPSJrIj5dPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNw
YW4gY2xhc3M9ImsiPnRydWU8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3Ry
Pjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj40ODU8L3RkPjx0ZCBjbGFzcz0iaGl0
cyI+MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICByZXQ8c3BhbiBjbGFz
cz0iayI+Ljwvc3Bhbj5pZGxUeXBlIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiByZXR1cm5fdHlw
ZTxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRk
IGNsYXNzPSJsaW5lIj40ODY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTwvdGQ+PHRkIGNsYXNzPSJz
b3VyY2UiPiAgICAgICAgICAgICAgICBvcGVyYXRpb25fcmVzdDxzcGFuIGNsYXNzPSJrIj4oPC9z
cGFuPnJldDxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQi
PiA8dGQgY2xhc3M9ImxpbmUiPjQ4NzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xPC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5yZXR1cm48L3NwYW4+
IHJldDxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5l
Ij40ODg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAg
ICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4g
PHRkIGNsYXNzPSJsaW5lIj40ODk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDI8L3RkPjx0ZCBjbGFz
cz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+ZWxzZTwvc3Bhbj4gPHNwYW4g
Y2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5jb25zdW1lPHNwYW4g
Y2xhc3M9ImsiPig8L3NwYW4+SUQ8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9
InMiPiJzdHJpbmdpZmllciI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPikpPC9zcGFuPiA8c3BhbiBj
bGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9Imxp
bmUiPjQ5MDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4zPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAg
ICAgICAgICAgICAgIHJldDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnN0cmluZ2lmaWVyIDxzcGFu
IGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+dHJ1ZTwvc3Bhbj48c3BhbiBjbGFz
cz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUi
PjQ5MTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4zPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAg
ICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBj
bGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj40OTI8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDwv
dGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8
L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPmNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwv
c3Bhbj5PVEhFUjxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+IjsiPC9z
cGFuPjxzcGFuIGNsYXNzPSJrIj4pKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnJldHVybjwvc3Bh
bj4gcmV0PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4g
PHRkIGNsYXNzPSJsaW5lIj40OTM8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MjwvdGQ+PHRkIGNsYXNz
PSJzb3VyY2UiPiAgICAgICAgICAgICAgICByZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5pZGxU
eXBlIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiByZXR1cm5fdHlwZTxzcGFuIGNsYXNzPSJrIj4o
KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj40OTQ8
L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAg
ICAgICBvcGVyYXRpb25fcmVzdDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPnJldDxzcGFuIGNsYXNz
PSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUi
PjQ5NTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAg
ICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5yZXR1cm48L3NwYW4+IHJldDxzcGFuIGNsYXNzPSJr
Ij47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj40OTY8L3RkPjx0ZCBjbGFz
cz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9
ImsiPn08L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj40
OTc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+Mzk8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAg
ICAgICByZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5pZGxUeXBlIDxzcGFuIGNsYXNzPSJrIj49
PC9zcGFuPiByZXR1cm5fdHlwZTxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0
ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj40OTg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+
Mzk8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0i
ayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+
NDk5PC90ZD48dGQgY2xhc3M9ImhpdHMiPjM5PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAg
ICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5j
b25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+SUQ8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4g
PHNwYW4gY2xhc3M9InMiPiJpdGVyYXRvciI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPikpPC9zcGFu
PiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQg
Y2xhc3M9ImxpbmUiPjUwMDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40PC90ZD48dGQgY2xhc3M9InNv
dXJjZSI+ICAgICAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90
ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj41MDE8L3RkPjx0ZCBjbGFz
cz0iaGl0cyI+NDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICByZXQ8c3Bh
biBjbGFzcz0iayI+Ljwvc3Bhbj50eXBlIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBj
bGFzcz0icyI+Iml0ZXJhdG9yIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwv
dHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjUwMjwvdGQ+PHRkIGNsYXNzPSJo
aXRzIj40PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNz
PSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+Y29uc3VtZTxzcGFuIGNsYXNz
PSJrIj4oPC9zcGFuPklEPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4i
b2JqZWN0Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KSk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57
PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NTAzPC90
ZD48dGQgY2xhc3M9ImhpdHMiPjE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAg
ICAgICAgIHJldDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPml0ZXJhdG9yT2JqZWN0IDxzcGFuIGNs
YXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+Im9iamVjdCI8L3NwYW4+PHNwYW4gY2xh
c3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjUwNDwvdGQ+PHRk
IGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgPHNw
YW4gY2xhc3M9ImsiPn08L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNz
PSJsaW5lIj41MDU8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2Ui
PiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+ZWxzZTwvc3Bhbj4gPHNwYW4gY2xhc3M9
ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5jb25zdW1lPHNwYW4gY2xhc3M9
ImsiPig8L3NwYW4+T1RIRVI8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMi
PiI9Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KSk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9z
cGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NTA2PC90ZD48
dGQgY2xhc3M9ImhpdHMiPjI8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAg
ICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0i
aGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj41MDc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MjwvdGQ+PHRk
IGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwv
c3Bhbj4gbmFtZSA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gY29uc3VtZTxzcGFuIGNsYXNzPSJr
Ij4oPC9zcGFuPklEPHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj58fDwv
c3Bhbj4gZXJyb3I8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0icyI+Ik5vIHJp
Z2h0IGhhbmQgc2lkZSBpbiBpdGVyYXRvciI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFu
PjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NTA4PC90ZD48dGQg
Y2xhc3M9ImhpdHMiPjI8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAg
IHJldDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPml0ZXJhdG9yT2JqZWN0IDxzcGFuIGNsYXNzPSJr
Ij49PC9zcGFuPiBuYW1lPHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+dmFsdWU8c3BhbiBjbGFzcz0i
ayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NTA5PC90ZD48dGQgY2xh
c3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBj
bGFzcz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9Imxp
bmUiPjUxMDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAg
ICAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0
ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj41MTE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+
NDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICBjb25zdW1lPHNwYW4gY2xh
c3M9ImsiPig8L3NwYW4+T1RIRVI8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9
InMiPiI7Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnx8
PC9zcGFuPiBlcnJvcjxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4iVW50
ZXJtaW5hdGVkIGl0ZXJhdG9yIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48
L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj41MTI8L3RkPjx0ZCBjbGFzcz0i
aGl0cyI+NDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFz
cz0iayI+cmV0dXJuPC9zcGFuPiByZXQ8c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+
PHRyPjx0ZCBjbGFzcz0ibGluZSI+NTEzPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNs
YXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90
cj48dHI+PHRkIGNsYXNzPSJsaW5lIj41MTQ8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQg
Y2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmVsc2U8L3NwYW4+IDxz
cGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFz
cz0ibGluZSI+NTE1PC90ZD48dGQgY2xhc3M9ImhpdHMiPjM1PC90ZD48dGQgY2xhc3M9InNvdXJj
ZSI+ICAgICAgICAgICAgICAgIG9wZXJhdGlvbl9yZXN0PHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+
cmV0PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0
ZCBjbGFzcz0ibGluZSI+NTE2PC90ZD48dGQgY2xhc3M9ImhpdHMiPjM1PC90ZD48dGQgY2xhc3M9
InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5yZXR1cm48L3NwYW4+IHJl
dDxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj41
MTc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAg
ICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUi
PjUxODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAg
IDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90
cj48dHI+PHRkIGNsYXNzPSJsaW5lIj41MTk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQg
Y2xhc3M9InNvdXJjZSI+ICAgICAgICA8L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xh
c3M9ImxpbmUiPjUyMDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40NzwvdGQ+PHRkIGNsYXNzPSJzb3Vy
Y2UiPiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gaWRlbnRpZmllcnMgPHNwYW4g
Y2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5mdW5jdGlvbjwvc3Bhbj4gPHNwYW4g
Y2xhc3M9ImsiPig8L3NwYW4+YXJyPHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNz
PSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+
NTIxPC90ZD48dGQgY2xhc3M9ImhpdHMiPjU8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAg
ICAgICA8c3BhbiBjbGFzcz0iayI+d2hpbGU8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFu
PjxzcGFuIGNsYXNzPSJrIj50cnVlPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3Bh
biBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9
ImxpbmUiPjUyMjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xMTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2Ui
PiAgICAgICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90
cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NTIzPC90ZD48dGQgY2xhc3M9Imhp
dHMiPjExPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNz
PSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+Y29uc3VtZTxzcGFuIGNsYXNz
PSJrIj4oPC9zcGFuPk9USEVSPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJz
Ij4iLCI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPikpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwv
c3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjUyNDwvdGQ+
PHRkIGNsYXNzPSJoaXRzIj42PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAg
ICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9
ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NTI1PC90ZD48dGQgY2xhc3M9ImhpdHMiPjY8L3RkPjx0
ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8
L3NwYW4+IG5hbWUgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IGNvbnN1bWU8c3BhbiBjbGFzcz0i
ayI+KDwvc3Bhbj5JRDxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+fHw8
L3NwYW4+IGVycm9yPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9InMiPiJUcmFp
bGluZyBjb21tYSBpbiBpZGVudGlmaWVycyBsaXN0Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTs8
L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj41MjY8L3Rk
Pjx0ZCBjbGFzcz0iaGl0cyI+NjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAg
ICAgICAgYXJyPHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+cHVzaDxzcGFuIGNsYXNzPSJrIj4oPC9z
cGFuPm5hbWU8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj52YWx1ZTxzcGFuIGNsYXNzPSJrIj4pOzwv
c3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NTI3PC90ZD48dGQgY2xhc3M9Imhp
dHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0i
ayI+fTwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjUy
ODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj41PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAg
ICAgICAgIDxzcGFuIGNsYXNzPSJrIj5lbHNlPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+YnJlYWs8
L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9Imxp
bmUiPjUyOTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAg
ICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0i
bGluZSI+NTMwPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAg
ICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90
ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjUzMTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3Rk
Pjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0
ZCBjbGFzcz0ibGluZSI+NTMyPC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ3PC90ZD48dGQgY2xhc3M9
InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiBzZXJpYWxpc2VyIDxz
cGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ZnVuY3Rpb248L3NwYW4+IDxz
cGFuIGNsYXNzPSJrIj4oKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3Ry
Pjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj41MzM8L3RkPjx0ZCBjbGFzcz0iaGl0
cyI+MTY0PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xh
c3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9Imxp
bmUiPjUzNDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4zMTg8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4g
ICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oITwv
c3Bhbj5jb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+SUQ8c3BhbiBjbGFzcz0iayI+LDwv
c3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJzZXJpYWxpemVyIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+
KSk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5yZXR1cm48L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8
L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj41MzU8L3Rk
Pjx0ZCBjbGFzcz0iaGl0cyI+MTA8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8
c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiByZXQgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxz
cGFuIGNsYXNzPSJrIj57PC9zcGFuPiB0eXBlPHNwYW4gY2xhc3M9ImsiPjo8L3NwYW4+IDxzcGFu
IGNsYXNzPSJzIj4ic2VyaWFsaXplciI8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjxz
cGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFz
cz0ibGluZSI+NTM2PC90ZD48dGQgY2xhc3M9ImhpdHMiPjEwPC90ZD48dGQgY2xhc3M9InNvdXJj
ZSI+ICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+
PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjUzNzwvdGQ+PHRkIGNsYXNzPSJoaXRz
Ij4xMDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5p
Zjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+Y29uc3VtZTxzcGFuIGNsYXNzPSJrIj4o
PC9zcGFuPk9USEVSPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iPSI8
L3NwYW4+PHNwYW4gY2xhc3M9ImsiPikpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48
L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjUzODwvdGQ+PHRkIGNs
YXNzPSJoaXRzIj44PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIGFsbF93
czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRk
IGNsYXNzPSJsaW5lIj41Mzk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+ODwvdGQ+PHRkIGNsYXNzPSJz
b3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNs
YXNzPSJrIj4oPC9zcGFuPmNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5PVEhFUjxzcGFu
IGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+InsiPC9zcGFuPjxzcGFuIGNsYXNz
PSJrIj4pKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFz
cz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj41NDA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NTwvdGQ+
PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAgcmV0PHNwYW4gY2xhc3M9Imsi
Pi48L3NwYW4+cGF0dGVybk1hcCA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9
ImsiPnRydWU8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFz
cz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj41NDE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NTwvdGQ+
PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9
ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUi
PjU0MjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj41PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAg
ICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiBpZCA8c3BhbiBjbGFzcz0i
ayI+PTwvc3Bhbj4gY29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPklEPHNwYW4gY2xhc3M9
ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+
NTQzPC90ZD48dGQgY2xhc3M9ImhpdHMiPjU8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAg
ICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8
L3NwYW4+aWQgPHNwYW4gY2xhc3M9ImsiPiZhbXA7JmFtcDs8L3NwYW4+IGlkPHNwYW4gY2xhc3M9
ImsiPi48L3NwYW4+dmFsdWUgPHNwYW4gY2xhc3M9ImsiPj09PTwvc3Bhbj4gPHNwYW4gY2xhc3M9
InMiPiJnZXR0ZXIiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0i
ayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjU0
NDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAg
ICAgICAgICAgICAgICAgcmV0PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+bmFtZXMgPHNwYW4gY2xh
c3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5bPC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4i
Z2V0dGVyIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+XTs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQg
Y2xhc3M9ImxpbmUiPjU0NTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291
cmNlIj4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90
cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NTQ2PC90ZD48dGQgY2xhc3M9Imhp
dHMiPjQ8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNs
YXNzPSJrIj5lbHNlPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNz
PSJrIj4oPC9zcGFuPmlkIDxzcGFuIGNsYXNzPSJrIj4mYW1wOyZhbXA7PC9zcGFuPiBpZDxzcGFu
IGNsYXNzPSJrIj4uPC9zcGFuPnZhbHVlIDxzcGFuIGNsYXNzPSJrIj49PT08L3NwYW4+IDxzcGFu
IGNsYXNzPSJzIj4iaW5oZXJpdCI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFu
IGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0i
bGluZSI+NTQ3PC90ZD48dGQgY2xhc3M9ImhpdHMiPjI8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4g
ICAgICAgICAgICAgICAgICAgICAgICByZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5uYW1lcyA8
c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPls8L3NwYW4+PHNwYW4gY2xh
c3M9InMiPiJpbmhlcml0Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+XTs8L3NwYW4+PC90ZD48L3Ry
Pjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj41NDg8L3RkPjx0ZCBjbGFzcz0iaGl0
cyI+MjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAgICAgIGlkZW50
aWZpZXJzPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+cmV0PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+
bmFtZXM8c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9Imxp
bmUiPjU0OTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAg
ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xh
c3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NTUwPC90ZD48dGQgY2xhc3M9ImhpdHMiPjI8L3Rk
Pjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5l
bHNlPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9z
cGFuPmlkPHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwv
dGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NTUxPC90ZD48dGQgY2xh
c3M9ImhpdHMiPjI8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAgICAg
ICByZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5uYW1lcyA8c3BhbiBjbGFzcz0iayI+PTwvc3Bh
bj4gPHNwYW4gY2xhc3M9ImsiPls8L3NwYW4+aWQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj52YWx1
ZTxzcGFuIGNsYXNzPSJrIj5dOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQg
Y2xhc3M9ImxpbmUiPjU1MjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yPC90ZD48dGQgY2xhc3M9InNv
dXJjZSI+ICAgICAgICAgICAgICAgICAgICAgICAgaWRlbnRpZmllcnM8c3BhbiBjbGFzcz0iayI+
KDwvc3Bhbj5yZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5uYW1lczxzcGFuIGNsYXNzPSJrIj4p
Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NTUzPC90ZD48dGQgY2xhc3M9
ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAgPHNwYW4g
Y2xhc3M9ImsiPn08L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjU1NDwvdGQ+
PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAg
ICAgIDxzcGFuIGNsYXNzPSJrIj5lbHNlPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48
L3RkPjwvdHI+PHRyIGNsYXNzPSJtaXNzIj4gPHRkIGNsYXNzPSJsaW5lIj41NTU8L3RkPjx0ZCBj
bGFzcz0iaGl0cyI+MDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAg
ICAgIHJldDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPm5hbWVzIDxzcGFuIGNsYXNzPSJrIj49PC9z
cGFuPiA8c3BhbiBjbGFzcz0iayI+W107PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJs
aW5lIj41NTY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAg
ICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+PHRyIGNs
YXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjU1NzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj41PC90
ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFz
cz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGlu
ZSI+NTU4PC90ZD48dGQgY2xhc3M9ImhpdHMiPjU8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAg
ICAgICAgICAgICAgICAgIGNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5PVEhFUjxzcGFu
IGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+In0iPC9zcGFuPjxzcGFuIGNsYXNz
PSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+fHw8L3NwYW4+IGVycm9yPHNwYW4gY2xhc3M9
ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9InMiPiJVbnRlcm1pbmF0ZWQgc2VyaWFsaXplciBwYXR0
ZXJuIG1hcCI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRk
IGNsYXNzPSJsaW5lIj41NTk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNv
dXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90cj48
dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NTYwPC90ZD48dGQgY2xhc3M9ImhpdHMi
PjM8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Imsi
PmVsc2U8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8
L3NwYW4+Y29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPk9USEVSPHNwYW4gY2xhc3M9Imsi
Piw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iWyI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPikpPC9z
cGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8
dGQgY2xhc3M9ImxpbmUiPjU2MTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yPC90ZD48dGQgY2xhc3M9
InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICByZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5w
YXR0ZXJuTGlzdCA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnRydWU8
L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4g
PHRkIGNsYXNzPSJsaW5lIj41NjI8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MjwvdGQ+PHRkIGNsYXNz
PSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwv
c3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjU2MzwvdGQ+
PHRkIGNsYXNzPSJoaXRzIj4yPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAg
ICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiBpZCA8c3BhbiBjbGFzcz0iayI+PTwvc3Bh
bj4gY29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPklEPHNwYW4gY2xhc3M9ImsiPik7PC9z
cGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NTY0PC90ZD48
dGQgY2xhc3M9ImhpdHMiPjI8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAg
ICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+aWQg
PHNwYW4gY2xhc3M9ImsiPiZhbXA7JmFtcDs8L3NwYW4+IGlkPHNwYW4gY2xhc3M9ImsiPi48L3Nw
YW4+dmFsdWUgPHNwYW4gY2xhc3M9ImsiPj09PTwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJnZXR0
ZXIiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bh
bj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjU2NTwvdGQ+PHRk
IGNsYXNzPSJoaXRzIj4xPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAg
ICAgICAgcmV0PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+bmFtZXMgPHNwYW4gY2xhc3M9ImsiPj08
L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5bPC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4iZ2V0dGVyIjwv
c3Bhbj48c3BhbiBjbGFzcz0iayI+XTs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9Imxp
bmUiPjU2NjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAg
ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xh
c3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NTY3PC90ZD48dGQgY2xhc3M9ImhpdHMiPjE8L3Rk
Pjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5l
bHNlPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9z
cGFuPmlkPHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwv
dGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NTY4PC90ZD48dGQgY2xh
c3M9ImhpdHMiPjE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAgICAg
ICByZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5uYW1lcyA8c3BhbiBjbGFzcz0iayI+PTwvc3Bh
bj4gPHNwYW4gY2xhc3M9ImsiPls8L3NwYW4+aWQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj52YWx1
ZTxzcGFuIGNsYXNzPSJrIj5dOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQg
Y2xhc3M9ImxpbmUiPjU2OTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xPC90ZD48dGQgY2xhc3M9InNv
dXJjZSI+ICAgICAgICAgICAgICAgICAgICAgICAgaWRlbnRpZmllcnM8c3BhbiBjbGFzcz0iayI+
KDwvc3Bhbj5yZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5uYW1lczxzcGFuIGNsYXNzPSJrIj4p
Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NTcwPC90ZD48dGQgY2xhc3M9
ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAgPHNwYW4g
Y2xhc3M9ImsiPn08L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjU3MTwvdGQ+
PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAg
ICAgIDxzcGFuIGNsYXNzPSJrIj5lbHNlPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48
L3RkPjwvdHI+PHRyIGNsYXNzPSJtaXNzIj4gPHRkIGNsYXNzPSJsaW5lIj41NzI8L3RkPjx0ZCBj
bGFzcz0iaGl0cyI+MDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAg
ICAgIHJldDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPm5hbWVzIDxzcGFuIGNsYXNzPSJrIj49PC9z
cGFuPiA8c3BhbiBjbGFzcz0iayI+W107PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJs
aW5lIj41NzM8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAg
ICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+PHRyIGNs
YXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjU3NDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yPC90
ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFz
cz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGlu
ZSI+NTc1PC90ZD48dGQgY2xhc3M9ImhpdHMiPjI8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAg
ICAgICAgICAgICAgICAgIGNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5PVEhFUjxzcGFu
IGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+Il0iPC9zcGFuPjxzcGFuIGNsYXNz
PSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+fHw8L3NwYW4+IGVycm9yPHNwYW4gY2xhc3M9
ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9InMiPiJVbnRlcm1pbmF0ZWQgc2VyaWFsaXplciBwYXR0
ZXJuIGxpc3QiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0
ZCBjbGFzcz0ibGluZSI+NTc2PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJz
b3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+
PHRyPjx0ZCBjbGFzcz0ibGluZSI+NTc3PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNs
YXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+ZWxzZTwvc3Bhbj4g
PHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNs
YXNzPSJsaW5lIj41Nzg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTwvdGQ+PHRkIGNsYXNzPSJzb3Vy
Y2UiPiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gbmFtZSA8
c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gY29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPklE
PHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj58fDwvc3Bhbj4gZXJyb3I8
c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0icyI+IkludmFsaWQgc2VyaWFsaXpl
ciI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9Imhp
dCI+IDx0ZCBjbGFzcz0ibGluZSI+NTc5PC90ZD48dGQgY2xhc3M9ImhpdHMiPjE8L3RkPjx0ZCBj
bGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAgIHJldDxzcGFuIGNsYXNzPSJrIj4uPC9z
cGFuPm5hbWUgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IG5hbWU8c3BhbiBjbGFzcz0iayI+Ljwv
c3Bhbj52YWx1ZTxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNz
PSJsaW5lIj41ODA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+
ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xh
c3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NTgxPC90ZD48dGQgY2xhc3M9ImhpdHMiPjg8L3Rk
Pjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9Imsi
PigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjU4
MjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj44PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAg
ICAgICAgIGNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5PVEhFUjxzcGFuIGNsYXNzPSJr
Ij4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+IjsiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pPC9z
cGFuPiA8c3BhbiBjbGFzcz0iayI+fHw8L3NwYW4+IGVycm9yPHNwYW4gY2xhc3M9ImsiPig8L3Nw
YW4+PHNwYW4gY2xhc3M9InMiPiJVbnRlcm1pbmF0ZWQgc2VyaWFsaXplciI8L3NwYW4+PHNwYW4g
Y2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0i
bGluZSI+NTgzPC90ZD48dGQgY2xhc3M9ImhpdHMiPjg8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4g
ICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnJldHVybjwvc3Bhbj4gcmV0PHNwYW4gY2xh
c3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjU4NDwvdGQ+PHRk
IGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBj
bGFzcz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9Imxp
bmUiPjU4NTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAg
ICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmVsc2U8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5pZjwv
c3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+Y29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9z
cGFuPk9USEVSPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iOyI8L3Nw
YW4+PHNwYW4gY2xhc3M9ImsiPikpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3Rk
PjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NTg2PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+
PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iYyI+Ly8gbm9v
cCwganVzdCBwYXJzaW5nPC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj41ODc8
L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAg
PHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjU4
ODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAg
ICA8c3BhbiBjbGFzcz0iayI+ZWxzZTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90
ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj41ODk8L3RkPjx0ZCBjbGFz
cz0iaGl0cyI+MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICByZXQ8c3Bh
biBjbGFzcz0iayI+Ljwvc3Bhbj5pZGxUeXBlIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiByZXR1
cm5fdHlwZTxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0
Ij4gPHRkIGNsYXNzPSJsaW5lIj41OTA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTwvdGQ+PHRkIGNs
YXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9z
cGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NTkxPC90ZD48
dGQgY2xhc3M9ImhpdHMiPjE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAg
cmV0PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+b3BlcmF0aW9uIDxzcGFuIGNsYXNzPSJrIj49PC9z
cGFuPiBvcGVyYXRpb25fcmVzdDxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0
cj48dGQgY2xhc3M9ImxpbmUiPjU5MjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFz
cz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+
PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjU5MzwvdGQ+PHRkIGNsYXNzPSJoaXRz
Ij4yPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnJl
dHVybjwvc3Bhbj4gcmV0PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQg
Y2xhc3M9ImxpbmUiPjU5NDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291
cmNlIj4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9z
cGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj41OTU8L3RkPjx0ZCBjbGFzcz0iaGl0
cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8L3RkPjwvdHI+PHRyIGNsYXNzPSJo
aXQiPiA8dGQgY2xhc3M9ImxpbmUiPjU5NjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40NzwvdGQ+PHRk
IGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gaW50ZXJm
YWNlXyA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPmZ1bmN0aW9uPC9z
cGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5pc1BhcnRpYWw8c3BhbiBjbGFzcz0iayI+KTwv
c3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4g
PHRkIGNsYXNzPSJsaW5lIj41OTc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTQ0PC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+ICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48
L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjU5ODwvdGQ+PHRkIGNs
YXNzPSJoaXRzIj4yMTA8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBj
bGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oITwvc3Bhbj5jb25zdW1lPHNwYW4g
Y2xhc3M9ImsiPig8L3NwYW4+SUQ8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9
InMiPiJpbnRlcmZhY2UiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pKTwvc3Bhbj4gPHNwYW4gY2xh
c3M9ImsiPnJldHVybjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRy
IGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjU5OTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj43
ODwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJr
Ij4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj42
MDA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+Nzg8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAg
ICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiBuYW1lIDxzcGFuIGNsYXNzPSJrIj49PC9z
cGFuPiBjb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+SUQ8c3BhbiBjbGFzcz0iayI+KTwv
c3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnx8PC9zcGFuPiBlcnJvcjxzcGFuIGNsYXNzPSJrIj4oPC9z
cGFuPjxzcGFuIGNsYXNzPSJzIj4iTm8gbmFtZSBmb3IgaW50ZXJmYWNlIjwvc3Bhbj48c3BhbiBj
bGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJs
aW5lIj42MDE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+Nzg8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4g
ICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiByZXQgPHNwYW4gY2xhc3M9Imsi
Pj08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNz
PSJsaW5lIj42MDI8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+
ICAgICAgICAgICAgICAgIHR5cGU8c3BhbiBjbGFzcz0iayI+Ojwvc3Bhbj4gICA8c3BhbiBjbGFz
cz0icyI+ImludGVyZmFjZSI8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjYw
MzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAg
ICA8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gICBuYW1lPHNwYW4gY2xhc3M9ImsiPjo8L3NwYW4+
ICAgbmFtZTxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnZhbHVlPC90ZD48L3RyPjx0cj48dGQgY2xh
c3M9ImxpbmUiPjYwNDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNl
Ij4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gICBwYXJ0aWFsPHNwYW4gY2xh
c3M9ImsiPjo8L3NwYW4+ICAgIDxzcGFuIGNsYXNzPSJrIj5mYWxzZTwvc3Bhbj48L3RkPjwvdHI+
PHRyPjx0ZCBjbGFzcz0ibGluZSI+NjA1PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNs
YXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiAgIG1lbWJl
cnM8c3BhbiBjbGFzcz0iayI+Ojwvc3Bhbj4gICAgPHNwYW4gY2xhc3M9ImsiPltdPC9zcGFuPjwv
dGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj42MDY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90
ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+
PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNs
YXNzPSJsaW5lIj42MDc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTU1PC90ZD48dGQgY2xhc3M9InNv
dXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0i
ayI+KCE8L3NwYW4+aXNQYXJ0aWFsPHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IHJldDxzcGFuIGNs
YXNzPSJrIj4uPC9zcGFuPmluaGVyaXRhbmNlIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiBpbmhl
cml0YW5jZTxzcGFuIGNsYXNzPSJrIj4oKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnx8PC9zcGFu
PiA8c3BhbiBjbGFzcz0iayI+bnVsbDwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3Rk
PjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjYwODwvdGQ+PHRkIGNsYXNz
PSJoaXRzIj43ODwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIGFsbF93czxzcGFu
IGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNz
PSJsaW5lIj42MDk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+Nzg8L3RkPjx0ZCBjbGFzcz0ic291cmNl
Ij4gICAgICAgICAgICBjb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+T1RIRVI8c3BhbiBj
bGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJ7Ijwvc3Bhbj48c3BhbiBjbGFzcz0i
ayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnx8PC9zcGFuPiBlcnJvcjxzcGFuIGNsYXNzPSJr
Ij4oPC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4iQm9keWxlc3MgaW50ZXJmYWNlIjwvc3Bhbj48c3Bh
biBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNz
PSJsaW5lIj42MTA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+Nzg8L3RkPjx0ZCBjbGFzcz0ic291cmNl
Ij4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+d2hpbGU8L3NwYW4+IDxzcGFuIGNsYXNzPSJr
Ij4oPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj50cnVlPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pPC9z
cGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8
dGQgY2xhc3M9ImxpbmUiPjYxMTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yNTE8L3RkPjx0ZCBjbGFz
cz0ic291cmNlIj4gICAgICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bh
bj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjYxMjwvdGQ+PHRk
IGNsYXNzPSJoaXRzIj4yNTE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAg
PHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5jb25zdW1l
PHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+T1RIRVI8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNw
YW4gY2xhc3M9InMiPiJ9Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KSk8L3NwYW4+IDxzcGFuIGNs
YXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGlu
ZSI+NjEzPC90ZD48dGQgY2xhc3M9ImhpdHMiPjc4PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAg
ICAgICAgICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90
cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NjE0PC90ZD48dGQgY2xhc3M9Imhp
dHMiPjc4PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICBjb25zdW1l
PHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+T1RIRVI8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNw
YW4gY2xhc3M9InMiPiI7Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xh
c3M9ImsiPnx8PC9zcGFuPiBlcnJvcjxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNz
PSJzIj4iTWlzc2luZyBzZW1pY29sb24gYWZ0ZXIgaW50ZXJmYWNlIjwvc3Bhbj48c3BhbiBjbGFz
cz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5l
Ij42MTU8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+Nzg8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAg
ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5yZXR1cm48L3NwYW4+IHJldDxzcGFuIGNs
YXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj42MTY8L3RkPjx0
ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxz
cGFuIGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFz
cz0ibGluZSI+NjE3PC90ZD48dGQgY2xhc3M9ImhpdHMiPjE3MzwvdGQ+PHRkIGNsYXNzPSJzb3Vy
Y2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiBlYSA8c3BhbiBj
bGFzcz0iayI+PTwvc3Bhbj4gZXh0ZW5kZWRfYXR0cnM8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFu
PjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NjE4PC90ZD48dGQg
Y2xhc3M9ImhpdHMiPjE3MzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICBh
bGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+
IDx0ZCBjbGFzcz0ibGluZSI+NjE5PC90ZD48dGQgY2xhc3M9ImhpdHMiPjE3MzwvdGQ+PHRkIGNs
YXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiBj
bnQgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IGNvbnN0XzxzcGFuIGNsYXNzPSJrIj4oKTs8L3Nw
YW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj42MjA8L3RkPjx0
ZCBjbGFzcz0iaGl0cyI+MTczPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAg
IDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+Y250PHNw
YW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48
dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NjIxPC90ZD48dGQgY2xhc3M9ImhpdHMi
Pjk8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAgIGNudDxzcGFuIGNs
YXNzPSJrIj4uPC9zcGFuPmV4dEF0dHJzIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiBlYTxzcGFu
IGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0i
bGluZSI+NjIyPC90ZD48dGQgY2xhc3M9ImhpdHMiPjk8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4g
ICAgICAgICAgICAgICAgICAgIHJldDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPm1lbWJlcnM8c3Bh
biBjbGFzcz0iayI+Ljwvc3Bhbj5wdXNoPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+Y250PHNwYW4g
Y2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0i
bGluZSI+NjIzPC90ZD48dGQgY2xhc3M9ImhpdHMiPjk8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4g
ICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5jb250aW51ZTwvc3Bhbj48c3BhbiBj
bGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NjI0PC90ZD48
dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8
c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xh
c3M9ImxpbmUiPjYyNTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xNjQ8L3RkPjx0ZCBjbGFzcz0ic291
cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gbWVtIDxzcGFu
IGNsYXNzPSJrIj49PC9zcGFuPiBzZXJpYWxpc2VyPHNwYW4gY2xhc3M9ImsiPigpPC9zcGFuPiA8
c3BhbiBjbGFzcz0iayI+fHw8L3NwYW4+IGF0dHJpYnV0ZTxzcGFuIGNsYXNzPSJrIj4oKTwvc3Bh
bj4gPHNwYW4gY2xhc3M9ImsiPnx8PC9zcGFuPiBvcGVyYXRpb248c3BhbiBjbGFzcz0iayI+KCk8
L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj58fDwvc3Bhbj4gZXJyb3I8c3BhbiBjbGFzcz0iayI+KDwv
c3Bhbj48c3BhbiBjbGFzcz0icyI+IlVua25vd24gbWVtYmVyIjwvc3Bhbj48c3BhbiBjbGFzcz0i
ayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj42
MjY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTY0PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAg
ICAgICAgICAgIG1lbTxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPmV4dEF0dHJzIDxzcGFuIGNsYXNz
PSJrIj49PC9zcGFuPiBlYTxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xh
c3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NjI3PC90ZD48dGQgY2xhc3M9ImhpdHMiPjE2NDwv
dGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICByZXQ8c3BhbiBjbGFzcz0iayI+
Ljwvc3Bhbj5tZW1iZXJzPHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+cHVzaDxzcGFuIGNsYXNzPSJr
Ij4oPC9zcGFuPm1lbTxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBj
bGFzcz0ibGluZSI+NjI4PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3Vy
Y2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRk
IGNsYXNzPSJsaW5lIj42Mjk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNv
dXJjZSI+ICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwv
c3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NjMwPC90ZD48dGQgY2xhc3M9Imhp
dHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPC90ZD48L3RyPjx0ciBjbGFzcz0i
aGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj42MzE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDc8L3RkPjx0
ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IHBhcnRp
YWwgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5mdW5jdGlvbjwvc3Bh
bj4gPHNwYW4gY2xhc3M9ImsiPigpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3Rk
PjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjYzMjwvdGQ+PHRkIGNsYXNz
PSJoaXRzIj42NjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIGFsbF93czxzcGFu
IGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNz
PSJsaW5lIj42MzM8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTMwPC90ZD48dGQgY2xhc3M9InNvdXJj
ZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+
KCE8L3NwYW4+Y29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPklEPHNwYW4gY2xhc3M9Imsi
Piw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4icGFydGlhbCI8L3NwYW4+PHNwYW4gY2xhc3M9Imsi
PikpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+cmV0dXJuPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47
PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NjM0PC90
ZD48dGQgY2xhc3M9ImhpdHMiPjI8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8
c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiB0aGluZyA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4g
ZGljdGlvbmFyeTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj50cnVlPC9z
cGFuPjxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+fHw8L3NwYW4+IGlu
dGVyZmFjZV88c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0iayI+dHJ1ZTwvc3Bh
bj48c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnx8PC9zcGFuPiBlcnJv
cjxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4iUGFydGlhbCBkb2Vzbid0
IGFwcGx5IHRvIGFueXRoaW5nIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48
L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj42MzU8L3RkPjx0ZCBjbGFzcz0i
aGl0cyI+MjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIHRoaW5nPHNwYW4gY2xh
c3M9ImsiPi48L3NwYW4+cGFydGlhbCA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xh
c3M9ImsiPnRydWU8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBj
bGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj42MzY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+Mjwv
dGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5yZXR1cm48
L3NwYW4+IHRoaW5nPHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xh
c3M9ImxpbmUiPjYzNzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNl
Ij4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFu
PjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj42Mzg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+
PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQi
PiA8dGQgY2xhc3M9ImxpbmUiPjYzOTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40NzwvdGQ+PHRkIGNs
YXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gZGljdGlvbmFy
eSA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPmZ1bmN0aW9uPC9zcGFu
PiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5pc1BhcnRpYWw8c3BhbiBjbGFzcz0iayI+KTwvc3Bh
bj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRk
IGNsYXNzPSJsaW5lIj42NDA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NjY8L3RkPjx0ZCBjbGFzcz0i
c291cmNlIj4gICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+
PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NjQxPC90ZD48dGQgY2xhc3M9
ImhpdHMiPjEyODwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNz
PSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPighPC9zcGFuPmNvbnN1bWU8c3BhbiBjbGFz
cz0iayI+KDwvc3Bhbj5JRDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+
ImRpY3Rpb25hcnkiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pKTwvc3Bhbj4gPHNwYW4gY2xhc3M9
ImsiPnJldHVybjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNs
YXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjY0MjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40PC90
ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigp
Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjY0Mzwv
dGQ+PHRkIGNsYXNzPSJoaXRzIj40PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAg
PHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gbmFtZSA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4g
Y29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPklEPHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+
IDxzcGFuIGNsYXNzPSJrIj58fDwvc3Bhbj4gZXJyb3I8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48
c3BhbiBjbGFzcz0icyI+Ik5vIG5hbWUgZm9yIGRpY3Rpb25hcnkiPC9zcGFuPjxzcGFuIGNsYXNz
PSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUi
PjY0NDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAg
ICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gcmV0IDxzcGFuIGNsYXNzPSJrIj49PC9z
cGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGlu
ZSI+NjQ1PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAg
ICAgICAgICAgICB0eXBlPHNwYW4gY2xhc3M9ImsiPjo8L3NwYW4+ICAgPHNwYW4gY2xhc3M9InMi
PiJkaWN0aW9uYXJ5Ijwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NjQ2PC90
ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxz
cGFuIGNsYXNzPSJrIj4sPC9zcGFuPiAgIG5hbWU8c3BhbiBjbGFzcz0iayI+Ojwvc3Bhbj4gICBu
YW1lPHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+dmFsdWU8L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0i
bGluZSI+NjQ3PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAg
ICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiAgIHBhcnRpYWw8c3BhbiBjbGFzcz0i
ayI+Ojwvc3Bhbj4gICAgPHNwYW4gY2xhc3M9ImsiPmZhbHNlPC9zcGFuPjwvdGQ+PC90cj48dHI+
PHRkIGNsYXNzPSJsaW5lIj42NDg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9
InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+ICAgbWVtYmVyczxz
cGFuIGNsYXNzPSJrIj46PC9zcGFuPiAgICA8c3BhbiBjbGFzcz0iayI+W108L3NwYW4+PC90ZD48
L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjY0OTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0
ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48c3Bh
biBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9
ImxpbmUiPjY1MDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj43PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+
ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KCE8
L3NwYW4+aXNQYXJ0aWFsPHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IHJldDxzcGFuIGNsYXNzPSJr
Ij4uPC9zcGFuPmluaGVyaXRhbmNlIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiBpbmhlcml0YW5j
ZTxzcGFuIGNsYXNzPSJrIj4oKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnx8PC9zcGFuPiA8c3Bh
biBjbGFzcz0iayI+bnVsbDwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+
PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjY1MTwvdGQ+PHRkIGNsYXNzPSJoaXRz
Ij40PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9
ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUi
PjY1MjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAg
ICAgICAgY29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPk9USEVSPHNwYW4gY2xhc3M9Imsi
Piw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4ieyI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik8L3Nw
YW4+IDxzcGFuIGNsYXNzPSJrIj58fDwvc3Bhbj4gZXJyb3I8c3BhbiBjbGFzcz0iayI+KDwvc3Bh
bj48c3BhbiBjbGFzcz0icyI+IkJvZHlsZXNzIGRpY3Rpb25hcnkiPC9zcGFuPjxzcGFuIGNsYXNz
PSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUi
PjY1MzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAg
ICAgICAgPHNwYW4gY2xhc3M9ImsiPndoaWxlPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bh
bj48c3BhbiBjbGFzcz0iayI+dHJ1ZTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNw
YW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNz
PSJsaW5lIj42NTQ8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTM8L3RkPjx0ZCBjbGFzcz0ic291cmNl
Ij4gICAgICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwv
dHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjY1NTwvdGQ+PHRkIGNsYXNzPSJo
aXRzIj4xMzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFz
cz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPmNvbnN1bWU8c3BhbiBjbGFz
cz0iayI+KDwvc3Bhbj5PVEhFUjxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0i
cyI+In0iPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8
L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj42NTY8L3Rk
Pjx0ZCBjbGFzcz0iaGl0cyI+NDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAg
ICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNz
PSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjY1NzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40PC90ZD48
dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICBjb25zdW1lPHNwYW4gY2xhc3M9
ImsiPig8L3NwYW4+T1RIRVI8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMi
PiI7Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnx8PC9z
cGFuPiBlcnJvcjxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4iTWlzc2lu
ZyBzZW1pY29sb24gYWZ0ZXIgZGljdGlvbmFyeSI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7PC9z
cGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NjU4PC90ZD48
dGQgY2xhc3M9ImhpdHMiPjQ8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAg
ICAgIDxzcGFuIGNsYXNzPSJrIj5yZXR1cm48L3NwYW4+IHJldDxzcGFuIGNsYXNzPSJrIj47PC9z
cGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj42NTk8L3RkPjx0ZCBjbGFzcz0iaGl0
cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJr
Ij59PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NjYw
PC90ZD48dGQgY2xhc3M9ImhpdHMiPjk8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAg
ICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gZWEgPHNwYW4gY2xhc3M9ImsiPj08L3Nw
YW4+IGV4dGVuZGVkX2F0dHJzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRy
IGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjY2MTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj45
PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNz
PSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5l
Ij42NjI8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+OTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAg
ICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiB0eXAgPHNwYW4gY2xhc3M9Imsi
Pj08L3NwYW4+IHR5cGU8c3BhbiBjbGFzcz0iayI+KCk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj58
fDwvc3Bhbj4gZXJyb3I8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0icyI+Ik5v
IHR5cGUgZm9yIGRpY3Rpb25hcnkgbWVtYmVyIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTs8L3Nw
YW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj42NjM8L3RkPjx0
ZCBjbGFzcz0iaGl0cyI+OTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICBh
bGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+
IDx0ZCBjbGFzcz0ibGluZSI+NjY0PC90ZD48dGQgY2xhc3M9ImhpdHMiPjk8L3RkPjx0ZCBjbGFz
cz0ic291cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gbmFt
ZSA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gY29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFu
PklEPHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj58fDwvc3Bhbj4gZXJy
b3I8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0icyI+Ik5vIG5hbWUgZm9yIGRp
Y3Rpb25hcnkgbWVtYmVyIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3Ry
Pjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj42NjU8L3RkPjx0ZCBjbGFzcz0iaGl0
cyI+OTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICByZXQ8c3BhbiBjbGFz
cz0iayI+Ljwvc3Bhbj5tZW1iZXJzPHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+cHVzaDxzcGFuIGNs
YXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRk
IGNsYXNzPSJsaW5lIj42NjY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNv
dXJjZSI+ICAgICAgICAgICAgICAgICAgICB0eXBlPHNwYW4gY2xhc3M9ImsiPjo8L3NwYW4+ICAg
ICAgIDxzcGFuIGNsYXNzPSJzIj4iZmllbGQiPC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNz
PSJsaW5lIj42Njc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+
ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiAgIG5hbWU8c3BhbiBjbGFz
cz0iayI+Ojwvc3Bhbj4gICAgICAgbmFtZTxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnZhbHVlPC90
ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjY2ODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3Rk
Pjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPiw8L3Nw
YW4+ICAgaWRsVHlwZTxzcGFuIGNsYXNzPSJrIj46PC9zcGFuPiAgICB0eXA8L3RkPjwvdHI+PHRy
Pjx0ZCBjbGFzcz0ibGluZSI+NjY5PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNz
PSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gICBleHRB
dHRyczxzcGFuIGNsYXNzPSJrIj46PC9zcGFuPiAgIGVhPC90ZD48L3RyPjx0cj48dGQgY2xhc3M9
ImxpbmUiPjY3MDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4g
ICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+ICAgPHNwYW4gY2xhc3M9InMi
PiJkZWZhdWx0Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ojwvc3Bhbj4gIGRlZmF1bHRfPHNwYW4g
Y2xhc3M9ImsiPigpPC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj42NzE8L3Rk
Pjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAg
IDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwv
dHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjY3MjwvdGQ+PHRkIGNsYXNzPSJo
aXRzIj45PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIGFsbF93czxzcGFu
IGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNz
PSJsaW5lIj42NzM8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+OTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2Ui
PiAgICAgICAgICAgICAgICBjb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+T1RIRVI8c3Bh
biBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiI7Ijwvc3Bhbj48c3BhbiBjbGFz
cz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnx8PC9zcGFuPiBlcnJvcjxzcGFuIGNsYXNz
PSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4iVW50ZXJtaW5hdGVkIGRpY3Rpb25hcnkgbWVt
YmVyIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xh
c3M9ImxpbmUiPjY3NDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNl
Ij4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBj
bGFzcz0ibGluZSI+Njc1PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3Vy
Y2UiPiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3Nw
YW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjY3NjwvdGQ+PHRkIGNsYXNzPSJoaXRz
Ij48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDwvdGQ+PC90cj48dHIgY2xhc3M9Imhp
dCI+IDx0ZCBjbGFzcz0ibGluZSI+Njc3PC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ3PC90ZD48dGQg
Y2xhc3M9InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiBleGNlcHRp
b24gPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5mdW5jdGlvbjwvc3Bh
bj4gPHNwYW4gY2xhc3M9ImsiPigpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3Rk
PjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjY3ODwvdGQ+PHRkIGNsYXNz
PSJoaXRzIj42MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIGFsbF93czxzcGFu
IGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNz
PSJsaW5lIj42Nzk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTEzPC90ZD48dGQgY2xhc3M9InNvdXJj
ZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+
KCE8L3NwYW4+Y29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPklEPHNwYW4gY2xhc3M9Imsi
Piw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iZXhjZXB0aW9uIjwvc3Bhbj48c3BhbiBjbGFzcz0i
ayI+KSk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5yZXR1cm48L3NwYW4+PHNwYW4gY2xhc3M9Imsi
Pjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj42ODA8
L3RkPjx0ZCBjbGFzcz0iaGl0cyI+OTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAg
IGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0
Ij4gPHRkIGNsYXNzPSJsaW5lIj42ODE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+OTwvdGQ+PHRkIGNs
YXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IG5hbWUg
PHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IGNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5J
RDxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+fHw8L3NwYW4+IGVycm9y
PHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9InMiPiJObyBuYW1lIGZvciBleGNl
cHRpb24iPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNz
PSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjY4MjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj45PC90ZD48
dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4g
cmV0IDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3Rk
PjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NjgzPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+
PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICB0eXBlPHNwYW4gY2xhc3M9ImsiPjo8
L3NwYW4+ICAgPHNwYW4gY2xhc3M9InMiPiJleGNlcHRpb24iPC9zcGFuPjwvdGQ+PC90cj48dHI+
PHRkIGNsYXNzPSJsaW5lIj42ODQ8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9
InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+ICAgbmFtZTxzcGFu
IGNsYXNzPSJrIj46PC9zcGFuPiAgIG5hbWU8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj52YWx1ZTwv
dGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj42ODU8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90
ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+
ICAgbWVtYmVyczxzcGFuIGNsYXNzPSJrIj46PC9zcGFuPiAgICA8c3BhbiBjbGFzcz0iayI+W108
L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjY4NjwvdGQ+PHRkIGNsYXNzPSJo
aXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+
fTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQi
PiA8dGQgY2xhc3M9ImxpbmUiPjY4NzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj45PC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+ICAgICAgICAgICAgcmV0PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+aW5oZXJp
dGFuY2UgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IGluaGVyaXRhbmNlPHNwYW4gY2xhc3M9Imsi
PigpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+fHw8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5udWxs
PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+
IDx0ZCBjbGFzcz0ibGluZSI+Njg4PC90ZD48dGQgY2xhc3M9ImhpdHMiPjk8L3RkPjx0ZCBjbGFz
cz0ic291cmNlIj4gICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwv
dGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+Njg5PC90ZD48dGQgY2xh
c3M9ImhpdHMiPjk8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICBjb25zdW1lPHNw
YW4gY2xhc3M9ImsiPig8L3NwYW4+T1RIRVI8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4g
Y2xhc3M9InMiPiJ7Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9
ImsiPnx8PC9zcGFuPiBlcnJvcjxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJz
Ij4iQm9keWxlc3MgZXhjZXB0aW9uIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90
ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj42OTA8L3RkPjx0ZCBjbGFz
cz0iaGl0cyI+OTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNz
PSJrIj53aGlsZTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9Imsi
PnRydWU8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9z
cGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NjkxPC90ZD48
dGQgY2xhc3M9ImhpdHMiPjE2PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAg
IGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0
Ij4gPHRkIGNsYXNzPSJsaW5lIj42OTI8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTY8L3RkPjx0ZCBj
bGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8
c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5jb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+T1RI
RVI8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJ9Ijwvc3Bhbj48c3Bh
biBjbGFzcz0iayI+KSk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48
dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NjkzPC90ZD48dGQgY2xhc3M9ImhpdHMi
Pjk8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAgIGFsbF93czxzcGFu
IGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNz
PSJsaW5lIj42OTQ8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+OTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2Ui
PiAgICAgICAgICAgICAgICAgICAgY29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPk9USEVS
PHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iOyI8L3NwYW4+PHNwYW4g
Y2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj58fDwvc3Bhbj4gZXJyb3I8c3BhbiBj
bGFzcz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0icyI+Ik1pc3Npbmcgc2VtaWNvbG9uIGFmdGVy
IGV4Y2VwdGlvbiI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIg
Y2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+Njk1PC90ZD48dGQgY2xhc3M9ImhpdHMiPjk8
L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJr
Ij5yZXR1cm48L3NwYW4+IHJldDxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+
PHRkIGNsYXNzPSJsaW5lIj42OTY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9
InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90
cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+Njk3PC90ZD48dGQgY2xhc3M9Imhp
dHMiPjc8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9
ImsiPnZhcjwvc3Bhbj4gZWEgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IGV4dGVuZGVkX2F0dHJz
PHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQg
Y2xhc3M9ImxpbmUiPjY5ODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj43PC90ZD48dGQgY2xhc3M9InNv
dXJjZSI+ICAgICAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90
ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj42OTk8L3RkPjx0ZCBjbGFz
cz0iaGl0cyI+NzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBj
bGFzcz0iayI+dmFyPC9zcGFuPiBjbnQgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IGNvbnN0Xzxz
cGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNs
YXNzPSJsaW5lIj43MDA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NzwvdGQ+PHRkIGNsYXNzPSJzb3Vy
Y2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNz
PSJrIj4oPC9zcGFuPmNudDxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+
ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjcwMTwv
dGQ+PHRkIGNsYXNzPSJoaXRzIj4zPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAg
ICAgICAgICBjbnQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5leHRBdHRycyA8c3BhbiBjbGFzcz0i
ayI+PTwvc3Bhbj4gZWE8c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNz
PSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjcwMjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4zPC90ZD48
dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICByZXQ8c3BhbiBjbGFzcz0iayI+
Ljwvc3Bhbj5tZW1iZXJzPHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+cHVzaDxzcGFuIGNsYXNzPSJr
Ij4oPC9zcGFuPmNudDxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBj
bGFzcz0ibGluZSI+NzAzPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3Vy
Y2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+PHRy
Pjx0ZCBjbGFzcz0ibGluZSI+NzA0PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNz
PSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+ZWxzZTwvc3Bhbj4gPHNw
YW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNz
PSJsaW5lIj43MDU8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2Ui
PiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gdHlwIDxzcGFu
IGNsYXNzPSJrIj49PC9zcGFuPiB0eXBlPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwv
dHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjcwNjwvdGQ+PHRkIGNsYXNzPSJo
aXRzIj40PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICBhbGxfd3M8
c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBj
bGFzcz0ibGluZSI+NzA3PC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ8L3RkPjx0ZCBjbGFzcz0ic291
cmNlIj4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IG5hbWUg
PHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IGNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5J
RDxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQg
Y2xhc3M9ImxpbmUiPjcwODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40PC90ZD48dGQgY2xhc3M9InNv
dXJjZSI+ICAgICAgICAgICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFu
PjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NzA5PC90ZD48dGQg
Y2xhc3M9ImhpdHMiPjQ8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAg
IDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPighPC9zcGFuPnR5cCA8
c3BhbiBjbGFzcz0iayI+fHw8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4hPC9zcGFuPm5hbWUgPHNw
YW4gY2xhc3M9ImsiPnx8PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ITwvc3Bhbj5jb25zdW1lPHNw
YW4gY2xhc3M9ImsiPig8L3NwYW4+T1RIRVI8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4g
Y2xhc3M9InMiPiI7Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KSk8L3NwYW4+IGVycm9yPHNwYW4g
Y2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9InMiPiJVbmtub3duIG1lbWJlciBpbiBleGNl
cHRpb24gYm9keSI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIg
Y2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NzEwPC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ8
L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAgIHJldDxzcGFuIGNsYXNz
PSJrIj4uPC9zcGFuPm1lbWJlcnM8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5wdXNoPHNwYW4gY2xh
c3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQg
Y2xhc3M9ImxpbmUiPjcxMTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291
cmNlIj4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlPHNwYW4gY2xhc3M9ImsiPjo8L3NwYW4+
ICAgICAgIDxzcGFuIGNsYXNzPSJzIj4iZmllbGQiPC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNs
YXNzPSJsaW5lIj43MTI8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJj
ZSI+ICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gICBuYW1lPHNw
YW4gY2xhc3M9ImsiPjo8L3NwYW4+ICAgICAgIG5hbWU8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj52
YWx1ZTwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj43MTM8L3RkPjx0ZCBjbGFzcz0iaGl0
cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFz
cz0iayI+LDwvc3Bhbj4gICBpZGxUeXBlPHNwYW4gY2xhc3M9ImsiPjo8L3NwYW4+ICAgIHR5cDwv
dGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj43MTQ8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90
ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+
LDwvc3Bhbj4gICBleHRBdHRyczxzcGFuIGNsYXNzPSJrIj46PC9zcGFuPiAgIGVhPC90ZD48L3Ry
Pjx0cj48dGQgY2xhc3M9ImxpbmUiPjcxNTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBj
bGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFu
PjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+
NzE2PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAg
ICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0i
bGluZSI+NzE3PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAg
ICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNz
PSJsaW5lIj43MTg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+
ICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48
L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NzE5PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwv
dGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4g
PHRkIGNsYXNzPSJsaW5lIj43MjA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDc8L3RkPjx0ZCBjbGFz
cz0ic291cmNlIj4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IGVudW1fIDxzcGFu
IGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ZnVuY3Rpb248L3NwYW4+IDxzcGFu
IGNsYXNzPSJrIj4oKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0
ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj43MjE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+
NTI8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0i
ayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+
NzIyPC90ZD48dGQgY2xhc3M9ImhpdHMiPjEwMzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAg
ICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPighPC9zcGFu
PmNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5JRDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFu
PiA8c3BhbiBjbGFzcz0icyI+ImVudW0iPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pKTwvc3Bhbj4g
PHNwYW4gY2xhc3M9ImsiPnJldHVybjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3Rk
PjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjcyMzwvdGQ+PHRkIGNsYXNz
PSJoaXRzIj4xPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgYWxsX3dzPHNwYW4g
Y2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9
ImxpbmUiPjcyNDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+
ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gbmFtZSA8c3BhbiBjbGFzcz0i
ayI+PTwvc3Bhbj4gY29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPklEPHNwYW4gY2xhc3M9
ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj58fDwvc3Bhbj4gZXJyb3I8c3BhbiBjbGFzcz0i
ayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0icyI+Ik5vIG5hbWUgZm9yIGVudW0iPC9zcGFuPjxzcGFu
IGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9
ImxpbmUiPjcyNTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+
ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gcmV0IDxzcGFuIGNsYXNzPSJr
Ij49PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFz
cz0ibGluZSI+NzI2PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2Ui
PiAgICAgICAgICAgICAgICB0eXBlPHNwYW4gY2xhc3M9ImsiPjo8L3NwYW4+ICAgPHNwYW4gY2xh
c3M9InMiPiJlbnVtIjwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NzI3PC90
ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxz
cGFuIGNsYXNzPSJrIj4sPC9zcGFuPiAgIG5hbWU8c3BhbiBjbGFzcz0iayI+Ojwvc3Bhbj4gICBu
YW1lPHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+dmFsdWU8L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0i
bGluZSI+NzI4PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAg
ICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiAgIHZhbHVlczxzcGFuIGNsYXNzPSJr
Ij46PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+W108L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xh
c3M9ImxpbmUiPjcyOTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNl
Ij4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwv
c3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjczMDwvdGQ+
PHRkIGNsYXNzPSJoaXRzIj4xPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgYWxs
X3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8
dGQgY2xhc3M9ImxpbmUiPjczMTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xPC90ZD48dGQgY2xhc3M9
InNvdXJjZSI+ICAgICAgICAgICAgY29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPk9USEVS
PHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4ieyI8L3NwYW4+PHNwYW4g
Y2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj58fDwvc3Bhbj4gZXJyb3I8c3BhbiBj
bGFzcz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0icyI+Ik5vIGN1cmx5IGZvciBlbnVtIjwvc3Bh
bj48c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRk
IGNsYXNzPSJsaW5lIj43MzI8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTwvdGQ+PHRkIGNsYXNzPSJz
b3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IHNhd19jb21tYSA8
c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPmZhbHNlPC9zcGFuPjxzcGFu
IGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0i
bGluZSI+NzMzPC90ZD48dGQgY2xhc3M9ImhpdHMiPjE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4g
ICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+d2hpbGU8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4o
PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj50cnVlPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pPC9zcGFu
PiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQg
Y2xhc3M9ImxpbmUiPjczNDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40PC90ZD48dGQgY2xhc3M9InNv
dXJjZSI+ICAgICAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90
ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj43MzU8L3RkPjx0ZCBjbGFz
cz0iaGl0cyI+NDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBj
bGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPmNvbnN1bWU8c3BhbiBj
bGFzcz0iayI+KDwvc3Bhbj5PVEhFUjxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFz
cz0icyI+In0iPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pKTwvc3Bhbj4gPHNwYW4gY2xhc3M9Imsi
Pns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj43MzY8
L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAg
ICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNs
YXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjczNzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xPC90
ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+
aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPnNhd19jb21tYTxzcGFuIGNsYXNzPSJr
Ij4pPC9zcGFuPiBlcnJvcjxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4i
VHJhaWxpbmcgY29tbWEgaW4gZW51bSI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwv
dGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NzM4PC90ZD48dGQgY2xh
c3M9ImhpdHMiPjE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAgIGNv
bnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5PVEhFUjxzcGFuIGNsYXNzPSJrIj4sPC9zcGFu
PiA8c3BhbiBjbGFzcz0icyI+IjsiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3Bh
biBjbGFzcz0iayI+fHw8L3NwYW4+IGVycm9yPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4g
Y2xhc3M9InMiPiJObyBzZW1pY29sb24gYWZ0ZXIgZW51bSI8L3NwYW4+PHNwYW4gY2xhc3M9Imsi
Pik7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NzM5
PC90ZD48dGQgY2xhc3M9ImhpdHMiPjE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAg
ICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5yZXR1cm48L3NwYW4+IHJldDxzcGFuIGNsYXNzPSJr
Ij47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj43NDA8L3RkPjx0ZCBjbGFz
cz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNs
YXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGlu
ZSI+NzQxPC90ZD48dGQgY2xhc3M9ImhpdHMiPjM8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAg
ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gdmFsIDxzcGFuIGNsYXNzPSJr
Ij49PC9zcGFuPiBjb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+U1RSPHNwYW4gY2xhc3M9
ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj58fDwvc3Bhbj4gZXJyb3I8c3BhbiBjbGFzcz0i
ayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0icyI+IlVuZXhwZWN0ZWQgdmFsdWUgaW4gZW51bSI8L3Nw
YW4+PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0
ZCBjbGFzcz0ibGluZSI+NzQyPC90ZD48dGQgY2xhc3M9ImhpdHMiPjM8L3RkPjx0ZCBjbGFzcz0i
c291cmNlIj4gICAgICAgICAgICAgICAgcmV0PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+dmFsdWVz
PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+cHVzaDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPnZhbDxz
cGFuIGNsYXNzPSJrIj4uPC9zcGFuPnZhbHVlPHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+cmVwbGFj
ZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4vIi9nPC9zcGFuPjxzcGFu
IGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+IiI8L3NwYW4+PHNwYW4gY2xhc3M9
ImsiPikpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUi
Pjc0MzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4zPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAg
ICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBj
bGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj43NDQ8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+Mzwv
dGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8
L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPmNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwv
c3Bhbj5PVEhFUjxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+IiwiPC9z
cGFuPjxzcGFuIGNsYXNzPSJrIj4pKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90
ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj43NDU8L3RkPjx0ZCBjbGFz
cz0iaGl0cyI+MjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAgYWxs
X3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8
dGQgY2xhc3M9ImxpbmUiPjc0NjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yPC90ZD48dGQgY2xhc3M9
InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICBzYXdfY29tbWEgPHNwYW4gY2xhc3M9ImsiPj08
L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj50cnVlPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFu
PjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj43NDc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+
PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj59
PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj43NDg8L3RkPjx0ZCBjbGFzcz0i
aGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNz
PSJrIj5lbHNlPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNs
YXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjc0OTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xPC90
ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICBzYXdfY29tbWEgPHNwYW4g
Y2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5mYWxzZTwvc3Bhbj48c3BhbiBjbGFz
cz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NzUwPC90ZD48dGQg
Y2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3Bh
biBjbGFzcz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NzUxPC90
ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxz
cGFuIGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj43NTI8
L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8c3Bh
biBjbGFzcz0iayI+fTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRy
Pjx0ZCBjbGFzcz0ibGluZSI+NzUzPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNz
PSJzb3VyY2UiPiAgICAgICAgPC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJs
aW5lIj43NTQ8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDc8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4g
ICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IHR5cGVkZWYgPHNwYW4gY2xhc3M9Imsi
Pj08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5mdW5jdGlvbjwvc3Bhbj4gPHNwYW4gY2xhc3M9Imsi
PigpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJo
aXQiPiA8dGQgY2xhc3M9ImxpbmUiPjc1NTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj41MTwvdGQ+PHRk
IGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3Nw
YW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj43NTY8L3RkPjx0
ZCBjbGFzcz0iaGl0cyI+OTk8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3Bh
biBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oITwvc3Bhbj5jb25zdW1lPHNw
YW4gY2xhc3M9ImsiPig8L3NwYW4+SUQ8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xh
c3M9InMiPiJ0eXBlZGVmIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KSk8L3NwYW4+IDxzcGFuIGNs
YXNzPSJrIj5yZXR1cm48L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0
ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj43NTc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+
MzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8
L3NwYW4+IHJldCA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3Nw
YW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjc1ODwvdGQ+PHRkIGNsYXNzPSJoaXRz
Ij48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgdHlwZTxzcGFuIGNsYXNz
PSJrIj46PC9zcGFuPiAgIDxzcGFuIGNsYXNzPSJzIj4idHlwZWRlZiI8L3NwYW4+PC90ZD48L3Ry
Pjx0cj48dGQgY2xhc3M9ImxpbmUiPjc1OTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBj
bGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48c3BhbiBj
bGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9Imxp
bmUiPjc2MDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4zPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAg
ICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNs
YXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjc2MTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4zPC90
ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgcmV0PHNwYW4gY2xhc3M9ImsiPi48L3Nw
YW4+ZXh0QXR0cnMgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IGV4dGVuZGVkX2F0dHJzPHNwYW4g
Y2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9
ImxpbmUiPjc2MjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4zPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+
ICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRy
IGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjc2MzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4z
PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgcmV0PHNwYW4gY2xhc3M9ImsiPi48
L3NwYW4+aWRsVHlwZSA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gdHlwZTxzcGFuIGNsYXNzPSJr
Ij4oKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnx8PC9zcGFuPiBlcnJvcjxzcGFuIGNsYXNzPSJr
Ij4oPC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4iTm8gdHlwZSBpbiB0eXBlZGVmIjwvc3Bhbj48c3Bh
biBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNz
PSJsaW5lIj43NjQ8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2Ui
PiAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0
ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj43NjU8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+
MzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8
L3NwYW4+IG5hbWUgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IGNvbnN1bWU8c3BhbiBjbGFzcz0i
ayI+KDwvc3Bhbj5JRDxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+fHw8
L3NwYW4+IGVycm9yPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9InMiPiJObyBu
YW1lIGluIHR5cGVkZWYiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+
PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjc2NjwvdGQ+PHRkIGNsYXNzPSJoaXRz
Ij4zPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgcmV0PHNwYW4gY2xhc3M9Imsi
Pi48L3NwYW4+bmFtZSA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gbmFtZTxzcGFuIGNsYXNzPSJr
Ij4uPC9zcGFuPnZhbHVlPHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFz
cz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj43Njc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MzwvdGQ+
PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8
L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj43Njg8L3Rk
Pjx0ZCBjbGFzcz0iaGl0cyI+MzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIGNv
bnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5PVEhFUjxzcGFuIGNsYXNzPSJrIj4sPC9zcGFu
PiA8c3BhbiBjbGFzcz0icyI+IjsiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3Bh
biBjbGFzcz0iayI+fHw8L3NwYW4+IGVycm9yPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4g
Y2xhc3M9InMiPiJVbnRlcm1pbmF0ZWQgdHlwZWRlZiI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7
PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NzY5PC90
ZD48dGQgY2xhc3M9ImhpdHMiPjM8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8
c3BhbiBjbGFzcz0iayI+cmV0dXJuPC9zcGFuPiByZXQ8c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48
L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NzcwPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwv
dGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PHNw
YW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjc3MTwv
dGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDwvdGQ+
PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NzcyPC90ZD48dGQgY2xhc3M9
ImhpdHMiPjQ3PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFzcz0iayI+
dmFyPC9zcGFuPiBpbXBsZW1lbnRzXyA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xh
c3M9ImsiPmZ1bmN0aW9uPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KCk8L3NwYW4+IDxzcGFuIGNs
YXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGlu
ZSI+NzczPC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ4PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAg
ICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNs
YXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjc3NDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40ODwv
dGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3Nw
YW4+IHRhcmdldCA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gY29uc3VtZTxzcGFuIGNsYXNzPSJr
Ij4oPC9zcGFuPklEPHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9
ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+Nzc1PC90ZD48dGQgY2xhc3M9ImhpdHMiPjk1PC90ZD48
dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8
c3BhbiBjbGFzcz0iayI+KCE8L3NwYW4+dGFyZ2V0PHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxz
cGFuIGNsYXNzPSJrIj5yZXR1cm48L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48
L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj43NzY8L3RkPjx0ZCBjbGFzcz0i
aGl0cyI+MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJr
Ij52YXI8L3NwYW4+IHcgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IGFsbF93czxzcGFuIGNsYXNz
PSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5l
Ij43Nzc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAg
ICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+
Y29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPklEPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+
IDxzcGFuIGNsYXNzPSJzIj4iaW1wbGVtZW50cyI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPikpPC9z
cGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8
dGQgY2xhc3M9ImxpbmUiPjc3ODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xPC90ZD48dGQgY2xhc3M9
InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IHJldCA8
c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3Ry
Pjx0cj48dGQgY2xhc3M9ImxpbmUiPjc3OTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBj
bGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAgIHR5cGU8c3BhbiBjbGFzcz0iayI+Ojwv
c3Bhbj4gICA8c3BhbiBjbGFzcz0icyI+ImltcGxlbWVudHMiPC9zcGFuPjwvdGQ+PC90cj48dHI+
PHRkIGNsYXNzPSJsaW5lIj43ODA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9
InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiAgIHRhcmdl
dDxzcGFuIGNsYXNzPSJrIj46PC9zcGFuPiB0YXJnZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj52
YWx1ZTwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj43ODE8L3RkPjx0ZCBjbGFzcz0iaGl0
cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJr
Ij59PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9Imhp
dCI+IDx0ZCBjbGFzcz0ibGluZSI+NzgyPC90ZD48dGQgY2xhc3M9ImhpdHMiPjE8L3RkPjx0ZCBj
bGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwv
c3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjc4MzwvdGQ+
PHRkIGNsYXNzPSJoaXRzIj4xPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAg
IDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IGltcCA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4g
Y29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPklEPHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+
IDxzcGFuIGNsYXNzPSJrIj58fDwvc3Bhbj4gZXJyb3I8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48
c3BhbiBjbGFzcz0icyI+IkluY29tcGxldGUgaW1wbGVtZW50cyBzdGF0ZW1lbnQiPC9zcGFuPjxz
cGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xh
c3M9ImxpbmUiPjc4NDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xPC90ZD48dGQgY2xhc3M9InNvdXJj
ZSI+ICAgICAgICAgICAgICAgIHJldDxzcGFuIGNsYXNzPSJrIj5bPC9zcGFuPjxzcGFuIGNsYXNz
PSJzIj4iaW1wbGVtZW50cyI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPl08L3NwYW4+IDxzcGFuIGNs
YXNzPSJrIj49PC9zcGFuPiBpbXA8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj52YWx1ZTxzcGFuIGNs
YXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGlu
ZSI+Nzg1PC90ZD48dGQgY2xhc3M9ImhpdHMiPjE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAg
ICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRy
IGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjc4NjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4x
PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIGNvbnN1bWU8c3BhbiBjbGFz
cz0iayI+KDwvc3Bhbj5PVEhFUjxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0i
cyI+IjsiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+fHw8
L3NwYW4+IGVycm9yPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9InMiPiJObyB0
ZXJtaW5hdGluZyA7IGZvciBpbXBsZW1lbnRzIHN0YXRlbWVudCI8L3NwYW4+PHNwYW4gY2xhc3M9
ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+
Nzg3PC90ZD48dGQgY2xhc3M9ImhpdHMiPjE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAg
ICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnJldHVybjwvc3Bhbj4gcmV0PHNwYW4gY2xhc3M9Imsi
Pjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjc4ODwvdGQ+PHRkIGNsYXNz
PSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0i
ayI+fTwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+Nzg5PC90ZD48dGQgY2xh
c3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNz
PSJrIj5lbHNlPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0
ZCBjbGFzcz0ibGluZSI+NzkwPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJz
b3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iYyI+Ly8gcm9sbGJhY2s8L3NwYW4+
PC90ZD48L3RyPjx0ciBjbGFzcz0ibWlzcyI+IDx0ZCBjbGFzcz0ibGluZSI+NzkxPC90ZD48dGQg
Y2xhc3M9ImhpdHMiPjA8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgdG9r
ZW5zPHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+dW5zaGlmdDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFu
Pnc8c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0ibWlzcyI+IDx0
ZCBjbGFzcz0ibGluZSI+NzkyPC90ZD48dGQgY2xhc3M9ImhpdHMiPjA8L3RkPjx0ZCBjbGFzcz0i
c291cmNlIj4gICAgICAgICAgICAgICAgdG9rZW5zPHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+dW5z
aGlmdDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPnRhcmdldDxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bh
bj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NzkzPC90ZD48dGQgY2xhc3M9ImhpdHMi
PjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9z
cGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj43OTQ8L3RkPjx0ZCBjbGFzcz0iaGl0
cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bh
bj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+
Nzk1PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAg
PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj43OTY8L3RkPjx0ZCBj
bGFzcz0iaGl0cyI+NDc8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxzcGFuIGNsYXNz
PSJrIj52YXI8L3NwYW4+IGRlZmluaXRpb24gPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFu
IGNsYXNzPSJrIj5mdW5jdGlvbjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPigpPC9zcGFuPiA8c3Bh
biBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9
ImxpbmUiPjc5NzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xNDQ8L3RkPjx0ZCBjbGFzcz0ic291cmNl
Ij4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+cmV0dXJuPC9zcGFuPiAgY2FsbGJhY2s8c3Bh
biBjbGFzcz0iayI+KCk8L3NwYW4+ICAgICAgPHNwYW4gY2xhc3M9ImsiPnx8PC9zcGFuPjwvdGQ+
PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj43OTg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48
dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICBpbnRlcmZhY2VfPHNwYW4gY2xh
c3M9ImsiPigpPC9zcGFuPiAgICA8c3BhbiBjbGFzcz0iayI+fHw8L3NwYW4+PC90ZD48L3RyPjx0
cj48dGQgY2xhc3M9ImxpbmUiPjc5OTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFz
cz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAgIHBhcnRpYWw8c3BhbiBjbGFzcz0iayI+KCk8
L3NwYW4+ICAgICAgIDxzcGFuIGNsYXNzPSJrIj58fDwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBj
bGFzcz0ibGluZSI+ODAwPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3Vy
Y2UiPiAgICAgICAgICAgICAgICAgICAgZGljdGlvbmFyeTxzcGFuIGNsYXNzPSJrIj4oKTwvc3Bh
bj4gICAgPHNwYW4gY2xhc3M9ImsiPnx8PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJs
aW5lIj44MDE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAg
ICAgICAgICAgICAgICAgICBleGNlcHRpb248c3BhbiBjbGFzcz0iayI+KCk8L3NwYW4+ICAgICA8
c3BhbiBjbGFzcz0iayI+fHw8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjgw
MjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAg
ICAgICAgICAgIGVudW1fPHNwYW4gY2xhc3M9ImsiPigpPC9zcGFuPiAgICAgICAgIDxzcGFuIGNs
YXNzPSJrIj58fDwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+ODAzPC90ZD48
dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAg
ICAgdHlwZWRlZjxzcGFuIGNsYXNzPSJrIj4oKTwvc3Bhbj4gICAgICAgPHNwYW4gY2xhc3M9Imsi
Pnx8PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj44MDQ8L3RkPjx0ZCBjbGFz
cz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICBpbXBs
ZW1lbnRzXzxzcGFuIGNsYXNzPSJrIj4oKTwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0i
bGluZSI+ODA1PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAg
ICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48
dGQgY2xhc3M9ImxpbmUiPjgwNjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0i
c291cmNlIj4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47
PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj44MDc8L3RkPjx0ZCBjbGFzcz0i
aGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8L3RkPjwvdHI+PHRyIGNsYXNz
PSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjgwODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40NzwvdGQ+
PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gZGVm
aW5pdGlvbnMgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5mdW5jdGlv
bjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPigpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bh
bj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjgwOTwvdGQ+PHRk
IGNsYXNzPSJoaXRzIj40NzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFu
IGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPighPC9zcGFuPnRva2VuczxzcGFu
IGNsYXNzPSJrIj4uPC9zcGFuPmxlbmd0aDxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBj
bGFzcz0iayI+cmV0dXJuPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+W107PC9zcGFuPjwvdGQ+PC90
cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+ODEwPC90ZD48dGQgY2xhc3M9Imhp
dHMiPjQ3PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9Imsi
PnZhcjwvc3Bhbj4gZGVmcyA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9Imsi
PltdOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjgx
MTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40NzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAg
ICAgIDxzcGFuIGNsYXNzPSJrIj53aGlsZTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+
PHNwYW4gY2xhc3M9ImsiPnRydWU8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFu
IGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0i
bGluZSI+ODEyPC90ZD48dGQgY2xhc3M9ImhpdHMiPjE0NDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2Ui
PiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiBlYSA8c3BhbiBjbGFz
cz0iayI+PTwvc3Bhbj4gZXh0ZW5kZWRfYXR0cnM8c3BhbiBjbGFzcz0iayI+KCk8L3NwYW4+PC90
ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjgxMzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3Rk
Pjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPiw8L3Nw
YW4+ICAgZGVmIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiBkZWZpbml0aW9uPHNwYW4gY2xhc3M9
ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUi
PjgxNDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xNDQ8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAg
ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KCE8
L3NwYW4+ZGVmPHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFu
PjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+ODE1PC90ZD48dGQg
Y2xhc3M9ImhpdHMiPjQ3PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAg
ICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPmVhPHNw
YW4gY2xhc3M9ImsiPi48L3NwYW4+bGVuZ3RoPHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IGVycm9y
PHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9InMiPiJTdHJheSBleHRlbmRlZCBh
dHRyaWJ1dGVzIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBj
bGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj44MTY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDc8
L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJr
Ij5icmVhazwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBj
bGFzcz0ibGluZSI+ODE3PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3Vy
Y2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+PHRy
IGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjgxODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj45
NzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICBkZWY8c3BhbiBjbGFzcz0i
ayI+Ljwvc3Bhbj5leHRBdHRycyA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gZWE8c3BhbiBjbGFz
cz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUi
PjgxOTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj45NzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAg
ICAgICAgICAgICBkZWZzPHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+cHVzaDxzcGFuIGNsYXNzPSJr
Ij4oPC9zcGFuPmRlZjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBj
bGFzcz0ibGluZSI+ODIwPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3Vy
Y2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xh
c3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+ODIxPC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ3PC90
ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnJldHVybjwv
c3Bhbj4gZGVmczxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNz
PSJsaW5lIj44MjI8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+
ICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48
L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjgyMzwvdGQ+PHRkIGNs
YXNzPSJoaXRzIj40NzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9
ImsiPnZhcjwvc3Bhbj4gcmVzIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiBkZWZpbml0aW9uczxz
cGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNs
YXNzPSJsaW5lIj44MjQ8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDc8L3RkPjx0ZCBjbGFzcz0ic291
cmNlIj4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8
L3NwYW4+dG9rZW5zPHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+bGVuZ3RoPHNwYW4gY2xhc3M9Imsi
Pik8L3NwYW4+IGVycm9yPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9InMiPiJV
bnJlY29nbmlzZWQgdG9rZW5zIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48
L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj44MjU8L3RkPjx0ZCBjbGFzcz0i
aGl0cyI+NDc8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj5y
ZXR1cm48L3NwYW4+IHJlczxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRk
IGNsYXNzPSJsaW5lIj44MjY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNv
dXJjZSI+ICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFu
PjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj44Mjc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+
PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+IDwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBj
bGFzcz0ibGluZSI+ODI4PC90ZD48dGQgY2xhc3M9ImhpdHMiPjE8L3RkPjx0ZCBjbGFzcz0ic291
cmNlIj4gICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gb2JqIDxzcGFuIGNsYXNzPSJrIj49
PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0i
bGluZSI+ODI5PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAg
ICAgICAgcGFyc2U8c3BhbiBjbGFzcz0iayI+Ojwvc3Bhbj4gIDxzcGFuIGNsYXNzPSJrIj5mdW5j
dGlvbjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+c3RyPHNwYW4gY2xhc3M9ImsiPik8
L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+
IDx0ZCBjbGFzcz0ibGluZSI+ODMwPC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ3PC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gdG9rZW5z
IDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiB0b2tlbmlzZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFu
PnN0cjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGlu
ZSI+ODMxPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAg
ICAgICAgIDxzcGFuIGNsYXNzPSJjIj4vLyBjb25zb2xlLmxvZyh0b2tlbnMpOzwvc3Bhbj48L3Rk
PjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjgzMjwvdGQ+PHRkIGNsYXNz
PSJoaXRzIj40NzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNz
PSJrIj5yZXR1cm48L3NwYW4+IHBhcnNlPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+dG9rZW5zPHNw
YW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj44MzM8
L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8c3Bh
biBjbGFzcz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+ODM0PC90
ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICA8c3BhbiBjbGFz
cz0iayI+fTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNz
PSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjgzNTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xPC90ZD48
dGQgY2xhc3M9InNvdXJjZSI+ICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xh
c3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPnR5cGVvZjwvc3Bhbj4gbW9kdWxlIDxzcGFu
IGNsYXNzPSJrIj4hPT08L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4idW5kZWZpbmVkIjwvc3Bhbj4g
PHNwYW4gY2xhc3M9ImsiPiZhbXA7JmFtcDs8L3NwYW4+IG1vZHVsZTxzcGFuIGNsYXNzPSJrIj4u
PC9zcGFuPmV4cG9ydHM8c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8
L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj44MzY8L3Rk
Pjx0ZCBjbGFzcz0iaGl0cyI+MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgbW9kdWxl
PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+ZXhwb3J0cyA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4g
b2JqPHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUi
PjgzNzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgPHNw
YW4gY2xhc3M9ImsiPn08L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjgzODwv
dGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgPHNwYW4gY2xh
c3M9ImsiPmVsc2U8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIg
Y2xhc3M9Im1pc3MiPiA8dGQgY2xhc3M9ImxpbmUiPjgzOTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4w
PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICB3aW5kb3c8c3BhbiBjbGFzcz0iayI+Ljwv
c3Bhbj5XZWJJREwyIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiBvYmo8c3BhbiBjbGFzcz0iayI+
Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+ODQwPC90ZD48dGQgY2xhc3M9
ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bh
bj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+ODQxPC90ZD48dGQgY2xhc3M9ImhpdHMi
PjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPjxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjxzcGFuIGNs
YXNzPSJrIj4oKSk7PC9zcGFuPjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+
PC9kaXY+PC9ib2R5PjwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvaW5kZXguanMKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi9pbmRleC5qcwkocmV2aXNpb24gMjUyODk2KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi9pbmRleC5qcwkobm9uZXhp
c3RlbnQpCkBAIC0xICswLDAgQEAKLW1vZHVsZS5leHBvcnRzID0gcmVxdWlyZSgiLi9saWIvd2Vi
aWRsMi5qcyIpOwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi9wYWNrYWdlLWxvY2suanNvbgo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3BhY2thZ2UtbG9jay5qc29uCShyZXZpc2lvbiAyNTI4OTYpCisrKyBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3BhY2thZ2Ut
bG9jay5qc29uCShub25leGlzdGVudCkKQEAgLTEsNzAwICswLDAgQEAKLXsKLSAgIm5hbWUiOiAi
d2ViaWRsMiIsCi0gICJ2ZXJzaW9uIjogIjEzLjAuMyIsCi0gICJsb2NrZmlsZVZlcnNpb24iOiAx
LAotICAicmVxdWlyZXMiOiB0cnVlLAotICAiZGVwZW5kZW5jaWVzIjogewotICAgICJAYmFiZWwv
Y29kZS1mcmFtZSI6IHsKLSAgICAgICJ2ZXJzaW9uIjogIjcuMC4wLWJldGEuNDAiLAotICAgICAg
InJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL0BiYWJlbC9jb2RlLWZyYW1l
Ly0vY29kZS1mcmFtZS03LjAuMC1iZXRhLjQwLnRneiIsCi0gICAgICAiaW50ZWdyaXR5IjogInNo
YTUxMi1lVlhRU2J1L1JpbVU2T0tjSzIvZ0RKVlRGY3hYSkk0c0hiSXF3Mm1od01aZVEyYXMvOEFo
UzlER2tFRG9ITUJCTkpaNUIwVVM2M2xGNTZ4K0tEY3hpQT09IiwKLSAgICAgICJkZXYiOiB0cnVl
LAotICAgICAgInJlcXVpcmVzIjogewotICAgICAgICAiQGJhYmVsL2hpZ2hsaWdodCI6ICI3LjAu
MC1iZXRhLjQwIgotICAgICAgfQotICAgIH0sCi0gICAgIkBiYWJlbC9oaWdobGlnaHQiOiB7Ci0g
ICAgICAidmVyc2lvbiI6ICI3LjAuMC1iZXRhLjQwIiwKLSAgICAgICJyZXNvbHZlZCI6ICJodHRw
czovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9AYmFiZWwvaGlnaGxpZ2h0Ly0vaGlnaGxpZ2h0LTcuMC4w
LWJldGEuNDAudGd6IiwKLSAgICAgICJpbnRlZ3JpdHkiOiAic2hhNTEyLW1PaGhUcnppZVY2Vk83
b2RnekZHRmFwaXdSSzBlaThSWlJoZnpIaGI2Y3BYM1FNOFhYdUNMWFdqTjhxQkI3SlJlRGRVUjgw
VjNMRmZGckdVWWV2aE5nPT0iLAotICAgICAgImRldiI6IHRydWUsCi0gICAgICAicmVxdWlyZXMi
OiB7Ci0gICAgICAgICJjaGFsayI6ICJeMi4wLjAiLAotICAgICAgICAiZXN1dGlscyI6ICJeMi4w
LjIiLAotICAgICAgICAianMtdG9rZW5zIjogIl4zLjAuMCIKLSAgICAgIH0KLSAgICB9LAotICAg
ICJhbnNpLXJlZ2V4IjogewotICAgICAgInZlcnNpb24iOiAiMy4wLjAiLAotICAgICAgInJlc29s
dmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2Fuc2ktcmVnZXgvLS9hbnNpLXJlZ2V4
LTMuMC4wLnRneiIsCi0gICAgICAiaW50ZWdyaXR5IjogInNoYTEtN1FNWHd5SUdUM2xHYkFLV2E5
MjJCYXMzMlpnPSIsCi0gICAgICAiZGV2IjogdHJ1ZQotICAgIH0sCi0gICAgImFuc2ktc3R5bGVz
IjogewotICAgICAgInZlcnNpb24iOiAiMy4yLjEiLAotICAgICAgInJlc29sdmVkIjogImh0dHBz
Oi8vcmVnaXN0cnkubnBtanMub3JnL2Fuc2ktc3R5bGVzLy0vYW5zaS1zdHlsZXMtMy4yLjEudGd6
IiwKLSAgICAgICJpbnRlZ3JpdHkiOiAic2hhNTEyLVZUMFpJNmtaUmRUaDhZeUp3M1NNYlltL3Ur
TnFmc0F4RXBXTzBQZjlzcTgvZTk0V3h4T3BQS3g5RlIxRmx5Q3RPVkROT1ErOG50bHFGeGlSYyty
NXFBPT0iLAotICAgICAgImRldiI6IHRydWUsCi0gICAgICAicmVxdWlyZXMiOiB7Ci0gICAgICAg
ICJjb2xvci1jb252ZXJ0IjogIl4xLjkuMCIKLSAgICAgIH0KLSAgICB9LAotICAgICJhcnItZGlm
ZiI6IHsKLSAgICAgICJ2ZXJzaW9uIjogIjIuMC4wIiwKLSAgICAgICJyZXNvbHZlZCI6ICJodHRw
czovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9hcnItZGlmZi8tL2Fyci1kaWZmLTIuMC4wLnRneiIsCi0g
ICAgICAiaW50ZWdyaXR5IjogInNoYTEtanp1Q2Y1VmFpOVpwYVg1S1FsYXNQT3JqVnM4PSIsCi0g
ICAgICAiZGV2IjogdHJ1ZSwKLSAgICAgICJyZXF1aXJlcyI6IHsKLSAgICAgICAgImFyci1mbGF0
dGVuIjogIl4xLjAuMSIKLSAgICAgIH0KLSAgICB9LAotICAgICJhcnItZmxhdHRlbiI6IHsKLSAg
ICAgICJ2ZXJzaW9uIjogIjEuMS4wIiwKLSAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lz
dHJ5Lm5wbWpzLm9yZy9hcnItZmxhdHRlbi8tL2Fyci1mbGF0dGVuLTEuMS4wLnRneiIsCi0gICAg
ICAiaW50ZWdyaXR5IjogInNoYTUxMi1MM2hLVjVSL3A1bzgxUjdPMDJJR253cERta3A2RTk4Mlho
dGJ1d1NlM080cU90TU1NdG9kaWNBU0ExQ255MlUrYUNYY05wbWwrbTRkUHN2c0ozamF0Zz09IiwK
LSAgICAgICJkZXYiOiB0cnVlCi0gICAgfSwKLSAgICAiYXJyYXktdW5pcXVlIjogewotICAgICAg
InZlcnNpb24iOiAiMC4yLjEiLAotICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnku
bnBtanMub3JnL2FycmF5LXVuaXF1ZS8tL2FycmF5LXVuaXF1ZS0wLjIuMS50Z3oiLAotICAgICAg
ImludGVncml0eSI6ICJzaGExLW9kbDh5dnk4SmlYTWNQcmM2emFsREZpd0dsTT0iLAotICAgICAg
ImRldiI6IHRydWUKLSAgICB9LAotICAgICJiYWxhbmNlZC1tYXRjaCI6IHsKLSAgICAgICJ2ZXJz
aW9uIjogIjEuMC4wIiwKLSAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpz
Lm9yZy9iYWxhbmNlZC1tYXRjaC8tL2JhbGFuY2VkLW1hdGNoLTEuMC4wLnRneiIsCi0gICAgICAi
aW50ZWdyaXR5IjogInNoYTEtaWJUUm1hc3I3a25lRms2Z0s0bk9SaTF4dDJjPSIsCi0gICAgICAi
ZGV2IjogdHJ1ZQotICAgIH0sCi0gICAgImJyYWNlLWV4cGFuc2lvbiI6IHsKLSAgICAgICJ2ZXJz
aW9uIjogIjEuMS4xMSIsCi0gICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1q
cy5vcmcvYnJhY2UtZXhwYW5zaW9uLy0vYnJhY2UtZXhwYW5zaW9uLTEuMS4xMS50Z3oiLAotICAg
ICAgImludGVncml0eSI6ICJzaGE1MTItaUN1UEhERmdySFg3SDJ2RUkvNXhwejA3elNIQjAwVHB1
Z3FobVl0Vm1NTzY1MThtQ3VSTW9PWUZsZEVCbDBnMTg3dWZvemRhSGdXS2NZRmI2MXFHaUE9PSIs
Ci0gICAgICAiZGV2IjogdHJ1ZSwKLSAgICAgICJyZXF1aXJlcyI6IHsKLSAgICAgICAgImJhbGFu
Y2VkLW1hdGNoIjogIl4xLjAuMCIsCi0gICAgICAgICJjb25jYXQtbWFwIjogIjAuMC4xIgotICAg
ICAgfQotICAgIH0sCi0gICAgImJyYWNlcyI6IHsKLSAgICAgICJ2ZXJzaW9uIjogIjEuOC41IiwK
LSAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9icmFjZXMvLS9i
cmFjZXMtMS44LjUudGd6IiwKLSAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS11bmVXTGhMZitXbld0
MmNSNlJTM040Vjc5cWM9IiwKLSAgICAgICJkZXYiOiB0cnVlLAotICAgICAgInJlcXVpcmVzIjog
ewotICAgICAgICAiZXhwYW5kLXJhbmdlIjogIl4xLjguMSIsCi0gICAgICAgICJwcmVzZXJ2ZSI6
ICJeMC4yLjAiLAotICAgICAgICAicmVwZWF0LWVsZW1lbnQiOiAiXjEuMS4yIgotICAgICAgfQot
ICAgIH0sCi0gICAgImJyb3dzZXItc3Rkb3V0IjogewotICAgICAgInZlcnNpb24iOiAiMS4zLjEi
LAotICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2Jyb3dzZXIt
c3Rkb3V0Ly0vYnJvd3Nlci1zdGRvdXQtMS4zLjEudGd6IiwKLSAgICAgICJpbnRlZ3JpdHkiOiAi
c2hhNTEyLXFoQVZJMStBdjJYN3FlbE9mQUlZd1hPTm9vZDZYbFpFL2ZYYUJTbVcvVDVTekxBbUNn
emkrZWlXRTdmVXZiSGFlTkJRSDEzVWZ0anBYeHNmTGtNcGd3PT0iLAotICAgICAgImRldiI6IHRy
dWUKLSAgICB9LAotICAgICJjaGFsayI6IHsKLSAgICAgICJ2ZXJzaW9uIjogIjIuMy4yIiwKLSAg
ICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9jaGFsay8tL2NoYWxr
LTIuMy4yLnRneiIsCi0gICAgICAiaW50ZWdyaXR5IjogInNoYTUxMi1aTTRqMi9sZC9ZWkRjM01h
OFBnTjdneUFrK2tITU1NeXpMTnJ5Q1BHaFdyc2ZBdURWZXVpZDVicFJGVERnTUg5SkJLMmxBNGR5
eUFra1pZRi9XY3FEUT09IiwKLSAgICAgICJkZXYiOiB0cnVlLAotICAgICAgInJlcXVpcmVzIjog
ewotICAgICAgICAiYW5zaS1zdHlsZXMiOiAiXjMuMi4xIiwKLSAgICAgICAgImVzY2FwZS1zdHJp
bmctcmVnZXhwIjogIl4xLjAuNSIsCi0gICAgICAgICJzdXBwb3J0cy1jb2xvciI6ICJeNS4zLjAi
Ci0gICAgICB9Ci0gICAgfSwKLSAgICAiY29sb3ItY29udmVydCI6IHsKLSAgICAgICJ2ZXJzaW9u
IjogIjEuOS4xIiwKLSAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9y
Zy9jb2xvci1jb252ZXJ0Ly0vY29sb3ItY29udmVydC0xLjkuMS50Z3oiLAotICAgICAgImludGVn
cml0eSI6ICJzaGE1MTItbWpHYW5JaXdRSnNrQ0MxOHJQUjZPbXJaNmZtMkxjN1BlR0ZZd0NteTVK
MzR3QzZGMVB6ZEdMNnhlTWZtZ2ljZlljTkxHdVZGQTNXelh0SURDUVNaeFE9PSIsCi0gICAgICAi
ZGV2IjogdHJ1ZSwKLSAgICAgICJyZXF1aXJlcyI6IHsKLSAgICAgICAgImNvbG9yLW5hbWUiOiAi
XjEuMS4xIgotICAgICAgfQotICAgIH0sCi0gICAgImNvbG9yLW5hbWUiOiB7Ci0gICAgICAidmVy
c2lvbiI6ICIxLjEuMyIsCi0gICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1q
cy5vcmcvY29sb3ItbmFtZS8tL2NvbG9yLW5hbWUtMS4xLjMudGd6IiwKLSAgICAgICJpbnRlZ3Jp
dHkiOiAic2hhMS1wOUJWaTlpY1F2ZVYzVUl5ajNRSU1jcFR2Q1U9IiwKLSAgICAgICJkZXYiOiB0
cnVlCi0gICAgfSwKLSAgICAiY29tbWFuZGVyIjogewotICAgICAgInZlcnNpb24iOiAiMi4xMS4w
IiwKLSAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9jb21tYW5k
ZXIvLS9jb21tYW5kZXItMi4xMS4wLnRneiIsCi0gICAgICAiaW50ZWdyaXR5IjogInNoYTUxMi1i
MDU1M3VZQTVZQUVHZ3lZSUdZUk96S1E3WDVSQXFlZGtmamlaeHdpMGtMMWczYk9hQk5OWmZZa3p0
L0NMMHVtZ0Q1d2M5SmVjMkZiQjk4Q2prTVJ2UT09IiwKLSAgICAgICJkZXYiOiB0cnVlCi0gICAg
fSwKLSAgICAiY29uY2F0LW1hcCI6IHsKLSAgICAgICJ2ZXJzaW9uIjogIjAuMC4xIiwKLSAgICAg
ICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9jb25jYXQtbWFwLy0vY29u
Y2F0LW1hcC0wLjAuMS50Z3oiLAotICAgICAgImludGVncml0eSI6ICJzaGExLTJLbHIxMy9XamZk
NU9uTURhanVnMVVCZFIzcz0iLAotICAgICAgImRldiI6IHRydWUKLSAgICB9LAotICAgICJkZWJ1
ZyI6IHsKLSAgICAgICJ2ZXJzaW9uIjogIjMuMS4wIiwKLSAgICAgICJyZXNvbHZlZCI6ICJodHRw
czovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9kZWJ1Zy8tL2RlYnVnLTMuMS4wLnRneiIsCi0gICAgICAi
aW50ZWdyaXR5IjogInNoYTUxMi1PWDhYcVA3LzFhOWNxa3hZdzJ5WHNzMTVmMjZOS1dCcERYUWQw
L3VLL0tQcWRRaHhiUGE5OTRobnpqY0UyVnFRcERzbGY1NTcyM2NLUFVPR1NtTVkzZz09IiwKLSAg
ICAgICJkZXYiOiB0cnVlLAotICAgICAgInJlcXVpcmVzIjogewotICAgICAgICAibXMiOiAiMi4w
LjAiCi0gICAgICB9Ci0gICAgfSwKLSAgICAiZGlmZiI6IHsKLSAgICAgICJ2ZXJzaW9uIjogIjMu
NS4wIiwKLSAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9kaWZm
Ly0vZGlmZi0zLjUuMC50Z3oiLAotICAgICAgImludGVncml0eSI6ICJzaGE1MTItQTQ2cXRGZ2Qr
ZzdwRFppbnBud2lSSnR4YkMxaHBnZjB1elAzaUc4OXNjSGswQVVDN0ExVEd4ZjVPaWlPVXYvSk1a
UjhHT3Q4aEw5MDBoVjBiT3k1eEE9PSIsCi0gICAgICAiZGV2IjogdHJ1ZQotICAgIH0sCi0gICAg
ImRpZmYtbWF0Y2gtcGF0Y2giOiB7Ci0gICAgICAidmVyc2lvbiI6ICIxLjAuMCIsCi0gICAgICAi
cmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvZGlmZi1tYXRjaC1wYXRjaC8t
L2RpZmYtbWF0Y2gtcGF0Y2gtMS4wLjAudGd6IiwKLSAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1I
TVBJT2trTlovbGRrZU9mYXRIeTRJYTJNRWc9IiwKLSAgICAgICJkZXYiOiB0cnVlCi0gICAgfSwK
LSAgICAiZXNjYXBlLXN0cmluZy1yZWdleHAiOiB7Ci0gICAgICAidmVyc2lvbiI6ICIxLjAuNSIs
Ci0gICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvZXNjYXBlLXN0
cmluZy1yZWdleHAvLS9lc2NhcGUtc3RyaW5nLXJlZ2V4cC0xLjAuNS50Z3oiLAotICAgICAgImlu
dGVncml0eSI6ICJzaGExLUcySEFWaUdRcU4vMnJqdXl6d0lBeWhNTGh0UT0iLAotICAgICAgImRl
diI6IHRydWUKLSAgICB9LAotICAgICJlc3V0aWxzIjogewotICAgICAgInZlcnNpb24iOiAiMi4w
LjIiLAotICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2VzdXRp
bHMvLS9lc3V0aWxzLTIuMC4yLnRneiIsCi0gICAgICAiaW50ZWdyaXR5IjogInNoYTEtQ3I5UEhL
cGJ5eDk2bllyTWJlcFBxcUJMckpzPSIsCi0gICAgICAiZGV2IjogdHJ1ZQotICAgIH0sCi0gICAg
ImV4cGFuZC1icmFja2V0cyI6IHsKLSAgICAgICJ2ZXJzaW9uIjogIjAuMS41IiwKLSAgICAgICJy
ZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9leHBhbmQtYnJhY2tldHMvLS9l
eHBhbmQtYnJhY2tldHMtMC4xLjUudGd6IiwKLSAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS0zd2Nv
VGpRcWdIelhNNnhhOXlRUjVZSFJGM3M9IiwKLSAgICAgICJkZXYiOiB0cnVlLAotICAgICAgInJl
cXVpcmVzIjogewotICAgICAgICAiaXMtcG9zaXgtYnJhY2tldCI6ICJeMC4xLjAiCi0gICAgICB9
Ci0gICAgfSwKLSAgICAiZXhwYW5kLXJhbmdlIjogewotICAgICAgInZlcnNpb24iOiAiMS44LjIi
LAotICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2V4cGFuZC1y
YW5nZS8tL2V4cGFuZC1yYW5nZS0xLjguMi50Z3oiLAotICAgICAgImludGVncml0eSI6ICJzaGEx
LW9wbnYvVE5mNG5JZXV1amlWK3g1WkUvSVV6Yz0iLAotICAgICAgImRldiI6IHRydWUsCi0gICAg
ICAicmVxdWlyZXMiOiB7Ci0gICAgICAgICJmaWxsLXJhbmdlIjogIl4yLjEuMCIKLSAgICAgIH0K
LSAgICB9LAotICAgICJleHBlY3QiOiB7Ci0gICAgICAidmVyc2lvbiI6ICIyMi40LjAiLAotICAg
ICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2V4cGVjdC8tL2V4cGVj
dC0yMi40LjAudGd6IiwKLSAgICAgICJpbnRlZ3JpdHkiOiAic2hhNTEyLUZpeTg2MmpUM3FjNzBo
d0lId3dDQk5JU21hcUJyZldLS3J0cXlNSjZpd1pyKzZLWHRjbkhvalpGdGQ2M1RQUnZSbDhFUVRK
K1lYWXkybEs2LzZ1K0h3PT0iLAotICAgICAgImRldiI6IHRydWUsCi0gICAgICAicmVxdWlyZXMi
OiB7Ci0gICAgICAgICJhbnNpLXN0eWxlcyI6ICJeMy4yLjAiLAotICAgICAgICAiamVzdC1kaWZm
IjogIl4yMi40LjAiLAotICAgICAgICAiamVzdC1nZXQtdHlwZSI6ICJeMjIuMS4wIiwKLSAgICAg
ICAgImplc3QtbWF0Y2hlci11dGlscyI6ICJeMjIuNC4wIiwKLSAgICAgICAgImplc3QtbWVzc2Fn
ZS11dGlsIjogIl4yMi40LjAiLAotICAgICAgICAiamVzdC1yZWdleC11dGlsIjogIl4yMi4xLjAi
Ci0gICAgICB9Ci0gICAgfSwKLSAgICAiZXh0Z2xvYiI6IHsKLSAgICAgICJ2ZXJzaW9uIjogIjAu
My4yIiwKLSAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9leHRn
bG9iLy0vZXh0Z2xvYi0wLjMuMi50Z3oiLAotICAgICAgImludGVncml0eSI6ICJzaGExLUxoai9Q
UzlKcXlkbHpza0NQd0VkcW8yRFNhRT0iLAotICAgICAgImRldiI6IHRydWUsCi0gICAgICAicmVx
dWlyZXMiOiB7Ci0gICAgICAgICJpcy1leHRnbG9iIjogIl4xLjAuMCIKLSAgICAgIH0KLSAgICB9
LAotICAgICJmaWxlbmFtZS1yZWdleCI6IHsKLSAgICAgICJ2ZXJzaW9uIjogIjIuMC4xIiwKLSAg
ICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9maWxlbmFtZS1yZWdl
eC8tL2ZpbGVuYW1lLXJlZ2V4LTIuMC4xLnRneiIsCi0gICAgICAiaW50ZWdyaXR5IjogInNoYTEt
d2NTNXZ1UGdseVhkc1FhM1hCNHdIK0x4aXlZPSIsCi0gICAgICAiZGV2IjogdHJ1ZQotICAgIH0s
Ci0gICAgImZpbGwtcmFuZ2UiOiB7Ci0gICAgICAidmVyc2lvbiI6ICIyLjIuNCIsCi0gICAgICAi
cmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvZmlsbC1yYW5nZS8tL2ZpbGwt
cmFuZ2UtMi4yLjQudGd6IiwKLSAgICAgICJpbnRlZ3JpdHkiOiAic2hhNTEyLWNucmNDYmowMStq
MmdURzkyMVZaUG5IYmptZEFmOG9RVi9pR2VWMmtaeEdTeWZZampUeVk3OUVyc0sxV0pXTXB3NkRh
QXBFWDcyYmlucUpFKy9kKzVRPT0iLAotICAgICAgImRldiI6IHRydWUsCi0gICAgICAicmVxdWly
ZXMiOiB7Ci0gICAgICAgICJpcy1udW1iZXIiOiAiXjIuMS4wIiwKLSAgICAgICAgImlzb2JqZWN0
IjogIl4yLjAuMCIsCi0gICAgICAgICJyYW5kb21hdGljIjogIl4zLjAuMCIsCi0gICAgICAgICJy
ZXBlYXQtZWxlbWVudCI6ICJeMS4xLjIiLAotICAgICAgICAicmVwZWF0LXN0cmluZyI6ICJeMS41
LjIiCi0gICAgICB9Ci0gICAgfSwKLSAgICAiZm9yLWluIjogewotICAgICAgInZlcnNpb24iOiAi
MS4wLjIiLAotICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2Zv
ci1pbi8tL2Zvci1pbi0xLjAuMi50Z3oiLAotICAgICAgImludGVncml0eSI6ICJzaGExLWdRYU5L
VnFCUXV3S3h5Ykc0aUFNTVB0dFhvQT0iLAotICAgICAgImRldiI6IHRydWUKLSAgICB9LAotICAg
ICJmb3Itb3duIjogewotICAgICAgInZlcnNpb24iOiAiMC4xLjUiLAotICAgICAgInJlc29sdmVk
IjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2Zvci1vd24vLS9mb3Itb3duLTAuMS41LnRn
eiIsCi0gICAgICAiaW50ZWdyaXR5IjogInNoYTEtVW1YR2dhVHlsTnE3OFh5VkNiWjJPcWhGRU00
PSIsCi0gICAgICAiZGV2IjogdHJ1ZSwKLSAgICAgICJyZXF1aXJlcyI6IHsKLSAgICAgICAgImZv
ci1pbiI6ICJeMS4wLjEiCi0gICAgICB9Ci0gICAgfSwKLSAgICAiZnMucmVhbHBhdGgiOiB7Ci0g
ICAgICAidmVyc2lvbiI6ICIxLjAuMCIsCi0gICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdp
c3RyeS5ucG1qcy5vcmcvZnMucmVhbHBhdGgvLS9mcy5yZWFscGF0aC0xLjAuMC50Z3oiLAotICAg
ICAgImludGVncml0eSI6ICJzaGExLUZRU3RKU01WaktwQTIwb25oOHNCUVJtVTZrOD0iLAotICAg
ICAgImRldiI6IHRydWUKLSAgICB9LAotICAgICJnbG9iIjogewotICAgICAgInZlcnNpb24iOiAi
Ny4xLjIiLAotICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2ds
b2IvLS9nbG9iLTcuMS4yLnRneiIsCi0gICAgICAiaW50ZWdyaXR5IjogInNoYTUxMi1NSlRVZzFr
anVMZVFDSitjY0U0VnBhNmtLVlhrUFlKMm1PQ1F5VXVLTGNMUXNkck1DcEJQVWk4cVZFNitZdWFK
a296ZUE5TnVzVEF3M2hMcjhYZTVFUT09IiwKLSAgICAgICJkZXYiOiB0cnVlLAotICAgICAgInJl
cXVpcmVzIjogewotICAgICAgICAiZnMucmVhbHBhdGgiOiAiXjEuMC4wIiwKLSAgICAgICAgImlu
ZmxpZ2h0IjogIl4xLjAuNCIsCi0gICAgICAgICJpbmhlcml0cyI6ICIyIiwKLSAgICAgICAgIm1p
bmltYXRjaCI6ICJeMy4wLjQiLAotICAgICAgICAib25jZSI6ICJeMS4zLjAiLAotICAgICAgICAi
cGF0aC1pcy1hYnNvbHV0ZSI6ICJeMS4wLjAiCi0gICAgICB9Ci0gICAgfSwKLSAgICAiZ2xvYi1i
YXNlIjogewotICAgICAgInZlcnNpb24iOiAiMC4zLjAiLAotICAgICAgInJlc29sdmVkIjogImh0
dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2dsb2ItYmFzZS8tL2dsb2ItYmFzZS0wLjMuMC50Z3oi
LAotICAgICAgImludGVncml0eSI6ICJzaGExLTI3Rms5aUliSEFzY3o0S3VveWkwbDk4T284UT0i
LAotICAgICAgImRldiI6IHRydWUsCi0gICAgICAicmVxdWlyZXMiOiB7Ci0gICAgICAgICJnbG9i
LXBhcmVudCI6ICJeMi4wLjAiLAotICAgICAgICAiaXMtZ2xvYiI6ICJeMi4wLjAiCi0gICAgICB9
Ci0gICAgfSwKLSAgICAiZ2xvYi1wYXJlbnQiOiB7Ci0gICAgICAidmVyc2lvbiI6ICIyLjAuMCIs
Ci0gICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvZ2xvYi1wYXJl
bnQvLS9nbG9iLXBhcmVudC0yLjAuMC50Z3oiLAotICAgICAgImludGVncml0eSI6ICJzaGExLWdU
ZzljdHNGVDh6UFV6YmFxUUx4Z3ZidHV5Zz0iLAotICAgICAgImRldiI6IHRydWUsCi0gICAgICAi
cmVxdWlyZXMiOiB7Ci0gICAgICAgICJpcy1nbG9iIjogIl4yLjAuMCIKLSAgICAgIH0KLSAgICB9
LAotICAgICJncm93bCI6IHsKLSAgICAgICJ2ZXJzaW9uIjogIjEuMTAuMyIsCi0gICAgICAicmVz
b2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvZ3Jvd2wvLS9ncm93bC0xLjEwLjMu
dGd6IiwKLSAgICAgICJpbnRlZ3JpdHkiOiAic2hhNTEyLWhLbHNiQTVWdTN4c2gxQ2czSjdqU21Y
L1dhVzZBNW9CZXF6TTg4b05iQ1JRRnorelVhWG02eXhTNFJWeXRwMXNjQm9KelNZbDRZQUVPUUl0
Nk84VjFRPT0iLAotICAgICAgImRldiI6IHRydWUKLSAgICB9LAotICAgICJoYXMtZmxhZyI6IHsK
LSAgICAgICJ2ZXJzaW9uIjogIjMuMC4wIiwKLSAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3Jl
Z2lzdHJ5Lm5wbWpzLm9yZy9oYXMtZmxhZy8tL2hhcy1mbGFnLTMuMC4wLnRneiIsCi0gICAgICAi
aW50ZWdyaXR5IjogInNoYTEtdGRSVTNDR1pyaUpXbWZOR2Zsb0g4N2xWdXYwPSIsCi0gICAgICAi
ZGV2IjogdHJ1ZQotICAgIH0sCi0gICAgImhlIjogewotICAgICAgInZlcnNpb24iOiAiMS4xLjEi
LAotICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2hlLy0vaGUt
MS4xLjEudGd6IiwKLSAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1rMEVQMGhzQWx6VVZINGhvd3ZK
eDgwSitJLzA9IiwKLSAgICAgICJkZXYiOiB0cnVlCi0gICAgfSwKLSAgICAiaW5mbGlnaHQiOiB7
Ci0gICAgICAidmVyc2lvbiI6ICIxLjAuNiIsCi0gICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9y
ZWdpc3RyeS5ucG1qcy5vcmcvaW5mbGlnaHQvLS9pbmZsaWdodC0xLjAuNi50Z3oiLAotICAgICAg
ImludGVncml0eSI6ICJzaGExLVNiMWpNZGZRTFF3SnZKRUtFSFc2Z1dXMWJmaz0iLAotICAgICAg
ImRldiI6IHRydWUsCi0gICAgICAicmVxdWlyZXMiOiB7Ci0gICAgICAgICJvbmNlIjogIl4xLjMu
MCIsCi0gICAgICAgICJ3cmFwcHkiOiAiMSIKLSAgICAgIH0KLSAgICB9LAotICAgICJpbmhlcml0
cyI6IHsKLSAgICAgICJ2ZXJzaW9uIjogIjIuMC4zIiwKLSAgICAgICJyZXNvbHZlZCI6ICJodHRw
czovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9pbmhlcml0cy8tL2luaGVyaXRzLTIuMC4zLnRneiIsCi0g
ICAgICAiaW50ZWdyaXR5IjogInNoYTEtWXp3c2crUGFRcVVDOVNSbUFpU0E5Q0NDWWQ0PSIsCi0g
ICAgICAiZGV2IjogdHJ1ZQotICAgIH0sCi0gICAgImlzLWJ1ZmZlciI6IHsKLSAgICAgICJ2ZXJz
aW9uIjogIjEuMS42IiwKLSAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpz
Lm9yZy9pcy1idWZmZXIvLS9pcy1idWZmZXItMS4xLjYudGd6IiwKLSAgICAgICJpbnRlZ3JpdHki
OiAic2hhNTEyLU5jZEFMd3BYa1RtNVp2dmJrN293T1VTdlZ2QktEZ0tQNS9ld2ZYRXpubVFGZnM0
WlJtYW5PZUtCVGpSVmprYTNRRm9ONlhKKzlGM1VTcWZIcVRhVTV3PT0iLAotICAgICAgImRldiI6
IHRydWUKLSAgICB9LAotICAgICJpcy1kb3RmaWxlIjogewotICAgICAgInZlcnNpb24iOiAiMS4w
LjMiLAotICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2lzLWRv
dGZpbGUvLS9pcy1kb3RmaWxlLTEuMC4zLnRneiIsCi0gICAgICAiaW50ZWdyaXR5IjogInNoYTEt
cHFMekwvMHQrd1QxeWlYczBQYTRQUGVZb2VFPSIsCi0gICAgICAiZGV2IjogdHJ1ZQotICAgIH0s
Ci0gICAgImlzLWVxdWFsLXNoYWxsb3ciOiB7Ci0gICAgICAidmVyc2lvbiI6ICIwLjEuMyIsCi0g
ICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvaXMtZXF1YWwtc2hh
bGxvdy8tL2lzLWVxdWFsLXNoYWxsb3ctMC4xLjMudGd6IiwKLSAgICAgICJpbnRlZ3JpdHkiOiAi
c2hhMS1JamdKajhJaDNndlBwZG5xeE1SZFk0cWh4VFE9IiwKLSAgICAgICJkZXYiOiB0cnVlLAot
ICAgICAgInJlcXVpcmVzIjogewotICAgICAgICAiaXMtcHJpbWl0aXZlIjogIl4yLjAuMCIKLSAg
ICAgIH0KLSAgICB9LAotICAgICJpcy1leHRlbmRhYmxlIjogewotICAgICAgInZlcnNpb24iOiAi
MC4xLjEiLAotICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2lz
LWV4dGVuZGFibGUvLS9pcy1leHRlbmRhYmxlLTAuMS4xLnRneiIsCi0gICAgICAiaW50ZWdyaXR5
IjogInNoYTEtWXJFUTRvbWtjVUdPUHNOcVlYMUhMakFkL0lrPSIsCi0gICAgICAiZGV2IjogdHJ1
ZQotICAgIH0sCi0gICAgImlzLWV4dGdsb2IiOiB7Ci0gICAgICAidmVyc2lvbiI6ICIxLjAuMCIs
Ci0gICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvaXMtZXh0Z2xv
Yi8tL2lzLWV4dGdsb2ItMS4wLjAudGd6IiwKLSAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1yRWFC
ZDhTVU5BV2drdnlQS1hZTWIveGlCc0E9IiwKLSAgICAgICJkZXYiOiB0cnVlCi0gICAgfSwKLSAg
ICAiaXMtZ2xvYiI6IHsKLSAgICAgICJ2ZXJzaW9uIjogIjIuMC4xIiwKLSAgICAgICJyZXNvbHZl
ZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9pcy1nbG9iLy0vaXMtZ2xvYi0yLjAuMS50
Z3oiLAotICAgICAgImludGVncml0eSI6ICJzaGExLTBKYjVKcVBlMVdBUFA5L1pFWmpMQ0lqQzJH
TT0iLAotICAgICAgImRldiI6IHRydWUsCi0gICAgICAicmVxdWlyZXMiOiB7Ci0gICAgICAgICJp
cy1leHRnbG9iIjogIl4xLjAuMCIKLSAgICAgIH0KLSAgICB9LAotICAgICJpcy1udW1iZXIiOiB7
Ci0gICAgICAidmVyc2lvbiI6ICIyLjEuMCIsCi0gICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9y
ZWdpc3RyeS5ucG1qcy5vcmcvaXMtbnVtYmVyLy0vaXMtbnVtYmVyLTIuMS4wLnRneiIsCi0gICAg
ICAiaW50ZWdyaXR5IjogInNoYTEtQWZ5N3M1TkdPbFNQTDBac3poYmV6a25ia0k4PSIsCi0gICAg
ICAiZGV2IjogdHJ1ZSwKLSAgICAgICJyZXF1aXJlcyI6IHsKLSAgICAgICAgImtpbmQtb2YiOiAi
XjMuMC4yIgotICAgICAgfQotICAgIH0sCi0gICAgImlzLXBvc2l4LWJyYWNrZXQiOiB7Ci0gICAg
ICAidmVyc2lvbiI6ICIwLjEuMSIsCi0gICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3Ry
eS5ucG1qcy5vcmcvaXMtcG9zaXgtYnJhY2tldC8tL2lzLXBvc2l4LWJyYWNrZXQtMC4xLjEudGd6
IiwKLSAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1NelRjZVhkRGFPa3ZBVzV2dkFxSTljMXVhOFE9
IiwKLSAgICAgICJkZXYiOiB0cnVlCi0gICAgfSwKLSAgICAiaXMtcHJpbWl0aXZlIjogewotICAg
ICAgInZlcnNpb24iOiAiMi4wLjAiLAotICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0
cnkubnBtanMub3JnL2lzLXByaW1pdGl2ZS8tL2lzLXByaW1pdGl2ZS0yLjAuMC50Z3oiLAotICAg
ICAgImludGVncml0eSI6ICJzaGExLUlIdXJrV09FbWNCN0t0OGtDa0dvY2hBRFJYVT0iLAotICAg
ICAgImRldiI6IHRydWUKLSAgICB9LAotICAgICJpc2FycmF5IjogewotICAgICAgInZlcnNpb24i
OiAiMS4wLjAiLAotICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3Jn
L2lzYXJyYXkvLS9pc2FycmF5LTEuMC4wLnRneiIsCi0gICAgICAiaW50ZWdyaXR5IjogInNoYTEt
dTVOZFNGZ3N1aGFNQm9OSlY2VktQZ2NTVHhFPSIsCi0gICAgICAiZGV2IjogdHJ1ZQotICAgIH0s
Ci0gICAgImlzb2JqZWN0IjogewotICAgICAgInZlcnNpb24iOiAiMi4xLjAiLAotICAgICAgInJl
c29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2lzb2JqZWN0Ly0vaXNvYmplY3Qt
Mi4xLjAudGd6IiwKLSAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS04R1ZXRUphajhkb3U5R0p5K0JY
SVFOaCtESWs9IiwKLSAgICAgICJkZXYiOiB0cnVlLAotICAgICAgInJlcXVpcmVzIjogewotICAg
ICAgICAiaXNhcnJheSI6ICIxLjAuMCIKLSAgICAgIH0KLSAgICB9LAotICAgICJqZXN0LWRpZmYi
OiB7Ci0gICAgICAidmVyc2lvbiI6ICIyMi40LjAiLAotICAgICAgInJlc29sdmVkIjogImh0dHBz
Oi8vcmVnaXN0cnkubnBtanMub3JnL2plc3QtZGlmZi8tL2plc3QtZGlmZi0yMi40LjAudGd6IiwK
LSAgICAgICJpbnRlZ3JpdHkiOiAic2hhNTEyLSsvdDIwV21ua09rQjhNT2FHYVB6aUk4eldLeHF1
TXZZdzRVYit3T3ppN0FVaG1wRlh6NDNidVdTeFZvWm80SjVSbkNvenBHYlgzL0Zzc2pKNUtWOU53
PT0iLAotICAgICAgImRldiI6IHRydWUsCi0gICAgICAicmVxdWlyZXMiOiB7Ci0gICAgICAgICJj
aGFsayI6ICJeMi4wLjEiLAotICAgICAgICAiZGlmZiI6ICJeMy4yLjAiLAotICAgICAgICAiamVz
dC1nZXQtdHlwZSI6ICJeMjIuMS4wIiwKLSAgICAgICAgInByZXR0eS1mb3JtYXQiOiAiXjIyLjQu
MCIKLSAgICAgIH0KLSAgICB9LAotICAgICJqZXN0LWdldC10eXBlIjogewotICAgICAgInZlcnNp
b24iOiAiMjIuMS4wIiwKLSAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpz
Lm9yZy9qZXN0LWdldC10eXBlLy0vamVzdC1nZXQtdHlwZS0yMi4xLjAudGd6IiwKLSAgICAgICJp
bnRlZ3JpdHkiOiAic2hhNTEyLW5EOTdJVk9sTlA2ZmpJTjVpN2o1WFJIK2hGc0hMN1ZsYXVCYnpS
dnVlYWFVZTcwdW9ocmt6N3BML044bHgvSUF3WlJUSi8vd09kVmdoODVPZ003ZzN3PT0iLAotICAg
ICAgImRldiI6IHRydWUKLSAgICB9LAotICAgICJqZXN0LW1hdGNoZXItdXRpbHMiOiB7Ci0gICAg
ICAidmVyc2lvbiI6ICIyMi40LjAiLAotICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0
cnkubnBtanMub3JnL2plc3QtbWF0Y2hlci11dGlscy8tL2plc3QtbWF0Y2hlci11dGlscy0yMi40
LjAudGd6IiwKLSAgICAgICJpbnRlZ3JpdHkiOiAic2hhNTEyLTAzbTNpc3N4VVhwV013RFlUZm1M
OGhSTmV3VUIweUNSVGVYUG0rZXEwNThyWnhMSEQ5ZjVOdFNTTzk4Q1dIcWU0VXlJU0l4ZDlBbzlp
RFZqSFdkMnFnPT0iLAotICAgICAgImRldiI6IHRydWUsCi0gICAgICAicmVxdWlyZXMiOiB7Ci0g
ICAgICAgICJjaGFsayI6ICJeMi4wLjEiLAotICAgICAgICAiamVzdC1nZXQtdHlwZSI6ICJeMjIu
MS4wIiwKLSAgICAgICAgInByZXR0eS1mb3JtYXQiOiAiXjIyLjQuMCIKLSAgICAgIH0KLSAgICB9
LAotICAgICJqZXN0LW1lc3NhZ2UtdXRpbCI6IHsKLSAgICAgICJ2ZXJzaW9uIjogIjIyLjQuMCIs
Ci0gICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvamVzdC1tZXNz
YWdlLXV0aWwvLS9qZXN0LW1lc3NhZ2UtdXRpbC0yMi40LjAudGd6IiwKLSAgICAgICJpbnRlZ3Jp
dHkiOiAic2hhNTEyLWV5Q0pCMFQzaHJscEZGMkZxUW9JQjA5M091bFArMXF2QVRRbUQzSU9nSmdN
R3FQTDZlWXc4VGJDNVAvVkNXUHFLaEdMNTF4dmpJSWhvdzVlWjJ3SEZ3PT0iLAotICAgICAgImRl
diI6IHRydWUsCi0gICAgICAicmVxdWlyZXMiOiB7Ci0gICAgICAgICJAYmFiZWwvY29kZS1mcmFt
ZSI6ICJeNy4wLjAtYmV0YS4zNSIsCi0gICAgICAgICJjaGFsayI6ICJeMi4wLjEiLAotICAgICAg
ICAibWljcm9tYXRjaCI6ICJeMi4zLjExIiwKLSAgICAgICAgInNsYXNoIjogIl4xLjAuMCIsCi0g
ICAgICAgICJzdGFjay11dGlscyI6ICJeMS4wLjEiCi0gICAgICB9Ci0gICAgfSwKLSAgICAiamVz
dC1yZWdleC11dGlsIjogewotICAgICAgInZlcnNpb24iOiAiMjIuMS4wIiwKLSAgICAgICJyZXNv
bHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9qZXN0LXJlZ2V4LXV0aWwvLS9qZXN0
LXJlZ2V4LXV0aWwtMjIuMS4wLnRneiIsCi0gICAgICAiaW50ZWdyaXR5IjogInNoYTUxMi1vbjBM
cVZTNlhlaDY5c3czZDFSdWtWbnVyK2xWT2wzemttYjBRNTRGSGo5d0hvcTZkYnRXcWIzVFNsblZV
eXgzNmhxakpoamdzL1FMcXMwN0J6dTcyUT09IiwKLSAgICAgICJkZXYiOiB0cnVlCi0gICAgfSwK
LSAgICAianMtdG9rZW5zIjogewotICAgICAgInZlcnNpb24iOiAiMy4wLjIiLAotICAgICAgInJl
c29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2pzLXRva2Vucy8tL2pzLXRva2Vu
cy0zLjAuMi50Z3oiLAotICAgICAgImludGVncml0eSI6ICJzaGExLW1HYmZPVkVDRXc0NDkvbVd2
T3RsUkRJSndscz0iLAotICAgICAgImRldiI6IHRydWUKLSAgICB9LAotICAgICJqc29uZGlmZnBh
dGNoIjogewotICAgICAgInZlcnNpb24iOiAiMC4zLjUiLAotICAgICAgInJlc29sdmVkIjogImh0
dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2pzb25kaWZmcGF0Y2gvLS9qc29uZGlmZnBhdGNoLTAu
My41LnRneiIsCi0gICAgICAiaW50ZWdyaXR5IjogInNoYTUxMi12N2VhR0xETUNIWEgrZnNJYVpo
cHRFVUptUzhFSnB1bnE3SU00Y2M0dklUL2tTUkFrYVo2WkY0ZWJpTmN5VWVsTDB6bmJ2ajZvMkI1
R2g5djdPZzBCUT09IiwKLSAgICAgICJkZXYiOiB0cnVlLAotICAgICAgInJlcXVpcmVzIjogewot
ICAgICAgICAiY2hhbGsiOiAiXjIuMy4wIiwKLSAgICAgICAgImRpZmYtbWF0Y2gtcGF0Y2giOiAi
XjEuMC4wIgotICAgICAgfQotICAgIH0sCi0gICAgImtpbmQtb2YiOiB7Ci0gICAgICAidmVyc2lv
biI6ICIzLjIuMiIsCi0gICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5v
cmcva2luZC1vZi8tL2tpbmQtb2YtMy4yLjIudGd6IiwKLSAgICAgICJpbnRlZ3JpdHkiOiAic2hh
MS1NZW9ocHpTNnVidXc4eVJtMkpPdXBSNUtQR1E9IiwKLSAgICAgICJkZXYiOiB0cnVlLAotICAg
ICAgInJlcXVpcmVzIjogewotICAgICAgICAiaXMtYnVmZmVyIjogIl4xLjEuNSIKLSAgICAgIH0K
LSAgICB9LAotICAgICJtYXRoLXJhbmRvbSI6IHsKLSAgICAgICJ2ZXJzaW9uIjogIjEuMC4xIiwK
LSAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9tYXRoLXJhbmRv
bS8tL21hdGgtcmFuZG9tLTEuMC4xLnRneiIsCi0gICAgICAiaW50ZWdyaXR5IjogInNoYTEtaXpx
c1dJdUtadVNYWGp6ZXBuOTdzeWxnSDZ3PSIsCi0gICAgICAiZGV2IjogdHJ1ZQotICAgIH0sCi0g
ICAgIm1pY3JvbWF0Y2giOiB7Ci0gICAgICAidmVyc2lvbiI6ICIyLjMuMTEiLAotICAgICAgInJl
c29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL21pY3JvbWF0Y2gvLS9taWNyb21h
dGNoLTIuMy4xMS50Z3oiLAotICAgICAgImludGVncml0eSI6ICJzaGExLWhtZDhsOUZ5Q3pZME1k
Qk5EUlVwTzlPTUZXVT0iLAotICAgICAgImRldiI6IHRydWUsCi0gICAgICAicmVxdWlyZXMiOiB7
Ci0gICAgICAgICJhcnItZGlmZiI6ICJeMi4wLjAiLAotICAgICAgICAiYXJyYXktdW5pcXVlIjog
Il4wLjIuMSIsCi0gICAgICAgICJicmFjZXMiOiAiXjEuOC4yIiwKLSAgICAgICAgImV4cGFuZC1i
cmFja2V0cyI6ICJeMC4xLjQiLAotICAgICAgICAiZXh0Z2xvYiI6ICJeMC4zLjEiLAotICAgICAg
ICAiZmlsZW5hbWUtcmVnZXgiOiAiXjIuMC4wIiwKLSAgICAgICAgImlzLWV4dGdsb2IiOiAiXjEu
MC4wIiwKLSAgICAgICAgImlzLWdsb2IiOiAiXjIuMC4xIiwKLSAgICAgICAgImtpbmQtb2YiOiAi
XjMuMC4yIiwKLSAgICAgICAgIm5vcm1hbGl6ZS1wYXRoIjogIl4yLjAuMSIsCi0gICAgICAgICJv
YmplY3Qub21pdCI6ICJeMi4wLjAiLAotICAgICAgICAicGFyc2UtZ2xvYiI6ICJeMy4wLjQiLAot
ICAgICAgICAicmVnZXgtY2FjaGUiOiAiXjAuNC4yIgotICAgICAgfQotICAgIH0sCi0gICAgIm1p
bmltYXRjaCI6IHsKLSAgICAgICJ2ZXJzaW9uIjogIjMuMC40IiwKLSAgICAgICJyZXNvbHZlZCI6
ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9taW5pbWF0Y2gvLS9taW5pbWF0Y2gtMy4wLjQu
dGd6IiwKLSAgICAgICJpbnRlZ3JpdHkiOiAic2hhNTEyLXlKSFZRRWh5cVBMVVRndDlCODNQWHU2
VzNyeDRNdnZIdlNVdlRvb2dwd29HRE9VUSt5RHJSMEhSb3QreU9DZENPN3U0aFgzcFdmdDZrV0JC
Y3FoMFVBPT0iLAotICAgICAgImRldiI6IHRydWUsCi0gICAgICAicmVxdWlyZXMiOiB7Ci0gICAg
ICAgICJicmFjZS1leHBhbnNpb24iOiAiXjEuMS43IgotICAgICAgfQotICAgIH0sCi0gICAgIm1p
bmltaXN0IjogewotICAgICAgInZlcnNpb24iOiAiMC4wLjgiLAotICAgICAgInJlc29sdmVkIjog
Imh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL21pbmltaXN0Ly0vbWluaW1pc3QtMC4wLjgudGd6
IiwKLSAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1oWC9LdjhNNWZTWWx1Q0tDWXVocXA2QVJzRjA9
IiwKLSAgICAgICJkZXYiOiB0cnVlCi0gICAgfSwKLSAgICAibWtkaXJwIjogewotICAgICAgInZl
cnNpb24iOiAiMC41LjEiLAotICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBt
anMub3JnL21rZGlycC8tL21rZGlycC0wLjUuMS50Z3oiLAotICAgICAgImludGVncml0eSI6ICJz
aGExLU1BVjBPT3JHejMrTVIyZnpoa2pXYVgxMXlRTT0iLAotICAgICAgImRldiI6IHRydWUsCi0g
ICAgICAicmVxdWlyZXMiOiB7Ci0gICAgICAgICJtaW5pbWlzdCI6ICIwLjAuOCIKLSAgICAgIH0K
LSAgICB9LAotICAgICJtb2NoYSI6IHsKLSAgICAgICJ2ZXJzaW9uIjogIjUuMC40IiwKLSAgICAg
ICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9tb2NoYS8tL21vY2hhLTUu
MC40LnRneiIsCi0gICAgICAiaW50ZWdyaXR5IjogInNoYTUxMi1uTU9wQVBGb3NVMUI0SXgxamRo
eDVlM3E3WE81NWljNWE4Y2dZdlcyN0NlcXVjRVkrQmFiUzBrVVZMMUN3MVY1UHVWSFpXZU5SV0ZM
bUVQZXhvNzlWQT09IiwKLSAgICAgICJkZXYiOiB0cnVlLAotICAgICAgInJlcXVpcmVzIjogewot
ICAgICAgICAiYnJvd3Nlci1zdGRvdXQiOiAiMS4zLjEiLAotICAgICAgICAiY29tbWFuZGVyIjog
IjIuMTEuMCIsCi0gICAgICAgICJkZWJ1ZyI6ICIzLjEuMCIsCi0gICAgICAgICJkaWZmIjogIjMu
NS4wIiwKLSAgICAgICAgImVzY2FwZS1zdHJpbmctcmVnZXhwIjogIjEuMC41IiwKLSAgICAgICAg
Imdsb2IiOiAiNy4xLjIiLAotICAgICAgICAiZ3Jvd2wiOiAiMS4xMC4zIiwKLSAgICAgICAgImhl
IjogIjEuMS4xIiwKLSAgICAgICAgIm1rZGlycCI6ICIwLjUuMSIsCi0gICAgICAgICJzdXBwb3J0
cy1jb2xvciI6ICI0LjQuMCIKLSAgICAgIH0sCi0gICAgICAiZGVwZW5kZW5jaWVzIjogewotICAg
ICAgICAiaGFzLWZsYWciOiB7Ci0gICAgICAgICAgInZlcnNpb24iOiAiMi4wLjAiLAotICAgICAg
ICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9oYXMtZmxhZy8tL2hh
cy1mbGFnLTIuMC4wLnRneiIsCi0gICAgICAgICAgImludGVncml0eSI6ICJzaGExLTZDQjY4Y3g3
TU5SR3pIQzNOTFhvdmhqNGpWRT0iLAotICAgICAgICAgICJkZXYiOiB0cnVlCi0gICAgICAgIH0s
Ci0gICAgICAgICJzdXBwb3J0cy1jb2xvciI6IHsKLSAgICAgICAgICAidmVyc2lvbiI6ICI0LjQu
MCIsCi0gICAgICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL3N1
cHBvcnRzLWNvbG9yLy0vc3VwcG9ydHMtY29sb3ItNC40LjAudGd6IiwKLSAgICAgICAgICAiaW50
ZWdyaXR5IjogInNoYTUxMi1yS0MzK0R5WFdnSzBaTEt3bVJzcmt5SFZaQWpOa2Z6ZWVodUZXZEdH
Y3FHRFRaRkg3MytSSDZTL1JEQUF4bDlHdXNTalpTVVdZTG1UOU41cHpYRk9YUT09IiwKLSAgICAg
ICAgICAiZGV2IjogdHJ1ZSwKLSAgICAgICAgICAicmVxdWlyZXMiOiB7Ci0gICAgICAgICAgICAi
aGFzLWZsYWciOiAiXjIuMC4wIgotICAgICAgICAgIH0KLSAgICAgICAgfQotICAgICAgfQotICAg
IH0sCi0gICAgIm1zIjogewotICAgICAgInZlcnNpb24iOiAiMi4wLjAiLAotICAgICAgInJlc29s
dmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL21zLy0vbXMtMi4wLjAudGd6IiwKLSAg
ICAgICJpbnRlZ3JpdHkiOiAic2hhMS1WZ2l1cmZ3QXZtd3BBZDlmbUdGNGplRFZsOGc9IiwKLSAg
ICAgICJkZXYiOiB0cnVlCi0gICAgfSwKLSAgICAibm9ybWFsaXplLXBhdGgiOiB7Ci0gICAgICAi
dmVyc2lvbiI6ICIyLjEuMSIsCi0gICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5u
cG1qcy5vcmcvbm9ybWFsaXplLXBhdGgvLS9ub3JtYWxpemUtcGF0aC0yLjEuMS50Z3oiLAotICAg
ICAgImludGVncml0eSI6ICJzaGExLUdyS0xWVzRaZzJPb3dhYjM1dm9nRTMvbXJ0az0iLAotICAg
ICAgImRldiI6IHRydWUsCi0gICAgICAicmVxdWlyZXMiOiB7Ci0gICAgICAgICJyZW1vdmUtdHJh
aWxpbmctc2VwYXJhdG9yIjogIl4xLjAuMSIKLSAgICAgIH0KLSAgICB9LAotICAgICJvYmplY3Qu
b21pdCI6IHsKLSAgICAgICJ2ZXJzaW9uIjogIjIuMC4xIiwKLSAgICAgICJyZXNvbHZlZCI6ICJo
dHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9vYmplY3Qub21pdC8tL29iamVjdC5vbWl0LTIuMC4x
LnRneiIsCi0gICAgICAiaW50ZWdyaXR5IjogInNoYTEtR3B4MFNDbnpuYnVGakhiS05YbXVLbFRy
MGZvPSIsCi0gICAgICAiZGV2IjogdHJ1ZSwKLSAgICAgICJyZXF1aXJlcyI6IHsKLSAgICAgICAg
ImZvci1vd24iOiAiXjAuMS40IiwKLSAgICAgICAgImlzLWV4dGVuZGFibGUiOiAiXjAuMS4xIgot
ICAgICAgfQotICAgIH0sCi0gICAgIm9uY2UiOiB7Ci0gICAgICAidmVyc2lvbiI6ICIxLjQuMCIs
Ci0gICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvb25jZS8tL29u
Y2UtMS40LjAudGd6IiwKLSAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1XRHNhcDNXV0hVc1JPc0Y5
bkZDNjc1M1hhOUU9IiwKLSAgICAgICJkZXYiOiB0cnVlLAotICAgICAgInJlcXVpcmVzIjogewot
ICAgICAgICAid3JhcHB5IjogIjEiCi0gICAgICB9Ci0gICAgfSwKLSAgICAicGFyc2UtZ2xvYiI6
IHsKLSAgICAgICJ2ZXJzaW9uIjogIjMuMC40IiwKLSAgICAgICJyZXNvbHZlZCI6ICJodHRwczov
L3JlZ2lzdHJ5Lm5wbWpzLm9yZy9wYXJzZS1nbG9iLy0vcGFyc2UtZ2xvYi0zLjAuNC50Z3oiLAot
ICAgICAgImludGVncml0eSI6ICJzaGExLXNzTjJ6N0VmTlZFN3JkRno3d3UyNDZPSU9Sdz0iLAot
ICAgICAgImRldiI6IHRydWUsCi0gICAgICAicmVxdWlyZXMiOiB7Ci0gICAgICAgICJnbG9iLWJh
c2UiOiAiXjAuMy4wIiwKLSAgICAgICAgImlzLWRvdGZpbGUiOiAiXjEuMC4wIiwKLSAgICAgICAg
ImlzLWV4dGdsb2IiOiAiXjEuMC4wIiwKLSAgICAgICAgImlzLWdsb2IiOiAiXjIuMC4wIgotICAg
ICAgfQotICAgIH0sCi0gICAgInBhdGgtaXMtYWJzb2x1dGUiOiB7Ci0gICAgICAidmVyc2lvbiI6
ICIxLjAuMSIsCi0gICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcv
cGF0aC1pcy1hYnNvbHV0ZS8tL3BhdGgtaXMtYWJzb2x1dGUtMS4wLjEudGd6IiwKLSAgICAgICJp
bnRlZ3JpdHkiOiAic2hhMS1GMHVTYUhOVk5QKzhlczVyOVRwYW5odGNYMTg9IiwKLSAgICAgICJk
ZXYiOiB0cnVlCi0gICAgfSwKLSAgICAicHJlc2VydmUiOiB7Ci0gICAgICAidmVyc2lvbiI6ICIw
LjIuMCIsCi0gICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvcHJl
c2VydmUvLS9wcmVzZXJ2ZS0wLjIuMC50Z3oiLAotICAgICAgImludGVncml0eSI6ICJzaGExLWdW
N1I5dXZHV1NiNFpiTVF3SEU3eXpNVnprcz0iLAotICAgICAgImRldiI6IHRydWUKLSAgICB9LAot
ICAgICJwcmV0dHktZm9ybWF0IjogewotICAgICAgInZlcnNpb24iOiAiMjIuNC4wIiwKLSAgICAg
ICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9wcmV0dHktZm9ybWF0Ly0v
cHJldHR5LWZvcm1hdC0yMi40LjAudGd6IiwKLSAgICAgICJpbnRlZ3JpdHkiOiAic2hhNTEyLXB2
Q3hQMmlPRElJazlhZFhsbzRTM0dSajBCckppaWw2OGtCeUFhMVByZ0c5N2MxdENsaDlkTE1ncDNa
NmNIRlpyY2xhQUJ0MFVIOFBJaHdIdUZMcVlBPT0iLAotICAgICAgImRldiI6IHRydWUsCi0gICAg
ICAicmVxdWlyZXMiOiB7Ci0gICAgICAgICJhbnNpLXJlZ2V4IjogIl4zLjAuMCIsCi0gICAgICAg
ICJhbnNpLXN0eWxlcyI6ICJeMy4yLjAiCi0gICAgICB9Ci0gICAgfSwKLSAgICAicmFuZG9tYXRp
YyI6IHsKLSAgICAgICJ2ZXJzaW9uIjogIjMuMC4wIiwKLSAgICAgICJyZXNvbHZlZCI6ICJodHRw
czovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9yYW5kb21hdGljLy0vcmFuZG9tYXRpYy0zLjAuMC50Z3oi
LAotICAgICAgImludGVncml0eSI6ICJzaGE1MTItVmR4Rk9JRVkzbU5PNVB0U1Jra2xlL2hQSkRI
dlFoSzIxb2E3M0s0eUFjOXFtcDZONDI5Z0F5RjFnWk1PVE1lUzAvQVl6YVYvMlRyY2VmK05hSW9u
U0E9PSIsCi0gICAgICAiZGV2IjogdHJ1ZSwKLSAgICAgICJyZXF1aXJlcyI6IHsKLSAgICAgICAg
ImlzLW51bWJlciI6ICJeNC4wLjAiLAotICAgICAgICAia2luZC1vZiI6ICJeNi4wLjAiLAotICAg
ICAgICAibWF0aC1yYW5kb20iOiAiXjEuMC4xIgotICAgICAgfSwKLSAgICAgICJkZXBlbmRlbmNp
ZXMiOiB7Ci0gICAgICAgICJpcy1udW1iZXIiOiB7Ci0gICAgICAgICAgInZlcnNpb24iOiAiNC4w
LjAiLAotICAgICAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9p
cy1udW1iZXIvLS9pcy1udW1iZXItNC4wLjAudGd6IiwKLSAgICAgICAgICAiaW50ZWdyaXR5Ijog
InNoYTUxMi1yU2tsY0FJbGYxT21GZHlBcWJuV1RMVmVsc1E1OHV2WjY2Uy9aeWF3aldxSXZpVFdD
amcyUHpWR3c4V1VBK25OdVBUcWI0d2dBK05zenJKKzA4TGxnUT09IiwKLSAgICAgICAgICAiZGV2
IjogdHJ1ZQotICAgICAgICB9LAotICAgICAgICAia2luZC1vZiI6IHsKLSAgICAgICAgICAidmVy
c2lvbiI6ICI2LjAuMiIsCi0gICAgICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnku
bnBtanMub3JnL2tpbmQtb2YvLS9raW5kLW9mLTYuMC4yLnRneiIsCi0gICAgICAgICAgImludGVn
cml0eSI6ICJzaGE1MTItczVrTE9jbkgwWHFETytGdnVhTFg4RERqWjE4Q0dGazdWeWdINDBRb0tQ
VVFoVzRlMnJ2TTByd1VxMHQ4SVFET3dZU2VMSzAxVTkwT2p6QlRtZTJRcUE9PSIsCi0gICAgICAg
ICAgImRldiI6IHRydWUKLSAgICAgICAgfQotICAgICAgfQotICAgIH0sCi0gICAgInJlZ2V4LWNh
Y2hlIjogewotICAgICAgInZlcnNpb24iOiAiMC40LjQiLAotICAgICAgInJlc29sdmVkIjogImh0
dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL3JlZ2V4LWNhY2hlLy0vcmVnZXgtY2FjaGUtMC40LjQu
dGd6IiwKLSAgICAgICJpbnRlZ3JpdHkiOiAic2hhNTEyLW5WSVp3dENqa0M5WWd2V2twTTU1QjVy
QmhCWVJaaEFhSmJnY0ZZWFhzSG5iWjlVWkk5bm5WV1lacEJsQ3F2OWhvMmVacnlQbldyWkdzT2RQ
d1ZXWFdRPT0iLAotICAgICAgImRldiI6IHRydWUsCi0gICAgICAicmVxdWlyZXMiOiB7Ci0gICAg
ICAgICJpcy1lcXVhbC1zaGFsbG93IjogIl4wLjEuMyIKLSAgICAgIH0KLSAgICB9LAotICAgICJy
ZW1vdmUtdHJhaWxpbmctc2VwYXJhdG9yIjogewotICAgICAgInZlcnNpb24iOiAiMS4xLjAiLAot
ICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL3JlbW92ZS10cmFp
bGluZy1zZXBhcmF0b3IvLS9yZW1vdmUtdHJhaWxpbmctc2VwYXJhdG9yLTEuMS4wLnRneiIsCi0g
ICAgICAiaW50ZWdyaXR5IjogInNoYTEtd2t2T0tpZzYydFc4UDFqZzFJSkp1U041Mk84PSIsCi0g
ICAgICAiZGV2IjogdHJ1ZQotICAgIH0sCi0gICAgInJlcGVhdC1lbGVtZW50IjogewotICAgICAg
InZlcnNpb24iOiAiMS4xLjIiLAotICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnku
bnBtanMub3JnL3JlcGVhdC1lbGVtZW50Ly0vcmVwZWF0LWVsZW1lbnQtMS4xLjIudGd6IiwKLSAg
ICAgICJpbnRlZ3JpdHkiOiAic2hhMS03d2lhRjQwVWc3cXVUWlBybUxUNTVPRWRtUW89IiwKLSAg
ICAgICJkZXYiOiB0cnVlCi0gICAgfSwKLSAgICAicmVwZWF0LXN0cmluZyI6IHsKLSAgICAgICJ2
ZXJzaW9uIjogIjEuNi4xIiwKLSAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5w
bWpzLm9yZy9yZXBlYXQtc3RyaW5nLy0vcmVwZWF0LXN0cmluZy0xLjYuMS50Z3oiLAotICAgICAg
ImludGVncml0eSI6ICJzaGExLWpjcmtjT0hJaXJ3dFlBLy9TbmRpaHRwMTVqYz0iLAotICAgICAg
ImRldiI6IHRydWUKLSAgICB9LAotICAgICJzbGFzaCI6IHsKLSAgICAgICJ2ZXJzaW9uIjogIjEu
MC4wIiwKLSAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9zbGFz
aC8tL3NsYXNoLTEuMC4wLnRneiIsCi0gICAgICAiaW50ZWdyaXR5IjogInNoYTEteEI4dmJEbjhG
dEhORjYxTFhZbGhGSzVIRFZVPSIsCi0gICAgICAiZGV2IjogdHJ1ZQotICAgIH0sCi0gICAgInN0
YWNrLXV0aWxzIjogewotICAgICAgInZlcnNpb24iOiAiMS4wLjEiLAotICAgICAgInJlc29sdmVk
IjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL3N0YWNrLXV0aWxzLy0vc3RhY2stdXRpbHMt
MS4wLjEudGd6IiwKLSAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS0xUE02dFU2T09IZUxES1hQMDdP
dnNTMjJoaUE9IiwKLSAgICAgICJkZXYiOiB0cnVlCi0gICAgfSwKLSAgICAic3VwcG9ydHMtY29s
b3IiOiB7Ci0gICAgICAidmVyc2lvbiI6ICI1LjMuMCIsCi0gICAgICAicmVzb2x2ZWQiOiAiaHR0
cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvc3VwcG9ydHMtY29sb3IvLS9zdXBwb3J0cy1jb2xvci01
LjMuMC50Z3oiLAotICAgICAgImludGVncml0eSI6ICJzaGE1MTItMGFQMDFMTElza2pLczNscTUy
RUMwYUdCQUpoTHE3QjJSZDhIQy9EUi9QdE5OcGNMaWxObUhDMTJPK2h1MHVzUXBvN3d0SE5ScXRy
aEJ3dERiMCtkTmc9PSIsCi0gICAgICAiZGV2IjogdHJ1ZSwKLSAgICAgICJyZXF1aXJlcyI6IHsK
LSAgICAgICAgImhhcy1mbGFnIjogIl4zLjAuMCIKLSAgICAgIH0KLSAgICB9LAotICAgICJ3cmFw
cHkiOiB7Ci0gICAgICAidmVyc2lvbiI6ICIxLjAuMiIsCi0gICAgICAicmVzb2x2ZWQiOiAiaHR0
cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvd3JhcHB5Ly0vd3JhcHB5LTEuMC4yLnRneiIsCi0gICAg
ICAiaW50ZWdyaXR5IjogInNoYTEtdFNROWp6N0Jxalh4TmtZRnZBMFFOdU1LdHA4PSIsCi0gICAg
ICAiZGV2IjogdHJ1ZQotICAgIH0KLSAgfQotfQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi9wYWNrYWdlLmpzb24KPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi9wYWNrYWdlLmpzb24JKHJldmlzaW9uIDI1Mjg5NikKKysrIExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
cGFja2FnZS5qc29uCShub25leGlzdGVudCkKQEAgLTEsMjcgKzAsMCBAQAotewotICAibmFtZSI6
ICJ3ZWJpZGwyIiwKLSAgImRlc2NyaXB0aW9uIjogIkEgV2ViSURMIFBhcnNlciIsCi0gICJ2ZXJz
aW9uIjogIjEzLjAuMyIsCi0gICJjb250cmlidXRvcnMiOiBbCi0gICAgIlJvYmluIEJlcmpvbiA8
cm9iaW5AYmVyam9uLmNvbT4gKGh0dHBzOi8vYmVyam9uLmNvbSkiLAotICAgICJNYXJjb3MgQ2Fj
ZXJlcyA8bWFyY29zQG1hcmNvc2MuY29tPiAoaHR0cHM6Ly9tYXJjb3NjLmNvbSkiLAotICAgICJL
YWdhbWkgU2FzY2hhIFJvc3lsaWdodCA8c2FzY2hhcGxhc0BvdXRsb29rLmNvbT4iLAotICAgICJU
aW1vdGh5IEd1IDx0aW1vdGh5Z3U5OUBnbWFpbC5jb20+IgotICBdLAotICAibGljZW5zZSI6ICJX
M0MiLAotICAiZGVwZW5kZW5jaWVzIjoge30sCi0gICJkZXZEZXBlbmRlbmNpZXMiOiB7Ci0gICAg
ImV4cGVjdCI6ICIyMi40LjAiLAotICAgICJqc29uZGlmZnBhdGNoIjogIjAuMy41IiwKLSAgICAi
bW9jaGEiOiAiNS4wLjQiCi0gIH0sCi0gICJzY3JpcHRzIjogewotICAgICJ0ZXN0IjogIm1vY2hh
IiwKLSAgICAiYWNxdWlyZSI6ICJub2RlIHRlc3QvdXRpbC9hY3F1aXJlLmpzIgotICB9LAotICAi
cmVwb3NpdG9yeSI6ICJnaXQ6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzIiwKLSAgIm1haW4i
OiAiaW5kZXguanMiLAotICAiZmlsZXMiOiBbCi0gICAgImxpYi8qIgotICBdCi19CkluZGV4OiBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3QvaW52YWxpZC9pZGwvYXJyYXkud2lkbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
aW52YWxpZC9pZGwvYXJyYXkud2lkbAkocmV2aXNpb24gMjUyODk2KQorKysgTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2lu
dmFsaWQvaWRsL2FycmF5LndpZGwJKG5vbmV4aXN0ZW50KQpAQCAtMSw2ICswLDAgQEAKLS8vIEV4
dHJhY3RlZCBmcm9tIGh0dHA6Ly9kZXYudzMub3JnLzIwMDYvd2ViYXBpL1dlYklETC8gb24gMjAx
MS0wNS0wNgotLy8gVFtdIGlzIHJlbW92ZWQgYnkgaHR0cHM6Ly9naXRodWIuY29tL2hleWNhbS93
ZWJpZGwvY29tbWl0LzA3OWNiYjg2MWE5OWU5ZTg1N2EzZjJhMTY5YzBiZWViNDljZDAyMGEKLVtD
b25zdHJ1Y3Rvcl0KLWludGVyZmFjZSBMb3R0ZXJ5UmVzdWx0cyB7Ci0gIHJlYWRvbmx5IGF0dHJp
YnV0ZSB1bnNpZ25lZCBzaG9ydFtdW10gbnVtYmVyczsKLX07ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL2NhbGxlci53aWRsCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9jYWxsZXIud2lkbAkocmV2aXNpb24gMjUyODk2
KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL2NhbGxlci53aWRsCShub25leGlzdGVudCkKQEAg
LTEsNyArMCwwIEBACi0vLyBFeHRyYWN0ZWQgZnJvbSBodHRwOi8vZGV2LnczLm9yZy8yMDA2L3dl
YmFwaS9XZWJJREwvIG9uIDIwMTEtMDUtMDYKLS8vIGxlZ2FjeWNhbGxlcnMgYXJlIHJlbW92ZWQg
YnkgaHR0cHM6Ly9naXRodWIuY29tL2hleWNhbS93ZWJpZGwvcHVsbC80MTIKLQotaW50ZXJmYWNl
IE51bWJlclF1YWRydXBsZXIgewotICAvLyBUaGlzIG9wZXJhdGlvbiBzaW1wbHkgcmV0dXJucyBm
b3VyIHRpbWVzIHRoZSBnaXZlbiBudW1iZXIgeC4KLSAgbGVnYWN5Y2FsbGVyIGZsb2F0IGNvbXB1
dGUoZmxvYXQgeCk7Ci19OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC9pbnZhbGlkL2lkbC9kaWN0LXJlcXVpcmVkLWRlZmF1bHQud2lkbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvZGljdC1yZXF1aXJlZC1kZWZhdWx0LndpZGwJKHJldmlz
aW9uIDI1Mjg5NikKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9kaWN0LXJlcXVpcmVkLWRlZmF1
bHQud2lkbAkobm9uZXhpc3RlbnQpCkBAIC0xLDUgKzAsMCBAQAotLy8gaHR0cHM6Ly9oZXljYW0u
Z2l0aHViLmlvL3dlYmlkbC8jcmVxdWlyZWQtZGljdGlvbmFyeS1tZW1iZXIKLS8vICJBIHJlcXVp
cmVkIGRpY3Rpb25hcnkgbWVtYmVyIG11c3Qgbm90IGhhdmUgYSBkZWZhdWx0IHZhbHVlLiIKLWRp
Y3Rpb25hcnkgRGljdCB7Ci0gIHJlcXVpcmVkIGxvbmcgbWVtYmVyID0gMDsKLX07CkluZGV4OiBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3QvaW52YWxpZC9pZGwvZHVwbGljYXRlLndpZGwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L2ludmFsaWQvaWRsL2R1cGxpY2F0ZS53aWRsCShyZXZpc2lvbiAyNTI4OTYpCisrKyBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3QvaW52YWxpZC9pZGwvZHVwbGljYXRlLndpZGwJKG5vbmV4aXN0ZW50KQpAQCAtMSw1ICsw
LDAgQEAKLXR5cGVkZWYgaW50IFRlc3Q7Ci0KLWludGVyZmFjZSBUZXN0IHsKLSAgdm9pZCBmb28o
KTsKLX07CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvZW51bS1lbXB0eS53aWRsCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9lbnVtLWVtcHR5LndpZGwJKHJldmlzaW9u
IDI1Mjg5NikKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9lbnVtLWVtcHR5LndpZGwJKG5vbmV4
aXN0ZW50KQpAQCAtMSArMCwwIEBACi1lbnVtIEVtcHR5IHt9OwpJbmRleDogTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2lu
dmFsaWQvaWRsL2VudW0td28tY29tbWEud2lkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52
YWxpZC9pZGwvZW51bS13by1jb21tYS53aWRsCShyZXZpc2lvbiAyNTI4OTYpCisrKyBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3QvaW52YWxpZC9pZGwvZW51bS13by1jb21tYS53aWRsCShub25leGlzdGVudCkKQEAgLTEgKzAs
MCBAQAotZW51bSBOb0NvbW1hIHsgInZhbHVlMSIgInZhbHVlMiIgfTsKSW5kZXg6IExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC9pbnZhbGlkL2lkbC9lbnVtLndpZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQv
aWRsL2VudW0ud2lkbAkocmV2aXNpb24gMjUyODk2KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRs
L2VudW0ud2lkbAkobm9uZXhpc3RlbnQpCkBAIC0xICswLDAgQEAKLWVudW0gZm9vIHsgMSwgMiwg
M307ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQv
aWRsL2V4Y2VwdGlvbi53aWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9l
eGNlcHRpb24ud2lkbAkocmV2aXNpb24gMjUyODk2KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRs
L2V4Y2VwdGlvbi53aWRsCShub25leGlzdGVudCkKQEAgLTEsNiArMCwwIEBACi0vLyBFeHRyYWN0
ZWQgZnJvbSBodHRwOi8vZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJJREwvIG9uIDIwMTEtMDUt
MDYKLS8vIElETCBleGNlcHRpb25zIGFyZSByZW1vdmVkIGJ5IGh0dHBzOi8vZ2l0aHViLmNvbS9o
ZXljYW0vd2ViaWRsL2NvbW1pdC81MGUxNzJlYzA3OWRiMDczYzM3MjRjOWJlYWMxYjU3NmZiNWRi
YzQ3Ci0KLWV4Y2VwdGlvbiBTb21lRXhjZXB0aW9uIHsKLX07Ci0KSW5kZXg6IExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9p
bnZhbGlkL2lkbC9leHRhdHRyLWVtcHR5LWlkcy53aWRsCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC9pbnZhbGlkL2lkbC9leHRhdHRyLWVtcHR5LWlkcy53aWRsCShyZXZpc2lvbiAyNTI4OTYpCisr
KyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvZXh0YXR0ci1lbXB0eS1pZHMud2lkbAkobm9uZXhpc3Rl
bnQpCkBAIC0xLDIgKzAsMCBAQAotW0V4cG9zZWQ9KCldCi1pbnRlcmZhY2UgVW5leHBvc2VkIHt9
OwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL2lkLXVuZGVyc2NvcmVkLW51bWJlci53aWRs
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9pZC11bmRlcnNjb3JlZC1udW1i
ZXIud2lkbAkocmV2aXNpb24gMjUyODk2KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL2lkLXVu
ZGVyc2NvcmVkLW51bWJlci53aWRsCShub25leGlzdGVudCkKQEAgLTEgKzAsMCBAQAotaW50ZXJm
YWNlIF8wIHt9OwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL2ltcGxlbWVudHNfYW5kX2lu
Y2x1ZGVzX3dzLndpZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL2ltcGxl
bWVudHNfYW5kX2luY2x1ZGVzX3dzLndpZGwJKHJldmlzaW9uIDI1Mjg5NikKKysrIExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC9pbnZhbGlkL2lkbC9pbXBsZW1lbnRzX2FuZF9pbmNsdWRlc193cy53aWRsCShub25leGlzdGVu
dCkKQEAgLTEsNCArMCwwIEBACi0vLyBUaGlzIGhpdHMgdGhlIHVuc2hpZnRpbmcgb2Ygd2hpdGVz
cGFjZSBpbiB0aGUgImltcGxlbWVudHMiIGFuZAotLy8gImluY2x1ZGVzIiBwcm9kdWN0aW9ucy4g
SWYgdGhlcmUgaXMgYSBidWcgaW4gdGhhdCB3aGl0ZXNwYWNlCi0vLyByb2xsYmFjaywgdGhlIHdy
b25nIGV4Y2VwdGlvbiB3aWxsIGJlIHByb2R1Y2VkLgotZm9vYmFyOwpJbmRleDogTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L2ludmFsaWQvaWRsL2l0ZXJhdG9yLndpZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFs
aWQvaWRsL2l0ZXJhdG9yLndpZGwJKHJldmlzaW9uIDI1Mjg5NikKKysrIExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZh
bGlkL2lkbC9pdGVyYXRvci53aWRsCShub25leGlzdGVudCkKQEAgLTEsMzUgKzAsMCBAQAotaW50
ZXJmYWNlIFNlc3Npb25NYW5hZ2VyIHsKLSAgU2Vzc2lvbiBnZXRTZXNzaW9uRm9yVXNlcihET01T
dHJpbmcgdXNlcm5hbWUpOwotICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBzZXNz
aW9uQ291bnQ7Ci0KLSAgU2Vzc2lvbiBpdGVyYXRvcjsKLX07Ci0KLWludGVyZmFjZSBTZXNzaW9u
IHsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyB1c2VybmFtZTsKLSAgLy8gLi4uCi19
OwotCi1pbnRlcmZhY2UgU2Vzc2lvbk1hbmFnZXIyIHsKLSAgU2Vzc2lvbjIgZ2V0U2Vzc2lvbkZv
clVzZXIoRE9NU3RyaW5nIHVzZXJuYW1lKTsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVk
IGxvbmcgc2Vzc2lvbkNvdW50OwotCi0gIFNlc3Npb24yIGl0ZXJhdG9yID0gU2Vzc2lvbkl0ZXJh
dG9yOwotfTsKLQotaW50ZXJmYWNlIFNlc3Npb24yIHsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIERP
TVN0cmluZyB1c2VybmFtZTsKLSAgLy8gLi4uCi19OwotCi1pbnRlcmZhY2UgU2Vzc2lvbkl0ZXJh
dG9yIHsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgcmVtYWluaW5nU2Vzc2lv
bnM7Ci19OwotCi0gICAgIGludGVyZmFjZSBOb2RlTGlzdCB7Ci0gICAgICAgTm9kZSBpdGVyYXRv
ciA9IE5vZGVJdGVyYXRvcjsKLSAgICAgfTsKLQotICAgICBpbnRlcmZhY2UgTm9kZUl0ZXJhdG9y
IHsKLSAgICAgICBOb2RlIGl0ZXJhdG9yIG9iamVjdDsKLSAgICAgfTsKXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvbWFwbGlrZS0xdHlwZS53
aWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9tYXBsaWtlLTF0eXBlLndp
ZGwJKHJldmlzaW9uIDI1Mjg5NikKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9tYXBsaWtlLTF0
eXBlLndpZGwJKG5vbmV4aXN0ZW50KQpAQCAtMSwzICswLDAgQEAKLWludGVyZmFjZSBNYXBMaWtl
T25lVHlwZSB7Ci0gIG1hcGxpa2U8bG9uZz47Ci19ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL21vZHVsZS53aWRsCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9tb2R1bGUud2lkbAkocmV2aXNpb24gMjUyODk2KQorKysg
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L2ludmFsaWQvaWRsL21vZHVsZS53aWRsCShub25leGlzdGVudCkKQEAgLTEsMjUg
KzAsMCBAQAotLy8gRXh0cmFjdGVkIGZyb20gaHR0cDovL2Rldi53My5vcmcvMjAwNi93ZWJhcGkv
V2ViSURMLyBvbiAyMDExLTA1LTA2Ci1tb2R1bGUgZ2Z4IHsKLQotICBtb2R1bGUgZ2VvbSB7Ci0g
ICAgaW50ZXJmYWNlIFNoYXBlIHsgLyogLi4uICovIH07Ci0gICAgaW50ZXJmYWNlIFJlY3Rhbmds
ZSA6IFNoYXBlIHsgLyogLi4uICovIH07Ci0gICAgaW50ZXJmYWNlIFBhdGggOiBTaGFwZSB7IC8q
IC4uLiAqLyB9OwotICB9OwotCi0gIGludGVyZmFjZSBHcmFwaGljc0NvbnRleHQgewotICAgIHZv
aWQgZmlsbFNoYXBlKGdlb206OlNoYXBlIHMpOwotICAgIHZvaWQgc3Ryb2tlU2hhcGUoZ2VvbTo6
U2hhcGUgcyk7Ci0gIH07Ci19OwotCi1tb2R1bGUgZ3VpIHsKLQotICBpbnRlcmZhY2UgV2lkZ2V0
IHsgLyogLi4uICovICB9OwotCi0gIGludGVyZmFjZSBXaW5kb3cgOiBXaWRnZXQgewotICAgIGdm
eDo6R3JhcGhpY3NDb250ZXh0IGdldEdyYXBoaWNzQ29udGV4dCgpOwotICB9OwotCi0gIGludGVy
ZmFjZSBCdXR0b24gOiBXaWRnZXQgeyAvKiAuLi4gKi8gIH07Ci19OwpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9uYW1lc3BhY2UtcmVhZHdy
aXRlLndpZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL25hbWVzcGFjZS1y
ZWFkd3JpdGUud2lkbAkocmV2aXNpb24gMjUyODk2KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRs
L25hbWVzcGFjZS1yZWFkd3JpdGUud2lkbAkobm9uZXhpc3RlbnQpCkBAIC0xLDMgKzAsMCBAQAot
bmFtZXNwYWNlIENTUyB7Ci0gIGF0dHJpYnV0ZSBvYmplY3QgcmVhZHdyaXRlOwotfTsKSW5kZXg6
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9uby1zZW1pY29sb24tY2FsbGJhY2sud2lkbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvbm8tc2VtaWNvbG9uLWNhbGxiYWNrLndpZGwJ
KHJldmlzaW9uIDI1Mjg5NikKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9uby1zZW1pY29sb24t
Y2FsbGJhY2sud2lkbAkobm9uZXhpc3RlbnQpCkBAIC0xLDcgKzAsMCBAQAotY2FsbGJhY2sgaW50
ZXJmYWNlIE5vU2VtaWNvbG9uIHsKLSAgYXR0cmlidXRlIGJvb2xlYW4gbm9TZW1pQ29sb247Ci19
Ci0KLWVudW0gWW91TmVlZE9uZSB7Ci0gICJyZWFsbHkiCi19CkluZGV4OiBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52
YWxpZC9pZGwvbm8tc2VtaWNvbG9uLndpZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFs
aWQvaWRsL25vLXNlbWljb2xvbi53aWRsCShyZXZpc2lvbiAyNTI4OTYpCisrKyBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
aW52YWxpZC9pZGwvbm8tc2VtaWNvbG9uLndpZGwJKG5vbmV4aXN0ZW50KQpAQCAtMSw3ICswLDAg
QEAKLXBhcnRpYWwgaW50ZXJmYWNlIE5vU2VtaWNvbG9uIHsKLSAgYXR0cmlidXRlIGJvb2xlYW4g
bm9TZW1pQ29sb247Ci19Ci0KLWVudW0gWW91TmVlZE9uZSB7Ci0gICJyZWFsbHkiCi19CkluZGV4
OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvbm9ubnVsbGFibGVhbnkud2lkbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvbm9ubnVsbGFibGVhbnkud2lkbAkocmV2aXNpb24gMjUy
ODk2KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL25vbm51bGxhYmxlYW55LndpZGwJKG5vbmV4
aXN0ZW50KQpAQCAtMSwzICswLDAgQEAKLWludGVyZmFjZSBOb25OdWxsYWJsZSB7Ci0gIGF0dHJp
YnV0ZSBhbnk/IGZvbzsKLX07ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L2ludmFsaWQvaWRsL25vbm51bGxhYmxlb2JqZWN0cy53aWRsCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9ub25udWxsYWJsZW9iamVjdHMud2lkbAkocmV2aXNpb24g
MjUyODk2KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL25vbm51bGxhYmxlb2JqZWN0cy53aWRs
CShub25leGlzdGVudCkKQEAgLTEsNiArMCwwIEBACi1pbnRlcmZhY2UgRm9vIHt9OwotCi1pbnRl
cmZhY2UgTm9uTnVsbGFibGUgewotICBhdHRyaWJ1dGUgRm9vPz8KLSAgICBmb287Ci19OwpJbmRl
eDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL3Byb21pc2UtbnVsbGFibGUud2lkbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvcHJvbWlzZS1udWxsYWJsZS53aWRsCShyZXZpc2lv
biAyNTI4OTYpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvcHJvbWlzZS1udWxsYWJsZS53aWRs
CShub25leGlzdGVudCkKQEAgLTEsNCArMCwwIEBACi1pbnRlcmZhY2UgWCB7Ci0gICAgYXR0cmli
dXRlIFByb21pc2U8dm9pZD4/Ci0gICAgICAgIHByb21pc2U7Ci19OwpJbmRleDogTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L2ludmFsaWQvaWRsL3Byb21pc2Utd2l0aC1leHRlbmRlZC1hdHRyaWJ1dGUud2lkbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvcHJvbWlzZS13aXRoLWV4dGVuZGVkLWF0dHJp
YnV0ZS53aWRsCShyZXZpc2lvbiAyNTI4OTYpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvcHJv
bWlzZS13aXRoLWV4dGVuZGVkLWF0dHJpYnV0ZS53aWRsCShub25leGlzdGVudCkKQEAgLTEsMyAr
MCwwIEBACi1pbnRlcmZhY2UgRm9vIHsKLSAgUHJvbWlzZTxbWEF0dHJdIERPTVN0cmluZz4gZm9v
KGFueSBwYXJhbSk7Ci19OwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL3JhaXNlcy53aWRs
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9yYWlzZXMud2lkbAkocmV2aXNp
b24gMjUyODk2KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL3JhaXNlcy53aWRsCShub25leGlz
dGVudCkKQEAgLTEsMTggKzAsMCBAQAotLy8gZ2V0cmFpc2VzIGFuZCBzZXRyYWlzZXMgYXJlIG5v
dCBsb25nZXIgdmFsaWQgV2ViIElETAotaW50ZXJmYWNlIFBlcnNvbiB7Ci0KLSAgLy8gQW4gYXR0
cmlidXRlIHRoYXQgY2FuIHJhaXNlIGFuIGV4Y2VwdGlvbiBpZiBpdCBpcyBzZXQgdG8gYW4gaW52
YWxpZCB2YWx1ZS4KLSAgYXR0cmlidXRlIERPTVN0cmluZyBuYW1lIHNldHJhaXNlcyAoSW52YWxp
ZE5hbWUpOwotCi0gIC8vIEFuIGF0dHJpYnV0ZSB3aG9zZSB2YWx1ZSBjYW5ub3QgYmUgYXNzaWdu
ZWQgdG8sIGFuZCB3aGljaCBjYW4gcmFpc2UgYW4KLSAgLy8gZXhjZXB0aW9uIHNvbWUgY2lyY3Vt
c3RhbmNlcy4KLSAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBwZXROYW1lIGdldHJhaXNl
cyAoTm9TdWNoUGV0KTsKLX07Ci0KLWV4Y2VwdGlvbiBTb21lRXhjZXB0aW9uIHsKLX07Ci0KLWlu
dGVyZmFjZSBFeGNlcHRpb25UaHJvd2VyIHsKLSAgLy8gVGhpcyBhdHRyaWJ1dGUgYWx3YXlzIHRo
cm93cyBhIFNvbWVFeGNlcHRpb24gYW5kIG5ldmVyIHJldHVybnMgYSB2YWx1ZS4KLSAgYXR0cmli
dXRlIGxvbmcgdmFsdWVPZiBnZXRyYWlzZXMoU29tZUV4Y2VwdGlvbik7Ci19OwpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9yZWFkb25seS1p
dGVyYWJsZS53aWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9yZWFkb25s
eS1pdGVyYWJsZS53aWRsCShyZXZpc2lvbiAyNTI4OTYpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9p
ZGwvcmVhZG9ubHktaXRlcmFibGUud2lkbAkobm9uZXhpc3RlbnQpCkBAIC0xLDMgKzAsMCBAQAot
aW50ZXJmYWNlIFJlYWRvbmx5SXRlcmFibGUgewotICByZWFkb25seSBpdGVyYWJsZTxsb25nPjsK
LX0KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9p
ZGwvcmVjb3JkLWtleS13aXRoLWV4dGVuZGVkLWF0dHJpYnV0ZS53aWRsCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9yZWNvcmQta2V5LXdpdGgtZXh0ZW5kZWQtYXR0cmlidXRl
LndpZGwJKHJldmlzaW9uIDI1Mjg5NikKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9yZWNvcmQt
a2V5LXdpdGgtZXh0ZW5kZWQtYXR0cmlidXRlLndpZGwJKG5vbmV4aXN0ZW50KQpAQCAtMSwzICsw
LDAgQEAKLWludGVyZmFjZSBGb28gewotICB2b2lkIGZvbyhyZWNvcmQ8W1hBdHRyXSBET01TdHJp
bmcsIGFueT4gcGFyYW0pOwotfTsKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9yZWNvcmQt
a2V5LndpZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL3JlY29yZC1rZXku
d2lkbAkocmV2aXNpb24gMjUyODk2KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL3JlY29yZC1r
ZXkud2lkbAkobm9uZXhpc3RlbnQpCkBAIC0xLDMgKzAsMCBAQAotaW50ZXJmYWNlIEZvbyB7Ci0g
IHZvaWQgZm9vKHJlY29yZDxvY3RldCwgYW55PiBwYXJhbSk7Ci19OwpJbmRleDogTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L2ludmFsaWQvaWRsL3JlY29yZC1zaW5nbGUud2lkbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
aW52YWxpZC9pZGwvcmVjb3JkLXNpbmdsZS53aWRsCShyZXZpc2lvbiAyNTI4OTYpCisrKyBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3QvaW52YWxpZC9pZGwvcmVjb3JkLXNpbmdsZS53aWRsCShub25leGlzdGVudCkKQEAgLTEs
MyArMCwwIEBACi1pbnRlcmZhY2UgRm9vIHsKLSAgdm9pZCBmb28ocmVjb3JkPERPTVN0cmluZz4g
cGFyYW0pOwotfTsKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9zY29wZWRuYW1lLndpZGwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL3Njb3BlZG5hbWUud2lkbAkocmV2
aXNpb24gMjUyODk2KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL3Njb3BlZG5hbWUud2lkbAko
bm9uZXhpc3RlbnQpCkBAIC0xLDIgKzAsMCBAQAotLy8gc2NvcGVkIG5hbWVzIGFyZSBubyBsb25n
ZXIgdmFsaWQgaW4gV2ViSURMCi0gIHR5cGVkZWYgZ2Z4OjpnZW9tOjpnZW9tMmQ6OlBvaW50IFBv
aW50OwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL3NlcXVlbmNlQXNBdHRyaWJ1dGUud2lk
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvc2VxdWVuY2VBc0F0dHJpYnV0
ZS53aWRsCShyZXZpc2lvbiAyNTI4OTYpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvc2VxdWVu
Y2VBc0F0dHJpYnV0ZS53aWRsCShub25leGlzdGVudCkKQEAgLTEsMyArMCwwIEBACi1pbnRlcmZh
Y2Ugc2VxdWVuY2VBc0F0dHJpYnV0ZSB7Ci0gIGF0dHJpYnV0ZSBzZXF1ZW5jZTxzaG9ydD4gaW52
YWxpZDsKLX07ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2lu
dmFsaWQvaWRsL3NldGxpa2UtMnR5cGVzLndpZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2lu
dmFsaWQvaWRsL3NldGxpa2UtMnR5cGVzLndpZGwJKHJldmlzaW9uIDI1Mjg5NikKKysrIExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC9pbnZhbGlkL2lkbC9zZXRsaWtlLTJ0eXBlcy53aWRsCShub25leGlzdGVudCkKQEAgLTEs
MyArMCwwIEBACi1pbnRlcmZhY2UgU2V0TGlrZVR3b1R5cGVzIHsKLSAgc2V0bGlrZTxsb25nLCBs
b25nPjsKLX0KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52
YWxpZC9pZGwvc2V0dGVyLWNyZWF0b3Iud2lkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52
YWxpZC9pZGwvc2V0dGVyLWNyZWF0b3Iud2lkbAkocmV2aXNpb24gMjUyODk2KQorKysgTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L2ludmFsaWQvaWRsL3NldHRlci1jcmVhdG9yLndpZGwJKG5vbmV4aXN0ZW50KQpAQCAtMSw0
ICswLDAgQEAKLS8vIEV4dHJhY3RlZCBmcm9tIGh0dHA6Ly9kZXYudzMub3JnLzIwMDYvd2ViYXBp
L1dlYklETC8gb24gMjAxMS0wNS0wNgotaW50ZXJmYWNlIE9yZGVyZWRNYXAgewotICBzZXR0ZXIg
Y3JlYXRvciB2b2lkIHNldChET01TdHJpbmcgbmFtZSwgYW55IHZhbHVlKTsKLX07CkluZGV4OiBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3QvaW52YWxpZC9pZGwvc3BhY2VkLW5lZ2F0aXZlLWluZmluaXR5LndpZGwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL3NwYWNlZC1uZWdhdGl2ZS1pbmZpbml0eS53
aWRsCShyZXZpc2lvbiAyNTI4OTYpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvc3BhY2VkLW5l
Z2F0aXZlLWluZmluaXR5LndpZGwJKG5vbmV4aXN0ZW50KQpAQCAtMSwzICswLDAgQEAKLWludGVy
ZmFjZSBYIHsKLSAgICBjb25zdCBmbG9hdCBpbmZpbml0eSA9IC0gSW5maW5pdHk7Ci19OwpJbmRl
eDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL3NwYWNlZC12YXJpYWRpYy53aWRsCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9zcGFjZWQtdmFyaWFkaWMud2lkbAkocmV2aXNpb24g
MjUyODk2KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL3NwYWNlZC12YXJpYWRpYy53aWRsCShu
b25leGlzdGVudCkKQEAgLTEsMyArMCwwIEBACi1pbnRlcmZhY2UgWCB7Ci0gICAgdm9pZCBvcGVy
YXRpb24ob2JqZWN0IC4gLiAuIGFyZ3MpOwotfTsKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lk
bC9zcGVjaWFsLW9taXR0YWJsZS53aWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlk
L2lkbC9zcGVjaWFsLW9taXR0YWJsZS53aWRsCShyZXZpc2lvbiAyNTI4OTYpCisrKyBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3QvaW52YWxpZC9pZGwvc3BlY2lhbC1vbWl0dGFibGUud2lkbAkobm9uZXhpc3RlbnQpCkBAIC0x
LDggKzAsMCBAQAotLy8gRXh0cmFjdGVkIGZyb20gaHR0cDovL2Rldi53My5vcmcvMjAwNi93ZWJh
cGkvV2ViSURMLyBvbiAyMDExLTA1LTA2Ci0vLyBvbWl0dGFibGUgaXMgbm8gbG9uZ2VyIGEgcmVj
b2duaXplZCBrZXl3b3JkIGFzIG9mIDIwMTEwOTA1Ci1pbnRlcmZhY2UgRGljdGlvbmFyeSB7Ci0g
IHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIHByb3BlcnR5Q291bnQ7Ci0KLSAgb21p
dHRhYmxlIGdldHRlciBmbG9hdCBnZXRQcm9wZXJ0eShET01TdHJpbmcgcHJvcGVydHlOYW1lKTsK
LSAgb21pdHRhYmxlIHNldHRlciB2b2lkIHNldFByb3BlcnR5KERPTVN0cmluZyBwcm9wZXJ0eU5h
bWUsIGZsb2F0IHByb3BlcnR5VmFsdWUpOwotfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvc3RyYXktc2xhc2gud2lkbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvc3RyYXktc2xhc2gud2lkbAkocmV2aXNpb24gMjUy
ODk2KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL3N0cmF5LXNsYXNoLndpZGwJKG5vbmV4aXN0
ZW50KQpAQCAtMSwyICswLDAgQEAKLS8vIFRoaXMgaXMgYSBjb21tZW50LgotLyBUaGlzIGlzIG5v
dC4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9zdHJpbmdjb25zdGFudHMud2lkbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvc3RyaW5nY29uc3RhbnRzLndpZGwJKHJl
dmlzaW9uIDI1Mjg5NikKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9zdHJpbmdjb25zdGFudHMu
d2lkbAkobm9uZXhpc3RlbnQpCkBAIC0xLDMgKzAsMCBAQAotaW50ZXJmYWNlIFV0aWwgewotICBj
b25zdCBET01TdHJpbmcgaGVsbG8gPSAid29ybGQiOwotfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvdHlwZWRlZi1uZXN0ZWQud2lkbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvdHlwZWRlZi1uZXN0ZWQud2lkbAko
cmV2aXNpb24gMjUyODk2KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL3R5cGVkZWYtbmVzdGVk
LndpZGwJKG5vbmV4aXN0ZW50KQpAQCAtMSwyMiArMCwwIEBACi0KLSAgICAgIGludGVyZmFjZSBQ
b2ludCB7Ci0gICAgICAgIGF0dHJpYnV0ZSBmbG9hdCB4OwotICAgICAgICBhdHRyaWJ1dGUgZmxv
YXQgeTsKLSAgICAgIH07Ci0KLQotICAgICAgaW50ZXJmYWNlIFJlY3QgewotICAgICAgICBhdHRy
aWJ1dGUgUG9pbnQgdG9wbGVmdDsKLSAgICAgICAgYXR0cmlidXRlIFBvaW50IGJvdHRvbXJpZ2h0
OwotICAgICAgfTsKLQotICBpbnRlcmZhY2UgV2lkZ2V0IHsKLSAgICB0eXBlZGVmIHNlcXVlbmNl
PFBvaW50PiBQb2ludFNlcXVlbmNlOwotCi0gICAgcmVhZG9ubHkgYXR0cmlidXRlIFJlY3QgYm91
bmRzOwotCi0gICAgYm9vbGVhbiBwb2ludFdpdGhpbkJvdW5kcyhQb2ludCBwKTsKLSAgICBib29s
ZWFuIGFsbFBvaW50c1dpdGhpbkJvdW5kcyhQb2ludFNlcXVlbmNlIHBzKTsKLSAgfTsKLQotICB0
eXBlZGVmIFtDbGFtcF0gb2N0ZXQgdmFsdWU7ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJ
bmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL3VuaW9uLWRhbmdsaW5nLW9yLndpZGwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL3VuaW9uLWRhbmdsaW5nLW9yLndpZGwJKHJl
dmlzaW9uIDI1Mjg5NikKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC91bmlvbi1kYW5nbGluZy1v
ci53aWRsCShub25leGlzdGVudCkKQEAgLTEgKzAsMCBAQAotdHlwZWRlZiAoT25lIG9yIFR3byBv
cikgVW5pb25PcjsKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC91bmlvbi1vbmUud2lkbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvdW5pb24tb25lLndpZGwJKHJldmlz
aW9uIDI1Mjg5NikKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC91bmlvbi1vbmUud2lkbAkobm9u
ZXhpc3RlbnQpCkBAIC0xICswLDAgQEAKLXR5cGVkZWYgKE9ubHlPbmUpIFVuaW9uT25lOwpJbmRl
eDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL3VuaW9uLXplcm8ud2lkbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3QvaW52YWxpZC9pZGwvdW5pb24temVyby53aWRsCShyZXZpc2lvbiAyNTI4OTYpCisr
KyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvdW5pb24temVyby53aWRsCShub25leGlzdGVudCkKQEAg
LTEgKzAsMCBAQAotdHlwZWRlZiAoKSBVbmlvblplcm87CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxp
ZC9pZGwvdW5rbm93bi1nZW5lcmljLndpZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFs
aWQvaWRsL3Vua25vd24tZ2VuZXJpYy53aWRsCShyZXZpc2lvbiAyNTI4OTYpCisrKyBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3QvaW52YWxpZC9pZGwvdW5rbm93bi1nZW5lcmljLndpZGwJKG5vbmV4aXN0ZW50KQpAQCAtMSwz
ICswLDAgQEAKLWludGVyZmFjZSBGZXRjaEV2ZW50IDogRXZlbnQgewotICBSZXNwb25zZVByb21p
c2U8YW55PiBkZWZhdWx0KCk7Ci19OwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL3czYy1p
bXBvcnQubG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC93M2MtaW1wb3J0
LmxvZwkocmV2aXNpb24gMjUyODk2KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL3czYy1pbXBv
cnQubG9nCShub25leGlzdGVudCkKQEAgLTEsNTYgKzAsMCBAQAotVGhlIHRlc3RzIGluIHRoaXMg
ZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCi1EbyBOT1Qg
bW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQsIGNyZWF0ZSBh
IHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20vd2Vi
LXBsYXRmb3JtLXRlc3RzL3dwdAotCi1UaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQt
dzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydAotCi1EbyBOT1QgbW9kaWZ5IG9yIHJlbW92
ZSB0aGlzIGZpbGUuCi0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotUHJvcGVydGllcyByZXF1aXJpbmcgdmVu
ZG9yIHByZWZpeGVzOgotTm9uZQotUHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJl
Zml4ZXM6Ci1Ob25lCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLUxpc3Qgb2YgZmlsZXM6Ci0vTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L2ludmFsaWQvaWRsL2FycmF5LndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvY2FsbGVyLndp
ZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvZGljdC1yZXF1aXJlZC1kZWZhdWx0LndpZGwKLS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3QvaW52YWxpZC9pZGwvZHVwbGljYXRlLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9p
ZGwvZW51bS1lbXB0eS53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL2VudW0td28tY29tbWEu
d2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9lbnVtLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxp
ZC9pZGwvZXhjZXB0aW9uLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvZXh0YXR0ci1lbXB0
eS1pZHMud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9pZC11bmRlcnNjb3JlZC1udW1iZXIu
d2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9pbXBsZW1lbnRzX2FuZF9pbmNsdWRlc193cy53
aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL2l0ZXJhdG9yLndpZGwKLS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52
YWxpZC9pZGwvbWFwbGlrZS0xdHlwZS53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL21vZHVs
ZS53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL25hbWVzcGFjZS1yZWFkd3JpdGUud2lkbAot
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9uby1zZW1pY29sb24tY2FsbGJhY2sud2lkbAotL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC9pbnZhbGlkL2lkbC9uby1zZW1pY29sb24ud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lk
bC9ub25udWxsYWJsZWFueS53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL25vbm51bGxhYmxl
b2JqZWN0cy53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL3Byb21pc2UtbnVsbGFibGUud2lk
bAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9wcm9taXNlLXdpdGgtZXh0ZW5kZWQtYXR0cmlidXRl
LndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvcmFpc2VzLndpZGwKLS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52
YWxpZC9pZGwvcmVhZG9ubHktaXRlcmFibGUud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9y
ZWNvcmQta2V5LXdpdGgtZXh0ZW5kZWQtYXR0cmlidXRlLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxp
ZC9pZGwvcmVjb3JkLWtleS53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL3JlY29yZC1zaW5n
bGUud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9zY29wZWRuYW1lLndpZGwKLS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3QvaW52YWxpZC9pZGwvc2VxdWVuY2VBc0F0dHJpYnV0ZS53aWRsCi0vTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFs
aWQvaWRsL3NldGxpa2UtMnR5cGVzLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvc2V0dGVy
LWNyZWF0b3Iud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9zcGFjZWQtbmVnYXRpdmUtaW5m
aW5pdHkud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9zcGFjZWQtdmFyaWFkaWMud2lkbAot
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9zcGVjaWFsLW9taXR0YWJsZS53aWRsCi0vTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L2ludmFsaWQvaWRsL3N0cmF5LXNsYXNoLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvc3Ry
aW5nY29uc3RhbnRzLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvdHlwZWRlZi1uZXN0ZWQu
d2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC91bmlvbi1kYW5nbGluZy1vci53aWRsCi0vTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L2ludmFsaWQvaWRsL3VuaW9uLW9uZS53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRs
L3VuaW9uLXplcm8ud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC91bmtub3duLWdlbmVyaWMu
d2lkbApJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9hcnJheS5qc29uCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vYXJyYXkuanNvbgkocmV2aXNpb24gMjUyODk2KQor
KysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9hcnJheS5qc29uCShub25leGlzdGVudCkKQEAgLTEs
NCArMCwwIEBACi17Ci0gICAgIm1lc3NhZ2UiOiAiR290IGFuIGVycm9yIGR1cmluZyBvciByaWdo
dCBhZnRlciBwYXJzaW5nIGBpbnRlcmZhY2UgTG90dGVyeVJlc3VsdHNgOiBObyBuYW1lIGluIGF0
dHJpYnV0ZSIsCi0gICAgImxpbmUiOiA1Ci19CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29u
L2NhbGxlci5qc29uCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vY2FsbGVy
Lmpzb24JKHJldmlzaW9uIDI1Mjg5NikKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vY2FsbGVy
Lmpzb24JKG5vbmV4aXN0ZW50KQpAQCAtMSw0ICswLDAgQEAKLXsKLSAgICAibWVzc2FnZSI6ICJH
b3QgYW4gZXJyb3IgZHVyaW5nIG9yIHJpZ2h0IGFmdGVyIHBhcnNpbmcgYGludGVyZmFjZSBOdW1i
ZXJRdWFkcnVwbGVyYDogSW52YWxpZCBvcGVyYXRpb24iLAotICAgICJsaW5lIjogNgotfQpJbmRl
eDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9kaWN0LXJlcXVpcmVkLWRlZmF1bHQuanNvbgo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL2RpY3QtcmVxdWlyZWQtZGVmYXVsdC5q
c29uCShyZXZpc2lvbiAyNTI4OTYpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL2RpY3QtcmVx
dWlyZWQtZGVmYXVsdC5qc29uCShub25leGlzdGVudCkKQEAgLTEsNCArMCwwIEBACi17Ci0gICAg
Im1lc3NhZ2UiOiAgIkdvdCBhbiBlcnJvciBkdXJpbmcgb3IgcmlnaHQgYWZ0ZXIgcGFyc2luZyBg
ZGljdGlvbmFyeSBEaWN0YDogUmVxdWlyZWQgbWVtYmVyIG11c3Qgbm90IGhhdmUgYSBkZWZhdWx0
IgotLCAgICJsaW5lIjogICAgIDQKLX0KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vZHVw
bGljYXRlLmpzb24KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9kdXBsaWNh
dGUuanNvbgkocmV2aXNpb24gMjUyODk2KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9kdXBs
aWNhdGUuanNvbgkobm9uZXhpc3RlbnQpCkBAIC0xLDQgKzAsMCBAQAotewotICAgICJtZXNzYWdl
IjogIkdvdCBhbiBlcnJvciBkdXJpbmcgb3IgcmlnaHQgYWZ0ZXIgcGFyc2luZyBgdHlwZWRlZiBU
ZXN0YDogVGhlIG5hbWUgXCJUZXN0XCIgb2YgdHlwZSBcInR5cGVkZWZcIiBpcyBhbHJlYWR5IHNl
ZW4iLAotICAgICJsaW5lIjogMwotfQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9lbnVt
LWVtcHR5Lmpzb24KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9lbnVtLWVt
cHR5Lmpzb24JKHJldmlzaW9uIDI1Mjg5NikKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vZW51
bS1lbXB0eS5qc29uCShub25leGlzdGVudCkKQEAgLTEsNCArMCwwIEBACi17Ci0gICAgIm1lc3Nh
Z2UiOiAiR290IGFuIGVycm9yIGR1cmluZyBvciByaWdodCBhZnRlciBwYXJzaW5nIGBlbnVtIEVt
cHR5YDogTm8gdmFsdWUgaW4gZW51bSIsCi0gICAgImxpbmUiOiAxCi19CkluZGV4OiBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3QvaW52YWxpZC9qc29uL2VudW0td28tY29tbWEuanNvbgo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3QvaW52YWxpZC9qc29uL2VudW0td28tY29tbWEuanNvbgkocmV2aXNpb24gMjUyODk2KQorKysg
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L2ludmFsaWQvanNvbi9lbnVtLXdvLWNvbW1hLmpzb24JKG5vbmV4aXN0ZW50KQpA
QCAtMSw0ICswLDAgQEAKLXsKLSAgICAibWVzc2FnZSI6ICJHb3QgYW4gZXJyb3IgZHVyaW5nIG9y
IHJpZ2h0IGFmdGVyIHBhcnNpbmcgYGVudW0gTm9Db21tYWA6IE5vIGNvbW1hIGJldHdlZW4gZW51
bSB2YWx1ZXMiLAotICAgICJsaW5lIjogMQotfQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNv
bi9lbnVtLmpzb24KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9lbnVtLmpz
b24JKHJldmlzaW9uIDI1Mjg5NikKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vZW51bS5qc29u
CShub25leGlzdGVudCkKQEAgLTEsNCArMCwwIEBACi17Ci0gICAgIm1lc3NhZ2UiOiAgIkdvdCBh
biBlcnJvciBkdXJpbmcgb3IgcmlnaHQgYWZ0ZXIgcGFyc2luZyBgZW51bSBmb29gOiBVbmV4cGVj
dGVkIHZhbHVlIGluIGVudW0iCi0sICAgImxpbmUiOiAgICAgMQotfQpJbmRleDogTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L2ludmFsaWQvanNvbi9leGNlcHRpb24uanNvbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52
YWxpZC9qc29uL2V4Y2VwdGlvbi5qc29uCShyZXZpc2lvbiAyNTI4OTYpCisrKyBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
aW52YWxpZC9qc29uL2V4Y2VwdGlvbi5qc29uCShub25leGlzdGVudCkKQEAgLTEsNCArMCwwIEBA
Ci17Ci0gICAgIm1lc3NhZ2UiOiAiR290IGFuIGVycm9yIGJlZm9yZSBwYXJzaW5nIGFueSBuYW1l
ZCBkZWZpbml0aW9uOiBVbnJlY29nbmlzZWQgdG9rZW5zIiwKLSAgICAibGluZSI6IDQKLX0KSW5k
ZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vZXh0YXR0ci1lbXB0eS1pZHMuanNvbgo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL2V4dGF0dHItZW1wdHktaWRzLmpzb24JKHJl
dmlzaW9uIDI1Mjg5NikKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vZXh0YXR0ci1lbXB0eS1p
ZHMuanNvbgkobm9uZXhpc3RlbnQpCkBAIC0xLDQgKzAsMCBAQAotewotICAgICJtZXNzYWdlIjog
IkdvdCBhbiBlcnJvciBiZWZvcmUgcGFyc2luZyBhbnkgbmFtZWQgZGVmaW5pdGlvbjogRXhwZWN0
ZWQgaWRlbnRpZmllcnMgYnV0IG5vdCBmb3VuZCIsCi0gICAgImxpbmUiOiAxCi19CkluZGV4OiBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3QvaW52YWxpZC9qc29uL2lkLXVuZGVyc2NvcmVkLW51bWJlci5qc29uCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vaWQtdW5kZXJzY29yZWQtbnVtYmVyLmpzb24J
KHJldmlzaW9uIDI1Mjg5NikKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vaWQtdW5kZXJzY29y
ZWQtbnVtYmVyLmpzb24JKG5vbmV4aXN0ZW50KQpAQCAtMSw0ICswLDAgQEAKLXsKLSAgICAibWVz
c2FnZSI6ICJHb3QgYW4gZXJyb3IgYmVmb3JlIHBhcnNpbmcgYW55IG5hbWVkIGRlZmluaXRpb246
IE5vIG5hbWUgZm9yIGludGVyZmFjZSIsCi0gICAgImxpbmUiOiAxCi19CkluZGV4OiBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3QvaW52YWxpZC9qc29uL2ltcGxlbWVudHNfYW5kX2luY2x1ZGVzX3dzLmpzb24KPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9pbXBsZW1lbnRzX2FuZF9pbmNsdWRlc193cy5q
c29uCShyZXZpc2lvbiAyNTI4OTYpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL2ltcGxlbWVu
dHNfYW5kX2luY2x1ZGVzX3dzLmpzb24JKG5vbmV4aXN0ZW50KQpAQCAtMSw0ICswLDAgQEAKLXsK
LSAgICAibWVzc2FnZSI6ICJHb3QgYW4gZXJyb3IgYmVmb3JlIHBhcnNpbmcgYW55IG5hbWVkIGRl
ZmluaXRpb246IFVucmVjb2duaXNlZCB0b2tlbnMiLAotICAgICJsaW5lIjogNAotfQpJbmRleDog
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L2ludmFsaWQvanNvbi9pdGVyYXRvci5qc29uCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC9pbnZhbGlkL2pzb24vaXRlcmF0b3IuanNvbgkocmV2aXNpb24gMjUyODk2KQorKysgTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L2ludmFsaWQvanNvbi9pdGVyYXRvci5qc29uCShub25leGlzdGVudCkKQEAgLTEsNCAr
MCwwIEBACi17Ci0gICAgIm1lc3NhZ2UiOiAiR290IGFuIGVycm9yIGR1cmluZyBvciByaWdodCBh
ZnRlciBwYXJzaW5nIGBpbnRlcmZhY2UgU2Vzc2lvbk1hbmFnZXJgOiBJbnZhbGlkIG9wZXJhdGlv
biIsCi0gICAgImxpbmUiOiA1Ci19CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL21hcGxp
a2UtMXR5cGUuanNvbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL21hcGxp
a2UtMXR5cGUuanNvbgkocmV2aXNpb24gMjUyODk2KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNv
bi9tYXBsaWtlLTF0eXBlLmpzb24JKG5vbmV4aXN0ZW50KQpAQCAtMSw0ICswLDAgQEAKLXsKLSAg
ICAibWVzc2FnZSI6ICJHb3QgYW4gZXJyb3IgZHVyaW5nIG9yIHJpZ2h0IGFmdGVyIHBhcnNpbmcg
YGludGVyZmFjZSBNYXBMaWtlT25lVHlwZWA6IE1pc3Npbmcgc2Vjb25kIHR5cGUgYXJndW1lbnQg
aW4gbWFwbGlrZSBkZWNsYXJhdGlvbiIsCi0gICAgImxpbmUiOiAyCi19CkluZGV4OiBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3QvaW52YWxpZC9qc29uL21vZHVsZS5qc29uCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZh
bGlkL2pzb24vbW9kdWxlLmpzb24JKHJldmlzaW9uIDI1Mjg5NikKKysrIExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZh
bGlkL2pzb24vbW9kdWxlLmpzb24JKG5vbmV4aXN0ZW50KQpAQCAtMSw0ICswLDAgQEAKLXsKLSAg
ICAibWVzc2FnZSI6ICAiR290IGFuIGVycm9yIGJlZm9yZSBwYXJzaW5nIGFueSBuYW1lZCBkZWZp
bml0aW9uOiBVbnJlY29nbmlzZWQgdG9rZW5zIgotLCAgICJsaW5lIjogICAgIDIKLX0KSW5kZXg6
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vbmFtZXNwYWNlLXJlYWR3cml0ZS5qc29uCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vbmFtZXNwYWNlLXJlYWR3cml0ZS5qc29uCShy
ZXZpc2lvbiAyNTI4OTYpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL25hbWVzcGFjZS1yZWFk
d3JpdGUuanNvbgkobm9uZXhpc3RlbnQpCkBAIC0xLDQgKzAsMCBAQAotewotICAgICJtZXNzYWdl
IjogIkdvdCBhbiBlcnJvciBkdXJpbmcgb3IgcmlnaHQgYWZ0ZXIgcGFyc2luZyBgbmFtZXNwYWNl
IENTU2A6IEF0dHJpYnV0ZXMgbXVzdCBiZSByZWFkb25seSBpbiB0aGlzIGNvbnRleHQiLAotICAg
ICJsaW5lIjogMgotfQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9uby1zZW1pY29sb24t
Y2FsbGJhY2suanNvbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL25vLXNl
bWljb2xvbi1jYWxsYmFjay5qc29uCShyZXZpc2lvbiAyNTI4OTYpCisrKyBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52
YWxpZC9qc29uL25vLXNlbWljb2xvbi1jYWxsYmFjay5qc29uCShub25leGlzdGVudCkKQEAgLTEs
NCArMCwwIEBACi17Ci0gICAgIm1lc3NhZ2UiOiAiR290IGFuIGVycm9yIGR1cmluZyBvciByaWdo
dCBhZnRlciBwYXJzaW5nIGBjYWxsYmFjayBpbnRlcmZhY2UgTm9TZW1pY29sb25gOiBNaXNzaW5n
IHNlbWljb2xvbiBhZnRlciBpbnRlcmZhY2UiLAotICAgICJsaW5lIjogNQotfQpJbmRleDogTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L2ludmFsaWQvanNvbi9uby1zZW1pY29sb24uanNvbgo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3QvaW52YWxpZC9qc29uL25vLXNlbWljb2xvbi5qc29uCShyZXZpc2lvbiAyNTI4OTYpCisr
KyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL25vLXNlbWljb2xvbi5qc29uCShub25leGlzdGVudCkK
QEAgLTEsNCArMCwwIEBACi17Ci0gICAgIm1lc3NhZ2UiOiAiR290IGFuIGVycm9yIGR1cmluZyBv
ciByaWdodCBhZnRlciBwYXJzaW5nIGBwYXJ0aWFsIGludGVyZmFjZSBOb1NlbWljb2xvbmA6IE1p
c3Npbmcgc2VtaWNvbG9uIGFmdGVyIGludGVyZmFjZSIsCi0gICAgImxpbmUiOiA1Ci19CkluZGV4
OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL25vbm51bGxhYmxlYW55Lmpzb24KPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9ub25udWxsYWJsZWFueS5qc29uCShyZXZpc2lvbiAy
NTI4OTYpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL25vbm51bGxhYmxlYW55Lmpzb24JKG5v
bmV4aXN0ZW50KQpAQCAtMSw0ICswLDAgQEAKLXsKLSAgICAibWVzc2FnZSI6ICAiR290IGFuIGVy
cm9yIGR1cmluZyBvciByaWdodCBhZnRlciBwYXJzaW5nIGBpbnRlcmZhY2UgTm9uTnVsbGFibGVg
OiBUeXBlIGFueSBjYW5ub3QgYmUgbWFkZSBudWxsYWJsZSIKLSwgICAibGluZSI6ICAgICAyCi19
CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL25vbm51bGxhYmxlb2JqZWN0cy5qc29uCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vbm9ubnVsbGFibGVvYmplY3RzLmpz
b24JKHJldmlzaW9uIDI1Mjg5NikKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vbm9ubnVsbGFi
bGVvYmplY3RzLmpzb24JKG5vbmV4aXN0ZW50KQpAQCAtMSw0ICswLDAgQEAKLXsKLSAgICAibWVz
c2FnZSI6ICJHb3QgYW4gZXJyb3IgZHVyaW5nIG9yIHJpZ2h0IGFmdGVyIHBhcnNpbmcgYGludGVy
ZmFjZSBOb25OdWxsYWJsZWA6IENhbid0IG51bGxhYmxlIG1vcmUgdGhhbiBvbmNlIiwKLSAgICAi
bGluZSI6IDQKLX0KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vcHJvbWlzZS1udWxsYWJs
ZS5qc29uCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vcHJvbWlzZS1udWxs
YWJsZS5qc29uCShyZXZpc2lvbiAyNTI4OTYpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL3By
b21pc2UtbnVsbGFibGUuanNvbgkobm9uZXhpc3RlbnQpCkBAIC0xLDQgKzAsMCBAQAotewotICAg
ICJtZXNzYWdlIjogIkdvdCBhbiBlcnJvciBkdXJpbmcgb3IgcmlnaHQgYWZ0ZXIgcGFyc2luZyBg
aW50ZXJmYWNlIFhgOiBQcm9taXNlIHR5cGUgY2Fubm90IGJlIG51bGxhYmxlIiwKLSAgICAibGlu
ZSI6IDIKLX0KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vcHJvbWlzZS13aXRoLWV4dGVu
ZGVkLWF0dHJpYnV0ZS5qc29uCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24v
cHJvbWlzZS13aXRoLWV4dGVuZGVkLWF0dHJpYnV0ZS5qc29uCShyZXZpc2lvbiAyNTI4OTYpCisr
KyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL3Byb21pc2Utd2l0aC1leHRlbmRlZC1hdHRyaWJ1dGUu
anNvbgkobm9uZXhpc3RlbnQpCkBAIC0xLDQgKzAsMCBAQAotewotICAgICJtZXNzYWdlIjogIkdv
dCBhbiBlcnJvciBkdXJpbmcgb3IgcmlnaHQgYWZ0ZXIgcGFyc2luZyBgaW50ZXJmYWNlIEZvb2A6
IFByb21pc2UgdHlwZSBjYW5ub3QgaGF2ZSBleHRlbmRlZCBhdHRyaWJ1dGUiLAotICAgICJsaW5l
IjogMgotfQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9yYWlzZXMuanNvbgo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL3JhaXNlcy5qc29uCShyZXZpc2lvbiAyNTI4
OTYpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL3JhaXNlcy5qc29uCShub25leGlzdGVudCkK
QEAgLTEsNCArMCwwIEBACi17Ci0gICAgIm1lc3NhZ2UiOiAgIkdvdCBhbiBlcnJvciBkdXJpbmcg
b3IgcmlnaHQgYWZ0ZXIgcGFyc2luZyBgaW50ZXJmYWNlIFBlcnNvbmA6IFVudGVybWluYXRlZCBh
dHRyaWJ1dGUiCi0sICAgImxpbmUiOiAgICAgNQotfQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQv
anNvbi9yZWFkb25seS1pdGVyYWJsZS5qc29uCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZh
bGlkL2pzb24vcmVhZG9ubHktaXRlcmFibGUuanNvbgkocmV2aXNpb24gMjUyODk2KQorKysgTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L2ludmFsaWQvanNvbi9yZWFkb25seS1pdGVyYWJsZS5qc29uCShub25leGlzdGVudCkK
QEAgLTEsNCArMCwwIEBACi17Ci0gICAgIm1lc3NhZ2UiOiAiR290IGFuIGVycm9yIGR1cmluZyBv
ciByaWdodCBhZnRlciBwYXJzaW5nIGBpbnRlcmZhY2UgUmVhZG9ubHlJdGVyYWJsZWA6IE1pc3Np
bmcgcmV0dXJuIHR5cGUiLAotICAgICJsaW5lIjogMgotfQpJbmRleDogTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFs
aWQvanNvbi9yZWNvcmQta2V5LXdpdGgtZXh0ZW5kZWQtYXR0cmlidXRlLmpzb24KPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9yZWNvcmQta2V5LXdpdGgtZXh0ZW5kZWQtYXR0
cmlidXRlLmpzb24JKHJldmlzaW9uIDI1Mjg5NikKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24v
cmVjb3JkLWtleS13aXRoLWV4dGVuZGVkLWF0dHJpYnV0ZS5qc29uCShub25leGlzdGVudCkKQEAg
LTEsNCArMCwwIEBACi17Ci0gICAgIm1lc3NhZ2UiOiAiR290IGFuIGVycm9yIGR1cmluZyBvciBy
aWdodCBhZnRlciBwYXJzaW5nIGBpbnRlcmZhY2UgRm9vYDogUmVjb3JkIGtleSBjYW5ub3QgaGF2
ZSBleHRlbmRlZCBhdHRyaWJ1dGUiLAotICAgICJsaW5lIjogMgotfQpJbmRleDogTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L2ludmFsaWQvanNvbi9yZWNvcmQta2V5Lmpzb24KPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2lu
dmFsaWQvanNvbi9yZWNvcmQta2V5Lmpzb24JKHJldmlzaW9uIDI1Mjg5NikKKysrIExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC9pbnZhbGlkL2pzb24vcmVjb3JkLWtleS5qc29uCShub25leGlzdGVudCkKQEAgLTEsNCArMCww
IEBACi17Ci0gICAgIm1lc3NhZ2UiOiAiR290IGFuIGVycm9yIGR1cmluZyBvciByaWdodCBhZnRl
ciBwYXJzaW5nIGBpbnRlcmZhY2UgRm9vYDogUmVjb3JkIGtleSBtdXN0IGJlIGEgc3RyaW5nIHR5
cGUiLAotICAgICJsaW5lIjogMgotfQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9yZWNv
cmQtc2luZ2xlLmpzb24KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9yZWNv
cmQtc2luZ2xlLmpzb24JKHJldmlzaW9uIDI1Mjg5NikKKysrIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pz
b24vcmVjb3JkLXNpbmdsZS5qc29uCShub25leGlzdGVudCkKQEAgLTEsNCArMCwwIEBACi17Ci0g
ICAgIm1lc3NhZ2UiOiAiR290IGFuIGVycm9yIGR1cmluZyBvciByaWdodCBhZnRlciBwYXJzaW5n
IGBpbnRlcmZhY2UgRm9vYDogTWlzc2luZyBjb21tYSBhZnRlciByZWNvcmQga2V5IHR5cGUiLAot
ICAgICJsaW5lIjogMgotfQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9zY29wZWRuYW1l
Lmpzb24KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9zY29wZWRuYW1lLmpz
b24JKHJldmlzaW9uIDI1Mjg5NikKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vc2NvcGVkbmFt
ZS5qc29uCShub25leGlzdGVudCkKQEAgLTEsNCArMCwwIEBACi17Ci0gICAgIm1lc3NhZ2UiOiAg
IkdvdCBhbiBlcnJvciBiZWZvcmUgcGFyc2luZyBhbnkgbmFtZWQgZGVmaW5pdGlvbjogTm8gbmFt
ZSBpbiB0eXBlZGVmIgotLCAgICJsaW5lIjogICAgIDIKLX0KSW5kZXg6IExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZh
bGlkL2pzb24vc2VxdWVuY2VBc0F0dHJpYnV0ZS5qc29uCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC9pbnZhbGlkL2pzb24vc2VxdWVuY2VBc0F0dHJpYnV0ZS5qc29uCShyZXZpc2lvbiAyNTI4OTYp
CisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL3NlcXVlbmNlQXNBdHRyaWJ1dGUuanNvbgkobm9u
ZXhpc3RlbnQpCkBAIC0xLDQgKzAsMCBAQAotewotICAgICJtZXNzYWdlIjogICJHb3QgYW4gZXJy
b3IgZHVyaW5nIG9yIHJpZ2h0IGFmdGVyIHBhcnNpbmcgYGludGVyZmFjZSBzZXF1ZW5jZUFzQXR0
cmlidXRlYDogQXR0cmlidXRlcyBjYW5ub3QgYWNjZXB0IHNlcXVlbmNlIHR5cGVzIgotLCAgICJs
aW5lIjogICAgIDIKLX0KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vc2V0bGlrZS0ydHlw
ZXMuanNvbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL3NldGxpa2UtMnR5
cGVzLmpzb24JKHJldmlzaW9uIDI1Mjg5NikKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vc2V0
bGlrZS0ydHlwZXMuanNvbgkobm9uZXhpc3RlbnQpCkBAIC0xLDQgKzAsMCBAQAotewotICAgICJt
ZXNzYWdlIjogIkdvdCBhbiBlcnJvciBkdXJpbmcgb3IgcmlnaHQgYWZ0ZXIgcGFyc2luZyBgaW50
ZXJmYWNlIFNldExpa2VUd29UeXBlc2A6IFVudGVybWluYXRlZCBzZXRsaWtlIGRlY2xhcmF0aW9u
IiwKLSAgICAibGluZSI6IDIKLX0KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vc2V0dGVy
LWNyZWF0b3IuanNvbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL3NldHRl
ci1jcmVhdG9yLmpzb24JKHJldmlzaW9uIDI1Mjg5NikKKysrIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pz
b24vc2V0dGVyLWNyZWF0b3IuanNvbgkobm9uZXhpc3RlbnQpCkBAIC0xLDQgKzAsMCBAQAotewot
ICAgICJtZXNzYWdlIjogIkdvdCBhbiBlcnJvciBkdXJpbmcgb3IgcmlnaHQgYWZ0ZXIgcGFyc2lu
ZyBgaW50ZXJmYWNlIE9yZGVyZWRNYXBgOiBJbnZhbGlkIG9wZXJhdGlvbiIsCi0gICAgImxpbmUi
OiAzCi19CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL3NwYWNlZC1uZWdhdGl2ZS1pbmZp
bml0eS5qc29uCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vc3BhY2VkLW5l
Z2F0aXZlLWluZmluaXR5Lmpzb24JKHJldmlzaW9uIDI1Mjg5NikKKysrIExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZh
bGlkL2pzb24vc3BhY2VkLW5lZ2F0aXZlLWluZmluaXR5Lmpzb24JKG5vbmV4aXN0ZW50KQpAQCAt
MSw0ICswLDAgQEAKLXsKLSAgICAibWVzc2FnZSI6ICJHb3QgYW4gZXJyb3IgZHVyaW5nIG9yIHJp
Z2h0IGFmdGVyIHBhcnNpbmcgYGludGVyZmFjZSBYYDogTm8gdmFsdWUgZm9yIGNvbnN0IiwKLSAg
ICAibGluZSI6IDIKLX0KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vc3BhY2VkLXZhcmlh
ZGljLmpzb24KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9zcGFjZWQtdmFy
aWFkaWMuanNvbgkocmV2aXNpb24gMjUyODk2KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9z
cGFjZWQtdmFyaWFkaWMuanNvbgkobm9uZXhpc3RlbnQpCkBAIC0xLDQgKzAsMCBAQAotewotICAg
ICJtZXNzYWdlIjogIkdvdCBhbiBlcnJvciBkdXJpbmcgb3IgcmlnaHQgYWZ0ZXIgcGFyc2luZyBg
aW50ZXJmYWNlIFhgOiBVbnRlcm1pbmF0ZWQgb3BlcmF0aW9uIiwKLSAgICAibGluZSI6IDIKLX0K
SW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vc3BlY2lhbC1vbWl0dGFibGUuanNvbgo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL3NwZWNpYWwtb21pdHRhYmxlLmpzb24J
KHJldmlzaW9uIDI1Mjg5NikKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vc3BlY2lhbC1vbWl0
dGFibGUuanNvbgkobm9uZXhpc3RlbnQpCkBAIC0xLDQgKzAsMCBAQAotewotICAgICJtZXNzYWdl
IjogICJHb3QgYW4gZXJyb3IgZHVyaW5nIG9yIHJpZ2h0IGFmdGVyIHBhcnNpbmcgYGludGVyZmFj
ZSBEaWN0aW9uYXJ5YDogSW52YWxpZCBvcGVyYXRpb24iCi0sICAgImxpbmUiOiAgICAgNgotfQpJ
bmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9zdHJheS1zbGFzaC5qc29uCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vc3RyYXktc2xhc2guanNvbgkocmV2aXNpb24gMjUy
ODk2KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9zdHJheS1zbGFzaC5qc29uCShub25leGlz
dGVudCkKQEAgLTEsNCArMCwwIEBACi17Ci0gICAgIm1lc3NhZ2UiOiAgIkdvdCBhbiBlcnJvciBi
ZWZvcmUgcGFyc2luZyBhbnkgbmFtZWQgZGVmaW5pdGlvbjogVW5yZWNvZ25pc2VkIHRva2VucyIK
LSwgICAibGluZSI6ICAgICAyCi19CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL3N0cmlu
Z2NvbnN0YW50cy5qc29uCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vc3Ry
aW5nY29uc3RhbnRzLmpzb24JKHJldmlzaW9uIDI1Mjg5NikKKysrIExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlk
L2pzb24vc3RyaW5nY29uc3RhbnRzLmpzb24JKG5vbmV4aXN0ZW50KQpAQCAtMSw0ICswLDAgQEAK
LXsKLSAgICAibWVzc2FnZSI6ICAiR290IGFuIGVycm9yIGR1cmluZyBvciByaWdodCBhZnRlciBw
YXJzaW5nIGBpbnRlcmZhY2UgVXRpbGA6IE5vIHR5cGUgZm9yIGNvbnN0IgotLCAgICJsaW5lIjog
ICAgIDIKLX0KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vdHlwZWRlZi1uZXN0ZWQuanNv
bgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL3R5cGVkZWYtbmVzdGVkLmpz
b24JKHJldmlzaW9uIDI1Mjg5NikKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vdHlwZWRlZi1u
ZXN0ZWQuanNvbgkobm9uZXhpc3RlbnQpCkBAIC0xLDQgKzAsMCBAQAotewotICAgICJtZXNzYWdl
IjogICJHb3QgYW4gZXJyb3IgZHVyaW5nIG9yIHJpZ2h0IGFmdGVyIHBhcnNpbmcgYGludGVyZmFj
ZSBXaWRnZXRgOiBNaXNzaW5nIHJldHVybiB0eXBlIgotLCAgICJsaW5lIjogICAgIDE0Ci19Cklu
ZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL3VuaW9uLWRhbmdsaW5nLW9yLmpzb24KPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi91bmlvbi1kYW5nbGluZy1vci5qc29uCShy
ZXZpc2lvbiAyNTI4OTYpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL3VuaW9uLWRhbmdsaW5n
LW9yLmpzb24JKG5vbmV4aXN0ZW50KQpAQCAtMSw0ICswLDAgQEAKLXsKLSAgICAibWVzc2FnZSI6
ICJHb3QgYW4gZXJyb3IgYmVmb3JlIHBhcnNpbmcgYW55IG5hbWVkIGRlZmluaXRpb246IE5vIHR5
cGUgYWZ0ZXIgb3BlbiBwYXJlbnRoZXNpcyBvciAnb3InIGluIHVuaW9uIHR5cGUiLAotICAgICJs
aW5lIjogMQotfQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi91bmlvbi1vbmUuanNvbgo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL3VuaW9uLW9uZS5qc29uCShyZXZp
c2lvbiAyNTI4OTYpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL3VuaW9uLW9uZS5qc29uCShu
b25leGlzdGVudCkKQEAgLTEsNCArMCwwIEBACi17Ci0gICAgIm1lc3NhZ2UiOiAiR290IGFuIGVy
cm9yIGJlZm9yZSBwYXJzaW5nIGFueSBuYW1lZCBkZWZpbml0aW9uOiBBdCBsZWFzdCB0d28gdHlw
ZXMgYXJlIGV4cGVjdGVkIGluIGEgdW5pb24gdHlwZSBidXQgZm91bmQgbGVzcyIsCi0gICAgImxp
bmUiOiAxCi19CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL3VuaW9uLXplcm8uanNvbgo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL3VuaW9uLXplcm8uanNvbgkocmV2
aXNpb24gMjUyODk2KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi91bmlvbi16ZXJvLmpzb24J
KG5vbmV4aXN0ZW50KQpAQCAtMSw0ICswLDAgQEAKLXsKLSAgICAibWVzc2FnZSI6ICJHb3QgYW4g
ZXJyb3IgYmVmb3JlIHBhcnNpbmcgYW55IG5hbWVkIGRlZmluaXRpb246IE5vIHR5cGUgYWZ0ZXIg
b3BlbiBwYXJlbnRoZXNpcyBvciAnb3InIGluIHVuaW9uIHR5cGUiLAotICAgICJsaW5lIjogMQot
fQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi91bmtub3duLWdlbmVyaWMuanNvbgo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL3Vua25vd24tZ2VuZXJpYy5qc29uCShy
ZXZpc2lvbiAyNTI4OTYpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL3Vua25vd24tZ2VuZXJp
Yy5qc29uCShub25leGlzdGVudCkKQEAgLTEsNCArMCwwIEBACi17Ci0gICAgIm1lc3NhZ2UiOiAi
R290IGFuIGVycm9yIGR1cmluZyBvciByaWdodCBhZnRlciBwYXJzaW5nIGBpbnRlcmZhY2UgRmV0
Y2hFdmVudGA6IFVuc3VwcG9ydGVkIGdlbmVyaWMgdHlwZSBSZXNwb25zZVByb21pc2UiLAotICAg
ICJsaW5lIjogMgotfQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi93M2MtaW1wb3J0Lmxv
Zwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL3czYy1pbXBvcnQubG9nCShy
ZXZpc2lvbiAyNTI4OTYpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL3czYy1pbXBvcnQubG9n
CShub25leGlzdGVudCkKQEAgLTEsNTYgKzAsMCBAQAotVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0
b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCi1EbyBOT1QgbW9kaWZ5
IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQsIGNyZWF0ZSBhIHB1bGwg
cmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRm
b3JtLXRlc3RzL3dwdAotCi1UaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRl
c3RzIGluIFdlYktpdCB0byByZWltcG9ydAotCi1EbyBOT1QgbW9kaWZ5IG9yIHJlbW92ZSB0aGlz
IGZpbGUuCi0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotUHJvcGVydGllcyByZXF1aXJpbmcgdmVuZG9yIHBy
ZWZpeGVzOgotTm9uZQotUHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6
Ci1Ob25lCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLUxpc3Qgb2YgZmlsZXM6Ci0vTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFs
aWQvanNvbi9hcnJheS5qc29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9jYWxsZXIuanNvbgot
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vZGljdC1yZXF1aXJlZC1kZWZhdWx0Lmpzb24KLS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3QvaW52YWxpZC9qc29uL2R1cGxpY2F0ZS5qc29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNv
bi9lbnVtLWVtcHR5Lmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL2VudW0td28tY29tbWEu
anNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vZW51bS5qc29uCi0vTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFs
aWQvanNvbi9leGNlcHRpb24uanNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vZXh0YXR0ci1l
bXB0eS1pZHMuanNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vaWQtdW5kZXJzY29yZWQtbnVt
YmVyLmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL2ltcGxlbWVudHNfYW5kX2luY2x1ZGVz
X3dzLmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL2l0ZXJhdG9yLmpzb24KLS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3QvaW52YWxpZC9qc29uL21hcGxpa2UtMXR5cGUuanNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pz
b24vbW9kdWxlLmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL25hbWVzcGFjZS1yZWFkd3Jp
dGUuanNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vbm8tc2VtaWNvbG9uLWNhbGxiYWNrLmpz
b24KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL25vLXNlbWljb2xvbi5qc29uCi0vTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L2ludmFsaWQvanNvbi9ub25udWxsYWJsZWFueS5qc29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNv
bi9ub25udWxsYWJsZW9iamVjdHMuanNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vcHJvbWlz
ZS1udWxsYWJsZS5qc29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9wcm9taXNlLXdpdGgtZXh0
ZW5kZWQtYXR0cmlidXRlLmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL3JhaXNlcy5qc29u
Ci0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9yZWFkb25seS1pdGVyYWJsZS5qc29uCi0vTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L2ludmFsaWQvanNvbi9yZWNvcmQta2V5LXdpdGgtZXh0ZW5kZWQtYXR0cmlidXRlLmpzb24K
LS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL3JlY29yZC1rZXkuanNvbgotL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZh
bGlkL2pzb24vcmVjb3JkLXNpbmdsZS5qc29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9zY29w
ZWRuYW1lLmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL3NlcXVlbmNlQXNBdHRyaWJ1dGUu
anNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vc2V0bGlrZS0ydHlwZXMuanNvbgotL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC9pbnZhbGlkL2pzb24vc2V0dGVyLWNyZWF0b3IuanNvbgotL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlk
L2pzb24vc3BhY2VkLW5lZ2F0aXZlLWluZmluaXR5Lmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9q
c29uL3NwYWNlZC12YXJpYWRpYy5qc29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9zcGVjaWFs
LW9taXR0YWJsZS5qc29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9zdHJheS1zbGFzaC5qc29u
Ci0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9zdHJpbmdjb25zdGFudHMuanNvbgotL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC9pbnZhbGlkL2pzb24vdHlwZWRlZi1uZXN0ZWQuanNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pz
b24vdW5pb24tZGFuZ2xpbmctb3IuanNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vdW5pb24t
b25lLmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL3VuaW9uLXplcm8uanNvbgotL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC9pbnZhbGlkL2pzb24vdW5rbm93bi1nZW5lcmljLmpzb24KSW5kZXg6IExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9p
bnZhbGlkLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkLmpzCShyZXZpc2lvbiAy
NTI4OTYpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC5qcwkobm9uZXhpc3RlbnQpCkBAIC0xLDIwICsw
LDAgQEAKLS8vIE5PVEVTOgotLy8gIC0gdGhlIGVycm9ycyBhY3R1YWxseSBzdGlsbCBuZWVkIHRv
IGJlIHJldmlld2VkIHRvIGNoZWNrIHRoYXQgdGhleQotLy8gICAgYXJlIGZ1bGx5IGNvcnJlY3Qg
aW50ZXJwcmV0YXRpb25zIG9mIHRoZSBJRExzCi0KLSJ1c2Ugc3RyaWN0IjsKLQotY29uc3QgeyBj
b2xsZWN0IH0gPSByZXF1aXJlKCIuL3V0aWwvY29sbGVjdCIpOwotY29uc3QgZnMgPSByZXF1aXJl
KCJmcyIpOwotY29uc3QgZXhwZWN0ID0gcmVxdWlyZSgiZXhwZWN0Iik7Ci0KLWRlc2NyaWJlKCJQ
YXJzZXMgYWxsIG9mIHRoZSBpbnZhbGlkIElETHMgdG8gY2hlY2sgdGhhdCB0aGV5IGJsb3cgdXAg
Y29ycmVjdGx5IiwgKCkgPT4gewotICBmb3IgKGNvbnN0IHRlc3Qgb2YgY29sbGVjdCgiaW52YWxp
ZCIsIHsgZXhwZWN0RXJyb3I6IHRydWUgfSkpIHsKLSAgICBpdChgc2hvdWxkIHByb2R1Y2UgdGhl
IHJpZ2h0IGVycm9yIGZvciAke3Rlc3QucGF0aH1gLCAoKSA9PiB7Ci0gICAgICBjb25zdCBlcnIg
PSB0ZXN0LnJlYWRKU09OKCk7Ci0gICAgICBleHBlY3QodGVzdC5lcnJvcikudG9CZVRydXRoeSgp
OwotICAgICAgZXhwZWN0KHRlc3QuZXJyb3IubWVzc2FnZSkudG9FcXVhbChlcnIubWVzc2FnZSk7
Ci0gICAgICBleHBlY3QodGVzdC5lcnJvci5saW5lKS50b0VxdWFsKGVyci5saW5lKTsKLSAgICB9
KTsKLSAgfQotfSk7CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvbW9jaGEub3B0cwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3QvbW9jaGEub3B0cwkocmV2aXNpb24gMjUyODk2KQorKysgTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L21vY2hh
Lm9wdHMJKG5vbmV4aXN0ZW50KQpAQCAtMSArMCwwIEBACi0tLXJlcG9ydGVyIHNwZWMKSW5kZXg6
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC9zeW50YXgvaWRsL2FsbG93YW55LndpZGwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3N5bnRheC9pZGwvYWxsb3dhbnkud2lkbAkocmV2aXNpb24gMjUyODk2KQorKysgTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3N5bnRheC9pZGwvYWxsb3dhbnkud2lkbAkobm9uZXhpc3RlbnQpCkBAIC0xLDYgKzAsMCBA
QAotLy8gRXh0cmFjdGVkIGZyb20gaHR0cDovL2Rldi53My5vcmcvMjAwNi93ZWJhcGkvV2ViSURM
LyBvbiAyMDExLTA1LTA2Ci1pbnRlcmZhY2UgQiB7Ci0gIHZvaWQgZygpOwotICB2b2lkIGcoQiBi
KTsKLSAgdm9pZCBnKFtBbGxvd0FueV0gRE9NU3RyaW5nIHMpOwotfTsKXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9hdHRyaWJ1dGVzLndpZGwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvYXR0cmlidXRlcy53aWRsCShyZXZp
c2lvbiAyNTI4OTYpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9hdHRyaWJ1dGVzLndpZGwJKG5v
bmV4aXN0ZW50KQpAQCAtMSwxMSArMCwwIEBACi0vLyBFeHRyYWN0ZWQgZnJvbSBodHRwOi8vZGV2
LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJJREwvIG9uIDIwMTEtMDUtMDYKLQotaW50ZXJmYWNlIFBl
cnNvbiB7Ci0KLSAgLy8gQSBzaW1wbGUgYXR0cmlidXRlIHRoYXQgY2FuIGJlIHNldCB0byBhbnkg
dmFsdWUgdGhlIHJhbmdlIGFuIHVuc2lnbmVkCi0gIC8vIHNob3J0IGNhbiB0YWtlLgotICBhdHRy
aWJ1dGUgdW5zaWduZWQgc2hvcnQgYWdlOwotCi0gIC8vIHJlcXVpcmVkIGlzIGFuIGFsbG93ZWQg
YXR0cmlidXRlIG5hbWUKLSAgYXR0cmlidXRlIGFueSByZXF1aXJlZDsKLX07CkluZGV4OiBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvc3ludGF4L2lkbC9jYWxsYmFjay53aWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9z
eW50YXgvaWRsL2NhbGxiYWNrLndpZGwJKHJldmlzaW9uIDI1Mjg5NikKKysrIExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9z
eW50YXgvaWRsL2NhbGxiYWNrLndpZGwJKG5vbmV4aXN0ZW50KQpAQCAtMSw3ICswLDAgQEAKLWNh
bGxiYWNrIEFzeW5jT3BlcmF0aW9uQ2FsbGJhY2sgPSB2b2lkIChET01TdHJpbmcgc3RhdHVzKTsK
LQotY2FsbGJhY2sgaW50ZXJmYWNlIEV2ZW50SGFuZGxlciB7Ci0gIHZvaWQgZXZlbnRPY2N1cnJl
ZChET01TdHJpbmcgZGV0YWlscyk7Ci19OwotCi1jYWxsYmFjayBTb3J0Q2FsbGJhY2sgPSBib29s
ZWFuIChhbnkgYSwgYW55IGIpOwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvY29uc3RhbnRz
LndpZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvY29uc3RhbnRzLndpZGwJ
KHJldmlzaW9uIDI1Mjg5NikKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL2NvbnN0YW50cy53aWRs
CShub25leGlzdGVudCkKQEAgLTEsMTEgKzAsMCBAQAotLy8gRXh0cmFjdGVkIGZyb20gaHR0cDov
L2Rldi53My5vcmcvMjAwNi93ZWJhcGkvV2ViSURMLyBvbiAyMDExLTA1LTA2Ci1pbnRlcmZhY2Ug
VXRpbCB7Ci0gIGNvbnN0IGJvb2xlYW4gREVCVUcgPSBmYWxzZTsKLSAgY29uc3Qgc2hvcnQgbmVn
YXRpdmUgPSAtMTsKLSAgY29uc3Qgb2N0ZXQgTEYgPSAxMDsKLSAgY29uc3QgdW5zaWduZWQgbG9u
ZyBCSVRfTUFTSyA9IDB4MDAwMGZjMDA7Ci0gIGNvbnN0IGZsb2F0IEFWT0dBRFJPID0gNi4wMjJl
MjM7Ci0gIGNvbnN0IHVucmVzdHJpY3RlZCBmbG9hdCBzb2JpZyA9IEluZmluaXR5OwotICBjb25z
dCB1bnJlc3RyaWN0ZWQgZG91YmxlIG1pbnVzb25lZGl2aWRlZGJ5emVybyA9IC1JbmZpbml0eTsK
LSAgY29uc3Qgc2hvcnQgbm90YW51bWJlciA9IE5hTjsKLX07ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvY29uc3RydWN0b3Iud2lkbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9jb25zdHJ1Y3Rvci53aWRsCShyZXZpc2lv
biAyNTI4OTYpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9jb25zdHJ1Y3Rvci53aWRsCShub25l
eGlzdGVudCkKQEAgLTEsOSArMCwwIEBACi0vLyBFeHRyYWN0ZWQgZnJvbSBodHRwOi8vZGV2Lncz
Lm9yZy8yMDA2L3dlYmFwaS9XZWJJREwvIG9uIDIwMTEtMDUtMDYKLVtDb25zdHJ1Y3RvciwKLSBD
b25zdHJ1Y3RvcihmbG9hdCByYWRpdXMpXQotaW50ZXJmYWNlIENpcmNsZSB7Ci0gIGF0dHJpYnV0
ZSBmbG9hdCByOwotICBhdHRyaWJ1dGUgZmxvYXQgY3g7Ci0gIGF0dHJpYnV0ZSBmbG9hdCBjeTsK
LSAgcmVhZG9ubHkgYXR0cmlidXRlIGZsb2F0IGNpcmN1bWZlcmVuY2U7Ci19OwpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL2RpY3Rpb25hcnkt
aW5oZXJpdHMud2lkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9kaWN0aW9u
YXJ5LWluaGVyaXRzLndpZGwJKHJldmlzaW9uIDI1Mjg5NikKKysrIExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgv
aWRsL2RpY3Rpb25hcnktaW5oZXJpdHMud2lkbAkobm9uZXhpc3RlbnQpCkBAIC0xLDkgKzAsMCBA
QAotZGljdGlvbmFyeSBQYWludE9wdGlvbnMgewotICBET01TdHJpbmc/IGZpbGxQYXR0ZXJuID0g
ImJsYWNrIjsKLSAgRE9NU3RyaW5nPyBzdHJva2VQYXR0ZXJuID0gbnVsbDsKLSAgUG9pbnQgcG9z
aXRpb247Ci19OwotCi1kaWN0aW9uYXJ5IFdldFBhaW50T3B0aW9ucyA6IFBhaW50T3B0aW9ucyB7
Ci0gIGZsb2F0IGh5ZHJvbWV0cnk7Ci19OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5k
ZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL2RpY3Rpb25hcnkud2lkbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3Qvc3ludGF4L2lkbC9kaWN0aW9uYXJ5LndpZGwJKHJldmlzaW9uIDI1Mjg5NikKKysr
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC9zeW50YXgvaWRsL2RpY3Rpb25hcnkud2lkbAkobm9uZXhpc3RlbnQpCkBAIC0x
LDE1ICswLDAgQEAKLS8vIEV4dHJhY3RlZCBmcm9tIFdlYiBJREwgZWRpdG9ycyBkcmFmdCBNYXkg
MzEgMjAxMQotZGljdGlvbmFyeSBQYWludE9wdGlvbnMgewotICBET01TdHJpbmc/IGZpbGxQYXR0
ZXJuID0gImJsYWNrIjsKLSAgRE9NU3RyaW5nPyBzdHJva2VQYXR0ZXJuID0gbnVsbDsKLSAgUG9p
bnQgcG9zaXRpb247Ci0gIC8vIGh0dHBzOi8vaGV5Y2FtLmdpdGh1Yi5pby93ZWJpZGwvI2Rmbi1v
cHRpb25hbC1hcmd1bWVudC1kZWZhdWx0LXZhbHVlIGFsbG93cyBzZXF1ZW5jZXMgdG8gZGVmYXVs
dCB0byAiW10iLgotICBzZXF1ZW5jZTxsb25nPiBzZXEgPSBbXTsKLSAgLy8gaHR0cHM6Ly9oZXlj
YW0uZ2l0aHViLmlvL3dlYmlkbC8jcmVxdWlyZWQtZGljdGlvbmFyeS1tZW1iZXIKLSAgcmVxdWly
ZWQgbG9uZyByZXFTZXE7Ci19OwotCi1wYXJ0aWFsIGRpY3Rpb25hcnkgQSB7Ci0gIGxvbmcgaDsK
LSAgbG9uZyBkOwotfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvc3ludGF4L2lkbC9kb2N1bWVudGF0aW9uLWRvcy53aWRsCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC9zeW50YXgvaWRsL2RvY3VtZW50YXRpb24tZG9zLndpZGwJKHJldmlzaW9uIDI1Mjg5NikK
KysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL2RvY3VtZW50YXRpb24tZG9zLndpZGwJKG5vbmV4aXN0
ZW50KQpAQCAtMSwzMyArMCwwIEBACi0vKioNCi0qIFxicmllZiBUZXN0aW5nIGRvY3VtZW50YXRp
b24gZmVhdHVyZXMNCi0qDQotKiBUaGlzIGlzIGENCi0qIHNpbmdsZSBwYXJhZ3JhcGgNCi0qDQot
KiA8cD5UaGlzIGlzIHZhbGlkLjwvcD4NCi0qIDxwPlRoaXMgaXMgPGVtPnZhbGlkPC9lbT4uPC9w
Pg0KLSogPHA+VGhpcyBpcyA8Yj52YWxpZDwvYj4uPC9wPg0KLSogPHA+VGhpcyBpcyA8YSBocmVm
PScnPnZhbGlkPC9hPi48L3A+DQotKiA8dWw+DQotKiA8bGk+VGhpczwvbGk+DQotKiA8bGk+aXM8
L2xpPg0KLSogPGxpPnZhbGlkPC9saT4NCi0qIDwvdWw+DQotKiA8ZGw+DQotKiA8ZHQ+VGhpczwv
ZHQ+DQotKiA8ZGQ+dmFsaWQ8L2RkPg0KLSogPC9kbD4NCi0qIDx0YWJsZT4NCi0qIDx0cj4NCi0q
IDx0ZD50aGlzPC90ZD4NCi0qIDx0ZD5pczwvdGQ+DQotKiA8L3RyPg0KLSogPHRyPg0KLSogPHRk
PnZhbGlkPC90ZD4NCi0qIDwvdHI+DQotKiA8L3RhYmxlPg0KLSogPHA+VGhpcyBpcyA8YnI+IHZh
bGlkLjwvcD4NCi0qIDxwPlRoaXMgaXMgPGJyIC8+IHZhbGlkLjwvcD4NCi0qIDxwPlRoaXMgaXMg
PGJyLz4gdmFsaWQuPC9wPg0KLSovDQotaW50ZXJmYWNlIERvY3VtZW50YXRpb24ge307ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvZG9jdW1l
bnRhdGlvbi53aWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL2RvY3VtZW50
YXRpb24ud2lkbAkocmV2aXNpb24gMjUyODk2KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvZG9j
dW1lbnRhdGlvbi53aWRsCShub25leGlzdGVudCkKQEAgLTEsMzQgKzAsMCBAQAotLyoqCi0qIFxi
cmllZiBUZXN0aW5nIGRvY3VtZW50YXRpb24gZmVhdHVyZXMKLSoKLSogVGhpcyBpcyBhCi0qIHNp
bmdsZSBwYXJhZ3JhcGgKLSoKLSogPHA+VGhpcyBpcyB2YWxpZC48L3A+Ci0qIDxwPlRoaXMgaXMg
PGVtPnZhbGlkPC9lbT4uPC9wPgotKiA8cD5UaGlzIGlzIDxiPnZhbGlkPC9iPi48L3A+Ci0qIDxw
PlRoaXMgaXMgPGEgaHJlZj0nJz52YWxpZDwvYT4uPC9wPgotKiA8dWw+Ci0qIDxsaT5UaGlzPC9s
aT4KLSogPGxpPmlzPC9saT4KLSogPGxpPnZhbGlkPC9saT4KLSogPC91bD4KLSogPGRsPgotKiA8
ZHQ+VGhpczwvZHQ+Ci0qIDxkZD52YWxpZDwvZGQ+Ci0qIDwvZGw+Ci0qIDx0YWJsZT4KLSogPHRy
PgotKiA8dGQ+dGhpczwvdGQ+Ci0qIDx0ZD5pczwvdGQ+Ci0qIDwvdHI+Ci0qIDx0cj4KLSogPHRk
PnZhbGlkPC90ZD4KLSogPC90cj4KLSogPC90YWJsZT4KLSogPHA+VGhpcyBpcyA8YnI+IHZhbGlk
LjwvcD4KLSogPHA+VGhpcyBpcyA8YnIgLz4gdmFsaWQuPC9wPgotKiA8cD5UaGlzIGlzIDxici8+
IHZhbGlkLjwvcD4KLSogPHA+PGltZyBzcmM9ImZvby5wbmciIGFsdD0iVmFsaWQiLz48L3A+Ci0q
LwotaW50ZXJmYWNlIERvY3VtZW50YXRpb24ge307ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvZW51bS53aWRsCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC9zeW50YXgvaWRsL2VudW0ud2lkbAkocmV2aXNpb24gMjUyODk2KQorKysgTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3N5bnRheC9pZGwvZW51bS53aWRsCShub25leGlzdGVudCkKQEAgLTEsMTAgKzAsMCBAQAot
ZW51bSBNZWFsVHlwZSB7ICJyaWNlIiwgIm5vb2RsZXMiLCAib3RoZXIiIH07Ci0KLWludGVyZmFj
ZSBNZWFsIHsKLSAgYXR0cmlidXRlIE1lYWxUeXBlIHR5cGU7Ci0gIGF0dHJpYnV0ZSBmbG9hdCBz
aXplOyAgICAgLy8gaW4gZ3JhbXMKLQotICB2b2lkIGluaXRpYWxpemUoTWVhbFR5cGUgdHlwZSwg
ZmxvYXQgc2l6ZSk7Ci19OwotCi1lbnVtIEFsdE1lYWxUeXBlIHsgInJpY2UiLCAibm9vZGxlcyIs
ICJvdGhlciIsIH07ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3N5bnRheC9pZGwvZXF1aXZhbGVudC1kZWNsLndpZGwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3N5bnRheC9pZGwvZXF1aXZhbGVudC1kZWNsLndpZGwJKHJldmlzaW9uIDI1Mjg5NikKKysrIExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC9zeW50YXgvaWRsL2VxdWl2YWxlbnQtZGVjbC53aWRsCShub25leGlzdGVudCkKQEAg
LTEsMTggKzAsMCBAQAotLy8gRXh0cmFjdGVkIGZyb20gaHR0cDovL2Rldi53My5vcmcvMjAwNi93
ZWJhcGkvV2ViSURMLyBvbiAyMDExLTA1LTA2Ci1pbnRlcmZhY2UgRGljdGlvbmFyeSB7Ci0gIHJl
YWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIHByb3BlcnR5Q291bnQ7Ci0KLSAgZ2V0dGVy
IGZsb2F0IGdldFByb3BlcnR5KERPTVN0cmluZyBwcm9wZXJ0eU5hbWUpOwotICBzZXR0ZXIgdm9p
ZCBzZXRQcm9wZXJ0eShET01TdHJpbmcgcHJvcGVydHlOYW1lLCBmbG9hdCBwcm9wZXJ0eVZhbHVl
KTsKLX07Ci0KLQotaW50ZXJmYWNlIERpY3Rpb25hcnkyIHsKLSAgcmVhZG9ubHkgYXR0cmlidXRl
IHVuc2lnbmVkIGxvbmcgcHJvcGVydHlDb3VudDsKLQotICBmbG9hdCBnZXRQcm9wZXJ0eShET01T
dHJpbmcgcHJvcGVydHlOYW1lKTsKLSAgdm9pZCBzZXRQcm9wZXJ0eShET01TdHJpbmcgcHJvcGVy
dHlOYW1lLCBmbG9hdCBwcm9wZXJ0eVZhbHVlKTsKLQotICBnZXR0ZXIgZmxvYXQgKERPTVN0cmlu
ZyBwcm9wZXJ0eU5hbWUpOwotICBzZXR0ZXIgdm9pZCAoRE9NU3RyaW5nIHByb3BlcnR5TmFtZSwg
ZmxvYXQgcHJvcGVydHlWYWx1ZSk7Ci19OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5k
ZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL2V4dGVuZGVkLWF0dHJpYnV0ZXMud2lkbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9leHRlbmRlZC1hdHRyaWJ1dGVzLndpZGwJKHJl
dmlzaW9uIDI1Mjg5NikKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL2V4dGVuZGVkLWF0dHJpYnV0
ZXMud2lkbAkobm9uZXhpc3RlbnQpCkBAIC0xLDI5ICswLDAgQEAKLS8vIEV4dHJhY3RlZCBmcm9t
IGh0dHA6Ly93d3cudzMub3JnL1RSLzIwMTUvV0Qtc2VydmljZS13b3JrZXJzLTIwMTUwMjA1Lwot
Ci1bR2xvYmFsPShXb3JrZXIsU2VydmljZVdvcmtlciksIEV4cG9zZWQ9U2VydmljZVdvcmtlcl0K
LWludGVyZmFjZSBTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUgOiBXb3JrZXJHbG9iYWxTY29wZSB7
Ci0KLX07Ci0KLS8vIENvbmZvcm1hbmNlIHdpdGggRXh0ZW5kZWRBdHRyaWJ1dGVMaXN0IGdyYW1t
YXIgaW4gaHR0cDovL3d3dy53My5vcmcvVFIvV2ViSURMLyNpZGwtZXh0ZW5kZWQtYXR0cmlidXRl
cwotLy8gU2VjdGlvbiAzLjExCi1bSW50QXR0cj0wLCBGbG9hdEF0dHI9My4xNCwgU3RyaW5nQXR0
cj0iYWJjIl0KLWludGVyZmFjZSBJZEludGVyZmFjZSB7fTsKLQotLy8gRXh0cmFjdGVkIGZyb20g
aHR0cDovL3d3dy53My5vcmcvVFIvMjAxNi9SRUMtV2ViSURMLTEtMjAxNjEyMTUvI0NvbnN0cnVj
dG9yIG9uIDIwMTctNS0xOCB3aXRoIHdoaXRlc3BhY2UgZGlmZmVyZW5jZXMKLVsKLSAgQ29uc3Ry
dWN0b3IsCi0gIENvbnN0cnVjdG9yKGRvdWJsZSByYWRpdXMpCi1dCi1pbnRlcmZhY2UgQ2lyY2xl
IHsKLSAgYXR0cmlidXRlIGRvdWJsZSByOwotICBhdHRyaWJ1dGUgZG91YmxlIGN4OwotICBhdHRy
aWJ1dGUgZG91YmxlIGN5OwotICByZWFkb25seSBhdHRyaWJ1dGUgZG91YmxlIGNpcmN1bWZlcmVu
Y2U7Ci19OwotCi0vLyBFeHRyYWN0ZWQgZnJvbSBodHRwczovL2hleWNhbS5naXRodWIuaW8vd2Vi
aWRsLyNpZGwtYW5ub3RhdGVkLXR5cGVzIG9uIDIwMTctMTItMTUKLVtFeHBvc2VkPVdpbmRvd10K
LWludGVyZmFjZSBJIHsKLSAgICBhdHRyaWJ1dGUgW1hBdHRyXSAobG9uZyBvciBOb2RlKSBhdHRy
aWI7Ci19OwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvZ2VuZXJpYy53aWRsCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL2dlbmVyaWMud2lkbAkocmV2aXNpb24gMjUyODk2
KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvZ2VuZXJpYy53aWRsCShub25leGlzdGVudCkKQEAg
LTEsMTcgKzAsMCBAQAotaW50ZXJmYWNlIEZvbyB7Ci0gIFByb21pc2U8UHJvbWlzZTxzZXF1ZW5j
ZTxET01TdHJpbmc/Pj4+IGJhcigpOwotICByZWFkb25seSBhdHRyaWJ1dGUgUHJvbWlzZTxET01T
dHJpbmc+IGJhejsKLX07Ci0KLS8vIEV4dHJhY3RlZCBmcm9tIGh0dHBzOi8vc2xpZ2h0bHlvZmYu
Z2l0aHViLmlvL1NlcnZpY2VXb3JrZXIvc3BlYy9zZXJ2aWNlX3dvcmtlci8gb24gMjAxNC0wNS0w
OAotCi1pbnRlcmZhY2UgU2VydmljZVdvcmtlckNsaWVudHMgewotICBQcm9taXNlPENsaWVudD8+
IGdldFNlcnZpY2VkKCk7Ci0gIFByb21pc2U8YW55PiByZWxvYWRBbGwoKTsKLX07Ci0KLS8vIEV4
dHJhY3RlZCBmcm9tIGh0dHBzOi8vc2xpZ2h0bHlvZmYuZ2l0aHViLmlvL1NlcnZpY2VXb3JrZXIv
c3BlYy9zZXJ2aWNlX3dvcmtlci8gb24gMjAxNC0wNS0xMwotCi1pbnRlcmZhY2UgRmV0Y2hFdmVu
dCA6IEV2ZW50IHsKLSAgUHJvbWlzZTxhbnk+IGRlZmF1bHQoKTsKLX07CkluZGV4OiBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvc3ludGF4L2lkbC9nZXR0ZXItc2V0dGVyLndpZGwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3N5bnRheC9pZGwvZ2V0dGVyLXNldHRlci53aWRsCShyZXZpc2lvbiAyNTI4OTYpCisrKyBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvc3ludGF4L2lkbC9nZXR0ZXItc2V0dGVyLndpZGwJKG5vbmV4aXN0ZW50KQpAQCAtMSw3
ICswLDAgQEAKLS8vIEV4dHJhY3RlZCBmcm9tIGh0dHA6Ly9kZXYudzMub3JnLzIwMDYvd2ViYXBp
L1dlYklETC8gb24gMjAxMS0wNS0wNgotaW50ZXJmYWNlIERpY3Rpb25hcnkgewotICByZWFkb25s
eSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBwcm9wZXJ0eUNvdW50OwotCi0gIGdldHRlciBmbG9h
dCAoRE9NU3RyaW5nIHByb3BlcnR5TmFtZSk7Ci0gIHNldHRlciB2b2lkIChET01TdHJpbmcgcHJv
cGVydHlOYW1lLCBmbG9hdCBwcm9wZXJ0eVZhbHVlKTsKLX07ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvaWRlbnRpZmllci1xdWFsaWZpZWQt
bmFtZXMud2lkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9pZGVudGlmaWVy
LXF1YWxpZmllZC1uYW1lcy53aWRsCShyZXZpc2lvbiAyNTI4OTYpCisrKyBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3lu
dGF4L2lkbC9pZGVudGlmaWVyLXF1YWxpZmllZC1uYW1lcy53aWRsCShub25leGlzdGVudCkKQEAg
LTEsMzMgKzAsMCBAQAotLy8gRXh0cmFjdGVkIGZyb20gaHR0cDovL2Rldi53My5vcmcvMjAwNi93
ZWJhcGkvV2ViSURMLyBvbiAyMDExLTA1LTA2Ci0gIC8vIFR5cGVkZWYgaWRlbnRpZmllcjogIm51
bWJlciIKLSAgLy8gUXVhbGlmaWVkIG5hbWU6ICAgICI6OmZyYW1ld29yazo6bnVtYmVyIgotICB0
eXBlZGVmIGZsb2F0IG51bWJlcjsKLQotICAvLyBJbnRlcmZhY2UgaWRlbnRpZmllcjogIlN5c3Rl
bSIKLSAgLy8gUXVhbGlmaWVkIG5hbWU6ICAgICAgICI6OmZyYW1ld29yazo6U3lzdGVtIgotICBp
bnRlcmZhY2UgU3lzdGVtIHsKLQotICAgIC8vIE9wZXJhdGlvbiBpZGVudGlmaWVyOiAgICAgICAg
ICAiY3JlYXRlT2JqZWN0IgotICAgIC8vIE9wZXJhdGlvbiBhcmd1bWVudCBpZGVudGlmaWVyOiAi
aW50ZXJmYWNlIgotICAgIG9iamVjdCBjcmVhdGVPYmplY3QoRE9NU3RyaW5nIF9pbnRlcmZhY2Up
OwotCi0gICAgLy8gT3BlcmF0aW9uIGhhcyBubyBpZGVudGlmaWVyOyBpdCBkZWNsYXJlcyBhIGdl
dHRlci4KLSAgICBnZXR0ZXIgRE9NU3RyaW5nIChET01TdHJpbmcga2V5TmFtZSk7Ci0gIH07Ci0K
LQotICAgIC8vIEludGVyZmFjZSBpZGVudGlmaWVyOiAiVGV4dEZpZWxkIgotICAgIC8vIFF1YWxp
ZmllZCBuYW1lOiAgICAgICAiOjpmcmFtZXdvcms6Omd1aTo6VGV4dEZpZWxkIgotICAgIGludGVy
ZmFjZSBUZXh0RmllbGQgewotCi0gICAgICAvLyBBdHRyaWJ1dGUgaWRlbnRpZmllcjogImNvbnN0
IgotICAgICAgYXR0cmlidXRlIGJvb2xlYW4gX2NvbnN0OwotCi0gICAgICAvLyBBdHRyaWJ1dGUg
aWRlbnRpZmllcjogInZhbHVlIgotICAgICAgYXR0cmlidXRlIERPTVN0cmluZz8gX3ZhbHVlOwot
ICAgIH07Ci0KLWludGVyZmFjZSBGb29FdmVudFRhcmdldCB7Ci0gIC8vIEFyZ3VtZW50IG5hbWVz
IGFsbG93IHNvbWUgc2VsZWN0ZWQga2V5d29yZHMKLSAgdm9pZCBhZGRFdmVudExpc3RlbmVyKEV2
ZW50TGlzdGVuZXI/IGNhbGxiYWNrKTsKLX07CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9p
bXBsZW1lbnRzLndpZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvaW1wbGVt
ZW50cy53aWRsCShyZXZpc2lvbiAyNTI4OTYpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9pbXBs
ZW1lbnRzLndpZGwJKG5vbmV4aXN0ZW50KQpAQCAtMSwxNCArMCwwIEBACi0vLyBFeHRyYWN0ZWQg
ZnJvbSBodHRwOi8vZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJJREwvIG9uIDIwMTEtMDUtMDYK
LSAgaW50ZXJmYWNlIE5vZGUgewotICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBzaG9y
dCBub2RlVHlwZTsKLSAgICAvLyAuLi4KLSAgfTsKLQotICBpbnRlcmZhY2UgRXZlbnRUYXJnZXQg
ewotICAgIHZvaWQgYWRkRXZlbnRMaXN0ZW5lcihET01TdHJpbmcgdHlwZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgRXZlbnRMaXN0ZW5lciBsaXN0ZW5lciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgYm9vbGVhbiB1c2VDYXB0dXJlKTsKLSAgICAvLyAuLi4KLSAgfTsKLQotICBOb2Rl
IGltcGxlbWVudHMgRXZlbnRUYXJnZXQ7CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9pbmRl
eGVkLXByb3BlcnRpZXMud2lkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9p
bmRleGVkLXByb3BlcnRpZXMud2lkbAkocmV2aXNpb24gMjUyODk2KQorKysgTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5
bnRheC9pZGwvaW5kZXhlZC1wcm9wZXJ0aWVzLndpZGwJKG5vbmV4aXN0ZW50KQpAQCAtMSwxMiAr
MCwwIEBACi0vLyBFeHRyYWN0ZWQgZnJvbSBodHRwOi8vZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9X
ZWJJREwvIG9uIDIwMTEtMDUtMDYKLWludGVyZmFjZSBPcmRlcmVkTWFwIHsKLSAgcmVhZG9ubHkg
YXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgc2l6ZTsKLQotICBnZXR0ZXIgYW55IGdldEJ5SW5kZXgo
dW5zaWduZWQgbG9uZyBpbmRleCk7Ci0gIHNldHRlciB2b2lkIHNldEJ5SW5kZXgodW5zaWduZWQg
bG9uZyBpbmRleCwgYW55IHZhbHVlKTsKLSAgZGVsZXRlciB2b2lkIHJlbW92ZUJ5SW5kZXgodW5z
aWduZWQgbG9uZyBpbmRleCk7Ci0KLSAgZ2V0dGVyIGFueSBnZXQoRE9NU3RyaW5nIG5hbWUpOwot
ICBzZXR0ZXIgdm9pZCBzZXQoRE9NU3RyaW5nIG5hbWUsIGFueSB2YWx1ZSk7Ci0gIGRlbGV0ZXIg
dm9pZCByZW1vdmUoRE9NU3RyaW5nIG5hbWUpOwotfTsKSW5kZXg6IExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgv
aWRsL2luaGVyaXRzLWdldHRlci53aWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgv
aWRsL2luaGVyaXRzLWdldHRlci53aWRsCShyZXZpc2lvbiAyNTI4OTYpCisrKyBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
c3ludGF4L2lkbC9pbmhlcml0cy1nZXR0ZXIud2lkbAkobm9uZXhpc3RlbnQpCkBAIC0xLDIyICsw
LDAgQEAKLWludGVyZmFjZSBBbmltYWwgewotCi0gIC8vIEEgc2ltcGxlIGF0dHJpYnV0ZSB0aGF0
IGNhbiBiZSBzZXQgdG8gYW55IHN0cmluZyB2YWx1ZS4KLSAgcmVhZG9ubHkgYXR0cmlidXRlIERP
TVN0cmluZyBuYW1lOwotfTsKLQotaW50ZXJmYWNlIFBlcnNvbiA6IEFuaW1hbCB7Ci0KLSAgLy8g
QW4gYXR0cmlidXRlIHdob3NlIHZhbHVlIGNhbm5vdCBiZSBhc3NpZ25lZCB0by4KLSAgcmVhZG9u
bHkgYXR0cmlidXRlIHVuc2lnbmVkIHNob3J0IGFnZTsKLQotICAvLyBBbiBhdHRyaWJ1dGUgdGhh
dCBjYW4gcmFpc2UgYW4gZXhjZXB0aW9uIGlmIGl0IGlzIHNldCB0byBhbiBpbnZhbGlkIHZhbHVl
LgotICAvLyBJdHMgZ2V0dGVyIGJlaGF2aW9yIGlzIGluaGVyaXRlZCBmcm9tIEFuaW1hbCwgYW5k
IG5lZWQgbm90IGJlIHNwZWNpZmllZAotICAvLyB0aGUgZGVzY3JpcHRpb24gb2YgUGVyc29uLgot
ICBpbmhlcml0IGF0dHJpYnV0ZSBET01TdHJpbmcgbmFtZTsKLX07Ci0KLWludGVyZmFjZSBHaG9z
dCA6IFBlcnNvbiB7Ci0KLSAgLy8gQW4gYXR0cmlidXRlIHRoYXQgb25seSBpbmhlcml0cyB0aGUg
Z2V0dGVyIGJlaGF2aW9yCi0gIGluaGVyaXQgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBu
YW1lOwotfTsKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL2ludGVyZmFjZS1pbmhlcml0cy53
aWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL2ludGVyZmFjZS1pbmhlcml0
cy53aWRsCShyZXZpc2lvbiAyNTI4OTYpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9pbnRlcmZh
Y2UtaW5oZXJpdHMud2lkbAkobm9uZXhpc3RlbnQpCkBAIC0xLDEyICswLDAgQEAKLS8vIEV4dHJh
Y3RlZCBmcm9tIGh0dHA6Ly9kZXYudzMub3JnLzIwMDYvd2ViYXBpL1dlYklETC8gb24gMjAxMS0w
NS0wNgotaW50ZXJmYWNlIEFuaW1hbCB7Ci0gIGF0dHJpYnV0ZSBET01TdHJpbmcgbmFtZTsKLX07
Ci0KLWludGVyZmFjZSBIdW1hbiA6IEFuaW1hbCB7Ci0gIGF0dHJpYnV0ZSBEb2cgcGV0OwotfTsK
LQotaW50ZXJmYWNlIERvZyA6IEFuaW1hbCB7Ci0gIGF0dHJpYnV0ZSBIdW1hbiBvd25lcjsKLX07
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwv
aXRlcmFibGUud2lkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9pdGVyYWJs
ZS53aWRsCShyZXZpc2lvbiAyNTI4OTYpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9pdGVyYWJs
ZS53aWRsCShub25leGlzdGVudCkKQEAgLTEsMTEgKzAsMCBAQAotaW50ZXJmYWNlIEl0ZXJhYmxl
T25lIHsKLSAgaXRlcmFibGU8bG9uZz47Ci19OwotCi1pbnRlcmZhY2UgSXRlcmFibGVUd28gewot
ICBpdGVyYWJsZTxzaG9ydCwgZG91YmxlPz47Ci19OwotCi1pbnRlcmZhY2UgSXRlcmFibGVUaHJl
ZSB7Ci0gIGl0ZXJhYmxlPFtYQXR0cl0gbG9uZz47Ci19OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL2xlZ2FjeWl0ZXJhYmxlLndpZGwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvbGVnYWN5aXRlcmFibGUud2lkbAkocmV2
aXNpb24gMjUyODk2KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvbGVnYWN5aXRlcmFibGUud2lk
bAkobm9uZXhpc3RlbnQpCkBAIC0xLDMgKzAsMCBAQAotaW50ZXJmYWNlIExlZ2FjeUl0ZXJhYmxl
IHsKLSAgbGVnYWN5aXRlcmFibGU8bG9uZz47Ci19OwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9p
ZGwvbWFwbGlrZS53aWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL21hcGxp
a2Uud2lkbAkocmV2aXNpb24gMjUyODk2KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvbWFwbGlr
ZS53aWRsCShub25leGlzdGVudCkKQEAgLTEsMTMgKzAsMCBAQAotaW50ZXJmYWNlIE1hcExpa2Ug
ewotICBtYXBsaWtlPGxvbmcsIGZsb2F0PjsKLX07Ci0KLWludGVyZmFjZSBSZWFkT25seU1hcExp
a2UgewotICByZWFkb25seSBtYXBsaWtlPGxvbmcsIGZsb2F0PjsKLX07Ci0KLS8vIEV4dHJhY3Rl
ZCBmcm9tIGh0dHBzOi8vaGV5Y2FtLmdpdGh1Yi5pby93ZWJpZGwvI2lkbC10eXBlLWV4dGVuZGVk
LWF0dHJpYnV0ZS1hc3NvY2lhdGVkLXdpdGggb24gMjAxNy0wNy0wMQotCi1pbnRlcmZhY2UgSSB7
Ci0gICAgbWFwbGlrZTxbWEF0dHIyXSBET01TdHJpbmcsIFtYQXR0cjNdIGxvbmc+OwotfTsKSW5k
ZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL21peGluLndpZGwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3N5bnRheC9pZGwvbWl4aW4ud2lkbAkocmV2aXNpb24gMjUyODk2KQorKysgTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3N5bnRheC9pZGwvbWl4aW4ud2lkbAkobm9uZXhpc3RlbnQpCkBAIC0xLDEyICswLDAgQEAKLS8v
IEV4dHJhY3RlZCBmcm9tIGh0dHBzOi8vaGV5Y2FtLmdpdGh1Yi5pby93ZWJpZGwvI3VzaW5nLW1p
eGlucy1hbmQtcGFydGlhbHMgb24gMjAxNy0xMS0wMgotCi1pbnRlcmZhY2UgbWl4aW4gR2xvYmFs
Q3J5cHRvIHsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIENyeXB0byBjcnlwdG87Ci19OwotCi1XaW5k
b3cgaW5jbHVkZXMgR2xvYmFsQ3J5cHRvOwotV29ya2VyR2xvYmFsU2NvcGUgaW5jbHVkZXMgR2xv
YmFsQ3J5cHRvOwotCi1wYXJ0aWFsIGludGVyZmFjZSBtaXhpbiBXaW5kb3dPcldvcmtlckdsb2Jh
bFNjb3BlIHsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIENyeXB0byBjcnlwdG87Ci19OwpJbmRleDog
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3N5bnRheC9pZGwvbmFtZWRjb25zdHJ1Y3Rvci53aWRsCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC9zeW50YXgvaWRsL25hbWVkY29uc3RydWN0b3Iud2lkbAkocmV2aXNpb24gMjUy
ODk2KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvbmFtZWRjb25zdHJ1Y3Rvci53aWRsCShub25l
eGlzdGVudCkKQEAgLTEsNiArMCwwIEBACi0vLyBFeHRyYWN0ZWQgZnJvbSBodHRwOi8vZGV2Lncz
Lm9yZy8yMDA2L3dlYmFwaS9XZWJJREwvIG9uIDIwMTEtMDUtMDYKLVtOYW1lZENvbnN0cnVjdG9y
PUF1ZGlvLAotIE5hbWVkQ29uc3RydWN0b3I9QXVkaW8oRE9NU3RyaW5nIHNyYyldCi1pbnRlcmZh
Y2UgSFRNTEF1ZGlvRWxlbWVudCA6IEhUTUxNZWRpYUVsZW1lbnQgewotICAvLyAuLi4KLX07Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvbmFt
ZXNwYWNlLndpZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvbmFtZXNwYWNl
LndpZGwJKHJldmlzaW9uIDI1Mjg5NikKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL25hbWVzcGFj
ZS53aWRsCShub25leGlzdGVudCkKQEAgLTEsMTAgKzAsMCBAQAotLy8gRXh0cmFjdGVkIGZyb20g
V2ViIElETCBlZGl0b3JzIGRyYWZ0IE1hcmNoIDI3IDIwMTcKLW5hbWVzcGFjZSBWZWN0b3JVdGls
cyB7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSBWZWN0b3IgdW5pdDsKLSAgZG91YmxlIGRvdFByb2R1
Y3QoVmVjdG9yIHgsIFZlY3RvciB5KTsKLSAgVmVjdG9yIGNyb3NzUHJvZHVjdChWZWN0b3IgeCwg
VmVjdG9yIHkpOwotfTsKLQotcGFydGlhbCBuYW1lc3BhY2UgU29tZU5hbWVzcGFjZSB7Ci0gIC8q
IG5hbWVzcGFjZV9tZW1iZXJzLi4uICovCi19OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
SW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL25vaW50ZXJmYWNlb2JqZWN0LndpZGwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvbm9pbnRlcmZhY2VvYmplY3Qud2lkbAkocmV2
aXNpb24gMjUyODk2KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvbm9pbnRlcmZhY2VvYmplY3Qu
d2lkbAkobm9uZXhpc3RlbnQpCkBAIC0xLDUgKzAsMCBAQAotLy8gRXh0cmFjdGVkIGZyb20gaHR0
cDovL2Rldi53My5vcmcvMjAwNi93ZWJhcGkvV2ViSURMLyBvbiAyMDExLTA1LTA2Ci1bTm9JbnRl
cmZhY2VPYmplY3RdCi1pbnRlcmZhY2UgUXVlcnkgewotICBhbnkgbG9va3VwRW50cnkodW5zaWdu
ZWQgbG9uZyBrZXkpOwotfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvc3ludGF4L2lkbC9udWxsYWJsZS53aWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9z
eW50YXgvaWRsL251bGxhYmxlLndpZGwJKHJldmlzaW9uIDI1Mjg5NikKKysrIExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9z
eW50YXgvaWRsL251bGxhYmxlLndpZGwJKG5vbmV4aXN0ZW50KQpAQCAtMSw5ICswLDAgQEAKLS8v
IEV4dHJhY3RlZCBmcm9tIGh0dHA6Ly9kZXYudzMub3JnLzIwMDYvd2ViYXBpL1dlYklETC8gb24g
MjAxMS0wNS0wNgotaW50ZXJmYWNlIE15Q29uc3RhbnRzIHsKLSAgY29uc3QgYm9vbGVhbj8gQVJF
X1dFX1RIRVJFX1lFVCA9IGZhbHNlOwotfTsKLQotaW50ZXJmYWNlIE5vZGUgewotICByZWFkb25s
eSBhdHRyaWJ1dGUgRE9NU3RyaW5nPyBuYW1lc3BhY2VVUkk7Ci0gIC8vIC4uLgotfTsKXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9udWxsYWJs
ZW9iamVjdHMud2lkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9udWxsYWJs
ZW9iamVjdHMud2lkbAkocmV2aXNpb24gMjUyODk2KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwv
bnVsbGFibGVvYmplY3RzLndpZGwJKG5vbmV4aXN0ZW50KQpAQCAtMSwxMyArMCwwIEBACi0vLyBF
eHRyYWN0ZWQgZnJvbSBXZWJJREwgc3BlYyAyMDExLTA1LTIzCi0KLWludGVyZmFjZSBBIHsKLSAg
Ly8gLi4uCi19OwotaW50ZXJmYWNlIEIgewotICAvLyAuLi4KLX07Ci1pbnRlcmZhY2UgQyB7Ci0g
IHZvaWQgZihBPyB4KTsKLSAgdm9pZCBmKEI/IHgpOwotCi19OwpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL29wZXJhdGlvbi1vcHRpb25hbC1h
cmcud2lkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9vcGVyYXRpb24tb3B0
aW9uYWwtYXJnLndpZGwJKHJldmlzaW9uIDI1Mjg5NikKKysrIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRs
L29wZXJhdGlvbi1vcHRpb25hbC1hcmcud2lkbAkobm9uZXhpc3RlbnQpCkBAIC0xLDQgKzAsMCBA
QAotLy8gRXh0cmFjdGVkIGZyb20gaHR0cDovL2Rldi53My5vcmcvMjAwNi93ZWJhcGkvV2ViSURM
LyBvbiAyMDExLTA1LTA2Ci1pbnRlcmZhY2UgQ29sb3JDcmVhdG9yIHsKLSAgb2JqZWN0IGNyZWF0
ZUNvbG9yKGZsb2F0IHYxLCBmbG9hdCB2MiwgZmxvYXQgdjMsIG9wdGlvbmFsIGZsb2F0IGFscGhh
ID0gMy41KTsKLX07ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3N5bnRheC9pZGwvb3ZlcmxvYWRpbmcud2lkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3lu
dGF4L2lkbC9vdmVybG9hZGluZy53aWRsCShyZXZpc2lvbiAyNTI4OTYpCisrKyBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
c3ludGF4L2lkbC9vdmVybG9hZGluZy53aWRsCShub25leGlzdGVudCkKQEAgLTEsMjAgKzAsMCBA
QAotLy8gRXh0cmFjdGVkIGZyb20gaHR0cDovL2Rldi53My5vcmcvMjAwNi93ZWJhcGkvV2ViSURM
LyBvbiAyMDExLTA1LTA2Ci1pbnRlcmZhY2UgQSB7Ci0gIC8vIC4uLgotfTsKLQotaW50ZXJmYWNl
IEIgewotICAvLyAuLi4KLX07Ci0KLWludGVyZmFjZSBDIHsKLSAgdm9pZCBmKEEgeCk7Ci0gIHZv
aWQgZihCIHgpOwotfTsKLQotaW50ZXJmYWNlIEQgewotICAvKiBmMSAqLyB2b2lkIGYoRE9NU3Ry
aW5nIGEpOwotICAvKiBmMiAqLyB2b2lkIGYoW0FsbG93QW55XSBET01TdHJpbmcgYSwgRE9NU3Ry
aW5nIGIsIGZsb2F0Li4uIGMpOwotICAvKiBmMyAqLyB2b2lkIGYoKTsKLSAgLyogZjQgKi8gdm9p
ZCBmKGxvbmcgYSwgRE9NU3RyaW5nIGIsIG9wdGlvbmFsIERPTVN0cmluZyBjLCBmbG9hdC4uLiBk
KTsKLX07CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9vdmVycmlkZWJ1aWx0aW5zLndpZGwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvb3ZlcnJpZGVidWlsdGlucy53aWRs
CShyZXZpc2lvbiAyNTI4OTYpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9vdmVycmlkZWJ1aWx0
aW5zLndpZGwJKG5vbmV4aXN0ZW50KQpAQCAtMSw2ICswLDAgQEAKLS8vIEV4dHJhY3RlZCBmcm9t
IGh0dHA6Ly9kZXYudzMub3JnLzIwMDYvd2ViYXBpL1dlYklETC8gb24gMjAxMS0wNS0wNgotW092
ZXJyaWRlQnVpbHRpbnNdCi1pbnRlcmZhY2UgU3RyaW5nTWFwMiB7Ci0gIHJlYWRvbmx5IGF0dHJp
YnV0ZSB1bnNpZ25lZCBsb25nIGxlbmd0aDsKLSAgZ2V0dGVyIERPTVN0cmluZyBsb29rdXAoRE9N
U3RyaW5nIGtleSk7Ci19OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC9zeW50YXgvaWRsL3BhcnRpYWwtaW50ZXJmYWNlLndpZGwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L3N5bnRheC9pZGwvcGFydGlhbC1pbnRlcmZhY2Uud2lkbAkocmV2aXNpb24gMjUyODk2
KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvcGFydGlhbC1pbnRlcmZhY2Uud2lkbAkobm9uZXhp
c3RlbnQpCkBAIC0xLDcgKzAsMCBAQAotaW50ZXJmYWNlIEZvbyB7Ci0gIGF0dHJpYnV0ZSBET01T
dHJpbmcgYmFyOwotfTsKLQotcGFydGlhbCBpbnRlcmZhY2UgRm9vIHsKLSAgYXR0cmlidXRlIERP
TVN0cmluZyBxdXV4OwotfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvc3ludGF4L2lkbC9wcmltaXRpdmVzLndpZGwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3N5bnRheC9pZGwvcHJpbWl0aXZlcy53aWRsCShyZXZpc2lvbiAyNTI4OTYpCisrKyBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvc3ludGF4L2lkbC9wcmltaXRpdmVzLndpZGwJKG5vbmV4aXN0ZW50KQpAQCAtMSwxOSArMCww
IEBACi1pbnRlcmZhY2UgUHJpbWl0aXZlcyB7Ci0gIGF0dHJpYnV0ZSBib29sZWFuIHRydXRoOwot
ICBhdHRyaWJ1dGUgYnl0ZSBjaGFyYWN0ZXI7Ci0gIGF0dHJpYnV0ZSBvY3RldCB2YWx1ZTsKLSAg
YXR0cmlidXRlIHNob3J0IG51bWJlcjsKLSAgYXR0cmlidXRlIHVuc2lnbmVkIHNob3J0IHBvc2l0
aXZlOwotICBhdHRyaWJ1dGUgbG9uZyBiaWc7Ci0gIGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGJp
Z3Bvc2l0aXZlOwotICBhdHRyaWJ1dGUgbG9uZyBsb25nIGJpZ2JpZzsKLSAgYXR0cmlidXRlICB1
bnNpZ25lZCBsb25nIGxvbmcgYmlnYmlncG9zaXRpdmU7Ci0gIGF0dHJpYnV0ZSBmbG9hdCByZWFs
OwotICBhdHRyaWJ1dGUgZG91YmxlIGJpZ3JlYWw7Ci0gIGF0dHJpYnV0ZSB1bnJlc3RyaWN0ZWQg
ZmxvYXQgcmVhbHdpdGhpbmZpbml0eTsKLSAgYXR0cmlidXRlIHVucmVzdHJpY3RlZCBkb3VibGUg
YmlncmVhbHdpdGhpbmZpbml0eTsKLSAgYXR0cmlidXRlIERPTVN0cmluZyBzdHJpbmc7Ci0gIGF0
dHJpYnV0ZSBCeXRlU3RyaW5nIGJ5dGVzOwotICBhdHRyaWJ1dGUgRGF0ZSBkYXRlOwotICBhdHRy
aWJ1dGUgUmVnRXhwIHJlZ2V4cDsKLX07CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9wcm9t
aXNlLXZvaWQud2lkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9wcm9taXNl
LXZvaWQud2lkbAkocmV2aXNpb24gMjUyODk2KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvcHJv
bWlzZS12b2lkLndpZGwJKG5vbmV4aXN0ZW50KQpAQCAtMSwzICswLDAgQEAKLWludGVyZmFjZSBD
YXQgewotICAgIGF0dHJpYnV0ZSBQcm9taXNlPHZvaWQ+IG1lb3c7Ci19OwpJbmRleDogTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3N5bnRheC9pZGwvcHJvdG90eXBlcm9vdC53aWRsCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC9zeW50YXgvaWRsL3Byb3RvdHlwZXJvb3Qud2lkbAkocmV2aXNpb24gMjUyODk2KQorKysgTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L3N5bnRheC9pZGwvcHJvdG90eXBlcm9vdC53aWRsCShub25leGlzdGVudCkKQEAgLTEs
NSArMCwwIEBACi0vLyBFeHRyYWN0ZWQgZnJvbSBodHRwOi8vZGV2LnczLm9yZy8yMDA2L3dlYmFw
aS9XZWJJREwvIG9uIDIwMTEtMDUtMDYKLVtQcm90b3R5cGVSb290XQotaW50ZXJmYWNlIE5vZGUg
ewotICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgc2hvcnQgbm9kZVR5cGU7Ci19OwpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL3B1dGZv
cndhcmRzLndpZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvcHV0Zm9yd2Fy
ZHMud2lkbAkocmV2aXNpb24gMjUyODk2KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvcHV0Zm9y
d2FyZHMud2lkbAkobm9uZXhpc3RlbnQpCkBAIC0xLDUgKzAsMCBAQAotLy8gRXh0cmFjdGVkIGZy
b20gaHR0cDovL2Rldi53My5vcmcvMjAwNi93ZWJhcGkvV2ViSURMLyBvbiAyMDExLTA1LTA2Ci1p
bnRlcmZhY2UgUGVyc29uIHsKLSAgW1B1dEZvcndhcmRzPWZ1bGxdIHJlYWRvbmx5IGF0dHJpYnV0
ZSBOYW1lIG5hbWU7Ci0gIGF0dHJpYnV0ZSB1bnNpZ25lZCBzaG9ydCBhZ2U7Ci19OwpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL3JlY29yZC53
aWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL3JlY29yZC53aWRsCShyZXZp
c2lvbiAyNTI4OTYpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9yZWNvcmQud2lkbAkobm9uZXhp
c3RlbnQpCkBAIC0xLDkgKzAsMCBAQAotW0NvbnN0cnVjdG9yKHJlY29yZDxVU1ZTdHJpbmcsIFVT
VlN0cmluZz4gaW5pdCldCi1pbnRlcmZhY2UgRm9vIHsKLSAgdm9pZCBmb28oc2VxdWVuY2U8cmVj
b3JkPEJ5dGVTdHJpbmcsIGFueT4+IHBhcmFtKTsKLSAgcmVjb3JkPERPTVN0cmluZywgKGZsb2F0
IG9yIERPTVN0cmluZyk/PiBiYXIoKTsKLX07Ci0KLWludGVyZmFjZSBCYXIgewotICByZWNvcmQ8
RE9NU3RyaW5nLCBbWEF0dHJdIGZsb2F0PiBiYXIoKTsKLX07CkluZGV4OiBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3lu
dGF4L2lkbC9yZWctb3BlcmF0aW9ucy53aWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50
YXgvaWRsL3JlZy1vcGVyYXRpb25zLndpZGwJKHJldmlzaW9uIDI1Mjg5NikKKysrIExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC9zeW50YXgvaWRsL3JlZy1vcGVyYXRpb25zLndpZGwJKG5vbmV4aXN0ZW50KQpAQCAtMSwxNSAr
MCwwIEBACi0vLyBFeHRyYWN0ZWQgZnJvbSBodHRwOi8vZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9X
ZWJJREwvIG9uIDIwMTEtMDUtMDYKLWludGVyZmFjZSBEaW1lbnNpb25zIHsKLSAgYXR0cmlidXRl
IHVuc2lnbmVkIGxvbmcgd2lkdGg7Ci0gIGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGhlaWdodDsK
LX07Ci0KLWludGVyZmFjZSBCdXR0b24gewotCi0gIC8vIEFuIG9wZXJhdGlvbiB0aGF0IHRha2Vz
IG5vIGFyZ3VtZW50cywgcmV0dXJucyBhIGJvb2xlYW4KLSAgYm9vbGVhbiBpc01vdXNlT3Zlcigp
OwotCi0gIC8vIE92ZXJsb2FkZWQgb3BlcmF0aW9ucy4KLSAgdm9pZCBzZXREaW1lbnNpb25zKERp
bWVuc2lvbnMgc2l6ZSk7Ci0gIHZvaWQgc2V0RGltZW5zaW9ucyh1bnNpZ25lZCBsb25nIHdpZHRo
LCB1bnNpZ25lZCBsb25nIGhlaWdodCk7Ci19OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
SW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL3JlcGxhY2VhYmxlLndpZGwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvcmVwbGFjZWFibGUud2lkbAkocmV2aXNpb24gMjUyODk2
KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvcmVwbGFjZWFibGUud2lkbAkobm9uZXhpc3RlbnQp
CkBAIC0xLDUgKzAsMCBAQAotLy8gRXh0cmFjdGVkIGZyb20gaHR0cDovL2Rldi53My5vcmcvMjAw
Ni93ZWJhcGkvV2ViSURMLyBvbiAyMDExLTA1LTA2Ci1pbnRlcmZhY2UgQ291bnRlciB7Ci0gIFtS
ZXBsYWNlYWJsZV0gcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgdmFsdWU7Ci0gIHZv
aWQgaW5jcmVtZW50KCk7Ci19OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC9zeW50YXgvaWRsL3NlcXVlbmNlLndpZGwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3N5bnRheC9pZGwvc2VxdWVuY2Uud2lkbAkocmV2aXNpb24gMjUyODk2KQorKysgTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3N5bnRheC9pZGwvc2VxdWVuY2Uud2lkbAkobm9uZXhpc3RlbnQpCkBAIC0xLDEzICswLDAgQEAK
LS8vIEV4dHJhY3RlZCBmcm9tIGh0dHA6Ly9kZXYudzMub3JnLzIwMDYvd2ViYXBpL1dlYklETC8g
b24gMjAxMS0wNS0wNgotLy8gZWRpdGVkIHRvIHJlbW92ZSBzZXF1ZW5jZSBhcyBhdHRyaWJ1dGVz
LCBub3cgaW52YWxpZAotaW50ZXJmYWNlIENhbnZhcyB7Ci0gIHZvaWQgZHJhd1BvbHlnb24oc2Vx
dWVuY2U8ZmxvYXQ+IGNvb3JkaW5hdGVzKTsKLSAgc2VxdWVuY2U8ZmxvYXQ+IGdldEluZmxlY3Rp
b25Qb2ludHMoKTsKLSAgLy8gLi4uCi19OwotCi0vLyBFeHRyYWN0ZWQgZnJvbSBodHRwczovL2hl
eWNhbS5naXRodWIuaW8vd2ViaWRsLyNpZGwtdHlwZS1leHRlbmRlZC1hdHRyaWJ1dGUtYXNzb2Np
YXRlZC13aXRoIG9uIDIwMTctMDctMDEKLQotaW50ZXJmYWNlIEkgewotICAgIHZvaWQgZjEoc2Vx
dWVuY2U8W1hBdHRyXSBsb25nPiBhcmcpOwotfTsKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRs
L3NldGxpa2Uud2lkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9zZXRsaWtl
LndpZGwJKHJldmlzaW9uIDI1Mjg5NikKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL3NldGxpa2Uu
d2lkbAkobm9uZXhpc3RlbnQpCkBAIC0xLDExICswLDAgQEAKLWludGVyZmFjZSBTZXRMaWtlIHsK
LSAgc2V0bGlrZTxsb25nPjsKLX07Ci0KLWludGVyZmFjZSBSZWFkT25seVNldExpa2UgewotICBy
ZWFkb25seSBzZXRsaWtlPGxvbmc+OwotfTsKLQotaW50ZXJmYWNlIFNldExpa2VFeHQgewotICBz
ZXRsaWtlPFtYQXR0cl0gbG9uZz47Ci19OwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvc3Rh
dGljLndpZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvc3RhdGljLndpZGwJ
KHJldmlzaW9uIDI1Mjg5NikKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL3N0YXRpYy53aWRsCShu
b25leGlzdGVudCkKQEAgLTEsMTEgKzAsMCBAQAotLy8gRXh0cmFjdGVkIGZyb20gaHR0cDovL2Rl
di53My5vcmcvMjAwNi93ZWJhcGkvV2ViSURMLyBvbiAyMDExLTA1LTA2Ci1pbnRlcmZhY2UgUG9p
bnQgeyAvKiAuLi4gKi8gfTsKLQotaW50ZXJmYWNlIENpcmNsZSB7Ci0gIGF0dHJpYnV0ZSBmbG9h
dCBjeDsKLSAgYXR0cmlidXRlIGZsb2F0IGN5OwotICBhdHRyaWJ1dGUgZmxvYXQgcmFkaXVzOwot
Ci0gIHN0YXRpYyByZWFkb25seSBhdHRyaWJ1dGUgbG9uZyB0cmlhbmd1bGF0aW9uQ291bnQ7Ci0g
IHN0YXRpYyBQb2ludCB0cmlhbmd1bGF0ZShDaXJjbGUgYzEsIENpcmNsZSBjMiwgQ2lyY2xlIGMz
KTsKLX07ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRh
eC9pZGwvc3RyaW5naWZpZXItYXR0cmlidXRlLndpZGwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3N5bnRheC9pZGwvc3RyaW5naWZpZXItYXR0cmlidXRlLndpZGwJKHJldmlzaW9uIDI1Mjg5NikK
KysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL3N0cmluZ2lmaWVyLWF0dHJpYnV0ZS53aWRsCShub25l
eGlzdGVudCkKQEAgLTEsNiArMCwwIEBACi0vLyBFeHRyYWN0ZWQgZnJvbSBodHRwOi8vZGV2Lncz
Lm9yZy8yMDA2L3dlYmFwaS9XZWJJREwvIG9uIDIwMTEtMDUtMDYKLVtDb25zdHJ1Y3Rvcl0KLWlu
dGVyZmFjZSBTdHVkZW50IHsKLSAgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgaWQ7Ci0gIHN0cmlu
Z2lmaWVyIGF0dHJpYnV0ZSBET01TdHJpbmcgbmFtZTsKLX07ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvc3RyaW5naWZpZXItY3VzdG9tLndp
ZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvc3RyaW5naWZpZXItY3VzdG9t
LndpZGwJKHJldmlzaW9uIDI1Mjg5NikKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL3N0cmluZ2lm
aWVyLWN1c3RvbS53aWRsCShub25leGlzdGVudCkKQEAgLTEsOSArMCwwIEBACi0vLyBFeHRyYWN0
ZWQgZnJvbSBodHRwOi8vZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJJREwvIG9uIDIwMTEtMDUt
MDYKLVtDb25zdHJ1Y3Rvcl0KLWludGVyZmFjZSBTdHVkZW50IHsKLSAgYXR0cmlidXRlIHVuc2ln
bmVkIGxvbmcgaWQ7Ci0gIGF0dHJpYnV0ZSBET01TdHJpbmc/IGZhbWlseU5hbWU7Ci0gIGF0dHJp
YnV0ZSBET01TdHJpbmcgZ2l2ZW5OYW1lOwotCi0gIHN0cmluZ2lmaWVyIERPTVN0cmluZyAoKTsK
LX07ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9p
ZGwvc3RyaW5naWZpZXIud2lkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9z
dHJpbmdpZmllci53aWRsCShyZXZpc2lvbiAyNTI4OTYpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lk
bC9zdHJpbmdpZmllci53aWRsCShub25leGlzdGVudCkKQEAgLTEsOCArMCwwIEBACi0vLyBFeHRy
YWN0ZWQgZnJvbSBodHRwOi8vZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJJREwvIG9uIDIwMTEt
MDUtMDYKLWludGVyZmFjZSBBIHsKLSAgc3RyaW5naWZpZXIgRE9NU3RyaW5nICgpOwotfTsKLQot
aW50ZXJmYWNlIEIgewotICBzdHJpbmdpZmllcjsKLX07ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvdHJlYXRhc251bGwud2lkbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC90cmVhdGFzbnVsbC53aWRsCShyZXZpc2lvbiAy
NTI4OTYpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC90cmVhdGFzbnVsbC53aWRsCShub25leGlz
dGVudCkKQEAgLTEsNyArMCwwIEBACi0vLyBFeHRyYWN0ZWQgZnJvbSBodHRwOi8vZGV2LnczLm9y
Zy8yMDA2L3dlYmFwaS9XZWJJREwvIG9uIDIwMTEtMDUtMDYKLWludGVyZmFjZSBEb2cgewotICBh
dHRyaWJ1dGUgRE9NU3RyaW5nIG5hbWU7Ci0gIGF0dHJpYnV0ZSBET01TdHJpbmcgb3duZXI7Ci0K
LSAgYm9vbGVhbiBpc01lbWJlck9mQnJlZWQoW1RyZWF0TnVsbEFzPUVtcHR5U3RyaW5nXSBET01T
dHJpbmcgYnJlZWROYW1lKTsKLX07ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDog
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3N5bnRheC9pZGwvdHJlYXRhc3VuZGVmaW5lZC53aWRsCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC9zeW50YXgvaWRsL3RyZWF0YXN1bmRlZmluZWQud2lkbAkocmV2aXNpb24gMjUy
ODk2KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvdHJlYXRhc3VuZGVmaW5lZC53aWRsCShub25l
eGlzdGVudCkKQEAgLTEsNyArMCwwIEBACi0vLyBFeHRyYWN0ZWQgZnJvbSBodHRwOi8vZGV2Lncz
Lm9yZy8yMDA2L3dlYmFwaS9XZWJJREwvIG9uIDIwMTEtMDUtMDYKLWludGVyZmFjZSBDYXQgewot
ICBhdHRyaWJ1dGUgRE9NU3RyaW5nIG5hbWU7Ci0gIGF0dHJpYnV0ZSBET01TdHJpbmcgb3duZXI7
Ci0KLSAgYm9vbGVhbiBpc01lbWJlck9mQnJlZWQoW1RyZWF0VW5kZWZpbmVkQXM9RW1wdHlTdHJp
bmddIERPTVN0cmluZyBicmVlZE5hbWUpOwotfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC90eXBlZGVmLXVuaW9uLndpZGwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvdHlwZWRlZi11bmlvbi53aWRsCShyZXZpc2lvbiAy
NTI4OTYpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC90eXBlZGVmLXVuaW9uLndpZGwJKG5vbmV4
aXN0ZW50KQpAQCAtMSw0ICswLDAgQEAKLSAgdHlwZWRlZiAoSW1hZ2VEYXRhIG9yCi0gICAgICAg
ICAgIEhUTUxJbWFnZUVsZW1lbnQgb3IKLSAgICAgICAgICAgSFRNTENhbnZhc0VsZW1lbnQgb3IK
LSAgICAgICAgICAgSFRNTFZpZGVvRWxlbWVudCkgVGV4SW1hZ2VTb3VyY2U7CkluZGV4OiBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvc3ludGF4L2lkbC90eXBlZGVmLndpZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5
bnRheC9pZGwvdHlwZWRlZi53aWRsCShyZXZpc2lvbiAyNTI4OTYpCisrKyBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3lu
dGF4L2lkbC90eXBlZGVmLndpZGwJKG5vbmV4aXN0ZW50KQpAQCAtMSwyMiArMCwwIEBACi0vLyBF
eHRyYWN0ZWQgZnJvbSBodHRwOi8vZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJJREwvIG9uIDIw
MTEtMDUtMDYKLSAgICAgIGludGVyZmFjZSBQb2ludCB7Ci0gICAgICAgIGF0dHJpYnV0ZSBmbG9h
dCB4OwotICAgICAgICBhdHRyaWJ1dGUgZmxvYXQgeTsKLSAgICAgIH07Ci0KLSAgICAgIHR5cGVk
ZWYgc2VxdWVuY2U8UG9pbnQ+IFBvaW50U2VxdWVuY2U7Ci0KLSAgICAgIGludGVyZmFjZSBSZWN0
IHsKLSAgICAgICAgYXR0cmlidXRlIFBvaW50IHRvcGxlZnQ7Ci0gICAgICAgIGF0dHJpYnV0ZSBQ
b2ludCBib3R0b21yaWdodDsKLSAgICAgIH07Ci0KLSAgaW50ZXJmYWNlIFdpZGdldCB7Ci0KLSAg
ICByZWFkb25seSBhdHRyaWJ1dGUgUmVjdCBib3VuZHM7Ci0KLSAgICBib29sZWFuIHBvaW50V2l0
aGluQm91bmRzKFBvaW50IHApOwotICAgIGJvb2xlYW4gYWxsUG9pbnRzV2l0aGluQm91bmRzKFBv
aW50U2VxdWVuY2UgcHMpOwotICB9OwotCi0gIHR5cGVkZWYgW0NsYW1wXSBvY3RldCB2YWx1ZTsK
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC90
eXBlc3VmZml4ZXMud2lkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC90eXBl
c3VmZml4ZXMud2lkbAkocmV2aXNpb24gMjUyODk2KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwv
dHlwZXN1ZmZpeGVzLndpZGwJKG5vbmV4aXN0ZW50KQpAQCAtMSwzICswLDAgQEAKLWludGVyZmFj
ZSBTdWZmaXhlcyB7Ci0gIHZvaWQgdGVzdChzZXF1ZW5jZTxET01TdHJpbmc/Pj8gZm9vKTsKLX07
CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC91bmlvbnR5cGUud2lkbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC91bmlvbnR5cGUud2lkbAkocmV2aXNpb24gMjUyODk2KQor
KysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvdW5pb250eXBlLndpZGwJKG5vbmV4aXN0ZW50KQpAQCAt
MSw0ICswLDAgQEAKLWludGVyZmFjZSBVbmlvbiB7Ci0gYXR0cmlidXRlIChmbG9hdCBvciAoRGF0
ZSBvciBFdmVudCkgb3IgKE5vZGUgb3IgRE9NU3RyaW5nKT8pIHRlc3Q7Ci0gYXR0cmlidXRlIChb
RW5mb3JjZVJhbmdlXSBsb25nIG9yIERhdGUpIHRlc3QyOwotfTsKXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC92YXJpYWRpYy1vcGVyYXRpb25z
LndpZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvdmFyaWFkaWMtb3BlcmF0
aW9ucy53aWRsCShyZXZpc2lvbiAyNTI4OTYpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC92YXJp
YWRpYy1vcGVyYXRpb25zLndpZGwJKG5vbmV4aXN0ZW50KQpAQCAtMSw3ICswLDAgQEAKLS8vIEV4
dHJhY3RlZCBmcm9tIGh0dHA6Ly9kZXYudzMub3JnLzIwMDYvd2ViYXBpL1dlYklETC8gb24gMjAx
MS0wNS0wNgotaW50ZXJmYWNlIEludGVnZXJTZXQgewotICByZWFkb25seSBhdHRyaWJ1dGUgdW5z
aWduZWQgbG9uZyBjYXJkaW5hbGl0eTsKLQotICB2b2lkIHVuaW9uKGxvbmcuLi4gaW50cyk7Ci0g
IHZvaWQgaW50ZXJzZWN0aW9uKGxvbmcuLi4gaW50cyk7Ci19OwpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL3czYy1pbXBvcnQubG9nCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL3czYy1pbXBvcnQubG9nCShyZXZpc2lvbiAy
NTI4OTYpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC93M2MtaW1wb3J0LmxvZwkobm9uZXhpc3Rl
bnQpCkBAIC0xLDY4ICswLDAgQEAKLVRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGlt
cG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgotRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0
cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24g
dGhlIFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93
cHQKLQotVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJL
aXQgdG8gcmVpbXBvcnQKLQotRG8gTk9UIG1vZGlmeSBvciByZW1vdmUgdGhpcyBmaWxlLgotCi0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0KLVByb3BlcnRpZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKLU5v
bmUKLVByb3BlcnR5IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgotTm9uZQotLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tCi1MaXN0IG9mIGZpbGVzOgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL2FsbG93
YW55LndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9hdHRyaWJ1dGVzLndpZGwKLS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvc3ludGF4L2lkbC9jYWxsYmFjay53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvY29uc3Rh
bnRzLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9jb25zdHJ1Y3Rvci53aWRsCi0vTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3N5bnRheC9pZGwvZGljdGlvbmFyeS1pbmhlcml0cy53aWRsCi0vTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRh
eC9pZGwvZGljdGlvbmFyeS53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvZG9jdW1lbnRhdGlv
bi1kb3Mud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL2RvY3VtZW50YXRpb24ud2lkbAotL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC9zeW50YXgvaWRsL2VudW0ud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL2VxdWl2
YWxlbnQtZGVjbC53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvZXh0ZW5kZWQtYXR0cmlidXRl
cy53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvZ2VuZXJpYy53aWRsCi0vTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5
bnRheC9pZGwvZ2V0dGVyLXNldHRlci53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvaWRlbnRp
Zmllci1xdWFsaWZpZWQtbmFtZXMud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL2ltcGxlbWVu
dHMud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL2luZGV4ZWQtcHJvcGVydGllcy53aWRsCi0v
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3N5bnRheC9pZGwvaW5oZXJpdHMtZ2V0dGVyLndpZGwKLS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3lu
dGF4L2lkbC9pbnRlcmZhY2UtaW5oZXJpdHMud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL2l0
ZXJhYmxlLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9sZWdhY3lpdGVyYWJsZS53aWRsCi0v
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3N5bnRheC9pZGwvbWFwbGlrZS53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwv
bWl4aW4ud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL25hbWVkY29uc3RydWN0b3Iud2lkbAot
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC9zeW50YXgvaWRsL25hbWVzcGFjZS53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9p
ZGwvbm9pbnRlcmZhY2VvYmplY3Qud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL251bGxhYmxl
LndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9udWxsYWJsZW9iamVjdHMud2lkbAotL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC9zeW50YXgvaWRsL29wZXJhdGlvbi1vcHRpb25hbC1hcmcud2lkbAotL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9z
eW50YXgvaWRsL292ZXJsb2FkaW5nLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9vdmVycmlk
ZWJ1aWx0aW5zLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9wYXJ0aWFsLWludGVyZmFjZS53
aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvcHJpbWl0aXZlcy53aWRsCi0vTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5
bnRheC9pZGwvcHJvbWlzZS12b2lkLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9wcm90b3R5
cGVyb290LndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9wdXRmb3J3YXJkcy53aWRsCi0vTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L3N5bnRheC9pZGwvcmVjb3JkLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9yZWct
b3BlcmF0aW9ucy53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvcmVwbGFjZWFibGUud2lkbAot
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC9zeW50YXgvaWRsL3NlcXVlbmNlLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lk
bC9zZXRsaWtlLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9zdGF0aWMud2lkbAotL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC9zeW50YXgvaWRsL3N0cmluZ2lmaWVyLWF0dHJpYnV0ZS53aWRsCi0vTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5
bnRheC9pZGwvc3RyaW5naWZpZXItY3VzdG9tLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9z
dHJpbmdpZmllci53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvdHJlYXRhc251bGwud2lkbAot
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC9zeW50YXgvaWRsL3RyZWF0YXN1bmRlZmluZWQud2lkbAotL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9z
eW50YXgvaWRsL3R5cGVkZWYtdW5pb24ud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL3R5cGVk
ZWYud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL3R5cGVzdWZmaXhlcy53aWRsCi0vTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3N5bnRheC9pZGwvdW5pb250eXBlLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC92YXJp
YWRpYy1vcGVyYXRpb25zLndpZGwKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9hbGxvd2Fu
eS5qc29uCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9hbGxvd2FueS5qc29u
CShyZXZpc2lvbiAyNTI4OTYpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vYWxsb3dhbnkuanNv
bgkobm9uZXhpc3RlbnQpCkBAIC0xLDExMiArMCwwIEBACi1bCi0gICAgewotICAgICAgICAidHlw
ZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFtZSI6ICJCIiwKLSAgICAgICAgInBhcnRpYWwi
OiBmYWxzZSwKLSAgICAgICAgIm1lbWJlcnMiOiBbCi0gICAgICAgICAgICB7Ci0gICAgICAgICAg
ICAgICAgInR5cGUiOiAib3BlcmF0aW9uIiwKLSAgICAgICAgICAgICAgICAiZ2V0dGVyIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgInNldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJk
ZWxldGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBl
IjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAgICAg
ICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxh
YmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJ2b2lkIiwKLSAgICAgICAgICAgICAgICAgICAgImV4
dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjog
ImciLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJnIiwKLSAgICAgICAgICAgICAg
ICAiYXJndW1lbnRzIjogW10sCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAg
ICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAib3BlcmF0
aW9uIiwKLSAgICAgICAgICAgICAgICAiZ2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
InNldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJkZWxldGVyIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmll
ciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAg
ICAgICAidHlwZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmlj
IjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlw
ZSI6ICJ2b2lkIiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAg
ICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogImciLAotICAgICAgICAgICAgICAg
ICJlc2NhcGVkTmFtZSI6ICJnIiwKLSAgICAgICAgICAgICAgICAiYXJndW1lbnRzIjogWwotICAg
ICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAib3B0aW9uYWwiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ2YXJpYWRpYyI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgImRlZmF1bHQiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAg
ICAgImV4dEF0dHJzIjogW10sCi0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5
cGUiOiAiQiIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAg
ICAgICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6
ICJiIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJiIgotICAgICAg
ICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICAiZXh0
QXR0cnMiOiBbXQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAg
ICAidHlwZSI6ICJvcGVyYXRpb24iLAotICAgICAgICAgICAgICAgICJnZXR0ZXIiOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAic2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImRlbGV0
ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7
Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInJldHVybi10eXBlIiwKLSAgICAgICAgICAg
ICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgICAgICJpZGxUeXBlIjogInZvaWQiLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0
cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiZyIs
Ci0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImciLAotICAgICAgICAgICAgICAgICJh
cmd1bWVudHMiOiBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJvcHRpb25hbCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgInZhcmlhZGlj
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdCI6IG51bGwsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJBbGxvd0Fu
eSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJhcmd1bWVudHMiOiBudWxsLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJleHRlbmRlZC1hdHRyaWJ1
dGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicmhzIjogbnVsbAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAgICAgIF0sCi0gICAg
ICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxl
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiRE9NU3RyaW5nIiwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAg
ICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjogInMiLAotICAgICAgICAg
ICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogInMiCi0gICAgICAgICAgICAgICAgICAgIH0K
LSAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAg
ICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJpbmhlcml0YW5jZSI6IG51bGwsCi0gICAg
ICAgICJleHRBdHRycyI6IFtdCi0gICAgfQotXQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29u
L2F0dHJpYnV0ZXMuanNvbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vYXR0
cmlidXRlcy5qc29uCShyZXZpc2lvbiAyNTI4OTYpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24v
YXR0cmlidXRlcy5qc29uCShub25leGlzdGVudCkKQEAgLTEsNDcgKzAsMCBAQAotWwotICAgIHsK
LSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUiOiAiUGVyc29uIiwK
LSAgICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJlcnMiOiBbCi0gICAgICAg
ICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAgICAgICAgICAg
ICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAi
cmVhZG9ubHkiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAg
ICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlLXR5cGUiLAotICAgICAgICAgICAgICAgICAg
ICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAg
ICAgImlkbFR5cGUiOiAidW5zaWduZWQgc2hvcnQiLAotICAgICAgICAgICAgICAgICAgICAiZXh0
QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAi
YWdlIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiYWdlIiwKLSAgICAgICAgICAg
ICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAg
ICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJzdGF0aWMi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJyZWFkb25seSI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAi
dHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjog
bnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6
ICJhbnkiLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAg
ICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAicmVxdWlyZWQiLAotICAgICAgICAgICAg
ICAgICJlc2NhcGVkTmFtZSI6ICJyZXF1aXJlZCIsCi0gICAgICAgICAgICAgICAgImV4dEF0dHJz
IjogW10KLSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImluaGVyaXRhbmNlIjog
bnVsbCwKLSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9Ci1dCkluZGV4OiBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
c3ludGF4L2pzb24vY2FsbGJhY2suanNvbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4
L2pzb24vY2FsbGJhY2suanNvbgkocmV2aXNpb24gMjUyODk2KQorKysgTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRh
eC9qc29uL2NhbGxiYWNrLmpzb24JKG5vbmV4aXN0ZW50KQpAQCAtMSwxMjYgKzAsMCBAQAotWwot
ICAgIHsKLSAgICAgICAgInR5cGUiOiAiY2FsbGJhY2siLAotICAgICAgICAibmFtZSI6ICJBc3lu
Y09wZXJhdGlvbkNhbGxiYWNrIiwKLSAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAi
dHlwZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAg
ICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAot
ICAgICAgICAgICAgImlkbFR5cGUiOiAidm9pZCIsCi0gICAgICAgICAgICAiZXh0QXR0cnMiOiBb
XQotICAgICAgICB9LAotICAgICAgICAiYXJndW1lbnRzIjogWwotICAgICAgICAgICAgewotICAg
ICAgICAgICAgICAgICJvcHRpb25hbCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJ2YXJpYWRp
YyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJkZWZhdWx0IjogbnVsbCwKLSAgICAgICAgICAg
ICAgICAiZXh0QXR0cnMiOiBbXSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAg
ICAgICAgICAgICAgICAgInR5cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAgICAg
ICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICAgICAiaWRsVHlwZSI6ICJET01TdHJpbmciLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0
cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAic3Rh
dHVzIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAic3RhdHVzIgotICAgICAgICAg
ICAgfQotICAgICAgICBdLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0sCi0gICAgewot
ICAgICAgICAidHlwZSI6ICJjYWxsYmFjayBpbnRlcmZhY2UiLAotICAgICAgICAibmFtZSI6ICJF
dmVudEhhbmRsZXIiLAotICAgICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVy
cyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJvcGVyYXRpb24i
LAotICAgICAgICAgICAgICAgICJnZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic2V0
dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImRlbGV0ZXIiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAg
ICJ0eXBlIjogInJldHVybi10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBu
dWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjog
InZvaWQiLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAg
ICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiZXZlbnRPY2N1cnJlZCIsCi0gICAgICAg
ICAgICAgICAgImVzY2FwZWROYW1lIjogImV2ZW50T2NjdXJyZWQiLAotICAgICAgICAgICAgICAg
ICJhcmd1bWVudHMiOiBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAg
ICAgICAgICJvcHRpb25hbCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgInZhcmlh
ZGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdCI6IG51bGwsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjog
ImFyZ3VtZW50LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjog
bnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJET01TdHJpbmciLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgICAgICAgICB9LAotICAg
ICAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAiZGV0YWlscyIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAiZXNjYXBlZE5hbWUiOiAiZGV0YWlscyIKLSAgICAgICAgICAgICAgICAgICAgfQot
ICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAg
ICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImluaGVyaXRhbmNlIjogbnVsbCwKLSAgICAg
ICAgImV4dEF0dHJzIjogW10KLSAgICB9LAotICAgIHsKLSAgICAgICAgInR5cGUiOiAiY2FsbGJh
Y2siLAotICAgICAgICAibmFtZSI6ICJTb3J0Q2FsbGJhY2siLAotICAgICAgICAiaWRsVHlwZSI6
IHsKLSAgICAgICAgICAgICJ0eXBlIjogInJldHVybi10eXBlIiwKLSAgICAgICAgICAgICJnZW5l
cmljIjogbnVsbCwKLSAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAg
InVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAiaWRsVHlwZSI6ICJib29sZWFuIiwKLSAgICAg
ICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgIH0sCi0gICAgICAgICJhcmd1bWVudHMiOiBb
Ci0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgIm9wdGlvbmFsIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgInZhcmlhZGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImRlZmF1bHQi
OiBudWxsLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdLAotICAgICAgICAgICAgICAg
ICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBl
IiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAg
ICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogImFueSIsCi0gICAgICAgICAgICAg
ICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAg
ICAibmFtZSI6ICJhIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiYSIKLSAgICAg
ICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgIm9wdGlvbmFsIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgInZhcmlhZGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ImRlZmF1bHQiOiBudWxsLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdLAotICAgICAg
ICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1
bWVudC10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAg
ICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVu
aW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogImFueSIsCi0gICAg
ICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAg
ICAgICAgICAgICAibmFtZSI6ICJiIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAi
YiIKLSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImV4dEF0dHJzIjogW10KLSAg
ICB9Ci1dCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vY29uc3RhbnRzLmpzb24KPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2NvbnN0YW50cy5qc29uCShyZXZpc2lvbiAy
NTI4OTYpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vY29uc3RhbnRzLmpzb24JKG5vbmV4aXN0
ZW50KQpAQCAtMSwxNTQgKzAsMCBAQAotWwotICAgIHsKLSAgICAgICAgInR5cGUiOiAiaW50ZXJm
YWNlIiwKLSAgICAgICAgIm5hbWUiOiAiVXRpbCIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFsc2Us
Ci0gICAgICAgICJtZW1iZXJzIjogWwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0
eXBlIjogImNvbnN0IiwKLSAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiY29u
c3QtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAg
ICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlv
biI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJib29sZWFuIiwKLSAg
ICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAg
ICAgICAgICAgICAgICJuYW1lIjogIkRFQlVHIiwKLSAgICAgICAgICAgICAgICAidmFsdWUiOiB7
Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAotICAgICAgICAgICAgICAg
ICAgICAidmFsdWUiOiBmYWxzZQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAg
ImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAg
ICAgICAgInR5cGUiOiAiY29uc3QiLAotICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlw
ZSI6ICJjb25zdC10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAot
ICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAg
ICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogInNob3J0
IiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9
LAotICAgICAgICAgICAgICAgICJuYW1lIjogIm5lZ2F0aXZlIiwKLSAgICAgICAgICAgICAgICAi
dmFsdWUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogIm51bWJlciIsCi0gICAgICAg
ICAgICAgICAgICAgICJ2YWx1ZSI6ICItMSIKLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAg
ICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAg
ICAgICAgICAgICAgICJ0eXBlIjogImNvbnN0IiwKLSAgICAgICAgICAgICAgICAibnVsbGFibGUi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAg
ICAgInR5cGUiOiAiY29uc3QtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjog
bnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6
ICJvY3RldCIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAg
ICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJMRiIsCi0gICAgICAgICAgICAgICAg
InZhbHVlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJudW1iZXIiLAotICAgICAg
ICAgICAgICAgICAgICAidmFsdWUiOiAiMTAiCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAg
ICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAg
ICAgICAgICAgICAgICAidHlwZSI6ICJjb25zdCIsCi0gICAgICAgICAgICAgICAgIm51bGxhYmxl
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAg
ICAgICJ0eXBlIjogImNvbnN0LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6
IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUi
OiAidW5zaWduZWQgbG9uZyIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0g
ICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJCSVRfTUFTSyIsCi0g
ICAgICAgICAgICAgICAgInZhbHVlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJu
dW1iZXIiLAotICAgICAgICAgICAgICAgICAgICAidmFsdWUiOiAiMHgwMDAwZmMwMCIKLSAgICAg
ICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAg
ICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogImNvbnN0IiwKLSAg
ICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlw
ZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiY29uc3QtdHlwZSIsCi0gICAgICAg
ICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxh
YmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJmbG9hdCIsCi0gICAgICAgICAgICAgICAgICAgICJl
eHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6
ICJBVk9HQURSTyIsCi0gICAgICAgICAgICAgICAgInZhbHVlIjogewotICAgICAgICAgICAgICAg
ICAgICAidHlwZSI6ICJudW1iZXIiLAotICAgICAgICAgICAgICAgICAgICAidmFsdWUiOiAiNi4w
MjJlMjMiCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBb
XQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6
ICJjb25zdCIsCi0gICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImNvbnN0LXR5
cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAg
ICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAidW5yZXN0cmljdGVkIGZsb2F0
IiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9
LAotICAgICAgICAgICAgICAgICJuYW1lIjogInNvYmlnIiwKLSAgICAgICAgICAgICAgICAidmFs
dWUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogIkluZmluaXR5IiwKLSAgICAgICAg
ICAgICAgICAgICAgIm5lZ2F0aXZlIjogZmFsc2UKLSAgICAgICAgICAgICAgICB9LAotICAgICAg
ICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewot
ICAgICAgICAgICAgICAgICJ0eXBlIjogImNvbnN0IiwKLSAgICAgICAgICAgICAgICAibnVsbGFi
bGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAg
ICAgICAgInR5cGUiOiAiY29uc3QtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmlj
IjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlw
ZSI6ICJ1bnJlc3RyaWN0ZWQgZG91YmxlIiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJz
IjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogIm1pbnVz
b25lZGl2aWRlZGJ5emVybyIsCi0gICAgICAgICAgICAgICAgInZhbHVlIjogewotICAgICAgICAg
ICAgICAgICAgICAidHlwZSI6ICJJbmZpbml0eSIsCi0gICAgICAgICAgICAgICAgICAgICJuZWdh
dGl2ZSI6IHRydWUKLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJleHRBdHRy
cyI6IFtdCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0
eXBlIjogImNvbnN0IiwKLSAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiY29u
c3QtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAg
ICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlv
biI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJzaG9ydCIsCi0gICAg
ICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAg
ICAgICAgICAgICAibmFtZSI6ICJub3RhbnVtYmVyIiwKLSAgICAgICAgICAgICAgICAidmFsdWUi
OiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogIk5hTiIKLSAgICAgICAgICAgICAgICB9
LAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAg
IF0sCi0gICAgICAgICJpbmhlcml0YW5jZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6IFtd
Ci0gICAgfQotXQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2NvbnN0cnVjdG9yLmpzb24K
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2NvbnN0cnVjdG9yLmpzb24JKHJl
dmlzaW9uIDI1Mjg5NikKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9jb25zdHJ1Y3Rvci5qc29u
CShub25leGlzdGVudCkKQEAgLTEsMTEzICswLDAgQEAKLVsKLSAgICB7Ci0gICAgICAgICJ0eXBl
IjogImludGVyZmFjZSIsCi0gICAgICAgICJuYW1lIjogIkNpcmNsZSIsCi0gICAgICAgICJwYXJ0
aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJzIjogWwotICAgICAgICAgICAgewotICAgICAg
ICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICJpbmhlcml0IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5IjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0
eXBlIjogImF0dHJpYnV0ZS10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBu
dWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjog
ImZsb2F0IiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAg
ICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogInIiLAotICAgICAgICAgICAgICAgICJl
c2NhcGVkTmFtZSI6ICJyIiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAg
ICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1
dGUiLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAi
c3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICJyZWFkb25seSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxU
eXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0g
ICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAg
Im51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJmbG9hdCIsCi0gICAgICAgICAgICAgICAg
ICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAi
bmFtZSI6ICJjeCIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImN4IiwKLSAgICAg
ICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsK
LSAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJz
dGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJyZWFkb25s
eSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAg
ICAgICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5l
cmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRs
VHlwZSI6ICJmbG9hdCIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAg
ICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJjeSIsCi0gICAgICAgICAg
ICAgICAgImVzY2FwZWROYW1lIjogImN5IiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBb
XQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6
ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaW5oZXJpdCI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICJyZWFkb25seSI6IHRydWUsCi0gICAgICAgICAgICAg
ICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZS10
eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAg
ICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogImZsb2F0IiwKLSAgICAgICAg
ICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAg
ICAgICAgICJuYW1lIjogImNpcmN1bWZlcmVuY2UiLAotICAgICAgICAgICAgICAgICJlc2NhcGVk
TmFtZSI6ICJjaXJjdW1mZXJlbmNlIiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQot
ICAgICAgICAgICAgfQotICAgICAgICBdLAotICAgICAgICAiaW5oZXJpdGFuY2UiOiBudWxsLAot
ICAgICAgICAiZXh0QXR0cnMiOiBbCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgIm5h
bWUiOiAiQ29uc3RydWN0b3IiLAotICAgICAgICAgICAgICAgICJhcmd1bWVudHMiOiBudWxsLAot
ICAgICAgICAgICAgICAgICJ0eXBlIjogImV4dGVuZGVkLWF0dHJpYnV0ZSIsCi0gICAgICAgICAg
ICAgICAgInJocyI6IG51bGwKLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAg
ICAgICAgICAgIm5hbWUiOiAiQ29uc3RydWN0b3IiLAotICAgICAgICAgICAgICAgICJhcmd1bWVu
dHMiOiBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJv
cHRpb25hbCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgInZhcmlhZGljIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdCI6IG51bGwsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJp
ZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImFyZ3VtZW50
LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAiaWRsVHlwZSI6ICJmbG9hdCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4
dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAg
ICAgICAgICAibmFtZSI6ICJyYWRpdXMiLAotICAgICAgICAgICAgICAgICAgICAgICAgImVzY2Fw
ZWROYW1lIjogInJhZGl1cyIKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAg
IF0sCi0gICAgICAgICAgICAgICAgInR5cGUiOiAiZXh0ZW5kZWQtYXR0cmlidXRlIiwKLSAgICAg
ICAgICAgICAgICAicmhzIjogbnVsbAotICAgICAgICAgICAgfQotICAgICAgICBdCi0gICAgfQot
XQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2RpY3Rpb25hcnktaW5oZXJpdHMuanNvbgo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vZGljdGlvbmFyeS1pbmhlcml0cy5q
c29uCShyZXZpc2lvbiAyNTI4OTYpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vZGljdGlvbmFy
eS1pbmhlcml0cy5qc29uCShub25leGlzdGVudCkKQEAgLTEsODkgKzAsMCBAQAotWwotICAgIHsK
LSAgICAgICAgInR5cGUiOiAiZGljdGlvbmFyeSIsCi0gICAgICAgICJuYW1lIjogIlBhaW50T3B0
aW9ucyIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJzIjogWwot
ICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogImZpZWxkIiwKLSAgICAgICAg
ICAgICAgICAibmFtZSI6ICJmaWxsUGF0dGVybiIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWRO
YW1lIjogImZpbGxQYXR0ZXJuIiwKLSAgICAgICAgICAgICAgICAicmVxdWlyZWQiOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUi
OiAiZGljdGlvbmFyeS10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxs
LAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiB0cnVlLAotICAgICAgICAgICAgICAg
ICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiRE9N
U3RyaW5nIiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAg
ICAgICB9LAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdLAotICAgICAgICAgICAgICAg
ICJkZWZhdWx0IjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAotICAg
ICAgICAgICAgICAgICAgICAidmFsdWUiOiAiYmxhY2siCi0gICAgICAgICAgICAgICAgfQotICAg
ICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJmaWVs
ZCIsCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAic3Ryb2tlUGF0dGVybiIsCi0gICAgICAgICAg
ICAgICAgImVzY2FwZWROYW1lIjogInN0cm9rZVBhdHRlcm4iLAotICAgICAgICAgICAgICAgICJy
ZXF1aXJlZCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAg
ICAgICAgICAgICAidHlwZSI6ICJkaWN0aW9uYXJ5LXR5cGUiLAotICAgICAgICAgICAgICAgICAg
ICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IHRydWUs
Ci0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAg
ICAiaWRsVHlwZSI6ICJET01TdHJpbmciLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMi
OiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10s
Ci0gICAgICAgICAgICAgICAgImRlZmF1bHQiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBl
IjogIm51bGwiCi0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAg
IHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJmaWVsZCIsCi0gICAgICAgICAgICAgICAgIm5h
bWUiOiAicG9zaXRpb24iLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJwb3NpdGlv
biIsCi0gICAgICAgICAgICAgICAgInJlcXVpcmVkIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImRpY3Rpb25hcnktdHlw
ZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAg
ICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJQb2ludCIsCi0gICAgICAgICAg
ICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAg
ICAgICAiZXh0QXR0cnMiOiBbXSwKLSAgICAgICAgICAgICAgICAiZGVmYXVsdCI6IG51bGwKLSAg
ICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImluaGVyaXRhbmNlIjogbnVsbCwKLSAg
ICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9LAotICAgIHsKLSAgICAgICAgInR5cGUiOiAiZGlj
dGlvbmFyeSIsCi0gICAgICAgICJuYW1lIjogIldldFBhaW50T3B0aW9ucyIsCi0gICAgICAgICJw
YXJ0aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJzIjogWwotICAgICAgICAgICAgewotICAg
ICAgICAgICAgICAgICJ0eXBlIjogImZpZWxkIiwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJo
eWRyb21ldHJ5IiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiaHlkcm9tZXRyeSIs
Ci0gICAgICAgICAgICAgICAgInJlcXVpcmVkIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlk
bFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImRpY3Rpb25hcnktdHlwZSIs
Ci0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAg
ICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJmbG9hdCIsCi0gICAgICAgICAgICAg
ICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAg
ICAiZXh0QXR0cnMiOiBbXSwKLSAgICAgICAgICAgICAgICAiZGVmYXVsdCI6IG51bGwKLSAgICAg
ICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImluaGVyaXRhbmNlIjogIlBhaW50T3B0aW9u
cyIsCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgfQotXQpJbmRleDogTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5
bnRheC9qc29uL2RpY3Rpb25hcnkuanNvbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4
L2pzb24vZGljdGlvbmFyeS5qc29uCShyZXZpc2lvbiAyNTI4OTYpCisrKyBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3lu
dGF4L2pzb24vZGljdGlvbmFyeS5qc29uCShub25leGlzdGVudCkKQEAgLTEsMTQ2ICswLDAgQEAK
LVsKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImRpY3Rpb25hcnkiLAotICAgICAgICAibmFtZSI6
ICJQYWludE9wdGlvbnMiLAotICAgICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVt
YmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJmaWVsZCIs
Ci0gICAgICAgICAgICAgICAgIm5hbWUiOiAiZmlsbFBhdHRlcm4iLAotICAgICAgICAgICAgICAg
ICJlc2NhcGVkTmFtZSI6ICJmaWxsUGF0dGVybiIsCi0gICAgICAgICAgICAgICAgInJlcXVpcmVk
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAg
ICAgICJ0eXBlIjogImRpY3Rpb25hcnktdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5l
cmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogdHJ1ZSwKLSAgICAg
ICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxU
eXBlIjogIkRPTVN0cmluZyIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0g
ICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXSwKLSAgICAg
ICAgICAgICAgICAiZGVmYXVsdCI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAic3Ry
aW5nIiwKLSAgICAgICAgICAgICAgICAgICAgInZhbHVlIjogImJsYWNrIgotICAgICAgICAgICAg
ICAgIH0KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5
cGUiOiAiZmllbGQiLAotICAgICAgICAgICAgICAgICJuYW1lIjogInN0cm9rZVBhdHRlcm4iLAot
ICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJzdHJva2VQYXR0ZXJuIiwKLSAgICAgICAg
ICAgICAgICAicmVxdWlyZWQiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsK
LSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiZGljdGlvbmFyeS10eXBlIiwKLSAgICAgICAg
ICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFi
bGUiOiB0cnVlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAgICAgImlkbFR5cGUiOiAiRE9NU3RyaW5nIiwKLSAgICAgICAgICAgICAgICAgICAg
ImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJleHRB
dHRycyI6IFtdLAotICAgICAgICAgICAgICAgICJkZWZhdWx0IjogewotICAgICAgICAgICAgICAg
ICAgICAidHlwZSI6ICJudWxsIgotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0sCi0g
ICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiZmllbGQiLAotICAgICAgICAg
ICAgICAgICJuYW1lIjogInBvc2l0aW9uIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUi
OiAicG9zaXRpb24iLAotICAgICAgICAgICAgICAgICJyZXF1aXJlZCI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJkaWN0
aW9uYXJ5LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAg
ICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAi
dW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiUG9pbnQiLAot
ICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0g
ICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10sCi0gICAgICAgICAgICAgICAgImRlZmF1bHQi
OiBudWxsCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0
eXBlIjogImZpZWxkIiwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJzZXEiLAotICAgICAgICAg
ICAgICAgICJlc2NhcGVkTmFtZSI6ICJzZXEiLAotICAgICAgICAgICAgICAgICJyZXF1aXJlZCI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAg
ICAidHlwZSI6ICJkaWN0aW9uYXJ5LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJp
YyI6ICJzZXF1ZW5jZSIsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAg
ImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJkaWN0aW9uYXJ5
LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAg
ICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjog
ImxvbmciLAotICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAg
ICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAg
ICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdLAotICAgICAgICAg
ICAgICAgICJkZWZhdWx0IjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJzZXF1ZW5j
ZSIsCi0gICAgICAgICAgICAgICAgICAgICJ2YWx1ZSI6IFtdCi0gICAgICAgICAgICAgICAgfQot
ICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJm
aWVsZCIsCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAicmVxU2VxIiwKLSAgICAgICAgICAgICAg
ICAiZXNjYXBlZE5hbWUiOiAicmVxU2VxIiwKLSAgICAgICAgICAgICAgICAicmVxdWlyZWQiOiB0
cnVlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAi
dHlwZSI6ICJkaWN0aW9uYXJ5LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6
IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUi
OiAibG9uZyIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAg
ICAgICAgfSwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXSwKLSAgICAgICAgICAgICAg
ICAiZGVmYXVsdCI6IG51bGwKLSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImlu
aGVyaXRhbmNlIjogbnVsbCwKLSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9LAotICAgIHsK
LSAgICAgICAgInR5cGUiOiAiZGljdGlvbmFyeSIsCi0gICAgICAgICJuYW1lIjogIkEiLAotICAg
ICAgICAicGFydGlhbCI6IHRydWUsCi0gICAgICAgICJtZW1iZXJzIjogWwotICAgICAgICAgICAg
ewotICAgICAgICAgICAgICAgICJ0eXBlIjogImZpZWxkIiwKLSAgICAgICAgICAgICAgICAibmFt
ZSI6ICJoIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiaCIsCi0gICAgICAgICAg
ICAgICAgInJlcXVpcmVkIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0g
ICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImRpY3Rpb25hcnktdHlwZSIsCi0gICAgICAgICAg
ICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxl
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICAgICAiaWRsVHlwZSI6ICJsb25nIiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0
dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6
IFtdLAotICAgICAgICAgICAgICAgICJkZWZhdWx0IjogbnVsbAotICAgICAgICAgICAgfSwKLSAg
ICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJmaWVsZCIsCi0gICAgICAgICAg
ICAgICAgIm5hbWUiOiAiZCIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImQiLAot
ICAgICAgICAgICAgICAgICJyZXF1aXJlZCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxU
eXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJkaWN0aW9uYXJ5LXR5cGUiLAot
ICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAg
ICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAibG9uZyIsCi0gICAgICAgICAgICAgICAg
ICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAi
ZXh0QXR0cnMiOiBbXSwKLSAgICAgICAgICAgICAgICAiZGVmYXVsdCI6IG51bGwKLSAgICAgICAg
ICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9Ci1dCkluZGV4
OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vZG9jdW1lbnRhdGlvbi1kb3MuanNvbgo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vZG9jdW1lbnRhdGlvbi1kb3MuanNvbgkocmV2aXNp
b24gMjUyODk2KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2RvY3VtZW50YXRpb24tZG9zLmpz
b24JKG5vbmV4aXN0ZW50KQpAQCAtMSwxMCArMCwwIEBACi1bCi0gICAgewotICAgICAgICAidHlw
ZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFtZSI6ICJEb2N1bWVudGF0aW9uIiwKLSAgICAg
ICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJlcnMiOiBbXSwKLSAgICAgICAgImlu
aGVyaXRhbmNlIjogbnVsbCwKLSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9Ci1dCkluZGV4
OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vZG9jdW1lbnRhdGlvbi5qc29uCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC9zeW50YXgvanNvbi9kb2N1bWVudGF0aW9uLmpzb24JKHJldmlzaW9uIDI1Mjg5
NikKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9kb2N1bWVudGF0aW9uLmpzb24JKG5vbmV4aXN0
ZW50KQpAQCAtMSwxMCArMCwwIEBACi1bCi0gICAgewotICAgICAgICAidHlwZSI6ICJpbnRlcmZh
Y2UiLAotICAgICAgICAibmFtZSI6ICJEb2N1bWVudGF0aW9uIiwKLSAgICAgICAgInBhcnRpYWwi
OiBmYWxzZSwKLSAgICAgICAgIm1lbWJlcnMiOiBbXSwKLSAgICAgICAgImluaGVyaXRhbmNlIjog
bnVsbCwKLSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9Ci1dCkluZGV4OiBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
c3ludGF4L2pzb24vZW51bS5qc29uCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNv
bi9lbnVtLmpzb24JKHJldmlzaW9uIDI1Mjg5NikKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9l
bnVtLmpzb24JKG5vbmV4aXN0ZW50KQpAQCAtMSwxMzggKzAsMCBAQAotWwotICAgIHsKLSAgICAg
ICAgInR5cGUiOiAiZW51bSIsCi0gICAgICAgICJuYW1lIjogIk1lYWxUeXBlIiwKLSAgICAgICAg
InZhbHVlcyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJp
bmciLAotICAgICAgICAgICAgICAgICJ2YWx1ZSI6ICJyaWNlIgotICAgICAgICAgICAgfSwKLSAg
ICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAotICAgICAgICAg
ICAgICAgICJ2YWx1ZSI6ICJub29kbGVzIgotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsK
LSAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAotICAgICAgICAgICAgICAgICJ2YWx1
ZSI6ICJvdGhlciIKLSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImV4dEF0dHJz
IjogW10KLSAgICB9LAotICAgIHsKLSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAg
ICAgIm5hbWUiOiAiTWVhbCIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0gICAgICAgICJt
ZW1iZXJzIjogWwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJp
YnV0ZSIsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpbmhlcml0IjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgInJlYWRvbmx5IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlk
bFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZS10eXBlIiwK
LSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAg
ICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogIk1lYWxUeXBlIiwKLSAgICAgICAgICAg
ICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAg
ICAgICJuYW1lIjogInR5cGUiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJ0eXBl
IiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfSwKLSAgICAg
ICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAg
ICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICJyZWFkb25seSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAg
ICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAgICAgICAgICAgICAg
ICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICAgICAiaWRsVHlwZSI6ICJmbG9hdCIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6
IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJzaXplIiwK
LSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAic2l6ZSIsCi0gICAgICAgICAgICAgICAg
ImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAg
ICAgICAgInR5cGUiOiAib3BlcmF0aW9uIiwKLSAgICAgICAgICAgICAgICAiZ2V0dGVyIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgInNldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJk
ZWxldGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBl
IjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAgICAg
ICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxh
YmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJ2b2lkIiwKLSAgICAgICAgICAgICAgICAgICAgImV4
dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjog
ImluaXRpYWxpemUiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJpbml0aWFsaXpl
IiwKLSAgICAgICAgICAgICAgICAiYXJndW1lbnRzIjogWwotICAgICAgICAgICAgICAgICAgICB7
Ci0gICAgICAgICAgICAgICAgICAgICAgICAib3B0aW9uYWwiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJ2YXJpYWRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ImRlZmF1bHQiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10s
Ci0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51
bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiTWVhbFR5cGUiLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAg
ICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAidHlwZSIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAidHlwZSIKLSAgICAgICAgICAg
ICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAg
ICAgIm9wdGlvbmFsIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAidmFyaWFkaWMi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0IjogbnVsbCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdLAotICAgICAgICAgICAgICAgICAgICAg
ICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXJn
dW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxs
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJpZGxUeXBlIjogImZsb2F0IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJuYW1lIjogInNpemUiLAotICAgICAgICAgICAgICAgICAgICAgICAgImVz
Y2FwZWROYW1lIjogInNpemUiCi0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAg
ICBdLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAg
ICAgIF0sCi0gICAgICAgICJpbmhlcml0YW5jZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6
IFtdCi0gICAgfSwKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImVudW0iLAotICAgICAgICAibmFt
ZSI6ICJBbHRNZWFsVHlwZSIsCi0gICAgICAgICJ2YWx1ZXMiOiBbCi0gICAgICAgICAgICB7Ci0g
ICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKLSAgICAgICAgICAgICAgICAidmFsdWUi
OiAicmljZSIKLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAg
InR5cGUiOiAic3RyaW5nIiwKLSAgICAgICAgICAgICAgICAidmFsdWUiOiAibm9vZGxlcyIKLSAg
ICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAic3Ry
aW5nIiwKLSAgICAgICAgICAgICAgICAidmFsdWUiOiAib3RoZXIiCi0gICAgICAgICAgICB9Ci0g
ICAgICAgIF0sCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgfQotXQpJbmRleDogTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3N5bnRheC9qc29uL2VxdWl2YWxlbnQtZGVjbC5qc29uCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC9zeW50YXgvanNvbi9lcXVpdmFsZW50LWRlY2wuanNvbgkocmV2aXNpb24gMjUyODk2KQor
KysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2VxdWl2YWxlbnQtZGVjbC5qc29uCShub25leGlzdGVu
dCkKQEAgLTEsMzI2ICswLDAgQEAKLVsKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImludGVyZmFj
ZSIsCi0gICAgICAgICJuYW1lIjogIkRpY3Rpb25hcnkiLAotICAgICAgICAicGFydGlhbCI6IGZh
bHNlLAotICAgICAgICAibWVtYmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAg
ICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAi
aW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJyZWFkb25seSI6IHRydWUsCi0gICAg
ICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImF0
dHJpYnV0ZS10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAg
ICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAg
InVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogInVuc2lnbmVk
IGxvbmciLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAg
ICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAicHJvcGVydHlDb3VudCIsCi0gICAgICAg
ICAgICAgICAgImVzY2FwZWROYW1lIjogInByb3BlcnR5Q291bnQiLAotICAgICAgICAgICAgICAg
ICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAg
ICAgICAgICJ0eXBlIjogIm9wZXJhdGlvbiIsCi0gICAgICAgICAgICAgICAgImdldHRlciI6IHRy
dWUsCi0gICAgICAgICAgICAgICAgInNldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJk
ZWxldGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBl
IjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAgICAg
ICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxh
YmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJmbG9hdCIsCi0gICAgICAgICAgICAgICAgICAgICJl
eHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6
ICJnZXRQcm9wZXJ0eSIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImdldFByb3Bl
cnR5IiwKLSAgICAgICAgICAgICAgICAiYXJndW1lbnRzIjogWwotICAgICAgICAgICAgICAgICAg
ICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAib3B0aW9uYWwiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICJ2YXJpYWRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgImRlZmF1bHQiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjog
W10sCi0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
Im51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiRE9NU3RyaW5n
IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAg
ICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjogInByb3Bl
cnR5TmFtZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAicHJvcGVy
dHlOYW1lIgotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXSwKLSAgICAg
ICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsK
LSAgICAgICAgICAgICAgICAidHlwZSI6ICJvcGVyYXRpb24iLAotICAgICAgICAgICAgICAgICJn
ZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic2V0dGVyIjogdHJ1ZSwKLSAgICAgICAg
ICAgICAgICAiZGVsZXRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAicmV0dXJuLXR5cGUi
LAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAg
ICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAidm9pZCIsCi0gICAgICAgICAgICAg
ICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAg
ICAibmFtZSI6ICJzZXRQcm9wZXJ0eSIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjog
InNldFByb3BlcnR5IiwKLSAgICAgICAgICAgICAgICAiYXJndW1lbnRzIjogWwotICAgICAgICAg
ICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAib3B0aW9uYWwiOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICJ2YXJpYWRpYyI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgImRlZmF1bHQiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgImV4
dEF0dHJzIjogW10sCi0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
InVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAi
RE9NU3RyaW5nIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQot
ICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJuYW1l
IjogInByb3BlcnR5TmFtZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUi
OiAicHJvcGVydHlOYW1lIgotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAg
ICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAib3B0aW9uYWwiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJ2YXJpYWRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgImRlZmF1bHQiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJz
IjogW10sCi0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9u
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiZmxvYXQi
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAg
ICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAicHJvcGVy
dHlWYWx1ZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAicHJvcGVy
dHlWYWx1ZSIKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAg
ICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAg
ICAgICAgImluaGVyaXRhbmNlIjogbnVsbCwKLSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9
LAotICAgIHsKLSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUiOiAi
RGljdGlvbmFyeTIiLAotICAgICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVy
cyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUi
LAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3Ry
aW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICJyZWFkb25seSI6IHRydWUsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUi
OiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZS10eXBlIiwKLSAgICAg
ICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVs
bGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgICAgICJpZGxUeXBlIjogInVuc2lnbmVkIGxvbmciLAotICAgICAgICAgICAg
ICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAg
ICAgIm5hbWUiOiAicHJvcGVydHlDb3VudCIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1l
IjogInByb3BlcnR5Q291bnQiLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAg
ICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogIm9wZXJh
dGlvbiIsCi0gICAgICAgICAgICAgICAgImdldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICJzZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiZGVsZXRlciI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZp
ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAg
ICAgICAgInR5cGUiOiAicmV0dXJuLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJp
YyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5
cGUiOiAiZmxvYXQiLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAg
ICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiZ2V0UHJvcGVydHkiLAotICAg
ICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJnZXRQcm9wZXJ0eSIsCi0gICAgICAgICAgICAg
ICAgImFyZ3VtZW50cyI6IFsKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAg
ICAgICAgICAgIm9wdGlvbmFsIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAidmFy
aWFkaWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0IjogbnVsbCwK
LSAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdLAotICAgICAgICAgICAgICAg
ICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUi
OiAiYXJndW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMi
OiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICJpZGxUeXBlIjogIkRPTVN0cmluZyIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgICAgIH0sCi0g
ICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJwcm9wZXJ0eU5hbWUiLAotICAgICAgICAg
ICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogInByb3BlcnR5TmFtZSIKLSAgICAgICAgICAg
ICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgImV4dEF0dHJz
IjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5
cGUiOiAib3BlcmF0aW9uIiwKLSAgICAgICAgICAgICAgICAiZ2V0dGVyIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgInNldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJkZWxldGVyIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAg
ICAgICAgICAgICAgICAgICAidHlwZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAgICAgICAgICAgICAg
ICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICAgICAiaWRsVHlwZSI6ICJ2b2lkIiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjog
W10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogInNldFByb3Bl
cnR5IiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAic2V0UHJvcGVydHkiLAotICAg
ICAgICAgICAgICAgICJhcmd1bWVudHMiOiBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJvcHRpb25hbCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgInZhcmlhZGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVs
dCI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJ0eXBlIjogImFyZ3VtZW50LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJET01TdHJpbmciLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgICAg
ICAgICB9LAotICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAicHJvcGVydHlOYW1lIiwK
LSAgICAgICAgICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJwcm9wZXJ0eU5hbWUiCi0g
ICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJvcHRpb25hbCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAg
InZhcmlhZGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdCI6IG51
bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0
eXBlIjogImFyZ3VtZW50LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5l
cmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJmbG9hdCIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgICAgIH0sCi0g
ICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJwcm9wZXJ0eVZhbHVlIiwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJwcm9wZXJ0eVZhbHVlIgotICAgICAgICAg
ICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICAiZXh0QXR0
cnMiOiBbXQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAi
dHlwZSI6ICJvcGVyYXRpb24iLAotICAgICAgICAgICAgICAgICJnZXR0ZXIiOiB0cnVlLAotICAg
ICAgICAgICAgICAgICJzZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiZGVsZXRlciI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAg
ICAgICAgICAgICAgICAgICAgInR5cGUiOiAicmV0dXJuLXR5cGUiLAotICAgICAgICAgICAgICAg
ICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAgICAgImlkbFR5cGUiOiAiZmxvYXQiLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMi
OiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiBudWxsLAot
ICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6IG51bGwsCi0gICAgICAgICAgICAgICAgImFy
Z3VtZW50cyI6IFsKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAg
ICAgIm9wdGlvbmFsIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAidmFyaWFkaWMi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0IjogbnVsbCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdLAotICAgICAgICAgICAgICAgICAgICAg
ICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXJn
dW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxs
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJpZGxUeXBlIjogIkRPTVN0cmluZyIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAg
ICAgICAgICAgICAgICAgICAibmFtZSI6ICJwcm9wZXJ0eU5hbWUiLAotICAgICAgICAgICAgICAg
ICAgICAgICAgImVzY2FwZWROYW1lIjogInByb3BlcnR5TmFtZSIKLSAgICAgICAgICAgICAgICAg
ICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10K
LSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAi
b3BlcmF0aW9uIiwKLSAgICAgICAgICAgICAgICAiZ2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgInNldHRlciI6IHRydWUsCi0gICAgICAgICAgICAgICAgImRlbGV0ZXIiOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmlu
Z2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAg
ICAgICAgICAgICJ0eXBlIjogInJldHVybi10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdl
bmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJp
ZGxUeXBlIjogInZvaWQiLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAg
ICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiBudWxsLAotICAgICAgICAg
ICAgICAgICJlc2NhcGVkTmFtZSI6IG51bGwsCi0gICAgICAgICAgICAgICAgImFyZ3VtZW50cyI6
IFsKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIm9wdGlv
bmFsIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAidmFyaWFkaWMiOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0IjogbnVsbCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICJleHRBdHRycyI6IFtdLAotICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5
cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXJndW1lbnQtdHlw
ZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICJpZGxUeXBlIjogIkRPTVN0cmluZyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4
dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAg
ICAgICAgICAibmFtZSI6ICJwcm9wZXJ0eU5hbWUiLAotICAgICAgICAgICAgICAgICAgICAgICAg
ImVzY2FwZWROYW1lIjogInByb3BlcnR5TmFtZSIKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAg
ICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIm9wdGlvbmFsIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAidmFyaWFkaWMiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJkZWZhdWx0IjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJleHRBdHRycyI6IFtdLAotICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxU
eXBlIjogImZsb2F0IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBb
XQotICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJu
YW1lIjogInByb3BlcnR5VmFsdWUiLAotICAgICAgICAgICAgICAgICAgICAgICAgImVzY2FwZWRO
YW1lIjogInByb3BlcnR5VmFsdWUiCi0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAg
ICAgICBdLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9Ci0g
ICAgICAgIF0sCi0gICAgICAgICJpbmhlcml0YW5jZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRy
cyI6IFtdCi0gICAgfQotXQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2V4Y2VwdGlvbi1p
bmhlcml0YW5jZS5qc29uCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9leGNl
cHRpb24taW5oZXJpdGFuY2UuanNvbgkocmV2aXNpb24gMjUyODk2KQorKysgTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5
bnRheC9qc29uL2V4Y2VwdGlvbi1pbmhlcml0YW5jZS5qc29uCShub25leGlzdGVudCkKQEAgLTEs
MzYgKzAsMCBAQAotWwotICAgIHsKLSAgICAgICAgInR5cGUiOiAiZXhjZXB0aW9uIiwKLSAgICAg
ICAgIm5hbWUiOiAiRE9NRXhjZXB0aW9uIiwKLSAgICAgICAgIm1lbWJlcnMiOiBbCi0gICAgICAg
ICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiZmllbGQiLAotICAgICAgICAgICAgICAg
ICJuYW1lIjogImNvZGUiLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAg
ICAgICAgICAgICAic2VxdWVuY2UiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVy
aWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxU
eXBlIjogInVuc2lnbmVkIHNob3J0IgotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAg
ICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImlu
aGVyaXRhbmNlIjogbnVsbCwKLSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9LAotICAgIHsK
LSAgICAgICAgInR5cGUiOiAiZXhjZXB0aW9uIiwKLSAgICAgICAgIm5hbWUiOiAiSGllcmFyY2h5
UmVxdWVzdEVycm9yIiwKLSAgICAgICAgIm1lbWJlcnMiOiBbXSwKLSAgICAgICAgImluaGVyaXRh
bmNlIjogIkRPTUV4Y2VwdGlvbiIsCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgfSwKLSAg
ICB7Ci0gICAgICAgICJ0eXBlIjogImV4Y2VwdGlvbiIsCi0gICAgICAgICJuYW1lIjogIk5vTW9k
aWZpY2F0aW9uQWxsb3dlZEVycm9yIiwKLSAgICAgICAgIm1lbWJlcnMiOiBbXSwKLSAgICAgICAg
ImluaGVyaXRhbmNlIjogIkRPTUV4Y2VwdGlvbiIsCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0g
ICAgfQotXQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50
YXgvanNvbi9leHRlbmRlZC1hdHRyaWJ1dGVzLmpzb24KPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3N5bnRheC9qc29uL2V4dGVuZGVkLWF0dHJpYnV0ZXMuanNvbgkocmV2aXNpb24gMjUyODk2KQor
KysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2V4dGVuZGVkLWF0dHJpYnV0ZXMuanNvbgkobm9uZXhp
c3RlbnQpCkBAIC0xLDI0MCArMCwwIEBACi1bCi0gICAgewotICAgICAgICAidHlwZSI6ICJpbnRl
cmZhY2UiLAotICAgICAgICAibmFtZSI6ICJTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUiLAotICAg
ICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFtdLAotICAgICAgICAi
aW5oZXJpdGFuY2UiOiAiV29ya2VyR2xvYmFsU2NvcGUiLAotICAgICAgICAiZXh0QXR0cnMiOiBb
Ci0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgIm5hbWUiOiAiR2xvYmFsIiwKLSAgICAg
ICAgICAgICAgICAiYXJndW1lbnRzIjogbnVsbCwKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJl
eHRlbmRlZC1hdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJyaHMiOiB7Ci0gICAgICAgICAg
ICAgICAgICAgICJ0eXBlIjogImlkZW50aWZpZXItbGlzdCIsCi0gICAgICAgICAgICAgICAgICAg
ICJ2YWx1ZSI6IFsKLSAgICAgICAgICAgICAgICAgICAgICAgICJXb3JrZXIiLAotICAgICAgICAg
ICAgICAgICAgICAgICAgIlNlcnZpY2VXb3JrZXIiCi0gICAgICAgICAgICAgICAgICAgIF0KLSAg
ICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAg
ICAgICAgICJuYW1lIjogIkV4cG9zZWQiLAotICAgICAgICAgICAgICAgICJhcmd1bWVudHMiOiBu
dWxsLAotICAgICAgICAgICAgICAgICJ0eXBlIjogImV4dGVuZGVkLWF0dHJpYnV0ZSIsCi0gICAg
ICAgICAgICAgICAgInJocyI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiaWRlbnRp
ZmllciIsCi0gICAgICAgICAgICAgICAgICAgICJ2YWx1ZSI6ICJTZXJ2aWNlV29ya2VyIgotICAg
ICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0KLSAgICAgICAgXQotICAgIH0sCi0gICAgewot
ICAgICAgICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFtZSI6ICJJZEludGVyZmFj
ZSIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJzIjogW10sCi0g
ICAgICAgICJpbmhlcml0YW5jZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6IFsKLSAgICAg
ICAgICAgIHsKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJJbnRBdHRyIiwKLSAgICAgICAgICAg
ICAgICAiYXJndW1lbnRzIjogbnVsbCwKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJleHRlbmRl
ZC1hdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJyaHMiOiB7Ci0gICAgICAgICAgICAgICAg
ICAgICJ0eXBlIjogImludGVnZXIiLAotICAgICAgICAgICAgICAgICAgICAidmFsdWUiOiAiMCIK
LSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAg
ICAgICAgICAgICJuYW1lIjogIkZsb2F0QXR0ciIsCi0gICAgICAgICAgICAgICAgImFyZ3VtZW50
cyI6IG51bGwsCi0gICAgICAgICAgICAgICAgInR5cGUiOiAiZXh0ZW5kZWQtYXR0cmlidXRlIiwK
LSAgICAgICAgICAgICAgICAicmhzIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJm
bG9hdCIsCi0gICAgICAgICAgICAgICAgICAgICJ2YWx1ZSI6ICIzLjE0IgotICAgICAgICAgICAg
ICAgIH0KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgIm5h
bWUiOiAiU3RyaW5nQXR0ciIsCi0gICAgICAgICAgICAgICAgImFyZ3VtZW50cyI6IG51bGwsCi0g
ICAgICAgICAgICAgICAgInR5cGUiOiAiZXh0ZW5kZWQtYXR0cmlidXRlIiwKLSAgICAgICAgICAg
ICAgICAicmhzIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAotICAg
ICAgICAgICAgICAgICAgICAidmFsdWUiOiAiXCJhYmNcIiIKLSAgICAgICAgICAgICAgICB9Ci0g
ICAgICAgICAgICB9Ci0gICAgICAgIF0KLSAgICB9LAotICAgIHsKLSAgICAgICAgInR5cGUiOiAi
aW50ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUiOiAiQ2lyY2xlIiwKLSAgICAgICAgInBhcnRpYWwi
OiBmYWxzZSwKLSAgICAgICAgIm1lbWJlcnMiOiBbCi0gICAgICAgICAgICB7Ci0gICAgICAgICAg
ICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAicmVhZG9ubHkiOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUi
OiAiYXR0cmlidXRlLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGws
Ci0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiZG91
YmxlIiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAg
ICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogInIiLAotICAgICAgICAgICAgICAgICJlc2Nh
cGVkTmFtZSI6ICJyIiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAg
ICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUi
LAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3Ry
aW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICJyZWFkb25seSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBl
IjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAg
ICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51
bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJkb3VibGUiLAotICAgICAgICAgICAgICAgICAg
ICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5h
bWUiOiAiY3giLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJjeCIsCi0gICAgICAg
ICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0g
ICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAic3Rh
dGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAicmVhZG9ubHki
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAg
ICAgInR5cGUiOiAiYXR0cmlidXRlLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJp
YyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5
cGUiOiAiZG91YmxlIiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAg
ICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogImN5IiwKLSAgICAgICAgICAg
ICAgICAiZXNjYXBlZE5hbWUiOiAiY3kiLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtd
Ci0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjog
ImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpbmhlcml0Ijog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5IjogdHJ1ZSwKLSAgICAgICAgICAgICAg
ICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlLXR5
cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAg
ICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiZG91YmxlIiwKLSAgICAgICAg
ICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAg
ICAgICAgICJuYW1lIjogImNpcmN1bWZlcmVuY2UiLAotICAgICAgICAgICAgICAgICJlc2NhcGVk
TmFtZSI6ICJjaXJjdW1mZXJlbmNlIiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQot
ICAgICAgICAgICAgfQotICAgICAgICBdLAotICAgICAgICAiaW5oZXJpdGFuY2UiOiBudWxsLAot
ICAgICAgICAiZXh0QXR0cnMiOiBbCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgIm5h
bWUiOiAiQ29uc3RydWN0b3IiLAotICAgICAgICAgICAgICAgICJhcmd1bWVudHMiOiBudWxsLAot
ICAgICAgICAgICAgICAgICJ0eXBlIjogImV4dGVuZGVkLWF0dHJpYnV0ZSIsCi0gICAgICAgICAg
ICAgICAgInJocyI6IG51bGwKLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAg
ICAgICAgICAgIm5hbWUiOiAiQ29uc3RydWN0b3IiLAotICAgICAgICAgICAgICAgICJhcmd1bWVu
dHMiOiBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJv
cHRpb25hbCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgInZhcmlhZGljIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdCI6IG51bGwsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJp
ZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImFyZ3VtZW50
LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAiaWRsVHlwZSI6ICJkb3VibGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJl
eHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAg
ICAgICAgICAgIm5hbWUiOiAicmFkaXVzIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJlc2Nh
cGVkTmFtZSI6ICJyYWRpdXMiCi0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAg
ICBdLAotICAgICAgICAgICAgICAgICJ0eXBlIjogImV4dGVuZGVkLWF0dHJpYnV0ZSIsCi0gICAg
ICAgICAgICAgICAgInJocyI6IG51bGwKLSAgICAgICAgICAgIH0KLSAgICAgICAgXQotICAgIH0s
Ci0gICAgewotICAgICAgICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFtZSI6ICJJ
IiwKLSAgICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJlcnMiOiBbCi0gICAg
ICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAgICAgICAg
ICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAicmVhZG9ubHkiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAg
ICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlLXR5cGUiLAotICAgICAgICAgICAgICAg
ICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiB0cnVlLAotICAgICAgICAgICAgICAg
ICAgICAiaWRsVHlwZSI6IFsKLSAgICAgICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAidHlwZSI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJs
ZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogImxvbmciLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgICAgICAg
ICB9LAotICAgICAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJ0eXBlIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6
IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiTm9kZSIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAg
ICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogWwotICAgICAg
ICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjog
IlhBdHRyIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYXJndW1lbnRzIjogbnVsbCwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJleHRlbmRlZC1hdHRyaWJ1dGUi
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyaHMiOiBudWxsCi0gICAgICAgICAgICAg
ICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgIF0KLSAgICAgICAgICAgICAgICB9LAot
ICAgICAgICAgICAgICAgICJuYW1lIjogImF0dHJpYiIsCi0gICAgICAgICAgICAgICAgImVzY2Fw
ZWROYW1lIjogImF0dHJpYiIsCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAg
ICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImluaGVyaXRhbmNlIjogbnVsbCwKLSAgICAg
ICAgImV4dEF0dHJzIjogWwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJuYW1lIjog
IkV4cG9zZWQiLAotICAgICAgICAgICAgICAgICJhcmd1bWVudHMiOiBudWxsLAotICAgICAgICAg
ICAgICAgICJ0eXBlIjogImV4dGVuZGVkLWF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInJo
cyI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiaWRlbnRpZmllciIsCi0gICAgICAg
ICAgICAgICAgICAgICJ2YWx1ZSI6ICJXaW5kb3ciCi0gICAgICAgICAgICAgICAgfQotICAgICAg
ICAgICAgfQotICAgICAgICBdCi0gICAgfQotXQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29u
L2dlbmVyaWMuanNvbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vZ2VuZXJp
Yy5qc29uCShyZXZpc2lvbiAyNTI4OTYpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vZ2VuZXJp
Yy5qc29uCShub25leGlzdGVudCkKQEAgLTEsMTc2ICswLDAgQEAKLVsKLSAgICB7Ci0gICAgICAg
ICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAgICAgICJuYW1lIjogIkZvbyIsCi0gICAgICAgICJw
YXJ0aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJzIjogWwotICAgICAgICAgICAgewotICAg
ICAgICAgICAgICAgICJ0eXBlIjogIm9wZXJhdGlvbiIsCi0gICAgICAgICAgICAgICAgImdldHRl
ciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAiZGVsZXRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAi
aWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAicmV0dXJuLXR5cGUiLAot
ICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6ICJQcm9taXNlIiwKLSAgICAgICAgICAgICAg
ICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAg
ICAgICAgICJ0eXBlIjogInJldHVybi10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJn
ZW5lcmljIjogIlByb21pc2UiLAotICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICJ0eXBlIjogInJldHVybi10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2Vu
ZXJpYyI6ICJzZXF1ZW5jZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxl
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICJ0eXBlIjogInJldHVybi10eXBlIiwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAibnVsbGFibGUiOiB0cnVlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5
cGUiOiAiRE9NU3RyaW5nIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0
dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgICAgICAgICB9LAot
ICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAg
ICAgfSwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAg
ICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogImJhciIsCi0gICAgICAgICAgICAgICAgImVz
Y2FwZWROYW1lIjogImJhciIsCi0gICAgICAgICAgICAgICAgImFyZ3VtZW50cyI6IFtdLAotICAg
ICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAg
ewotICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAg
InN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICJpbmhlcml0IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInJlYWRv
bmx5IjogdHJ1ZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAg
ICAgICAgInR5cGUiOiAiYXR0cmlidXRlLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2Vu
ZXJpYyI6ICJQcm9taXNlIiwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAg
ICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0
ZS10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6
ICJET01TdHJpbmciLAotICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAg
ICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10K
LSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogImJheiIsCi0gICAg
ICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImJheiIsCi0gICAgICAgICAgICAgICAgImV4dEF0
dHJzIjogW10KLSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImluaGVyaXRhbmNl
IjogbnVsbCwKLSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9LAotICAgIHsKLSAgICAgICAg
InR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUiOiAiU2VydmljZVdvcmtlckNsaWVu
dHMiLAotICAgICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFsKLSAg
ICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJvcGVyYXRpb24iLAotICAgICAg
ICAgICAgICAgICJnZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic2V0dGVyIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgImRlbGV0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAi
c3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjog
InJldHVybi10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiAiUHJvbWlzZSIs
Ci0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0g
ICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAi
bnVsbGFibGUiOiB0cnVlLAotICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJDbGllbnQiLAotICAgICAgICAg
ICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgfSwKLSAg
ICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAg
ICAgICAgICAgICAgICJuYW1lIjogImdldFNlcnZpY2VkIiwKLSAgICAgICAgICAgICAgICAiZXNj
YXBlZE5hbWUiOiAiZ2V0U2VydmljZWQiLAotICAgICAgICAgICAgICAgICJhcmd1bWVudHMiOiBb
XSwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfSwKLSAgICAg
ICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJvcGVyYXRpb24iLAotICAgICAgICAg
ICAgICAgICJnZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic2V0dGVyIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgImRlbGV0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3Rh
dGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInJl
dHVybi10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiAiUHJvbWlzZSIsCi0g
ICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAg
ICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAibnVs
bGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiYW55IiwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAg
ICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAg
ICAgICAgICAibmFtZSI6ICJyZWxvYWRBbGwiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFt
ZSI6ICJyZWxvYWRBbGwiLAotICAgICAgICAgICAgICAgICJhcmd1bWVudHMiOiBbXSwKLSAgICAg
ICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfQotICAgICAgICBdLAotICAg
ICAgICAiaW5oZXJpdGFuY2UiOiBudWxsLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0s
Ci0gICAgewotICAgICAgICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFtZSI6ICJG
ZXRjaEV2ZW50IiwKLSAgICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJlcnMi
OiBbCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAib3BlcmF0aW9uIiwK
LSAgICAgICAgICAgICAgICAiZ2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInNldHRl
ciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJkZWxldGVyIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAi
dHlwZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogIlBy
b21pc2UiLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBl
IjogewotICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAicmV0dXJuLXR5cGUiLAotICAg
ICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAg
ICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAidW5pb24i
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogImFueSIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICB9
LAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0s
Ci0gICAgICAgICAgICAgICAgIm5hbWUiOiAiZGVmYXVsdCIsCi0gICAgICAgICAgICAgICAgImVz
Y2FwZWROYW1lIjogImRlZmF1bHQiLAotICAgICAgICAgICAgICAgICJhcmd1bWVudHMiOiBbXSwK
LSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfQotICAgICAgICBd
LAotICAgICAgICAiaW5oZXJpdGFuY2UiOiAiRXZlbnQiLAotICAgICAgICAiZXh0QXR0cnMiOiBb
XQotICAgIH0KLV0KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9nZXR0ZXItc2V0dGVyLmpz
b24KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2dldHRlci1zZXR0ZXIuanNv
bgkocmV2aXNpb24gMjUyODk2KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2dldHRlci1zZXR0
ZXIuanNvbgkobm9uZXhpc3RlbnQpCkBAIC0xLDExOSArMCwwIEBACi1bCi0gICAgewotICAgICAg
ICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFtZSI6ICJEaWN0aW9uYXJ5IiwKLSAg
ICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJlcnMiOiBbCi0gICAgICAgICAg
ICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAg
ICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAicmVh
ZG9ubHkiOiB0cnVlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAg
ICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJn
ZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAi
aWRsVHlwZSI6ICJ1bnNpZ25lZCBsb25nIiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJz
IjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogInByb3Bl
cnR5Q291bnQiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJwcm9wZXJ0eUNvdW50
IiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfSwKLSAgICAg
ICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJvcGVyYXRpb24iLAotICAgICAgICAg
ICAgICAgICJnZXR0ZXIiOiB0cnVlLAotICAgICAgICAgICAgICAgICJzZXR0ZXIiOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAiZGVsZXRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdGF0
aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAicmV0
dXJuLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAg
ICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5p
b24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiZmxvYXQiLAotICAg
ICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAg
ICAgICAgICAgICAgIm5hbWUiOiBudWxsLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6
IG51bGwsCi0gICAgICAgICAgICAgICAgImFyZ3VtZW50cyI6IFsKLSAgICAgICAgICAgICAgICAg
ICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIm9wdGlvbmFsIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAidmFyaWFkaWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJkZWZhdWx0IjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6
IFtdLAotICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgInR5cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogIkRPTVN0cmlu
ZyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAg
ICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJwcm9w
ZXJ0eU5hbWUiLAotICAgICAgICAgICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogInByb3Bl
cnR5TmFtZSIKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAg
ICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7
Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAib3BlcmF0aW9uIiwKLSAgICAgICAgICAgICAgICAi
Z2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInNldHRlciI6IHRydWUsCi0gICAgICAg
ICAgICAgICAgImRlbGV0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInJldHVybi10eXBl
IiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAg
ICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogInZvaWQiLAotICAgICAgICAgICAg
ICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAg
ICAgIm5hbWUiOiBudWxsLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6IG51bGwsCi0g
ICAgICAgICAgICAgICAgImFyZ3VtZW50cyI6IFsKLSAgICAgICAgICAgICAgICAgICAgewotICAg
ICAgICAgICAgICAgICAgICAgICAgIm9wdGlvbmFsIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAidmFyaWFkaWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJkZWZh
dWx0IjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdLAotICAg
ICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgInR5cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJs
ZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogIkRPTVN0cmluZyIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAg
ICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJwcm9wZXJ0eU5hbWUi
LAotICAgICAgICAgICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogInByb3BlcnR5TmFtZSIK
LSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAg
ICAgICAgICAgICAgICAgIm9wdGlvbmFsIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAidmFyaWFkaWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0Ijog
bnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdLAotICAgICAgICAg
ICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
InR5cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImdl
bmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogImZsb2F0IiwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAgICAgfSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjogInByb3BlcnR5VmFsdWUiLAotICAgICAg
ICAgICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogInByb3BlcnR5VmFsdWUiCi0gICAgICAg
ICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgICJleHRB
dHRycyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJpbmhlcml0YW5j
ZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgfQotXQpJbmRleDogTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3N5bnRheC9qc29uL2lkZW50aWZpZXItcXVhbGlmaWVkLW5hbWVzLmpzb24KPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2lkZW50aWZpZXItcXVhbGlmaWVkLW5hbWVzLmpz
b24JKHJldmlzaW9uIDI1Mjg5NikKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9pZGVudGlmaWVy
LXF1YWxpZmllZC1uYW1lcy5qc29uCShub25leGlzdGVudCkKQEAgLTEsMTg5ICswLDAgQEAKLVsK
LSAgICB7Ci0gICAgICAgICJ0eXBlIjogInR5cGVkZWYiLAotICAgICAgICAiaWRsVHlwZSI6IHsK
LSAgICAgICAgICAgICJ0eXBlIjogInR5cGVkZWYtdHlwZSIsCi0gICAgICAgICAgICAiZ2VuZXJp
YyI6IG51bGwsCi0gICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICJ1
bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgImlkbFR5cGUiOiAiZmxvYXQiLAotICAgICAgICAg
ICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgfSwKLSAgICAgICAgIm5hbWUiOiAibnVtYmVyIiwK
LSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9LAotICAgIHsKLSAgICAgICAgInR5cGUiOiAi
aW50ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUiOiAiU3lzdGVtIiwKLSAgICAgICAgInBhcnRpYWwi
OiBmYWxzZSwKLSAgICAgICAgIm1lbWJlcnMiOiBbCi0gICAgICAgICAgICB7Ci0gICAgICAgICAg
ICAgICAgInR5cGUiOiAib3BlcmF0aW9uIiwKLSAgICAgICAgICAgICAgICAiZ2V0dGVyIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgInNldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJk
ZWxldGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBl
IjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAgICAg
ICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxh
YmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJvYmplY3QiLAotICAgICAgICAgICAgICAgICAgICAi
ZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUi
OiAiY3JlYXRlT2JqZWN0IiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiY3JlYXRl
T2JqZWN0IiwKLSAgICAgICAgICAgICAgICAiYXJndW1lbnRzIjogWwotICAgICAgICAgICAgICAg
ICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAib3B0aW9uYWwiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJ2YXJpYWRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgImRlZmF1bHQiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJz
IjogW10sCi0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9u
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiRE9NU3Ry
aW5nIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAg
ICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjogImlu
dGVyZmFjZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiX2ludGVy
ZmFjZSIKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAg
ICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0g
ICAgICAgICAgICAgICAgInR5cGUiOiAib3BlcmF0aW9uIiwKLSAgICAgICAgICAgICAgICAiZ2V0
dGVyIjogdHJ1ZSwKLSAgICAgICAgICAgICAgICAic2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgImRlbGV0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInJldHVybi10eXBlIiwK
LSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAg
ICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogIkRPTVN0cmluZyIsCi0gICAgICAgICAg
ICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAg
ICAgICAibmFtZSI6IG51bGwsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogbnVsbCwK
LSAgICAgICAgICAgICAgICAiYXJndW1lbnRzIjogWwotICAgICAgICAgICAgICAgICAgICB7Ci0g
ICAgICAgICAgICAgICAgICAgICAgICAib3B0aW9uYWwiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICJ2YXJpYWRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgImRl
ZmF1bHQiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10sCi0g
ICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxh
YmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiRE9NU3RyaW5nIiwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAg
ICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjogImtleU5hbWUiLAot
ICAgICAgICAgICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImtleU5hbWUiCi0gICAgICAg
ICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgICJleHRB
dHRycyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJpbmhlcml0YW5j
ZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgfSwKLSAgICB7Ci0gICAgICAg
ICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAgICAgICJuYW1lIjogIlRleHRGaWVsZCIsCi0gICAg
ICAgICJwYXJ0aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJzIjogWwotICAgICAgICAgICAg
ewotICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAg
InN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICJpbmhlcml0IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInJlYWRv
bmx5IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAg
ICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZS10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdl
bmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJp
ZGxUeXBlIjogImJvb2xlYW4iLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQot
ICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiY29uc3QiLAotICAg
ICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJfY29uc3QiLAotICAgICAgICAgICAgICAgICJl
eHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAg
ICAgICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICJpbmhlcml0IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5IjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjog
ImF0dHJpYnV0ZS10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAot
ICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiB0cnVlLAotICAgICAgICAgICAgICAgICAg
ICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiRE9NU3Ry
aW5nIiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAg
ICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogInZhbHVlIiwKLSAgICAgICAgICAgICAgICAi
ZXNjYXBlZE5hbWUiOiAiX3ZhbHVlIiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQot
ICAgICAgICAgICAgfQotICAgICAgICBdLAotICAgICAgICAiaW5oZXJpdGFuY2UiOiBudWxsLAot
ICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0sCi0gICAgewotICAgICAgICAidHlwZSI6ICJp
bnRlcmZhY2UiLAotICAgICAgICAibmFtZSI6ICJGb29FdmVudFRhcmdldCIsCi0gICAgICAgICJw
YXJ0aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJzIjogWwotICAgICAgICAgICAgewotICAg
ICAgICAgICAgICAgICJ0eXBlIjogIm9wZXJhdGlvbiIsCi0gICAgICAgICAgICAgICAgImdldHRl
ciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAiZGVsZXRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAi
aWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAicmV0dXJuLXR5cGUiLAot
ICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAg
ICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAidm9pZCIsCi0gICAgICAgICAgICAgICAg
ICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAi
bmFtZSI6ICJhZGRFdmVudExpc3RlbmVyIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUi
OiAiYWRkRXZlbnRMaXN0ZW5lciIsCi0gICAgICAgICAgICAgICAgImFyZ3VtZW50cyI6IFsKLSAg
ICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIm9wdGlvbmFsIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAidmFyaWFkaWMiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJkZWZhdWx0IjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJleHRBdHRycyI6IFtdLAotICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IHRydWUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5
cGUiOiAiRXZlbnRMaXN0ZW5lciIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0
dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAg
ICAgICAibmFtZSI6ICJjYWxsYmFjayIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXNjYXBl
ZE5hbWUiOiAiY2FsbGJhY2siCi0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAg
ICBdLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAg
ICAgIF0sCi0gICAgICAgICJpbmhlcml0YW5jZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6
IFtdCi0gICAgfQotXQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2ltcGxlbWVudHMuanNv
bgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vaW1wbGVtZW50cy5qc29uCShy
ZXZpc2lvbiAyNTI4OTYpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vaW1wbGVtZW50cy5qc29u
CShub25leGlzdGVudCkKQEAgLTEsMTEzICswLDAgQEAKLVsKLSAgICB7Ci0gICAgICAgICJ0eXBl
IjogImludGVyZmFjZSIsCi0gICAgICAgICJuYW1lIjogIk5vZGUiLAotICAgICAgICAicGFydGlh
bCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAg
ICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJyZWFkb25seSI6IHRydWUs
Ci0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBl
IjogImF0dHJpYnV0ZS10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxs
LAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogInVu
c2lnbmVkIHNob3J0IiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAg
ICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogIm5vZGVUeXBlIiwKLSAgICAg
ICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAibm9kZVR5cGUiLAotICAgICAgICAgICAgICAgICJl
eHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJpbmhlcml0
YW5jZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgfSwKLSAgICB7Ci0gICAg
ICAgICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAgICAgICJuYW1lIjogIkV2ZW50VGFyZ2V0IiwK
LSAgICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJlcnMiOiBbCi0gICAgICAg
ICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAib3BlcmF0aW9uIiwKLSAgICAgICAgICAg
ICAgICAiZ2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInNldHRlciI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICJkZWxldGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0YXRp
YyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJyZXR1
cm4tdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAg
ICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlv
biI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJ2b2lkIiwKLSAgICAg
ICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAg
ICAgICAgICAgICJuYW1lIjogImFkZEV2ZW50TGlzdGVuZXIiLAotICAgICAgICAgICAgICAgICJl
c2NhcGVkTmFtZSI6ICJhZGRFdmVudExpc3RlbmVyIiwKLSAgICAgICAgICAgICAgICAiYXJndW1l
bnRzIjogWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAi
b3B0aW9uYWwiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ2YXJpYWRpYyI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHQiOiBudWxsLAotICAgICAgICAg
ICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10sCi0gICAgICAgICAgICAgICAgICAgICAgICAi
aWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVu
dC10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgImlkbFR5cGUiOiAiRE9NU3RyaW5nIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJuYW1lIjogInR5cGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgImVz
Y2FwZWROYW1lIjogInR5cGUiCi0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAg
ICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJvcHRpb25hbCI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgInZhcmlhZGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAiZGVmYXVsdCI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0
cnMiOiBbXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImFyZ3VtZW50LXR5cGUiLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5p
b24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJFdmVu
dExpc3RlbmVyIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQot
ICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJuYW1l
IjogImxpc3RlbmVyIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJs
aXN0ZW5lciIKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewot
ICAgICAgICAgICAgICAgICAgICAgICAgIm9wdGlvbmFsIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAidmFyaWFkaWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJk
ZWZhdWx0IjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdLAot
ICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgInR5cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJudWxs
YWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogImJvb2xlYW4iLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAg
ICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAidXNlQ2FwdHVyZSIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAidXNlQ2FwdHVyZSIKLSAg
ICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAg
ImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImluaGVy
aXRhbmNlIjogbnVsbCwKLSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9LAotICAgIHsKLSAg
ICAgICAgInR5cGUiOiAiaW1wbGVtZW50cyIsCi0gICAgICAgICJ0YXJnZXQiOiAiTm9kZSIsCi0g
ICAgICAgICJpbXBsZW1lbnRzIjogIkV2ZW50VGFyZ2V0IiwKLSAgICAgICAgImV4dEF0dHJzIjog
W10KLSAgICB9Ci1dCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vaW5kZXhlZC1wcm9wZXJ0
aWVzLmpzb24KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2luZGV4ZWQtcHJv
cGVydGllcy5qc29uCShyZXZpc2lvbiAyNTI4OTYpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24v
aW5kZXhlZC1wcm9wZXJ0aWVzLmpzb24JKG5vbmV4aXN0ZW50KQpAQCAtMSwyODMgKzAsMCBAQAot
WwotICAgIHsKLSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUiOiAi
T3JkZXJlZE1hcCIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJz
IjogWwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZSIs
Ci0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJp
bmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpbmhlcml0IjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgInJlYWRvbmx5IjogdHJ1ZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6
IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlLXR5cGUiLAotICAgICAg
ICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxs
YWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAgICAgImlkbFR5cGUiOiAidW5zaWduZWQgbG9uZyIsCi0gICAgICAgICAgICAg
ICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAg
ICAibmFtZSI6ICJzaXplIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAic2l6ZSIs
Ci0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAg
ICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAib3BlcmF0aW9uIiwKLSAgICAgICAgICAg
ICAgICAiZ2V0dGVyIjogdHJ1ZSwKLSAgICAgICAgICAgICAgICAic2V0dGVyIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgImRlbGV0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RhdGlj
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInJldHVy
bi10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAg
ICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9u
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogImFueSIsCi0gICAgICAg
ICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAg
ICAgICAgICAibmFtZSI6ICJnZXRCeUluZGV4IiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5h
bWUiOiAiZ2V0QnlJbmRleCIsCi0gICAgICAgICAgICAgICAgImFyZ3VtZW50cyI6IFsKLSAgICAg
ICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIm9wdGlvbmFsIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAidmFyaWFkaWMiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICJkZWZhdWx0IjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJleHRBdHRycyI6IFtdLAotICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBl
IjogInVuc2lnbmVkIGxvbmciLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRy
cyI6IFtdCi0gICAgICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICAg
ICAgIm5hbWUiOiAiaW5kZXgiLAotICAgICAgICAgICAgICAgICAgICAgICAgImVzY2FwZWROYW1l
IjogImluZGV4IgotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXSwKLSAg
ICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAg
IHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJvcGVyYXRpb24iLAotICAgICAgICAgICAgICAg
ICJnZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic2V0dGVyIjogdHJ1ZSwKLSAgICAg
ICAgICAgICAgICAiZGVsZXRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAicmV0dXJuLXR5
cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAg
ICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAidm9pZCIsCi0gICAgICAgICAg
ICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAg
ICAgICAibmFtZSI6ICJzZXRCeUluZGV4IiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUi
OiAic2V0QnlJbmRleCIsCi0gICAgICAgICAgICAgICAgImFyZ3VtZW50cyI6IFsKLSAgICAgICAg
ICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIm9wdGlvbmFsIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgICAgICAgICAidmFyaWFkaWMiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJkZWZhdWx0IjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJl
eHRBdHRycyI6IFtdLAotICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjog
InVuc2lnbmVkIGxvbmciLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6
IFtdCi0gICAgICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICAgICAg
Im5hbWUiOiAiaW5kZXgiLAotICAgICAgICAgICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjog
ImluZGV4IgotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0g
ICAgICAgICAgICAgICAgICAgICAgICAib3B0aW9uYWwiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICJ2YXJpYWRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgImRl
ZmF1bHQiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10sCi0g
ICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxh
YmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiYW55IiwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAg
ICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjogInZhbHVlIiwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJ2YWx1ZSIKLSAgICAgICAgICAgICAgICAg
ICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10K
LSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAi
b3BlcmF0aW9uIiwKLSAgICAgICAgICAgICAgICAiZ2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgInNldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJkZWxldGVyIjogdHJ1ZSwK
LSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmlu
Z2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAg
ICAgICAgICAgICJ0eXBlIjogInJldHVybi10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdl
bmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJp
ZGxUeXBlIjogInZvaWQiLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAg
ICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAicmVtb3ZlQnlJbmRleCIs
Ci0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogInJlbW92ZUJ5SW5kZXgiLAotICAgICAg
ICAgICAgICAgICJhcmd1bWVudHMiOiBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAg
ICAgICAgICAgICAgICAgICJvcHRpb25hbCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgInZhcmlhZGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdCI6
IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICJ0eXBlIjogImFyZ3VtZW50LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJn
ZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJ1bnNpZ25lZCBsb25nIiwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAg
ICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjogImluZGV4IiwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJpbmRleCIKLSAgICAgICAgICAgICAg
ICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjog
W10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUi
OiAib3BlcmF0aW9uIiwKLSAgICAgICAgICAgICAgICAiZ2V0dGVyIjogdHJ1ZSwKLSAgICAgICAg
ICAgICAgICAic2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImRlbGV0ZXIiOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0
cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAg
ICAgICAgICAgICAgICJ0eXBlIjogInJldHVybi10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAg
ImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAg
ICJpZGxUeXBlIjogImFueSIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0g
ICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJnZXQiLAotICAgICAg
ICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJnZXQiLAotICAgICAgICAgICAgICAgICJhcmd1bWVu
dHMiOiBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJv
cHRpb25hbCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgInZhcmlhZGljIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdCI6IG51bGwsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJp
ZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImFyZ3VtZW50
LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAiaWRsVHlwZSI6ICJET01TdHJpbmciLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAg
ICAgICAgICAgICAgIm5hbWUiOiAibmFtZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXNj
YXBlZE5hbWUiOiAibmFtZSIKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAg
IF0sCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0gICAg
ICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAib3BlcmF0aW9uIiwKLSAgICAgICAg
ICAgICAgICAiZ2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInNldHRlciI6IHRydWUs
Ci0gICAgICAgICAgICAgICAgImRlbGV0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3Rh
dGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInJl
dHVybi10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAg
ICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVu
aW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogInZvaWQiLAotICAg
ICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAg
ICAgICAgICAgICAgIm5hbWUiOiAic2V0IiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUi
OiAic2V0IiwKLSAgICAgICAgICAgICAgICAiYXJndW1lbnRzIjogWwotICAgICAgICAgICAgICAg
ICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAib3B0aW9uYWwiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJ2YXJpYWRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgImRlZmF1bHQiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJz
IjogW10sCi0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9u
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiRE9NU3Ry
aW5nIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAg
ICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjogIm5h
bWUiLAotICAgICAgICAgICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogIm5hbWUiCi0gICAg
ICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAg
ICAgICAgICAgICJvcHRpb25hbCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgInZh
cmlhZGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdCI6IG51bGws
Ci0gICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBl
IjogImFyZ3VtZW50LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmlj
IjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJhbnkiLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgICAgICAgICB9LAotICAgICAg
ICAgICAgICAgICAgICAgICAgIm5hbWUiOiAidmFsdWUiLAotICAgICAgICAgICAgICAgICAgICAg
ICAgImVzY2FwZWROYW1lIjogInZhbHVlIgotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAg
ICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAg
fSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJvcGVyYXRpb24iLAot
ICAgICAgICAgICAgICAgICJnZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic2V0dGVy
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImRlbGV0ZXIiOiB0cnVlLAotICAgICAgICAgICAg
ICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5
cGUiOiAicmV0dXJuLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGws
Ci0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAidm9p
ZCIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAg
fSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJyZW1vdmUiLAotICAgICAgICAgICAgICAgICJl
c2NhcGVkTmFtZSI6ICJyZW1vdmUiLAotICAgICAgICAgICAgICAgICJhcmd1bWVudHMiOiBbCi0g
ICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJvcHRpb25hbCI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgInZhcmlhZGljIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdCI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAiZXh0QXR0cnMiOiBbXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjog
ewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImFyZ3VtZW50LXR5cGUiLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRs
VHlwZSI6ICJET01TdHJpbmciLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRy
cyI6IFtdCi0gICAgICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICAg
ICAgIm5hbWUiOiAibmFtZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUi
OiAibmFtZSIKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAg
ICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAg
ICAgICAgImluaGVyaXRhbmNlIjogbnVsbCwKLSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9
Ci1dCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vaW5oZXJpdHMtZ2V0dGVyLmpzb24KPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2luaGVyaXRzLWdldHRlci5qc29uCShy
ZXZpc2lvbiAyNTI4OTYpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vaW5oZXJpdHMtZ2V0dGVy
Lmpzb24JKG5vbmV4aXN0ZW50KQpAQCAtMSwxMDEgKzAsMCBAQAotWwotICAgIHsKLSAgICAgICAg
InR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUiOiAiQW5pbWFsIiwKLSAgICAgICAg
InBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJlcnMiOiBbCi0gICAgICAgICAgICB7Ci0g
ICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAic3Rh
dGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAicmVhZG9ubHki
OiB0cnVlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAg
ICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmlj
IjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlw
ZSI6ICJET01TdHJpbmciLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAg
ICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAibmFtZSIsCi0gICAgICAg
ICAgICAgICAgImVzY2FwZWROYW1lIjogIm5hbWUiLAotICAgICAgICAgICAgICAgICJleHRBdHRy
cyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJpbmhlcml0YW5jZSI6
IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgfSwKLSAgICB7Ci0gICAgICAgICJ0
eXBlIjogImludGVyZmFjZSIsCi0gICAgICAgICJuYW1lIjogIlBlcnNvbiIsCi0gICAgICAgICJw
YXJ0aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJzIjogWwotICAgICAgICAgICAgewotICAg
ICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInN0YXRp
YyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICJpbmhlcml0IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5Ijog
dHJ1ZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAg
InR5cGUiOiAiYXR0cmlidXRlLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6
IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUi
OiAidW5zaWduZWQgc2hvcnQiLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQot
ICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiYWdlIiwKLSAgICAg
ICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiYWdlIiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0
cnMiOiBbXQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAi
dHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaW5o
ZXJpdCI6IHRydWUsCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5IjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJp
YnV0ZS10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAg
ICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVu
aW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogIkRPTVN0cmluZyIs
Ci0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwK
LSAgICAgICAgICAgICAgICAibmFtZSI6ICJuYW1lIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBl
ZE5hbWUiOiAibmFtZSIsCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAg
ICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImluaGVyaXRhbmNlIjogIkFuaW1hbCIsCi0gICAg
ICAgICJleHRBdHRycyI6IFtdCi0gICAgfSwKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImludGVy
ZmFjZSIsCi0gICAgICAgICJuYW1lIjogIkdob3N0IiwKLSAgICAgICAgInBhcnRpYWwiOiBmYWxz
ZSwKLSAgICAgICAgIm1lbWJlcnMiOiBbCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAg
InR5cGUiOiAiYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlu
aGVyaXQiOiB0cnVlLAotICAgICAgICAgICAgICAgICJyZWFkb25seSI6IHRydWUsCi0gICAgICAg
ICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJp
YnV0ZS10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAg
ICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVu
aW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogIkRPTVN0cmluZyIs
Ci0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwK
LSAgICAgICAgICAgICAgICAibmFtZSI6ICJuYW1lIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBl
ZE5hbWUiOiAibmFtZSIsCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAg
ICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImluaGVyaXRhbmNlIjogIlBlcnNvbiIsCi0gICAg
ICAgICJleHRBdHRycyI6IFtdCi0gICAgfQotXQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29u
L2ludGVyZmFjZS1pbmhlcml0cy5qc29uCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgv
anNvbi9pbnRlcmZhY2UtaW5oZXJpdHMuanNvbgkocmV2aXNpb24gMjUyODk2KQorKysgTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3N5bnRheC9qc29uL2ludGVyZmFjZS1pbmhlcml0cy5qc29uCShub25leGlzdGVudCkKQEAg
LTEsODMgKzAsMCBAQAotWwotICAgIHsKLSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAg
ICAgICAgIm5hbWUiOiAiQW5pbWFsIiwKLSAgICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAg
ICAgIm1lbWJlcnMiOiBbCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAi
YXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImluaGVyaXQiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAicmVhZG9ubHkiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlLXR5
cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAg
ICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiRE9NU3RyaW5nIiwKLSAgICAg
ICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAg
ICAgICAgICAgICJuYW1lIjogIm5hbWUiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6
ICJuYW1lIiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfQot
ICAgICAgICBdLAotICAgICAgICAiaW5oZXJpdGFuY2UiOiBudWxsLAotICAgICAgICAiZXh0QXR0
cnMiOiBbXQotICAgIH0sCi0gICAgewotICAgICAgICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAg
ICAgICAibmFtZSI6ICJIdW1hbiIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0gICAgICAg
ICJtZW1iZXJzIjogWwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogImF0
dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpbmhlcml0IjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5IjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZS10eXBl
IiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAg
ICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogIkRvZyIsCi0gICAgICAgICAgICAg
ICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAg
ICAibmFtZSI6ICJwZXQiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJwZXQiLAot
ICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0s
Ci0gICAgICAgICJpbmhlcml0YW5jZSI6ICJBbmltYWwiLAotICAgICAgICAiZXh0QXR0cnMiOiBb
XQotICAgIH0sCi0gICAgewotICAgICAgICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAi
bmFtZSI6ICJEb2ciLAotICAgICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVy
cyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUi
LAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3Ry
aW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICJyZWFkb25seSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBl
IjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAg
ICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51
bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJIdW1hbiIsCi0gICAgICAgICAgICAgICAgICAg
ICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFt
ZSI6ICJvd25lciIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogIm93bmVyIiwKLSAg
ICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfQotICAgICAgICBdLAot
ICAgICAgICAiaW5oZXJpdGFuY2UiOiAiQW5pbWFsIiwKLSAgICAgICAgImV4dEF0dHJzIjogW10K
LSAgICB9Ci1dCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vaXRlcmFibGUuanNvbgo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vaXRlcmFibGUuanNvbgkocmV2aXNpb24g
MjUyODk2KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2l0ZXJhYmxlLmpzb24JKG5vbmV4aXN0
ZW50KQpAQCAtMSw4NiArMCwwIEBACi1bCi0gICAgewotICAgICAgICAidHlwZSI6ICJpbnRlcmZh
Y2UiLAotICAgICAgICAibmFtZSI6ICJJdGVyYWJsZU9uZSIsCi0gICAgICAgICJwYXJ0aWFsIjog
ZmFsc2UsCi0gICAgICAgICJtZW1iZXJzIjogWwotICAgICAgICAgICAgewotICAgICAgICAgICAg
ICAgICJ0eXBlIjogIml0ZXJhYmxlIiwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IFsKLSAg
ICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiBudWxs
LAotICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAg
ICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAi
dW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogImxvbmci
LAotICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAg
ICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjog
W10KLSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImluaGVyaXRhbmNlIjogbnVs
bCwKLSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9LAotICAgIHsKLSAgICAgICAgInR5cGUi
OiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUiOiAiSXRlcmFibGVUd28iLAotICAgICAgICAi
cGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAg
ICAgICAgICAgICAgICAidHlwZSI6ICJpdGVyYWJsZSIsCi0gICAgICAgICAgICAgICAgImlkbFR5
cGUiOiBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ0
eXBlIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlw
ZSI6ICJzaG9ydCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAg
ICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICAidHlwZSI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJp
YyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiB0cnVlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAiaWRsVHlwZSI6ICJkb3VibGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0
dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAg
ICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAg
ICAgICAgImluaGVyaXRhbmNlIjogbnVsbCwKLSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9
LAotICAgIHsKLSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUiOiAi
SXRlcmFibGVUaHJlZSIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1i
ZXJzIjogWwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogIml0ZXJhYmxl
IiwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IFsKLSAgICAgICAgICAgICAgICAgICAgewot
ICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiBudWxsLAotICAgICAgICAgICAgICAgICAg
ICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxl
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogImxvbmciLAotICAgICAgICAgICAgICAgICAg
ICAgICAgImV4dEF0dHJzIjogWwotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAiWEF0dHIiLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAiYXJndW1lbnRzIjogbnVsbCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgInR5cGUiOiAiZXh0ZW5kZWQtYXR0cmlidXRlIiwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgInJocyI6IG51bGwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB9Ci0gICAgICAgICAgICAgICAgICAgICAgICBdCi0gICAgICAgICAgICAgICAgICAgIH0K
LSAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAg
ICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJpbmhlcml0YW5jZSI6IG51bGwsCi0gICAg
ICAgICJleHRBdHRycyI6IFtdCi0gICAgfQotXQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29u
L2l0ZXJhdG9yLmpzb24KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2l0ZXJh
dG9yLmpzb24JKHJldmlzaW9uIDI1Mjg5NikKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9pdGVy
YXRvci5qc29uCShub25leGlzdGVudCkKQEAgLTEsMjc2ICswLDAgQEAKLVsKLSAgICB7Ci0gICAg
ICAgICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAgICAgICJuYW1lIjogIlNlc3Npb25NYW5hZ2Vy
IiwKLSAgICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJlcnMiOiBbCi0gICAg
ICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAib3BlcmF0aW9uIiwKLSAgICAgICAg
ICAgICAgICAiZ2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInNldHRlciI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICJkZWxldGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0
YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAic2VxdWVuY2Ui
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAg
ICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9u
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogIlNlc3Npb24iCi0gICAg
ICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJnZXRTZXNzaW9uRm9yVXNl
ciIsCi0gICAgICAgICAgICAgICAgImFyZ3VtZW50cyI6IFsKLSAgICAgICAgICAgICAgICAgICAg
ewotICAgICAgICAgICAgICAgICAgICAgICAgIm9wdGlvbmFsIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAidmFyaWFkaWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJleHRBdHRycyI6IFtdLAotICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgInNlcXVlbmNlIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1
bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogIkRP
TVN0cmluZyIKLSAgICAgICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAg
ICAgICAibmFtZSI6ICJ1c2VybmFtZSIKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAg
ICAgICAgIF0sCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0s
Ci0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAg
ICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lm
aWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAicmVhZG9ubHkiOiB0cnVlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewot
ICAgICAgICAgICAgICAgICAgICAic2VxdWVuY2UiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAg
ICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ICAgICJpZGxUeXBlIjogInVuc2lnbmVkIGxvbmciCi0gICAgICAgICAgICAgICAgfSwKLSAgICAg
ICAgICAgICAgICAibmFtZSI6ICJzZXNzaW9uQ291bnQiLAotICAgICAgICAgICAgICAgICJleHRB
dHRycyI6IFtdCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAg
ICJ0eXBlIjogIml0ZXJhdG9yIiwKLSAgICAgICAgICAgICAgICAiZ2V0dGVyIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgInNldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJkZWxldGVy
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewot
ICAgICAgICAgICAgICAgICAgICAic2VxdWVuY2UiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAg
ICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ICAgICJpZGxUeXBlIjogIlNlc3Npb24iCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAg
ICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfQotICAgICAgICBdLAotICAgICAgICAi
aW5oZXJpdGFuY2UiOiBudWxsLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0sCi0gICAg
ewotICAgICAgICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFtZSI6ICJTZXNzaW9u
IiwKLSAgICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJlcnMiOiBbCi0gICAg
ICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAgICAgICAg
ICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAicmVhZG9ubHkiOiB0cnVlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAg
ICAgICAgICAgICAgICAic2VxdWVuY2UiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImdl
bmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJp
ZGxUeXBlIjogIkRPTVN0cmluZyIKLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAg
ICJuYW1lIjogInVzZXJuYW1lIiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAg
ICAgICAgICAgfQotICAgICAgICBdLAotICAgICAgICAiaW5oZXJpdGFuY2UiOiBudWxsLAotICAg
ICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0sCi0gICAgewotICAgICAgICAidHlwZSI6ICJpbnRl
cmZhY2UiLAotICAgICAgICAibmFtZSI6ICJTZXNzaW9uTWFuYWdlcjIiLAotICAgICAgICAicGFy
dGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAg
ICAgICAgICAgICAidHlwZSI6ICJvcGVyYXRpb24iLAotICAgICAgICAgICAgICAgICJnZXR0ZXIi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgImRlbGV0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlk
bFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJzZXF1ZW5jZSI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxs
YWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiU2Vzc2lvbjIiCi0gICAgICAgICAgICAgICAgfSwK
LSAgICAgICAgICAgICAgICAibmFtZSI6ICJnZXRTZXNzaW9uRm9yVXNlciIsCi0gICAgICAgICAg
ICAgICAgImFyZ3VtZW50cyI6IFsKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAg
ICAgICAgICAgICAgIm9wdGlvbmFsIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAi
dmFyaWFkaWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtd
LAotICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgInNlcXVlbmNlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJs
ZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogIkRPTVN0cmluZyIKLSAgICAg
ICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJ1
c2VybmFtZSIKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAg
ICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7
Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAi
c3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAicmVhZG9u
bHkiOiB0cnVlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAg
ICAgICAic2VxdWVuY2UiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBu
dWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjog
InVuc2lnbmVkIGxvbmciCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFt
ZSI6ICJzZXNzaW9uQ291bnQiLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAg
ICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogIml0ZXJh
dG9yIiwKLSAgICAgICAgICAgICAgICAiZ2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
InNldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJkZWxldGVyIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmll
ciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAg
ICAgICAic2VxdWVuY2UiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBu
dWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjog
IlNlc3Npb24yIgotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIml0ZXJhdG9y
T2JqZWN0IjogIlNlc3Npb25JdGVyYXRvciIsCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjog
W10KLSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImluaGVyaXRhbmNlIjogbnVs
bCwKLSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9LAotICAgIHsKLSAgICAgICAgInR5cGUi
OiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUiOiAiU2Vzc2lvbjIiLAotICAgICAgICAicGFy
dGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAg
ICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJzdGF0aWMi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJyZWFkb25seSI6IHRy
dWUsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJz
ZXF1ZW5jZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0g
ICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAg
ICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiRE9NU3Ry
aW5nIgotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAidXNlcm5h
bWUiLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAg
ICAgIF0sCi0gICAgICAgICJpbmhlcml0YW5jZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6
IFtdCi0gICAgfSwKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAgICAg
ICJuYW1lIjogIlNlc3Npb25JdGVyYXRvciIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0g
ICAgICAgICJtZW1iZXJzIjogWwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBl
IjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpbmhlcml0
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5IjogdHJ1ZSwKLSAgICAgICAgICAg
ICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInNlcXVlbmNlIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAg
ICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJ1bnNpZ25lZCBsb25nIgotICAgICAg
ICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAicmVtYWluaW5nU2Vzc2lvbnMi
LAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAg
IF0sCi0gICAgICAgICJpbmhlcml0YW5jZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6IFtd
Ci0gICAgfSwKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAgICAgICJu
YW1lIjogIk5vZGVMaXN0IiwKLSAgICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1l
bWJlcnMiOiBbCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiaXRlcmF0
b3IiLAotICAgICAgICAgICAgICAgICJnZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAi
c2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImRlbGV0ZXIiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVy
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAg
ICAgICJzZXF1ZW5jZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51
bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAi
Tm9kZSIKLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJpdGVyYXRvck9iamVj
dCI6ICJOb2RlSXRlcmF0b3IiLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAg
ICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJpbmhlcml0YW5jZSI6IG51bGwsCi0gICAg
ICAgICJleHRBdHRycyI6IFtdCi0gICAgfSwKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImludGVy
ZmFjZSIsCi0gICAgICAgICJuYW1lIjogIk5vZGVJdGVyYXRvciIsCi0gICAgICAgICJwYXJ0aWFs
IjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJzIjogWwotICAgICAgICAgICAgewotICAgICAgICAg
ICAgICAgICJ0eXBlIjogIml0ZXJhdG9yIiwKLSAgICAgICAgICAgICAgICAiZ2V0dGVyIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgInNldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJk
ZWxldGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBl
IjogewotICAgICAgICAgICAgICAgICAgICAic2VxdWVuY2UiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgICAgICJpZGxUeXBlIjogIk5vZGUiCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAg
ICAgICAgICAiaXRlcmF0b3JPYmplY3QiOiAib2JqZWN0IiwKLSAgICAgICAgICAgICAgICAiZXh0
QXR0cnMiOiBbXQotICAgICAgICAgICAgfQotICAgICAgICBdLAotICAgICAgICAiaW5oZXJpdGFu
Y2UiOiBudWxsLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0KLV0KSW5kZXg6IExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC9zeW50YXgvanNvbi9sZWdhY3lpdGVyYWJsZS5qc29uCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC9zeW50YXgvanNvbi9sZWdhY3lpdGVyYWJsZS5qc29uCShyZXZpc2lvbiAyNTI4OTYpCisr
KyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vbGVnYWN5aXRlcmFibGUuanNvbgkobm9uZXhpc3RlbnQp
CkBAIC0xLDI1ICswLDAgQEAKLVsKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImludGVyZmFjZSIs
Ci0gICAgICAgICJuYW1lIjogIkxlZ2FjeUl0ZXJhYmxlIiwKLSAgICAgICAgInBhcnRpYWwiOiBm
YWxzZSwKLSAgICAgICAgIm1lbWJlcnMiOiBbCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAg
ICAgInR5cGUiOiAibGVnYWN5aXRlcmFibGUiLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjog
WwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6
IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAi
bG9uZyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAg
ICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICAiZXh0QXR0
cnMiOiBbXQotICAgICAgICAgICAgfQotICAgICAgICBdLAotICAgICAgICAiaW5oZXJpdGFuY2Ui
OiBudWxsLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0KLV0KSW5kZXg6IExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC9zeW50YXgvanNvbi9tYXBsaWtlLmpzb24KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRh
eC9qc29uL21hcGxpa2UuanNvbgkocmV2aXNpb24gMjUyODk2KQorKysgTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRh
eC9qc29uL21hcGxpa2UuanNvbgkobm9uZXhpc3RlbnQpCkBAIC0xLDExMiArMCwwIEBACi1bCi0g
ICAgewotICAgICAgICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFtZSI6ICJNYXBM
aWtlIiwKLSAgICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJlcnMiOiBbCi0g
ICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAibWFwbGlrZSIsCi0gICAgICAg
ICAgICAgICAgImlkbFR5cGUiOiBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJ0eXBlIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJnZW5l
cmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAiaWRsVHlwZSI6ICJsb25nIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJleHRB
dHRycyI6IFtdCi0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsK
LSAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogbnVsbCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJs
ZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJmbG9hdCIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAg
ICAgICAgXSwKLSAgICAgICAgICAgICAgICAicmVhZG9ubHkiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfQotICAgICAgICBdLAotICAgICAgICAi
aW5oZXJpdGFuY2UiOiBudWxsLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0sCi0gICAg
ewotICAgICAgICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFtZSI6ICJSZWFkT25s
eU1hcExpa2UiLAotICAgICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6
IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJtYXBsaWtlIiwKLSAg
ICAgICAgICAgICAgICAiaWRsVHlwZSI6IFsKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAg
ICAgICAgICAgICAgICAgICAgInR5cGUiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAg
ImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJpZGxUeXBlIjogImxvbmciLAotICAgICAgICAgICAgICAgICAgICAgICAg
ImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAg
ICAgewotICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiBudWxsLAotICAgICAgICAgICAg
ICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgIm51
bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogImZsb2F0IiwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAg
ICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgICJyZWFkb25seSI6IHRydWUsCi0gICAgICAg
ICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAg
ICAgImluaGVyaXRhbmNlIjogbnVsbCwKLSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9LAot
ICAgIHsKLSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUiOiAiSSIs
Ci0gICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJzIjogWwotICAgICAg
ICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogIm1hcGxpa2UiLAotICAgICAgICAgICAg
ICAgICJpZGxUeXBlIjogWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICAidHlwZSI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6
IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgImlkbFR5cGUiOiAiRE9NU3RyaW5nIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJleHRB
dHRycyI6IFsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICJuYW1lIjogIlhBdHRyMiIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJhcmd1bWVudHMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAidHlwZSI6ICJleHRlbmRlZC1hdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAicmhzIjogbnVsbAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KLSAg
ICAgICAgICAgICAgICAgICAgICAgIF0KLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAg
ICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiBudWxsLAotICAg
ICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAg
ICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAidW5pb24i
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogImxvbmciLAotICAg
ICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogWwotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAiWEF0dHIz
IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImFyZ3VtZW50cyI6IG51bGwsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImV4dGVuZGVkLWF0dHJpYnV0
ZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyaHMiOiBudWxsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICAgICAgICAgXQotICAgICAg
ICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICAicmVh
ZG9ubHkiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAg
ICAgfQotICAgICAgICBdLAotICAgICAgICAiaW5oZXJpdGFuY2UiOiBudWxsLAotICAgICAgICAi
ZXh0QXR0cnMiOiBbXQotICAgIH0KLV0KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9taXhp
bi5qc29uCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9taXhpbi5qc29uCShy
ZXZpc2lvbiAyNTI4OTYpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vbWl4aW4uanNvbgkobm9u
ZXhpc3RlbnQpCkBAIC0xLDY2ICswLDAgQEAKLVsKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImlu
dGVyZmFjZSBtaXhpbiIsCi0gICAgICAgICJuYW1lIjogIkdsb2JhbENyeXB0byIsCi0gICAgICAg
ICJwYXJ0aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJzIjogWwotICAgICAgICAgICAgewot
ICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInN0
YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICJpbmhlcml0IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5
IjogdHJ1ZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAg
ICAgInR5cGUiOiAiYXR0cmlidXRlLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJp
YyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5
cGUiOiAiQ3J5cHRvIiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAg
ICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogImNyeXB0byIsCi0gICAgICAg
ICAgICAgICAgImVzY2FwZWROYW1lIjogImNyeXB0byIsCi0gICAgICAgICAgICAgICAgImV4dEF0
dHJzIjogW10KLSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImV4dEF0dHJzIjog
W10KLSAgICB9LAotICAgIHsKLSAgICAgICAgInR5cGUiOiAiaW5jbHVkZXMiLAotICAgICAgICAi
dGFyZ2V0IjogIldpbmRvdyIsCi0gICAgICAgICJpbmNsdWRlcyI6ICJHbG9iYWxDcnlwdG8iLAot
ICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0sCi0gICAgewotICAgICAgICAidHlwZSI6ICJp
bmNsdWRlcyIsCi0gICAgICAgICJ0YXJnZXQiOiAiV29ya2VyR2xvYmFsU2NvcGUiLAotICAgICAg
ICAiaW5jbHVkZXMiOiAiR2xvYmFsQ3J5cHRvIiwKLSAgICAgICAgImV4dEF0dHJzIjogW10KLSAg
ICB9LAotICAgIHsKLSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIG1peGluIiwKLSAgICAgICAg
Im5hbWUiOiAiV2luZG93T3JXb3JrZXJHbG9iYWxTY29wZSIsCi0gICAgICAgICJwYXJ0aWFsIjog
dHJ1ZSwKLSAgICAgICAgIm1lbWJlcnMiOiBbCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAg
ICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAicmVhZG9ubHkiOiB0cnVlLAotICAg
ICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJh
dHRyaWJ1dGUtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAg
ICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAg
ICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJDcnlwdG8i
LAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0s
Ci0gICAgICAgICAgICAgICAgIm5hbWUiOiAiY3J5cHRvIiwKLSAgICAgICAgICAgICAgICAiZXNj
YXBlZE5hbWUiOiAiY3J5cHRvIiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAg
ICAgICAgICAgfQotICAgICAgICBdLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0KLV0K
SW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9uYW1lZGNvbnN0cnVjdG9yLmpzb24KPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL25hbWVkY29uc3RydWN0b3IuanNvbgkocmV2
aXNpb24gMjUyODk2KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL25hbWVkY29uc3RydWN0b3Iu
anNvbgkobm9uZXhpc3RlbnQpCkBAIC0xLDQ2ICswLDAgQEAKLVsKLSAgICB7Ci0gICAgICAgICJ0
eXBlIjogImludGVyZmFjZSIsCi0gICAgICAgICJuYW1lIjogIkhUTUxBdWRpb0VsZW1lbnQiLAot
ICAgICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFtdLAotICAgICAg
ICAiaW5oZXJpdGFuY2UiOiAiSFRNTE1lZGlhRWxlbWVudCIsCi0gICAgICAgICJleHRBdHRycyI6
IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJOYW1lZENvbnN0cnVj
dG9yIiwKLSAgICAgICAgICAgICAgICAiYXJndW1lbnRzIjogbnVsbCwKLSAgICAgICAgICAgICAg
ICAidHlwZSI6ICJleHRlbmRlZC1hdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJyaHMiOiB7
Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImlkZW50aWZpZXIiLAotICAgICAgICAgICAg
ICAgICAgICAidmFsdWUiOiAiQXVkaW8iCi0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAg
fSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJOYW1lZENvbnN0cnVj
dG9yIiwKLSAgICAgICAgICAgICAgICAiYXJndW1lbnRzIjogWwotICAgICAgICAgICAgICAgICAg
ICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAib3B0aW9uYWwiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICJ2YXJpYWRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgImRlZmF1bHQiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjog
W10sCi0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
Im51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiRE9NU3RyaW5n
IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAg
ICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjogInNyYyIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAic3JjIgotICAgICAgICAg
ICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICAidHlwZSI6
ICJleHRlbmRlZC1hdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJyaHMiOiB7Ci0gICAgICAg
ICAgICAgICAgICAgICJ0eXBlIjogImlkZW50aWZpZXIiLAotICAgICAgICAgICAgICAgICAgICAi
dmFsdWUiOiAiQXVkaW8iCi0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgfQotICAgICAg
ICBdCi0gICAgfQotXQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL25hbWVzcGFjZS5qc29u
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9uYW1lc3BhY2UuanNvbgkocmV2
aXNpb24gMjUyODk2KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL25hbWVzcGFjZS5qc29uCShu
b25leGlzdGVudCkKQEAgLTEsMTQxICswLDAgQEAKLVsKLSAgICB7Ci0gICAgICAgICJ0eXBlIjog
Im5hbWVzcGFjZSIsCi0gICAgICAgICJuYW1lIjogIlZlY3RvclV0aWxzIiwKLSAgICAgICAgInBh
cnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJlcnMiOiBbCi0gICAgICAgICAgICB7Ci0gICAg
ICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAic3RhdGlj
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAicmVhZG9ubHkiOiB0
cnVlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAi
dHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjog
bnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6
ICJWZWN0b3IiLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAg
ICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAidW5pdCIsCi0gICAgICAgICAgICAg
ICAgImVzY2FwZWROYW1lIjogInVuaXQiLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtd
Ci0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjog
Im9wZXJhdGlvbiIsCi0gICAgICAgICAgICAgICAgImdldHRlciI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICJzZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiZGVsZXRlciI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3Ry
aW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAg
ICAgICAgICAgICAgInR5cGUiOiAicmV0dXJuLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAi
Z2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAg
ImlkbFR5cGUiOiAiZG91YmxlIiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10K
LSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogImRvdFByb2R1Y3Qi
LAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJkb3RQcm9kdWN0IiwKLSAgICAgICAg
ICAgICAgICAiYXJndW1lbnRzIjogWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICAib3B0aW9uYWwiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJ2YXJpYWRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHQiOiBu
dWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10sCi0gICAgICAgICAg
ICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAi
dHlwZSI6ICJhcmd1bWVudC10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2Vu
ZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiVmVjdG9yIiwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAgICAgfSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjogIngiLAotICAgICAgICAgICAgICAgICAg
ICAgICAgImVzY2FwZWROYW1lIjogIngiCi0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAg
ICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJvcHRpb25hbCI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICAgICAgICAgInZhcmlhZGljIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAiZGVmYXVsdCI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAi
ZXh0QXR0cnMiOiBbXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImFyZ3VtZW50LXR5cGUiLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6
ICJWZWN0b3IiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0g
ICAgICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUi
OiAieSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAieSIKLSAgICAg
ICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgImV4
dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAg
ICAgInR5cGUiOiAib3BlcmF0aW9uIiwKLSAgICAgICAgICAgICAgICAiZ2V0dGVyIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgInNldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJkZWxl
dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjog
ewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAgICAgICAg
ICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxl
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICAgICAiaWRsVHlwZSI6ICJWZWN0b3IiLAotICAgICAgICAgICAgICAgICAgICAiZXh0
QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAi
Y3Jvc3NQcm9kdWN0IiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiY3Jvc3NQcm9k
dWN0IiwKLSAgICAgICAgICAgICAgICAiYXJndW1lbnRzIjogWwotICAgICAgICAgICAgICAgICAg
ICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAib3B0aW9uYWwiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICJ2YXJpYWRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgImRlZmF1bHQiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjog
W10sCi0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
Im51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiVmVjdG9yIiwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAg
ICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjogIngiLAotICAg
ICAgICAgICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogIngiCi0gICAgICAgICAgICAgICAg
ICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJv
cHRpb25hbCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgInZhcmlhZGljIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdCI6IG51bGwsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJp
ZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImFyZ3VtZW50
LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAiaWRsVHlwZSI6ICJWZWN0b3IiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJl
eHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAg
ICAgICAgICAgIm5hbWUiOiAieSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXNjYXBlZE5h
bWUiOiAieSIKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAg
ICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAg
ICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9LAotICAgIHsKLSAgICAgICAgInR5cGUiOiAibmFt
ZXNwYWNlIiwKLSAgICAgICAgIm5hbWUiOiAiU29tZU5hbWVzcGFjZSIsCi0gICAgICAgICJwYXJ0
aWFsIjogdHJ1ZSwKLSAgICAgICAgIm1lbWJlcnMiOiBbXSwKLSAgICAgICAgImV4dEF0dHJzIjog
W10KLSAgICB9Ci1dCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vbm9pbnRlcmZhY2VvYmpl
Y3QuanNvbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vbm9pbnRlcmZhY2Vv
YmplY3QuanNvbgkocmV2aXNpb24gMjUyODk2KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL25v
aW50ZXJmYWNlb2JqZWN0Lmpzb24JKG5vbmV4aXN0ZW50KQpAQCAtMSw1NSArMCwwIEBACi1bCi0g
ICAgewotICAgICAgICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFtZSI6ICJRdWVy
eSIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJzIjogWwotICAg
ICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogIm9wZXJhdGlvbiIsCi0gICAgICAg
ICAgICAgICAgImdldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzZXR0ZXIiOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAiZGVsZXRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJz
dGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAi
cmV0dXJuLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAg
ICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAi
dW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiYW55IiwKLSAg
ICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAg
ICAgICAgICAgICAgICJuYW1lIjogImxvb2t1cEVudHJ5IiwKLSAgICAgICAgICAgICAgICAiZXNj
YXBlZE5hbWUiOiAibG9va3VwRW50cnkiLAotICAgICAgICAgICAgICAgICJhcmd1bWVudHMiOiBb
Ci0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJvcHRpb25h
bCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgInZhcmlhZGljIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdCI6IG51bGwsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAiZXh0QXR0cnMiOiBbXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBl
IjogewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImFyZ3VtZW50LXR5cGUi
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAi
aWRsVHlwZSI6ICJ1bnNpZ25lZCBsb25nIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAi
ZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICJuYW1lIjogImtleSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXNjYXBl
ZE5hbWUiOiAia2V5IgotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXSwK
LSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfQotICAgICAgICBd
LAotICAgICAgICAiaW5oZXJpdGFuY2UiOiBudWxsLAotICAgICAgICAiZXh0QXR0cnMiOiBbCi0g
ICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgIm5hbWUiOiAiTm9JbnRlcmZhY2VPYmplY3Qi
LAotICAgICAgICAgICAgICAgICJhcmd1bWVudHMiOiBudWxsLAotICAgICAgICAgICAgICAgICJ0
eXBlIjogImV4dGVuZGVkLWF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInJocyI6IG51bGwK
LSAgICAgICAgICAgIH0KLSAgICAgICAgXQotICAgIH0KLV0KSW5kZXg6IExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50
YXgvanNvbi9udWxsYWJsZS5qc29uCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNv
bi9udWxsYWJsZS5qc29uCShyZXZpc2lvbiAyNTI4OTYpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pz
b24vbnVsbGFibGUuanNvbgkobm9uZXhpc3RlbnQpCkBAIC0xLDU2ICswLDAgQEAKLVsKLSAgICB7
Ci0gICAgICAgICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAgICAgICJuYW1lIjogIk15Q29uc3Rh
bnRzIiwKLSAgICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJlcnMiOiBbCi0g
ICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiY29uc3QiLAotICAgICAgICAg
ICAgICAgICJudWxsYWJsZSI6IHRydWUsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0g
ICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImNvbnN0LXR5cGUiLAotICAgICAgICAgICAgICAg
ICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAgICAgImlkbFR5cGUiOiAiYm9vbGVhbiIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRy
cyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJBUkVf
V0VfVEhFUkVfWUVUIiwKLSAgICAgICAgICAgICAgICAidmFsdWUiOiB7Ci0gICAgICAgICAgICAg
ICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAotICAgICAgICAgICAgICAgICAgICAidmFsdWUiOiBm
YWxzZQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10K
LSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImluaGVyaXRhbmNlIjogbnVsbCwK
LSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9LAotICAgIHsKLSAgICAgICAgInR5cGUiOiAi
aW50ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUiOiAiTm9kZSIsCi0gICAgICAgICJwYXJ0aWFsIjog
ZmFsc2UsCi0gICAgICAgICJtZW1iZXJzIjogWwotICAgICAgICAgICAgewotICAgICAgICAgICAg
ICAgICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICJpbmhlcml0IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5IjogdHJ1ZSwKLSAg
ICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAi
YXR0cmlidXRlLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0g
ICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IHRydWUsCi0gICAgICAgICAgICAgICAgICAg
ICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJET01TdHJp
bmciLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAg
IH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAibmFtZXNwYWNlVVJJIiwKLSAgICAgICAgICAg
ICAgICAiZXNjYXBlZE5hbWUiOiAibmFtZXNwYWNlVVJJIiwKLSAgICAgICAgICAgICAgICAiZXh0
QXR0cnMiOiBbXQotICAgICAgICAgICAgfQotICAgICAgICBdLAotICAgICAgICAiaW5oZXJpdGFu
Y2UiOiBudWxsLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0KLV0KSW5kZXg6IExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC9zeW50YXgvanNvbi9udWxsYWJsZW9iamVjdHMuanNvbgo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvc3ludGF4L2pzb24vbnVsbGFibGVvYmplY3RzLmpzb24JKHJldmlzaW9uIDI1Mjg5NikK
KysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9udWxsYWJsZW9iamVjdHMuanNvbgkobm9uZXhpc3Rl
bnQpCkBAIC0xLDEwMSArMCwwIEBACi1bCi0gICAgewotICAgICAgICAidHlwZSI6ICJpbnRlcmZh
Y2UiLAotICAgICAgICAibmFtZSI6ICJBIiwKLSAgICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAg
ICAgICAgIm1lbWJlcnMiOiBbXSwKLSAgICAgICAgImluaGVyaXRhbmNlIjogbnVsbCwKLSAgICAg
ICAgImV4dEF0dHJzIjogW10KLSAgICB9LAotICAgIHsKLSAgICAgICAgInR5cGUiOiAiaW50ZXJm
YWNlIiwKLSAgICAgICAgIm5hbWUiOiAiQiIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0g
ICAgICAgICJtZW1iZXJzIjogW10sCi0gICAgICAgICJpbmhlcml0YW5jZSI6IG51bGwsCi0gICAg
ICAgICJleHRBdHRycyI6IFtdCi0gICAgfSwKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImludGVy
ZmFjZSIsCi0gICAgICAgICJuYW1lIjogIkMiLAotICAgICAgICAicGFydGlhbCI6IGZhbHNlLAot
ICAgICAgICAibWVtYmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlw
ZSI6ICJvcGVyYXRpb24iLAotICAgICAgICAgICAgICAgICJnZXR0ZXIiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAic2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImRlbGV0ZXIiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
InN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAg
ICAgICAgICAgICAgICAgICJ0eXBlIjogInJldHVybi10eXBlIiwKLSAgICAgICAgICAgICAgICAg
ICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ICAgICJpZGxUeXBlIjogInZvaWQiLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBb
XQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiZiIsCi0gICAg
ICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImYiLAotICAgICAgICAgICAgICAgICJhcmd1bWVu
dHMiOiBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJv
cHRpb25hbCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgInZhcmlhZGljIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdCI6IG51bGwsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJp
ZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImFyZ3VtZW50
LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiB0cnVlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJpZGxUeXBlIjogIkEiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRy
cyI6IFtdCi0gICAgICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICAg
ICAgIm5hbWUiOiAieCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAi
eCIKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAg
ICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAg
ICAgICAgICAgICAgInR5cGUiOiAib3BlcmF0aW9uIiwKLSAgICAgICAgICAgICAgICAiZ2V0dGVy
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInNldHRlciI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICJkZWxldGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJp
ZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJyZXR1cm4tdHlwZSIsCi0g
ICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAg
Im51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJ2b2lkIiwKLSAgICAgICAgICAgICAgICAg
ICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJu
YW1lIjogImYiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJmIiwKLSAgICAgICAg
ICAgICAgICAiYXJndW1lbnRzIjogWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICAib3B0aW9uYWwiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJ2YXJpYWRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHQiOiBu
dWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10sCi0gICAgICAgICAg
ICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAi
dHlwZSI6ICJhcmd1bWVudC10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2Vu
ZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogdHJ1
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJCIiwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJuYW1lIjogIngiLAotICAgICAgICAgICAgICAgICAgICAgICAg
ImVzY2FwZWROYW1lIjogIngiCi0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAg
ICBdLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAg
ICAgIF0sCi0gICAgICAgICJpbmhlcml0YW5jZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6
IFtdCi0gICAgfQotXQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL29wZXJhdGlvbi1vcHRp
b25hbC1hcmcuanNvbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vb3BlcmF0
aW9uLW9wdGlvbmFsLWFyZy5qc29uCShyZXZpc2lvbiAyNTI4OTYpCisrKyBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3lu
dGF4L2pzb24vb3BlcmF0aW9uLW9wdGlvbmFsLWFyZy5qc29uCShub25leGlzdGVudCkKQEAgLTEs
OTkgKzAsMCBAQAotWwotICAgIHsKLSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAg
ICAgIm5hbWUiOiAiQ29sb3JDcmVhdG9yIiwKLSAgICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAg
ICAgICAgIm1lbWJlcnMiOiBbCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUi
OiAib3BlcmF0aW9uIiwKLSAgICAgICAgICAgICAgICAiZ2V0dGVyIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgInNldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJkZWxldGVyIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJz
dHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAg
ICAgICAgICAgICAgICAidHlwZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAgICAgICAgICAgICAgICAg
ICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAg
ICAiaWRsVHlwZSI6ICJvYmplY3QiLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBb
XQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiY3JlYXRlQ29s
b3IiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJjcmVhdGVDb2xvciIsCi0gICAg
ICAgICAgICAgICAgImFyZ3VtZW50cyI6IFsKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAg
ICAgICAgICAgICAgICAgICAgIm9wdGlvbmFsIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAidmFyaWFkaWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0
IjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdLAotICAgICAg
ICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgInR5cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogImZsb2F0IiwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAgICAg
fSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjogInYxIiwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJ2MSIKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAg
ICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIm9wdGlvbmFsIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAidmFyaWFkaWMiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJkZWZhdWx0IjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJleHRBdHRycyI6IFtdLAotICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxU
eXBlIjogImZsb2F0IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBb
XQotICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJu
YW1lIjogInYyIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJ2MiIK
LSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAg
ICAgICAgICAgICAgICAgIm9wdGlvbmFsIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAidmFyaWFkaWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0Ijog
bnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdLAotICAgICAgICAg
ICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
InR5cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImdl
bmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogImZsb2F0IiwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAgICAgfSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjogInYzIiwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICJlc2NhcGVkTmFtZSI6ICJ2MyIKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAg
ICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIm9wdGlvbmFsIjogdHJ1
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ2YXJpYWRpYyI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgImRlZmF1bHQiOiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
InR5cGUiOiAibnVtYmVyIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiOiAi
My41IgotICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJleHRBdHRycyI6IFtdLAotICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBl
IjogImZsb2F0IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQot
ICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJuYW1l
IjogImFscGhhIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJhbHBo
YSIKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAg
ICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAg
ImluaGVyaXRhbmNlIjogbnVsbCwKLSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9Ci1dCklu
ZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vb3ZlcmxvYWRpbmcuanNvbgo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vb3ZlcmxvYWRpbmcuanNvbgkocmV2aXNpb24gMjUyODk2
KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL292ZXJsb2FkaW5nLmpzb24JKG5vbmV4aXN0ZW50
KQpAQCAtMSwzMjggKzAsMCBAQAotWwotICAgIHsKLSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNl
IiwKLSAgICAgICAgIm5hbWUiOiAiQSIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0gICAg
ICAgICJtZW1iZXJzIjogW10sCi0gICAgICAgICJpbmhlcml0YW5jZSI6IG51bGwsCi0gICAgICAg
ICJleHRBdHRycyI6IFtdCi0gICAgfSwKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImludGVyZmFj
ZSIsCi0gICAgICAgICJuYW1lIjogIkIiLAotICAgICAgICAicGFydGlhbCI6IGZhbHNlLAotICAg
ICAgICAibWVtYmVycyI6IFtdLAotICAgICAgICAiaW5oZXJpdGFuY2UiOiBudWxsLAotICAgICAg
ICAiZXh0QXR0cnMiOiBbXQotICAgIH0sCi0gICAgewotICAgICAgICAidHlwZSI6ICJpbnRlcmZh
Y2UiLAotICAgICAgICAibmFtZSI6ICJDIiwKLSAgICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAg
ICAgICAgIm1lbWJlcnMiOiBbCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUi
OiAib3BlcmF0aW9uIiwKLSAgICAgICAgICAgICAgICAiZ2V0dGVyIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgInNldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJkZWxldGVyIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJz
dHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAg
ICAgICAgICAgICAgICAidHlwZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAgICAgICAgICAgICAgICAg
ICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAg
ICAiaWRsVHlwZSI6ICJ2b2lkIiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10K
LSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogImYiLAotICAgICAg
ICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJmIiwKLSAgICAgICAgICAgICAgICAiYXJndW1lbnRz
IjogWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAib3B0
aW9uYWwiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ2YXJpYWRpYyI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHQiOiBudWxsLAotICAgICAgICAgICAg
ICAgICAgICAgICAgImV4dEF0dHJzIjogW10sCi0gICAgICAgICAgICAgICAgICAgICAgICAiaWRs
VHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10
eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgImlkbFR5cGUiOiAiQSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJz
IjogW10KLSAgICAgICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgICAg
ICAibmFtZSI6ICJ4IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJ4
IgotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAg
ICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAg
ICAgICAgICAgICAidHlwZSI6ICJvcGVyYXRpb24iLAotICAgICAgICAgICAgICAgICJnZXR0ZXIi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgImRlbGV0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlk
bFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInJldHVybi10eXBlIiwKLSAg
ICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAi
bnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogInZvaWQiLAotICAgICAgICAgICAgICAgICAg
ICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5h
bWUiOiAiZiIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImYiLAotICAgICAgICAg
ICAgICAgICJhcmd1bWVudHMiOiBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJvcHRpb25hbCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAg
InZhcmlhZGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdCI6IG51
bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0
eXBlIjogImFyZ3VtZW50LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5l
cmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJCIiwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJuYW1lIjogIngiLAotICAgICAgICAgICAgICAgICAgICAgICAg
ImVzY2FwZWROYW1lIjogIngiCi0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAg
ICBdLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAg
ICAgIF0sCi0gICAgICAgICJpbmhlcml0YW5jZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6
IFtdCi0gICAgfSwKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAgICAg
ICJuYW1lIjogIkQiLAotICAgICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVy
cyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJvcGVyYXRpb24i
LAotICAgICAgICAgICAgICAgICJnZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic2V0
dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImRlbGV0ZXIiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAg
ICJ0eXBlIjogInJldHVybi10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBu
dWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjog
InZvaWQiLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAg
ICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiZiIsCi0gICAgICAgICAgICAgICAgImVz
Y2FwZWROYW1lIjogImYiLAotICAgICAgICAgICAgICAgICJhcmd1bWVudHMiOiBbCi0gICAgICAg
ICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJvcHRpb25hbCI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICAgICAgICAgInZhcmlhZGljIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAiZGVmYXVsdCI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAi
ZXh0QXR0cnMiOiBbXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImFyZ3VtZW50LXR5cGUiLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6
ICJET01TdHJpbmciLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtd
Ci0gICAgICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICAgICAgIm5h
bWUiOiAiYSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiYSIKLSAg
ICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAg
ImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAg
ICAgICAgInR5cGUiOiAib3BlcmF0aW9uIiwKLSAgICAgICAgICAgICAgICAiZ2V0dGVyIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgInNldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJk
ZWxldGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBl
IjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAgICAg
ICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxh
YmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJ2b2lkIiwKLSAgICAgICAgICAgICAgICAgICAgImV4
dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjog
ImYiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJmIiwKLSAgICAgICAgICAgICAg
ICAiYXJndW1lbnRzIjogWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICAib3B0aW9uYWwiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ2YXJp
YWRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHQiOiBudWxsLAot
ICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogWwotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAiQWxs
b3dBbnkiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYXJndW1lbnRzIjogbnVs
bCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiZXh0ZW5kZWQtYXR0
cmlidXRlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInJocyI6IG51bGwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgICAgICBdLAot
ICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgInR5cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJudWxs
YWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogIkRPTVN0cmluZyIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAg
ICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJhIiwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJhIgotICAgICAgICAgICAgICAgICAg
ICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAib3B0
aW9uYWwiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ2YXJpYWRpYyI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHQiOiBudWxsLAotICAgICAgICAgICAg
ICAgICAgICAgICAgImV4dEF0dHJzIjogW10sCi0gICAgICAgICAgICAgICAgICAgICAgICAiaWRs
VHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10
eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgImlkbFR5cGUiOiAiRE9NU3RyaW5nIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAi
ZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICJuYW1lIjogImIiLAotICAgICAgICAgICAgICAgICAgICAgICAgImVzY2FwZWRO
YW1lIjogImIiCi0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsK
LSAgICAgICAgICAgICAgICAgICAgICAgICJvcHRpb25hbCI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgInZhcmlhZGljIjogdHJ1ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJk
ZWZhdWx0IjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdLAot
ICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgInR5cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJudWxs
YWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogImZsb2F0IiwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAg
ICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjogImMiLAotICAgICAgICAg
ICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImMiCi0gICAgICAgICAgICAgICAgICAgIH0K
LSAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAg
ICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogIm9wZXJh
dGlvbiIsCi0gICAgICAgICAgICAgICAgImdldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICJzZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiZGVsZXRlciI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZp
ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAg
ICAgICAgInR5cGUiOiAicmV0dXJuLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJp
YyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5
cGUiOiAidm9pZCIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAg
ICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJmIiwKLSAgICAgICAgICAgICAg
ICAiZXNjYXBlZE5hbWUiOiAiZiIsCi0gICAgICAgICAgICAgICAgImFyZ3VtZW50cyI6IFtdLAot
ICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9LAotICAgICAgICAg
ICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogIm9wZXJhdGlvbiIsCi0gICAgICAgICAgICAg
ICAgImdldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzZXR0ZXIiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAiZGVsZXRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdGF0aWMi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAicmV0dXJu
LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAg
ICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24i
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAidm9pZCIsCi0gICAgICAg
ICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAg
ICAgICAgICAibmFtZSI6ICJmIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiZiIs
Ci0gICAgICAgICAgICAgICAgImFyZ3VtZW50cyI6IFsKLSAgICAgICAgICAgICAgICAgICAgewot
ICAgICAgICAgICAgICAgICAgICAgICAgIm9wdGlvbmFsIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAidmFyaWFkaWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJk
ZWZhdWx0IjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdLAot
ICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgInR5cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJudWxs
YWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogImxvbmciLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgICAg
ICAgICB9LAotICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAiYSIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiYSIKLSAgICAgICAgICAgICAgICAgICAgfSwK
LSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIm9wdGlvbmFs
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAidmFyaWFkaWMiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0IjogbnVsbCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICJleHRBdHRycyI6IFtdLAotICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUi
OiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXJndW1lbnQtdHlwZSIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJp
ZGxUeXBlIjogIkRPTVN0cmluZyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0
dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAg
ICAgICAibmFtZSI6ICJiIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6
ICJiIgotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICAib3B0aW9uYWwiOiB0cnVlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgInZhcmlhZGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVs
dCI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJ0eXBlIjogImFyZ3VtZW50LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJET01TdHJpbmciLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgICAg
ICAgICB9LAotICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAiYyIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiYyIKLSAgICAgICAgICAgICAgICAgICAgfSwK
LSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIm9wdGlvbmFs
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAidmFyaWFkaWMiOiB0cnVlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHQiOiBudWxsLAotICAgICAgICAgICAgICAgICAg
ICAgICAgImV4dEF0dHJzIjogW10sCi0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6
IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImlk
bFR5cGUiOiAiZmxvYXQiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6
IFtdCi0gICAgICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICAgICAg
Im5hbWUiOiAiZCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiZCIK
LSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAg
ICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImlu
aGVyaXRhbmNlIjogbnVsbCwKLSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9Ci1dCkluZGV4
OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vb3ZlcnJpZGVidWlsdGlucy5qc29uCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9vdmVycmlkZWJ1aWx0aW5zLmpzb24JKHJldmlzaW9u
IDI1Mjg5NikKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9vdmVycmlkZWJ1aWx0aW5zLmpzb24J
KG5vbmV4aXN0ZW50KQpAQCAtMSw3MyArMCwwIEBACi1bCi0gICAgewotICAgICAgICAidHlwZSI6
ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFtZSI6ICJTdHJpbmdNYXAyIiwKLSAgICAgICAgInBh
cnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJlcnMiOiBbCi0gICAgICAgICAgICB7Ci0gICAg
ICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAic3RhdGlj
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAicmVhZG9ubHkiOiB0
cnVlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAi
dHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjog
bnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6
ICJ1bnNpZ25lZCBsb25nIiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAg
ICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogImxlbmd0aCIsCi0gICAg
ICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImxlbmd0aCIsCi0gICAgICAgICAgICAgICAgImV4
dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAg
ICAgInR5cGUiOiAib3BlcmF0aW9uIiwKLSAgICAgICAgICAgICAgICAiZ2V0dGVyIjogdHJ1ZSwK
LSAgICAgICAgICAgICAgICAic2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImRlbGV0
ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7
Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInJldHVybi10eXBlIiwKLSAgICAgICAgICAg
ICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgICAgICJpZGxUeXBlIjogIkRPTVN0cmluZyIsCi0gICAgICAgICAgICAgICAgICAgICJl
eHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6
ICJsb29rdXAiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJsb29rdXAiLAotICAg
ICAgICAgICAgICAgICJhcmd1bWVudHMiOiBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJvcHRpb25hbCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgInZhcmlhZGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVs
dCI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJ0eXBlIjogImFyZ3VtZW50LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJET01TdHJpbmciLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgICAg
ICAgICB9LAotICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAia2V5IiwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJrZXkiCi0gICAgICAgICAgICAgICAgICAg
IH0KLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0g
ICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJpbmhlcml0YW5jZSI6IG51bGwsCi0g
ICAgICAgICJleHRBdHRycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAibmFt
ZSI6ICJPdmVycmlkZUJ1aWx0aW5zIiwKLSAgICAgICAgICAgICAgICAiYXJndW1lbnRzIjogbnVs
bCwKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJleHRlbmRlZC1hdHRyaWJ1dGUiLAotICAgICAg
ICAgICAgICAgICJyaHMiOiBudWxsCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0KLSAgICB9Ci1d
CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vcGFydGlhbC1pbnRlcmZhY2UuanNvbgo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vcGFydGlhbC1pbnRlcmZhY2UuanNvbgko
cmV2aXNpb24gMjUyODk2KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL3BhcnRpYWwtaW50ZXJm
YWNlLmpzb24JKG5vbmV4aXN0ZW50KQpAQCAtMSw1NSArMCwwIEBACi1bCi0gICAgewotICAgICAg
ICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFtZSI6ICJGb28iLAotICAgICAgICAi
cGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAg
ICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJzdGF0
aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJyZWFkb25seSI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAg
ICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmlj
IjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlw
ZSI6ICJET01TdHJpbmciLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAg
ICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiYmFyIiwKLSAgICAgICAg
ICAgICAgICAiZXNjYXBlZE5hbWUiOiAiYmFyIiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMi
OiBbXQotICAgICAgICAgICAgfQotICAgICAgICBdLAotICAgICAgICAiaW5oZXJpdGFuY2UiOiBu
dWxsLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0sCi0gICAgewotICAgICAgICAidHlw
ZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFtZSI6ICJGb28iLAotICAgICAgICAicGFydGlh
bCI6IHRydWUsCi0gICAgICAgICJtZW1iZXJzIjogWwotICAgICAgICAgICAgewotICAgICAgICAg
ICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICJpbmhlcml0IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5IjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBl
IjogImF0dHJpYnV0ZS10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxs
LAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogIkRP
TVN0cmluZyIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAg
ICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJxdXV4IiwKLSAgICAgICAgICAgICAg
ICAiZXNjYXBlZE5hbWUiOiAicXV1eCIsCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10K
LSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9
Ci1dCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vcHJpbWl0aXZlcy5qc29uCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9wcmltaXRpdmVzLmpzb24JKHJldmlzaW9uIDI1
Mjg5NikKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9wcmltaXRpdmVzLmpzb24JKG5vbmV4aXN0
ZW50KQpAQCAtMSwzMTcgKzAsMCBAQAotWwotICAgIHsKLSAgICAgICAgInR5cGUiOiAiaW50ZXJm
YWNlIiwKLSAgICAgICAgIm5hbWUiOiAiUHJpbWl0aXZlcyIsCi0gICAgICAgICJwYXJ0aWFsIjog
ZmFsc2UsCi0gICAgICAgICJtZW1iZXJzIjogWwotICAgICAgICAgICAgewotICAgICAgICAgICAg
ICAgICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICJpbmhlcml0IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5IjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjog
ImF0dHJpYnV0ZS10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAot
ICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAg
ICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogImJvb2xl
YW4iLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAg
IH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAidHJ1dGgiLAotICAgICAgICAgICAgICAgICJl
c2NhcGVkTmFtZSI6ICJ0cnV0aCIsCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAg
ICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0
cmlidXRlIiwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImluaGVyaXQiOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAicmVhZG9ubHkiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAi
aWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlLXR5cGUi
LAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAg
ICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiYnl0ZSIsCi0gICAgICAgICAgICAg
ICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAg
ICAibmFtZSI6ICJjaGFyYWN0ZXIiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJj
aGFyYWN0ZXIiLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9
LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0g
ICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdp
ZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpbmhlcml0IjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgInJlYWRvbmx5IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7
Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZS10eXBlIiwKLSAgICAgICAg
ICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFi
bGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgICAgICJpZGxUeXBlIjogIm9jdGV0IiwKLSAgICAgICAgICAgICAgICAgICAgImV4
dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjog
InZhbHVlIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAidmFsdWUiLAotICAgICAg
ICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewot
ICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInN0
YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICJpbmhlcml0IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAg
ICAgICJ0eXBlIjogImF0dHJpYnV0ZS10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVy
aWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxU
eXBlIjogInNob3J0IiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAg
ICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogIm51bWJlciIsCi0gICAgICAg
ICAgICAgICAgImVzY2FwZWROYW1lIjogIm51bWJlciIsCi0gICAgICAgICAgICAgICAgImV4dEF0
dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAg
InR5cGUiOiAiYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlu
aGVyaXQiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAicmVhZG9ubHkiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0
cmlidXRlLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAg
ICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAi
dW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAidW5zaWduZWQg
c2hvcnQiLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAg
ICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAicG9zaXRpdmUiLAotICAgICAgICAgICAg
ICAgICJlc2NhcGVkTmFtZSI6ICJwb3NpdGl2ZSIsCi0gICAgICAgICAgICAgICAgImV4dEF0dHJz
IjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5
cGUiOiAiYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImluaGVy
aXQiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAicmVhZG9ubHkiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmli
dXRlLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAg
ICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5p
b24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAibG9uZyIsCi0gICAg
ICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAg
ICAgICAgICAgICAibmFtZSI6ICJiaWciLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6
ICJiaWciLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9LAot
ICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0gICAg
ICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmll
ciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpbmhlcml0IjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgInJlYWRvbmx5IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0g
ICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZS10eXBlIiwKLSAgICAgICAgICAg
ICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgICAgICJpZGxUeXBlIjogInVuc2lnbmVkIGxvbmciLAotICAgICAgICAgICAgICAgICAg
ICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5h
bWUiOiAiYmlncG9zaXRpdmUiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJiaWdw
b3NpdGl2ZSIsCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0s
Ci0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAg
ICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lm
aWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAicmVhZG9ubHkiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsK
LSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlLXR5cGUiLAotICAgICAgICAg
ICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJs
ZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAgICAgImlkbFR5cGUiOiAibG9uZyBsb25nIiwKLSAgICAgICAgICAgICAgICAgICAg
ImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1l
IjogImJpZ2JpZyIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImJpZ2JpZyIsCi0g
ICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAg
ICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAg
ICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAicmVh
ZG9ubHkiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAg
ICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAi
Z2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAg
ImlkbFR5cGUiOiAidW5zaWduZWQgbG9uZyBsb25nIiwKLSAgICAgICAgICAgICAgICAgICAgImV4
dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjog
ImJpZ2JpZ3Bvc2l0aXZlIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiYmlnYmln
cG9zaXRpdmUiLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9
LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0g
ICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdp
ZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpbmhlcml0IjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgInJlYWRvbmx5IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7
Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZS10eXBlIiwKLSAgICAgICAg
ICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFi
bGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgICAgICJpZGxUeXBlIjogImZsb2F0IiwKLSAgICAgICAgICAgICAgICAgICAgImV4
dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjog
InJlYWwiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJyZWFsIiwKLSAgICAgICAg
ICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAg
ICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJzdGF0
aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJyZWFkb25seSI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAg
ICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmlj
IjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlw
ZSI6ICJkb3VibGUiLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAg
ICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiYmlncmVhbCIsCi0gICAgICAg
ICAgICAgICAgImVzY2FwZWROYW1lIjogImJpZ3JlYWwiLAotICAgICAgICAgICAgICAgICJleHRB
dHRycyI6IFtdCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAg
ICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJp
bmhlcml0IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5IjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImF0
dHJpYnV0ZS10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAg
ICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAg
InVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogInVucmVzdHJp
Y3RlZCBmbG9hdCIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAg
ICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJyZWFsd2l0aGluZmluaXR5IiwK
LSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAicmVhbHdpdGhpbmZpbml0eSIsCi0gICAg
ICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7
Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAi
c3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAicmVhZG9u
bHkiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAg
ICAgICAgInR5cGUiOiAiYXR0cmlidXRlLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2Vu
ZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlk
bFR5cGUiOiAidW5yZXN0cmljdGVkIGRvdWJsZSIsCi0gICAgICAgICAgICAgICAgICAgICJleHRB
dHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJi
aWdyZWFsd2l0aGluZmluaXR5IiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiYmln
cmVhbHdpdGhpbmZpbml0eSIsCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAg
ICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmli
dXRlIiwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
InN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAicmVhZG9ubHkiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRs
VHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlLXR5cGUiLAot
ICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAg
ICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiRE9NU3RyaW5nIiwKLSAgICAgICAgICAg
ICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAg
ICAgICJuYW1lIjogInN0cmluZyIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogInN0
cmluZyIsCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0g
ICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAgICAg
ICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVy
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAicmVhZG9ubHkiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAg
ICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlLXR5cGUiLAotICAgICAgICAgICAg
ICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAgICAgImlkbFR5cGUiOiAiQnl0ZVN0cmluZyIsCi0gICAgICAgICAgICAgICAgICAgICJl
eHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6
ICJieXRlcyIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImJ5dGVzIiwKLSAgICAg
ICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsK
LSAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJz
dGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJyZWFkb25s
eSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAg
ICAgICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5l
cmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRs
VHlwZSI6ICJEYXRlIiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAg
ICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogImRhdGUiLAotICAgICAgICAg
ICAgICAgICJlc2NhcGVkTmFtZSI6ICJkYXRlIiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMi
OiBbXQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlw
ZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaW5oZXJp
dCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJyZWFkb25seSI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1
dGUtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAg
ICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlv
biI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJSZWdFeHAiLAotICAg
ICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAg
ICAgICAgICAgICAgIm5hbWUiOiAicmVnZXhwIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5h
bWUiOiAicmVnZXhwIiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAg
ICAgfQotICAgICAgICBdLAotICAgICAgICAiaW5oZXJpdGFuY2UiOiBudWxsLAotICAgICAgICAi
ZXh0QXR0cnMiOiBbXQotICAgIH0KLV0KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9wcm9t
aXNlLXZvaWQuanNvbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vcHJvbWlz
ZS12b2lkLmpzb24JKHJldmlzaW9uIDI1Mjg5NikKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9w
cm9taXNlLXZvaWQuanNvbgkobm9uZXhpc3RlbnQpCkBAIC0xLDM2ICswLDAgQEAKLVsKLSAgICB7
Ci0gICAgICAgICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAgICAgICJuYW1lIjogIkNhdCIsCi0g
ICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJzIjogWwotICAgICAgICAg
ICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAg
ICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICJpbmhlcml0IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInJl
YWRvbmx5IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAg
ICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZS10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAg
ImdlbmVyaWMiOiAiUHJvbWlzZSIsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJyZXR1
cm4tdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUi
OiAidm9pZCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAg
ICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAg
ICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAibWVvdyIsCi0gICAgICAg
ICAgICAgICAgImVzY2FwZWROYW1lIjogIm1lb3ciLAotICAgICAgICAgICAgICAgICJleHRBdHRy
cyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJpbmhlcml0YW5jZSI6
IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgfQotXQpJbmRleDogTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3N5bnRheC9qc29uL3Byb3RvdHlwZXJvb3QuanNvbgo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
c3ludGF4L2pzb24vcHJvdG90eXBlcm9vdC5qc29uCShyZXZpc2lvbiAyNTI4OTYpCisrKyBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvc3ludGF4L2pzb24vcHJvdG90eXBlcm9vdC5qc29uCShub25leGlzdGVudCkKQEAgLTEs
MzYgKzAsMCBAQAotWwotICAgIHsKLSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAg
ICAgIm5hbWUiOiAiTm9kZSIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0gICAgICAgICJt
ZW1iZXJzIjogWwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJp
YnV0ZSIsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpbmhlcml0IjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgInJlYWRvbmx5IjogdHJ1ZSwKLSAgICAgICAgICAgICAgICAiaWRs
VHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlLXR5cGUiLAot
ICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAg
ICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAidW5zaWduZWQgc2hvcnQiLAotICAgICAg
ICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAg
ICAgICAgICAgIm5hbWUiOiAibm9kZVR5cGUiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFt
ZSI6ICJub2RlVHlwZSIsCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAg
ICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImluaGVyaXRhbmNlIjogbnVsbCwKLSAgICAgICAg
ImV4dEF0dHJzIjogWwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJuYW1lIjogIlBy
b3RvdHlwZVJvb3QiLAotICAgICAgICAgICAgICAgICJhcmd1bWVudHMiOiBudWxsLAotICAgICAg
ICAgICAgICAgICJ0eXBlIjogImV4dGVuZGVkLWF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAg
InJocyI6IG51bGwKLSAgICAgICAgICAgIH0KLSAgICAgICAgXQotICAgIH0KLV0KSW5kZXg6IExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC9zeW50YXgvanNvbi9wdXRmb3J3YXJkcy5qc29uCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC9zeW50YXgvanNvbi9wdXRmb3J3YXJkcy5qc29uCShyZXZpc2lvbiAyNTI4OTYpCisrKyBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3Qvc3ludGF4L2pzb24vcHV0Zm9yd2FyZHMuanNvbgkobm9uZXhpc3RlbnQpCkBAIC0x
LDU3ICswLDAgQEAKLVsKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAg
ICAgICJuYW1lIjogIlBlcnNvbiIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0gICAgICAg
ICJtZW1iZXJzIjogWwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogImF0
dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpbmhlcml0IjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5IjogdHJ1ZSwKLSAgICAgICAgICAgICAgICAi
aWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlLXR5cGUi
LAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAg
ICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiTmFtZSIsCi0gICAgICAgICAgICAg
ICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAg
ICAibmFtZSI6ICJuYW1lIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAibmFtZSIs
Ci0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogWwotICAgICAgICAgICAgICAgICAgICB7Ci0g
ICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJQdXRGb3J3YXJkcyIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAiYXJndW1lbnRzIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJ0eXBlIjogImV4dGVuZGVkLWF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAi
cmhzIjogewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImlkZW50aWZpZXIi
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSI6ICJmdWxsIgotICAgICAgICAg
ICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAg
XQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6
ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaW5oZXJpdCI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICJyZWFkb25seSI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUt
dHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAg
ICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJ1bnNpZ25lZCBzaG9ydCIs
Ci0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwK
LSAgICAgICAgICAgICAgICAibmFtZSI6ICJhZ2UiLAotICAgICAgICAgICAgICAgICJlc2NhcGVk
TmFtZSI6ICJhZ2UiLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAg
ICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJpbmhlcml0YW5jZSI6IG51bGwsCi0gICAgICAgICJl
eHRBdHRycyI6IFtdCi0gICAgfQotXQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL3JlY29y
ZC5qc29uCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9yZWNvcmQuanNvbgko
cmV2aXNpb24gMjUyODk2KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL3JlY29yZC5qc29uCShu
b25leGlzdGVudCkKQEAgLTEsMjIwICswLDAgQEAKLVsKLSAgICB7Ci0gICAgICAgICJ0eXBlIjog
ImludGVyZmFjZSIsCi0gICAgICAgICJuYW1lIjogIkZvbyIsCi0gICAgICAgICJwYXJ0aWFsIjog
ZmFsc2UsCi0gICAgICAgICJtZW1iZXJzIjogWwotICAgICAgICAgICAgewotICAgICAgICAgICAg
ICAgICJ0eXBlIjogIm9wZXJhdGlvbiIsCi0gICAgICAgICAgICAgICAgImdldHRlciI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICJzZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiZGVs
ZXRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6
IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAicmV0dXJuLXR5cGUiLAotICAgICAgICAg
ICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJs
ZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAgICAgImlkbFR5cGUiOiAidm9pZCIsCi0gICAgICAgICAgICAgICAgICAgICJleHRB
dHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJm
b28iLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJmb28iLAotICAgICAgICAgICAg
ICAgICJhcmd1bWVudHMiOiBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAg
ICAgICAgICAgICJvcHRpb25hbCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgInZh
cmlhZGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdCI6IG51bGws
Ci0gICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBl
IjogImFyZ3VtZW50LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmlj
IjogInNlcXVlbmNlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgInR5cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJnZW5lcmljIjogInJlY29yZCIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImlk
bFR5cGUiOiBbCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXJndW1lbnQtdHlwZSIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxs
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjog
IkJ5dGVTdHJpbmciLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJl
eHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImFyZ3VtZW50LXR5cGUiLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJhbnkiLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtd
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICJuYW1lIjogInBhcmFtIiwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJlc2NhcGVkTmFtZSI6ICJwYXJhbSIKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAg
ICAgICAgIF0sCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0s
Ci0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAib3BlcmF0aW9uIiwKLSAg
ICAgICAgICAgICAgICAiZ2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInNldHRlciI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICJkZWxldGVyIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlw
ZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogInJlY29y
ZCIsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiBb
Ci0gICAgICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
InR5cGUiOiAicmV0dXJuLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5l
cmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJET01TdHJpbmciLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgICAgICAgICB9
LAotICAgICAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICJ0eXBlIjogInJldHVybi10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2Vu
ZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogdHJ1
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiB0cnVlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogWwotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6IG51
bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGws
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiZmxvYXQiLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiBudWxsLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogIkRPTVN0cmluZyIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgXSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAg
ICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgICAg
ICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5h
bWUiOiAiYmFyIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiYmFyIiwKLSAgICAg
ICAgICAgICAgICAiYXJndW1lbnRzIjogW10sCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjog
W10KLSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImluaGVyaXRhbmNlIjogbnVs
bCwKLSAgICAgICAgImV4dEF0dHJzIjogWwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAg
ICJuYW1lIjogIkNvbnN0cnVjdG9yIiwKLSAgICAgICAgICAgICAgICAiYXJndW1lbnRzIjogWwot
ICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAib3B0aW9uYWwi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ2YXJpYWRpYyI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHQiOiBudWxsLAotICAgICAgICAgICAgICAgICAg
ICAgICAgImV4dEF0dHJzIjogW10sCi0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6
IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6ICJyZWNvcmQiLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICJpZGxUeXBlIjogWwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJVU1ZTdHJpbmciLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXJndW1lbnQt
dHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51
bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiVVNWU3RyaW5n
IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAg
ICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAi
aW5pdCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiaW5pdCIKLSAg
ICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAg
InR5cGUiOiAiZXh0ZW5kZWQtYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAicmhzIjogbnVs
bAotICAgICAgICAgICAgfQotICAgICAgICBdCi0gICAgfSwKLSAgICB7Ci0gICAgICAgICJ0eXBl
IjogImludGVyZmFjZSIsCi0gICAgICAgICJuYW1lIjogIkJhciIsCi0gICAgICAgICJwYXJ0aWFs
IjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJzIjogWwotICAgICAgICAgICAgewotICAgICAgICAg
ICAgICAgICJ0eXBlIjogIm9wZXJhdGlvbiIsCi0gICAgICAgICAgICAgICAgImdldHRlciI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICJzZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAi
ZGVsZXRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlw
ZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAicmV0dXJuLXR5cGUiLAotICAgICAg
ICAgICAgICAgICAgICAiZ2VuZXJpYyI6ICJyZWNvcmQiLAotICAgICAgICAgICAgICAgICAgICAi
bnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogWwotICAgICAgICAgICAgICAgICAgICAgICAg
ewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInJldHVybi10eXBlIiwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5
cGUiOiAiRE9NU3RyaW5nIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMi
OiBbXQotICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAg
IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJyZXR1cm4tdHlwZSIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxU
eXBlIjogImZsb2F0IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBb
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICJuYW1lIjogIlhBdHRyIiwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJhcmd1bWVudHMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgInR5cGUiOiAiZXh0ZW5kZWQtYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJyaHMiOiBudWxsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBdCi0gICAgICAgICAgICAg
ICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgICAg
ICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFt
ZSI6ICJiYXIiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJiYXIiLAotICAgICAg
ICAgICAgICAgICJhcmd1bWVudHMiOiBbXSwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBb
XQotICAgICAgICAgICAgfQotICAgICAgICBdLAotICAgICAgICAiaW5oZXJpdGFuY2UiOiBudWxs
LAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0KLV0KSW5kZXg6IExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50
YXgvanNvbi9yZWctb3BlcmF0aW9ucy5qc29uCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50
YXgvanNvbi9yZWctb3BlcmF0aW9ucy5qc29uCShyZXZpc2lvbiAyNTI4OTYpCisrKyBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvc3ludGF4L2pzb24vcmVnLW9wZXJhdGlvbnMuanNvbgkobm9uZXhpc3RlbnQpCkBAIC0xLDE2
NiArMCwwIEBACi1bCi0gICAgewotICAgICAgICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAg
ICAibmFtZSI6ICJEaW1lbnNpb25zIiwKLSAgICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAg
ICAgIm1lbWJlcnMiOiBbCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAi
YXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImluaGVyaXQiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAicmVhZG9ubHkiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlLXR5
cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAg
ICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAidW5zaWduZWQgbG9uZyIsCi0g
ICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAg
ICAgICAgICAgICAgICAibmFtZSI6ICJ3aWR0aCIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWRO
YW1lIjogIndpZHRoIiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAg
ICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUi
LAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3Ry
aW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICJyZWFkb25seSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBl
IjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAg
ICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51
bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJ1bnNpZ25lZCBsb25nIiwKLSAgICAgICAgICAg
ICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAg
ICAgICJuYW1lIjogImhlaWdodCIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImhl
aWdodCIsCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0KLSAg
ICAgICAgXSwKLSAgICAgICAgImluaGVyaXRhbmNlIjogbnVsbCwKLSAgICAgICAgImV4dEF0dHJz
IjogW10KLSAgICB9LAotICAgIHsKLSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAg
ICAgIm5hbWUiOiAiQnV0dG9uIiwKLSAgICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAg
Im1lbWJlcnMiOiBbCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAib3Bl
cmF0aW9uIiwKLSAgICAgICAgICAgICAgICAiZ2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgInNldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJkZWxldGVyIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdp
ZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAg
ICAgICAgICAidHlwZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5l
cmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRs
VHlwZSI6ICJib29sZWFuIiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAg
ICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogImlzTW91c2VPdmVyIiwK
LSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiaXNNb3VzZU92ZXIiLAotICAgICAgICAg
ICAgICAgICJhcmd1bWVudHMiOiBbXSwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQot
ICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJv
cGVyYXRpb24iLAotICAgICAgICAgICAgICAgICJnZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAic2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImRlbGV0ZXIiOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmlu
Z2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAg
ICAgICAgICAgICJ0eXBlIjogInJldHVybi10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdl
bmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJp
ZGxUeXBlIjogInZvaWQiLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAg
ICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAic2V0RGltZW5zaW9ucyIs
Ci0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogInNldERpbWVuc2lvbnMiLAotICAgICAg
ICAgICAgICAgICJhcmd1bWVudHMiOiBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAg
ICAgICAgICAgICAgICAgICJvcHRpb25hbCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgInZhcmlhZGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdCI6
IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICJ0eXBlIjogImFyZ3VtZW50LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJn
ZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJEaW1lbnNpb25zIiwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAg
ICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjogInNpemUiLAotICAgICAgICAg
ICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogInNpemUiCi0gICAgICAgICAgICAgICAgICAg
IH0KLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0g
ICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogIm9w
ZXJhdGlvbiIsCi0gICAgICAgICAgICAgICAgImdldHRlciI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICJzZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiZGVsZXRlciI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5n
aWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAg
ICAgICAgICAgInR5cGUiOiAicmV0dXJuLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2Vu
ZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlk
bFR5cGUiOiAidm9pZCIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAg
ICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJzZXREaW1lbnNpb25zIiwK
LSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAic2V0RGltZW5zaW9ucyIsCi0gICAgICAg
ICAgICAgICAgImFyZ3VtZW50cyI6IFsKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAg
ICAgICAgICAgICAgICAgIm9wdGlvbmFsIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAidmFyaWFkaWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0Ijog
bnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdLAotICAgICAgICAg
ICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
InR5cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImdl
bmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogInVuc2lnbmVkIGxvbmciLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgICAg
ICAgICB9LAotICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAid2lkdGgiLAotICAgICAg
ICAgICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogIndpZHRoIgotICAgICAgICAgICAgICAg
ICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAi
b3B0aW9uYWwiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ2YXJpYWRpYyI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHQiOiBudWxsLAotICAgICAgICAg
ICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10sCi0gICAgICAgICAgICAgICAgICAgICAgICAi
aWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVu
dC10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgImlkbFR5cGUiOiAidW5zaWduZWQgbG9uZyIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAg
ICAgICAgICAgICAgICAgICAibmFtZSI6ICJoZWlnaHQiLAotICAgICAgICAgICAgICAgICAgICAg
ICAgImVzY2FwZWROYW1lIjogImhlaWdodCIKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAg
ICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAg
IH0KLSAgICAgICAgXSwKLSAgICAgICAgImluaGVyaXRhbmNlIjogbnVsbCwKLSAgICAgICAgImV4
dEF0dHJzIjogW10KLSAgICB9Ci1dCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vcmVwbGFj
ZWFibGUuanNvbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vcmVwbGFjZWFi
bGUuanNvbgkocmV2aXNpb24gMjUyODk2KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL3JlcGxh
Y2VhYmxlLmpzb24JKG5vbmV4aXN0ZW50KQpAQCAtMSw1NiArMCwwIEBACi1bCi0gICAgewotICAg
ICAgICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFtZSI6ICJDb3VudGVyIiwKLSAg
ICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJlcnMiOiBbCi0gICAgICAgICAg
ICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAg
ICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAicmVh
ZG9ubHkiOiB0cnVlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAg
ICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJn
ZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAi
aWRsVHlwZSI6ICJ1bnNpZ25lZCBsb25nIiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJz
IjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogInZhbHVl
IiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAidmFsdWUiLAotICAgICAgICAgICAg
ICAgICJleHRBdHRycyI6IFsKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAg
ICAgICAgICAgIm5hbWUiOiAiUmVwbGFjZWFibGUiLAotICAgICAgICAgICAgICAgICAgICAgICAg
ImFyZ3VtZW50cyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJleHRl
bmRlZC1hdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgInJocyI6IG51bGwKLSAg
ICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0KLSAgICAgICAgICAgIH0sCi0g
ICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAib3BlcmF0aW9uIiwKLSAgICAg
ICAgICAgICAgICAiZ2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInNldHRlciI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICJkZWxldGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
InN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6
ICJyZXR1cm4tdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAg
ICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAg
ICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJ2b2lkIiwK
LSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAot
ICAgICAgICAgICAgICAgICJuYW1lIjogImluY3JlbWVudCIsCi0gICAgICAgICAgICAgICAgImVz
Y2FwZWROYW1lIjogImluY3JlbWVudCIsCi0gICAgICAgICAgICAgICAgImFyZ3VtZW50cyI6IFtd
LAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAg
IF0sCi0gICAgICAgICJpbmhlcml0YW5jZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6IFtd
Ci0gICAgfQotXQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL3NlcXVlbmNlLmpzb24KPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL3NlcXVlbmNlLmpzb24JKHJldmlzaW9u
IDI1Mjg5NikKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9zZXF1ZW5jZS5qc29uCShub25leGlz
dGVudCkKQEAgLTEsMTQyICswLDAgQEAKLVsKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImludGVy
ZmFjZSIsCi0gICAgICAgICJuYW1lIjogIkNhbnZhcyIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFs
c2UsCi0gICAgICAgICJtZW1iZXJzIjogWwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAg
ICJ0eXBlIjogIm9wZXJhdGlvbiIsCi0gICAgICAgICAgICAgICAgImdldHRlciI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICJzZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiZGVsZXRl
ciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsK
LSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAicmV0dXJuLXR5cGUiLAotICAgICAgICAgICAg
ICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAgICAgImlkbFR5cGUiOiAidm9pZCIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRy
cyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJkcmF3
UG9seWdvbiIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImRyYXdQb2x5Z29uIiwK
LSAgICAgICAgICAgICAgICAiYXJndW1lbnRzIjogWwotICAgICAgICAgICAgICAgICAgICB7Ci0g
ICAgICAgICAgICAgICAgICAgICAgICAib3B0aW9uYWwiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICJ2YXJpYWRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgImRl
ZmF1bHQiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10sCi0g
ICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAiZ2VuZXJpYyI6ICJzZXF1ZW5jZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
Im51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImFyZ3VtZW50LXR5cGUiLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgImlkbFR5cGUiOiAiZmxvYXQiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAg
ICAgIH0sCi0gICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJjb29yZGluYXRlcyIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiY29vcmRpbmF0ZXMiCi0gICAg
ICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgICJl
eHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAg
ICAgICJ0eXBlIjogIm9wZXJhdGlvbiIsCi0gICAgICAgICAgICAgICAgImdldHRlciI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICJzZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiZGVs
ZXRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6
IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAicmV0dXJuLXR5cGUiLAotICAgICAgICAg
ICAgICAgICAgICAiZ2VuZXJpYyI6ICJzZXF1ZW5jZSIsCi0gICAgICAgICAgICAgICAgICAgICJu
dWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAi
dHlwZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6
IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgImlkbFR5cGUiOiAiZmxvYXQiLAotICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJz
IjogW10KLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0
dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogImdl
dEluZmxlY3Rpb25Qb2ludHMiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJnZXRJ
bmZsZWN0aW9uUG9pbnRzIiwKLSAgICAgICAgICAgICAgICAiYXJndW1lbnRzIjogW10sCi0gICAg
ICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAg
ICAgICAgImluaGVyaXRhbmNlIjogbnVsbCwKLSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9
LAotICAgIHsKLSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUiOiAi
SSIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJzIjogWwotICAg
ICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogIm9wZXJhdGlvbiIsCi0gICAgICAg
ICAgICAgICAgImdldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzZXR0ZXIiOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAiZGVsZXRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJz
dGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAi
cmV0dXJuLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAg
ICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAi
dW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAidm9pZCIsCi0g
ICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAg
ICAgICAgICAgICAgICAibmFtZSI6ICJmMSIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1l
IjogImYxIiwKLSAgICAgICAgICAgICAgICAiYXJndW1lbnRzIjogWwotICAgICAgICAgICAgICAg
ICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAib3B0aW9uYWwiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJ2YXJpYWRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgImRlZmF1bHQiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJz
IjogW10sCi0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAiZ2VuZXJpYyI6ICJzZXF1ZW5jZSIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
InVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImFyZ3VtZW50LXR5cGUi
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgImlkbFR5cGUiOiAibG9uZyIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJleHRBdHRycyI6IFsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJY
QXR0ciIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImFyZ3VtZW50
cyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUi
OiAiZXh0ZW5kZWQtYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAicmhzIjogbnVsbAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
fQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQot
ICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJuYW1l
IjogImFyZyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiYXJnIgot
ICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAg
ICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfQotICAgICAgICBdLAotICAgICAgICAiaW5o
ZXJpdGFuY2UiOiBudWxsLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0KLV0KSW5kZXg6
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC9zeW50YXgvanNvbi9zZXRsaWtlLmpzb24KPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3N5bnRheC9qc29uL3NldGxpa2UuanNvbgkocmV2aXNpb24gMjUyODk2KQorKysgTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3N5bnRheC9qc29uL3NldGxpa2UuanNvbgkobm9uZXhpc3RlbnQpCkBAIC0xLDgxICswLDAg
QEAKLVsKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAgICAgICJuYW1l
IjogIlNldExpa2UiLAotICAgICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVy
cyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJzZXRsaWtlIiwK
LSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IFsKLSAgICAgICAgICAgICAgICAgICAgewotICAg
ICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAg
ICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICJpZGxUeXBlIjogImxvbmciLAotICAgICAgICAgICAgICAgICAgICAg
ICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAg
IF0sCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5IjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImluaGVy
aXRhbmNlIjogbnVsbCwKLSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9LAotICAgIHsKLSAg
ICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUiOiAiUmVhZE9ubHlTZXRM
aWtlIiwKLSAgICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJlcnMiOiBbCi0g
ICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAic2V0bGlrZSIsCi0gICAgICAg
ICAgICAgICAgImlkbFR5cGUiOiBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJ0eXBlIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJnZW5l
cmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAiaWRsVHlwZSI6ICJsb25nIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJleHRB
dHRycyI6IFtdCi0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdLAotICAg
ICAgICAgICAgICAgICJyZWFkb25seSI6IHRydWUsCi0gICAgICAgICAgICAgICAgImV4dEF0dHJz
IjogW10KLSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImluaGVyaXRhbmNlIjog
bnVsbCwKLSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9LAotICAgIHsKLSAgICAgICAgInR5
cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUiOiAiU2V0TGlrZUV4dCIsCi0gICAgICAg
ICJwYXJ0aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJzIjogWwotICAgICAgICAgICAgewot
ICAgICAgICAgICAgICAgICJ0eXBlIjogInNldGxpa2UiLAotICAgICAgICAgICAgICAgICJpZGxU
eXBlIjogWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAi
dHlwZSI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5
cGUiOiAibG9uZyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAibmFtZSI6ICJYQXR0ciIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJhcmd1
bWVudHMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJl
eHRlbmRlZC1hdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicmhz
IjogbnVsbAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAg
ICAgICAgIF0KLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAg
ICAgICAgICAgICAgInJlYWRvbmx5IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImV4dEF0dHJz
IjogW10KLSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImluaGVyaXRhbmNlIjog
bnVsbCwKLSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9Ci1dCkluZGV4OiBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
c3ludGF4L2pzb24vc3RhdGljLmpzb24KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9q
c29uL3N0YXRpYy5qc29uCShyZXZpc2lvbiAyNTI4OTYpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pz
b24vc3RhdGljLmpzb24JKG5vbmV4aXN0ZW50KQpAQCAtMSwxNjAgKzAsMCBAQAotWwotICAgIHsK
LSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUiOiAiUG9pbnQiLAot
ICAgICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFtdLAotICAgICAg
ICAiaW5oZXJpdGFuY2UiOiBudWxsLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0sCi0g
ICAgewotICAgICAgICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFtZSI6ICJDaXJj
bGUiLAotICAgICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFsKLSAg
ICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAg
ICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICJyZWFkb25seSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAg
ICAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAgICAgICAgICAg
ICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICAgICAiaWRsVHlwZSI6ICJmbG9hdCIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRy
cyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJjeCIs
Ci0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImN4IiwKLSAgICAgICAgICAgICAgICAi
ZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAg
ICAgICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAiaW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJyZWFkb25seSI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6
ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwK
LSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJmbG9h
dCIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAg
fSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJjeSIsCi0gICAgICAgICAgICAgICAgImVzY2Fw
ZWROYW1lIjogImN5IiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAg
ICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUi
LAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3Ry
aW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICJyZWFkb25seSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBl
IjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAg
ICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51
bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJmbG9hdCIsCi0gICAgICAgICAgICAgICAgICAg
ICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFt
ZSI6ICJyYWRpdXMiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJyYWRpdXMiLAot
ICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9LAotICAgICAgICAg
ICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAg
ICAgInN0YXRpYyI6IHRydWUsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAicmVh
ZG9ubHkiOiB0cnVlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAg
ICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJn
ZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAi
aWRsVHlwZSI6ICJsb25nIiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAg
ICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogInRyaWFuZ3VsYXRpb25D
b3VudCIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogInRyaWFuZ3VsYXRpb25Db3Vu
dCIsCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0gICAg
ICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAib3BlcmF0aW9uIiwKLSAgICAgICAg
ICAgICAgICAiZ2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInNldHRlciI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICJkZWxldGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0
YXRpYyI6IHRydWUsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInJl
dHVybi10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAg
ICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVu
aW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogIlBvaW50IiwKLSAg
ICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAg
ICAgICAgICAgICAgICJuYW1lIjogInRyaWFuZ3VsYXRlIiwKLSAgICAgICAgICAgICAgICAiZXNj
YXBlZE5hbWUiOiAidHJpYW5ndWxhdGUiLAotICAgICAgICAgICAgICAgICJhcmd1bWVudHMiOiBb
Ci0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJvcHRpb25h
bCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgInZhcmlhZGljIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdCI6IG51bGwsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAiZXh0QXR0cnMiOiBbXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBl
IjogewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImFyZ3VtZW50LXR5cGUi
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAi
aWRsVHlwZSI6ICJDaXJjbGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRy
cyI6IFtdCi0gICAgICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICAg
ICAgIm5hbWUiOiAiYzEiLAotICAgICAgICAgICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjog
ImMxIgotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICAib3B0aW9uYWwiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICJ2YXJpYWRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1
bHQiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10sCi0gICAg
ICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxl
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiQ2lyY2xlIiwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAg
ICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjogImMyIiwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJjMiIKLSAgICAgICAgICAgICAgICAgICAgfSwK
LSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIm9wdGlvbmFs
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAidmFyaWFkaWMiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0IjogbnVsbCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICJleHRBdHRycyI6IFtdLAotICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUi
OiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXJndW1lbnQtdHlwZSIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJp
ZGxUeXBlIjogIkNpcmNsZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJz
IjogW10KLSAgICAgICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgICAg
ICAibmFtZSI6ICJjMyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAi
YzMiCi0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAg
ICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAg
ICJpbmhlcml0YW5jZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgfQotXQpJ
bmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL3N0cmluZ2lmaWVyLWF0dHJpYnV0ZS5qc29uCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9zdHJpbmdpZmllci1hdHRyaWJ1dGUu
anNvbgkocmV2aXNpb24gMjUyODk2KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL3N0cmluZ2lm
aWVyLWF0dHJpYnV0ZS5qc29uCShub25leGlzdGVudCkKQEAgLTEsNTQgKzAsMCBAQAotWwotICAg
IHsKLSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUiOiAiU3R1ZGVu
dCIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJzIjogWwotICAg
ICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0gICAgICAg
ICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICJpbmhlcml0IjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgInJlYWRvbmx5IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAg
ICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZS10eXBlIiwKLSAgICAgICAgICAgICAg
ICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgICAgICJpZGxUeXBlIjogInVuc2lnbmVkIGxvbmciLAotICAgICAgICAgICAgICAgICAgICAi
ZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUi
OiAiaWQiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJpZCIsCi0gICAgICAgICAg
ICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAg
ICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAic3RhdGlj
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogdHJ1ZSwKLSAgICAgICAg
ICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJyZWFkb25seSI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAi
dHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjog
bnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6
ICJET01TdHJpbmciLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAg
ICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAibmFtZSIsCi0gICAgICAgICAg
ICAgICAgImVzY2FwZWROYW1lIjogIm5hbWUiLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6
IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJpbmhlcml0YW5jZSI6IG51
bGwsCi0gICAgICAgICJleHRBdHRycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAg
ICAibmFtZSI6ICJDb25zdHJ1Y3RvciIsCi0gICAgICAgICAgICAgICAgImFyZ3VtZW50cyI6IG51
bGwsCi0gICAgICAgICAgICAgICAgInR5cGUiOiAiZXh0ZW5kZWQtYXR0cmlidXRlIiwKLSAgICAg
ICAgICAgICAgICAicmhzIjogbnVsbAotICAgICAgICAgICAgfQotICAgICAgICBdCi0gICAgfQot
XQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL3N0cmluZ2lmaWVyLWN1c3RvbS5qc29uCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9zdHJpbmdpZmllci1jdXN0b20uanNv
bgkocmV2aXNpb24gMjUyODk2KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL3N0cmluZ2lmaWVy
LWN1c3RvbS5qc29uCShub25leGlzdGVudCkKQEAgLTEsOTIgKzAsMCBAQAotWwotICAgIHsKLSAg
ICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUiOiAiU3R1ZGVudCIsCi0g
ICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJzIjogWwotICAgICAgICAg
ICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAg
ICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICJpbmhlcml0IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInJl
YWRvbmx5IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAg
ICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZS10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAg
ImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAg
ICJpZGxUeXBlIjogInVuc2lnbmVkIGxvbmciLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0
cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiaWQi
LAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJpZCIsCi0gICAgICAgICAgICAgICAg
ImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAg
ICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAicmVhZG9ubHkiOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUi
OiAiYXR0cmlidXRlLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGws
Ci0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IHRydWUsCi0gICAgICAgICAgICAgICAg
ICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJET01T
dHJpbmciLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAg
ICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiZmFtaWx5TmFtZSIsCi0gICAgICAgICAg
ICAgICAgImVzY2FwZWROYW1lIjogImZhbWlseU5hbWUiLAotICAgICAgICAgICAgICAgICJleHRB
dHRycyI6IFtdCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAg
ICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJp
bmhlcml0IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5IjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImF0
dHJpYnV0ZS10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAg
ICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAg
InVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogIkRPTVN0cmlu
ZyIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAg
fSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJnaXZlbk5hbWUiLAotICAgICAgICAgICAgICAg
ICJlc2NhcGVkTmFtZSI6ICJnaXZlbk5hbWUiLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6
IFtdCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBl
IjogIm9wZXJhdGlvbiIsCi0gICAgICAgICAgICAgICAgImdldHRlciI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICJzZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiZGVsZXRlciI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAi
c3RyaW5naWZpZXIiOiB0cnVlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAg
ICAgICAgICAgICAgICAidHlwZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAgICAgICAgICAgICAgICAg
ICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAg
ICAiaWRsVHlwZSI6ICJET01TdHJpbmciLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMi
OiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiBudWxsLAot
ICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6IG51bGwsCi0gICAgICAgICAgICAgICAgImFy
Z3VtZW50cyI6IFtdLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAg
ICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJpbmhlcml0YW5jZSI6IG51bGwsCi0gICAgICAgICJl
eHRBdHRycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJDb25z
dHJ1Y3RvciIsCi0gICAgICAgICAgICAgICAgImFyZ3VtZW50cyI6IG51bGwsCi0gICAgICAgICAg
ICAgICAgInR5cGUiOiAiZXh0ZW5kZWQtYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAicmhz
IjogbnVsbAotICAgICAgICAgICAgfQotICAgICAgICBdCi0gICAgfQotXQpJbmRleDogTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3N5bnRheC9qc29uL3N0cmluZ2lmaWVyLmpzb24KPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3N5bnRheC9qc29uL3N0cmluZ2lmaWVyLmpzb24JKHJldmlzaW9uIDI1Mjg5NikKKysrIExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC9zeW50YXgvanNvbi9zdHJpbmdpZmllci5qc29uCShub25leGlzdGVudCkKQEAgLTEsNDkg
KzAsMCBAQAotWwotICAgIHsKLSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAg
Im5hbWUiOiAiQSIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJz
IjogWwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogIm9wZXJhdGlvbiIs
Ci0gICAgICAgICAgICAgICAgImdldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzZXR0
ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiZGVsZXRlciI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiB0
cnVlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAi
dHlwZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVs
bCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJE
T01TdHJpbmciLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAg
ICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiBudWxsLAotICAgICAgICAgICAgICAg
ICJlc2NhcGVkTmFtZSI6IG51bGwsCi0gICAgICAgICAgICAgICAgImFyZ3VtZW50cyI6IFtdLAot
ICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0s
Ci0gICAgICAgICJpbmhlcml0YW5jZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0g
ICAgfSwKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAgICAgICJuYW1l
IjogIkIiLAotICAgICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFsK
LSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJvcGVyYXRpb24iLAotICAg
ICAgICAgICAgICAgICJnZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic2V0dGVyIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgImRlbGV0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogdHJ1ZSwK
LSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfQotICAgICAgICBd
LAotICAgICAgICAiaW5oZXJpdGFuY2UiOiBudWxsLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQot
ICAgIH0KLV0KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi90cmVhdGFzbnVsbC5qc29uCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi90cmVhdGFzbnVsbC5qc29uCShyZXZp
c2lvbiAyNTI4OTYpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vdHJlYXRhc251bGwuanNvbgko
bm9uZXhpc3RlbnQpCkBAIC0xLDk0ICswLDAgQEAKLVsKLSAgICB7Ci0gICAgICAgICJ0eXBlIjog
ImludGVyZmFjZSIsCi0gICAgICAgICJuYW1lIjogIkRvZyIsCi0gICAgICAgICJwYXJ0aWFsIjog
ZmFsc2UsCi0gICAgICAgICJtZW1iZXJzIjogWwotICAgICAgICAgICAgewotICAgICAgICAgICAg
ICAgICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICJpbmhlcml0IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5IjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjog
ImF0dHJpYnV0ZS10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAot
ICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAg
ICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogIkRPTVN0
cmluZyIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAg
ICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJuYW1lIiwKLSAgICAgICAgICAgICAgICAi
ZXNjYXBlZE5hbWUiOiAibmFtZSIsCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAg
ICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0
cmlidXRlIiwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImluaGVyaXQiOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAicmVhZG9ubHkiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAi
aWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlLXR5cGUi
LAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAg
ICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiRE9NU3RyaW5nIiwKLSAgICAgICAg
ICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAg
ICAgICAgICJuYW1lIjogIm93bmVyIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAi
b3duZXIiLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9LAot
ICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogIm9wZXJhdGlvbiIsCi0gICAg
ICAgICAgICAgICAgImdldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzZXR0ZXIiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAiZGVsZXRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUi
OiAicmV0dXJuLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0g
ICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAg
ICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiYm9vbGVh
biIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAg
fSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJpc01lbWJlck9mQnJlZWQiLAotICAgICAgICAg
ICAgICAgICJlc2NhcGVkTmFtZSI6ICJpc01lbWJlck9mQnJlZWQiLAotICAgICAgICAgICAgICAg
ICJhcmd1bWVudHMiOiBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAg
ICAgICAgICJvcHRpb25hbCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgInZhcmlh
ZGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdCI6IG51bGwsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJUcmVh
dE51bGxBcyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJhcmd1bWVudHMiOiBu
dWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJleHRlbmRlZC1h
dHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicmhzIjogewotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiaWRlbnRpZmllciIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiOiAiRW1wdHlTdHJpbmci
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgICAg
ICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAi
YXJndW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBu
dWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJpZGxUeXBlIjogIkRPTVN0cmluZyIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgICAgIH0sCi0gICAg
ICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJicmVlZE5hbWUiLAotICAgICAgICAgICAgICAg
ICAgICAgICAgImVzY2FwZWROYW1lIjogImJyZWVkTmFtZSIKLSAgICAgICAgICAgICAgICAgICAg
fQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAg
ICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImluaGVyaXRhbmNlIjogbnVsbCwKLSAg
ICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9Ci1dCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pz
b24vdHJlYXRhc3VuZGVmaW5lZC5qc29uCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgv
anNvbi90cmVhdGFzdW5kZWZpbmVkLmpzb24JKHJldmlzaW9uIDI1Mjg5NikKKysrIExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC9zeW50YXgvanNvbi90cmVhdGFzdW5kZWZpbmVkLmpzb24JKG5vbmV4aXN0ZW50KQpAQCAtMSw5
NCArMCwwIEBACi1bCi0gICAgewotICAgICAgICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAg
ICAibmFtZSI6ICJDYXQiLAotICAgICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVt
YmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1
dGUiLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAi
c3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICJyZWFkb25seSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxU
eXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0g
ICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAg
Im51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJET01TdHJpbmciLAotICAgICAgICAgICAg
ICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAg
ICAgIm5hbWUiOiAibmFtZSIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogIm5hbWUi
LAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9LAotICAgICAg
ICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAg
ICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICJpbmhlcml0IjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
InJlYWRvbmx5IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAg
ICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZS10eXBlIiwKLSAgICAgICAgICAgICAgICAg
ICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ICAgICJpZGxUeXBlIjogIkRPTVN0cmluZyIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRy
cyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJvd25l
ciIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogIm93bmVyIiwKLSAgICAgICAgICAg
ICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAg
ICAgICAgICAgICAidHlwZSI6ICJvcGVyYXRpb24iLAotICAgICAgICAgICAgICAgICJnZXR0ZXIi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgImRlbGV0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlk
bFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInJldHVybi10eXBlIiwKLSAg
ICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAi
bnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogImJvb2xlYW4iLAotICAgICAgICAgICAgICAg
ICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAg
Im5hbWUiOiAiaXNNZW1iZXJPZkJyZWVkIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUi
OiAiaXNNZW1iZXJPZkJyZWVkIiwKLSAgICAgICAgICAgICAgICAiYXJndW1lbnRzIjogWwotICAg
ICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAib3B0aW9uYWwiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ2YXJpYWRpYyI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgImRlZmF1bHQiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAg
ICAgImV4dEF0dHJzIjogWwotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAiVHJlYXRVbmRlZmluZWRBcyIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJhcmd1bWVudHMiOiBudWxsLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJleHRlbmRlZC1hdHRyaWJ1dGUiLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicmhzIjogewotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgInR5cGUiOiAiaWRlbnRpZmllciIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAidmFsdWUiOiAiRW1wdHlTdHJpbmciCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB9Ci0gICAg
ICAgICAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUi
OiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXJndW1lbnQtdHlwZSIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJp
ZGxUeXBlIjogIkRPTVN0cmluZyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0
dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAg
ICAgICAibmFtZSI6ICJicmVlZE5hbWUiLAotICAgICAgICAgICAgICAgICAgICAgICAgImVzY2Fw
ZWROYW1lIjogImJyZWVkTmFtZSIKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAg
ICAgIF0sCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0KLSAg
ICAgICAgXSwKLSAgICAgICAgImluaGVyaXRhbmNlIjogbnVsbCwKLSAgICAgICAgImV4dEF0dHJz
IjogW10KLSAgICB9Ci1dCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vdHlwZWRlZi11bmlv
bi5qc29uCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi90eXBlZGVmLXVuaW9u
Lmpzb24JKHJldmlzaW9uIDI1Mjg5NikKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi90eXBlZGVm
LXVuaW9uLmpzb24JKG5vbmV4aXN0ZW50KQpAQCAtMSw0OCArMCwwIEBACi1bCi0gICAgewotICAg
ICAgICAidHlwZSI6ICJ0eXBlZGVmIiwKLSAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAg
ICAidHlwZSI6ICJ0eXBlZGVmLXR5cGUiLAotICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAot
ICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAidW5pb24iOiB0cnVl
LAotICAgICAgICAgICAgImlkbFR5cGUiOiBbCi0gICAgICAgICAgICAgICAgewotICAgICAgICAg
ICAgICAgICAgICAidHlwZSI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjog
bnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6
ICJJbWFnZURhdGEiLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAg
ICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAidHlw
ZSI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAg
ICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlv
biI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJIVE1MSW1hZ2VFbGVt
ZW50IiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAg
ICB9LAotICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiBudWxs
LAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAg
ICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiSFRNTENhbnZhc0VsZW1lbnQiLAot
ICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0g
ICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6IG51bGwsCi0gICAg
ICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51
bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJIVE1MVmlkZW9FbGVtZW50IiwKLSAgICAgICAg
ICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAg
ICBdLAotICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgfSwKLSAgICAgICAgIm5h
bWUiOiAiVGV4SW1hZ2VTb3VyY2UiLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0KLV0K
SW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi90eXBlZGVmLmpzb24KPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3N5bnRheC9qc29uL3R5cGVkZWYuanNvbgkocmV2aXNpb24gMjUyODk2KQorKysg
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3N5bnRheC9qc29uL3R5cGVkZWYuanNvbgkobm9uZXhpc3RlbnQpCkBAIC0xLDIz
MyArMCwwIEBACi1bCi0gICAgewotICAgICAgICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAg
ICAibmFtZSI6ICJQb2ludCIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0gICAgICAgICJt
ZW1iZXJzIjogWwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJp
YnV0ZSIsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpbmhlcml0IjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgInJlYWRvbmx5IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlk
bFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZS10eXBlIiwK
LSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAg
ICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogImZsb2F0IiwKLSAgICAgICAgICAgICAg
ICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAg
ICJuYW1lIjogIngiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJ4IiwKLSAgICAg
ICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsK
LSAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJz
dGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJyZWFkb25s
eSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAg
ICAgICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5l
cmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRs
VHlwZSI6ICJmbG9hdCIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAg
ICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJ5IiwKLSAgICAgICAgICAg
ICAgICAiZXNjYXBlZE5hbWUiOiAieSIsCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10K
LSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImluaGVyaXRhbmNlIjogbnVsbCwK
LSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9LAotICAgIHsKLSAgICAgICAgInR5cGUiOiAi
dHlwZWRlZiIsCi0gICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgInR5cGUiOiAidHlw
ZWRlZi10eXBlIiwKLSAgICAgICAgICAgICJnZW5lcmljIjogInNlcXVlbmNlIiwKLSAgICAgICAg
ICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAg
ICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJ0eXBlZGVmLXR5
cGUiLAotICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAi
bnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAiaWRsVHlwZSI6ICJQb2ludCIsCi0gICAgICAgICAgICAgICAgImV4dEF0dHJz
IjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAg
ICB9LAotICAgICAgICAibmFtZSI6ICJQb2ludFNlcXVlbmNlIiwKLSAgICAgICAgImV4dEF0dHJz
IjogW10KLSAgICB9LAotICAgIHsKLSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAg
ICAgIm5hbWUiOiAiUmVjdCIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0gICAgICAgICJt
ZW1iZXJzIjogWwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJp
YnV0ZSIsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpbmhlcml0IjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgInJlYWRvbmx5IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlk
bFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZS10eXBlIiwK
LSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAg
ICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogIlBvaW50IiwKLSAgICAgICAgICAgICAg
ICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAg
ICJuYW1lIjogInRvcGxlZnQiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJ0b3Bs
ZWZ0IiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfSwKLSAg
ICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAg
ICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICJyZWFkb25seSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAg
ICAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAgICAgICAgICAg
ICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICAgICAiaWRsVHlwZSI6ICJQb2ludCIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRy
cyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJib3R0
b21yaWdodCIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImJvdHRvbXJpZ2h0IiwK
LSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfQotICAgICAgICBd
LAotICAgICAgICAiaW5oZXJpdGFuY2UiOiBudWxsLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQot
ICAgIH0sCi0gICAgewotICAgICAgICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFt
ZSI6ICJXaWRnZXQiLAotICAgICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVy
cyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUi
LAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3Ry
aW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICJyZWFkb25seSI6IHRydWUsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUi
OiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZS10eXBlIiwKLSAgICAg
ICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVs
bGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgICAgICJpZGxUeXBlIjogIlJlY3QiLAotICAgICAgICAgICAgICAgICAgICAi
ZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUi
OiAiYm91bmRzIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiYm91bmRzIiwKLSAg
ICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAg
IHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJvcGVyYXRpb24iLAotICAgICAgICAgICAgICAg
ICJnZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic2V0dGVyIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgImRlbGV0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RhdGljIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInJldHVybi10
eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAg
ICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogImJvb2xlYW4iLAotICAgICAg
ICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAg
ICAgICAgICAgIm5hbWUiOiAicG9pbnRXaXRoaW5Cb3VuZHMiLAotICAgICAgICAgICAgICAgICJl
c2NhcGVkTmFtZSI6ICJwb2ludFdpdGhpbkJvdW5kcyIsCi0gICAgICAgICAgICAgICAgImFyZ3Vt
ZW50cyI6IFsKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAg
Im9wdGlvbmFsIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAidmFyaWFkaWMiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0IjogbnVsbCwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdLAotICAgICAgICAgICAgICAgICAgICAgICAg
ImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXJndW1l
bnQtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICJpZGxUeXBlIjogIlBvaW50IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAi
ZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICJuYW1lIjogInAiLAotICAgICAgICAgICAgICAgICAgICAgICAgImVzY2FwZWRO
YW1lIjogInAiCi0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdLAotICAg
ICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAg
ewotICAgICAgICAgICAgICAgICJ0eXBlIjogIm9wZXJhdGlvbiIsCi0gICAgICAgICAgICAgICAg
ImdldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzZXR0ZXIiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAiZGVsZXRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAicmV0dXJuLXR5
cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAg
ICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiYm9vbGVhbiIsCi0gICAgICAg
ICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAg
ICAgICAgICAibmFtZSI6ICJhbGxQb2ludHNXaXRoaW5Cb3VuZHMiLAotICAgICAgICAgICAgICAg
ICJlc2NhcGVkTmFtZSI6ICJhbGxQb2ludHNXaXRoaW5Cb3VuZHMiLAotICAgICAgICAgICAgICAg
ICJhcmd1bWVudHMiOiBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAg
ICAgICAgICJvcHRpb25hbCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgInZhcmlh
ZGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdCI6IG51bGwsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjog
ImFyZ3VtZW50LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjog
bnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJQb2ludFNlcXVlbmNlIiwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAgICAgfSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjogInBzIiwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICJlc2NhcGVkTmFtZSI6ICJwcyIKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAg
ICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAg
IH0KLSAgICAgICAgXSwKLSAgICAgICAgImluaGVyaXRhbmNlIjogbnVsbCwKLSAgICAgICAgImV4
dEF0dHJzIjogW10KLSAgICB9LAotICAgIHsKLSAgICAgICAgInR5cGUiOiAidHlwZWRlZiIsCi0g
ICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgInR5cGUiOiAidHlwZWRlZi10eXBlIiwK
LSAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICJudWxsYWJsZSI6IGZh
bHNlLAotICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAiaWRsVHlwZSI6
ICJvY3RldCIsCi0gICAgICAgICAgICAiZXh0QXR0cnMiOiBbCi0gICAgICAgICAgICAgICAgewot
ICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJDbGFtcCIsCi0gICAgICAgICAgICAgICAgICAg
ICJhcmd1bWVudHMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJleHRlbmRl
ZC1hdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICAgICAicmhzIjogbnVsbAotICAgICAgICAg
ICAgICAgIH0KLSAgICAgICAgICAgIF0KLSAgICAgICAgfSwKLSAgICAgICAgIm5hbWUiOiAidmFs
dWUiLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0KLV0KSW5kZXg6IExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9z
eW50YXgvanNvbi90eXBlc3VmZml4ZXMuanNvbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3lu
dGF4L2pzb24vdHlwZXN1ZmZpeGVzLmpzb24JKHJldmlzaW9uIDI1Mjg5NikKKysrIExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC9zeW50YXgvanNvbi90eXBlc3VmZml4ZXMuanNvbgkobm9uZXhpc3RlbnQpCkBAIC0xLDU1ICsw
LDAgQEAKLVsKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAgICAgICJu
YW1lIjogIlN1ZmZpeGVzIiwKLSAgICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1l
bWJlcnMiOiBbCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAib3BlcmF0
aW9uIiwKLSAgICAgICAgICAgICAgICAiZ2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
InNldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJkZWxldGVyIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmll
ciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAg
ICAgICAidHlwZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmlj
IjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlw
ZSI6ICJ2b2lkIiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAg
ICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogInRlc3QiLAotICAgICAgICAgICAg
ICAgICJlc2NhcGVkTmFtZSI6ICJ0ZXN0IiwKLSAgICAgICAgICAgICAgICAiYXJndW1lbnRzIjog
WwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAib3B0aW9u
YWwiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ2YXJpYWRpYyI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHQiOiBudWxsLAotICAgICAgICAgICAgICAg
ICAgICAgICAgImV4dEF0dHJzIjogW10sCi0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlw
ZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBl
IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6ICJzZXF1ZW5jZSIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogdHJ1ZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUi
OiAiYXJndW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5l
cmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjog
dHJ1ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogIkRPTVN0cmluZyIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0
cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJuYW1lIjogImZvbyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUi
OiAiZm9vIgotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXSwKLSAgICAg
ICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfQotICAgICAgICBdLAotICAg
ICAgICAiaW5oZXJpdGFuY2UiOiBudWxsLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0K
LV0KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi91bmlvbnR5cGUuanNvbgo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vdW5pb250eXBlLmpzb24JKHJldmlzaW9uIDI1Mjg5
NikKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi91bmlvbnR5cGUuanNvbgkobm9uZXhpc3RlbnQp
CkBAIC0xLDEzMCArMCwwIEBACi1bCi0gICAgewotICAgICAgICAidHlwZSI6ICJpbnRlcmZhY2Ui
LAotICAgICAgICAibmFtZSI6ICJVbmlvbiIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0g
ICAgICAgICJtZW1iZXJzIjogWwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBl
IjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpbmhlcml0
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5IjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0
ZS10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAg
ICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9u
IjogdHJ1ZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiBbCi0gICAgICAgICAgICAg
ICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiBudWxsLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRs
VHlwZSI6ICJmbG9hdCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjog
W10KLSAgICAgICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgICAgICB7
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiBudWxsLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5p
b24iOiB0cnVlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogWwotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAidHlwZSI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImlk
bFR5cGUiOiAiRGF0ZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0
QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAidHlwZSI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAi
Z2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibnVs
bGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlv
biI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUi
OiAiRXZlbnQiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJz
IjogW10KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjog
W10KLSAgICAgICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgICAgICB7
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiBudWxsLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAibnVsbGFibGUiOiB0cnVlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlv
biI6IHRydWUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiBbCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJ0eXBlIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
InVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRs
VHlwZSI6ICJOb2RlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHRB
dHRycyI6IFtdCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJ0eXBlIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJn
ZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJudWxs
YWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9u
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6
ICJET01TdHJpbmciLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0
dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJz
IjogW10KLSAgICAgICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAgXSwK
LSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAot
ICAgICAgICAgICAgICAgICJuYW1lIjogInRlc3QiLAotICAgICAgICAgICAgICAgICJlc2NhcGVk
TmFtZSI6ICJ0ZXN0IiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAg
ICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUi
LAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3Ry
aW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICJyZWFkb25seSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBl
IjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAg
ICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51
bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IHRydWUsCi0gICAg
ICAgICAgICAgICAgICAgICJpZGxUeXBlIjogWwotICAgICAgICAgICAgICAgICAgICAgICAgewot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogbnVsbCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9u
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAibG9uZyIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogWwotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAibmFtZSI6ICJFbmZvcmNlUmFuZ2UiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgImFyZ3VtZW50cyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAidHlwZSI6ICJleHRlbmRlZC1hdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgInJocyI6IG51bGwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgfQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0KLSAgICAgICAgICAgICAgICAgICAg
ICAgIH0sCi0gICAgICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgInR5cGUiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmlj
IjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJEYXRlIiwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAgICAgfQotICAgICAg
ICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAg
ICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAidGVzdDIiLAotICAgICAg
ICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJ0ZXN0MiIsCi0gICAgICAgICAgICAgICAgImV4dEF0
dHJzIjogW10KLSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImluaGVyaXRhbmNl
IjogbnVsbCwKLSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9Ci1dCkluZGV4OiBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvc3ludGF4L2pzb24vdmFyaWFkaWMtb3BlcmF0aW9ucy5qc29uCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC9zeW50YXgvanNvbi92YXJpYWRpYy1vcGVyYXRpb25zLmpzb24JKHJldmlzaW9uIDI1
Mjg5NikKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi92YXJpYWRpYy1vcGVyYXRpb25zLmpzb24J
KG5vbmV4aXN0ZW50KQpAQCAtMSwxMDMgKzAsMCBAQAotWwotICAgIHsKLSAgICAgICAgInR5cGUi
OiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUiOiAiSW50ZWdlclNldCIsCi0gICAgICAgICJw
YXJ0aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJzIjogWwotICAgICAgICAgICAgewotICAg
ICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInN0YXRp
YyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICJpbmhlcml0IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5Ijog
dHJ1ZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAg
InR5cGUiOiAiYXR0cmlidXRlLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6
IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUi
OiAidW5zaWduZWQgbG9uZyIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0g
ICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJjYXJkaW5hbGl0eSIs
Ci0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImNhcmRpbmFsaXR5IiwKLSAgICAgICAg
ICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAg
ICAgICAgICAgICAgICAidHlwZSI6ICJvcGVyYXRpb24iLAotICAgICAgICAgICAgICAgICJnZXR0
ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgImRlbGV0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInJldHVybi10eXBlIiwK
LSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAg
ICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogInZvaWQiLAotICAgICAgICAgICAgICAg
ICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAg
Im5hbWUiOiAidW5pb24iLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJ1bmlvbiIs
Ci0gICAgICAgICAgICAgICAgImFyZ3VtZW50cyI6IFsKLSAgICAgICAgICAgICAgICAgICAgewot
ICAgICAgICAgICAgICAgICAgICAgICAgIm9wdGlvbmFsIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAidmFyaWFkaWMiOiB0cnVlLAotICAgICAgICAgICAgICAgICAgICAgICAgImRl
ZmF1bHQiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10sCi0g
ICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxh
YmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAibG9uZyIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAg
ICAgIH0sCi0gICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJpbnRzIiwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJpbnRzIgotICAgICAgICAgICAgICAgICAg
ICB9Ci0gICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQot
ICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJv
cGVyYXRpb24iLAotICAgICAgICAgICAgICAgICJnZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAic2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImRlbGV0ZXIiOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmlu
Z2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAg
ICAgICAgICAgICJ0eXBlIjogInJldHVybi10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdl
bmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJp
ZGxUeXBlIjogInZvaWQiLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAg
ICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiaW50ZXJzZWN0aW9uIiwK
LSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiaW50ZXJzZWN0aW9uIiwKLSAgICAgICAg
ICAgICAgICAiYXJndW1lbnRzIjogWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICAib3B0aW9uYWwiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJ2YXJpYWRpYyI6IHRydWUsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdCI6IG51
bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0
eXBlIjogImFyZ3VtZW50LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5l
cmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJsb25nIiwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjogImludHMiLAotICAgICAgICAgICAgICAgICAg
ICAgICAgImVzY2FwZWROYW1lIjogImludHMiCi0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAg
ICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAg
ICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJpbmhlcml0YW5jZSI6IG51bGwsCi0gICAgICAgICJl
eHRBdHRycyI6IFtdCi0gICAgfQotXQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL3czYy1p
bXBvcnQubG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi93M2MtaW1wb3J0
LmxvZwkocmV2aXNpb24gMjUyODk2KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL3czYy1pbXBv
cnQubG9nCShub25leGlzdGVudCkKQEAgLTEsNzAgKzAsMCBAQAotVGhlIHRlc3RzIGluIHRoaXMg
ZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCi1EbyBOT1Qg
bW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQsIGNyZWF0ZSBh
IHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20vd2Vi
LXBsYXRmb3JtLXRlc3RzL3dwdAotCi1UaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQt
dzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydAotCi1EbyBOT1QgbW9kaWZ5IG9yIHJlbW92
ZSB0aGlzIGZpbGUuCi0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotUHJvcGVydGllcyByZXF1aXJpbmcgdmVu
ZG9yIHByZWZpeGVzOgotTm9uZQotUHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJl
Zml4ZXM6Ci1Ob25lCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLUxpc3Qgb2YgZmlsZXM6Ci0vTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3N5bnRheC9qc29uL2FsbG93YW55Lmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vYXR0cmli
dXRlcy5qc29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2NhbGxiYWNrLmpzb24KLS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvc3ludGF4L2pzb24vY29uc3RhbnRzLmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vY29u
c3RydWN0b3IuanNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9kaWN0aW9uYXJ5LWluaGVyaXRz
Lmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vZGljdGlvbmFyeS5qc29uCi0vTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3N5bnRheC9qc29uL2RvY3VtZW50YXRpb24tZG9zLmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pz
b24vZG9jdW1lbnRhdGlvbi5qc29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2VudW0uanNvbgot
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC9zeW50YXgvanNvbi9lcXVpdmFsZW50LWRlY2wuanNvbgotL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9z
eW50YXgvanNvbi9leGNlcHRpb24taW5oZXJpdGFuY2UuanNvbgotL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgv
anNvbi9leHRlbmRlZC1hdHRyaWJ1dGVzLmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vZ2Vu
ZXJpYy5qc29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2dldHRlci1zZXR0ZXIuanNvbgotL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC9zeW50YXgvanNvbi9pZGVudGlmaWVyLXF1YWxpZmllZC1uYW1lcy5qc29uCi0vTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L3N5bnRheC9qc29uL2ltcGxlbWVudHMuanNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNv
bi9pbmRleGVkLXByb3BlcnRpZXMuanNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9pbmhlcml0
cy1nZXR0ZXIuanNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9pbnRlcmZhY2UtaW5oZXJpdHMu
anNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9pdGVyYWJsZS5qc29uCi0vTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5
bnRheC9qc29uL2l0ZXJhdG9yLmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vbGVnYWN5aXRl
cmFibGUuanNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9tYXBsaWtlLmpzb24KLS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvc3ludGF4L2pzb24vbWl4aW4uanNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9uYW1lZGNv
bnN0cnVjdG9yLmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vbmFtZXNwYWNlLmpzb24KLS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3Qvc3ludGF4L2pzb24vbm9pbnRlcmZhY2VvYmplY3QuanNvbgotL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9z
eW50YXgvanNvbi9udWxsYWJsZS5qc29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL251bGxhYmxl
b2JqZWN0cy5qc29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL29wZXJhdGlvbi1vcHRpb25hbC1h
cmcuanNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9vdmVybG9hZGluZy5qc29uCi0vTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3N5bnRheC9qc29uL292ZXJyaWRlYnVpbHRpbnMuanNvbgotL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgv
anNvbi9wYXJ0aWFsLWludGVyZmFjZS5qc29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL3ByaW1p
dGl2ZXMuanNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9wcm9taXNlLXZvaWQuanNvbgotL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC9zeW50YXgvanNvbi9wcm90b3R5cGVyb290Lmpzb24KLS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4
L2pzb24vcHV0Zm9yd2FyZHMuanNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9yZWNvcmQuanNv
bgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9yZWctb3BlcmF0aW9ucy5qc29uCi0vTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3N5bnRheC9qc29uL3JlcGxhY2VhYmxlLmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vc2Vx
dWVuY2UuanNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9zZXRsaWtlLmpzb24KLS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvc3ludGF4L2pzb24vc3RhdGljLmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vc3RyaW5n
aWZpZXItYXR0cmlidXRlLmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vc3RyaW5naWZpZXIt
Y3VzdG9tLmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vc3RyaW5naWZpZXIuanNvbgotL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC9zeW50YXgvanNvbi90cmVhdGFzbnVsbC5qc29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9q
c29uL3RyZWF0YXN1bmRlZmluZWQuanNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi90eXBlZGVm
LXVuaW9uLmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vdHlwZWRlZi5qc29uCi0vTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3N5bnRheC9qc29uL3R5cGVzdWZmaXhlcy5qc29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29u
L3VuaW9udHlwZS5qc29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL3ZhcmlhZGljLW9wZXJhdGlv
bnMuanNvbgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9vcHQvdHlwZWRlZi1uZXN0ZWQuanNvbgo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L29wdC90eXBlZGVmLW5lc3RlZC5qc29uCShy
ZXZpc2lvbiAyNTI4OTYpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L29wdC90eXBlZGVmLW5lc3RlZC5q
c29uCShub25leGlzdGVudCkKQEAgLTEsMyArMCwwIEBACi17Ci0gICAgImFsbG93TmVzdGVkVHlw
ZWRlZnMiOiB0cnVlCi19ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3N5bnRheC9vcHQvdzNjLWltcG9ydC5sb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5
bnRheC9vcHQvdzNjLWltcG9ydC5sb2cJKHJldmlzaW9uIDI1Mjg5NikKKysrIExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9z
eW50YXgvb3B0L3czYy1pbXBvcnQubG9nCShub25leGlzdGVudCkKQEAgLTEsMTcgKzAsMCBAQAot
VGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJl
cG9zaXRvcnkuCi1EbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4K
LUluc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKLQlodHRw
czovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cwotCi1UaGVuIHJ1biB0aGUgVG9v
bHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydAotCi1EbyBO
T1QgbW9kaWZ5IG9yIHJlbW92ZSB0aGlzIGZpbGUuCi0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotUHJvcGVy
dGllcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgotTm9uZQotUHJvcGVydHkgdmFsdWVzIHJl
cXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6Ci1Ob25lCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLUxpc3Qgb2Yg
ZmlsZXM6Ci0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9vcHQvdHlwZWRlZi1uZXN0ZWQuanNvbgpJbmRleDog
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3N5bnRheC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4LmpzCShy
ZXZpc2lvbiAyNTI4OTYpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4LmpzCShub25leGlzdGVudCkKQEAg
LTEsMTkgKzAsMCBAQAotInVzZSBzdHJpY3QiOwotCi1jb25zdCB7IGNvbGxlY3QgfSA9IHJlcXVp
cmUoIi4vdXRpbC9jb2xsZWN0Iik7Ci1jb25zdCBleHBlY3QgPSByZXF1aXJlKCJleHBlY3QiKTsK
LWNvbnN0IGRlYnVnID0gdHJ1ZTsKLQotZGVzY3JpYmUoIlBhcnNlcyBhbGwgb2YgdGhlIElETHMg
dG8gcHJvZHVjZSB0aGUgY29ycmVjdCBBU1RzIiwgKCkgPT4gewotICBmb3IgKGNvbnN0IHRlc3Qg
b2YgY29sbGVjdCgic3ludGF4IikpIHsKLSAgICBpdChgc2hvdWxkIHByb2R1Y2UgdGhlIHNhbWUg
QVNUIGZvciAke3Rlc3QucGF0aH1gLCAoKSA9PiB7Ci0gICAgICB0cnkgewotICAgICAgICBleHBl
Y3QodGVzdC5kaWZmKCkpLnRvQmVGYWxzeSgpOwotICAgICAgfQotICAgICAgY2F0Y2ggKGUpIHsK
LSAgICAgICAgY29uc29sZS5sb2coZS50b1N0cmluZygpKTsKLSAgICAgICAgdGhyb3cgZTsKLSAg
ICAgIH0KLSAgICB9KTsKLSAgfQotfSk7CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvdXRpbC9hY3F1aXJlLmpz
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC91dGlsL2FjcXVpcmUuanMJKHJldmlzaW9uIDI1Mjg5
NikKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC91dGlsL2FjcXVpcmUuanMJKG5vbmV4aXN0ZW50KQpAQCAtMSw4ICsw
LDAgQEAKLSJ1c2Ugc3RyaWN0IjsKLQotY29uc3QgeyBjb2xsZWN0IH0gPSByZXF1aXJlKCIuL2Nv
bGxlY3QiKTsKLWNvbnN0IGZzID0gcmVxdWlyZSgiZnMiKTsKLQotZm9yIChjb25zdCB0ZXN0IG9m
IGNvbGxlY3QoInN5bnRheCIpKSB7Ci0gIGZzLndyaXRlRmlsZVN5bmModGVzdC5qc29uUGF0aCwg
YCR7SlNPTi5zdHJpbmdpZnkodGVzdC5hc3QsIG51bGwsIDQpfVxuYCkKLX0KSW5kZXg6IExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC91dGlsL2NvbGxlY3QuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3V0aWwvY29sbGVj
dC5qcwkocmV2aXNpb24gMjUyODk2KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3V0aWwvY29sbGVjdC5qcwkobm9u
ZXhpc3RlbnQpCkBAIC0xLDU5ICswLDAgQEAKLSJ1c2Ugc3RyaWN0IjsKLQotY29uc3Qgd3AgPSBy
ZXF1aXJlKCIuLi8uLi9saWIvd2ViaWRsMiIpOwotY29uc3QgcHRoID0gcmVxdWlyZSgicGF0aCIp
OwotY29uc3QgZnMgPSByZXF1aXJlKCJmcyIpOwotY29uc3QgamRwID0gcmVxdWlyZSgianNvbmRp
ZmZwYXRjaCIpOwotCi0vKioKLSAqIENvbGxlY3RzIHRlc3QgaXRlbXMgZnJvbSB0aGUgc3BlY2lm
aWVkIGRpcmVjdG9yeQotICogQHBhcmFtIHtzdHJpbmd9IGJhc2UKLSAqLwotZnVuY3Rpb24qIGNv
bGxlY3QoYmFzZSwgeyBleHBlY3RFcnJvciB9ID0ge30pIHsKLSAgYmFzZSA9IHB0aC5qb2luKF9f
ZGlybmFtZSwgIi4uIiwgYmFzZSk7Ci0gIGNvbnN0IGRpciA9IHB0aC5qb2luKGJhc2UsICJpZGwi
KTsKLSAgY29uc3QgaWRscyA9IGZzLnJlYWRkaXJTeW5jKGRpcikKLSAgICAuZmlsdGVyKGl0ID0+
ICgvXC53aWRsJC8pLnRlc3QoaXQpKQotICAgIC5tYXAoaXQgPT4gcHRoLmpvaW4oZGlyLCBpdCkp
OwotCi0gIGZvciAoY29uc3QgcGF0aCBvZiBpZGxzKSB7Ci0gICAgY29uc3Qgb3B0RmlsZSA9IHB0
aC5qb2luKGJhc2UsICJvcHQiLCBwdGguYmFzZW5hbWUocGF0aCkpLnJlcGxhY2UoIi53aWRsIiwg
Ii5qc29uIik7Ci0gICAgbGV0IG9wdDsKLSAgICBpZiAoZnMuZXhpc3RzU3luYyhvcHRGaWxlKSkK
LSAgICAgIG9wdCA9IEpTT04ucGFyc2UoZnMucmVhZEZpbGVTeW5jKG9wdEZpbGUsICJ1dGY4Iikp
OwotCi0gICAgdHJ5IHsKLSAgICAgIGNvbnN0IGFzdCA9IHdwLnBhcnNlKGZzLnJlYWRGaWxlU3lu
YyhwYXRoLCAidXRmOCIpLnJlcGxhY2UoL1xyXG4vZywgIlxuIiksIG9wdCk7Ci0gICAgICB5aWVs
ZCBuZXcgVGVzdEl0ZW0oeyBhc3QsIHBhdGgsIG9wdCB9KTsKLSAgICB9Ci0gICAgY2F0Y2ggKGVy
cm9yKSB7Ci0gICAgICBpZiAoZXhwZWN0RXJyb3IpIHsKLSAgICAgICAgeWllbGQgbmV3IFRlc3RJ
dGVtKHsgcGF0aCwgZXJyb3IgfSk7Ci0gICAgICB9Ci0gICAgICBlbHNlIHsKLSAgICAgICAgdGhy
b3cgZXJyb3I7Ci0gICAgICB9Ci0gICAgfQotICB9Ci19OwotCi0KLWNsYXNzIFRlc3RJdGVtIHsK
LSAgY29uc3RydWN0b3IoeyBhc3QsIHBhdGgsIGVycm9yLCBvcHQgfSkgewotICAgIHRoaXMuYXN0
ID0gYXN0OwotICAgIHRoaXMucGF0aCA9IHBhdGg7Ci0gICAgdGhpcy5lcnJvciA9IGVycm9yOwot
ICAgIHRoaXMub3B0ID0gb3B0OwotICAgIHRoaXMuanNvblBhdGggPSBwdGguam9pbihwdGguZGly
bmFtZShwYXRoKSwgIi4uL2pzb24iLCBwdGguYmFzZW5hbWUocGF0aCkucmVwbGFjZSgiLndpZGwi
LCAiLmpzb24iKSk7Ci0gIH0KLQotICByZWFkSlNPTigpIHsKLSAgICByZXR1cm4gSlNPTi5wYXJz
ZShmcy5yZWFkRmlsZVN5bmModGhpcy5qc29uUGF0aCwgInV0ZjgiKSk7Ci0gIH0KLQotICBkaWZm
KHRhcmdldCA9IHRoaXMucmVhZEpTT04oKSkgewotICAgIHJldHVybiBqZHAuZGlmZih0YXJnZXQs
IHRoaXMuYXN0KTsKLSAgfQotfQotCi1tb2R1bGUuZXhwb3J0cy5jb2xsZWN0ID0gY29sbGVjdDsK
SW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC91dGlsL3czYy1pbXBvcnQubG9nCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC91dGlsL3czYy1pbXBvcnQubG9nCShyZXZpc2lvbiAyNTI4OTYpCisrKyBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
dXRpbC93M2MtaW1wb3J0LmxvZwkobm9uZXhpc3RlbnQpCkBAIC0xLDE4ICswLDAgQEAKLVRoZSB0
ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0
b3J5LgotRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0
ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9n
aXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQKLQotVGhlbiBydW4gdGhlIFRvb2xzL1Nj
cmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKLQotRG8gTk9UIG1v
ZGlmeSBvciByZW1vdmUgdGhpcyBmaWxlLgotCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLVByb3BlcnRpZXMg
cmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKLU5vbmUKLVByb3BlcnR5IHZhbHVlcyByZXF1aXJp
bmcgdmVuZG9yIHByZWZpeGVzOgotTm9uZQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1MaXN0IG9mIGZpbGVz
OgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC91dGlsL2FjcXVpcmUuanMKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvdXRpbC9jb2xsZWN0Lmpz
CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3QvdzNjLWltcG9ydC5sb2cKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3czYy1pbXBvcnQubG9nCShyZXZpc2lvbiAyNTI4OTYpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvdzNjLWltcG9y
dC5sb2cJKG5vbmV4aXN0ZW50KQpAQCAtMSwyMCArMCwwIEBACi1UaGUgdGVzdHMgaW4gdGhpcyBk
aXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KLURvIE5PVCBt
b2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVhZCwgY3JlYXRlIGEg
cHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0aHViLmNvbS93ZWIt
cGxhdGZvcm0tdGVzdHMvd3B0Ci0KLVRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13
M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0Ci0KLURvIE5PVCBtb2RpZnkgb3IgcmVtb3Zl
IHRoaXMgZmlsZS4KLQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1Qcm9wZXJ0aWVzIHJlcXVpcmluZyB2ZW5k
b3IgcHJlZml4ZXM6Ci1Ob25lCi1Qcm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVm
aXhlczoKLU5vbmUKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotTGlzdCBvZiBmaWxlczoKLS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
aW52YWxpZC5qcwotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9tb2NoYS5vcHRzCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC5qcwot
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC93cml0ZXIuanMKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93ZWIvbWFrZS13ZWItdGVzdHMu
anMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dlYi9tYWtlLXdlYi10ZXN0cy5qcwkocmV2aXNp
b24gMjUyODk2KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dlYi9tYWtlLXdlYi10ZXN0cy5qcwkobm9uZXhpc3Rl
bnQpCkBAIC0xLDUyICswLDAgQEAKLQotLy8gZ2VuZXJhdGVzIHRlc3RzIHRoYXQgd29yayBpbiBh
IGJyb3dzZXIKLQotLy8gWFhYCi0vLyAgaGF2ZSBpdCBydW4gdGhyb3VnaCB2YWxpZCBhbmQgaW52
YWxpZCBwcm9wZXJseQotCi12YXIgcHRoID0gcmVxdWlyZSgicGF0aCIpCi0sICAgZnMgPSByZXF1
aXJlKCJmcyIpCi0sICAgZGlyID0gZnVuY3Rpb24gKHBhdGgpIHsKLSAgICAgICAgcmV0dXJuIHB0
aC5qb2luKF9fZGlybmFtZSwgIi4uIiwgcGF0aCk7Ci0gICAgfQotLCAgIGFsbEZyb21EaXIgPSBm
dW5jdGlvbiAoZGlyLCBleHQsIGFzSlNPTikgewotICAgICAgICByZXR1cm4gZnMucmVhZGRpclN5
bmMoZGlyKQotICAgICAgICAgICAgICAgICAuZmlsdGVyKGZ1bmN0aW9uIChpdCkgeyByZXR1cm4g
ZXh0LnRlc3QoaXQpOyB9KQotICAgICAgICAgICAgICAgICAubWFwKGZ1bmN0aW9uIChpdCkgewot
ICAgICAgICAgICAgICAgICAgICAgdmFyIGNudCA9IGZzLnJlYWRGaWxlU3luYyhwdGguam9pbihk
aXIsIGl0KSwgInV0ZjgiKTsKLSAgICAgICAgICAgICAgICAgICAgIHJldHVybiBhc0pTT04gPyBK
U09OLnBhcnNlKGNudCkgOiBjbnQ7Ci0gICAgICAgICAgICAgICAgIH0pOwotICAgIH0KLSwgICBk
YXRhID0gewotICAgICAgICB2YWxpZDogIHsKLSAgICAgICAgICAgIGpzb246ICAgYWxsRnJvbURp
cihkaXIoInN5bnRheC9qc29uIiksIC9cLmpzb24kLywgdHJ1ZSkKLSAgICAgICAgLCAgIGlkbDog
ICAgYWxsRnJvbURpcihkaXIoInN5bnRheC9pZGwiKSwgL1wudz9pZGwkLywgZmFsc2UpCi0gICAg
ICAgIH0KLSAgICAsICAgaW52YWxpZDp7Ci0gICAgICAgICAgICBqc29uOiAgIGFsbEZyb21EaXIo
ZGlyKCJpbnZhbGlkL2pzb24iKSwgL1wuanNvbiQvLCB0cnVlKQotICAgICAgICAsICAgaWRsOiAg
ICBhbGxGcm9tRGlyKGRpcigiaW52YWxpZC9pZGwiKSwgL1wudz9pZGwkLywgZmFsc2UpCi0gICAg
ICAgIH0KLSAgICB9Ci0sICAgaHRtbCA9IFsKLSAgICAgICAgIjwhRE9DVFlQRSBodG1sPiIKLSAg
ICAsICAgIjxodG1sPiIKLSAgICAsICAgIiAgPGhlYWQ+PG1ldGEgY2hhcnNldD0ndXRmLTgnJz48
bGluayByZWw9J3N0eWxlc2hlZXQnIGhyZWY9Jy4uLy4uL25vZGVfbW9kdWxlcy9tb2NoYS9tb2No
YS5jc3MnPiIKLSAgICAsICAgIiAgICA8dGl0bGU+V2ViSURMMiBCcm93c2VyIFRlc3RzPC90aXRs
ZT4iCi0gICAgLCAgICIgICAgPHNjcmlwdD52YXIgZGF0YSA9ICIgKyBKU09OLnN0cmluZ2lmeShk
YXRhKSArICI8L3NjcmlwdD4iCi0gICAgLCAgICIgIDwvaGVhZD4iCi0gICAgLCAgICIgIDxib2R5
PjxkaXYgaWQ9J21vY2hhJz48L2Rpdj4iCi0gICAgLCAgICIgIDxzY3JpcHQgc3JjPSdodHRwczov
L2FqYXguZ29vZ2xlYXBpcy5jb20vYWpheC9saWJzL2pxdWVyeS8xLjguMy9qcXVlcnkubWluLmpz
Jz48L3NjcmlwdD4iCi0gICAgLCAgICIgIDxzY3JpcHQgc3JjPScuLi8uLi9ub2RlX21vZHVsZXMv
ZXhwZWN0L3VtZC9leHBlY3QubWluLmpzJz48L3NjcmlwdD4iCi0gICAgLCAgICIgIDxzY3JpcHQg
c3JjPScuLi8uLi9ub2RlX21vZHVsZXMvZXhwZWN0LmpzL2luZGV4LmpzJz48L3NjcmlwdD4iCi0g
ICAgLCAgICIgIDxzY3JpcHQgc3JjPScuLi8uLi9ub2RlX21vZHVsZXMvbW9jaGEvbW9jaGEuanMn
Pjwvc2NyaXB0PiIKLSAgICAsICAgIiAgPHNjcmlwdCBzcmM9Jy4uLy4uL25vZGVfbW9kdWxlcy9q
c29uZGlmZnBhdGNoL3B1YmxpYy9idWlsZC9qc29uZGlmZnBhdGNoLm1pbi5qcyc+PC9zY3JpcHQ+
IgotICAgICwgICAiICA8c2NyaXB0IHNyYz0nLi4vLi4vbGliL3dlYmlkbDIuanMnPjwvc2NyaXB0
PiIKLSAgICAsICAgIiAgPHNjcmlwdD5tb2NoYS5zZXR1cCgnYmRkJyk7PC9zY3JpcHQ+IgotICAg
ICwgICAiICA8c2NyaXB0IHNyYz0ncnVuLXRlc3RzLmpzJz48L3NjcmlwdD4iCi0gICAgLCAgICIg
IDxzY3JpcHQ+bW9jaGEucnVuKCk7PC9zY3JpcHQ+IgotICAgICwgICAiICA8L2JvZHk+IgotICAg
ICwgICAiPC9odG1sPiIKLSAgICBdLmpvaW4oIlxuIikKLTsKLQotZnMud3JpdGVGaWxlU3luYygi
YnJvd3Nlci10ZXN0cy5odG1sIiwgaHRtbCwgInV0ZjgiKTsKSW5kZXg6IExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93ZWIv
cnVuLXRlc3RzLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93ZWIvcnVuLXRlc3RzLmpzCShy
ZXZpc2lvbiAyNTI4OTYpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2ViL3J1bi10ZXN0cy5qcwkobm9uZXhpc3Rl
bnQpCkBAIC0xLDQ4ICswLDAgQEAKLQotZGVzY3JpYmUoIlBhcnNlcyBhbGwgb2YgdGhlIElETHMg
dG8gcHJvZHVjZSB0aGUgY29ycmVjdCBBU1RzIiwgZnVuY3Rpb24gKCkgewotICAgIGZvciAodmFy
IGkgPSAwLCBuID0gZGF0YS52YWxpZC5pZGwubGVuZ3RoOyBpIDwgbjsgaSsrKSB7Ci0gICAgICAg
IHZhciBpZGwgPSBkYXRhLnZhbGlkLmlkbFtpXSwganNvbiA9IGRhdGEudmFsaWQuanNvbltpXTsK
LSAgICAgICAgdmFyIGZ1bmMgPSAoZnVuY3Rpb24gKGlkbCwganNvbikgewotICAgICAgICAgICAg
cmV0dXJuIGZ1bmN0aW9uICgpIHsKLSAgICAgICAgICAgICAgICB0cnkgewotICAgICAgICAgICAg
ICAgICAgICAvLyB0aGUgQVNUIGNvbnRhaW5zIE5hTiBhbmQgKy8tSW5maW5pdHkgdGhhdCBjYW5u
b3QgYmUgc2VyaWFsaXNlZCB0byBKU09OCi0gICAgICAgICAgICAgICAgICAgIC8vIHRoZSBzdG9y
ZWQgSlNPTiBBU1RzIHVzZSB0aGUgc2FtZSByZXBsYWNlbWVudCBmdW5jdGlvbiBhcyBpcyB1c2Vk
IGJlbG93Ci0gICAgICAgICAgICAgICAgICAgIC8vIHNvIHdlIGNvbXBhcmUgYmFzZWQgb24gdGhh
dAotICAgICAgICAgICAgICAgICAgICB2YXIgZGlmZiA9IGpzb25kaWZmcGF0Y2guZGlmZihqc29u
LCBXZWJJREwyLnBhcnNlKGlkbCkpOwotICAgICAgICAgICAgICAgICAgICBpZiAoZGlmZiAmJiBk
ZWJ1ZykgY29uc29sZS5sb2coSlNPTi5zdHJpbmdpZnkoZGlmZiwgbnVsbCwgNCkpOwotICAgICAg
ICAgICAgICAgICAgICBleHBlY3QoZGlmZikudG9CZSh1bmRlZmluZWQpOwotICAgICAgICAgICAg
ICAgIH0KLSAgICAgICAgICAgICAgICBjYXRjaCAoZSkgewotICAgICAgICAgICAgICAgICAgICBj
b25zb2xlLmxvZyhlLnRvU3RyaW5nKCkpOwotICAgICAgICAgICAgICAgICAgICB0aHJvdyBlOwot
ICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH07Ci0gICAgICAgIH0oaWRsLCBqc29uKSk7
Ci0gICAgICAgIGl0KCJzaG91bGQgcHJvZHVjZSB0aGUgc2FtZSBBU1QgZm9yICIgKyBpLCBmdW5j
KTsKLSAgICB9Ci19KTsKLQotZGVzY3JpYmUoIlBhcnNlcyBhbGwgb2YgdGhlIGludmFsaWQgSURM
cyB0byBjaGVjayB0aGF0IHRoZXkgYmxvdyB1cCBjb3JyZWN0bHkiLCBmdW5jdGlvbiAoKSB7Ci0g
ICAgZm9yICh2YXIgaSA9IDAsIG4gPSBkYXRhLmludmFsaWQuaWRsLmxlbmd0aDsgaSA8IG47IGkr
KykgewotICAgICAgICB2YXIgaWRsID0gZGF0YS5pbnZhbGlkLmlkbFtpXSwgZXJyb3IgPSBkYXRh
LmludmFsaWQuanNvbltpXTsKLSAgICAgICAgdmFyIGZ1bmMgPSAoZnVuY3Rpb24gKGlkbCwgZXJy
KSB7Ci0gICAgICAgICAgICByZXR1cm4gZnVuY3Rpb24gKCkgewotICAgICAgICAgICAgICAgIHZh
ciBlcnJvcjsKLSAgICAgICAgICAgICAgICB0cnkgewotICAgICAgICAgICAgICAgICAgICB2YXIg
YXN0ID0gV2ViSURMMi5wYXJzZShpZGwpOwotICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxv
ZyhKU09OLnN0cmluZ2lmeShhc3QsIG51bGwsIDQpKTsKLSAgICAgICAgICAgICAgICB9Ci0gICAg
ICAgICAgICAgICAgY2F0Y2ggKGUpIHsKLSAgICAgICAgICAgICAgICAgICAgZXJyb3IgPSBlOwot
ICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBmaW5hbGx5IHsKLSAgICAgICAgICAg
ICAgICAgICAgZXhwZWN0KGVycm9yKS50b0V4aXN0KCk7Ci0gICAgICAgICAgICAgICAgICAgIGV4
cGVjdChlcnJvci5tZXNzYWdlKS50b0VxdWFsKGVyci5tZXNzYWdlKTsKLSAgICAgICAgICAgICAg
ICAgICAgZXhwZWN0KGVycm9yLmxpbmUpLnRvRXF1YWwoZXJyLmxpbmUpOwotICAgICAgICAgICAg
ICAgIH0KLQotICAgICAgICAgICAgfTsKLSAgICAgICAgfShpZGwsIGVycm9yKSk7Ci0gICAgICAg
IGl0KCJzaG91bGQgcHJvZHVjZSB0aGUgcmlnaHQgZXJyb3IgZm9yICIgKyBpLCBmdW5jKTsKLSAg
ICB9Ci19KTsKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93ZWIvdzNjLWltcG9ydC5sb2cKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3dlYi93M2MtaW1wb3J0LmxvZwkocmV2aXNpb24gMjUyODk2KQorKysgTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L3dlYi93M2MtaW1wb3J0LmxvZwkobm9uZXhpc3RlbnQpCkBAIC0xLDE4ICswLDAgQEAK
LVRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyBy
ZXBvc2l0b3J5LgotRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQu
Ci1JbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6Ci0JaHR0
cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQKLQotVGhlbiBydW4gdGhlIFRv
b2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKLQotRG8g
Tk9UIG1vZGlmeSBvciByZW1vdmUgdGhpcyBmaWxlLgotCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLVByb3Bl
cnRpZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKLU5vbmUKLVByb3BlcnR5IHZhbHVlcyBy
ZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgotTm9uZQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1MaXN0IG9m
IGZpbGVzOgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC93ZWIvbWFrZS13ZWItdGVzdHMuanMKLS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2Vi
L3J1bi10ZXN0cy5qcwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL0xJQ0VOU0UKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL0xJQ0VOU0UJKHJldmlzaW9uIDI1Mjg5NikKKysrIExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC93aWRscHJvYy9MSUNFTlNFCShub25leGlzdGVudCkKQEAgLTEsMjAyICswLDAgQEAK
LQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQXBhY2hlIExpY2Vuc2UKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFZlcnNpb24gMi4wLCBKYW51YXJ5IDIwMDQKLSAgICAgICAg
ICAgICAgICAgICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy8KLQotICAgVEVS
TVMgQU5EIENPTkRJVElPTlMgRk9SIFVTRSwgUkVQUk9EVUNUSU9OLCBBTkQgRElTVFJJQlVUSU9O
Ci0KLSAgIDEuIERlZmluaXRpb25zLgotCi0gICAgICAiTGljZW5zZSIgc2hhbGwgbWVhbiB0aGUg
dGVybXMgYW5kIGNvbmRpdGlvbnMgZm9yIHVzZSwgcmVwcm9kdWN0aW9uLAotICAgICAgYW5kIGRp
c3RyaWJ1dGlvbiBhcyBkZWZpbmVkIGJ5IFNlY3Rpb25zIDEgdGhyb3VnaCA5IG9mIHRoaXMgZG9j
dW1lbnQuCi0KLSAgICAgICJMaWNlbnNvciIgc2hhbGwgbWVhbiB0aGUgY29weXJpZ2h0IG93bmVy
IG9yIGVudGl0eSBhdXRob3JpemVkIGJ5Ci0gICAgICB0aGUgY29weXJpZ2h0IG93bmVyIHRoYXQg
aXMgZ3JhbnRpbmcgdGhlIExpY2Vuc2UuCi0KLSAgICAgICJMZWdhbCBFbnRpdHkiIHNoYWxsIG1l
YW4gdGhlIHVuaW9uIG9mIHRoZSBhY3RpbmcgZW50aXR5IGFuZCBhbGwKLSAgICAgIG90aGVyIGVu
dGl0aWVzIHRoYXQgY29udHJvbCwgYXJlIGNvbnRyb2xsZWQgYnksIG9yIGFyZSB1bmRlciBjb21t
b24KLSAgICAgIGNvbnRyb2wgd2l0aCB0aGF0IGVudGl0eS4gRm9yIHRoZSBwdXJwb3NlcyBvZiB0
aGlzIGRlZmluaXRpb24sCi0gICAgICAiY29udHJvbCIgbWVhbnMgKGkpIHRoZSBwb3dlciwgZGly
ZWN0IG9yIGluZGlyZWN0LCB0byBjYXVzZSB0aGUKLSAgICAgIGRpcmVjdGlvbiBvciBtYW5hZ2Vt
ZW50IG9mIHN1Y2ggZW50aXR5LCB3aGV0aGVyIGJ5IGNvbnRyYWN0IG9yCi0gICAgICBvdGhlcndp
c2UsIG9yIChpaSkgb3duZXJzaGlwIG9mIGZpZnR5IHBlcmNlbnQgKDUwJSkgb3IgbW9yZSBvZiB0
aGUKLSAgICAgIG91dHN0YW5kaW5nIHNoYXJlcywgb3IgKGlpaSkgYmVuZWZpY2lhbCBvd25lcnNo
aXAgb2Ygc3VjaCBlbnRpdHkuCi0KLSAgICAgICJZb3UiIChvciAiWW91ciIpIHNoYWxsIG1lYW4g
YW4gaW5kaXZpZHVhbCBvciBMZWdhbCBFbnRpdHkKLSAgICAgIGV4ZXJjaXNpbmcgcGVybWlzc2lv
bnMgZ3JhbnRlZCBieSB0aGlzIExpY2Vuc2UuCi0KLSAgICAgICJTb3VyY2UiIGZvcm0gc2hhbGwg
bWVhbiB0aGUgcHJlZmVycmVkIGZvcm0gZm9yIG1ha2luZyBtb2RpZmljYXRpb25zLAotICAgICAg
aW5jbHVkaW5nIGJ1dCBub3QgbGltaXRlZCB0byBzb2Z0d2FyZSBzb3VyY2UgY29kZSwgZG9jdW1l
bnRhdGlvbgotICAgICAgc291cmNlLCBhbmQgY29uZmlndXJhdGlvbiBmaWxlcy4KLQotICAgICAg
Ik9iamVjdCIgZm9ybSBzaGFsbCBtZWFuIGFueSBmb3JtIHJlc3VsdGluZyBmcm9tIG1lY2hhbmlj
YWwKLSAgICAgIHRyYW5zZm9ybWF0aW9uIG9yIHRyYW5zbGF0aW9uIG9mIGEgU291cmNlIGZvcm0s
IGluY2x1ZGluZyBidXQKLSAgICAgIG5vdCBsaW1pdGVkIHRvIGNvbXBpbGVkIG9iamVjdCBjb2Rl
LCBnZW5lcmF0ZWQgZG9jdW1lbnRhdGlvbiwKLSAgICAgIGFuZCBjb252ZXJzaW9ucyB0byBvdGhl
ciBtZWRpYSB0eXBlcy4KLQotICAgICAgIldvcmsiIHNoYWxsIG1lYW4gdGhlIHdvcmsgb2YgYXV0
aG9yc2hpcCwgd2hldGhlciBpbiBTb3VyY2Ugb3IKLSAgICAgIE9iamVjdCBmb3JtLCBtYWRlIGF2
YWlsYWJsZSB1bmRlciB0aGUgTGljZW5zZSwgYXMgaW5kaWNhdGVkIGJ5IGEKLSAgICAgIGNvcHly
aWdodCBub3RpY2UgdGhhdCBpcyBpbmNsdWRlZCBpbiBvciBhdHRhY2hlZCB0byB0aGUgd29yawot
ICAgICAgKGFuIGV4YW1wbGUgaXMgcHJvdmlkZWQgaW4gdGhlIEFwcGVuZGl4IGJlbG93KS4KLQot
ICAgICAgIkRlcml2YXRpdmUgV29ya3MiIHNoYWxsIG1lYW4gYW55IHdvcmssIHdoZXRoZXIgaW4g
U291cmNlIG9yIE9iamVjdAotICAgICAgZm9ybSwgdGhhdCBpcyBiYXNlZCBvbiAob3IgZGVyaXZl
ZCBmcm9tKSB0aGUgV29yayBhbmQgZm9yIHdoaWNoIHRoZQotICAgICAgZWRpdG9yaWFsIHJldmlz
aW9ucywgYW5ub3RhdGlvbnMsIGVsYWJvcmF0aW9ucywgb3Igb3RoZXIgbW9kaWZpY2F0aW9ucwot
ICAgICAgcmVwcmVzZW50LCBhcyBhIHdob2xlLCBhbiBvcmlnaW5hbCB3b3JrIG9mIGF1dGhvcnNo
aXAuIEZvciB0aGUgcHVycG9zZXMKLSAgICAgIG9mIHRoaXMgTGljZW5zZSwgRGVyaXZhdGl2ZSBX
b3JrcyBzaGFsbCBub3QgaW5jbHVkZSB3b3JrcyB0aGF0IHJlbWFpbgotICAgICAgc2VwYXJhYmxl
IGZyb20sIG9yIG1lcmVseSBsaW5rIChvciBiaW5kIGJ5IG5hbWUpIHRvIHRoZSBpbnRlcmZhY2Vz
IG9mLAotICAgICAgdGhlIFdvcmsgYW5kIERlcml2YXRpdmUgV29ya3MgdGhlcmVvZi4KLQotICAg
ICAgIkNvbnRyaWJ1dGlvbiIgc2hhbGwgbWVhbiBhbnkgd29yayBvZiBhdXRob3JzaGlwLCBpbmNs
dWRpbmcKLSAgICAgIHRoZSBvcmlnaW5hbCB2ZXJzaW9uIG9mIHRoZSBXb3JrIGFuZCBhbnkgbW9k
aWZpY2F0aW9ucyBvciBhZGRpdGlvbnMKLSAgICAgIHRvIHRoYXQgV29yayBvciBEZXJpdmF0aXZl
IFdvcmtzIHRoZXJlb2YsIHRoYXQgaXMgaW50ZW50aW9uYWxseQotICAgICAgc3VibWl0dGVkIHRv
IExpY2Vuc29yIGZvciBpbmNsdXNpb24gaW4gdGhlIFdvcmsgYnkgdGhlIGNvcHlyaWdodCBvd25l
cgotICAgICAgb3IgYnkgYW4gaW5kaXZpZHVhbCBvciBMZWdhbCBFbnRpdHkgYXV0aG9yaXplZCB0
byBzdWJtaXQgb24gYmVoYWxmIG9mCi0gICAgICB0aGUgY29weXJpZ2h0IG93bmVyLiBGb3IgdGhl
IHB1cnBvc2VzIG9mIHRoaXMgZGVmaW5pdGlvbiwgInN1Ym1pdHRlZCIKLSAgICAgIG1lYW5zIGFu
eSBmb3JtIG9mIGVsZWN0cm9uaWMsIHZlcmJhbCwgb3Igd3JpdHRlbiBjb21tdW5pY2F0aW9uIHNl
bnQKLSAgICAgIHRvIHRoZSBMaWNlbnNvciBvciBpdHMgcmVwcmVzZW50YXRpdmVzLCBpbmNsdWRp
bmcgYnV0IG5vdCBsaW1pdGVkIHRvCi0gICAgICBjb21tdW5pY2F0aW9uIG9uIGVsZWN0cm9uaWMg
bWFpbGluZyBsaXN0cywgc291cmNlIGNvZGUgY29udHJvbCBzeXN0ZW1zLAotICAgICAgYW5kIGlz
c3VlIHRyYWNraW5nIHN5c3RlbXMgdGhhdCBhcmUgbWFuYWdlZCBieSwgb3Igb24gYmVoYWxmIG9m
LCB0aGUKLSAgICAgIExpY2Vuc29yIGZvciB0aGUgcHVycG9zZSBvZiBkaXNjdXNzaW5nIGFuZCBp
bXByb3ZpbmcgdGhlIFdvcmssIGJ1dAotICAgICAgZXhjbHVkaW5nIGNvbW11bmljYXRpb24gdGhh
dCBpcyBjb25zcGljdW91c2x5IG1hcmtlZCBvciBvdGhlcndpc2UKLSAgICAgIGRlc2lnbmF0ZWQg
aW4gd3JpdGluZyBieSB0aGUgY29weXJpZ2h0IG93bmVyIGFzICJOb3QgYSBDb250cmlidXRpb24u
IgotCi0gICAgICAiQ29udHJpYnV0b3IiIHNoYWxsIG1lYW4gTGljZW5zb3IgYW5kIGFueSBpbmRp
dmlkdWFsIG9yIExlZ2FsIEVudGl0eQotICAgICAgb24gYmVoYWxmIG9mIHdob20gYSBDb250cmli
dXRpb24gaGFzIGJlZW4gcmVjZWl2ZWQgYnkgTGljZW5zb3IgYW5kCi0gICAgICBzdWJzZXF1ZW50
bHkgaW5jb3Jwb3JhdGVkIHdpdGhpbiB0aGUgV29yay4KLQotICAgMi4gR3JhbnQgb2YgQ29weXJp
Z2h0IExpY2Vuc2UuIFN1YmplY3QgdG8gdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIG9mCi0gICAg
ICB0aGlzIExpY2Vuc2UsIGVhY2ggQ29udHJpYnV0b3IgaGVyZWJ5IGdyYW50cyB0byBZb3UgYSBw
ZXJwZXR1YWwsCi0gICAgICB3b3JsZHdpZGUsIG5vbi1leGNsdXNpdmUsIG5vLWNoYXJnZSwgcm95
YWx0eS1mcmVlLCBpcnJldm9jYWJsZQotICAgICAgY29weXJpZ2h0IGxpY2Vuc2UgdG8gcmVwcm9k
dWNlLCBwcmVwYXJlIERlcml2YXRpdmUgV29ya3Mgb2YsCi0gICAgICBwdWJsaWNseSBkaXNwbGF5
LCBwdWJsaWNseSBwZXJmb3JtLCBzdWJsaWNlbnNlLCBhbmQgZGlzdHJpYnV0ZSB0aGUKLSAgICAg
IFdvcmsgYW5kIHN1Y2ggRGVyaXZhdGl2ZSBXb3JrcyBpbiBTb3VyY2Ugb3IgT2JqZWN0IGZvcm0u
Ci0KLSAgIDMuIEdyYW50IG9mIFBhdGVudCBMaWNlbnNlLiBTdWJqZWN0IHRvIHRoZSB0ZXJtcyBh
bmQgY29uZGl0aW9ucyBvZgotICAgICAgdGhpcyBMaWNlbnNlLCBlYWNoIENvbnRyaWJ1dG9yIGhl
cmVieSBncmFudHMgdG8gWW91IGEgcGVycGV0dWFsLAotICAgICAgd29ybGR3aWRlLCBub24tZXhj
bHVzaXZlLCBuby1jaGFyZ2UsIHJveWFsdHktZnJlZSwgaXJyZXZvY2FibGUKLSAgICAgIChleGNl
cHQgYXMgc3RhdGVkIGluIHRoaXMgc2VjdGlvbikgcGF0ZW50IGxpY2Vuc2UgdG8gbWFrZSwgaGF2
ZSBtYWRlLAotICAgICAgdXNlLCBvZmZlciB0byBzZWxsLCBzZWxsLCBpbXBvcnQsIGFuZCBvdGhl
cndpc2UgdHJhbnNmZXIgdGhlIFdvcmssCi0gICAgICB3aGVyZSBzdWNoIGxpY2Vuc2UgYXBwbGll
cyBvbmx5IHRvIHRob3NlIHBhdGVudCBjbGFpbXMgbGljZW5zYWJsZQotICAgICAgYnkgc3VjaCBD
b250cmlidXRvciB0aGF0IGFyZSBuZWNlc3NhcmlseSBpbmZyaW5nZWQgYnkgdGhlaXIKLSAgICAg
IENvbnRyaWJ1dGlvbihzKSBhbG9uZSBvciBieSBjb21iaW5hdGlvbiBvZiB0aGVpciBDb250cmli
dXRpb24ocykKLSAgICAgIHdpdGggdGhlIFdvcmsgdG8gd2hpY2ggc3VjaCBDb250cmlidXRpb24o
cykgd2FzIHN1Ym1pdHRlZC4gSWYgWW91Ci0gICAgICBpbnN0aXR1dGUgcGF0ZW50IGxpdGlnYXRp
b24gYWdhaW5zdCBhbnkgZW50aXR5IChpbmNsdWRpbmcgYQotICAgICAgY3Jvc3MtY2xhaW0gb3Ig
Y291bnRlcmNsYWltIGluIGEgbGF3c3VpdCkgYWxsZWdpbmcgdGhhdCB0aGUgV29yawotICAgICAg
b3IgYSBDb250cmlidXRpb24gaW5jb3Jwb3JhdGVkIHdpdGhpbiB0aGUgV29yayBjb25zdGl0dXRl
cyBkaXJlY3QKLSAgICAgIG9yIGNvbnRyaWJ1dG9yeSBwYXRlbnQgaW5mcmluZ2VtZW50LCB0aGVu
IGFueSBwYXRlbnQgbGljZW5zZXMKLSAgICAgIGdyYW50ZWQgdG8gWW91IHVuZGVyIHRoaXMgTGlj
ZW5zZSBmb3IgdGhhdCBXb3JrIHNoYWxsIHRlcm1pbmF0ZQotICAgICAgYXMgb2YgdGhlIGRhdGUg
c3VjaCBsaXRpZ2F0aW9uIGlzIGZpbGVkLgotCi0gICA0LiBSZWRpc3RyaWJ1dGlvbi4gWW91IG1h
eSByZXByb2R1Y2UgYW5kIGRpc3RyaWJ1dGUgY29waWVzIG9mIHRoZQotICAgICAgV29yayBvciBE
ZXJpdmF0aXZlIFdvcmtzIHRoZXJlb2YgaW4gYW55IG1lZGl1bSwgd2l0aCBvciB3aXRob3V0Ci0g
ICAgICBtb2RpZmljYXRpb25zLCBhbmQgaW4gU291cmNlIG9yIE9iamVjdCBmb3JtLCBwcm92aWRl
ZCB0aGF0IFlvdQotICAgICAgbWVldCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6Ci0KLSAgICAg
IChhKSBZb3UgbXVzdCBnaXZlIGFueSBvdGhlciByZWNpcGllbnRzIG9mIHRoZSBXb3JrIG9yCi0g
ICAgICAgICAgRGVyaXZhdGl2ZSBXb3JrcyBhIGNvcHkgb2YgdGhpcyBMaWNlbnNlOyBhbmQKLQot
ICAgICAgKGIpIFlvdSBtdXN0IGNhdXNlIGFueSBtb2RpZmllZCBmaWxlcyB0byBjYXJyeSBwcm9t
aW5lbnQgbm90aWNlcwotICAgICAgICAgIHN0YXRpbmcgdGhhdCBZb3UgY2hhbmdlZCB0aGUgZmls
ZXM7IGFuZAotCi0gICAgICAoYykgWW91IG11c3QgcmV0YWluLCBpbiB0aGUgU291cmNlIGZvcm0g
b2YgYW55IERlcml2YXRpdmUgV29ya3MKLSAgICAgICAgICB0aGF0IFlvdSBkaXN0cmlidXRlLCBh
bGwgY29weXJpZ2h0LCBwYXRlbnQsIHRyYWRlbWFyaywgYW5kCi0gICAgICAgICAgYXR0cmlidXRp
b24gbm90aWNlcyBmcm9tIHRoZSBTb3VyY2UgZm9ybSBvZiB0aGUgV29yaywKLSAgICAgICAgICBl
eGNsdWRpbmcgdGhvc2Ugbm90aWNlcyB0aGF0IGRvIG5vdCBwZXJ0YWluIHRvIGFueSBwYXJ0IG9m
Ci0gICAgICAgICAgdGhlIERlcml2YXRpdmUgV29ya3M7IGFuZAotCi0gICAgICAoZCkgSWYgdGhl
IFdvcmsgaW5jbHVkZXMgYSAiTk9USUNFIiB0ZXh0IGZpbGUgYXMgcGFydCBvZiBpdHMKLSAgICAg
ICAgICBkaXN0cmlidXRpb24sIHRoZW4gYW55IERlcml2YXRpdmUgV29ya3MgdGhhdCBZb3UgZGlz
dHJpYnV0ZSBtdXN0Ci0gICAgICAgICAgaW5jbHVkZSBhIHJlYWRhYmxlIGNvcHkgb2YgdGhlIGF0
dHJpYnV0aW9uIG5vdGljZXMgY29udGFpbmVkCi0gICAgICAgICAgd2l0aGluIHN1Y2ggTk9USUNF
IGZpbGUsIGV4Y2x1ZGluZyB0aG9zZSBub3RpY2VzIHRoYXQgZG8gbm90Ci0gICAgICAgICAgcGVy
dGFpbiB0byBhbnkgcGFydCBvZiB0aGUgRGVyaXZhdGl2ZSBXb3JrcywgaW4gYXQgbGVhc3Qgb25l
Ci0gICAgICAgICAgb2YgdGhlIGZvbGxvd2luZyBwbGFjZXM6IHdpdGhpbiBhIE5PVElDRSB0ZXh0
IGZpbGUgZGlzdHJpYnV0ZWQKLSAgICAgICAgICBhcyBwYXJ0IG9mIHRoZSBEZXJpdmF0aXZlIFdv
cmtzOyB3aXRoaW4gdGhlIFNvdXJjZSBmb3JtIG9yCi0gICAgICAgICAgZG9jdW1lbnRhdGlvbiwg
aWYgcHJvdmlkZWQgYWxvbmcgd2l0aCB0aGUgRGVyaXZhdGl2ZSBXb3Jrczsgb3IsCi0gICAgICAg
ICAgd2l0aGluIGEgZGlzcGxheSBnZW5lcmF0ZWQgYnkgdGhlIERlcml2YXRpdmUgV29ya3MsIGlm
IGFuZAotICAgICAgICAgIHdoZXJldmVyIHN1Y2ggdGhpcmQtcGFydHkgbm90aWNlcyBub3JtYWxs
eSBhcHBlYXIuIFRoZSBjb250ZW50cwotICAgICAgICAgIG9mIHRoZSBOT1RJQ0UgZmlsZSBhcmUg
Zm9yIGluZm9ybWF0aW9uYWwgcHVycG9zZXMgb25seSBhbmQKLSAgICAgICAgICBkbyBub3QgbW9k
aWZ5IHRoZSBMaWNlbnNlLiBZb3UgbWF5IGFkZCBZb3VyIG93biBhdHRyaWJ1dGlvbgotICAgICAg
ICAgIG5vdGljZXMgd2l0aGluIERlcml2YXRpdmUgV29ya3MgdGhhdCBZb3UgZGlzdHJpYnV0ZSwg
YWxvbmdzaWRlCi0gICAgICAgICAgb3IgYXMgYW4gYWRkZW5kdW0gdG8gdGhlIE5PVElDRSB0ZXh0
IGZyb20gdGhlIFdvcmssIHByb3ZpZGVkCi0gICAgICAgICAgdGhhdCBzdWNoIGFkZGl0aW9uYWwg
YXR0cmlidXRpb24gbm90aWNlcyBjYW5ub3QgYmUgY29uc3RydWVkCi0gICAgICAgICAgYXMgbW9k
aWZ5aW5nIHRoZSBMaWNlbnNlLgotCi0gICAgICBZb3UgbWF5IGFkZCBZb3VyIG93biBjb3B5cmln
aHQgc3RhdGVtZW50IHRvIFlvdXIgbW9kaWZpY2F0aW9ucyBhbmQKLSAgICAgIG1heSBwcm92aWRl
IGFkZGl0aW9uYWwgb3IgZGlmZmVyZW50IGxpY2Vuc2UgdGVybXMgYW5kIGNvbmRpdGlvbnMKLSAg
ICAgIGZvciB1c2UsIHJlcHJvZHVjdGlvbiwgb3IgZGlzdHJpYnV0aW9uIG9mIFlvdXIgbW9kaWZp
Y2F0aW9ucywgb3IKLSAgICAgIGZvciBhbnkgc3VjaCBEZXJpdmF0aXZlIFdvcmtzIGFzIGEgd2hv
bGUsIHByb3ZpZGVkIFlvdXIgdXNlLAotICAgICAgcmVwcm9kdWN0aW9uLCBhbmQgZGlzdHJpYnV0
aW9uIG9mIHRoZSBXb3JrIG90aGVyd2lzZSBjb21wbGllcyB3aXRoCi0gICAgICB0aGUgY29uZGl0
aW9ucyBzdGF0ZWQgaW4gdGhpcyBMaWNlbnNlLgotCi0gICA1LiBTdWJtaXNzaW9uIG9mIENvbnRy
aWJ1dGlvbnMuIFVubGVzcyBZb3UgZXhwbGljaXRseSBzdGF0ZSBvdGhlcndpc2UsCi0gICAgICBh
bnkgQ29udHJpYnV0aW9uIGludGVudGlvbmFsbHkgc3VibWl0dGVkIGZvciBpbmNsdXNpb24gaW4g
dGhlIFdvcmsKLSAgICAgIGJ5IFlvdSB0byB0aGUgTGljZW5zb3Igc2hhbGwgYmUgdW5kZXIgdGhl
IHRlcm1zIGFuZCBjb25kaXRpb25zIG9mCi0gICAgICB0aGlzIExpY2Vuc2UsIHdpdGhvdXQgYW55
IGFkZGl0aW9uYWwgdGVybXMgb3IgY29uZGl0aW9ucy4KLSAgICAgIE5vdHdpdGhzdGFuZGluZyB0
aGUgYWJvdmUsIG5vdGhpbmcgaGVyZWluIHNoYWxsIHN1cGVyc2VkZSBvciBtb2RpZnkKLSAgICAg
IHRoZSB0ZXJtcyBvZiBhbnkgc2VwYXJhdGUgbGljZW5zZSBhZ3JlZW1lbnQgeW91IG1heSBoYXZl
IGV4ZWN1dGVkCi0gICAgICB3aXRoIExpY2Vuc29yIHJlZ2FyZGluZyBzdWNoIENvbnRyaWJ1dGlv
bnMuCi0KLSAgIDYuIFRyYWRlbWFya3MuIFRoaXMgTGljZW5zZSBkb2VzIG5vdCBncmFudCBwZXJt
aXNzaW9uIHRvIHVzZSB0aGUgdHJhZGUKLSAgICAgIG5hbWVzLCB0cmFkZW1hcmtzLCBzZXJ2aWNl
IG1hcmtzLCBvciBwcm9kdWN0IG5hbWVzIG9mIHRoZSBMaWNlbnNvciwKLSAgICAgIGV4Y2VwdCBh
cyByZXF1aXJlZCBmb3IgcmVhc29uYWJsZSBhbmQgY3VzdG9tYXJ5IHVzZSBpbiBkZXNjcmliaW5n
IHRoZQotICAgICAgb3JpZ2luIG9mIHRoZSBXb3JrIGFuZCByZXByb2R1Y2luZyB0aGUgY29udGVu
dCBvZiB0aGUgTk9USUNFIGZpbGUuCi0KLSAgIDcuIERpc2NsYWltZXIgb2YgV2FycmFudHkuIFVu
bGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvcgotICAgICAgYWdyZWVkIHRvIGluIHdy
aXRpbmcsIExpY2Vuc29yIHByb3ZpZGVzIHRoZSBXb3JrIChhbmQgZWFjaAotICAgICAgQ29udHJp
YnV0b3IgcHJvdmlkZXMgaXRzIENvbnRyaWJ1dGlvbnMpIG9uIGFuICJBUyBJUyIgQkFTSVMsCi0g
ICAgICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVy
IGV4cHJlc3Mgb3IKLSAgICAgIGltcGxpZWQsIGluY2x1ZGluZywgd2l0aG91dCBsaW1pdGF0aW9u
LCBhbnkgd2FycmFudGllcyBvciBjb25kaXRpb25zCi0gICAgICBvZiBUSVRMRSwgTk9OLUlORlJJ
TkdFTUVOVCwgTUVSQ0hBTlRBQklMSVRZLCBvciBGSVRORVNTIEZPUiBBCi0gICAgICBQQVJUSUNV
TEFSIFBVUlBPU0UuIFlvdSBhcmUgc29sZWx5IHJlc3BvbnNpYmxlIGZvciBkZXRlcm1pbmluZyB0
aGUKLSAgICAgIGFwcHJvcHJpYXRlbmVzcyBvZiB1c2luZyBvciByZWRpc3RyaWJ1dGluZyB0aGUg
V29yayBhbmQgYXNzdW1lIGFueQotICAgICAgcmlza3MgYXNzb2NpYXRlZCB3aXRoIFlvdXIgZXhl
cmNpc2Ugb2YgcGVybWlzc2lvbnMgdW5kZXIgdGhpcyBMaWNlbnNlLgotCi0gICA4LiBMaW1pdGF0
aW9uIG9mIExpYWJpbGl0eS4gSW4gbm8gZXZlbnQgYW5kIHVuZGVyIG5vIGxlZ2FsIHRoZW9yeSwK
LSAgICAgIHdoZXRoZXIgaW4gdG9ydCAoaW5jbHVkaW5nIG5lZ2xpZ2VuY2UpLCBjb250cmFjdCwg
b3Igb3RoZXJ3aXNlLAotICAgICAgdW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IChz
dWNoIGFzIGRlbGliZXJhdGUgYW5kIGdyb3NzbHkKLSAgICAgIG5lZ2xpZ2VudCBhY3RzKSBvciBh
Z3JlZWQgdG8gaW4gd3JpdGluZywgc2hhbGwgYW55IENvbnRyaWJ1dG9yIGJlCi0gICAgICBsaWFi
bGUgdG8gWW91IGZvciBkYW1hZ2VzLCBpbmNsdWRpbmcgYW55IGRpcmVjdCwgaW5kaXJlY3QsIHNw
ZWNpYWwsCi0gICAgICBpbmNpZGVudGFsLCBvciBjb25zZXF1ZW50aWFsIGRhbWFnZXMgb2YgYW55
IGNoYXJhY3RlciBhcmlzaW5nIGFzIGEKLSAgICAgIHJlc3VsdCBvZiB0aGlzIExpY2Vuc2Ugb3Ig
b3V0IG9mIHRoZSB1c2Ugb3IgaW5hYmlsaXR5IHRvIHVzZSB0aGUKLSAgICAgIFdvcmsgKGluY2x1
ZGluZyBidXQgbm90IGxpbWl0ZWQgdG8gZGFtYWdlcyBmb3IgbG9zcyBvZiBnb29kd2lsbCwKLSAg
ICAgIHdvcmsgc3RvcHBhZ2UsIGNvbXB1dGVyIGZhaWx1cmUgb3IgbWFsZnVuY3Rpb24sIG9yIGFu
eSBhbmQgYWxsCi0gICAgICBvdGhlciBjb21tZXJjaWFsIGRhbWFnZXMgb3IgbG9zc2VzKSwgZXZl
biBpZiBzdWNoIENvbnRyaWJ1dG9yCi0gICAgICBoYXMgYmVlbiBhZHZpc2VkIG9mIHRoZSBwb3Nz
aWJpbGl0eSBvZiBzdWNoIGRhbWFnZXMuCi0KLSAgIDkuIEFjY2VwdGluZyBXYXJyYW50eSBvciBB
ZGRpdGlvbmFsIExpYWJpbGl0eS4gV2hpbGUgcmVkaXN0cmlidXRpbmcKLSAgICAgIHRoZSBXb3Jr
IG9yIERlcml2YXRpdmUgV29ya3MgdGhlcmVvZiwgWW91IG1heSBjaG9vc2UgdG8gb2ZmZXIsCi0g
ICAgICBhbmQgY2hhcmdlIGEgZmVlIGZvciwgYWNjZXB0YW5jZSBvZiBzdXBwb3J0LCB3YXJyYW50
eSwgaW5kZW1uaXR5LAotICAgICAgb3Igb3RoZXIgbGlhYmlsaXR5IG9ibGlnYXRpb25zIGFuZC9v
ciByaWdodHMgY29uc2lzdGVudCB3aXRoIHRoaXMKLSAgICAgIExpY2Vuc2UuIEhvd2V2ZXIsIGlu
IGFjY2VwdGluZyBzdWNoIG9ibGlnYXRpb25zLCBZb3UgbWF5IGFjdCBvbmx5Ci0gICAgICBvbiBZ
b3VyIG93biBiZWhhbGYgYW5kIG9uIFlvdXIgc29sZSByZXNwb25zaWJpbGl0eSwgbm90IG9uIGJl
aGFsZgotICAgICAgb2YgYW55IG90aGVyIENvbnRyaWJ1dG9yLCBhbmQgb25seSBpZiBZb3UgYWdy
ZWUgdG8gaW5kZW1uaWZ5LAotICAgICAgZGVmZW5kLCBhbmQgaG9sZCBlYWNoIENvbnRyaWJ1dG9y
IGhhcm1sZXNzIGZvciBhbnkgbGlhYmlsaXR5Ci0gICAgICBpbmN1cnJlZCBieSwgb3IgY2xhaW1z
IGFzc2VydGVkIGFnYWluc3QsIHN1Y2ggQ29udHJpYnV0b3IgYnkgcmVhc29uCi0gICAgICBvZiB5
b3VyIGFjY2VwdGluZyBhbnkgc3VjaCB3YXJyYW50eSBvciBhZGRpdGlvbmFsIGxpYWJpbGl0eS4K
LQotICAgRU5EIE9GIFRFUk1TIEFORCBDT05ESVRJT05TCi0KLSAgIEFQUEVORElYOiBIb3cgdG8g
YXBwbHkgdGhlIEFwYWNoZSBMaWNlbnNlIHRvIHlvdXIgd29yay4KLQotICAgICAgVG8gYXBwbHkg
dGhlIEFwYWNoZSBMaWNlbnNlIHRvIHlvdXIgd29yaywgYXR0YWNoIHRoZSBmb2xsb3dpbmcKLSAg
ICAgIGJvaWxlcnBsYXRlIG5vdGljZSwgd2l0aCB0aGUgZmllbGRzIGVuY2xvc2VkIGJ5IGJyYWNr
ZXRzICJbXSIKLSAgICAgIHJlcGxhY2VkIHdpdGggeW91ciBvd24gaWRlbnRpZnlpbmcgaW5mb3Jt
YXRpb24uIChEb24ndCBpbmNsdWRlCi0gICAgICB0aGUgYnJhY2tldHMhKSAgVGhlIHRleHQgc2hv
dWxkIGJlIGVuY2xvc2VkIGluIHRoZSBhcHByb3ByaWF0ZQotICAgICAgY29tbWVudCBzeW50YXgg
Zm9yIHRoZSBmaWxlIGZvcm1hdC4gV2UgYWxzbyByZWNvbW1lbmQgdGhhdCBhCi0gICAgICBmaWxl
IG9yIGNsYXNzIG5hbWUgYW5kIGRlc2NyaXB0aW9uIG9mIHB1cnBvc2UgYmUgaW5jbHVkZWQgb24g
dGhlCi0gICAgICBzYW1lICJwcmludGVkIHBhZ2UiIGFzIHRoZSBjb3B5cmlnaHQgbm90aWNlIGZv
ciBlYXNpZXIKLSAgICAgIGlkZW50aWZpY2F0aW9uIHdpdGhpbiB0aGlyZC1wYXJ0eSBhcmNoaXZl
cy4KLQotICAgQ29weXJpZ2h0IFt5eXl5XSBbbmFtZSBvZiBjb3B5cmlnaHQgb3duZXJdCi0KLSAg
IExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGlj
ZW5zZSIpOwotICAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5j
ZSB3aXRoIHRoZSBMaWNlbnNlLgotICAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNl
bnNlIGF0Ci0KLSAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0y
LjAKLQotICAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBp
biB3cml0aW5nLCBzb2Z0d2FyZQotICAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMg
ZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKLSAgIFdJVEhPVVQgV0FSUkFOVElFUyBP
UiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgotICAg
U2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1p
c3Npb25zIGFuZAotICAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCkluZGV4OiBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvd2lkbHByb2MvTWFrZWZpbGUKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9j
L01ha2VmaWxlCShyZXZpc2lvbiAyNTI4OTYpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvTWFrZWZp
bGUJKG5vbmV4aXN0ZW50KQpAQCAtMSwxNTggKzAsMCBAQAotIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCi0jICRJ
ZCQKLSMgQ29weXJpZ2h0IDIwMDkgQXBsaXggQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCi0jIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRo
ZSAiTGljZW5zZSIpOwotIyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21w
bGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCi0jIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUg
TGljZW5zZSBhdAotIyAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0Ut
Mi4wCi0jIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4g
d3JpdGluZywgc29mdHdhcmUKLSMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlz
dHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKLSMgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENP
TkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCi0jIFNlZSB0
aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9u
cyBhbmQKLSMgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCi0jIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMK
LQotVU5BTUUgPSAkKHNoZWxsIHVuYW1lKQotSU5DRElSUyA9ICQoT0JKRElSKQotU1JDRElSID0g
c3JjCi1ET0NESVIgPSBkb2MKLUVYQU1QTEVTRElSID0gZXhhbXBsZXMKLU9CSkRJUiA9IG9iagot
Ci0jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMKLSMgTGludXggY29uZmlndXJhdGlvbgotIwotaWZuZXEgKCwkKGZp
bHRlciBMaW51eCUsICQoVU5BTUUpKSkgCi0KLUNGTEFHUyA9IC1nIC1XYWxsIC1XZXJyb3IgLU8w
ICQocGF0c3Vic3QgJSwgLUklLCAkKElOQ0RJUlMpKQotT0JKU1VGRklYID0gLm8KLUVYRVNVRkZJ
WCA9Ci0jTElCUyA9IC1sZWZlbmNlCi1PQkpPUFRJT04gPSAtbwotRVhFT1BUSU9OID0gLW8KLQot
ZWxzZQotIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjCi0jIERhcndpbiBjb25maWd1cmF0aW9uCi0jCi1pZm5lcSAo
LCQoZmlsdGVyIERhcndpbiUsICQoVU5BTUUpKSkgCi0KLUNGTEFHUyA9IC1nIC1XYWxsIC1XZXJy
b3IgLU8yICQocGF0c3Vic3QgJSwgLUklLCAkKElOQ0RJUlMpKQotT0JKU1VGRklYID0gLm8KLUVY
RVNVRkZJWCA9Ci1PQkpPUFRJT04gPSAtbwotIyBUaGUgLW8gaW4gdGhlIGZvbGxvd2luZyBsaW5l
IGhhcyBhIHNwYWNlIGFmdGVyIGl0LCB3aGljaCBtdXN0IG5vdCBiZSByZW1vdmVkLgotRVhFT1BU
SU9OID0gLW8gCi0KLWVsc2UKLSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwotIyBXaW5kb3dzIChjeWd3aW4gYnV0
IHVzaW5nIE1TIGNvbXBpbGVyKSBjb25maWd1cmF0aW9uCi0jCi0jIHRoaXMgaXMgbWVzc3kgLSBz
aG91bGQgcHJvYmFibHkgdXNlIHZjdmFycy5iYXQKLWlmbmVxICgsJChmaWx0ZXIgQ1lHV0lOJSwg
JChVTkFNRSkpKSAKLVZJU1VBTFNUVURJT0RJUiA9ICQod2lsZGNhcmQgL2N5Z2RyaXZlL2MvUHJv
Z3JhbSpGaWxlcy9NaWNyb3NvZnQqVmlzdWFsKlN0dWRpbyo4KQotU0RLRElSID0gJCh3aWxkY2Fy
ZCAvY3lnZHJpdmUvYy9Qcm9ncmFtKkZpbGVzL01pY3Jvc29mdCpTREtzL1dpbmRvd3MvKi9MaWIp
Ci1pZmVxICgsJChWSVNVQUxTVFVESU9ESVIpKQotVklTVUFMU1RVRElPRElSID0gJCh3aWxkY2Fy
ZCAvY3lnZHJpdmUvYy9Qcm9ncmFtXCBGaWxlc1wgKi9NaWNyb3NvZnQqVmlzdWFsKlN0dWRpbyox
MCopCi1lbmRpZgotaWZlcSAoLCQoVklTVUFMU1RVRElPRElSKSkKLVZJU1VBTFNUVURJT0RJUiA9
ICQod2lsZGNhcmQgL2N5Z2RyaXZlL2MvUHJvZ3JhbVwgRmlsZXNcICovTWljcm9zb2Z0KlZpc3Vh
bCpTdHVkaW8qMTEqKQotZW5kaWYKLSMgdGhpcyBpcyByZXZlbHZhbnQgZm9yIHZzMjAxMiBhbmQg
d2luZG93cyA4IC0gc2RrIGxvY2F0aW9uIGhhcyBjaGFuZ2VkCi1pZmVxICgsJChTREtESVIpKQot
U0RLRElSID0gJCh3aWxkY2FyZCAvY3lnZHJpdmUvYy9Qcm9ncmFtXCBGaWxlc1wgKi9XaW5kb3dz
KktpdHMpCi1lbmRpZgotCi1pZmVxICgsJChWSVNVQUxTVFVESU9ESVIpKQotJChlcnJvciBDb3Vs
ZCBub3QgZmluZCAgTVMgVmlzdWFsIFN0dWRpbykgCi1lbHNlCi1XSU5WSVNVQUxTVFVESU9ESVIg
PSAkKHNoZWxsIGN5Z3BhdGggLXcgJyQoVklTVUFMU1RVRElPRElSKScpCi1XSU5TREtESVIgPSAk
KHNoZWxsIGN5Z3BhdGggLXcgJyQoU0RLRElSKScpCi0KLSMkKGVycm9yICQoVklTVUFMU1RVRElP
RElSKSkgCi0KLUNDID0gXAotCUxpYj0nJChXSU5WSVNVQUxTVFVESU9ESVIpXFZDXExJQjskKFdJ
TlZJU1VBTFNUVURJT0RJUilcVkNcUGxhdGZvcm1TREtcTGliOyQoV0lOU0RLRElSKScgXAotCVBB
VEg9JyQoVklTVUFMU1RVRElPRElSKS9Db21tb243L0lERTokKFZJU1VBTFNUVURJT0RJUikvVkMv
QklOOiQoVklTVUFMU1RVRElPRElSKS9Db21tb243L1Rvb2xzOiQoVklTVUFMU1RVRElPRElSKS9T
REsvdjIuMC9iaW46JChWSVNVQUxTVFVESU9ESVIpLzguMC9MaWIvd2luOC91bS94ODY6JyQkUEFU
SCBcCi0JSW5jbHVkZT0nJChXSU5WSVNVQUxTVFVESU9ESVIpXFZDXElOQ0xVREU7JChXSU5WSVNV
QUxTVFVESU9ESVIpXFZDXFBsYXRmb3JtU0RLXEluY2x1ZGUnIFwKLQljbAotZW5kaWYKLQotQ0ZM
QUdTID0gL25vbG9nbyAvV1ggL1czIC93ZDQ5OTYgL1ppIC9PMiAkKHBhdHN1YnN0ICUsIC9JJSwg
JChJTkNESVJTKSkKLU9CSlNVRkZJWCA9IC5vYmoKLUVYRVNVRkZJWCA9IC5leGUKLU9CSk9QVElP
TiA9IC9GbwotRVhFT1BUSU9OID0gL0ZlCi0KLWVuZGlmCi1lbmRpZgotZW5kaWYKLQotIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjCi0jIENvbW1vbiBtYWtlZmlsZQotIwotV0lETFBST0MgPSAkKE9CSkRJUikvd2lk
bHByb2MkKEVYRVNVRkZJWCkKLURURCA9ICQoT0JKRElSKS93aWRscHJvY3htbC5kdGQKLQotQUxM
ID0gJChXSURMUFJPQykgJChEVEQpCi1hbGwgOiAkKEFMTCkKLQotU1JDUyA9IFwKLQljb21tZW50
LmMgXAotCWxleC5jIFwKLQltYWluLmMgXAotCW1pc2MuYyBcCi0Jbm9kZS5jIFwKLQlwYXJzZS5j
IFwKLQlwcm9jZXNzLmMKLQotT0JKUyA9ICQocGF0c3Vic3QgJS5jLCAkKE9CSkRJUikvJSQoT0JK
U1VGRklYKSwgJChTUkNTKSkKLSQoV0lETFBST0MpIDogJChPQkpTKQotCSQoQ0MpICQoQ0ZMQUdT
KSAkKEVYRU9QVElPTikkQCAkXiAkKExJQlMpCi0KLSQoT0JKRElSKS8lJChPQkpTVUZGSVgpIDog
JChTUkNESVIpLyUuYwotCW1rZGlyIC1wICQoZGlyICRAKQotCSQoQ0MpICQoQ0ZMQUdTKSAkKE9C
Sk9QVElPTikkQCAtYyAkPAotCi0kKE9CSkRJUikvJS5kIDogJChTUkNESVIpLyUuYwotCW1rZGly
IC1wICQoZGlyICRAKQotCWNjICQocGF0c3Vic3QgJSwgLUklLCAkKElOQ0RJUlMpKSAtTU0gLU1H
IC1NVCAkKHBhdHN1YnN0ICUuZCwgJSQoT0JKU1VGRklYKSwgJEApICQ8IHwgc2VkICckKHBhdHN1
YnN0ICUsIHN8IFwoJVwpfCAkKE9CSkRJUikvXDF8OywgJChBVVRPR0VOSEVBREVSUykpJyA+JEAK
LQotaW5jbHVkZSAkKHBhdHN1YnN0ICUuYywgJChPQkpESVIpLyUuZCwgJChTUkNTKSkKLQotCi0k
KERURCkgOiAkKERPQ0RJUikvaHRtbHRvZHRkLnhzbCAkKERPQ0RJUikvd2lkbHByb2MuaHRtbAot
CXhzbHRwcm9jIC1odG1sICReID4kQAotCi1jbGVhbiA6Ci0Jcm0gLWYgJChBTEwpICQoT0JKUykK
LQotdmVyeWNsZWFuIDoKLQlybSAtcmYgJChPQkpESVIpCi0KLVNWTkZJTEVTID0gJChzaGVsbCB0
ZXN0IC1kIC5zdm4gJiYgc3ZuIGluZm8gLVIgLiB8IHNlZCAtbiAncy9eUGF0aDogXCguKlwpJCQv
XDEvcCcpCi1TVk5CUkFOQ0ggPSAkKHNoZWxsIHRlc3QgLWQgLnN2biAmJiBzdm4gaW5mbyAuIHwg
c2VkIC1uICdzfF5VUkw6LiovXChbXi9dKlwpJCR8XDF8cCcpCi1TVk5SRVYgPSAkKHNoZWxsIHRl
c3QgLWQgLnN2biAmJiBzdm4gaW5mbyAtUiAuIHwgc2VkIC1uICdzL15MYXN0IENoYW5nZWQgUmV2
OiBcKFswLTldWzAtOV0qXCkkJC9cMS9wJyB8IHNvcnQgLWcgfCB0YWlsIC0xKQotCi1TVk5MT0cg
PSBoaXN0b3J5Ci0kKFNWTkxPRykgOiAkKFNWTkZJTEVTKQotCXN2biBsb2cgLXZySEVBRDozMTEg
PiRACi0KLXppcCA6ICQoT0JKRElSKS93aWRscHJvYy0kKFNWTkJSQU5DSCkkKFNWTlJFVikuemlw
Ci0kKE9CSkRJUikvd2lkbHByb2MtJChTVk5CUkFOQ0gpJChTVk5SRVYpLnppcCA6ICQoV0lETFBS
T0MpICQoRFREKSAkKERPQ0RJUikvd2lkbHByb2MuaHRtbCAkKFNSQ0RJUikvd2lkbHByb2N4bWx0
b2h0bWwueHNsIE1ha2VmaWxlICQoU1ZOTE9HKQotCXJtIC1mICRACi0JemlwIC1qICRAICReIC14
IE1ha2VmaWxlCi0JemlwICRAIGV4YW1wbGVzLyoud2lkbCBleGFtcGxlcy8qLmNzcyBleGFtcGxl
cy9NYWtlZmlsZSBleGFtcGxlcy9SRUFETUUgZXhhbXBsZXMvKi54c2wgZXhhbXBsZXMvKi5odG1s
Ci0KLXNyY3ppcCA6IHdpZGxwcm9jLXNyYy0kKFNWTkJSQU5DSCkkKFNWTlJFVikuemlwCi0KLXdp
ZGxwcm9jLXNyYy0lLnppcCA6ICQoU1ZORklMRVMpICQoU1ZOTE9HKQotCXppcCAkQCAkXiAKLQot
ZXhhbXBsZXMgOgotCSQoTUFLRSkgLUMgZXhhbXBsZXMgU1JDRElSPS4uL3NyYyBPQkpESVI9Li4v
b2JqIEVYQU1QTEVTT0JKRElSPS4uL29iai9leGFtcGxlcwotCi10ZXN0IDogJChPQkpTKQotCSQo
TUFLRSkgLUMgdGVzdCBTUkNESVI9Li4vc3JjIE9CSkRJUj0uLi9vYmoKLQotLkRFTEVURV9PTl9F
UlJPUjoKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9SRUFETUUubWQKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3dpZGxwcm9jL1JFQURNRS5tZAkocmV2aXNpb24gMjUyODk2KQorKysgTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3dpZGxwcm9jL1JFQURNRS5tZAkobm9uZXhpc3RlbnQpCkBAIC0xLDQwICswLDAgQEAKLSMg
VXNlcwotCi13aWRscHJvYyBjYW4gYmUgdXNlZCB0byB2YWxpZGF0ZSBXZWJJREwgaW4gVzNDIHNw
ZWNpZmljYXRpb25zLiBJdCBzZXJ2ZXMgYXMgdGhlIGJhc2lzIGZvciB0aGUgW1czQyBXZWIgSURM
IG9uLWxpbmUgY2hlY2tlcl0oaHR0cDovL3d3dy53My5vcmcvMjAwOS8wNy93ZWJpZGwtY2hlY2sp
LgotCi13aWRscHJvYydzIGdlbmVyYXRlZCBYTUwgaXMgdXNlZCB0byBnZW5lcmF0ZSBbd2ViaW5v
cyBKYXZhU2NyaXB0IEFQSXMgc3BlY2lmaWNhdGlvbnNdKGh0dHA6Ly9kZXYud2ViaW5vcy5vcmcv
c3BlY2lmaWNhdGlvbnMvZHJhZnQvKS4KLQotIyBMaWNlbnNlCi0KLXdpZGxwcm9jIGlzIGxpY2Vu
c2VkIHVuZGVyIHRoZSBBcGFjaGUgMiBMaWNlbnNlLgotCi0jIE90aGVycwotCi1TZWUgYWxzbyBb
d2ViaWRsLmpzXShodHRwczovL2dpdGh1Yi5jb20vZGFyb2Jpbi93ZWJpZGwuanMpLCBhIEphdmFT
Y3JpcHQtYmFzZWQgV2ViIElETCBwYXJzZXIgdXNlZCBieSB2YXJpb3VzIHRvb2xzIGluIFczQy4K
LQotIyBDcmVkaXRzCi0KLU1vc3Qgb2YgdGhlIHdvcmsgb24gd2lkbHByb2Mgd2FzIGRvbmUgYnkg
VGltIFJlbm91ZiBhbmQgUGFkZHkgQnllcnMuIEFwbGl4IGNvcnBvcmF0aW9uIG93bnMgdGhlIGNv
cHlyaWdodCBvZiB0aGUgY29kZSB1cCB0byBKdW5lIDIwMTEuCi0KLVRoZSB0b29sIGlzIGtlcHQg
dXAgdG8gZGF0ZSB3aXRoIHRoZSBjaGFuZ2VzIGluIHRoZSBzcGVjIGJ5IERvbWluaXF1ZSBIYXph
ZWwtTWFzc2lldXgsIHRocm91Z2ggZnVuZGluZyBmcm9tIHRoZSBbd2ViaW5vcyBwcm9qZWN0XSho
dHRwOi8vd2ViaW5vcy5vcmcvKSBzaW5jZSBKdW5lIDIwMTEuCi0KLSMgRG9jdW1lbnRhdGlvbgot
Ci1TZWUgZG9jL3dpZGxwcm9jLmh0bWwgaW4gdGhlIHRyZWUuCi0KLSMgQnVpbGQgSW5zdHJ1Y3Rp
b25zCi0KLSMjIFdpbmRvd3MKLQotSW5zdGFsbCByZXF1aXJlbWVudHMKLSogQ3lnd2luIC0gbXVz
dCBpbnN0YWxsIG11c3QgaW5zdGFsbCBsaWJzL2xpYnhzbHQKLSogVmlzdWFsIFN0dWRpbyBleHBy
ZXNzIDIwMTIgb3IgMjAxMCAoc2VlIGRpZmZlcmVuY2UgYmVsb3cpCi0KLW1ha2VmaWxlIHVzZXMg
Y3lnd2luIG1ha2UuIFJlZmVyZW5jZXMgYXJlIGNvZGVkIGluIHRoZSBtYWtlIGZpbGUgdG8gZGV0
ZWN0IHRlaCBjdXJyZW50IHZlcnNpb24gb2YgdmlzdWFsIHN0dWRpbyAKLQotIyBGdXR1cmUgd29y
awotd2luZG93cyBidWlsZCBjb3VsZCBiZSBpbXByb3ZlZCB0byBoYW5kbGUgbXVsdGlwZSB2ZXJz
aW9ucyB3aXRoIHZjdmFycy5iYXQKLWh0dHA6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMv
NjIwMjkvdnMyMDA4LWNvbW1hbmQtcHJvbXB0LWN5Z3dpbgotCi0KLQpJbmRleDogTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3dpZGxwcm9jL2RvYy9odG1sdG9kdGQueHNsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRs
cHJvYy9kb2MvaHRtbHRvZHRkLnhzbAkocmV2aXNpb24gMjUyODk2KQorKysgTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dp
ZGxwcm9jL2RvYy9odG1sdG9kdGQueHNsCShub25leGlzdGVudCkKQEAgLTEsMjggKzAsMCBAQAot
PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXMtYXNjaWkiPz4KLTwhLS09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotJElkJAotQ29weXJpZ2h0IDIwMDkgQXBsaXggQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCi1MaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0
aGUgIkxpY2Vuc2UiKTsKLXlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBs
aWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KLVlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGlj
ZW5zZSBhdAotICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAot
VW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5n
LCBzb2Z0d2FyZQotZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQg
b24gYW4gIkFTIElTIiBCQVNJUywKLVdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9G
IEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgotU2VlIHRoZSBMaWNlbnNlIGZv
ciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAotbGltaXRh
dGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCi0KLVN0eWxlc2hlZXQgdG8gZXh0cmFjdCBEVEQgZm9y
IHdpZGxwcm9jeG1sIGZyb20gd2lkbHByb2MuaHRtbAotPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09LS0+Ci08eHNsOnN0
eWxlc2hlZXQgeG1sbnM6eHNsPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L1hTTC9UcmFuc2Zvcm0i
IHZlcnNpb249IjEuMCI+Ci08eHNsOm91dHB1dCBtZXRob2Q9InRleHQiIGVuY29kaW5nPSJ1cy1h
c2NpaSIgaW5kZW50PSJubyIvPgotCi08IS0tIDxwcmUgY2xhc3M9ImR0ZCI+IGVsZW1lbnQgLS0+
Ci08eHNsOnRlbXBsYXRlIG1hdGNoPSJwcmVbQGNsYXNzPSdkdGQnXSI+Ci0gICAgPHhzbDp2YWx1
ZS1vZiBzZWxlY3Q9Ii4iLz4KLTwveHNsOnRlbXBsYXRlPgotCi08IS0tSWdub3JlIG90aGVyIHRl
eHQuIC0tPgotPHhzbDp0ZW1wbGF0ZSBtYXRjaD0idGV4dCgpIiBwcmlvcml0eT0iLTEwMCIvPgot
Ci08L3hzbDpzdHlsZXNoZWV0PgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL2RvYy93M2MtaW1w
b3J0LmxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvZG9jL3czYy1pbXBvcnQu
bG9nCShyZXZpc2lvbiAyNTI4OTYpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvZG9jL3czYy1pbXBv
cnQubG9nCShub25leGlzdGVudCkKQEAgLTEsMTkgKzAsMCBAQAotVGhlIHRlc3RzIGluIHRoaXMg
ZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCi1EbyBOT1Qg
bW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQsIGNyZWF0ZSBh
IHB1bGwgcmVxdWVzdCBvbiB0aGUgVzNDIENTUyBvciBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0
aHViLmNvbS93M2MvY3Nzd2ctdGVzdAotCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzCi0KLVRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMg
aW4gV2ViS2l0IHRvIHJlaW1wb3J0Ci0KLURvIE5PVCBtb2RpZnkgb3IgcmVtb3ZlIHRoaXMgZmls
ZS4KLQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1Qcm9wZXJ0aWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4
ZXM6Ci1Ob25lCi1Qcm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKLU5v
bmUKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLQotTGlzdCBvZiBmaWxlczoKLS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mv
ZG9jL2h0bWx0b2R0ZC54c2wKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvZG9jL3dpZGxwcm9jLmh0bWwK
SW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9kb2Mvd2lkbHByb2MuaHRtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvZG9jL3dpZGxwcm9jLmh0bWwJKHJldmlzaW9uIDI1Mjg5NikK
KysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC93aWRscHJvYy9kb2Mvd2lkbHByb2MuaHRtbAkobm9uZXhpc3RlbnQpCkBA
IC0xLDExMjQgKzAsMCBAQAotPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1M
IDQuMDEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIvaHRtbDQvc3RyaWN0LmR0ZCI+Ci08IS0t
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLUNvcHlyaWdodCAyMDA5IEFwbGl4IENvcnBvcmF0aW9uLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgotTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIu
MCAodGhlICJMaWNlbnNlIik7Ci15b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBj
b21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCi1Zb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhl
IExpY2Vuc2UgYXQKLSAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0y
LjAKLVVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3Jp
dGluZywgc29mdHdhcmUKLWRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1
dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCi1XSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9O
UyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KLVNlZSB0aGUgTGljZW5z
ZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKLWxp
bWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgotPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09LS0+Ci08aHRtbD4KLTxo
ZWFkPgotPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7
IGNoYXJzZXQ9dXMtYXNjaWkiPgotPHRpdGxlPndpZGxwcm9jPC90aXRsZT4KLTxzdHlsZSB0eXBl
PSJ0ZXh0L2NzcyI+Ci0gICAgYm9keSB7IGNvbG9yOiBibGFjazsgZm9udDogMTBwdCB2ZXJkYW5h
OyB9Ci0gICAgYTpsaW5rIHsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9Ci0gICAgYTp2aXNpdGVk
IHsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9Ci0gICAgYTpob3ZlciB7IHRleHQtZGVjb3JhdGlv
bjogdW5kZXJsaW5lOyB9Ci0gICAgZHQgeyBtYXJnaW4tdG9wOiAwLjVlbTsgfQotICAgIGRkIHsg
bWFyZ2luLWxlZnQ6IDFlbTsgbWFyZ2luLWJvdHRvbTogMC41ZW07IH0KLSAgICBsaSB7IG1hcmdp
bi1ib3R0b206IDA7IH0KLSAgICBoNCB7IGZvbnQtc2l6ZTogMTBwdDsgfQotICAgIHRhYmxlIHsg
Ym9yZGVyOiAxcHggc29saWQ7IGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7IH0KLSAgICB0ZCB7
IGJvcmRlcjogMXB4IHNvbGlkOyB9Ci0gICAgdGggeyBib3JkZXI6IDFweCBzb2xpZDsgfQotICAg
IGNvZGUgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmMGYwOyB9Ci0gICAgcHJlIHsgYmFja2dyb3Vu
ZC1jb2xvcjogI2YwZjBmMDsgfQotICAgIC5pbmRlbnQgeyBtYXJnaW4tbGVmdDogM2VtOyB9Ci0g
ICAgLmlzc3VlIHsgYmFja2dyb3VuZC1jb2xvcjogIzAwQ0NDQzsgfQotPC9zdHlsZT4KLTwvaGVh
ZD4KLTxib2R5PgotPGgxPndpZGxwcm9jPC9oMT4KLQotPHA+VGltIFJlbm91ZiwgQXBsaXggQ29y
cDwvcD4KLTxwPiRJZCQKLTwvcD4KLQotPGgyPkludHJvZHVjdGlvbjwvaDI+Ci0KLTxwPgotd2lk
bHByb2MgaXMgYSBwcm9jZXNzb3IgdGhhdCBhY2NlcHRzIGFzIGlucHV0Ci08YSBocmVmPSIjd2Vi
aWRsIj5XZWIgSURMPC9hPiAodGhlIDMwIFNlcHRlbWJlciAyMDA5IGVkaXRvcidzIGRyYWZ0KSwK
LXdpdGggY29tbWVudHMgaW4gYSBzdWJzZXQgb2YgdGhlIGZvcm1hdCB1c2VkIGJ5Ci08YSBocmVm
PSIjZG94eWdlbiI+RG94eWdlbjwvYT4uCi1UaGUgZm9ybWF0IGl0IGFjY2VwdHMgaXMgcHJvcG9z
ZWQgYnkgQXBsaXggZm9yIGF1dGhvcmluZwotPGEgaHJlZj0iI2JvbmRpIj5CT05ESTwvYT4gaW50
ZXJmYWNlIGRlZmluaXRpb25zLgotPC9wPgotCi08cD4KLVRoZSBvdXRwdXQgb2Ygd2lkbHByb2Mg
aXMgYW4gWE1MIHJlcHJlc2VudGF0aW9uIG9mIHRoZQotPGEgaHJlZj0iI3dlYmlkbCI+V2ViIElE
TDwvYT4gaW5wdXQsCi13aXRoIGFkZGVkIFhNTCBlbGVtZW50cyByZXByZXNlbnRpbmcgdGhlCi08
YSBocmVmPSIjZG94eWdlbiI+RG94eWdlbjwvYT4tbGlrZSBjb21tZW50cy4KLTwvcD4KLQotPGgy
PlVzYWdlPC9oMj4KLQotPHA+Ci08Y29kZT53aWRscHJvYyA8aT5maWxlbmFtZTwvaT48L2NvZGU+
Ci08L3A+Ci0KLTxwPgotd2lkbHByb2MgcmVhZHMgdGhlIGZpbGUgbmFtZWQgPGVtPmZpbGVuYW1l
PC9lbT4sIGFuZCAKLXNlbmRzIGl0cyBYTUwgb3V0cHV0IGZvcm1hdCB0byBzdGRvdXQuCi08L3A+
Ci0KLTxoMj5JbnB1dCBmb3JtYXQ8L2gyPgotCi08cD4KLVRoZSBpbnB1dCBmb3JtYXQgYWNjZXB0
ZWQgYnkgd2lkbHByb2MgaXMKLTxhIGhyZWY9IiN3ZWJpZGwiPldlYiBJREw8L2E+Ci0od2l0aCBh
biBleHRlbnNpb24gdXNlZCBpbiB0aGUKLTxhIGhyZWY9IiN3M2NnZW8iPlczQyBHZW9sb2NhdGlv
biBBUEk8L2E+KSwKLXdpdGggY29tbWVudHMgaW4gYSBmb3JtYXQgcmVtaW5pc2NlbnQgb2YgdGhh
dCB1c2VkIGJ5Ci08YSBocmVmPSIjZG94eWdlbiI+RG94eWdlbjwvYT4uCi08L3A+Ci0KLTxoMz5X
ZWIgSURMIGV4dGVuc2lvbiBmcm9tIFczQyBnZW9sb2NhdGlvbiBBUEk8L2gzPgotCi08aDQ+ZG91
YmxlPC9oND4KLQotPHA+Ci08Y29kZT5kb3VibGU8L2NvZGU+IGlzIGFsbG93ZWQgYXMgYSBEZWNs
YXJhdGlvblR5cGUgb3IgYSBCb3hlZFR5cGUuCi08L3A+Ci0KLTxoMz5Eb3h5Z2VuLWxpa2UgY29t
bWVudCBpbnRyb2R1Y3Rpb248L2gzPgotCi08cD4KLU9ubHkgYSBzbWFsbCBzdWJzZXQgb2YgRG94
eWdlbiBmdW5jdGlvbmFsaXR5IGlzIHN1cHBvcnRlZCBieQotd2lkbHByb2MsIHBsdXMgYWRkaXRp
b25zIHRvIGhhbmRsZSB0aGUgQk9OREkgY29uY2VwdHMgb2YgQVBJIGZlYXR1cmVzCi1hbmQgZGV2
aWNlIGNhcGFiaWxpdGllcy4KLTwvcD4KLQotPHA+Ci1JbiBwYXJ0aWN1bGFyLCBubyBsaW5rcyBh
cmUgYWRkZWQgYXV0b21hdGljYWxseS4gKFRoaXMgY291bGQgYmUgYWRkZWQKLWluIHRoZSBmdXR1
cmUuKQotPC9wPgotCi08aDM+RG94eWdlbiBjb21tZW50IGJsb2NrPC9oMz4KLQotPGg0PkNvbW1l
bnQgcmVmZXJyYWwgcG9pbnQ8L2g0PgotCi08cD4KLUVhY2ggPGVtPkRveHlnZW4gY29tbWVudCBi
bG9jazwvZW0+IHJlZmVycyB0byBhIDxlbT5jb21tZW50IHJlZmVycmFsCi1wb2ludDwvZW0+IGlu
IHRoZSBXZWIgSURMLCBvbmUgb2YKLW1vZHVsZSwgaW50ZXJmYWNlLCBleGNlcHRpb24sIGNvbnN0
LCBhdHRyaWJ1dGUsIG9wZXJhdGlvbiBvciBhcmd1bWVudC4KLTwvcD4KLQotPGg0PkJsb2NrIGNv
bW1lbnQ8L2g0PgotCi08cD4KLUEgYmxvY2sgY29tbWVudCAoZGVsaW1pdGVkIGJ5IDxjb2RlPi8q
ICovPC9jb2RlPikgd2hvc2UgZmlyc3QgY2hhcmFjdGVyCi1hZnRlciB0aGUgPGNvZGU+Lyo8L2Nv
ZGU+IGlzIDxjb2RlPiE8L2NvZGU+IG9yIGEgc2Vjb25kIDxjb2RlPio8L2NvZGU+Ci1pcyBhIDxl
bT5Eb3h5Z2VuIGNvbW1lbnQgYmxvY2s8L2VtPi4KLTwvcD4KLQotPHA+Ci1Ob3JtYWxseSB0aGUg
Y29tbWVudCBibG9jayByZWZlcnMgdG8gdGhlIG5leHQgY29tbWVudCByZWZlcnJhbCBwb2ludCBp
bgotdGhlIFdlYiBJREwuCi1JZiB0aGUgZmlyc3QgY2hhcmFjdGVyIGlzIDxjb2RlPiZsdDs8L2Nv
ZGU+LCBzbyB0aGUgY29tbWVudCBibG9jayBpcyBpbnRyb2R1Y2VkCi13aXRoIDxjb2RlPi8qKiZs
dDs8L2NvZGU+IG9yIDxjb2RlPi8qISZsdDs8L2NvZGU+ICwgdGhlbiB0aGUgY29tbWVudCBibG9j
awotcmVmZXJzIGJhY2sgdG8gdGhlIHByZXZpb3VzIGNvbW1lbnQgcmVmZXJyYWwgcG9pbnQuCi08
L3A+Ci0KLTxwPgotVGhlIHRleHQgb2YgdGhlIGNvbW1lbnQgYmxvY2sKLWV4Y2x1ZGVzIHRoZSBp
bml0aWFsIDxjb2RlPiE8L2NvZGU+IG9yIDxjb2RlPio8L2NvZGU+IChhbmQgdGhlIDxjb2RlPiZs
dDs8L2NvZGU+Ci1mb3IgYSByZWZlcnJpbmcgYmFjayBibG9jayksCi1hbmQgZXhjbHVkZXMgYW4g
aW5pdGlhbCAoYWZ0ZXIgd2hpdGVzcGFjZSkgPGNvZGU+KjwvY29kZT4KLW9uIGVhY2ggbGluZSwK
LWFuZCwgd2hlbiBub3QgaW4gYSA8YSBocmVmPSIjY29kZSI+PGNvZGU+XGNvZGU8L2NvZGU+PC9h
PiBibG9jaywKLWV4Y2x1ZGVzIGFueSBsaW5lIGNvbnNpc3RpbmcgZW50aXJlbHkgb2Ygd2hpdGVz
cGFjZSwgdGhlbiA8Y29kZT4qPC9jb2RlPgotY2hhcmFjdGVycywgdGhlbiB3aGl0ZXNwYWNlLgot
PC9wPgotCi08cD4KLXdpZGxwcm9jIGRvZXMgbm90IHN1cHBvcnQgRG94eWdlbiBjb21tYW5kcyB0
byBmb3JjZSBhIGNvbW1lbnQKLWJsb2NrIHRvIHJlZmVyIHRvIGEgZGlmZmVyZW50IHJlZmVycmFs
IHBvaW50LgotPC9wPgotCi08aDQ+SW5saW5lIGNvbW1lbnRzPC9oND4KLQotPHA+Ci1UaGUgbWF4
aW1hbCBzZXF1ZW5jZSBvZiBpbmxpbmUgY29tbWVudHMgKGRlbGltaXRlZCBieSA8Y29kZT4vLzwv
Y29kZT4pCi1vbiBhZGphY2VudCBsaW5lcywgd2hlcmUgYWxsIG9mIHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucyBob2xkOgotPC9wPgotPHVsPgotPGxpPgotZWFjaCBoYXMgYSBmaXJzdCBjaGFyYWN0
ZXIgYWZ0ZXIgdGhlIDxjb2RlPi88L2NvZGU+IG9mIDxjb2RlPiE8L2NvZGU+IG9yCi1hIHRoaXJk
IDxjb2RlPi88L2NvZGU+OwotPGxpPgotbm8gY29tbWVudCByZWZlcnJhbCBwb2ludCBpbnRlcnZl
bmVzOwotPGxpPgotZWl0aGVyIGVhY2ggY29tbWVudCBpbiB0aGUgc2VxdWVuY2Ugc3RhcnRzIHdp
dGggYSA8Y29kZT4mbHQ7PC9jb2RlPgotKHNlZSBiZWxvdyksIG9yIG5vbmUgZG9lczsKLTxsaT4K
LXRoZSBzZXF1ZW5jZSBjb250YWlucyBhdCBsZWFzdCB0d28gaW5saW5lIGNvbW1lbnRzLCBvciwg
aWYgb25seSBvbmUsCi10aGVuIGl0IHN0YXJ0cyB3aXRoIDxjb2RlPiZsdDs8L2NvZGU+IChzZWUg
YmVsb3cpOwotPC91bD4KLTxwPgotZm9ybXMgYSA8ZW0+RG94eWdlbiBjb21tZW50IGJsb2NrPC9l
bT4uCi08L3A+Ci0KLTxwPgotTm9ybWFsbHkgdGhlIGNvbW1lbnQgYmxvY2sgcmVmZXJzIHRvIHRo
ZSBuZXh0IGNvbW1lbnQgcmVmZXJyYWwgcG9pbnQgaW4KLXRoZSBXZWIgSURMLgotSWYgdGhlIGZp
cnN0IGNoYXJhY3RlciBvZiBlYWNoIGNvbW1lbnQgaXMgPGNvZGU+Jmx0OzwvY29kZT4sIHNvIGVh
Y2gKLWNvbW1lbnQgaW4gdGhlIGJsb2NrIGlzIGludHJvZHVjZWQKLXdpdGggPGNvZGU+Ly8vJmx0
OzwvY29kZT4gb3IgPGNvZGU+Ly8hJmx0OzwvY29kZT4gLCB0aGVuIHRoZSBjb21tZW50IGJsb2Nr
Ci1yZWZlcnMgYmFjayB0byB0aGUgcHJldmlvdXMgY29tbWVudCByZWZlcnJhbCBwb2ludC4KLTwv
cD4KLQotPHA+Ci1UaGUgdGV4dCBvZiB0aGUgY29tbWVudCBibG9jawotZXhjbHVkZXMgdGhlIGlu
aXRpYWwgPGNvZGU+ITwvY29kZT4gb3IgPGNvZGU+LzwvY29kZT4gKGFuZCB0aGUgPGNvZGU+Jmx0
OzwvY29kZT4KLWZvciBhIHJlZmVycmluZyBiYWNrIGJsb2NrKSBvZiBlYWNoIGlubGluZSBjb21t
ZW50LAotYW5kLCB3aGVuIG5vdCBpbiBhIDxhIGhyZWY9IiNjb2RlIj48Y29kZT5cY29kZTwvY29k
ZT48L2E+IGJsb2NrLAotZXhjbHVkZXMgYW55IGxpbmUgY29uc2lzdGluZyBlbnRpcmVseSBvZiB3
aGl0ZXNwYWNlLCB0aGVuIDxjb2RlPi88L2NvZGU+Ci1jaGFyYWN0ZXJzLCB0aGVuIHdoaXRlc3Bh
Y2UuCi08L3A+Ci0KLTxwPgotd2lkbHByb2MgZG9lcyBub3Qgc3VwcG9ydCBEb3h5Z2VuIGNvbW1h
bmRzIHRvIGZvcmNlIGEgY29tbWVudAotYmxvY2sgdG8gcmVmZXIgdG8gYSBkaWZmZXJlbnQgcmVm
ZXJyYWwgcG9pbnQuCi08L3A+Ci0KLTxoMz5QYXJhZ3JhcGg8L2gzPgotCi08cD4KLUEgY29tbWVu
dCBibG9jayBpcyBicm9rZW4gaW50byB6ZXJvIG9yIG1vcmUgPGVtPnBhcmFncmFwaDwvZW0+cy4K
LU9uZSBvciBtb3JlIGJsYW5rIGxpbmVzIGJyZWFrIHRoZSBwYXJhZ3JhcGhzICh1bmxlc3MgaW4g
YQotPGEgaHJlZj0iI2NvZGUiPjxjb2RlPlxjb2RlPC9jb2RlPjwvYT4gYmxvY2spLgotPC9wPgot
Ci08cD4KLUNlcnRhaW4gY29tbWFuZHMgKGJlbG93KSBhbHNvIHN0YXJ0IGEgbmV3IHBhcmFncmFw
aC4KLTwvcD4KLQotPHA+Ci1BbgotPGEgaHJlZj0iI2h0bWwiPkhUTUwgYmxvY2sgZWxlbWVudDwv
YT4KLWlzIGEgcGFyYWdyYXBoLgotQSBibGFuayBsaW5lIChvdGhlciB0aGFuIGluIGEKLTxhIGhy
ZWY9IiNjb2RlIj48Y29kZT5cY29kZTwvY29kZT48L2E+IGJsb2NrKQotaW1wbGljaXRseSBjbG9z
ZXMgYW55IG9wZW4gSFRNTCBlbGVtZW50cywgdGh1cyBlbmRpbmcgdGhlIHBhcmFncmFwaC4KLTwv
cD4KLQotPGgzPkRveHlnZW4tbGlrZSBjb21tYW5kczwvaDM+Ci0KLTxwPgotd2lkbHByb2Mgc3Vw
cG9ydHMgYSBzbWFsbCBzdWJzZXQgb2YgRG94eWdlbiBjb21tYW5kcywgcGx1cyBzb21lIGFkZGl0
aW9ucwotdG8gaGFuZGxlIEJPTkRJIEFQSSBmZWF0dXJlcyBhbmQgZGV2aWNlIGNhcGFiaWxpdGll
cy4KLTwvcD4KLQotPHA+Ci1BIGNvbW1hbmQgaXMgYWx3YXlzIGludHJvZHVjZWQgd2l0aCBhIDxj
b2RlPlw8L2NvZGU+IGNoYXJhY3Rlci4KLVRoZSBEb3h5Z2VuIGFsdGVybmF0aXZlIChmcm9tIEph
dmFEb2MpIG9mIDxjb2RlPkA8L2NvZGU+IGlzIG5vdAotc3VwcG9ydGVkLgotPC9wPgotCi08aDQg
aWQ9ImFwaS1mZWF0dXJlIj5cYXBpLWZlYXR1cmU8L2g0PgotCi08cD4KLVN0YXJ0cyBhIG5ldyBw
YXJhZ3JhcGguIFRoZSBmb2xsb3dpbmcgd29yZCBpcyB0aGUgbmFtZSBvZiBhbiBBUEkgZmVhdHVy
ZQotdXNlZCBieSB0aGUgbWV0aG9kIGJlaW5nIGRvY3VtZW50ZWQuIFRoZSByZW1haW5kZXIgb2Yg
dGhlIHBhcmFncmFwaCBpcwotYW55IGRlc2NyaXB0aW9uIHJlcXVpcmVkIG9mIGhvdyAoZWcgaW4g
d2hhdCBjaXJjdW1zdGFuY2UpIHRoZSBBUEkgZmVhdHVyZQotaXMgdXNlZC4KLTwvcD4KLQotPGg0
PlxuYW1lPC9oND4KLQotPHA+Ci1EZWNsYXJlcyBhIG5hbWUgZm9yIHRoZSBkb2N1bWVudCBub2Rl
IGFzc29jaWF0ZWQgd2l0aCB0aGUgY3VycmVudCByZWZlcnJhbAotcG9pbnQuIFRoaXMgaXMgdXNl
ZnVsIGZvciB0aGUgcm9vdCBkb2N1bWVudCBub2RlIHRoYXQgb3RoZXJ3aXNlIGRvZXMgbm90IGhh
dmUKLWEgV2ViSURMIGlkZW50aWZpZXIuCi08L3A+Ci0KLTxoND5cYXV0aG9yPC9oND4KLQotPHA+
Ci1TdGFydHMgYSBuZXcgcGFyYWdyYXBoLiBUaGUgcmVtYWluZGVyIG9mIHRoZSBwYXJhZ3JhcGgg
Y29udGFpbnMKLWluZm9ybWF0aW9uIGFib3V0IGEgc2luZ2xlIGF1dGhvciBvZiB0aGUgc3BlY2lm
aWNhdGlvbi4gTXVsdGlwbGUKLTxjb2RlPlxhdXRob3I8L2NvZGU+IGNvbW1hbmRzIHNob3VsZCBi
ZSB1c2VkIGZvciBtdWx0aXBsZSBhdXRob3JzLgotPC9wPgotCi08cD4KLShIZXJlIHdpZGxwcm9j
IGRpZmZlcnMgZnJvbSBEb3h5Z2VuOyBEb3h5Z2VuIGFsc28gYWxsb3dzCi1tdWx0aXBsZSBhdXRo
b3JzIG9uIHNlcGFyYXRlIGxpbmVzIHRvIGFwcGVhciBpbiBvbmUgPGNvZGU+XGF1dGhvcjwvY29k
ZT4KLXBhcmFncmFwaC4pCi08L3A+Ci0KLTxoND5cYjwvaDQ+Ci0KLTxwPgotVGhpcyByZW5kZXJz
IHRoZSBuZXh0IHdvcmQgYXMgYm9sZC4gSXQgaXMgZXF1aXZhbGVudCB0byBlbmNsb3NpbmcgdGhl
Ci1uZXh0IHdvcmQgd2l0aCA8Y29kZT4mbHQ7Yj4gJmx0Oy9iPjwvY29kZT4uCi08L3A+Ci0KLTxo
ND5cYnJpZWY8L2g0PgotCi08cD4KLVN0YXJ0cyBhIG5ldyBwYXJhZ3JhcGguIFRoZSByZW1haW5k
ZXIgb2YgdGhlIHBhcmFncmFwaCBjb250YWlucyBhIGJyaWVmCi1kZXNjcmlwdGlvbiBvZiB0aGUg
ZW50aXR5IGJlaW5nIGRvY3VtZW50ZWQuCi08L3A+Ci0KLTxoNCBpZD0iY29kZSI+XGNvZGUsIFxl
bmRjb2RlPC9oND4KLQotPHA+Ci08Y29kZT5cY29kZTwvY29kZT4KLXN0YXJ0cyBhIG5ldyBwYXJh
Z3JhcGggd2hpY2ggaXMgYSA8ZW0+Y29kZSBibG9jazwvZW0+LiBUaGUgY29kZSBibG9jawotZW5k
cyBhdCB0aGUgbmV4dCA8Y29kZT5cZW5kY29kZTwvY29kZT4gY29tbWFuZC4KLTwvcD4KLQotPHA+
Ci1XaXRoaW4gdGhlIGNvZGUgYmxvY2ssIHdoaXRlc3BhY2UgYW5kIG5ld2xpbmVzIGFyZSBwYXNz
ZWQgdmVyYmF0aW0gaW50bwotdGhlIG91dHB1dC4KLTwvcD4KLQotPGg0IGlkPSJkZWYtYXBpLWZl
YXR1cmUiPlxkZWYtYXBpLWZlYXR1cmU8L2g0PgotCi08cD4KLVN0YXJ0cyBhIG5ldyBwYXJhZ3Jh
cGguIFRoZSBmb2xsb3dpbmcgd29yZCBpcyB0aGUgbmFtZSBvZiB0aGUgQVBJIGZlYXR1cmUKLXdo
aWNoIGlzIGRlZmluZWQgaGVyZS4gVGhlIGRlc2NyaXB0aW9uIGlzIGFuIDxlbT5kZWYtYXBpLWZl
YXR1cmUgYmxvY2s8L2VtPiwKLWNvbnNpc3Rpbmcgb2YgdGhlCi1yZW1haW5kZXIgb2YgdGhlIHBh
cmFncmFwaCwgdG9nZXRoZXIgd2l0aAotZnVydGhlciBwYXJhZ3JhcGhzIGluIHRoZSBzYW1lIGJs
b2NrIGNvbW1lbnQgZWFjaCBvZiB3aGljaCBpcyBhIHBsYWluCi1wYXJhZ3JhcGgsIGEgcGFyYWdy
YXBoIHN0YXJ0ZWQgZHVlIHRvIEhUTUwgbWFya3VwLCBhIDxjb2RlPlxicmllZjwvY29kZT4KLXBh
cmFncmFwaCwgb3IgYQotPGEgaHJlZj0iI2RldmljZS1jYXAiPjxjb2RlPlxkZXZpY2UtY2FwPC9j
b2RlPjwvYT4KLXBhcmFncmFwaC4KLTwvcD4KLQotPGg0IGlkPSJkZWYtYXBpLWZlYXR1cmUtc2V0
Ij5cZGVmLWFwaS1mZWF0dXJlLXNldDwvaDQ+Ci0KLTxwPgotU3RhcnRzIGEgbmV3IHBhcmFncmFw
aC4gVGhlIGZvbGxvd2luZyB3b3JkIGlzIHRoZSBuYW1lIG9mIHRoZSBBUEkgZmVhdHVyZQotc2V0
IHdoaWNoIGlzIGRlZmluZWQgaGVyZS4gVGhlIGRlc2NyaXB0aW9uIGlzIGFuIDxlbT5kZWYtYXBp
LWZlYXR1cmUtc2V0IGJsb2NrPC9lbT4sCi1jb25zaXN0aW5nIG9mIHRoZQotcmVtYWluZGVyIG9m
IHRoZSBwYXJhZ3JhcGgsIHRvZ2V0aGVyIHdpdGgKLWZ1cnRoZXIgcGFyYWdyYXBocyBpbiB0aGUg
c2FtZSBibG9jayBjb21tZW50IGVhY2ggb2Ygd2hpY2ggaXMgYSBwbGFpbgotcGFyYWdyYXBoLCBh
IHBhcmFncmFwaCBzdGFydGVkIGR1ZSB0byBIVE1MIG1hcmt1cCwgYSA8Y29kZT5cYnJpZWY8L2Nv
ZGU+Ci1wYXJhZ3JhcGgsIG9yIGEKLTxhIGhyZWY9IiNkZXZpY2UtY2FwIj48Y29kZT5cYXBpLWZl
YXR1cmU8L2NvZGU+PC9hPgotcGFyYWdyYXBoLgotPC9wPgotCi08aDQ+XGRlZi1kZXZpY2UtY2Fw
PC9oND4KLQotPHA+Ci1TdGFydHMgYSBuZXcgcGFyYWdyYXBoLiBUaGUgZm9sbG93aW5nIHdvcmQg
aXMgdGhlIG5hbWUgb2YgdGhlIGRldmljZSBjYXBhYmlsaXR5Ci13aGljaCBpcyBkZWZpbmVkIGhl
cmUuIFRoZSBkZXNjcmlwdGlvbiBjb25zaXN0cyBvZiB0aGUKLXJlbWFpbmRlciBvZiB0aGUgcGFy
YWdyYXBoLCB0b2dldGhlciB3aXRoCi1mdXJ0aGVyIHBhcmFncmFwaHMgaW4gdGhlIHNhbWUgYmxv
Y2sgY29tbWVudCBlYWNoIG9mIHdoaWNoIGlzIGEgcGxhaW4KLXBhcmFncmFwaCwgYSBwYXJhZ3Jh
cGggc3RhcnRlZCBkdWUgdG8gSFRNTCBtYXJrdXAsIGEgPGNvZGU+XGJyaWVmPC9jb2RlPgotcGFy
YWdyYXBoLCBvciBhCi08YSBocmVmPSIjcGFyYW0iPjxjb2RlPlxwYXJhbTwvY29kZT48L2E+Ci1w
YXJhZ3JhcGguCi08L3A+Ci0KLTxoNCBpZD0iZGVmLWluc3RhbnRpYXRlZCI+XGRlZi1pbnN0YW50
aWF0ZWQ8L2g0PgotCi08cD4KLVN0YXJ0cyBhIG5ldyBwYXJhZ3JhcGguICBUaGUgZGVzY3JpcHRp
b24gaXMgYW4gPGVtPmRlZi1pbnN0YW50aWF0ZWQgYmxvY2s8L2VtPiwKLWNvbnNpc3Rpbmcgb2Yg
dGhlCi1yZW1haW5kZXIgb2YgdGhlIHBhcmFncmFwaCwgdG9nZXRoZXIgd2l0aAotZnVydGhlciBw
YXJhZ3JhcGhzIGluIHRoZSBzYW1lIGJsb2NrIGNvbW1lbnQgZWFjaCBvZiB3aGljaCBpcyBhIHBs
YWluCi1wYXJhZ3JhcGgsIGEgcGFyYWdyYXBoIHN0YXJ0ZWQgZHVlIHRvIEhUTUwgbWFya3VwLCBh
IDxjb2RlPlxicmllZjwvY29kZT4KLXBhcmFncmFwaCwgb3IgYQotPGEgaHJlZj0iI2FwaS1mZWF0
dXJlIj48Y29kZT5cYXBpLWZlYXR1cmU8L2NvZGU+PC9hPgotcGFyYWdyYXBoLgotPC9wPgotCi08
aDQgaWQ9ImRldmljZS1jYXAiPlxkZXZpY2UtY2FwPC9oND4KLQotPHA+Ci1TdGFydHMgYSBuZXcg
cGFyYWdyYXBoLgotVGhpcyBjb21tYW5kIGNhbiBhcHBlYXIgb25seSBpbnNpZGUgYW4KLTxhIGhy
ZWY9IiNkZWYtYXBpLWZlYXR1cmUiPmRlZi1hcGktZmVhdHVyZSBibG9jazwvYT4uCi1UaGUgZm9s
bG93aW5nIHdvcmQgaXMgdGhlIG5hbWUgb2YgYSBkZXZpY2UgY2FwYWJpbGl0eQotdXNlZCBieSB0
aGUgQVBJIGZlYXR1cmUgYmVpbmcgZG9jdW1lbnRlZC4KLVRoZSByZW1haW5kZXIgb2YgdGhlIHBh
cmFncmFwaCBpcwotYW55IGRlc2NyaXB0aW9uIHJlcXVpcmVkIG9mIGhvdyAoZWcgaW4gd2hhdCBj
aXJjdW1zdGFuY2UpIHRoZSBkZXZpY2UgY2FwYWJpbGl0eQotaXMgdXNlZC4KLTwvcD4KLQotPGg0
PlxuPC9oND4KLQotPHA+Ci1DcmVhdGVzIGEgbGluZSBicmVhayBpbiB0aGUgb3V0cHV0LgotPC9w
PgotCi08aDQgaWQ9InBhcmFtIj5ccGFyYW08L2g0PgotCi08cD4KLVN0YXJ0cyBhIG5ldyBwYXJh
Z3JhcGguIFRoaXMgdGFrZXMgdGhlIGZvbGxvd2luZyB3b3JkIGFzIHRoZSBuYW1lIG9mCi1hIHBh
cmFtZXRlciAoYXJndW1lbnQpIG9mIHRoZSBlbnRpdHkgYmVpbmcgZG9jdW1lbnRlZCwgdGhlbiBt
YWtlcyB0aGUKLXJlbWFpbmRlciBvZiB0aGUgcGFyYWdyYXBoIHJlZmVyIHRvIHRoYXQgcGFyYW1l
dGVyLgotPC9wPgotCi08aDQ+XHJldHVybjwvaDQ+Ci0KLTxwPgotU3RhcnRzIGEgbmV3IHBhcmFn
cmFwaC4gVGhlIHJlbWFpbmRlciBvZiB0aGUgcGFyYWdyYXBoIGlzIG1hZGUgdG8gcmVmZXIgdG8K
LXRoZSByZXR1cm4gdHlwZSBvZiB0aGUgZW50aXR5IGJlaW5nIGRvY3VtZW50ZWQuCi08L3A+Ci0K
LTxoND5cdGhyb3c8L2g0PgotCi08cD4KLVN0YXJ0cyBhIG5ldyBwYXJhZ3JhcGguIFRoZSBuZXh0
IHdvcmQgaXMgdGFrZW4gdG8gYmUgdGhlIG5hbWUgb2YgYW4KLWV4Y2VwdGlvbiB0aHJvd24gYnkg
dGhlIGVudGl0eSBiZWluZyBkb2N1bWVudGVkLCBhbmQgdGhlIHJlbWFpbmRlciBvZgotdGhlIHBh
cmFncmFwaCBkb2N1bWVudHMgdGhhdCBleGNlcHRpb24gKGluIHRoZSA8Y29kZT5yYWlzZXM8L2Nv
ZGU+IGxpc3Qgb2YKLWFuIDxjb2RlPm9wZXJhdGlvbjwvY29kZT4sIG9yIHRoZSA8Y29kZT5zZXRy
YWlzZXM8L2NvZGU+Ci1jbGF1c2Ugb2YgYW4gPGNvZGU+YXR0cmlidXRlPC9jb2RlPikuCi08L3A+
Ci0KLTxoND5cdmVyc2lvbjwvaDQ+Ci0KLTxwPgotU3RhcnRzIGEgbmV3IHBhcmFncmFwaC4gVGhl
IHJlbWFpbmRlciBvZiB0aGUgcGFyYWdyYXBoIGNvbnRhaW5zCi12ZXJzaW9uIG51bWJlciBpbmZv
cm1hdGlvbi4KLTwvcD4KLQotPGgzPkVzY2FwZSBzZXF1ZW5jZXM8L2gzPgotCi08cD4KLVRoZSBm
b2xsb3dpbmcgZXNjYXBlIHNlcXVlbmNlcyBhcmUgcmVjb2duaXplZCBpbiBhIGNvbW1lbnQgYmxv
Y2s6Ci08L3A+Ci0KLTx0YWJsZT4KLTx0cj4KLTx0aD5lc2NhcGUgc2VxdWVuY2UKLTx0aD5yZXN1
bHQKLTx0cj4KLTx0ZD48Y29kZT5cXDwvY29kZT4KLTx0ZD48Y29kZT5cPC9jb2RlPgotPHRyPgot
PHRkPjxjb2RlPlwmYW1wOzwvY29kZT4KLTx0ZD48Y29kZT4mYW1wOzwvY29kZT4gKGVzY2FwZWQg
dG8gPGNvZGU+JmFtcDthbXA7PC9jb2RlPiBpbiBvdXRwdXQgWE1MKQotPHRyPgotPHRkPjxjb2Rl
PlwkPC9jb2RlPgotPHRkPjxjb2RlPiQ8L2NvZGU+Ci08dHI+Ci08dGQ+PGNvZGU+XCM8L2NvZGU+
Ci08dGQ+PGNvZGU+IzwvY29kZT4KLTx0cj4KLTx0ZD48Y29kZT5cJmx0OzwvY29kZT4KLTx0ZD48
Y29kZT4mbHQ7PC9jb2RlPiAoZXNjYXBlZCB0byA8Y29kZT4mYW1wO2x0OzwvY29kZT4gaW4gb3V0
cHV0IFhNTCkKLTx0cj4KLTx0ZD48Y29kZT5cPjwvY29kZT4KLTx0ZD48Y29kZT4+PC9jb2RlPgot
PHRyPgotPHRkPjxjb2RlPlwlPC9jb2RlPgotPHRkPjxjb2RlPiU8L2NvZGU+Ci08L3RhYmxlPgot
Ci08cD4KLVNvbWUgb2YgdGhlc2UgZXNjYXBlIHNlcXVlbmNlcyBhcmUgdXNlZCB0byBhdm9pZCBE
b3h5Z2VuIGZlYXR1cmVzIHRoYXQKLXdpZGxwcm9jIGRvZXMgbm90IGN1cnJlbnRseSBpbXBsZW1l
bnQuIEluIHBhcnRpY3VsYXIsCi13aWRscHJvYyBpbnNpc3RzIG9uIGEgPGNvZGU+JDwvY29kZT4g
YmVpbmcgZXNjYXBlZCwgdG8KLWFsbG93IGZvciBwb3NzaWJsZSBmdXR1cmUgZnVuY3Rpb25hbGl0
eS4KLTwvcD4KLQotPGgzIGlkPSJodG1sIj5IVE1MIGluIGNvbW1lbnRzPC9oMz4KLQotPHA+Ci13
aWRscHJvYyBhY2NlcHRzIGEgc21hbGwgc3Vic2V0IG9mIEhUTUwgZWxlbWVudHMuCi08L3A+Ci0K
LTxwPgotQW4gSFRNTCBibG9jayBlbGVtZW50IGlzIGEgcGFyYWdyYXBoLgotQSBibGFuayBsaW5l
IChvdGhlciB0aGFuIGluIGEKLTxhIGhyZWY9IiNjb2RlIj48Y29kZT5cY29kZTwvY29kZT48L2E+
IGJsb2NrKQotaW1wbGljaXRseSBjbG9zZXMgYW55IG9wZW4gSFRNTCBlbGVtZW50cywgdGh1cyBl
bmRpbmcgdGhlIHBhcmFncmFwaC4KLTwvcD4KLQotPHA+Ci1UaGUgZm9sbG93aW5nIEhUTUwgYmxv
Y2sgZWxlbWVudHMgYXJlIGFjY2VwdGVkOgotPGNvZGU+ZGw8L2NvZGU+Ci08Y29kZT5vbDwvY29k
ZT4KLTxjb2RlPnA8L2NvZGU+Ci08Y29kZT50YWJsZTwvY29kZT4KLTxjb2RlPnVsPC9jb2RlPgot
PC9wPgotCi08cD4KLVRoZSBmb2xsb3dpbmcgSFRNTCBpbmxpbmUgZWxlbWVudHMgYXJlIGFjY2Vw
dGVkOgotPGNvZGU+YTwvY29kZT4KLTxjb2RlPmltZzwvY29kZT4KLTxjb2RlPmI8L2NvZGU+Ci08
Y29kZT5icjwvY29kZT4KLTxjb2RlPmVtPC9jb2RlPgotPC9wPgotCi08cD4KLVRoZSBmb2xsb3dp
bmcgSFRNTCBlbGVtZW50cyBhcmUgYWNjZXB0ZWQgd2hlcmUgdmFsaWQgaW5zaWRlIG9uZSBvZiB0
aGUKLW90aGVyIGVsZW1lbnRzOgotPGNvZGU+ZGQ8L2NvZGU+Ci08Y29kZT5kdDwvY29kZT4KLTxj
b2RlPmxpPC9jb2RlPgotPGNvZGU+dGQ8L2NvZGU+Ci08Y29kZT50aDwvY29kZT4KLTxjb2RlPnRy
PC9jb2RlPgotPC9wPgotCi0KLTxoMj5PdXRwdXQgZm9ybWF0PC9oMj4KLQotPHA+Ci1UaGUgb3V0
cHV0IG9mIHdpZGxwcm9jIGlzIGFuIFhNTCByZXByZXNlbnRhdGlvbiBvZiB0aGUKLTxhIGhyZWY9
IiN3ZWJpZGwiPldlYiBJREw8L2E+LAotd2l0aCBhZGRlZCBYTUwgZWxlbWVudHMgcmVwcmVzZW50
aW5nIHRoZQotPGEgaHJlZj0iI2RveHlnZW4iPkRveHlnZW48L2E+LWxpa2UgY29tbWVudHMuCi08
L3A+Ci0KLTxoMz5Bbm5vdGF0ZWQgZG9jdW1lbnQgdHlwZSBkZWNsYXJhdGlvbjwvaDM+Ci0KLTxw
cmUgY2xhc3M9ImR0ZCI+Ci0mbHQ7IS0tIEF1dG9nZW5lcmF0ZWQgZnJvbSB3aWRscHJvYy5odG1s
IDogZG8gbm90IGVkaXQuIC0tPgotPC9wcmU+Ci0KLTxoND5FbnRpdGllcyB1c2VkIGVsc2V3aGVy
ZTwvaDQ+Ci0KLTxwcmUgY2xhc3M9ImR0ZCI+Ci0mbHQ7IUVOVElUWSAlIGJsb2NrICdkbCB8IHAg
fCB0YWJsZSB8IHVsJyA+Ci0mbHQ7IUVOVElUWSAlIEJsb2NrICcoJWJsb2NrOykqJyA+Ci0mbHQ7
IUVOVElUWSAlIGlubGluZSAnYSB8IGIgfCBiciB8IGVtIHwgaW1nJyA+Ci0mbHQ7IUVOVElUWSAl
IElubGluZSAnKCNQQ0RBVEEgfCAlaW5saW5lOykqJyA+Ci0mbHQ7IUVOVElUWSAlIEZsb3cgJygj
UENEQVRBIHwgJWlubGluZTsgfCAlYmxvY2s7KSonID4KLQotJmx0OyFFTEVNRU5UIHdlYmlkbCAo
I1BDREFUQSB8IHJlZikqID4KLTwvcHJlPgotCi08cD4KLVRoZSA8Y29kZT4mbHQ7d2ViaWRsPjwv
Y29kZT4gZWxlbWVudCBjb250YWlucyB0aGUgbGl0ZXJhbCB0ZXh0IG9mIHRoZQotb3JpZ2luYWwg
V2ViIElETCB0aGF0IHRoZSBwYXJlbnQKLWVsZW1lbnQgd2FzIHBhcnNlZCBmcm9tLCBtaW51cyB0
aGUgY29tbWVudHMsIHdpdGggZWFjaCByZWZlcmVuY2UgdG8KLWFuIGludGVyZmFjZSBuYW1lIAot
ZW5jbG9zZWQgaW4gYSA8Y29kZT4mbHQ7cmVmPjwvY29kZT4uLjxjb2RlPiZsdDsvcmVmPjwvY29k
ZT4uCi08L3A+Ci0KLTxoND5EZWZpbml0aW9uczwvaDQ+Ci0KLTxwPgotPGVtPkRlZmluaXRpb25z
PC9lbT4gaXMgdGhlIHJvb3QgZWxlbWVudCBvZiB0aGUgWE1MIGRvY3VtZW50LgotPC9wPgotCi08
cD4KLVRoZSA8ZW0+RXh0ZW5kZWRBdHRyaWJ1dGVMaXN0PC9lbT4gc3BlY2lmaWVzIGFueSBleHRl
bmRlZCBhdHRyaWJ1dGVzCi1mb3IgdGhlICA8ZW0+SW50ZXJmYWNlPC9lbT4sIDxlbT5EaWN0aW9u
YXJ5PC9lbT4sIDxlbT5FeGNlcHRpb248L2VtPiwKLTxlbT5UeXBlZGVmPC9lbT4sIDxlbT5WYWx1
ZXR5cGU8L2VtPiBvciA8ZW0+Q29uc3Q8L2VtPiBpbiB0aGUKLTxlbT5EZWZpbml0aW9uPC9lbT4u
Ci08L3A+Ci0KLTxwcmUgY2xhc3M9ImR0ZCI+Ci0mbHQ7IUVMRU1FTlQgRGVmaW5pdGlvbnMgKCB3
ZWJpZGwsIGRlc2NyaXB0aXZlPywgKEludGVyZmFjZSB8IERpY3Rpb25hcnkgfCBDYWxsYmFjawot
ICAgIHwgRW51bSB8IEV4Y2VwdGlvbiB8IFR5cGVkZWYgfCBJbXBsZW1lbnRzKSopID4KLTwvcHJl
PgotCi08aDQ+SW50ZXJmYWNlPC9oND4KLQotPHA+Ci1BbiA8ZW0+SW50ZXJmYWNlPC9lbT4gcmVw
cmVzZW50cyBhbiBpbnRlcmZhY2UuIFRoZSA8ZW0+bmFtZTwvZW0+Ci1hdHRyaWJ1dGUgc3BlY2lm
aWVzIHRoZSBuYW1lIG9mIHRoZSBpbnRlcmZhY2UuIFRoZSA8ZW0+ZGVzY3JpcHRpdmU8L2VtPiBl
bGVtZW50Ci1wcm92aWRlcyBpdHMgZG9jdW1lbnRhdGlvbiBpZiBhbnkuCi1UaGUgPGVtPmlkPC9l
bT4gYXR0cmlidXRlIHNwZWNpZmllcyB0aGUgYWJzb2x1dGUgc2NvcGVkIG5hbWUgb2YgdGhlIGlu
dGVyZmFjZS4KLTwvcD4KLQotPHA+VGhlIDxlbT5wYXJ0aWFsPC9lbT4gYXR0cmlidXRlIGluZGlj
YXRlcyB0aGF0IHRoZSBkZWZpbml0aW9uIG9mIHRoZSBpbnRlcmZhY2UgY29tcGxlbWVudHMgYW4g
ZXhpc3RpbmcgZGVmaW5pdGlvbi4gVGhlIDxlbT5jYWxsYmFjazwvZW0+IGF0dHJpYnV0ZSBzcGVj
aWZpY2llcyB0aGF0IGEgZ2l2ZW4gaW50ZXJmYWNlIGlzIGEgY2FsbGJhY2sgaW50ZXJmYWNlLjwv
cD4KLQotPHA+Ci1UaGUgPGVtPkludGVyZmFjZUluaGVyaXRhbmNlPC9lbT4gZWxlbWVudCBpbmRp
Y2F0ZXMgdGhhdCB0aGUgaW50ZXJmYWNlCi1pbmhlcml0cyBmcm9tIG90aGVyIGludGVyZmFjZShz
KS4gRWFjaCA8ZW0+TmFtZTwvZW0+IGluIHRoZQotPGVtPkludGVyZmFjZUluaGVyaXRhbmNlPC9l
bT4gaGFzIGEgPGVtPm5hbWU8L2VtPiBhdHRyaWJ1dGUgZ2l2aW5nIHRoZQotc2NvcGVkIG5hbWUg
b2YgdGhlIGludGVyZmFjZSBiZWluZyBpbmhlcml0ZWQgZnJvbS4KLTwvcD4KLQotPHByZSBjbGFz
cz0iZHRkIj4KLSZsdDshRUxFTUVOVCBJbnRlcmZhY2UgKHdlYmlkbCwgZGVzY3JpcHRpdmU/LCBF
eHRlbmRlZEF0dHJpYnV0ZUxpc3Q/LAotICAgICAgICBJbnRlcmZhY2VJbmhlcml0YW5jZT8sIChD
b25zdCB8IEF0dHJpYnV0ZSB8IE9wZXJhdGlvbiB8IFN0cmluZ2lmaWVyKiB8IFNlcmlhbGl6ZXIq
IHwgSXRlcmF0b3IgfCBJdGVyYXRvck9iamVjdCkqICkgPgotJmx0OyFBVFRMSVNUIEludGVyZmFj
ZSBuYW1lIENEQVRBICNSRVFVSVJFRAotICAgICAgICAgICAgICAgICAgICBwYXJ0aWFsIChwYXJ0
aWFsKSAjSU1QTElFRAotICAgICAgICAgICAgICAgICAgICBjYWxsYmFjayAoY2FsbGJhY2spICNJ
TVBMSUVECi0gICAgICAgICAgICAgICAgICAgIGlkIENEQVRBICNSRVFVSVJFRCA+Ci0KLSZsdDsh
RUxFTUVOVCBJbnRlcmZhY2VJbmhlcml0YW5jZSAoTmFtZSspID4KLQotJmx0OyFFTEVNRU5UIE5h
bWUgRU1QVFkgPgotJmx0OyFBVFRMSVNUIE5hbWUgbmFtZSBDREFUQSAjUkVRVUlSRUQgPgotPC9w
cmU+Ci0KLTxoND5EaWN0aW9uYXJ5PC9oND4KLQotPHA+Ci1BIDxlbT5EaWN0aW9uYXJ5PC9lbT4g
cmVwcmVzZW50cyBhIGRpY3Rpb25hcnkuIFRoZSA8ZW0+bmFtZTwvZW0+Ci1hdHRyaWJ1dGUgc3Bl
Y2lmaWVzIHRoZSBuYW1lIG9mIHRoZSBkaWN0aW9uYXJ5LiBUaGUgPGVtPmRlc2NyaXB0aXZlPC9l
bT4gZWxlbWVudAotcHJvdmlkZXMgaXRzIGRvY3VtZW50YXRpb24gaWYgYW55LgotVGhlIDxlbT5p
ZDwvZW0+IGF0dHJpYnV0ZSBzcGVjaWZpZXMgdGhlIGFic29sdXRlIHNjb3BlZCBuYW1lIG9mIHRo
ZSBkaWN0aW9uYXJ5LgotPC9wPgotCi08cD5UaGUgPGVtPnBhcnRpYWw8L2VtPiBhdHRyaWJ1dGUg
aW5kaWNhdGVzIHRoYXQgdGhlIGRlZmluaXRpb24gb2YgdGhlIGludGVyZmFjZSBjb21wbGVtZW50
cyBhbiBleGlzdGluZyBkZWZpbml0aW9uLjwvcD4KLQotPHA+Ci1UaGUgPGVtPkRpY3Rpb25hcnlJ
bmhlcml0YW5jZTwvZW0+IGVsZW1lbnQgaW5kaWNhdGVzIHRoYXQgdGhlIGRpY3Rpb25hcnkKLWlu
aGVyaXRzIGZyb20gb3RoZXIgZGljdGlvbmFyeShzKS4gRWFjaCA8ZW0+TmFtZTwvZW0+IGluIHRo
ZQotPGVtPkRpY3Rpb25hcnlJbmhlcml0YW5jZTwvZW0+IGhhcyBhIDxlbT5uYW1lPC9lbT4gYXR0
cmlidXRlIGdpdmluZyB0aGUKLXNjb3BlZCBuYW1lIG9mIHRoZSBkaWN0aW9uYXJ5IGJlaW5nIGlu
aGVyaXRlZCBmcm9tLgotPC9wPgotCi0KLTxwcmUgY2xhc3M9ImR0ZCI+Ci0mbHQ7IUVMRU1FTlQg
RGljdGlvbmFyeSAod2ViaWRsLCBkZXNjcmlwdGl2ZT8sIERpY3Rpb25hcnlJbmhlcml0YW5jZT8s
IERpY3Rpb25hcnlNZW1iZXIqICkgPgotJmx0OyFBVFRMSVNUIERpY3Rpb25hcnkgbmFtZSBDREFU
QSAjUkVRVUlSRUQKLSAgICAgICAgICAgICAgICAgICAgcGFydGlhbCAocGFydGlhbCkgI0lNUExJ
RUQKLSAgICAgICAgICAgICAgICAgICAgaWQgQ0RBVEEgI1JFUVVJUkVEID4KLQotJmx0OyFFTEVN
RU5UIERpY3Rpb25hcnlJbmhlcml0YW5jZSAoTmFtZSspID4KLTwvcHJlPgotCi08aDQ+Q2FsbGJh
Y2s8L2g0PgotCi08cD4KLUEgPGVtPkNhbGxiYWNrPC9lbT4gcmVwcmVzZW50cyBhIGNhbGxiYWNr
IHR5cGUuIFRoZSA8ZW0+bmFtZTwvZW0+Ci1hdHRyaWJ1dGUgc3BlY2lmaWVzIHRoZSBuYW1lIG9m
IHRoZSBkaWN0aW9uYXJ5LiBUaGUgPGVtPmRlc2NyaXB0aXZlPC9lbT4gZWxlbWVudAotcHJvdmlk
ZXMgaXRzIGRvY3VtZW50YXRpb24gaWYgYW55LjwvcD4KLQotPHA+VGhlIDxlbT5UeXBlPC9lbT4g
ZWxlbWVudCBzcGVjaWZpZXMgaXRzIHJldHVybiB0eXBlLjwvcD4KLQotPHA+Ci1BbiA8ZW0+QXJn
dW1lbnQ8L2VtPiBpcyBhbiBhcmd1bWVudCB0byBhbiBvcGVyYXRpb24uCi1UaGUgPGVtPlR5cGU8
L2VtPiBlbGVtZW50IHNwZWNpZmllcyBpdHMgdHlwZS4gVGhlIDxlbT5uYW1lPC9lbT4KLWF0dHJp
YnV0ZSBzcGVjaWZpZXMgaXRzIG5hbWUgaWYgaXQgaGFzIG9uZS4KLTwvcD4KLQotPHByZSBjbGFz
cz0iZHRkIj4KLSZsdDshRUxFTUVOVCBDYWxsYmFjayAod2ViaWRsLCBkZXNjcmlwdGl2ZT8sIFR5
cGUsIEFyZ3VtZW50TGlzdD8gKSA+Ci0mbHQ7IUFUVExJU1QgQ2FsbGJhY2sgbmFtZSBDREFUQSAj
UkVRVUlSRUQKLSAgICAgICAgICAgICAgICAgICAgICBpZCBDREFUQSAjUkVRVUlSRUQ+Ci08L3By
ZT4KLQotCi08aDQ+RW51bTwvaDQ+Ci0KLTxwPgotQW4gPGVtPkVudW08L2VtPiByZXByZXNlbnRz
IGFuIGVudW1lcmF0aW9uLiBUaGUgPGVtPm5hbWU8L2VtPgotYXR0cmlidXRlIHNwZWNpZmllcyB0
aGUgbmFtZSBvZiB0aGUgZW51bWVyYXRpb24uIFRoZSA8ZW0+ZGVzY3JpcHRpdmU8L2VtPiBlbGVt
ZW50Ci1wcm92aWRlcyBpdHMgZG9jdW1lbnRhdGlvbiBpZiBhbnkuCi08L3A+Ci0KLTxwPgotVGhl
IDxlbT5FbnVtVmFsdWU8L2VtPiBlbGVtZW50IGluZGljYXRlcyB0aGUgdmFsdWVzIGRlZmluZWQg
Zm9yIHRoYXQgZW51bWVyYXRpb24gaW4gaXRzIDxlbT5zdHJpbmd2YWx1ZTwvZW0+IGF0dHJpYnV0
ZS4KLTwvcD4KLQotCi08cHJlIGNsYXNzPSJkdGQiPgotJmx0OyFFTEVNRU5UIEVudW0gKHdlYmlk
bCwgZGVzY3JpcHRpdmU/LCBFbnVtVmFsdWUqICkgPgotJmx0OyFBVFRMSVNUIEVudW0gbmFtZSBD
REFUQSAjUkVRVUlSRUQgCi0gICAgICAgICAgICAgICAgICAgIGlkIENEQVRBICNSRVFVSVJFRCA+
Ci0KLSZsdDshRUxFTUVOVCBFbnVtVmFsdWUgKHdlYmlkbCwgZGVzY3JpcHRpdmU/KSA+Ci0mbHQ7
IUFUVExJU1QgRW51bVZhbHVlIHN0cmluZ3ZhbHVlIENEQVRBICNSRVFVSVJFRCA+Ci08L3ByZT4K
LQotCi0KLTxoND5FeGNlcHRpb248L2g0PgotCi08cD4KLUFuIDxlbT5FeGNlcHRpb248L2VtPiBy
ZXByZXNlbnRzIGFuIGV4Y2VwdGlvbi4KLVRoZSA8ZW0+bmFtZTwvZW0+Ci1hdHRyaWJ1dGUgc3Bl
Y2lmaWVzIHRoZSBuYW1lIG9mIHRoZSBleGNlcHRpb24uCi1UaGUgPGVtPmRlc2NyaXB0aXZlPC9l
bT4gZWxlbWVudAotcHJvdmlkZXMgaXRzIGRvY3VtZW50YXRpb24gaWYgYW55LgotVGhlIDxlbT5p
ZDwvZW0+IGF0dHJpYnV0ZSBzcGVjaWZpZXMgdGhlIGFic29sdXRlIHNjb3BlZCBuYW1lIG9mIHRo
ZSBleGNlcHRpb24uCi08L3A+Ci0KLTxwPgotQW4gPGVtPkV4Y2VwdGlvbkZpZWxkPC9lbT4gcmVw
cmVzZW50cyBhIGZpZWxkIGluIGFuIGV4Y2VwdGlvbi4KLVRoZSA8ZW0+bmFtZTwvZW0+Ci1hdHRy
aWJ1dGUgc3BlY2lmaWVzIHRoZSBuYW1lIG9mIHRoZSBmaWVsZC4KLVRoZSA8ZW0+VHlwZTwvZW0+
IGVsZW1lbnQgc3BlY2lmaWVzIGl0cyB0eXBlLgotVGhlIDxlbT5kZXNjcmlwdGl2ZT48L2VtPiBl
bGVtZW50Ci1wcm92aWRlcyBpdHMgZG9jdW1lbnRhdGlvbiBpZiBhbnkuCi1UaGUgPGVtPmlkPC9l
bT4gYXR0cmlidXRlIHNwZWNpZmllcyB0aGUgYWJzb2x1dGUgc2NvcGVkIG5hbWUgb2YgdGhlIGZp
ZWxkLgotPC9wPgotCi08cD4KLVRoZSA8ZW0+RXhjZXB0aW9uSW5oZXJpdGFuY2U8L2VtPiBlbGVt
ZW50IGluZGljYXRlcyB0aGF0IHRoZSBleGNlcHRpb24KLWluaGVyaXRzIGZyb20gYW5vdGhlciBl
eGNlcHRpb24uIFRoZSA8ZW0+TmFtZTwvZW0+IGluIHRoZQotPGVtPkV4Y2VwdGlvbkluaGVyaXRh
bmNlPC9lbT4gaGFzIGEgPGVtPm5hbWU8L2VtPiBhdHRyaWJ1dGUgZ2l2aW5nIHRoZQotc2NvcGVk
IG5hbWUgb2YgdGhlIGV4Y2VwdGlvbiBiZWluZyBpbmhlcml0ZWQgZnJvbS4KLTwvcD4KLQotCi08
cHJlIGNsYXNzPSJkdGQiPgotJmx0OyFFTEVNRU5UIEV4Y2VwdGlvbiAod2ViaWRsLCBkZXNjcmlw
dGl2ZT8sIEV4dGVuZGVkQXR0cmlidXRlTGlzdD8sIEV4Y2VwdGlvbkluaGVyaXRhbmNlPywKLSAg
ICAgICAgKENvbnN0IHwgRXhjZXB0aW9uRmllbGQpKiApID4KLSZsdDshQVRUTElTVCBFeGNlcHRp
b24gbmFtZSBDREFUQSAjUkVRVUlSRUQgCi0gICAgICAgICAgICAgICAgICAgIGlkIENEQVRBICNS
RVFVSVJFRCA+Ci0KLSZsdDshRUxFTUVOVCBFeGNlcHRpb25Jbmhlcml0YW5jZSAoTmFtZSkgPgot
Jmx0OyFFTEVNRU5UIEV4Y2VwdGlvbkZpZWxkICh3ZWJpZGwsIGRlc2NyaXB0aXZlPywgRXh0ZW5k
ZWRBdHRyaWJ1dGVMaXN0PywgKFR5cGUpKSA+Ci0mbHQ7IUFUVExJU1QgRXhjZXB0aW9uRmllbGQg
bmFtZSBDREFUQSAjUkVRVUlSRUQKLSAgICAgICAgICAgICAgICAgICAgICAgICBpZCBDREFUQSAj
UkVRVUlSRUQgPgotPC9wcmU+Ci0KLTxoND5UeXBlZGVmPC9oND4KLQotPHA+Ci1BIDxlbT5UeXBl
ZGVmPC9lbT4gcmVwcmVzZW50cyBhIHR5cGUgZGVmaW5pdGlvbi4KLVRoZSA8ZW0+bmFtZTwvZW0+
Ci1hdHRyaWJ1dGUgc3BlY2lmaWVzIHRoZSBuYW1lIG9mIHRoZSBuZXcgdHlwZS4KLVRoZSA8ZW0+
VHlwZTwvZW0+IGVsZW1lbnQgc3BlY2lmaWVzIGl0IGluIHRlcm1zIG9mIG90aGVyIHR5cGVzLgot
VGhlIDxlbT5kZXNjcmlwdGl2ZT48L2VtPiBlbGVtZW50Ci1wcm92aWRlcyBpdHMgZG9jdW1lbnRh
dGlvbiBpZiBhbnkuCi1UaGUgPGVtPmlkPC9lbT4gYXR0cmlidXRlIHNwZWNpZmllcyB0aGUgYWJz
b2x1dGUgc2NvcGVkIG5hbWUgb2YgdGhlIHR5cGVkZWYuCi08L3A+Ci0KLTxwcmUgY2xhc3M9ImR0
ZCI+Ci0mbHQ7IUVMRU1FTlQgVHlwZWRlZiAod2ViaWRsLCBkZXNjcmlwdGl2ZT8sIEV4dGVuZGVk
QXR0cmlidXRlTGlzdD8sIChUeXBlKSkgPgotJmx0OyFBVFRMSVNUIFR5cGVkZWYgbmFtZSBDREFU
QSAjUkVRVUlSRUQKLSAgICAgICAgICAgICAgICAgIGlkIENEQVRBICNSRVFVSVJFRCA+Ci08L3By
ZT4KLQotPGg0PkltcGxlbWVudHM8L2g0PgotCi08cD4KLUFuIDxlbT5JbXBsZW1lbnRzPC9lbT4g
cmVwcmVzZW50cyBXZWIgSURMJ3MKLTxjb2RlPjxpPlNjb3BlZE5hbWU8L2k+IGltcGxlbWVudHMg
PGk+U2NvcGVkTmFtZTwvaT47PC9jb2RlPgotc3ludGF4LiBUaGUgPGVtPm5hbWUxPC9lbT4gYW5k
IDxlbT5uYW1lMjwvZW0+IGF0dHJpYnV0ZXMgZ2l2ZSB0aGUKLWZpcnN0IGFuZCBzZWNvbmQgc2Nv
cGVkIG5hbWVzIHJlc3BlY3RpdmVseS4KLVRoZSA8ZW0+ZGVzY3JpcHRpdmU+PC9lbT4gZWxlbWVu
dAotcHJvdmlkZXMgdGhlIDxlbT5JbXBsZW1lbnRzPC9lbT4ncyBkb2N1bWVudGF0aW9uIGlmIGFu
eS4KLTwvcD4KLQotPHByZSBjbGFzcz0iZHRkIj4KLSZsdDshRUxFTUVOVCBJbXBsZW1lbnRzICh3
ZWJpZGwsIGRlc2NyaXB0aXZlPywgRXh0ZW5kZWRBdHRyaWJ1dGVMaXN0PykgPgotJmx0OyFBVFRM
SVNUIEltcGxlbWVudHMgbmFtZTEgQ0RBVEEgI1JFUVVJUkVECi0gICAgICAgICAgICAgICAgICAg
ICBuYW1lMiBDREFUQSAjUkVRVUlSRUQgPgotPC9wcmU+Ci0KLTxoND5Db25zdDwvaDQ+Ci0KLTxw
PgotPGVtPkNvbnN0PC9lbT4gcmVwcmVzZW50cyBXZWIgSURMJ3MKLTxjb2RlPmNvbnN0IDxpPlR5
cGU8L2k+IDxpPmlkZW50aWZpZXI8L2k+ID0gPGk+Q29uc3RFeHByPC9pPjs8L2NvZGU+Ci1zeW50
YXguCi1UaGUgPGVtPlR5cGU8L2VtPiBzcGVjaWZpZXMgdGhlIGNvbnN0YW50J3MgdHlwZSwgdGhl
Ci08ZW0+bmFtZTwvZW0+IGF0dHJpYnV0ZSBzcGVjaWZpZXMgdGhlIGNvbnN0YW50J3MgbmFtZSwg
YW5kIHRoZQotPGVtPnZhbHVlPC9lbT4gYXR0cmlidXRlIHNwZWNpZmllcyBpdHMgdmFsdWUuCi1U
aGUgPGVtPmRlc2NyaXB0aXZlPjwvZW0+IGVsZW1lbnQKLXByb3ZpZGVzIHRoZSA8ZW0+Q29uc3Q8
L2VtPidzIGRvY3VtZW50YXRpb24gaWYgYW55LgotVGhlIDxlbT5pZDwvZW0+IGF0dHJpYnV0ZSBz
cGVjaWZpZXMgdGhlIGFic29sdXRlIHNjb3BlZCBuYW1lIG9mIHRoZSBjb25zdC4KLTwvcD4KLQot
PHByZSBjbGFzcz0iZHRkIj4KLSZsdDshRUxFTUVOVCBDb25zdCAod2ViaWRsLCBkZXNjcmlwdGl2
ZT8sIEV4dGVuZGVkQXR0cmlidXRlTGlzdD8sIFR5cGUpID4KLSZsdDshQVRUTElTVCBDb25zdCBu
YW1lIENEQVRBICNSRVFVSVJFRAotICAgICAgICAgICAgICAgIHZhbHVlIENEQVRBICNJTVBMSUVE
Ci0gICAgICAgICAgICAgICAgaWQgQ0RBVEEgI1JFUVVJUkVEID4KLTwvcHJlPgotCi08aDQ+U3Ry
aW5naWZpZXI8L2g0PgotCi08cD4KLUEgPGVtPlN0cmluZ2lmaWVyPC9lbT4gcmVwcmVzZW50cyB0
aGUgV2ViIElETCA8Y29kZT5zdHJpbmdpZmllcjs8L2NvZGU+Ci1zeW50YXggYXMgYW4gaW50ZXJm
YWNlIG1lbWJlci4KLVRoZSA8ZW0+ZGVzY3JpcHRpdmU+PC9lbT4gZWxlbWVudAotcHJvdmlkZXMg
dGhlIDxlbT5TdHJpbmdpZmllcjwvZW0+J3MgZG9jdW1lbnRhdGlvbiBpZiBhbnkuCi08L3A+Ci0K
LTxwcmUgY2xhc3M9ImR0ZCI+Ci0mbHQ7IUVMRU1FTlQgU3RyaW5naWZpZXIgKHdlYmlkbCwgZGVz
Y3JpcHRpdmU/LCBFeHRlbmRlZEF0dHJpYnV0ZUxpc3Q/KSA+Ci08L3ByZT4KLQotPGg0PkF0dHJp
YnV0ZTwvaDQ+Ci0KLTxwPgotQW4gPGVtPkF0dHJpYnV0ZTwvZW0+IHJlcHJlc2VudHMgYW4gYXR0
cmlidXRlIGFzIGFuIGludGVyZmFjZSBtZW1iZXIuCi1UaGUgPGVtPlR5cGU8L2VtPiBlbGVtZW50
IHNwZWNpZmllcyBpdHMgdHlwZS4gVGhlIDxlbT5uYW1lPC9lbT4KLWF0dHJpYnV0ZSBzcGVjaWZp
ZXMgaXRzIG5hbWUuIEVhY2ggb2YgdGhlIDxlbT5zdHJpbmdpZmllcjwvZW0+LCA8ZW0+c3RhdGlj
PC9lbT4gYW5kCi08ZW0+cmVhZG9ubHk8L2VtPiBhdHRyaWJ1dGVzIGlzIHNldCB0byBhIHZhbHVl
IHRoZSBzYW1lIGFzIHRoZSBhdHRyaWJ1dGUKLW5hbWUgd2hlbiB0aGUgY29ycmVzcG9uZGluZyBr
ZXl3b3JkIGFwcGVhcnMgaW4gdGhlIFdlYiBJREwgaW5wdXQuIFRoZSA8ZW0+aW5oZXJpdDwvZW0+
IGF0dHJpYnV0ZSBpcyBzZXQgdG8gPGVtPmluaGVyaXQ8L2VtPiB3aGVuIHRoZSBhdHRyaWJ1dGUg
aW5oZXJpdHMgaXRzIGdldHRlci4KLTwvcD4KLQotCi08cD4KLVRoZSA8ZW0+ZGVzY3JpcHRpdmU+
PC9lbT4gZWxlbWVudCBwcm92aWRlcyB0aGUgYXR0cmlidXRlJ3MgZG9jdW1lbnRhdGlvbgotaWYg
YW55LgotVGhlIDxlbT5pZDwvZW0+IGF0dHJpYnV0ZSBzcGVjaWZpZXMgdGhlIGFic29sdXRlIHNj
b3BlZCBuYW1lIG9mIHRoZSBhdHRyaWJ1dGUuCi08L3A+Ci0KLTxwcmUgY2xhc3M9ImR0ZCI+Ci0m
bHQ7IUVMRU1FTlQgQXR0cmlidXRlICh3ZWJpZGwsIGRlc2NyaXB0aXZlPywgRXh0ZW5kZWRBdHRy
aWJ1dGVMaXN0PywgKFR5cGUpKSA+Ci0mbHQ7IUFUVExJU1QgQXR0cmlidXRlIHN0cmluZ2lmaWVy
IChzdHJpbmdpZmllcikgI0lNUExJRUQKLSAgICAgICAgICAgICAgICAgICAgcmVhZG9ubHkgKHJl
YWRvbmx5KSAjSU1QTElFRAotICAgICAgICAgICAgICAgICAgICBpbmhlcml0IChpbmhlcml0KSAj
SU1QTElFRAotICAgICAgICAgICAgICAgICAgICBzdGF0aWMgKHN0YXRpYykgI0lNUExJRUQKLSAg
ICAgICAgICAgICAgICAgICAgbmFtZSBDREFUQSAjUkVRVUlSRUQKLSAgICAgICAgICAgICAgICAg
ICAgaWQgQ0RBVEEgI1JFUVVJUkVEID4KLQotPC9wcmU+Ci0KLQotPGg0Pk9wZXJhdGlvbjwvaDQ+
Ci0KLTxwPgotQW4gPGVtPk9wZXJhdGlvbjwvZW0+IHJlcHJlc2VudHMgYSBtZXRob2Qgb24gaW50
ZXJmYWNlLgotVGhlIDxlbT5UeXBlPC9lbT4gZWxlbWVudCBzcGVjaWZpZXMgaXRzIHJldHVybiB0
eXBlLiBUaGUgPGVtPm5hbWU8L2VtPgotYXR0cmlidXRlIHNwZWNpZmllcyBpdHMgbmFtZS4KLTwv
cD4KLQotPHA+Ci1FYWNoIG9mIHRoZSA8ZW0+c3RyaW5naWZpZXI8L2VtPiwgPGVtPnN0YXRpYzwv
ZW0+LCA8ZW0+Z2V0dGVyPC9lbT4sCi08ZW0+c2V0dGVyPC9lbT4sIDxlbT5jcmVhdG9yPC9lbT4s
IDxlbT5kZWxldGVyPC9lbT4gYW5kIDxlbT5sZWdhY3ljYWxsZXI8L2VtPiwgPGVtPnNlcmlhbGl6
ZXI8L2VtPgotYXR0cmlidXRlcyBpcyBzZXQgdG8gYSB2YWx1ZSB0aGUgc2FtZSBhcyB0aGUgYXR0
cmlidXRlCi1uYW1lIHdoZW4gdGhlIGNvcnJlc3BvbmRpbmcga2V5d29yZCBhcHBlYXJzIGluIHRo
ZSBXZWIgSURMIGlucHV0LgotPC9wPgotCi0KLTxwPgotVGhlIDxlbT5kZXNjcmlwdGl2ZT48L2Vt
PiBlbGVtZW50IHByb3ZpZGVzIHRoZSBhdHRyaWJ1dGUncyBkb2N1bWVudGF0aW9uCi1pZiBhbnku
Ci1UaGUgPGVtPmlkPC9lbT4gYXR0cmlidXRlIHNwZWNpZmllcyB0aGUgYWJzb2x1dGUgc2NvcGVk
IG5hbWUgb2YgdGhlIG9wZXJhdGlvbiBpZiBpdCBoYXMgb25lLgotPC9wPgotCi08cD4KLUFuIDxl
bT5Bcmd1bWVudDwvZW0+IGlzIGFuIGFyZ3VtZW50IHRvIGFuIG9wZXJhdGlvbi4KLVRoZSA8ZW0+
VHlwZTwvZW0+IGVsZW1lbnQgc3BlY2lmaWVzIGl0cyB0eXBlLiBUaGUgPGVtPm5hbWU8L2VtPgot
YXR0cmlidXRlIHNwZWNpZmllcyBpdHMgbmFtZSBpZiBpdCBoYXMgb25lLgotPC9wPgotCi08cD4K
LUVhY2ggb2YgdGhlIDxlbT5vcHRpb25hbDwvZW0+IGFuZCA8ZW0+ZWxsaXBzaXM8L2VtPgotYXR0
cmlidXRlcyBpcyBzZXQgdG8gYSB2YWx1ZSB0aGUgc2FtZSBhcyB0aGUgYXR0cmlidXRlCi1uYW1l
IHdoZW4gdGhlIGNvcnJlc3BvbmRpbmcgc3ludGF4IGFwcGVhcnMgaW4gdGhlIFdlYiBJREwgaW5w
dXQuCi08L3A+Ci0KLTxwPlRoZQotPGVtPnZhbHVlPC9lbT4gYXR0cmlidXRlIHVzZWQgb24gb3B0
aW9uYWwgYXJndW1lbnRzIHNwZWNpZmllcyBkZWZhdWx0IHZhbHVlIGZvciBub24tc3RyaW5nIHZh
bHVlcywgYW5kIDxlbT5zdHJpbmd2YWx1ZTwvZW0+IGZvciBzdHJpbmcgdmFsdWVzLjwvcD4KLQot
Ci08cHJlIGNsYXNzPSJkdGQiPgotJmx0OyFFTEVNRU5UIE9wZXJhdGlvbiAod2ViaWRsLCBkZXNj
cmlwdGl2ZT8sIEV4dGVuZGVkQXR0cmlidXRlTGlzdD8sCi0gICAgICAgIChUeXBlKSwgQXJndW1l
bnRMaXN0KSA+Ci0mbHQ7IUFUVExJU1QgT3BlcmF0aW9uIHN0cmluZ2lmaWVyIChzdHJpbmdpZmll
cikgI0lNUExJRUQKLSAgICAgICAgICAgICAgICAgICAgc3RhdGljIChzdGF0aWMpICNJTVBMSUVE
Ci0gICAgICAgICAgICAgICAgICAgIGdldHRlciAoZ2V0dGVyKSAjSU1QTElFRAotICAgICAgICAg
ICAgICAgICAgICBzZXR0ZXIgKHNldHRlcikgI0lNUExJRUQKLSAgICAgICAgICAgICAgICAgICAg
Y3JlYXRvciAoY3JlYXRvcikgI0lNUExJRUQKLSAgICAgICAgICAgICAgICAgICAgZGVsZXRlciAo
ZGVsZXRlcikgI0lNUExJRUQKLSAgICAgICAgICAgICAgICAgICAgc2VyaWFsaXplciAoc2VyaWFs
aXplcikgI0lNUExJRUQKLSAgICAgICAgICAgICAgICAgICAgbGVnYWN5Y2FsbGVyIChsZWdhY3lj
YWxsZXIpICNJTVBMSUVECi0gICAgICAgICAgICAgICAgICAgIG5hbWUgTk1UT0tFTiAjSU1QTElF
RAotICAgICAgICAgICAgICAgICAgICBpZCBOTVRPS0VOICNJTVBMSUVEID4KLQotCi0mbHQ7IUVM
RU1FTlQgQXJndW1lbnRMaXN0IChBcmd1bWVudCopID4KLQotJmx0OyFFTEVNRU5UIEFyZ3VtZW50
IChkZXNjcmlwdGl2ZT8sIEV4dGVuZGVkQXR0cmlidXRlTGlzdD8sIChUeXBlKSkgPgotJmx0OyFB
VFRMSVNUIEFyZ3VtZW50Ci0gICAgICAgICAgICAgICAgICAgb3B0aW9uYWwgKG9wdGlvbmFsKSAj
SU1QTElFRAotICAgICAgICAgICAgICAgICAgIGVsbGlwc2lzIChlbGxpcHNpcykgI0lNUExJRUQK
LSAgICAgICAgICAgICAgICB2YWx1ZSBDREFUQSAjSU1QTElFRAotICAgICAgICAgICAgICAgIHN0
cmluZ3ZhbHVlIENEQVRBICNJTVBMSUVECi0gICAgICAgICAgICAgICAgICAgbmFtZSBOTVRPS0VO
ICNSRVFVSVJFRCA+Ci08L3ByZT4KLQotPGg0PlNlcmlhbGl6ZXI8L2g0PgotPHA+QSA8ZW0+U2Vy
aWFsaXplcjwvZW0+IHJlcHJlc2VudHMgYSBzZXJpYWxpemVyIGZvciBhbiBpbnRlcmZhY2UsIGVp
dGhlciBkZWZpbmVkIGluIHRoZSBwcm9zZSBvciB2aWEgYSBwYXR0ZXJuLjwvcD4KLQotPHA+VGhl
IDxlbT5kZXNjcmlwdGl2ZTwvZW0+IGVsZW1lbnQgcHJvdmlkZXMgdGhlIHNlcmlhbGl6ZXIncyBk
b2N1bWVudGF0aW9uIGlmIGFueS48L3A+Ci0KLQotPHA+VGhlIDxlbT5hdHRyaWJ1dGU8L2VtPiBh
dHRyaWJ1dGUgZGVmaW5lcyB0aGUgYXR0cmlidXRlIHRoYXQgaXMgdXNlZCBmb3Igc2VyaWFsaXph
dGlvbiBpZiBhbnkuPC9wPgotCi08cD5UaGUgb3B0aW9uYWwgPGVtPk1hcDwvZW0+IGFuZCA8ZW0+
TGlzdDwvZW0+IGVsZW1lbnRzIGRlc2NyaWJlIHRoZSBwYXR0ZXJuIChpZiBhbnkpIGZvciB0aGUg
c2VyaWFsaXplci4gVGhleSB0YWtlIDxlbT5QYXR0ZXJuQXR0cmlidXRlPC9lbT4gZWxlbWVudHMg
d2l0aCBhIDxlbT5uYW1lPC9lbT4gYXR0cmlidXRlIHRoYXQgZGVzY3JpYmVzIHRoZSBhdHRyaWJ1
dGVzIHVzZWQgZm9yIHNlcmlhbGl6YXRpb24uPC9wPgotCi08cD48ZW0+TWFwPC9lbT4gZWxlbWVu
dHMgdGFrZSBhIDxlbT5wYXR0ZXJuPC9lbT4gYXR0cmlidXRlIHRoYXQgY2FuIGJlIHNldCB0byBl
aXRoZXIgImdldHRlciIgKGlmIHRoZSBnZXR0ZXIgaXMgdXNlZCBmb3Igc2VyaWFsaXphdGlvbiks
ICJhbGwiIGlmIGFsbCBzZXJpYWxpemFibGUgYXR0cmlidXRlcyBhcmUgdG8gYmUgdXNlZCwgb3Ig
InNlbGVjdGlvbiIgaWYgdGhlIGF0dHJpYnV0ZXMgbmFtZWQgYXMgY2hpbGRyZW4gZWxlbWVudHMg
YXJlIHRvIGJlIHVzZWQuIE9wdGlvbmFsbHksIHRoZXkgdGFrZSBhIDxlbT5pbmhlcml0PC9lbT4g
YXR0cmlidXRlIHNldCB0byAiaW5oZXJpdCIgaWYgdGhlIHNlcmlhbGl6YXRpb24gdGFrZXMgYWxz
byBpbnRvIGFjY291bnQgaW5oZXJpdGVkIGF0dHJpYnV0ZXMuPC9wPgotCi08cD48ZW0+TGlzdDwv
ZW0+IGVsZW1lbnRzIHRha2UgYSA8ZW0+cGF0dGVybjwvZW0+IGF0dHJpYnV0ZSB0aGF0IGNhbiBi
ZSBzZXQgdG8gZWl0aGVyICJnZXR0ZXIiIChpZiB0aGUgZ2V0dGVyIGlzIHVzZWQgZm9yIHNlcmlh
bGl6YXRpb24pLCBvciAic2VsZWN0aW9uIiBpZiB0aGUgYXR0cmlidXRlcyBuYW1lZCBhcyBjaGls
ZHJlbiBlbGVtZW50cyBhcmUgdG8gYmUgdXNlZC48L3A+Ci0KLTxwcmUgY2xhc3M9ImR0ZCI+Ci0m
bHQ7IUVMRU1FTlQgU2VyaWFsaXplciAod2ViaWRsLCBkZXNjcmlwdGl2ZT8sIEV4dGVuZGVkQXR0
cmlidXRlTGlzdD8sIChNYXAgfCBMaXN0KT8pID4KLSZsdDshQVRUTElTVCBTZXJpYWxpemVyIGF0
dHJpYnV0ZSBDREFUQSAjSU1QTElFRCA+Ci0KLSZsdDshRUxFTUVOVCBNYXAgICgoUGF0dGVybkF0
dHJpYnV0ZSopKSA+Ci0KLSZsdDshQVRUTElTVCBNYXAgaW5oZXJpdCAoaW5oZXJpdCkgI0lNUExJ
RUQKLSAgICAgICAgICAgICAgICAgcGF0dGVybiAoZ2V0dGVyfGFsbHxzZWxlY3Rpb24pICNSRVFV
SVJFRD4KLQotJmx0OyFFTEVNRU5UIExpc3QgICgoUGF0dGVybkF0dHJpYnV0ZSopKSA+Ci0KLSZs
dDshQVRUTElTVCBMaXN0IHBhdHRlcm4gKGdldHRlcnxzZWxlY3Rpb24pICNSRVFVSVJFRD4KLQot
Jmx0OyFFTEVNRU5UIFBhdHRlcm5BdHRyaWJ1dGUgRU1QVFk+Ci0mbHQ7IUFUVExJU1QgUGF0dGVy
bkF0dHJpYnV0ZSBuYW1lIENEQVRBICNSRVFVSVJFRD4KLQotPC9wcmU+Ci0KLTxoND5JdGVyYXRv
cjwvaDQ+Ci08cD5BbiA8ZW0+SXRlcmF0b3I8L2VtPiBlbGVtZW50IGRlZmluZXMgIHdoZXRoZXIg
dGhlIGludGVyZmFjZSBoYXMgYSBjdXN0b20gaXRlcmF0b3I7IHRoZSB0eXBlIG9mIHRoZSBpdGVy
YXRlZCBvYmplY3RzIGlzIGRlZmluZWQgaW4gdGhlIDxlbT5UeXBlPC9lbT4gY2hpbGQuIElmIHRo
YXQgaW50ZXJhdG9yIGltcGxlbWVudHMgYSBwYXJ0aWN1bGFyIGludGVyZmFjZSwgdGhlIG5hbWUg
b2YgdGhhdCBpbnRlcmZhY2UgaXMgc2V0IGluIHRoZSA8ZW0+aW50ZXJmYWNlPC9lbT4gYXR0cmli
dXRlLjwvcD4KLTxwcmUgY2xhc3M9ImR0ZCI+Ci0mbHQ7IUVMRU1FTlQgSXRlcmF0b3IgKHdlYmlk
bCwgZGVzY3JpcHRpdmU/LCBFeHRlbmRlZEF0dHJpYnV0ZUxpc3Q/LCBUeXBlKSA+Ci0mbHQ7IUFU
VExJU1QgSXRlcmF0b3IgaW50ZXJmYWNlIENEQVRBICNJTVBMSUVEPgotPC9wcmU+Ci0KLTxoND5J
dGVyYXRvck9iamVjdDwvaDQ+Ci08cD5BbiA8ZW0+SXRlcmF0b3JPYmplY3Q8L2VtPiBlbGVtZW50
IGRlbm90ZXMgdGhhdCB0aGUgaW50ZXJmYWNlIHNlcnZlcyBhcyBhbiBpdGVyYXRvciBvYmplY3Qg
aW50ZXJmYWNlOyB0aGUgdHlwZSBvZiB0aGUgaXRlcmF0ZWQgb2JqZWN0cyBpcyBkZWZpbmVkIGlu
IHRoZSA8ZW0+VHlwZTwvZW0+IGNoaWxkLjwvcD4KLQotPHByZSBjbGFzcz0iZHRkIj4KLSZsdDsh
RUxFTUVOVCBJdGVyYXRvck9iamVjdCAod2ViaWRsLCBkZXNjcmlwdGl2ZT8sIEV4dGVuZGVkQXR0
cmlidXRlTGlzdD8sIFR5cGUpID4KLTwvcHJlPgotCi0KLTxoND5EaWN0aW9uYXJ5TWVtYmVyPC9o
ND4KLQotPHA+Ci1BIDxlbT5EaWN0aW9uYXJ5TWVtYmVyPC9lbT4gcmVwcmVzZW50cyBhIG1lbWJl
ciBvZiBhIGRpY3Rpb25hcnkuCi1UaGUgPGVtPlR5cGU8L2VtPiBlbGVtZW50IHNwZWNpZmllcyBp
dHMgdHlwZS4gVGhlIDxlbT5uYW1lPC9lbT4KLWF0dHJpYnV0ZSBzcGVjaWZpZXMgaXRzIG5hbWUu
IAotPC9wPgotCi08cD4KLVRoZSA8ZW0+ZGVzY3JpcHRpdmU+PC9lbT4gZWxlbWVudCBwcm92aWRl
cyB0aGUgZGljdGlvbmFyeSBtZW1iZXIncyBkb2N1bWVudGF0aW9uCi1pZiBhbnkuCi1UaGUgPGVt
PmlkPC9lbT4gYXR0cmlidXRlIHNwZWNpZmllcyB0aGUgYWJzb2x1dGUgc2NvcGVkIG5hbWUgb2Yg
dGhlIGF0dHJpYnV0ZS4KLTwvcD4KLQotPHA+VGhlCi08ZW0+dmFsdWU8L2VtPiBhdHRyaWJ1dGUg
c3BlY2lmaWVzIGl0cyB2YWx1ZSBmb3Igbm9uLXN0cmluZyB2YWx1ZXMsIGFuZCA8ZW0+c3RyaW5n
dmFsdWU8L2VtPiBmb3Igc3RyaW5nIHZhbHVlcy48L3A+Ci0KLTxwcmUgY2xhc3M9ImR0ZCI+Ci0m
bHQ7IUVMRU1FTlQgRGljdGlvbmFyeU1lbWJlciAod2ViaWRsLCBkZXNjcmlwdGl2ZT8sIEV4dGVu
ZGVkQXR0cmlidXRlTGlzdD8sIFR5cGUpID4KLSZsdDshQVRUTElTVCBEaWN0aW9uYXJ5TWVtYmVy
IG5hbWUgQ0RBVEEgI1JFUVVJUkVECi0gICAgICAgICAgICAgICAgICAgIGlkIENEQVRBICNSRVFV
SVJFRAotICAgICAgICAgICAgICAgIHZhbHVlIENEQVRBICNJTVBMSUVECi0gICAgICAgICAgICAg
ICAgc3RyaW5ndmFsdWUgQ0RBVEEgI0lNUExJRUQgPgotCi08L3ByZT4KLQotCi08aDQ+RXh0ZW5k
ZWQgYXR0cmlidXRlczwvaDQ+Ci0KLTxwPgotQW4gPGVtPkV4dGVuZGVkQXR0cmlidXRlTGlzdDwv
ZW0+IGNvbnRhaW5zIG9uZSBvciBtb3JlCi08ZW0+RXh0ZW5kZWRBdHRyaWJ1dGU8L2VtPiBlbGVt
ZW50LiBFYWNoIDxlbT5FeHRlbmRlZEF0dHJpYnV0ZTwvZW0+Ci1oYXM6Ci08L3A+Ci08dWw+Ci08
bGk+Ci1hIDxlbT5uYW1lPC9lbT4gYXR0cmlidXRlIGdpdmluZyB0aGUgbmFtZSBvZiB0aGUgZXh0
ZW5kZWQgYXR0cmlidXRlOwotPGxpPgotaWYgdGhlIGV4dGVuZGVkIGF0dHJpYnV0ZSBjb250YWlu
cyBhbiA8Y29kZT49PC9jb2RlPiBzaWduIGZvbGxvd2VkIGJ5IGEKLXZhbHVlLCBhIDxlbT52YWx1
ZTwvZW0+IGF0dHJpYnV0ZSBnaXZpbmcgdGhlIHZhbHVlLCB3aGljaCBpcyBhIHNjb3BlZAotbmFt
ZSBvciBhbiBpZGVudGlmaWVyOwotPGxpPgotaWYgdGhlIGV4dGVuZGVkIGF0dHJpYnV0ZSBjb250
YWlucyBwYXJlbnRoZXNlcyAoZWl0aGVyIHdpdGggb3Igd2l0aG91dAotYW4gPGNvZGU+PTwvY29k
ZT4gc2lnbiksIGFuIDxlbT5Bcmd1bWVudExpc3Q8L2VtPiBlbGVtZW50IGdpdmluZyB0aGUKLWNv
bnRlbnRzIG9mIHRoZSBwYXJlbnRoZXNlcy4KLTwvdWw+Ci08cD4KLUlmIHRoZSA8ZW0+dmFsdWU8
L2VtPiBhdHRyaWJ1dGUgYW5kIHRoZSA8ZW0+QXJndW1lbnRMaXN0PC9lbT4gZWxlbWVudCBhcmUK
LWJvdGggcHJlc2VudCwgdGhlbiA8ZW0+dmFsdWU8L2VtPiBtdXN0IGdpdmUgYW4gaWRlbnRpZmll
ciByYXRoZXIgdGhhbgotYSBzY29wZWQgbmFtZS4KLTwvcD4KLQotPHByZSBjbGFzcz0iZHRkIj4K
LSZsdDshRUxFTUVOVCBFeHRlbmRlZEF0dHJpYnV0ZUxpc3QgKEV4dGVuZGVkQXR0cmlidXRlKykg
PgotCi0mbHQ7IUVMRU1FTlQgRXh0ZW5kZWRBdHRyaWJ1dGUgKHdlYmlkbCwgQXJndW1lbnRMaXN0
PykgPgotJmx0OyFBVFRMSVNUIEV4dGVuZGVkQXR0cmlidXRlIG5hbWUgTk1UT0tFTiAjUkVRVUlS
RUQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBDREFUQSAjSU1QTElFRCA+Ci08
L3ByZT4KLQotPGg0PlR5cGU8L2g0PgotCi08cD4KLTxlbT5UeXBlPC9lbT4gcmVwcmVzZW50cyBh
IHR5cGUuIEl0IGhhcyBvbmUgb2YgdGhlc2UgZm9ybXM6Ci08L3A+Ci08dWw+Ci08bGk+Ci1UaGUg
PGNvZGU+YW55PC9jb2RlPiwgPGNvZGU+b2JqZWN0PC9jb2RlPiBhbmQgPGNvZGU+dm9pZDwvY29k
ZT4KLXR5cGVzIGhhdmUgdGhlIGF0dHJpYnV0ZQotPGVtPnR5cGU8L2VtPiBzZXQgdG8gdGhlIHR5
cGUsIGFuZCBubyBvdGhlciBhdHRyaWJ1dGVzIG9yIGVsZW1lbnRzLgotTm90ZSB0aGF0IHRoZSA8
Y29kZT52b2lkPC9jb2RlPiB0eXBlIGFwcGVhcnMgb25seSB3aGVuIHRoZSA8ZW0+VHlwZTwvZW0+
Ci1lbGVtZW50IGlzIGEgY2hpbGQgb2YgPGVtPk9wZXJhdGlvbjwvZW0+LgotPGxpPgotQSB0eXBl
IHRoYXQgaXMgYW4gaW50ZXJmYWNlIGhhcyB0aGUgYXR0cmlidXRlIDxlbT5uYW1lPC9lbT4gc2V0
IHRvIHRoZQotbmFtZSBvZiB0aGF0IGludGVyZmFjZSwgYW5kIG5vIG90aGVyIGF0dHJpYnV0ZXMg
b3IgZWxlbWVudHMuCi08bGk+Ci1Gb3IgdGhlIHByaW1pdGl2ZSB0eXBlcyA8Y29kZT5zaG9ydDwv
Y29kZT4sIDxjb2RlPnVuc2lnbmVkIHNob3J0PC9jb2RlPiwKLTxjb2RlPmxvbmc8L2NvZGU+LCA8
Y29kZT51bnNpZ25lZCBsb25nPC9jb2RlPiwgPGNvZGU+bG9uZyBsb25nPC9jb2RlPiwKLTxjb2Rl
PnVuc2lnbmVkIGxvbmcgbG9uZzwvY29kZT4sIDxjb2RlPmZsb2F0PC9jb2RlPiwgPGNvZGU+ZG91
YmxlPC9jb2RlPiwKLTxjb2RlPmJvb2xlYW48L2NvZGU+LCA8Y29kZT5vY3RldDwvY29kZT4sIDxj
b2RlPmJ5dGU8L2NvZGU+IGFuZCA8Y29kZT5ET01TdHJpbmc8L2NvZGU+LAotdGhlcmUgaXMgYW4g
YXR0cmlidXRlIDxlbT50eXBlPC9lbT4KLXdob3NlIHZhbHVlIGlzIG9uZSBvZiB0aG9zZSBzdHJp
bmdzLCBhbmQgbm8gb3RoZXIgYXR0cmlidXRlcyBvciBlbGVtZW50cy4KLUhvd2V2ZXIsIGlmIHRo
ZSB0eXBlIHdhcyBzcGVjaWZpZWQgaW4gdGhlIFdlYiBJREwgd2l0aCBhIHRyYWlsaW5nIDxjb2Rl
Pj88L2NvZGU+Ci1zaWduLCB0aGVuIHRoZXJlIGlzIGFuIGF0dHJpYnV0ZSA8ZW0+bnVsbGFibGU8
L2VtPiB3aXRoIHRoZSB2YWx1ZQotPGNvZGU+bnVsbGFibGU8L2NvZGU+LgotPC91bD4KLTxwPgot
VGhlIHJlc3RyaWN0aW9ucyBvbiB3aGljaCBjb21iaW5hdGlvbnMgb2YgZWxlbWVudHMgYW5kIGF0
dHJpYnV0ZXMgYXJlCi1wZXJtaXR0ZWQgYXJlIG5vdCBlbmNvZGVkIGJ5IHRoZSBEVEQuCi08L3A+
Ci08cD4KLVRoZSA8ZW0+ZGVzY3JpcHRpdmU8L2VtPiBlbGVtZW50IHByb3ZpZGVzIHRoZSBkb2N1
bWVudGF0aW9uCi1pZiBhbnksIHdoZW4gdGhlIDxlbT5UeXBlPC9lbT4gaXMgYSBjaGlsZCBvZiA8
ZW0+T3BlcmF0aW9uPC9lbT4sIGFuZCB0aHVzCi1yZXByZXNlbnRpbmcgYW4gb3BlcmF0aW9uJ3Mg
cmV0dXJuIHR5cGUuCi08L3A+Ci0KLTxwPlRoZSA8ZW0+RXh0ZW5kZWRBdHRyaWJ1dGVMaXN0PC9l
bT4gZWxlbWVudCBwcm92aWRlcyB0aGUgb3B0aW9uYWwgZXh0ZW5kZWQgYXR0cmlidXRlcyB0aGF0
IGNhbiBiZSBkZWZpbmVkIGZvciBhIHR5cGUgdGhyb3VnaCB0eXBlZGVmLCAmYWdyYXZlOyBsYSA8
Y29kZT50eXBlZGVmIFtDbGFtcF0gb2N0ZXQgVmFsdWU7PC9jb2RlPi48L3A+Ci0KLTwhLS0gY2Fu
J3QgdXNlIGVudW1lcmF0ZWQgdmFsdWVzIGZvciB0aGUgdmFsdWVzIG9mIHR5cGUsIHNpbmNlIERU
RCBkb24ndCBhbGxvdyBlbnVtZXJhdGVkIHZhbHVlcyB0byBoYXZlIHNwYWNlIGluIHRoZW0gKHdo
aWNoIHdvdWxkIGJlIG5lZWRlZCBlLmcuIGZvciAibG9uZyBsb25nIikgLS0+Ci08cHJlIGNsYXNz
PSJkdGQiPgotJmx0OyFFTEVNRU5UIFR5cGUgKGRlc2NyaXB0aXZlPywgRXh0ZW5kZWRBdHRyaWJ1
dGVMaXN0PywgVHlwZSopID4KLSZsdDshQVRUTElTVCBUeXBlIHR5cGUgQ0RBVEEgI0lNUExJRUQK
LSAgICAgICAgICAgICAgIG5hbWUgTk1UT0tFTiAjSU1QTElFRAotICAgICAgICAgICAgICAgbnVs
bGFibGUgKG51bGxhYmxlKSAjSU1QTElFRCA+Ci08L3ByZT4KLQotPGg0PlNlcXVlbmNlPC9oND4K
LQotPHA+Rm9yIGEgc2VxdWVuY2UgdHlwZSwgdGhlIDxlbT5UeXBlPC9lbT4gZWxlbWVudCB3aXRo
IGFuIGF0dHJpYnV0ZSA8ZW0+dHlwZTwvZW0+IHNldCB0byA8ZW0+c2VxdWVuY2U8L2VtPiBjb250
YWlucyBhbiBlbGVtZW50IDxlbT5UeXBlPC9lbT4gZ2l2aW5nIHRoZSBzZXF1ZW5jZSBlbGVtZW50
IHR5cGUsIGFuZCBubyBvdGhlciBhdHRyaWJ1dGVzIG9yIGVsZW1lbnRzLiBJZiB0aGUgc2VxdWVu
Y2UgaXMgc3BlY2lmaWVkIGluIHRoZSBXZWIgSURMIHdpdGggYSB0cmFpbGluZyA8Y29kZT4/PC9j
b2RlPgotc2lnbiwgdGhlbiB0aGVyZSBpcyBhbiBhdHRyaWJ1dGUgPGVtPm51bGxhYmxlPC9lbT4g
d2l0aCB0aGUgdmFsdWUKLTxjb2RlPm51bGxhYmxlPC9jb2RlPi4KLQotCi08aDQ+QXJyYXk8L2g0
PgotCi08cD5Gb3IgYW4gYXJyYXkgdHlwZSwgdGhlIDxlbT5UeXBlPC9lbT4gZWxlbWVudCB3aXRo
IGFuIGF0dHJpYnV0ZSA8ZW0+dHlwZTwvZW0+IHNldCB0byA8ZW0+YXJyYXk8L2VtPiBjb250YWlu
cyBhbiBlbGVtZW50IDxlbT5UeXBlPC9lbT4gZ2l2aW5nIHRoZSBhcnJheSBlbGVtZW50IHR5cGUu
IElmIHRoZSBhcnJheSBpcyBzcGVjaWZpZWQgaW4gdGhlIFdlYiBJREwgd2l0aCBhIHRyYWlsaW5n
IDxjb2RlPj88L2NvZGU+Ci1zaWduLCB0aGVuIHRoZXJlIGlzIGFuIGF0dHJpYnV0ZSA8ZW0+bnVs
bGFibGU8L2VtPiB3aXRoIHRoZSB2YWx1ZQotPGNvZGU+bnVsbGFibGU8L2NvZGU+LgotCi08aDQ+
VW5pb248L2g0PgotCi08cD5Gb3IgYSB1bmlvbiB0eXBlLCB0aGUgPGVtPlR5cGU8L2VtPiBlbGVt
ZW50IHdpdGggYW4gYXR0cmlidXRlIDxlbT50eXBlPC9lbT4gc2V0IHRvIDxlbT51bmlvbjwvZW0+
IGNvbnRhaW5zIGF0IGxlYXN0IHR3byBlbGVtZW50IDxlbT5UeXBlPC9lbT4gZ2l2aW5nIHRoZSB1
bmlvbiBtZW1iZXJzIHR5cGUuIElmIHRoZSB1bmlvbiBpcyBzcGVjaWZpZWQgaW4gdGhlIFdlYiBJ
REwgd2l0aCBhIHRyYWlsaW5nIDxjb2RlPj88L2NvZGU+Ci1zaWduLCB0aGVuIHRoZXJlIGlzIGFu
IGF0dHJpYnV0ZSA8ZW0+bnVsbGFibGU8L2VtPiB3aXRoIHRoZSB2YWx1ZQotPGNvZGU+bnVsbGFi
bGU8L2NvZGU+LgotCi0KLQotPGg0PkRlc2NyaXB0aXZlIGVsZW1lbnRzPC9oND4KLQotPHA+Ci1U
aGUgZm9sbG93aW5nIGVsZW1lbnRzIGNvbnRhaW4gZG9jdW1lbnRhdGlvbiwgZXh0cmFjdGVkIGZy
b20gdGhlCi1Eb3h5Z2VuLWxpa2UgY29tbWVudHMgaW4gdGhlIGlucHV0LiA8Y29kZT4mbHQ7cGFy
YW0+PC9jb2RlPgotZGVyaXZlcyBvbmx5IGZyb20gYSA8Y29kZT5ccGFyYW08L2NvZGU+IGNvbW1h
bmQgdXNlZCBpbnNpZGUgYQotPGNvZGU+XGRlZi1kZXZpY2UtY2FwPC9jb2RlPiBibG9jazsgYW55
IG90aGVyIDxjb2RlPlxwYXJhbTwvY29kZT4gY29tbWFuZAotaXMgbGlua2VkIHRvIGEgcGFyYW1l
dGVyIChhcmd1bWVudCkgb2YgdGhlIG1ldGhvZCBiZWluZyBkb2N1bWVudGVkLgotPC9wPgotCi08
cHJlIGNsYXNzPSJkdGQiPgotJmx0OyFFTEVNRU5UIGRlc2NyaXB0aXZlIChkZXNjcmlwdGlvbiB8
IGJyaWVmIHwgdGhyb3cgfCBhdXRob3IKLSAgICB8IHZlcnNpb24gfCBDb2RlIHwgYXBpLWZlYXR1
cmUgfCBkZXZpY2UtY2FwIHwgZGVmLWFwaS1mZWF0dXJlCi0gICAgfCBkZWYtYXBpLWZlYXR1cmUt
c2V0IHwgZGVmLWRldmljZS1jYXAgfCBkZWYtaW5zdGFudGlhdGVkIHwgcGFyYW0pKiA+Ci0KLSZs
dDshRUxFTUVOVCBkZXNjcmlwdGlvbiAlQmxvY2s7ID4KLQotJmx0OyFFTEVNRU5UIGJyaWVmICVJ
bmxpbmU7ID4KLQotJmx0OyFFTEVNRU5UIHRocm93ICVJbmxpbmU7ID4KLQotJmx0OyFFTEVNRU5U
IGF1dGhvciAlSW5saW5lOyA+Ci0KLSZsdDshRUxFTUVOVCB2ZXJzaW9uICVJbmxpbmU7ID4KLQot
Jmx0OyFFTEVNRU5UIENvZGUgJUlubGluZTsgPgotCi0mbHQ7IUVMRU1FTlQgYXBpLWZlYXR1cmUg
JUlubGluZTsgPgotJmx0OyFBVFRMSVNUIGFwaS1mZWF0dXJlIGlkZW50aWZpZXIgQ0RBVEEgI1JF
UVVJUkVEID4KLQotJmx0OyFFTEVNRU5UIGRldmljZS1jYXAgJUlubGluZTsgPgotJmx0OyFBVFRM
SVNUIGRldmljZS1jYXAgaWRlbnRpZmllciBDREFUQSAjUkVRVUlSRUQgPgotCi0mbHQ7IUVMRU1F
TlQgcGFyYW0gJUlubGluZTsgPgotJmx0OyFBVFRMSVNUIHBhcmFtIGlkZW50aWZpZXIgQ0RBVEEg
I1JFUVVJUkVEID4KLQotJmx0OyFFTEVNRU5UIGRlZi1hcGktZmVhdHVyZSAoZGVzY3JpcHRpdmU/
KSA+Ci0mbHQ7IUFUVExJU1QgZGVmLWFwaS1mZWF0dXJlIGlkZW50aWZpZXIgQ0RBVEEgI1JFUVVJ
UkVEID4KLQotJmx0OyFFTEVNRU5UIGRlZi1hcGktZmVhdHVyZS1zZXQgKGRlc2NyaXB0aXZlPykg
PgotJmx0OyFBVFRMSVNUIGRlZi1hcGktZmVhdHVyZS1zZXQgaWRlbnRpZmllciBDREFUQSAjUkVR
VUlSRUQgPgotCi0mbHQ7IUVMRU1FTlQgZGVmLWluc3RhbnRpYXRlZCAoZGVzY3JpcHRpdmU/KSA+
Ci0KLSZsdDshRUxFTUVOVCBkZWYtZGV2aWNlLWNhcCAoZGVzY3JpcHRpdmU/KSA+Ci0mbHQ7IUFU
VExJU1QgZGVmLWRldmljZS1jYXAgaWRlbnRpZmllciBDREFUQSAjUkVRVUlSRUQgPgotCi0mbHQ7
IUVMRU1FTlQgcmVmICgjUENEQVRBKSA+Ci08L3ByZT4KLQotPGg0PlhIVE1MIGVsZW1lbnRzPC9o
ND4KLQotPHA+Ci1UaGUgZm9sbG93aW5nIFhIVE1MIGVsZW1lbnRzIGFyZSBwYXJ0IG9mIHdpZGxw
cm9jeG1sOgotPC9wPgotCi08cHJlIGNsYXNzPSJkdGQiPgotJmx0OyFFTEVNRU5UIGEgJUlubGlu
ZTsgPgotJmx0OyFBVFRMSVNUIGEgaHJlZiBDREFUQSAjUkVRVUlSRUQgPgotCi0mbHQ7IUVMRU1F
TlQgYiAlSW5saW5lOyA+Ci0KLSZsdDshRUxFTUVOVCBiciBFTVBUWSA+Ci0KLSZsdDshRUxFTUVO
VCBkZCAlRmxvdzsgPgotCi0mbHQ7IUVMRU1FTlQgZGwgKChkdCB8IGRkKSopID4KLQotJmx0OyFF
TEVNRU5UIGR0ICVJbmxpbmU7ID4KLQotJmx0OyFFTEVNRU5UIGVtICVJbmxpbmU7ID4KLQotJmx0
OyFFTEVNRU5UIGltZyAlSW5saW5lOyA+Ci0mbHQ7IUFUVExJU1QgaW1nIHNyYyBDREFUQSAjUkVR
VUlSRUQgCi0gICAgICAgICAgICAgICAgIGFsdCBDREFUQSAjSU1QTElFRD4KLQotCi0mbHQ7IUVM
RU1FTlQgbGkgJUZsb3c7ID4KLQotJmx0OyFFTEVNRU5UIHAgJUlubGluZTsgPgotCi0mbHQ7IUVM
RU1FTlQgdGFibGUgKHRyKikgPgotCi0mbHQ7IUVMRU1FTlQgdGQgJUZsb3c7ID4KLQotJmx0OyFF
TEVNRU5UIHRoICVGbG93OyA+Ci0KLSZsdDshRUxFTUVOVCB0ciAoKHRoIHwgdGQpKikgPgotCi0m
bHQ7IUVMRU1FTlQgdWwgKGxpKikgPgotPC9wcmU+Ci0KLQotPGgyPkJpYmxpb2dyYXBoeTwvaDI+
Ci0KLTxwIGlkPSJib25kaSI+Ci1CT05ESSAtIGFuIG9wZW4gc291cmNlIGluZHVzdHJ5IGNvbGxh
Ym9yYXRpb24gZm9yIHdpZGdldCBhbmQgd2ViIHRlY2hub2xvZ2llcywKLTxhIGhyZWY9Imh0dHA6
Ly9ib25kaS5vbXRwLm9yZy8iPmh0dHA6Ly9ib25kaS5vbXRwLm9yZy88L2E+Ci08L3A+Ci0KLTxw
IGlkPSJkb3h5Z2VuIj4KLURveHlnZW4gU291cmNlIGNvZGUgZG9jdW1lbnRhdGlvbiBnZW5lcmF0
b3IgdG9vbCwKLTxhIGhyZWY9Imh0dHA6Ly93d3cuc3RhY2submwvfmRpbWl0cmkvZG94eWdlbi9p
bmRleC5odG1sIj4KLWh0dHA6Ly93d3cuc3RhY2submwvfmRpbWl0cmkvZG94eWdlbi9pbmRleC5o
dG1sPC9hPgotPC9wPgotCi08cCBpZD0idzNjZ2VvIj4KLVczQyBHZW9sb2NhdGlvbiBBUEkgU3Bl
Y2lmaWNhdGlvbiBFZGl0b3IncyBEcmFmdCAzIEFwcmlsIDIwMDksCi08YSBocmVmPSJodHRwOi8v
ZGV2LnczLm9yZy9nZW8vYXBpL3NwZWMtc291cmNlLmh0bWwiPgotaHR0cDovL2Rldi53My5vcmcv
Z2VvL2FwaS9zcGVjLXNvdXJjZS5odG1sPC9hPgotPC9wPgotCi08cCBpZD0id2ViaWRsIj4KLVdl
YiBJREwgVzNDIEVkaXRvcidzIERyYWZ0IDMgTWF5IDIwMTEsCi08YSBocmVmPSJodHRwOi8vZGV2
LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJJREwiPmh0dHA6Ly9kZXYudzMub3JnLzIwMDYvd2ViYXBp
L1dlYklETDwvYT4KLTwvcD4KLQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL2V4YW1wbGVzL01h
a2VmaWxlCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9leGFtcGxlcy9NYWtlZmls
ZQkocmV2aXNpb24gMjUyODk2KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL2V4YW1wbGVzL01ha2Vm
aWxlCShub25leGlzdGVudCkKQEAgLTEsNzkgKzAsMCBAQAotIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCi0jICRJ
ZCQKLSMgQ29weXJpZ2h0IDIwMDkgQXBsaXggQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCi0jIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRo
ZSAiTGljZW5zZSIpOwotIyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21w
bGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCi0jIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUg
TGljZW5zZSBhdAotIyAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0Ut
Mi4wCi0jIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4g
d3JpdGluZywgc29mdHdhcmUKLSMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlz
dHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKLSMgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENP
TkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCi0jIFNlZSB0
aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9u
cyBhbmQKLSMgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCi0jIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMK
LQotVU5BTUUgPSAkKHNoZWxsIHVuYW1lKQotRVhBTVBMRVNESVIgPSAuCi0jIFRoZSBzZXR0aW5n
cyBvZiBTUkNESVIgKHdoZXJlIHRvIGZpbmQgdGhlIHhzbCBzdHlsZSBzaGVldHMpLCBPQkpESVIg
KHdoZXJlIHRvCi0jIGZpbmQgd2lkbHByb2MgYW5kIHdpZGxwcm9jeG1sLmR0ZCkgYW5kIEVYQU1Q
TEVTT0JKRElSICh3aGVyZSB0byBwdXQgdGhlCi0jIHJlc3VsdGluZyBodG1sIGZpbGVzIGFuZCBh
bnkgaW50ZXJtZWRpYXRlIGZpbGVzKSByZWZsZWN0IHRoZSBkaXJlY3RvcnkKLSMgc3RydWN0dXJl
IG9mIHRoZSByZWxlYXNlZCB3aWRscHJvYy56aXAgZmlsZSB3aGVuIHVuemlwcGVkLiAuLi9NYWtl
ZmlsZSBjYWxscwotIyB0aGlzIE1ha2VmaWxlIHdpdGggdGhlc2Ugc2V0dGluZ3Mgb3ZlcnJpZGRl
biB0byByZWZsZWN0IHRoZSBkaXJlY3RvcnkKLSMgc3RydWN0dXJlIGluIHN2bi4KLVNSQ0RJUiA9
IC4uCi1PQkpESVIgPSAuLgotRVhBTVBMRVNPQkpESVIgPSBvYmoKLQotIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
Ci0jIExpbnV4IGNvbmZpZ3VyYXRpb24KLSMKLWlmbmVxICgsJChmaWx0ZXIgTGludXglLCAkKFVO
QU1FKSkpIAotCi1FWEVTVUZGSVggPQotCi1lbHNlCi0jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKLSMgRGFyd2lu
IGNvbmZpZ3VyYXRpb24KLSMKLWlmbmVxICgsJChmaWx0ZXIgRGFyd2luJSwgJChVTkFNRSkpKSAK
LQotRVhFU1VGRklYID0KLQotZWxzZQotIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCi0jIFdpbmRvd3MgKGN5Z3dp
biBidXQgdXNpbmcgTVMgY29tcGlsZXIpIGNvbmZpZ3VyYXRpb24KLSMKLWlmbmVxICgsJChmaWx0
ZXIgQ1lHV0lOJSwgJChVTkFNRSkpKSAKLQotRVhFU1VGRklYID0gLmV4ZQotCi1lbmRpZgotZW5k
aWYKLWVuZGlmCi0KLSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwotIyBDb21tb24gbWFrZWZpbGUKLSMKLVdJRExQ
Uk9DID0gJChPQkpESVIpL3dpZGxwcm9jJChFWEVTVUZGSVgpCi1EVEQgPSAkKE9CSkRJUikvd2lk
bHByb2N4bWwuZHRkCi0KLVdJRExTID0gJChwYXRzdWJzdCAkKEVYQU1QTEVTRElSKS8lLCAlLCAk
KHdpbGRjYXJkICQoRVhBTVBMRVNESVIpLyoud2lkbCkpCi0KLXRlc3QgOiAkKHBhdHN1YnN0ICUu
d2lkbCwgJChFWEFNUExFU09CSkRJUikvJS5odG1sLCAkKFdJRExTKSkgJChFWEFNUExFU09CSkRJ
Uikvd2lkbGh0bWwuY3NzCi0JQGVjaG8gIiRAIHBhc3MiCi0KLSQoRVhBTVBMRVNPQkpESVIpLyUu
aHRtbCA6ICQoRVhBTVBMRVNPQkpESVIpLyUud2lkbHByb2N4bWwgJChTUkNESVIpL3dpZGxwcm9j
eG1sdG9odG1sLnhzbCBNYWtlZmlsZQotCWNwICQoU1JDRElSKS93aWRscHJvY3htbHRvaHRtbC54
c2wgJChkaXIgJEApLwotCXhzbHRwcm9jICQoZGlyICRAKS93aWRscHJvY3htbHRvaHRtbC54c2wg
JDwgPiRACi0KLSQoRVhBTVBMRVNPQkpESVIpLyUud2lkbHByb2N4bWwgOiAkKEVYQU1QTEVTRElS
KS8lLndpZGwgJChXSURMUFJPQykgJChEVEQpIE1ha2VmaWxlCi0JbWtkaXIgLXAgJChkaXIgJEAp
Ci0JJChXSURMUFJPQykgJDwgPiRACi0JY3AgJChPQkpESVIpL3dpZGxwcm9jeG1sLmR0ZCAkKGRp
ciAkQCkvCi0JeG1sbGludCAtLW5vb3V0IC0tZHRkdmFsaWQgJChEVEQpICRACi0KLSQoRVhBTVBM
RVNPQkpESVIpL3dpZGxodG1sLmNzcyA6ICQoRVhBTVBMRVNESVIpL3dpZGxodG1sLmNzcwotCWNw
ICQ8ICRACi0KLS5ERUxFVEVfT05fRVJST1I6Ci0KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9l
eGFtcGxlcy9SRUFETUUKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL2V4YW1wbGVz
L1JFQURNRQkocmV2aXNpb24gMjUyODk2KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL2V4YW1wbGVz
L1JFQURNRQkobm9uZXhpc3RlbnQpCkBAIC0xLDQxICswLDAgQEAKLSMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwot
IyAkSWQkCi0jIENvcHlyaWdodCAyMDA5IEFwbGl4IENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgotIyBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4w
ICh0aGUgIkxpY2Vuc2UiKTsKLSMgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4g
Y29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgotIyBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2Yg
dGhlIExpY2Vuc2UgYXQKLSMgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNF
TlNFLTIuMAotIyBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRv
IGluIHdyaXRpbmcsIHNvZnR3YXJlCi0jIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlz
IGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCi0jIFdJVEhPVVQgV0FSUkFOVElFUyBP
UiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgotIyBT
ZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlz
c2lvbnMgYW5kCi0jIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgotIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjCi0KLVRoaXMgZXhhbXBsZXMgZGlyZWN0b3J5IGNvbnRhaW5zIHR3byBvZiB0aGUgQk9OREkg
LndpZGwgZmlsZXMsIGEgTWFrZWZpbGUKLXRoYXQgcHJvY2Vzc2VzIHRoZW0gdG8gZ2VuZXJhdGUg
aHRtbCwgYW5kIGEgLmNzcyBmaWxlIHRoYXQgdGhlIHJlc3VsdGluZwotaHRtbCB1c2VzLgotCi1U
aGUgTWFrZWZpbGUgcHJvY2Vzc2VzIHRoZSAud2lkbCBmaWxlcyBhcyBmb2xsb3dzOgotCi0gMS4g
Rm9yIGVhY2ggLndpZGwsIGdlbmVyYXRlIHRoZSAud2lkbHByb2N4bWwgZmlsZSAoYW4gWE1MIHJl
cHJlc2VudGF0aW9uCi0gICAgb2YgdGhlIGluZm9ybWF0aW9uIGluIHRoZSAud2lkbCkgdXNpbmcg
d2lkbHByb2MuCi0KLSAyLiBWYWxpZGF0ZSAodXNpbmcgeG1sbGludCkgZWFjaCAud2lkbHByb2N4
bWwgYWdhaW5zdCB0aGUgRFRELgotCi0gMy4gV2Ugd2FudCBhbnkgcmVmZXJlbmNlIGluIHRoZSBy
ZXN1bHRpbmcgaHRtbCB0byBhIHR5cGUgZWxzZXdoZXJlIGluIHRoZQotICAgIEFQSSB0byBiZSBh
IGxpbmsuIFRoaXMgaXMgd2hlcmUgd2UgYWNoaWV2ZSB0aGlzLiBGaXJzdCBnZW5lcmF0ZSBhCi0g
ICAgbGlzdCBvZiBmcWlkcyAoZnVsbHkgcXVhbGlmaWVkIGlkZW50aWZpZXJzKSBmcm9tIGZxaWQg
YXR0cmlidXRlcyBpbgotICAgIHRoZSBYTUwgYnkgcnVubmluZyBhbGwgLndpZGxwcm9jeG1sIGZp
bGVzIHRocm91Z2ggdGhlIHN0eWxlIHNoZWV0Ci0gICAgd2lkbHByb2N4bWxmcWlkcy54c2wuCi0K
LSA0LiBUdXJuIHRoYXQgbGlzdCBvZiBmcWlkcyBpbnRvIGEgc2VkIHNjcmlwdCB0aGF0IHR1cm5z
IGEgPHJlZj4gdG8gYW4KLSAgICBmcWlkIGludG8gYSA8cmVmIHJlZj0iLi4iPiB0byB0aGUgZnFp
ZCBpbiB0aGUgcmlnaHQgLmh0bWwgZmlsZS4KLQotIDUuIEZvciBlYWNoIC53aWRscHJvY3htbCBm
aWxlLCBnZW5lcmF0ZSBhIC53aWRscHJvY3htbDIgZmlsZSBieSBydW5uaW5nCi0gICAgaXQgdGhy
b3VnaCB0aGUgc2VkIHNjcmlwdCBnZW5lcmF0ZWQgYWJvdmUuCi0KLSA2LiBGb3IgZWFjaCAud2lk
bHByb2N4bWwyIGZpbGUsIGdlbmVyYXRlIGEgLmh0bWwgZmlsZSBieSBydW5uaW5nIGl0IHRocm91
Z2gKLSAgICB0aGUgd2lkbHByb2N4bWx0b2h0bWwueHNsIHN0eWxlIHNoZWV0LgotCi1TZWUgdGhl
IE1ha2VmaWxlIGZvciBkZXRhaWxzLgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL2V4YW1wbGVz
L2JvbmRpLndpZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL2V4YW1wbGVzL2Jv
bmRpLndpZGwJKHJldmlzaW9uIDI1Mjg5NikKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9leGFtcGxl
cy9ib25kaS53aWRsCShub25leGlzdGVudCkKQEAgLTEsMjI3ICswLDAgQEAKLS8qCi0gKiBMaWNl
bnNlZCB0byBPTVRQIEx0ZC4gKE9NVFApIHVuZGVyIG9uZSBvciBtb3JlIGNvbnRyaWJ1dG9yIGxp
Y2Vuc2UgYWdyZWVtZW50cy4gCi0gKiBTZWUgdGhlIE5PVElDRSBmaWxlIGRpc3RyaWJ1dGVkIHdp
dGggdGhpcyB3b3JrIGZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIHJlZ2FyZGluZyAKLSAqIGNv
cHlyaWdodCBvd25lcnNoaXAuIAotICogCi0gKiBUaGUgUmVmZXJlbmNlIEltcGxlbWVudGF0aW9u
IChzYXZlIGZvciBzdWNoIHBhcnRzIG9mIHRoZSByZWZlcmVuY2UgaW1wbGVtZW50YXRpb24gbWFk
ZSAKLSAqIGF2YWlsYWJsZSB1bmRlciBzZXBhcmF0ZSB0ZXJtcyBhbmQgY29uZGl0aW9ucykgaXMg
bWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSAKLSAqIEFwYWNoZSBMaWNlbnNl
LCB2ZXJzaW9uIDIuMCwgc3ViamVjdCB0byB0aGUgY29uZGl0aW9uIHRoYXQgYW55ICJXb3JrcyIg
YW5kICJEZXJpdmF0aXZlIAotICogV29ya3MiIHVzZWQgb3IgZGlzdHJpYnV0ZWQgZm9yIGNvbW1l
cmNpYWwgcHVycG9zZXMgbXVzdCBiZSBhbmQgcmVtYWluIGNvbXBsaWFudCB3aXRoIHRoZQotICog
Qk9OREkgc3BlY2lmaWNhdGlvbiBhcyBwcm9tdWxnYXRlZCBieSBPTVRQIGluIGVhY2ggcmVsZWFz
ZS4gWW91ciBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgCi0gKiBSZWZlcmVuY2UgSW1wbGVtZW50YXRp
b24gKHdoZXRoZXIgb2JqZWN0IG9yIHNvdXJjZSkgbXVzdCBtYWludGFpbiB0aGVzZSBjb25kaXRp
b25zLCBhbmQgCi0gKiB5b3UgbXVzdCBub3RpZnkgYW55IHJlY2lwaWVudCBvZiB0aGlzIGNvbmRp
dGlvbiBpbiBhIGNvbnNwaWN1b3VzIHdheS4KLSAqIAotICogWW91IG1heSBub3QgdXNlIHRoaXMg
Qk9OREkgUmVmZXJlbmNlIEltcGxlbWVudGF0aW9uIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGgg
dGhlIExpY2Vuc2UuIAotICogCi0gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vu
c2UgYXQgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wIG9yIGF0IAot
ICogaHR0cDovL2JvbmRpLm9tdHAub3JnL0JPTkRJLUxJQ0VOU0UtMi4wIAotICovCi0KLS8qKgot
ICogXGJyaWVmIENvbW1vbiBCT05ESSBmdW5jdGlvbmFsaXR5LgotICoKLSAqIFRoZXNlIGRlZmlu
aXRpb25zIGNhbiBiZSB1c2VkIGluIGFsbCBvdGhlciBCT05ESSBtb2R1bGVzIGFzIGRlcGVuZGVu
Y2llcy4KLSAgKiBcdmVyc2lvbiAxLjEKLSAqLwotbW9kdWxlIGJvbmRpIHsKLQotCS8qKgotCSAq
IFxicmllZiBBcnJheSBvZiBET01TdHJpbmdzLgotCSAqLwotCXR5cGVkZWYgc2VxdWVuY2U8RE9N
U3RyaW5nPiBTdHJpbmdBcnJheTsKLQotCS8qKgotCSAqIFxicmllZiBBcnJheSBvZiA4LWJpdCB1
bnNpZ25lZCBpbnRlZ2VyIHZhbHVlcy4KLQkgKi8KLQl0eXBlZGVmIHNlcXVlbmNlPG9jdGV0PiAg
ICAgQnl0ZUFycmF5OwotCi0JLyoqCi0JICogXGJyaWVmIEFycmF5IG9mIDE2LWJpdCBzaWduZWQg
aW50ZWdlciB2YWx1ZXMuCi0JICovCi0JdHlwZWRlZiBzZXF1ZW5jZTxzaG9ydD4gICAgIFNob3J0
QXJyYXk7Ci0KLQkvKioKLQkgKiBcYnJpZWYgQXJyYXkgb2YgMzItYml0IHNpZ25lZCBpbnRlZ2Vy
IHZhbHVlcy4KLQkgKi8KLQl0eXBlZGVmIHNlcXVlbmNlPGxvbmc+ICAgICAgTG9uZ0FycmF5Owot
Ci0JLyoqCi0JICogXGJyaWVmIEFycmF5IG9mIGZsb2F0aW5nIHBvaW50IHZhbHVlcy4KLQkgKi8K
LQl0eXBlZGVmIHNlcXVlbmNlPGZsb2F0PiAgICAgRmxvYXRBcnJheTsKLQotCS8qKgotCSAqIFxi
cmllZiBHZW5lcmljIE1hcCBvYmplY3QuCi0JICovCi0JdHlwZWRlZiBPYmplY3QgICAgICAgICAg
ICAgIE1hcDsKLQotCS8qKgotCSAqIFxicmllZiBHZW5lcmljIHN1Y2Nlc3MgY2FsbGJhY2sgaW50
ZXJmYWNlLgotCSAqLwotCVtDYWxsYmFjaz1GdW5jdGlvbk9ubHksIE5vSW50ZXJmYWNlT2JqZWN0
XSBpbnRlcmZhY2UgU3VjY2Vzc0NhbGxiYWNrIHsKLQkgICAvKioKLQkgICAgKiBcYnJpZWYgTWV0
aG9kIGludm9rZWQgd2hlbiB0aGUgYXN5bmNocm9ub3VzIGNhbGwgY29tcGxldGVzIHN1Y2Nlc3Nm
dWxseQotCSAgICAqLwotCQl2b2lkIG9uU3VjY2VzcygpOwotCX07Ci0KLQotCS8qKgotCSAqIFxi
cmllZiBTdWNjZXNzIGNhbGxiYWNrIGludGVyZmFjZSBmb3IgcmVxdWVzdEZlYXR1cmUgaW52b2Nh
dGlvbnMKLQkgKi8KLSAgICBbQ2FsbGJhY2s9RnVuY3Rpb25Pbmx5LCBOb0ludGVyZmFjZU9iamVj
dF0gaW50ZXJmYWNlIFJlcXVlc3RGZWF0dXJlU3VjY2Vzc0NhbGxiYWNrIHsNCi0gICAgICAgLyoq
Ci0JICAgICogXGJyaWVmIE1ldGhvZCBpbnZva2VkIHVwb24gYSBzdWNjZXNmdWwgcmVxdWVzdEZl
YXR1cmUgaW52b2NhdGlvbgotCSAgICAqCi0JICAgICogXHBhcmFtIG9iIE9iamVjdCBpbXBsZW1l
bnRpbmcgdGhlIEphdmFTY3JpcHQgQVBJIGFzc29jaWF0ZWQgd2l0aCB0aGUgcmVxdWVzdGVkIEZl
YXR1cmUuCi0JICAgICovDQotICAgICAgICB2b2lkIG9uU3VjY2VzcyhpbiBPYmplY3Qgb2IpOw0K
LSAgICAgfTsNCi0KLQotCS8qKgotCSAqIFxicmllZiBHZW5lcmljIGVycm9yIGNhbGxiYWNrIGlu
dGVyZmFjZS4KLQkgKi8KLQlbQ2FsbGJhY2s9RnVuY3Rpb25Pbmx5LCBOb0ludGVyZmFjZU9iamVj
dF0gaW50ZXJmYWNlIEVycm9yQ2FsbGJhY2sgewotCSAgIC8qKgotCSAgICAqIFxicmllZiBNZXRo
b2QgaW52b2tlZCB3aGVuIGFuIGVycm9yIG9jY3VycwotCSAgICAqCi0JICAgICogXHBhcmFtIGVy
cm9yIFRoZSBlcnJvciB0aGF0IGlzIHJhaXNlZC4KLQkgICAgKi8KLQkJdm9pZCBvbkVycm9yKGlu
IEdlbmVyaWNFcnJvciBlcnJvcik7Ci0JfTsKLQotCS8qKgotCSAqIFxicmllZiBHZW5lcmljIGVy
cm9yIGludGVyZmFjZS4KLQkgKgotCSAqIAotCSAqLwotCi0KLQlpbnRlcmZhY2UgR2VuZXJpY0Vy
cm9yIHsKLQotCQkvKioKLQkJICogXGJyaWVmIDE2LWJpdCBlcnJvciBjb2RlLgotCQkgKi8KLQkJ
cmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIHNob3J0IGNvZGU7Ci0JfTsKLQkJCi0JLyoqCi0J
ICogXGJyaWVmIERldmljZUFwaUVycm9yIGVycm9yIGludGVyZmFjZS4KLQkgKgotCSAqIFRoZSBl
cnJvciBjb2RlcyBtdXN0IGJlIGluIHRoZSByYW5nZSAxMDAwMC0xOTk5OS4KLQkgKi8KLQotCWlu
dGVyZmFjZSBEZXZpY2VBUElFcnJvciA6IEdlbmVyaWNFcnJvciB7Ci0KLQkJLyoqCi0JCSAqIFxi
cmllZiBVbmtub3duIGVycm9yLgotCQkgKi8KLQkJY29uc3QgdW5zaWduZWQgc2hvcnQgVU5LTk9X
Tl9FUlJPUiAgICAgICAgICAgPSAxMDAwMDsKLQotCQkvKioKLQkJICogXGJyaWVmIEludmFsaWQg
dmFsdWUgd2FzIHNwZWNpZmllZCBhcyBpbnB1dCBwYXJhbWV0ZXIuCi0JCSAqLwotCQljb25zdCB1
bnNpZ25lZCBzaG9ydCBJTlZBTElEX0FSR1VNRU5UX0VSUk9SICA9IDEwMDAxOwotCi0JCS8qKgot
CQkgKiBcYnJpZWYgVGhlIHNlYXJjaGVkIHZhbHVlIG9yIG9iamVjdCB3YXMgbm90IGZvdW5kLgot
CQkgKi8KLQkJY29uc3QgdW5zaWduZWQgc2hvcnQgTk9UX0ZPVU5EX0VSUk9SICAgICAgICAgPSAx
MDAwMjsKLQotCQkvKioKLQkJICogXGJyaWVmIE9wZXJhdGlvbiBpcyBwZW5kaW5nLgotCQkgKi8K
LQkJY29uc3QgdW5zaWduZWQgc2hvcnQgUEVORElOR19PUEVSQVRJT05fRVJST1IgPSAxMDAwMzsK
LQotCQkvKioKLQkJICogXGJyaWVmIElucHV0L091dHB1dCBlcnJvci4KLQkJICovCi0JCWNvbnN0
IHVuc2lnbmVkIHNob3J0IElPX0VSUk9SICAgICAgICAgICAgICAgID0gMTAwMDQ7Ci0KLQkJLyoq
Ci0JCSAqIFxicmllZiBOb3Qgc3VwcG9ydGVkIGVycm9yLgotCQkgKi8KLQkJY29uc3QgdW5zaWdu
ZWQgc2hvcnQgTk9UX1NVUFBPUlRFRF9FUlJPUiAgICAgPSAxMDAwNTsKLQl9OwotCi0JLyoqCi0J
ICogXGJyaWVmIFNlY3VyaXR5IGVycm9yIGludGVyZmFjZS4KLQkgKgotCSAqIFRoZSBlcnJvciBj
b2RlcyBtdXN0IGJlIGluIHRoZSByYW5nZSAyMDAwMC0yOTk5OQotCSAqLwotCWludGVyZmFjZSBT
ZWN1cml0eUVycm9yIDogR2VuZXJpY0Vycm9yIHsKLQkJY29uc3QgdW5zaWduZWQgc2hvcnQgUEVS
TUlTU0lPTl9ERU5JRURfRVJST1IgPSAyMDAwMDsKLQl9OwotCi0JLyoqCi0JICogXGJyaWVmIFBl
bmRpbmdPcGVyYXRpb24uCi0JICoKLQkgKiBJbnRlcmZhY2UgdGhhdCBpcyByZXR1cm5lZCBieSBh
c3luY2hyb25vdXMgb3BlcmF0aW9ucyBpbiBvcmRlciB0bwotCSAqIHByb3ZpZGUgYSBjYW5jZWxs
YXRpb24gb3BlcmF0aW9uLgotCSAqLwotCWludGVyZmFjZSBQZW5kaW5nT3BlcmF0aW9uIHsKLQkJ
LyoqCi0JCSAqIFxicmllZiBDYWxsIHRvIGNhbmNlbCB0aGUgdW5kZXJseWluZyBhc3luY2hyb25v
dXMgb3BlcmF0aW9uLgotCQkgKgotCQkgKiBUaGlzIGNhbGwgaXMgYWx3YXlzIHN1Y2Nlc3NmdWws
IGkuZS4gdGhlIHBlbmRpbmcgb3BlcmF0aW9uIGkuZS4KLQkJICogZWl0aGVyIGNhbmNlbGxlZCBv
ciBvbmUgb2YgdGhlIGNhbGxiYWNrIGlzIGNhbGxlZC4KLQkJICoKLQkJICogXHJldHVybiA8ZW0+
ZmFsc2U8L2VtPiBpZiB0aGUgY2FuY2VsbGF0aW9uIGRpZCBub3Qgc3VjY2VlZAotCQkgKiBlaXRo
ZXIgYmVjYXVzZSB0aGUgcGVuZGluZyBvcGVyYXRpb24gZmluaXNoZWQgYWxyZWFkeSBvciBiZWNh
dXNlCi0JCSAqIHRoZSBjYW5jZWxsYXRpb24gY2Fubm90IHN1Y2NlZWQgZHVlIHRvIHRlY2huaWNh
bCBsaW1pdGF0aW9ucyBpbgotCQkgKiB0aGUgdW5kZXJseWluZyBpbXBsZW1lbnRhdGlvbi4gQ29u
c3F1ZW50bHkgdGhlIHBlbmRpbmcgb3BlcmF0aW9uIAotCQkgKiBjb21wbGV0ZXMgYW5kIGRlcGVu
ZGluZyBvbiB0aGUgc3VjY2VzcyBvciBmYWlsdXJlIHRoZSBhcHByb3ByaWF0ZQotCQkgKiBjYWxs
YmFja3Mgd2lsbCBiZSBjYWxsZWQuCi0JCSAqIDxlbT50cnVlPC9lbT4gaWYgdGhlIGNhbmNlbGxh
dGlvbiBkaWQgc3VjY2VlZC4gTm8gY2FsbGJhY2tzIHdpbGwKLQkJICogYmUgY2FsbGVkIGJ5IHRo
ZSBjYW5jZWxsZWQgcGVuZGluZyBvcGVyYXRpb24uCi0JCSAqLwotCQlib29sZWFuIGNhbmNlbCgp
OwotCX07Ci0KLQkvKioKLQkgKiBcYnJpZWYgQk9OREkgcm9vdCBBUEkuCi0JICogYm9uZGkgcm9v
dCBwcm9wZXJ0eSBleGlzdHMgaW4gdGhlIGdsb2JhbCBvYmplY3QKLQkgKiBcZGVmLWFwaS1mZWF0
dXJlIGh0dHA6Ly9ib25kaS5vbXRwLm9yZy9hcGkvYm9uZGkucmVxdWVzdGZlYXR1cmUKLQkgKi8K
LQlpbnRlcmZhY2UgQm9uZGkgewotCQkvKioKLQkJICogXGJyaWVmIFJlcXVlc3RzIGEgZmVhdHVy
ZS4KLQkJICoKLQkJICogVGhpcyBmdW5jdGlvbiByZXF1ZXN0cyBhIG5hbWVkIGZlYXR1cmUKLQkJ
ICogYXN5bmNocm9ub3VzbHkgYW5kIHJldHVybnMgYSBwZW5kaW5nIG9wZXJhdGlvbiBvYmplY3Qu
Ci0JCSAqIElmIGl0IHN1Y2NlZWRzIGl0IGNhbGxzIHRoZSBzdWNjZXNzQ2FsbGJhY2sgYW5kIHBh
c3NlcyBpbgotCQkgKiB0aGUgb2JqZWN0IG9mIHRoZSByZXF1ZXN0ZWQgZmVhdHVyZS4gSWYgaXQg
ZmFpbHMgaXQgY2FsbHMKLQkJICogdGhlIGVycm9yQ2FsbGJhY2sgcGFzc2luZyBpbiBhIERldmlj
ZUFQSUVycm9yIHdoaWNoIHByb3ZpZGVzIAotCQkgKiBhbiBlcnJvciBtZXNzYWdlIGFuZCBlcnJv
ciBjb2RlIGluZGljYXRpbmcgdGhlIG5hdHVyZSBvZiB0aGUgZXJyb3IuCi0JCSAqCi0JCSAqIElm
IHRoZSByZXF1ZXN0ZWQgZmVhdHVyZSBiaW5kcyBpdHNlbGYgdG8gYSByb290IG5hbWVzcGFjZQot
CQkgKiAoIGZvciBleGFtcGxlLCAiYm9uZGkucGltLmNvbnRhY3QiKSB0aGlzIHdpbGwgaGFwcGVu
IHByaW9yIHRvIHRoZQotCQkgKiBzdWNjZXNzQ2FsbGJhY2sgYmVpbmcgaW52b2tlZC4KLQkJICoK
LQkJICogXHBhcmFtIHN1Y2Nlc3NDYWxsYmFjayAgdGhlIHN1Y2Nlc3MgY2FsbGJhY2sgZnVuY3Rp
b24KLQkJICogXHBhcmFtIGVycm9yQ2FsbGJhY2sgICAgdGhlIGVycm9yIGNhbGxiYWNrIGZ1bmN0
aW9uCi0JCSAqIFxwYXJhbSBuYW1lICAgICAgICAgICAgIHRoZSBmZWF0dXJlIG5hbWUgSVJJCi0J
CSAqCi0JCSAqIFxyZXR1cm4gUGVuZGluZ09wZXJhdGlvbiBlbmFibGluZyB0aGUgcmVxdWVzdGVy
IHRvIGNhbmNlbCB0aGlzIHJlcXVlc3QuCi0JCSAqCi0JCSAqIFRoZSBlcnJvckNhbGxiYWNrIHdp
bGwgcmVjZWl2ZSBvbmUgb2YgdGhlIGZvbGxvd2luZyBlcnJvcnM6Ci0JCSAqIFx0aHJvdyBEZXZp
Y2VBUElFcnJvciBJTlZBTElEX0FSR1VNRU5UX0VSUk9SIGlmIGEgbWFsZm9ybWVkCi0JCSAqIGFy
Z3VtZW50IGhhcyBiZWVuIHN1cHBsaWVkIG9yIGEgcmVxdWlyZWQgYXJndW1lbnQgaGFzIGJlZW4g
b21pdHRlZC4KLQkJICogXHRocm93IERldmljZUFQSUVycm9yIE5PVF9GT1VORF9FUlJPUiBpZiB0
aGUgcmVxdWVzdGVkIGZlYXR1cmUgY291bGQgbm90IGJlIGZvdW5kLgotCQkgKiBcdGhyb3cgU2Vj
dXJpdHlFcnJvciBQRVJNSVNTSU9OX0RFTklFRF9FUlJPUiBpZiB0aGUKLQkJICogcmVxdWVzdGVk
IGZlYXR1cmUgaXMgbm90IHBlcm1pdHRlZCB0byBsb2FkL2JpbmQgb3IgdGhhdAotCQkgKiBhY2Nl
c3MgdG8gYSByZXF1aXJlZCBkZXZpY2UgY2FwYWJpbGl0eSBoYXMgYmVlbiBkZW5pZWQuCi0JCSAq
IFx0aHJvdyBEZXZpY2VBUElFcnJvciBVTktOT1dOX0VSUk9SIGlmIGFuIGVycm9yIG9jY3VycmVk
IGFuZCBhIHBlbmRpbmcKLQkJICogb3BlcmF0aW9uIG9iamVjdCBjYW4ndCBiZSByZXR1cm5lZC4K
LQkJICovCi0JCVBlbmRpbmdPcGVyYXRpb24gcmVxdWVzdEZlYXR1cmUoaW4gUmVxdWVzdEZlYXR1
cmVTdWNjZXNzQ2FsbGJhY2sgc3VjY2Vzc0NhbGxiYWNrLAotCQkgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGluIEVycm9yQ2FsbGJhY2sgICBlcnJvckNhbGxiYWNrLAotCQkgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGluIERPTVN0cmluZyAgICAgICBuYW1lKQotCQkJcmFp
c2VzKERldmljZUFQSUVycm9yLCBTZWN1cml0eUVycm9yKTsKLQl9OwotCWludGVyZmFjZSBCb25k
aU9iamVjdCB7Ci0JCXJlYWRvbmx5IGF0dHJpYnV0ZSBCb25kaSBib25kaTsgCi0JfTsKLQlXaW5k
b3cgaW1wbGVtZW50cyBib25kaU9iamVjdDsKLX07CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mv
ZXhhbXBsZXMvZmlsZXN5c3RlbS53aWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJv
Yy9leGFtcGxlcy9maWxlc3lzdGVtLndpZGwJKHJldmlzaW9uIDI1Mjg5NikKKysrIExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC93aWRscHJvYy9leGFtcGxlcy9maWxlc3lzdGVtLndpZGwJKG5vbmV4aXN0ZW50KQpAQCAtMSwx
MDM4ICswLDAgQEAKLS8qIAotICogTGljZW5zZWQgdG8gT01UUCBMdGQuIChPTVRQKSB1bmRlciBv
bmUgb3IgbW9yZSBjb250cmlidXRvciBsaWNlbnNlIGFncmVlbWVudHMuIAotICogU2VlIHRoZSBO
T1RJQ0UgZmlsZSBkaXN0cmlidXRlZCB3aXRoIHRoaXMgd29yayBmb3IgYWRkaXRpb25hbCBpbmZv
cm1hdGlvbiByZWdhcmRpbmcgCi0gKiBjb3B5cmlnaHQgb3duZXJzaGlwLiAKLSAqIAotICogVGhl
IFJlZmVyZW5jZSBJbXBsZW1lbnRhdGlvbiAoc2F2ZSBmb3Igc3VjaCBwYXJ0cyBvZiB0aGUgcmVm
ZXJlbmNlIGltcGxlbWVudGF0aW9uIG1hZGUgCi0gKiBhdmFpbGFibGUgdW5kZXIgc2VwYXJhdGUg
dGVybXMgYW5kIGNvbmRpdGlvbnMpIGlzIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBv
ZiB0aGUgCi0gKiBBcGFjaGUgTGljZW5zZSwgdmVyc2lvbiAyLjAsIHN1YmplY3QgdG8gdGhlIGNv
bmRpdGlvbiB0aGF0IGFueSAiV29ya3MiIGFuZCAiRGVyaXZhdGl2ZSAKLSAqIFdvcmtzIiB1c2Vk
IG9yIGRpc3RyaWJ1dGVkIGZvciBjb21tZXJjaWFsIHB1cnBvc2VzIG11c3QgYmUgYW5kIHJlbWFp
biBjb21wbGlhbnQgd2l0aCB0aGUKLSAqIEJPTkRJIHNwZWNpZmljYXRpb24gYXMgcHJvbXVsZ2F0
ZWQgYnkgT01UUCBpbiBlYWNoIHJlbGVhc2UuIFlvdXIgaW1wbGVtZW50YXRpb24gb2YgdGhlIAot
ICogUmVmZXJlbmNlIEltcGxlbWVudGF0aW9uICh3aGV0aGVyIG9iamVjdCBvciBzb3VyY2UpIG11
c3QgbWFpbnRhaW4gdGhlc2UgY29uZGl0aW9ucywgYW5kIAotICogeW91IG11c3Qgbm90aWZ5IGFu
eSByZWNpcGllbnQgb2YgdGhpcyBjb25kaXRpb24gaW4gYSBjb25zcGljdW91cyB3YXkuCi0gKiAK
LSAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIEJPTkRJIFJlZmVyZW5jZSBJbXBsZW1lbnRhdGlvbiBl
eGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLiAKLSAqIAotICogWW91IG1heSBv
YnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0IGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNl
bnNlcy9MSUNFTlNFLTIuMCBvciBhdCAKLSAqIGh0dHA6Ly9ib25kaS5vbXRwLm9yZy9CT05ESS1M
SUNFTlNFLTIuMCAKLSAqLwotCi0vKioKLSAqIFxicmllZiBCT05ESSBmaWxlc3lzdGVtIEFQSS4K
LSAqCi0gKiBUaGUgQk9OREkgZmlsZXN5c3RlbSBBUEkgcHJvdmlkZXMgYWNjZXNzIHRvIHRoZSBm
aWxlc3lzdGVtIG9mIGEgZGV2aWNlLiBUaGUKLSAqIGZpbGVzeXN0ZW0gaXMgYWJzdHJhY3RseSBy
ZXByZXNlbnRlZCBhcyBhIGNvbGxlY3Rpb24gb2YgZGlzam9pbnQgZmlsZXN5c3RlbQotICogcm9v
dCBsb2NhdGlvbnMgZWFjaCBjb3JyZXNwb25kaW5nIHRvIHNvbWUgc3BlY2lmaWMgbG9jYXRpb24g
aW4gdGhlIGRldmljZQotICogZmlsZXN5c3RlbS4gIFRoZSBmaWxlc3lzdGVtIEFQSSBleHBvc2Vz
IHRoZSBoaWVyYXJjaGllcyBiZWxvdyB0aGVzZSByb290Ci0gKiBsb2NhdGlvbnMgYXMgYSBzaW5n
bGUgdmlydHVhbCBmaWxlc3lzdGVtIGJ1dCBwcm92aWRlcyBubyBhY2Nlc3MgdG8gb3RoZXIKLSAq
IHBhcnRzIG9mIHRoZSBkZXZpY2UgZmlsZXN5c3RlbS4KLSAqCi0gKiBUaGUgcm9vdHMgdGhhdCBh
cmUgZXhwb3NlZCBhcmUgZGV0ZXJtaW5lZCBieSB0aGUgcGxhdGZvcm0gYWxzbyBieSB0aGUKLSAq
IGNvbnRleHQgaW4gd2hpY2ggdGhlIGZpbGVzeXN0ZW0gQVBJIGlzIGludm9rZWQuCi0gKgotICog
RWFjaCByb290IGhhcyBhIHN0cmluZyBuYW1lLiBFYWNoIGZpbGUgb3IgZGlyZWN0b3J5IHdpdGhp
biB0aGUgdmlydHVhbAotICogZmlsZXN5c3RlbSBpcyBhZGRyZXNzZWQgdXNpbmcgYSBmdWxseS1x
dWFsaWZpZWQgcGF0aCBvZiB0aGUgZm9ybToKLSAqIDxlbT4mbHQ7cm9vdCBuYW1lJmd0Oy8mbHQ7
cGF0aCZndDs8L2VtPiB3aGVyZSA8ZW0+Jmx0O3Jvb3RuYW1lJmd0OzwvZW0+IGlzCi0gKiB0aGUg
bmFtZSBvZiB0aGUgcm9vdCBhbmQgPGVtPiZsdDtwYXRoJmd0OzwvZW0+IGlzIHRoZSBwYXRoIHRv
IHRoZSBmaWxlIG9yCi0gKiBkaXJlY3RvcnkgcmVsYXRpdmUgdG8gdGhhdCByb290LgotICogCi0g
KiBUaGUgbGlzdCBvZiB0aGUgc3VwcG9ydGVkIHJvb3QgbG9jYXRpb25zIGNhbiBiZSByZXRyaWV2
ZWQgYnkgY2FsbGluZwotICogZmlsZXN5c3RlbS5nZXRSb290TG9jYXRpb25zKCkuCi0gKgotICog
VGhlIGRlZmF1bHQgbG9jYXRpb24gZm9yIGEgc3BlY2lmaWMgdHlwZSBvZiBmaWxlLCBpZiBvbmUg
ZXhpc3RzLCBjYW4gYmUKLSAqIG9idGFpbmVkIGJ5IGNhbGxpbmcgdGhlIGZpbGVzeXN0ZW0uZ2V0
RGVmYXVsdExvY2F0aW9uKC4uLikgbWV0aG9kLiBBIHNldCBvZgotICogcGxhdGZvcm0taW5kZXBl
bmRlbnQgc3ltYm9saWMgbmFtZXMgZm9yIG1lZGlhIHR5cGVzIGlzIGRlZmluZWQuIFRoZSBkZWZh
dWx0Ci0gKiBsb2NhdGlvbiBmb3IgYSBnaXZlbiBmaWxlIHR5cGUgbWF5IGl0c2VsZiBiZSBhIHJv
b3QsIG9yIHNvbWUgc3ViZGlyZWN0b3J5IG9mCi0gKiBhIHJvb3QuIEFsdGhvdWdoIHRoZSBzZXQg
b2Ygcm9vdHMgYXZhaWxhYmxlIG9uIGEgZGV2aWNlIGlzCi0gKiBwbGF0Zm9ybS1kZXBlbmRlbnQs
IHRoZSBnZXREZWZhdWx0TG9jYXRpb24oLi4uKSBmdW5jdGlvbmFsaXR5IGNhbiBiZSB1c2VkIHRv
Ci0gKiBlbnN1cmUgdGhhdCB3ZWIgYXBwbGljYXRpb25zIGNhbiBiZSB3cml0dGVuIGluIGEgcGxh
dGZvcm0taW5kZXBlbmRlbnQgd2F5LgotICoKLSAqIEluIG9yZGVyIHRvIGFjY2VzcyBzcGVjaWZp
YyBsb2NhdGlvbnMgd2hpY2ggYXJlIHByZWZpeGVkIHdpdGggYSB2YWx1ZQotICogcmV0cmlldmVk
IGJ5IGZpbGVzeXN0ZW0uZ2V0RGVmYXVsdExvY2F0aW9uIG9yIHNvbWUgcm9vdCBsb2NhdGlvbiBy
ZXR1cm5lZCBieQotICogZmlsZXN5c3RlbS5nZXRSb290TG9jYXRpb25zIGEgRmlsZSBoYW5kbGUg
bXVzdCBiZSByZXRyaWV2ZWQgdXNpbmcgdGhlCi0gKiBmaWxlc3lzdGVtLnJlc29sdmUgY2FsbC4K
LSAqCi0gKiBBIEZpbGUgaGFuZGxlIHJlcHJlc2VudHMgZWl0aGVyIGEgZmlsZSBvciBhIGRpcmVj
dG9yeS4gSWYgaXQgaXMgYSBmaWxlIHRoZQotICogaXNGaWxlIGF0dHJpYnV0ZSB3aWxsIGJlIDxl
bT50cnVlPC9lbT4sIG90aGVyd2lzZSB0aGUgaXNEaXJlY3RvcnkgYXR0cmlidXRlCi0gKiB3aWxs
IGJlIDxlbT50cnVlPC9lbT4uIEEgZmlsZSBjYW4gYmUgb3BlbmVkIGZvciByZWFkaW5nIGFuZCB3
cml0aW5nLCB1c2luZyBhCi0gKiBGaWxlU3RyZWFtIGhhbmRsZS4gQSBkaXJlY3RvcnkgY2FuIGJl
IHVzZWQgdG8gbGlzdCBpdHMgY29udGVudHMgd2hpY2ggaXMgYQotICogbGlzdCBvZiBmaWxlcyBh
bmQgc3ViLWRpcmVjdG9yaWVzLiBUaGVyZSBpcyBhIHJlc29sdmUgbWV0aG9kIG9uIGRpcmVjdG9y
aWVzCi0gKiBhcyB3ZWxsIGluIG9yZGVyIHRvIHJlc29sdmUgZmlsZXMgb3Igc3ViLWRpcmVjdG9y
aWVzIG1vcmUgY29udmVuaWVudGx5IHRoYW4KLSAqIHByb2Nlc3NpbmcgZGlyZWN0b3J5IGxpc3Rp
bmdzLgotICoKLSAqIFRoZSAiLyIgY2hhcmFjdGVyIGlzIHVzZWQgYXMgdGhlIChwYXRoKSBjb21w
b25lbnQgc2VwYXJhdG9yLgotICogVGhlIHVzZSBvZiAiLiIgb3IgIi4uIiBpbiBsb2NhdGlvbiBj
b21wb25lbnRzIGlzIG5vdCByZXF1aXJlZCB0byBiZQotICogc3VwcG9ydGVkLgotICoKLSAqIEFs
bCBwYXRoIGNoYXJhY3RlcnMgbmVlZCB0byBiZSA8YSBocmVmPSJodHRwOi8vd3d3LmlldGYub3Jn
L3JmYy9yZmMyMjc5LnR4dCI+VVRGLTg8L2E+IGVuY29kZWQuCi0gKgotICogXGNvZGUKLSAqIAlm
dW5jdGlvbiBlcnJvckNCKGVycikgewotICogCQlhbGVydCgiQk9OREkgZmlsZXN5c3RlbSBBUEkg
Y291bGRuJ3QgYmUgcmVxdWVzdGVkOiAiICsgZXJyLm1lc3NhZ2UpOwotICogCX0KLSAqCi0gKiAJ
ZnVuY3Rpb24gc3VjY2Vzc0NCKCkgewotICogCQl2YXIgZG9jTG9jYXRpb24gPSBib25kaS5maWxl
c3lzdGVtLmdldERlZmF1bHRMb2NhdGlvbigiZG9jdW1lbnRzIik7Ci0gKiAJCXZhciBkb2NEaXIg
PSBib25kaS5maWxlc3lzdGVtLnJlc29sdmUoZG9jTG9jYXRpb24pOwotICogCQl2YXIgZG9jRmls
ZXMgPSBkb2NEaXIubGlzdEZpbGVzKCk7Ci0gKiAJCWZvcih2YXIgaSA9IDA7IGkgJmx0OyBkb2NG
aWxlcy5sZW5ndGg7IGkrKykgewotICogCQkJLy8gZGlzcGxheXMgbmFtZSBvZiBlYWNoIGltYWdl
IGZpbGUgaW4gaW1hZ2UgZGlyZWN0b3J5Ci0gKiAJCQlhbGVydChkb2NGaWxlc1tpXS5uYW1lKTsK
LSAqIAkJfQotICogCQl2YXIgdGVzdEZpbGUgPSBkb2NEaXIuY3JlYXRlRmlsZSgidGVzdC50eHQi
KTsKLSAqIAkJdmFyIG91dCA9IHRlc3RGaWxlLm9wZW4oInciLCAiVVRGLTgiKTsKLSAqIAkJLy8g
d3JpdGVzIEhlbGxvIFdvcmxkIHRvIHRlc3QudHh0Ci0gKiAJCW91dC53cml0ZSgiSGVsbG8gV29y
bGQiKTsKLSAqIAkJb3V0LmNsb3NlKCk7Ci0gKiAJfQotICoKLSAqIAlib25kaS5yZXF1ZXN0RmVh
dHVyZShzdWNjZXNzQ0IsIGVycm9yQ0IsICJmaWxlc3lzdGVtIik7Ci0gKiBcZW5kY29kZQotICog
Ci0gKiBcZGVmLWFwaS1mZWF0dXJlIGh0dHA6Ly9ib25kaS5vbXRwLm9yZy9hcGkvZmlsZXN5c3Rl
bS5yZWFkCi0gKiBcYnJpZWYgRmlsZXN5c3RlbSByZWFkIG9wZXJhdGlvbnMsIGluY2x1ZGluZyBy
ZWFkaW5nIGRpcmVjdG9yeSBsaXN0aW5ncywKLSAqICAgICAgICBmaWxlIGNvbnRlbnRzIGFuZCBy
ZXNvbHZpbmcgcm9vdCBsb2NhdGlvbnMuCi0gKiBcZGV2aWNlLWNhcCBpby5maWxlLnJlYWQKLSAq
Ci0gKiBcZGVmLWFwaS1mZWF0dXJlIGh0dHA6Ly9ib25kaS5vbXRwLm9yZy9hcGkvZmlsZXN5c3Rl
bS53cml0ZQotICogXGJyaWVmIEZpbGVzeXN0ZW0gd3JpdGUgb3BlcmF0aW9ucywgaW5jbHVkaW5n
IGNyZWF0aW5nIGZpbGVzL2RpcmVjdG9yaWVzLAotICogICAgICAgIHdyaXRpbmcgdG8gZmlsZXMs
IGRlbGV0aW5nIGZpbGVzL2RpcmVjdG9yaWVzLCBtb3ZpbmcgYW5kIGNvcHlpbmcKLSAqICAgICAg
ICBmaWxlcy4KLSAqIFxkZXZpY2UtY2FwIGlvLmZpbGUud3JpdGUKLSAqIAotICogXGRlZi1hcGkt
ZmVhdHVyZS1zZXQgaHR0cDovL2JvbmRpLm9tdHAub3JnL2FwaS9maWxlc3lzdGVtCi0gKiBcYnJp
ZWYgQWxsIHRoZSBGaWxlU3lzdGVtIGZlYXR1cmVzCi0gKiBcYXBpLWZlYXR1cmUgaHR0cDovL2Jv
bmRpLm9tdHAub3JnL2FwaS9maWxlc3lzdGVtLnJlYWQKLSAqIFxhcGktZmVhdHVyZSBodHRwOi8v
Ym9uZGkub210cC5vcmcvYXBpL2ZpbGVzeXN0ZW0ud3JpdGUKLSAqCi0gKiBcZGVmLWRldmljZS1j
YXAgaW8uZmlsZS5yZWFkCi0gKiBcYnJpZWYgUmVhZCBkaXJlY3Rvcnkgb3IgZmlsZQotICogXHBh
cmFtIG5hbWUgTmFtZSBvZiBkaXJlY3Rvcnkgb3IgZmlsZSwgaW4gdmlydHVhbCBmaWxlc3lzdGVt
LAotICogZS5nLiByb290bG9jYXRpb24vZmlsZW5hbWUKLSAqCi0gKiBcZGVmLWRldmljZS1jYXAg
aW8uZmlsZS53cml0ZQotICogXGJyaWVmIFdyaXRlIGRpcmVjdG9yeSBvciBmaWxlCi0gKiBccGFy
YW0gbmFtZSBOYW1lIG9mIGRpcmVjdG9yeSBvciBmaWxlLCBpbiB2aXJ0dWFsIGZpbGVzeXN0ZW0s
Ci0gKiBlLmcuIHJvb3Rsb2NhdGlvbi9maWxlbmFtZQotICoKLSAqIFxhdXRob3IgUGFkZHkgQnll
cnMgJmx0O3BhZGR5QGFwbGl4Y29ycC5jb20mZ3Q7Ci0gKiBcYXV0aG9yIEFuc2VsbSBSIEdhcmJl
ICZsdDthbnNlbG1AYXBsaXhjb3JwLmNvbSZndDsKLSAqIFx2ZXJzaW9uIDEuMQotICovCi1tb2R1
bGUgZmlsZXN5c3RlbSB7Ci0KLQkvKioKLQkgKiBcYnJpZWYgQXJyYXkgb2YgRmlsZSBoYW5kbGVz
LgotCSAqCi0JICogVGhpcyBhcnJheSB0eXBlIGlzIHJldHVybmVkIHdoZW4gZGlyZWN0b3J5IGxp
c3RpbmdzIGFyZSByZXF1ZXN0ZWQuCi0JICovCi0JdHlwZWRlZiBzZXF1ZW5jZTxGaWxlPiBGaWxl
QXJyYXk7Ci0KLQkvKioKLQkgKiBcYnJpZWYgRmlsZSBzeXN0ZW0gc3BlY2lmaWMgc3VjY2VzcyBj
YWxsYmFjay4KLQkgKgotCSAqIFRoaXMgY2FsbGJhY2sgaW50ZXJmYWNlIHNwZWNpZmllcyBhIHN1
Y2Nlc3MgY2FsbGJhY2sgd2l0aCBhIGZ1bmN0aW9uCi0JICogdGFraW5nIGEgRmlsZSBvYmplY3Qg
YXMgaW5wdXQgYXJndW1lbnQuIEl0IGlzIHVzZWQgaW4gYXN5bmNocm9ub3VzCi0JICogb3BlcmF0
aW9ucyBzdWNoIGFzIGNvcHlpbmcsIG1vdmluZyBhbmQgZGVsZXRpbmcgZmlsZXMuCi0JICovCi0J
W0NhbGxiYWNrPUZ1bmN0aW9uT25seSwgTm9JbnRlcmZhY2VPYmplY3RdIGludGVyZmFjZSBGaWxl
U3lzdGVtU3VjY2Vzc0NhbGxiYWNrIHsKLQkgICAvKioKLQkgICAgKiBcYnJpZWYgTWV0aG9kIGlu
dm9rZWQgd2hlbiB0aGUgYXN5bmNocm9ub3VzIGNhbGwgY29tcGxldGVzIHN1Y2Nlc2Z1bGx5Ci0J
ICAgICoKLQkgICAgKiBccGFyYW0gZmlsZSBUaGUgZmlsZSByZXN1bHRpbmcgZnJvbSB0aGUgYXN5
bmNocm9ub3VzIGNhbGwKLQkgICAgKi8KLQkJdm9pZCBvblN1Y2Nlc3MoaW4gRmlsZSBmaWxlKTsK
LQl9OwotCi0JLyoqCi0JICogXGJyaWVmIE1hbmFnZXIgY2xhc3MgZXhwb3NlZCBhcyB0aGUgZmls
ZXN5c3RlbSBtb2R1bGVzIEFQSS4KLQkgKgotCSAqIFRoaXMgbWFuYWdlciBjbGFzcyBleHBvc2Vz
IHRoZSBmaWxlc3lzdGVtIGJhc2UgQVBJLCBzdWNoIGFzCi0JICogZGV0ZXJtaW5pbmcgcm9vdCBh
bmQgZGVmYXVsdCBsb2NhdGlvbnMsIHJlc29sdmluZyBhIGdpdmVuIGxvY2F0aW9uCi0JICogaW50
byBhIEZpbGUgSGFuZGxlIGFuZCByZWdpc3RlcmluZyBmaWxlc3lzdGVtIGxpc3RlbmVycyBmb3IK
LQkgKiBmaWxlc3lzdGVtIGV2ZW50cy4KLQkgKgotCSAqIFxjb2RlCi0JICogCWZ1bmN0aW9uIGVy
cm9yQ0IoZXJyKSB7Ci0JICogCQlhbGVydCgiQk9OREkgZmlsZXN5c3RlbSBBUEkgY291bGRuJ3Qg
YmUgcmVxdWVzdGVkOiAiICsgZXJyLm1lc3NhZ2UpOwotCSAqIAl9Ci0JICoKLQkgKiAJZnVuY3Rp
b24gc3VjY2Vzc0NCKCkgewotCSAqIAkJdmFyIGRvY0xvY2F0aW9uID0gYm9uZGkuZmlsZXN5c3Rl
bS5nZXREZWZhdWx0TG9jYXRpb24oImRvY3VtZW50cyIpOwotCSAqIAkJdmFyIGRvY0RpciA9IGJv
bmRpLmZpbGVzeXN0ZW0ucmVzb2x2ZShkb2NMb2NhdGlvbik7Ci0JICogCQl2YXIgZG9jRmlsZXMg
PSBkb2NEaXIubGlzdEZpbGVzKCk7Ci0JICogCQlmb3IodmFyIGkgPSAwOyBpICZsdDsgZG9jRmls
ZXMubGVuZ3RoOyBpKyspIHsKLQkgKiAJCQkvLyBkaXNwbGF5cyBuYW1lIG9mIGVhY2ggaW1hZ2Ug
ZmlsZSBpbiBpbWFnZSBkaXJlY3RvcnkKLQkgKiAJCQlhbGVydChkb2NGaWxlc1tpXS5uYW1lKTsK
LQkgKiAJCX0KLQkgKiAJCXZhciB0ZXN0RmlsZSA9IGRvY0Rpci5jcmVhdGVGaWxlKCJ0ZXN0LnR4
dCIpOwotCSAqIAkJdmFyIG91dCA9IHRlc3RGaWxlLm9wZW4oInciLCAiVVRGLTgiKTsKLQkgKiAJ
CS8vIHdyaXRlcyBIZWxsbyBXb3JsZCB0byB0ZXN0LnR4dAotCSAqIAkJb3V0LndyaXRlKCJIZWxs
byBXb3JsZCIpOwotCSAqIAkJb3V0LmNsb3NlKCk7Ci0JICogCX0KLQkgKgotCSAqIAlib25kaS5y
ZXF1ZXN0RmVhdHVyZShzdWNjZXNzQ0IsIGVycm9yQ0IsICJmaWxlc3lzdGVtIik7Ci0JICogXGVu
ZGNvZGUKLQkgKi8KLQlpbnRlcmZhY2UgRmlsZVN5c3RlbU1hbmFnZXIgewotCi0JCS8qKgotCQkg
KiBcYnJpZWYgQ29udGFpbnMgdGhlIHBsYXRmb3JtLWRlcGVuZGVudCBtYXhpbXVtIHBhdGggbGVu
Z3RoLgotCQkgKgotCQkgKiBSZWFkLW9ubHkuCi0JCSAqCi0JCSAqIFxjb2RlCi0JCSAqIAlhbGVy
dChib25kaS5maWxlc3lzdGVtLm1heFBhdGhMZW5ndGgpOwotCQkgKiBcZW5kY29kZQotCQkgKi8K
LQkJcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbWF4UGF0aExlbmd0aDsKLQotCQkv
KioKLQkJICogXGJyaWVmIFJldHVybnMgYSBkZWZhdWx0IGxvY2F0aW9uIHBhdGggZm9yIHRoZSBn
aXZlbiBhcmd1bWVudHMsCi0JCSAqIGluY2x1ZGluZyB0aGUgcm9vdCBsb2NhdGlvbiBwcmVmaXgu
Ci0JCSAqCi0JCSAqIE9wdGlvbmFsbHkgdGhpcyBtZXRob2QgY2FuIGJlIGNhbGxlZCB3aXRoIHRo
ZSBzcGFjZSBhcmd1bWVudAotCQkgKiBzcGVjaWZ5aW5nIHRoZSBtaW5pbXVtIGZyZWUgZGlzayBz
cGFjZSByZXF1aXJlZC4KLQkJICoKLQkJICogVGhpcyBmdW5jdGlvbiByZXNvbHZlcyBsb2NhdGlv
biBzcGVjaWZpZXJzIHRvIGxvY2F0aW9uIHBhdGhzLgotCQkgKiBUaGUgZm9sbG93aW5nIGxvY2F0
aW9uIHNwZWNpZmllcnMgYXJlIHN1cHBvcnRlZDoKLQkJICogXG4gIndndDpwYWNrYWdlIiB0aGUg
d2lkZ2V0IHBhY2thZ2UgbG9jYXRpb24KLQkJICogXG4gIndndDpwcml2YXRlIiB0aGUgd2lkZ2V0
cyBwcml2YXRlIHN0b3JhZ2UKLQkJICogXG4gIndndDpwdWJsaWMiICB0aGUgd2lkZ2V0cyBwdWJs
aWMgc3RvcmFnZQotCQkgKiBcbiAid2d0OnRlbXAiICAgIHRoZSB3aWRnZXRzIHRlbXBvcmFyeSBz
dG9yYWdlCi0JCSAqIFxuICJkb2N1bWVudHMiICAgdGhlIGRvY3VtZW50cyBsb2NhdGlvbiwKLQkJ
ICogICAgICAgICAgICAgICAgICAgIGUuZy4gdGhlICJNeSBEb2N1bWVudHMiIGRpcmVjdG9yeSBv
biBzb21lIHN5c3RlbXMKLQkJICogXG4gImltYWdlcyIgICAgICB0aGUgaW1hZ2VzIGxvY2F0aW9u
LAotCQkgKiAgICAgICAgICAgICAgICAgICAgZS5nLiB0aGUgIk15IFBpY3R1cmVzIiBkaXJlY3Rv
cnkgb24gc29tZSBzeXN0ZW1zCi0JCSAqIFxuICJ2aWRlb3MiICAgICAgdGhlIHZpZGVvcyBsb2Nh
dGlvbiwKLQkJICogICAgICAgICAgICAgICAgICAgIGUuZy4gdGhlICJNeSBWaWRlb3MiIGRpcmVj
dG9yeSBvbiBzb21lIHN5c3RlbXMKLQkJICogXG4gInRlbXAiICAgICAgICB0aGUgdGVtcG9yYXJ5
IHN0b3JhZ2UsCi0JCSAqICAgICAgICAgICAgICAgICAgICBlLmcgcmVzb2x2aW5nIHRvICJUZW1w
IgotCQkgKiBcbiAic2RjYXJkIiAgICAgIHRoZSBzZGNhcmQgc3RvcmFnZSwgaWYgYW55Ci0JCSAq
Ci0JCSAqIFxjb2RlCi0JCSAqIAl2YXIgd2d0TG9jYXRpb24gPSBib25kaS5maWxlc3lzdGVtLmdl
dERlZmF1bHRMb2NhdGlvbignd2d0OnBhY2thZ2UnKTsKLQkJICogXGVuZGNvZGUKLQkJICoKLQkJ
ICogXHBhcmFtIHNwZWNpZmllciAgICB0aGUgbG9jYXRpb24gc3BlY2lmaWVyLCBzZWUgYWJvdmUg
Zm9yIHN1cHBvcnRlZCBzcGVjaWZpZXJzLgotCQkgKiBccGFyYW0gbWluRnJlZVNwYWNlIG9wdGlv
bmFsLCBtaW5pbXVtIHJlcXVpcmVkIGZyZWUgZGlzayBzcGFjZSBpbiBieXRlcyBmb3IKLQkJICog
ICAgICAgICAgICAgICAgICAgICB0aGlzIGxvY2F0aW9uLCA8ZW0+MDwvZW0+IChkZWZhdWx0KSBt
ZWFucyBubyBsaW1pdGF0aW9uCi0JCSAqIFxyZXR1cm4gdGhlIGxvY2F0aW9uIGFzIGEgc3RyaW5n
IG9yIDxlbT5udWxsPC9lbT4gaWYgdGhlcmUKLQkJICogICAgICAgICBpcyBubyBsb2NhdGlvbiBm
b3IgdGhlIGdpdmVuIHNwZWNpZmllciBvciBpZiB0aGVyZSBpcyBub3QKLQkJICogICAgICAgICBl
bm91Z2ggc3BhY2UgbGVmdCBmb3IgdGhlIHJlcXVlc3RlZCBzcGFjZSBpbiBieXRlcy4KLQkJICog
XHRocm93IERldmljZUFQSUVycm9yIElOVkFMSURfQVJHVU1FTlRfRVJST1IgaWYgdGhlCi0JCSAq
ICAgICAgICBzcGVjaWZpZXIgb3Igc3BhY2UgYXJndW1lbnRzIGFyZSBpbnZhbGlkCi0JCSAqLwot
CQlET01TdHJpbmcgZ2V0RGVmYXVsdExvY2F0aW9uKGluIERPTVN0cmluZyBzcGVjaWZpZXIsIGlu
IHVuc2lnbmVkIGxvbmcgbWluRnJlZVNwYWNlKQotCQkJcmFpc2VzKERldmljZUFQSUVycm9yKTsK
LQotCQkvKioKLQkJICogXGJyaWVmIFJldHVybnMgYWxsIHJvb3QgbG9jYXRpb25zLgotCQkgKgot
CQkgKiBUaGUgcm9vdCBsb2NhdGlvbnMgYXJlIHN5bWJvbGljIG5hbWVzIGZvciBmaWxlc3lzdGVt
Ci0JCSAqIGxvY2F0aW9ucyB3aGljaCBhcmUgYWNjZXNzaWJsZSBhbmQgc3VwcG9ydGVkIGJ5IHRo
ZQotCQkgKiB1bmRlcmx5aW5nIHBsYXRmb3JtLgotCQkgKgotCQkgKiBVc3VhbGx5IHRoZSBmb2xs
b3dpbmcgcm9vdCBsb2NhdGlvbnMgd2lsbCBiZSBzdXBwb3J0ZWQ6Ci0JCSAqIFxuICJkb2N1bWVu
dHMiIHJlcHJlc2VudHMgIk15IERvY3VtZW50cyIgb24gc29tZSBwbGF0Zm9ybXMKLQkJICogXG4g
ImltYWdlcyIgICAgcmVwcmVzZW50cyAiTXkgUGljdHVyZXMiIG9uIHNvbWUgcGxhdGZvcm1zCi0J
CSAqIFxuICJ2aWRlb3MiICAgIHJlcHJlc2VudHMgIk15IFZpZGVvcyIgb24gc29tZSBwbGF0Zm9y
bXMKLQkJICogXG4gInRlbXAiICAgICAgcmVwcmVzZW50cyAidG1wIiBvbiBzb21lIHBsYXRmb3Jt
cwotCQkgKiBcbiAic2RjYXJkIiAgICByZXByZXNlbnRzIHRoZSBzZGNhcmQgb24gc29tZSBwbGF0
Zm9ybXMKLQkJICoKLQkJICogU2VlIGFsc28gdGhlIGdldERlZmF1bHRMb2NhdGlvbiBtZXRob2Qu
Ci0JCSAqCi0JCSAqIFxjb2RlCi0JCSAqIAl2YXIgbG9jYXRpb25zID0gYm9uZGkuZmlsZXN5c3Rl
bS5nZXRSb290TG9jYXRpb25zKCk7Ci0JCSAqIAlmb3IodmFyIGkgPSAwOyBpICZsdDsgbG9jYXRp
b25zLmxlbmd0aDsgaSsrKSB7Ci0JCSAqIAkJLy8gbG9jYXRpb25zW2ldIGlzIGEgcmVzb2x2YWJs
ZSByb290IGxvY2F0aW9uCi0JCSAqIAl9Ci0JCSAqIFxlbmRjb2RlCi0JCSAqCi0JCSAqIFxyZXR1
cm4gc3RyaW5nIGFycmF5IG9mIHJvb3QgbG9jYXRpb25zLgotCQkgKi8KLQkJU3RyaW5nQXJyYXkg
Z2V0Um9vdExvY2F0aW9ucygpOwotCi0JCS8qKgotCQkgKiBcYnJpZWYgUmVzb2x2ZXMgYSBsb2Nh
dGlvbiB0byBhIEZpbGUgaGFuZGxlLgotCQkgKgotCQkgKiBWYWxpZGF0ZXMgYW5kIHJlc29sdmVz
IHRoZSBnaXZlbiBsb2NhdGlvbiB0byBhIEZpbGUgaGFuZGxlCi0JCSAqIGFuZCByZXR1cm5zIGEg
aGFuZGxlLiBBIHZhbGlkIGxvY2F0aW9uIGlzIHByZWZpeGVkIHdpdGggYQotCQkgKiB2YWxpZCBy
b290IG9yIGRlZmF1bHQgbG9jYXRpb24gYW5kIG11c3QgYWRkcmVzcyBhbiBleGlzdGluZwotCQkg
KiBhbmQgYWNjZXNzaWJsZSBmaWxlLiAgCi0JCSAqCi0JCSAqIFxhcGktZmVhdHVyZSBodHRwOi8v
Ym9uZGkub210cC5vcmcvYXBpL2ZpbGVzeXN0ZW0ucmVhZAotCQkgKgotCQkgKiBcY29kZQotCQkg
KiAJdmFyIGxvY2F0aW9uID0gYm9uZGkuZmlsZXN5c3RlbS5nZXREZWZhdWx0TG9jYXRpb24oInRl
bXAiKTsKLQkJICogCXZhciB0ZW1wID0gYm9uZGkuZmlsZXN5c3RlbS5yZXNvbHZlKGxvY2F0aW9u
KTsKLQkJICogCXZhciBkb2N1bWVudHMgPSBib25kaS5maWxlc3lzdGVtLmdldERlZmF1bHRMb2Nh
dGlvbigiZG9jdW1lbnRzIik7Ci0JCSAqIAl2YXIgbXlkb2MgPSBib25kaS5maWxlc3lzdGVtLnJl
c29sdmUoZG9jdW1lbnRzICsgIi9kYXRhLzIwMDkvbXlkb2MudHh0Iik7Ci0JCSAqIFxlbmRjb2Rl
Ci0JCSAqCi0JCSAqIFxwYXJhbSBsb2NhdGlvbiB0aGUgbG9jYXRpb24gdG8gcmVzb2x2ZS4gTXVz
dCBiZSBhYnNvbHV0ZQotCQkgKiAgICAgICAgcHJlZml4ZWQgYnkgYSB2YWxpZCByb290IG9yIGRl
ZmF1bHQgbG9jYXRpb24uCi0JCSAqIFxyZXR1cm4gdGhlIHJlc29sdmVkIGZpbGUgb2JqZWN0Lgot
CQkgKiBcdGhyb3cgU2VjdXJpdHlFcnJvciBQRVJNSVNTSU9OX0RFTklFRF9FUlJPUiB3aGVuCi0J
CSAqICAgICAgICBhY2Nlc3MgaXMgZGVuaWVkIGJ5IHRoZSBzZWN1cml0eSBwb2xpY3kuCi0JCSAq
IFx0aHJvdyBEZXZpY2VBUElFcnJvciBJTlZBTElEX0FSR1VNRU5UX0VSUk9SIGlmIGludmFsaWQg
bG9jYXRpb24gd2FzIGdpdmVuLgotCQkgKi8KLQkJRmlsZSByZXNvbHZlKGluIERPTVN0cmluZyBs
b2NhdGlvbikKLQkJCXJhaXNlcyhTZWN1cml0eUVycm9yLCBEZXZpY2VBUElFcnJvcik7Ci0KLQkJ
LyoqCi0JCSAqIFxicmllZiBSZWdpc3RlcnMgYSBmaWxlc3lzdGVtIGV2ZW50IGxpc3RlbmVyLgot
CQkgKgotCQkgKiBGaWxlc3lzdGVtIGV2ZW50IGxpc3RlbmVycyBhcmUgdXNlZCBpbiBvcmRlciB0
byByZXRyaWV2ZQotCQkgKiBub3RpZmljYXRpb25zIGlmIHJvb3Qgb3IgZGVmYXVsdCBsb2NhdGlv
bnMgc3VjaCBhcyBzdG9yYWdlCi0JCSAqIGNhcmRzIGFyZSBtb3VudGVkL3VubW91bnRlZCBpbnRv
L2Zyb20gdGhlIGRldmljZSBmaWxlc3lzdGVtLgotCQkgKgotCQkgKiBcYXBpLWZlYXR1cmUgaHR0
cDovL2JvbmRpLm9tdHAub3JnL2FwaS9maWxlc3lzdGVtLnJlYWQKLQkJICoKLQkJICogXGNvZGUK
LQkJICogCXZhciBsaXN0ZW5lciA9IHsgbW91bnRFdmVudDogZnVuY3Rpb24obG9jYXRpb24pIHsg
YWxlcnQoJ21vdW50ZWQgJyArIGxvY2F0aW9uKTsgfSwKLQkJICogCSAgICAgICAgICAgICAgICAg
dW5tb3VudEV2ZW50OiBmdW5jdGlvbihsb2NhdGlvbikgeyBhbGVydCgndW5tb3VudGVkICcgKyBs
b2NhdGlvbik7IH07Ci0JCSAqIAlib25kaS5maWxlc3lzdGVtLnJlZ2lzdGVyRXZlbnRMaXN0ZW5l
cihsaXN0ZW5lcik7Ci0JCSAqIFxlbmRjb2RlCi0JCSAqCi0JCSAqIFxwYXJhbSBsaXN0ZW5lciB0
aGUgbGlzdGVuZXIgaW50ZXJmYWNlIGltcGxlbWVudGF0aW9uCi0JCSAqIFx0aHJvdyBEZXZpY2VB
UElFcnJvciBJTlZBTElEX0FSR1VNRU5UX0VSUk9SIGlmIHRoZSBnaXZlbiBsaXN0ZW5lcgotCQkg
KiAgICAgICAgaXMgaW52YWxpZCBvciBub3QgYSBsaXN0ZW5lci4KLQkJICovCi0JCXZvaWQgcmVn
aXN0ZXJFdmVudExpc3RlbmVyKGluIEZpbGVTeXN0ZW1MaXN0ZW5lciBsaXN0ZW5lcikKLQkJCXJh
aXNlcyhEZXZpY2VBUElFcnJvcik7Ci0KLQkJLyoqCi0JCSAqIFxicmllZiBVbnJlZ2lzdGVycyBh
IGZpbGVzeXN0ZW0gZXZlbnQgbGlzdGVuZXIuCi0JCSAqCi0JCSAqIFxjb2RlCi0JCSAqIAlib25k
aS5maWxlc3lzdGVtLnVucmVnaXN0ZXJFdmVudExpc3RlbmVyKGxpc3RlbmVyKTsKLQkJICogXGVu
ZGNvZGUKLQkJICoKLQkJICogXHBhcmFtIGxpc3RlbmVyIHRoZSBsaXN0ZW5lciBpbnRlcmZhY2Ug
aW1wbGVtZW50YXRpb24KLQkJICogXHRocm93IERldmljZUFQSUVycm9yIElOVkFMSURfQVJHVU1F
TlRfRVJST1IgaWYgdGhlIGdpdmVuIGxpc3RlbmVyCi0JCSAqICAgICAgICBpcyBpbnZhbGlkIG9y
IG5vdCBhIGxpc3RlbmVyLgotCQkgKi8KLQkJdm9pZCB1bnJlZ2lzdGVyRXZlbnRMaXN0ZW5lcihp
biBGaWxlU3lzdGVtTGlzdGVuZXIgbGlzdGVuZXIpCi0JCQlyYWlzZXMoRGV2aWNlQVBJRXJyb3Ip
OwotCX07Ci0KLQkvKioKLQkgKiBcYnJpZWYgRmlsZXN5c3RlbSBldmVudCBsaXN0ZW5lciBjbGFz
cy4KLQkgKgotCSAqIFRoaXMgbGlzdGVuZXIgaW1wbGVtZW50cyB0d28gbWV0aG9kcyB0byByZXRy
aWV2ZSBtb3VudCBhbmQgdW5tb3VudAotCSAqIG5vdGlmaWNhdGlvbnMgaWYgcm9vdCBvciBkZWZh
dWx0IGxvY2F0aW9ucyBvbiBhIHN0b3JhZ2UgY2FyZCBnZXQKLQkgKiBhdmFpbGFibGUgb3IgdW5h
dmFpbGFibGUuCi0JICoKLQkgKiBcY29kZQotCSAqIAl2YXIgZnNFdmVudEltcGwgPSB7Ci0JICog
CQltb3VudEV2ZW50OiBmdW5jdGlvbihsb2NhdGlvbikgewotCSAqIAkJCS8vIGxvY2F0aW9uIGhh
cyBiZWVuIG1vdW50ZWQKLQkgKiAJCX0sCi0JICogCQl1bm1vdW50RXZlbnQ6IGZ1bmN0aW9uKGxv
Y2F0aW9uKSB7Ci0JICogCQkJLy8gbG9jYXRpb24gaGFzIGJlZW4gdW5tb3VudGVkCi0JICogCQl9
Ci0JICogCX07Ci0JICogXGVuZGNvZGUKLQkgKi8KLQlpbnRlcmZhY2UgRmlsZVN5c3RlbUxpc3Rl
bmVyIHsKLQotCQkvKioKLQkJICogXGJyaWVmIENhbGxlZCB3aGVuIGEgbmV3IHJvb3QgbG9jYXRp
b24gZ2V0cyBhdmFpbGFibGUuCi0JCSAqCi0JCSAqIEEgbmV3IGxvY2F0aW9uIGNvdWxkIGJlIGEg
c3RvcmFnZSBjYXJkIGZvciBleGFtcGxlLgotCQkgKgotCQkgKiBccGFyYW0gbG9jYXRpb24gdGhl
IG5ld2x5IGF2YWlsYWJsZSBsb2NhdGlvbgotCQkgKi8KLQkJdm9pZCBtb3VudEV2ZW50KGluIERP
TVN0cmluZyBsb2NhdGlvbik7Ci0KLQkJLyoqCi0JCSAqIFxicmllZiBDYWxsZWQgd2hlbiBhIGxv
Y2F0aW9uIGdldHMgdW5hdmFpbGFibGUuCi0JCSAqCi0JCSAqIFN1Y2ggYSBsb2NhdGlvbiBjb3Vs
ZCBiZSBhIHN0b3JhZ2UgY2FyZCBmb3IgZXhhbXBsZS4KLQkJICoKLQkJICogXHBhcmFtIGxvY2F0
aW9uIHRoZSBsb2NhdGlvbiB3aGljaCBpcyBiZWNvbWluZyB1bmF2YWlsYWJsZQotCQkgKi8KLQkJ
dm9pZCB1bm1vdW50RXZlbnQoaW4gRE9NU3RyaW5nIGxvY2F0aW9uKTsKLQl9OwotCi0JLyoqCi0J
ICogXGJyaWVmIEZpbGUgY2xhc3MuCi0JICoKLQkgKiBUaGlzIGludGVyZmFjZSByZXByZXNlbnRz
IHRoZSBmaWxlIGFic3RyYWN0aW9uIGluIHVzZS4gQSBmaWxlIGhhbmRsZQotCSAqIGNhbiBhZGRy
ZXNzIGZpbGVzIG9yIGRpcmVjdG9yaWVzLiAgQSBmaWxlIGhhbmRsZSByZXByZXNlbnRzIGEgZmls
ZQotCSAqIGlmIHRoZSBpc0ZpbGUgcHJvcGVydHkgaXMgPGVtPnRydWU8L2VtPiwgb3RoZXJ3aXNl
IGl0IHJlcHJlc2VudHMgYQotCSAqIGRpcmVjdG9yeS4KLQkgKgotCSAqIEEgZmlsZSBoYW5kbGUg
cmVwcmVzZW50aW5nIGEgZmlsZSBjYW4gYmUgb3BlbmVkIGZvciBJL08gb3BlcmF0aW9ucwotCSAq
IHN1Y2ggYXMgcmVhZGluZyBhbmQgd3JpdGluZy4KLQkgKgotCSAqIEEgZmlsZSBoYW5kbGUgcmVw
cmVzZW50aW5nIGEgZGlyZWN0b3J5IGNhbiBsaXN0IGFsbCBmaWxlcyBpbiB0aGUKLQkgKiBjdXJy
ZW50IGRpcmVjdG9yeS4KLQkgKgotCSAqIFxjb2RlCi0JICoKLQkgKgkvLyBsaXN0IGRpcmVjdG9y
eSBjb250ZW50cwotCSAqIAl2YXIgZmlsZXMgPSBkaXIubGlzdEZpbGVzKCk7Ci0JICogCWZvcih2
YXIgaSA9IDA7IGkgJmx0OyBmaWxlcy5sZW5ndGg7IGkrKykgewotCSAqIAkJLy8gYWxlcnRzIGVh
Y2ggbmFtZSBvZiBkaXIncyBjb250ZW50cwotCSAqIAkJYWxlcnQoZmlsZXNbaV0ubmFtZSk7Ci0J
ICogCX0KLQkgKiAKLQkgKiAJLy8gb3BlbnMgYSBmaWxlIGZvciB3cml0aW5nCi0JICogCXZhciBm
aWxlID0gZGlyLmNyZWF0ZUZpbGUoInRlc3QudHh0Iik7Ci0JICogCXZhciBvdXQgID0gZmlsZS5v
cGVuKCJ3IiwgIlVURi04Iik7Ci0JICogCS8vIHdyaXRlcyBIZWxsbyBXb3JsZCB0byB0ZXN0LnR4
dAotCSAqIAlvdXQud3JpdGUoIkhlbGxvIFdvcmxkIik7Ci0JICogCW91dC5jbG9zZSgpOwotCSAq
IFxlbmRjb2RlCi0JICovCi0JaW50ZXJmYWNlIEZpbGUgewotCi0JCS8qKgotCQkgKiBcYnJpZWYg
UGFyZW50IGRpcmVjdG9yeSBoYW5kbGUuCi0JCSAqCi0JCSAqIFJlYWQtb25seS4KLQkJICoKLQkJ
ICogPGVtPm51bGw8L2VtPiBpZiB0aGVyZSBpcyBubyBwYXJlbnQgZGlyZWN0b3J5LgotCQkgKgot
CQkgKiBJZiB0aGVyZSBpcyBubyBwYXJlbnQgZGlyZWN0b3J5LCB0aGlzIHJlcHJlc2VudHMgYSBy
b290IGxvY2F0aW9uLgotCQkgKgotCQkgKiBcY29kZQotCQkgKiAJdmFyIHBhcmVudCA9IGZpbGUu
cGFyZW50OwotCQkgKiAJaWYocGFyZW50ICE9IG51bGwpIHsKLQkJICogCQkvLyBwYXJlbnQgZGly
ZWN0b3J5IGhhbmRsZQotCQkgKiAJfQotCQkgKiBcZW5kY29kZQotCQkgKi8KLQkJcmVhZG9ubHkg
YXR0cmlidXRlIEZpbGUgcGFyZW50OwotCi0JCS8qKgotCQkgKiBcYnJpZWYgRmlsZS9kaXJlY3Rv
cnkgYWNjZXNzIHN0YXRlIGluIHRoZSBmaWxlc3lzdGVtLgotCQkgKgotCQkgKiBSZWFkLW9ubHku
Ci0JCSAqCi0JCSAqIDxlbT5mYWxzZTwvZW0+IGlmIHRoZXJlIGlzIHdyaXRlIGFjY2Vzcy4KLQkJ
ICoKLQkJICogVGhpcyBhdHRyaWJ1dGUgcmVwcmVzZW50cyB0aGUgYWN0dWFsIHN0YXRlIG9mIGEK
LQkJICogZmlsZS9kaXJlY3RvcnkgaW4gdGhlIGZpbGVzeXN0ZW0uIEl0IGRvZXMgbm90IGNoZWNr
IGlmIHRoZQotCQkgKiBhY2Nlc3NvciBoYXMgaW8uZmlsZS53cml0ZSBwZXJtaXNzaW9uLgotCQkg
KgotCQkgKiBcY29kZQotCQkgKiAJaWYoZmlsZS5yZWFkT25seSkgewotCQkgKiAJCS8vIGZpbGUg
Y2Fubm90IGJlIHdyaXR0ZW4KLQkJICogCX0KLQkJICogXGVuZGNvZGUKLQkJICovCi0JCXJlYWRv
bmx5IGF0dHJpYnV0ZSBib29sZWFuIHJlYWRPbmx5OwotCi0JCS8qKgotCQkgKiBcYnJpZWYgRmls
ZSB0eXBlLgotCQkgKgotCQkgKiBSZWFkLW9ubHkuCi0JCSAqCi0JCSAqIDxlbT50cnVlPC9lbT4g
aWYgdGhpcyBoYW5kbGUgaXMgYSBmaWxlLgotCQkgKiA8ZW0+ZmFsc2U8L2VtPiBpZiB0aGlzIGhh
bmRsZSBpcyBhIGRpcmVjdG9yeS4KLQkJICoKLQkJICogXGNvZGUKLQkJICogCWlmKGZpbGUuaXNG
aWxlKSB7Ci0JCSAqIAkJLy8gaXMgYSBmaWxlCi0JCSAqIAl9Ci0JCSAqIFxlbmRjb2RlCi0JCSAq
LwotCQlyZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiBpc0ZpbGU7Ci0KLQkJLyoqCi0JCSAqIFxi
cmllZiBGaWxlIHR5cGUuCi0JCSAqCi0JCSAqIFJlYWQtb25seS4KLQkJICoKLQkJICogPGVtPnRy
dWU8L2VtPiBpZiB0aGlzIGhhbmRsZSBpcyBhIGRpcmVjdG9yeS4KLQkJICogPGVtPmZhbHNlPC9l
bT4gaWYgdGhpcyBoYW5kbGUgaXMgYSBmaWxlLgotCQkgKgotCQkgKiBcY29kZQotCQkgKiAJaWYo
ZmlsZS5pc0RpcmVjdG9yeSkgewotCQkgKiAJCS8vIGlzIGEgZGlyZWN0b3J5Ci0JCSAqIAl9Ci0J
CSAqIFxlbmRjb2RlCi0JCSAqLwotCQlyZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiBpc0RpcmVj
dG9yeTsKLQotCQkvKioKLQkJICogXGJyaWVmIENyZWF0aW9uIHRpbWVzdGFtcC4KLQkJICoKLQkJ
ICogUmVhZC1vbmx5LgotCQkgKgotCQkgKiBUaGUgY3JlYXRpb24gdGltZXN0YW1wIG9mIHRoaXMg
ZmlsZS4gVGhpcyBpcyB0aGUgdGltZXN0YW1wCi0JCSAqIHdoZW4gdGhlIGZpbGUgd2FzIGZpcnN0
IGNyZWF0ZWQgaW4gdGhlIGZpbGVzeXN0ZW0uIFRoaXMgaXMKLQkJICogZXF1aXZhbGVudCB0byB0
aGUgdGltZXN0YW1wIHdoZW4gYSBjYWxsIHRvIGNyZWF0ZUZpbGUoKQotCQkgKiBzdWNjZWVkcy4K
LQkJICoKLQkJICogSXQgaXMgdW5zcGVjaWZpZWQgYW5kIHBsYXRmb3JtLWRlcGVuZGVudCBpZiB0
aGUgY3JlYXRpb24KLQkJICogdGltZXN0YW1wIGNoYW5nZXMgd2hlbiBhIGZpbGUgaXMgbW92ZWQu
Ci0JCSAqCi0JCSAqIFxjb2RlCi0JCSAqIAlhbGVydChmaWxlLmNyZWF0ZWQpOyAvLyBkaXNwbGF5
cyB0aGUgY3JlYXRpb24gdGltZXN0YW1wCi0JCSAqIFxlbmRjb2RlCi0JCSAqCi0JCSAqLwotCQly
ZWFkb25seSBhdHRyaWJ1dGUgRGF0ZSBjcmVhdGVkOwotCi0JCS8qKgotCQkgKiBcYnJpZWYgTW9k
aWZpY2F0aW9uIHRpbWVzdGFtcC4KLQkJICoKLQkJICogUmVhZC1vbmx5LgotCQkgKgotCQkgKiBU
aGUgbW9kaWZpY2F0aW9uIHRpbWVzdGFtcCBvZiB0aGlzIGZpbGUuIFRoaXMgaXMgdGhlIHRpbWVz
dGFtcAotCQkgKiBvZiB0aGUgbW9zdCByZWNlbnQgbW9kaWZpY2F0aW9uIHRvIHRoZSBmaWxlLCB1
c3VhbGx5IHdoZW4gdGhlIGxhc3QKLQkJICogd3JpdGUgb3BlcmF0aW9uIHN1Y2NlZWRlZC4gT3Bl
bmluZyBhIGZpbGUgZm9yIHJlYWRpbmcgZG9lcyBub3QgY2hhbmdlCi0JCSAqIHRoZSBtb2RpZmlj
YXRpb24gdGltZXN0YW1wLgotCQkgKgotCQkgKiBcY29kZQotCQkgKiAJYWxlcnQoZmlsZS5tb2Rp
ZmllZCk7IC8vIGRpc3BsYXlzIHRoZSBtb2RpZmljYXRpb24gdGltZXN0YW1wCi0JCSAqIFxlbmRj
b2RlCi0JCSAqCi0JCSAqLwotCQlyZWFkb25seSBhdHRyaWJ1dGUgRGF0ZSBtb2RpZmllZDsKLQot
CQkvKioKLQkJICogXGJyaWVmIFBhdGggb2YgdGhpcyBmaWxlLCBleGNsdWRpbmcgdGhlIGZpbGUg
bmFtZS4KLQkJICoKLQkJICogUmVhZC1vbmx5LgotCQkgKgotCQkgKiBJZiB0aGUgZmlsZSBwYXRo
IGlzIDxlbT4vYmF6L2Zvby5iYXI8L2VtPiwgdGhlbgotCQkgKiB0aGUgcGF0aCBpcyA8ZW0+L2Jh
ei88L2VtPi4gIAotCQkgKgotCQkgKiBUaGUgZW5jb2Rpbmcgb2YgZmlsZSBwYXRocyBpcyA8YSBo
cmVmPSJodHRwOi8vd3d3LmlldGYub3JnL3JmYy9yZmMyMjc5LnR4dCI+VVRGLTg8L2E+LgotCQkg
KgotCQkgKiBcY29kZQotCQkgKiAJYWxlcnQoZmlsZS5wYXRoKTsgLy8gc2hvdWxkIGJlIC9iYXov
IGlmIHRoZSBmaWxlIGlzIC9iYXovZm9vLmJhcgotCQkgKiBcZW5kY29kZQotCQkgKi8KLQkJcmVh
ZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBwYXRoOwotCi0JCS8qKgotCQkgKiBcYnJpZWYgRmls
ZSBuYW1lLCBleGNsdWRpbmcgYW55IHBhdGggY29tcG9uZW50cy4KLQkJICoKLQkJICogUmVhZC1v
bmx5LgotCQkgKgotCQkgKiBBc3N1bWVkIHRoZSBmaWxlIHBhdGggaXMgPGVtPi9iYXovZm9vLmJh
cjwvZW0+LCB0aGVuCi0JCSAqIHRoZSBmaWxlIG5hbWUgaXMgPGVtPmZvby5iYXI8L2VtPi4KLQkJ
ICoKLQkJICogVGhlIGVuY29kaW5nIG9mIGZpbGUgbmFtZXMgaXMgPGEgaHJlZj0iaHR0cDovL3d3
dy5pZXRmLm9yZy9yZmMvcmZjMjI3OS50eHQiPlVURi04PC9hPi4KLQkJICoKLQkJICogXGNvZGUK
LQkJICogCWFsZXJ0KGZpbGUubmFtZSk7IC8vIHNob3VsZCBiZSBmb28uYmFyIGlmIHRoZSBmaWxl
IHBhdGggaXMgL2Jhei9mb28uYmFyCi0JCSAqIFxlbmRjb2RlCi0JCSAqLwotCQlyZWFkb25seSBh
dHRyaWJ1dGUgRE9NU3RyaW5nIG5hbWU7Ci0KLQkJLyoqCi0JCSAqIFxicmllZiBBYnNvbHV0ZSBw
YXRoIG9mIHRoaXMgZmlsZS4KLQkJICoKLQkJICogUmVhZC1vbmx5LgotCQkgKgotCQkgKiBBc3N1
bWVkIHRoZSBmaWxlIHBhdGggaXMgPGVtPi9iYXovZm9vLmJhcjwvZW0+LCB0aGVuIHRoaXMgaXMg
dGhlIGFic29sdXRlIHBhdGguCi0JCSAqCi0JCSAqIFRoZSBlbmNvZGluZyBvZiBmaWxlIHBhdGhz
IGlzIDxhIGhyZWY9Imh0dHA6Ly93d3cuaWV0Zi5vcmcvcmZjL3JmYzIyNzkudHh0Ij5VVEYtODwv
YT4uCi0JCSAqCi0JCSAqIFxjb2RlCi0JCSAqIAlhbGVydChmaWxlLmFic29sdXRlUGF0aCk7IC8v
IHNob3VsZCBiZSAvYmF6L2Zvby5iYXIgaWYgdGhlIGZpbGUgaXMgL2Jhei9mb28uYmFyCi0JCSAq
IFxlbmRjb2RlCi0JCSAqLwotCQlyZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGFic29sdXRl
UGF0aDsKLQotCQkvKioKLQkJICogXGJyaWVmIFNpemUgaW4gYnl0ZXMgb2YgdGhpcyBmaWxlLgot
CQkgKgotCQkgKiBSZWFkLW9ubHkuCi0JCSAqCi0JCSAqIElmIGl0IGlzIGF0dGVtcHRlZCB0byBy
ZWFkIHRoaXMgYXR0cmlidXRlIG9uIGEgZGlyZWN0b3J5LAotCQkgKiA8ZW0+dW5kZWZpbmVkPC9l
bT4gaXMgcmV0dXJuZWQuCi0JCSAqCi0JCSAqIFxjb2RlCi0JCSAqIAlhbGVydChmaWxlLmZpbGVT
aXplKTsgLy8gZGlzcGxheXMgdGhlIGZpbGUgc2l6ZQotCQkgKiBcZW5kY29kZQotCQkgKi8KLQkJ
cmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgZmlsZVNpemU7Ci0KLQkJLyoqCi0JCSAq
IFxicmllZiBGaWxlcyBtZXRhZGF0YS4KLQkJICoKLQkJICogVGhlIGFjdHVhbCBtYXAgY29udGVu
dHMgYXJlIGltcGxlbWVudGF0aW9uIGRlcGVuZGVudC4KLQkJICoKLQkJICogXGNvZGUKLQkJICog
CS8vIHNob3VsZCBkaXNwbGF5IHRoZSBmaWxlIGF1dGhvciwgaWYgc3VwcG9ydGVkIGJ5IHRoZQot
CQkgKiAJLy8gcGxhdGZvcm0sIHVuZGVmaW5lZCBvdGhlcndpc2UKLQkJICogCWFsZXJ0KGZpbGUu
bWV0YWRhdGEuYXV0aG9yKTsKLQkJICogXGVuZGNvZGUKLQkJICovCi0JCXJlYWRvbmx5IGF0dHJp
YnV0ZSBNYXAgbWV0YWRhdGE7Ci0KLQkJLyoqCi0JCSAqIFxicmllZiBSZXR1cm5zIGxpc3Qgb2Yg
YWxsIGZpbGVzIG9mIHRoaXMgZGlyZWN0b3J5LgotCQkgKgotCQkgKiBUaGUgbGlzdCBvZiBmaWxl
cyBjb250YWlucyBkaXJlY3RvcmllcyBhbmQgZmlsZXMsIGl0IGRvZXMKLQkJICogbm90IGNvbnRh
aW4gdGhlIGRpcmVjdG9yaWVzICIuIiBhbmQgIi4uIi4KLQkJICoKLQkJICogXGFwaS1mZWF0dXJl
IGh0dHA6Ly9ib25kaS5vbXRwLm9yZy9hcGkvZmlsZXN5c3RlbS5yZWFkCi0JCSAqCi0JCSAqIFxj
b2RlCi0JCSAqIAl2YXIgZmlsZXMgPSBkaXIubGlzdEZpbGVzKCk7Ci0JCSAqIAlmb3IodmFyIGkg
PSAwOyBpICZsdDsgZmlsZXMubGVuZ3RoOyBpKyspIHsKLQkJICogCQkvLyBmaWxlc1tpXSBpdGVy
YXRlIG92ZXIgYWxsIGZpbGVzIG9mIHRoaXMgZGlyZWN0b3J5Ci0JCSAqIAl9Ci0JCSAqIFxlbmRj
b2RlCi0JCSAqCi0JCSAqIFxyZXR1cm4gYXJyYXkgb2YgY29udGVudHMgb2YgdGhpcyBkaXJlY3Rv
cnkuCi0JCSAqIFx0aHJvdyBTZWN1cml0eUVycm9yIFBFUk1JU1NJT05fREVOSUVEX0VSUk9SIHdo
ZW4KLQkJICogICAgICAgIGFjY2VzcyBpcyBkZW5pZWQgYnkgdGhlIHNlY3VyaXR5IHBvbGljeS4K
LQkJICogXHRocm93IERldmljZUFQSUVycm9yIElPX0VSUk9SIGlmIHRoaXMgaXMgbm90IGEgZGly
ZWN0b3J5LgotCQkgKi8KLQkJRmlsZUFycmF5IGxpc3RGaWxlcygpCi0JCQlyYWlzZXMoU2VjdXJp
dHlFcnJvciwgRGV2aWNlQVBJRXJyb3IpOwotCi0JCS8qKgotCQkgKiBcYnJpZWYgT3BlbnMgdGhl
IGZpbGUgaW4gdGhlIGdpdmVuIG1vZGUgc3VwcG9ydGluZyB0aGUgZ2l2ZW4KLQkJICogZW5jb2Rp
bmcuCi0JCSAqCi0JCSAqIFxhcGktZmVhdHVyZSBodHRwOi8vYm9uZGkub210cC5vcmcvYXBpL2Zp
bGVzeXN0ZW0ucmVhZAotCQkgKiBcYXBpLWZlYXR1cmUgaHR0cDovL2JvbmRpLm9tdHAub3JnL2Fw
aS9maWxlc3lzdGVtLndyaXRlCi0JCSAqCi0JCSAqIFxjb2RlCi0JCSAqIAkvLyBvcGVucyBmaWxl
IGZvciByZWFkaW5nCi0JCSAqIAl2YXIgaW4gPSBmaWxlLm9wZW4oInIiLCAiVVRGLTgiKTsKLQkJ
ICogXGVuZGNvZGUKLQkJICoKLQkJICogXHBhcmFtIG1vZGUgdGhlIG1vZGUgZm9yIG9wZW5pbmcg
YSBmaWxlCi0JCSAqIFxuICJyIiBmb3IgcmVhZGluZwotCQkgKiBcbiAiYSIgZm9yIGFwcGVuZGlu
ZwotCQkgKiBcbiAidyIgZm9yIFtvdmVyXXdyaXRpbmcKLQkJICogXHBhcmFtIGVuY29kaW5nIHRo
ZSBlbmNvZGluZyBmb3IgcmVhZC93cml0ZSBvcGVyYXRpb25zIG9uIHRoZSBmaWxlLAotCQkgKiAg
ICAgICAgICAgICAgICAgICBzdXBwb3J0ZWQgZW5jb2RpbmdzIGFyZToKLQkJICogXG4gIjxhIGhy
ZWY9Imh0dHA6Ly93d3cuaWV0Zi5vcmcvcmZjL3JmYzIyNzkudHh0Ij5VVEYtODwvYT4iIGRlZmF1
bHQgZW5jb2RpbmcKLQkJICogXG4gIjxhIGhyZWY9Imh0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dp
a2kvSVNPL0lFQ184ODU5LTEiPklTTzg4NTktMTwvYT4iIGxhdGluMSBlbmNvZGluZwotCQkgKiBc
cmV0dXJuIGZpbGUgc3RyZWFtIGhhbmRsZSB0byByZWFkL3dyaXRlIGZyb20vdG8uCi0JCSAqIFx0
aHJvdyBTZWN1cml0eUVycm9yIFBFUk1JU1NJT05fREVOSUVEX0VSUk9SIHdoZW4KLQkJICogICAg
ICAgIGFjY2VzcyBpcyBkZW5pZWQgYnkgdGhlIHNlY3VyaXR5IHBvbGljeS4KLQkJICogXHRocm93
IERldmljZUFQSUVycm9yIElOVkFMSURfQVJHVU1FTlRfRVJST1IgaWYgaW52YWxpZCBtb2RlCi0J
CSAqICAgICAgICBvciB1bnN1cHBvcnRlZCBlbmNvZGluZyBpcyBzdXBwbGllZC4KLQkJICogXHRo
cm93IERldmljZUFQSUVycm9yIElPX0VSUk9SIGlmIHRoaXMgaXMgbm90IGEgZmlsZS4KLQkJICov
Ci0JCUZpbGVTdHJlYW0gb3BlbihpbiBET01TdHJpbmcgbW9kZSwgaW4gRE9NU3RyaW5nIGVuY29k
aW5nKQotCQkJcmFpc2VzKFNlY3VyaXR5RXJyb3IsIERldmljZUFQSUVycm9yKTsKLQotCQkvKioK
LQkJICogXGJyaWVmIENvcGllcyB0aGlzIGZpbGUuCi0JCSAqCi0JCSAqIFRoZSBjb3B5IHdpbGwg
YmUgY3JlYXRlZCBpbiB0aGUgZ2l2ZW4gcGF0aC4gSWYgdGhpcyBmdW5jdGlvbgotCQkgKiBmYWls
cyBhbmQgdGhlIGVycm9yIGNhbGxiYWNrIGlzIGNhbGxlZCwgaXQgd2lsbCBwYXNzIGFuCi0JCSAq
IERldmljZUFQSUVycm9yIElPX0VSUk9SIHRvIHRoZSBjYWxsYmFjay4KLQkJICoKLQkJICogVGhl
IGVuY29kaW5nIG9mIGZpbGUgcGF0aHMgaXMgPGEgaHJlZj0iaHR0cDovL3d3dy5pZXRmLm9yZy9y
ZmMvcmZjMjI3OS50eHQiPlVURi04PC9hPi4KLQkJICoKLQkJICogXGFwaS1mZWF0dXJlIGh0dHA6
Ly9ib25kaS5vbXRwLm9yZy9hcGkvZmlsZXN5c3RlbS53cml0ZQotCQkgKgotCQkgKiBcY29kZQot
CQkgKiAJLy8gY29waWVzIHRoaXMgZmlsZSB0byAvdGVtcC9maWxlLmNvcHkKLQkJICogCXZhciBv
cCA9IGZpbGUuY29weVRvKGZ1bmN0aW9uKGNvcGllZEZpbGUpIHsgYWxlcnQoImZpbGUgY29waWVk
Iik7IH0sIG51bGwsICIvdGVtcC9maWxlLmNvcHkiLCBmYWxzZSk7Ci0JCSAqIFxlbmRjb2RlCi0J
CSAqCi0JCSAqIFxwYXJhbSBzdWNjZXNzQ2FsbGJhY2sgY2FsbGVkIHdoZW4gdGhlIGZpbGUgaGFz
IGJlZW4gY29waWVkLgotCQkgKiBccGFyYW0gZXJyb3JDYWxsYmFjayBjYWxsZWQgaWYgYW4gZXJy
b3Igb2NjdXJlZC4KLQkJICogXHBhcmFtIGZpbGVQYXRoIHRoZSBuZXcgZmlsZSBwYXRoLCBbYS1a
MC05Xy0gL10rIGFyZSBhbGxvd2VkIAotCQkgKiBccGFyYW0gb3ZlcndyaXRlIDxlbT50cnVlPC9l
bT4gZW5mb3JjZXMgb3ZlcndyaXRpbmcgYW4gZXhpc3RpbmcgZmlsZS4KLQkJICogXHJldHVybiBQ
ZW5kaW5nT3BlcmF0aW9uIGVuYWJsaW5nIHRoZSByZXF1ZXN0ZXIgdG8gY2FuY2VsIHRoaXMgcmVx
dWVzdC4KLQkJICogXHRocm93IFNlY3VyaXR5RXJyb3IgUEVSTUlTU0lPTl9ERU5JRURfRVJST1Ig
d2hlbgotCQkgKiAgICAgICAgYWNjZXNzIGlzIGRlbmllZCBieSB0aGUgc2VjdXJpdHkgcG9saWN5
LgotCQkgKiBcdGhyb3cgRGV2aWNlQVBJRXJyb3IgSU9fRVJST1IgaWYgaXQgaXMgYXR0ZW1wdGVk
IHRvIG1vdmUgdG8gYSBkaXJlY3RvcnkuCi0JCSAqIFx0aHJvdyBEZXZpY2VBUElFcnJvciBJT19F
UlJPUiBpZiBvdmVyd3JpdGUgaXMgPGVtPmZhbHNlPC9lbT4gYW5kIHRhcmdldCBmaWxlIGV4aXN0
cy4KLQkJICogXHRocm93IERldmljZUFQSUVycm9yIElPX0VSUk9SIGlmIGFueSBjaGFyYWN0ZXJz
IGluIHRoZSBwYXRoIGFyZSBub3Qgc3VwcG9ydGVkLgotCQkgKiBcdGhyb3cgRGV2aWNlQVBJRXJy
b3IgSU9fRVJST1IgaWYgdGhlIGZpbGUgY2Fubm90IGJlIGNvcGllZC4KLQkJICovCi0JCVBlbmRp
bmdPcGVyYXRpb24gY29weVRvKGluIEZpbGVTeXN0ZW1TdWNjZXNzQ2FsbGJhY2sgc3VjY2Vzc0Nh
bGxiYWNrLAotCQkgICAgICAgICAgICAgICAgICAgICAgICBpbiBFcnJvckNhbGxiYWNrIGVycm9y
Q2FsbGJhY2ssCi0JCSAgICAgICAgICAgICAgICAgICAgICAgIGluIERPTVN0cmluZyBmaWxlUGF0
aCwKLQkJICAgICAgICAgICAgICAgICAgICAgICAgaW4gYm9vbGVhbiBvdmVyd3JpdGUpCi0JCQly
YWlzZXMoU2VjdXJpdHlFcnJvciwgRGV2aWNlQVBJRXJyb3IpOwotCi0JCS8qKgotCQkgKiBcYnJp
ZWYgTW92ZXMgdGhpcyBmaWxlLgotCQkgKgotCQkgKiBUaGUgZmlsZSB3aWxsIGJlIG1vdmVkIGF0
b21pY2FsbHkgdG8gdGhlIGdpdmVuIHBhdGguIFRoaXMgaXMKLQkJICogZGlmZmVyZW50IHRvIGNv
cHlUbyBhbmQgZGVsZXRpbmcgdGhlIG9sZCBmaWxlLCBiZWNhdXNlIHRoaXMKLQkJICogb3BlcmF0
aW9uIGRvZXMgbm90IG5lZWQgZXh0cmEgZGlzayBzcGFjZSBvbiBjZXJ0YWluIHBsYXRmb3Jtcy4K
LQkJICogSWYgdGhpcyBmdW5jdGlvbiBmYWlscyBhbmQgdGhlIGVycm9yIGNhbGxiYWNrIGlzIGNh
bGxlZCwgaXQKLQkJICogd2lsbCBwYXNzIGFuIERldmljZUFQSUVycm9yIElPX0VSUk9SIHRvIHRo
ZSBjYWxsYmFjay4KLQkJICoKLQkJICogVGhlIGVuY29kaW5nIG9mIGZpbGUgcGF0aHMgaXMgPGEg
aHJlZj0iaHR0cDovL3d3dy5pZXRmLm9yZy9yZmMvcmZjMjI3OS50eHQiPlVURi04PC9hPi4KLQkJ
ICoKLQkJICogXGFwaS1mZWF0dXJlIGh0dHA6Ly9ib25kaS5vbXRwLm9yZy9hcGkvZmlsZXN5c3Rl
bS53cml0ZQotCQkgKgotCQkgKiBcY29kZQotCQkgKiAJLy8gbW92ZXMgdGhpcyBmaWxlIHRvIC90
ZW1wL2ZpbGUubW92ZQotCQkgKiAJdmFyIG9wID0gZmlsZS5tb3ZlVG8oZnVuY3Rpb24obW92ZWRG
aWxlKSB7IGZpbGUgPSBtb3ZlZEZpbGU7IH0sIG51bGwsICIvdGVtcC9maWxlLm1vdmUiKTsKLQkJ
ICogXGVuZGNvZGUKLQkJICoKLQkJICogXHBhcmFtIHN1Y2Nlc3NDYWxsYmFjayBjYWxsZWQgd2hl
biB0aGUgZmlsZSBoYXMgYmVlbiBjb3BpZWQuCi0JCSAqIFxwYXJhbSBlcnJvckNhbGxiYWNrIGNh
bGxlZCBpZiBhbiBlcnJvciBvY2N1cmVkLgotCQkgKiBccGFyYW0gZmlsZVBhdGggdGhlIG5ldyBm
aWxlIG5hbWUsIFthLVowLTlfLSAvXSsgYXJlIGFsbG93ZWQKLQkJICogXHBhcmFtIG92ZXJ3cml0
ZSA8ZW0+dHJ1ZTwvZW0+IGVuZm9yY2VzIG92ZXJ3cml0aW5nIGFuIGV4aXN0aW5nIGZpbGUuCi0J
CSAqIFxyZXR1cm4gUGVuZGluZ09wZXJhdGlvbiBlbmFibGluZyB0aGUgcmVxdWVzdGVyIHRvIGNh
bmNlbCB0aGlzIHJlcXVlc3QuCi0JCSAqIFx0aHJvdyBTZWN1cml0eUVycm9yIFBFUk1JU1NJT05f
REVOSUVEX0VSUk9SIHdoZW4KLQkJICogICAgICAgIGFjY2VzcyBpcyBkZW5pZWQgYnkgdGhlIHNl
Y3VyaXR5IHBvbGljeS4KLQkJICogXHRocm93IERldmljZUFQSUVycm9yIElPX0VSUk9SIGlmIGl0
IGlzIGF0dGVtcHRlZCB0byBtb3ZlIHRvIGEgZGlyZWN0b3J5LgotCQkgKiBcdGhyb3cgRGV2aWNl
QVBJRXJyb3IgSU9fRVJST1IgaWYgb3ZlcndyaXRlIGlzIDxlbT5mYWxzZTwvZW0+IGFuZCB0YXJn
ZXQgZmlsZSBleGlzdHMuCi0JCSAqIFx0aHJvdyBEZXZpY2VBUElFcnJvciBJT19FUlJPUiBpZiBh
bnkgY2hhcmFjdGVycyBpbiB0aGUgcGF0aCBhcmUgbm90IHN1cHBvcnRlZC4KLQkJICogXHRocm93
IERldmljZUFQSUVycm9yIElPX0VSUk9SIGlmIHRoZSBmaWxlIGNhbm5vdCBiZSBtb3ZlZC4KLQkJ
ICovCi0JCVBlbmRpbmdPcGVyYXRpb24gbW92ZVRvKGluIEZpbGVTeXN0ZW1TdWNjZXNzQ2FsbGJh
Y2sgc3VjY2Vzc0NhbGxiYWNrLAotCQkgICAgICAgICAgICAgICAgICAgICAgICBpbiBFcnJvckNh
bGxiYWNrIGVycm9yQ2FsbGJhY2ssCi0JCSAgICAgICAgICAgICAgICAgICAgICAgIGluIERPTVN0
cmluZyBmaWxlUGF0aCwKLQkJICAgICAgICAgICAgICAgICAgICAgICAgaW4gYm9vbGVhbiBvdmVy
d3JpdGUpCi0JCQlyYWlzZXMoU2VjdXJpdHlFcnJvciwgRGV2aWNlQVBJRXJyb3IpOwotCi0JCS8q
KgotCQkgKiBcYnJpZWYgQ3JlYXRlcyBhIGRpcmVjdG9yeS4KLQkJICoKLQkJICogVGhlIG5ldyBk
aXJlY3Rvcnkgd2lsbCBiZSBjcmVhdGVkIHJlbGF0aXZlbHkgdG8gdGhlIGN1cnJlbnQKLQkJICog
ZGlyZWN0b3J5IHRoaXMgb3BlcmF0aW9uIGlzIHBlcmZvcm1lZCBvbi4gSXQgd2lsbCBhdHRlbXB0
IHRvCi0JCSAqIGNyZWF0ZSBhbGwgbmVjZXNzYXJ5IHN1Yi1kaXJlY3RvcmllcyBhcyB3ZWxsLiBU
aGUgdXNlIG9mICIuIgotCQkgKiBvciAiLi4iIGluIHBhdGggY29tcG9uZW50cyBpcyBub3Qgc3Vw
cG9ydGVkLiBJZiB0aGUKLQkJICogYm90dG9tLW1vc3QgZGlyZWN0b3J5IGJlaW5nIGNyZWF0ZWQg
YWxyZWFkeSBleGlzdHMgdGhpcwotCQkgKiBtZXRob2Qgd2lsbCB0aHJvdyBhbiBJT19FUlJPUi4K
LQkJICoKLQkJICogVGhlIGVuY29kaW5nIG9mIGZpbGUgcGF0aHMgaXMgPGEgaHJlZj0iaHR0cDov
L3d3dy5pZXRmLm9yZy9yZmMvcmZjMjI3OS50eHQiPlVURi04PC9hPi4KLQkJICoKLQkJICogXGFw
aS1mZWF0dXJlIGh0dHA6Ly9ib25kaS5vbXRwLm9yZy9hcGkvZmlsZXN5c3RlbS53cml0ZQotCQkg
KgotCQkgKiBcY29kZQotCQkgKiAJdmFyIG5ld0RpciA9IGRpci5jcmVhdGVEaXJlY3RvcnkoIm5l
d0RpciIpOwotCQkgKiAJdmFyIGFub3RoZXJOZXdEaXIgPSBkaXIuY3JlYXRlRGlyZWN0b3J5KCJu
ZXdEaXIxL3N1Yk5ld0RpcjEiKTsKLQkJICogXGVuZGNvZGUKLQkJICoKLQkJICogXHBhcmFtIGRp
clBhdGggdGhlIG5ldyBkaXJlY3RvcnkgcGF0aCwgaXQgc2hvdWxkIG9ubHkgY29udGFpbgotCQkg
KiAgICAgICAgY2hhcmFjdGVycyBzdXBwb3J0ZWQgYnkgdGhlIHVuZGVybHlpbmcgZmlsZXN5c3Rl
bS4KLQkJICogXHJldHVybiBmaWxlIGhhbmRsZSBvZiB0aGUgbmV3IGRpcmVjdG9yeQotCQkgKiBc
dGhyb3cgU2VjdXJpdHlFcnJvciBQRVJNSVNTSU9OX0RFTklFRF9FUlJPUiB3aGVuCi0JCSAqICAg
ICAgICBhY2Nlc3MgaXMgZGVuaWVkIGJ5IHRoZSBzZWN1cml0eSBwb2xpY3kuCi0JCSAqIFx0aHJv
dyBEZXZpY2VBUElFcnJvciBJT19FUlJPUiBpZiB0aGlzIGlzIG5vdCBhIGRpcmVjdG9yeS4KLQkJ
ICogXHRocm93IERldmljZUFQSUVycm9yIElPX0VSUk9SIGlmIGFueSBwYXRoIGNvbXBvbmVudCBk
b2VzIG5vdCBleGlzdC4KLQkJICogXHRocm93IERldmljZUFQSUVycm9yIElPX0VSUk9SIGlmIGEg
ZmlsZSB3aXRoIHRoZSBzYW1lIG5hbWUgZXhpc3RzLgotCQkgKiBcdGhyb3cgRGV2aWNlQVBJRXJy
b3IgSU9fRVJST1IgaWYgYW55IGNoYXJhY3RlcnMgaW4gdGhlIHBhdGggYXJlIG5vdCBzdXBwb3J0
ZWQuCi0JCSAqIFx0aHJvdyBEZXZpY2VBUElFcnJvciBJT19FUlJPUiBpZiB0aGUgZGlyZWN0b3J5
IGNhbm5vdCBiZSBjcmVhdGVkLgotCQkgKi8KLQkJRmlsZSBjcmVhdGVEaXJlY3RvcnkoaW4gRE9N
U3RyaW5nIGRpclBhdGgpCi0JCQlyYWlzZXMoU2VjdXJpdHlFcnJvciwgRGV2aWNlQVBJRXJyb3Ip
OwotCi0JCS8qKgotCQkgKiBcYnJpZWYgQ3JlYXRlcyBhIG5ldyBlbXB0eSBmaWxlLgotCQkgKgot
CQkgKiBUaGUgbmV3IGVtcHR5IGZpbGUgaXMgY3JlYXRlZCBpbiB0aGUgZ2l2ZW4gcGF0aCByZWxh
dGl2ZWx5Ci0JCSAqIHRvIHRoZSBjdXJyZW50IGRpcmVjdG9yeSB0aGUgb3BlcmF0aW9uIGlzIHBl
cmZvcm1lZCBvbi4gIFRoZQotCQkgKiB1c2Ugb2YgIi4iIG9yICIuLiIgaW4gcGF0aCBjb21wb25l
bnRzIGlzIG5vdCBzdXBwb3J0ZWQuICBJZgotCQkgKiB0aGUgYm90dG9tLW1vc3QgZmlsZSBiZWlu
ZyBjcmVhdGVkIGFscmVhZHkgZXhpc3RzIHRoaXMKLQkJICogbWV0aG9kIHdpbGwgdGhyb3cgYW4g
SU9fRVJST1IuICBJZiBhbnkgcGF0aCBjb21wb25lbnQgZG9lcwotCQkgKiBub3QgZXhpc3QgdGhp
cyBtZXRob2Qgd2lsbCB0aHJvdyBhbiBJT19FUlJPUi4KLQkJICoKLQkJICogVGhlIGVuY29kaW5n
IG9mIGZpbGUgcGF0aHMgaXMgPGEgaHJlZj0iaHR0cDovL3d3dy5pZXRmLm9yZy9yZmMvcmZjMjI3
OS50eHQiPlVURi04PC9hPi4KLQkJICoKLQkJICogXGFwaS1mZWF0dXJlIGh0dHA6Ly9ib25kaS5v
bXRwLm9yZy9hcGkvZmlsZXN5c3RlbS53cml0ZQotCQkgKgotCQkgKiBcY29kZQotCQkgKiAJdmFy
IG5ld0ZpbGUgPSBkaXIuY3JlYXRlRmlsZSgibmV3RmlsZSIpOwotCQkgKiBcZW5kY29kZQotCQkg
KgotCQkgKiBccGFyYW0gZmlsZVBhdGggdGhlIG5ldyBmaWxlIHBhdGgsIGl0IHNob3VsZCBvbmx5
IGNvbnRhaW4KLQkJICogICAgICAgIGNoYXJhY3RlcnMgc3VwcG9ydGVkIGJ5IHRoZSB1bmRlcmx5
aW5nIGZpbGVzeXN0ZW0uCi0JCSAqIFxyZXR1cm4gZmlsZSBoYW5kbGUgb2YgdGhlIG5ldyBlbXB0
eSBmaWxlCi0JCSAqIFx0aHJvdyBTZWN1cml0eUVycm9yIFBFUk1JU1NJT05fREVOSUVEX0VSUk9S
IHdoZW4KLQkJICogICAgICAgIGFjY2VzcyBpcyBkZW5pZWQgYnkgdGhlIHNlY3VyaXR5IHBvbGlj
eS4KLQkJICogXHRocm93IERldmljZUFQSUVycm9yIElPX0VSUk9SIGlmIHRoaXMgaXMgbm90IGEg
ZGlyZWN0b3J5LgotCQkgKiBcdGhyb3cgRGV2aWNlQVBJRXJyb3IgSU9fRVJST1IgaWYgYW55IHBh
dGggY29tcG9uZW50IGRvZXMgbm90IGV4aXN0LgotCQkgKiBcdGhyb3cgRGV2aWNlQVBJRXJyb3Ig
SU9fRVJST1IgaWYgdGhlIGZpbGUgYWxyZWFkeSBleGlzdHMuCi0JCSAqIFx0aHJvdyBEZXZpY2VB
UElFcnJvciBJT19FUlJPUiBpZiBhbnkgY2hhcmFjdGVycyBpbiB0aGUgcGF0aCBhcmUgbm90IHN1
cHBvcnRlZC4KLQkJICogXHRocm93IERldmljZUFQSUVycm9yIElPX0VSUk9SIGlmIHRoZSBmaWxl
IGNhbm5vdCBiZSBjcmVhdGVkLgotCQkgKi8KLQkJRmlsZSBjcmVhdGVGaWxlKGluIERPTVN0cmlu
ZyBmaWxlUGF0aCkKLQkJCXJhaXNlcyhTZWN1cml0eUVycm9yLCBEZXZpY2VBUElFcnJvcik7Ci0K
LQkJLyoqCi0JCSAqIFxicmllZiBSZXNvbHZlcyBhbiBleGlzdGluZyBmaWxlIG9yIGRpcmVjdG9y
eSByZWxhdGl2ZWx5IHRvCi0JCSAqIHRoZSBjdXJyZW50IGRpcmVjdG9yeSB0aGlzIG9wZXJhdGlv
biBpcyBwZXJmb3JtZWQgb247IGFuZAotCQkgKiByZXR1cm5zIGEgZmlsZSBoYW5kbGUgZm9yIGl0
LgotCQkgKiAKLQkJICogVGhlIGZpbGVQYXRoIGlzIG5vdCBhbGxvd2VkIHRvIGNvbnRhaW4gdGhl
ICIuIiBvciAiLi4iIGRpcmVjdG9yaWVzLgotCQkgKgotCQkgKiBUaGUgZW5jb2Rpbmcgb2YgZmls
ZSBwYXRocyBpcyA8YSBocmVmPSJodHRwOi8vd3d3LmlldGYub3JnL3JmYy9yZmMyMjc5LnR4dCI+
VVRGLTg8L2E+LgotCQkgKgotCQkgKiBcYXBpLWZlYXR1cmUgaHR0cDovL2JvbmRpLm9tdHAub3Jn
L2FwaS9maWxlc3lzdGVtLnJlYWQKLQkJICoKLQkJICogXGNvZGUKLQkJICogCXZhciBoZWxsb2Zp
bGUgPSBkaXIucmVzb2x2ZSgiZm9vL2hlbGxvLnR4dCIpOwotCQkgKiBcZW5kY29kZQotCQkgKgot
CQkgKiBccGFyYW0gZmlsZVBhdGggdGhlIHJlbGF0aXZlIGZpbGUvZGlyZWN0b3J5IHBhdGggdG8g
cmVzb2x2ZS4KLQkJICogXHJldHVybiBmaWxlIGhhbmRsZSBvZiB0aGUgZmlsZSBvciA8ZW0+bnVs
bDwvZW0+IGlmIGl0IGNhbm5vdCBiZSByZXNvbHZlZC4KLQkJICogXHRocm93IFNlY3VyaXR5RXJy
b3IgUEVSTUlTU0lPTl9ERU5JRURfRVJST1Igd2hlbgotCQkgKiAgICAgICAgYWNjZXNzIGlzIGRl
bmllZCBieSB0aGUgc2VjdXJpdHkgcG9saWN5LgotCQkgKiBcdGhyb3cgRGV2aWNlQVBJRXJyb3Ig
SU9fRVJST1IgaWYgdGhpcyBpcyBub3QgYSBkaXJlY3RvcnkuCi0JCSAqIFx0aHJvdyBEZXZpY2VB
UElFcnJvciBJT19FUlJPUiBpZiBhbnkgY2hhcmFjdGVycyBpbiB0aGUgcGF0aCBhcmUgbm90IHN1
cHBvcnRlZC4KLQkJICogXHRocm93IERldmljZUFQSUVycm9yIElPX0VSUk9SIGlmIHRoZSBmaWxl
IG9yIGRpcmVjdG9yeSBjYW5ub3QgYmUgcmVzb2x2ZWQuCi0JCSAqLwotCQlGaWxlIHJlc29sdmUo
aW4gRE9NU3RyaW5nIGZpbGVQYXRoKQotCQkJcmFpc2VzKFNlY3VyaXR5RXJyb3IsIERldmljZUFQ
SUVycm9yKTsKLQotCQkvKioKLQkJICogXGJyaWVmIERlbGV0ZXMgdGhpcyBkaXJlY3RvcnkuCi0J
CSAqCi0JCSAqIFRoaXMgZnVuY3Rpb24gYXR0ZW1wdHMgdG8gZGVsZXRlIGEgZGlyZWN0b3J5IG9y
IGRpcmVjdG9yeQotCQkgKiB0cmVlIHN5bmNocm9ub3VzbHkgYW5kIHJldHVybnMgPGVtPnRydWU8
L2VtPiBvbiBzdWNjZXNzLAotCQkgKiA8ZW0+ZmFsc2U8L2VtPiBvdGhlcndpc2UuIEl0IG1heSB0
aHJvdyBhbiBJT19FUlJPUiBpZiBhCi0JCSAqIHJlY3Vyc2l2ZSBkZWxldGlvbiBwYXJ0aWFsbHkg
ZmFpbHMgYW5kIGFueSBkZWxldGVkIGRhdGEgc28KLQkJICogZmFyIGNhbm5vdCBiZSByZWNvdmVy
ZWQuIFRoaXMgbWlnaHQgaGFwcGVuIGR1ZSB0aGUgbGFjayBvZgotCQkgKiBmaWxlc3lzdGVtIHBl
cm1pc3Npb25zIG9yIGlmIGFueSBkaXJlY3RvcmllcyBvciBmaWxlcyBhcmUKLQkJICogb3BlbmVu
ZWQgYnkgb3RoZXIgcHJvY2Vzc2VzLgotCQkgKgotCQkgKiBcYXBpLWZlYXR1cmUgaHR0cDovL2Jv
bmRpLm9tdHAub3JnL2FwaS9maWxlc3lzdGVtLndyaXRlCi0JCSAqCi0JCSAqIFxjb2RlCi0JCSAq
IAl2YXIgZnVsbFBhdGggPSBkaXIuZnVsbFBhdGg7Ci0JCSAqIAlpZihkaXIuZGVsZXRlRGlyZWN0
b3J5KHRydWUpKSB7Ci0JCSAqIAkJLy8gc3Vic2VxdWVudCBhY2Nlc3NlcyB0byBkaXIgd2lsbCB0
aHJvdyBhbiBlcnJvcgotCQkgKiAJCWFsZXJ0KGZ1bGxQYXRoICsgJyBkZWxldGVkJyk7Ci0JCSAq
IAl9Ci0JCSAqIFxlbmRjb2RlCi0JCSAqCi0JCSAqIFxwYXJhbSByZWN1cnNpdmUgPGVtPnRydWU8
L2VtPiBtZWFucyBhIHJlY3Vyc2l2ZSBkZWxldGlvbiwgdGhpcwotCQkgKiAgICAgICAgd2lsbCBk
ZXN0cm95IGFsbCBkYXRhIHJlY3Vyc2l2ZWx5LCB1c2Ugd2l0aCBjYXV0aW9uLgotCQkgKiBccmV0
dXJuIDxlbT50cnVlPC9lbT4gb24gc3VjY2VzcwotCQkgKiBcdGhyb3cgU2VjdXJpdHlFcnJvciBQ
RVJNSVNTSU9OX0RFTklFRF9FUlJPUiB3aGVuCi0JCSAqICAgICAgICBhY2Nlc3MgaXMgZGVuaWVk
IGJ5IHRoZSBzZWN1cml0eSBwb2xpY3kuCi0JCSAqIFx0aHJvdyBEZXZpY2VBUElFcnJvciBJT19F
UlJPUiBpZiB0aGlzIGlzIGEgZmlsZS4KLQkJICogXHRocm93IERldmljZUFQSUVycm9yIElPX0VS
Uk9SIGlmIHRoZSBkaXJlY3RvcnkgaXMgbm90IGVtcHR5IGFuZAotCQkgKiAgICAgICAgdGhpcyBv
cGVyYXRpb24gaXMgbm90IHBlcmZvcm1lZCByZWN1cnNpdmVseS4KLQkJICogXHRocm93IERldmlj
ZUFQSUVycm9yIElPX0VSUk9SIGlmIHRoZSBkaXJlY3Rvcnkgb3IgYW55IGZpbGUgb3Igc3ViLWRp
cmVjdG9yeSBjYW5ub3QgYmUgZGVsZXRlZC4KLQkJICovCi0JCWJvb2xlYW4gZGVsZXRlRGlyZWN0
b3J5KGluIGJvb2xlYW4gcmVjdXJzaXZlKQotCQkJcmFpc2VzKFNlY3VyaXR5RXJyb3IsIERldmlj
ZUFQSUVycm9yKTsKLQotCQkvKioKLQkJICogXGJyaWVmIERlbGV0ZXMgdGhpcyBmaWxlLgotCQkg
KgotCQkgKiBSZXR1cm5zIDxlbT50cnVlPC9lbT4gb24gc3VjY2VzcywgPGVtPmZhbHNlPC9lbT4g
b3RoZXJ3aXNlLgotCQkgKgotCQkgKiBcYXBpLWZlYXR1cmUgaHR0cDovL2JvbmRpLm9tdHAub3Jn
L2FwaS9maWxlc3lzdGVtLndyaXRlCi0JCSAqCi0JCSAqIFxjb2RlCi0JCSAqIAl2YXIgZnVsbFBh
dGggPSBkaXIuZnVsbFBhdGg7Ci0JCSAqIAlpZihkaXIuZGVsZXRlRmlsZSgpKSB7Ci0JCSAqIAkJ
Ly8gc3Vic2VxdWVudCBhY2Nlc3NlcyB0byBkaXIgd2lsbCB0aHJvdyBhbiBlcnJvcgotCQkgKiAJ
CWFsZXJ0KGZ1bGxQYXRoICsgJyBkZWxldGVkJyk7Ci0JCSAqIAl9Ci0JCSAqIFxlbmRjb2RlCi0J
CSAqCi0JCSAqIFxyZXR1cm4gPGVtPnRydWU8L2VtPiBvbiBzdWNjZXNzCi0JCSAqIFx0aHJvdyBT
ZWN1cml0eUVycm9yIFBFUk1JU1NJT05fREVOSUVEX0VSUk9SIHdoZW4KLQkJICogICAgICAgIGFj
Y2VzcyBpcyBkZW5pZWQgYnkgdGhlIHNlY3VyaXR5IHBvbGljeS4KLQkJICogXHRocm93IERldmlj
ZUFQSUVycm9yIElPX0VSUk9SIGlmIHRoaXMgaXMgYSBkaXJlY3RvcnkuCi0JCSAqIFx0aHJvdyBE
ZXZpY2VBUElFcnJvciBJT19FUlJPUiBpZiB0aGUgZmlsZSBjYW5ub3QgYmUgZGVsZXRlZCBkdWUK
LQkJICogICAgICAgIHRoZSBsYWNrIG9mIGZpbGVzeXN0ZW0gcGVybWlzc2lvbnMgb3IgaWYgaXQg
aXMgbG9ja2VkIG9yCi0JCSAqICAgICAgICBvcGVuZWQgYnkgYW5vdGhlciBwcm9jZXNzLgotCQkg
Ki8KLQkJYm9vbGVhbiBkZWxldGVGaWxlKCkKLQkJCXJhaXNlcyhTZWN1cml0eUVycm9yLCBEZXZp
Y2VBUElFcnJvcik7Ci0JfTsKLQotCS8qKgotCSAqIFxicmllZiBGaWxlU3RyZWFtIEFQSS4KLQkg
KgotCSAqIEEgRmlsZVN0cmVhbSByZXByZXNlbnRzIGEgaGFuZGxlIHRvIGEgRmlsZSBvcGVuZWQg
Zm9yIHJlYWQgYW5kL29yCi0JICogd3JpdGUgb3BlcmF0aW9ucy4gIFJlYWQgYW5kIHdyaXRlIG9w
ZXJhdGlvbnMgYXJlIHBlcmZvcm1lZCByZWxhdGl2ZQotCSAqIHRvIGEgZmlsZSBwb2ludGVyIHdo
aWNoIHJlcHJlc2VudHMgdGhlIGN1cnJlbnQgcG9zaXRpb24gaW4gdGhlIGZpbGUuCi0JICogCi0J
ICogQSBzZXJpZXMgb2YgcmVhZC93cml0ZSBtZXRob2RzIGFyZSBhdmFpbGFibGUgdGhhdCBwZXJt
aXQgYm90aCBiaW5hcnkgYW5kCi0JICogdGV4dCB0byBiZSBwcm9jZXNzZWQuCi0JICoKLQkgKiBP
bmNlIGEgZmlsZSBzdHJlYW0gaXMgY2xvc2VkLCBhbnkgb3BlcmF0aW9uIGF0dGVtcHRlZCBvbiB0
aGlzIHN0cmVhbQotCSAqIHdpbGwgcmVzdWx0IGluIGEgbm9ybWFsIEphdmFTY3JpcHQgZXJyb3Iu
Ci0JICovCi0JaW50ZXJmYWNlIEZpbGVTdHJlYW0gewotCi0JCS8qKgotCQkgKiBcYnJpZWYgSW5k
aWNhdGVzIHdoZXRoZXIgb3Igbm90IHRoZSBjdXJyZW50IGZpbGUgcG9pbnRlciBpcyBhdCB0aGUg
ZW5kCi0JCSAqIG9mIHRoZSBmaWxlLgotCQkgKiAKLQkJICogPGVtPnRydWU8L2VtPiBpZiB0aGUg
cG9zaXRpb24gaXMgYXQgdGhlIGVuZCBvZiB0aGUgY3VycmVudCBmaWxlIHN0cmVhbS4KLQkJICoK
LQkJICogXGNvZGUKLQkJICogCWlmKHN0cmVhbS5lb2YpIHsKLQkJICogCQkvLyBmaWxlIGhhcyBi
ZWVuIHJlYWQgY29tcGxldGVseQotCQkgKiAJfQotCQkgKiBcZW5kY29kZQotCQkgKi8KLQkJcmVh
ZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gZW9mOwotCi0JCS8qKgotCQkgKiBcYnJpZWYgR2V0L3Nl
dCBzdHJlYW0gcG9zaXRpb24gZm9yIHJlYWRzL3dyaXRlcy4KLQkJICogCi0JCSAqIFRoZSBzdHJl
YW0gcG9zaXRpb24gaXMgYW4gb2Zmc2V0IG9mIGJ5dGVzIGZyb20gdGhlIHN0YXJ0IG9mCi0JCSAq
IHRoZSBmaWxlIHN0cmVhbS4gIFdoZW4gaW52b2tpbmcgYW4gb3BlcmF0aW9uIHRoYXQgcmVhZHMg
b3IKLQkJICogd3JpdGVzIGZyb20gdGhlIHN0cmVhbSwgdGhlIG9wZXJhdGlvbiB3aWxsIHRha2Ug
cGxhY2UgZnJvbQotCQkgKiB0aGUgcG9zaXRpb24gaW4gdGhlIHBvc2l0aW9uIGF0dHJpYnV0ZS4K
LQkJICoKLQkJICogXGNvZGUKLQkJICogCWFsZXJ0KHN0cmVhbS5wb3NpdGlvbik7IC8vIGRpc3Bs
YXlzIGN1cnJlbnQgc3RyZWFtIHBvc2l0aW9uCi0JCSAqIAkvLyBhbHRlcnMgY3VycmVudCBzdHJl
YW0gcG9zaXRpb24gdG8gdGhlIGJlZ2luIG9mIHRoZSBmaWxlLAotCQkgKiAJLy8gbGlrZSBzZWVr
KCkgaW4gQwotCQkgKiAJc3RyZWFtLnBvc2l0aW9uID0gMDsKLQkJICogXGVuZGNvZGUKLQkJICog
XHRocm93IERldmljZUFQSUVycm9yIElPX0VSUk9SIGlmIGEgcG9zaXRpb24gd2FzIGdpdmVuIHRo
YXQgaXMgb3V0IG9mIHRoZSBzdHJlYW0gcmFuZ2UuCi0JCSAqLwotCQlhdHRyaWJ1dGUgdW5zaWdu
ZWQgbG9uZyBwb3NpdGlvbgotCQkJc2V0cmFpc2VzKERldmljZUFQSUVycm9yKTsKLQotCQkvKioK
LQkJICogXGJyaWVmIFJldHVybnMgdGhlIG51bWJlciBvZiBieXRlcyB0aGF0IGFyZSBhdmFpbGFi
bGUgZm9yCi0JCSAqIHJlYWRpbmcgZnJvbSB0aGUgc3RyZWFtLgotCQkgKgotCQkgKiBUaGUgbnVt
YmVyIG9mIGJ5dGVzIGF2YWlsYWJsZSBmb3IgcmVhZGluZyBpcyB0aGUgbWF4aW11bQotCQkgKiBh
bW91bnQgb2YgYnl0ZXMgdGhhdCBjYW4gYmUgcmVhZCBpbiB0aGUgbmV4dCByZWFkIG9wZXJhdGlv
bi4KLQkJICogCi0JCSAqIC0xIGlmIGVvZiBpcyA8ZW0+dHJ1ZTwvZW0+LgotCQkgKgotCQkgKiBc
Y29kZQotCQkgKiAJYWxlcnQoc3RyZWFtLmJ5dGVzQXZhaWxhYmxlKTsgLy8gZGlzcGxheXMgdGhl
IGF2YWlsYWJsZSBieXRlcyB0byBiZSByZWFkCi0JCSAqIFxlbmRjb2RlCi0JCSAqLwotCQlyZWFk
b25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBieXRlc0F2YWlsYWJsZTsKLQotCQkvKioKLQkJ
ICogXGJyaWVmIENsb3NlcyB0aGlzIEZpbGVTdHJlYW0uCi0JCSAqIAotCQkgKiBGbHVzaGVzIGFu
eSBwZW5kaW5nIGJ1ZmZlcmVkIHdyaXRlcyBhbmQgY2xvc2VzIHRoZSBGaWxlLiBBbHdheXMgc3Vj
Y2VlZHMuCi0JCSAqIE5vdGUgdGhhdCBwZW5kaW5nIHdyaXRlcyBtaWdodCBub3Qgc3VjY2VlZC4K
LQkJICoKLQkJICogXGNvZGUKLQkJICogCXN0cmVhbS5jbG9zZSgpOyAvLyBjbG9zZXMgdGhpcyBz
dHJlYW0sIG5vIHN1YnNlcXVlbnQgYWNjZXNzIHRvIHN0cmVhbSBhbGxvd2VkCi0JCSAqIFxlbmRj
b2RlCi0JCSAqLwotCQl2b2lkIGNsb3NlKCk7Ci0KLQkJLyoqCi0JCSAqIFxicmllZiBSZWFkcyB0
aGUgc3BlY2lmaWVkIG51bWJlciBvZiBjaGFyYWN0ZXJzLgotCQkgKgotCQkgKiBSZWFkcyBzcGVj
aWZpZWQgbnVtYmVyIG9mIGNoYXJhY3RlcnMgYW5kIHJldHVybnMgdGhlbSBhcyBzdHJpbmcuCi0J
CSAqIFRoZSByZXN1bHRpbmcgc3RyaW5nIGxlbmd0aCBtaWdodCBiZSBzaG9ydGVyIHRoYW4gY2hh
ckNvdW50IGlmIGVvZgotCQkgKiBpcyA8ZW0+dHJ1ZTwvZW0+LgotCQkgKgotCQkgKiBcY29kZQot
CQkgKiAJdmFyIHRleHQgPSBzdHJlYW0ucmVhZCgwKTsKLQkJICogCXN0cmVhbS5jbG9zZSgpOwot
CQkgKiBcZW5kY29kZQotCQkgKgotCQkgKiBccGFyYW0gY2hhckNvdW50IG51bWJlciBvZiBjaGFy
YWN0ZXJzIGJlaW5nIHJlYWQsIGlmCi0JCSAqICAgICAgICAgICAgICAgICAgICA8ZW0+MDwvZW0+
IGl0IHdpbGwgcmVhZCBhcyBsb25nIGFzIGJ5dGVzIGFyZSBhdmFpbGFibGUuCi0JCSAqIFxyZXR1
cm4gdGhlIHJlc3VsdCBvZiByZWFkIGNoYXJhY3RlcnMgYXMgYSBzdHJpbmcuCi0JCSAqIFx0aHJv
dyBEZXZpY2VBUElFcnJvciBJT19FUlJPUiBpZiBhbiBlcnJvciBvY2N1cnMgZHVyaW5nIHJlYWQu
Ci0JCSAqLwotCQlET01TdHJpbmcgcmVhZChpbiB1bnNpZ25lZCBsb25nIGNoYXJDb3VudCkKLQkJ
CXJhaXNlcyhEZXZpY2VBUElFcnJvcik7Ci0KLQkJLyoqCi0JCSAqIFxicmllZiBSZWFkcyB0aGUg
c3BlY2lmaWVkIG51bWJlciBvZiBieXRlcyBmcm9tIHRoaXMgRmlsZVN0cmVhbS4KLQkJICoKLQkJ
ICogSWYgMCBpcyBzdXBwbGllZCBpdCB3aWxsIHJlYWQgYWxsIGF2YWlsYWJsZSBieXRlcyBpbiBh
Ci0JCSAqIHNpbmdsZSByZWFkIG9wZXJhdGlvbi4KLQkJICoKLQkJICogXGNvZGUKLQkJICogCS8v
IHJlYWRzIHVwIHRvIDI1NiBieXRlcyBmcm9tIHRoZSBzdHJlYW0KLQkJICogCXZhciByYXcgPSBz
dHJlYW0ucmVhZEJ5dGVzKDI1Nik7Ci0JCSAqIAlmb3IodmFyIGkgPSAwOyBpICZsdDsgcmF3Lmxl
bmd0aDsgaSsrKSB7Ci0JCSAqIAkJLy8gcmF3W2ldIGNvbnRhaW5zIHRoZSBpLXRoIGJ5dGUgb2Yg
dGhlIGN1cnJlbnQgZGF0YSBjaHVuawotCQkgKiAJfQotCQkgKiBcZW5kY29kZQotCQkgKgotCQkg
KiBccGFyYW0gYnl0ZUNvdW50IG51bWJlciBvZiBieXRlcyBiZWluZyByZWFkLiBNdXN0IG5vdCBi
ZSA8ZW0+MDwvZW0+LgotCQkgKiBccmV0dXJuIHRoZSByZXN1bHQgb2YgcmVhZCBieXRlcyBhcyBh
IGJ5dGUgKG9yIG51bWJlcikgYXJyYXkuCi0JCSAqIFx0aHJvdyBEZXZpY2VBUElFcnJvciBJT19F
UlJPUiBpZiBhbiBlcnJvciBvY2N1cnMgZHVyaW5nIHJlYWRCeXRlcy4KLQkJICovCi0JCUJ5dGVB
cnJheSByZWFkQnl0ZXMoaW4gdW5zaWduZWQgbG9uZyBieXRlQ291bnQpCi0JCQlyYWlzZXMoRGV2
aWNlQVBJRXJyb3IpOwotCi0JCS8qKgotCQkgKiBcYnJpZWYgUmVhZHMgdGhlIHNwZWNpZmllZCBu
dW1iZXIgb2YgYnl0ZXMgZnJvbSB0aGlzIEZpbGVTdHJlYW0sIGVuY29kaW5nCi0JCSAqIHRoZSBy
ZXN1bHQgaW4gYmFzZTY0LgotCQkgKgotCQkgKiBJZiAwIGlzIHN1cHBsaWVkIGl0IHdpbGwgcmVh
ZCBhbGwgYXZhaWxhYmxlIGJ5dGVzIGluIGEKLQkJICogc2luZ2xlIHJlYWQgb3BlcmF0aW9uLgot
CQkgKgotCQkgKiBcY29kZQotCQkgKiAJLy8gcmVhZHMgdXAgdG8gMjU2IGJ5dGVzIGZyb20gdGhl
IHN0cmVhbQotCQkgKiAJdmFyIGJhc2U2NCA9IHN0cmVhbS5yZWFkQmFzZTY0KDI1Nik7Ci0JCSAq
IFxlbmRjb2RlCi0JCSAqCi0JCSAqIFxwYXJhbSBieXRlQ291bnQgbnVtYmVyIG9mIGJ5dGVzIGJl
aW5nIHJlYWQuIE11c3Qgbm90IGJlIDxlbT4wPC9lbT4uCi0JCSAqIFxyZXR1cm4gdGhlIHJlc3Vs
dCBvZiByZWFkIGJ5dGVzIGFzIGJhc2U2NCBlbmNvZGluZyBzdHJpbmcuCi0JCSAqIFx0aHJvdyBE
ZXZpY2VBUElFcnJvciBJT19FUlJPUiBpZiBhbiBlcnJvciBvY2N1cnMgZHVyaW5nIHJlYWRCYXNl
NjQuCi0JCSAqLwotCQlET01TdHJpbmcgcmVhZEJhc2U2NChpbiB1bnNpZ25lZCBsb25nIGJ5dGVD
b3VudCkKLQkJCXJhaXNlcyhEZXZpY2VBUElFcnJvcik7Ci0KLQkJLyoqCi0JCSAqIFxicmllZiBX
cml0ZXMgdGhlIHNwZWNpZmllZCBET01TdHJpbmcgdG8gdGhpcyBGaWxlU3RyZWFtLgotCQkgKgot
CQkgKiBcY29kZQotCQkgKiAJdmFyIHRleHQgPSAiSGVsbG8gd29ybGQiOwotCQkgKiAJc3RyZWFt
LndyaXRlKHRleHQpOwotCQkgKiBcZW5kY29kZQotCQkgKgotCQkgKiBccGFyYW0gc3RyaW5nRGF0
YSB0aGUgYWN0dWFsIHN0cmluZyB0byBiZSB3cml0dGVuLgotCQkgKiBcdGhyb3cgRGV2aWNlQVBJ
RXJyb3IgSU9fRVJST1IgaWYgYW4gZXJyb3Igb2NjdXJzIGR1cmluZyB3cml0ZS4KLQkJICovCi0J
CXZvaWQgd3JpdGUoaW4gRE9NU3RyaW5nIHN0cmluZ0RhdGEpCi0JCQlyYWlzZXMoRGV2aWNlQVBJ
RXJyb3IpOwotCi0JCS8qKgotCQkgKiBcYnJpZWYgV3JpdGVzIHRoZSBzcGVjaWZpZWQgYnl0ZXMg
dG8gdGhpcyBGaWxlU3RyZWFtLgotCQkgKgotCQkgKiBcY29kZQotCQkgKiAJdmFyIGJ5dGVzID0g
aW4ucmVhZEJ5dGVzKDI1Nik7Ci0JCSAqIAlvdXQud3JpdGVCeXRlcyhieXRlcyk7IC8vIHdyaXRl
cyB0aGUgYnl0ZXMgcmVhZCBmcm9tIGluIHRvIG91dAotCQkgKiBcZW5kY29kZQotCQkgKgotCQkg
KiBccGFyYW0gYnl0ZURhdGEgdGhlIGJ5dGUgZGF0YSBhcnJheSBiZWluZyB3cml0dGVuLgotCQkg
KiBcdGhyb3cgRGV2aWNlQVBJRXJyb3IgSU9fRVJST1IgaWYgYW4gZXJyb3Igb2NjdXJzIGR1cmlu
ZyB3cml0ZUJ5dGVzLgotCQkgKi8KLQkJdm9pZCB3cml0ZUJ5dGVzKGluIEJ5dGVBcnJheSBieXRl
RGF0YSkKLQkJCXJhaXNlcyhEZXZpY2VBUElFcnJvcik7Ci0KLQkJLyoqCi0JCSAqIFxicmllZiBD
b252ZXJ0cyB0aGUgc3BlY2lmaWVkIGJhc2U2NCBET01TdHJpbmcgdG8gYnl0ZXMgYW5kIHdyaXRl
cyB0aGUgCi0JCSAqIHJlc3VsdCB0byB0aGlzIEZpbGVTdHJlYW0uCi0JCSAqCi0JCSAqIFxjb2Rl
Ci0JCSAqIAl2YXIgYmFzZTY0ID0gaW4ucmVhZEJhc2U2NCgyNTYpOwotCQkgKiAJb3V0LndyaXRl
QmFzZTY0KGJhc2U2NCk7IC8vIHdyaXRlcyB0aGUgYmFzZTY0IGRhdGEgcmVhZCBmcm9tIGluIHRv
IG91dAotCQkgKiBcZW5kY29kZQotCQkgKgotCQkgKiBccGFyYW0gYmFzZTY0RGF0YSB0aGUgYmFz
ZTY0IGRhdGEgYmVpbmcgd3JpdHRlbi4KLQkJICogXHRocm93IERldmljZUFQSUVycm9yIElPX0VS
Uk9SIGlmIGFuIGVycm9yIG9jY3VycyBkdXJpbmcgd3JpdGVCYXNlNjQuCi0JCSAqLwotCQl2b2lk
IHdyaXRlQmFzZTY0KGluIERPTVN0cmluZyBiYXNlNjREYXRhKQotCQkJcmFpc2VzKERldmljZUFQ
SUVycm9yKTsKLQl9OwotCi0gIC8qKgotICAgKiBcYnJpZWYgU3BlY2lmaWVzIHdoYXQgaXMgaW5z
dGFudGlhdGVkIGF0IGZlYXR1cmUgcmVxdWVzdAotICAgKiBcZGVmLWluc3RhbnRpYXRlZAotICAg
KiBcYXBpLWZlYXR1cmUgaHR0cDovL2JvbmRpLm9tdHAub3JnL2FwaS9maWxlc3lzdGVtLnJlYWQK
LSAgICogXGFwaS1mZWF0dXJlIGh0dHA6Ly9ib25kaS5vbXRwLm9yZy9hcGkvZmlsZXN5c3RlbS53
cml0ZQotICAgKi8KLQlpbnRlcmZhY2UgRmlsZVN5c3RlbU1hbmFnZXJPYmplY3QgewotCQlyZWFk
b25seSBhdHRyaWJ1dGUgRmlsZVN5c3RlbU1hbmFnZXIgZmlsZVN5c3RlbU1hbmFnZXI7IAotCX07
Ci0JYm9uZGkgaW1wbGVtZW50cyBGaWxlU3lzdGVtTWFuYWdlck9iamVjdDsKLQotfTsKSW5kZXg6
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC93aWRscHJvYy9leGFtcGxlcy9zcGVjdG93aWRsLnhzbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvZXhhbXBsZXMvc3BlY3Rvd2lkbC54c2wJKHJldmlzaW9uIDI1
Mjg5NikKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9leGFtcGxlcy9zcGVjdG93aWRsLnhzbAkobm9u
ZXhpc3RlbnQpCkBAIC0xLDI3ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9
InV0Zi04Ij8+Ci08IS0tPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLSRJZCQKLUNvcHlyaWdodCAyMDA5IEFwbGl4IENv
cnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNo
ZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7Ci15b3UgbWF5IG5vdCB1c2Ug
dGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCi1Zb3UgbWF5
IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKLSAgICBodHRwOi8vd3d3LmFwYWNoZS5v
cmcvbGljZW5zZXMvTElDRU5TRS0yLjAKLVVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxh
dyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKLWRpc3RyaWJ1dGVkIHVuZGVyIHRo
ZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCi1XSVRIT1VUIFdB
UlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1w
bGllZC4KLVNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmlu
ZyBwZXJtaXNzaW9ucyBhbmQKLWxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgotCi1YU0xU
IHN0eWxlc2hlZXQgdG8gZXh0cmFjdCBXZWIgSURMIHNuaXBwZXRzIGZyb20gV2ViIElETCBzcGVj
LiAKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PS0tPgotPHhzbDpzdHlsZXNoZWV0IHhtbG5zOnhzbD0iaHR0cDovL3d3
dy53My5vcmcvMTk5OS9YU0wvVHJhbnNmb3JtIiB2ZXJzaW9uPSIxLjAiPgotPHhzbDpvdXRwdXQg
bWV0aG9kPSJ0ZXh0IiBlbmNvZGluZz0idXRmLTgiLz4KLQotPHhzbDp0ZW1wbGF0ZSBtYXRjaD0i
Y29kZVtAY2xhc3M9J2lkbC1jb2RlJ10iPgotICAgIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIuIi8+
PHhzbDp0ZXh0PgotPC94c2w6dGV4dD4KLTwveHNsOnRlbXBsYXRlPgotCi08eHNsOnRlbXBsYXRl
IG1hdGNoPSJ0ZXh0KCkiLz4KLQotPC94c2w6c3R5bGVzaGVldD4KSW5kZXg6IExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93
aWRscHJvYy9leGFtcGxlcy93M2MtaW1wb3J0LmxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
d2lkbHByb2MvZXhhbXBsZXMvdzNjLWltcG9ydC5sb2cJKHJldmlzaW9uIDI1Mjg5NikKKysrIExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC93aWRscHJvYy9leGFtcGxlcy93M2MtaW1wb3J0LmxvZwkobm9uZXhpc3RlbnQpCkBA
IC0xLDIzICswLDAgQEAKLVRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVk
IGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgotRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJl
Y3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFcz
QyBDU1Mgb3IgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20vdzNjL2Nzc3dnLXRlc3QK
LQlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cwotCi1UaGVuIHJ1biB0
aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydAot
Ci1EbyBOT1QgbW9kaWZ5IG9yIHJlbW92ZSB0aGlzIGZpbGUuCi0KLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQot
UHJvcGVydGllcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgotTm9uZQotUHJvcGVydHkgdmFs
dWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6Ci1Ob25lCi0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLUxp
c3Qgb2YgZmlsZXM6Ci0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL2V4YW1wbGVzL01ha2VmaWxlCi0vTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L3dpZGxwcm9jL2V4YW1wbGVzL1JFQURNRQotL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9leGFt
cGxlcy9ib25kaS53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL2V4YW1wbGVzL2ZpbGVzeXN0ZW0u
d2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9leGFtcGxlcy9zcGVjdG93aWRsLnhzbAotL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC93aWRscHJvYy9leGFtcGxlcy93aWRsaHRtbC5jc3MKSW5kZXg6IExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRs
cHJvYy9leGFtcGxlcy93aWRsaHRtbC5jc3MKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxw
cm9jL2V4YW1wbGVzL3dpZGxodG1sLmNzcwkocmV2aXNpb24gMjUyODk2KQorKysgTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3dpZGxwcm9jL2V4YW1wbGVzL3dpZGxodG1sLmNzcwkobm9uZXhpc3RlbnQpCkBAIC0xLDEwMCAr
MCwwIEBACi1ib2R5IHsKLSAgcGFkZGluZzogMmVtOwotICBtYXJnaW46IDA7Ci0gIGZvbnQtZmFt
aWx5OiBzYW5zLXNlcmlmOwotICBjb2xvcjogYmxhY2s7Ci0gIGJhY2tncm91bmQ6IHdoaXRlOwot
ICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgbGVmdDsKLSAgYmFja2dyb3VuZC1hdHRhY2htZW50
OiBmaXhlZDsKLSAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsKLX0KLTpsaW5rIHsgY29s
b3I6ICMwMEM7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IH0KLTp2aXNpdGVkIHsgY29sb3I6ICM2
MDk7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IH0KLWE6YWN0aXZlIHsgY29sb3I6ICNDMDA7IGJh
Y2tncm91bmQ6IHRyYW5zcGFyZW50IH0KLWE6bGluayBpbWcsIGE6dmlzaXRlZCBpbWcgeyBib3Jk
ZXItc3R5bGU6IG5vbmUgfSAvKiBubyBib3JkZXIgb24gaW1nIGxpbmtzICovCi0KLWgxLCBoMiwg
aDMsIGg0LCBoNSwgaDYgeyB0ZXh0LWFsaWduOiBsZWZ0IH0KLS8qIGJhY2tncm91bmQgc2hvdWxk
IGJlIHRyYW5zcGFyZW50LCBidXQgV2ViVFYgaGFzIGEgYnVnICovCi1oMSwgaDIsIGgzIHsgY29s
b3I6ICMwMDkzOTM7IGJhY2tncm91bmQ6IHdoaXRlIH0KLWgxIHsgZm9udDogMTcwJSBzYW5zLXNl
cmlmIH0KLWgyIHsgZm9udDogMTQwJSBzYW5zLXNlcmlmIH0KLWgzIHsgZm9udDogMTIwJSBzYW5z
LXNlcmlmIH0KLWg0IHsgZm9udDogYm9sZCAxMDAlIHNhbnMtc2VyaWYgfQotaDUgeyBmb250OiBp
dGFsaWMgMTAwJSBzYW5zLXNlcmlmIH0KLWg2IHsgZm9udDogc21hbGwtY2FwcyAxMDAlIHNhbnMt
c2VyaWY7IG1hcmdpbi1ib3R0b206IDAgfQotCi0uaGlkZSB7IGRpc3BsYXk6IG5vbmUgfQotCi1j
b2RlIHsgZm9udC1zaXplOiAxMjAlIH0KLQotdWwudG9jLCBvbC50b2MsIHVsLmF1dGhvcnMgewot
ICBsaXN0LXN0eWxlOiBub25lOwotfQotCi0uaGlkZSB7IGRpc3BsYXk6IG5vbmUgfQotCi1kaXYu
aGVhZCB7IG1hcmdpbi1ib3R0b206IDFlbSB9Ci1kaXYuaGVhZCBoMSB7IG1hcmdpbi10b3A6IDJl
bTsgY2xlYXI6IGJvdGggfQotZGl2LmhlYWQgdGFibGUgeyBtYXJnaW4tbGVmdDogMmVtOyBtYXJn
aW4tdG9wOiAyZW0gfQotZGl2LmNvbnN0cmFpbnQsIGRpdi5pc3N1ZSwgZGl2Lm5vdGUsIGRpdi5u
b3RpY2UgICAgIHsgbWFyZ2luLWxlZnQ6IDJlbTsgfQotZGl2LmV4YW1wbGVJbm5lciBwcmUgeyBt
YXJnaW4tbGVmdDogMWVtOyBtYXJnaW4tdG9wOiAwZW07IG1hcmdpbi1ib3R0b206IDBlbX0KLWRp
di5leGFtcGxlT3V0ZXIge2JvcmRlcjogNHB4IGRvdWJsZSBncmF5OyBtYXJnaW46IDBlbTsgcGFk
ZGluZzogMGVtfQotZGl2LmV4YW1wbGVJbm5lciB7IGJhY2tncm91bmQtY29sb3I6ICNkNWRlZTM7
Ci0gICAgIAkgICAgICAgICAgIGJvcmRlci10b3Atd2lkdGg6IDRweDsKLSAgICAgICAJICAgICAg
ICAgICBib3JkZXItdG9wLXN0eWxlOiBkb3VibGU7Ci0gICAgICAgCSAgICAgICAgICAgYm9yZGVy
LXRvcC1jb2xvcjogI2QzZDNkMzsKLSAgICAgICAJICAgICAgICAgICBib3JkZXItYm90dG9tLXdp
ZHRoOiA0cHg7Ci0gICAgICAgCSAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogZG91Ymxl
OwotICAgICAgIAkgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICNkM2QzZDM7Ci0gICAg
ICAgCSAgICAgICAgICAgcGFkZGluZzogNHB4OyBtYXJnaW46IDBlbSB9Ci1kaXYuZXhhbXBsZVdy
YXBwZXIgeyBtYXJnaW46IDRweCB9Ci1kaXYuZXhhbXBsZUhlYWRlciB7IGZvbnQtd2VpZ2h0OiBi
b2xkOyBtYXJnaW46IDRweH0KLWRpdi50ZXJtIHsgZm9udDogMTAwJSBzYW5zLXNlcmlmOyBjb2xv
cjojMDAwMDAwOyBmb250LXdlaWdodDogYm9sZDsgbGluZS1oZWlnaHQ6IDYwJX0gICAKLWRpdi5s
aXN0IHsgZm9udDogMTAwJSBzYW5zLXNlcmlmOyBjb2xvcjojMDAwMDAwOyBmb250LXdlaWdodDog
bm9ybWFsOyBsaW5lLWhlaWdodDogNjAlfSAKLQotLm9wdGlvbmFsIHt0ZXh0LWRlY29yYXRpb246
IGxpbmUtdGhyb3VnaDsgZGlzcGxheTogbm9uZTt9Ci0KLS5jb3B5cmlnaHQsLmxlZ2Fsbm90aWNl
IHsgZm9udC1zaXplOiBzbWFsbCB9Ci0uY29weXJpZ2h0IHNtYWxsIHsgZm9udC1zaXplOiBzbWFs
bCB9Ci0KLUBtZWRpYSBzY3JlZW4geyAgLyogaGlkZSBmcm9tIElFMyAqLwotYVtocmVmXTpob3Zl
ciB7IGJhY2tncm91bmQ6ICNmZmEgfQotfQotCi1vbC5lbnVtYXIgICAgICB7IGxpc3Qtc3R5bGUt
dHlwZTogZGVjaW1hbDsgfQotb2wuZW51bWxhICAgICAgeyBsaXN0LXN0eWxlLXR5cGU6IGxvd2Vy
LWFscGhhOyB9Ci1vbC5lbnVtbHIgICAgICB7IGxpc3Qtc3R5bGUtdHlwZTogbG93ZXItcm9tYW47
IH0KLW9sLmVudW11YSAgICAgIHsgbGlzdC1zdHlsZS10eXBlOiB1cHBlci1hbHBoYTsgfQotb2wu
ZW51bXVyICAgICAgeyBsaXN0LXN0eWxlLXR5cGU6IHVwcGVyLXJvbWFuOyB9Ci0KLS8qIEJPTkRJ
IGFkZGl0aW9ucyAqLwotCi0udG9jIHsKLSAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7Ci19Ci0K
LXByZSB7Ci0gIGJhY2tncm91bmQtY29sb3I6I0Q1REVFMzsKLSAgb3ZlcmZsb3c6IGF1dG87Ci0g
IHBhZGRpbmc6IDFlbTsKLX0KLQotLmV4YW1wbGVjb2RlIHsKLSAgICBiYWNrZ3JvdW5kLWNvbG9y
OiAjRUVFOwotfQotCi0uZGVmLWFwaS1mZWF0dXJlLXNldCBkdCwgLmRlZi1hcGktZmVhdHVyZSBk
dCwgZHQgLmRlZi1kZXZpY2UtY2FwLCBkdC5jb25zdCBjb2RlIHsgZm9udDogYm9sZCAxMDAlIHNh
bnMtc2VyaWY7IH0KLWR0LmF0dHJpYnV0ZSBjb2RlLCBkdC5tZXRob2QgY29kZSB7IGZvbnQ6IGl0
YWxpYyAxMDAlIHNhbnMtc2VyaWY7IH0KLQotLmRlZi1kZXZpY2UtY2FwcyBkZCB7IG1hcmdpbi1i
b3R0b206IDJlbSB9Ci0KLWR0Lm1ldGhvZCB7IG1hcmdpbi10b3A6IDJlbSB9Ci0KLS5zdW1tYXJ5
IHRkIHsKLSAgICB0ZXh0LWFsaWduOiBsZWZ0OwotICAgIGJhY2tncm91bmQtY29sb3I6ICNCQkRE
REQ7Ci0gICAgY29sb3I6IGluaGVyaXQ7Ci0gICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsKLSAg
ICB3aGl0ZS1zcGFjZTpwcmU7Ci0gICAgcGFkZGluZzogLjNlbSAxZW0gLjNlbSAxZW07Ci19Cklu
ZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mvc3JjL2NvbW1lbnQuYwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvd2lkbHByb2Mvc3JjL2NvbW1lbnQuYwkocmV2aXNpb24gMjUyODk2KQorKysgTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3dpZGxwcm9jL3NyYy9jb21tZW50LmMJKG5vbmV4aXN0ZW50KQpAQCAtMSwxODI3ICswLDAg
QEAKLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKgotICogJElkJAotICogQ29weXJpZ2h0IDIwMDkgQXBsaXggQ29y
cG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBh
Y2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKLSAqIHlvdSBtYXkgbm90
IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KLSAq
IFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAotICogICAgIGh0dHA6Ly93
d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAotICogVW5sZXNzIHJlcXVpcmVkIGJ5
IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQotICogZGlz
dHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBC
QVNJUywKLSAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBl
aXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgotICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3Bl
Y2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAotICogbGltaXRhdGlvbnMg
dW5kZXIgdGhlIExpY2Vuc2UuCi0gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi0jaW5jbHVkZSA8YXNzZXJ0Lmg+
Ci0jaW5jbHVkZSA8c3RyaW5nLmg+Ci0jaW5jbHVkZSA8c3RkaW8uaD4KLQotI2luY2x1ZGUgImNv
bW1lbnQuaCIKLSNpbmNsdWRlICJlbnRpdGllcy5oIgotI2luY2x1ZGUgImxleC5oIgotI2luY2x1
ZGUgIm1pc2MuaCIKLSNpbmNsdWRlICJub2RlLmgiCi0jaW5jbHVkZSAib3MuaCIKLSNpbmNsdWRl
ICJwcm9jZXNzLmgiCi0KLS8qIHN0cnVjdCBjbm9kZSA6IGEgbm9kZSBpbiB0aGUgY29tbWVudCBw
YXJzZSB0cmVlICovCi1zdHJ1Y3QgY25vZGUgewotICAgIHN0cnVjdCBjbm9kZSAqbmV4dDsKLSAg
ICBzdHJ1Y3QgY25vZGUgKmNoaWxkcmVuOwotICAgIHN0cnVjdCBjbm9kZSAqcGFyZW50OwotICAg
IGNvbnN0IHN0cnVjdCBjbm9kZWZ1bmNzICpmdW5jczsKLSAgICBjb25zdCBjaGFyICphdHRydGV4
dDsKLSAgICBjb25zdCBjaGFyICpmaWxlbmFtZTsKLSAgICB1bnNpZ25lZCBpbnQgbGluZW51bTsK
LX07Ci0KLXN0cnVjdCBjbm9kZWZ1bmNzIHsKLSAgICBpbnQgaW5kZXNjOyAvKiBub24temVybyBp
ZiBpdCBvdXRwdXRzIGl0cyBvd24geG1sIGVsZW1lbnQgdGhhdCBkb2VzCi0gICAgICAgICAgICAg
ICAgICAgICAgbm90IHdhbnQgdG8gYmUgaW5zaWRlIDxkZXNjcmlwdGlvbj4gKi8KLSAgICBpbnQg
bmVlZHBhcmE7IC8qIG5vbi16ZXJvIGlmIHRleHQgbXVzdCBiZSBpbiBhIHBhcmEgbm9kZSB0aGF0
IGlzIGEgY2hpbGQKLSAgICAgICAgICAgICAgICAgICAgIG9mIHRoaXMgb25lICovCi0gICAgaW50
ICgqYXNrZW5kKShzdHJ1Y3QgY25vZGUgKmNub2RlLCBjb25zdCBzdHJ1Y3QgY25vZGVmdW5jcyAq
dHlwZSk7Ci0gICAgdm9pZCAoKmVuZCkoc3RydWN0IGNub2RlICpjbm9kZSk7Ci0gICAgdm9pZCAo
Km91dHB1dCkoc3RydWN0IGNub2RlICpjbm9kZSwgdW5zaWduZWQgaW50IGluZGVudCk7Ci19Owot
Ci1zdHJ1Y3QgcGFyYW1jbm9kZSB7Ci0gICAgc3RydWN0IGNub2RlIGNuOwotICAgIGludCBpbm91
dDsKLSAgICBjaGFyIG5hbWVbMV07Ci19OwotCi0vKiBzdHJ1Y3QgY29tbWVudCA6IGEgZG94eWdl
biBjb21tZW50ICovCi1zdHJ1Y3QgY29tbWVudCB7Ci0gICAgc3RydWN0IGNvbW1lbnQgKm5leHQ7
Ci0gICAgc3RydWN0IG5vZGUgKm5vZGU7Ci0gICAgdW5zaWduZWQgaW50IHR5cGU7Ci0gICAgY29u
c3QgY2hhciAqZmlsZW5hbWU7Ci0gICAgdW5zaWduZWQgaW50IGxpbmVudW07Ci0gICAgc3RydWN0
IGNub2RlIHJvb3Q7Ci0gICAgaW50IGJhY2s7IC8qIFdoZXRoZXIgdGhlIGNvbW1lbnQgcmVmZXJz
IGJhY2sgcmF0aGVyIHRoYW4gZm9yd2FyZC4gKi8KLSAgICBjaGFyICp0ZXh0OwotfTsKLQotCi1z
dGF0aWMgc3RydWN0IG5vZGUgKmxhc3RpZGVudGlmaWVyOwotc3RhdGljIHN0cnVjdCBjb21tZW50
ICpjb21tZW50czsKLXN0YXRpYyBpbnQgaW5jb2RlLCBpbmh0bWxibG9jazsKLXN0YXRpYyBzdHJ1
Y3QgY29tbWVudCAqY3VyY29tbWVudDsKLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBodG1sZWxkZXNj
cyA6IHRhYmxlIG9mIHJlY25vZ2l6ZWQgSFRNTCBlbGVtZW50cwotICovCi0jZGVmaW5lIEhUTUxF
TF9FTVBUWSAxCi0jZGVmaW5lIEhUTUxFTF9JTkxJTkUgMgotI2RlZmluZSBIVE1MRUxfQkxPQ0sg
NAotI2RlZmluZSBIVE1MRUxfQVVUT0NMT1NFIDgKLSNkZWZpbmUgSFRNTEVMX0xJIDB4MTAKLSNk
ZWZpbmUgSFRNTEVMX0RMQ09OVEVOVFMgMHgyMAotI2RlZmluZSBIVE1MRUxfVEFCTEVDT05URU5U
UyAweDQwCi0jZGVmaW5lIEhUTUxFTF9UUkNPTlRFTlRTIDB4ODAKLQotI2RlZmluZSBIVE1MRUxf
RkxPVyAoSFRNTEVMX0JMT0NLIHwgSFRNTEVMX0lOTElORSkKLQotc3RydWN0IGh0bWxlbGRlc2Mg
ewotICAgIHVuc2lnbmVkIGludCBuYW1lbGVuOwotICAgIGNvbnN0IGNoYXIgKm5hbWU7Ci0gICAg
dW5zaWduZWQgaW50IGZsYWdzOwotICAgIHVuc2lnbmVkIGludCBjb250ZW50OwotfTsKLQotc3Rh
dGljIGNvbnN0IHN0cnVjdCBodG1sZWxkZXNjIGh0bWxlbGRlc2NzW10gPSB7Ci0gICAgeyAxLCAi
YSIsIEhUTUxFTF9JTkxJTkUsIDAgfSwKLSAgICB7IDEsICJiIiwgSFRNTEVMX0lOTElORSwgMCB9
LAotICAgIHsgMiwgImJyIiwgSFRNTEVMX0lOTElORSwgSFRNTEVMX0VNUFRZIH0sCi0gICAgeyAz
LCAiaW1nIiwgSFRNTEVMX0lOTElORSwgSFRNTEVMX0VNUFRZIH0sCi0gICAgeyAyLCAiZGQiLCBI
VE1MRUxfRExDT05URU5UUywgSFRNTEVMX0ZMT1cgfSwKLSAgICB7IDIsICJkbCIsIEhUTUxFTF9C
TE9DSywgSFRNTEVMX0RMQ09OVEVOVFMgfSwKLSAgICB7IDIsICJkdCIsIEhUTUxFTF9ETENPTlRF
TlRTLCBIVE1MRUxfSU5MSU5FIH0sCi0gICAgeyAyLCAiZW0iLCBIVE1MRUxfSU5MSU5FLCAwIH0s
Ci0gICAgeyAyLCAibGkiLCBIVE1MRUxfTEksIEhUTUxFTF9GTE9XIH0sCi0gICAgeyAyLCAib2wi
LCBIVE1MRUxfQkxPQ0ssIEhUTUxFTF9MSSB9LAotICAgIHsgMSwgInAiLCBIVE1MRUxfQkxPQ0ss
IEhUTUxFTF9JTkxJTkUgfSwKLSAgICB7IDIsICJ0ZCIsIEhUTUxFTF9UUkNPTlRFTlRTIHwgSFRN
TEVMX0FVVE9DTE9TRSwgSFRNTEVMX0ZMT1cgfSwKLSAgICB7IDIsICJ0aCIsIEhUTUxFTF9UUkNP
TlRFTlRTIHwgSFRNTEVMX0FVVE9DTE9TRSwgSFRNTEVMX0ZMT1cgfSwKLSAgICB7IDIsICJ0ciIs
IEhUTUxFTF9UQUJMRUNPTlRFTlRTIHwgSFRNTEVMX0FVVE9DTE9TRSwgSFRNTEVMX1RSQ09OVEVO
VFMgfSwKLSAgICB7IDUsICJ0YWJsZSIsIEhUTUxFTF9CTE9DSywgSFRNTEVMX1RBQkxFQ09OVEVO
VFMgfSwKLSAgICB7IDIsICJ1bCIsIEhUTUxFTF9CTE9DSywgSFRNTEVMX0xJIH0sCi0gICAgeyAw
LCAwLCAwLCAwIH0KLX07Ci0jZGVmaW5lIEhUTUxFTERFU0NfQiAoaHRtbGVsZGVzY3MgKyAxKQot
I2RlZmluZSBIVE1MRUxERVNDX0JSIChodG1sZWxkZXNjcyArIDIpCi0KLS8qKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KgotICogYWRkY29tbWVudCA6IGFkZCBhIGNvbW1lbnQgdG8gdGhlIGxpc3Qgb2YgY29tbWVudHMg
aWYgaXQgaGFzIGRveHlnZW4gc3ludGF4Ci0gKgotICogRW50ZXI6ICAgdG9rIHN0cnVjdAotICov
Ci12b2lkCi1hZGRjb21tZW50KHN0cnVjdCB0b2sgKnRvaykKLXsKLSAgICBpZiAodG9rLT5sZW4g
Pj0gMSAmJiAodG9rLT5zdGFydFswXSA9PSAnIScKLSAgICAgICAgfHwgKHRvay0+dHlwZSA9PSBU
T0tfQkxPQ0tDT01NRU5UICYmIHRvay0+c3RhcnRbMF0gPT0gJyonKQotICAgICAgICB8fCAodG9r
LT50eXBlID09IFRPS19JTkxJTkVDT01NRU5UICYmIHRvay0+c3RhcnRbMF0gPT0gJy8nKSkpCi0g
ICAgewotICAgICAgICBzdHJ1Y3QgY29tbWVudCAqY29tbWVudDsKLSAgICAgICAgY29tbWVudCA9
IG1lbWFsbG9jKHNpemVvZihzdHJ1Y3QgY29tbWVudCkpOwotICAgICAgICBjb21tZW50LT50ZXh0
ID0gbWVtYWxsb2ModG9rLT5sZW4gKyAxKTsKLSAgICAgICAgbWVtY3B5KGNvbW1lbnQtPnRleHQs
IHRvay0+c3RhcnQsIHRvay0+bGVuKTsKLSAgICAgICAgY29tbWVudC0+dGV4dFt0b2stPmxlbl0g
PSAwOwotICAgICAgICBjb21tZW50LT50eXBlID0gdG9rLT50eXBlOwotICAgICAgICBjb21tZW50
LT5maWxlbmFtZSA9IHRvay0+ZmlsZW5hbWU7Ci0gICAgICAgIGNvbW1lbnQtPmxpbmVudW0gPSB0
b2stPmxpbmVudW07Ci0gICAgICAgIGNvbW1lbnQtPm5vZGUgPSAwOwotICAgICAgICBjb21tZW50
LT5iYWNrID0gMDsKLSAgICAgICAgaWYgKGNvbW1lbnQtPnRleHRbMV0gPT0gJzwnKSB7Ci0gICAg
ICAgICAgICBjb21tZW50LT5iYWNrID0gMTsKLSAgICAgICAgICAgIGlmICghbGFzdGlkZW50aWZp
ZXIpIHsKLSAgICAgICAgICAgICAgICBsb2NlcnJvcmV4aXQoY29tbWVudC0+ZmlsZW5hbWUsIGNv
bW1lbnQtPmxpbmVudW0sCi0gICAgICAgICAgICAgICAgICAgICJubyBpZGVudGlmaWVyIHRvIGF0
dGFjaCBkb3h5Z2VuIGNvbW1lbnQgdG8iKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGNv
bW1lbnQtPm5vZGUgPSBsYXN0aWRlbnRpZmllcjsKLSAgICAgICAgfQotICAgICAgICBjb21tZW50
LT5uZXh0ID0gY29tbWVudHM7Ci0gICAgICAgIGNvbW1lbnRzID0gY29tbWVudDsKLSAgICB9Ci19
Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKgotICogc2V0Y29tbWVudG5vZGUgOiBzZXQgcGFyc2Ugbm9kZSB0
byBhdHRhY2ggY29tbWVudHMgdG8KLSAqCi0gKiBFbnRlcjogICBub2RlMiA9IHBhcnNlIG5vZGUg
Zm9yIGlkZW50aWZpZXIKLSAqLwotdm9pZAotc2V0Y29tbWVudG5vZGUoc3RydWN0IG5vZGUgKm5v
ZGUyKQotewotICAgIHN0cnVjdCBjb21tZW50ICpjb21tZW50ID0gY29tbWVudHM7Ci0gICAgd2hp
bGUgKGNvbW1lbnQgJiYgIWNvbW1lbnQtPm5vZGUpIHsKLSAgICAgICAgY29tbWVudC0+bm9kZSA9
IG5vZGUyOwotICAgICAgICBjb21tZW50ID0gY29tbWVudC0+bmV4dDsKLSAgICB9Ci0gICAgbGFz
dGlkZW50aWZpZXIgPSBub2RlMjsKLX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBqb2luaW5saW5l
Y29tbWVudHMgOiBqb2luIGFkamFjZW50IGlubGluZSBjb21tZW50cwotICoKLSAqIEVudGVyOiAg
IGNvbW1lbnQgPSBsaXN0IG9mIGNvbW1lbnQgc3RydWN0cwotICoKLSAqIFJldHVybjogIG5ldyBs
aXN0IG9mIGNvbW1lbnQgc3RydWN0cwotICoKLSAqIFRoaXMgZnVuY3Rpb24gYWxzbyBkaXNjYXJk
cyBhbnkgc2luZ2xlIGlubGluZSBjb21tZW50IHRoYXQgZG9lcyBub3QKLSAqIHJlZmVyIGJhY2su
Ci0gKi8KLXN0YXRpYyBzdHJ1Y3QgY29tbWVudCAqCi1qb2luaW5saW5lY29tbWVudHMoc3RydWN0
IGNvbW1lbnQgKmNvbW1lbnRzKQotewotICAgIHN0cnVjdCBjb21tZW50ICoqcGNvbW1lbnQ7Ci0g
ICAgcGNvbW1lbnQgPSAmY29tbWVudHM7Ci0gICAgZm9yICg7OykgewotICAgICAgICBzdHJ1Y3Qg
Y29tbWVudCAqY29tbWVudDsKLSAgICAgICAgY29tbWVudCA9ICpwY29tbWVudDsKLSAgICAgICAg
aWYgKCFjb21tZW50KQotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGlmIChjb21tZW50LT50
eXBlICE9IFRPS19JTkxJTkVDT01NRU5UKSB7Ci0gICAgICAgICAgICAvKiBLZWVwIGJsb2NrIGNv
bW1lbnQgYXMgaXMuICovCi0gICAgICAgICAgICBwY29tbWVudCA9ICZjb21tZW50LT5uZXh0Owot
ICAgICAgICB9IGVsc2UgaWYgKCFjb21tZW50LT5iYWNrICYmICghY29tbWVudC0+bmV4dAotICAg
ICAgICAgICAgICAgIHx8IGNvbW1lbnQtPm5leHQtPnR5cGUgIT0gVE9LX0lOTElORUNPTU1FTlQK
LSAgICAgICAgICAgICAgICB8fCBjb21tZW50LT5uZXh0LT5maWxlbmFtZSAhPSBjb21tZW50LT5m
aWxlbmFtZQotICAgICAgICAgICAgICAgIHx8IGNvbW1lbnQtPm5leHQtPmxpbmVudW0gIT0gY29t
bWVudC0+bGluZW51bSArIDEpKQotICAgICAgICB7Ci0gICAgICAgICAgICAvKiBEaXNjYXJkIHNp
bmdsZSAvLyBjb21tZW50IHRoYXQgZG9lcyBub3QgcmVmZXIgYmFjay4gKi8KLSAgICAgICAgICAg
ICpwY29tbWVudCA9IGNvbW1lbnQtPm5leHQ7Ci0KLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAg
ICAgIC8qIEZpbmQgc2VxdWVuY2Ugb2YgYWRqYWNlbnQgLy8gY29tbWVudHMgKGFkamFjZW50IGxp
bmVzLAotICAgICAgICAgICAgICogcmVmZXJyaW5nIHRvIHNhbWUgbm9kZSkgYW5kIGpvaW4gdGhl
bS4gV2UgZG8gdGhpcyBpbiB0d28KLSAgICAgICAgICAgICAqIHBhc3Nlcywgb25lIHRvIGNvdW50
IHRoZSBsZW5ndGggb2YgdGhlIGNvbW1lbnQgYW5kIG9uZQotICAgICAgICAgICAgICogdG8gam9p
bi4gTm90ZSB0aGF0IHRoZSBsaXN0IGlzIHN0aWxsIGluIHJldmVyc2Ugb3JkZXIsCi0gICAgICAg
ICAgICAgKiBzbyB3ZSBleHBlY3QgdGhlIGxpbmUgbnVtYmVyIHRvIGRlY3JlYXNlIGJ5IDEgZWFj
aCB0aW1lLiAqLwotICAgICAgICAgICAgc3RydWN0IGNvbW1lbnQgKm5ld2NvbW1lbnQgPSAwLCAq
Y29tbWVudDI7Ci0gICAgICAgICAgICBjb25zdCBjaGFyICpmaWxlbmFtZSA9IGNvbW1lbnQtPmZp
bGVuYW1lOwotICAgICAgICAgICAgdW5zaWduZWQgaW50IGxpbmVudW0gPSBjb21tZW50LT5saW5l
bnVtOwotICAgICAgICAgICAgZm9yICg7OykgewotICAgICAgICAgICAgICAgIGNoYXIgKndwID0g
bmV3Y29tbWVudC0+dGV4dDsKLSAgICAgICAgICAgICAgICBjb21tZW50MiA9IGNvbW1lbnQ7Ci0g
ICAgICAgICAgICAgICAgZG8gewotICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgbGVu
ID0gc3RybGVuKGNvbW1lbnQyLT50ZXh0KTsKLSAgICAgICAgICAgICAgICAgICAgaWYgKG5ld2Nv
bW1lbnQpCi0gICAgICAgICAgICAgICAgICAgICAgICBtZW1jcHkod3AsIGNvbW1lbnQyLT50ZXh0
LCBsZW4pOwotICAgICAgICAgICAgICAgICAgICB3cCArPSBsZW47Ci0gICAgICAgICAgICAgICAg
ICAgIGxpbmVudW0tLTsKLSAgICAgICAgICAgICAgICAgICAgY29tbWVudDIgPSBjb21tZW50Mi0+
bmV4dDsKLSAgICAgICAgICAgICAgICB9IHdoaWxlIChjb21tZW50MiAmJiBjb21tZW50Mi0+Zmls
ZW5hbWUgPT0gZmlsZW5hbWUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAmJiBjb21tZW50
Mi0+bGluZW51bSA9PSBsaW5lbnVtCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgJiYgY29t
bWVudDItPm5vZGUgPT0gY29tbWVudC0+bm9kZSk7Ci0gICAgICAgICAgICAgICAgLyogRmluaXNo
ZWQgYSBwYXNzLiAqLwotICAgICAgICAgICAgICAgIGlmIChuZXdjb21tZW50KSB7Ci0gICAgICAg
ICAgICAgICAgICAgICp3cCA9IDA7Ci0gICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAg
ICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBuZXdjb21tZW50ID0gbWVtYWxsb2Moc2l6ZW9m
KHN0cnVjdCBjb21tZW50KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICArIHdwIC0g
bmV3Y29tbWVudC0+dGV4dCk7Ci0gICAgICAgICAgICAgICAgbmV3Y29tbWVudC0+bm9kZSA9IGNv
bW1lbnQtPm5vZGU7Ci0gICAgICAgICAgICAgICAgbmV3Y29tbWVudC0+dHlwZSA9IGNvbW1lbnQt
PnR5cGU7Ci0gICAgICAgICAgICAgICAgbmV3Y29tbWVudC0+ZmlsZW5hbWUgPSBmaWxlbmFtZTsK
LSAgICAgICAgICAgICAgICBuZXdjb21tZW50LT5saW5lbnVtID0gbGluZW51bSArIDE7Ci0gICAg
ICAgICAgICB9Ci0gICAgICAgICAgICAvKiBSZXBsYWNlIHRoZSBzY2FubmVkIGNvbW1lbnQgc3Ry
dWN0IHdpdGggbmV3Y29tbWVudCBpbiB0aGUKLSAgICAgICAgICAgICAqIGxpc3QuICovCi0gICAg
ICAgICAgICBuZXdjb21tZW50LT5uZXh0ID0gY29tbWVudDI7Ci0gICAgICAgICAgICAqcGNvbW1l
bnQgPSBuZXdjb21tZW50OwotICAgICAgICAgICAgcGNvbW1lbnQgPSAmbmV3Y29tbWVudC0+bmV4
dDsKLSAgICAgICAgfQotICAgIH0KLSAgICByZXR1cm4gY29tbWVudHM7Ci19Ci0KLS8qKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKgotICogb3V0cHV0Y2hpbGRyZW4gOiBjYWxsIG91dHB1dCByZWN1cnNpdmVseSBvbiBj
aGlsZHJlbiBvZiBjbm9kZQotICoKLSAqIEVudGVyOiAgIGNub2RlCi0gKiAgICAgICAgICBpbmRl
bnQgPSBpbmRlbnQgKG5lc3RpbmcpIGxldmVsIG9mIHBhcmVudAotICogICAgICAgICAgaW5kZXNj
ID0gd2hldGhlciBhbHJlYWR5IGluIDxkZXNjcmlwdGlvbj4gb3Igb3RoZXIgdG9wLWxldmVsCi0g
KiAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGl2ZSBlbGVtZW50Ci0gKi8KLXN0YXRpYyB2b2lk
Ci1vdXRwdXRjaGlsZHJlbihzdHJ1Y3QgY25vZGUgKmNub2RlLCB1bnNpZ25lZCBpbnQgaW5kZW50
LCBpbnQgaW5kZXNjKQotewotICAgIGludCBjdXJpbmRlc2MgPSBpbmRlc2M7Ci0gICAgY25vZGUg
PSBjbm9kZS0+Y2hpbGRyZW47Ci0gICAgd2hpbGUgKGNub2RlKSB7Ci0gICAgICAgIGlmIChjdXJp
bmRlc2MgIT0gY25vZGUtPmZ1bmNzLT5pbmRlc2MpIHsKLSAgICAgICAgICAgIGFzc2VydCghaW5k
ZXNjKTsKLSAgICAgICAgICAgIHByaW50ZigiJSpzPCVzZGVzY3JpcHRpb24+XG4iLCBpbmRlbnQg
KyAxLCAiIiwgY3VyaW5kZXNjID8gIi8iIDogIiIpOwotICAgICAgICAgICAgY3VyaW5kZXNjID0g
IWN1cmluZGVzYzsKLSAgICAgICAgfQotICAgICAgICAoKmNub2RlLT5mdW5jcy0+b3V0cHV0KShj
bm9kZSwgaW5kZW50ICsgMik7Ci0gICAgICAgIGNub2RlID0gY25vZGUtPm5leHQ7Ci0gICAgfQot
ICAgIGlmIChjdXJpbmRlc2MgIT0gaW5kZXNjKQotICAgICAgICBwcmludGYoIiUqczwlc2Rlc2Ny
aXB0aW9uPlxuIiwgaW5kZW50ICsgMSwgIiIsIGN1cmluZGVzYyA/ICIvIiA6ICIiKTsKLX0KLQot
LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqCi0gKiBkZWZhdWx0X2Fza2VuZCA6IGFzayBub2RlIGlmIGl0IHdhbnRz
IHRvIGVuZCBhdCBhIHBhcmEgc3RhcnQgKGRlZmF1bHQKLSAqICAgICAgICAgICAgICAgICAgaW1w
bGVtZW50YXRpb24pCi0gKgotICogRW50ZXI6ICAgY25vZGUKLSAqICAgICAgICAgIHR5cGUgPSAw
IGVsc2UgY25vZGVmdW5jcyBmb3IgbmV3bHkgc3RhcnRpbmcgcGFyYQotICoKLSAqIFJldHVybjog
IG5vbi16ZXJvIGlmIHRoaXMgbm9kZSB3YW50cyB0byBlbmQKLSAqLwotc3RhdGljIGludAotZGVm
YXVsdF9hc2tlbmQoc3RydWN0IGNub2RlICpjbm9kZSwgY29uc3Qgc3RydWN0IGNub2RlZnVuY3Mg
KnR5cGUpCi17Ci0gICAgcmV0dXJuIDE7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogcm9vdF9h
c2tlbmQgOiBhc2sgcm9vdCBub2RlIGlmIGl0IHdhbnRzIHRvIGVuZCBhdCBhIHBhcmEgc3RhcnQK
LSAqCi0gKiBFbnRlcjogICBjbm9kZSBmb3Igcm9vdAotICogICAgICAgICAgdHlwZSA9IDAgZWxz
ZSBjbm9kZWZ1bmNzIGZvciBuZXdseSBzdGFydGluZyBwYXJhCi0gKgotICogUmV0dXJuOiAgbm9u
LXplcm8gaWYgdGhpcyBub2RlIHdhbnRzIHRvIGVuZAotICovCi1zdGF0aWMgaW50Ci1yb290X2Fz
a2VuZChzdHJ1Y3QgY25vZGUgKmNub2RlLCBjb25zdCBzdHJ1Y3QgY25vZGVmdW5jcyAqdHlwZSkK
LXsKLSAgICByZXR1cm4gMDsKLX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiByb290X291dHB1dCA6
IG91dHB1dCByb290IGNub2RlCi0gKgotICogRW50ZXI6ICAgY25vZGUgZm9yIHJvb3QKLSAqICAg
ICAgICAgIGluZGVudCA9IGluZGVudCAobmVzdGluZykgbGV2ZWwKLSAqLwotc3RhdGljIHZvaWQK
LXJvb3Rfb3V0cHV0KHN0cnVjdCBjbm9kZSAqY25vZGUsIHVuc2lnbmVkIGludCBpbmRlbnQpCi17
Ci0gICAgb3V0cHV0Y2hpbGRyZW4oY25vZGUsIGluZGVudCwgMCk7Ci19Ci0KLS8qKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKgotICogY25vZGUgdHlwZSByb290Ci0gKi8KLXN0YXRpYyBjb25zdCBzdHJ1Y3QgY25vZGVm
dW5jcyByb290X2Z1bmNzID0gewotICAgIDAsIC8qICFpbmRlc2MgKi8KLSAgICAxLCAvKiBuZWVk
cGFyYSAqLwotICAgICZyb290X2Fza2VuZCwKLSAgICAwLCAvKiBlbmQgKi8KLSAgICAmcm9vdF9v
dXRwdXQsCi19OwotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIGVuZGNub2RlIDogZW5kIGN1cnJlbnQg
Y25vZGUKLSAqCi0gKiBFbnRlcjogICBjbm9kZSA9IGN1cnJlbnQgY25vZGUKLSAqCi0gKiBSZXR1
cm46ICBjbm9kZSA9IG5ldyBjdXJyZW50IGNvZGUgKHBhcmVudCBvZiBvbGQgb25lKQotICovCi1z
dGF0aWMgc3RydWN0IGNub2RlICoKLWVuZGNub2RlKHN0cnVjdCBjbm9kZSAqY25vZGUpCi17Ci0g
ICAgaWYgKGNub2RlLT5mdW5jcy0+ZW5kKQotICAgICAgICAoKmNub2RlLT5mdW5jcy0+ZW5kKShj
bm9kZSk7Ci0gICAgLyogUmV2ZXJzZSB0aGUgY2hpbGRyZW4gbGlzdC4gKi8KLSAgICB7Ci0gICAg
ICAgIHN0cnVjdCBjbm9kZSAqY2hpbGQgPSBjbm9kZS0+Y2hpbGRyZW47Ci0gICAgICAgIGNub2Rl
LT5jaGlsZHJlbiA9IDA7Ci0gICAgICAgIHdoaWxlIChjaGlsZCkgewotICAgICAgICAgICAgc3Ry
dWN0IGNub2RlICpuZXh0ID0gY2hpbGQtPm5leHQ7Ci0gICAgICAgICAgICBjaGlsZC0+bmV4dCA9
IGNub2RlLT5jaGlsZHJlbjsKLSAgICAgICAgICAgIGNub2RlLT5jaGlsZHJlbiA9IGNoaWxkOwot
ICAgICAgICAgICAgY2hpbGQgPSBuZXh0OwotICAgICAgICB9Ci0gICAgfQotICAgIHJldHVybiBj
bm9kZS0+cGFyZW50OwotfQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIGVuZHNwZWNpZmljY25vZGUg
OiBlbmQgYSBzcGVjaWZpYyB0eXBlIG9mIGNub2RlCi0gKgotICogRW50ZXI6ICAgY25vZGUgPSBj
dXJyZW50IGNub2RlCi0gKiAgICAgICAgICB0eXBlID0gdHlwZSBvZiBub2RlIHRvIGVuZAotICog
ICAgICAgICAgZmlsZW5hbWUsIGxpbmVudW0gPSBmaWxlbmFtZSBhbmQgbGluZSBudW1iZXIgKGZv
ciBlcnJvciByZXBvcnRpbmcpCi0gKgotICogUmV0dXJuOiAgbmV3IGN1cnJlbnQgY25vZGUKLSAq
Lwotc3RhdGljIHN0cnVjdCBjbm9kZSAqCi1lbmRzcGVjaWZpY2Nub2RlKHN0cnVjdCBjbm9kZSAq
Y25vZGUsIGNvbnN0IHN0cnVjdCBjbm9kZWZ1bmNzICp0eXBlLAotICAgICAgICAgICAgICAgICBj
b25zdCBjaGFyICpmaWxlbmFtZSwgdW5zaWduZWQgaW50IGxpbmVudW0pCi17Ci0gICAgd2hpbGUg
KGNub2RlLT5mdW5jcyAhPSB0eXBlKSB7Ci0gICAgICAgIGlmIChjbm9kZS0+ZnVuY3MgPT0gJnJv
b3RfZnVuY3MpCi0gICAgICAgICAgICBsb2NlcnJvcmV4aXQoZmlsZW5hbWUsIGxpbmVudW0sICJ1
bm1hdGNoZWQgXFxlbmRjb2RlIik7Ci0gICAgICAgIGNub2RlID0gZW5kY25vZGUoY25vZGUpOwot
ICAgIH0KLSAgICByZXR1cm4gY25vZGU7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogc3RhcnRj
bm9kZSA6IHN0YXJ0IGEgbmV3bHkgY3JlYXRlZCBjbm9kZQotICoKLSAqIEVudGVyOiAgIGNub2Rl
ID0gY3VycmVudCBjbm9kZQotICogICAgICAgICAgbmV3Y25vZGUgPSBuZXcgY25vZGUgdG8gc3Rh
cnQKLSAqCi0gKiBSZXR1cm46ICBuZXcgY3VycmVudCBjbm9kZSAod2hpY2ggaXMgdGhlIHNhbWUg
YXMgbmV3Y25vZGUpCi0gKi8KLXN0YXRpYyBzdHJ1Y3QgY25vZGUgKgotc3RhcnRjbm9kZShzdHJ1
Y3QgY25vZGUgKmNub2RlLCBzdHJ1Y3QgY25vZGUgKm5ld2Nub2RlKQotewotICAgIG5ld2Nub2Rl
LT5wYXJlbnQgPSBjbm9kZTsKLSAgICBuZXdjbm9kZS0+bmV4dCA9IGNub2RlLT5jaGlsZHJlbjsK
LSAgICBjbm9kZS0+Y2hpbGRyZW4gPSBuZXdjbm9kZTsKLSAgICByZXR1cm4gbmV3Y25vZGU7Ci19
Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKgotICogcGFyYV9vdXRwdXQgOiBvdXRwdXQgcGFyYSBjbm9kZQot
ICoKLSAqIEVudGVyOiAgIGNub2RlIGZvciByb290Ci0gKiAgICAgICAgICBpbmRlbnQgPSBpbmRl
bnQgKG5lc3RpbmcpIGxldmVsCi0gKi8KLXN0YXRpYyB2b2lkCi1wYXJhX291dHB1dChzdHJ1Y3Qg
Y25vZGUgKmNub2RlLCB1bnNpZ25lZCBpbnQgaW5kZW50KQotewotICAgIHByaW50ZigiJSpzPHA+
XG4iLCBpbmRlbnQsICIiKTsKLSAgICBvdXRwdXRjaGlsZHJlbihjbm9kZSwgaW5kZW50LCAxKTsK
LSAgICBwcmludGYoIiUqczwvcD5cbiIsIGluZGVudCwgIiIpOwotfQotCi0vKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioKLSAqIHBhcmFfZW5kIDogZW5kIGEgcGFyYSBjbm9kZQotICoKLSAqIEVudGVyOiAgIGNub2Rl
IHN0cnVjdAotICovCi1zdGF0aWMgdm9pZAotcGFyYV9lbmQoc3RydWN0IGNub2RlICpjbm9kZSkK
LXsKLSAgICAvKiBJZiB0aGUgcGFyYSBjbm9kZSBpcyBlbXB0eSwgcmVtb3ZlIGl0LiAqLwotICAg
IGlmICghY25vZGUtPmNoaWxkcmVuKQotICAgICAgICBjbm9kZS0+cGFyZW50LT5jaGlsZHJlbiA9
IGNub2RlLT5uZXh0OwotfQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIGNub2RlIHR5cGUgcGFyYQot
ICovCi1zdGF0aWMgY29uc3Qgc3RydWN0IGNub2RlZnVuY3MgcGFyYV9mdW5jcyA9IHsKLSAgICAx
LCAvKiBpbmRlc2MgKi8KLSAgICAwLCAvKiAhbmVlZHBhcmEgKi8KLSAgICAmZGVmYXVsdF9hc2tl
bmQsCi0gICAgJnBhcmFfZW5kLCAvKiBlbmQgKi8KLSAgICAmcGFyYV9vdXRwdXQsCi19OwotCi0v
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioKLSAqIGJyaWVmX291dHB1dCA6IG91dHB1dCBicmllZiBjbm9kZQotICoK
LSAqIEVudGVyOiAgIGNub2RlIGZvciByb290Ci0gKiAgICAgICAgICBpbmRlbnQgPSBpbmRlbnQg
KG5lc3RpbmcpIGxldmVsCi0gKi8KLXN0YXRpYyB2b2lkCi1icmllZl9vdXRwdXQoc3RydWN0IGNu
b2RlICpjbm9kZSwgdW5zaWduZWQgaW50IGluZGVudCkKLXsKLSAgICBwcmludGYoIiUqczxicmll
Zj5cbiIsIGluZGVudCwgIiIpOwotICAgIG91dHB1dGNoaWxkcmVuKGNub2RlLCBpbmRlbnQsIDEp
OwotICAgIHByaW50ZigiJSpzPC9icmllZj5cbiIsIGluZGVudCwgIiIpOwotfQotCi0vKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioKLSAqIGNub2RlIHR5cGUgYnJpZWYKLSAqLwotc3RhdGljIGNvbnN0IHN0cnVjdCBj
bm9kZWZ1bmNzIGJyaWVmX2Z1bmNzID0gewotICAgIDAsIC8qICFpbmRlc2MgKi8KLSAgICAwLCAv
KiAhbmVlZHBhcmEgKi8KLSAgICAmZGVmYXVsdF9hc2tlbmQsCi0gICAgMCwgLyogZW5kICovCi0g
ICAgJmJyaWVmX291dHB1dCwKLX07Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogcmV0dXJuX291dHB1
dCA6IG91dHB1dCByZXR1cm4gY25vZGUKLSAqCi0gKiBFbnRlcjogICBjbm9kZSBmb3Igcm9vdAot
ICogICAgICAgICAgaW5kZW50ID0gaW5kZW50IChuZXN0aW5nKSBsZXZlbAotICovCi1zdGF0aWMg
dm9pZAotcmV0dXJuX291dHB1dChzdHJ1Y3QgY25vZGUgKmNub2RlLCB1bnNpZ25lZCBpbnQgaW5k
ZW50KQotewotICAgIHByaW50ZigiJSpzPGRlc2NyaXB0aW9uPjxwPlxuIiwgaW5kZW50LCAiIik7
Ci0gICAgb3V0cHV0Y2hpbGRyZW4oY25vZGUsIGluZGVudCwgMSk7Ci0gICAgcHJpbnRmKCIlKnM8
L3A+PC9kZXNjcmlwdGlvbj5cbiIsIGluZGVudCwgIiIpOwotfQotCi0vKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioK
LSAqIGNub2RlIHR5cGUgcmV0dXJuCi0gKi8KLXN0YXRpYyBjb25zdCBzdHJ1Y3QgY25vZGVmdW5j
cyByZXR1cm5fZnVuY3MgPSB7Ci0gICAgMCwgLyogIWluZGVzYyAqLwotICAgIDAsIC8qICFuZWVk
cGFyYSAqLwotICAgICZkZWZhdWx0X2Fza2VuZCwKLSAgICAwLCAvKiBlbmQgKi8KLSAgICAmcmV0
dXJuX291dHB1dCwKLX07Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogYXV0aG9yX291dHB1dCA6IG91
dHB1dCBuYW1lIGNub2RlCi0gKgotICogRW50ZXI6ICAgY25vZGUgZm9yIHJvb3QKLSAqICAgICAg
ICAgIGluZGVudCA9IGluZGVudCAobmVzdGluZykgbGV2ZWwKLSAqLwotc3RhdGljIHZvaWQKLW5h
bWVfb3V0cHV0KHN0cnVjdCBjbm9kZSAqY25vZGUsIHVuc2lnbmVkIGludCBpbmRlbnQpCi17Ci0g
ICAgcHJpbnRmKCIlKnM8bmFtZT5cbiIsIGluZGVudCwgIiIpOwotICAgIG91dHB1dGNoaWxkcmVu
KGNub2RlLCBpbmRlbnQsIDEpOwotICAgIHByaW50ZigiJSpzPC9uYW1lPlxuIiwgaW5kZW50LCAi
Iik7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKgotICogY25vZGUgdHlwZSBuYW1lCi0gKi8KLXN0YXRp
YyBjb25zdCBzdHJ1Y3QgY25vZGVmdW5jcyBuYW1lX2Z1bmNzID0gewotICAgIDAsIC8qICFpbmRl
c2MgKi8KLSAgICAwLCAvKiAhbmVlZHBhcmEgKi8KLSAgICAmZGVmYXVsdF9hc2tlbmQsCi0gICAg
MCwgLyogZW5kICovCi0gICAgJm5hbWVfb3V0cHV0LAotfTsKLQotLyoqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0g
KiBhdXRob3Jfb3V0cHV0IDogb3V0cHV0IGF1dGhvciBjbm9kZQotICoKLSAqIEVudGVyOiAgIGNu
b2RlIGZvciByb290Ci0gKiAgICAgICAgICBpbmRlbnQgPSBpbmRlbnQgKG5lc3RpbmcpIGxldmVs
Ci0gKi8KLXN0YXRpYyB2b2lkCi1hdXRob3Jfb3V0cHV0KHN0cnVjdCBjbm9kZSAqY25vZGUsIHVu
c2lnbmVkIGludCBpbmRlbnQpCi17Ci0gICAgcHJpbnRmKCIlKnM8YXV0aG9yPlxuIiwgaW5kZW50
LCAiIik7Ci0gICAgb3V0cHV0Y2hpbGRyZW4oY25vZGUsIGluZGVudCwgMSk7Ci0gICAgcHJpbnRm
KCIlKnM8L2F1dGhvcj5cbiIsIGluZGVudCwgIiIpOwotfQotCi0vKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAq
IGNub2RlIHR5cGUgYXV0aG9yCi0gKi8KLXN0YXRpYyBjb25zdCBzdHJ1Y3QgY25vZGVmdW5jcyBh
dXRob3JfZnVuY3MgPSB7Ci0gICAgMCwgLyogIWluZGVzYyAqLwotICAgIDAsIC8qICFuZWVkcGFy
YSAqLwotICAgICZkZWZhdWx0X2Fza2VuZCwKLSAgICAwLCAvKiBlbmQgKi8KLSAgICAmYXV0aG9y
X291dHB1dCwKLX07Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogdmVyc2lvbl9vdXRwdXQgOiBvdXRw
dXQgdmVyc2lvbiBjbm9kZQotICoKLSAqIEVudGVyOiAgIGNub2RlIGZvciByb290Ci0gKiAgICAg
ICAgICBpbmRlbnQgPSBpbmRlbnQgKG5lc3RpbmcpIGxldmVsCi0gKi8KLXN0YXRpYyB2b2lkCi12
ZXJzaW9uX291dHB1dChzdHJ1Y3QgY25vZGUgKmNub2RlLCB1bnNpZ25lZCBpbnQgaW5kZW50KQot
ewotICAgIHByaW50ZigiJSpzPHZlcnNpb24+XG4iLCBpbmRlbnQsICIiKTsKLSAgICBvdXRwdXRj
aGlsZHJlbihjbm9kZSwgaW5kZW50LCAxKTsKLSAgICBwcmludGYoIiUqczwvdmVyc2lvbj5cbiIs
IGluZGVudCwgIiIpOwotfQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIGNub2RlIHR5cGUgdmVyc2lv
bgotICovCi1zdGF0aWMgY29uc3Qgc3RydWN0IGNub2RlZnVuY3MgdmVyc2lvbl9mdW5jcyA9IHsK
LSAgICAwLCAvKiAhaW5kZXNjICovCi0gICAgMCwgLyogIW5lZWRwYXJhICovCi0gICAgJmRlZmF1
bHRfYXNrZW5kLAotICAgIDAsIC8qIGVuZCAqLwotICAgICZ2ZXJzaW9uX291dHB1dCwKLX07Ci0K
LS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKgotICogY25vZGUgdHlwZSBjb2RlCi0gKi8KLS8qKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KgotICogY29kZV9lbmQgOiBlbmQgYSBjb2RlIGNub2RlCi0gKgotICogRW50ZXI6ICAgY25vZGUg
c3RydWN0Ci0gKi8KLXN0YXRpYyB2b2lkCi1jb2RlX2VuZChzdHJ1Y3QgY25vZGUgKmNub2RlKQot
ewotICAgIGlmIChpbmNvZGUpIHsKLSAgICAgICAgLyogVGhlIGluY29kZSBmbGFnIGhhcyBub3Qg
YmVlbiBjbGVhcmVkLCBzbyB0aGlzIGNvZGUgY25vZGUgaXMKLSAgICAgICAgICogYmVpbmcgZW5k
ZWQgaW1wbGljaXRseS4gV2UgY29tcGxhaW4gYWJvdXQgdGhhdC4gKi8KLSAgICAgICAgbG9jZXJy
b3JleGl0KGNub2RlLT5maWxlbmFtZSwgY25vZGUtPmxpbmVudW0sICJtaXNtYXRjaGVkIFxcY29k
ZSIpOwotICAgIH0KLX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBjb2RlX291dHB1dCA6IG91dHB1
dCBjb2RlIGNub2RlCi0gKgotICogRW50ZXI6ICAgY25vZGUgZm9yIHJvb3QKLSAqICAgICAgICAg
IGluZGVudCA9IGluZGVudCAobmVzdGluZykgbGV2ZWwKLSAqLwotc3RhdGljIHZvaWQKLWNvZGVf
b3V0cHV0KHN0cnVjdCBjbm9kZSAqY25vZGUsIHVuc2lnbmVkIGludCBpbmRlbnQpCi17Ci0gICAg
LyogTm90ZSBjYXBpdGFsaXphdGlvbiB0byBkaWZmZXJlbnRpYXRlIGl0IGZyb20gSFRNTCBjb2Rl
IGVsZW1lbnQuICovCi0gICAgaWYoY25vZGUtPmF0dHJ0ZXh0KQotCSAgICBwcmludGYoIiUqczxD
b2RlICVzPiIsIGluZGVudCwgIiIsIGNub2RlLT5hdHRydGV4dCk7Ci0JZWxzZQotCSAgICBwcmlu
dGYoIiUqczxDb2RlPiIsIGluZGVudCwgIiIpOwotICAgIG91dHB1dGNoaWxkcmVuKGNub2RlLCBp
bmRlbnQsIDEpOwotICAgIHByaW50ZigiPC9Db2RlPlxuIik7Ci19Ci0KLXN0YXRpYyBjb25zdCBz
dHJ1Y3QgY25vZGVmdW5jcyBjb2RlX2Z1bmNzID0gewotICAgIDAsIC8qIGluZGVzYyAqLwotICAg
IDAsIC8qICFuZWVkcGFyYSAqLwotICAgICZkZWZhdWx0X2Fza2VuZCwKLSAgICAmY29kZV9lbmQs
IC8qIGVuZCAqLwotICAgICZjb2RlX291dHB1dCwKLX07Ci0KLS8qKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICog
c3RhcnRwYXJhIDogc3RhcnQgYSBuZXcgcGFyYSBjbm9kZSBpbiB0aGUgcGFyc2UgdHJlZQotICoK
LSAqIEVudGVyOiAgIGNub2RlID0gY3VycmVudCBjbm9kZQotICogICAgICAgICAgdHlwZSA9IHZ0
YWJsZSBmb3IgcGFydGljdWxhciB0eXBlIG9mIGNub2RlCi0gKgotICogUmV0dXJuOiAgbmV3IGN1
cnJlbnQgY25vZGUKLSAqLwotc3RhdGljIHN0cnVjdCBjbm9kZSAqCi1zdGFydHBhcmEoc3RydWN0
IGNub2RlICpjbm9kZSwgY29uc3Qgc3RydWN0IGNub2RlZnVuY3MgKnR5cGUpCi17Ci0gICAgc3Ry
dWN0IGNub2RlICpuZXdjbm9kZTsKLSAgICB3aGlsZSAoKCpjbm9kZS0+ZnVuY3MtPmFza2VuZCko
Y25vZGUsIHR5cGUpKQotICAgICAgICBjbm9kZSA9IGVuZGNub2RlKGNub2RlKTsKLSAgICBuZXdj
bm9kZSA9IG1lbWFsbG9jKHNpemVvZihzdHJ1Y3QgY25vZGUpKTsKLSAgICBuZXdjbm9kZS0+ZnVu
Y3MgPSB0eXBlOwotICAgIHJldHVybiBzdGFydGNub2RlKGNub2RlLCBuZXdjbm9kZSk7Ci19Ci0K
LS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKgotICogY25vZGUgdHlwZSB0ZXh0Ci0gKi8KLXN0cnVjdCB0ZXh0Y25v
ZGUgewotICAgIHN0cnVjdCBjbm9kZSBjbjsKLSAgICB1bnNpZ25lZCBjaGFyICpkYXRhOwotICAg
IHVuc2lnbmVkIGludCBsZW47Ci0gICAgdW5zaWduZWQgaW50IG1heDsKLX07Ci0KLS8qKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKgotICogdGV4dF9lbmQgOiBlbmQgYSB0ZXh0IGNub2RlCi0gKgotICogRW50ZXI6ICAg
Y25vZGUgc3RydWN0Ci0gKi8KLXN0YXRpYyB2b2lkCi10ZXh0X2VuZChzdHJ1Y3QgY25vZGUgKmNu
b2RlKQotewotICAgIHN0cnVjdCB0ZXh0Y25vZGUgKnRleHRjbm9kZSA9ICh2b2lkICopY25vZGU7
Ci0gICAgdGV4dGNub2RlLT5kYXRhW3RleHRjbm9kZS0+bGVuXSA9IDA7Ci0gICAgdGV4dGNub2Rl
LT5tYXggPSB0ZXh0Y25vZGUtPmxlbiArIDE7Ci0gICAgdGV4dGNub2RlLT5kYXRhID0gbWVtcmVh
bGxvYyh0ZXh0Y25vZGUtPmRhdGEsIHRleHRjbm9kZS0+bWF4KTsKLX0KLQotLyoqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqCi0gKiB0ZXh0X291dHB1dCA6IG91dHB1dCB0ZXh0IGNub2RlCi0gKgotICogRW50ZXI6ICAg
Y25vZGUgZm9yIHJvb3QKLSAqICAgICAgICAgIGluZGVudCA9IGluZGVudCAobmVzdGluZykgbGV2
ZWwKLSAqLwotc3RhdGljIHZvaWQKLXRleHRfb3V0cHV0KHN0cnVjdCBjbm9kZSAqY25vZGUsIHVu
c2lnbmVkIGludCBpbmRlbnQpCi17Ci0gICAgLyogV2UgZG8gbm90IGluZGVudCwgaW4gY2FzZSB0
aGlzIGlzIGluc2lkZSBhIGNvZGUgY25vZGUuICovCi0gICAgc3RydWN0IHRleHRjbm9kZSAqdGV4
dGNub2RlID0gKHZvaWQgKiljbm9kZTsKLSAgICB1bnNpZ25lZCBpbnQgbGVuID0gdGV4dGNub2Rl
LT5sZW47Ci0gICAgdW5zaWduZWQgY29uc3QgY2hhciAqcCA9IHRleHRjbm9kZS0+ZGF0YTsKLSAg
ICB3aGlsZSAobGVuKSB7Ci0gICAgICAgIHVuc2lnbmVkIGludCB0aGlzbGVuOwotICAgICAgICBj
b25zdCBjaGFyICp0aGlzcHRyOwotICAgICAgICB0aGlzbGVuID0gcFswXTsKLSAgICAgICAgLyog
KHZvaWQgKikgY2FzdCBpcyB0byBhdm9pZCBhIHdhcm5pbmcgZnJvbSB0aGUgTVMgY29tcGlsZXIu
Ci0gICAgICAgICAqIEkgdGhpbmsgdGhlIHdhcm5pbmcgaXMgd3JvbmcsIGJ1dCBJIGNvdWxkIGJl
IHdyb25nLiAqLwotICAgICAgICBtZW1jcHkoKHZvaWQgKikmdGhpc3B0ciwgcCArIDEsIHNpemVv
Zih2b2lkICopKTsKLSAgICAgICAgcCArPSAxICsgc2l6ZW9mKHZvaWQgKik7Ci0gICAgICAgIGxl
biAtPSAxICsgc2l6ZW9mKHZvaWQgKik7Ci0gICAgICAgIHByaW50dGV4dCh0aGlzcHRyLCB0aGlz
bGVuLCAwKTsKLSAgICB9Ci19Ci0KLXN0YXRpYyBjb25zdCBzdHJ1Y3QgY25vZGVmdW5jcyB0ZXh0
X2Z1bmNzID0gewotICAgIDEsIC8qICFpbmRlc2MgKi8KLSAgICAwLCAvKiAhbmVlZHBhcmEgKi8K
LSAgICAmZGVmYXVsdF9hc2tlbmQsCi0gICAgJnRleHRfZW5kLCAvKiBlbmQgKi8KLSAgICAmdGV4
dF9vdXRwdXQsCi19OwotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIGNub2RlIHR5cGUgaHRtbCAoSFRN
TCBlbGVtZW50KQotICovCi1zdHJ1Y3QgaHRtbGNub2RlIHsKLSAgICBzdHJ1Y3QgY25vZGUgY247
Ci0gICAgY29uc3Qgc3RydWN0IGh0bWxlbGRlc2MgKmRlc2M7Ci0gICAgY2hhciBhdHRyc1sxXTsK
LX07Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKgotICogaHRtbF9lbmQgOiBlbmQgYW4gaHRtbCBjbm9kZQot
ICoKLSAqIEVudGVyOiAgIGNub2RlIHN0cnVjdAotICovCi1zdGF0aWMgdm9pZAotaHRtbF9lbmQo
c3RydWN0IGNub2RlICpjbm9kZSkKLXsKLSAgICBpZiAoKChzdHJ1Y3QgaHRtbGNub2RlICopY25v
ZGUpLT5kZXNjLT5mbGFncyAmIEhUTUxFTF9CTE9DSykKLSAgICAgICAgaW5odG1sYmxvY2stLTsK
LX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqCi0gKiBodG1sX291dHB1dCA6IG91dHB1dCBodG1sIGNub2Rl
Ci0gKgotICogRW50ZXI6ICAgY25vZGUgZm9yIHJvb3QKLSAqICAgICAgICAgIGluZGVudCA9IGlu
ZGVudCAobmVzdGluZykgbGV2ZWwKLSAqLwotc3RhdGljIHZvaWQKLWh0bWxfb3V0cHV0KHN0cnVj
dCBjbm9kZSAqY25vZGUsIHVuc2lnbmVkIGludCBpbmRlbnQpCi17Ci0gICAgc3RydWN0IGh0bWxj
bm9kZSAqaHRtbGNub2RlID0gKHZvaWQgKiljbm9kZTsKLSAgICBpZiAoIShodG1sY25vZGUtPmRl
c2MtPmZsYWdzICYgSFRNTEVMX0lOTElORSkpCi0gICAgICAgIHByaW50ZigiJSpzIiwgaW5kZW50
LCAiIik7Ci0gICAgaWYgKGh0bWxjbm9kZS0+Y24uY2hpbGRyZW4pIHsKLSAgICAgICAgcHJpbnRm
KCI8JXMlcz4iLCBodG1sY25vZGUtPmRlc2MtPm5hbWUsIGh0bWxjbm9kZS0+YXR0cnMpOwotICAg
ICAgICBpZiAoIShodG1sY25vZGUtPmRlc2MtPmZsYWdzICYgSFRNTEVMX0lOTElORSkpCi0gICAg
ICAgICAgICBwdXRjaGFyKCdcbicpOwotICAgICAgICBvdXRwdXRjaGlsZHJlbigmaHRtbGNub2Rl
LT5jbiwgaW5kZW50LCAxKTsKLSAgICAgICAgaWYgKCEoaHRtbGNub2RlLT5kZXNjLT5mbGFncyAm
IEhUTUxFTF9JTkxJTkUpKQotICAgICAgICAgICAgcHJpbnRmKCIlKnMiLCBpbmRlbnQsICIiKTsK
LSAgICAgICAgcHJpbnRmKCI8LyVzPiIsIGh0bWxjbm9kZS0+ZGVzYy0+bmFtZSk7Ci0gICAgfSBl
bHNlCi0gICAgICAgIHByaW50ZigiPCVzJXMvPiIsIGh0bWxjbm9kZS0+ZGVzYy0+bmFtZSwgaHRt
bGNub2RlLT5hdHRycyk7Ci0gICAgaWYgKCEoaHRtbGNub2RlLT5kZXNjLT5mbGFncyAmIEhUTUxF
TF9JTkxJTkUpKQotICAgICAgICBwdXRjaGFyKCdcbicpOwotfQotCi1zdGF0aWMgY29uc3Qgc3Ry
dWN0IGNub2RlZnVuY3MgaHRtbF9mdW5jcyA9IHsKLSAgICAxLCAvKiBpbmRlc2MgKi8KLSAgICAw
LCAvKiAhbmVlZHBhcmEgKi8KLSAgICAmZGVmYXVsdF9hc2tlbmQsCi0gICAgJmh0bWxfZW5kLCAv
KiBlbmQgKi8KLSAgICAmaHRtbF9vdXRwdXQsCi19OwotCi0vKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIHN0
YXJ0aHRtbGNub2RlIDogc3RhcnQgYSBuZXcgaHRtbCBjbm9kZQotICoKLSAqIEVudGVyOiAgIGNu
b2RlID0gY3VycmVudCBjbm9kZQotICogICAgICAgICAgaHRtbGVsZGVzYyA9IGh0bWwgZWxlbWVu
dCBkZXNjcmlwdG9yCi0gKiAgICAgICAgICBhdHRycyA9IGF0dHJpYnV0ZXMgdGV4dAotICogICAg
ICAgICAgYXR0cnNsZW4gPSBsZW5ndGggb2YgYXR0cmlidXRlcyB0ZXh0Ci0gKiAgICAgICAgICBm
aWxlbmFtZQotICogICAgICAgICAgbGluZW51bSA9IGxpbmUgbnVtYmVyCi0gKgotICogUmV0dXJu
OiAgbmV3IGN1cnJlbnQgY25vZGUKLSAqLwotc3RhdGljIHN0cnVjdCBjbm9kZSAqCi1zdGFydGh0
bWxjbm9kZShzdHJ1Y3QgY25vZGUgKmNub2RlLCBjb25zdCBzdHJ1Y3QgaHRtbGVsZGVzYyAqaHRt
bGVsZGVzYywKLSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmF0dHJzLCB1bnNpZ25lZCBpbnQg
YXR0cnNsZW4sCi0gICAgICAgICAgICAgICBjb25zdCBjaGFyICpmaWxlbmFtZSwgdW5zaWduZWQg
aW50IGxpbmVudW0pCi17Ci0gICAgc3RydWN0IGh0bWxjbm9kZSAqaHRtbGNub2RlOwotICAgIC8q
IEZpcnN0IGNsb3NlIGVub3VnaCBlbGVtZW50cyB0byBnZXQgdG8gYSBjb250ZW50Ci0gICAgICog
bW9kZWwgdGhhdCB3aWxsIGFjY2VwdCB0aGlzIG5ldyBlbGVtZW50LiAqLwotICAgIGZvciAoOzsp
IHsKLSAgICAgICAgaWYgKGNub2RlLT5mdW5jcyAhPSAmaHRtbF9mdW5jcykgewotICAgICAgICAg
ICAgLyogTm90IGluIGFueSBodG1sIGVsZW1lbnQuIFdlIGNhbiBhY2NlcHQgYW55IGJsb2NrIGVs
ZW1lbnQKLSAgICAgICAgICAgICAqIChpbiB3aGljaCBjYXNlIHdlIG5lZWQgdG8gY2xvc2UgdGhl
IGN1cnJlbnQgcGFyYWdyYXBoCi0gICAgICAgICAgICAgKiBmaXJzdCkgb3IgYW55IGlubGluZSBl
bGVtZW50IChpbiB3aGljaCBjYXNlIHdlIG5lZWQgdG8KLSAgICAgICAgICAgICAqIGNsb3NlIHRo
ZSBjdXJyZW50IHRleHQgY25vZGUgZmlyc3QpLiAqLwotICAgICAgICAgICAgaWYgKCEoaHRtbGVs
ZGVzYy0+ZmxhZ3MgJiBIVE1MRUxfSU5MSU5FKSkgewotICAgICAgICAgICAgICAgIGlmICghKGh0
bWxlbGRlc2MtPmZsYWdzICYgSFRNTEVMX0JMT0NLKSkKLSAgICAgICAgICAgICAgICAgICAgbG9j
ZXJyb3JleGl0KGZpbGVuYW1lLCBsaW5lbnVtLCAiPCVzPiBub3QgdmFsaWQgaGVyZSIsIGh0bWxl
bGRlc2MtPm5hbWUpOwotICAgICAgICAgICAgICAgIHdoaWxlICgoKmNub2RlLT5mdW5jcy0+YXNr
ZW5kKShjbm9kZSwgMCkpCi0gICAgICAgICAgICAgICAgICAgIGNub2RlID0gZW5kY25vZGUoY25v
ZGUpOwotICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICB3aGlsZSAoY25vZGUt
PmZ1bmNzID09ICZ0ZXh0X2Z1bmNzKQotICAgICAgICAgICAgICAgICAgICBjbm9kZSA9IGVuZGNu
b2RlKGNub2RlKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9
Ci0gICAgICAgIGh0bWxjbm9kZSA9IChzdHJ1Y3QgaHRtbGNub2RlICopY25vZGU7Ci0gICAgICAg
IGlmICghKGh0bWxlbGRlc2MtPmZsYWdzICYgaHRtbGNub2RlLT5kZXNjLT5jb250ZW50KSkKLSAg
ICAgICAgICAgIGxvY2Vycm9yZXhpdChmaWxlbmFtZSwgbGluZW51bSwgIjwlcz4gbm90IHZhbGlk
IGhlcmUiLCBodG1sZWxkZXNjLT5uYW1lKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgfQotICAgIGlm
IChodG1sZWxkZXNjLT5mbGFncyAmIEhUTUxFTF9CTE9DSykKLSAgICAgICAgaW5odG1sYmxvY2sr
KzsKLSAgICAvKiBDcmVhdGUgdGhlIG5ldyBodG1sIGNub2RlLiAqLwotICAgIGh0bWxjbm9kZSA9
IG1lbWFsbG9jKHNpemVvZihzdHJ1Y3QgaHRtbGNub2RlKSArIGF0dHJzbGVuKTsKLSAgICBodG1s
Y25vZGUtPmRlc2MgPSBodG1sZWxkZXNjOwotICAgIGh0bWxjbm9kZS0+Y24uZnVuY3MgPSAmaHRt
bF9mdW5jczsKLSAgICBodG1sY25vZGUtPmNuLmZpbGVuYW1lID0gZmlsZW5hbWU7Ci0gICAgaHRt
bGNub2RlLT5jbi5saW5lbnVtID0gbGluZW51bTsKLSAgICBtZW1jcHkoaHRtbGNub2RlLT5hdHRy
cywgYXR0cnMsIGF0dHJzbGVuKTsKLSAgICBodG1sY25vZGUtPmF0dHJzW2F0dHJzbGVuXSA9IDA7
Ci0gICAgLyogU3RhcnQgdGhlIGh0bWwgY25vZGUuICovCi0gICAgY25vZGUgPSBzdGFydGNub2Rl
KGNub2RlLCAmaHRtbGNub2RlLT5jbik7Ci0gICAgcmV0dXJuIGNub2RlOwotfQotCi0vKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioKLSAqIHBhcmFtX291dHB1dCA6IG91dHB1dCBwYXJhbSBjbm9kZQotICoKLSAqIEVu
dGVyOiAgIGNub2RlIGZvciBwYXJhbQotICogICAgICAgICAgaW5kZW50ID0gaW5kZW50IChuZXN0
aW5nKSBsZXZlbAotICoKLSAqIFRoaXMgaXMgb25seSB1c2VkIGZvciBhIFxwYXJhbSBpbnNpZGUg
YSBcZGVmLWRldmljZS1jYXAuIEEgbm9ybWFsCi0gKiBccGFyYW0gdGhhdCBnZXRzIGF0dGFjaGVk
IHRvIGEgZnVuY3Rpb24gYXJndW1lbnQgZ2V0cyBjaGFuZ2VkIHRvCi0gKiBhIFxyZXR1cm4gc28g
aXQgZG9lcyBub3QgdXNlIHRoaXMgb3V0cHV0IGZ1bmN0aW9uLgotICovCi1zdGF0aWMgdm9pZAot
cGFyYW1fb3V0cHV0KHN0cnVjdCBjbm9kZSAqY25vZGUsIHVuc2lnbmVkIGludCBpbmRlbnQpCi17
Ci0gICAgc3RydWN0IHBhcmFtY25vZGUgKnBhcmFtY25vZGUgPSAodm9pZCAqKWNub2RlOwotICAg
IHByaW50ZigiJSpzPHBhcmFtIGlkZW50aWZpZXI9XCIlc1wiPlxuIiwgaW5kZW50LCAiIiwgcGFy
YW1jbm9kZS0+bmFtZSk7Ci0gICAgb3V0cHV0Y2hpbGRyZW4oJnBhcmFtY25vZGUtPmNuLCBpbmRl
bnQsIDEpOwotICAgIHByaW50ZigiJSpzPC9wYXJhbT5cbiIsIGluZGVudCwgIiIpOwotfQotCi0v
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioKLSAqIGNub2RlIHR5cGUgcGFyYW0KLSAqLwotc3RhdGljIGNvbnN0IHN0
cnVjdCBjbm9kZWZ1bmNzIHBhcmFtX2Z1bmNzID0gewotICAgIDAsIC8qICFpbmRlc2MgKi8KLSAg
ICAwLCAvKiAhbmVlZHBhcmEgKi8KLSAgICAmZGVmYXVsdF9hc2tlbmQsCi0gICAgMCwgLyogZW5k
ICovCi0gICAgJnBhcmFtX291dHB1dCwKLX07Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogY25vZGUg
dHlwZSB0aHJvdwotICovCi1zdGF0aWMgY29uc3Qgc3RydWN0IGNub2RlZnVuY3MgdGhyb3dfZnVu
Y3MgPSB7Ci0gICAgMCwgLyogIWluZGVzYyAqLwotICAgIDAsIC8qICFuZWVkcGFyYSAqLwotICAg
ICZkZWZhdWx0X2Fza2VuZCwKLSAgICAwLCAvKiBlbmQgKi8KLSAgICAmcmV0dXJuX291dHB1dCwK
LX07Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKgotICogc3RhcnRwYXJhbWNub2RlIDogc3RhcnQgcGFyYW0g
KG9yIHRocm93KSBjbm9kZQotICoKLSAqIEVudGVyOiAgIGNub2RlID0gY3VycmVudCBjbm9kZQot
ICogICAgICAgICAgd29yZCA9IG5hbWUgb2YgcGFyYW0KLSAqICAgICAgICAgIHdvcmRsZW4gPSBs
ZW5ndGggb2YgbmFtZQotICogICAgICAgICAgaW5vdXQgPSBiaXQgMCA9IGluLCBiaXQgMSA9IG91
dAotICogICAgICAgICAgdHlwZSA9ICZwYXJhbV9mdW5jcyBvciAmdGhyb3dfZnVuY3MKLSAqCi0g
KiBSZXR1cm46ICBuZXcgY3VycmVudCBjbm9kZQotICovCi1zdGF0aWMgc3RydWN0IGNub2RlICoK
LXN0YXJ0cGFyYW1jbm9kZShzdHJ1Y3QgY25vZGUgKmNub2RlLCBjb25zdCBjaGFyICp3b3JkLCB1
bnNpZ25lZCBpbnQgd29yZGxlbiwKLSAgICAgICAgICAgICAgICBpbnQgaW5vdXQsIGNvbnN0IHN0
cnVjdCBjbm9kZWZ1bmNzICpmdW5jcykKLXsKLSAgICBzdHJ1Y3QgcGFyYW1jbm9kZSAqcGFyYW1j
bm9kZTsKLSAgICBwYXJhbWNub2RlID0gbWVtYWxsb2Moc2l6ZW9mKHN0cnVjdCBwYXJhbWNub2Rl
KSArIHdvcmRsZW4pOwotICAgIHBhcmFtY25vZGUtPmNuLmZ1bmNzID0gZnVuY3M7Ci0gICAgbWVt
Y3B5KHBhcmFtY25vZGUtPm5hbWUsIHdvcmQsIHdvcmRsZW4pOwotICAgIHBhcmFtY25vZGUtPm5h
bWVbd29yZGxlbl0gPSAwOwotICAgIHBhcmFtY25vZGUtPmlub3V0ID0gaW5vdXQ7Ci0gICAgcmV0
dXJuIHN0YXJ0Y25vZGUoY25vZGUsICZwYXJhbWNub2RlLT5jbik7Ci19Ci0KLS8qKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKgotICogYXBpX2ZlYXR1cmVfb3V0cHV0IDogb3V0cHV0IGFwaS1mZWF0dXJlIGNub2RlCi0g
KgotICogRW50ZXI6ICAgY25vZGUgZm9yIHJvb3QKLSAqICAgICAgICAgIGluZGVudCA9IGluZGVu
dCAobmVzdGluZykgbGV2ZWwKLSAqLwotc3RhdGljIHZvaWQKLWFwaV9mZWF0dXJlX291dHB1dChz
dHJ1Y3QgY25vZGUgKmNub2RlLCB1bnNpZ25lZCBpbnQgaW5kZW50KQotewotICAgIHN0cnVjdCBw
YXJhbWNub2RlICpwYXJhbWNub2RlID0gKHZvaWQgKiljbm9kZTsKLSAgICBwcmludGYoIiUqczxh
cGktZmVhdHVyZSBpZGVudGlmaWVyPVwiJXNcIj5cbiIsIGluZGVudCwgIiIsIHBhcmFtY25vZGUt
Pm5hbWUpOwotICAgIG91dHB1dGNoaWxkcmVuKGNub2RlLCBpbmRlbnQsIDEpOwotICAgIHByaW50
ZigiJSpzPC9hcGktZmVhdHVyZT5cbiIsIGluZGVudCwgIiIpOwotfQotCi0vKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioKLSAqIGNub2RlIHR5cGUgYXBpX2ZlYXR1cmUKLSAqLwotc3RhdGljIGNvbnN0IHN0cnVjdCBj
bm9kZWZ1bmNzIGFwaV9mZWF0dXJlX2Z1bmNzID0gewotICAgIDAsIC8qICFpbmRlc2MgKi8KLSAg
ICAwLCAvKiBuZWVkcGFyYSAqLwotICAgICZkZWZhdWx0X2Fza2VuZCwKLSAgICAwLCAvKiBlbmQg
Ki8KLSAgICAmYXBpX2ZlYXR1cmVfb3V0cHV0LAotfTsKLQotLyoqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBk
ZXZpY2VfY2FwX291dHB1dCA6IG91dHB1dCBkZXZpY2UtY2FwIGNub2RlCi0gKgotICogRW50ZXI6
ICAgY25vZGUgZm9yIHJvb3QKLSAqICAgICAgICAgIGluZGVudCA9IGluZGVudCAobmVzdGluZykg
bGV2ZWwKLSAqLwotc3RhdGljIHZvaWQKLWRldmljZV9jYXBfb3V0cHV0KHN0cnVjdCBjbm9kZSAq
Y25vZGUsIHVuc2lnbmVkIGludCBpbmRlbnQpCi17Ci0gICAgc3RydWN0IHBhcmFtY25vZGUgKnBh
cmFtY25vZGUgPSAodm9pZCAqKWNub2RlOwotICAgIHByaW50ZigiJSpzPGRldmljZS1jYXAgaWRl
bnRpZmllcj1cIiVzXCI+XG4iLCBpbmRlbnQsICIiLCBwYXJhbWNub2RlLT5uYW1lKTsKLSAgICBv
dXRwdXRjaGlsZHJlbihjbm9kZSwgaW5kZW50LCAxKTsKLSAgICBwcmludGYoIiUqczwvZGV2aWNl
LWNhcD5cbiIsIGluZGVudCwgIiIpOwotfQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIGNub2RlIHR5
cGUgZGV2aWNlX2NhcAotICovCi1zdGF0aWMgY29uc3Qgc3RydWN0IGNub2RlZnVuY3MgZGV2aWNl
X2NhcF9mdW5jcyA9IHsKLSAgICAwLCAvKiAhaW5kZXNjICovCi0gICAgMCwgLyogbmVlZHBhcmEg
Ki8KLSAgICAmZGVmYXVsdF9hc2tlbmQsCi0gICAgMCwgLyogZW5kICovCi0gICAgJmRldmljZV9j
YXBfb3V0cHV0LAotfTsKLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBkZWZfYXBpX2ZlYXR1cmVfYXNr
ZW5kIDogYXNrIGlmIGRlZi1hcGktZmVhdHVyZSBjbm9kZSB3YW50cyB0byBlbmQgYXQgbmV3IHBh
cmEKLSAqCi0gKiBFbnRlcjogICBjbm9kZSBmb3IgZGVmLWFwaS1mZWF0dXJlCi0gKiAgICAgICAg
ICB0eXBlID0gY25vZGVmdW5jcyBmb3IgbmV3IHBhcmEgKDAgaWYgaHRtbCBibG9jayBlbGVtZW50
KQotICoKLSAqIFJldHVybjogIG5vbi16ZXJvIHRvIGVuZCB0aGUgZGVmLWFwaS1mZWF0dXJlCi0g
Ki8KLXN0YXRpYyBpbnQKLWRlZl9hcGlfZmVhdHVyZV9hc2tlbmQoc3RydWN0IGNub2RlICpjbm9k
ZSwgY29uc3Qgc3RydWN0IGNub2RlZnVuY3MgKnR5cGUpCi17Ci0gICAgLyogQSBkZWYtYXBpLWZl
YXR1cmUgZG9lcyBub3QgZW5kIGF0IGEgcGxhaW4gcGFyYSwgYW4gaHRtbCBibG9jayBlbGVtZW50
LAotICAgICAqIGEgYnJpZWYgcGFyYSwgb3IgYSBkZXZpY2UtY2FwLiAqLwotICAgIGlmICghdHlw
ZSB8fCB0eXBlID09ICZwYXJhX2Z1bmNzIHx8IHR5cGUgPT0gJmRldmljZV9jYXBfZnVuY3MgfHwg
dHlwZSA9PSAmYnJpZWZfZnVuY3MpCi0gICAgICAgIHJldHVybiAwOwotICAgIHJldHVybiAxOwot
fQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioKLSAqIGRlZl9hcGlfZmVhdHVyZV9vdXRwdXQgOiBvdXRwdXQg
ZGVmLWFwaS1mZWF0dXJlIGNub2RlCi0gKgotICogRW50ZXI6ICAgY25vZGUgZm9yIHJvb3QKLSAq
ICAgICAgICAgIGluZGVudCA9IGluZGVudCAobmVzdGluZykgbGV2ZWwKLSAqLwotc3RhdGljIHZv
aWQKLWRlZl9hcGlfZmVhdHVyZV9vdXRwdXQoc3RydWN0IGNub2RlICpjbm9kZSwgdW5zaWduZWQg
aW50IGluZGVudCkKLXsKLSAgICBzdHJ1Y3QgcGFyYW1jbm9kZSAqcGFyYW1jbm9kZSA9ICh2b2lk
ICopY25vZGU7Ci0gICAgcHJpbnRmKCIlKnM8ZGVmLWFwaS1mZWF0dXJlIGlkZW50aWZpZXI9XCIl
c1wiPlxuIiwgaW5kZW50LCAiIiwgcGFyYW1jbm9kZS0+bmFtZSk7Ci0gICAgcHJpbnRmKCIlKnM8
ZGVzY3JpcHRpdmU+XG4iLCBpbmRlbnQgKyAyLCAiIik7Ci0gICAgb3V0cHV0Y2hpbGRyZW4oY25v
ZGUsIGluZGVudCArIDIsIDApOwotICAgIHByaW50ZigiJSpzPC9kZXNjcmlwdGl2ZT5cbiIsIGlu
ZGVudCArIDIsICIiKTsKLSAgICBwcmludGYoIiUqczwvZGVmLWFwaS1mZWF0dXJlPlxuIiwgaW5k
ZW50LCAiIik7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogY25vZGUgdHlwZSBkZWZfYXBpX2Zl
YXR1cmUKLSAqLwotc3RhdGljIGNvbnN0IHN0cnVjdCBjbm9kZWZ1bmNzIGRlZl9hcGlfZmVhdHVy
ZV9mdW5jcyA9IHsKLSAgICAwLCAvKiAhaW5kZXNjICovCi0gICAgMSwgLyogbmVlZHBhcmEgKi8K
LSAgICAmZGVmX2FwaV9mZWF0dXJlX2Fza2VuZCwKLSAgICAwLCAvKiBlbmQgKi8KLSAgICAmZGVm
X2FwaV9mZWF0dXJlX291dHB1dCwKLX07Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogZGVmX2FwaV9m
ZWF0dXJlX3NldF9hc2tlbmQgOiBhc2sgaWYgZGVmLWFwaS1mZWF0dXJlLXNldCBjbm9kZSB3YW50
cyB0byBlbmQgYXQgbmV3IHBhcmEKLSAqCi0gKiBFbnRlcjogICBjbm9kZSBmb3IgZGVmLWFwaS1m
ZWF0dXJlLXNldAotICogICAgICAgICAgdHlwZSA9IGNub2RlZnVuY3MgZm9yIG5ldyBwYXJhICgw
IGlmIGh0bWwgYmxvY2sgZWxlbWVudCkKLSAqCi0gKiBSZXR1cm46ICBub24temVybyB0byBlbmQg
dGhlIGRlZi1hcGktZmVhdHVyZS1zZXQKLSAqLwotc3RhdGljIGludAotZGVmX2FwaV9mZWF0dXJl
X3NldF9hc2tlbmQoc3RydWN0IGNub2RlICpjbm9kZSwgY29uc3Qgc3RydWN0IGNub2RlZnVuY3Mg
KnR5cGUpCi17Ci0gICAgLyogQSBkZWYtYXBpLWZlYXR1cmUtc2V0IGRvZXMgbm90IGVuZCBhdCBh
IHBsYWluIHBhcmEsIGFuIGh0bWwgYmxvY2sgZWxlbWVudCwKLSAgICAgKiBhIGJyaWVmIHBhcmEs
IG9yIGFuIGFwaS1mZWF0dXJlLiAqLwotICAgIGlmICghdHlwZSB8fCB0eXBlID09ICZwYXJhX2Z1
bmNzIHx8IHR5cGUgPT0gJmFwaV9mZWF0dXJlX2Z1bmNzIHx8IHR5cGUgPT0gJmJyaWVmX2Z1bmNz
KQotICAgICAgICByZXR1cm4gMDsKLSAgICByZXR1cm4gMTsKLX0KLQotLyoqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
Ci0gKiBkZWZfYXBpX2ZlYXR1cmVfc2V0X291dHB1dCA6IG91dHB1dCBkZWYtYXBpLWZlYXR1cmUt
c2V0IGNub2RlCi0gKgotICogRW50ZXI6ICAgY25vZGUgZm9yIHJvb3QKLSAqICAgICAgICAgIGlu
ZGVudCA9IGluZGVudCAobmVzdGluZykgbGV2ZWwKLSAqLwotc3RhdGljIHZvaWQKLWRlZl9hcGlf
ZmVhdHVyZV9zZXRfb3V0cHV0KHN0cnVjdCBjbm9kZSAqY25vZGUsIHVuc2lnbmVkIGludCBpbmRl
bnQpCi17Ci0gICAgc3RydWN0IHBhcmFtY25vZGUgKnBhcmFtY25vZGUgPSAodm9pZCAqKWNub2Rl
OwotICAgIHByaW50ZigiJSpzPGRlZi1hcGktZmVhdHVyZS1zZXQgaWRlbnRpZmllcj1cIiVzXCI+
XG4iLCBpbmRlbnQsICIiLCBwYXJhbWNub2RlLT5uYW1lKTsKLSAgICBwcmludGYoIiUqczxkZXNj
cmlwdGl2ZT5cbiIsIGluZGVudCArIDIsICIiKTsKLSAgICBvdXRwdXRjaGlsZHJlbihjbm9kZSwg
aW5kZW50ICsgMiwgMCk7Ci0gICAgcHJpbnRmKCIlKnM8L2Rlc2NyaXB0aXZlPlxuIiwgaW5kZW50
ICsgMiwgIiIpOwotICAgIHByaW50ZigiJSpzPC9kZWYtYXBpLWZlYXR1cmUtc2V0PlxuIiwgaW5k
ZW50LCAiIik7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogY25vZGUgdHlwZSBkZWZfYXBpX2Zl
YXR1cmVfc2V0Ci0gKi8KLXN0YXRpYyBjb25zdCBzdHJ1Y3QgY25vZGVmdW5jcyBkZWZfYXBpX2Zl
YXR1cmVfc2V0X2Z1bmNzID0gewotICAgIDAsIC8qICFpbmRlc2MgKi8KLSAgICAxLCAvKiBuZWVk
cGFyYSAqLwotICAgICZkZWZfYXBpX2ZlYXR1cmVfc2V0X2Fza2VuZCwKLSAgICAwLCAvKiBlbmQg
Ki8KLSAgICAmZGVmX2FwaV9mZWF0dXJlX3NldF9vdXRwdXQsCi19OwotCi0vKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioKLSAqIGRlZl9pbnN0YW50aWF0ZWRfYXNrZW5kIDogYXNrIGlmIGRlZi1pbnN0YW50aWF0ZWQg
Y25vZGUgd2FudHMgdG8gZW5kIGF0IG5ldyBwYXJhCi0gKgotICogRW50ZXI6ICAgY25vZGUgZm9y
IGRlZi1pbnN0YW50aWF0ZWQKLSAqICAgICAgICAgIHR5cGUgPSBjbm9kZWZ1bmNzIGZvciBuZXcg
cGFyYSAoMCBpZiBodG1sIGJsb2NrIGVsZW1lbnQpCi0gKgotICogUmV0dXJuOiAgbm9uLXplcm8g
dG8gZW5kIHRoZSBkZWYtaW5zdGFudGlhdGVkCi0gKi8KLXN0YXRpYyBpbnQKLWRlZl9pbnN0YW50
aWF0ZWRfYXNrZW5kKHN0cnVjdCBjbm9kZSAqY25vZGUsIGNvbnN0IHN0cnVjdCBjbm9kZWZ1bmNz
ICp0eXBlKQotewotICAgIC8qIEEgZGVmLWluc3RhbnRpYXRlZCBkb2VzIG5vdCBlbmQgYXQgYSBw
bGFpbiBwYXJhLCBhbiBodG1sIGJsb2NrIGVsZW1lbnQsCi0gICAgICogYSBicmllZiBwYXJhLCBv
ciBhbiBhcGktZmVhdHVyZS4gKi8KLSAgICBpZiAoIXR5cGUgfHwgdHlwZSA9PSAmcGFyYV9mdW5j
cyB8fCB0eXBlID09ICZhcGlfZmVhdHVyZV9mdW5jcyB8fCB0eXBlID09ICZicmllZl9mdW5jcykK
LSAgICAgICAgcmV0dXJuIDA7Ci0gICAgcmV0dXJuIDE7Ci19Ci0KLS8qKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgot
ICogZGVmX2luc3RhbnRpYXRlZF9vdXRwdXQgOiBvdXRwdXQgZGVmLWluc3RhbnRpYXRlZCBjbm9k
ZQotICoKLSAqIEVudGVyOiAgIGNub2RlIGZvciByb290Ci0gKiAgICAgICAgICBpbmRlbnQgPSBp
bmRlbnQgKG5lc3RpbmcpIGxldmVsCi0gKi8KLXN0YXRpYyB2b2lkCi1kZWZfaW5zdGFudGlhdGVk
X291dHB1dChzdHJ1Y3QgY25vZGUgKmNub2RlLCB1bnNpZ25lZCBpbnQgaW5kZW50KQotewotICAg
IHByaW50ZigiJSpzPGRlZi1pbnN0YW50aWF0ZWQ+XG4iLCBpbmRlbnQsICIiKTsKLSAgICBwcmlu
dGYoIiUqczxkZXNjcmlwdGl2ZT5cbiIsIGluZGVudCArIDIsICIiKTsKLSAgICBvdXRwdXRjaGls
ZHJlbihjbm9kZSwgaW5kZW50ICsgMiwgMCk7Ci0gICAgcHJpbnRmKCIlKnM8L2Rlc2NyaXB0aXZl
PlxuIiwgaW5kZW50ICsgMiwgIiIpOwotICAgIHByaW50ZigiJSpzPC9kZWYtaW5zdGFudGlhdGVk
PlxuIiwgaW5kZW50LCAiIik7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogY25vZGUgdHlwZSBk
ZWZfaW5zdGFudGlhdGVkCi0gKi8KLXN0YXRpYyBjb25zdCBzdHJ1Y3QgY25vZGVmdW5jcyBkZWZf
aW5zdGFudGlhdGVkX2Z1bmNzID0gewotICAgIDAsIC8qICFpbmRlc2MgKi8KLSAgICAxLCAvKiBu
ZWVkcGFyYSAqLwotICAgICZkZWZfaW5zdGFudGlhdGVkX2Fza2VuZCwKLSAgICAwLCAvKiBlbmQg
Ki8KLSAgICAmZGVmX2luc3RhbnRpYXRlZF9vdXRwdXQsCi19OwotCi0vKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioK
LSAqIGRlZl9kZXZpY2VfY2FwX2Fza2VuZCA6IGFzayBpZiBkZWYtZGV2aWNlLWNhcCBjbm9kZSB3
YW50cyB0byBlbmQgYXQgbmV3IHBhcmEKLSAqCi0gKiBFbnRlcjogICBjbm9kZSBmb3IgZGVmLWRl
dmljZS1jYXAKLSAqICAgICAgICAgIHR5cGUgPSBjbm9kZWZ1bmNzIGZvciBuZXcgcGFyYSAoMCBp
ZiBodG1sIGJsb2NrIGVsZW1lbnQpCi0gKgotICogUmV0dXJuOiAgbm9uLXplcm8gdG8gZW5kIHRo
ZSBkZWYtZGV2aWNlLWNhcAotICovCi1zdGF0aWMgaW50Ci1kZWZfZGV2aWNlX2NhcF9hc2tlbmQo
c3RydWN0IGNub2RlICpjbm9kZSwgY29uc3Qgc3RydWN0IGNub2RlZnVuY3MgKnR5cGUpCi17Ci0g
ICAgLyogQSBkZWYtZGV2aWNlLWNhcCBkb2VzIG5vdCBlbmQgYXQgYSBwbGFpbiBwYXJhLCBhbiBo
dG1sIGJsb2NrIGVsZW1lbnQsCi0gICAgICogYSBcYnJpZWYgcGFyYSwgb3IgYSBwYXJhbS4gKi8K
LSAgICBpZiAoIXR5cGUgfHwgdHlwZSA9PSAmcGFyYV9mdW5jcyB8fCB0eXBlID09ICZwYXJhbV9m
dW5jcyB8fCB0eXBlID09ICZicmllZl9mdW5jcykKLSAgICAgICAgcmV0dXJuIDA7Ci0gICAgcmV0
dXJuIDE7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogZGVmX2RldmljZV9jYXBfb3V0cHV0IDog
b3V0cHV0IGRlZl9kZXZpY2UtY2FwIGNub2RlCi0gKgotICogRW50ZXI6ICAgY25vZGUgZm9yIHJv
b3QKLSAqICAgICAgICAgIGluZGVudCA9IGluZGVudCAobmVzdGluZykgbGV2ZWwKLSAqLwotc3Rh
dGljIHZvaWQKLWRlZl9kZXZpY2VfY2FwX291dHB1dChzdHJ1Y3QgY25vZGUgKmNub2RlLCB1bnNp
Z25lZCBpbnQgaW5kZW50KQotewotICAgIHN0cnVjdCBwYXJhbWNub2RlICpwYXJhbWNub2RlID0g
KHZvaWQgKiljbm9kZTsKLSAgICBwcmludGYoIiUqczxkZWYtZGV2aWNlLWNhcCBpZGVudGlmaWVy
PVwiJXNcIj5cbiIsIGluZGVudCwgIiIsIHBhcmFtY25vZGUtPm5hbWUpOwotICAgIHByaW50Zigi
JSpzPGRlc2NyaXB0aXZlPlxuIiwgaW5kZW50ICsgMiwgIiIpOwotICAgIG91dHB1dGNoaWxkcmVu
KGNub2RlLCBpbmRlbnQgKyAyLCAwKTsKLSAgICBwcmludGYoIiUqczwvZGVzY3JpcHRpdmU+XG4i
LCBpbmRlbnQgKyAyLCAiIik7Ci0gICAgcHJpbnRmKCIlKnM8L2RlZi1kZXZpY2UtY2FwPlxuIiwg
aW5kZW50LCAiIik7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogY25vZGUgdHlwZSBkZWZfZGV2
aWNlX2NhcAotICovCi1zdGF0aWMgY29uc3Qgc3RydWN0IGNub2RlZnVuY3MgZGVmX2RldmljZV9j
YXBfZnVuY3MgPSB7Ci0gICAgMCwgLyogIWluZGVzYyAqLwotICAgIDEsIC8qIG5lZWRwYXJhICov
Ci0gICAgJmRlZl9kZXZpY2VfY2FwX2Fza2VuZCwKLSAgICAwLCAvKiBlbmQgKi8KLSAgICAmZGVm
X2RldmljZV9jYXBfb3V0cHV0LAotfTsKLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBhZGR0ZXh0IDog
YWRkIHRleHQgdG8gY3VycmVudCB0ZXh0IG5vZGUsIHN0YXJ0aW5nIG9uZSBpZiBuZWNlc3NhcnkK
LSAqCi0gKiBFbnRlcjogICBjbm9kZSA9IGN1cnJlbnQgY25vZGUKLSAqICAgICAgICAgIHRleHQK
LSAqICAgICAgICAgIGxlbiA9IGxlbmd0aCBvZiB0ZXh0Ci0gKgotICogUmV0dXJuOiAgbmV3IGN1
cnJlbnQgY25vZGUKLSAqLwotc3RhdGljIHN0cnVjdCBjbm9kZSAqCi1hZGR0ZXh0KHN0cnVjdCBj
bm9kZSAqY25vZGUsIGNvbnN0IGNoYXIgKnRleHQsIHVuc2lnbmVkIGludCBsZW4pCi17Ci0gICAg
c3RydWN0IHRleHRjbm9kZSAqdGV4dGNub2RlOwotICAgIGlmICghbGVuKQotICAgICAgICByZXR1
cm4gY25vZGU7Ci0gICAgaWYgKGNub2RlLT5mdW5jcyAhPSAmdGV4dF9mdW5jcykgewotICAgICAg
ICAvKiBTdGFydCBuZXcgdGV4dCBjbm9kZS4gKi8KLSAgICAgICAgdGV4dGNub2RlID0gbWVtYWxs
b2Moc2l6ZW9mKHN0cnVjdCB0ZXh0Y25vZGUpKTsKLSAgICAgICAgdGV4dGNub2RlLT5jbi5mdW5j
cyA9ICZ0ZXh0X2Z1bmNzOwotICAgICAgICBjbm9kZSA9IHN0YXJ0Y25vZGUoY25vZGUsICZ0ZXh0
Y25vZGUtPmNuKTsKLSAgICB9Ci0gICAgdGV4dGNub2RlID0gKHZvaWQgKiljbm9kZTsKLSAgICBk
byB7Ci0gICAgICAgIHVuc2lnbmVkIGNoYXIgYnVmWzEgKyBzaXplb2Yodm9pZCAqKV07Ci0gICAg
ICAgIHVuc2lnbmVkIGludCB0aGlzbGVuID0gbGVuOwotICAgICAgICBpZiAodGhpc2xlbiA+IDI1
NSkKLSAgICAgICAgICAgIHRoaXNsZW4gPSAyNTU7Ci0gICAgICAgIC8qIEVuY29kZSBhIHJlY29y
ZCBhcyBhIHNpbmdsZSBieXRlIGxlbmd0aCBmb2xsb3dlZCBieSBhIHBvaW50ZXIuICovCi0gICAg
ICAgIGJ1ZlswXSA9IHRoaXNsZW47Ci0gICAgICAgIG1lbWNweShidWYgKyAxLCAmdGV4dCwgc2l6
ZW9mKHZvaWQgKikpOwotICAgICAgICAvKiBBZGQgdG8gdGhlIHRleHQgY25vZGUncyBkYXRhLiAq
LwotICAgICAgICBpZiAodGV4dGNub2RlLT5sZW4gKyBzaXplb2YoYnVmKSA+PSB0ZXh0Y25vZGUt
Pm1heCkgewotICAgICAgICAgICAgLyogTmVlZCB0byByZWFsbG9jYXRlIChvciBhbGxvY2F0ZSkg
ZGF0YSBidWZmZXIuICovCi0gICAgICAgICAgICB0ZXh0Y25vZGUtPm1heCA9IHRleHRjbm9kZS0+
bWF4ID8gMiAqIHRleHRjbm9kZS0+bWF4IDogMTAyNDsKLSAgICAgICAgICAgIHRleHRjbm9kZS0+
ZGF0YSA9IG1lbXJlYWxsb2ModGV4dGNub2RlLT5kYXRhLCB0ZXh0Y25vZGUtPm1heCk7Ci0gICAg
ICAgIH0KLSAgICAgICAgbWVtY3B5KHRleHRjbm9kZS0+ZGF0YSArIHRleHRjbm9kZS0+bGVuLCBi
dWYsIHNpemVvZihidWYpKTsKLSAgICAgICAgdGV4dGNub2RlLT5sZW4gKz0gc2l6ZW9mKGJ1Zik7
Ci0gICAgICAgIHRleHQgKz0gdGhpc2xlbjsKLSAgICAgICAgbGVuIC09IHRoaXNsZW47Ci0gICAg
fSB3aGlsZSAobGVuKTsKLSAgICByZXR1cm4gJnRleHRjbm9kZS0+Y247Ci19Ci0KLS8qKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKgotICogaXN3aGl0ZXNwYWNlIDogZGV0ZXJtaW5lIGlmIGNoYXJhY3RlciBpcyB3aGl0
ZXNwYWNlCi0gKgotICogRW50ZXI6ICAgY2ggPSBjaGFyYWN0ZXIKLSAqCi0gKiBSZXR1cm46ICAx
IGlmIHdoaXRlc3BhY2UKLSAqLwotc3RhdGljIGlubGluZSBpbnQKLWlzd2hpdGVzcGFjZShpbnQg
Y2gpCi17Ci0gICAgdW5zaWduZWQgaW50IGkgPSBjaCAtIDE7Ci0gICAgaWYgKGkgPj0gMzIpCi0g
ICAgICAgIHJldHVybiAwOwotICAgIHJldHVybiAweDgwMDAxMTAwID4+IGkgJiAxOwotfQotCi0v
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioKLSAqIHBhcnNld29yZCA6IHBhcnNlIHRoZSBuZXh0IHdvcmQsIGlnbm9y
aW5nIGxlYWRpbmcgd2hpdGVzcGFjZQotICoKLSAqIEVudGVyOiAgICpwcCA9IHRleHQgcG9pbnRl
cgotICoKLSAqIFJldHVybjogIDAgZWxzZSBzdGFydCBvZiB3b3JkICgqcHAgdXBkYXRlZCB0byBq
dXN0IGJleW9uZCBlbmQpCi0gKi8KLXN0YXRpYyBjb25zdCBjaGFyICoKLXBhcnNld29yZChjb25z
dCBjaGFyICoqcHApCi17Ci0gICAgY29uc3QgY2hhciAqcCA9ICpwcCwgKndvcmQgPSAwOwotICAg
IGludCBjaCA9ICpwOwotICAgIHdoaWxlIChpc3doaXRlc3BhY2UoY2gpKQotICAgICAgICBjaCA9
ICorK3A7Ci0gICAgd29yZCA9IHA7Ci0gICAgd2hpbGUgKCh1bnNpZ25lZCkoKGNoICYgfjB4MjAp
IC0gJ0EnKSA8PSAnWicgLSAnQScKLSAgICAgICAgICAgIHx8ICh1bnNpZ25lZCkoY2ggLSAnMCcp
IDwgMTAgfHwgY2ggPT0gJ18nIHx8IGNoID09ICcuJwotICAgICAgICAgICAgfHwgY2ggPT0gJzon
IHx8IGNoID09ICcvJyB8fCBjaCA9PSAnLScpCi0gICAgewotICAgICAgICBjaCA9ICorK3A7Ci0g
ICAgfQotICAgIGlmIChwID09IHdvcmQpCi0gICAgICAgIHJldHVybiAwOwotICAgICpwcCA9IHA7
Ci0gICAgcmV0dXJuIHdvcmQ7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogRG94eWdlbiBjb21t
YW5kIGhhbmRsZXJzCi0gKgotICogRW50ZXI6ICAgcCA9IHRleHQganVzdCBhZnRlciBjb21tYW5k
Ci0gKiAgICAgICAgICAqcGNub2RlID0gcG9pbnRlciB0byBjdXJyZW50IGNub2RlIHN0cnVjdAot
ICogICAgICAgICAgdHlwZSA9IDAgZWxzZSBjbm9kZWZ1bmNzIHBvaW50ZXIgZm9yIHR5cGUgb2Yg
bm9kZSB0byBzdGFydAotICogICAgICAgICAgZmlsZW5hbWUsIGxpbmVudW0gPSBjdXJyZW50IGZp
bGVuYW1lIGFuZCBsaW5lIG51bWJlciAoZm9yIGVycm9yIHJlcG9ydGluZykKLSAqCi0gKiBSZXR1
cm46ICBwID0gdXBkYXRlZCBpZiBleHRyYSB0ZXh0IHdhcyBlYXRlbgotICoKLSAqIE9uIHJldHVy
biwgKnBub2RlIGlzIHVwZGF0ZWQgaWYgYW55IG5vZGUgd2FzIGNsb3NlZCBvciBvcGVuZWQuCi0g
Ki8KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqCi0gKiBEb3h5Z2VuIGNvbW1hbmQgaGFuZGxlciA6IFxiCi0g
Ki8KLXN0YXRpYyBjb25zdCBjaGFyICoKLWRveF9iKGNvbnN0IGNoYXIgKnAsIHN0cnVjdCBjbm9k
ZSAqKnBjbm9kZSwgY29uc3Qgc3RydWN0IGNub2RlZnVuY3MgKnR5cGUsCi0gICAgICBjb25zdCBj
aGFyICpmaWxlbmFtZSwgdW5zaWduZWQgaW50IGxpbmVudW0sIGNvbnN0IGNoYXIgKmNtZG5hbWUp
Ci17Ci0gICAgc3RydWN0IGNub2RlICpjbm9kZSA9ICpwY25vZGU7Ci0gICAgY29uc3QgY2hhciAq
d29yZCA9IHBhcnNld29yZCgmcCk7Ci0gICAgLyogU2lsZW50bHkgaWdub3JlIFxiIHdpdGggbm8g
Zm9sbG93aW5nIHdvcmQuICovCi0gICAgaWYgKHdvcmQpIHsKLSAgICAgICAgc3RydWN0IGNub2Rl
ICpteWNub2RlOwotICAgICAgICBteWNub2RlID0gY25vZGUgPSBzdGFydGh0bWxjbm9kZShjbm9k
ZSwgSFRNTEVMREVTQ19CLCAwLCAwLCBmaWxlbmFtZSwgbGluZW51bSk7Ci0gICAgICAgIGNub2Rl
ID0gYWRkdGV4dChjbm9kZSwgd29yZCwgcCAtIHdvcmQpOwotICAgICAgICB3aGlsZSAoY25vZGUg
IT0gbXljbm9kZSkKLSAgICAgICAgICAgIGNub2RlID0gZW5kY25vZGUoY25vZGUpOwotICAgICAg
ICBjbm9kZSA9IGVuZGNub2RlKGNub2RlKTsKLSAgICB9Ci0gICAgKnBjbm9kZSA9IGNub2RlOwot
ICAgIHJldHVybiBwOwotfQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIERveHlnZW4gY29tbWFuZCBo
YW5kbGVyIDogXG4KLSAqLwotc3RhdGljIGNvbnN0IGNoYXIgKgotZG94X24oY29uc3QgY2hhciAq
cCwgc3RydWN0IGNub2RlICoqcGNub2RlLCBjb25zdCBzdHJ1Y3QgY25vZGVmdW5jcyAqdHlwZSwK
LSAgICAgIGNvbnN0IGNoYXIgKmZpbGVuYW1lLCB1bnNpZ25lZCBpbnQgbGluZW51bSwgY29uc3Qg
Y2hhciAqY21kbmFtZSkKLXsKLSAgICBzdHJ1Y3QgY25vZGUgKmNub2RlID0gKnBjbm9kZTsKLSAg
ICBjbm9kZSA9IHN0YXJ0aHRtbGNub2RlKGNub2RlLCBIVE1MRUxERVNDX0JSLCAwLCAwLCBmaWxl
bmFtZSwgbGluZW51bSk7Ci0gICAgY25vZGUgPSBlbmRjbm9kZShjbm9kZSk7Ci0gICAgKnBjbm9k
ZSA9IGNub2RlOwotICAgIHJldHVybiBwOwotfQotCi0vKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIERveHln
ZW4gY29tbWFuZCBoYW5kbGVyIDogXGNvZGUKLSAqLwotc3RhdGljIGNvbnN0IGNoYXIgKgotZG94
X2NvZGUoY29uc3QgY2hhciAqcCwgc3RydWN0IGNub2RlICoqcGNub2RlLCBjb25zdCBzdHJ1Y3Qg
Y25vZGVmdW5jcyAqdHlwZSwKLSAgICAgICAgIGNvbnN0IGNoYXIgKmZpbGVuYW1lLCB1bnNpZ25l
ZCBpbnQgbGluZW51bSwgY29uc3QgY2hhciAqY21kbmFtZSkKLXsKLSAgICAqcGNub2RlID0gc3Rh
cnRwYXJhKCpwY25vZGUsICZjb2RlX2Z1bmNzKTsKLSAgICAoKnBjbm9kZSktPmZpbGVuYW1lID0g
ZmlsZW5hbWU7Ci0gICAgKCpwY25vZGUpLT5saW5lbnVtID0gbGluZW51bTsgLyogZm9yIHJlcG9y
dGluZyBtaXNtYXRjaGVkIFxjb2RlIGVycm9yICovCi0gICAgaW5jb2RlID0gMTsKLSAgICByZXR1
cm4gcDsKLX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBEb3h5Z2VuIGNvbW1hbmQgaGFuZGxlciA6
IFxlbmRjb2RlCi0gKi8KLXN0YXRpYyBjb25zdCBjaGFyICoKLWRveF9lbmRjb2RlKGNvbnN0IGNo
YXIgKnAsIHN0cnVjdCBjbm9kZSAqKnBjbm9kZSwgY29uc3Qgc3RydWN0IGNub2RlZnVuY3MgKnR5
cGUsCi0gICAgICAgICAgICBjb25zdCBjaGFyICpmaWxlbmFtZSwgdW5zaWduZWQgaW50IGxpbmVu
dW0sIGNvbnN0IGNoYXIgKmNtZG5hbWUpCi17Ci0gICAgaW5jb2RlID0gMDsKLSAgICAqcGNub2Rl
ID0gZW5kc3BlY2lmaWNjbm9kZSgqcGNub2RlLCAmY29kZV9mdW5jcywgZmlsZW5hbWUsIGxpbmVu
dW0pOwotICAgIHJldHVybiBwOwotfQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIERveHlnZW4gY29t
bWFuZCBoYW5kbGVyIDogXHBhcmFtCi0gKi8KLXN0YXRpYyBjb25zdCBjaGFyICoKLWRveF9wYXJh
bShjb25zdCBjaGFyICpwLCBzdHJ1Y3QgY25vZGUgKipwY25vZGUsIGNvbnN0IHN0cnVjdCBjbm9k
ZWZ1bmNzICp0eXBlLAotICAgICAgICAgIGNvbnN0IGNoYXIgKmZpbGVuYW1lLCB1bnNpZ25lZCBp
bnQgbGluZW51bSwgY29uc3QgY2hhciAqY21kbmFtZSkKLXsKLSAgICBzdHJ1Y3QgY25vZGUgKmNu
b2RlID0gKnBjbm9kZTsKLSAgICB1bnNpZ25lZCBpbnQgaW5vdXQgPSAwOwotICAgIGNvbnN0IGNo
YXIgKndvcmQ7Ci0gICAgLyogQ2hlY2sgZm9yICJpbiIsICJvdXQiIG9yIGJvdGggYXMgYXR0cmli
dXRlcy4gKi8KLSAgICBpZiAoKnAgPT0gJ1snKSB7Ci0gICAgICAgIGZvciAoOzspIHsKLSAgICAg
ICAgICAgIHArKzsKLSAgICAgICAgICAgIGlmICghbWVtY21wKHAsICJpbiIsIDIpKSB7Ci0gICAg
ICAgICAgICAgICAgaW5vdXQgfD0gMTsKLSAgICAgICAgICAgICAgICBwICs9IDI7Ci0gICAgICAg
ICAgICB9IGVsc2UgaWYgKCFtZW1jbXAocCwgIm91dCIsIDMpKSB7Ci0gICAgICAgICAgICAgICAg
aW5vdXQgfD0gMjsKLSAgICAgICAgICAgICAgICBwICs9IDM7Ci0gICAgICAgICAgICB9IGVsc2UK
LSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGlmICgqcCAhPSAnLCcpCi0gICAg
ICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLSAgICAgICAgaWYgKCpwICE9ICddJykKLSAg
ICAgICAgICAgIGxvY2Vycm9yZXhpdChmaWxlbmFtZSwgbGluZW51bSwgImJhZCBhdHRyaWJ1dGVz
IG9uIFxccGFyYW0iKTsKLSAgICAgICAgcCsrOwotICAgIH0KLSAgICAvKiBHZXQgdGhlIG5leHQg
d29yZCBhcyB0aGUgcGFyYW1ldGVyIG5hbWUuICovCi0gICAgd29yZCA9IHBhcnNld29yZCgmcCk7
Ci0gICAgaWYgKCF3b3JkKQotICAgICAgICBsb2NlcnJvcmV4aXQoZmlsZW5hbWUsIGxpbmVudW0s
ICJleHBlY3RlZCB3b3JkIGFmdGVyIFxccGFyYW0iKTsKLSAgICAvKiBDbG9zZSBhbnkgb3BlbiBu
b2Rlcy4gKi8KLSAgICB3aGlsZSAoKCpjbm9kZS0+ZnVuY3MtPmFza2VuZCkoY25vZGUsIHR5cGUp
KQotICAgICAgICBjbm9kZSA9IGVuZGNub2RlKGNub2RlKTsKLSAgICAvKiBDcmVhdGUgYSBuZXcg
cGFyYW0gY25vZGUuICovCi0gICAgY25vZGUgPSBzdGFydHBhcmFtY25vZGUoY25vZGUsIHdvcmQs
IHAgLSB3b3JkLCBpbm91dCwgdHlwZSk7Ci0gICAgY25vZGUtPmZpbGVuYW1lID0gZmlsZW5hbWU7
Ci0gICAgY25vZGUtPmxpbmVudW0gPSBsaW5lbnVtOwotICAgICpwY25vZGUgPSBjbm9kZTsKLSAg
ICByZXR1cm4gcDsKLX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBEb3h5Z2VuIGNvbW1hbmQgaGFu
ZGxlciA6IFxicmllZiwgXHJldHVybgotICovCi1zdGF0aWMgY29uc3QgY2hhciAqCi1kb3hfcGFy
YShjb25zdCBjaGFyICpwLCBzdHJ1Y3QgY25vZGUgKipwY25vZGUsIGNvbnN0IHN0cnVjdCBjbm9k
ZWZ1bmNzICp0eXBlLAotICAgICAgICAgY29uc3QgY2hhciAqZmlsZW5hbWUsIHVuc2lnbmVkIGlu
dCBsaW5lbnVtLCBjb25zdCBjaGFyICpjbWRuYW1lKQotewotICAgICpwY25vZGUgPSBzdGFydHBh
cmEoKnBjbm9kZSwgdHlwZSk7Ci0gICAgcmV0dXJuIHA7Ci19Ci0KLS8qKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgot
ICogRG94eWdlbiBjb21tYW5kIGhhbmRsZXIgOiBcdGhyb3cKLSAqLwotc3RhdGljIGNvbnN0IGNo
YXIgKgotZG94X3Rocm93KGNvbnN0IGNoYXIgKnAsIHN0cnVjdCBjbm9kZSAqKnBjbm9kZSwgY29u
c3Qgc3RydWN0IGNub2RlZnVuY3MgKnR5cGUsCi0gICAgICAgICAgY29uc3QgY2hhciAqZmlsZW5h
bWUsIHVuc2lnbmVkIGludCBsaW5lbnVtLCBjb25zdCBjaGFyICpjbWRuYW1lKQotewotICAgIHN0
cnVjdCBjbm9kZSAqY25vZGUgPSAqcGNub2RlOwotICAgIGNvbnN0IGNoYXIgKndvcmQ7Ci0gICAg
LyogR2V0IHRoZSBuZXh0IHdvcmQgYXMgdGhlIGV4Y2VwdGlvbiBuYW1lLiAqLwotICAgIHdvcmQg
PSBwYXJzZXdvcmQoJnApOwotICAgIGlmICghd29yZCkKLSAgICAgICAgbG9jZXJyb3JleGl0KGZp
bGVuYW1lLCBsaW5lbnVtLCAiZXhwZWN0ZWQgd29yZCBhZnRlciBcXHRocm93Iik7Ci0gICAgLyog
Q2xvc2UgYW55IG9wZW4gbm9kZXMuICovCi0gICAgd2hpbGUgKCgqY25vZGUtPmZ1bmNzLT5hc2tl
bmQpKGNub2RlLCB0eXBlKSkKLSAgICAgICAgY25vZGUgPSBlbmRjbm9kZShjbm9kZSk7Ci0gICAg
LyogQ3JlYXRlIGEgbmV3IHRocm93IGNub2RlLiAqLwotICAgIGNub2RlID0gc3RhcnRwYXJhbWNu
b2RlKGNub2RlLCB3b3JkLCBwIC0gd29yZCwgMCwgdHlwZSk7Ci0gICAgY25vZGUtPmZpbGVuYW1l
ID0gZmlsZW5hbWU7Ci0gICAgY25vZGUtPmxpbmVudW0gPSBsaW5lbnVtOwotICAgICpwY25vZGUg
PSBjbm9kZTsKLSAgICByZXR1cm4gcDsKLX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBEb3h5Z2Vu
IGNvbW1hbmQgaGFuZGxlciA6IFxsYW5nCi0gKi8KLXN0YXRpYyBjb25zdCBjaGFyICoKLWRveF9h
dHRyKGNvbnN0IGNoYXIgKnAsIHN0cnVjdCBjbm9kZSAqKnBjbm9kZSwgY29uc3Qgc3RydWN0IGNu
b2RlZnVuY3MgKnR5cGUsCi0gICAgICAgICAgY29uc3QgY2hhciAqZmlsZW5hbWUsIHVuc2lnbmVk
IGludCBsaW5lbnVtLCBjb25zdCBjaGFyICpjbWRuYW1lKQotewotICBzdHJ1Y3QgY25vZGUgKmNu
b2RlID0gKnBjbm9kZTsKLSAgICBjb25zdCBjaGFyICp3b3JkOwotICAgIGludCBsZW4sIHdvcmRs
ZW4sIG9mZnNldCA9IDA7Ci0JY2hhciAqYXR0cnRleHQ7Ci0gICAgLyogR2V0IHRoZSBuZXh0IHdv
cmQgYXMgdGhlIGF0dHJpYnV0ZSB2YWx1ZS4gKi8KLSAgICB3b3JkID0gcGFyc2V3b3JkKCZwKTsK
LSAgICBpZiAoIXdvcmQpCi0gICAgICAgIGxvY2Vycm9yZXhpdChmaWxlbmFtZSwgbGluZW51bSwg
ImV4cGVjdGVkIHdvcmQgYWZ0ZXIgXFwlcyIsIGNtZG5hbWUpOwotCi0JbGVuID0gc3RybGVuKGNt
ZG5hbWUpICsgKHdvcmRsZW4gPSBwLXdvcmQpICsgNDsgLyogcD0id29yZCJcMCAqLwotCWlmKGNu
b2RlLT5hdHRydGV4dCkKLQkgIGxlbiArPSAob2Zmc2V0ID0gc3RybGVuKGNub2RlLT5hdHRydGV4
dCkpICsgMTsgLyogYWRkIHNwYWNlIGZvciBzcGFjZSAqLwotCWF0dHJ0ZXh0ID0gbWVtYWxsb2Mo
bGVuKTsKLQlpZihvZmZzZXQpIHsKLQkJbWVtY3B5KGF0dHJ0ZXh0LCBjbm9kZS0+YXR0cnRleHQs
IG9mZnNldCk7Ci0JCWF0dHJ0ZXh0W29mZnNldCsrXSA9ICcgJzsKLQkJbWVtZnJlZSgoKHZvaWQq
KWNub2RlLT5hdHRydGV4dCkpOwotCX0KLQlvZmZzZXQgKz0gc3ByaW50ZigmYXR0cnRleHRbb2Zm
c2V0XSwgIiVzPVwiIiwgY21kbmFtZSk7Ci0JbWVtY3B5KCZhdHRydGV4dFtvZmZzZXRdLCB3b3Jk
LCB3b3JkbGVuKTsKLQlzdHJjcHkoJmF0dHJ0ZXh0W29mZnNldCArIHdvcmRsZW5dLCAiXCIiKTsK
LQljbm9kZS0+YXR0cnRleHQgPSBhdHRydGV4dDsKLQkvKiBza2lwIGRlbGltaXRlciBiZWNhdXNl
IGl0IHdvbid0IGJlIGRvbmUgb3RoZXJ3aXNlICovCi0JaWYoaW5jb2RlICYmIGlzd2hpdGVzcGFj
ZSgqcCkpICsrcDsKLSAgICByZXR1cm4gcDsKLX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBjb21t
YW5kcyA6IHRhYmxlIG9mIERveHlnZW4gY29tbWFuZHMKLSAqLwotc3RydWN0IGNvbW1hbmQgewot
ICAgIGNvbnN0IGNoYXIgKigqZnVuYykoY29uc3QgY2hhciAqcCwgc3RydWN0IGNub2RlICoqcGNu
b2RlLCBjb25zdCBzdHJ1Y3QgY25vZGVmdW5jcyAqdHlwZSwgY29uc3QgY2hhciAqZmlsZW5hbWUs
IHVuc2lnbmVkIGludCBsaW5lbnVtLCBjb25zdCBjaGFyICpjbWRuYW1lKTsKLSAgICBjb25zdCBz
dHJ1Y3QgY25vZGVmdW5jcyAqdHlwZTsKLSAgICB1bnNpZ25lZCBpbnQgbmFtZWxlbjsKLSAgICBj
b25zdCBjaGFyICpuYW1lOwotfTsKLXN0YXRpYyBjb25zdCBzdHJ1Y3QgY29tbWFuZCBjb21tYW5k
c1tdID0gewotICAgIHsgJmRveF90aHJvdywgJmRlZl9hcGlfZmVhdHVyZV9mdW5jcywgMTUsICJk
ZWYtYXBpLWZlYXR1cmUiIH0sCi0gICAgeyAmZG94X3Rocm93LCAmZGVmX2FwaV9mZWF0dXJlX3Nl
dF9mdW5jcywgMTksICJkZWYtYXBpLWZlYXR1cmUtc2V0IiB9LAotICAgIHsgJmRveF9wYXJhLCAm
ZGVmX2luc3RhbnRpYXRlZF9mdW5jcywgMTYsICJkZWYtaW5zdGFudGlhdGVkIiB9LAotICAgIHsg
JmRveF9wYXJhLCAmbmFtZV9mdW5jcywgNCwgIm5hbWUiIH0sCi0gICAgeyAmZG94X3BhcmEsICZh
dXRob3JfZnVuY3MsIDYsICJhdXRob3IiIH0sCi0gICAgeyAmZG94X2IsIDAsIDEsICJiIiB9LAot
ICAgIHsgJmRveF9wYXJhLCAmYnJpZWZfZnVuY3MsIDUsICJicmllZiIgfSwKLSAgICB7ICZkb3hf
Y29kZSwgMCwgNCwgImNvZGUiIH0sCi0gICAgeyAmZG94X3Rocm93LCAmZGVmX2RldmljZV9jYXBf
ZnVuY3MsIDE0LCAiZGVmLWRldmljZS1jYXAiIH0sCi0gICAgeyAmZG94X2F0dHIsIDAsIDQsICJs
YW5nIiB9LAotICAgIHsgJmRveF9lbmRjb2RlLCAwLCA3LCAiZW5kY29kZSIgfSwKLSAgICB7ICZk
b3hfbiwgMCwgMSwgIm4iIH0sCi0gICAgeyAmZG94X3BhcmFtLCAmcGFyYW1fZnVuY3MsIDUsICJw
YXJhbSIgfSwKLSAgICB7ICZkb3hfcGFyYSwgJnJldHVybl9mdW5jcywgNiwgInJldHVybiIgfSwK
LSAgICB7ICZkb3hfdGhyb3csICZ0aHJvd19mdW5jcywgNSwgInRocm93IiB9LAotICAgIHsgJmRv
eF90aHJvdywgJmFwaV9mZWF0dXJlX2Z1bmNzLCAxMSwgImFwaS1mZWF0dXJlIiB9LAotICAgIHsg
JmRveF90aHJvdywgJmRldmljZV9jYXBfZnVuY3MsIDEwLCAiZGV2aWNlLWNhcCIgfSwKLSAgICB7
ICZkb3hfcGFyYSwgJnZlcnNpb25fZnVuY3MsIDcsICJ2ZXJzaW9uIiB9LAotICAgIHsgMCwgMCwg
MCB9Ci19OwotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIHBhcnNlaHRtbHRhZyA6IHBhcnNlIGh0bWwg
dGFnCi0gKgotICogRW50ZXI6ICAgc3RhcnQgPSBzdGFydCBvZiB0YWcsIHRoZSAnPCcgY2hhcgot
ICogICAgICAgICAgKnBjbm9kZSA9IGN1cnJlbnQgY25vZGUKLSAqICAgICAgICAgIGZpbGVuYW1l
ID0gZmlsZW5hbWUKLSAqICAgICAgICAgICpwbGluZW51bSA9IGN1cnJlbnQgbGluZSBudW1iZXIK
LSAqCi0gKiBSZXR1cm46ICBqdXN0IGFmdGVyIHRoZSB0YWcKLSAqICAgICAgICAgICpwY25vZGUg
YW5kICpwbGluZW51bSB1cGRhdGVkIGlmIGFwcGxpY2FibGUKLSAqLwotc3RhdGljIGNvbnN0IGNo
YXIgKgotcGFyc2VodG1sdGFnKGNvbnN0IGNoYXIgKnN0YXJ0LCBzdHJ1Y3QgY25vZGUgKipwY25v
ZGUsCi0gICAgICAgICAgICAgY29uc3QgY2hhciAqZmlsZW5hbWUsIHVuc2lnbmVkIGludCAqcGxp
bmVudW0pCi17Ci0gICAgc3RydWN0IGNub2RlICpjbm9kZSA9ICpwY25vZGU7Ci0gICAgY29uc3Qg
Y2hhciAqZW5kID0gc3RhcnQgKyAxLCAqZW5kbmFtZSA9IDAsICpuYW1lID0gZW5kOwotICAgIGlu
dCBjaCA9ICplbmQ7Ci0gICAgaW50IHF1b3RlID0gMDsKLSAgICBpbnQgY2xvc2UgPSAwOwotICAg
IHVuc2lnbmVkIGludCBsaW5lbnVtID0gKnBsaW5lbnVtOwotICAgIGNvbnN0IHN0cnVjdCBodG1s
ZWxkZXNjICpodG1sZWxkZXNjOwotICAgIGlmIChjaCA9PSAnLycpIHsKLSAgICAgICAgY2xvc2Ug
PSAxOwotICAgICAgICBjaCA9ICorK2VuZDsKLSAgICAgICAgbmFtZSA9IGVuZDsKLSAgICB9Ci0g
ICAgLyogRmluZCB0aGUgZW5kIG9mIHRoZSB0YWcuICovCi0gICAgZm9yICg7OykgewotICAgICAg
ICBpZiAoIWNoKQotICAgICAgICAgICAgbG9jZXJyb3JleGl0KGZpbGVuYW1lLCAqcGxpbmVudW0s
ICJ1bnRlcm1pbmF0ZWQgSFRNTCB0YWciKTsKLSAgICAgICAgaWYgKGNoID09ICdcbicpCi0gICAg
ICAgICAgICBsaW5lbnVtKys7Ci0gICAgICAgIGVsc2UgaWYgKGlzd2hpdGVzcGFjZShjaCkgfHwg
Y2ggPT0gJy8nKSB7Ci0gICAgICAgICAgICBpZiAoIWVuZG5hbWUpCi0gICAgICAgICAgICAgICAg
ZW5kbmFtZSA9IGVuZDsKLSAgICAgICAgfSBlbHNlIGlmICghcXVvdGUpIHsKLSAgICAgICAgICAg
IGlmIChjaCA9PSAnIicgfHwgY2ggPT0gJ1wnJykKLSAgICAgICAgICAgICAgICBxdW90ZSA9IGNo
OwotICAgICAgICAgICAgZWxzZSBpZiAoY2ggPT0gJz4nKQotICAgICAgICAgICAgICAgIGJyZWFr
OwotICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgaWYgKGNoID09IHF1b3RlKQotICAgICAg
ICAgICAgICAgIHF1b3RlID0gMDsKLSAgICAgICAgfQotICAgICAgICBjaCA9ICorK2VuZDsKLSAg
ICB9Ci0gICAgaWYgKCFlbmRuYW1lKQotICAgICAgICBlbmRuYW1lID0gZW5kOwotICAgIGVuZCsr
OwotICAgIC8qIFNlZSBpZiBpdCdzIGFuIHhtbCBvcGVuLWNsb3NlIHRhZy4gKi8KLSAgICBpZiAo
IWNsb3NlICYmIGVuZG5hbWUgIT0gbmFtZSAmJiBlbmRbLTJdID09ICcvJykKLSAgICAgICAgY2xv
c2UgPSAyOwotICAgIC8qIEZpbmQgdGhlIHRhZyBmcm9tIG91ciBsaXN0LiAqLwotICAgIGh0bWxl
bGRlc2MgPSBodG1sZWxkZXNjczsKLSAgICBmb3IgKDs7KSB7Ci0gICAgICAgIGlmICghaHRtbGVs
ZGVzYy0+bmFtZWxlbikgewotICAgICAgICAgICAgbG9jZXJyb3JleGl0KGZpbGVuYW1lLCAqcGxp
bmVudW0sICJ1bnJlY29nbml6ZWQgSFRNTCB0YWcgJS4qcyIsCi0gICAgICAgICAgICAgICAgICAg
IGVuZCAtIHN0YXJ0LCBzdGFydCk7Ci0gICAgICAgIH0KLSAgICAgICAgaWYgKGh0bWxlbGRlc2Mt
Pm5hbWVsZW4gPT0gZW5kbmFtZSAtIG5hbWUKLSAgICAgICAgICAgICAgICAmJiAhc3RybmNhc2Vj
bXAoaHRtbGVsZGVzYy0+bmFtZSwgbmFtZSwgZW5kbmFtZSAtIG5hbWUpKQotICAgICAgICB7Ci0g
ICAgICAgICAgICBicmVhazsKLSAgICAgICAgfQotICAgICAgICBodG1sZWxkZXNjKys7Ci0gICAg
fQotICAgIGlmIChjbG9zZSA9PSAxKSB7Ci0gICAgICAgIC8qIENsb3NpbmcgdGFnLiBGaW5kIG9w
ZW4gZWxlbWVudCB0byBjbG9zZS4gKi8KLSAgICAgICAgZm9yICg7OykgewotICAgICAgICAgICAg
c3RydWN0IGh0bWxjbm9kZSAqaHRtbGNub2RlOwotICAgICAgICAgICAgaWYgKGNub2RlLT5mdW5j
cyAhPSAmdGV4dF9mdW5jcykgewotICAgICAgICAgICAgICAgIGlmIChjbm9kZS0+ZnVuY3MgIT0g
Jmh0bWxfZnVuY3MpIHsKLSAgICAgICAgICAgICAgICAgICAgbG9jZXJyb3JleGl0KGZpbGVuYW1l
LCAqcGxpbmVudW0sICJtaXNtYXRjaGVkICUuKnMiLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGVuZCAtIHN0YXJ0LCBzdGFydCk7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAg
ICAgIGh0bWxjbm9kZSA9IChzdHJ1Y3QgaHRtbGNub2RlICopY25vZGU7Ci0gICAgICAgICAgICAg
ICAgaWYgKGh0bWxjbm9kZS0+ZGVzYyA9PSBodG1sZWxkZXNjKQotICAgICAgICAgICAgICAgICAg
ICBicmVhazsKLSAgICAgICAgICAgICAgICBpZiAoIShodG1sY25vZGUtPmRlc2MtPmZsYWdzICYg
SFRNTEVMX0FVVE9DTE9TRSkpIHsKLSAgICAgICAgICAgICAgICAgICAgbG9jZXJyb3JleGl0KGZp
bGVuYW1lLCBodG1sY25vZGUtPmNuLmxpbmVudW0sCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIm1pc21hdGNoZWQgPCUuKnM+IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBodG1s
Y25vZGUtPmRlc2MtPm5hbWVsZW4sIGh0bWxjbm9kZS0+ZGVzYy0+bmFtZSk7Ci0gICAgICAgICAg
ICAgICAgfQotICAgICAgICAgICAgfQotICAgICAgICAgICAgY25vZGUgPSBlbmRjbm9kZShjbm9k
ZSk7Ci0gICAgICAgIH0KLSAgICAgICAgY25vZGUgPSBlbmRjbm9kZShjbm9kZSk7Ci0gICAgfSBl
bHNlIHsKLSAgICAgICAgLyogT3BlbmluZyB0YWcuICovCi0gICAgICBpZiAoY2xvc2UgIT0yKQot
CSAgIGNub2RlID0gc3RhcnRodG1sY25vZGUoY25vZGUsIGh0bWxlbGRlc2MsIGVuZG5hbWUsIGVu
ZCAtIDEgLSBlbmRuYW1lLCBmaWxlbmFtZSwgKnBsaW5lbnVtKTsKLSAgICAgIGVsc2UgLy8gZG9u
J3QgaW5jbHVkZSB0aGUgY2xvc2luZyAiLyIgaW4gdGhlIGF0dHJpYnV0ZXMgbGlzdAotCSAgIGNu
b2RlID0gc3RhcnRodG1sY25vZGUoY25vZGUsIGh0bWxlbGRlc2MsIGVuZG5hbWUsIGVuZCAtIDIg
LSBlbmRuYW1lLCBmaWxlbmFtZSwgKnBsaW5lbnVtKTsKLSAgICAgIGlmIChjbG9zZSA9PSAyIHx8
IChodG1sZWxkZXNjLT5jb250ZW50ICYgSFRNTEVMX0VNUFRZKSkgewotCS8qIEVtcHR5IGVsZW1l
bnQgLS0gY2xvc2UgaXQgYWdhaW4uICovCi0JY25vZGUgPSBlbmRjbm9kZShjbm9kZSk7Ci0gICAg
ICB9Ci0gICAgfQotICAgICpwY25vZGUgPSBjbm9kZTsKLSAgICAqcGxpbmVudW0gPSBsaW5lbnVt
OwotICAgIHJldHVybiBlbmQ7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogcGFyc2Vjb21tZW50
IDogcGFyc2Ugb25lIGNvbW1lbnQKLSAqCi0gKiBFbnRlcjogICBjb21tZW50IHN0cnVjdAotICov
Ci1zdGF0aWMgdm9pZAotcGFyc2Vjb21tZW50KHN0cnVjdCBjb21tZW50ICpjb21tZW50KQotewot
ICAgIHN0cnVjdCBjbm9kZSAqY25vZGUgPSAmY29tbWVudC0+cm9vdDsKLSAgICBjb25zdCBjaGFy
ICpwID0gY29tbWVudC0+dGV4dCArIGNvbW1lbnQtPmJhY2s7Ci0gICAgdW5zaWduZWQgaW50IGxp
bmVudW0gPSBjb21tZW50LT5saW5lbnVtIC0gMTsKLSAgICBpbnQgY2g7Ci0gICAgY3VyY29tbWVu
dCA9IGNvbW1lbnQ7Ci0gICAgaW5jb2RlID0gMDsKLSAgICBpbmh0bWxibG9jayA9IDA7Ci0gICAg
Y25vZGUtPmZ1bmNzID0gJnJvb3RfZnVuY3M7Ci0gICAgZm9yICg7OykgewotICAgICAgICAvKiBT
dGFydCBvZiBuZXcgbGluZS4gKi8KLSAgICAgICAgY29uc3QgY2hhciAqc3RhcnR0ZXh0OwotICAg
ICAgICBjaCA9ICpwOwotICAgICAgICBsaW5lbnVtKys7Ci0gICAgICAgIHsKLSAgICAgICAgICAg
IC8qIEZpbmQgZmlyc3Qgbm9uLXdoaXRlc3BhY2UgY2hhcmFjdGVyLiAqLwotICAgICAgICAgICAg
Y29uc3QgY2hhciAqcDIgPSBwOwotICAgICAgICAgICAgaW50IGNoMiA9IGNoOwotICAgICAgICAg
ICAgd2hpbGUgKGlzd2hpdGVzcGFjZShjaDIpKQotICAgICAgICAgICAgICAgIGNoMiA9ICorK3Ay
OwotICAgICAgICAgICAgaWYgKGNvbW1lbnQtPnR5cGUgPT0gVE9LX0JMT0NLQ09NTUVOVCAmJiBj
aDIgPT0gJyonKSB7Ci0gICAgICAgICAgICAgICAgLyogSWdub3JlIGluaXRpYWwgKiBpbiBibG9j
ayBjb21tZW50IChldmVuIGluIFxjb2RlIGJsb2NrKS4gKi8KLSAgICAgICAgICAgICAgICBjaDIg
PSAqKytwMjsKLSAgICAgICAgICAgICAgICBjaCA9IGNoMjsKLSAgICAgICAgICAgICAgICBwID0g
cDI7Ci0gICAgICAgICAgICAgICAgaWYgKGNoID09ICcqJykKLSAgICAgICAgICAgICAgICAgICAg
Z290byBjaGVja2ZvcmxpbmVvZnN0YXJzOwotICAgICAgICAgICAgICAgIHdoaWxlIChpc3doaXRl
c3BhY2UoY2gyKSkKLSAgICAgICAgICAgICAgICAgICAgY2gyID0gKisrcDI7Ci0gICAgICAgICAg
ICB9Ci0gICAgICAgICAgICBpZiAoY29tbWVudC0+dHlwZSA9PSBUT0tfSU5MSU5FQ09NTUVOVCAm
JiBjaDIgPT0gJy8nKSB7Ci1jaGVja2ZvcmxpbmVvZnN0YXJzOgotICAgICAgICAgICAgICAgIGlm
ICghaW5jb2RlKSB7Ci0gICAgICAgICAgICAgICAgICAgIC8qIElnbm9yZSB3aG9sZSBsaW5lIG9m
ICogZm9yIGJsb2NrIGNvbW1lbnQgb3IgLyBmb3IgaW5saW5lCi0gICAgICAgICAgICAgICAgICAg
ICAqIGNvbW1lbnQgaWYgdGhhdCBpcyB0aGUgb25seSB0aGluZyBvbiB0aGUgbGluZS4gKi8KLSAg
ICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqcDMgPSBwMjsKLSAgICAgICAgICAgICAgICAg
ICAgaW50IGNoMzsKLSAgICAgICAgICAgICAgICAgICAgZG8gY2gzID0gKisrcDM7IHdoaWxlIChj
aDMgPT0gY2gyKTsKLSAgICAgICAgICAgICAgICAgICAgd2hpbGUgKGlzd2hpdGVzcGFjZShjaDMp
KSBjaDMgPSAqKytwMzsKLSAgICAgICAgICAgICAgICAgICAgaWYgKCFjaDMgfHwgY2gzID09ICdc
bicpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIC8qIFJlYWNoZWQgZW5kIG9mIGxpbmUgKG9y
IHdob2xlIGNvbW1lbnQpIC0tIHRyZWF0IGFzCi0gICAgICAgICAgICAgICAgICAgICAgICAgKiBl
bXB0eSBsaW5lLiAqLwotICAgICAgICAgICAgICAgICAgICAgICAgY2gyID0gY2gzOwotICAgICAg
ICAgICAgICAgICAgICAgICAgcDIgPSBwMzsKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAg
ICAgICAgICAgIH0KLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGlmICghaW5jb2RlKSB7Ci0g
ICAgICAgICAgICAgICAgLyogT25seSBhbGxvdyB3aGl0ZXNwYWNlIG9taXNzaW9uIGFib3ZlIHRv
IHRha2UgZWZmZWN0IGlmCi0gICAgICAgICAgICAgICAgICogbm90IGluIFxjb2RlIGJsb2NrLiAq
LwotICAgICAgICAgICAgICAgIGNoID0gY2gyOwotICAgICAgICAgICAgICAgIHAgPSBwMjsKLSAg
ICAgICAgICAgIH0KLSAgICAgICAgfQotICAgICAgICBpZiAoIWNoKSB7Ci0gICAgICAgICAgICAv
KiBFbmQgb2YgY29tbWVudHMgLS0gZmluaXNoLiAqLwotICAgICAgICAgICAgYnJlYWs7Ci0gICAg
ICAgIH0KLSAgICAgICAgaWYgKCFpbmNvZGUgJiYgIWluaHRtbGJsb2NrICYmIGNoID09ICdcbicp
IHsKLSAgICAgICAgICAgIC8qIEJsYW5rIGxpbmUgLS0gZmluaXNoIGFueSBwYXJhLCBidXQgb25s
eSBpZiBub3QgaW4gY29kZSBhbmQKLSAgICAgICAgICAgICAqIG5vdCBpbiBhbnkgSFRNTCBibG9j
ayBlbGVtZW50LiAqLwotICAgICAgICAgICAgd2hpbGUgKCgqY25vZGUtPmZ1bmNzLT5hc2tlbmQp
KGNub2RlLCAwKSkKLSAgICAgICAgICAgICAgICBjbm9kZSA9IGVuZGNub2RlKGNub2RlKTsKLSAg
ICAgICAgICAgIHArKzsKLSAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICB9Ci0gICAgICAg
IC8qIFN0YXJ0IG5ldyBwYXJhIGlmIHRoZXJlIGlzbid0IGFscmVhZHkgb25lIGdvaW5nLiAqLwot
ICAgICAgICBpZiAoY25vZGUtPmZ1bmNzLT5uZWVkcGFyYSkKLSAgICAgICAgICAgIGNub2RlID0g
c3RhcnRwYXJhKGNub2RlLCAmcGFyYV9mdW5jcyk7Ci0gICAgICAgIC8qIFByb2Nlc3MgdGV4dCBv
biB0aGUgbGluZS4gKi8KLSAgICAgICAgc3RhcnR0ZXh0ID0gcDsKLSAgICAgICAgd2hpbGUgKGNo
ICYmIGNoICE9ICdcbicpIHsKLSAgICAgICAgICAgIGlmIChjaCAhPSAnXFwnICYmIGNoICE9ICc8
JyAvKiAmJiBjaCAhPSAnQCcgKi8gJiYgY2ggIT0gJyQnCi0gICAgICAgICAgICAgICAgICAgICYm
IGNoICE9ICcmJyAmJiBjaCAhPSAnXHInKQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAg
IGNoID0gKisrcDsKLSAgICAgICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgICAgIH0KLSAg
ICAgICAgICAgIC8qIE91dHB1dCBhbnkgcGVuZGluZyB0ZXh0LiAqLwotICAgICAgICAgICAgaWYg
KHAgLSBzdGFydHRleHQpCi0gICAgICAgICAgICAgICAgY25vZGUgPSBhZGR0ZXh0KGNub2RlLCBz
dGFydHRleHQsIHAgLSBzdGFydHRleHQpOwotCSAgICAvKiBJZ25vcmUgXHIgaW4gRE9TIGxpbmUg
cmV0dXJucyAqLwotCSAgICBpZiAoY2ggPT0gJ1xyJykgewotCSAgICAgICAgY2ggPSAqKytwOwot
ICAJICAgICAgICBzdGFydHRleHQgPSBwOwotCQljb250aW51ZTsKLQkgICAgfQotICAgICAgICAg
ICAgaWYgKGNoID09ICckJykKLSAgICAgICAgICAgICAgICBsb2NlcnJvcmV4aXQoY29tbWVudC0+
ZmlsZW5hbWUsIGxpbmVudW0sICJ1c2UgXFwkIGluc3RlYWQgb2YgJCIpOwotICAgICAgICAgICAg
LyogU2VlIGlmIGl0IGlzIGFuIGh0bWwgbmFtZWQgZW50aXR5LiAqLwotICAgICAgICAgICAgaWYg
KGNoID09ICcmJyAmJiBwWzFdICE9ICcjJykgewotICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIg
KmVudGl0eSA9IEVOVElUSUVTOwotICAgICAgICAgICAgICAgIC8qIFRoaXMgc2VhcmNoIGNvdWxk
IGJlIGZhc3RlciBpZiB0aGUgZW50aXR5IG5hbWVzIHdlcmUgcHV0Ci0gICAgICAgICAgICAgICAg
ICogaW4gYSBoYXNoIHRhYmxlIG9yIHNvbWV0aGluZy4gKi8KLSAgICAgICAgICAgICAgICBjb25z
dCBjaGFyICpzZW1pY29sb24gPSBzdHJjaHIocCwgJzsnKTsKLSAgICAgICAgICAgICAgICB1bnNp
Z25lZCBpbnQgbGVuOwotICAgICAgICAgICAgICAgIGlmICghc2VtaWNvbG9uKQotICAgICAgICAg
ICAgICAgICAgICBsb2NlcnJvcmV4aXQoY29tbWVudC0+ZmlsZW5hbWUsIGxpbmVudW0sICJ1bnRl
cm1pbmF0ZWQgSFRNTCBlbnRpdHkiKTsKLSAgICAgICAgICAgICAgICBwKys7Ci0gICAgICAgICAg
ICAgICAgZm9yICg7OykgewotICAgICAgICAgICAgICAgICAgICBsZW4gPSBzdHJsZW4oZW50aXR5
KTsKLSAgICAgICAgICAgICAgICAgICAgaWYgKCFsZW4pCi0gICAgICAgICAgICAgICAgICAgICAg
ICBsb2NlcnJvcmV4aXQoY29tbWVudC0+ZmlsZW5hbWUsIGxpbmVudW0sICJ1bnJlY29nbmlzZWQg
SFRNTCBlbnRpdHkgJiUuKnM7Iiwgc2VtaWNvbG9uIC0gcCwgcCk7Ci0gICAgICAgICAgICAgICAg
ICAgIGlmIChsZW4gPT0gc2VtaWNvbG9uIC0gcCAmJiAhbWVtY21wKHAsIGVudGl0eSwgbGVuKSkK
LSAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgICAgICAgICBlbnRp
dHkgKz0gbGVuICsgMTsKLSAgICAgICAgICAgICAgICAgICAgZW50aXR5ICs9IHN0cmxlbihlbnRp
dHkpICsgMTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgZW50aXR5ICs9IGxl
biArIDE7Ci0gICAgICAgICAgICAgICAgY25vZGUgPSBhZGR0ZXh0KGNub2RlLCBlbnRpdHksIHN0
cmxlbihlbnRpdHkpKTsKLSAgICAgICAgICAgICAgICBwID0gc2VtaWNvbG9uICsgMTsKLSAgICAg
ICAgICAgICAgICBjaCA9ICpwOwotICAgICAgICAgICAgICAgIHN0YXJ0dGV4dCA9IHA7Ci0gICAg
ICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICAvKiBTZWUg
aWYgaXQgaXMgYSBiYWNrc2xhc2ggZXNjYXBlIHNlcXVlbmNlLiAqLwotICAgICAgICAgICAgZWxz
ZSBpZiAoY2ggPT0gJ1xcJykgewotICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKm1hdGNoID0g
IlxcQCYkIzw+JSI7Ci0gICAgICAgICAgICAgICAgY29uc3QgY2hhciAqcG9zOwotICAgICAgICAg
ICAgICAgIGNoID0gcFsxXTsKLSAgICAgICAgICAgICAgICBwb3MgPSBzdHJjaHIobWF0Y2gsIGNo
KTsKLSAgICAgICAgICAgICAgICBpZiAocG9zKSB7Ci0gICAgICAgICAgICAgICAgICAgIC8qIEdv
dCBhIFwgZXNjYXBlIHNlcXVlbmNlLiAqLwotICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFy
ICp0ZXh0ID0gCi0gICAgICAgICAgICAgICAgICAgICAgICAiXFxcMCAgICBAXDAgICAgJmFtcDtc
MCRcMCAgICAjXDAgICAgJmx0O1wwID5cMCAgICAlIgotICAgICAgICAgICAgICAgICAgICAgICAg
KyA2ICogKHBvcyAtIG1hdGNoKTsKLSAgICAgICAgICAgICAgICAgICAgY25vZGUgPSBhZGR0ZXh0
KGNub2RlLCB0ZXh0LCBzdHJsZW4odGV4dCkpOwotICAgICAgICAgICAgICAgICAgICBwICs9IDI7
Ci0gICAgICAgICAgICAgICAgICAgIGNoID0gKnA7Ci0gICAgICAgICAgICAgICAgICAgIHN0YXJ0
dGV4dCA9IHA7Ci0gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAgICAgICAg
IH0KLSAgICAgICAgICAgIH0gZWxzZSBpZiAoY2ggPT0gJzwnKSB7Ci0gICAgICAgICAgICAgICAg
aWYgKGluY29kZSkgewotICAgICAgICAgICAgICAgICAgICBjaCA9ICorK3A7Ci0gICAgICAgICAg
ICAgICAgICAgIHN0YXJ0dGV4dCA9IHA7Ci0gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwot
ICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAvKiBJdCdzIGFuIGh0bWwgdGFnLiAq
LwotICAgICAgICAgICAgICAgIHAgPSBwYXJzZWh0bWx0YWcocCwgJmNub2RlLCBjb21tZW50LT5m
aWxlbmFtZSwgJmxpbmVudW0pOwotICAgICAgICAgICAgICAgIGNoID0gKnA7Ci0gICAgICAgICAg
ICAgICAgc3RhcnR0ZXh0ID0gcDsKLSAgICAgICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAg
ICAgIH0KLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAvKiBHb3QgYSBkb3h5Z2VuIGNv
bW1hbmQuIEZpcnN0IHdvcmsgb3V0IGl0cyBsZW5ndGguICovCi0gICAgICAgICAgICAgICAgY29u
c3QgY2hhciAqc3RhcnQgPSArK3A7Ci0gICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IGNtZGxl
bjsKLSAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgY29tbWFuZCAqY29tbWFuZDsKLSAgICAg
ICAgICAgICAgICBjaCA9ICpwOwotICAgICAgICAgICAgICAgIHdoaWxlICgodW5zaWduZWQpKChj
aCAmIH4weDIwKSAtICdBJykgPD0gJ1onIC0gJ0EnCi0gICAgICAgICAgICAgICAgICAgICAgICB8
fCAodW5zaWduZWQpKGNoIC0gJzAnKSA8IDEwIHx8IGNoID09ICdfJyB8fCBjaCA9PSAnLScpCi0g
ICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICBjaCA9ICorK3A7Ci0gICAgICAg
ICAgICAgICAgfQotICAgICAgICAgICAgICAgIGNtZGxlbiA9IHAgLSBzdGFydDsKLSAgICAgICAg
ICAgICAgICBpZiAoIWNtZGxlbikKLSAgICAgICAgICAgICAgICAgICAgbG9jZXJyb3JleGl0KGNv
bW1lbnQtPmZpbGVuYW1lLCBsaW5lbnVtLCAiXFwgb3IgQCB3aXRob3V0IERveHlnZW4gY29tbWFu
ZCIpOwotICAgICAgICAgICAgICAgIC8qIExvb2sgaXQgdXAgaW4gdGhlIHRhYmxlLiAqLwotICAg
ICAgICAgICAgICAgIGNvbW1hbmQgPSBjb21tYW5kczsKLSAgICAgICAgICAgICAgICBmb3IgKDs7
KSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmICghY29tbWFuZC0+bmFtZWxlbikgewotICAgICAg
ICAgICAgICAgICAgICAgICAgbG9jZXJyb3JleGl0KGNvbW1lbnQtPmZpbGVuYW1lLCBsaW5lbnVt
LCAidW5yZWNvZ25pemVkIERveHlnZW4gY29tbWFuZCAnJS4qcyciLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjbWRsZW4gKyAxLCBzdGFydCAtIDEpOwotICAgICAgICAgICAgICAg
ICAgICB9Ci0gICAgICAgICAgICAgICAgICAgIGlmIChjb21tYW5kLT5uYW1lbGVuID09IGNtZGxl
bgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICYmICFtZW1jbXAoY29tbWFuZC0+bmFtZSwg
c3RhcnQsIGNtZGxlbikpCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAg
ICAgICAgIGJyZWFrOwotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAg
IGNvbW1hbmQrKzsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgcCA9ICgqY29t
bWFuZC0+ZnVuYykocCwgJmNub2RlLCBjb21tYW5kLT50eXBlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgY29tbWVudC0+ZmlsZW5hbWUsIGxpbmVudW0sIGNvbW1hbmQtPm5hbWUpOwotICAgICAg
ICAgICAgICAgIGNoID0gKnA7Ci0gICAgICAgICAgICAgICAgc3RhcnR0ZXh0ID0gcDsKLSAgICAg
ICAgICAgIH0KLSAgICAgICAgfQotICAgICAgICBpZiAocCAtIHN0YXJ0dGV4dCkgewotICAgICAg
ICAgICAgLyogU3RhcnQgbmV3IHBhcmEgaWYgdGhlcmUgaXNuJ3QgYWxyZWFkeSBvbmUgZ29pbmcu
ICovCi0gICAgICAgICAgICBpZiAoY25vZGUtPmZ1bmNzLT5uZWVkcGFyYSkKLSAgICAgICAgICAg
ICAgICBjbm9kZSA9IHN0YXJ0cGFyYShjbm9kZSwgJnBhcmFfZnVuY3MpOwotICAgICAgICAgICAg
Y25vZGUgPSBhZGR0ZXh0KGNub2RlLCBzdGFydHRleHQsIHAgLSBzdGFydHRleHQpOwotICAgICAg
ICB9Ci0gICAgICAgIGlmICghY2gpCi0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgaWYgKGNu
b2RlLT5mdW5jcyA9PSAmdGV4dF9mdW5jcykKLSAgICAgICAgICAgIGFkZHRleHQoY25vZGUsICJc
biIsIDEpOwotICAgICAgICBwKys7Ci0gICAgfQotICAgIC8qIEZpbmlzaCB0aGUgcm9vdCBjbm9k
ZS4gKi8KLSAgICBkbwotICAgICAgICBjbm9kZSA9IGVuZGNub2RlKGNub2RlKTsKLSAgICB3aGls
ZSAoY25vZGUpOwotICAgIGFzc2VydCghaW5jb2RlKTsKLSAgICBhc3NlcnQoIWluaHRtbGJsb2Nr
KTsKLX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBwYXJzZWNvbW1lbnRzIDogcGFyc2UgY29tbWVu
dHMKLSAqCi0gKiBFbnRlcjogICBjb21tZW50ID0gZmlyc3QgY29tbWVudCBpbiBsaXN0Ci0gKi8K
LXN0YXRpYyB2b2lkCi1wYXJzZWNvbW1lbnRzKHN0cnVjdCBjb21tZW50ICpjb21tZW50KQotewot
ICAgIHdoaWxlIChjb21tZW50KSB7Ci0gICAgICAgIHBhcnNlY29tbWVudChjb21tZW50KTsKLSAg
ICAgICAgY29tbWVudCA9IGNvbW1lbnQtPm5leHQ7Ci0gICAgfQotfQotCi0vKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioKLSAqIGF0dGFjaGNvbW1lbnR0b25vZGUgOiBhdHRhY2ggY29tbWVudCBzdHJ1Y3QgdG8gbm9k
ZQotICoKLSAqIEVudGVyOiAgIG5vZGUgPSBwYXJzZSBub2RlIGZvciBpZGVudGlmaWVyCi0gKiAg
ICAgICAgICBjb21tZW50ID0gY29tbWVudCBzdHJ1Y3QKLSAqLwotc3RhdGljIHZvaWQKLWF0dGFj
aGNvbW1lbnR0b25vZGUoc3RydWN0IG5vZGUgKm5vZGUsIHN0cnVjdCBjb21tZW50ICpjb21tZW50
KQotewotICAgIGNvbW1lbnQtPm5leHQgPSBub2RlLT5jb21tZW50czsKLSAgICBub2RlLT5jb21t
ZW50cyA9IGNvbW1lbnQ7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogYXR0YWNoY29tbWVudHMg
OiBhdHRhY2ggY29tbWVudHMgdG8gYXBwbGljYWJsZSBwYXJzZSBub2RlcwotICoKLSAqIEVudGVy
OiAgIGNvbW1lbnQgPSBmaXJzdCBpbiAocmV2ZXJzZWQpIGxpc3Qgb2YgY29tbWVudCBzdHJ1Y3Rz
Ci0gKiAgICAgICAgICByb290ID0gcm9vdCBwYXJzZSBub2RlIChmb3IgYXR0YWNoaW5nIFxmaWxl
IGNvbW1lbnQgYmxvY2tzIHRvKQotICovCi1zdGF0aWMgdm9pZAotYXR0YWNoY29tbWVudHMoc3Ry
dWN0IGNvbW1lbnQgKmNvbW1lbnQsIHN0cnVjdCBub2RlICpyb290KQotewotICAgIHdoaWxlIChj
b21tZW50KSB7Ci0gICAgICAgIHN0cnVjdCBjb21tZW50ICpuZXh0ID0gY29tbWVudC0+bmV4dDsK
LSAgICAgICAgLyogU2VlIGlmIHRoZXJlIGFyZSBhbnkgXHBhcmFtLCBccmV0dXJuLCBcdGhyb3cs
IFxkZWYtYXBpLWZlYXR1cmUgb3IKLSAgICAgICAgICogXGRlZi1kZXZpY2UtY2FwIGNub2RlcyB0
byBkZXRhY2ggYW5kIGF0dGFjaAotICAgICAgICAgKiBlbHNld2hlcmUuIChUaGlzIG9ubHkgbG9v
a3MgYXQgdG9wLWxldmVsIG5vZGVzLCBkaXJlY3QgY2hpbGRyZW4KLSAgICAgICAgICogb2YgdGhl
IHJvb3QsIHNvIGRvZXMgbm90IGRldGFjaCBhIFxwYXJhbSBpbnNpZGUgYQotICAgICAgICAgKiBc
ZGVmLWRldmljZS1jYXAuKSAqLwotICAgICAgICBzdHJ1Y3QgY25vZGUgKipwY25vZGUgPSAmY29t
bWVudC0+cm9vdC5jaGlsZHJlbjsKLSAgICAgICAgZm9yICg7OykgewotICAgICAgICAgICAgc3Ry
dWN0IGNub2RlICpjbm9kZSA9ICpwY25vZGU7Ci0gICAgICAgICAgICBpZiAoIWNub2RlKQotICAg
ICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgaWYgKGNub2RlLT5mdW5jcyA9PSAmcGFy
YW1fZnVuY3MgfHwgY25vZGUtPmZ1bmNzID09ICZyZXR1cm5fZnVuY3MKLSAgICAgICAgICAgICAg
ICAgICAgfHwgY25vZGUtPmZ1bmNzID09ICZ0aHJvd19mdW5jcykKLSAgICAgICAgICAgIHsKLSAg
ICAgICAgICAgICAgICAvKiBGb3VuZCBhIFxwYXJhbSBvciBccmV0dXJuIG9yIFx0aHJvdyB0byBk
ZXRhY2guIEZpbmQgdGhlCi0gICAgICAgICAgICAgICAgICogcGFyYW1ldGVyL2V4Y2VwdGlvbiBv
ZiB0aGUgc2FtZSBuYW1lLCBvciB0aGUgcmV0dXJuIHR5cGUuICovCi0gICAgICAgICAgICAgICAg
c3RydWN0IG5vZGUgKm5vZGU7Ci0gICAgICAgICAgICAgICAgc3RydWN0IGNvbW1lbnQgKm5ld2Nv
bW1lbnQ7Ci0gICAgICAgICAgICAgICAgaWYgKGNub2RlLT5mdW5jcyA9PSAmcGFyYW1fZnVuY3Mp
IHsKLSAgICAgICAgICAgICAgICAgICAgbm9kZSA9IGZpbmRwYXJhbWlkZW50aWZpZXIoY29tbWVu
dC0+bm9kZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICgoc3RydWN0IHBhcmFtY25vZGUgKilj
bm9kZSktPm5hbWUpOwotICAgICAgICAgICAgICAgICAgICBpZiAoIW5vZGUpCi0gICAgICAgICAg
ICAgICAgICAgICAgICBsb2NlcnJvcmV4aXQoY29tbWVudC0+ZmlsZW5hbWUsIGNub2RlLT5saW5l
bnVtLCAibm8gcGFyYW1ldGVyICclcycgZm91bmQiLCAoKHN0cnVjdCBwYXJhbWNub2RlICopY25v
ZGUpLT5uYW1lKTsKLSAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGNub2RlLT5mdW5jcyA9PSAm
cmV0dXJuX2Z1bmNzKSB7Ci0gICAgICAgICAgICAgICAgICAgIG5vZGUgPSBmaW5kcmV0dXJudHlw
ZShjb21tZW50LT5ub2RlKTsKLSAgICAgICAgICAgICAgICAgICAgaWYgKCFub2RlKQotICAgICAg
ICAgICAgICAgICAgICAgICAgbG9jZXJyb3JleGl0KGNvbW1lbnQtPmZpbGVuYW1lLCBjbm9kZS0+
bGluZW51bSwgIm5vIHJldHVybiB0eXBlIGZvdW5kIik7Ci0gICAgICAgICAgICAgICAgfSBlbHNl
IHsKLSAgICAgICAgICAgICAgICAgICAgbm9kZSA9IGZpbmR0aHJvd2lkZW50aWZpZXIoY29tbWVu
dC0+bm9kZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICgoc3RydWN0IHBhcmFtY25vZGUgKilj
bm9kZSktPm5hbWUpOwotICAgICAgICAgICAgICAgICAgICBpZiAoIW5vZGUpCi0gICAgICAgICAg
ICAgICAgICAgICAgICBsb2NlcnJvcmV4aXQoY29tbWVudC0+ZmlsZW5hbWUsIGNub2RlLT5saW5l
bnVtLCAibm8gZXhjZXB0aW9uICclcycgZm91bmQiLCAoKHN0cnVjdCBwYXJhbWNub2RlICopY25v
ZGUpLT5uYW1lKTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgLyogRGV0YWNo
IHRoZSBjbm9kZSBmcm9tIGl0cyBvbGQgY29tbWVudC4gKi8KLSAgICAgICAgICAgICAgICAqcGNu
b2RlID0gY25vZGUtPm5leHQ7Ci0gICAgICAgICAgICAgICAgLyogQ3JlYXRlIGEgbmV3IGNvbW1l
bnQgc3RydWN0IHRvIGNvbnRhaW4gdGhpcyBjbm9kZS4gKi8KLSAgICAgICAgICAgICAgICBuZXdj
b21tZW50ID0gbWVtYWxsb2Moc2l6ZW9mKHN0cnVjdCBjb21tZW50KSk7Ci0gICAgICAgICAgICAg
ICAgbmV3Y29tbWVudC0+cm9vdC5mdW5jcyA9ICZyb290X2Z1bmNzOwotICAgICAgICAgICAgICAg
IG5ld2NvbW1lbnQtPmxpbmVudW0gPSBjbm9kZS0+bGluZW51bTsKLSAgICAgICAgICAgICAgICAv
KiBBdHRhY2ggdGhlIGNub2RlLiAqLwotICAgICAgICAgICAgICAgIG5ld2NvbW1lbnQtPnJvb3Qu
Y2hpbGRyZW4gPSBjbm9kZTsKLSAgICAgICAgICAgICAgICBjbm9kZS0+cGFyZW50ID0gJm5ld2Nv
bW1lbnQtPnJvb3Q7Ci0gICAgICAgICAgICAgICAgY25vZGUtPm5leHQgPSAwOwotICAgICAgICAg
ICAgICAgIC8qIE1ha2UgdGhlIGNub2RlIGEgXHJldHVybiBvbmUsIGp1c3Qgc28gZXZlbiBhIFxw
YXJhbQotICAgICAgICAgICAgICAgICAqIHVzZXMgcmV0dXJuX291dHB1dC4gKi8KLSAgICAgICAg
ICAgICAgICBjbm9kZS0+ZnVuY3MgPSAmcmV0dXJuX2Z1bmNzOwotICAgICAgICAgICAgICAgIC8q
IEF0dGFjaCB0aGUgbmV3IGNvbW1lbnQgc3RydWN0IHRvIHRoZSBwYXJzZSBub2RlLiAqLwotICAg
ICAgICAgICAgICAgIGF0dGFjaGNvbW1lbnR0b25vZGUobm9kZSwgbmV3Y29tbWVudCk7Ci0gICAg
ICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgIHBjbm9kZSA9ICZjbm9kZS0+bmV4dDsK
LSAgICAgICAgICAgIH0KLSAgICAgICAgfQotICAgICAgICAvKiBOb3cgYXR0YWNoIHRoZSBjb21t
ZW50IHRvIGl0cyBpZGVudGlmaWVyIHBhcnNlIG5vZGUuICovCi0gICAgICAgIHsKLSAgICAgICAg
ICAgIHN0cnVjdCBub2RlICpub2RlID0gY29tbWVudC0+bm9kZTsKLSAgICAgICAgICAgIGlmICgh
bm9kZSkKLSAgICAgICAgICAgICAgICBub2RlID0gcm9vdDsKLSAgICAgICAgICAgIGF0dGFjaGNv
bW1lbnR0b25vZGUobm9kZSwgY29tbWVudCk7Ci0gICAgICAgIH0KLSAgICAgICAgY29tbWVudCA9
IG5leHQ7Ci0gICAgfQotfQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIHByb2Nlc3Njb21tZW50cyA6
IGpvaW4sIHBhcnNlIGFuZCBhdHRhY2ggY29tbWVudHMKLSAqCi0gKiBFbnRlcjogICByb290ID0g
cm9vdCBwYXJzZSBub2RlCi0gKi8KLXZvaWQKLXByb2Nlc3Njb21tZW50cyhzdHJ1Y3Qgbm9kZSAq
cm9vdCkKLXsKLSAgICBjb21tZW50cyA9IGpvaW5pbmxpbmVjb21tZW50cyhjb21tZW50cyk7Ci0g
ICAgcGFyc2Vjb21tZW50cyhjb21tZW50cyk7Ci0gICAgYXR0YWNoY29tbWVudHMoY29tbWVudHMs
IHJvb3QpOwotfQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIG91dHB1dGRlc2NyaXB0aXZlIDogb3V0
cHV0IGRlc2NyaXB0aXZlIGVsZW1lbnRzIGZvciBhIG5vZGUKLSAqCi0gKiBFbnRlcjogICBub2Rl
ID0gaWRlbnRpZmllciBub2RlIHRoYXQgbWlnaHQgaGF2ZSBzb21lIGNvbW1lbnRzCi0gKiAgICAg
ICAgICBpbmRlbnQgPSBpbmRlbnQgKG5lc3RpbmcpIGxldmVsCi0gKi8KLXZvaWQKLW91dHB1dGRl
c2NyaXB0aXZlKHN0cnVjdCBub2RlICpub2RlLCB1bnNpZ25lZCBpbnQgaW5kZW50KQotewotICAg
IHN0cnVjdCBjb21tZW50ICpjb21tZW50ID0gbm9kZS0+Y29tbWVudHM7Ci0gICAgaW50IGluZGVz
Y3JpcHRpdmUgPSAwOwotICAgIHdoaWxlIChjb21tZW50KSB7Ci0gICAgICAgIHN0cnVjdCBjbm9k
ZSAqcm9vdCA9ICZjb21tZW50LT5yb290OwotICAgICAgICBpZiAoIWluZGVzY3JpcHRpdmUpCi0g
ICAgICAgICAgICBwcmludGYoIiUqczxkZXNjcmlwdGl2ZT5cbiIsIGluZGVudCwgIiIpOwotICAg
ICAgICBpbmRlc2NyaXB0aXZlID0gMTsKLSAgICAgICAgKCpyb290LT5mdW5jcy0+b3V0cHV0KShy
b290LCBpbmRlbnQgKyAyKTsKLSAgICAgICAgY29tbWVudCA9IGNvbW1lbnQtPm5leHQ7Ci0gICAg
fQotICAgIGlmIChpbmRlc2NyaXB0aXZlKQotICAgICAgICBwcmludGYoIiUqczwvZGVzY3JpcHRp
dmU+XG4iLCBpbmRlbnQsICIiKTsKLX0KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9zcmMvY29t
bWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9zcmMvY29tbWVudC5oCShy
ZXZpc2lvbiAyNTI4OTYpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mvc3JjL2NvbW1lbnQuaAkobm9u
ZXhpc3RlbnQpCkBAIC0xLDI1ICswLDAgQEAKLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogJElkJAotICog
Q29weXJpZ2h0IDIwMDkgQXBsaXggQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0g
KiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxp
Y2Vuc2UiKTsKLSAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFu
Y2Ugd2l0aCB0aGUgTGljZW5zZS4KLSAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGlj
ZW5zZSBhdAotICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIu
MAotICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3
cml0aW5nLCBzb2Z0d2FyZQotICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlz
dHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKLSAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBD
T05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgotICogU2Vl
IHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Np
b25zIGFuZAotICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCi0gKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KiovCi0jaWZuZGVmIGNvbW1lbnRfaAotI2RlZmluZSBjb21tZW50X2gKLQotc3RydWN0IHRvazsK
LXN0cnVjdCBub2RlOwotCi12b2lkIGFkZGNvbW1lbnQoc3RydWN0IHRvayAqdG9rKTsKLXZvaWQg
c2V0Y29tbWVudG5vZGUoc3RydWN0IG5vZGUgKm5vZGUyKTsKLXZvaWQgcHJvY2Vzc2NvbW1lbnRz
KHN0cnVjdCBub2RlICpyb290KTsKLXZvaWQgb3V0cHV0ZGVzY3JpcHRpdmUoc3RydWN0IG5vZGUg
Km5vZGUsIHVuc2lnbmVkIGludCBpbmRlbnQpOwotCi0jZW5kaWYgLyogbmRlZiBjb21tZW50X2gg
Ki8KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9zcmMvZW50aXRpZXMuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mvc3JjL2VudGl0aWVzLmgJKHJldmlzaW9uIDI1Mjg5NikKKysr
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC93aWRscHJvYy9zcmMvZW50aXRpZXMuaAkobm9uZXhpc3RlbnQpCkBAIC0xLDI3
MSArMCwwIEBACi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqICRJZCQKLSAqIENvcHlyaWdodCAyMDA5IEFw
bGl4IENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICogTGljZW5zZWQgdW5kZXIg
dGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7Ci0gKiB5b3Ug
bWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vu
c2UuCi0gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKLSAqICAgICBo
dHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKLSAqIFVubGVzcyByZXF1
aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUK
LSAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJB
UyBJUyIgQkFTSVMsCi0gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkg
S0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KLSAqIFNlZSB0aGUgTGljZW5zZSBmb3Ig
dGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKLSAqIGxpbWl0
YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgotICoqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwotI2lmbmRlZiBlbnRp
dGllc19oCi0jZGVmaW5lIGVudGl0aWVzX2gKLQotI2RlZmluZSBFTlRJVElFUyBcCi0ibmJzcFww
JiMxNjA7XDAiIFwKLSJpZXhjbFwwJiMxNjE7XDAiIFwKLSJjZW50XDAmIzE2MjtcMCIgXAotInBv
dW5kXDAmIzE2MztcMCIgXAotImN1cnJlblwwJiMxNjQ7XDAiIFwKLSJ5ZW5cMCYjMTY1O1wwIiBc
Ci0iYnJ2YmFyXDAmIzE2NjtcMCIgXAotInNlY3RcMCYjMTY3O1wwIiBcCi0idW1sXDAmIzE2ODtc
MCIgXAotImNvcHlcMCYjMTY5O1wwIiBcCi0ib3JkZlwwJiMxNzA7XDAiIFwKLSJsYXF1b1wwJiMx
NzE7XDAiIFwKLSJub3RcMCYjMTcyO1wwIiBcCi0ic2h5XDAmIzE3MztcMCIgXAotInJlZ1wwJiMx
NzQ7XDAiIFwKLSJtYWNyXDAmIzE3NTtcMCIgXAotImRlZ1wwJiMxNzY7XDAiIFwKLSJwbHVzbW5c
MCYjMTc3O1wwIiBcCi0ic3VwMlwwJiMxNzg7XDAiIFwKLSJzdXAzXDAmIzE3OTtcMCIgXAotImFj
dXRlXDAmIzE4MDtcMCIgXAotIm1pY3JvXDAmIzE4MTtcMCIgXAotInBhcmFcMCYjMTgyO1wwIiBc
Ci0ibWlkZG90XDAmIzE4MztcMCIgXAotImNlZGlsXDAmIzE4NDtcMCIgXAotInN1cDFcMCYjMTg1
O1wwIiBcCi0ib3JkbVwwJiMxODY7XDAiIFwKLSJyYXF1b1wwJiMxODc7XDAiIFwKLSJmcmFjMTRc
MCYjMTg4O1wwIiBcCi0iZnJhYzEyXDAmIzE4OTtcMCIgXAotImZyYWMzNFwwJiMxOTA7XDAiIFwK
LSJpcXVlc3RcMCYjMTkxO1wwIiBcCi0iQWdyYXZlXDAmIzE5MjtcMCIgXAotIkFhY3V0ZVwwJiMx
OTM7XDAiIFwKLSJBY2lyY1wwJiMxOTQ7XDAiIFwKLSJBdGlsZGVcMCYjMTk1O1wwIiBcCi0iQXVt
bFwwJiMxOTY7XDAiIFwKLSJBcmluZ1wwJiMxOTc7XDAiIFwKLSJBRWxpZ1wwJiMxOTg7XDAiIFwK
LSJDY2VkaWxcMCYjMTk5O1wwIiBcCi0iRWdyYXZlXDAmIzIwMDtcMCIgXAotIkVhY3V0ZVwwJiMy
MDE7XDAiIFwKLSJFY2lyY1wwJiMyMDI7XDAiIFwKLSJFdW1sXDAmIzIwMztcMCIgXAotIklncmF2
ZVwwJiMyMDQ7XDAiIFwKLSJJYWN1dGVcMCYjMjA1O1wwIiBcCi0iSWNpcmNcMCYjMjA2O1wwIiBc
Ci0iSXVtbFwwJiMyMDc7XDAiIFwKLSJFVEhcMCYjMjA4O1wwIiBcCi0iTnRpbGRlXDAmIzIwOTtc
MCIgXAotIk9ncmF2ZVwwJiMyMTA7XDAiIFwKLSJPYWN1dGVcMCYjMjExO1wwIiBcCi0iT2NpcmNc
MCYjMjEyO1wwIiBcCi0iT3RpbGRlXDAmIzIxMztcMCIgXAotIk91bWxcMCYjMjE0O1wwIiBcCi0i
dGltZXNcMCYjMjE1O1wwIiBcCi0iT3NsYXNoXDAmIzIxNjtcMCIgXAotIlVncmF2ZVwwJiMyMTc7
XDAiIFwKLSJVYWN1dGVcMCYjMjE4O1wwIiBcCi0iVWNpcmNcMCYjMjE5O1wwIiBcCi0iVXVtbFww
JiMyMjA7XDAiIFwKLSJZYWN1dGVcMCYjMjIxO1wwIiBcCi0iVEhPUk5cMCYjMjIyO1wwIiBcCi0i
c3psaWdcMCYjMjIzO1wwIiBcCi0iYWdyYXZlXDAmIzIyNDtcMCIgXAotImFhY3V0ZVwwJiMyMjU7
XDAiIFwKLSJhY2lyY1wwJiMyMjY7XDAiIFwKLSJhdGlsZGVcMCYjMjI3O1wwIiBcCi0iYXVtbFww
JiMyMjg7XDAiIFwKLSJhcmluZ1wwJiMyMjk7XDAiIFwKLSJhZWxpZ1wwJiMyMzA7XDAiIFwKLSJj
Y2VkaWxcMCYjMjMxO1wwIiBcCi0iZWdyYXZlXDAmIzIzMjtcMCIgXAotImVhY3V0ZVwwJiMyMzM7
XDAiIFwKLSJlY2lyY1wwJiMyMzQ7XDAiIFwKLSJldW1sXDAmIzIzNTtcMCIgXAotImlncmF2ZVww
JiMyMzY7XDAiIFwKLSJpYWN1dGVcMCYjMjM3O1wwIiBcCi0iaWNpcmNcMCYjMjM4O1wwIiBcCi0i
aXVtbFwwJiMyMzk7XDAiIFwKLSJldGhcMCYjMjQwO1wwIiBcCi0ibnRpbGRlXDAmIzI0MTtcMCIg
XAotIm9ncmF2ZVwwJiMyNDI7XDAiIFwKLSJvYWN1dGVcMCYjMjQzO1wwIiBcCi0ib2NpcmNcMCYj
MjQ0O1wwIiBcCi0ib3RpbGRlXDAmIzI0NTtcMCIgXAotIm91bWxcMCYjMjQ2O1wwIiBcCi0iZGl2
aWRlXDAmIzI0NztcMCIgXAotIm9zbGFzaFwwJiMyNDg7XDAiIFwKLSJ1Z3JhdmVcMCYjMjQ5O1ww
IiBcCi0idWFjdXRlXDAmIzI1MDtcMCIgXAotInVjaXJjXDAmIzI1MTtcMCIgXAotInV1bWxcMCYj
MjUyO1wwIiBcCi0ieWFjdXRlXDAmIzI1MztcMCIgXAotInRob3JuXDAmIzI1NDtcMCIgXAotInl1
bWxcMCYjMjU1O1wwIiBcCi0iZm5vZlwwJiM0MDI7XDAiIFwKLSJBbHBoYVwwJiM5MTM7XDAiIFwK
LSJCZXRhXDAmIzkxNDtcMCIgXAotIkdhbW1hXDAmIzkxNTtcMCIgXAotIkRlbHRhXDAmIzkxNjtc
MCIgXAotIkVwc2lsb25cMCYjOTE3O1wwIiBcCi0iWmV0YVwwJiM5MTg7XDAiIFwKLSJFdGFcMCYj
OTE5O1wwIiBcCi0iVGhldGFcMCYjOTIwO1wwIiBcCi0iSW90YVwwJiM5MjE7XDAiIFwKLSJLYXBw
YVwwJiM5MjI7XDAiIFwKLSJMYW1iZGFcMCYjOTIzO1wwIiBcCi0iTXVcMCYjOTI0O1wwIiBcCi0i
TnVcMCYjOTI1O1wwIiBcCi0iWGlcMCYjOTI2O1wwIiBcCi0iT21pY3JvblwwJiM5Mjc7XDAiIFwK
LSJQaVwwJiM5Mjg7XDAiIFwKLSJSaG9cMCYjOTI5O1wwIiBcCi0iU2lnbWFcMCYjOTMxO1wwIiBc
Ci0iVGF1XDAmIzkzMjtcMCIgXAotIlVwc2lsb25cMCYjOTMzO1wwIiBcCi0iUGhpXDAmIzkzNDtc
MCIgXAotIkNoaVwwJiM5MzU7XDAiIFwKLSJQc2lcMCYjOTM2O1wwIiBcCi0iT21lZ2FcMCYjOTM3
O1wwIiBcCi0iYWxwaGFcMCYjOTQ1O1wwIiBcCi0iYmV0YVwwJiM5NDY7XDAiIFwKLSJnYW1tYVww
JiM5NDc7XDAiIFwKLSJkZWx0YVwwJiM5NDg7XDAiIFwKLSJlcHNpbG9uXDAmIzk0OTtcMCIgXAot
InpldGFcMCYjOTUwO1wwIiBcCi0iZXRhXDAmIzk1MTtcMCIgXAotInRoZXRhXDAmIzk1MjtcMCIg
XAotImlvdGFcMCYjOTUzO1wwIiBcCi0ia2FwcGFcMCYjOTU0O1wwIiBcCi0ibGFtYmRhXDAmIzk1
NTtcMCIgXAotIm11XDAmIzk1NjtcMCIgXAotIm51XDAmIzk1NztcMCIgXAotInhpXDAmIzk1ODtc
MCIgXAotIm9taWNyb25cMCYjOTU5O1wwIiBcCi0icGlcMCYjOTYwO1wwIiBcCi0icmhvXDAmIzk2
MTtcMCIgXAotInNpZ21hZlwwJiM5NjI7XDAiIFwKLSJzaWdtYVwwJiM5NjM7XDAiIFwKLSJ0YXVc
MCYjOTY0O1wwIiBcCi0idXBzaWxvblwwJiM5NjU7XDAiIFwKLSJwaGlcMCYjOTY2O1wwIiBcCi0i
Y2hpXDAmIzk2NztcMCIgXAotInBzaVwwJiM5Njg7XDAiIFwKLSJvbWVnYVwwJiM5Njk7XDAiIFwK
LSJ0aGV0YXN5bVwwJiM5Nzc7XDAiIFwKLSJ1cHNpaFwwJiM5Nzg7XDAiIFwKLSJwaXZcMCYjOTgy
O1wwIiBcCi0iYnVsbFwwJiM4MjI2O1wwIiBcCi0iaGVsbGlwXDAmIzgyMzA7XDAiIFwKLSJwcmlt
ZVwwJiM4MjQyO1wwIiBcCi0iUHJpbWVcMCYjODI0MztcMCIgXAotIm9saW5lXDAmIzgyNTQ7XDAi
IFwKLSJmcmFzbFwwJiM4MjYwO1wwIiBcCi0id2VpZXJwXDAmIzg0NzI7XDAiIFwKLSJpbWFnZVww
JiM4NDY1O1wwIiBcCi0icmVhbFwwJiM4NDc2O1wwIiBcCi0idHJhZGVcMCYjODQ4MjtcMCIgXAot
ImFsZWZzeW1cMCYjODUwMTtcMCIgXAotImxhcnJcMCYjODU5MjtcMCIgXAotInVhcnJcMCYjODU5
MztcMCIgXAotInJhcnJcMCYjODU5NDtcMCIgXAotImRhcnJcMCYjODU5NTtcMCIgXAotImhhcnJc
MCYjODU5NjtcMCIgXAotImNyYXJyXDAmIzg2Mjk7XDAiIFwKLSJsQXJyXDAmIzg2NTY7XDAiIFwK
LSJ1QXJyXDAmIzg2NTc7XDAiIFwKLSJyQXJyXDAmIzg2NTg7XDAiIFwKLSJkQXJyXDAmIzg2NTk7
XDAiIFwKLSJoQXJyXDAmIzg2NjA7XDAiIFwKLSJmb3JhbGxcMCYjODcwNDtcMCIgXAotInBhcnRc
MCYjODcwNjtcMCIgXAotImV4aXN0XDAmIzg3MDc7XDAiIFwKLSJlbXB0eVwwJiM4NzA5O1wwIiBc
Ci0ibmFibGFcMCYjODcxMTtcMCIgXAotImlzaW5cMCYjODcxMjtcMCIgXAotIm5vdGluXDAmIzg3
MTM7XDAiIFwKLSJuaVwwJiM4NzE1O1wwIiBcCi0icHJvZFwwJiM4NzE5O1wwIiBcCi0ic3VtXDAm
Izg3MjE7XDAiIFwKLSJtaW51c1wwJiM4NzIyO1wwIiBcCi0ibG93YXN0XDAmIzg3Mjc7XDAiIFwK
LSJyYWRpY1wwJiM4NzMwO1wwIiBcCi0icHJvcFwwJiM4NzMzO1wwIiBcCi0iaW5maW5cMCYjODcz
NDtcMCIgXAotImFuZ1wwJiM4NzM2O1wwIiBcCi0iYW5kXDAmIzg3NDM7XDAiIFwKLSJvclwwJiM4
NzQ0O1wwIiBcCi0iY2FwXDAmIzg3NDU7XDAiIFwKLSJjdXBcMCYjODc0NjtcMCIgXAotImludFww
JiM4NzQ3O1wwIiBcCi0idGhlcmU0XDAmIzg3NTY7XDAiIFwKLSJzaW1cMCYjODc2NDtcMCIgXAot
ImNvbmdcMCYjODc3MztcMCIgXAotImFzeW1wXDAmIzg3NzY7XDAiIFwKLSJuZVwwJiM4ODAwO1ww
IiBcCi0iZXF1aXZcMCYjODgwMTtcMCIgXAotImxlXDAmIzg4MDQ7XDAiIFwKLSJnZVwwJiM4ODA1
O1wwIiBcCi0ic3ViXDAmIzg4MzQ7XDAiIFwKLSJzdXBcMCYjODgzNTtcMCIgXAotIm5zdWJcMCYj
ODgzNjtcMCIgXAotInN1YmVcMCYjODgzODtcMCIgXAotInN1cGVcMCYjODgzOTtcMCIgXAotIm9w
bHVzXDAmIzg4NTM7XDAiIFwKLSJvdGltZXNcMCYjODg1NTtcMCIgXAotInBlcnBcMCYjODg2OTtc
MCIgXAotInNkb3RcMCYjODkwMTtcMCIgXAotImxjZWlsXDAmIzg5Njg7XDAiIFwKLSJyY2VpbFww
JiM4OTY5O1wwIiBcCi0ibGZsb29yXDAmIzg5NzA7XDAiIFwKLSJyZmxvb3JcMCYjODk3MTtcMCIg
XAotImxhbmdcMCYjOTAwMTtcMCIgXAotInJhbmdcMCYjOTAwMjtcMCIgXAotImxvelwwJiM5Njc0
O1wwIiBcCi0ic3BhZGVzXDAmIzk4MjQ7XDAiIFwKLSJjbHVic1wwJiM5ODI3O1wwIiBcCi0iaGVh
cnRzXDAmIzk4Mjk7XDAiIFwKLSJkaWFtc1wwJiM5ODMwO1wwIiBcCi0icXVvdFwwJiMzNDtcMCIg
XAotImFtcFwwJiMzODtcMCIgXAotImx0XDAmIzYwO1wwIiBcCi0iZ3RcMCYjNjI7XDAiIFwKLSJP
RWxpZ1wwJiMzMzg7XDAiIFwKLSJvZWxpZ1wwJiMzMzk7XDAiIFwKLSJTY2Fyb25cMCYjMzUyO1ww
IiBcCi0ic2Nhcm9uXDAmIzM1MztcMCIgXAotIll1bWxcMCYjMzc2O1wwIiBcCi0iY2lyY1wwJiM3
MTA7XDAiIFwKLSJ0aWxkZVwwJiM3MzI7XDAiIFwKLSJlbnNwXDAmIzgxOTQ7XDAiIFwKLSJlbXNw
XDAmIzgxOTU7XDAiIFwKLSJ0aGluc3BcMCYjODIwMTtcMCIgXAotInp3bmpcMCYjODIwNDtcMCIg
XAotInp3alwwJiM4MjA1O1wwIiBcCi0ibHJtXDAmIzgyMDY7XDAiIFwKLSJybG1cMCYjODIwNztc
MCIgXAotIm5kYXNoXDAmIzgyMTE7XDAiIFwKLSJtZGFzaFwwJiM4MjEyO1wwIiBcCi0ibHNxdW9c
MCYjODIxNjtcMCIgXAotInJzcXVvXDAmIzgyMTc7XDAiIFwKLSJzYnF1b1wwJiM4MjE4O1wwIiBc
Ci0ibGRxdW9cMCYjODIyMDtcMCIgXAotInJkcXVvXDAmIzgyMjE7XDAiIFwKLSJiZHF1b1wwJiM4
MjIyO1wwIiBcCi0iZGFnZ2VyXDAmIzgyMjQ7XDAiIFwKLSJEYWdnZXJcMCYjODIyNTtcMCIgXAot
InBlcm1pbFwwJiM4MjQwO1wwIiBcCi0ibHNhcXVvXDAmIzgyNDk7XDAiIFwKLSJyc2FxdW9cMCYj
ODI1MDtcMCIgXAotImV1cm9cMCYjODM2NDtcMCIKLQotI2VuZGlmIC8qIG5kZWYgZW50aXRpZXNf
aCAqLwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3NyYy9sZXguYwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3Qvd2lkbHByb2Mvc3JjL2xleC5jCShyZXZpc2lvbiAyNTI4OTYpCisrKyBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvd2lkbHByb2Mvc3JjL2xleC5jCShub25leGlzdGVudCkKQEAgLTEsNTYwICswLDAgQEAKLS8q
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKgotICogJElkJAotICogQ29weXJpZ2h0IDIwMDkgQXBsaXggQ29ycG9yYXRp
b24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExp
Y2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKLSAqIHlvdSBtYXkgbm90IHVzZSB0
aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KLSAqIFlvdSBt
YXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAotICogICAgIGh0dHA6Ly93d3cuYXBh
Y2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAotICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxp
Y2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQotICogZGlzdHJpYnV0
ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywK
LSAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIg
ZXhwcmVzcyBvciBpbXBsaWVkLgotICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMg
bGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAotICogbGltaXRhdGlvbnMgdW5kZXIg
dGhlIExpY2Vuc2UuCi0gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi0jaW5jbHVkZSA8YXNzZXJ0Lmg+Ci0jaW5j
bHVkZSA8ZXJybm8uaD4KLSNpbmNsdWRlIDxzdGRpby5oPgotI2luY2x1ZGUgPHN0cmluZy5oPgot
I2luY2x1ZGUgImxleC5oIgotI2luY2x1ZGUgIm1pc2MuaCIKLSNpbmNsdWRlICJub2RlLmgiCi0j
aW5jbHVkZSAicHJvY2Vzcy5oIgotCi1zdHJ1Y3QgZmlsZSB7Ci0gICAgc3RydWN0IGZpbGUgKm5l
eHQ7Ci0gICAgY29uc3QgY2hhciAqZmlsZW5hbWU7Ci0gICAgY2hhciAqYnVmOwotICAgIGNvbnN0
IGNoYXIgKnBvcywgKmVuZDsKLSAgICB1bnNpZ25lZCBpbnQgbGluZW51bTsKLX07Ci0KLWNvbnN0
IGNoYXIga2V5d29yZHNbXSA9IEtFWVdPUkRTOwotCi1zdGF0aWMgc3RydWN0IGZpbGUgKmZpbGUs
ICpmaXJzdGZpbGU7Ci1zdGF0aWMgc3RydWN0IHRvayB0b2s7Ci0KLS8qKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgot
ICogcmVhZGlucHV0IDogcmVhZCBhbGwgaW5wdXQgZmlsZXMgaW50byBtZW1vcnkKLSAqCi0gKiBF
bnRlcjogICBhcmd2ID0gMC10ZXJtaW5hdGVkIGFycmF5IG9mIGZpbGVuYW1lcwotICovCi12b2lk
Ci1yZWFkaW5wdXQoY29uc3QgY2hhciAqY29uc3QgKmFyZ3YpCi17Ci0gICAgc3RydWN0IGZpbGUg
KipwZmlsZSA9ICZmaWxlOwotICAgIGZvciAoOzspIHsKLSAgICAgICAgc3RydWN0IGZpbGUgKmZp
bGU7Ci0gICAgICAgIGNvbnN0IGNoYXIgKmZpbGVuYW1lID0gKmFyZ3YrKzsKLSAgICAgICAgY2hh
ciAqYnVmID0gMDsKLSAgICAgICAgaW50IGxlbiA9IDAsIHRoaXNsZW4sIGlzc3RkaW47Ci0gICAg
ICAgIEZJTEUgKmhhbmRsZTsKLSAgICAgICAgaWYgKCFmaWxlbmFtZSkKLSAgICAgICAgICAgIGJy
ZWFrOwotICAgICAgICAvKiBSZWFkIHRoZSBmaWxlLiAqLwotICAgICAgICBpc3N0ZGluID0gIXN0
cmNtcChmaWxlbmFtZSwgIi0iKTsKLSAgICAgICAgaWYgKGlzc3RkaW4pIHsKLSAgICAgICAgICAg
IGhhbmRsZSA9IHN0ZGluOwotICAgICAgICAgICAgZmlsZW5hbWUgPSAiPHN0ZGluPiI7Ci0gICAg
ICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICBoYW5kbGUgPSBmb3BlbihmaWxlbmFtZSwgInJiIik7
Ci0gICAgICAgICAgICBpZiAoIWhhbmRsZSkKLSAgICAgICAgICAgICAgICBlcnJvcmV4aXQoIiVz
OiAlcyIsIGZpbGVuYW1lLCBzdHJlcnJvcihlcnJubykpOwotICAgICAgICB9Ci0gICAgICAgIGZv
ciAoOzspIHsKLSAgICAgICAgICAgIHRoaXNsZW4gPSBsZW4gPyBsZW4gKiAyIDogNDA5NjsKLSAg
ICAgICAgICAgIGJ1ZiA9IG1lbXJlYWxsb2MoYnVmLCBsZW4gKyB0aGlzbGVuICsgMSk7Ci0gICAg
ICAgICAgICB0aGlzbGVuID0gZnJlYWQoYnVmICsgbGVuLCAxLCB0aGlzbGVuLCBoYW5kbGUpOwot
ICAgICAgICAgICAgaWYgKCF0aGlzbGVuKQotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAg
ICAgICAgbGVuICs9IHRoaXNsZW47Ci0gICAgICAgIH0KLSAgICAgICAgaWYgKGZlcnJvcihoYW5k
bGUpKQotICAgICAgICAgICAgZXJyb3JleGl0KCIlczogSS9PIGVycm9yIiwgZmlsZW5hbWUpOwot
ICAgICAgICBpZiAoIWlzc3RkaW4pCi0gICAgICAgICAgICBmY2xvc2UoaGFuZGxlKTsKLSAgICAg
ICAgYnVmW2xlbl0gPSAwOwotICAgICAgICBidWYgPSBtZW1yZWFsbG9jKGJ1ZiwgbGVuICsgMSk7
Ci0gICAgICAgIC8qIENyZWF0ZSB0aGUgZmlsZSBzdHJ1Y3QgZm9yIGl0LiAqLwotICAgICAgICBm
aWxlID0gbWVtYWxsb2Moc2l6ZW9mKHN0cnVjdCBmaWxlKSk7Ci0gICAgICAgICpwZmlsZSA9IGZp
bGU7Ci0gICAgICAgIHBmaWxlID0gJmZpbGUtPm5leHQ7Ci0gICAgICAgIGZpbGUtPmZpbGVuYW1l
ID0gZmlsZW5hbWU7Ci0gICAgICAgIGZpbGUtPnBvcyA9IGZpbGUtPmJ1ZiA9IGJ1ZjsKLSAgICAg
ICAgZmlsZS0+ZW5kID0gYnVmICsgbGVuOwotICAgICAgICBmaWxlLT5saW5lbnVtID0gMTsKLSAg
ICB9Ci0gICAgKnBmaWxlID0gMDsKLSAgICBmaXJzdGZpbGUgPSBmaWxlOwotfQotCi0vKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioKLSAqIGxleGVycm9yZXhpdCA6IGVycm9yIGFuZCBleGl0IHdpdGggbGluZSBudW1i
ZXIKLSAqLwotc3RhdGljIHZvaWQKLWxleGVycm9yZXhpdChjb25zdCBjaGFyICpmb3JtYXQsIC4u
LikKLXsKLSAgICB2YV9saXN0IGFwOwotICAgIHZhX3N0YXJ0KGFwLCBmb3JtYXQpOwotICAgIHZs
b2NlcnJvcmV4aXQoZmlsZS0+ZmlsZW5hbWUsIGZpbGUtPmxpbmVudW0sIGZvcm1hdCwgYXApOwot
ICAgIHZhX2VuZChhcCk7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogbGV4YmxvY2tjb21tZW50
IDogbGV4IGEgYmxvY2sgY29tbWVudAotICoKLSAqIEVudGVyOiAgIHN0YXJ0ID0gc3RhcnQgb2Yg
Y29tbWVudAotICoKLSAqIFJldHVybjogIHRvayBzdHJ1Y3QsIGxpZmV0aW1lIHVudGlsIG5leHQg
Y2FsbCB0byBsZXgKLSAqLwotc3RhdGljIHN0cnVjdCB0b2sgKgotbGV4YmxvY2tjb21tZW50KGNv
bnN0IGNoYXIgKnN0YXJ0KQotewotICAgIGNvbnN0IGNoYXIgKnAgPSBzdGFydCArIDE7Ci0gICAg
dG9rLmZpbGVuYW1lID0gZmlsZS0+ZmlsZW5hbWU7Ci0gICAgdG9rLmxpbmVudW0gPSBmaWxlLT5s
aW5lbnVtOwotICAgIGZvciAoOzspIHsKLSAgICAgICAgaW50IGNoID0gKisrcDsKLSAgICAgICAg
aWYgKCFjaCkKLSAgICAgICAgICAgIGxleGVycm9yZXhpdCgidW50ZXJtaW5hdGVkIGJsb2NrIGNv
bW1lbnQiKTsKLSAgICAgICAgaWYgKGNoICE9ICcqJykgewotICAgICAgICAgICAgaWYgKGNoID09
ICdcbicpCi0gICAgICAgICAgICAgICAgZmlsZS0+bGluZW51bSsrOwotICAgICAgICAgICAgY29u
dGludWU7Ci0gICAgICAgIH0KLSAgICAgICAgY2ggPSBwWzFdOwotICAgICAgICBpZiAoIWNoKQot
ICAgICAgICAgICAgbGV4ZXJyb3JleGl0KCJ1bnRlcm1pbmF0ZWQgYmxvY2sgY29tbWVudCIpOwot
ICAgICAgICBpZiAoY2ggPT0gJy8nKQotICAgICAgICAgICAgYnJlYWs7Ci0gICAgfQotICAgIHAg
Kz0gMjsKLSAgICBmaWxlLT5wb3MgPSBwOwotICAgIHRvay50eXBlID0gVE9LX0JMT0NLQ09NTUVO
VDsKLSAgICB0b2suc3RhcnQgPSBzdGFydCArIDI7Ci0gICAgdG9rLmxlbiA9IHAgLSBzdGFydCAt
IDQ7Ci0gICAgcmV0dXJuICZ0b2s7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogbGV4aW5saW5l
Y29tbWVudCA6IGxleCBhbiBpbmxpbmUgY29tbWVudAotICoKLSAqIEVudGVyOiAgIHN0YXJ0ID0g
c3RhcnQgb2YgY29tbWVudCwgc3RhcnRzIHdpdGggIi8vIgotICoKLSAqIFJldHVybjogIHRvayBz
dHJ1Y3QsIGxpZmV0aW1lIHVudGlsIG5leHQgY2FsbCB0byBsZXgKLSAqLwotc3RhdGljIHN0cnVj
dCB0b2sgKgotbGV4aW5saW5lY29tbWVudChjb25zdCBjaGFyICpzdGFydCkKLXsKLSAgICBjb25z
dCBjaGFyICpwID0gc3RhcnQgKyAyOwotICAgIHAgPSBzdGFydCArIDE7Ci0gICAgZm9yICg7Oykg
ewotICAgICAgICBpbnQgY2ggPSAqKytwOwotICAgICAgICBpZiAoIWNoIHx8IGNoID09ICdcbicp
Ci0gICAgICAgICAgICBicmVhazsKLSAgICB9Ci0gICAgcCsrOwotICAgIGZpbGUtPnBvcyA9IHA7
Ci0gICAgdG9rLnR5cGUgPSBUT0tfSU5MSU5FQ09NTUVOVDsKLSAgICB0b2suc3RhcnQgPSBzdGFy
dCArIDI7Ci0gICAgdG9rLmxlbiA9IHAgLSBzdGFydCAtIDI7Ci0gICAgdG9rLmZpbGVuYW1lID0g
ZmlsZS0+ZmlsZW5hbWU7Ci0gICAgdG9rLmxpbmVudW0gPSBmaWxlLT5saW5lbnVtKys7Ci0gICAg
cmV0dXJuICZ0b2s7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogbGV4bnVtYmVyIDogbGV4IGEg
bnVtYmVyIChvciBqdXN0IGEgJy0nIHN5bWJvbCkKLSAqCi0gKiBFbnRlcjogICBzdGFydCA9IHN0
YXJ0IG9mIHRva2VuCi0gKgotICogUmV0dXJuOiAgdG9rIHN0cnVjdCwgbGlmZXRpbWUgdW50aWwg
bmV4dCBjYWxsIHRvIGxleAotICoKLSAqIFRoZSBJREwgZ3JhbW1hciBzZWVtcyB0byBzYXkgdGhh
dCBhIGZsb2F0IGNhbid0IHN0YXJ0IHdpdGggYQotICogZGVjaW1hbCBwb2ludCwgc28gdGhhdCdz
IHdoYXQgd2UgaGF2ZSBpbXBsZW1lbnRlZCBoZXJlLgotICovCi1zdGF0aWMgc3RydWN0IHRvayAq
Ci1sZXhudW1iZXIoY29uc3QgY2hhciAqc3RhcnQpCi17Ci0gICAgZm9yICg7OykgewotICAgICAg
ICBjb25zdCBjaGFyICpwID0gc3RhcnQ7Ci0gICAgICAgIGNvbnN0IGNoYXIgKm9jdGFsZW5kID0g
c3RhcnQ7Ci0gICAgICAgIGludCBjaCA9ICpwOwotICAgICAgICBlbnVtIHsgU1RBVEVfU1RBUlQs
IFNUQVRFX0lOVCwgU1RBVEVfSEVYLCBTVEFURV9PQ1RBTCwgU1RBVEVfQkFET0NUQUwsCi0gICAg
ICAgICAgICAgICAgU1RBVEVfRFAsIFNUQVRFX0VYUFNUQVJULCBTVEFURV9FWFBTSUdOLCBTVEFU
RV9FWFAKLSAgICAgICAgICAgICAgICB9IHN0YXRlID0gU1RBVEVfU1RBUlQ7Ci0gICAgICAgIGlm
IChjaCA9PSAnLScpIHsKLSAgICAgICAgICAgIGNoID0gKisrcDsKLQkgICAgaWYgKGNoID09ICdJ
JykgeyAvLyBzdGFydHMgb2YgSW5maW5pdHkKLQkgICAgICBjaGFyICogaW5maW5pdHkgPSAiLUlu
ZmluaXR5IjsKLSAgICAgICAgICAgICAgdW5zaWduZWQgaW50IGxlbiA9IHN0cmxlbihpbmZpbml0
eSk7Ci0JICAgICAgaWYgKCFtZW1jbXAoc3RhcnQsIGluZmluaXR5LCBsZW4pKSB7Ci0gICAgICAg
ICAgICAgICAgdG9rLnR5cGUgPSBUT0tfbWludXNpbmZpbml0eTsKLQkJdG9rLnN0YXJ0ID0gc3Rh
cnQ7Ci0JCXRvay5sZW4gPSBsZW47Ci0JCXRvay5maWxlbmFtZSA9IGZpbGUtPmZpbGVuYW1lOwot
CQl0b2subGluZW51bSA9IGZpbGUtPmxpbmVudW07Ci0JCWZpbGUtPnBvcyA9IHN0YXJ0ICsgbGVu
OwotCQlyZXR1cm4gJnRvazsKLQkgICAgICB9Ci0JICAgIH0KLQl9Ci0gICAgICAgIGlmIChjaCA9
PSAnMCcpIHsKLSAgICAgICAgICAgIHN0YXRlID0gU1RBVEVfT0NUQUw7Ci0gICAgICAgICAgICBj
aCA9ICorK3A7Ci0gICAgICAgICAgICBpZiAoKGNoICYgfjB4MjApID09ICdYJykgewotICAgICAg
ICAgICAgICAgIHN0YXRlID0gU1RBVEVfSEVYOwotICAgICAgICAgICAgICAgIGNoID0gKisrcDsK
LSAgICAgICAgICAgIH0KLSAgICAgICAgfQotCi0gICAgICAgIGZvciAoOzspIHsKLSAgICAgICAg
ICAgIGlmICgodW5zaWduZWQpKGNoIC0gJzAnKSA+PSA4KSB7Ci0gICAgICAgICAgICAgICAgaWYg
KChjaCAmIC0yKSA9PSAnOCcpIHsKLSAgICAgICAgICAgICAgICAgICAgaWYgKHN0YXRlID09IFNU
QVRFX09DVEFMKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZSA9IFNUQVRFX0JBRE9D
VEFMOwotICAgICAgICAgICAgICAgICAgICAgICAgb2N0YWxlbmQgPSBwOwotICAgICAgICAgICAg
ICAgICAgICB9Ci0gICAgICAgICAgICAgICAgfSBlbHNlIGlmICgodW5zaWduZWQpKChjaCAmIH4w
eDIwKSAtICdBJykgPD0gJ0YnIC0gJ0EnKSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmIChzdGF0
ZSAhPSBTVEFURV9IRVgpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICgoY2ggJiB+MHgy
MCkgIT0gJ0UnKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAg
ICAgICAgICAgICAgICAgaWYgKHN0YXRlID09IFNUQVRFX0hFWCB8fCBzdGF0ZSA+PSBTVEFURV9F
WFBTVEFSVCB8fCBzdGF0ZSA9PSBTVEFURV9TVEFSVCkKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBicmVhazsKLSAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRlID0gU1RBVEVfRVhQU1RB
UlQ7Ci0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGNo
ID09ICcuJykgewotICAgICAgICAgICAgICAgICAgICBpZiAoc3RhdGUgPT0gU1RBVEVfSEVYIHx8
IHN0YXRlID49IFNUQVRFX0RQKQotICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAg
ICAgICAgICAgICAgICAgIHN0YXRlID0gU1RBVEVfRFA7Ci0gICAgICAgICAgICAgICAgfSBlbHNl
IGlmIChjaCA9PSAnLScpIHsKLSAgICAgICAgICAgICAgICAgICAgaWYgKHN0YXRlICE9IFNUQVRF
X0VYUFNUQVJUKQotICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAg
ICAgICAgIHN0YXRlID0gU1RBVEVfRVhQU0lHTjsKLSAgICAgICAgICAgICAgICB9IGVsc2UKLSAg
ICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBjaCA9
ICorK3A7Ci0gICAgICAgICAgICBpZiAoc3RhdGUgPT0gU1RBVEVfU1RBUlQpCi0gICAgICAgICAg
ICAgICAgc3RhdGUgPSBTVEFURV9JTlQ7Ci0gICAgICAgICAgICBlbHNlIGlmIChzdGF0ZSA9PSBT
VEFURV9FWFBTVEFSVCB8fCBzdGF0ZSA9PSBTVEFURV9FWFBTSUdOKQotICAgICAgICAgICAgICAg
IHN0YXRlID0gU1RBVEVfRVhQOwotICAgICAgICB9Ci0gICAgICAgIHN3aXRjaCAoc3RhdGUpIHsK
LSAgICAgICAgY2FzZSBTVEFURV9TVEFSVDoKLSAgICAgICAgICAgIC8qIE11c3QgaGF2ZSBqdXN0
IGJlZW4gYSAtIGNoYXJhY3RlciBieSBpdHNlbGYuICovCi0gICAgICAgICAgICB0b2sudHlwZSA9
ICctJzsKLSAgICAgICAgICAgIHAgPSBzdGFydCArIDE7Ci0gICAgICAgICAgICBicmVhazsKLSAg
ICAgICAgY2FzZSBTVEFURV9CQURPQ1RBTDoKLSAgICAgICAgICAgIHAgPSBvY3RhbGVuZDsKLSAg
ICAgICAgICAgIC8qIGZhbGwgdGhyb3VnaC4uLiAqLwotICAgICAgICBjYXNlIFNUQVRFX0lOVDoK
LSAgICAgICAgY2FzZSBTVEFURV9PQ1RBTDoKLSAgICAgICAgICAgIHRvay50eXBlID0gVE9LX0lO
VEVHRVI7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSBTVEFURV9IRVg6Ci0gICAg
ICAgICAgICBpZiAocCAtIHN0YXJ0ID09IDIgfHwgKHAgLSBzdGFydCA9PSAzICYmICpzdGFydCA9
PSAnLScpKQotICAgICAgICAgICAgICAgIHAgPSBzdGFydCArIDE7Ci0gICAgICAgICAgICB0b2su
dHlwZSA9IFRPS19JTlRFR0VSOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgU1RB
VEVfRVhQOgotICAgICAgICBjYXNlIFNUQVRFX0RQOgotICAgICAgICAgICAgdG9rLnR5cGUgPSBU
T0tfRkxPQVQ7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSBTVEFURV9FWFBTSUdO
OgotICAgICAgICAgICAgcC0tOwotICAgICAgICAgICAgLyogZmFsbCB0aHJvdWdoLi4uICovCi0g
ICAgICAgIGNhc2UgU1RBVEVfRVhQU1RBUlQ6Ci0gICAgICAgICAgICBwLS07Ci0gICAgICAgICAg
ICB0b2sudHlwZSA9IFRPS19GTE9BVDsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0g
ICAgICAgIHRvay5zdGFydCA9IHN0YXJ0OwotICAgICAgICB0b2subGVuID0gcCAtIHN0YXJ0Owot
ICAgICAgICB0b2suZmlsZW5hbWUgPSBmaWxlLT5maWxlbmFtZTsKLSAgICAgICAgdG9rLmxpbmVu
dW0gPSBmaWxlLT5saW5lbnVtOwotICAgICAgICBmaWxlLT5wb3MgPSBwOwotICAgICAgICByZXR1
cm4gJnRvazsKLSAgICB9Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogbGV4c3RyaW5nIDogbGV4
IGEgcXVvdGVkIHN0cmluZwotICoKLSAqIEVudGVyOiAgIHN0YXJ0ID0gc3RhcnQgb2YgdG9rZW4K
LSAqCi0gKiBSZXR1cm46ICB0b2sgc3RydWN0LCBsaWZldGltZSB1bnRpbCBuZXh0IGNhbGwgdG8g
bGV4Ci0gKi8KLXN0YXRpYyBzdHJ1Y3QgdG9rICoKLWxleHN0cmluZyhjb25zdCBjaGFyICpzdGFy
dCkKLXsKLSAgICBmb3IgKDs7KSB7Ci0gICAgICAgIGNvbnN0IGNoYXIgKnAgPSBzdGFydCArIDE7
Ci0gICAgICAgIGludCBjaCA9ICpwOwotICAgICAgICBmb3IgKDs7KSB7Ci0gICAgICAgICAgICBp
ZiAoIWNoIHx8IGNoID09ICdcbicpCi0gICAgICAgICAgICAgICAgbGV4ZXJyb3JleGl0KCJ1bnRl
cm1pbmF0ZWQgc3RyaW5nIik7Ci0gICAgICAgICAgICBpZiAoY2ggPT0gJyInKSB7Ci0gICAgICAg
ICAgICAgICAgdG9rLnR5cGUgPSBUT0tfU1RSSU5HOwotICAgICAgICAgICAgICAgIHRvay5zdGFy
dCA9IHN0YXJ0ICsgMTsKLSAgICAgICAgICAgICAgICB0b2subGVuID0gcCAtIHN0YXJ0IC0gMTsK
LSAgICAgICAgICAgICAgICB0b2suZmlsZW5hbWUgPSBmaWxlLT5maWxlbmFtZTsKLSAgICAgICAg
ICAgICAgICB0b2subGluZW51bSA9IGZpbGUtPmxpbmVudW07Ci0gICAgICAgICAgICAgICAgZmls
ZS0+cG9zID0gcCArIDE7Ci0gICAgICAgICAgICAgICAgcmV0dXJuICZ0b2s7Ci0gICAgICAgICAg
ICB9Ci0gICAgICAgICAgICAvKiBOb3RlIHRoZSBJREwgc3BlYyBkb2Vzbid0IHNlZW0gdG8gYWxs
b3cgZm9yIGVzY2FwZSBzZXF1ZW5jZXMKLSAgICAgICAgICAgICAqIGluIHN0cmluZ3MuICovCi0g
ICAgICAgICAgICBjaCA9ICorK3A7Ci0gICAgICAgIH0KLSAgICB9Ci19Ci0KLS8qKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKgotICogbGV4aWRlbnRpZmllciA6IGxleCBhbiBpZGVudGlmaWVyCi0gKgotICogRW50ZXI6
ICAgc3RhcnQgPSBzdGFydCBvZiB0b2tlbgotICoKLSAqIFJldHVybjogIHRvayBzdHJ1Y3QsIGxp
ZmV0aW1lIHVudGlsIG5leHQgY2FsbCB0byBsZXgKLSAqLwotc3RhdGljIHN0cnVjdCB0b2sgKgot
bGV4aWRlbnRpZmllcihjb25zdCBjaGFyICpzdGFydCkKLXsKLSAgICBjb25zdCBjaGFyICpwID0g
c3RhcnQgKyAxOwotICAgIGZvciAoOzspIHsKLSAgICAgICAgaW50IGNoID0gKnA7Ci0gICAgICAg
IGlmIChjaCAhPSAnXycgJiYgKHVuc2lnbmVkKShjaCAtICcwJykgPj0gMTAKLSAgICAgICAgICAg
ICAgICAmJiAodW5zaWduZWQpKChjaCAmIH4weDIwKSAtICdBJykgPiAnWicgLSAnQScpCi0gICAg
ICAgIHsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0gICAgICAgIHArKzsKLSAgICB9
Ci0gICAgdG9rLnR5cGUgPSBUT0tfSURFTlRJRklFUjsKLSAgICB0b2suc3RhcnQgPSBzdGFydDsK
LSAgICB0b2subGVuID0gcCAtIHN0YXJ0OwotICAgIHRvay5maWxlbmFtZSA9IGZpbGUtPmZpbGVu
YW1lOwotICAgIHRvay5saW5lbnVtID0gZmlsZS0+bGluZW51bTsKLSAgICBmaWxlLT5wb3MgPSBw
OwotICAgIC8qIFNlZSBpZiB0aGlzIGlzIGEga2V5d29yZC4gKFRoaXMgc2VhcmNoIGlzIGEgYml0
IG4tc3F1YXJlZC4pICovCi0gICAgewotICAgICAgICB1bnNpZ25lZCBpbnQgdHlwZSA9IFRPS19E
T01TdHJpbmc7Ci0gICAgICAgIHAgPSBrZXl3b3JkczsKLSAgICAgICAgZm9yICg7OykgewotICAg
ICAgICAgICAgdW5zaWduZWQgaW50IGxlbiA9IHN0cmxlbihwKTsKLSAgICAgICAgICAgIGlmICgh
bGVuKQotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgaWYgKGxlbiA9PSB0b2su
bGVuICYmICFtZW1jbXAoc3RhcnQsIHAsIGxlbikpIHsKLSAgICAgICAgICAgICAgICB0b2sudHlw
ZSA9IHR5cGU7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICB9Ci0gICAgICAg
ICAgICBwICs9IGxlbiArIDE7Ci0gICAgICAgICAgICB0eXBlKys7Ci0gICAgICAgIH0KLSAgICB9
Ci0gICAgcmV0dXJuICZ0b2s7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogbGV4IDogcmV0cmll
dmUgbmV4dCB0b2tlbgotICoKLSAqIFJldHVybjogIHRvayBzdHJ1Y3QsIGxpZmV0aW1lIHVudGls
IG5leHQgY2FsbCB0byBsZXgKLSAqLwotc3RydWN0IHRvayAqCi1sZXgodm9pZCkKLXsKLSAgICBj
b25zdCBjaGFyICpwOwotICAgIGludCBjaDsKLSAgICBmb3IgKDs7KSB7Ci0gICAgICAgIGlmICgh
ZmlsZSkgewotICAgICAgICAgICAgdG9rLnR5cGUgPSBUT0tfRU9GOwotICAgICAgICAgICAgdG9r
LnN0YXJ0ID0gImVuZCBvZiBmaWxlIjsKLSAgICAgICAgICAgIHRvay5sZW4gPSBzdHJsZW4odG9r
LnN0YXJ0KTsKLSAgICAgICAgICAgIHJldHVybiAmdG9rOwotICAgICAgICB9Ci0gICAgICAgIHRv
ay5wcmVzdGFydCA9IHAgPSBmaWxlLT5wb3M7Ci0gICAgICAgIC8qIEZsdXNoIHdoaXRlc3BhY2Uu
ICovCi0gICAgICAgIGZvciAoOzspIHsKLSAgICAgICAgICAgIGNoID0gKnArKzsKLSAgICAgICAg
ICAgIHN3aXRjaCAoY2gpIHsKLSAgICAgICAgICAgIGNhc2UgJyAnOgotICAgICAgICAgICAgY2Fz
ZSAnXHQnOgotICAgICAgICAgICAgY2FzZSAnXHInOgotICAgICAgICAgICAgICAgIGNvbnRpbnVl
OwotICAgICAgICAgICAgY2FzZSAnXG4nOgotICAgICAgICAgICAgICAgICsrZmlsZS0+bGluZW51
bTsKLSAgICAgICAgICAgICAgICB0b2sucHJlc3RhcnQgPSBwOwotICAgICAgICAgICAgICAgIGNv
bnRpbnVlOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLSAg
ICAgICAgcC0tOwotICAgICAgICBpZiAoY2gpCi0gICAgICAgICAgICBicmVhazsKLSAgICAgICAg
aWYgKHAgIT0gZmlsZS0+ZW5kKQotICAgICAgICAgICAgbGV4ZXJyb3JleGl0KCJcXDAgYnl0ZSBu
b3QgYWxsb3dlZCIpOwotICAgICAgICBmaWxlID0gZmlsZS0+bmV4dDsKLSAgICB9Ci0gICAgLyog
U2VlIGlmIHdlIGhhdmUgYSBjb21tZW50LiAqLwotICAgIHRvay5zdGFydCA9IHA7Ci0gICAgaWYg
KGNoID09ICcvJykgewotICAgICAgICBzd2l0Y2ggKCorK3ApIHsKLSAgICAgICAgY2FzZSAnKic6
Ci0gICAgICAgICAgICByZXR1cm4gbGV4YmxvY2tjb21tZW50KHAgLSAxKTsKLSAgICAgICAgY2Fz
ZSAnLyc6Ci0gICAgICAgICAgICByZXR1cm4gbGV4aW5saW5lY29tbWVudChwIC0gMSk7Ci0gICAg
ICAgIH0KLSAgICAgICAgdG9rLnR5cGUgPSAnLyc7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgLyog
SGFuZGxlIHRoaW5ncyB0aGF0IHN0YXJ0IHdpdGggJy0nLCB3aGljaCBpcyBlaXRoZXIgJy0nIGFz
IGEgdG9rZW4sCi0gICAgICAgICAqIG9yIGEgbnVtYmVyLiBIYW5kbGUgbnVtYmVycy4gKi8KLSAg
ICAgICAgaWYgKGNoID09ICctJyB8fCAodW5zaWduZWQpKGNoIC0gJzAnKSA8IDEwKQotICAgICAg
ICAgICAgcmV0dXJuIGxleG51bWJlcihwKTsKLSAgICAgICAgLyogSGFuZGxlIHN0cmluZy4gKi8K
LSAgICAgICAgaWYgKGNoID09ICciJykKLSAgICAgICAgICAgIHJldHVybiBsZXhzdHJpbmcocCk7
Ci0gICAgICAgIC8qIEhhbmRsZSBpZGVudGlmaWVyLiAqLwotICAgICAgICBpZiAoY2ggPT0gJ18n
IHx8ICh1bnNpZ25lZCkoKGNoICYgfjB4MjApIC0gJ0EnKSA8PSAnWicgLSAnQScpCi0gICAgICAg
ICAgICByZXR1cm4gbGV4aWRlbnRpZmllcihwKTsKLSAgICAgICAgLyogVGhlIG9ubHkgbXVsdGkt
c3ltYm9sIHRva2VuIGFyZSAuLi4gYW5kIFtdICovCi0gICAgICAgIGlmIChjaCA9PSAnLicpIHsK
LSAgICAgICAgICAgIHRvay50eXBlID0gJy4nOwotICAgICAgICAgICAgaWYgKCorK3AgPT0gJy4n
ICYmIHBbMV0gPT0gJy4nKSB7Ci0gICAgICAgICAgICAgICAgdG9rLnR5cGUgPSBUT0tfRUxMSVBT
SVM7Ci0gICAgICAgICAgICAgICAgcCArPSAyOwotICAgICAgICAgICAgfQotICAgICAgICAgICAg
Z290byBkb25lOwotICAgICAgICB9Ci0gICAgICAgIGlmIChjaCA9PSAnWycpIHsKLSAgICAgICAg
ICAgIHRvay50eXBlID0gJ1snOwotICAgICAgICAgICAgaWYgKCorK3AgPT0gJ10nKSB7Ci0gICAg
ICAgICAgICAgICAgdG9rLnR5cGUgPSBUT0tfRE9VQkxFQlJBQ0tFVDsKLSAgICAgICAgICAgICAg
ICBwKys7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBnb3RvIGRvbmU7Ci0gICAgICAgIH0K
LSAgICB9Ci0gICAgLyogU2luZ2xlIHN5bWJvbCB0b2tlbi4gKi8KLSAgICB0b2sudHlwZSA9IGNo
OwotICAgIHArKzsKLWRvbmU6Ci0gICAgdG9rLmZpbGVuYW1lID0gZmlsZS0+ZmlsZW5hbWU7Ci0g
ICAgdG9rLmxpbmVudW0gPSBmaWxlLT5saW5lbnVtOwotICAgIHRvay5sZW4gPSBwIC0gdG9rLnN0
YXJ0OwotICAgIGZpbGUtPnBvcyA9IHA7Ci0gICAgcmV0dXJuICZ0b2s7Ci19Ci0KLS8qKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKgotICogb3V0cHV0d2lkbCA6IG91dHB1dCBsaXRlcmFsIFdlYiBJREwgaW5wdXQgdGhh
dCBub2RlIHdhcyBwYXJzZWQgZnJvbQotICoKLSAqIEVudGVyOiAgIG5vZGUgPSBwYXJzZSBub2Rl
IHRvIG91dHB1dCBsaXRlcmFsIFdlYiBJREwgZm9yCi0gKi8KLXZvaWQKLW91dHB1dHdpZGwoc3Ry
dWN0IG5vZGUgKm5vZGUpCi17Ci0gICAgY29uc3QgY2hhciAqc3RhcnQgPSBub2RlLT53c3N0YXJ0
LCAqZW5kID0gbm9kZS0+ZW5kOwotICAgIC8qIEZpbmQgdGhlIGZpbGUgdGhhdCBzdGFydCBpcyBp
bi4gKi8KLSAgICBzdHJ1Y3QgZmlsZSAqZmlsZSA9IGZpcnN0ZmlsZTsKLSAgICB3aGlsZSAoc3Rh
cnQgPCBmaWxlLT5idWYgfHwgc3RhcnQgPj0gZmlsZS0+ZW5kKSB7Ci0gICAgICAgIGZpbGUgPSBm
aWxlLT5uZXh0OwotICAgICAgICBhc3NlcnQoZmlsZSk7Ci0gICAgfQotICAgIC8qIEZpbmQgdGhl
IChjdXJyZW50IG9yKSBuZXh0IG5vZGUgdGhhdCBoYXMgbm9kZS0+c3RhcnQgc2V0LiBBbnkgc3Vj
aAotICAgICAqIG5vZGUgbmVlZHMgdG8gYmUgcHV0IGluc2lkZSBhIDxyZWY+IGVsZW1lbnQuICov
Ci0gICAgd2hpbGUgKG5vZGUgJiYgIW5vZGUtPnN0YXJ0KQotICAgICAgICBub2RlID0gbm9kZXdh
bGsobm9kZSk7Ci0gICAgLyogT3V0cHV0IHVudGlsIHdlIGdldCB0byB0aGUgZW5kLiBUaGlzIGhh
cyB0byBjb3BlIHdpdGggdGhlIHRleHQKLSAgICAgKiBzcGFubmluZyBtdWx0aXBsZSBpbnB1dCBm
aWxlcy4gKi8KLSAgICBmb3IgKDs7KSB7Ci0gICAgICAgIGludCBmaW5hbCA9IGVuZCA+PSBmaWxl
LT5idWYgJiYgZW5kIDw9IGZpbGUtPmVuZDsKLSAgICAgICAgY29uc3QgY2hhciAqdGhpc2VuZCA9
IGZpbmFsID8gZW5kIDogZmlsZS0+ZW5kOwotICAgICAgICAvKiBPdXRwdXQgdGhlIFdlYiBJREws
IG9taXR0aW5nIGNvbW1lbnRzLiAqLwotICAgICAgICB3aGlsZSAoc3RhcnQgIT0gZW5kKSB7Ci0g
ICAgICAgICAgICBjb25zdCBjaGFyICpwLCAqcDIsICpjb21tZW50LCAqZW5kY29tbWVudDsKLSAg
ICAgICAgICAgIGludCBjaDsKLSAgICAgICAgICAgIGlmIChub2RlICYmIHN0YXJ0ID09IG5vZGUt
PnN0YXJ0KSB7Ci0gICAgICAgICAgICAgICAgLyogV2UgYXJlIG9uIHRoZSBzdGFydCBvZiB0aGUg
cHJlc2VudCBub2RlIGluIHRoZSB0cmVlCi0gICAgICAgICAgICAgICAgICogd2Fsay4gUHV0IGl0
IGluIGEgPHJlZj4uICovCi0gICAgICAgICAgICAgICAgZnB1dHMoIjxyZWY+Iiwgc3Rkb3V0KTsK
LSAgICAgICAgICAgICAgICBwcmludHRleHQobm9kZS0+c3RhcnQsIG5vZGUtPmVuZCAtIG5vZGUt
PnN0YXJ0LCAxKTsKLSAgICAgICAgICAgICAgICBmcHV0cygiPC9yZWY+Iiwgc3Rkb3V0KTsKLSAg
ICAgICAgICAgICAgICBzdGFydCA9IG5vZGUtPmVuZDsKLSAgICAgICAgICAgICAgICAvKiBTa2lw
IHRvIHRoZSBuZXh0IG5vZGUgd2l0aCBub2RlLT5zdGFydCBzZXQgaWYgYW55LiAqLwotICAgICAg
ICAgICAgICAgIGRvCi0gICAgICAgICAgICAgICAgICAgIG5vZGUgPSBub2Rld2Fsayhub2RlKTsK
LSAgICAgICAgICAgICAgICB3aGlsZSAobm9kZSAmJiAhbm9kZS0+c3RhcnQpOwotICAgICAgICAg
ICAgICAgIGNvbnRpbnVlOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgcDIgPSB0aGlzZW5k
OwotICAgICAgICAgICAgaWYgKG5vZGUgJiYgbm9kZS0+c3RhcnQgPj0gZmlsZS0+YnVmICYmIG5v
ZGUtPnN0YXJ0IDwgcDIpCi0gICAgICAgICAgICAgICAgcDIgPSBub2RlLT5zdGFydDsKLSAgICAg
ICAgICAgIHAgPSBtZW1jaHIoc3RhcnQsICcvJywgcDIgLSBzdGFydCk7Ci0gICAgICAgICAgICBp
ZiAoIXApIHsKLSAgICAgICAgICAgICAgICBwcmludHRleHQoc3RhcnQsIHAyIC0gc3RhcnQsIDEp
OwotICAgICAgICAgICAgICAgIGlmIChwMiAhPSB0aGlzZW5kKSB7Ci0gICAgICAgICAgICAgICAg
ICAgIHN0YXJ0ID0gcDI7Ci0gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAg
ICAgICAgIH0KLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIH0KLSAgICAgICAg
ICAgIC8qIFNlZSBpZiB3ZSdyZSBhdCB0aGUgc3RhcnQgb2YgYSBjb21tZW50LiBJZiBzbyBmaW5k
IHRoZSBlbmQuICovCi0gICAgICAgICAgICBjb21tZW50ID0gMDsKLSAgICAgICAgICAgIGlmIChw
ICsgMSAhPSB0aGlzZW5kKSB7Ci0gICAgICAgICAgICAgICAgc3dpdGNoIChwWzFdKSB7Ci0gICAg
ICAgICAgICAgICAgY2FzZSAnKic6Ci0gICAgICAgICAgICAgICAgICAgIC8qIEJsb2NrIGNvbW1l
bnQuICovCi0gICAgICAgICAgICAgICAgICAgIGNvbW1lbnQgPSBwOwotICAgICAgICAgICAgICAg
ICAgICBwKys7Ci0gICAgICAgICAgICAgICAgICAgIGRvIAotICAgICAgICAgICAgICAgICAgICAg
ICAgcCA9IG1lbWNocihwICsgMSwgJyonLCB0aGlzZW5kIC0gcCAtIDEpOwotICAgICAgICAgICAg
ICAgICAgICB3aGlsZSAocFsxXSAhPSAnLycpOwotICAgICAgICAgICAgICAgICAgICBlbmRjb21t
ZW50ID0gcCArIDI7Ci0gICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgICAg
IGNhc2UgJy8nOgotICAgICAgICAgICAgICAgICAgICAvKiBJbmxpbmUgY29tbWVudC4gKi8KLSAg
ICAgICAgICAgICAgICAgICAgY29tbWVudCA9IHA7Ci0gICAgICAgICAgICAgICAgICAgIHAgPSBt
ZW1jaHIocCwgJ1xuJywgdGhpc2VuZCAtIHApOwotICAgICAgICAgICAgICAgICAgICBpZiAoIXAp
Ci0gICAgICAgICAgICAgICAgICAgICAgICBwID0gdGhpc2VuZDsKLSAgICAgICAgICAgICAgICAg
ICAgZW5kY29tbWVudCA9IHA7Ci0gICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAg
ICAgICAgIH0KLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGlmICghY29tbWVudCkgewotICAg
ICAgICAgICAgICAgIC8qIE5vdCBhdCBzdGFydCBvZiBjb21tZW50LiAqLwotICAgICAgICAgICAg
ICAgIHArKzsKLSAgICAgICAgICAgICAgICBwcmludHRleHQoc3RhcnQsIHAgLSBzdGFydCwgMSk7
Ci0gICAgICAgICAgICAgICAgc3RhcnQgPSBwOwotICAgICAgICAgICAgICAgIGFzc2VydChzdGFy
dCA8PSBlbmQpOwotICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAgICAgfQotICAg
ICAgICAgICAgLyogSWYgdGhlIGNvbW1lbnQgaGFzIG9ubHkgd2hpdGVzcGFjZSBiZWZvcmUgaXQg
b24gdGhlIGxpbmUsCi0gICAgICAgICAgICAgKiBlYXQgdGhhdCB1cC4gKi8KLSAgICAgICAgICAg
IHAgPSBjb21tZW50OwotICAgICAgICAgICAgd2hpbGUgKHAgIT0gc3RhcnQgJiYgKChjaCA9IHBb
LTFdKSA9PSAnICcgfHwgY2ggPT0gJ1x0JykpCi0gICAgICAgICAgICAgICAgcC0tOwotICAgICAg
ICAgICAgaWYgKHAgPT0gc3RhcnQgfHwgcFstMV0gPT0gJ1xuJykgewotICAgICAgICAgICAgICAg
IGNvbW1lbnQgPSBwOwotICAgICAgICAgICAgICAgIC8qIElmIHRoZSBjb21tZW50IGhhcyBvbmx5
IHdoaXRlc3BhY2UgYWZ0ZXIgaXQgdG8gdGhlIGVuZAotICAgICAgICAgICAgICAgICAqIG9mIHRo
ZSBsaW5lLCBlYXQgdGhhdCBhbmQgdGhlIG5ld2xpbmUgdXAuIFRoaXMgYWx3YXlzCi0gICAgICAg
ICAgICAgICAgICogaGFwcGVucyBmb3IgYW4gaW5saW5lIGNvbW1lbnQgb24gYSBsaW5lIGJ5IGl0
c2VsZi4gKi8KLSAgICAgICAgICAgICAgICBwID0gZW5kY29tbWVudDsKLSAgICAgICAgICAgICAg
ICB3aGlsZSAocCAhPSB0aGlzZW5kICYmICgoY2ggPSAqcCkgPT0gJyAnIHx8IGNoID09ICdcdCcp
KQotICAgICAgICAgICAgICAgICAgICBwKys7Ci0gICAgICAgICAgICAgICAgaWYgKHAgIT0gdGhp
c2VuZCAmJiAqcCA9PSAnXG4nKQotICAgICAgICAgICAgICAgICAgICBwKys7Ci0gICAgICAgICAg
ICAgICAgZW5kY29tbWVudCA9IHA7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBwcmludHRl
eHQoc3RhcnQsIGNvbW1lbnQgLSBzdGFydCwgMSk7Ci0gICAgICAgICAgICBzdGFydCA9IGVuZGNv
bW1lbnQ7Ci0gICAgICAgICAgICBpZiAoc3RhcnQgPiB0aGlzZW5kKQotICAgICAgICAgICAgICAg
IHN0YXJ0ID0gdGhpc2VuZDsKLSAgICAgICAgfQotICAgICAgICBpZiAoZmluYWwpCi0gICAgICAg
ICAgICBicmVhazsKLSAgICAgICAgZmlsZSA9IGZpbGUtPm5leHQ7Ci0gICAgICAgIGFzc2VydChm
aWxlKTsKLSAgICAgICAgc3RhcnQgPSBmaWxlLT5idWY7Ci0gICAgfQotfQpJbmRleDogTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3dpZGxwcm9jL3NyYy9sZXguaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mv
c3JjL2xleC5oCShyZXZpc2lvbiAyNTI4OTYpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mvc3JjL2xl
eC5oCShub25leGlzdGVudCkKQEAgLTEsMTQxICswLDAgQEAKLQotLyoqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0g
KiAkSWQkCi0gKiBDb3B5cmlnaHQgMjAwOSBBcGxpeCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KLSAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAy
LjAgKHRoZSAiTGljZW5zZSIpOwotICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQg
aW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgotICogWW91IG1heSBvYnRhaW4gYSBjb3B5
IG9mIHRoZSBMaWNlbnNlIGF0Ci0gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2Vz
L0xJQ0VOU0UtMi4wCi0gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdy
ZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCi0gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGlj
ZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAotICogV0lUSE9VVCBXQVJS
QU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxp
ZWQuCi0gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5p
bmcgcGVybWlzc2lvbnMgYW5kCi0gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KLSAq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKi8KLSNpZm5kZWYgbGV4X2gKLSNkZWZpbmUgbGV4X2gKLQotLy8gc3RhcnRp
bmcgZnJvbSAiYXR0cmlidXRlIiBhcmUgdGhlIGxpc3Qgb2YgbmFtZXMgYWxsb3dlZCBhcyBhcmd1
bWVudHMgaWRlbnRpZmllcgotI2RlZmluZSBLRVlXT1JEUyBcCi0gICAgIkRPTVN0cmluZ1wwIiBc
Ci0gICAgIkJ5dGVTdHJpbmdcMCIgXAotICAgICJEYXRlXDAiIFwKLSAgICAiUmVnRXhwXDAiIFwK
LSAgICAiZmFsc2VcMCIgXAotICAgICJvYmplY3RcMCIgXAotICAgICJ0cnVlXDAiIFwKLSAgICAi
YW55XDAiIFwKLSAgICAiYm9vbGVhblwwIiBcCi0gICAgImJ5dGVcMCIgXAotICAgICJkb3VibGVc
MCIgXAotICAgICJmbG9hdFwwIiBcCi0gICAgIkluZmluaXR5XDAiIFwKLSAgICAiLUluZmluaXR5
XDAiIFwKLSAgICAiaXRlcmF0b3JcMCIgXAotICAgICJsb25nXDAiIFwKLSAgICAiTmFOXDAiIFwK
LSAgICAibnVsbFwwIiBcCi0gICAgIm9jdGV0XDAiIFwKLSAgICAib3B0aW9uYWxcMCIgXAotICAg
ICJvclwwIiBcCi0gICAgInJlYWRvbmx5XDAiIFwKLSAgICAic2VxdWVuY2VcMCIgXAotICAgICJz
aG9ydFwwIiBcCi0gICAgInVuc2lnbmVkXDAiIFwKLSAgICAidm9pZFwwIiBcCi0gICAgImF0dHJp
YnV0ZVwwIiBcCi0gICAgImNhbGxiYWNrXDAiIFwKLSAgICAiY29uc3RcMCIgXAotICAgICJjcmVh
dG9yXDAiIFwKLSAgICAiZGVsZXRlclwwIiBcCi0gICAgImRpY3Rpb25hcnlcMCIgXAotICAgICJl
bnVtXDAiIFwKLSAgICAiZXhjZXB0aW9uXDAiIFwKLSAgICAiZ2V0dGVyXDAiIFwKLSAgICAiaW1w
bGVtZW50c1wwIiBcCi0gICAgImluaGVyaXRcMCIgXAotICAgICJpbnRlcmZhY2VcMCIgXAotICAg
ICJsZWdhY3ljYWxsZXJcMCIgXAotICAgICJwYXJ0aWFsXDAiIFwKLSAgICAic2VyaWFsaXplclww
IiBcCi0gICAgInNldHRlclwwIiBcCi0gICAgInN0YXRpY1wwIiBcCi0gICAgInN0cmluZ2lmaWVy
XDAiIFwKLSAgICAidHlwZWRlZlwwIiBcCi0gICAgInVucmVzdHJpY3RlZFwwIgotCi0KLWVudW0g
dG9rdHlwZSB7Ci0gICAgVE9LX0VPRiA9IC0xLAotICAgIFRPS19CTE9DS0NPTU1FTlQgPSAweDgw
LAotICAgIFRPS19JTkxJTkVDT01NRU5ULCBUT0tfSU5URUdFUiwgVE9LX0ZMT0FULCBUT0tfSURF
TlRJRklFUiwKLSAgICBUT0tfU1RSSU5HLCBUT0tfRUxMSVBTSVMsIFRPS19ET1VCTEVCUkFDS0VU
LAotICAgIC8qIEtleXdvcmRzIG11c3QgYmUgaW4gdGhlIHNhbWUgb3JkZXIgYXMgYWJvdmUuICov
Ci0gICAgVE9LX0RPTVN0cmluZywKLSAgICBUT0tfQnl0ZVN0cmluZywKLSAgICBUT0tfRGF0ZSwK
LSAgICBUT0tfUmVnRXhwLAotICAgIFRPS19mYWxzZSwKLSAgICBUT0tfb2JqZWN0LAotICAgIFRP
S190cnVlLAotICAgIFRPS19hbnksCi0gICAgVE9LX2Jvb2xlYW4sCi0gICAgVE9LX2J5dGUsCi0g
ICAgVE9LX2RvdWJsZSwKLSAgICBUT0tfZmxvYXQsCi0gICAgVE9LX2luZmluaXR5LAotICAgIFRP
S19taW51c2luZmluaXR5LAotICAgIFRPS19pdGVyYXRvciwKLSAgICBUT0tfbG9uZywKLSAgICBU
T0tfTmFOLAotICAgIFRPS19udWxsLAotICAgIFRPS19vY3RldCwKLSAgICBUT0tfb3B0aW9uYWws
Ci0gICAgVE9LX29yLAotICAgIFRPS19yZWFkb25seSwKLSAgICBUT0tfc2VxdWVuY2UsCi0gICAg
VE9LX3Nob3J0LAotICAgIFRPS191bnNpZ25lZCwKLSAgICBUT0tfdm9pZCwKLSAgICAvKiBCZWxv
dyB0aGF0IGxpbmUgYXJlIGtleXdvcmRzIHRoYXQgYXJlIGFsbG93ZWQgYXMgYXJndW1lbnRzIG5h
bWVzICovCi0gICAgVE9LX2F0dHJpYnV0ZSwKLSAgICBUT0tfY2FsbGJhY2ssCi0gICAgVE9LX2Nv
bnN0LAotICAgIFRPS19jcmVhdG9yLAotICAgIFRPS19kZWxldGVyLAotICAgIFRPS19kaWN0aW9u
YXJ5LAotICAgIFRPS19lbnVtLAotICAgIFRPS19leGNlcHRpb24sCi0gICAgVE9LX2dldHRlciwK
LSAgICBUT0tfaW1wbGVtZW50cywKLSAgICBUT0tfaW5oZXJpdCwKLSAgICBUT0tfaW50ZXJmYWNl
LAotICAgIFRPS19sZWdhY3ljYWxsZXIsCi0gICAgVE9LX3BhcnRpYWwsCi0gICAgVE9LX3Nlcmlh
bGl6ZXIsCi0gICAgVE9LX3NldHRlciwKLSAgICBUT0tfc3RhdGljLAotICAgIFRPS19zdHJpbmdp
ZmllciwKLSAgICBUT0tfdHlwZWRlZiwKLSAgICBUT0tfdW5yZXN0cmljdGVkLAotfTsKLQotc3Ry
dWN0IHRvayB7Ci0gICAgZW51bSB0b2t0eXBlIHR5cGU7Ci0gICAgY29uc3QgY2hhciAqZmlsZW5h
bWU7Ci0gICAgdW5zaWduZWQgaW50IGxpbmVudW07Ci0gICAgY29uc3QgY2hhciAqcHJlc3RhcnQ7
Ci0gICAgY29uc3QgY2hhciAqc3RhcnQ7Ci0gICAgdW5zaWduZWQgaW50IGxlbjsKLX07Ci0KLWV4
dGVybiBjb25zdCBjaGFyICpmaWxlbmFtZTsKLWV4dGVybiBjb25zdCBjaGFyIGtleXdvcmRzW107
Ci0KLXN0cnVjdCBub2RlOwotCi12b2lkIHJlYWRpbnB1dChjb25zdCBjaGFyICpjb25zdCAqYXJn
dik7Ci1zdHJ1Y3QgdG9rICpsZXgodm9pZCk7Ci12b2lkIG91dHB1dHdpZGwoc3RydWN0IG5vZGUg
Km5vZGUpOwotCi0jZW5kaWYgLyogbmRlZiBsZXhfaCAqLwpJbmRleDogTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxw
cm9jL3NyYy9tYWluLmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3NyYy9tYWlu
LmMJKHJldmlzaW9uIDI1Mjg5NikKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9zcmMvbWFpbi5jCShu
b25leGlzdGVudCkKQEAgLTEsNjMgKzAsMCBAQAotLyoqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiAkSWQkCi0g
KiBDb3B5cmlnaHQgMjAwOSBBcGxpeCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
LSAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAi
TGljZW5zZSIpOwotICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxp
YW5jZSB3aXRoIHRoZSBMaWNlbnNlLgotICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBM
aWNlbnNlIGF0Ci0gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0Ut
Mi4wCi0gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGlu
IHdyaXRpbmcsIHNvZnR3YXJlCi0gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBk
aXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAotICogV0lUSE9VVCBXQVJSQU5USUVTIE9S
IENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCi0gKiBT
ZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlz
c2lvbnMgYW5kCi0gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KLSAqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKi8KLSNpbmNsdWRlIDxzdHJpbmcuaD4KLSNpbmNsdWRlICJtaXNjLmgiCi0jaW5jbHVkZSAi
cHJvY2Vzcy5oIgotCi1zdGF0aWMgY29uc3QgY2hhciBub2R0ZG9wdFtdID0gIi1uby1kdGQtcmVm
IjsKLWNvbnN0IGNoYXIgKnByb2duYW1lOwotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIG9wdGlvbnMg
OiBwcm9jZXNzIGNvbW1hbmQgbGluZSBvcHRpb25zCi0gKgotICogRW50ZXI6ICAgYXJndgotICoK
LSAqIFJldHVybjogIGFyZ3Ygc3RlcHBlZCB0byBwb2ludCB0byBmaXJzdCBub24tb3B0aW9uIGFy
Z3VtZW50Ci0gKi8KLXN0YXRpYyBjb25zdCBjaGFyICpjb25zdCAqCi1vcHRpb25zKGludCBhcmdj
LCBjb25zdCBjaGFyICpjb25zdCAqYXJndikKLXsKLSAgICAvKiBTZXQgcHJvZ25hbWUgZm9yIGVy
cm9yIG1lc3NhZ2VzIGV0Yy4gKi8KLSAgICB7Ci0gICAgICAgIGNvbnN0IGNoYXIgKmJhc2U7Ci0g
ICAgICAgIHByb2duYW1lID0gYXJndlswXTsKLSAgICAgICAgYmFzZSA9IHN0cnJjaHIocHJvZ25h
bWUsICcvJyk7Ci0jaWZkZWYgRElSU0VQCi0gICAgICAgIHsKLSAgICAgICAgICAgIGNvbnN0IGNo
YXIgKmJhc2UyID0gc3RycmNocihiYXNlLCAnXFwnKTsKLSAgICAgICAgICAgIGlmIChiYXNlMiA+
IGJhc2UpCi0gICAgICAgICAgICAgICAgYmFzZSA9IGJhc2UyOwotICAgICAgICB9Ci0jZW5kaWYg
LyogZGVmIERJUlNFUCAqLwotICAgICAgICBpZiAoYmFzZSkKLSAgICAgICAgICAgIHByb2duYW1l
ID0gYmFzZSArIDE7Ci0gICAgfQotICAgIHJldHVybiAoYXJnYyA+IDEgJiYgc3RybmNtcChhcmd2
WzFdLCBub2R0ZG9wdCwgc2l6ZW9mIG5vZHRkb3B0KSA9PSAwKQotICAgICAgICAgID8gYXJndiAr
IDIgOiBhcmd2ICsgMTsKLX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBtYWluIDogbWFpbiBjb2Rl
IGZvciBib25kaWlkbCBjb21tYW5kCi0gKi8KLWludAotbWFpbihpbnQgYXJnYywgY2hhciAqKmFy
Z3YpCi17Ci0gICAgY29uc3QgY2hhciAqY29uc3QgKnBhcmc7Ci0gICAgcGFyZyA9IG9wdGlvbnMo
YXJnYywgKGNvbnN0IGNoYXIgKmNvbnN0ICopYXJndik7Ci0gICAgaWYgKCEqcGFyZykKLSAgICAg
ICAgZXJyb3JleGl0KCJ1c2FnZTogJXMgWy1uby1kdGQtcmVmXSA8aW50ZXJmYWNlPi53aWRsIC4u
LiIsIHByb2duYW1lKTsKLSAgICBwcm9jZXNzZmlsZXMocGFyZywgcGFyZyA9PSAoY29uc3QgY2hh
ciAqY29uc3QgKilhcmd2ICsgMSk7Ci0gICAgcmV0dXJuIDA7Ci19Ci0KSW5kZXg6IExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC93aWRscHJvYy9zcmMvbWlzYy5jCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9z
cmMvbWlzYy5jCShyZXZpc2lvbiAyNTI4OTYpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mvc3JjL21p
c2MuYwkobm9uZXhpc3RlbnQpCkBAIC0xLDExOSArMCwwIEBACi0vKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAq
ICRJZCQKLSAqIENvcHlyaWdodCAyMDA5IEFwbGl4IENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgotICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIu
MCAodGhlICJMaWNlbnNlIik7Ci0gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBp
biBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCi0gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkg
b2YgdGhlIExpY2Vuc2UgYXQKLSAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMv
TElDRU5TRS0yLjAKLSAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3Jl
ZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKLSAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNl
bnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCi0gKiBXSVRIT1VUIFdBUlJB
TlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGll
ZC4KLSAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmlu
ZyBwZXJtaXNzaW9ucyBhbmQKLSAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgotICoq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqLwotI2luY2x1ZGUgPHN0ZGFyZy5oPgotI2luY2x1ZGUgPHN0ZGlvLmg+Ci0j
aW5jbHVkZSA8c3RkbGliLmg+Ci0jaW5jbHVkZSA8c3RyaW5nLmg+Ci0jaW5jbHVkZSAibWlzYy5o
IgotI2luY2x1ZGUgIm9zLmgiIC8qIHRvIGdldCB2YV9jb3B5IG9uIHdpbmRvd3MgKi8KLQotZXh0
ZXJuIGNvbnN0IGNoYXIgKnByb2duYW1lOwotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIG1lbW9yeSBh
bGxvY2F0aW9uIHdyYXBwZXJzCi0gKi8KLXZvaWQgKgotbWVtYWxsb2Moc2l6ZV90IHNpemUpCi17
Ci0gICAgdm9pZCAqcHRyID0gbWFsbG9jKHNpemUpOwotICAgIGlmICghcHRyKQotICAgICAgICBl
cnJvcmV4aXQoIm91dCBvZiBtZW1vcnkiKTsKLSAgICAvKiBaZXJvIGluaXRpYWxpc2UgbWVtb3J5
IGZyb20gbWVtYWxsb2MuICovCi0gICAgbWVtc2V0KHB0ciwgMCwgc2l6ZSk7Ci0gICAgcmV0dXJu
IHB0cjsKLX0KLQotdm9pZCAqCi1tZW1yZWFsbG9jKHZvaWQgKnB0ciwgc2l6ZV90IHNpemUpCi17
Ci0gICAgdm9pZCAqbmV3cHRyID0gcmVhbGxvYyhwdHIsIHNpemUpOwotICAgIGlmICghbmV3cHRy
KQotICAgICAgICBlcnJvcmV4aXQoIm91dCBvZiBtZW1vcnkiKTsKLSAgICByZXR1cm4gbmV3cHRy
OwotfQotCi12b2lkCi1tZW1mcmVlKHZvaWQgKnB0cikKLXsKLSAgICAqKGludCAqKXB0ciA9IDB4
ZmVmZWZlZmU7Ci0gICAgZnJlZShwdHIpOwotfQotCi0vKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIHZtZW1w
cmludGYsIG1lbXByaW50ZiA6IGFsbG9jYXRlIGJ1ZmZlciBhbmQgc3ByaW50ZiBpbnRvIGl0Ci0g
Ki8KLWNoYXIgKgotbWVtcHJpbnRmKGNvbnN0IGNoYXIgKmZvcm1hdCwgLi4uKQotewotICAgIHZh
X2xpc3QgYXA7Ci0gICAgY2hhciAqYnVmOwotICAgIHZhX3N0YXJ0KGFwLCBmb3JtYXQpOwotICAg
IGJ1ZiA9IHZtZW1wcmludGYoZm9ybWF0LCBhcCk7Ci0gICAgdmFfZW5kKGFwKTsKLSAgICByZXR1
cm4gYnVmOwotfQotCi1jaGFyICoKLXZtZW1wcmludGYoY29uc3QgY2hhciAqZm9ybWF0LCB2YV9s
aXN0IGFwKQotewotICAgIGNoYXIgKmJ1ZjsKLSAgICB1bnNpZ25lZCBpbnQgbWF4LCBsZW47Ci0g
ICAgdmFfbGlzdCBhcDI7Ci0gICAgbWF4ID0gMTY7Ci0gICAgZm9yICg7OykgewotICAgICAgICB2
YV9jb3B5KGFwMiwgYXApOwotICAgICAgICBidWYgPSBtZW1hbGxvYyhtYXgpOwotICAgICAgICBs
ZW4gPSB2c25wcmludGYoYnVmLCBtYXgsIGZvcm1hdCwgYXAyKTsKLSAgICAgICAgdmFfZW5kKGFw
Mik7Ci0gICAgICAgIGlmIChsZW4gPCBtYXgpCi0gICAgICAgICAgICBicmVhazsKLSAgICAgICAg
bWVtZnJlZShidWYpOwotICAgICAgICBtYXggKj0gMjsKLSAgICB9Ci0gICAgcmV0dXJuIGJ1ZjsK
LX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqCi0gKiBlcnJvcmV4aXQgOiBwcmludCBlcnJvciBtZXNzYWdl
IHRoZW4gZXhpdAotICovCi12b2lkCi12bG9jZXJyb3JleGl0KGNvbnN0IGNoYXIgKmZpbGVuYW1l
LCB1bnNpZ25lZCBpbnQgbGluZW51bSwKLSAgICAgICAgY29uc3QgY2hhciAqZm9ybWF0LCB2YV9s
aXN0IGFwKQotewotICAgIGlmIChmaWxlbmFtZSkKLSAgICAgICAgZnByaW50ZihzdGRlcnIsIGxp
bmVudW0gPyAiJXM6ICVpOiAiIDogIiVzOiAiLCBmaWxlbmFtZSwgbGluZW51bSk7Ci0gICAgdmZw
cmludGYoc3RkZXJyLCBmb3JtYXQsIGFwKTsKLSAgICBmcHV0YygnXG4nLCBzdGRlcnIpOwotICAg
IGV4aXQoMSk7Ci19Ci0KLXZvaWQKLWxvY2Vycm9yZXhpdChjb25zdCBjaGFyICpmaWxlbmFtZSwg
dW5zaWduZWQgaW50IGxpbmVudW0sCi0gICAgICAgIGNvbnN0IGNoYXIgKmZvcm1hdCwgLi4uKQot
ewotICAgIHZhX2xpc3QgYXA7Ci0gICAgdmFfc3RhcnQoYXAsIGZvcm1hdCk7Ci0gICAgdmxvY2Vy
cm9yZXhpdChmaWxlbmFtZSwgbGluZW51bSwgZm9ybWF0LCBhcCk7Ci0gICAgdmFfZW5kKGFwKTsK
LX0KLQotdm9pZAotZXJyb3JleGl0KGNvbnN0IGNoYXIgKmZvcm1hdCwgLi4uKQotewotICAgIHZh
X2xpc3QgYXA7Ci0gICAgdmFfc3RhcnQoYXAsIGZvcm1hdCk7Ci0gICAgdmxvY2Vycm9yZXhpdCgw
LCAwLCBmb3JtYXQsIGFwKTsKLSAgICB2YV9lbmQoYXApOwotfQotCkluZGV4OiBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
d2lkbHByb2Mvc3JjL21pc2MuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mvc3Jj
L21pc2MuaAkocmV2aXNpb24gMjUyODk2KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3NyYy9taXNj
LmgJKG5vbmV4aXN0ZW50KQpAQCAtMSwzMSArMCwwIEBACi0vKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqICRJ
ZCQKLSAqIENvcHlyaWdodCAyMDA5IEFwbGl4IENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgotICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAo
dGhlICJMaWNlbnNlIik7Ci0gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBj
b21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCi0gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2Yg
dGhlIExpY2Vuc2UgYXQKLSAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElD
RU5TRS0yLjAKLSAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQg
dG8gaW4gd3JpdGluZywgc29mdHdhcmUKLSAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNl
IGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCi0gKiBXSVRIT1VUIFdBUlJBTlRJ
RVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4K
LSAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBw
ZXJtaXNzaW9ucyBhbmQKLSAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgotICoqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqLwotI2lmbmRlZiBtaXNjX2gKLSNkZWZpbmUgbWlzY19oCi0jaW5jbHVkZSA8c3Rk
YXJnLmg+Ci0jaW5jbHVkZSA8c3RkbGliLmg+Ci0KLXZvaWQgKm1lbWFsbG9jKHNpemVfdCBzaXpl
KTsKLXZvaWQgKm1lbXJlYWxsb2Modm9pZCAqcHRyLCBzaXplX3Qgc2l6ZSk7Ci12b2lkIG1lbWZy
ZWUodm9pZCAqcHRyKTsKLQotY2hhciAqdm1lbXByaW50Zihjb25zdCBjaGFyICpmb3JtYXQsIHZh
X2xpc3QgYXApOwotY2hhciAqbWVtcHJpbnRmKGNvbnN0IGNoYXIgKmZvcm1hdCwgLi4uKTsKLQot
dm9pZCB2bG9jZXJyb3JleGl0KGNvbnN0IGNoYXIgKmZpbGVuYW1lLCB1bnNpZ25lZCBpbnQgbGlu
ZW51bSwgY29uc3QgY2hhciAqZm9ybWF0LCB2YV9saXN0IGFwKTsKLXZvaWQgbG9jZXJyb3JleGl0
KGNvbnN0IGNoYXIgKmZpbGVuYW1lLCB1bnNpZ25lZCBpbnQgbGluZW51bSwgY29uc3QgY2hhciAq
Zm9ybWF0LCAuLi4pOwotdm9pZCBlcnJvcmV4aXQoY29uc3QgY2hhciAqZm9ybWF0LCAuLi4pOwot
Ci0jZW5kaWYgLyogbmRlZiBtaXNjX2ggKi8KLQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Ny
Yy9ub2RlLmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3NyYy9ub2RlLmMJKHJl
dmlzaW9uIDI1Mjg5NikKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9zcmMvbm9kZS5jCShub25leGlz
dGVudCkKQEAgLTEsMzMxICswLDAgQEAKLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogJElkJAotICogQ29w
eXJpZ2h0IDIwMDkgQXBsaXggQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKiBM
aWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vu
c2UiKTsKLSAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ug
d2l0aCB0aGUgTGljZW5zZS4KLSAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5z
ZSBhdAotICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAot
ICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0
aW5nLCBzb2Z0d2FyZQotICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJp
YnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKLSAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05E
SVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgotICogU2VlIHRo
ZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25z
IGFuZAotICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCi0gKgotICogTm9kZS1zcGVj
aWZpYyBmdW5jdGlvbnMKLSAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLSNpbmNsdWRlIDxhc3NlcnQuaD4KLSNp
bmNsdWRlIDxzdGRpby5oPgotI2luY2x1ZGUgPHN0cmluZy5oPgotI2luY2x1ZGUgImNvbW1lbnQu
aCIKLSNpbmNsdWRlICJsZXguaCIKLSNpbmNsdWRlICJtaXNjLmgiCi0jaW5jbHVkZSAibm9kZS5o
IgotI2luY2x1ZGUgInByb2Nlc3MuaCIKLQotc3RydWN0IG5vZGUgKgotbmV3ZWxlbWVudChjb25z
dCBjaGFyICpuYW1lKQotewotICAgIHN0cnVjdCBlbGVtZW50ICplbGVtZW50ID0gbWVtYWxsb2Mo
c2l6ZW9mKHN0cnVjdCBlbGVtZW50KSk7Ci0gICAgZWxlbWVudC0+bi50eXBlID0gTk9ERV9FTEVN
RU5UOwotICAgIGVsZW1lbnQtPm5hbWUgPSBuYW1lOwotICAgIHJldHVybiAmZWxlbWVudC0+bjsK
LX0KLQotc3RydWN0IG5vZGUgKgotbmV3YXR0cihjb25zdCBjaGFyICpuYW1lLCBjb25zdCBjaGFy
ICp2YWwpCi17Ci0gICAgc3RydWN0IGF0dHIgKmF0dHIgPSBtZW1hbGxvYyhzaXplb2Yoc3RydWN0
IGF0dHIpKTsKLSAgICBhdHRyLT5uLnR5cGUgPSBOT0RFX0FUVFI7Ci0gICAgYXR0ci0+bmFtZSA9
IG5hbWU7Ci0gICAgYXR0ci0+dmFsdWUgPSB2YWw7Ci0gICAgcmV0dXJuICZhdHRyLT5uOwotfQot
Ci1zdHJ1Y3Qgbm9kZSAqCi1uZXdhdHRybGlzdCh2b2lkKQotewotICAgIHN0cnVjdCBhdHRybGlz
dCAqYXR0cmxpc3QgPSBtZW1hbGxvYyhzaXplb2Yoc3RydWN0IGF0dHJsaXN0KSk7Ci0gICAgYXR0
cmxpc3QtPm4udHlwZSA9IE5PREVfQVRUUkxJU1Q7Ci0gICAgcmV0dXJuICZhdHRybGlzdC0+bjsK
LX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqCi0gKiBhZGRub2RlIDogYWRkIG5vZGUgYXMgY2hpbGQgb2Yg
YW5vdGhlciBub2RlCi0gKgotICogRW50ZXI6ICAgcGFyZW50IG5vZGUKLSAqICAgICAgICAgIGNo
aWxkIG5vZGUKLSAqCi0gKiBUaGUgY2hpbGRyZW4gbGlzdCBpcyBjb25zdHJ1Y3RlZCBiYWNrd2Fy
ZHMuIFRoaXMgaXMgZml4ZWQgbGF0ZXIgd2l0aAotICogYSBjYWxsIHRvIHJldmVyc2VjaGlsZHJl
bi4KLSAqCi0gKiBJZiBjaGlsZCBpcyBhbiBhdHRybGlzdCwgaXRzIGNoaWxkcmVuIGFyZSBhZGRl
ZCB0byBwYXJlbnQgYW5kIHRoZQotICogYXR0cmxpc3QgaXMgZnJlZWQuCi0gKi8KLXZvaWQKLWFk
ZG5vZGUoc3RydWN0IG5vZGUgKnBhcmVudCwgc3RydWN0IG5vZGUgKmNoaWxkKQotewotICAgIGlm
ICghY2hpbGQpCi0gICAgICAgIHJldHVybjsKLSAgICBpZiAoY2hpbGQtPnR5cGUgPT0gTk9ERV9B
VFRSTElTVCkgewotICAgICAgICAvKiBBZGQgdGhlIGF0dHJzIGluIHRoZSBhdHRybGlzdCB0byBw
YXJlbnQuICovCi0gICAgICAgIHN0cnVjdCBub2RlICpjaGlsZDI7Ci0gICAgICAgIHJldmVyc2Vj
aGlsZHJlbihjaGlsZCk7Ci0gICAgICAgIGNoaWxkMiA9IGNoaWxkLT5jaGlsZHJlbjsKLSAgICAg
ICAgbWVtZnJlZShjaGlsZCk7Ci0gICAgICAgIHdoaWxlIChjaGlsZDIpIHsKLSAgICAgICAgICAg
IHN0cnVjdCBub2RlICpuZXh0ID0gY2hpbGQyLT5uZXh0OwotICAgICAgICAgICAgYWRkbm9kZShw
YXJlbnQsIGNoaWxkMik7Ci0gICAgICAgICAgICBjaGlsZDIgPSBuZXh0OwotICAgICAgICB9Ci0g
ICAgfSBlbHNlIHsKLSAgICAgICAgY2hpbGQtPm5leHQgPSBwYXJlbnQtPmNoaWxkcmVuOwotICAg
ICAgICBwYXJlbnQtPmNoaWxkcmVuID0gY2hpbGQ7Ci0gICAgICAgIGNoaWxkLT5wYXJlbnQgPSBw
YXJlbnQ7Ci0gICAgfQotfQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIHJldmVyc2VjaGlsZHJlbiA6
IHJlY3Vyc2l2ZWx5IHJldmVyc2UgY2hpbGQgbGlzdHMKLSAqCi0gKiBBbHNvIHNldHMgcGFyZW50
IGZpZWxkIG9uIGVhY2ggbm9kZS4KLSAqLwotdm9pZAotcmV2ZXJzZWNoaWxkcmVuKHN0cnVjdCBu
b2RlICpub2RlKQotewotICAgIHN0cnVjdCBub2RlICpuZXdsaXN0ID0gMDsKLSAgICBzdHJ1Y3Qg
bm9kZSAqY2hpbGQgPSBub2RlLT5jaGlsZHJlbjsKLSAgICB3aGlsZSAoY2hpbGQpIHsKLSAgICAg
ICAgc3RydWN0IG5vZGUgKm5leHQgPSBjaGlsZC0+bmV4dDsKLSAgICAgICAgY2hpbGQtPnBhcmVu
dCA9IG5vZGU7Ci0gICAgICAgIGNoaWxkLT5uZXh0ID0gbmV3bGlzdDsKLSAgICAgICAgbmV3bGlz
dCA9IGNoaWxkOwotICAgICAgICByZXZlcnNlY2hpbGRyZW4oY2hpbGQpOwotICAgICAgICBjaGls
ZCA9IG5leHQ7Ci0gICAgfQotICAgIG5vZGUtPmNoaWxkcmVuID0gbmV3bGlzdDsKLX0KLQotLyoq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqCi0gKiBub2RlaXNlbXB0eSA6IHRlc3QgaWYgbm9kZSBpcyBlbXB0eSAoaGFz
IG5vIGNoaWxkcmVuKQotICovCi1pbnQKLW5vZGVpc2VtcHR5KHN0cnVjdCBub2RlICpub2RlKQot
ewotICAgIHJldHVybiAhbm9kZS0+Y2hpbGRyZW47Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICog
bm9kZXdhbGsgOiBzaW5nbGUgc3RlcCBvZiBkZXB0aCBsYXN0IHRyYXZlcnNhbCBvZiBub2RlIHRy
ZWUKLSAqCi0gKiBSZXR1cm46ICBuZXh0IG5vZGUgaW4gd2FsaywgMCBpZiBmaW5pc2hlZAotICov
Ci1zdHJ1Y3Qgbm9kZSAqCi1ub2Rld2FsayhzdHJ1Y3Qgbm9kZSAqbm9kZSkKLXsKLSAgICBpZiAo
bm9kZS0+Y2hpbGRyZW4pCi0gICAgICAgIHJldHVybiBub2RlLT5jaGlsZHJlbjsKLSAgICBpZiAo
bm9kZS0+bmV4dCkKLSAgICAgICAgcmV0dXJuIG5vZGUtPm5leHQ7Ci0gICAgZG8gewotICAgICAg
ICBub2RlID0gbm9kZS0+cGFyZW50OwotICAgICAgICBpZiAoIW5vZGUpCi0gICAgICAgICAgICBy
ZXR1cm4gMDsKLSAgICB9IHdoaWxlICghbm9kZS0+bmV4dCk7Ci0gICAgcmV0dXJuIG5vZGUtPm5l
eHQ7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKgotICogZmluZGNoaWxkZWxlbWVudCA6IGZpbmQgY2hp
bGQgZWxlbWVudCBvZiBhIHBhcnRpY3VsYXIgbmFtZQotICoKLSAqIEVudGVyOiAgIG5vZGUgPSBl
bGVtZW50Ci0gKiAgICAgICAgICBuYW1lID0gbmFtZSB0byBmaW5kCi0gKgotICogUmV0dXJuOiAg
MCBlbHNlIGNoaWxkIGVsZW1lbnQgb2YgdGhhdCBuYW1lCi0gKi8KLXN0YXRpYyBzdHJ1Y3Qgbm9k
ZSAqCi1maW5kY2hpbGRlbGVtZW50KHN0cnVjdCBub2RlICpub2RlLCBjb25zdCBjaGFyICpuYW1l
KQotewotICAgIG5vZGUgPSBub2RlLT5jaGlsZHJlbjsKLSAgICB3aGlsZSAobm9kZSkgewotICAg
ICAgICBpZiAobm9kZS0+dHlwZSA9PSBOT0RFX0VMRU1FTlQpIHsKLSAgICAgICAgICAgIHN0cnVj
dCBlbGVtZW50ICplbGVtZW50ID0gKHZvaWQgKilub2RlOwotICAgICAgICAgICAgaWYgKCFzdHJj
bXAoZWxlbWVudC0+bmFtZSwgbmFtZSkpCi0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAg
IH0KLSAgICAgICAgbm9kZSA9IG5vZGUtPm5leHQ7Ci0gICAgfQotICAgIHJldHVybiBub2RlOwot
fQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioKLSAqIGdldGF0dHIgOiBnZXQgdmFsdWUgb2YgYXR0cmlidXRl
Ci0gKgotICogRW50ZXI6ICAgbm9kZSA9IGVsZW1lbnQgdG8gZmluZCBhdHRyaWJ1dGUgaW4KLSAq
ICAgICAgICAgIG5hbWUgPSBuYW1lIG9mIGF0dHJpYnV0ZQotICoKLSAqIFJldHVybjogIDAgaWYg
bm90IGZvdW5kLCBlbHNlIDAtdGVybWluYXRlZCBzdHJpbmcgdmFsdWUKLSAqLwotY29uc3QgY2hh
ciAqCi1nZXRhdHRyKHN0cnVjdCBub2RlICpub2RlLCBjb25zdCBjaGFyICpuYW1lKQotewotICAg
IG5vZGUgPSBub2RlLT5jaGlsZHJlbjsKLSAgICB3aGlsZSAobm9kZSkgewotICAgICAgICBpZiAo
bm9kZS0+dHlwZSA9PSBOT0RFX0FUVFIpIHsKLSAgICAgICAgICAgIHN0cnVjdCBhdHRyICphdHRy
ID0gKHZvaWQgKilub2RlOwotICAgICAgICAgICAgaWYgKCFzdHJjbXAoYXR0ci0+bmFtZSwgbmFt
ZSkpCi0gICAgICAgICAgICAgICAgcmV0dXJuIGF0dHItPnZhbHVlOwotICAgICAgICB9Ci0gICAg
ICAgIG5vZGUgPSBub2RlLT5uZXh0OwotICAgIH0KLSAgICByZXR1cm4gMDsKLX0KLQotLyoqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqCi0gKiBmaW5kY2hpbGRlbGVtZW50d2l0aG5hbWVhdHRyIDogZmluZCBjaGlsZCBl
bGVtZW50IHdpdGggYSBuYW1lIGF0dHJpYnV0ZQotICogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIG9mIGEgcGFydGljdWxhciB2YWx1ZQotICoKLSAqIEVudGVyOiAgIG5vZGUgPSBlbGVt
ZW50Ci0gKiAgICAgICAgICBuYW1lID0gbmFtZSB0byBmaW5kCi0gKgotICogUmV0dXJuOiAgMCBl
bHNlIGNoaWxkIGVsZW1lbnQgd2l0aCBuYW1lIGF0dHIgb2YgdGhhdCB2YWx1ZQotICovCi1zdGF0
aWMgc3RydWN0IG5vZGUgKgotZmluZGNoaWxkZWxlbWVudHdpdGhuYW1lYXR0cihzdHJ1Y3Qgbm9k
ZSAqbm9kZSwgY29uc3QgY2hhciAqbmFtZSkKLXsKLSAgICBub2RlID0gbm9kZS0+Y2hpbGRyZW47
Ci0gICAgd2hpbGUgKG5vZGUpIHsKLSAgICAgICAgaWYgKG5vZGUtPnR5cGUgPT0gTk9ERV9FTEVN
RU5UKSB7Ci0gICAgICAgICAgICBjb25zdCBjaGFyICpzID0gZ2V0YXR0cihub2RlLCAibmFtZSIp
OwotICAgICAgICAgICAgaWYgKHMgJiYgIXN0cmNtcChzLCBuYW1lKSkKLSAgICAgICAgICAgICAg
ICBicmVhazsKLSAgICAgICAgfQotICAgICAgICBub2RlID0gbm9kZS0+bmV4dDsKLSAgICB9Ci0g
ICAgcmV0dXJuIG5vZGU7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogZmluZHJldHVybnR5cGUg
OiBmaW5kIFR5cGUgcGFyc2Ugbm9kZSBmb3IgcmV0dXJuIHR5cGUKLSAqCi0gKiBFbnRlcjogICBu
b2RlID0gT3BlcmF0aW9uIGVsZW1lbnQKLSAqCi0gKiBSZXR1cm46ICAwIGlmIG5vdCBmb3VuZCwg
ZWxzZSBUeXBlIHBhcnNlIG5vZGUgZm9yIHJldHVybiB0eXBlCi0gKi8KLXN0cnVjdCBub2RlICoK
LWZpbmRyZXR1cm50eXBlKHN0cnVjdCBub2RlICpub2RlKQotewotICAgIHJldHVybiBmaW5kY2hp
bGRlbGVtZW50KG5vZGUsICJUeXBlIik7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogZmluZHBh
cmFtaWRlbnRpZmllciA6IGZpbmQgaWRlbnRpZmllciBwYXJzZSBub2RlIGZvciBwYXJhbWV0ZXIK
LSAqCi0gKiBFbnRlcjogICBub2RlID0gT3BlcmF0aW9uIGVsZW1lbnQKLSAqICAgICAgICAgIG5h
bWUgPSBwYXJhbWV0ZXIgbmFtZSB0byBmaW5kCi0gKgotICogUmV0dXJuOiAgMCBpZiBub3QgZm91
bmQsIGVsc2Ugbm9kZSBzdHJ1Y3QgZm9yIHBhcmFtZXRlciBpZGVudGlmaWVyCi0gKi8KLXN0cnVj
dCBub2RlICoKLWZpbmRwYXJhbWlkZW50aWZpZXIoc3RydWN0IG5vZGUgKm5vZGUsIGNvbnN0IGNo
YXIgKm5hbWUpCi17Ci0gICAgbm9kZSA9IGZpbmRjaGlsZGVsZW1lbnQobm9kZSwgIkFyZ3VtZW50
TGlzdCIpOwotICAgIGlmIChub2RlKQotICAgICAgICBub2RlID0gZmluZGNoaWxkZWxlbWVudHdp
dGhuYW1lYXR0cihub2RlLCBuYW1lKTsKLSAgICByZXR1cm4gbm9kZTsKLX0KLQotLyoqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqCi0gKiBmaW5kdGhyb3dpZGVudGlmaWVyIDogZmluZCBpZGVudGlmaWVyIHBhcnNlIG5v
ZGUgZm9yIGV4Y2VwdGlvbiBuYW1lCi0gKgotICogRW50ZXI6ICAgbm9kZSA9IE9wZXJhdGlvbiBl
bGVtZW50Ci0gKiAgICAgICAgICBuYW1lID0gZXhjZXB0aW9uIG5hbWUgdG8gZmluZAotICoKLSAq
IFJldHVybjogIDAgaWYgbm90IGZvdW5kLCBlbHNlIG5vZGUgZm9yIE5hbWUgZWxlbWVudCwgY2hp
bGQgb2YgUmFpc2VzCi0gKiAgICAgICAgICAgICAgb3IgU2V0UmFpc2VzCi0gKi8KLXN0cnVjdCBu
b2RlICoKLWZpbmR0aHJvd2lkZW50aWZpZXIoc3RydWN0IG5vZGUgKm5vZGUsIGNvbnN0IGNoYXIg
Km5hbWUpCi17Ci0gICAgc3RydWN0IG5vZGUgKm5vZGUyID0gZmluZGNoaWxkZWxlbWVudChub2Rl
LCAiUmFpc2VzIik7Ci0gICAgaWYgKG5vZGUyKQotICAgICAgICBub2RlMiA9IGZpbmRjaGlsZGVs
ZW1lbnR3aXRobmFtZWF0dHIobm9kZTIsIG5hbWUpOwotICAgIGlmICghbm9kZTIpIHsKLSAgICAg
ICAgbm9kZTIgPSBmaW5kY2hpbGRlbGVtZW50KG5vZGUsICJTZXRSYWlzZXMiKTsKLSAgICAgICAg
aWYgKG5vZGUyKQotICAgICAgICAgICAgbm9kZTIgPSBmaW5kY2hpbGRlbGVtZW50d2l0aG5hbWVh
dHRyKG5vZGUyLCBuYW1lKTsKLSAgICB9Ci0gICAgcmV0dXJuIG5vZGUyOwotfQotCi0vKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioKLSAqIG91dHB1dGlkIDogb3V0cHV0IHRoZSBpZCBvZiBhIG5vZGUKLSAqLwotc3Rh
dGljIHZvaWQKLW91dHB1dGlkKHN0cnVjdCBub2RlICpub2RlKQotewotICAgIGlmIChub2RlLT5w
YXJlbnQpCi0gICAgICAgIG91dHB1dGlkKG5vZGUtPnBhcmVudCk7Ci0gICAgaWYgKG5vZGUtPmlk
KSB7Ci0gICAgICAgIGZwdXRzKCI6OiIsIHN0ZG91dCk7Ci0gICAgICAgIHByaW50dGV4dChub2Rl
LT5pZCwgc3RybGVuKG5vZGUtPmlkKSwgMSk7Ci0gICAgfQotfQotCi0vKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioK
LSAqIG91dHB1dG5vZGUgOiBvdXRwdXQgbm9kZSBhbmQgaXRzIGNoaWxkcmVuCi0gKgotICogRW50
ZXI6ICAgbm9kZSA9IG5vZGUgdG8gb3V0cHV0LCBhc3N1bWVkIHRvIGJlIGFuIGVsZW1lbnQKLSAq
ICAgICAgICAgIGluZGVudAotICovCi12b2lkCi1vdXRwdXRub2RlKHN0cnVjdCBub2RlICpub2Rl
LCB1bnNpZ25lZCBpbnQgaW5kZW50KQotewotICAgIHN0cnVjdCBlbGVtZW50ICplbGVtZW50ID0g
KHZvaWQgKilub2RlOwotICAgIHN0cnVjdCBub2RlICpjaGlsZDsKLSAgICBpbnQgZW1wdHkgPSAx
OwotICAgIHByaW50ZigiJSpzPCVzIiwgaW5kZW50LCAiIiwgZWxlbWVudC0+bmFtZSk7Ci0gICAg
Y2hpbGQgPSBlbGVtZW50LT5uLmNoaWxkcmVuOwotICAgIHdoaWxlIChjaGlsZCkgewotICAgICAg
ICBzd2l0Y2goY2hpbGQtPnR5cGUpIHsKLSAgICAgICAgY2FzZSBOT0RFX0VMRU1FTlQ6Ci0gICAg
ICAgICAgICBlbXB0eSA9IDA7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSBOT0RF
X0FUVFI6Ci0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgc3RydWN0IGF0dHIgKmF0dHIg
PSAodm9pZCAqKWNoaWxkOwotICAgICAgICAgICAgICAgIHByaW50ZigiICVzPVwiIiwgYXR0ci0+
bmFtZSk7Ci0gICAgICAgICAgICAgICAgcHJpbnR0ZXh0KGF0dHItPnZhbHVlLCBzdHJsZW4oYXR0
ci0+dmFsdWUpLCAxKTsKLSAgICAgICAgICAgICAgICBwcmludGYoIlwiIik7Ci0gICAgICAgICAg
ICB9Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgfQotICAgICAgICBjaGlsZCA9IGNoaWxk
LT5uZXh0OwotICAgIH0KLSAgICBpZiAobm9kZS0+aWQpIHsKLSAgICAgICAgcHJpbnRmKCIgaWQ9
XCIiKTsKLSAgICAgICAgb3V0cHV0aWQobm9kZSk7Ci0gICAgICAgIHByaW50ZigiXCIiKTsKLSAg
ICB9Ci0gICAgaWYgKCFlbXB0eSB8fCBub2RlLT5jb21tZW50cyB8fCBub2RlLT53c3N0YXJ0KSB7
Ci0gICAgICAgIHByaW50ZigiPlxuIik7Ci0gICAgICAgIGlmIChub2RlLT53c3N0YXJ0KSB7Ci0g
ICAgICAgICAgICBwcmludGYoIiUqcyAgPHdlYmlkbD4iLCBpbmRlbnQsICIiKTsKLSAgICAgICAg
ICAgIG91dHB1dHdpZGwobm9kZSk7Ci0gICAgICAgICAgICBwcmludGYoIjwvd2ViaWRsPlxuIik7
Ci0gICAgICAgIH0KLSAgICAgICAgb3V0cHV0ZGVzY3JpcHRpdmUobm9kZSwgaW5kZW50ICsgMik7
Ci0gICAgICAgIGNoaWxkID0gZWxlbWVudC0+bi5jaGlsZHJlbjsKLSAgICAgICAgd2hpbGUgKGNo
aWxkKSB7Ci0gICAgICAgICAgICBzd2l0Y2goY2hpbGQtPnR5cGUpIHsKLSAgICAgICAgICAgIGNh
c2UgTk9ERV9FTEVNRU5UOgotICAgICAgICAgICAgICAgIG91dHB1dG5vZGUoY2hpbGQsIGluZGVu
dCArIDIpOwotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgfQotICAgICAgICAg
ICAgY2hpbGQgPSBjaGlsZC0+bmV4dDsKLSAgICAgICAgfQotICAgICAgICBwcmludGYoIiUqczwv
JXM+XG4iLCBpbmRlbnQsICIiLCBlbGVtZW50LT5uYW1lKTsKLSAgICB9IGVsc2UKLSAgICAgICAg
cHJpbnRmKCIvPlxuIik7Ci19Ci0KLQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3NyYy9ub2Rl
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3NyYy9ub2RlLmgJKHJldmlzaW9u
IDI1Mjg5NikKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9zcmMvbm9kZS5oCShub25leGlzdGVudCkK
QEAgLTEsNjUgKzAsMCBAQAotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiAkSWQkCi0gKiBDb3B5cmlnaHQg
MjAwOSBBcGxpeCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIExpY2Vuc2Vk
IHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOwot
ICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRo
ZSBMaWNlbnNlLgotICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0Ci0g
KiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCi0gKiBVbmxl
c3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNv
ZnR3YXJlCi0gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBv
biBhbiAiQVMgSVMiIEJBU0lTLAotICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMg
T0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCi0gKiBTZWUgdGhlIExpY2Vu
c2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCi0g
KiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KLSAqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLSNpZm5k
ZWYgbm9kZV9oCi0jZGVmaW5lIG5vZGVfaAotCi0vKiBzdHJ1Y3Qgbm9kZSA6IGEgbm9kZSBpbiB0
aGUgcGFyc2UgdHJlZSAoZXhjbHVkaW5nIGNvbW1lbnRzKSAqLwotZW51bSB7IE5PREVfRUxFTUVO
VCwgTk9ERV9BVFRSLCBOT0RFX0FUVFJMSVNUIH07Ci1zdHJ1Y3Qgbm9kZSB7Ci0gICAgaW50IHR5
cGU7Ci0gICAgc3RydWN0IG5vZGUgKm5leHQ7Ci0gICAgc3RydWN0IG5vZGUgKnBhcmVudDsKLSAg
ICBzdHJ1Y3Qgbm9kZSAqY2hpbGRyZW47Ci0gICAgc3RydWN0IGNvbW1lbnQgKmNvbW1lbnRzOyAv
KiBsaXN0IG9mIGNvbW1lbnRzIGF0dGFjaGVkIHRvIHRoaXMgbm9kZSAqLwotICAgIC8qIElmIHdz
c3RhcnQgYW5kIGVuZCBhcmUgc2V0LCB0aGV5IGdpdmUgdGhlIGxpdGVyYWwgV2ViIElETCB0aGF0
IGNhbgotICAgICAqIGJlIG91dHB1dCBpbiBhIDx3ZWJpZGw+IGVsZW1lbnQuICovCi0gICAgY29u
c3QgY2hhciAqd3NzdGFydDsKLSAgICAvKiBJZiBzdGFydCBhbmQgZW5kIGFyZSBzZXQsIHRoZXkg
Z2l2ZSB0aGUgdGV4dCBvZiBhIHNjb3BlZCBuYW1lIHRoYXQKLSAgICAgKiBjYW4gYmUgZW5jbG9z
ZWQgaW4gYSA8cmVmPiB3aGVuIG91dHB1dHRpbmcgYSA8d2ViaWRsPiBlbGVtZW50IGZvcgotICAg
ICAqIGFuIGFuY2VzdG9yIGVsZW1lbnQuICovCi0gICAgY29uc3QgY2hhciAqc3RhcnQ7Ci0gICAg
Y29uc3QgY2hhciAqZW5kOwotICAgIGNvbnN0IGNoYXIgKmlkOwotfTsKLQotc3RydWN0IGVsZW1l
bnQgewotICAgIHN0cnVjdCBub2RlIG47Ci0gICAgY29uc3QgY2hhciAqbmFtZTsKLX07Ci0KLXN0
cnVjdCBhdHRyIHsKLSAgICBzdHJ1Y3Qgbm9kZSBuOwotICAgIGNvbnN0IGNoYXIgKm5hbWU7Ci0g
ICAgY29uc3QgY2hhciAqdmFsdWU7Ci19OwotCi1zdHJ1Y3QgYXR0cmxpc3QgewotICAgIHN0cnVj
dCBub2RlIG47Ci19OwotCi1zdHJ1Y3Qgbm9kZSAqbmV3ZWxlbWVudChjb25zdCBjaGFyICpuYW1l
KTsKLXN0cnVjdCBub2RlICpuZXdhdHRyKGNvbnN0IGNoYXIgKm5hbWUsIGNvbnN0IGNoYXIgKnZh
bCk7Ci1zdHJ1Y3Qgbm9kZSAqbmV3YXR0cmxpc3Qodm9pZCk7Ci12b2lkIGFkZG5vZGUoc3RydWN0
IG5vZGUgKnBhcmVudCwgc3RydWN0IG5vZGUgKmNoaWxkKTsKLXZvaWQgcmV2ZXJzZWNoaWxkcmVu
KHN0cnVjdCBub2RlICpub2RlKTsKLWludCBub2RlaXNlbXB0eShzdHJ1Y3Qgbm9kZSAqbm9kZSk7
Ci1jb25zdCBjaGFyICpnZXRhdHRyKHN0cnVjdCBub2RlICpub2RlLCBjb25zdCBjaGFyICpuYW1l
KTsKLXN0cnVjdCBub2RlICpub2Rld2FsayhzdHJ1Y3Qgbm9kZSAqbm9kZSk7Ci1zdHJ1Y3Qgbm9k
ZSAqZmluZHJldHVybnR5cGUoc3RydWN0IG5vZGUgKm5vZGUpOwotc3RydWN0IG5vZGUgKmZpbmRw
YXJhbWlkZW50aWZpZXIoc3RydWN0IG5vZGUgKm5vZGUsIGNvbnN0IGNoYXIgKm5hbWUpOwotc3Ry
dWN0IG5vZGUgKmZpbmR0aHJvd2lkZW50aWZpZXIoc3RydWN0IG5vZGUgKm5vZGUsIGNvbnN0IGNo
YXIgKm5hbWUpOwotdm9pZCBvdXRwdXRub2RlKHN0cnVjdCBub2RlICpub2RlLCB1bnNpZ25lZCBp
bnQgaW5kZW50KTsKLQotI2VuZGlmIC8qIG5kZWYgbm9kZV9oICovCi0KSW5kZXg6IExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC93aWRscHJvYy9zcmMvb3MuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mvc3Jj
L29zLmgJKHJldmlzaW9uIDI1Mjg5NikKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9zcmMvb3MuaAko
bm9uZXhpc3RlbnQpCkBAIC0xLDMxICswLDAgQEAKLS8qKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogJElkJAot
ICogQ29weXJpZ2h0IDIwMDkgQXBsaXggQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQu
Ci0gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUg
IkxpY2Vuc2UiKTsKLSAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBs
aWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KLSAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUg
TGljZW5zZSBhdAotICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNF
LTIuMAotICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBp
biB3cml0aW5nLCBzb2Z0d2FyZQotICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMg
ZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKLSAqIFdJVEhPVVQgV0FSUkFOVElFUyBP
UiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgotICog
U2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1p
c3Npb25zIGFuZAotICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCi0gKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKiovCi0jaWZuZGVmIG9zX2gKLSNkZWZpbmUgb3NfaAotCi0vKiBMaW51eCBjb25maWd1cmF0
aW9uICovCi0jaWYgZGVmaW5lZChfX2dudV9saW51eF9fKQotCi0KLS8qIFdpbmRvd3MgY29uZmln
dXJhdGlvbiAqLwotI2VsaWYgZGVmaW5lZChfTVNDX1ZFUikKLQotI2RlZmluZSBpbmxpbmUgX19p
bmxpbmUKLSNkZWZpbmUgc3RybmNhc2VjbXAgc3RybmljbXAKLSNkZWZpbmUgc25wcmludGYgX3Nu
cHJpbnRmCi0jZGVmaW5lIHZhX2NvcHkoYSxiKSAoKGEpPShiKSkKLQotI2VuZGlmCi0KLSNlbmRp
ZiAvKiBuZGVmIG9zX2ggKi8KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9zcmMvcGFyc2UuYwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mvc3JjL3BhcnNlLmMJKHJldmlzaW9uIDI1
Mjg5NikKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9zcmMvcGFyc2UuYwkobm9uZXhpc3RlbnQpCkBA
IC0xLDE0MTQgKzAsMCBAQAotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiAkSWQkCi0gKiBDb3B5cmlnaHQg
MjAwOSBBcGxpeCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIExpY2Vuc2Vk
IHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOwot
ICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRo
ZSBMaWNlbnNlLgotICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0Ci0g
KiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCi0gKiBVbmxl
c3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNv
ZnR3YXJlCi0gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBv
biBhbiAiQVMgSVMiIEJBU0lTLAotICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMg
T0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCi0gKiBTZWUgdGhlIExpY2Vu
c2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCi0g
KiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KLSAqCi0gKiBIYW5kLWNyYWZ0ZWQgcmVj
dXJzaXZlIGRlc2NlbnQgcGFyc2VyIGZvciBXZWIgSURMIGdyYW1tYXIuCi0gKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KiovCi0jaW5jbHVkZSA8YXNzZXJ0Lmg+Ci0jaW5jbHVkZSA8c3RkYXJnLmg+Ci0jaW5jbHVkZSA8
c3RkaW8uaD4KLSNpbmNsdWRlIDxzdHJpbmcuaD4KLQotI2luY2x1ZGUgImNvbW1lbnQuaCIKLSNp
bmNsdWRlICJsZXguaCIKLSNpbmNsdWRlICJtaXNjLmgiCi0jaW5jbHVkZSAibm9kZS5oIgotI2lu
Y2x1ZGUgInBhcnNlLmgiCi0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogdG9rZXJyb3JleGl0IDogZXJy
b3IgYW5kIGV4aXQgd2l0aCBsaW5lIG51bWJlciBmcm9tIHRva2VuCi0gKi8KLXN0YXRpYyB2b2lk
Ci10b2tlcnJvcmV4aXQoc3RydWN0IHRvayAqdG9rLCBjb25zdCBjaGFyICpmb3JtYXQsIC4uLikK
LXsKLSAgICB2YV9saXN0IGFwOwotICAgIGNoYXIgKm07Ci0gICAgdmFfc3RhcnQoYXAsIGZvcm1h
dCk7Ci0gICAgbSA9IHZtZW1wcmludGYoZm9ybWF0LCBhcCk7Ci0gICAgaWYgKHRvay0+dHlwZSA9
PSBUT0tfRU9GKQotICAgICAgICBsb2NlcnJvcmV4aXQodG9rLT5maWxlbmFtZSwgdG9rLT5saW5l
bnVtLCAiYXQgZW5kIG9mIGlucHV0OiAlcyIsIG0pOwotICAgIGVsc2UKLSAgICAgICAgbG9jZXJy
b3JleGl0KHRvay0+ZmlsZW5hbWUsIHRvay0+bGluZW51bSwgImF0ICclLipzJzogJXMiLCB0b2st
PmxlbiwgdG9rLT5zdGFydCwgbSk7Ci0gICAgdmFfZW5kKGFwKTsKLX0KLQotLyoqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqCi0gKiBsZXhub2NvbW1lbnQgOiBsZXggbmV4dCB0b2tlbiwgZGlzY2FyZGluZyBvciBzdG9y
aW5nIGNvbW1lbnRzCi0gKgotICogQSBibG9jayBjb21tZW50IHN0YXJ0aW5nIHdpdGggfCoqIG9y
IHwqISBpcyBhIGRveHlnZW4gY29tbWVudC4KLSAqIElmIGl0IHN0YXJ0cyB3aXRoIHwqKjwgb3Ig
fCohPCB0aGVuIGl0IHJlZmVycyB0byB0aGUgcHJldmlvdXMKLSAqIGlkZW50aWZpZXIsIG5vdCB0
aGUgbmV4dCBvbmUuIChJIGFtIHVzaW5nIHwgdG8gcmVwcmVzZW50IC8gb3RoZXJ3aXNlCi0gKiB0
aGlzIGNvbW1lbnQgd291bGQgYmUgaWxsZWdhbC4pCi0gKgotICogQW4gaW5saW5lIGNvbW1lbnQg
c3RhcnRpbmcgd2l0aCAvLy8gb3IgLy8hIGlzIGEgZG94eWdlbiBjb21tZW50LgotICogSWYgaXQg
c3RhcnRzIHdpdGggLy8vPCBvciAvLyE8IHRoZW4gaXQgcmVmZXJzIHRvIHRoZSBwcmV2aW91cwot
ICogaWRlbnRpZmllciwgbm90IHRoZSBuZXh0IG9uZS4KLSAqLwotc3RhdGljIHN0cnVjdCB0b2sg
KgotbGV4bm9jb21tZW50KHZvaWQpCi17Ci0gICAgc3RydWN0IHRvayAqdG9rOwotICAgIGZvciAo
OzspIHsKLSAgICAgICAgdG9rID0gbGV4KCk7Ci0gICAgICAgIGlmICh0b2stPnR5cGUgIT0gVE9L
X0JMT0NLQ09NTUVOVCAmJiB0b2stPnR5cGUgIT0gVE9LX0lOTElORUNPTU1FTlQpCi0gICAgICAg
ICAgICBicmVhazsKLSAgICAgICAgYWRkY29tbWVudCh0b2spOwotICAgIH0KLSAgICByZXR1cm4g
dG9rOwotfQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIGVhdCA6IGNoZWNrIHRva2VuIHRoZW4gcmVh
ZCB0aGUgZm9sbG93aW5nIG9uZQotICoKLSAqIEVudGVyOiAgIHRvayBzdHJ1Y3QKLSAqICAgICAg
ICAgIHR5cGUgPSB0eXBlIG9mIHRva2VuIGV4cGVjdGVkLCBlcnJvciBnaXZlbiBpZiBubyBtYXRj
aAotICoKLSAqIE9uIHJldHVybiwgdG9rIGlzIHVwZGF0ZWQgdG8gdGhlIGZvbGxvd2luZyB0b2tl
bi4KLSAqLwotc3RhdGljIHZvaWQKLWVhdChzdHJ1Y3QgdG9rICp0b2ssIGludCB0eXBlKQotewot
ICAgIGlmICh0b2stPnR5cGUgIT0gdHlwZSkgewotICAgICAgICBjb25zdCBjaGFyICpwOwotICAg
ICAgICBpZiAodHlwZSA8IFRPS19ET01TdHJpbmcpCi0gICAgICAgICAgICB0b2tlcnJvcmV4aXQo
dG9rLCAiZXhwZWN0ZWQgJyVjJyIsIHR5cGUpOwotICAgICAgICBwID0ga2V5d29yZHM7Ci0gICAg
ICAgIHdoaWxlICh0eXBlICE9IFRPS19ET01TdHJpbmcpIHsKLSAgICAgICAgICAgIHAgKz0gc3Ry
bGVuKHApICsgMTsKLSAgICAgICAgICAgIHR5cGUtLTsKLSAgICAgICAgfQotICAgICAgICB0b2tl
cnJvcmV4aXQodG9rLCAiZXhwZWN0ZWQgJyVzJyIsIHApOwotICAgIH0KLSAgICBsZXhub2NvbW1l
bnQoKTsKLX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBzZXRpZCA6IGZsYWcgdGhhdCBhbiBpZCBh
dHRyaWJ1dGUgaXMgcmVxdWlyZWQgb24gbm9kZQotICoKLSAqIEVudGVyOiAgIG5vZGUKLSAqCi0g
KiBub2RlLT5pZCBpcyBzZXQgdG8gdGhlIHZhbHVlIG9mIHRoZSBuYW1lIGF0dHJpYnV0ZS4gVGhp
cyBtYWtlcwotICogb3V0cHV0bm9kZSBnaXZlIGl0IGFuIGlkIGF0dHJpYnV0ZSB3aG9zZSB2YWx1
ZSBpcyB0aGUgaWQgYXR0cmlidXRlCi0gKiBvZiB0aGUgcGFyZW50IGlmIGFueSwgdGhlbiAiOjoi
LCB0aGVuIG5vZGUtPmlkLgotICovCi1zdGF0aWMgdm9pZAotc2V0aWQoc3RydWN0IG5vZGUgKm5v
ZGUpCi17Ci0gICAgbm9kZS0+aWQgPSBnZXRhdHRyKG5vZGUsICJuYW1lIik7Ci19Ci0KLS8qKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKgotICogc2V0aWRlbnRpZmllciA6IGFsbG9jYXRlIDAtdGVybWluYXRlZCBzdHJp
bmcgZm9yIGlkZW50aWZpZXIgdG9rZW4KLSAqCi0gKiBFbnRlcjogICB0b2sgPSB0b2tlbiwgZXJy
b3IgZ2l2ZW4gaWYgbm90IGlkZW50aWZpZXIKLSAqCi0gKiBSZXR1cm46ICBhbGxvY2F0ZWQgMC10
ZXJtaW5hdGVkIHN0cmluZwotICovCi1zdGF0aWMgY2hhciAqCi1zZXRpZGVudGlmaWVyKHN0cnVj
dCB0b2sgKnRvaykKLXsKLSAgICBjaGFyICpzOwotICAgIGlmICh0b2stPnR5cGUgIT0gVE9LX0lE
RU5USUZJRVIpCi0gICAgICAgIHRva2Vycm9yZXhpdCh0b2ssICJleHBlY3RlZCBpZGVudGlmaWVy
Iik7Ci0gICAgcyA9IG1lbXByaW50ZigiJS4qcyIsIHRvay0+bGVuLCB0b2stPnN0YXJ0KTsKLSAg
ICByZXR1cm4gczsKLX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBzZXRhcmd1bWVudG5hbWUgOiBh
bGxvY2F0ZSAwLXRlcm1pbmF0ZWQgc3RyaW5nIGZvciBpZGVudGlmaWVyIHRva2VuCi0gKgotICog
RW50ZXI6ICAgdG9rID0gdG9rZW4sIGVycm9yIGdpdmVuIGlmIG5vdCBpZGVudGlmaWVyCi0gKgot
ICogUmV0dXJuOiAgYWxsb2NhdGVkIDAtdGVybWluYXRlZCBzdHJpbmcKLSAqLwotc3RhdGljIGNo
YXIgKgotc2V0YXJndW1lbnRuYW1lKHN0cnVjdCB0b2sgKnRvaykKLXsKLSAgICBjaGFyICpzOwot
ICAgIGlmICh0b2stPnR5cGUgIT0gVE9LX0lERU5USUZJRVIgJiYgdG9rLT50eXBlIDwgVE9LX2F0
dHJpYnV0ZSkKLSAgICAgICAgdG9rZXJyb3JleGl0KHRvaywgImV4cGVjdGVkIGFyZ3VtZW50IG5h
bWUiKTsKLSAgICBzID0gbWVtcHJpbnRmKCIlLipzIiwgdG9rLT5sZW4sIHRvay0+c3RhcnQpOwot
ICAgIHJldHVybiBzOwotfQotCi0KLS8qIFByb3RvdHlwZXMgZm9yIGZ1bmNzIHRoYXQgaGF2ZSBh
IGZvcndhcmQgcmVmZXJlbmNlLiAqLwotc3RhdGljIHN0cnVjdCBub2RlICpwYXJzZXR5cGUoc3Ry
dWN0IHRvayAqdG9rKTsKLXN0YXRpYyBzdHJ1Y3Qgbm9kZSAqcGFyc2VkZWZhdWx0dmFsdWUoc3Ry
dWN0IHRvayAqdG9rLCBzdHJ1Y3Qgbm9kZSAqcGFyZW50KTsKLXN0YXRpYyBzdHJ1Y3Qgbm9kZSAq
cGFyc2V1bmlvbnR5cGUoc3RydWN0IHRvayAqdG9rKTsKLXN0YXRpYyBzdHJ1Y3Qgbm9kZSAqcGFy
c2Vhcmd1bWVudGxpc3Qoc3RydWN0IHRvayAqdG9rKTsKLXN0YXRpYyB2b2lkIHBhcnNlZGVmaW5p
dGlvbnMoc3RydWN0IHRvayAqdG9rLCBzdHJ1Y3Qgbm9kZSAqcGFyZW50KTsKLXN0YXRpYyBzdHJ1
Y3Qgbm9kZSAqcGFyc2V0eXBlc3VmZml4c3RhcnRpbmd3aXRoYXJyYXkoc3RydWN0IHRvayAqdG9r
LCBzdHJ1Y3Qgbm9kZSAqbm9kZSk7Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogcGFyc2VzY29wZWRu
YW1lIDogcGFyc2UgWzUzXSBTY29wZWROYW1lCi0gKgotICogRW50ZXI6ICAgdG9rID0gbmV4dCB0
b2tlbgotICogICAgICAgICAgbmFtZSA9IG5hbWUgb2YgYXR0cmlidXRlIHRvIHB1dCBzY29wZWQg
bmFtZSBpbgotICogICAgICAgICAgcmVmID0gd2hldGhlciB0byBlbmFibGUgZW5jbG9zaW5nIG9m
IHRoZSBuYW1lIGluIDxyZWY+IGluCi0gKiAgICAgICAgICAgICAgICBvdXRwdXR3aWRsCi0gKgot
ICogUmV0dXJuOiAgbm9kZSBzdHJ1Y3QgZm9yIG5ldyBhdHRyaWJ1dGUKLSAqICAgICAgICAgIHRv
ayB1cGRhdGVkCi0gKi8KLXN0YXRpYyBzdHJ1Y3Qgbm9kZSAqCi1wYXJzZXNjb3BlZG5hbWUoc3Ry
dWN0IHRvayAqdG9rLCBjb25zdCBjaGFyICpuYW1lLCBpbnQgcmVmKQotewotICAgIGNvbnN0IGNo
YXIgKnN0YXJ0ID0gdG9rLT5zdGFydCwgKmVuZDsKLSAgICBzdHJ1Y3Qgbm9kZSAqbm9kZTsKLSAg
ICB1bnNpZ25lZCBpbnQgbGVuID0gMDsKLSAgICBjaGFyICpzID0gbWVtYWxsb2MoMyk7Ci0gICAg
aWYgKHRvay0+dHlwZSAhPSBUT0tfSURFTlRJRklFUikKLSAgICAgICAgdG9rZXJyb3JleGl0KHRv
aywgImV4cGVjdGVkIGlkZW50aWZpZXIiKTsKLSAgICBzID0gbWVtcmVhbGxvYyhzLCBsZW4gKyB0
b2stPmxlbiArIDEpOwotICAgIG1lbWNweShzICsgbGVuLCB0b2stPnN0YXJ0LCB0b2stPmxlbik7
Ci0gICAgbGVuICs9IHRvay0+bGVuOwotICAgIGVuZCA9IHRvay0+c3RhcnQgKyB0b2stPmxlbjsK
LSAgICBsZXhub2NvbW1lbnQoKTsKLSAgICBzW2xlbl0gPSAwOwotICAgIG5vZGUgPSBuZXdhdHRy
KG5hbWUsIHMpOwotICAgIGlmIChyZWYpIHsKLSAgICAgICAgbm9kZS0+c3RhcnQgPSBzdGFydDsK
LSAgICAgICAgbm9kZS0+ZW5kID0gZW5kOwotICAgIH0KLSAgICByZXR1cm4gbm9kZTsKLX0KLQot
LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqCi0gKiBwYXJzZXNjb3BlZG5hbWVsaXN0IDogcGFyc2UgWzUxXSBTY29w
ZWROYW1lTGlzdAotICoKLSAqIEVudGVyOiAgIHRvayA9IG5leHQgdG9rZW4KLSAqICAgICAgICAg
IG5hbWUgPSBuYW1lIG9mIGVsZW1lbnQgZm9yIHNjb3BlZCBuYW1lIGxpc3QKLSAqICAgICAgICAg
IG5hbWUyID0gbmFtZSBvZiBlbGVtZW50IGZvciBlbnRyeSBpbiBsaXN0Ci0gKiAgICAgICAgICBj
b21tZW50ID0gd2hldGhlciB0byBhdHRhY2ggZG9jdW1lbnRhdGlvbiB0byBlYWNoIG5hbWUKLSAq
Ci0gKiBSZXR1cm46ICBub2RlIGZvciBsaXN0IG9mIHNjb3BlZCBuYW1lcwotICogICAgICAgICAg
dG9rIHVwZGF0ZWQKLSAqLwotc3RhdGljIHN0cnVjdCBub2RlICoKLXBhcnNlc2NvcGVkbmFtZWxp
c3Qoc3RydWN0IHRvayAqdG9rLCBjb25zdCBjaGFyICpuYW1lLCBjb25zdCBjaGFyICpuYW1lMiwK
LSAgICAgICAgaW50IGNvbW1lbnQpCi17Ci0gICAgc3RydWN0IG5vZGUgKm5vZGUgPSBuZXdlbGVt
ZW50KG5hbWUpOwotICAgIGZvciAoOzspIHsKLSAgICAgICAgc3RydWN0IG5vZGUgKmF0dHIgPSBw
YXJzZXNjb3BlZG5hbWUodG9rLCAibmFtZSIsIDEpOwotICAgICAgICBzdHJ1Y3Qgbm9kZSAqbiA9
IG5ld2VsZW1lbnQobmFtZTIpOwotICAgICAgICBpZiAoY29tbWVudCkKLSAgICAgICAgICAgIHNl
dGNvbW1lbnRub2RlKG4pOwotICAgICAgICBhZGRub2RlKG4sIGF0dHIpOwotICAgICAgICBhZGRu
b2RlKG5vZGUsIG4pOwotICAgICAgICBpZiAodG9rLT50eXBlICE9ICcsJykKLSAgICAgICAgICAg
IGJyZWFrOwotICAgICAgICBsZXhub2NvbW1lbnQoKTsKLSAgICB9Ci0gICAgcmV0dXJuIG5vZGU7
Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKgotICogcGFyc2VyZXR1cm50eXBlIDogcGFyc2UgWzUwXSBS
ZXR1cm5UeXBlCi0gKgotICogRW50ZXI6ICAgdG9rID0gbmV4dCB0b2tlbgotICoKLSAqIFJldHVy
bjogIG5vZGUgZm9yIHR5cGUKLSAqICAgICAgICAgIHRvayB1cGRhdGVkCi0gKi8KLXN0YXRpYyBz
dHJ1Y3Qgbm9kZSAqCi1wYXJzZXJldHVybnR5cGUoc3RydWN0IHRvayAqdG9rKQotewotICAgIGlm
ICh0b2stPnR5cGUgPT0gVE9LX3ZvaWQpIHsKLSAgICAgICAgc3RydWN0IG5vZGUgKm5vZGUgPSBu
ZXdlbGVtZW50KCJUeXBlIik7Ci0gICAgICAgIGFkZG5vZGUobm9kZSwgbmV3YXR0cigidHlwZSIs
ICJ2b2lkIikpOwotICAgICAgICBsZXhub2NvbW1lbnQoKTsKLSAgICAgICAgcmV0dXJuIG5vZGU7
Ci0gICAgfQotICAgIHJldHVybiBwYXJzZXR5cGUodG9rKTsKLX0KLQotLyoqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
Ci0gKiBwYXJzZXVuc2lnbmVkaW50ZWdlcnR5cGUgOiBwYXJzZSBbNDZdIFVuc2lnbmVkSW50ZWdl
clR5cGUKLSAqCi0gKiBFbnRlcjogICB0b2sgPSBuZXh0IHRva2VuIChvbmUgb2YgInVuc2lnbmVk
IiwgInNob3J0IiBvciAibG9uZyIpCi0gKgotICogUmV0dXJuOiAgMC10ZXJtaW5hdGVkIGNhbm9u
aWNhbCBzdHJpbmcgZm9yIHRoZSB0eXBlCi0gKiAgICAgICAgICB0b2sgdXBkYXRlZCB0byBqdXN0
IHBhc3QgVW5zaWduZWRJbnRlZ2VyVHlwZQotICovCi1zdGF0aWMgY29uc3QgY2hhciAqCi1wYXJz
ZXVuc2lnbmVkaW50ZWdlcnR5cGUoc3RydWN0IHRvayAqdG9rKQotewotICAgIHN0YXRpYyBjb25z
dCBjaGFyICpuYW1lc1tdID0gewotICAgICAgICAic2hvcnQiLCAibG9uZyIsICJsb25nIGxvbmci
LCAwLAotICAgICAgICAidW5zaWduZWQgc2hvcnQiLCAidW5zaWduZWQgbG9uZyIsICJ1bnNpZ25l
ZCBsb25nIGxvbmciIH07Ci0gICAgZW51bSB7IFRZUEVfU0hPUlQsIFRZUEVfTE9ORywgVFlQRV9M
T05HTE9ORywKLSAgICAgICAgICAgVFlQRV9VTlNJR05FRCA9IDQgfTsKLSAgICBpbnQgdHlwZSA9
IDA7Ci0gICAgaWYgKHRvay0+dHlwZSA9PSBUT0tfdW5zaWduZWQpIHsKLSAgICAgICAgdHlwZSA9
IFRZUEVfVU5TSUdORUQ7Ci0gICAgICAgIGxleG5vY29tbWVudCgpOwotICAgIH0KLSAgICBpZiAo
dG9rLT50eXBlID09IFRPS19zaG9ydCkgewotICAgICAgICB0eXBlIHw9IFRZUEVfU0hPUlQ7Ci0g
ICAgICAgIGxleG5vY29tbWVudCgpOwotICAgIH0gZWxzZSBpZiAodG9rLT50eXBlICE9IFRPS19s
b25nKQotICAgICAgICB0b2tlcnJvcmV4aXQodG9rLCAiZXhwZWN0ZWQgJ3Nob3J0JyBvciAnbG9u
ZycgYWZ0ZXIgJ3Vuc2lnbmVkJyIpOwotICAgIGVsc2UgewotICAgICAgICB0eXBlIHw9IFRZUEVf
TE9ORzsKLSAgICAgICAgbGV4bm9jb21tZW50KCk7Ci0gICAgICAgIGlmICh0b2stPnR5cGUgPT0g
VE9LX2xvbmcpIHsKLSAgICAgICAgICAgIHR5cGUgKz0gVFlQRV9MT05HTE9ORyAtIFRZUEVfTE9O
RzsKLSAgICAgICAgICAgIGxleG5vY29tbWVudCgpOwotICAgICAgICB9Ci0gICAgfQotICAgIHJl
dHVybiBuYW1lc1t0eXBlXTsKLX0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogcGFyc2V0eXBlc3VmZml4
IDogcGFyc2UgWzQ0XSBUeXBlU3VmZml4Ci0gKgotICogRW50ZXI6ICAgdG9rID0gbmV4dCB0b2tl
bgotICoKLSAqIFJldHVybjogIG5vZGUgZm9yIHR5cGUKLSAqICAgICAgICAgIHRvayB1cGRhdGVk
Ci0gKi8KLXN0YXRpYyBzdHJ1Y3Qgbm9kZSAqCi1wYXJzZXR5cGVzdWZmaXgoc3RydWN0IHRvayAq
dG9rLCBzdHJ1Y3Qgbm9kZSAqbm9kZSkKLXsKLSAgICBpZiAodG9rLT50eXBlID09IFRPS19ET1VC
TEVCUkFDS0VUKSB7Ci0gICAgICAgIHN0cnVjdCBub2RlICp0eXBlbm9kZSA9IG5vZGU7Ci0Jbm9k
ZSA9IG5ld2VsZW1lbnQoIlR5cGUiKTsKLSAgICAgICAgYWRkbm9kZShub2RlLCBuZXdhdHRyKCJ0
eXBlIiwgImFycmF5IikpOwotICAgICAgICBhZGRub2RlKG5vZGUsIHR5cGVub2RlKTsKLSAgICAg
ICAgbGV4bm9jb21tZW50KCk7Ci0Jbm9kZSA9IHBhcnNldHlwZXN1ZmZpeCh0b2ssIG5vZGUpOwot
ICAgIH0gZWxzZSBpZiAodG9rLT50eXBlID09ICc/JykgewotICAgICAgICBhZGRub2RlKG5vZGUs
IG5ld2F0dHIoIm51bGxhYmxlIiwgIm51bGxhYmxlIikpOwotICAgICAgICBsZXhub2NvbW1lbnQo
KTsKLQlub2RlID0gcGFyc2V0eXBlc3VmZml4c3RhcnRpbmd3aXRoYXJyYXkodG9rLCBub2RlKTsK
LSAgICB9Ci0gICAgcmV0dXJuIG5vZGU7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogcGFyc2V0
eXBlc3VmZml4c3RhcnRpbmd3aXRoYXJyYXkgOiBwYXJzZSBbNDRdIFR5cGVTdWZmaXhTdGFydGlu
Z1dpdGhBcnJheQotICoKLSAqIEVudGVyOiAgIHRvayA9IG5leHQgdG9rZW4KLSAqCi0gKiBSZXR1
cm46ICBub2RlIGZvciB0eXBlCi0gKiAgICAgICAgICB0b2sgdXBkYXRlZAotICovCi1zdGF0aWMg
c3RydWN0IG5vZGUgKgotcGFyc2V0eXBlc3VmZml4c3RhcnRpbmd3aXRoYXJyYXkoc3RydWN0IHRv
ayAqdG9rLCAgc3RydWN0IG5vZGUgKm5vZGUpCi17Ci0gICAgaWYgKHRvay0+dHlwZSA9PSBUT0tf
RE9VQkxFQlJBQ0tFVCkgewotICAgICAgICBzdHJ1Y3Qgbm9kZSAqdHlwZW5vZGUgPSBub2RlOwot
CW5vZGUgPSBuZXdlbGVtZW50KCJUeXBlIik7Ci0gICAgICAgIGFkZG5vZGUobm9kZSwgbmV3YXR0
cigidHlwZSIsICJhcnJheSIpKTsKLSAgICAgICAgYWRkbm9kZShub2RlLCB0eXBlbm9kZSk7Ci0g
ICAgICAgIGxleG5vY29tbWVudCgpOwotCW5vZGUgPSBwYXJzZXR5cGVzdWZmaXgodG9rLCBub2Rl
KTsKLSAgICB9Ci0gICAgcmV0dXJuIG5vZGU7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogcGFy
c2VwcmltaXRpdmVvcnN0cmluZ3R5cGUgOiBwYXJzZSBbNDVdIFByaW1pdGl2ZU9yU3RyaW5nCi0g
KgotICogRW50ZXI6ICAgdG9rID0gbmV4dCB0b2tlbgotICoKLSAqIFJldHVybjogIG5vZGUgZm9y
IHR5cGUKLSAqICAgICAgICAgIHRvayB1cGRhdGVkCi0gKi8KLXN0YXRpYyBzdHJ1Y3Qgbm9kZSAq
Ci1wYXJzZXByaW1pdGl2ZW9yc3RyaW5ndHlwZShzdHJ1Y3QgdG9rICp0b2spCi17Ci0gIHN0cnVj
dCBub2RlICpub2RlOwotICAgIHN3aXRjaCAodG9rLT50eXBlKSB7Ci0gICAgY2FzZSBUT0tfdW5z
aWduZWQ6Ci0gICAgY2FzZSBUT0tfc2hvcnQ6Ci0gICAgY2FzZSBUT0tfbG9uZzoKLSAgICAgICAg
bm9kZSA9IG5ld2VsZW1lbnQoIlR5cGUiKTsKLSAgICAgICAgYWRkbm9kZShub2RlLCBuZXdhdHRy
KCJ0eXBlIiwgcGFyc2V1bnNpZ25lZGludGVnZXJ0eXBlKHRvaykpKTsKLSAgICAgICAgYnJlYWs7
Ci0gICAgZGVmYXVsdDoKLSAgICAgICAgbm9kZSA9IG5ld2VsZW1lbnQoIlR5cGUiKTsKLSAgICAg
ICAgc3dpdGNoICh0b2stPnR5cGUpIHsKLSAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgIHRv
a2Vycm9yZXhpdCh0b2ssICJleHBlY3RlZCB0eXBlIik7Ci0gICAgICAgICAgICBicmVhazsKLQlj
YXNlIFRPS191bnJlc3RyaWN0ZWQ6Ci0JICBsZXhub2NvbW1lbnQoKTsKLQkgIGlmICh0b2stPnR5
cGUgPT0gVE9LX2Zsb2F0KSB7Ci0gICAgICAgICAgICBhZGRub2RlKG5vZGUsIG5ld2F0dHIoInR5
cGUiLCAidW5yZXN0cmljdGVkIGZsb2F0IikpOwotCSAgfSBlbHNlIGlmICh0b2stPnR5cGUgPT0g
VE9LX2RvdWJsZSkgewotICAgICAgICAgICAgYWRkbm9kZShub2RlLCBuZXdhdHRyKCJ0eXBlIiwg
InVucmVzdHJpY3RlZCBkb3VibGUiKSk7Ci0JICB9IGVsc2UgewotICAgICAgICAgICAgdG9rZXJy
b3JleGl0KHRvaywgImV4cGVjdGVkIGZsb2F0IG9yIGRvdWJsZSBhZnRlciB1bnJlc3RyaWN0ZWQi
KTsKLQkgIH0KLQkgIGJyZWFrOwotICAgICAgICBjYXNlIFRPS19ib29sZWFuOgotICAgICAgICAg
ICAgYWRkbm9kZShub2RlLCBuZXdhdHRyKCJ0eXBlIiwgImJvb2xlYW4iKSk7Ci0gICAgICAgICAg
ICBicmVhazsKLSAgICAgICAgY2FzZSBUT0tfYnl0ZToKLSAgICAgICAgICAgIGFkZG5vZGUobm9k
ZSwgbmV3YXR0cigidHlwZSIsICJieXRlIikpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAg
IGNhc2UgVE9LX29jdGV0OgotICAgICAgICAgICAgYWRkbm9kZShub2RlLCBuZXdhdHRyKCJ0eXBl
IiwgIm9jdGV0IikpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgVE9LX2Zsb2F0
OgotICAgICAgICAgICAgYWRkbm9kZShub2RlLCBuZXdhdHRyKCJ0eXBlIiwgImZsb2F0IikpOwot
ICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgVE9LX2RvdWJsZToKLSAgICAgICAgICAg
IGFkZG5vZGUobm9kZSwgbmV3YXR0cigidHlwZSIsICJkb3VibGUiKSk7Ci0gICAgICAgICAgICBi
cmVhazsKLSAgICAgICAgY2FzZSBUT0tfRE9NU3RyaW5nOgotICAgICAgICAgICAgYWRkbm9kZShu
b2RlLCBuZXdhdHRyKCJ0eXBlIiwgIkRPTVN0cmluZyIpKTsKLSAgICAgICAgICAgIGJyZWFrOwot
ICAgICAgICBjYXNlIFRPS19CeXRlU3RyaW5nOgotICAgICAgICAgICAgYWRkbm9kZShub2RlLCBu
ZXdhdHRyKCJ0eXBlIiwgIkJ5dGVTdHJpbmciKSk7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAg
ICAgY2FzZSBUT0tfRGF0ZToKLSAgICAgICAgICAgIGFkZG5vZGUobm9kZSwgbmV3YXR0cigidHlw
ZSIsICJEYXRlIikpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgVE9LX1JlZ0V4
cDoKLSAgICAgICAgICAgIGFkZG5vZGUobm9kZSwgbmV3YXR0cigidHlwZSIsICJSZWdFeHAiKSk7
Ci0gICAgICAgICAgICBicmVhazsKLQotICAgICAgICB9Ci0gICAgICAgIGxleG5vY29tbWVudCgp
OwotICAgIH0KLSAgICByZXR1cm4gbm9kZTsKLX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBwYXJz
ZW5vbmFueXR5cGUgOiBwYXJzZSBOb25BbnlUeXBlCi0gKgotICogRW50ZXI6ICAgdG9rID0gbmV4
dCB0b2tlbgotICoKLSAqIFJldHVybjogIG5vZGUgZm9yIHR5cGUKLSAqICAgICAgICAgIHRvayB1
cGRhdGVkCi0gKi8KLXN0YXRpYyBzdHJ1Y3Qgbm9kZSAqCi1wYXJzZW5vbmFueXR5cGUoc3RydWN0
IHRvayAqdG9rKQotewotICAgIHN0cnVjdCBub2RlICpub2RlOwotICAgIHN3aXRjaCAodG9rLT50
eXBlKSB7Ci0gICAgY2FzZSBUT0tfSURFTlRJRklFUjoKLSAgICAgICAgbm9kZSA9IG5ld2VsZW1l
bnQoIlR5cGUiKTsKLSAgICAgICAgYWRkbm9kZShub2RlLCBwYXJzZXNjb3BlZG5hbWUodG9rLCAi
bmFtZSIsIDEpKTsKLQlub2RlID0gcGFyc2V0eXBlc3VmZml4KHRvaywgbm9kZSk7Ci0gICAgICAg
IGJyZWFrOwotICAgIGNhc2UgVE9LX3NlcXVlbmNlOgotICAgICAgICBub2RlID0gbmV3ZWxlbWVu
dCgiVHlwZSIpOwotICAgICAgICBhZGRub2RlKG5vZGUsIG5ld2F0dHIoInR5cGUiLCAic2VxdWVu
Y2UiKSk7Ci0gICAgICAgIGxleG5vY29tbWVudCgpOwotICAgICAgICBlYXQodG9rLCAnPCcpOwot
ICAgICAgICBhZGRub2RlKG5vZGUsIHBhcnNldHlwZSh0b2spKTsKLSAgICAgICAgZWF0KHRvaywg
Jz4nKTsKLQlpZiAodG9rLT50eXBlID09ICc/JykgewotCSAgYWRkbm9kZShub2RlLCBuZXdhdHRy
KCJudWxsYWJsZSIsICJudWxsYWJsZSIpKTsKLQkgIGxleG5vY29tbWVudCgpOwotCX0KLSAgICAg
ICAgYnJlYWs7Ci0gICAgY2FzZSBUT0tfb2JqZWN0OgotICAgICAgICBub2RlID0gbmV3ZWxlbWVu
dCgiVHlwZSIpOwotICAgICAgICBhZGRub2RlKG5vZGUsIG5ld2F0dHIoInR5cGUiLCAib2JqZWN0
IikpOwotICAgICAgICBsZXhub2NvbW1lbnQoKTsKLQlub2RlID0gcGFyc2V0eXBlc3VmZml4KHRv
aywgbm9kZSk7Ci0gICAgICAgIGJyZWFrOwotICAgIGRlZmF1bHQ6Ci0gICAgICAgIG5vZGUgPSBw
YXJzZXByaW1pdGl2ZW9yc3RyaW5ndHlwZSh0b2spOwotICAgICAgICBub2RlID0gcGFyc2V0eXBl
c3VmZml4KHRvaywgbm9kZSk7Ci0gICAgICAgIGJyZWFrOwotICAgIH0gICAgICAgCi0gICAgcmV0
dXJuIG5vZGU7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogcGFyc2V1bmlvbm1lbWJlcnR5cGU6
IHBhcnNlIFVuaW9uTWVtYmVyVHlwZQotICoKLSAqIEVudGVyOiAgIHRvayA9IG5leHQgdG9rZW4K
LSAqCi0gKiBSZXR1cm46ICBub2RlIGZvciB0eXBlCi0gKiAgICAgICAgICB0b2sgdXBkYXRlZAot
ICovCi1zdGF0aWMgc3RydWN0IG5vZGUgKgotcGFyc2V1bmlvbm1lbWJlcnR5cGUoc3RydWN0IHRv
ayAqdG9rKQotewotICBzdHJ1Y3Qgbm9kZSAqbm9kZTsKLSAgaWYgKHRvay0+dHlwZSA9PSBUT0tf
YW55KSB7Ci0gICAgc3RydWN0IG5vZGUgKnR5cGVub2RlID0gbmV3ZWxlbWVudCgiVHlwZSIpOwot
ICAgIGFkZG5vZGUodHlwZW5vZGUsIG5ld2F0dHIoInR5cGUiLCAiYW55IikpOwotICAgIGxleG5v
Y29tbWVudCgpOwotICAgIGVhdCh0b2ssIFRPS19ET1VCTEVCUkFDS0VUKTsKLSAgICBub2RlID0g
bmV3ZWxlbWVudCgiVHlwZSIpOwotICAgIGFkZG5vZGUobm9kZSwgbmV3YXR0cigidHlwZSIsICJh
cnJheSIpKTsKLSAgICBhZGRub2RlKG5vZGUsIHR5cGVub2RlKTsKLSAgICBsZXhub2NvbW1lbnQo
KTsKLSAgICBub2RlID0gcGFyc2V0eXBlc3VmZml4KHRvaywgbm9kZSk7Ci0gIH0gZWxzZSBpZiAo
dG9rLT50eXBlID09ICcoJykgeyAKLSAgICBub2RlID0gcGFyc2V1bmlvbnR5cGUodG9rKTsKLSAg
fSBlbHNlIHsKLSAgICBub2RlID0gcGFyc2Vub25hbnl0eXBlKHRvayk7Ci0gIH0KLSAgcmV0dXJu
IG5vZGU7Ci19Ci0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBwYXJzZXVuaW9udHlwZSA6IHBhcnNl
IFVuaW9uVHlwZQotICoKLSAqIEVudGVyOiAgIHRvayA9IG5leHQgdG9rZW4KLSAqCi0gKiBSZXR1
cm46ICBub2RlIGZvciB0eXBlCi0gKiAgICAgICAgICB0b2sgdXBkYXRlZAotICovCi1zdGF0aWMg
c3RydWN0IG5vZGUgKgotcGFyc2V1bmlvbnR5cGUoc3RydWN0IHRvayAqdG9rKQotewotICBzdHJ1
Y3Qgbm9kZSAqbm9kZTsKLSAgZWF0KHRvaywgJygnKTsKLSAgbm9kZSA9IG5ld2VsZW1lbnQoIlR5
cGUiKTsKLSAgYWRkbm9kZShub2RlLCBuZXdhdHRyKCJ0eXBlIiwgInVuaW9uIikpOwotICBpZiAo
dG9rLT50eXBlICE9ICcpJykgewotICAgIGZvciAoOzspIHsKLSAgICAgIGFkZG5vZGUobm9kZSwg
cGFyc2V1bmlvbm1lbWJlcnR5cGUodG9rKSk7Ci0gICAgICBpZiAodG9rLT50eXBlICE9IFRPS19v
cikKLQlicmVhazsKLSAgICAgIGxleG5vY29tbWVudCgpOwotICAgIH0KLSAgfQotICBlYXQodG9r
LCAnKScpOwotICBub2RlID0gcGFyc2V0eXBlc3VmZml4KHRvaywgbm9kZSk7ICAgICAgCi0gIHJl
dHVybiBub2RlOwotfQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIHBhcnNldHlwZSA6IHBhcnNlIFs0
NF0gVHlwZQotICoKLSAqIEVudGVyOiAgIHRvayA9IG5leHQgdG9rZW4KLSAqCi0gKiBSZXR1cm46
ICBub2RlIGZvciB0eXBlCi0gKiAgICAgICAgICB0b2sgdXBkYXRlZAotICovCi1zdGF0aWMgc3Ry
dWN0IG5vZGUgKgotcGFyc2V0eXBlKHN0cnVjdCB0b2sgKnRvaykKLXsKLSAgICBzdHJ1Y3Qgbm9k
ZSAqbm9kZTsKLSAgICBpZiAodG9rLT50eXBlID09ICcoJykgewotICAgICAgbm9kZSA9IHBhcnNl
dW5pb250eXBlKHRvayk7Ci0gICAgfSBlbHNlIGlmICh0b2stPnR5cGUgPT0gVE9LX2FueSkgewot
ICAgICAgbm9kZSA9IG5ld2VsZW1lbnQoIlR5cGUiKTsKLSAgICAgIGFkZG5vZGUobm9kZSwgbmV3
YXR0cigidHlwZSIsICJhbnkiKSk7Ci0gICAgICBsZXhub2NvbW1lbnQoKTsKLSAgICAgIG5vZGUg
PSBwYXJzZXR5cGVzdWZmaXhzdGFydGluZ3dpdGhhcnJheSh0b2ssIG5vZGUpOwotICAgIH0gZWxz
ZSB7Ci0gICAgICBub2RlID0gcGFyc2Vub25hbnl0eXBlKHRvayk7CQotICAgIH0KLSAgICByZXR1
cm4gbm9kZTsKLX0KLQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIHBhcnNlZXh0ZW5kZWRhdHRyaWJ1
dGUgOiBwYXJzZSBbMzldIEV4dGVuZGVkQXR0cmlidXRlCi0gKgotICogRW50ZXI6ICAgdG9rID0g
bmV4dCB0b2tlbgotICoKLSAqIFJldHVybjogIG5vZGUgZm9yIGV4dGVuZGVkIGF0dHJpYnV0ZQot
ICoKLSAqIFRoaXMgcGFyc2VzIHRoZSB2YXJpb3VzIGZvcm1zIG9mIGV4dGVuZGVkIGF0dHJpYnV0
ZSwgYXMgaW4KLSAqIHJ1bGVzIFs1N10gWzU4XSBbNTldIFs2MF0gWzYxXS4KLSAqCi0gKiBUaGlz
IGRvZXMgbm90IHNwb3QgdGhlIGVycm9yIHRoYXQgeW91IGNhbm5vdCBoYXZlIGEgU2NvcGVkTmFt
ZQotICogYW5kIGFuIEFyZ3VtZW50TGlzdC4KLSAqLwotc3RhdGljIHN0cnVjdCBub2RlICoKLXBh
cnNlZXh0ZW5kZWRhdHRyaWJ1dGUoc3RydWN0IHRvayAqdG9rKQotewotCWNvbnN0IGNoYXIgKnN0
YXJ0IDsKLSAgICBzdHJ1Y3Qgbm9kZSAqbm9kZSA9IG5ld2VsZW1lbnQoIkV4dGVuZGVkQXR0cmli
dXRlIik7Ci0gICAgY2hhciAqYXR0cm5hbWUgPSBzZXRpZGVudGlmaWVyKHRvayk7Ci0gICAgYWRk
bm9kZShub2RlLCBuZXdhdHRyKCJuYW1lIiwgYXR0cm5hbWUpKTsKLSAgICBzdGFydCA9IHRvay0+
cHJlc3RhcnQ7Ci0gICAgbm9kZS0+d3NzdGFydCA9IHN0YXJ0OwotICAgIG5vZGUtPmVuZCA9IHRv
ay0+c3RhcnQgKyB0b2stPmxlbjsKLSAgICBpZighc3RyY21wKGF0dHJuYW1lLCAiQ29uc3RydWN0
b3IiKSB8fCAhc3RyY21wKGF0dHJuYW1lLCAiTmFtZWRDb25zdHJ1Y3RvciIpKSB7Ci0JICAgIHNl
dGNvbW1lbnRub2RlKG5vZGUpOwotCX0KLSAgICBsZXhub2NvbW1lbnQoKTsKLSAgICBpZiAodG9r
LT50eXBlID09ICc9JykgewotICAgICAgICBsZXhub2NvbW1lbnQoKTsKLSAgICAgICAgYWRkbm9k
ZShub2RlLCBwYXJzZXNjb3BlZG5hbWUodG9rLCAidmFsdWUiLCAwKSk7Ci0gICAgfQotICAgIGlm
ICh0b2stPnR5cGUgPT0gJygnKSB7Ci0gICAgICAgIGxleG5vY29tbWVudCgpOwotICAgICAgICBh
ZGRub2RlKG5vZGUsIHBhcnNlYXJndW1lbnRsaXN0KHRvaykpOwotCSAgICBub2RlLT5lbmQgPSB0
b2stPnN0YXJ0ICsgdG9rLT5sZW47Ci0gICAgICAgIGVhdCh0b2ssICcpJyk7Ci0gICAgfQotICAg
IHJldHVybiBub2RlOwotfQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIHBhcnNlZXh0ZW5kZWRhdHRy
aWJ1dGVsaXN0IDogcGFyc2UgWzM3XSBFeHRlbmRlZEF0dHJpYnV0ZUxpc3QKLSAqCi0gKiBFbnRl
cjogICB0b2sgPSBuZXh0IHRva2VuCi0gKgotICogUmV0dXJuOiAgMCBlbHNlIG5vZGUgZm9yIGV4
dGVuZGVkIGF0dHJpYnV0ZSBsaXN0Ci0gKiAgICAgICAgICB0b2sgdXBkYXRlZCBpZiBhbnl0aGlu
ZyBwYXJzZWQKLSAqLwotc3RhdGljIHN0cnVjdCBub2RlICoKLXBhcnNlZXh0ZW5kZWRhdHRyaWJ1
dGVsaXN0KHN0cnVjdCB0b2sgKnRvaykKLXsKLSAgICBzdHJ1Y3Qgbm9kZSAqbm9kZTsKLSAgICBp
ZiAodG9rLT50eXBlICE9ICdbJykKLSAgICAgICAgcmV0dXJuIDA7Ci0gICAgbm9kZSA9IG5ld2Vs
ZW1lbnQoIkV4dGVuZGVkQXR0cmlidXRlTGlzdCIpOwotICAgIGZvciAoOzspIHsKLSAgICAgICAg
bGV4bm9jb21tZW50KCk7Ci0gICAgICAgIGFkZG5vZGUobm9kZSwgcGFyc2VleHRlbmRlZGF0dHJp
YnV0ZSh0b2spKTsKLSAgICAgICAgaWYgKHRvay0+dHlwZSAhPSAnLCcpCi0gICAgICAgICAgICBi
cmVhazsKLSAgICB9Ci0gICAgaWYgKHRvay0+dHlwZSAhPSAnXScpCi0gICAgICAgIHRva2Vycm9y
ZXhpdCh0b2ssICJleHBlY3RlZCAnLCcgb3IgJ10nIik7Ci0gICAgbGV4bm9jb21tZW50KCk7Ci0g
ICAgcmV0dXJuIG5vZGU7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogcGFyc2VleGNlcHRpb25m
aWVsZCA6IHBhcnNlIFszNl0gRXhjZXB0aW9uRmllbGQKLSAqCi0gKiBFbnRlcjogICB0b2sgPSBu
ZXh0IHRva2VuCi0gKiAgICAgICAgICBlYWwgPSAwIGVsc2UgZXh0ZW5kZWQgYXR0cmlidXRlIGxp
c3Qgbm9kZQotICoKLSAqIFJldHVybjogIG5ldyBub2RlIGZvciB0aGUgZXhjZXB0aW9uZmllbGQK
LSAqICAgICAgICAgIHRvayB1cGRhdGVkCi0gKi8KLXN0YXRpYyBzdHJ1Y3Qgbm9kZSAqCi1wYXJz
ZWV4Y2VwdGlvbmZpZWxkKHN0cnVjdCB0b2sgKnRvaywgc3RydWN0IG5vZGUgKmVhbCkKLXsKLSAg
ICBzdHJ1Y3Qgbm9kZSAqbm9kZSA9IG5ld2VsZW1lbnQoIkV4Y2VwdGlvbkZpZWxkIik7Ci0gICAg
aWYgKGVhbCkgYWRkbm9kZShub2RlLCBlYWwpOwotICAgIHNldGNvbW1lbnRub2RlKG5vZGUpOwot
ICAgIGFkZG5vZGUobm9kZSwgcGFyc2V0eXBlKHRvaykpOwotICAgIGFkZG5vZGUobm9kZSwgbmV3
YXR0cigibmFtZSIsIHNldGlkZW50aWZpZXIodG9rKSkpOwotICAgIHRvayA9IGxleG5vY29tbWVu
dCgpOwotICAgIHJldHVybiBub2RlOwotfQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIHBhcnNlYXJn
dW1lbnQgOiBwYXJzZSBbMzFdIEFyZ3VtZW50Ci0gKgotICogRW50ZXI6ICAgdG9rID0gbmV4dCB0
b2tlbgotICoKLSAqIFJldHVybjogIG5ldyBub2RlCi0gKgotICogdG9rIHVwZGF0ZWQgb24gcmV0
dXJuCi0gKi8KLXN0YXRpYyBzdHJ1Y3Qgbm9kZSAqCi1wYXJzZWFyZ3VtZW50KHN0cnVjdCB0b2sg
KnRvaykKLXsKLSAgICBzdHJ1Y3Qgbm9kZSAqbm9kZSA9IG5ld2VsZW1lbnQoIkFyZ3VtZW50Iik7
Ci0gICAgc3RydWN0IG5vZGUgKmVhbCA9IHBhcnNlZXh0ZW5kZWRhdHRyaWJ1dGVsaXN0KHRvayk7
Ci0gICAgc2V0Y29tbWVudG5vZGUobm9kZSk7Ci0gICAgaWYgKGVhbCkgYWRkbm9kZShub2RlLCBl
YWwpOwotICAgIGlmICh0b2stPnR5cGUgPT0gVE9LX29wdGlvbmFsKSB7Ci0gICAgICAgIGFkZG5v
ZGUobm9kZSwgbmV3YXR0cigib3B0aW9uYWwiLCAib3B0aW9uYWwiKSk7Ci0gICAgICAgIGxleG5v
Y29tbWVudCgpOwotICAgIH0KLSAgICBhZGRub2RlKG5vZGUsIHBhcnNldHlwZSh0b2spKTsKLSAg
ICBpZiAodG9rLT50eXBlID09IFRPS19FTExJUFNJUykgewotICAgICAgICBhZGRub2RlKG5vZGUs
IG5ld2F0dHIoImVsbGlwc2lzIiwgImVsbGlwc2lzIikpOwotICAgICAgICBsZXhub2NvbW1lbnQo
KTsKLSAgICB9Ci0gICAgYWRkbm9kZShub2RlLCBuZXdhdHRyKCJuYW1lIiwgc2V0YXJndW1lbnRu
YW1lKHRvaykpKTsKLSAgICBsZXhub2NvbW1lbnQoKTsKLSAgICAvLyBPcHRpb25hbCBkZWZhdWx0
IHZhbHVlCi0gICAgaWYgKHRvay0+dHlwZSA9PSAnPScpIHsKLSAgICAgIHRvayA9IGxleG5vY29t
bWVudCgpOwotICAgICAgbm9kZSA9IHBhcnNlZGVmYXVsdHZhbHVlKHRvaywgbm9kZSk7Ci0gICAg
fQotICAgIHJldHVybiBub2RlOwotfQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIHBhcnNlYXJndW1l
bnRsaXN0IDogcGFyc2UgWzI5XSBBcmd1bWVudExpc3QKLSAqCi0gKiBFbnRlcjogICB0b2sgPSBu
ZXh0IHRva2VuCi0gKgotICogUmV0dXJuOiAgbmV3IG5vZGUgZm9yIHRoZSBhcmdsaXN0Ci0gKiAg
ICAgICAgICB0b2sgdXBkYXRlZAotICovCi1zdGF0aWMgc3RydWN0IG5vZGUgKgotcGFyc2Vhcmd1
bWVudGxpc3Qoc3RydWN0IHRvayAqdG9rKQotewotICAgIHN0cnVjdCBub2RlICpub2RlID0gbmV3
ZWxlbWVudCgiQXJndW1lbnRMaXN0Iik7Ci0gICAgLyogV2UgcmVseSBvbiB0aGUgZmFjdCB0aGF0
IEFyZ3VtZW50TGlzdCBpcyBhbHdheXMgZm9sbG93ZWQgYnkgJyknLiAqLwotICAgIGlmICh0b2st
PnR5cGUgIT0gJyknKSB7Ci0gICAgICAgIGZvciAoOzspIHsKLSAgICAgICAgICAgIGFkZG5vZGUo
bm9kZSwgcGFyc2Vhcmd1bWVudCh0b2spKTsKLSAgICAgICAgICAgIGlmICh0b2stPnR5cGUgIT0g
JywnKQotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgbGV4bm9jb21tZW50KCk7
Ci0gICAgICAgIH0KLSAgICB9Ci0gICAgcmV0dXJuIG5vZGU7Ci19Ci0KLQotLyoqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqCi0gKiBwYXJzZW9wZXJhdGlvbnJlc3QgOiBwYXJzZSBbMjVdIE9wZXJhdGlvblJlc3QKLSAq
Ci0gKiBFbnRlcjogICB0b2sgPSBuZXh0IHRva2VuCi0gKiAgICAgICAgICBub2RlCi0gKgotICog
UmV0dXJuOiAgbm9kZQotICogICAgICAgICAgdG9rIG9uIHRlcm1pbmF0aW5nICc7JwotICovCi1z
dGF0aWMgc3RydWN0IG5vZGUgKgotcGFyc2VvcGVyYXRpb25yZXN0KHN0cnVjdCB0b2sgKnRvaywg
c3RydWN0IG5vZGUgKm5vZGUpCi17Ci0gICAgaWYgKHRvay0+dHlwZSA9PSBUT0tfSURFTlRJRklF
UikgewotICAgICAgICBhZGRub2RlKG5vZGUsIG5ld2F0dHIoIm5hbWUiLCBzZXRpZGVudGlmaWVy
KHRvaykpKTsKLSAgICAgICAgbGV4bm9jb21tZW50KCk7Ci0gICAgfQotICAgIGVhdCh0b2ssICco
Jyk7Ci0gICAgYWRkbm9kZShub2RlLCBwYXJzZWFyZ3VtZW50bGlzdCh0b2spKTsKLSAgICBlYXQo
dG9rLCAnKScpOwotICAgIHJldHVybiBub2RlOwotfQotCi0vKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIHBh
cnNlcmV0dXJudHlwZWFuZG9wZXJhdGlvbnJlc3Q6IHBhcnNlIFJldHVyblR5cGUgT3BlcmF0aW9u
UmVzdAotICogRW50ZXI6ICAgdG9rID0gbmV4dCB0b2tlbgotICogICAgICAgICAgZWFsCi0gKiAg
ICAgICAgICBhdHRycyBsaXN0IG9mIGF0dHJpYnV0ZXMKLSAqIFJldHVybjogIG5vZGUKLSAqICAg
ICAgICAgIHRvayBvbiB0ZXJtaW5hdGluZyAnOycKLSAqLwotc3RhdGljIHN0cnVjdCBub2RlICoK
LXBhcnNlcmV0dXJudHlwZWFuZG9wZXJhdGlvbnJlc3Qoc3RydWN0IHRvayAqdG9rLCBzdHJ1Y3Qg
bm9kZSAqZWFsLCBzdHJ1Y3Qgbm9kZSAqYXR0cnMpIAotewotICBzdHJ1Y3Qgbm9kZSAqbm9kZSA9
ICBuZXdlbGVtZW50KCJPcGVyYXRpb24iKTsKLSAgc3RydWN0IG5vZGUgKm5vZGVUeXBlID0gcGFy
c2VyZXR1cm50eXBlKHRvayk7Ci0gIGlmIChlYWwpIGFkZG5vZGUobm9kZSwgZWFsKTsKLSAgc2V0
Y29tbWVudG5vZGUobm9kZSk7Ci0gIGFkZG5vZGUobm9kZSwgYXR0cnMpOwotICBhZGRub2RlKG5v
ZGUsIG5vZGVUeXBlKTsKLSAgcmV0dXJuIHBhcnNlb3BlcmF0aW9ucmVzdCh0b2ssIG5vZGUpOwot
fQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioKLSAqIHBhcnNlaXRlcmF0b3JyZXN0IDogcGFyc2UgT3B0aW9u
YWxJdGVyYXRvckludGVyZmFjZQotICoKLSAqIEVudGVyOiAgIHRvayA9IG5leHQgdG9rZW4KLSAq
ICAgICAgICAgIG5vZGUKLSAqCi0gKiBSZXR1cm46ICBub2RlCi0gKiAgICAgICAgICB0b2sgb24g
dGVybWluYXRpbmcgJzsnCi0gKi8KLXN0YXRpYyBzdHJ1Y3Qgbm9kZSAqCi1wYXJzZW9wdGlvbmFs
aXRlcmF0b3JpbnRlcmZhY2Uoc3RydWN0IHRvayAqdG9rLCBzdHJ1Y3Qgbm9kZSAqbm9kZSkKLXsK
LSAgaWYgKHRvay0+dHlwZSA9PSAnPScpIHsKLSAgICBsZXhub2NvbW1lbnQoKTsKLSAgICBhZGRu
b2RlKG5vZGUsIG5ld2F0dHIoImludGVyZmFjZSIsIHNldGlkZW50aWZpZXIodG9rKSkpOwotICAg
IGxleG5vY29tbWVudCgpOwotICB9Ci0gIHJldHVybiBub2RlOwotfQotCi0vKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioKLSAqIHBhcnNlb3BlcmF0aW9ub3JpdGVyYXRvcnJlc3QgOiBwYXJzZSBbMjVdIE9wZXJhdGlv
bk9ySXRlcmF0b3JSZXN0Ci0gKgotICogRW50ZXI6ICAgdG9rID0gbmV4dCB0b2tlbgotICogICAg
ICAgICAgZWFsID0gMCBlbHNlIGV4dGVuZGVkIGF0dHJpYnV0ZSBsaXN0IG5vZGUKLSAqICAgICAg
ICAgIGF0dHJzID0gbGlzdC1vZi1hdHRycyBub2RlIGNvbnRhaW5pbmcgYXR0cnMgdG8gYWRkIHRv
IG5ldyBub2RlCi0gKgotICogUmV0dXJuOiAgbmV3IG5vZGUKLSAqICAgICAgICAgIHRvayBvbiB0
ZXJtaW5hdGluZyAnOycKLSAqLwotc3RhdGljIHN0cnVjdCBub2RlICoKLXBhcnNlb3BlcmF0aW9u
b3JpdGVyYXRvcnJlc3Qoc3RydWN0IHRvayAqdG9rLCBzdHJ1Y3Qgbm9kZSAqZWFsLCBzdHJ1Y3Qg
bm9kZSAqYXR0cnMpCi17Ci0gIHN0cnVjdCBub2RlICpub2RlOwotICBzdHJ1Y3Qgbm9kZSAqbm9k
ZVR5cGUgPSBwYXJzZXJldHVybnR5cGUodG9rKTsKLSAgdW5zaWduZWQgaW50IGlzSXRlcmF0b3Ig
PSAwOwotICBpZiAodG9rLT50eXBlID09IFRPS19pdGVyYXRvcikgewotICAgIGxleG5vY29tbWVu
dCgpOwotICAgIGlmICh0b2stPnR5cGUgPT0gVE9LX29iamVjdCkgewotICAgICAgbGV4bm9jb21t
ZW50KCk7Ci0gICAgICBub2RlID0gbmV3ZWxlbWVudCgiSXRlcmF0b3JPYmplY3QiKTsKLSAgICAg
IGFkZG5vZGUobm9kZSwgbm9kZVR5cGUpOwotICAgICAgcmV0dXJuIG5vZGU7Ci0gICAgfSBlbHNl
IHsKLSAgICAgIG5vZGUgPSBuZXdlbGVtZW50KCJJdGVyYXRvciIpOwotICAgICAgaXNJdGVyYXRv
ciA9IDE7ICAgIAotICAgIH0KLSAgfSBlbHNlIHsKLSAgICBub2RlID0gbmV3ZWxlbWVudCgiT3Bl
cmF0aW9uIik7Ci0gIH0KLSAgaWYgKGVhbCkgYWRkbm9kZShub2RlLCBlYWwpOwotICBzZXRjb21t
ZW50bm9kZShub2RlKTsKLSAgYWRkbm9kZShub2RlLCBhdHRycyk7Ci0gIGFkZG5vZGUobm9kZSwg
bm9kZVR5cGUpOwotICBpZiAoaXNJdGVyYXRvcikKLSAgICByZXR1cm4gcGFyc2VvcHRpb25hbGl0
ZXJhdG9yaW50ZXJmYWNlKHRvaywgbm9kZSk7Ci0gIGVsc2UKLSAgICByZXR1cm4gcGFyc2VvcGVy
YXRpb25yZXN0KHRvaywgbm9kZSk7Ci19Ci0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBwYXJzZWF0
dHJpYnV0ZSA6IHBhcnNlIFsxN10gQXR0cmlidXRlCi0gKgotICogRW50ZXI6ICAgdG9rID0gbmV4
dCB0b2tlbiAoInJlYWRvbmx5IiBvciAiYXR0cmlidXRlIikKLSAqICAgICAgICAgIGVhbCA9IDAg
ZWxzZSBleHRlbmRlZCBhdHRyaWJ1dGUgbGlzdCBub2RlCi0gKiAgICAgICAgICBhdHRycyA9IGxp
c3Qtb2YtYXR0cnMgbm9kZSBjb250YWluaW5nIGF0dHJzIHRvIGFkZCB0byBuZXcgbm9kZQotICoK
LSAqIFJldHVybjogIG5vZGUKLSAqICAgICAgICAgIHRvayBvbiB0ZXJtaW5hdGluZyAnOycKLSAq
Lwotc3RhdGljIHN0cnVjdCBub2RlICoKLXBhcnNlYXR0cmlidXRlKHN0cnVjdCB0b2sgKnRvaywg
c3RydWN0IG5vZGUgKmVhbCwgc3RydWN0IG5vZGUgKmF0dHJzKQotewotICAgIHN0cnVjdCBub2Rl
ICpub2RlID0gbmV3ZWxlbWVudCgiQXR0cmlidXRlIik7Ci0gICAgaWYgKGVhbCkgYWRkbm9kZShu
b2RlLCBlYWwpOwotICAgIHNldGNvbW1lbnRub2RlKG5vZGUpOwotICAgIGFkZG5vZGUobm9kZSwg
YXR0cnMpOwotICAgIGlmICh0b2stPnR5cGUgPT0gVE9LX2luaGVyaXQpIHsKLSAgICAgICAgbGV4
bm9jb21tZW50KCk7Ci0JYWRkbm9kZShub2RlLCBuZXdhdHRyKCJpbmhlcml0IiwgImluaGVyaXQi
KSk7Ci0gICAgfQotICAgIGlmICh0b2stPnR5cGUgPT0gVE9LX3JlYWRvbmx5KSB7Ci0gICAgICAg
IGxleG5vY29tbWVudCgpOwotICAgICAgICBhZGRub2RlKG5vZGUsIG5ld2F0dHIoInJlYWRvbmx5
IiwgInJlYWRvbmx5IikpOwotICAgIH0KLSAgICBlYXQodG9rLCBUT0tfYXR0cmlidXRlKTsKLSAg
ICBhZGRub2RlKG5vZGUsIHBhcnNldHlwZSh0b2spKTsKLSAgICBhZGRub2RlKG5vZGUsIG5ld2F0
dHIoIm5hbWUiLCBzZXRpZGVudGlmaWVyKHRvaykpKTsKLSAgICBsZXhub2NvbW1lbnQoKTsKLSAg
ICByZXR1cm4gbm9kZTsKLX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBwYXJzZXNlcmlhbGl6ZXIg
OiBwYXJzZSBTZXJpYWxpemVyCi0gKgotICogRW50ZXI6ICAgdG9rID0gbmV4dCB0b2tlbgotICog
ICAgICAgICAgZWFsCi0gKgotICogUmV0dXJuOiAgbm9kZSB1cGRhdGVkIHdpdGggdmFsdWUKLSAq
ICAgICAgICAgIHRvayB1cGRhdGVkCi0gKi8KLXN0YXRpYyBzdHJ1Y3Qgbm9kZSAqCi1wYXJzZXNl
cmlhbGl6ZXIgKHN0cnVjdCB0b2sgKnRvaywgc3RydWN0IG5vZGUgKmVhbCkgewotCXN0cnVjdCBu
b2RlICpub2RlQXR0cmlidXRlOwotCXN0cnVjdCBub2RlICpub2RlID0gbmV3ZWxlbWVudCgiU2Vy
aWFsaXplciIpOwotICBpZiAodG9rLT50eXBlID09ICc9JykgewotICAgIGlmIChlYWwpIGFkZG5v
ZGUobm9kZSwgZWFsKTsKLSAgICBsZXhub2NvbW1lbnQoKTsKLSAgICBpZiAodG9rLT50eXBlID09
IFRPS19JREVOVElGSUVSKSB7Ci0gICAgICBhZGRub2RlKG5vZGUsIG5ld2F0dHIoImF0dHJpYnV0
ZSIsIHNldGlkZW50aWZpZXIodG9rKSkpOwotICAgICAgbGV4bm9jb21tZW50KCk7Ci0gICAgfSBl
bHNlIGlmICh0b2stPnR5cGUgPT0gJ3snKSB7Ci0gICAgICB1bnNpZ25lZCBpbnQgZG9uZSA9IDA7
Ci0gICAgICBzdHJ1Y3Qgbm9kZSAqbm9kZU1hcCA9IG5ld2VsZW1lbnQoIk1hcCIpOwotICAgICAg
bGV4bm9jb21tZW50KCk7Ci0gICAgICBpZiAodG9rLT50eXBlID09IFRPS19nZXR0ZXIpIHsKLQlh
ZGRub2RlKG5vZGVNYXAsIG5ld2F0dHIoInBhdHRlcm4iLCAiZ2V0dGVyIikpOwotCWRvbmUgPSAx
OwotICAgICAgfSBlbHNlIGlmICh0b2stPnR5cGUgPT0gVE9LX2F0dHJpYnV0ZSkgewotCWFkZG5v
ZGUobm9kZU1hcCwgbmV3YXR0cigicGF0dGVybiIsICJhbGwiKSk7Ci0JZG9uZSA9IDE7Ci0gICAg
ICB9IGVsc2UgaWYgKHRvay0+dHlwZSA9PSBUT0tfaW5oZXJpdCkgewotCWFkZG5vZGUobm9kZU1h
cCwgbmV3YXR0cigiaW5oZXJpdCIsICJpbmhlcml0IikpOwotCWxleG5vY29tbWVudCgpOwotCWVh
dCh0b2ssICcsJyk7Ci0JaWYgKHRvay0+dHlwZSA9PSBUT0tfYXR0cmlidXRlKSB7Ci0JICBhZGRu
b2RlKG5vZGVNYXAsIG5ld2F0dHIoInBhdHRlcm4iLCAiYWxsIikpOwotCSAgZG9uZSA9IDE7Ci0J
fQotICAgICAgfSBlbHNlIGlmICh0b2stPnR5cGUgIT0gVE9LX0lERU5USUZJRVIpIHsKLQl0b2tl
cnJvcmV4aXQodG9rLCAiZXhwZWN0ZWQgJ2F0dHJpYnV0ZScsICdnZXR0ZXInLCAnaW5oZXJpdCcg
b3IgYXR0cmlidXRlIGlkZW50aWZpZXJzIGluIHNlcmlhbGl6ZXIgbWFwIik7Ci0gICAgICB9Ci0g
ICAgICBpZiAoZG9uZSkgewotCWxleG5vY29tbWVudCgpOwotCWVhdCh0b2ssICd9Jyk7Ci0gICAg
ICB9IGVsc2UgewotCWFkZG5vZGUobm9kZU1hcCwgbmV3YXR0cigicGF0dGVybiIsICJzZWxlY3Rp
b24iKSk7Ci0JZG8gewotCSAgaWYgKHRvay0+dHlwZSAhPSBUT0tfSURFTlRJRklFUikKLQkgICAg
dG9rZXJyb3JleGl0KHRvaywgImV4cGVjdGVkIGF0dHJpYnV0ZSBpZGVudGlmaWVycyBpbiBzZXJp
YWxpemVyIG1hcCAlcyIsIHRvay0+cHJlc3RhcnQpOwotCSAgbm9kZUF0dHJpYnV0ZSA9IG5ld2Vs
ZW1lbnQoIlBhdHRlcm5BdHRyaWJ1dGUiKTsKLQkgIGFkZG5vZGUobm9kZUF0dHJpYnV0ZSwgbmV3
YXR0cigibmFtZSIsIHNldGlkZW50aWZpZXIodG9rKSkpOwotCSAgYWRkbm9kZShub2RlTWFwLCBu
b2RlQXR0cmlidXRlKTsKLQkgIGxleG5vY29tbWVudCgpOwotCSAgaWYgKHRvay0+dHlwZSA9PSAn
LCcpCi0JICAgIGxleG5vY29tbWVudCgpOwotCX0gd2hpbGUgKHRvay0+dHlwZSAhPSAnfScpOwot
CWVhdCh0b2ssICd9Jyk7Ci0gICAgICB9Ci0gICAgICBhZGRub2RlKG5vZGUsIG5vZGVNYXApOwot
ICAgIH0gZWxzZSBpZiAodG9rLT50eXBlID09ICdbJykgewotICAgICAgc3RydWN0IG5vZGUgKm5v
ZGVMaXN0ID0gbmV3ZWxlbWVudCgiTGlzdCIpOwotICAgICAgbGV4bm9jb21tZW50KCk7Ci0gICAg
ICBpZiAodG9rLT50eXBlID09IFRPS19nZXR0ZXIpIHsKLQlhZGRub2RlKG5vZGVMaXN0LCBuZXdh
dHRyKCJwYXR0ZXJuIiwgImdldHRlciIpKTsKLQlsZXhub2NvbW1lbnQoKTsKLQllYXQodG9rLCAn
XScpOwotICAgICAgfSBlbHNlIHsKLQlhZGRub2RlKG5vZGVMaXN0LCBuZXdhdHRyKCJwYXR0ZXJu
IiwgInNlbGVjdGlvbiIpKTsKLQlkbyB7Ci0JICBpZiAodG9rLT50eXBlICE9IFRPS19JREVOVElG
SUVSKQotCSAgICB0b2tlcnJvcmV4aXQodG9rLCAiZXhwZWN0ZWQgYXR0cmlidXRlIGlkZW50aWZp
ZXJzIGluIHNlcmlhbGl6ZXIgbGlzdCIpOwotCSAgbm9kZUF0dHJpYnV0ZSA9IG5ld2VsZW1lbnQo
IlBhdHRlcm5BdHRyaWJ1dGUiKTsKLQkgIGFkZG5vZGUobm9kZUF0dHJpYnV0ZSwgbmV3YXR0cigi
bmFtZSIsIHNldGlkZW50aWZpZXIodG9rKSkpOwotCSAgYWRkbm9kZShub2RlTGlzdCwgbm9kZUF0
dHJpYnV0ZSk7Ci0JICBsZXhub2NvbW1lbnQoKTsKLQkgIGlmICh0b2stPnR5cGUgPT0gJywnKQot
CSAgICBsZXhub2NvbW1lbnQoKTsKLQl9IHdoaWxlICh0b2stPnR5cGUgIT0gJ10nKTsJICAgIAot
CWVhdCh0b2ssICddJyk7Ci0gICAgICB9Ci0gICAgICBhZGRub2RlKG5vZGUsIG5vZGVMaXN0KTsK
LSAgICB9IGVsc2UgewotICAgICAgdG9rZXJyb3JleGl0KHRvaywgIkV4cGVjdGVkICd7JywgJ1sn
IG9yIGFuIGF0dHJpYnV0ZSBpZGVudGlmaWVyIGluIHRoZSBzZXJpYWxpemVyIGRlY2xhcmF0aW9u
Iik7Ci0gICAgfQotICAgIHJldHVybiBub2RlOwotICB9IGVsc2UgewotICAgIGlmIChlYWwpIGFk
ZG5vZGUobm9kZSwgZWFsKTsKLSAgICByZXR1cm4gbm9kZTsKLSAgfQotfQotCi0vKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioKLSAqIHBhcnNlYXR0cmlidXRlb3JvcGVyYXRpb25vcml0ZXJhdG9yIDogcGFyc2UgWzE1
XSBBdHRyaWJ1dGVPck9wZXJhdGlvbk9ySXRlcmF0b3IKLSAqCi0gKiBFbnRlcjogICB0b2sgPSBu
ZXh0IHRva2VuCi0gKiAgICAgICAgICBlYWwgPSAwIGVsc2UgZXh0ZW5kZWQgYXR0cmlidXRlIGxp
c3Qgbm9kZQotICoKLSAqIFJldHVybjogIG5ldyBub2RlCi0gKiAgICAgICAgICB0b2sgb24gdGVy
bWluYXRpbmcgJzsnCi0gKi8KLXN0YXRpYyBzdHJ1Y3Qgbm9kZSAqCi1wYXJzZWF0dHJpYnV0ZW9y
b3BlcmF0aW9ub3JpdGVyYXRvcihzdHJ1Y3QgdG9rICp0b2ssIHN0cnVjdCBub2RlICplYWwpCi17
Ci0JaW50IGFscmVhZHlzZWVuIDsKLSAgICBzdHJ1Y3Qgbm9kZSAqYXR0cnMgPSBuZXdhdHRybGlz
dCgpOwotICAgIGlmICh0b2stPnR5cGUgPT0gVE9LX3NlcmlhbGl6ZXIpIHsKLSAgICAgIGxleG5v
Y29tbWVudCgpOwotICAgICAgaWYgKHRvay0+dHlwZSA9PSAnPScgfHwgdG9rLT50eXBlID09Jzsn
KSB7Ci0JcmV0dXJuIHBhcnNlc2VyaWFsaXplcih0b2ssIGVhbCk7Ci0gICAgICB9IGVsc2Ugewot
CWFkZG5vZGUoYXR0cnMsIG5ld2F0dHIoInNlcmlhbGl6ZXIiLCAic2VyaWFsaXplciIpKTsKLQly
ZXR1cm4gcGFyc2VyZXR1cm50eXBlYW5kb3BlcmF0aW9ucmVzdCh0b2ssIGVhbCwgYXR0cnMpOwot
ICAgICAgfQotICAgIH0KLSAgICBpZiAodG9rLT50eXBlID09IFRPS19zdHJpbmdpZmllcikgewot
ICAgICAgICBhZGRub2RlKGF0dHJzLCBuZXdhdHRyKCJzdHJpbmdpZmllciIsICJzdHJpbmdpZmll
ciIpKTsKLSAgICAgICAgbGV4bm9jb21tZW50KCk7Ci0gICAgICAgIGlmICh0b2stPnR5cGUgPT0g
JzsnKSB7Ci0gICAgICAgICAgICBzdHJ1Y3Qgbm9kZSAqbm9kZSA9IG5ld2VsZW1lbnQoIlN0cmlu
Z2lmaWVyIik7Ci0gICAgICAgICAgICBpZiAoZWFsKSBhZGRub2RlKG5vZGUsIGVhbCk7Ci0gICAg
ICAgICAgICByZXR1cm4gbm9kZTsKLSAgICAgICAgfQotICAgIH0KLSAgICBpZiAodG9rLT50eXBl
ID09IFRPS19zdGF0aWMpIHsKLSAgICAgICAgbGV4bm9jb21tZW50KCk7Ci0gICAgICAgIGFkZG5v
ZGUoYXR0cnMsIG5ld2F0dHIoInN0YXRpYyIsICJzdGF0aWMiKSk7Ci0gICAgfQotICAgIGlmICh0
b2stPnR5cGUgPT0gVE9LX2luaGVyaXQgfHwgdG9rLT50eXBlID09IFRPS19yZWFkb25seSB8fCB0
b2stPnR5cGUgPT0gVE9LX2F0dHJpYnV0ZSkKLSAgICAgICAgcmV0dXJuIHBhcnNlYXR0cmlidXRl
KHRvaywgZWFsLCBhdHRycyk7Ci0gICAgaWYgKCFub2RlaXNlbXB0eShhdHRycykpCi0gCXJldHVy
biBwYXJzZXJldHVybnR5cGVhbmRvcGVyYXRpb25yZXN0KHRvaywgZWFsLCBhdHRycyk7Ci0gICAg
YWxyZWFkeXNlZW4gPSAwOwotICAgIGZvciAoOzspIHsKLSAgICAgIHN0YXRpYyBjb25zdCBpbnQg
dFtdID0geyBUT0tfZ2V0dGVyLAotCQkJICAgICAgIFRPS19zZXR0ZXIsIFRPS19jcmVhdG9yLCBU
T0tfZGVsZXRlciwgVE9LX2xlZ2FjeWNhbGxlciwKLQkJCSAgICAgICAwIH07Ci0gICAgICBjb25z
dCBpbnQgKnR0ID0gdDsKLSAgICAgIGNoYXIgKnM7Ci0gICAgICB3aGlsZSAoKnR0ICYmICp0dCAh
PSB0b2stPnR5cGUpCi0JdHQrKzsKLSAgICAgIGlmICghKnR0KQotCWJyZWFrOwotICAgICAgcyA9
IG1lbXByaW50ZigiJS4qcyIsIHRvay0+bGVuLCB0b2stPnN0YXJ0KTsKLSAgICAgIGlmIChhbHJl
YWR5c2VlbiAmICgxIDw8ICh0dCAtIHQpKSkKLQl0b2tlcnJvcmV4aXQodG9rLCAiJyVzJyBxdWFs
aWZpZXIgY2Fubm90IGJlIHJlcGVhdGVkIiwgcyk7Ci0gICAgICBhbHJlYWR5c2VlbiB8PSAxIDw8
ICh0dCAtIHQpOwotICAgICAgYWRkbm9kZShhdHRycywgbmV3YXR0cihzLCBzKSk7Ci0gICAgICBs
ZXhub2NvbW1lbnQoKTsKLSAgICB9Ci0gICAgaWYgKCFub2RlaXNlbXB0eShhdHRycykpICAgIAot
ICAgICAgcmV0dXJuIHBhcnNlcmV0dXJudHlwZWFuZG9wZXJhdGlvbnJlc3QodG9rLCBlYWwsIGF0
dHJzKTsKLSAgICBlbHNlCi0gICAgICByZXR1cm4gcGFyc2VvcGVyYXRpb25vcml0ZXJhdG9ycmVz
dCh0b2ssIGVhbCwgYXR0cnMpOwotfQotCi0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogcGFyc2Vjb25z
dGV4cHIgOiBwYXJzZSBDb25zdFZhbHVlCi0gKgotICogRW50ZXI6ICAgdG9rID0gbmV4dCB0b2tl
bgotICogICAgICAgICAgbm9kZQotICoKLSAqIFJldHVybjogIG5vZGUgdXBkYXRlZCB3aXRoIHZh
bHVlCi0gKiAgICAgICAgICB0b2sgdXBkYXRlZAotICovCi1zdGF0aWMgc3RydWN0IG5vZGUgKgot
cGFyc2Vjb25zdGV4cHIgKHN0cnVjdCB0b2sgKnRvaywgc3RydWN0IG5vZGUgKm5vZGUpIHsKLSAg
Y2hhciAqczsKLSAgc3dpdGNoKHRvay0+dHlwZSkgewotICBjYXNlIFRPS190cnVlOgotICBjYXNl
IFRPS19mYWxzZToKLSAgY2FzZSBUT0tfbWludXNpbmZpbml0eToKLSAgY2FzZSBUT0tfSU5URUdF
UjoKLSAgY2FzZSBUT0tfRkxPQVQ6Ci0gIGNhc2UgVE9LX251bGw6Ci0gIGNhc2UgVE9LX2luZmlu
aXR5OgotICBjYXNlIFRPS19OYU46Ci0gICAgYnJlYWs7Ci0gIGRlZmF1bHQ6Ci0gICAgdG9rZXJy
b3JleGl0KHRvaywgImV4cGVjdGVkIGNvbnN0YW50IHZhbHVlIik7Ci0gICAgYnJlYWs7Ci0gIH0K
LSAgcyA9IG1lbWFsbG9jKHRvay0+bGVuICsgMSk7Ci0gIG1lbWNweShzLCB0b2stPnN0YXJ0LCB0
b2stPmxlbik7Ci0gIHNbdG9rLT5sZW5dID0gMDsKLSAgaWYgKHRvay0+dHlwZSAhPSBUT0tfU1RS
SU5HKSB7Ci0gICAgYWRkbm9kZShub2RlLCBuZXdhdHRyKCJ2YWx1ZSIsIHMpKTsKLSAgfSBlbHNl
IHsKLSAgICBhZGRub2RlKG5vZGUsIG5ld2F0dHIoInN0cmluZ3ZhbHVlIiwgcykpOwotICB9Ci0g
IGxleG5vY29tbWVudCgpOwotICByZXR1cm4gbm9kZTsKLX0KLQotLyoqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0g
KiBwYXJzZWRlZmF1bHR2YWx1ZSA6IHBhcnNlIERlZmF1bHRWYWx1ZQotICoKLSAqIEVudGVyOiAg
IHRvayA9IG5leHQgdG9rZW4KLSAqICAgICAgICAgIG5vZGUKLSAqCi0gKiBSZXR1cm46ICBub2Rl
IHVwZGF0ZWQgd2l0aCB2YWx1ZQotICogICAgICAgICAgdG9rIHVwZGF0ZWQKLSAqLwotc3RhdGlj
IHN0cnVjdCBub2RlICoKLXBhcnNlZGVmYXVsdHZhbHVlIChzdHJ1Y3QgdG9rICp0b2ssIHN0cnVj
dCBub2RlICpub2RlKSB7Ci0gIGNoYXIgKnM7Ci0gIGlmICh0b2stPnR5cGUgPT0gVE9LX1NUUklO
RykgewotICAgIHMgPSBtZW1hbGxvYyh0b2stPmxlbiArIDEpOwotICAgIG1lbWNweShzLCB0b2st
PnN0YXJ0LCB0b2stPmxlbik7Ci0gICAgc1t0b2stPmxlbl0gPSAwOwotICAgIGFkZG5vZGUobm9k
ZSwgbmV3YXR0cigic3RyaW5ndmFsdWUiLCBzKSk7Ci0gICAgbGV4bm9jb21tZW50KCk7Ci0gICAg
cmV0dXJuIG5vZGU7Ci0gIH0gZWxzZSB7Ci0gICAgcmV0dXJuIHBhcnNlY29uc3RleHByKHRvaywg
bm9kZSk7Ci0gIH0KLX0KLQotCi0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogcGFyc2VkaWN0aW9uYXJ5
bWVtYmVyIDogcGFyc2UgRGljdGlvbmFyeU1lbWJlcgotICoKLSAqIEVudGVyOiAgIHRvayA9IG5l
eHQgdG9rZW4KLSAqICAgICAgICAgIGVhbCA9IDAgZWxzZSBleHRlbmRlZCBhdHRyaWJ1dGUgbGlz
dCBub2RlCi0gKgotICogUmV0dXJuOiAgbmV3IG5vZGUKLSAqICAgICAgICAgIHRvayBvbiB0ZXJt
aW5hdGluZyAnOycKLSAqLwotc3RhdGljIHN0cnVjdCBub2RlICoKLXBhcnNlZGljdGlvbmFyeW1l
bWJlcihzdHJ1Y3QgdG9rICp0b2ssIHN0cnVjdCBub2RlICplYWwpCi17Ci0gICAgc3RydWN0IG5v
ZGUgKm5vZGUgPSBuZXdlbGVtZW50KCJEaWN0aW9uYXJ5TWVtYmVyIik7Ci0gICAgaWYgKGVhbCkg
YWRkbm9kZShub2RlLCBlYWwpOwotICAgIHNldGNvbW1lbnRub2RlKG5vZGUpOwotICAgIGFkZG5v
ZGUobm9kZSwgcGFyc2V0eXBlKHRvaykpOwotICAgIGFkZG5vZGUobm9kZSwgbmV3YXR0cigibmFt
ZSIsIHNldGlkZW50aWZpZXIodG9rKSkpOwotICAgIHRvayA9IGxleG5vY29tbWVudCgpOwotICAg
IC8vIE9wdGlvbmFsIHZhbHVlCi0gICAgaWYgKHRvay0+dHlwZSA9PSAnPScpIHsKLSAgICAgIHRv
ayA9IGxleG5vY29tbWVudCgpOwotICAgICAgbm9kZSA9IHBhcnNlZGVmYXVsdHZhbHVlKHRvaywg
bm9kZSk7Ci0gICAgfQotICAgIHJldHVybiBub2RlOwotfQotCi0vKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAq
IHBhcnNlY29uc3QgOiBwYXJzZSBbMTJdIENvbnN0Ci0gKgotICogRW50ZXI6ICAgdG9rID0gbmV4
dCB0b2tlbiwga25vd24gdG8gYmUgVE9LX2NvbnN0Ci0gKiAgICAgICAgICBlYWwgPSAwIGVsc2Ug
ZXh0ZW5kZWQgYXR0cmlidXRlIGxpc3Qgbm9kZQotICoKLSAqIFJldHVybjogIG5ldyBub2RlIGZv
ciB0aGUgY29uc3QKLSAqICAgICAgICAgIHRvayBvbiB0ZXJtaW5hdGluZyAnOycKLSAqLwotc3Rh
dGljIHN0cnVjdCBub2RlICoKLXBhcnNlY29uc3Qoc3RydWN0IHRvayAqdG9rLCBzdHJ1Y3Qgbm9k
ZSAqZWFsKQotewotICAgIHN0cnVjdCBub2RlICpub2RlID0gbmV3ZWxlbWVudCgiQ29uc3QiKTsK
LSAgICBzZXRjb21tZW50bm9kZShub2RlKTsKLSAgICBpZiAoZWFsKSBhZGRub2RlKG5vZGUsIGVh
bCk7Ci0gICAgdG9rID0gbGV4bm9jb21tZW50KCk7Ci0gICAgc3dpdGNoKHRvay0+dHlwZSkgewot
ICAgIGNhc2UgVE9LX2Jvb2xlYW46Ci0gICAgY2FzZSBUT0tfYnl0ZToKLSAgICBjYXNlIFRPS19v
Y3RldDoKLSAgICBjYXNlIFRPS19mbG9hdDoKLSAgICBjYXNlIFRPS19kb3VibGU6Ci0gICAgY2Fz
ZSBUT0tfdW5zaWduZWQ6Ci0gICAgY2FzZSBUT0tfdW5yZXN0cmljdGVkOgotICAgIGNhc2UgVE9L
X3Nob3J0OgotICAgIGNhc2UgVE9LX2xvbmc6Ci0gICAgICAgIGFkZG5vZGUobm9kZSwgcGFyc2V0
eXBlKHRvaykpOwotCWJyZWFrOwotICAgIGRlZmF1bHQ6Ci0gICAgICAgIHRva2Vycm9yZXhpdCh0
b2ssICJleHBlY3RlZCBhY2NlcHRhYmxlIGNvbnN0YW50IHR5cGUiKTsKLSAgICAgICAgYnJlYWs7
Ci0gICAgfQotICAgIGFkZG5vZGUobm9kZSwgbmV3YXR0cigibmFtZSIsIHNldGlkZW50aWZpZXIo
dG9rKSkpOwotICAgIHRvayA9IGxleG5vY29tbWVudCgpOwotICAgIGVhdCh0b2ssICc9Jyk7Ci0g
ICAgbm9kZSA9IHBhcnNlY29uc3RleHByKHRvaywgbm9kZSk7Ci0gICAgcmV0dXJuIG5vZGU7Ci19
Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKgotICogcGFyc2VpbXBsZW1lbnRzc3RhdGVtZW50IDogcGFyc2Ug
WzExXSBJbXBsZW1lbnRzU3RhdGVtZW50Ci0gKgotICogRW50ZXI6ICAgdG9rID0gbmV4dCB0b2tl
biwga25vd24gdG8gYmUgOjogb3IgVE9LX0lERU5USUZJRVIKLSAqICAgICAgICAgIGVhbCA9IDAg
ZWxzZSBleHRlbmRlZCBhdHRyaWJ1dGUgbGlzdCBub2RlCi0gKgotICogUmV0dXJuOiAgbmV3IG5v
ZGUgZm9yIHRoZSB0eXBlZGVmCi0gKiAgICAgICAgICB0b2sgdXBkYXRlZCB0byB0aGUgdGVybWlu
YXRpbmcgJzsnCi0gKi8KLXN0YXRpYyBzdHJ1Y3Qgbm9kZSAqCi1wYXJzZWltcGxlbWVudHNzdGF0
ZW1lbnQoc3RydWN0IHRvayAqdG9rLCBzdHJ1Y3Qgbm9kZSAqZWFsKQotewotICAgIHN0cnVjdCBu
b2RlICpub2RlID0gbmV3ZWxlbWVudCgiSW1wbGVtZW50cyIpOwotICAgIHNldGNvbW1lbnRub2Rl
KG5vZGUpOwotICAgIGlmIChlYWwpIGFkZG5vZGUobm9kZSwgZWFsKTsKLSAgICBhZGRub2RlKG5v
ZGUsIHBhcnNlc2NvcGVkbmFtZSh0b2ssICJuYW1lMSIsIDEpKTsKLSAgICBlYXQodG9rLCBUT0tf
aW1wbGVtZW50cyk7Ci0gICAgYWRkbm9kZShub2RlLCBwYXJzZXNjb3BlZG5hbWUodG9rLCAibmFt
ZTIiLCAxKSk7Ci0gICAgcmV0dXJuIG5vZGU7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogcGFy
c2V0eXBlZGVmIDogcGFyc2UgWzEwXSBUeXBlZGVmCi0gKgotICogRW50ZXI6ICAgdG9rID0gbmV4
dCB0b2tlbiwga25vd24gdG8gYmUgVE9LX3R5cGVkZWYKLSAqICAgICAgICAgIGVhbCA9IDAgZWxz
ZSBleHRlbmRlZCBhdHRyaWJ1dGUgbGlzdCBub2RlCi0gKgotICogUmV0dXJuOiAgbmV3IG5vZGUg
Zm9yIHRoZSB0eXBlZGVmCi0gKiAgICAgICAgICB0b2sgdXBkYXRlZCB0byB0aGUgdGVybWluYXRp
bmcgJzsnCi0gKi8KLXN0YXRpYyBzdHJ1Y3Qgbm9kZSAqCi1wYXJzZXR5cGVkZWYoc3RydWN0IHRv
ayAqdG9rLCBzdHJ1Y3Qgbm9kZSAqZWFsKQotewotc3RydWN0IG5vZGUgKmVhbHR5cGU7Ci1zdHJ1
Y3Qgbm9kZSAqdHlwZW5vZGU7Ci0gICAgc3RydWN0IG5vZGUgKm5vZGUgPSBuZXdlbGVtZW50KCJU
eXBlZGVmIik7Ci0gICAgc2V0Y29tbWVudG5vZGUobm9kZSk7Ci0gICAgaWYgKGVhbCkgYWRkbm9k
ZShub2RlLCBlYWwpOwotICAgIHRvayA9IGxleG5vY29tbWVudCgpOwotICAgIGVhbHR5cGUgPSBw
YXJzZWV4dGVuZGVkYXR0cmlidXRlbGlzdCh0b2spOwotICAgIHR5cGVub2RlID0gcGFyc2V0eXBl
KHRvayk7Ci0gICAgaWYgKGVhbHR5cGUpIGFkZG5vZGUodHlwZW5vZGUsIGVhbHR5cGUpOwotICAg
IGFkZG5vZGUobm9kZSwgdHlwZW5vZGUpOwotICAgIGFkZG5vZGUobm9kZSwgbmV3YXR0cigibmFt
ZSIsIHNldGlkZW50aWZpZXIodG9rKSkpOwotICAgIHRvayA9IGxleG5vY29tbWVudCgpOwotICAg
IHJldHVybiBub2RlOwotfQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIHBhcnNlZXhjZXB0aW9uIDog
cGFyc2UgWzhdIEV4Y2VwdGlvbgotICoKLSAqIEVudGVyOiAgIHRvayA9IG5leHQgdG9rZW4sIGtu
b3duIHRvIGJlIFRPS19leGNlcHRpb24KLSAqICAgICAgICAgIGVhbCA9IDAgZWxzZSBleHRlbmRl
ZCBhdHRyaWJ1dGUgbGlzdCBub2RlCi0gKgotICogUmV0dXJuOiAgbmV3IG5vZGUgZm9yIHRoZSBl
eGNlcHRpb24KLSAqICAgICAgICAgIHRvayB1cGRhdGVkIHRvIHRoZSB0ZXJtaW5hdGluZyAnOycK
LSAqLwotc3RhdGljIHN0cnVjdCBub2RlICoKLXBhcnNlZXhjZXB0aW9uKHN0cnVjdCB0b2sgKnRv
aywgc3RydWN0IG5vZGUgKmVhbCkKLXsKLSAgICBzdHJ1Y3Qgbm9kZSAqbm9kZSA9IG5ld2VsZW1l
bnQoIkV4Y2VwdGlvbiIpOwotICAgIHNldGNvbW1lbnRub2RlKG5vZGUpOwotICAgIGlmIChlYWwp
IGFkZG5vZGUobm9kZSwgZWFsKTsKLSAgICB0b2sgPSBsZXhub2NvbW1lbnQoKTsKLSAgICBhZGRu
b2RlKG5vZGUsIG5ld2F0dHIoIm5hbWUiLCBzZXRpZGVudGlmaWVyKHRvaykpKTsKLSAgICBsZXhu
b2NvbW1lbnQoKTsKLSAgICBpZiAodG9rLT50eXBlID09ICc6JykgewotICAgICAgICBsZXhub2Nv
bW1lbnQoKTsKLSAgICAgICAgYWRkbm9kZShub2RlLCBwYXJzZXNjb3BlZG5hbWVsaXN0KHRvaywg
IkV4Y2VwdGlvbkluaGVyaXRhbmNlIiwgIk5hbWUiLCAxKSk7Ci0gICAgfQotICAgIGVhdCh0b2ss
ICd7Jyk7Ci0gICAgd2hpbGUgKHRvay0+dHlwZSAhPSAnfScpIHsKLSAgICAgICAgY29uc3QgY2hh
ciAqc3RhcnQgPSB0b2stPnByZXN0YXJ0OwotICAgICAgICBzdHJ1Y3Qgbm9kZSAqbm9kZTI7Ci0g
ICAgICAgIHN0cnVjdCBub2RlICplYWwgPSBwYXJzZWV4dGVuZGVkYXR0cmlidXRlbGlzdCh0b2sp
OwotICAgICAgICBpZiAodG9rLT50eXBlID09IFRPS19jb25zdCkKLSAgICAgICAgICAgIG5vZGUy
ID0gcGFyc2Vjb25zdCh0b2ssIGVhbCk7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIG5vZGUy
ID0gcGFyc2VleGNlcHRpb25maWVsZCh0b2ssIGVhbCk7Ci0gICAgICAgIGFkZG5vZGUobm9kZSwg
bm9kZTIpOwotICAgICAgICBub2RlMi0+d3NzdGFydCA9IHN0YXJ0OwotICAgICAgICBub2RlMi0+
ZW5kID0gdG9rLT5zdGFydCArIHRvay0+bGVuOwotICAgICAgICBzZXRpZChub2RlMik7Ci0gICAg
ICAgIGVhdCh0b2ssICc7Jyk7Ci0gICAgfQotICAgIGxleG5vY29tbWVudCgpOwotICAgIHJldHVy
biBub2RlOwotfQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIHBhcnNlaW50ZXJmYWNlIDogcGFyc2Ug
WzRdIEludGVyZmFjZQotICoKLSAqIEVudGVyOiAgIHRvayA9IG5leHQgdG9rZW4sIGtub3duIHRv
IGJlIFRPS19pbnRlcmZhY2UKLSAqICAgICAgICAgIGVhbCA9IDAgZWxzZSBleHRlbmRlZCBhdHRy
aWJ1dGUgbGlzdCBub2RlCi0gKgotICogUmV0dXJuOiAgbmV3IG5vZGUgZm9yIHRoZSBpbnRlcmZh
Y2UKLSAqICAgICAgICAgIHRvayB1cGRhdGVkIHRvIHRoZSB0ZXJtaW5hdGluZyAnOycKLSAqLwot
c3RhdGljIHN0cnVjdCBub2RlICoKLXBhcnNlaW50ZXJmYWNlKHN0cnVjdCB0b2sgKnRvaywgc3Ry
dWN0IG5vZGUgKmVhbCkKLXsKLSAgICBzdHJ1Y3Qgbm9kZSAqbm9kZSA9IG5ld2VsZW1lbnQoIklu
dGVyZmFjZSIpOwotICAgIGlmIChlYWwpIGFkZG5vZGUobm9kZSwgZWFsKTsKLSAgICBzZXRjb21t
ZW50bm9kZShub2RlKTsKLSAgICB0b2sgPSBsZXhub2NvbW1lbnQoKTsKLSAgICBhZGRub2RlKG5v
ZGUsIG5ld2F0dHIoIm5hbWUiLCBzZXRpZGVudGlmaWVyKHRvaykpKTsKLSAgICB0b2sgPSBsZXhu
b2NvbW1lbnQoKTsKLSAgICBpZiAodG9rLT50eXBlID09ICc6JykgewotICAgICAgICBsZXhub2Nv
bW1lbnQoKTsKLSAgICAgICAgYWRkbm9kZShub2RlLCBwYXJzZXNjb3BlZG5hbWVsaXN0KHRvaywg
IkludGVyZmFjZUluaGVyaXRhbmNlIiwgIk5hbWUiLCAxKSk7Ci0gICAgfQotICAgIGVhdCh0b2ss
ICd7Jyk7Ci0gICAgd2hpbGUgKHRvay0+dHlwZSAhPSAnfScpIHsKLSAgICAgICAgY29uc3QgY2hh
ciAqc3RhcnQgPSB0b2stPnByZXN0YXJ0OwotICAgICAgICBzdHJ1Y3Qgbm9kZSAqZWFsID0gcGFy
c2VleHRlbmRlZGF0dHJpYnV0ZWxpc3QodG9rKTsKLSAgICAgICAgc3RydWN0IG5vZGUgKm5vZGUy
OwotICAgICAgICBpZiAodG9rLT50eXBlID09IFRPS19jb25zdCkKLSAgICAgICAgICAgIGFkZG5v
ZGUobm9kZSwgbm9kZTIgPSBwYXJzZWNvbnN0KHRvaywgZWFsKSk7Ci0gICAgICAgIGVsc2UKLSAg
ICAgICAgICAgIGFkZG5vZGUobm9kZSwgbm9kZTIgPSBwYXJzZWF0dHJpYnV0ZW9yb3BlcmF0aW9u
b3JpdGVyYXRvcih0b2ssIGVhbCkpOwotICAgICAgICBub2RlMi0+d3NzdGFydCA9IHN0YXJ0Owot
ICAgICAgICBub2RlMi0+ZW5kID0gdG9rLT5zdGFydCArIHRvay0+bGVuOwotICAgICAgICBzZXRp
ZChub2RlMik7Ci0gICAgICAgIGVhdCh0b2ssICc7Jyk7Ci0gICAgfQotICAgIGxleG5vY29tbWVu
dCgpOwotICAgIHJldHVybiBub2RlOwotfQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIHBhcnNlY2Fs
bGJhY2sgOiBwYXJzZSBDYWxsYmFjawotICoKLSAqIEVudGVyOiAgIHRvayA9IG5leHQgdG9rZW4s
IGtub3duIHRvIGJlIFRPS19kaWN0aW9uYXJ5Ci0gKiAgICAgICAgICBlYWwgPSAwIGVsc2UgZXh0
ZW5kZWQgYXR0cmlidXRlIGxpc3Qgbm9kZQotICoKLSAqIFJldHVybjogIG5ldyBub2RlIGZvciB0
aGUgZW51bQotICogICAgICAgICAgdG9rIHVwZGF0ZWQgdG8gdGhlIHRlcm1pbmF0aW5nICc7Jwot
ICovCi1zdGF0aWMgc3RydWN0IG5vZGUgKgotcGFyc2VjYWxsYmFjayhzdHJ1Y3QgdG9rICp0b2ss
IHN0cnVjdCBub2RlICplYWwpCi17Ci0gIHN0cnVjdCBub2RlICpub2RlOwotICBpZiAodG9rLT50
eXBlID09IFRPS19pbnRlcmZhY2UpIHsKLSAgICBub2RlID0gcGFyc2VpbnRlcmZhY2UodG9rLCBl
YWwpOwotICAgIGFkZG5vZGUobm9kZSwgbmV3YXR0cigiY2FsbGJhY2siLCAiY2FsbGJhY2siKSk7
ICAgIAotICB9IGVsc2UgewotICAgIG5vZGUgPSBuZXdlbGVtZW50KCJDYWxsYmFjayIpOwotICAg
IGlmIChlYWwpIGFkZG5vZGUobm9kZSwgZWFsKTsKLSAgICBzZXRjb21tZW50bm9kZShub2RlKTsK
LSAgICBhZGRub2RlKG5vZGUsIG5ld2F0dHIoIm5hbWUiLCBzZXRpZGVudGlmaWVyKHRvaykpKTsK
LSAgICB0b2sgPSBsZXhub2NvbW1lbnQoKTsKLSAgICBlYXQodG9rLCAnPScpOwotICAgIGFkZG5v
ZGUobm9kZSwgcGFyc2VyZXR1cm50eXBlKHRvaykpOwotICAgIGVhdCh0b2ssICcoJyk7Ci0gICAg
YWRkbm9kZShub2RlLCBwYXJzZWFyZ3VtZW50bGlzdCh0b2spKTsKLSAgICBlYXQodG9rLCAnKScp
OwotICB9Ci0gIHJldHVybiBub2RlOwotfQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIHBhcnNlZGlj
dGlvbmFyeSA6IHBhcnNlIERpY3Rpb25hcnkKLSAqCi0gKiBFbnRlcjogICB0b2sgPSBuZXh0IHRv
a2VuLCBrbm93biB0byBiZSBUT0tfZGljdGlvbmFyeQotICogICAgICAgICAgZWFsID0gMCBlbHNl
IGV4dGVuZGVkIGF0dHJpYnV0ZSBsaXN0IG5vZGUKLSAqCi0gKiBSZXR1cm46ICBuZXcgbm9kZSBm
b3IgdGhlIGRpY3Rpb25hcnkKLSAqICAgICAgICAgIHRvayB1cGRhdGVkIHRvIHRoZSB0ZXJtaW5h
dGluZyAnOycKLSAqLwotc3RhdGljIHN0cnVjdCBub2RlICoKLXBhcnNlZGljdGlvbmFyeShzdHJ1
Y3QgdG9rICp0b2ssIHN0cnVjdCBub2RlICplYWwpCi17Ci0gICAgc3RydWN0IG5vZGUgKm5vZGUg
PSBuZXdlbGVtZW50KCJEaWN0aW9uYXJ5Iik7Ci0gICAgaWYgKGVhbCkgYWRkbm9kZShub2RlLCBl
YWwpOwotICAgIHNldGNvbW1lbnRub2RlKG5vZGUpOwotICAgIHRvayA9IGxleG5vY29tbWVudCgp
OwotICAgIGFkZG5vZGUobm9kZSwgbmV3YXR0cigibmFtZSIsIHNldGlkZW50aWZpZXIodG9rKSkp
OwotICAgIHRvayA9IGxleG5vY29tbWVudCgpOwotICAgIGlmICh0b2stPnR5cGUgPT0gJzonKSB7
Ci0gICAgICAgIGxleG5vY29tbWVudCgpOwotICAgICAgICBhZGRub2RlKG5vZGUsIHBhcnNlc2Nv
cGVkbmFtZWxpc3QodG9rLCAiRGljdGlvbmFyeUluaGVyaXRhbmNlIiwgIk5hbWUiLCAxKSk7Ci0g
ICAgfQotICAgIGVhdCh0b2ssICd7Jyk7Ci0gICAgd2hpbGUgKHRvay0+dHlwZSAhPSAnfScpIHsK
LSAgICAgICAgY29uc3QgY2hhciAqc3RhcnQgPSB0b2stPnByZXN0YXJ0OwotICAgICAgICBzdHJ1
Y3Qgbm9kZSAqZWFsID0gcGFyc2VleHRlbmRlZGF0dHJpYnV0ZWxpc3QodG9rKTsKLSAgICAgICAg
c3RydWN0IG5vZGUgKm5vZGUyOwotICAgICAgICBpZiAodG9rLT50eXBlID09IFRPS19jb25zdCkK
LSAgICAgICAgICAgIGFkZG5vZGUobm9kZSwgbm9kZTIgPSBwYXJzZWNvbnN0KHRvaywgZWFsKSk7
Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIGFkZG5vZGUobm9kZSwgbm9kZTIgPSBwYXJzZWRp
Y3Rpb25hcnltZW1iZXIodG9rLCBlYWwpKTsKLSAgICAgICAgbm9kZTItPndzc3RhcnQgPSBzdGFy
dDsKLSAgICAgICAgbm9kZTItPmVuZCA9IHRvay0+c3RhcnQgKyB0b2stPmxlbjsKLSAgICAgICAg
c2V0aWQobm9kZTIpOwotICAgICAgICBlYXQodG9rLCAnOycpOwotICAgIH0KLSAgICBsZXhub2Nv
bW1lbnQoKTsKLSAgICByZXR1cm4gbm9kZTsKLX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBwYXJz
ZWVudW0gOiBwYXJzZSBFbnVtCi0gKgotICogRW50ZXI6ICAgdG9rID0gbmV4dCB0b2tlbiwga25v
d24gdG8gYmUgVE9LX2RpY3Rpb25hcnkKLSAqICAgICAgICAgIGVhbCA9IDAgZWxzZSBleHRlbmRl
ZCBhdHRyaWJ1dGUgbGlzdCBub2RlCi0gKgotICogUmV0dXJuOiAgbmV3IG5vZGUgZm9yIHRoZSBl
bnVtCi0gKiAgICAgICAgICB0b2sgdXBkYXRlZCB0byB0aGUgdGVybWluYXRpbmcgJzsnCi0gKi8K
LXN0YXRpYyBzdHJ1Y3Qgbm9kZSAqCi1wYXJzZWVudW0oc3RydWN0IHRvayAqdG9rLCBzdHJ1Y3Qg
bm9kZSAqZWFsKQotewotCWNoYXIgKnM7Ci0gICAgc3RydWN0IG5vZGUgKm5vZGUgPSBuZXdlbGVt
ZW50KCJFbnVtIik7Ci0gICAgaWYgKGVhbCkgYWRkbm9kZShub2RlLCBlYWwpOwotICAgIHNldGNv
bW1lbnRub2RlKG5vZGUpOwotICAgIHRvayA9IGxleG5vY29tbWVudCgpOwotICAgIGFkZG5vZGUo
bm9kZSwgbmV3YXR0cigibmFtZSIsIHNldGlkZW50aWZpZXIodG9rKSkpOwotICAgIHRvayA9IGxl
eG5vY29tbWVudCgpOwotICAgIGVhdCh0b2ssICd7Jyk7Ci0gICAgd2hpbGUgKHRvay0+dHlwZSAh
PSAnfScpIHsKLSAgICAgIGlmICh0b2stPnR5cGUgPT0gVE9LX1NUUklORykgewotCWNvbnN0IGNo
YXIgKnN0YXJ0ID0gdG9rLT5wcmVzdGFydDsKLQlzdHJ1Y3Qgbm9kZSAqbm9kZTIgPSBuZXdlbGVt
ZW50KCJFbnVtVmFsdWUiKTsKLQlzZXRjb21tZW50bm9kZShub2RlMik7Ci0JCi0JcyA9IG1lbWFs
bG9jKHRvay0+bGVuICsgMSk7Ci0JbWVtY3B5KHMsIHRvay0+c3RhcnQsIHRvay0+bGVuKTsKLQlz
W3Rvay0+bGVuXSA9IDA7Ci0JYWRkbm9kZShub2RlMiwgbmV3YXR0cigic3RyaW5ndmFsdWUiLCBz
KSk7Ci0gICAgICAgIG5vZGUyLT53c3N0YXJ0ID0gc3RhcnQ7Ci0gICAgICAgIG5vZGUyLT5lbmQg
PSB0b2stPnN0YXJ0ICsgdG9rLT5sZW47Ci0gICAgICAgIHNldGlkKG5vZGUyKTsKLQlhZGRub2Rl
KG5vZGUsIG5vZGUyKTsKLSAgICAgIH0gZWxzZSB7Ci0JdG9rZXJyb3JleGl0KHRvaywgImV4cGVj
dGVkIHN0cmluZyBpbiBlbnVtIik7Ci0gICAgICB9Ci0gICAgICBsZXhub2NvbW1lbnQoKTsKLSAg
ICAgIGlmICh0b2stPnR5cGUgPT0gJywnKSB7Ci0JbGV4bm9jb21tZW50KCk7Ci0gICAgICB9Ci0g
ICAgfQotICAgIGVhdCh0b2ssICd9Jyk7Ci0gICAgcmV0dXJuIG5vZGU7Ci19Ci0KLS8qKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKgotICogcGFyc2VkZWZpbml0aW9ucyA6IHBhcnNlIFsxXSBEZWZpbml0aW9ucwotICoK
LSAqIEVudGVyOiAgIHRvayA9IG5leHQgdG9rZW4KLSAqICAgICAgICAgIHBhcmVudCA9IHBhcmVu
dCBub2RlIHRvIGFkZCBkZWZpbml0aW9ucyB0bwotICoKLSAqIE9uIHJldHVybiwgdG9rIGhhcyBi
ZWVuIHVwZGF0ZWQuCi0gKi8KLXN0YXRpYyB2b2lkCi1wYXJzZWRlZmluaXRpb25zKHN0cnVjdCB0
b2sgKnRvaywgc3RydWN0IG5vZGUgKnBhcmVudCkKLXsKLSAgICBwYXJlbnQtPndzc3RhcnQgPSB0
b2stPnByZXN0YXJ0OwotICAgIGZvciAoOzspIHsKLSAgICAgICAgY29uc3QgY2hhciAqd3NzdGFy
dCA9IHRvay0+cHJlc3RhcnQ7Ci0gICAgICAgIHN0cnVjdCBub2RlICplYWwgPSBwYXJzZWV4dGVu
ZGVkYXR0cmlidXRlbGlzdCh0b2spOwotICAgICAgICBzdHJ1Y3Qgbm9kZSAqbm9kZTsKLSAgICAg
ICAgc3dpdGNoICh0b2stPnR5cGUpIHsKLSAgICAgICAgY2FzZSBUT0tfcGFydGlhbDoKLQkgICAg
ZWF0KHRvaywgVE9LX3BhcnRpYWwpOwotCSAgICBpZiAodG9rLT50eXBlID09IFRPS19kaWN0aW9u
YXJ5KSB7Ci0JICAgICAgbm9kZSA9IHBhcnNlZGljdGlvbmFyeSh0b2ssIGVhbCk7Ci0JICAgIH0g
ZWxzZSB7Ci0JICAgICAgbm9kZSA9IHBhcnNlaW50ZXJmYWNlKHRvaywgZWFsKTsKLQkgICAgfQot
CSAgICBhZGRub2RlKG5vZGUsIG5ld2F0dHIoInBhcnRpYWwiLCAicGFydGlhbCIpKTsKLSAgICAg
ICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlIFRPS19pbnRlcmZhY2U6Ci0gIAkgICAgbm9kZSA9
IHBhcnNlaW50ZXJmYWNlKHRvaywgZWFsKTsKLSAgICAgICAgICAgIGJyZWFrOwotCWNhc2UgVE9L
X2NhbGxiYWNrOgotCSAgICBlYXQodG9rLCBUT0tfY2FsbGJhY2spOwotCSAgICBub2RlID0gcGFy
c2VjYWxsYmFjayh0b2ssIGVhbCk7Ci0gICAgICAgICAgICBicmVhazsKLQljYXNlIFRPS19kaWN0
aW9uYXJ5OgotICAgICAgICAgICAgbm9kZSA9IHBhcnNlZGljdGlvbmFyeSh0b2ssIGVhbCk7Ci0g
ICAgICAgICAgICBicmVhazsJICAKLQljYXNlIFRPS19lbnVtOgotICAgICAgICAgICAgbm9kZSA9
IHBhcnNlZW51bSh0b2ssIGVhbCk7Ci0gICAgICAgICAgICBicmVhazsJICAKLSAgICAgICAgY2Fz
ZSBUT0tfZXhjZXB0aW9uOgotICAgICAgICAgICAgbm9kZSA9IHBhcnNlZXhjZXB0aW9uKHRvaywg
ZWFsKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlIFRPS190eXBlZGVmOgotICAg
ICAgICAgICAgbm9kZSA9IHBhcnNldHlwZWRlZih0b2ssIGVhbCk7Ci0gICAgICAgICAgICBicmVh
azsKLSAgICAgICAgY2FzZSBUT0tfSURFTlRJRklFUjoKLSAgICAgICAgICAgIG5vZGUgPSBwYXJz
ZWltcGxlbWVudHNzdGF0ZW1lbnQodG9rLCBlYWwpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAg
ICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICBpZiAoZWFsKQotICAgICAgICAgICAgICAgIHRva2Vy
cm9yZXhpdCh0b2ssICJleHBlY3RlZCBkZWZpbml0aW9uIGFmdGVyIGV4dGVuZGVkIGF0dHJpYnV0
ZSBsaXN0Iik7Ci0gICAgICAgICAgICBub2RlID0gMDsKLSAgICAgICAgICAgIGJyZWFrOwotICAg
ICAgICB9Ci0gICAgICAgIGlmICghbm9kZSkKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBu
b2RlLT53c3N0YXJ0ID0gd3NzdGFydDsKLSAgICAgICAgbm9kZS0+ZW5kID0gdG9rLT5zdGFydCAr
IHRvay0+bGVuOwotICAgICAgICBlYXQodG9rLCAnOycpOwotICAgICAgICBhZGRub2RlKHBhcmVu
dCwgbm9kZSk7Ci0gICAgICAgIHNldGlkKG5vZGUpOwotICAgICAgICBwYXJlbnQtPmVuZCA9IG5v
ZGUtPmVuZDsKLSAgICB9Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogcGFyc2UKLSAqCi0gKiBS
ZXR1cm46ICByb290IGVsZW1lbnQgY29udGFpbmluZyAocG9zc2libHkgZW1wdHkpIGxpc3Qgb2Yg
ZGVmaW5pdGlvbnMKLSAqLwotc3RydWN0IG5vZGUgKgotcGFyc2Uodm9pZCkKLXsKLQlzdHJ1Y3Qg
dG9rICp0b2s7IAotICAgIHN0cnVjdCBub2RlICpyb290ID0gbmV3ZWxlbWVudCgiRGVmaW5pdGlv
bnMiKTsKLSAgICBzZXRjb21tZW50bm9kZShyb290KTsKLSAgICB0b2sgPSBsZXhub2NvbW1lbnQo
KTsKLSAgICBwYXJzZWRlZmluaXRpb25zKHRvaywgcm9vdCk7Ci0gICAgaWYgKHRvay0+dHlwZSAh
PSBUT0tfRU9GKQotICAgICAgICB0b2tlcnJvcmV4aXQodG9rLCAiZXhwZWN0ZWQgZW5kIG9mIGlu
cHV0Iik7Ci0gICAgcmV2ZXJzZWNoaWxkcmVuKHJvb3QpOwotICAgIHJldHVybiByb290OwotfQot
CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mvc3JjL3BhcnNlLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L3dpZGxwcm9jL3NyYy9wYXJzZS5oCShyZXZpc2lvbiAyNTI4OTYpCisrKyBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvd2lkbHByb2Mvc3JjL3BhcnNlLmgJKG5vbmV4aXN0ZW50KQpAQCAtMSwxOSArMCwwIEBACi0v
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioKLSAqICRJZCQKLSAqIENvcHlyaWdodCAyMDA5IEFwbGl4IENvcnBvcmF0
aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBM
aWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7Ci0gKiB5b3UgbWF5IG5vdCB1c2Ug
dGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCi0gKiBZb3Ug
bWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKLSAqICAgICBodHRwOi8vd3d3LmFw
YWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKLSAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBs
aWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKLSAqIGRpc3RyaWJ1
dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMs
Ci0gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVy
IGV4cHJlc3Mgb3IgaW1wbGllZC4KLSAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmlj
IGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKLSAqIGxpbWl0YXRpb25zIHVuZGVy
IHRoZSBMaWNlbnNlLgotICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwotI2lmbmRlZiBwYXJzZV9oCi0jZGVmaW5l
IHBhcnNlX2gKLQotc3RydWN0IG5vZGUgKnBhcnNlKHZvaWQpOwotCi0jZW5kaWYgLyogbmRlZiBw
YXJzZV9oICovCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mvc3JjL3Byb2Nlc3MuYwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mvc3JjL3Byb2Nlc3MuYwkocmV2aXNpb24gMjUyODk2
KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3NyYy9wcm9jZXNzLmMJKG5vbmV4aXN0ZW50KQpAQCAt
MSwzMTkgKzAsMCBAQAotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiAkSWQkCi0gKiBDb3B5cmlnaHQgMjAw
OSBBcGxpeCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIExpY2Vuc2VkIHVu
ZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOwotICog
eW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBM
aWNlbnNlLgotICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0Ci0gKiAg
ICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCi0gKiBVbmxlc3Mg
cmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3
YXJlCi0gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBh
biAiQVMgSVMiIEJBU0lTLAotICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0Yg
QU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCi0gKiBTZWUgdGhlIExpY2Vuc2Ug
Zm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCi0gKiBs
aW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KLSAqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLSNpbmNsdWRl
IDxhc3NlcnQuaD4KLSNpbmNsdWRlIDxzdGRpby5oPgotI2luY2x1ZGUgPHN0cmluZy5oPgotI2lu
Y2x1ZGUgImNvbW1lbnQuaCIKLSNpbmNsdWRlICJsZXguaCIKLSNpbmNsdWRlICJtaXNjLmgiCi0j
aW5jbHVkZSAibm9kZS5oIgotI2luY2x1ZGUgIm9zLmgiCi0jaW5jbHVkZSAicGFyc2UuaCIKLSNp
bmNsdWRlICJwcm9jZXNzLmgiCi0KLSNpZiAwCi1zdGF0aWMgY29uc3QgY2hhciBudG5hbWVzW10g
PSB7IE5UTkFNRVMgfTsKLSNlbmRpZiAvKjAqLwotCi0vKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIHByaW50
dGV4dCA6IHByaW50IHRleHQgd2l0aCB4bWwgZW50aXR5IGVzY2FwZXMKLSAqCi0gKiBFbnRlcjog
ICBzID0gdGV4dAotICogICAgICAgICAgbGVuID0gbnVtYmVyIG9mIGJ5dGVzCi0gKiAgICAgICAg
ICBlc2NhbXAgPSB3aGV0aGVyIHRvIGVzY2FwZSAmCi0gKgotICogVGhpcyBhbHNvIGVzY2FwZXMg
ZG91YmxlIHF1b3RlIG1hcmsgc28gaXQgY2FuIGJlIHVzZWQgZm9yIGFuCi0gKiBhdHRyaWJ1dGUg
dmFsdWUuIEl0IGFsc28gdHVybnMgYSB0YWIgaW50byBzcGFjZXMuCi0gKi8KLXZvaWQKLXByaW50
dGV4dChjb25zdCBjaGFyICpzLCB1bnNpZ25lZCBpbnQgbGVuLCBpbnQgZXNjYW1wKQotewotICAg
IGNvbnN0IGNoYXIgKnAgPSBzLCAqZW5kID0gcyArIGxlbjsKLSAgICB1bnNpZ25lZCBpbnQgY291
bnQgPSAwOwotICAgIHdoaWxlIChwICE9IGVuZCkgewotICAgICAgICBpbnQgY2ggPSAqcDsKLSAg
ICAgICAgY2hhciBidWZbOV07Ci0gICAgICAgIGNvbnN0IGNoYXIgKnNlcSA9IDA7Ci0gICAgICAg
IGNvdW50Kys7Ci0gICAgICAgIHN3aXRjaCAoY2gpIHsKLSAgICAgICAgY2FzZSAnPCc6Ci0gICAg
ICAgICAgICBzZXEgPSAiJmx0OyI7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSAn
Jic6Ci0gICAgICAgICAgICBzZXEgPSBlc2NhbXAgPyAiJmFtcDsiIDogIiYiOwotICAgICAgICAg
ICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgJyInOgotICAgICAgICAgICAgc2VxID0gIiZxdW90OyI7
Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSAnXG4nOgotICAgICAgICAgICAgcCsr
OwotICAgICAgICAgICAgY291bnQgPSAwOwotICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAg
IGNhc2UgJ1x0JzoKLSAgICAgICAgICAgIHNlcSA9ICIgICAgICAgICIgKyAoKGNvdW50IC0gMSkg
JiA3KTsKLSAgICAgICAgICAgIGNvdW50ID0gMDsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAg
ICBkZWZhdWx0OgotICAgICAgICAgICAgaWYgKCh1bnNpZ25lZCBjaGFyKWNoID49IDB4MjApIHsK
LSAgICAgICAgICAgICAgICBwKys7Ci0gICAgICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAg
ICAgICB9Ci0gICAgICAgICAgICBzbnByaW50ZihidWYsIDksICImIyVpOyIsIGNoKTsKLSAgICAg
ICAgICAgIHNlcSA9IGJ1ZjsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0gICAgICAg
IGlmIChwIC0gcyAhPSBmd3JpdGUocywgMSwgcCAtIHMsIHN0ZG91dCkpCi0gICAgICAgICAgICBl
cnJvcmV4aXQoIndyaXRlIGVycm9yIik7Ci0gICAgICAgIGZwdXRzKHNlcSwgc3Rkb3V0KTsKLSAg
ICAgICAgcyA9ICsrcDsKLSAgICB9Ci0gICAgaWYgKHAgLSBzICE9IGZ3cml0ZShzLCAxLCBwIC0g
cywgc3Rkb3V0KSkKLSAgICAgICAgZXJyb3JleGl0KCJ3cml0ZSBlcnJvciIpOwotfQotCi0jaWYg
MAotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqCi0gKiBvdXRwdXRub2RlYXN0ZXh0IDogb3V0cHV0IHBhcnNlIG5v
ZGUgYW5kIGRlc2NlbmRhbnRzIGFzIGRlcGFyc2VkIHRleHQKLSAqCi0gKiBFbnRlcjogICBub2Rl
ID0gcGFyc2Ugbm9kZQotICogICAgICAgICAgbmVlZHNwYWNlID0gdHJ1ZSBpZiBsYXN0IG91dHB1
dCBjaGFyIHdhcyBhbiBpZGVudGlmaWVyIGNoYXIKLSAqCi0gKiBSZXR1cm46ICB1cGRhdGVkIG5l
ZWRzcGFjZSB2YWx1ZQotICovCi1zdGF0aWMgaW50Ci1vdXRwdXRub2RlYXN0ZXh0KHN0cnVjdCBu
b2RlICpub2RlLCBpbnQgbmVlZHNwYWNlKQotewotICAgIGlmIChub2RlLT50eXBlID49IE5UX1NU
QVJUKSB7Ci0gICAgICAgIHN0cnVjdCBub2RlICpjaGlsZCA9IG5vZGUtPmNoaWxkcmVuOwotICAg
ICAgICB3aGlsZSAoY2hpbGQpIHsKLSAgICAgICAgICAgIG5lZWRzcGFjZSA9IG91dHB1dG5vZGVh
c3RleHQoY2hpbGQsIG5lZWRzcGFjZSk7Ci0gICAgICAgICAgICBjaGlsZCA9IGNoaWxkLT5uZXh0
OwotICAgICAgICB9Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgdW5zaWduZWQgaW50IGxlbiA9IHN0
cmxlbihub2RlLT5uYW1lKTsKLSAgICAgICAgaWYgKGxlbikgewotICAgICAgICAgICAgaW50IGNo
ID0gbm9kZS0+bmFtZVswXTsKLSAgICAgICAgICAgIGlmIChjaCA9PSAnXycgfHwgKCh1bnNpZ25l
ZCkoY2ggLSAnMCcpIDwgMTAKLSAgICAgICAgICAgICAgICAgICAgfHwgKHVuc2lnbmVkKSgoY2gg
JiB+MHgyMCkgLSAnQScpIDwgMjYpKQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIGlm
IChuZWVkc3BhY2UpIHB1dGNoYXIoJyAnKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGNo
ID0gbm9kZS0+bmFtZVtsZW4gLSAxXTsKLSAgICAgICAgICAgIGlmIChjaCA9PSAnXycgfHwgKCh1
bnNpZ25lZCkoY2ggLSAnMCcpIDwgMTAKLSAgICAgICAgICAgICAgICAgICAgfHwgKHVuc2lnbmVk
KSgoY2ggJiB+MHgyMCkgLSAnQScpIDwgMjYpKQotICAgICAgICAgICAgewotICAgICAgICAgICAg
ICAgIG5lZWRzcGFjZSA9IDE7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBwcmludHRleHQo
bm9kZS0+bmFtZSwgbGVuLCAxKTsKLSAgICAgICAgfQotICAgIH0KLSAgICByZXR1cm4gbmVlZHNw
YWNlOwotfQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIHByaW50ZnFpZCA6IHByaW50IGZ1bGx5LXF1
YWxpZmllZCBpZAotICoKLSAqIEVudGVyOiAgIG5vZGUgc3RydWN0Ci0gKgotICogUmV0dXJuOiAg
d2hldGhlciBhbnl0aGluZyBwcmludGVkCi0gKi8KLXN0YXRpYyBpbnQKLXByaW50ZnFpZChzdHJ1
Y3Qgbm9kZSAqbm9kZSkKLXsKLSAgICBpbnQgYW55ID0gMDsKLSAgICBzdHJ1Y3Qgbm9kZSAqaWRl
bnRpZmllcjsKLSAgICBpZiAobm9kZS0+cGFyZW50KSB7Ci0gICAgICAgIGFueSA9IHByaW50ZnFp
ZChub2RlLT5wYXJlbnQpOwotICAgIH0KLSAgICBzd2l0Y2ggKG5vZGUtPnR5cGUpIHsKLSAgICBj
YXNlIE5UX01vZHVsZToKLSAgICBjYXNlIE5UX0ludGVyZmFjZToKLSAgICBjYXNlIE5UX1R5cGVk
ZWY6Ci0gICAgY2FzZSBOVF9PcGVyYXRpb246Ci0gICAgY2FzZSBOVF9BdHRyaWJ1dGU6Ci0gICAg
Y2FzZSBOVF9Db25zdDoKLSAgICAgICAgaWYgKGFueSkKLSAgICAgICAgICAgIHByaW50ZigiOiIp
OwotICAgICAgICAvKiBGaW5kIGlkZW50aWZpZXIgY2hpbGQgaWYgYW55LiAqLwotICAgICAgICBp
ZGVudGlmaWVyID0gbm9kZS0+Y2hpbGRyZW47Ci0gICAgICAgIHdoaWxlIChpZGVudGlmaWVyKSB7
Ci0gICAgICAgICAgICBpZiAoaWRlbnRpZmllci0+dHlwZSA9PSBUT0tfSURFTlRJRklFUikKLSAg
ICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGlmIChpZGVudGlmaWVyLT50eXBlID09
IE5UX1R5cGVkZWZSZXN0KSB7Ci0gICAgICAgICAgICAgICAgaWRlbnRpZmllciA9IGlkZW50aWZp
ZXItPmNoaWxkcmVuOwotICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAgICAgfQot
ICAgICAgICAgICAgaWRlbnRpZmllciA9IGlkZW50aWZpZXItPm5leHQ7Ci0gICAgICAgIH0KLSAg
ICAgICAgaWYgKGlkZW50aWZpZXIpIHsKLSAgICAgICAgICAgIHByaW50dGV4dChpZGVudGlmaWVy
LT5uYW1lLCBzdHJsZW4oaWRlbnRpZmllci0+bmFtZSksIDEpOwotICAgICAgICAgICAgYW55ID0g
MTsKLSAgICAgICAgfQotICAgICAgICBicmVhazsKLSAgICB9Ci0gICAgcmV0dXJuIGFueTsKLX0K
LQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqCi0gKiBvdXRwdXQgOiBvdXRwdXQgc3VidHJlZSBvZiBwYXJzZSB0
cmVlCi0gKgotICogRW50ZXI6ICAgbm9kZSA9IHJvb3Qgb2Ygc3VidHJlZQotICogICAgICAgICAg
ZXh0ZW5kZWRhdHRyaWJ1dGVsaXN0ID0gMCBlbHNlIGV4dGVuZGVkIGF0dHJpYnV0ZSBsaXN0IG5v
ZGUKLSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFwcGx5aW5nIHRvIG5vZGUK
LSAqICAgICAgICAgIGluZGVudCA9IGluZGVudCAobmVzdGluZykgbGV2ZWwKLSAqLwotc3RhdGlj
IHZvaWQgb3V0cHV0Y2hpbGRyZW4oc3RydWN0IG5vZGUgKm5vZGUsIHN0cnVjdCBub2RlICppZGVu
dGlmaWVyLCB1bnNpZ25lZCBpbnQgaW5kZW50KTsKLQotc3RhdGljIHZvaWQKLW91dHB1dChzdHJ1
Y3Qgbm9kZSAqbm9kZSwgc3RydWN0IG5vZGUgKmV4dGVuZGVkYXR0cmlidXRlbGlzdCwKLSAgICAg
ICB1bnNpZ25lZCBpbnQgaW5kZW50KQotewotICAgIGlmIChleHRlbmRlZGF0dHJpYnV0ZWxpc3Qp
IHsKLSAgICAgICAgbm9kZS0+d3NzdGFydCA9IGV4dGVuZGVkYXR0cmlidXRlbGlzdC0+d3NzdGFy
dDsKLSAgICAgICAgbm9kZS0+c3RhcnQgPSBleHRlbmRlZGF0dHJpYnV0ZWxpc3QtPnN0YXJ0Owot
ICAgIH0KLSAgICBpZiAobm9kZS0+dHlwZSA9PSBOVF9FeHRlbmRlZEF0dHJpYnV0ZSkgewotICAg
ICAgICBwcmludGYoIiUqczxFeHRlbmRlZEF0dHJpYnV0ZSB2YWx1ZT1cIiIsIGluZGVudCwgIiIp
OwotICAgICAgICBvdXRwdXRub2RlYXN0ZXh0KG5vZGUsIDApOwotICAgICAgICBwcmludGYoIlwi
Lz5cbiIpOwotICAgIH0gZWxzZSBpZiAobm9kZS0+dHlwZSA9PSBOVF9Cb29sZWFuTGl0ZXJhbCkg
ewotICAgICAgICBwcmludGYoIiUqczxCb29sZWFuTGl0ZXJhbCB2YWx1ZT1cIiVzXCIvPiIsIGlu
ZGVudCwgIiIsCi0gICAgICAgICAgICBub2RlLT5jaGlsZHJlbi0+bmFtZSk7Ci0gICAgfSBlbHNl
IGlmIChub2RlLT50eXBlID09IE5UX1JlYWRPbmx5KSB7Ci0gICAgICAgIHByaW50ZigiJSpzPFJl
YWRPbmx5Lz5cbiIsIGluZGVudCwgIiIpOwotICAgIH0gZWxzZSBpZiAobm9kZS0+dHlwZSA+PSBO
VF9TVEFSVCkgewotICAgICAgICBjb25zdCBjaGFyICpudG5hbWU7Ci0gICAgICAgIC8qIEZpbmQg
aWRlbnRpZmllciBjaGlsZCBpZiBhbnkuICovCi0gICAgICAgIHN0cnVjdCBub2RlICppZGVudGlm
aWVyID0gbm9kZS0+Y2hpbGRyZW47Ci0gICAgICAgIHdoaWxlIChpZGVudGlmaWVyKSB7Ci0gICAg
ICAgICAgICBpZiAoaWRlbnRpZmllci0+dHlwZSA9PSBUT0tfSURFTlRJRklFUikKLSAgICAgICAg
ICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGlkZW50aWZpZXIgPSBpZGVudGlmaWVyLT5uZXh0
OwotICAgICAgICB9Ci0gICAgICAgIC8qIEZpbmQgbm9udGVybWluYWwgbmFtZS4gKi8KLSAgICAg
ICAgbnRuYW1lID0gbnRuYW1lcyArIDI7Ci0gICAgICAgIHdoaWxlIChub2RlLT50eXBlIC0gTlRf
U1RBUlQgIT0gKCh1bnNpZ25lZCBjaGFyKW50bmFtZVstMl0gfCAodW5zaWduZWQgY2hhciludG5h
bWVbLTFdIDw8IDgpKQotICAgICAgICAgICAgbnRuYW1lICs9IHN0cmxlbihudG5hbWUpICsgMzsK
LSAgICAgICAgLyogT3V0cHV0IHN0YXJ0IG9mIGVsZW1lbnQuICovCi0gICAgICAgIHByaW50Zigi
JSpzPCVzIiwgaW5kZW50LCAiIiwgbnRuYW1lKTsKLSAgICAgICAgLyogT3V0cHV0IGlkZW50aWZp
ZXIgaWYgYW55IGFzIGF0dHJpYnV0ZS4gKi8KLSAgICAgICAgaWYgKGlkZW50aWZpZXIpIHsKLSAg
ICAgICAgICAgIHByaW50ZigiIGlkZW50aWZpZXI9XCIiKTsKLSAgICAgICAgICAgIHByaW50dGV4
dChpZGVudGlmaWVyLT5uYW1lLCBzdHJsZW4oaWRlbnRpZmllci0+bmFtZSksIDEpOwotICAgICAg
ICAgICAgcHJpbnRmKCJcIiIpOwotICAgICAgICB9Ci0gICAgICAgIHN3aXRjaCAobm9kZS0+dHlw
ZSkgewotICAgICAgICBjYXNlIE5UX01vZHVsZToKLSAgICAgICAgY2FzZSBOVF9JbnRlcmZhY2U6
Ci0gICAgICAgIGNhc2UgTlRfVHlwZWRlZjoKLSAgICAgICAgY2FzZSBOVF9Db25zdDoKLSAgICAg
ICAgICAgIC8qIE91dHB1dCBmdWxseSBxdWFsaWZpZWQgaWQuICovCi0gICAgICAgICAgICBwcmlu
dGYoIiBmcWlkPVwiIik7Ci0gICAgICAgICAgICBwcmludGZxaWQobm9kZSk7Ci0gICAgICAgICAg
ICBwcmludGYoIlwiIik7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgfQotICAgICAgICBp
ZiAoIWlkZW50aWZpZXIgJiYgIWV4dGVuZGVkYXR0cmlidXRlbGlzdCAmJiAhbm9kZS0+Y2hpbGRy
ZW4gJiYgIW5vZGUtPmNvbW1lbnRzKQotICAgICAgICAgICAgcHJpbnRmKCIvPlxuIik7Ci0gICAg
ICAgIGVsc2UgewotICAgICAgICAgICAgcHJpbnRmKCI+XG4iKTsKLSAgICAgICAgICAgIC8qIE91
dHB1dCBkZXNjcmlwdGl2ZSBlbGVtZW50cyAoZG94eWdlbiBjb21tZW50cykgZm9yIG5vZGUuICov
Ci0gICAgICAgICAgICBvdXRwdXRkZXNjcmlwdGl2ZShub2RlLCBpbmRlbnQgKyAyKTsKLSAgICAg
ICAgICAgIC8qIE91dHB1dCBkZXNjcmlwdGl2ZSBlbGVtZW50cyAoZG94eWdlbiBjb21tZW50cykg
Zm9yIGlkZW50aWZpZXIuICovCi0gICAgICAgICAgICBpZiAoaWRlbnRpZmllcikKLSAgICAgICAg
ICAgICAgICBvdXRwdXRkZXNjcmlwdGl2ZShpZGVudGlmaWVyLCBpbmRlbnQgKyAyKTsKLSAgICAg
ICAgICAgIC8qIE91dHB1dCBleHRlbmRlZCBhdHRyaWJ1dGUgbGlzdC4gKi8KLSAgICAgICAgICAg
IGlmIChleHRlbmRlZGF0dHJpYnV0ZWxpc3QpCi0gICAgICAgICAgICAgICAgb3V0cHV0KGV4dGVu
ZGVkYXR0cmlidXRlbGlzdCwgMCwgaW5kZW50ICsgMik7Ci0gICAgICAgICAgICAvKiBPdXRwdXQg
Y2hpbGRyZW4gKGV4Y2x1ZGluZyBpZGVudGlmaWVyIGNoaWxkKS4gKi8KLSAgICAgICAgICAgIG91
dHB1dGNoaWxkcmVuKG5vZGUsIGlkZW50aWZpZXIsIGluZGVudCArIDIpOwotICAgICAgICAgICAg
cHJpbnRmKCIlKnM8LyVzPlxuIiwgaW5kZW50LCAiIiwgbnRuYW1lKTsKLSAgICAgICAgfQotICAg
IH0gZWxzZSBzd2l0Y2ggKG5vZGUtPnR5cGUpIHsKLSAgICBjYXNlIFRPS19ET01TdHJpbmc6Ci0g
ICAgY2FzZSBUT0tfYW55OgotICAgIGNhc2UgVE9LX2Jvb2xlYW46Ci0gICAgY2FzZSBUT0tfb2N0
ZXQ6Ci0gICAgY2FzZSBUT0tfZmxvYXQ6Ci0gICAgY2FzZSBUT0tfZG91YmxlOgotICAgIGNhc2Ug
VE9LX09iamVjdDoKLSAgICBjYXNlIFRPS191bnNpZ25lZDoKLSAgICBjYXNlIFRPS19zaG9ydDoK
LSAgICBjYXNlIFRPS19sb25nOgotICAgIGNhc2UgVE9LX3ZvaWQ6Ci0gICAgICAgIHByaW50Zigi
JSpzPCVzLz5cbiIsIGluZGVudCwgIiIsIG5vZGUtPm5hbWUpOwotICAgICAgICBicmVhazsKLSAg
ICBjYXNlIFRPS19JTlRFR0VSOgotICAgICAgICBwcmludGYoIiUqczxpbnRlZ2VyIHZhbHVlPVwi
IiwgaW5kZW50LCAiIik7Ci0gICAgICAgIHByaW50dGV4dChub2RlLT5uYW1lLCBzdHJsZW4obm9k
ZS0+bmFtZSksIDEpOwotICAgICAgICBwcmludGYoIlwiLz5cbiIpOwotICAgICAgICBicmVhazsK
LSAgICBjYXNlIFRPS19GTE9BVDoKLSAgICAgICAgcHJpbnRmKCIlKnM8RmxvYXQgdmFsdWU9XCIi
LCBpbmRlbnQsICIiKTsKLSAgICAgICAgcHJpbnR0ZXh0KG5vZGUtPm5hbWUsIHN0cmxlbihub2Rl
LT5uYW1lKSwgMSk7Ci0gICAgICAgIHByaW50ZigiXCIvPlxuIik7Ci0gICAgICAgIGJyZWFrOwot
ICAgIGNhc2UgVE9LX1NUUklORzoKLSAgICAgICAgcHJpbnRmKCIlKnM8c3RyaW5nIHZhbHVlPVwi
IiwgaW5kZW50LCAiIik7Ci0gICAgICAgIHByaW50dGV4dChub2RlLT5uYW1lLCBzdHJsZW4obm9k
ZS0+bmFtZSksIDEpOwotICAgICAgICBwcmludGYoIlwiLz5cbiIpOwotICAgICAgICBicmVhazsK
LSAgICB9Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogb3V0cHV0Y2hpbGRyZW4gOiBjYWxsIG91
dHB1dCBmb3IgZWFjaCBjaGlsZCBvZiBub2RlCi0gKgotICogRW50ZXI6ICAgbm9kZQotICogICAg
ICAgICAgaWRlbnRpZmllciA9IGNoaWxkIG5vZGUgdG8gb21pdCBmcm9tIG91dHB1dAotICogICAg
ICAgICAgaW5kZW50ID0gaW5kZW50IChuZXN0aW5nKSBsZXZlbAotICovCi1zdGF0aWMgdm9pZAot
b3V0cHV0Y2hpbGRyZW4oc3RydWN0IG5vZGUgKm5vZGUsIHN0cnVjdCBub2RlICppZGVudGlmaWVy
LCB1bnNpZ25lZCBpbnQgaW5kZW50KQotewotICAgIHN0cnVjdCBub2RlICpleHRlbmRlZGF0dHJp
YnV0ZWxpc3Q7Ci0gICAgc3RydWN0IG5vZGUgKmNoaWxkOwotICAgIGNoaWxkID0gbm9kZS0+Y2hp
bGRyZW47Ci0gICAgZXh0ZW5kZWRhdHRyaWJ1dGVsaXN0ID0gMDsKLSAgICB3aGlsZSAoY2hpbGQp
IHsKLSAgICAgICAgaWYgKGNoaWxkLT50eXBlID09IE5UX0V4dGVuZGVkQXR0cmlidXRlTGlzdCAm
JiBub2RlLT50eXBlICE9IE5UX0FyZ3VtZW50KQotICAgICAgICAgICAgZXh0ZW5kZWRhdHRyaWJ1
dGVsaXN0ID0gY2hpbGQ7Ci0gICAgICAgIGVsc2UgewotICAgICAgICAgICAgaWYgKGlkZW50aWZp
ZXIgIT0gY2hpbGQpCi0gICAgICAgICAgICAgICAgb3V0cHV0KGNoaWxkLCBleHRlbmRlZGF0dHJp
YnV0ZWxpc3QsIGluZGVudCk7Ci0gICAgICAgICAgICBleHRlbmRlZGF0dHJpYnV0ZWxpc3QgPSAw
OwotICAgICAgICB9Ci0gICAgICAgIGNoaWxkID0gY2hpbGQtPm5leHQ7Ci0gICAgfQotfQotI2Vu
ZGlmIC8qMCovCi0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogcHJvY2Vzc2ZpbGVzIDogcHJvY2VzcyBp
bnB1dCBmaWxlcwotICoKLSAqIEVudGVyOiAgIG5hbWUgPSBmaWxlbmFtZQotICovCi12b2lkCi1w
cm9jZXNzZmlsZXMoY29uc3QgY2hhciAqY29uc3QgKm5hbWVzLCBpbnQgZHRkcmVmKQotewotICAg
IHN0cnVjdCBub2RlICpyb290OwotICAgIHJlYWRpbnB1dChuYW1lcyk7Ci0gICAgcm9vdCA9IHBh
cnNlKCk7Ci0gICAgcHJvY2Vzc2NvbW1lbnRzKHJvb3QpOwotICAgIHByaW50ZigiPD94bWwgdmVy
c2lvbj1cIjEuMFwiIGVuY29kaW5nPVwiVVRGLThcIj8+XG4iKTsKLSAgICBpZihkdGRyZWYpCi0g
ICAgICAgIHByaW50ZigiPCFET0NUWVBFIERlZmluaXRpb25zIFNZU1RFTSBcIndpZGxwcm9jeG1s
LmR0ZFwiPlxuIik7Ci0gICAgb3V0cHV0bm9kZShyb290LCAwKTsKLX0KLQpJbmRleDogTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3dpZGxwcm9jL3NyYy9wcm9jZXNzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxw
cm9jL3NyYy9wcm9jZXNzLmgJKHJldmlzaW9uIDI1Mjg5NikKKysrIExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJv
Yy9zcmMvcHJvY2Vzcy5oCShub25leGlzdGVudCkKQEAgLTEsMjcgKzAsMCBAQAotLyoqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqCi0gKiAkSWQkCi0gKiBDb3B5cmlnaHQgMjAwOSBBcGxpeCBDb3Jwb3JhdGlvbi4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KLSAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwg
VmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOwotICogeW91IG1heSBub3QgdXNlIHRoaXMgZmls
ZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgotICogWW91IG1heSBvYnRh
aW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0Ci0gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3Jn
L2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCi0gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBs
YXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCi0gKiBkaXN0cmlidXRlZCB1bmRl
ciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAotICogV0lU
SE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNz
IG9yIGltcGxpZWQuCi0gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFn
ZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCi0gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGlj
ZW5zZS4KLSAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKi8KLSNpZm5kZWYgcHJvY2Vzc19oCi0jZGVmaW5lIHByb2Nl
c3NfaAotCi0jaWYgMAotI2RlZmluZSBOVF9TVEFSVCAweDEwMAotI2luY2x1ZGUgIm5vbnRlcm1p
bmFscy5oIgotI2VuZGlmLyowKi8KLQotdm9pZCBwcmludHRleHQoY29uc3QgY2hhciAqcywgdW5z
aWduZWQgaW50IGxlbiwgaW50IGVzY2FtcCk7Ci0KLXZvaWQgcHJvY2Vzc2ZpbGVzKGNvbnN0IGNo
YXIgKmNvbnN0ICpuYW1lcywgaW50IGR0ZHJlZik7Ci0KLSNlbmRpZiAvKiBuZGVmIHByb2Nlc3Nf
aCAqLwotCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mvc3JjL3czYy1pbXBvcnQubG9nCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9zcmMvdzNjLWltcG9ydC5sb2cJKHJldmlzaW9u
IDI1Mjg5NikKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9zcmMvdzNjLWltcG9ydC5sb2cJKG5vbmV4
aXN0ZW50KQpAQCAtMSwzMyArMCwwIEBACi1UaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2Vy
ZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KLURvIE5PVCBtb2RpZnkgdGhlc2Ug
dGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0
IG9uIHRoZSBXM0MgQ1NTIG9yIFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3czYy9j
c3N3Zy10ZXN0Ci0JaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMKLQot
VGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8g
cmVpbXBvcnQKLQotRG8gTk9UIG1vZGlmeSBvciByZW1vdmUgdGhpcyBmaWxlLgotCi0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0KLVByb3BlcnRpZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKLU5vbmUKLVBy
b3BlcnR5IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgotTm9uZQotLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tCi1MaXN0IG9mIGZpbGVzOgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9zcmMvY29tbWVudC5j
Ci0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3dpZGxwcm9jL3NyYy9jb21tZW50LmgKLS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mv
c3JjL2VudGl0aWVzLmgKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mvc3JjL2xleC5jCi0vTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3dpZGxwcm9jL3NyYy9sZXguaAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9zcmMvbWFpbi5jCi0vTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L3dpZGxwcm9jL3NyYy9taXNjLmMKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mvc3JjL21pc2Mu
aAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC93aWRscHJvYy9zcmMvbm9kZS5jCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Ny
Yy9ub2RlLmgKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mvc3JjL29zLmgKLS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHBy
b2Mvc3JjL3BhcnNlLmMKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mvc3JjL3BhcnNlLmgKLS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvd2lkbHByb2Mvc3JjL3Byb2Nlc3MuYwotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9zcmMvcHJvY2Vz
cy5oCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3NyYy93aWRscHJvY3htbHRvaHRtbC54c2wKSW5kZXg6
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC93aWRscHJvYy9zcmMvd2lkbHByb2N4bWx0b2h0bWwueHNsCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC93aWRscHJvYy9zcmMvd2lkbHByb2N4bWx0b2h0bWwueHNsCShyZXZpc2lv
biAyNTI4OTYpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mvc3JjL3dpZGxwcm9jeG1sdG9odG1sLnhz
bAkobm9uZXhpc3RlbnQpCkBAIC0xLDgyOCArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVu
Y29kaW5nPSJ1dGYtOCI/PgotPCEtLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0kSWQ6IHdpZGxwcm9jeG1sdG9odG1s
LnhzbCA0MDcgMjAwOS0xMC0yNiAxMzo0ODo0OFogdHByICQKLUNvcHlyaWdodCAyMDA5IEFwbGl4
IENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotTGljZW5zZWQgdW5kZXIgdGhlIEFw
YWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7Ci15b3UgbWF5IG5vdCB1
c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCi1Zb3Ug
bWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKLSAgICBodHRwOi8vd3d3LmFwYWNo
ZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKLVVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxl
IGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKLWRpc3RyaWJ1dGVkIHVuZGVy
IHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCi1XSVRIT1VU
IFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3Ig
aW1wbGllZC4KLVNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVy
bmluZyBwZXJtaXNzaW9ucyBhbmQKLWxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgotCi1Y
U0xUIHN0eWxlc2hlZXQgdG8gY29udmVydCB3aWRscHJvY3htbCBpbnRvIGh0bWwgZG9jdW1lbnRh
dGlvbi4KLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PS0tPgotPHhzbDpzdHlsZXNoZWV0IHhtbG5zOnhzbD0iaHR0cDov
L3d3dy53My5vcmcvMTk5OS9YU0wvVHJhbnNmb3JtIiB2ZXJzaW9uPSIxLjAiPgotPHhzbDpvdXRw
dXQgbWV0aG9kPSJodG1sIiBlbmNvZGluZz0idXRmLTgiIGluZGVudD0ieWVzIiBkb2N0eXBlLXB1
YmxpYz0iaHRtbCIvPgotCi08eHNsOnBhcmFtIG5hbWU9ImRhdGUiIHNlbGVjdD0iJ2Vycm9yOiBt
aXNzaW5nIGRhdGUnIi8+Ci0KLTx4c2w6dmFyaWFibGUgbmFtZT0idGl0bGUiIHNlbGVjdD0iY29u
Y2F0KCdUaGUgJywvRGVmaW5pdGlvbnMvZGVzY3JpcHRpdmUvbmFtZSwnIE1vZHVsZSAtIFZlcnNp
b24gJywvRGVmaW5pdGlvbnMvZGVzY3JpcHRpdmUvdmVyc2lvbikiLz4KLQotPCEtLVJvb3Qgb2Yg
ZG9jdW1lbnQuLS0+Ci08eHNsOnRlbXBsYXRlIG1hdGNoPSIvIj4KLSAgICA8aHRtbD4KLSAgICAg
ICAgPGhlYWQ+Ci0gICAgICAgICAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQv
Y3NzIiBocmVmPSJ3aWRsaHRtbC5jc3MiIG1lZGlhPSJzY3JlZW4iLz4KLSAgICAgICAgICAgIDx0
aXRsZT4KLSAgICAgICAgICAgICAgICA8eHNsOnZhbHVlLW9mIHNlbGVjdD0iJHRpdGxlIi8+Ci0g
ICAgICAgICAgICA8L3RpdGxlPgotICAgICAgICA8L2hlYWQ+Ci0gICAgICAgIDxib2R5PgotICAg
ICAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMvPgotICAgICAgICA8L2JvZHk+Ci0gICAgPC9o
dG1sPgotPC94c2w6dGVtcGxhdGU+Ci0KLTwhLS1Sb290IG9mIERlZmluaXRpb25zLi0tPgotPHhz
bDp0ZW1wbGF0ZSBtYXRjaD0iRGVmaW5pdGlvbnMiPgotICAgIDxkaXYgY2xhc3M9ImFwaSIgaWQ9
IntAaWR9Ij4KLSAgICAgICAgPGEgaHJlZj0iaHR0cDovL2JvbmRpLm9tdHAub3JnIj48aW1nIHNy
Yz0iaHR0cDovL3d3dy5vbXRwLm9yZy9pbWFnZXMvQm9uZGlTbWFsbC5qcGciIGFsdD0iQm9uZGkg
bG9nbyIvPjwvYT4KLSAgICAgICAgPGgxPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIkdGl0bGUiLz48
L2gxPgotICAgICAgICA8aDM+MTIgTWF5IDIwMDk8L2gzPgotCi0gICAgICAgIDxoMj5BdXRob3Jz
PC9oMj4KLSAgICAgICAgPHVsIGNsYXNzPSJhdXRob3JzIj4KLSAgICAgICAgICA8eHNsOmFwcGx5
LXRlbXBsYXRlcyBzZWxlY3Q9ImRlc2NyaXB0aXZlL2F1dGhvciIvPgotICAgICAgICA8L3VsPgot
Ci0gICAgICAgIDxwIGNsYXNzPSJjb3B5cmlnaHQiPjxzbWFsbD7CqSBUaGUgYXV0aG9ycywgMjAx
Mi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48L3NtYWxsPjwvcD4KLQotICAgICAgICA8aHIvPgotCi0g
ICAgICAgIDxoMj5BYnN0cmFjdDwvaDI+Ci0KLSAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMg
c2VsZWN0PSJkZXNjcmlwdGl2ZS9icmllZiIvPgotICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRl
cyBzZWxlY3Q9ImRlc2NyaXB0aXZlL2Rlc2NyaXB0aW9uIi8+Ci0gICAgICAgIDx4c2w6YXBwbHkt
dGVtcGxhdGVzIHNlbGVjdD0iZGVzY3JpcHRpdmUvQ29kZSIvPgotCi0gICAgICAgIDxoMj5UYWJs
ZSBvZiBDb250ZW50czwvaDI+Ci0gICAgICAgIDx1bCBjbGFzcz0idG9jIj4KLSAgICAgICAgICA8
bGk+PGEgaHJlZj0iI2ludHJvIj5JbnRyb2R1Y3Rpb248L2E+Ci0gICAgICAgICAgPHVsPgotICAg
ICAgICAgICAgPHhzbDppZiB0ZXN0PSJkZXNjcmlwdGl2ZS9kZWYtYXBpLWZlYXR1cmUtc2V0Ij4K
LSAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9IiNkZWYtYXBpLWZlYXR1cmUtc2V0cyI+RmVhdHVy
ZSBzZXQ8L2E+PC9saT4KLSAgICAgICAgICAgIDwveHNsOmlmPgotICAgICAgICAgICAgPHhzbDpp
ZiB0ZXN0PSJkZXNjcmlwdGl2ZS9kZWYtYXBpLWZlYXR1cmUiPgotICAgICAgICAgICAgICA8bGk+
PGEgaHJlZj0iI2RlZi1hcGktZmVhdHVyZXMiPkZlYXR1cmVzPC9hPjwvbGk+Ci0gICAgICAgICAg
ICA8L3hzbDppZj4KLSAgICAgICAgICAgIDx4c2w6aWYgdGVzdD0iZGVzY3JpcHRpdmUvZGVmLWRl
dmljZS1jYXAiPgotICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iI2RlZi1kZXZpY2UtY2FwcyI+
RGV2aWNlIENhcGFiaWxpdGllczwvYT48L2xpPgotICAgICAgICAgICAgPC94c2w6aWY+Ci0gICAg
ICAgICAgPC91bD4KLSAgICAgICAgICA8L2xpPgotICAgICAgICAgIDx4c2w6aWYgdGVzdD0iVHlw
ZWRlZiI+Ci0gICAgICAgICAgICA8bGk+PGEgaHJlZj0iI3R5cGVkZWZzIj5UeXBlIERlZmluaXRp
b25zPC9hPgotICAgICAgICAgICAgPHVsIGNsYXNzPSJ0b2MiPgotICAgICAgICAgICAgICA8eHNs
OmZvci1lYWNoIHNlbGVjdD0iVHlwZWRlZltkZXNjcmlwdGl2ZV0iPgotICAgICAgICAgICAgICAg
IDxsaT48YSBocmVmPSIje0BpZH0iPjxjb2RlPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAbmFtZSIv
PjwvY29kZT48L2E+PC9saT4KLSAgICAgICAgICAgICAgPC94c2w6Zm9yLWVhY2g+Ci0gICAgICAg
ICAgICA8L3VsPgotICAgICAgICAgICAgPC9saT4KLSAgICAgICAgICA8L3hzbDppZj4KLSAgICAg
ICAgICA8eHNsOmlmIHRlc3Q9IkludGVyZmFjZSI+Ci0JICAgICAgICAgIDxsaT48YSBocmVmPSIj
aW50ZXJmYWNlcyI+SW50ZXJmYWNlczwvYT4KLQkgICAgICAgICAgPHVsIGNsYXNzPSJ0b2MiPgot
CSAgICAgICAgICA8eHNsOmZvci1lYWNoIHNlbGVjdD0iSW50ZXJmYWNlW2Rlc2NyaXB0aXZlXSI+
Ci0JICAgICAgICAgICAgPGxpPjxhIGhyZWY9IiN7QGlkfSI+PGNvZGU+PHhzbDp2YWx1ZS1vZiBz
ZWxlY3Q9IkBuYW1lIi8+PC9jb2RlPjwvYT48L2xpPgotCSAgICAgICAgICA8L3hzbDpmb3ItZWFj
aD4KLQkgICAgICAgICAgPC91bD4KLQkgICAgICAgICAgPC9saT4KLSAgICAgICAgICA8L3hzbDpp
Zj4KLSAgICAgICAgICA8eHNsOmlmIHRlc3Q9IkRpY3Rpb25hcnkiPgotCSAgICAgICAgICA8bGk+
PGEgaHJlZj0iI2RpY3Rpb25hcmllcyI+RGljdGlvbmFyeSB0eXBlczwvYT4KLQkgICAgICAgICAg
PHVsIGNsYXNzPSJ0b2MiPgotCSAgICAgICAgICA8eHNsOmZvci1lYWNoIHNlbGVjdD0iRGljdGlv
bmFyeVtkZXNjcmlwdGl2ZV0iPgotCSAgICAgICAgICAgIDxsaT48YSBocmVmPSIje0BpZH0iPjxj
b2RlPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAbmFtZSIvPjwvY29kZT48L2E+PC9saT4KLQkgICAg
ICAgICAgPC94c2w6Zm9yLWVhY2g+Ci0JICAgICAgICAgIDwvdWw+Ci0JICAgICAgICAgIDwvbGk+
Ci0gICAgICAgICAgPC94c2w6aWY+Ci0gICAgICAgICAgPHhzbDppZiB0ZXN0PSJDYWxsYmFjayI+
Ci0JICAgICAgICAgIDxsaT48YSBocmVmPSIjY2FsbGJhY2tzIj5DYWxsYmFja3M8L2E+Ci0JICAg
ICAgICAgIDx1bCBjbGFzcz0idG9jIj4KLQkgICAgICAgICAgPHhzbDpmb3ItZWFjaCBzZWxlY3Q9
IkNhbGxiYWNrW2Rlc2NyaXB0aXZlXSI+Ci0JICAgICAgICAgICAgPGxpPjxhIGhyZWY9IiN7QGlk
fSI+PGNvZGU+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBuYW1lIi8+PC9jb2RlPjwvYT48L2xpPgot
CSAgICAgICAgICA8L3hzbDpmb3ItZWFjaD4KLQkgICAgICAgICAgPC91bD4KLQkgICAgICAgICAg
PC9saT4KLSAgICAgICAgICA8L3hzbDppZj4KLSAgICAgICAgICA8eHNsOmlmIHRlc3Q9IkVudW0i
PgotCSAgICAgICAgICA8bGk+PGEgaHJlZj0iI2VudW1zIj5FbnVtczwvYT4KLQkgICAgICAgICAg
PHVsIGNsYXNzPSJ0b2MiPgotCSAgICAgICAgICA8eHNsOmZvci1lYWNoIHNlbGVjdD0iRW51bVtk
ZXNjcmlwdGl2ZV0iPgotCSAgICAgICAgICAgIDxsaT48YSBocmVmPSIje0BpZH0iPjxjb2RlPjx4
c2w6dmFsdWUtb2Ygc2VsZWN0PSJAbmFtZSIvPjwvY29kZT48L2E+PC9saT4KLQkgICAgICAgICAg
PC94c2w6Zm9yLWVhY2g+Ci0JICAgICAgICAgIDwvdWw+Ci0JICAgICAgICAgIDwvbGk+Ci0gICAg
ICAgICAgPC94c2w6aWY+Ci0gICAgICAgIDwvdWw+Ci0KLSAgICAgICAgPGhyLz4KLQotICAgICAg
ICA8aDI+U3VtbWFyeSBvZiBNZXRob2RzPC9oMj4KLSAgICAgICAgPHhzbDpjYWxsLXRlbXBsYXRl
IG5hbWU9InN1bW1hcnkiLz4KLSAgICAgICAgCi0gICAgICAgIDxoMiBpZD0iaW50cm8iPkludHJv
ZHVjdGlvbjwvaDI+Ci0KLSAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJkZXNj
cmlwdGl2ZS9kZXNjcmlwdGlvbiIvPgotICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxl
Y3Q9ImRlc2NyaXB0aXZlL0NvZGUiLz4KLQotICAgICAgICA8eHNsOmlmIHRlc3Q9ImRlc2NyaXB0
aXZlL2RlZi1hcGktZmVhdHVyZS1zZXQiPgotICAgICAgICAgICAgPGRpdiBpZD0iZGVmLWFwaS1m
ZWF0dXJlLXNldHMiIGNsYXNzPSJkZWYtYXBpLWZlYXR1cmUtc2V0cyI+Ci0gICAgICAgICAgICAg
ICAgPGgzIGlkPSJmZWF0dXJlcyI+RmVhdHVyZSBzZXQ8L2gzPgotICAgICAgICAgICAgICAgIDxw
PlRoaXMgaXMgdGhlIFVSSSB1c2VkIHRvIGRlY2xhcmUgdGhpcyBBUEkncyBmZWF0dXJlIHNldCwg
Zm9yIHVzZSBpbiBib25kaS5yZXF1ZXN0RmVhdHVyZS4gRm9yIHRoZSBVUkwsIHRoZSBsaXN0IG9m
IGZlYXR1cmVzIGluY2x1ZGVkIGJ5IHRoZSBmZWF0dXJlIHNldCBpcyBwcm92aWRlZC48L3A+Ci0g
ICAgICAgICAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJkZXNjcmlwdGl2ZS9k
ZWYtYXBpLWZlYXR1cmUtc2V0Ii8+Ci0gICAgICAgICAgICA8L2Rpdj4KLSAgICAgICAgPC94c2w6
aWY+Ci0gICAgICAgIDx4c2w6aWYgdGVzdD0iZGVzY3JpcHRpdmUvZGVmLWFwaS1mZWF0dXJlIj4K
LSAgICAgICAgICAgIDxkaXYgaWQ9ImRlZi1hcGktZmVhdHVyZXMiIGNsYXNzPSJkZWYtYXBpLWZl
YXR1cmVzIj4KLSAgICAgICAgICAgICAgICA8aDMgaWQ9ImZlYXR1cmVzIj5GZWF0dXJlczwvaDM+
Ci0gICAgICAgICAgICAgICAgPHA+VGhpcyBpcyB0aGUgbGlzdCBvZiBVUklzIHVzZWQgdG8gZGVj
bGFyZSB0aGlzIEFQSSdzIGZlYXR1cmVzLCBmb3IgdXNlIGluIGJvbmRpLnJlcXVlc3RGZWF0dXJl
LiBGb3IgZWFjaCBVUkwsIHRoZSBsaXN0IG9mIGZ1bmN0aW9ucyBjb3ZlcmVkIGlzIHByb3ZpZGVk
LjwvcD4KLSAgICAgICAgICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9IkludGVy
ZmFjZS9kZXNjcmlwdGl2ZS9kZWYtaW5zdGFudGlhdGVkIi8+Ci0gICAgICAgICAgICAgICAgPHhz
bDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJkZXNjcmlwdGl2ZS9kZWYtYXBpLWZlYXR1cmUiLz4K
LSAgICAgICAgICAgIDwvZGl2PgotICAgICAgICA8L3hzbDppZj4KLSAgICAgICAgPHhzbDppZiB0
ZXN0PSJkZXNjcmlwdGl2ZS9kZWYtZGV2aWNlLWNhcCI+Ci0gICAgICAgICAgICA8ZGl2IGNsYXNz
PSJkZWYtZGV2aWNlLWNhcHMiIGlkPSJkZWYtZGV2aWNlLWNhcHMiPgotICAgICAgICAgICAgICAg
IDxoMz5EZXZpY2UgY2FwYWJpbGl0aWVzPC9oMz4KLSAgICAgICAgICAgICAgICA8ZGw+Ci0gICAg
ICAgICAgICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9ImRlc2NyaXB0aXZlL2Rl
Zi1kZXZpY2UtY2FwIi8+Ci0gICAgICAgICAgICAgICAgPC9kbD4KLSAgICAgICAgICAgIDwvZGl2
PgotICAgICAgICA8L3hzbDppZj4KLSAgICAgICAgPHhzbDppZiB0ZXN0PSJUeXBlZGVmIj4KLSAg
ICAgICAgICAgIDxkaXYgY2xhc3M9InR5cGVkZWZzIiBpZD0idHlwZWRlZnMiPgotICAgICAgICAg
ICAgICAgIDxoMj5UeXBlIERlZmluaXRpb25zPC9oMj4KLSAgICAgICAgICAgICAgICA8eHNsOmFw
cGx5LXRlbXBsYXRlcyBzZWxlY3Q9IlR5cGVkZWZbZGVzY3JpcHRpdmVdIi8+Ci0gICAgICAgICAg
ICA8L2Rpdj4KLSAgICAgICAgPC94c2w6aWY+Ci0gICAgICAgIDx4c2w6aWYgdGVzdD0iSW50ZXJm
YWNlIj4KLSAgICAgICAgICAgIDxkaXYgY2xhc3M9ImludGVyZmFjZXMiIGlkPSJpbnRlcmZhY2Vz
Ij4KLQkJICAgICAgICA8aDI+SW50ZXJmYWNlczwvaDI+Ci0gICAgICAgCQkgICAgPHhzbDphcHBs
eS10ZW1wbGF0ZXMgc2VsZWN0PSJJbnRlcmZhY2UiLz4KLSAgICAgICAgICAgIDwvZGl2PgotICAg
ICAgICA8L3hzbDppZj4KLSAgICAgICAgPHhzbDppZiB0ZXN0PSJEaWN0aW9uYXJ5Ij4KLSAgICAg
ICAgICAgIDxkaXYgY2xhc3M9ImRpY3Rpb25hcmllcyIgaWQ9ImRpY3Rpb25hcmllcyI+Ci0gICAg
ICAgIAkJPGgyPkRpY3Rpb25hcnkgdHlwZXM8L2gyPgotICAgICAgICAJCTx4c2w6YXBwbHktdGVt
cGxhdGVzIHNlbGVjdD0iRGljdGlvbmFyeSIvPgotICAgICAgICAgICAgPC9kaXY+Ci0gICAgICAg
IDwveHNsOmlmPgotICAgICAgICA8eHNsOmlmIHRlc3Q9IkNhbGxiYWNrIj4KLSAgICAgICAgICAg
IDxkaXYgY2xhc3M9ImNhbGxiYWNrcyIgaWQ9ImNhbGxiYWNrcyI+Ci0gICAgICAgIAkJPGgyPkNh
bGxiYWNrczwvaDI+Ci0gICAgICAgIAkJPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJDYWxs
YmFjayIvPgotICAgICAgICAgICAgPC9kaXY+Ci0gICAgICAgIDwveHNsOmlmPgotICAgICAgICA8
eHNsOmlmIHRlc3Q9IkVudW0iPgotICAgICAgICAgICAgPGRpdiBjbGFzcz0iZW51bXMiIGlkPSJl
bnVtcyI+Ci0gICAgICAgIAkJPGgyPkVudW1zPC9oMj4KLSAgICAgICAgCQk8eHNsOmFwcGx5LXRl
bXBsYXRlcyBzZWxlY3Q9IkVudW0iLz4KLSAgICAgICAgICAgIDwvZGl2PgotICAgICAgICA8L3hz
bDppZj4KLSAgICA8L2Rpdj4KLTwveHNsOnRlbXBsYXRlPgotCi08IS0tZGVmLWFwaS1mZWF0dXJl
LXNldC0tPgotPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iZGVmLWFwaS1mZWF0dXJlLXNldCI+Ci0gICAg
ICA8ZGwgY2xhc3M9ImRlZi1hcGktZmVhdHVyZS1zZXQiPgotICAgICAgICAgIDxkdD48eHNsOnZh
bHVlLW9mIHNlbGVjdD0iQGlkZW50aWZpZXIiLz48L2R0PgotICAgICAgICAgIDxkZD4KLSAgICAg
ICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iZGVzY3JpcHRpdmUvYnJpZWYiLz4K
LSAgICAgICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iZGVzY3JpcHRpdmUiLz4K
LSAgICAgICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iZGVzY3JpcHRpdmUvQ29k
ZSIvPgotICAgICAgICAgICAgPHhzbDppZiB0ZXN0PSJkZXNjcmlwdGl2ZS9hcGktZmVhdHVyZSI+
Ci0gICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFwaS1mZWF0dXJlcyI+Ci0gICAgICAgICAgICAg
ICAgPHA+Ci0gICAgICAgICAgICAgICAgICBJbmNsdWRlcyBBUEkgZmVhdHVyZXM6Ci0gICAgICAg
ICAgICAgICAgPC9wPgotICAgICAgICAgICAgICAgIDx1bD4KLSAgICAgICAgICAgICAgICAgIDx4
c2w6Zm9yLWVhY2ggc2VsZWN0PSJkZXNjcmlwdGl2ZS9hcGktZmVhdHVyZSI+Ci0gICAgICAgICAg
ICAgICAgICAgIDxsaT48Y29kZT48eHNsOnZhbHVlLW9mIHNlbGVjdD0iQGlkZW50aWZpZXIiLz48
L2NvZGU+PC9saT4KLSAgICAgICAgICAgICAgICAgIDwveHNsOmZvci1lYWNoPgotICAgICAgICAg
ICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgIDwvZGl2PgotICAgICAgICAgICAgPC94c2w6aWY+
Ci0gICAgICAgICAgPC9kZD4KLSAgICAgIDwvZGw+Ci08L3hzbDp0ZW1wbGF0ZT4KLQotPCEtLWRl
Zi1hcGktZmVhdHVyZS0tPgotPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iZGVmLWFwaS1mZWF0dXJlIj4K
LSAgICAgIDxkbCBjbGFzcz0iZGVmLWFwaS1mZWF0dXJlIj4KLSAgICAgICAgICA8ZHQ+PHhzbDp2
YWx1ZS1vZiBzZWxlY3Q9IkBpZGVudGlmaWVyIi8+PC9kdD4KLSAgICAgICAgICA8ZGQ+Ci0gICAg
ICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9ImRlc2NyaXB0aXZlL2JyaWVmIi8+
Ci0gICAgICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9ImRlc2NyaXB0aXZlIi8+
Ci0gICAgICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9ImRlc2NyaXB0aXZlL0Nv
ZGUiLz4KLSAgICAgICAgICAgIDx4c2w6aWYgdGVzdD0iZGVzY3JpcHRpdmUvZGV2aWNlLWNhcCI+
Ci0gICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRldmljZS1jYXBzIj4KLSAgICAgICAgICAgICAg
ICA8cD4KLSAgICAgICAgICAgICAgICAgIERldmljZSBjYXBhYmlsaXRpZXM6Ci0gICAgICAgICAg
ICAgICAgPC9wPgotICAgICAgICAgICAgICAgIDx1bD4KLSAgICAgICAgICAgICAgICAgIDx4c2w6
Zm9yLWVhY2ggc2VsZWN0PSJkZXNjcmlwdGl2ZS9kZXZpY2UtY2FwIj4KLSAgICAgICAgICAgICAg
ICAgICAgPGxpPjxjb2RlPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAaWRlbnRpZmllciIvPjwvY29k
ZT48L2xpPgotICAgICAgICAgICAgICAgICAgPC94c2w6Zm9yLWVhY2g+Ci0gICAgICAgICAgICAg
ICAgPC91bD4KLSAgICAgICAgICAgICAgPC9kaXY+Ci0gICAgICAgICAgICA8L3hzbDppZj4KLSAg
ICAgICAgICA8L2RkPgotICAgICAgPC9kbD4KLTwveHNsOnRlbXBsYXRlPgotCi08IS0tZGVmLWRl
dmljZS1jYXAtLT4KLTx4c2w6dGVtcGxhdGUgbWF0Y2g9ImRlZi1kZXZpY2UtY2FwIj4KLSAgICA8
ZHQgY2xhc3M9ImRlZi1kZXZpY2UtY2FwIj48Y29kZT48eHNsOnZhbHVlLW9mIHNlbGVjdD0iQGlk
ZW50aWZpZXIiLz48L2NvZGU+PC9kdD4KLSAgICA8ZGQ+Ci0gICAgICA8eHNsOmFwcGx5LXRlbXBs
YXRlcyBzZWxlY3Q9ImRlc2NyaXB0aXZlL2JyaWVmIi8+Ci0gICAgICA8eHNsOmFwcGx5LXRlbXBs
YXRlcyBzZWxlY3Q9ImRlc2NyaXB0aXZlIi8+Ci0gICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBz
ZWxlY3Q9ImRlc2NyaXB0aXZlL0NvZGUiLz4KLSAgICAgIDx4c2w6aWYgdGVzdD0iZGVzY3JpcHRp
dmUvcGFyYW0iPgotICAgICAgICA8ZGl2IGNsYXNzPSJkZXZpY2UtY2FwcyI+Ci0gICAgICAgICAg
PHA+U2VjdXJpdHkgcGFyYW1ldGVyczo8L3A+Ci0gICAgICAgICAgPHVsPgotICAgICAgICAgICAg
PHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJkZXNjcmlwdGl2ZS9wYXJhbSIvPgotICAgICAg
ICAgIDwvdWw+Ci0gICAgICAgIDwvZGl2PgotICAgICAgPC94c2w6aWY+Ci0gICAgPC9kZD4KLTwv
eHNsOnRlbXBsYXRlPgotCi08IS0tRXhjZXB0aW9uOiBub3QgaW1wbGVtZW50ZWQtLT4KLTwhLS1W
YWx1ZXR5cGU6IG5vdCBpbXBsZW1lbnRlZC0tPgotPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iRXhjZXB0
aW9ufFZhbHVldHlwZXxDb25zdCI+Ci0gICAgPHhzbDppZiB0ZXN0PSJkZXNjcmlwdGl2ZSI+Ci0g
ICAgICAgIDx4c2w6bWVzc2FnZSB0ZXJtaW5hdGU9InllcyI+ZWxlbWVudCA8eHNsOnZhbHVlLW9m
IHNlbGVjdD0ibmFtZSgpIi8+IG5vdCBzdXBwb3J0ZWQ8L3hzbDptZXNzYWdlPgotICAgIDwveHNs
OmlmPgotPC94c2w6dGVtcGxhdGU+Ci0KLTwhLS1UeXBlZGVmLi0tPgotPHhzbDp0ZW1wbGF0ZSBt
YXRjaD0iVHlwZWRlZltkZXNjcmlwdGl2ZV0iPgotICAgIDxkaXYgY2xhc3M9InR5cGVkZWYiIGlk
PSJ7QGlkfSI+Ci0gICAgICAgIDxoMz4yLjx4c2w6bnVtYmVyIHZhbHVlPSJwb3NpdGlvbigpIi8+
LiA8Y29kZT48eHNsOnZhbHVlLW9mIHNlbGVjdD0iQG5hbWUiLz48L2NvZGU+PC9oMz4KLSAgICAg
ICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJkZXNjcmlwdGl2ZS9icmllZiIvPgotICAg
ICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9IndlYmlkbCIvPgotICAgICAgICA8eHNs
OmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9ImRlc2NyaXB0aXZlIi8+Ci0gICAgICAgIDx4c2w6YXBw
bHktdGVtcGxhdGVzIHNlbGVjdD0iZGVzY3JpcHRpdmUvQ29kZSIvPgotICAgIDwvZGl2PgotPC94
c2w6dGVtcGxhdGU+Ci0KLTwhLS1JbnRlcmZhY2UuLS0+Ci08eHNsOnRlbXBsYXRlIG1hdGNoPSJJ
bnRlcmZhY2VbZGVzY3JpcHRpdmVdIj4KLSAgICA8eHNsOnZhcmlhYmxlIG5hbWU9Im5hbWUiIHNl
bGVjdD0iQG5hbWUiLz4KLSAgICA8ZGl2IGNsYXNzPSJpbnRlcmZhY2UiIGlkPSJ7QGlkfSI+Ci0g
ICAgICAgIDxoMz48Y29kZT48eHNsOnZhbHVlLW9mIHNlbGVjdD0iQG5hbWUiLz48L2NvZGU+PC9o
Mz4KLSAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJkZXNjcmlwdGl2ZS9icmll
ZiIvPgotICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9IndlYmlkbCIvPgotICAg
ICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9Ii4uL0ltcGxlbWVudHNbQG5hbWUyPSRu
YW1lXS93ZWJpZGwiLz4KLSAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJkZXNj
cmlwdGl2ZSIvPgotICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9ImRlc2NyaXB0
aXZlL0NvZGUiLz4KLSAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJJbnRlcmZh
Y2VJbmhlcml0YW5jZSIvPgotICAgICAgICA8eHNsOmlmIHRlc3Q9IkNvbnN0L2Rlc2NyaXB0aXZl
Ij4KLSAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnN0cyI+Ci0gICAgICAgICAgICAgICAgPGg0
PkNvbnN0YW50czwvaDQ+Ci0gICAgICAgICAgICAgICAgPGRsPgotICAgICAgICAgICAgICAgICAg
PHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJDb25zdCIvPgotICAgICAgICAgICAgICAgIDwv
ZGw+Ci0gICAgICAgICAgICA8L2Rpdj4KLSAgICAgICAgPC94c2w6aWY+Ci0gICAgICAgIDx4c2w6
aWYgdGVzdD0iRXh0ZW5kZWRBdHRyaWJ1dGVMaXN0L0V4dGVuZGVkQXR0cmlidXRlL2Rlc2NyaXB0
aXZlIj4KLSAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnN0cnVjdG9ycyI+Ci0gICAgICAgICAg
ICAgICAgPGg0PkNvbnN0cnVjdG9yczwvaDQ+Ci0gICAgICAgICAgICAgICAgPGRsPgotICAgICAg
ICAgICAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJFeHRlbmRlZEF0dHJpYnV0
ZUxpc3QvRXh0ZW5kZWRBdHRyaWJ1dGUiLz4KLSAgICAgICAgICAgICAgICA8L2RsPgotICAgICAg
ICAgICAgPC9kaXY+Ci0gICAgICAgIDwveHNsOmlmPgotICAgICAgICA8eHNsOmlmIHRlc3Q9IkF0
dHJpYnV0ZS9kZXNjcmlwdGl2ZSI+Ci0gICAgICAgICAgICA8ZGl2IGNsYXNzPSJhdHRyaWJ1dGVz
Ij4KLSAgICAgICAgICAgICAgICA8aDQ+QXR0cmlidXRlczwvaDQ+Ci0gICAgICAgICAgICAgICAg
PGRsPgotICAgICAgICAgICAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJBdHRy
aWJ1dGUiLz4KLSAgICAgICAgICAgICAgICA8L2RsPgotICAgICAgICAgICAgPC9kaXY+Ci0gICAg
ICAgIDwveHNsOmlmPgotICAgICAgICA8eHNsOmlmIHRlc3Q9Ik9wZXJhdGlvbi9kZXNjcmlwdGl2
ZSI+Ci0gICAgICAgICAgICA8ZGl2IGNsYXNzPSJtZXRob2RzIj4KLSAgICAgICAgICAgICAgICA8
aDQ+TWV0aG9kczwvaDQ+Ci0gICAgICAgICAgICAgICAgPGRsPgotICAgICAgICAgICAgICAgICAg
PHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJPcGVyYXRpb24iLz4KLSAgICAgICAgICAgICAg
ICA8L2RsPgotICAgICAgICAgICAgPC9kaXY+Ci0gICAgICAgIDwveHNsOmlmPgotICAgIDwvZGl2
PgotPC94c2w6dGVtcGxhdGU+Ci08eHNsOnRlbXBsYXRlIG1hdGNoPSJJbnRlcmZhY2Vbbm90KGRl
c2NyaXB0aXZlKV0iPgotPC94c2w6dGVtcGxhdGU+Ci0KLTwhLS1EaWN0aW9uYXJ5Li0tPgotPHhz
bDp0ZW1wbGF0ZSBtYXRjaD0iRGljdGlvbmFyeVtkZXNjcmlwdGl2ZV0iPgotICAgIDx4c2w6dmFy
aWFibGUgbmFtZT0ibmFtZSIgc2VsZWN0PSJAbmFtZSIvPgotICAgIDxkaXYgY2xhc3M9ImRpY3Rp
b25hcnkiIGlkPSJ7QGlkfSI+Ci0gICAgICAgIDxoMz48Y29kZT48eHNsOnZhbHVlLW9mIHNlbGVj
dD0iQG5hbWUiLz48L2NvZGU+PC9oMz4KLSAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2Vs
ZWN0PSJkZXNjcmlwdGl2ZS9icmllZiIvPgotICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBz
ZWxlY3Q9IndlYmlkbCIvPgotICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9ImRl
c2NyaXB0aXZlIi8+Ci0gICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iZGVzY3Jp
cHRpdmUvQ29kZSIvPgotICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9IkludGVy
ZmFjZUluaGVyaXRhbmNlIi8+Ci0gICAgICAgIDx4c2w6aWYgdGVzdD0iQ29uc3QvZGVzY3JpcHRp
dmUiPgotICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29uc3RzIj4KLSAgICAgICAgICAgICAgICA8
aDQ+Q29uc3RhbnRzPC9oND4KLSAgICAgICAgICAgICAgICA8ZGw+Ci0gICAgICAgICAgICAgICAg
ICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9IkNvbnN0Ii8+Ci0gICAgICAgICAgICAgICAg
PC9kbD4KLSAgICAgICAgICAgIDwvZGl2PgotICAgICAgICA8L3hzbDppZj4KLSAgICAgICAgPHhz
bDppZiB0ZXN0PSJBdHRyaWJ1dGUvZGVzY3JpcHRpdmUiPgotICAgICAgICAgICAgPGRpdiBjbGFz
cz0iYXR0cmlidXRlcyI+Ci0gICAgICAgICAgICAgICAgPGg0PkF0dHJpYnV0ZXM8L2g0PgotICAg
ICAgICAgICAgICAgIDxkbD4KLSAgICAgICAgICAgICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVz
IHNlbGVjdD0iQXR0cmlidXRlIi8+Ci0gICAgICAgICAgICAgICAgPC9kbD4KLSAgICAgICAgICAg
IDwvZGl2PgotICAgICAgICA8L3hzbDppZj4KLSAgICA8L2Rpdj4KLTwveHNsOnRlbXBsYXRlPgot
PHhzbDp0ZW1wbGF0ZSBtYXRjaD0iRGljdGlvbmFyeVtub3QoZGVzY3JpcHRpdmUpXSI+Ci08L3hz
bDp0ZW1wbGF0ZT4KLQotPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iSW50ZXJmYWNlSW5oZXJpdGFuY2Uv
U2NvcGVkTmFtZUxpc3QiPgotICAgICAgICAgICAgICA8cD4KLSAgICAgICAgICAgICAgICA8eHNs
OnRleHQ+VGhpcyBpbnRlcmZhY2UgaW5oZXJpdHMgZnJvbTogPC94c2w6dGV4dD4KLSAgICAgICAg
ICAgICAgICA8eHNsOmZvci1lYWNoIHNlbGVjdD0iTmFtZSI+Ci0gICAgICAgICAgICAgICAgICA8
Y29kZT48eHNsOnZhbHVlLW9mIHNlbGVjdD0iQG5hbWUiLz48L2NvZGU+Ci0gICAgICAgICAgICAg
ICAgICA8eHNsOmlmIHRlc3Q9InBvc2l0aW9uIT1sYXN0KCkiPiwgPC94c2w6aWY+Ci0gICAgICAg
ICAgICAgICAgPC94c2w6Zm9yLWVhY2g+Ci0gICAgICAgICAgICAgIDwvcD4KLTwveHNsOnRlbXBs
YXRlPgotCi08IS0tQXR0cmlidXRlLS0+Ci08eHNsOnRlbXBsYXRlIG1hdGNoPSJBdHRyaWJ1dGUi
PgotICAgIDxkdCBjbGFzcz0iYXR0cmlidXRlIiBpZD0ie0BuYW1lfSI+Ci0gICAgICAgIDxjb2Rl
PgotICAgICAgICAgICAgPHhzbDppZiB0ZXN0PSJAc3RyaW5naWZpZXIiPgotICAgICAgICAgICAg
ICAgIHN0cmluZ2lmaWVyCi0gICAgICAgICAgICA8L3hzbDppZj4KLSAgICAgICAgICAgIDx4c2w6
aWYgdGVzdD0iQHJlYWRvbmx5Ij4KLSAgICAgICAgICAgICAgICByZWFkb25seQotICAgICAgICAg
ICAgPC94c2w6aWY+Ci0gICAgICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9IlR5
cGUiLz4KLSAgICAgICAgICAgIDx4c2w6dGV4dD4gPC94c2w6dGV4dD4KLSAgICAgICAgICAgIDx4
c2w6dmFsdWUtb2Ygc2VsZWN0PSJAbmFtZSIvPgotICAgICAgICA8L2NvZGU+PC9kdD4KLSAgICAg
ICAgPGRkPgotICAgICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iZGVzY3JpcHRp
dmUvYnJpZWYiLz4KLSAgICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9ImRlc2Ny
aXB0aXZlIi8+Ci0gICAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJHZXRSYWlz
ZXMiLz4KLSAgICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9IlNldFJhaXNlcyIv
PgotICAgICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iZGVzY3JpcHRpdmUvQ29k
ZSIvPgotICAgICAgICA8L2RkPgotPC94c2w6dGVtcGxhdGU+Ci0KLTwhLS1Db25zdC0tPgotPHhz
bDp0ZW1wbGF0ZSBtYXRjaD0iQ29uc3QiPgotICA8ZHQgY2xhc3M9ImNvbnN0IiBpZD0ie0BpZH0i
PgotICAgIDxjb2RlPgotICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJUeXBlIi8+
Ci0gICAgICA8eHNsOnRleHQ+IDwveHNsOnRleHQ+Ci0gICAgICA8eHNsOnZhbHVlLW9mIHNlbGVj
dD0iQG5hbWUiLz4KLSAgICA8L2NvZGU+Ci0gIDwvZHQ+Ci0gIDxkZD4KLSAgICA8eHNsOmFwcGx5
LXRlbXBsYXRlcyBzZWxlY3Q9ImRlc2NyaXB0aXZlL2JyaWVmIi8+Ci0gICAgPHhzbDphcHBseS10
ZW1wbGF0ZXMgc2VsZWN0PSJkZXNjcmlwdGl2ZSIvPgotICAgIDx4c2w6YXBwbHktdGVtcGxhdGVz
IHNlbGVjdD0iZGVzY3JpcHRpdmUvQ29kZSIvPgotICA8L2RkPgotPC94c2w6dGVtcGxhdGU+Ci0K
LTwhLS1FeHRlbmRlZEF0dHJpYnV0ZSBuYW1lPT1Db25zdHJ1Y3RvciB8fCBuYW1lPT1OYW1lZENv
bnN0cnVjdG9yLS0+Ci08eHNsOnRlbXBsYXRlIG1hdGNoPSJFeHRlbmRlZEF0dHJpYnV0ZUxpc3Qv
RXh0ZW5kZWRBdHRyaWJ1dGUiPgotICAgIDxkdCBjbGFzcz0iY29uc3RydWN0b3IiIGlkPSJ7Y29u
Y2F0KEBuYW1lLGdlbmVyYXRlLWlkKC4pKX0iPgotICAgICAgICA8Y29kZT4KLSAgICAgICAgICAg
IDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIuLi8uLi9AbmFtZSIvPgotICAgICAgICAgICAgIDx4c2w6
dGV4dD4oPC94c2w6dGV4dD4KLSAgICAgICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVj
dD0iQXJndW1lbnRMaXN0Ij4KLSAgICAgICAgICAgICAgICA8eHNsOndpdGgtcGFyYW0gbmFtZT0i
bm9kZXNjIiBzZWxlY3Q9IjEiLz4KLSAgICAgICAgICAgIDwveHNsOmFwcGx5LXRlbXBsYXRlcz4K
LSAgICAgICAgICAgIDx4c2w6dGV4dD4pOzwveHNsOnRleHQ+Ci0gICAgICAgIDwvY29kZT4KLSAg
ICA8L2R0PgotICAgIDxkZD4KLSAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJk
ZXNjcmlwdGl2ZS9icmllZiIvPgotICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9
ImRlc2NyaXB0aXZlIi8+Ci0gICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iQXJn
dW1lbnRMaXN0Ii8+Ci0gICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iUmFpc2Vz
Ii8+Ci0gICAgICAgIDx4c2w6aWYgdGVzdD0iZGVzY3JpcHRpdmUvYXBpLWZlYXR1cmUiPgotICAg
ICAgICAgICAgPGRpdiBjbGFzcz0iYXBpLWZlYXR1cmVzIj4KLSAgICAgICAgICAgICAgICA8aDY+
QVBJIGZlYXR1cmVzPC9oNj4KLSAgICAgICAgICAgICAgICA8ZGw+Ci0gICAgICAgICAgICAgICAg
ICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iZGVzY3JpcHRpdmUvYXBpLWZlYXR1cmUi
Lz4KLSAgICAgICAgICAgICAgICA8L2RsPgotICAgICAgICAgICAgPC9kaXY+Ci0gICAgICAgIDwv
eHNsOmlmPgotICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9IndlYmlkbCIvPgot
ICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9ImRlc2NyaXB0aXZlL0NvZGUiLz4K
LSAgICA8L2RkPgotPC94c2w6dGVtcGxhdGU+Ci0KLTwhLS1PcGVyYXRpb24tLT4KLTx4c2w6dGVt
cGxhdGUgbWF0Y2g9Ik9wZXJhdGlvbiI+Ci0gICAgPGR0IGNsYXNzPSJtZXRob2QiIGlkPSJ7Y29u
Y2F0KEBuYW1lLGdlbmVyYXRlLWlkKC4pKX0iPgotICAgICAgICA8Y29kZT4KLSAgICAgICAgICAg
IDx4c2w6aWYgdGVzdD0iQHN0cmluZ2lmaWVyIj4KLSAgICAgICAgICAgICAgICA8eHNsOnZhbHVl
LW9mIHNlbGVjdD0iY29uY2F0KEBzdHJpbmdpZmllciwgJyAnKSIvPgotICAgICAgICAgICAgPC94
c2w6aWY+Ci0gICAgICAgICAgICA8eHNsOmlmIHRlc3Q9IkBvbWl0dGFibGUiPgotICAgICAgICAg
ICAgICAgIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJjb25jYXQoQG9taXR0YWJsZSwgJyAnKSIvPgot
ICAgICAgICAgICAgPC94c2w6aWY+Ci0gICAgICAgICAgICA8eHNsOmlmIHRlc3Q9IkBnZXR0ZXIi
PgotICAgICAgICAgICAgICAgIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJjb25jYXQoQGdldHRlciwg
JyAnKSIvPgotICAgICAgICAgICAgPC94c2w6aWY+Ci0gICAgICAgICAgICA8eHNsOmlmIHRlc3Q9
IkBzZXR0ZXIiPgotICAgICAgICAgICAgICAgIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJjb25jYXQo
QHNldHRlciwgJyAnKSIvPgotICAgICAgICAgICAgPC94c2w6aWY+Ci0gICAgICAgICAgICA8eHNs
OmlmIHRlc3Q9IkBjcmVhdG9yIj4KLSAgICAgICAgICAgIAk8eHNsOnZhbHVlLW9mIHNlbGVjdD0i
Y29uY2F0KEBjcmVhdG9yLCAnICcpIi8+Ci0gICAgICAgICAgICA8L3hzbDppZj4KLSAgICAgICAg
ICAgIDx4c2w6aWYgdGVzdD0iQGRlbGV0ZXIiPgotICAgICAgICAgICAgICAgIDx4c2w6dmFsdWUt
b2Ygc2VsZWN0PSJjb25jYXQoQGRlbGV0ZXIsICcgJykiLz4KLSAgICAgICAgICAgIDwveHNsOmlm
PgotICAgICAgICAgICAgPHhzbDppZiB0ZXN0PSJAY2FsbGVyIj4KLSAgICAgICAgICAgICAgICA8
eHNsOnZhbHVlLW9mIHNlbGVjdD0iY29uY2F0KEBjYWxsZXIsICcgJykiLz4KLSAgICAgICAgICAg
IDwveHNsOmlmPgotICAgICAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJUeXBl
Ii8+Ci0gICAgICAgICAgICA8eHNsOnRleHQ+IDwveHNsOnRleHQ+Ci0gICAgICAgICAgICA8eHNs
OnZhbHVlLW9mIHNlbGVjdD0iQG5hbWUiLz4KLSAgICAgICAgICAgIDx4c2w6dGV4dD4oPC94c2w6
dGV4dD4KLSAgICAgICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iQXJndW1lbnRM
aXN0Ij4KLSAgICAgICAgICAgICAgICA8eHNsOndpdGgtcGFyYW0gbmFtZT0ibm9kZXNjIiBzZWxl
Y3Q9IjEiLz4KLSAgICAgICAgICAgIDwveHNsOmFwcGx5LXRlbXBsYXRlcz4KLSAgICAgICAgICAg
IDx4c2w6dGV4dD4pOzwveHNsOnRleHQ+Ci0gICAgICAgIDwvY29kZT4KLSAgICA8L2R0PgotICAg
IDxkZD4KLSAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJkZXNjcmlwdGl2ZS9i
cmllZiIvPgotICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9IndlYmlkbCIvPgot
ICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9ImRlc2NyaXB0aXZlL0NvZGUiLz4K
LSAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJkZXNjcmlwdGl2ZSIvPgotICAg
ICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9IkFyZ3VtZW50TGlzdCIvPgotICAgICAg
ICA8eHNsOmlmIHRlc3Q9IlR5cGUvZGVzY3JpcHRpdmUiPgotICAgICAgICAgIDxkaXYgY2xhc3M9
InJldHVybnR5cGUiPgotICAgICAgICAgICAgPGg1PlJldHVybiB2YWx1ZTwvaDU+Ci0gICAgICAg
ICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9IlR5cGUvZGVzY3JpcHRpdmUiLz4KLSAg
ICAgICAgICA8L2Rpdj4KLSAgICAgICAgPC94c2w6aWY+Ci0gICAgICAgIDx4c2w6YXBwbHktdGVt
cGxhdGVzIHNlbGVjdD0iUmFpc2VzIi8+Ci0gICAgICAgIDx4c2w6aWYgdGVzdD0iZGVzY3JpcHRp
dmUvYXBpLWZlYXR1cmUiPgotICAgICAgICAgICAgPGRpdiBjbGFzcz0iYXBpLWZlYXR1cmVzIj4K
LSAgICAgICAgICAgICAgICA8aDY+QVBJIGZlYXR1cmVzPC9oNj4KLSAgICAgICAgICAgICAgICA8
ZGw+Ci0gICAgICAgICAgICAgICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iZGVz
Y3JpcHRpdmUvYXBpLWZlYXR1cmUiLz4KLSAgICAgICAgICAgICAgICA8L2RsPgotICAgICAgICAg
ICAgPC9kaXY+Ci0gICAgICAgIDwveHNsOmlmPgotICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRl
cyBzZWxlY3Q9ImRlc2NyaXB0aXZlL0NvZGUiLz4KLSAgICA8L2RkPgotPC94c2w6dGVtcGxhdGU+
Ci0KLTwhLS1DYWxsYmFjay0tPgotPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iQ2FsbGJhY2siPgotICAg
IDx4c2w6dmFyaWFibGUgbmFtZT0ibmFtZSIgc2VsZWN0PSJAbmFtZSIvPgotICAgIDxkaXYgY2xh
c3M9ImNhbGxiYWNrIiBpZD0ie0BpZH0iPgotICAgICAgICA8aDM+PGNvZGU+PHhzbDp2YWx1ZS1v
ZiBzZWxlY3Q9IkBuYW1lIi8+PC9jb2RlPjwvaDM+Ci0KLQkgICAgPGRkPgotCSAgICAgICAgPHhz
bDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJkZXNjcmlwdGl2ZS9icmllZiIvPgotCSAgICAgICAg
PHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJ3ZWJpZGwiLz4KLQkgICAgICAgIDx4c2w6YXBw
bHktdGVtcGxhdGVzIHNlbGVjdD0iZGVzY3JpcHRpdmUiLz4KLQkgICAgICAgIDxkaXYgY2xhc3M9
InN5bm9wc2lzIj4KLQkgICAgICAgICAgICA8aDY+U2lnbmF0dXJlPC9oNj4KLQkgICAgICAgICAg
ICA8cHJlPgotCSAgICAgICAgICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9IlR5
cGUiLz4KLQkgICAgICAgICAgICAgICAgPHhzbDp0ZXh0PiA8L3hzbDp0ZXh0PgotCSAgICAgICAg
ICAgICAgICA8eHNsOnZhbHVlLW9mIHNlbGVjdD0iQG5hbWUiLz4KLQkgICAgICAgICAgICAgICAg
PHhzbDp0ZXh0Pig8L3hzbDp0ZXh0PgotCSAgICAgICAgICAgICAgICA8eHNsOmFwcGx5LXRlbXBs
YXRlcyBzZWxlY3Q9IkFyZ3VtZW50TGlzdCI+Ci0JICAgICAgICAgICAgICAgICAgICA8eHNsOndp
dGgtcGFyYW0gbmFtZT0ibm9kZXNjIiBzZWxlY3Q9IjEiLz4KLQkgICAgICAgICAgICAgICAgPC94
c2w6YXBwbHktdGVtcGxhdGVzPgotCSAgICAgICAgICAgICAgICA8eHNsOnRleHQ+KTsKLTwveHNs
OnRleHQ+PC9wcmU+Ci0JICAgICAgICA8L2Rpdj4KLQkgICAgICAgIDx4c2w6YXBwbHktdGVtcGxh
dGVzIHNlbGVjdD0iZGVzY3JpcHRpdmUiLz4KLQkgICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVz
IHNlbGVjdD0iQXJndW1lbnRMaXN0Ii8+Ci0JICAgICAgICA8eHNsOmlmIHRlc3Q9IlR5cGUvZGVz
Y3JpcHRpdmUiPgotCSAgICAgICAgICA8ZGl2IGNsYXNzPSJyZXR1cm50eXBlIj4KLQkgICAgICAg
ICAgICA8aDU+UmV0dXJuIHZhbHVlPC9oNT4KLQkgICAgICAgICAgICA8eHNsOmFwcGx5LXRlbXBs
YXRlcyBzZWxlY3Q9IlR5cGUvZGVzY3JpcHRpdmUiLz4KLQkgICAgICAgICAgPC9kaXY+Ci0JICAg
ICAgICA8L3hzbDppZj4KLQkgICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iZGVz
Y3JpcHRpdmUvQ29kZSIvPgotCSAgICA8L2RkPgotCTwvZGl2PgotPC94c2w6dGVtcGxhdGU+Ci0K
LTwhLS1Bcmd1bWVudExpc3QuIFRoaXMgaXMgcGFzc2VkICRub2Rlc2M9dHJ1ZSB0byBvdXRwdXQg
anVzdCB0aGUgYXJndW1lbnQKLSAgICB0eXBlcyBhbmQgbmFtZXMsIGFuZCBub3QgYW55IGRvY3Vt
ZW50YXRpb24gZm9yIHRoZW0uLS0+Ci08eHNsOnRlbXBsYXRlIG1hdGNoPSJBcmd1bWVudExpc3Qi
PgotICAgIDx4c2w6cGFyYW0gbmFtZT0ibm9kZXNjIi8+Ci0gICAgPHhzbDpjaG9vc2U+Ci0gICAg
ICAgIDx4c2w6d2hlbiB0ZXN0PSIkbm9kZXNjIj4KLSAgICAgICAgICAgIDwhLS0kbm9kZXNjIGlz
IHRydWU6IGp1c3Qgb3V0cHV0IHRoZSB0eXBlcyBhbmQgbmFtZXMtLT4KLSAgICAgICAgICAgIDx4
c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iQXJndW1lbnRbMV0iPgotICAgICAgICAgICAgICAg
IDx4c2w6d2l0aC1wYXJhbSBuYW1lPSJub2Rlc2MiIHNlbGVjdD0iJ25vY29tbWEnIi8+Ci0gICAg
ICAgICAgICA8L3hzbDphcHBseS10ZW1wbGF0ZXM+Ci0gICAgICAgICAgICA8eHNsOmFwcGx5LXRl
bXBsYXRlcyBzZWxlY3Q9IkFyZ3VtZW50W3Bvc2l0aW9uKCkgIT0gMV0iPgotICAgICAgICAgICAg
ICAgIDx4c2w6d2l0aC1wYXJhbSBuYW1lPSJub2Rlc2MiIHNlbGVjdD0iJ2NvbW1hJyIvPgotICAg
ICAgICAgICAgPC94c2w6YXBwbHktdGVtcGxhdGVzPgotICAgICAgICA8L3hzbDp3aGVuPgotICAg
ICAgICA8eHNsOndoZW4gdGVzdD0iQXJndW1lbnQiPgotICAgICAgICAgICAgPCEtLSRub2Rlc2Mg
aXMgZmFsc2U6IG91dHB1dCB0aGUgZG9jdW1lbnRhdGlvbi0tPgotICAgICAgICAgICAgPGRpdiBj
bGFzcz0icGFyYW1ldGVycyI+Ci0gICAgICAgICAgICAgICAgPGg2PlBhcmFtZXRlcnM8L2g2Pgot
ICAgICAgICAgICAgICAgIDx1bD4KLSAgICAgICAgICAgICAgICAgICAgPHhzbDphcHBseS10ZW1w
bGF0ZXMvPgotICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICA8L2Rpdj4KLSAgICAg
ICAgPC94c2w6d2hlbj4KLSAgICA8L3hzbDpjaG9vc2U+Ci08L3hzbDp0ZW1wbGF0ZT4KLQotPCEt
LUFyZ3VtZW50LiBUaGlzIGlzIHBhc3NlZCAkbm9kZXNjPWZhbHNlIHRvIG91dHB1dCB0aGUgZG9j
dW1lbnRhdGlvbiwKLSAgICBvciAkbm9kZXNjPSJub2NvbW1hIiB0byBvdXRwdXQgdGhlIHR5cGUg
YW5kIG5hbWUsIG9yICRub2Rlc2M9ImNvbW1hIgotICAgIHRvIG91dHB1dCBhIGNvbW1hIHRoZW4g
dGhlIHR5cGUgYW5kIG5hbWUuIC0tPgotPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iQXJndW1lbnQiPgot
ICAgIDx4c2w6cGFyYW0gbmFtZT0ibm9kZXNjIi8+Ci0gICAgPHhzbDpjaG9vc2U+Ci0gICAgICAg
IDx4c2w6d2hlbiB0ZXN0PSIkbm9kZXNjIj4KLSAgICAgICAgICAgIDwhLS0kbm9kZXNjIGlzIHRy
dWU6IGp1c3Qgb3V0cHV0IHRoZSB0eXBlcyBhbmQgbmFtZXMtLT4KLSAgICAgICAgICAgIDx4c2w6
aWYgdGVzdD0iJG5vZGVzYyA9ICdjb21tYSciPgotICAgICAgICAgICAgICAgIDwhLS1OZWVkIGEg
Y29tbWEgZmlyc3QuLS0+Ci0gICAgICAgICAgICAgICAgPHhzbDp0ZXh0PiwgPC94c2w6dGV4dD4K
LSAgICAgICAgICAgIDwveHNsOmlmPgotICAgICAgICAgICAgPHhzbDppZiB0ZXN0PSJAaW4iPjx4
c2w6dmFsdWUtb2Ygc2VsZWN0PSJjb25jYXQoQGluLCAnICcpIi8+PC94c2w6aWY+Ci0gICAgICAg
ICAgICA8eHNsOmlmIHRlc3Q9IkBvcHRpb25hbCI+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9ImNvbmNh
dChAb3B0aW9uYWwsICcgJykiLz48L3hzbDppZj4KLSAgICAgICAgICAgIDx4c2w6YXBwbHktdGVt
cGxhdGVzIHNlbGVjdD0iVHlwZSIvPgotICAgICAgICAgICAgPHhzbDppZiB0ZXN0PSJAZWxsaXBz
aXMiPjx4c2w6dGV4dD4uLi48L3hzbDp0ZXh0PjwveHNsOmlmPgotICAgICAgICAgICAgPHhzbDp0
ZXh0PiA8L3hzbDp0ZXh0PgotICAgICAgICAgICAgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBuYW1l
Ii8+Ci0JICAgIDx4c2w6aWYgdGVzdD0iQHZhbHVlIj4KLQkgICAgICA8eHNsOnRleHQ+RGVmYXVs
dCB2YWx1ZTogPC94c2w6dGV4dD48eHNsOnZhbHVlLW9mIHNlbGVjdD0iQHZhbHVlIi8+Ci0JICAg
IDwveHNsOmlmPgotCSAgICA8eHNsOmlmIHRlc3Q9IkBzdHJpbmd2YWx1ZSI+Ci0JICAgICAgPHhz
bDp0ZXh0PkRlZmF1bHQgdmFsdWU6ICI8L3hzbDp0ZXh0Pjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJA
c3RyaW5ndmFsdWUiLz48eHNsOnRleHQ+IjwveHNsOnRleHQ+Ci0JICAgIDwveHNsOmlmPgkgICAg
Ci0gICAgICAgIDwveHNsOndoZW4+Ci0gICAgICAgIDx4c2w6b3RoZXJ3aXNlPgotICAgICAgICAg
ICAgPCEtLSRub2Rlc2MgaXMgZmFsc2U6IG91dHB1dCB0aGUgZG9jdW1lbnRhdGlvbi0tPgotICAg
ICAgICAgICAgPGxpIGNsYXNzPSJwYXJhbSI+Ci0gICAgICAgICAgICAgICAgPHhzbDp2YWx1ZS1v
ZiBzZWxlY3Q9IkBuYW1lIi8+OgotICAgICAgICAgICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVz
IHNlbGVjdD0iZGVzY3JpcHRpdmUiLz4KLSAgICAgICAgICAgIDwvbGk+Ci0gICAgICAgIDwveHNs
Om90aGVyd2lzZT4KLSAgICA8L3hzbDpjaG9vc2U+Ci08L3hzbDp0ZW1wbGF0ZT4KLQotPCEtLVJh
aXNlcyAoZm9yIGFuIE9wZXJhdGlvbikuIEl0IGlzIGFscmVhZHkga25vd24gdGhhdCB0aGUgbGlz
dAotICAgIGlzIG5vdCBlbXB0eS4tLT4KLTx4c2w6dGVtcGxhdGUgbWF0Y2g9IlJhaXNlcyI+Ci0g
ICAgPGRpdiBjbGFzcz0iZXhjZXB0aW9ubGlzdCI+Ci0gICAgICAgIDxoNT5FeGNlcHRpb25zPC9o
NT4KLSAgICAgICAgPHVsPgotICAgICAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMvPgotICAg
ICAgICA8L3VsPgotICAgIDwvZGl2PgotPC94c2w6dGVtcGxhdGU+Ci0KLTwhLS1SYWlzZUV4Y2Vw
dGlvbiwgdGhlIG5hbWUgb2YgYW4gZXhjZXB0aW9uIGluIGEgUmFpc2VzLi0tPgotPHhzbDp0ZW1w
bGF0ZSBtYXRjaD0iUmFpc2VFeGNlcHRpb24iPgotICAgIDxsaSBjbGFzcz0iZXhjZXB0aW9uIj4K
LSAgICAgICAgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBuYW1lIi8+OgotICAgICAgICA8eHNsOmFw
cGx5LXRlbXBsYXRlcyBzZWxlY3Q9ImRlc2NyaXB0aXZlIi8+Ci0gICAgPC9saT4KLTwveHNsOnRl
bXBsYXRlPgotCi08IS0tVHlwZS4tLT4KLTx4c2w6dGVtcGxhdGUgbWF0Y2g9IlR5cGUiPgotICAg
IDx4c2w6Y2hvb3NlPgotICAgICAgICA8eHNsOndoZW4gdGVzdD0iVHlwZSI+Ci0gICAgICAgICAg
ICA8eHNsOnRleHQ+c2VxdWVuY2UgJmx0OzwveHNsOnRleHQ+Ci0gICAgICAgICAgICA8eHNsOmFw
cGx5LXRlbXBsYXRlcy8+Ci0gICAgICAgICAgICA8eHNsOnRleHQ+PjwveHNsOnRleHQ+Ci0gICAg
ICAgIDwveHNsOndoZW4+Ci0gICAgICAgIDx4c2w6b3RoZXJ3aXNlPgotICAgICAgICAgICAgPHhz
bDp2YWx1ZS1vZiBzZWxlY3Q9IkBuYW1lIi8+Ci0gICAgICAgICAgICA8eHNsOnZhbHVlLW9mIHNl
bGVjdD0iQHR5cGUiLz4KLSAgICAgICAgICAgIDx4c2w6aWYgdGVzdD0iQG51bGxhYmxlIj4KLSAg
ICAgICAgICAgICAgICA8eHNsOnRleHQ+PzwveHNsOnRleHQ+Ci0gICAgICAgICAgICA8L3hzbDpp
Zj4KLSAgICAgICAgPC94c2w6b3RoZXJ3aXNlPgotICAgIDwveHNsOmNob29zZT4KLTwveHNsOnRl
bXBsYXRlPgotCi08IS0tRW51bS4tLT4KLTx4c2w6dGVtcGxhdGUgbWF0Y2g9IkVudW1bZGVzY3Jp
cHRpdmVdIj4KLSAgICA8eHNsOnZhcmlhYmxlIG5hbWU9Im5hbWUiIHNlbGVjdD0iQG5hbWUiLz4K
LSAgICA8ZGl2IGNsYXNzPSJlbnVtIiBpZD0ie0BpZH0iPgotICAgICAgICA8aDM+PGNvZGU+PHhz
bDp2YWx1ZS1vZiBzZWxlY3Q9IkBuYW1lIi8+PC9jb2RlPjwvaDM+Ci0gICAgICAgIDx4c2w6YXBw
bHktdGVtcGxhdGVzIHNlbGVjdD0iZGVzY3JpcHRpdmUvYnJpZWYiLz4KLSAgICAgICAgPHhzbDph
cHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJ3ZWJpZGwiLz4KLSAgICAgICAgPHhzbDphcHBseS10ZW1w
bGF0ZXMgc2VsZWN0PSJkZXNjcmlwdGl2ZSIvPgotICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRl
cyBzZWxlY3Q9ImRlc2NyaXB0aXZlL0NvZGUiLz4KLSAgICAgICAgPGRpdiBjbGFzcz0iZW51bXZh
bHVlcyI+Ci0gICAgICAgICAgICA8aDQ+VmFsdWVzPC9oND4KLSAgICAgICAgICAgIDxkbD4KLSAg
ICAgICAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJFbnVtVmFsdWUiLz4KLSAg
ICAgICAgICAgIDwvZGw+Ci0gICAgICAgIDwvZGl2PgotICAgIDwvZGl2PgotPC94c2w6dGVtcGxh
dGU+Ci08eHNsOnRlbXBsYXRlIG1hdGNoPSJFbnVtW25vdChkZXNjcmlwdGl2ZSldIj4KLTwveHNs
OnRlbXBsYXRlPgotCi08IS0tRW51bVZhbHVlLS0+Ci08eHNsOnRlbXBsYXRlIG1hdGNoPSJFbnVt
VmFsdWUiPgotICA8ZHQgY2xhc3M9ImVudW12YWx1ZSIgaWQ9IntAaWR9Ij4KLSAgICA8Y29kZT4K
LSAgICAgIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAc3RyaW5ndmFsdWUiLz4KLSAgICA8L2NvZGU+
Ci0gIDwvZHQ+Ci0gIDxkZD4KLSAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9ImRlc2Ny
aXB0aXZlL2JyaWVmIi8+Ci0gICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJkZXNjcmlw
dGl2ZSIvPgotICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iZGVzY3JpcHRpdmUvQ29k
ZSIvPgotICA8L2RkPgotPC94c2w6dGVtcGxhdGU+Ci0KLTx4c2w6dGVtcGxhdGUgbWF0Y2g9ImRl
c2NyaXB0aXZlW25vdChhdXRob3IpXSI+Ci0gIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0i
dmVyc2lvbiIvPgotICA8eHNsOmlmIHRlc3Q9ImF1dGhvciI+Ci0gIDwveHNsOmlmPgotICA8eHNs
OmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9ImRlc2NyaXB0aW9uIi8+Ci08L3hzbDp0ZW1wbGF0ZT4K
LQotPCEtLWJyaWVmLS0+Ci08eHNsOnRlbXBsYXRlIG1hdGNoPSJicmllZiI+Ci0gICAgPGRpdiBj
bGFzcz0iYnJpZWYiPgotICAgICAgICA8cD4KLSAgICAgICAgICAgIDx4c2w6YXBwbHktdGVtcGxh
dGVzLz4KLSAgICAgICAgPC9wPgotICAgIDwvZGl2PgotPC94c2w6dGVtcGxhdGU+Ci0KLTwhLS1k
ZXNjcmlwdGlvbiBpbiBSZXR1cm5UeXBlIG9yIEFyZ3VtZW50IG9yIFNjb3BlZE5hbWUtLT4KLTx4
c2w6dGVtcGxhdGUgbWF0Y2g9IlR5cGUvZGVzY3JpcHRpdmUvZGVzY3JpcHRpb258QXJndW1lbnQv
ZGVzY3JpcHRpdmUvZGVzY3JpcHRpb258TmFtZS9kZXNjcmlwdGl2ZS9kZXNjcmlwdGlvbiI+Ci0g
ICAgPCEtLUlmIHRoZSBkZXNjcmlwdGlvbiBjb250YWlucyBqdXN0IGEgc2luZ2xlIDxwPiB0aGVu
IHdlIG9taXQKLSAgICAgICAgdGhlIDxwPiBhbmQganVzdCBkbyBpdHMgY29udGVudHMuLS0+Ci0g
ICAgPHhzbDpjaG9vc2U+Ci0gICAgICAgIDx4c2w6d2hlbiB0ZXN0PSJwIGFuZCBjb3VudCgqKSA9
IDEiPgotICAgICAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJwLyp8cC90ZXh0
KCkiLz4KLSAgICAgICAgPC94c2w6d2hlbj4KLSAgICAgICAgPHhzbDpvdGhlcndpc2U+Ci0gICAg
ICAgICAgICA8ZGl2IGNsYXNzPSJkZXNjcmlwdGlvbiI+Ci0gICAgICAgICAgICAgICAgPHhzbDph
cHBseS10ZW1wbGF0ZXMvPgotICAgICAgICAgICAgPC9kaXY+Ci0gICAgICAgIDwveHNsOm90aGVy
d2lzZT4KLSAgICA8L3hzbDpjaG9vc2U+Ci08L3hzbDp0ZW1wbGF0ZT4KLQotPCEtLU90aGVyIGRl
c2NyaXB0aW9uLS0+Ci08eHNsOnRlbXBsYXRlIG1hdGNoPSJkZXNjcmlwdGlvbiI+Ci0gICAgPGRp
diBjbGFzcz0iZGVzY3JpcHRpb24iPgotICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcy8+Ci0g
ICAgPC9kaXY+Ci08L3hzbDp0ZW1wbGF0ZT4KLQotPCEtLUNvZGUtLT4KLTx4c2w6dGVtcGxhdGUg
bWF0Y2g9IkNvZGUiPgotICAgIDxkaXYgY2xhc3M9ImV4YW1wbGUiPgotICAgIAk8eHNsOmNob29z
ZT4KLSAgICAgICAgCTx4c2w6d2hlbiB0ZXN0PSJAbGFuZyI+Ci0JICAgICAgIAkJPGg1Pjx4c2w6
dmFsdWUtb2Ygc2VsZWN0PSJAbGFuZyIvPjwvaDU+Ci0gICAgICAgIAk8L3hzbDp3aGVuPgotICAg
ICAgICAJPHhzbDpvdGhlcndpc2U+Ci0JICAgICAgIAkJPGg1PkNvZGUgZXhhbXBsZTwvaDU+Ci0g
ICAgICAgIAk8L3hzbDpvdGhlcndpc2U+Ci0gICAgCTwveHNsOmNob29zZT4KLSAgICAgICAgPHBy
ZSBjbGFzcz0iZXhhbXBsZWNvZGUiPjx4c2w6YXBwbHktdGVtcGxhdGVzLz48L3ByZT4KLSAgICA8
L2Rpdj4KLTwveHNsOnRlbXBsYXRlPgotCi08IS0td2ViaWRsIDogbGl0ZXJhbCBXZWIgSURMIGZy
b20gaW5wdXQtLT4KLTx4c2w6dGVtcGxhdGUgbWF0Y2g9IndlYmlkbCI+Ci0gICAgPGg1PldlYklE
TDwvaDU+Ci0gICAgPHByZSBjbGFzcz0id2ViaWRsIj48eHNsOmFwcGx5LXRlbXBsYXRlcy8+PC9w
cmU+Ci08L3hzbDp0ZW1wbGF0ZT4KLQotPCEtLWF1dGhvci0tPgotPHhzbDp0ZW1wbGF0ZSBtYXRj
aD0iYXV0aG9yIj4KLSAgICA8bGkgY2xhc3M9ImF1dGhvciI+PHhzbDphcHBseS10ZW1wbGF0ZXMv
PjwvbGk+Ci08L3hzbDp0ZW1wbGF0ZT4KLQotPCEtLXZlcnNpb24tLT4KLTx4c2w6dGVtcGxhdGUg
bWF0Y2g9InZlcnNpb24iPgotICAgIDxkaXYgY2xhc3M9InZlcnNpb24iPgotICAgICAgICA8aDI+
Ci0gICAgICAgICAgICBWZXJzaW9uOiA8eHNsOmFwcGx5LXRlbXBsYXRlcy8+Ci0gICAgICAgIDwv
aDI+Ci0gICAgPC9kaXY+Ci08L3hzbDp0ZW1wbGF0ZT4KLQotPCEtLWFwaS1mZWF0dXJlLS0+Ci08
eHNsOnRlbXBsYXRlIG1hdGNoPSJhcGktZmVhdHVyZSI+Ci0gICAgPGR0PgotICAgICAgICA8eHNs
OnZhbHVlLW9mIHNlbGVjdD0iQGlkZW50aWZpZXIiLz4KLSAgICA8L2R0PgotICAgIDxkZD4KLSAg
ICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMvPgotICAgIDwvZGQ+Ci08L3hzbDp0ZW1wbGF0ZT4K
LQotPCEtLXBhcmFtLS0+Ci08eHNsOnRlbXBsYXRlIG1hdGNoPSJwYXJhbSI+Ci0gICAgPGxpPgot
ICAgICAgICA8Y29kZT48eHNsOnZhbHVlLW9mIHNlbGVjdD0iQGlkZW50aWZpZXIiLz48L2NvZGU+
OgotICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcy8+Ci0gICAgPC9saT4KLTwveHNsOnRlbXBs
YXRlPgotCi08IS0tZGVmLWluc3RhbnRpYXRlZC4KLSAgICBUaGlzIGFzc3VtZXMgdGhhdCBvbmx5
IG9uZSBpbnRlcmZhY2UgaW4gdGhlIG1vZHVsZSBoYXMgYSBkZWYtaW5zdGFudGlhdGVkLAotICAg
IGFuZCB0aGF0IGludGVyZmFjZSBjb250YWlucyBqdXN0IG9uZSBhdHRyaWJ1dGUuLS0+Ci08eHNs
OnRlbXBsYXRlIG1hdGNoPSJkZWYtaW5zdGFudGlhdGVkIj4KLSAgICA8eHNsOnZhcmlhYmxlIG5h
bWU9ImlmYWNlbmFtZSIgc2VsZWN0PSIuLi8uLi9AbmFtZSIvPgotICAgIDxwPgotICAgICAgICA8
eHNsOmNob29zZT4KLSAgICAgICAgICAgIDx4c2w6d2hlbiB0ZXN0PSJjb3VudChkZXNjcmlwdGl2
ZS9hcGktZmVhdHVyZSk9MSI+Ci0gICAgICAgICAgICAgICAgV2hlbiB0aGUgZmVhdHVyZQotICAg
ICAgICAgICAgPC94c2w6d2hlbj4KLSAgICAgICAgICAgIDx4c2w6b3RoZXJ3aXNlPgotICAgICAg
ICAgICAgICAgIFdoZW4gYW55IG9mIHRoZSBmZWF0dXJlcwotICAgICAgICAgICAgPC94c2w6b3Ro
ZXJ3aXNlPgotICAgICAgICA8L3hzbDpjaG9vc2U+Ci0gICAgPC9wPgotICAgIDx1bD4KLSAgICAg
ICAgPHhzbDpmb3ItZWFjaCBzZWxlY3Q9ImRlc2NyaXB0aXZlL2FwaS1mZWF0dXJlIj4KLSAgICAg
ICAgICAgIDxsaT48Y29kZT4KLSAgICAgICAgICAgICAgICA8eHNsOnZhbHVlLW9mIHNlbGVjdD0i
QGlkZW50aWZpZXIiLz4KLSAgICAgICAgICAgIDwvY29kZT48L2xpPgotICAgICAgICA8L3hzbDpm
b3ItZWFjaD4KLSAgICA8L3VsPgotICAgIDxwPgotICAgICAgICBpcyBzdWNjZXNzZnVsbHkgcmVx
dWVzdGVkLCB0aGUgaW50ZXJmYWNlCi0gICAgICAgIDxjb2RlPjx4c2w6YXBwbHktdGVtcGxhdGVz
IHNlbGVjdD0iLi4vLi4vQXR0cmlidXRlL1R5cGUiLz48L2NvZGU+Ci0gICAgICAgIGlzIGluc3Rh
bnRpYXRlZCwgYW5kIHRoZSByZXN1bHRpbmcgb2JqZWN0IGFwcGVhcnMgaW4gdGhlIGdsb2JhbAot
ICAgICAgICBuYW1lc3BhY2UgYXMKLSAgICAgICAgPGNvZGU+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9
Ii4uLy4uLy4uL0ltcGxlbWVudHNbQG5hbWUyPSRpZmFjZW5hbWVdL0BuYW1lMSIvPi48eHNsOnZh
bHVlLW9mIHNlbGVjdD0iLi4vLi4vQXR0cmlidXRlL0BuYW1lIi8+PC9jb2RlPi4KLSAgICA8L3A+
Ci08L3hzbDp0ZW1wbGF0ZT4KLQotCi0KLTwhLS1odG1sIGVsZW1lbnRzLS0+Ci08eHNsOnRlbXBs
YXRlIG1hdGNoPSJhfGJ8YnJ8ZGR8ZGx8ZHR8ZW18bGl8cHx0YWJsZXx0ZHx0aHx0cnx1bCI+Ci0g
ICAgPHhzbDplbGVtZW50IG5hbWU9IntuYW1lKCl9Ij48eHNsOmZvci1lYWNoIHNlbGVjdD0iQCoi
Pjx4c2w6YXR0cmlidXRlIG5hbWU9IntuYW1lKCl9Ij48eHNsOnZhbHVlLW9mIHNlbGVjdD0iLiIv
PjwveHNsOmF0dHJpYnV0ZT48L3hzbDpmb3ItZWFjaD48eHNsOmFwcGx5LXRlbXBsYXRlcy8+PC94
c2w6ZWxlbWVudD4KLTwveHNsOnRlbXBsYXRlPgotCi08eHNsOnRlbXBsYXRlIG5hbWU9InN1bW1h
cnkiPgotICA8dGFibGUgY2xhc3M9InN1bW1hcnkiPgotICAgIDx0aGVhZD4KLSAgICAgIDx0cj48
dGg+SW50ZXJmYWNlPC90aD48dGg+TWV0aG9kPC90aD48L3RyPgotICAgIDwvdGhlYWQ+Ci0gICAg
PHRib2R5PgotICAgICAgPHhzbDpmb3ItZWFjaCBzZWxlY3Q9IkludGVyZmFjZVtkZXNjcmlwdGl2
ZV0iPgotICAgICAgICA8dHI+PHRkPjxhIGhyZWY9IiN7QGlkfSI+PHhzbDp2YWx1ZS1vZiBzZWxl
Y3Q9IkBuYW1lIi8+PC9hPjwvdGQ+Ci0gICAgICAgIDx0ZD4KLSAgICAgICAgICA8eHNsOmZvci1l
YWNoIHNlbGVjdD0iT3BlcmF0aW9uIj4KLQotICAgICAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0
ZXMgc2VsZWN0PSJUeXBlIi8+Ci0gICAgICAgICAgICA8eHNsOnRleHQ+IDwveHNsOnRleHQ+Ci0g
ICAgICAgICAgICA8YSBocmVmPSIje2NvbmNhdChAbmFtZSxnZW5lcmF0ZS1pZCguKSl9Ij48eHNs
OnZhbHVlLW9mIHNlbGVjdD0iQG5hbWUiLz48L2E+Ci0gICAgICAgICAgICA8eHNsOnRleHQ+KDwv
eHNsOnRleHQ+Ci0gICAgICAgICAgICA8eHNsOmZvci1lYWNoIHNlbGVjdD0iQXJndW1lbnRMaXN0
L0FyZ3VtZW50Ij4KLSAgICAgICAgICAgICAgPHhzbDp2YXJpYWJsZSBuYW1lPSJ0eXBlIj48eHNs
OmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9IlR5cGUiLz48L3hzbDp2YXJpYWJsZT4KLSAgICAgICAg
ICAgICAgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9ImNvbmNhdChub3JtYWxpemUtc3BhY2UoJHR5cGUp
LCcgJyxAbmFtZSkiLz4KLSAgICAgICAgICAgICAgPHhzbDppZiB0ZXN0PSJwb3NpdGlvbigpICE9
IGxhc3QoKSI+LCA8L3hzbDppZj4KLSAgICAgICAgICAgIDwveHNsOmZvci1lYWNoPgotICAgICAg
ICAgICAgPHhzbDp0ZXh0Pik8L3hzbDp0ZXh0PgotICAgICAgICAgICAgPHhzbDppZiB0ZXN0PSJw
b3NpdGlvbigpIT1sYXN0KCkiPjxici8+PC94c2w6aWY+Ci0gICAgICAgICAgPC94c2w6Zm9yLWVh
Y2g+Ci0gICAgICAgIDwvdGQ+Ci0gICAgICAgIDwvdHI+Ci0gICAgICA8L3hzbDpmb3ItZWFjaD4K
LSAgICA8L3Rib2R5PgotICA8L3RhYmxlPgotPC94c2w6dGVtcGxhdGU+Ci0KLTwhLS08cmVmPiBl
bGVtZW50IGluIGxpdGVyYWwgV2ViIElETC4tLT4KLTx4c2w6dGVtcGxhdGUgbWF0Y2g9InJlZltA
cmVmXSI+Ci0gICAgPGEgaHJlZj0ie0ByZWZ9Ij4KLSAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0
ZXMvPgotICAgIDwvYT4KLTwveHNsOnRlbXBsYXRlPgotCi08L3hzbDpzdHlsZXNoZWV0PgotCklu
ZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9NYWtlZmlsZQo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvd2lkbHByb2MvdGVzdC9NYWtlZmlsZQkocmV2aXNpb24gMjUyODk2KQorKysgTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3dpZGxwcm9jL3Rlc3QvTWFrZWZpbGUJKG5vbmV4aXN0ZW50KQpAQCAtMSw5MSArMCwwIEBA
Ci0jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMKLSMgJElkOiBNYWtlZmlsZSA0MTggMjAxMC0wNi0xNiAxNToyNjo1
MVogdHByICQKLSMgQ29weXJpZ2h0IDIwMDkgQXBsaXggQ29ycG9yYXRpb24uIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCi0jIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAy
LjAgKHRoZSAiTGljZW5zZSIpOwotIyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBp
biBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCi0jIFlvdSBtYXkgb2J0YWluIGEgY29weSBv
ZiB0aGUgTGljZW5zZSBhdAotIyAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJ
Q0VOU0UtMi4wCi0jIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQg
dG8gaW4gd3JpdGluZywgc29mdHdhcmUKLSMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2Ug
aXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKLSMgV0lUSE9VVCBXQVJSQU5USUVT
IE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCi0j
IFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJt
aXNzaW9ucyBhbmQKLSMgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCi0jIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMKLQotVU5BTUUgPSAkKHNoZWxsIHVuYW1lKQotVkFMSURURVNURElSID0gdmFsaWQvaWRs
Ci1WQUxJRFRFU1RSRUZESVIgPSB2YWxpZC94bWwKLVZBTElEVEVTVE9CSkRJUiA9IHZhbGlkL29i
agotSU5WQUxJRFRFU1RESVIgPSBpbnZhbGlkL2lkbAotSU5WQUxJRFRFU1RSRUZESVIgPSBpbnZh
bGlkL2Vycm9yCi1JTlZBTElEVEVTVE9CSkRJUiA9IGludmFsaWQvb2JqCi0KLSMgVGhlIHNldHRp
bmdzIG9mIFNSQ0RJUiAod2hlcmUgdG8gZmluZCB0aGUgeHNsIHN0eWxlIHNoZWV0cyksIE9CSkRJ
UiAod2hlcmUgdG8KLSMgZmluZCB3aWRscHJvYyBhbmQgd2lkbHByb2N4bWwuZHRkKSBhbmQgVkFM
RFRFU1RPQkpESVIgKHdoZXJlIHRvIHB1dCB0aGUKLSMgcmVzdWx0aW5nIFhNTCBmaWxlcykgcmVm
bGVjdCB0aGUgZGlyZWN0b3J5Ci0jIHN0cnVjdHVyZSBvZiB0aGUgcmVsZWFzZWQgd2lkbHByb2Mu
emlwIGZpbGUgd2hlbiB1bnppcHBlZC4gLi4vTWFrZWZpbGUgY2FsbHMKLSMgdGhpcyBNYWtlZmls
ZSB3aXRoIHRoZXNlIHNldHRpbmdzIG92ZXJyaWRkZW4gdG8gcmVmbGVjdCB0aGUgZGlyZWN0b3J5
Ci0jIHN0cnVjdHVyZSBpbiBzdm4uCi1TUkNESVIgPSAuLgotT0JKRElSID0gLi4KLQotIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjCi0jIExpbnV4IGNvbmZpZ3VyYXRpb24KLSMKLWlmbmVxICgsJChmaWx0ZXIgTGlu
dXglLCAkKFVOQU1FKSkpIAotCi1FWEVTVUZGSVggPQotCi1lbHNlCi0jIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMK
LSMgRGFyd2luIGNvbmZpZ3VyYXRpb24KLSMKLWlmbmVxICgsJChmaWx0ZXIgRGFyd2luJSwgJChV
TkFNRSkpKSAKLQotRVhFU1VGRklYID0KLQotZWxzZQotIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCi0jIFdpbmRv
d3MgKGN5Z3dpbiBidXQgdXNpbmcgTVMgY29tcGlsZXIpIGNvbmZpZ3VyYXRpb24KLSMKLWlmbmVx
ICgsJChmaWx0ZXIgQ1lHV0lOJSwgJChVTkFNRSkpKSAKLQotRVhFU1VGRklYID0gLmV4ZQotCi1l
bmRpZgotZW5kaWYKLWVuZGlmCi0KLSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwotIyBDb21tb24gbWFrZWZpbGUK
LSMKLVdJRExQUk9DID0gJChPQkpESVIpL3dpZGxwcm9jJChFWEVTVUZGSVgpCi1EVEQgPSAkKE9C
SkRJUikvd2lkbHByb2N4bWwuZHRkCi0KLVZBTElEX1dJRExTID0gJChwYXRzdWJzdCAkKFZBTElE
VEVTVERJUikvJSwgJSwgJCh3aWxkY2FyZCAkKFZBTElEVEVTVERJUikvKi53aWRsKSkKLUlOVkFM
SURfV0lETFMgPSAkKHBhdHN1YnN0ICQoSU5WQUxJRFRFU1RESVIpLyUsICUsICQod2lsZGNhcmQg
JChJTlZBTElEVEVTVERJUikvKi53aWRsKSkKLQotdGVzdCA6ICQocGF0c3Vic3QgJS53aWRsLCAk
KFZBTElEVEVTVE9CSkRJUikvJS53aWRscHJvY3htbCwgJChWQUxJRF9XSURMUykpICQocGF0c3Vi
c3QgJS53aWRsLCAkKElOVkFMSURURVNUT0JKRElSKS8lLnR4dCwgJChJTlZBTElEX1dJRExTKSkg
JChXSURMUFJPQykgCi0JQGVjaG8gIiRAIHBhc3MiCi0KLSMkKEVYQU1QTEVTT0JKRElSKS8lLmh0
bWwgOiAkKEVYQU1QTEVTT0JKRElSKS8lLndpZGxwcm9jeG1sICQoU1JDRElSKS93aWRscHJvY3ht
bHRvaHRtbC54c2wgTWFrZWZpbGUKLSMJY3AgJChTUkNESVIpL3dpZGxwcm9jeG1sdG9odG1sLnhz
bCAkKGRpciAkQCkvCi0jCXhzbHRwcm9jICQoZGlyICRAKS93aWRscHJvY3htbHRvaHRtbC54c2wg
JDwgPiRACi0KLQotJChWQUxJRFRFU1RPQkpESVIpLyUud2lkbHByb2N4bWwgOiAkKFZBTElEVEVT
VERJUikvJS53aWRsICQoV0lETFBST0MpICQoRFREKSBNYWtlZmlsZSAkKHBhdHN1YnN0ICUud2lk
bCwgJChWQUxJRFRFU1RSRUZESVIpLyUud2lkbHByb2N4bWwsICQoVkFMSURfV0lETFMpKQotCW1r
ZGlyIC1wICQoZGlyICRAKQotCSQoV0lETFBST0MpICQ8ID4kQAotCWNwICQoT0JKRElSKS93aWRs
cHJvY3htbC5kdGQgJChkaXIgJEApLwotCXhtbGxpbnQgLS1ub291dCAtLWR0ZHZhbGlkICQoRFRE
KSAkQAotCWRpZmYgJEAgJChWQUxJRFRFU1RSRUZESVIpL2BiYXNlbmFtZSAkQGAKLQotJChJTlZB
TElEVEVTVE9CSkRJUikvJS50eHQgOiAkKElOVkFMSURURVNURElSKS8lLndpZGwgJChXSURMUFJP
QykgTWFrZWZpbGUgJChwYXRzdWJzdCAlLndpZGwsICQoSU5WQUxJRFRFU1RSRUZESVIpLyUudHh0
LCAkKElOVkFMSURfV0lETFMpKQotCW1rZGlyIC1wICQoZGlyICRAKQotCS0kKFdJRExQUk9DKSAk
PCAgPiRAIDI+JjEKLQlkaWZmICRAICQoSU5WQUxJRFRFU1RSRUZESVIpL2BiYXNlbmFtZSAkQGAK
LQotCi0KLS5ERUxFVEVfT05fRVJST1I6Ci0KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0
L2ludmFsaWQvZXJyb3IvZW51bS50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9j
L3Rlc3QvaW52YWxpZC9lcnJvci9lbnVtLnR4dAkocmV2aXNpb24gMjUyODk2KQorKysgTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3dpZGxwcm9jL3Rlc3QvaW52YWxpZC9lcnJvci9lbnVtLnR4dAkobm9uZXhpc3RlbnQpCkBA
IC0xICswLDAgQEAKLWludmFsaWQvaWRsL2VudW0ud2lkbDogMTogYXQgJzEnOiBleHBlY3RlZCBz
dHJpbmcgaW4gZW51bQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvaW52YWxpZC9lcnJv
ci9tb2R1bGUudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L2ludmFs
aWQvZXJyb3IvbW9kdWxlLnR4dAkocmV2aXNpb24gMjUyODk2KQorKysgTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxw
cm9jL3Rlc3QvaW52YWxpZC9lcnJvci9tb2R1bGUudHh0CShub25leGlzdGVudCkKQEAgLTEgKzAs
MCBAQAotaW52YWxpZC9pZGwvbW9kdWxlLndpZGw6IDI6IGF0ICdnZngnOiBleHBlY3RlZCAnaW1w
bGVtZW50cycKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L2ludmFsaWQvZXJyb3Ivbm9u
bnVsbGFibGVhbnkudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L2lu
dmFsaWQvZXJyb3Ivbm9ubnVsbGFibGVhbnkudHh0CShyZXZpc2lvbiAyNTI4OTYpCisrKyBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvd2lkbHByb2MvdGVzdC9pbnZhbGlkL2Vycm9yL25vbm51bGxhYmxlYW55LnR4dAkobm9u
ZXhpc3RlbnQpCkBAIC0xICswLDAgQEAKLWludmFsaWQvaWRsL25vbm51bGxhYmxlYW55LndpZGw6
IDI6IGF0ICc/JzogZXhwZWN0ZWQgaWRlbnRpZmllcgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9j
L3Rlc3QvaW52YWxpZC9lcnJvci9ub25udWxsYWJsZW9iamVjdHMudHh0Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L2ludmFsaWQvZXJyb3Ivbm9ubnVsbGFibGVvYmplY3Rz
LnR4dAkocmV2aXNpb24gMjUyODk2KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvaW52YWxp
ZC9lcnJvci9ub25udWxsYWJsZW9iamVjdHMudHh0CShub25leGlzdGVudCkKQEAgLTEgKzAsMCBA
QAotaW52YWxpZC9pZGwvbm9ubnVsbGFibGVvYmplY3RzLndpZGw6IDQ6IGF0ICc/JzogZXhwZWN0
ZWQgaWRlbnRpZmllcgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvaW52YWxpZC9lcnJv
ci9zY29wZWRuYW1lLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9p
bnZhbGlkL2Vycm9yL3Njb3BlZG5hbWUudHh0CShyZXZpc2lvbiAyNTI4OTYpCisrKyBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvd2lkbHByb2MvdGVzdC9pbnZhbGlkL2Vycm9yL3Njb3BlZG5hbWUudHh0CShub25leGlzdGVu
dCkKQEAgLTEgKzAsMCBAQAotaW52YWxpZC9pZGwvc2NvcGVkbmFtZS53aWRsOiAyOiBhdCAnOic6
IGV4cGVjdGVkIGlkZW50aWZpZXIKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L2ludmFs
aWQvZXJyb3Ivc2VxdWVuY2VBc0F0dHJpYnV0ZS50eHQKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3dpZGxwcm9jL3Rlc3QvaW52YWxpZC9lcnJvci9zZXF1ZW5jZUFzQXR0cmlidXRlLnR4dAkocmV2
aXNpb24gMjUyODk2KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvaW52YWxpZC9lcnJvci9z
ZXF1ZW5jZUFzQXR0cmlidXRlLnR4dAkobm9uZXhpc3RlbnQpCkBAIC0xICswLDAgQEAKLWludmFs
aWQvaWRsL3NlcXVlbmNlQXNBdHRyaWJ1dGUud2lkbDogMjogYXQgJ3NlcXVlbmNlJzogZXhwZWN0
ZWQgdHlwZQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvaW52YWxpZC9lcnJvci9zdHJp
bmdjb25zdGFudHMuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L2lu
dmFsaWQvZXJyb3Ivc3RyaW5nY29uc3RhbnRzLmlkbAkocmV2aXNpb24gMjUyODk2KQorKysgTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L3dpZGxwcm9jL3Rlc3QvaW52YWxpZC9lcnJvci9zdHJpbmdjb25zdGFudHMuaWRsCShu
b25leGlzdGVudCkKQEAgLTEgKzAsMCBAQAotaW52YWxpZC9pZGwvc3RyaW5nY29uc3RhbnRzLmlk
bDogMjogYXQgJ0RPTVN0cmluZyc6IGV4cGVjdGVkIGFjY2VwdGFibGUgY29uc3RhbnQgdHlwZQpJ
bmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvaW52YWxpZC9lcnJvci93M2MtaW1wb3J0Lmxv
Zwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9pbnZhbGlkL2Vycm9yL3cz
Yy1pbXBvcnQubG9nCShyZXZpc2lvbiAyNTI4OTYpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVz
dC9pbnZhbGlkL2Vycm9yL3czYy1pbXBvcnQubG9nCShub25leGlzdGVudCkKQEAgLTEsMjQgKzAs
MCBAQAotVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUg
VzNDIHJlcG9zaXRvcnkuCi1EbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdl
YktpdC4KLUluc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgVzNDIENTUyBvciBX
UFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0aHViLmNvbS93M2MvY3Nzd2ctdGVzdAotCWh0dHBzOi8v
Z2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCi0KLVRoZW4gcnVuIHRoZSBUb29scy9T
Y3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0Ci0KLURvIE5PVCBt
b2RpZnkgb3IgcmVtb3ZlIHRoaXMgZmlsZS4KLQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1Qcm9wZXJ0aWVz
IHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6Ci1Ob25lCi1Qcm9wZXJ0eSB2YWx1ZXMgcmVxdWly
aW5nIHZlbmRvciBwcmVmaXhlczoKLU5vbmUKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotTGlzdCBvZiBmaWxl
czoKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9pbnZhbGlkL2Vycm9yL2VudW0udHh0Ci0vTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L3dpZGxwcm9jL3Rlc3QvaW52YWxpZC9lcnJvci9tb2R1bGUudHh0Ci0vTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3dpZGxwcm9jL3Rlc3QvaW52YWxpZC9lcnJvci9ub25udWxsYWJsZWFueS50eHQKLS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvd2lkbHByb2MvdGVzdC9pbnZhbGlkL2Vycm9yL25vbm51bGxhYmxlb2JqZWN0cy50eHQKLS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9pbnZhbGlkL2Vycm9yL3Njb3BlZG5hbWUudHh0Ci0vTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L3dpZGxwcm9jL3Rlc3QvaW52YWxpZC9lcnJvci9zZXF1ZW5jZUFzQXR0cmlidXRlLnR4
dAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L2ludmFsaWQvZXJyb3Ivc3RyaW5nY29uc3RhbnRz
LmlkbApJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvaW52YWxpZC9pZGwvZW51bS53aWRs
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L2ludmFsaWQvaWRsL2VudW0u
d2lkbAkocmV2aXNpb24gMjUyODk2KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvaW52YWxp
ZC9pZGwvZW51bS53aWRsCShub25leGlzdGVudCkKQEAgLTEgKzAsMCBAQAotZW51bSBmb28geyAx
LCAyLCAzfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lk
bHByb2MvdGVzdC9pbnZhbGlkL2lkbC9tb2R1bGUud2lkbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvd2lkbHByb2MvdGVzdC9pbnZhbGlkL2lkbC9tb2R1bGUud2lkbAkocmV2aXNpb24gMjUyODk2
KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvaW52YWxpZC9pZGwvbW9kdWxlLndpZGwJKG5v
bmV4aXN0ZW50KQpAQCAtMSwyNSArMCwwIEBACi0vLyBFeHRyYWN0ZWQgZnJvbSBodHRwOi8vZGV2
LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJJREwvIG9uIDIwMTEtMDUtMDYKLW1vZHVsZSBnZnggewot
Ci0gIG1vZHVsZSBnZW9tIHsKLSAgICBpbnRlcmZhY2UgU2hhcGUgeyAvKiAuLi4gKi8gfTsKLSAg
ICBpbnRlcmZhY2UgUmVjdGFuZ2xlIDogU2hhcGUgeyAvKiAuLi4gKi8gfTsKLSAgICBpbnRlcmZh
Y2UgUGF0aCA6IFNoYXBlIHsgLyogLi4uICovIH07Ci0gIH07Ci0KLSAgaW50ZXJmYWNlIEdyYXBo
aWNzQ29udGV4dCB7Ci0gICAgdm9pZCBmaWxsU2hhcGUoZ2VvbTo6U2hhcGUgcyk7Ci0gICAgdm9p
ZCBzdHJva2VTaGFwZShnZW9tOjpTaGFwZSBzKTsKLSAgfTsKLX07Ci0KLW1vZHVsZSBndWkgewot
Ci0gIGludGVyZmFjZSBXaWRnZXQgeyAvKiAuLi4gKi8gIH07Ci0KLSAgaW50ZXJmYWNlIFdpbmRv
dyA6IFdpZGdldCB7Ci0gICAgZ2Z4OjpHcmFwaGljc0NvbnRleHQgZ2V0R3JhcGhpY3NDb250ZXh0
KCk7Ci0gIH07Ci0KLSAgaW50ZXJmYWNlIEJ1dHRvbiA6IFdpZGdldCB7IC8qIC4uLiAqLyAgfTsK
LX07ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9j
L3Rlc3QvaW52YWxpZC9pZGwvbm9ubnVsbGFibGVhbnkud2lkbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvd2lkbHByb2MvdGVzdC9pbnZhbGlkL2lkbC9ub25udWxsYWJsZWFueS53aWRsCShyZXZp
c2lvbiAyNTI4OTYpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9pbnZhbGlkL2lkbC9ub25u
dWxsYWJsZWFueS53aWRsCShub25leGlzdGVudCkKQEAgLTEsMyArMCwwIEBACi1pbnRlcmZhY2Ug
Tm9uTnVsbGFibGUgewotICBhdHRyaWJ1dGUgYW55PyBmb287Ci19OwpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L2ludmFsaWQvaWRsL25v
bm51bGxhYmxlb2JqZWN0cy53aWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90
ZXN0L2ludmFsaWQvaWRsL25vbm51bGxhYmxlb2JqZWN0cy53aWRsCShyZXZpc2lvbiAyNTI4OTYp
CisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9pbnZhbGlkL2lkbC9ub25udWxsYWJsZW9iamVj
dHMud2lkbAkobm9uZXhpc3RlbnQpCkBAIC0xLDUgKzAsMCBAQAotaW50ZXJmYWNlIEZvbyB7fTsK
LQotaW50ZXJmYWNlIE5vbk51bGxhYmxlIHsKLSAgYXR0cmlidXRlIEZvbz8/IGZvbzsKLX07Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3Qv
aW52YWxpZC9pZGwvcmFpc2VzLndpZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9j
L3Rlc3QvaW52YWxpZC9pZGwvcmFpc2VzLndpZGwJKHJldmlzaW9uIDI1Mjg5NikKKysrIExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC93aWRscHJvYy90ZXN0L2ludmFsaWQvaWRsL3JhaXNlcy53aWRsCShub25leGlzdGVudCkK
QEAgLTEsMTggKzAsMCBAQAotLy8gZ2V0cmFpc2VzIGFuZCBzZXRyYWlzZXMgYXJlIG5vdCBsb25n
ZXIgdmFsaWQgV2ViIElETAotaW50ZXJmYWNlIFBlcnNvbiB7Ci0KLSAgLy8gQW4gYXR0cmlidXRl
IHRoYXQgY2FuIHJhaXNlIGFuIGV4Y2VwdGlvbiBpZiBpdCBpcyBzZXQgdG8gYW4gaW52YWxpZCB2
YWx1ZS4KLSAgYXR0cmlidXRlIERPTVN0cmluZyBuYW1lIHNldHJhaXNlcyAoSW52YWxpZE5hbWUp
OwotCi0gIC8vIEFuIGF0dHJpYnV0ZSB3aG9zZSB2YWx1ZSBjYW5ub3QgYmUgYXNzaWduZWQgdG8s
IGFuZCB3aGljaCBjYW4gcmFpc2UgYW4KLSAgLy8gZXhjZXB0aW9uIHNvbWUgY2lyY3Vtc3RhbmNl
cy4KLSAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBwZXROYW1lIGdldHJhaXNlcyAoTm9T
dWNoUGV0KTsKLX07Ci0KLWV4Y2VwdGlvbiBTb21lRXhjZXB0aW9uIHsKLX07Ci0KLWludGVyZmFj
ZSBFeGNlcHRpb25UaHJvd2VyIHsKLSAgLy8gVGhpcyBhdHRyaWJ1dGUgYWx3YXlzIHRocm93cyBh
IFNvbWVFeGNlcHRpb24gYW5kIG5ldmVyIHJldHVybnMgYSB2YWx1ZS4KLSAgYXR0cmlidXRlIGxv
bmcgdmFsdWVPZiBnZXRyYWlzZXMoU29tZUV4Y2VwdGlvbik7Ci19OwpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L2ludmFsaWQvaWRsL3Nj
b3BlZG5hbWUud2lkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9pbnZh
bGlkL2lkbC9zY29wZWRuYW1lLndpZGwJKHJldmlzaW9uIDI1Mjg5NikKKysrIExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93
aWRscHJvYy90ZXN0L2ludmFsaWQvaWRsL3Njb3BlZG5hbWUud2lkbAkobm9uZXhpc3RlbnQpCkBA
IC0xLDIgKzAsMCBAQAotLy8gc2NvcGVkIG5hbWVzIGFyZSBubyBsb25nZXIgdmFsaWQgaW4gV2Vi
SURMCi0gIHR5cGVkZWYgZ2Z4OjpnZW9tOjpnZW9tMmQ6OlBvaW50IFBvaW50OwpJbmRleDogTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L3dpZGxwcm9jL3Rlc3QvaW52YWxpZC9pZGwvc2VxdWVuY2VBc0F0dHJpYnV0ZS53aWRs
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L2ludmFsaWQvaWRsL3NlcXVl
bmNlQXNBdHRyaWJ1dGUud2lkbAkocmV2aXNpb24gMjUyODk2KQorKysgTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxw
cm9jL3Rlc3QvaW52YWxpZC9pZGwvc2VxdWVuY2VBc0F0dHJpYnV0ZS53aWRsCShub25leGlzdGVu
dCkKQEAgLTEsMyArMCwwIEBACi1pbnRlcmZhY2Ugc2VxdWVuY2VBc0F0dHJpYnV0ZSB7Ci0gIGF0
dHJpYnV0ZSBzZXF1ZW5jZTxzaG9ydD4gaW52YWxpZDsKLX07ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvaW52YWxpZC9pZGwvc3BlY2lh
bC1vbWl0dGFibGUud2lkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9p
bnZhbGlkL2lkbC9zcGVjaWFsLW9taXR0YWJsZS53aWRsCShyZXZpc2lvbiAyNTI4OTYpCisrKyBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9pbnZhbGlkL2lkbC9zcGVjaWFsLW9taXR0YWJsZS53aWRs
CShub25leGlzdGVudCkKQEAgLTEsOCArMCwwIEBACi0vLyBFeHRyYWN0ZWQgZnJvbSBodHRwOi8v
ZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJJREwvIG9uIDIwMTEtMDUtMDYKLS8vIG9taXR0YWJs
ZSBpcyBubyBsb25nZXIgYSByZWNvZ25pemVkIGtleXdvYXJkIGFzIG9mIDIwMTEwOTA1Ci1pbnRl
cmZhY2UgRGljdGlvbmFyeSB7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIHBy
b3BlcnR5Q291bnQ7Ci0KLSAgb21pdHRhYmxlIGdldHRlciBmbG9hdCBnZXRQcm9wZXJ0eShET01T
dHJpbmcgcHJvcGVydHlOYW1lKTsKLSAgb21pdHRhYmxlIHNldHRlciB2b2lkIHNldFByb3BlcnR5
KERPTVN0cmluZyBwcm9wZXJ0eU5hbWUsIGZsb2F0IHByb3BlcnR5VmFsdWUpOwotfTsKXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9pbnZh
bGlkL2lkbC9zdHJpbmdjb25zdGFudHMuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRs
cHJvYy90ZXN0L2ludmFsaWQvaWRsL3N0cmluZ2NvbnN0YW50cy5pZGwJKHJldmlzaW9uIDI1Mjg5
NikKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L2ludmFsaWQvaWRsL3N0cmluZ2NvbnN0YW50
cy5pZGwJKG5vbmV4aXN0ZW50KQpAQCAtMSwzICswLDAgQEAKLWludGVyZmFjZSBVdGlsIHsKLSAg
Y29uc3QgRE9NU3RyaW5nIGhlbGxvID0gIndvcmxkIjsKLX07ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvaW52YWxpZC9pZGwvdzNjLWlt
cG9ydC5sb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvaW52YWxpZC9p
ZGwvdzNjLWltcG9ydC5sb2cJKHJldmlzaW9uIDI1Mjg5NikKKysrIExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJv
Yy90ZXN0L2ludmFsaWQvaWRsL3czYy1pbXBvcnQubG9nCShub25leGlzdGVudCkKQEAgLTEsMjYg
KzAsMCBAQAotVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0
aGUgVzNDIHJlcG9zaXRvcnkuCi1EbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGlu
IFdlYktpdC4KLUluc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgVzNDIENTUyBv
ciBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0aHViLmNvbS93M2MvY3Nzd2ctdGVzdAotCWh0dHBz
Oi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCi0KLVRoZW4gcnVuIHRoZSBUb29s
cy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0Ci0KLURvIE5P
VCBtb2RpZnkgb3IgcmVtb3ZlIHRoaXMgZmlsZS4KLQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1Qcm9wZXJ0
aWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6Ci1Ob25lCi1Qcm9wZXJ0eSB2YWx1ZXMgcmVx
dWlyaW5nIHZlbmRvciBwcmVmaXhlczoKLU5vbmUKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotTGlzdCBvZiBm
aWxlczoKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9pbnZhbGlkL2lkbC9lbnVtLndpZGwKLS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9pbnZhbGlkL2lkbC9tb2R1bGUud2lkbAotL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC93aWRscHJvYy90ZXN0L2ludmFsaWQvaWRsL25vbm51bGxhYmxlYW55LndpZGwKLS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvd2lkbHByb2MvdGVzdC9pbnZhbGlkL2lkbC9ub25udWxsYWJsZW9iamVjdHMud2lkbAotL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC93aWRscHJvYy90ZXN0L2ludmFsaWQvaWRsL3JhaXNlcy53aWRsCi0vTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3dpZGxwcm9jL3Rlc3QvaW52YWxpZC9pZGwvc2NvcGVkbmFtZS53aWRsCi0vTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dp
ZGxwcm9jL3Rlc3QvaW52YWxpZC9pZGwvc2VxdWVuY2VBc0F0dHJpYnV0ZS53aWRsCi0vTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3dpZGxwcm9jL3Rlc3QvaW52YWxpZC9pZGwvc3BlY2lhbC1vbWl0dGFibGUud2lkbAotL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC93aWRscHJvYy90ZXN0L2ludmFsaWQvaWRsL3N0cmluZ2NvbnN0YW50cy5pZGwKSW5k
ZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9hbGxvd2FueS53aWRsCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9hbGxvd2FueS53aWRs
CShyZXZpc2lvbiAyNTI4OTYpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwv
YWxsb3dhbnkud2lkbAkobm9uZXhpc3RlbnQpCkBAIC0xLDYgKzAsMCBAQAotLy8gRXh0cmFjdGVk
IGZyb20gaHR0cDovL2Rldi53My5vcmcvMjAwNi93ZWJhcGkvV2ViSURMLyBvbiAyMDExLTA1LTA2
Ci1pbnRlcmZhY2UgQiB7Ci0gIHZvaWQgZygpOwotICB2b2lkIGcoQiBiKTsKLSAgdm9pZCBnKFtB
bGxvd0FueV0gRE9NU3RyaW5nIHMpOwotfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCklu
ZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvYXJyYXkud2lkbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvYXJyYXkud2lkbAkocmV2
aXNpb24gMjUyODk2KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL2FycmF5
LndpZGwJKG5vbmV4aXN0ZW50KQpAQCAtMSw1ICswLDAgQEAKLS8vIEV4dHJhY3RlZCBmcm9tIGh0
dHA6Ly9kZXYudzMub3JnLzIwMDYvd2ViYXBpL1dlYklETC8gb24gMjAxMS0wNS0wNgotW0NvbnN0
cnVjdG9yXQotaW50ZXJmYWNlIExvdHRlcnlSZXN1bHRzIHsKLSAgcmVhZG9ubHkgYXR0cmlidXRl
IHVuc2lnbmVkIHNob3J0W11bXSBudW1iZXJzOwotfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvYXR0cmlidXRlcy53
aWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9hdHRy
aWJ1dGVzLndpZGwJKHJldmlzaW9uIDI1Mjg5NikKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0
L3ZhbGlkL2lkbC9hdHRyaWJ1dGVzLndpZGwJKG5vbmV4aXN0ZW50KQpAQCAtMSwxNCArMCwwIEBA
Ci0vLyBFeHRyYWN0ZWQgZnJvbSBodHRwOi8vZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJJREwv
IG9uIDIwMTEtMDUtMDYKLWV4Y2VwdGlvbiBJbnZhbGlkTmFtZSB7Ci0gIERPTVN0cmluZyByZWFz
b247Ci19OwotCi1leGNlcHRpb24gTm9TdWNoUGV0IHsgfTsKLQotaW50ZXJmYWNlIFBlcnNvbiB7
Ci0KLSAgLy8gQSBzaW1wbGUgYXR0cmlidXRlIHRoYXQgY2FuIGJlIHNldCB0byBhbnkgdmFsdWUg
dGhlIHJhbmdlIGFuIHVuc2lnbmVkCi0gIC8vIHNob3J0IGNhbiB0YWtlLgotICBhdHRyaWJ1dGUg
dW5zaWduZWQgc2hvcnQgYWdlOwotCi19OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5k
ZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9jYWxsYmFjay53aWRsCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9jYWxsYmFjay53aWRs
CShyZXZpc2lvbiAyNTI4OTYpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwv
Y2FsbGJhY2sud2lkbAkobm9uZXhpc3RlbnQpCkBAIC0xLDUgKzAsMCBAQAotY2FsbGJhY2sgQXN5
bmNPcGVyYXRpb25DYWxsYmFjayA9IHZvaWQgKERPTVN0cmluZyBzdGF0dXMpOwotCi1jYWxsYmFj
ayBpbnRlcmZhY2UgRXZlbnRIYW5kbGVyIHsKLSAgdm9pZCBldmVudE9jY3VycmVkKERPTVN0cmlu
ZyBkZXRhaWxzKTsKLX07ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL2NhbGxlci53aWRsCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9jYWxsZXIud2lkbAkocmV2aXNpb24gMjUy
ODk2KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL2NhbGxlci53aWRsCShu
b25leGlzdGVudCkKQEAgLTEsNSArMCwwIEBACi0vLyBFeHRyYWN0ZWQgZnJvbSBodHRwOi8vZGV2
LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJJREwvIG9uIDIwMTEtMDUtMDYKLWludGVyZmFjZSBOdW1i
ZXJRdWFkcnVwbGVyIHsKLSAgLy8gVGhpcyBvcGVyYXRpb24gc2ltcGx5IHJldHVybnMgZm91ciB0
aW1lcyB0aGUgZ2l2ZW4gbnVtYmVyIHguCi0gIGxlZ2FjeWNhbGxlciBmbG9hdCBjb21wdXRlKGZs
b2F0IHgpOwotfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
d2lkbHByb2MvdGVzdC92YWxpZC9pZGwvY29uc3RhbnRzLndpZGwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL2NvbnN0YW50cy53aWRsCShyZXZpc2lvbiAy
NTI4OTYpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvY29uc3RhbnRzLndp
ZGwJKG5vbmV4aXN0ZW50KQpAQCAtMSwxOCArMCwwIEBACi0vLyBFeHRyYWN0ZWQgZnJvbSBodHRw
Oi8vZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJJREwvIG9uIDIwMTEtMDUtMDYKLWludGVyZmFj
ZSBVdGlsIHsKLSAgY29uc3QgYm9vbGVhbiBERUJVRyA9IGZhbHNlOwotICBjb25zdCBzaG9ydCBu
ZWdhdGl2ZSA9IC0xOwotICBjb25zdCBvY3RldCBMRiA9IDEwOwotICBjb25zdCB1bnNpZ25lZCBs
b25nIEJJVF9NQVNLID0gMHgwMDAwZmMwMDsKLSAgY29uc3QgZmxvYXQgQVZPR0FEUk8gPSA2LjAy
MmUyMzsKLSAgY29uc3QgdW5yZXN0cmljdGVkIGZsb2F0IHNvYmlnID0gSW5maW5pdHk7Ci0gIGNv
bnN0IHVucmVzdHJpY3RlZCBkb3VibGUgbWludXNvbmVkaXZpZGVkYnl6ZXJvID0gLUluZmluaXR5
OwotICBjb25zdCBzaG9ydCBub3RhbnVtYmVyID0gTmFOOwotfTsKLQotZXhjZXB0aW9uIEVycm9y
IHsKLSAgY29uc3Qgc2hvcnQgRVJSX1VOS05PV04gPSAwOwotICBjb25zdCBzaG9ydCBFUlJfT1VU
X09GX01FTU9SWSA9IDE7Ci0KLSAgc2hvcnQgZXJyb3JDb2RlOwotfTsKXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvY29u
c3RydWN0b3Iud2lkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxp
ZC9pZGwvY29uc3RydWN0b3Iud2lkbAkocmV2aXNpb24gMjUyODk2KQorKysgTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dp
ZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL2NvbnN0cnVjdG9yLndpZGwJKG5vbmV4aXN0ZW50KQpAQCAt
MSw5ICswLDAgQEAKLS8vIEV4dHJhY3RlZCBmcm9tIGh0dHA6Ly9kZXYudzMub3JnLzIwMDYvd2Vi
YXBpL1dlYklETC8gb24gMjAxMS0wNS0wNgotW0NvbnN0cnVjdG9yLAotIENvbnN0cnVjdG9yKGZs
b2F0IHJhZGl1cyldCi1pbnRlcmZhY2UgQ2lyY2xlIHsKLSAgYXR0cmlidXRlIGZsb2F0IHI7Ci0g
IGF0dHJpYnV0ZSBmbG9hdCBjeDsKLSAgYXR0cmlidXRlIGZsb2F0IGN5OwotICByZWFkb25seSBh
dHRyaWJ1dGUgZmxvYXQgY2lyY3VtZmVyZW5jZTsKLX07ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL2RpY3Rpb25hcnkt
aW5oZXJpdHMud2lkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxp
ZC9pZGwvZGljdGlvbmFyeS1pbmhlcml0cy53aWRsCShyZXZpc2lvbiAyNTI4OTYpCisrKyBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvZGljdGlvbmFyeS1pbmhlcml0cy53aWRsCShu
b25leGlzdGVudCkKQEAgLTEsOSArMCwwIEBACi1kaWN0aW9uYXJ5IFBhaW50T3B0aW9ucyB7Ci0g
IERPTVN0cmluZz8gZmlsbFBhdHRlcm4gPSAiYmxhY2siOwotICBET01TdHJpbmc/IHN0cm9rZVBh
dHRlcm4gPSBudWxsOwotICBQb2ludCBwb3NpdGlvbjsKLX07Ci0KLWRpY3Rpb25hcnkgV2V0UGFp
bnRPcHRpb25zIDogUGFpbnRPcHRpb25zIHsKLSAgZmxvYXQgaHlkcm9tZXRyeTsKLX07ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFs
aWQvaWRsL2RpY3Rpb25hcnkud2lkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mv
dGVzdC92YWxpZC9pZGwvZGljdGlvbmFyeS53aWRsCShyZXZpc2lvbiAyNTI4OTYpCisrKyBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvZGljdGlvbmFyeS53aWRsCShub25leGlzdGVu
dCkKQEAgLTEsMTEgKzAsMCBAQAotLy8gRXh0cmFjdGVkIGZyb20gV2ViIElETCBlZGl0b3JzIGRy
YWZ0IE1heSAzMSAyMDExCi1kaWN0aW9uYXJ5IFBhaW50T3B0aW9ucyB7Ci0gIERPTVN0cmluZz8g
ZmlsbFBhdHRlcm4gPSAiYmxhY2siOwotICBET01TdHJpbmc/IHN0cm9rZVBhdHRlcm4gPSBudWxs
OwotICBQb2ludCBwb3NpdGlvbjsKLX07Ci0KLXBhcnRpYWwgZGljdGlvbmFyeSBBIHsKLSAgbG9u
ZyBoOwotICBsb25nIGQ7Ci19OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9kb2N1bWVudGF0aW9uLWRvcy53aWRsCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9kb2N1bWVudGF0
aW9uLWRvcy53aWRsCShyZXZpc2lvbiAyNTI4OTYpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVz
dC92YWxpZC9pZGwvZG9jdW1lbnRhdGlvbi1kb3Mud2lkbAkobm9uZXhpc3RlbnQpCkBAIC0xLDMz
ICswLDAgQEAKLS8qKg0KLSogXGJyaWVmIFRlc3RpbmcgZG9jdW1lbnRhdGlvbiBmZWF0dXJlcw0K
LSoNCi0qIFRoaXMgaXMgYQ0KLSogc2luZ2xlIHBhcmFncmFwaA0KLSoNCi0qIDxwPlRoaXMgaXMg
dmFsaWQuPC9wPg0KLSogPHA+VGhpcyBpcyA8ZW0+dmFsaWQ8L2VtPi48L3A+DQotKiA8cD5UaGlz
IGlzIDxiPnZhbGlkPC9iPi48L3A+DQotKiA8cD5UaGlzIGlzIDxhIGhyZWY9Jyc+dmFsaWQ8L2E+
LjwvcD4NCi0qIDx1bD4NCi0qIDxsaT5UaGlzPC9saT4NCi0qIDxsaT5pczwvbGk+DQotKiA8bGk+
dmFsaWQ8L2xpPg0KLSogPC91bD4NCi0qIDxkbD4NCi0qIDxkdD5UaGlzPC9kdD4NCi0qIDxkZD52
YWxpZDwvZGQ+DQotKiA8L2RsPg0KLSogPHRhYmxlPg0KLSogPHRyPg0KLSogPHRkPnRoaXM8L3Rk
Pg0KLSogPHRkPmlzPC90ZD4NCi0qIDwvdHI+DQotKiA8dHI+DQotKiA8dGQ+dmFsaWQ8L3RkPg0K
LSogPC90cj4NCi0qIDwvdGFibGU+DQotKiA8cD5UaGlzIGlzIDxicj4gdmFsaWQuPC9wPg0KLSog
PHA+VGhpcyBpcyA8YnIgLz4gdmFsaWQuPC9wPg0KLSogPHA+VGhpcyBpcyA8YnIvPiB2YWxpZC48
L3A+DQotKi8NCi1pbnRlcmZhY2UgRG9jdW1lbnRhdGlvbiB7fTsKXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvZG9jdW1l
bnRhdGlvbi53aWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlk
L2lkbC9kb2N1bWVudGF0aW9uLndpZGwJKHJldmlzaW9uIDI1Mjg5NikKKysrIExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93
aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9kb2N1bWVudGF0aW9uLndpZGwJKG5vbmV4aXN0ZW50KQpA
QCAtMSwzNCArMCwwIEBACi0vKioKLSogXGJyaWVmIFRlc3RpbmcgZG9jdW1lbnRhdGlvbiBmZWF0
dXJlcwotKgotKiBUaGlzIGlzIGEKLSogc2luZ2xlIHBhcmFncmFwaAotKgotKiA8cD5UaGlzIGlz
IHZhbGlkLjwvcD4KLSogPHA+VGhpcyBpcyA8ZW0+dmFsaWQ8L2VtPi48L3A+Ci0qIDxwPlRoaXMg
aXMgPGI+dmFsaWQ8L2I+LjwvcD4KLSogPHA+VGhpcyBpcyA8YSBocmVmPScnPnZhbGlkPC9hPi48
L3A+Ci0qIDx1bD4KLSogPGxpPlRoaXM8L2xpPgotKiA8bGk+aXM8L2xpPgotKiA8bGk+dmFsaWQ8
L2xpPgotKiA8L3VsPgotKiA8ZGw+Ci0qIDxkdD5UaGlzPC9kdD4KLSogPGRkPnZhbGlkPC9kZD4K
LSogPC9kbD4KLSogPHRhYmxlPgotKiA8dHI+Ci0qIDx0ZD50aGlzPC90ZD4KLSogPHRkPmlzPC90
ZD4KLSogPC90cj4KLSogPHRyPgotKiA8dGQ+dmFsaWQ8L3RkPgotKiA8L3RyPgotKiA8L3RhYmxl
PgotKiA8cD5UaGlzIGlzIDxicj4gdmFsaWQuPC9wPgotKiA8cD5UaGlzIGlzIDxiciAvPiB2YWxp
ZC48L3A+Ci0qIDxwPlRoaXMgaXMgPGJyLz4gdmFsaWQuPC9wPgotKiA8cD48aW1nIHNyYz0iZm9v
LnBuZyIgYWx0PSJWYWxpZCIvPjwvcD4KLSovCi1pbnRlcmZhY2UgRG9jdW1lbnRhdGlvbiB7fTsK
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVz
dC92YWxpZC9pZGwvZW51bS53aWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90
ZXN0L3ZhbGlkL2lkbC9lbnVtLndpZGwJKHJldmlzaW9uIDI1Mjg5NikKKysrIExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93
aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9lbnVtLndpZGwJKG5vbmV4aXN0ZW50KQpAQCAtMSw4ICsw
LDAgQEAKLWVudW0gTWVhbFR5cGUgeyAicmljZSIsICJub29kbGVzIiwgIm90aGVyIiB9OwotCi1p
bnRlcmZhY2UgTWVhbCB7Ci0gIGF0dHJpYnV0ZSBNZWFsVHlwZSB0eXBlOwotICBhdHRyaWJ1dGUg
ZmxvYXQgc2l6ZTsgICAgIC8vIGluIGdyYW1zCi0KLSAgdm9pZCBpbml0aWFsaXplKE1lYWxUeXBl
IHR5cGUsIGZsb2F0IHNpemUpOwotfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4
OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvZXF1aXZhbGVudC1kZWNsLndpZGwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL2VxdWl2YWxl
bnQtZGVjbC53aWRsCShyZXZpc2lvbiAyNTI4OTYpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVz
dC92YWxpZC9pZGwvZXF1aXZhbGVudC1kZWNsLndpZGwJKG5vbmV4aXN0ZW50KQpAQCAtMSwxOCAr
MCwwIEBACi0vLyBFeHRyYWN0ZWQgZnJvbSBodHRwOi8vZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9X
ZWJJREwvIG9uIDIwMTEtMDUtMDYKLWludGVyZmFjZSBEaWN0aW9uYXJ5IHsKLSAgcmVhZG9ubHkg
YXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgcHJvcGVydHlDb3VudDsKLQotICBnZXR0ZXIgZmxvYXQg
Z2V0UHJvcGVydHkoRE9NU3RyaW5nIHByb3BlcnR5TmFtZSk7Ci0gIHNldHRlciB2b2lkIHNldFBy
b3BlcnR5KERPTVN0cmluZyBwcm9wZXJ0eU5hbWUsIGZsb2F0IHByb3BlcnR5VmFsdWUpOwotfTsK
LQotCi1pbnRlcmZhY2UgRGljdGlvbmFyeSB7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25l
ZCBsb25nIHByb3BlcnR5Q291bnQ7Ci0KLSAgZmxvYXQgZ2V0UHJvcGVydHkoRE9NU3RyaW5nIHBy
b3BlcnR5TmFtZSk7Ci0gIHZvaWQgc2V0UHJvcGVydHkoRE9NU3RyaW5nIHByb3BlcnR5TmFtZSwg
ZmxvYXQgcHJvcGVydHlWYWx1ZSk7Ci0KLSAgZ2V0dGVyIGZsb2F0IChET01TdHJpbmcgcHJvcGVy
dHlOYW1lKTsKLSAgc2V0dGVyIHZvaWQgKERPTVN0cmluZyBwcm9wZXJ0eU5hbWUsIGZsb2F0IHBy
b3BlcnR5VmFsdWUpOwotfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvZXhjZXB0aW9uLWluaGVyaXRhbmNlLndpZGwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL2V4Y2VwdGlv
bi1pbmhlcml0YW5jZS53aWRsCShyZXZpc2lvbiAyNTI4OTYpCisrKyBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHBy
b2MvdGVzdC92YWxpZC9pZGwvZXhjZXB0aW9uLWluaGVyaXRhbmNlLndpZGwJKG5vbmV4aXN0ZW50
KQpAQCAtMSw3ICswLDAgQEAKLS8vIGZyb20gaHR0cDovL2xpc3RzLnczLm9yZy9BcmNoaXZlcy9Q
dWJsaWMvcHVibGljLXNjcmlwdC1jb29yZC8yMDEwT2N0RGVjLzAxMTIuaHRtbAotICBleGNlcHRp
b24gRE9NRXhjZXB0aW9uIHsKLSAgICB1bnNpZ25lZCBzaG9ydCBjb2RlOwotICB9OwotCi0gIGV4
Y2VwdGlvbiBIaWVyYXJjaHlSZXF1ZXN0RXJyb3IgOiBET01FeGNlcHRpb24geyB9OwotICBleGNl
cHRpb24gTm9Nb2RpZmljYXRpb25BbGxvd2VkRXJyb3IgOiBET01FeGNlcHRpb24geyB9OwpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3Zh
bGlkL2lkbC9leGNlcHRpb24ud2lkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mv
dGVzdC92YWxpZC9pZGwvZXhjZXB0aW9uLndpZGwJKHJldmlzaW9uIDI1Mjg5NikKKysrIExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9leGNlcHRpb24ud2lkbAkobm9uZXhpc3RlbnQp
CkBAIC0xLDggKzAsMCBAQAotLy8gRXh0cmFjdGVkIGZyb20gaHR0cDovL2Rldi53My5vcmcvMjAw
Ni93ZWJhcGkvV2ViSURMLyBvbiAyMDExLTA1LTA2Ci1pbnRlcmZhY2UgRGFodXQgewotICBhdHRy
aWJ1dGUgRE9NU3RyaW5nIHR5cGU7Ci19OwotCi1leGNlcHRpb24gU29tZUV4Y2VwdGlvbiB7Ci19
OwotCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvZ2V0dGVyLXNldHRl
ci53aWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9n
ZXR0ZXItc2V0dGVyLndpZGwJKHJldmlzaW9uIDI1Mjg5NikKKysrIExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJv
Yy90ZXN0L3ZhbGlkL2lkbC9nZXR0ZXItc2V0dGVyLndpZGwJKG5vbmV4aXN0ZW50KQpAQCAtMSw3
ICswLDAgQEAKLS8vIEV4dHJhY3RlZCBmcm9tIGh0dHA6Ly9kZXYudzMub3JnLzIwMDYvd2ViYXBp
L1dlYklETC8gb24gMjAxMS0wNS0wNgotaW50ZXJmYWNlIERpY3Rpb25hcnkgewotICByZWFkb25s
eSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBwcm9wZXJ0eUNvdW50OwotCi0gIGdldHRlciBmbG9h
dCAoRE9NU3RyaW5nIHByb3BlcnR5TmFtZSk7Ci0gIHNldHRlciB2b2lkIChET01TdHJpbmcgcHJv
cGVydHlOYW1lLCBmbG9hdCBwcm9wZXJ0eVZhbHVlKTsKLX07ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL2lkZW50aWZp
ZXItcXVhbGlmaWVkLW5hbWVzLndpZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9j
L3Rlc3QvdmFsaWQvaWRsL2lkZW50aWZpZXItcXVhbGlmaWVkLW5hbWVzLndpZGwJKHJldmlzaW9u
IDI1Mjg5NikKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9pZGVudGlmaWVy
LXF1YWxpZmllZC1uYW1lcy53aWRsCShub25leGlzdGVudCkKQEAgLTEsNDQgKzAsMCBAQAotLy8g
RXh0cmFjdGVkIGZyb20gaHR0cDovL2Rldi53My5vcmcvMjAwNi93ZWJhcGkvV2ViSURMLyBvbiAy
MDExLTA1LTA2Ci0gIC8vIFR5cGVkZWYgaWRlbnRpZmllcjogIm51bWJlciIKLSAgLy8gUXVhbGlm
aWVkIG5hbWU6ICAgICI6OmZyYW1ld29yazo6bnVtYmVyIgotICB0eXBlZGVmIGZsb2F0IG51bWJl
cjsKLQotICAvLyBFeGNlcHRpb24gaWRlbnRpZmllcjogIkZyYW1ld29ya0V4Y2VwdGlvbiIKLSAg
Ly8gUXVhbGlmaWVkIG5hbWU6ICAgICAgICI6OmZyYW1ld29yazo6RnJhbWV3b3JrRXhjZXB0aW9u
IgotICBleGNlcHRpb24gRnJhbWV3b3JrRXhjZXB0aW9uIHsKLQotICAgIC8vIENvbnN0YW50IGlk
ZW50aWZpZXI6ICJFUlJfTk9UX0ZPVU5EIgotICAgIC8vIFF1YWxpZmllZCBuYW1lOiAgICAgICI6
OmZyYW1ld29yazo6RnJhbWV3b3JrRXhjZXB0aW9uOjpFUlJfTk9UX0ZPVU5EIgotICAgIGNvbnN0
IGxvbmcgRVJSX05PVF9GT1VORCA9IDE7Ci0KLSAgICAvLyBFeGNlcHRpb24gZmllbGQgaWRlbnRp
ZmllcjogImNvZGUiCi0gICAgbG9uZyBjb2RlOwotICB9OwotCi0gIC8vIEludGVyZmFjZSBpZGVu
dGlmaWVyOiAiU3lzdGVtIgotICAvLyBRdWFsaWZpZWQgbmFtZTogICAgICAgIjo6ZnJhbWV3b3Jr
OjpTeXN0ZW0iCi0gIGludGVyZmFjZSBTeXN0ZW0gewotCi0gICAgLy8gT3BlcmF0aW9uIGlkZW50
aWZpZXI6ICAgICAgICAgICJjcmVhdGVPYmplY3QiCi0gICAgLy8gT3BlcmF0aW9uIGFyZ3VtZW50
IGlkZW50aWZpZXI6ICJpbnRlcmZhY2UiCi0gICAgb2JqZWN0IGNyZWF0ZU9iamVjdChET01TdHJp
bmcgX2ludGVyZmFjZSk7Ci0KLSAgICAvLyBPcGVyYXRpb24gaGFzIG5vIGlkZW50aWZpZXI7IGl0
IGRlY2xhcmVzIGEgZ2V0dGVyLgotICAgIGdldHRlciBET01TdHJpbmcgKERPTVN0cmluZyBrZXlO
YW1lKTsKLSAgfTsKLQotICAgIAotICAgIC8vIEludGVyZmFjZSBpZGVudGlmaWVyOiAiVGV4dEZp
ZWxkIgotICAgIC8vIFF1YWxpZmllZCBuYW1lOiAgICAgICAiOjpmcmFtZXdvcms6Omd1aTo6VGV4
dEZpZWxkIgotICAgIGludGVyZmFjZSBUZXh0RmllbGQgewotCi0gICAgICAvLyBBdHRyaWJ1dGUg
aWRlbnRpZmllcjogImNvbnN0IgotICAgICAgYXR0cmlidXRlIGJvb2xlYW4gX2NvbnN0OwotCi0g
ICAgICAvLyBBdHRyaWJ1dGUgaWRlbnRpZmllcjogInZhbHVlIgotICAgICAgYXR0cmlidXRlIERP
TVN0cmluZz8gX3ZhbHVlOwotICAgIH07Ci0KLWludGVyZmFjZSBGb28gewotIHZvaWQgb3Aob2Jq
ZWN0IGludGVyZmFjZSk7Ci19OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9pbXBsZW1lbnRzLndpZGwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL2ltcGxlbWVudHMud2lkbAko
cmV2aXNpb24gMjUyODk2KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL2lt
cGxlbWVudHMud2lkbAkobm9uZXhpc3RlbnQpCkBAIC0xLDE0ICswLDAgQEAKLS8vIEV4dHJhY3Rl
ZCBmcm9tIGh0dHA6Ly9kZXYudzMub3JnLzIwMDYvd2ViYXBpL1dlYklETC8gb24gMjAxMS0wNS0w
NgotICBpbnRlcmZhY2UgTm9kZSB7Ci0gICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIHNo
b3J0IG5vZGVUeXBlOwotICAgIC8vIC4uLgotICB9OwotCi0gIGludGVyZmFjZSBFdmVudFRhcmdl
dCB7Ci0gICAgdm9pZCBhZGRFdmVudExpc3RlbmVyKERPTVN0cmluZyB0eXBlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICBFdmVudExpc3RlbmVyIGxpc3RlbmVyLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICBib29sZWFuIHVzZUNhcHR1cmUpOwotICAgIC8vIC4uLgotICB9OwotCi0gIE5v
ZGUgaW1wbGVtZW50cyBFdmVudFRhcmdldDsKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0
L3ZhbGlkL2lkbC9pbmRleGVkLXByb3BlcnRpZXMud2lkbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvaW5kZXhlZC1wcm9wZXJ0aWVzLndpZGwJKHJldmlz
aW9uIDI1Mjg5NikKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9pbmRleGVk
LXByb3BlcnRpZXMud2lkbAkobm9uZXhpc3RlbnQpCkBAIC0xLDEyICswLDAgQEAKLS8vIEV4dHJh
Y3RlZCBmcm9tIGh0dHA6Ly9kZXYudzMub3JnLzIwMDYvd2ViYXBpL1dlYklETC8gb24gMjAxMS0w
NS0wNgotaW50ZXJmYWNlIE9yZGVyZWRNYXAgewotICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWdu
ZWQgbG9uZyBzaXplOwotCi0gIGdldHRlciBhbnkgZ2V0QnlJbmRleCh1bnNpZ25lZCBsb25nIGlu
ZGV4KTsKLSAgc2V0dGVyIHZvaWQgc2V0QnlJbmRleCh1bnNpZ25lZCBsb25nIGluZGV4LCBhbnkg
dmFsdWUpOwotICBkZWxldGVyIHZvaWQgcmVtb3ZlQnlJbmRleCh1bnNpZ25lZCBsb25nIGluZGV4
KTsKLQotICBnZXR0ZXIgYW55IGdldChET01TdHJpbmcgbmFtZSk7Ci0gIHNldHRlciBjcmVhdG9y
IHZvaWQgc2V0KERPTVN0cmluZyBuYW1lLCBhbnkgdmFsdWUpOwotICBkZWxldGVyIHZvaWQgcmVt
b3ZlKERPTVN0cmluZyBuYW1lKTsKLX07ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRl
eDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL2luaGVyaXRzLWdldHRlci53aWRs
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9pbmhlcml0
cy1nZXR0ZXIud2lkbAkocmV2aXNpb24gMjUyODk2KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rl
c3QvdmFsaWQvaWRsL2luaGVyaXRzLWdldHRlci53aWRsCShub25leGlzdGVudCkKQEAgLTEsMTYg
KzAsMCBAQAotaW50ZXJmYWNlIEFuaW1hbCB7Ci0KLSAgLy8gQSBzaW1wbGUgYXR0cmlidXRlIHRo
YXQgY2FuIGJlIHNldCB0byBhbnkgc3RyaW5nIHZhbHVlLgotICByZWFkb25seSBhdHRyaWJ1dGUg
RE9NU3RyaW5nIG5hbWU7Ci19OwotCi1pbnRlcmZhY2UgUGVyc29uIDogQW5pbWFsIHsKLQotICAv
LyBBbiBhdHRyaWJ1dGUgd2hvc2UgdmFsdWUgY2Fubm90IGJlIGFzc2lnbmVkIHRvLgotICByZWFk
b25seSBhdHRyaWJ1dGUgdW5zaWduZWQgc2hvcnQgYWdlOwotCi0gIC8vIEFuIGF0dHJpYnV0ZSB0
aGF0IGNhbiByYWlzZSBhbiBleGNlcHRpb24gaWYgaXQgaXMgc2V0IHRvIGFuIGludmFsaWQgdmFs
dWUuCi0gIC8vIEl0cyBnZXR0ZXIgYmVoYXZpb3IgaXMgaW5oZXJpdGVkIGZyb20gQW5pbWFsLCBh
bmQgbmVlZCBub3QgYmUgc3BlY2lmaWVkCi0gIC8vIHRoZSBkZXNjcmlwdGlvbiBvZiBQZXJzb24u
Ci0gIGluaGVyaXQgYXR0cmlidXRlIERPTVN0cmluZyBuYW1lOwotfTsKXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvaW50
ZXJmYWNlLWluaGVyaXRzLndpZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rl
c3QvdmFsaWQvaWRsL2ludGVyZmFjZS1pbmhlcml0cy53aWRsCShyZXZpc2lvbiAyNTI4OTYpCisr
KyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvaW50ZXJmYWNlLWluaGVyaXRzLndp
ZGwJKG5vbmV4aXN0ZW50KQpAQCAtMSwxMiArMCwwIEBACi0vLyBFeHRyYWN0ZWQgZnJvbSBodHRw
Oi8vZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJJREwvIG9uIDIwMTEtMDUtMDYKLWludGVyZmFj
ZSBBbmltYWwgewotICBhdHRyaWJ1dGUgRE9NU3RyaW5nIG5hbWU7Ci19OwotCi1pbnRlcmZhY2Ug
SHVtYW4gOiBBbmltYWwgewotICBhdHRyaWJ1dGUgRG9nIHBldDsKLX07Ci0KLWludGVyZmFjZSBE
b2cgOiBBbmltYWwgewotICBhdHRyaWJ1dGUgSHVtYW4gb3duZXI7Ci19OwpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9p
dGVyYXRvci53aWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlk
L2lkbC9pdGVyYXRvci53aWRsCShyZXZpc2lvbiAyNTI4OTYpCisrKyBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHBy
b2MvdGVzdC92YWxpZC9pZGwvaXRlcmF0b3Iud2lkbAkobm9uZXhpc3RlbnQpCkBAIC0xLDM1ICsw
LDAgQEAKLWludGVyZmFjZSBTZXNzaW9uTWFuYWdlciB7Ci0gIFNlc3Npb24gZ2V0U2Vzc2lvbkZv
clVzZXIoRE9NU3RyaW5nIHVzZXJuYW1lKTsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVk
IGxvbmcgc2Vzc2lvbkNvdW50OwotCi0gIFNlc3Npb24gaXRlcmF0b3I7Ci19OwotCi1pbnRlcmZh
Y2UgU2Vzc2lvbiB7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgdXNlcm5hbWU7Ci0g
IC8vIC4uLgotfTsKLQotaW50ZXJmYWNlIFNlc3Npb25NYW5hZ2VyMiB7Ci0gIFNlc3Npb24yIGdl
dFNlc3Npb25Gb3JVc2VyKERPTVN0cmluZyB1c2VybmFtZSk7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0
ZSB1bnNpZ25lZCBsb25nIHNlc3Npb25Db3VudDsKLQotICBTZXNzaW9uMiBpdGVyYXRvciA9IFNl
c3Npb25JdGVyYXRvcjsKLX07Ci0KLWludGVyZmFjZSBTZXNzaW9uMiB7Ci0gIHJlYWRvbmx5IGF0
dHJpYnV0ZSBET01TdHJpbmcgdXNlcm5hbWU7Ci0gIC8vIC4uLgotfTsKLQotaW50ZXJmYWNlIFNl
c3Npb25JdGVyYXRvciB7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIHJlbWFp
bmluZ1Nlc3Npb25zOwotfTsKLQotICAgICBpbnRlcmZhY2UgTm9kZUxpc3QgewotICAgICAgIE5v
ZGUgaXRlcmF0b3IgPSBOb2RlSXRlcmF0b3I7Ci0gICAgIH07Ci0KLSAgICAgaW50ZXJmYWNlIE5v
ZGVJdGVyYXRvciB7Ci0gICAgICAgTm9kZSBpdGVyYXRvciBvYmplY3Q7Ci0gICAgIH07ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFs
aWQvaWRsL25hbWVkY29uc3RydWN0b3Iud2lkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lk
bHByb2MvdGVzdC92YWxpZC9pZGwvbmFtZWRjb25zdHJ1Y3Rvci53aWRsCShyZXZpc2lvbiAyNTI4
OTYpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvbmFtZWRjb25zdHJ1Y3Rv
ci53aWRsCShub25leGlzdGVudCkKQEAgLTEsNiArMCwwIEBACi0vLyBFeHRyYWN0ZWQgZnJvbSBo
dHRwOi8vZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJJREwvIG9uIDIwMTEtMDUtMDYKLVtOYW1l
ZENvbnN0cnVjdG9yPUF1ZGlvLAotIE5hbWVkQ29uc3RydWN0b3I9QXVkaW8oRE9NU3RyaW5nIHNy
YyldCi1pbnRlcmZhY2UgSFRNTEF1ZGlvRWxlbWVudCA6IEhUTUxNZWRpYUVsZW1lbnQgewotICAv
LyAuLi4KLX07ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dp
ZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL25vaW50ZXJmYWNlb2JqZWN0LndpZGwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL25vaW50ZXJmYWNlb2JqZWN0Lndp
ZGwJKHJldmlzaW9uIDI1Mjg5NikKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lk
bC9ub2ludGVyZmFjZW9iamVjdC53aWRsCShub25leGlzdGVudCkKQEAgLTEsNSArMCwwIEBACi0v
LyBFeHRyYWN0ZWQgZnJvbSBodHRwOi8vZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJJREwvIG9u
IDIwMTEtMDUtMDYKLVtOb0ludGVyZmFjZU9iamVjdF0KLWludGVyZmFjZSBRdWVyeSB7Ci0gIGFu
eSBsb29rdXBFbnRyeSh1bnNpZ25lZCBsb25nIGtleSk7Ci19OwpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9udWxsYWJs
ZS53aWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9u
dWxsYWJsZS53aWRsCShyZXZpc2lvbiAyNTI4OTYpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVz
dC92YWxpZC9pZGwvbnVsbGFibGUud2lkbAkobm9uZXhpc3RlbnQpCkBAIC0xLDkgKzAsMCBAQAot
Ly8gRXh0cmFjdGVkIGZyb20gaHR0cDovL2Rldi53My5vcmcvMjAwNi93ZWJhcGkvV2ViSURMLyBv
biAyMDExLTA1LTA2Ci1pbnRlcmZhY2UgTXlDb25zdGFudHMgewotICBjb25zdCBib29sZWFuPyBB
UkVfV0VfVEhFUkVfWUVUID0gZmFsc2U7Ci19OwotCi1pbnRlcmZhY2UgTm9kZSB7Ci0gIHJlYWRv
bmx5IGF0dHJpYnV0ZSBET01TdHJpbmc/IG5hbWVzcGFjZVVSSTsKLSAgLy8gLi4uCi19OwpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3Zh
bGlkL2lkbC9udWxsYWJsZW9iamVjdHMud2lkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lk
bHByb2MvdGVzdC92YWxpZC9pZGwvbnVsbGFibGVvYmplY3RzLndpZGwJKHJldmlzaW9uIDI1Mjg5
NikKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9udWxsYWJsZW9iamVjdHMu
d2lkbAkobm9uZXhpc3RlbnQpCkBAIC0xLDEzICswLDAgQEAKLS8vIEV4dHJhY3RlZCBmcm9tIFdl
YklETCBzcGVjIDIwMTEtMDUtMjMKLQotaW50ZXJmYWNlIEEgewotICAvLyAuLi4KLX07Ci1pbnRl
cmZhY2UgQiB7Ci0gIC8vIC4uLgotfTsKLWludGVyZmFjZSBDIHsKLSAgdm9pZCBmKEE/IHgpOwot
ICB2b2lkIGYoQj8geCk7Ci0KLX07ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDog
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL29wZXJhdGlvbi1vcHRpb25hbC1hcmcu
d2lkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvb3Bl
cmF0aW9uLW9wdGlvbmFsLWFyZy53aWRsCShyZXZpc2lvbiAyNTI4OTYpCisrKyBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
d2lkbHByb2MvdGVzdC92YWxpZC9pZGwvb3BlcmF0aW9uLW9wdGlvbmFsLWFyZy53aWRsCShub25l
eGlzdGVudCkKQEAgLTEsNCArMCwwIEBACi0vLyBFeHRyYWN0ZWQgZnJvbSBodHRwOi8vZGV2Lncz
Lm9yZy8yMDA2L3dlYmFwaS9XZWJJREwvIG9uIDIwMTEtMDUtMDYKLWludGVyZmFjZSBDb2xvckNy
ZWF0b3IgewotICBvYmplY3QgY3JlYXRlQ29sb3IoZmxvYXQgdjEsIGZsb2F0IHYyLCBmbG9hdCB2
Mywgb3B0aW9uYWwgZmxvYXQgYWxwaGEgPSAzLjUpOwotfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvb3ZlcmxvYWRp
bmcud2lkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwv
b3ZlcmxvYWRpbmcud2lkbAkocmV2aXNpb24gMjUyODk2KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9j
L3Rlc3QvdmFsaWQvaWRsL292ZXJsb2FkaW5nLndpZGwJKG5vbmV4aXN0ZW50KQpAQCAtMSwyMCAr
MCwwIEBACi0vLyBFeHRyYWN0ZWQgZnJvbSBodHRwOi8vZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9X
ZWJJREwvIG9uIDIwMTEtMDUtMDYKLWludGVyZmFjZSBBIHsKLSAgLy8gLi4uCi19OwotCi1pbnRl
cmZhY2UgQiB7Ci0gIC8vIC4uLgotfTsKLQotaW50ZXJmYWNlIEMgewotICB2b2lkIGYoQSB4KTsK
LSAgdm9pZCBmKEIgeCk7Ci19OwotCi1pbnRlcmZhY2UgQSB7Ci0gIC8qIGYxICovIHZvaWQgZihE
T01TdHJpbmcgYSk7Ci0gIC8qIGYyICovIHZvaWQgZihbQWxsb3dBbnldIERPTVN0cmluZyBhLCBE
T01TdHJpbmcgYiwgZmxvYXQuLi4gYyk7Ci0gIC8qIGYzICovIHZvaWQgZigpOwotICAvKiBmNCAq
LyB2b2lkIGYobG9uZyBhLCBET01TdHJpbmcgYiwgb3B0aW9uYWwgRE9NU3RyaW5nIGMsIGZsb2F0
Li4uIGQpOwotfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
d2lkbHByb2MvdGVzdC92YWxpZC9pZGwvb3ZlcnJpZGVidWlsdGlucy53aWRsCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9vdmVycmlkZWJ1aWx0aW5zLndp
ZGwJKHJldmlzaW9uIDI1Mjg5NikKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lk
bC9vdmVycmlkZWJ1aWx0aW5zLndpZGwJKG5vbmV4aXN0ZW50KQpAQCAtMSw2ICswLDAgQEAKLS8v
IEV4dHJhY3RlZCBmcm9tIGh0dHA6Ly9kZXYudzMub3JnLzIwMDYvd2ViYXBpL1dlYklETC8gb24g
MjAxMS0wNS0wNgotW092ZXJyaWRlQnVpbHRpbnNdCi1pbnRlcmZhY2UgU3RyaW5nTWFwMiB7Ci0g
IHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxlbmd0aDsKLSAgZ2V0dGVyIERPTVN0
cmluZyBsb29rdXAoRE9NU3RyaW5nIGtleSk7Ci19OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9wYXJ0aWFsLWludGVy
ZmFjZS53aWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lk
bC9wYXJ0aWFsLWludGVyZmFjZS53aWRsCShyZXZpc2lvbiAyNTI4OTYpCisrKyBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
d2lkbHByb2MvdGVzdC92YWxpZC9pZGwvcGFydGlhbC1pbnRlcmZhY2Uud2lkbAkobm9uZXhpc3Rl
bnQpCkBAIC0xLDcgKzAsMCBAQAotaW50ZXJmYWNlIEZvbyB7Ci0gIGF0dHJpYnV0ZSBET01TdHJp
bmcgYmFyOwotfTsKLQotcGFydGlhbCBpbnRlcmZhY2UgRm9vIHsKLSAgYXR0cmlidXRlIERPTVN0
cmluZyBxdXV4OwotfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvcHJpbWl0aXZlcy53aWRsCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9wcmltaXRpdmVzLndpZGwJKHJldmlz
aW9uIDI1Mjg5NikKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9wcmltaXRp
dmVzLndpZGwJKG5vbmV4aXN0ZW50KQpAQCAtMSwxOSArMCwwIEBACi1pbnRlcmZhY2UgUHJpbWl0
aXZlcyB7Ci0gIGF0dHJpYnV0ZSBib29sZWFuIHRydXRoOwotICBhdHRyaWJ1dGUgYnl0ZSBjaGFy
YWN0ZXI7Ci0gIGF0dHJpYnV0ZSBvY3RldCB2YWx1ZTsKLSAgYXR0cmlidXRlIHNob3J0IG51bWJl
cjsKLSAgYXR0cmlidXRlIHVuc2lnbmVkIHNob3J0IHBvc2l0aXZlOwotICBhdHRyaWJ1dGUgbG9u
ZyBiaWc7Ci0gIGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGJpZ3Bvc2l0aXZlOwotICBhdHRyaWJ1
dGUgbG9uZyBsb25nIGJpZ2JpZzsKLSAgYXR0cmlidXRlICB1bnNpZ25lZCBsb25nIGxvbmcgYmln
YmlncG9zaXRpdmU7Ci0gIGF0dHJpYnV0ZSBmbG9hdCByZWFsOwotICBhdHRyaWJ1dGUgZG91Ymxl
IGJpZ3JlYWw7IAotICBhdHRyaWJ1dGUgdW5yZXN0cmljdGVkIGZsb2F0IHJlYWx3aXRoaW5maW5p
dHk7Ci0gIGF0dHJpYnV0ZSB1bnJlc3RyaWN0ZWQgZG91YmxlIGJpZ3JlYWx3aXRoaW5maW5pdHk7
IAotICBhdHRyaWJ1dGUgRE9NU3RyaW5nIHN0cmluZzsgCi0gIGF0dHJpYnV0ZSBCeXRlU3RyaW5n
IGJ5dGVzOyAKLSAgYXR0cmlidXRlIERhdGUgZGF0ZTsKLSAgYXR0cmlidXRlIFJlZ0V4cCByZWdl
eHA7Ci19OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRs
cHJvYy90ZXN0L3ZhbGlkL2lkbC9wcm90b3R5cGVyb290LndpZGwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3Byb3RvdHlwZXJvb3Qud2lkbAkocmV2aXNp
b24gMjUyODk2KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3Byb3RvdHlw
ZXJvb3Qud2lkbAkobm9uZXhpc3RlbnQpCkBAIC0xLDUgKzAsMCBAQAotLy8gRXh0cmFjdGVkIGZy
b20gaHR0cDovL2Rldi53My5vcmcvMjAwNi93ZWJhcGkvV2ViSURMLyBvbiAyMDExLTA1LTA2Ci1b
UHJvdG90eXBlUm9vdF0KLWludGVyZmFjZSBOb2RlIHsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIHVu
c2lnbmVkIHNob3J0IG5vZGVUeXBlOwotfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCklu
ZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvcHV0Zm9yd2FyZHMud2lkbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvcHV0Zm9yd2Fy
ZHMud2lkbAkocmV2aXNpb24gMjUyODk2KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFs
aWQvaWRsL3B1dGZvcndhcmRzLndpZGwJKG5vbmV4aXN0ZW50KQpAQCAtMSw1ICswLDAgQEAKLS8v
IEV4dHJhY3RlZCBmcm9tIGh0dHA6Ly9kZXYudzMub3JnLzIwMDYvd2ViYXBpL1dlYklETC8gb24g
MjAxMS0wNS0wNgotaW50ZXJmYWNlIFBlcnNvbiB7Ci0gIFtQdXRGb3J3YXJkcz1mdWxsXSByZWFk
b25seSBhdHRyaWJ1dGUgTmFtZSBuYW1lOwotICBhdHRyaWJ1dGUgdW5zaWduZWQgc2hvcnQgYWdl
OwotfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHBy
b2MvdGVzdC92YWxpZC9pZGwvcmVnLW9wZXJhdGlvbnMud2lkbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvcmVnLW9wZXJhdGlvbnMud2lkbAkocmV2aXNp
b24gMjUyODk2KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3JlZy1vcGVy
YXRpb25zLndpZGwJKG5vbmV4aXN0ZW50KQpAQCAtMSwxNyArMCwwIEBACi0vLyBFeHRyYWN0ZWQg
ZnJvbSBodHRwOi8vZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJJREwvIG9uIDIwMTEtMDUtMDYK
LWludGVyZmFjZSBEaW1lbnNpb25zIHsKLSAgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgd2lkdGg7
Ci0gIGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGhlaWdodDsKLX07Ci0KLWV4Y2VwdGlvbiBOb1Bv
aW50ZXJEZXZpY2UgeyB9OwotCi1pbnRlcmZhY2UgQnV0dG9uIHsKLQotICAvLyBBbiBvcGVyYXRp
b24gdGhhdCB0YWtlcyBubyBhcmd1bWVudHMsIHJldHVybnMgYSBib29sZWFuCi0gIGJvb2xlYW4g
aXNNb3VzZU92ZXIoKTsKLQotICAvLyBPdmVybG9hZGVkIG9wZXJhdGlvbnMuCi0gIHZvaWQgc2V0
RGltZW5zaW9ucyhEaW1lbnNpb25zIHNpemUpOwotICB2b2lkIHNldERpbWVuc2lvbnModW5zaWdu
ZWQgbG9uZyB3aWR0aCwgdW5zaWduZWQgbG9uZyBoZWlnaHQpOwotfTsKXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvcmVw
bGFjZWFibGUud2lkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxp
ZC9pZGwvcmVwbGFjZWFibGUud2lkbAkocmV2aXNpb24gMjUyODk2KQorKysgTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dp
ZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3JlcGxhY2VhYmxlLndpZGwJKG5vbmV4aXN0ZW50KQpAQCAt
MSw1ICswLDAgQEAKLS8vIEV4dHJhY3RlZCBmcm9tIGh0dHA6Ly9kZXYudzMub3JnLzIwMDYvd2Vi
YXBpL1dlYklETC8gb24gMjAxMS0wNS0wNgotaW50ZXJmYWNlIENvdW50ZXIgewotICBbUmVwbGFj
ZWFibGVdIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIHZhbHVlOwotICB2b2lkIGlu
Y3JlbWVudCgpOwotfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvc2VxdWVuY2Uud2lkbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvc2VxdWVuY2Uud2lkbAkocmV2aXNpb24g
MjUyODk2KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3NlcXVlbmNlLndp
ZGwJKG5vbmV4aXN0ZW50KQpAQCAtMSw3ICswLDAgQEAKLS8vIEV4dHJhY3RlZCBmcm9tIGh0dHA6
Ly9kZXYudzMub3JnLzIwMDYvd2ViYXBpL1dlYklETC8gb24gMjAxMS0wNS0wNgotLy8gZWRpdGVk
IHRvIHJlbW92ZSBzZXF1ZW5jZSBhcyBhdHRyaWJ1dGVzLCBub3cgaW52YWxpZAotaW50ZXJmYWNl
IENhbnZhcyB7Ci0gIHZvaWQgZHJhd1BvbHlnb24oc2VxdWVuY2U8ZmxvYXQ+IGNvb3JkaW5hdGVz
KTsKLSAgc2VxdWVuY2U8ZmxvYXQ+IGdldEluZmxlY3Rpb25Qb2ludHMoKTsKLSAgLy8gLi4uCi19
OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90
ZXN0L3ZhbGlkL2lkbC9zZXJpYWxpemVyLndpZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dp
ZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3NlcmlhbGl6ZXIud2lkbAkocmV2aXNpb24gMjUyODk2KQor
KysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3NlcmlhbGl6ZXIud2lkbAkobm9u
ZXhpc3RlbnQpCkBAIC0xLDY0ICswLDAgQEAKLWludGVyZmFjZSBUcmFuc2FjdGlvbiB7Ci0gIHJl
YWRvbmx5IGF0dHJpYnV0ZSBBY2NvdW50IGZyb207Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSBBY2Nv
dW50IHRvOwotICByZWFkb25seSBhdHRyaWJ1dGUgZmxvYXQgYW1vdW50OwotICByZWFkb25seSBh
dHRyaWJ1dGUgRE9NU3RyaW5nIGRlc2NyaXB0aW9uOwotICByZWFkb25seSBhdHRyaWJ1dGUgdW5z
aWduZWQgbG9uZyBudW1iZXI7Ci0KLSAgc2VyaWFsaXplcjsKLX07Ci0KLWludGVyZmFjZSBBY2Nv
dW50IHsKLSAgYXR0cmlidXRlIERPTVN0cmluZyBuYW1lOwotICBhdHRyaWJ1dGUgdW5zaWduZWQg
bG9uZyBudW1iZXI7Ci0gIHNlcmlhbGl6ZXIgRE9NU3RyaW5nIHNlcmlhbGl6ZSgpOwotfTsKLQot
aW50ZXJmYWNlIFRyYW5zYWN0aW9uMiB7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSBBY2NvdW50MiBm
cm9tOwotICByZWFkb25seSBhdHRyaWJ1dGUgQWNjb3VudDIgdG87Ci0gIHJlYWRvbmx5IGF0dHJp
YnV0ZSBmbG9hdCBhbW91bnQ7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgZGVzY3Jp
cHRpb247Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIG51bWJlcjsKLQotICBz
ZXJpYWxpemVyID0geyBmcm9tLCB0bywgYW1vdW50LCBkZXNjcmlwdGlvbiB9OwotfTsKLQotaW50
ZXJmYWNlIEFjY291bnQyIHsKLSAgYXR0cmlidXRlIERPTVN0cmluZyBuYW1lOwotICBhdHRyaWJ1
dGUgdW5zaWduZWQgbG9uZyBudW1iZXI7Ci0gIHNlcmlhbGl6ZXIgPSBudW1iZXI7Ci19OwotCi1p
bnRlcmZhY2UgQWNjb3VudDMgewotICBhdHRyaWJ1dGUgRE9NU3RyaW5nIG5hbWU7Ci0gIGF0dHJp
YnV0ZSB1bnNpZ25lZCBsb25nIG51bWJlcjsKLQotICBzZXJpYWxpemVyID0geyBhdHRyaWJ1dGUg
fTsKLX07Ci0KLWludGVyZmFjZSBBY2NvdW50NCB7Ci0gIGdldHRlciBvYmplY3QgZ2V0SXRlbSh1
bnNpZ25lZCBsb25nIGluZGV4KTsKLSAgc2VyaWFsaXplciA9IHsgZ2V0dGVyIH07Ci19OwotCi1p
bnRlcmZhY2UgQWNjb3VudDUgOiBBY2NvdW50IHsKLSAgYXR0cmlidXRlIERPTVN0cmluZyBzZWNv
bmRuYW1lOwotICBzZXJpYWxpemVyID0geyBpbmhlcml0LCBzZWNvbmRuYW1lIH07Ci19OwotCi1p
bnRlcmZhY2UgQWNjb3VudDYgOiBBY2NvdW50IHsKLSAgYXR0cmlidXRlIERPTVN0cmluZyBzZWNv
bmRuYW1lOwotICBzZXJpYWxpemVyID0geyBpbmhlcml0LCBhdHRyaWJ1dGUgfTsKLX07Ci0KLWlu
dGVyZmFjZSBBY2NvdW50NyB7Ci0gIGF0dHJpYnV0ZSBET01TdHJpbmcgbmFtZTsKLSAgYXR0cmli
dXRlIHVuc2lnbmVkIGxvbmcgbnVtYmVyOwotICBzZXJpYWxpemVyID0gWyBuYW1lLCBudW1iZXIg
XTsKLX07Ci0KLWludGVyZmFjZSBBY2NvdW50OCB7Ci0gIGdldHRlciBvYmplY3QgZ2V0SXRlbSh1
bnNpZ25lZCBsb25nIGluZGV4KTsKLSAgc2VyaWFsaXplciA9IFsgZ2V0dGVyIF07Ci19OwpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3Zh
bGlkL2lkbC9zdGF0aWMud2lkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVz
dC92YWxpZC9pZGwvc3RhdGljLndpZGwJKHJldmlzaW9uIDI1Mjg5NikKKysrIExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93
aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9zdGF0aWMud2lkbAkobm9uZXhpc3RlbnQpCkBAIC0xLDEx
ICswLDAgQEAKLS8vIEV4dHJhY3RlZCBmcm9tIGh0dHA6Ly9kZXYudzMub3JnLzIwMDYvd2ViYXBp
L1dlYklETC8gb24gMjAxMS0wNS0wNgotaW50ZXJmYWNlIFBvaW50IHsgLyogLi4uICovIH07Ci0K
LWludGVyZmFjZSBDaXJjbGUgewotICBhdHRyaWJ1dGUgZmxvYXQgY3g7Ci0gIGF0dHJpYnV0ZSBm
bG9hdCBjeTsKLSAgYXR0cmlidXRlIGZsb2F0IHJhZGl1czsKLQotICBzdGF0aWMgcmVhZG9ubHkg
YXR0cmlidXRlIGxvbmcgdHJpYW5ndWxhdGlvbkNvdW50OwotICBzdGF0aWMgUG9pbnQgdHJpYW5n
dWxhdGUoQ2lyY2xlIGMxLCBDaXJjbGUgYzIsIENpcmNsZSBjMyk7Ci19OwpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9z
dHJpbmdpZmllci1hdHRyaWJ1dGUud2lkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHBy
b2MvdGVzdC92YWxpZC9pZGwvc3RyaW5naWZpZXItYXR0cmlidXRlLndpZGwJKHJldmlzaW9uIDI1
Mjg5NikKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9zdHJpbmdpZmllci1h
dHRyaWJ1dGUud2lkbAkobm9uZXhpc3RlbnQpCkBAIC0xLDYgKzAsMCBAQAotLy8gRXh0cmFjdGVk
IGZyb20gaHR0cDovL2Rldi53My5vcmcvMjAwNi93ZWJhcGkvV2ViSURMLyBvbiAyMDExLTA1LTA2
Ci1bQ29uc3RydWN0b3JdCi1pbnRlcmZhY2UgU3R1ZGVudCB7Ci0gIGF0dHJpYnV0ZSB1bnNpZ25l
ZCBsb25nIGlkOwotICBzdHJpbmdpZmllciBhdHRyaWJ1dGUgRE9NU3RyaW5nIG5hbWU7Ci19Owpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0
L3ZhbGlkL2lkbC9zdHJpbmdpZmllci1jdXN0b20ud2lkbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvc3RyaW5naWZpZXItY3VzdG9tLndpZGwJKHJldmlz
aW9uIDI1Mjg5NikKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9zdHJpbmdp
Zmllci1jdXN0b20ud2lkbAkobm9uZXhpc3RlbnQpCkBAIC0xLDkgKzAsMCBAQAotLy8gRXh0cmFj
dGVkIGZyb20gaHR0cDovL2Rldi53My5vcmcvMjAwNi93ZWJhcGkvV2ViSURMLyBvbiAyMDExLTA1
LTA2Ci1bQ29uc3RydWN0b3JdCi1pbnRlcmZhY2UgU3R1ZGVudCB7Ci0gIGF0dHJpYnV0ZSB1bnNp
Z25lZCBsb25nIGlkOwotICBhdHRyaWJ1dGUgRE9NU3RyaW5nPyBmYW1pbHlOYW1lOwotICBhdHRy
aWJ1dGUgRE9NU3RyaW5nIGdpdmVuTmFtZTsKLQotICBzdHJpbmdpZmllciBET01TdHJpbmcgKCk7
Ci19OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJv
Yy90ZXN0L3ZhbGlkL2lkbC9zdHJpbmdpZmllci53aWRsCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9zdHJpbmdpZmllci53aWRsCShyZXZpc2lvbiAyNTI4
OTYpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvc3RyaW5naWZpZXIud2lk
bAkobm9uZXhpc3RlbnQpCkBAIC0xLDggKzAsMCBAQAotLy8gRXh0cmFjdGVkIGZyb20gaHR0cDov
L2Rldi53My5vcmcvMjAwNi93ZWJhcGkvV2ViSURMLyBvbiAyMDExLTA1LTA2Ci1pbnRlcmZhY2Ug
QSB7Ci0gIHN0cmluZ2lmaWVyIERPTVN0cmluZyAoKTsKLX07Ci0KLWludGVyZmFjZSBBIHsKLSAg
c3RyaW5naWZpZXI7Ci19OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC90cmVhdGFzbnVsbC53aWRsCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC90cmVhdGFzbnVsbC53aWRsCShy
ZXZpc2lvbiAyNTI4OTYpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvdHJl
YXRhc251bGwud2lkbAkobm9uZXhpc3RlbnQpCkBAIC0xLDcgKzAsMCBAQAotLy8gRXh0cmFjdGVk
IGZyb20gaHR0cDovL2Rldi53My5vcmcvMjAwNi93ZWJhcGkvV2ViSURMLyBvbiAyMDExLTA1LTA2
Ci1pbnRlcmZhY2UgRG9nIHsKLSAgYXR0cmlidXRlIERPTVN0cmluZyBuYW1lOwotICBhdHRyaWJ1
dGUgRE9NU3RyaW5nIG93bmVyOwotCi0gIGJvb2xlYW4gaXNNZW1iZXJPZkJyZWVkKFtUcmVhdE51
bGxBcz1FbXB0eVN0cmluZ10gRE9NU3RyaW5nIGJyZWVkTmFtZSk7Ci19OwpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC90
cmVhdGFzdW5kZWZpbmVkLndpZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rl
c3QvdmFsaWQvaWRsL3RyZWF0YXN1bmRlZmluZWQud2lkbAkocmV2aXNpb24gMjUyODk2KQorKysg
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3RyZWF0YXN1bmRlZmluZWQud2lkbAko
bm9uZXhpc3RlbnQpCkBAIC0xLDcgKzAsMCBAQAotLy8gRXh0cmFjdGVkIGZyb20gaHR0cDovL2Rl
di53My5vcmcvMjAwNi93ZWJhcGkvV2ViSURMLyBvbiAyMDExLTA1LTA2Ci1pbnRlcmZhY2UgQ2F0
IHsKLSAgYXR0cmlidXRlIERPTVN0cmluZyBuYW1lOwotICBhdHRyaWJ1dGUgRE9NU3RyaW5nIG93
bmVyOwotCi0gIGJvb2xlYW4gaXNNZW1iZXJPZkJyZWVkKFtUcmVhdFVuZGVmaW5lZEFzPUVtcHR5
U3RyaW5nXSBET01TdHJpbmcgYnJlZWROYW1lKTsKLX07ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3R5cGVkZWYud2lk
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvdHlwZWRl
Zi53aWRsCShyZXZpc2lvbiAyNTI4OTYpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxp
ZC9pZGwvdHlwZWRlZi53aWRsCShub25leGlzdGVudCkKQEAgLTEsMjIgKzAsMCBAQAotLy8gRXh0
cmFjdGVkIGZyb20gaHR0cDovL2Rldi53My5vcmcvMjAwNi93ZWJhcGkvV2ViSURMLyBvbiAyMDEx
LTA1LTA2Ci0gICAgICBpbnRlcmZhY2UgUG9pbnQgewotICAgICAgICBhdHRyaWJ1dGUgZmxvYXQg
eDsKLSAgICAgICAgYXR0cmlidXRlIGZsb2F0IHk7Ci0gICAgICB9OwotCi0gICAgICB0eXBlZGVm
IHNlcXVlbmNlPFBvaW50PiBQb2ludFNlcXVlbmNlOwotCi0gICAgICBpbnRlcmZhY2UgUmVjdCB7
Ci0gICAgICAgIGF0dHJpYnV0ZSBQb2ludCB0b3BsZWZ0OwotICAgICAgICBhdHRyaWJ1dGUgUG9p
bnQgYm90dG9tcmlnaHQ7Ci0gICAgICB9OwotCi0gIGludGVyZmFjZSBXaWRnZXQgewotCi0gICAg
cmVhZG9ubHkgYXR0cmlidXRlIFJlY3QgYm91bmRzOwotCi0gICAgYm9vbGVhbiBwb2ludFdpdGhp
bkJvdW5kcyhQb2ludCBwKTsKLSAgICBib29sZWFuIGFsbFBvaW50c1dpdGhpbkJvdW5kcyhQb2lu
dFNlcXVlbmNlIHBzKTsKLSAgfTsKLQotICB0eXBlZGVmIFtDbGFtcF0gb2N0ZXQgdmFsdWU7Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3Qv
dmFsaWQvaWRsL3R5cGVzdWZmaXhlcy53aWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRs
cHJvYy90ZXN0L3ZhbGlkL2lkbC90eXBlc3VmZml4ZXMud2lkbAkocmV2aXNpb24gMjUyODk2KQor
KysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3R5cGVzdWZmaXhlcy53aWRsCShu
b25leGlzdGVudCkKQEAgLTEsMyArMCwwIEBACi1pbnRlcmZhY2UgU3VmZml4ZXMgewotICB2b2lk
IHRlc3Qoc2VxdWVuY2U8RE9NU3RyaW5nW10/Pj8gZm9vKTsKLX07CkluZGV4OiBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
d2lkbHByb2MvdGVzdC92YWxpZC9pZGwvdW5pb250eXBlLndpZGwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3VuaW9udHlwZS53aWRsCShyZXZpc2lvbiAy
NTI4OTYpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvdW5pb250eXBlLndp
ZGwJKG5vbmV4aXN0ZW50KQpAQCAtMSwzICswLDAgQEAKLWludGVyZmFjZSBVbmlvbiB7Ci0gYXR0
cmlidXRlIChmbG9hdCBvciAoRGF0ZSBvciBFdmVudCkgb3IgKE5vZGUgb3IgRE9NU3RyaW5nKT8p
IHRlc3Q7Ci19OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93
aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC92YXJpYWRpYy1vcGVyYXRpb25zLndpZGwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3ZhcmlhZGljLW9wZXJhdGlv
bnMud2lkbAkocmV2aXNpb24gMjUyODk2KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFs
aWQvaWRsL3ZhcmlhZGljLW9wZXJhdGlvbnMud2lkbAkobm9uZXhpc3RlbnQpCkBAIC0xLDcgKzAs
MCBAQAotLy8gRXh0cmFjdGVkIGZyb20gaHR0cDovL2Rldi53My5vcmcvMjAwNi93ZWJhcGkvV2Vi
SURMLyBvbiAyMDExLTA1LTA2Ci1pbnRlcmZhY2UgSW50ZWdlclNldCB7Ci0gIHJlYWRvbmx5IGF0
dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGNhcmRpbmFsaXR5OwotCi0gIHZvaWQgdW5pb24obG9uZy4u
LiBpbnRzKTsKLSAgdm9pZCBpbnRlcnNlY3Rpb24obG9uZy4uLiBpbnRzKTsKLX07ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQv
aWRsL3czYy1pbXBvcnQubG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0
L3ZhbGlkL2lkbC93M2MtaW1wb3J0LmxvZwkocmV2aXNpb24gMjUyODk2KQorKysgTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3czYy1pbXBvcnQubG9nCShub25leGlzdGVudCkKQEAg
LTEsNjQgKzAsMCBAQAotVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQg
ZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCi1EbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVj
dGx5IGluIFdlYktpdC4KLUluc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgVzND
IENTUyBvciBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0aHViLmNvbS93M2MvY3Nzd2ctdGVzdAot
CWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCi0KLVRoZW4gcnVuIHRo
ZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0Ci0K
LURvIE5PVCBtb2RpZnkgb3IgcmVtb3ZlIHRoaXMgZmlsZS4KLQotLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1Q
cm9wZXJ0aWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6Ci1Ob25lCi1Qcm9wZXJ0eSB2YWx1
ZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKLU5vbmUKLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotTGlz
dCBvZiBmaWxlczoKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvYWxsb3dhbnku
d2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9hcnJheS53aWRsCi0vTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL2F0dHJpYnV0ZXMud2lkbAotL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9jYWxsYmFjay53aWRsCi0vTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxw
cm9jL3Rlc3QvdmFsaWQvaWRsL2NhbGxlci53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3Qv
dmFsaWQvaWRsL2NvbnN0YW50cy53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQv
aWRsL2NvbnN0cnVjdG9yLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwv
ZGljdGlvbmFyeS1pbmhlcml0cy53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQv
aWRsL2RpY3Rpb25hcnkud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9k
b2N1bWVudGF0aW9uLWRvcy53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRs
L2RvY3VtZW50YXRpb24ud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9l
bnVtLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvZXF1aXZhbGVudC1k
ZWNsLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvZXhjZXB0aW9uLWlu
aGVyaXRhbmNlLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvZXhjZXB0
aW9uLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvZ2V0dGVyLXNldHRl
ci53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL2lkZW50aWZpZXItcXVh
bGlmaWVkLW5hbWVzLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvaW1w
bGVtZW50cy53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL2luZGV4ZWQt
cHJvcGVydGllcy53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL2luaGVy
aXRzLWdldHRlci53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL2ludGVy
ZmFjZS1pbmhlcml0cy53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL2l0
ZXJhdG9yLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvbmFtZWRjb25z
dHJ1Y3Rvci53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL25vaW50ZXJm
YWNlb2JqZWN0LndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvbnVsbGFi
bGUud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9udWxsYWJsZW9iamVj
dHMud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9vcGVyYXRpb24tb3B0
aW9uYWwtYXJnLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvb3Zlcmxv
YWRpbmcud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9vdmVycmlkZWJ1
aWx0aW5zLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvcGFydGlhbC1p
bnRlcmZhY2Uud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9wcmltaXRp
dmVzLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvcHJvdG90eXBlcm9v
dC53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3B1dGZvcndhcmRzLndp
ZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvcmVnLW9wZXJhdGlvbnMud2lk
bAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9yZXBsYWNlYWJsZS53aWRsCi0v
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3NlcXVlbmNlLndpZGwKLS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvc2VyaWFsaXplci53aWRsCi0vTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dp
ZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3N0YXRpYy53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rl
c3QvdmFsaWQvaWRsL3N0cmluZ2lmaWVyLWF0dHJpYnV0ZS53aWRsCi0vTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxw
cm9jL3Rlc3QvdmFsaWQvaWRsL3N0cmluZ2lmaWVyLWN1c3RvbS53aWRsCi0vTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dp
ZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3N0cmluZ2lmaWVyLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHBy
b2MvdGVzdC92YWxpZC9pZGwvdHJlYXRhc251bGwud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90
ZXN0L3ZhbGlkL2lkbC90cmVhdGFzdW5kZWZpbmVkLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mv
dGVzdC92YWxpZC9pZGwvdHlwZWRlZi53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFs
aWQvaWRsL3R5cGVzdWZmaXhlcy53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQv
aWRsL3VuaW9udHlwZS53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3Zh
cmlhZGljLW9wZXJhdGlvbnMud2lkbApJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFs
aWQveG1sL2FsbG93YW55LndpZGxwcm9jeG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRs
cHJvYy90ZXN0L3ZhbGlkL3htbC9hbGxvd2FueS53aWRscHJvY3htbAkocmV2aXNpb24gMjUyODk2
KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL2FsbG93YW55LndpZGxwcm9j
eG1sCShub25leGlzdGVudCkKQEAgLTEsNDQgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBl
bmNvZGluZz0iVVRGLTgiPz4KLTwhRE9DVFlQRSBEZWZpbml0aW9ucyBTWVNURU0gIndpZGxwcm9j
eG1sLmR0ZCI+Ci08RGVmaW5pdGlvbnM+Ci0gIDx3ZWJpZGw+aW50ZXJmYWNlIEIgewotICB2b2lk
IGcoKTsKLSAgdm9pZCBnKDxyZWY+QjwvcmVmPiBiKTsKLSAgdm9pZCBnKFtBbGxvd0FueV0gRE9N
U3RyaW5nIHMpOwotfTs8L3dlYmlkbD4KLSAgPEludGVyZmFjZSBuYW1lPSJCIiBpZD0iOjpCIj4K
LSAgICA8d2ViaWRsPmludGVyZmFjZSBCIHsKLSAgdm9pZCBnKCk7Ci0gIHZvaWQgZyg8cmVmPkI8
L3JlZj4gYik7Ci0gIHZvaWQgZyhbQWxsb3dBbnldIERPTVN0cmluZyBzKTsKLX07PC93ZWJpZGw+
Ci0gICAgPE9wZXJhdGlvbiBuYW1lPSJnIiBpZD0iOjpCOjpnIj4KLSAgICAgIDx3ZWJpZGw+ICB2
b2lkIGcoKTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9InZvaWQiLz4KLSAgICAgIDxBcmd1
bWVudExpc3QvPgotICAgIDwvT3BlcmF0aW9uPgotICAgIDxPcGVyYXRpb24gbmFtZT0iZyIgaWQ9
Ijo6Qjo6ZyI+Ci0gICAgICA8d2ViaWRsPiAgdm9pZCBnKDxyZWY+QjwvcmVmPiBiKTs8L3dlYmlk
bD4KLSAgICAgIDxUeXBlIHR5cGU9InZvaWQiLz4KLSAgICAgIDxBcmd1bWVudExpc3Q+Ci0gICAg
ICAgIDxBcmd1bWVudCBuYW1lPSJiIj4KLSAgICAgICAgICA8VHlwZSBuYW1lPSJCIi8+Ci0gICAg
ICAgIDwvQXJndW1lbnQ+Ci0gICAgICA8L0FyZ3VtZW50TGlzdD4KLSAgICA8L09wZXJhdGlvbj4K
LSAgICA8T3BlcmF0aW9uIG5hbWU9ImciIGlkPSI6OkI6OmciPgotICAgICAgPHdlYmlkbD4gIHZv
aWQgZyhbQWxsb3dBbnldIERPTVN0cmluZyBzKTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9
InZvaWQiLz4KLSAgICAgIDxBcmd1bWVudExpc3Q+Ci0gICAgICAgIDxBcmd1bWVudCBuYW1lPSJz
Ij4KLSAgICAgICAgICA8RXh0ZW5kZWRBdHRyaWJ1dGVMaXN0PgotICAgICAgICAgICAgPEV4dGVu
ZGVkQXR0cmlidXRlIG5hbWU9IkFsbG93QW55Ij4KLSAgICAgICAgICAgICAgPHdlYmlkbD5BbGxv
d0FueTwvd2ViaWRsPgotICAgICAgICAgICAgPC9FeHRlbmRlZEF0dHJpYnV0ZT4KLSAgICAgICAg
ICA8L0V4dGVuZGVkQXR0cmlidXRlTGlzdD4KLSAgICAgICAgICA8VHlwZSB0eXBlPSJET01TdHJp
bmciLz4KLSAgICAgICAgPC9Bcmd1bWVudD4KLSAgICAgIDwvQXJndW1lbnRMaXN0PgotICAgIDwv
T3BlcmF0aW9uPgotICA8L0ludGVyZmFjZT4KLTwvRGVmaW5pdGlvbnM+CkluZGV4OiBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvYXJyYXkud2lkbHByb2N4bWwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL2FycmF5LndpZGxwcm9jeG1sCShy
ZXZpc2lvbiAyNTI4OTYpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvYXJy
YXkud2lkbHByb2N4bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwyNyArMCwwIEBACi08P3htbCB2ZXJz
aW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgotPCFET0NUWVBFIERlZmluaXRpb25zIFNZU1RF
TSAid2lkbHByb2N4bWwuZHRkIj4KLTxEZWZpbml0aW9ucz4KLSAgPHdlYmlkbD5bQ29uc3RydWN0
b3JdCi1pbnRlcmZhY2UgTG90dGVyeVJlc3VsdHMgewotICByZWFkb25seSBhdHRyaWJ1dGUgdW5z
aWduZWQgc2hvcnRbXVtdIG51bWJlcnM7Ci19Ozwvd2ViaWRsPgotICA8SW50ZXJmYWNlIG5hbWU9
IkxvdHRlcnlSZXN1bHRzIiBpZD0iOjpMb3R0ZXJ5UmVzdWx0cyI+Ci0gICAgPHdlYmlkbD5bQ29u
c3RydWN0b3JdCi1pbnRlcmZhY2UgTG90dGVyeVJlc3VsdHMgewotICByZWFkb25seSBhdHRyaWJ1
dGUgdW5zaWduZWQgc2hvcnRbXVtdIG51bWJlcnM7Ci19Ozwvd2ViaWRsPgotICAgIDxFeHRlbmRl
ZEF0dHJpYnV0ZUxpc3Q+Ci0gICAgICA8RXh0ZW5kZWRBdHRyaWJ1dGUgbmFtZT0iQ29uc3RydWN0
b3IiPgotICAgICAgICA8d2ViaWRsPkNvbnN0cnVjdG9yPC93ZWJpZGw+Ci0gICAgICA8L0V4dGVu
ZGVkQXR0cmlidXRlPgotICAgIDwvRXh0ZW5kZWRBdHRyaWJ1dGVMaXN0PgotICAgIDxBdHRyaWJ1
dGUgcmVhZG9ubHk9InJlYWRvbmx5IiBuYW1lPSJudW1iZXJzIiBpZD0iOjpMb3R0ZXJ5UmVzdWx0
czo6bnVtYmVycyI+Ci0gICAgICA8d2ViaWRsPiAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVk
IHNob3J0W11bXSBudW1iZXJzOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0iYXJyYXkiPgot
ICAgICAgICA8VHlwZSB0eXBlPSJhcnJheSI+Ci0gICAgICAgICAgPFR5cGUgdHlwZT0idW5zaWdu
ZWQgc2hvcnQiLz4KLSAgICAgICAgPC9UeXBlPgotICAgICAgPC9UeXBlPgotICAgIDwvQXR0cmli
dXRlPgotICA8L0ludGVyZmFjZT4KLTwvRGVmaW5pdGlvbnM+CkluZGV4OiBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lk
bHByb2MvdGVzdC92YWxpZC94bWwvYXR0cmlidXRlcy53aWRscHJvY3htbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvYXR0cmlidXRlcy53aWRscHJvY3ht
bAkocmV2aXNpb24gMjUyODk2KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1s
L2F0dHJpYnV0ZXMud2lkbHByb2N4bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwzOCArMCwwIEBACi08
P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgotPCFET0NUWVBFIERlZmluaXRp
b25zIFNZU1RFTSAid2lkbHByb2N4bWwuZHRkIj4KLTxEZWZpbml0aW9ucz4KLSAgPHdlYmlkbD5l
eGNlcHRpb24gSW52YWxpZE5hbWUgewotICBET01TdHJpbmcgcmVhc29uOwotfTsKLQotZXhjZXB0
aW9uIE5vU3VjaFBldCB7IH07Ci0KLWludGVyZmFjZSBQZXJzb24gewotCi0gIGF0dHJpYnV0ZSB1
bnNpZ25lZCBzaG9ydCBhZ2U7Ci0KLX07PC93ZWJpZGw+Ci0gIDxFeGNlcHRpb24gbmFtZT0iSW52
YWxpZE5hbWUiIGlkPSI6OkludmFsaWROYW1lIj4KLSAgICA8d2ViaWRsPmV4Y2VwdGlvbiBJbnZh
bGlkTmFtZSB7Ci0gIERPTVN0cmluZyByZWFzb247Ci19Ozwvd2ViaWRsPgotICAgIDxFeGNlcHRp
b25GaWVsZCBuYW1lPSJyZWFzb24iIGlkPSI6OkludmFsaWROYW1lOjpyZWFzb24iPgotICAgICAg
PHdlYmlkbD4gIERPTVN0cmluZyByZWFzb247PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJE
T01TdHJpbmciLz4KLSAgICA8L0V4Y2VwdGlvbkZpZWxkPgotICA8L0V4Y2VwdGlvbj4KLSAgPEV4
Y2VwdGlvbiBuYW1lPSJOb1N1Y2hQZXQiIGlkPSI6Ok5vU3VjaFBldCI+Ci0gICAgPHdlYmlkbD5l
eGNlcHRpb24gTm9TdWNoUGV0IHsgfTs8L3dlYmlkbD4KLSAgPC9FeGNlcHRpb24+Ci0gIDxJbnRl
cmZhY2UgbmFtZT0iUGVyc29uIiBpZD0iOjpQZXJzb24iPgotICAgIDx3ZWJpZGw+aW50ZXJmYWNl
IFBlcnNvbiB7Ci0KLSAgYXR0cmlidXRlIHVuc2lnbmVkIHNob3J0IGFnZTsKLQotfTs8L3dlYmlk
bD4KLSAgICA8QXR0cmlidXRlIG5hbWU9ImFnZSIgaWQ9Ijo6UGVyc29uOjphZ2UiPgotICAgICAg
PHdlYmlkbD4gIGF0dHJpYnV0ZSB1bnNpZ25lZCBzaG9ydCBhZ2U7PC93ZWJpZGw+Ci0gICAgICA8
VHlwZSB0eXBlPSJ1bnNpZ25lZCBzaG9ydCIvPgotICAgIDwvQXR0cmlidXRlPgotICA8L0ludGVy
ZmFjZT4KLTwvRGVmaW5pdGlvbnM+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxp
ZC94bWwvY2FsbGJhY2sud2lkbHByb2N4bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxw
cm9jL3Rlc3QvdmFsaWQveG1sL2NhbGxiYWNrLndpZGxwcm9jeG1sCShyZXZpc2lvbiAyNTI4OTYp
CisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvY2FsbGJhY2sud2lkbHByb2N4
bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwzMiArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVu
Y29kaW5nPSJVVEYtOCI/PgotPCFET0NUWVBFIERlZmluaXRpb25zIFNZU1RFTSAid2lkbHByb2N4
bWwuZHRkIj4KLTxEZWZpbml0aW9ucz4KLSAgPHdlYmlkbD5jYWxsYmFjayBBc3luY09wZXJhdGlv
bkNhbGxiYWNrID0gdm9pZCAoRE9NU3RyaW5nIHN0YXR1cyk7Ci0KLWNhbGxiYWNrIGludGVyZmFj
ZSBFdmVudEhhbmRsZXIgewotICB2b2lkIGV2ZW50T2NjdXJyZWQoRE9NU3RyaW5nIGRldGFpbHMp
OwotfTs8L3dlYmlkbD4KLSAgPENhbGxiYWNrIG5hbWU9IkFzeW5jT3BlcmF0aW9uQ2FsbGJhY2si
IGlkPSI6OkFzeW5jT3BlcmF0aW9uQ2FsbGJhY2siPgotICAgIDx3ZWJpZGw+Y2FsbGJhY2sgQXN5
bmNPcGVyYXRpb25DYWxsYmFjayA9IHZvaWQgKERPTVN0cmluZyBzdGF0dXMpOzwvd2ViaWRsPgot
ICAgIDxUeXBlIHR5cGU9InZvaWQiLz4KLSAgICA8QXJndW1lbnRMaXN0PgotICAgICAgPEFyZ3Vt
ZW50IG5hbWU9InN0YXR1cyI+Ci0gICAgICAgIDxUeXBlIHR5cGU9IkRPTVN0cmluZyIvPgotICAg
ICAgPC9Bcmd1bWVudD4KLSAgICA8L0FyZ3VtZW50TGlzdD4KLSAgPC9DYWxsYmFjaz4KLSAgPElu
dGVyZmFjZSBuYW1lPSJFdmVudEhhbmRsZXIiIGNhbGxiYWNrPSJjYWxsYmFjayIgaWQ9Ijo6RXZl
bnRIYW5kbGVyIj4KLSAgICA8d2ViaWRsPmNhbGxiYWNrIGludGVyZmFjZSBFdmVudEhhbmRsZXIg
ewotICB2b2lkIGV2ZW50T2NjdXJyZWQoRE9NU3RyaW5nIGRldGFpbHMpOwotfTs8L3dlYmlkbD4K
LSAgICA8T3BlcmF0aW9uIG5hbWU9ImV2ZW50T2NjdXJyZWQiIGlkPSI6OkV2ZW50SGFuZGxlcjo6
ZXZlbnRPY2N1cnJlZCI+Ci0gICAgICA8d2ViaWRsPiAgdm9pZCBldmVudE9jY3VycmVkKERPTVN0
cmluZyBkZXRhaWxzKTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9InZvaWQiLz4KLSAgICAg
IDxBcmd1bWVudExpc3Q+Ci0gICAgICAgIDxBcmd1bWVudCBuYW1lPSJkZXRhaWxzIj4KLSAgICAg
ICAgICA8VHlwZSB0eXBlPSJET01TdHJpbmciLz4KLSAgICAgICAgPC9Bcmd1bWVudD4KLSAgICAg
IDwvQXJndW1lbnRMaXN0PgotICAgIDwvT3BlcmF0aW9uPgotICA8L0ludGVyZmFjZT4KLTwvRGVm
aW5pdGlvbnM+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvY2FsbGVy
LndpZGxwcm9jeG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlk
L3htbC9jYWxsZXIud2lkbHByb2N4bWwJKHJldmlzaW9uIDI1Mjg5NikKKysrIExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93
aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9jYWxsZXIud2lkbHByb2N4bWwJKG5vbmV4aXN0ZW50KQpA
QCAtMSwyMSArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/Pgot
PCFET0NUWVBFIERlZmluaXRpb25zIFNZU1RFTSAid2lkbHByb2N4bWwuZHRkIj4KLTxEZWZpbml0
aW9ucz4KLSAgPHdlYmlkbD5pbnRlcmZhY2UgTnVtYmVyUXVhZHJ1cGxlciB7Ci0gIGxlZ2FjeWNh
bGxlciBmbG9hdCBjb21wdXRlKGZsb2F0IHgpOwotfTs8L3dlYmlkbD4KLSAgPEludGVyZmFjZSBu
YW1lPSJOdW1iZXJRdWFkcnVwbGVyIiBpZD0iOjpOdW1iZXJRdWFkcnVwbGVyIj4KLSAgICA8d2Vi
aWRsPmludGVyZmFjZSBOdW1iZXJRdWFkcnVwbGVyIHsKLSAgbGVnYWN5Y2FsbGVyIGZsb2F0IGNv
bXB1dGUoZmxvYXQgeCk7Ci19Ozwvd2ViaWRsPgotICAgIDxPcGVyYXRpb24gbGVnYWN5Y2FsbGVy
PSJsZWdhY3ljYWxsZXIiIG5hbWU9ImNvbXB1dGUiIGlkPSI6Ok51bWJlclF1YWRydXBsZXI6OmNv
bXB1dGUiPgotICAgICAgPHdlYmlkbD4gIGxlZ2FjeWNhbGxlciBmbG9hdCBjb21wdXRlKGZsb2F0
IHgpOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0iZmxvYXQiLz4KLSAgICAgIDxBcmd1bWVu
dExpc3Q+Ci0gICAgICAgIDxBcmd1bWVudCBuYW1lPSJ4Ij4KLSAgICAgICAgICA8VHlwZSB0eXBl
PSJmbG9hdCIvPgotICAgICAgICA8L0FyZ3VtZW50PgotICAgICAgPC9Bcmd1bWVudExpc3Q+Ci0g
ICAgPC9PcGVyYXRpb24+Ci0gIDwvSW50ZXJmYWNlPgotPC9EZWZpbml0aW9ucz4KSW5kZXg6IExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9jb25zdGFudHMud2lkbHByb2N4bWwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL2NvbnN0YW50cy53
aWRscHJvY3htbAkocmV2aXNpb24gMjUyODk2KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3Qv
dmFsaWQveG1sL2NvbnN0YW50cy53aWRscHJvY3htbAkobm9uZXhpc3RlbnQpCkBAIC0xLDg1ICsw
LDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Ci08IURPQ1RZUEUg
RGVmaW5pdGlvbnMgU1lTVEVNICJ3aWRscHJvY3htbC5kdGQiPgotPERlZmluaXRpb25zPgotICA8
d2ViaWRsPmludGVyZmFjZSBVdGlsIHsKLSAgY29uc3QgYm9vbGVhbiBERUJVRyA9IGZhbHNlOwot
ICBjb25zdCBzaG9ydCBuZWdhdGl2ZSA9IC0xOwotICBjb25zdCBvY3RldCBMRiA9IDEwOwotICBj
b25zdCB1bnNpZ25lZCBsb25nIEJJVF9NQVNLID0gMHgwMDAwZmMwMDsKLSAgY29uc3QgZmxvYXQg
QVZPR0FEUk8gPSA2LjAyMmUyMzsKLSAgY29uc3QgdW5yZXN0cmljdGVkIGZsb2F0IHNvYmlnID0g
SW5maW5pdHk7Ci0gIGNvbnN0IHVucmVzdHJpY3RlZCBkb3VibGUgbWludXNvbmVkaXZpZGVkYnl6
ZXJvID0gLUluZmluaXR5OwotICBjb25zdCBzaG9ydCBub3RhbnVtYmVyID0gTmFOOwotfTsKLQot
ZXhjZXB0aW9uIEVycm9yIHsKLSAgY29uc3Qgc2hvcnQgRVJSX1VOS05PV04gPSAwOwotICBjb25z
dCBzaG9ydCBFUlJfT1VUX09GX01FTU9SWSA9IDE7Ci0KLSAgc2hvcnQgZXJyb3JDb2RlOwotfTs8
L3dlYmlkbD4KLSAgPEludGVyZmFjZSBuYW1lPSJVdGlsIiBpZD0iOjpVdGlsIj4KLSAgICA8d2Vi
aWRsPmludGVyZmFjZSBVdGlsIHsKLSAgY29uc3QgYm9vbGVhbiBERUJVRyA9IGZhbHNlOwotICBj
b25zdCBzaG9ydCBuZWdhdGl2ZSA9IC0xOwotICBjb25zdCBvY3RldCBMRiA9IDEwOwotICBjb25z
dCB1bnNpZ25lZCBsb25nIEJJVF9NQVNLID0gMHgwMDAwZmMwMDsKLSAgY29uc3QgZmxvYXQgQVZP
R0FEUk8gPSA2LjAyMmUyMzsKLSAgY29uc3QgdW5yZXN0cmljdGVkIGZsb2F0IHNvYmlnID0gSW5m
aW5pdHk7Ci0gIGNvbnN0IHVucmVzdHJpY3RlZCBkb3VibGUgbWludXNvbmVkaXZpZGVkYnl6ZXJv
ID0gLUluZmluaXR5OwotICBjb25zdCBzaG9ydCBub3RhbnVtYmVyID0gTmFOOwotfTs8L3dlYmlk
bD4KLSAgICA8Q29uc3QgbmFtZT0iREVCVUciIHZhbHVlPSJmYWxzZSIgaWQ9Ijo6VXRpbDo6REVC
VUciPgotICAgICAgPHdlYmlkbD4gIGNvbnN0IGJvb2xlYW4gREVCVUcgPSBmYWxzZTs8L3dlYmlk
bD4KLSAgICAgIDxUeXBlIHR5cGU9ImJvb2xlYW4iLz4KLSAgICA8L0NvbnN0PgotICAgIDxDb25z
dCBuYW1lPSJuZWdhdGl2ZSIgdmFsdWU9Ii0xIiBpZD0iOjpVdGlsOjpuZWdhdGl2ZSI+Ci0gICAg
ICA8d2ViaWRsPiAgY29uc3Qgc2hvcnQgbmVnYXRpdmUgPSAtMTs8L3dlYmlkbD4KLSAgICAgIDxU
eXBlIHR5cGU9InNob3J0Ii8+Ci0gICAgPC9Db25zdD4KLSAgICA8Q29uc3QgbmFtZT0iTEYiIHZh
bHVlPSIxMCIgaWQ9Ijo6VXRpbDo6TEYiPgotICAgICAgPHdlYmlkbD4gIGNvbnN0IG9jdGV0IExG
ID0gMTA7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJvY3RldCIvPgotICAgIDwvQ29uc3Q+
Ci0gICAgPENvbnN0IG5hbWU9IkJJVF9NQVNLIiB2YWx1ZT0iMHgwMDAwZmMwMCIgaWQ9Ijo6VXRp
bDo6QklUX01BU0siPgotICAgICAgPHdlYmlkbD4gIGNvbnN0IHVuc2lnbmVkIGxvbmcgQklUX01B
U0sgPSAweDAwMDBmYzAwOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0idW5zaWduZWQgbG9u
ZyIvPgotICAgIDwvQ29uc3Q+Ci0gICAgPENvbnN0IG5hbWU9IkFWT0dBRFJPIiB2YWx1ZT0iNi4w
MjJlMjMiIGlkPSI6OlV0aWw6OkFWT0dBRFJPIj4KLSAgICAgIDx3ZWJpZGw+ICBjb25zdCBmbG9h
dCBBVk9HQURSTyA9IDYuMDIyZTIzOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0iZmxvYXQi
Lz4KLSAgICA8L0NvbnN0PgotICAgIDxDb25zdCBuYW1lPSJzb2JpZyIgdmFsdWU9IkluZmluaXR5
IiBpZD0iOjpVdGlsOjpzb2JpZyI+Ci0gICAgICA8d2ViaWRsPiAgY29uc3QgdW5yZXN0cmljdGVk
IGZsb2F0IHNvYmlnID0gSW5maW5pdHk7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJ1bnJl
c3RyaWN0ZWQgZmxvYXQiLz4KLSAgICA8L0NvbnN0PgotICAgIDxDb25zdCBuYW1lPSJtaW51c29u
ZWRpdmlkZWRieXplcm8iIHZhbHVlPSItSW5maW5pdHkiIGlkPSI6OlV0aWw6Om1pbnVzb25lZGl2
aWRlZGJ5emVybyI+Ci0gICAgICA8d2ViaWRsPiAgY29uc3QgdW5yZXN0cmljdGVkIGRvdWJsZSBt
aW51c29uZWRpdmlkZWRieXplcm8gPSAtSW5maW5pdHk7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0
eXBlPSJ1bnJlc3RyaWN0ZWQgZG91YmxlIi8+Ci0gICAgPC9Db25zdD4KLSAgICA8Q29uc3QgbmFt
ZT0ibm90YW51bWJlciIgdmFsdWU9Ik5hTiIgaWQ9Ijo6VXRpbDo6bm90YW51bWJlciI+Ci0gICAg
ICA8d2ViaWRsPiAgY29uc3Qgc2hvcnQgbm90YW51bWJlciA9IE5hTjs8L3dlYmlkbD4KLSAgICAg
IDxUeXBlIHR5cGU9InNob3J0Ii8+Ci0gICAgPC9Db25zdD4KLSAgPC9JbnRlcmZhY2U+Ci0gIDxF
eGNlcHRpb24gbmFtZT0iRXJyb3IiIGlkPSI6OkVycm9yIj4KLSAgICA8d2ViaWRsPmV4Y2VwdGlv
biBFcnJvciB7Ci0gIGNvbnN0IHNob3J0IEVSUl9VTktOT1dOID0gMDsKLSAgY29uc3Qgc2hvcnQg
RVJSX09VVF9PRl9NRU1PUlkgPSAxOwotCi0gIHNob3J0IGVycm9yQ29kZTsKLX07PC93ZWJpZGw+
Ci0gICAgPENvbnN0IG5hbWU9IkVSUl9VTktOT1dOIiB2YWx1ZT0iMCIgaWQ9Ijo6RXJyb3I6OkVS
Ul9VTktOT1dOIj4KLSAgICAgIDx3ZWJpZGw+ICBjb25zdCBzaG9ydCBFUlJfVU5LTk9XTiA9IDA7
PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJzaG9ydCIvPgotICAgIDwvQ29uc3Q+Ci0gICAg
PENvbnN0IG5hbWU9IkVSUl9PVVRfT0ZfTUVNT1JZIiB2YWx1ZT0iMSIgaWQ9Ijo6RXJyb3I6OkVS
Ul9PVVRfT0ZfTUVNT1JZIj4KLSAgICAgIDx3ZWJpZGw+ICBjb25zdCBzaG9ydCBFUlJfT1VUX09G
X01FTU9SWSA9IDE7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJzaG9ydCIvPgotICAgIDwv
Q29uc3Q+Ci0gICAgPEV4Y2VwdGlvbkZpZWxkIG5hbWU9ImVycm9yQ29kZSIgaWQ9Ijo6RXJyb3I6
OmVycm9yQ29kZSI+Ci0gICAgICA8d2ViaWRsPiAgc2hvcnQgZXJyb3JDb2RlOzwvd2ViaWRsPgot
ICAgICAgPFR5cGUgdHlwZT0ic2hvcnQiLz4KLSAgICA8L0V4Y2VwdGlvbkZpZWxkPgotICA8L0V4
Y2VwdGlvbj4KLTwvRGVmaW5pdGlvbnM+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92
YWxpZC94bWwvY29uc3RydWN0b3Iud2lkbHByb2N4bWwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL2NvbnN0cnVjdG9yLndpZGxwcm9jeG1sCShyZXZpc2lv
biAyNTI4OTYpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvY29uc3RydWN0
b3Iud2lkbHByb2N4bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSw1MSArMCwwIEBACi08P3htbCB2ZXJz
aW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgotPCFET0NUWVBFIERlZmluaXRpb25zIFNZU1RF
TSAid2lkbHByb2N4bWwuZHRkIj4KLTxEZWZpbml0aW9ucz4KLSAgPHdlYmlkbD5bQ29uc3RydWN0
b3IsCi0gQ29uc3RydWN0b3IoZmxvYXQgcmFkaXVzKV0KLWludGVyZmFjZSBDaXJjbGUgewotICBh
dHRyaWJ1dGUgZmxvYXQgcjsKLSAgYXR0cmlidXRlIGZsb2F0IGN4OwotICBhdHRyaWJ1dGUgZmxv
YXQgY3k7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSBmbG9hdCBjaXJjdW1mZXJlbmNlOwotfTs8L3dl
YmlkbD4KLSAgPEludGVyZmFjZSBuYW1lPSJDaXJjbGUiIGlkPSI6OkNpcmNsZSI+Ci0gICAgPHdl
YmlkbD5bQ29uc3RydWN0b3IsCi0gQ29uc3RydWN0b3IoZmxvYXQgcmFkaXVzKV0KLWludGVyZmFj
ZSBDaXJjbGUgewotICBhdHRyaWJ1dGUgZmxvYXQgcjsKLSAgYXR0cmlidXRlIGZsb2F0IGN4Owot
ICBhdHRyaWJ1dGUgZmxvYXQgY3k7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSBmbG9hdCBjaXJjdW1m
ZXJlbmNlOwotfTs8L3dlYmlkbD4KLSAgICA8RXh0ZW5kZWRBdHRyaWJ1dGVMaXN0PgotICAgICAg
PEV4dGVuZGVkQXR0cmlidXRlIG5hbWU9IkNvbnN0cnVjdG9yIj4KLSAgICAgICAgPHdlYmlkbD5D
b25zdHJ1Y3Rvcjwvd2ViaWRsPgotICAgICAgPC9FeHRlbmRlZEF0dHJpYnV0ZT4KLSAgICAgIDxF
eHRlbmRlZEF0dHJpYnV0ZSBuYW1lPSJDb25zdHJ1Y3RvciI+Ci0gICAgICAgIDx3ZWJpZGw+IENv
bnN0cnVjdG9yKGZsb2F0IHJhZGl1cyk8L3dlYmlkbD4KLSAgICAgICAgPEFyZ3VtZW50TGlzdD4K
LSAgICAgICAgICA8QXJndW1lbnQgbmFtZT0icmFkaXVzIj4KLSAgICAgICAgICAgIDxUeXBlIHR5
cGU9ImZsb2F0Ii8+Ci0gICAgICAgICAgPC9Bcmd1bWVudD4KLSAgICAgICAgPC9Bcmd1bWVudExp
c3Q+Ci0gICAgICA8L0V4dGVuZGVkQXR0cmlidXRlPgotICAgIDwvRXh0ZW5kZWRBdHRyaWJ1dGVM
aXN0PgotICAgIDxBdHRyaWJ1dGUgbmFtZT0iciIgaWQ9Ijo6Q2lyY2xlOjpyIj4KLSAgICAgIDx3
ZWJpZGw+ICBhdHRyaWJ1dGUgZmxvYXQgcjs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9ImZs
b2F0Ii8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gICAgPEF0dHJpYnV0ZSBuYW1lPSJjeCIgaWQ9Ijo6
Q2lyY2xlOjpjeCI+Ci0gICAgICA8d2ViaWRsPiAgYXR0cmlidXRlIGZsb2F0IGN4Ozwvd2ViaWRs
PgotICAgICAgPFR5cGUgdHlwZT0iZmxvYXQiLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAgICA8QXR0
cmlidXRlIG5hbWU9ImN5IiBpZD0iOjpDaXJjbGU6OmN5Ij4KLSAgICAgIDx3ZWJpZGw+ICBhdHRy
aWJ1dGUgZmxvYXQgY3k7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJmbG9hdCIvPgotICAg
IDwvQXR0cmlidXRlPgotICAgIDxBdHRyaWJ1dGUgcmVhZG9ubHk9InJlYWRvbmx5IiBuYW1lPSJj
aXJjdW1mZXJlbmNlIiBpZD0iOjpDaXJjbGU6OmNpcmN1bWZlcmVuY2UiPgotICAgICAgPHdlYmlk
bD4gIHJlYWRvbmx5IGF0dHJpYnV0ZSBmbG9hdCBjaXJjdW1mZXJlbmNlOzwvd2ViaWRsPgotICAg
ICAgPFR5cGUgdHlwZT0iZmxvYXQiLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAgPC9JbnRlcmZhY2U+
Ci08L0RlZmluaXRpb25zPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1s
L2RpY3Rpb25hcnktaW5oZXJpdHMud2lkbHByb2N4bWwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL2RpY3Rpb25hcnktaW5oZXJpdHMud2lkbHByb2N4bWwJ
KHJldmlzaW9uIDI1Mjg5NikKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9k
aWN0aW9uYXJ5LWluaGVyaXRzLndpZGxwcm9jeG1sCShub25leGlzdGVudCkKQEAgLTEsNDQgKzAs
MCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KLTwhRE9DVFlQRSBE
ZWZpbml0aW9ucyBTWVNURU0gIndpZGxwcm9jeG1sLmR0ZCI+Ci08RGVmaW5pdGlvbnM+Ci0gIDx3
ZWJpZGw+ZGljdGlvbmFyeSBQYWludE9wdGlvbnMgewotICBET01TdHJpbmc/IGZpbGxQYXR0ZXJu
ID0gJnF1b3Q7YmxhY2smcXVvdDs7Ci0gIERPTVN0cmluZz8gc3Ryb2tlUGF0dGVybiA9IG51bGw7
Ci0gIDxyZWY+UG9pbnQ8L3JlZj4gcG9zaXRpb247Ci19OwotCi1kaWN0aW9uYXJ5IFdldFBhaW50
T3B0aW9ucyA6IDxyZWY+UGFpbnRPcHRpb25zPC9yZWY+IHsKLSAgZmxvYXQgaHlkcm9tZXRyeTsK
LX07PC93ZWJpZGw+Ci0gIDxEaWN0aW9uYXJ5IG5hbWU9IlBhaW50T3B0aW9ucyIgaWQ9Ijo6UGFp
bnRPcHRpb25zIj4KLSAgICA8d2ViaWRsPmRpY3Rpb25hcnkgUGFpbnRPcHRpb25zIHsKLSAgRE9N
U3RyaW5nPyBmaWxsUGF0dGVybiA9ICZxdW90O2JsYWNrJnF1b3Q7OwotICBET01TdHJpbmc/IHN0
cm9rZVBhdHRlcm4gPSBudWxsOwotICA8cmVmPlBvaW50PC9yZWY+IHBvc2l0aW9uOwotfTs8L3dl
YmlkbD4KLSAgICA8RGljdGlvbmFyeU1lbWJlciBuYW1lPSJmaWxsUGF0dGVybiIgc3RyaW5ndmFs
dWU9ImJsYWNrIiBpZD0iOjpQYWludE9wdGlvbnM6OmZpbGxQYXR0ZXJuIj4KLSAgICAgIDx3ZWJp
ZGw+ICBET01TdHJpbmc/IGZpbGxQYXR0ZXJuID0gJnF1b3Q7YmxhY2smcXVvdDs7PC93ZWJpZGw+
Ci0gICAgICA8VHlwZSB0eXBlPSJET01TdHJpbmciIG51bGxhYmxlPSJudWxsYWJsZSIvPgotICAg
IDwvRGljdGlvbmFyeU1lbWJlcj4KLSAgICA8RGljdGlvbmFyeU1lbWJlciBuYW1lPSJzdHJva2VQ
YXR0ZXJuIiB2YWx1ZT0ibnVsbCIgaWQ9Ijo6UGFpbnRPcHRpb25zOjpzdHJva2VQYXR0ZXJuIj4K
LSAgICAgIDx3ZWJpZGw+ICBET01TdHJpbmc/IHN0cm9rZVBhdHRlcm4gPSBudWxsOzwvd2ViaWRs
PgotICAgICAgPFR5cGUgdHlwZT0iRE9NU3RyaW5nIiBudWxsYWJsZT0ibnVsbGFibGUiLz4KLSAg
ICA8L0RpY3Rpb25hcnlNZW1iZXI+Ci0gICAgPERpY3Rpb25hcnlNZW1iZXIgbmFtZT0icG9zaXRp
b24iIGlkPSI6OlBhaW50T3B0aW9uczo6cG9zaXRpb24iPgotICAgICAgPHdlYmlkbD4gIDxyZWY+
UG9pbnQ8L3JlZj4gcG9zaXRpb247PC93ZWJpZGw+Ci0gICAgICA8VHlwZSBuYW1lPSJQb2ludCIv
PgotICAgIDwvRGljdGlvbmFyeU1lbWJlcj4KLSAgPC9EaWN0aW9uYXJ5PgotICA8RGljdGlvbmFy
eSBuYW1lPSJXZXRQYWludE9wdGlvbnMiIGlkPSI6OldldFBhaW50T3B0aW9ucyI+Ci0gICAgPHdl
YmlkbD5kaWN0aW9uYXJ5IFdldFBhaW50T3B0aW9ucyA6IDxyZWY+UGFpbnRPcHRpb25zPC9yZWY+
IHsKLSAgZmxvYXQgaHlkcm9tZXRyeTsKLX07PC93ZWJpZGw+Ci0gICAgPERpY3Rpb25hcnlJbmhl
cml0YW5jZT4KLSAgICAgIDxOYW1lIG5hbWU9IlBhaW50T3B0aW9ucyIvPgotICAgIDwvRGljdGlv
bmFyeUluaGVyaXRhbmNlPgotICAgIDxEaWN0aW9uYXJ5TWVtYmVyIG5hbWU9Imh5ZHJvbWV0cnki
IGlkPSI6OldldFBhaW50T3B0aW9uczo6aHlkcm9tZXRyeSI+Ci0gICAgICA8d2ViaWRsPiAgZmxv
YXQgaHlkcm9tZXRyeTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9ImZsb2F0Ii8+Ci0gICAg
PC9EaWN0aW9uYXJ5TWVtYmVyPgotICA8L0RpY3Rpb25hcnk+Ci08L0RlZmluaXRpb25zPgpJbmRl
eDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL2RpY3Rpb25hcnkud2lkbHByb2N4
bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL2RpY3Rp
b25hcnkud2lkbHByb2N4bWwJKHJldmlzaW9uIDI1Mjg5NikKKysrIExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJv
Yy90ZXN0L3ZhbGlkL3htbC9kaWN0aW9uYXJ5LndpZGxwcm9jeG1sCShub25leGlzdGVudCkKQEAg
LTEsNDcgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KLTwh
RE9DVFlQRSBEZWZpbml0aW9ucyBTWVNURU0gIndpZGxwcm9jeG1sLmR0ZCI+Ci08RGVmaW5pdGlv
bnM+Ci0gIDx3ZWJpZGw+ZGljdGlvbmFyeSBQYWludE9wdGlvbnMgewotICBET01TdHJpbmc/IGZp
bGxQYXR0ZXJuID0gJnF1b3Q7YmxhY2smcXVvdDs7Ci0gIERPTVN0cmluZz8gc3Ryb2tlUGF0dGVy
biA9IG51bGw7Ci0gIDxyZWY+UG9pbnQ8L3JlZj4gcG9zaXRpb247Ci19OwotCi1wYXJ0aWFsIGRp
Y3Rpb25hcnkgQSB7Ci0gIGxvbmcgaDsKLSAgbG9uZyBkOwotfTs8L3dlYmlkbD4KLSAgPERpY3Rp
b25hcnkgbmFtZT0iUGFpbnRPcHRpb25zIiBpZD0iOjpQYWludE9wdGlvbnMiPgotICAgIDx3ZWJp
ZGw+ZGljdGlvbmFyeSBQYWludE9wdGlvbnMgewotICBET01TdHJpbmc/IGZpbGxQYXR0ZXJuID0g
JnF1b3Q7YmxhY2smcXVvdDs7Ci0gIERPTVN0cmluZz8gc3Ryb2tlUGF0dGVybiA9IG51bGw7Ci0g
IDxyZWY+UG9pbnQ8L3JlZj4gcG9zaXRpb247Ci19Ozwvd2ViaWRsPgotICAgIDxEaWN0aW9uYXJ5
TWVtYmVyIG5hbWU9ImZpbGxQYXR0ZXJuIiBzdHJpbmd2YWx1ZT0iYmxhY2siIGlkPSI6OlBhaW50
T3B0aW9uczo6ZmlsbFBhdHRlcm4iPgotICAgICAgPHdlYmlkbD4gIERPTVN0cmluZz8gZmlsbFBh
dHRlcm4gPSAmcXVvdDtibGFjayZxdW90Ozs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9IkRP
TVN0cmluZyIgbnVsbGFibGU9Im51bGxhYmxlIi8+Ci0gICAgPC9EaWN0aW9uYXJ5TWVtYmVyPgot
ICAgIDxEaWN0aW9uYXJ5TWVtYmVyIG5hbWU9InN0cm9rZVBhdHRlcm4iIHZhbHVlPSJudWxsIiBp
ZD0iOjpQYWludE9wdGlvbnM6OnN0cm9rZVBhdHRlcm4iPgotICAgICAgPHdlYmlkbD4gIERPTVN0
cmluZz8gc3Ryb2tlUGF0dGVybiA9IG51bGw7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJE
T01TdHJpbmciIG51bGxhYmxlPSJudWxsYWJsZSIvPgotICAgIDwvRGljdGlvbmFyeU1lbWJlcj4K
LSAgICA8RGljdGlvbmFyeU1lbWJlciBuYW1lPSJwb3NpdGlvbiIgaWQ9Ijo6UGFpbnRPcHRpb25z
Ojpwb3NpdGlvbiI+Ci0gICAgICA8d2ViaWRsPiAgPHJlZj5Qb2ludDwvcmVmPiBwb3NpdGlvbjs8
L3dlYmlkbD4KLSAgICAgIDxUeXBlIG5hbWU9IlBvaW50Ii8+Ci0gICAgPC9EaWN0aW9uYXJ5TWVt
YmVyPgotICA8L0RpY3Rpb25hcnk+Ci0gIDxEaWN0aW9uYXJ5IG5hbWU9IkEiIHBhcnRpYWw9InBh
cnRpYWwiIGlkPSI6OkEiPgotICAgIDx3ZWJpZGw+cGFydGlhbCBkaWN0aW9uYXJ5IEEgewotICBs
b25nIGg7Ci0gIGxvbmcgZDsKLX07PC93ZWJpZGw+Ci0gICAgPERpY3Rpb25hcnlNZW1iZXIgbmFt
ZT0iaCIgaWQ9Ijo6QTo6aCI+Ci0gICAgICA8d2ViaWRsPiAgbG9uZyBoOzwvd2ViaWRsPgotICAg
ICAgPFR5cGUgdHlwZT0ibG9uZyIvPgotICAgIDwvRGljdGlvbmFyeU1lbWJlcj4KLSAgICA8RGlj
dGlvbmFyeU1lbWJlciBuYW1lPSJkIiBpZD0iOjpBOjpkIj4KLSAgICAgIDx3ZWJpZGw+ICBsb25n
IGQ7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJsb25nIi8+Ci0gICAgPC9EaWN0aW9uYXJ5
TWVtYmVyPgotICA8L0RpY3Rpb25hcnk+Ci08L0RlZmluaXRpb25zPgpJbmRleDogTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL2RvY3VtZW50YXRpb24tZG9zLndpZGxwcm9jeG1sCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9kb2N1bWVudGF0
aW9uLWRvcy53aWRscHJvY3htbAkocmV2aXNpb24gMjUyODk2KQorKysgTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxw
cm9jL3Rlc3QvdmFsaWQveG1sL2RvY3VtZW50YXRpb24tZG9zLndpZGxwcm9jeG1sCShub25leGlz
dGVudCkKQEAgLTEsNTkgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRG
LTgiPz4KLTwhRE9DVFlQRSBEZWZpbml0aW9ucyBTWVNURU0gIndpZGxwcm9jeG1sLmR0ZCI+Ci08
RGVmaW5pdGlvbnM+Ci0gIDx3ZWJpZGw+aW50ZXJmYWNlIERvY3VtZW50YXRpb24ge307PC93ZWJp
ZGw+Ci0gIDxJbnRlcmZhY2UgbmFtZT0iRG9jdW1lbnRhdGlvbiIgaWQ9Ijo6RG9jdW1lbnRhdGlv
biI+Ci0gICAgPHdlYmlkbD5pbnRlcmZhY2UgRG9jdW1lbnRhdGlvbiB7fTs8L3dlYmlkbD4KLSAg
ICA8ZGVzY3JpcHRpdmU+Ci0gICAgICAgIDxicmllZj4KLSBUZXN0aW5nIGRvY3VtZW50YXRpb24g
ZmVhdHVyZXMKLSAgICAgICAgPC9icmllZj4KLSAgICAgICA8ZGVzY3JpcHRpb24+Ci0gICAgICAg
IDxwPgotVGhpcyBpcyBhCi1zaW5nbGUgcGFyYWdyYXBoCi0gICAgICAgIDwvcD4KLSAgICAgICAg
PHA+Ci1UaGlzIGlzIHZhbGlkLiAgICAgICAgPC9wPgotICAgICAgICA8cD4KLVRoaXMgaXMgPGVt
PnZhbGlkPC9lbT4uICAgICAgICA8L3A+Ci0gICAgICAgIDxwPgotVGhpcyBpcyA8Yj52YWxpZDwv
Yj4uICAgICAgICA8L3A+Ci0gICAgICAgIDxwPgotVGhpcyBpcyA8YSBocmVmPScnPnZhbGlkPC9h
Pi4gICAgICAgIDwvcD4KLSAgICAgICAgPHVsPgotICAgICAgICAgIDxsaT4KLVRoaXMgICAgICAg
ICAgPC9saT4KLSAgICAgICAgICA8bGk+Ci1pcyAgICAgICAgICA8L2xpPgotICAgICAgICAgIDxs
aT4KLXZhbGlkICAgICAgICAgIDwvbGk+Ci0gICAgICAgIDwvdWw+Ci0gICAgICAgIDxkbD4KLSAg
ICAgICAgICA8ZHQ+Ci1UaGlzICAgICAgICAgIDwvZHQ+Ci0gICAgICAgICAgPGRkPgotdmFsaWQg
ICAgICAgICAgPC9kZD4KLSAgICAgICAgPC9kbD4KLSAgICAgICAgPHRhYmxlPgotICAgICAgICAg
IDx0cj4KLSAgICAgICAgICAgIDx0ZD4KLXRoaXMgICAgICAgICAgICA8L3RkPgotICAgICAgICAg
ICAgPHRkPgotaXMgICAgICAgICAgICA8L3RkPgotICAgICAgICAgIDwvdHI+Ci0gICAgICAgICAg
PHRyPgotICAgICAgICAgICAgPHRkPgotdmFsaWQgICAgICAgICAgICA8L3RkPgotICAgICAgICAg
IDwvdHI+Ci0gICAgICAgIDwvdGFibGU+Ci0gICAgICAgIDxwPgotVGhpcyBpcyA8YnIvPiB2YWxp
ZC4gICAgICAgIDwvcD4KLSAgICAgICAgPHA+Ci1UaGlzIGlzIDxiciAvPiB2YWxpZC4gICAgICAg
IDwvcD4KLSAgICAgICAgPHA+Ci1UaGlzIGlzIDxici8+IHZhbGlkLiAgICAgICAgPC9wPgotICAg
ICAgIDwvZGVzY3JpcHRpb24+Ci0gICAgPC9kZXNjcmlwdGl2ZT4KLSAgPC9JbnRlcmZhY2U+Ci08
L0RlZmluaXRpb25zPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL2Rv
Y3VtZW50YXRpb24ud2lkbHByb2N4bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9j
L3Rlc3QvdmFsaWQveG1sL2RvY3VtZW50YXRpb24ud2lkbHByb2N4bWwJKHJldmlzaW9uIDI1Mjg5
NikKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9kb2N1bWVudGF0aW9uLndp
ZGxwcm9jeG1sCShub25leGlzdGVudCkKQEAgLTEsNjEgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0i
MS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KLTwhRE9DVFlQRSBEZWZpbml0aW9ucyBTWVNURU0gIndp
ZGxwcm9jeG1sLmR0ZCI+Ci08RGVmaW5pdGlvbnM+Ci0gIDx3ZWJpZGw+aW50ZXJmYWNlIERvY3Vt
ZW50YXRpb24ge307PC93ZWJpZGw+Ci0gIDxJbnRlcmZhY2UgbmFtZT0iRG9jdW1lbnRhdGlvbiIg
aWQ9Ijo6RG9jdW1lbnRhdGlvbiI+Ci0gICAgPHdlYmlkbD5pbnRlcmZhY2UgRG9jdW1lbnRhdGlv
biB7fTs8L3dlYmlkbD4KLSAgICA8ZGVzY3JpcHRpdmU+Ci0gICAgICAgIDxicmllZj4KLSBUZXN0
aW5nIGRvY3VtZW50YXRpb24gZmVhdHVyZXMKLSAgICAgICAgPC9icmllZj4KLSAgICAgICA8ZGVz
Y3JpcHRpb24+Ci0gICAgICAgIDxwPgotVGhpcyBpcyBhCi1zaW5nbGUgcGFyYWdyYXBoCi0gICAg
ICAgIDwvcD4KLSAgICAgICAgPHA+Ci1UaGlzIGlzIHZhbGlkLiAgICAgICAgPC9wPgotICAgICAg
ICA8cD4KLVRoaXMgaXMgPGVtPnZhbGlkPC9lbT4uICAgICAgICA8L3A+Ci0gICAgICAgIDxwPgot
VGhpcyBpcyA8Yj52YWxpZDwvYj4uICAgICAgICA8L3A+Ci0gICAgICAgIDxwPgotVGhpcyBpcyA8
YSBocmVmPScnPnZhbGlkPC9hPi4gICAgICAgIDwvcD4KLSAgICAgICAgPHVsPgotICAgICAgICAg
IDxsaT4KLVRoaXMgICAgICAgICAgPC9saT4KLSAgICAgICAgICA8bGk+Ci1pcyAgICAgICAgICA8
L2xpPgotICAgICAgICAgIDxsaT4KLXZhbGlkICAgICAgICAgIDwvbGk+Ci0gICAgICAgIDwvdWw+
Ci0gICAgICAgIDxkbD4KLSAgICAgICAgICA8ZHQ+Ci1UaGlzICAgICAgICAgIDwvZHQ+Ci0gICAg
ICAgICAgPGRkPgotdmFsaWQgICAgICAgICAgPC9kZD4KLSAgICAgICAgPC9kbD4KLSAgICAgICAg
PHRhYmxlPgotICAgICAgICAgIDx0cj4KLSAgICAgICAgICAgIDx0ZD4KLXRoaXMgICAgICAgICAg
ICA8L3RkPgotICAgICAgICAgICAgPHRkPgotaXMgICAgICAgICAgICA8L3RkPgotICAgICAgICAg
IDwvdHI+Ci0gICAgICAgICAgPHRyPgotICAgICAgICAgICAgPHRkPgotdmFsaWQgICAgICAgICAg
ICA8L3RkPgotICAgICAgICAgIDwvdHI+Ci0gICAgICAgIDwvdGFibGU+Ci0gICAgICAgIDxwPgot
VGhpcyBpcyA8YnIvPiB2YWxpZC4gICAgICAgIDwvcD4KLSAgICAgICAgPHA+Ci1UaGlzIGlzIDxi
ciAvPiB2YWxpZC4gICAgICAgIDwvcD4KLSAgICAgICAgPHA+Ci1UaGlzIGlzIDxici8+IHZhbGlk
LiAgICAgICAgPC9wPgotICAgICAgICA8cD4KLTxpbWcgc3JjPSJmb28ucG5nIiBhbHQ9IlZhbGlk
Ii8+ICAgICAgICA8L3A+Ci0gICAgICAgPC9kZXNjcmlwdGlvbj4KLSAgICA8L2Rlc2NyaXB0aXZl
PgotICA8L0ludGVyZmFjZT4KLTwvRGVmaW5pdGlvbnM+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHBy
b2MvdGVzdC92YWxpZC94bWwvZW51bS53aWRscHJvY3htbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvZW51bS53aWRscHJvY3htbAkocmV2aXNpb24gMjUy
ODk2KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL2VudW0ud2lkbHByb2N4
bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSw1MiArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVu
Y29kaW5nPSJVVEYtOCI/PgotPCFET0NUWVBFIERlZmluaXRpb25zIFNZU1RFTSAid2lkbHByb2N4
bWwuZHRkIj4KLTxEZWZpbml0aW9ucz4KLSAgPHdlYmlkbD5lbnVtIE1lYWxUeXBlIHsgJnF1b3Q7
cmljZSZxdW90OywgJnF1b3Q7bm9vZGxlcyZxdW90OywgJnF1b3Q7b3RoZXImcXVvdDsgfTsKLQot
aW50ZXJmYWNlIE1lYWwgewotICBhdHRyaWJ1dGUgPHJlZj5NZWFsVHlwZTwvcmVmPiB0eXBlOwot
ICBhdHRyaWJ1dGUgZmxvYXQgc2l6ZTsgICAgIAotCi0gIHZvaWQgaW5pdGlhbGl6ZSg8cmVmPk1l
YWxUeXBlPC9yZWY+IHR5cGUsIGZsb2F0IHNpemUpOwotfTs8L3dlYmlkbD4KLSAgPEVudW0gbmFt
ZT0iTWVhbFR5cGUiIGlkPSI6Ok1lYWxUeXBlIj4KLSAgICA8d2ViaWRsPmVudW0gTWVhbFR5cGUg
eyAmcXVvdDtyaWNlJnF1b3Q7LCAmcXVvdDtub29kbGVzJnF1b3Q7LCAmcXVvdDtvdGhlciZxdW90
OyB9Ozwvd2ViaWRsPgotICAgIDxFbnVtVmFsdWUgc3RyaW5ndmFsdWU9InJpY2UiPgotICAgICAg
PHdlYmlkbD4gJnF1b3Q7cmljZTwvd2ViaWRsPgotICAgIDwvRW51bVZhbHVlPgotICAgIDxFbnVt
VmFsdWUgc3RyaW5ndmFsdWU9Im5vb2RsZXMiPgotICAgICAgPHdlYmlkbD4gJnF1b3Q7bm9vZGxl
czwvd2ViaWRsPgotICAgIDwvRW51bVZhbHVlPgotICAgIDxFbnVtVmFsdWUgc3RyaW5ndmFsdWU9
Im90aGVyIj4KLSAgICAgIDx3ZWJpZGw+ICZxdW90O290aGVyPC93ZWJpZGw+Ci0gICAgPC9FbnVt
VmFsdWU+Ci0gIDwvRW51bT4KLSAgPEludGVyZmFjZSBuYW1lPSJNZWFsIiBpZD0iOjpNZWFsIj4K
LSAgICA8d2ViaWRsPmludGVyZmFjZSBNZWFsIHsKLSAgYXR0cmlidXRlIDxyZWY+TWVhbFR5cGU8
L3JlZj4gdHlwZTsKLSAgYXR0cmlidXRlIGZsb2F0IHNpemU7ICAgICAKLQotICB2b2lkIGluaXRp
YWxpemUoPHJlZj5NZWFsVHlwZTwvcmVmPiB0eXBlLCBmbG9hdCBzaXplKTsKLX07PC93ZWJpZGw+
Ci0gICAgPEF0dHJpYnV0ZSBuYW1lPSJ0eXBlIiBpZD0iOjpNZWFsOjp0eXBlIj4KLSAgICAgIDx3
ZWJpZGw+ICBhdHRyaWJ1dGUgPHJlZj5NZWFsVHlwZTwvcmVmPiB0eXBlOzwvd2ViaWRsPgotICAg
ICAgPFR5cGUgbmFtZT0iTWVhbFR5cGUiLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAgICA8QXR0cmli
dXRlIG5hbWU9InNpemUiIGlkPSI6Ok1lYWw6OnNpemUiPgotICAgICAgPHdlYmlkbD4gIGF0dHJp
YnV0ZSBmbG9hdCBzaXplOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0iZmxvYXQiLz4KLSAg
ICA8L0F0dHJpYnV0ZT4KLSAgICA8T3BlcmF0aW9uIG5hbWU9ImluaXRpYWxpemUiIGlkPSI6Ok1l
YWw6OmluaXRpYWxpemUiPgotICAgICAgPHdlYmlkbD4gIHZvaWQgaW5pdGlhbGl6ZSg8cmVmPk1l
YWxUeXBlPC9yZWY+IHR5cGUsIGZsb2F0IHNpemUpOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlw
ZT0idm9pZCIvPgotICAgICAgPEFyZ3VtZW50TGlzdD4KLSAgICAgICAgPEFyZ3VtZW50IG5hbWU9
InR5cGUiPgotICAgICAgICAgIDxUeXBlIG5hbWU9Ik1lYWxUeXBlIi8+Ci0gICAgICAgIDwvQXJn
dW1lbnQ+Ci0gICAgICAgIDxBcmd1bWVudCBuYW1lPSJzaXplIj4KLSAgICAgICAgICA8VHlwZSB0
eXBlPSJmbG9hdCIvPgotICAgICAgICA8L0FyZ3VtZW50PgotICAgICAgPC9Bcmd1bWVudExpc3Q+
Ci0gICAgPC9PcGVyYXRpb24+Ci0gIDwvSW50ZXJmYWNlPgotPC9EZWZpbml0aW9ucz4KSW5kZXg6
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9lcXVpdmFsZW50LWRlY2wud2lkbHBy
b2N4bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL2Vx
dWl2YWxlbnQtZGVjbC53aWRscHJvY3htbAkocmV2aXNpb24gMjUyODk2KQorKysgTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL2VxdWl2YWxlbnQtZGVjbC53aWRscHJvY3htbAkobm9u
ZXhpc3RlbnQpCkBAIC0xLDExMSArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5n
PSJVVEYtOCI/PgotPCFET0NUWVBFIERlZmluaXRpb25zIFNZU1RFTSAid2lkbHByb2N4bWwuZHRk
Ij4KLTxEZWZpbml0aW9ucz4KLSAgPHdlYmlkbD5pbnRlcmZhY2UgRGljdGlvbmFyeSB7Ci0gIHJl
YWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIHByb3BlcnR5Q291bnQ7Ci0KLSAgZ2V0dGVy
IGZsb2F0IGdldFByb3BlcnR5KERPTVN0cmluZyBwcm9wZXJ0eU5hbWUpOwotICBzZXR0ZXIgdm9p
ZCBzZXRQcm9wZXJ0eShET01TdHJpbmcgcHJvcGVydHlOYW1lLCBmbG9hdCBwcm9wZXJ0eVZhbHVl
KTsKLX07Ci0KLQotaW50ZXJmYWNlIERpY3Rpb25hcnkgewotICByZWFkb25seSBhdHRyaWJ1dGUg
dW5zaWduZWQgbG9uZyBwcm9wZXJ0eUNvdW50OwotCi0gIGZsb2F0IGdldFByb3BlcnR5KERPTVN0
cmluZyBwcm9wZXJ0eU5hbWUpOwotICB2b2lkIHNldFByb3BlcnR5KERPTVN0cmluZyBwcm9wZXJ0
eU5hbWUsIGZsb2F0IHByb3BlcnR5VmFsdWUpOwotCi0gIGdldHRlciBmbG9hdCAoRE9NU3RyaW5n
IHByb3BlcnR5TmFtZSk7Ci0gIHNldHRlciB2b2lkIChET01TdHJpbmcgcHJvcGVydHlOYW1lLCBm
bG9hdCBwcm9wZXJ0eVZhbHVlKTsKLX07PC93ZWJpZGw+Ci0gIDxJbnRlcmZhY2UgbmFtZT0iRGlj
dGlvbmFyeSIgaWQ9Ijo6RGljdGlvbmFyeSI+Ci0gICAgPHdlYmlkbD5pbnRlcmZhY2UgRGljdGlv
bmFyeSB7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIHByb3BlcnR5Q291bnQ7
Ci0KLSAgZ2V0dGVyIGZsb2F0IGdldFByb3BlcnR5KERPTVN0cmluZyBwcm9wZXJ0eU5hbWUpOwot
ICBzZXR0ZXIgdm9pZCBzZXRQcm9wZXJ0eShET01TdHJpbmcgcHJvcGVydHlOYW1lLCBmbG9hdCBw
cm9wZXJ0eVZhbHVlKTsKLX07PC93ZWJpZGw+Ci0gICAgPEF0dHJpYnV0ZSByZWFkb25seT0icmVh
ZG9ubHkiIG5hbWU9InByb3BlcnR5Q291bnQiIGlkPSI6OkRpY3Rpb25hcnk6OnByb3BlcnR5Q291
bnQiPgotICAgICAgPHdlYmlkbD4gIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIHBy
b3BlcnR5Q291bnQ7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJ1bnNpZ25lZCBsb25nIi8+
Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gICAgPE9wZXJhdGlvbiBnZXR0ZXI9ImdldHRlciIgbmFtZT0i
Z2V0UHJvcGVydHkiIGlkPSI6OkRpY3Rpb25hcnk6OmdldFByb3BlcnR5Ij4KLSAgICAgIDx3ZWJp
ZGw+ICBnZXR0ZXIgZmxvYXQgZ2V0UHJvcGVydHkoRE9NU3RyaW5nIHByb3BlcnR5TmFtZSk7PC93
ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJmbG9hdCIvPgotICAgICAgPEFyZ3VtZW50TGlzdD4K
LSAgICAgICAgPEFyZ3VtZW50IG5hbWU9InByb3BlcnR5TmFtZSI+Ci0gICAgICAgICAgPFR5cGUg
dHlwZT0iRE9NU3RyaW5nIi8+Ci0gICAgICAgIDwvQXJndW1lbnQ+Ci0gICAgICA8L0FyZ3VtZW50
TGlzdD4KLSAgICA8L09wZXJhdGlvbj4KLSAgICA8T3BlcmF0aW9uIHNldHRlcj0ic2V0dGVyIiBu
YW1lPSJzZXRQcm9wZXJ0eSIgaWQ9Ijo6RGljdGlvbmFyeTo6c2V0UHJvcGVydHkiPgotICAgICAg
PHdlYmlkbD4gIHNldHRlciB2b2lkIHNldFByb3BlcnR5KERPTVN0cmluZyBwcm9wZXJ0eU5hbWUs
IGZsb2F0IHByb3BlcnR5VmFsdWUpOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0idm9pZCIv
PgotICAgICAgPEFyZ3VtZW50TGlzdD4KLSAgICAgICAgPEFyZ3VtZW50IG5hbWU9InByb3BlcnR5
TmFtZSI+Ci0gICAgICAgICAgPFR5cGUgdHlwZT0iRE9NU3RyaW5nIi8+Ci0gICAgICAgIDwvQXJn
dW1lbnQ+Ci0gICAgICAgIDxBcmd1bWVudCBuYW1lPSJwcm9wZXJ0eVZhbHVlIj4KLSAgICAgICAg
ICA8VHlwZSB0eXBlPSJmbG9hdCIvPgotICAgICAgICA8L0FyZ3VtZW50PgotICAgICAgPC9Bcmd1
bWVudExpc3Q+Ci0gICAgPC9PcGVyYXRpb24+Ci0gIDwvSW50ZXJmYWNlPgotICA8SW50ZXJmYWNl
IG5hbWU9IkRpY3Rpb25hcnkiIGlkPSI6OkRpY3Rpb25hcnkiPgotICAgIDx3ZWJpZGw+aW50ZXJm
YWNlIERpY3Rpb25hcnkgewotICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBwcm9w
ZXJ0eUNvdW50OwotCi0gIGZsb2F0IGdldFByb3BlcnR5KERPTVN0cmluZyBwcm9wZXJ0eU5hbWUp
OwotICB2b2lkIHNldFByb3BlcnR5KERPTVN0cmluZyBwcm9wZXJ0eU5hbWUsIGZsb2F0IHByb3Bl
cnR5VmFsdWUpOwotCi0gIGdldHRlciBmbG9hdCAoRE9NU3RyaW5nIHByb3BlcnR5TmFtZSk7Ci0g
IHNldHRlciB2b2lkIChET01TdHJpbmcgcHJvcGVydHlOYW1lLCBmbG9hdCBwcm9wZXJ0eVZhbHVl
KTsKLX07PC93ZWJpZGw+Ci0gICAgPEF0dHJpYnV0ZSByZWFkb25seT0icmVhZG9ubHkiIG5hbWU9
InByb3BlcnR5Q291bnQiIGlkPSI6OkRpY3Rpb25hcnk6OnByb3BlcnR5Q291bnQiPgotICAgICAg
PHdlYmlkbD4gIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIHByb3BlcnR5Q291bnQ7
PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJ1bnNpZ25lZCBsb25nIi8+Ci0gICAgPC9BdHRy
aWJ1dGU+Ci0gICAgPE9wZXJhdGlvbiBuYW1lPSJnZXRQcm9wZXJ0eSIgaWQ9Ijo6RGljdGlvbmFy
eTo6Z2V0UHJvcGVydHkiPgotICAgICAgPHdlYmlkbD4gIGZsb2F0IGdldFByb3BlcnR5KERPTVN0
cmluZyBwcm9wZXJ0eU5hbWUpOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0iZmxvYXQiLz4K
LSAgICAgIDxBcmd1bWVudExpc3Q+Ci0gICAgICAgIDxBcmd1bWVudCBuYW1lPSJwcm9wZXJ0eU5h
bWUiPgotICAgICAgICAgIDxUeXBlIHR5cGU9IkRPTVN0cmluZyIvPgotICAgICAgICA8L0FyZ3Vt
ZW50PgotICAgICAgPC9Bcmd1bWVudExpc3Q+Ci0gICAgPC9PcGVyYXRpb24+Ci0gICAgPE9wZXJh
dGlvbiBuYW1lPSJzZXRQcm9wZXJ0eSIgaWQ9Ijo6RGljdGlvbmFyeTo6c2V0UHJvcGVydHkiPgot
ICAgICAgPHdlYmlkbD4gIHZvaWQgc2V0UHJvcGVydHkoRE9NU3RyaW5nIHByb3BlcnR5TmFtZSwg
ZmxvYXQgcHJvcGVydHlWYWx1ZSk7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJ2b2lkIi8+
Ci0gICAgICA8QXJndW1lbnRMaXN0PgotICAgICAgICA8QXJndW1lbnQgbmFtZT0icHJvcGVydHlO
YW1lIj4KLSAgICAgICAgICA8VHlwZSB0eXBlPSJET01TdHJpbmciLz4KLSAgICAgICAgPC9Bcmd1
bWVudD4KLSAgICAgICAgPEFyZ3VtZW50IG5hbWU9InByb3BlcnR5VmFsdWUiPgotICAgICAgICAg
IDxUeXBlIHR5cGU9ImZsb2F0Ii8+Ci0gICAgICAgIDwvQXJndW1lbnQ+Ci0gICAgICA8L0FyZ3Vt
ZW50TGlzdD4KLSAgICA8L09wZXJhdGlvbj4KLSAgICA8T3BlcmF0aW9uIGdldHRlcj0iZ2V0dGVy
Ij4KLSAgICAgIDx3ZWJpZGw+ICBnZXR0ZXIgZmxvYXQgKERPTVN0cmluZyBwcm9wZXJ0eU5hbWUp
Ozwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0iZmxvYXQiLz4KLSAgICAgIDxBcmd1bWVudExp
c3Q+Ci0gICAgICAgIDxBcmd1bWVudCBuYW1lPSJwcm9wZXJ0eU5hbWUiPgotICAgICAgICAgIDxU
eXBlIHR5cGU9IkRPTVN0cmluZyIvPgotICAgICAgICA8L0FyZ3VtZW50PgotICAgICAgPC9Bcmd1
bWVudExpc3Q+Ci0gICAgPC9PcGVyYXRpb24+Ci0gICAgPE9wZXJhdGlvbiBzZXR0ZXI9InNldHRl
ciI+Ci0gICAgICA8d2ViaWRsPiAgc2V0dGVyIHZvaWQgKERPTVN0cmluZyBwcm9wZXJ0eU5hbWUs
IGZsb2F0IHByb3BlcnR5VmFsdWUpOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0idm9pZCIv
PgotICAgICAgPEFyZ3VtZW50TGlzdD4KLSAgICAgICAgPEFyZ3VtZW50IG5hbWU9InByb3BlcnR5
TmFtZSI+Ci0gICAgICAgICAgPFR5cGUgdHlwZT0iRE9NU3RyaW5nIi8+Ci0gICAgICAgIDwvQXJn
dW1lbnQ+Ci0gICAgICAgIDxBcmd1bWVudCBuYW1lPSJwcm9wZXJ0eVZhbHVlIj4KLSAgICAgICAg
ICA8VHlwZSB0eXBlPSJmbG9hdCIvPgotICAgICAgICA8L0FyZ3VtZW50PgotICAgICAgPC9Bcmd1
bWVudExpc3Q+Ci0gICAgPC9PcGVyYXRpb24+Ci0gIDwvSW50ZXJmYWNlPgotPC9EZWZpbml0aW9u
cz4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9leGNlcHRpb24taW5o
ZXJpdGFuY2Uud2lkbHByb2N4bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rl
c3QvdmFsaWQveG1sL2V4Y2VwdGlvbi1pbmhlcml0YW5jZS53aWRscHJvY3htbAkocmV2aXNpb24g
MjUyODk2KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL2V4Y2VwdGlvbi1p
bmhlcml0YW5jZS53aWRscHJvY3htbAkobm9uZXhpc3RlbnQpCkBAIC0xLDMxICswLDAgQEAKLTw/
eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Ci08IURPQ1RZUEUgRGVmaW5pdGlv
bnMgU1lTVEVNICJ3aWRscHJvY3htbC5kdGQiPgotPERlZmluaXRpb25zPgotICA8d2ViaWRsPiAg
ZXhjZXB0aW9uIERPTUV4Y2VwdGlvbiB7Ci0gICAgdW5zaWduZWQgc2hvcnQgY29kZTsKLSAgfTsK
LQotICBleGNlcHRpb24gSGllcmFyY2h5UmVxdWVzdEVycm9yIDogPHJlZj5ET01FeGNlcHRpb248
L3JlZj4geyB9OwotICBleGNlcHRpb24gTm9Nb2RpZmljYXRpb25BbGxvd2VkRXJyb3IgOiA8cmVm
PkRPTUV4Y2VwdGlvbjwvcmVmPiB7IH07PC93ZWJpZGw+Ci0gIDxFeGNlcHRpb24gbmFtZT0iRE9N
RXhjZXB0aW9uIiBpZD0iOjpET01FeGNlcHRpb24iPgotICAgIDx3ZWJpZGw+ICBleGNlcHRpb24g
RE9NRXhjZXB0aW9uIHsKLSAgICB1bnNpZ25lZCBzaG9ydCBjb2RlOwotICB9Ozwvd2ViaWRsPgot
ICAgIDxFeGNlcHRpb25GaWVsZCBuYW1lPSJjb2RlIiBpZD0iOjpET01FeGNlcHRpb246OmNvZGUi
PgotICAgICAgPHdlYmlkbD4gICAgdW5zaWduZWQgc2hvcnQgY29kZTs8L3dlYmlkbD4KLSAgICAg
IDxUeXBlIHR5cGU9InVuc2lnbmVkIHNob3J0Ii8+Ci0gICAgPC9FeGNlcHRpb25GaWVsZD4KLSAg
PC9FeGNlcHRpb24+Ci0gIDxFeGNlcHRpb24gbmFtZT0iSGllcmFyY2h5UmVxdWVzdEVycm9yIiBp
ZD0iOjpIaWVyYXJjaHlSZXF1ZXN0RXJyb3IiPgotICAgIDx3ZWJpZGw+ICBleGNlcHRpb24gSGll
cmFyY2h5UmVxdWVzdEVycm9yIDogPHJlZj5ET01FeGNlcHRpb248L3JlZj4geyB9Ozwvd2ViaWRs
PgotICAgIDxFeGNlcHRpb25Jbmhlcml0YW5jZT4KLSAgICAgIDxOYW1lIG5hbWU9IkRPTUV4Y2Vw
dGlvbiIvPgotICAgIDwvRXhjZXB0aW9uSW5oZXJpdGFuY2U+Ci0gIDwvRXhjZXB0aW9uPgotICA8
RXhjZXB0aW9uIG5hbWU9Ik5vTW9kaWZpY2F0aW9uQWxsb3dlZEVycm9yIiBpZD0iOjpOb01vZGlm
aWNhdGlvbkFsbG93ZWRFcnJvciI+Ci0gICAgPHdlYmlkbD4gIGV4Y2VwdGlvbiBOb01vZGlmaWNh
dGlvbkFsbG93ZWRFcnJvciA6IDxyZWY+RE9NRXhjZXB0aW9uPC9yZWY+IHsgfTs8L3dlYmlkbD4K
LSAgICA8RXhjZXB0aW9uSW5oZXJpdGFuY2U+Ci0gICAgICA8TmFtZSBuYW1lPSJET01FeGNlcHRp
b24iLz4KLSAgICA8L0V4Y2VwdGlvbkluaGVyaXRhbmNlPgotICA8L0V4Y2VwdGlvbj4KLTwvRGVm
aW5pdGlvbnM+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvZXhjZXB0
aW9uLndpZGxwcm9jeG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3Zh
bGlkL3htbC9leGNlcHRpb24ud2lkbHByb2N4bWwJKHJldmlzaW9uIDI1Mjg5NikKKysrIExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9leGNlcHRpb24ud2lkbHByb2N4bWwJKG5vbmV4
aXN0ZW50KQpAQCAtMSwyMyArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJV
VEYtOCI/PgotPCFET0NUWVBFIERlZmluaXRpb25zIFNZU1RFTSAid2lkbHByb2N4bWwuZHRkIj4K
LTxEZWZpbml0aW9ucz4KLSAgPHdlYmlkbD5pbnRlcmZhY2UgRGFodXQgewotICBhdHRyaWJ1dGUg
RE9NU3RyaW5nIHR5cGU7Ci19OwotCi1leGNlcHRpb24gU29tZUV4Y2VwdGlvbiB7Ci19Ozwvd2Vi
aWRsPgotICA8SW50ZXJmYWNlIG5hbWU9IkRhaHV0IiBpZD0iOjpEYWh1dCI+Ci0gICAgPHdlYmlk
bD5pbnRlcmZhY2UgRGFodXQgewotICBhdHRyaWJ1dGUgRE9NU3RyaW5nIHR5cGU7Ci19Ozwvd2Vi
aWRsPgotICAgIDxBdHRyaWJ1dGUgbmFtZT0idHlwZSIgaWQ9Ijo6RGFodXQ6OnR5cGUiPgotICAg
ICAgPHdlYmlkbD4gIGF0dHJpYnV0ZSBET01TdHJpbmcgdHlwZTs8L3dlYmlkbD4KLSAgICAgIDxU
eXBlIHR5cGU9IkRPTVN0cmluZyIvPgotICAgIDwvQXR0cmlidXRlPgotICA8L0ludGVyZmFjZT4K
LSAgPEV4Y2VwdGlvbiBuYW1lPSJTb21lRXhjZXB0aW9uIiBpZD0iOjpTb21lRXhjZXB0aW9uIj4K
LSAgICA8d2ViaWRsPmV4Y2VwdGlvbiBTb21lRXhjZXB0aW9uIHsKLX07PC93ZWJpZGw+Ci0gIDwv
RXhjZXB0aW9uPgotPC9EZWZpbml0aW9ucz4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0
L3ZhbGlkL3htbC9nZXR0ZXItc2V0dGVyLndpZGxwcm9jeG1sCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9nZXR0ZXItc2V0dGVyLndpZGxwcm9jeG1sCShy
ZXZpc2lvbiAyNTI4OTYpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvZ2V0
dGVyLXNldHRlci53aWRscHJvY3htbAkobm9uZXhpc3RlbnQpCkBAIC0xLDQzICswLDAgQEAKLTw/
eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Ci08IURPQ1RZUEUgRGVmaW5pdGlv
bnMgU1lTVEVNICJ3aWRscHJvY3htbC5kdGQiPgotPERlZmluaXRpb25zPgotICA8d2ViaWRsPmlu
dGVyZmFjZSBEaWN0aW9uYXJ5IHsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcg
cHJvcGVydHlDb3VudDsKLQotICBnZXR0ZXIgZmxvYXQgKERPTVN0cmluZyBwcm9wZXJ0eU5hbWUp
OwotICBzZXR0ZXIgdm9pZCAoRE9NU3RyaW5nIHByb3BlcnR5TmFtZSwgZmxvYXQgcHJvcGVydHlW
YWx1ZSk7Ci19Ozwvd2ViaWRsPgotICA8SW50ZXJmYWNlIG5hbWU9IkRpY3Rpb25hcnkiIGlkPSI6
OkRpY3Rpb25hcnkiPgotICAgIDx3ZWJpZGw+aW50ZXJmYWNlIERpY3Rpb25hcnkgewotICByZWFk
b25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBwcm9wZXJ0eUNvdW50OwotCi0gIGdldHRlciBm
bG9hdCAoRE9NU3RyaW5nIHByb3BlcnR5TmFtZSk7Ci0gIHNldHRlciB2b2lkIChET01TdHJpbmcg
cHJvcGVydHlOYW1lLCBmbG9hdCBwcm9wZXJ0eVZhbHVlKTsKLX07PC93ZWJpZGw+Ci0gICAgPEF0
dHJpYnV0ZSByZWFkb25seT0icmVhZG9ubHkiIG5hbWU9InByb3BlcnR5Q291bnQiIGlkPSI6OkRp
Y3Rpb25hcnk6OnByb3BlcnR5Q291bnQiPgotICAgICAgPHdlYmlkbD4gIHJlYWRvbmx5IGF0dHJp
YnV0ZSB1bnNpZ25lZCBsb25nIHByb3BlcnR5Q291bnQ7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0
eXBlPSJ1bnNpZ25lZCBsb25nIi8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gICAgPE9wZXJhdGlvbiBn
ZXR0ZXI9ImdldHRlciI+Ci0gICAgICA8d2ViaWRsPiAgZ2V0dGVyIGZsb2F0IChET01TdHJpbmcg
cHJvcGVydHlOYW1lKTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9ImZsb2F0Ii8+Ci0gICAg
ICA8QXJndW1lbnRMaXN0PgotICAgICAgICA8QXJndW1lbnQgbmFtZT0icHJvcGVydHlOYW1lIj4K
LSAgICAgICAgICA8VHlwZSB0eXBlPSJET01TdHJpbmciLz4KLSAgICAgICAgPC9Bcmd1bWVudD4K
LSAgICAgIDwvQXJndW1lbnRMaXN0PgotICAgIDwvT3BlcmF0aW9uPgotICAgIDxPcGVyYXRpb24g
c2V0dGVyPSJzZXR0ZXIiPgotICAgICAgPHdlYmlkbD4gIHNldHRlciB2b2lkIChET01TdHJpbmcg
cHJvcGVydHlOYW1lLCBmbG9hdCBwcm9wZXJ0eVZhbHVlKTs8L3dlYmlkbD4KLSAgICAgIDxUeXBl
IHR5cGU9InZvaWQiLz4KLSAgICAgIDxBcmd1bWVudExpc3Q+Ci0gICAgICAgIDxBcmd1bWVudCBu
YW1lPSJwcm9wZXJ0eU5hbWUiPgotICAgICAgICAgIDxUeXBlIHR5cGU9IkRPTVN0cmluZyIvPgot
ICAgICAgICA8L0FyZ3VtZW50PgotICAgICAgICA8QXJndW1lbnQgbmFtZT0icHJvcGVydHlWYWx1
ZSI+Ci0gICAgICAgICAgPFR5cGUgdHlwZT0iZmxvYXQiLz4KLSAgICAgICAgPC9Bcmd1bWVudD4K
LSAgICAgIDwvQXJndW1lbnRMaXN0PgotICAgIDwvT3BlcmF0aW9uPgotICA8L0ludGVyZmFjZT4K
LTwvRGVmaW5pdGlvbnM+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwv
aWRlbnRpZmllci1xdWFsaWZpZWQtbmFtZXMud2lkbHByb2N4bWwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL2lkZW50aWZpZXItcXVhbGlmaWVkLW5hbWVz
LndpZGxwcm9jeG1sCShyZXZpc2lvbiAyNTI4OTYpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVz
dC92YWxpZC94bWwvaWRlbnRpZmllci1xdWFsaWZpZWQtbmFtZXMud2lkbHByb2N4bWwJKG5vbmV4
aXN0ZW50KQpAQCAtMSwxMDcgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0i
VVRGLTgiPz4KLTwhRE9DVFlQRSBEZWZpbml0aW9ucyBTWVNURU0gIndpZGxwcm9jeG1sLmR0ZCI+
Ci08RGVmaW5pdGlvbnM+Ci0gIDx3ZWJpZGw+ICB0eXBlZGVmIGZsb2F0IG51bWJlcjsKLQotICBl
eGNlcHRpb24gRnJhbWV3b3JrRXhjZXB0aW9uIHsKLQotICAgIGNvbnN0IGxvbmcgRVJSX05PVF9G
T1VORCA9IDE7Ci0KLSAgICBsb25nIGNvZGU7Ci0gIH07Ci0KLSAgaW50ZXJmYWNlIFN5c3RlbSB7
Ci0KLSAgICBvYmplY3QgY3JlYXRlT2JqZWN0KERPTVN0cmluZyBfaW50ZXJmYWNlKTsKLQotICAg
IGdldHRlciBET01TdHJpbmcgKERPTVN0cmluZyBrZXlOYW1lKTsKLSAgfTsKLQotICAgIAotICAg
IGludGVyZmFjZSBUZXh0RmllbGQgewotCi0gICAgICBhdHRyaWJ1dGUgYm9vbGVhbiBfY29uc3Q7
Ci0KLSAgICAgIGF0dHJpYnV0ZSBET01TdHJpbmc/IF92YWx1ZTsKLSAgICB9OwotCi1pbnRlcmZh
Y2UgRm9vIHsKLSB2b2lkIG9wKG9iamVjdCBpbnRlcmZhY2UpOwotfTs8L3dlYmlkbD4KLSAgPFR5
cGVkZWYgbmFtZT0ibnVtYmVyIiBpZD0iOjpudW1iZXIiPgotICAgIDx3ZWJpZGw+ICB0eXBlZGVm
IGZsb2F0IG51bWJlcjs8L3dlYmlkbD4KLSAgICA8VHlwZSB0eXBlPSJmbG9hdCIvPgotICA8L1R5
cGVkZWY+Ci0gIDxFeGNlcHRpb24gbmFtZT0iRnJhbWV3b3JrRXhjZXB0aW9uIiBpZD0iOjpGcmFt
ZXdvcmtFeGNlcHRpb24iPgotICAgIDx3ZWJpZGw+ICBleGNlcHRpb24gRnJhbWV3b3JrRXhjZXB0
aW9uIHsKLQotICAgIGNvbnN0IGxvbmcgRVJSX05PVF9GT1VORCA9IDE7Ci0KLSAgICBsb25nIGNv
ZGU7Ci0gIH07PC93ZWJpZGw+Ci0gICAgPENvbnN0IG5hbWU9IkVSUl9OT1RfRk9VTkQiIHZhbHVl
PSIxIiBpZD0iOjpGcmFtZXdvcmtFeGNlcHRpb246OkVSUl9OT1RfRk9VTkQiPgotICAgICAgPHdl
YmlkbD4gICAgY29uc3QgbG9uZyBFUlJfTk9UX0ZPVU5EID0gMTs8L3dlYmlkbD4KLSAgICAgIDxU
eXBlIHR5cGU9ImxvbmciLz4KLSAgICA8L0NvbnN0PgotICAgIDxFeGNlcHRpb25GaWVsZCBuYW1l
PSJjb2RlIiBpZD0iOjpGcmFtZXdvcmtFeGNlcHRpb246OmNvZGUiPgotICAgICAgPHdlYmlkbD4g
ICAgbG9uZyBjb2RlOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0ibG9uZyIvPgotICAgIDwv
RXhjZXB0aW9uRmllbGQ+Ci0gIDwvRXhjZXB0aW9uPgotICA8SW50ZXJmYWNlIG5hbWU9IlN5c3Rl
bSIgaWQ9Ijo6U3lzdGVtIj4KLSAgICA8d2ViaWRsPiAgaW50ZXJmYWNlIFN5c3RlbSB7Ci0KLSAg
ICBvYmplY3QgY3JlYXRlT2JqZWN0KERPTVN0cmluZyBfaW50ZXJmYWNlKTsKLQotICAgIGdldHRl
ciBET01TdHJpbmcgKERPTVN0cmluZyBrZXlOYW1lKTsKLSAgfTs8L3dlYmlkbD4KLSAgICA8T3Bl
cmF0aW9uIG5hbWU9ImNyZWF0ZU9iamVjdCIgaWQ9Ijo6U3lzdGVtOjpjcmVhdGVPYmplY3QiPgot
ICAgICAgPHdlYmlkbD4gICAgb2JqZWN0IGNyZWF0ZU9iamVjdChET01TdHJpbmcgX2ludGVyZmFj
ZSk7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJvYmplY3QiLz4KLSAgICAgIDxBcmd1bWVu
dExpc3Q+Ci0gICAgICAgIDxBcmd1bWVudCBuYW1lPSJfaW50ZXJmYWNlIj4KLSAgICAgICAgICA8
VHlwZSB0eXBlPSJET01TdHJpbmciLz4KLSAgICAgICAgPC9Bcmd1bWVudD4KLSAgICAgIDwvQXJn
dW1lbnRMaXN0PgotICAgIDwvT3BlcmF0aW9uPgotICAgIDxPcGVyYXRpb24gZ2V0dGVyPSJnZXR0
ZXIiPgotICAgICAgPHdlYmlkbD4gICAgZ2V0dGVyIERPTVN0cmluZyAoRE9NU3RyaW5nIGtleU5h
bWUpOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0iRE9NU3RyaW5nIi8+Ci0gICAgICA8QXJn
dW1lbnRMaXN0PgotICAgICAgICA8QXJndW1lbnQgbmFtZT0ia2V5TmFtZSI+Ci0gICAgICAgICAg
PFR5cGUgdHlwZT0iRE9NU3RyaW5nIi8+Ci0gICAgICAgIDwvQXJndW1lbnQ+Ci0gICAgICA8L0Fy
Z3VtZW50TGlzdD4KLSAgICA8L09wZXJhdGlvbj4KLSAgPC9JbnRlcmZhY2U+Ci0gIDxJbnRlcmZh
Y2UgbmFtZT0iVGV4dEZpZWxkIiBpZD0iOjpUZXh0RmllbGQiPgotICAgIDx3ZWJpZGw+ICAgIGlu
dGVyZmFjZSBUZXh0RmllbGQgewotCi0gICAgICBhdHRyaWJ1dGUgYm9vbGVhbiBfY29uc3Q7Ci0K
LSAgICAgIGF0dHJpYnV0ZSBET01TdHJpbmc/IF92YWx1ZTsKLSAgICB9Ozwvd2ViaWRsPgotICAg
IDxBdHRyaWJ1dGUgbmFtZT0iX2NvbnN0IiBpZD0iOjpUZXh0RmllbGQ6Ol9jb25zdCI+Ci0gICAg
ICA8d2ViaWRsPiAgICAgIGF0dHJpYnV0ZSBib29sZWFuIF9jb25zdDs8L3dlYmlkbD4KLSAgICAg
IDxUeXBlIHR5cGU9ImJvb2xlYW4iLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAgICA8QXR0cmlidXRl
IG5hbWU9Il92YWx1ZSIgaWQ9Ijo6VGV4dEZpZWxkOjpfdmFsdWUiPgotICAgICAgPHdlYmlkbD4g
ICAgICBhdHRyaWJ1dGUgRE9NU3RyaW5nPyBfdmFsdWU7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0
eXBlPSJET01TdHJpbmciIG51bGxhYmxlPSJudWxsYWJsZSIvPgotICAgIDwvQXR0cmlidXRlPgot
ICA8L0ludGVyZmFjZT4KLSAgPEludGVyZmFjZSBuYW1lPSJGb28iIGlkPSI6OkZvbyI+Ci0gICAg
PHdlYmlkbD5pbnRlcmZhY2UgRm9vIHsKLSB2b2lkIG9wKG9iamVjdCBpbnRlcmZhY2UpOwotfTs8
L3dlYmlkbD4KLSAgICA8T3BlcmF0aW9uIG5hbWU9Im9wIiBpZD0iOjpGb286Om9wIj4KLSAgICAg
IDx3ZWJpZGw+IHZvaWQgb3Aob2JqZWN0IGludGVyZmFjZSk7PC93ZWJpZGw+Ci0gICAgICA8VHlw
ZSB0eXBlPSJ2b2lkIi8+Ci0gICAgICA8QXJndW1lbnRMaXN0PgotICAgICAgICA8QXJndW1lbnQg
bmFtZT0iaW50ZXJmYWNlIj4KLSAgICAgICAgICA8VHlwZSB0eXBlPSJvYmplY3QiLz4KLSAgICAg
ICAgPC9Bcmd1bWVudD4KLSAgICAgIDwvQXJndW1lbnRMaXN0PgotICAgIDwvT3BlcmF0aW9uPgot
ICA8L0ludGVyZmFjZT4KLTwvRGVmaW5pdGlvbnM+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mv
dGVzdC92YWxpZC94bWwvaW1wbGVtZW50cy53aWRscHJvY3htbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvaW1wbGVtZW50cy53aWRscHJvY3htbAkocmV2
aXNpb24gMjUyODk2KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL2ltcGxl
bWVudHMud2lkbHByb2N4bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSw1MSArMCwwIEBACi08P3htbCB2
ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgotPCFET0NUWVBFIERlZmluaXRpb25zIFNZ
U1RFTSAid2lkbHByb2N4bWwuZHRkIj4KLTxEZWZpbml0aW9ucz4KLSAgPHdlYmlkbD4gIGludGVy
ZmFjZSBOb2RlIHsKLSAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgc2hvcnQgbm9kZVR5
cGU7Ci0gIH07Ci0KLSAgaW50ZXJmYWNlIEV2ZW50VGFyZ2V0IHsKLSAgICB2b2lkIGFkZEV2ZW50
TGlzdGVuZXIoRE9NU3RyaW5nIHR5cGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWY+
RXZlbnRMaXN0ZW5lcjwvcmVmPiBsaXN0ZW5lciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
Ym9vbGVhbiB1c2VDYXB0dXJlKTsKLSAgfTsKLQotICA8cmVmPk5vZGU8L3JlZj4gaW1wbGVtZW50
cyA8cmVmPkV2ZW50VGFyZ2V0PC9yZWY+Ozwvd2ViaWRsPgotICA8SW50ZXJmYWNlIG5hbWU9Ik5v
ZGUiIGlkPSI6Ok5vZGUiPgotICAgIDx3ZWJpZGw+ICBpbnRlcmZhY2UgTm9kZSB7Ci0gICAgcmVh
ZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIHNob3J0IG5vZGVUeXBlOwotICB9Ozwvd2ViaWRsPgot
ICAgIDxBdHRyaWJ1dGUgcmVhZG9ubHk9InJlYWRvbmx5IiBuYW1lPSJub2RlVHlwZSIgaWQ9Ijo6
Tm9kZTo6bm9kZVR5cGUiPgotICAgICAgPHdlYmlkbD4gICAgcmVhZG9ubHkgYXR0cmlidXRlIHVu
c2lnbmVkIHNob3J0IG5vZGVUeXBlOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0idW5zaWdu
ZWQgc2hvcnQiLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAgPC9JbnRlcmZhY2U+Ci0gIDxJbnRlcmZh
Y2UgbmFtZT0iRXZlbnRUYXJnZXQiIGlkPSI6OkV2ZW50VGFyZ2V0Ij4KLSAgICA8d2ViaWRsPiAg
aW50ZXJmYWNlIEV2ZW50VGFyZ2V0IHsKLSAgICB2b2lkIGFkZEV2ZW50TGlzdGVuZXIoRE9NU3Ry
aW5nIHR5cGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWY+RXZlbnRMaXN0ZW5lcjwv
cmVmPiBsaXN0ZW5lciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbGVhbiB1c2VDYXB0
dXJlKTsKLSAgfTs8L3dlYmlkbD4KLSAgICA8T3BlcmF0aW9uIG5hbWU9ImFkZEV2ZW50TGlzdGVu
ZXIiIGlkPSI6OkV2ZW50VGFyZ2V0OjphZGRFdmVudExpc3RlbmVyIj4KLSAgICAgIDx3ZWJpZGw+
ICAgIHZvaWQgYWRkRXZlbnRMaXN0ZW5lcihET01TdHJpbmcgdHlwZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgPHJlZj5FdmVudExpc3RlbmVyPC9yZWY+IGxpc3RlbmVyLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICBib29sZWFuIHVzZUNhcHR1cmUpOzwvd2ViaWRsPgotICAgICAgPFR5
cGUgdHlwZT0idm9pZCIvPgotICAgICAgPEFyZ3VtZW50TGlzdD4KLSAgICAgICAgPEFyZ3VtZW50
IG5hbWU9InR5cGUiPgotICAgICAgICAgIDxUeXBlIHR5cGU9IkRPTVN0cmluZyIvPgotICAgICAg
ICA8L0FyZ3VtZW50PgotICAgICAgICA8QXJndW1lbnQgbmFtZT0ibGlzdGVuZXIiPgotICAgICAg
ICAgIDxUeXBlIG5hbWU9IkV2ZW50TGlzdGVuZXIiLz4KLSAgICAgICAgPC9Bcmd1bWVudD4KLSAg
ICAgICAgPEFyZ3VtZW50IG5hbWU9InVzZUNhcHR1cmUiPgotICAgICAgICAgIDxUeXBlIHR5cGU9
ImJvb2xlYW4iLz4KLSAgICAgICAgPC9Bcmd1bWVudD4KLSAgICAgIDwvQXJndW1lbnRMaXN0Pgot
ICAgIDwvT3BlcmF0aW9uPgotICA8L0ludGVyZmFjZT4KLSAgPEltcGxlbWVudHMgbmFtZTE9Ik5v
ZGUiIG5hbWUyPSJFdmVudFRhcmdldCI+Ci0gICAgPHdlYmlkbD4gIDxyZWY+Tm9kZTwvcmVmPiBp
bXBsZW1lbnRzIDxyZWY+RXZlbnRUYXJnZXQ8L3JlZj47PC93ZWJpZGw+Ci0gIDwvSW1wbGVtZW50
cz4KLTwvRGVmaW5pdGlvbnM+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94
bWwvaW5kZXhlZC1wcm9wZXJ0aWVzLndpZGxwcm9jeG1sCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9pbmRleGVkLXByb3BlcnRpZXMud2lkbHByb2N4bWwJ
KHJldmlzaW9uIDI1Mjg5NikKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9p
bmRleGVkLXByb3BlcnRpZXMud2lkbHByb2N4bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSw5MiArMCww
IEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgotPCFET0NUWVBFIERl
ZmluaXRpb25zIFNZU1RFTSAid2lkbHByb2N4bWwuZHRkIj4KLTxEZWZpbml0aW9ucz4KLSAgPHdl
YmlkbD5pbnRlcmZhY2UgT3JkZXJlZE1hcCB7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25l
ZCBsb25nIHNpemU7Ci0KLSAgZ2V0dGVyIGFueSBnZXRCeUluZGV4KHVuc2lnbmVkIGxvbmcgaW5k
ZXgpOwotICBzZXR0ZXIgdm9pZCBzZXRCeUluZGV4KHVuc2lnbmVkIGxvbmcgaW5kZXgsIGFueSB2
YWx1ZSk7Ci0gIGRlbGV0ZXIgdm9pZCByZW1vdmVCeUluZGV4KHVuc2lnbmVkIGxvbmcgaW5kZXgp
OwotCi0gIGdldHRlciBhbnkgZ2V0KERPTVN0cmluZyBuYW1lKTsKLSAgc2V0dGVyIGNyZWF0b3Ig
dm9pZCBzZXQoRE9NU3RyaW5nIG5hbWUsIGFueSB2YWx1ZSk7Ci0gIGRlbGV0ZXIgdm9pZCByZW1v
dmUoRE9NU3RyaW5nIG5hbWUpOwotfTs8L3dlYmlkbD4KLSAgPEludGVyZmFjZSBuYW1lPSJPcmRl
cmVkTWFwIiBpZD0iOjpPcmRlcmVkTWFwIj4KLSAgICA8d2ViaWRsPmludGVyZmFjZSBPcmRlcmVk
TWFwIHsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgc2l6ZTsKLQotICBnZXR0
ZXIgYW55IGdldEJ5SW5kZXgodW5zaWduZWQgbG9uZyBpbmRleCk7Ci0gIHNldHRlciB2b2lkIHNl
dEJ5SW5kZXgodW5zaWduZWQgbG9uZyBpbmRleCwgYW55IHZhbHVlKTsKLSAgZGVsZXRlciB2b2lk
IHJlbW92ZUJ5SW5kZXgodW5zaWduZWQgbG9uZyBpbmRleCk7Ci0KLSAgZ2V0dGVyIGFueSBnZXQo
RE9NU3RyaW5nIG5hbWUpOwotICBzZXR0ZXIgY3JlYXRvciB2b2lkIHNldChET01TdHJpbmcgbmFt
ZSwgYW55IHZhbHVlKTsKLSAgZGVsZXRlciB2b2lkIHJlbW92ZShET01TdHJpbmcgbmFtZSk7Ci19
Ozwvd2ViaWRsPgotICAgIDxBdHRyaWJ1dGUgcmVhZG9ubHk9InJlYWRvbmx5IiBuYW1lPSJzaXpl
IiBpZD0iOjpPcmRlcmVkTWFwOjpzaXplIj4KLSAgICAgIDx3ZWJpZGw+ICByZWFkb25seSBhdHRy
aWJ1dGUgdW5zaWduZWQgbG9uZyBzaXplOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0idW5z
aWduZWQgbG9uZyIvPgotICAgIDwvQXR0cmlidXRlPgotICAgIDxPcGVyYXRpb24gZ2V0dGVyPSJn
ZXR0ZXIiIG5hbWU9ImdldEJ5SW5kZXgiIGlkPSI6Ok9yZGVyZWRNYXA6OmdldEJ5SW5kZXgiPgot
ICAgICAgPHdlYmlkbD4gIGdldHRlciBhbnkgZ2V0QnlJbmRleCh1bnNpZ25lZCBsb25nIGluZGV4
KTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9ImFueSIvPgotICAgICAgPEFyZ3VtZW50TGlz
dD4KLSAgICAgICAgPEFyZ3VtZW50IG5hbWU9ImluZGV4Ij4KLSAgICAgICAgICA8VHlwZSB0eXBl
PSJ1bnNpZ25lZCBsb25nIi8+Ci0gICAgICAgIDwvQXJndW1lbnQ+Ci0gICAgICA8L0FyZ3VtZW50
TGlzdD4KLSAgICA8L09wZXJhdGlvbj4KLSAgICA8T3BlcmF0aW9uIHNldHRlcj0ic2V0dGVyIiBu
YW1lPSJzZXRCeUluZGV4IiBpZD0iOjpPcmRlcmVkTWFwOjpzZXRCeUluZGV4Ij4KLSAgICAgIDx3
ZWJpZGw+ICBzZXR0ZXIgdm9pZCBzZXRCeUluZGV4KHVuc2lnbmVkIGxvbmcgaW5kZXgsIGFueSB2
YWx1ZSk7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJ2b2lkIi8+Ci0gICAgICA8QXJndW1l
bnRMaXN0PgotICAgICAgICA8QXJndW1lbnQgbmFtZT0iaW5kZXgiPgotICAgICAgICAgIDxUeXBl
IHR5cGU9InVuc2lnbmVkIGxvbmciLz4KLSAgICAgICAgPC9Bcmd1bWVudD4KLSAgICAgICAgPEFy
Z3VtZW50IG5hbWU9InZhbHVlIj4KLSAgICAgICAgICA8VHlwZSB0eXBlPSJhbnkiLz4KLSAgICAg
ICAgPC9Bcmd1bWVudD4KLSAgICAgIDwvQXJndW1lbnRMaXN0PgotICAgIDwvT3BlcmF0aW9uPgot
ICAgIDxPcGVyYXRpb24gZGVsZXRlcj0iZGVsZXRlciIgbmFtZT0icmVtb3ZlQnlJbmRleCIgaWQ9
Ijo6T3JkZXJlZE1hcDo6cmVtb3ZlQnlJbmRleCI+Ci0gICAgICA8d2ViaWRsPiAgZGVsZXRlciB2
b2lkIHJlbW92ZUJ5SW5kZXgodW5zaWduZWQgbG9uZyBpbmRleCk7PC93ZWJpZGw+Ci0gICAgICA8
VHlwZSB0eXBlPSJ2b2lkIi8+Ci0gICAgICA8QXJndW1lbnRMaXN0PgotICAgICAgICA8QXJndW1l
bnQgbmFtZT0iaW5kZXgiPgotICAgICAgICAgIDxUeXBlIHR5cGU9InVuc2lnbmVkIGxvbmciLz4K
LSAgICAgICAgPC9Bcmd1bWVudD4KLSAgICAgIDwvQXJndW1lbnRMaXN0PgotICAgIDwvT3BlcmF0
aW9uPgotICAgIDxPcGVyYXRpb24gZ2V0dGVyPSJnZXR0ZXIiIG5hbWU9ImdldCIgaWQ9Ijo6T3Jk
ZXJlZE1hcDo6Z2V0Ij4KLSAgICAgIDx3ZWJpZGw+ICBnZXR0ZXIgYW55IGdldChET01TdHJpbmcg
bmFtZSk7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJhbnkiLz4KLSAgICAgIDxBcmd1bWVu
dExpc3Q+Ci0gICAgICAgIDxBcmd1bWVudCBuYW1lPSJuYW1lIj4KLSAgICAgICAgICA8VHlwZSB0
eXBlPSJET01TdHJpbmciLz4KLSAgICAgICAgPC9Bcmd1bWVudD4KLSAgICAgIDwvQXJndW1lbnRM
aXN0PgotICAgIDwvT3BlcmF0aW9uPgotICAgIDxPcGVyYXRpb24gc2V0dGVyPSJzZXR0ZXIiIGNy
ZWF0b3I9ImNyZWF0b3IiIG5hbWU9InNldCIgaWQ9Ijo6T3JkZXJlZE1hcDo6c2V0Ij4KLSAgICAg
IDx3ZWJpZGw+ICBzZXR0ZXIgY3JlYXRvciB2b2lkIHNldChET01TdHJpbmcgbmFtZSwgYW55IHZh
bHVlKTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9InZvaWQiLz4KLSAgICAgIDxBcmd1bWVu
dExpc3Q+Ci0gICAgICAgIDxBcmd1bWVudCBuYW1lPSJuYW1lIj4KLSAgICAgICAgICA8VHlwZSB0
eXBlPSJET01TdHJpbmciLz4KLSAgICAgICAgPC9Bcmd1bWVudD4KLSAgICAgICAgPEFyZ3VtZW50
IG5hbWU9InZhbHVlIj4KLSAgICAgICAgICA8VHlwZSB0eXBlPSJhbnkiLz4KLSAgICAgICAgPC9B
cmd1bWVudD4KLSAgICAgIDwvQXJndW1lbnRMaXN0PgotICAgIDwvT3BlcmF0aW9uPgotICAgIDxP
cGVyYXRpb24gZGVsZXRlcj0iZGVsZXRlciIgbmFtZT0icmVtb3ZlIiBpZD0iOjpPcmRlcmVkTWFw
OjpyZW1vdmUiPgotICAgICAgPHdlYmlkbD4gIGRlbGV0ZXIgdm9pZCByZW1vdmUoRE9NU3RyaW5n
IG5hbWUpOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0idm9pZCIvPgotICAgICAgPEFyZ3Vt
ZW50TGlzdD4KLSAgICAgICAgPEFyZ3VtZW50IG5hbWU9Im5hbWUiPgotICAgICAgICAgIDxUeXBl
IHR5cGU9IkRPTVN0cmluZyIvPgotICAgICAgICA8L0FyZ3VtZW50PgotICAgICAgPC9Bcmd1bWVu
dExpc3Q+Ci0gICAgPC9PcGVyYXRpb24+Ci0gIDwvSW50ZXJmYWNlPgotPC9EZWZpbml0aW9ucz4K
SW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9pbmhlcml0cy1nZXR0ZXIu
d2lkbHByb2N4bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQv
eG1sL2luaGVyaXRzLWdldHRlci53aWRscHJvY3htbAkocmV2aXNpb24gMjUyODk2KQorKysgTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL2luaGVyaXRzLWdldHRlci53aWRscHJvY3ht
bAkobm9uZXhpc3RlbnQpCkBAIC0xLDQ0ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5j
b2Rpbmc9IlVURi04Ij8+Ci08IURPQ1RZUEUgRGVmaW5pdGlvbnMgU1lTVEVNICJ3aWRscHJvY3ht
bC5kdGQiPgotPERlZmluaXRpb25zPgotICA8d2ViaWRsPmludGVyZmFjZSBBbmltYWwgewotCi0g
IHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgbmFtZTsKLX07Ci0KLWludGVyZmFjZSBQZXJz
b24gOiA8cmVmPkFuaW1hbDwvcmVmPiB7Ci0KLSAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVk
IHNob3J0IGFnZTsKLQotICBpbmhlcml0IGF0dHJpYnV0ZSBET01TdHJpbmcgbmFtZTsKLX07PC93
ZWJpZGw+Ci0gIDxJbnRlcmZhY2UgbmFtZT0iQW5pbWFsIiBpZD0iOjpBbmltYWwiPgotICAgIDx3
ZWJpZGw+aW50ZXJmYWNlIEFuaW1hbCB7Ci0KLSAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmlu
ZyBuYW1lOwotfTs8L3dlYmlkbD4KLSAgICA8QXR0cmlidXRlIHJlYWRvbmx5PSJyZWFkb25seSIg
bmFtZT0ibmFtZSIgaWQ9Ijo6QW5pbWFsOjpuYW1lIj4KLSAgICAgIDx3ZWJpZGw+ICByZWFkb25s
eSBhdHRyaWJ1dGUgRE9NU3RyaW5nIG5hbWU7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJE
T01TdHJpbmciLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAgPC9JbnRlcmZhY2U+Ci0gIDxJbnRlcmZh
Y2UgbmFtZT0iUGVyc29uIiBpZD0iOjpQZXJzb24iPgotICAgIDx3ZWJpZGw+aW50ZXJmYWNlIFBl
cnNvbiA6IDxyZWY+QW5pbWFsPC9yZWY+IHsKLQotICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWdu
ZWQgc2hvcnQgYWdlOwotCi0gIGluaGVyaXQgYXR0cmlidXRlIERPTVN0cmluZyBuYW1lOwotfTs8
L3dlYmlkbD4KLSAgICA8SW50ZXJmYWNlSW5oZXJpdGFuY2U+Ci0gICAgICA8TmFtZSBuYW1lPSJB
bmltYWwiLz4KLSAgICA8L0ludGVyZmFjZUluaGVyaXRhbmNlPgotICAgIDxBdHRyaWJ1dGUgcmVh
ZG9ubHk9InJlYWRvbmx5IiBuYW1lPSJhZ2UiIGlkPSI6OlBlcnNvbjo6YWdlIj4KLSAgICAgIDx3
ZWJpZGw+ICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgc2hvcnQgYWdlOzwvd2ViaWRsPgot
ICAgICAgPFR5cGUgdHlwZT0idW5zaWduZWQgc2hvcnQiLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAg
ICA8QXR0cmlidXRlIGluaGVyaXQ9ImluaGVyaXQiIG5hbWU9Im5hbWUiIGlkPSI6OlBlcnNvbjo6
bmFtZSI+Ci0gICAgICA8d2ViaWRsPiAgaW5oZXJpdCBhdHRyaWJ1dGUgRE9NU3RyaW5nIG5hbWU7
PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJET01TdHJpbmciLz4KLSAgICA8L0F0dHJpYnV0
ZT4KLSAgPC9JbnRlcmZhY2U+Ci08L0RlZmluaXRpb25zPgpJbmRleDogTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxw
cm9jL3Rlc3QvdmFsaWQveG1sL2ludGVyZmFjZS1pbmhlcml0cy53aWRscHJvY3htbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvaW50ZXJmYWNlLWluaGVy
aXRzLndpZGxwcm9jeG1sCShyZXZpc2lvbiAyNTI4OTYpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mv
dGVzdC92YWxpZC94bWwvaW50ZXJmYWNlLWluaGVyaXRzLndpZGxwcm9jeG1sCShub25leGlzdGVu
dCkKQEAgLTEsNDggKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgi
Pz4KLTwhRE9DVFlQRSBEZWZpbml0aW9ucyBTWVNURU0gIndpZGxwcm9jeG1sLmR0ZCI+Ci08RGVm
aW5pdGlvbnM+Ci0gIDx3ZWJpZGw+aW50ZXJmYWNlIEFuaW1hbCB7Ci0gIGF0dHJpYnV0ZSBET01T
dHJpbmcgbmFtZTsKLX07Ci0KLWludGVyZmFjZSBIdW1hbiA6IDxyZWY+QW5pbWFsPC9yZWY+IHsK
LSAgYXR0cmlidXRlIDxyZWY+RG9nPC9yZWY+IHBldDsKLX07Ci0KLWludGVyZmFjZSBEb2cgOiA8
cmVmPkFuaW1hbDwvcmVmPiB7Ci0gIGF0dHJpYnV0ZSA8cmVmPkh1bWFuPC9yZWY+IG93bmVyOwot
fTs8L3dlYmlkbD4KLSAgPEludGVyZmFjZSBuYW1lPSJBbmltYWwiIGlkPSI6OkFuaW1hbCI+Ci0g
ICAgPHdlYmlkbD5pbnRlcmZhY2UgQW5pbWFsIHsKLSAgYXR0cmlidXRlIERPTVN0cmluZyBuYW1l
OwotfTs8L3dlYmlkbD4KLSAgICA8QXR0cmlidXRlIG5hbWU9Im5hbWUiIGlkPSI6OkFuaW1hbDo6
bmFtZSI+Ci0gICAgICA8d2ViaWRsPiAgYXR0cmlidXRlIERPTVN0cmluZyBuYW1lOzwvd2ViaWRs
PgotICAgICAgPFR5cGUgdHlwZT0iRE9NU3RyaW5nIi8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gIDwv
SW50ZXJmYWNlPgotICA8SW50ZXJmYWNlIG5hbWU9Ikh1bWFuIiBpZD0iOjpIdW1hbiI+Ci0gICAg
PHdlYmlkbD5pbnRlcmZhY2UgSHVtYW4gOiA8cmVmPkFuaW1hbDwvcmVmPiB7Ci0gIGF0dHJpYnV0
ZSA8cmVmPkRvZzwvcmVmPiBwZXQ7Ci19Ozwvd2ViaWRsPgotICAgIDxJbnRlcmZhY2VJbmhlcml0
YW5jZT4KLSAgICAgIDxOYW1lIG5hbWU9IkFuaW1hbCIvPgotICAgIDwvSW50ZXJmYWNlSW5oZXJp
dGFuY2U+Ci0gICAgPEF0dHJpYnV0ZSBuYW1lPSJwZXQiIGlkPSI6Okh1bWFuOjpwZXQiPgotICAg
ICAgPHdlYmlkbD4gIGF0dHJpYnV0ZSA8cmVmPkRvZzwvcmVmPiBwZXQ7PC93ZWJpZGw+Ci0gICAg
ICA8VHlwZSBuYW1lPSJEb2ciLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAgPC9JbnRlcmZhY2U+Ci0g
IDxJbnRlcmZhY2UgbmFtZT0iRG9nIiBpZD0iOjpEb2ciPgotICAgIDx3ZWJpZGw+aW50ZXJmYWNl
IERvZyA6IDxyZWY+QW5pbWFsPC9yZWY+IHsKLSAgYXR0cmlidXRlIDxyZWY+SHVtYW48L3JlZj4g
b3duZXI7Ci19Ozwvd2ViaWRsPgotICAgIDxJbnRlcmZhY2VJbmhlcml0YW5jZT4KLSAgICAgIDxO
YW1lIG5hbWU9IkFuaW1hbCIvPgotICAgIDwvSW50ZXJmYWNlSW5oZXJpdGFuY2U+Ci0gICAgPEF0
dHJpYnV0ZSBuYW1lPSJvd25lciIgaWQ9Ijo6RG9nOjpvd25lciI+Ci0gICAgICA8d2ViaWRsPiAg
YXR0cmlidXRlIDxyZWY+SHVtYW48L3JlZj4gb3duZXI7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSBu
YW1lPSJIdW1hbiIvPgotICAgIDwvQXR0cmlidXRlPgotICA8L0ludGVyZmFjZT4KLTwvRGVmaW5p
dGlvbnM+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvaXRlcmF0b3Iu
d2lkbHByb2N4bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQv
eG1sL2l0ZXJhdG9yLndpZGxwcm9jeG1sCShyZXZpc2lvbiAyNTI4OTYpCisrKyBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
d2lkbHByb2MvdGVzdC92YWxpZC94bWwvaXRlcmF0b3Iud2lkbHByb2N4bWwJKG5vbmV4aXN0ZW50
KQpAQCAtMSwxMzIgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgi
Pz4KLTwhRE9DVFlQRSBEZWZpbml0aW9ucyBTWVNURU0gIndpZGxwcm9jeG1sLmR0ZCI+Ci08RGVm
aW5pdGlvbnM+Ci0gIDx3ZWJpZGw+aW50ZXJmYWNlIFNlc3Npb25NYW5hZ2VyIHsKLSAgPHJlZj5T
ZXNzaW9uPC9yZWY+IGdldFNlc3Npb25Gb3JVc2VyKERPTVN0cmluZyB1c2VybmFtZSk7Ci0gIHJl
YWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIHNlc3Npb25Db3VudDsKLQotICA8cmVmPlNl
c3Npb248L3JlZj4gaXRlcmF0b3I7Ci19OwotCi1pbnRlcmZhY2UgU2Vzc2lvbiB7Ci0gIHJlYWRv
bmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgdXNlcm5hbWU7Ci19OwotCi1pbnRlcmZhY2UgU2Vzc2lv
bk1hbmFnZXIyIHsKLSAgPHJlZj5TZXNzaW9uMjwvcmVmPiBnZXRTZXNzaW9uRm9yVXNlcihET01T
dHJpbmcgdXNlcm5hbWUpOwotICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBzZXNz
aW9uQ291bnQ7Ci0KLSAgPHJlZj5TZXNzaW9uMjwvcmVmPiBpdGVyYXRvciA9IFNlc3Npb25JdGVy
YXRvcjsKLX07Ci0KLWludGVyZmFjZSBTZXNzaW9uMiB7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSBE
T01TdHJpbmcgdXNlcm5hbWU7Ci19OwotCi1pbnRlcmZhY2UgU2Vzc2lvbkl0ZXJhdG9yIHsKLSAg
cmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgcmVtYWluaW5nU2Vzc2lvbnM7Ci19Owot
Ci0gICAgIGludGVyZmFjZSBOb2RlTGlzdCB7Ci0gICAgICAgPHJlZj5Ob2RlPC9yZWY+IGl0ZXJh
dG9yID0gTm9kZUl0ZXJhdG9yOwotICAgICB9OwotCi0gICAgIGludGVyZmFjZSBOb2RlSXRlcmF0
b3IgewotICAgICAgIDxyZWY+Tm9kZTwvcmVmPiBpdGVyYXRvciBvYmplY3Q7Ci0gICAgIH07PC93
ZWJpZGw+Ci0gIDxJbnRlcmZhY2UgbmFtZT0iU2Vzc2lvbk1hbmFnZXIiIGlkPSI6OlNlc3Npb25N
YW5hZ2VyIj4KLSAgICA8d2ViaWRsPmludGVyZmFjZSBTZXNzaW9uTWFuYWdlciB7Ci0gIDxyZWY+
U2Vzc2lvbjwvcmVmPiBnZXRTZXNzaW9uRm9yVXNlcihET01TdHJpbmcgdXNlcm5hbWUpOwotICBy
ZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBzZXNzaW9uQ291bnQ7Ci0KLSAgPHJlZj5T
ZXNzaW9uPC9yZWY+IGl0ZXJhdG9yOwotfTs8L3dlYmlkbD4KLSAgICA8T3BlcmF0aW9uIG5hbWU9
ImdldFNlc3Npb25Gb3JVc2VyIiBpZD0iOjpTZXNzaW9uTWFuYWdlcjo6Z2V0U2Vzc2lvbkZvclVz
ZXIiPgotICAgICAgPHdlYmlkbD4gIDxyZWY+U2Vzc2lvbjwvcmVmPiBnZXRTZXNzaW9uRm9yVXNl
cihET01TdHJpbmcgdXNlcm5hbWUpOzwvd2ViaWRsPgotICAgICAgPFR5cGUgbmFtZT0iU2Vzc2lv
biIvPgotICAgICAgPEFyZ3VtZW50TGlzdD4KLSAgICAgICAgPEFyZ3VtZW50IG5hbWU9InVzZXJu
YW1lIj4KLSAgICAgICAgICA8VHlwZSB0eXBlPSJET01TdHJpbmciLz4KLSAgICAgICAgPC9Bcmd1
bWVudD4KLSAgICAgIDwvQXJndW1lbnRMaXN0PgotICAgIDwvT3BlcmF0aW9uPgotICAgIDxBdHRy
aWJ1dGUgcmVhZG9ubHk9InJlYWRvbmx5IiBuYW1lPSJzZXNzaW9uQ291bnQiIGlkPSI6OlNlc3Np
b25NYW5hZ2VyOjpzZXNzaW9uQ291bnQiPgotICAgICAgPHdlYmlkbD4gIHJlYWRvbmx5IGF0dHJp
YnV0ZSB1bnNpZ25lZCBsb25nIHNlc3Npb25Db3VudDs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5
cGU9InVuc2lnbmVkIGxvbmciLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAgICA8SXRlcmF0b3I+Ci0g
ICAgICA8d2ViaWRsPiAgPHJlZj5TZXNzaW9uPC9yZWY+IGl0ZXJhdG9yOzwvd2ViaWRsPgotICAg
ICAgPFR5cGUgbmFtZT0iU2Vzc2lvbiIvPgotICAgIDwvSXRlcmF0b3I+Ci0gIDwvSW50ZXJmYWNl
PgotICA8SW50ZXJmYWNlIG5hbWU9IlNlc3Npb24iIGlkPSI6OlNlc3Npb24iPgotICAgIDx3ZWJp
ZGw+aW50ZXJmYWNlIFNlc3Npb24gewotICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHVz
ZXJuYW1lOwotfTs8L3dlYmlkbD4KLSAgICA8QXR0cmlidXRlIHJlYWRvbmx5PSJyZWFkb25seSIg
bmFtZT0idXNlcm5hbWUiIGlkPSI6OlNlc3Npb246OnVzZXJuYW1lIj4KLSAgICAgIDx3ZWJpZGw+
ICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHVzZXJuYW1lOzwvd2ViaWRsPgotICAgICAg
PFR5cGUgdHlwZT0iRE9NU3RyaW5nIi8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gIDwvSW50ZXJmYWNl
PgotICA8SW50ZXJmYWNlIG5hbWU9IlNlc3Npb25NYW5hZ2VyMiIgaWQ9Ijo6U2Vzc2lvbk1hbmFn
ZXIyIj4KLSAgICA8d2ViaWRsPmludGVyZmFjZSBTZXNzaW9uTWFuYWdlcjIgewotICA8cmVmPlNl
c3Npb24yPC9yZWY+IGdldFNlc3Npb25Gb3JVc2VyKERPTVN0cmluZyB1c2VybmFtZSk7Ci0gIHJl
YWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIHNlc3Npb25Db3VudDsKLQotICA8cmVmPlNl
c3Npb24yPC9yZWY+IGl0ZXJhdG9yID0gU2Vzc2lvbkl0ZXJhdG9yOwotfTs8L3dlYmlkbD4KLSAg
ICA8T3BlcmF0aW9uIG5hbWU9ImdldFNlc3Npb25Gb3JVc2VyIiBpZD0iOjpTZXNzaW9uTWFuYWdl
cjI6OmdldFNlc3Npb25Gb3JVc2VyIj4KLSAgICAgIDx3ZWJpZGw+ICA8cmVmPlNlc3Npb24yPC9y
ZWY+IGdldFNlc3Npb25Gb3JVc2VyKERPTVN0cmluZyB1c2VybmFtZSk7PC93ZWJpZGw+Ci0gICAg
ICA8VHlwZSBuYW1lPSJTZXNzaW9uMiIvPgotICAgICAgPEFyZ3VtZW50TGlzdD4KLSAgICAgICAg
PEFyZ3VtZW50IG5hbWU9InVzZXJuYW1lIj4KLSAgICAgICAgICA8VHlwZSB0eXBlPSJET01TdHJp
bmciLz4KLSAgICAgICAgPC9Bcmd1bWVudD4KLSAgICAgIDwvQXJndW1lbnRMaXN0PgotICAgIDwv
T3BlcmF0aW9uPgotICAgIDxBdHRyaWJ1dGUgcmVhZG9ubHk9InJlYWRvbmx5IiBuYW1lPSJzZXNz
aW9uQ291bnQiIGlkPSI6OlNlc3Npb25NYW5hZ2VyMjo6c2Vzc2lvbkNvdW50Ij4KLSAgICAgIDx3
ZWJpZGw+ICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBzZXNzaW9uQ291bnQ7PC93
ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJ1bnNpZ25lZCBsb25nIi8+Ci0gICAgPC9BdHRyaWJ1
dGU+Ci0gICAgPEl0ZXJhdG9yIGludGVyZmFjZT0iU2Vzc2lvbkl0ZXJhdG9yIj4KLSAgICAgIDx3
ZWJpZGw+ICA8cmVmPlNlc3Npb24yPC9yZWY+IGl0ZXJhdG9yID0gU2Vzc2lvbkl0ZXJhdG9yOzwv
d2ViaWRsPgotICAgICAgPFR5cGUgbmFtZT0iU2Vzc2lvbjIiLz4KLSAgICA8L0l0ZXJhdG9yPgot
ICA8L0ludGVyZmFjZT4KLSAgPEludGVyZmFjZSBuYW1lPSJTZXNzaW9uMiIgaWQ9Ijo6U2Vzc2lv
bjIiPgotICAgIDx3ZWJpZGw+aW50ZXJmYWNlIFNlc3Npb24yIHsKLSAgcmVhZG9ubHkgYXR0cmli
dXRlIERPTVN0cmluZyB1c2VybmFtZTsKLX07PC93ZWJpZGw+Ci0gICAgPEF0dHJpYnV0ZSByZWFk
b25seT0icmVhZG9ubHkiIG5hbWU9InVzZXJuYW1lIiBpZD0iOjpTZXNzaW9uMjo6dXNlcm5hbWUi
PgotICAgICAgPHdlYmlkbD4gIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgdXNlcm5hbWU7
PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJET01TdHJpbmciLz4KLSAgICA8L0F0dHJpYnV0
ZT4KLSAgPC9JbnRlcmZhY2U+Ci0gIDxJbnRlcmZhY2UgbmFtZT0iU2Vzc2lvbkl0ZXJhdG9yIiBp
ZD0iOjpTZXNzaW9uSXRlcmF0b3IiPgotICAgIDx3ZWJpZGw+aW50ZXJmYWNlIFNlc3Npb25JdGVy
YXRvciB7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIHJlbWFpbmluZ1Nlc3Np
b25zOwotfTs8L3dlYmlkbD4KLSAgICA8QXR0cmlidXRlIHJlYWRvbmx5PSJyZWFkb25seSIgbmFt
ZT0icmVtYWluaW5nU2Vzc2lvbnMiIGlkPSI6OlNlc3Npb25JdGVyYXRvcjo6cmVtYWluaW5nU2Vz
c2lvbnMiPgotICAgICAgPHdlYmlkbD4gIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25n
IHJlbWFpbmluZ1Nlc3Npb25zOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0idW5zaWduZWQg
bG9uZyIvPgotICAgIDwvQXR0cmlidXRlPgotICA8L0ludGVyZmFjZT4KLSAgPEludGVyZmFjZSBu
YW1lPSJOb2RlTGlzdCIgaWQ9Ijo6Tm9kZUxpc3QiPgotICAgIDx3ZWJpZGw+ICAgICBpbnRlcmZh
Y2UgTm9kZUxpc3QgewotICAgICAgIDxyZWY+Tm9kZTwvcmVmPiBpdGVyYXRvciA9IE5vZGVJdGVy
YXRvcjsKLSAgICAgfTs8L3dlYmlkbD4KLSAgICA8SXRlcmF0b3IgaW50ZXJmYWNlPSJOb2RlSXRl
cmF0b3IiPgotICAgICAgPHdlYmlkbD4gICAgICAgPHJlZj5Ob2RlPC9yZWY+IGl0ZXJhdG9yID0g
Tm9kZUl0ZXJhdG9yOzwvd2ViaWRsPgotICAgICAgPFR5cGUgbmFtZT0iTm9kZSIvPgotICAgIDwv
SXRlcmF0b3I+Ci0gIDwvSW50ZXJmYWNlPgotICA8SW50ZXJmYWNlIG5hbWU9Ik5vZGVJdGVyYXRv
ciIgaWQ9Ijo6Tm9kZUl0ZXJhdG9yIj4KLSAgICA8d2ViaWRsPiAgICAgaW50ZXJmYWNlIE5vZGVJ
dGVyYXRvciB7Ci0gICAgICAgPHJlZj5Ob2RlPC9yZWY+IGl0ZXJhdG9yIG9iamVjdDsKLSAgICAg
fTs8L3dlYmlkbD4KLSAgICA8SXRlcmF0b3JPYmplY3Q+Ci0gICAgICA8d2ViaWRsPiAgICAgICA8
cmVmPk5vZGU8L3JlZj4gaXRlcmF0b3Igb2JqZWN0Ozwvd2ViaWRsPgotICAgICAgPFR5cGUgbmFt
ZT0iTm9kZSIvPgotICAgIDwvSXRlcmF0b3JPYmplY3Q+Ci0gIDwvSW50ZXJmYWNlPgotPC9EZWZp
bml0aW9ucz4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9tb2R1bGUu
d2lkbHByb2N4bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQv
eG1sL21vZHVsZS53aWRscHJvY3htbAkocmV2aXNpb24gMjUyODk2KQorKysgTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dp
ZGxwcm9jL3Rlc3QvdmFsaWQveG1sL21vZHVsZS53aWRscHJvY3htbAkobm9uZXhpc3RlbnQpCkBA
IC0xLDk5ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Ci08
IURPQ1RZUEUgRGVmaW5pdGlvbnMgU1lTVEVNICJ3aWRscHJvY3htbC5kdGQiPgotPERlZmluaXRp
b25zPgotICA8TW9kdWxlIG5hbWU9ImdmeCIgaWQ9Ijo6Z2Z4Ij4KLSAgICA8d2ViaWRsPm1vZHVs
ZSBnZnggewotCi0gIG1vZHVsZSBnZW9tIHsKLSAgICBpbnRlcmZhY2UgU2hhcGUgeyAgfTsKLSAg
ICBpbnRlcmZhY2UgUmVjdGFuZ2xlIDogPHJlZj5TaGFwZTwvcmVmPiB7ICB9OwotICAgIGludGVy
ZmFjZSBQYXRoIDogPHJlZj5TaGFwZTwvcmVmPiB7ICB9OwotICB9OwotCi0gIGludGVyZmFjZSBH
cmFwaGljc0NvbnRleHQgewotICAgIHZvaWQgZmlsbFNoYXBlKDxyZWY+Z2VvbTo6U2hhcGU8L3Jl
Zj4gcyk7Ci0gICAgdm9pZCBzdHJva2VTaGFwZSg8cmVmPmdlb206OlNoYXBlPC9yZWY+IHMpOwot
ICB9OwotfTs8L3dlYmlkbD4KLSAgICA8TW9kdWxlIG5hbWU9Imdlb20iIGlkPSI6OmdmeDo6Z2Vv
bSI+Ci0gICAgICA8d2ViaWRsPiAgbW9kdWxlIGdlb20gewotICAgIGludGVyZmFjZSBTaGFwZSB7
ICB9OwotICAgIGludGVyZmFjZSBSZWN0YW5nbGUgOiA8cmVmPlNoYXBlPC9yZWY+IHsgIH07Ci0g
ICAgaW50ZXJmYWNlIFBhdGggOiA8cmVmPlNoYXBlPC9yZWY+IHsgIH07Ci0gIH07PC93ZWJpZGw+
Ci0gICAgICA8SW50ZXJmYWNlIG5hbWU9IlNoYXBlIiBpZD0iOjpnZng6Omdlb206OlNoYXBlIj4K
LSAgICAgICAgPHdlYmlkbD4gICAgaW50ZXJmYWNlIFNoYXBlIHsgIH07PC93ZWJpZGw+Ci0gICAg
ICA8L0ludGVyZmFjZT4KLSAgICAgIDxJbnRlcmZhY2UgbmFtZT0iUmVjdGFuZ2xlIiBpZD0iOjpn
Zng6Omdlb206OlJlY3RhbmdsZSI+Ci0gICAgICAgIDx3ZWJpZGw+ICAgIGludGVyZmFjZSBSZWN0
YW5nbGUgOiA8cmVmPlNoYXBlPC9yZWY+IHsgIH07PC93ZWJpZGw+Ci0gICAgICAgIDxJbnRlcmZh
Y2VJbmhlcml0YW5jZT4KLSAgICAgICAgICA8TmFtZSBuYW1lPSJTaGFwZSIvPgotICAgICAgICA8
L0ludGVyZmFjZUluaGVyaXRhbmNlPgotICAgICAgPC9JbnRlcmZhY2U+Ci0gICAgICA8SW50ZXJm
YWNlIG5hbWU9IlBhdGgiIGlkPSI6OmdmeDo6Z2VvbTo6UGF0aCI+Ci0gICAgICAgIDx3ZWJpZGw+
ICAgIGludGVyZmFjZSBQYXRoIDogPHJlZj5TaGFwZTwvcmVmPiB7ICB9Ozwvd2ViaWRsPgotICAg
ICAgICA8SW50ZXJmYWNlSW5oZXJpdGFuY2U+Ci0gICAgICAgICAgPE5hbWUgbmFtZT0iU2hhcGUi
Lz4KLSAgICAgICAgPC9JbnRlcmZhY2VJbmhlcml0YW5jZT4KLSAgICAgIDwvSW50ZXJmYWNlPgot
ICAgIDwvTW9kdWxlPgotICAgIDxJbnRlcmZhY2UgbmFtZT0iR3JhcGhpY3NDb250ZXh0IiBpZD0i
OjpnZng6OkdyYXBoaWNzQ29udGV4dCI+Ci0gICAgICA8d2ViaWRsPiAgaW50ZXJmYWNlIEdyYXBo
aWNzQ29udGV4dCB7Ci0gICAgdm9pZCBmaWxsU2hhcGUoPHJlZj5nZW9tOjpTaGFwZTwvcmVmPiBz
KTsKLSAgICB2b2lkIHN0cm9rZVNoYXBlKDxyZWY+Z2VvbTo6U2hhcGU8L3JlZj4gcyk7Ci0gIH07
PC93ZWJpZGw+Ci0gICAgICA8T3BlcmF0aW9uIG5hbWU9ImZpbGxTaGFwZSIgaWQ9Ijo6Z2Z4OjpH
cmFwaGljc0NvbnRleHQ6OmZpbGxTaGFwZSI+Ci0gICAgICAgIDx3ZWJpZGw+ICAgIHZvaWQgZmls
bFNoYXBlKDxyZWY+Z2VvbTo6U2hhcGU8L3JlZj4gcyk7PC93ZWJpZGw+Ci0gICAgICAgIDxUeXBl
IHR5cGU9InZvaWQiLz4KLSAgICAgICAgPEFyZ3VtZW50TGlzdD4KLSAgICAgICAgICA8QXJndW1l
bnQgbmFtZT0icyI+Ci0gICAgICAgICAgICA8VHlwZSBuYW1lPSJnZW9tOjpTaGFwZSIvPgotICAg
ICAgICAgIDwvQXJndW1lbnQ+Ci0gICAgICAgIDwvQXJndW1lbnRMaXN0PgotICAgICAgPC9PcGVy
YXRpb24+Ci0gICAgICA8T3BlcmF0aW9uIG5hbWU9InN0cm9rZVNoYXBlIiBpZD0iOjpnZng6Okdy
YXBoaWNzQ29udGV4dDo6c3Ryb2tlU2hhcGUiPgotICAgICAgICA8d2ViaWRsPiAgICB2b2lkIHN0
cm9rZVNoYXBlKDxyZWY+Z2VvbTo6U2hhcGU8L3JlZj4gcyk7PC93ZWJpZGw+Ci0gICAgICAgIDxU
eXBlIHR5cGU9InZvaWQiLz4KLSAgICAgICAgPEFyZ3VtZW50TGlzdD4KLSAgICAgICAgICA8QXJn
dW1lbnQgbmFtZT0icyI+Ci0gICAgICAgICAgICA8VHlwZSBuYW1lPSJnZW9tOjpTaGFwZSIvPgot
ICAgICAgICAgIDwvQXJndW1lbnQ+Ci0gICAgICAgIDwvQXJndW1lbnRMaXN0PgotICAgICAgPC9P
cGVyYXRpb24+Ci0gICAgPC9JbnRlcmZhY2U+Ci0gIDwvTW9kdWxlPgotICA8TW9kdWxlIG5hbWU9
Imd1aSIgaWQ9Ijo6Z3VpIj4KLSAgICA8d2ViaWRsPm1vZHVsZSBndWkgewotCi0gIGludGVyZmFj
ZSBXaWRnZXQgeyAgIH07Ci0KLSAgaW50ZXJmYWNlIFdpbmRvdyA6IDxyZWY+V2lkZ2V0PC9yZWY+
IHsKLSAgICA8cmVmPmdmeDo6R3JhcGhpY3NDb250ZXh0PC9yZWY+IGdldEdyYXBoaWNzQ29udGV4
dCgpOwotICB9OwotCi0gIGludGVyZmFjZSBCdXR0b24gOiA8cmVmPldpZGdldDwvcmVmPiB7ICAg
fTsKLX07PC93ZWJpZGw+Ci0gICAgPEludGVyZmFjZSBuYW1lPSJXaWRnZXQiIGlkPSI6Omd1aTo6
V2lkZ2V0Ij4KLSAgICAgIDx3ZWJpZGw+ICBpbnRlcmZhY2UgV2lkZ2V0IHsgICB9Ozwvd2ViaWRs
PgotICAgIDwvSW50ZXJmYWNlPgotICAgIDxJbnRlcmZhY2UgbmFtZT0iV2luZG93IiBpZD0iOjpn
dWk6OldpbmRvdyI+Ci0gICAgICA8d2ViaWRsPiAgaW50ZXJmYWNlIFdpbmRvdyA6IDxyZWY+V2lk
Z2V0PC9yZWY+IHsKLSAgICA8cmVmPmdmeDo6R3JhcGhpY3NDb250ZXh0PC9yZWY+IGdldEdyYXBo
aWNzQ29udGV4dCgpOwotICB9Ozwvd2ViaWRsPgotICAgICAgPEludGVyZmFjZUluaGVyaXRhbmNl
PgotICAgICAgICA8TmFtZSBuYW1lPSJXaWRnZXQiLz4KLSAgICAgIDwvSW50ZXJmYWNlSW5oZXJp
dGFuY2U+Ci0gICAgICA8T3BlcmF0aW9uIG5hbWU9ImdldEdyYXBoaWNzQ29udGV4dCIgaWQ9Ijo6
Z3VpOjpXaW5kb3c6OmdldEdyYXBoaWNzQ29udGV4dCI+Ci0gICAgICAgIDx3ZWJpZGw+ICAgIDxy
ZWY+Z2Z4OjpHcmFwaGljc0NvbnRleHQ8L3JlZj4gZ2V0R3JhcGhpY3NDb250ZXh0KCk7PC93ZWJp
ZGw+Ci0gICAgICAgIDxUeXBlIG5hbWU9ImdmeDo6R3JhcGhpY3NDb250ZXh0Ii8+Ci0gICAgICAg
IDxBcmd1bWVudExpc3QvPgotICAgICAgPC9PcGVyYXRpb24+Ci0gICAgPC9JbnRlcmZhY2U+Ci0g
ICAgPEludGVyZmFjZSBuYW1lPSJCdXR0b24iIGlkPSI6Omd1aTo6QnV0dG9uIj4KLSAgICAgIDx3
ZWJpZGw+ICBpbnRlcmZhY2UgQnV0dG9uIDogPHJlZj5XaWRnZXQ8L3JlZj4geyAgIH07PC93ZWJp
ZGw+Ci0gICAgICA8SW50ZXJmYWNlSW5oZXJpdGFuY2U+Ci0gICAgICAgIDxOYW1lIG5hbWU9Ildp
ZGdldCIvPgotICAgICAgPC9JbnRlcmZhY2VJbmhlcml0YW5jZT4KLSAgICA8L0ludGVyZmFjZT4K
LSAgPC9Nb2R1bGU+Ci08L0RlZmluaXRpb25zPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rl
c3QvdmFsaWQveG1sL25hbWVkY29uc3RydWN0b3Iud2lkbHByb2N4bWwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL25hbWVkY29uc3RydWN0b3Iud2lkbHBy
b2N4bWwJKHJldmlzaW9uIDI1Mjg5NikKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlk
L3htbC9uYW1lZGNvbnN0cnVjdG9yLndpZGxwcm9jeG1sCShub25leGlzdGVudCkKQEAgLTEsMzAg
KzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KLTwhRE9DVFlQ
RSBEZWZpbml0aW9ucyBTWVNURU0gIndpZGxwcm9jeG1sLmR0ZCI+Ci08RGVmaW5pdGlvbnM+Ci0g
IDx3ZWJpZGw+W05hbWVkQ29uc3RydWN0b3I9QXVkaW8sCi0gTmFtZWRDb25zdHJ1Y3Rvcj1BdWRp
byhET01TdHJpbmcgc3JjKV0KLWludGVyZmFjZSBIVE1MQXVkaW9FbGVtZW50IDogPHJlZj5IVE1M
TWVkaWFFbGVtZW50PC9yZWY+IHsKLX07PC93ZWJpZGw+Ci0gIDxJbnRlcmZhY2UgbmFtZT0iSFRN
TEF1ZGlvRWxlbWVudCIgaWQ9Ijo6SFRNTEF1ZGlvRWxlbWVudCI+Ci0gICAgPHdlYmlkbD5bTmFt
ZWRDb25zdHJ1Y3Rvcj1BdWRpbywKLSBOYW1lZENvbnN0cnVjdG9yPUF1ZGlvKERPTVN0cmluZyBz
cmMpXQotaW50ZXJmYWNlIEhUTUxBdWRpb0VsZW1lbnQgOiA8cmVmPkhUTUxNZWRpYUVsZW1lbnQ8
L3JlZj4gewotfTs8L3dlYmlkbD4KLSAgICA8RXh0ZW5kZWRBdHRyaWJ1dGVMaXN0PgotICAgICAg
PEV4dGVuZGVkQXR0cmlidXRlIG5hbWU9Ik5hbWVkQ29uc3RydWN0b3IiIHZhbHVlPSJBdWRpbyI+
Ci0gICAgICAgIDx3ZWJpZGw+TmFtZWRDb25zdHJ1Y3Rvcjwvd2ViaWRsPgotICAgICAgPC9FeHRl
bmRlZEF0dHJpYnV0ZT4KLSAgICAgIDxFeHRlbmRlZEF0dHJpYnV0ZSBuYW1lPSJOYW1lZENvbnN0
cnVjdG9yIiB2YWx1ZT0iQXVkaW8iPgotICAgICAgICA8d2ViaWRsPiBOYW1lZENvbnN0cnVjdG9y
PUF1ZGlvKERPTVN0cmluZyBzcmMpPC93ZWJpZGw+Ci0gICAgICAgIDxBcmd1bWVudExpc3Q+Ci0g
ICAgICAgICAgPEFyZ3VtZW50IG5hbWU9InNyYyI+Ci0gICAgICAgICAgICA8VHlwZSB0eXBlPSJE
T01TdHJpbmciLz4KLSAgICAgICAgICA8L0FyZ3VtZW50PgotICAgICAgICA8L0FyZ3VtZW50TGlz
dD4KLSAgICAgIDwvRXh0ZW5kZWRBdHRyaWJ1dGU+Ci0gICAgPC9FeHRlbmRlZEF0dHJpYnV0ZUxp
c3Q+Ci0gICAgPEludGVyZmFjZUluaGVyaXRhbmNlPgotICAgICAgPE5hbWUgbmFtZT0iSFRNTE1l
ZGlhRWxlbWVudCIvPgotICAgIDwvSW50ZXJmYWNlSW5oZXJpdGFuY2U+Ci0gIDwvSW50ZXJmYWNl
PgotPC9EZWZpbml0aW9ucz4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3ht
bC9uYW1lc3BhY2VvYmplY3Qud2lkbHByb2N4bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dp
ZGxwcm9jL3Rlc3QvdmFsaWQveG1sL25hbWVzcGFjZW9iamVjdC53aWRscHJvY3htbAkocmV2aXNp
b24gMjUyODk2KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL25hbWVzcGFj
ZW9iamVjdC53aWRscHJvY3htbAkobm9uZXhpc3RlbnQpCkBAIC0xLDYwICswLDAgQEAKLTw/eG1s
IHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Ci08IURPQ1RZUEUgRGVmaW5pdGlvbnMg
U1lTVEVNICJ3aWRscHJvY3htbC5kdGQiPgotPERlZmluaXRpb25zPgotICA8TW9kdWxlIG5hbWU9
ImFjbWUiIGlkPSI6OmFjbWUiPgotICAgIDx3ZWJpZGw+W05hbWVzcGFjZU9iamVjdF0KLW1vZHVs
ZSBhY21lIHsKLSAgCi0gIGV4Y2VwdGlvbiBEZXZpY2VFeGNlcHRpb24geyB9OwotCi0gIG1vZHVs
ZSBwaW0gewotCi0gICAgW0NvbnN0cnVjdG9yXQotICAgIGludGVyZmFjZSBDb250YWN0IHsgfTsK
LQotICAgIFtDb25zdHJ1Y3RvciwKLSAgICAgTmFtZWRDb25zdHJ1Y3Rvcj1SZWN1cnJpbmdFdmVu
dChsb25nIGZyZXEpXQotICAgIGludGVyZmFjZSBDYWxlbmRhckV2ZW50IHsgfTsKLSAgfTsKLX07
PC93ZWJpZGw+Ci0gICAgPEV4dGVuZGVkQXR0cmlidXRlTGlzdD4KLSAgICAgIDxFeHRlbmRlZEF0
dHJpYnV0ZSBuYW1lPSJOYW1lc3BhY2VPYmplY3QiLz4KLSAgICA8L0V4dGVuZGVkQXR0cmlidXRl
TGlzdD4KLSAgICA8RXhjZXB0aW9uIG5hbWU9IkRldmljZUV4Y2VwdGlvbiIgaWQ9Ijo6YWNtZTo6
RGV2aWNlRXhjZXB0aW9uIj4KLSAgICAgIDx3ZWJpZGw+ICBleGNlcHRpb24gRGV2aWNlRXhjZXB0
aW9uIHsgfTs8L3dlYmlkbD4KLSAgICA8L0V4Y2VwdGlvbj4KLSAgICA8TW9kdWxlIG5hbWU9InBp
bSIgaWQ9Ijo6YWNtZTo6cGltIj4KLSAgICAgIDx3ZWJpZGw+ICBtb2R1bGUgcGltIHsKLQotICAg
IFtDb25zdHJ1Y3Rvcl0KLSAgICBpbnRlcmZhY2UgQ29udGFjdCB7IH07Ci0KLSAgICBbQ29uc3Ry
dWN0b3IsCi0gICAgIE5hbWVkQ29uc3RydWN0b3I9UmVjdXJyaW5nRXZlbnQobG9uZyBmcmVxKV0K
LSAgICBpbnRlcmZhY2UgQ2FsZW5kYXJFdmVudCB7IH07Ci0gIH07PC93ZWJpZGw+Ci0gICAgICA8
SW50ZXJmYWNlIG5hbWU9IkNvbnRhY3QiIGlkPSI6OmFjbWU6OnBpbTo6Q29udGFjdCI+Ci0gICAg
ICAgIDx3ZWJpZGw+ICAgIFtDb25zdHJ1Y3Rvcl0KLSAgICBpbnRlcmZhY2UgQ29udGFjdCB7IH07
PC93ZWJpZGw+Ci0gICAgICAgIDxFeHRlbmRlZEF0dHJpYnV0ZUxpc3Q+Ci0gICAgICAgICAgPEV4
dGVuZGVkQXR0cmlidXRlIG5hbWU9IkNvbnN0cnVjdG9yIi8+Ci0gICAgICAgIDwvRXh0ZW5kZWRB
dHRyaWJ1dGVMaXN0PgotICAgICAgPC9JbnRlcmZhY2U+Ci0gICAgICA8SW50ZXJmYWNlIG5hbWU9
IkNhbGVuZGFyRXZlbnQiIGlkPSI6OmFjbWU6OnBpbTo6Q2FsZW5kYXJFdmVudCI+Ci0gICAgICAg
IDx3ZWJpZGw+ICAgIFtDb25zdHJ1Y3RvciwKLSAgICAgTmFtZWRDb25zdHJ1Y3Rvcj1SZWN1cnJp
bmdFdmVudChsb25nIGZyZXEpXQotICAgIGludGVyZmFjZSBDYWxlbmRhckV2ZW50IHsgfTs8L3dl
YmlkbD4KLSAgICAgICAgPEV4dGVuZGVkQXR0cmlidXRlTGlzdD4KLSAgICAgICAgICA8RXh0ZW5k
ZWRBdHRyaWJ1dGUgbmFtZT0iQ29uc3RydWN0b3IiLz4KLSAgICAgICAgICA8RXh0ZW5kZWRBdHRy
aWJ1dGUgbmFtZT0iTmFtZWRDb25zdHJ1Y3RvciIgdmFsdWU9IlJlY3VycmluZ0V2ZW50Ij4KLSAg
ICAgICAgICAgIDxBcmd1bWVudExpc3Q+Ci0gICAgICAgICAgICAgIDxBcmd1bWVudCBuYW1lPSJm
cmVxIj4KLSAgICAgICAgICAgICAgICA8VHlwZSB0eXBlPSJsb25nIi8+Ci0gICAgICAgICAgICAg
IDwvQXJndW1lbnQ+Ci0gICAgICAgICAgICA8L0FyZ3VtZW50TGlzdD4KLSAgICAgICAgICA8L0V4
dGVuZGVkQXR0cmlidXRlPgotICAgICAgICA8L0V4dGVuZGVkQXR0cmlidXRlTGlzdD4KLSAgICAg
IDwvSW50ZXJmYWNlPgotICAgIDwvTW9kdWxlPgotICA8L01vZHVsZT4KLTwvRGVmaW5pdGlvbnM+
CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvbm9pbnRlcmZhY2VvYmpl
Y3Qud2lkbHByb2N4bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFs
aWQveG1sL25vaW50ZXJmYWNlb2JqZWN0LndpZGxwcm9jeG1sCShyZXZpc2lvbiAyNTI4OTYpCisr
KyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvbm9pbnRlcmZhY2VvYmplY3Qud2lk
bHByb2N4bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwyOCArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIx
LjAiIGVuY29kaW5nPSJVVEYtOCI/PgotPCFET0NUWVBFIERlZmluaXRpb25zIFNZU1RFTSAid2lk
bHByb2N4bWwuZHRkIj4KLTxEZWZpbml0aW9ucz4KLSAgPHdlYmlkbD5bTm9JbnRlcmZhY2VPYmpl
Y3RdCi1pbnRlcmZhY2UgUXVlcnkgewotICBhbnkgbG9va3VwRW50cnkodW5zaWduZWQgbG9uZyBr
ZXkpOwotfTs8L3dlYmlkbD4KLSAgPEludGVyZmFjZSBuYW1lPSJRdWVyeSIgaWQ9Ijo6UXVlcnki
PgotICAgIDx3ZWJpZGw+W05vSW50ZXJmYWNlT2JqZWN0XQotaW50ZXJmYWNlIFF1ZXJ5IHsKLSAg
YW55IGxvb2t1cEVudHJ5KHVuc2lnbmVkIGxvbmcga2V5KTsKLX07PC93ZWJpZGw+Ci0gICAgPEV4
dGVuZGVkQXR0cmlidXRlTGlzdD4KLSAgICAgIDxFeHRlbmRlZEF0dHJpYnV0ZSBuYW1lPSJOb0lu
dGVyZmFjZU9iamVjdCI+Ci0gICAgICAgIDx3ZWJpZGw+Tm9JbnRlcmZhY2VPYmplY3Q8L3dlYmlk
bD4KLSAgICAgIDwvRXh0ZW5kZWRBdHRyaWJ1dGU+Ci0gICAgPC9FeHRlbmRlZEF0dHJpYnV0ZUxp
c3Q+Ci0gICAgPE9wZXJhdGlvbiBuYW1lPSJsb29rdXBFbnRyeSIgaWQ9Ijo6UXVlcnk6Omxvb2t1
cEVudHJ5Ij4KLSAgICAgIDx3ZWJpZGw+ICBhbnkgbG9va3VwRW50cnkodW5zaWduZWQgbG9uZyBr
ZXkpOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0iYW55Ii8+Ci0gICAgICA8QXJndW1lbnRM
aXN0PgotICAgICAgICA8QXJndW1lbnQgbmFtZT0ia2V5Ij4KLSAgICAgICAgICA8VHlwZSB0eXBl
PSJ1bnNpZ25lZCBsb25nIi8+Ci0gICAgICAgIDwvQXJndW1lbnQ+Ci0gICAgICA8L0FyZ3VtZW50
TGlzdD4KLSAgICA8L09wZXJhdGlvbj4KLSAgPC9JbnRlcmZhY2U+Ci08L0RlZmluaXRpb25zPgpJ
bmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL251bGxhYmxlLndpZGxwcm9j
eG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9udWxs
YWJsZS53aWRscHJvY3htbAkocmV2aXNpb24gMjUyODk2KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9j
L3Rlc3QvdmFsaWQveG1sL251bGxhYmxlLndpZGxwcm9jeG1sCShub25leGlzdGVudCkKQEAgLTEs
MjkgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KLTwhRE9D
VFlQRSBEZWZpbml0aW9ucyBTWVNURU0gIndpZGxwcm9jeG1sLmR0ZCI+Ci08RGVmaW5pdGlvbnM+
Ci0gIDx3ZWJpZGw+aW50ZXJmYWNlIE15Q29uc3RhbnRzIHsKLSAgY29uc3QgYm9vbGVhbj8gQVJF
X1dFX1RIRVJFX1lFVCA9IGZhbHNlOwotfTsKLQotaW50ZXJmYWNlIE5vZGUgewotICByZWFkb25s
eSBhdHRyaWJ1dGUgRE9NU3RyaW5nPyBuYW1lc3BhY2VVUkk7Ci19Ozwvd2ViaWRsPgotICA8SW50
ZXJmYWNlIG5hbWU9Ik15Q29uc3RhbnRzIiBpZD0iOjpNeUNvbnN0YW50cyI+Ci0gICAgPHdlYmlk
bD5pbnRlcmZhY2UgTXlDb25zdGFudHMgewotICBjb25zdCBib29sZWFuPyBBUkVfV0VfVEhFUkVf
WUVUID0gZmFsc2U7Ci19Ozwvd2ViaWRsPgotICAgIDxDb25zdCBuYW1lPSJBUkVfV0VfVEhFUkVf
WUVUIiB2YWx1ZT0iZmFsc2UiIGlkPSI6Ok15Q29uc3RhbnRzOjpBUkVfV0VfVEhFUkVfWUVUIj4K
LSAgICAgIDx3ZWJpZGw+ICBjb25zdCBib29sZWFuPyBBUkVfV0VfVEhFUkVfWUVUID0gZmFsc2U7
PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJib29sZWFuIiBudWxsYWJsZT0ibnVsbGFibGUi
Lz4KLSAgICA8L0NvbnN0PgotICA8L0ludGVyZmFjZT4KLSAgPEludGVyZmFjZSBuYW1lPSJOb2Rl
IiBpZD0iOjpOb2RlIj4KLSAgICA8d2ViaWRsPmludGVyZmFjZSBOb2RlIHsKLSAgcmVhZG9ubHkg
YXR0cmlidXRlIERPTVN0cmluZz8gbmFtZXNwYWNlVVJJOwotfTs8L3dlYmlkbD4KLSAgICA8QXR0
cmlidXRlIHJlYWRvbmx5PSJyZWFkb25seSIgbmFtZT0ibmFtZXNwYWNlVVJJIiBpZD0iOjpOb2Rl
OjpuYW1lc3BhY2VVUkkiPgotICAgICAgPHdlYmlkbD4gIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01T
dHJpbmc/IG5hbWVzcGFjZVVSSTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9IkRPTVN0cmlu
ZyIgbnVsbGFibGU9Im51bGxhYmxlIi8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gIDwvSW50ZXJmYWNl
PgotPC9EZWZpbml0aW9ucz4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3ht
bC9udWxsYWJsZW9iamVjdHMud2lkbHByb2N4bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dp
ZGxwcm9jL3Rlc3QvdmFsaWQveG1sL251bGxhYmxlb2JqZWN0cy53aWRscHJvY3htbAkocmV2aXNp
b24gMjUyODk2KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL251bGxhYmxl
b2JqZWN0cy53aWRscHJvY3htbAkobm9uZXhpc3RlbnQpCkBAIC0xLDQ2ICswLDAgQEAKLTw/eG1s
IHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Ci08IURPQ1RZUEUgRGVmaW5pdGlvbnMg
U1lTVEVNICJ3aWRscHJvY3htbC5kdGQiPgotPERlZmluaXRpb25zPgotICA8d2ViaWRsPmludGVy
ZmFjZSBBIHsKLX07Ci1pbnRlcmZhY2UgQiB7Ci19OwotaW50ZXJmYWNlIEMgewotICB2b2lkIGYo
PHJlZj5BPC9yZWY+PyB4KTsKLSAgdm9pZCBmKDxyZWY+QjwvcmVmPj8geCk7Ci0KLX07PC93ZWJp
ZGw+Ci0gIDxJbnRlcmZhY2UgbmFtZT0iQSIgaWQ9Ijo6QSI+Ci0gICAgPHdlYmlkbD5pbnRlcmZh
Y2UgQSB7Ci19Ozwvd2ViaWRsPgotICA8L0ludGVyZmFjZT4KLSAgPEludGVyZmFjZSBuYW1lPSJC
IiBpZD0iOjpCIj4KLSAgICA8d2ViaWRsPmludGVyZmFjZSBCIHsKLX07PC93ZWJpZGw+Ci0gIDwv
SW50ZXJmYWNlPgotICA8SW50ZXJmYWNlIG5hbWU9IkMiIGlkPSI6OkMiPgotICAgIDx3ZWJpZGw+
aW50ZXJmYWNlIEMgewotICB2b2lkIGYoPHJlZj5BPC9yZWY+PyB4KTsKLSAgdm9pZCBmKDxyZWY+
QjwvcmVmPj8geCk7Ci0KLX07PC93ZWJpZGw+Ci0gICAgPE9wZXJhdGlvbiBuYW1lPSJmIiBpZD0i
OjpDOjpmIj4KLSAgICAgIDx3ZWJpZGw+ICB2b2lkIGYoPHJlZj5BPC9yZWY+PyB4KTs8L3dlYmlk
bD4KLSAgICAgIDxUeXBlIHR5cGU9InZvaWQiLz4KLSAgICAgIDxBcmd1bWVudExpc3Q+Ci0gICAg
ICAgIDxBcmd1bWVudCBuYW1lPSJ4Ij4KLSAgICAgICAgICA8VHlwZSBuYW1lPSJBIiBudWxsYWJs
ZT0ibnVsbGFibGUiLz4KLSAgICAgICAgPC9Bcmd1bWVudD4KLSAgICAgIDwvQXJndW1lbnRMaXN0
PgotICAgIDwvT3BlcmF0aW9uPgotICAgIDxPcGVyYXRpb24gbmFtZT0iZiIgaWQ9Ijo6Qzo6ZiI+
Ci0gICAgICA8d2ViaWRsPiAgdm9pZCBmKDxyZWY+QjwvcmVmPj8geCk7PC93ZWJpZGw+Ci0gICAg
ICA8VHlwZSB0eXBlPSJ2b2lkIi8+Ci0gICAgICA8QXJndW1lbnRMaXN0PgotICAgICAgICA8QXJn
dW1lbnQgbmFtZT0ieCI+Ci0gICAgICAgICAgPFR5cGUgbmFtZT0iQiIgbnVsbGFibGU9Im51bGxh
YmxlIi8+Ci0gICAgICAgIDwvQXJndW1lbnQ+Ci0gICAgICA8L0FyZ3VtZW50TGlzdD4KLSAgICA8
L09wZXJhdGlvbj4KLSAgPC9JbnRlcmZhY2U+Ci08L0RlZmluaXRpb25zPgpJbmRleDogTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL29wZXJhdGlvbi1vcHRpb25hbC1hcmcud2lkbHBy
b2N4bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL29w
ZXJhdGlvbi1vcHRpb25hbC1hcmcud2lkbHByb2N4bWwJKHJldmlzaW9uIDI1Mjg5NikKKysrIExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9vcGVyYXRpb24tb3B0aW9uYWwtYXJnLndp
ZGxwcm9jeG1sCShub25leGlzdGVudCkKQEAgLTEsMzAgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0i
MS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KLTwhRE9DVFlQRSBEZWZpbml0aW9ucyBTWVNURU0gIndp
ZGxwcm9jeG1sLmR0ZCI+Ci08RGVmaW5pdGlvbnM+Ci0gIDx3ZWJpZGw+aW50ZXJmYWNlIENvbG9y
Q3JlYXRvciB7Ci0gIG9iamVjdCBjcmVhdGVDb2xvcihmbG9hdCB2MSwgZmxvYXQgdjIsIGZsb2F0
IHYzLCBvcHRpb25hbCBmbG9hdCBhbHBoYSA9IDMuNSk7Ci19Ozwvd2ViaWRsPgotICA8SW50ZXJm
YWNlIG5hbWU9IkNvbG9yQ3JlYXRvciIgaWQ9Ijo6Q29sb3JDcmVhdG9yIj4KLSAgICA8d2ViaWRs
PmludGVyZmFjZSBDb2xvckNyZWF0b3IgewotICBvYmplY3QgY3JlYXRlQ29sb3IoZmxvYXQgdjEs
IGZsb2F0IHYyLCBmbG9hdCB2Mywgb3B0aW9uYWwgZmxvYXQgYWxwaGEgPSAzLjUpOwotfTs8L3dl
YmlkbD4KLSAgICA8T3BlcmF0aW9uIG5hbWU9ImNyZWF0ZUNvbG9yIiBpZD0iOjpDb2xvckNyZWF0
b3I6OmNyZWF0ZUNvbG9yIj4KLSAgICAgIDx3ZWJpZGw+ICBvYmplY3QgY3JlYXRlQ29sb3IoZmxv
YXQgdjEsIGZsb2F0IHYyLCBmbG9hdCB2Mywgb3B0aW9uYWwgZmxvYXQgYWxwaGEgPSAzLjUpOzwv
d2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0ib2JqZWN0Ii8+Ci0gICAgICA8QXJndW1lbnRMaXN0
PgotICAgICAgICA8QXJndW1lbnQgbmFtZT0idjEiPgotICAgICAgICAgIDxUeXBlIHR5cGU9ImZs
b2F0Ii8+Ci0gICAgICAgIDwvQXJndW1lbnQ+Ci0gICAgICAgIDxBcmd1bWVudCBuYW1lPSJ2MiI+
Ci0gICAgICAgICAgPFR5cGUgdHlwZT0iZmxvYXQiLz4KLSAgICAgICAgPC9Bcmd1bWVudD4KLSAg
ICAgICAgPEFyZ3VtZW50IG5hbWU9InYzIj4KLSAgICAgICAgICA8VHlwZSB0eXBlPSJmbG9hdCIv
PgotICAgICAgICA8L0FyZ3VtZW50PgotICAgICAgICA8QXJndW1lbnQgb3B0aW9uYWw9Im9wdGlv
bmFsIiBuYW1lPSJhbHBoYSIgdmFsdWU9IjMuNSI+Ci0gICAgICAgICAgPFR5cGUgdHlwZT0iZmxv
YXQiLz4KLSAgICAgICAgPC9Bcmd1bWVudD4KLSAgICAgIDwvQXJndW1lbnRMaXN0PgotICAgIDwv
T3BlcmF0aW9uPgotICA8L0ludGVyZmFjZT4KLTwvRGVmaW5pdGlvbnM+CkluZGV4OiBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvb3ZlcmxvYWRpbmcud2lkbHByb2N4bWwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL292ZXJsb2FkaW5nLndp
ZGxwcm9jeG1sCShyZXZpc2lvbiAyNTI4OTYpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92
YWxpZC94bWwvb3ZlcmxvYWRpbmcud2lkbHByb2N4bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwxMTMg
KzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KLTwhRE9DVFlQ
RSBEZWZpbml0aW9ucyBTWVNURU0gIndpZGxwcm9jeG1sLmR0ZCI+Ci08RGVmaW5pdGlvbnM+Ci0g
IDx3ZWJpZGw+aW50ZXJmYWNlIEEgewotfTsKLQotaW50ZXJmYWNlIEIgewotfTsKLQotaW50ZXJm
YWNlIEMgewotICB2b2lkIGYoPHJlZj5BPC9yZWY+IHgpOwotICB2b2lkIGYoPHJlZj5CPC9yZWY+
IHgpOwotfTsKLQotaW50ZXJmYWNlIEEgewotdm9pZCBmKERPTVN0cmluZyBhKTsKLXZvaWQgZihb
QWxsb3dBbnldIERPTVN0cmluZyBhLCBET01TdHJpbmcgYiwgZmxvYXQuLi4gYyk7Ci12b2lkIGYo
KTsKLXZvaWQgZihsb25nIGEsIERPTVN0cmluZyBiLCBvcHRpb25hbCBET01TdHJpbmcgYywgZmxv
YXQuLi4gZCk7Ci19Ozwvd2ViaWRsPgotICA8SW50ZXJmYWNlIG5hbWU9IkEiIGlkPSI6OkEiPgot
ICAgIDx3ZWJpZGw+aW50ZXJmYWNlIEEgewotfTs8L3dlYmlkbD4KLSAgPC9JbnRlcmZhY2U+Ci0g
IDxJbnRlcmZhY2UgbmFtZT0iQiIgaWQ9Ijo6QiI+Ci0gICAgPHdlYmlkbD5pbnRlcmZhY2UgQiB7
Ci19Ozwvd2ViaWRsPgotICA8L0ludGVyZmFjZT4KLSAgPEludGVyZmFjZSBuYW1lPSJDIiBpZD0i
OjpDIj4KLSAgICA8d2ViaWRsPmludGVyZmFjZSBDIHsKLSAgdm9pZCBmKDxyZWY+QTwvcmVmPiB4
KTsKLSAgdm9pZCBmKDxyZWY+QjwvcmVmPiB4KTsKLX07PC93ZWJpZGw+Ci0gICAgPE9wZXJhdGlv
biBuYW1lPSJmIiBpZD0iOjpDOjpmIj4KLSAgICAgIDx3ZWJpZGw+ICB2b2lkIGYoPHJlZj5BPC9y
ZWY+IHgpOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0idm9pZCIvPgotICAgICAgPEFyZ3Vt
ZW50TGlzdD4KLSAgICAgICAgPEFyZ3VtZW50IG5hbWU9IngiPgotICAgICAgICAgIDxUeXBlIG5h
bWU9IkEiLz4KLSAgICAgICAgPC9Bcmd1bWVudD4KLSAgICAgIDwvQXJndW1lbnRMaXN0PgotICAg
IDwvT3BlcmF0aW9uPgotICAgIDxPcGVyYXRpb24gbmFtZT0iZiIgaWQ9Ijo6Qzo6ZiI+Ci0gICAg
ICA8d2ViaWRsPiAgdm9pZCBmKDxyZWY+QjwvcmVmPiB4KTs8L3dlYmlkbD4KLSAgICAgIDxUeXBl
IHR5cGU9InZvaWQiLz4KLSAgICAgIDxBcmd1bWVudExpc3Q+Ci0gICAgICAgIDxBcmd1bWVudCBu
YW1lPSJ4Ij4KLSAgICAgICAgICA8VHlwZSBuYW1lPSJCIi8+Ci0gICAgICAgIDwvQXJndW1lbnQ+
Ci0gICAgICA8L0FyZ3VtZW50TGlzdD4KLSAgICA8L09wZXJhdGlvbj4KLSAgPC9JbnRlcmZhY2U+
Ci0gIDxJbnRlcmZhY2UgbmFtZT0iQSIgaWQ9Ijo6QSI+Ci0gICAgPHdlYmlkbD5pbnRlcmZhY2Ug
QSB7Ci12b2lkIGYoRE9NU3RyaW5nIGEpOwotdm9pZCBmKFtBbGxvd0FueV0gRE9NU3RyaW5nIGEs
IERPTVN0cmluZyBiLCBmbG9hdC4uLiBjKTsKLXZvaWQgZigpOwotdm9pZCBmKGxvbmcgYSwgRE9N
U3RyaW5nIGIsIG9wdGlvbmFsIERPTVN0cmluZyBjLCBmbG9hdC4uLiBkKTsKLX07PC93ZWJpZGw+
Ci0gICAgPE9wZXJhdGlvbiBuYW1lPSJmIiBpZD0iOjpBOjpmIj4KLSAgICAgIDx3ZWJpZGw+IHZv
aWQgZihET01TdHJpbmcgYSk7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJ2b2lkIi8+Ci0g
ICAgICA8QXJndW1lbnRMaXN0PgotICAgICAgICA8QXJndW1lbnQgbmFtZT0iYSI+Ci0gICAgICAg
ICAgPFR5cGUgdHlwZT0iRE9NU3RyaW5nIi8+Ci0gICAgICAgIDwvQXJndW1lbnQ+Ci0gICAgICA8
L0FyZ3VtZW50TGlzdD4KLSAgICA8L09wZXJhdGlvbj4KLSAgICA8T3BlcmF0aW9uIG5hbWU9ImYi
IGlkPSI6OkE6OmYiPgotICAgICAgPHdlYmlkbD4gdm9pZCBmKFtBbGxvd0FueV0gRE9NU3RyaW5n
IGEsIERPTVN0cmluZyBiLCBmbG9hdC4uLiBjKTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9
InZvaWQiLz4KLSAgICAgIDxBcmd1bWVudExpc3Q+Ci0gICAgICAgIDxBcmd1bWVudCBuYW1lPSJh
Ij4KLSAgICAgICAgICA8RXh0ZW5kZWRBdHRyaWJ1dGVMaXN0PgotICAgICAgICAgICAgPEV4dGVu
ZGVkQXR0cmlidXRlIG5hbWU9IkFsbG93QW55Ij4KLSAgICAgICAgICAgICAgPHdlYmlkbD5BbGxv
d0FueTwvd2ViaWRsPgotICAgICAgICAgICAgPC9FeHRlbmRlZEF0dHJpYnV0ZT4KLSAgICAgICAg
ICA8L0V4dGVuZGVkQXR0cmlidXRlTGlzdD4KLSAgICAgICAgICA8VHlwZSB0eXBlPSJET01TdHJp
bmciLz4KLSAgICAgICAgPC9Bcmd1bWVudD4KLSAgICAgICAgPEFyZ3VtZW50IG5hbWU9ImIiPgot
ICAgICAgICAgIDxUeXBlIHR5cGU9IkRPTVN0cmluZyIvPgotICAgICAgICA8L0FyZ3VtZW50Pgot
ICAgICAgICA8QXJndW1lbnQgZWxsaXBzaXM9ImVsbGlwc2lzIiBuYW1lPSJjIj4KLSAgICAgICAg
ICA8VHlwZSB0eXBlPSJmbG9hdCIvPgotICAgICAgICA8L0FyZ3VtZW50PgotICAgICAgPC9Bcmd1
bWVudExpc3Q+Ci0gICAgPC9PcGVyYXRpb24+Ci0gICAgPE9wZXJhdGlvbiBuYW1lPSJmIiBpZD0i
OjpBOjpmIj4KLSAgICAgIDx3ZWJpZGw+IHZvaWQgZigpOzwvd2ViaWRsPgotICAgICAgPFR5cGUg
dHlwZT0idm9pZCIvPgotICAgICAgPEFyZ3VtZW50TGlzdC8+Ci0gICAgPC9PcGVyYXRpb24+Ci0g
ICAgPE9wZXJhdGlvbiBuYW1lPSJmIiBpZD0iOjpBOjpmIj4KLSAgICAgIDx3ZWJpZGw+IHZvaWQg
Zihsb25nIGEsIERPTVN0cmluZyBiLCBvcHRpb25hbCBET01TdHJpbmcgYywgZmxvYXQuLi4gZCk7
PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJ2b2lkIi8+Ci0gICAgICA8QXJndW1lbnRMaXN0
PgotICAgICAgICA8QXJndW1lbnQgbmFtZT0iYSI+Ci0gICAgICAgICAgPFR5cGUgdHlwZT0ibG9u
ZyIvPgotICAgICAgICA8L0FyZ3VtZW50PgotICAgICAgICA8QXJndW1lbnQgbmFtZT0iYiI+Ci0g
ICAgICAgICAgPFR5cGUgdHlwZT0iRE9NU3RyaW5nIi8+Ci0gICAgICAgIDwvQXJndW1lbnQ+Ci0g
ICAgICAgIDxBcmd1bWVudCBvcHRpb25hbD0ib3B0aW9uYWwiIG5hbWU9ImMiPgotICAgICAgICAg
IDxUeXBlIHR5cGU9IkRPTVN0cmluZyIvPgotICAgICAgICA8L0FyZ3VtZW50PgotICAgICAgICA8
QXJndW1lbnQgZWxsaXBzaXM9ImVsbGlwc2lzIiBuYW1lPSJkIj4KLSAgICAgICAgICA8VHlwZSB0
eXBlPSJmbG9hdCIvPgotICAgICAgICA8L0FyZ3VtZW50PgotICAgICAgPC9Bcmd1bWVudExpc3Q+
Ci0gICAgPC9PcGVyYXRpb24+Ci0gIDwvSW50ZXJmYWNlPgotPC9EZWZpbml0aW9ucz4KSW5kZXg6
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9vdmVycmlkZWJ1aWx0aW5zLndpZGxw
cm9jeG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9v
dmVycmlkZWJ1aWx0aW5zLndpZGxwcm9jeG1sCShyZXZpc2lvbiAyNTI4OTYpCisrKyBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvb3ZlcnJpZGVidWlsdGlucy53aWRscHJvY3htbAko
bm9uZXhpc3RlbnQpCkBAIC0xLDM0ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rp
bmc9IlVURi04Ij8+Ci08IURPQ1RZUEUgRGVmaW5pdGlvbnMgU1lTVEVNICJ3aWRscHJvY3htbC5k
dGQiPgotPERlZmluaXRpb25zPgotICA8d2ViaWRsPltPdmVycmlkZUJ1aWx0aW5zXQotaW50ZXJm
YWNlIFN0cmluZ01hcDIgewotICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBsZW5n
dGg7Ci0gIGdldHRlciBET01TdHJpbmcgbG9va3VwKERPTVN0cmluZyBrZXkpOwotfTs8L3dlYmlk
bD4KLSAgPEludGVyZmFjZSBuYW1lPSJTdHJpbmdNYXAyIiBpZD0iOjpTdHJpbmdNYXAyIj4KLSAg
ICA8d2ViaWRsPltPdmVycmlkZUJ1aWx0aW5zXQotaW50ZXJmYWNlIFN0cmluZ01hcDIgewotICBy
ZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBsZW5ndGg7Ci0gIGdldHRlciBET01TdHJp
bmcgbG9va3VwKERPTVN0cmluZyBrZXkpOwotfTs8L3dlYmlkbD4KLSAgICA8RXh0ZW5kZWRBdHRy
aWJ1dGVMaXN0PgotICAgICAgPEV4dGVuZGVkQXR0cmlidXRlIG5hbWU9Ik92ZXJyaWRlQnVpbHRp
bnMiPgotICAgICAgICA8d2ViaWRsPk92ZXJyaWRlQnVpbHRpbnM8L3dlYmlkbD4KLSAgICAgIDwv
RXh0ZW5kZWRBdHRyaWJ1dGU+Ci0gICAgPC9FeHRlbmRlZEF0dHJpYnV0ZUxpc3Q+Ci0gICAgPEF0
dHJpYnV0ZSByZWFkb25seT0icmVhZG9ubHkiIG5hbWU9Imxlbmd0aCIgaWQ9Ijo6U3RyaW5nTWFw
Mjo6bGVuZ3RoIj4KLSAgICAgIDx3ZWJpZGw+ICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQg
bG9uZyBsZW5ndGg7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJ1bnNpZ25lZCBsb25nIi8+
Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gICAgPE9wZXJhdGlvbiBnZXR0ZXI9ImdldHRlciIgbmFtZT0i
bG9va3VwIiBpZD0iOjpTdHJpbmdNYXAyOjpsb29rdXAiPgotICAgICAgPHdlYmlkbD4gIGdldHRl
ciBET01TdHJpbmcgbG9va3VwKERPTVN0cmluZyBrZXkpOzwvd2ViaWRsPgotICAgICAgPFR5cGUg
dHlwZT0iRE9NU3RyaW5nIi8+Ci0gICAgICA8QXJndW1lbnRMaXN0PgotICAgICAgICA8QXJndW1l
bnQgbmFtZT0ia2V5Ij4KLSAgICAgICAgICA8VHlwZSB0eXBlPSJET01TdHJpbmciLz4KLSAgICAg
ICAgPC9Bcmd1bWVudD4KLSAgICAgIDwvQXJndW1lbnRMaXN0PgotICAgIDwvT3BlcmF0aW9uPgot
ICA8L0ludGVyZmFjZT4KLTwvRGVmaW5pdGlvbnM+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mv
dGVzdC92YWxpZC94bWwvcGFydGlhbC1pbnRlcmZhY2Uud2lkbHByb2N4bWwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL3BhcnRpYWwtaW50ZXJmYWNlLndp
ZGxwcm9jeG1sCShyZXZpc2lvbiAyNTI4OTYpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92
YWxpZC94bWwvcGFydGlhbC1pbnRlcmZhY2Uud2lkbHByb2N4bWwJKG5vbmV4aXN0ZW50KQpAQCAt
MSwyOSArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgotPCFE
T0NUWVBFIERlZmluaXRpb25zIFNZU1RFTSAid2lkbHByb2N4bWwuZHRkIj4KLTxEZWZpbml0aW9u
cz4KLSAgPHdlYmlkbD5pbnRlcmZhY2UgRm9vIHsKLSAgYXR0cmlidXRlIERPTVN0cmluZyBiYXI7
Ci19OwotCi1wYXJ0aWFsIGludGVyZmFjZSBGb28gewotICBhdHRyaWJ1dGUgRE9NU3RyaW5nIHF1
dXg7Ci19Ozwvd2ViaWRsPgotICA8SW50ZXJmYWNlIG5hbWU9IkZvbyIgaWQ9Ijo6Rm9vIj4KLSAg
ICA8d2ViaWRsPmludGVyZmFjZSBGb28gewotICBhdHRyaWJ1dGUgRE9NU3RyaW5nIGJhcjsKLX07
PC93ZWJpZGw+Ci0gICAgPEF0dHJpYnV0ZSBuYW1lPSJiYXIiIGlkPSI6OkZvbzo6YmFyIj4KLSAg
ICAgIDx3ZWJpZGw+ICBhdHRyaWJ1dGUgRE9NU3RyaW5nIGJhcjs8L3dlYmlkbD4KLSAgICAgIDxU
eXBlIHR5cGU9IkRPTVN0cmluZyIvPgotICAgIDwvQXR0cmlidXRlPgotICA8L0ludGVyZmFjZT4K
LSAgPEludGVyZmFjZSBuYW1lPSJGb28iIHBhcnRpYWw9InBhcnRpYWwiIGlkPSI6OkZvbyI+Ci0g
ICAgPHdlYmlkbD5wYXJ0aWFsIGludGVyZmFjZSBGb28gewotICBhdHRyaWJ1dGUgRE9NU3RyaW5n
IHF1dXg7Ci19Ozwvd2ViaWRsPgotICAgIDxBdHRyaWJ1dGUgbmFtZT0icXV1eCIgaWQ9Ijo6Rm9v
OjpxdXV4Ij4KLSAgICAgIDx3ZWJpZGw+ICBhdHRyaWJ1dGUgRE9NU3RyaW5nIHF1dXg7PC93ZWJp
ZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJET01TdHJpbmciLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAg
PC9JbnRlcmZhY2U+Ci08L0RlZmluaXRpb25zPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rl
c3QvdmFsaWQveG1sL3ByaW1pdGl2ZXMud2lkbHByb2N4bWwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL3ByaW1pdGl2ZXMud2lkbHByb2N4bWwJKHJldmlz
aW9uIDI1Mjg5NikKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9wcmltaXRp
dmVzLndpZGxwcm9jeG1sCShub25leGlzdGVudCkKQEAgLTEsMTEyICswLDAgQEAKLTw/eG1sIHZl
cnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Ci08IURPQ1RZUEUgRGVmaW5pdGlvbnMgU1lT
VEVNICJ3aWRscHJvY3htbC5kdGQiPgotPERlZmluaXRpb25zPgotICA8d2ViaWRsPmludGVyZmFj
ZSBQcmltaXRpdmVzIHsKLSAgYXR0cmlidXRlIGJvb2xlYW4gdHJ1dGg7Ci0gIGF0dHJpYnV0ZSBi
eXRlIGNoYXJhY3RlcjsKLSAgYXR0cmlidXRlIG9jdGV0IHZhbHVlOwotICBhdHRyaWJ1dGUgc2hv
cnQgbnVtYmVyOwotICBhdHRyaWJ1dGUgdW5zaWduZWQgc2hvcnQgcG9zaXRpdmU7Ci0gIGF0dHJp
YnV0ZSBsb25nIGJpZzsKLSAgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgYmlncG9zaXRpdmU7Ci0g
IGF0dHJpYnV0ZSBsb25nIGxvbmcgYmlnYmlnOwotICBhdHRyaWJ1dGUgIHVuc2lnbmVkIGxvbmcg
bG9uZyBiaWdiaWdwb3NpdGl2ZTsKLSAgYXR0cmlidXRlIGZsb2F0IHJlYWw7Ci0gIGF0dHJpYnV0
ZSBkb3VibGUgYmlncmVhbDsgCi0gIGF0dHJpYnV0ZSB1bnJlc3RyaWN0ZWQgZmxvYXQgcmVhbHdp
dGhpbmZpbml0eTsKLSAgYXR0cmlidXRlIHVucmVzdHJpY3RlZCBkb3VibGUgYmlncmVhbHdpdGhp
bmZpbml0eTsgCi0gIGF0dHJpYnV0ZSBET01TdHJpbmcgc3RyaW5nOyAKLSAgYXR0cmlidXRlIEJ5
dGVTdHJpbmcgYnl0ZXM7IAotICBhdHRyaWJ1dGUgRGF0ZSBkYXRlOwotICBhdHRyaWJ1dGUgUmVn
RXhwIHJlZ2V4cDsKLX07PC93ZWJpZGw+Ci0gIDxJbnRlcmZhY2UgbmFtZT0iUHJpbWl0aXZlcyIg
aWQ9Ijo6UHJpbWl0aXZlcyI+Ci0gICAgPHdlYmlkbD5pbnRlcmZhY2UgUHJpbWl0aXZlcyB7Ci0g
IGF0dHJpYnV0ZSBib29sZWFuIHRydXRoOwotICBhdHRyaWJ1dGUgYnl0ZSBjaGFyYWN0ZXI7Ci0g
IGF0dHJpYnV0ZSBvY3RldCB2YWx1ZTsKLSAgYXR0cmlidXRlIHNob3J0IG51bWJlcjsKLSAgYXR0
cmlidXRlIHVuc2lnbmVkIHNob3J0IHBvc2l0aXZlOwotICBhdHRyaWJ1dGUgbG9uZyBiaWc7Ci0g
IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGJpZ3Bvc2l0aXZlOwotICBhdHRyaWJ1dGUgbG9uZyBs
b25nIGJpZ2JpZzsKLSAgYXR0cmlidXRlICB1bnNpZ25lZCBsb25nIGxvbmcgYmlnYmlncG9zaXRp
dmU7Ci0gIGF0dHJpYnV0ZSBmbG9hdCByZWFsOwotICBhdHRyaWJ1dGUgZG91YmxlIGJpZ3JlYWw7
IAotICBhdHRyaWJ1dGUgdW5yZXN0cmljdGVkIGZsb2F0IHJlYWx3aXRoaW5maW5pdHk7Ci0gIGF0
dHJpYnV0ZSB1bnJlc3RyaWN0ZWQgZG91YmxlIGJpZ3JlYWx3aXRoaW5maW5pdHk7IAotICBhdHRy
aWJ1dGUgRE9NU3RyaW5nIHN0cmluZzsgCi0gIGF0dHJpYnV0ZSBCeXRlU3RyaW5nIGJ5dGVzOyAK
LSAgYXR0cmlidXRlIERhdGUgZGF0ZTsKLSAgYXR0cmlidXRlIFJlZ0V4cCByZWdleHA7Ci19Ozwv
d2ViaWRsPgotICAgIDxBdHRyaWJ1dGUgbmFtZT0idHJ1dGgiIGlkPSI6OlByaW1pdGl2ZXM6OnRy
dXRoIj4KLSAgICAgIDx3ZWJpZGw+ICBhdHRyaWJ1dGUgYm9vbGVhbiB0cnV0aDs8L3dlYmlkbD4K
LSAgICAgIDxUeXBlIHR5cGU9ImJvb2xlYW4iLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAgICA8QXR0
cmlidXRlIG5hbWU9ImNoYXJhY3RlciIgaWQ9Ijo6UHJpbWl0aXZlczo6Y2hhcmFjdGVyIj4KLSAg
ICAgIDx3ZWJpZGw+ICBhdHRyaWJ1dGUgYnl0ZSBjaGFyYWN0ZXI7PC93ZWJpZGw+Ci0gICAgICA8
VHlwZSB0eXBlPSJieXRlIi8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gICAgPEF0dHJpYnV0ZSBuYW1l
PSJ2YWx1ZSIgaWQ9Ijo6UHJpbWl0aXZlczo6dmFsdWUiPgotICAgICAgPHdlYmlkbD4gIGF0dHJp
YnV0ZSBvY3RldCB2YWx1ZTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9Im9jdGV0Ii8+Ci0g
ICAgPC9BdHRyaWJ1dGU+Ci0gICAgPEF0dHJpYnV0ZSBuYW1lPSJudW1iZXIiIGlkPSI6OlByaW1p
dGl2ZXM6Om51bWJlciI+Ci0gICAgICA8d2ViaWRsPiAgYXR0cmlidXRlIHNob3J0IG51bWJlcjs8
L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9InNob3J0Ii8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0g
ICAgPEF0dHJpYnV0ZSBuYW1lPSJwb3NpdGl2ZSIgaWQ9Ijo6UHJpbWl0aXZlczo6cG9zaXRpdmUi
PgotICAgICAgPHdlYmlkbD4gIGF0dHJpYnV0ZSB1bnNpZ25lZCBzaG9ydCBwb3NpdGl2ZTs8L3dl
YmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9InVuc2lnbmVkIHNob3J0Ii8+Ci0gICAgPC9BdHRyaWJ1
dGU+Ci0gICAgPEF0dHJpYnV0ZSBuYW1lPSJiaWciIGlkPSI6OlByaW1pdGl2ZXM6OmJpZyI+Ci0g
ICAgICA8d2ViaWRsPiAgYXR0cmlidXRlIGxvbmcgYmlnOzwvd2ViaWRsPgotICAgICAgPFR5cGUg
dHlwZT0ibG9uZyIvPgotICAgIDwvQXR0cmlidXRlPgotICAgIDxBdHRyaWJ1dGUgbmFtZT0iYmln
cG9zaXRpdmUiIGlkPSI6OlByaW1pdGl2ZXM6OmJpZ3Bvc2l0aXZlIj4KLSAgICAgIDx3ZWJpZGw+
ICBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBiaWdwb3NpdGl2ZTs8L3dlYmlkbD4KLSAgICAgIDxU
eXBlIHR5cGU9InVuc2lnbmVkIGxvbmciLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAgICA8QXR0cmli
dXRlIG5hbWU9ImJpZ2JpZyIgaWQ9Ijo6UHJpbWl0aXZlczo6YmlnYmlnIj4KLSAgICAgIDx3ZWJp
ZGw+ICBhdHRyaWJ1dGUgbG9uZyBsb25nIGJpZ2JpZzs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5
cGU9ImxvbmcgbG9uZyIvPgotICAgIDwvQXR0cmlidXRlPgotICAgIDxBdHRyaWJ1dGUgbmFtZT0i
YmlnYmlncG9zaXRpdmUiIGlkPSI6OlByaW1pdGl2ZXM6OmJpZ2JpZ3Bvc2l0aXZlIj4KLSAgICAg
IDx3ZWJpZGw+ICBhdHRyaWJ1dGUgIHVuc2lnbmVkIGxvbmcgbG9uZyBiaWdiaWdwb3NpdGl2ZTs8
L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9InVuc2lnbmVkIGxvbmcgbG9uZyIvPgotICAgIDwv
QXR0cmlidXRlPgotICAgIDxBdHRyaWJ1dGUgbmFtZT0icmVhbCIgaWQ9Ijo6UHJpbWl0aXZlczo6
cmVhbCI+Ci0gICAgICA8d2ViaWRsPiAgYXR0cmlidXRlIGZsb2F0IHJlYWw7PC93ZWJpZGw+Ci0g
ICAgICA8VHlwZSB0eXBlPSJmbG9hdCIvPgotICAgIDwvQXR0cmlidXRlPgotICAgIDxBdHRyaWJ1
dGUgbmFtZT0iYmlncmVhbCIgaWQ9Ijo6UHJpbWl0aXZlczo6YmlncmVhbCI+Ci0gICAgICA8d2Vi
aWRsPiAgYXR0cmlidXRlIGRvdWJsZSBiaWdyZWFsOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlw
ZT0iZG91YmxlIi8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gICAgPEF0dHJpYnV0ZSBuYW1lPSJyZWFs
d2l0aGluZmluaXR5IiBpZD0iOjpQcmltaXRpdmVzOjpyZWFsd2l0aGluZmluaXR5Ij4KLSAgICAg
IDx3ZWJpZGw+ICBhdHRyaWJ1dGUgdW5yZXN0cmljdGVkIGZsb2F0IHJlYWx3aXRoaW5maW5pdHk7
PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJ1bnJlc3RyaWN0ZWQgZmxvYXQiLz4KLSAgICA8
L0F0dHJpYnV0ZT4KLSAgICA8QXR0cmlidXRlIG5hbWU9ImJpZ3JlYWx3aXRoaW5maW5pdHkiIGlk
PSI6OlByaW1pdGl2ZXM6OmJpZ3JlYWx3aXRoaW5maW5pdHkiPgotICAgICAgPHdlYmlkbD4gIGF0
dHJpYnV0ZSB1bnJlc3RyaWN0ZWQgZG91YmxlIGJpZ3JlYWx3aXRoaW5maW5pdHk7PC93ZWJpZGw+
Ci0gICAgICA8VHlwZSB0eXBlPSJ1bnJlc3RyaWN0ZWQgZG91YmxlIi8+Ci0gICAgPC9BdHRyaWJ1
dGU+Ci0gICAgPEF0dHJpYnV0ZSBuYW1lPSJzdHJpbmciIGlkPSI6OlByaW1pdGl2ZXM6OnN0cmlu
ZyI+Ci0gICAgICA8d2ViaWRsPiAgYXR0cmlidXRlIERPTVN0cmluZyBzdHJpbmc7PC93ZWJpZGw+
Ci0gICAgICA8VHlwZSB0eXBlPSJET01TdHJpbmciLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAgICA8
QXR0cmlidXRlIG5hbWU9ImJ5dGVzIiBpZD0iOjpQcmltaXRpdmVzOjpieXRlcyI+Ci0gICAgICA8
d2ViaWRsPiAgYXR0cmlidXRlIEJ5dGVTdHJpbmcgYnl0ZXM7PC93ZWJpZGw+Ci0gICAgICA8VHlw
ZSB0eXBlPSJCeXRlU3RyaW5nIi8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gICAgPEF0dHJpYnV0ZSBu
YW1lPSJkYXRlIiBpZD0iOjpQcmltaXRpdmVzOjpkYXRlIj4KLSAgICAgIDx3ZWJpZGw+ICBhdHRy
aWJ1dGUgRGF0ZSBkYXRlOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0iRGF0ZSIvPgotICAg
IDwvQXR0cmlidXRlPgotICAgIDxBdHRyaWJ1dGUgbmFtZT0icmVnZXhwIiBpZD0iOjpQcmltaXRp
dmVzOjpyZWdleHAiPgotICAgICAgPHdlYmlkbD4gIGF0dHJpYnV0ZSBSZWdFeHAgcmVnZXhwOzwv
d2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0iUmVnRXhwIi8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0g
IDwvSW50ZXJmYWNlPgotPC9EZWZpbml0aW9ucz4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90
ZXN0L3ZhbGlkL3htbC9wcm90b3R5cGVyb290LndpZGxwcm9jeG1sCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9wcm90b3R5cGVyb290LndpZGxwcm9jeG1s
CShyZXZpc2lvbiAyNTI4OTYpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwv
cHJvdG90eXBlcm9vdC53aWRscHJvY3htbAkobm9uZXhpc3RlbnQpCkBAIC0xLDIzICswLDAgQEAK
LTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Ci08IURPQ1RZUEUgRGVmaW5p
dGlvbnMgU1lTVEVNICJ3aWRscHJvY3htbC5kdGQiPgotPERlZmluaXRpb25zPgotICA8d2ViaWRs
PltQcm90b3R5cGVSb290XQotaW50ZXJmYWNlIE5vZGUgewotICByZWFkb25seSBhdHRyaWJ1dGUg
dW5zaWduZWQgc2hvcnQgbm9kZVR5cGU7Ci19Ozwvd2ViaWRsPgotICA8SW50ZXJmYWNlIG5hbWU9
Ik5vZGUiIGlkPSI6Ok5vZGUiPgotICAgIDx3ZWJpZGw+W1Byb3RvdHlwZVJvb3RdCi1pbnRlcmZh
Y2UgTm9kZSB7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBzaG9ydCBub2RlVHlwZTsK
LX07PC93ZWJpZGw+Ci0gICAgPEV4dGVuZGVkQXR0cmlidXRlTGlzdD4KLSAgICAgIDxFeHRlbmRl
ZEF0dHJpYnV0ZSBuYW1lPSJQcm90b3R5cGVSb290Ij4KLSAgICAgICAgPHdlYmlkbD5Qcm90b3R5
cGVSb290PC93ZWJpZGw+Ci0gICAgICA8L0V4dGVuZGVkQXR0cmlidXRlPgotICAgIDwvRXh0ZW5k
ZWRBdHRyaWJ1dGVMaXN0PgotICAgIDxBdHRyaWJ1dGUgcmVhZG9ubHk9InJlYWRvbmx5IiBuYW1l
PSJub2RlVHlwZSIgaWQ9Ijo6Tm9kZTo6bm9kZVR5cGUiPgotICAgICAgPHdlYmlkbD4gIHJlYWRv
bmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBzaG9ydCBub2RlVHlwZTs8L3dlYmlkbD4KLSAgICAgIDxU
eXBlIHR5cGU9InVuc2lnbmVkIHNob3J0Ii8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gIDwvSW50ZXJm
YWNlPgotPC9EZWZpbml0aW9ucz4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlk
L3htbC9wdXRmb3J3YXJkcy53aWRscHJvY3htbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lk
bHByb2MvdGVzdC92YWxpZC94bWwvcHV0Zm9yd2FyZHMud2lkbHByb2N4bWwJKHJldmlzaW9uIDI1
Mjg5NikKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9wdXRmb3J3YXJkcy53
aWRscHJvY3htbAkobm9uZXhpc3RlbnQpCkBAIC0xLDI3ICswLDAgQEAKLTw/eG1sIHZlcnNpb249
IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Ci08IURPQ1RZUEUgRGVmaW5pdGlvbnMgU1lTVEVNICJ3
aWRscHJvY3htbC5kdGQiPgotPERlZmluaXRpb25zPgotICA8d2ViaWRsPmludGVyZmFjZSBQZXJz
b24gewotICBbUHV0Rm9yd2FyZHM9ZnVsbF0gcmVhZG9ubHkgYXR0cmlidXRlIDxyZWY+TmFtZTwv
cmVmPiBuYW1lOwotICBhdHRyaWJ1dGUgdW5zaWduZWQgc2hvcnQgYWdlOwotfTs8L3dlYmlkbD4K
LSAgPEludGVyZmFjZSBuYW1lPSJQZXJzb24iIGlkPSI6OlBlcnNvbiI+Ci0gICAgPHdlYmlkbD5p
bnRlcmZhY2UgUGVyc29uIHsKLSAgW1B1dEZvcndhcmRzPWZ1bGxdIHJlYWRvbmx5IGF0dHJpYnV0
ZSA8cmVmPk5hbWU8L3JlZj4gbmFtZTsKLSAgYXR0cmlidXRlIHVuc2lnbmVkIHNob3J0IGFnZTsK
LX07PC93ZWJpZGw+Ci0gICAgPEF0dHJpYnV0ZSByZWFkb25seT0icmVhZG9ubHkiIG5hbWU9Im5h
bWUiIGlkPSI6OlBlcnNvbjo6bmFtZSI+Ci0gICAgICA8d2ViaWRsPiAgW1B1dEZvcndhcmRzPWZ1
bGxdIHJlYWRvbmx5IGF0dHJpYnV0ZSA8cmVmPk5hbWU8L3JlZj4gbmFtZTs8L3dlYmlkbD4KLSAg
ICAgIDxFeHRlbmRlZEF0dHJpYnV0ZUxpc3Q+Ci0gICAgICAgIDxFeHRlbmRlZEF0dHJpYnV0ZSBu
YW1lPSJQdXRGb3J3YXJkcyIgdmFsdWU9ImZ1bGwiPgotICAgICAgICAgIDx3ZWJpZGw+UHV0Rm9y
d2FyZHM8L3dlYmlkbD4KLSAgICAgICAgPC9FeHRlbmRlZEF0dHJpYnV0ZT4KLSAgICAgIDwvRXh0
ZW5kZWRBdHRyaWJ1dGVMaXN0PgotICAgICAgPFR5cGUgbmFtZT0iTmFtZSIvPgotICAgIDwvQXR0
cmlidXRlPgotICAgIDxBdHRyaWJ1dGUgbmFtZT0iYWdlIiBpZD0iOjpQZXJzb246OmFnZSI+Ci0g
ICAgICA8d2ViaWRsPiAgYXR0cmlidXRlIHVuc2lnbmVkIHNob3J0IGFnZTs8L3dlYmlkbD4KLSAg
ICAgIDxUeXBlIHR5cGU9InVuc2lnbmVkIHNob3J0Ii8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gIDwv
SW50ZXJmYWNlPgotPC9EZWZpbml0aW9ucz4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0
L3ZhbGlkL3htbC9yZWctb3BlcmF0aW9ucy53aWRscHJvY3htbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvcmVnLW9wZXJhdGlvbnMud2lkbHByb2N4bWwJ
KHJldmlzaW9uIDI1Mjg5NikKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9y
ZWctb3BlcmF0aW9ucy53aWRscHJvY3htbAkobm9uZXhpc3RlbnQpCkBAIC0xLDcwICswLDAgQEAK
LTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Ci08IURPQ1RZUEUgRGVmaW5p
dGlvbnMgU1lTVEVNICJ3aWRscHJvY3htbC5kdGQiPgotPERlZmluaXRpb25zPgotICA8d2ViaWRs
PmludGVyZmFjZSBEaW1lbnNpb25zIHsKLSAgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgd2lkdGg7
Ci0gIGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGhlaWdodDsKLX07Ci0KLWV4Y2VwdGlvbiBOb1Bv
aW50ZXJEZXZpY2UgeyB9OwotCi1pbnRlcmZhY2UgQnV0dG9uIHsKLQotICBib29sZWFuIGlzTW91
c2VPdmVyKCk7Ci0KLSAgdm9pZCBzZXREaW1lbnNpb25zKDxyZWY+RGltZW5zaW9uczwvcmVmPiBz
aXplKTsKLSAgdm9pZCBzZXREaW1lbnNpb25zKHVuc2lnbmVkIGxvbmcgd2lkdGgsIHVuc2lnbmVk
IGxvbmcgaGVpZ2h0KTsKLX07PC93ZWJpZGw+Ci0gIDxJbnRlcmZhY2UgbmFtZT0iRGltZW5zaW9u
cyIgaWQ9Ijo6RGltZW5zaW9ucyI+Ci0gICAgPHdlYmlkbD5pbnRlcmZhY2UgRGltZW5zaW9ucyB7
Ci0gIGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIHdpZHRoOwotICBhdHRyaWJ1dGUgdW5zaWduZWQg
bG9uZyBoZWlnaHQ7Ci19Ozwvd2ViaWRsPgotICAgIDxBdHRyaWJ1dGUgbmFtZT0id2lkdGgiIGlk
PSI6OkRpbWVuc2lvbnM6OndpZHRoIj4KLSAgICAgIDx3ZWJpZGw+ICBhdHRyaWJ1dGUgdW5zaWdu
ZWQgbG9uZyB3aWR0aDs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9InVuc2lnbmVkIGxvbmci
Lz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAgICA8QXR0cmlidXRlIG5hbWU9ImhlaWdodCIgaWQ9Ijo6
RGltZW5zaW9uczo6aGVpZ2h0Ij4KLSAgICAgIDx3ZWJpZGw+ICBhdHRyaWJ1dGUgdW5zaWduZWQg
bG9uZyBoZWlnaHQ7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJ1bnNpZ25lZCBsb25nIi8+
Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gIDwvSW50ZXJmYWNlPgotICA8RXhjZXB0aW9uIG5hbWU9Ik5v
UG9pbnRlckRldmljZSIgaWQ9Ijo6Tm9Qb2ludGVyRGV2aWNlIj4KLSAgICA8d2ViaWRsPmV4Y2Vw
dGlvbiBOb1BvaW50ZXJEZXZpY2UgeyB9Ozwvd2ViaWRsPgotICA8L0V4Y2VwdGlvbj4KLSAgPElu
dGVyZmFjZSBuYW1lPSJCdXR0b24iIGlkPSI6OkJ1dHRvbiI+Ci0gICAgPHdlYmlkbD5pbnRlcmZh
Y2UgQnV0dG9uIHsKLQotICBib29sZWFuIGlzTW91c2VPdmVyKCk7Ci0KLSAgdm9pZCBzZXREaW1l
bnNpb25zKDxyZWY+RGltZW5zaW9uczwvcmVmPiBzaXplKTsKLSAgdm9pZCBzZXREaW1lbnNpb25z
KHVuc2lnbmVkIGxvbmcgd2lkdGgsIHVuc2lnbmVkIGxvbmcgaGVpZ2h0KTsKLX07PC93ZWJpZGw+
Ci0gICAgPE9wZXJhdGlvbiBuYW1lPSJpc01vdXNlT3ZlciIgaWQ9Ijo6QnV0dG9uOjppc01vdXNl
T3ZlciI+Ci0gICAgICA8d2ViaWRsPiAgYm9vbGVhbiBpc01vdXNlT3ZlcigpOzwvd2ViaWRsPgot
ICAgICAgPFR5cGUgdHlwZT0iYm9vbGVhbiIvPgotICAgICAgPEFyZ3VtZW50TGlzdC8+Ci0gICAg
PC9PcGVyYXRpb24+Ci0gICAgPE9wZXJhdGlvbiBuYW1lPSJzZXREaW1lbnNpb25zIiBpZD0iOjpC
dXR0b246OnNldERpbWVuc2lvbnMiPgotICAgICAgPHdlYmlkbD4gIHZvaWQgc2V0RGltZW5zaW9u
cyg8cmVmPkRpbWVuc2lvbnM8L3JlZj4gc2l6ZSk7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBl
PSJ2b2lkIi8+Ci0gICAgICA8QXJndW1lbnRMaXN0PgotICAgICAgICA8QXJndW1lbnQgbmFtZT0i
c2l6ZSI+Ci0gICAgICAgICAgPFR5cGUgbmFtZT0iRGltZW5zaW9ucyIvPgotICAgICAgICA8L0Fy
Z3VtZW50PgotICAgICAgPC9Bcmd1bWVudExpc3Q+Ci0gICAgPC9PcGVyYXRpb24+Ci0gICAgPE9w
ZXJhdGlvbiBuYW1lPSJzZXREaW1lbnNpb25zIiBpZD0iOjpCdXR0b246OnNldERpbWVuc2lvbnMi
PgotICAgICAgPHdlYmlkbD4gIHZvaWQgc2V0RGltZW5zaW9ucyh1bnNpZ25lZCBsb25nIHdpZHRo
LCB1bnNpZ25lZCBsb25nIGhlaWdodCk7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJ2b2lk
Ii8+Ci0gICAgICA8QXJndW1lbnRMaXN0PgotICAgICAgICA8QXJndW1lbnQgbmFtZT0id2lkdGgi
PgotICAgICAgICAgIDxUeXBlIHR5cGU9InVuc2lnbmVkIGxvbmciLz4KLSAgICAgICAgPC9Bcmd1
bWVudD4KLSAgICAgICAgPEFyZ3VtZW50IG5hbWU9ImhlaWdodCI+Ci0gICAgICAgICAgPFR5cGUg
dHlwZT0idW5zaWduZWQgbG9uZyIvPgotICAgICAgICA8L0FyZ3VtZW50PgotICAgICAgPC9Bcmd1
bWVudExpc3Q+Ci0gICAgPC9PcGVyYXRpb24+Ci0gIDwvSW50ZXJmYWNlPgotPC9EZWZpbml0aW9u
cz4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9yZXBsYWNlYWJsZS53
aWRscHJvY3htbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94
bWwvcmVwbGFjZWFibGUud2lkbHByb2N4bWwJKHJldmlzaW9uIDI1Mjg5NikKKysrIExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9yZXBsYWNlYWJsZS53aWRscHJvY3htbAkobm9uZXhp
c3RlbnQpCkBAIC0xLDI4ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVU
Ri04Ij8+Ci08IURPQ1RZUEUgRGVmaW5pdGlvbnMgU1lTVEVNICJ3aWRscHJvY3htbC5kdGQiPgot
PERlZmluaXRpb25zPgotICA8d2ViaWRsPmludGVyZmFjZSBDb3VudGVyIHsKLSAgW1JlcGxhY2Vh
YmxlXSByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyB2YWx1ZTsKLSAgdm9pZCBpbmNy
ZW1lbnQoKTsKLX07PC93ZWJpZGw+Ci0gIDxJbnRlcmZhY2UgbmFtZT0iQ291bnRlciIgaWQ9Ijo6
Q291bnRlciI+Ci0gICAgPHdlYmlkbD5pbnRlcmZhY2UgQ291bnRlciB7Ci0gIFtSZXBsYWNlYWJs
ZV0gcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgdmFsdWU7Ci0gIHZvaWQgaW5jcmVt
ZW50KCk7Ci19Ozwvd2ViaWRsPgotICAgIDxBdHRyaWJ1dGUgcmVhZG9ubHk9InJlYWRvbmx5IiBu
YW1lPSJ2YWx1ZSIgaWQ9Ijo6Q291bnRlcjo6dmFsdWUiPgotICAgICAgPHdlYmlkbD4gIFtSZXBs
YWNlYWJsZV0gcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgdmFsdWU7PC93ZWJpZGw+
Ci0gICAgICA8RXh0ZW5kZWRBdHRyaWJ1dGVMaXN0PgotICAgICAgICA8RXh0ZW5kZWRBdHRyaWJ1
dGUgbmFtZT0iUmVwbGFjZWFibGUiPgotICAgICAgICAgIDx3ZWJpZGw+UmVwbGFjZWFibGU8L3dl
YmlkbD4KLSAgICAgICAgPC9FeHRlbmRlZEF0dHJpYnV0ZT4KLSAgICAgIDwvRXh0ZW5kZWRBdHRy
aWJ1dGVMaXN0PgotICAgICAgPFR5cGUgdHlwZT0idW5zaWduZWQgbG9uZyIvPgotICAgIDwvQXR0
cmlidXRlPgotICAgIDxPcGVyYXRpb24gbmFtZT0iaW5jcmVtZW50IiBpZD0iOjpDb3VudGVyOjpp
bmNyZW1lbnQiPgotICAgICAgPHdlYmlkbD4gIHZvaWQgaW5jcmVtZW50KCk7PC93ZWJpZGw+Ci0g
ICAgICA8VHlwZSB0eXBlPSJ2b2lkIi8+Ci0gICAgICA8QXJndW1lbnRMaXN0Lz4KLSAgICA8L09w
ZXJhdGlvbj4KLSAgPC9JbnRlcmZhY2U+Ci08L0RlZmluaXRpb25zPgpJbmRleDogTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL3NlcXVlbmNlLndpZGxwcm9jeG1sCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9zZXF1ZW5jZS53aWRscHJvY3ht
bAkocmV2aXNpb24gMjUyODk2KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1s
L3NlcXVlbmNlLndpZGxwcm9jeG1sCShub25leGlzdGVudCkKQEAgLTEsMzIgKzAsMCBAQAotPD94
bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KLTwhRE9DVFlQRSBEZWZpbml0aW9u
cyBTWVNURU0gIndpZGxwcm9jeG1sLmR0ZCI+Ci08RGVmaW5pdGlvbnM+Ci0gIDx3ZWJpZGw+aW50
ZXJmYWNlIENhbnZhcyB7Ci0gIHZvaWQgZHJhd1BvbHlnb24oc2VxdWVuY2UmbHQ7ZmxvYXQ+IGNv
b3JkaW5hdGVzKTsKLSAgc2VxdWVuY2UmbHQ7ZmxvYXQ+IGdldEluZmxlY3Rpb25Qb2ludHMoKTsK
LX07PC93ZWJpZGw+Ci0gIDxJbnRlcmZhY2UgbmFtZT0iQ2FudmFzIiBpZD0iOjpDYW52YXMiPgot
ICAgIDx3ZWJpZGw+aW50ZXJmYWNlIENhbnZhcyB7Ci0gIHZvaWQgZHJhd1BvbHlnb24oc2VxdWVu
Y2UmbHQ7ZmxvYXQ+IGNvb3JkaW5hdGVzKTsKLSAgc2VxdWVuY2UmbHQ7ZmxvYXQ+IGdldEluZmxl
Y3Rpb25Qb2ludHMoKTsKLX07PC93ZWJpZGw+Ci0gICAgPE9wZXJhdGlvbiBuYW1lPSJkcmF3UG9s
eWdvbiIgaWQ9Ijo6Q2FudmFzOjpkcmF3UG9seWdvbiI+Ci0gICAgICA8d2ViaWRsPiAgdm9pZCBk
cmF3UG9seWdvbihzZXF1ZW5jZSZsdDtmbG9hdD4gY29vcmRpbmF0ZXMpOzwvd2ViaWRsPgotICAg
ICAgPFR5cGUgdHlwZT0idm9pZCIvPgotICAgICAgPEFyZ3VtZW50TGlzdD4KLSAgICAgICAgPEFy
Z3VtZW50IG5hbWU9ImNvb3JkaW5hdGVzIj4KLSAgICAgICAgICA8VHlwZSB0eXBlPSJzZXF1ZW5j
ZSI+Ci0gICAgICAgICAgICA8VHlwZSB0eXBlPSJmbG9hdCIvPgotICAgICAgICAgIDwvVHlwZT4K
LSAgICAgICAgPC9Bcmd1bWVudD4KLSAgICAgIDwvQXJndW1lbnRMaXN0PgotICAgIDwvT3BlcmF0
aW9uPgotICAgIDxPcGVyYXRpb24gbmFtZT0iZ2V0SW5mbGVjdGlvblBvaW50cyIgaWQ9Ijo6Q2Fu
dmFzOjpnZXRJbmZsZWN0aW9uUG9pbnRzIj4KLSAgICAgIDx3ZWJpZGw+ICBzZXF1ZW5jZSZsdDtm
bG9hdD4gZ2V0SW5mbGVjdGlvblBvaW50cygpOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0i
c2VxdWVuY2UiPgotICAgICAgICA8VHlwZSB0eXBlPSJmbG9hdCIvPgotICAgICAgPC9UeXBlPgot
ICAgICAgPEFyZ3VtZW50TGlzdC8+Ci0gICAgPC9PcGVyYXRpb24+Ci0gIDwvSW50ZXJmYWNlPgot
PC9EZWZpbml0aW9ucz4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9z
ZXJpYWxpemVyLndpZGxwcm9jeG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90
ZXN0L3ZhbGlkL3htbC9zZXJpYWxpemVyLndpZGxwcm9jeG1sCShyZXZpc2lvbiAyNTI4OTYpCisr
KyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvc2VyaWFsaXplci53aWRscHJvY3ht
bAkobm9uZXhpc3RlbnQpCkBAIC0xLDI5NiArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVu
Y29kaW5nPSJVVEYtOCI/PgotPCFET0NUWVBFIERlZmluaXRpb25zIFNZU1RFTSAid2lkbHByb2N4
bWwuZHRkIj4KLTxEZWZpbml0aW9ucz4KLSAgPHdlYmlkbD5pbnRlcmZhY2UgVHJhbnNhY3Rpb24g
ewotICByZWFkb25seSBhdHRyaWJ1dGUgPHJlZj5BY2NvdW50PC9yZWY+IGZyb207Ci0gIHJlYWRv
bmx5IGF0dHJpYnV0ZSA8cmVmPkFjY291bnQ8L3JlZj4gdG87Ci0gIHJlYWRvbmx5IGF0dHJpYnV0
ZSBmbG9hdCBhbW91bnQ7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgZGVzY3JpcHRp
b247Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIG51bWJlcjsKLQotICBzZXJp
YWxpemVyOwotfTsKLQotaW50ZXJmYWNlIEFjY291bnQgewotICBhdHRyaWJ1dGUgRE9NU3RyaW5n
IG5hbWU7Ci0gIGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIG51bWJlcjsKLSAgc2VyaWFsaXplciBE
T01TdHJpbmcgc2VyaWFsaXplKCk7Ci19OwotCi1pbnRlcmZhY2UgVHJhbnNhY3Rpb24yIHsKLSAg
cmVhZG9ubHkgYXR0cmlidXRlIDxyZWY+QWNjb3VudDI8L3JlZj4gZnJvbTsKLSAgcmVhZG9ubHkg
YXR0cmlidXRlIDxyZWY+QWNjb3VudDI8L3JlZj4gdG87Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSBm
bG9hdCBhbW91bnQ7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgZGVzY3JpcHRpb247
Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIG51bWJlcjsKLQotICBzZXJpYWxp
emVyID0geyBmcm9tLCB0bywgYW1vdW50LCBkZXNjcmlwdGlvbiB9OwotfTsKLQotaW50ZXJmYWNl
IEFjY291bnQyIHsKLSAgYXR0cmlidXRlIERPTVN0cmluZyBuYW1lOwotICBhdHRyaWJ1dGUgdW5z
aWduZWQgbG9uZyBudW1iZXI7Ci0gIHNlcmlhbGl6ZXIgPSBudW1iZXI7Ci19OwotCi1pbnRlcmZh
Y2UgQWNjb3VudDMgewotICBhdHRyaWJ1dGUgRE9NU3RyaW5nIG5hbWU7Ci0gIGF0dHJpYnV0ZSB1
bnNpZ25lZCBsb25nIG51bWJlcjsKLQotICBzZXJpYWxpemVyID0geyBhdHRyaWJ1dGUgfTsKLX07
Ci0KLWludGVyZmFjZSBBY2NvdW50NCB7Ci0gIGdldHRlciBvYmplY3QgZ2V0SXRlbSh1bnNpZ25l
ZCBsb25nIGluZGV4KTsKLSAgc2VyaWFsaXplciA9IHsgZ2V0dGVyIH07Ci19OwotCi1pbnRlcmZh
Y2UgQWNjb3VudDUgOiA8cmVmPkFjY291bnQ8L3JlZj4gewotICBhdHRyaWJ1dGUgRE9NU3RyaW5n
IHNlY29uZG5hbWU7Ci0gIHNlcmlhbGl6ZXIgPSB7IGluaGVyaXQsIHNlY29uZG5hbWUgfTsKLX07
Ci0KLWludGVyZmFjZSBBY2NvdW50NiA6IDxyZWY+QWNjb3VudDwvcmVmPiB7Ci0gIGF0dHJpYnV0
ZSBET01TdHJpbmcgc2Vjb25kbmFtZTsKLSAgc2VyaWFsaXplciA9IHsgaW5oZXJpdCwgYXR0cmli
dXRlIH07Ci19OwotCi1pbnRlcmZhY2UgQWNjb3VudDcgewotICBhdHRyaWJ1dGUgRE9NU3RyaW5n
IG5hbWU7Ci0gIGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIG51bWJlcjsKLSAgc2VyaWFsaXplciA9
IFsgbmFtZSwgbnVtYmVyIF07Ci19OwotCi1pbnRlcmZhY2UgQWNjb3VudDggewotICBnZXR0ZXIg
b2JqZWN0IGdldEl0ZW0odW5zaWduZWQgbG9uZyBpbmRleCk7Ci0gIHNlcmlhbGl6ZXIgPSBbIGdl
dHRlciBdOwotfTs8L3dlYmlkbD4KLSAgPEludGVyZmFjZSBuYW1lPSJUcmFuc2FjdGlvbiIgaWQ9
Ijo6VHJhbnNhY3Rpb24iPgotICAgIDx3ZWJpZGw+aW50ZXJmYWNlIFRyYW5zYWN0aW9uIHsKLSAg
cmVhZG9ubHkgYXR0cmlidXRlIDxyZWY+QWNjb3VudDwvcmVmPiBmcm9tOwotICByZWFkb25seSBh
dHRyaWJ1dGUgPHJlZj5BY2NvdW50PC9yZWY+IHRvOwotICByZWFkb25seSBhdHRyaWJ1dGUgZmxv
YXQgYW1vdW50OwotICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGRlc2NyaXB0aW9uOwot
ICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBudW1iZXI7Ci0KLSAgc2VyaWFsaXpl
cjsKLX07PC93ZWJpZGw+Ci0gICAgPEF0dHJpYnV0ZSByZWFkb25seT0icmVhZG9ubHkiIG5hbWU9
ImZyb20iIGlkPSI6OlRyYW5zYWN0aW9uOjpmcm9tIj4KLSAgICAgIDx3ZWJpZGw+ICByZWFkb25s
eSBhdHRyaWJ1dGUgPHJlZj5BY2NvdW50PC9yZWY+IGZyb207PC93ZWJpZGw+Ci0gICAgICA8VHlw
ZSBuYW1lPSJBY2NvdW50Ii8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gICAgPEF0dHJpYnV0ZSByZWFk
b25seT0icmVhZG9ubHkiIG5hbWU9InRvIiBpZD0iOjpUcmFuc2FjdGlvbjo6dG8iPgotICAgICAg
PHdlYmlkbD4gIHJlYWRvbmx5IGF0dHJpYnV0ZSA8cmVmPkFjY291bnQ8L3JlZj4gdG87PC93ZWJp
ZGw+Ci0gICAgICA8VHlwZSBuYW1lPSJBY2NvdW50Ii8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gICAg
PEF0dHJpYnV0ZSByZWFkb25seT0icmVhZG9ubHkiIG5hbWU9ImFtb3VudCIgaWQ9Ijo6VHJhbnNh
Y3Rpb246OmFtb3VudCI+Ci0gICAgICA8d2ViaWRsPiAgcmVhZG9ubHkgYXR0cmlidXRlIGZsb2F0
IGFtb3VudDs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9ImZsb2F0Ii8+Ci0gICAgPC9BdHRy
aWJ1dGU+Ci0gICAgPEF0dHJpYnV0ZSByZWFkb25seT0icmVhZG9ubHkiIG5hbWU9ImRlc2NyaXB0
aW9uIiBpZD0iOjpUcmFuc2FjdGlvbjo6ZGVzY3JpcHRpb24iPgotICAgICAgPHdlYmlkbD4gIHJl
YWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgZGVzY3JpcHRpb247PC93ZWJpZGw+Ci0gICAgICA8
VHlwZSB0eXBlPSJET01TdHJpbmciLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAgICA8QXR0cmlidXRl
IHJlYWRvbmx5PSJyZWFkb25seSIgbmFtZT0ibnVtYmVyIiBpZD0iOjpUcmFuc2FjdGlvbjo6bnVt
YmVyIj4KLSAgICAgIDx3ZWJpZGw+ICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBu
dW1iZXI7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJ1bnNpZ25lZCBsb25nIi8+Ci0gICAg
PC9BdHRyaWJ1dGU+Ci0gICAgPFNlcmlhbGl6ZXI+Ci0gICAgICA8d2ViaWRsPiAgc2VyaWFsaXpl
cjs8L3dlYmlkbD4KLSAgICA8L1NlcmlhbGl6ZXI+Ci0gIDwvSW50ZXJmYWNlPgotICA8SW50ZXJm
YWNlIG5hbWU9IkFjY291bnQiIGlkPSI6OkFjY291bnQiPgotICAgIDx3ZWJpZGw+aW50ZXJmYWNl
IEFjY291bnQgewotICBhdHRyaWJ1dGUgRE9NU3RyaW5nIG5hbWU7Ci0gIGF0dHJpYnV0ZSB1bnNp
Z25lZCBsb25nIG51bWJlcjsKLSAgc2VyaWFsaXplciBET01TdHJpbmcgc2VyaWFsaXplKCk7Ci19
Ozwvd2ViaWRsPgotICAgIDxBdHRyaWJ1dGUgbmFtZT0ibmFtZSIgaWQ9Ijo6QWNjb3VudDo6bmFt
ZSI+Ci0gICAgICA8d2ViaWRsPiAgYXR0cmlidXRlIERPTVN0cmluZyBuYW1lOzwvd2ViaWRsPgot
ICAgICAgPFR5cGUgdHlwZT0iRE9NU3RyaW5nIi8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gICAgPEF0
dHJpYnV0ZSBuYW1lPSJudW1iZXIiIGlkPSI6OkFjY291bnQ6Om51bWJlciI+Ci0gICAgICA8d2Vi
aWRsPiAgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbnVtYmVyOzwvd2ViaWRsPgotICAgICAgPFR5
cGUgdHlwZT0idW5zaWduZWQgbG9uZyIvPgotICAgIDwvQXR0cmlidXRlPgotICAgIDxPcGVyYXRp
b24gc2VyaWFsaXplcj0ic2VyaWFsaXplciIgbmFtZT0ic2VyaWFsaXplIiBpZD0iOjpBY2NvdW50
OjpzZXJpYWxpemUiPgotICAgICAgPHdlYmlkbD4gIHNlcmlhbGl6ZXIgRE9NU3RyaW5nIHNlcmlh
bGl6ZSgpOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0iRE9NU3RyaW5nIi8+Ci0gICAgICA8
QXJndW1lbnRMaXN0Lz4KLSAgICA8L09wZXJhdGlvbj4KLSAgPC9JbnRlcmZhY2U+Ci0gIDxJbnRl
cmZhY2UgbmFtZT0iVHJhbnNhY3Rpb24yIiBpZD0iOjpUcmFuc2FjdGlvbjIiPgotICAgIDx3ZWJp
ZGw+aW50ZXJmYWNlIFRyYW5zYWN0aW9uMiB7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSA8cmVmPkFj
Y291bnQyPC9yZWY+IGZyb207Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSA8cmVmPkFjY291bnQyPC9y
ZWY+IHRvOwotICByZWFkb25seSBhdHRyaWJ1dGUgZmxvYXQgYW1vdW50OwotICByZWFkb25seSBh
dHRyaWJ1dGUgRE9NU3RyaW5nIGRlc2NyaXB0aW9uOwotICByZWFkb25seSBhdHRyaWJ1dGUgdW5z
aWduZWQgbG9uZyBudW1iZXI7Ci0KLSAgc2VyaWFsaXplciA9IHsgZnJvbSwgdG8sIGFtb3VudCwg
ZGVzY3JpcHRpb24gfTsKLX07PC93ZWJpZGw+Ci0gICAgPEF0dHJpYnV0ZSByZWFkb25seT0icmVh
ZG9ubHkiIG5hbWU9ImZyb20iIGlkPSI6OlRyYW5zYWN0aW9uMjo6ZnJvbSI+Ci0gICAgICA8d2Vi
aWRsPiAgcmVhZG9ubHkgYXR0cmlidXRlIDxyZWY+QWNjb3VudDI8L3JlZj4gZnJvbTs8L3dlYmlk
bD4KLSAgICAgIDxUeXBlIG5hbWU9IkFjY291bnQyIi8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gICAg
PEF0dHJpYnV0ZSByZWFkb25seT0icmVhZG9ubHkiIG5hbWU9InRvIiBpZD0iOjpUcmFuc2FjdGlv
bjI6OnRvIj4KLSAgICAgIDx3ZWJpZGw+ICByZWFkb25seSBhdHRyaWJ1dGUgPHJlZj5BY2NvdW50
MjwvcmVmPiB0bzs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIG5hbWU9IkFjY291bnQyIi8+Ci0gICAg
PC9BdHRyaWJ1dGU+Ci0gICAgPEF0dHJpYnV0ZSByZWFkb25seT0icmVhZG9ubHkiIG5hbWU9ImFt
b3VudCIgaWQ9Ijo6VHJhbnNhY3Rpb24yOjphbW91bnQiPgotICAgICAgPHdlYmlkbD4gIHJlYWRv
bmx5IGF0dHJpYnV0ZSBmbG9hdCBhbW91bnQ7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJm
bG9hdCIvPgotICAgIDwvQXR0cmlidXRlPgotICAgIDxBdHRyaWJ1dGUgcmVhZG9ubHk9InJlYWRv
bmx5IiBuYW1lPSJkZXNjcmlwdGlvbiIgaWQ9Ijo6VHJhbnNhY3Rpb24yOjpkZXNjcmlwdGlvbiI+
Ci0gICAgICA8d2ViaWRsPiAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBkZXNjcmlwdGlv
bjs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9IkRPTVN0cmluZyIvPgotICAgIDwvQXR0cmli
dXRlPgotICAgIDxBdHRyaWJ1dGUgcmVhZG9ubHk9InJlYWRvbmx5IiBuYW1lPSJudW1iZXIiIGlk
PSI6OlRyYW5zYWN0aW9uMjo6bnVtYmVyIj4KLSAgICAgIDx3ZWJpZGw+ICByZWFkb25seSBhdHRy
aWJ1dGUgdW5zaWduZWQgbG9uZyBudW1iZXI7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJ1
bnNpZ25lZCBsb25nIi8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gICAgPFNlcmlhbGl6ZXI+Ci0gICAg
ICA8d2ViaWRsPiAgc2VyaWFsaXplciA9IHsgZnJvbSwgdG8sIGFtb3VudCwgZGVzY3JpcHRpb24g
fTs8L3dlYmlkbD4KLSAgICAgIDxNYXAgcGF0dGVybj0ic2VsZWN0aW9uIj4KLSAgICAgICAgPFBh
dHRlcm5BdHRyaWJ1dGUgbmFtZT0iZnJvbSIvPgotICAgICAgICA8UGF0dGVybkF0dHJpYnV0ZSBu
YW1lPSJ0byIvPgotICAgICAgICA8UGF0dGVybkF0dHJpYnV0ZSBuYW1lPSJhbW91bnQiLz4KLSAg
ICAgICAgPFBhdHRlcm5BdHRyaWJ1dGUgbmFtZT0iZGVzY3JpcHRpb24iLz4KLSAgICAgIDwvTWFw
PgotICAgIDwvU2VyaWFsaXplcj4KLSAgPC9JbnRlcmZhY2U+Ci0gIDxJbnRlcmZhY2UgbmFtZT0i
QWNjb3VudDIiIGlkPSI6OkFjY291bnQyIj4KLSAgICA8d2ViaWRsPmludGVyZmFjZSBBY2NvdW50
MiB7Ci0gIGF0dHJpYnV0ZSBET01TdHJpbmcgbmFtZTsKLSAgYXR0cmlidXRlIHVuc2lnbmVkIGxv
bmcgbnVtYmVyOwotICBzZXJpYWxpemVyID0gbnVtYmVyOwotfTs8L3dlYmlkbD4KLSAgICA8QXR0
cmlidXRlIG5hbWU9Im5hbWUiIGlkPSI6OkFjY291bnQyOjpuYW1lIj4KLSAgICAgIDx3ZWJpZGw+
ICBhdHRyaWJ1dGUgRE9NU3RyaW5nIG5hbWU7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJE
T01TdHJpbmciLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAgICA8QXR0cmlidXRlIG5hbWU9Im51bWJl
ciIgaWQ9Ijo6QWNjb3VudDI6Om51bWJlciI+Ci0gICAgICA8d2ViaWRsPiAgYXR0cmlidXRlIHVu
c2lnbmVkIGxvbmcgbnVtYmVyOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0idW5zaWduZWQg
bG9uZyIvPgotICAgIDwvQXR0cmlidXRlPgotICAgIDxTZXJpYWxpemVyIGF0dHJpYnV0ZT0ibnVt
YmVyIj4KLSAgICAgIDx3ZWJpZGw+ICBzZXJpYWxpemVyID0gbnVtYmVyOzwvd2ViaWRsPgotICAg
IDwvU2VyaWFsaXplcj4KLSAgPC9JbnRlcmZhY2U+Ci0gIDxJbnRlcmZhY2UgbmFtZT0iQWNjb3Vu
dDMiIGlkPSI6OkFjY291bnQzIj4KLSAgICA8d2ViaWRsPmludGVyZmFjZSBBY2NvdW50MyB7Ci0g
IGF0dHJpYnV0ZSBET01TdHJpbmcgbmFtZTsKLSAgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbnVt
YmVyOwotCi0gIHNlcmlhbGl6ZXIgPSB7IGF0dHJpYnV0ZSB9OwotfTs8L3dlYmlkbD4KLSAgICA8
QXR0cmlidXRlIG5hbWU9Im5hbWUiIGlkPSI6OkFjY291bnQzOjpuYW1lIj4KLSAgICAgIDx3ZWJp
ZGw+ICBhdHRyaWJ1dGUgRE9NU3RyaW5nIG5hbWU7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBl
PSJET01TdHJpbmciLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAgICA8QXR0cmlidXRlIG5hbWU9Im51
bWJlciIgaWQ9Ijo6QWNjb3VudDM6Om51bWJlciI+Ci0gICAgICA8d2ViaWRsPiAgYXR0cmlidXRl
IHVuc2lnbmVkIGxvbmcgbnVtYmVyOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0idW5zaWdu
ZWQgbG9uZyIvPgotICAgIDwvQXR0cmlidXRlPgotICAgIDxTZXJpYWxpemVyPgotICAgICAgPHdl
YmlkbD4gIHNlcmlhbGl6ZXIgPSB7IGF0dHJpYnV0ZSB9Ozwvd2ViaWRsPgotICAgICAgPE1hcCBw
YXR0ZXJuPSJhbGwiLz4KLSAgICA8L1NlcmlhbGl6ZXI+Ci0gIDwvSW50ZXJmYWNlPgotICA8SW50
ZXJmYWNlIG5hbWU9IkFjY291bnQ0IiBpZD0iOjpBY2NvdW50NCI+Ci0gICAgPHdlYmlkbD5pbnRl
cmZhY2UgQWNjb3VudDQgewotICBnZXR0ZXIgb2JqZWN0IGdldEl0ZW0odW5zaWduZWQgbG9uZyBp
bmRleCk7Ci0gIHNlcmlhbGl6ZXIgPSB7IGdldHRlciB9OwotfTs8L3dlYmlkbD4KLSAgICA8T3Bl
cmF0aW9uIGdldHRlcj0iZ2V0dGVyIiBuYW1lPSJnZXRJdGVtIiBpZD0iOjpBY2NvdW50NDo6Z2V0
SXRlbSI+Ci0gICAgICA8d2ViaWRsPiAgZ2V0dGVyIG9iamVjdCBnZXRJdGVtKHVuc2lnbmVkIGxv
bmcgaW5kZXgpOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0ib2JqZWN0Ii8+Ci0gICAgICA8
QXJndW1lbnRMaXN0PgotICAgICAgICA8QXJndW1lbnQgbmFtZT0iaW5kZXgiPgotICAgICAgICAg
IDxUeXBlIHR5cGU9InVuc2lnbmVkIGxvbmciLz4KLSAgICAgICAgPC9Bcmd1bWVudD4KLSAgICAg
IDwvQXJndW1lbnRMaXN0PgotICAgIDwvT3BlcmF0aW9uPgotICAgIDxTZXJpYWxpemVyPgotICAg
ICAgPHdlYmlkbD4gIHNlcmlhbGl6ZXIgPSB7IGdldHRlciB9Ozwvd2ViaWRsPgotICAgICAgPE1h
cCBwYXR0ZXJuPSJnZXR0ZXIiLz4KLSAgICA8L1NlcmlhbGl6ZXI+Ci0gIDwvSW50ZXJmYWNlPgot
ICA8SW50ZXJmYWNlIG5hbWU9IkFjY291bnQ1IiBpZD0iOjpBY2NvdW50NSI+Ci0gICAgPHdlYmlk
bD5pbnRlcmZhY2UgQWNjb3VudDUgOiA8cmVmPkFjY291bnQ8L3JlZj4gewotICBhdHRyaWJ1dGUg
RE9NU3RyaW5nIHNlY29uZG5hbWU7Ci0gIHNlcmlhbGl6ZXIgPSB7IGluaGVyaXQsIHNlY29uZG5h
bWUgfTsKLX07PC93ZWJpZGw+Ci0gICAgPEludGVyZmFjZUluaGVyaXRhbmNlPgotICAgICAgPE5h
bWUgbmFtZT0iQWNjb3VudCIvPgotICAgIDwvSW50ZXJmYWNlSW5oZXJpdGFuY2U+Ci0gICAgPEF0
dHJpYnV0ZSBuYW1lPSJzZWNvbmRuYW1lIiBpZD0iOjpBY2NvdW50NTo6c2Vjb25kbmFtZSI+Ci0g
ICAgICA8d2ViaWRsPiAgYXR0cmlidXRlIERPTVN0cmluZyBzZWNvbmRuYW1lOzwvd2ViaWRsPgot
ICAgICAgPFR5cGUgdHlwZT0iRE9NU3RyaW5nIi8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gICAgPFNl
cmlhbGl6ZXI+Ci0gICAgICA8d2ViaWRsPiAgc2VyaWFsaXplciA9IHsgaW5oZXJpdCwgc2Vjb25k
bmFtZSB9Ozwvd2ViaWRsPgotICAgICAgPE1hcCBpbmhlcml0PSJpbmhlcml0IiBwYXR0ZXJuPSJz
ZWxlY3Rpb24iPgotICAgICAgICA8UGF0dGVybkF0dHJpYnV0ZSBuYW1lPSJzZWNvbmRuYW1lIi8+
Ci0gICAgICA8L01hcD4KLSAgICA8L1NlcmlhbGl6ZXI+Ci0gIDwvSW50ZXJmYWNlPgotICA8SW50
ZXJmYWNlIG5hbWU9IkFjY291bnQ2IiBpZD0iOjpBY2NvdW50NiI+Ci0gICAgPHdlYmlkbD5pbnRl
cmZhY2UgQWNjb3VudDYgOiA8cmVmPkFjY291bnQ8L3JlZj4gewotICBhdHRyaWJ1dGUgRE9NU3Ry
aW5nIHNlY29uZG5hbWU7Ci0gIHNlcmlhbGl6ZXIgPSB7IGluaGVyaXQsIGF0dHJpYnV0ZSB9Owot
fTs8L3dlYmlkbD4KLSAgICA8SW50ZXJmYWNlSW5oZXJpdGFuY2U+Ci0gICAgICA8TmFtZSBuYW1l
PSJBY2NvdW50Ii8+Ci0gICAgPC9JbnRlcmZhY2VJbmhlcml0YW5jZT4KLSAgICA8QXR0cmlidXRl
IG5hbWU9InNlY29uZG5hbWUiIGlkPSI6OkFjY291bnQ2OjpzZWNvbmRuYW1lIj4KLSAgICAgIDx3
ZWJpZGw+ICBhdHRyaWJ1dGUgRE9NU3RyaW5nIHNlY29uZG5hbWU7PC93ZWJpZGw+Ci0gICAgICA8
VHlwZSB0eXBlPSJET01TdHJpbmciLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAgICA8U2VyaWFsaXpl
cj4KLSAgICAgIDx3ZWJpZGw+ICBzZXJpYWxpemVyID0geyBpbmhlcml0LCBhdHRyaWJ1dGUgfTs8
L3dlYmlkbD4KLSAgICAgIDxNYXAgaW5oZXJpdD0iaW5oZXJpdCIgcGF0dGVybj0iYWxsIi8+Ci0g
ICAgPC9TZXJpYWxpemVyPgotICA8L0ludGVyZmFjZT4KLSAgPEludGVyZmFjZSBuYW1lPSJBY2Nv
dW50NyIgaWQ9Ijo6QWNjb3VudDciPgotICAgIDx3ZWJpZGw+aW50ZXJmYWNlIEFjY291bnQ3IHsK
LSAgYXR0cmlidXRlIERPTVN0cmluZyBuYW1lOwotICBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBu
dW1iZXI7Ci0gIHNlcmlhbGl6ZXIgPSBbIG5hbWUsIG51bWJlciBdOwotfTs8L3dlYmlkbD4KLSAg
ICA8QXR0cmlidXRlIG5hbWU9Im5hbWUiIGlkPSI6OkFjY291bnQ3OjpuYW1lIj4KLSAgICAgIDx3
ZWJpZGw+ICBhdHRyaWJ1dGUgRE9NU3RyaW5nIG5hbWU7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0
eXBlPSJET01TdHJpbmciLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAgICA8QXR0cmlidXRlIG5hbWU9
Im51bWJlciIgaWQ9Ijo6QWNjb3VudDc6Om51bWJlciI+Ci0gICAgICA8d2ViaWRsPiAgYXR0cmli
dXRlIHVuc2lnbmVkIGxvbmcgbnVtYmVyOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0idW5z
aWduZWQgbG9uZyIvPgotICAgIDwvQXR0cmlidXRlPgotICAgIDxTZXJpYWxpemVyPgotICAgICAg
PHdlYmlkbD4gIHNlcmlhbGl6ZXIgPSBbIG5hbWUsIG51bWJlciBdOzwvd2ViaWRsPgotICAgICAg
PExpc3QgcGF0dGVybj0ic2VsZWN0aW9uIj4KLSAgICAgICAgPFBhdHRlcm5BdHRyaWJ1dGUgbmFt
ZT0ibmFtZSIvPgotICAgICAgICA8UGF0dGVybkF0dHJpYnV0ZSBuYW1lPSJudW1iZXIiLz4KLSAg
ICAgIDwvTGlzdD4KLSAgICA8L1NlcmlhbGl6ZXI+Ci0gIDwvSW50ZXJmYWNlPgotICA8SW50ZXJm
YWNlIG5hbWU9IkFjY291bnQ4IiBpZD0iOjpBY2NvdW50OCI+Ci0gICAgPHdlYmlkbD5pbnRlcmZh
Y2UgQWNjb3VudDggewotICBnZXR0ZXIgb2JqZWN0IGdldEl0ZW0odW5zaWduZWQgbG9uZyBpbmRl
eCk7Ci0gIHNlcmlhbGl6ZXIgPSBbIGdldHRlciBdOwotfTs8L3dlYmlkbD4KLSAgICA8T3BlcmF0
aW9uIGdldHRlcj0iZ2V0dGVyIiBuYW1lPSJnZXRJdGVtIiBpZD0iOjpBY2NvdW50ODo6Z2V0SXRl
bSI+Ci0gICAgICA8d2ViaWRsPiAgZ2V0dGVyIG9iamVjdCBnZXRJdGVtKHVuc2lnbmVkIGxvbmcg
aW5kZXgpOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0ib2JqZWN0Ii8+Ci0gICAgICA8QXJn
dW1lbnRMaXN0PgotICAgICAgICA8QXJndW1lbnQgbmFtZT0iaW5kZXgiPgotICAgICAgICAgIDxU
eXBlIHR5cGU9InVuc2lnbmVkIGxvbmciLz4KLSAgICAgICAgPC9Bcmd1bWVudD4KLSAgICAgIDwv
QXJndW1lbnRMaXN0PgotICAgIDwvT3BlcmF0aW9uPgotICAgIDxTZXJpYWxpemVyPgotICAgICAg
PHdlYmlkbD4gIHNlcmlhbGl6ZXIgPSBbIGdldHRlciBdOzwvd2ViaWRsPgotICAgICAgPExpc3Qg
cGF0dGVybj0iZ2V0dGVyIi8+Ci0gICAgPC9TZXJpYWxpemVyPgotICA8L0ludGVyZmFjZT4KLTwv
RGVmaW5pdGlvbnM+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvc3Bl
Y2lhbC1vbWl0dGFibGUud2lkbHByb2N4bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxw
cm9jL3Rlc3QvdmFsaWQveG1sL3NwZWNpYWwtb21pdHRhYmxlLndpZGxwcm9jeG1sCShyZXZpc2lv
biAyNTI4OTYpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvc3BlY2lhbC1v
bWl0dGFibGUud2lkbHByb2N4bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwzNyArMCwwIEBACi08P3ht
bCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgotPCFET0NUWVBFIERlZmluaXRpb25z
IFNZU1RFTSAid2lkbHByb2N4bWwuZHRkIj4KLTxEZWZpbml0aW9ucz4KLSAgPEludGVyZmFjZSBu
YW1lPSJEaWN0aW9uYXJ5IiBpZD0iOjpEaWN0aW9uYXJ5Ij4KLSAgICA8d2ViaWRsPmludGVyZmFj
ZSBEaWN0aW9uYXJ5IHsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgcHJvcGVy
dHlDb3VudDsKLQotICBvbWl0dGFibGUgZ2V0dGVyIGZsb2F0IGdldFByb3BlcnR5KERPTVN0cmlu
ZyBwcm9wZXJ0eU5hbWUpOwotICBvbWl0dGFibGUgc2V0dGVyIHZvaWQgc2V0UHJvcGVydHkoRE9N
U3RyaW5nIHByb3BlcnR5TmFtZSwgZmxvYXQgcHJvcGVydHlWYWx1ZSk7Ci19Ozwvd2ViaWRsPgot
ICAgIDxBdHRyaWJ1dGUgcmVhZG9ubHk9InJlYWRvbmx5IiBuYW1lPSJwcm9wZXJ0eUNvdW50IiBp
ZD0iOjpEaWN0aW9uYXJ5Ojpwcm9wZXJ0eUNvdW50Ij4KLSAgICAgIDx3ZWJpZGw+ICByZWFkb25s
eSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBwcm9wZXJ0eUNvdW50Ozwvd2ViaWRsPgotICAgICAg
PFR5cGUgdHlwZT0idW5zaWduZWQgbG9uZyIvPgotICAgIDwvQXR0cmlidXRlPgotICAgIDxPcGVy
YXRpb24gb21pdHRhYmxlPSJvbWl0dGFibGUiIGdldHRlcj0iZ2V0dGVyIiBuYW1lPSJnZXRQcm9w
ZXJ0eSIgaWQ9Ijo6RGljdGlvbmFyeTo6Z2V0UHJvcGVydHkiPgotICAgICAgPHdlYmlkbD4gIG9t
aXR0YWJsZSBnZXR0ZXIgZmxvYXQgZ2V0UHJvcGVydHkoRE9NU3RyaW5nIHByb3BlcnR5TmFtZSk7
PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJmbG9hdCIvPgotICAgICAgPEFyZ3VtZW50TGlz
dD4KLSAgICAgICAgPEFyZ3VtZW50IG5hbWU9InByb3BlcnR5TmFtZSI+Ci0gICAgICAgICAgPFR5
cGUgdHlwZT0iRE9NU3RyaW5nIi8+Ci0gICAgICAgIDwvQXJndW1lbnQ+Ci0gICAgICA8L0FyZ3Vt
ZW50TGlzdD4KLSAgICA8L09wZXJhdGlvbj4KLSAgICA8T3BlcmF0aW9uIG9taXR0YWJsZT0ib21p
dHRhYmxlIiBzZXR0ZXI9InNldHRlciIgbmFtZT0ic2V0UHJvcGVydHkiIGlkPSI6OkRpY3Rpb25h
cnk6OnNldFByb3BlcnR5Ij4KLSAgICAgIDx3ZWJpZGw+ICBvbWl0dGFibGUgc2V0dGVyIHZvaWQg
c2V0UHJvcGVydHkoRE9NU3RyaW5nIHByb3BlcnR5TmFtZSwgZmxvYXQgcHJvcGVydHlWYWx1ZSk7
PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJ2b2lkIi8+Ci0gICAgICA8QXJndW1lbnRMaXN0
PgotICAgICAgICA8QXJndW1lbnQgbmFtZT0icHJvcGVydHlOYW1lIj4KLSAgICAgICAgICA8VHlw
ZSB0eXBlPSJET01TdHJpbmciLz4KLSAgICAgICAgPC9Bcmd1bWVudD4KLSAgICAgICAgPEFyZ3Vt
ZW50IG5hbWU9InByb3BlcnR5VmFsdWUiPgotICAgICAgICAgIDxUeXBlIHR5cGU9ImZsb2F0Ii8+
Ci0gICAgICAgIDwvQXJndW1lbnQ+Ci0gICAgICA8L0FyZ3VtZW50TGlzdD4KLSAgICA8L09wZXJh
dGlvbj4KLSAgPC9JbnRlcmZhY2U+Ci08L0RlZmluaXRpb25zPgpJbmRleDogTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dp
ZGxwcm9jL3Rlc3QvdmFsaWQveG1sL3N0YXRpYy53aWRscHJvY3htbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvc3RhdGljLndpZGxwcm9jeG1sCShyZXZp
c2lvbiAyNTI4OTYpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvc3RhdGlj
LndpZGxwcm9jeG1sCShub25leGlzdGVudCkKQEAgLTEsNTggKzAsMCBAQAotPD94bWwgdmVyc2lv
bj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KLTwhRE9DVFlQRSBEZWZpbml0aW9ucyBTWVNURU0g
IndpZGxwcm9jeG1sLmR0ZCI+Ci08RGVmaW5pdGlvbnM+Ci0gIDx3ZWJpZGw+aW50ZXJmYWNlIFBv
aW50IHsgIH07Ci0KLWludGVyZmFjZSBDaXJjbGUgewotICBhdHRyaWJ1dGUgZmxvYXQgY3g7Ci0g
IGF0dHJpYnV0ZSBmbG9hdCBjeTsKLSAgYXR0cmlidXRlIGZsb2F0IHJhZGl1czsKLQotICBzdGF0
aWMgcmVhZG9ubHkgYXR0cmlidXRlIGxvbmcgdHJpYW5ndWxhdGlvbkNvdW50OwotICBzdGF0aWMg
PHJlZj5Qb2ludDwvcmVmPiB0cmlhbmd1bGF0ZSg8cmVmPkNpcmNsZTwvcmVmPiBjMSwgPHJlZj5D
aXJjbGU8L3JlZj4gYzIsIDxyZWY+Q2lyY2xlPC9yZWY+IGMzKTsKLX07PC93ZWJpZGw+Ci0gIDxJ
bnRlcmZhY2UgbmFtZT0iUG9pbnQiIGlkPSI6OlBvaW50Ij4KLSAgICA8d2ViaWRsPmludGVyZmFj
ZSBQb2ludCB7ICB9Ozwvd2ViaWRsPgotICA8L0ludGVyZmFjZT4KLSAgPEludGVyZmFjZSBuYW1l
PSJDaXJjbGUiIGlkPSI6OkNpcmNsZSI+Ci0gICAgPHdlYmlkbD5pbnRlcmZhY2UgQ2lyY2xlIHsK
LSAgYXR0cmlidXRlIGZsb2F0IGN4OwotICBhdHRyaWJ1dGUgZmxvYXQgY3k7Ci0gIGF0dHJpYnV0
ZSBmbG9hdCByYWRpdXM7Ci0KLSAgc3RhdGljIHJlYWRvbmx5IGF0dHJpYnV0ZSBsb25nIHRyaWFu
Z3VsYXRpb25Db3VudDsKLSAgc3RhdGljIDxyZWY+UG9pbnQ8L3JlZj4gdHJpYW5ndWxhdGUoPHJl
Zj5DaXJjbGU8L3JlZj4gYzEsIDxyZWY+Q2lyY2xlPC9yZWY+IGMyLCA8cmVmPkNpcmNsZTwvcmVm
PiBjMyk7Ci19Ozwvd2ViaWRsPgotICAgIDxBdHRyaWJ1dGUgbmFtZT0iY3giIGlkPSI6OkNpcmNs
ZTo6Y3giPgotICAgICAgPHdlYmlkbD4gIGF0dHJpYnV0ZSBmbG9hdCBjeDs8L3dlYmlkbD4KLSAg
ICAgIDxUeXBlIHR5cGU9ImZsb2F0Ii8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gICAgPEF0dHJpYnV0
ZSBuYW1lPSJjeSIgaWQ9Ijo6Q2lyY2xlOjpjeSI+Ci0gICAgICA8d2ViaWRsPiAgYXR0cmlidXRl
IGZsb2F0IGN5Ozwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0iZmxvYXQiLz4KLSAgICA8L0F0
dHJpYnV0ZT4KLSAgICA8QXR0cmlidXRlIG5hbWU9InJhZGl1cyIgaWQ9Ijo6Q2lyY2xlOjpyYWRp
dXMiPgotICAgICAgPHdlYmlkbD4gIGF0dHJpYnV0ZSBmbG9hdCByYWRpdXM7PC93ZWJpZGw+Ci0g
ICAgICA8VHlwZSB0eXBlPSJmbG9hdCIvPgotICAgIDwvQXR0cmlidXRlPgotICAgIDxBdHRyaWJ1
dGUgc3RhdGljPSJzdGF0aWMiIHJlYWRvbmx5PSJyZWFkb25seSIgbmFtZT0idHJpYW5ndWxhdGlv
bkNvdW50IiBpZD0iOjpDaXJjbGU6OnRyaWFuZ3VsYXRpb25Db3VudCI+Ci0gICAgICA8d2ViaWRs
PiAgc3RhdGljIHJlYWRvbmx5IGF0dHJpYnV0ZSBsb25nIHRyaWFuZ3VsYXRpb25Db3VudDs8L3dl
YmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9ImxvbmciLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAgICA8
T3BlcmF0aW9uIHN0YXRpYz0ic3RhdGljIiBuYW1lPSJ0cmlhbmd1bGF0ZSIgaWQ9Ijo6Q2lyY2xl
Ojp0cmlhbmd1bGF0ZSI+Ci0gICAgICA8d2ViaWRsPiAgc3RhdGljIDxyZWY+UG9pbnQ8L3JlZj4g
dHJpYW5ndWxhdGUoPHJlZj5DaXJjbGU8L3JlZj4gYzEsIDxyZWY+Q2lyY2xlPC9yZWY+IGMyLCA8
cmVmPkNpcmNsZTwvcmVmPiBjMyk7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSBuYW1lPSJQb2ludCIv
PgotICAgICAgPEFyZ3VtZW50TGlzdD4KLSAgICAgICAgPEFyZ3VtZW50IG5hbWU9ImMxIj4KLSAg
ICAgICAgICA8VHlwZSBuYW1lPSJDaXJjbGUiLz4KLSAgICAgICAgPC9Bcmd1bWVudD4KLSAgICAg
ICAgPEFyZ3VtZW50IG5hbWU9ImMyIj4KLSAgICAgICAgICA8VHlwZSBuYW1lPSJDaXJjbGUiLz4K
LSAgICAgICAgPC9Bcmd1bWVudD4KLSAgICAgICAgPEFyZ3VtZW50IG5hbWU9ImMzIj4KLSAgICAg
ICAgICA8VHlwZSBuYW1lPSJDaXJjbGUiLz4KLSAgICAgICAgPC9Bcmd1bWVudD4KLSAgICAgIDwv
QXJndW1lbnRMaXN0PgotICAgIDwvT3BlcmF0aW9uPgotICA8L0ludGVyZmFjZT4KLTwvRGVmaW5p
dGlvbnM+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvc3RyaW5naWZp
ZXItYXR0cmlidXRlLndpZGxwcm9jeG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJv
Yy90ZXN0L3ZhbGlkL3htbC9zdHJpbmdpZmllci1hdHRyaWJ1dGUud2lkbHByb2N4bWwJKHJldmlz
aW9uIDI1Mjg5NikKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9zdHJpbmdp
Zmllci1hdHRyaWJ1dGUud2lkbHByb2N4bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwyOSArMCwwIEBA
Ci08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgotPCFET0NUWVBFIERlZmlu
aXRpb25zIFNZU1RFTSAid2lkbHByb2N4bWwuZHRkIj4KLTxEZWZpbml0aW9ucz4KLSAgPHdlYmlk
bD5bQ29uc3RydWN0b3JdCi1pbnRlcmZhY2UgU3R1ZGVudCB7Ci0gIGF0dHJpYnV0ZSB1bnNpZ25l
ZCBsb25nIGlkOwotICBzdHJpbmdpZmllciBhdHRyaWJ1dGUgRE9NU3RyaW5nIG5hbWU7Ci19Ozwv
d2ViaWRsPgotICA8SW50ZXJmYWNlIG5hbWU9IlN0dWRlbnQiIGlkPSI6OlN0dWRlbnQiPgotICAg
IDx3ZWJpZGw+W0NvbnN0cnVjdG9yXQotaW50ZXJmYWNlIFN0dWRlbnQgewotICBhdHRyaWJ1dGUg
dW5zaWduZWQgbG9uZyBpZDsKLSAgc3RyaW5naWZpZXIgYXR0cmlidXRlIERPTVN0cmluZyBuYW1l
OwotfTs8L3dlYmlkbD4KLSAgICA8RXh0ZW5kZWRBdHRyaWJ1dGVMaXN0PgotICAgICAgPEV4dGVu
ZGVkQXR0cmlidXRlIG5hbWU9IkNvbnN0cnVjdG9yIj4KLSAgICAgICAgPHdlYmlkbD5Db25zdHJ1
Y3Rvcjwvd2ViaWRsPgotICAgICAgPC9FeHRlbmRlZEF0dHJpYnV0ZT4KLSAgICA8L0V4dGVuZGVk
QXR0cmlidXRlTGlzdD4KLSAgICA8QXR0cmlidXRlIG5hbWU9ImlkIiBpZD0iOjpTdHVkZW50Ojpp
ZCI+Ci0gICAgICA8d2ViaWRsPiAgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgaWQ7PC93ZWJpZGw+
Ci0gICAgICA8VHlwZSB0eXBlPSJ1bnNpZ25lZCBsb25nIi8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0g
ICAgPEF0dHJpYnV0ZSBzdHJpbmdpZmllcj0ic3RyaW5naWZpZXIiIG5hbWU9Im5hbWUiIGlkPSI6
OlN0dWRlbnQ6Om5hbWUiPgotICAgICAgPHdlYmlkbD4gIHN0cmluZ2lmaWVyIGF0dHJpYnV0ZSBE
T01TdHJpbmcgbmFtZTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9IkRPTVN0cmluZyIvPgot
ICAgIDwvQXR0cmlidXRlPgotICA8L0ludGVyZmFjZT4KLTwvRGVmaW5pdGlvbnM+CkluZGV4OiBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvc3RyaW5naWZpZXItY3VzdG9tLndpZGxw
cm9jeG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9z
dHJpbmdpZmllci1jdXN0b20ud2lkbHByb2N4bWwJKHJldmlzaW9uIDI1Mjg5NikKKysrIExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9zdHJpbmdpZmllci1jdXN0b20ud2lkbHByb2N4
bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSw0NCArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVu
Y29kaW5nPSJVVEYtOCI/PgotPCFET0NUWVBFIERlZmluaXRpb25zIFNZU1RFTSAid2lkbHByb2N4
bWwuZHRkIj4KLTxEZWZpbml0aW9ucz4KLSAgPHdlYmlkbD5bQ29uc3RydWN0b3JdCi1pbnRlcmZh
Y2UgU3R1ZGVudCB7Ci0gIGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGlkOwotICBhdHRyaWJ1dGUg
RE9NU3RyaW5nPyBmYW1pbHlOYW1lOwotICBhdHRyaWJ1dGUgRE9NU3RyaW5nIGdpdmVuTmFtZTsK
LQotICBzdHJpbmdpZmllciBET01TdHJpbmcgKCk7Ci19Ozwvd2ViaWRsPgotICA8SW50ZXJmYWNl
IG5hbWU9IlN0dWRlbnQiIGlkPSI6OlN0dWRlbnQiPgotICAgIDx3ZWJpZGw+W0NvbnN0cnVjdG9y
XQotaW50ZXJmYWNlIFN0dWRlbnQgewotICBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBpZDsKLSAg
YXR0cmlidXRlIERPTVN0cmluZz8gZmFtaWx5TmFtZTsKLSAgYXR0cmlidXRlIERPTVN0cmluZyBn
aXZlbk5hbWU7Ci0KLSAgc3RyaW5naWZpZXIgRE9NU3RyaW5nICgpOwotfTs8L3dlYmlkbD4KLSAg
ICA8RXh0ZW5kZWRBdHRyaWJ1dGVMaXN0PgotICAgICAgPEV4dGVuZGVkQXR0cmlidXRlIG5hbWU9
IkNvbnN0cnVjdG9yIj4KLSAgICAgICAgPHdlYmlkbD5Db25zdHJ1Y3Rvcjwvd2ViaWRsPgotICAg
ICAgPC9FeHRlbmRlZEF0dHJpYnV0ZT4KLSAgICA8L0V4dGVuZGVkQXR0cmlidXRlTGlzdD4KLSAg
ICA8QXR0cmlidXRlIG5hbWU9ImlkIiBpZD0iOjpTdHVkZW50OjppZCI+Ci0gICAgICA8d2ViaWRs
PiAgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgaWQ7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBl
PSJ1bnNpZ25lZCBsb25nIi8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gICAgPEF0dHJpYnV0ZSBuYW1l
PSJmYW1pbHlOYW1lIiBpZD0iOjpTdHVkZW50OjpmYW1pbHlOYW1lIj4KLSAgICAgIDx3ZWJpZGw+
ICBhdHRyaWJ1dGUgRE9NU3RyaW5nPyBmYW1pbHlOYW1lOzwvd2ViaWRsPgotICAgICAgPFR5cGUg
dHlwZT0iRE9NU3RyaW5nIiBudWxsYWJsZT0ibnVsbGFibGUiLz4KLSAgICA8L0F0dHJpYnV0ZT4K
LSAgICA8QXR0cmlidXRlIG5hbWU9ImdpdmVuTmFtZSIgaWQ9Ijo6U3R1ZGVudDo6Z2l2ZW5OYW1l
Ij4KLSAgICAgIDx3ZWJpZGw+ICBhdHRyaWJ1dGUgRE9NU3RyaW5nIGdpdmVuTmFtZTs8L3dlYmlk
bD4KLSAgICAgIDxUeXBlIHR5cGU9IkRPTVN0cmluZyIvPgotICAgIDwvQXR0cmlidXRlPgotICAg
IDxPcGVyYXRpb24gc3RyaW5naWZpZXI9InN0cmluZ2lmaWVyIj4KLSAgICAgIDx3ZWJpZGw+ICBz
dHJpbmdpZmllciBET01TdHJpbmcgKCk7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJET01T
dHJpbmciLz4KLSAgICAgIDxBcmd1bWVudExpc3QvPgotICAgIDwvT3BlcmF0aW9uPgotICA8L0lu
dGVyZmFjZT4KLTwvRGVmaW5pdGlvbnM+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92
YWxpZC94bWwvc3RyaW5naWZpZXIud2lkbHByb2N4bWwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL3N0cmluZ2lmaWVyLndpZGxwcm9jeG1sCShyZXZpc2lv
biAyNTI4OTYpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvc3RyaW5naWZp
ZXIud2lkbHByb2N4bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwyOSArMCwwIEBACi08P3htbCB2ZXJz
aW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgotPCFET0NUWVBFIERlZmluaXRpb25zIFNZU1RF
TSAid2lkbHByb2N4bWwuZHRkIj4KLTxEZWZpbml0aW9ucz4KLSAgPHdlYmlkbD5pbnRlcmZhY2Ug
QSB7Ci0gIHN0cmluZ2lmaWVyIERPTVN0cmluZyAoKTsKLX07Ci0KLWludGVyZmFjZSBBIHsKLSAg
c3RyaW5naWZpZXI7Ci19Ozwvd2ViaWRsPgotICA8SW50ZXJmYWNlIG5hbWU9IkEiIGlkPSI6OkEi
PgotICAgIDx3ZWJpZGw+aW50ZXJmYWNlIEEgewotICBzdHJpbmdpZmllciBET01TdHJpbmcgKCk7
Ci19Ozwvd2ViaWRsPgotICAgIDxPcGVyYXRpb24gc3RyaW5naWZpZXI9InN0cmluZ2lmaWVyIj4K
LSAgICAgIDx3ZWJpZGw+ICBzdHJpbmdpZmllciBET01TdHJpbmcgKCk7PC93ZWJpZGw+Ci0gICAg
ICA8VHlwZSB0eXBlPSJET01TdHJpbmciLz4KLSAgICAgIDxBcmd1bWVudExpc3QvPgotICAgIDwv
T3BlcmF0aW9uPgotICA8L0ludGVyZmFjZT4KLSAgPEludGVyZmFjZSBuYW1lPSJBIiBpZD0iOjpB
Ij4KLSAgICA8d2ViaWRsPmludGVyZmFjZSBBIHsKLSAgc3RyaW5naWZpZXI7Ci19Ozwvd2ViaWRs
PgotICAgIDxTdHJpbmdpZmllcj4KLSAgICAgIDx3ZWJpZGw+ICBzdHJpbmdpZmllcjs8L3dlYmlk
bD4KLSAgICA8L1N0cmluZ2lmaWVyPgotICA8L0ludGVyZmFjZT4KLTwvRGVmaW5pdGlvbnM+Cklu
ZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvdHJlYXRhc251bGwud2lkbHBy
b2N4bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL3Ry
ZWF0YXNudWxsLndpZGxwcm9jeG1sCShyZXZpc2lvbiAyNTI4OTYpCisrKyBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lk
bHByb2MvdGVzdC92YWxpZC94bWwvdHJlYXRhc251bGwud2lkbHByb2N4bWwJKG5vbmV4aXN0ZW50
KQpAQCAtMSw0MCArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/
PgotPCFET0NUWVBFIERlZmluaXRpb25zIFNZU1RFTSAid2lkbHByb2N4bWwuZHRkIj4KLTxEZWZp
bml0aW9ucz4KLSAgPHdlYmlkbD5pbnRlcmZhY2UgRG9nIHsKLSAgYXR0cmlidXRlIERPTVN0cmlu
ZyBuYW1lOwotICBhdHRyaWJ1dGUgRE9NU3RyaW5nIG93bmVyOwotCi0gIGJvb2xlYW4gaXNNZW1i
ZXJPZkJyZWVkKFtUcmVhdE51bGxBcz1FbXB0eVN0cmluZ10gRE9NU3RyaW5nIGJyZWVkTmFtZSk7
Ci19Ozwvd2ViaWRsPgotICA8SW50ZXJmYWNlIG5hbWU9IkRvZyIgaWQ9Ijo6RG9nIj4KLSAgICA8
d2ViaWRsPmludGVyZmFjZSBEb2cgewotICBhdHRyaWJ1dGUgRE9NU3RyaW5nIG5hbWU7Ci0gIGF0
dHJpYnV0ZSBET01TdHJpbmcgb3duZXI7Ci0KLSAgYm9vbGVhbiBpc01lbWJlck9mQnJlZWQoW1Ry
ZWF0TnVsbEFzPUVtcHR5U3RyaW5nXSBET01TdHJpbmcgYnJlZWROYW1lKTsKLX07PC93ZWJpZGw+
Ci0gICAgPEF0dHJpYnV0ZSBuYW1lPSJuYW1lIiBpZD0iOjpEb2c6Om5hbWUiPgotICAgICAgPHdl
YmlkbD4gIGF0dHJpYnV0ZSBET01TdHJpbmcgbmFtZTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5
cGU9IkRPTVN0cmluZyIvPgotICAgIDwvQXR0cmlidXRlPgotICAgIDxBdHRyaWJ1dGUgbmFtZT0i
b3duZXIiIGlkPSI6OkRvZzo6b3duZXIiPgotICAgICAgPHdlYmlkbD4gIGF0dHJpYnV0ZSBET01T
dHJpbmcgb3duZXI7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJET01TdHJpbmciLz4KLSAg
ICA8L0F0dHJpYnV0ZT4KLSAgICA8T3BlcmF0aW9uIG5hbWU9ImlzTWVtYmVyT2ZCcmVlZCIgaWQ9
Ijo6RG9nOjppc01lbWJlck9mQnJlZWQiPgotICAgICAgPHdlYmlkbD4gIGJvb2xlYW4gaXNNZW1i
ZXJPZkJyZWVkKFtUcmVhdE51bGxBcz1FbXB0eVN0cmluZ10gRE9NU3RyaW5nIGJyZWVkTmFtZSk7
PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJib29sZWFuIi8+Ci0gICAgICA8QXJndW1lbnRM
aXN0PgotICAgICAgICA8QXJndW1lbnQgbmFtZT0iYnJlZWROYW1lIj4KLSAgICAgICAgICA8RXh0
ZW5kZWRBdHRyaWJ1dGVMaXN0PgotICAgICAgICAgICAgPEV4dGVuZGVkQXR0cmlidXRlIG5hbWU9
IlRyZWF0TnVsbEFzIiB2YWx1ZT0iRW1wdHlTdHJpbmciPgotICAgICAgICAgICAgICA8d2ViaWRs
PlRyZWF0TnVsbEFzPC93ZWJpZGw+Ci0gICAgICAgICAgICA8L0V4dGVuZGVkQXR0cmlidXRlPgot
ICAgICAgICAgIDwvRXh0ZW5kZWRBdHRyaWJ1dGVMaXN0PgotICAgICAgICAgIDxUeXBlIHR5cGU9
IkRPTVN0cmluZyIvPgotICAgICAgICA8L0FyZ3VtZW50PgotICAgICAgPC9Bcmd1bWVudExpc3Q+
Ci0gICAgPC9PcGVyYXRpb24+Ci0gIDwvSW50ZXJmYWNlPgotPC9EZWZpbml0aW9ucz4KSW5kZXg6
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC90cmVhdGFzdW5kZWZpbmVkLndpZGxw
cm9jeG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC90
cmVhdGFzdW5kZWZpbmVkLndpZGxwcm9jeG1sCShyZXZpc2lvbiAyNTI4OTYpCisrKyBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvdHJlYXRhc3VuZGVmaW5lZC53aWRscHJvY3htbAko
bm9uZXhpc3RlbnQpCkBAIC0xLDQwICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rp
bmc9IlVURi04Ij8+Ci08IURPQ1RZUEUgRGVmaW5pdGlvbnMgU1lTVEVNICJ3aWRscHJvY3htbC5k
dGQiPgotPERlZmluaXRpb25zPgotICA8d2ViaWRsPmludGVyZmFjZSBDYXQgewotICBhdHRyaWJ1
dGUgRE9NU3RyaW5nIG5hbWU7Ci0gIGF0dHJpYnV0ZSBET01TdHJpbmcgb3duZXI7Ci0KLSAgYm9v
bGVhbiBpc01lbWJlck9mQnJlZWQoW1RyZWF0VW5kZWZpbmVkQXM9RW1wdHlTdHJpbmddIERPTVN0
cmluZyBicmVlZE5hbWUpOwotfTs8L3dlYmlkbD4KLSAgPEludGVyZmFjZSBuYW1lPSJDYXQiIGlk
PSI6OkNhdCI+Ci0gICAgPHdlYmlkbD5pbnRlcmZhY2UgQ2F0IHsKLSAgYXR0cmlidXRlIERPTVN0
cmluZyBuYW1lOwotICBhdHRyaWJ1dGUgRE9NU3RyaW5nIG93bmVyOwotCi0gIGJvb2xlYW4gaXNN
ZW1iZXJPZkJyZWVkKFtUcmVhdFVuZGVmaW5lZEFzPUVtcHR5U3RyaW5nXSBET01TdHJpbmcgYnJl
ZWROYW1lKTsKLX07PC93ZWJpZGw+Ci0gICAgPEF0dHJpYnV0ZSBuYW1lPSJuYW1lIiBpZD0iOjpD
YXQ6Om5hbWUiPgotICAgICAgPHdlYmlkbD4gIGF0dHJpYnV0ZSBET01TdHJpbmcgbmFtZTs8L3dl
YmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9IkRPTVN0cmluZyIvPgotICAgIDwvQXR0cmlidXRlPgot
ICAgIDxBdHRyaWJ1dGUgbmFtZT0ib3duZXIiIGlkPSI6OkNhdDo6b3duZXIiPgotICAgICAgPHdl
YmlkbD4gIGF0dHJpYnV0ZSBET01TdHJpbmcgb3duZXI7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0
eXBlPSJET01TdHJpbmciLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAgICA8T3BlcmF0aW9uIG5hbWU9
ImlzTWVtYmVyT2ZCcmVlZCIgaWQ9Ijo6Q2F0Ojppc01lbWJlck9mQnJlZWQiPgotICAgICAgPHdl
YmlkbD4gIGJvb2xlYW4gaXNNZW1iZXJPZkJyZWVkKFtUcmVhdFVuZGVmaW5lZEFzPUVtcHR5U3Ry
aW5nXSBET01TdHJpbmcgYnJlZWROYW1lKTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9ImJv
b2xlYW4iLz4KLSAgICAgIDxBcmd1bWVudExpc3Q+Ci0gICAgICAgIDxBcmd1bWVudCBuYW1lPSJi
cmVlZE5hbWUiPgotICAgICAgICAgIDxFeHRlbmRlZEF0dHJpYnV0ZUxpc3Q+Ci0gICAgICAgICAg
ICA8RXh0ZW5kZWRBdHRyaWJ1dGUgbmFtZT0iVHJlYXRVbmRlZmluZWRBcyIgdmFsdWU9IkVtcHR5
U3RyaW5nIj4KLSAgICAgICAgICAgICAgPHdlYmlkbD5UcmVhdFVuZGVmaW5lZEFzPC93ZWJpZGw+
Ci0gICAgICAgICAgICA8L0V4dGVuZGVkQXR0cmlidXRlPgotICAgICAgICAgIDwvRXh0ZW5kZWRB
dHRyaWJ1dGVMaXN0PgotICAgICAgICAgIDxUeXBlIHR5cGU9IkRPTVN0cmluZyIvPgotICAgICAg
ICA8L0FyZ3VtZW50PgotICAgICAgPC9Bcmd1bWVudExpc3Q+Ci0gICAgPC9PcGVyYXRpb24+Ci0g
IDwvSW50ZXJmYWNlPgotPC9EZWZpbml0aW9ucz4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90
ZXN0L3ZhbGlkL3htbC90eXBlZGVmLndpZGxwcm9jeG1sCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC90eXBlZGVmLndpZGxwcm9jeG1sCShyZXZpc2lvbiAy
NTI4OTYpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvdHlwZWRlZi53aWRs
cHJvY3htbAkobm9uZXhpc3RlbnQpCkBAIC0xLDEwMCArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIx
LjAiIGVuY29kaW5nPSJVVEYtOCI/PgotPCFET0NUWVBFIERlZmluaXRpb25zIFNZU1RFTSAid2lk
bHByb2N4bWwuZHRkIj4KLTxEZWZpbml0aW9ucz4KLSAgPHdlYmlkbD4gICAgICBpbnRlcmZhY2Ug
UG9pbnQgewotICAgICAgICBhdHRyaWJ1dGUgZmxvYXQgeDsKLSAgICAgICAgYXR0cmlidXRlIGZs
b2F0IHk7Ci0gICAgICB9OwotCi0gICAgICB0eXBlZGVmIHNlcXVlbmNlJmx0OzxyZWY+UG9pbnQ8
L3JlZj4+IFBvaW50U2VxdWVuY2U7Ci0KLSAgICAgIGludGVyZmFjZSBSZWN0IHsKLSAgICAgICAg
YXR0cmlidXRlIDxyZWY+UG9pbnQ8L3JlZj4gdG9wbGVmdDsKLSAgICAgICAgYXR0cmlidXRlIDxy
ZWY+UG9pbnQ8L3JlZj4gYm90dG9tcmlnaHQ7Ci0gICAgICB9OwotCi0gIGludGVyZmFjZSBXaWRn
ZXQgewotCi0gICAgcmVhZG9ubHkgYXR0cmlidXRlIDxyZWY+UmVjdDwvcmVmPiBib3VuZHM7Ci0K
LSAgICBib29sZWFuIHBvaW50V2l0aGluQm91bmRzKDxyZWY+UG9pbnQ8L3JlZj4gcCk7Ci0gICAg
Ym9vbGVhbiBhbGxQb2ludHNXaXRoaW5Cb3VuZHMoPHJlZj5Qb2ludFNlcXVlbmNlPC9yZWY+IHBz
KTsKLSAgfTsKLQotICB0eXBlZGVmIFtDbGFtcF0gb2N0ZXQgdmFsdWU7PC93ZWJpZGw+Ci0gIDxJ
bnRlcmZhY2UgbmFtZT0iUG9pbnQiIGlkPSI6OlBvaW50Ij4KLSAgICA8d2ViaWRsPiAgICAgIGlu
dGVyZmFjZSBQb2ludCB7Ci0gICAgICAgIGF0dHJpYnV0ZSBmbG9hdCB4OwotICAgICAgICBhdHRy
aWJ1dGUgZmxvYXQgeTsKLSAgICAgIH07PC93ZWJpZGw+Ci0gICAgPEF0dHJpYnV0ZSBuYW1lPSJ4
IiBpZD0iOjpQb2ludDo6eCI+Ci0gICAgICA8d2ViaWRsPiAgICAgICAgYXR0cmlidXRlIGZsb2F0
IHg7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJmbG9hdCIvPgotICAgIDwvQXR0cmlidXRl
PgotICAgIDxBdHRyaWJ1dGUgbmFtZT0ieSIgaWQ9Ijo6UG9pbnQ6OnkiPgotICAgICAgPHdlYmlk
bD4gICAgICAgIGF0dHJpYnV0ZSBmbG9hdCB5Ozwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0i
ZmxvYXQiLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAgPC9JbnRlcmZhY2U+Ci0gIDxUeXBlZGVmIG5h
bWU9IlBvaW50U2VxdWVuY2UiIGlkPSI6OlBvaW50U2VxdWVuY2UiPgotICAgIDx3ZWJpZGw+ICAg
ICAgdHlwZWRlZiBzZXF1ZW5jZSZsdDs8cmVmPlBvaW50PC9yZWY+PiBQb2ludFNlcXVlbmNlOzwv
d2ViaWRsPgotICAgIDxUeXBlIHR5cGU9InNlcXVlbmNlIj4KLSAgICAgIDxUeXBlIG5hbWU9IlBv
aW50Ii8+Ci0gICAgPC9UeXBlPgotICA8L1R5cGVkZWY+Ci0gIDxJbnRlcmZhY2UgbmFtZT0iUmVj
dCIgaWQ9Ijo6UmVjdCI+Ci0gICAgPHdlYmlkbD4gICAgICBpbnRlcmZhY2UgUmVjdCB7Ci0gICAg
ICAgIGF0dHJpYnV0ZSA8cmVmPlBvaW50PC9yZWY+IHRvcGxlZnQ7Ci0gICAgICAgIGF0dHJpYnV0
ZSA8cmVmPlBvaW50PC9yZWY+IGJvdHRvbXJpZ2h0OwotICAgICAgfTs8L3dlYmlkbD4KLSAgICA8
QXR0cmlidXRlIG5hbWU9InRvcGxlZnQiIGlkPSI6OlJlY3Q6OnRvcGxlZnQiPgotICAgICAgPHdl
YmlkbD4gICAgICAgIGF0dHJpYnV0ZSA8cmVmPlBvaW50PC9yZWY+IHRvcGxlZnQ7PC93ZWJpZGw+
Ci0gICAgICA8VHlwZSBuYW1lPSJQb2ludCIvPgotICAgIDwvQXR0cmlidXRlPgotICAgIDxBdHRy
aWJ1dGUgbmFtZT0iYm90dG9tcmlnaHQiIGlkPSI6OlJlY3Q6OmJvdHRvbXJpZ2h0Ij4KLSAgICAg
IDx3ZWJpZGw+ICAgICAgICBhdHRyaWJ1dGUgPHJlZj5Qb2ludDwvcmVmPiBib3R0b21yaWdodDs8
L3dlYmlkbD4KLSAgICAgIDxUeXBlIG5hbWU9IlBvaW50Ii8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0g
IDwvSW50ZXJmYWNlPgotICA8SW50ZXJmYWNlIG5hbWU9IldpZGdldCIgaWQ9Ijo6V2lkZ2V0Ij4K
LSAgICA8d2ViaWRsPiAgaW50ZXJmYWNlIFdpZGdldCB7Ci0KLSAgICByZWFkb25seSBhdHRyaWJ1
dGUgPHJlZj5SZWN0PC9yZWY+IGJvdW5kczsKLQotICAgIGJvb2xlYW4gcG9pbnRXaXRoaW5Cb3Vu
ZHMoPHJlZj5Qb2ludDwvcmVmPiBwKTsKLSAgICBib29sZWFuIGFsbFBvaW50c1dpdGhpbkJvdW5k
cyg8cmVmPlBvaW50U2VxdWVuY2U8L3JlZj4gcHMpOwotICB9Ozwvd2ViaWRsPgotICAgIDxBdHRy
aWJ1dGUgcmVhZG9ubHk9InJlYWRvbmx5IiBuYW1lPSJib3VuZHMiIGlkPSI6OldpZGdldDo6Ym91
bmRzIj4KLSAgICAgIDx3ZWJpZGw+ICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSA8cmVmPlJlY3Q8L3Jl
Zj4gYm91bmRzOzwvd2ViaWRsPgotICAgICAgPFR5cGUgbmFtZT0iUmVjdCIvPgotICAgIDwvQXR0
cmlidXRlPgotICAgIDxPcGVyYXRpb24gbmFtZT0icG9pbnRXaXRoaW5Cb3VuZHMiIGlkPSI6Oldp
ZGdldDo6cG9pbnRXaXRoaW5Cb3VuZHMiPgotICAgICAgPHdlYmlkbD4gICAgYm9vbGVhbiBwb2lu
dFdpdGhpbkJvdW5kcyg8cmVmPlBvaW50PC9yZWY+IHApOzwvd2ViaWRsPgotICAgICAgPFR5cGUg
dHlwZT0iYm9vbGVhbiIvPgotICAgICAgPEFyZ3VtZW50TGlzdD4KLSAgICAgICAgPEFyZ3VtZW50
IG5hbWU9InAiPgotICAgICAgICAgIDxUeXBlIG5hbWU9IlBvaW50Ii8+Ci0gICAgICAgIDwvQXJn
dW1lbnQ+Ci0gICAgICA8L0FyZ3VtZW50TGlzdD4KLSAgICA8L09wZXJhdGlvbj4KLSAgICA8T3Bl
cmF0aW9uIG5hbWU9ImFsbFBvaW50c1dpdGhpbkJvdW5kcyIgaWQ9Ijo6V2lkZ2V0OjphbGxQb2lu
dHNXaXRoaW5Cb3VuZHMiPgotICAgICAgPHdlYmlkbD4gICAgYm9vbGVhbiBhbGxQb2ludHNXaXRo
aW5Cb3VuZHMoPHJlZj5Qb2ludFNlcXVlbmNlPC9yZWY+IHBzKTs8L3dlYmlkbD4KLSAgICAgIDxU
eXBlIHR5cGU9ImJvb2xlYW4iLz4KLSAgICAgIDxBcmd1bWVudExpc3Q+Ci0gICAgICAgIDxBcmd1
bWVudCBuYW1lPSJwcyI+Ci0gICAgICAgICAgPFR5cGUgbmFtZT0iUG9pbnRTZXF1ZW5jZSIvPgot
ICAgICAgICA8L0FyZ3VtZW50PgotICAgICAgPC9Bcmd1bWVudExpc3Q+Ci0gICAgPC9PcGVyYXRp
b24+Ci0gIDwvSW50ZXJmYWNlPgotICA8VHlwZWRlZiBuYW1lPSJ2YWx1ZSIgaWQ9Ijo6dmFsdWUi
PgotICAgIDx3ZWJpZGw+ICB0eXBlZGVmIFtDbGFtcF0gb2N0ZXQgdmFsdWU7PC93ZWJpZGw+Ci0g
ICAgPFR5cGUgdHlwZT0ib2N0ZXQiPgotICAgICAgPEV4dGVuZGVkQXR0cmlidXRlTGlzdD4KLSAg
ICAgICAgPEV4dGVuZGVkQXR0cmlidXRlIG5hbWU9IkNsYW1wIj4KLSAgICAgICAgICA8d2ViaWRs
PkNsYW1wPC93ZWJpZGw+Ci0gICAgICAgIDwvRXh0ZW5kZWRBdHRyaWJ1dGU+Ci0gICAgICA8L0V4
dGVuZGVkQXR0cmlidXRlTGlzdD4KLSAgICA8L1R5cGU+Ci0gIDwvVHlwZWRlZj4KLTwvRGVmaW5p
dGlvbnM+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvdHlwZXN1ZmZp
eGVzLndpZGxwcm9jeG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3Zh
bGlkL3htbC90eXBlc3VmZml4ZXMud2lkbHByb2N4bWwJKHJldmlzaW9uIDI1Mjg5NikKKysrIExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC90eXBlc3VmZml4ZXMud2lkbHByb2N4bWwJ
KG5vbmV4aXN0ZW50KQpAQCAtMSwyNSArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29k
aW5nPSJVVEYtOCI/PgotPCFET0NUWVBFIERlZmluaXRpb25zIFNZU1RFTSAid2lkbHByb2N4bWwu
ZHRkIj4KLTxEZWZpbml0aW9ucz4KLSAgPHdlYmlkbD5pbnRlcmZhY2UgU3VmZml4ZXMgewotICB2
b2lkIHRlc3Qoc2VxdWVuY2UmbHQ7RE9NU3RyaW5nW10/Pj8gZm9vKTsKLX07PC93ZWJpZGw+Ci0g
IDxJbnRlcmZhY2UgbmFtZT0iU3VmZml4ZXMiIGlkPSI6OlN1ZmZpeGVzIj4KLSAgICA8d2ViaWRs
PmludGVyZmFjZSBTdWZmaXhlcyB7Ci0gIHZvaWQgdGVzdChzZXF1ZW5jZSZsdDtET01TdHJpbmdb
XT8+PyBmb28pOwotfTs8L3dlYmlkbD4KLSAgICA8T3BlcmF0aW9uIG5hbWU9InRlc3QiIGlkPSI6
OlN1ZmZpeGVzOjp0ZXN0Ij4KLSAgICAgIDx3ZWJpZGw+ICB2b2lkIHRlc3Qoc2VxdWVuY2UmbHQ7
RE9NU3RyaW5nW10/Pj8gZm9vKTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9InZvaWQiLz4K
LSAgICAgIDxBcmd1bWVudExpc3Q+Ci0gICAgICAgIDxBcmd1bWVudCBuYW1lPSJmb28iPgotICAg
ICAgICAgIDxUeXBlIHR5cGU9InNlcXVlbmNlIiBudWxsYWJsZT0ibnVsbGFibGUiPgotICAgICAg
ICAgICAgPFR5cGUgdHlwZT0iYXJyYXkiIG51bGxhYmxlPSJudWxsYWJsZSI+Ci0gICAgICAgICAg
ICAgIDxUeXBlIHR5cGU9IkRPTVN0cmluZyIvPgotICAgICAgICAgICAgPC9UeXBlPgotICAgICAg
ICAgIDwvVHlwZT4KLSAgICAgICAgPC9Bcmd1bWVudD4KLSAgICAgIDwvQXJndW1lbnRMaXN0Pgot
ICAgIDwvT3BlcmF0aW9uPgotICA8L0ludGVyZmFjZT4KLTwvRGVmaW5pdGlvbnM+CkluZGV4OiBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvdW5pb250eXBlLndpZGxwcm9jeG1sCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC91bmlvbnR5cGUu
d2lkbHByb2N4bWwJKHJldmlzaW9uIDI1Mjg5NikKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0
L3ZhbGlkL3htbC91bmlvbnR5cGUud2lkbHByb2N4bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwyNiAr
MCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgotPCFET0NUWVBF
IERlZmluaXRpb25zIFNZU1RFTSAid2lkbHByb2N4bWwuZHRkIj4KLTxEZWZpbml0aW9ucz4KLSAg
PHdlYmlkbD5pbnRlcmZhY2UgVW5pb24gewotIGF0dHJpYnV0ZSAoZmxvYXQgb3IgKERhdGUgb3Ig
PHJlZj5FdmVudDwvcmVmPikgb3IgKDxyZWY+Tm9kZTwvcmVmPiBvciBET01TdHJpbmcpPykgdGVz
dDsKLX07PC93ZWJpZGw+Ci0gIDxJbnRlcmZhY2UgbmFtZT0iVW5pb24iIGlkPSI6OlVuaW9uIj4K
LSAgICA8d2ViaWRsPmludGVyZmFjZSBVbmlvbiB7Ci0gYXR0cmlidXRlIChmbG9hdCBvciAoRGF0
ZSBvciA8cmVmPkV2ZW50PC9yZWY+KSBvciAoPHJlZj5Ob2RlPC9yZWY+IG9yIERPTVN0cmluZyk/
KSB0ZXN0OwotfTs8L3dlYmlkbD4KLSAgICA8QXR0cmlidXRlIG5hbWU9InRlc3QiIGlkPSI6OlVu
aW9uOjp0ZXN0Ij4KLSAgICAgIDx3ZWJpZGw+IGF0dHJpYnV0ZSAoZmxvYXQgb3IgKERhdGUgb3Ig
PHJlZj5FdmVudDwvcmVmPikgb3IgKDxyZWY+Tm9kZTwvcmVmPiBvciBET01TdHJpbmcpPykgdGVz
dDs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9InVuaW9uIj4KLSAgICAgICAgPFR5cGUgdHlw
ZT0iZmxvYXQiLz4KLSAgICAgICAgPFR5cGUgdHlwZT0idW5pb24iPgotICAgICAgICAgIDxUeXBl
IHR5cGU9IkRhdGUiLz4KLSAgICAgICAgICA8VHlwZSBuYW1lPSJFdmVudCIvPgotICAgICAgICA8
L1R5cGU+Ci0gICAgICAgIDxUeXBlIHR5cGU9InVuaW9uIiBudWxsYWJsZT0ibnVsbGFibGUiPgot
ICAgICAgICAgIDxUeXBlIG5hbWU9Ik5vZGUiLz4KLSAgICAgICAgICA8VHlwZSB0eXBlPSJET01T
dHJpbmciLz4KLSAgICAgICAgPC9UeXBlPgotICAgICAgPC9UeXBlPgotICAgIDwvQXR0cmlidXRl
PgotICA8L0ludGVyZmFjZT4KLTwvRGVmaW5pdGlvbnM+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHBy
b2MvdGVzdC92YWxpZC94bWwvdmFyaWFkaWMtb3BlcmF0aW9ucy53aWRscHJvY3htbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvdmFyaWFkaWMtb3BlcmF0
aW9ucy53aWRscHJvY3htbAkocmV2aXNpb24gMjUyODk2KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9j
L3Rlc3QvdmFsaWQveG1sL3ZhcmlhZGljLW9wZXJhdGlvbnMud2lkbHByb2N4bWwJKG5vbmV4aXN0
ZW50KQpAQCAtMSw0MCArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYt
OCI/PgotPCFET0NUWVBFIERlZmluaXRpb25zIFNZU1RFTSAid2lkbHByb2N4bWwuZHRkIj4KLTxE
ZWZpbml0aW9ucz4KLSAgPHdlYmlkbD5pbnRlcmZhY2UgSW50ZWdlclNldCB7Ci0gIHJlYWRvbmx5
IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGNhcmRpbmFsaXR5OwotCi0gIHZvaWQgdW5pb24obG9u
Zy4uLiBpbnRzKTsKLSAgdm9pZCBpbnRlcnNlY3Rpb24obG9uZy4uLiBpbnRzKTsKLX07PC93ZWJp
ZGw+Ci0gIDxJbnRlcmZhY2UgbmFtZT0iSW50ZWdlclNldCIgaWQ9Ijo6SW50ZWdlclNldCI+Ci0g
ICAgPHdlYmlkbD5pbnRlcmZhY2UgSW50ZWdlclNldCB7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSB1
bnNpZ25lZCBsb25nIGNhcmRpbmFsaXR5OwotCi0gIHZvaWQgdW5pb24obG9uZy4uLiBpbnRzKTsK
LSAgdm9pZCBpbnRlcnNlY3Rpb24obG9uZy4uLiBpbnRzKTsKLX07PC93ZWJpZGw+Ci0gICAgPEF0
dHJpYnV0ZSByZWFkb25seT0icmVhZG9ubHkiIG5hbWU9ImNhcmRpbmFsaXR5IiBpZD0iOjpJbnRl
Z2VyU2V0OjpjYXJkaW5hbGl0eSI+Ci0gICAgICA8d2ViaWRsPiAgcmVhZG9ubHkgYXR0cmlidXRl
IHVuc2lnbmVkIGxvbmcgY2FyZGluYWxpdHk7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJ1
bnNpZ25lZCBsb25nIi8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gICAgPE9wZXJhdGlvbiBuYW1lPSJ1
bmlvbiIgaWQ9Ijo6SW50ZWdlclNldDo6dW5pb24iPgotICAgICAgPHdlYmlkbD4gIHZvaWQgdW5p
b24obG9uZy4uLiBpbnRzKTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9InZvaWQiLz4KLSAg
ICAgIDxBcmd1bWVudExpc3Q+Ci0gICAgICAgIDxBcmd1bWVudCBlbGxpcHNpcz0iZWxsaXBzaXMi
IG5hbWU9ImludHMiPgotICAgICAgICAgIDxUeXBlIHR5cGU9ImxvbmciLz4KLSAgICAgICAgPC9B
cmd1bWVudD4KLSAgICAgIDwvQXJndW1lbnRMaXN0PgotICAgIDwvT3BlcmF0aW9uPgotICAgIDxP
cGVyYXRpb24gbmFtZT0iaW50ZXJzZWN0aW9uIiBpZD0iOjpJbnRlZ2VyU2V0OjppbnRlcnNlY3Rp
b24iPgotICAgICAgPHdlYmlkbD4gIHZvaWQgaW50ZXJzZWN0aW9uKGxvbmcuLi4gaW50cyk7PC93
ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJ2b2lkIi8+Ci0gICAgICA8QXJndW1lbnRMaXN0Pgot
ICAgICAgICA8QXJndW1lbnQgZWxsaXBzaXM9ImVsbGlwc2lzIiBuYW1lPSJpbnRzIj4KLSAgICAg
ICAgICA8VHlwZSB0eXBlPSJsb25nIi8+Ci0gICAgICAgIDwvQXJndW1lbnQ+Ci0gICAgICA8L0Fy
Z3VtZW50TGlzdD4KLSAgICA8L09wZXJhdGlvbj4KLSAgPC9JbnRlcmZhY2U+Ci08L0RlZmluaXRp
b25zPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL3czYy1pbXBvcnQu
bG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC93M2Mt
aW1wb3J0LmxvZwkocmV2aXNpb24gMjUyODk2KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3Qv
dmFsaWQveG1sL3czYy1pbXBvcnQubG9nCShub25leGlzdGVudCkKQEAgLTEsNjcgKzAsMCBAQAot
VGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJl
cG9zaXRvcnkuCi1EbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4K
LUluc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgVzNDIENTUyBvciBXUFQgZ2l0
aHViOgotCWh0dHBzOi8vZ2l0aHViLmNvbS93M2MvY3Nzd2ctdGVzdAotCWh0dHBzOi8vZ2l0aHVi
LmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCi0KLVRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRz
L2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0Ci0KLURvIE5PVCBtb2RpZnkg
b3IgcmVtb3ZlIHRoaXMgZmlsZS4KLQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1Qcm9wZXJ0aWVzIHJlcXVp
cmluZyB2ZW5kb3IgcHJlZml4ZXM6Ci1Ob25lCi1Qcm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5nIHZl
bmRvciBwcmVmaXhlczoKLU5vbmUKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotTGlzdCBvZiBmaWxlczoKLS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvYWxsb3dhbnkud2lkbHByb2N4bWwKLS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvYXJyYXkud2lkbHByb2N4bWwKLS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvYXR0cmlidXRlcy53aWRscHJvY3htbAotL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9jYWxsYmFjay53aWRscHJvY3htbAotL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9jYWxsZXIud2lkbHByb2N4bWwKLS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvY29uc3RhbnRzLndpZGxwcm9jeG1sCi0vTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL2NvbnN0cnVjdG9yLndpZGxwcm9jeG1sCi0v
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL2RpY3Rpb25hcnktaW5oZXJpdHMud2lk
bHByb2N4bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvZGljdGlvbmFyeS53
aWRscHJvY3htbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9kb2N1bWVudGF0
aW9uLWRvcy53aWRscHJvY3htbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9k
b2N1bWVudGF0aW9uLndpZGxwcm9jeG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQv
eG1sL2VudW0ud2lkbHByb2N4bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwv
ZXF1aXZhbGVudC1kZWNsLndpZGxwcm9jeG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFs
aWQveG1sL2V4Y2VwdGlvbi1pbmhlcml0YW5jZS53aWRscHJvY3htbAotL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRs
cHJvYy90ZXN0L3ZhbGlkL3htbC9leGNlcHRpb24ud2lkbHByb2N4bWwKLS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lk
bHByb2MvdGVzdC92YWxpZC94bWwvZ2V0dGVyLXNldHRlci53aWRscHJvY3htbAotL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9pZGVudGlmaWVyLXF1YWxpZmllZC1uYW1lcy53aWRs
cHJvY3htbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9pbXBsZW1lbnRzLndp
ZGxwcm9jeG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL2luZGV4ZWQtcHJv
cGVydGllcy53aWRscHJvY3htbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9p
bmhlcml0cy1nZXR0ZXIud2lkbHByb2N4bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxp
ZC94bWwvaW50ZXJmYWNlLWluaGVyaXRzLndpZGxwcm9jeG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9j
L3Rlc3QvdmFsaWQveG1sL2l0ZXJhdG9yLndpZGxwcm9jeG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9j
L3Rlc3QvdmFsaWQveG1sL21vZHVsZS53aWRscHJvY3htbAotL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90
ZXN0L3ZhbGlkL3htbC9uYW1lZGNvbnN0cnVjdG9yLndpZGxwcm9jeG1sCi0vTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dp
ZGxwcm9jL3Rlc3QvdmFsaWQveG1sL25hbWVzcGFjZW9iamVjdC53aWRscHJvY3htbAotL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9ub2ludGVyZmFjZW9iamVjdC53aWRscHJvY3ht
bAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9udWxsYWJsZS53aWRscHJvY3ht
bAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9udWxsYWJsZW9iamVjdHMud2lk
bHByb2N4bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvb3BlcmF0aW9uLW9w
dGlvbmFsLWFyZy53aWRscHJvY3htbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3ht
bC9vdmVybG9hZGluZy53aWRscHJvY3htbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlk
L3htbC9vdmVycmlkZWJ1aWx0aW5zLndpZGxwcm9jeG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rl
c3QvdmFsaWQveG1sL3BhcnRpYWwtaW50ZXJmYWNlLndpZGxwcm9jeG1sCi0vTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dp
ZGxwcm9jL3Rlc3QvdmFsaWQveG1sL3ByaW1pdGl2ZXMud2lkbHByb2N4bWwKLS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
d2lkbHByb2MvdGVzdC92YWxpZC94bWwvcHJvdG90eXBlcm9vdC53aWRscHJvY3htbAotL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9wdXRmb3J3YXJkcy53aWRscHJvY3htbAotL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9yZWctb3BlcmF0aW9ucy53aWRscHJvY3ht
bAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9yZXBsYWNlYWJsZS53aWRscHJv
Y3htbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9zZXF1ZW5jZS53aWRscHJv
Y3htbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9zZXJpYWxpemVyLndpZGxw
cm9jeG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL3NwZWNpYWwtb21pdHRh
YmxlLndpZGxwcm9jeG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL3N0YXRp
Yy53aWRscHJvY3htbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9zdHJpbmdp
Zmllci1hdHRyaWJ1dGUud2lkbHByb2N4bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxp
ZC94bWwvc3RyaW5naWZpZXItY3VzdG9tLndpZGxwcm9jeG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9j
L3Rlc3QvdmFsaWQveG1sL3N0cmluZ2lmaWVyLndpZGxwcm9jeG1sCi0vTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxw
cm9jL3Rlc3QvdmFsaWQveG1sL3RyZWF0YXNudWxsLndpZGxwcm9jeG1sCi0vTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dp
ZGxwcm9jL3Rlc3QvdmFsaWQveG1sL3RyZWF0YXN1bmRlZmluZWQud2lkbHByb2N4bWwKLS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvdHlwZWRlZi53aWRscHJvY3htbAotL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC90eXBlc3VmZml4ZXMud2lkbHByb2N4bWwKLS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvdW5pb250eXBlLndpZGxwcm9jeG1sCi0v
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL3ZhcmlhZGljLW9wZXJhdGlvbnMud2lk
bHByb2N4bWwKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3czYy1pbXBvcnQubG9nCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3czYy1pbXBvcnQubG9nCShyZXZp
c2lvbiAyNTI4OTYpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC93M2MtaW1wb3J0LmxvZwko
bm9uZXhpc3RlbnQpCkBAIC0xLDE4ICswLDAgQEAKLVRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9y
eSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgotRG8gTk9UIG1vZGlmeSB0
aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJl
cXVlc3Qgb24gdGhlIFczQyBDU1Mgb3IgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20v
dzNjL2Nzc3dnLXRlc3QKLQlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cwotCi1UaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktp
dCB0byByZWltcG9ydAotCi1EbyBOT1QgbW9kaWZ5IG9yIHJlbW92ZSB0aGlzIGZpbGUuCi0KLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLQotUHJvcGVydGllcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgotTm9u
ZQotUHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6Ci1Ob25lCi0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0KLUxpc3Qgb2YgZmlsZXM6Ci0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvTWFr
ZWZpbGUKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy93M2MtaW1wb3J0LmxvZwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdzNjLWltcG9ydC5sb2cJKHJldmlzaW9uIDI1Mjg5NikK
KysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC93aWRscHJvYy93M2MtaW1wb3J0LmxvZwkobm9uZXhpc3RlbnQpCkBAIC0x
LDIwICswLDAgQEAKLVRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZy
b20gdGhlIFczQyByZXBvc2l0b3J5LgotRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3Rs
eSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFczQyBD
U1Mgb3IgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20vdzNjL2Nzc3dnLXRlc3QKLQlo
dHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cwotCi1UaGVuIHJ1biB0aGUg
VG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydAotCi1E
byBOT1QgbW9kaWZ5IG9yIHJlbW92ZSB0aGlzIGZpbGUuCi0KLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotUHJv
cGVydGllcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgotTm9uZQotUHJvcGVydHkgdmFsdWVz
IHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6Ci1Ob25lCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLUxpc3Qg
b2YgZmlsZXM6Ci0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL0xJQ0VOU0UKLS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHBy
b2MvTWFrZWZpbGUKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvUkVBRE1FLm1kCkluZGV4OiBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvd3JpdGVyLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93cml0ZXIuanMJKHJldmlzaW9u
IDI1Mjg5NikKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93cml0ZXIuanMJKG5vbmV4aXN0ZW50KQpAQCAtMSwyMyAr
MCwwIEBACi0idXNlIHN0cmljdCI7Ci0KLWNvbnN0IHsgY29sbGVjdCB9ID0gcmVxdWlyZSgiLi91
dGlsL2NvbGxlY3QiKTsKLWNvbnN0IHdwID0gcmVxdWlyZSgiLi4vbGliL3dlYmlkbDIiKTsKLWNv
bnN0IHdyaXRlciA9IHJlcXVpcmUoIi4uL2xpYi93cml0ZXIiKTsKLWNvbnN0IGV4cGVjdCA9IHJl
cXVpcmUoImV4cGVjdCIpOwotY29uc3QgZGVidWcgPSB0cnVlOwotCi1kZXNjcmliZSgiUmV3cml0
ZSBhbmQgcGFyc2VzIGFsbCBvZiB0aGUgSURMcyB0byBwcm9kdWNlIHRoZSBzYW1lIEFTVHMiLCAo
KSA9PiB7Ci0gIGZvciAoY29uc3QgdGVzdCBvZiBjb2xsZWN0KCJzeW50YXgiKSkgewotICAgIGl0
KGBzaG91bGQgcHJvZHVjZSB0aGUgc2FtZSBBU1QgZm9yICR7dGVzdC5wYXRofWAsICgpID0+IHsK
LSAgICAgIHRyeSB7Ci0gICAgICAgIGNvbnN0IGRpZmYgPSB0ZXN0LmRpZmYod3AucGFyc2Uod3Jp
dGVyLndyaXRlKHRlc3QuYXN0KSwgdGVzdC5vcHQpKTsKLSAgICAgICAgaWYgKGRpZmYgJiYgZGVi
dWcpIGNvbnNvbGUubG9nKEpTT04uc3RyaW5naWZ5KGRpZmYsIG51bGwsIDQpKTsKLSAgICAgICAg
ZXhwZWN0KGRpZmYpLnRvQmUodW5kZWZpbmVkKTsKLSAgICAgIH0KLSAgICAgIGNhdGNoIChlKSB7
Ci0gICAgICAgIGNvbnNvbGUubG9nKGUudG9TdHJpbmcoKSk7Ci0gICAgICAgIHRocm93IGU7Ci0g
ICAgICB9Ci0gICAgfSk7Ci0gIH0KLX0pOwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi93M2MtaW1wb3J0LmxvZwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3czYy1pbXBvcnQubG9nCShyZXZpc2lvbiAyNTI4OTYpCisrKyBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3czYy1pbXBvcnQubG9nCShub25leGlzdGVudCkKQEAgLTEsMjMgKzAsMCBAQAotVGhlIHRlc3Rz
IGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnku
Ci1EbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQs
IGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1
Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdAotCi1UaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0
cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydAotCi1EbyBOT1QgbW9kaWZ5
IG9yIHJlbW92ZSB0aGlzIGZpbGUuCi0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotUHJvcGVydGllcyByZXF1
aXJpbmcgdmVuZG9yIHByZWZpeGVzOgotTm9uZQotUHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2
ZW5kb3IgcHJlZml4ZXM6Ci1Ob25lCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLUxpc3Qgb2YgZmlsZXM6Ci0v
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi9DSEFOR0VMT0cubWQKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL0xJQ0VOU0UKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL1JFQURNRS5tZAotL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
Y292ZXJhZ2UuaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvaW5kZXguanMKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3BhY2thZ2UtbG9jay5qc29uCi0v
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi9wYWNrYWdlLmpzb24KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvbGliL1JFQURNRS5tZAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL2xpYi9SRUFETUUubWQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi9saWIvUkVBRE1FLm1k
CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNCBAQAorVGhpcyBkaXJlY3RvcnkgY29udGFpbnMg
YSBidWlsdCB2ZXJzaW9uIG9mIHRoZSBbd2ViaWRsMi5qcyBsaWJyYXJ5XShodHRwczovL2dpdGh1
Yi5jb20vdzNjL3dlYmlkbDIuanMpLgorSXQgaXMgYnVpbHQgYnkgcnVubmluZyBgbnBtIHJ1biBi
dWlsZC1kZWJ1Z2AgYXQgdGhlIHJvb3Qgb2YgdGhhdCByZXBvc2l0b3J5LgorCitUaGUgYHdlYmlk
bDIuanMuaGVhZGVyc2AgZmlsZSBpcyBhIGxvY2FsIGFkZGl0aW9uIHRvIGVuc3VyZSB0aGUgc2Ny
aXB0IGlzIGludGVycHJldGVkIGFzIFVURi04LgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi9saWIvdzNjLWltcG9ydC5s
b2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi9saWIvdzNjLWltcG9ydC5sb2cJKHJldmlzaW9uIDI1Mjg5
NikKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvbGliL3czYy1pbXBvcnQubG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xNCw2ICsx
NCw2IEBAIFByb3BlcnR5IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGUKIE5vbmUKIC0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLQogTGlzdCBvZiBmaWxlczoKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL2xpYi9SRUFETUUubWQKIC9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L2xpYi93ZWJpZGwyLmpzCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi9saWIvd2ViaWRsMi5qcy5oZWFkZXJzCi0vTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi9saWIv
d3JpdGVyLmpzCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL2xpYi93ZWJpZGwyLmpzCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
bGliL3dlYmlkbDIuanMJKHJldmlzaW9uIDI1Mjg5NikKKysrIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvbGliL3dlYmlkbDIuanMJ
KHdvcmtpbmcgY29weSkKQEAgLTUyNCw3ICs1MjQsNyBAQCBmdW5jdGlvbiBsYXN0TGluZSh0ZXh0
KSB7CiAgKiBAcGFyYW0geyJTeW50YXgiIHwgIlZhbGlkYXRpb24ifSBraW5kIGVycm9yIHR5cGUK
ICAqIEBwYXJhbSB7V2ViSURMMkVycm9yT3B0aW9uc30gW29wdGlvbnNdCiAgKi8KLWZ1bmN0aW9u
IGVycm9yKHNvdXJjZSwgcG9zaXRpb24sIGN1cnJlbnQsIG1lc3NhZ2UsIGtpbmQsIHsgbGV2ZWwg
PSAiZXJyb3IiLCBhdXRvZml4IH0gPSB7fSkgeworZnVuY3Rpb24gZXJyb3Ioc291cmNlLCBwb3Np
dGlvbiwgY3VycmVudCwgbWVzc2FnZSwga2luZCwgeyBsZXZlbCA9ICJlcnJvciIsIGF1dG9maXgs
IHJ1bGVOYW1lIH0gPSB7fSkgewogICAvKioKICAgICogQHBhcmFtIHtudW1iZXJ9IGNvdW50CiAg
ICAqLwpAQCAtNTc0LDYgKzU3NCw3IEBAIGZ1bmN0aW9uIGVycm9yKHNvdXJjZSwgcG9zaXRpb24s
IGN1cnJlbnQKICAgICBsaW5lLAogICAgIHNvdXJjZU5hbWU6IHNvdXJjZS5uYW1lLAogICAgIGxl
dmVsLAorICAgIHJ1bGVOYW1lLAogICAgIGF1dG9maXgsCiAgICAgaW5wdXQ6IHN1YnNlcXVlbnRU
ZXh0LAogICAgIHRva2Vuczogc3Vic2VxdWVudFRva2VucwpAQCAtNTkxLDggKzU5Miw5IEBAIGZ1
bmN0aW9uIHN5bnRheEVycm9yKHNvdXJjZSwgcG9zaXRpb24sIGMKICAqIEBwYXJhbSB7c3RyaW5n
fSBtZXNzYWdlIGVycm9yIG1lc3NhZ2UKICAqIEBwYXJhbSB7V2ViSURMMkVycm9yT3B0aW9uc30g
W29wdGlvbnNdCiAgKi8KLWZ1bmN0aW9uIHZhbGlkYXRpb25FcnJvcihzb3VyY2UsIHRva2VuLCBj
dXJyZW50LCBtZXNzYWdlLCBvcHRpb25zKSB7Ci0gIHJldHVybiBlcnJvcihzb3VyY2UsIHRva2Vu
LmluZGV4LCBjdXJyZW50LCBtZXNzYWdlLCAiVmFsaWRhdGlvbiIsIG9wdGlvbnMpOworZnVuY3Rp
b24gdmFsaWRhdGlvbkVycm9yKHRva2VuLCBjdXJyZW50LCBydWxlTmFtZSwgbWVzc2FnZSwgb3B0
aW9ucyA9IHt9KSB7CisgIG9wdGlvbnMucnVsZU5hbWUgPSBydWxlTmFtZTsKKyAgcmV0dXJuIGVy
cm9yKGN1cnJlbnQuc291cmNlLCB0b2tlbi5pbmRleCwgY3VycmVudCwgbWVzc2FnZSwgIlZhbGlk
YXRpb24iLCBvcHRpb25zKTsKIH0KIAogCkBAIC02MTIsNyArNjE0LDEwIEBAIF9fd2VicGFja19y
ZXF1aXJlX18ucihfX3dlYnBhY2tfZXhwb3J0c18KIC8qIGhhcm1vbnkgZXhwb3J0IChiaW5kaW5n
KSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgInR5cGVfd2l0
aF9leHRlbmRlZF9hdHRyaWJ1dGVzIiwgZnVuY3Rpb24oKSB7IHJldHVybiB0eXBlX3dpdGhfZXh0
ZW5kZWRfYXR0cmlidXRlczsgfSk7CiAvKiBoYXJtb255IGV4cG9ydCAoYmluZGluZykgKi8gX193
ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sICJyZXR1cm5fdHlwZSIsIGZ1
bmN0aW9uKCkgeyByZXR1cm4gcmV0dXJuX3R5cGU7IH0pOwogLyogaGFybW9ueSBleHBvcnQgKGJp
bmRpbmcpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCAic3Ry
aW5naWZpZXIiLCBmdW5jdGlvbigpIHsgcmV0dXJuIHN0cmluZ2lmaWVyOyB9KTsKKy8qIGhhcm1v
bnkgZXhwb3J0IChiaW5kaW5nKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4
cG9ydHNfXywgImdldExhc3RJbmRlbnRhdGlvbiIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gZ2V0TGFz
dEluZGVudGF0aW9uOyB9KTsKKy8qIGhhcm1vbnkgZXhwb3J0IChiaW5kaW5nKSAqLyBfX3dlYnBh
Y2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgImdldE1lbWJlckluZGVudGF0aW9u
IiwgZnVuY3Rpb24oKSB7IHJldHVybiBnZXRNZW1iZXJJbmRlbnRhdGlvbjsgfSk7CiAvKiBoYXJt
b255IGV4cG9ydCAoYmluZGluZykgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19l
eHBvcnRzX18sICJhdXRvZml4QWRkRXhwb3NlZFdpbmRvdyIsIGZ1bmN0aW9uKCkgeyByZXR1cm4g
YXV0b2ZpeEFkZEV4cG9zZWRXaW5kb3c7IH0pOworLyogaGFybW9ueSBleHBvcnQgKGJpbmRpbmcp
ICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCAiZ2V0Rmlyc3RU
b2tlbiIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gZ2V0Rmlyc3RUb2tlbjsgfSk7CiAvKiBoYXJtb255
IGltcG9ydCAqLyB2YXIgX3R5cGVfanNfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfXyA9IF9f
d2VicGFja19yZXF1aXJlX18oNSk7CiAvKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2FyZ3VtZW50
X2pzX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDgp
OwogLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF90b2tlbl9qc19fV0VCUEFDS19JTVBPUlRFRF9N
T0RVTEVfMl9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygxMik7CkBAIC03OTAsNiArNzk1LDMwIEBA
IGZ1bmN0aW9uIHN0cmluZ2lmaWVyKHRva2VuaXNlcikgewogfQogCiAvKioKKyAqIEBwYXJhbSB7
c3RyaW5nfSBzdHIKKyAqLworZnVuY3Rpb24gZ2V0TGFzdEluZGVudGF0aW9uKHN0cikgeworICBj
b25zdCBsaW5lcyA9IHN0ci5zcGxpdCgiXG4iKTsKKyAgLy8gdGhlIGZpcnN0IGxpbmUgdmlzdWFs
bHkgYmluZHMgdG8gdGhlIHByZWNlZGluZyB0b2tlbgorICBpZiAobGluZXMubGVuZ3RoKSB7Cisg
ICAgY29uc3QgbWF0Y2ggPSBsaW5lc1tsaW5lcy5sZW5ndGggLSAxXS5tYXRjaCgvXlxzKy8pOwor
ICAgIGlmIChtYXRjaCkgeworICAgICAgcmV0dXJuIG1hdGNoWzBdOworICAgIH0KKyAgfQorICBy
ZXR1cm4gIiI7Cit9CisKKy8qKgorICogQHBhcmFtIHtzdHJpbmd9IHBhcmVudFRyaXZpYQorICov
CitmdW5jdGlvbiBnZXRNZW1iZXJJbmRlbnRhdGlvbihwYXJlbnRUcml2aWEpIHsKKyAgY29uc3Qg
aW5kZW50YXRpb24gPSBnZXRMYXN0SW5kZW50YXRpb24ocGFyZW50VHJpdmlhKTsKKyAgY29uc3Qg
aW5kZW50Q2ggPSBpbmRlbnRhdGlvbi5pbmNsdWRlcygiXHQiKSA/ICJcdCIgOiAiICAiOworICBy
ZXR1cm4gaW5kZW50YXRpb24gKyBpbmRlbnRDaDsKK30KKworLyoqCiAgKiBAcGFyYW0ge29iamVj
dH0gZGVmCiAgKiBAcGFyYW0ge2ltcG9ydCgiLi9leHRlbmRlZC1hdHRyaWJ1dGVzLmpzIikuRXh0
ZW5kZWRBdHRyaWJ1dGVzfSBkZWYuZXh0QXR0cnMKICAqLwpAQCAtODA2LDEyICs4MzUsMjggQEAg
ZnVuY3Rpb24gYXV0b2ZpeEFkZEV4cG9zZWRXaW5kb3coZGVmKSB7CiAgICAgICBkZWYuZXh0QXR0
cnMudW5zaGlmdChleHBvc2VkKTsKICAgICB9IGVsc2UgewogICAgICAgZGVmLmV4dEF0dHJzID0g
X2V4dGVuZGVkX2F0dHJpYnV0ZXNfanNfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzNfX1siRXh0
ZW5kZWRBdHRyaWJ1dGVzIl0ucGFyc2UobmV3IF90b2tlbmlzZXJfanNfX1dFQlBBQ0tfSU1QT1JU
RURfTU9EVUxFXzZfX1siVG9rZW5pc2VyIl0oIltFeHBvc2VkPVdpbmRvd10iKSk7Ci0gICAgICBk
ZWYuZXh0QXR0cnMudG9rZW5zLm9wZW4udHJpdmlhID0gZGVmLnRva2Vucy5iYXNlLnRyaXZpYTsK
LSAgICAgIGRlZi50b2tlbnMuYmFzZS50cml2aWEgPSAiICI7CisgICAgICBjb25zdCB0cml2aWEg
PSBkZWYudG9rZW5zLmJhc2UudHJpdmlhOworICAgICAgZGVmLmV4dEF0dHJzLnRva2Vucy5vcGVu
LnRyaXZpYSA9IHRyaXZpYTsKKyAgICAgIGRlZi50b2tlbnMuYmFzZS50cml2aWEgPSBgXG4ke2dl
dExhc3RJbmRlbnRhdGlvbih0cml2aWEpfWA7CiAgICAgfQogICB9OwogfQogCisvKioKKyAqIEdl
dCB0aGUgZmlyc3Qgc3ludGF4IHRva2VuIGZvciB0aGUgZ2l2ZW4gSURMIG9iamVjdC4KKyAqIEBw
YXJhbSB7Kn0gZGF0YQorICovCitmdW5jdGlvbiBnZXRGaXJzdFRva2VuKGRhdGEpIHsKKyAgaWYg
KGRhdGEuZXh0QXR0cnMubGVuZ3RoKSB7CisgICAgcmV0dXJuIGRhdGEuZXh0QXR0cnMudG9rZW5z
Lm9wZW47CisgIH0KKyAgaWYgKGRhdGEudHlwZSA9PT0gIm9wZXJhdGlvbiIpIHsKKyAgICByZXR1
cm4gZ2V0Rmlyc3RUb2tlbihkYXRhLmlkbFR5cGUpOworICB9CisgIGNvbnN0IHRva2VucyA9IE9i
amVjdC52YWx1ZXMoZGF0YS50b2tlbnMpLnNvcnQoKHgsIHkpID0+IHguaW5kZXggLSB5LmluZGV4
KTsKKyAgcmV0dXJuIHRva2Vuc1swXTsKK30KKwogCiAvKioqLyB9KSwKIC8qIDUgKi8KQEAgLTk4
OSw3ICsxMDM0LDcgQEAgY2xhc3MgVHlwZSBleHRlbmRzIF9iYXNlX2pzX19XRUJQQUNLX0lNUAog
ICAgICAgaWYgKHJlZmVyZW5jZSkgewogICAgICAgICBjb25zdCB0YXJnZXRUb2tlbiA9ICh0aGlz
LnVuaW9uID8gcmVmZXJlbmNlIDogdGhpcykudG9rZW5zLmJhc2U7CiAgICAgICAgIGNvbnN0IG1l
c3NhZ2UgPSBgTnVsbGFibGUgdW5pb24gY2Fubm90IGluY2x1ZGUgYSBkaWN0aW9uYXJ5IHR5cGVg
OwotICAgICAgICB5aWVsZCBPYmplY3QoX2Vycm9yX2pzX19XRUJQQUNLX0lNUE9SVEVEX01PRFVM
RV8zX19bInZhbGlkYXRpb25FcnJvciJdKSh0aGlzLnNvdXJjZSwgdGFyZ2V0VG9rZW4sIHRoaXMs
IG1lc3NhZ2UpOworICAgICAgICB5aWVsZCBPYmplY3QoX2Vycm9yX2pzX19XRUJQQUNLX0lNUE9S
VEVEX01PRFVMRV8zX19bInZhbGlkYXRpb25FcnJvciJdKSh0YXJnZXRUb2tlbiwgdGhpcywgIm5v
LW51bGxhYmxlLXVuaW9uLWRpY3QiLCBtZXNzYWdlKTsKICAgICAgIH0KICAgICB9IGVsc2Ugewog
ICAgICAgLy8gYWxsb3cgc29tZSBkaWN0aW9uYXJ5CkBAIC0xMTQ4LDEwICsxMTkzLDEwIEBAIGNs
YXNzIEFyZ3VtZW50IGV4dGVuZHMgX2Jhc2VfanNfX1dFQlBBQ0sKICAgICBpZiAoT2JqZWN0KF92
YWxpZGF0b3JzX2hlbHBlcnNfanNfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzZfX1siaWRsVHlw
ZUluY2x1ZGVzRGljdGlvbmFyeSJdKSh0aGlzLmlkbFR5cGUsIGRlZnMsIHsgdXNlTnVsbGFibGVJ
bm5lcjogdHJ1ZSB9KSkgewogICAgICAgaWYgKHRoaXMuaWRsVHlwZS5udWxsYWJsZSkgewogICAg
ICAgICBjb25zdCBtZXNzYWdlID0gYERpY3Rpb25hcnkgYXJndW1lbnRzIGNhbm5vdCBiZSBudWxs
YWJsZS5gOwotICAgICAgICB5aWVsZCBPYmplY3QoX2Vycm9yX2pzX19XRUJQQUNLX0lNUE9SVEVE
X01PRFVMRV81X19bInZhbGlkYXRpb25FcnJvciJdKSh0aGlzLnNvdXJjZSwgdGhpcy50b2tlbnMu
bmFtZSwgdGhpcywgbWVzc2FnZSk7CisgICAgICAgIHlpZWxkIE9iamVjdChfZXJyb3JfanNfX1dF
QlBBQ0tfSU1QT1JURURfTU9EVUxFXzVfX1sidmFsaWRhdGlvbkVycm9yIl0pKHRoaXMudG9rZW5z
Lm5hbWUsIHRoaXMsICJuby1udWxsYWJsZS1kaWN0LWFyZyIsIG1lc3NhZ2UpOwogICAgICAgfSBl
bHNlIGlmICh0aGlzLm9wdGlvbmFsICYmICF0aGlzLmRlZmF1bHQpIHsKICAgICAgICAgY29uc3Qg
bWVzc2FnZSA9IGBPcHRpb25hbCBkaWN0aW9uYXJ5IGFyZ3VtZW50cyBtdXN0IGhhdmUgYSBkZWZh
dWx0IHZhbHVlIG9mIFxge31cYC5gOwotICAgICAgICB5aWVsZCBPYmplY3QoX2Vycm9yX2pzX19X
RUJQQUNLX0lNUE9SVEVEX01PRFVMRV81X19bInZhbGlkYXRpb25FcnJvciJdKSh0aGlzLnNvdXJj
ZSwgdGhpcy50b2tlbnMubmFtZSwgdGhpcywgbWVzc2FnZSwgeworICAgICAgICB5aWVsZCBPYmpl
Y3QoX2Vycm9yX2pzX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV81X19bInZhbGlkYXRpb25FcnJv
ciJdKSh0aGlzLnRva2Vucy5uYW1lLCB0aGlzLCAiZGljdC1hcmctZGVmYXVsdCIsIG1lc3NhZ2Us
IHsKICAgICAgICAgICBhdXRvZml4OiBhdXRvZml4T3B0aW9uYWxEaWN0aW9uYXJ5RGVmYXVsdFZh
bHVlKHRoaXMpCiAgICAgICAgIH0pOwogICAgICAgfQpAQCAtMTMxNSw3ICsxMzYwLDcgQEAgY2xh
c3MgU2ltcGxlRXh0ZW5kZWRBdHRyaWJ1dGUgZXh0ZW5kcyBfYgogdW5kZXNpcmFibGUgZmVhdHVy
ZSB0aGF0IG1heSBiZSByZW1vdmVkIGZyb20gV2ViIElETCBpbiB0aGUgZnV0dXJlLiBSZWZlciB0
byB0aGUgXAogW3JlbGV2YW50IHVwc3RyZWFtIFBSXShodHRwczovL2dpdGh1Yi5jb20vaGV5Y2Ft
L3dlYmlkbC9wdWxsLzYwOSkgZm9yIG1vcmUgXAogaW5mb3JtYXRpb24uYDsKLSAgICAgIHlpZWxk
IE9iamVjdChfZXJyb3JfanNfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzNfX1sidmFsaWRhdGlv
bkVycm9yIl0pKHRoaXMuc291cmNlLCB0aGlzLnRva2Vucy5uYW1lLCB0aGlzLCBtZXNzYWdlLCB7
IGxldmVsOiAid2FybmluZyIgfSk7CisgICAgICB5aWVsZCBPYmplY3QoX2Vycm9yX2pzX19XRUJQ
QUNLX0lNUE9SVEVEX01PRFVMRV8zX19bInZhbGlkYXRpb25FcnJvciJdKSh0aGlzLnRva2Vucy5u
YW1lLCB0aGlzLCAibm8tbm9pbnRlcmZhY2VvYmplY3QiLCBtZXNzYWdlLCB7IGxldmVsOiAid2Fy
bmluZyIgfSk7CiAgICAgfQogICAgIGZvciAoY29uc3QgYXJnIG9mIHRoaXMuYXJndW1lbnRzKSB7
CiAgICAgICB5aWVsZCogYXJnLnZhbGlkYXRlKGRlZnMpOwpAQCAtMTQ2NCw3ICsxNTA5LDcgQEAg
Y2xhc3MgT3BlcmF0aW9uIGV4dGVuZHMgX2Jhc2VfanNfX1dFQlBBQwogICAqdmFsaWRhdGUoZGVm
cykgewogICAgIGlmICghdGhpcy5uYW1lICYmIFsiIiwgInN0YXRpYyJdLmluY2x1ZGVzKHRoaXMu
c3BlY2lhbCkpIHsKICAgICAgIGNvbnN0IG1lc3NhZ2UgPSBgUmVndWxhciBvciBzdGF0aWMgb3Bl
cmF0aW9ucyBtdXN0IGhhdmUgYm90aCBhIHJldHVybiB0eXBlIGFuZCBhbiBpZGVudGlmaWVyLmA7
Ci0gICAgICB5aWVsZCBPYmplY3QoX2Vycm9yX2pzX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8y
X19bInZhbGlkYXRpb25FcnJvciJdKSh0aGlzLnNvdXJjZSwgdGhpcy50b2tlbnMub3BlbiwgdGhp
cywgbWVzc2FnZSk7CisgICAgICB5aWVsZCBPYmplY3QoX2Vycm9yX2pzX19XRUJQQUNLX0lNUE9S
VEVEX01PRFVMRV8yX19bInZhbGlkYXRpb25FcnJvciJdKSh0aGlzLnRva2Vucy5vcGVuLCB0aGlz
LCAiaW5jb21wbGV0ZS1vcCIsIG1lc3NhZ2UpOwogICAgIH0KICAgICBpZiAodGhpcy5pZGxUeXBl
KSB7CiAgICAgICB5aWVsZCogdGhpcy5pZGxUeXBlLnZhbGlkYXRlKGRlZnMpOwpAQCAtMTc2MCw2
ICsxODA1LDggQEAgX193ZWJwYWNrX3JlcXVpcmVfXy5yKF9fd2VicGFja19leHBvcnRzXwogLyog
aGFybW9ueSBpbXBvcnQgKi8gdmFyIF9lcnJvcl9qc19fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVf
Nl9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygzKTsKIC8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBf
dmFsaWRhdG9yc19pbnRlcmZhY2VfanNfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzdfXyA9IF9f
d2VicGFja19yZXF1aXJlX18oMjMpOwogLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9jb25zdHJ1
Y3Rvcl9qc19fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfOF9fID0gX193ZWJwYWNrX3JlcXVpcmVf
XygyNCk7CisvKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX3Rva2VuaXNlcl9qc19fV0VCUEFDS19J
TVBPUlRFRF9NT0RVTEVfOV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygyKTsKKwogCiAKIApAQCAt
MTgxOSwxMCArMTg2NiwyMCBAQCBUbyBmaXgsIGFkZCwgZm9yIGV4YW1wbGUsIFxgW0V4cG9zZWQ9
V2luCiBpZiB5b3VyIGludGVyZmFjZSBzaG91bGQgYWxzbyBiZSBleHBvc2VkIGluIGEgV29ya2Vy
IHNjb3BlLiBSZWZlciB0byB0aGUgXAogW1dlYklETCBzcGVjIHNlY3Rpb24gb24gRXhwb3NlZF0o
aHR0cHM6Ly9oZXljYW0uZ2l0aHViLmlvL3dlYmlkbC8jRXhwb3NlZCkgXAogZm9yIG1vcmUgaW5m
b3JtYXRpb24uYDsKLSAgICAgIHlpZWxkIE9iamVjdChfZXJyb3JfanNfX1dFQlBBQ0tfSU1QT1JU
RURfTU9EVUxFXzZfX1sidmFsaWRhdGlvbkVycm9yIl0pKHRoaXMuc291cmNlLCB0aGlzLnRva2Vu
cy5uYW1lLCB0aGlzLCBtZXNzYWdlLCB7CisgICAgICB5aWVsZCBPYmplY3QoX2Vycm9yX2pzX19X
RUJQQUNLX0lNUE9SVEVEX01PRFVMRV82X19bInZhbGlkYXRpb25FcnJvciJdKSh0aGlzLnRva2Vu
cy5uYW1lLCB0aGlzLCAicmVxdWlyZS1leHBvc2VkIiwgbWVzc2FnZSwgewogICAgICAgICBhdXRv
Zml4OiBPYmplY3QoX2hlbHBlcnNfanNfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzVfX1siYXV0
b2ZpeEFkZEV4cG9zZWRXaW5kb3ciXSkodGhpcykKICAgICAgIH0pOwogICAgIH0KKyAgICBjb25z
dCBjb25zdHJ1Y3RvcnMgPSB0aGlzLmV4dEF0dHJzLmZpbHRlcihleHRBdHRyID0+IGV4dEF0dHIu
bmFtZSA9PT0gIkNvbnN0cnVjdG9yIik7CisgICAgZm9yIChjb25zdCBjb25zdHJ1Y3RvciBvZiBj
b25zdHJ1Y3RvcnMpIHsKKyAgICAgIGNvbnN0IG1lc3NhZ2UgPSBgQ29uc3RydWN0b3JzIHNob3Vs
ZCBub3cgYmUgcmVwcmVzZW50ZWQgYXMgYSBcYGNvbnN0cnVjdG9yKClcYCBvcGVyYXRpb24gb24g
dGhlIGludGVyZmFjZSBcCitpbnN0ZWFkIG9mIFxgW0NvbnN0cnVjdG9yXVxgIGV4dGVuZGVkIGF0
dHJpYnV0ZS4gUmVmZXIgdG8gdGhlIFwKK1tXZWJJREwgc3BlYyBzZWN0aW9uIG9uIGNvbnN0cnVj
dG9yIG9wZXJhdGlvbnNdKGh0dHBzOi8vaGV5Y2FtLmdpdGh1Yi5pby93ZWJpZGwvI2lkbC1jb25z
dHJ1Y3RvcnMpIFwKK2ZvciBtb3JlIGluZm9ybWF0aW9uLmA7CisgICAgICB5aWVsZCBPYmplY3Qo
X2Vycm9yX2pzX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV82X19bInZhbGlkYXRpb25FcnJvciJd
KShjb25zdHJ1Y3Rvci50b2tlbnMubmFtZSwgdGhpcywgImNvbnN0cnVjdG9yLW1lbWJlciIsIG1l
c3NhZ2UsIHsKKyAgICAgICAgYXV0b2ZpeDogYXV0b2ZpeENvbnN0cnVjdG9yKHRoaXMsIGNvbnN0
cnVjdG9yKQorICAgICAgfSk7CisgICAgfQogCiAgICAgeWllbGQqIHN1cGVyLnZhbGlkYXRlKGRl
ZnMpOwogICAgIGlmICghdGhpcy5wYXJ0aWFsKSB7CkBAIC0xODMxLDYgKzE4ODgsMzcgQEAgZm9y
IG1vcmUgaW5mb3JtYXRpb24uYDsKICAgfQogfQogCitmdW5jdGlvbiBhdXRvZml4Q29uc3RydWN0
b3IoaW50ZXJmYWNlRGVmLCBjb25zdHJ1Y3RvckV4dEF0dHIpIHsKKyAgcmV0dXJuICgpID0+IHsK
KyAgICBjb25zdCBpbmRlbnRhdGlvbiA9IE9iamVjdChfaGVscGVyc19qc19fV0VCUEFDS19JTVBP
UlRFRF9NT0RVTEVfNV9fWyJnZXRMYXN0SW5kZW50YXRpb24iXSkoaW50ZXJmYWNlRGVmLmV4dEF0
dHJzLnRva2Vucy5vcGVuLnRyaXZpYSk7CisgICAgY29uc3QgbWVtYmVySW5kZW50ID0gaW50ZXJm
YWNlRGVmLm1lbWJlcnMubGVuZ3RoID8KKyAgICAgIE9iamVjdChfaGVscGVyc19qc19fV0VCUEFD
S19JTVBPUlRFRF9NT0RVTEVfNV9fWyJnZXRMYXN0SW5kZW50YXRpb24iXSkoT2JqZWN0KF9oZWxw
ZXJzX2pzX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV81X19bImdldEZpcnN0VG9rZW4iXSkoaW50
ZXJmYWNlRGVmLm1lbWJlcnNbMF0pLnRyaXZpYSkgOgorICAgICAgT2JqZWN0KF9oZWxwZXJzX2pz
X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV81X19bImdldE1lbWJlckluZGVudGF0aW9uIl0pKGlu
ZGVudGF0aW9uKTsKKyAgICBjb25zdCBjb25zdHJ1Y3Rvck9wID0gX2NvbnN0cnVjdG9yX2pzX19X
RUJQQUNLX0lNUE9SVEVEX01PRFVMRV84X19bIkNvbnN0cnVjdG9yIl0ucGFyc2UobmV3IF90b2tl
bmlzZXJfanNfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzlfX1siVG9rZW5pc2VyIl0oYFxuJHtt
ZW1iZXJJbmRlbnR9Y29uc3RydWN0b3IoKTtgKSk7CisgICAgY29uc3RydWN0b3JPcC5leHRBdHRy
cyA9IFtdOworICAgIGNvbnN0cnVjdG9yT3AuYXJndW1lbnRzID0gY29uc3RydWN0b3JFeHRBdHRy
LmFyZ3VtZW50czsKKworICAgIGNvbnN0IGV4aXN0aW5nSW5kZXggPSBpbnRlcmZhY2VEZWYubWVt
YmVycy5maW5kSW5kZXgobSA9PiBtLnR5cGUgPT09ICJjb25zdHJ1Y3RvciIpOworICAgIGludGVy
ZmFjZURlZi5tZW1iZXJzLnNwbGljZShleGlzdGluZ0luZGV4ICsgMSwgMCwgY29uc3RydWN0b3JP
cCk7CisKKyAgICBjb25zdCB7IGNsb3NlIH0gID0gaW50ZXJmYWNlRGVmLnRva2VuczsKKyAgICBp
ZiAoIWNsb3NlLnRyaXZpYS5pbmNsdWRlcygiXG4iKSkgeworICAgICAgY2xvc2UudHJpdmlhICs9
IGBcbiR7aW5kZW50YXRpb259YDsKKyAgICB9CisKKyAgICBjb25zdCB7IGV4dEF0dHJzIH0gPSBp
bnRlcmZhY2VEZWY7CisgICAgY29uc3QgaW5kZXggPSBleHRBdHRycy5pbmRleE9mKGNvbnN0cnVj
dG9yRXh0QXR0cik7CisgICAgY29uc3QgcmVtb3ZlZCA9IGV4dEF0dHJzLnNwbGljZShpbmRleCwg
MSk7CisgICAgaWYgKCFleHRBdHRycy5sZW5ndGgpIHsKKyAgICAgIGV4dEF0dHJzLnRva2Vucy5v
cGVuID0gZXh0QXR0cnMudG9rZW5zLmNsb3NlID0gdW5kZWZpbmVkOworICAgIH0gZWxzZSBpZiAo
ZXh0QXR0cnMubGVuZ3RoID09PSBpbmRleCkgeworICAgICAgZXh0QXR0cnNbaW5kZXggLSAxXS50
b2tlbnMuc2VwYXJhdG9yID0gdW5kZWZpbmVkOworICAgIH0gZWxzZSBpZiAoIWV4dEF0dHJzW2lu
ZGV4XS50b2tlbnMubmFtZS50cml2aWEudHJpbSgpKSB7CisgICAgICBleHRBdHRyc1tpbmRleF0u
dG9rZW5zLm5hbWUudHJpdmlhID0gcmVtb3ZlZFswXS50b2tlbnMubmFtZS50cml2aWE7CisgICAg
fQorICB9OworfQorCiAKIC8qKiovIH0pLAogLyogMjAgKi8KQEAgLTIwNjYsNyArMjE1NCw3IEBA
IGZ1bmN0aW9uKiBjaGVja0ludGVyZmFjZU1lbWJlckR1cGxpY2F0aW8KICAgICAgIGNvbnN0IHsg
bmFtZSB9ID0gYWRkaXRpb247CiAgICAgICBpZiAobmFtZSAmJiBleGlzdGluZ3MuaGFzKG5hbWUp
KSB7CiAgICAgICAgIGNvbnN0IG1lc3NhZ2UgPSBgVGhlIG9wZXJhdGlvbiAiJHtuYW1lfSIgaGFz
IGFscmVhZHkgYmVlbiBkZWZpbmVkIGZvciB0aGUgYmFzZSBpbnRlcmZhY2UgIiR7YmFzZS5uYW1l
fSIgZWl0aGVyIGluIGl0c2VsZiBvciBpbiBhIG1peGluYDsKLSAgICAgICAgeWllbGQgT2JqZWN0
KF9lcnJvcl9qc19fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fWyJ2YWxpZGF0aW9uRXJyb3Ii
XSkoZXh0LnNvdXJjZSwgYWRkaXRpb24udG9rZW5zLm5hbWUsIGV4dCwgbWVzc2FnZSk7CisgICAg
ICAgIHlpZWxkIE9iamVjdChfZXJyb3JfanNfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX1si
dmFsaWRhdGlvbkVycm9yIl0pKGFkZGl0aW9uLnRva2Vucy5uYW1lLCBleHQsICJuby1jcm9zcy1v
dmVybG9hZCIsIG1lc3NhZ2UpOwogICAgICAgfQogICAgIH0KICAgfQpAQCAtMjExMiw2ICsyMjAw
LDE1IEBAIGNsYXNzIENvbnN0cnVjdG9yIGV4dGVuZHMgX2Jhc2VfanNfX1dFQlAKICAgZ2V0IHR5
cGUoKSB7CiAgICAgcmV0dXJuICJjb25zdHJ1Y3RvciI7CiAgIH0KKworICAqdmFsaWRhdGUoZGVm
cykgeworICAgIGlmICh0aGlzLmlkbFR5cGUpIHsKKyAgICAgIHlpZWxkKiB0aGlzLmlkbFR5cGUu
dmFsaWRhdGUoZGVmcyk7CisgICAgfQorICAgIGZvciAoY29uc3QgYXJndW1lbnQgb2YgdGhpcy5h
cmd1bWVudHMpIHsKKyAgICAgIHlpZWxkKiBhcmd1bWVudC52YWxpZGF0ZShkZWZzKTsKKyAgICB9
CisgIH0KIH0KIAogCkBAIC0yMjk0LDcgKzIzOTEsNyBAQCBUbyBmaXgsIGFkZCwgZm9yIGV4YW1w
bGUsIFtFeHBvc2VkPVdpbmRvCiBpZiB5b3VyIG5hbWVzcGFjZSBzaG91bGQgYWxzbyBiZSBleHBv
c2VkIGluIGEgV29ya2VyIHNjb3BlLiBSZWZlciB0byB0aGUgXAogW1dlYklETCBzcGVjIHNlY3Rp
b24gb24gRXhwb3NlZF0oaHR0cHM6Ly9oZXljYW0uZ2l0aHViLmlvL3dlYmlkbC8jRXhwb3NlZCkg
XAogZm9yIG1vcmUgaW5mb3JtYXRpb24uYDsKLSAgICAgIHlpZWxkIE9iamVjdChfZXJyb3JfanNf
X1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzNfX1sidmFsaWRhdGlvbkVycm9yIl0pKHRoaXMuc291
cmNlLCB0aGlzLnRva2Vucy5uYW1lLCB0aGlzLCBtZXNzYWdlLCB7CisgICAgICB5aWVsZCBPYmpl
Y3QoX2Vycm9yX2pzX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX19bInZhbGlkYXRpb25FcnJv
ciJdKSh0aGlzLnRva2Vucy5uYW1lLCB0aGlzLCAicmVxdWlyZS1leHBvc2VkIiwgbWVzc2FnZSwg
ewogICAgICAgICBhdXRvZml4OiBPYmplY3QoX2hlbHBlcnNfanNfX1dFQlBBQ0tfSU1QT1JURURf
TU9EVUxFXzRfX1siYXV0b2ZpeEFkZEV4cG9zZWRXaW5kb3ciXSkodGhpcykKICAgICAgIH0pOwog
ICAgIH0KQEAgLTI2NTAsNyArMjc0Nyw2IEBAIGZ1bmN0aW9uIHdyaXRlKGFzdCwgeyB0ZW1wbGF0
ZXM6IHRzID0gdGUKICAgICBlbnVtOiBlbnVtXywKICAgICAiZW51bS12YWx1ZSI6IGVudW1fdmFs
dWUsCiAgICAgaXRlcmFibGU6IGl0ZXJhYmxlX2xpa2UsCi0gICAgbGVnYWN5aXRlcmFibGU6IGl0
ZXJhYmxlX2xpa2UsCiAgICAgbWFwbGlrZTogaXRlcmFibGVfbGlrZSwKICAgICBzZXRsaWtlOiBp
dGVyYWJsZV9saWtlLAogICAgICJjYWxsYmFjayBpbnRlcmZhY2UiOiBjb250YWluZXIsCkBAIC0y
NzQxLDcgKzI4MzcsNyBAQCBmdW5jdGlvbiogY2hlY2tEdXBsaWNhdGVkTmFtZXMoeyB1bmlxdWUs
CiAgIGZvciAoY29uc3QgZHVwIG9mIGR1cGxpY2F0ZXMpIHsKICAgICBjb25zdCB7IG5hbWUgfSA9
IGR1cDsKICAgICBjb25zdCBtZXNzYWdlID0gYFRoZSBuYW1lICIke25hbWV9IiBvZiB0eXBlICIk
e3VuaXF1ZS5nZXQobmFtZSkudHlwZX0iIHdhcyBhbHJlYWR5IHNlZW5gOwotICAgIHlpZWxkIE9i
amVjdChfZXJyb3JfanNfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX1sidmFsaWRhdGlvbkVy
cm9yIl0pKGR1cC5zb3VyY2UsIGR1cC50b2tlbnMubmFtZSwgZHVwLCBtZXNzYWdlKTsKKyAgICB5
aWVsZCBPYmplY3QoX2Vycm9yX2pzX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19bInZhbGlk
YXRpb25FcnJvciJdKShkdXAudG9rZW5zLm5hbWUsIGR1cCwgIm5vLWR1cGxpY2F0ZSIsIG1lc3Nh
Z2UpOwogICB9CiB9CiAKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvbGliL3dyaXRlci5qcwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL2xpYi93cml0ZXIuanMJKHJldmlzaW9uIDI1Mjg5NikKKysrIExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvbGliL3dyaXRlci5q
cwkobm9uZXhpc3RlbnQpCkBAIC0xLDIyMSArMCwwIEBACi0idXNlIHN0cmljdCI7Ci0KLSgoKSA9
PiB7Ci0gIGZ1bmN0aW9uIHdyaXRlKGFzdCwgb3B0ID0ge30pIHsKLSAgICBjb25zdCBub29wID0g
c3RyID0+IHN0cjsKLSAgICBjb25zdCBvcHROYW1lcyA9ICJ0eXBlIi5zcGxpdCgiICIpOwotICAg
IGNvbnN0IGNvbnRleHQgPSBbXTsKLSAgICBmb3IgKGNvbnN0IG8gb2Ygb3B0TmFtZXMpIHsKLSAg
ICAgIGlmICghb3B0W29dKSBvcHRbb10gPSBub29wOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIGxp
dGVyYWwoaXQpIHsKLSAgICAgIHJldHVybiBpdC52YWx1ZTsKLSAgICB9OwotICAgIGZ1bmN0aW9u
IHR5cGUoaXQpIHsKLSAgICAgIGlmICh0eXBlb2YgaXQgPT09ICJzdHJpbmciKSByZXR1cm4gb3B0
LnR5cGUoaXQpOyAvLyBYWFggc2hvdWxkIG1haW50YWluIHNvbWUgY29udGV4dAotICAgICAgbGV0
IHJldCA9IGV4dGVuZGVkX2F0dHJpYnV0ZXMoaXQuZXh0QXR0cnMpOwotICAgICAgaWYgKGl0LnVu
aW9uKSByZXQgKz0gYCgke2l0LmlkbFR5cGUubWFwKHR5cGUpLmpvaW4oIiBvciAiKX0pYDsKLSAg
ICAgIGVsc2UgewotICAgICAgICBpZiAoaXQuZ2VuZXJpYykgcmV0ICs9IGAke2l0LmdlbmVyaWN9
PGA7Ci0gICAgICAgIGlmIChBcnJheS5pc0FycmF5KGl0LmlkbFR5cGUpKSByZXQgKz0gaXQuaWRs
VHlwZS5tYXAodHlwZSkuam9pbigiLCAiKTsKLSAgICAgICAgZWxzZSByZXQgKz0gdHlwZShpdC5p
ZGxUeXBlKTsKLSAgICAgICAgaWYgKGl0LmdlbmVyaWMpIHJldCArPSAiPiI7Ci0gICAgICB9Ci0g
ICAgICBpZiAoaXQubnVsbGFibGUpIHJldCArPSAiPyI7Ci0KLSAgICAgIHJldHVybiByZXQ7Ci0g
ICAgfTsKLSAgICBmdW5jdGlvbiBjb25zdF92YWx1ZShpdCkgewotICAgICAgY29uc3QgdHAgPSBp
dC50eXBlOwotICAgICAgaWYgKHRwID09PSAiYm9vbGVhbiIpIHJldHVybiBpdC52YWx1ZSA/ICJ0
cnVlIiA6ICJmYWxzZSI7Ci0gICAgICBlbHNlIGlmICh0cCA9PT0gIm51bGwiKSByZXR1cm4gIm51
bGwiOwotICAgICAgZWxzZSBpZiAodHAgPT09ICJJbmZpbml0eSIpIHJldHVybiAoaXQubmVnYXRp
dmUgPyAiLSIgOiAiIikgKyAiSW5maW5pdHkiOwotICAgICAgZWxzZSBpZiAodHAgPT09ICJOYU4i
KSByZXR1cm4gIk5hTiI7Ci0gICAgICBlbHNlIGlmICh0cCA9PT0gIm51bWJlciIpIHJldHVybiBp
dC52YWx1ZTsKLSAgICAgIGVsc2UgaWYgKHRwID09PSAic2VxdWVuY2UiKSByZXR1cm4gIltdIjsK
LSAgICAgIGVsc2UgcmV0dXJuIGAiJHtpdC52YWx1ZX0iYDsKLSAgICB9OwotICAgIGZ1bmN0aW9u
IGFyZ3VtZW50KGFyZykgewotICAgICAgbGV0IHJldCA9IGV4dGVuZGVkX2F0dHJpYnV0ZXMoYXJn
LmV4dEF0dHJzKTsKLSAgICAgIGlmIChhcmcub3B0aW9uYWwpIHJldCArPSAib3B0aW9uYWwgIjsK
LSAgICAgIHJldCArPSB0eXBlKGFyZy5pZGxUeXBlKTsKLSAgICAgIGlmIChhcmcudmFyaWFkaWMp
IHJldCArPSAiLi4uIjsKLSAgICAgIHJldCArPSBgICR7YXJnLmVzY2FwZWROYW1lfWA7Ci0gICAg
ICBpZiAoYXJnLmRlZmF1bHQpIHJldCArPSBgID0gJHtjb25zdF92YWx1ZShhcmcuZGVmYXVsdCl9
YDsKLSAgICAgIHJldHVybiByZXQ7Ci0gICAgfTsKLSAgICBmdW5jdGlvbiBtYWtlX2V4dF9hdChp
dCkgewotICAgICAgY29udGV4dC51bnNoaWZ0KGl0KTsKLSAgICAgIGxldCByZXQgPSBpdC5uYW1l
OwotICAgICAgaWYgKGl0LnJocykgewotICAgICAgICBpZiAoaXQucmhzLnR5cGUgPT09ICJpZGVu
dGlmaWVyLWxpc3QiKSByZXQgKz0gYD0oJHtpdC5yaHMudmFsdWUuam9pbigiLCIpfSlgOwotICAg
ICAgICBlbHNlIHJldCArPSBgPSR7aXQucmhzLnZhbHVlfWA7Ci0gICAgICB9Ci0gICAgICBpZiAo
aXQuYXJndW1lbnRzKSByZXQgKz0gYCgke2l0LmFyZ3VtZW50cy5sZW5ndGggPyBpdC5hcmd1bWVu
dHMubWFwKGFyZ3VtZW50KS5qb2luKCIsIikgOiAiIn0pYDsKLSAgICAgIGNvbnRleHQuc2hpZnQo
KTsgLy8gWFhYIG5lZWQgdG8gYWRkIG1vcmUgY29udGV4dHMsIGJ1dCBub3QgbW9yZSB0aGFuIG5l
ZWRlZCBmb3IgUmVTcGVjCi0gICAgICByZXR1cm4gcmV0OwotICAgIH07Ci0gICAgZnVuY3Rpb24g
ZXh0ZW5kZWRfYXR0cmlidXRlcyhlYXRzKSB7Ci0gICAgICBpZiAoIWVhdHMgfHwgIWVhdHMubGVu
Z3RoKSByZXR1cm4gIiI7Ci0gICAgICByZXR1cm4gYFske2VhdHMubWFwKG1ha2VfZXh0X2F0KS5q
b2luKCIsICIpfV1gOwotICAgIH07Ci0KLSAgICBjb25zdCBtb2RpZmllcnMgPSAiZ2V0dGVyIHNl
dHRlciBkZWxldGVyIHN0cmluZ2lmaWVyIHN0YXRpYyIuc3BsaXQoIiAiKTsKLSAgICBmdW5jdGlv
biBvcGVyYXRpb24oaXQpIHsKLSAgICAgIGxldCByZXQgPSBleHRlbmRlZF9hdHRyaWJ1dGVzKGl0
LmV4dEF0dHJzKTsKLSAgICAgIGlmIChpdC5zdHJpbmdpZmllciAmJiAhaXQuaWRsVHlwZSkgcmV0
dXJuICJzdHJpbmdpZmllcjsiOwotICAgICAgZm9yIChjb25zdCBtb2Qgb2YgbW9kaWZpZXJzKSB7
Ci0gICAgICAgIGlmIChpdFttb2RdKSByZXQgKz0gbW9kICsgIiAiOwotICAgICAgfQotICAgICAg
cmV0ICs9IHR5cGUoaXQuaWRsVHlwZSkgKyAiICI7Ci0gICAgICBpZiAoaXQubmFtZSkgcmV0ICs9
IGl0LmVzY2FwZWROYW1lOwotICAgICAgcmV0ICs9IGAoJHtpdC5hcmd1bWVudHMubWFwKGFyZ3Vt
ZW50KS5qb2luKCIsIil9KTtgOwotICAgICAgcmV0dXJuIHJldDsKLSAgICB9OwotCi0gICAgZnVu
Y3Rpb24gYXR0cmlidXRlKGl0KSB7Ci0gICAgICBsZXQgcmV0ID0gZXh0ZW5kZWRfYXR0cmlidXRl
cyhpdC5leHRBdHRycyk7Ci0gICAgICBpZiAoaXQuc3RhdGljKSByZXQgKz0gInN0YXRpYyAiOwot
ICAgICAgaWYgKGl0LnN0cmluZ2lmaWVyKSByZXQgKz0gInN0cmluZ2lmaWVyICI7Ci0gICAgICBp
ZiAoaXQuaW5oZXJpdCkgcmV0ICs9ICJpbmhlcml0ICI7Ci0gICAgICBpZiAoaXQucmVhZG9ubHkp
IHJldCArPSAicmVhZG9ubHkgIjsKLSAgICAgIHJldCArPSBgYXR0cmlidXRlICR7dHlwZShpdC5p
ZGxUeXBlKX0gJHtpdC5lc2NhcGVkTmFtZX07YDsKLSAgICAgIHJldHVybiByZXQ7Ci0gICAgfTsK
LQotICAgIGZ1bmN0aW9uIGludGVyZmFjZV8oaXQpIHsKLSAgICAgIGxldCByZXQgPSBleHRlbmRl
ZF9hdHRyaWJ1dGVzKGl0LmV4dEF0dHJzKTsKLSAgICAgIGlmIChpdC5wYXJ0aWFsKSByZXQgKz0g
InBhcnRpYWwgIjsKLSAgICAgIHJldCArPSBgaW50ZXJmYWNlICR7aXQubmFtZX0gYDsKLSAgICAg
IGlmIChpdC5pbmhlcml0YW5jZSkgcmV0ICs9IGA6ICR7aXQuaW5oZXJpdGFuY2V9IGA7Ci0gICAg
ICByZXQgKz0gYHske2l0ZXJhdGUoaXQubWVtYmVycyl9fTtgOwotICAgICAgcmV0dXJuIHJldDsK
LSAgICB9OwotCi0gICAgZnVuY3Rpb24gaW50ZXJmYWNlX21peGluKGl0KSB7Ci0gICAgICBsZXQg
cmV0ID0gZXh0ZW5kZWRfYXR0cmlidXRlcyhpdC5leHRBdHRycyk7Ci0gICAgICBpZiAoaXQucGFy
dGlhbCkgcmV0ICs9ICJwYXJ0aWFsICI7Ci0gICAgICByZXQgKz0gYGludGVyZmFjZSBtaXhpbiAk
e2l0Lm5hbWV9IGA7Ci0gICAgICByZXQgKz0gYHske2l0ZXJhdGUoaXQubWVtYmVycyl9fTtgOwot
ICAgICAgcmV0dXJuIHJldDsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBuYW1lc3BhY2UoaXQpIHsK
LSAgICAgIGxldCByZXQgPSBleHRlbmRlZF9hdHRyaWJ1dGVzKGl0LmV4dEF0dHJzKTsKLSAgICAg
IGlmIChpdC5wYXJ0aWFsKSByZXQgKz0gInBhcnRpYWwgIjsKLSAgICAgIHJldCArPSBgbmFtZXNw
YWNlICR7aXQubmFtZX0gYDsKLSAgICAgIHJldCArPSBgeyR7aXRlcmF0ZShpdC5tZW1iZXJzKX19
O2A7Ci0gICAgICByZXR1cm4gcmV0OwotICAgIH0KLQotICAgIGZ1bmN0aW9uIGRpY3Rpb25hcnko
aXQpIHsKLSAgICAgIGxldCByZXQgPSBleHRlbmRlZF9hdHRyaWJ1dGVzKGl0LmV4dEF0dHJzKTsK
LSAgICAgIGlmIChpdC5wYXJ0aWFsKSByZXQgKz0gInBhcnRpYWwgIjsKLSAgICAgIHJldCArPSBg
ZGljdGlvbmFyeSAke2l0Lm5hbWV9IGA7Ci0gICAgICBpZiAoaXQuaW5oZXJpdGFuY2UpIHJldCAr
PSBgOiAke2l0LmluaGVyaXRhbmNlfSBgOwotICAgICAgcmV0ICs9IGB7JHtpdGVyYXRlKGl0Lm1l
bWJlcnMpfX07YDsKLSAgICAgIHJldHVybiByZXQ7Ci0gICAgfTsKLSAgICBmdW5jdGlvbiBmaWVs
ZChpdCkgewotICAgICAgbGV0IHJldCA9IGV4dGVuZGVkX2F0dHJpYnV0ZXMoaXQuZXh0QXR0cnMp
OwotICAgICAgaWYgKGl0LnJlcXVpcmVkKSByZXQgKz0gInJlcXVpcmVkICI7Ci0gICAgICByZXQg
Kz0gYCR7dHlwZShpdC5pZGxUeXBlKX0gJHtpdC5lc2NhcGVkTmFtZX1gOwotICAgICAgaWYgKGl0
LmRlZmF1bHQpIHJldCArPSBgID0gJHtjb25zdF92YWx1ZShpdC5kZWZhdWx0KX1gOwotICAgICAg
cmV0ICs9ICI7IjsKLSAgICAgIHJldHVybiByZXQ7Ci0gICAgfTsKLSAgICBmdW5jdGlvbiBjb25z
dF8oaXQpIHsKLSAgICAgIGNvbnN0IHJldCA9IGV4dGVuZGVkX2F0dHJpYnV0ZXMoaXQuZXh0QXR0
cnMpOwotICAgICAgcmV0dXJuIGAke3JldH1jb25zdCAke3R5cGUoaXQuaWRsVHlwZSl9JHtpdC5u
dWxsYWJsZSA/ICI/IiA6ICIifSAke2l0Lm5hbWV9ID0gJHtjb25zdF92YWx1ZShpdC52YWx1ZSl9
O2A7Ci0gICAgfTsKLSAgICBmdW5jdGlvbiB0eXBlZGVmKGl0KSB7Ci0gICAgICBsZXQgcmV0ID0g
ZXh0ZW5kZWRfYXR0cmlidXRlcyhpdC5leHRBdHRycyk7Ci0gICAgICByZXQgKz0gYHR5cGVkZWYg
JHtleHRlbmRlZF9hdHRyaWJ1dGVzKGl0LnR5cGVFeHRBdHRycyl9YDsKLSAgICAgIHJldHVybiBg
JHtyZXR9JHt0eXBlKGl0LmlkbFR5cGUpfSAke2l0Lm5hbWV9O2A7Ci0gICAgfTsKLSAgICBmdW5j
dGlvbiBpbXBsZW1lbnRzXyhpdCkgewotICAgICAgY29uc3QgcmV0ID0gZXh0ZW5kZWRfYXR0cmli
dXRlcyhpdC5leHRBdHRycyk7Ci0gICAgICByZXR1cm4gYCR7cmV0fSR7aXQudGFyZ2V0fSBpbXBs
ZW1lbnRzICR7aXQuaW1wbGVtZW50c307YDsKLSAgICB9OwotICAgIGZ1bmN0aW9uIGluY2x1ZGVz
KGl0KSB7Ci0gICAgICBjb25zdCByZXQgPSBleHRlbmRlZF9hdHRyaWJ1dGVzKGl0LmV4dEF0dHJz
KTsKLSAgICAgIHJldHVybiBgJHtyZXR9JHtpdC50YXJnZXR9IGluY2x1ZGVzICR7aXQuaW5jbHVk
ZXN9O2A7Ci0gICAgfTsKLSAgICBmdW5jdGlvbiBjYWxsYmFjayhpdCkgewotICAgICAgY29uc3Qg
cmV0ID0gZXh0ZW5kZWRfYXR0cmlidXRlcyhpdC5leHRBdHRycyk7Ci0gICAgICByZXR1cm4gYCR7
cmV0fWNhbGxiYWNrICR7aXQubmFtZX0gPSAke3R5cGUoaXQuaWRsVHlwZSl9KCR7aXQuYXJndW1l
bnRzLm1hcChhcmd1bWVudCkuam9pbigiLCIpfSk7YDsKLSAgICB9OwotICAgIGZ1bmN0aW9uIGVu
dW1fKGl0KSB7Ci0gICAgICBsZXQgcmV0ID0gZXh0ZW5kZWRfYXR0cmlidXRlcyhpdC5leHRBdHRy
cyk7Ci0gICAgICByZXQgKz0gYGVudW0gJHtpdC5uYW1lfSB7YDsKLSAgICAgIGZvciAoY29uc3Qg
diBvZiBpdC52YWx1ZXMpIHsKLSAgICAgICAgcmV0ICs9IGAiJHt2LnZhbHVlfSIsYDsKLSAgICAg
IH0KLSAgICAgIHJldHVybiByZXQgKyAifTsiOwotICAgIH07Ci0gICAgZnVuY3Rpb24gaXRlcmFi
bGUoaXQpIHsKLSAgICAgIHJldHVybiBgaXRlcmFibGU8JHtBcnJheS5pc0FycmF5KGl0LmlkbFR5
cGUpID8gaXQuaWRsVHlwZS5tYXAodHlwZSkuam9pbigiLCAiKSA6IHR5cGUoaXQuaWRsVHlwZSl9
PjtgOwotICAgIH07Ci0gICAgZnVuY3Rpb24gbGVnYWN5aXRlcmFibGUoaXQpIHsKLSAgICAgIHJl
dHVybiBgbGVnYWN5aXRlcmFibGU8JHtBcnJheS5pc0FycmF5KGl0LmlkbFR5cGUpID8gaXQuaWRs
VHlwZS5tYXAodHlwZSkuam9pbigiLCAiKSA6IHR5cGUoaXQuaWRsVHlwZSl9PjtgOwotICAgIH07
Ci0gICAgZnVuY3Rpb24gbWFwbGlrZShpdCkgewotICAgICAgcmV0dXJuIGAke2l0LnJlYWRvbmx5
ID8gInJlYWRvbmx5ICIgOiAiIn1tYXBsaWtlPCR7aXQuaWRsVHlwZS5tYXAodHlwZSkuam9pbigi
LCAiKX0+O2A7Ci0gICAgfTsKLSAgICBmdW5jdGlvbiBzZXRsaWtlKGl0KSB7Ci0gICAgICByZXR1
cm4gYCR7aXQucmVhZG9ubHkgPyAicmVhZG9ubHkgIiA6ICIifXNldGxpa2U8JHt0eXBlKGl0Lmlk
bFR5cGVbMF0pfT47YDsKLSAgICB9OwotICAgIGZ1bmN0aW9uIGNhbGxiYWNrSW50ZXJmYWNlKGl0
KSB7Ci0gICAgICByZXR1cm4gYGNhbGxiYWNrICR7aW50ZXJmYWNlXyhpdCl9YDsKLSAgICB9Owot
Ci0gICAgY29uc3QgdGFibGUgPSB7Ci0gICAgICBpbnRlcmZhY2U6IGludGVyZmFjZV8sCi0gICAg
ICAiaW50ZXJmYWNlIG1peGluIjogaW50ZXJmYWNlX21peGluLAotICAgICAgbmFtZXNwYWNlLAot
ICAgICAgb3BlcmF0aW9uLAotICAgICAgYXR0cmlidXRlLAotICAgICAgZGljdGlvbmFyeSwKLSAg
ICAgIGZpZWxkLAotICAgICAgY29uc3Q6IGNvbnN0XywKLSAgICAgIHR5cGVkZWYsCi0gICAgICBp
bXBsZW1lbnRzOiBpbXBsZW1lbnRzXywKLSAgICAgIGluY2x1ZGVzLAotICAgICAgY2FsbGJhY2ss
Ci0gICAgICBlbnVtOiBlbnVtXywKLSAgICAgIGl0ZXJhYmxlLAotICAgICAgbGVnYWN5aXRlcmFi
bGUsCi0gICAgICBtYXBsaWtlLAotICAgICAgc2V0bGlrZSwKLSAgICAgICJjYWxsYmFjayBpbnRl
cmZhY2UiOiBjYWxsYmFja0ludGVyZmFjZQotICAgIH07Ci0gICAgZnVuY3Rpb24gZGlzcGF0Y2go
aXQpIHsKLSAgICAgIGNvbnN0IGRpc3BhdGNoZXIgPSB0YWJsZVtpdC50eXBlXTsKLSAgICAgIGlm
ICghZGlzcGF0Y2hlcikgewotICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFR5cGUgIiR7aXQudHlw
ZX0iIGlzIHVuc3VwcG9ydGVkYCkKLSAgICAgIH0KLSAgICAgIHJldHVybiB0YWJsZVtpdC50eXBl
XShpdCk7Ci0gICAgfTsKLSAgICBmdW5jdGlvbiBpdGVyYXRlKHRoaW5ncykgewotICAgICAgaWYg
KCF0aGluZ3MpIHJldHVybjsKLSAgICAgIGxldCByZXQgPSAiIjsKLSAgICAgIGZvciAoY29uc3Qg
dGhpbmcgb2YgdGhpbmdzKSByZXQgKz0gZGlzcGF0Y2godGhpbmcpOwotICAgICAgcmV0dXJuIHJl
dDsKLSAgICB9OwotICAgIHJldHVybiBpdGVyYXRlKGFzdCk7Ci0gIH07Ci0KLQotICBjb25zdCBv
YmogPSB7Ci0gICAgd3JpdGUKLSAgfTsKLQotICBpZiAodHlwZW9mIG1vZHVsZSAhPT0gJ3VuZGVm
aW5lZCcgJiYgdHlwZW9mIG1vZHVsZS5leHBvcnRzICE9PSAndW5kZWZpbmVkJykgewotICAgIG1v
ZHVsZS5leHBvcnRzID0gb2JqOwotICB9IGVsc2UgaWYgKHR5cGVvZiBkZWZpbmUgPT09ICdmdW5j
dGlvbicgJiYgZGVmaW5lLmFtZCkgewotICAgIGRlZmluZShbXSwgKCkgPT4gb2JqKTsKLSAgfSBl
bHNlIHsKLSAgICAoc2VsZiB8fCB3aW5kb3cpLldlYklETDJXcml0ZXIgPSBvYmo7Ci0gIH0KLX0p
KCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>384507</attachid>
            <date>2019-11-29 07:14:06 -0800</date>
            <delta_ts>2019-11-29 08:15:45 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-204652-20191129161348.patch</filename>
            <type>text/plain</type>
            <size>1826234</size>
            <attacher name="Alexey Shvayka">ashvayka</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUyOTM3CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpp
bmRleCA1MzIxMzUyMDQxYTA0ZTI0N2Q4N2U3NjUzYTUwYzg4MzVlMjM5ZGUzLi4yODFkMWU3Mzg2
ODZkNzdhNDQ5MGJkZjMyYTQ2ZDJhMTU0MWM0OWExIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAxOS0xMS0yOSAgQWxleGV5IFNodmF5a2EgIDxzaHZh
aWthbGVzaEBnbWFpbC5jb20+CisKKyAgICAgICAgUmUtc3luYyB3ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzIGZyb20gdXBzdHJlYW0KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIwNDY1MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIDEuIFJlLXN5bmMgd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcyBm
cm9tIHVwc3RyZWFtIGRlNjRkOWExMzQ1NS4KKyAgICAgICAgMi4gU2tpcCAid2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bSIgYXMgaXQgY29udGFpbnMgQ2hyb21pdW0tc3BlY2lm
aWMgaGFybmVzcyB3ZSBkb24ndCB1c2UuCisgICAgICAgIDMuIFNraXAgIndlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvdGVzdCIgYXMgaXQgY29udGFpbnMgaGFybmVzcyB0ZXN0cyB3ZSBkb24n
dCBydW4uCisKKyAgICAgICAgSW4gdG90YWwsIHRoaXMgcGF0Y2ggcmVtb3ZlcyB+MS41IE1CIG9m
IHVubmVlZGVkIGZpbGVzLgorCisgICAgICAgICogcmVzb3VyY2VzL2ltcG9ydC1leHBlY3RhdGlv
bnMuanNvbjoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzLyo6IFVwZGF0
ZWQuCisKIDIwMTktMTEtMjcgIE1hbnVlbCBSZWdvIENhc2Fzbm92YXMgIDxyZWdvQGlnYWxpYS5j
b20+CiAKICAgICAgICAgW2Nzcy1ncmlkXSBTZXJpYWxpemF0aW9uIG9mIGdyaWQtYXJlYSwgZ3Jp
ZC1yb3cgYW5kIGdyaWQtY29sdW1uIHNob3VsZCBpbmNsdWRlICIvIiBzZXBhcmF0b3IKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9yZXNvdXJjZXMvaW1wb3J0LWV4cGVjdGF0
aW9ucy5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3Jlc291cmNlcy9pbXBvcnQtZXhw
ZWN0YXRpb25zLmpzb24KaW5kZXggNWM1ZGNmMWE4NjQ5Njc2YmRmMDZkYTBhNjFjMjBkOGY4ZmIz
OTUzYi4uM2Y3ZGE5YTdlM2ZmZmU0MmU1YTcxYWMzYjNlMjAyNDc5MzRkMzYyYiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3Jlc291cmNlcy9pbXBvcnQtZXhwZWN0YXRpb25z
Lmpzb24KKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3Jlc291cmNlcy9pbXBvcnQtZXhw
ZWN0YXRpb25zLmpzb24KQEAgLTMzMCw2ICszMzAsOCBAQAogICAgICJ3ZWItcGxhdGZvcm0tdGVz
dHMvcmVzaXplLW9ic2VydmVyLyI6ICJpbXBvcnQiLCAKICAgICAid2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlLXRpbWluZyI6ICJpbXBvcnQiLCAKICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcyI6ICJpbXBvcnQiLCAKKyAgICAid2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9j
aHJvbWl1bSI6ICJza2lwIiwgCisgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVz
dCI6ICJza2lwIiwgCiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9zY3JlZW4tb3JpZW50YXRpb24i
OiAic2tpcCIsIAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvc2Nyb2xsLWFuY2hvcmluZyI6ICJz
a2lwIiwgCiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9zY3JvbGwtaW50by12aWV3IjogInNraXAi
LCAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL01FVEEueW1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvTUVUQS55bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGY5ODhmOTlhODJlMDk5
MWMyMGNiODE2YmU2Mzc4YTk3MzAyODczMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL01FVEEueW1sCkBAIC0w
LDAgKzEsMyBAQAorc3VnZ2VzdGVkX3Jldmlld2VyczoKKyAgLSBqZ3JhaGFtCisgIC0gZ3NuZWRk
ZXJzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy9PV05FUlMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy9PV05FUlMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDBiMTUwOWE5ZGI5ZWQ3ZGIxMDRkMmEyYTBhMDEzMzZhNTI1MTk4NTYuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvT1dORVJTCisrKyAvZGV2L251bGwKQEAgLTEs
MyArMCwwIEBACi1AamdyYWhhbQotQGdzbmVkZGVycwotQGF5ZwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hlY2stbGF5
b3V0LXRoLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvY2hlY2stbGF5b3V0LXRoLmpzCmluZGV4IDNmMjU3ZDRhYzI1MGU1ZjU5MmJkNDYz
ZmIyYTBkNmE5ZjBmYjBjOGUuLjkyOGIwY2YyYTEwNDFlY2I4MzFmYWRiNDQ5NDNlODkwN2EyOWI4
NzIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL2NoZWNrLWxheW91dC10aC5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaGVjay1sYXlvdXQtdGguanMKQEAg
LTE2MSwxNiArMTYxLDE2IEBAIGZ1bmN0aW9uIGNoZWNrRXhwZWN0ZWRWYWx1ZXModCwgbm9kZSwg
cHJlZml4KQogICAgIHJldHVybiBvdXRwdXQuY2hlY2tlZDsKIH0KIAotd2luZG93LmNoZWNrTGF5
b3V0ID0gZnVuY3Rpb24oc2VsZWN0b3JMaXN0LCBvdXRwdXRDb250YWluZXIpCit2YXIgdGVzdE51
bWJlciA9IDA7CisKK3dpbmRvdy5jaGVja0xheW91dCA9IGZ1bmN0aW9uKHNlbGVjdG9yTGlzdCwg
Y2FsbERvbmUgPSB0cnVlKQogewogICAgIGlmICghc2VsZWN0b3JMaXN0KSB7CiAgICAgICAgIGNv
bnNvbGUuZXJyb3IoIllvdSBtdXN0IHByb3ZpZGUgYSBDU1Mgc2VsZWN0b3Igb2Ygbm9kZXMgdG8g
Y2hlY2suIik7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAgICAgdmFyIG5vZGVzID0gZG9jdW1l
bnQucXVlcnlTZWxlY3RvckFsbChzZWxlY3Rvckxpc3QpOwotICAgIHZhciB0ZXN0TnVtYmVyID0g
MDsKICAgICBub2RlcyA9IEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKG5vZGVzKTsKLSAgICBu
b2Rlcy5yZXZlcnNlKCk7CiAgICAgdmFyIGNoZWNrZWRMYXlvdXQgPSBmYWxzZTsKICAgICBBcnJh
eS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKG5vZGVzLCBmdW5jdGlvbihub2RlKSB7CiAgICAgICAg
IHRlc3QoZnVuY3Rpb24odCkgewpAQCAtMTg5LDcgKzE4OSw4IEBAIHdpbmRvdy5jaGVja0xheW91
dCA9IGZ1bmN0aW9uKHNlbGVjdG9yTGlzdCwgb3V0cHV0Q29udGFpbmVyKQogICAgIGlmICghY2hl
Y2tlZExheW91dCkgewogICAgICAgICBjb25zb2xlLmVycm9yKCJObyB2YWxpZCBkYXRhLSogYXR0
cmlidXRlcyBmb3VuZCBpbiBzZWxlY3RvciBsaXN0IDogIiArIHNlbGVjdG9yTGlzdCk7CiAgICAg
fQotICAgIGRvbmUoKTsKKyAgICBpZiAoY2FsbERvbmUpCisgICAgICAgIGRvbmUoKTsKIH07CiAK
IH0pKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS9SRUFETUUubWQgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS9SRUFETUUubWQKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGI1M2M2YThjNDIzMmRiZTljNzg3YjBlYTE3ZjBl
ZDFhNDlmMWUzODYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
Y2hyb21pdW0vUkVBRE1FLm1kCisrKyAvZGV2L251bGwKQEAgLTEsNCArMCwwIEBACi1UaGlzIGRp
cmVjdG9yeSBjb250YWlucyBDaHJvbWl1bS1zcGVjaWZpYyB0ZXN0IHJlc291cmNlcy4KLQotVGhl
IGZpbGVzIGBtb2pvX2JpbmRpbmdzLmpzYCBhbmQgYCoubW9qb20uanNgIGFyZSBtYW51YWxseSBj
b3BpZWQgZnJvbSB0aGUKLUNocm9taXVtIGJ1aWxkIHByb2Nlc3MncyBnZW5lcmF0ZWQgZmlsZXMg
YW5kIHNob3VsZCBub3QgYmUgZWRpdGVkIG1hbnVhbGx5LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vY2hv
b3Nlcl9zZXJ2aWNlLm1vam9tLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vY2hvb3Nlcl9zZXJ2aWNlLm1vam9tLmpzCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzMGJiYTRiYWFkOWJiODg5MTNkNGIzOWVjNTQ1
ZWI5MzZhOTY4ZjRjLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L2Nocm9taXVtL2Nob29zZXJfc2VydmljZS5tb2pvbS5qcworKysgL2Rldi9udWxsCkBAIC0xLDI3
OSArMCwwIEBACi0vLyBDb3B5cmlnaHQgMjAxNCBUaGUgQ2hyb21pdW0gQXV0aG9ycy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KLS8vIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5
IGEgQlNELXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKLS8vIGZvdW5kIGluIHRoZSBMSUNFTlNF
IGZpbGUuCi0KLQotJ3VzZSBzdHJpY3QnOwotCi0oZnVuY3Rpb24oKSB7Ci0gIHZhciBtb2pvbUlk
ID0gJ2RldmljZS91c2IvcHVibGljL2ludGVyZmFjZXMvY2hvb3Nlcl9zZXJ2aWNlLm1vam9tJzsK
LSAgaWYgKG1vam8uaW50ZXJuYWwuaXNNb2pvbUxvYWRlZChtb2pvbUlkKSkgewotICAgIGNvbnNv
bGUud2FybignVGhlIGZvbGxvd2luZyBtb2pvbSBpcyBsb2FkZWQgbXVsdGlwbGUgdGltZXM6ICcg
KyBtb2pvbUlkKTsKLSAgICByZXR1cm47Ci0gIH0KLSAgbW9qby5pbnRlcm5hbC5tYXJrTW9qb21M
b2FkZWQobW9qb21JZCk7Ci0KLSAgLy8gVE9ETyh5enNoZW4pOiBEZWZpbmUgdGhlc2UgYWxpYXNl
cyB0byBtaW5pbWl6ZSB0aGUgZGlmZmVyZW5jZXMgYmV0d2VlbiB0aGUKLSAgLy8gb2xkL25ldyBt
b2Rlcy4gUmVtb3ZlIHRoZW0gd2hlbiB0aGUgb2xkIG1vZGUgZ29lcyBhd2F5LgotICB2YXIgYmlu
ZGluZ3MgPSBtb2pvOwotICB2YXIgYXNzb2NpYXRlZEJpbmRpbmdzID0gbW9qbzsKLSAgdmFyIGNv
ZGVjID0gbW9qby5pbnRlcm5hbDsKLSAgdmFyIHZhbGlkYXRvciA9IG1vam8uaW50ZXJuYWw7Ci0K
LSAgdmFyIGV4cG9ydHMgPSBtb2pvLmludGVybmFsLmV4cG9zZU5hbWVzcGFjZSgnZGV2aWNlLm1v
am9tJyk7Ci0gIHZhciBkZXZpY2UkID0KLSAgICAgIG1vam8uaW50ZXJuYWwuZXhwb3NlTmFtZXNw
YWNlKCdkZXZpY2UubW9qb20nKTsKLSAgaWYgKG1vam8uY29uZmlnLmF1dG9Mb2FkTW9qb21EZXBz
KSB7Ci0gICAgbW9qby5pbnRlcm5hbC5sb2FkTW9qb21JZk5lY2Vzc2FyeSgKLSAgICAgICAgJ2Rl
dmljZS91c2IvcHVibGljL2ludGVyZmFjZXMvZGV2aWNlLm1vam9tJywgJ2RldmljZS5tb2pvbS5q
cycpOwotICB9Ci0gIHZhciBkZXZpY2VfbWFuYWdlciQgPQotICAgICAgbW9qby5pbnRlcm5hbC5l
eHBvc2VOYW1lc3BhY2UoJ2RldmljZS5tb2pvbScpOwotICBpZiAobW9qby5jb25maWcuYXV0b0xv
YWRNb2pvbURlcHMpIHsKLSAgICBtb2pvLmludGVybmFsLmxvYWRNb2pvbUlmTmVjZXNzYXJ5KAot
ICAgICAgICAnZGV2aWNlL3VzYi9wdWJsaWMvaW50ZXJmYWNlcy9kZXZpY2VfbWFuYWdlci5tb2pv
bScsICdkZXZpY2VfbWFuYWdlci5tb2pvbS5qcycpOwotICB9Ci0KLQotCi0gIGZ1bmN0aW9uIFVz
YkNob29zZXJTZXJ2aWNlX0dldFBlcm1pc3Npb25fUGFyYW1zKHZhbHVlcykgewotICAgIHRoaXMu
aW5pdERlZmF1bHRzXygpOwotICAgIHRoaXMuaW5pdEZpZWxkc18odmFsdWVzKTsKLSAgfQotCi0K
LSAgVXNiQ2hvb3NlclNlcnZpY2VfR2V0UGVybWlzc2lvbl9QYXJhbXMucHJvdG90eXBlLmluaXRE
ZWZhdWx0c18gPSBmdW5jdGlvbigpIHsKLSAgICB0aGlzLmRldmljZUZpbHRlcnMgPSBudWxsOwot
ICB9OwotICBVc2JDaG9vc2VyU2VydmljZV9HZXRQZXJtaXNzaW9uX1BhcmFtcy5wcm90b3R5cGUu
aW5pdEZpZWxkc18gPSBmdW5jdGlvbihmaWVsZHMpIHsKLSAgICBmb3IodmFyIGZpZWxkIGluIGZp
ZWxkcykgewotICAgICAgICBpZiAodGhpcy5oYXNPd25Qcm9wZXJ0eShmaWVsZCkpCi0gICAgICAg
ICAgdGhpc1tmaWVsZF0gPSBmaWVsZHNbZmllbGRdOwotICAgIH0KLSAgfTsKLQotICBVc2JDaG9v
c2VyU2VydmljZV9HZXRQZXJtaXNzaW9uX1BhcmFtcy52YWxpZGF0ZSA9IGZ1bmN0aW9uKG1lc3Nh
Z2VWYWxpZGF0b3IsIG9mZnNldCkgewotICAgIHZhciBlcnI7Ci0gICAgZXJyID0gbWVzc2FnZVZh
bGlkYXRvci52YWxpZGF0ZVN0cnVjdEhlYWRlcihvZmZzZXQsIGNvZGVjLmtTdHJ1Y3RIZWFkZXJT
aXplKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0g
ICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICB2YXIga1ZlcnNpb25TaXplcyA9IFsKLSAgICAgIHt2
ZXJzaW9uOiAwLCBudW1CeXRlczogMTZ9Ci0gICAgXTsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRh
dG9yLnZhbGlkYXRlU3RydWN0VmVyc2lvbihvZmZzZXQsIGtWZXJzaW9uU2l6ZXMpOwotICAgIGlm
IChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJu
IGVycjsKLQotCi0gICAgCi0gICAgLy8gdmFsaWRhdGUgVXNiQ2hvb3NlclNlcnZpY2VfR2V0UGVy
bWlzc2lvbl9QYXJhbXMuZGV2aWNlRmlsdGVycwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3Iu
dmFsaWRhdGVBcnJheVBvaW50ZXIob2Zmc2V0ICsgY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyAw
LCA4LCBuZXcgY29kZWMuUG9pbnRlclRvKGRldmljZV9tYW5hZ2VyJC5Vc2JEZXZpY2VGaWx0ZXIp
LCBmYWxzZSwgWzBdLCAwKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVy
cm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICByZXR1cm4gdmFsaWRhdG9yLnZh
bGlkYXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIFVzYkNob29zZXJTZXJ2aWNlX0dldFBlcm1p
c3Npb25fUGFyYW1zLmVuY29kZWRTaXplID0gY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyA4Owot
Ci0gIFVzYkNob29zZXJTZXJ2aWNlX0dldFBlcm1pc3Npb25fUGFyYW1zLmRlY29kZSA9IGZ1bmN0
aW9uKGRlY29kZXIpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIHZhciB2YWwgPSBuZXcgVXNiQ2hv
b3NlclNlcnZpY2VfR2V0UGVybWlzc2lvbl9QYXJhbXMoKTsKLSAgICB2YXIgbnVtYmVyT2ZCeXRl
cyA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhciB2ZXJzaW9uID0gZGVjb2Rlci5yZWFk
VWludDMyKCk7Ci0gICAgdmFsLmRldmljZUZpbHRlcnMgPSBkZWNvZGVyLmRlY29kZUFycmF5UG9p
bnRlcihuZXcgY29kZWMuUG9pbnRlclRvKGRldmljZV9tYW5hZ2VyJC5Vc2JEZXZpY2VGaWx0ZXIp
KTsKLSAgICByZXR1cm4gdmFsOwotICB9OwotCi0gIFVzYkNob29zZXJTZXJ2aWNlX0dldFBlcm1p
c3Npb25fUGFyYW1zLmVuY29kZSA9IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgIHZhciBw
YWNrZWQ7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMihVc2JDaG9vc2VyU2VydmljZV9HZXRQZXJt
aXNzaW9uX1BhcmFtcy5lbmNvZGVkU2l6ZSk7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMigwKTsK
LSAgICBlbmNvZGVyLmVuY29kZUFycmF5UG9pbnRlcihuZXcgY29kZWMuUG9pbnRlclRvKGRldmlj
ZV9tYW5hZ2VyJC5Vc2JEZXZpY2VGaWx0ZXIpLCB2YWwuZGV2aWNlRmlsdGVycyk7Ci0gIH07Ci0g
IGZ1bmN0aW9uIFVzYkNob29zZXJTZXJ2aWNlX0dldFBlcm1pc3Npb25fUmVzcG9uc2VQYXJhbXMo
dmFsdWVzKSB7Ci0gICAgdGhpcy5pbml0RGVmYXVsdHNfKCk7Ci0gICAgdGhpcy5pbml0RmllbGRz
Xyh2YWx1ZXMpOwotICB9Ci0KLQotICBVc2JDaG9vc2VyU2VydmljZV9HZXRQZXJtaXNzaW9uX1Jl
c3BvbnNlUGFyYW1zLnByb3RvdHlwZS5pbml0RGVmYXVsdHNfID0gZnVuY3Rpb24oKSB7Ci0gICAg
dGhpcy5yZXN1bHQgPSBudWxsOwotICB9OwotICBVc2JDaG9vc2VyU2VydmljZV9HZXRQZXJtaXNz
aW9uX1Jlc3BvbnNlUGFyYW1zLnByb3RvdHlwZS5pbml0RmllbGRzXyA9IGZ1bmN0aW9uKGZpZWxk
cykgewotICAgIGZvcih2YXIgZmllbGQgaW4gZmllbGRzKSB7Ci0gICAgICAgIGlmICh0aGlzLmhh
c093blByb3BlcnR5KGZpZWxkKSkKLSAgICAgICAgICB0aGlzW2ZpZWxkXSA9IGZpZWxkc1tmaWVs
ZF07Ci0gICAgfQotICB9OwotCi0gIFVzYkNob29zZXJTZXJ2aWNlX0dldFBlcm1pc3Npb25fUmVz
cG9uc2VQYXJhbXMudmFsaWRhdGUgPSBmdW5jdGlvbihtZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQp
IHsKLSAgICB2YXIgZXJyOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1
Y3RIZWFkZXIob2Zmc2V0LCBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVyciAh
PT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwot
Ci0gICAgdmFyIGtWZXJzaW9uU2l6ZXMgPSBbCi0gICAgICB7dmVyc2lvbjogMCwgbnVtQnl0ZXM6
IDE2fQotICAgIF07Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFZl
cnNpb24ob2Zmc2V0LCBrVmVyc2lvblNpemVzKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3Iu
dmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotICAgIAotICAg
IC8vIHZhbGlkYXRlIFVzYkNob29zZXJTZXJ2aWNlX0dldFBlcm1pc3Npb25fUmVzcG9uc2VQYXJh
bXMucmVzdWx0Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFBvaW50
ZXIob2Zmc2V0ICsgY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyAwLCBkZXZpY2UkLlVzYkRldmlj
ZUluZm8sIHRydWUpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3Iu
Tk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRh
dGlvbkVycm9yLk5PTkU7Ci0gIH07Ci0KLSAgVXNiQ2hvb3NlclNlcnZpY2VfR2V0UGVybWlzc2lv
bl9SZXNwb25zZVBhcmFtcy5lbmNvZGVkU2l6ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsg
ODsKLQotICBVc2JDaG9vc2VyU2VydmljZV9HZXRQZXJtaXNzaW9uX1Jlc3BvbnNlUGFyYW1zLmRl
Y29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIHZhciB2YWwg
PSBuZXcgVXNiQ2hvb3NlclNlcnZpY2VfR2V0UGVybWlzc2lvbl9SZXNwb25zZVBhcmFtcygpOwot
ICAgIHZhciBudW1iZXJPZkJ5dGVzID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFyIHZl
cnNpb24gPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YWwucmVzdWx0ID0gZGVjb2Rlci5k
ZWNvZGVTdHJ1Y3RQb2ludGVyKGRldmljZSQuVXNiRGV2aWNlSW5mbyk7Ci0gICAgcmV0dXJuIHZh
bDsKLSAgfTsKLQotICBVc2JDaG9vc2VyU2VydmljZV9HZXRQZXJtaXNzaW9uX1Jlc3BvbnNlUGFy
YW1zLmVuY29kZSA9IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgIHZhciBwYWNrZWQ7Ci0g
ICAgZW5jb2Rlci53cml0ZVVpbnQzMihVc2JDaG9vc2VyU2VydmljZV9HZXRQZXJtaXNzaW9uX1Jl
c3BvbnNlUGFyYW1zLmVuY29kZWRTaXplKTsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKDApOwot
ICAgIGVuY29kZXIuZW5jb2RlU3RydWN0UG9pbnRlcihkZXZpY2UkLlVzYkRldmljZUluZm8sIHZh
bC5yZXN1bHQpOwotICB9OwotICB2YXIga1VzYkNob29zZXJTZXJ2aWNlX0dldFBlcm1pc3Npb25f
TmFtZSA9IDA7Ci0KLSAgZnVuY3Rpb24gVXNiQ2hvb3NlclNlcnZpY2VQdHIoaGFuZGxlT3JQdHJJ
bmZvKSB7Ci0gICAgdGhpcy5wdHIgPSBuZXcgYmluZGluZ3MuSW50ZXJmYWNlUHRyQ29udHJvbGxl
cihVc2JDaG9vc2VyU2VydmljZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGhhbmRsZU9yUHRySW5mbyk7Ci0gIH0KLQotICBmdW5jdGlvbiBVc2JD
aG9vc2VyU2VydmljZUFzc29jaWF0ZWRQdHIoYXNzb2NpYXRlZEludGVyZmFjZVB0ckluZm8pIHsK
LSAgICB0aGlzLnB0ciA9IG5ldyBhc3NvY2lhdGVkQmluZGluZ3MuQXNzb2NpYXRlZEludGVyZmFj
ZVB0ckNvbnRyb2xsZXIoCi0gICAgICAgIFVzYkNob29zZXJTZXJ2aWNlLCBhc3NvY2lhdGVkSW50
ZXJmYWNlUHRySW5mbyk7Ci0gIH0KLQotICBVc2JDaG9vc2VyU2VydmljZUFzc29jaWF0ZWRQdHIu
cHJvdG90eXBlID0KLSAgICAgIE9iamVjdC5jcmVhdGUoVXNiQ2hvb3NlclNlcnZpY2VQdHIucHJv
dG90eXBlKTsKLSAgVXNiQ2hvb3NlclNlcnZpY2VBc3NvY2lhdGVkUHRyLnByb3RvdHlwZS5jb25z
dHJ1Y3RvciA9Ci0gICAgICBVc2JDaG9vc2VyU2VydmljZUFzc29jaWF0ZWRQdHI7Ci0KLSAgZnVu
Y3Rpb24gVXNiQ2hvb3NlclNlcnZpY2VQcm94eShyZWNlaXZlcikgewotICAgIHRoaXMucmVjZWl2
ZXJfID0gcmVjZWl2ZXI7Ci0gIH0KLSAgVXNiQ2hvb3NlclNlcnZpY2VQdHIucHJvdG90eXBlLmdl
dFBlcm1pc3Npb24gPSBmdW5jdGlvbigpIHsKLSAgICByZXR1cm4gVXNiQ2hvb3NlclNlcnZpY2VQ
cm94eS5wcm90b3R5cGUuZ2V0UGVybWlzc2lvbgotICAgICAgICAuYXBwbHkodGhpcy5wdHIuZ2V0
UHJveHkoKSwgYXJndW1lbnRzKTsKLSAgfTsKLQotICBVc2JDaG9vc2VyU2VydmljZVByb3h5LnBy
b3RvdHlwZS5nZXRQZXJtaXNzaW9uID0gZnVuY3Rpb24oZGV2aWNlRmlsdGVycykgewotICAgIHZh
ciBwYXJhbXMgPSBuZXcgVXNiQ2hvb3NlclNlcnZpY2VfR2V0UGVybWlzc2lvbl9QYXJhbXMoKTsK
LSAgICBwYXJhbXMuZGV2aWNlRmlsdGVycyA9IGRldmljZUZpbHRlcnM7Ci0gICAgcmV0dXJuIG5l
dyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewotICAgICAgdmFyIGJ1aWxkZXIg
PSBuZXcgY29kZWMuTWVzc2FnZVYxQnVpbGRlcigKLSAgICAgICAgICBrVXNiQ2hvb3NlclNlcnZp
Y2VfR2V0UGVybWlzc2lvbl9OYW1lLAotICAgICAgICAgIGNvZGVjLmFsaWduKFVzYkNob29zZXJT
ZXJ2aWNlX0dldFBlcm1pc3Npb25fUGFyYW1zLmVuY29kZWRTaXplKSwKLSAgICAgICAgICBjb2Rl
Yy5rTWVzc2FnZUV4cGVjdHNSZXNwb25zZSwgMCk7Ci0gICAgICBidWlsZGVyLmVuY29kZVN0cnVj
dChVc2JDaG9vc2VyU2VydmljZV9HZXRQZXJtaXNzaW9uX1BhcmFtcywgcGFyYW1zKTsKLSAgICAg
IHZhciBtZXNzYWdlID0gYnVpbGRlci5maW5pc2goKTsKLSAgICAgIHRoaXMucmVjZWl2ZXJfLmFj
Y2VwdEFuZEV4cGVjdFJlc3BvbnNlKG1lc3NhZ2UpLnRoZW4oZnVuY3Rpb24obWVzc2FnZSkgewot
ICAgICAgICB2YXIgcmVhZGVyID0gbmV3IGNvZGVjLk1lc3NhZ2VSZWFkZXIobWVzc2FnZSk7Ci0g
ICAgICAgIHZhciByZXNwb25zZVBhcmFtcyA9Ci0gICAgICAgICAgICByZWFkZXIuZGVjb2RlU3Ry
dWN0KFVzYkNob29zZXJTZXJ2aWNlX0dldFBlcm1pc3Npb25fUmVzcG9uc2VQYXJhbXMpOwotICAg
ICAgICByZXNvbHZlKHJlc3BvbnNlUGFyYW1zKTsKLSAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uKHJl
c3VsdCkgewotICAgICAgICByZWplY3QoRXJyb3IoIkNvbm5lY3Rpb24gZXJyb3I6ICIgKyByZXN1
bHQpKTsKLSAgICAgIH0pOwotICAgIH0uYmluZCh0aGlzKSk7Ci0gIH07Ci0KLSAgZnVuY3Rpb24g
VXNiQ2hvb3NlclNlcnZpY2VTdHViKGRlbGVnYXRlKSB7Ci0gICAgdGhpcy5kZWxlZ2F0ZV8gPSBk
ZWxlZ2F0ZTsKLSAgfQotICBVc2JDaG9vc2VyU2VydmljZVN0dWIucHJvdG90eXBlLmdldFBlcm1p
c3Npb24gPSBmdW5jdGlvbihkZXZpY2VGaWx0ZXJzKSB7Ci0gICAgcmV0dXJuIHRoaXMuZGVsZWdh
dGVfICYmIHRoaXMuZGVsZWdhdGVfLmdldFBlcm1pc3Npb24gJiYgdGhpcy5kZWxlZ2F0ZV8uZ2V0
UGVybWlzc2lvbihkZXZpY2VGaWx0ZXJzKTsKLSAgfQotCi0gIFVzYkNob29zZXJTZXJ2aWNlU3R1
Yi5wcm90b3R5cGUuYWNjZXB0ID0gZnVuY3Rpb24obWVzc2FnZSkgewotICAgIHZhciByZWFkZXIg
PSBuZXcgY29kZWMuTWVzc2FnZVJlYWRlcihtZXNzYWdlKTsKLSAgICBzd2l0Y2ggKHJlYWRlci5t
ZXNzYWdlTmFtZSkgewotICAgIGRlZmF1bHQ6Ci0gICAgICByZXR1cm4gZmFsc2U7Ci0gICAgfQot
ICB9OwotCi0gIFVzYkNob29zZXJTZXJ2aWNlU3R1Yi5wcm90b3R5cGUuYWNjZXB0V2l0aFJlc3Bv
bmRlciA9Ci0gICAgICBmdW5jdGlvbihtZXNzYWdlLCByZXNwb25kZXIpIHsKLSAgICB2YXIgcmVh
ZGVyID0gbmV3IGNvZGVjLk1lc3NhZ2VSZWFkZXIobWVzc2FnZSk7Ci0gICAgc3dpdGNoIChyZWFk
ZXIubWVzc2FnZU5hbWUpIHsKLSAgICBjYXNlIGtVc2JDaG9vc2VyU2VydmljZV9HZXRQZXJtaXNz
aW9uX05hbWU6Ci0gICAgICB2YXIgcGFyYW1zID0gcmVhZGVyLmRlY29kZVN0cnVjdChVc2JDaG9v
c2VyU2VydmljZV9HZXRQZXJtaXNzaW9uX1BhcmFtcyk7Ci0gICAgICB0aGlzLmdldFBlcm1pc3Np
b24ocGFyYW1zLmRldmljZUZpbHRlcnMpLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICAg
ICAgdmFyIHJlc3BvbnNlUGFyYW1zID0KLSAgICAgICAgICAgIG5ldyBVc2JDaG9vc2VyU2Vydmlj
ZV9HZXRQZXJtaXNzaW9uX1Jlc3BvbnNlUGFyYW1zKCk7Ci0gICAgICAgIHJlc3BvbnNlUGFyYW1z
LnJlc3VsdCA9IHJlc3BvbnNlLnJlc3VsdDsKLSAgICAgICAgdmFyIGJ1aWxkZXIgPSBuZXcgY29k
ZWMuTWVzc2FnZVYxQnVpbGRlcigKLSAgICAgICAgICAgIGtVc2JDaG9vc2VyU2VydmljZV9HZXRQ
ZXJtaXNzaW9uX05hbWUsCi0gICAgICAgICAgICBjb2RlYy5hbGlnbihVc2JDaG9vc2VyU2Vydmlj
ZV9HZXRQZXJtaXNzaW9uX1Jlc3BvbnNlUGFyYW1zLmVuY29kZWRTaXplKSwKLSAgICAgICAgICAg
IGNvZGVjLmtNZXNzYWdlSXNSZXNwb25zZSwgcmVhZGVyLnJlcXVlc3RJRCk7Ci0gICAgICAgIGJ1
aWxkZXIuZW5jb2RlU3RydWN0KFVzYkNob29zZXJTZXJ2aWNlX0dldFBlcm1pc3Npb25fUmVzcG9u
c2VQYXJhbXMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlUGFyYW1zKTsK
LSAgICAgICAgdmFyIG1lc3NhZ2UgPSBidWlsZGVyLmZpbmlzaCgpOwotICAgICAgICByZXNwb25k
ZXIuYWNjZXB0KG1lc3NhZ2UpOwotICAgICAgfSk7Ci0gICAgICByZXR1cm4gdHJ1ZTsKLSAgICBk
ZWZhdWx0OgotICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0KLSAgfTsKLQotICBmdW5jdGlvbiB2
YWxpZGF0ZVVzYkNob29zZXJTZXJ2aWNlUmVxdWVzdChtZXNzYWdlVmFsaWRhdG9yKSB7Ci0gICAg
dmFyIG1lc3NhZ2UgPSBtZXNzYWdlVmFsaWRhdG9yLm1lc3NhZ2U7Ci0gICAgdmFyIHBhcmFtc0Ns
YXNzID0gbnVsbDsKLSAgICBzd2l0Y2ggKG1lc3NhZ2UuZ2V0TmFtZSgpKSB7Ci0gICAgICBjYXNl
IGtVc2JDaG9vc2VyU2VydmljZV9HZXRQZXJtaXNzaW9uX05hbWU6Ci0gICAgICAgIGlmIChtZXNz
YWdlLmV4cGVjdHNSZXNwb25zZSgpKQotICAgICAgICAgIHBhcmFtc0NsYXNzID0gVXNiQ2hvb3Nl
clNlcnZpY2VfR2V0UGVybWlzc2lvbl9QYXJhbXM7Ci0gICAgICBicmVhazsKLSAgICB9Ci0gICAg
aWYgKHBhcmFtc0NsYXNzID09PSBudWxsKQotICAgICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0
aW9uRXJyb3IuTk9ORTsKLSAgICByZXR1cm4gcGFyYW1zQ2xhc3MudmFsaWRhdGUobWVzc2FnZVZh
bGlkYXRvciwgbWVzc2FnZVZhbGlkYXRvci5tZXNzYWdlLmdldEhlYWRlck51bUJ5dGVzKCkpOwot
ICB9Ci0KLSAgZnVuY3Rpb24gdmFsaWRhdGVVc2JDaG9vc2VyU2VydmljZVJlc3BvbnNlKG1lc3Nh
Z2VWYWxpZGF0b3IpIHsKLSAgIHZhciBtZXNzYWdlID0gbWVzc2FnZVZhbGlkYXRvci5tZXNzYWdl
OwotICAgdmFyIHBhcmFtc0NsYXNzID0gbnVsbDsKLSAgIHN3aXRjaCAobWVzc2FnZS5nZXROYW1l
KCkpIHsKLSAgICAgIGNhc2Uga1VzYkNob29zZXJTZXJ2aWNlX0dldFBlcm1pc3Npb25fTmFtZToK
LSAgICAgICAgaWYgKG1lc3NhZ2UuaXNSZXNwb25zZSgpKQotICAgICAgICAgIHBhcmFtc0NsYXNz
ID0gVXNiQ2hvb3NlclNlcnZpY2VfR2V0UGVybWlzc2lvbl9SZXNwb25zZVBhcmFtczsKLSAgICAg
ICAgYnJlYWs7Ci0gICAgfQotICAgIGlmIChwYXJhbXNDbGFzcyA9PT0gbnVsbCkKLSAgICAgIHJl
dHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gICAgcmV0dXJuIHBhcmFtc0Ns
YXNzLnZhbGlkYXRlKG1lc3NhZ2VWYWxpZGF0b3IsIG1lc3NhZ2VWYWxpZGF0b3IubWVzc2FnZS5n
ZXRIZWFkZXJOdW1CeXRlcygpKTsKLSAgfQotCi0gIHZhciBVc2JDaG9vc2VyU2VydmljZSA9IHsK
LSAgICBuYW1lOiAnZGV2aWNlOjptb2pvbTo6VXNiQ2hvb3NlclNlcnZpY2UnLAotICAgIGtWZXJz
aW9uOiAwLAotICAgIHB0ckNsYXNzOiBVc2JDaG9vc2VyU2VydmljZVB0ciwKLSAgICBwcm94eUNs
YXNzOiBVc2JDaG9vc2VyU2VydmljZVByb3h5LAotICAgIHN0dWJDbGFzczogVXNiQ2hvb3NlclNl
cnZpY2VTdHViLAotICAgIHZhbGlkYXRlUmVxdWVzdDogdmFsaWRhdGVVc2JDaG9vc2VyU2Vydmlj
ZVJlcXVlc3QsCi0gICAgdmFsaWRhdGVSZXNwb25zZTogdmFsaWRhdGVVc2JDaG9vc2VyU2Vydmlj
ZVJlc3BvbnNlLAotICB9OwotICBVc2JDaG9vc2VyU2VydmljZVN0dWIucHJvdG90eXBlLnZhbGlk
YXRvciA9IHZhbGlkYXRlVXNiQ2hvb3NlclNlcnZpY2VSZXF1ZXN0OwotICBVc2JDaG9vc2VyU2Vy
dmljZVByb3h5LnByb3RvdHlwZS52YWxpZGF0b3IgPSB2YWxpZGF0ZVVzYkNob29zZXJTZXJ2aWNl
UmVzcG9uc2U7Ci0gIGV4cG9ydHMuVXNiQ2hvb3NlclNlcnZpY2UgPSBVc2JDaG9vc2VyU2Vydmlj
ZTsKLSAgZXhwb3J0cy5Vc2JDaG9vc2VyU2VydmljZVB0ciA9IFVzYkNob29zZXJTZXJ2aWNlUHRy
OwotICBleHBvcnRzLlVzYkNob29zZXJTZXJ2aWNlQXNzb2NpYXRlZFB0ciA9IFVzYkNob29zZXJT
ZXJ2aWNlQXNzb2NpYXRlZFB0cjsKLX0pKCk7ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvY2hyb21pdW0vY2hvb3Nlcl9zZXJ2aWNlLm1vam9tLmpzLmhlYWRlcnMgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1
bS9jaG9vc2VyX3NlcnZpY2UubW9qb20uanMuaGVhZGVycwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggNjgwNWMzMjNkZjVhOTc1MjMxNjQ4YjgzMGUzM2NlMTgzYzNjYmJkMy4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS9jaG9vc2VyX3Nl
cnZpY2UubW9qb20uanMuaGVhZGVycworKysgL2Rldi9udWxsCkBAIC0xICswLDAgQEAKLUNvbnRl
bnQtVHlwZTogdGV4dC9qYXZhc2NyaXB0OyBjaGFyc2V0PXV0Zi04CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1
bS9kZXZpY2UubW9qb20uanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS9kZXZpY2UubW9qb20uanMKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IGNlNTY2MGNkNTJlZGFlNjU3MWQyMmQzMTQzMGY0ZmUwYjVkMTY5N2Iu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vZGV2
aWNlLm1vam9tLmpzCisrKyAvZGV2L251bGwKQEAgLTEsMzQ2MCArMCwwIEBACi0vLyBDb3B5cmln
aHQgMjAxNCBUaGUgQ2hyb21pdW0gQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLS8vIFVz
ZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2Ug
dGhhdCBjYW4gYmUKLS8vIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCi0KLQotJ3VzZSBzdHJp
Y3QnOwotCi0oZnVuY3Rpb24oKSB7Ci0gIHZhciBtb2pvbUlkID0gJ2RldmljZS91c2IvcHVibGlj
L2ludGVyZmFjZXMvZGV2aWNlLm1vam9tJzsKLSAgaWYgKG1vam8uaW50ZXJuYWwuaXNNb2pvbUxv
YWRlZChtb2pvbUlkKSkgewotICAgIGNvbnNvbGUud2FybignVGhlIGZvbGxvd2luZyBtb2pvbSBp
cyBsb2FkZWQgbXVsdGlwbGUgdGltZXM6ICcgKyBtb2pvbUlkKTsKLSAgICByZXR1cm47Ci0gIH0K
LSAgbW9qby5pbnRlcm5hbC5tYXJrTW9qb21Mb2FkZWQobW9qb21JZCk7Ci0KLSAgLy8gVE9ETyh5
enNoZW4pOiBEZWZpbmUgdGhlc2UgYWxpYXNlcyB0byBtaW5pbWl6ZSB0aGUgZGlmZmVyZW5jZXMg
YmV0d2VlbiB0aGUKLSAgLy8gb2xkL25ldyBtb2Rlcy4gUmVtb3ZlIHRoZW0gd2hlbiB0aGUgb2xk
IG1vZGUgZ29lcyBhd2F5LgotICB2YXIgYmluZGluZ3MgPSBtb2pvOwotICB2YXIgYXNzb2NpYXRl
ZEJpbmRpbmdzID0gbW9qbzsKLSAgdmFyIGNvZGVjID0gbW9qby5pbnRlcm5hbDsKLSAgdmFyIHZh
bGlkYXRvciA9IG1vam8uaW50ZXJuYWw7Ci0KLSAgdmFyIGV4cG9ydHMgPSBtb2pvLmludGVybmFs
LmV4cG9zZU5hbWVzcGFjZSgnZGV2aWNlLm1vam9tJyk7Ci0gIHZhciBzdHJpbmcxNiQgPQotICAg
ICAgbW9qby5pbnRlcm5hbC5leHBvc2VOYW1lc3BhY2UoJ21vam8uY29tbW9uLm1vam9tJyk7Ci0g
IGlmIChtb2pvLmNvbmZpZy5hdXRvTG9hZE1vam9tRGVwcykgewotICAgIG1vam8uaW50ZXJuYWwu
bG9hZE1vam9tSWZOZWNlc3NhcnkoCi0gICAgICAgICdtb2pvL2NvbW1vbi9zdHJpbmcxNi5tb2pv
bScsICcuLi8uLi8uLi8uLi9tb2pvL2NvbW1vbi9zdHJpbmcxNi5tb2pvbS5qcycpOwotICB9Ci0K
LQotICB2YXIgVXNiT3BlbkRldmljZUVycm9yID0ge307Ci0gIFVzYk9wZW5EZXZpY2VFcnJvci5P
SyA9IDA7Ci0gIFVzYk9wZW5EZXZpY2VFcnJvci5BQ0NFU1NfREVOSUVEID0gVXNiT3BlbkRldmlj
ZUVycm9yLk9LICsgMTsKLSAgVXNiT3BlbkRldmljZUVycm9yLkFMUkVBRFlfT1BFTiA9IFVzYk9w
ZW5EZXZpY2VFcnJvci5BQ0NFU1NfREVOSUVEICsgMTsKLQotICBVc2JPcGVuRGV2aWNlRXJyb3Iu
aXNLbm93bkVudW1WYWx1ZSA9IGZ1bmN0aW9uKHZhbHVlKSB7Ci0gICAgc3dpdGNoICh2YWx1ZSkg
ewotICAgIGNhc2UgMDoKLSAgICBjYXNlIDE6Ci0gICAgY2FzZSAyOgotICAgICAgcmV0dXJuIHRy
dWU7Ci0gICAgfQotICAgIHJldHVybiBmYWxzZTsKLSAgfTsKLQotICBVc2JPcGVuRGV2aWNlRXJy
b3IudmFsaWRhdGUgPSBmdW5jdGlvbihlbnVtVmFsdWUpIHsKLSAgICB2YXIgaXNFeHRlbnNpYmxl
ID0gZmFsc2U7Ci0gICAgaWYgKGlzRXh0ZW5zaWJsZSB8fCB0aGlzLmlzS25vd25FbnVtVmFsdWUo
ZW51bVZhbHVlKSkKLSAgICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7
Ci0KLSAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5VTktOT1dOX0VOVU1fVkFM
VUU7Ci0gIH07Ci0gIHZhciBVc2JUcmFuc2ZlckRpcmVjdGlvbiA9IHt9OwotICBVc2JUcmFuc2Zl
ckRpcmVjdGlvbi5JTkJPVU5EID0gMDsKLSAgVXNiVHJhbnNmZXJEaXJlY3Rpb24uT1VUQk9VTkQg
PSBVc2JUcmFuc2ZlckRpcmVjdGlvbi5JTkJPVU5EICsgMTsKLQotICBVc2JUcmFuc2ZlckRpcmVj
dGlvbi5pc0tub3duRW51bVZhbHVlID0gZnVuY3Rpb24odmFsdWUpIHsKLSAgICBzd2l0Y2ggKHZh
bHVlKSB7Ci0gICAgY2FzZSAwOgotICAgIGNhc2UgMToKLSAgICAgIHJldHVybiB0cnVlOwotICAg
IH0KLSAgICByZXR1cm4gZmFsc2U7Ci0gIH07Ci0KLSAgVXNiVHJhbnNmZXJEaXJlY3Rpb24udmFs
aWRhdGUgPSBmdW5jdGlvbihlbnVtVmFsdWUpIHsKLSAgICB2YXIgaXNFeHRlbnNpYmxlID0gZmFs
c2U7Ci0gICAgaWYgKGlzRXh0ZW5zaWJsZSB8fCB0aGlzLmlzS25vd25FbnVtVmFsdWUoZW51bVZh
bHVlKSkKLSAgICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0KLSAg
ICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5VTktOT1dOX0VOVU1fVkFMVUU7Ci0g
IH07Ci0gIHZhciBVc2JDb250cm9sVHJhbnNmZXJUeXBlID0ge307Ci0gIFVzYkNvbnRyb2xUcmFu
c2ZlclR5cGUuU1RBTkRBUkQgPSAwOwotICBVc2JDb250cm9sVHJhbnNmZXJUeXBlLkNMQVNTID0g
VXNiQ29udHJvbFRyYW5zZmVyVHlwZS5TVEFOREFSRCArIDE7Ci0gIFVzYkNvbnRyb2xUcmFuc2Zl
clR5cGUuVkVORE9SID0gVXNiQ29udHJvbFRyYW5zZmVyVHlwZS5DTEFTUyArIDE7Ci0gIFVzYkNv
bnRyb2xUcmFuc2ZlclR5cGUuUkVTRVJWRUQgPSBVc2JDb250cm9sVHJhbnNmZXJUeXBlLlZFTkRP
UiArIDE7Ci0KLSAgVXNiQ29udHJvbFRyYW5zZmVyVHlwZS5pc0tub3duRW51bVZhbHVlID0gZnVu
Y3Rpb24odmFsdWUpIHsKLSAgICBzd2l0Y2ggKHZhbHVlKSB7Ci0gICAgY2FzZSAwOgotICAgIGNh
c2UgMToKLSAgICBjYXNlIDI6Ci0gICAgY2FzZSAzOgotICAgICAgcmV0dXJuIHRydWU7Ci0gICAg
fQotICAgIHJldHVybiBmYWxzZTsKLSAgfTsKLQotICBVc2JDb250cm9sVHJhbnNmZXJUeXBlLnZh
bGlkYXRlID0gZnVuY3Rpb24oZW51bVZhbHVlKSB7Ci0gICAgdmFyIGlzRXh0ZW5zaWJsZSA9IGZh
bHNlOwotICAgIGlmIChpc0V4dGVuc2libGUgfHwgdGhpcy5pc0tub3duRW51bVZhbHVlKGVudW1W
YWx1ZSkpCi0gICAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwotCi0g
ICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuVU5LTk9XTl9FTlVNX1ZBTFVFOwot
ICB9OwotICB2YXIgVXNiQ29udHJvbFRyYW5zZmVyUmVjaXBpZW50ID0ge307Ci0gIFVzYkNvbnRy
b2xUcmFuc2ZlclJlY2lwaWVudC5ERVZJQ0UgPSAwOwotICBVc2JDb250cm9sVHJhbnNmZXJSZWNp
cGllbnQuSU5URVJGQUNFID0gVXNiQ29udHJvbFRyYW5zZmVyUmVjaXBpZW50LkRFVklDRSArIDE7
Ci0gIFVzYkNvbnRyb2xUcmFuc2ZlclJlY2lwaWVudC5FTkRQT0lOVCA9IFVzYkNvbnRyb2xUcmFu
c2ZlclJlY2lwaWVudC5JTlRFUkZBQ0UgKyAxOwotICBVc2JDb250cm9sVHJhbnNmZXJSZWNpcGll
bnQuT1RIRVIgPSBVc2JDb250cm9sVHJhbnNmZXJSZWNpcGllbnQuRU5EUE9JTlQgKyAxOwotCi0g
IFVzYkNvbnRyb2xUcmFuc2ZlclJlY2lwaWVudC5pc0tub3duRW51bVZhbHVlID0gZnVuY3Rpb24o
dmFsdWUpIHsKLSAgICBzd2l0Y2ggKHZhbHVlKSB7Ci0gICAgY2FzZSAwOgotICAgIGNhc2UgMToK
LSAgICBjYXNlIDI6Ci0gICAgY2FzZSAzOgotICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfQotICAg
IHJldHVybiBmYWxzZTsKLSAgfTsKLQotICBVc2JDb250cm9sVHJhbnNmZXJSZWNpcGllbnQudmFs
aWRhdGUgPSBmdW5jdGlvbihlbnVtVmFsdWUpIHsKLSAgICB2YXIgaXNFeHRlbnNpYmxlID0gZmFs
c2U7Ci0gICAgaWYgKGlzRXh0ZW5zaWJsZSB8fCB0aGlzLmlzS25vd25FbnVtVmFsdWUoZW51bVZh
bHVlKSkKLSAgICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0KLSAg
ICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5VTktOT1dOX0VOVU1fVkFMVUU7Ci0g
IH07Ci0gIHZhciBVc2JUcmFuc2ZlclR5cGUgPSB7fTsKLSAgVXNiVHJhbnNmZXJUeXBlLkNPTlRS
T0wgPSAwOwotICBVc2JUcmFuc2ZlclR5cGUuSVNPQ0hST05PVVMgPSBVc2JUcmFuc2ZlclR5cGUu
Q09OVFJPTCArIDE7Ci0gIFVzYlRyYW5zZmVyVHlwZS5CVUxLID0gVXNiVHJhbnNmZXJUeXBlLklT
T0NIUk9OT1VTICsgMTsKLSAgVXNiVHJhbnNmZXJUeXBlLklOVEVSUlVQVCA9IFVzYlRyYW5zZmVy
VHlwZS5CVUxLICsgMTsKLQotICBVc2JUcmFuc2ZlclR5cGUuaXNLbm93bkVudW1WYWx1ZSA9IGZ1
bmN0aW9uKHZhbHVlKSB7Ci0gICAgc3dpdGNoICh2YWx1ZSkgewotICAgIGNhc2UgMDoKLSAgICBj
YXNlIDE6Ci0gICAgY2FzZSAyOgotICAgIGNhc2UgMzoKLSAgICAgIHJldHVybiB0cnVlOwotICAg
IH0KLSAgICByZXR1cm4gZmFsc2U7Ci0gIH07Ci0KLSAgVXNiVHJhbnNmZXJUeXBlLnZhbGlkYXRl
ID0gZnVuY3Rpb24oZW51bVZhbHVlKSB7Ci0gICAgdmFyIGlzRXh0ZW5zaWJsZSA9IGZhbHNlOwot
ICAgIGlmIChpc0V4dGVuc2libGUgfHwgdGhpcy5pc0tub3duRW51bVZhbHVlKGVudW1WYWx1ZSkp
Ci0gICAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwotCi0gICAgcmV0
dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuVU5LTk9XTl9FTlVNX1ZBTFVFOwotICB9Owot
ICB2YXIgVXNiVHJhbnNmZXJTdGF0dXMgPSB7fTsKLSAgVXNiVHJhbnNmZXJTdGF0dXMuQ09NUExF
VEVEID0gMDsKLSAgVXNiVHJhbnNmZXJTdGF0dXMuVFJBTlNGRVJfRVJST1IgPSBVc2JUcmFuc2Zl
clN0YXR1cy5DT01QTEVURUQgKyAxOwotICBVc2JUcmFuc2ZlclN0YXR1cy5USU1FT1VUID0gVXNi
VHJhbnNmZXJTdGF0dXMuVFJBTlNGRVJfRVJST1IgKyAxOwotICBVc2JUcmFuc2ZlclN0YXR1cy5D
QU5DRUxMRUQgPSBVc2JUcmFuc2ZlclN0YXR1cy5USU1FT1VUICsgMTsKLSAgVXNiVHJhbnNmZXJT
dGF0dXMuU1RBTExFRCA9IFVzYlRyYW5zZmVyU3RhdHVzLkNBTkNFTExFRCArIDE7Ci0gIFVzYlRy
YW5zZmVyU3RhdHVzLkRJU0NPTk5FQ1QgPSBVc2JUcmFuc2ZlclN0YXR1cy5TVEFMTEVEICsgMTsK
LSAgVXNiVHJhbnNmZXJTdGF0dXMuQkFCQkxFID0gVXNiVHJhbnNmZXJTdGF0dXMuRElTQ09OTkVD
VCArIDE7Ci0gIFVzYlRyYW5zZmVyU3RhdHVzLlNIT1JUX1BBQ0tFVCA9IFVzYlRyYW5zZmVyU3Rh
dHVzLkJBQkJMRSArIDE7Ci0gIFVzYlRyYW5zZmVyU3RhdHVzLlBFUk1JU1NJT05fREVOSUVEID0g
VXNiVHJhbnNmZXJTdGF0dXMuU0hPUlRfUEFDS0VUICsgMTsKLQotICBVc2JUcmFuc2ZlclN0YXR1
cy5pc0tub3duRW51bVZhbHVlID0gZnVuY3Rpb24odmFsdWUpIHsKLSAgICBzd2l0Y2ggKHZhbHVl
KSB7Ci0gICAgY2FzZSAwOgotICAgIGNhc2UgMToKLSAgICBjYXNlIDI6Ci0gICAgY2FzZSAzOgot
ICAgIGNhc2UgNDoKLSAgICBjYXNlIDU6Ci0gICAgY2FzZSA2OgotICAgIGNhc2UgNzoKLSAgICBj
YXNlIDg6Ci0gICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9Ci0gICAgcmV0dXJuIGZhbHNlOwotICB9
OwotCi0gIFVzYlRyYW5zZmVyU3RhdHVzLnZhbGlkYXRlID0gZnVuY3Rpb24oZW51bVZhbHVlKSB7
Ci0gICAgdmFyIGlzRXh0ZW5zaWJsZSA9IGZhbHNlOwotICAgIGlmIChpc0V4dGVuc2libGUgfHwg
dGhpcy5pc0tub3duRW51bVZhbHVlKGVudW1WYWx1ZSkpCi0gICAgICByZXR1cm4gdmFsaWRhdG9y
LnZhbGlkYXRpb25FcnJvci5OT05FOwotCi0gICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9u
RXJyb3IuVU5LTk9XTl9FTlVNX1ZBTFVFOwotICB9OwotCi0gIGZ1bmN0aW9uIFVzYkVuZHBvaW50
SW5mbyh2YWx1ZXMpIHsKLSAgICB0aGlzLmluaXREZWZhdWx0c18oKTsKLSAgICB0aGlzLmluaXRG
aWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0gIFVzYkVuZHBvaW50SW5mby5wcm90b3R5cGUuaW5p
dERlZmF1bHRzXyA9IGZ1bmN0aW9uKCkgewotICAgIHRoaXMuZW5kcG9pbnROdW1iZXIgPSAwOwot
ICAgIHRoaXMuZGlyZWN0aW9uID0gMDsKLSAgICB0aGlzLnR5cGUgPSAwOwotICAgIHRoaXMucGFj
a2V0U2l6ZSA9IDA7Ci0gIH07Ci0gIFVzYkVuZHBvaW50SW5mby5wcm90b3R5cGUuaW5pdEZpZWxk
c18gPSBmdW5jdGlvbihmaWVsZHMpIHsKLSAgICBmb3IodmFyIGZpZWxkIGluIGZpZWxkcykgewot
ICAgICAgICBpZiAodGhpcy5oYXNPd25Qcm9wZXJ0eShmaWVsZCkpCi0gICAgICAgICAgdGhpc1tm
aWVsZF0gPSBmaWVsZHNbZmllbGRdOwotICAgIH0KLSAgfTsKLQotICBVc2JFbmRwb2ludEluZm8u
dmFsaWRhdGUgPSBmdW5jdGlvbihtZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsKLSAgICB2YXIg
ZXJyOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RIZWFkZXIob2Zm
c2V0LCBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9y
LnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgdmFyIGtW
ZXJzaW9uU2l6ZXMgPSBbCi0gICAgICB7dmVyc2lvbjogMCwgbnVtQnl0ZXM6IDI0fQotICAgIF07
Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFZlcnNpb24ob2Zmc2V0
LCBrVmVyc2lvblNpemVzKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVy
cm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotCi0gICAgCi0gICAgLy8gdmFsaWRh
dGUgVXNiRW5kcG9pbnRJbmZvLmRpcmVjdGlvbgotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3Iu
dmFsaWRhdGVFbnVtKG9mZnNldCArIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgNCwgVXNiVHJh
bnNmZXJEaXJlY3Rpb24pOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJy
b3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0gICAgCi0gICAgLy8gdmFsaWRhdGUg
VXNiRW5kcG9pbnRJbmZvLnR5cGUKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRl
RW51bShvZmZzZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDgsIFVzYlRyYW5zZmVyVHlw
ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAg
ICAgICByZXR1cm4gZXJyOwotCi0KLSAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJv
ci5OT05FOwotICB9OwotCi0gIFVzYkVuZHBvaW50SW5mby5lbmNvZGVkU2l6ZSA9IGNvZGVjLmtT
dHJ1Y3RIZWFkZXJTaXplICsgMTY7Ci0KLSAgVXNiRW5kcG9pbnRJbmZvLmRlY29kZSA9IGZ1bmN0
aW9uKGRlY29kZXIpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIHZhciB2YWwgPSBuZXcgVXNiRW5k
cG9pbnRJbmZvKCk7Ci0gICAgdmFyIG51bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50MzIo
KTsKLSAgICB2YXIgdmVyc2lvbiA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhbC5lbmRw
b2ludE51bWJlciA9IGRlY29kZXIuZGVjb2RlU3RydWN0KGNvZGVjLlVpbnQ4KTsKLSAgICBkZWNv
ZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsK
LSAgICB2YWwuZGlyZWN0aW9uID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoY29kZWMuSW50MzIpOwot
ICAgIHZhbC50eXBlID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoY29kZWMuSW50MzIpOwotICAgIHZh
bC5wYWNrZXRTaXplID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoY29kZWMuVWludDMyKTsKLSAgICBy
ZXR1cm4gdmFsOwotICB9OwotCi0gIFVzYkVuZHBvaW50SW5mby5lbmNvZGUgPSBmdW5jdGlvbihl
bmNvZGVyLCB2YWwpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIo
VXNiRW5kcG9pbnRJbmZvLmVuY29kZWRTaXplKTsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKDAp
OwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNvZGVjLlVpbnQ4LCB2YWwuZW5kcG9pbnROdW1i
ZXIpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5j
b2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNvZGVjLkludDMyLCB2YWwu
ZGlyZWN0aW9uKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdChjb2RlYy5JbnQzMiwgdmFsLnR5
cGUpOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNvZGVjLlVpbnQzMiwgdmFsLnBhY2tldFNp
emUpOwotICB9OwotICBmdW5jdGlvbiBVc2JBbHRlcm5hdGVJbnRlcmZhY2VJbmZvKHZhbHVlcykg
ewotICAgIHRoaXMuaW5pdERlZmF1bHRzXygpOwotICAgIHRoaXMuaW5pdEZpZWxkc18odmFsdWVz
KTsKLSAgfQotCi0KLSAgVXNiQWx0ZXJuYXRlSW50ZXJmYWNlSW5mby5wcm90b3R5cGUuaW5pdERl
ZmF1bHRzXyA9IGZ1bmN0aW9uKCkgewotICAgIHRoaXMuYWx0ZXJuYXRlU2V0dGluZyA9IDA7Ci0g
ICAgdGhpcy5jbGFzc0NvZGUgPSAwOwotICAgIHRoaXMuc3ViY2xhc3NDb2RlID0gMDsKLSAgICB0
aGlzLnByb3RvY29sQ29kZSA9IDA7Ci0gICAgdGhpcy5pbnRlcmZhY2VOYW1lID0gbnVsbDsKLSAg
ICB0aGlzLmVuZHBvaW50cyA9IG51bGw7Ci0gIH07Ci0gIFVzYkFsdGVybmF0ZUludGVyZmFjZUlu
Zm8ucHJvdG90eXBlLmluaXRGaWVsZHNfID0gZnVuY3Rpb24oZmllbGRzKSB7Ci0gICAgZm9yKHZh
ciBmaWVsZCBpbiBmaWVsZHMpIHsKLSAgICAgICAgaWYgKHRoaXMuaGFzT3duUHJvcGVydHkoZmll
bGQpKQotICAgICAgICAgIHRoaXNbZmllbGRdID0gZmllbGRzW2ZpZWxkXTsKLSAgICB9Ci0gIH07
Ci0KLSAgVXNiQWx0ZXJuYXRlSW50ZXJmYWNlSW5mby52YWxpZGF0ZSA9IGZ1bmN0aW9uKG1lc3Nh
Z2VWYWxpZGF0b3IsIG9mZnNldCkgewotICAgIHZhciBlcnI7Ci0gICAgZXJyID0gbWVzc2FnZVZh
bGlkYXRvci52YWxpZGF0ZVN0cnVjdEhlYWRlcihvZmZzZXQsIGNvZGVjLmtTdHJ1Y3RIZWFkZXJT
aXplKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0g
ICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICB2YXIga1ZlcnNpb25TaXplcyA9IFsKLSAgICAgIHt2
ZXJzaW9uOiAwLCBudW1CeXRlczogMzJ9Ci0gICAgXTsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRh
dG9yLnZhbGlkYXRlU3RydWN0VmVyc2lvbihvZmZzZXQsIGtWZXJzaW9uU2l6ZXMpOwotICAgIGlm
IChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJu
IGVycjsKLQotCi0KLQotCi0KLSAgICAKLSAgICAvLyB2YWxpZGF0ZSBVc2JBbHRlcm5hdGVJbnRl
cmZhY2VJbmZvLmludGVyZmFjZU5hbWUKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlk
YXRlU3RydWN0UG9pbnRlcihvZmZzZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDgsIHN0
cmluZzE2JC5TdHJpbmcxNiwgdHJ1ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlk
YXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0KLSAgICAKLSAgICAvLyB2
YWxpZGF0ZSBVc2JBbHRlcm5hdGVJbnRlcmZhY2VJbmZvLmVuZHBvaW50cwotICAgIGVyciA9IG1l
c3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVBcnJheVBvaW50ZXIob2Zmc2V0ICsgY29kZWMua1N0cnVj
dEhlYWRlclNpemUgKyAxNiwgOCwgbmV3IGNvZGVjLlBvaW50ZXJUbyhVc2JFbmRwb2ludEluZm8p
LCBmYWxzZSwgWzBdLCAwKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVy
cm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICByZXR1cm4gdmFsaWRhdG9yLnZh
bGlkYXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIFVzYkFsdGVybmF0ZUludGVyZmFjZUluZm8u
ZW5jb2RlZFNpemUgPSBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDI0OwotCi0gIFVzYkFsdGVy
bmF0ZUludGVyZmFjZUluZm8uZGVjb2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHZhciBw
YWNrZWQ7Ci0gICAgdmFyIHZhbCA9IG5ldyBVc2JBbHRlcm5hdGVJbnRlcmZhY2VJbmZvKCk7Ci0g
ICAgdmFyIG51bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YXIgdmVy
c2lvbiA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhbC5hbHRlcm5hdGVTZXR0aW5nID0g
ZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoY29kZWMuVWludDgpOwotICAgIHZhbC5jbGFzc0NvZGUgPSBk
ZWNvZGVyLmRlY29kZVN0cnVjdChjb2RlYy5VaW50OCk7Ci0gICAgdmFsLnN1YmNsYXNzQ29kZSA9
IGRlY29kZXIuZGVjb2RlU3RydWN0KGNvZGVjLlVpbnQ4KTsKLSAgICB2YWwucHJvdG9jb2xDb2Rl
ID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoY29kZWMuVWludDgpOwotICAgIGRlY29kZXIuc2tpcCgx
KTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29k
ZXIuc2tpcCgxKTsKLSAgICB2YWwuaW50ZXJmYWNlTmFtZSA9IGRlY29kZXIuZGVjb2RlU3RydWN0
UG9pbnRlcihzdHJpbmcxNiQuU3RyaW5nMTYpOwotICAgIHZhbC5lbmRwb2ludHMgPSBkZWNvZGVy
LmRlY29kZUFycmF5UG9pbnRlcihuZXcgY29kZWMuUG9pbnRlclRvKFVzYkVuZHBvaW50SW5mbykp
OwotICAgIHJldHVybiB2YWw7Ci0gIH07Ci0KLSAgVXNiQWx0ZXJuYXRlSW50ZXJmYWNlSW5mby5l
bmNvZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2YWwpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIGVu
Y29kZXIud3JpdGVVaW50MzIoVXNiQWx0ZXJuYXRlSW50ZXJmYWNlSW5mby5lbmNvZGVkU2l6ZSk7
Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMigwKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdChj
b2RlYy5VaW50OCwgdmFsLmFsdGVybmF0ZVNldHRpbmcpOwotICAgIGVuY29kZXIuZW5jb2RlU3Ry
dWN0KGNvZGVjLlVpbnQ4LCB2YWwuY2xhc3NDb2RlKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVj
dChjb2RlYy5VaW50OCwgdmFsLnN1YmNsYXNzQ29kZSk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1
Y3QoY29kZWMuVWludDgsIHZhbC5wcm90b2NvbENvZGUpOwotICAgIGVuY29kZXIuc2tpcCgxKTsK
LSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIu
c2tpcCgxKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdFBvaW50ZXIoc3RyaW5nMTYkLlN0cmlu
ZzE2LCB2YWwuaW50ZXJmYWNlTmFtZSk7Ci0gICAgZW5jb2Rlci5lbmNvZGVBcnJheVBvaW50ZXIo
bmV3IGNvZGVjLlBvaW50ZXJUbyhVc2JFbmRwb2ludEluZm8pLCB2YWwuZW5kcG9pbnRzKTsKLSAg
fTsKLSAgZnVuY3Rpb24gVXNiSW50ZXJmYWNlSW5mbyh2YWx1ZXMpIHsKLSAgICB0aGlzLmluaXRE
ZWZhdWx0c18oKTsKLSAgICB0aGlzLmluaXRGaWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0gIFVz
YkludGVyZmFjZUluZm8ucHJvdG90eXBlLmluaXREZWZhdWx0c18gPSBmdW5jdGlvbigpIHsKLSAg
ICB0aGlzLmludGVyZmFjZU51bWJlciA9IDA7Ci0gICAgdGhpcy5hbHRlcm5hdGVzID0gbnVsbDsK
LSAgfTsKLSAgVXNiSW50ZXJmYWNlSW5mby5wcm90b3R5cGUuaW5pdEZpZWxkc18gPSBmdW5jdGlv
bihmaWVsZHMpIHsKLSAgICBmb3IodmFyIGZpZWxkIGluIGZpZWxkcykgewotICAgICAgICBpZiAo
dGhpcy5oYXNPd25Qcm9wZXJ0eShmaWVsZCkpCi0gICAgICAgICAgdGhpc1tmaWVsZF0gPSBmaWVs
ZHNbZmllbGRdOwotICAgIH0KLSAgfTsKLQotICBVc2JJbnRlcmZhY2VJbmZvLnZhbGlkYXRlID0g
ZnVuY3Rpb24obWVzc2FnZVZhbGlkYXRvciwgb2Zmc2V0KSB7Ci0gICAgdmFyIGVycjsKLSAgICBl
cnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0SGVhZGVyKG9mZnNldCwgY29kZWMu
a1N0cnVjdEhlYWRlclNpemUpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9u
RXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHZhciBrVmVyc2lvblNpemVz
ID0gWwotICAgICAge3ZlcnNpb246IDAsIG51bUJ5dGVzOiAyNH0KLSAgICBdOwotICAgIGVyciA9
IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RWZXJzaW9uKG9mZnNldCwga1ZlcnNpb25T
aXplcyk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQot
ICAgICAgICByZXR1cm4gZXJyOwotCi0KLQotICAgIAotICAgIC8vIHZhbGlkYXRlIFVzYkludGVy
ZmFjZUluZm8uYWx0ZXJuYXRlcwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVB
cnJheVBvaW50ZXIob2Zmc2V0ICsgY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyA4LCA4LCBuZXcg
Y29kZWMuUG9pbnRlclRvKFVzYkFsdGVybmF0ZUludGVyZmFjZUluZm8pLCBmYWxzZSwgWzBdLCAw
KTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAg
ICAgIHJldHVybiBlcnI7Ci0KLSAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5O
T05FOwotICB9OwotCi0gIFVzYkludGVyZmFjZUluZm8uZW5jb2RlZFNpemUgPSBjb2RlYy5rU3Ry
dWN0SGVhZGVyU2l6ZSArIDE2OwotCi0gIFVzYkludGVyZmFjZUluZm8uZGVjb2RlID0gZnVuY3Rp
b24oZGVjb2RlcikgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgdmFyIHZhbCA9IG5ldyBVc2JJbnRl
cmZhY2VJbmZvKCk7Ci0gICAgdmFyIG51bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50MzIo
KTsKLSAgICB2YXIgdmVyc2lvbiA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhbC5pbnRl
cmZhY2VOdW1iZXIgPSBkZWNvZGVyLmRlY29kZVN0cnVjdChjb2RlYy5VaW50OCk7Ci0gICAgZGVj
b2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7
Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVy
LnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIHZhbC5hbHRlcm5hdGVzID0gZGVj
b2Rlci5kZWNvZGVBcnJheVBvaW50ZXIobmV3IGNvZGVjLlBvaW50ZXJUbyhVc2JBbHRlcm5hdGVJ
bnRlcmZhY2VJbmZvKSk7Ci0gICAgcmV0dXJuIHZhbDsKLSAgfTsKLQotICBVc2JJbnRlcmZhY2VJ
bmZvLmVuY29kZSA9IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgIHZhciBwYWNrZWQ7Ci0g
ICAgZW5jb2Rlci53cml0ZVVpbnQzMihVc2JJbnRlcmZhY2VJbmZvLmVuY29kZWRTaXplKTsKLSAg
ICBlbmNvZGVyLndyaXRlVWludDMyKDApOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNvZGVj
LlVpbnQ4LCB2YWwuaW50ZXJmYWNlTnVtYmVyKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAg
ZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAo
MSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNv
ZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5lbmNvZGVBcnJheVBvaW50ZXIobmV3IGNvZGVjLlBv
aW50ZXJUbyhVc2JBbHRlcm5hdGVJbnRlcmZhY2VJbmZvKSwgdmFsLmFsdGVybmF0ZXMpOwotICB9
OwotICBmdW5jdGlvbiBVc2JDb25maWd1cmF0aW9uSW5mbyh2YWx1ZXMpIHsKLSAgICB0aGlzLmlu
aXREZWZhdWx0c18oKTsKLSAgICB0aGlzLmluaXRGaWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0g
IFVzYkNvbmZpZ3VyYXRpb25JbmZvLnByb3RvdHlwZS5pbml0RGVmYXVsdHNfID0gZnVuY3Rpb24o
KSB7Ci0gICAgdGhpcy5jb25maWd1cmF0aW9uVmFsdWUgPSAwOwotICAgIHRoaXMuY29uZmlndXJh
dGlvbk5hbWUgPSBudWxsOwotICAgIHRoaXMuaW50ZXJmYWNlcyA9IG51bGw7Ci0gIH07Ci0gIFVz
YkNvbmZpZ3VyYXRpb25JbmZvLnByb3RvdHlwZS5pbml0RmllbGRzXyA9IGZ1bmN0aW9uKGZpZWxk
cykgewotICAgIGZvcih2YXIgZmllbGQgaW4gZmllbGRzKSB7Ci0gICAgICAgIGlmICh0aGlzLmhh
c093blByb3BlcnR5KGZpZWxkKSkKLSAgICAgICAgICB0aGlzW2ZpZWxkXSA9IGZpZWxkc1tmaWVs
ZF07Ci0gICAgfQotICB9OwotCi0gIFVzYkNvbmZpZ3VyYXRpb25JbmZvLnZhbGlkYXRlID0gZnVu
Y3Rpb24obWVzc2FnZVZhbGlkYXRvciwgb2Zmc2V0KSB7Ci0gICAgdmFyIGVycjsKLSAgICBlcnIg
PSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0SGVhZGVyKG9mZnNldCwgY29kZWMua1N0
cnVjdEhlYWRlclNpemUpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJy
b3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHZhciBrVmVyc2lvblNpemVzID0g
WwotICAgICAge3ZlcnNpb246IDAsIG51bUJ5dGVzOiAzMn0KLSAgICBdOwotICAgIGVyciA9IG1l
c3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RWZXJzaW9uKG9mZnNldCwga1ZlcnNpb25TaXpl
cyk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAg
ICAgICByZXR1cm4gZXJyOwotCi0KLQotICAgIAotICAgIC8vIHZhbGlkYXRlIFVzYkNvbmZpZ3Vy
YXRpb25JbmZvLmNvbmZpZ3VyYXRpb25OYW1lCi0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52
YWxpZGF0ZVN0cnVjdFBvaW50ZXIob2Zmc2V0ICsgY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyA4
LCBzdHJpbmcxNiQuU3RyaW5nMTYsIHRydWUpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52
YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0gICAgCi0gICAg
Ly8gdmFsaWRhdGUgVXNiQ29uZmlndXJhdGlvbkluZm8uaW50ZXJmYWNlcwotICAgIGVyciA9IG1l
c3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVBcnJheVBvaW50ZXIob2Zmc2V0ICsgY29kZWMua1N0cnVj
dEhlYWRlclNpemUgKyAxNiwgOCwgbmV3IGNvZGVjLlBvaW50ZXJUbyhVc2JJbnRlcmZhY2VJbmZv
KSwgZmFsc2UsIFswXSwgMCk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25F
cnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgcmV0dXJuIHZhbGlkYXRvci52
YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQotICBVc2JDb25maWd1cmF0aW9uSW5mby5lbmNv
ZGVkU2l6ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgMjQ7Ci0KLSAgVXNiQ29uZmlndXJh
dGlvbkluZm8uZGVjb2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHZhciBwYWNrZWQ7Ci0g
ICAgdmFyIHZhbCA9IG5ldyBVc2JDb25maWd1cmF0aW9uSW5mbygpOwotICAgIHZhciBudW1iZXJP
ZkJ5dGVzID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFyIHZlcnNpb24gPSBkZWNvZGVy
LnJlYWRVaW50MzIoKTsKLSAgICB2YWwuY29uZmlndXJhdGlvblZhbHVlID0gZGVjb2Rlci5kZWNv
ZGVTdHJ1Y3QoY29kZWMuVWludDgpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVy
LnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAg
ICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tp
cCgxKTsKLSAgICB2YWwuY29uZmlndXJhdGlvbk5hbWUgPSBkZWNvZGVyLmRlY29kZVN0cnVjdFBv
aW50ZXIoc3RyaW5nMTYkLlN0cmluZzE2KTsKLSAgICB2YWwuaW50ZXJmYWNlcyA9IGRlY29kZXIu
ZGVjb2RlQXJyYXlQb2ludGVyKG5ldyBjb2RlYy5Qb2ludGVyVG8oVXNiSW50ZXJmYWNlSW5mbykp
OwotICAgIHJldHVybiB2YWw7Ci0gIH07Ci0KLSAgVXNiQ29uZmlndXJhdGlvbkluZm8uZW5jb2Rl
ID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICBlbmNvZGVy
LndyaXRlVWludDMyKFVzYkNvbmZpZ3VyYXRpb25JbmZvLmVuY29kZWRTaXplKTsKLSAgICBlbmNv
ZGVyLndyaXRlVWludDMyKDApOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNvZGVjLlVpbnQ4
LCB2YWwuY29uZmlndXJhdGlvblZhbHVlKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5j
b2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7
Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVy
LnNraXAoMSk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3RQb2ludGVyKHN0cmluZzE2JC5TdHJp
bmcxNiwgdmFsLmNvbmZpZ3VyYXRpb25OYW1lKTsKLSAgICBlbmNvZGVyLmVuY29kZUFycmF5UG9p
bnRlcihuZXcgY29kZWMuUG9pbnRlclRvKFVzYkludGVyZmFjZUluZm8pLCB2YWwuaW50ZXJmYWNl
cyk7Ci0gIH07Ci0gIGZ1bmN0aW9uIFVzYkRldmljZUluZm8odmFsdWVzKSB7Ci0gICAgdGhpcy5p
bml0RGVmYXVsdHNfKCk7Ci0gICAgdGhpcy5pbml0RmllbGRzXyh2YWx1ZXMpOwotICB9Ci0KLQot
ICBVc2JEZXZpY2VJbmZvLnByb3RvdHlwZS5pbml0RGVmYXVsdHNfID0gZnVuY3Rpb24oKSB7Ci0g
ICAgdGhpcy5ndWlkID0gbnVsbDsKLSAgICB0aGlzLnVzYlZlcnNpb25NYWpvciA9IDA7Ci0gICAg
dGhpcy51c2JWZXJzaW9uTWlub3IgPSAwOwotICAgIHRoaXMudXNiVmVyc2lvblN1Ym1pbm9yID0g
MDsKLSAgICB0aGlzLmNsYXNzQ29kZSA9IDA7Ci0gICAgdGhpcy5zdWJjbGFzc0NvZGUgPSAwOwot
ICAgIHRoaXMucHJvdG9jb2xDb2RlID0gMDsKLSAgICB0aGlzLnZlbmRvcklkID0gMDsKLSAgICB0
aGlzLnByb2R1Y3RJZCA9IDA7Ci0gICAgdGhpcy5kZXZpY2VWZXJzaW9uTWFqb3IgPSAwOwotICAg
IHRoaXMuZGV2aWNlVmVyc2lvbk1pbm9yID0gMDsKLSAgICB0aGlzLmRldmljZVZlcnNpb25TdWJt
aW5vciA9IDA7Ci0gICAgdGhpcy5hY3RpdmVDb25maWd1cmF0aW9uID0gMDsKLSAgICB0aGlzLm1h
bnVmYWN0dXJlck5hbWUgPSBudWxsOwotICAgIHRoaXMucHJvZHVjdE5hbWUgPSBudWxsOwotICAg
IHRoaXMuc2VyaWFsTnVtYmVyID0gbnVsbDsKLSAgICB0aGlzLmNvbmZpZ3VyYXRpb25zID0gbnVs
bDsKLSAgfTsKLSAgVXNiRGV2aWNlSW5mby5wcm90b3R5cGUuaW5pdEZpZWxkc18gPSBmdW5jdGlv
bihmaWVsZHMpIHsKLSAgICBmb3IodmFyIGZpZWxkIGluIGZpZWxkcykgewotICAgICAgICBpZiAo
dGhpcy5oYXNPd25Qcm9wZXJ0eShmaWVsZCkpCi0gICAgICAgICAgdGhpc1tmaWVsZF0gPSBmaWVs
ZHNbZmllbGRdOwotICAgIH0KLSAgfTsKLQotICBVc2JEZXZpY2VJbmZvLnZhbGlkYXRlID0gZnVu
Y3Rpb24obWVzc2FnZVZhbGlkYXRvciwgb2Zmc2V0KSB7Ci0gICAgdmFyIGVycjsKLSAgICBlcnIg
PSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0SGVhZGVyKG9mZnNldCwgY29kZWMua1N0
cnVjdEhlYWRlclNpemUpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJy
b3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHZhciBrVmVyc2lvblNpemVzID0g
WwotICAgICAge3ZlcnNpb246IDAsIG51bUJ5dGVzOiA2NH0KLSAgICBdOwotICAgIGVyciA9IG1l
c3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RWZXJzaW9uKG9mZnNldCwga1ZlcnNpb25TaXpl
cyk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAg
ICAgICByZXR1cm4gZXJyOwotCi0KLSAgICAKLSAgICAvLyB2YWxpZGF0ZSBVc2JEZXZpY2VJbmZv
Lmd1aWQKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RyaW5nUG9pbnRlcihv
ZmZzZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDAsIGZhbHNlKQotICAgIGlmIChlcnIg
IT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsK
LQotCi0KLQotCi0KLQotCi0KLQotCi0KLQotICAgIAotICAgIC8vIHZhbGlkYXRlIFVzYkRldmlj
ZUluZm8ubWFudWZhY3R1cmVyTmFtZQotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRh
dGVTdHJ1Y3RQb2ludGVyKG9mZnNldCArIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgMjQsIHN0
cmluZzE2JC5TdHJpbmcxNiwgdHJ1ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlk
YXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0KLSAgICAKLSAgICAvLyB2
YWxpZGF0ZSBVc2JEZXZpY2VJbmZvLnByb2R1Y3ROYW1lCi0gICAgZXJyID0gbWVzc2FnZVZhbGlk
YXRvci52YWxpZGF0ZVN0cnVjdFBvaW50ZXIob2Zmc2V0ICsgY29kZWMua1N0cnVjdEhlYWRlclNp
emUgKyAzMiwgc3RyaW5nMTYkLlN0cmluZzE2LCB0cnVlKTsKLSAgICBpZiAoZXJyICE9PSB2YWxp
ZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotICAg
IAotICAgIC8vIHZhbGlkYXRlIFVzYkRldmljZUluZm8uc2VyaWFsTnVtYmVyCi0gICAgZXJyID0g
bWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFBvaW50ZXIob2Zmc2V0ICsgY29kZWMua1N0
cnVjdEhlYWRlclNpemUgKyA0MCwgc3RyaW5nMTYkLlN0cmluZzE2LCB0cnVlKTsKLSAgICBpZiAo
ZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBl
cnI7Ci0KLQotCi0gICAgCi0gICAgLy8gdmFsaWRhdGUgVXNiRGV2aWNlSW5mby5jb25maWd1cmF0
aW9ucwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVBcnJheVBvaW50ZXIob2Zm
c2V0ICsgY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyA0OCwgOCwgbmV3IGNvZGVjLlBvaW50ZXJU
byhVc2JDb25maWd1cmF0aW9uSW5mbyksIGZhbHNlLCBbMF0sIDApOwotICAgIGlmIChlcnIgIT09
IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQot
ICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gIH07Ci0KLSAgVXNi
RGV2aWNlSW5mby5lbmNvZGVkU2l6ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgNTY7Ci0K
LSAgVXNiRGV2aWNlSW5mby5kZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgdmFyIHBh
Y2tlZDsKLSAgICB2YXIgdmFsID0gbmV3IFVzYkRldmljZUluZm8oKTsKLSAgICB2YXIgbnVtYmVy
T2ZCeXRlcyA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhciB2ZXJzaW9uID0gZGVjb2Rl
ci5yZWFkVWludDMyKCk7Ci0gICAgdmFsLmd1aWQgPSBkZWNvZGVyLmRlY29kZVN0cnVjdChjb2Rl
Yy5TdHJpbmcpOwotICAgIHZhbC51c2JWZXJzaW9uTWFqb3IgPSBkZWNvZGVyLmRlY29kZVN0cnVj
dChjb2RlYy5VaW50OCk7Ci0gICAgdmFsLnVzYlZlcnNpb25NaW5vciA9IGRlY29kZXIuZGVjb2Rl
U3RydWN0KGNvZGVjLlVpbnQ4KTsKLSAgICB2YWwudXNiVmVyc2lvblN1Ym1pbm9yID0gZGVjb2Rl
ci5kZWNvZGVTdHJ1Y3QoY29kZWMuVWludDgpOwotICAgIHZhbC5jbGFzc0NvZGUgPSBkZWNvZGVy
LmRlY29kZVN0cnVjdChjb2RlYy5VaW50OCk7Ci0gICAgdmFsLnN1YmNsYXNzQ29kZSA9IGRlY29k
ZXIuZGVjb2RlU3RydWN0KGNvZGVjLlVpbnQ4KTsKLSAgICB2YWwucHJvdG9jb2xDb2RlID0gZGVj
b2Rlci5kZWNvZGVTdHJ1Y3QoY29kZWMuVWludDgpOwotICAgIHZhbC52ZW5kb3JJZCA9IGRlY29k
ZXIuZGVjb2RlU3RydWN0KGNvZGVjLlVpbnQxNik7Ci0gICAgdmFsLnByb2R1Y3RJZCA9IGRlY29k
ZXIuZGVjb2RlU3RydWN0KGNvZGVjLlVpbnQxNik7Ci0gICAgdmFsLmRldmljZVZlcnNpb25NYWpv
ciA9IGRlY29kZXIuZGVjb2RlU3RydWN0KGNvZGVjLlVpbnQ4KTsKLSAgICB2YWwuZGV2aWNlVmVy
c2lvbk1pbm9yID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoY29kZWMuVWludDgpOwotICAgIHZhbC5k
ZXZpY2VWZXJzaW9uU3VibWlub3IgPSBkZWNvZGVyLmRlY29kZVN0cnVjdChjb2RlYy5VaW50OCk7
Ci0gICAgdmFsLmFjdGl2ZUNvbmZpZ3VyYXRpb24gPSBkZWNvZGVyLmRlY29kZVN0cnVjdChjb2Rl
Yy5VaW50OCk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAg
ICB2YWwubWFudWZhY3R1cmVyTmFtZSA9IGRlY29kZXIuZGVjb2RlU3RydWN0UG9pbnRlcihzdHJp
bmcxNiQuU3RyaW5nMTYpOwotICAgIHZhbC5wcm9kdWN0TmFtZSA9IGRlY29kZXIuZGVjb2RlU3Ry
dWN0UG9pbnRlcihzdHJpbmcxNiQuU3RyaW5nMTYpOwotICAgIHZhbC5zZXJpYWxOdW1iZXIgPSBk
ZWNvZGVyLmRlY29kZVN0cnVjdFBvaW50ZXIoc3RyaW5nMTYkLlN0cmluZzE2KTsKLSAgICB2YWwu
Y29uZmlndXJhdGlvbnMgPSBkZWNvZGVyLmRlY29kZUFycmF5UG9pbnRlcihuZXcgY29kZWMuUG9p
bnRlclRvKFVzYkNvbmZpZ3VyYXRpb25JbmZvKSk7Ci0gICAgcmV0dXJuIHZhbDsKLSAgfTsKLQot
ICBVc2JEZXZpY2VJbmZvLmVuY29kZSA9IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgIHZh
ciBwYWNrZWQ7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMihVc2JEZXZpY2VJbmZvLmVuY29kZWRT
aXplKTsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKDApOwotICAgIGVuY29kZXIuZW5jb2RlU3Ry
dWN0KGNvZGVjLlN0cmluZywgdmFsLmd1aWQpOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNv
ZGVjLlVpbnQ4LCB2YWwudXNiVmVyc2lvbk1ham9yKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVj
dChjb2RlYy5VaW50OCwgdmFsLnVzYlZlcnNpb25NaW5vcik7Ci0gICAgZW5jb2Rlci5lbmNvZGVT
dHJ1Y3QoY29kZWMuVWludDgsIHZhbC51c2JWZXJzaW9uU3VibWlub3IpOwotICAgIGVuY29kZXIu
ZW5jb2RlU3RydWN0KGNvZGVjLlVpbnQ4LCB2YWwuY2xhc3NDb2RlKTsKLSAgICBlbmNvZGVyLmVu
Y29kZVN0cnVjdChjb2RlYy5VaW50OCwgdmFsLnN1YmNsYXNzQ29kZSk7Ci0gICAgZW5jb2Rlci5l
bmNvZGVTdHJ1Y3QoY29kZWMuVWludDgsIHZhbC5wcm90b2NvbENvZGUpOwotICAgIGVuY29kZXIu
ZW5jb2RlU3RydWN0KGNvZGVjLlVpbnQxNiwgdmFsLnZlbmRvcklkKTsKLSAgICBlbmNvZGVyLmVu
Y29kZVN0cnVjdChjb2RlYy5VaW50MTYsIHZhbC5wcm9kdWN0SWQpOwotICAgIGVuY29kZXIuZW5j
b2RlU3RydWN0KGNvZGVjLlVpbnQ4LCB2YWwuZGV2aWNlVmVyc2lvbk1ham9yKTsKLSAgICBlbmNv
ZGVyLmVuY29kZVN0cnVjdChjb2RlYy5VaW50OCwgdmFsLmRldmljZVZlcnNpb25NaW5vcik7Ci0g
ICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3QoY29kZWMuVWludDgsIHZhbC5kZXZpY2VWZXJzaW9uU3Vi
bWlub3IpOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNvZGVjLlVpbnQ4LCB2YWwuYWN0aXZl
Q29uZmlndXJhdGlvbik7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgx
KTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdFBvaW50ZXIoc3RyaW5nMTYkLlN0cmluZzE2LCB2
YWwubWFudWZhY3R1cmVyTmFtZSk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3RQb2ludGVyKHN0
cmluZzE2JC5TdHJpbmcxNiwgdmFsLnByb2R1Y3ROYW1lKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0
cnVjdFBvaW50ZXIoc3RyaW5nMTYkLlN0cmluZzE2LCB2YWwuc2VyaWFsTnVtYmVyKTsKLSAgICBl
bmNvZGVyLmVuY29kZUFycmF5UG9pbnRlcihuZXcgY29kZWMuUG9pbnRlclRvKFVzYkNvbmZpZ3Vy
YXRpb25JbmZvKSwgdmFsLmNvbmZpZ3VyYXRpb25zKTsKLSAgfTsKLSAgZnVuY3Rpb24gVXNiQ29u
dHJvbFRyYW5zZmVyUGFyYW1zKHZhbHVlcykgewotICAgIHRoaXMuaW5pdERlZmF1bHRzXygpOwot
ICAgIHRoaXMuaW5pdEZpZWxkc18odmFsdWVzKTsKLSAgfQotCi0KLSAgVXNiQ29udHJvbFRyYW5z
ZmVyUGFyYW1zLnByb3RvdHlwZS5pbml0RGVmYXVsdHNfID0gZnVuY3Rpb24oKSB7Ci0gICAgdGhp
cy50eXBlID0gMDsKLSAgICB0aGlzLnJlY2lwaWVudCA9IDA7Ci0gICAgdGhpcy5yZXF1ZXN0ID0g
MDsKLSAgICB0aGlzLnZhbHVlID0gMDsKLSAgICB0aGlzLmluZGV4ID0gMDsKLSAgfTsKLSAgVXNi
Q29udHJvbFRyYW5zZmVyUGFyYW1zLnByb3RvdHlwZS5pbml0RmllbGRzXyA9IGZ1bmN0aW9uKGZp
ZWxkcykgewotICAgIGZvcih2YXIgZmllbGQgaW4gZmllbGRzKSB7Ci0gICAgICAgIGlmICh0aGlz
Lmhhc093blByb3BlcnR5KGZpZWxkKSkKLSAgICAgICAgICB0aGlzW2ZpZWxkXSA9IGZpZWxkc1tm
aWVsZF07Ci0gICAgfQotICB9OwotCi0gIFVzYkNvbnRyb2xUcmFuc2ZlclBhcmFtcy52YWxpZGF0
ZSA9IGZ1bmN0aW9uKG1lc3NhZ2VWYWxpZGF0b3IsIG9mZnNldCkgewotICAgIHZhciBlcnI7Ci0g
ICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdEhlYWRlcihvZmZzZXQsIGNv
ZGVjLmtTdHJ1Y3RIZWFkZXJTaXplKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRh
dGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICB2YXIga1ZlcnNpb25T
aXplcyA9IFsKLSAgICAgIHt2ZXJzaW9uOiAwLCBudW1CeXRlczogMjR9Ci0gICAgXTsKLSAgICBl
cnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0VmVyc2lvbihvZmZzZXQsIGtWZXJz
aW9uU2l6ZXMpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9O
RSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0gICAgCi0gICAgLy8gdmFsaWRhdGUgVXNiQ29u
dHJvbFRyYW5zZmVyUGFyYW1zLnR5cGUKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlk
YXRlRW51bShvZmZzZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDAsIFVzYkNvbnRyb2xU
cmFuc2ZlclR5cGUpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3Iu
Tk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0gICAgCi0gICAgLy8gdmFsaWRhdGUgVXNi
Q29udHJvbFRyYW5zZmVyUGFyYW1zLnJlY2lwaWVudAotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0
b3IudmFsaWRhdGVFbnVtKG9mZnNldCArIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgNCwgVXNi
Q29udHJvbFRyYW5zZmVyUmVjaXBpZW50KTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFs
aWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotCi0KLSAgICByZXR1
cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIFVzYkNvbnRyb2xU
cmFuc2ZlclBhcmFtcy5lbmNvZGVkU2l6ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgMTY7
Ci0KLSAgVXNiQ29udHJvbFRyYW5zZmVyUGFyYW1zLmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIp
IHsKLSAgICB2YXIgcGFja2VkOwotICAgIHZhciB2YWwgPSBuZXcgVXNiQ29udHJvbFRyYW5zZmVy
UGFyYW1zKCk7Ci0gICAgdmFyIG51bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsK
LSAgICB2YXIgdmVyc2lvbiA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhbC50eXBlID0g
ZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoY29kZWMuSW50MzIpOwotICAgIHZhbC5yZWNpcGllbnQgPSBk
ZWNvZGVyLmRlY29kZVN0cnVjdChjb2RlYy5JbnQzMik7Ci0gICAgdmFsLnJlcXVlc3QgPSBkZWNv
ZGVyLmRlY29kZVN0cnVjdChjb2RlYy5VaW50OCk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAg
IHZhbC52YWx1ZSA9IGRlY29kZXIuZGVjb2RlU3RydWN0KGNvZGVjLlVpbnQxNik7Ci0gICAgdmFs
LmluZGV4ID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoY29kZWMuVWludDE2KTsKLSAgICBkZWNvZGVy
LnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIHJldHVybiB2YWw7Ci0gIH07Ci0K
LSAgVXNiQ29udHJvbFRyYW5zZmVyUGFyYW1zLmVuY29kZSA9IGZ1bmN0aW9uKGVuY29kZXIsIHZh
bCkgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMihVc2JDb250cm9s
VHJhbnNmZXJQYXJhbXMuZW5jb2RlZFNpemUpOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoMCk7
Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3QoY29kZWMuSW50MzIsIHZhbC50eXBlKTsKLSAgICBl
bmNvZGVyLmVuY29kZVN0cnVjdChjb2RlYy5JbnQzMiwgdmFsLnJlY2lwaWVudCk7Ci0gICAgZW5j
b2Rlci5lbmNvZGVTdHJ1Y3QoY29kZWMuVWludDgsIHZhbC5yZXF1ZXN0KTsKLSAgICBlbmNvZGVy
LnNraXAoMSk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3QoY29kZWMuVWludDE2LCB2YWwudmFs
dWUpOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNvZGVjLlVpbnQxNiwgdmFsLmluZGV4KTsK
LSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICB9OwotICBmdW5j
dGlvbiBVc2JJc29jaHJvbm91c1BhY2tldCh2YWx1ZXMpIHsKLSAgICB0aGlzLmluaXREZWZhdWx0
c18oKTsKLSAgICB0aGlzLmluaXRGaWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0gIFVzYklzb2No
cm9ub3VzUGFja2V0LnByb3RvdHlwZS5pbml0RGVmYXVsdHNfID0gZnVuY3Rpb24oKSB7Ci0gICAg
dGhpcy5sZW5ndGggPSAwOwotICAgIHRoaXMudHJhbnNmZXJyZWRMZW5ndGggPSAwOwotICAgIHRo
aXMuc3RhdHVzID0gMDsKLSAgfTsKLSAgVXNiSXNvY2hyb25vdXNQYWNrZXQucHJvdG90eXBlLmlu
aXRGaWVsZHNfID0gZnVuY3Rpb24oZmllbGRzKSB7Ci0gICAgZm9yKHZhciBmaWVsZCBpbiBmaWVs
ZHMpIHsKLSAgICAgICAgaWYgKHRoaXMuaGFzT3duUHJvcGVydHkoZmllbGQpKQotICAgICAgICAg
IHRoaXNbZmllbGRdID0gZmllbGRzW2ZpZWxkXTsKLSAgICB9Ci0gIH07Ci0KLSAgVXNiSXNvY2hy
b25vdXNQYWNrZXQudmFsaWRhdGUgPSBmdW5jdGlvbihtZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQp
IHsKLSAgICB2YXIgZXJyOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1
Y3RIZWFkZXIob2Zmc2V0LCBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVyciAh
PT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwot
Ci0gICAgdmFyIGtWZXJzaW9uU2l6ZXMgPSBbCi0gICAgICB7dmVyc2lvbjogMCwgbnVtQnl0ZXM6
IDI0fQotICAgIF07Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFZl
cnNpb24ob2Zmc2V0LCBrVmVyc2lvblNpemVzKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3Iu
dmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotCi0KLSAgICAK
LSAgICAvLyB2YWxpZGF0ZSBVc2JJc29jaHJvbm91c1BhY2tldC5zdGF0dXMKLSAgICBlcnIgPSBt
ZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlRW51bShvZmZzZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVy
U2l6ZSArIDgsIFVzYlRyYW5zZmVyU3RhdHVzKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3Iu
dmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICByZXR1cm4g
dmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIFVzYklzb2Nocm9ub3Vz
UGFja2V0LmVuY29kZWRTaXplID0gY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyAxNjsKLQotICBV
c2JJc29jaHJvbm91c1BhY2tldC5kZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgdmFy
IHBhY2tlZDsKLSAgICB2YXIgdmFsID0gbmV3IFVzYklzb2Nocm9ub3VzUGFja2V0KCk7Ci0gICAg
dmFyIG51bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YXIgdmVyc2lv
biA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhbC5sZW5ndGggPSBkZWNvZGVyLmRlY29k
ZVN0cnVjdChjb2RlYy5VaW50MzIpOwotICAgIHZhbC50cmFuc2ZlcnJlZExlbmd0aCA9IGRlY29k
ZXIuZGVjb2RlU3RydWN0KGNvZGVjLlVpbnQzMik7Ci0gICAgdmFsLnN0YXR1cyA9IGRlY29kZXIu
ZGVjb2RlU3RydWN0KGNvZGVjLkludDMyKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVj
b2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7
Ci0gICAgcmV0dXJuIHZhbDsKLSAgfTsKLQotICBVc2JJc29jaHJvbm91c1BhY2tldC5lbmNvZGUg
PSBmdW5jdGlvbihlbmNvZGVyLCB2YWwpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIGVuY29kZXIu
d3JpdGVVaW50MzIoVXNiSXNvY2hyb25vdXNQYWNrZXQuZW5jb2RlZFNpemUpOwotICAgIGVuY29k
ZXIud3JpdGVVaW50MzIoMCk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3QoY29kZWMuVWludDMy
LCB2YWwubGVuZ3RoKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdChjb2RlYy5VaW50MzIsIHZh
bC50cmFuc2ZlcnJlZExlbmd0aCk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3QoY29kZWMuSW50
MzIsIHZhbC5zdGF0dXMpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAo
MSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgfTsKLSAg
ZnVuY3Rpb24gVXNiRGV2aWNlX09wZW5fUGFyYW1zKHZhbHVlcykgewotICAgIHRoaXMuaW5pdERl
ZmF1bHRzXygpOwotICAgIHRoaXMuaW5pdEZpZWxkc18odmFsdWVzKTsKLSAgfQotCi0KLSAgVXNi
RGV2aWNlX09wZW5fUGFyYW1zLnByb3RvdHlwZS5pbml0RGVmYXVsdHNfID0gZnVuY3Rpb24oKSB7
Ci0gIH07Ci0gIFVzYkRldmljZV9PcGVuX1BhcmFtcy5wcm90b3R5cGUuaW5pdEZpZWxkc18gPSBm
dW5jdGlvbihmaWVsZHMpIHsKLSAgICBmb3IodmFyIGZpZWxkIGluIGZpZWxkcykgewotICAgICAg
ICBpZiAodGhpcy5oYXNPd25Qcm9wZXJ0eShmaWVsZCkpCi0gICAgICAgICAgdGhpc1tmaWVsZF0g
PSBmaWVsZHNbZmllbGRdOwotICAgIH0KLSAgfTsKLQotICBVc2JEZXZpY2VfT3Blbl9QYXJhbXMu
dmFsaWRhdGUgPSBmdW5jdGlvbihtZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsKLSAgICB2YXIg
ZXJyOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RIZWFkZXIob2Zm
c2V0LCBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9y
LnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgdmFyIGtW
ZXJzaW9uU2l6ZXMgPSBbCi0gICAgICB7dmVyc2lvbjogMCwgbnVtQnl0ZXM6IDh9Ci0gICAgXTsK
LSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0VmVyc2lvbihvZmZzZXQs
IGtWZXJzaW9uU2l6ZXMpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJy
b3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHJldHVybiB2YWxpZGF0b3IudmFs
aWRhdGlvbkVycm9yLk5PTkU7Ci0gIH07Ci0KLSAgVXNiRGV2aWNlX09wZW5fUGFyYW1zLmVuY29k
ZWRTaXplID0gY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyAwOwotCi0gIFVzYkRldmljZV9PcGVu
X1BhcmFtcy5kZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAg
ICB2YXIgdmFsID0gbmV3IFVzYkRldmljZV9PcGVuX1BhcmFtcygpOwotICAgIHZhciBudW1iZXJP
ZkJ5dGVzID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFyIHZlcnNpb24gPSBkZWNvZGVy
LnJlYWRVaW50MzIoKTsKLSAgICByZXR1cm4gdmFsOwotICB9OwotCi0gIFVzYkRldmljZV9PcGVu
X1BhcmFtcy5lbmNvZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2YWwpIHsKLSAgICB2YXIgcGFja2Vk
OwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoVXNiRGV2aWNlX09wZW5fUGFyYW1zLmVuY29kZWRT
aXplKTsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKDApOwotICB9OwotICBmdW5jdGlvbiBVc2JE
ZXZpY2VfT3Blbl9SZXNwb25zZVBhcmFtcyh2YWx1ZXMpIHsKLSAgICB0aGlzLmluaXREZWZhdWx0
c18oKTsKLSAgICB0aGlzLmluaXRGaWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0gIFVzYkRldmlj
ZV9PcGVuX1Jlc3BvbnNlUGFyYW1zLnByb3RvdHlwZS5pbml0RGVmYXVsdHNfID0gZnVuY3Rpb24o
KSB7Ci0gICAgdGhpcy5lcnJvciA9IDA7Ci0gIH07Ci0gIFVzYkRldmljZV9PcGVuX1Jlc3BvbnNl
UGFyYW1zLnByb3RvdHlwZS5pbml0RmllbGRzXyA9IGZ1bmN0aW9uKGZpZWxkcykgewotICAgIGZv
cih2YXIgZmllbGQgaW4gZmllbGRzKSB7Ci0gICAgICAgIGlmICh0aGlzLmhhc093blByb3BlcnR5
KGZpZWxkKSkKLSAgICAgICAgICB0aGlzW2ZpZWxkXSA9IGZpZWxkc1tmaWVsZF07Ci0gICAgfQot
ICB9OwotCi0gIFVzYkRldmljZV9PcGVuX1Jlc3BvbnNlUGFyYW1zLnZhbGlkYXRlID0gZnVuY3Rp
b24obWVzc2FnZVZhbGlkYXRvciwgb2Zmc2V0KSB7Ci0gICAgdmFyIGVycjsKLSAgICBlcnIgPSBt
ZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0SGVhZGVyKG9mZnNldCwgY29kZWMua1N0cnVj
dEhlYWRlclNpemUpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3Iu
Tk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHZhciBrVmVyc2lvblNpemVzID0gWwot
ICAgICAge3ZlcnNpb246IDAsIG51bUJ5dGVzOiAxNn0KLSAgICBdOwotICAgIGVyciA9IG1lc3Nh
Z2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RWZXJzaW9uKG9mZnNldCwga1ZlcnNpb25TaXplcyk7
Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAg
ICByZXR1cm4gZXJyOwotCi0KLSAgICAKLSAgICAvLyB2YWxpZGF0ZSBVc2JEZXZpY2VfT3Blbl9S
ZXNwb25zZVBhcmFtcy5lcnJvcgotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVF
bnVtKG9mZnNldCArIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgMCwgVXNiT3BlbkRldmljZUVy
cm9yKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0g
ICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJv
ci5OT05FOwotICB9OwotCi0gIFVzYkRldmljZV9PcGVuX1Jlc3BvbnNlUGFyYW1zLmVuY29kZWRT
aXplID0gY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyA4OwotCi0gIFVzYkRldmljZV9PcGVuX1Jl
c3BvbnNlUGFyYW1zLmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICB2YXIgcGFja2Vk
OwotICAgIHZhciB2YWwgPSBuZXcgVXNiRGV2aWNlX09wZW5fUmVzcG9uc2VQYXJhbXMoKTsKLSAg
ICB2YXIgbnVtYmVyT2ZCeXRlcyA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhciB2ZXJz
aW9uID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFsLmVycm9yID0gZGVjb2Rlci5kZWNv
ZGVTdHJ1Y3QoY29kZWMuSW50MzIpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVy
LnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAg
ICByZXR1cm4gdmFsOwotICB9OwotCi0gIFVzYkRldmljZV9PcGVuX1Jlc3BvbnNlUGFyYW1zLmVu
Y29kZSA9IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgZW5j
b2Rlci53cml0ZVVpbnQzMihVc2JEZXZpY2VfT3Blbl9SZXNwb25zZVBhcmFtcy5lbmNvZGVkU2l6
ZSk7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMigwKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVj
dChjb2RlYy5JbnQzMiwgdmFsLmVycm9yKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5j
b2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7
Ci0gIH07Ci0gIGZ1bmN0aW9uIFVzYkRldmljZV9DbG9zZV9QYXJhbXModmFsdWVzKSB7Ci0gICAg
dGhpcy5pbml0RGVmYXVsdHNfKCk7Ci0gICAgdGhpcy5pbml0RmllbGRzXyh2YWx1ZXMpOwotICB9
Ci0KLQotICBVc2JEZXZpY2VfQ2xvc2VfUGFyYW1zLnByb3RvdHlwZS5pbml0RGVmYXVsdHNfID0g
ZnVuY3Rpb24oKSB7Ci0gIH07Ci0gIFVzYkRldmljZV9DbG9zZV9QYXJhbXMucHJvdG90eXBlLmlu
aXRGaWVsZHNfID0gZnVuY3Rpb24oZmllbGRzKSB7Ci0gICAgZm9yKHZhciBmaWVsZCBpbiBmaWVs
ZHMpIHsKLSAgICAgICAgaWYgKHRoaXMuaGFzT3duUHJvcGVydHkoZmllbGQpKQotICAgICAgICAg
IHRoaXNbZmllbGRdID0gZmllbGRzW2ZpZWxkXTsKLSAgICB9Ci0gIH07Ci0KLSAgVXNiRGV2aWNl
X0Nsb3NlX1BhcmFtcy52YWxpZGF0ZSA9IGZ1bmN0aW9uKG1lc3NhZ2VWYWxpZGF0b3IsIG9mZnNl
dCkgewotICAgIHZhciBlcnI7Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0
cnVjdEhlYWRlcihvZmZzZXQsIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplKTsKLSAgICBpZiAoZXJy
ICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7
Ci0KLSAgICB2YXIga1ZlcnNpb25TaXplcyA9IFsKLSAgICAgIHt2ZXJzaW9uOiAwLCBudW1CeXRl
czogOH0KLSAgICBdOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RW
ZXJzaW9uKG9mZnNldCwga1ZlcnNpb25TaXplcyk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9y
LnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgcmV0dXJu
IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQotICBVc2JEZXZpY2VfQ2xv
c2VfUGFyYW1zLmVuY29kZWRTaXplID0gY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyAwOwotCi0g
IFVzYkRldmljZV9DbG9zZV9QYXJhbXMuZGVjb2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAg
IHZhciBwYWNrZWQ7Ci0gICAgdmFyIHZhbCA9IG5ldyBVc2JEZXZpY2VfQ2xvc2VfUGFyYW1zKCk7
Ci0gICAgdmFyIG51bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YXIg
dmVyc2lvbiA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHJldHVybiB2YWw7Ci0gIH07Ci0K
LSAgVXNiRGV2aWNlX0Nsb3NlX1BhcmFtcy5lbmNvZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2YWwp
IHsKLSAgICB2YXIgcGFja2VkOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoVXNiRGV2aWNlX0Ns
b3NlX1BhcmFtcy5lbmNvZGVkU2l6ZSk7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMigwKTsKLSAg
fTsKLSAgZnVuY3Rpb24gVXNiRGV2aWNlX0Nsb3NlX1Jlc3BvbnNlUGFyYW1zKHZhbHVlcykgewot
ICAgIHRoaXMuaW5pdERlZmF1bHRzXygpOwotICAgIHRoaXMuaW5pdEZpZWxkc18odmFsdWVzKTsK
LSAgfQotCi0KLSAgVXNiRGV2aWNlX0Nsb3NlX1Jlc3BvbnNlUGFyYW1zLnByb3RvdHlwZS5pbml0
RGVmYXVsdHNfID0gZnVuY3Rpb24oKSB7Ci0gIH07Ci0gIFVzYkRldmljZV9DbG9zZV9SZXNwb25z
ZVBhcmFtcy5wcm90b3R5cGUuaW5pdEZpZWxkc18gPSBmdW5jdGlvbihmaWVsZHMpIHsKLSAgICBm
b3IodmFyIGZpZWxkIGluIGZpZWxkcykgewotICAgICAgICBpZiAodGhpcy5oYXNPd25Qcm9wZXJ0
eShmaWVsZCkpCi0gICAgICAgICAgdGhpc1tmaWVsZF0gPSBmaWVsZHNbZmllbGRdOwotICAgIH0K
LSAgfTsKLQotICBVc2JEZXZpY2VfQ2xvc2VfUmVzcG9uc2VQYXJhbXMudmFsaWRhdGUgPSBmdW5j
dGlvbihtZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsKLSAgICB2YXIgZXJyOwotICAgIGVyciA9
IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RIZWFkZXIob2Zmc2V0LCBjb2RlYy5rU3Ry
dWN0SGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJv
ci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgdmFyIGtWZXJzaW9uU2l6ZXMgPSBb
Ci0gICAgICB7dmVyc2lvbjogMCwgbnVtQnl0ZXM6IDh9Ci0gICAgXTsKLSAgICBlcnIgPSBtZXNz
YWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0VmVyc2lvbihvZmZzZXQsIGtWZXJzaW9uU2l6ZXMp
OwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAg
ICAgcmV0dXJuIGVycjsKLQotICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5P
TkU7Ci0gIH07Ci0KLSAgVXNiRGV2aWNlX0Nsb3NlX1Jlc3BvbnNlUGFyYW1zLmVuY29kZWRTaXpl
ID0gY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyAwOwotCi0gIFVzYkRldmljZV9DbG9zZV9SZXNw
b25zZVBhcmFtcy5kZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgdmFyIHBhY2tlZDsK
LSAgICB2YXIgdmFsID0gbmV3IFVzYkRldmljZV9DbG9zZV9SZXNwb25zZVBhcmFtcygpOwotICAg
IHZhciBudW1iZXJPZkJ5dGVzID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFyIHZlcnNp
b24gPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICByZXR1cm4gdmFsOwotICB9OwotCi0gIFVz
YkRldmljZV9DbG9zZV9SZXNwb25zZVBhcmFtcy5lbmNvZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2
YWwpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoVXNiRGV2aWNl
X0Nsb3NlX1Jlc3BvbnNlUGFyYW1zLmVuY29kZWRTaXplKTsKLSAgICBlbmNvZGVyLndyaXRlVWlu
dDMyKDApOwotICB9OwotICBmdW5jdGlvbiBVc2JEZXZpY2VfU2V0Q29uZmlndXJhdGlvbl9QYXJh
bXModmFsdWVzKSB7Ci0gICAgdGhpcy5pbml0RGVmYXVsdHNfKCk7Ci0gICAgdGhpcy5pbml0Rmll
bGRzXyh2YWx1ZXMpOwotICB9Ci0KLQotICBVc2JEZXZpY2VfU2V0Q29uZmlndXJhdGlvbl9QYXJh
bXMucHJvdG90eXBlLmluaXREZWZhdWx0c18gPSBmdW5jdGlvbigpIHsKLSAgICB0aGlzLnZhbHVl
ID0gMDsKLSAgfTsKLSAgVXNiRGV2aWNlX1NldENvbmZpZ3VyYXRpb25fUGFyYW1zLnByb3RvdHlw
ZS5pbml0RmllbGRzXyA9IGZ1bmN0aW9uKGZpZWxkcykgewotICAgIGZvcih2YXIgZmllbGQgaW4g
ZmllbGRzKSB7Ci0gICAgICAgIGlmICh0aGlzLmhhc093blByb3BlcnR5KGZpZWxkKSkKLSAgICAg
ICAgICB0aGlzW2ZpZWxkXSA9IGZpZWxkc1tmaWVsZF07Ci0gICAgfQotICB9OwotCi0gIFVzYkRl
dmljZV9TZXRDb25maWd1cmF0aW9uX1BhcmFtcy52YWxpZGF0ZSA9IGZ1bmN0aW9uKG1lc3NhZ2VW
YWxpZGF0b3IsIG9mZnNldCkgewotICAgIHZhciBlcnI7Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlk
YXRvci52YWxpZGF0ZVN0cnVjdEhlYWRlcihvZmZzZXQsIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXpl
KTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAg
ICAgIHJldHVybiBlcnI7Ci0KLSAgICB2YXIga1ZlcnNpb25TaXplcyA9IFsKLSAgICAgIHt2ZXJz
aW9uOiAwLCBudW1CeXRlczogMTZ9Ci0gICAgXTsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9y
LnZhbGlkYXRlU3RydWN0VmVyc2lvbihvZmZzZXQsIGtWZXJzaW9uU2l6ZXMpOwotICAgIGlmIChl
cnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVy
cjsKLQotCi0gICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAgfTsK
LQotICBVc2JEZXZpY2VfU2V0Q29uZmlndXJhdGlvbl9QYXJhbXMuZW5jb2RlZFNpemUgPSBjb2Rl
Yy5rU3RydWN0SGVhZGVyU2l6ZSArIDg7Ci0KLSAgVXNiRGV2aWNlX1NldENvbmZpZ3VyYXRpb25f
UGFyYW1zLmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICB2YXIgcGFja2VkOwotICAg
IHZhciB2YWwgPSBuZXcgVXNiRGV2aWNlX1NldENvbmZpZ3VyYXRpb25fUGFyYW1zKCk7Ci0gICAg
dmFyIG51bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YXIgdmVyc2lv
biA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhbC52YWx1ZSA9IGRlY29kZXIuZGVjb2Rl
U3RydWN0KGNvZGVjLlVpbnQ4KTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5z
a2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAg
ZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAo
MSk7Ci0gICAgcmV0dXJuIHZhbDsKLSAgfTsKLQotICBVc2JEZXZpY2VfU2V0Q29uZmlndXJhdGlv
bl9QYXJhbXMuZW5jb2RlID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAgdmFyIHBhY2tl
ZDsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKFVzYkRldmljZV9TZXRDb25maWd1cmF0aW9uX1Bh
cmFtcy5lbmNvZGVkU2l6ZSk7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMigwKTsKLSAgICBlbmNv
ZGVyLmVuY29kZVN0cnVjdChjb2RlYy5VaW50OCwgdmFsLnZhbHVlKTsKLSAgICBlbmNvZGVyLnNr
aXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBl
bmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgx
KTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gIH07Ci0gIGZ1bmN0aW9uIFVzYkRldmljZV9TZXRD
b25maWd1cmF0aW9uX1Jlc3BvbnNlUGFyYW1zKHZhbHVlcykgewotICAgIHRoaXMuaW5pdERlZmF1
bHRzXygpOwotICAgIHRoaXMuaW5pdEZpZWxkc18odmFsdWVzKTsKLSAgfQotCi0KLSAgVXNiRGV2
aWNlX1NldENvbmZpZ3VyYXRpb25fUmVzcG9uc2VQYXJhbXMucHJvdG90eXBlLmluaXREZWZhdWx0
c18gPSBmdW5jdGlvbigpIHsKLSAgICB0aGlzLnN1Y2Nlc3MgPSBmYWxzZTsKLSAgfTsKLSAgVXNi
RGV2aWNlX1NldENvbmZpZ3VyYXRpb25fUmVzcG9uc2VQYXJhbXMucHJvdG90eXBlLmluaXRGaWVs
ZHNfID0gZnVuY3Rpb24oZmllbGRzKSB7Ci0gICAgZm9yKHZhciBmaWVsZCBpbiBmaWVsZHMpIHsK
LSAgICAgICAgaWYgKHRoaXMuaGFzT3duUHJvcGVydHkoZmllbGQpKQotICAgICAgICAgIHRoaXNb
ZmllbGRdID0gZmllbGRzW2ZpZWxkXTsKLSAgICB9Ci0gIH07Ci0KLSAgVXNiRGV2aWNlX1NldENv
bmZpZ3VyYXRpb25fUmVzcG9uc2VQYXJhbXMudmFsaWRhdGUgPSBmdW5jdGlvbihtZXNzYWdlVmFs
aWRhdG9yLCBvZmZzZXQpIHsKLSAgICB2YXIgZXJyOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0
b3IudmFsaWRhdGVTdHJ1Y3RIZWFkZXIob2Zmc2V0LCBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSk7
Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAg
ICByZXR1cm4gZXJyOwotCi0gICAgdmFyIGtWZXJzaW9uU2l6ZXMgPSBbCi0gICAgICB7dmVyc2lv
bjogMCwgbnVtQnl0ZXM6IDE2fQotICAgIF07Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52
YWxpZGF0ZVN0cnVjdFZlcnNpb24ob2Zmc2V0LCBrVmVyc2lvblNpemVzKTsKLSAgICBpZiAoZXJy
ICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7
Ci0KLQotICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gIH07Ci0K
LSAgVXNiRGV2aWNlX1NldENvbmZpZ3VyYXRpb25fUmVzcG9uc2VQYXJhbXMuZW5jb2RlZFNpemUg
PSBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDg7Ci0KLSAgVXNiRGV2aWNlX1NldENvbmZpZ3Vy
YXRpb25fUmVzcG9uc2VQYXJhbXMuZGVjb2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHZh
ciBwYWNrZWQ7Ci0gICAgdmFyIHZhbCA9IG5ldyBVc2JEZXZpY2VfU2V0Q29uZmlndXJhdGlvbl9S
ZXNwb25zZVBhcmFtcygpOwotICAgIHZhciBudW1iZXJPZkJ5dGVzID0gZGVjb2Rlci5yZWFkVWlu
dDMyKCk7Ci0gICAgdmFyIHZlcnNpb24gPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICBwYWNr
ZWQgPSBkZWNvZGVyLnJlYWRVaW50OCgpOwotICAgIHZhbC5zdWNjZXNzID0gKHBhY2tlZCA+PiAw
KSAmIDEgPyB0cnVlIDogZmFsc2U7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIu
c2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAg
IGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lw
KDEpOwotICAgIHJldHVybiB2YWw7Ci0gIH07Ci0KLSAgVXNiRGV2aWNlX1NldENvbmZpZ3VyYXRp
b25fUmVzcG9uc2VQYXJhbXMuZW5jb2RlID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAg
dmFyIHBhY2tlZDsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKFVzYkRldmljZV9TZXRDb25maWd1
cmF0aW9uX1Jlc3BvbnNlUGFyYW1zLmVuY29kZWRTaXplKTsKLSAgICBlbmNvZGVyLndyaXRlVWlu
dDMyKDApOwotICAgIHBhY2tlZCA9IDA7Ci0gICAgcGFja2VkIHw9ICh2YWwuc3VjY2VzcyAmIDEp
IDw8IDAKLSAgICBlbmNvZGVyLndyaXRlVWludDgocGFja2VkKTsKLSAgICBlbmNvZGVyLnNraXAo
MSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNv
ZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsK
LSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gIH07Ci0gIGZ1bmN0aW9uIFVzYkRldmljZV9DbGFpbUlu
dGVyZmFjZV9QYXJhbXModmFsdWVzKSB7Ci0gICAgdGhpcy5pbml0RGVmYXVsdHNfKCk7Ci0gICAg
dGhpcy5pbml0RmllbGRzXyh2YWx1ZXMpOwotICB9Ci0KLQotICBVc2JEZXZpY2VfQ2xhaW1JbnRl
cmZhY2VfUGFyYW1zLnByb3RvdHlwZS5pbml0RGVmYXVsdHNfID0gZnVuY3Rpb24oKSB7Ci0gICAg
dGhpcy5pbnRlcmZhY2VOdW1iZXIgPSAwOwotICB9OwotICBVc2JEZXZpY2VfQ2xhaW1JbnRlcmZh
Y2VfUGFyYW1zLnByb3RvdHlwZS5pbml0RmllbGRzXyA9IGZ1bmN0aW9uKGZpZWxkcykgewotICAg
IGZvcih2YXIgZmllbGQgaW4gZmllbGRzKSB7Ci0gICAgICAgIGlmICh0aGlzLmhhc093blByb3Bl
cnR5KGZpZWxkKSkKLSAgICAgICAgICB0aGlzW2ZpZWxkXSA9IGZpZWxkc1tmaWVsZF07Ci0gICAg
fQotICB9OwotCi0gIFVzYkRldmljZV9DbGFpbUludGVyZmFjZV9QYXJhbXMudmFsaWRhdGUgPSBm
dW5jdGlvbihtZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsKLSAgICB2YXIgZXJyOwotICAgIGVy
ciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RIZWFkZXIob2Zmc2V0LCBjb2RlYy5r
U3RydWN0SGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25F
cnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgdmFyIGtWZXJzaW9uU2l6ZXMg
PSBbCi0gICAgICB7dmVyc2lvbjogMCwgbnVtQnl0ZXM6IDE2fQotICAgIF07Ci0gICAgZXJyID0g
bWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFZlcnNpb24ob2Zmc2V0LCBrVmVyc2lvblNp
emVzKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0g
ICAgICAgIHJldHVybiBlcnI7Ci0KLQotICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVy
cm9yLk5PTkU7Ci0gIH07Ci0KLSAgVXNiRGV2aWNlX0NsYWltSW50ZXJmYWNlX1BhcmFtcy5lbmNv
ZGVkU2l6ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgODsKLQotICBVc2JEZXZpY2VfQ2xh
aW1JbnRlcmZhY2VfUGFyYW1zLmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICB2YXIg
cGFja2VkOwotICAgIHZhciB2YWwgPSBuZXcgVXNiRGV2aWNlX0NsYWltSW50ZXJmYWNlX1BhcmFt
cygpOwotICAgIHZhciBudW1iZXJPZkJ5dGVzID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAg
dmFyIHZlcnNpb24gPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YWwuaW50ZXJmYWNlTnVt
YmVyID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoY29kZWMuVWludDgpOwotICAgIGRlY29kZXIuc2tp
cCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRl
Y29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEp
OwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICByZXR1cm4gdmFsOwotICB9OwotCi0gIFVzYkRl
dmljZV9DbGFpbUludGVyZmFjZV9QYXJhbXMuZW5jb2RlID0gZnVuY3Rpb24oZW5jb2RlciwgdmFs
KSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKFVzYkRldmljZV9D
bGFpbUludGVyZmFjZV9QYXJhbXMuZW5jb2RlZFNpemUpOwotICAgIGVuY29kZXIud3JpdGVVaW50
MzIoMCk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3QoY29kZWMuVWludDgsIHZhbC5pbnRlcmZh
Y2VOdW1iZXIpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0g
ICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNr
aXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgfTsK
LSAgZnVuY3Rpb24gVXNiRGV2aWNlX0NsYWltSW50ZXJmYWNlX1Jlc3BvbnNlUGFyYW1zKHZhbHVl
cykgewotICAgIHRoaXMuaW5pdERlZmF1bHRzXygpOwotICAgIHRoaXMuaW5pdEZpZWxkc18odmFs
dWVzKTsKLSAgfQotCi0KLSAgVXNiRGV2aWNlX0NsYWltSW50ZXJmYWNlX1Jlc3BvbnNlUGFyYW1z
LnByb3RvdHlwZS5pbml0RGVmYXVsdHNfID0gZnVuY3Rpb24oKSB7Ci0gICAgdGhpcy5zdWNjZXNz
ID0gZmFsc2U7Ci0gIH07Ci0gIFVzYkRldmljZV9DbGFpbUludGVyZmFjZV9SZXNwb25zZVBhcmFt
cy5wcm90b3R5cGUuaW5pdEZpZWxkc18gPSBmdW5jdGlvbihmaWVsZHMpIHsKLSAgICBmb3IodmFy
IGZpZWxkIGluIGZpZWxkcykgewotICAgICAgICBpZiAodGhpcy5oYXNPd25Qcm9wZXJ0eShmaWVs
ZCkpCi0gICAgICAgICAgdGhpc1tmaWVsZF0gPSBmaWVsZHNbZmllbGRdOwotICAgIH0KLSAgfTsK
LQotICBVc2JEZXZpY2VfQ2xhaW1JbnRlcmZhY2VfUmVzcG9uc2VQYXJhbXMudmFsaWRhdGUgPSBm
dW5jdGlvbihtZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsKLSAgICB2YXIgZXJyOwotICAgIGVy
ciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RIZWFkZXIob2Zmc2V0LCBjb2RlYy5r
U3RydWN0SGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25F
cnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgdmFyIGtWZXJzaW9uU2l6ZXMg
PSBbCi0gICAgICB7dmVyc2lvbjogMCwgbnVtQnl0ZXM6IDE2fQotICAgIF07Ci0gICAgZXJyID0g
bWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFZlcnNpb24ob2Zmc2V0LCBrVmVyc2lvblNp
emVzKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0g
ICAgICAgIHJldHVybiBlcnI7Ci0KLQotICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVy
cm9yLk5PTkU7Ci0gIH07Ci0KLSAgVXNiRGV2aWNlX0NsYWltSW50ZXJmYWNlX1Jlc3BvbnNlUGFy
YW1zLmVuY29kZWRTaXplID0gY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyA4OwotCi0gIFVzYkRl
dmljZV9DbGFpbUludGVyZmFjZV9SZXNwb25zZVBhcmFtcy5kZWNvZGUgPSBmdW5jdGlvbihkZWNv
ZGVyKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICB2YXIgdmFsID0gbmV3IFVzYkRldmljZV9DbGFp
bUludGVyZmFjZV9SZXNwb25zZVBhcmFtcygpOwotICAgIHZhciBudW1iZXJPZkJ5dGVzID0gZGVj
b2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFyIHZlcnNpb24gPSBkZWNvZGVyLnJlYWRVaW50MzIo
KTsKLSAgICBwYWNrZWQgPSBkZWNvZGVyLnJlYWRVaW50OCgpOwotICAgIHZhbC5zdWNjZXNzID0g
KHBhY2tlZCA+PiAwKSAmIDEgPyB0cnVlIDogZmFsc2U7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwot
ICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5z
a2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAg
ZGVjb2Rlci5za2lwKDEpOwotICAgIHJldHVybiB2YWw7Ci0gIH07Ci0KLSAgVXNiRGV2aWNlX0Ns
YWltSW50ZXJmYWNlX1Jlc3BvbnNlUGFyYW1zLmVuY29kZSA9IGZ1bmN0aW9uKGVuY29kZXIsIHZh
bCkgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMihVc2JEZXZpY2Vf
Q2xhaW1JbnRlcmZhY2VfUmVzcG9uc2VQYXJhbXMuZW5jb2RlZFNpemUpOwotICAgIGVuY29kZXIu
d3JpdGVVaW50MzIoMCk7Ci0gICAgcGFja2VkID0gMDsKLSAgICBwYWNrZWQgfD0gKHZhbC5zdWNj
ZXNzICYgMSkgPDwgMAotICAgIGVuY29kZXIud3JpdGVVaW50OChwYWNrZWQpOwotICAgIGVuY29k
ZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwot
ICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5z
a2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgfTsKLSAgZnVuY3Rpb24gVXNiRGV2aWNl
X1JlbGVhc2VJbnRlcmZhY2VfUGFyYW1zKHZhbHVlcykgewotICAgIHRoaXMuaW5pdERlZmF1bHRz
XygpOwotICAgIHRoaXMuaW5pdEZpZWxkc18odmFsdWVzKTsKLSAgfQotCi0KLSAgVXNiRGV2aWNl
X1JlbGVhc2VJbnRlcmZhY2VfUGFyYW1zLnByb3RvdHlwZS5pbml0RGVmYXVsdHNfID0gZnVuY3Rp
b24oKSB7Ci0gICAgdGhpcy5pbnRlcmZhY2VOdW1iZXIgPSAwOwotICB9OwotICBVc2JEZXZpY2Vf
UmVsZWFzZUludGVyZmFjZV9QYXJhbXMucHJvdG90eXBlLmluaXRGaWVsZHNfID0gZnVuY3Rpb24o
ZmllbGRzKSB7Ci0gICAgZm9yKHZhciBmaWVsZCBpbiBmaWVsZHMpIHsKLSAgICAgICAgaWYgKHRo
aXMuaGFzT3duUHJvcGVydHkoZmllbGQpKQotICAgICAgICAgIHRoaXNbZmllbGRdID0gZmllbGRz
W2ZpZWxkXTsKLSAgICB9Ci0gIH07Ci0KLSAgVXNiRGV2aWNlX1JlbGVhc2VJbnRlcmZhY2VfUGFy
YW1zLnZhbGlkYXRlID0gZnVuY3Rpb24obWVzc2FnZVZhbGlkYXRvciwgb2Zmc2V0KSB7Ci0gICAg
dmFyIGVycjsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0SGVhZGVy
KG9mZnNldCwgY29kZWMua1N0cnVjdEhlYWRlclNpemUpOwotICAgIGlmIChlcnIgIT09IHZhbGlk
YXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHZh
ciBrVmVyc2lvblNpemVzID0gWwotICAgICAge3ZlcnNpb246IDAsIG51bUJ5dGVzOiAxNn0KLSAg
ICBdOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RWZXJzaW9uKG9m
ZnNldCwga1ZlcnNpb25TaXplcyk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRp
b25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0KLSAgICByZXR1cm4gdmFsaWRh
dG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIFVzYkRldmljZV9SZWxlYXNlSW50
ZXJmYWNlX1BhcmFtcy5lbmNvZGVkU2l6ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgODsK
LQotICBVc2JEZXZpY2VfUmVsZWFzZUludGVyZmFjZV9QYXJhbXMuZGVjb2RlID0gZnVuY3Rpb24o
ZGVjb2RlcikgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgdmFyIHZhbCA9IG5ldyBVc2JEZXZpY2Vf
UmVsZWFzZUludGVyZmFjZV9QYXJhbXMoKTsKLSAgICB2YXIgbnVtYmVyT2ZCeXRlcyA9IGRlY29k
ZXIucmVhZFVpbnQzMigpOwotICAgIHZhciB2ZXJzaW9uID0gZGVjb2Rlci5yZWFkVWludDMyKCk7
Ci0gICAgdmFsLmludGVyZmFjZU51bWJlciA9IGRlY29kZXIuZGVjb2RlU3RydWN0KGNvZGVjLlVp
bnQ4KTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRl
Y29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEp
OwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgcmV0dXJu
IHZhbDsKLSAgfTsKLQotICBVc2JEZXZpY2VfUmVsZWFzZUludGVyZmFjZV9QYXJhbXMuZW5jb2Rl
ID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICBlbmNvZGVy
LndyaXRlVWludDMyKFVzYkRldmljZV9SZWxlYXNlSW50ZXJmYWNlX1BhcmFtcy5lbmNvZGVkU2l6
ZSk7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMigwKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVj
dChjb2RlYy5VaW50OCwgdmFsLmludGVyZmFjZU51bWJlcik7Ci0gICAgZW5jb2Rlci5za2lwKDEp
OwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rl
ci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0g
ICAgZW5jb2Rlci5za2lwKDEpOwotICB9OwotICBmdW5jdGlvbiBVc2JEZXZpY2VfUmVsZWFzZUlu
dGVyZmFjZV9SZXNwb25zZVBhcmFtcyh2YWx1ZXMpIHsKLSAgICB0aGlzLmluaXREZWZhdWx0c18o
KTsKLSAgICB0aGlzLmluaXRGaWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0gIFVzYkRldmljZV9S
ZWxlYXNlSW50ZXJmYWNlX1Jlc3BvbnNlUGFyYW1zLnByb3RvdHlwZS5pbml0RGVmYXVsdHNfID0g
ZnVuY3Rpb24oKSB7Ci0gICAgdGhpcy5zdWNjZXNzID0gZmFsc2U7Ci0gIH07Ci0gIFVzYkRldmlj
ZV9SZWxlYXNlSW50ZXJmYWNlX1Jlc3BvbnNlUGFyYW1zLnByb3RvdHlwZS5pbml0RmllbGRzXyA9
IGZ1bmN0aW9uKGZpZWxkcykgewotICAgIGZvcih2YXIgZmllbGQgaW4gZmllbGRzKSB7Ci0gICAg
ICAgIGlmICh0aGlzLmhhc093blByb3BlcnR5KGZpZWxkKSkKLSAgICAgICAgICB0aGlzW2ZpZWxk
XSA9IGZpZWxkc1tmaWVsZF07Ci0gICAgfQotICB9OwotCi0gIFVzYkRldmljZV9SZWxlYXNlSW50
ZXJmYWNlX1Jlc3BvbnNlUGFyYW1zLnZhbGlkYXRlID0gZnVuY3Rpb24obWVzc2FnZVZhbGlkYXRv
ciwgb2Zmc2V0KSB7Ci0gICAgdmFyIGVycjsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZh
bGlkYXRlU3RydWN0SGVhZGVyKG9mZnNldCwgY29kZWMua1N0cnVjdEhlYWRlclNpemUpOwotICAg
IGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0
dXJuIGVycjsKLQotICAgIHZhciBrVmVyc2lvblNpemVzID0gWwotICAgICAge3ZlcnNpb246IDAs
IG51bUJ5dGVzOiAxNn0KLSAgICBdOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRh
dGVTdHJ1Y3RWZXJzaW9uKG9mZnNldCwga1ZlcnNpb25TaXplcyk7Ci0gICAgaWYgKGVyciAhPT0g
dmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0K
LSAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIFVz
YkRldmljZV9SZWxlYXNlSW50ZXJmYWNlX1Jlc3BvbnNlUGFyYW1zLmVuY29kZWRTaXplID0gY29k
ZWMua1N0cnVjdEhlYWRlclNpemUgKyA4OwotCi0gIFVzYkRldmljZV9SZWxlYXNlSW50ZXJmYWNl
X1Jlc3BvbnNlUGFyYW1zLmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICB2YXIgcGFj
a2VkOwotICAgIHZhciB2YWwgPSBuZXcgVXNiRGV2aWNlX1JlbGVhc2VJbnRlcmZhY2VfUmVzcG9u
c2VQYXJhbXMoKTsKLSAgICB2YXIgbnVtYmVyT2ZCeXRlcyA9IGRlY29kZXIucmVhZFVpbnQzMigp
OwotICAgIHZhciB2ZXJzaW9uID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgcGFja2VkID0g
ZGVjb2Rlci5yZWFkVWludDgoKTsKLSAgICB2YWwuc3VjY2VzcyA9IChwYWNrZWQgPj4gMCkgJiAx
ID8gdHJ1ZSA6IGZhbHNlOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAo
MSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNv
ZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsK
LSAgICByZXR1cm4gdmFsOwotICB9OwotCi0gIFVzYkRldmljZV9SZWxlYXNlSW50ZXJmYWNlX1Jl
c3BvbnNlUGFyYW1zLmVuY29kZSA9IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgIHZhciBw
YWNrZWQ7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMihVc2JEZXZpY2VfUmVsZWFzZUludGVyZmFj
ZV9SZXNwb25zZVBhcmFtcy5lbmNvZGVkU2l6ZSk7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMigw
KTsKLSAgICBwYWNrZWQgPSAwOwotICAgIHBhY2tlZCB8PSAodmFsLnN1Y2Nlc3MgJiAxKSA8PCAw
Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQ4KHBhY2tlZCk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwot
ICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5z
a2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAg
ZW5jb2Rlci5za2lwKDEpOwotICB9OwotICBmdW5jdGlvbiBVc2JEZXZpY2VfU2V0SW50ZXJmYWNl
QWx0ZXJuYXRlU2V0dGluZ19QYXJhbXModmFsdWVzKSB7Ci0gICAgdGhpcy5pbml0RGVmYXVsdHNf
KCk7Ci0gICAgdGhpcy5pbml0RmllbGRzXyh2YWx1ZXMpOwotICB9Ci0KLQotICBVc2JEZXZpY2Vf
U2V0SW50ZXJmYWNlQWx0ZXJuYXRlU2V0dGluZ19QYXJhbXMucHJvdG90eXBlLmluaXREZWZhdWx0
c18gPSBmdW5jdGlvbigpIHsKLSAgICB0aGlzLmludGVyZmFjZU51bWJlciA9IDA7Ci0gICAgdGhp
cy5hbHRlcm5hdGVTZXR0aW5nID0gMDsKLSAgfTsKLSAgVXNiRGV2aWNlX1NldEludGVyZmFjZUFs
dGVybmF0ZVNldHRpbmdfUGFyYW1zLnByb3RvdHlwZS5pbml0RmllbGRzXyA9IGZ1bmN0aW9uKGZp
ZWxkcykgewotICAgIGZvcih2YXIgZmllbGQgaW4gZmllbGRzKSB7Ci0gICAgICAgIGlmICh0aGlz
Lmhhc093blByb3BlcnR5KGZpZWxkKSkKLSAgICAgICAgICB0aGlzW2ZpZWxkXSA9IGZpZWxkc1tm
aWVsZF07Ci0gICAgfQotICB9OwotCi0gIFVzYkRldmljZV9TZXRJbnRlcmZhY2VBbHRlcm5hdGVT
ZXR0aW5nX1BhcmFtcy52YWxpZGF0ZSA9IGZ1bmN0aW9uKG1lc3NhZ2VWYWxpZGF0b3IsIG9mZnNl
dCkgewotICAgIHZhciBlcnI7Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0
cnVjdEhlYWRlcihvZmZzZXQsIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplKTsKLSAgICBpZiAoZXJy
ICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7
Ci0KLSAgICB2YXIga1ZlcnNpb25TaXplcyA9IFsKLSAgICAgIHt2ZXJzaW9uOiAwLCBudW1CeXRl
czogMTZ9Ci0gICAgXTsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0
VmVyc2lvbihvZmZzZXQsIGtWZXJzaW9uU2l6ZXMpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRv
ci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0KLSAgICBy
ZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIFVzYkRldmlj
ZV9TZXRJbnRlcmZhY2VBbHRlcm5hdGVTZXR0aW5nX1BhcmFtcy5lbmNvZGVkU2l6ZSA9IGNvZGVj
LmtTdHJ1Y3RIZWFkZXJTaXplICsgODsKLQotICBVc2JEZXZpY2VfU2V0SW50ZXJmYWNlQWx0ZXJu
YXRlU2V0dGluZ19QYXJhbXMuZGVjb2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHZhciBw
YWNrZWQ7Ci0gICAgdmFyIHZhbCA9IG5ldyBVc2JEZXZpY2VfU2V0SW50ZXJmYWNlQWx0ZXJuYXRl
U2V0dGluZ19QYXJhbXMoKTsKLSAgICB2YXIgbnVtYmVyT2ZCeXRlcyA9IGRlY29kZXIucmVhZFVp
bnQzMigpOwotICAgIHZhciB2ZXJzaW9uID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFs
LmludGVyZmFjZU51bWJlciA9IGRlY29kZXIuZGVjb2RlU3RydWN0KGNvZGVjLlVpbnQ4KTsKLSAg
ICB2YWwuYWx0ZXJuYXRlU2V0dGluZyA9IGRlY29kZXIuZGVjb2RlU3RydWN0KGNvZGVjLlVpbnQ4
KTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29k
ZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwot
ICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICByZXR1cm4gdmFsOwotICB9OwotCi0gIFVzYkRldmlj
ZV9TZXRJbnRlcmZhY2VBbHRlcm5hdGVTZXR0aW5nX1BhcmFtcy5lbmNvZGUgPSBmdW5jdGlvbihl
bmNvZGVyLCB2YWwpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIo
VXNiRGV2aWNlX1NldEludGVyZmFjZUFsdGVybmF0ZVNldHRpbmdfUGFyYW1zLmVuY29kZWRTaXpl
KTsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKDApOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0
KGNvZGVjLlVpbnQ4LCB2YWwuaW50ZXJmYWNlTnVtYmVyKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0
cnVjdChjb2RlYy5VaW50OCwgdmFsLmFsdGVybmF0ZVNldHRpbmcpOwotICAgIGVuY29kZXIuc2tp
cCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVu
Y29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEp
OwotICB9OwotICBmdW5jdGlvbiBVc2JEZXZpY2VfU2V0SW50ZXJmYWNlQWx0ZXJuYXRlU2V0dGlu
Z19SZXNwb25zZVBhcmFtcyh2YWx1ZXMpIHsKLSAgICB0aGlzLmluaXREZWZhdWx0c18oKTsKLSAg
ICB0aGlzLmluaXRGaWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0gIFVzYkRldmljZV9TZXRJbnRl
cmZhY2VBbHRlcm5hdGVTZXR0aW5nX1Jlc3BvbnNlUGFyYW1zLnByb3RvdHlwZS5pbml0RGVmYXVs
dHNfID0gZnVuY3Rpb24oKSB7Ci0gICAgdGhpcy5zdWNjZXNzID0gZmFsc2U7Ci0gIH07Ci0gIFVz
YkRldmljZV9TZXRJbnRlcmZhY2VBbHRlcm5hdGVTZXR0aW5nX1Jlc3BvbnNlUGFyYW1zLnByb3Rv
dHlwZS5pbml0RmllbGRzXyA9IGZ1bmN0aW9uKGZpZWxkcykgewotICAgIGZvcih2YXIgZmllbGQg
aW4gZmllbGRzKSB7Ci0gICAgICAgIGlmICh0aGlzLmhhc093blByb3BlcnR5KGZpZWxkKSkKLSAg
ICAgICAgICB0aGlzW2ZpZWxkXSA9IGZpZWxkc1tmaWVsZF07Ci0gICAgfQotICB9OwotCi0gIFVz
YkRldmljZV9TZXRJbnRlcmZhY2VBbHRlcm5hdGVTZXR0aW5nX1Jlc3BvbnNlUGFyYW1zLnZhbGlk
YXRlID0gZnVuY3Rpb24obWVzc2FnZVZhbGlkYXRvciwgb2Zmc2V0KSB7Ci0gICAgdmFyIGVycjsK
LSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0SGVhZGVyKG9mZnNldCwg
Y29kZWMua1N0cnVjdEhlYWRlclNpemUpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxp
ZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHZhciBrVmVyc2lv
blNpemVzID0gWwotICAgICAge3ZlcnNpb246IDAsIG51bUJ5dGVzOiAxNn0KLSAgICBdOwotICAg
IGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RWZXJzaW9uKG9mZnNldCwga1Zl
cnNpb25TaXplcyk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5O
T05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0KLSAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlk
YXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIFVzYkRldmljZV9TZXRJbnRlcmZhY2VBbHRlcm5h
dGVTZXR0aW5nX1Jlc3BvbnNlUGFyYW1zLmVuY29kZWRTaXplID0gY29kZWMua1N0cnVjdEhlYWRl
clNpemUgKyA4OwotCi0gIFVzYkRldmljZV9TZXRJbnRlcmZhY2VBbHRlcm5hdGVTZXR0aW5nX1Jl
c3BvbnNlUGFyYW1zLmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICB2YXIgcGFja2Vk
OwotICAgIHZhciB2YWwgPSBuZXcgVXNiRGV2aWNlX1NldEludGVyZmFjZUFsdGVybmF0ZVNldHRp
bmdfUmVzcG9uc2VQYXJhbXMoKTsKLSAgICB2YXIgbnVtYmVyT2ZCeXRlcyA9IGRlY29kZXIucmVh
ZFVpbnQzMigpOwotICAgIHZhciB2ZXJzaW9uID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAg
cGFja2VkID0gZGVjb2Rlci5yZWFkVWludDgoKTsKLSAgICB2YWwuc3VjY2VzcyA9IChwYWNrZWQg
Pj4gMCkgJiAxID8gdHJ1ZSA6IGZhbHNlOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNv
ZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsK
LSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIu
c2tpcCgxKTsKLSAgICByZXR1cm4gdmFsOwotICB9OwotCi0gIFVzYkRldmljZV9TZXRJbnRlcmZh
Y2VBbHRlcm5hdGVTZXR0aW5nX1Jlc3BvbnNlUGFyYW1zLmVuY29kZSA9IGZ1bmN0aW9uKGVuY29k
ZXIsIHZhbCkgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMihVc2JE
ZXZpY2VfU2V0SW50ZXJmYWNlQWx0ZXJuYXRlU2V0dGluZ19SZXNwb25zZVBhcmFtcy5lbmNvZGVk
U2l6ZSk7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMigwKTsKLSAgICBwYWNrZWQgPSAwOwotICAg
IHBhY2tlZCB8PSAodmFsLnN1Y2Nlc3MgJiAxKSA8PCAwCi0gICAgZW5jb2Rlci53cml0ZVVpbnQ4
KHBhY2tlZCk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAg
ICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tp
cCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICB9Owot
ICBmdW5jdGlvbiBVc2JEZXZpY2VfUmVzZXRfUGFyYW1zKHZhbHVlcykgewotICAgIHRoaXMuaW5p
dERlZmF1bHRzXygpOwotICAgIHRoaXMuaW5pdEZpZWxkc18odmFsdWVzKTsKLSAgfQotCi0KLSAg
VXNiRGV2aWNlX1Jlc2V0X1BhcmFtcy5wcm90b3R5cGUuaW5pdERlZmF1bHRzXyA9IGZ1bmN0aW9u
KCkgewotICB9OwotICBVc2JEZXZpY2VfUmVzZXRfUGFyYW1zLnByb3RvdHlwZS5pbml0RmllbGRz
XyA9IGZ1bmN0aW9uKGZpZWxkcykgewotICAgIGZvcih2YXIgZmllbGQgaW4gZmllbGRzKSB7Ci0g
ICAgICAgIGlmICh0aGlzLmhhc093blByb3BlcnR5KGZpZWxkKSkKLSAgICAgICAgICB0aGlzW2Zp
ZWxkXSA9IGZpZWxkc1tmaWVsZF07Ci0gICAgfQotICB9OwotCi0gIFVzYkRldmljZV9SZXNldF9Q
YXJhbXMudmFsaWRhdGUgPSBmdW5jdGlvbihtZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsKLSAg
ICB2YXIgZXJyOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RIZWFk
ZXIob2Zmc2V0LCBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFs
aWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAg
dmFyIGtWZXJzaW9uU2l6ZXMgPSBbCi0gICAgICB7dmVyc2lvbjogMCwgbnVtQnl0ZXM6IDh9Ci0g
ICAgXTsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0VmVyc2lvbihv
ZmZzZXQsIGtWZXJzaW9uU2l6ZXMpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0
aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHJldHVybiB2YWxpZGF0
b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gIH07Ci0KLSAgVXNiRGV2aWNlX1Jlc2V0X1BhcmFt
cy5lbmNvZGVkU2l6ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgMDsKLQotICBVc2JEZXZp
Y2VfUmVzZXRfUGFyYW1zLmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICB2YXIgcGFj
a2VkOwotICAgIHZhciB2YWwgPSBuZXcgVXNiRGV2aWNlX1Jlc2V0X1BhcmFtcygpOwotICAgIHZh
ciBudW1iZXJPZkJ5dGVzID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFyIHZlcnNpb24g
PSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICByZXR1cm4gdmFsOwotICB9OwotCi0gIFVzYkRl
dmljZV9SZXNldF9QYXJhbXMuZW5jb2RlID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAg
dmFyIHBhY2tlZDsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKFVzYkRldmljZV9SZXNldF9QYXJh
bXMuZW5jb2RlZFNpemUpOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoMCk7Ci0gIH07Ci0gIGZ1
bmN0aW9uIFVzYkRldmljZV9SZXNldF9SZXNwb25zZVBhcmFtcyh2YWx1ZXMpIHsKLSAgICB0aGlz
LmluaXREZWZhdWx0c18oKTsKLSAgICB0aGlzLmluaXRGaWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQot
Ci0gIFVzYkRldmljZV9SZXNldF9SZXNwb25zZVBhcmFtcy5wcm90b3R5cGUuaW5pdERlZmF1bHRz
XyA9IGZ1bmN0aW9uKCkgewotICAgIHRoaXMuc3VjY2VzcyA9IGZhbHNlOwotICB9OwotICBVc2JE
ZXZpY2VfUmVzZXRfUmVzcG9uc2VQYXJhbXMucHJvdG90eXBlLmluaXRGaWVsZHNfID0gZnVuY3Rp
b24oZmllbGRzKSB7Ci0gICAgZm9yKHZhciBmaWVsZCBpbiBmaWVsZHMpIHsKLSAgICAgICAgaWYg
KHRoaXMuaGFzT3duUHJvcGVydHkoZmllbGQpKQotICAgICAgICAgIHRoaXNbZmllbGRdID0gZmll
bGRzW2ZpZWxkXTsKLSAgICB9Ci0gIH07Ci0KLSAgVXNiRGV2aWNlX1Jlc2V0X1Jlc3BvbnNlUGFy
YW1zLnZhbGlkYXRlID0gZnVuY3Rpb24obWVzc2FnZVZhbGlkYXRvciwgb2Zmc2V0KSB7Ci0gICAg
dmFyIGVycjsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0SGVhZGVy
KG9mZnNldCwgY29kZWMua1N0cnVjdEhlYWRlclNpemUpOwotICAgIGlmIChlcnIgIT09IHZhbGlk
YXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHZh
ciBrVmVyc2lvblNpemVzID0gWwotICAgICAge3ZlcnNpb246IDAsIG51bUJ5dGVzOiAxNn0KLSAg
ICBdOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RWZXJzaW9uKG9m
ZnNldCwga1ZlcnNpb25TaXplcyk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRp
b25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0KLSAgICByZXR1cm4gdmFsaWRh
dG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIFVzYkRldmljZV9SZXNldF9SZXNw
b25zZVBhcmFtcy5lbmNvZGVkU2l6ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgODsKLQot
ICBVc2JEZXZpY2VfUmVzZXRfUmVzcG9uc2VQYXJhbXMuZGVjb2RlID0gZnVuY3Rpb24oZGVjb2Rl
cikgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgdmFyIHZhbCA9IG5ldyBVc2JEZXZpY2VfUmVzZXRf
UmVzcG9uc2VQYXJhbXMoKTsKLSAgICB2YXIgbnVtYmVyT2ZCeXRlcyA9IGRlY29kZXIucmVhZFVp
bnQzMigpOwotICAgIHZhciB2ZXJzaW9uID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgcGFj
a2VkID0gZGVjb2Rlci5yZWFkVWludDgoKTsKLSAgICB2YWwuc3VjY2VzcyA9IChwYWNrZWQgPj4g
MCkgJiAxID8gdHJ1ZSA6IGZhbHNlOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVy
LnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAg
ICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tp
cCgxKTsKLSAgICByZXR1cm4gdmFsOwotICB9OwotCi0gIFVzYkRldmljZV9SZXNldF9SZXNwb25z
ZVBhcmFtcy5lbmNvZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2YWwpIHsKLSAgICB2YXIgcGFja2Vk
OwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoVXNiRGV2aWNlX1Jlc2V0X1Jlc3BvbnNlUGFyYW1z
LmVuY29kZWRTaXplKTsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKDApOwotICAgIHBhY2tlZCA9
IDA7Ci0gICAgcGFja2VkIHw9ICh2YWwuc3VjY2VzcyAmIDEpIDw8IDAKLSAgICBlbmNvZGVyLndy
aXRlVWludDgocGFja2VkKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lw
KDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5j
b2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7
Ci0gIH07Ci0gIGZ1bmN0aW9uIFVzYkRldmljZV9DbGVhckhhbHRfUGFyYW1zKHZhbHVlcykgewot
ICAgIHRoaXMuaW5pdERlZmF1bHRzXygpOwotICAgIHRoaXMuaW5pdEZpZWxkc18odmFsdWVzKTsK
LSAgfQotCi0KLSAgVXNiRGV2aWNlX0NsZWFySGFsdF9QYXJhbXMucHJvdG90eXBlLmluaXREZWZh
dWx0c18gPSBmdW5jdGlvbigpIHsKLSAgICB0aGlzLmVuZHBvaW50ID0gMDsKLSAgfTsKLSAgVXNi
RGV2aWNlX0NsZWFySGFsdF9QYXJhbXMucHJvdG90eXBlLmluaXRGaWVsZHNfID0gZnVuY3Rpb24o
ZmllbGRzKSB7Ci0gICAgZm9yKHZhciBmaWVsZCBpbiBmaWVsZHMpIHsKLSAgICAgICAgaWYgKHRo
aXMuaGFzT3duUHJvcGVydHkoZmllbGQpKQotICAgICAgICAgIHRoaXNbZmllbGRdID0gZmllbGRz
W2ZpZWxkXTsKLSAgICB9Ci0gIH07Ci0KLSAgVXNiRGV2aWNlX0NsZWFySGFsdF9QYXJhbXMudmFs
aWRhdGUgPSBmdW5jdGlvbihtZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsKLSAgICB2YXIgZXJy
OwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RIZWFkZXIob2Zmc2V0
LCBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZh
bGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgdmFyIGtWZXJz
aW9uU2l6ZXMgPSBbCi0gICAgICB7dmVyc2lvbjogMCwgbnVtQnl0ZXM6IDE2fQotICAgIF07Ci0g
ICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFZlcnNpb24ob2Zmc2V0LCBr
VmVyc2lvblNpemVzKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9y
Lk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotICAgIHJldHVybiB2YWxpZGF0b3IudmFs
aWRhdGlvbkVycm9yLk5PTkU7Ci0gIH07Ci0KLSAgVXNiRGV2aWNlX0NsZWFySGFsdF9QYXJhbXMu
ZW5jb2RlZFNpemUgPSBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDg7Ci0KLSAgVXNiRGV2aWNl
X0NsZWFySGFsdF9QYXJhbXMuZGVjb2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHZhciBw
YWNrZWQ7Ci0gICAgdmFyIHZhbCA9IG5ldyBVc2JEZXZpY2VfQ2xlYXJIYWx0X1BhcmFtcygpOwot
ICAgIHZhciBudW1iZXJPZkJ5dGVzID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFyIHZl
cnNpb24gPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YWwuZW5kcG9pbnQgPSBkZWNvZGVy
LmRlY29kZVN0cnVjdChjb2RlYy5VaW50OCk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRl
Y29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEp
OwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rl
ci5za2lwKDEpOwotICAgIHJldHVybiB2YWw7Ci0gIH07Ci0KLSAgVXNiRGV2aWNlX0NsZWFySGFs
dF9QYXJhbXMuZW5jb2RlID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAgdmFyIHBhY2tl
ZDsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKFVzYkRldmljZV9DbGVhckhhbHRfUGFyYW1zLmVu
Y29kZWRTaXplKTsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKDApOwotICAgIGVuY29kZXIuZW5j
b2RlU3RydWN0KGNvZGVjLlVpbnQ4LCB2YWwuZW5kcG9pbnQpOwotICAgIGVuY29kZXIuc2tpcCgx
KTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29k
ZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwot
ICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgfTsKLSAgZnVuY3Rpb24gVXNiRGV2aWNlX0NsZWFySGFs
dF9SZXNwb25zZVBhcmFtcyh2YWx1ZXMpIHsKLSAgICB0aGlzLmluaXREZWZhdWx0c18oKTsKLSAg
ICB0aGlzLmluaXRGaWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0gIFVzYkRldmljZV9DbGVhckhh
bHRfUmVzcG9uc2VQYXJhbXMucHJvdG90eXBlLmluaXREZWZhdWx0c18gPSBmdW5jdGlvbigpIHsK
LSAgICB0aGlzLnN1Y2Nlc3MgPSBmYWxzZTsKLSAgfTsKLSAgVXNiRGV2aWNlX0NsZWFySGFsdF9S
ZXNwb25zZVBhcmFtcy5wcm90b3R5cGUuaW5pdEZpZWxkc18gPSBmdW5jdGlvbihmaWVsZHMpIHsK
LSAgICBmb3IodmFyIGZpZWxkIGluIGZpZWxkcykgewotICAgICAgICBpZiAodGhpcy5oYXNPd25Q
cm9wZXJ0eShmaWVsZCkpCi0gICAgICAgICAgdGhpc1tmaWVsZF0gPSBmaWVsZHNbZmllbGRdOwot
ICAgIH0KLSAgfTsKLQotICBVc2JEZXZpY2VfQ2xlYXJIYWx0X1Jlc3BvbnNlUGFyYW1zLnZhbGlk
YXRlID0gZnVuY3Rpb24obWVzc2FnZVZhbGlkYXRvciwgb2Zmc2V0KSB7Ci0gICAgdmFyIGVycjsK
LSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0SGVhZGVyKG9mZnNldCwg
Y29kZWMua1N0cnVjdEhlYWRlclNpemUpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxp
ZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHZhciBrVmVyc2lv
blNpemVzID0gWwotICAgICAge3ZlcnNpb246IDAsIG51bUJ5dGVzOiAxNn0KLSAgICBdOwotICAg
IGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RWZXJzaW9uKG9mZnNldCwga1Zl
cnNpb25TaXplcyk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5O
T05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0KLSAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlk
YXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIFVzYkRldmljZV9DbGVhckhhbHRfUmVzcG9uc2VQ
YXJhbXMuZW5jb2RlZFNpemUgPSBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDg7Ci0KLSAgVXNi
RGV2aWNlX0NsZWFySGFsdF9SZXNwb25zZVBhcmFtcy5kZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVy
KSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICB2YXIgdmFsID0gbmV3IFVzYkRldmljZV9DbGVhckhh
bHRfUmVzcG9uc2VQYXJhbXMoKTsKLSAgICB2YXIgbnVtYmVyT2ZCeXRlcyA9IGRlY29kZXIucmVh
ZFVpbnQzMigpOwotICAgIHZhciB2ZXJzaW9uID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAg
cGFja2VkID0gZGVjb2Rlci5yZWFkVWludDgoKTsKLSAgICB2YWwuc3VjY2VzcyA9IChwYWNrZWQg
Pj4gMCkgJiAxID8gdHJ1ZSA6IGZhbHNlOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNv
ZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsK
LSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIu
c2tpcCgxKTsKLSAgICByZXR1cm4gdmFsOwotICB9OwotCi0gIFVzYkRldmljZV9DbGVhckhhbHRf
UmVzcG9uc2VQYXJhbXMuZW5jb2RlID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAgdmFy
IHBhY2tlZDsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKFVzYkRldmljZV9DbGVhckhhbHRfUmVz
cG9uc2VQYXJhbXMuZW5jb2RlZFNpemUpOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoMCk7Ci0g
ICAgcGFja2VkID0gMDsKLSAgICBwYWNrZWQgfD0gKHZhbC5zdWNjZXNzICYgMSkgPDwgMAotICAg
IGVuY29kZXIud3JpdGVVaW50OChwYWNrZWQpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBl
bmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgx
KTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29k
ZXIuc2tpcCgxKTsKLSAgfTsKLSAgZnVuY3Rpb24gVXNiRGV2aWNlX0NvbnRyb2xUcmFuc2Zlcklu
X1BhcmFtcyh2YWx1ZXMpIHsKLSAgICB0aGlzLmluaXREZWZhdWx0c18oKTsKLSAgICB0aGlzLmlu
aXRGaWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0gIFVzYkRldmljZV9Db250cm9sVHJhbnNmZXJJ
bl9QYXJhbXMucHJvdG90eXBlLmluaXREZWZhdWx0c18gPSBmdW5jdGlvbigpIHsKLSAgICB0aGlz
LnBhcmFtcyA9IG51bGw7Ci0gICAgdGhpcy5sZW5ndGggPSAwOwotICAgIHRoaXMudGltZW91dCA9
IDA7Ci0gIH07Ci0gIFVzYkRldmljZV9Db250cm9sVHJhbnNmZXJJbl9QYXJhbXMucHJvdG90eXBl
LmluaXRGaWVsZHNfID0gZnVuY3Rpb24oZmllbGRzKSB7Ci0gICAgZm9yKHZhciBmaWVsZCBpbiBm
aWVsZHMpIHsKLSAgICAgICAgaWYgKHRoaXMuaGFzT3duUHJvcGVydHkoZmllbGQpKQotICAgICAg
ICAgIHRoaXNbZmllbGRdID0gZmllbGRzW2ZpZWxkXTsKLSAgICB9Ci0gIH07Ci0KLSAgVXNiRGV2
aWNlX0NvbnRyb2xUcmFuc2ZlckluX1BhcmFtcy52YWxpZGF0ZSA9IGZ1bmN0aW9uKG1lc3NhZ2VW
YWxpZGF0b3IsIG9mZnNldCkgewotICAgIHZhciBlcnI7Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlk
YXRvci52YWxpZGF0ZVN0cnVjdEhlYWRlcihvZmZzZXQsIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXpl
KTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAg
ICAgIHJldHVybiBlcnI7Ci0KLSAgICB2YXIga1ZlcnNpb25TaXplcyA9IFsKLSAgICAgIHt2ZXJz
aW9uOiAwLCBudW1CeXRlczogMjR9Ci0gICAgXTsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9y
LnZhbGlkYXRlU3RydWN0VmVyc2lvbihvZmZzZXQsIGtWZXJzaW9uU2l6ZXMpOwotICAgIGlmIChl
cnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVy
cjsKLQotCi0gICAgCi0gICAgLy8gdmFsaWRhdGUgVXNiRGV2aWNlX0NvbnRyb2xUcmFuc2Zlcklu
X1BhcmFtcy5wYXJhbXMKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0
UG9pbnRlcihvZmZzZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDAsIFVzYkNvbnRyb2xU
cmFuc2ZlclBhcmFtcywgZmFsc2UpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0
aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0KLSAgICByZXR1cm4gdmFs
aWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIFVzYkRldmljZV9Db250cm9s
VHJhbnNmZXJJbl9QYXJhbXMuZW5jb2RlZFNpemUgPSBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSAr
IDE2OwotCi0gIFVzYkRldmljZV9Db250cm9sVHJhbnNmZXJJbl9QYXJhbXMuZGVjb2RlID0gZnVu
Y3Rpb24oZGVjb2RlcikgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgdmFyIHZhbCA9IG5ldyBVc2JE
ZXZpY2VfQ29udHJvbFRyYW5zZmVySW5fUGFyYW1zKCk7Ci0gICAgdmFyIG51bWJlck9mQnl0ZXMg
PSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YXIgdmVyc2lvbiA9IGRlY29kZXIucmVhZFVp
bnQzMigpOwotICAgIHZhbC5wYXJhbXMgPSBkZWNvZGVyLmRlY29kZVN0cnVjdFBvaW50ZXIoVXNi
Q29udHJvbFRyYW5zZmVyUGFyYW1zKTsKLSAgICB2YWwubGVuZ3RoID0gZGVjb2Rlci5kZWNvZGVT
dHJ1Y3QoY29kZWMuVWludDMyKTsKLSAgICB2YWwudGltZW91dCA9IGRlY29kZXIuZGVjb2RlU3Ry
dWN0KGNvZGVjLlVpbnQzMik7Ci0gICAgcmV0dXJuIHZhbDsKLSAgfTsKLQotICBVc2JEZXZpY2Vf
Q29udHJvbFRyYW5zZmVySW5fUGFyYW1zLmVuY29kZSA9IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkg
ewotICAgIHZhciBwYWNrZWQ7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMihVc2JEZXZpY2VfQ29u
dHJvbFRyYW5zZmVySW5fUGFyYW1zLmVuY29kZWRTaXplKTsKLSAgICBlbmNvZGVyLndyaXRlVWlu
dDMyKDApOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0UG9pbnRlcihVc2JDb250cm9sVHJhbnNm
ZXJQYXJhbXMsIHZhbC5wYXJhbXMpOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNvZGVjLlVp
bnQzMiwgdmFsLmxlbmd0aCk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3QoY29kZWMuVWludDMy
LCB2YWwudGltZW91dCk7Ci0gIH07Ci0gIGZ1bmN0aW9uIFVzYkRldmljZV9Db250cm9sVHJhbnNm
ZXJJbl9SZXNwb25zZVBhcmFtcyh2YWx1ZXMpIHsKLSAgICB0aGlzLmluaXREZWZhdWx0c18oKTsK
LSAgICB0aGlzLmluaXRGaWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0gIFVzYkRldmljZV9Db250
cm9sVHJhbnNmZXJJbl9SZXNwb25zZVBhcmFtcy5wcm90b3R5cGUuaW5pdERlZmF1bHRzXyA9IGZ1
bmN0aW9uKCkgewotICAgIHRoaXMuc3RhdHVzID0gMDsKLSAgICB0aGlzLmRhdGEgPSBudWxsOwot
ICB9OwotICBVc2JEZXZpY2VfQ29udHJvbFRyYW5zZmVySW5fUmVzcG9uc2VQYXJhbXMucHJvdG90
eXBlLmluaXRGaWVsZHNfID0gZnVuY3Rpb24oZmllbGRzKSB7Ci0gICAgZm9yKHZhciBmaWVsZCBp
biBmaWVsZHMpIHsKLSAgICAgICAgaWYgKHRoaXMuaGFzT3duUHJvcGVydHkoZmllbGQpKQotICAg
ICAgICAgIHRoaXNbZmllbGRdID0gZmllbGRzW2ZpZWxkXTsKLSAgICB9Ci0gIH07Ci0KLSAgVXNi
RGV2aWNlX0NvbnRyb2xUcmFuc2ZlckluX1Jlc3BvbnNlUGFyYW1zLnZhbGlkYXRlID0gZnVuY3Rp
b24obWVzc2FnZVZhbGlkYXRvciwgb2Zmc2V0KSB7Ci0gICAgdmFyIGVycjsKLSAgICBlcnIgPSBt
ZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0SGVhZGVyKG9mZnNldCwgY29kZWMua1N0cnVj
dEhlYWRlclNpemUpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3Iu
Tk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHZhciBrVmVyc2lvblNpemVzID0gWwot
ICAgICAge3ZlcnNpb246IDAsIG51bUJ5dGVzOiAyNH0KLSAgICBdOwotICAgIGVyciA9IG1lc3Nh
Z2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RWZXJzaW9uKG9mZnNldCwga1ZlcnNpb25TaXplcyk7
Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAg
ICByZXR1cm4gZXJyOwotCi0KLSAgICAKLSAgICAvLyB2YWxpZGF0ZSBVc2JEZXZpY2VfQ29udHJv
bFRyYW5zZmVySW5fUmVzcG9uc2VQYXJhbXMuc3RhdHVzCi0gICAgZXJyID0gbWVzc2FnZVZhbGlk
YXRvci52YWxpZGF0ZUVudW0ob2Zmc2V0ICsgY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyAwLCBV
c2JUcmFuc2ZlclN0YXR1cyk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25F
cnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0KLSAgICAKLSAgICAvLyB2YWxpZGF0
ZSBVc2JEZXZpY2VfQ29udHJvbFRyYW5zZmVySW5fUmVzcG9uc2VQYXJhbXMuZGF0YQotICAgIGVy
ciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVBcnJheVBvaW50ZXIob2Zmc2V0ICsgY29kZWMu
a1N0cnVjdEhlYWRlclNpemUgKyA4LCAxLCBjb2RlYy5VaW50OCwgdHJ1ZSwgWzBdLCAwKTsKLSAg
ICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJl
dHVybiBlcnI7Ci0KLSAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwot
ICB9OwotCi0gIFVzYkRldmljZV9Db250cm9sVHJhbnNmZXJJbl9SZXNwb25zZVBhcmFtcy5lbmNv
ZGVkU2l6ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgMTY7Ci0KLSAgVXNiRGV2aWNlX0Nv
bnRyb2xUcmFuc2ZlckluX1Jlc3BvbnNlUGFyYW1zLmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIp
IHsKLSAgICB2YXIgcGFja2VkOwotICAgIHZhciB2YWwgPSBuZXcgVXNiRGV2aWNlX0NvbnRyb2xU
cmFuc2ZlckluX1Jlc3BvbnNlUGFyYW1zKCk7Ci0gICAgdmFyIG51bWJlck9mQnl0ZXMgPSBkZWNv
ZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YXIgdmVyc2lvbiA9IGRlY29kZXIucmVhZFVpbnQzMigp
OwotICAgIHZhbC5zdGF0dXMgPSBkZWNvZGVyLmRlY29kZVN0cnVjdChjb2RlYy5JbnQzMik7Ci0g
ICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNr
aXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIHZhbC5kYXRhID0gZGVjb2Rlci5kZWNv
ZGVBcnJheVBvaW50ZXIoY29kZWMuVWludDgpOwotICAgIHJldHVybiB2YWw7Ci0gIH07Ci0KLSAg
VXNiRGV2aWNlX0NvbnRyb2xUcmFuc2ZlckluX1Jlc3BvbnNlUGFyYW1zLmVuY29kZSA9IGZ1bmN0
aW9uKGVuY29kZXIsIHZhbCkgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgZW5jb2Rlci53cml0ZVVp
bnQzMihVc2JEZXZpY2VfQ29udHJvbFRyYW5zZmVySW5fUmVzcG9uc2VQYXJhbXMuZW5jb2RlZFNp
emUpOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoMCk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1
Y3QoY29kZWMuSW50MzIsIHZhbC5zdGF0dXMpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBl
bmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgx
KTsKLSAgICBlbmNvZGVyLmVuY29kZUFycmF5UG9pbnRlcihjb2RlYy5VaW50OCwgdmFsLmRhdGEp
OwotICB9OwotICBmdW5jdGlvbiBVc2JEZXZpY2VfQ29udHJvbFRyYW5zZmVyT3V0X1BhcmFtcyh2
YWx1ZXMpIHsKLSAgICB0aGlzLmluaXREZWZhdWx0c18oKTsKLSAgICB0aGlzLmluaXRGaWVsZHNf
KHZhbHVlcyk7Ci0gIH0KLQotCi0gIFVzYkRldmljZV9Db250cm9sVHJhbnNmZXJPdXRfUGFyYW1z
LnByb3RvdHlwZS5pbml0RGVmYXVsdHNfID0gZnVuY3Rpb24oKSB7Ci0gICAgdGhpcy5wYXJhbXMg
PSBudWxsOwotICAgIHRoaXMuZGF0YSA9IG51bGw7Ci0gICAgdGhpcy50aW1lb3V0ID0gMDsKLSAg
fTsKLSAgVXNiRGV2aWNlX0NvbnRyb2xUcmFuc2Zlck91dF9QYXJhbXMucHJvdG90eXBlLmluaXRG
aWVsZHNfID0gZnVuY3Rpb24oZmllbGRzKSB7Ci0gICAgZm9yKHZhciBmaWVsZCBpbiBmaWVsZHMp
IHsKLSAgICAgICAgaWYgKHRoaXMuaGFzT3duUHJvcGVydHkoZmllbGQpKQotICAgICAgICAgIHRo
aXNbZmllbGRdID0gZmllbGRzW2ZpZWxkXTsKLSAgICB9Ci0gIH07Ci0KLSAgVXNiRGV2aWNlX0Nv
bnRyb2xUcmFuc2Zlck91dF9QYXJhbXMudmFsaWRhdGUgPSBmdW5jdGlvbihtZXNzYWdlVmFsaWRh
dG9yLCBvZmZzZXQpIHsKLSAgICB2YXIgZXJyOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3Iu
dmFsaWRhdGVTdHJ1Y3RIZWFkZXIob2Zmc2V0LCBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSk7Ci0g
ICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICBy
ZXR1cm4gZXJyOwotCi0gICAgdmFyIGtWZXJzaW9uU2l6ZXMgPSBbCi0gICAgICB7dmVyc2lvbjog
MCwgbnVtQnl0ZXM6IDMyfQotICAgIF07Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxp
ZGF0ZVN0cnVjdFZlcnNpb24ob2Zmc2V0LCBrVmVyc2lvblNpemVzKTsKLSAgICBpZiAoZXJyICE9
PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0K
LQotICAgIAotICAgIC8vIHZhbGlkYXRlIFVzYkRldmljZV9Db250cm9sVHJhbnNmZXJPdXRfUGFy
YW1zLnBhcmFtcwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RQb2lu
dGVyKG9mZnNldCArIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgMCwgVXNiQ29udHJvbFRyYW5z
ZmVyUGFyYW1zLCBmYWxzZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25F
cnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0KLSAgICAKLSAgICAvLyB2YWxpZGF0
ZSBVc2JEZXZpY2VfQ29udHJvbFRyYW5zZmVyT3V0X1BhcmFtcy5kYXRhCi0gICAgZXJyID0gbWVz
c2FnZVZhbGlkYXRvci52YWxpZGF0ZUFycmF5UG9pbnRlcihvZmZzZXQgKyBjb2RlYy5rU3RydWN0
SGVhZGVyU2l6ZSArIDgsIDEsIGNvZGVjLlVpbnQ4LCBmYWxzZSwgWzBdLCAwKTsKLSAgICBpZiAo
ZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBl
cnI7Ci0KLQotICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gIH07
Ci0KLSAgVXNiRGV2aWNlX0NvbnRyb2xUcmFuc2Zlck91dF9QYXJhbXMuZW5jb2RlZFNpemUgPSBj
b2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDI0OwotCi0gIFVzYkRldmljZV9Db250cm9sVHJhbnNm
ZXJPdXRfUGFyYW1zLmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICB2YXIgcGFja2Vk
OwotICAgIHZhciB2YWwgPSBuZXcgVXNiRGV2aWNlX0NvbnRyb2xUcmFuc2Zlck91dF9QYXJhbXMo
KTsKLSAgICB2YXIgbnVtYmVyT2ZCeXRlcyA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZh
ciB2ZXJzaW9uID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFsLnBhcmFtcyA9IGRlY29k
ZXIuZGVjb2RlU3RydWN0UG9pbnRlcihVc2JDb250cm9sVHJhbnNmZXJQYXJhbXMpOwotICAgIHZh
bC5kYXRhID0gZGVjb2Rlci5kZWNvZGVBcnJheVBvaW50ZXIoY29kZWMuVWludDgpOwotICAgIHZh
bC50aW1lb3V0ID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoY29kZWMuVWludDMyKTsKLSAgICBkZWNv
ZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsK
LSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgcmV0dXJuIHZhbDsKLSAgfTsKLQotICBVc2JEZXZp
Y2VfQ29udHJvbFRyYW5zZmVyT3V0X1BhcmFtcy5lbmNvZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2
YWwpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoVXNiRGV2aWNl
X0NvbnRyb2xUcmFuc2Zlck91dF9QYXJhbXMuZW5jb2RlZFNpemUpOwotICAgIGVuY29kZXIud3Jp
dGVVaW50MzIoMCk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3RQb2ludGVyKFVzYkNvbnRyb2xU
cmFuc2ZlclBhcmFtcywgdmFsLnBhcmFtcyk7Ci0gICAgZW5jb2Rlci5lbmNvZGVBcnJheVBvaW50
ZXIoY29kZWMuVWludDgsIHZhbC5kYXRhKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdChjb2Rl
Yy5VaW50MzIsIHZhbC50aW1lb3V0KTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rl
ci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0g
IH07Ci0gIGZ1bmN0aW9uIFVzYkRldmljZV9Db250cm9sVHJhbnNmZXJPdXRfUmVzcG9uc2VQYXJh
bXModmFsdWVzKSB7Ci0gICAgdGhpcy5pbml0RGVmYXVsdHNfKCk7Ci0gICAgdGhpcy5pbml0Rmll
bGRzXyh2YWx1ZXMpOwotICB9Ci0KLQotICBVc2JEZXZpY2VfQ29udHJvbFRyYW5zZmVyT3V0X1Jl
c3BvbnNlUGFyYW1zLnByb3RvdHlwZS5pbml0RGVmYXVsdHNfID0gZnVuY3Rpb24oKSB7Ci0gICAg
dGhpcy5zdGF0dXMgPSAwOwotICB9OwotICBVc2JEZXZpY2VfQ29udHJvbFRyYW5zZmVyT3V0X1Jl
c3BvbnNlUGFyYW1zLnByb3RvdHlwZS5pbml0RmllbGRzXyA9IGZ1bmN0aW9uKGZpZWxkcykgewot
ICAgIGZvcih2YXIgZmllbGQgaW4gZmllbGRzKSB7Ci0gICAgICAgIGlmICh0aGlzLmhhc093blBy
b3BlcnR5KGZpZWxkKSkKLSAgICAgICAgICB0aGlzW2ZpZWxkXSA9IGZpZWxkc1tmaWVsZF07Ci0g
ICAgfQotICB9OwotCi0gIFVzYkRldmljZV9Db250cm9sVHJhbnNmZXJPdXRfUmVzcG9uc2VQYXJh
bXMudmFsaWRhdGUgPSBmdW5jdGlvbihtZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsKLSAgICB2
YXIgZXJyOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RIZWFkZXIo
b2Zmc2V0LCBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRh
dG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgdmFy
IGtWZXJzaW9uU2l6ZXMgPSBbCi0gICAgICB7dmVyc2lvbjogMCwgbnVtQnl0ZXM6IDE2fQotICAg
IF07Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFZlcnNpb24ob2Zm
c2V0LCBrVmVyc2lvblNpemVzKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlv
bkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotICAgIAotICAgIC8vIHZhbGlk
YXRlIFVzYkRldmljZV9Db250cm9sVHJhbnNmZXJPdXRfUmVzcG9uc2VQYXJhbXMuc3RhdHVzCi0g
ICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZUVudW0ob2Zmc2V0ICsgY29kZWMua1N0
cnVjdEhlYWRlclNpemUgKyAwLCBVc2JUcmFuc2ZlclN0YXR1cyk7Ci0gICAgaWYgKGVyciAhPT0g
dmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0g
ICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQotICBVc2JE
ZXZpY2VfQ29udHJvbFRyYW5zZmVyT3V0X1Jlc3BvbnNlUGFyYW1zLmVuY29kZWRTaXplID0gY29k
ZWMua1N0cnVjdEhlYWRlclNpemUgKyA4OwotCi0gIFVzYkRldmljZV9Db250cm9sVHJhbnNmZXJP
dXRfUmVzcG9uc2VQYXJhbXMuZGVjb2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHZhciBw
YWNrZWQ7Ci0gICAgdmFyIHZhbCA9IG5ldyBVc2JEZXZpY2VfQ29udHJvbFRyYW5zZmVyT3V0X1Jl
c3BvbnNlUGFyYW1zKCk7Ci0gICAgdmFyIG51bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50
MzIoKTsKLSAgICB2YXIgdmVyc2lvbiA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhbC5z
dGF0dXMgPSBkZWNvZGVyLmRlY29kZVN0cnVjdChjb2RlYy5JbnQzMik7Ci0gICAgZGVjb2Rlci5z
a2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAg
ZGVjb2Rlci5za2lwKDEpOwotICAgIHJldHVybiB2YWw7Ci0gIH07Ci0KLSAgVXNiRGV2aWNlX0Nv
bnRyb2xUcmFuc2Zlck91dF9SZXNwb25zZVBhcmFtcy5lbmNvZGUgPSBmdW5jdGlvbihlbmNvZGVy
LCB2YWwpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoVXNiRGV2
aWNlX0NvbnRyb2xUcmFuc2Zlck91dF9SZXNwb25zZVBhcmFtcy5lbmNvZGVkU2l6ZSk7Ci0gICAg
ZW5jb2Rlci53cml0ZVVpbnQzMigwKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdChjb2RlYy5J
bnQzMiwgdmFsLnN0YXR1cyk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tp
cCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICB9Owot
ICBmdW5jdGlvbiBVc2JEZXZpY2VfR2VuZXJpY1RyYW5zZmVySW5fUGFyYW1zKHZhbHVlcykgewot
ICAgIHRoaXMuaW5pdERlZmF1bHRzXygpOwotICAgIHRoaXMuaW5pdEZpZWxkc18odmFsdWVzKTsK
LSAgfQotCi0KLSAgVXNiRGV2aWNlX0dlbmVyaWNUcmFuc2ZlckluX1BhcmFtcy5wcm90b3R5cGUu
aW5pdERlZmF1bHRzXyA9IGZ1bmN0aW9uKCkgewotICAgIHRoaXMuZW5kcG9pbnROdW1iZXIgPSAw
OwotICAgIHRoaXMubGVuZ3RoID0gMDsKLSAgICB0aGlzLnRpbWVvdXQgPSAwOwotICB9OwotICBV
c2JEZXZpY2VfR2VuZXJpY1RyYW5zZmVySW5fUGFyYW1zLnByb3RvdHlwZS5pbml0RmllbGRzXyA9
IGZ1bmN0aW9uKGZpZWxkcykgewotICAgIGZvcih2YXIgZmllbGQgaW4gZmllbGRzKSB7Ci0gICAg
ICAgIGlmICh0aGlzLmhhc093blByb3BlcnR5KGZpZWxkKSkKLSAgICAgICAgICB0aGlzW2ZpZWxk
XSA9IGZpZWxkc1tmaWVsZF07Ci0gICAgfQotICB9OwotCi0gIFVzYkRldmljZV9HZW5lcmljVHJh
bnNmZXJJbl9QYXJhbXMudmFsaWRhdGUgPSBmdW5jdGlvbihtZXNzYWdlVmFsaWRhdG9yLCBvZmZz
ZXQpIHsKLSAgICB2YXIgZXJyOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVT
dHJ1Y3RIZWFkZXIob2Zmc2V0LCBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVy
ciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJy
OwotCi0gICAgdmFyIGtWZXJzaW9uU2l6ZXMgPSBbCi0gICAgICB7dmVyc2lvbjogMCwgbnVtQnl0
ZXM6IDI0fQotICAgIF07Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVj
dFZlcnNpb24ob2Zmc2V0LCBrVmVyc2lvblNpemVzKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0
b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotCi0KLSAg
ICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIFVzYkRl
dmljZV9HZW5lcmljVHJhbnNmZXJJbl9QYXJhbXMuZW5jb2RlZFNpemUgPSBjb2RlYy5rU3RydWN0
SGVhZGVyU2l6ZSArIDE2OwotCi0gIFVzYkRldmljZV9HZW5lcmljVHJhbnNmZXJJbl9QYXJhbXMu
ZGVjb2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgdmFyIHZh
bCA9IG5ldyBVc2JEZXZpY2VfR2VuZXJpY1RyYW5zZmVySW5fUGFyYW1zKCk7Ci0gICAgdmFyIG51
bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YXIgdmVyc2lvbiA9IGRl
Y29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhbC5lbmRwb2ludE51bWJlciA9IGRlY29kZXIuZGVj
b2RlU3RydWN0KGNvZGVjLlVpbnQ4KTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rl
ci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICB2YWwubGVuZ3RoID0gZGVjb2Rl
ci5kZWNvZGVTdHJ1Y3QoY29kZWMuVWludDMyKTsKLSAgICB2YWwudGltZW91dCA9IGRlY29kZXIu
ZGVjb2RlU3RydWN0KGNvZGVjLlVpbnQzMik7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRl
Y29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEp
OwotICAgIHJldHVybiB2YWw7Ci0gIH07Ci0KLSAgVXNiRGV2aWNlX0dlbmVyaWNUcmFuc2Zlcklu
X1BhcmFtcy5lbmNvZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2YWwpIHsKLSAgICB2YXIgcGFja2Vk
OwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoVXNiRGV2aWNlX0dlbmVyaWNUcmFuc2ZlckluX1Bh
cmFtcy5lbmNvZGVkU2l6ZSk7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMigwKTsKLSAgICBlbmNv
ZGVyLmVuY29kZVN0cnVjdChjb2RlYy5VaW50OCwgdmFsLmVuZHBvaW50TnVtYmVyKTsKLSAgICBl
bmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgx
KTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdChjb2RlYy5VaW50MzIsIHZhbC5sZW5ndGgpOwot
ICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNvZGVjLlVpbnQzMiwgdmFsLnRpbWVvdXQpOwotICAg
IGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lw
KDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgfTsKLSAgZnVuY3Rpb24gVXNiRGV2aWNlX0dl
bmVyaWNUcmFuc2ZlckluX1Jlc3BvbnNlUGFyYW1zKHZhbHVlcykgewotICAgIHRoaXMuaW5pdERl
ZmF1bHRzXygpOwotICAgIHRoaXMuaW5pdEZpZWxkc18odmFsdWVzKTsKLSAgfQotCi0KLSAgVXNi
RGV2aWNlX0dlbmVyaWNUcmFuc2ZlckluX1Jlc3BvbnNlUGFyYW1zLnByb3RvdHlwZS5pbml0RGVm
YXVsdHNfID0gZnVuY3Rpb24oKSB7Ci0gICAgdGhpcy5zdGF0dXMgPSAwOwotICAgIHRoaXMuZGF0
YSA9IG51bGw7Ci0gIH07Ci0gIFVzYkRldmljZV9HZW5lcmljVHJhbnNmZXJJbl9SZXNwb25zZVBh
cmFtcy5wcm90b3R5cGUuaW5pdEZpZWxkc18gPSBmdW5jdGlvbihmaWVsZHMpIHsKLSAgICBmb3Io
dmFyIGZpZWxkIGluIGZpZWxkcykgewotICAgICAgICBpZiAodGhpcy5oYXNPd25Qcm9wZXJ0eShm
aWVsZCkpCi0gICAgICAgICAgdGhpc1tmaWVsZF0gPSBmaWVsZHNbZmllbGRdOwotICAgIH0KLSAg
fTsKLQotICBVc2JEZXZpY2VfR2VuZXJpY1RyYW5zZmVySW5fUmVzcG9uc2VQYXJhbXMudmFsaWRh
dGUgPSBmdW5jdGlvbihtZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsKLSAgICB2YXIgZXJyOwot
ICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RIZWFkZXIob2Zmc2V0LCBj
b2RlYy5rU3RydWN0SGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlk
YXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgdmFyIGtWZXJzaW9u
U2l6ZXMgPSBbCi0gICAgICB7dmVyc2lvbjogMCwgbnVtQnl0ZXM6IDI0fQotICAgIF07Ci0gICAg
ZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFZlcnNpb24ob2Zmc2V0LCBrVmVy
c2lvblNpemVzKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5P
TkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotICAgIAotICAgIC8vIHZhbGlkYXRlIFVzYkRl
dmljZV9HZW5lcmljVHJhbnNmZXJJbl9SZXNwb25zZVBhcmFtcy5zdGF0dXMKLSAgICBlcnIgPSBt
ZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlRW51bShvZmZzZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVy
U2l6ZSArIDAsIFVzYlRyYW5zZmVyU3RhdHVzKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3Iu
dmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotICAgIAotICAg
IC8vIHZhbGlkYXRlIFVzYkRldmljZV9HZW5lcmljVHJhbnNmZXJJbl9SZXNwb25zZVBhcmFtcy5k
YXRhCi0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZUFycmF5UG9pbnRlcihvZmZz
ZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDgsIDEsIGNvZGVjLlVpbnQ4LCB0cnVlLCBb
MF0sIDApOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkK
LSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVy
cm9yLk5PTkU7Ci0gIH07Ci0KLSAgVXNiRGV2aWNlX0dlbmVyaWNUcmFuc2ZlckluX1Jlc3BvbnNl
UGFyYW1zLmVuY29kZWRTaXplID0gY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyAxNjsKLQotICBV
c2JEZXZpY2VfR2VuZXJpY1RyYW5zZmVySW5fUmVzcG9uc2VQYXJhbXMuZGVjb2RlID0gZnVuY3Rp
b24oZGVjb2RlcikgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgdmFyIHZhbCA9IG5ldyBVc2JEZXZp
Y2VfR2VuZXJpY1RyYW5zZmVySW5fUmVzcG9uc2VQYXJhbXMoKTsKLSAgICB2YXIgbnVtYmVyT2ZC
eXRlcyA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhciB2ZXJzaW9uID0gZGVjb2Rlci5y
ZWFkVWludDMyKCk7Ci0gICAgdmFsLnN0YXR1cyA9IGRlY29kZXIuZGVjb2RlU3RydWN0KGNvZGVj
LkludDMyKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAg
IGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgdmFsLmRhdGEgPSBk
ZWNvZGVyLmRlY29kZUFycmF5UG9pbnRlcihjb2RlYy5VaW50OCk7Ci0gICAgcmV0dXJuIHZhbDsK
LSAgfTsKLQotICBVc2JEZXZpY2VfR2VuZXJpY1RyYW5zZmVySW5fUmVzcG9uc2VQYXJhbXMuZW5j
b2RlID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICBlbmNv
ZGVyLndyaXRlVWludDMyKFVzYkRldmljZV9HZW5lcmljVHJhbnNmZXJJbl9SZXNwb25zZVBhcmFt
cy5lbmNvZGVkU2l6ZSk7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMigwKTsKLSAgICBlbmNvZGVy
LmVuY29kZVN0cnVjdChjb2RlYy5JbnQzMiwgdmFsLnN0YXR1cyk7Ci0gICAgZW5jb2Rlci5za2lw
KDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5j
b2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuZW5jb2RlQXJyYXlQb2ludGVyKGNvZGVjLlVpbnQ4
LCB2YWwuZGF0YSk7Ci0gIH07Ci0gIGZ1bmN0aW9uIFVzYkRldmljZV9HZW5lcmljVHJhbnNmZXJP
dXRfUGFyYW1zKHZhbHVlcykgewotICAgIHRoaXMuaW5pdERlZmF1bHRzXygpOwotICAgIHRoaXMu
aW5pdEZpZWxkc18odmFsdWVzKTsKLSAgfQotCi0KLSAgVXNiRGV2aWNlX0dlbmVyaWNUcmFuc2Zl
ck91dF9QYXJhbXMucHJvdG90eXBlLmluaXREZWZhdWx0c18gPSBmdW5jdGlvbigpIHsKLSAgICB0
aGlzLmVuZHBvaW50TnVtYmVyID0gMDsKLSAgICB0aGlzLnRpbWVvdXQgPSAwOwotICAgIHRoaXMu
ZGF0YSA9IG51bGw7Ci0gIH07Ci0gIFVzYkRldmljZV9HZW5lcmljVHJhbnNmZXJPdXRfUGFyYW1z
LnByb3RvdHlwZS5pbml0RmllbGRzXyA9IGZ1bmN0aW9uKGZpZWxkcykgewotICAgIGZvcih2YXIg
ZmllbGQgaW4gZmllbGRzKSB7Ci0gICAgICAgIGlmICh0aGlzLmhhc093blByb3BlcnR5KGZpZWxk
KSkKLSAgICAgICAgICB0aGlzW2ZpZWxkXSA9IGZpZWxkc1tmaWVsZF07Ci0gICAgfQotICB9Owot
Ci0gIFVzYkRldmljZV9HZW5lcmljVHJhbnNmZXJPdXRfUGFyYW1zLnZhbGlkYXRlID0gZnVuY3Rp
b24obWVzc2FnZVZhbGlkYXRvciwgb2Zmc2V0KSB7Ci0gICAgdmFyIGVycjsKLSAgICBlcnIgPSBt
ZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0SGVhZGVyKG9mZnNldCwgY29kZWMua1N0cnVj
dEhlYWRlclNpemUpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3Iu
Tk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHZhciBrVmVyc2lvblNpemVzID0gWwot
ICAgICAge3ZlcnNpb246IDAsIG51bUJ5dGVzOiAyNH0KLSAgICBdOwotICAgIGVyciA9IG1lc3Nh
Z2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RWZXJzaW9uKG9mZnNldCwga1ZlcnNpb25TaXplcyk7
Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAg
ICByZXR1cm4gZXJyOwotCi0KLQotICAgIAotICAgIC8vIHZhbGlkYXRlIFVzYkRldmljZV9HZW5l
cmljVHJhbnNmZXJPdXRfUGFyYW1zLmRhdGEKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZh
bGlkYXRlQXJyYXlQb2ludGVyKG9mZnNldCArIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgOCwg
MSwgY29kZWMuVWludDgsIGZhbHNlLCBbMF0sIDApOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRv
ci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0gICAgcmV0
dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQotICBVc2JEZXZpY2Vf
R2VuZXJpY1RyYW5zZmVyT3V0X1BhcmFtcy5lbmNvZGVkU2l6ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFk
ZXJTaXplICsgMTY7Ci0KLSAgVXNiRGV2aWNlX0dlbmVyaWNUcmFuc2Zlck91dF9QYXJhbXMuZGVj
b2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgdmFyIHZhbCA9
IG5ldyBVc2JEZXZpY2VfR2VuZXJpY1RyYW5zZmVyT3V0X1BhcmFtcygpOwotICAgIHZhciBudW1i
ZXJPZkJ5dGVzID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFyIHZlcnNpb24gPSBkZWNv
ZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YWwuZW5kcG9pbnROdW1iZXIgPSBkZWNvZGVyLmRlY29k
ZVN0cnVjdChjb2RlYy5VaW50OCk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIu
c2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgdmFsLnRpbWVvdXQgPSBkZWNvZGVy
LmRlY29kZVN0cnVjdChjb2RlYy5VaW50MzIpOwotICAgIHZhbC5kYXRhID0gZGVjb2Rlci5kZWNv
ZGVBcnJheVBvaW50ZXIoY29kZWMuVWludDgpOwotICAgIHJldHVybiB2YWw7Ci0gIH07Ci0KLSAg
VXNiRGV2aWNlX0dlbmVyaWNUcmFuc2Zlck91dF9QYXJhbXMuZW5jb2RlID0gZnVuY3Rpb24oZW5j
b2RlciwgdmFsKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKFVz
YkRldmljZV9HZW5lcmljVHJhbnNmZXJPdXRfUGFyYW1zLmVuY29kZWRTaXplKTsKLSAgICBlbmNv
ZGVyLndyaXRlVWludDMyKDApOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNvZGVjLlVpbnQ4
LCB2YWwuZW5kcG9pbnROdW1iZXIpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVy
LnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0
KGNvZGVjLlVpbnQzMiwgdmFsLnRpbWVvdXQpOwotICAgIGVuY29kZXIuZW5jb2RlQXJyYXlQb2lu
dGVyKGNvZGVjLlVpbnQ4LCB2YWwuZGF0YSk7Ci0gIH07Ci0gIGZ1bmN0aW9uIFVzYkRldmljZV9H
ZW5lcmljVHJhbnNmZXJPdXRfUmVzcG9uc2VQYXJhbXModmFsdWVzKSB7Ci0gICAgdGhpcy5pbml0
RGVmYXVsdHNfKCk7Ci0gICAgdGhpcy5pbml0RmllbGRzXyh2YWx1ZXMpOwotICB9Ci0KLQotICBV
c2JEZXZpY2VfR2VuZXJpY1RyYW5zZmVyT3V0X1Jlc3BvbnNlUGFyYW1zLnByb3RvdHlwZS5pbml0
RGVmYXVsdHNfID0gZnVuY3Rpb24oKSB7Ci0gICAgdGhpcy5zdGF0dXMgPSAwOwotICB9OwotICBV
c2JEZXZpY2VfR2VuZXJpY1RyYW5zZmVyT3V0X1Jlc3BvbnNlUGFyYW1zLnByb3RvdHlwZS5pbml0
RmllbGRzXyA9IGZ1bmN0aW9uKGZpZWxkcykgewotICAgIGZvcih2YXIgZmllbGQgaW4gZmllbGRz
KSB7Ci0gICAgICAgIGlmICh0aGlzLmhhc093blByb3BlcnR5KGZpZWxkKSkKLSAgICAgICAgICB0
aGlzW2ZpZWxkXSA9IGZpZWxkc1tmaWVsZF07Ci0gICAgfQotICB9OwotCi0gIFVzYkRldmljZV9H
ZW5lcmljVHJhbnNmZXJPdXRfUmVzcG9uc2VQYXJhbXMudmFsaWRhdGUgPSBmdW5jdGlvbihtZXNz
YWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsKLSAgICB2YXIgZXJyOwotICAgIGVyciA9IG1lc3NhZ2VW
YWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RIZWFkZXIob2Zmc2V0LCBjb2RlYy5rU3RydWN0SGVhZGVy
U2l6ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQot
ICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgdmFyIGtWZXJzaW9uU2l6ZXMgPSBbCi0gICAgICB7
dmVyc2lvbjogMCwgbnVtQnl0ZXM6IDE2fQotICAgIF07Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlk
YXRvci52YWxpZGF0ZVN0cnVjdFZlcnNpb24ob2Zmc2V0LCBrVmVyc2lvblNpemVzKTsKLSAgICBp
ZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVy
biBlcnI7Ci0KLQotICAgIAotICAgIC8vIHZhbGlkYXRlIFVzYkRldmljZV9HZW5lcmljVHJhbnNm
ZXJPdXRfUmVzcG9uc2VQYXJhbXMuc3RhdHVzCi0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52
YWxpZGF0ZUVudW0ob2Zmc2V0ICsgY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyAwLCBVc2JUcmFu
c2ZlclN0YXR1cyk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5O
T05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0
aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQotICBVc2JEZXZpY2VfR2VuZXJpY1RyYW5zZmVyT3V0X1Jl
c3BvbnNlUGFyYW1zLmVuY29kZWRTaXplID0gY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyA4Owot
Ci0gIFVzYkRldmljZV9HZW5lcmljVHJhbnNmZXJPdXRfUmVzcG9uc2VQYXJhbXMuZGVjb2RlID0g
ZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgdmFyIHZhbCA9IG5ldyBV
c2JEZXZpY2VfR2VuZXJpY1RyYW5zZmVyT3V0X1Jlc3BvbnNlUGFyYW1zKCk7Ci0gICAgdmFyIG51
bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YXIgdmVyc2lvbiA9IGRl
Y29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhbC5zdGF0dXMgPSBkZWNvZGVyLmRlY29kZVN0cnVj
dChjb2RlYy5JbnQzMik7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgx
KTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIHJldHVy
biB2YWw7Ci0gIH07Ci0KLSAgVXNiRGV2aWNlX0dlbmVyaWNUcmFuc2Zlck91dF9SZXNwb25zZVBh
cmFtcy5lbmNvZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2YWwpIHsKLSAgICB2YXIgcGFja2VkOwot
ICAgIGVuY29kZXIud3JpdGVVaW50MzIoVXNiRGV2aWNlX0dlbmVyaWNUcmFuc2Zlck91dF9SZXNw
b25zZVBhcmFtcy5lbmNvZGVkU2l6ZSk7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMigwKTsKLSAg
ICBlbmNvZGVyLmVuY29kZVN0cnVjdChjb2RlYy5JbnQzMiwgdmFsLnN0YXR1cyk7Ci0gICAgZW5j
b2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7
Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICB9OwotICBmdW5jdGlvbiBVc2JEZXZpY2VfSXNvY2hy
b25vdXNUcmFuc2ZlckluX1BhcmFtcyh2YWx1ZXMpIHsKLSAgICB0aGlzLmluaXREZWZhdWx0c18o
KTsKLSAgICB0aGlzLmluaXRGaWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0gIFVzYkRldmljZV9J
c29jaHJvbm91c1RyYW5zZmVySW5fUGFyYW1zLnByb3RvdHlwZS5pbml0RGVmYXVsdHNfID0gZnVu
Y3Rpb24oKSB7Ci0gICAgdGhpcy5lbmRwb2ludE51bWJlciA9IDA7Ci0gICAgdGhpcy50aW1lb3V0
ID0gMDsKLSAgICB0aGlzLnBhY2tldExlbmd0aHMgPSBudWxsOwotICB9OwotICBVc2JEZXZpY2Vf
SXNvY2hyb25vdXNUcmFuc2ZlckluX1BhcmFtcy5wcm90b3R5cGUuaW5pdEZpZWxkc18gPSBmdW5j
dGlvbihmaWVsZHMpIHsKLSAgICBmb3IodmFyIGZpZWxkIGluIGZpZWxkcykgewotICAgICAgICBp
ZiAodGhpcy5oYXNPd25Qcm9wZXJ0eShmaWVsZCkpCi0gICAgICAgICAgdGhpc1tmaWVsZF0gPSBm
aWVsZHNbZmllbGRdOwotICAgIH0KLSAgfTsKLQotICBVc2JEZXZpY2VfSXNvY2hyb25vdXNUcmFu
c2ZlckluX1BhcmFtcy52YWxpZGF0ZSA9IGZ1bmN0aW9uKG1lc3NhZ2VWYWxpZGF0b3IsIG9mZnNl
dCkgewotICAgIHZhciBlcnI7Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0
cnVjdEhlYWRlcihvZmZzZXQsIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplKTsKLSAgICBpZiAoZXJy
ICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7
Ci0KLSAgICB2YXIga1ZlcnNpb25TaXplcyA9IFsKLSAgICAgIHt2ZXJzaW9uOiAwLCBudW1CeXRl
czogMjR9Ci0gICAgXTsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0
VmVyc2lvbihvZmZzZXQsIGtWZXJzaW9uU2l6ZXMpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRv
ci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0KLSAgICAK
LSAgICAvLyB2YWxpZGF0ZSBVc2JEZXZpY2VfSXNvY2hyb25vdXNUcmFuc2ZlckluX1BhcmFtcy5w
YWNrZXRMZW5ndGhzCi0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZUFycmF5UG9p
bnRlcihvZmZzZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDgsIDQsIGNvZGVjLlVpbnQz
MiwgZmFsc2UsIFswXSwgMCk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25F
cnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0KLSAgICByZXR1cm4gdmFsaWRhdG9y
LnZhbGlkYXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIFVzYkRldmljZV9Jc29jaHJvbm91c1Ry
YW5zZmVySW5fUGFyYW1zLmVuY29kZWRTaXplID0gY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyAx
NjsKLQotICBVc2JEZXZpY2VfSXNvY2hyb25vdXNUcmFuc2ZlckluX1BhcmFtcy5kZWNvZGUgPSBm
dW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICB2YXIgdmFsID0gbmV3IFVz
YkRldmljZV9Jc29jaHJvbm91c1RyYW5zZmVySW5fUGFyYW1zKCk7Ci0gICAgdmFyIG51bWJlck9m
Qnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YXIgdmVyc2lvbiA9IGRlY29kZXIu
cmVhZFVpbnQzMigpOwotICAgIHZhbC5lbmRwb2ludE51bWJlciA9IGRlY29kZXIuZGVjb2RlU3Ry
dWN0KGNvZGVjLlVpbnQ4KTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lw
KDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICB2YWwudGltZW91dCA9IGRlY29kZXIuZGVj
b2RlU3RydWN0KGNvZGVjLlVpbnQzMik7Ci0gICAgdmFsLnBhY2tldExlbmd0aHMgPSBkZWNvZGVy
LmRlY29kZUFycmF5UG9pbnRlcihjb2RlYy5VaW50MzIpOwotICAgIHJldHVybiB2YWw7Ci0gIH07
Ci0KLSAgVXNiRGV2aWNlX0lzb2Nocm9ub3VzVHJhbnNmZXJJbl9QYXJhbXMuZW5jb2RlID0gZnVu
Y3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICBlbmNvZGVyLndyaXRl
VWludDMyKFVzYkRldmljZV9Jc29jaHJvbm91c1RyYW5zZmVySW5fUGFyYW1zLmVuY29kZWRTaXpl
KTsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKDApOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0
KGNvZGVjLlVpbnQ4LCB2YWwuZW5kcG9pbnROdW1iZXIpOwotICAgIGVuY29kZXIuc2tpcCgxKTsK
LSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIu
ZW5jb2RlU3RydWN0KGNvZGVjLlVpbnQzMiwgdmFsLnRpbWVvdXQpOwotICAgIGVuY29kZXIuZW5j
b2RlQXJyYXlQb2ludGVyKGNvZGVjLlVpbnQzMiwgdmFsLnBhY2tldExlbmd0aHMpOwotICB9Owot
ICBmdW5jdGlvbiBVc2JEZXZpY2VfSXNvY2hyb25vdXNUcmFuc2ZlckluX1Jlc3BvbnNlUGFyYW1z
KHZhbHVlcykgewotICAgIHRoaXMuaW5pdERlZmF1bHRzXygpOwotICAgIHRoaXMuaW5pdEZpZWxk
c18odmFsdWVzKTsKLSAgfQotCi0KLSAgVXNiRGV2aWNlX0lzb2Nocm9ub3VzVHJhbnNmZXJJbl9S
ZXNwb25zZVBhcmFtcy5wcm90b3R5cGUuaW5pdERlZmF1bHRzXyA9IGZ1bmN0aW9uKCkgewotICAg
IHRoaXMuZGF0YSA9IG51bGw7Ci0gICAgdGhpcy5wYWNrZXRzID0gbnVsbDsKLSAgfTsKLSAgVXNi
RGV2aWNlX0lzb2Nocm9ub3VzVHJhbnNmZXJJbl9SZXNwb25zZVBhcmFtcy5wcm90b3R5cGUuaW5p
dEZpZWxkc18gPSBmdW5jdGlvbihmaWVsZHMpIHsKLSAgICBmb3IodmFyIGZpZWxkIGluIGZpZWxk
cykgewotICAgICAgICBpZiAodGhpcy5oYXNPd25Qcm9wZXJ0eShmaWVsZCkpCi0gICAgICAgICAg
dGhpc1tmaWVsZF0gPSBmaWVsZHNbZmllbGRdOwotICAgIH0KLSAgfTsKLQotICBVc2JEZXZpY2Vf
SXNvY2hyb25vdXNUcmFuc2ZlckluX1Jlc3BvbnNlUGFyYW1zLnZhbGlkYXRlID0gZnVuY3Rpb24o
bWVzc2FnZVZhbGlkYXRvciwgb2Zmc2V0KSB7Ci0gICAgdmFyIGVycjsKLSAgICBlcnIgPSBtZXNz
YWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0SGVhZGVyKG9mZnNldCwgY29kZWMua1N0cnVjdEhl
YWRlclNpemUpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9O
RSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHZhciBrVmVyc2lvblNpemVzID0gWwotICAg
ICAge3ZlcnNpb246IDAsIG51bUJ5dGVzOiAyNH0KLSAgICBdOwotICAgIGVyciA9IG1lc3NhZ2VW
YWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RWZXJzaW9uKG9mZnNldCwga1ZlcnNpb25TaXplcyk7Ci0g
ICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICBy
ZXR1cm4gZXJyOwotCi0KLSAgICAKLSAgICAvLyB2YWxpZGF0ZSBVc2JEZXZpY2VfSXNvY2hyb25v
dXNUcmFuc2ZlckluX1Jlc3BvbnNlUGFyYW1zLmRhdGEKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRh
dG9yLnZhbGlkYXRlQXJyYXlQb2ludGVyKG9mZnNldCArIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXpl
ICsgMCwgMSwgY29kZWMuVWludDgsIHRydWUsIFswXSwgMCk7Ci0gICAgaWYgKGVyciAhPT0gdmFs
aWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0KLSAg
ICAKLSAgICAvLyB2YWxpZGF0ZSBVc2JEZXZpY2VfSXNvY2hyb25vdXNUcmFuc2ZlckluX1Jlc3Bv
bnNlUGFyYW1zLnBhY2tldHMKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlQXJy
YXlQb2ludGVyKG9mZnNldCArIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgOCwgOCwgbmV3IGNv
ZGVjLlBvaW50ZXJUbyhVc2JJc29jaHJvbm91c1BhY2tldCksIGZhbHNlLCBbMF0sIDApOwotICAg
IGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0
dXJuIGVycjsKLQotICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0g
IH07Ci0KLSAgVXNiRGV2aWNlX0lzb2Nocm9ub3VzVHJhbnNmZXJJbl9SZXNwb25zZVBhcmFtcy5l
bmNvZGVkU2l6ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgMTY7Ci0KLSAgVXNiRGV2aWNl
X0lzb2Nocm9ub3VzVHJhbnNmZXJJbl9SZXNwb25zZVBhcmFtcy5kZWNvZGUgPSBmdW5jdGlvbihk
ZWNvZGVyKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICB2YXIgdmFsID0gbmV3IFVzYkRldmljZV9J
c29jaHJvbm91c1RyYW5zZmVySW5fUmVzcG9uc2VQYXJhbXMoKTsKLSAgICB2YXIgbnVtYmVyT2ZC
eXRlcyA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhciB2ZXJzaW9uID0gZGVjb2Rlci5y
ZWFkVWludDMyKCk7Ci0gICAgdmFsLmRhdGEgPSBkZWNvZGVyLmRlY29kZUFycmF5UG9pbnRlcihj
b2RlYy5VaW50OCk7Ci0gICAgdmFsLnBhY2tldHMgPSBkZWNvZGVyLmRlY29kZUFycmF5UG9pbnRl
cihuZXcgY29kZWMuUG9pbnRlclRvKFVzYklzb2Nocm9ub3VzUGFja2V0KSk7Ci0gICAgcmV0dXJu
IHZhbDsKLSAgfTsKLQotICBVc2JEZXZpY2VfSXNvY2hyb25vdXNUcmFuc2ZlckluX1Jlc3BvbnNl
UGFyYW1zLmVuY29kZSA9IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgIHZhciBwYWNrZWQ7
Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMihVc2JEZXZpY2VfSXNvY2hyb25vdXNUcmFuc2Zlcklu
X1Jlc3BvbnNlUGFyYW1zLmVuY29kZWRTaXplKTsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKDAp
OwotICAgIGVuY29kZXIuZW5jb2RlQXJyYXlQb2ludGVyKGNvZGVjLlVpbnQ4LCB2YWwuZGF0YSk7
Ci0gICAgZW5jb2Rlci5lbmNvZGVBcnJheVBvaW50ZXIobmV3IGNvZGVjLlBvaW50ZXJUbyhVc2JJ
c29jaHJvbm91c1BhY2tldCksIHZhbC5wYWNrZXRzKTsKLSAgfTsKLSAgZnVuY3Rpb24gVXNiRGV2
aWNlX0lzb2Nocm9ub3VzVHJhbnNmZXJPdXRfUGFyYW1zKHZhbHVlcykgewotICAgIHRoaXMuaW5p
dERlZmF1bHRzXygpOwotICAgIHRoaXMuaW5pdEZpZWxkc18odmFsdWVzKTsKLSAgfQotCi0KLSAg
VXNiRGV2aWNlX0lzb2Nocm9ub3VzVHJhbnNmZXJPdXRfUGFyYW1zLnByb3RvdHlwZS5pbml0RGVm
YXVsdHNfID0gZnVuY3Rpb24oKSB7Ci0gICAgdGhpcy5lbmRwb2ludE51bWJlciA9IDA7Ci0gICAg
dGhpcy50aW1lb3V0ID0gMDsKLSAgICB0aGlzLmRhdGEgPSBudWxsOwotICAgIHRoaXMucGFja2V0
TGVuZ3RocyA9IG51bGw7Ci0gIH07Ci0gIFVzYkRldmljZV9Jc29jaHJvbm91c1RyYW5zZmVyT3V0
X1BhcmFtcy5wcm90b3R5cGUuaW5pdEZpZWxkc18gPSBmdW5jdGlvbihmaWVsZHMpIHsKLSAgICBm
b3IodmFyIGZpZWxkIGluIGZpZWxkcykgewotICAgICAgICBpZiAodGhpcy5oYXNPd25Qcm9wZXJ0
eShmaWVsZCkpCi0gICAgICAgICAgdGhpc1tmaWVsZF0gPSBmaWVsZHNbZmllbGRdOwotICAgIH0K
LSAgfTsKLQotICBVc2JEZXZpY2VfSXNvY2hyb25vdXNUcmFuc2Zlck91dF9QYXJhbXMudmFsaWRh
dGUgPSBmdW5jdGlvbihtZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsKLSAgICB2YXIgZXJyOwot
ICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RIZWFkZXIob2Zmc2V0LCBj
b2RlYy5rU3RydWN0SGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlk
YXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgdmFyIGtWZXJzaW9u
U2l6ZXMgPSBbCi0gICAgICB7dmVyc2lvbjogMCwgbnVtQnl0ZXM6IDMyfQotICAgIF07Ci0gICAg
ZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFZlcnNpb24ob2Zmc2V0LCBrVmVy
c2lvblNpemVzKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5P
TkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotCi0gICAgCi0gICAgLy8gdmFsaWRhdGUgVXNi
RGV2aWNlX0lzb2Nocm9ub3VzVHJhbnNmZXJPdXRfUGFyYW1zLmRhdGEKLSAgICBlcnIgPSBtZXNz
YWdlVmFsaWRhdG9yLnZhbGlkYXRlQXJyYXlQb2ludGVyKG9mZnNldCArIGNvZGVjLmtTdHJ1Y3RI
ZWFkZXJTaXplICsgOCwgMSwgY29kZWMuVWludDgsIGZhbHNlLCBbMF0sIDApOwotICAgIGlmIChl
cnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVy
cjsKLQotCi0gICAgCi0gICAgLy8gdmFsaWRhdGUgVXNiRGV2aWNlX0lzb2Nocm9ub3VzVHJhbnNm
ZXJPdXRfUGFyYW1zLnBhY2tldExlbmd0aHMKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZh
bGlkYXRlQXJyYXlQb2ludGVyKG9mZnNldCArIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgMTYs
IDQsIGNvZGVjLlVpbnQzMiwgZmFsc2UsIFswXSwgMCk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRh
dG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0KLSAgICBy
ZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIFVzYkRldmlj
ZV9Jc29jaHJvbm91c1RyYW5zZmVyT3V0X1BhcmFtcy5lbmNvZGVkU2l6ZSA9IGNvZGVjLmtTdHJ1
Y3RIZWFkZXJTaXplICsgMjQ7Ci0KLSAgVXNiRGV2aWNlX0lzb2Nocm9ub3VzVHJhbnNmZXJPdXRf
UGFyYW1zLmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICB2YXIgcGFja2VkOwotICAg
IHZhciB2YWwgPSBuZXcgVXNiRGV2aWNlX0lzb2Nocm9ub3VzVHJhbnNmZXJPdXRfUGFyYW1zKCk7
Ci0gICAgdmFyIG51bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YXIg
dmVyc2lvbiA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhbC5lbmRwb2ludE51bWJlciA9
IGRlY29kZXIuZGVjb2RlU3RydWN0KGNvZGVjLlVpbnQ4KTsKLSAgICBkZWNvZGVyLnNraXAoMSk7
Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICB2YWwudGlt
ZW91dCA9IGRlY29kZXIuZGVjb2RlU3RydWN0KGNvZGVjLlVpbnQzMik7Ci0gICAgdmFsLmRhdGEg
PSBkZWNvZGVyLmRlY29kZUFycmF5UG9pbnRlcihjb2RlYy5VaW50OCk7Ci0gICAgdmFsLnBhY2tl
dExlbmd0aHMgPSBkZWNvZGVyLmRlY29kZUFycmF5UG9pbnRlcihjb2RlYy5VaW50MzIpOwotICAg
IHJldHVybiB2YWw7Ci0gIH07Ci0KLSAgVXNiRGV2aWNlX0lzb2Nocm9ub3VzVHJhbnNmZXJPdXRf
UGFyYW1zLmVuY29kZSA9IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgIHZhciBwYWNrZWQ7
Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMihVc2JEZXZpY2VfSXNvY2hyb25vdXNUcmFuc2Zlck91
dF9QYXJhbXMuZW5jb2RlZFNpemUpOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoMCk7Ci0gICAg
ZW5jb2Rlci5lbmNvZGVTdHJ1Y3QoY29kZWMuVWludDgsIHZhbC5lbmRwb2ludE51bWJlcik7Ci0g
ICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNr
aXAoMSk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3QoY29kZWMuVWludDMyLCB2YWwudGltZW91
dCk7Ci0gICAgZW5jb2Rlci5lbmNvZGVBcnJheVBvaW50ZXIoY29kZWMuVWludDgsIHZhbC5kYXRh
KTsKLSAgICBlbmNvZGVyLmVuY29kZUFycmF5UG9pbnRlcihjb2RlYy5VaW50MzIsIHZhbC5wYWNr
ZXRMZW5ndGhzKTsKLSAgfTsKLSAgZnVuY3Rpb24gVXNiRGV2aWNlX0lzb2Nocm9ub3VzVHJhbnNm
ZXJPdXRfUmVzcG9uc2VQYXJhbXModmFsdWVzKSB7Ci0gICAgdGhpcy5pbml0RGVmYXVsdHNfKCk7
Ci0gICAgdGhpcy5pbml0RmllbGRzXyh2YWx1ZXMpOwotICB9Ci0KLQotICBVc2JEZXZpY2VfSXNv
Y2hyb25vdXNUcmFuc2Zlck91dF9SZXNwb25zZVBhcmFtcy5wcm90b3R5cGUuaW5pdERlZmF1bHRz
XyA9IGZ1bmN0aW9uKCkgewotICAgIHRoaXMucGFja2V0cyA9IG51bGw7Ci0gIH07Ci0gIFVzYkRl
dmljZV9Jc29jaHJvbm91c1RyYW5zZmVyT3V0X1Jlc3BvbnNlUGFyYW1zLnByb3RvdHlwZS5pbml0
RmllbGRzXyA9IGZ1bmN0aW9uKGZpZWxkcykgewotICAgIGZvcih2YXIgZmllbGQgaW4gZmllbGRz
KSB7Ci0gICAgICAgIGlmICh0aGlzLmhhc093blByb3BlcnR5KGZpZWxkKSkKLSAgICAgICAgICB0
aGlzW2ZpZWxkXSA9IGZpZWxkc1tmaWVsZF07Ci0gICAgfQotICB9OwotCi0gIFVzYkRldmljZV9J
c29jaHJvbm91c1RyYW5zZmVyT3V0X1Jlc3BvbnNlUGFyYW1zLnZhbGlkYXRlID0gZnVuY3Rpb24o
bWVzc2FnZVZhbGlkYXRvciwgb2Zmc2V0KSB7Ci0gICAgdmFyIGVycjsKLSAgICBlcnIgPSBtZXNz
YWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0SGVhZGVyKG9mZnNldCwgY29kZWMua1N0cnVjdEhl
YWRlclNpemUpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9O
RSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHZhciBrVmVyc2lvblNpemVzID0gWwotICAg
ICAge3ZlcnNpb246IDAsIG51bUJ5dGVzOiAxNn0KLSAgICBdOwotICAgIGVyciA9IG1lc3NhZ2VW
YWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RWZXJzaW9uKG9mZnNldCwga1ZlcnNpb25TaXplcyk7Ci0g
ICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICBy
ZXR1cm4gZXJyOwotCi0KLSAgICAKLSAgICAvLyB2YWxpZGF0ZSBVc2JEZXZpY2VfSXNvY2hyb25v
dXNUcmFuc2Zlck91dF9SZXNwb25zZVBhcmFtcy5wYWNrZXRzCi0gICAgZXJyID0gbWVzc2FnZVZh
bGlkYXRvci52YWxpZGF0ZUFycmF5UG9pbnRlcihvZmZzZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVy
U2l6ZSArIDAsIDgsIG5ldyBjb2RlYy5Qb2ludGVyVG8oVXNiSXNvY2hyb25vdXNQYWNrZXQpLCBm
YWxzZSwgWzBdLCAwKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9y
Lk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlk
YXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIFVzYkRldmljZV9Jc29jaHJvbm91c1RyYW5zZmVy
T3V0X1Jlc3BvbnNlUGFyYW1zLmVuY29kZWRTaXplID0gY29kZWMua1N0cnVjdEhlYWRlclNpemUg
KyA4OwotCi0gIFVzYkRldmljZV9Jc29jaHJvbm91c1RyYW5zZmVyT3V0X1Jlc3BvbnNlUGFyYW1z
LmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIHZhciB2
YWwgPSBuZXcgVXNiRGV2aWNlX0lzb2Nocm9ub3VzVHJhbnNmZXJPdXRfUmVzcG9uc2VQYXJhbXMo
KTsKLSAgICB2YXIgbnVtYmVyT2ZCeXRlcyA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZh
ciB2ZXJzaW9uID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFsLnBhY2tldHMgPSBkZWNv
ZGVyLmRlY29kZUFycmF5UG9pbnRlcihuZXcgY29kZWMuUG9pbnRlclRvKFVzYklzb2Nocm9ub3Vz
UGFja2V0KSk7Ci0gICAgcmV0dXJuIHZhbDsKLSAgfTsKLQotICBVc2JEZXZpY2VfSXNvY2hyb25v
dXNUcmFuc2Zlck91dF9SZXNwb25zZVBhcmFtcy5lbmNvZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2
YWwpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoVXNiRGV2aWNl
X0lzb2Nocm9ub3VzVHJhbnNmZXJPdXRfUmVzcG9uc2VQYXJhbXMuZW5jb2RlZFNpemUpOwotICAg
IGVuY29kZXIud3JpdGVVaW50MzIoMCk7Ci0gICAgZW5jb2Rlci5lbmNvZGVBcnJheVBvaW50ZXIo
bmV3IGNvZGVjLlBvaW50ZXJUbyhVc2JJc29jaHJvbm91c1BhY2tldCksIHZhbC5wYWNrZXRzKTsK
LSAgfTsKLSAgdmFyIGtVc2JEZXZpY2VfT3Blbl9OYW1lID0gMDsKLSAgdmFyIGtVc2JEZXZpY2Vf
Q2xvc2VfTmFtZSA9IDE7Ci0gIHZhciBrVXNiRGV2aWNlX1NldENvbmZpZ3VyYXRpb25fTmFtZSA9
IDI7Ci0gIHZhciBrVXNiRGV2aWNlX0NsYWltSW50ZXJmYWNlX05hbWUgPSAzOwotICB2YXIga1Vz
YkRldmljZV9SZWxlYXNlSW50ZXJmYWNlX05hbWUgPSA0OwotICB2YXIga1VzYkRldmljZV9TZXRJ
bnRlcmZhY2VBbHRlcm5hdGVTZXR0aW5nX05hbWUgPSA1OwotICB2YXIga1VzYkRldmljZV9SZXNl
dF9OYW1lID0gNjsKLSAgdmFyIGtVc2JEZXZpY2VfQ2xlYXJIYWx0X05hbWUgPSA3OwotICB2YXIg
a1VzYkRldmljZV9Db250cm9sVHJhbnNmZXJJbl9OYW1lID0gODsKLSAgdmFyIGtVc2JEZXZpY2Vf
Q29udHJvbFRyYW5zZmVyT3V0X05hbWUgPSA5OwotICB2YXIga1VzYkRldmljZV9HZW5lcmljVHJh
bnNmZXJJbl9OYW1lID0gMTA7Ci0gIHZhciBrVXNiRGV2aWNlX0dlbmVyaWNUcmFuc2Zlck91dF9O
YW1lID0gMTE7Ci0gIHZhciBrVXNiRGV2aWNlX0lzb2Nocm9ub3VzVHJhbnNmZXJJbl9OYW1lID0g
MTI7Ci0gIHZhciBrVXNiRGV2aWNlX0lzb2Nocm9ub3VzVHJhbnNmZXJPdXRfTmFtZSA9IDEzOwot
Ci0gIGZ1bmN0aW9uIFVzYkRldmljZVB0cihoYW5kbGVPclB0ckluZm8pIHsKLSAgICB0aGlzLnB0
ciA9IG5ldyBiaW5kaW5ncy5JbnRlcmZhY2VQdHJDb250cm9sbGVyKFVzYkRldmljZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZU9yUHRy
SW5mbyk7Ci0gIH0KLQotICBmdW5jdGlvbiBVc2JEZXZpY2VBc3NvY2lhdGVkUHRyKGFzc29jaWF0
ZWRJbnRlcmZhY2VQdHJJbmZvKSB7Ci0gICAgdGhpcy5wdHIgPSBuZXcgYXNzb2NpYXRlZEJpbmRp
bmdzLkFzc29jaWF0ZWRJbnRlcmZhY2VQdHJDb250cm9sbGVyKAotICAgICAgICBVc2JEZXZpY2Us
IGFzc29jaWF0ZWRJbnRlcmZhY2VQdHJJbmZvKTsKLSAgfQotCi0gIFVzYkRldmljZUFzc29jaWF0
ZWRQdHIucHJvdG90eXBlID0KLSAgICAgIE9iamVjdC5jcmVhdGUoVXNiRGV2aWNlUHRyLnByb3Rv
dHlwZSk7Ci0gIFVzYkRldmljZUFzc29jaWF0ZWRQdHIucHJvdG90eXBlLmNvbnN0cnVjdG9yID0K
LSAgICAgIFVzYkRldmljZUFzc29jaWF0ZWRQdHI7Ci0KLSAgZnVuY3Rpb24gVXNiRGV2aWNlUHJv
eHkocmVjZWl2ZXIpIHsKLSAgICB0aGlzLnJlY2VpdmVyXyA9IHJlY2VpdmVyOwotICB9Ci0gIFVz
YkRldmljZVB0ci5wcm90b3R5cGUub3BlbiA9IGZ1bmN0aW9uKCkgewotICAgIHJldHVybiBVc2JE
ZXZpY2VQcm94eS5wcm90b3R5cGUub3BlbgotICAgICAgICAuYXBwbHkodGhpcy5wdHIuZ2V0UHJv
eHkoKSwgYXJndW1lbnRzKTsKLSAgfTsKLQotICBVc2JEZXZpY2VQcm94eS5wcm90b3R5cGUub3Bl
biA9IGZ1bmN0aW9uKCkgewotICAgIHZhciBwYXJhbXMgPSBuZXcgVXNiRGV2aWNlX09wZW5fUGFy
YW1zKCk7Ci0gICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkg
ewotICAgICAgdmFyIGJ1aWxkZXIgPSBuZXcgY29kZWMuTWVzc2FnZVYxQnVpbGRlcigKLSAgICAg
ICAgICBrVXNiRGV2aWNlX09wZW5fTmFtZSwKLSAgICAgICAgICBjb2RlYy5hbGlnbihVc2JEZXZp
Y2VfT3Blbl9QYXJhbXMuZW5jb2RlZFNpemUpLAotICAgICAgICAgIGNvZGVjLmtNZXNzYWdlRXhw
ZWN0c1Jlc3BvbnNlLCAwKTsKLSAgICAgIGJ1aWxkZXIuZW5jb2RlU3RydWN0KFVzYkRldmljZV9P
cGVuX1BhcmFtcywgcGFyYW1zKTsKLSAgICAgIHZhciBtZXNzYWdlID0gYnVpbGRlci5maW5pc2go
KTsKLSAgICAgIHRoaXMucmVjZWl2ZXJfLmFjY2VwdEFuZEV4cGVjdFJlc3BvbnNlKG1lc3NhZ2Up
LnRoZW4oZnVuY3Rpb24obWVzc2FnZSkgewotICAgICAgICB2YXIgcmVhZGVyID0gbmV3IGNvZGVj
Lk1lc3NhZ2VSZWFkZXIobWVzc2FnZSk7Ci0gICAgICAgIHZhciByZXNwb25zZVBhcmFtcyA9Ci0g
ICAgICAgICAgICByZWFkZXIuZGVjb2RlU3RydWN0KFVzYkRldmljZV9PcGVuX1Jlc3BvbnNlUGFy
YW1zKTsKLSAgICAgICAgcmVzb2x2ZShyZXNwb25zZVBhcmFtcyk7Ci0gICAgICB9KS5jYXRjaChm
dW5jdGlvbihyZXN1bHQpIHsKLSAgICAgICAgcmVqZWN0KEVycm9yKCJDb25uZWN0aW9uIGVycm9y
OiAiICsgcmVzdWx0KSk7Ci0gICAgICB9KTsKLSAgICB9LmJpbmQodGhpcykpOwotICB9OwotICBV
c2JEZXZpY2VQdHIucHJvdG90eXBlLmNsb3NlID0gZnVuY3Rpb24oKSB7Ci0gICAgcmV0dXJuIFVz
YkRldmljZVByb3h5LnByb3RvdHlwZS5jbG9zZQotICAgICAgICAuYXBwbHkodGhpcy5wdHIuZ2V0
UHJveHkoKSwgYXJndW1lbnRzKTsKLSAgfTsKLQotICBVc2JEZXZpY2VQcm94eS5wcm90b3R5cGUu
Y2xvc2UgPSBmdW5jdGlvbigpIHsKLSAgICB2YXIgcGFyYW1zID0gbmV3IFVzYkRldmljZV9DbG9z
ZV9QYXJhbXMoKTsKLSAgICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVq
ZWN0KSB7Ci0gICAgICB2YXIgYnVpbGRlciA9IG5ldyBjb2RlYy5NZXNzYWdlVjFCdWlsZGVyKAot
ICAgICAgICAgIGtVc2JEZXZpY2VfQ2xvc2VfTmFtZSwKLSAgICAgICAgICBjb2RlYy5hbGlnbihV
c2JEZXZpY2VfQ2xvc2VfUGFyYW1zLmVuY29kZWRTaXplKSwKLSAgICAgICAgICBjb2RlYy5rTWVz
c2FnZUV4cGVjdHNSZXNwb25zZSwgMCk7Ci0gICAgICBidWlsZGVyLmVuY29kZVN0cnVjdChVc2JE
ZXZpY2VfQ2xvc2VfUGFyYW1zLCBwYXJhbXMpOwotICAgICAgdmFyIG1lc3NhZ2UgPSBidWlsZGVy
LmZpbmlzaCgpOwotICAgICAgdGhpcy5yZWNlaXZlcl8uYWNjZXB0QW5kRXhwZWN0UmVzcG9uc2Uo
bWVzc2FnZSkudGhlbihmdW5jdGlvbihtZXNzYWdlKSB7Ci0gICAgICAgIHZhciByZWFkZXIgPSBu
ZXcgY29kZWMuTWVzc2FnZVJlYWRlcihtZXNzYWdlKTsKLSAgICAgICAgdmFyIHJlc3BvbnNlUGFy
YW1zID0KLSAgICAgICAgICAgIHJlYWRlci5kZWNvZGVTdHJ1Y3QoVXNiRGV2aWNlX0Nsb3NlX1Jl
c3BvbnNlUGFyYW1zKTsKLSAgICAgICAgcmVzb2x2ZShyZXNwb25zZVBhcmFtcyk7Ci0gICAgICB9
KS5jYXRjaChmdW5jdGlvbihyZXN1bHQpIHsKLSAgICAgICAgcmVqZWN0KEVycm9yKCJDb25uZWN0
aW9uIGVycm9yOiAiICsgcmVzdWx0KSk7Ci0gICAgICB9KTsKLSAgICB9LmJpbmQodGhpcykpOwot
ICB9OwotICBVc2JEZXZpY2VQdHIucHJvdG90eXBlLnNldENvbmZpZ3VyYXRpb24gPSBmdW5jdGlv
bigpIHsKLSAgICByZXR1cm4gVXNiRGV2aWNlUHJveHkucHJvdG90eXBlLnNldENvbmZpZ3VyYXRp
b24KLSAgICAgICAgLmFwcGx5KHRoaXMucHRyLmdldFByb3h5KCksIGFyZ3VtZW50cyk7Ci0gIH07
Ci0KLSAgVXNiRGV2aWNlUHJveHkucHJvdG90eXBlLnNldENvbmZpZ3VyYXRpb24gPSBmdW5jdGlv
bih2YWx1ZSkgewotICAgIHZhciBwYXJhbXMgPSBuZXcgVXNiRGV2aWNlX1NldENvbmZpZ3VyYXRp
b25fUGFyYW1zKCk7Ci0gICAgcGFyYW1zLnZhbHVlID0gdmFsdWU7Ci0gICAgcmV0dXJuIG5ldyBQ
cm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewotICAgICAgdmFyIGJ1aWxkZXIgPSBu
ZXcgY29kZWMuTWVzc2FnZVYxQnVpbGRlcigKLSAgICAgICAgICBrVXNiRGV2aWNlX1NldENvbmZp
Z3VyYXRpb25fTmFtZSwKLSAgICAgICAgICBjb2RlYy5hbGlnbihVc2JEZXZpY2VfU2V0Q29uZmln
dXJhdGlvbl9QYXJhbXMuZW5jb2RlZFNpemUpLAotICAgICAgICAgIGNvZGVjLmtNZXNzYWdlRXhw
ZWN0c1Jlc3BvbnNlLCAwKTsKLSAgICAgIGJ1aWxkZXIuZW5jb2RlU3RydWN0KFVzYkRldmljZV9T
ZXRDb25maWd1cmF0aW9uX1BhcmFtcywgcGFyYW1zKTsKLSAgICAgIHZhciBtZXNzYWdlID0gYnVp
bGRlci5maW5pc2goKTsKLSAgICAgIHRoaXMucmVjZWl2ZXJfLmFjY2VwdEFuZEV4cGVjdFJlc3Bv
bnNlKG1lc3NhZ2UpLnRoZW4oZnVuY3Rpb24obWVzc2FnZSkgewotICAgICAgICB2YXIgcmVhZGVy
ID0gbmV3IGNvZGVjLk1lc3NhZ2VSZWFkZXIobWVzc2FnZSk7Ci0gICAgICAgIHZhciByZXNwb25z
ZVBhcmFtcyA9Ci0gICAgICAgICAgICByZWFkZXIuZGVjb2RlU3RydWN0KFVzYkRldmljZV9TZXRD
b25maWd1cmF0aW9uX1Jlc3BvbnNlUGFyYW1zKTsKLSAgICAgICAgcmVzb2x2ZShyZXNwb25zZVBh
cmFtcyk7Ci0gICAgICB9KS5jYXRjaChmdW5jdGlvbihyZXN1bHQpIHsKLSAgICAgICAgcmVqZWN0
KEVycm9yKCJDb25uZWN0aW9uIGVycm9yOiAiICsgcmVzdWx0KSk7Ci0gICAgICB9KTsKLSAgICB9
LmJpbmQodGhpcykpOwotICB9OwotICBVc2JEZXZpY2VQdHIucHJvdG90eXBlLmNsYWltSW50ZXJm
YWNlID0gZnVuY3Rpb24oKSB7Ci0gICAgcmV0dXJuIFVzYkRldmljZVByb3h5LnByb3RvdHlwZS5j
bGFpbUludGVyZmFjZQotICAgICAgICAuYXBwbHkodGhpcy5wdHIuZ2V0UHJveHkoKSwgYXJndW1l
bnRzKTsKLSAgfTsKLQotICBVc2JEZXZpY2VQcm94eS5wcm90b3R5cGUuY2xhaW1JbnRlcmZhY2Ug
PSBmdW5jdGlvbihpbnRlcmZhY2VOdW1iZXIpIHsKLSAgICB2YXIgcGFyYW1zID0gbmV3IFVzYkRl
dmljZV9DbGFpbUludGVyZmFjZV9QYXJhbXMoKTsKLSAgICBwYXJhbXMuaW50ZXJmYWNlTnVtYmVy
ID0gaW50ZXJmYWNlTnVtYmVyOwotICAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNv
bHZlLCByZWplY3QpIHsKLSAgICAgIHZhciBidWlsZGVyID0gbmV3IGNvZGVjLk1lc3NhZ2VWMUJ1
aWxkZXIoCi0gICAgICAgICAga1VzYkRldmljZV9DbGFpbUludGVyZmFjZV9OYW1lLAotICAgICAg
ICAgIGNvZGVjLmFsaWduKFVzYkRldmljZV9DbGFpbUludGVyZmFjZV9QYXJhbXMuZW5jb2RlZFNp
emUpLAotICAgICAgICAgIGNvZGVjLmtNZXNzYWdlRXhwZWN0c1Jlc3BvbnNlLCAwKTsKLSAgICAg
IGJ1aWxkZXIuZW5jb2RlU3RydWN0KFVzYkRldmljZV9DbGFpbUludGVyZmFjZV9QYXJhbXMsIHBh
cmFtcyk7Ci0gICAgICB2YXIgbWVzc2FnZSA9IGJ1aWxkZXIuZmluaXNoKCk7Ci0gICAgICB0aGlz
LnJlY2VpdmVyXy5hY2NlcHRBbmRFeHBlY3RSZXNwb25zZShtZXNzYWdlKS50aGVuKGZ1bmN0aW9u
KG1lc3NhZ2UpIHsKLSAgICAgICAgdmFyIHJlYWRlciA9IG5ldyBjb2RlYy5NZXNzYWdlUmVhZGVy
KG1lc3NhZ2UpOwotICAgICAgICB2YXIgcmVzcG9uc2VQYXJhbXMgPQotICAgICAgICAgICAgcmVh
ZGVyLmRlY29kZVN0cnVjdChVc2JEZXZpY2VfQ2xhaW1JbnRlcmZhY2VfUmVzcG9uc2VQYXJhbXMp
OwotICAgICAgICByZXNvbHZlKHJlc3BvbnNlUGFyYW1zKTsKLSAgICAgIH0pLmNhdGNoKGZ1bmN0
aW9uKHJlc3VsdCkgewotICAgICAgICByZWplY3QoRXJyb3IoIkNvbm5lY3Rpb24gZXJyb3I6ICIg
KyByZXN1bHQpKTsKLSAgICAgIH0pOwotICAgIH0uYmluZCh0aGlzKSk7Ci0gIH07Ci0gIFVzYkRl
dmljZVB0ci5wcm90b3R5cGUucmVsZWFzZUludGVyZmFjZSA9IGZ1bmN0aW9uKCkgewotICAgIHJl
dHVybiBVc2JEZXZpY2VQcm94eS5wcm90b3R5cGUucmVsZWFzZUludGVyZmFjZQotICAgICAgICAu
YXBwbHkodGhpcy5wdHIuZ2V0UHJveHkoKSwgYXJndW1lbnRzKTsKLSAgfTsKLQotICBVc2JEZXZp
Y2VQcm94eS5wcm90b3R5cGUucmVsZWFzZUludGVyZmFjZSA9IGZ1bmN0aW9uKGludGVyZmFjZU51
bWJlcikgewotICAgIHZhciBwYXJhbXMgPSBuZXcgVXNiRGV2aWNlX1JlbGVhc2VJbnRlcmZhY2Vf
UGFyYW1zKCk7Ci0gICAgcGFyYW1zLmludGVyZmFjZU51bWJlciA9IGludGVyZmFjZU51bWJlcjsK
LSAgICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7Ci0gICAg
ICB2YXIgYnVpbGRlciA9IG5ldyBjb2RlYy5NZXNzYWdlVjFCdWlsZGVyKAotICAgICAgICAgIGtV
c2JEZXZpY2VfUmVsZWFzZUludGVyZmFjZV9OYW1lLAotICAgICAgICAgIGNvZGVjLmFsaWduKFVz
YkRldmljZV9SZWxlYXNlSW50ZXJmYWNlX1BhcmFtcy5lbmNvZGVkU2l6ZSksCi0gICAgICAgICAg
Y29kZWMua01lc3NhZ2VFeHBlY3RzUmVzcG9uc2UsIDApOwotICAgICAgYnVpbGRlci5lbmNvZGVT
dHJ1Y3QoVXNiRGV2aWNlX1JlbGVhc2VJbnRlcmZhY2VfUGFyYW1zLCBwYXJhbXMpOwotICAgICAg
dmFyIG1lc3NhZ2UgPSBidWlsZGVyLmZpbmlzaCgpOwotICAgICAgdGhpcy5yZWNlaXZlcl8uYWNj
ZXB0QW5kRXhwZWN0UmVzcG9uc2UobWVzc2FnZSkudGhlbihmdW5jdGlvbihtZXNzYWdlKSB7Ci0g
ICAgICAgIHZhciByZWFkZXIgPSBuZXcgY29kZWMuTWVzc2FnZVJlYWRlcihtZXNzYWdlKTsKLSAg
ICAgICAgdmFyIHJlc3BvbnNlUGFyYW1zID0KLSAgICAgICAgICAgIHJlYWRlci5kZWNvZGVTdHJ1
Y3QoVXNiRGV2aWNlX1JlbGVhc2VJbnRlcmZhY2VfUmVzcG9uc2VQYXJhbXMpOwotICAgICAgICBy
ZXNvbHZlKHJlc3BvbnNlUGFyYW1zKTsKLSAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uKHJlc3VsdCkg
ewotICAgICAgICByZWplY3QoRXJyb3IoIkNvbm5lY3Rpb24gZXJyb3I6ICIgKyByZXN1bHQpKTsK
LSAgICAgIH0pOwotICAgIH0uYmluZCh0aGlzKSk7Ci0gIH07Ci0gIFVzYkRldmljZVB0ci5wcm90
b3R5cGUuc2V0SW50ZXJmYWNlQWx0ZXJuYXRlU2V0dGluZyA9IGZ1bmN0aW9uKCkgewotICAgIHJl
dHVybiBVc2JEZXZpY2VQcm94eS5wcm90b3R5cGUuc2V0SW50ZXJmYWNlQWx0ZXJuYXRlU2V0dGlu
ZwotICAgICAgICAuYXBwbHkodGhpcy5wdHIuZ2V0UHJveHkoKSwgYXJndW1lbnRzKTsKLSAgfTsK
LQotICBVc2JEZXZpY2VQcm94eS5wcm90b3R5cGUuc2V0SW50ZXJmYWNlQWx0ZXJuYXRlU2V0dGlu
ZyA9IGZ1bmN0aW9uKGludGVyZmFjZU51bWJlciwgYWx0ZXJuYXRlU2V0dGluZykgewotICAgIHZh
ciBwYXJhbXMgPSBuZXcgVXNiRGV2aWNlX1NldEludGVyZmFjZUFsdGVybmF0ZVNldHRpbmdfUGFy
YW1zKCk7Ci0gICAgcGFyYW1zLmludGVyZmFjZU51bWJlciA9IGludGVyZmFjZU51bWJlcjsKLSAg
ICBwYXJhbXMuYWx0ZXJuYXRlU2V0dGluZyA9IGFsdGVybmF0ZVNldHRpbmc7Ci0gICAgcmV0dXJu
IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewotICAgICAgdmFyIGJ1aWxk
ZXIgPSBuZXcgY29kZWMuTWVzc2FnZVYxQnVpbGRlcigKLSAgICAgICAgICBrVXNiRGV2aWNlX1Nl
dEludGVyZmFjZUFsdGVybmF0ZVNldHRpbmdfTmFtZSwKLSAgICAgICAgICBjb2RlYy5hbGlnbihV
c2JEZXZpY2VfU2V0SW50ZXJmYWNlQWx0ZXJuYXRlU2V0dGluZ19QYXJhbXMuZW5jb2RlZFNpemUp
LAotICAgICAgICAgIGNvZGVjLmtNZXNzYWdlRXhwZWN0c1Jlc3BvbnNlLCAwKTsKLSAgICAgIGJ1
aWxkZXIuZW5jb2RlU3RydWN0KFVzYkRldmljZV9TZXRJbnRlcmZhY2VBbHRlcm5hdGVTZXR0aW5n
X1BhcmFtcywgcGFyYW1zKTsKLSAgICAgIHZhciBtZXNzYWdlID0gYnVpbGRlci5maW5pc2goKTsK
LSAgICAgIHRoaXMucmVjZWl2ZXJfLmFjY2VwdEFuZEV4cGVjdFJlc3BvbnNlKG1lc3NhZ2UpLnRo
ZW4oZnVuY3Rpb24obWVzc2FnZSkgewotICAgICAgICB2YXIgcmVhZGVyID0gbmV3IGNvZGVjLk1l
c3NhZ2VSZWFkZXIobWVzc2FnZSk7Ci0gICAgICAgIHZhciByZXNwb25zZVBhcmFtcyA9Ci0gICAg
ICAgICAgICByZWFkZXIuZGVjb2RlU3RydWN0KFVzYkRldmljZV9TZXRJbnRlcmZhY2VBbHRlcm5h
dGVTZXR0aW5nX1Jlc3BvbnNlUGFyYW1zKTsKLSAgICAgICAgcmVzb2x2ZShyZXNwb25zZVBhcmFt
cyk7Ci0gICAgICB9KS5jYXRjaChmdW5jdGlvbihyZXN1bHQpIHsKLSAgICAgICAgcmVqZWN0KEVy
cm9yKCJDb25uZWN0aW9uIGVycm9yOiAiICsgcmVzdWx0KSk7Ci0gICAgICB9KTsKLSAgICB9LmJp
bmQodGhpcykpOwotICB9OwotICBVc2JEZXZpY2VQdHIucHJvdG90eXBlLnJlc2V0ID0gZnVuY3Rp
b24oKSB7Ci0gICAgcmV0dXJuIFVzYkRldmljZVByb3h5LnByb3RvdHlwZS5yZXNldAotICAgICAg
ICAuYXBwbHkodGhpcy5wdHIuZ2V0UHJveHkoKSwgYXJndW1lbnRzKTsKLSAgfTsKLQotICBVc2JE
ZXZpY2VQcm94eS5wcm90b3R5cGUucmVzZXQgPSBmdW5jdGlvbigpIHsKLSAgICB2YXIgcGFyYW1z
ID0gbmV3IFVzYkRldmljZV9SZXNldF9QYXJhbXMoKTsKLSAgICByZXR1cm4gbmV3IFByb21pc2Uo
ZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7Ci0gICAgICB2YXIgYnVpbGRlciA9IG5ldyBjb2Rl
Yy5NZXNzYWdlVjFCdWlsZGVyKAotICAgICAgICAgIGtVc2JEZXZpY2VfUmVzZXRfTmFtZSwKLSAg
ICAgICAgICBjb2RlYy5hbGlnbihVc2JEZXZpY2VfUmVzZXRfUGFyYW1zLmVuY29kZWRTaXplKSwK
LSAgICAgICAgICBjb2RlYy5rTWVzc2FnZUV4cGVjdHNSZXNwb25zZSwgMCk7Ci0gICAgICBidWls
ZGVyLmVuY29kZVN0cnVjdChVc2JEZXZpY2VfUmVzZXRfUGFyYW1zLCBwYXJhbXMpOwotICAgICAg
dmFyIG1lc3NhZ2UgPSBidWlsZGVyLmZpbmlzaCgpOwotICAgICAgdGhpcy5yZWNlaXZlcl8uYWNj
ZXB0QW5kRXhwZWN0UmVzcG9uc2UobWVzc2FnZSkudGhlbihmdW5jdGlvbihtZXNzYWdlKSB7Ci0g
ICAgICAgIHZhciByZWFkZXIgPSBuZXcgY29kZWMuTWVzc2FnZVJlYWRlcihtZXNzYWdlKTsKLSAg
ICAgICAgdmFyIHJlc3BvbnNlUGFyYW1zID0KLSAgICAgICAgICAgIHJlYWRlci5kZWNvZGVTdHJ1
Y3QoVXNiRGV2aWNlX1Jlc2V0X1Jlc3BvbnNlUGFyYW1zKTsKLSAgICAgICAgcmVzb2x2ZShyZXNw
b25zZVBhcmFtcyk7Ci0gICAgICB9KS5jYXRjaChmdW5jdGlvbihyZXN1bHQpIHsKLSAgICAgICAg
cmVqZWN0KEVycm9yKCJDb25uZWN0aW9uIGVycm9yOiAiICsgcmVzdWx0KSk7Ci0gICAgICB9KTsK
LSAgICB9LmJpbmQodGhpcykpOwotICB9OwotICBVc2JEZXZpY2VQdHIucHJvdG90eXBlLmNsZWFy
SGFsdCA9IGZ1bmN0aW9uKCkgewotICAgIHJldHVybiBVc2JEZXZpY2VQcm94eS5wcm90b3R5cGUu
Y2xlYXJIYWx0Ci0gICAgICAgIC5hcHBseSh0aGlzLnB0ci5nZXRQcm94eSgpLCBhcmd1bWVudHMp
OwotICB9OwotCi0gIFVzYkRldmljZVByb3h5LnByb3RvdHlwZS5jbGVhckhhbHQgPSBmdW5jdGlv
bihlbmRwb2ludCkgewotICAgIHZhciBwYXJhbXMgPSBuZXcgVXNiRGV2aWNlX0NsZWFySGFsdF9Q
YXJhbXMoKTsKLSAgICBwYXJhbXMuZW5kcG9pbnQgPSBlbmRwb2ludDsKLSAgICByZXR1cm4gbmV3
IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7Ci0gICAgICB2YXIgYnVpbGRlciA9
IG5ldyBjb2RlYy5NZXNzYWdlVjFCdWlsZGVyKAotICAgICAgICAgIGtVc2JEZXZpY2VfQ2xlYXJI
YWx0X05hbWUsCi0gICAgICAgICAgY29kZWMuYWxpZ24oVXNiRGV2aWNlX0NsZWFySGFsdF9QYXJh
bXMuZW5jb2RlZFNpemUpLAotICAgICAgICAgIGNvZGVjLmtNZXNzYWdlRXhwZWN0c1Jlc3BvbnNl
LCAwKTsKLSAgICAgIGJ1aWxkZXIuZW5jb2RlU3RydWN0KFVzYkRldmljZV9DbGVhckhhbHRfUGFy
YW1zLCBwYXJhbXMpOwotICAgICAgdmFyIG1lc3NhZ2UgPSBidWlsZGVyLmZpbmlzaCgpOwotICAg
ICAgdGhpcy5yZWNlaXZlcl8uYWNjZXB0QW5kRXhwZWN0UmVzcG9uc2UobWVzc2FnZSkudGhlbihm
dW5jdGlvbihtZXNzYWdlKSB7Ci0gICAgICAgIHZhciByZWFkZXIgPSBuZXcgY29kZWMuTWVzc2Fn
ZVJlYWRlcihtZXNzYWdlKTsKLSAgICAgICAgdmFyIHJlc3BvbnNlUGFyYW1zID0KLSAgICAgICAg
ICAgIHJlYWRlci5kZWNvZGVTdHJ1Y3QoVXNiRGV2aWNlX0NsZWFySGFsdF9SZXNwb25zZVBhcmFt
cyk7Ci0gICAgICAgIHJlc29sdmUocmVzcG9uc2VQYXJhbXMpOwotICAgICAgfSkuY2F0Y2goZnVu
Y3Rpb24ocmVzdWx0KSB7Ci0gICAgICAgIHJlamVjdChFcnJvcigiQ29ubmVjdGlvbiBlcnJvcjog
IiArIHJlc3VsdCkpOwotICAgICAgfSk7Ci0gICAgfS5iaW5kKHRoaXMpKTsKLSAgfTsKLSAgVXNi
RGV2aWNlUHRyLnByb3RvdHlwZS5jb250cm9sVHJhbnNmZXJJbiA9IGZ1bmN0aW9uKCkgewotICAg
IHJldHVybiBVc2JEZXZpY2VQcm94eS5wcm90b3R5cGUuY29udHJvbFRyYW5zZmVySW4KLSAgICAg
ICAgLmFwcGx5KHRoaXMucHRyLmdldFByb3h5KCksIGFyZ3VtZW50cyk7Ci0gIH07Ci0KLSAgVXNi
RGV2aWNlUHJveHkucHJvdG90eXBlLmNvbnRyb2xUcmFuc2ZlckluID0gZnVuY3Rpb24ocGFyYW1z
LCBsZW5ndGgsIHRpbWVvdXQpIHsKLSAgICB2YXIgcGFyYW1zID0gbmV3IFVzYkRldmljZV9Db250
cm9sVHJhbnNmZXJJbl9QYXJhbXMoKTsKLSAgICBwYXJhbXMucGFyYW1zID0gcGFyYW1zOwotICAg
IHBhcmFtcy5sZW5ndGggPSBsZW5ndGg7Ci0gICAgcGFyYW1zLnRpbWVvdXQgPSB0aW1lb3V0Owot
ICAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKLSAgICAg
IHZhciBidWlsZGVyID0gbmV3IGNvZGVjLk1lc3NhZ2VWMUJ1aWxkZXIoCi0gICAgICAgICAga1Vz
YkRldmljZV9Db250cm9sVHJhbnNmZXJJbl9OYW1lLAotICAgICAgICAgIGNvZGVjLmFsaWduKFVz
YkRldmljZV9Db250cm9sVHJhbnNmZXJJbl9QYXJhbXMuZW5jb2RlZFNpemUpLAotICAgICAgICAg
IGNvZGVjLmtNZXNzYWdlRXhwZWN0c1Jlc3BvbnNlLCAwKTsKLSAgICAgIGJ1aWxkZXIuZW5jb2Rl
U3RydWN0KFVzYkRldmljZV9Db250cm9sVHJhbnNmZXJJbl9QYXJhbXMsIHBhcmFtcyk7Ci0gICAg
ICB2YXIgbWVzc2FnZSA9IGJ1aWxkZXIuZmluaXNoKCk7Ci0gICAgICB0aGlzLnJlY2VpdmVyXy5h
Y2NlcHRBbmRFeHBlY3RSZXNwb25zZShtZXNzYWdlKS50aGVuKGZ1bmN0aW9uKG1lc3NhZ2UpIHsK
LSAgICAgICAgdmFyIHJlYWRlciA9IG5ldyBjb2RlYy5NZXNzYWdlUmVhZGVyKG1lc3NhZ2UpOwot
ICAgICAgICB2YXIgcmVzcG9uc2VQYXJhbXMgPQotICAgICAgICAgICAgcmVhZGVyLmRlY29kZVN0
cnVjdChVc2JEZXZpY2VfQ29udHJvbFRyYW5zZmVySW5fUmVzcG9uc2VQYXJhbXMpOwotICAgICAg
ICByZXNvbHZlKHJlc3BvbnNlUGFyYW1zKTsKLSAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uKHJlc3Vs
dCkgewotICAgICAgICByZWplY3QoRXJyb3IoIkNvbm5lY3Rpb24gZXJyb3I6ICIgKyByZXN1bHQp
KTsKLSAgICAgIH0pOwotICAgIH0uYmluZCh0aGlzKSk7Ci0gIH07Ci0gIFVzYkRldmljZVB0ci5w
cm90b3R5cGUuY29udHJvbFRyYW5zZmVyT3V0ID0gZnVuY3Rpb24oKSB7Ci0gICAgcmV0dXJuIFVz
YkRldmljZVByb3h5LnByb3RvdHlwZS5jb250cm9sVHJhbnNmZXJPdXQKLSAgICAgICAgLmFwcGx5
KHRoaXMucHRyLmdldFByb3h5KCksIGFyZ3VtZW50cyk7Ci0gIH07Ci0KLSAgVXNiRGV2aWNlUHJv
eHkucHJvdG90eXBlLmNvbnRyb2xUcmFuc2Zlck91dCA9IGZ1bmN0aW9uKHBhcmFtcywgZGF0YSwg
dGltZW91dCkgewotICAgIHZhciBwYXJhbXMgPSBuZXcgVXNiRGV2aWNlX0NvbnRyb2xUcmFuc2Zl
ck91dF9QYXJhbXMoKTsKLSAgICBwYXJhbXMucGFyYW1zID0gcGFyYW1zOwotICAgIHBhcmFtcy5k
YXRhID0gZGF0YTsKLSAgICBwYXJhbXMudGltZW91dCA9IHRpbWVvdXQ7Ci0gICAgcmV0dXJuIG5l
dyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewotICAgICAgdmFyIGJ1aWxkZXIg
PSBuZXcgY29kZWMuTWVzc2FnZVYxQnVpbGRlcigKLSAgICAgICAgICBrVXNiRGV2aWNlX0NvbnRy
b2xUcmFuc2Zlck91dF9OYW1lLAotICAgICAgICAgIGNvZGVjLmFsaWduKFVzYkRldmljZV9Db250
cm9sVHJhbnNmZXJPdXRfUGFyYW1zLmVuY29kZWRTaXplKSwKLSAgICAgICAgICBjb2RlYy5rTWVz
c2FnZUV4cGVjdHNSZXNwb25zZSwgMCk7Ci0gICAgICBidWlsZGVyLmVuY29kZVN0cnVjdChVc2JE
ZXZpY2VfQ29udHJvbFRyYW5zZmVyT3V0X1BhcmFtcywgcGFyYW1zKTsKLSAgICAgIHZhciBtZXNz
YWdlID0gYnVpbGRlci5maW5pc2goKTsKLSAgICAgIHRoaXMucmVjZWl2ZXJfLmFjY2VwdEFuZEV4
cGVjdFJlc3BvbnNlKG1lc3NhZ2UpLnRoZW4oZnVuY3Rpb24obWVzc2FnZSkgewotICAgICAgICB2
YXIgcmVhZGVyID0gbmV3IGNvZGVjLk1lc3NhZ2VSZWFkZXIobWVzc2FnZSk7Ci0gICAgICAgIHZh
ciByZXNwb25zZVBhcmFtcyA9Ci0gICAgICAgICAgICByZWFkZXIuZGVjb2RlU3RydWN0KFVzYkRl
dmljZV9Db250cm9sVHJhbnNmZXJPdXRfUmVzcG9uc2VQYXJhbXMpOwotICAgICAgICByZXNvbHZl
KHJlc3BvbnNlUGFyYW1zKTsKLSAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uKHJlc3VsdCkgewotICAg
ICAgICByZWplY3QoRXJyb3IoIkNvbm5lY3Rpb24gZXJyb3I6ICIgKyByZXN1bHQpKTsKLSAgICAg
IH0pOwotICAgIH0uYmluZCh0aGlzKSk7Ci0gIH07Ci0gIFVzYkRldmljZVB0ci5wcm90b3R5cGUu
Z2VuZXJpY1RyYW5zZmVySW4gPSBmdW5jdGlvbigpIHsKLSAgICByZXR1cm4gVXNiRGV2aWNlUHJv
eHkucHJvdG90eXBlLmdlbmVyaWNUcmFuc2ZlckluCi0gICAgICAgIC5hcHBseSh0aGlzLnB0ci5n
ZXRQcm94eSgpLCBhcmd1bWVudHMpOwotICB9OwotCi0gIFVzYkRldmljZVByb3h5LnByb3RvdHlw
ZS5nZW5lcmljVHJhbnNmZXJJbiA9IGZ1bmN0aW9uKGVuZHBvaW50TnVtYmVyLCBsZW5ndGgsIHRp
bWVvdXQpIHsKLSAgICB2YXIgcGFyYW1zID0gbmV3IFVzYkRldmljZV9HZW5lcmljVHJhbnNmZXJJ
bl9QYXJhbXMoKTsKLSAgICBwYXJhbXMuZW5kcG9pbnROdW1iZXIgPSBlbmRwb2ludE51bWJlcjsK
LSAgICBwYXJhbXMubGVuZ3RoID0gbGVuZ3RoOwotICAgIHBhcmFtcy50aW1lb3V0ID0gdGltZW91
dDsKLSAgICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7Ci0g
ICAgICB2YXIgYnVpbGRlciA9IG5ldyBjb2RlYy5NZXNzYWdlVjFCdWlsZGVyKAotICAgICAgICAg
IGtVc2JEZXZpY2VfR2VuZXJpY1RyYW5zZmVySW5fTmFtZSwKLSAgICAgICAgICBjb2RlYy5hbGln
bihVc2JEZXZpY2VfR2VuZXJpY1RyYW5zZmVySW5fUGFyYW1zLmVuY29kZWRTaXplKSwKLSAgICAg
ICAgICBjb2RlYy5rTWVzc2FnZUV4cGVjdHNSZXNwb25zZSwgMCk7Ci0gICAgICBidWlsZGVyLmVu
Y29kZVN0cnVjdChVc2JEZXZpY2VfR2VuZXJpY1RyYW5zZmVySW5fUGFyYW1zLCBwYXJhbXMpOwot
ICAgICAgdmFyIG1lc3NhZ2UgPSBidWlsZGVyLmZpbmlzaCgpOwotICAgICAgdGhpcy5yZWNlaXZl
cl8uYWNjZXB0QW5kRXhwZWN0UmVzcG9uc2UobWVzc2FnZSkudGhlbihmdW5jdGlvbihtZXNzYWdl
KSB7Ci0gICAgICAgIHZhciByZWFkZXIgPSBuZXcgY29kZWMuTWVzc2FnZVJlYWRlcihtZXNzYWdl
KTsKLSAgICAgICAgdmFyIHJlc3BvbnNlUGFyYW1zID0KLSAgICAgICAgICAgIHJlYWRlci5kZWNv
ZGVTdHJ1Y3QoVXNiRGV2aWNlX0dlbmVyaWNUcmFuc2ZlckluX1Jlc3BvbnNlUGFyYW1zKTsKLSAg
ICAgICAgcmVzb2x2ZShyZXNwb25zZVBhcmFtcyk7Ci0gICAgICB9KS5jYXRjaChmdW5jdGlvbihy
ZXN1bHQpIHsKLSAgICAgICAgcmVqZWN0KEVycm9yKCJDb25uZWN0aW9uIGVycm9yOiAiICsgcmVz
dWx0KSk7Ci0gICAgICB9KTsKLSAgICB9LmJpbmQodGhpcykpOwotICB9OwotICBVc2JEZXZpY2VQ
dHIucHJvdG90eXBlLmdlbmVyaWNUcmFuc2Zlck91dCA9IGZ1bmN0aW9uKCkgewotICAgIHJldHVy
biBVc2JEZXZpY2VQcm94eS5wcm90b3R5cGUuZ2VuZXJpY1RyYW5zZmVyT3V0Ci0gICAgICAgIC5h
cHBseSh0aGlzLnB0ci5nZXRQcm94eSgpLCBhcmd1bWVudHMpOwotICB9OwotCi0gIFVzYkRldmlj
ZVByb3h5LnByb3RvdHlwZS5nZW5lcmljVHJhbnNmZXJPdXQgPSBmdW5jdGlvbihlbmRwb2ludE51
bWJlciwgZGF0YSwgdGltZW91dCkgewotICAgIHZhciBwYXJhbXMgPSBuZXcgVXNiRGV2aWNlX0dl
bmVyaWNUcmFuc2Zlck91dF9QYXJhbXMoKTsKLSAgICBwYXJhbXMuZW5kcG9pbnROdW1iZXIgPSBl
bmRwb2ludE51bWJlcjsKLSAgICBwYXJhbXMuZGF0YSA9IGRhdGE7Ci0gICAgcGFyYW1zLnRpbWVv
dXQgPSB0aW1lb3V0OwotICAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCBy
ZWplY3QpIHsKLSAgICAgIHZhciBidWlsZGVyID0gbmV3IGNvZGVjLk1lc3NhZ2VWMUJ1aWxkZXIo
Ci0gICAgICAgICAga1VzYkRldmljZV9HZW5lcmljVHJhbnNmZXJPdXRfTmFtZSwKLSAgICAgICAg
ICBjb2RlYy5hbGlnbihVc2JEZXZpY2VfR2VuZXJpY1RyYW5zZmVyT3V0X1BhcmFtcy5lbmNvZGVk
U2l6ZSksCi0gICAgICAgICAgY29kZWMua01lc3NhZ2VFeHBlY3RzUmVzcG9uc2UsIDApOwotICAg
ICAgYnVpbGRlci5lbmNvZGVTdHJ1Y3QoVXNiRGV2aWNlX0dlbmVyaWNUcmFuc2Zlck91dF9QYXJh
bXMsIHBhcmFtcyk7Ci0gICAgICB2YXIgbWVzc2FnZSA9IGJ1aWxkZXIuZmluaXNoKCk7Ci0gICAg
ICB0aGlzLnJlY2VpdmVyXy5hY2NlcHRBbmRFeHBlY3RSZXNwb25zZShtZXNzYWdlKS50aGVuKGZ1
bmN0aW9uKG1lc3NhZ2UpIHsKLSAgICAgICAgdmFyIHJlYWRlciA9IG5ldyBjb2RlYy5NZXNzYWdl
UmVhZGVyKG1lc3NhZ2UpOwotICAgICAgICB2YXIgcmVzcG9uc2VQYXJhbXMgPQotICAgICAgICAg
ICAgcmVhZGVyLmRlY29kZVN0cnVjdChVc2JEZXZpY2VfR2VuZXJpY1RyYW5zZmVyT3V0X1Jlc3Bv
bnNlUGFyYW1zKTsKLSAgICAgICAgcmVzb2x2ZShyZXNwb25zZVBhcmFtcyk7Ci0gICAgICB9KS5j
YXRjaChmdW5jdGlvbihyZXN1bHQpIHsKLSAgICAgICAgcmVqZWN0KEVycm9yKCJDb25uZWN0aW9u
IGVycm9yOiAiICsgcmVzdWx0KSk7Ci0gICAgICB9KTsKLSAgICB9LmJpbmQodGhpcykpOwotICB9
OwotICBVc2JEZXZpY2VQdHIucHJvdG90eXBlLmlzb2Nocm9ub3VzVHJhbnNmZXJJbiA9IGZ1bmN0
aW9uKCkgewotICAgIHJldHVybiBVc2JEZXZpY2VQcm94eS5wcm90b3R5cGUuaXNvY2hyb25vdXNU
cmFuc2ZlckluCi0gICAgICAgIC5hcHBseSh0aGlzLnB0ci5nZXRQcm94eSgpLCBhcmd1bWVudHMp
OwotICB9OwotCi0gIFVzYkRldmljZVByb3h5LnByb3RvdHlwZS5pc29jaHJvbm91c1RyYW5zZmVy
SW4gPSBmdW5jdGlvbihlbmRwb2ludE51bWJlciwgcGFja2V0TGVuZ3RocywgdGltZW91dCkgewot
ICAgIHZhciBwYXJhbXMgPSBuZXcgVXNiRGV2aWNlX0lzb2Nocm9ub3VzVHJhbnNmZXJJbl9QYXJh
bXMoKTsKLSAgICBwYXJhbXMuZW5kcG9pbnROdW1iZXIgPSBlbmRwb2ludE51bWJlcjsKLSAgICBw
YXJhbXMucGFja2V0TGVuZ3RocyA9IHBhY2tldExlbmd0aHM7Ci0gICAgcGFyYW1zLnRpbWVvdXQg
PSB0aW1lb3V0OwotICAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWpl
Y3QpIHsKLSAgICAgIHZhciBidWlsZGVyID0gbmV3IGNvZGVjLk1lc3NhZ2VWMUJ1aWxkZXIoCi0g
ICAgICAgICAga1VzYkRldmljZV9Jc29jaHJvbm91c1RyYW5zZmVySW5fTmFtZSwKLSAgICAgICAg
ICBjb2RlYy5hbGlnbihVc2JEZXZpY2VfSXNvY2hyb25vdXNUcmFuc2ZlckluX1BhcmFtcy5lbmNv
ZGVkU2l6ZSksCi0gICAgICAgICAgY29kZWMua01lc3NhZ2VFeHBlY3RzUmVzcG9uc2UsIDApOwot
ICAgICAgYnVpbGRlci5lbmNvZGVTdHJ1Y3QoVXNiRGV2aWNlX0lzb2Nocm9ub3VzVHJhbnNmZXJJ
bl9QYXJhbXMsIHBhcmFtcyk7Ci0gICAgICB2YXIgbWVzc2FnZSA9IGJ1aWxkZXIuZmluaXNoKCk7
Ci0gICAgICB0aGlzLnJlY2VpdmVyXy5hY2NlcHRBbmRFeHBlY3RSZXNwb25zZShtZXNzYWdlKS50
aGVuKGZ1bmN0aW9uKG1lc3NhZ2UpIHsKLSAgICAgICAgdmFyIHJlYWRlciA9IG5ldyBjb2RlYy5N
ZXNzYWdlUmVhZGVyKG1lc3NhZ2UpOwotICAgICAgICB2YXIgcmVzcG9uc2VQYXJhbXMgPQotICAg
ICAgICAgICAgcmVhZGVyLmRlY29kZVN0cnVjdChVc2JEZXZpY2VfSXNvY2hyb25vdXNUcmFuc2Zl
ckluX1Jlc3BvbnNlUGFyYW1zKTsKLSAgICAgICAgcmVzb2x2ZShyZXNwb25zZVBhcmFtcyk7Ci0g
ICAgICB9KS5jYXRjaChmdW5jdGlvbihyZXN1bHQpIHsKLSAgICAgICAgcmVqZWN0KEVycm9yKCJD
b25uZWN0aW9uIGVycm9yOiAiICsgcmVzdWx0KSk7Ci0gICAgICB9KTsKLSAgICB9LmJpbmQodGhp
cykpOwotICB9OwotICBVc2JEZXZpY2VQdHIucHJvdG90eXBlLmlzb2Nocm9ub3VzVHJhbnNmZXJP
dXQgPSBmdW5jdGlvbigpIHsKLSAgICByZXR1cm4gVXNiRGV2aWNlUHJveHkucHJvdG90eXBlLmlz
b2Nocm9ub3VzVHJhbnNmZXJPdXQKLSAgICAgICAgLmFwcGx5KHRoaXMucHRyLmdldFByb3h5KCks
IGFyZ3VtZW50cyk7Ci0gIH07Ci0KLSAgVXNiRGV2aWNlUHJveHkucHJvdG90eXBlLmlzb2Nocm9u
b3VzVHJhbnNmZXJPdXQgPSBmdW5jdGlvbihlbmRwb2ludE51bWJlciwgZGF0YSwgcGFja2V0TGVu
Z3RocywgdGltZW91dCkgewotICAgIHZhciBwYXJhbXMgPSBuZXcgVXNiRGV2aWNlX0lzb2Nocm9u
b3VzVHJhbnNmZXJPdXRfUGFyYW1zKCk7Ci0gICAgcGFyYW1zLmVuZHBvaW50TnVtYmVyID0gZW5k
cG9pbnROdW1iZXI7Ci0gICAgcGFyYW1zLmRhdGEgPSBkYXRhOwotICAgIHBhcmFtcy5wYWNrZXRM
ZW5ndGhzID0gcGFja2V0TGVuZ3RoczsKLSAgICBwYXJhbXMudGltZW91dCA9IHRpbWVvdXQ7Ci0g
ICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewotICAgICAg
dmFyIGJ1aWxkZXIgPSBuZXcgY29kZWMuTWVzc2FnZVYxQnVpbGRlcigKLSAgICAgICAgICBrVXNi
RGV2aWNlX0lzb2Nocm9ub3VzVHJhbnNmZXJPdXRfTmFtZSwKLSAgICAgICAgICBjb2RlYy5hbGln
bihVc2JEZXZpY2VfSXNvY2hyb25vdXNUcmFuc2Zlck91dF9QYXJhbXMuZW5jb2RlZFNpemUpLAot
ICAgICAgICAgIGNvZGVjLmtNZXNzYWdlRXhwZWN0c1Jlc3BvbnNlLCAwKTsKLSAgICAgIGJ1aWxk
ZXIuZW5jb2RlU3RydWN0KFVzYkRldmljZV9Jc29jaHJvbm91c1RyYW5zZmVyT3V0X1BhcmFtcywg
cGFyYW1zKTsKLSAgICAgIHZhciBtZXNzYWdlID0gYnVpbGRlci5maW5pc2goKTsKLSAgICAgIHRo
aXMucmVjZWl2ZXJfLmFjY2VwdEFuZEV4cGVjdFJlc3BvbnNlKG1lc3NhZ2UpLnRoZW4oZnVuY3Rp
b24obWVzc2FnZSkgewotICAgICAgICB2YXIgcmVhZGVyID0gbmV3IGNvZGVjLk1lc3NhZ2VSZWFk
ZXIobWVzc2FnZSk7Ci0gICAgICAgIHZhciByZXNwb25zZVBhcmFtcyA9Ci0gICAgICAgICAgICBy
ZWFkZXIuZGVjb2RlU3RydWN0KFVzYkRldmljZV9Jc29jaHJvbm91c1RyYW5zZmVyT3V0X1Jlc3Bv
bnNlUGFyYW1zKTsKLSAgICAgICAgcmVzb2x2ZShyZXNwb25zZVBhcmFtcyk7Ci0gICAgICB9KS5j
YXRjaChmdW5jdGlvbihyZXN1bHQpIHsKLSAgICAgICAgcmVqZWN0KEVycm9yKCJDb25uZWN0aW9u
IGVycm9yOiAiICsgcmVzdWx0KSk7Ci0gICAgICB9KTsKLSAgICB9LmJpbmQodGhpcykpOwotICB9
OwotCi0gIGZ1bmN0aW9uIFVzYkRldmljZVN0dWIoZGVsZWdhdGUpIHsKLSAgICB0aGlzLmRlbGVn
YXRlXyA9IGRlbGVnYXRlOwotICB9Ci0gIFVzYkRldmljZVN0dWIucHJvdG90eXBlLm9wZW4gPSBm
dW5jdGlvbigpIHsKLSAgICByZXR1cm4gdGhpcy5kZWxlZ2F0ZV8gJiYgdGhpcy5kZWxlZ2F0ZV8u
b3BlbiAmJiB0aGlzLmRlbGVnYXRlXy5vcGVuKCk7Ci0gIH0KLSAgVXNiRGV2aWNlU3R1Yi5wcm90
b3R5cGUuY2xvc2UgPSBmdW5jdGlvbigpIHsKLSAgICByZXR1cm4gdGhpcy5kZWxlZ2F0ZV8gJiYg
dGhpcy5kZWxlZ2F0ZV8uY2xvc2UgJiYgdGhpcy5kZWxlZ2F0ZV8uY2xvc2UoKTsKLSAgfQotICBV
c2JEZXZpY2VTdHViLnByb3RvdHlwZS5zZXRDb25maWd1cmF0aW9uID0gZnVuY3Rpb24odmFsdWUp
IHsKLSAgICByZXR1cm4gdGhpcy5kZWxlZ2F0ZV8gJiYgdGhpcy5kZWxlZ2F0ZV8uc2V0Q29uZmln
dXJhdGlvbiAmJiB0aGlzLmRlbGVnYXRlXy5zZXRDb25maWd1cmF0aW9uKHZhbHVlKTsKLSAgfQot
ICBVc2JEZXZpY2VTdHViLnByb3RvdHlwZS5jbGFpbUludGVyZmFjZSA9IGZ1bmN0aW9uKGludGVy
ZmFjZU51bWJlcikgewotICAgIHJldHVybiB0aGlzLmRlbGVnYXRlXyAmJiB0aGlzLmRlbGVnYXRl
Xy5jbGFpbUludGVyZmFjZSAmJiB0aGlzLmRlbGVnYXRlXy5jbGFpbUludGVyZmFjZShpbnRlcmZh
Y2VOdW1iZXIpOwotICB9Ci0gIFVzYkRldmljZVN0dWIucHJvdG90eXBlLnJlbGVhc2VJbnRlcmZh
Y2UgPSBmdW5jdGlvbihpbnRlcmZhY2VOdW1iZXIpIHsKLSAgICByZXR1cm4gdGhpcy5kZWxlZ2F0
ZV8gJiYgdGhpcy5kZWxlZ2F0ZV8ucmVsZWFzZUludGVyZmFjZSAmJiB0aGlzLmRlbGVnYXRlXy5y
ZWxlYXNlSW50ZXJmYWNlKGludGVyZmFjZU51bWJlcik7Ci0gIH0KLSAgVXNiRGV2aWNlU3R1Yi5w
cm90b3R5cGUuc2V0SW50ZXJmYWNlQWx0ZXJuYXRlU2V0dGluZyA9IGZ1bmN0aW9uKGludGVyZmFj
ZU51bWJlciwgYWx0ZXJuYXRlU2V0dGluZykgewotICAgIHJldHVybiB0aGlzLmRlbGVnYXRlXyAm
JiB0aGlzLmRlbGVnYXRlXy5zZXRJbnRlcmZhY2VBbHRlcm5hdGVTZXR0aW5nICYmIHRoaXMuZGVs
ZWdhdGVfLnNldEludGVyZmFjZUFsdGVybmF0ZVNldHRpbmcoaW50ZXJmYWNlTnVtYmVyLCBhbHRl
cm5hdGVTZXR0aW5nKTsKLSAgfQotICBVc2JEZXZpY2VTdHViLnByb3RvdHlwZS5yZXNldCA9IGZ1
bmN0aW9uKCkgewotICAgIHJldHVybiB0aGlzLmRlbGVnYXRlXyAmJiB0aGlzLmRlbGVnYXRlXy5y
ZXNldCAmJiB0aGlzLmRlbGVnYXRlXy5yZXNldCgpOwotICB9Ci0gIFVzYkRldmljZVN0dWIucHJv
dG90eXBlLmNsZWFySGFsdCA9IGZ1bmN0aW9uKGVuZHBvaW50KSB7Ci0gICAgcmV0dXJuIHRoaXMu
ZGVsZWdhdGVfICYmIHRoaXMuZGVsZWdhdGVfLmNsZWFySGFsdCAmJiB0aGlzLmRlbGVnYXRlXy5j
bGVhckhhbHQoZW5kcG9pbnQpOwotICB9Ci0gIFVzYkRldmljZVN0dWIucHJvdG90eXBlLmNvbnRy
b2xUcmFuc2ZlckluID0gZnVuY3Rpb24ocGFyYW1zLCBsZW5ndGgsIHRpbWVvdXQpIHsKLSAgICBy
ZXR1cm4gdGhpcy5kZWxlZ2F0ZV8gJiYgdGhpcy5kZWxlZ2F0ZV8uY29udHJvbFRyYW5zZmVySW4g
JiYgdGhpcy5kZWxlZ2F0ZV8uY29udHJvbFRyYW5zZmVySW4ocGFyYW1zLCBsZW5ndGgsIHRpbWVv
dXQpOwotICB9Ci0gIFVzYkRldmljZVN0dWIucHJvdG90eXBlLmNvbnRyb2xUcmFuc2Zlck91dCA9
IGZ1bmN0aW9uKHBhcmFtcywgZGF0YSwgdGltZW91dCkgewotICAgIHJldHVybiB0aGlzLmRlbGVn
YXRlXyAmJiB0aGlzLmRlbGVnYXRlXy5jb250cm9sVHJhbnNmZXJPdXQgJiYgdGhpcy5kZWxlZ2F0
ZV8uY29udHJvbFRyYW5zZmVyT3V0KHBhcmFtcywgZGF0YSwgdGltZW91dCk7Ci0gIH0KLSAgVXNi
RGV2aWNlU3R1Yi5wcm90b3R5cGUuZ2VuZXJpY1RyYW5zZmVySW4gPSBmdW5jdGlvbihlbmRwb2lu
dE51bWJlciwgbGVuZ3RoLCB0aW1lb3V0KSB7Ci0gICAgcmV0dXJuIHRoaXMuZGVsZWdhdGVfICYm
IHRoaXMuZGVsZWdhdGVfLmdlbmVyaWNUcmFuc2ZlckluICYmIHRoaXMuZGVsZWdhdGVfLmdlbmVy
aWNUcmFuc2ZlckluKGVuZHBvaW50TnVtYmVyLCBsZW5ndGgsIHRpbWVvdXQpOwotICB9Ci0gIFVz
YkRldmljZVN0dWIucHJvdG90eXBlLmdlbmVyaWNUcmFuc2Zlck91dCA9IGZ1bmN0aW9uKGVuZHBv
aW50TnVtYmVyLCBkYXRhLCB0aW1lb3V0KSB7Ci0gICAgcmV0dXJuIHRoaXMuZGVsZWdhdGVfICYm
IHRoaXMuZGVsZWdhdGVfLmdlbmVyaWNUcmFuc2Zlck91dCAmJiB0aGlzLmRlbGVnYXRlXy5nZW5l
cmljVHJhbnNmZXJPdXQoZW5kcG9pbnROdW1iZXIsIGRhdGEsIHRpbWVvdXQpOwotICB9Ci0gIFVz
YkRldmljZVN0dWIucHJvdG90eXBlLmlzb2Nocm9ub3VzVHJhbnNmZXJJbiA9IGZ1bmN0aW9uKGVu
ZHBvaW50TnVtYmVyLCBwYWNrZXRMZW5ndGhzLCB0aW1lb3V0KSB7Ci0gICAgcmV0dXJuIHRoaXMu
ZGVsZWdhdGVfICYmIHRoaXMuZGVsZWdhdGVfLmlzb2Nocm9ub3VzVHJhbnNmZXJJbiAmJiB0aGlz
LmRlbGVnYXRlXy5pc29jaHJvbm91c1RyYW5zZmVySW4oZW5kcG9pbnROdW1iZXIsIHBhY2tldExl
bmd0aHMsIHRpbWVvdXQpOwotICB9Ci0gIFVzYkRldmljZVN0dWIucHJvdG90eXBlLmlzb2Nocm9u
b3VzVHJhbnNmZXJPdXQgPSBmdW5jdGlvbihlbmRwb2ludE51bWJlciwgZGF0YSwgcGFja2V0TGVu
Z3RocywgdGltZW91dCkgewotICAgIHJldHVybiB0aGlzLmRlbGVnYXRlXyAmJiB0aGlzLmRlbGVn
YXRlXy5pc29jaHJvbm91c1RyYW5zZmVyT3V0ICYmIHRoaXMuZGVsZWdhdGVfLmlzb2Nocm9ub3Vz
VHJhbnNmZXJPdXQoZW5kcG9pbnROdW1iZXIsIGRhdGEsIHBhY2tldExlbmd0aHMsIHRpbWVvdXQp
OwotICB9Ci0KLSAgVXNiRGV2aWNlU3R1Yi5wcm90b3R5cGUuYWNjZXB0ID0gZnVuY3Rpb24obWVz
c2FnZSkgewotICAgIHZhciByZWFkZXIgPSBuZXcgY29kZWMuTWVzc2FnZVJlYWRlcihtZXNzYWdl
KTsKLSAgICBzd2l0Y2ggKHJlYWRlci5tZXNzYWdlTmFtZSkgewotICAgIGRlZmF1bHQ6Ci0gICAg
ICByZXR1cm4gZmFsc2U7Ci0gICAgfQotICB9OwotCi0gIFVzYkRldmljZVN0dWIucHJvdG90eXBl
LmFjY2VwdFdpdGhSZXNwb25kZXIgPQotICAgICAgZnVuY3Rpb24obWVzc2FnZSwgcmVzcG9uZGVy
KSB7Ci0gICAgdmFyIHJlYWRlciA9IG5ldyBjb2RlYy5NZXNzYWdlUmVhZGVyKG1lc3NhZ2UpOwot
ICAgIHN3aXRjaCAocmVhZGVyLm1lc3NhZ2VOYW1lKSB7Ci0gICAgY2FzZSBrVXNiRGV2aWNlX09w
ZW5fTmFtZToKLSAgICAgIHZhciBwYXJhbXMgPSByZWFkZXIuZGVjb2RlU3RydWN0KFVzYkRldmlj
ZV9PcGVuX1BhcmFtcyk7Ci0gICAgICB0aGlzLm9wZW4oKS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNl
KSB7Ci0gICAgICAgIHZhciByZXNwb25zZVBhcmFtcyA9Ci0gICAgICAgICAgICBuZXcgVXNiRGV2
aWNlX09wZW5fUmVzcG9uc2VQYXJhbXMoKTsKLSAgICAgICAgcmVzcG9uc2VQYXJhbXMuZXJyb3Ig
PSByZXNwb25zZS5lcnJvcjsKLSAgICAgICAgdmFyIGJ1aWxkZXIgPSBuZXcgY29kZWMuTWVzc2Fn
ZVYxQnVpbGRlcigKLSAgICAgICAgICAgIGtVc2JEZXZpY2VfT3Blbl9OYW1lLAotICAgICAgICAg
ICAgY29kZWMuYWxpZ24oVXNiRGV2aWNlX09wZW5fUmVzcG9uc2VQYXJhbXMuZW5jb2RlZFNpemUp
LAotICAgICAgICAgICAgY29kZWMua01lc3NhZ2VJc1Jlc3BvbnNlLCByZWFkZXIucmVxdWVzdElE
KTsKLSAgICAgICAgYnVpbGRlci5lbmNvZGVTdHJ1Y3QoVXNiRGV2aWNlX09wZW5fUmVzcG9uc2VQ
YXJhbXMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlUGFyYW1zKTsKLSAg
ICAgICAgdmFyIG1lc3NhZ2UgPSBidWlsZGVyLmZpbmlzaCgpOwotICAgICAgICByZXNwb25kZXIu
YWNjZXB0KG1lc3NhZ2UpOwotICAgICAgfSk7Ci0gICAgICByZXR1cm4gdHJ1ZTsKLSAgICBjYXNl
IGtVc2JEZXZpY2VfQ2xvc2VfTmFtZToKLSAgICAgIHZhciBwYXJhbXMgPSByZWFkZXIuZGVjb2Rl
U3RydWN0KFVzYkRldmljZV9DbG9zZV9QYXJhbXMpOwotICAgICAgdGhpcy5jbG9zZSgpLnRoZW4o
ZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICAgICAgdmFyIHJlc3BvbnNlUGFyYW1zID0KLSAgICAg
ICAgICAgIG5ldyBVc2JEZXZpY2VfQ2xvc2VfUmVzcG9uc2VQYXJhbXMoKTsKLSAgICAgICAgdmFy
IGJ1aWxkZXIgPSBuZXcgY29kZWMuTWVzc2FnZVYxQnVpbGRlcigKLSAgICAgICAgICAgIGtVc2JE
ZXZpY2VfQ2xvc2VfTmFtZSwKLSAgICAgICAgICAgIGNvZGVjLmFsaWduKFVzYkRldmljZV9DbG9z
ZV9SZXNwb25zZVBhcmFtcy5lbmNvZGVkU2l6ZSksCi0gICAgICAgICAgICBjb2RlYy5rTWVzc2Fn
ZUlzUmVzcG9uc2UsIHJlYWRlci5yZXF1ZXN0SUQpOwotICAgICAgICBidWlsZGVyLmVuY29kZVN0
cnVjdChVc2JEZXZpY2VfQ2xvc2VfUmVzcG9uc2VQYXJhbXMsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHJlc3BvbnNlUGFyYW1zKTsKLSAgICAgICAgdmFyIG1lc3NhZ2UgPSBidWlsZGVy
LmZpbmlzaCgpOwotICAgICAgICByZXNwb25kZXIuYWNjZXB0KG1lc3NhZ2UpOwotICAgICAgfSk7
Ci0gICAgICByZXR1cm4gdHJ1ZTsKLSAgICBjYXNlIGtVc2JEZXZpY2VfU2V0Q29uZmlndXJhdGlv
bl9OYW1lOgotICAgICAgdmFyIHBhcmFtcyA9IHJlYWRlci5kZWNvZGVTdHJ1Y3QoVXNiRGV2aWNl
X1NldENvbmZpZ3VyYXRpb25fUGFyYW1zKTsKLSAgICAgIHRoaXMuc2V0Q29uZmlndXJhdGlvbihw
YXJhbXMudmFsdWUpLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICAgICAgdmFyIHJlc3Bv
bnNlUGFyYW1zID0KLSAgICAgICAgICAgIG5ldyBVc2JEZXZpY2VfU2V0Q29uZmlndXJhdGlvbl9S
ZXNwb25zZVBhcmFtcygpOwotICAgICAgICByZXNwb25zZVBhcmFtcy5zdWNjZXNzID0gcmVzcG9u
c2Uuc3VjY2VzczsKLSAgICAgICAgdmFyIGJ1aWxkZXIgPSBuZXcgY29kZWMuTWVzc2FnZVYxQnVp
bGRlcigKLSAgICAgICAgICAgIGtVc2JEZXZpY2VfU2V0Q29uZmlndXJhdGlvbl9OYW1lLAotICAg
ICAgICAgICAgY29kZWMuYWxpZ24oVXNiRGV2aWNlX1NldENvbmZpZ3VyYXRpb25fUmVzcG9uc2VQ
YXJhbXMuZW5jb2RlZFNpemUpLAotICAgICAgICAgICAgY29kZWMua01lc3NhZ2VJc1Jlc3BvbnNl
LCByZWFkZXIucmVxdWVzdElEKTsKLSAgICAgICAgYnVpbGRlci5lbmNvZGVTdHJ1Y3QoVXNiRGV2
aWNlX1NldENvbmZpZ3VyYXRpb25fUmVzcG9uc2VQYXJhbXMsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHJlc3BvbnNlUGFyYW1zKTsKLSAgICAgICAgdmFyIG1lc3NhZ2UgPSBidWlsZGVy
LmZpbmlzaCgpOwotICAgICAgICByZXNwb25kZXIuYWNjZXB0KG1lc3NhZ2UpOwotICAgICAgfSk7
Ci0gICAgICByZXR1cm4gdHJ1ZTsKLSAgICBjYXNlIGtVc2JEZXZpY2VfQ2xhaW1JbnRlcmZhY2Vf
TmFtZToKLSAgICAgIHZhciBwYXJhbXMgPSByZWFkZXIuZGVjb2RlU3RydWN0KFVzYkRldmljZV9D
bGFpbUludGVyZmFjZV9QYXJhbXMpOwotICAgICAgdGhpcy5jbGFpbUludGVyZmFjZShwYXJhbXMu
aW50ZXJmYWNlTnVtYmVyKS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgICAgIHZhciBy
ZXNwb25zZVBhcmFtcyA9Ci0gICAgICAgICAgICBuZXcgVXNiRGV2aWNlX0NsYWltSW50ZXJmYWNl
X1Jlc3BvbnNlUGFyYW1zKCk7Ci0gICAgICAgIHJlc3BvbnNlUGFyYW1zLnN1Y2Nlc3MgPSByZXNw
b25zZS5zdWNjZXNzOwotICAgICAgICB2YXIgYnVpbGRlciA9IG5ldyBjb2RlYy5NZXNzYWdlVjFC
dWlsZGVyKAotICAgICAgICAgICAga1VzYkRldmljZV9DbGFpbUludGVyZmFjZV9OYW1lLAotICAg
ICAgICAgICAgY29kZWMuYWxpZ24oVXNiRGV2aWNlX0NsYWltSW50ZXJmYWNlX1Jlc3BvbnNlUGFy
YW1zLmVuY29kZWRTaXplKSwKLSAgICAgICAgICAgIGNvZGVjLmtNZXNzYWdlSXNSZXNwb25zZSwg
cmVhZGVyLnJlcXVlc3RJRCk7Ci0gICAgICAgIGJ1aWxkZXIuZW5jb2RlU3RydWN0KFVzYkRldmlj
ZV9DbGFpbUludGVyZmFjZV9SZXNwb25zZVBhcmFtcywKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgcmVzcG9uc2VQYXJhbXMpOwotICAgICAgICB2YXIgbWVzc2FnZSA9IGJ1aWxkZXIuZmlu
aXNoKCk7Ci0gICAgICAgIHJlc3BvbmRlci5hY2NlcHQobWVzc2FnZSk7Ci0gICAgICB9KTsKLSAg
ICAgIHJldHVybiB0cnVlOwotICAgIGNhc2Uga1VzYkRldmljZV9SZWxlYXNlSW50ZXJmYWNlX05h
bWU6Ci0gICAgICB2YXIgcGFyYW1zID0gcmVhZGVyLmRlY29kZVN0cnVjdChVc2JEZXZpY2VfUmVs
ZWFzZUludGVyZmFjZV9QYXJhbXMpOwotICAgICAgdGhpcy5yZWxlYXNlSW50ZXJmYWNlKHBhcmFt
cy5pbnRlcmZhY2VOdW1iZXIpLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICAgICAgdmFy
IHJlc3BvbnNlUGFyYW1zID0KLSAgICAgICAgICAgIG5ldyBVc2JEZXZpY2VfUmVsZWFzZUludGVy
ZmFjZV9SZXNwb25zZVBhcmFtcygpOwotICAgICAgICByZXNwb25zZVBhcmFtcy5zdWNjZXNzID0g
cmVzcG9uc2Uuc3VjY2VzczsKLSAgICAgICAgdmFyIGJ1aWxkZXIgPSBuZXcgY29kZWMuTWVzc2Fn
ZVYxQnVpbGRlcigKLSAgICAgICAgICAgIGtVc2JEZXZpY2VfUmVsZWFzZUludGVyZmFjZV9OYW1l
LAotICAgICAgICAgICAgY29kZWMuYWxpZ24oVXNiRGV2aWNlX1JlbGVhc2VJbnRlcmZhY2VfUmVz
cG9uc2VQYXJhbXMuZW5jb2RlZFNpemUpLAotICAgICAgICAgICAgY29kZWMua01lc3NhZ2VJc1Jl
c3BvbnNlLCByZWFkZXIucmVxdWVzdElEKTsKLSAgICAgICAgYnVpbGRlci5lbmNvZGVTdHJ1Y3Qo
VXNiRGV2aWNlX1JlbGVhc2VJbnRlcmZhY2VfUmVzcG9uc2VQYXJhbXMsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHJlc3BvbnNlUGFyYW1zKTsKLSAgICAgICAgdmFyIG1lc3NhZ2UgPSBi
dWlsZGVyLmZpbmlzaCgpOwotICAgICAgICByZXNwb25kZXIuYWNjZXB0KG1lc3NhZ2UpOwotICAg
ICAgfSk7Ci0gICAgICByZXR1cm4gdHJ1ZTsKLSAgICBjYXNlIGtVc2JEZXZpY2VfU2V0SW50ZXJm
YWNlQWx0ZXJuYXRlU2V0dGluZ19OYW1lOgotICAgICAgdmFyIHBhcmFtcyA9IHJlYWRlci5kZWNv
ZGVTdHJ1Y3QoVXNiRGV2aWNlX1NldEludGVyZmFjZUFsdGVybmF0ZVNldHRpbmdfUGFyYW1zKTsK
LSAgICAgIHRoaXMuc2V0SW50ZXJmYWNlQWx0ZXJuYXRlU2V0dGluZyhwYXJhbXMuaW50ZXJmYWNl
TnVtYmVyLCBwYXJhbXMuYWx0ZXJuYXRlU2V0dGluZykudGhlbihmdW5jdGlvbihyZXNwb25zZSkg
ewotICAgICAgICB2YXIgcmVzcG9uc2VQYXJhbXMgPQotICAgICAgICAgICAgbmV3IFVzYkRldmlj
ZV9TZXRJbnRlcmZhY2VBbHRlcm5hdGVTZXR0aW5nX1Jlc3BvbnNlUGFyYW1zKCk7Ci0gICAgICAg
IHJlc3BvbnNlUGFyYW1zLnN1Y2Nlc3MgPSByZXNwb25zZS5zdWNjZXNzOwotICAgICAgICB2YXIg
YnVpbGRlciA9IG5ldyBjb2RlYy5NZXNzYWdlVjFCdWlsZGVyKAotICAgICAgICAgICAga1VzYkRl
dmljZV9TZXRJbnRlcmZhY2VBbHRlcm5hdGVTZXR0aW5nX05hbWUsCi0gICAgICAgICAgICBjb2Rl
Yy5hbGlnbihVc2JEZXZpY2VfU2V0SW50ZXJmYWNlQWx0ZXJuYXRlU2V0dGluZ19SZXNwb25zZVBh
cmFtcy5lbmNvZGVkU2l6ZSksCi0gICAgICAgICAgICBjb2RlYy5rTWVzc2FnZUlzUmVzcG9uc2Us
IHJlYWRlci5yZXF1ZXN0SUQpOwotICAgICAgICBidWlsZGVyLmVuY29kZVN0cnVjdChVc2JEZXZp
Y2VfU2V0SW50ZXJmYWNlQWx0ZXJuYXRlU2V0dGluZ19SZXNwb25zZVBhcmFtcywKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2VQYXJhbXMpOwotICAgICAgICB2YXIgbWVzc2Fn
ZSA9IGJ1aWxkZXIuZmluaXNoKCk7Ci0gICAgICAgIHJlc3BvbmRlci5hY2NlcHQobWVzc2FnZSk7
Ci0gICAgICB9KTsKLSAgICAgIHJldHVybiB0cnVlOwotICAgIGNhc2Uga1VzYkRldmljZV9SZXNl
dF9OYW1lOgotICAgICAgdmFyIHBhcmFtcyA9IHJlYWRlci5kZWNvZGVTdHJ1Y3QoVXNiRGV2aWNl
X1Jlc2V0X1BhcmFtcyk7Ci0gICAgICB0aGlzLnJlc2V0KCkudGhlbihmdW5jdGlvbihyZXNwb25z
ZSkgewotICAgICAgICB2YXIgcmVzcG9uc2VQYXJhbXMgPQotICAgICAgICAgICAgbmV3IFVzYkRl
dmljZV9SZXNldF9SZXNwb25zZVBhcmFtcygpOwotICAgICAgICByZXNwb25zZVBhcmFtcy5zdWNj
ZXNzID0gcmVzcG9uc2Uuc3VjY2VzczsKLSAgICAgICAgdmFyIGJ1aWxkZXIgPSBuZXcgY29kZWMu
TWVzc2FnZVYxQnVpbGRlcigKLSAgICAgICAgICAgIGtVc2JEZXZpY2VfUmVzZXRfTmFtZSwKLSAg
ICAgICAgICAgIGNvZGVjLmFsaWduKFVzYkRldmljZV9SZXNldF9SZXNwb25zZVBhcmFtcy5lbmNv
ZGVkU2l6ZSksCi0gICAgICAgICAgICBjb2RlYy5rTWVzc2FnZUlzUmVzcG9uc2UsIHJlYWRlci5y
ZXF1ZXN0SUQpOwotICAgICAgICBidWlsZGVyLmVuY29kZVN0cnVjdChVc2JEZXZpY2VfUmVzZXRf
UmVzcG9uc2VQYXJhbXMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlUGFy
YW1zKTsKLSAgICAgICAgdmFyIG1lc3NhZ2UgPSBidWlsZGVyLmZpbmlzaCgpOwotICAgICAgICBy
ZXNwb25kZXIuYWNjZXB0KG1lc3NhZ2UpOwotICAgICAgfSk7Ci0gICAgICByZXR1cm4gdHJ1ZTsK
LSAgICBjYXNlIGtVc2JEZXZpY2VfQ2xlYXJIYWx0X05hbWU6Ci0gICAgICB2YXIgcGFyYW1zID0g
cmVhZGVyLmRlY29kZVN0cnVjdChVc2JEZXZpY2VfQ2xlYXJIYWx0X1BhcmFtcyk7Ci0gICAgICB0
aGlzLmNsZWFySGFsdChwYXJhbXMuZW5kcG9pbnQpLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsK
LSAgICAgICAgdmFyIHJlc3BvbnNlUGFyYW1zID0KLSAgICAgICAgICAgIG5ldyBVc2JEZXZpY2Vf
Q2xlYXJIYWx0X1Jlc3BvbnNlUGFyYW1zKCk7Ci0gICAgICAgIHJlc3BvbnNlUGFyYW1zLnN1Y2Nl
c3MgPSByZXNwb25zZS5zdWNjZXNzOwotICAgICAgICB2YXIgYnVpbGRlciA9IG5ldyBjb2RlYy5N
ZXNzYWdlVjFCdWlsZGVyKAotICAgICAgICAgICAga1VzYkRldmljZV9DbGVhckhhbHRfTmFtZSwK
LSAgICAgICAgICAgIGNvZGVjLmFsaWduKFVzYkRldmljZV9DbGVhckhhbHRfUmVzcG9uc2VQYXJh
bXMuZW5jb2RlZFNpemUpLAotICAgICAgICAgICAgY29kZWMua01lc3NhZ2VJc1Jlc3BvbnNlLCBy
ZWFkZXIucmVxdWVzdElEKTsKLSAgICAgICAgYnVpbGRlci5lbmNvZGVTdHJ1Y3QoVXNiRGV2aWNl
X0NsZWFySGFsdF9SZXNwb25zZVBhcmFtcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
cmVzcG9uc2VQYXJhbXMpOwotICAgICAgICB2YXIgbWVzc2FnZSA9IGJ1aWxkZXIuZmluaXNoKCk7
Ci0gICAgICAgIHJlc3BvbmRlci5hY2NlcHQobWVzc2FnZSk7Ci0gICAgICB9KTsKLSAgICAgIHJl
dHVybiB0cnVlOwotICAgIGNhc2Uga1VzYkRldmljZV9Db250cm9sVHJhbnNmZXJJbl9OYW1lOgot
ICAgICAgdmFyIHBhcmFtcyA9IHJlYWRlci5kZWNvZGVTdHJ1Y3QoVXNiRGV2aWNlX0NvbnRyb2xU
cmFuc2ZlckluX1BhcmFtcyk7Ci0gICAgICB0aGlzLmNvbnRyb2xUcmFuc2ZlckluKHBhcmFtcy5w
YXJhbXMsIHBhcmFtcy5sZW5ndGgsIHBhcmFtcy50aW1lb3V0KS50aGVuKGZ1bmN0aW9uKHJlc3Bv
bnNlKSB7Ci0gICAgICAgIHZhciByZXNwb25zZVBhcmFtcyA9Ci0gICAgICAgICAgICBuZXcgVXNi
RGV2aWNlX0NvbnRyb2xUcmFuc2ZlckluX1Jlc3BvbnNlUGFyYW1zKCk7Ci0gICAgICAgIHJlc3Bv
bnNlUGFyYW1zLnN0YXR1cyA9IHJlc3BvbnNlLnN0YXR1czsKLSAgICAgICAgcmVzcG9uc2VQYXJh
bXMuZGF0YSA9IHJlc3BvbnNlLmRhdGE7Ci0gICAgICAgIHZhciBidWlsZGVyID0gbmV3IGNvZGVj
Lk1lc3NhZ2VWMUJ1aWxkZXIoCi0gICAgICAgICAgICBrVXNiRGV2aWNlX0NvbnRyb2xUcmFuc2Zl
ckluX05hbWUsCi0gICAgICAgICAgICBjb2RlYy5hbGlnbihVc2JEZXZpY2VfQ29udHJvbFRyYW5z
ZmVySW5fUmVzcG9uc2VQYXJhbXMuZW5jb2RlZFNpemUpLAotICAgICAgICAgICAgY29kZWMua01l
c3NhZ2VJc1Jlc3BvbnNlLCByZWFkZXIucmVxdWVzdElEKTsKLSAgICAgICAgYnVpbGRlci5lbmNv
ZGVTdHJ1Y3QoVXNiRGV2aWNlX0NvbnRyb2xUcmFuc2ZlckluX1Jlc3BvbnNlUGFyYW1zLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICByZXNwb25zZVBhcmFtcyk7Ci0gICAgICAgIHZhciBt
ZXNzYWdlID0gYnVpbGRlci5maW5pc2goKTsKLSAgICAgICAgcmVzcG9uZGVyLmFjY2VwdChtZXNz
YWdlKTsKLSAgICAgIH0pOwotICAgICAgcmV0dXJuIHRydWU7Ci0gICAgY2FzZSBrVXNiRGV2aWNl
X0NvbnRyb2xUcmFuc2Zlck91dF9OYW1lOgotICAgICAgdmFyIHBhcmFtcyA9IHJlYWRlci5kZWNv
ZGVTdHJ1Y3QoVXNiRGV2aWNlX0NvbnRyb2xUcmFuc2Zlck91dF9QYXJhbXMpOwotICAgICAgdGhp
cy5jb250cm9sVHJhbnNmZXJPdXQocGFyYW1zLnBhcmFtcywgcGFyYW1zLmRhdGEsIHBhcmFtcy50
aW1lb3V0KS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgICAgIHZhciByZXNwb25zZVBh
cmFtcyA9Ci0gICAgICAgICAgICBuZXcgVXNiRGV2aWNlX0NvbnRyb2xUcmFuc2Zlck91dF9SZXNw
b25zZVBhcmFtcygpOwotICAgICAgICByZXNwb25zZVBhcmFtcy5zdGF0dXMgPSByZXNwb25zZS5z
dGF0dXM7Ci0gICAgICAgIHZhciBidWlsZGVyID0gbmV3IGNvZGVjLk1lc3NhZ2VWMUJ1aWxkZXIo
Ci0gICAgICAgICAgICBrVXNiRGV2aWNlX0NvbnRyb2xUcmFuc2Zlck91dF9OYW1lLAotICAgICAg
ICAgICAgY29kZWMuYWxpZ24oVXNiRGV2aWNlX0NvbnRyb2xUcmFuc2Zlck91dF9SZXNwb25zZVBh
cmFtcy5lbmNvZGVkU2l6ZSksCi0gICAgICAgICAgICBjb2RlYy5rTWVzc2FnZUlzUmVzcG9uc2Us
IHJlYWRlci5yZXF1ZXN0SUQpOwotICAgICAgICBidWlsZGVyLmVuY29kZVN0cnVjdChVc2JEZXZp
Y2VfQ29udHJvbFRyYW5zZmVyT3V0X1Jlc3BvbnNlUGFyYW1zLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICByZXNwb25zZVBhcmFtcyk7Ci0gICAgICAgIHZhciBtZXNzYWdlID0gYnVpbGRl
ci5maW5pc2goKTsKLSAgICAgICAgcmVzcG9uZGVyLmFjY2VwdChtZXNzYWdlKTsKLSAgICAgIH0p
OwotICAgICAgcmV0dXJuIHRydWU7Ci0gICAgY2FzZSBrVXNiRGV2aWNlX0dlbmVyaWNUcmFuc2Zl
ckluX05hbWU6Ci0gICAgICB2YXIgcGFyYW1zID0gcmVhZGVyLmRlY29kZVN0cnVjdChVc2JEZXZp
Y2VfR2VuZXJpY1RyYW5zZmVySW5fUGFyYW1zKTsKLSAgICAgIHRoaXMuZ2VuZXJpY1RyYW5zZmVy
SW4ocGFyYW1zLmVuZHBvaW50TnVtYmVyLCBwYXJhbXMubGVuZ3RoLCBwYXJhbXMudGltZW91dCku
dGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgICAgICB2YXIgcmVzcG9uc2VQYXJhbXMgPQot
ICAgICAgICAgICAgbmV3IFVzYkRldmljZV9HZW5lcmljVHJhbnNmZXJJbl9SZXNwb25zZVBhcmFt
cygpOwotICAgICAgICByZXNwb25zZVBhcmFtcy5zdGF0dXMgPSByZXNwb25zZS5zdGF0dXM7Ci0g
ICAgICAgIHJlc3BvbnNlUGFyYW1zLmRhdGEgPSByZXNwb25zZS5kYXRhOwotICAgICAgICB2YXIg
YnVpbGRlciA9IG5ldyBjb2RlYy5NZXNzYWdlVjFCdWlsZGVyKAotICAgICAgICAgICAga1VzYkRl
dmljZV9HZW5lcmljVHJhbnNmZXJJbl9OYW1lLAotICAgICAgICAgICAgY29kZWMuYWxpZ24oVXNi
RGV2aWNlX0dlbmVyaWNUcmFuc2ZlckluX1Jlc3BvbnNlUGFyYW1zLmVuY29kZWRTaXplKSwKLSAg
ICAgICAgICAgIGNvZGVjLmtNZXNzYWdlSXNSZXNwb25zZSwgcmVhZGVyLnJlcXVlc3RJRCk7Ci0g
ICAgICAgIGJ1aWxkZXIuZW5jb2RlU3RydWN0KFVzYkRldmljZV9HZW5lcmljVHJhbnNmZXJJbl9S
ZXNwb25zZVBhcmFtcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2VQYXJh
bXMpOwotICAgICAgICB2YXIgbWVzc2FnZSA9IGJ1aWxkZXIuZmluaXNoKCk7Ci0gICAgICAgIHJl
c3BvbmRlci5hY2NlcHQobWVzc2FnZSk7Ci0gICAgICB9KTsKLSAgICAgIHJldHVybiB0cnVlOwot
ICAgIGNhc2Uga1VzYkRldmljZV9HZW5lcmljVHJhbnNmZXJPdXRfTmFtZToKLSAgICAgIHZhciBw
YXJhbXMgPSByZWFkZXIuZGVjb2RlU3RydWN0KFVzYkRldmljZV9HZW5lcmljVHJhbnNmZXJPdXRf
UGFyYW1zKTsKLSAgICAgIHRoaXMuZ2VuZXJpY1RyYW5zZmVyT3V0KHBhcmFtcy5lbmRwb2ludE51
bWJlciwgcGFyYW1zLmRhdGEsIHBhcmFtcy50aW1lb3V0KS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNl
KSB7Ci0gICAgICAgIHZhciByZXNwb25zZVBhcmFtcyA9Ci0gICAgICAgICAgICBuZXcgVXNiRGV2
aWNlX0dlbmVyaWNUcmFuc2Zlck91dF9SZXNwb25zZVBhcmFtcygpOwotICAgICAgICByZXNwb25z
ZVBhcmFtcy5zdGF0dXMgPSByZXNwb25zZS5zdGF0dXM7Ci0gICAgICAgIHZhciBidWlsZGVyID0g
bmV3IGNvZGVjLk1lc3NhZ2VWMUJ1aWxkZXIoCi0gICAgICAgICAgICBrVXNiRGV2aWNlX0dlbmVy
aWNUcmFuc2Zlck91dF9OYW1lLAotICAgICAgICAgICAgY29kZWMuYWxpZ24oVXNiRGV2aWNlX0dl
bmVyaWNUcmFuc2Zlck91dF9SZXNwb25zZVBhcmFtcy5lbmNvZGVkU2l6ZSksCi0gICAgICAgICAg
ICBjb2RlYy5rTWVzc2FnZUlzUmVzcG9uc2UsIHJlYWRlci5yZXF1ZXN0SUQpOwotICAgICAgICBi
dWlsZGVyLmVuY29kZVN0cnVjdChVc2JEZXZpY2VfR2VuZXJpY1RyYW5zZmVyT3V0X1Jlc3BvbnNl
UGFyYW1zLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNwb25zZVBhcmFtcyk7Ci0g
ICAgICAgIHZhciBtZXNzYWdlID0gYnVpbGRlci5maW5pc2goKTsKLSAgICAgICAgcmVzcG9uZGVy
LmFjY2VwdChtZXNzYWdlKTsKLSAgICAgIH0pOwotICAgICAgcmV0dXJuIHRydWU7Ci0gICAgY2Fz
ZSBrVXNiRGV2aWNlX0lzb2Nocm9ub3VzVHJhbnNmZXJJbl9OYW1lOgotICAgICAgdmFyIHBhcmFt
cyA9IHJlYWRlci5kZWNvZGVTdHJ1Y3QoVXNiRGV2aWNlX0lzb2Nocm9ub3VzVHJhbnNmZXJJbl9Q
YXJhbXMpOwotICAgICAgdGhpcy5pc29jaHJvbm91c1RyYW5zZmVySW4ocGFyYW1zLmVuZHBvaW50
TnVtYmVyLCBwYXJhbXMucGFja2V0TGVuZ3RocywgcGFyYW1zLnRpbWVvdXQpLnRoZW4oZnVuY3Rp
b24ocmVzcG9uc2UpIHsKLSAgICAgICAgdmFyIHJlc3BvbnNlUGFyYW1zID0KLSAgICAgICAgICAg
IG5ldyBVc2JEZXZpY2VfSXNvY2hyb25vdXNUcmFuc2ZlckluX1Jlc3BvbnNlUGFyYW1zKCk7Ci0g
ICAgICAgIHJlc3BvbnNlUGFyYW1zLmRhdGEgPSByZXNwb25zZS5kYXRhOwotICAgICAgICByZXNw
b25zZVBhcmFtcy5wYWNrZXRzID0gcmVzcG9uc2UucGFja2V0czsKLSAgICAgICAgdmFyIGJ1aWxk
ZXIgPSBuZXcgY29kZWMuTWVzc2FnZVYxQnVpbGRlcigKLSAgICAgICAgICAgIGtVc2JEZXZpY2Vf
SXNvY2hyb25vdXNUcmFuc2ZlckluX05hbWUsCi0gICAgICAgICAgICBjb2RlYy5hbGlnbihVc2JE
ZXZpY2VfSXNvY2hyb25vdXNUcmFuc2ZlckluX1Jlc3BvbnNlUGFyYW1zLmVuY29kZWRTaXplKSwK
LSAgICAgICAgICAgIGNvZGVjLmtNZXNzYWdlSXNSZXNwb25zZSwgcmVhZGVyLnJlcXVlc3RJRCk7
Ci0gICAgICAgIGJ1aWxkZXIuZW5jb2RlU3RydWN0KFVzYkRldmljZV9Jc29jaHJvbm91c1RyYW5z
ZmVySW5fUmVzcG9uc2VQYXJhbXMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3Bv
bnNlUGFyYW1zKTsKLSAgICAgICAgdmFyIG1lc3NhZ2UgPSBidWlsZGVyLmZpbmlzaCgpOwotICAg
ICAgICByZXNwb25kZXIuYWNjZXB0KG1lc3NhZ2UpOwotICAgICAgfSk7Ci0gICAgICByZXR1cm4g
dHJ1ZTsKLSAgICBjYXNlIGtVc2JEZXZpY2VfSXNvY2hyb25vdXNUcmFuc2Zlck91dF9OYW1lOgot
ICAgICAgdmFyIHBhcmFtcyA9IHJlYWRlci5kZWNvZGVTdHJ1Y3QoVXNiRGV2aWNlX0lzb2Nocm9u
b3VzVHJhbnNmZXJPdXRfUGFyYW1zKTsKLSAgICAgIHRoaXMuaXNvY2hyb25vdXNUcmFuc2Zlck91
dChwYXJhbXMuZW5kcG9pbnROdW1iZXIsIHBhcmFtcy5kYXRhLCBwYXJhbXMucGFja2V0TGVuZ3Ro
cywgcGFyYW1zLnRpbWVvdXQpLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICAgICAgdmFy
IHJlc3BvbnNlUGFyYW1zID0KLSAgICAgICAgICAgIG5ldyBVc2JEZXZpY2VfSXNvY2hyb25vdXNU
cmFuc2Zlck91dF9SZXNwb25zZVBhcmFtcygpOwotICAgICAgICByZXNwb25zZVBhcmFtcy5wYWNr
ZXRzID0gcmVzcG9uc2UucGFja2V0czsKLSAgICAgICAgdmFyIGJ1aWxkZXIgPSBuZXcgY29kZWMu
TWVzc2FnZVYxQnVpbGRlcigKLSAgICAgICAgICAgIGtVc2JEZXZpY2VfSXNvY2hyb25vdXNUcmFu
c2Zlck91dF9OYW1lLAotICAgICAgICAgICAgY29kZWMuYWxpZ24oVXNiRGV2aWNlX0lzb2Nocm9u
b3VzVHJhbnNmZXJPdXRfUmVzcG9uc2VQYXJhbXMuZW5jb2RlZFNpemUpLAotICAgICAgICAgICAg
Y29kZWMua01lc3NhZ2VJc1Jlc3BvbnNlLCByZWFkZXIucmVxdWVzdElEKTsKLSAgICAgICAgYnVp
bGRlci5lbmNvZGVTdHJ1Y3QoVXNiRGV2aWNlX0lzb2Nocm9ub3VzVHJhbnNmZXJPdXRfUmVzcG9u
c2VQYXJhbXMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlUGFyYW1zKTsK
LSAgICAgICAgdmFyIG1lc3NhZ2UgPSBidWlsZGVyLmZpbmlzaCgpOwotICAgICAgICByZXNwb25k
ZXIuYWNjZXB0KG1lc3NhZ2UpOwotICAgICAgfSk7Ci0gICAgICByZXR1cm4gdHJ1ZTsKLSAgICBk
ZWZhdWx0OgotICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0KLSAgfTsKLQotICBmdW5jdGlvbiB2
YWxpZGF0ZVVzYkRldmljZVJlcXVlc3QobWVzc2FnZVZhbGlkYXRvcikgewotICAgIHZhciBtZXNz
YWdlID0gbWVzc2FnZVZhbGlkYXRvci5tZXNzYWdlOwotICAgIHZhciBwYXJhbXNDbGFzcyA9IG51
bGw7Ci0gICAgc3dpdGNoIChtZXNzYWdlLmdldE5hbWUoKSkgewotICAgICAgY2FzZSBrVXNiRGV2
aWNlX09wZW5fTmFtZToKLSAgICAgICAgaWYgKG1lc3NhZ2UuZXhwZWN0c1Jlc3BvbnNlKCkpCi0g
ICAgICAgICAgcGFyYW1zQ2xhc3MgPSBVc2JEZXZpY2VfT3Blbl9QYXJhbXM7Ci0gICAgICBicmVh
azsKLSAgICAgIGNhc2Uga1VzYkRldmljZV9DbG9zZV9OYW1lOgotICAgICAgICBpZiAobWVzc2Fn
ZS5leHBlY3RzUmVzcG9uc2UoKSkKLSAgICAgICAgICBwYXJhbXNDbGFzcyA9IFVzYkRldmljZV9D
bG9zZV9QYXJhbXM7Ci0gICAgICBicmVhazsKLSAgICAgIGNhc2Uga1VzYkRldmljZV9TZXRDb25m
aWd1cmF0aW9uX05hbWU6Ci0gICAgICAgIGlmIChtZXNzYWdlLmV4cGVjdHNSZXNwb25zZSgpKQot
ICAgICAgICAgIHBhcmFtc0NsYXNzID0gVXNiRGV2aWNlX1NldENvbmZpZ3VyYXRpb25fUGFyYW1z
OwotICAgICAgYnJlYWs7Ci0gICAgICBjYXNlIGtVc2JEZXZpY2VfQ2xhaW1JbnRlcmZhY2VfTmFt
ZToKLSAgICAgICAgaWYgKG1lc3NhZ2UuZXhwZWN0c1Jlc3BvbnNlKCkpCi0gICAgICAgICAgcGFy
YW1zQ2xhc3MgPSBVc2JEZXZpY2VfQ2xhaW1JbnRlcmZhY2VfUGFyYW1zOwotICAgICAgYnJlYWs7
Ci0gICAgICBjYXNlIGtVc2JEZXZpY2VfUmVsZWFzZUludGVyZmFjZV9OYW1lOgotICAgICAgICBp
ZiAobWVzc2FnZS5leHBlY3RzUmVzcG9uc2UoKSkKLSAgICAgICAgICBwYXJhbXNDbGFzcyA9IFVz
YkRldmljZV9SZWxlYXNlSW50ZXJmYWNlX1BhcmFtczsKLSAgICAgIGJyZWFrOwotICAgICAgY2Fz
ZSBrVXNiRGV2aWNlX1NldEludGVyZmFjZUFsdGVybmF0ZVNldHRpbmdfTmFtZToKLSAgICAgICAg
aWYgKG1lc3NhZ2UuZXhwZWN0c1Jlc3BvbnNlKCkpCi0gICAgICAgICAgcGFyYW1zQ2xhc3MgPSBV
c2JEZXZpY2VfU2V0SW50ZXJmYWNlQWx0ZXJuYXRlU2V0dGluZ19QYXJhbXM7Ci0gICAgICBicmVh
azsKLSAgICAgIGNhc2Uga1VzYkRldmljZV9SZXNldF9OYW1lOgotICAgICAgICBpZiAobWVzc2Fn
ZS5leHBlY3RzUmVzcG9uc2UoKSkKLSAgICAgICAgICBwYXJhbXNDbGFzcyA9IFVzYkRldmljZV9S
ZXNldF9QYXJhbXM7Ci0gICAgICBicmVhazsKLSAgICAgIGNhc2Uga1VzYkRldmljZV9DbGVhckhh
bHRfTmFtZToKLSAgICAgICAgaWYgKG1lc3NhZ2UuZXhwZWN0c1Jlc3BvbnNlKCkpCi0gICAgICAg
ICAgcGFyYW1zQ2xhc3MgPSBVc2JEZXZpY2VfQ2xlYXJIYWx0X1BhcmFtczsKLSAgICAgIGJyZWFr
OwotICAgICAgY2FzZSBrVXNiRGV2aWNlX0NvbnRyb2xUcmFuc2ZlckluX05hbWU6Ci0gICAgICAg
IGlmIChtZXNzYWdlLmV4cGVjdHNSZXNwb25zZSgpKQotICAgICAgICAgIHBhcmFtc0NsYXNzID0g
VXNiRGV2aWNlX0NvbnRyb2xUcmFuc2ZlckluX1BhcmFtczsKLSAgICAgIGJyZWFrOwotICAgICAg
Y2FzZSBrVXNiRGV2aWNlX0NvbnRyb2xUcmFuc2Zlck91dF9OYW1lOgotICAgICAgICBpZiAobWVz
c2FnZS5leHBlY3RzUmVzcG9uc2UoKSkKLSAgICAgICAgICBwYXJhbXNDbGFzcyA9IFVzYkRldmlj
ZV9Db250cm9sVHJhbnNmZXJPdXRfUGFyYW1zOwotICAgICAgYnJlYWs7Ci0gICAgICBjYXNlIGtV
c2JEZXZpY2VfR2VuZXJpY1RyYW5zZmVySW5fTmFtZToKLSAgICAgICAgaWYgKG1lc3NhZ2UuZXhw
ZWN0c1Jlc3BvbnNlKCkpCi0gICAgICAgICAgcGFyYW1zQ2xhc3MgPSBVc2JEZXZpY2VfR2VuZXJp
Y1RyYW5zZmVySW5fUGFyYW1zOwotICAgICAgYnJlYWs7Ci0gICAgICBjYXNlIGtVc2JEZXZpY2Vf
R2VuZXJpY1RyYW5zZmVyT3V0X05hbWU6Ci0gICAgICAgIGlmIChtZXNzYWdlLmV4cGVjdHNSZXNw
b25zZSgpKQotICAgICAgICAgIHBhcmFtc0NsYXNzID0gVXNiRGV2aWNlX0dlbmVyaWNUcmFuc2Zl
ck91dF9QYXJhbXM7Ci0gICAgICBicmVhazsKLSAgICAgIGNhc2Uga1VzYkRldmljZV9Jc29jaHJv
bm91c1RyYW5zZmVySW5fTmFtZToKLSAgICAgICAgaWYgKG1lc3NhZ2UuZXhwZWN0c1Jlc3BvbnNl
KCkpCi0gICAgICAgICAgcGFyYW1zQ2xhc3MgPSBVc2JEZXZpY2VfSXNvY2hyb25vdXNUcmFuc2Zl
ckluX1BhcmFtczsKLSAgICAgIGJyZWFrOwotICAgICAgY2FzZSBrVXNiRGV2aWNlX0lzb2Nocm9u
b3VzVHJhbnNmZXJPdXRfTmFtZToKLSAgICAgICAgaWYgKG1lc3NhZ2UuZXhwZWN0c1Jlc3BvbnNl
KCkpCi0gICAgICAgICAgcGFyYW1zQ2xhc3MgPSBVc2JEZXZpY2VfSXNvY2hyb25vdXNUcmFuc2Zl
ck91dF9QYXJhbXM7Ci0gICAgICBicmVhazsKLSAgICB9Ci0gICAgaWYgKHBhcmFtc0NsYXNzID09
PSBudWxsKQotICAgICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAg
ICByZXR1cm4gcGFyYW1zQ2xhc3MudmFsaWRhdGUobWVzc2FnZVZhbGlkYXRvciwgbWVzc2FnZVZh
bGlkYXRvci5tZXNzYWdlLmdldEhlYWRlck51bUJ5dGVzKCkpOwotICB9Ci0KLSAgZnVuY3Rpb24g
dmFsaWRhdGVVc2JEZXZpY2VSZXNwb25zZShtZXNzYWdlVmFsaWRhdG9yKSB7Ci0gICB2YXIgbWVz
c2FnZSA9IG1lc3NhZ2VWYWxpZGF0b3IubWVzc2FnZTsKLSAgIHZhciBwYXJhbXNDbGFzcyA9IG51
bGw7Ci0gICBzd2l0Y2ggKG1lc3NhZ2UuZ2V0TmFtZSgpKSB7Ci0gICAgICBjYXNlIGtVc2JEZXZp
Y2VfT3Blbl9OYW1lOgotICAgICAgICBpZiAobWVzc2FnZS5pc1Jlc3BvbnNlKCkpCi0gICAgICAg
ICAgcGFyYW1zQ2xhc3MgPSBVc2JEZXZpY2VfT3Blbl9SZXNwb25zZVBhcmFtczsKLSAgICAgICAg
YnJlYWs7Ci0gICAgICBjYXNlIGtVc2JEZXZpY2VfQ2xvc2VfTmFtZToKLSAgICAgICAgaWYgKG1l
c3NhZ2UuaXNSZXNwb25zZSgpKQotICAgICAgICAgIHBhcmFtc0NsYXNzID0gVXNiRGV2aWNlX0Ns
b3NlX1Jlc3BvbnNlUGFyYW1zOwotICAgICAgICBicmVhazsKLSAgICAgIGNhc2Uga1VzYkRldmlj
ZV9TZXRDb25maWd1cmF0aW9uX05hbWU6Ci0gICAgICAgIGlmIChtZXNzYWdlLmlzUmVzcG9uc2Uo
KSkKLSAgICAgICAgICBwYXJhbXNDbGFzcyA9IFVzYkRldmljZV9TZXRDb25maWd1cmF0aW9uX1Jl
c3BvbnNlUGFyYW1zOwotICAgICAgICBicmVhazsKLSAgICAgIGNhc2Uga1VzYkRldmljZV9DbGFp
bUludGVyZmFjZV9OYW1lOgotICAgICAgICBpZiAobWVzc2FnZS5pc1Jlc3BvbnNlKCkpCi0gICAg
ICAgICAgcGFyYW1zQ2xhc3MgPSBVc2JEZXZpY2VfQ2xhaW1JbnRlcmZhY2VfUmVzcG9uc2VQYXJh
bXM7Ci0gICAgICAgIGJyZWFrOwotICAgICAgY2FzZSBrVXNiRGV2aWNlX1JlbGVhc2VJbnRlcmZh
Y2VfTmFtZToKLSAgICAgICAgaWYgKG1lc3NhZ2UuaXNSZXNwb25zZSgpKQotICAgICAgICAgIHBh
cmFtc0NsYXNzID0gVXNiRGV2aWNlX1JlbGVhc2VJbnRlcmZhY2VfUmVzcG9uc2VQYXJhbXM7Ci0g
ICAgICAgIGJyZWFrOwotICAgICAgY2FzZSBrVXNiRGV2aWNlX1NldEludGVyZmFjZUFsdGVybmF0
ZVNldHRpbmdfTmFtZToKLSAgICAgICAgaWYgKG1lc3NhZ2UuaXNSZXNwb25zZSgpKQotICAgICAg
ICAgIHBhcmFtc0NsYXNzID0gVXNiRGV2aWNlX1NldEludGVyZmFjZUFsdGVybmF0ZVNldHRpbmdf
UmVzcG9uc2VQYXJhbXM7Ci0gICAgICAgIGJyZWFrOwotICAgICAgY2FzZSBrVXNiRGV2aWNlX1Jl
c2V0X05hbWU6Ci0gICAgICAgIGlmIChtZXNzYWdlLmlzUmVzcG9uc2UoKSkKLSAgICAgICAgICBw
YXJhbXNDbGFzcyA9IFVzYkRldmljZV9SZXNldF9SZXNwb25zZVBhcmFtczsKLSAgICAgICAgYnJl
YWs7Ci0gICAgICBjYXNlIGtVc2JEZXZpY2VfQ2xlYXJIYWx0X05hbWU6Ci0gICAgICAgIGlmICht
ZXNzYWdlLmlzUmVzcG9uc2UoKSkKLSAgICAgICAgICBwYXJhbXNDbGFzcyA9IFVzYkRldmljZV9D
bGVhckhhbHRfUmVzcG9uc2VQYXJhbXM7Ci0gICAgICAgIGJyZWFrOwotICAgICAgY2FzZSBrVXNi
RGV2aWNlX0NvbnRyb2xUcmFuc2ZlckluX05hbWU6Ci0gICAgICAgIGlmIChtZXNzYWdlLmlzUmVz
cG9uc2UoKSkKLSAgICAgICAgICBwYXJhbXNDbGFzcyA9IFVzYkRldmljZV9Db250cm9sVHJhbnNm
ZXJJbl9SZXNwb25zZVBhcmFtczsKLSAgICAgICAgYnJlYWs7Ci0gICAgICBjYXNlIGtVc2JEZXZp
Y2VfQ29udHJvbFRyYW5zZmVyT3V0X05hbWU6Ci0gICAgICAgIGlmIChtZXNzYWdlLmlzUmVzcG9u
c2UoKSkKLSAgICAgICAgICBwYXJhbXNDbGFzcyA9IFVzYkRldmljZV9Db250cm9sVHJhbnNmZXJP
dXRfUmVzcG9uc2VQYXJhbXM7Ci0gICAgICAgIGJyZWFrOwotICAgICAgY2FzZSBrVXNiRGV2aWNl
X0dlbmVyaWNUcmFuc2ZlckluX05hbWU6Ci0gICAgICAgIGlmIChtZXNzYWdlLmlzUmVzcG9uc2Uo
KSkKLSAgICAgICAgICBwYXJhbXNDbGFzcyA9IFVzYkRldmljZV9HZW5lcmljVHJhbnNmZXJJbl9S
ZXNwb25zZVBhcmFtczsKLSAgICAgICAgYnJlYWs7Ci0gICAgICBjYXNlIGtVc2JEZXZpY2VfR2Vu
ZXJpY1RyYW5zZmVyT3V0X05hbWU6Ci0gICAgICAgIGlmIChtZXNzYWdlLmlzUmVzcG9uc2UoKSkK
LSAgICAgICAgICBwYXJhbXNDbGFzcyA9IFVzYkRldmljZV9HZW5lcmljVHJhbnNmZXJPdXRfUmVz
cG9uc2VQYXJhbXM7Ci0gICAgICAgIGJyZWFrOwotICAgICAgY2FzZSBrVXNiRGV2aWNlX0lzb2No
cm9ub3VzVHJhbnNmZXJJbl9OYW1lOgotICAgICAgICBpZiAobWVzc2FnZS5pc1Jlc3BvbnNlKCkp
Ci0gICAgICAgICAgcGFyYW1zQ2xhc3MgPSBVc2JEZXZpY2VfSXNvY2hyb25vdXNUcmFuc2Zlcklu
X1Jlc3BvbnNlUGFyYW1zOwotICAgICAgICBicmVhazsKLSAgICAgIGNhc2Uga1VzYkRldmljZV9J
c29jaHJvbm91c1RyYW5zZmVyT3V0X05hbWU6Ci0gICAgICAgIGlmIChtZXNzYWdlLmlzUmVzcG9u
c2UoKSkKLSAgICAgICAgICBwYXJhbXNDbGFzcyA9IFVzYkRldmljZV9Jc29jaHJvbm91c1RyYW5z
ZmVyT3V0X1Jlc3BvbnNlUGFyYW1zOwotICAgICAgICBicmVhazsKLSAgICB9Ci0gICAgaWYgKHBh
cmFtc0NsYXNzID09PSBudWxsKQotICAgICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJy
b3IuTk9ORTsKLSAgICByZXR1cm4gcGFyYW1zQ2xhc3MudmFsaWRhdGUobWVzc2FnZVZhbGlkYXRv
ciwgbWVzc2FnZVZhbGlkYXRvci5tZXNzYWdlLmdldEhlYWRlck51bUJ5dGVzKCkpOwotICB9Ci0K
LSAgdmFyIFVzYkRldmljZSA9IHsKLSAgICBuYW1lOiAnZGV2aWNlOjptb2pvbTo6VXNiRGV2aWNl
JywKLSAgICBrVmVyc2lvbjogMCwKLSAgICBwdHJDbGFzczogVXNiRGV2aWNlUHRyLAotICAgIHBy
b3h5Q2xhc3M6IFVzYkRldmljZVByb3h5LAotICAgIHN0dWJDbGFzczogVXNiRGV2aWNlU3R1YiwK
LSAgICB2YWxpZGF0ZVJlcXVlc3Q6IHZhbGlkYXRlVXNiRGV2aWNlUmVxdWVzdCwKLSAgICB2YWxp
ZGF0ZVJlc3BvbnNlOiB2YWxpZGF0ZVVzYkRldmljZVJlc3BvbnNlLAotICB9OwotICBVc2JEZXZp
Y2VTdHViLnByb3RvdHlwZS52YWxpZGF0b3IgPSB2YWxpZGF0ZVVzYkRldmljZVJlcXVlc3Q7Ci0g
IFVzYkRldmljZVByb3h5LnByb3RvdHlwZS52YWxpZGF0b3IgPSB2YWxpZGF0ZVVzYkRldmljZVJl
c3BvbnNlOwotICBleHBvcnRzLlVzYk9wZW5EZXZpY2VFcnJvciA9IFVzYk9wZW5EZXZpY2VFcnJv
cjsKLSAgZXhwb3J0cy5Vc2JUcmFuc2ZlckRpcmVjdGlvbiA9IFVzYlRyYW5zZmVyRGlyZWN0aW9u
OwotICBleHBvcnRzLlVzYkNvbnRyb2xUcmFuc2ZlclR5cGUgPSBVc2JDb250cm9sVHJhbnNmZXJU
eXBlOwotICBleHBvcnRzLlVzYkNvbnRyb2xUcmFuc2ZlclJlY2lwaWVudCA9IFVzYkNvbnRyb2xU
cmFuc2ZlclJlY2lwaWVudDsKLSAgZXhwb3J0cy5Vc2JUcmFuc2ZlclR5cGUgPSBVc2JUcmFuc2Zl
clR5cGU7Ci0gIGV4cG9ydHMuVXNiVHJhbnNmZXJTdGF0dXMgPSBVc2JUcmFuc2ZlclN0YXR1czsK
LSAgZXhwb3J0cy5Vc2JFbmRwb2ludEluZm8gPSBVc2JFbmRwb2ludEluZm87Ci0gIGV4cG9ydHMu
VXNiQWx0ZXJuYXRlSW50ZXJmYWNlSW5mbyA9IFVzYkFsdGVybmF0ZUludGVyZmFjZUluZm87Ci0g
IGV4cG9ydHMuVXNiSW50ZXJmYWNlSW5mbyA9IFVzYkludGVyZmFjZUluZm87Ci0gIGV4cG9ydHMu
VXNiQ29uZmlndXJhdGlvbkluZm8gPSBVc2JDb25maWd1cmF0aW9uSW5mbzsKLSAgZXhwb3J0cy5V
c2JEZXZpY2VJbmZvID0gVXNiRGV2aWNlSW5mbzsKLSAgZXhwb3J0cy5Vc2JDb250cm9sVHJhbnNm
ZXJQYXJhbXMgPSBVc2JDb250cm9sVHJhbnNmZXJQYXJhbXM7Ci0gIGV4cG9ydHMuVXNiSXNvY2hy
b25vdXNQYWNrZXQgPSBVc2JJc29jaHJvbm91c1BhY2tldDsKLSAgZXhwb3J0cy5Vc2JEZXZpY2Ug
PSBVc2JEZXZpY2U7Ci0gIGV4cG9ydHMuVXNiRGV2aWNlUHRyID0gVXNiRGV2aWNlUHRyOwotICBl
eHBvcnRzLlVzYkRldmljZUFzc29jaWF0ZWRQdHIgPSBVc2JEZXZpY2VBc3NvY2lhdGVkUHRyOwot
fSkoKTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS9kZXZp
Y2UubW9qb20uanMuaGVhZGVycyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL2RldmljZS5tb2pvbS5qcy5oZWFkZXJzCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2ODA1YzMyM2RmNWE5NzUyMzE2NDhiODMwZTMzY2Ux
ODNjM2NiYmQzLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2No
cm9taXVtL2RldmljZS5tb2pvbS5qcy5oZWFkZXJzCisrKyAvZGV2L251bGwKQEAgLTEgKzAsMCBA
QAotQ29udGVudC1UeXBlOiB0ZXh0L2phdmFzY3JpcHQ7IGNoYXJzZXQ9dXRmLTgKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L2Nocm9taXVtL2RldmljZV9tYW5hZ2VyLm1vam9tLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vZGV2aWNlX21hbmFnZXIu
bW9qb20uanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDk5ZWJkODU0YmUwM2MyNzIx
ZDVmNWQwN2U0ODZjYmUyMWQ1NzM3ZDguLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvY2hyb21pdW0vZGV2aWNlX21hbmFnZXIubW9qb20uanMKKysrIC9kZXYvbnVs
bApAQCAtMSw4NTYgKzAsMCBAQAotLy8gQ29weXJpZ2h0IDIwMTQgVGhlIENocm9taXVtIEF1dGhv
cnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0vLyBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBn
b3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCi0vLyBmb3VuZCBpbiB0
aGUgTElDRU5TRSBmaWxlLgotCi0KLSd1c2Ugc3RyaWN0JzsKLQotKGZ1bmN0aW9uKCkgewotICB2
YXIgbW9qb21JZCA9ICdkZXZpY2UvdXNiL3B1YmxpYy9pbnRlcmZhY2VzL2RldmljZV9tYW5hZ2Vy
Lm1vam9tJzsKLSAgaWYgKG1vam8uaW50ZXJuYWwuaXNNb2pvbUxvYWRlZChtb2pvbUlkKSkgewot
ICAgIGNvbnNvbGUud2FybignVGhlIGZvbGxvd2luZyBtb2pvbSBpcyBsb2FkZWQgbXVsdGlwbGUg
dGltZXM6ICcgKyBtb2pvbUlkKTsKLSAgICByZXR1cm47Ci0gIH0KLSAgbW9qby5pbnRlcm5hbC5t
YXJrTW9qb21Mb2FkZWQobW9qb21JZCk7Ci0KLSAgLy8gVE9ETyh5enNoZW4pOiBEZWZpbmUgdGhl
c2UgYWxpYXNlcyB0byBtaW5pbWl6ZSB0aGUgZGlmZmVyZW5jZXMgYmV0d2VlbiB0aGUKLSAgLy8g
b2xkL25ldyBtb2Rlcy4gUmVtb3ZlIHRoZW0gd2hlbiB0aGUgb2xkIG1vZGUgZ29lcyBhd2F5Lgot
ICB2YXIgYmluZGluZ3MgPSBtb2pvOwotICB2YXIgYXNzb2NpYXRlZEJpbmRpbmdzID0gbW9qbzsK
LSAgdmFyIGNvZGVjID0gbW9qby5pbnRlcm5hbDsKLSAgdmFyIHZhbGlkYXRvciA9IG1vam8uaW50
ZXJuYWw7Ci0KLSAgdmFyIGV4cG9ydHMgPSBtb2pvLmludGVybmFsLmV4cG9zZU5hbWVzcGFjZSgn
ZGV2aWNlLm1vam9tJyk7Ci0gIHZhciBkZXZpY2UkID0KLSAgICAgIG1vam8uaW50ZXJuYWwuZXhw
b3NlTmFtZXNwYWNlKCdkZXZpY2UubW9qb20nKTsKLSAgaWYgKG1vam8uY29uZmlnLmF1dG9Mb2Fk
TW9qb21EZXBzKSB7Ci0gICAgbW9qby5pbnRlcm5hbC5sb2FkTW9qb21JZk5lY2Vzc2FyeSgKLSAg
ICAgICAgJ2RldmljZS91c2IvcHVibGljL2ludGVyZmFjZXMvZGV2aWNlLm1vam9tJywgJ2Rldmlj
ZS5tb2pvbS5qcycpOwotICB9Ci0gIHZhciBzdHJpbmcxNiQgPQotICAgICAgbW9qby5pbnRlcm5h
bC5leHBvc2VOYW1lc3BhY2UoJ21vam8uY29tbW9uLm1vam9tJyk7Ci0gIGlmIChtb2pvLmNvbmZp
Zy5hdXRvTG9hZE1vam9tRGVwcykgewotICAgIG1vam8uaW50ZXJuYWwubG9hZE1vam9tSWZOZWNl
c3NhcnkoCi0gICAgICAgICdtb2pvL2NvbW1vbi9zdHJpbmcxNi5tb2pvbScsICcuLi8uLi8uLi8u
Li9tb2pvL2NvbW1vbi9zdHJpbmcxNi5tb2pvbS5qcycpOwotICB9Ci0KLQotCi0gIGZ1bmN0aW9u
IFVzYkRldmljZUZpbHRlcih2YWx1ZXMpIHsKLSAgICB0aGlzLmluaXREZWZhdWx0c18oKTsKLSAg
ICB0aGlzLmluaXRGaWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0gIFVzYkRldmljZUZpbHRlci5w
cm90b3R5cGUuaW5pdERlZmF1bHRzXyA9IGZ1bmN0aW9uKCkgewotICAgIHRoaXMuaGFzVmVuZG9y
SWQgPSBmYWxzZTsKLSAgICB0aGlzLmhhc1Byb2R1Y3RJZCA9IGZhbHNlOwotICAgIHRoaXMuaGFz
Q2xhc3NDb2RlID0gZmFsc2U7Ci0gICAgdGhpcy5oYXNTdWJjbGFzc0NvZGUgPSBmYWxzZTsKLSAg
ICB0aGlzLmhhc1Byb3RvY29sQ29kZSA9IGZhbHNlOwotICAgIHRoaXMuY2xhc3NDb2RlID0gMDsK
LSAgICB0aGlzLnZlbmRvcklkID0gMDsKLSAgICB0aGlzLnByb2R1Y3RJZCA9IDA7Ci0gICAgdGhp
cy5zdWJjbGFzc0NvZGUgPSAwOwotICAgIHRoaXMucHJvdG9jb2xDb2RlID0gMDsKLSAgICB0aGlz
LnNlcmlhbE51bWJlciA9IG51bGw7Ci0gIH07Ci0gIFVzYkRldmljZUZpbHRlci5wcm90b3R5cGUu
aW5pdEZpZWxkc18gPSBmdW5jdGlvbihmaWVsZHMpIHsKLSAgICBmb3IodmFyIGZpZWxkIGluIGZp
ZWxkcykgewotICAgICAgICBpZiAodGhpcy5oYXNPd25Qcm9wZXJ0eShmaWVsZCkpCi0gICAgICAg
ICAgdGhpc1tmaWVsZF0gPSBmaWVsZHNbZmllbGRdOwotICAgIH0KLSAgfTsKLQotICBVc2JEZXZp
Y2VGaWx0ZXIudmFsaWRhdGUgPSBmdW5jdGlvbihtZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsK
LSAgICB2YXIgZXJyOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RI
ZWFkZXIob2Zmc2V0LCBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVyciAhPT0g
dmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0g
ICAgdmFyIGtWZXJzaW9uU2l6ZXMgPSBbCi0gICAgICB7dmVyc2lvbjogMCwgbnVtQnl0ZXM6IDI0
fQotICAgIF07Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFZlcnNp
b24ob2Zmc2V0LCBrVmVyc2lvblNpemVzKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFs
aWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotCi0KLQotCi0KLQot
Ci0KLQotCi0gICAgCi0gICAgLy8gdmFsaWRhdGUgVXNiRGV2aWNlRmlsdGVyLnNlcmlhbE51bWJl
cgotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RQb2ludGVyKG9mZnNl
dCArIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgOCwgc3RyaW5nMTYkLlN0cmluZzE2LCB0cnVl
KTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAg
ICAgIHJldHVybiBlcnI7Ci0KLSAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5O
T05FOwotICB9OwotCi0gIFVzYkRldmljZUZpbHRlci5lbmNvZGVkU2l6ZSA9IGNvZGVjLmtTdHJ1
Y3RIZWFkZXJTaXplICsgMTY7Ci0KLSAgVXNiRGV2aWNlRmlsdGVyLmRlY29kZSA9IGZ1bmN0aW9u
KGRlY29kZXIpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIHZhciB2YWwgPSBuZXcgVXNiRGV2aWNl
RmlsdGVyKCk7Ci0gICAgdmFyIG51bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsK
LSAgICB2YXIgdmVyc2lvbiA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHBhY2tlZCA9IGRl
Y29kZXIucmVhZFVpbnQ4KCk7Ci0gICAgdmFsLmhhc1ZlbmRvcklkID0gKHBhY2tlZCA+PiAwKSAm
IDEgPyB0cnVlIDogZmFsc2U7Ci0gICAgdmFsLmhhc1Byb2R1Y3RJZCA9IChwYWNrZWQgPj4gMSkg
JiAxID8gdHJ1ZSA6IGZhbHNlOwotICAgIHZhbC5oYXNDbGFzc0NvZGUgPSAocGFja2VkID4+IDIp
ICYgMSA/IHRydWUgOiBmYWxzZTsKLSAgICB2YWwuaGFzU3ViY2xhc3NDb2RlID0gKHBhY2tlZCA+
PiAzKSAmIDEgPyB0cnVlIDogZmFsc2U7Ci0gICAgdmFsLmhhc1Byb3RvY29sQ29kZSA9IChwYWNr
ZWQgPj4gNCkgJiAxID8gdHJ1ZSA6IGZhbHNlOwotICAgIHZhbC5jbGFzc0NvZGUgPSBkZWNvZGVy
LmRlY29kZVN0cnVjdChjb2RlYy5VaW50OCk7Ci0gICAgdmFsLnZlbmRvcklkID0gZGVjb2Rlci5k
ZWNvZGVTdHJ1Y3QoY29kZWMuVWludDE2KTsKLSAgICB2YWwucHJvZHVjdElkID0gZGVjb2Rlci5k
ZWNvZGVTdHJ1Y3QoY29kZWMuVWludDE2KTsKLSAgICB2YWwuc3ViY2xhc3NDb2RlID0gZGVjb2Rl
ci5kZWNvZGVTdHJ1Y3QoY29kZWMuVWludDgpOwotICAgIHZhbC5wcm90b2NvbENvZGUgPSBkZWNv
ZGVyLmRlY29kZVN0cnVjdChjb2RlYy5VaW50OCk7Ci0gICAgdmFsLnNlcmlhbE51bWJlciA9IGRl
Y29kZXIuZGVjb2RlU3RydWN0UG9pbnRlcihzdHJpbmcxNiQuU3RyaW5nMTYpOwotICAgIHJldHVy
biB2YWw7Ci0gIH07Ci0KLSAgVXNiRGV2aWNlRmlsdGVyLmVuY29kZSA9IGZ1bmN0aW9uKGVuY29k
ZXIsIHZhbCkgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMihVc2JE
ZXZpY2VGaWx0ZXIuZW5jb2RlZFNpemUpOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoMCk7Ci0g
ICAgcGFja2VkID0gMDsKLSAgICBwYWNrZWQgfD0gKHZhbC5oYXNWZW5kb3JJZCAmIDEpIDw8IDAK
LSAgICBwYWNrZWQgfD0gKHZhbC5oYXNQcm9kdWN0SWQgJiAxKSA8PCAxCi0gICAgcGFja2VkIHw9
ICh2YWwuaGFzQ2xhc3NDb2RlICYgMSkgPDwgMgotICAgIHBhY2tlZCB8PSAodmFsLmhhc1N1YmNs
YXNzQ29kZSAmIDEpIDw8IDMKLSAgICBwYWNrZWQgfD0gKHZhbC5oYXNQcm90b2NvbENvZGUgJiAx
KSA8PCA0Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQ4KHBhY2tlZCk7Ci0gICAgZW5jb2Rlci5lbmNv
ZGVTdHJ1Y3QoY29kZWMuVWludDgsIHZhbC5jbGFzc0NvZGUpOwotICAgIGVuY29kZXIuZW5jb2Rl
U3RydWN0KGNvZGVjLlVpbnQxNiwgdmFsLnZlbmRvcklkKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0
cnVjdChjb2RlYy5VaW50MTYsIHZhbC5wcm9kdWN0SWQpOwotICAgIGVuY29kZXIuZW5jb2RlU3Ry
dWN0KGNvZGVjLlVpbnQ4LCB2YWwuc3ViY2xhc3NDb2RlKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0
cnVjdChjb2RlYy5VaW50OCwgdmFsLnByb3RvY29sQ29kZSk7Ci0gICAgZW5jb2Rlci5lbmNvZGVT
dHJ1Y3RQb2ludGVyKHN0cmluZzE2JC5TdHJpbmcxNiwgdmFsLnNlcmlhbE51bWJlcik7Ci0gIH07
Ci0gIGZ1bmN0aW9uIFVzYkVudW1lcmF0aW9uT3B0aW9ucyh2YWx1ZXMpIHsKLSAgICB0aGlzLmlu
aXREZWZhdWx0c18oKTsKLSAgICB0aGlzLmluaXRGaWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0g
IFVzYkVudW1lcmF0aW9uT3B0aW9ucy5wcm90b3R5cGUuaW5pdERlZmF1bHRzXyA9IGZ1bmN0aW9u
KCkgewotICAgIHRoaXMuZmlsdGVycyA9IG51bGw7Ci0gIH07Ci0gIFVzYkVudW1lcmF0aW9uT3B0
aW9ucy5wcm90b3R5cGUuaW5pdEZpZWxkc18gPSBmdW5jdGlvbihmaWVsZHMpIHsKLSAgICBmb3Io
dmFyIGZpZWxkIGluIGZpZWxkcykgewotICAgICAgICBpZiAodGhpcy5oYXNPd25Qcm9wZXJ0eShm
aWVsZCkpCi0gICAgICAgICAgdGhpc1tmaWVsZF0gPSBmaWVsZHNbZmllbGRdOwotICAgIH0KLSAg
fTsKLQotICBVc2JFbnVtZXJhdGlvbk9wdGlvbnMudmFsaWRhdGUgPSBmdW5jdGlvbihtZXNzYWdl
VmFsaWRhdG9yLCBvZmZzZXQpIHsKLSAgICB2YXIgZXJyOwotICAgIGVyciA9IG1lc3NhZ2VWYWxp
ZGF0b3IudmFsaWRhdGVTdHJ1Y3RIZWFkZXIob2Zmc2V0LCBjb2RlYy5rU3RydWN0SGVhZGVyU2l6
ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAg
ICAgICByZXR1cm4gZXJyOwotCi0gICAgdmFyIGtWZXJzaW9uU2l6ZXMgPSBbCi0gICAgICB7dmVy
c2lvbjogMCwgbnVtQnl0ZXM6IDE2fQotICAgIF07Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRv
ci52YWxpZGF0ZVN0cnVjdFZlcnNpb24ob2Zmc2V0LCBrVmVyc2lvblNpemVzKTsKLSAgICBpZiAo
ZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBl
cnI7Ci0KLQotICAgIAotICAgIC8vIHZhbGlkYXRlIFVzYkVudW1lcmF0aW9uT3B0aW9ucy5maWx0
ZXJzCi0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZUFycmF5UG9pbnRlcihvZmZz
ZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDAsIDgsIG5ldyBjb2RlYy5Qb2ludGVyVG8o
VXNiRGV2aWNlRmlsdGVyKSwgZmFsc2UsIFswXSwgMCk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRh
dG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgcmV0
dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQotICBVc2JFbnVtZXJh
dGlvbk9wdGlvbnMuZW5jb2RlZFNpemUgPSBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDg7Ci0K
LSAgVXNiRW51bWVyYXRpb25PcHRpb25zLmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAg
ICB2YXIgcGFja2VkOwotICAgIHZhciB2YWwgPSBuZXcgVXNiRW51bWVyYXRpb25PcHRpb25zKCk7
Ci0gICAgdmFyIG51bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YXIg
dmVyc2lvbiA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhbC5maWx0ZXJzID0gZGVjb2Rl
ci5kZWNvZGVBcnJheVBvaW50ZXIobmV3IGNvZGVjLlBvaW50ZXJUbyhVc2JEZXZpY2VGaWx0ZXIp
KTsKLSAgICByZXR1cm4gdmFsOwotICB9OwotCi0gIFVzYkVudW1lcmF0aW9uT3B0aW9ucy5lbmNv
ZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2YWwpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIGVuY29k
ZXIud3JpdGVVaW50MzIoVXNiRW51bWVyYXRpb25PcHRpb25zLmVuY29kZWRTaXplKTsKLSAgICBl
bmNvZGVyLndyaXRlVWludDMyKDApOwotICAgIGVuY29kZXIuZW5jb2RlQXJyYXlQb2ludGVyKG5l
dyBjb2RlYy5Qb2ludGVyVG8oVXNiRGV2aWNlRmlsdGVyKSwgdmFsLmZpbHRlcnMpOwotICB9Owot
ICBmdW5jdGlvbiBVc2JEZXZpY2VNYW5hZ2VyX0dldERldmljZXNfUGFyYW1zKHZhbHVlcykgewot
ICAgIHRoaXMuaW5pdERlZmF1bHRzXygpOwotICAgIHRoaXMuaW5pdEZpZWxkc18odmFsdWVzKTsK
LSAgfQotCi0KLSAgVXNiRGV2aWNlTWFuYWdlcl9HZXREZXZpY2VzX1BhcmFtcy5wcm90b3R5cGUu
aW5pdERlZmF1bHRzXyA9IGZ1bmN0aW9uKCkgewotICAgIHRoaXMub3B0aW9ucyA9IG51bGw7Ci0g
IH07Ci0gIFVzYkRldmljZU1hbmFnZXJfR2V0RGV2aWNlc19QYXJhbXMucHJvdG90eXBlLmluaXRG
aWVsZHNfID0gZnVuY3Rpb24oZmllbGRzKSB7Ci0gICAgZm9yKHZhciBmaWVsZCBpbiBmaWVsZHMp
IHsKLSAgICAgICAgaWYgKHRoaXMuaGFzT3duUHJvcGVydHkoZmllbGQpKQotICAgICAgICAgIHRo
aXNbZmllbGRdID0gZmllbGRzW2ZpZWxkXTsKLSAgICB9Ci0gIH07Ci0KLSAgVXNiRGV2aWNlTWFu
YWdlcl9HZXREZXZpY2VzX1BhcmFtcy52YWxpZGF0ZSA9IGZ1bmN0aW9uKG1lc3NhZ2VWYWxpZGF0
b3IsIG9mZnNldCkgewotICAgIHZhciBlcnI7Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52
YWxpZGF0ZVN0cnVjdEhlYWRlcihvZmZzZXQsIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplKTsKLSAg
ICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJl
dHVybiBlcnI7Ci0KLSAgICB2YXIga1ZlcnNpb25TaXplcyA9IFsKLSAgICAgIHt2ZXJzaW9uOiAw
LCBudW1CeXRlczogMTZ9Ci0gICAgXTsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlk
YXRlU3RydWN0VmVyc2lvbihvZmZzZXQsIGtWZXJzaW9uU2l6ZXMpOwotICAgIGlmIChlcnIgIT09
IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQot
Ci0gICAgCi0gICAgLy8gdmFsaWRhdGUgVXNiRGV2aWNlTWFuYWdlcl9HZXREZXZpY2VzX1BhcmFt
cy5vcHRpb25zCi0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFBvaW50
ZXIob2Zmc2V0ICsgY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyAwLCBVc2JFbnVtZXJhdGlvbk9w
dGlvbnMsIHRydWUpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3Iu
Tk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRh
dGlvbkVycm9yLk5PTkU7Ci0gIH07Ci0KLSAgVXNiRGV2aWNlTWFuYWdlcl9HZXREZXZpY2VzX1Bh
cmFtcy5lbmNvZGVkU2l6ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgODsKLQotICBVc2JE
ZXZpY2VNYW5hZ2VyX0dldERldmljZXNfUGFyYW1zLmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIp
IHsKLSAgICB2YXIgcGFja2VkOwotICAgIHZhciB2YWwgPSBuZXcgVXNiRGV2aWNlTWFuYWdlcl9H
ZXREZXZpY2VzX1BhcmFtcygpOwotICAgIHZhciBudW1iZXJPZkJ5dGVzID0gZGVjb2Rlci5yZWFk
VWludDMyKCk7Ci0gICAgdmFyIHZlcnNpb24gPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2
YWwub3B0aW9ucyA9IGRlY29kZXIuZGVjb2RlU3RydWN0UG9pbnRlcihVc2JFbnVtZXJhdGlvbk9w
dGlvbnMpOwotICAgIHJldHVybiB2YWw7Ci0gIH07Ci0KLSAgVXNiRGV2aWNlTWFuYWdlcl9HZXRE
ZXZpY2VzX1BhcmFtcy5lbmNvZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2YWwpIHsKLSAgICB2YXIg
cGFja2VkOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoVXNiRGV2aWNlTWFuYWdlcl9HZXREZXZp
Y2VzX1BhcmFtcy5lbmNvZGVkU2l6ZSk7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMigwKTsKLSAg
ICBlbmNvZGVyLmVuY29kZVN0cnVjdFBvaW50ZXIoVXNiRW51bWVyYXRpb25PcHRpb25zLCB2YWwu
b3B0aW9ucyk7Ci0gIH07Ci0gIGZ1bmN0aW9uIFVzYkRldmljZU1hbmFnZXJfR2V0RGV2aWNlc19S
ZXNwb25zZVBhcmFtcyh2YWx1ZXMpIHsKLSAgICB0aGlzLmluaXREZWZhdWx0c18oKTsKLSAgICB0
aGlzLmluaXRGaWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0gIFVzYkRldmljZU1hbmFnZXJfR2V0
RGV2aWNlc19SZXNwb25zZVBhcmFtcy5wcm90b3R5cGUuaW5pdERlZmF1bHRzXyA9IGZ1bmN0aW9u
KCkgewotICAgIHRoaXMucmVzdWx0cyA9IG51bGw7Ci0gIH07Ci0gIFVzYkRldmljZU1hbmFnZXJf
R2V0RGV2aWNlc19SZXNwb25zZVBhcmFtcy5wcm90b3R5cGUuaW5pdEZpZWxkc18gPSBmdW5jdGlv
bihmaWVsZHMpIHsKLSAgICBmb3IodmFyIGZpZWxkIGluIGZpZWxkcykgewotICAgICAgICBpZiAo
dGhpcy5oYXNPd25Qcm9wZXJ0eShmaWVsZCkpCi0gICAgICAgICAgdGhpc1tmaWVsZF0gPSBmaWVs
ZHNbZmllbGRdOwotICAgIH0KLSAgfTsKLQotICBVc2JEZXZpY2VNYW5hZ2VyX0dldERldmljZXNf
UmVzcG9uc2VQYXJhbXMudmFsaWRhdGUgPSBmdW5jdGlvbihtZXNzYWdlVmFsaWRhdG9yLCBvZmZz
ZXQpIHsKLSAgICB2YXIgZXJyOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVT
dHJ1Y3RIZWFkZXIob2Zmc2V0LCBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVy
ciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJy
OwotCi0gICAgdmFyIGtWZXJzaW9uU2l6ZXMgPSBbCi0gICAgICB7dmVyc2lvbjogMCwgbnVtQnl0
ZXM6IDE2fQotICAgIF07Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVj
dFZlcnNpb24ob2Zmc2V0LCBrVmVyc2lvblNpemVzKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0
b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotICAgIAot
ICAgIC8vIHZhbGlkYXRlIFVzYkRldmljZU1hbmFnZXJfR2V0RGV2aWNlc19SZXNwb25zZVBhcmFt
cy5yZXN1bHRzCi0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZUFycmF5UG9pbnRl
cihvZmZzZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDAsIDgsIG5ldyBjb2RlYy5Qb2lu
dGVyVG8oZGV2aWNlJC5Vc2JEZXZpY2VJbmZvKSwgZmFsc2UsIFswXSwgMCk7Ci0gICAgaWYgKGVy
ciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJy
OwotCi0gICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQot
ICBVc2JEZXZpY2VNYW5hZ2VyX0dldERldmljZXNfUmVzcG9uc2VQYXJhbXMuZW5jb2RlZFNpemUg
PSBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDg7Ci0KLSAgVXNiRGV2aWNlTWFuYWdlcl9HZXRE
ZXZpY2VzX1Jlc3BvbnNlUGFyYW1zLmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICB2
YXIgcGFja2VkOwotICAgIHZhciB2YWwgPSBuZXcgVXNiRGV2aWNlTWFuYWdlcl9HZXREZXZpY2Vz
X1Jlc3BvbnNlUGFyYW1zKCk7Ci0gICAgdmFyIG51bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRV
aW50MzIoKTsKLSAgICB2YXIgdmVyc2lvbiA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZh
bC5yZXN1bHRzID0gZGVjb2Rlci5kZWNvZGVBcnJheVBvaW50ZXIobmV3IGNvZGVjLlBvaW50ZXJU
byhkZXZpY2UkLlVzYkRldmljZUluZm8pKTsKLSAgICByZXR1cm4gdmFsOwotICB9OwotCi0gIFVz
YkRldmljZU1hbmFnZXJfR2V0RGV2aWNlc19SZXNwb25zZVBhcmFtcy5lbmNvZGUgPSBmdW5jdGlv
bihlbmNvZGVyLCB2YWwpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIGVuY29kZXIud3JpdGVVaW50
MzIoVXNiRGV2aWNlTWFuYWdlcl9HZXREZXZpY2VzX1Jlc3BvbnNlUGFyYW1zLmVuY29kZWRTaXpl
KTsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKDApOwotICAgIGVuY29kZXIuZW5jb2RlQXJyYXlQ
b2ludGVyKG5ldyBjb2RlYy5Qb2ludGVyVG8oZGV2aWNlJC5Vc2JEZXZpY2VJbmZvKSwgdmFsLnJl
c3VsdHMpOwotICB9OwotICBmdW5jdGlvbiBVc2JEZXZpY2VNYW5hZ2VyX0dldERldmljZV9QYXJh
bXModmFsdWVzKSB7Ci0gICAgdGhpcy5pbml0RGVmYXVsdHNfKCk7Ci0gICAgdGhpcy5pbml0Rmll
bGRzXyh2YWx1ZXMpOwotICB9Ci0KLQotICBVc2JEZXZpY2VNYW5hZ2VyX0dldERldmljZV9QYXJh
bXMucHJvdG90eXBlLmluaXREZWZhdWx0c18gPSBmdW5jdGlvbigpIHsKLSAgICB0aGlzLmd1aWQg
PSBudWxsOwotICAgIHRoaXMuZGV2aWNlUmVxdWVzdCA9IG5ldyBiaW5kaW5ncy5JbnRlcmZhY2VS
ZXF1ZXN0KCk7Ci0gIH07Ci0gIFVzYkRldmljZU1hbmFnZXJfR2V0RGV2aWNlX1BhcmFtcy5wcm90
b3R5cGUuaW5pdEZpZWxkc18gPSBmdW5jdGlvbihmaWVsZHMpIHsKLSAgICBmb3IodmFyIGZpZWxk
IGluIGZpZWxkcykgewotICAgICAgICBpZiAodGhpcy5oYXNPd25Qcm9wZXJ0eShmaWVsZCkpCi0g
ICAgICAgICAgdGhpc1tmaWVsZF0gPSBmaWVsZHNbZmllbGRdOwotICAgIH0KLSAgfTsKLQotICBV
c2JEZXZpY2VNYW5hZ2VyX0dldERldmljZV9QYXJhbXMudmFsaWRhdGUgPSBmdW5jdGlvbihtZXNz
YWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsKLSAgICB2YXIgZXJyOwotICAgIGVyciA9IG1lc3NhZ2VW
YWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RIZWFkZXIob2Zmc2V0LCBjb2RlYy5rU3RydWN0SGVhZGVy
U2l6ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQot
ICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgdmFyIGtWZXJzaW9uU2l6ZXMgPSBbCi0gICAgICB7
dmVyc2lvbjogMCwgbnVtQnl0ZXM6IDI0fQotICAgIF07Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlk
YXRvci52YWxpZGF0ZVN0cnVjdFZlcnNpb24ob2Zmc2V0LCBrVmVyc2lvblNpemVzKTsKLSAgICBp
ZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVy
biBlcnI7Ci0KLQotICAgIAotICAgIC8vIHZhbGlkYXRlIFVzYkRldmljZU1hbmFnZXJfR2V0RGV2
aWNlX1BhcmFtcy5ndWlkCi0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cmlu
Z1BvaW50ZXIob2Zmc2V0ICsgY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyAwLCBmYWxzZSkKLSAg
ICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJl
dHVybiBlcnI7Ci0KLQotICAgIAotICAgIC8vIHZhbGlkYXRlIFVzYkRldmljZU1hbmFnZXJfR2V0
RGV2aWNlX1BhcmFtcy5kZXZpY2VSZXF1ZXN0Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52
YWxpZGF0ZUludGVyZmFjZVJlcXVlc3Qob2Zmc2V0ICsgY29kZWMua1N0cnVjdEhlYWRlclNpemUg
KyA4LCBmYWxzZSkKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5P
TkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRp
b25FcnJvci5OT05FOwotICB9OwotCi0gIFVzYkRldmljZU1hbmFnZXJfR2V0RGV2aWNlX1BhcmFt
cy5lbmNvZGVkU2l6ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgMTY7Ci0KLSAgVXNiRGV2
aWNlTWFuYWdlcl9HZXREZXZpY2VfUGFyYW1zLmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsK
LSAgICB2YXIgcGFja2VkOwotICAgIHZhciB2YWwgPSBuZXcgVXNiRGV2aWNlTWFuYWdlcl9HZXRE
ZXZpY2VfUGFyYW1zKCk7Ci0gICAgdmFyIG51bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50
MzIoKTsKLSAgICB2YXIgdmVyc2lvbiA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhbC5n
dWlkID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoY29kZWMuU3RyaW5nKTsKLSAgICB2YWwuZGV2aWNl
UmVxdWVzdCA9IGRlY29kZXIuZGVjb2RlU3RydWN0KGNvZGVjLkludGVyZmFjZVJlcXVlc3QpOwot
ICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5z
a2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICByZXR1cm4gdmFsOwotICB9OwotCi0g
IFVzYkRldmljZU1hbmFnZXJfR2V0RGV2aWNlX1BhcmFtcy5lbmNvZGUgPSBmdW5jdGlvbihlbmNv
ZGVyLCB2YWwpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoVXNi
RGV2aWNlTWFuYWdlcl9HZXREZXZpY2VfUGFyYW1zLmVuY29kZWRTaXplKTsKLSAgICBlbmNvZGVy
LndyaXRlVWludDMyKDApOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNvZGVjLlN0cmluZywg
dmFsLmd1aWQpOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNvZGVjLkludGVyZmFjZVJlcXVl
c3QsIHZhbC5kZXZpY2VSZXF1ZXN0KTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rl
ci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0g
IH07Ci0gIGZ1bmN0aW9uIFVzYkRldmljZU1hbmFnZXJfU2V0Q2xpZW50X1BhcmFtcyh2YWx1ZXMp
IHsKLSAgICB0aGlzLmluaXREZWZhdWx0c18oKTsKLSAgICB0aGlzLmluaXRGaWVsZHNfKHZhbHVl
cyk7Ci0gIH0KLQotCi0gIFVzYkRldmljZU1hbmFnZXJfU2V0Q2xpZW50X1BhcmFtcy5wcm90b3R5
cGUuaW5pdERlZmF1bHRzXyA9IGZ1bmN0aW9uKCkgewotICAgIHRoaXMuY2xpZW50ID0gbmV3IFVz
YkRldmljZU1hbmFnZXJDbGllbnRQdHIoKTsKLSAgfTsKLSAgVXNiRGV2aWNlTWFuYWdlcl9TZXRD
bGllbnRfUGFyYW1zLnByb3RvdHlwZS5pbml0RmllbGRzXyA9IGZ1bmN0aW9uKGZpZWxkcykgewot
ICAgIGZvcih2YXIgZmllbGQgaW4gZmllbGRzKSB7Ci0gICAgICAgIGlmICh0aGlzLmhhc093blBy
b3BlcnR5KGZpZWxkKSkKLSAgICAgICAgICB0aGlzW2ZpZWxkXSA9IGZpZWxkc1tmaWVsZF07Ci0g
ICAgfQotICB9OwotCi0gIFVzYkRldmljZU1hbmFnZXJfU2V0Q2xpZW50X1BhcmFtcy52YWxpZGF0
ZSA9IGZ1bmN0aW9uKG1lc3NhZ2VWYWxpZGF0b3IsIG9mZnNldCkgewotICAgIHZhciBlcnI7Ci0g
ICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdEhlYWRlcihvZmZzZXQsIGNv
ZGVjLmtTdHJ1Y3RIZWFkZXJTaXplKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRh
dGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICB2YXIga1ZlcnNpb25T
aXplcyA9IFsKLSAgICAgIHt2ZXJzaW9uOiAwLCBudW1CeXRlczogMTZ9Ci0gICAgXTsKLSAgICBl
cnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0VmVyc2lvbihvZmZzZXQsIGtWZXJz
aW9uU2l6ZXMpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9O
RSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0gICAgCi0gICAgLy8gdmFsaWRhdGUgVXNiRGV2
aWNlTWFuYWdlcl9TZXRDbGllbnRfUGFyYW1zLmNsaWVudAotICAgIGVyciA9IG1lc3NhZ2VWYWxp
ZGF0b3IudmFsaWRhdGVJbnRlcmZhY2Uob2Zmc2V0ICsgY29kZWMua1N0cnVjdEhlYWRlclNpemUg
KyAwLCBmYWxzZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5O
T05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0
aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQotICBVc2JEZXZpY2VNYW5hZ2VyX1NldENsaWVudF9QYXJh
bXMuZW5jb2RlZFNpemUgPSBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDg7Ci0KLSAgVXNiRGV2
aWNlTWFuYWdlcl9TZXRDbGllbnRfUGFyYW1zLmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsK
LSAgICB2YXIgcGFja2VkOwotICAgIHZhciB2YWwgPSBuZXcgVXNiRGV2aWNlTWFuYWdlcl9TZXRD
bGllbnRfUGFyYW1zKCk7Ci0gICAgdmFyIG51bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50
MzIoKTsKLSAgICB2YXIgdmVyc2lvbiA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhbC5j
bGllbnQgPSBkZWNvZGVyLmRlY29kZVN0cnVjdChuZXcgY29kZWMuSW50ZXJmYWNlKFVzYkRldmlj
ZU1hbmFnZXJDbGllbnRQdHIpKTsKLSAgICByZXR1cm4gdmFsOwotICB9OwotCi0gIFVzYkRldmlj
ZU1hbmFnZXJfU2V0Q2xpZW50X1BhcmFtcy5lbmNvZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2YWwp
IHsKLSAgICB2YXIgcGFja2VkOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoVXNiRGV2aWNlTWFu
YWdlcl9TZXRDbGllbnRfUGFyYW1zLmVuY29kZWRTaXplKTsKLSAgICBlbmNvZGVyLndyaXRlVWlu
dDMyKDApOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KG5ldyBjb2RlYy5JbnRlcmZhY2UoVXNi
RGV2aWNlTWFuYWdlckNsaWVudFB0ciksIHZhbC5jbGllbnQpOwotICB9OwotICBmdW5jdGlvbiBV
c2JEZXZpY2VNYW5hZ2VyQ2xpZW50X09uRGV2aWNlQWRkZWRfUGFyYW1zKHZhbHVlcykgewotICAg
IHRoaXMuaW5pdERlZmF1bHRzXygpOwotICAgIHRoaXMuaW5pdEZpZWxkc18odmFsdWVzKTsKLSAg
fQotCi0KLSAgVXNiRGV2aWNlTWFuYWdlckNsaWVudF9PbkRldmljZUFkZGVkX1BhcmFtcy5wcm90
b3R5cGUuaW5pdERlZmF1bHRzXyA9IGZ1bmN0aW9uKCkgewotICAgIHRoaXMuZGV2aWNlSW5mbyA9
IG51bGw7Ci0gIH07Ci0gIFVzYkRldmljZU1hbmFnZXJDbGllbnRfT25EZXZpY2VBZGRlZF9QYXJh
bXMucHJvdG90eXBlLmluaXRGaWVsZHNfID0gZnVuY3Rpb24oZmllbGRzKSB7Ci0gICAgZm9yKHZh
ciBmaWVsZCBpbiBmaWVsZHMpIHsKLSAgICAgICAgaWYgKHRoaXMuaGFzT3duUHJvcGVydHkoZmll
bGQpKQotICAgICAgICAgIHRoaXNbZmllbGRdID0gZmllbGRzW2ZpZWxkXTsKLSAgICB9Ci0gIH07
Ci0KLSAgVXNiRGV2aWNlTWFuYWdlckNsaWVudF9PbkRldmljZUFkZGVkX1BhcmFtcy52YWxpZGF0
ZSA9IGZ1bmN0aW9uKG1lc3NhZ2VWYWxpZGF0b3IsIG9mZnNldCkgewotICAgIHZhciBlcnI7Ci0g
ICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdEhlYWRlcihvZmZzZXQsIGNv
ZGVjLmtTdHJ1Y3RIZWFkZXJTaXplKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRh
dGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICB2YXIga1ZlcnNpb25T
aXplcyA9IFsKLSAgICAgIHt2ZXJzaW9uOiAwLCBudW1CeXRlczogMTZ9Ci0gICAgXTsKLSAgICBl
cnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0VmVyc2lvbihvZmZzZXQsIGtWZXJz
aW9uU2l6ZXMpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9O
RSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0gICAgCi0gICAgLy8gdmFsaWRhdGUgVXNiRGV2
aWNlTWFuYWdlckNsaWVudF9PbkRldmljZUFkZGVkX1BhcmFtcy5kZXZpY2VJbmZvCi0gICAgZXJy
ID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFBvaW50ZXIob2Zmc2V0ICsgY29kZWMu
a1N0cnVjdEhlYWRlclNpemUgKyAwLCBkZXZpY2UkLlVzYkRldmljZUluZm8sIGZhbHNlKTsKLSAg
ICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJl
dHVybiBlcnI7Ci0KLSAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwot
ICB9OwotCi0gIFVzYkRldmljZU1hbmFnZXJDbGllbnRfT25EZXZpY2VBZGRlZF9QYXJhbXMuZW5j
b2RlZFNpemUgPSBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDg7Ci0KLSAgVXNiRGV2aWNlTWFu
YWdlckNsaWVudF9PbkRldmljZUFkZGVkX1BhcmFtcy5kZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVy
KSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICB2YXIgdmFsID0gbmV3IFVzYkRldmljZU1hbmFnZXJD
bGllbnRfT25EZXZpY2VBZGRlZF9QYXJhbXMoKTsKLSAgICB2YXIgbnVtYmVyT2ZCeXRlcyA9IGRl
Y29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhciB2ZXJzaW9uID0gZGVjb2Rlci5yZWFkVWludDMy
KCk7Ci0gICAgdmFsLmRldmljZUluZm8gPSBkZWNvZGVyLmRlY29kZVN0cnVjdFBvaW50ZXIoZGV2
aWNlJC5Vc2JEZXZpY2VJbmZvKTsKLSAgICByZXR1cm4gdmFsOwotICB9OwotCi0gIFVzYkRldmlj
ZU1hbmFnZXJDbGllbnRfT25EZXZpY2VBZGRlZF9QYXJhbXMuZW5jb2RlID0gZnVuY3Rpb24oZW5j
b2RlciwgdmFsKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKFVz
YkRldmljZU1hbmFnZXJDbGllbnRfT25EZXZpY2VBZGRlZF9QYXJhbXMuZW5jb2RlZFNpemUpOwot
ICAgIGVuY29kZXIud3JpdGVVaW50MzIoMCk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3RQb2lu
dGVyKGRldmljZSQuVXNiRGV2aWNlSW5mbywgdmFsLmRldmljZUluZm8pOwotICB9OwotICBmdW5j
dGlvbiBVc2JEZXZpY2VNYW5hZ2VyQ2xpZW50X09uRGV2aWNlUmVtb3ZlZF9QYXJhbXModmFsdWVz
KSB7Ci0gICAgdGhpcy5pbml0RGVmYXVsdHNfKCk7Ci0gICAgdGhpcy5pbml0RmllbGRzXyh2YWx1
ZXMpOwotICB9Ci0KLQotICBVc2JEZXZpY2VNYW5hZ2VyQ2xpZW50X09uRGV2aWNlUmVtb3ZlZF9Q
YXJhbXMucHJvdG90eXBlLmluaXREZWZhdWx0c18gPSBmdW5jdGlvbigpIHsKLSAgICB0aGlzLmRl
dmljZUluZm8gPSBudWxsOwotICB9OwotICBVc2JEZXZpY2VNYW5hZ2VyQ2xpZW50X09uRGV2aWNl
UmVtb3ZlZF9QYXJhbXMucHJvdG90eXBlLmluaXRGaWVsZHNfID0gZnVuY3Rpb24oZmllbGRzKSB7
Ci0gICAgZm9yKHZhciBmaWVsZCBpbiBmaWVsZHMpIHsKLSAgICAgICAgaWYgKHRoaXMuaGFzT3du
UHJvcGVydHkoZmllbGQpKQotICAgICAgICAgIHRoaXNbZmllbGRdID0gZmllbGRzW2ZpZWxkXTsK
LSAgICB9Ci0gIH07Ci0KLSAgVXNiRGV2aWNlTWFuYWdlckNsaWVudF9PbkRldmljZVJlbW92ZWRf
UGFyYW1zLnZhbGlkYXRlID0gZnVuY3Rpb24obWVzc2FnZVZhbGlkYXRvciwgb2Zmc2V0KSB7Ci0g
ICAgdmFyIGVycjsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0SGVh
ZGVyKG9mZnNldCwgY29kZWMua1N0cnVjdEhlYWRlclNpemUpOwotICAgIGlmIChlcnIgIT09IHZh
bGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAg
IHZhciBrVmVyc2lvblNpemVzID0gWwotICAgICAge3ZlcnNpb246IDAsIG51bUJ5dGVzOiAxNn0K
LSAgICBdOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RWZXJzaW9u
KG9mZnNldCwga1ZlcnNpb25TaXplcyk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlk
YXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0KLSAgICAKLSAgICAvLyB2
YWxpZGF0ZSBVc2JEZXZpY2VNYW5hZ2VyQ2xpZW50X09uRGV2aWNlUmVtb3ZlZF9QYXJhbXMuZGV2
aWNlSW5mbwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RQb2ludGVy
KG9mZnNldCArIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgMCwgZGV2aWNlJC5Vc2JEZXZpY2VJ
bmZvLCBmYWxzZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5O
T05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0
aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQotICBVc2JEZXZpY2VNYW5hZ2VyQ2xpZW50X09uRGV2aWNl
UmVtb3ZlZF9QYXJhbXMuZW5jb2RlZFNpemUgPSBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDg7
Ci0KLSAgVXNiRGV2aWNlTWFuYWdlckNsaWVudF9PbkRldmljZVJlbW92ZWRfUGFyYW1zLmRlY29k
ZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIHZhciB2YWwgPSBu
ZXcgVXNiRGV2aWNlTWFuYWdlckNsaWVudF9PbkRldmljZVJlbW92ZWRfUGFyYW1zKCk7Ci0gICAg
dmFyIG51bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YXIgdmVyc2lv
biA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhbC5kZXZpY2VJbmZvID0gZGVjb2Rlci5k
ZWNvZGVTdHJ1Y3RQb2ludGVyKGRldmljZSQuVXNiRGV2aWNlSW5mbyk7Ci0gICAgcmV0dXJuIHZh
bDsKLSAgfTsKLQotICBVc2JEZXZpY2VNYW5hZ2VyQ2xpZW50X09uRGV2aWNlUmVtb3ZlZF9QYXJh
bXMuZW5jb2RlID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAg
ICBlbmNvZGVyLndyaXRlVWludDMyKFVzYkRldmljZU1hbmFnZXJDbGllbnRfT25EZXZpY2VSZW1v
dmVkX1BhcmFtcy5lbmNvZGVkU2l6ZSk7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMigwKTsKLSAg
ICBlbmNvZGVyLmVuY29kZVN0cnVjdFBvaW50ZXIoZGV2aWNlJC5Vc2JEZXZpY2VJbmZvLCB2YWwu
ZGV2aWNlSW5mbyk7Ci0gIH07Ci0gIHZhciBrVXNiRGV2aWNlTWFuYWdlcl9HZXREZXZpY2VzX05h
bWUgPSAwOwotICB2YXIga1VzYkRldmljZU1hbmFnZXJfR2V0RGV2aWNlX05hbWUgPSAxOwotICB2
YXIga1VzYkRldmljZU1hbmFnZXJfU2V0Q2xpZW50X05hbWUgPSAyOwotCi0gIGZ1bmN0aW9uIFVz
YkRldmljZU1hbmFnZXJQdHIoaGFuZGxlT3JQdHJJbmZvKSB7Ci0gICAgdGhpcy5wdHIgPSBuZXcg
YmluZGluZ3MuSW50ZXJmYWNlUHRyQ29udHJvbGxlcihVc2JEZXZpY2VNYW5hZ2VyLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlT3JQdHJJ
bmZvKTsKLSAgfQotCi0gIGZ1bmN0aW9uIFVzYkRldmljZU1hbmFnZXJBc3NvY2lhdGVkUHRyKGFz
c29jaWF0ZWRJbnRlcmZhY2VQdHJJbmZvKSB7Ci0gICAgdGhpcy5wdHIgPSBuZXcgYXNzb2NpYXRl
ZEJpbmRpbmdzLkFzc29jaWF0ZWRJbnRlcmZhY2VQdHJDb250cm9sbGVyKAotICAgICAgICBVc2JE
ZXZpY2VNYW5hZ2VyLCBhc3NvY2lhdGVkSW50ZXJmYWNlUHRySW5mbyk7Ci0gIH0KLQotICBVc2JE
ZXZpY2VNYW5hZ2VyQXNzb2NpYXRlZFB0ci5wcm90b3R5cGUgPQotICAgICAgT2JqZWN0LmNyZWF0
ZShVc2JEZXZpY2VNYW5hZ2VyUHRyLnByb3RvdHlwZSk7Ci0gIFVzYkRldmljZU1hbmFnZXJBc3Nv
Y2lhdGVkUHRyLnByb3RvdHlwZS5jb25zdHJ1Y3RvciA9Ci0gICAgICBVc2JEZXZpY2VNYW5hZ2Vy
QXNzb2NpYXRlZFB0cjsKLQotICBmdW5jdGlvbiBVc2JEZXZpY2VNYW5hZ2VyUHJveHkocmVjZWl2
ZXIpIHsKLSAgICB0aGlzLnJlY2VpdmVyXyA9IHJlY2VpdmVyOwotICB9Ci0gIFVzYkRldmljZU1h
bmFnZXJQdHIucHJvdG90eXBlLmdldERldmljZXMgPSBmdW5jdGlvbigpIHsKLSAgICByZXR1cm4g
VXNiRGV2aWNlTWFuYWdlclByb3h5LnByb3RvdHlwZS5nZXREZXZpY2VzCi0gICAgICAgIC5hcHBs
eSh0aGlzLnB0ci5nZXRQcm94eSgpLCBhcmd1bWVudHMpOwotICB9OwotCi0gIFVzYkRldmljZU1h
bmFnZXJQcm94eS5wcm90b3R5cGUuZ2V0RGV2aWNlcyA9IGZ1bmN0aW9uKG9wdGlvbnMpIHsKLSAg
ICB2YXIgcGFyYW1zID0gbmV3IFVzYkRldmljZU1hbmFnZXJfR2V0RGV2aWNlc19QYXJhbXMoKTsK
LSAgICBwYXJhbXMub3B0aW9ucyA9IG9wdGlvbnM7Ci0gICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1
bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewotICAgICAgdmFyIGJ1aWxkZXIgPSBuZXcgY29kZWMu
TWVzc2FnZVYxQnVpbGRlcigKLSAgICAgICAgICBrVXNiRGV2aWNlTWFuYWdlcl9HZXREZXZpY2Vz
X05hbWUsCi0gICAgICAgICAgY29kZWMuYWxpZ24oVXNiRGV2aWNlTWFuYWdlcl9HZXREZXZpY2Vz
X1BhcmFtcy5lbmNvZGVkU2l6ZSksCi0gICAgICAgICAgY29kZWMua01lc3NhZ2VFeHBlY3RzUmVz
cG9uc2UsIDApOwotICAgICAgYnVpbGRlci5lbmNvZGVTdHJ1Y3QoVXNiRGV2aWNlTWFuYWdlcl9H
ZXREZXZpY2VzX1BhcmFtcywgcGFyYW1zKTsKLSAgICAgIHZhciBtZXNzYWdlID0gYnVpbGRlci5m
aW5pc2goKTsKLSAgICAgIHRoaXMucmVjZWl2ZXJfLmFjY2VwdEFuZEV4cGVjdFJlc3BvbnNlKG1l
c3NhZ2UpLnRoZW4oZnVuY3Rpb24obWVzc2FnZSkgewotICAgICAgICB2YXIgcmVhZGVyID0gbmV3
IGNvZGVjLk1lc3NhZ2VSZWFkZXIobWVzc2FnZSk7Ci0gICAgICAgIHZhciByZXNwb25zZVBhcmFt
cyA9Ci0gICAgICAgICAgICByZWFkZXIuZGVjb2RlU3RydWN0KFVzYkRldmljZU1hbmFnZXJfR2V0
RGV2aWNlc19SZXNwb25zZVBhcmFtcyk7Ci0gICAgICAgIHJlc29sdmUocmVzcG9uc2VQYXJhbXMp
OwotICAgICAgfSkuY2F0Y2goZnVuY3Rpb24ocmVzdWx0KSB7Ci0gICAgICAgIHJlamVjdChFcnJv
cigiQ29ubmVjdGlvbiBlcnJvcjogIiArIHJlc3VsdCkpOwotICAgICAgfSk7Ci0gICAgfS5iaW5k
KHRoaXMpKTsKLSAgfTsKLSAgVXNiRGV2aWNlTWFuYWdlclB0ci5wcm90b3R5cGUuZ2V0RGV2aWNl
ID0gZnVuY3Rpb24oKSB7Ci0gICAgcmV0dXJuIFVzYkRldmljZU1hbmFnZXJQcm94eS5wcm90b3R5
cGUuZ2V0RGV2aWNlCi0gICAgICAgIC5hcHBseSh0aGlzLnB0ci5nZXRQcm94eSgpLCBhcmd1bWVu
dHMpOwotICB9OwotCi0gIFVzYkRldmljZU1hbmFnZXJQcm94eS5wcm90b3R5cGUuZ2V0RGV2aWNl
ID0gZnVuY3Rpb24oZ3VpZCwgZGV2aWNlUmVxdWVzdCkgewotICAgIHZhciBwYXJhbXMgPSBuZXcg
VXNiRGV2aWNlTWFuYWdlcl9HZXREZXZpY2VfUGFyYW1zKCk7Ci0gICAgcGFyYW1zLmd1aWQgPSBn
dWlkOwotICAgIHBhcmFtcy5kZXZpY2VSZXF1ZXN0ID0gZGV2aWNlUmVxdWVzdDsKLSAgICB2YXIg
YnVpbGRlciA9IG5ldyBjb2RlYy5NZXNzYWdlVjBCdWlsZGVyKAotICAgICAgICBrVXNiRGV2aWNl
TWFuYWdlcl9HZXREZXZpY2VfTmFtZSwKLSAgICAgICAgY29kZWMuYWxpZ24oVXNiRGV2aWNlTWFu
YWdlcl9HZXREZXZpY2VfUGFyYW1zLmVuY29kZWRTaXplKSk7Ci0gICAgYnVpbGRlci5lbmNvZGVT
dHJ1Y3QoVXNiRGV2aWNlTWFuYWdlcl9HZXREZXZpY2VfUGFyYW1zLCBwYXJhbXMpOwotICAgIHZh
ciBtZXNzYWdlID0gYnVpbGRlci5maW5pc2goKTsKLSAgICB0aGlzLnJlY2VpdmVyXy5hY2NlcHQo
bWVzc2FnZSk7Ci0gIH07Ci0gIFVzYkRldmljZU1hbmFnZXJQdHIucHJvdG90eXBlLnNldENsaWVu
dCA9IGZ1bmN0aW9uKCkgewotICAgIHJldHVybiBVc2JEZXZpY2VNYW5hZ2VyUHJveHkucHJvdG90
eXBlLnNldENsaWVudAotICAgICAgICAuYXBwbHkodGhpcy5wdHIuZ2V0UHJveHkoKSwgYXJndW1l
bnRzKTsKLSAgfTsKLQotICBVc2JEZXZpY2VNYW5hZ2VyUHJveHkucHJvdG90eXBlLnNldENsaWVu
dCA9IGZ1bmN0aW9uKGNsaWVudCkgewotICAgIHZhciBwYXJhbXMgPSBuZXcgVXNiRGV2aWNlTWFu
YWdlcl9TZXRDbGllbnRfUGFyYW1zKCk7Ci0gICAgcGFyYW1zLmNsaWVudCA9IGNsaWVudDsKLSAg
ICB2YXIgYnVpbGRlciA9IG5ldyBjb2RlYy5NZXNzYWdlVjBCdWlsZGVyKAotICAgICAgICBrVXNi
RGV2aWNlTWFuYWdlcl9TZXRDbGllbnRfTmFtZSwKLSAgICAgICAgY29kZWMuYWxpZ24oVXNiRGV2
aWNlTWFuYWdlcl9TZXRDbGllbnRfUGFyYW1zLmVuY29kZWRTaXplKSk7Ci0gICAgYnVpbGRlci5l
bmNvZGVTdHJ1Y3QoVXNiRGV2aWNlTWFuYWdlcl9TZXRDbGllbnRfUGFyYW1zLCBwYXJhbXMpOwot
ICAgIHZhciBtZXNzYWdlID0gYnVpbGRlci5maW5pc2goKTsKLSAgICB0aGlzLnJlY2VpdmVyXy5h
Y2NlcHQobWVzc2FnZSk7Ci0gIH07Ci0KLSAgZnVuY3Rpb24gVXNiRGV2aWNlTWFuYWdlclN0dWIo
ZGVsZWdhdGUpIHsKLSAgICB0aGlzLmRlbGVnYXRlXyA9IGRlbGVnYXRlOwotICB9Ci0gIFVzYkRl
dmljZU1hbmFnZXJTdHViLnByb3RvdHlwZS5nZXREZXZpY2VzID0gZnVuY3Rpb24ob3B0aW9ucykg
ewotICAgIHJldHVybiB0aGlzLmRlbGVnYXRlXyAmJiB0aGlzLmRlbGVnYXRlXy5nZXREZXZpY2Vz
ICYmIHRoaXMuZGVsZWdhdGVfLmdldERldmljZXMob3B0aW9ucyk7Ci0gIH0KLSAgVXNiRGV2aWNl
TWFuYWdlclN0dWIucHJvdG90eXBlLmdldERldmljZSA9IGZ1bmN0aW9uKGd1aWQsIGRldmljZVJl
cXVlc3QpIHsKLSAgICByZXR1cm4gdGhpcy5kZWxlZ2F0ZV8gJiYgdGhpcy5kZWxlZ2F0ZV8uZ2V0
RGV2aWNlICYmIHRoaXMuZGVsZWdhdGVfLmdldERldmljZShndWlkLCBkZXZpY2VSZXF1ZXN0KTsK
LSAgfQotICBVc2JEZXZpY2VNYW5hZ2VyU3R1Yi5wcm90b3R5cGUuc2V0Q2xpZW50ID0gZnVuY3Rp
b24oY2xpZW50KSB7Ci0gICAgcmV0dXJuIHRoaXMuZGVsZWdhdGVfICYmIHRoaXMuZGVsZWdhdGVf
LnNldENsaWVudCAmJiB0aGlzLmRlbGVnYXRlXy5zZXRDbGllbnQoY2xpZW50KTsKLSAgfQotCi0g
IFVzYkRldmljZU1hbmFnZXJTdHViLnByb3RvdHlwZS5hY2NlcHQgPSBmdW5jdGlvbihtZXNzYWdl
KSB7Ci0gICAgdmFyIHJlYWRlciA9IG5ldyBjb2RlYy5NZXNzYWdlUmVhZGVyKG1lc3NhZ2UpOwot
ICAgIHN3aXRjaCAocmVhZGVyLm1lc3NhZ2VOYW1lKSB7Ci0gICAgY2FzZSBrVXNiRGV2aWNlTWFu
YWdlcl9HZXREZXZpY2VfTmFtZToKLSAgICAgIHZhciBwYXJhbXMgPSByZWFkZXIuZGVjb2RlU3Ry
dWN0KFVzYkRldmljZU1hbmFnZXJfR2V0RGV2aWNlX1BhcmFtcyk7Ci0gICAgICB0aGlzLmdldERl
dmljZShwYXJhbXMuZ3VpZCwgcGFyYW1zLmRldmljZVJlcXVlc3QpOwotICAgICAgcmV0dXJuIHRy
dWU7Ci0gICAgY2FzZSBrVXNiRGV2aWNlTWFuYWdlcl9TZXRDbGllbnRfTmFtZToKLSAgICAgIHZh
ciBwYXJhbXMgPSByZWFkZXIuZGVjb2RlU3RydWN0KFVzYkRldmljZU1hbmFnZXJfU2V0Q2xpZW50
X1BhcmFtcyk7Ci0gICAgICB0aGlzLnNldENsaWVudChwYXJhbXMuY2xpZW50KTsKLSAgICAgIHJl
dHVybiB0cnVlOwotICAgIGRlZmF1bHQ6Ci0gICAgICByZXR1cm4gZmFsc2U7Ci0gICAgfQotICB9
OwotCi0gIFVzYkRldmljZU1hbmFnZXJTdHViLnByb3RvdHlwZS5hY2NlcHRXaXRoUmVzcG9uZGVy
ID0KLSAgICAgIGZ1bmN0aW9uKG1lc3NhZ2UsIHJlc3BvbmRlcikgewotICAgIHZhciByZWFkZXIg
PSBuZXcgY29kZWMuTWVzc2FnZVJlYWRlcihtZXNzYWdlKTsKLSAgICBzd2l0Y2ggKHJlYWRlci5t
ZXNzYWdlTmFtZSkgewotICAgIGNhc2Uga1VzYkRldmljZU1hbmFnZXJfR2V0RGV2aWNlc19OYW1l
OgotICAgICAgdmFyIHBhcmFtcyA9IHJlYWRlci5kZWNvZGVTdHJ1Y3QoVXNiRGV2aWNlTWFuYWdl
cl9HZXREZXZpY2VzX1BhcmFtcyk7Ci0gICAgICB0aGlzLmdldERldmljZXMocGFyYW1zLm9wdGlv
bnMpLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICAgICAgdmFyIHJlc3BvbnNlUGFyYW1z
ID0KLSAgICAgICAgICAgIG5ldyBVc2JEZXZpY2VNYW5hZ2VyX0dldERldmljZXNfUmVzcG9uc2VQ
YXJhbXMoKTsKLSAgICAgICAgcmVzcG9uc2VQYXJhbXMucmVzdWx0cyA9IHJlc3BvbnNlLnJlc3Vs
dHM7Ci0gICAgICAgIHZhciBidWlsZGVyID0gbmV3IGNvZGVjLk1lc3NhZ2VWMUJ1aWxkZXIoCi0g
ICAgICAgICAgICBrVXNiRGV2aWNlTWFuYWdlcl9HZXREZXZpY2VzX05hbWUsCi0gICAgICAgICAg
ICBjb2RlYy5hbGlnbihVc2JEZXZpY2VNYW5hZ2VyX0dldERldmljZXNfUmVzcG9uc2VQYXJhbXMu
ZW5jb2RlZFNpemUpLAotICAgICAgICAgICAgY29kZWMua01lc3NhZ2VJc1Jlc3BvbnNlLCByZWFk
ZXIucmVxdWVzdElEKTsKLSAgICAgICAgYnVpbGRlci5lbmNvZGVTdHJ1Y3QoVXNiRGV2aWNlTWFu
YWdlcl9HZXREZXZpY2VzX1Jlc3BvbnNlUGFyYW1zLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICByZXNwb25zZVBhcmFtcyk7Ci0gICAgICAgIHZhciBtZXNzYWdlID0gYnVpbGRlci5maW5p
c2goKTsKLSAgICAgICAgcmVzcG9uZGVyLmFjY2VwdChtZXNzYWdlKTsKLSAgICAgIH0pOwotICAg
ICAgcmV0dXJuIHRydWU7Ci0gICAgZGVmYXVsdDoKLSAgICAgIHJldHVybiBmYWxzZTsKLSAgICB9
Ci0gIH07Ci0KLSAgZnVuY3Rpb24gdmFsaWRhdGVVc2JEZXZpY2VNYW5hZ2VyUmVxdWVzdChtZXNz
YWdlVmFsaWRhdG9yKSB7Ci0gICAgdmFyIG1lc3NhZ2UgPSBtZXNzYWdlVmFsaWRhdG9yLm1lc3Nh
Z2U7Ci0gICAgdmFyIHBhcmFtc0NsYXNzID0gbnVsbDsKLSAgICBzd2l0Y2ggKG1lc3NhZ2UuZ2V0
TmFtZSgpKSB7Ci0gICAgICBjYXNlIGtVc2JEZXZpY2VNYW5hZ2VyX0dldERldmljZXNfTmFtZToK
LSAgICAgICAgaWYgKG1lc3NhZ2UuZXhwZWN0c1Jlc3BvbnNlKCkpCi0gICAgICAgICAgcGFyYW1z
Q2xhc3MgPSBVc2JEZXZpY2VNYW5hZ2VyX0dldERldmljZXNfUGFyYW1zOwotICAgICAgYnJlYWs7
Ci0gICAgICBjYXNlIGtVc2JEZXZpY2VNYW5hZ2VyX0dldERldmljZV9OYW1lOgotICAgICAgICBp
ZiAoIW1lc3NhZ2UuZXhwZWN0c1Jlc3BvbnNlKCkgJiYgIW1lc3NhZ2UuaXNSZXNwb25zZSgpKQot
ICAgICAgICAgIHBhcmFtc0NsYXNzID0gVXNiRGV2aWNlTWFuYWdlcl9HZXREZXZpY2VfUGFyYW1z
OwotICAgICAgYnJlYWs7Ci0gICAgICBjYXNlIGtVc2JEZXZpY2VNYW5hZ2VyX1NldENsaWVudF9O
YW1lOgotICAgICAgICBpZiAoIW1lc3NhZ2UuZXhwZWN0c1Jlc3BvbnNlKCkgJiYgIW1lc3NhZ2Uu
aXNSZXNwb25zZSgpKQotICAgICAgICAgIHBhcmFtc0NsYXNzID0gVXNiRGV2aWNlTWFuYWdlcl9T
ZXRDbGllbnRfUGFyYW1zOwotICAgICAgYnJlYWs7Ci0gICAgfQotICAgIGlmIChwYXJhbXNDbGFz
cyA9PT0gbnVsbCkKLSAgICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7
Ci0gICAgcmV0dXJuIHBhcmFtc0NsYXNzLnZhbGlkYXRlKG1lc3NhZ2VWYWxpZGF0b3IsIG1lc3Nh
Z2VWYWxpZGF0b3IubWVzc2FnZS5nZXRIZWFkZXJOdW1CeXRlcygpKTsKLSAgfQotCi0gIGZ1bmN0
aW9uIHZhbGlkYXRlVXNiRGV2aWNlTWFuYWdlclJlc3BvbnNlKG1lc3NhZ2VWYWxpZGF0b3IpIHsK
LSAgIHZhciBtZXNzYWdlID0gbWVzc2FnZVZhbGlkYXRvci5tZXNzYWdlOwotICAgdmFyIHBhcmFt
c0NsYXNzID0gbnVsbDsKLSAgIHN3aXRjaCAobWVzc2FnZS5nZXROYW1lKCkpIHsKLSAgICAgIGNh
c2Uga1VzYkRldmljZU1hbmFnZXJfR2V0RGV2aWNlc19OYW1lOgotICAgICAgICBpZiAobWVzc2Fn
ZS5pc1Jlc3BvbnNlKCkpCi0gICAgICAgICAgcGFyYW1zQ2xhc3MgPSBVc2JEZXZpY2VNYW5hZ2Vy
X0dldERldmljZXNfUmVzcG9uc2VQYXJhbXM7Ci0gICAgICAgIGJyZWFrOwotICAgIH0KLSAgICBp
ZiAocGFyYW1zQ2xhc3MgPT09IG51bGwpCi0gICAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRp
b25FcnJvci5OT05FOwotICAgIHJldHVybiBwYXJhbXNDbGFzcy52YWxpZGF0ZShtZXNzYWdlVmFs
aWRhdG9yLCBtZXNzYWdlVmFsaWRhdG9yLm1lc3NhZ2UuZ2V0SGVhZGVyTnVtQnl0ZXMoKSk7Ci0g
IH0KLQotICB2YXIgVXNiRGV2aWNlTWFuYWdlciA9IHsKLSAgICBuYW1lOiAnZGV2aWNlOjptb2pv
bTo6VXNiRGV2aWNlTWFuYWdlcicsCi0gICAga1ZlcnNpb246IDAsCi0gICAgcHRyQ2xhc3M6IFVz
YkRldmljZU1hbmFnZXJQdHIsCi0gICAgcHJveHlDbGFzczogVXNiRGV2aWNlTWFuYWdlclByb3h5
LAotICAgIHN0dWJDbGFzczogVXNiRGV2aWNlTWFuYWdlclN0dWIsCi0gICAgdmFsaWRhdGVSZXF1
ZXN0OiB2YWxpZGF0ZVVzYkRldmljZU1hbmFnZXJSZXF1ZXN0LAotICAgIHZhbGlkYXRlUmVzcG9u
c2U6IHZhbGlkYXRlVXNiRGV2aWNlTWFuYWdlclJlc3BvbnNlLAotICB9OwotICBVc2JEZXZpY2VN
YW5hZ2VyU3R1Yi5wcm90b3R5cGUudmFsaWRhdG9yID0gdmFsaWRhdGVVc2JEZXZpY2VNYW5hZ2Vy
UmVxdWVzdDsKLSAgVXNiRGV2aWNlTWFuYWdlclByb3h5LnByb3RvdHlwZS52YWxpZGF0b3IgPSB2
YWxpZGF0ZVVzYkRldmljZU1hbmFnZXJSZXNwb25zZTsKLSAgdmFyIGtVc2JEZXZpY2VNYW5hZ2Vy
Q2xpZW50X09uRGV2aWNlQWRkZWRfTmFtZSA9IDA7Ci0gIHZhciBrVXNiRGV2aWNlTWFuYWdlckNs
aWVudF9PbkRldmljZVJlbW92ZWRfTmFtZSA9IDE7Ci0KLSAgZnVuY3Rpb24gVXNiRGV2aWNlTWFu
YWdlckNsaWVudFB0cihoYW5kbGVPclB0ckluZm8pIHsKLSAgICB0aGlzLnB0ciA9IG5ldyBiaW5k
aW5ncy5JbnRlcmZhY2VQdHJDb250cm9sbGVyKFVzYkRldmljZU1hbmFnZXJDbGllbnQsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVPclB0
ckluZm8pOwotICB9Ci0KLSAgZnVuY3Rpb24gVXNiRGV2aWNlTWFuYWdlckNsaWVudEFzc29jaWF0
ZWRQdHIoYXNzb2NpYXRlZEludGVyZmFjZVB0ckluZm8pIHsKLSAgICB0aGlzLnB0ciA9IG5ldyBh
c3NvY2lhdGVkQmluZGluZ3MuQXNzb2NpYXRlZEludGVyZmFjZVB0ckNvbnRyb2xsZXIoCi0gICAg
ICAgIFVzYkRldmljZU1hbmFnZXJDbGllbnQsIGFzc29jaWF0ZWRJbnRlcmZhY2VQdHJJbmZvKTsK
LSAgfQotCi0gIFVzYkRldmljZU1hbmFnZXJDbGllbnRBc3NvY2lhdGVkUHRyLnByb3RvdHlwZSA9
Ci0gICAgICBPYmplY3QuY3JlYXRlKFVzYkRldmljZU1hbmFnZXJDbGllbnRQdHIucHJvdG90eXBl
KTsKLSAgVXNiRGV2aWNlTWFuYWdlckNsaWVudEFzc29jaWF0ZWRQdHIucHJvdG90eXBlLmNvbnN0
cnVjdG9yID0KLSAgICAgIFVzYkRldmljZU1hbmFnZXJDbGllbnRBc3NvY2lhdGVkUHRyOwotCi0g
IGZ1bmN0aW9uIFVzYkRldmljZU1hbmFnZXJDbGllbnRQcm94eShyZWNlaXZlcikgewotICAgIHRo
aXMucmVjZWl2ZXJfID0gcmVjZWl2ZXI7Ci0gIH0KLSAgVXNiRGV2aWNlTWFuYWdlckNsaWVudFB0
ci5wcm90b3R5cGUub25EZXZpY2VBZGRlZCA9IGZ1bmN0aW9uKCkgewotICAgIHJldHVybiBVc2JE
ZXZpY2VNYW5hZ2VyQ2xpZW50UHJveHkucHJvdG90eXBlLm9uRGV2aWNlQWRkZWQKLSAgICAgICAg
LmFwcGx5KHRoaXMucHRyLmdldFByb3h5KCksIGFyZ3VtZW50cyk7Ci0gIH07Ci0KLSAgVXNiRGV2
aWNlTWFuYWdlckNsaWVudFByb3h5LnByb3RvdHlwZS5vbkRldmljZUFkZGVkID0gZnVuY3Rpb24o
ZGV2aWNlSW5mbykgewotICAgIHZhciBwYXJhbXMgPSBuZXcgVXNiRGV2aWNlTWFuYWdlckNsaWVu
dF9PbkRldmljZUFkZGVkX1BhcmFtcygpOwotICAgIHBhcmFtcy5kZXZpY2VJbmZvID0gZGV2aWNl
SW5mbzsKLSAgICB2YXIgYnVpbGRlciA9IG5ldyBjb2RlYy5NZXNzYWdlVjBCdWlsZGVyKAotICAg
ICAgICBrVXNiRGV2aWNlTWFuYWdlckNsaWVudF9PbkRldmljZUFkZGVkX05hbWUsCi0gICAgICAg
IGNvZGVjLmFsaWduKFVzYkRldmljZU1hbmFnZXJDbGllbnRfT25EZXZpY2VBZGRlZF9QYXJhbXMu
ZW5jb2RlZFNpemUpKTsKLSAgICBidWlsZGVyLmVuY29kZVN0cnVjdChVc2JEZXZpY2VNYW5hZ2Vy
Q2xpZW50X09uRGV2aWNlQWRkZWRfUGFyYW1zLCBwYXJhbXMpOwotICAgIHZhciBtZXNzYWdlID0g
YnVpbGRlci5maW5pc2goKTsKLSAgICB0aGlzLnJlY2VpdmVyXy5hY2NlcHQobWVzc2FnZSk7Ci0g
IH07Ci0gIFVzYkRldmljZU1hbmFnZXJDbGllbnRQdHIucHJvdG90eXBlLm9uRGV2aWNlUmVtb3Zl
ZCA9IGZ1bmN0aW9uKCkgewotICAgIHJldHVybiBVc2JEZXZpY2VNYW5hZ2VyQ2xpZW50UHJveHku
cHJvdG90eXBlLm9uRGV2aWNlUmVtb3ZlZAotICAgICAgICAuYXBwbHkodGhpcy5wdHIuZ2V0UHJv
eHkoKSwgYXJndW1lbnRzKTsKLSAgfTsKLQotICBVc2JEZXZpY2VNYW5hZ2VyQ2xpZW50UHJveHku
cHJvdG90eXBlLm9uRGV2aWNlUmVtb3ZlZCA9IGZ1bmN0aW9uKGRldmljZUluZm8pIHsKLSAgICB2
YXIgcGFyYW1zID0gbmV3IFVzYkRldmljZU1hbmFnZXJDbGllbnRfT25EZXZpY2VSZW1vdmVkX1Bh
cmFtcygpOwotICAgIHBhcmFtcy5kZXZpY2VJbmZvID0gZGV2aWNlSW5mbzsKLSAgICB2YXIgYnVp
bGRlciA9IG5ldyBjb2RlYy5NZXNzYWdlVjBCdWlsZGVyKAotICAgICAgICBrVXNiRGV2aWNlTWFu
YWdlckNsaWVudF9PbkRldmljZVJlbW92ZWRfTmFtZSwKLSAgICAgICAgY29kZWMuYWxpZ24oVXNi
RGV2aWNlTWFuYWdlckNsaWVudF9PbkRldmljZVJlbW92ZWRfUGFyYW1zLmVuY29kZWRTaXplKSk7
Ci0gICAgYnVpbGRlci5lbmNvZGVTdHJ1Y3QoVXNiRGV2aWNlTWFuYWdlckNsaWVudF9PbkRldmlj
ZVJlbW92ZWRfUGFyYW1zLCBwYXJhbXMpOwotICAgIHZhciBtZXNzYWdlID0gYnVpbGRlci5maW5p
c2goKTsKLSAgICB0aGlzLnJlY2VpdmVyXy5hY2NlcHQobWVzc2FnZSk7Ci0gIH07Ci0KLSAgZnVu
Y3Rpb24gVXNiRGV2aWNlTWFuYWdlckNsaWVudFN0dWIoZGVsZWdhdGUpIHsKLSAgICB0aGlzLmRl
bGVnYXRlXyA9IGRlbGVnYXRlOwotICB9Ci0gIFVzYkRldmljZU1hbmFnZXJDbGllbnRTdHViLnBy
b3RvdHlwZS5vbkRldmljZUFkZGVkID0gZnVuY3Rpb24oZGV2aWNlSW5mbykgewotICAgIHJldHVy
biB0aGlzLmRlbGVnYXRlXyAmJiB0aGlzLmRlbGVnYXRlXy5vbkRldmljZUFkZGVkICYmIHRoaXMu
ZGVsZWdhdGVfLm9uRGV2aWNlQWRkZWQoZGV2aWNlSW5mbyk7Ci0gIH0KLSAgVXNiRGV2aWNlTWFu
YWdlckNsaWVudFN0dWIucHJvdG90eXBlLm9uRGV2aWNlUmVtb3ZlZCA9IGZ1bmN0aW9uKGRldmlj
ZUluZm8pIHsKLSAgICByZXR1cm4gdGhpcy5kZWxlZ2F0ZV8gJiYgdGhpcy5kZWxlZ2F0ZV8ub25E
ZXZpY2VSZW1vdmVkICYmIHRoaXMuZGVsZWdhdGVfLm9uRGV2aWNlUmVtb3ZlZChkZXZpY2VJbmZv
KTsKLSAgfQotCi0gIFVzYkRldmljZU1hbmFnZXJDbGllbnRTdHViLnByb3RvdHlwZS5hY2NlcHQg
PSBmdW5jdGlvbihtZXNzYWdlKSB7Ci0gICAgdmFyIHJlYWRlciA9IG5ldyBjb2RlYy5NZXNzYWdl
UmVhZGVyKG1lc3NhZ2UpOwotICAgIHN3aXRjaCAocmVhZGVyLm1lc3NhZ2VOYW1lKSB7Ci0gICAg
Y2FzZSBrVXNiRGV2aWNlTWFuYWdlckNsaWVudF9PbkRldmljZUFkZGVkX05hbWU6Ci0gICAgICB2
YXIgcGFyYW1zID0gcmVhZGVyLmRlY29kZVN0cnVjdChVc2JEZXZpY2VNYW5hZ2VyQ2xpZW50X09u
RGV2aWNlQWRkZWRfUGFyYW1zKTsKLSAgICAgIHRoaXMub25EZXZpY2VBZGRlZChwYXJhbXMuZGV2
aWNlSW5mbyk7Ci0gICAgICByZXR1cm4gdHJ1ZTsKLSAgICBjYXNlIGtVc2JEZXZpY2VNYW5hZ2Vy
Q2xpZW50X09uRGV2aWNlUmVtb3ZlZF9OYW1lOgotICAgICAgdmFyIHBhcmFtcyA9IHJlYWRlci5k
ZWNvZGVTdHJ1Y3QoVXNiRGV2aWNlTWFuYWdlckNsaWVudF9PbkRldmljZVJlbW92ZWRfUGFyYW1z
KTsKLSAgICAgIHRoaXMub25EZXZpY2VSZW1vdmVkKHBhcmFtcy5kZXZpY2VJbmZvKTsKLSAgICAg
IHJldHVybiB0cnVlOwotICAgIGRlZmF1bHQ6Ci0gICAgICByZXR1cm4gZmFsc2U7Ci0gICAgfQot
ICB9OwotCi0gIFVzYkRldmljZU1hbmFnZXJDbGllbnRTdHViLnByb3RvdHlwZS5hY2NlcHRXaXRo
UmVzcG9uZGVyID0KLSAgICAgIGZ1bmN0aW9uKG1lc3NhZ2UsIHJlc3BvbmRlcikgewotICAgIHZh
ciByZWFkZXIgPSBuZXcgY29kZWMuTWVzc2FnZVJlYWRlcihtZXNzYWdlKTsKLSAgICBzd2l0Y2gg
KHJlYWRlci5tZXNzYWdlTmFtZSkgewotICAgIGRlZmF1bHQ6Ci0gICAgICByZXR1cm4gZmFsc2U7
Ci0gICAgfQotICB9OwotCi0gIGZ1bmN0aW9uIHZhbGlkYXRlVXNiRGV2aWNlTWFuYWdlckNsaWVu
dFJlcXVlc3QobWVzc2FnZVZhbGlkYXRvcikgewotICAgIHZhciBtZXNzYWdlID0gbWVzc2FnZVZh
bGlkYXRvci5tZXNzYWdlOwotICAgIHZhciBwYXJhbXNDbGFzcyA9IG51bGw7Ci0gICAgc3dpdGNo
IChtZXNzYWdlLmdldE5hbWUoKSkgewotICAgICAgY2FzZSBrVXNiRGV2aWNlTWFuYWdlckNsaWVu
dF9PbkRldmljZUFkZGVkX05hbWU6Ci0gICAgICAgIGlmICghbWVzc2FnZS5leHBlY3RzUmVzcG9u
c2UoKSAmJiAhbWVzc2FnZS5pc1Jlc3BvbnNlKCkpCi0gICAgICAgICAgcGFyYW1zQ2xhc3MgPSBV
c2JEZXZpY2VNYW5hZ2VyQ2xpZW50X09uRGV2aWNlQWRkZWRfUGFyYW1zOwotICAgICAgYnJlYWs7
Ci0gICAgICBjYXNlIGtVc2JEZXZpY2VNYW5hZ2VyQ2xpZW50X09uRGV2aWNlUmVtb3ZlZF9OYW1l
OgotICAgICAgICBpZiAoIW1lc3NhZ2UuZXhwZWN0c1Jlc3BvbnNlKCkgJiYgIW1lc3NhZ2UuaXNS
ZXNwb25zZSgpKQotICAgICAgICAgIHBhcmFtc0NsYXNzID0gVXNiRGV2aWNlTWFuYWdlckNsaWVu
dF9PbkRldmljZVJlbW92ZWRfUGFyYW1zOwotICAgICAgYnJlYWs7Ci0gICAgfQotICAgIGlmIChw
YXJhbXNDbGFzcyA9PT0gbnVsbCkKLSAgICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVy
cm9yLk5PTkU7Ci0gICAgcmV0dXJuIHBhcmFtc0NsYXNzLnZhbGlkYXRlKG1lc3NhZ2VWYWxpZGF0
b3IsIG1lc3NhZ2VWYWxpZGF0b3IubWVzc2FnZS5nZXRIZWFkZXJOdW1CeXRlcygpKTsKLSAgfQot
Ci0gIGZ1bmN0aW9uIHZhbGlkYXRlVXNiRGV2aWNlTWFuYWdlckNsaWVudFJlc3BvbnNlKG1lc3Nh
Z2VWYWxpZGF0b3IpIHsKLSAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05F
OwotICB9Ci0KLSAgdmFyIFVzYkRldmljZU1hbmFnZXJDbGllbnQgPSB7Ci0gICAgbmFtZTogJ2Rl
dmljZTo6bW9qb206OlVzYkRldmljZU1hbmFnZXJDbGllbnQnLAotICAgIGtWZXJzaW9uOiAwLAot
ICAgIHB0ckNsYXNzOiBVc2JEZXZpY2VNYW5hZ2VyQ2xpZW50UHRyLAotICAgIHByb3h5Q2xhc3M6
IFVzYkRldmljZU1hbmFnZXJDbGllbnRQcm94eSwKLSAgICBzdHViQ2xhc3M6IFVzYkRldmljZU1h
bmFnZXJDbGllbnRTdHViLAotICAgIHZhbGlkYXRlUmVxdWVzdDogdmFsaWRhdGVVc2JEZXZpY2VN
YW5hZ2VyQ2xpZW50UmVxdWVzdCwKLSAgICB2YWxpZGF0ZVJlc3BvbnNlOiBudWxsLAotICB9Owot
ICBVc2JEZXZpY2VNYW5hZ2VyQ2xpZW50U3R1Yi5wcm90b3R5cGUudmFsaWRhdG9yID0gdmFsaWRh
dGVVc2JEZXZpY2VNYW5hZ2VyQ2xpZW50UmVxdWVzdDsKLSAgVXNiRGV2aWNlTWFuYWdlckNsaWVu
dFByb3h5LnByb3RvdHlwZS52YWxpZGF0b3IgPSBudWxsOwotICBleHBvcnRzLlVzYkRldmljZUZp
bHRlciA9IFVzYkRldmljZUZpbHRlcjsKLSAgZXhwb3J0cy5Vc2JFbnVtZXJhdGlvbk9wdGlvbnMg
PSBVc2JFbnVtZXJhdGlvbk9wdGlvbnM7Ci0gIGV4cG9ydHMuVXNiRGV2aWNlTWFuYWdlciA9IFVz
YkRldmljZU1hbmFnZXI7Ci0gIGV4cG9ydHMuVXNiRGV2aWNlTWFuYWdlclB0ciA9IFVzYkRldmlj
ZU1hbmFnZXJQdHI7Ci0gIGV4cG9ydHMuVXNiRGV2aWNlTWFuYWdlckFzc29jaWF0ZWRQdHIgPSBV
c2JEZXZpY2VNYW5hZ2VyQXNzb2NpYXRlZFB0cjsKLSAgZXhwb3J0cy5Vc2JEZXZpY2VNYW5hZ2Vy
Q2xpZW50ID0gVXNiRGV2aWNlTWFuYWdlckNsaWVudDsKLSAgZXhwb3J0cy5Vc2JEZXZpY2VNYW5h
Z2VyQ2xpZW50UHRyID0gVXNiRGV2aWNlTWFuYWdlckNsaWVudFB0cjsKLSAgZXhwb3J0cy5Vc2JE
ZXZpY2VNYW5hZ2VyQ2xpZW50QXNzb2NpYXRlZFB0ciA9IFVzYkRldmljZU1hbmFnZXJDbGllbnRB
c3NvY2lhdGVkUHRyOwotfSkoKTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy9jaHJvbWl1bS9kZXZpY2VfbWFuYWdlci5tb2pvbS5qcy5oZWFkZXJzIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vZGV2aWNl
X21hbmFnZXIubW9qb20uanMuaGVhZGVycwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
NjgwNWMzMjNkZjVhOTc1MjMxNjQ4YjgzMGUzM2NlMTgzYzNjYmJkMy4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS9kZXZpY2VfbWFuYWdlci5tb2pv
bS5qcy5oZWFkZXJzCisrKyAvZGV2L251bGwKQEAgLTEgKzAsMCBAQAotQ29udGVudC1UeXBlOiB0
ZXh0L2phdmFzY3JpcHQ7IGNoYXJzZXQ9dXRmLTgKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL21vam9fYmlu
ZGluZ3MuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy9jaHJvbWl1bS9tb2pvX2JpbmRpbmdzLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCA2N2Q2YTg4Mjg1NTFjMWY3MDNlZjI5ODMxNTkyZjJlNGQ4YTQyNDg1Li4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL21vam9fYmluZGlu
Z3MuanMKKysrIC9kZXYvbnVsbApAQCAtMSw1MTI5ICswLDAgQEAKLS8vIENvcHlyaWdodCAyMDE3
IFRoZSBDaHJvbWl1bSBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotLy8gVXNlIG9mIHRo
aXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZSB0aGF0IGNh
biBiZQotLy8gZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KLQotJ3VzZSBzdHJpY3QnOwotCi1p
ZiAobW9qbyAmJiBtb2pvLmludGVybmFsKSB7Ci0gIHRocm93IG5ldyBFcnJvcignVGhlIE1vam8g
YmluZGluZ3MgbGlicmFyeSBoYXMgYmVlbiBpbml0aWFsaXplZC4nKTsKLX0KLQotdmFyIG1vam8g
PSBtb2pvIHx8IHt9OwotbW9qby5pbnRlcm5hbCA9IHt9OwotbW9qby5pbnRlcm5hbC5nbG9iYWwg
PSB0aGlzOwotbW9qby5jb25maWcgPSB7Ci0gIC8vIFdoZXRoZXIgdG8gYXV0b21hdGljYWxseSBs
b2FkIG1vam9tIGRlcGVuZGVuY2llcy4KLSAgLy8gRm9yIGV4YW1wbGUsIGlmIGZvby5tb2pvbSBp
bXBvcnRzIGJhci5tb2pvbSwgfGF1dG9Mb2FkTW9qb21EZXBzfCBzZXQgdG8KLSAgLy8gdHJ1ZSBt
ZWFucyB0aGF0IGxvYWRpbmcgZm9vLm1vam9tLmpzIHdpbGwgaW5zZXJ0IGEgPHNjcmlwdD4gdGFn
IHRvIGxvYWQKLSAgLy8gYmFyLm1vam9tLmpzLCBpZiBpdCBoYXNuJ3QgYmVlbiBsb2FkZWQuCi0g
IC8vCi0gIC8vIFRoZSBVUkwgb2YgYmFyLm1vam9tLmpzIGlzIGRldGVybWluZWQgYnkgdGhlIHJl
bGF0aXZlIHBhdGggb2YgYmFyLm1vam9tCi0gIC8vIChyZWxhdGl2ZSB0byB0aGUgcG9zaXRpb24g
b2YgZm9vLm1vam9tIGF0IGJ1aWxkIHRpbWUpIGFuZCB0aGUgVVJMIG9mCi0gIC8vIGZvby5tb2pv
bS5qcy4gRm9yIGV4bXBsZSwgaWYgYXQgYnVpbGQgdGltZSB0aGUgdHdvIG1vam9tIGZpbGVzIGFy
ZQotICAvLyBsb2NhdGVkIGF0OgotICAvLyAgIGEvYi9jL2Zvby5tb2pvbQotICAvLyAgIGEvYi9k
L2Jhci5tb2pvbQotICAvLyBhbmQgdGhlIFVSTCBvZiBmb28ubW9qb20uanMgaXM6Ci0gIC8vICAg
aHR0cDovL2V4YW1wbGUub3JnL3NjcmlwdHMvYi9jL2Zvby5tb2pvbS5qcwotICAvLyB0aGVuIHRo
ZSBVUkwgb2YgYmFyLm1vam9tLmpzIHdpbGwgYmU6Ci0gIC8vICAgaHR0cDovL2V4YW1wbGUub3Jn
L3NjcmlwdHMvYi9kL2Jhci5tb2pvbS5qcwotICAvLwotICAvLyBJZiB5b3Ugd291bGQgbGlrZSBi
YXIubW9qb20uanMgdG8gbGl2ZSBhdCBhIGRpZmZlcmVudCBsb2NhdGlvbiwgeW91IG5lZWQKLSAg
Ly8gdG8gdHVybiBvZmYgfGF1dG9Mb2FkTW9qb21EZXBzfCBiZWZvcmUgbG9hZGluZyBmb28ubW9q
b20uanMsIGFuZCBtYW51YWxseQotICAvLyBsb2FkIGJhci5tb2pvbS5qcyB5b3Vyc2VsZi4gU2lt
aWxhcmx5LCB5b3UgbmVlZCB0byB0dXJuIG9mZiB0aGUgb3B0aW9uIGlmCi0gIC8vIHlvdSBtZXJn
ZSBiYXIubW9qb20uanMgYW5kIGZvby5tb2pvbS5qcyBpbnRvIGEgc2luZ2xlIGZpbGUuCi0gIC8v
Ci0gIC8vIFBlcmZvcm1hbmNlIHRpcDogQXZvaWQgbG9hZGluZyB0aGUgc2FtZSBtb2pvbS5qcyBm
aWxlIG11bHRpcGxlIHRpbWVzLgotICAvLyBBc3N1bWUgdGhhdCB8YXV0b0xvYWRNb2pvbURlcHN8
IGlzIHNldCB0byB0cnVlLAotICAvLwotICAvLyA8IS0tCi0gIC8vIChUaGlzIGNvbW1lbnQgdGFn
IGlzIG5lY2Vzc2FyeSBvbiBJT1MgdG8gYXZvaWQgaW50ZXJwcmV0aW5nIHRoZSBjbG9zaW5nCi0g
IC8vIHNjcmlwdCB0YWdzIGluIHRoZSBleGFtcGxlLikKLSAgLy8KLSAgLy8gTm8gZHVwbGljYXRl
IGxvYWRpbmc7IHJlY29tbWVuZGVkOgotICAvLyA8c2NyaXB0IHNyYz0iaHR0cDovL2V4YW1wbGUu
b3JnL3NjcmlwdHMvYi9jL2Zvby5tb2pvbS5qcyI+PC9zY3JpcHQ+Ci0gIC8vCi0gIC8vIE5vIGR1
cGxpY2F0ZSBsb2FkaW5nLCBhbHRob3VnaCB1bm5lY2Vzc2FyeToKLSAgLy8gPHNjcmlwdCBzcmM9
Imh0dHA6Ly9leGFtcGxlLm9yZy9zY3JpcHRzL2IvZC9iYXIubW9qb20uanMiPjwvc2NyaXB0Pgot
ICAvLyA8c2NyaXB0IHNyYz0iaHR0cDovL2V4YW1wbGUub3JnL3NjcmlwdHMvYi9jL2Zvby5tb2pv
bS5qcyI+PC9zY3JpcHQ+Ci0gIC8vCi0gIC8vIExvYWQgYmFyLm1vam9tLmpzIHR3aWNlOyBzaG91
bGQgYmUgYXZvaWRlZDoKLSAgLy8gPHNjcmlwdCBzcmM9Imh0dHA6Ly9leGFtcGxlLm9yZy9zY3Jp
cHRzL2IvYy9mb28ubW9qb20uanMiPjwvc2NyaXB0PgotICAvLyA8c2NyaXB0IHNyYz0iaHR0cDov
L2V4YW1wbGUub3JnL3NjcmlwdHMvYi9kL2Jhci5tb2pvbS5qcyI+PC9zY3JpcHQ+Ci0gIC8vCi0g
IC8vIC0tPgotICBhdXRvTG9hZE1vam9tRGVwczogdHJ1ZQotfTsKLQotKGZ1bmN0aW9uKCkgewot
ICB2YXIgaW50ZXJuYWwgPSBtb2pvLmludGVybmFsOwotCi0gIHZhciBMb2FkU3RhdGUgPSB7Ci0g
ICAgUEVORElOR19MT0FEOiAxLAotICAgIExPQURFRDogMgotICB9OwotCi0gIHZhciBtb2pvbVJl
Z2lzdHJ5ID0gbmV3IE1hcCgpOwotCi0gIGZ1bmN0aW9uIGV4cG9zZU5hbWVzcGFjZShuYW1lc3Bh
Y2UpIHsKLSAgICB2YXIgY3VycmVudCA9IGludGVybmFsLmdsb2JhbDsKLSAgICB2YXIgcGFydHMg
PSBuYW1lc3BhY2Uuc3BsaXQoJy4nKTsKLQotICAgIGZvciAodmFyIHBhcnQ7IHBhcnRzLmxlbmd0
aCAmJiAocGFydCA9IHBhcnRzLnNoaWZ0KCkpOykgewotICAgICAgaWYgKCFjdXJyZW50W3BhcnRd
KSB7Ci0gICAgICAgIGN1cnJlbnRbcGFydF0gPSB7fTsKLSAgICAgIH0KLSAgICAgIGN1cnJlbnQg
PSBjdXJyZW50W3BhcnRdOwotICAgIH0KLQotICAgIHJldHVybiBjdXJyZW50OwotICB9Ci0KLSAg
ZnVuY3Rpb24gaXNNb2pvbVBlbmRpbmdMb2FkKGlkKSB7Ci0gICAgcmV0dXJuIG1vam9tUmVnaXN0
cnkuZ2V0KGlkKSA9PT0gTG9hZFN0YXRlLlBFTkRJTkdfTE9BRDsKLSAgfQotCi0gIGZ1bmN0aW9u
IGlzTW9qb21Mb2FkZWQoaWQpIHsKLSAgICByZXR1cm4gbW9qb21SZWdpc3RyeS5nZXQoaWQpID09
PSBMb2FkU3RhdGUuTE9BREVEOwotICB9Ci0KLSAgZnVuY3Rpb24gbWFya01vam9tUGVuZGluZ0xv
YWQoaWQpIHsKLSAgICBpZiAoaXNNb2pvbUxvYWRlZChpZCkpIHsKLSAgICAgIHRocm93IG5ldyBF
cnJvcignVGhlIGZvbGxvd2luZyBtb2pvbSBmaWxlIGhhcyBiZWVuIGxvYWRlZDogJyArIGlkKTsK
LSAgICB9Ci0KLSAgICBtb2pvbVJlZ2lzdHJ5LnNldChpZCwgTG9hZFN0YXRlLlBFTkRJTkdfTE9B
RCk7Ci0gIH0KLQotICBmdW5jdGlvbiBtYXJrTW9qb21Mb2FkZWQoaWQpIHsKLSAgICBtb2pvbVJl
Z2lzdHJ5LnNldChpZCwgTG9hZFN0YXRlLkxPQURFRCk7Ci0gIH0KLQotICBmdW5jdGlvbiBsb2Fk
TW9qb21JZk5lY2Vzc2FyeShpZCwgcmVsYXRpdmVQYXRoKSB7Ci0gICAgaWYgKG1vam9tUmVnaXN0
cnkuaGFzKGlkKSkgewotICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIGlmIChpbnRlcm5hbC5n
bG9iYWwuZG9jdW1lbnQgPT09IHVuZGVmaW5lZCkgewotICAgICAgdGhyb3cgbmV3IEVycm9yKAot
ICAgICAgICAgICdNb2pvbSBkZXBlbmRlbmN5IGF1dG9sb2FkaW5nIGlzIG5vdCBpbXBsZW1lbnRl
ZCBpbiB3b3JrZXJzLiAnICsKLSAgICAgICAgICAnUGxlYXNlIHNlZSBjb25maWcgdmFyaWFibGUg
bW9qby5jb25maWcuYXV0b0xvYWRNb2pvbURlcHMgZm9yIG1vcmUgJyArCi0gICAgICAgICAgJ2Rl
dGFpbHMuJyk7Ci0gICAgfQotCi0gICAgbWFya01vam9tUGVuZGluZ0xvYWQoaWQpOwotICAgIHZh
ciB1cmwgPSBuZXcgVVJMKHJlbGF0aXZlUGF0aCwgZG9jdW1lbnQuY3VycmVudFNjcmlwdC5zcmMp
LmhyZWY7Ci0gICAgaW50ZXJuYWwuZ2xvYmFsLmRvY3VtZW50LndyaXRlKCc8c2NyaXB0IHR5cGU9
InRleHQvamF2YXNjcmlwdCIgc3JjPSInICsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdXJsICsgJyI+PCcgKyAnL3NjcmlwdD4nKTsKLSAgfQotCi0gIGludGVybmFsLmV4cG9z
ZU5hbWVzcGFjZSA9IGV4cG9zZU5hbWVzcGFjZTsKLSAgaW50ZXJuYWwuaXNNb2pvbVBlbmRpbmdM
b2FkID0gaXNNb2pvbVBlbmRpbmdMb2FkOwotICBpbnRlcm5hbC5pc01vam9tTG9hZGVkID0gaXNN
b2pvbUxvYWRlZDsKLSAgaW50ZXJuYWwubWFya01vam9tUGVuZGluZ0xvYWQgPSBtYXJrTW9qb21Q
ZW5kaW5nTG9hZDsKLSAgaW50ZXJuYWwubWFya01vam9tTG9hZGVkID0gbWFya01vam9tTG9hZGVk
OwotICBpbnRlcm5hbC5sb2FkTW9qb21JZk5lY2Vzc2FyeSA9IGxvYWRNb2pvbUlmTmVjZXNzYXJ5
OwotfSkoKTsKLS8vIENvcHlyaWdodCAyMDE3IFRoZSBDaHJvbWl1bSBBdXRob3JzLiBBbGwgcmln
aHRzIHJlc2VydmVkLgotLy8gVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkg
YSBCU0Qtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQotLy8gZm91bmQgaW4gdGhlIExJQ0VOU0Ug
ZmlsZS4KLQotKGZ1bmN0aW9uKCkgewotICB2YXIgaW50ZXJuYWwgPSBtb2pvLmludGVybmFsOwot
Ci0gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotCi0gIC8vIHxvdXRwdXR8IGNvdWxkIGJlIGFuIGlu
dGVyZmFjZSBwb2ludGVyLCBJbnRlcmZhY2VQdHJJbmZvIG9yCi0gIC8vIEFzc29jaWF0ZWRJbnRl
cmZhY2VQdHJJbmZvLgotICBmdW5jdGlvbiBtYWtlUmVxdWVzdChvdXRwdXQpIHsKLSAgICBpZiAo
b3V0cHV0IGluc3RhbmNlb2YgbW9qby5Bc3NvY2lhdGVkSW50ZXJmYWNlUHRySW5mbykgewotICAg
ICAgdmFyIHtoYW5kbGUwLCBoYW5kbGUxfSA9IGludGVybmFsLmNyZWF0ZVBhaXJQZW5kaW5nQXNz
b2NpYXRpb24oKTsKLSAgICAgIG91dHB1dC5pbnRlcmZhY2VFbmRwb2ludEhhbmRsZSA9IGhhbmRs
ZTA7Ci0gICAgICBvdXRwdXQudmVyc2lvbiA9IDA7Ci0KLSAgICAgIHJldHVybiBuZXcgbW9qby5B
c3NvY2lhdGVkSW50ZXJmYWNlUmVxdWVzdChoYW5kbGUxKTsKLSAgICB9Ci0KLSAgICBpZiAob3V0
cHV0IGluc3RhbmNlb2YgbW9qby5JbnRlcmZhY2VQdHJJbmZvKSB7Ci0gICAgICB2YXIgcGlwZSA9
IE1vam8uY3JlYXRlTWVzc2FnZVBpcGUoKTsKLSAgICAgIG91dHB1dC5oYW5kbGUgPSBwaXBlLmhh
bmRsZTA7Ci0gICAgICBvdXRwdXQudmVyc2lvbiA9IDA7Ci0KLSAgICAgIHJldHVybiBuZXcgbW9q
by5JbnRlcmZhY2VSZXF1ZXN0KHBpcGUuaGFuZGxlMSk7Ci0gICAgfQotCi0gICAgdmFyIHBpcGUg
PSBNb2pvLmNyZWF0ZU1lc3NhZ2VQaXBlKCk7Ci0gICAgb3V0cHV0LnB0ci5iaW5kKG5ldyBtb2pv
LkludGVyZmFjZVB0ckluZm8ocGlwZS5oYW5kbGUwLCAwKSk7Ci0gICAgcmV0dXJuIG5ldyBtb2pv
LkludGVyZmFjZVJlcXVlc3QocGlwZS5oYW5kbGUxKTsKLSAgfQotCi0gIC8vIC0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLQotCi0gIC8vIE9wZXJhdGlvbnMgdXNlZCB0byBzZXR1cC9jb25maWd1cmUgYW4gaW50
ZXJmYWNlIHBvaW50ZXIuIEV4cG9zZWQgYXMgdGhlCi0gIC8vIHxwdHJ8IGZpZWxkIG9mIGdlbmVy
YXRlZCBpbnRlcmZhY2UgcG9pbnRlciBjbGFzc2VzLgotICAvLyB8cHRySW5mb09ySGFuZGxlfCBj
b3VsZCBiZSBvbWl0dGVkIGFuZCBwYXNzZWQgaW50byBiaW5kKCkgbGF0ZXIuCi0gIGZ1bmN0aW9u
IEludGVyZmFjZVB0ckNvbnRyb2xsZXIoaW50ZXJmYWNlVHlwZSwgcHRySW5mb09ySGFuZGxlKSB7
Ci0gICAgdGhpcy52ZXJzaW9uID0gMDsKLQotICAgIHRoaXMuaW50ZXJmYWNlVHlwZV8gPSBpbnRl
cmZhY2VUeXBlOwotICAgIHRoaXMucm91dGVyXyA9IG51bGw7Ci0gICAgdGhpcy5pbnRlcmZhY2VF
bmRwb2ludENsaWVudF8gPSBudWxsOwotICAgIHRoaXMucHJveHlfID0gbnVsbDsKLQotICAgIC8v
IHxyb3V0ZXJffCBhbmQgfGludGVyZmFjZUVuZHBvaW50Q2xpZW50X3wgYXJlIGxhemlseSBpbml0
aWFsaXplZC4KLSAgICAvLyB8aGFuZGxlX3wgaXMgdmFsaWQgYmV0d2VlbiBiaW5kKCkgYW5kCi0g
ICAgLy8gdGhlIGluaXRpYWxpemF0aW9uIG9mIHxyb3V0ZXJffCBhbmQgfGludGVyZmFjZUVuZHBv
aW50Q2xpZW50X3wuCi0gICAgdGhpcy5oYW5kbGVfID0gbnVsbDsKLQotICAgIGlmIChwdHJJbmZv
T3JIYW5kbGUpCi0gICAgICB0aGlzLmJpbmQocHRySW5mb09ySGFuZGxlKTsKLSAgfQotCi0gIElu
dGVyZmFjZVB0ckNvbnRyb2xsZXIucHJvdG90eXBlLmJpbmQgPSBmdW5jdGlvbihwdHJJbmZvT3JI
YW5kbGUpIHsKLSAgICB0aGlzLnJlc2V0KCk7Ci0KLSAgICBpZiAocHRySW5mb09ySGFuZGxlIGlu
c3RhbmNlb2YgbW9qby5JbnRlcmZhY2VQdHJJbmZvKSB7Ci0gICAgICB0aGlzLnZlcnNpb24gPSBw
dHJJbmZvT3JIYW5kbGUudmVyc2lvbjsKLSAgICAgIHRoaXMuaGFuZGxlXyA9IHB0ckluZm9Pckhh
bmRsZS5oYW5kbGU7Ci0gICAgfSBlbHNlIHsKLSAgICAgIHRoaXMuaGFuZGxlXyA9IHB0ckluZm9P
ckhhbmRsZTsKLSAgICB9Ci0gIH07Ci0KLSAgSW50ZXJmYWNlUHRyQ29udHJvbGxlci5wcm90b3R5
cGUuaXNCb3VuZCA9IGZ1bmN0aW9uKCkgewotICAgIHJldHVybiB0aGlzLmludGVyZmFjZUVuZHBv
aW50Q2xpZW50XyAhPT0gbnVsbCB8fCB0aGlzLmhhbmRsZV8gIT09IG51bGw7Ci0gIH07Ci0KLSAg
Ly8gQWx0aG91Z2ggdXNlcnMgY291bGQganVzdCBkaXNjYXJkIHRoZSBvYmplY3QsIHJlc2V0KCkg
Y2xvc2VzIHRoZSBwaXBlCi0gIC8vIGltbWVkaWF0ZWx5LgotICBJbnRlcmZhY2VQdHJDb250cm9s
bGVyLnByb3RvdHlwZS5yZXNldCA9IGZ1bmN0aW9uKCkgewotICAgIHRoaXMudmVyc2lvbiA9IDA7
Ci0gICAgaWYgKHRoaXMuaW50ZXJmYWNlRW5kcG9pbnRDbGllbnRfKSB7Ci0gICAgICB0aGlzLmlu
dGVyZmFjZUVuZHBvaW50Q2xpZW50Xy5jbG9zZSgpOwotICAgICAgdGhpcy5pbnRlcmZhY2VFbmRw
b2ludENsaWVudF8gPSBudWxsOwotICAgIH0KLSAgICBpZiAodGhpcy5yb3V0ZXJfKSB7Ci0gICAg
ICB0aGlzLnJvdXRlcl8uY2xvc2UoKTsKLSAgICAgIHRoaXMucm91dGVyXyA9IG51bGw7Ci0KLSAg
ICAgIHRoaXMucHJveHlfID0gbnVsbDsKLSAgICB9Ci0gICAgaWYgKHRoaXMuaGFuZGxlXykgewot
ICAgICAgdGhpcy5oYW5kbGVfLmNsb3NlKCk7Ci0gICAgICB0aGlzLmhhbmRsZV8gPSBudWxsOwot
ICAgIH0KLSAgfTsKLQotICBJbnRlcmZhY2VQdHJDb250cm9sbGVyLnByb3RvdHlwZS5yZXNldFdp
dGhSZWFzb24gPSBmdW5jdGlvbihyZWFzb24pIHsKLSAgICBpZiAodGhpcy5pc0JvdW5kKCkpIHsK
LSAgICAgIHRoaXMuY29uZmlndXJlUHJveHlJZk5lY2Vzc2FyeV8oKTsKLSAgICAgIHRoaXMuaW50
ZXJmYWNlRW5kcG9pbnRDbGllbnRfLmNsb3NlKHJlYXNvbik7Ci0gICAgICB0aGlzLmludGVyZmFj
ZUVuZHBvaW50Q2xpZW50XyA9IG51bGw7Ci0gICAgfQotICAgIHRoaXMucmVzZXQoKTsKLSAgfTsK
LQotICBJbnRlcmZhY2VQdHJDb250cm9sbGVyLnByb3RvdHlwZS5zZXRDb25uZWN0aW9uRXJyb3JI
YW5kbGVyID0gZnVuY3Rpb24oCi0gICAgICBjYWxsYmFjaykgewotICAgIGlmICghdGhpcy5pc0Jv
dW5kKCkpCi0gICAgICB0aHJvdyBuZXcgRXJyb3IoIkNhbm5vdCBzZXQgY29ubmVjdGlvbiBlcnJv
ciBoYW5kbGVyIGlmIG5vdCBib3VuZC4iKTsKLQotICAgIHRoaXMuY29uZmlndXJlUHJveHlJZk5l
Y2Vzc2FyeV8oKTsKLSAgICB0aGlzLmludGVyZmFjZUVuZHBvaW50Q2xpZW50Xy5zZXRDb25uZWN0
aW9uRXJyb3JIYW5kbGVyKGNhbGxiYWNrKTsKLSAgfTsKLQotICBJbnRlcmZhY2VQdHJDb250cm9s
bGVyLnByb3RvdHlwZS5wYXNzSW50ZXJmYWNlID0gZnVuY3Rpb24oKSB7Ci0gICAgdmFyIHJlc3Vs
dDsKLSAgICBpZiAodGhpcy5yb3V0ZXJfKSB7Ci0gICAgICAvLyBUT0RPKHl6c2hlbik6IEZpeCBS
b3V0ZXIgaW50ZXJmYWNlIHRvIHN1cHBvcnQgZXh0cmFjdGluZyBoYW5kbGUuCi0gICAgICByZXN1
bHQgPSBuZXcgbW9qby5JbnRlcmZhY2VQdHJJbmZvKAotICAgICAgICAgIHRoaXMucm91dGVyXy5j
b25uZWN0b3JfLmhhbmRsZV8sIHRoaXMudmVyc2lvbik7Ci0gICAgICB0aGlzLnJvdXRlcl8uY29u
bmVjdG9yXy5oYW5kbGVfID0gbnVsbDsKLSAgICB9IGVsc2UgewotICAgICAgLy8gVGhpcyBhbHNv
IGhhbmRsZXMgdGhlIGNhc2Ugd2hlbiB0aGlzIG9iamVjdCBpcyBub3QgYm91bmQuCi0gICAgICBy
ZXN1bHQgPSBuZXcgbW9qby5JbnRlcmZhY2VQdHJJbmZvKHRoaXMuaGFuZGxlXywgdGhpcy52ZXJz
aW9uKTsKLSAgICAgIHRoaXMuaGFuZGxlXyA9IG51bGw7Ci0gICAgfQotCi0gICAgdGhpcy5yZXNl
dCgpOwotICAgIHJldHVybiByZXN1bHQ7Ci0gIH07Ci0KLSAgSW50ZXJmYWNlUHRyQ29udHJvbGxl
ci5wcm90b3R5cGUuZ2V0UHJveHkgPSBmdW5jdGlvbigpIHsKLSAgICB0aGlzLmNvbmZpZ3VyZVBy
b3h5SWZOZWNlc3NhcnlfKCk7Ci0gICAgcmV0dXJuIHRoaXMucHJveHlfOwotICB9OwotCi0gIElu
dGVyZmFjZVB0ckNvbnRyb2xsZXIucHJvdG90eXBlLmNvbmZpZ3VyZVByb3h5SWZOZWNlc3Nhcnlf
ID0gZnVuY3Rpb24oKSB7Ci0gICAgaWYgKCF0aGlzLmhhbmRsZV8pCi0gICAgICByZXR1cm47Ci0K
LSAgICB0aGlzLnJvdXRlcl8gPSBuZXcgaW50ZXJuYWwuUm91dGVyKHRoaXMuaGFuZGxlXywgdHJ1
ZSk7Ci0gICAgdGhpcy5oYW5kbGVfID0gbnVsbDsKLQotICAgIHRoaXMuaW50ZXJmYWNlRW5kcG9p
bnRDbGllbnRfID0gbmV3IGludGVybmFsLkludGVyZmFjZUVuZHBvaW50Q2xpZW50KAotICAgICAg
ICB0aGlzLnJvdXRlcl8uY3JlYXRlTG9jYWxFbmRwb2ludEhhbmRsZShpbnRlcm5hbC5rTWFzdGVy
SW50ZXJmYWNlSWQpKTsKLQotICAgIHRoaXMuaW50ZXJmYWNlRW5kcG9pbnRDbGllbnRfIC5zZXRQ
YXlsb2FkVmFsaWRhdG9ycyhbCi0gICAgICAgIHRoaXMuaW50ZXJmYWNlVHlwZV8udmFsaWRhdGVS
ZXNwb25zZV0pOwotICAgIHRoaXMucHJveHlfID0gbmV3IHRoaXMuaW50ZXJmYWNlVHlwZV8ucHJv
eHlDbGFzcygKLSAgICAgICAgdGhpcy5pbnRlcmZhY2VFbmRwb2ludENsaWVudF8pOwotICB9Owot
Ci0gIEludGVyZmFjZVB0ckNvbnRyb2xsZXIucHJvdG90eXBlLnF1ZXJ5VmVyc2lvbiA9IGZ1bmN0
aW9uKCkgewotICAgIGZ1bmN0aW9uIG9uUXVlcnlWZXJzaW9uKHZlcnNpb24pIHsKLSAgICAgIHRo
aXMudmVyc2lvbiA9IHZlcnNpb247Ci0gICAgICByZXR1cm4gdmVyc2lvbjsKLSAgICB9Ci0KLSAg
ICB0aGlzLmNvbmZpZ3VyZVByb3h5SWZOZWNlc3NhcnlfKCk7Ci0gICAgcmV0dXJuIHRoaXMuaW50
ZXJmYWNlRW5kcG9pbnRDbGllbnRfLnF1ZXJ5VmVyc2lvbigpLnRoZW4oCi0gICAgICBvblF1ZXJ5
VmVyc2lvbi5iaW5kKHRoaXMpKTsKLSAgfTsKLQotICBJbnRlcmZhY2VQdHJDb250cm9sbGVyLnBy
b3RvdHlwZS5yZXF1aXJlVmVyc2lvbiA9IGZ1bmN0aW9uKHZlcnNpb24pIHsKLSAgICB0aGlzLmNv
bmZpZ3VyZVByb3h5SWZOZWNlc3NhcnlfKCk7Ci0KLSAgICBpZiAodGhpcy52ZXJzaW9uID49IHZl
cnNpb24pIHsKLSAgICAgIHJldHVybjsKLSAgICB9Ci0gICAgdGhpcy52ZXJzaW9uID0gdmVyc2lv
bjsKLSAgICB0aGlzLmludGVyZmFjZUVuZHBvaW50Q2xpZW50Xy5yZXF1aXJlVmVyc2lvbih2ZXJz
aW9uKTsKLSAgfTsKLQotICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLQotICAvLyB8cmVxdWVzdHwg
Y291bGQgYmUgb21pdHRlZCBhbmQgcGFzc2VkIGludG8gYmluZCgpIGxhdGVyLgotICAvLwotICAv
LyBFeGFtcGxlOgotICAvLwotICAvLyAgICAvLyBGb29JbXBsIGltcGxlbWVudHMgbW9qb20uRm9v
LgotICAvLyAgICBmdW5jdGlvbiBGb29JbXBsKCkgeyAuLi4gfQotICAvLyAgICBGb29JbXBsLnBy
b3RvdHlwZS5mb29NZXRob2QxID0gZnVuY3Rpb24oKSB7IC4uLiB9Ci0gIC8vICAgIEZvb0ltcGwu
cHJvdG90eXBlLmZvb01ldGhvZDIgPSBmdW5jdGlvbigpIHsgLi4uIH0KLSAgLy8KLSAgLy8gICAg
dmFyIGZvb1B0ciA9IG5ldyBtb2pvbS5Gb29QdHIoKTsKLSAgLy8gICAgdmFyIHJlcXVlc3QgPSBt
YWtlUmVxdWVzdChmb29QdHIpOwotICAvLyAgICB2YXIgYmluZGluZyA9IG5ldyBCaW5kaW5nKG1v
am9tLkZvbywgbmV3IEZvb0ltcGwoKSwgcmVxdWVzdCk7Ci0gIC8vICAgIGZvb1B0ci5mb29NZXRo
b2QxKCk7Ci0gIGZ1bmN0aW9uIEJpbmRpbmcoaW50ZXJmYWNlVHlwZSwgaW1wbCwgcmVxdWVzdE9y
SGFuZGxlKSB7Ci0gICAgdGhpcy5pbnRlcmZhY2VUeXBlXyA9IGludGVyZmFjZVR5cGU7Ci0gICAg
dGhpcy5pbXBsXyA9IGltcGw7Ci0gICAgdGhpcy5yb3V0ZXJfID0gbnVsbDsKLSAgICB0aGlzLmlu
dGVyZmFjZUVuZHBvaW50Q2xpZW50XyA9IG51bGw7Ci0gICAgdGhpcy5zdHViXyA9IG51bGw7Ci0K
LSAgICBpZiAocmVxdWVzdE9ySGFuZGxlKQotICAgICAgdGhpcy5iaW5kKHJlcXVlc3RPckhhbmRs
ZSk7Ci0gIH0KLQotICBCaW5kaW5nLnByb3RvdHlwZS5pc0JvdW5kID0gZnVuY3Rpb24oKSB7Ci0g
ICAgcmV0dXJuIHRoaXMucm91dGVyXyAhPT0gbnVsbDsKLSAgfTsKLQotICBCaW5kaW5nLnByb3Rv
dHlwZS5jcmVhdGVJbnRlcmZhY2VQdHJBbmRCaW5kID0gZnVuY3Rpb24oKSB7Ci0gICAgdmFyIHB0
ciA9IG5ldyB0aGlzLmludGVyZmFjZVR5cGVfLnB0ckNsYXNzKCk7Ci0gICAgLy8gVE9ETyh5enNo
ZW4pOiBTZXQgdGhlIHZlcnNpb24gb2YgdGhlIGludGVyZmFjZSBwb2ludGVyLgotICAgIHRoaXMu
YmluZChtYWtlUmVxdWVzdChwdHIpKTsKLSAgICByZXR1cm4gcHRyOwotICB9OwotCi0gIEJpbmRp
bmcucHJvdG90eXBlLmJpbmQgPSBmdW5jdGlvbihyZXF1ZXN0T3JIYW5kbGUpIHsKLSAgICB0aGlz
LmNsb3NlKCk7Ci0KLSAgICB2YXIgaGFuZGxlID0gcmVxdWVzdE9ySGFuZGxlIGluc3RhbmNlb2Yg
bW9qby5JbnRlcmZhY2VSZXF1ZXN0ID8KLSAgICAgICAgcmVxdWVzdE9ySGFuZGxlLmhhbmRsZSA6
IHJlcXVlc3RPckhhbmRsZTsKLSAgICBpZiAoIShoYW5kbGUgaW5zdGFuY2VvZiBNb2pvSGFuZGxl
KSkKLSAgICAgIHJldHVybjsKLQotICAgIHRoaXMucm91dGVyXyA9IG5ldyBpbnRlcm5hbC5Sb3V0
ZXIoaGFuZGxlKTsKLQotICAgIHRoaXMuc3R1Yl8gPSBuZXcgdGhpcy5pbnRlcmZhY2VUeXBlXy5z
dHViQ2xhc3ModGhpcy5pbXBsXyk7Ci0gICAgdGhpcy5pbnRlcmZhY2VFbmRwb2ludENsaWVudF8g
PSBuZXcgaW50ZXJuYWwuSW50ZXJmYWNlRW5kcG9pbnRDbGllbnQoCi0gICAgICAgIHRoaXMucm91
dGVyXy5jcmVhdGVMb2NhbEVuZHBvaW50SGFuZGxlKGludGVybmFsLmtNYXN0ZXJJbnRlcmZhY2VJ
ZCksCi0gICAgICAgIHRoaXMuc3R1Yl8sIHRoaXMuaW50ZXJmYWNlVHlwZV8ua1ZlcnNpb24pOwot
Ci0gICAgdGhpcy5pbnRlcmZhY2VFbmRwb2ludENsaWVudF8gLnNldFBheWxvYWRWYWxpZGF0b3Jz
KFsKLSAgICAgICAgdGhpcy5pbnRlcmZhY2VUeXBlXy52YWxpZGF0ZVJlcXVlc3RdKTsKLSAgfTsK
LQotICBCaW5kaW5nLnByb3RvdHlwZS5jbG9zZSA9IGZ1bmN0aW9uKCkgewotICAgIGlmICghdGhp
cy5pc0JvdW5kKCkpCi0gICAgICByZXR1cm47Ci0KLSAgICBpZiAodGhpcy5pbnRlcmZhY2VFbmRw
b2ludENsaWVudF8pIHsKLSAgICAgIHRoaXMuaW50ZXJmYWNlRW5kcG9pbnRDbGllbnRfLmNsb3Nl
KCk7Ci0gICAgICB0aGlzLmludGVyZmFjZUVuZHBvaW50Q2xpZW50XyA9IG51bGw7Ci0gICAgfQot
Ci0gICAgdGhpcy5yb3V0ZXJfLmNsb3NlKCk7Ci0gICAgdGhpcy5yb3V0ZXJfID0gbnVsbDsKLSAg
ICB0aGlzLnN0dWJfID0gbnVsbDsKLSAgfTsKLQotICBCaW5kaW5nLnByb3RvdHlwZS5jbG9zZVdp
dGhSZWFzb24gPSBmdW5jdGlvbihyZWFzb24pIHsKLSAgICBpZiAodGhpcy5pbnRlcmZhY2VFbmRw
b2ludENsaWVudF8pIHsKLSAgICAgIHRoaXMuaW50ZXJmYWNlRW5kcG9pbnRDbGllbnRfLmNsb3Nl
KHJlYXNvbik7Ci0gICAgICB0aGlzLmludGVyZmFjZUVuZHBvaW50Q2xpZW50XyA9IG51bGw7Ci0g
ICAgfQotICAgIHRoaXMuY2xvc2UoKTsKLSAgfTsKLQotICBCaW5kaW5nLnByb3RvdHlwZS5zZXRD
b25uZWN0aW9uRXJyb3JIYW5kbGVyID0gZnVuY3Rpb24oY2FsbGJhY2spIHsKLSAgICBpZiAoIXRo
aXMuaXNCb3VuZCgpKSB7Ci0gICAgICB0aHJvdyBuZXcgRXJyb3IoIkNhbm5vdCBzZXQgY29ubmVj
dGlvbiBlcnJvciBoYW5kbGVyIGlmIG5vdCBib3VuZC4iKTsKLSAgICB9Ci0gICAgdGhpcy5pbnRl
cmZhY2VFbmRwb2ludENsaWVudF8uc2V0Q29ubmVjdGlvbkVycm9ySGFuZGxlcihjYWxsYmFjayk7
Ci0gIH07Ci0KLSAgQmluZGluZy5wcm90b3R5cGUudW5iaW5kID0gZnVuY3Rpb24oKSB7Ci0gICAg
aWYgKCF0aGlzLmlzQm91bmQoKSkKLSAgICAgIHJldHVybiBuZXcgbW9qby5JbnRlcmZhY2VSZXF1
ZXN0KG51bGwpOwotCi0gICAgdmFyIHJlc3VsdCA9IG5ldyBtb2pvLkludGVyZmFjZVJlcXVlc3Qo
dGhpcy5yb3V0ZXJfLmNvbm5lY3Rvcl8uaGFuZGxlXyk7Ci0gICAgdGhpcy5yb3V0ZXJfLmNvbm5l
Y3Rvcl8uaGFuZGxlXyA9IG51bGw7Ci0gICAgdGhpcy5jbG9zZSgpOwotICAgIHJldHVybiByZXN1
bHQ7Ci0gIH07Ci0KLSAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0KLSAgZnVuY3Rpb24gQmluZGlu
Z1NldEVudHJ5KGJpbmRpbmdTZXQsIGludGVyZmFjZVR5cGUsIGJpbmRpbmdUeXBlLCBpbXBsLAot
ICAgICAgcmVxdWVzdE9ySGFuZGxlLCBiaW5kaW5nSWQpIHsKLSAgICB0aGlzLmJpbmRpbmdTZXRf
ID0gYmluZGluZ1NldDsKLSAgICB0aGlzLmJpbmRpbmdJZF8gPSBiaW5kaW5nSWQ7Ci0gICAgdGhp
cy5iaW5kaW5nXyA9IG5ldyBiaW5kaW5nVHlwZShpbnRlcmZhY2VUeXBlLCBpbXBsLAotICAgICAg
ICByZXF1ZXN0T3JIYW5kbGUpOwotCi0gICAgdGhpcy5iaW5kaW5nXy5zZXRDb25uZWN0aW9uRXJy
b3JIYW5kbGVyKGZ1bmN0aW9uKHJlYXNvbikgewotICAgICAgdGhpcy5iaW5kaW5nU2V0Xy5vbkNv
bm5lY3Rpb25FcnJvcihiaW5kaW5nSWQsIHJlYXNvbik7Ci0gICAgfS5iaW5kKHRoaXMpKTsKLSAg
fQotCi0gIEJpbmRpbmdTZXRFbnRyeS5wcm90b3R5cGUuY2xvc2UgPSBmdW5jdGlvbigpIHsKLSAg
ICB0aGlzLmJpbmRpbmdfLmNsb3NlKCk7Ci0gIH07Ci0KLSAgZnVuY3Rpb24gQmluZGluZ1NldChp
bnRlcmZhY2VUeXBlKSB7Ci0gICAgdGhpcy5pbnRlcmZhY2VUeXBlXyA9IGludGVyZmFjZVR5cGU7
Ci0gICAgdGhpcy5uZXh0QmluZGluZ0lkXyA9IDA7Ci0gICAgdGhpcy5iaW5kaW5nc18gPSBuZXcg
TWFwKCk7Ci0gICAgdGhpcy5lcnJvckhhbmRsZXJfID0gbnVsbDsKLSAgICB0aGlzLmJpbmRpbmdU
eXBlXyA9IEJpbmRpbmc7Ci0gIH0KLQotICBCaW5kaW5nU2V0LnByb3RvdHlwZS5pc0VtcHR5ID0g
ZnVuY3Rpb24oKSB7Ci0gICAgcmV0dXJuIHRoaXMuYmluZGluZ3NfLnNpemUgPT0gMDsKLSAgfTsK
LQotICBCaW5kaW5nU2V0LnByb3RvdHlwZS5hZGRCaW5kaW5nID0gZnVuY3Rpb24oaW1wbCwgcmVx
dWVzdE9ySGFuZGxlKSB7Ci0gICAgdGhpcy5iaW5kaW5nc18uc2V0KAotICAgICAgICB0aGlzLm5l
eHRCaW5kaW5nSWRfLAotICAgICAgICBuZXcgQmluZGluZ1NldEVudHJ5KHRoaXMsIHRoaXMuaW50
ZXJmYWNlVHlwZV8sIHRoaXMuYmluZGluZ1R5cGVfLCBpbXBsLAotICAgICAgICAgICAgcmVxdWVz
dE9ySGFuZGxlLCB0aGlzLm5leHRCaW5kaW5nSWRfKSk7Ci0gICAgKyt0aGlzLm5leHRCaW5kaW5n
SWRfOwotICB9OwotCi0gIEJpbmRpbmdTZXQucHJvdG90eXBlLmNsb3NlQWxsQmluZGluZ3MgPSBm
dW5jdGlvbigpIHsKLSAgICBmb3IgKHZhciBlbnRyeSBvZiB0aGlzLmJpbmRpbmdzXy52YWx1ZXMo
KSkKLSAgICAgIGVudHJ5LmNsb3NlKCk7Ci0gICAgdGhpcy5iaW5kaW5nc18uY2xlYXIoKTsKLSAg
fTsKLQotICBCaW5kaW5nU2V0LnByb3RvdHlwZS5zZXRDb25uZWN0aW9uRXJyb3JIYW5kbGVyID0g
ZnVuY3Rpb24oY2FsbGJhY2spIHsKLSAgICB0aGlzLmVycm9ySGFuZGxlcl8gPSBjYWxsYmFjazsK
LSAgfTsKLQotICBCaW5kaW5nU2V0LnByb3RvdHlwZS5vbkNvbm5lY3Rpb25FcnJvciA9IGZ1bmN0
aW9uKGJpbmRpbmdJZCwgcmVhc29uKSB7Ci0gICAgdGhpcy5iaW5kaW5nc18uZGVsZXRlKGJpbmRp
bmdJZCk7Ci0KLSAgICBpZiAodGhpcy5lcnJvckhhbmRsZXJfKQotICAgICAgdGhpcy5lcnJvckhh
bmRsZXJfKHJlYXNvbik7Ci0gIH07Ci0KLSAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0KLSAgLy8g
T3BlcmF0aW9ucyB1c2VkIHRvIHNldHVwL2NvbmZpZ3VyZSBhbiBhc3NvY2lhdGVkIGludGVyZmFj
ZSBwb2ludGVyLgotICAvLyBFeHBvc2VkIGFzIHxwdHJ8IGZpZWxkIG9mIGdlbmVyYXRlZCBhc3Nv
Y2lhdGVkIGludGVyZmFjZSBwb2ludGVyIGNsYXNzZXMuCi0gIC8vIHxhc3NvY2lhdGVkUHRySW5m
b3wgY291bGQgYmUgb21pdHRlZCBhbmQgcGFzc2VkIGludG8gYmluZCgpIGxhdGVyLgotICAvLwot
ICAvLyBFeGFtcGxlOgotICAvLyAgICAvLyBJbnRlZ2VyU2VuZGVySW1wbCBpbXBsZW1lbnRzIG1v
am9tLkludGVnZXJTZW5kZXIKLSAgLy8gICAgZnVuY3Rpb24gSW50ZWdlclNlbmRlckltcGwoKSB7
IC4uLiB9Ci0gIC8vICAgIEludGVnZXJTZW5kZXJJbXBsLnByb3RvdHlwZS5lY2hvID0gZnVuY3Rp
b24oKSB7IC4uLiB9Ci0gIC8vCi0gIC8vICAgIC8vIEludGVnZXJTZW5kZXJDb25uZWN0aW9uSW1w
bCBpbXBsZW1lbnRzIG1vam9tLkludGVnZXJTZW5kZXJDb25uZWN0aW9uCi0gIC8vICAgIGZ1bmN0
aW9uIEludGVnZXJTZW5kZXJDb25uZWN0aW9uSW1wbCgpIHsKLSAgLy8gICAgICB0aGlzLnNlbmRl
ckJpbmRpbmdfID0gbnVsbDsKLSAgLy8gICAgfQotICAvLyAgICBJbnRlZ2VyU2VuZGVyQ29ubmVj
dGlvbkltcGwucHJvdG90eXBlLmdldFNlbmRlciA9IGZ1bmN0aW9uKAotICAvLyAgICAgICAgYXNz
b2NpYXRlZFJlcXVlc3QpIHsKLSAgLy8gICAgICB0aGlzLnNlbmRlckJpbmRpbmdfID0gbmV3IEFz
c29jaWF0ZWRCaW5kaW5nKG1vam9tLkludGVnZXJTZW5kZXIsCi0gIC8vICAgICAgICAgIG5ldyBJ
bnRlZ2VyU2VuZGVySW1wbCgpLAotICAvLyAgICAgICAgICBhc3NvY2lhdGVkUmVxdWVzdCk7Ci0g
IC8vICAgIH0KLSAgLy8KLSAgLy8gICAgdmFyIGludGVnZXJTZW5kZXJDb25uZWN0aW9uID0gbmV3
IG1vam9tLkludGVnZXJTZW5kZXJDb25uZWN0aW9uUHRyKCk7Ci0gIC8vICAgIHZhciBpbnRlZ2Vy
U2VuZGVyQ29ubmVjdGlvbkJpbmRpbmcgPSBuZXcgQmluZGluZygKLSAgLy8gICAgICAgIG1vam9t
LkludGVnZXJTZW5kZXJDb25uZWN0aW9uLAotICAvLyAgICAgICAgbmV3IEludGVnZXJTZW5kZXJD
b25uZWN0aW9uSW1wbCgpLAotICAvLyAgICAgICAgbW9qby5tYWtlUmVxdWVzdChpbnRlZ2VyU2Vu
ZGVyQ29ubmVjdGlvbikpOwotICAvLwotICAvLyAgICAvLyBBIGxvY2FsbHktY3JlYXRlZCBhc3Nv
Y2lhdGVkIGludGVyZmFjZSBwb2ludGVyIGNhbiBvbmx5IGJlIHVzZWQgdG8KLSAgLy8gICAgLy8g
bWFrZSBjYWxscyB3aGVuIHRoZSBjb3JyZXNwb25kaW5nIGFzc29jaWF0ZWQgcmVxdWVzdCBpcyBz
ZW50IG92ZXIKLSAgLy8gICAgLy8gYW5vdGhlciBpbnRlcmZhY2UgKGVpdGhlciB0aGUgbWFzdGVy
IGludGVyZmFjZSBvciBhbm90aGVyCi0gIC8vICAgIC8vIGFzc29jaWF0ZWQgaW50ZXJmYWNlKS4K
LSAgLy8gICAgdmFyIGFzc29jaWF0ZWRJbnRlcmZhY2VQdHJJbmZvID0gbmV3IEFzc29jaWF0ZWRJ
bnRlcmZhY2VQdHJJbmZvKCk7Ci0gIC8vICAgIHZhciBhc3NvY2lhdGVkUmVxdWVzdCA9IG1ha2VS
ZXF1ZXN0KGludGVyZmFjZVB0ckluZm8pOwotICAvLwotICAvLyAgICBpbnRlZ2VyU2VuZGVyQ29u
bmVjdGlvbi5nZXRTZW5kZXIoYXNzb2NpYXRlZFJlcXVlc3QpOwotICAvLwotICAvLyAgICAvLyBD
cmVhdGUgYW4gYXNzb2NpYXRlZCBpbnRlcmZhY2UgYW5kIGJpbmQgdGhlIGFzc29jaWF0ZWQgaGFu
ZGxlLgotICAvLyAgICB2YXIgaW50ZWdlclNlbmRlciA9IG5ldyBtb2pvbS5Bc3NvY2lhdGVkSW50
ZWdlclNlbmRlclB0cigpOwotICAvLyAgICBpbnRlZ2VyU2VuZGVyLnB0ci5iaW5kKGFzc29jaWF0
ZWRJbnRlcmZhY2VQdHJJbmZvKTsKLSAgLy8gICAgaW50ZWdlclNlbmRlci5lY2hvKCk7Ci0KLSAg
ZnVuY3Rpb24gQXNzb2NpYXRlZEludGVyZmFjZVB0ckNvbnRyb2xsZXIoaW50ZXJmYWNlVHlwZSwg
YXNzb2NpYXRlZFB0ckluZm8pIHsKLSAgICB0aGlzLnZlcnNpb24gPSAwOwotCi0gICAgdGhpcy5p
bnRlcmZhY2VUeXBlXyA9IGludGVyZmFjZVR5cGU7Ci0gICAgdGhpcy5pbnRlcmZhY2VFbmRwb2lu
dENsaWVudF8gPSBudWxsOwotICAgIHRoaXMucHJveHlfID0gbnVsbDsKLQotICAgIGlmIChhc3Nv
Y2lhdGVkUHRySW5mbykgewotICAgICAgdGhpcy5iaW5kKGFzc29jaWF0ZWRQdHJJbmZvKTsKLSAg
ICB9Ci0gIH0KLQotICBBc3NvY2lhdGVkSW50ZXJmYWNlUHRyQ29udHJvbGxlci5wcm90b3R5cGUu
YmluZCA9IGZ1bmN0aW9uKAotICAgICAgYXNzb2NpYXRlZFB0ckluZm8pIHsKLSAgICB0aGlzLnJl
c2V0KCk7Ci0gICAgdGhpcy52ZXJzaW9uID0gYXNzb2NpYXRlZFB0ckluZm8udmVyc2lvbjsKLQot
ICAgIHRoaXMuaW50ZXJmYWNlRW5kcG9pbnRDbGllbnRfID0gbmV3IGludGVybmFsLkludGVyZmFj
ZUVuZHBvaW50Q2xpZW50KAotICAgICAgICBhc3NvY2lhdGVkUHRySW5mby5pbnRlcmZhY2VFbmRw
b2ludEhhbmRsZSk7Ci0KLSAgICB0aGlzLmludGVyZmFjZUVuZHBvaW50Q2xpZW50XyAuc2V0UGF5
bG9hZFZhbGlkYXRvcnMoWwotICAgICAgICB0aGlzLmludGVyZmFjZVR5cGVfLnZhbGlkYXRlUmVz
cG9uc2VdKTsKLSAgICB0aGlzLnByb3h5XyA9IG5ldyB0aGlzLmludGVyZmFjZVR5cGVfLnByb3h5
Q2xhc3MoCi0gICAgICAgIHRoaXMuaW50ZXJmYWNlRW5kcG9pbnRDbGllbnRfKTsKLSAgfTsKLQot
ICBBc3NvY2lhdGVkSW50ZXJmYWNlUHRyQ29udHJvbGxlci5wcm90b3R5cGUuaXNCb3VuZCA9IGZ1
bmN0aW9uKCkgewotICAgIHJldHVybiB0aGlzLmludGVyZmFjZUVuZHBvaW50Q2xpZW50XyAhPT0g
bnVsbDsKLSAgfTsKLQotICBBc3NvY2lhdGVkSW50ZXJmYWNlUHRyQ29udHJvbGxlci5wcm90b3R5
cGUucmVzZXQgPSBmdW5jdGlvbigpIHsKLSAgICB0aGlzLnZlcnNpb24gPSAwOwotICAgIGlmICh0
aGlzLmludGVyZmFjZUVuZHBvaW50Q2xpZW50XykgewotICAgICAgdGhpcy5pbnRlcmZhY2VFbmRw
b2ludENsaWVudF8uY2xvc2UoKTsKLSAgICAgIHRoaXMuaW50ZXJmYWNlRW5kcG9pbnRDbGllbnRf
ID0gbnVsbDsKLSAgICB9Ci0gICAgaWYgKHRoaXMucHJveHlfKSB7Ci0gICAgICB0aGlzLnByb3h5
XyA9IG51bGw7Ci0gICAgfQotICB9OwotCi0gIEFzc29jaWF0ZWRJbnRlcmZhY2VQdHJDb250cm9s
bGVyLnByb3RvdHlwZS5yZXNldFdpdGhSZWFzb24gPSBmdW5jdGlvbigKLSAgICAgIHJlYXNvbikg
ewotICAgIGlmICh0aGlzLmlzQm91bmQoKSkgewotICAgICAgdGhpcy5pbnRlcmZhY2VFbmRwb2lu
dENsaWVudF8uY2xvc2UocmVhc29uKTsKLSAgICAgIHRoaXMuaW50ZXJmYWNlRW5kcG9pbnRDbGll
bnRfID0gbnVsbDsKLSAgICB9Ci0gICAgdGhpcy5yZXNldCgpOwotICB9OwotCi0gIC8vIEluZGlj
YXRlcyB3aGV0aGVyIGFuIGVycm9yIGhhcyBiZWVuIGVuY291bnRlcmVkLiBJZiB0cnVlLCBtZXRo
b2QgY2FsbHMKLSAgLy8gb24gdGhpcyBpbnRlcmZhY2Ugd2lsbCBiZSBkcm9wcGVkIChhbmQgbWF5
IGFscmVhZHkgaGF2ZSBiZWVuIGRyb3BwZWQpLgotICBBc3NvY2lhdGVkSW50ZXJmYWNlUHRyQ29u
dHJvbGxlci5wcm90b3R5cGUuZ2V0RW5jb3VudGVyZWRFcnJvciA9IGZ1bmN0aW9uKCkgewotICAg
IHJldHVybiB0aGlzLmludGVyZmFjZUVuZHBvaW50Q2xpZW50XyA/Ci0gICAgICAgIHRoaXMuaW50
ZXJmYWNlRW5kcG9pbnRDbGllbnRfLmdldEVuY291bnRlcmVkRXJyb3IoKSA6IGZhbHNlOwotICB9
OwotCi0gIEFzc29jaWF0ZWRJbnRlcmZhY2VQdHJDb250cm9sbGVyLnByb3RvdHlwZS5zZXRDb25u
ZWN0aW9uRXJyb3JIYW5kbGVyID0KLSAgICAgIGZ1bmN0aW9uKGNhbGxiYWNrKSB7Ci0gICAgaWYg
KCF0aGlzLmlzQm91bmQoKSkgewotICAgICAgdGhyb3cgbmV3IEVycm9yKCJDYW5ub3Qgc2V0IGNv
bm5lY3Rpb24gZXJyb3IgaGFuZGxlciBpZiBub3QgYm91bmQuIik7Ci0gICAgfQotCi0gICAgdGhp
cy5pbnRlcmZhY2VFbmRwb2ludENsaWVudF8uc2V0Q29ubmVjdGlvbkVycm9ySGFuZGxlcihjYWxs
YmFjayk7Ci0gIH07Ci0KLSAgQXNzb2NpYXRlZEludGVyZmFjZVB0ckNvbnRyb2xsZXIucHJvdG90
eXBlLnBhc3NJbnRlcmZhY2UgPSBmdW5jdGlvbigpIHsKLSAgICBpZiAoIXRoaXMuaXNCb3VuZCgp
KSB7Ci0gICAgICByZXR1cm4gbmV3IG1vam8uQXNzb2NpYXRlZEludGVyZmFjZVB0ckluZm8obnVs
bCk7Ci0gICAgfQotCi0gICAgdmFyIHJlc3VsdCA9IG5ldyBtb2pvLkFzc29jaWF0ZWRJbnRlcmZh
Y2VQdHJJbmZvKAotICAgICAgICB0aGlzLmludGVyZmFjZUVuZHBvaW50Q2xpZW50Xy5wYXNzSGFu
ZGxlKCksIHRoaXMudmVyc2lvbik7Ci0gICAgdGhpcy5yZXNldCgpOwotICAgIHJldHVybiByZXN1
bHQ7Ci0gIH07Ci0KLSAgQXNzb2NpYXRlZEludGVyZmFjZVB0ckNvbnRyb2xsZXIucHJvdG90eXBl
LmdldFByb3h5ID0gZnVuY3Rpb24oKSB7Ci0gICAgcmV0dXJuIHRoaXMucHJveHlfOwotICB9Owot
Ci0gIEFzc29jaWF0ZWRJbnRlcmZhY2VQdHJDb250cm9sbGVyLnByb3RvdHlwZS5xdWVyeVZlcnNp
b24gPSBmdW5jdGlvbigpIHsKLSAgICBmdW5jdGlvbiBvblF1ZXJ5VmVyc2lvbih2ZXJzaW9uKSB7
Ci0gICAgICB0aGlzLnZlcnNpb24gPSB2ZXJzaW9uOwotICAgICAgcmV0dXJuIHZlcnNpb247Ci0g
ICAgfQotCi0gICAgcmV0dXJuIHRoaXMuaW50ZXJmYWNlRW5kcG9pbnRDbGllbnRfLnF1ZXJ5VmVy
c2lvbigpLnRoZW4oCi0gICAgICBvblF1ZXJ5VmVyc2lvbi5iaW5kKHRoaXMpKTsKLSAgfTsKLQot
ICBBc3NvY2lhdGVkSW50ZXJmYWNlUHRyQ29udHJvbGxlci5wcm90b3R5cGUucmVxdWlyZVZlcnNp
b24gPSBmdW5jdGlvbigKLSAgICAgIHZlcnNpb24pIHsKLSAgICBpZiAodGhpcy52ZXJzaW9uID49
IHZlcnNpb24pIHsKLSAgICAgIHJldHVybjsKLSAgICB9Ci0gICAgdGhpcy52ZXJzaW9uID0gdmVy
c2lvbjsKLSAgICB0aGlzLmludGVyZmFjZUVuZHBvaW50Q2xpZW50Xy5yZXF1aXJlVmVyc2lvbih2
ZXJzaW9uKTsKLSAgfTsKLQotICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLQotICAvLyB8YXNzb2Np
YXRlZEludGVyZmFjZVJlcXVlc3R8IGNvdWxkIGJlIG9taXR0ZWQgYW5kIHBhc3NlZCBpbnRvIGJp
bmQoKQotICAvLyBsYXRlci4KLSAgZnVuY3Rpb24gQXNzb2NpYXRlZEJpbmRpbmcoaW50ZXJmYWNl
VHlwZSwgaW1wbCwgYXNzb2NpYXRlZEludGVyZmFjZVJlcXVlc3QpIHsKLSAgICB0aGlzLmludGVy
ZmFjZVR5cGVfID0gaW50ZXJmYWNlVHlwZTsKLSAgICB0aGlzLmltcGxfID0gaW1wbDsKLSAgICB0
aGlzLmludGVyZmFjZUVuZHBvaW50Q2xpZW50XyA9IG51bGw7Ci0gICAgdGhpcy5zdHViXyA9IG51
bGw7Ci0KLSAgICBpZiAoYXNzb2NpYXRlZEludGVyZmFjZVJlcXVlc3QpIHsKLSAgICAgIHRoaXMu
YmluZChhc3NvY2lhdGVkSW50ZXJmYWNlUmVxdWVzdCk7Ci0gICAgfQotICB9Ci0KLSAgQXNzb2Np
YXRlZEJpbmRpbmcucHJvdG90eXBlLmlzQm91bmQgPSBmdW5jdGlvbigpIHsKLSAgICByZXR1cm4g
dGhpcy5pbnRlcmZhY2VFbmRwb2ludENsaWVudF8gIT09IG51bGw7Ci0gIH07Ci0KLSAgQXNzb2Np
YXRlZEJpbmRpbmcucHJvdG90eXBlLmJpbmQgPSBmdW5jdGlvbihhc3NvY2lhdGVkSW50ZXJmYWNl
UmVxdWVzdCkgewotICAgIHRoaXMuY2xvc2UoKTsKLQotICAgIHRoaXMuc3R1Yl8gPSBuZXcgdGhp
cy5pbnRlcmZhY2VUeXBlXy5zdHViQ2xhc3ModGhpcy5pbXBsXyk7Ci0gICAgdGhpcy5pbnRlcmZh
Y2VFbmRwb2ludENsaWVudF8gPSBuZXcgaW50ZXJuYWwuSW50ZXJmYWNlRW5kcG9pbnRDbGllbnQo
Ci0gICAgICAgIGFzc29jaWF0ZWRJbnRlcmZhY2VSZXF1ZXN0LmludGVyZmFjZUVuZHBvaW50SGFu
ZGxlLCB0aGlzLnN0dWJfLAotICAgICAgICB0aGlzLmludGVyZmFjZVR5cGVfLmtWZXJzaW9uKTsK
LQotICAgIHRoaXMuaW50ZXJmYWNlRW5kcG9pbnRDbGllbnRfIC5zZXRQYXlsb2FkVmFsaWRhdG9y
cyhbCi0gICAgICAgIHRoaXMuaW50ZXJmYWNlVHlwZV8udmFsaWRhdGVSZXF1ZXN0XSk7Ci0gIH07
Ci0KLQotICBBc3NvY2lhdGVkQmluZGluZy5wcm90b3R5cGUuY2xvc2UgPSBmdW5jdGlvbigpIHsK
LSAgICBpZiAoIXRoaXMuaXNCb3VuZCgpKSB7Ci0gICAgICByZXR1cm47Ci0gICAgfQotCi0gICAg
aWYgKHRoaXMuaW50ZXJmYWNlRW5kcG9pbnRDbGllbnRfKSB7Ci0gICAgICB0aGlzLmludGVyZmFj
ZUVuZHBvaW50Q2xpZW50Xy5jbG9zZSgpOwotICAgICAgdGhpcy5pbnRlcmZhY2VFbmRwb2ludENs
aWVudF8gPSBudWxsOwotICAgIH0KLQotICAgIHRoaXMuc3R1Yl8gPSBudWxsOwotICB9OwotCi0g
IEFzc29jaWF0ZWRCaW5kaW5nLnByb3RvdHlwZS5jbG9zZVdpdGhSZWFzb24gPSBmdW5jdGlvbihy
ZWFzb24pIHsKLSAgICBpZiAodGhpcy5pbnRlcmZhY2VFbmRwb2ludENsaWVudF8pIHsKLSAgICAg
IHRoaXMuaW50ZXJmYWNlRW5kcG9pbnRDbGllbnRfLmNsb3NlKHJlYXNvbik7Ci0gICAgICB0aGlz
LmludGVyZmFjZUVuZHBvaW50Q2xpZW50XyA9IG51bGw7Ci0gICAgfQotICAgIHRoaXMuY2xvc2Uo
KTsKLSAgfTsKLQotICBBc3NvY2lhdGVkQmluZGluZy5wcm90b3R5cGUuc2V0Q29ubmVjdGlvbkVy
cm9ySGFuZGxlciA9IGZ1bmN0aW9uKGNhbGxiYWNrKSB7Ci0gICAgaWYgKCF0aGlzLmlzQm91bmQo
KSkgewotICAgICAgdGhyb3cgbmV3IEVycm9yKCJDYW5ub3Qgc2V0IGNvbm5lY3Rpb24gZXJyb3Ig
aGFuZGxlciBpZiBub3QgYm91bmQuIik7Ci0gICAgfQotICAgIHRoaXMuaW50ZXJmYWNlRW5kcG9p
bnRDbGllbnRfLnNldENvbm5lY3Rpb25FcnJvckhhbmRsZXIoY2FsbGJhY2spOwotICB9OwotCi0g
IEFzc29jaWF0ZWRCaW5kaW5nLnByb3RvdHlwZS51bmJpbmQgPSBmdW5jdGlvbigpIHsKLSAgICBp
ZiAoIXRoaXMuaXNCb3VuZCgpKSB7Ci0gICAgICByZXR1cm4gbmV3IG1vam8uQXNzb2NpYXRlZElu
dGVyZmFjZVJlcXVlc3QobnVsbCk7Ci0gICAgfQotCi0gICAgdmFyIHJlc3VsdCA9IG5ldyBtb2pv
LkFzc29jaWF0ZWRJbnRlcmZhY2VSZXF1ZXN0KAotICAgICAgICB0aGlzLmludGVyZmFjZUVuZHBv
aW50Q2xpZW50Xy5wYXNzSGFuZGxlKCkpOwotICAgIHRoaXMuY2xvc2UoKTsKLSAgICByZXR1cm4g
cmVzdWx0OwotICB9OwotCi0gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotCi0gIGZ1bmN0aW9uIEFz
c29jaWF0ZWRCaW5kaW5nU2V0KGludGVyZmFjZVR5cGUpIHsKLSAgICBtb2pvLkJpbmRpbmdTZXQu
Y2FsbCh0aGlzLCBpbnRlcmZhY2VUeXBlKTsKLSAgICB0aGlzLmJpbmRpbmdUeXBlXyA9IEFzc29j
aWF0ZWRCaW5kaW5nOwotICB9Ci0KLSAgQXNzb2NpYXRlZEJpbmRpbmdTZXQucHJvdG90eXBlID0g
T2JqZWN0LmNyZWF0ZShCaW5kaW5nU2V0LnByb3RvdHlwZSk7Ci0gIEFzc29jaWF0ZWRCaW5kaW5n
U2V0LnByb3RvdHlwZS5jb25zdHJ1Y3RvciA9IEFzc29jaWF0ZWRCaW5kaW5nU2V0OwotCi0gIG1v
am8ubWFrZVJlcXVlc3QgPSBtYWtlUmVxdWVzdDsKLSAgbW9qby5Bc3NvY2lhdGVkSW50ZXJmYWNl
UHRyQ29udHJvbGxlciA9IEFzc29jaWF0ZWRJbnRlcmZhY2VQdHJDb250cm9sbGVyOwotICBtb2pv
LkFzc29jaWF0ZWRCaW5kaW5nID0gQXNzb2NpYXRlZEJpbmRpbmc7Ci0gIG1vam8uQXNzb2NpYXRl
ZEJpbmRpbmdTZXQgPSBBc3NvY2lhdGVkQmluZGluZ1NldDsKLSAgbW9qby5CaW5kaW5nID0gQmlu
ZGluZzsKLSAgbW9qby5CaW5kaW5nU2V0ID0gQmluZGluZ1NldDsKLSAgbW9qby5JbnRlcmZhY2VQ
dHJDb250cm9sbGVyID0gSW50ZXJmYWNlUHRyQ29udHJvbGxlcjsKLX0pKCk7Ci0vLyBDb3B5cmln
aHQgMjAxNCBUaGUgQ2hyb21pdW0gQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLS8vIFVz
ZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2Ug
dGhhdCBjYW4gYmUKLS8vIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCi0KLShmdW5jdGlvbigp
IHsKLSAgdmFyIGludGVybmFsID0gbW9qby5pbnRlcm5hbDsKLQotICB2YXIga0hvc3RJc0xpdHRs
ZUVuZGlhbiA9IChmdW5jdGlvbiAoKSB7Ci0gICAgdmFyIGVuZGlhbkFycmF5QnVmZmVyID0gbmV3
IEFycmF5QnVmZmVyKDIpOwotICAgIHZhciBlbmRpYW5VaW50OEFycmF5ID0gbmV3IFVpbnQ4QXJy
YXkoZW5kaWFuQXJyYXlCdWZmZXIpOwotICAgIHZhciBlbmRpYW5VaW50MTZBcnJheSA9IG5ldyBV
aW50MTZBcnJheShlbmRpYW5BcnJheUJ1ZmZlcik7Ci0gICAgZW5kaWFuVWludDE2QXJyYXlbMF0g
PSAxOwotICAgIHJldHVybiBlbmRpYW5VaW50OEFycmF5WzBdID09IDE7Ci0gIH0pKCk7Ci0KLSAg
dmFyIGtIaWdoV29yZE11bHRpcGxpZXIgPSAweDEwMDAwMDAwMDsKLQotICBmdW5jdGlvbiBCdWZm
ZXIoc2l6ZU9yQXJyYXlCdWZmZXIpIHsKLSAgICBpZiAoc2l6ZU9yQXJyYXlCdWZmZXIgaW5zdGFu
Y2VvZiBBcnJheUJ1ZmZlcikKLSAgICAgIHRoaXMuYXJyYXlCdWZmZXIgPSBzaXplT3JBcnJheUJ1
ZmZlcjsKLSAgICBlbHNlCi0gICAgICB0aGlzLmFycmF5QnVmZmVyID0gbmV3IEFycmF5QnVmZmVy
KHNpemVPckFycmF5QnVmZmVyKTsKLQotICAgIHRoaXMuZGF0YVZpZXcgPSBuZXcgRGF0YVZpZXco
dGhpcy5hcnJheUJ1ZmZlcik7Ci0gICAgdGhpcy5uZXh0ID0gMDsKLSAgfQotCi0gIE9iamVjdC5k
ZWZpbmVQcm9wZXJ0eShCdWZmZXIucHJvdG90eXBlLCAiYnl0ZUxlbmd0aCIsIHsKLSAgICBnZXQ6
IGZ1bmN0aW9uKCkgeyByZXR1cm4gdGhpcy5hcnJheUJ1ZmZlci5ieXRlTGVuZ3RoOyB9Ci0gIH0p
OwotCi0gIEJ1ZmZlci5wcm90b3R5cGUuYWxsb2MgPSBmdW5jdGlvbihzaXplKSB7Ci0gICAgdmFy
IHBvaW50ZXIgPSB0aGlzLm5leHQ7Ci0gICAgdGhpcy5uZXh0ICs9IHNpemU7Ci0gICAgaWYgKHRo
aXMubmV4dCA+IHRoaXMuYnl0ZUxlbmd0aCkgewotICAgICAgdmFyIG5ld1NpemUgPSAoMS41ICog
KHRoaXMuYnl0ZUxlbmd0aCArIHNpemUpKSB8IDA7Ci0gICAgICB0aGlzLmdyb3cobmV3U2l6ZSk7
Ci0gICAgfQotICAgIHJldHVybiBwb2ludGVyOwotICB9OwotCi0gIGZ1bmN0aW9uIGNvcHlBcnJh
eUJ1ZmZlcihkc3RBcnJheUJ1ZmZlciwgc3JjQXJyYXlCdWZmZXIpIHsKLSAgICAobmV3IFVpbnQ4
QXJyYXkoZHN0QXJyYXlCdWZmZXIpKS5zZXQobmV3IFVpbnQ4QXJyYXkoc3JjQXJyYXlCdWZmZXIp
KTsKLSAgfQotCi0gIEJ1ZmZlci5wcm90b3R5cGUuZ3JvdyA9IGZ1bmN0aW9uKHNpemUpIHsKLSAg
ICB2YXIgbmV3QXJyYXlCdWZmZXIgPSBuZXcgQXJyYXlCdWZmZXIoc2l6ZSk7Ci0gICAgY29weUFy
cmF5QnVmZmVyKG5ld0FycmF5QnVmZmVyLCB0aGlzLmFycmF5QnVmZmVyKTsKLSAgICB0aGlzLmFy
cmF5QnVmZmVyID0gbmV3QXJyYXlCdWZmZXI7Ci0gICAgdGhpcy5kYXRhVmlldyA9IG5ldyBEYXRh
Vmlldyh0aGlzLmFycmF5QnVmZmVyKTsKLSAgfTsKLQotICBCdWZmZXIucHJvdG90eXBlLnRyaW0g
PSBmdW5jdGlvbigpIHsKLSAgICB0aGlzLmFycmF5QnVmZmVyID0gdGhpcy5hcnJheUJ1ZmZlci5z
bGljZSgwLCB0aGlzLm5leHQpOwotICAgIHRoaXMuZGF0YVZpZXcgPSBuZXcgRGF0YVZpZXcodGhp
cy5hcnJheUJ1ZmZlcik7Ci0gIH07Ci0KLSAgQnVmZmVyLnByb3RvdHlwZS5nZXRVaW50OCA9IGZ1
bmN0aW9uKG9mZnNldCkgewotICAgIHJldHVybiB0aGlzLmRhdGFWaWV3LmdldFVpbnQ4KG9mZnNl
dCk7Ci0gIH0KLSAgQnVmZmVyLnByb3RvdHlwZS5nZXRVaW50MTYgPSBmdW5jdGlvbihvZmZzZXQp
IHsKLSAgICByZXR1cm4gdGhpcy5kYXRhVmlldy5nZXRVaW50MTYob2Zmc2V0LCBrSG9zdElzTGl0
dGxlRW5kaWFuKTsKLSAgfQotICBCdWZmZXIucHJvdG90eXBlLmdldFVpbnQzMiA9IGZ1bmN0aW9u
KG9mZnNldCkgewotICAgIHJldHVybiB0aGlzLmRhdGFWaWV3LmdldFVpbnQzMihvZmZzZXQsIGtI
b3N0SXNMaXR0bGVFbmRpYW4pOwotICB9Ci0gIEJ1ZmZlci5wcm90b3R5cGUuZ2V0VWludDY0ID0g
ZnVuY3Rpb24ob2Zmc2V0KSB7Ci0gICAgdmFyIGxvLCBoaTsKLSAgICBpZiAoa0hvc3RJc0xpdHRs
ZUVuZGlhbikgewotICAgICAgbG8gPSB0aGlzLmRhdGFWaWV3LmdldFVpbnQzMihvZmZzZXQsIGtI
b3N0SXNMaXR0bGVFbmRpYW4pOwotICAgICAgaGkgPSB0aGlzLmRhdGFWaWV3LmdldFVpbnQzMihv
ZmZzZXQgKyA0LCBrSG9zdElzTGl0dGxlRW5kaWFuKTsKLSAgICB9IGVsc2UgewotICAgICAgaGkg
PSB0aGlzLmRhdGFWaWV3LmdldFVpbnQzMihvZmZzZXQsIGtIb3N0SXNMaXR0bGVFbmRpYW4pOwot
ICAgICAgbG8gPSB0aGlzLmRhdGFWaWV3LmdldFVpbnQzMihvZmZzZXQgKyA0LCBrSG9zdElzTGl0
dGxlRW5kaWFuKTsKLSAgICB9Ci0gICAgcmV0dXJuIGxvICsgaGkgKiBrSGlnaFdvcmRNdWx0aXBs
aWVyOwotICB9Ci0KLSAgQnVmZmVyLnByb3RvdHlwZS5nZXRJbnQ4ID0gZnVuY3Rpb24ob2Zmc2V0
KSB7Ci0gICAgcmV0dXJuIHRoaXMuZGF0YVZpZXcuZ2V0SW50OChvZmZzZXQpOwotICB9Ci0gIEJ1
ZmZlci5wcm90b3R5cGUuZ2V0SW50MTYgPSBmdW5jdGlvbihvZmZzZXQpIHsKLSAgICByZXR1cm4g
dGhpcy5kYXRhVmlldy5nZXRJbnQxNihvZmZzZXQsIGtIb3N0SXNMaXR0bGVFbmRpYW4pOwotICB9
Ci0gIEJ1ZmZlci5wcm90b3R5cGUuZ2V0SW50MzIgPSBmdW5jdGlvbihvZmZzZXQpIHsKLSAgICBy
ZXR1cm4gdGhpcy5kYXRhVmlldy5nZXRJbnQzMihvZmZzZXQsIGtIb3N0SXNMaXR0bGVFbmRpYW4p
OwotICB9Ci0gIEJ1ZmZlci5wcm90b3R5cGUuZ2V0SW50NjQgPSBmdW5jdGlvbihvZmZzZXQpIHsK
LSAgICB2YXIgbG8sIGhpOwotICAgIGlmIChrSG9zdElzTGl0dGxlRW5kaWFuKSB7Ci0gICAgICBs
byA9IHRoaXMuZGF0YVZpZXcuZ2V0VWludDMyKG9mZnNldCwga0hvc3RJc0xpdHRsZUVuZGlhbik7
Ci0gICAgICBoaSA9IHRoaXMuZGF0YVZpZXcuZ2V0SW50MzIob2Zmc2V0ICsgNCwga0hvc3RJc0xp
dHRsZUVuZGlhbik7Ci0gICAgfSBlbHNlIHsKLSAgICAgIGhpID0gdGhpcy5kYXRhVmlldy5nZXRJ
bnQzMihvZmZzZXQsIGtIb3N0SXNMaXR0bGVFbmRpYW4pOwotICAgICAgbG8gPSB0aGlzLmRhdGFW
aWV3LmdldFVpbnQzMihvZmZzZXQgKyA0LCBrSG9zdElzTGl0dGxlRW5kaWFuKTsKLSAgICB9Ci0g
ICAgcmV0dXJuIGxvICsgaGkgKiBrSGlnaFdvcmRNdWx0aXBsaWVyOwotICB9Ci0KLSAgQnVmZmVy
LnByb3RvdHlwZS5nZXRGbG9hdDMyID0gZnVuY3Rpb24ob2Zmc2V0KSB7Ci0gICAgcmV0dXJuIHRo
aXMuZGF0YVZpZXcuZ2V0RmxvYXQzMihvZmZzZXQsIGtIb3N0SXNMaXR0bGVFbmRpYW4pOwotICB9
Ci0gIEJ1ZmZlci5wcm90b3R5cGUuZ2V0RmxvYXQ2NCA9IGZ1bmN0aW9uKG9mZnNldCkgewotICAg
IHJldHVybiB0aGlzLmRhdGFWaWV3LmdldEZsb2F0NjQob2Zmc2V0LCBrSG9zdElzTGl0dGxlRW5k
aWFuKTsKLSAgfQotCi0gIEJ1ZmZlci5wcm90b3R5cGUuc2V0VWludDggPSBmdW5jdGlvbihvZmZz
ZXQsIHZhbHVlKSB7Ci0gICAgdGhpcy5kYXRhVmlldy5zZXRVaW50OChvZmZzZXQsIHZhbHVlKTsK
LSAgfQotICBCdWZmZXIucHJvdG90eXBlLnNldFVpbnQxNiA9IGZ1bmN0aW9uKG9mZnNldCwgdmFs
dWUpIHsKLSAgICB0aGlzLmRhdGFWaWV3LnNldFVpbnQxNihvZmZzZXQsIHZhbHVlLCBrSG9zdElz
TGl0dGxlRW5kaWFuKTsKLSAgfQotICBCdWZmZXIucHJvdG90eXBlLnNldFVpbnQzMiA9IGZ1bmN0
aW9uKG9mZnNldCwgdmFsdWUpIHsKLSAgICB0aGlzLmRhdGFWaWV3LnNldFVpbnQzMihvZmZzZXQs
IHZhbHVlLCBrSG9zdElzTGl0dGxlRW5kaWFuKTsKLSAgfQotICBCdWZmZXIucHJvdG90eXBlLnNl
dFVpbnQ2NCA9IGZ1bmN0aW9uKG9mZnNldCwgdmFsdWUpIHsKLSAgICB2YXIgaGkgPSAodmFsdWUg
LyBrSGlnaFdvcmRNdWx0aXBsaWVyKSB8IDA7Ci0gICAgaWYgKGtIb3N0SXNMaXR0bGVFbmRpYW4p
IHsKLSAgICAgIHRoaXMuZGF0YVZpZXcuc2V0SW50MzIob2Zmc2V0LCB2YWx1ZSwga0hvc3RJc0xp
dHRsZUVuZGlhbik7Ci0gICAgICB0aGlzLmRhdGFWaWV3LnNldEludDMyKG9mZnNldCArIDQsIGhp
LCBrSG9zdElzTGl0dGxlRW5kaWFuKTsKLSAgICB9IGVsc2UgewotICAgICAgdGhpcy5kYXRhVmll
dy5zZXRJbnQzMihvZmZzZXQsIGhpLCBrSG9zdElzTGl0dGxlRW5kaWFuKTsKLSAgICAgIHRoaXMu
ZGF0YVZpZXcuc2V0SW50MzIob2Zmc2V0ICsgNCwgdmFsdWUsIGtIb3N0SXNMaXR0bGVFbmRpYW4p
OwotICAgIH0KLSAgfQotCi0gIEJ1ZmZlci5wcm90b3R5cGUuc2V0SW50OCA9IGZ1bmN0aW9uKG9m
ZnNldCwgdmFsdWUpIHsKLSAgICB0aGlzLmRhdGFWaWV3LnNldEludDgob2Zmc2V0LCB2YWx1ZSk7
Ci0gIH0KLSAgQnVmZmVyLnByb3RvdHlwZS5zZXRJbnQxNiA9IGZ1bmN0aW9uKG9mZnNldCwgdmFs
dWUpIHsKLSAgICB0aGlzLmRhdGFWaWV3LnNldEludDE2KG9mZnNldCwgdmFsdWUsIGtIb3N0SXNM
aXR0bGVFbmRpYW4pOwotICB9Ci0gIEJ1ZmZlci5wcm90b3R5cGUuc2V0SW50MzIgPSBmdW5jdGlv
bihvZmZzZXQsIHZhbHVlKSB7Ci0gICAgdGhpcy5kYXRhVmlldy5zZXRJbnQzMihvZmZzZXQsIHZh
bHVlLCBrSG9zdElzTGl0dGxlRW5kaWFuKTsKLSAgfQotICBCdWZmZXIucHJvdG90eXBlLnNldElu
dDY0ID0gZnVuY3Rpb24ob2Zmc2V0LCB2YWx1ZSkgewotICAgIHZhciBoaSA9IE1hdGguZmxvb3Io
dmFsdWUgLyBrSGlnaFdvcmRNdWx0aXBsaWVyKTsKLSAgICBpZiAoa0hvc3RJc0xpdHRsZUVuZGlh
bikgewotICAgICAgdGhpcy5kYXRhVmlldy5zZXRJbnQzMihvZmZzZXQsIHZhbHVlLCBrSG9zdElz
TGl0dGxlRW5kaWFuKTsKLSAgICAgIHRoaXMuZGF0YVZpZXcuc2V0SW50MzIob2Zmc2V0ICsgNCwg
aGksIGtIb3N0SXNMaXR0bGVFbmRpYW4pOwotICAgIH0gZWxzZSB7Ci0gICAgICB0aGlzLmRhdGFW
aWV3LnNldEludDMyKG9mZnNldCwgaGksIGtIb3N0SXNMaXR0bGVFbmRpYW4pOwotICAgICAgdGhp
cy5kYXRhVmlldy5zZXRJbnQzMihvZmZzZXQgKyA0LCB2YWx1ZSwga0hvc3RJc0xpdHRsZUVuZGlh
bik7Ci0gICAgfQotICB9Ci0KLSAgQnVmZmVyLnByb3RvdHlwZS5zZXRGbG9hdDMyID0gZnVuY3Rp
b24ob2Zmc2V0LCB2YWx1ZSkgewotICAgIHRoaXMuZGF0YVZpZXcuc2V0RmxvYXQzMihvZmZzZXQs
IHZhbHVlLCBrSG9zdElzTGl0dGxlRW5kaWFuKTsKLSAgfQotICBCdWZmZXIucHJvdG90eXBlLnNl
dEZsb2F0NjQgPSBmdW5jdGlvbihvZmZzZXQsIHZhbHVlKSB7Ci0gICAgdGhpcy5kYXRhVmlldy5z
ZXRGbG9hdDY0KG9mZnNldCwgdmFsdWUsIGtIb3N0SXNMaXR0bGVFbmRpYW4pOwotICB9Ci0KLSAg
aW50ZXJuYWwuQnVmZmVyID0gQnVmZmVyOwotfSkoKTsKLS8vIENvcHlyaWdodCAyMDE0IFRoZSBD
aHJvbWl1bSBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotLy8gVXNlIG9mIHRoaXMgc291
cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQot
Ly8gZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KLQotKGZ1bmN0aW9uKCkgewotICB2YXIgaW50
ZXJuYWwgPSBtb2pvLmludGVybmFsOwotCi0gIHZhciBrRXJyb3JVbnNpZ25lZCA9ICJQYXNzaW5n
IG5lZ2F0aXZlIHZhbHVlIHRvIHVuc2lnbmVkIjsKLSAgdmFyIGtFcnJvckFycmF5ID0gIlBhc3Np
bmcgbm9uIEFycmF5IGZvciBhcnJheSB0eXBlIjsKLSAgdmFyIGtFcnJvclN0cmluZyA9ICJQYXNz
aW5nIG5vbiBTdHJpbmcgZm9yIHN0cmluZyB0eXBlIjsKLSAgdmFyIGtFcnJvck1hcCA9ICJQYXNz
aW5nIG5vbiBNYXAgZm9yIG1hcCB0eXBlIjsKLQotICAvLyBNZW1vcnkgLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotCi0g
IHZhciBrQWxpZ25tZW50ID0gODsKLQotICBmdW5jdGlvbiBhbGlnbihzaXplKSB7Ci0gICAgcmV0
dXJuIHNpemUgKyAoa0FsaWdubWVudCAtIChzaXplICUga0FsaWdubWVudCkpICUga0FsaWdubWVu
dDsKLSAgfQotCi0gIGZ1bmN0aW9uIGlzQWxpZ25lZChvZmZzZXQpIHsKLSAgICByZXR1cm4gb2Zm
c2V0ID49IDAgJiYgKG9mZnNldCAlIGtBbGlnbm1lbnQpID09PSAwOwotICB9Ci0KLSAgLy8gQ29u
c3RhbnRzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0KLQotICB2YXIga0FycmF5SGVhZGVyU2l6ZSA9IDg7Ci0gIHZhciBrU3Ry
dWN0SGVhZGVyU2l6ZSA9IDg7Ci0gIHZhciBrTWVzc2FnZVYwSGVhZGVyU2l6ZSA9IDI0OwotICB2
YXIga01lc3NhZ2VWMUhlYWRlclNpemUgPSAzMjsKLSAgdmFyIGtNZXNzYWdlVjJIZWFkZXJTaXpl
ID0gNDg7Ci0gIHZhciBrTWFwU3RydWN0UGF5bG9hZFNpemUgPSAxNjsKLQotICB2YXIga1N0cnVj
dEhlYWRlck51bUJ5dGVzT2Zmc2V0ID0gMDsKLSAgdmFyIGtTdHJ1Y3RIZWFkZXJWZXJzaW9uT2Zm
c2V0ID0gNDsKLQotICB2YXIga0VuY29kZWRJbnZhbGlkSGFuZGxlVmFsdWUgPSAweEZGRkZGRkZG
OwotCi0gIC8vIERlY29kZXIgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0KLSAgZnVuY3Rpb24gRGVjb2RlcihidWZmZXIs
IGhhbmRsZXMsIGFzc29jaWF0ZWRFbmRwb2ludEhhbmRsZXMsIGJhc2UpIHsKLSAgICB0aGlzLmJ1
ZmZlciA9IGJ1ZmZlcjsKLSAgICB0aGlzLmhhbmRsZXMgPSBoYW5kbGVzOwotICAgIHRoaXMuYXNz
b2NpYXRlZEVuZHBvaW50SGFuZGxlcyA9IGFzc29jaWF0ZWRFbmRwb2ludEhhbmRsZXM7Ci0gICAg
dGhpcy5iYXNlID0gYmFzZTsKLSAgICB0aGlzLm5leHQgPSBiYXNlOwotICB9Ci0KLSAgRGVjb2Rl
ci5wcm90b3R5cGUuYWxpZ24gPSBmdW5jdGlvbigpIHsKLSAgICB0aGlzLm5leHQgPSBhbGlnbih0
aGlzLm5leHQpOwotICB9OwotCi0gIERlY29kZXIucHJvdG90eXBlLnNraXAgPSBmdW5jdGlvbihv
ZmZzZXQpIHsKLSAgICB0aGlzLm5leHQgKz0gb2Zmc2V0OwotICB9OwotCi0gIERlY29kZXIucHJv
dG90eXBlLnJlYWRJbnQ4ID0gZnVuY3Rpb24oKSB7Ci0gICAgdmFyIHJlc3VsdCA9IHRoaXMuYnVm
ZmVyLmdldEludDgodGhpcy5uZXh0KTsKLSAgICB0aGlzLm5leHQgKz0gMTsKLSAgICByZXR1cm4g
cmVzdWx0OwotICB9OwotCi0gIERlY29kZXIucHJvdG90eXBlLnJlYWRVaW50OCA9IGZ1bmN0aW9u
KCkgewotICAgIHZhciByZXN1bHQgPSB0aGlzLmJ1ZmZlci5nZXRVaW50OCh0aGlzLm5leHQpOwot
ICAgIHRoaXMubmV4dCArPSAxOwotICAgIHJldHVybiByZXN1bHQ7Ci0gIH07Ci0KLSAgRGVjb2Rl
ci5wcm90b3R5cGUucmVhZEludDE2ID0gZnVuY3Rpb24oKSB7Ci0gICAgdmFyIHJlc3VsdCA9IHRo
aXMuYnVmZmVyLmdldEludDE2KHRoaXMubmV4dCk7Ci0gICAgdGhpcy5uZXh0ICs9IDI7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLSAgfTsKLQotICBEZWNvZGVyLnByb3RvdHlwZS5yZWFkVWludDE2ID0g
ZnVuY3Rpb24oKSB7Ci0gICAgdmFyIHJlc3VsdCA9IHRoaXMuYnVmZmVyLmdldFVpbnQxNih0aGlz
Lm5leHQpOwotICAgIHRoaXMubmV4dCArPSAyOwotICAgIHJldHVybiByZXN1bHQ7Ci0gIH07Ci0K
LSAgRGVjb2Rlci5wcm90b3R5cGUucmVhZEludDMyID0gZnVuY3Rpb24oKSB7Ci0gICAgdmFyIHJl
c3VsdCA9IHRoaXMuYnVmZmVyLmdldEludDMyKHRoaXMubmV4dCk7Ci0gICAgdGhpcy5uZXh0ICs9
IDQ7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLSAgfTsKLQotICBEZWNvZGVyLnByb3RvdHlwZS5yZWFk
VWludDMyID0gZnVuY3Rpb24oKSB7Ci0gICAgdmFyIHJlc3VsdCA9IHRoaXMuYnVmZmVyLmdldFVp
bnQzMih0aGlzLm5leHQpOwotICAgIHRoaXMubmV4dCArPSA0OwotICAgIHJldHVybiByZXN1bHQ7
Ci0gIH07Ci0KLSAgRGVjb2Rlci5wcm90b3R5cGUucmVhZEludDY0ID0gZnVuY3Rpb24oKSB7Ci0g
ICAgdmFyIHJlc3VsdCA9IHRoaXMuYnVmZmVyLmdldEludDY0KHRoaXMubmV4dCk7Ci0gICAgdGhp
cy5uZXh0ICs9IDg7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLSAgfTsKLQotICBEZWNvZGVyLnByb3Rv
dHlwZS5yZWFkVWludDY0ID0gZnVuY3Rpb24oKSB7Ci0gICAgdmFyIHJlc3VsdCA9IHRoaXMuYnVm
ZmVyLmdldFVpbnQ2NCh0aGlzLm5leHQpOwotICAgIHRoaXMubmV4dCArPSA4OwotICAgIHJldHVy
biByZXN1bHQ7Ci0gIH07Ci0KLSAgRGVjb2Rlci5wcm90b3R5cGUucmVhZEZsb2F0ID0gZnVuY3Rp
b24oKSB7Ci0gICAgdmFyIHJlc3VsdCA9IHRoaXMuYnVmZmVyLmdldEZsb2F0MzIodGhpcy5uZXh0
KTsKLSAgICB0aGlzLm5leHQgKz0gNDsKLSAgICByZXR1cm4gcmVzdWx0OwotICB9OwotCi0gIERl
Y29kZXIucHJvdG90eXBlLnJlYWREb3VibGUgPSBmdW5jdGlvbigpIHsKLSAgICB2YXIgcmVzdWx0
ID0gdGhpcy5idWZmZXIuZ2V0RmxvYXQ2NCh0aGlzLm5leHQpOwotICAgIHRoaXMubmV4dCArPSA4
OwotICAgIHJldHVybiByZXN1bHQ7Ci0gIH07Ci0KLSAgRGVjb2Rlci5wcm90b3R5cGUuZGVjb2Rl
UG9pbnRlciA9IGZ1bmN0aW9uKCkgewotICAgIC8vIFRPRE8oYWJhcnRoKTogVG8gY29ycmVjdGx5
IGRlY29kZSBhIHBvaW50ZXIsIHdlIG5lZWQgdG8ga25vdyB0aGUgcmVhbAotICAgIC8vIGJhc2Ug
YWRkcmVzcyBvZiB0aGUgYXJyYXkgYnVmZmVyLgotICAgIHZhciBvZmZzZXRQb2ludGVyID0gdGhp
cy5uZXh0OwotICAgIHZhciBvZmZzZXQgPSB0aGlzLnJlYWRVaW50NjQoKTsKLSAgICBpZiAoIW9m
ZnNldCkKLSAgICAgIHJldHVybiAwOwotICAgIHJldHVybiBvZmZzZXRQb2ludGVyICsgb2Zmc2V0
OwotICB9OwotCi0gIERlY29kZXIucHJvdG90eXBlLmRlY29kZUFuZENyZWF0ZURlY29kZXIgPSBm
dW5jdGlvbihwb2ludGVyKSB7Ci0gICAgcmV0dXJuIG5ldyBEZWNvZGVyKHRoaXMuYnVmZmVyLCB0
aGlzLmhhbmRsZXMsCi0gICAgICAgIHRoaXMuYXNzb2NpYXRlZEVuZHBvaW50SGFuZGxlcywgcG9p
bnRlcik7Ci0gIH07Ci0KLSAgRGVjb2Rlci5wcm90b3R5cGUuZGVjb2RlSGFuZGxlID0gZnVuY3Rp
b24oKSB7Ci0gICAgcmV0dXJuIHRoaXMuaGFuZGxlc1t0aGlzLnJlYWRVaW50MzIoKV0gfHwgbnVs
bDsKLSAgfTsKLQotICBEZWNvZGVyLnByb3RvdHlwZS5kZWNvZGVBc3NvY2lhdGVkRW5kcG9pbnRI
YW5kbGUgPSBmdW5jdGlvbigpIHsKLSAgICByZXR1cm4gdGhpcy5hc3NvY2lhdGVkRW5kcG9pbnRI
YW5kbGVzW3RoaXMucmVhZFVpbnQzMigpXSB8fCBudWxsOwotICB9OwotCi0gIERlY29kZXIucHJv
dG90eXBlLmRlY29kZVN0cmluZyA9IGZ1bmN0aW9uKCkgewotICAgIHZhciBudW1iZXJPZkJ5dGVz
ID0gdGhpcy5yZWFkVWludDMyKCk7Ci0gICAgdmFyIG51bWJlck9mRWxlbWVudHMgPSB0aGlzLnJl
YWRVaW50MzIoKTsKLSAgICB2YXIgYmFzZSA9IHRoaXMubmV4dDsKLSAgICB0aGlzLm5leHQgKz0g
bnVtYmVyT2ZFbGVtZW50czsKLSAgICByZXR1cm4gaW50ZXJuYWwuZGVjb2RlVXRmOFN0cmluZygK
LSAgICAgICAgbmV3IFVpbnQ4QXJyYXkodGhpcy5idWZmZXIuYXJyYXlCdWZmZXIsIGJhc2UsIG51
bWJlck9mRWxlbWVudHMpKTsKLSAgfTsKLQotICBEZWNvZGVyLnByb3RvdHlwZS5kZWNvZGVBcnJh
eSA9IGZ1bmN0aW9uKGNscykgewotICAgIHZhciBudW1iZXJPZkJ5dGVzID0gdGhpcy5yZWFkVWlu
dDMyKCk7Ci0gICAgdmFyIG51bWJlck9mRWxlbWVudHMgPSB0aGlzLnJlYWRVaW50MzIoKTsKLSAg
ICB2YXIgdmFsID0gbmV3IEFycmF5KG51bWJlck9mRWxlbWVudHMpOwotICAgIGlmIChjbHMgPT09
IFBhY2tlZEJvb2wpIHsKLSAgICAgIHZhciBieXRlOwotICAgICAgZm9yICh2YXIgaSA9IDA7IGkg
PCBudW1iZXJPZkVsZW1lbnRzOyArK2kpIHsKLSAgICAgICAgaWYgKGkgJSA4ID09PSAwKQotICAg
ICAgICAgIGJ5dGUgPSB0aGlzLnJlYWRVaW50OCgpOwotICAgICAgICB2YWxbaV0gPSAoYnl0ZSAm
ICgxIDw8IGkgJSA4KSkgPyB0cnVlIDogZmFsc2U7Ci0gICAgICB9Ci0gICAgfSBlbHNlIHsKLSAg
ICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbnVtYmVyT2ZFbGVtZW50czsgKytpKSB7Ci0gICAgICAg
IHZhbFtpXSA9IGNscy5kZWNvZGUodGhpcyk7Ci0gICAgICB9Ci0gICAgfQotICAgIHJldHVybiB2
YWw7Ci0gIH07Ci0KLSAgRGVjb2Rlci5wcm90b3R5cGUuZGVjb2RlU3RydWN0ID0gZnVuY3Rpb24o
Y2xzKSB7Ci0gICAgcmV0dXJuIGNscy5kZWNvZGUodGhpcyk7Ci0gIH07Ci0KLSAgRGVjb2Rlci5w
cm90b3R5cGUuZGVjb2RlU3RydWN0UG9pbnRlciA9IGZ1bmN0aW9uKGNscykgewotICAgIHZhciBw
b2ludGVyID0gdGhpcy5kZWNvZGVQb2ludGVyKCk7Ci0gICAgaWYgKCFwb2ludGVyKSB7Ci0gICAg
ICByZXR1cm4gbnVsbDsKLSAgICB9Ci0gICAgcmV0dXJuIGNscy5kZWNvZGUodGhpcy5kZWNvZGVB
bmRDcmVhdGVEZWNvZGVyKHBvaW50ZXIpKTsKLSAgfTsKLQotICBEZWNvZGVyLnByb3RvdHlwZS5k
ZWNvZGVBcnJheVBvaW50ZXIgPSBmdW5jdGlvbihjbHMpIHsKLSAgICB2YXIgcG9pbnRlciA9IHRo
aXMuZGVjb2RlUG9pbnRlcigpOwotICAgIGlmICghcG9pbnRlcikgewotICAgICAgcmV0dXJuIG51
bGw7Ci0gICAgfQotICAgIHJldHVybiB0aGlzLmRlY29kZUFuZENyZWF0ZURlY29kZXIocG9pbnRl
cikuZGVjb2RlQXJyYXkoY2xzKTsKLSAgfTsKLQotICBEZWNvZGVyLnByb3RvdHlwZS5kZWNvZGVT
dHJpbmdQb2ludGVyID0gZnVuY3Rpb24oKSB7Ci0gICAgdmFyIHBvaW50ZXIgPSB0aGlzLmRlY29k
ZVBvaW50ZXIoKTsKLSAgICBpZiAoIXBvaW50ZXIpIHsKLSAgICAgIHJldHVybiBudWxsOwotICAg
IH0KLSAgICByZXR1cm4gdGhpcy5kZWNvZGVBbmRDcmVhdGVEZWNvZGVyKHBvaW50ZXIpLmRlY29k
ZVN0cmluZygpOwotICB9OwotCi0gIERlY29kZXIucHJvdG90eXBlLmRlY29kZU1hcCA9IGZ1bmN0
aW9uKGtleUNsYXNzLCB2YWx1ZUNsYXNzKSB7Ci0gICAgdGhpcy5za2lwKDQpOyAvLyBudW1iZXJP
ZkJ5dGVzCi0gICAgdGhpcy5za2lwKDQpOyAvLyB2ZXJzaW9uCi0gICAgdmFyIGtleXMgPSB0aGlz
LmRlY29kZUFycmF5UG9pbnRlcihrZXlDbGFzcyk7Ci0gICAgdmFyIHZhbHVlcyA9IHRoaXMuZGVj
b2RlQXJyYXlQb2ludGVyKHZhbHVlQ2xhc3MpOwotICAgIHZhciB2YWwgPSBuZXcgTWFwKCk7Ci0g
ICAgZm9yICh2YXIgaSA9IDA7IGkgPCBrZXlzLmxlbmd0aDsgaSsrKQotICAgICAgdmFsLnNldChr
ZXlzW2ldLCB2YWx1ZXNbaV0pOwotICAgIHJldHVybiB2YWw7Ci0gIH07Ci0KLSAgRGVjb2Rlci5w
cm90b3R5cGUuZGVjb2RlTWFwUG9pbnRlciA9IGZ1bmN0aW9uKGtleUNsYXNzLCB2YWx1ZUNsYXNz
KSB7Ci0gICAgdmFyIHBvaW50ZXIgPSB0aGlzLmRlY29kZVBvaW50ZXIoKTsKLSAgICBpZiAoIXBv
aW50ZXIpIHsKLSAgICAgIHJldHVybiBudWxsOwotICAgIH0KLSAgICB2YXIgZGVjb2RlciA9IHRo
aXMuZGVjb2RlQW5kQ3JlYXRlRGVjb2Rlcihwb2ludGVyKTsKLSAgICByZXR1cm4gZGVjb2Rlci5k
ZWNvZGVNYXAoa2V5Q2xhc3MsIHZhbHVlQ2xhc3MpOwotICB9OwotCi0gIC8vIEVuY29kZXIgLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tCi0KLSAgZnVuY3Rpb24gRW5jb2RlcihidWZmZXIsIGhhbmRsZXMsIGFzc29jaWF0ZWRF
bmRwb2ludEhhbmRsZXMsIGJhc2UpIHsKLSAgICB0aGlzLmJ1ZmZlciA9IGJ1ZmZlcjsKLSAgICB0
aGlzLmhhbmRsZXMgPSBoYW5kbGVzOwotICAgIHRoaXMuYXNzb2NpYXRlZEVuZHBvaW50SGFuZGxl
cyA9IGFzc29jaWF0ZWRFbmRwb2ludEhhbmRsZXM7Ci0gICAgdGhpcy5iYXNlID0gYmFzZTsKLSAg
ICB0aGlzLm5leHQgPSBiYXNlOwotICB9Ci0KLSAgRW5jb2Rlci5wcm90b3R5cGUuYWxpZ24gPSBm
dW5jdGlvbigpIHsKLSAgICB0aGlzLm5leHQgPSBhbGlnbih0aGlzLm5leHQpOwotICB9OwotCi0g
IEVuY29kZXIucHJvdG90eXBlLnNraXAgPSBmdW5jdGlvbihvZmZzZXQpIHsKLSAgICB0aGlzLm5l
eHQgKz0gb2Zmc2V0OwotICB9OwotCi0gIEVuY29kZXIucHJvdG90eXBlLndyaXRlSW50OCA9IGZ1
bmN0aW9uKHZhbCkgewotICAgIHRoaXMuYnVmZmVyLnNldEludDgodGhpcy5uZXh0LCB2YWwpOwot
ICAgIHRoaXMubmV4dCArPSAxOwotICB9OwotCi0gIEVuY29kZXIucHJvdG90eXBlLndyaXRlVWlu
dDggPSBmdW5jdGlvbih2YWwpIHsKLSAgICBpZiAodmFsIDwgMCkgewotICAgICAgdGhyb3cgbmV3
IEVycm9yKGtFcnJvclVuc2lnbmVkKTsKLSAgICB9Ci0gICAgdGhpcy5idWZmZXIuc2V0VWludDgo
dGhpcy5uZXh0LCB2YWwpOwotICAgIHRoaXMubmV4dCArPSAxOwotICB9OwotCi0gIEVuY29kZXIu
cHJvdG90eXBlLndyaXRlSW50MTYgPSBmdW5jdGlvbih2YWwpIHsKLSAgICB0aGlzLmJ1ZmZlci5z
ZXRJbnQxNih0aGlzLm5leHQsIHZhbCk7Ci0gICAgdGhpcy5uZXh0ICs9IDI7Ci0gIH07Ci0KLSAg
RW5jb2Rlci5wcm90b3R5cGUud3JpdGVVaW50MTYgPSBmdW5jdGlvbih2YWwpIHsKLSAgICBpZiAo
dmFsIDwgMCkgewotICAgICAgdGhyb3cgbmV3IEVycm9yKGtFcnJvclVuc2lnbmVkKTsKLSAgICB9
Ci0gICAgdGhpcy5idWZmZXIuc2V0VWludDE2KHRoaXMubmV4dCwgdmFsKTsKLSAgICB0aGlzLm5l
eHQgKz0gMjsKLSAgfTsKLQotICBFbmNvZGVyLnByb3RvdHlwZS53cml0ZUludDMyID0gZnVuY3Rp
b24odmFsKSB7Ci0gICAgdGhpcy5idWZmZXIuc2V0SW50MzIodGhpcy5uZXh0LCB2YWwpOwotICAg
IHRoaXMubmV4dCArPSA0OwotICB9OwotCi0gIEVuY29kZXIucHJvdG90eXBlLndyaXRlVWludDMy
ID0gZnVuY3Rpb24odmFsKSB7Ci0gICAgaWYgKHZhbCA8IDApIHsKLSAgICAgIHRocm93IG5ldyBF
cnJvcihrRXJyb3JVbnNpZ25lZCk7Ci0gICAgfQotICAgIHRoaXMuYnVmZmVyLnNldFVpbnQzMih0
aGlzLm5leHQsIHZhbCk7Ci0gICAgdGhpcy5uZXh0ICs9IDQ7Ci0gIH07Ci0KLSAgRW5jb2Rlci5w
cm90b3R5cGUud3JpdGVJbnQ2NCA9IGZ1bmN0aW9uKHZhbCkgewotICAgIHRoaXMuYnVmZmVyLnNl
dEludDY0KHRoaXMubmV4dCwgdmFsKTsKLSAgICB0aGlzLm5leHQgKz0gODsKLSAgfTsKLQotICBF
bmNvZGVyLnByb3RvdHlwZS53cml0ZVVpbnQ2NCA9IGZ1bmN0aW9uKHZhbCkgewotICAgIGlmICh2
YWwgPCAwKSB7Ci0gICAgICB0aHJvdyBuZXcgRXJyb3Ioa0Vycm9yVW5zaWduZWQpOwotICAgIH0K
LSAgICB0aGlzLmJ1ZmZlci5zZXRVaW50NjQodGhpcy5uZXh0LCB2YWwpOwotICAgIHRoaXMubmV4
dCArPSA4OwotICB9OwotCi0gIEVuY29kZXIucHJvdG90eXBlLndyaXRlRmxvYXQgPSBmdW5jdGlv
bih2YWwpIHsKLSAgICB0aGlzLmJ1ZmZlci5zZXRGbG9hdDMyKHRoaXMubmV4dCwgdmFsKTsKLSAg
ICB0aGlzLm5leHQgKz0gNDsKLSAgfTsKLQotICBFbmNvZGVyLnByb3RvdHlwZS53cml0ZURvdWJs
ZSA9IGZ1bmN0aW9uKHZhbCkgewotICAgIHRoaXMuYnVmZmVyLnNldEZsb2F0NjQodGhpcy5uZXh0
LCB2YWwpOwotICAgIHRoaXMubmV4dCArPSA4OwotICB9OwotCi0gIEVuY29kZXIucHJvdG90eXBl
LmVuY29kZVBvaW50ZXIgPSBmdW5jdGlvbihwb2ludGVyKSB7Ci0gICAgaWYgKCFwb2ludGVyKQot
ICAgICAgcmV0dXJuIHRoaXMud3JpdGVVaW50NjQoMCk7Ci0gICAgLy8gVE9ETyhhYmFydGgpOiBU
byBjb3JyZWN0bHkgZW5jb2RlIGEgcG9pbnRlciwgd2UgbmVlZCB0byBrbm93IHRoZSByZWFsCi0g
ICAgLy8gYmFzZSBhZGRyZXNzIG9mIHRoZSBhcnJheSBidWZmZXIuCi0gICAgdmFyIG9mZnNldCA9
IHBvaW50ZXIgLSB0aGlzLm5leHQ7Ci0gICAgdGhpcy53cml0ZVVpbnQ2NChvZmZzZXQpOwotICB9
OwotCi0gIEVuY29kZXIucHJvdG90eXBlLmNyZWF0ZUFuZEVuY29kZUVuY29kZXIgPSBmdW5jdGlv
bihzaXplKSB7Ci0gICAgdmFyIHBvaW50ZXIgPSB0aGlzLmJ1ZmZlci5hbGxvYyhhbGlnbihzaXpl
KSk7Ci0gICAgdGhpcy5lbmNvZGVQb2ludGVyKHBvaW50ZXIpOwotICAgIHJldHVybiBuZXcgRW5j
b2Rlcih0aGlzLmJ1ZmZlciwgdGhpcy5oYW5kbGVzLAotICAgICAgICB0aGlzLmFzc29jaWF0ZWRF
bmRwb2ludEhhbmRsZXMsIHBvaW50ZXIpOwotICB9OwotCi0gIEVuY29kZXIucHJvdG90eXBlLmVu
Y29kZUhhbmRsZSA9IGZ1bmN0aW9uKGhhbmRsZSkgewotICAgIGlmIChoYW5kbGUpIHsKLSAgICAg
IHRoaXMuaGFuZGxlcy5wdXNoKGhhbmRsZSk7Ci0gICAgICB0aGlzLndyaXRlVWludDMyKHRoaXMu
aGFuZGxlcy5sZW5ndGggLSAxKTsKLSAgICB9IGVsc2UgewotICAgICAgdGhpcy53cml0ZVVpbnQz
MihrRW5jb2RlZEludmFsaWRIYW5kbGVWYWx1ZSk7Ci0gICAgfQotICB9OwotCi0gIEVuY29kZXIu
cHJvdG90eXBlLmVuY29kZUFzc29jaWF0ZWRFbmRwb2ludEhhbmRsZSA9IGZ1bmN0aW9uKGVuZHBv
aW50SGFuZGxlKSB7Ci0gICAgaWYgKGVuZHBvaW50SGFuZGxlKSB7Ci0gICAgICB0aGlzLmFzc29j
aWF0ZWRFbmRwb2ludEhhbmRsZXMucHVzaChlbmRwb2ludEhhbmRsZSk7Ci0gICAgICB0aGlzLndy
aXRlVWludDMyKHRoaXMuYXNzb2NpYXRlZEVuZHBvaW50SGFuZGxlcy5sZW5ndGggLSAxKTsKLSAg
ICB9IGVsc2UgewotICAgICAgdGhpcy53cml0ZVVpbnQzMihrRW5jb2RlZEludmFsaWRIYW5kbGVW
YWx1ZSk7Ci0gICAgfQotICB9OwotCi0gIEVuY29kZXIucHJvdG90eXBlLmVuY29kZVN0cmluZyA9
IGZ1bmN0aW9uKHZhbCkgewotICAgIHZhciBiYXNlID0gdGhpcy5uZXh0ICsga0FycmF5SGVhZGVy
U2l6ZTsKLSAgICB2YXIgbnVtYmVyT2ZFbGVtZW50cyA9IGludGVybmFsLmVuY29kZVV0ZjhTdHJp
bmcoCi0gICAgICAgIHZhbCwgbmV3IFVpbnQ4QXJyYXkodGhpcy5idWZmZXIuYXJyYXlCdWZmZXIs
IGJhc2UpKTsKLSAgICB2YXIgbnVtYmVyT2ZCeXRlcyA9IGtBcnJheUhlYWRlclNpemUgKyBudW1i
ZXJPZkVsZW1lbnRzOwotICAgIHRoaXMud3JpdGVVaW50MzIobnVtYmVyT2ZCeXRlcyk7Ci0gICAg
dGhpcy53cml0ZVVpbnQzMihudW1iZXJPZkVsZW1lbnRzKTsKLSAgICB0aGlzLm5leHQgKz0gbnVt
YmVyT2ZFbGVtZW50czsKLSAgfTsKLQotICBFbmNvZGVyLnByb3RvdHlwZS5lbmNvZGVBcnJheSA9
Ci0gICAgICBmdW5jdGlvbihjbHMsIHZhbCwgbnVtYmVyT2ZFbGVtZW50cywgZW5jb2RlZFNpemUp
IHsKLSAgICBpZiAobnVtYmVyT2ZFbGVtZW50cyA9PT0gdW5kZWZpbmVkKQotICAgICAgbnVtYmVy
T2ZFbGVtZW50cyA9IHZhbC5sZW5ndGg7Ci0gICAgaWYgKGVuY29kZWRTaXplID09PSB1bmRlZmlu
ZWQpCi0gICAgICBlbmNvZGVkU2l6ZSA9IGtBcnJheUhlYWRlclNpemUgKyBjbHMuZW5jb2RlZFNp
emUgKiBudW1iZXJPZkVsZW1lbnRzOwotCi0gICAgdGhpcy53cml0ZVVpbnQzMihlbmNvZGVkU2l6
ZSk7Ci0gICAgdGhpcy53cml0ZVVpbnQzMihudW1iZXJPZkVsZW1lbnRzKTsKLQotICAgIGlmIChj
bHMgPT09IFBhY2tlZEJvb2wpIHsKLSAgICAgIHZhciBieXRlID0gMDsKLSAgICAgIGZvciAoaSA9
IDA7IGkgPCBudW1iZXJPZkVsZW1lbnRzOyArK2kpIHsKLSAgICAgICAgaWYgKHZhbFtpXSkKLSAg
ICAgICAgICBieXRlIHw9ICgxIDw8IGkgJSA4KTsKLSAgICAgICAgaWYgKGkgJSA4ID09PSA3IHx8
IGkgPT0gbnVtYmVyT2ZFbGVtZW50cyAtIDEpIHsKLSAgICAgICAgICBVaW50OC5lbmNvZGUodGhp
cywgYnl0ZSk7Ci0gICAgICAgICAgYnl0ZSA9IDA7Ci0gICAgICAgIH0KLSAgICAgIH0KLSAgICB9
IGVsc2UgewotICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBudW1iZXJPZkVsZW1lbnRzOyArK2kp
Ci0gICAgICAgIGNscy5lbmNvZGUodGhpcywgdmFsW2ldKTsKLSAgICB9Ci0gIH07Ci0KLSAgRW5j
b2Rlci5wcm90b3R5cGUuZW5jb2RlU3RydWN0ID0gZnVuY3Rpb24oY2xzLCB2YWwpIHsKLSAgICBy
ZXR1cm4gY2xzLmVuY29kZSh0aGlzLCB2YWwpOwotICB9OwotCi0gIEVuY29kZXIucHJvdG90eXBl
LmVuY29kZVN0cnVjdFBvaW50ZXIgPSBmdW5jdGlvbihjbHMsIHZhbCkgewotICAgIGlmICh2YWwg
PT0gbnVsbCkgewotICAgICAgLy8gQWxzbyBoYW5kbGVzIHVuZGVmaW5lZCwgc2luY2UgdW5kZWZp
bmVkID09IG51bGwuCi0gICAgICB0aGlzLmVuY29kZVBvaW50ZXIodmFsKTsKLSAgICAgIHJldHVy
bjsKLSAgICB9Ci0gICAgdmFyIGVuY29kZXIgPSB0aGlzLmNyZWF0ZUFuZEVuY29kZUVuY29kZXIo
Y2xzLmVuY29kZWRTaXplKTsKLSAgICBjbHMuZW5jb2RlKGVuY29kZXIsIHZhbCk7Ci0gIH07Ci0K
LSAgRW5jb2Rlci5wcm90b3R5cGUuZW5jb2RlQXJyYXlQb2ludGVyID0gZnVuY3Rpb24oY2xzLCB2
YWwpIHsKLSAgICBpZiAodmFsID09IG51bGwpIHsKLSAgICAgIC8vIEFsc28gaGFuZGxlcyB1bmRl
ZmluZWQsIHNpbmNlIHVuZGVmaW5lZCA9PSBudWxsLgotICAgICAgdGhpcy5lbmNvZGVQb2ludGVy
KHZhbCk7Ci0gICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgdmFyIG51bWJlck9mRWxlbWVudHMg
PSB2YWwubGVuZ3RoOwotICAgIGlmICghTnVtYmVyLmlzU2FmZUludGVnZXIobnVtYmVyT2ZFbGVt
ZW50cykgfHwgbnVtYmVyT2ZFbGVtZW50cyA8IDApCi0gICAgICB0aHJvdyBuZXcgRXJyb3Ioa0Vy
cm9yQXJyYXkpOwotCi0gICAgdmFyIGVuY29kZWRTaXplID0ga0FycmF5SGVhZGVyU2l6ZSArICgo
Y2xzID09PSBQYWNrZWRCb29sKSA/Ci0gICAgICAgIE1hdGguY2VpbChudW1iZXJPZkVsZW1lbnRz
IC8gOCkgOiBjbHMuZW5jb2RlZFNpemUgKiBudW1iZXJPZkVsZW1lbnRzKTsKLSAgICB2YXIgZW5j
b2RlciA9IHRoaXMuY3JlYXRlQW5kRW5jb2RlRW5jb2RlcihlbmNvZGVkU2l6ZSk7Ci0gICAgZW5j
b2Rlci5lbmNvZGVBcnJheShjbHMsIHZhbCwgbnVtYmVyT2ZFbGVtZW50cywgZW5jb2RlZFNpemUp
OwotICB9OwotCi0gIEVuY29kZXIucHJvdG90eXBlLmVuY29kZVN0cmluZ1BvaW50ZXIgPSBmdW5j
dGlvbih2YWwpIHsKLSAgICBpZiAodmFsID09IG51bGwpIHsKLSAgICAgIC8vIEFsc28gaGFuZGxl
cyB1bmRlZmluZWQsIHNpbmNlIHVuZGVmaW5lZCA9PSBudWxsLgotICAgICAgdGhpcy5lbmNvZGVQ
b2ludGVyKHZhbCk7Ci0gICAgICByZXR1cm47Ci0gICAgfQotICAgIC8vIE9ubHkgYWNjZXB0cyBz
dHJpbmcgcHJpbWl2aXRlcywgbm90IFN0cmluZyBPYmplY3RzIGxpa2UgbmV3IFN0cmluZygiZm9v
IikKLSAgICBpZiAodHlwZW9mKHZhbCkgIT09ICJzdHJpbmciKSB7Ci0gICAgICB0aHJvdyBuZXcg
RXJyb3Ioa0Vycm9yU3RyaW5nKTsKLSAgICB9Ci0gICAgdmFyIGVuY29kZWRTaXplID0ga0FycmF5
SGVhZGVyU2l6ZSArIGludGVybmFsLnV0ZjhMZW5ndGgodmFsKTsKLSAgICB2YXIgZW5jb2RlciA9
IHRoaXMuY3JlYXRlQW5kRW5jb2RlRW5jb2RlcihlbmNvZGVkU2l6ZSk7Ci0gICAgZW5jb2Rlci5l
bmNvZGVTdHJpbmcodmFsKTsKLSAgfTsKLQotICBFbmNvZGVyLnByb3RvdHlwZS5lbmNvZGVNYXAg
PSBmdW5jdGlvbihrZXlDbGFzcywgdmFsdWVDbGFzcywgdmFsKSB7Ci0gICAgdmFyIGtleXMgPSBu
ZXcgQXJyYXkodmFsLnNpemUpOwotICAgIHZhciB2YWx1ZXMgPSBuZXcgQXJyYXkodmFsLnNpemUp
OwotICAgIHZhciBpID0gMDsKLSAgICB2YWwuZm9yRWFjaChmdW5jdGlvbih2YWx1ZSwga2V5KSB7
Ci0gICAgICB2YWx1ZXNbaV0gPSB2YWx1ZTsKLSAgICAgIGtleXNbaSsrXSA9IGtleTsKLSAgICB9
KTsKLSAgICB0aGlzLndyaXRlVWludDMyKGtTdHJ1Y3RIZWFkZXJTaXplICsga01hcFN0cnVjdFBh
eWxvYWRTaXplKTsKLSAgICB0aGlzLndyaXRlVWludDMyKDApOyAgLy8gdmVyc2lvbgotICAgIHRo
aXMuZW5jb2RlQXJyYXlQb2ludGVyKGtleUNsYXNzLCBrZXlzKTsKLSAgICB0aGlzLmVuY29kZUFy
cmF5UG9pbnRlcih2YWx1ZUNsYXNzLCB2YWx1ZXMpOwotICB9Ci0KLSAgRW5jb2Rlci5wcm90b3R5
cGUuZW5jb2RlTWFwUG9pbnRlciA9IGZ1bmN0aW9uKGtleUNsYXNzLCB2YWx1ZUNsYXNzLCB2YWwp
IHsKLSAgICBpZiAodmFsID09IG51bGwpIHsKLSAgICAgIC8vIEFsc28gaGFuZGxlcyB1bmRlZmlu
ZWQsIHNpbmNlIHVuZGVmaW5lZCA9PSBudWxsLgotICAgICAgdGhpcy5lbmNvZGVQb2ludGVyKHZh
bCk7Ci0gICAgICByZXR1cm47Ci0gICAgfQotICAgIGlmICghKHZhbCBpbnN0YW5jZW9mIE1hcCkp
IHsKLSAgICAgIHRocm93IG5ldyBFcnJvcihrRXJyb3JNYXApOwotICAgIH0KLSAgICB2YXIgZW5j
b2RlZFNpemUgPSBrU3RydWN0SGVhZGVyU2l6ZSArIGtNYXBTdHJ1Y3RQYXlsb2FkU2l6ZTsKLSAg
ICB2YXIgZW5jb2RlciA9IHRoaXMuY3JlYXRlQW5kRW5jb2RlRW5jb2RlcihlbmNvZGVkU2l6ZSk7
Ci0gICAgZW5jb2Rlci5lbmNvZGVNYXAoa2V5Q2xhc3MsIHZhbHVlQ2xhc3MsIHZhbCk7Ci0gIH07
Ci0KLSAgLy8gTWVzc2FnZSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLQotICB2YXIga01lc3NhZ2VJbnRlcmZhY2VJZE9m
ZnNldCA9IGtTdHJ1Y3RIZWFkZXJTaXplOwotICB2YXIga01lc3NhZ2VOYW1lT2Zmc2V0ID0ga01l
c3NhZ2VJbnRlcmZhY2VJZE9mZnNldCArIDQ7Ci0gIHZhciBrTWVzc2FnZUZsYWdzT2Zmc2V0ID0g
a01lc3NhZ2VOYW1lT2Zmc2V0ICsgNDsKLSAgdmFyIGtNZXNzYWdlUmVxdWVzdElET2Zmc2V0ID0g
a01lc3NhZ2VGbGFnc09mZnNldCArIDg7Ci0gIHZhciBrTWVzc2FnZVBheWxvYWRJbnRlcmZhY2VJ
ZHNQb2ludGVyT2Zmc2V0ID0ga01lc3NhZ2VWMkhlYWRlclNpemUgLSA4OwotCi0gIHZhciBrTWVz
c2FnZUV4cGVjdHNSZXNwb25zZSA9IDEgPDwgMDsKLSAgdmFyIGtNZXNzYWdlSXNSZXNwb25zZSAg
ICAgID0gMSA8PCAxOwotCi0gIGZ1bmN0aW9uIE1lc3NhZ2UoYnVmZmVyLCBoYW5kbGVzLCBhc3Nv
Y2lhdGVkRW5kcG9pbnRIYW5kbGVzKSB7Ci0gICAgaWYgKGFzc29jaWF0ZWRFbmRwb2ludEhhbmRs
ZXMgPT09IHVuZGVmaW5lZCkgewotICAgICAgYXNzb2NpYXRlZEVuZHBvaW50SGFuZGxlcyA9IFtd
OwotICAgIH0KLQotICAgIHRoaXMuYnVmZmVyID0gYnVmZmVyOwotICAgIHRoaXMuaGFuZGxlcyA9
IGhhbmRsZXM7Ci0gICAgdGhpcy5hc3NvY2lhdGVkRW5kcG9pbnRIYW5kbGVzID0gYXNzb2NpYXRl
ZEVuZHBvaW50SGFuZGxlczsKLSAgfQotCi0gIE1lc3NhZ2UucHJvdG90eXBlLmdldEhlYWRlck51
bUJ5dGVzID0gZnVuY3Rpb24oKSB7Ci0gICAgcmV0dXJuIHRoaXMuYnVmZmVyLmdldFVpbnQzMihr
U3RydWN0SGVhZGVyTnVtQnl0ZXNPZmZzZXQpOwotICB9OwotCi0gIE1lc3NhZ2UucHJvdG90eXBl
LmdldEhlYWRlclZlcnNpb24gPSBmdW5jdGlvbigpIHsKLSAgICByZXR1cm4gdGhpcy5idWZmZXIu
Z2V0VWludDMyKGtTdHJ1Y3RIZWFkZXJWZXJzaW9uT2Zmc2V0KTsKLSAgfTsKLQotICBNZXNzYWdl
LnByb3RvdHlwZS5nZXROYW1lID0gZnVuY3Rpb24oKSB7Ci0gICAgcmV0dXJuIHRoaXMuYnVmZmVy
LmdldFVpbnQzMihrTWVzc2FnZU5hbWVPZmZzZXQpOwotICB9OwotCi0gIE1lc3NhZ2UucHJvdG90
eXBlLmdldEZsYWdzID0gZnVuY3Rpb24oKSB7Ci0gICAgcmV0dXJuIHRoaXMuYnVmZmVyLmdldFVp
bnQzMihrTWVzc2FnZUZsYWdzT2Zmc2V0KTsKLSAgfTsKLQotICBNZXNzYWdlLnByb3RvdHlwZS5n
ZXRJbnRlcmZhY2VJZCA9IGZ1bmN0aW9uKCkgewotICAgIHJldHVybiB0aGlzLmJ1ZmZlci5nZXRV
aW50MzIoa01lc3NhZ2VJbnRlcmZhY2VJZE9mZnNldCk7Ci0gIH07Ci0KLSAgTWVzc2FnZS5wcm90
b3R5cGUuZ2V0UGF5bG9hZEludGVyZmFjZUlkcyA9IGZ1bmN0aW9uKCkgewotICAgIGlmICh0aGlz
LmdldEhlYWRlclZlcnNpb24oKSA8IDIpIHsKLSAgICAgIHJldHVybiBudWxsOwotICAgIH0KLQot
ICAgIHZhciBkZWNvZGVyID0gbmV3IERlY29kZXIodGhpcy5idWZmZXIsIHRoaXMuaGFuZGxlcywK
LSAgICAgICAgdGhpcy5hc3NvY2lhdGVkRW5kcG9pbnRIYW5kbGVzLAotICAgICAgICBrTWVzc2Fn
ZVBheWxvYWRJbnRlcmZhY2VJZHNQb2ludGVyT2Zmc2V0KTsKLSAgICB2YXIgcGF5bG9hZEludGVy
ZmFjZUlkcyA9IGRlY29kZXIuZGVjb2RlQXJyYXlQb2ludGVyKFVpbnQzMik7Ci0gICAgcmV0dXJu
IHBheWxvYWRJbnRlcmZhY2VJZHM7Ci0gIH07Ci0KLSAgTWVzc2FnZS5wcm90b3R5cGUuaXNSZXNw
b25zZSA9IGZ1bmN0aW9uKCkgewotICAgIHJldHVybiAodGhpcy5nZXRGbGFncygpICYga01lc3Nh
Z2VJc1Jlc3BvbnNlKSAhPSAwOwotICB9OwotCi0gIE1lc3NhZ2UucHJvdG90eXBlLmV4cGVjdHNS
ZXNwb25zZSA9IGZ1bmN0aW9uKCkgewotICAgIHJldHVybiAodGhpcy5nZXRGbGFncygpICYga01l
c3NhZ2VFeHBlY3RzUmVzcG9uc2UpICE9IDA7Ci0gIH07Ci0KLSAgTWVzc2FnZS5wcm90b3R5cGUu
c2V0UmVxdWVzdElEID0gZnVuY3Rpb24ocmVxdWVzdElEKSB7Ci0gICAgLy8gVE9ETyhkYXJpbik6
IFZlcmlmeSB0aGF0IHNwYWNlIHdhcyByZXNlcnZlZCBmb3IgdGhpcyBmaWVsZCEKLSAgICB0aGlz
LmJ1ZmZlci5zZXRVaW50NjQoa01lc3NhZ2VSZXF1ZXN0SURPZmZzZXQsIHJlcXVlc3RJRCk7Ci0g
IH07Ci0KLSAgTWVzc2FnZS5wcm90b3R5cGUuc2V0SW50ZXJmYWNlSWQgPSBmdW5jdGlvbihpbnRl
cmZhY2VJZCkgewotICAgIHRoaXMuYnVmZmVyLnNldFVpbnQzMihrTWVzc2FnZUludGVyZmFjZUlk
T2Zmc2V0LCBpbnRlcmZhY2VJZCk7Ci0gIH07Ci0KLSAgTWVzc2FnZS5wcm90b3R5cGUuc2V0UGF5
bG9hZEludGVyZmFjZUlkc18gPSBmdW5jdGlvbihwYXlsb2FkSW50ZXJmYWNlSWRzKSB7Ci0gICAg
aWYgKHRoaXMuZ2V0SGVhZGVyVmVyc2lvbigpIDwgMikgewotICAgICAgdGhyb3cgbmV3IEVycm9y
KAotICAgICAgICAgICJWZXJzaW9uIG9mIG1lc3NhZ2UgZG9lcyBub3Qgc3VwcG9ydCBwYXlsb2Fk
IGludGVyZmFjZSBpZHMiKTsKLSAgICB9Ci0KLSAgICB2YXIgZGVjb2RlciA9IG5ldyBEZWNvZGVy
KHRoaXMuYnVmZmVyLCB0aGlzLmhhbmRsZXMsCi0gICAgICAgIHRoaXMuYXNzb2NpYXRlZEVuZHBv
aW50SGFuZGxlcywKLSAgICAgICAga01lc3NhZ2VQYXlsb2FkSW50ZXJmYWNlSWRzUG9pbnRlck9m
ZnNldCk7Ci0gICAgdmFyIHBheWxvYWRJbnRlcmZhY2VJZHNPZmZzZXQgPSBkZWNvZGVyLmRlY29k
ZVBvaW50ZXIoKTsKLSAgICB2YXIgZW5jb2RlciA9IG5ldyBFbmNvZGVyKHRoaXMuYnVmZmVyLCB0
aGlzLmhhbmRsZXMsCi0gICAgICAgIHRoaXMuYXNzb2NpYXRlZEVuZHBvaW50SGFuZGxlcywKLSAg
ICAgICAgcGF5bG9hZEludGVyZmFjZUlkc09mZnNldCk7Ci0gICAgZW5jb2Rlci5lbmNvZGVBcnJh
eShVaW50MzIsIHBheWxvYWRJbnRlcmZhY2VJZHMpOwotICB9OwotCi0gIE1lc3NhZ2UucHJvdG90
eXBlLnNlcmlhbGl6ZUFzc29jaWF0ZWRFbmRwb2ludEhhbmRsZXMgPSBmdW5jdGlvbigKLSAgICAg
IGFzc29jaWF0ZWRHcm91cENvbnRyb2xsZXIpIHsKLSAgICBpZiAodGhpcy5hc3NvY2lhdGVkRW5k
cG9pbnRIYW5kbGVzLmxlbmd0aCA+IDApIHsKLSAgICAgIGlmICh0aGlzLmdldEhlYWRlclZlcnNp
b24oKSA8IDIpIHsKLSAgICAgICAgdGhyb3cgbmV3IEVycm9yKAotICAgICAgICAgICAgIlZlcnNp
b24gb2YgbWVzc2FnZSBkb2VzIG5vdCBzdXBwb3J0IGFzc29jaWF0ZWQgZW5kcG9pbnQgaGFuZGxl
cyIpOwotICAgICAgfQotCi0gICAgICB2YXIgZGF0YSA9IFtdOwotICAgICAgZm9yICh2YXIgaSA9
IDA7IGkgPCB0aGlzLmFzc29jaWF0ZWRFbmRwb2ludEhhbmRsZXMubGVuZ3RoOyBpKyspIHsKLSAg
ICAgICAgdmFyIGhhbmRsZSA9IHRoaXMuYXNzb2NpYXRlZEVuZHBvaW50SGFuZGxlc1tpXTsKLSAg
ICAgICAgZGF0YS5wdXNoKGFzc29jaWF0ZWRHcm91cENvbnRyb2xsZXIuYXNzb2NpYXRlSW50ZXJm
YWNlKGhhbmRsZSkpOwotICAgICAgfQotICAgICAgdGhpcy5hc3NvY2lhdGVkRW5kcG9pbnRIYW5k
bGVzID0gW107Ci0gICAgICB0aGlzLnNldFBheWxvYWRJbnRlcmZhY2VJZHNfKGRhdGEpOwotICAg
IH0KLSAgfTsKLQotICBNZXNzYWdlLnByb3RvdHlwZS5kZXNlcmlhbGl6ZUFzc29jaWF0ZWRFbmRw
b2ludEhhbmRsZXMgPSBmdW5jdGlvbigKLSAgICAgIGFzc29jaWF0ZWRHcm91cENvbnRyb2xsZXIp
IHsKLSAgICBpZiAodGhpcy5nZXRIZWFkZXJWZXJzaW9uKCkgPCAyKSB7Ci0gICAgICByZXR1cm4g
dHJ1ZTsKLSAgICB9Ci0KLSAgICB0aGlzLmFzc29jaWF0ZWRFbmRwb2ludEhhbmRsZXMgPSBbXTsK
LSAgICB2YXIgaWRzID0gdGhpcy5nZXRQYXlsb2FkSW50ZXJmYWNlSWRzKCk7Ci0KLSAgICB2YXIg
cmVzdWx0ID0gdHJ1ZTsKLSAgICBmb3IgKHZhciBpID0gMDsgaSA8IGlkcy5sZW5ndGg7IGkrKykg
ewotICAgICAgdmFyIGhhbmRsZSA9IGFzc29jaWF0ZWRHcm91cENvbnRyb2xsZXIuY3JlYXRlTG9j
YWxFbmRwb2ludEhhbmRsZShpZHNbaV0pOwotICAgICAgaWYgKGludGVybmFsLmlzVmFsaWRJbnRl
cmZhY2VJZChpZHNbaV0pICYmICFoYW5kbGUuaXNWYWxpZCgpKSB7Ci0gICAgICAgIC8vIHxpZHNb
aV18IGl0c2VsZiBpcyB2YWxpZCBidXQgaGFuZGxlIGNyZWF0aW9uIGZhaWxlZC4gSW4gdGhhdCBj
YXNlLAotICAgICAgICAvLyBtYXJrIGRlc2VyaWFsaXphdGlvbiBhcyBmYWlsZWQgYnV0IGNvbnRp
bnVlIHRvIGRlc2VyaWFsaXplIHRoZQotICAgICAgICAvLyByZXN0IG9mIGhhbmRsZXMuCi0gICAg
ICAgIHJlc3VsdCA9IGZhbHNlOwotICAgICAgfQotICAgICAgdGhpcy5hc3NvY2lhdGVkRW5kcG9p
bnRIYW5kbGVzLnB1c2goaGFuZGxlKTsKLSAgICAgIGlkc1tpXSA9IGludGVybmFsLmtJbnZhbGlk
SW50ZXJmYWNlSWQ7Ci0gICAgfQotCi0gICAgdGhpcy5zZXRQYXlsb2FkSW50ZXJmYWNlSWRzXyhp
ZHMpOwotICAgIHJldHVybiByZXN1bHQ7Ci0gIH07Ci0KLQotICAvLyBNZXNzYWdlVjBCdWlsZGVy
IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LQotCi0gIGZ1bmN0aW9uIE1lc3NhZ2VWMEJ1aWxkZXIobWVzc2FnZU5hbWUsIHBheWxvYWRTaXpl
KSB7Ci0gICAgLy8gQ3VycmVudGx5LCB3ZSBkb24ndCBjb21wdXRlIHRoZSBwYXlsb2FkIHNpemUg
Y29ycmVjdGx5IGFoZWFkIG9mIHRpbWUuCi0gICAgLy8gSW5zdGVhZCwgd2UgcmVzaXplIHRoZSBi
dWZmZXIgYXQgdGhlIGVuZC4KLSAgICB2YXIgbnVtYmVyT2ZCeXRlcyA9IGtNZXNzYWdlVjBIZWFk
ZXJTaXplICsgcGF5bG9hZFNpemU7Ci0gICAgdGhpcy5idWZmZXIgPSBuZXcgaW50ZXJuYWwuQnVm
ZmVyKG51bWJlck9mQnl0ZXMpOwotICAgIHRoaXMuaGFuZGxlcyA9IFtdOwotICAgIHZhciBlbmNv
ZGVyID0gdGhpcy5jcmVhdGVFbmNvZGVyKGtNZXNzYWdlVjBIZWFkZXJTaXplKTsKLSAgICBlbmNv
ZGVyLndyaXRlVWludDMyKGtNZXNzYWdlVjBIZWFkZXJTaXplKTsKLSAgICBlbmNvZGVyLndyaXRl
VWludDMyKDApOyAgLy8gdmVyc2lvbi4KLSAgICBlbmNvZGVyLndyaXRlVWludDMyKDApOyAgLy8g
aW50ZXJmYWNlIElELgotICAgIGVuY29kZXIud3JpdGVVaW50MzIobWVzc2FnZU5hbWUpOwotICAg
IGVuY29kZXIud3JpdGVVaW50MzIoMCk7ICAvLyBmbGFncy4KLSAgICBlbmNvZGVyLndyaXRlVWlu
dDMyKDApOyAgLy8gcGFkZGluZy4KLSAgfQotCi0gIE1lc3NhZ2VWMEJ1aWxkZXIucHJvdG90eXBl
LmNyZWF0ZUVuY29kZXIgPSBmdW5jdGlvbihzaXplKSB7Ci0gICAgdmFyIHBvaW50ZXIgPSB0aGlz
LmJ1ZmZlci5hbGxvYyhzaXplKTsKLSAgICByZXR1cm4gbmV3IEVuY29kZXIodGhpcy5idWZmZXIs
IHRoaXMuaGFuZGxlcywgW10sIHBvaW50ZXIpOwotICB9OwotCi0gIE1lc3NhZ2VWMEJ1aWxkZXIu
cHJvdG90eXBlLmVuY29kZVN0cnVjdCA9IGZ1bmN0aW9uKGNscywgdmFsKSB7Ci0gICAgY2xzLmVu
Y29kZSh0aGlzLmNyZWF0ZUVuY29kZXIoY2xzLmVuY29kZWRTaXplKSwgdmFsKTsKLSAgfTsKLQot
ICBNZXNzYWdlVjBCdWlsZGVyLnByb3RvdHlwZS5maW5pc2ggPSBmdW5jdGlvbigpIHsKLSAgICAv
LyBUT0RPKGFiYXJ0aCk6IFJhdGhlciB0aGFuIHJlc2l6aW5nIHRoZSBidWZmZXIgYXQgdGhlIGVu
ZCwgd2UgY291bGQKLSAgICAvLyBjb21wdXRlIHRoZSBzaXplIHdlIG5lZWQgYWhlYWQgb2YgdGlt
ZSwgbGlrZSB3ZSBkbyBpbiBDKysuCi0gICAgdGhpcy5idWZmZXIudHJpbSgpOwotICAgIHZhciBt
ZXNzYWdlID0gbmV3IE1lc3NhZ2UodGhpcy5idWZmZXIsIHRoaXMuaGFuZGxlcyk7Ci0gICAgdGhp
cy5idWZmZXIgPSBudWxsOwotICAgIHRoaXMuaGFuZGxlcyA9IG51bGw7Ci0gICAgdGhpcy5lbmNv
ZGVyID0gbnVsbDsKLSAgICByZXR1cm4gbWVzc2FnZTsKLSAgfTsKLQotICAvLyBNZXNzYWdlVjFC
dWlsZGVyIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0K
LSAgZnVuY3Rpb24gTWVzc2FnZVYxQnVpbGRlcihtZXNzYWdlTmFtZSwgcGF5bG9hZFNpemUsIGZs
YWdzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdElEKSB7
Ci0gICAgLy8gQ3VycmVudGx5LCB3ZSBkb24ndCBjb21wdXRlIHRoZSBwYXlsb2FkIHNpemUgY29y
cmVjdGx5IGFoZWFkIG9mIHRpbWUuCi0gICAgLy8gSW5zdGVhZCwgd2UgcmVzaXplIHRoZSBidWZm
ZXIgYXQgdGhlIGVuZC4KLSAgICB2YXIgbnVtYmVyT2ZCeXRlcyA9IGtNZXNzYWdlVjFIZWFkZXJT
aXplICsgcGF5bG9hZFNpemU7Ci0gICAgdGhpcy5idWZmZXIgPSBuZXcgaW50ZXJuYWwuQnVmZmVy
KG51bWJlck9mQnl0ZXMpOwotICAgIHRoaXMuaGFuZGxlcyA9IFtdOwotICAgIHZhciBlbmNvZGVy
ID0gdGhpcy5jcmVhdGVFbmNvZGVyKGtNZXNzYWdlVjFIZWFkZXJTaXplKTsKLSAgICBlbmNvZGVy
LndyaXRlVWludDMyKGtNZXNzYWdlVjFIZWFkZXJTaXplKTsKLSAgICBlbmNvZGVyLndyaXRlVWlu
dDMyKDEpOyAgLy8gdmVyc2lvbi4KLSAgICBlbmNvZGVyLndyaXRlVWludDMyKDApOyAgLy8gaW50
ZXJmYWNlIElELgotICAgIGVuY29kZXIud3JpdGVVaW50MzIobWVzc2FnZU5hbWUpOwotICAgIGVu
Y29kZXIud3JpdGVVaW50MzIoZmxhZ3MpOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoMCk7ICAv
LyBwYWRkaW5nLgotICAgIGVuY29kZXIud3JpdGVVaW50NjQocmVxdWVzdElEKTsKLSAgfQotCi0g
IE1lc3NhZ2VWMUJ1aWxkZXIucHJvdG90eXBlID0KLSAgICAgIE9iamVjdC5jcmVhdGUoTWVzc2Fn
ZVYwQnVpbGRlci5wcm90b3R5cGUpOwotCi0gIE1lc3NhZ2VWMUJ1aWxkZXIucHJvdG90eXBlLmNv
bnN0cnVjdG9yID0KLSAgICAgIE1lc3NhZ2VWMUJ1aWxkZXI7Ci0KLSAgLy8gTWVzc2FnZVYyIC0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0KLSAgZnVuY3Rp
b24gTWVzc2FnZVYyQnVpbGRlcihtZXNzYWdlTmFtZSwgcGF5bG9hZFNpemUsIGZsYWdzLCByZXF1
ZXN0SUQpIHsKLSAgICAvLyBDdXJyZW50bHksIHdlIGRvbid0IGNvbXB1dGUgdGhlIHBheWxvYWQg
c2l6ZSBjb3JyZWN0bHkgYWhlYWQgb2YgdGltZS4KLSAgICAvLyBJbnN0ZWFkLCB3ZSByZXNpemUg
dGhlIGJ1ZmZlciBhdCB0aGUgZW5kLgotICAgIHZhciBudW1iZXJPZkJ5dGVzID0ga01lc3NhZ2VW
MkhlYWRlclNpemUgKyBwYXlsb2FkU2l6ZTsKLSAgICB0aGlzLmJ1ZmZlciA9IG5ldyBpbnRlcm5h
bC5CdWZmZXIobnVtYmVyT2ZCeXRlcyk7Ci0gICAgdGhpcy5oYW5kbGVzID0gW107Ci0KLSAgICB0
aGlzLnBheWxvYWQgPSBudWxsOwotICAgIHRoaXMuYXNzb2NpYXRlZEVuZHBvaW50SGFuZGxlcyA9
IFtdOwotCi0gICAgdGhpcy5lbmNvZGVyID0gdGhpcy5jcmVhdGVFbmNvZGVyKGtNZXNzYWdlVjJI
ZWFkZXJTaXplKTsKLSAgICB0aGlzLmVuY29kZXIud3JpdGVVaW50MzIoa01lc3NhZ2VWMkhlYWRl
clNpemUpOwotICAgIHRoaXMuZW5jb2Rlci53cml0ZVVpbnQzMigyKTsgIC8vIHZlcnNpb24uCi0g
ICAgLy8gR2V0cyBzZXQgdG8gYW4gYXBwcm9wcmlhdGUgaW50ZXJmYWNlSWQgZm9yIHRoZSBlbmRw
b2ludCBieSB0aGUgUm91dGVyLgotICAgIHRoaXMuZW5jb2Rlci53cml0ZVVpbnQzMigwKTsgIC8v
IGludGVyZmFjZSBJRC4KLSAgICB0aGlzLmVuY29kZXIud3JpdGVVaW50MzIobWVzc2FnZU5hbWUp
OwotICAgIHRoaXMuZW5jb2Rlci53cml0ZVVpbnQzMihmbGFncyk7Ci0gICAgdGhpcy5lbmNvZGVy
LndyaXRlVWludDMyKDApOyAgLy8gcGFkZGluZy4KLSAgICB0aGlzLmVuY29kZXIud3JpdGVVaW50
NjQocmVxdWVzdElEKTsKLSAgfQotCi0gIE1lc3NhZ2VWMkJ1aWxkZXIucHJvdG90eXBlLmNyZWF0
ZUVuY29kZXIgPSBmdW5jdGlvbihzaXplKSB7Ci0gICAgdmFyIHBvaW50ZXIgPSB0aGlzLmJ1ZmZl
ci5hbGxvYyhzaXplKTsKLSAgICByZXR1cm4gbmV3IEVuY29kZXIodGhpcy5idWZmZXIsIHRoaXMu
aGFuZGxlcywKLSAgICAgICAgdGhpcy5hc3NvY2lhdGVkRW5kcG9pbnRIYW5kbGVzLCBwb2ludGVy
KTsKLSAgfTsKLQotICBNZXNzYWdlVjJCdWlsZGVyLnByb3RvdHlwZS5zZXRQYXlsb2FkID0gZnVu
Y3Rpb24oY2xzLCB2YWwpIHsKLSAgICB0aGlzLnBheWxvYWQgPSB7Y2xzOiBjbHMsIHZhbDogdmFs
fTsKLSAgfTsKLQotICBNZXNzYWdlVjJCdWlsZGVyLnByb3RvdHlwZS5maW5pc2ggPSBmdW5jdGlv
bigpIHsKLSAgICBpZiAoIXRoaXMucGF5bG9hZCkgewotICAgICAgdGhyb3cgbmV3IEVycm9yKCJQ
YXlsb2FkIG5lZWRzIHRvIGJlIHNldCBiZWZvcmUgY2FsbGluZyBmaW5pc2giKTsKLSAgICB9Ci0K
LSAgICB0aGlzLmVuY29kZXIuZW5jb2RlU3RydWN0UG9pbnRlcih0aGlzLnBheWxvYWQuY2xzLCB0
aGlzLnBheWxvYWQudmFsKTsKLSAgICB0aGlzLmVuY29kZXIuZW5jb2RlQXJyYXlQb2ludGVyKFVp
bnQzMiwKLSAgICAgICAgbmV3IEFycmF5KHRoaXMuYXNzb2NpYXRlZEVuZHBvaW50SGFuZGxlcy5s
ZW5ndGgpKTsKLQotICAgIHRoaXMuYnVmZmVyLnRyaW0oKTsKLSAgICB2YXIgbWVzc2FnZSA9IG5l
dyBNZXNzYWdlKHRoaXMuYnVmZmVyLCB0aGlzLmhhbmRsZXMsCi0gICAgICAgIHRoaXMuYXNzb2Np
YXRlZEVuZHBvaW50SGFuZGxlcyk7Ci0gICAgdGhpcy5idWZmZXIgPSBudWxsOwotICAgIHRoaXMu
aGFuZGxlcyA9IG51bGw7Ci0gICAgdGhpcy5lbmNvZGVyID0gbnVsbDsKLSAgICB0aGlzLnBheWxv
YWQgPSBudWxsOwotICAgIHRoaXMuYXNzb2NpYXRlZEVuZHBvaW50SGFuZGxlcyA9IG51bGw7Ci0K
LSAgICByZXR1cm4gbWVzc2FnZTsKLSAgfTsKLQotICAvLyBNZXNzYWdlUmVhZGVyIC0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotCi0g
IGZ1bmN0aW9uIE1lc3NhZ2VSZWFkZXIobWVzc2FnZSkgewotICAgIHRoaXMuZGVjb2RlciA9IG5l
dyBEZWNvZGVyKG1lc3NhZ2UuYnVmZmVyLCBtZXNzYWdlLmhhbmRsZXMsCi0gICAgICAgIG1lc3Nh
Z2UuYXNzb2NpYXRlZEVuZHBvaW50SGFuZGxlcywgMCk7Ci0gICAgdmFyIG1lc3NhZ2VIZWFkZXJT
aXplID0gdGhpcy5kZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB0aGlzLnBheWxvYWRTaXplID0g
bWVzc2FnZS5idWZmZXIuYnl0ZUxlbmd0aCAtIG1lc3NhZ2VIZWFkZXJTaXplOwotICAgIHZhciB2
ZXJzaW9uID0gdGhpcy5kZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YXIgaW50ZXJmYWNlX2lk
ID0gdGhpcy5kZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB0aGlzLm1lc3NhZ2VOYW1lID0gdGhp
cy5kZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB0aGlzLmZsYWdzID0gdGhpcy5kZWNvZGVyLnJl
YWRVaW50MzIoKTsKLSAgICAvLyBTa2lwIHRoZSBwYWRkaW5nLgotICAgIHRoaXMuZGVjb2Rlci5z
a2lwKDQpOwotICAgIGlmICh2ZXJzaW9uID49IDEpCi0gICAgICB0aGlzLnJlcXVlc3RJRCA9IHRo
aXMuZGVjb2Rlci5yZWFkVWludDY0KCk7Ci0gICAgdGhpcy5kZWNvZGVyLnNraXAobWVzc2FnZUhl
YWRlclNpemUgLSB0aGlzLmRlY29kZXIubmV4dCk7Ci0gIH0KLQotICBNZXNzYWdlUmVhZGVyLnBy
b3RvdHlwZS5kZWNvZGVTdHJ1Y3QgPSBmdW5jdGlvbihjbHMpIHsKLSAgICByZXR1cm4gY2xzLmRl
Y29kZSh0aGlzLmRlY29kZXIpOwotICB9OwotCi0gIC8vIEJ1aWx0LWluIHR5cGVzIC0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0KLSAg
Ly8gVGhpcyB0eXBlIGlzIG9ubHkgdXNlZCB3aXRoIEFycmF5T2YoUGFja2VkQm9vbCkuCi0gIGZ1
bmN0aW9uIFBhY2tlZEJvb2woKSB7Ci0gIH0KLQotICBmdW5jdGlvbiBJbnQ4KCkgewotICB9Ci0K
LSAgSW50OC5lbmNvZGVkU2l6ZSA9IDE7Ci0KLSAgSW50OC5kZWNvZGUgPSBmdW5jdGlvbihkZWNv
ZGVyKSB7Ci0gICAgcmV0dXJuIGRlY29kZXIucmVhZEludDgoKTsKLSAgfTsKLQotICBJbnQ4LmVu
Y29kZSA9IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgIGVuY29kZXIud3JpdGVJbnQ4KHZh
bCk7Ci0gIH07Ci0KLSAgVWludDguZW5jb2RlID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0g
ICAgZW5jb2Rlci53cml0ZVVpbnQ4KHZhbCk7Ci0gIH07Ci0KLSAgZnVuY3Rpb24gVWludDgoKSB7
Ci0gIH0KLQotICBVaW50OC5lbmNvZGVkU2l6ZSA9IDE7Ci0KLSAgVWludDguZGVjb2RlID0gZnVu
Y3Rpb24oZGVjb2RlcikgewotICAgIHJldHVybiBkZWNvZGVyLnJlYWRVaW50OCgpOwotICB9Owot
Ci0gIFVpbnQ4LmVuY29kZSA9IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgIGVuY29kZXIu
d3JpdGVVaW50OCh2YWwpOwotICB9OwotCi0gIGZ1bmN0aW9uIEludDE2KCkgewotICB9Ci0KLSAg
SW50MTYuZW5jb2RlZFNpemUgPSAyOwotCi0gIEludDE2LmRlY29kZSA9IGZ1bmN0aW9uKGRlY29k
ZXIpIHsKLSAgICByZXR1cm4gZGVjb2Rlci5yZWFkSW50MTYoKTsKLSAgfTsKLQotICBJbnQxNi5l
bmNvZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2YWwpIHsKLSAgICBlbmNvZGVyLndyaXRlSW50MTYo
dmFsKTsKLSAgfTsKLQotICBmdW5jdGlvbiBVaW50MTYoKSB7Ci0gIH0KLQotICBVaW50MTYuZW5j
b2RlZFNpemUgPSAyOwotCi0gIFVpbnQxNi5kZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0g
ICAgcmV0dXJuIGRlY29kZXIucmVhZFVpbnQxNigpOwotICB9OwotCi0gIFVpbnQxNi5lbmNvZGUg
PSBmdW5jdGlvbihlbmNvZGVyLCB2YWwpIHsKLSAgICBlbmNvZGVyLndyaXRlVWludDE2KHZhbCk7
Ci0gIH07Ci0KLSAgZnVuY3Rpb24gSW50MzIoKSB7Ci0gIH0KLQotICBJbnQzMi5lbmNvZGVkU2l6
ZSA9IDQ7Ci0KLSAgSW50MzIuZGVjb2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHJldHVy
biBkZWNvZGVyLnJlYWRJbnQzMigpOwotICB9OwotCi0gIEludDMyLmVuY29kZSA9IGZ1bmN0aW9u
KGVuY29kZXIsIHZhbCkgewotICAgIGVuY29kZXIud3JpdGVJbnQzMih2YWwpOwotICB9OwotCi0g
IGZ1bmN0aW9uIFVpbnQzMigpIHsKLSAgfQotCi0gIFVpbnQzMi5lbmNvZGVkU2l6ZSA9IDQ7Ci0K
LSAgVWludDMyLmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICByZXR1cm4gZGVjb2Rl
ci5yZWFkVWludDMyKCk7Ci0gIH07Ci0KLSAgVWludDMyLmVuY29kZSA9IGZ1bmN0aW9uKGVuY29k
ZXIsIHZhbCkgewotICAgIGVuY29kZXIud3JpdGVVaW50MzIodmFsKTsKLSAgfTsKLQotICBmdW5j
dGlvbiBJbnQ2NCgpIHsKLSAgfQotCi0gIEludDY0LmVuY29kZWRTaXplID0gODsKLQotICBJbnQ2
NC5kZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgcmV0dXJuIGRlY29kZXIucmVhZElu
dDY0KCk7Ci0gIH07Ci0KLSAgSW50NjQuZW5jb2RlID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7
Ci0gICAgZW5jb2Rlci53cml0ZUludDY0KHZhbCk7Ci0gIH07Ci0KLSAgZnVuY3Rpb24gVWludDY0
KCkgewotICB9Ci0KLSAgVWludDY0LmVuY29kZWRTaXplID0gODsKLQotICBVaW50NjQuZGVjb2Rl
ID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHJldHVybiBkZWNvZGVyLnJlYWRVaW50NjQoKTsK
LSAgfTsKLQotICBVaW50NjQuZW5jb2RlID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAg
ZW5jb2Rlci53cml0ZVVpbnQ2NCh2YWwpOwotICB9OwotCi0gIGZ1bmN0aW9uIFN0cmluZygpIHsK
LSAgfTsKLQotICBTdHJpbmcuZW5jb2RlZFNpemUgPSA4OwotCi0gIFN0cmluZy5kZWNvZGUgPSBm
dW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgcmV0dXJuIGRlY29kZXIuZGVjb2RlU3RyaW5nUG9pbnRl
cigpOwotICB9OwotCi0gIFN0cmluZy5lbmNvZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2YWwpIHsK
LSAgICBlbmNvZGVyLmVuY29kZVN0cmluZ1BvaW50ZXIodmFsKTsKLSAgfTsKLQotICBmdW5jdGlv
biBOdWxsYWJsZVN0cmluZygpIHsKLSAgfQotCi0gIE51bGxhYmxlU3RyaW5nLmVuY29kZWRTaXpl
ID0gU3RyaW5nLmVuY29kZWRTaXplOwotCi0gIE51bGxhYmxlU3RyaW5nLmRlY29kZSA9IFN0cmlu
Zy5kZWNvZGU7Ci0KLSAgTnVsbGFibGVTdHJpbmcuZW5jb2RlID0gU3RyaW5nLmVuY29kZTsKLQot
ICBmdW5jdGlvbiBGbG9hdCgpIHsKLSAgfQotCi0gIEZsb2F0LmVuY29kZWRTaXplID0gNDsKLQot
ICBGbG9hdC5kZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgcmV0dXJuIGRlY29kZXIu
cmVhZEZsb2F0KCk7Ci0gIH07Ci0KLSAgRmxvYXQuZW5jb2RlID0gZnVuY3Rpb24oZW5jb2Rlciwg
dmFsKSB7Ci0gICAgZW5jb2Rlci53cml0ZUZsb2F0KHZhbCk7Ci0gIH07Ci0KLSAgZnVuY3Rpb24g
RG91YmxlKCkgewotICB9Ci0KLSAgRG91YmxlLmVuY29kZWRTaXplID0gODsKLQotICBEb3VibGUu
ZGVjb2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHJldHVybiBkZWNvZGVyLnJlYWREb3Vi
bGUoKTsKLSAgfTsKLQotICBEb3VibGUuZW5jb2RlID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7
Ci0gICAgZW5jb2Rlci53cml0ZURvdWJsZSh2YWwpOwotICB9OwotCi0gIGZ1bmN0aW9uIEVudW0o
Y2xzKSB7Ci0gICAgdGhpcy5jbHMgPSBjbHM7Ci0gIH0KLQotICBFbnVtLnByb3RvdHlwZS5lbmNv
ZGVkU2l6ZSA9IDQ7Ci0KLSAgRW51bS5wcm90b3R5cGUuZGVjb2RlID0gZnVuY3Rpb24oZGVjb2Rl
cikgewotICAgIHJldHVybiBkZWNvZGVyLnJlYWRJbnQzMigpOwotICB9OwotCi0gIEVudW0ucHJv
dG90eXBlLmVuY29kZSA9IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgIGVuY29kZXIud3Jp
dGVJbnQzMih2YWwpOwotICB9OwotCi0gIGZ1bmN0aW9uIFBvaW50ZXJUbyhjbHMpIHsKLSAgICB0
aGlzLmNscyA9IGNsczsKLSAgfQotCi0gIFBvaW50ZXJUby5wcm90b3R5cGUuZW5jb2RlZFNpemUg
PSA4OwotCi0gIFBvaW50ZXJUby5wcm90b3R5cGUuZGVjb2RlID0gZnVuY3Rpb24oZGVjb2Rlcikg
ewotICAgIHZhciBwb2ludGVyID0gZGVjb2Rlci5kZWNvZGVQb2ludGVyKCk7Ci0gICAgaWYgKCFw
b2ludGVyKSB7Ci0gICAgICByZXR1cm4gbnVsbDsKLSAgICB9Ci0gICAgcmV0dXJuIHRoaXMuY2xz
LmRlY29kZShkZWNvZGVyLmRlY29kZUFuZENyZWF0ZURlY29kZXIocG9pbnRlcikpOwotICB9Owot
Ci0gIFBvaW50ZXJUby5wcm90b3R5cGUuZW5jb2RlID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7
Ci0gICAgaWYgKCF2YWwpIHsKLSAgICAgIGVuY29kZXIuZW5jb2RlUG9pbnRlcih2YWwpOwotICAg
ICAgcmV0dXJuOwotICAgIH0KLSAgICB2YXIgb2JqZWN0RW5jb2RlciA9IGVuY29kZXIuY3JlYXRl
QW5kRW5jb2RlRW5jb2Rlcih0aGlzLmNscy5lbmNvZGVkU2l6ZSk7Ci0gICAgdGhpcy5jbHMuZW5j
b2RlKG9iamVjdEVuY29kZXIsIHZhbCk7Ci0gIH07Ci0KLSAgZnVuY3Rpb24gTnVsbGFibGVQb2lu
dGVyVG8oY2xzKSB7Ci0gICAgUG9pbnRlclRvLmNhbGwodGhpcywgY2xzKTsKLSAgfQotCi0gIE51
bGxhYmxlUG9pbnRlclRvLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoUG9pbnRlclRvLnByb3Rv
dHlwZSk7Ci0KLSAgZnVuY3Rpb24gQXJyYXlPZihjbHMsIGxlbmd0aCkgewotICAgIHRoaXMuY2xz
ID0gY2xzOwotICAgIHRoaXMubGVuZ3RoID0gbGVuZ3RoIHx8IDA7Ci0gIH0KLQotICBBcnJheU9m
LnByb3RvdHlwZS5lbmNvZGVkU2l6ZSA9IDg7Ci0KLSAgQXJyYXlPZi5wcm90b3R5cGUuZGltZW5z
aW9ucyA9IGZ1bmN0aW9uKCkgewotICAgIHJldHVybiBbdGhpcy5sZW5ndGhdLmNvbmNhdCgKLSAg
ICAgICh0aGlzLmNscyBpbnN0YW5jZW9mIEFycmF5T2YpID8gdGhpcy5jbHMuZGltZW5zaW9ucygp
IDogW10pOwotICB9Ci0KLSAgQXJyYXlPZi5wcm90b3R5cGUuZGVjb2RlID0gZnVuY3Rpb24oZGVj
b2RlcikgewotICAgIHJldHVybiBkZWNvZGVyLmRlY29kZUFycmF5UG9pbnRlcih0aGlzLmNscyk7
Ci0gIH07Ci0KLSAgQXJyYXlPZi5wcm90b3R5cGUuZW5jb2RlID0gZnVuY3Rpb24oZW5jb2Rlciwg
dmFsKSB7Ci0gICAgZW5jb2Rlci5lbmNvZGVBcnJheVBvaW50ZXIodGhpcy5jbHMsIHZhbCk7Ci0g
IH07Ci0KLSAgZnVuY3Rpb24gTnVsbGFibGVBcnJheU9mKGNscykgewotICAgIEFycmF5T2YuY2Fs
bCh0aGlzLCBjbHMpOwotICB9Ci0KLSAgTnVsbGFibGVBcnJheU9mLnByb3RvdHlwZSA9IE9iamVj
dC5jcmVhdGUoQXJyYXlPZi5wcm90b3R5cGUpOwotCi0gIGZ1bmN0aW9uIEhhbmRsZSgpIHsKLSAg
fQotCi0gIEhhbmRsZS5lbmNvZGVkU2l6ZSA9IDQ7Ci0KLSAgSGFuZGxlLmRlY29kZSA9IGZ1bmN0
aW9uKGRlY29kZXIpIHsKLSAgICByZXR1cm4gZGVjb2Rlci5kZWNvZGVIYW5kbGUoKTsKLSAgfTsK
LQotICBIYW5kbGUuZW5jb2RlID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAgZW5jb2Rl
ci5lbmNvZGVIYW5kbGUodmFsKTsKLSAgfTsKLQotICBmdW5jdGlvbiBOdWxsYWJsZUhhbmRsZSgp
IHsKLSAgfQotCi0gIE51bGxhYmxlSGFuZGxlLmVuY29kZWRTaXplID0gSGFuZGxlLmVuY29kZWRT
aXplOwotCi0gIE51bGxhYmxlSGFuZGxlLmRlY29kZSA9IEhhbmRsZS5kZWNvZGU7Ci0KLSAgTnVs
bGFibGVIYW5kbGUuZW5jb2RlID0gSGFuZGxlLmVuY29kZTsKLQotICBmdW5jdGlvbiBJbnRlcmZh
Y2UoY2xzKSB7Ci0gICAgdGhpcy5jbHMgPSBjbHM7Ci0gIH0KLQotICBJbnRlcmZhY2UucHJvdG90
eXBlLmVuY29kZWRTaXplID0gODsKLQotICBJbnRlcmZhY2UucHJvdG90eXBlLmRlY29kZSA9IGZ1
bmN0aW9uKGRlY29kZXIpIHsKLSAgICB2YXIgaW50ZXJmYWNlUHRySW5mbyA9IG5ldyBtb2pvLklu
dGVyZmFjZVB0ckluZm8oCi0gICAgICAgIGRlY29kZXIuZGVjb2RlSGFuZGxlKCksIGRlY29kZXIu
cmVhZFVpbnQzMigpKTsKLSAgICB2YXIgaW50ZXJmYWNlUHRyID0gbmV3IHRoaXMuY2xzKCk7Ci0g
ICAgaW50ZXJmYWNlUHRyLnB0ci5iaW5kKGludGVyZmFjZVB0ckluZm8pOwotICAgIHJldHVybiBp
bnRlcmZhY2VQdHI7Ci0gIH07Ci0KLSAgSW50ZXJmYWNlLnByb3RvdHlwZS5lbmNvZGUgPSBmdW5j
dGlvbihlbmNvZGVyLCB2YWwpIHsKLSAgICB2YXIgaW50ZXJmYWNlUHRySW5mbyA9Ci0gICAgICAg
IHZhbCA/IHZhbC5wdHIucGFzc0ludGVyZmFjZSgpIDogbmV3IG1vam8uSW50ZXJmYWNlUHRySW5m
byhudWxsLCAwKTsKLSAgICBlbmNvZGVyLmVuY29kZUhhbmRsZShpbnRlcmZhY2VQdHJJbmZvLmhh
bmRsZSk7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMihpbnRlcmZhY2VQdHJJbmZvLnZlcnNpb24p
OwotICB9OwotCi0gIGZ1bmN0aW9uIE51bGxhYmxlSW50ZXJmYWNlKGNscykgewotICAgIEludGVy
ZmFjZS5jYWxsKHRoaXMsIGNscyk7Ci0gIH0KLQotICBOdWxsYWJsZUludGVyZmFjZS5wcm90b3R5
cGUgPSBPYmplY3QuY3JlYXRlKEludGVyZmFjZS5wcm90b3R5cGUpOwotCi0gIGZ1bmN0aW9uIEFz
c29jaWF0ZWRJbnRlcmZhY2VQdHJJbmZvKCkgewotICB9Ci0KLSAgQXNzb2NpYXRlZEludGVyZmFj
ZVB0ckluZm8ucHJvdG90eXBlLmVuY29kZWRTaXplID0gODsKLQotICBBc3NvY2lhdGVkSW50ZXJm
YWNlUHRySW5mby5kZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgcmV0dXJuIG5ldyBt
b2pvLkFzc29jaWF0ZWRJbnRlcmZhY2VQdHJJbmZvKAotICAgICAgZGVjb2Rlci5kZWNvZGVBc3Nv
Y2lhdGVkRW5kcG9pbnRIYW5kbGUoKSwgZGVjb2Rlci5yZWFkVWludDMyKCkpOwotICB9OwotCi0g
IEFzc29jaWF0ZWRJbnRlcmZhY2VQdHJJbmZvLmVuY29kZSA9IGZ1bmN0aW9uKGVuY29kZXIsIHZh
bCkgewotICAgIHZhciBhc3NvY2lhdGVkaW50ZXJmYWNlUHRySW5mbyA9Ci0gICAgICAgIHZhbCA/
IHZhbCA6IG5ldyBtb2pvLkFzc29jaWF0ZWRJbnRlcmZhY2VQdHJJbmZvKG51bGwsIDApOwotICAg
IGVuY29kZXIuZW5jb2RlQXNzb2NpYXRlZEVuZHBvaW50SGFuZGxlKAotICAgICAgICBhc3NvY2lh
dGVkaW50ZXJmYWNlUHRySW5mby5pbnRlcmZhY2VFbmRwb2ludEhhbmRsZSk7Ci0gICAgZW5jb2Rl
ci53cml0ZVVpbnQzMihhc3NvY2lhdGVkaW50ZXJmYWNlUHRySW5mby52ZXJzaW9uKTsKLSAgfTsK
LQotICBmdW5jdGlvbiBOdWxsYWJsZUFzc29jaWF0ZWRJbnRlcmZhY2VQdHJJbmZvKCkgewotICB9
Ci0KLSAgTnVsbGFibGVBc3NvY2lhdGVkSW50ZXJmYWNlUHRySW5mby5lbmNvZGVkU2l6ZSA9Ci0g
ICAgICBBc3NvY2lhdGVkSW50ZXJmYWNlUHRySW5mby5lbmNvZGVkU2l6ZTsKLQotICBOdWxsYWJs
ZUFzc29jaWF0ZWRJbnRlcmZhY2VQdHJJbmZvLmRlY29kZSA9Ci0gICAgICBBc3NvY2lhdGVkSW50
ZXJmYWNlUHRySW5mby5kZWNvZGU7Ci0KLSAgTnVsbGFibGVBc3NvY2lhdGVkSW50ZXJmYWNlUHRy
SW5mby5lbmNvZGUgPQotICAgICAgQXNzb2NpYXRlZEludGVyZmFjZVB0ckluZm8uZW5jb2RlOwot
Ci0gIGZ1bmN0aW9uIEludGVyZmFjZVJlcXVlc3QoKSB7Ci0gIH0KLQotICBJbnRlcmZhY2VSZXF1
ZXN0LmVuY29kZWRTaXplID0gNDsKLQotICBJbnRlcmZhY2VSZXF1ZXN0LmRlY29kZSA9IGZ1bmN0
aW9uKGRlY29kZXIpIHsKLSAgICByZXR1cm4gbmV3IG1vam8uSW50ZXJmYWNlUmVxdWVzdChkZWNv
ZGVyLmRlY29kZUhhbmRsZSgpKTsKLSAgfTsKLQotICBJbnRlcmZhY2VSZXF1ZXN0LmVuY29kZSA9
IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgIGVuY29kZXIuZW5jb2RlSGFuZGxlKHZhbCA/
IHZhbC5oYW5kbGUgOiBudWxsKTsKLSAgfTsKLQotICBmdW5jdGlvbiBOdWxsYWJsZUludGVyZmFj
ZVJlcXVlc3QoKSB7Ci0gIH0KLQotICBOdWxsYWJsZUludGVyZmFjZVJlcXVlc3QuZW5jb2RlZFNp
emUgPSBJbnRlcmZhY2VSZXF1ZXN0LmVuY29kZWRTaXplOwotCi0gIE51bGxhYmxlSW50ZXJmYWNl
UmVxdWVzdC5kZWNvZGUgPSBJbnRlcmZhY2VSZXF1ZXN0LmRlY29kZTsKLQotICBOdWxsYWJsZUlu
dGVyZmFjZVJlcXVlc3QuZW5jb2RlID0gSW50ZXJmYWNlUmVxdWVzdC5lbmNvZGU7Ci0KLSAgZnVu
Y3Rpb24gQXNzb2NpYXRlZEludGVyZmFjZVJlcXVlc3QoKSB7Ci0gIH0KLQotICBBc3NvY2lhdGVk
SW50ZXJmYWNlUmVxdWVzdC5kZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgdmFyIGhh
bmRsZSA9IGRlY29kZXIuZGVjb2RlQXNzb2NpYXRlZEVuZHBvaW50SGFuZGxlKCk7Ci0gICAgcmV0
dXJuIG5ldyBtb2pvLkFzc29jaWF0ZWRJbnRlcmZhY2VSZXF1ZXN0KGhhbmRsZSk7Ci0gIH07Ci0K
LSAgQXNzb2NpYXRlZEludGVyZmFjZVJlcXVlc3QuZW5jb2RlID0gZnVuY3Rpb24oZW5jb2Rlciwg
dmFsKSB7Ci0gICAgZW5jb2Rlci5lbmNvZGVBc3NvY2lhdGVkRW5kcG9pbnRIYW5kbGUoCi0gICAg
ICAgIHZhbCA/IHZhbC5pbnRlcmZhY2VFbmRwb2ludEhhbmRsZSA6IG51bGwpOwotICB9OwotCi0g
IEFzc29jaWF0ZWRJbnRlcmZhY2VSZXF1ZXN0LmVuY29kZWRTaXplID0gNDsKLQotICBmdW5jdGlv
biBOdWxsYWJsZUFzc29jaWF0ZWRJbnRlcmZhY2VSZXF1ZXN0KCkgewotICB9Ci0KLSAgTnVsbGFi
bGVBc3NvY2lhdGVkSW50ZXJmYWNlUmVxdWVzdC5lbmNvZGVkU2l6ZSA9Ci0gICAgICBBc3NvY2lh
dGVkSW50ZXJmYWNlUmVxdWVzdC5lbmNvZGVkU2l6ZTsKLQotICBOdWxsYWJsZUFzc29jaWF0ZWRJ
bnRlcmZhY2VSZXF1ZXN0LmRlY29kZSA9Ci0gICAgICBBc3NvY2lhdGVkSW50ZXJmYWNlUmVxdWVz
dC5kZWNvZGU7Ci0KLSAgTnVsbGFibGVBc3NvY2lhdGVkSW50ZXJmYWNlUmVxdWVzdC5lbmNvZGUg
PQotICAgICAgQXNzb2NpYXRlZEludGVyZmFjZVJlcXVlc3QuZW5jb2RlOwotCi0gIGZ1bmN0aW9u
IE1hcE9mKGtleUNsYXNzLCB2YWx1ZUNsYXNzKSB7Ci0gICAgdGhpcy5rZXlDbGFzcyA9IGtleUNs
YXNzOwotICAgIHRoaXMudmFsdWVDbGFzcyA9IHZhbHVlQ2xhc3M7Ci0gIH0KLQotICBNYXBPZi5w
cm90b3R5cGUuZW5jb2RlZFNpemUgPSA4OwotCi0gIE1hcE9mLnByb3RvdHlwZS5kZWNvZGUgPSBm
dW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgcmV0dXJuIGRlY29kZXIuZGVjb2RlTWFwUG9pbnRlcih0
aGlzLmtleUNsYXNzLCB0aGlzLnZhbHVlQ2xhc3MpOwotICB9OwotCi0gIE1hcE9mLnByb3RvdHlw
ZS5lbmNvZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2YWwpIHsKLSAgICBlbmNvZGVyLmVuY29kZU1h
cFBvaW50ZXIodGhpcy5rZXlDbGFzcywgdGhpcy52YWx1ZUNsYXNzLCB2YWwpOwotICB9OwotCi0g
IGZ1bmN0aW9uIE51bGxhYmxlTWFwT2Yoa2V5Q2xhc3MsIHZhbHVlQ2xhc3MpIHsKLSAgICBNYXBP
Zi5jYWxsKHRoaXMsIGtleUNsYXNzLCB2YWx1ZUNsYXNzKTsKLSAgfQotCi0gIE51bGxhYmxlTWFw
T2YucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShNYXBPZi5wcm90b3R5cGUpOwotCi0gIGludGVy
bmFsLmFsaWduID0gYWxpZ247Ci0gIGludGVybmFsLmlzQWxpZ25lZCA9IGlzQWxpZ25lZDsKLSAg
aW50ZXJuYWwuTWVzc2FnZSA9IE1lc3NhZ2U7Ci0gIGludGVybmFsLk1lc3NhZ2VWMEJ1aWxkZXIg
PSBNZXNzYWdlVjBCdWlsZGVyOwotICBpbnRlcm5hbC5NZXNzYWdlVjFCdWlsZGVyID0gTWVzc2Fn
ZVYxQnVpbGRlcjsKLSAgaW50ZXJuYWwuTWVzc2FnZVYyQnVpbGRlciA9IE1lc3NhZ2VWMkJ1aWxk
ZXI7Ci0gIGludGVybmFsLk1lc3NhZ2VSZWFkZXIgPSBNZXNzYWdlUmVhZGVyOwotICBpbnRlcm5h
bC5rQXJyYXlIZWFkZXJTaXplID0ga0FycmF5SGVhZGVyU2l6ZTsKLSAgaW50ZXJuYWwua01hcFN0
cnVjdFBheWxvYWRTaXplID0ga01hcFN0cnVjdFBheWxvYWRTaXplOwotICBpbnRlcm5hbC5rU3Ry
dWN0SGVhZGVyU2l6ZSA9IGtTdHJ1Y3RIZWFkZXJTaXplOwotICBpbnRlcm5hbC5rRW5jb2RlZElu
dmFsaWRIYW5kbGVWYWx1ZSA9IGtFbmNvZGVkSW52YWxpZEhhbmRsZVZhbHVlOwotICBpbnRlcm5h
bC5rTWVzc2FnZVYwSGVhZGVyU2l6ZSA9IGtNZXNzYWdlVjBIZWFkZXJTaXplOwotICBpbnRlcm5h
bC5rTWVzc2FnZVYxSGVhZGVyU2l6ZSA9IGtNZXNzYWdlVjFIZWFkZXJTaXplOwotICBpbnRlcm5h
bC5rTWVzc2FnZVYySGVhZGVyU2l6ZSA9IGtNZXNzYWdlVjJIZWFkZXJTaXplOwotICBpbnRlcm5h
bC5rTWVzc2FnZVBheWxvYWRJbnRlcmZhY2VJZHNQb2ludGVyT2Zmc2V0ID0KLSAgICAgIGtNZXNz
YWdlUGF5bG9hZEludGVyZmFjZUlkc1BvaW50ZXJPZmZzZXQ7Ci0gIGludGVybmFsLmtNZXNzYWdl
RXhwZWN0c1Jlc3BvbnNlID0ga01lc3NhZ2VFeHBlY3RzUmVzcG9uc2U7Ci0gIGludGVybmFsLmtN
ZXNzYWdlSXNSZXNwb25zZSA9IGtNZXNzYWdlSXNSZXNwb25zZTsKLSAgaW50ZXJuYWwuSW50OCA9
IEludDg7Ci0gIGludGVybmFsLlVpbnQ4ID0gVWludDg7Ci0gIGludGVybmFsLkludDE2ID0gSW50
MTY7Ci0gIGludGVybmFsLlVpbnQxNiA9IFVpbnQxNjsKLSAgaW50ZXJuYWwuSW50MzIgPSBJbnQz
MjsKLSAgaW50ZXJuYWwuVWludDMyID0gVWludDMyOwotICBpbnRlcm5hbC5JbnQ2NCA9IEludDY0
OwotICBpbnRlcm5hbC5VaW50NjQgPSBVaW50NjQ7Ci0gIGludGVybmFsLkZsb2F0ID0gRmxvYXQ7
Ci0gIGludGVybmFsLkRvdWJsZSA9IERvdWJsZTsKLSAgaW50ZXJuYWwuU3RyaW5nID0gU3RyaW5n
OwotICBpbnRlcm5hbC5FbnVtID0gRW51bTsKLSAgaW50ZXJuYWwuTnVsbGFibGVTdHJpbmcgPSBO
dWxsYWJsZVN0cmluZzsKLSAgaW50ZXJuYWwuUG9pbnRlclRvID0gUG9pbnRlclRvOwotICBpbnRl
cm5hbC5OdWxsYWJsZVBvaW50ZXJUbyA9IE51bGxhYmxlUG9pbnRlclRvOwotICBpbnRlcm5hbC5B
cnJheU9mID0gQXJyYXlPZjsKLSAgaW50ZXJuYWwuTnVsbGFibGVBcnJheU9mID0gTnVsbGFibGVB
cnJheU9mOwotICBpbnRlcm5hbC5QYWNrZWRCb29sID0gUGFja2VkQm9vbDsKLSAgaW50ZXJuYWwu
SGFuZGxlID0gSGFuZGxlOwotICBpbnRlcm5hbC5OdWxsYWJsZUhhbmRsZSA9IE51bGxhYmxlSGFu
ZGxlOwotICBpbnRlcm5hbC5JbnRlcmZhY2UgPSBJbnRlcmZhY2U7Ci0gIGludGVybmFsLk51bGxh
YmxlSW50ZXJmYWNlID0gTnVsbGFibGVJbnRlcmZhY2U7Ci0gIGludGVybmFsLkludGVyZmFjZVJl
cXVlc3QgPSBJbnRlcmZhY2VSZXF1ZXN0OwotICBpbnRlcm5hbC5OdWxsYWJsZUludGVyZmFjZVJl
cXVlc3QgPSBOdWxsYWJsZUludGVyZmFjZVJlcXVlc3Q7Ci0gIGludGVybmFsLkFzc29jaWF0ZWRJ
bnRlcmZhY2VQdHJJbmZvID0gQXNzb2NpYXRlZEludGVyZmFjZVB0ckluZm87Ci0gIGludGVybmFs
Lk51bGxhYmxlQXNzb2NpYXRlZEludGVyZmFjZVB0ckluZm8gPQotICAgICAgTnVsbGFibGVBc3Nv
Y2lhdGVkSW50ZXJmYWNlUHRySW5mbzsKLSAgaW50ZXJuYWwuQXNzb2NpYXRlZEludGVyZmFjZVJl
cXVlc3QgPSBBc3NvY2lhdGVkSW50ZXJmYWNlUmVxdWVzdDsKLSAgaW50ZXJuYWwuTnVsbGFibGVB
c3NvY2lhdGVkSW50ZXJmYWNlUmVxdWVzdCA9Ci0gICAgICBOdWxsYWJsZUFzc29jaWF0ZWRJbnRl
cmZhY2VSZXF1ZXN0OwotICBpbnRlcm5hbC5NYXBPZiA9IE1hcE9mOwotICBpbnRlcm5hbC5OdWxs
YWJsZU1hcE9mID0gTnVsbGFibGVNYXBPZjsKLX0pKCk7Ci0vLyBDb3B5cmlnaHQgMjAxNCBUaGUg
Q2hyb21pdW0gQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLS8vIFVzZSBvZiB0aGlzIHNv
dXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUK
LS8vIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCi0KLShmdW5jdGlvbigpIHsKLSAgdmFyIGlu
dGVybmFsID0gbW9qby5pbnRlcm5hbDsKLQotICBmdW5jdGlvbiBDb25uZWN0b3IoaGFuZGxlKSB7
Ci0gICAgaWYgKCEoaGFuZGxlIGluc3RhbmNlb2YgTW9qb0hhbmRsZSkpCi0gICAgICB0aHJvdyBu
ZXcgRXJyb3IoIkNvbm5lY3Rvcjogbm90IGEgaGFuZGxlICIgKyBoYW5kbGUpOwotICAgIHRoaXMu
aGFuZGxlXyA9IGhhbmRsZTsKLSAgICB0aGlzLmRyb3BXcml0ZXNfID0gZmFsc2U7Ci0gICAgdGhp
cy5lcnJvcl8gPSBmYWxzZTsKLSAgICB0aGlzLmluY29taW5nUmVjZWl2ZXJfID0gbnVsbDsKLSAg
ICB0aGlzLnJlYWRXYXRjaGVyXyA9IG51bGw7Ci0gICAgdGhpcy5lcnJvckhhbmRsZXJfID0gbnVs
bDsKLSAgICB0aGlzLnBhdXNlZF8gPSBmYWxzZTsKLQotICAgIHRoaXMud2FpdFRvUmVhZE1vcmUo
KTsKLSAgfQotCi0gIENvbm5lY3Rvci5wcm90b3R5cGUuY2xvc2UgPSBmdW5jdGlvbigpIHsKLSAg
ICB0aGlzLmNhbmNlbFdhaXQoKTsKLSAgICBpZiAodGhpcy5oYW5kbGVfICE9IG51bGwpIHsKLSAg
ICAgIHRoaXMuaGFuZGxlXy5jbG9zZSgpOwotICAgICAgdGhpcy5oYW5kbGVfID0gbnVsbDsKLSAg
ICB9Ci0gIH07Ci0KLSAgQ29ubmVjdG9yLnByb3RvdHlwZS5wYXVzZUluY29taW5nTWV0aG9kQ2Fs
bFByb2Nlc3NpbmcgPSBmdW5jdGlvbigpIHsKLSAgICBpZiAodGhpcy5wYXVzZWRfKSB7Ci0gICAg
ICByZXR1cm47Ci0gICAgfQotICAgIHRoaXMucGF1c2VkXz0gdHJ1ZTsKLSAgICB0aGlzLmNhbmNl
bFdhaXQoKTsKLSAgfTsKLQotICBDb25uZWN0b3IucHJvdG90eXBlLnJlc3VtZUluY29taW5nTWV0
aG9kQ2FsbFByb2Nlc3NpbmcgPSBmdW5jdGlvbigpIHsKLSAgICBpZiAoIXRoaXMucGF1c2VkXykg
ewotICAgICAgcmV0dXJuOwotICAgIH0KLSAgICB0aGlzLnBhdXNlZF89IGZhbHNlOwotICAgIHRo
aXMud2FpdFRvUmVhZE1vcmUoKTsKLSAgfTsKLQotICBDb25uZWN0b3IucHJvdG90eXBlLmFjY2Vw
dCA9IGZ1bmN0aW9uKG1lc3NhZ2UpIHsKLSAgICBpZiAodGhpcy5lcnJvcl8pCi0gICAgICByZXR1
cm4gZmFsc2U7Ci0KLSAgICBpZiAodGhpcy5kcm9wV3JpdGVzXykKLSAgICAgIHJldHVybiB0cnVl
OwotCi0gICAgdmFyIHJlc3VsdCA9IHRoaXMuaGFuZGxlXy53cml0ZU1lc3NhZ2UoCi0gICAgICAg
IG5ldyBVaW50OEFycmF5KG1lc3NhZ2UuYnVmZmVyLmFycmF5QnVmZmVyKSwgbWVzc2FnZS5oYW5k
bGVzKTsKLSAgICBzd2l0Y2ggKHJlc3VsdCkgewotICAgICAgY2FzZSBNb2pvLlJFU1VMVF9PSzoK
LSAgICAgICAgLy8gVGhlIGhhbmRsZXMgd2VyZSBzdWNjZXNzZnVsbHkgdHJhbnNmZXJyZWQsIHNv
IHdlIGRvbid0IG93biB0aGVtCi0gICAgICAgIC8vIGFueW1vcmUuCi0gICAgICAgIG1lc3NhZ2Uu
aGFuZGxlcyA9IFtdOwotICAgICAgICBicmVhazsKLSAgICAgIGNhc2UgTW9qby5SRVNVTFRfRkFJ
TEVEX1BSRUNPTkRJVElPTjoKLSAgICAgICAgLy8gVGhlcmUncyBubyBwb2ludCBpbiBjb250aW51
aW5nIHRvIHdyaXRlIHRvIHRoaXMgcGlwZSBzaW5jZSB0aGUgb3RoZXIKLSAgICAgICAgLy8gZW5k
IGlzIGdvbmUuIEF2b2lkIHdyaXRpbmcgYW55IGZ1dHVyZSBtZXNzYWdlcy4gSGlkZSB3cml0ZSBm
YWlsdXJlcwotICAgICAgICAvLyBmcm9tIHRoZSBjYWxsZXIgc2luY2Ugd2UnZCBsaWtlIHRoZW0g
dG8gY29udGludWUgY29uc3VtaW5nIGFueQotICAgICAgICAvLyBiYWNrbG9nIG9mIGluY29taW5n
IG1lc3NhZ2VzIGJlZm9yZSByZWdhcmRpbmcgdGhlIG1lc3NhZ2UgcGlwZSBhcwotICAgICAgICAv
LyBjbG9zZWQuCi0gICAgICAgIHRoaXMuZHJvcFdyaXRlc18gPSB0cnVlOwotICAgICAgICBicmVh
azsKLSAgICAgIGRlZmF1bHQ6Ci0gICAgICAgIC8vIFRoaXMgcGFydGljdWxhciB3cml0ZSB3YXMg
cmVqZWN0ZWQsIHByZXN1bWFibHkgYmVjYXVzZSBvZiBiYWQgaW5wdXQuCi0gICAgICAgIC8vIFRo
ZSBwaXBlIGlzIG5vdCBuZWNlc3NhcmlseSBpbiBhIGJhZCBzdGF0ZS4KLSAgICAgICAgcmV0dXJu
IGZhbHNlOwotICAgIH0KLSAgICByZXR1cm4gdHJ1ZTsKLSAgfTsKLQotICBDb25uZWN0b3IucHJv
dG90eXBlLnNldEluY29taW5nUmVjZWl2ZXIgPSBmdW5jdGlvbihyZWNlaXZlcikgewotICAgIHRo
aXMuaW5jb21pbmdSZWNlaXZlcl8gPSByZWNlaXZlcjsKLSAgfTsKLQotICBDb25uZWN0b3IucHJv
dG90eXBlLnNldEVycm9ySGFuZGxlciA9IGZ1bmN0aW9uKGhhbmRsZXIpIHsKLSAgICB0aGlzLmVy
cm9ySGFuZGxlcl8gPSBoYW5kbGVyOwotICB9OwotCi0gIENvbm5lY3Rvci5wcm90b3R5cGUucmVh
ZE1vcmVfID0gZnVuY3Rpb24ocmVzdWx0KSB7Ci0gICAgZm9yICg7OykgewotICAgICAgaWYgKHRo
aXMucGF1c2VkXykgewotICAgICAgICByZXR1cm47Ci0gICAgICB9Ci0KLSAgICAgIHZhciByZWFk
ID0gdGhpcy5oYW5kbGVfLnJlYWRNZXNzYWdlKCk7Ci0gICAgICBpZiAodGhpcy5oYW5kbGVfID09
IG51bGwpIC8vIFRoZSBjb25uZWN0b3IgaGFzIGJlZW4gY2xvc2VkLgotICAgICAgICByZXR1cm47
Ci0gICAgICBpZiAocmVhZC5yZXN1bHQgPT0gTW9qby5SRVNVTFRfU0hPVUxEX1dBSVQpCi0gICAg
ICAgIHJldHVybjsKLSAgICAgIGlmIChyZWFkLnJlc3VsdCAhPSBNb2pvLlJFU1VMVF9PSykgewot
ICAgICAgICB0aGlzLmhhbmRsZUVycm9yKHJlYWQucmVzdWx0ICE9PSBNb2pvLlJFU1VMVF9GQUlM
RURfUFJFQ09ORElUSU9OLAotICAgICAgICAgICAgZmFsc2UpOwotICAgICAgICByZXR1cm47Ci0g
ICAgICB9Ci0gICAgICB2YXIgbWVzc2FnZUJ1ZmZlciA9IG5ldyBpbnRlcm5hbC5CdWZmZXIocmVh
ZC5idWZmZXIpOwotICAgICAgdmFyIG1lc3NhZ2UgPSBuZXcgaW50ZXJuYWwuTWVzc2FnZShtZXNz
YWdlQnVmZmVyLCByZWFkLmhhbmRsZXMpOwotICAgICAgdmFyIHJlY2VpdmVyUmVzdWx0ID0gdGhp
cy5pbmNvbWluZ1JlY2VpdmVyXyAmJgotICAgICAgICAgIHRoaXMuaW5jb21pbmdSZWNlaXZlcl8u
YWNjZXB0KG1lc3NhZ2UpOwotCi0gICAgICAvLyBIYW5kbGUgaW52YWxpZCBpbmNvbWluZyBtZXNz
YWdlLgotICAgICAgaWYgKCFpbnRlcm5hbC5pc1Rlc3RpbmdNb2RlKCkgJiYgIXJlY2VpdmVyUmVz
dWx0KSB7Ci0gICAgICAgIC8vIFRPRE8oeXpzaGVuKTogQ29uc2lkZXIgbm90aWZ5aW5nIHRoZSBl
bWJlZGRlci4KLSAgICAgICAgdGhpcy5oYW5kbGVFcnJvcih0cnVlLCBmYWxzZSk7Ci0gICAgICB9
Ci0gICAgfQotICB9OwotCi0gIENvbm5lY3Rvci5wcm90b3R5cGUuY2FuY2VsV2FpdCA9IGZ1bmN0
aW9uKCkgewotICAgIGlmICh0aGlzLnJlYWRXYXRjaGVyXykgewotICAgICAgdGhpcy5yZWFkV2F0
Y2hlcl8uY2FuY2VsKCk7Ci0gICAgICB0aGlzLnJlYWRXYXRjaGVyXyA9IG51bGw7Ci0gICAgfQot
ICB9OwotCi0gIENvbm5lY3Rvci5wcm90b3R5cGUud2FpdFRvUmVhZE1vcmUgPSBmdW5jdGlvbigp
IHsKLSAgICBpZiAodGhpcy5oYW5kbGVfKSB7Ci0gICAgICB0aGlzLnJlYWRXYXRjaGVyXyA9IHRo
aXMuaGFuZGxlXy53YXRjaCh7cmVhZGFibGU6IHRydWV9LAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5yZWFkTW9yZV8uYmluZCh0aGlzKSk7Ci0gICAg
fQotICB9OwotCi0gIENvbm5lY3Rvci5wcm90b3R5cGUuaGFuZGxlRXJyb3IgPSBmdW5jdGlvbihm
b3JjZVBpcGVSZXNldCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGZvcmNlQXN5bmNIYW5kbGVyKSB7Ci0gICAgaWYgKHRoaXMuZXJyb3JfIHx8IHRoaXMuaGFu
ZGxlXyA9PT0gbnVsbCkgewotICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIGlmICh0aGlzLnBh
dXNlZF8pIHsKLSAgICAgIC8vIEVuZm9yY2UgY2FsbGluZyB0aGUgZXJyb3IgaGFuZGxlciBhc3lu
Y2hyb25vdXNseSBpZiB0aGUgdXNlciBoYXMKLSAgICAgIC8vIHBhdXNlZCByZWNlaXZpbmcgbWVz
c2FnZXMuIFdlIG5lZWQgdG8gd2FpdCB1bnRpbCB0aGUgdXNlciBzdGFydHMKLSAgICAgIC8vIHJl
Y2VpdmluZyBtZXNzYWdlcyBhZ2Fpbi4KLSAgICAgIGZvcmNlQXN5bmNIYW5kbGVyID0gdHJ1ZTsK
LSAgICB9Ci0KLSAgICBpZiAoIWZvcmNlUGlwZVJlc2V0ICYmIGZvcmNlQXN5bmNIYW5kbGVyKSB7
Ci0gICAgICBmb3JjZVBpcGVSZXNldCA9IHRydWU7Ci0gICAgfQotCi0gICAgdGhpcy5jYW5jZWxX
YWl0KCk7Ci0gICAgaWYgKGZvcmNlUGlwZVJlc2V0KSB7Ci0gICAgICB0aGlzLmhhbmRsZV8uY2xv
c2UoKTsKLSAgICAgIHZhciBkdW1teVBpcGUgPSBNb2pvLmNyZWF0ZU1lc3NhZ2VQaXBlKCk7Ci0g
ICAgICB0aGlzLmhhbmRsZV8gPSBkdW1teVBpcGUuaGFuZGxlMDsKLSAgICB9Ci0KLSAgICBpZiAo
Zm9yY2VBc3luY0hhbmRsZXIpIHsKLSAgICAgIGlmICghdGhpcy5wYXVzZWRfKSB7Ci0gICAgICAg
IHRoaXMud2FpdFRvUmVhZE1vcmUoKTsKLSAgICAgIH0KLSAgICB9IGVsc2UgewotICAgICAgdGhp
cy5lcnJvcl8gPSB0cnVlOwotICAgICAgaWYgKHRoaXMuZXJyb3JIYW5kbGVyXykgewotICAgICAg
ICB0aGlzLmVycm9ySGFuZGxlcl8ub25FcnJvcigpOwotICAgICAgfQotICAgIH0KLSAgfTsKLQot
ICBpbnRlcm5hbC5Db25uZWN0b3IgPSBDb25uZWN0b3I7Ci19KSgpOwotLy8gQ29weXJpZ2h0IDIw
MTYgVGhlIENocm9taXVtIEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0vLyBVc2Ugb2Yg
dGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlIHRoYXQg
Y2FuIGJlCi0vLyBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgotCi0oZnVuY3Rpb24oKSB7Ci0g
IHZhciBpbnRlcm5hbCA9IG1vam8uaW50ZXJuYWw7Ci0KLSAgLy8gQ29uc3RhbnRzIC0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K
LSAgdmFyIGtJbnRlcmZhY2VJZE5hbWVzcGFjZU1hc2sgPSAweDgwMDAwMDAwOwotICB2YXIga01h
c3RlckludGVyZmFjZUlkID0gMHgwMDAwMDAwMDsKLSAgdmFyIGtJbnZhbGlkSW50ZXJmYWNlSWQg
PSAweEZGRkZGRkZGOwotCi0gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotCi0gIGZ1bmN0aW9uIElu
dGVyZmFjZVB0ckluZm8oaGFuZGxlLCB2ZXJzaW9uKSB7Ci0gICAgdGhpcy5oYW5kbGUgPSBoYW5k
bGU7Ci0gICAgdGhpcy52ZXJzaW9uID0gdmVyc2lvbjsKLSAgfQotCi0gIEludGVyZmFjZVB0cklu
Zm8ucHJvdG90eXBlLmlzVmFsaWQgPSBmdW5jdGlvbigpIHsKLSAgICByZXR1cm4gdGhpcy5oYW5k
bGUgaW5zdGFuY2VvZiBNb2pvSGFuZGxlOwotICB9OwotCi0gIEludGVyZmFjZVB0ckluZm8ucHJv
dG90eXBlLmNsb3NlID0gZnVuY3Rpb24oKSB7Ci0gICAgaWYgKCF0aGlzLmlzVmFsaWQoKSkKLSAg
ICAgIHJldHVybjsKLQotICAgIHRoaXMuaGFuZGxlLmNsb3NlKCk7Ci0gICAgdGhpcy5oYW5kbGUg
PSBudWxsOwotICAgIHRoaXMudmVyc2lvbiA9IDA7Ci0gIH07Ci0KLSAgZnVuY3Rpb24gQXNzb2Np
YXRlZEludGVyZmFjZVB0ckluZm8oaW50ZXJmYWNlRW5kcG9pbnRIYW5kbGUsIHZlcnNpb24pIHsK
LSAgICB0aGlzLmludGVyZmFjZUVuZHBvaW50SGFuZGxlID0gaW50ZXJmYWNlRW5kcG9pbnRIYW5k
bGU7Ci0gICAgdGhpcy52ZXJzaW9uID0gdmVyc2lvbjsKLSAgfQotCi0gIEFzc29jaWF0ZWRJbnRl
cmZhY2VQdHJJbmZvLnByb3RvdHlwZS5pc1ZhbGlkID0gZnVuY3Rpb24oKSB7Ci0gICAgcmV0dXJu
IHRoaXMuaW50ZXJmYWNlRW5kcG9pbnRIYW5kbGUuaXNWYWxpZCgpOwotICB9OwotCi0gIC8vIC0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLQotCi0gIGZ1bmN0aW9uIEludGVyZmFjZVJlcXVlc3QoaGFuZGxlKSB7
Ci0gICAgdGhpcy5oYW5kbGUgPSBoYW5kbGU7Ci0gIH0KLQotICBJbnRlcmZhY2VSZXF1ZXN0LnBy
b3RvdHlwZS5pc1ZhbGlkID0gZnVuY3Rpb24oKSB7Ci0gICAgcmV0dXJuIHRoaXMuaGFuZGxlIGlu
c3RhbmNlb2YgTW9qb0hhbmRsZTsKLSAgfTsKLQotICBJbnRlcmZhY2VSZXF1ZXN0LnByb3RvdHlw
ZS5jbG9zZSA9IGZ1bmN0aW9uKCkgewotICAgIGlmICghdGhpcy5pc1ZhbGlkKCkpCi0gICAgICBy
ZXR1cm47Ci0KLSAgICB0aGlzLmhhbmRsZS5jbG9zZSgpOwotICAgIHRoaXMuaGFuZGxlID0gbnVs
bDsKLSAgfTsKLQotICBmdW5jdGlvbiBBc3NvY2lhdGVkSW50ZXJmYWNlUmVxdWVzdChpbnRlcmZh
Y2VFbmRwb2ludEhhbmRsZSkgewotICAgIHRoaXMuaW50ZXJmYWNlRW5kcG9pbnRIYW5kbGUgPSBp
bnRlcmZhY2VFbmRwb2ludEhhbmRsZTsKLSAgfQotCi0gIEFzc29jaWF0ZWRJbnRlcmZhY2VSZXF1
ZXN0LnByb3RvdHlwZS5pc1ZhbGlkID0gZnVuY3Rpb24oKSB7Ci0gICAgcmV0dXJuIHRoaXMuaW50
ZXJmYWNlRW5kcG9pbnRIYW5kbGUuaXNWYWxpZCgpOwotICB9OwotCi0gIEFzc29jaWF0ZWRJbnRl
cmZhY2VSZXF1ZXN0LnByb3RvdHlwZS5yZXNldFdpdGhSZWFzb24gPSBmdW5jdGlvbihyZWFzb24p
IHsKLSAgICB0aGlzLmludGVyZmFjZUVuZHBvaW50SGFuZGxlLnJlc2V0KHJlYXNvbik7Ci0gIH07
Ci0KLSAgZnVuY3Rpb24gaXNNYXN0ZXJJbnRlcmZhY2VJZChpbnRlcmZhY2VJZCkgewotICAgIHJl
dHVybiBpbnRlcmZhY2VJZCA9PT0ga01hc3RlckludGVyZmFjZUlkOwotICB9Ci0KLSAgZnVuY3Rp
b24gaXNWYWxpZEludGVyZmFjZUlkKGludGVyZmFjZUlkKSB7Ci0gICAgcmV0dXJuIGludGVyZmFj
ZUlkICE9PSBrSW52YWxpZEludGVyZmFjZUlkOwotICB9Ci0KLSAgbW9qby5JbnRlcmZhY2VQdHJJ
bmZvID0gSW50ZXJmYWNlUHRySW5mbzsKLSAgbW9qby5JbnRlcmZhY2VSZXF1ZXN0ID0gSW50ZXJm
YWNlUmVxdWVzdDsKLSAgbW9qby5Bc3NvY2lhdGVkSW50ZXJmYWNlUHRySW5mbyA9IEFzc29jaWF0
ZWRJbnRlcmZhY2VQdHJJbmZvOwotICBtb2pvLkFzc29jaWF0ZWRJbnRlcmZhY2VSZXF1ZXN0ID0g
QXNzb2NpYXRlZEludGVyZmFjZVJlcXVlc3Q7Ci0gIGludGVybmFsLmlzTWFzdGVySW50ZXJmYWNl
SWQgPSBpc01hc3RlckludGVyZmFjZUlkOwotICBpbnRlcm5hbC5pc1ZhbGlkSW50ZXJmYWNlSWQg
PSBpc1ZhbGlkSW50ZXJmYWNlSWQ7Ci0gIGludGVybmFsLmtJbnZhbGlkSW50ZXJmYWNlSWQgPSBr
SW52YWxpZEludGVyZmFjZUlkOwotICBpbnRlcm5hbC5rTWFzdGVySW50ZXJmYWNlSWQgPSBrTWFz
dGVySW50ZXJmYWNlSWQ7Ci0gIGludGVybmFsLmtJbnRlcmZhY2VJZE5hbWVzcGFjZU1hc2sgPSBr
SW50ZXJmYWNlSWROYW1lc3BhY2VNYXNrOwotfSkoKTsKLS8vIENvcHlyaWdodCAyMDE3IFRoZSBD
aHJvbWl1bSBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotLy8gVXNlIG9mIHRoaXMgc291
cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQot
Ly8gZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KLQotKGZ1bmN0aW9uKCkgewotICB2YXIgaW50
ZXJuYWwgPSBtb2pvLmludGVybmFsOwotCi0gIGZ1bmN0aW9uIHZhbGlkYXRlQ29udHJvbFJlcXVl
c3RXaXRoUmVzcG9uc2UobWVzc2FnZSkgewotICAgIHZhciBtZXNzYWdlVmFsaWRhdG9yID0gbmV3
IGludGVybmFsLlZhbGlkYXRvcihtZXNzYWdlKTsKLSAgICB2YXIgZXJyb3IgPSBtZXNzYWdlVmFs
aWRhdG9yLnZhbGlkYXRlTWVzc2FnZUlzUmVxdWVzdEV4cGVjdGluZ1Jlc3BvbnNlKCk7Ci0gICAg
aWYgKGVycm9yICE9PSBpbnRlcm5hbC52YWxpZGF0aW9uRXJyb3IuTk9ORSkgewotICAgICAgdGhy
b3cgZXJyb3I7Ci0gICAgfQotCi0gICAgaWYgKG1lc3NhZ2UuZ2V0TmFtZSgpICE9IG1vam8uaW50
ZXJmYWNlQ29udHJvbDIua1J1bk1lc3NhZ2VJZCkgewotICAgICAgdGhyb3cgbmV3IEVycm9yKCJD
b250cm9sIG1lc3NhZ2UgbmFtZSBpcyBub3Qga1J1bk1lc3NhZ2VJZCIpOwotICAgIH0KLQotICAg
IC8vIFZhbGlkYXRlIHBheWxvYWQuCi0gICAgZXJyb3IgPSBtb2pvLmludGVyZmFjZUNvbnRyb2wy
LlJ1bk1lc3NhZ2VQYXJhbXMudmFsaWRhdGUobWVzc2FnZVZhbGlkYXRvciwKLSAgICAgICAgbWVz
c2FnZS5nZXRIZWFkZXJOdW1CeXRlcygpKTsKLSAgICBpZiAoZXJyb3IgIT0gaW50ZXJuYWwudmFs
aWRhdGlvbkVycm9yLk5PTkUpIHsKLSAgICAgIHRocm93IGVycm9yOwotICAgIH0KLSAgfQotCi0g
IGZ1bmN0aW9uIHZhbGlkYXRlQ29udHJvbFJlcXVlc3RXaXRob3V0UmVzcG9uc2UobWVzc2FnZSkg
ewotICAgIHZhciBtZXNzYWdlVmFsaWRhdG9yID0gbmV3IGludGVybmFsLlZhbGlkYXRvcihtZXNz
YWdlKTsKLSAgICB2YXIgZXJyb3IgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlTWVzc2FnZUlz
UmVxdWVzdFdpdGhvdXRSZXNwb25zZSgpOwotICAgIGlmIChlcnJvciAhPSBpbnRlcm5hbC52YWxp
ZGF0aW9uRXJyb3IuTk9ORSkgewotICAgICAgdGhyb3cgZXJyb3I7Ci0gICAgfQotCi0gICAgaWYg
KG1lc3NhZ2UuZ2V0TmFtZSgpICE9IG1vam8uaW50ZXJmYWNlQ29udHJvbDIua1J1bk9yQ2xvc2VQ
aXBlTWVzc2FnZUlkKSB7Ci0gICAgICB0aHJvdyBuZXcgRXJyb3IoIkNvbnRyb2wgbWVzc2FnZSBu
YW1lIGlzIG5vdCBrUnVuT3JDbG9zZVBpcGVNZXNzYWdlSWQiKTsKLSAgICB9Ci0KLSAgICAvLyBW
YWxpZGF0ZSBwYXlsb2FkLgotICAgIGVycm9yID0gbW9qby5pbnRlcmZhY2VDb250cm9sMi5SdW5P
ckNsb3NlUGlwZU1lc3NhZ2VQYXJhbXMudmFsaWRhdGUoCi0gICAgICAgIG1lc3NhZ2VWYWxpZGF0
b3IsIG1lc3NhZ2UuZ2V0SGVhZGVyTnVtQnl0ZXMoKSk7Ci0gICAgaWYgKGVycm9yICE9IGludGVy
bmFsLnZhbGlkYXRpb25FcnJvci5OT05FKSB7Ci0gICAgICB0aHJvdyBlcnJvcjsKLSAgICB9Ci0g
IH0KLQotICBmdW5jdGlvbiBydW5PckNsb3NlUGlwZShtZXNzYWdlLCBpbnRlcmZhY2VWZXJzaW9u
KSB7Ci0gICAgdmFyIHJlYWRlciA9IG5ldyBpbnRlcm5hbC5NZXNzYWdlUmVhZGVyKG1lc3NhZ2Up
OwotICAgIHZhciBydW5PckNsb3NlUGlwZU1lc3NhZ2VQYXJhbXMgPSByZWFkZXIuZGVjb2RlU3Ry
dWN0KAotICAgICAgICBtb2pvLmludGVyZmFjZUNvbnRyb2wyLlJ1bk9yQ2xvc2VQaXBlTWVzc2Fn
ZVBhcmFtcyk7Ci0gICAgcmV0dXJuIGludGVyZmFjZVZlcnNpb24gPj0KLSAgICAgICAgcnVuT3JD
bG9zZVBpcGVNZXNzYWdlUGFyYW1zLmlucHV0LnJlcXVpcmVWZXJzaW9uLnZlcnNpb247Ci0gIH0K
LQotICBmdW5jdGlvbiBydW4obWVzc2FnZSwgcmVzcG9uZGVyLCBpbnRlcmZhY2VWZXJzaW9uKSB7
Ci0gICAgdmFyIHJlYWRlciA9IG5ldyBpbnRlcm5hbC5NZXNzYWdlUmVhZGVyKG1lc3NhZ2UpOwot
ICAgIHZhciBydW5NZXNzYWdlUGFyYW1zID0KLSAgICAgICAgcmVhZGVyLmRlY29kZVN0cnVjdCht
b2pvLmludGVyZmFjZUNvbnRyb2wyLlJ1bk1lc3NhZ2VQYXJhbXMpOwotICAgIHZhciBydW5PdXRw
dXQgPSBudWxsOwotCi0gICAgaWYgKHJ1bk1lc3NhZ2VQYXJhbXMuaW5wdXQucXVlcnlWZXJzaW9u
KSB7Ci0gICAgICBydW5PdXRwdXQgPSBuZXcgbW9qby5pbnRlcmZhY2VDb250cm9sMi5SdW5PdXRw
dXQoKTsKLSAgICAgIHJ1bk91dHB1dC5xdWVyeVZlcnNpb25SZXN1bHQgPSBuZXcKLSAgICAgICAg
ICBtb2pvLmludGVyZmFjZUNvbnRyb2wyLlF1ZXJ5VmVyc2lvblJlc3VsdCgKLSAgICAgICAgICAg
ICAgeyd2ZXJzaW9uJzogaW50ZXJmYWNlVmVyc2lvbn0pOwotICAgIH0KLQotICAgIHZhciBydW5S
ZXNwb25zZU1lc3NhZ2VQYXJhbXMgPSBuZXcKLSAgICAgICAgbW9qby5pbnRlcmZhY2VDb250cm9s
Mi5SdW5SZXNwb25zZU1lc3NhZ2VQYXJhbXMoKTsKLSAgICBydW5SZXNwb25zZU1lc3NhZ2VQYXJh
bXMub3V0cHV0ID0gcnVuT3V0cHV0OwotCi0gICAgdmFyIG1lc3NhZ2VOYW1lID0gbW9qby5pbnRl
cmZhY2VDb250cm9sMi5rUnVuTWVzc2FnZUlkOwotICAgIHZhciBwYXlsb2FkU2l6ZSA9Ci0gICAg
ICAgIG1vam8uaW50ZXJmYWNlQ29udHJvbDIuUnVuUmVzcG9uc2VNZXNzYWdlUGFyYW1zLmVuY29k
ZWRTaXplOwotICAgIHZhciByZXF1ZXN0SUQgPSByZWFkZXIucmVxdWVzdElEOwotICAgIHZhciBi
dWlsZGVyID0gbmV3IGludGVybmFsLk1lc3NhZ2VWMUJ1aWxkZXIobWVzc2FnZU5hbWUsCi0gICAg
ICAgIHBheWxvYWRTaXplLCBpbnRlcm5hbC5rTWVzc2FnZUlzUmVzcG9uc2UsIHJlcXVlc3RJRCk7
Ci0gICAgYnVpbGRlci5lbmNvZGVTdHJ1Y3QobW9qby5pbnRlcmZhY2VDb250cm9sMi5SdW5SZXNw
b25zZU1lc3NhZ2VQYXJhbXMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgcnVuUmVzcG9uc2VN
ZXNzYWdlUGFyYW1zKTsKLSAgICByZXNwb25kZXIuYWNjZXB0KGJ1aWxkZXIuZmluaXNoKCkpOwot
ICAgIHJldHVybiB0cnVlOwotICB9Ci0KLSAgZnVuY3Rpb24gaXNJbnRlcmZhY2VDb250cm9sTWVz
c2FnZShtZXNzYWdlKSB7Ci0gICAgcmV0dXJuIG1lc3NhZ2UuZ2V0TmFtZSgpID09IG1vam8uaW50
ZXJmYWNlQ29udHJvbDIua1J1bk1lc3NhZ2VJZCB8fAotICAgICAgICAgICBtZXNzYWdlLmdldE5h
bWUoKSA9PSBtb2pvLmludGVyZmFjZUNvbnRyb2wyLmtSdW5PckNsb3NlUGlwZU1lc3NhZ2VJZDsK
LSAgfQotCi0gIGZ1bmN0aW9uIENvbnRyb2xNZXNzYWdlSGFuZGxlcihpbnRlcmZhY2VWZXJzaW9u
KSB7Ci0gICAgdGhpcy5pbnRlcmZhY2VWZXJzaW9uXyA9IGludGVyZmFjZVZlcnNpb247Ci0gIH0K
LQotICBDb250cm9sTWVzc2FnZUhhbmRsZXIucHJvdG90eXBlLmFjY2VwdCA9IGZ1bmN0aW9uKG1l
c3NhZ2UpIHsKLSAgICB2YWxpZGF0ZUNvbnRyb2xSZXF1ZXN0V2l0aG91dFJlc3BvbnNlKG1lc3Nh
Z2UpOwotICAgIHJldHVybiBydW5PckNsb3NlUGlwZShtZXNzYWdlLCB0aGlzLmludGVyZmFjZVZl
cnNpb25fKTsKLSAgfTsKLQotICBDb250cm9sTWVzc2FnZUhhbmRsZXIucHJvdG90eXBlLmFjY2Vw
dFdpdGhSZXNwb25kZXIgPSBmdW5jdGlvbihtZXNzYWdlLAotICAgICAgcmVzcG9uZGVyKSB7Ci0g
ICAgdmFsaWRhdGVDb250cm9sUmVxdWVzdFdpdGhSZXNwb25zZShtZXNzYWdlKTsKLSAgICByZXR1
cm4gcnVuKG1lc3NhZ2UsIHJlc3BvbmRlciwgdGhpcy5pbnRlcmZhY2VWZXJzaW9uXyk7Ci0gIH07
Ci0KLSAgaW50ZXJuYWwuQ29udHJvbE1lc3NhZ2VIYW5kbGVyID0gQ29udHJvbE1lc3NhZ2VIYW5k
bGVyOwotICBpbnRlcm5hbC5pc0ludGVyZmFjZUNvbnRyb2xNZXNzYWdlID0gaXNJbnRlcmZhY2VD
b250cm9sTWVzc2FnZTsKLX0pKCk7Ci0vLyBDb3B5cmlnaHQgMjAxNyBUaGUgQ2hyb21pdW0gQXV0
aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLS8vIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlz
IGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKLS8vIGZvdW5kIGlu
IHRoZSBMSUNFTlNFIGZpbGUuCi0KLShmdW5jdGlvbigpIHsKLSAgdmFyIGludGVybmFsID0gbW9q
by5pbnRlcm5hbDsKLQotICBmdW5jdGlvbiBjb25zdHJ1Y3RSdW5PckNsb3NlUGlwZU1lc3NhZ2Uo
cnVuT3JDbG9zZVBpcGVJbnB1dCkgewotICAgIHZhciBydW5PckNsb3NlUGlwZU1lc3NhZ2VQYXJh
bXMgPSBuZXcKLSAgICAgICAgbW9qby5pbnRlcmZhY2VDb250cm9sMi5SdW5PckNsb3NlUGlwZU1l
c3NhZ2VQYXJhbXMoKTsKLSAgICBydW5PckNsb3NlUGlwZU1lc3NhZ2VQYXJhbXMuaW5wdXQgPSBy
dW5PckNsb3NlUGlwZUlucHV0OwotCi0gICAgdmFyIG1lc3NhZ2VOYW1lID0gbW9qby5pbnRlcmZh
Y2VDb250cm9sMi5rUnVuT3JDbG9zZVBpcGVNZXNzYWdlSWQ7Ci0gICAgdmFyIHBheWxvYWRTaXpl
ID0KLSAgICAgICAgbW9qby5pbnRlcmZhY2VDb250cm9sMi5SdW5PckNsb3NlUGlwZU1lc3NhZ2VQ
YXJhbXMuZW5jb2RlZFNpemU7Ci0gICAgdmFyIGJ1aWxkZXIgPSBuZXcgaW50ZXJuYWwuTWVzc2Fn
ZVYwQnVpbGRlcihtZXNzYWdlTmFtZSwgcGF5bG9hZFNpemUpOwotICAgIGJ1aWxkZXIuZW5jb2Rl
U3RydWN0KG1vam8uaW50ZXJmYWNlQ29udHJvbDIuUnVuT3JDbG9zZVBpcGVNZXNzYWdlUGFyYW1z
LAotICAgICAgICAgICAgICAgICAgICAgICAgIHJ1bk9yQ2xvc2VQaXBlTWVzc2FnZVBhcmFtcyk7
Ci0gICAgdmFyIG1lc3NhZ2UgPSBidWlsZGVyLmZpbmlzaCgpOwotICAgIHJldHVybiBtZXNzYWdl
OwotICB9Ci0KLSAgZnVuY3Rpb24gdmFsaWRhdGVDb250cm9sUmVzcG9uc2UobWVzc2FnZSkgewot
ICAgIHZhciBtZXNzYWdlVmFsaWRhdG9yID0gbmV3IGludGVybmFsLlZhbGlkYXRvcihtZXNzYWdl
KTsKLSAgICB2YXIgZXJyb3IgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlTWVzc2FnZUlzUmVz
cG9uc2UoKTsKLSAgICBpZiAoZXJyb3IgIT0gaW50ZXJuYWwudmFsaWRhdGlvbkVycm9yLk5PTkUp
IHsKLSAgICAgIHRocm93IGVycm9yOwotICAgIH0KLQotICAgIGlmIChtZXNzYWdlLmdldE5hbWUo
KSAhPSBtb2pvLmludGVyZmFjZUNvbnRyb2wyLmtSdW5NZXNzYWdlSWQpIHsKLSAgICAgIHRocm93
IG5ldyBFcnJvcigiQ29udHJvbCBtZXNzYWdlIG5hbWUgaXMgbm90IGtSdW5NZXNzYWdlSWQiKTsK
LSAgICB9Ci0KLSAgICAvLyBWYWxpZGF0ZSBwYXlsb2FkLgotICAgIGVycm9yID0gbW9qby5pbnRl
cmZhY2VDb250cm9sMi5SdW5SZXNwb25zZU1lc3NhZ2VQYXJhbXMudmFsaWRhdGUoCi0gICAgICAg
IG1lc3NhZ2VWYWxpZGF0b3IsIG1lc3NhZ2UuZ2V0SGVhZGVyTnVtQnl0ZXMoKSk7Ci0gICAgaWYg
KGVycm9yICE9IGludGVybmFsLnZhbGlkYXRpb25FcnJvci5OT05FKSB7Ci0gICAgICB0aHJvdyBl
cnJvcjsKLSAgICB9Ci0gIH0KLQotICBmdW5jdGlvbiBhY2NlcHRSdW5SZXNwb25zZShtZXNzYWdl
KSB7Ci0gICAgdmFsaWRhdGVDb250cm9sUmVzcG9uc2UobWVzc2FnZSk7Ci0KLSAgICB2YXIgcmVh
ZGVyID0gbmV3IGludGVybmFsLk1lc3NhZ2VSZWFkZXIobWVzc2FnZSk7Ci0gICAgdmFyIHJ1blJl
c3BvbnNlTWVzc2FnZVBhcmFtcyA9IHJlYWRlci5kZWNvZGVTdHJ1Y3QoCi0gICAgICAgIG1vam8u
aW50ZXJmYWNlQ29udHJvbDIuUnVuUmVzcG9uc2VNZXNzYWdlUGFyYW1zKTsKLQotICAgIHJldHVy
biBQcm9taXNlLnJlc29sdmUocnVuUmVzcG9uc2VNZXNzYWdlUGFyYW1zKTsKLSAgfQotCi0gLyoq
Ci0gICogU2VuZHMgdGhlIGdpdmVuIHJ1biBtZXNzYWdlIHRocm91Z2ggdGhlIHJlY2VpdmVyLgot
ICAqIEFjY2VwdHMgdGhlIHJlc3BvbnNlIG1lc3NhZ2UgZnJvbSB0aGUgcmVjZWl2ZXIgYW5kIGRl
Y29kZXMgdGhlIG1lc3NhZ2UKLSAgKiBzdHJ1Y3QgdG8gUnVuUmVzcG9uc2VNZXNzYWdlUGFyYW1z
LgotICAqCi0gICogQHBhcmFtICB7Um91dGVyfSByZWNlaXZlci4KLSAgKiBAcGFyYW0gIHtSdW5N
ZXNzYWdlUGFyYW1zfSBydW5NZXNzYWdlUGFyYW1zIHRvIGJlIHNlbnQgdmlhIGEgbWVzc2FnZS4K
LSAgKiBAcmV0dXJuIHtQcm9taXNlfSB0aGF0IHJlc29sdmVzIHRvIGEgUnVuUmVzcG9uc2VNZXNz
YWdlUGFyYW1zLgotICAqLwotICBmdW5jdGlvbiBzZW5kUnVuTWVzc2FnZShyZWNlaXZlciwgcnVu
TWVzc2FnZVBhcmFtcykgewotICAgIHZhciBtZXNzYWdlTmFtZSA9IG1vam8uaW50ZXJmYWNlQ29u
dHJvbDIua1J1bk1lc3NhZ2VJZDsKLSAgICB2YXIgcGF5bG9hZFNpemUgPSBtb2pvLmludGVyZmFj
ZUNvbnRyb2wyLlJ1bk1lc3NhZ2VQYXJhbXMuZW5jb2RlZFNpemU7Ci0gICAgLy8gfHJlcXVlc3RJ
RHwgaXMgc2V0IHRvIDAsIGJ1dCBpcyBsYXRlciBwcm9wZXJseSBzZXQgYnkgUm91dGVyLgotICAg
IHZhciBidWlsZGVyID0gbmV3IGludGVybmFsLk1lc3NhZ2VWMUJ1aWxkZXIobWVzc2FnZU5hbWUs
Ci0gICAgICAgIHBheWxvYWRTaXplLCBpbnRlcm5hbC5rTWVzc2FnZUV4cGVjdHNSZXNwb25zZSwg
MCk7Ci0gICAgYnVpbGRlci5lbmNvZGVTdHJ1Y3QobW9qby5pbnRlcmZhY2VDb250cm9sMi5SdW5N
ZXNzYWdlUGFyYW1zLAotICAgICAgICAgICAgICAgICAgICAgICAgIHJ1bk1lc3NhZ2VQYXJhbXMp
OwotICAgIHZhciBtZXNzYWdlID0gYnVpbGRlci5maW5pc2goKTsKLQotICAgIHJldHVybiByZWNl
aXZlci5hY2NlcHRBbmRFeHBlY3RSZXNwb25zZShtZXNzYWdlKS50aGVuKGFjY2VwdFJ1blJlc3Bv
bnNlKTsKLSAgfQotCi0gIGZ1bmN0aW9uIENvbnRyb2xNZXNzYWdlUHJveHkocmVjZWl2ZXIpIHsK
LSAgICB0aGlzLnJlY2VpdmVyXyA9IHJlY2VpdmVyOwotICB9Ci0KLSAgQ29udHJvbE1lc3NhZ2VQ
cm94eS5wcm90b3R5cGUucXVlcnlWZXJzaW9uID0gZnVuY3Rpb24oKSB7Ci0gICAgdmFyIHJ1bk1l
c3NhZ2VQYXJhbXMgPSBuZXcgbW9qby5pbnRlcmZhY2VDb250cm9sMi5SdW5NZXNzYWdlUGFyYW1z
KCk7Ci0gICAgcnVuTWVzc2FnZVBhcmFtcy5pbnB1dCA9IG5ldyBtb2pvLmludGVyZmFjZUNvbnRy
b2wyLlJ1bklucHV0KCk7Ci0gICAgcnVuTWVzc2FnZVBhcmFtcy5pbnB1dC5xdWVyeVZlcnNpb24g
PQotICAgICAgICBuZXcgbW9qby5pbnRlcmZhY2VDb250cm9sMi5RdWVyeVZlcnNpb24oKTsKLQot
ICAgIHJldHVybiBzZW5kUnVuTWVzc2FnZSh0aGlzLnJlY2VpdmVyXywgcnVuTWVzc2FnZVBhcmFt
cykudGhlbihmdW5jdGlvbigKLSAgICAgICAgcnVuUmVzcG9uc2VNZXNzYWdlUGFyYW1zKSB7Ci0g
ICAgICByZXR1cm4gcnVuUmVzcG9uc2VNZXNzYWdlUGFyYW1zLm91dHB1dC5xdWVyeVZlcnNpb25S
ZXN1bHQudmVyc2lvbjsKLSAgICB9KTsKLSAgfTsKLQotICBDb250cm9sTWVzc2FnZVByb3h5LnBy
b3RvdHlwZS5yZXF1aXJlVmVyc2lvbiA9IGZ1bmN0aW9uKHZlcnNpb24pIHsKLSAgICB2YXIgcnVu
T3JDbG9zZVBpcGVJbnB1dCA9IG5ldyBtb2pvLmludGVyZmFjZUNvbnRyb2wyLlJ1bk9yQ2xvc2VQ
aXBlSW5wdXQoKTsKLSAgICBydW5PckNsb3NlUGlwZUlucHV0LnJlcXVpcmVWZXJzaW9uID0KLSAg
ICAgICAgbmV3IG1vam8uaW50ZXJmYWNlQ29udHJvbDIuUmVxdWlyZVZlcnNpb24oeyd2ZXJzaW9u
JzogdmVyc2lvbn0pOwotICAgIHZhciBtZXNzYWdlID0gY29uc3RydWN0UnVuT3JDbG9zZVBpcGVN
ZXNzYWdlKHJ1bk9yQ2xvc2VQaXBlSW5wdXQpOwotICAgIHRoaXMucmVjZWl2ZXJfLmFjY2VwdCht
ZXNzYWdlKTsKLSAgfTsKLQotICBpbnRlcm5hbC5Db250cm9sTWVzc2FnZVByb3h5ID0gQ29udHJv
bE1lc3NhZ2VQcm94eTsKLX0pKCk7Ci0vLyBDb3B5cmlnaHQgMjAxNyBUaGUgQ2hyb21pdW0gQXV0
aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLS8vIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlz
IGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKLS8vIGZvdW5kIGlu
IHRoZSBMSUNFTlNFIGZpbGUuCi0KLShmdW5jdGlvbigpIHsKLSAgdmFyIGludGVybmFsID0gbW9q
by5pbnRlcm5hbDsKLQotICBmdW5jdGlvbiBJbnRlcmZhY2VFbmRwb2ludENsaWVudChpbnRlcmZh
Y2VFbmRwb2ludEhhbmRsZSwgcmVjZWl2ZXIsCi0gICAgICBpbnRlcmZhY2VWZXJzaW9uKSB7Ci0g
ICAgdGhpcy5jb250cm9sbGVyXyA9IG51bGw7Ci0gICAgdGhpcy5lbmNvdW50ZXJlZEVycm9yXyA9
IGZhbHNlOwotICAgIHRoaXMuaGFuZGxlXyA9IGludGVyZmFjZUVuZHBvaW50SGFuZGxlOwotICAg
IHRoaXMuaW5jb21pbmdSZWNlaXZlcl8gPSByZWNlaXZlcjsKLQotICAgIGlmIChpbnRlcmZhY2VW
ZXJzaW9uICE9PSB1bmRlZmluZWQpIHsKLSAgICAgIHRoaXMuY29udHJvbE1lc3NhZ2VIYW5kbGVy
XyA9IG5ldyBpbnRlcm5hbC5Db250cm9sTWVzc2FnZUhhbmRsZXIoCi0gICAgICAgICAgaW50ZXJm
YWNlVmVyc2lvbik7Ci0gICAgfSBlbHNlIHsKLSAgICAgIHRoaXMuY29udHJvbE1lc3NhZ2VQcm94
eV8gPSBuZXcgaW50ZXJuYWwuQ29udHJvbE1lc3NhZ2VQcm94eSh0aGlzKTsKLSAgICB9Ci0KLSAg
ICB0aGlzLm5leHRSZXF1ZXN0SURfID0gMDsKLSAgICB0aGlzLmNvbXBsZXRlcnNfID0gbmV3IE1h
cCgpOwotICAgIHRoaXMucGF5bG9hZFZhbGlkYXRvcnNfID0gW107Ci0gICAgdGhpcy5jb25uZWN0
aW9uRXJyb3JIYW5kbGVyXyA9IG51bGw7Ci0KLSAgICBpZiAoaW50ZXJmYWNlRW5kcG9pbnRIYW5k
bGUucGVuZGluZ0Fzc29jaWF0aW9uKCkpIHsKLSAgICAgIGludGVyZmFjZUVuZHBvaW50SGFuZGxl
LnNldEFzc29jaWF0aW9uRXZlbnRIYW5kbGVyKAotICAgICAgICAgIHRoaXMub25Bc3NvY2lhdGlv
bkV2ZW50LmJpbmQodGhpcykpOwotICAgIH0gZWxzZSB7Ci0gICAgICB0aGlzLmluaXRDb250cm9s
bGVySWZOZWNlc3NhcnlfKCk7Ci0gICAgfQotICB9Ci0KLSAgSW50ZXJmYWNlRW5kcG9pbnRDbGll
bnQucHJvdG90eXBlLmluaXRDb250cm9sbGVySWZOZWNlc3NhcnlfID0gZnVuY3Rpb24oKSB7Ci0g
ICAgaWYgKHRoaXMuY29udHJvbGxlcl8gfHwgdGhpcy5oYW5kbGVfLnBlbmRpbmdBc3NvY2lhdGlv
bigpKSB7Ci0gICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgdGhpcy5jb250cm9sbGVyXyA9IHRo
aXMuaGFuZGxlXy5ncm91cENvbnRyb2xsZXIoKS5hdHRhY2hFbmRwb2ludENsaWVudCgKLSAgICAg
ICAgdGhpcy5oYW5kbGVfLCB0aGlzKTsKLSAgfTsKLQotICBJbnRlcmZhY2VFbmRwb2ludENsaWVu
dC5wcm90b3R5cGUub25Bc3NvY2lhdGlvbkV2ZW50ID0gZnVuY3Rpb24oCi0gICAgICBhc3NvY2lh
dGlvbkV2ZW50KSB7Ci0gICAgaWYgKGFzc29jaWF0aW9uRXZlbnQgPT09IGludGVybmFsLkFzc29j
aWF0aW9uRXZlbnQuQVNTT0NJQVRFRCkgewotICAgICAgdGhpcy5pbml0Q29udHJvbGxlcklmTmVj
ZXNzYXJ5XygpOwotICAgIH0gZWxzZSBpZiAoYXNzb2NpYXRpb25FdmVudCA9PT0KLSAgICAgICAg
ICBpbnRlcm5hbC5Bc3NvY2lhdGlvbkV2ZW50LlBFRVJfQ0xPU0VEX0JFRk9SRV9BU1NPQ0lBVElP
TikgewotICAgICAgc2V0VGltZW91dCh0aGlzLm5vdGlmeUVycm9yLmJpbmQodGhpcywgdGhpcy5o
YW5kbGVfLmRpc2Nvbm5lY3RSZWFzb24oKSksCi0gICAgICAgICAgICAgICAgIDApOwotICAgIH0K
LSAgfTsKLQotICBJbnRlcmZhY2VFbmRwb2ludENsaWVudC5wcm90b3R5cGUucGFzc0hhbmRsZSA9
IGZ1bmN0aW9uKCkgewotICAgIGlmICghdGhpcy5oYW5kbGVfLmlzVmFsaWQoKSkgewotICAgICAg
cmV0dXJuIG5ldyBpbnRlcm5hbC5JbnRlcmZhY2VFbmRwb2ludEhhbmRsZSgpOwotICAgIH0KLQot
ICAgIC8vIFVzZWQgdG8gY2xlYXIgdGhlIHByZXZpb3VzbHkgc2V0IGNhbGxiYWNrLgotICAgIHRo
aXMuaGFuZGxlXy5zZXRBc3NvY2lhdGlvbkV2ZW50SGFuZGxlcih1bmRlZmluZWQpOwotCi0gICAg
aWYgKHRoaXMuY29udHJvbGxlcl8pIHsKLSAgICAgIHRoaXMuY29udHJvbGxlcl8gPSBudWxsOwot
ICAgICAgdGhpcy5oYW5kbGVfLmdyb3VwQ29udHJvbGxlcigpLmRldGFjaEVuZHBvaW50Q2xpZW50
KHRoaXMuaGFuZGxlXyk7Ci0gICAgfQotICAgIHZhciBoYW5kbGUgPSB0aGlzLmhhbmRsZV87Ci0g
ICAgdGhpcy5oYW5kbGVfID0gbnVsbDsKLSAgICByZXR1cm4gaGFuZGxlOwotICB9OwotCi0gIElu
dGVyZmFjZUVuZHBvaW50Q2xpZW50LnByb3RvdHlwZS5jbG9zZSA9IGZ1bmN0aW9uKHJlYXNvbikg
ewotICAgIHZhciBoYW5kbGUgPSB0aGlzLnBhc3NIYW5kbGUoKTsKLSAgICBoYW5kbGUucmVzZXQo
cmVhc29uKTsKLSAgfTsKLQotICBJbnRlcmZhY2VFbmRwb2ludENsaWVudC5wcm90b3R5cGUuYWNj
ZXB0ID0gZnVuY3Rpb24obWVzc2FnZSkgewotICAgIGlmIChtZXNzYWdlLmFzc29jaWF0ZWRFbmRw
b2ludEhhbmRsZXMubGVuZ3RoID4gMCkgewotICAgICAgbWVzc2FnZS5zZXJpYWxpemVBc3NvY2lh
dGVkRW5kcG9pbnRIYW5kbGVzKAotICAgICAgICAgIHRoaXMuaGFuZGxlXy5ncm91cENvbnRyb2xs
ZXIoKSk7Ci0gICAgfQotCi0gICAgaWYgKHRoaXMuZW5jb3VudGVyZWRFcnJvcl8pIHsKLSAgICAg
IHJldHVybiBmYWxzZTsKLSAgICB9Ci0KLSAgICB0aGlzLmluaXRDb250cm9sbGVySWZOZWNlc3Nh
cnlfKCk7Ci0gICAgcmV0dXJuIHRoaXMuY29udHJvbGxlcl8uc2VuZE1lc3NhZ2UobWVzc2FnZSk7
Ci0gIH07Ci0KLSAgSW50ZXJmYWNlRW5kcG9pbnRDbGllbnQucHJvdG90eXBlLmFjY2VwdEFuZEV4
cGVjdFJlc3BvbnNlID0gZnVuY3Rpb24oCi0gICAgICBtZXNzYWdlKSB7Ci0gICAgaWYgKG1lc3Nh
Z2UuYXNzb2NpYXRlZEVuZHBvaW50SGFuZGxlcy5sZW5ndGggPiAwKSB7Ci0gICAgICBtZXNzYWdl
LnNlcmlhbGl6ZUFzc29jaWF0ZWRFbmRwb2ludEhhbmRsZXMoCi0gICAgICAgICAgdGhpcy5oYW5k
bGVfLmdyb3VwQ29udHJvbGxlcigpKTsKLSAgICB9Ci0KLSAgICBpZiAodGhpcy5lbmNvdW50ZXJl
ZEVycm9yXykgewotICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KCk7Ci0gICAgfQotCi0gICAg
dGhpcy5pbml0Q29udHJvbGxlcklmTmVjZXNzYXJ5XygpOwotCi0gICAgLy8gUmVzZXJ2ZSAwIGlu
IGNhc2Ugd2Ugd2FudCBpdCB0byBjb252ZXkgc3BlY2lhbCBtZWFuaW5nIGluIHRoZSBmdXR1cmUu
Ci0gICAgdmFyIHJlcXVlc3RJRCA9IHRoaXMubmV4dFJlcXVlc3RJRF8rKzsKLSAgICBpZiAocmVx
dWVzdElEID09PSAwKQotICAgICAgcmVxdWVzdElEID0gdGhpcy5uZXh0UmVxdWVzdElEXysrOwot
Ci0gICAgbWVzc2FnZS5zZXRSZXF1ZXN0SUQocmVxdWVzdElEKTsKLSAgICB2YXIgcmVzdWx0ID0g
dGhpcy5jb250cm9sbGVyXy5zZW5kTWVzc2FnZShtZXNzYWdlKTsKLSAgICBpZiAoIXJlc3VsdCkK
LSAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdChFcnJvcigiQ29ubmVjdGlvbiBlcnJvciIpKTsK
LQotICAgIHZhciBjb21wbGV0ZXIgPSB7fTsKLSAgICB0aGlzLmNvbXBsZXRlcnNfLnNldChyZXF1
ZXN0SUQsIGNvbXBsZXRlcik7Ci0gICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29s
dmUsIHJlamVjdCkgewotICAgICAgY29tcGxldGVyLnJlc29sdmUgPSByZXNvbHZlOwotICAgICAg
Y29tcGxldGVyLnJlamVjdCA9IHJlamVjdDsKLSAgICB9KTsKLSAgfTsKLQotICBJbnRlcmZhY2VF
bmRwb2ludENsaWVudC5wcm90b3R5cGUuc2V0UGF5bG9hZFZhbGlkYXRvcnMgPSBmdW5jdGlvbigK
LSAgICAgIHBheWxvYWRWYWxpZGF0b3JzKSB7Ci0gICAgdGhpcy5wYXlsb2FkVmFsaWRhdG9yc18g
PSBwYXlsb2FkVmFsaWRhdG9yczsKLSAgfTsKLQotICBJbnRlcmZhY2VFbmRwb2ludENsaWVudC5w
cm90b3R5cGUuc2V0SW5jb21pbmdSZWNlaXZlciA9IGZ1bmN0aW9uKHJlY2VpdmVyKSB7Ci0gICAg
dGhpcy5pbmNvbWluZ1JlY2VpdmVyXyA9IHJlY2VpdmVyOwotICB9OwotCi0gIEludGVyZmFjZUVu
ZHBvaW50Q2xpZW50LnByb3RvdHlwZS5zZXRDb25uZWN0aW9uRXJyb3JIYW5kbGVyID0gZnVuY3Rp
b24oCi0gICAgICBoYW5kbGVyKSB7Ci0gICAgdGhpcy5jb25uZWN0aW9uRXJyb3JIYW5kbGVyXyA9
IGhhbmRsZXI7Ci0gIH07Ci0KLSAgSW50ZXJmYWNlRW5kcG9pbnRDbGllbnQucHJvdG90eXBlLmhh
bmRsZUluY29taW5nTWVzc2FnZSA9IGZ1bmN0aW9uKG1lc3NhZ2UsCi0gICAgICBtZXNzYWdlVmFs
aWRhdG9yKSB7Ci0gICAgdmFyIG5vRXJyb3IgPSBpbnRlcm5hbC52YWxpZGF0aW9uRXJyb3IuTk9O
RTsKLSAgICB2YXIgZXJyID0gbm9FcnJvcjsKLSAgICBmb3IgKHZhciBpID0gMDsgZXJyID09PSBu
b0Vycm9yICYmIGkgPCB0aGlzLnBheWxvYWRWYWxpZGF0b3JzXy5sZW5ndGg7ICsraSkKLSAgICAg
IGVyciA9IHRoaXMucGF5bG9hZFZhbGlkYXRvcnNfW2ldKG1lc3NhZ2VWYWxpZGF0b3IpOwotCi0g
ICAgaWYgKGVyciA9PSBub0Vycm9yKSB7Ci0gICAgICByZXR1cm4gdGhpcy5oYW5kbGVWYWxpZElu
Y29taW5nTWVzc2FnZV8obWVzc2FnZSk7Ci0gICAgfSBlbHNlIHsKLSAgICAgIGludGVybmFsLnJl
cG9ydFZhbGlkYXRpb25FcnJvcihlcnIpOwotICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0KLSAg
fTsKLQotICBJbnRlcmZhY2VFbmRwb2ludENsaWVudC5wcm90b3R5cGUuaGFuZGxlVmFsaWRJbmNv
bWluZ01lc3NhZ2VfID0gZnVuY3Rpb24oCi0gICAgICBtZXNzYWdlKSB7Ci0gICAgaWYgKGludGVy
bmFsLmlzVGVzdGluZ01vZGUoKSkgewotICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfQotCi0gICAg
aWYgKHRoaXMuZW5jb3VudGVyZWRFcnJvcl8pIHsKLSAgICAgIHJldHVybiBmYWxzZTsKLSAgICB9
Ci0KLSAgICB2YXIgb2sgPSBmYWxzZTsKLQotICAgIGlmIChtZXNzYWdlLmV4cGVjdHNSZXNwb25z
ZSgpKSB7Ci0gICAgICBpZiAoaW50ZXJuYWwuaXNJbnRlcmZhY2VDb250cm9sTWVzc2FnZShtZXNz
YWdlKSAmJgotICAgICAgICAgIHRoaXMuY29udHJvbE1lc3NhZ2VIYW5kbGVyXykgewotICAgICAg
ICBvayA9IHRoaXMuY29udHJvbE1lc3NhZ2VIYW5kbGVyXy5hY2NlcHRXaXRoUmVzcG9uZGVyKG1l
c3NhZ2UsIHRoaXMpOwotICAgICAgfSBlbHNlIGlmICh0aGlzLmluY29taW5nUmVjZWl2ZXJfKSB7
Ci0gICAgICAgIG9rID0gdGhpcy5pbmNvbWluZ1JlY2VpdmVyXy5hY2NlcHRXaXRoUmVzcG9uZGVy
KG1lc3NhZ2UsIHRoaXMpOwotICAgICAgfQotICAgIH0gZWxzZSBpZiAobWVzc2FnZS5pc1Jlc3Bv
bnNlKCkpIHsKLSAgICAgIHZhciByZWFkZXIgPSBuZXcgaW50ZXJuYWwuTWVzc2FnZVJlYWRlciht
ZXNzYWdlKTsKLSAgICAgIHZhciByZXF1ZXN0SUQgPSByZWFkZXIucmVxdWVzdElEOwotICAgICAg
dmFyIGNvbXBsZXRlciA9IHRoaXMuY29tcGxldGVyc18uZ2V0KHJlcXVlc3RJRCk7Ci0gICAgICBp
ZiAoY29tcGxldGVyKSB7Ci0gICAgICAgIHRoaXMuY29tcGxldGVyc18uZGVsZXRlKHJlcXVlc3RJ
RCk7Ci0gICAgICAgIGNvbXBsZXRlci5yZXNvbHZlKG1lc3NhZ2UpOwotICAgICAgICBvayA9IHRy
dWU7Ci0gICAgICB9IGVsc2UgewotICAgICAgICBjb25zb2xlLmxvZygiVW5leHBlY3RlZCByZXNw
b25zZSB3aXRoIHJlcXVlc3QgSUQ6ICIgKyByZXF1ZXN0SUQpOwotICAgICAgfQotICAgIH0gZWxz
ZSB7Ci0gICAgICBpZiAoaW50ZXJuYWwuaXNJbnRlcmZhY2VDb250cm9sTWVzc2FnZShtZXNzYWdl
KSAmJgotICAgICAgICAgIHRoaXMuY29udHJvbE1lc3NhZ2VIYW5kbGVyXykgewotICAgICAgICBv
ayA9IHRoaXMuY29udHJvbE1lc3NhZ2VIYW5kbGVyXy5hY2NlcHQobWVzc2FnZSk7Ci0gICAgICB9
IGVsc2UgaWYgKHRoaXMuaW5jb21pbmdSZWNlaXZlcl8pIHsKLSAgICAgICAgb2sgPSB0aGlzLmlu
Y29taW5nUmVjZWl2ZXJfLmFjY2VwdChtZXNzYWdlKTsKLSAgICAgIH0KLSAgICB9Ci0gICAgcmV0
dXJuIG9rOwotICB9OwotCi0gIEludGVyZmFjZUVuZHBvaW50Q2xpZW50LnByb3RvdHlwZS5ub3Rp
ZnlFcnJvciA9IGZ1bmN0aW9uKHJlYXNvbikgewotICAgIGlmICh0aGlzLmVuY291bnRlcmVkRXJy
b3JfKSB7Ci0gICAgICByZXR1cm47Ci0gICAgfQotICAgIHRoaXMuZW5jb3VudGVyZWRFcnJvcl8g
PSB0cnVlOwotCi0gICAgdGhpcy5jb21wbGV0ZXJzXy5mb3JFYWNoKGZ1bmN0aW9uKHZhbHVlKSB7
Ci0gICAgICB2YWx1ZS5yZWplY3QoKTsKLSAgICB9KTsKLSAgICB0aGlzLmNvbXBsZXRlcnNfLmNs
ZWFyKCk7ICAvLyBEcm9wIGFueSByZXNwb25kZXJzLgotCi0gICAgaWYgKHRoaXMuY29ubmVjdGlv
bkVycm9ySGFuZGxlcl8pIHsKLSAgICAgIHRoaXMuY29ubmVjdGlvbkVycm9ySGFuZGxlcl8ocmVh
c29uKTsKLSAgICB9Ci0gIH07Ci0KLSAgSW50ZXJmYWNlRW5kcG9pbnRDbGllbnQucHJvdG90eXBl
LnF1ZXJ5VmVyc2lvbiA9IGZ1bmN0aW9uKCkgewotICAgIHJldHVybiB0aGlzLmNvbnRyb2xNZXNz
YWdlUHJveHlfLnF1ZXJ5VmVyc2lvbigpOwotICB9OwotCi0gIEludGVyZmFjZUVuZHBvaW50Q2xp
ZW50LnByb3RvdHlwZS5yZXF1aXJlVmVyc2lvbiA9IGZ1bmN0aW9uKHZlcnNpb24pIHsKLSAgICB0
aGlzLmNvbnRyb2xNZXNzYWdlUHJveHlfLnJlcXVpcmVWZXJzaW9uKHZlcnNpb24pOwotICB9Owot
Ci0gIEludGVyZmFjZUVuZHBvaW50Q2xpZW50LnByb3RvdHlwZS5nZXRFbmNvdW50ZXJlZEVycm9y
ID0gZnVuY3Rpb24oKSB7Ci0gICAgcmV0dXJuIHRoaXMuZW5jb3VudGVyZWRFcnJvcl87Ci0gIH07
Ci0KLSAgaW50ZXJuYWwuSW50ZXJmYWNlRW5kcG9pbnRDbGllbnQgPSBJbnRlcmZhY2VFbmRwb2lu
dENsaWVudDsKLX0pKCk7Ci0vLyBDb3B5cmlnaHQgMjAxNyBUaGUgQ2hyb21pdW0gQXV0aG9ycy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KLS8vIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVy
bmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKLS8vIGZvdW5kIGluIHRoZSBM
SUNFTlNFIGZpbGUuCi0KLShmdW5jdGlvbigpIHsKLSAgdmFyIGludGVybmFsID0gbW9qby5pbnRl
cm5hbDsKLQotICB2YXIgQXNzb2NpYXRpb25FdmVudCA9IHsKLSAgICAvLyBUaGUgaW50ZXJmYWNl
IGhhcyBiZWVuIGFzc29jaWF0ZWQgd2l0aCBhIG1lc3NhZ2UgcGlwZS4KLSAgICBBU1NPQ0lBVEVE
OiAnYXNzb2NpYXRlZCcsCi0gICAgLy8gVGhlIHBlZXIgb2YgdGhpcyBvYmplY3QgaGFzIGJlZW4g
Y2xvc2VkIGJlZm9yZSBhc3NvY2lhdGlvbi4KLSAgICBQRUVSX0NMT1NFRF9CRUZPUkVfQVNTT0NJ
QVRJT046ICdwZWVyX2Nsb3NlZF9iZWZvcmVfYXNzb2NpYXRpb24nCi0gIH07Ci0KLSAgZnVuY3Rp
b24gU3RhdGUoaW50ZXJmYWNlSWQsIGFzc29jaWF0ZWRHcm91cENvbnRyb2xsZXIpIHsKLSAgICBp
ZiAoaW50ZXJmYWNlSWQgPT09IHVuZGVmaW5lZCkgewotICAgICAgaW50ZXJmYWNlSWQgPSBpbnRl
cm5hbC5rSW52YWxpZEludGVyZmFjZUlkOwotICAgIH0KLQotICAgIHRoaXMuaW50ZXJmYWNlSWQg
PSBpbnRlcmZhY2VJZDsKLSAgICB0aGlzLmFzc29jaWF0ZWRHcm91cENvbnRyb2xsZXIgPSBhc3Nv
Y2lhdGVkR3JvdXBDb250cm9sbGVyOwotICAgIHRoaXMucGVuZGluZ0Fzc29jaWF0aW9uID0gZmFs
c2U7Ci0gICAgdGhpcy5kaXNjb25uZWN0UmVhc29uID0gbnVsbDsKLSAgICB0aGlzLnBlZXJTdGF0
ZV8gPSBudWxsOwotICAgIHRoaXMuYXNzb2NpYXRpb25FdmVudEhhbmRsZXJfID0gbnVsbDsKLSAg
fQotCi0gIFN0YXRlLnByb3RvdHlwZS5pbml0UGVuZGluZ1N0YXRlID0gZnVuY3Rpb24ocGVlcikg
ewotICAgIHRoaXMucGVuZGluZ0Fzc29jaWF0aW9uID0gdHJ1ZTsKLSAgICB0aGlzLnBlZXJTdGF0
ZV8gPSBwZWVyOwotICB9OwotCi0gIFN0YXRlLnByb3RvdHlwZS5pc1ZhbGlkID0gZnVuY3Rpb24o
KSB7Ci0gICAgcmV0dXJuIHRoaXMucGVuZGluZ0Fzc29jaWF0aW9uIHx8Ci0gICAgICAgIGludGVy
bmFsLmlzVmFsaWRJbnRlcmZhY2VJZCh0aGlzLmludGVyZmFjZUlkKTsKLSAgfTsKLQotICBTdGF0
ZS5wcm90b3R5cGUuY2xvc2UgPSBmdW5jdGlvbihkaXNjb25uZWN0UmVhc29uKSB7Ci0gICAgdmFy
IGNhY2hlZEdyb3VwQ29udHJvbGxlcjsKLSAgICB2YXIgY2FjaGVkUGVlclN0YXRlOwotICAgIHZh
ciBjYWNoZWRJZCA9IGludGVybmFsLmtJbnZhbGlkSW50ZXJmYWNlSWQ7Ci0KLSAgICBpZiAoIXRo
aXMucGVuZGluZ0Fzc29jaWF0aW9uKSB7Ci0gICAgICBpZiAoaW50ZXJuYWwuaXNWYWxpZEludGVy
ZmFjZUlkKHRoaXMuaW50ZXJmYWNlSWQpKSB7Ci0gICAgICAgIGNhY2hlZEdyb3VwQ29udHJvbGxl
ciA9IHRoaXMuYXNzb2NpYXRlZEdyb3VwQ29udHJvbGxlcjsKLSAgICAgICAgdGhpcy5hc3NvY2lh
dGVkR3JvdXBDb250cm9sbGVyID0gbnVsbDsKLSAgICAgICAgY2FjaGVkSWQgPSB0aGlzLmludGVy
ZmFjZUlkOwotICAgICAgICB0aGlzLmludGVyZmFjZUlkID0gaW50ZXJuYWwua0ludmFsaWRJbnRl
cmZhY2VJZDsKLSAgICAgIH0KLSAgICB9IGVsc2UgewotICAgICAgdGhpcy5wZW5kaW5nQXNzb2Np
YXRpb24gPSBmYWxzZTsKLSAgICAgIGNhY2hlZFBlZXJTdGF0ZSA9IHRoaXMucGVlclN0YXRlXzsK
LSAgICAgIHRoaXMucGVlclN0YXRlXyA9IG51bGw7Ci0gICAgfQotCi0gICAgaWYgKGNhY2hlZEdy
b3VwQ29udHJvbGxlcikgewotICAgICAgY2FjaGVkR3JvdXBDb250cm9sbGVyLmNsb3NlRW5kcG9p
bnRIYW5kbGUoY2FjaGVkSWQsCi0gICAgICAgICAgZGlzY29ubmVjdFJlYXNvbik7Ci0gICAgfSBl
bHNlIGlmIChjYWNoZWRQZWVyU3RhdGUpIHsKLSAgICAgIGNhY2hlZFBlZXJTdGF0ZS5vblBlZXJD
bG9zZWRCZWZvcmVBc3NvY2lhdGlvbihkaXNjb25uZWN0UmVhc29uKTsKLSAgICB9Ci0gIH07Ci0K
LSAgU3RhdGUucHJvdG90eXBlLnJ1bkFzc29jaWF0aW9uRXZlbnRIYW5kbGVyID0gZnVuY3Rpb24o
YXNzb2NpYXRpb25FdmVudCkgewotICAgIGlmICh0aGlzLmFzc29jaWF0aW9uRXZlbnRIYW5kbGVy
XykgewotICAgICAgdmFyIGhhbmRsZXIgPSB0aGlzLmFzc29jaWF0aW9uRXZlbnRIYW5kbGVyXzsK
LSAgICAgIHRoaXMuYXNzb2NpYXRpb25FdmVudEhhbmRsZXJfID0gbnVsbDsKLSAgICAgIGhhbmRs
ZXIoYXNzb2NpYXRpb25FdmVudCk7Ci0gICAgfQotICB9OwotCi0gIFN0YXRlLnByb3RvdHlwZS5z
ZXRBc3NvY2lhdGlvbkV2ZW50SGFuZGxlciA9IGZ1bmN0aW9uKGhhbmRsZXIpIHsKLSAgICBpZiAo
IXRoaXMucGVuZGluZ0Fzc29jaWF0aW9uICYmCi0gICAgICAgICFpbnRlcm5hbC5pc1ZhbGlkSW50
ZXJmYWNlSWQodGhpcy5pbnRlcmZhY2VJZCkpIHsKLSAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAg
ICBpZiAoIWhhbmRsZXIpIHsKLSAgICAgIHRoaXMuYXNzb2NpYXRpb25FdmVudEhhbmRsZXJfID0g
bnVsbDsKLSAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICB0aGlzLmFzc29jaWF0aW9uRXZlbnRI
YW5kbGVyXyA9IGhhbmRsZXI7Ci0gICAgaWYgKCF0aGlzLnBlbmRpbmdBc3NvY2lhdGlvbikgewot
ICAgICAgc2V0VGltZW91dCh0aGlzLnJ1bkFzc29jaWF0aW9uRXZlbnRIYW5kbGVyLmJpbmQodGhp
cywKLSAgICAgICAgICBBc3NvY2lhdGlvbkV2ZW50LkFTU09DSUFURUQpLCAwKTsKLSAgICB9IGVs
c2UgaWYgKCF0aGlzLnBlZXJTdGF0ZV8pIHsKLSAgICAgIHNldFRpbWVvdXQodGhpcy5ydW5Bc3Nv
Y2lhdGlvbkV2ZW50SGFuZGxlci5iaW5kKHRoaXMsCi0gICAgICAgICAgQXNzb2NpYXRpb25FdmVu
dC5QRUVSX0NMT1NFRF9CRUZPUkVfQVNTT0NJQVRJT04pLCAwKTsKLSAgICB9Ci0gIH07Ci0KLSAg
U3RhdGUucHJvdG90eXBlLm5vdGlmeUFzc29jaWF0aW9uID0gZnVuY3Rpb24oaW50ZXJmYWNlSWQs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBlZXJHcm91
cENvbnRyb2xsZXIpIHsKLSAgICB2YXIgY2FjaGVkUGVlclN0YXRlID0gdGhpcy5wZWVyU3RhdGVf
OwotICAgIHRoaXMucGVlclN0YXRlXyA9IG51bGw7Ci0KLSAgICB0aGlzLnBlbmRpbmdBc3NvY2lh
dGlvbiA9IGZhbHNlOwotCi0gICAgaWYgKGNhY2hlZFBlZXJTdGF0ZSkgewotICAgICAgY2FjaGVk
UGVlclN0YXRlLm9uQXNzb2NpYXRlZChpbnRlcmZhY2VJZCwgcGVlckdyb3VwQ29udHJvbGxlcik7
Ci0gICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9Ci0gICAgcmV0dXJuIGZhbHNlOwotICB9OwotCi0g
IFN0YXRlLnByb3RvdHlwZS5vbkFzc29jaWF0ZWQgPSBmdW5jdGlvbihpbnRlcmZhY2VJZCwKLSAg
ICAgIGFzc29jaWF0ZWRHcm91cENvbnRyb2xsZXIpIHsKLSAgICBpZiAoIXRoaXMucGVuZGluZ0Fz
c29jaWF0aW9uKSB7Ci0gICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgdGhpcy5wZW5kaW5nQXNz
b2NpYXRpb24gPSBmYWxzZTsKLSAgICB0aGlzLnBlZXJTdGF0ZV8gPSBudWxsOwotICAgIHRoaXMu
aW50ZXJmYWNlSWQgPSBpbnRlcmZhY2VJZDsKLSAgICB0aGlzLmFzc29jaWF0ZWRHcm91cENvbnRy
b2xsZXIgPSBhc3NvY2lhdGVkR3JvdXBDb250cm9sbGVyOwotICAgIHRoaXMucnVuQXNzb2NpYXRp
b25FdmVudEhhbmRsZXIoQXNzb2NpYXRpb25FdmVudC5BU1NPQ0lBVEVEKTsKLSAgfTsKLQotICBT
dGF0ZS5wcm90b3R5cGUub25QZWVyQ2xvc2VkQmVmb3JlQXNzb2NpYXRpb24gPSBmdW5jdGlvbihk
aXNjb25uZWN0UmVhc29uKSB7Ci0gICAgaWYgKCF0aGlzLnBlbmRpbmdBc3NvY2lhdGlvbikgewot
ICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIHRoaXMucGVlclN0YXRlXyA9IG51bGw7Ci0gICAg
dGhpcy5kaXNjb25uZWN0UmVhc29uID0gZGlzY29ubmVjdFJlYXNvbjsKLQotICAgIHRoaXMucnVu
QXNzb2NpYXRpb25FdmVudEhhbmRsZXIoCi0gICAgICAgIEFzc29jaWF0aW9uRXZlbnQuUEVFUl9D
TE9TRURfQkVGT1JFX0FTU09DSUFUSU9OKTsKLSAgfTsKLQotICBmdW5jdGlvbiBjcmVhdGVQYWly
UGVuZGluZ0Fzc29jaWF0aW9uKCkgewotICAgIHZhciBoYW5kbGUwID0gbmV3IEludGVyZmFjZUVu
ZHBvaW50SGFuZGxlKCk7Ci0gICAgdmFyIGhhbmRsZTEgPSBuZXcgSW50ZXJmYWNlRW5kcG9pbnRI
YW5kbGUoKTsKLSAgICBoYW5kbGUwLnN0YXRlXy5pbml0UGVuZGluZ1N0YXRlKGhhbmRsZTEuc3Rh
dGVfKTsKLSAgICBoYW5kbGUxLnN0YXRlXy5pbml0UGVuZGluZ1N0YXRlKGhhbmRsZTAuc3RhdGVf
KTsKLSAgICByZXR1cm4ge2hhbmRsZTA6IGhhbmRsZTAsIGhhbmRsZTE6IGhhbmRsZTF9OwotICB9
Ci0KLSAgZnVuY3Rpb24gSW50ZXJmYWNlRW5kcG9pbnRIYW5kbGUoaW50ZXJmYWNlSWQsIGFzc29j
aWF0ZWRHcm91cENvbnRyb2xsZXIpIHsKLSAgICB0aGlzLnN0YXRlXyA9IG5ldyBTdGF0ZShpbnRl
cmZhY2VJZCwgYXNzb2NpYXRlZEdyb3VwQ29udHJvbGxlcik7Ci0gIH0KLQotICBJbnRlcmZhY2VF
bmRwb2ludEhhbmRsZS5wcm90b3R5cGUuaXNWYWxpZCA9IGZ1bmN0aW9uKCkgewotICAgIHJldHVy
biB0aGlzLnN0YXRlXy5pc1ZhbGlkKCk7Ci0gIH07Ci0KLSAgSW50ZXJmYWNlRW5kcG9pbnRIYW5k
bGUucHJvdG90eXBlLnBlbmRpbmdBc3NvY2lhdGlvbiA9IGZ1bmN0aW9uKCkgewotICAgIHJldHVy
biB0aGlzLnN0YXRlXy5wZW5kaW5nQXNzb2NpYXRpb247Ci0gIH07Ci0KLSAgSW50ZXJmYWNlRW5k
cG9pbnRIYW5kbGUucHJvdG90eXBlLmlkID0gZnVuY3Rpb24oKSB7Ci0gICAgcmV0dXJuIHRoaXMu
c3RhdGVfLmludGVyZmFjZUlkOwotICB9OwotCi0gIEludGVyZmFjZUVuZHBvaW50SGFuZGxlLnBy
b3RvdHlwZS5ncm91cENvbnRyb2xsZXIgPSBmdW5jdGlvbigpIHsKLSAgICByZXR1cm4gdGhpcy5z
dGF0ZV8uYXNzb2NpYXRlZEdyb3VwQ29udHJvbGxlcjsKLSAgfTsKLQotICBJbnRlcmZhY2VFbmRw
b2ludEhhbmRsZS5wcm90b3R5cGUuZGlzY29ubmVjdFJlYXNvbiA9IGZ1bmN0aW9uKCkgewotICAg
IHJldHVybiB0aGlzLnN0YXRlXy5kaXNjb25uZWN0UmVhc29uOwotICB9OwotCi0gIEludGVyZmFj
ZUVuZHBvaW50SGFuZGxlLnByb3RvdHlwZS5zZXRBc3NvY2lhdGlvbkV2ZW50SGFuZGxlciA9IGZ1
bmN0aW9uKAotICAgICAgaGFuZGxlcikgewotICAgIHRoaXMuc3RhdGVfLnNldEFzc29jaWF0aW9u
RXZlbnRIYW5kbGVyKGhhbmRsZXIpOwotICB9OwotCi0gIEludGVyZmFjZUVuZHBvaW50SGFuZGxl
LnByb3RvdHlwZS5ub3RpZnlBc3NvY2lhdGlvbiA9IGZ1bmN0aW9uKGludGVyZmFjZUlkLAotICAg
ICAgcGVlckdyb3VwQ29udHJvbGxlcikgewotICAgIHJldHVybiB0aGlzLnN0YXRlXy5ub3RpZnlB
c3NvY2lhdGlvbihpbnRlcmZhY2VJZCwgcGVlckdyb3VwQ29udHJvbGxlcik7Ci0gIH07Ci0KLSAg
SW50ZXJmYWNlRW5kcG9pbnRIYW5kbGUucHJvdG90eXBlLnJlc2V0ID0gZnVuY3Rpb24ocmVhc29u
KSB7Ci0gICAgdGhpcy5zdGF0ZV8uY2xvc2UocmVhc29uKTsKLSAgICB0aGlzLnN0YXRlXyA9IG5l
dyBTdGF0ZSgpOwotICB9OwotCi0gIGludGVybmFsLkFzc29jaWF0aW9uRXZlbnQgPSBBc3NvY2lh
dGlvbkV2ZW50OwotICBpbnRlcm5hbC5JbnRlcmZhY2VFbmRwb2ludEhhbmRsZSA9IEludGVyZmFj
ZUVuZHBvaW50SGFuZGxlOwotICBpbnRlcm5hbC5jcmVhdGVQYWlyUGVuZGluZ0Fzc29jaWF0aW9u
ID0gY3JlYXRlUGFpclBlbmRpbmdBc3NvY2lhdGlvbjsKLX0pKCk7Ci0vLyBDb3B5cmlnaHQgMjAx
NyBUaGUgQ2hyb21pdW0gQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLS8vIFVzZSBvZiB0
aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UgdGhhdCBj
YW4gYmUKLS8vIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCi0KLShmdW5jdGlvbigpIHsKLSAg
dmFyIGludGVybmFsID0gbW9qby5pbnRlcm5hbDsKLQotICBmdW5jdGlvbiB2YWxpZGF0ZUNvbnRy
b2xSZXF1ZXN0V2l0aG91dFJlc3BvbnNlKG1lc3NhZ2UpIHsKLSAgICB2YXIgbWVzc2FnZVZhbGlk
YXRvciA9IG5ldyBpbnRlcm5hbC5WYWxpZGF0b3IobWVzc2FnZSk7Ci0gICAgdmFyIGVycm9yID0g
bWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZU1lc3NhZ2VJc1JlcXVlc3RXaXRob3V0UmVzcG9uc2Uo
KTsKLSAgICBpZiAoZXJyb3IgIT0gaW50ZXJuYWwudmFsaWRhdGlvbkVycm9yLk5PTkUpIHsKLSAg
ICAgIHRocm93IGVycm9yOwotICAgIH0KLQotICAgIGlmIChtZXNzYWdlLmdldE5hbWUoKSAhPSBt
b2pvLnBpcGVDb250cm9sMi5rUnVuT3JDbG9zZVBpcGVNZXNzYWdlSWQpIHsKLSAgICAgIHRocm93
IG5ldyBFcnJvcigiQ29udHJvbCBtZXNzYWdlIG5hbWUgaXMgbm90IGtSdW5PckNsb3NlUGlwZU1l
c3NhZ2VJZCIpOwotICAgIH0KLQotICAgIC8vIFZhbGlkYXRlIHBheWxvYWQuCi0gICAgZXJyb3Ig
PSBtb2pvLnBpcGVDb250cm9sMi5SdW5PckNsb3NlUGlwZU1lc3NhZ2VQYXJhbXMudmFsaWRhdGUo
Ci0gICAgICAgIG1lc3NhZ2VWYWxpZGF0b3IsIG1lc3NhZ2UuZ2V0SGVhZGVyTnVtQnl0ZXMoKSk7
Ci0gICAgaWYgKGVycm9yICE9IGludGVybmFsLnZhbGlkYXRpb25FcnJvci5OT05FKSB7Ci0gICAg
ICB0aHJvdyBlcnJvcjsKLSAgICB9Ci0gIH0KLQotICBmdW5jdGlvbiBydW5PckNsb3NlUGlwZSht
ZXNzYWdlLCBkZWxlZ2F0ZSkgewotICAgIHZhciByZWFkZXIgPSBuZXcgaW50ZXJuYWwuTWVzc2Fn
ZVJlYWRlcihtZXNzYWdlKTsKLSAgICB2YXIgcnVuT3JDbG9zZVBpcGVNZXNzYWdlUGFyYW1zID0g
cmVhZGVyLmRlY29kZVN0cnVjdCgKLSAgICAgICAgbW9qby5waXBlQ29udHJvbDIuUnVuT3JDbG9z
ZVBpcGVNZXNzYWdlUGFyYW1zKTsKLSAgICB2YXIgZXZlbnQgPSBydW5PckNsb3NlUGlwZU1lc3Nh
Z2VQYXJhbXMuaW5wdXQKLSAgICAgICAgLnBlZXJBc3NvY2lhdGVkRW5kcG9pbnRDbG9zZWRFdmVu
dDsKLSAgICByZXR1cm4gZGVsZWdhdGUub25QZWVyQXNzb2NpYXRlZEVuZHBvaW50Q2xvc2VkKGV2
ZW50LmlkLAotICAgICAgICBldmVudC5kaXNjb25uZWN0UmVhc29uKTsKLSAgfQotCi0gIGZ1bmN0
aW9uIGlzUGlwZUNvbnRyb2xNZXNzYWdlKG1lc3NhZ2UpIHsKLSAgICByZXR1cm4gIWludGVybmFs
LmlzVmFsaWRJbnRlcmZhY2VJZChtZXNzYWdlLmdldEludGVyZmFjZUlkKCkpOwotICB9Ci0KLSAg
ZnVuY3Rpb24gUGlwZUNvbnRyb2xNZXNzYWdlSGFuZGxlcihkZWxlZ2F0ZSkgewotICAgIHRoaXMu
ZGVsZWdhdGVfID0gZGVsZWdhdGU7Ci0gIH0KLQotICBQaXBlQ29udHJvbE1lc3NhZ2VIYW5kbGVy
LnByb3RvdHlwZS5hY2NlcHQgPSBmdW5jdGlvbihtZXNzYWdlKSB7Ci0gICAgdmFsaWRhdGVDb250
cm9sUmVxdWVzdFdpdGhvdXRSZXNwb25zZShtZXNzYWdlKTsKLSAgICByZXR1cm4gcnVuT3JDbG9z
ZVBpcGUobWVzc2FnZSwgdGhpcy5kZWxlZ2F0ZV8pOwotICB9OwotCi0gIGludGVybmFsLlBpcGVD
b250cm9sTWVzc2FnZUhhbmRsZXIgPSBQaXBlQ29udHJvbE1lc3NhZ2VIYW5kbGVyOwotICBpbnRl
cm5hbC5pc1BpcGVDb250cm9sTWVzc2FnZSA9IGlzUGlwZUNvbnRyb2xNZXNzYWdlOwotfSkoKTsK
LS8vIENvcHlyaWdodCAyMDE3IFRoZSBDaHJvbWl1bSBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgotLy8gVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5
bGUgbGljZW5zZSB0aGF0IGNhbiBiZQotLy8gZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KLQot
KGZ1bmN0aW9uKCkgewotICB2YXIgaW50ZXJuYWwgPSBtb2pvLmludGVybmFsOwotCi0gIGZ1bmN0
aW9uIGNvbnN0cnVjdFJ1bk9yQ2xvc2VQaXBlTWVzc2FnZShydW5PckNsb3NlUGlwZUlucHV0KSB7
Ci0gICAgdmFyIHJ1bk9yQ2xvc2VQaXBlTWVzc2FnZVBhcmFtcyA9IG5ldwotICAgICAgICBtb2pv
LnBpcGVDb250cm9sMi5SdW5PckNsb3NlUGlwZU1lc3NhZ2VQYXJhbXMoKTsKLSAgICBydW5PckNs
b3NlUGlwZU1lc3NhZ2VQYXJhbXMuaW5wdXQgPSBydW5PckNsb3NlUGlwZUlucHV0OwotCi0gICAg
dmFyIG1lc3NhZ2VOYW1lID0gbW9qby5waXBlQ29udHJvbDIua1J1bk9yQ2xvc2VQaXBlTWVzc2Fn
ZUlkOwotICAgIHZhciBwYXlsb2FkU2l6ZSA9Ci0gICAgICAgIG1vam8ucGlwZUNvbnRyb2wyLlJ1
bk9yQ2xvc2VQaXBlTWVzc2FnZVBhcmFtcy5lbmNvZGVkU2l6ZTsKLQotICAgIHZhciBidWlsZGVy
ID0gbmV3IGludGVybmFsLk1lc3NhZ2VWMEJ1aWxkZXIobWVzc2FnZU5hbWUsIHBheWxvYWRTaXpl
KTsKLSAgICBidWlsZGVyLmVuY29kZVN0cnVjdChtb2pvLnBpcGVDb250cm9sMi5SdW5PckNsb3Nl
UGlwZU1lc3NhZ2VQYXJhbXMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgcnVuT3JDbG9zZVBp
cGVNZXNzYWdlUGFyYW1zKTsKLSAgICB2YXIgbWVzc2FnZSA9IGJ1aWxkZXIuZmluaXNoKCk7Ci0g
ICAgbWVzc2FnZS5zZXRJbnRlcmZhY2VJZChpbnRlcm5hbC5rSW52YWxpZEludGVyZmFjZUlkKTsK
LSAgICByZXR1cm4gbWVzc2FnZTsKLSAgfQotCi0gIGZ1bmN0aW9uIFBpcGVDb250cm9sTWVzc2Fn
ZVByb3h5KHJlY2VpdmVyKSB7Ci0gICAgdGhpcy5yZWNlaXZlcl8gPSByZWNlaXZlcjsKLSAgfQot
Ci0gIFBpcGVDb250cm9sTWVzc2FnZVByb3h5LnByb3RvdHlwZS5ub3RpZnlQZWVyRW5kcG9pbnRD
bG9zZWQgPSBmdW5jdGlvbigKLSAgICAgIGludGVyZmFjZUlkLCByZWFzb24pIHsKLSAgICB2YXIg
bWVzc2FnZSA9IHRoaXMuY29uc3RydWN0UGVlckVuZHBvaW50Q2xvc2VkTWVzc2FnZShpbnRlcmZh
Y2VJZCwgcmVhc29uKTsKLSAgICB0aGlzLnJlY2VpdmVyXy5hY2NlcHQobWVzc2FnZSk7Ci0gIH07
Ci0KLSAgUGlwZUNvbnRyb2xNZXNzYWdlUHJveHkucHJvdG90eXBlLmNvbnN0cnVjdFBlZXJFbmRw
b2ludENsb3NlZE1lc3NhZ2UgPQotICAgICAgZnVuY3Rpb24oaW50ZXJmYWNlSWQsIHJlYXNvbikg
ewotICAgIHZhciBldmVudCA9IG5ldyBtb2pvLnBpcGVDb250cm9sMi5QZWVyQXNzb2NpYXRlZEVu
ZHBvaW50Q2xvc2VkRXZlbnQoKTsKLSAgICBldmVudC5pZCA9IGludGVyZmFjZUlkOwotICAgIGlm
IChyZWFzb24pIHsKLSAgICAgIGV2ZW50LmRpc2Nvbm5lY3RSZWFzb24gPSBuZXcgbW9qby5waXBl
Q29udHJvbDIuRGlzY29ubmVjdFJlYXNvbih7Ci0gICAgICAgICAgY3VzdG9tUmVhc29uOiByZWFz
b24uY3VzdG9tUmVhc29uLAotICAgICAgICAgIGRlc2NyaXB0aW9uOiByZWFzb24uZGVzY3JpcHRp
b259KTsKLSAgICB9Ci0gICAgdmFyIHJ1bk9yQ2xvc2VQaXBlSW5wdXQgPSBuZXcgbW9qby5waXBl
Q29udHJvbDIuUnVuT3JDbG9zZVBpcGVJbnB1dCgpOwotICAgIHJ1bk9yQ2xvc2VQaXBlSW5wdXQu
cGVlckFzc29jaWF0ZWRFbmRwb2ludENsb3NlZEV2ZW50ID0gZXZlbnQ7Ci0gICAgcmV0dXJuIGNv
bnN0cnVjdFJ1bk9yQ2xvc2VQaXBlTWVzc2FnZShydW5PckNsb3NlUGlwZUlucHV0KTsKLSAgfTsK
LQotICBpbnRlcm5hbC5QaXBlQ29udHJvbE1lc3NhZ2VQcm94eSA9IFBpcGVDb250cm9sTWVzc2Fn
ZVByb3h5OwotfSkoKTsKLS8vIENvcHlyaWdodCAyMDE0IFRoZSBDaHJvbWl1bSBBdXRob3JzLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgotLy8gVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJu
ZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQotLy8gZm91bmQgaW4gdGhlIExJ
Q0VOU0UgZmlsZS4KLQotKGZ1bmN0aW9uKCkgewotICB2YXIgaW50ZXJuYWwgPSBtb2pvLmludGVy
bmFsOwotCi0gIC8qKgotICAgKiBUaGUgc3RhdGUgb2YgfGVuZHBvaW50fC4gSWYgYm90aCB0aGUg
ZW5kcG9pbnQgYW5kIGl0cyBwZWVyIGhhdmUgYmVlbgotICAgKiBjbG9zZWQsIHJlbW92ZXMgaXQg
ZnJvbSB8ZW5kcG9pbnRzX3wuCi0gICAqIEBlbnVtIHtzdHJpbmd9Ci0gICAqLwotICB2YXIgRW5k
cG9pbnRTdGF0ZVVwZGF0ZVR5cGUgPSB7Ci0gICAgRU5EUE9JTlRfQ0xPU0VEOiAnZW5kcG9pbnRf
Y2xvc2VkJywKLSAgICBQRUVSX0VORFBPSU5UX0NMT1NFRDogJ3BlZXJfZW5kcG9pbnRfY2xvc2Vk
JwotICB9OwotCi0gIGZ1bmN0aW9uIGNoZWNrKGNvbmRpdGlvbiwgb3V0cHV0KSB7Ci0gICAgaWYg
KCFjb25kaXRpb24pIHsKLSAgICAgIC8vIHRlc3RoYXJuZXNzLmpzIGRvZXMgbm90IHJldGhyb3cg
ZXJyb3JzIHNvIHRoZSBlcnJvciBzdGFjayBuZWVkcyB0byBiZQotICAgICAgLy8gaW5jbHVkZWQg
YXMgYSBzdHJpbmcgaW4gdGhlIGVycm9yIHdlIHRocm93IGZvciBkZWJ1Z2dpbmcgbGF5b3V0IHRl
c3RzLgotICAgICAgdGhyb3cgbmV3IEVycm9yKChuZXcgRXJyb3IoKSkuc3RhY2spOwotICAgIH0K
LSAgfQotCi0gIGZ1bmN0aW9uIEludGVyZmFjZUVuZHBvaW50KHJvdXRlciwgaW50ZXJmYWNlSWQp
IHsKLSAgICB0aGlzLnJvdXRlcl8gPSByb3V0ZXI7Ci0gICAgdGhpcy5pZCA9IGludGVyZmFjZUlk
OwotICAgIHRoaXMuY2xvc2VkID0gZmFsc2U7Ci0gICAgdGhpcy5wZWVyQ2xvc2VkID0gZmFsc2U7
Ci0gICAgdGhpcy5oYW5kbGVDcmVhdGVkID0gZmFsc2U7Ci0gICAgdGhpcy5kaXNjb25uZWN0UmVh
c29uID0gbnVsbDsKLSAgICB0aGlzLmNsaWVudCA9IG51bGw7Ci0gIH0KLQotICBJbnRlcmZhY2VF
bmRwb2ludC5wcm90b3R5cGUuc2VuZE1lc3NhZ2UgPSBmdW5jdGlvbihtZXNzYWdlKSB7Ci0gICAg
bWVzc2FnZS5zZXRJbnRlcmZhY2VJZCh0aGlzLmlkKTsKLSAgICByZXR1cm4gdGhpcy5yb3V0ZXJf
LmNvbm5lY3Rvcl8uYWNjZXB0KG1lc3NhZ2UpOwotICB9OwotCi0gIGZ1bmN0aW9uIFJvdXRlciho
YW5kbGUsIHNldEludGVyZmFjZUlkTmFtZXNwYWNlQml0KSB7Ci0gICAgaWYgKCEoaGFuZGxlIGlu
c3RhbmNlb2YgTW9qb0hhbmRsZSkpIHsKLSAgICAgIHRocm93IG5ldyBFcnJvcigiUm91dGVyIGNv
bnN0cnVjdG9yOiBOb3QgYSBoYW5kbGUiKTsKLSAgICB9Ci0gICAgaWYgKHNldEludGVyZmFjZUlk
TmFtZXNwYWNlQml0ID09PSB1bmRlZmluZWQpIHsKLSAgICAgIHNldEludGVyZmFjZUlkTmFtZXNw
YWNlQml0ID0gZmFsc2U7Ci0gICAgfQotCi0gICAgdGhpcy5jb25uZWN0b3JfID0gbmV3IGludGVy
bmFsLkNvbm5lY3RvcihoYW5kbGUpOwotCi0gICAgdGhpcy5jb25uZWN0b3JfLnNldEluY29taW5n
UmVjZWl2ZXIoewotICAgICAgICBhY2NlcHQ6IHRoaXMuYWNjZXB0LmJpbmQodGhpcyksCi0gICAg
fSk7Ci0gICAgdGhpcy5jb25uZWN0b3JfLnNldEVycm9ySGFuZGxlcih7Ci0gICAgICAgIG9uRXJy
b3I6IHRoaXMub25QaXBlQ29ubmVjdGlvbkVycm9yLmJpbmQodGhpcyksCi0gICAgfSk7Ci0KLSAg
ICB0aGlzLnNldEludGVyZmFjZUlkTmFtZXNwYWNlQml0XyA9IHNldEludGVyZmFjZUlkTmFtZXNw
YWNlQml0OwotICAgIC8vIHxjYWNoZWRNZXNzYWdlRGF0YXwgY2FjaGVzIGluZm9tYXRpb24gYWJv
dXQgYSBtZXNzYWdlLCBzbyBpdCBjYW4gYmUKLSAgICAvLyBwcm9jZXNzZWQgbGF0ZXIgaWYgYSBj
bGllbnQgaXMgbm90IHlldCBhdHRhY2hlZCB0byB0aGUgdGFyZ2V0IGVuZHBvaW50LgotICAgIHRo
aXMuY2FjaGVkTWVzc2FnZURhdGEgPSBudWxsOwotICAgIHRoaXMuY29udHJvbE1lc3NhZ2VIYW5k
bGVyXyA9IG5ldyBpbnRlcm5hbC5QaXBlQ29udHJvbE1lc3NhZ2VIYW5kbGVyKHRoaXMpOwotICAg
IHRoaXMuY29udHJvbE1lc3NhZ2VQcm94eV8gPQotICAgICAgICBuZXcgaW50ZXJuYWwuUGlwZUNv
bnRyb2xNZXNzYWdlUHJveHkodGhpcy5jb25uZWN0b3JfKTsKLSAgICB0aGlzLm5leHRJbnRlcmZh
Y2VJZFZhbHVlXyA9IDE7Ci0gICAgdGhpcy5lbmNvdW50ZXJlZEVycm9yXyA9IGZhbHNlOwotICAg
IHRoaXMuZW5kcG9pbnRzXyA9IG5ldyBNYXAoKTsKLSAgfQotCi0gIFJvdXRlci5wcm90b3R5cGUu
YXNzb2NpYXRlSW50ZXJmYWNlID0gZnVuY3Rpb24oaGFuZGxlVG9TZW5kKSB7Ci0gICAgaWYgKCFo
YW5kbGVUb1NlbmQucGVuZGluZ0Fzc29jaWF0aW9uKCkpIHsKLSAgICAgIHJldHVybiBpbnRlcm5h
bC5rSW52YWxpZEludGVyZmFjZUlkOwotICAgIH0KLQotICAgIHZhciBpZCA9IDA7Ci0gICAgZG8g
ewotICAgICAgaWYgKHRoaXMubmV4dEludGVyZmFjZUlkVmFsdWVfID49IGludGVybmFsLmtJbnRl
cmZhY2VJZE5hbWVzcGFjZU1hc2spIHsKLSAgICAgICAgdGhpcy5uZXh0SW50ZXJmYWNlSWRWYWx1
ZV8gPSAxOwotICAgICAgfQotICAgICAgaWQgPSB0aGlzLm5leHRJbnRlcmZhY2VJZFZhbHVlXysr
OwotICAgICAgaWYgKHRoaXMuc2V0SW50ZXJmYWNlSWROYW1lc3BhY2VCaXRfKSB7Ci0gICAgICAg
IGlkICs9IGludGVybmFsLmtJbnRlcmZhY2VJZE5hbWVzcGFjZU1hc2s7Ci0gICAgICB9Ci0gICAg
fSB3aGlsZSAodGhpcy5lbmRwb2ludHNfLmhhcyhpZCkpOwotCi0gICAgdmFyIGVuZHBvaW50ID0g
bmV3IEludGVyZmFjZUVuZHBvaW50KHRoaXMsIGlkKTsKLSAgICB0aGlzLmVuZHBvaW50c18uc2V0
KGlkLCBlbmRwb2ludCk7Ci0gICAgaWYgKHRoaXMuZW5jb3VudGVyZWRFcnJvcl8pIHsKLSAgICAg
IHRoaXMudXBkYXRlRW5kcG9pbnRTdGF0ZU1heVJlbW92ZShlbmRwb2ludCwKLSAgICAgICAgICBF
bmRwb2ludFN0YXRlVXBkYXRlVHlwZS5QRUVSX0VORFBPSU5UX0NMT1NFRCk7Ci0gICAgfQotICAg
IGVuZHBvaW50LmhhbmRsZUNyZWF0ZWQgPSB0cnVlOwotCi0gICAgaWYgKCFoYW5kbGVUb1NlbmQu
bm90aWZ5QXNzb2NpYXRpb24oaWQsIHRoaXMpKSB7Ci0gICAgICAvLyBUaGUgcGVlciBoYW5kbGUg
b2YgfGhhbmRsZVRvU2VuZHwsIHdoaWNoIGlzIHN1cHBvc2VkIHRvIGpvaW4gdGhpcwotICAgICAg
Ly8gYXNzb2NpYXRlZCBncm91cCwgaGFzIGJlZW4gY2xvc2VkLgotICAgICAgdGhpcy51cGRhdGVF
bmRwb2ludFN0YXRlTWF5UmVtb3ZlKGVuZHBvaW50LAotICAgICAgICAgIEVuZHBvaW50U3RhdGVV
cGRhdGVUeXBlLkVORFBPSU5UX0NMT1NFRCk7Ci0KLSAgICAgIHBpcGVDb250cm9sTWVzc2FnZXBy
b3h5Lm5vdGlmeVBlZXJFbmRwb2ludENsb3NlZChpZCwKLSAgICAgICAgICBoYW5kbGVUb1NlbmQu
ZGlzY29ubmVjdFJlYXNvbigpKTsKLSAgICB9Ci0KLSAgICByZXR1cm4gaWQ7Ci0gIH07Ci0KLSAg
Um91dGVyLnByb3RvdHlwZS5hdHRhY2hFbmRwb2ludENsaWVudCA9IGZ1bmN0aW9uKAotICAgICAg
aW50ZXJmYWNlRW5kcG9pbnRIYW5kbGUsIGludGVyZmFjZUVuZHBvaW50Q2xpZW50KSB7Ci0gICAg
Y2hlY2soaW50ZXJuYWwuaXNWYWxpZEludGVyZmFjZUlkKGludGVyZmFjZUVuZHBvaW50SGFuZGxl
LmlkKCkpKTsKLSAgICBjaGVjayhpbnRlcmZhY2VFbmRwb2ludENsaWVudCk7Ci0KLSAgICB2YXIg
ZW5kcG9pbnQgPSB0aGlzLmVuZHBvaW50c18uZ2V0KGludGVyZmFjZUVuZHBvaW50SGFuZGxlLmlk
KCkpOwotICAgIGNoZWNrKGVuZHBvaW50KTsKLSAgICBjaGVjayghZW5kcG9pbnQuY2xpZW50KTsK
LSAgICBjaGVjayghZW5kcG9pbnQuY2xvc2VkKTsKLSAgICBlbmRwb2ludC5jbGllbnQgPSBpbnRl
cmZhY2VFbmRwb2ludENsaWVudDsKLQotICAgIGlmIChlbmRwb2ludC5wZWVyQ2xvc2VkKSB7Ci0g
ICAgICBzZXRUaW1lb3V0KGVuZHBvaW50LmNsaWVudC5ub3RpZnlFcnJvci5iaW5kKGVuZHBvaW50
LmNsaWVudCksIDApOwotICAgIH0KLQotICAgIGlmICh0aGlzLmNhY2hlZE1lc3NhZ2VEYXRhICYm
IGludGVyZmFjZUVuZHBvaW50SGFuZGxlLmlkKCkgPT09Ci0gICAgICAgIHRoaXMuY2FjaGVkTWVz
c2FnZURhdGEubWVzc2FnZS5nZXRJbnRlcmZhY2VJZCgpKSB7Ci0gICAgICBzZXRUaW1lb3V0KChm
dW5jdGlvbigpIHsKLSAgICAgICAgaWYgKCF0aGlzLmNhY2hlZE1lc3NhZ2VEYXRhKSB7Ci0gICAg
ICAgICAgcmV0dXJuOwotICAgICAgICB9Ci0KLSAgICAgICAgdmFyIHRhcmdldEVuZHBvaW50ID0g
dGhpcy5lbmRwb2ludHNfLmdldCgKLSAgICAgICAgICAgIHRoaXMuY2FjaGVkTWVzc2FnZURhdGEu
bWVzc2FnZS5nZXRJbnRlcmZhY2VJZCgpKTsKLSAgICAgICAgLy8gQ2hlY2sgdGhhdCB0aGUgdGFy
Z2V0IGVuZHBvaW50J3MgY2xpZW50IHN0aWxsIGV4aXN0cy4KLSAgICAgICAgaWYgKHRhcmdldEVu
ZHBvaW50ICYmIHRhcmdldEVuZHBvaW50LmNsaWVudCkgewotICAgICAgICAgIHZhciBtZXNzYWdl
ID0gdGhpcy5jYWNoZWRNZXNzYWdlRGF0YS5tZXNzYWdlOwotICAgICAgICAgIHZhciBtZXNzYWdl
VmFsaWRhdG9yID0gdGhpcy5jYWNoZWRNZXNzYWdlRGF0YS5tZXNzYWdlVmFsaWRhdG9yOwotICAg
ICAgICAgIHRoaXMuY2FjaGVkTWVzc2FnZURhdGEgPSBudWxsOwotICAgICAgICAgIHRoaXMuY29u
bmVjdG9yXy5yZXN1bWVJbmNvbWluZ01ldGhvZENhbGxQcm9jZXNzaW5nKCk7Ci0gICAgICAgICAg
dmFyIG9rID0gZW5kcG9pbnQuY2xpZW50LmhhbmRsZUluY29taW5nTWVzc2FnZShtZXNzYWdlLAot
ICAgICAgICAgICAgICBtZXNzYWdlVmFsaWRhdG9yKTsKLQotICAgICAgICAgIC8vIEhhbmRsZSBp
bnZhbGlkIGNhY2hlZCBpbmNvbWluZyBtZXNzYWdlLgotICAgICAgICAgIGlmICghaW50ZXJuYWwu
aXNUZXN0aW5nTW9kZSgpICYmICFvaykgewotICAgICAgICAgICAgdGhpcy5jb25uZWN0b3JfLmhh
bmRsZUVycm9yKHRydWUsIHRydWUpOwotICAgICAgICAgIH0KLSAgICAgICAgfQotICAgICAgfSku
YmluZCh0aGlzKSwgMCk7Ci0gICAgfQotCi0gICAgcmV0dXJuIGVuZHBvaW50OwotICB9OwotCi0g
IFJvdXRlci5wcm90b3R5cGUuZGV0YWNoRW5kcG9pbnRDbGllbnQgPSBmdW5jdGlvbigKLSAgICAg
IGludGVyZmFjZUVuZHBvaW50SGFuZGxlKSB7Ci0gICAgY2hlY2soaW50ZXJuYWwuaXNWYWxpZElu
dGVyZmFjZUlkKGludGVyZmFjZUVuZHBvaW50SGFuZGxlLmlkKCkpKTsKLSAgICB2YXIgZW5kcG9p
bnQgPSB0aGlzLmVuZHBvaW50c18uZ2V0KGludGVyZmFjZUVuZHBvaW50SGFuZGxlLmlkKCkpOwot
ICAgIGNoZWNrKGVuZHBvaW50KTsKLSAgICBjaGVjayhlbmRwb2ludC5jbGllbnQpOwotICAgIGNo
ZWNrKCFlbmRwb2ludC5jbG9zZWQpOwotCi0gICAgZW5kcG9pbnQuY2xpZW50ID0gbnVsbDsKLSAg
fTsKLQotICBSb3V0ZXIucHJvdG90eXBlLmNyZWF0ZUxvY2FsRW5kcG9pbnRIYW5kbGUgPSBmdW5j
dGlvbigKLSAgICAgIGludGVyZmFjZUlkKSB7Ci0gICAgaWYgKCFpbnRlcm5hbC5pc1ZhbGlkSW50
ZXJmYWNlSWQoaW50ZXJmYWNlSWQpKSB7Ci0gICAgICByZXR1cm4gbmV3IGludGVybmFsLkludGVy
ZmFjZUVuZHBvaW50SGFuZGxlKCk7Ci0gICAgfQotCi0gICAgdmFyIGVuZHBvaW50ID0gdGhpcy5l
bmRwb2ludHNfLmdldChpbnRlcmZhY2VJZCk7Ci0KLSAgICBpZiAoIWVuZHBvaW50KSB7Ci0gICAg
ICBlbmRwb2ludCA9IG5ldyBJbnRlcmZhY2VFbmRwb2ludCh0aGlzLCBpbnRlcmZhY2VJZCk7Ci0g
ICAgICB0aGlzLmVuZHBvaW50c18uc2V0KGludGVyZmFjZUlkLCBlbmRwb2ludCk7Ci0KLSAgICAg
IGNoZWNrKCFlbmRwb2ludC5oYW5kbGVDcmVhdGVkKTsKLQotICAgICAgaWYgKHRoaXMuZW5jb3Vu
dGVyZWRFcnJvcl8pIHsKLSAgICAgICAgdGhpcy51cGRhdGVFbmRwb2ludFN0YXRlTWF5UmVtb3Zl
KGVuZHBvaW50LAotICAgICAgICAgICAgRW5kcG9pbnRTdGF0ZVVwZGF0ZVR5cGUuUEVFUl9FTkRQ
T0lOVF9DTE9TRUQpOwotICAgICAgfQotICAgIH0gZWxzZSB7Ci0gICAgICAvLyBJZiB0aGUgZW5k
cG9pbnQgYWxyZWFkeSBleGlzdCwgaXQgaXMgYmVjYXVzZSB3ZSBoYXZlIHJlY2VpdmVkIGEKLSAg
ICAgIC8vIG5vdGlmaWNhdGlvbiB0aGF0IHRoZSBwZWVyIGVuZHBvaW50IGhhcyBjbG9zZWQuCi0g
ICAgICBjaGVjayghZW5kcG9pbnQuY2xvc2VkKTsKLSAgICAgIGNoZWNrKGVuZHBvaW50LnBlZXJD
bG9zZWQpOwotCi0gICAgICBpZiAoZW5kcG9pbnQuaGFuZGxlQ3JlYXRlZCkgewotICAgICAgICBy
ZXR1cm4gbmV3IGludGVybmFsLkludGVyZmFjZUVuZHBvaW50SGFuZGxlKCk7Ci0gICAgICB9Ci0g
ICAgfQotCi0gICAgZW5kcG9pbnQuaGFuZGxlQ3JlYXRlZCA9IHRydWU7Ci0gICAgcmV0dXJuIG5l
dyBpbnRlcm5hbC5JbnRlcmZhY2VFbmRwb2ludEhhbmRsZShpbnRlcmZhY2VJZCwgdGhpcyk7Ci0g
IH07Ci0KLSAgUm91dGVyLnByb3RvdHlwZS5hY2NlcHQgPSBmdW5jdGlvbihtZXNzYWdlKSB7Ci0g
ICAgdmFyIG1lc3NhZ2VWYWxpZGF0b3IgPSBuZXcgaW50ZXJuYWwuVmFsaWRhdG9yKG1lc3NhZ2Up
OwotICAgIHZhciBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlTWVzc2FnZUhlYWRlcigp
OwotCi0gICAgdmFyIG9rID0gZmFsc2U7Ci0gICAgaWYgKGVyciAhPT0gaW50ZXJuYWwudmFsaWRh
dGlvbkVycm9yLk5PTkUpIHsKLSAgICAgIGludGVybmFsLnJlcG9ydFZhbGlkYXRpb25FcnJvcihl
cnIpOwotICAgIH0gZWxzZSBpZiAobWVzc2FnZS5kZXNlcmlhbGl6ZUFzc29jaWF0ZWRFbmRwb2lu
dEhhbmRsZXModGhpcykpIHsKLSAgICAgIGlmIChpbnRlcm5hbC5pc1BpcGVDb250cm9sTWVzc2Fn
ZShtZXNzYWdlKSkgewotICAgICAgICBvayA9IHRoaXMuY29udHJvbE1lc3NhZ2VIYW5kbGVyXy5h
Y2NlcHQobWVzc2FnZSk7Ci0gICAgICB9IGVsc2UgewotICAgICAgICB2YXIgaW50ZXJmYWNlSWQg
PSBtZXNzYWdlLmdldEludGVyZmFjZUlkKCk7Ci0gICAgICAgIHZhciBlbmRwb2ludCA9IHRoaXMu
ZW5kcG9pbnRzXy5nZXQoaW50ZXJmYWNlSWQpOwotICAgICAgICBpZiAoIWVuZHBvaW50IHx8IGVu
ZHBvaW50LmNsb3NlZCkgewotICAgICAgICAgIHJldHVybiB0cnVlOwotICAgICAgICB9Ci0KLSAg
ICAgICAgaWYgKCFlbmRwb2ludC5jbGllbnQpIHsKLSAgICAgICAgICAvLyBXZSBuZWVkIHRvIHdh
aXQgdW50aWwgYSBjbGllbnQgaXMgYXR0YWNoZWQgaW4gb3JkZXIgdG8gZGlzcGF0Y2gKLSAgICAg
ICAgICAvLyBmdXJ0aGVyIG1lc3NhZ2VzLgotICAgICAgICAgIHRoaXMuY2FjaGVkTWVzc2FnZURh
dGEgPSB7bWVzc2FnZTogbWVzc2FnZSwKLSAgICAgICAgICAgICAgbWVzc2FnZVZhbGlkYXRvcjog
bWVzc2FnZVZhbGlkYXRvcn07Ci0gICAgICAgICAgdGhpcy5jb25uZWN0b3JfLnBhdXNlSW5jb21p
bmdNZXRob2RDYWxsUHJvY2Vzc2luZygpOwotICAgICAgICAgIHJldHVybiB0cnVlOwotICAgICAg
ICB9Ci0gICAgICAgIG9rID0gZW5kcG9pbnQuY2xpZW50LmhhbmRsZUluY29taW5nTWVzc2FnZSht
ZXNzYWdlLCBtZXNzYWdlVmFsaWRhdG9yKTsKLSAgICAgIH0KLSAgICB9Ci0gICAgcmV0dXJuIG9r
OwotICB9OwotCi0gIFJvdXRlci5wcm90b3R5cGUuY2xvc2UgPSBmdW5jdGlvbigpIHsKLSAgICB0
aGlzLmNvbm5lY3Rvcl8uY2xvc2UoKTsKLSAgICAvLyBDbG9zaW5nIHRoZSBtZXNzYWdlIHBpcGUg
d29uJ3QgdHJpZ2dlciBjb25uZWN0aW9uIGVycm9yIGhhbmRsZXIuCi0gICAgLy8gRXhwbGljaXRs
eSBjYWxsIG9uUGlwZUNvbm5lY3Rpb25FcnJvcigpIHNvIHRoYXQgYXNzb2NpYXRlZCBlbmRwb2lu
dHMKLSAgICAvLyB3aWxsIGdldCBub3RpZmllZC4KLSAgICB0aGlzLm9uUGlwZUNvbm5lY3Rpb25F
cnJvcigpOwotICB9OwotCi0gIFJvdXRlci5wcm90b3R5cGUub25QZWVyQXNzb2NpYXRlZEVuZHBv
aW50Q2xvc2VkID0gZnVuY3Rpb24oaW50ZXJmYWNlSWQsCi0gICAgICByZWFzb24pIHsKLSAgICBj
aGVjayghaW50ZXJuYWwuaXNNYXN0ZXJJbnRlcmZhY2VJZChpbnRlcmZhY2VJZCkgfHwgcmVhc29u
KTsKLQotICAgIHZhciBlbmRwb2ludCA9IHRoaXMuZW5kcG9pbnRzXy5nZXQoaW50ZXJmYWNlSWQp
OwotICAgIGlmICghZW5kcG9pbnQpIHsKLSAgICAgIGVuZHBvaW50ID0gbmV3IEludGVyZmFjZUVu
ZHBvaW50KHRoaXMsIGludGVyZmFjZUlkKTsKLSAgICAgIHRoaXMuZW5kcG9pbnRzXy5zZXQoaW50
ZXJmYWNlSWQsIGVuZHBvaW50KTsKLSAgICB9Ci0KLSAgICBpZiAocmVhc29uKSB7Ci0gICAgICBl
bmRwb2ludC5kaXNjb25uZWN0UmVhc29uID0gcmVhc29uOwotICAgIH0KLQotICAgIGlmICghZW5k
cG9pbnQucGVlckNsb3NlZCkgewotICAgICAgaWYgKGVuZHBvaW50LmNsaWVudCkgewotICAgICAg
ICBzZXRUaW1lb3V0KGVuZHBvaW50LmNsaWVudC5ub3RpZnlFcnJvci5iaW5kKGVuZHBvaW50LmNs
aWVudCwgcmVhc29uKSwKLSAgICAgICAgICAgICAgICAgICAwKTsKLSAgICAgIH0KLSAgICAgIHRo
aXMudXBkYXRlRW5kcG9pbnRTdGF0ZU1heVJlbW92ZShlbmRwb2ludCwKLSAgICAgICAgICBFbmRw
b2ludFN0YXRlVXBkYXRlVHlwZS5QRUVSX0VORFBPSU5UX0NMT1NFRCk7Ci0gICAgfQotICAgIHJl
dHVybiB0cnVlOwotICB9OwotCi0gIFJvdXRlci5wcm90b3R5cGUub25QaXBlQ29ubmVjdGlvbkVy
cm9yID0gZnVuY3Rpb24oKSB7Ci0gICAgdGhpcy5lbmNvdW50ZXJlZEVycm9yXyA9IHRydWU7Ci0K
LSAgICBmb3IgKHZhciBlbmRwb2ludCBvZiB0aGlzLmVuZHBvaW50c18udmFsdWVzKCkpIHsKLSAg
ICAgIGlmIChlbmRwb2ludC5jbGllbnQpIHsKLSAgICAgICAgc2V0VGltZW91dCgKLSAgICAgICAg
ICAgIGVuZHBvaW50LmNsaWVudC5ub3RpZnlFcnJvci5iaW5kKAotICAgICAgICAgICAgICAgIGVu
ZHBvaW50LmNsaWVudCwgZW5kcG9pbnQuZGlzY29ubmVjdFJlYXNvbiksCi0gICAgICAgICAgICAw
KTsKLSAgICAgIH0KLSAgICAgIHRoaXMudXBkYXRlRW5kcG9pbnRTdGF0ZU1heVJlbW92ZShlbmRw
b2ludCwKLSAgICAgICAgICBFbmRwb2ludFN0YXRlVXBkYXRlVHlwZS5QRUVSX0VORFBPSU5UX0NM
T1NFRCk7Ci0gICAgfQotICB9OwotCi0gIFJvdXRlci5wcm90b3R5cGUuY2xvc2VFbmRwb2ludEhh
bmRsZSA9IGZ1bmN0aW9uKGludGVyZmFjZUlkLCByZWFzb24pIHsKLSAgICBpZiAoIWludGVybmFs
LmlzVmFsaWRJbnRlcmZhY2VJZChpbnRlcmZhY2VJZCkpIHsKLSAgICAgIHJldHVybjsKLSAgICB9
Ci0gICAgdmFyIGVuZHBvaW50ID0gdGhpcy5lbmRwb2ludHNfLmdldChpbnRlcmZhY2VJZCk7Ci0g
ICAgY2hlY2soZW5kcG9pbnQpOwotICAgIGNoZWNrKCFlbmRwb2ludC5jbGllbnQpOwotICAgIGNo
ZWNrKCFlbmRwb2ludC5jbG9zZWQpOwotCi0gICAgdGhpcy51cGRhdGVFbmRwb2ludFN0YXRlTWF5
UmVtb3ZlKGVuZHBvaW50LAotICAgICAgICBFbmRwb2ludFN0YXRlVXBkYXRlVHlwZS5FTkRQT0lO
VF9DTE9TRUQpOwotCi0gICAgaWYgKCFpbnRlcm5hbC5pc01hc3RlckludGVyZmFjZUlkKGludGVy
ZmFjZUlkKSB8fCByZWFzb24pIHsKLSAgICAgIHRoaXMuY29udHJvbE1lc3NhZ2VQcm94eV8ubm90
aWZ5UGVlckVuZHBvaW50Q2xvc2VkKGludGVyZmFjZUlkLCByZWFzb24pOwotICAgIH0KLQotICAg
IGlmICh0aGlzLmNhY2hlZE1lc3NhZ2VEYXRhICYmIGludGVyZmFjZUlkID09PQotICAgICAgICB0
aGlzLmNhY2hlZE1lc3NhZ2VEYXRhLm1lc3NhZ2UuZ2V0SW50ZXJmYWNlSWQoKSkgewotICAgICAg
dGhpcy5jYWNoZWRNZXNzYWdlRGF0YSA9IG51bGw7Ci0gICAgICB0aGlzLmNvbm5lY3Rvcl8ucmVz
dW1lSW5jb21pbmdNZXRob2RDYWxsUHJvY2Vzc2luZygpOwotICAgIH0KLSAgfTsKLQotICBSb3V0
ZXIucHJvdG90eXBlLnVwZGF0ZUVuZHBvaW50U3RhdGVNYXlSZW1vdmUgPSBmdW5jdGlvbihlbmRw
b2ludCwKLSAgICAgIGVuZHBvaW50U3RhdGVVcGRhdGVUeXBlKSB7Ci0gICAgaWYgKGVuZHBvaW50
U3RhdGVVcGRhdGVUeXBlID09PSBFbmRwb2ludFN0YXRlVXBkYXRlVHlwZS5FTkRQT0lOVF9DTE9T
RUQpIHsKLSAgICAgIGVuZHBvaW50LmNsb3NlZCA9IHRydWU7Ci0gICAgfSBlbHNlIHsKLSAgICAg
IGVuZHBvaW50LnBlZXJDbG9zZWQgPSB0cnVlOwotICAgIH0KLSAgICBpZiAoZW5kcG9pbnQuY2xv
c2VkICYmIGVuZHBvaW50LnBlZXJDbG9zZWQpIHsKLSAgICAgIHRoaXMuZW5kcG9pbnRzXy5kZWxl
dGUoZW5kcG9pbnQuaWQpOwotICAgIH0KLSAgfTsKLQotICBpbnRlcm5hbC5Sb3V0ZXIgPSBSb3V0
ZXI7Ci19KSgpOwotLy8gQ29weXJpZ2h0IDIwMTQgVGhlIENocm9taXVtIEF1dGhvcnMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCi0vLyBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBi
eSBhIEJTRC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCi0vLyBmb3VuZCBpbiB0aGUgTElDRU5T
RSBmaWxlLgotCi0vKioKLSAqIERlZmluZXMgZnVuY3Rpb25zIGZvciB0cmFuc2xhdGluZyBiZXR3
ZWVuIEphdmFTY3JpcHQgc3RyaW5ncyBhbmQgVVRGOCBzdHJpbmdzCi0gKiBzdG9yZWQgaW4gQXJy
YXlCdWZmZXJzLiBUaGVyZSBpcyBtdWNoIHJvb20gZm9yIG9wdGltaXphdGlvbiBpbiB0aGlzIGNv
ZGUgaWYKLSAqIGl0IHByb3ZlcyBuZWNlc3NhcnkuCi0gKi8KLShmdW5jdGlvbigpIHsKLSAgdmFy
IGludGVybmFsID0gbW9qby5pbnRlcm5hbDsKLQotICAvKioKLSAgICogRGVjb2RlcyB0aGUgVVRG
OCBzdHJpbmcgZnJvbSB0aGUgZ2l2ZW4gYnVmZmVyLgotICAgKiBAcGFyYW0ge0FycmF5QnVmZmVy
Vmlld30gYnVmZmVyIFRoZSBidWZmZXIgY29udGFpbmluZyBVVEY4IHN0cmluZyBkYXRhLgotICAg
KiBAcmV0dXJuIHtzdHJpbmd9IFRoZSBjb3JyZXNwb25kaW5nIEphdmFTY3JpcHQgc3RyaW5nLgot
ICAgKi8KLSAgZnVuY3Rpb24gZGVjb2RlVXRmOFN0cmluZyhidWZmZXIpIHsKLSAgICByZXR1cm4g
ZGVjb2RlVVJJQ29tcG9uZW50KGVzY2FwZShTdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGws
IGJ1ZmZlcikpKTsKLSAgfQotCi0gIC8qKgotICAgKiBFbmNvZGVzIHRoZSBnaXZlbiBKYXZhU2Ny
aXB0IHN0cmluZyBpbnRvIFVURjguCi0gICAqIEBwYXJhbSB7c3RyaW5nfSBzdHIgVGhlIHN0cmlu
ZyB0byBlbmNvZGUuCi0gICAqIEBwYXJhbSB7QXJyYXlCdWZmZXJWaWV3fSBvdXRwdXRCdWZmZXIg
VGhlIGJ1ZmZlciB0byBjb250YWluIHRoZSByZXN1bHQuCi0gICAqIFNob3VsZCBiZSBwcmUtYWxs
b2NhdGVkIHRvIGhvbGQgZW5vdWdoIHNwYWNlLiBVc2UgfHV0ZjhMZW5ndGh8IHRvIGRldGVybWlu
ZQotICAgKiBob3cgbXVjaCBzcGFjZSBpcyByZXF1aXJlZC4KLSAgICogQHJldHVybiB7bnVtYmVy
fSBUaGUgbnVtYmVyIG9mIGJ5dGVzIHdyaXR0ZW4gdG8gfG91dHB1dEJ1ZmZlcnwuCi0gICAqLwot
ICBmdW5jdGlvbiBlbmNvZGVVdGY4U3RyaW5nKHN0ciwgb3V0cHV0QnVmZmVyKSB7Ci0gICAgdmFy
IHV0ZjhTdHJpbmcgPSB1bmVzY2FwZShlbmNvZGVVUklDb21wb25lbnQoc3RyKSk7Ci0gICAgaWYg
KG91dHB1dEJ1ZmZlci5sZW5ndGggPCB1dGY4U3RyaW5nLmxlbmd0aCkKLSAgICAgIHRocm93IG5l
dyBFcnJvcigiQnVmZmVyIHRvbyBzbWFsbCBmb3IgZW5jb2RlVXRmOFN0cmluZyIpOwotICAgIGZv
ciAodmFyIGkgPSAwOyBpIDwgb3V0cHV0QnVmZmVyLmxlbmd0aCAmJiBpIDwgdXRmOFN0cmluZy5s
ZW5ndGg7IGkrKykKLSAgICAgIG91dHB1dEJ1ZmZlcltpXSA9IHV0ZjhTdHJpbmcuY2hhckNvZGVB
dChpKTsKLSAgICByZXR1cm4gaTsKLSAgfQotCi0gIC8qKgotICAgKiBSZXR1cm5zIHRoZSBudW1i
ZXIgb2YgYnl0ZXMgdGhhdCBhIFVURjggZW5jb2Rpbmcgb2YgdGhlIEphdmFTY3JpcHQgc3RyaW5n
Ci0gICAqIHxzdHJ8IHdvdWxkIG9jY3VweS4KLSAgICovCi0gIGZ1bmN0aW9uIHV0ZjhMZW5ndGgo
c3RyKSB7Ci0gICAgdmFyIHV0ZjhTdHJpbmcgPSB1bmVzY2FwZShlbmNvZGVVUklDb21wb25lbnQo
c3RyKSk7Ci0gICAgcmV0dXJuIHV0ZjhTdHJpbmcubGVuZ3RoOwotICB9Ci0KLSAgaW50ZXJuYWwu
ZGVjb2RlVXRmOFN0cmluZyA9IGRlY29kZVV0ZjhTdHJpbmc7Ci0gIGludGVybmFsLmVuY29kZVV0
ZjhTdHJpbmcgPSBlbmNvZGVVdGY4U3RyaW5nOwotICBpbnRlcm5hbC51dGY4TGVuZ3RoID0gdXRm
OExlbmd0aDsKLX0pKCk7Ci0vLyBDb3B5cmlnaHQgMjAxNCBUaGUgQ2hyb21pdW0gQXV0aG9ycy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KLS8vIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVy
bmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKLS8vIGZvdW5kIGluIHRoZSBM
SUNFTlNFIGZpbGUuCi0KLShmdW5jdGlvbigpIHsKLSAgdmFyIGludGVybmFsID0gbW9qby5pbnRl
cm5hbDsKLQotICB2YXIgdmFsaWRhdGlvbkVycm9yID0gewotICAgIE5PTkU6ICdWQUxJREFUSU9O
X0VSUk9SX05PTkUnLAotICAgIE1JU0FMSUdORURfT0JKRUNUOiAnVkFMSURBVElPTl9FUlJPUl9N
SVNBTElHTkVEX09CSkVDVCcsCi0gICAgSUxMRUdBTF9NRU1PUllfUkFOR0U6ICdWQUxJREFUSU9O
X0VSUk9SX0lMTEVHQUxfTUVNT1JZX1JBTkdFJywKLSAgICBVTkVYUEVDVEVEX1NUUlVDVF9IRUFE
RVI6ICdWQUxJREFUSU9OX0VSUk9SX1VORVhQRUNURURfU1RSVUNUX0hFQURFUicsCi0gICAgVU5F
WFBFQ1RFRF9BUlJBWV9IRUFERVI6ICdWQUxJREFUSU9OX0VSUk9SX1VORVhQRUNURURfQVJSQVlf
SEVBREVSJywKLSAgICBJTExFR0FMX0hBTkRMRTogJ1ZBTElEQVRJT05fRVJST1JfSUxMRUdBTF9I
QU5ETEUnLAotICAgIFVORVhQRUNURURfSU5WQUxJRF9IQU5ETEU6ICdWQUxJREFUSU9OX0VSUk9S
X1VORVhQRUNURURfSU5WQUxJRF9IQU5ETEUnLAotICAgIElMTEVHQUxfUE9JTlRFUjogJ1ZBTElE
QVRJT05fRVJST1JfSUxMRUdBTF9QT0lOVEVSJywKLSAgICBVTkVYUEVDVEVEX05VTExfUE9JTlRF
UjogJ1ZBTElEQVRJT05fRVJST1JfVU5FWFBFQ1RFRF9OVUxMX1BPSU5URVInLAotICAgIElMTEVH
QUxfSU5URVJGQUNFX0lEOiAnVkFMSURBVElPTl9FUlJPUl9JTExFR0FMX0lOVEVSRkFDRV9JRCcs
Ci0gICAgVU5FWFBFQ1RFRF9JTlZBTElEX0lOVEVSRkFDRV9JRDoKLSAgICAgICAgJ1ZBTElEQVRJ
T05fRVJST1JfVU5FWFBFQ1RFRF9JTlZBTElEX0lOVEVSRkFDRV9JRCcsCi0gICAgTUVTU0FHRV9I
RUFERVJfSU5WQUxJRF9GTEFHUzoKLSAgICAgICAgJ1ZBTElEQVRJT05fRVJST1JfTUVTU0FHRV9I
RUFERVJfSU5WQUxJRF9GTEFHUycsCi0gICAgTUVTU0FHRV9IRUFERVJfTUlTU0lOR19SRVFVRVNU
X0lEOgotICAgICAgICAnVkFMSURBVElPTl9FUlJPUl9NRVNTQUdFX0hFQURFUl9NSVNTSU5HX1JF
UVVFU1RfSUQnLAotICAgIERJRkZFUkVOVF9TSVpFRF9BUlJBWVNfSU5fTUFQOgotICAgICAgICAn
VkFMSURBVElPTl9FUlJPUl9ESUZGRVJFTlRfU0laRURfQVJSQVlTX0lOX01BUCcsCi0gICAgSU5W
QUxJRF9VTklPTl9TSVpFOiAnVkFMSURBVElPTl9FUlJPUl9JTlZBTElEX1VOSU9OX1NJWkUnLAot
ICAgIFVORVhQRUNURURfTlVMTF9VTklPTjogJ1ZBTElEQVRJT05fRVJST1JfVU5FWFBFQ1RFRF9O
VUxMX1VOSU9OJywKLSAgICBVTktOT1dOX0VOVU1fVkFMVUU6ICdWQUxJREFUSU9OX0VSUk9SX1VO
S05PV05fRU5VTV9WQUxVRScsCi0gIH07Ci0KLSAgdmFyIE5VTExfTU9KT19QT0lOVEVSID0gIk5V
TExfTU9KT19QT0lOVEVSIjsKLSAgdmFyIGdWYWxpZGF0aW9uRXJyb3JPYnNlcnZlciA9IG51bGw7
Ci0KLSAgZnVuY3Rpb24gcmVwb3J0VmFsaWRhdGlvbkVycm9yKGVycm9yKSB7Ci0gICAgaWYgKGdW
YWxpZGF0aW9uRXJyb3JPYnNlcnZlcikgewotICAgICAgZ1ZhbGlkYXRpb25FcnJvck9ic2VydmVy
Lmxhc3RFcnJvciA9IGVycm9yOwotICAgIH0gZWxzZSB7Ci0gICAgICBjb25zb2xlLndhcm4oJ0lu
dmFsaWQgbWVzc2FnZTogJyArIGVycm9yKTsKLSAgICB9Ci0gIH0KLQotICB2YXIgVmFsaWRhdGlv
bkVycm9yT2JzZXJ2ZXJGb3JUZXN0aW5nID0gKGZ1bmN0aW9uKCkgewotICAgIGZ1bmN0aW9uIE9i
c2VydmVyKCkgewotICAgICAgdGhpcy5sYXN0RXJyb3IgPSB2YWxpZGF0aW9uRXJyb3IuTk9ORTsK
LSAgICB9Ci0KLSAgICBPYnNlcnZlci5wcm90b3R5cGUucmVzZXQgPSBmdW5jdGlvbigpIHsKLSAg
ICAgIHRoaXMubGFzdEVycm9yID0gdmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gICAgfTsKLQotICAg
IHJldHVybiB7Ci0gICAgICBnZXRJbnN0YW5jZTogZnVuY3Rpb24oKSB7Ci0gICAgICAgIGlmICgh
Z1ZhbGlkYXRpb25FcnJvck9ic2VydmVyKSB7Ci0gICAgICAgICAgZ1ZhbGlkYXRpb25FcnJvck9i
c2VydmVyID0gbmV3IE9ic2VydmVyKCk7Ci0gICAgICAgIH0KLSAgICAgICAgcmV0dXJuIGdWYWxp
ZGF0aW9uRXJyb3JPYnNlcnZlcjsKLSAgICAgIH0KLSAgICB9OwotICB9KSgpOwotCi0gIGZ1bmN0
aW9uIGlzVGVzdGluZ01vZGUoKSB7Ci0gICAgcmV0dXJuIEJvb2xlYW4oZ1ZhbGlkYXRpb25FcnJv
ck9ic2VydmVyKTsKLSAgfQotCi0gIGZ1bmN0aW9uIGNsZWFyVGVzdGluZ01vZGUoKSB7Ci0gICAg
Z1ZhbGlkYXRpb25FcnJvck9ic2VydmVyID0gbnVsbDsKLSAgfQotCi0gIGZ1bmN0aW9uIGlzRW51
bUNsYXNzKGNscykgewotICAgIHJldHVybiBjbHMgaW5zdGFuY2VvZiBpbnRlcm5hbC5FbnVtOwot
ICB9Ci0KLSAgZnVuY3Rpb24gaXNTdHJpbmdDbGFzcyhjbHMpIHsKLSAgICByZXR1cm4gY2xzID09
PSBpbnRlcm5hbC5TdHJpbmcgfHwgY2xzID09PSBpbnRlcm5hbC5OdWxsYWJsZVN0cmluZzsKLSAg
fQotCi0gIGZ1bmN0aW9uIGlzSGFuZGxlQ2xhc3MoY2xzKSB7Ci0gICAgcmV0dXJuIGNscyA9PT0g
aW50ZXJuYWwuSGFuZGxlIHx8IGNscyA9PT0gaW50ZXJuYWwuTnVsbGFibGVIYW5kbGU7Ci0gIH0K
LQotICBmdW5jdGlvbiBpc0ludGVyZmFjZUNsYXNzKGNscykgewotICAgIHJldHVybiBjbHMgaW5z
dGFuY2VvZiBpbnRlcm5hbC5JbnRlcmZhY2U7Ci0gIH0KLQotICBmdW5jdGlvbiBpc0ludGVyZmFj
ZVJlcXVlc3RDbGFzcyhjbHMpIHsKLSAgICByZXR1cm4gY2xzID09PSBpbnRlcm5hbC5JbnRlcmZh
Y2VSZXF1ZXN0IHx8Ci0gICAgICAgIGNscyA9PT0gaW50ZXJuYWwuTnVsbGFibGVJbnRlcmZhY2VS
ZXF1ZXN0OwotICB9Ci0KLSAgZnVuY3Rpb24gaXNBc3NvY2lhdGVkSW50ZXJmYWNlQ2xhc3MoY2xz
KSB7Ci0gICAgcmV0dXJuIGNscyA9PT0gaW50ZXJuYWwuQXNzb2NpYXRlZEludGVyZmFjZVB0cklu
Zm8gfHwKLSAgICAgICAgY2xzID09PSBpbnRlcm5hbC5OdWxsYWJsZUFzc29jaWF0ZWRJbnRlcmZh
Y2VQdHJJbmZvOwotICB9Ci0KLSAgZnVuY3Rpb24gaXNBc3NvY2lhdGVkSW50ZXJmYWNlUmVxdWVz
dENsYXNzKGNscykgewotICAgIHJldHVybiBjbHMgPT09IGludGVybmFsLkFzc29jaWF0ZWRJbnRl
cmZhY2VSZXF1ZXN0IHx8Ci0gICAgICAgIGNscyA9PT0gaW50ZXJuYWwuTnVsbGFibGVBc3NvY2lh
dGVkSW50ZXJmYWNlUmVxdWVzdDsKLSAgfQotCi0gIGZ1bmN0aW9uIGlzTnVsbGFibGUodHlwZSkg
ewotICAgIHJldHVybiB0eXBlID09PSBpbnRlcm5hbC5OdWxsYWJsZVN0cmluZyB8fAotICAgICAg
ICB0eXBlID09PSBpbnRlcm5hbC5OdWxsYWJsZUhhbmRsZSB8fAotICAgICAgICB0eXBlID09PSBp
bnRlcm5hbC5OdWxsYWJsZUFzc29jaWF0ZWRJbnRlcmZhY2VQdHJJbmZvIHx8Ci0gICAgICAgIHR5
cGUgPT09IGludGVybmFsLk51bGxhYmxlQXNzb2NpYXRlZEludGVyZmFjZVJlcXVlc3QgfHwKLSAg
ICAgICAgdHlwZSA9PT0gaW50ZXJuYWwuTnVsbGFibGVJbnRlcmZhY2UgfHwKLSAgICAgICAgdHlw
ZSA9PT0gaW50ZXJuYWwuTnVsbGFibGVJbnRlcmZhY2VSZXF1ZXN0IHx8Ci0gICAgICAgIHR5cGUg
aW5zdGFuY2VvZiBpbnRlcm5hbC5OdWxsYWJsZUFycmF5T2YgfHwKLSAgICAgICAgdHlwZSBpbnN0
YW5jZW9mIGludGVybmFsLk51bGxhYmxlUG9pbnRlclRvOwotICB9Ci0KLSAgZnVuY3Rpb24gVmFs
aWRhdG9yKG1lc3NhZ2UpIHsKLSAgICB0aGlzLm1lc3NhZ2UgPSBtZXNzYWdlOwotICAgIHRoaXMu
b2Zmc2V0ID0gMDsKLSAgICB0aGlzLmhhbmRsZUluZGV4ID0gMDsKLSAgICB0aGlzLmFzc29jaWF0
ZWRFbmRwb2ludEhhbmRsZUluZGV4ID0gMDsKLSAgICB0aGlzLnBheWxvYWRJbnRlcmZhY2VJZHMg
PSBudWxsOwotICAgIHRoaXMub2Zmc2V0TGltaXQgPSB0aGlzLm1lc3NhZ2UuYnVmZmVyLmJ5dGVM
ZW5ndGg7Ci0gIH0KLQotICBPYmplY3QuZGVmaW5lUHJvcGVydHkoVmFsaWRhdG9yLnByb3RvdHlw
ZSwgImhhbmRsZUluZGV4TGltaXQiLCB7Ci0gICAgZ2V0OiBmdW5jdGlvbigpIHsgcmV0dXJuIHRo
aXMubWVzc2FnZS5oYW5kbGVzLmxlbmd0aDsgfQotICB9KTsKLQotICBPYmplY3QuZGVmaW5lUHJv
cGVydHkoVmFsaWRhdG9yLnByb3RvdHlwZSwgImFzc29jaWF0ZWRIYW5kbGVJbmRleExpbWl0Iiwg
ewotICAgIGdldDogZnVuY3Rpb24oKSB7Ci0gICAgICByZXR1cm4gdGhpcy5wYXlsb2FkSW50ZXJm
YWNlSWRzID8gdGhpcy5wYXlsb2FkSW50ZXJmYWNlSWRzLmxlbmd0aCA6IDA7Ci0gICAgfQotICB9
KTsKLQotICAvLyBUcnVlIGlmIHdlIGNhbiBzYWZlbHkgYWxsb2NhdGUgYSBibG9jayBvZiBieXRl
cyBmcm9tIHN0YXJ0IHRvCi0gIC8vIHRvIHN0YXJ0ICsgbnVtQnl0ZXMuCi0gIFZhbGlkYXRvci5w
cm90b3R5cGUuaXNWYWxpZFJhbmdlID0gZnVuY3Rpb24oc3RhcnQsIG51bUJ5dGVzKSB7Ci0gICAg
Ly8gT25seSBwb3NpdGl2ZSBKYXZhU2NyaXB0IGludGVnZXJzIHRoYXQgYXJlIGxlc3MgdGhhbiAy
XjUzCi0gICAgLy8gKE51bWJlci5NQVhfU0FGRV9JTlRFR0VSKSBjYW4gYmUgcmVwcmVzZW50ZWQg
ZXhhY3RseS4KLSAgICBpZiAoc3RhcnQgPCB0aGlzLm9mZnNldCB8fCBudW1CeXRlcyA8PSAwIHx8
Ci0gICAgICAgICFOdW1iZXIuaXNTYWZlSW50ZWdlcihzdGFydCkgfHwKLSAgICAgICAgIU51bWJl
ci5pc1NhZmVJbnRlZ2VyKG51bUJ5dGVzKSkKLSAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIHZh
ciBuZXdPZmZzZXQgPSBzdGFydCArIG51bUJ5dGVzOwotICAgIGlmICghTnVtYmVyLmlzU2FmZUlu
dGVnZXIobmV3T2Zmc2V0KSB8fCBuZXdPZmZzZXQgPiB0aGlzLm9mZnNldExpbWl0KQotICAgICAg
cmV0dXJuIGZhbHNlOwotCi0gICAgcmV0dXJuIHRydWU7Ci0gIH07Ci0KLSAgVmFsaWRhdG9yLnBy
b3RvdHlwZS5jbGFpbVJhbmdlID0gZnVuY3Rpb24oc3RhcnQsIG51bUJ5dGVzKSB7Ci0gICAgaWYg
KHRoaXMuaXNWYWxpZFJhbmdlKHN0YXJ0LCBudW1CeXRlcykpIHsKLSAgICAgIHRoaXMub2Zmc2V0
ID0gc3RhcnQgKyBudW1CeXRlczsKLSAgICAgIHJldHVybiB0cnVlOwotICAgIH0KLSAgICByZXR1
cm4gZmFsc2U7Ci0gIH07Ci0KLSAgVmFsaWRhdG9yLnByb3RvdHlwZS5jbGFpbUhhbmRsZSA9IGZ1
bmN0aW9uKGluZGV4KSB7Ci0gICAgaWYgKGluZGV4ID09PSBpbnRlcm5hbC5rRW5jb2RlZEludmFs
aWRIYW5kbGVWYWx1ZSkKLSAgICAgIHJldHVybiB0cnVlOwotCi0gICAgaWYgKGluZGV4IDwgdGhp
cy5oYW5kbGVJbmRleCB8fCBpbmRleCA+PSB0aGlzLmhhbmRsZUluZGV4TGltaXQpCi0gICAgICBy
ZXR1cm4gZmFsc2U7Ci0KLSAgICAvLyBUaGlzIGlzIHNhZmUgYmVjYXVzZSBoYW5kbGUgaW5kaWNl
cyBhcmUgdWludDMyLgotICAgIHRoaXMuaGFuZGxlSW5kZXggPSBpbmRleCArIDE7Ci0gICAgcmV0
dXJuIHRydWU7Ci0gIH07Ci0KLSAgVmFsaWRhdG9yLnByb3RvdHlwZS5jbGFpbUFzc29jaWF0ZWRF
bmRwb2ludEhhbmRsZSA9IGZ1bmN0aW9uKGluZGV4KSB7Ci0gICAgaWYgKGluZGV4ID09PSBpbnRl
cm5hbC5rRW5jb2RlZEludmFsaWRIYW5kbGVWYWx1ZSkgewotICAgICAgcmV0dXJuIHRydWU7Ci0g
ICAgfQotCi0gICAgaWYgKGluZGV4IDwgdGhpcy5hc3NvY2lhdGVkRW5kcG9pbnRIYW5kbGVJbmRl
eCB8fAotICAgICAgICBpbmRleCA+PSB0aGlzLmFzc29jaWF0ZWRIYW5kbGVJbmRleExpbWl0KSB7
Ci0gICAgICByZXR1cm4gZmFsc2U7Ci0gICAgfQotCi0gICAgLy8gVGhpcyBpcyBzYWZlIGJlY2F1
c2UgaGFuZGxlIGluZGljZXMgYXJlIHVpbnQzMi4KLSAgICB0aGlzLmFzc29jaWF0ZWRFbmRwb2lu
dEhhbmRsZUluZGV4ID0gaW5kZXggKyAxOwotICAgIHJldHVybiB0cnVlOwotICB9OwotCi0gIFZh
bGlkYXRvci5wcm90b3R5cGUudmFsaWRhdGVFbnVtID0gZnVuY3Rpb24ob2Zmc2V0LCBlbnVtQ2xh
c3MpIHsKLSAgICAvLyBOb3RlOiBBc3N1bWVzIHRoYXQgZW51bXMgYXJlIGFsd2F5cyAzMiBiaXRz
ISBCdXQgdGhpcyBtYXRjaGVzCi0gICAgLy8gbW9qb206OmdlbmVyYXRlOjpwYWNrOjpQYWNrZWRG
aWVsZDo6R2V0U2l6ZUZvcktpbmQsIHNvIGl0IHNob3VsZCBiZSBva2F5LgotICAgIHZhciB2YWx1
ZSA9IHRoaXMubWVzc2FnZS5idWZmZXIuZ2V0SW50MzIob2Zmc2V0KTsKLSAgICByZXR1cm4gZW51
bUNsYXNzLnZhbGlkYXRlKHZhbHVlKTsKLSAgfQotCi0gIFZhbGlkYXRvci5wcm90b3R5cGUudmFs
aWRhdGVIYW5kbGUgPSBmdW5jdGlvbihvZmZzZXQsIG51bGxhYmxlKSB7Ci0gICAgdmFyIGluZGV4
ID0gdGhpcy5tZXNzYWdlLmJ1ZmZlci5nZXRVaW50MzIob2Zmc2V0KTsKLQotICAgIGlmIChpbmRl
eCA9PT0gaW50ZXJuYWwua0VuY29kZWRJbnZhbGlkSGFuZGxlVmFsdWUpCi0gICAgICByZXR1cm4g
bnVsbGFibGUgPwotICAgICAgICAgIHZhbGlkYXRpb25FcnJvci5OT05FIDogdmFsaWRhdGlvbkVy
cm9yLlVORVhQRUNURURfSU5WQUxJRF9IQU5ETEU7Ci0KLSAgICBpZiAoIXRoaXMuY2xhaW1IYW5k
bGUoaW5kZXgpKQotICAgICAgcmV0dXJuIHZhbGlkYXRpb25FcnJvci5JTExFR0FMX0hBTkRMRTsK
LQotICAgIHJldHVybiB2YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQotICBWYWxpZGF0b3Iu
cHJvdG90eXBlLnZhbGlkYXRlQXNzb2NpYXRlZEVuZHBvaW50SGFuZGxlID0gZnVuY3Rpb24ob2Zm
c2V0LAotICAgICAgbnVsbGFibGUpIHsKLSAgICB2YXIgaW5kZXggPSB0aGlzLm1lc3NhZ2UuYnVm
ZmVyLmdldFVpbnQzMihvZmZzZXQpOwotCi0gICAgaWYgKGluZGV4ID09PSBpbnRlcm5hbC5rRW5j
b2RlZEludmFsaWRIYW5kbGVWYWx1ZSkgewotICAgICAgcmV0dXJuIG51bGxhYmxlID8gdmFsaWRh
dGlvbkVycm9yLk5PTkUgOgotICAgICAgICAgIHZhbGlkYXRpb25FcnJvci5VTkVYUEVDVEVEX0lO
VkFMSURfSU5URVJGQUNFX0lEOwotICAgIH0KLQotICAgIGlmICghdGhpcy5jbGFpbUFzc29jaWF0
ZWRFbmRwb2ludEhhbmRsZShpbmRleCkpIHsKLSAgICAgIHJldHVybiB2YWxpZGF0aW9uRXJyb3Iu
SUxMRUdBTF9JTlRFUkZBQ0VfSUQ7Ci0gICAgfQotCi0gICAgcmV0dXJuIHZhbGlkYXRpb25FcnJv
ci5OT05FOwotICB9OwotCi0gIFZhbGlkYXRvci5wcm90b3R5cGUudmFsaWRhdGVJbnRlcmZhY2Ug
PSBmdW5jdGlvbihvZmZzZXQsIG51bGxhYmxlKSB7Ci0gICAgcmV0dXJuIHRoaXMudmFsaWRhdGVI
YW5kbGUob2Zmc2V0LCBudWxsYWJsZSk7Ci0gIH07Ci0KLSAgVmFsaWRhdG9yLnByb3RvdHlwZS52
YWxpZGF0ZUludGVyZmFjZVJlcXVlc3QgPSBmdW5jdGlvbihvZmZzZXQsIG51bGxhYmxlKSB7Ci0g
ICAgcmV0dXJuIHRoaXMudmFsaWRhdGVIYW5kbGUob2Zmc2V0LCBudWxsYWJsZSk7Ci0gIH07Ci0K
LSAgVmFsaWRhdG9yLnByb3RvdHlwZS52YWxpZGF0ZUFzc29jaWF0ZWRJbnRlcmZhY2UgPSBmdW5j
dGlvbihvZmZzZXQsCi0gICAgICBudWxsYWJsZSkgewotICAgIHJldHVybiB0aGlzLnZhbGlkYXRl
QXNzb2NpYXRlZEVuZHBvaW50SGFuZGxlKG9mZnNldCwgbnVsbGFibGUpOwotICB9OwotCi0gIFZh
bGlkYXRvci5wcm90b3R5cGUudmFsaWRhdGVBc3NvY2lhdGVkSW50ZXJmYWNlUmVxdWVzdCA9IGZ1
bmN0aW9uKAotICAgICAgb2Zmc2V0LCBudWxsYWJsZSkgewotICAgIHJldHVybiB0aGlzLnZhbGlk
YXRlQXNzb2NpYXRlZEVuZHBvaW50SGFuZGxlKG9mZnNldCwgbnVsbGFibGUpOwotICB9OwotCi0g
IFZhbGlkYXRvci5wcm90b3R5cGUudmFsaWRhdGVTdHJ1Y3RIZWFkZXIgPSBmdW5jdGlvbihvZmZz
ZXQsIG1pbk51bUJ5dGVzKSB7Ci0gICAgaWYgKCFpbnRlcm5hbC5pc0FsaWduZWQob2Zmc2V0KSkK
LSAgICAgIHJldHVybiB2YWxpZGF0aW9uRXJyb3IuTUlTQUxJR05FRF9PQkpFQ1Q7Ci0KLSAgICBp
ZiAoIXRoaXMuaXNWYWxpZFJhbmdlKG9mZnNldCwgaW50ZXJuYWwua1N0cnVjdEhlYWRlclNpemUp
KQotICAgICAgcmV0dXJuIHZhbGlkYXRpb25FcnJvci5JTExFR0FMX01FTU9SWV9SQU5HRTsKLQot
ICAgIHZhciBudW1CeXRlcyA9IHRoaXMubWVzc2FnZS5idWZmZXIuZ2V0VWludDMyKG9mZnNldCk7
Ci0KLSAgICBpZiAobnVtQnl0ZXMgPCBtaW5OdW1CeXRlcykKLSAgICAgIHJldHVybiB2YWxpZGF0
aW9uRXJyb3IuVU5FWFBFQ1RFRF9TVFJVQ1RfSEVBREVSOwotCi0gICAgaWYgKCF0aGlzLmNsYWlt
UmFuZ2Uob2Zmc2V0LCBudW1CeXRlcykpCi0gICAgICByZXR1cm4gdmFsaWRhdGlvbkVycm9yLklM
TEVHQUxfTUVNT1JZX1JBTkdFOwotCi0gICAgcmV0dXJuIHZhbGlkYXRpb25FcnJvci5OT05FOwot
ICB9OwotCi0gIFZhbGlkYXRvci5wcm90b3R5cGUudmFsaWRhdGVTdHJ1Y3RWZXJzaW9uID0gZnVu
Y3Rpb24ob2Zmc2V0LCB2ZXJzaW9uU2l6ZXMpIHsKLSAgICB2YXIgbnVtQnl0ZXMgPSB0aGlzLm1l
c3NhZ2UuYnVmZmVyLmdldFVpbnQzMihvZmZzZXQpOwotICAgIHZhciB2ZXJzaW9uID0gdGhpcy5t
ZXNzYWdlLmJ1ZmZlci5nZXRVaW50MzIob2Zmc2V0ICsgNCk7Ci0KLSAgICBpZiAodmVyc2lvbiA8
PSB2ZXJzaW9uU2l6ZXNbdmVyc2lvblNpemVzLmxlbmd0aCAtIDFdLnZlcnNpb24pIHsKLSAgICAg
IC8vIFNjYW4gaW4gcmV2ZXJzZSBvcmRlciB0byBvcHRpbWl6ZSBmb3IgbW9yZSByZWNlbnQgdmVy
c2lvblNpemVzLgotICAgICAgZm9yICh2YXIgaSA9IHZlcnNpb25TaXplcy5sZW5ndGggLSAxOyBp
ID49IDA7IC0taSkgewotICAgICAgICBpZiAodmVyc2lvbiA+PSB2ZXJzaW9uU2l6ZXNbaV0udmVy
c2lvbikgewotICAgICAgICAgIGlmIChudW1CeXRlcyA9PSB2ZXJzaW9uU2l6ZXNbaV0ubnVtQnl0
ZXMpCi0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgICByZXR1cm4gdmFsaWRhdGlvbkVycm9y
LlVORVhQRUNURURfU1RSVUNUX0hFQURFUjsKLSAgICAgICAgfQotICAgICAgfQotICAgIH0gZWxz
ZSBpZiAobnVtQnl0ZXMgPCB2ZXJzaW9uU2l6ZXNbdmVyc2lvblNpemVzLmxlbmd0aC0xXS5udW1C
eXRlcykgewotICAgICAgcmV0dXJuIHZhbGlkYXRpb25FcnJvci5VTkVYUEVDVEVEX1NUUlVDVF9I
RUFERVI7Ci0gICAgfQotCi0gICAgcmV0dXJuIHZhbGlkYXRpb25FcnJvci5OT05FOwotICB9Owot
Ci0gIFZhbGlkYXRvci5wcm90b3R5cGUuaXNGaWVsZEluU3RydWN0VmVyc2lvbiA9IGZ1bmN0aW9u
KG9mZnNldCwgZmllbGRWZXJzaW9uKSB7Ci0gICAgdmFyIHN0cnVjdFZlcnNpb24gPSB0aGlzLm1l
c3NhZ2UuYnVmZmVyLmdldFVpbnQzMihvZmZzZXQgKyA0KTsKLSAgICByZXR1cm4gZmllbGRWZXJz
aW9uIDw9IHN0cnVjdFZlcnNpb247Ci0gIH07Ci0KLSAgVmFsaWRhdG9yLnByb3RvdHlwZS52YWxp
ZGF0ZU1lc3NhZ2VIZWFkZXIgPSBmdW5jdGlvbigpIHsKLSAgICB2YXIgZXJyID0gdGhpcy52YWxp
ZGF0ZVN0cnVjdEhlYWRlcigwLCBpbnRlcm5hbC5rTWVzc2FnZVYwSGVhZGVyU2l6ZSk7Ci0gICAg
aWYgKGVyciAhPSB2YWxpZGF0aW9uRXJyb3IuTk9ORSkgewotICAgICAgcmV0dXJuIGVycjsKLSAg
ICB9Ci0KLSAgICB2YXIgbnVtQnl0ZXMgPSB0aGlzLm1lc3NhZ2UuZ2V0SGVhZGVyTnVtQnl0ZXMo
KTsKLSAgICB2YXIgdmVyc2lvbiA9IHRoaXMubWVzc2FnZS5nZXRIZWFkZXJWZXJzaW9uKCk7Ci0K
LSAgICB2YXIgdmFsaWRWZXJzaW9uQW5kTnVtQnl0ZXMgPQotICAgICAgICAodmVyc2lvbiA9PSAw
ICYmIG51bUJ5dGVzID09IGludGVybmFsLmtNZXNzYWdlVjBIZWFkZXJTaXplKSB8fAotICAgICAg
ICAodmVyc2lvbiA9PSAxICYmIG51bUJ5dGVzID09IGludGVybmFsLmtNZXNzYWdlVjFIZWFkZXJT
aXplKSB8fAotICAgICAgICAodmVyc2lvbiA9PSAyICYmIG51bUJ5dGVzID09IGludGVybmFsLmtN
ZXNzYWdlVjJIZWFkZXJTaXplKSB8fAotICAgICAgICAodmVyc2lvbiA+IDIgJiYgbnVtQnl0ZXMg
Pj0gaW50ZXJuYWwua01lc3NhZ2VWMkhlYWRlclNpemUpOwotCi0gICAgaWYgKCF2YWxpZFZlcnNp
b25BbmROdW1CeXRlcykgewotICAgICAgcmV0dXJuIHZhbGlkYXRpb25FcnJvci5VTkVYUEVDVEVE
X1NUUlVDVF9IRUFERVI7Ci0gICAgfQotCi0gICAgdmFyIGV4cGVjdHNSZXNwb25zZSA9IHRoaXMu
bWVzc2FnZS5leHBlY3RzUmVzcG9uc2UoKTsKLSAgICB2YXIgaXNSZXNwb25zZSA9IHRoaXMubWVz
c2FnZS5pc1Jlc3BvbnNlKCk7Ci0KLSAgICBpZiAodmVyc2lvbiA9PSAwICYmIChleHBlY3RzUmVz
cG9uc2UgfHwgaXNSZXNwb25zZSkpIHsKLSAgICAgIHJldHVybiB2YWxpZGF0aW9uRXJyb3IuTUVT
U0FHRV9IRUFERVJfTUlTU0lOR19SRVFVRVNUX0lEOwotICAgIH0KLQotICAgIGlmIChpc1Jlc3Bv
bnNlICYmIGV4cGVjdHNSZXNwb25zZSkgewotICAgICAgcmV0dXJuIHZhbGlkYXRpb25FcnJvci5N
RVNTQUdFX0hFQURFUl9JTlZBTElEX0ZMQUdTOwotICAgIH0KLQotICAgIGlmICh2ZXJzaW9uIDwg
MikgewotICAgICAgcmV0dXJuIHZhbGlkYXRpb25FcnJvci5OT05FOwotICAgIH0KLQotICAgIHZh
ciBlcnIgPSB0aGlzLnZhbGlkYXRlQXJyYXlQb2ludGVyKAotICAgICAgICBpbnRlcm5hbC5rTWVz
c2FnZVBheWxvYWRJbnRlcmZhY2VJZHNQb2ludGVyT2Zmc2V0LAotICAgICAgICBpbnRlcm5hbC5V
aW50MzIuZW5jb2RlZFNpemUsIGludGVybmFsLlVpbnQzMiwgdHJ1ZSwgWzBdLCAwKTsKLQotICAg
IGlmIChlcnIgIT0gdmFsaWRhdGlvbkVycm9yLk5PTkUpIHsKLSAgICAgIHJldHVybiBlcnI7Ci0g
ICAgfQotCi0gICAgdGhpcy5wYXlsb2FkSW50ZXJmYWNlSWRzID0gdGhpcy5tZXNzYWdlLmdldFBh
eWxvYWRJbnRlcmZhY2VJZHMoKTsKLSAgICBpZiAodGhpcy5wYXlsb2FkSW50ZXJmYWNlSWRzKSB7
Ci0gICAgICBmb3IgKHZhciBpbnRlcmZhY2VJZCBvZiB0aGlzLnBheWxvYWRJbnRlcmZhY2VJZHMp
IHsKLSAgICAgICAgaWYgKCFpbnRlcm5hbC5pc1ZhbGlkSW50ZXJmYWNlSWQoaW50ZXJmYWNlSWQp
IHx8Ci0gICAgICAgICAgICBpbnRlcm5hbC5pc01hc3RlckludGVyZmFjZUlkKGludGVyZmFjZUlk
KSkgewotICAgICAgICAgIHJldHVybiB2YWxpZGF0aW9uRXJyb3IuSUxMRUdBTF9JTlRFUkZBQ0Vf
SUQ7Ci0gICAgICAgIH0KLSAgICAgIH0KLSAgICB9Ci0KLSAgICAvLyBTZXQgb2Zmc2V0IHRvIHRo
ZSBzdGFydCBvZiB0aGUgcGF5bG9hZCBhbmQgb2Zmc2V0TGltaXQgdG8gdGhlIHN0YXJ0IG9mCi0g
ICAgLy8gdGhlIHBheWxvYWQgaW50ZXJmYWNlIElkcyBzbyB0aGF0IHBheWxvYWQgY2FuIGJlIHZh
bGlkYXRlZCB1c2luZyB0aGUKLSAgICAvLyBzYW1lIG1lc3NhZ2VWYWxpZGF0b3IuCi0gICAgdGhp
cy5vZmZzZXQgPSB0aGlzLm1lc3NhZ2UuZ2V0SGVhZGVyTnVtQnl0ZXMoKTsKLSAgICB0aGlzLm9m
ZnNldExpbWl0ID0gdGhpcy5kZWNvZGVQb2ludGVyKAotICAgICAgICBpbnRlcm5hbC5rTWVzc2Fn
ZVBheWxvYWRJbnRlcmZhY2VJZHNQb2ludGVyT2Zmc2V0KTsKLQotICAgIHJldHVybiB2YWxpZGF0
aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQotICBWYWxpZGF0b3IucHJvdG90eXBlLnZhbGlkYXRlTWVz
c2FnZUlzUmVxdWVzdFdpdGhvdXRSZXNwb25zZSA9IGZ1bmN0aW9uKCkgewotICAgIGlmICh0aGlz
Lm1lc3NhZ2UuaXNSZXNwb25zZSgpIHx8IHRoaXMubWVzc2FnZS5leHBlY3RzUmVzcG9uc2UoKSkg
ewotICAgICAgcmV0dXJuIHZhbGlkYXRpb25FcnJvci5NRVNTQUdFX0hFQURFUl9JTlZBTElEX0ZM
QUdTOwotICAgIH0KLSAgICByZXR1cm4gdmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gIH07Ci0KLSAg
VmFsaWRhdG9yLnByb3RvdHlwZS52YWxpZGF0ZU1lc3NhZ2VJc1JlcXVlc3RFeHBlY3RpbmdSZXNw
b25zZSA9IGZ1bmN0aW9uKCkgewotICAgIGlmICh0aGlzLm1lc3NhZ2UuaXNSZXNwb25zZSgpIHx8
ICF0aGlzLm1lc3NhZ2UuZXhwZWN0c1Jlc3BvbnNlKCkpIHsKLSAgICAgIHJldHVybiB2YWxpZGF0
aW9uRXJyb3IuTUVTU0FHRV9IRUFERVJfSU5WQUxJRF9GTEFHUzsKLSAgICB9Ci0gICAgcmV0dXJu
IHZhbGlkYXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIFZhbGlkYXRvci5wcm90b3R5cGUudmFs
aWRhdGVNZXNzYWdlSXNSZXNwb25zZSA9IGZ1bmN0aW9uKCkgewotICAgIGlmICh0aGlzLm1lc3Nh
Z2UuZXhwZWN0c1Jlc3BvbnNlKCkgfHwgIXRoaXMubWVzc2FnZS5pc1Jlc3BvbnNlKCkpIHsKLSAg
ICAgIHJldHVybiB2YWxpZGF0aW9uRXJyb3IuTUVTU0FHRV9IRUFERVJfSU5WQUxJRF9GTEFHUzsK
LSAgICB9Ci0gICAgcmV0dXJuIHZhbGlkYXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIC8vIFJl
dHVybnMgdGhlIG1lc3NhZ2UuYnVmZmVyIHJlbGF0aXZlIG9mZnNldCB0aGlzIHBvaW50ZXIgInBv
aW50cyB0byIsCi0gIC8vIE5VTExfTU9KT19QT0lOVEVSIGlmIHRoZSBwb2ludGVyIHJlcHJlc2Vu
dHMgYSBudWxsLCBvciBKUyBudWxsIGlmIHRoZQotICAvLyBwb2ludGVyJ3MgdmFsdWUgaXMgbm90
IHZhbGlkLgotICBWYWxpZGF0b3IucHJvdG90eXBlLmRlY29kZVBvaW50ZXIgPSBmdW5jdGlvbihv
ZmZzZXQpIHsKLSAgICB2YXIgcG9pbnRlclZhbHVlID0gdGhpcy5tZXNzYWdlLmJ1ZmZlci5nZXRV
aW50NjQob2Zmc2V0KTsKLSAgICBpZiAocG9pbnRlclZhbHVlID09PSAwKQotICAgICAgcmV0dXJu
IE5VTExfTU9KT19QT0lOVEVSOwotICAgIHZhciBidWZmZXJPZmZzZXQgPSBvZmZzZXQgKyBwb2lu
dGVyVmFsdWU7Ci0gICAgcmV0dXJuIE51bWJlci5pc1NhZmVJbnRlZ2VyKGJ1ZmZlck9mZnNldCkg
PyBidWZmZXJPZmZzZXQgOiBudWxsOwotICB9OwotCi0gIFZhbGlkYXRvci5wcm90b3R5cGUuZGVj
b2RlVW5pb25TaXplID0gZnVuY3Rpb24ob2Zmc2V0KSB7Ci0gICAgcmV0dXJuIHRoaXMubWVzc2Fn
ZS5idWZmZXIuZ2V0VWludDMyKG9mZnNldCk7Ci0gIH07Ci0KLSAgVmFsaWRhdG9yLnByb3RvdHlw
ZS5kZWNvZGVVbmlvblRhZyA9IGZ1bmN0aW9uKG9mZnNldCkgewotICAgIHJldHVybiB0aGlzLm1l
c3NhZ2UuYnVmZmVyLmdldFVpbnQzMihvZmZzZXQgKyA0KTsKLSAgfTsKLQotICBWYWxpZGF0b3Iu
cHJvdG90eXBlLnZhbGlkYXRlQXJyYXlQb2ludGVyID0gZnVuY3Rpb24oCi0gICAgICBvZmZzZXQs
IGVsZW1lbnRTaXplLCBlbGVtZW50VHlwZSwgbnVsbGFibGUsIGV4cGVjdGVkRGltZW5zaW9uU2l6
ZXMsCi0gICAgICBjdXJyZW50RGltZW5zaW9uKSB7Ci0gICAgdmFyIGFycmF5T2Zmc2V0ID0gdGhp
cy5kZWNvZGVQb2ludGVyKG9mZnNldCk7Ci0gICAgaWYgKGFycmF5T2Zmc2V0ID09PSBudWxsKQot
ICAgICAgcmV0dXJuIHZhbGlkYXRpb25FcnJvci5JTExFR0FMX1BPSU5URVI7Ci0KLSAgICBpZiAo
YXJyYXlPZmZzZXQgPT09IE5VTExfTU9KT19QT0lOVEVSKQotICAgICAgcmV0dXJuIG51bGxhYmxl
ID8KLSAgICAgICAgICB2YWxpZGF0aW9uRXJyb3IuTk9ORSA6IHZhbGlkYXRpb25FcnJvci5VTkVY
UEVDVEVEX05VTExfUE9JTlRFUjsKLQotICAgIHJldHVybiB0aGlzLnZhbGlkYXRlQXJyYXkoYXJy
YXlPZmZzZXQsIGVsZW1lbnRTaXplLCBlbGVtZW50VHlwZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGV4cGVjdGVkRGltZW5zaW9uU2l6ZXMsIGN1cnJlbnREaW1lbnNpb24pOwotICB9
OwotCi0gIFZhbGlkYXRvci5wcm90b3R5cGUudmFsaWRhdGVTdHJ1Y3RQb2ludGVyID0gZnVuY3Rp
b24oCi0gICAgICBvZmZzZXQsIHN0cnVjdENsYXNzLCBudWxsYWJsZSkgewotICAgIHZhciBzdHJ1
Y3RPZmZzZXQgPSB0aGlzLmRlY29kZVBvaW50ZXIob2Zmc2V0KTsKLSAgICBpZiAoc3RydWN0T2Zm
c2V0ID09PSBudWxsKQotICAgICAgcmV0dXJuIHZhbGlkYXRpb25FcnJvci5JTExFR0FMX1BPSU5U
RVI7Ci0KLSAgICBpZiAoc3RydWN0T2Zmc2V0ID09PSBOVUxMX01PSk9fUE9JTlRFUikKLSAgICAg
IHJldHVybiBudWxsYWJsZSA/Ci0gICAgICAgICAgdmFsaWRhdGlvbkVycm9yLk5PTkUgOiB2YWxp
ZGF0aW9uRXJyb3IuVU5FWFBFQ1RFRF9OVUxMX1BPSU5URVI7Ci0KLSAgICByZXR1cm4gc3RydWN0
Q2xhc3MudmFsaWRhdGUodGhpcywgc3RydWN0T2Zmc2V0KTsKLSAgfTsKLQotICBWYWxpZGF0b3Iu
cHJvdG90eXBlLnZhbGlkYXRlVW5pb24gPSBmdW5jdGlvbigKLSAgICAgIG9mZnNldCwgdW5pb25D
bGFzcywgbnVsbGFibGUpIHsKLSAgICB2YXIgc2l6ZSA9IHRoaXMubWVzc2FnZS5idWZmZXIuZ2V0
VWludDMyKG9mZnNldCk7Ci0gICAgaWYgKHNpemUgPT0gMCkgewotICAgICAgcmV0dXJuIG51bGxh
YmxlID8KLSAgICAgICAgICB2YWxpZGF0aW9uRXJyb3IuTk9ORSA6IHZhbGlkYXRpb25FcnJvci5V
TkVYUEVDVEVEX05VTExfVU5JT047Ci0gICAgfQotCi0gICAgcmV0dXJuIHVuaW9uQ2xhc3MudmFs
aWRhdGUodGhpcywgb2Zmc2V0KTsKLSAgfTsKLQotICBWYWxpZGF0b3IucHJvdG90eXBlLnZhbGlk
YXRlTmVzdGVkVW5pb24gPSBmdW5jdGlvbigKLSAgICAgIG9mZnNldCwgdW5pb25DbGFzcywgbnVs
bGFibGUpIHsKLSAgICB2YXIgdW5pb25PZmZzZXQgPSB0aGlzLmRlY29kZVBvaW50ZXIob2Zmc2V0
KTsKLSAgICBpZiAodW5pb25PZmZzZXQgPT09IG51bGwpCi0gICAgICByZXR1cm4gdmFsaWRhdGlv
bkVycm9yLklMTEVHQUxfUE9JTlRFUjsKLQotICAgIGlmICh1bmlvbk9mZnNldCA9PT0gTlVMTF9N
T0pPX1BPSU5URVIpCi0gICAgICByZXR1cm4gbnVsbGFibGUgPwotICAgICAgICAgIHZhbGlkYXRp
b25FcnJvci5OT05FIDogdmFsaWRhdGlvbkVycm9yLlVORVhQRUNURURfTlVMTF9VTklPTjsKLQot
ICAgIHJldHVybiB0aGlzLnZhbGlkYXRlVW5pb24odW5pb25PZmZzZXQsIHVuaW9uQ2xhc3MsIG51
bGxhYmxlKTsKLSAgfTsKLQotICAvLyBUaGlzIG1ldGhvZCBhc3N1bWVzIHRoYXQgdGhlIGFycmF5
IGF0IGFycmF5UG9pbnRlck9mZnNldCBoYXMKLSAgLy8gYmVlbiB2YWxpZGF0ZWQuCi0KLSAgVmFs
aWRhdG9yLnByb3RvdHlwZS5hcnJheUxlbmd0aCA9IGZ1bmN0aW9uKGFycmF5UG9pbnRlck9mZnNl
dCkgewotICAgIHZhciBhcnJheU9mZnNldCA9IHRoaXMuZGVjb2RlUG9pbnRlcihhcnJheVBvaW50
ZXJPZmZzZXQpOwotICAgIHJldHVybiB0aGlzLm1lc3NhZ2UuYnVmZmVyLmdldFVpbnQzMihhcnJh
eU9mZnNldCArIDQpOwotICB9OwotCi0gIFZhbGlkYXRvci5wcm90b3R5cGUudmFsaWRhdGVNYXBQ
b2ludGVyID0gZnVuY3Rpb24oCi0gICAgICBvZmZzZXQsIG1hcElzTnVsbGFibGUsIGtleUNsYXNz
LCB2YWx1ZUNsYXNzLCB2YWx1ZUlzTnVsbGFibGUpIHsKLSAgICAvLyBWYWxpZGF0ZSB0aGUgaW1w
bGljaXQgbWFwIHN0cnVjdDoKLSAgICAvLyBzdHJ1Y3Qge2FycmF5PGtleUNsYXNzPiBrZXlzOyBh
cnJheTx2YWx1ZUNsYXNzPiB2YWx1ZXN9OwotICAgIHZhciBzdHJ1Y3RPZmZzZXQgPSB0aGlzLmRl
Y29kZVBvaW50ZXIob2Zmc2V0KTsKLSAgICBpZiAoc3RydWN0T2Zmc2V0ID09PSBudWxsKQotICAg
ICAgcmV0dXJuIHZhbGlkYXRpb25FcnJvci5JTExFR0FMX1BPSU5URVI7Ci0KLSAgICBpZiAoc3Ry
dWN0T2Zmc2V0ID09PSBOVUxMX01PSk9fUE9JTlRFUikKLSAgICAgIHJldHVybiBtYXBJc051bGxh
YmxlID8KLSAgICAgICAgICB2YWxpZGF0aW9uRXJyb3IuTk9ORSA6IHZhbGlkYXRpb25FcnJvci5V
TkVYUEVDVEVEX05VTExfUE9JTlRFUjsKLQotICAgIHZhciBtYXBFbmNvZGVkU2l6ZSA9IGludGVy
bmFsLmtTdHJ1Y3RIZWFkZXJTaXplICsKLSAgICAgICAgICAgICAgICAgICAgICAgICBpbnRlcm5h
bC5rTWFwU3RydWN0UGF5bG9hZFNpemU7Ci0gICAgdmFyIGVyciA9IHRoaXMudmFsaWRhdGVTdHJ1
Y3RIZWFkZXIoc3RydWN0T2Zmc2V0LCBtYXBFbmNvZGVkU2l6ZSk7Ci0gICAgaWYgKGVyciAhPT0g
dmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICAvLyBWYWxp
ZGF0ZSB0aGUga2V5cyBhcnJheS4KLSAgICB2YXIga2V5c0FycmF5UG9pbnRlck9mZnNldCA9IHN0
cnVjdE9mZnNldCArIGludGVybmFsLmtTdHJ1Y3RIZWFkZXJTaXplOwotICAgIGVyciA9IHRoaXMu
dmFsaWRhdGVBcnJheVBvaW50ZXIoCi0gICAgICAgIGtleXNBcnJheVBvaW50ZXJPZmZzZXQsIGtl
eUNsYXNzLmVuY29kZWRTaXplLCBrZXlDbGFzcywgZmFsc2UsIFswXSwgMCk7Ci0gICAgaWYgKGVy
ciAhPT0gdmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICAv
LyBWYWxpZGF0ZSB0aGUgdmFsdWVzIGFycmF5LgotICAgIHZhciB2YWx1ZXNBcnJheVBvaW50ZXJP
ZmZzZXQgPSBrZXlzQXJyYXlQb2ludGVyT2Zmc2V0ICsgODsKLSAgICB2YXIgdmFsdWVzQXJyYXlE
aW1lbnNpb25zID0gWzBdOyAvLyBWYWxpZGF0ZSB0aGUgYWN0dWFsIGxlbmd0aCBiZWxvdy4KLSAg
ICBpZiAodmFsdWVDbGFzcyBpbnN0YW5jZW9mIGludGVybmFsLkFycmF5T2YpCi0gICAgICB2YWx1
ZXNBcnJheURpbWVuc2lvbnMgPQotICAgICAgICAgIHZhbHVlc0FycmF5RGltZW5zaW9ucy5jb25j
YXQodmFsdWVDbGFzcy5kaW1lbnNpb25zKCkpOwotICAgIHZhciBlcnIgPSB0aGlzLnZhbGlkYXRl
QXJyYXlQb2ludGVyKHZhbHVlc0FycmF5UG9pbnRlck9mZnNldCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZUNsYXNzLmVuY29kZWRTaXplLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlQ2xhc3MsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVJc051bGxhYmxlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlc0FycmF5RGltZW5zaW9ucywKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwKTsKLSAgICBpZiAoZXJyICE9PSB2
YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIC8vIFZhbGlk
YXRlIHRoZSBsZW5ndGhzIG9mIHRoZSBrZXlzIGFuZCB2YWx1ZXMgYXJyYXlzLgotICAgIHZhciBr
ZXlzQXJyYXlMZW5ndGggPSB0aGlzLmFycmF5TGVuZ3RoKGtleXNBcnJheVBvaW50ZXJPZmZzZXQp
OwotICAgIHZhciB2YWx1ZXNBcnJheUxlbmd0aCA9IHRoaXMuYXJyYXlMZW5ndGgodmFsdWVzQXJy
YXlQb2ludGVyT2Zmc2V0KTsKLSAgICBpZiAoa2V5c0FycmF5TGVuZ3RoICE9IHZhbHVlc0FycmF5
TGVuZ3RoKQotICAgICAgcmV0dXJuIHZhbGlkYXRpb25FcnJvci5ESUZGRVJFTlRfU0laRURfQVJS
QVlTX0lOX01BUDsKLQotICAgIHJldHVybiB2YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQot
ICBWYWxpZGF0b3IucHJvdG90eXBlLnZhbGlkYXRlU3RyaW5nUG9pbnRlciA9IGZ1bmN0aW9uKG9m
ZnNldCwgbnVsbGFibGUpIHsKLSAgICByZXR1cm4gdGhpcy52YWxpZGF0ZUFycmF5UG9pbnRlcigK
LSAgICAgICAgb2Zmc2V0LCBpbnRlcm5hbC5VaW50OC5lbmNvZGVkU2l6ZSwgaW50ZXJuYWwuVWlu
dDgsIG51bGxhYmxlLCBbMF0sIDApOwotICB9OwotCi0gIC8vIFNpbWlsYXIgdG8gQXJyYXlfRGF0
YTxUPjo6VmFsaWRhdGUoKQotICAvLyBtb2pvL3B1YmxpYy9jcHAvYmluZGluZ3MvbGliL2FycmF5
X2ludGVybmFsLmgKLQotICBWYWxpZGF0b3IucHJvdG90eXBlLnZhbGlkYXRlQXJyYXkgPQotICAg
ICAgZnVuY3Rpb24gKG9mZnNldCwgZWxlbWVudFNpemUsIGVsZW1lbnRUeXBlLCBleHBlY3RlZERp
bWVuc2lvblNpemVzLAotICAgICAgICAgICAgICAgIGN1cnJlbnREaW1lbnNpb24pIHsKLSAgICBp
ZiAoIWludGVybmFsLmlzQWxpZ25lZChvZmZzZXQpKQotICAgICAgcmV0dXJuIHZhbGlkYXRpb25F
cnJvci5NSVNBTElHTkVEX09CSkVDVDsKLQotICAgIGlmICghdGhpcy5pc1ZhbGlkUmFuZ2Uob2Zm
c2V0LCBpbnRlcm5hbC5rQXJyYXlIZWFkZXJTaXplKSkKLSAgICAgIHJldHVybiB2YWxpZGF0aW9u
RXJyb3IuSUxMRUdBTF9NRU1PUllfUkFOR0U7Ci0KLSAgICB2YXIgbnVtQnl0ZXMgPSB0aGlzLm1l
c3NhZ2UuYnVmZmVyLmdldFVpbnQzMihvZmZzZXQpOwotICAgIHZhciBudW1FbGVtZW50cyA9IHRo
aXMubWVzc2FnZS5idWZmZXIuZ2V0VWludDMyKG9mZnNldCArIDQpOwotCi0gICAgLy8gTm90ZTog
dGhpcyBjb21wdXRhdGlvbiBpcyAic2FmZSIgYmVjYXVzZSBlbGVtZW50U2l6ZSA8PSA4IGFuZAot
ICAgIC8vIG51bUVsZW1lbnRzIGlzIGEgdWludDMyLgotICAgIHZhciBlbGVtZW50c1RvdGFsU2l6
ZSA9IChlbGVtZW50VHlwZSA9PT0gaW50ZXJuYWwuUGFja2VkQm9vbCkgPwotICAgICAgICBNYXRo
LmNlaWwobnVtRWxlbWVudHMgLyA4KSA6IChlbGVtZW50U2l6ZSAqIG51bUVsZW1lbnRzKTsKLQot
ICAgIGlmIChudW1CeXRlcyA8IGludGVybmFsLmtBcnJheUhlYWRlclNpemUgKyBlbGVtZW50c1Rv
dGFsU2l6ZSkKLSAgICAgIHJldHVybiB2YWxpZGF0aW9uRXJyb3IuVU5FWFBFQ1RFRF9BUlJBWV9I
RUFERVI7Ci0KLSAgICBpZiAoZXhwZWN0ZWREaW1lbnNpb25TaXplc1tjdXJyZW50RGltZW5zaW9u
XSAhPSAwICYmCi0gICAgICAgIG51bUVsZW1lbnRzICE9IGV4cGVjdGVkRGltZW5zaW9uU2l6ZXNb
Y3VycmVudERpbWVuc2lvbl0pIHsKLSAgICAgIHJldHVybiB2YWxpZGF0aW9uRXJyb3IuVU5FWFBF
Q1RFRF9BUlJBWV9IRUFERVI7Ci0gICAgfQotCi0gICAgaWYgKCF0aGlzLmNsYWltUmFuZ2Uob2Zm
c2V0LCBudW1CeXRlcykpCi0gICAgICByZXR1cm4gdmFsaWRhdGlvbkVycm9yLklMTEVHQUxfTUVN
T1JZX1JBTkdFOwotCi0gICAgLy8gVmFsaWRhdGUgdGhlIGFycmF5J3MgZWxlbWVudHMgaWYgdGhl
eSBhcmUgcG9pbnRlcnMgb3IgaGFuZGxlcy4KLQotICAgIHZhciBlbGVtZW50c09mZnNldCA9IG9m
ZnNldCArIGludGVybmFsLmtBcnJheUhlYWRlclNpemU7Ci0gICAgdmFyIG51bGxhYmxlID0gaXNO
dWxsYWJsZShlbGVtZW50VHlwZSk7Ci0KLSAgICBpZiAoaXNIYW5kbGVDbGFzcyhlbGVtZW50VHlw
ZSkpCi0gICAgICByZXR1cm4gdGhpcy52YWxpZGF0ZUhhbmRsZUVsZW1lbnRzKGVsZW1lbnRzT2Zm
c2V0LCBudW1FbGVtZW50cywgbnVsbGFibGUpOwotICAgIGlmIChpc0ludGVyZmFjZUNsYXNzKGVs
ZW1lbnRUeXBlKSkKLSAgICAgIHJldHVybiB0aGlzLnZhbGlkYXRlSW50ZXJmYWNlRWxlbWVudHMo
Ci0gICAgICAgICAgZWxlbWVudHNPZmZzZXQsIG51bUVsZW1lbnRzLCBudWxsYWJsZSk7Ci0gICAg
aWYgKGlzSW50ZXJmYWNlUmVxdWVzdENsYXNzKGVsZW1lbnRUeXBlKSkKLSAgICAgIHJldHVybiB0
aGlzLnZhbGlkYXRlSW50ZXJmYWNlUmVxdWVzdEVsZW1lbnRzKAotICAgICAgICAgIGVsZW1lbnRz
T2Zmc2V0LCBudW1FbGVtZW50cywgbnVsbGFibGUpOwotICAgIGlmIChpc0Fzc29jaWF0ZWRJbnRl
cmZhY2VDbGFzcyhlbGVtZW50VHlwZSkpCi0gICAgICByZXR1cm4gdGhpcy52YWxpZGF0ZUFzc29j
aWF0ZWRJbnRlcmZhY2VFbGVtZW50cygKLSAgICAgICAgICBlbGVtZW50c09mZnNldCwgbnVtRWxl
bWVudHMsIG51bGxhYmxlKTsKLSAgICBpZiAoaXNBc3NvY2lhdGVkSW50ZXJmYWNlUmVxdWVzdENs
YXNzKGVsZW1lbnRUeXBlKSkKLSAgICAgIHJldHVybiB0aGlzLnZhbGlkYXRlQXNzb2NpYXRlZElu
dGVyZmFjZVJlcXVlc3RFbGVtZW50cygKLSAgICAgICAgICBlbGVtZW50c09mZnNldCwgbnVtRWxl
bWVudHMsIG51bGxhYmxlKTsKLSAgICBpZiAoaXNTdHJpbmdDbGFzcyhlbGVtZW50VHlwZSkpCi0g
ICAgICByZXR1cm4gdGhpcy52YWxpZGF0ZUFycmF5RWxlbWVudHMoCi0gICAgICAgICAgZWxlbWVu
dHNPZmZzZXQsIG51bUVsZW1lbnRzLCBpbnRlcm5hbC5VaW50OCwgbnVsbGFibGUsIFswXSwgMCk7
Ci0gICAgaWYgKGVsZW1lbnRUeXBlIGluc3RhbmNlb2YgaW50ZXJuYWwuUG9pbnRlclRvKQotICAg
ICAgcmV0dXJuIHRoaXMudmFsaWRhdGVTdHJ1Y3RFbGVtZW50cygKLSAgICAgICAgICBlbGVtZW50
c09mZnNldCwgbnVtRWxlbWVudHMsIGVsZW1lbnRUeXBlLmNscywgbnVsbGFibGUpOwotICAgIGlm
IChlbGVtZW50VHlwZSBpbnN0YW5jZW9mIGludGVybmFsLkFycmF5T2YpCi0gICAgICByZXR1cm4g
dGhpcy52YWxpZGF0ZUFycmF5RWxlbWVudHMoCi0gICAgICAgICAgZWxlbWVudHNPZmZzZXQsIG51
bUVsZW1lbnRzLCBlbGVtZW50VHlwZS5jbHMsIG51bGxhYmxlLAotICAgICAgICAgIGV4cGVjdGVk
RGltZW5zaW9uU2l6ZXMsIGN1cnJlbnREaW1lbnNpb24gKyAxKTsKLSAgICBpZiAoaXNFbnVtQ2xh
c3MoZWxlbWVudFR5cGUpKQotICAgICAgcmV0dXJuIHRoaXMudmFsaWRhdGVFbnVtRWxlbWVudHMo
ZWxlbWVudHNPZmZzZXQsIG51bUVsZW1lbnRzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgZWxlbWVudFR5cGUuY2xzKTsKLQotICAgIHJldHVybiB2YWxpZGF0aW9uRXJy
b3IuTk9ORTsKLSAgfTsKLQotICAvLyBOb3RlOiB0aGUgfG9mZnNldCArIGkgKiBlbGVtZW50U2l6
ZXwgY29tcHV0YXRpb24gaW4gdGhlIHZhbGlkYXRlRm9vRWxlbWVudHMKLSAgLy8gbWV0aG9kcyBi
ZWxvdyBpcyAic2FmZSIgYmVjYXVzZSBlbGVtZW50U2l6ZSA8PSA4LCBvZmZzZXQgYW5kCi0gIC8v
IG51bUVsZW1lbnRzIGFyZSB1aW50MzIsIGFuZCAwIDw9IGkgPCBudW1FbGVtZW50cy4KLQotICBW
YWxpZGF0b3IucHJvdG90eXBlLnZhbGlkYXRlSGFuZGxlRWxlbWVudHMgPQotICAgICAgZnVuY3Rp
b24ob2Zmc2V0LCBudW1FbGVtZW50cywgbnVsbGFibGUpIHsKLSAgICB2YXIgZWxlbWVudFNpemUg
PSBpbnRlcm5hbC5IYW5kbGUuZW5jb2RlZFNpemU7Ci0gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBu
dW1FbGVtZW50czsgaSsrKSB7Ci0gICAgICB2YXIgZWxlbWVudE9mZnNldCA9IG9mZnNldCArIGkg
KiBlbGVtZW50U2l6ZTsKLSAgICAgIHZhciBlcnIgPSB0aGlzLnZhbGlkYXRlSGFuZGxlKGVsZW1l
bnRPZmZzZXQsIG51bGxhYmxlKTsKLSAgICAgIGlmIChlcnIgIT0gdmFsaWRhdGlvbkVycm9yLk5P
TkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0gICAgfQotICAgIHJldHVybiB2YWxpZGF0aW9uRXJy
b3IuTk9ORTsKLSAgfTsKLQotICBWYWxpZGF0b3IucHJvdG90eXBlLnZhbGlkYXRlSW50ZXJmYWNl
RWxlbWVudHMgPQotICAgICAgZnVuY3Rpb24ob2Zmc2V0LCBudW1FbGVtZW50cywgbnVsbGFibGUp
IHsKLSAgICB2YXIgZWxlbWVudFNpemUgPSBpbnRlcm5hbC5JbnRlcmZhY2UucHJvdG90eXBlLmVu
Y29kZWRTaXplOwotICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbnVtRWxlbWVudHM7IGkrKykgewot
ICAgICAgdmFyIGVsZW1lbnRPZmZzZXQgPSBvZmZzZXQgKyBpICogZWxlbWVudFNpemU7Ci0gICAg
ICB2YXIgZXJyID0gdGhpcy52YWxpZGF0ZUludGVyZmFjZShlbGVtZW50T2Zmc2V0LCBudWxsYWJs
ZSk7Ci0gICAgICBpZiAoZXJyICE9IHZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1
cm4gZXJyOwotICAgIH0KLSAgICByZXR1cm4gdmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gIH07Ci0K
LSAgVmFsaWRhdG9yLnByb3RvdHlwZS52YWxpZGF0ZUludGVyZmFjZVJlcXVlc3RFbGVtZW50cyA9
Ci0gICAgICBmdW5jdGlvbihvZmZzZXQsIG51bUVsZW1lbnRzLCBudWxsYWJsZSkgewotICAgIHZh
ciBlbGVtZW50U2l6ZSA9IGludGVybmFsLkludGVyZmFjZVJlcXVlc3QuZW5jb2RlZFNpemU7Ci0g
ICAgZm9yICh2YXIgaSA9IDA7IGkgPCBudW1FbGVtZW50czsgaSsrKSB7Ci0gICAgICB2YXIgZWxl
bWVudE9mZnNldCA9IG9mZnNldCArIGkgKiBlbGVtZW50U2l6ZTsKLSAgICAgIHZhciBlcnIgPSB0
aGlzLnZhbGlkYXRlSW50ZXJmYWNlUmVxdWVzdChlbGVtZW50T2Zmc2V0LCBudWxsYWJsZSk7Ci0g
ICAgICBpZiAoZXJyICE9IHZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJy
OwotICAgIH0KLSAgICByZXR1cm4gdmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gIH07Ci0KLSAgVmFs
aWRhdG9yLnByb3RvdHlwZS52YWxpZGF0ZUFzc29jaWF0ZWRJbnRlcmZhY2VFbGVtZW50cyA9Ci0g
ICAgICBmdW5jdGlvbihvZmZzZXQsIG51bUVsZW1lbnRzLCBudWxsYWJsZSkgewotICAgIHZhciBl
bGVtZW50U2l6ZSA9IGludGVybmFsLkFzc29jaWF0ZWRJbnRlcmZhY2VQdHJJbmZvLnByb3RvdHlw
ZS5lbmNvZGVkU2l6ZTsKLSAgICBmb3IgKHZhciBpID0gMDsgaSA8IG51bUVsZW1lbnRzOyBpKysp
IHsKLSAgICAgIHZhciBlbGVtZW50T2Zmc2V0ID0gb2Zmc2V0ICsgaSAqIGVsZW1lbnRTaXplOwot
ICAgICAgdmFyIGVyciA9IHRoaXMudmFsaWRhdGVBc3NvY2lhdGVkSW50ZXJmYWNlKGVsZW1lbnRP
ZmZzZXQsIG51bGxhYmxlKTsKLSAgICAgIGlmIChlcnIgIT0gdmFsaWRhdGlvbkVycm9yLk5PTkUp
IHsKLSAgICAgICAgcmV0dXJuIGVycjsKLSAgICAgIH0KLSAgICB9Ci0gICAgcmV0dXJuIHZhbGlk
YXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIFZhbGlkYXRvci5wcm90b3R5cGUudmFsaWRhdGVB
c3NvY2lhdGVkSW50ZXJmYWNlUmVxdWVzdEVsZW1lbnRzID0KLSAgICAgIGZ1bmN0aW9uKG9mZnNl
dCwgbnVtRWxlbWVudHMsIG51bGxhYmxlKSB7Ci0gICAgdmFyIGVsZW1lbnRTaXplID0gaW50ZXJu
YWwuQXNzb2NpYXRlZEludGVyZmFjZVJlcXVlc3QuZW5jb2RlZFNpemU7Ci0gICAgZm9yICh2YXIg
aSA9IDA7IGkgPCBudW1FbGVtZW50czsgaSsrKSB7Ci0gICAgICB2YXIgZWxlbWVudE9mZnNldCA9
IG9mZnNldCArIGkgKiBlbGVtZW50U2l6ZTsKLSAgICAgIHZhciBlcnIgPSB0aGlzLnZhbGlkYXRl
QXNzb2NpYXRlZEludGVyZmFjZVJlcXVlc3QoZWxlbWVudE9mZnNldCwKLSAgICAgICAgICBudWxs
YWJsZSk7Ci0gICAgICBpZiAoZXJyICE9IHZhbGlkYXRpb25FcnJvci5OT05FKSB7Ci0gICAgICAg
IHJldHVybiBlcnI7Ci0gICAgICB9Ci0gICAgfQotICAgIHJldHVybiB2YWxpZGF0aW9uRXJyb3Iu
Tk9ORTsKLSAgfTsKLQotICAvLyBUaGUgZWxlbWVudENsYXNzIHBhcmFtZXRlciBpcyB0aGUgZWxl
bWVudCB0eXBlIG9mIHRoZSBlbGVtZW50IGFycmF5cy4KLSAgVmFsaWRhdG9yLnByb3RvdHlwZS52
YWxpZGF0ZUFycmF5RWxlbWVudHMgPQotICAgICAgZnVuY3Rpb24ob2Zmc2V0LCBudW1FbGVtZW50
cywgZWxlbWVudENsYXNzLCBudWxsYWJsZSwKLSAgICAgICAgICAgICAgIGV4cGVjdGVkRGltZW5z
aW9uU2l6ZXMsIGN1cnJlbnREaW1lbnNpb24pIHsKLSAgICB2YXIgZWxlbWVudFNpemUgPSBpbnRl
cm5hbC5Qb2ludGVyVG8ucHJvdG90eXBlLmVuY29kZWRTaXplOwotICAgIGZvciAodmFyIGkgPSAw
OyBpIDwgbnVtRWxlbWVudHM7IGkrKykgewotICAgICAgdmFyIGVsZW1lbnRPZmZzZXQgPSBvZmZz
ZXQgKyBpICogZWxlbWVudFNpemU7Ci0gICAgICB2YXIgZXJyID0gdGhpcy52YWxpZGF0ZUFycmF5
UG9pbnRlcigKLSAgICAgICAgICBlbGVtZW50T2Zmc2V0LCBlbGVtZW50Q2xhc3MuZW5jb2RlZFNp
emUsIGVsZW1lbnRDbGFzcywgbnVsbGFibGUsCi0gICAgICAgICAgZXhwZWN0ZWREaW1lbnNpb25T
aXplcywgY3VycmVudERpbWVuc2lvbik7Ci0gICAgICBpZiAoZXJyICE9IHZhbGlkYXRpb25FcnJv
ci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotICAgIH0KLSAgICByZXR1cm4gdmFsaWRhdGlv
bkVycm9yLk5PTkU7Ci0gIH07Ci0KLSAgVmFsaWRhdG9yLnByb3RvdHlwZS52YWxpZGF0ZVN0cnVj
dEVsZW1lbnRzID0KLSAgICAgIGZ1bmN0aW9uKG9mZnNldCwgbnVtRWxlbWVudHMsIHN0cnVjdENs
YXNzLCBudWxsYWJsZSkgewotICAgIHZhciBlbGVtZW50U2l6ZSA9IGludGVybmFsLlBvaW50ZXJU
by5wcm90b3R5cGUuZW5jb2RlZFNpemU7Ci0gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBudW1FbGVt
ZW50czsgaSsrKSB7Ci0gICAgICB2YXIgZWxlbWVudE9mZnNldCA9IG9mZnNldCArIGkgKiBlbGVt
ZW50U2l6ZTsKLSAgICAgIHZhciBlcnIgPQotICAgICAgICAgIHRoaXMudmFsaWRhdGVTdHJ1Y3RQ
b2ludGVyKGVsZW1lbnRPZmZzZXQsIHN0cnVjdENsYXNzLCBudWxsYWJsZSk7Ci0gICAgICBpZiAo
ZXJyICE9IHZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotICAgIH0K
LSAgICByZXR1cm4gdmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gIH07Ci0KLSAgVmFsaWRhdG9yLnBy
b3RvdHlwZS52YWxpZGF0ZUVudW1FbGVtZW50cyA9Ci0gICAgICBmdW5jdGlvbihvZmZzZXQsIG51
bUVsZW1lbnRzLCBlbnVtQ2xhc3MpIHsKLSAgICB2YXIgZWxlbWVudFNpemUgPSBpbnRlcm5hbC5F
bnVtLnByb3RvdHlwZS5lbmNvZGVkU2l6ZTsKLSAgICBmb3IgKHZhciBpID0gMDsgaSA8IG51bUVs
ZW1lbnRzOyBpKyspIHsKLSAgICAgIHZhciBlbGVtZW50T2Zmc2V0ID0gb2Zmc2V0ICsgaSAqIGVs
ZW1lbnRTaXplOwotICAgICAgdmFyIGVyciA9IHRoaXMudmFsaWRhdGVFbnVtKGVsZW1lbnRPZmZz
ZXQsIGVudW1DbGFzcyk7Ci0gICAgICBpZiAoZXJyICE9IHZhbGlkYXRpb25FcnJvci5OT05FKQot
ICAgICAgICByZXR1cm4gZXJyOwotICAgIH0KLSAgICByZXR1cm4gdmFsaWRhdGlvbkVycm9yLk5P
TkU7Ci0gIH07Ci0KLSAgaW50ZXJuYWwudmFsaWRhdGlvbkVycm9yID0gdmFsaWRhdGlvbkVycm9y
OwotICBpbnRlcm5hbC5WYWxpZGF0b3IgPSBWYWxpZGF0b3I7Ci0gIGludGVybmFsLlZhbGlkYXRp
b25FcnJvck9ic2VydmVyRm9yVGVzdGluZyA9Ci0gICAgICBWYWxpZGF0aW9uRXJyb3JPYnNlcnZl
ckZvclRlc3Rpbmc7Ci0gIGludGVybmFsLnJlcG9ydFZhbGlkYXRpb25FcnJvciA9IHJlcG9ydFZh
bGlkYXRpb25FcnJvcjsKLSAgaW50ZXJuYWwuaXNUZXN0aW5nTW9kZSA9IGlzVGVzdGluZ01vZGU7
Ci0gIGludGVybmFsLmNsZWFyVGVzdGluZ01vZGUgPSBjbGVhclRlc3RpbmdNb2RlOwotfSkoKTsK
LS8vIENvcHlyaWdodCAyMDE0IFRoZSBDaHJvbWl1bSBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgotLy8gVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5
bGUgbGljZW5zZSB0aGF0IGNhbiBiZQotLy8gZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KLQot
Ci0ndXNlIHN0cmljdCc7Ci0KLShmdW5jdGlvbigpIHsKLSAgdmFyIG1vam9tSWQgPSAnbW9qby9w
dWJsaWMvaW50ZXJmYWNlcy9iaW5kaW5ncy9uZXdfYmluZGluZ3MvaW50ZXJmYWNlX2NvbnRyb2xf
bWVzc2FnZXMubW9qb20nOwotICBpZiAobW9qby5pbnRlcm5hbC5pc01vam9tTG9hZGVkKG1vam9t
SWQpKSB7Ci0gICAgY29uc29sZS53YXJuKCdUaGUgZm9sbG93aW5nIG1vam9tIGlzIGxvYWRlZCBt
dWx0aXBsZSB0aW1lczogJyArIG1vam9tSWQpOwotICAgIHJldHVybjsKLSAgfQotICBtb2pvLmlu
dGVybmFsLm1hcmtNb2pvbUxvYWRlZChtb2pvbUlkKTsKLQotICAvLyBUT0RPKHl6c2hlbik6IERl
ZmluZSB0aGVzZSBhbGlhc2VzIHRvIG1pbmltaXplIHRoZSBkaWZmZXJlbmNlcyBiZXR3ZWVuIHRo
ZQotICAvLyBvbGQvbmV3IG1vZGVzLiBSZW1vdmUgdGhlbSB3aGVuIHRoZSBvbGQgbW9kZSBnb2Vz
IGF3YXkuCi0gIHZhciBiaW5kaW5ncyA9IG1vam87Ci0gIHZhciBhc3NvY2lhdGVkQmluZGluZ3Mg
PSBtb2pvOwotICB2YXIgY29kZWMgPSBtb2pvLmludGVybmFsOwotICB2YXIgdmFsaWRhdG9yID0g
bW9qby5pbnRlcm5hbDsKLQotICB2YXIgZXhwb3J0cyA9IG1vam8uaW50ZXJuYWwuZXhwb3NlTmFt
ZXNwYWNlKCdtb2pvLmludGVyZmFjZUNvbnRyb2wyJyk7Ci0KLQotICB2YXIga1J1bk1lc3NhZ2VJ
ZCA9IDB4RkZGRkZGRkY7Ci0gIHZhciBrUnVuT3JDbG9zZVBpcGVNZXNzYWdlSWQgPSAweEZGRkZG
RkZFOwotCi0gIGZ1bmN0aW9uIFJ1bk1lc3NhZ2VQYXJhbXModmFsdWVzKSB7Ci0gICAgdGhpcy5p
bml0RGVmYXVsdHNfKCk7Ci0gICAgdGhpcy5pbml0RmllbGRzXyh2YWx1ZXMpOwotICB9Ci0KLQot
ICBSdW5NZXNzYWdlUGFyYW1zLnByb3RvdHlwZS5pbml0RGVmYXVsdHNfID0gZnVuY3Rpb24oKSB7
Ci0gICAgdGhpcy5pbnB1dCA9IG51bGw7Ci0gIH07Ci0gIFJ1bk1lc3NhZ2VQYXJhbXMucHJvdG90
eXBlLmluaXRGaWVsZHNfID0gZnVuY3Rpb24oZmllbGRzKSB7Ci0gICAgZm9yKHZhciBmaWVsZCBp
biBmaWVsZHMpIHsKLSAgICAgICAgaWYgKHRoaXMuaGFzT3duUHJvcGVydHkoZmllbGQpKQotICAg
ICAgICAgIHRoaXNbZmllbGRdID0gZmllbGRzW2ZpZWxkXTsKLSAgICB9Ci0gIH07Ci0KLSAgUnVu
TWVzc2FnZVBhcmFtcy52YWxpZGF0ZSA9IGZ1bmN0aW9uKG1lc3NhZ2VWYWxpZGF0b3IsIG9mZnNl
dCkgewotICAgIHZhciBlcnI7Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0
cnVjdEhlYWRlcihvZmZzZXQsIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplKTsKLSAgICBpZiAoZXJy
ICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7
Ci0KLSAgICB2YXIga1ZlcnNpb25TaXplcyA9IFsKLSAgICAgIHt2ZXJzaW9uOiAwLCBudW1CeXRl
czogMjR9Ci0gICAgXTsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0
VmVyc2lvbihvZmZzZXQsIGtWZXJzaW9uU2l6ZXMpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRv
ci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0gICAgLy8g
dmFsaWRhdGUgUnVuTWVzc2FnZVBhcmFtcy5pbnB1dAotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0
b3IudmFsaWRhdGVVbmlvbihvZmZzZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDAsIFJ1
bklucHV0LCBmYWxzZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJv
ci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgcmV0dXJuIHZhbGlkYXRvci52YWxp
ZGF0aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQotICBSdW5NZXNzYWdlUGFyYW1zLmVuY29kZWRTaXpl
ID0gY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyAxNjsKLQotICBSdW5NZXNzYWdlUGFyYW1zLmRl
Y29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIHZhciB2YWwg
PSBuZXcgUnVuTWVzc2FnZVBhcmFtcygpOwotICAgIHZhciBudW1iZXJPZkJ5dGVzID0gZGVjb2Rl
ci5yZWFkVWludDMyKCk7Ci0gICAgdmFyIHZlcnNpb24gPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsK
LSAgICB2YWwuaW5wdXQgPSBkZWNvZGVyLmRlY29kZVN0cnVjdChSdW5JbnB1dCk7Ci0gICAgcmV0
dXJuIHZhbDsKLSAgfTsKLQotICBSdW5NZXNzYWdlUGFyYW1zLmVuY29kZSA9IGZ1bmN0aW9uKGVu
Y29kZXIsIHZhbCkgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMihS
dW5NZXNzYWdlUGFyYW1zLmVuY29kZWRTaXplKTsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKDAp
OwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KFJ1bklucHV0LCB2YWwuaW5wdXQpOwotICB9Owot
ICBmdW5jdGlvbiBSdW5SZXNwb25zZU1lc3NhZ2VQYXJhbXModmFsdWVzKSB7Ci0gICAgdGhpcy5p
bml0RGVmYXVsdHNfKCk7Ci0gICAgdGhpcy5pbml0RmllbGRzXyh2YWx1ZXMpOwotICB9Ci0KLQot
ICBSdW5SZXNwb25zZU1lc3NhZ2VQYXJhbXMucHJvdG90eXBlLmluaXREZWZhdWx0c18gPSBmdW5j
dGlvbigpIHsKLSAgICB0aGlzLm91dHB1dCA9IG51bGw7Ci0gIH07Ci0gIFJ1blJlc3BvbnNlTWVz
c2FnZVBhcmFtcy5wcm90b3R5cGUuaW5pdEZpZWxkc18gPSBmdW5jdGlvbihmaWVsZHMpIHsKLSAg
ICBmb3IodmFyIGZpZWxkIGluIGZpZWxkcykgewotICAgICAgICBpZiAodGhpcy5oYXNPd25Qcm9w
ZXJ0eShmaWVsZCkpCi0gICAgICAgICAgdGhpc1tmaWVsZF0gPSBmaWVsZHNbZmllbGRdOwotICAg
IH0KLSAgfTsKLQotICBSdW5SZXNwb25zZU1lc3NhZ2VQYXJhbXMudmFsaWRhdGUgPSBmdW5jdGlv
bihtZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsKLSAgICB2YXIgZXJyOwotICAgIGVyciA9IG1l
c3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RIZWFkZXIob2Zmc2V0LCBjb2RlYy5rU3RydWN0
SGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5O
T05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgdmFyIGtWZXJzaW9uU2l6ZXMgPSBbCi0g
ICAgICB7dmVyc2lvbjogMCwgbnVtQnl0ZXM6IDI0fQotICAgIF07Ci0gICAgZXJyID0gbWVzc2Fn
ZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFZlcnNpb24ob2Zmc2V0LCBrVmVyc2lvblNpemVzKTsK
LSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAg
IHJldHVybiBlcnI7Ci0KLQotICAgIC8vIHZhbGlkYXRlIFJ1blJlc3BvbnNlTWVzc2FnZVBhcmFt
cy5vdXRwdXQKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlVW5pb24ob2Zmc2V0
ICsgY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyAwLCBSdW5PdXRwdXQsIHRydWUpOwotICAgIGlm
IChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJu
IGVycjsKLQotICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gIH07
Ci0KLSAgUnVuUmVzcG9uc2VNZXNzYWdlUGFyYW1zLmVuY29kZWRTaXplID0gY29kZWMua1N0cnVj
dEhlYWRlclNpemUgKyAxNjsKLQotICBSdW5SZXNwb25zZU1lc3NhZ2VQYXJhbXMuZGVjb2RlID0g
ZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgdmFyIHZhbCA9IG5ldyBS
dW5SZXNwb25zZU1lc3NhZ2VQYXJhbXMoKTsKLSAgICB2YXIgbnVtYmVyT2ZCeXRlcyA9IGRlY29k
ZXIucmVhZFVpbnQzMigpOwotICAgIHZhciB2ZXJzaW9uID0gZGVjb2Rlci5yZWFkVWludDMyKCk7
Ci0gICAgdmFsLm91dHB1dCA9IGRlY29kZXIuZGVjb2RlU3RydWN0KFJ1bk91dHB1dCk7Ci0gICAg
cmV0dXJuIHZhbDsKLSAgfTsKLQotICBSdW5SZXNwb25zZU1lc3NhZ2VQYXJhbXMuZW5jb2RlID0g
ZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICBlbmNvZGVyLndy
aXRlVWludDMyKFJ1blJlc3BvbnNlTWVzc2FnZVBhcmFtcy5lbmNvZGVkU2l6ZSk7Ci0gICAgZW5j
b2Rlci53cml0ZVVpbnQzMigwKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdChSdW5PdXRwdXQs
IHZhbC5vdXRwdXQpOwotICB9OwotICBmdW5jdGlvbiBRdWVyeVZlcnNpb24odmFsdWVzKSB7Ci0g
ICAgdGhpcy5pbml0RGVmYXVsdHNfKCk7Ci0gICAgdGhpcy5pbml0RmllbGRzXyh2YWx1ZXMpOwot
ICB9Ci0KLQotICBRdWVyeVZlcnNpb24ucHJvdG90eXBlLmluaXREZWZhdWx0c18gPSBmdW5jdGlv
bigpIHsKLSAgfTsKLSAgUXVlcnlWZXJzaW9uLnByb3RvdHlwZS5pbml0RmllbGRzXyA9IGZ1bmN0
aW9uKGZpZWxkcykgewotICAgIGZvcih2YXIgZmllbGQgaW4gZmllbGRzKSB7Ci0gICAgICAgIGlm
ICh0aGlzLmhhc093blByb3BlcnR5KGZpZWxkKSkKLSAgICAgICAgICB0aGlzW2ZpZWxkXSA9IGZp
ZWxkc1tmaWVsZF07Ci0gICAgfQotICB9OwotCi0gIFF1ZXJ5VmVyc2lvbi52YWxpZGF0ZSA9IGZ1
bmN0aW9uKG1lc3NhZ2VWYWxpZGF0b3IsIG9mZnNldCkgewotICAgIHZhciBlcnI7Ci0gICAgZXJy
ID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdEhlYWRlcihvZmZzZXQsIGNvZGVjLmtT
dHJ1Y3RIZWFkZXJTaXplKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVy
cm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICB2YXIga1ZlcnNpb25TaXplcyA9
IFsKLSAgICAgIHt2ZXJzaW9uOiAwLCBudW1CeXRlczogOH0KLSAgICBdOwotICAgIGVyciA9IG1l
c3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RWZXJzaW9uKG9mZnNldCwga1ZlcnNpb25TaXpl
cyk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAg
ICAgICByZXR1cm4gZXJyOwotCi0gICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3Iu
Tk9ORTsKLSAgfTsKLQotICBRdWVyeVZlcnNpb24uZW5jb2RlZFNpemUgPSBjb2RlYy5rU3RydWN0
SGVhZGVyU2l6ZSArIDA7Ci0KLSAgUXVlcnlWZXJzaW9uLmRlY29kZSA9IGZ1bmN0aW9uKGRlY29k
ZXIpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIHZhciB2YWwgPSBuZXcgUXVlcnlWZXJzaW9uKCk7
Ci0gICAgdmFyIG51bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YXIg
dmVyc2lvbiA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHJldHVybiB2YWw7Ci0gIH07Ci0K
LSAgUXVlcnlWZXJzaW9uLmVuY29kZSA9IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgIHZh
ciBwYWNrZWQ7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMihRdWVyeVZlcnNpb24uZW5jb2RlZFNp
emUpOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoMCk7Ci0gIH07Ci0gIGZ1bmN0aW9uIFF1ZXJ5
VmVyc2lvblJlc3VsdCh2YWx1ZXMpIHsKLSAgICB0aGlzLmluaXREZWZhdWx0c18oKTsKLSAgICB0
aGlzLmluaXRGaWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0gIFF1ZXJ5VmVyc2lvblJlc3VsdC5w
cm90b3R5cGUuaW5pdERlZmF1bHRzXyA9IGZ1bmN0aW9uKCkgewotICAgIHRoaXMudmVyc2lvbiA9
IDA7Ci0gIH07Ci0gIFF1ZXJ5VmVyc2lvblJlc3VsdC5wcm90b3R5cGUuaW5pdEZpZWxkc18gPSBm
dW5jdGlvbihmaWVsZHMpIHsKLSAgICBmb3IodmFyIGZpZWxkIGluIGZpZWxkcykgewotICAgICAg
ICBpZiAodGhpcy5oYXNPd25Qcm9wZXJ0eShmaWVsZCkpCi0gICAgICAgICAgdGhpc1tmaWVsZF0g
PSBmaWVsZHNbZmllbGRdOwotICAgIH0KLSAgfTsKLQotICBRdWVyeVZlcnNpb25SZXN1bHQudmFs
aWRhdGUgPSBmdW5jdGlvbihtZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsKLSAgICB2YXIgZXJy
OwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RIZWFkZXIob2Zmc2V0
LCBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZh
bGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgdmFyIGtWZXJz
aW9uU2l6ZXMgPSBbCi0gICAgICB7dmVyc2lvbjogMCwgbnVtQnl0ZXM6IDE2fQotICAgIF07Ci0g
ICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFZlcnNpb24ob2Zmc2V0LCBr
VmVyc2lvblNpemVzKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9y
Lk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotICAgIHJldHVybiB2YWxpZGF0b3IudmFs
aWRhdGlvbkVycm9yLk5PTkU7Ci0gIH07Ci0KLSAgUXVlcnlWZXJzaW9uUmVzdWx0LmVuY29kZWRT
aXplID0gY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyA4OwotCi0gIFF1ZXJ5VmVyc2lvblJlc3Vs
dC5kZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICB2YXIg
dmFsID0gbmV3IFF1ZXJ5VmVyc2lvblJlc3VsdCgpOwotICAgIHZhciBudW1iZXJPZkJ5dGVzID0g
ZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFyIHZlcnNpb24gPSBkZWNvZGVyLnJlYWRVaW50
MzIoKTsKLSAgICB2YWwudmVyc2lvbiA9IGRlY29kZXIuZGVjb2RlU3RydWN0KGNvZGVjLlVpbnQz
Mik7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNv
ZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIHJldHVybiB2YWw7Ci0gIH07
Ci0KLSAgUXVlcnlWZXJzaW9uUmVzdWx0LmVuY29kZSA9IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkg
ewotICAgIHZhciBwYWNrZWQ7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMihRdWVyeVZlcnNpb25S
ZXN1bHQuZW5jb2RlZFNpemUpOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoMCk7Ci0gICAgZW5j
b2Rlci5lbmNvZGVTdHJ1Y3QoY29kZWMuVWludDMyLCB2YWwudmVyc2lvbik7Ci0gICAgZW5jb2Rl
ci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0g
ICAgZW5jb2Rlci5za2lwKDEpOwotICB9OwotICBmdW5jdGlvbiBGbHVzaEZvclRlc3RpbmcodmFs
dWVzKSB7Ci0gICAgdGhpcy5pbml0RGVmYXVsdHNfKCk7Ci0gICAgdGhpcy5pbml0RmllbGRzXyh2
YWx1ZXMpOwotICB9Ci0KLQotICBGbHVzaEZvclRlc3RpbmcucHJvdG90eXBlLmluaXREZWZhdWx0
c18gPSBmdW5jdGlvbigpIHsKLSAgfTsKLSAgRmx1c2hGb3JUZXN0aW5nLnByb3RvdHlwZS5pbml0
RmllbGRzXyA9IGZ1bmN0aW9uKGZpZWxkcykgewotICAgIGZvcih2YXIgZmllbGQgaW4gZmllbGRz
KSB7Ci0gICAgICAgIGlmICh0aGlzLmhhc093blByb3BlcnR5KGZpZWxkKSkKLSAgICAgICAgICB0
aGlzW2ZpZWxkXSA9IGZpZWxkc1tmaWVsZF07Ci0gICAgfQotICB9OwotCi0gIEZsdXNoRm9yVGVz
dGluZy52YWxpZGF0ZSA9IGZ1bmN0aW9uKG1lc3NhZ2VWYWxpZGF0b3IsIG9mZnNldCkgewotICAg
IHZhciBlcnI7Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdEhlYWRl
cihvZmZzZXQsIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplKTsKLSAgICBpZiAoZXJyICE9PSB2YWxp
ZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICB2
YXIga1ZlcnNpb25TaXplcyA9IFsKLSAgICAgIHt2ZXJzaW9uOiAwLCBudW1CeXRlczogOH0KLSAg
ICBdOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RWZXJzaW9uKG9m
ZnNldCwga1ZlcnNpb25TaXplcyk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRp
b25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgcmV0dXJuIHZhbGlkYXRv
ci52YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQotICBGbHVzaEZvclRlc3RpbmcuZW5jb2Rl
ZFNpemUgPSBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDA7Ci0KLSAgRmx1c2hGb3JUZXN0aW5n
LmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIHZhciB2
YWwgPSBuZXcgRmx1c2hGb3JUZXN0aW5nKCk7Ci0gICAgdmFyIG51bWJlck9mQnl0ZXMgPSBkZWNv
ZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YXIgdmVyc2lvbiA9IGRlY29kZXIucmVhZFVpbnQzMigp
OwotICAgIHJldHVybiB2YWw7Ci0gIH07Ci0KLSAgRmx1c2hGb3JUZXN0aW5nLmVuY29kZSA9IGZ1
bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgZW5jb2Rlci53cml0
ZVVpbnQzMihGbHVzaEZvclRlc3RpbmcuZW5jb2RlZFNpemUpOwotICAgIGVuY29kZXIud3JpdGVV
aW50MzIoMCk7Ci0gIH07Ci0gIGZ1bmN0aW9uIFJ1bk9yQ2xvc2VQaXBlTWVzc2FnZVBhcmFtcyh2
YWx1ZXMpIHsKLSAgICB0aGlzLmluaXREZWZhdWx0c18oKTsKLSAgICB0aGlzLmluaXRGaWVsZHNf
KHZhbHVlcyk7Ci0gIH0KLQotCi0gIFJ1bk9yQ2xvc2VQaXBlTWVzc2FnZVBhcmFtcy5wcm90b3R5
cGUuaW5pdERlZmF1bHRzXyA9IGZ1bmN0aW9uKCkgewotICAgIHRoaXMuaW5wdXQgPSBudWxsOwot
ICB9OwotICBSdW5PckNsb3NlUGlwZU1lc3NhZ2VQYXJhbXMucHJvdG90eXBlLmluaXRGaWVsZHNf
ID0gZnVuY3Rpb24oZmllbGRzKSB7Ci0gICAgZm9yKHZhciBmaWVsZCBpbiBmaWVsZHMpIHsKLSAg
ICAgICAgaWYgKHRoaXMuaGFzT3duUHJvcGVydHkoZmllbGQpKQotICAgICAgICAgIHRoaXNbZmll
bGRdID0gZmllbGRzW2ZpZWxkXTsKLSAgICB9Ci0gIH07Ci0KLSAgUnVuT3JDbG9zZVBpcGVNZXNz
YWdlUGFyYW1zLnZhbGlkYXRlID0gZnVuY3Rpb24obWVzc2FnZVZhbGlkYXRvciwgb2Zmc2V0KSB7
Ci0gICAgdmFyIGVycjsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0
SGVhZGVyKG9mZnNldCwgY29kZWMua1N0cnVjdEhlYWRlclNpemUpOwotICAgIGlmIChlcnIgIT09
IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQot
ICAgIHZhciBrVmVyc2lvblNpemVzID0gWwotICAgICAge3ZlcnNpb246IDAsIG51bUJ5dGVzOiAy
NH0KLSAgICBdOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RWZXJz
aW9uKG9mZnNldCwga1ZlcnNpb25TaXplcyk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZh
bGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0KLSAgICAvLyB2YWxp
ZGF0ZSBSdW5PckNsb3NlUGlwZU1lc3NhZ2VQYXJhbXMuaW5wdXQKLSAgICBlcnIgPSBtZXNzYWdl
VmFsaWRhdG9yLnZhbGlkYXRlVW5pb24ob2Zmc2V0ICsgY29kZWMua1N0cnVjdEhlYWRlclNpemUg
KyAwLCBSdW5PckNsb3NlUGlwZUlucHV0LCBmYWxzZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRh
dG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgcmV0
dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQotICBSdW5PckNsb3Nl
UGlwZU1lc3NhZ2VQYXJhbXMuZW5jb2RlZFNpemUgPSBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSAr
IDE2OwotCi0gIFJ1bk9yQ2xvc2VQaXBlTWVzc2FnZVBhcmFtcy5kZWNvZGUgPSBmdW5jdGlvbihk
ZWNvZGVyKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICB2YXIgdmFsID0gbmV3IFJ1bk9yQ2xvc2VQ
aXBlTWVzc2FnZVBhcmFtcygpOwotICAgIHZhciBudW1iZXJPZkJ5dGVzID0gZGVjb2Rlci5yZWFk
VWludDMyKCk7Ci0gICAgdmFyIHZlcnNpb24gPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2
YWwuaW5wdXQgPSBkZWNvZGVyLmRlY29kZVN0cnVjdChSdW5PckNsb3NlUGlwZUlucHV0KTsKLSAg
ICByZXR1cm4gdmFsOwotICB9OwotCi0gIFJ1bk9yQ2xvc2VQaXBlTWVzc2FnZVBhcmFtcy5lbmNv
ZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2YWwpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIGVuY29k
ZXIud3JpdGVVaW50MzIoUnVuT3JDbG9zZVBpcGVNZXNzYWdlUGFyYW1zLmVuY29kZWRTaXplKTsK
LSAgICBlbmNvZGVyLndyaXRlVWludDMyKDApOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KFJ1
bk9yQ2xvc2VQaXBlSW5wdXQsIHZhbC5pbnB1dCk7Ci0gIH07Ci0gIGZ1bmN0aW9uIFJlcXVpcmVW
ZXJzaW9uKHZhbHVlcykgewotICAgIHRoaXMuaW5pdERlZmF1bHRzXygpOwotICAgIHRoaXMuaW5p
dEZpZWxkc18odmFsdWVzKTsKLSAgfQotCi0KLSAgUmVxdWlyZVZlcnNpb24ucHJvdG90eXBlLmlu
aXREZWZhdWx0c18gPSBmdW5jdGlvbigpIHsKLSAgICB0aGlzLnZlcnNpb24gPSAwOwotICB9Owot
ICBSZXF1aXJlVmVyc2lvbi5wcm90b3R5cGUuaW5pdEZpZWxkc18gPSBmdW5jdGlvbihmaWVsZHMp
IHsKLSAgICBmb3IodmFyIGZpZWxkIGluIGZpZWxkcykgewotICAgICAgICBpZiAodGhpcy5oYXNP
d25Qcm9wZXJ0eShmaWVsZCkpCi0gICAgICAgICAgdGhpc1tmaWVsZF0gPSBmaWVsZHNbZmllbGRd
OwotICAgIH0KLSAgfTsKLQotICBSZXF1aXJlVmVyc2lvbi52YWxpZGF0ZSA9IGZ1bmN0aW9uKG1l
c3NhZ2VWYWxpZGF0b3IsIG9mZnNldCkgewotICAgIHZhciBlcnI7Ci0gICAgZXJyID0gbWVzc2Fn
ZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdEhlYWRlcihvZmZzZXQsIGNvZGVjLmtTdHJ1Y3RIZWFk
ZXJTaXplKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUp
Ci0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICB2YXIga1ZlcnNpb25TaXplcyA9IFsKLSAgICAg
IHt2ZXJzaW9uOiAwLCBudW1CeXRlczogMTZ9Ci0gICAgXTsKLSAgICBlcnIgPSBtZXNzYWdlVmFs
aWRhdG9yLnZhbGlkYXRlU3RydWN0VmVyc2lvbihvZmZzZXQsIGtWZXJzaW9uU2l6ZXMpOwotICAg
IGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0
dXJuIGVycjsKLQotCi0gICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORTsK
LSAgfTsKLQotICBSZXF1aXJlVmVyc2lvbi5lbmNvZGVkU2l6ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFk
ZXJTaXplICsgODsKLQotICBSZXF1aXJlVmVyc2lvbi5kZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVy
KSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICB2YXIgdmFsID0gbmV3IFJlcXVpcmVWZXJzaW9uKCk7
Ci0gICAgdmFyIG51bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YXIg
dmVyc2lvbiA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhbC52ZXJzaW9uID0gZGVjb2Rl
ci5kZWNvZGVTdHJ1Y3QoY29kZWMuVWludDMyKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAg
ZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAo
MSk7Ci0gICAgcmV0dXJuIHZhbDsKLSAgfTsKLQotICBSZXF1aXJlVmVyc2lvbi5lbmNvZGUgPSBm
dW5jdGlvbihlbmNvZGVyLCB2YWwpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIGVuY29kZXIud3Jp
dGVVaW50MzIoUmVxdWlyZVZlcnNpb24uZW5jb2RlZFNpemUpOwotICAgIGVuY29kZXIud3JpdGVV
aW50MzIoMCk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3QoY29kZWMuVWludDMyLCB2YWwudmVy
c2lvbik7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBl
bmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICB9OwotCi0gIGZ1bmN0aW9u
IFJ1bklucHV0KHZhbHVlKSB7Ci0gICAgdGhpcy5pbml0RGVmYXVsdF8oKTsKLSAgICB0aGlzLmlu
aXRWYWx1ZV8odmFsdWUpOwotICB9Ci0gIAotICAKLSAgUnVuSW5wdXQuVGFncyA9IHsKLSAgICBx
dWVyeVZlcnNpb246IDAsCi0gICAgZmx1c2hGb3JUZXN0aW5nOiAxLAotICB9OwotICAKLSAgUnVu
SW5wdXQucHJvdG90eXBlLmluaXREZWZhdWx0XyA9IGZ1bmN0aW9uKCkgewotICAgIHRoaXMuJGRh
dGEgPSBudWxsOwotICAgIHRoaXMuJHRhZyA9IHVuZGVmaW5lZDsKLSAgfQotICAKLSAgUnVuSW5w
dXQucHJvdG90eXBlLmluaXRWYWx1ZV8gPSBmdW5jdGlvbih2YWx1ZSkgewotICAgIGlmICh2YWx1
ZSA9PSB1bmRlZmluZWQpIHsKLSAgICAgIHJldHVybjsKLSAgICB9Ci0gIAotICAgIHZhciBrZXlz
ID0gT2JqZWN0LmtleXModmFsdWUpOwotICAgIGlmIChrZXlzLmxlbmd0aCA9PSAwKSB7Ci0gICAg
ICByZXR1cm47Ci0gICAgfQotICAKLSAgICBpZiAoa2V5cy5sZW5ndGggPiAxKSB7Ci0gICAgICB0
aHJvdyBuZXcgVHlwZUVycm9yKCJZb3UgbWF5IHNldCBvbmx5IG9uZSBtZW1iZXIgb24gYSB1bmlv
bi4iKTsKLSAgICB9Ci0gIAotICAgIHZhciBmaWVsZHMgPSBbCi0gICAgICAgICJxdWVyeVZlcnNp
b24iLAotICAgICAgICAiZmx1c2hGb3JUZXN0aW5nIiwKLSAgICBdOwotICAKLSAgICBpZiAoZmll
bGRzLmluZGV4T2Yoa2V5c1swXSkgPCAwKSB7Ci0gICAgICB0aHJvdyBuZXcgUmVmZXJlbmNlRXJy
b3Ioa2V5c1swXSArICIgaXMgbm90IGEgUnVuSW5wdXQgbWVtYmVyLiIpOwotICAKLSAgICB9Ci0g
IAotICAgIHRoaXNba2V5c1swXV0gPSB2YWx1ZVtrZXlzWzBdXTsKLSAgfQotICBPYmplY3QuZGVm
aW5lUHJvcGVydHkoUnVuSW5wdXQucHJvdG90eXBlLCAicXVlcnlWZXJzaW9uIiwgewotICAgIGdl
dDogZnVuY3Rpb24oKSB7Ci0gICAgICBpZiAodGhpcy4kdGFnICE9IFJ1bklucHV0LlRhZ3MucXVl
cnlWZXJzaW9uKSB7Ci0gICAgICAgIHRocm93IG5ldyBSZWZlcmVuY2VFcnJvcigKLSAgICAgICAg
ICAgICJSdW5JbnB1dC5xdWVyeVZlcnNpb24gaXMgbm90IGN1cnJlbnRseSBzZXQuIik7Ci0gICAg
ICB9Ci0gICAgICByZXR1cm4gdGhpcy4kZGF0YTsKLSAgICB9LAotICAKLSAgICBzZXQ6IGZ1bmN0
aW9uKHZhbHVlKSB7Ci0gICAgICB0aGlzLiR0YWcgPSBSdW5JbnB1dC5UYWdzLnF1ZXJ5VmVyc2lv
bjsKLSAgICAgIHRoaXMuJGRhdGEgPSB2YWx1ZTsKLSAgICB9Ci0gIH0pOwotICBPYmplY3QuZGVm
aW5lUHJvcGVydHkoUnVuSW5wdXQucHJvdG90eXBlLCAiZmx1c2hGb3JUZXN0aW5nIiwgewotICAg
IGdldDogZnVuY3Rpb24oKSB7Ci0gICAgICBpZiAodGhpcy4kdGFnICE9IFJ1bklucHV0LlRhZ3Mu
Zmx1c2hGb3JUZXN0aW5nKSB7Ci0gICAgICAgIHRocm93IG5ldyBSZWZlcmVuY2VFcnJvcigKLSAg
ICAgICAgICAgICJSdW5JbnB1dC5mbHVzaEZvclRlc3RpbmcgaXMgbm90IGN1cnJlbnRseSBzZXQu
Iik7Ci0gICAgICB9Ci0gICAgICByZXR1cm4gdGhpcy4kZGF0YTsKLSAgICB9LAotICAKLSAgICBz
ZXQ6IGZ1bmN0aW9uKHZhbHVlKSB7Ci0gICAgICB0aGlzLiR0YWcgPSBSdW5JbnB1dC5UYWdzLmZs
dXNoRm9yVGVzdGluZzsKLSAgICAgIHRoaXMuJGRhdGEgPSB2YWx1ZTsKLSAgICB9Ci0gIH0pOwot
ICAKLSAgCi0gICAgUnVuSW5wdXQuZW5jb2RlID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0g
ICAgICBpZiAodmFsID09IG51bGwpIHsKLSAgICAgICAgZW5jb2Rlci53cml0ZVVpbnQ2NCgwKTsK
LSAgICAgICAgZW5jb2Rlci53cml0ZVVpbnQ2NCgwKTsKLSAgICAgICAgcmV0dXJuOwotICAgICAg
fQotICAgICAgaWYgKHZhbC4kdGFnID09IHVuZGVmaW5lZCkgewotICAgICAgICB0aHJvdyBuZXcg
VHlwZUVycm9yKCJDYW5ub3QgZW5jb2RlIHVuaW9ucyB3aXRoIGFuIHVua25vd24gbWVtYmVyIHNl
dC4iKTsKLSAgICAgIH0KLSAgICAKLSAgICAgIGVuY29kZXIud3JpdGVVaW50MzIoMTYpOwotICAg
ICAgZW5jb2Rlci53cml0ZVVpbnQzMih2YWwuJHRhZyk7Ci0gICAgICBzd2l0Y2ggKHZhbC4kdGFn
KSB7Ci0gICAgICAgIGNhc2UgUnVuSW5wdXQuVGFncy5xdWVyeVZlcnNpb246Ci0gICAgICAgICAg
ZW5jb2Rlci5lbmNvZGVTdHJ1Y3RQb2ludGVyKFF1ZXJ5VmVyc2lvbiwgdmFsLnF1ZXJ5VmVyc2lv
bik7Ci0gICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgUnVuSW5wdXQuVGFncy5mbHVzaEZv
clRlc3Rpbmc6Ci0gICAgICAgICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3RQb2ludGVyKEZsdXNoRm9y
VGVzdGluZywgdmFsLmZsdXNoRm9yVGVzdGluZyk7Ci0gICAgICAgICAgYnJlYWs7Ci0gICAgICB9
Ci0gICAgICBlbmNvZGVyLmFsaWduKCk7Ci0gICAgfTsKLSAgCi0gIAotICAgIFJ1bklucHV0LmRl
Y29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICAgIHZhciBzaXplID0gZGVjb2Rlci5yZWFk
VWludDMyKCk7Ci0gICAgICBpZiAoc2l6ZSA9PSAwKSB7Ci0gICAgICAgIGRlY29kZXIucmVhZFVp
bnQzMigpOwotICAgICAgICBkZWNvZGVyLnJlYWRVaW50NjQoKTsKLSAgICAgICAgcmV0dXJuIG51
bGw7Ci0gICAgICB9Ci0gICAgCi0gICAgICB2YXIgcmVzdWx0ID0gbmV3IFJ1bklucHV0KCk7Ci0g
ICAgICB2YXIgdGFnID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgICBzd2l0Y2ggKHRhZykg
ewotICAgICAgICBjYXNlIFJ1bklucHV0LlRhZ3MucXVlcnlWZXJzaW9uOgotICAgICAgICAgIHJl
c3VsdC5xdWVyeVZlcnNpb24gPSBkZWNvZGVyLmRlY29kZVN0cnVjdFBvaW50ZXIoUXVlcnlWZXJz
aW9uKTsKLSAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSBSdW5JbnB1dC5UYWdzLmZsdXNo
Rm9yVGVzdGluZzoKLSAgICAgICAgICByZXN1bHQuZmx1c2hGb3JUZXN0aW5nID0gZGVjb2Rlci5k
ZWNvZGVTdHJ1Y3RQb2ludGVyKEZsdXNoRm9yVGVzdGluZyk7Ci0gICAgICAgICAgYnJlYWs7Ci0g
ICAgICB9Ci0gICAgICBkZWNvZGVyLmFsaWduKCk7Ci0gICAgCi0gICAgICByZXR1cm4gcmVzdWx0
OwotICAgIH07Ci0gIAotICAKLSAgICBSdW5JbnB1dC52YWxpZGF0ZSA9IGZ1bmN0aW9uKG1lc3Nh
Z2VWYWxpZGF0b3IsIG9mZnNldCkgewotICAgICAgdmFyIHNpemUgPSBtZXNzYWdlVmFsaWRhdG9y
LmRlY29kZVVuaW9uU2l6ZShvZmZzZXQpOwotICAgICAgaWYgKHNpemUgIT0gMTYpIHsKLSAgICAg
ICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuSU5WQUxJRF9VTklPTl9TSVpFOwot
ICAgICAgfQotICAgIAotICAgICAgdmFyIHRhZyA9IG1lc3NhZ2VWYWxpZGF0b3IuZGVjb2RlVW5p
b25UYWcob2Zmc2V0KTsKLSAgICAgIHZhciBkYXRhX29mZnNldCA9IG9mZnNldCArIDg7Ci0gICAg
ICB2YXIgZXJyOwotICAgICAgc3dpdGNoICh0YWcpIHsKLSAgICAgICAgY2FzZSBSdW5JbnB1dC5U
YWdzLnF1ZXJ5VmVyc2lvbjoKLSAgICAgICAgICAKLSAgICAKLSAgICAvLyB2YWxpZGF0ZSBSdW5J
bnB1dC5xdWVyeVZlcnNpb24KLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3Ry
dWN0UG9pbnRlcihkYXRhX29mZnNldCwgUXVlcnlWZXJzaW9uLCBmYWxzZSk7Ci0gICAgaWYgKGVy
ciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJy
OwotICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlIFJ1bklucHV0LlRhZ3MuZmx1c2hGb3JU
ZXN0aW5nOgotICAgICAgICAgIAotICAgIAotICAgIC8vIHZhbGlkYXRlIFJ1bklucHV0LmZsdXNo
Rm9yVGVzdGluZwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RQb2lu
dGVyKGRhdGFfb2Zmc2V0LCBGbHVzaEZvclRlc3RpbmcsIGZhbHNlKTsKLSAgICBpZiAoZXJyICE9
PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0g
ICAgICAgICAgYnJlYWs7Ci0gICAgICB9Ci0gICAgCi0gICAgICByZXR1cm4gdmFsaWRhdG9yLnZh
bGlkYXRpb25FcnJvci5OT05FOwotICAgIH07Ci0gIAotICBSdW5JbnB1dC5lbmNvZGVkU2l6ZSA9
IDE2OwotCi0gIGZ1bmN0aW9uIFJ1bk91dHB1dCh2YWx1ZSkgewotICAgIHRoaXMuaW5pdERlZmF1
bHRfKCk7Ci0gICAgdGhpcy5pbml0VmFsdWVfKHZhbHVlKTsKLSAgfQotICAKLSAgCi0gIFJ1bk91
dHB1dC5UYWdzID0gewotICAgIHF1ZXJ5VmVyc2lvblJlc3VsdDogMCwKLSAgfTsKLSAgCi0gIFJ1
bk91dHB1dC5wcm90b3R5cGUuaW5pdERlZmF1bHRfID0gZnVuY3Rpb24oKSB7Ci0gICAgdGhpcy4k
ZGF0YSA9IG51bGw7Ci0gICAgdGhpcy4kdGFnID0gdW5kZWZpbmVkOwotICB9Ci0gIAotICBSdW5P
dXRwdXQucHJvdG90eXBlLmluaXRWYWx1ZV8gPSBmdW5jdGlvbih2YWx1ZSkgewotICAgIGlmICh2
YWx1ZSA9PSB1bmRlZmluZWQpIHsKLSAgICAgIHJldHVybjsKLSAgICB9Ci0gIAotICAgIHZhciBr
ZXlzID0gT2JqZWN0LmtleXModmFsdWUpOwotICAgIGlmIChrZXlzLmxlbmd0aCA9PSAwKSB7Ci0g
ICAgICByZXR1cm47Ci0gICAgfQotICAKLSAgICBpZiAoa2V5cy5sZW5ndGggPiAxKSB7Ci0gICAg
ICB0aHJvdyBuZXcgVHlwZUVycm9yKCJZb3UgbWF5IHNldCBvbmx5IG9uZSBtZW1iZXIgb24gYSB1
bmlvbi4iKTsKLSAgICB9Ci0gIAotICAgIHZhciBmaWVsZHMgPSBbCi0gICAgICAgICJxdWVyeVZl
cnNpb25SZXN1bHQiLAotICAgIF07Ci0gIAotICAgIGlmIChmaWVsZHMuaW5kZXhPZihrZXlzWzBd
KSA8IDApIHsKLSAgICAgIHRocm93IG5ldyBSZWZlcmVuY2VFcnJvcihrZXlzWzBdICsgIiBpcyBu
b3QgYSBSdW5PdXRwdXQgbWVtYmVyLiIpOwotICAKLSAgICB9Ci0gIAotICAgIHRoaXNba2V5c1sw
XV0gPSB2YWx1ZVtrZXlzWzBdXTsKLSAgfQotICBPYmplY3QuZGVmaW5lUHJvcGVydHkoUnVuT3V0
cHV0LnByb3RvdHlwZSwgInF1ZXJ5VmVyc2lvblJlc3VsdCIsIHsKLSAgICBnZXQ6IGZ1bmN0aW9u
KCkgewotICAgICAgaWYgKHRoaXMuJHRhZyAhPSBSdW5PdXRwdXQuVGFncy5xdWVyeVZlcnNpb25S
ZXN1bHQpIHsKLSAgICAgICAgdGhyb3cgbmV3IFJlZmVyZW5jZUVycm9yKAotICAgICAgICAgICAg
IlJ1bk91dHB1dC5xdWVyeVZlcnNpb25SZXN1bHQgaXMgbm90IGN1cnJlbnRseSBzZXQuIik7Ci0g
ICAgICB9Ci0gICAgICByZXR1cm4gdGhpcy4kZGF0YTsKLSAgICB9LAotICAKLSAgICBzZXQ6IGZ1
bmN0aW9uKHZhbHVlKSB7Ci0gICAgICB0aGlzLiR0YWcgPSBSdW5PdXRwdXQuVGFncy5xdWVyeVZl
cnNpb25SZXN1bHQ7Ci0gICAgICB0aGlzLiRkYXRhID0gdmFsdWU7Ci0gICAgfQotICB9KTsKLSAg
Ci0gIAotICAgIFJ1bk91dHB1dC5lbmNvZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2YWwpIHsKLSAg
ICAgIGlmICh2YWwgPT0gbnVsbCkgewotICAgICAgICBlbmNvZGVyLndyaXRlVWludDY0KDApOwot
ICAgICAgICBlbmNvZGVyLndyaXRlVWludDY0KDApOwotICAgICAgICByZXR1cm47Ci0gICAgICB9
Ci0gICAgICBpZiAodmFsLiR0YWcgPT0gdW5kZWZpbmVkKSB7Ci0gICAgICAgIHRocm93IG5ldyBU
eXBlRXJyb3IoIkNhbm5vdCBlbmNvZGUgdW5pb25zIHdpdGggYW4gdW5rbm93biBtZW1iZXIgc2V0
LiIpOwotICAgICAgfQotICAgIAotICAgICAgZW5jb2Rlci53cml0ZVVpbnQzMigxNik7Ci0gICAg
ICBlbmNvZGVyLndyaXRlVWludDMyKHZhbC4kdGFnKTsKLSAgICAgIHN3aXRjaCAodmFsLiR0YWcp
IHsKLSAgICAgICAgY2FzZSBSdW5PdXRwdXQuVGFncy5xdWVyeVZlcnNpb25SZXN1bHQ6Ci0gICAg
ICAgICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3RQb2ludGVyKFF1ZXJ5VmVyc2lvblJlc3VsdCwgdmFs
LnF1ZXJ5VmVyc2lvblJlc3VsdCk7Ci0gICAgICAgICAgYnJlYWs7Ci0gICAgICB9Ci0gICAgICBl
bmNvZGVyLmFsaWduKCk7Ci0gICAgfTsKLSAgCi0gIAotICAgIFJ1bk91dHB1dC5kZWNvZGUgPSBm
dW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgICB2YXIgc2l6ZSA9IGRlY29kZXIucmVhZFVpbnQzMigp
OwotICAgICAgaWYgKHNpemUgPT0gMCkgewotICAgICAgICBkZWNvZGVyLnJlYWRVaW50MzIoKTsK
LSAgICAgICAgZGVjb2Rlci5yZWFkVWludDY0KCk7Ci0gICAgICAgIHJldHVybiBudWxsOwotICAg
ICAgfQotICAgIAotICAgICAgdmFyIHJlc3VsdCA9IG5ldyBSdW5PdXRwdXQoKTsKLSAgICAgIHZh
ciB0YWcgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICAgIHN3aXRjaCAodGFnKSB7Ci0gICAg
ICAgIGNhc2UgUnVuT3V0cHV0LlRhZ3MucXVlcnlWZXJzaW9uUmVzdWx0OgotICAgICAgICAgIHJl
c3VsdC5xdWVyeVZlcnNpb25SZXN1bHQgPSBkZWNvZGVyLmRlY29kZVN0cnVjdFBvaW50ZXIoUXVl
cnlWZXJzaW9uUmVzdWx0KTsKLSAgICAgICAgICBicmVhazsKLSAgICAgIH0KLSAgICAgIGRlY29k
ZXIuYWxpZ24oKTsKLSAgICAKLSAgICAgIHJldHVybiByZXN1bHQ7Ci0gICAgfTsKLSAgCi0gIAot
ICAgIFJ1bk91dHB1dC52YWxpZGF0ZSA9IGZ1bmN0aW9uKG1lc3NhZ2VWYWxpZGF0b3IsIG9mZnNl
dCkgewotICAgICAgdmFyIHNpemUgPSBtZXNzYWdlVmFsaWRhdG9yLmRlY29kZVVuaW9uU2l6ZShv
ZmZzZXQpOwotICAgICAgaWYgKHNpemUgIT0gMTYpIHsKLSAgICAgICAgcmV0dXJuIHZhbGlkYXRv
ci52YWxpZGF0aW9uRXJyb3IuSU5WQUxJRF9VTklPTl9TSVpFOwotICAgICAgfQotICAgIAotICAg
ICAgdmFyIHRhZyA9IG1lc3NhZ2VWYWxpZGF0b3IuZGVjb2RlVW5pb25UYWcob2Zmc2V0KTsKLSAg
ICAgIHZhciBkYXRhX29mZnNldCA9IG9mZnNldCArIDg7Ci0gICAgICB2YXIgZXJyOwotICAgICAg
c3dpdGNoICh0YWcpIHsKLSAgICAgICAgY2FzZSBSdW5PdXRwdXQuVGFncy5xdWVyeVZlcnNpb25S
ZXN1bHQ6Ci0gICAgICAgICAgCi0gICAgCi0gICAgLy8gdmFsaWRhdGUgUnVuT3V0cHV0LnF1ZXJ5
VmVyc2lvblJlc3VsdAotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RQ
b2ludGVyKGRhdGFfb2Zmc2V0LCBRdWVyeVZlcnNpb25SZXN1bHQsIGZhbHNlKTsKLSAgICBpZiAo
ZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBl
cnI7Ci0gICAgICAgICAgYnJlYWs7Ci0gICAgICB9Ci0gICAgCi0gICAgICByZXR1cm4gdmFsaWRh
dG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwotICAgIH07Ci0gIAotICBSdW5PdXRwdXQuZW5jb2Rl
ZFNpemUgPSAxNjsKLQotICBmdW5jdGlvbiBSdW5PckNsb3NlUGlwZUlucHV0KHZhbHVlKSB7Ci0g
ICAgdGhpcy5pbml0RGVmYXVsdF8oKTsKLSAgICB0aGlzLmluaXRWYWx1ZV8odmFsdWUpOwotICB9
Ci0gIAotICAKLSAgUnVuT3JDbG9zZVBpcGVJbnB1dC5UYWdzID0gewotICAgIHJlcXVpcmVWZXJz
aW9uOiAwLAotICB9OwotICAKLSAgUnVuT3JDbG9zZVBpcGVJbnB1dC5wcm90b3R5cGUuaW5pdERl
ZmF1bHRfID0gZnVuY3Rpb24oKSB7Ci0gICAgdGhpcy4kZGF0YSA9IG51bGw7Ci0gICAgdGhpcy4k
dGFnID0gdW5kZWZpbmVkOwotICB9Ci0gIAotICBSdW5PckNsb3NlUGlwZUlucHV0LnByb3RvdHlw
ZS5pbml0VmFsdWVfID0gZnVuY3Rpb24odmFsdWUpIHsKLSAgICBpZiAodmFsdWUgPT0gdW5kZWZp
bmVkKSB7Ci0gICAgICByZXR1cm47Ci0gICAgfQotICAKLSAgICB2YXIga2V5cyA9IE9iamVjdC5r
ZXlzKHZhbHVlKTsKLSAgICBpZiAoa2V5cy5sZW5ndGggPT0gMCkgewotICAgICAgcmV0dXJuOwot
ICAgIH0KLSAgCi0gICAgaWYgKGtleXMubGVuZ3RoID4gMSkgewotICAgICAgdGhyb3cgbmV3IFR5
cGVFcnJvcigiWW91IG1heSBzZXQgb25seSBvbmUgbWVtYmVyIG9uIGEgdW5pb24uIik7Ci0gICAg
fQotICAKLSAgICB2YXIgZmllbGRzID0gWwotICAgICAgICAicmVxdWlyZVZlcnNpb24iLAotICAg
IF07Ci0gIAotICAgIGlmIChmaWVsZHMuaW5kZXhPZihrZXlzWzBdKSA8IDApIHsKLSAgICAgIHRo
cm93IG5ldyBSZWZlcmVuY2VFcnJvcihrZXlzWzBdICsgIiBpcyBub3QgYSBSdW5PckNsb3NlUGlw
ZUlucHV0IG1lbWJlci4iKTsKLSAgCi0gICAgfQotICAKLSAgICB0aGlzW2tleXNbMF1dID0gdmFs
dWVba2V5c1swXV07Ci0gIH0KLSAgT2JqZWN0LmRlZmluZVByb3BlcnR5KFJ1bk9yQ2xvc2VQaXBl
SW5wdXQucHJvdG90eXBlLCAicmVxdWlyZVZlcnNpb24iLCB7Ci0gICAgZ2V0OiBmdW5jdGlvbigp
IHsKLSAgICAgIGlmICh0aGlzLiR0YWcgIT0gUnVuT3JDbG9zZVBpcGVJbnB1dC5UYWdzLnJlcXVp
cmVWZXJzaW9uKSB7Ci0gICAgICAgIHRocm93IG5ldyBSZWZlcmVuY2VFcnJvcigKLSAgICAgICAg
ICAgICJSdW5PckNsb3NlUGlwZUlucHV0LnJlcXVpcmVWZXJzaW9uIGlzIG5vdCBjdXJyZW50bHkg
c2V0LiIpOwotICAgICAgfQotICAgICAgcmV0dXJuIHRoaXMuJGRhdGE7Ci0gICAgfSwKLSAgCi0g
ICAgc2V0OiBmdW5jdGlvbih2YWx1ZSkgewotICAgICAgdGhpcy4kdGFnID0gUnVuT3JDbG9zZVBp
cGVJbnB1dC5UYWdzLnJlcXVpcmVWZXJzaW9uOwotICAgICAgdGhpcy4kZGF0YSA9IHZhbHVlOwot
ICAgIH0KLSAgfSk7Ci0gIAotICAKLSAgICBSdW5PckNsb3NlUGlwZUlucHV0LmVuY29kZSA9IGZ1
bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgICAgaWYgKHZhbCA9PSBudWxsKSB7Ci0gICAgICAg
IGVuY29kZXIud3JpdGVVaW50NjQoMCk7Ci0gICAgICAgIGVuY29kZXIud3JpdGVVaW50NjQoMCk7
Ci0gICAgICAgIHJldHVybjsKLSAgICAgIH0KLSAgICAgIGlmICh2YWwuJHRhZyA9PSB1bmRlZmlu
ZWQpIHsKLSAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGVuY29kZSB1bmlvbnMg
d2l0aCBhbiB1bmtub3duIG1lbWJlciBzZXQuIik7Ci0gICAgICB9Ci0gICAgCi0gICAgICBlbmNv
ZGVyLndyaXRlVWludDMyKDE2KTsKLSAgICAgIGVuY29kZXIud3JpdGVVaW50MzIodmFsLiR0YWcp
OwotICAgICAgc3dpdGNoICh2YWwuJHRhZykgewotICAgICAgICBjYXNlIFJ1bk9yQ2xvc2VQaXBl
SW5wdXQuVGFncy5yZXF1aXJlVmVyc2lvbjoKLSAgICAgICAgICBlbmNvZGVyLmVuY29kZVN0cnVj
dFBvaW50ZXIoUmVxdWlyZVZlcnNpb24sIHZhbC5yZXF1aXJlVmVyc2lvbik7Ci0gICAgICAgICAg
YnJlYWs7Ci0gICAgICB9Ci0gICAgICBlbmNvZGVyLmFsaWduKCk7Ci0gICAgfTsKLSAgCi0gIAot
ICAgIFJ1bk9yQ2xvc2VQaXBlSW5wdXQuZGVjb2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAg
ICAgdmFyIHNpemUgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICAgIGlmIChzaXplID09IDAp
IHsKLSAgICAgICAgZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgICAgIGRlY29kZXIucmVhZFVp
bnQ2NCgpOwotICAgICAgICByZXR1cm4gbnVsbDsKLSAgICAgIH0KLSAgICAKLSAgICAgIHZhciBy
ZXN1bHQgPSBuZXcgUnVuT3JDbG9zZVBpcGVJbnB1dCgpOwotICAgICAgdmFyIHRhZyA9IGRlY29k
ZXIucmVhZFVpbnQzMigpOwotICAgICAgc3dpdGNoICh0YWcpIHsKLSAgICAgICAgY2FzZSBSdW5P
ckNsb3NlUGlwZUlucHV0LlRhZ3MucmVxdWlyZVZlcnNpb246Ci0gICAgICAgICAgcmVzdWx0LnJl
cXVpcmVWZXJzaW9uID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3RQb2ludGVyKFJlcXVpcmVWZXJzaW9u
KTsKLSAgICAgICAgICBicmVhazsKLSAgICAgIH0KLSAgICAgIGRlY29kZXIuYWxpZ24oKTsKLSAg
ICAKLSAgICAgIHJldHVybiByZXN1bHQ7Ci0gICAgfTsKLSAgCi0gIAotICAgIFJ1bk9yQ2xvc2VQ
aXBlSW5wdXQudmFsaWRhdGUgPSBmdW5jdGlvbihtZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsK
LSAgICAgIHZhciBzaXplID0gbWVzc2FnZVZhbGlkYXRvci5kZWNvZGVVbmlvblNpemUob2Zmc2V0
KTsKLSAgICAgIGlmIChzaXplICE9IDE2KSB7Ci0gICAgICAgIHJldHVybiB2YWxpZGF0b3IudmFs
aWRhdGlvbkVycm9yLklOVkFMSURfVU5JT05fU0laRTsKLSAgICAgIH0KLSAgICAKLSAgICAgIHZh
ciB0YWcgPSBtZXNzYWdlVmFsaWRhdG9yLmRlY29kZVVuaW9uVGFnKG9mZnNldCk7Ci0gICAgICB2
YXIgZGF0YV9vZmZzZXQgPSBvZmZzZXQgKyA4OwotICAgICAgdmFyIGVycjsKLSAgICAgIHN3aXRj
aCAodGFnKSB7Ci0gICAgICAgIGNhc2UgUnVuT3JDbG9zZVBpcGVJbnB1dC5UYWdzLnJlcXVpcmVW
ZXJzaW9uOgotICAgICAgICAgIAotICAgIAotICAgIC8vIHZhbGlkYXRlIFJ1bk9yQ2xvc2VQaXBl
SW5wdXQucmVxdWlyZVZlcnNpb24KLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRl
U3RydWN0UG9pbnRlcihkYXRhX29mZnNldCwgUmVxdWlyZVZlcnNpb24sIGZhbHNlKTsKLSAgICBp
ZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVy
biBlcnI7Ci0gICAgICAgICAgYnJlYWs7Ci0gICAgICB9Ci0gICAgCi0gICAgICByZXR1cm4gdmFs
aWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwotICAgIH07Ci0gIAotICBSdW5PckNsb3NlUGlw
ZUlucHV0LmVuY29kZWRTaXplID0gMTY7Ci0gIGV4cG9ydHMua1J1bk1lc3NhZ2VJZCA9IGtSdW5N
ZXNzYWdlSWQ7Ci0gIGV4cG9ydHMua1J1bk9yQ2xvc2VQaXBlTWVzc2FnZUlkID0ga1J1bk9yQ2xv
c2VQaXBlTWVzc2FnZUlkOwotICBleHBvcnRzLlJ1bk1lc3NhZ2VQYXJhbXMgPSBSdW5NZXNzYWdl
UGFyYW1zOwotICBleHBvcnRzLlJ1blJlc3BvbnNlTWVzc2FnZVBhcmFtcyA9IFJ1blJlc3BvbnNl
TWVzc2FnZVBhcmFtczsKLSAgZXhwb3J0cy5RdWVyeVZlcnNpb24gPSBRdWVyeVZlcnNpb247Ci0g
IGV4cG9ydHMuUXVlcnlWZXJzaW9uUmVzdWx0ID0gUXVlcnlWZXJzaW9uUmVzdWx0OwotICBleHBv
cnRzLkZsdXNoRm9yVGVzdGluZyA9IEZsdXNoRm9yVGVzdGluZzsKLSAgZXhwb3J0cy5SdW5PckNs
b3NlUGlwZU1lc3NhZ2VQYXJhbXMgPSBSdW5PckNsb3NlUGlwZU1lc3NhZ2VQYXJhbXM7Ci0gIGV4
cG9ydHMuUmVxdWlyZVZlcnNpb24gPSBSZXF1aXJlVmVyc2lvbjsKLSAgZXhwb3J0cy5SdW5JbnB1
dCA9IFJ1bklucHV0OwotICBleHBvcnRzLlJ1bk91dHB1dCA9IFJ1bk91dHB1dDsKLSAgZXhwb3J0
cy5SdW5PckNsb3NlUGlwZUlucHV0ID0gUnVuT3JDbG9zZVBpcGVJbnB1dDsKLX0pKCk7Ly8gQ29w
eXJpZ2h0IDIwMTQgVGhlIENocm9taXVtIEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0v
LyBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNl
bnNlIHRoYXQgY2FuIGJlCi0vLyBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgotCi0KLSd1c2Ug
c3RyaWN0JzsKLQotKGZ1bmN0aW9uKCkgewotICB2YXIgbW9qb21JZCA9ICdtb2pvL3B1YmxpYy9p
bnRlcmZhY2VzL2JpbmRpbmdzL25ld19iaW5kaW5ncy9waXBlX2NvbnRyb2xfbWVzc2FnZXMubW9q
b20nOwotICBpZiAobW9qby5pbnRlcm5hbC5pc01vam9tTG9hZGVkKG1vam9tSWQpKSB7Ci0gICAg
Y29uc29sZS53YXJuKCdUaGUgZm9sbG93aW5nIG1vam9tIGlzIGxvYWRlZCBtdWx0aXBsZSB0aW1l
czogJyArIG1vam9tSWQpOwotICAgIHJldHVybjsKLSAgfQotICBtb2pvLmludGVybmFsLm1hcmtN
b2pvbUxvYWRlZChtb2pvbUlkKTsKLQotICAvLyBUT0RPKHl6c2hlbik6IERlZmluZSB0aGVzZSBh
bGlhc2VzIHRvIG1pbmltaXplIHRoZSBkaWZmZXJlbmNlcyBiZXR3ZWVuIHRoZQotICAvLyBvbGQv
bmV3IG1vZGVzLiBSZW1vdmUgdGhlbSB3aGVuIHRoZSBvbGQgbW9kZSBnb2VzIGF3YXkuCi0gIHZh
ciBiaW5kaW5ncyA9IG1vam87Ci0gIHZhciBhc3NvY2lhdGVkQmluZGluZ3MgPSBtb2pvOwotICB2
YXIgY29kZWMgPSBtb2pvLmludGVybmFsOwotICB2YXIgdmFsaWRhdG9yID0gbW9qby5pbnRlcm5h
bDsKLQotICB2YXIgZXhwb3J0cyA9IG1vam8uaW50ZXJuYWwuZXhwb3NlTmFtZXNwYWNlKCdtb2pv
LnBpcGVDb250cm9sMicpOwotCi0KLSAgdmFyIGtSdW5PckNsb3NlUGlwZU1lc3NhZ2VJZCA9IDB4
RkZGRkZGRkU7Ci0KLSAgZnVuY3Rpb24gUnVuT3JDbG9zZVBpcGVNZXNzYWdlUGFyYW1zKHZhbHVl
cykgewotICAgIHRoaXMuaW5pdERlZmF1bHRzXygpOwotICAgIHRoaXMuaW5pdEZpZWxkc18odmFs
dWVzKTsKLSAgfQotCi0KLSAgUnVuT3JDbG9zZVBpcGVNZXNzYWdlUGFyYW1zLnByb3RvdHlwZS5p
bml0RGVmYXVsdHNfID0gZnVuY3Rpb24oKSB7Ci0gICAgdGhpcy5pbnB1dCA9IG51bGw7Ci0gIH07
Ci0gIFJ1bk9yQ2xvc2VQaXBlTWVzc2FnZVBhcmFtcy5wcm90b3R5cGUuaW5pdEZpZWxkc18gPSBm
dW5jdGlvbihmaWVsZHMpIHsKLSAgICBmb3IodmFyIGZpZWxkIGluIGZpZWxkcykgewotICAgICAg
ICBpZiAodGhpcy5oYXNPd25Qcm9wZXJ0eShmaWVsZCkpCi0gICAgICAgICAgdGhpc1tmaWVsZF0g
PSBmaWVsZHNbZmllbGRdOwotICAgIH0KLSAgfTsKLQotICBSdW5PckNsb3NlUGlwZU1lc3NhZ2VQ
YXJhbXMudmFsaWRhdGUgPSBmdW5jdGlvbihtZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsKLSAg
ICB2YXIgZXJyOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RIZWFk
ZXIob2Zmc2V0LCBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFs
aWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAg
dmFyIGtWZXJzaW9uU2l6ZXMgPSBbCi0gICAgICB7dmVyc2lvbjogMCwgbnVtQnl0ZXM6IDI0fQot
ICAgIF07Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFZlcnNpb24o
b2Zmc2V0LCBrVmVyc2lvblNpemVzKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRh
dGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotICAgIC8vIHZhbGlkYXRl
IFJ1bk9yQ2xvc2VQaXBlTWVzc2FnZVBhcmFtcy5pbnB1dAotICAgIGVyciA9IG1lc3NhZ2VWYWxp
ZGF0b3IudmFsaWRhdGVVbmlvbihvZmZzZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDAs
IFJ1bk9yQ2xvc2VQaXBlSW5wdXQsIGZhbHNlKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3Iu
dmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICByZXR1cm4g
dmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIFJ1bk9yQ2xvc2VQaXBl
TWVzc2FnZVBhcmFtcy5lbmNvZGVkU2l6ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgMTY7
Ci0KLSAgUnVuT3JDbG9zZVBpcGVNZXNzYWdlUGFyYW1zLmRlY29kZSA9IGZ1bmN0aW9uKGRlY29k
ZXIpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIHZhciB2YWwgPSBuZXcgUnVuT3JDbG9zZVBpcGVN
ZXNzYWdlUGFyYW1zKCk7Ci0gICAgdmFyIG51bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50
MzIoKTsKLSAgICB2YXIgdmVyc2lvbiA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhbC5p
bnB1dCA9IGRlY29kZXIuZGVjb2RlU3RydWN0KFJ1bk9yQ2xvc2VQaXBlSW5wdXQpOwotICAgIHJl
dHVybiB2YWw7Ci0gIH07Ci0KLSAgUnVuT3JDbG9zZVBpcGVNZXNzYWdlUGFyYW1zLmVuY29kZSA9
IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgZW5jb2Rlci53
cml0ZVVpbnQzMihSdW5PckNsb3NlUGlwZU1lc3NhZ2VQYXJhbXMuZW5jb2RlZFNpemUpOwotICAg
IGVuY29kZXIud3JpdGVVaW50MzIoMCk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3QoUnVuT3JD
bG9zZVBpcGVJbnB1dCwgdmFsLmlucHV0KTsKLSAgfTsKLSAgZnVuY3Rpb24gRGlzY29ubmVjdFJl
YXNvbih2YWx1ZXMpIHsKLSAgICB0aGlzLmluaXREZWZhdWx0c18oKTsKLSAgICB0aGlzLmluaXRG
aWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0gIERpc2Nvbm5lY3RSZWFzb24ucHJvdG90eXBlLmlu
aXREZWZhdWx0c18gPSBmdW5jdGlvbigpIHsKLSAgICB0aGlzLmN1c3RvbVJlYXNvbiA9IDA7Ci0g
ICAgdGhpcy5kZXNjcmlwdGlvbiA9IG51bGw7Ci0gIH07Ci0gIERpc2Nvbm5lY3RSZWFzb24ucHJv
dG90eXBlLmluaXRGaWVsZHNfID0gZnVuY3Rpb24oZmllbGRzKSB7Ci0gICAgZm9yKHZhciBmaWVs
ZCBpbiBmaWVsZHMpIHsKLSAgICAgICAgaWYgKHRoaXMuaGFzT3duUHJvcGVydHkoZmllbGQpKQot
ICAgICAgICAgIHRoaXNbZmllbGRdID0gZmllbGRzW2ZpZWxkXTsKLSAgICB9Ci0gIH07Ci0KLSAg
RGlzY29ubmVjdFJlYXNvbi52YWxpZGF0ZSA9IGZ1bmN0aW9uKG1lc3NhZ2VWYWxpZGF0b3IsIG9m
ZnNldCkgewotICAgIHZhciBlcnI7Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0
ZVN0cnVjdEhlYWRlcihvZmZzZXQsIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplKTsKLSAgICBpZiAo
ZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBl
cnI7Ci0KLSAgICB2YXIga1ZlcnNpb25TaXplcyA9IFsKLSAgICAgIHt2ZXJzaW9uOiAwLCBudW1C
eXRlczogMjR9Ci0gICAgXTsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3Ry
dWN0VmVyc2lvbihvZmZzZXQsIGtWZXJzaW9uU2l6ZXMpOwotICAgIGlmIChlcnIgIT09IHZhbGlk
YXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0KLSAg
ICAKLSAgICAvLyB2YWxpZGF0ZSBEaXNjb25uZWN0UmVhc29uLmRlc2NyaXB0aW9uCi0gICAgZXJy
ID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cmluZ1BvaW50ZXIob2Zmc2V0ICsgY29kZWMu
a1N0cnVjdEhlYWRlclNpemUgKyA4LCBmYWxzZSkKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3Iu
dmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICByZXR1cm4g
dmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIERpc2Nvbm5lY3RSZWFz
b24uZW5jb2RlZFNpemUgPSBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDE2OwotCi0gIERpc2Nv
bm5lY3RSZWFzb24uZGVjb2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHZhciBwYWNrZWQ7
Ci0gICAgdmFyIHZhbCA9IG5ldyBEaXNjb25uZWN0UmVhc29uKCk7Ci0gICAgdmFyIG51bWJlck9m
Qnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YXIgdmVyc2lvbiA9IGRlY29kZXIu
cmVhZFVpbnQzMigpOwotICAgIHZhbC5jdXN0b21SZWFzb24gPSBkZWNvZGVyLmRlY29kZVN0cnVj
dChjb2RlYy5VaW50MzIpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAo
MSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICB2YWwu
ZGVzY3JpcHRpb24gPSBkZWNvZGVyLmRlY29kZVN0cnVjdChjb2RlYy5TdHJpbmcpOwotICAgIHJl
dHVybiB2YWw7Ci0gIH07Ci0KLSAgRGlzY29ubmVjdFJlYXNvbi5lbmNvZGUgPSBmdW5jdGlvbihl
bmNvZGVyLCB2YWwpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIo
RGlzY29ubmVjdFJlYXNvbi5lbmNvZGVkU2l6ZSk7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMigw
KTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdChjb2RlYy5VaW50MzIsIHZhbC5jdXN0b21SZWFz
b24pOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5j
b2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0
cnVjdChjb2RlYy5TdHJpbmcsIHZhbC5kZXNjcmlwdGlvbik7Ci0gIH07Ci0gIGZ1bmN0aW9uIFBl
ZXJBc3NvY2lhdGVkRW5kcG9pbnRDbG9zZWRFdmVudCh2YWx1ZXMpIHsKLSAgICB0aGlzLmluaXRE
ZWZhdWx0c18oKTsKLSAgICB0aGlzLmluaXRGaWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0gIFBl
ZXJBc3NvY2lhdGVkRW5kcG9pbnRDbG9zZWRFdmVudC5wcm90b3R5cGUuaW5pdERlZmF1bHRzXyA9
IGZ1bmN0aW9uKCkgewotICAgIHRoaXMuaWQgPSAwOwotICAgIHRoaXMuZGlzY29ubmVjdFJlYXNv
biA9IG51bGw7Ci0gIH07Ci0gIFBlZXJBc3NvY2lhdGVkRW5kcG9pbnRDbG9zZWRFdmVudC5wcm90
b3R5cGUuaW5pdEZpZWxkc18gPSBmdW5jdGlvbihmaWVsZHMpIHsKLSAgICBmb3IodmFyIGZpZWxk
IGluIGZpZWxkcykgewotICAgICAgICBpZiAodGhpcy5oYXNPd25Qcm9wZXJ0eShmaWVsZCkpCi0g
ICAgICAgICAgdGhpc1tmaWVsZF0gPSBmaWVsZHNbZmllbGRdOwotICAgIH0KLSAgfTsKLQotICBQ
ZWVyQXNzb2NpYXRlZEVuZHBvaW50Q2xvc2VkRXZlbnQudmFsaWRhdGUgPSBmdW5jdGlvbihtZXNz
YWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsKLSAgICB2YXIgZXJyOwotICAgIGVyciA9IG1lc3NhZ2VW
YWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RIZWFkZXIob2Zmc2V0LCBjb2RlYy5rU3RydWN0SGVhZGVy
U2l6ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQot
ICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgdmFyIGtWZXJzaW9uU2l6ZXMgPSBbCi0gICAgICB7
dmVyc2lvbjogMCwgbnVtQnl0ZXM6IDI0fQotICAgIF07Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlk
YXRvci52YWxpZGF0ZVN0cnVjdFZlcnNpb24ob2Zmc2V0LCBrVmVyc2lvblNpemVzKTsKLSAgICBp
ZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVy
biBlcnI7Ci0KLQotCi0gICAgCi0gICAgLy8gdmFsaWRhdGUgUGVlckFzc29jaWF0ZWRFbmRwb2lu
dENsb3NlZEV2ZW50LmRpc2Nvbm5lY3RSZWFzb24KLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9y
LnZhbGlkYXRlU3RydWN0UG9pbnRlcihvZmZzZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSAr
IDgsIERpc2Nvbm5lY3RSZWFzb24sIHRydWUpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52
YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHJldHVybiB2
YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gIH07Ci0KLSAgUGVlckFzc29jaWF0ZWRF
bmRwb2ludENsb3NlZEV2ZW50LmVuY29kZWRTaXplID0gY29kZWMua1N0cnVjdEhlYWRlclNpemUg
KyAxNjsKLQotICBQZWVyQXNzb2NpYXRlZEVuZHBvaW50Q2xvc2VkRXZlbnQuZGVjb2RlID0gZnVu
Y3Rpb24oZGVjb2RlcikgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgdmFyIHZhbCA9IG5ldyBQZWVy
QXNzb2NpYXRlZEVuZHBvaW50Q2xvc2VkRXZlbnQoKTsKLSAgICB2YXIgbnVtYmVyT2ZCeXRlcyA9
IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhciB2ZXJzaW9uID0gZGVjb2Rlci5yZWFkVWlu
dDMyKCk7Ci0gICAgdmFsLmlkID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoY29kZWMuVWludDMyKTsK
LSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIu
c2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgdmFsLmRpc2Nvbm5lY3RSZWFzb24g
PSBkZWNvZGVyLmRlY29kZVN0cnVjdFBvaW50ZXIoRGlzY29ubmVjdFJlYXNvbik7Ci0gICAgcmV0
dXJuIHZhbDsKLSAgfTsKLQotICBQZWVyQXNzb2NpYXRlZEVuZHBvaW50Q2xvc2VkRXZlbnQuZW5j
b2RlID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICBlbmNv
ZGVyLndyaXRlVWludDMyKFBlZXJBc3NvY2lhdGVkRW5kcG9pbnRDbG9zZWRFdmVudC5lbmNvZGVk
U2l6ZSk7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMigwKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0
cnVjdChjb2RlYy5VaW50MzIsIHZhbC5pZCk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVu
Y29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEp
OwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0UG9pbnRlcihEaXNjb25uZWN0UmVhc29uLCB2YWwu
ZGlzY29ubmVjdFJlYXNvbik7Ci0gIH07Ci0KLSAgZnVuY3Rpb24gUnVuT3JDbG9zZVBpcGVJbnB1
dCh2YWx1ZSkgewotICAgIHRoaXMuaW5pdERlZmF1bHRfKCk7Ci0gICAgdGhpcy5pbml0VmFsdWVf
KHZhbHVlKTsKLSAgfQotICAKLSAgCi0gIFJ1bk9yQ2xvc2VQaXBlSW5wdXQuVGFncyA9IHsKLSAg
ICBwZWVyQXNzb2NpYXRlZEVuZHBvaW50Q2xvc2VkRXZlbnQ6IDAsCi0gIH07Ci0gIAotICBSdW5P
ckNsb3NlUGlwZUlucHV0LnByb3RvdHlwZS5pbml0RGVmYXVsdF8gPSBmdW5jdGlvbigpIHsKLSAg
ICB0aGlzLiRkYXRhID0gbnVsbDsKLSAgICB0aGlzLiR0YWcgPSB1bmRlZmluZWQ7Ci0gIH0KLSAg
Ci0gIFJ1bk9yQ2xvc2VQaXBlSW5wdXQucHJvdG90eXBlLmluaXRWYWx1ZV8gPSBmdW5jdGlvbih2
YWx1ZSkgewotICAgIGlmICh2YWx1ZSA9PSB1bmRlZmluZWQpIHsKLSAgICAgIHJldHVybjsKLSAg
ICB9Ci0gIAotICAgIHZhciBrZXlzID0gT2JqZWN0LmtleXModmFsdWUpOwotICAgIGlmIChrZXlz
Lmxlbmd0aCA9PSAwKSB7Ci0gICAgICByZXR1cm47Ci0gICAgfQotICAKLSAgICBpZiAoa2V5cy5s
ZW5ndGggPiAxKSB7Ci0gICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCJZb3UgbWF5IHNldCBvbmx5
IG9uZSBtZW1iZXIgb24gYSB1bmlvbi4iKTsKLSAgICB9Ci0gIAotICAgIHZhciBmaWVsZHMgPSBb
Ci0gICAgICAgICJwZWVyQXNzb2NpYXRlZEVuZHBvaW50Q2xvc2VkRXZlbnQiLAotICAgIF07Ci0g
IAotICAgIGlmIChmaWVsZHMuaW5kZXhPZihrZXlzWzBdKSA8IDApIHsKLSAgICAgIHRocm93IG5l
dyBSZWZlcmVuY2VFcnJvcihrZXlzWzBdICsgIiBpcyBub3QgYSBSdW5PckNsb3NlUGlwZUlucHV0
IG1lbWJlci4iKTsKLSAgCi0gICAgfQotICAKLSAgICB0aGlzW2tleXNbMF1dID0gdmFsdWVba2V5
c1swXV07Ci0gIH0KLSAgT2JqZWN0LmRlZmluZVByb3BlcnR5KFJ1bk9yQ2xvc2VQaXBlSW5wdXQu
cHJvdG90eXBlLCAicGVlckFzc29jaWF0ZWRFbmRwb2ludENsb3NlZEV2ZW50IiwgewotICAgIGdl
dDogZnVuY3Rpb24oKSB7Ci0gICAgICBpZiAodGhpcy4kdGFnICE9IFJ1bk9yQ2xvc2VQaXBlSW5w
dXQuVGFncy5wZWVyQXNzb2NpYXRlZEVuZHBvaW50Q2xvc2VkRXZlbnQpIHsKLSAgICAgICAgdGhy
b3cgbmV3IFJlZmVyZW5jZUVycm9yKAotICAgICAgICAgICAgIlJ1bk9yQ2xvc2VQaXBlSW5wdXQu
cGVlckFzc29jaWF0ZWRFbmRwb2ludENsb3NlZEV2ZW50IGlzIG5vdCBjdXJyZW50bHkgc2V0LiIp
OwotICAgICAgfQotICAgICAgcmV0dXJuIHRoaXMuJGRhdGE7Ci0gICAgfSwKLSAgCi0gICAgc2V0
OiBmdW5jdGlvbih2YWx1ZSkgewotICAgICAgdGhpcy4kdGFnID0gUnVuT3JDbG9zZVBpcGVJbnB1
dC5UYWdzLnBlZXJBc3NvY2lhdGVkRW5kcG9pbnRDbG9zZWRFdmVudDsKLSAgICAgIHRoaXMuJGRh
dGEgPSB2YWx1ZTsKLSAgICB9Ci0gIH0pOwotICAKLSAgCi0gICAgUnVuT3JDbG9zZVBpcGVJbnB1
dC5lbmNvZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2YWwpIHsKLSAgICAgIGlmICh2YWwgPT0gbnVs
bCkgewotICAgICAgICBlbmNvZGVyLndyaXRlVWludDY0KDApOwotICAgICAgICBlbmNvZGVyLndy
aXRlVWludDY0KDApOwotICAgICAgICByZXR1cm47Ci0gICAgICB9Ci0gICAgICBpZiAodmFsLiR0
YWcgPT0gdW5kZWZpbmVkKSB7Ci0gICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBl
bmNvZGUgdW5pb25zIHdpdGggYW4gdW5rbm93biBtZW1iZXIgc2V0LiIpOwotICAgICAgfQotICAg
IAotICAgICAgZW5jb2Rlci53cml0ZVVpbnQzMigxNik7Ci0gICAgICBlbmNvZGVyLndyaXRlVWlu
dDMyKHZhbC4kdGFnKTsKLSAgICAgIHN3aXRjaCAodmFsLiR0YWcpIHsKLSAgICAgICAgY2FzZSBS
dW5PckNsb3NlUGlwZUlucHV0LlRhZ3MucGVlckFzc29jaWF0ZWRFbmRwb2ludENsb3NlZEV2ZW50
OgotICAgICAgICAgIGVuY29kZXIuZW5jb2RlU3RydWN0UG9pbnRlcihQZWVyQXNzb2NpYXRlZEVu
ZHBvaW50Q2xvc2VkRXZlbnQsIHZhbC5wZWVyQXNzb2NpYXRlZEVuZHBvaW50Q2xvc2VkRXZlbnQp
OwotICAgICAgICAgIGJyZWFrOwotICAgICAgfQotICAgICAgZW5jb2Rlci5hbGlnbigpOwotICAg
IH07Ci0gIAotICAKLSAgICBSdW5PckNsb3NlUGlwZUlucHV0LmRlY29kZSA9IGZ1bmN0aW9uKGRl
Y29kZXIpIHsKLSAgICAgIHZhciBzaXplID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgICBp
ZiAoc2l6ZSA9PSAwKSB7Ci0gICAgICAgIGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgICAgICBk
ZWNvZGVyLnJlYWRVaW50NjQoKTsKLSAgICAgICAgcmV0dXJuIG51bGw7Ci0gICAgICB9Ci0gICAg
Ci0gICAgICB2YXIgcmVzdWx0ID0gbmV3IFJ1bk9yQ2xvc2VQaXBlSW5wdXQoKTsKLSAgICAgIHZh
ciB0YWcgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICAgIHN3aXRjaCAodGFnKSB7Ci0gICAg
ICAgIGNhc2UgUnVuT3JDbG9zZVBpcGVJbnB1dC5UYWdzLnBlZXJBc3NvY2lhdGVkRW5kcG9pbnRD
bG9zZWRFdmVudDoKLSAgICAgICAgICByZXN1bHQucGVlckFzc29jaWF0ZWRFbmRwb2ludENsb3Nl
ZEV2ZW50ID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3RQb2ludGVyKFBlZXJBc3NvY2lhdGVkRW5kcG9p
bnRDbG9zZWRFdmVudCk7Ci0gICAgICAgICAgYnJlYWs7Ci0gICAgICB9Ci0gICAgICBkZWNvZGVy
LmFsaWduKCk7Ci0gICAgCi0gICAgICByZXR1cm4gcmVzdWx0OwotICAgIH07Ci0gIAotICAKLSAg
ICBSdW5PckNsb3NlUGlwZUlucHV0LnZhbGlkYXRlID0gZnVuY3Rpb24obWVzc2FnZVZhbGlkYXRv
ciwgb2Zmc2V0KSB7Ci0gICAgICB2YXIgc2l6ZSA9IG1lc3NhZ2VWYWxpZGF0b3IuZGVjb2RlVW5p
b25TaXplKG9mZnNldCk7Ci0gICAgICBpZiAoc2l6ZSAhPSAxNikgewotICAgICAgICByZXR1cm4g
dmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5JTlZBTElEX1VOSU9OX1NJWkU7Ci0gICAgICB9Ci0g
ICAgCi0gICAgICB2YXIgdGFnID0gbWVzc2FnZVZhbGlkYXRvci5kZWNvZGVVbmlvblRhZyhvZmZz
ZXQpOwotICAgICAgdmFyIGRhdGFfb2Zmc2V0ID0gb2Zmc2V0ICsgODsKLSAgICAgIHZhciBlcnI7
Ci0gICAgICBzd2l0Y2ggKHRhZykgewotICAgICAgICBjYXNlIFJ1bk9yQ2xvc2VQaXBlSW5wdXQu
VGFncy5wZWVyQXNzb2NpYXRlZEVuZHBvaW50Q2xvc2VkRXZlbnQ6Ci0gICAgICAgICAgCi0gICAg
Ci0gICAgLy8gdmFsaWRhdGUgUnVuT3JDbG9zZVBpcGVJbnB1dC5wZWVyQXNzb2NpYXRlZEVuZHBv
aW50Q2xvc2VkRXZlbnQKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0
UG9pbnRlcihkYXRhX29mZnNldCwgUGVlckFzc29jaWF0ZWRFbmRwb2ludENsb3NlZEV2ZW50LCBm
YWxzZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQot
ICAgICAgICByZXR1cm4gZXJyOwotICAgICAgICAgIGJyZWFrOwotICAgICAgfQotICAgIAotICAg
ICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAgICB9OwotICAKLSAg
UnVuT3JDbG9zZVBpcGVJbnB1dC5lbmNvZGVkU2l6ZSA9IDE2OwotICBleHBvcnRzLmtSdW5PckNs
b3NlUGlwZU1lc3NhZ2VJZCA9IGtSdW5PckNsb3NlUGlwZU1lc3NhZ2VJZDsKLSAgZXhwb3J0cy5S
dW5PckNsb3NlUGlwZU1lc3NhZ2VQYXJhbXMgPSBSdW5PckNsb3NlUGlwZU1lc3NhZ2VQYXJhbXM7
Ci0gIGV4cG9ydHMuRGlzY29ubmVjdFJlYXNvbiA9IERpc2Nvbm5lY3RSZWFzb247Ci0gIGV4cG9y
dHMuUGVlckFzc29jaWF0ZWRFbmRwb2ludENsb3NlZEV2ZW50ID0gUGVlckFzc29jaWF0ZWRFbmRw
b2ludENsb3NlZEV2ZW50OwotICBleHBvcnRzLlJ1bk9yQ2xvc2VQaXBlSW5wdXQgPSBSdW5PckNs
b3NlUGlwZUlucHV0OwotfSkoKTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy9jaHJvbWl1bS9tb2pvX2JpbmRpbmdzLmpzLmhlYWRlcnMgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS9tb2pvX2JpbmRpbmdz
LmpzLmhlYWRlcnMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY4MDVjMzIzZGY1YTk3
NTIzMTY0OGI4MzBlMzNjZTE4M2MzY2JiZDMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vbW9qb19iaW5kaW5ncy5qcy5oZWFkZXJzCisrKyAvZGV2
L251bGwKQEAgLTEgKzAsMCBAQAotQ29udGVudC1UeXBlOiB0ZXh0L2phdmFzY3JpcHQ7IGNoYXJz
ZXQ9dXRmLTgKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL3N0cmluZzE2Lm1vam9tLmpzIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vc3Ry
aW5nMTYubW9qb20uanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDA1ODk1NmJmMTY5
NjhhMzFhZDcwOWJjMWJiZDQ3NjY0OTBhMTNiOTAuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vc3RyaW5nMTYubW9qb20uanMKKysrIC9kZXYvbnVs
bApAQCAtMSwxNTkgKzAsMCBAQAotLy8gQ29weXJpZ2h0IDIwMTQgVGhlIENocm9taXVtIEF1dGhv
cnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0vLyBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBn
b3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCi0vLyBmb3VuZCBpbiB0
aGUgTElDRU5TRSBmaWxlLgotCi0KLSd1c2Ugc3RyaWN0JzsKLWlmICgodHlwZW9mIG1vam8gIT09
ICd1bmRlZmluZWQnKSAgJiYgbW9qby5pbnRlcm5hbCAmJiBtb2pvLmNvbmZpZykgewotCi0oZnVu
Y3Rpb24oKSB7Ci0gIHZhciBtb2pvbUlkID0gJ21vam8vY29tbW9uL3N0cmluZzE2Lm1vam9tJzsK
LSAgaWYgKG1vam8uaW50ZXJuYWwuaXNNb2pvbUxvYWRlZChtb2pvbUlkKSkgewotICAgIGNvbnNv
bGUud2FybignVGhlIGZvbGxvd2luZyBtb2pvbSBpcyBsb2FkZWQgbXVsdGlwbGUgdGltZXM6ICcg
KyBtb2pvbUlkKTsKLSAgICByZXR1cm47Ci0gIH0KLSAgbW9qby5pbnRlcm5hbC5tYXJrTW9qb21M
b2FkZWQobW9qb21JZCk7Ci0KLSAgLy8gVE9ETyh5enNoZW4pOiBEZWZpbmUgdGhlc2UgYWxpYXNl
cyB0byBtaW5pbWl6ZSB0aGUgZGlmZmVyZW5jZXMgYmV0d2VlbiB0aGUKLSAgLy8gb2xkL25ldyBt
b2Rlcy4gUmVtb3ZlIHRoZW0gd2hlbiB0aGUgb2xkIG1vZGUgZ29lcyBhd2F5LgotICB2YXIgYmlu
ZGluZ3MgPSBtb2pvOwotICB2YXIgYXNzb2NpYXRlZEJpbmRpbmdzID0gbW9qbzsKLSAgdmFyIGNv
ZGVjID0gbW9qby5pbnRlcm5hbDsKLSAgdmFyIHZhbGlkYXRvciA9IG1vam8uaW50ZXJuYWw7Ci0K
LSAgdmFyIGV4cG9ydHMgPSBtb2pvLmludGVybmFsLmV4cG9zZU5hbWVzcGFjZSgnbW9qby5jb21t
b24ubW9qb20nKTsKLQotCi0KLSAgZnVuY3Rpb24gU3RyaW5nMTYodmFsdWVzKSB7Ci0gICAgdGhp
cy5pbml0RGVmYXVsdHNfKCk7Ci0gICAgdGhpcy5pbml0RmllbGRzXyh2YWx1ZXMpOwotICB9Ci0K
LQotICBTdHJpbmcxNi5wcm90b3R5cGUuaW5pdERlZmF1bHRzXyA9IGZ1bmN0aW9uKCkgewotICAg
IHRoaXMuZGF0YSA9IG51bGw7Ci0gIH07Ci0gIFN0cmluZzE2LnByb3RvdHlwZS5pbml0RmllbGRz
XyA9IGZ1bmN0aW9uKGZpZWxkcykgewotICAgIGZvcih2YXIgZmllbGQgaW4gZmllbGRzKSB7Ci0g
ICAgICAgIGlmICh0aGlzLmhhc093blByb3BlcnR5KGZpZWxkKSkKLSAgICAgICAgICB0aGlzW2Zp
ZWxkXSA9IGZpZWxkc1tmaWVsZF07Ci0gICAgfQotICB9OwotCi0gIFN0cmluZzE2LnZhbGlkYXRl
ID0gZnVuY3Rpb24obWVzc2FnZVZhbGlkYXRvciwgb2Zmc2V0KSB7Ci0gICAgdmFyIGVycjsKLSAg
ICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0SGVhZGVyKG9mZnNldCwgY29k
ZWMua1N0cnVjdEhlYWRlclNpemUpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0
aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHZhciBrVmVyc2lvblNp
emVzID0gWwotICAgICAge3ZlcnNpb246IDAsIG51bUJ5dGVzOiAxNn0KLSAgICBdOwotICAgIGVy
ciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RWZXJzaW9uKG9mZnNldCwga1ZlcnNp
b25TaXplcyk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05F
KQotICAgICAgICByZXR1cm4gZXJyOwotCi0KLSAgICAKLSAgICAvLyB2YWxpZGF0ZSBTdHJpbmcx
Ni5kYXRhCi0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZUFycmF5UG9pbnRlcihv
ZmZzZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDAsIDIsIGNvZGVjLlVpbnQxNiwgZmFs
c2UsIFswXSwgMCk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5O
T05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0
aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQotICBTdHJpbmcxNi5lbmNvZGVkU2l6ZSA9IGNvZGVjLmtT
dHJ1Y3RIZWFkZXJTaXplICsgODsKLQotICBTdHJpbmcxNi5kZWNvZGUgPSBmdW5jdGlvbihkZWNv
ZGVyKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICB2YXIgdmFsID0gbmV3IFN0cmluZzE2KCk7Ci0g
ICAgdmFyIG51bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YXIgdmVy
c2lvbiA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhbC5kYXRhID0gZGVjb2Rlci5kZWNv
ZGVBcnJheVBvaW50ZXIoY29kZWMuVWludDE2KTsKLSAgICByZXR1cm4gdmFsOwotICB9OwotCi0g
IFN0cmluZzE2LmVuY29kZSA9IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgIHZhciBwYWNr
ZWQ7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMihTdHJpbmcxNi5lbmNvZGVkU2l6ZSk7Ci0gICAg
ZW5jb2Rlci53cml0ZVVpbnQzMigwKTsKLSAgICBlbmNvZGVyLmVuY29kZUFycmF5UG9pbnRlcihj
b2RlYy5VaW50MTYsIHZhbC5kYXRhKTsKLSAgfTsKLSAgZXhwb3J0cy5TdHJpbmcxNiA9IFN0cmlu
ZzE2OwotfSkoKTsKLX0KLQotaWYgKCh0eXBlb2YgbW9qbyA9PT0gJ3VuZGVmaW5lZCcpIHx8ICFt
b2pvLmludGVybmFsIHx8ICFtb2pvLmNvbmZpZykgewotCi1kZWZpbmUoIm1vam8vY29tbW9uL3N0
cmluZzE2Lm1vam9tIiwgWwotICAgICJtb2pvL3B1YmxpYy9qcy9hc3NvY2lhdGVkX2JpbmRpbmdz
IiwKLSAgICAibW9qby9wdWJsaWMvanMvYmluZGluZ3MiLAotICAgICJtb2pvL3B1YmxpYy9qcy9j
b2RlYyIsCi0gICAgIm1vam8vcHVibGljL2pzL2NvcmUiLAotICAgICJtb2pvL3B1YmxpYy9qcy92
YWxpZGF0b3IiLAotXSwgZnVuY3Rpb24oYXNzb2NpYXRlZEJpbmRpbmdzLCBiaW5kaW5ncywgY29k
ZWMsIGNvcmUsIHZhbGlkYXRvcikgewotICB2YXIgZXhwb3J0cyA9IHt9OwotCi0gIGZ1bmN0aW9u
IFN0cmluZzE2KHZhbHVlcykgewotICAgIHRoaXMuaW5pdERlZmF1bHRzXygpOwotICAgIHRoaXMu
aW5pdEZpZWxkc18odmFsdWVzKTsKLSAgfQotCi0KLSAgU3RyaW5nMTYucHJvdG90eXBlLmluaXRE
ZWZhdWx0c18gPSBmdW5jdGlvbigpIHsKLSAgICB0aGlzLmRhdGEgPSBudWxsOwotICB9OwotICBT
dHJpbmcxNi5wcm90b3R5cGUuaW5pdEZpZWxkc18gPSBmdW5jdGlvbihmaWVsZHMpIHsKLSAgICBm
b3IodmFyIGZpZWxkIGluIGZpZWxkcykgewotICAgICAgICBpZiAodGhpcy5oYXNPd25Qcm9wZXJ0
eShmaWVsZCkpCi0gICAgICAgICAgdGhpc1tmaWVsZF0gPSBmaWVsZHNbZmllbGRdOwotICAgIH0K
LSAgfTsKLQotICBTdHJpbmcxNi52YWxpZGF0ZSA9IGZ1bmN0aW9uKG1lc3NhZ2VWYWxpZGF0b3Is
IG9mZnNldCkgewotICAgIHZhciBlcnI7Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxp
ZGF0ZVN0cnVjdEhlYWRlcihvZmZzZXQsIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplKTsKLSAgICBp
ZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVy
biBlcnI7Ci0KLSAgICB2YXIga1ZlcnNpb25TaXplcyA9IFsKLSAgICAgIHt2ZXJzaW9uOiAwLCBu
dW1CeXRlczogMTZ9Ci0gICAgXTsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRl
U3RydWN0VmVyc2lvbihvZmZzZXQsIGtWZXJzaW9uU2l6ZXMpOwotICAgIGlmIChlcnIgIT09IHZh
bGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0g
ICAgCi0gICAgLy8gdmFsaWRhdGUgU3RyaW5nMTYuZGF0YQotICAgIGVyciA9IG1lc3NhZ2VWYWxp
ZGF0b3IudmFsaWRhdGVBcnJheVBvaW50ZXIob2Zmc2V0ICsgY29kZWMua1N0cnVjdEhlYWRlclNp
emUgKyAwLCAyLCBjb2RlYy5VaW50MTYsIGZhbHNlLCBbMF0sIDApOwotICAgIGlmIChlcnIgIT09
IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQot
ICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gIH07Ci0KLSAgU3Ry
aW5nMTYuZW5jb2RlZFNpemUgPSBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDg7Ci0KLSAgU3Ry
aW5nMTYuZGVjb2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHZhciBwYWNrZWQ7Ci0gICAg
dmFyIHZhbCA9IG5ldyBTdHJpbmcxNigpOwotICAgIHZhciBudW1iZXJPZkJ5dGVzID0gZGVjb2Rl
ci5yZWFkVWludDMyKCk7Ci0gICAgdmFyIHZlcnNpb24gPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsK
LSAgICB2YWwuZGF0YSA9IGRlY29kZXIuZGVjb2RlQXJyYXlQb2ludGVyKGNvZGVjLlVpbnQxNik7
Ci0gICAgcmV0dXJuIHZhbDsKLSAgfTsKLQotICBTdHJpbmcxNi5lbmNvZGUgPSBmdW5jdGlvbihl
bmNvZGVyLCB2YWwpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIo
U3RyaW5nMTYuZW5jb2RlZFNpemUpOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoMCk7Ci0gICAg
ZW5jb2Rlci5lbmNvZGVBcnJheVBvaW50ZXIoY29kZWMuVWludDE2LCB2YWwuZGF0YSk7Ci0gIH07
Ci0gIGV4cG9ydHMuU3RyaW5nMTYgPSBTdHJpbmcxNjsKLQotICByZXR1cm4gZXhwb3J0czsKLX0p
OwotfQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL3N0cmlu
ZzE2Lm1vam9tLmpzLmhlYWRlcnMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS9zdHJpbmcxNi5tb2pvbS5qcy5oZWFkZXJzCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2ODA1YzMyM2RmNWE5NzUyMzE2NDhiODMwZTMz
Y2UxODNjM2NiYmQzLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L2Nocm9taXVtL3N0cmluZzE2Lm1vam9tLmpzLmhlYWRlcnMKKysrIC9kZXYvbnVsbApAQCAtMSAr
MCwwIEBACi1Db250ZW50LVR5cGU6IHRleHQvamF2YXNjcmlwdDsgY2hhcnNldD11dGYtOApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvY2hyb21pdW0vdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS93M2MtaW1wb3J0LmxvZwpkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTA1OTRkNGM4ZmUyOGNkYjdlMmFmMTMxZGQwMmU4
MTVhM2QxZmQ5OS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9j
aHJvbWl1bS93M2MtaW1wb3J0LmxvZworKysgL2Rldi9udWxsCkBAIC0xLDI5ICswLDAgQEAKLVRo
ZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBv
c2l0b3J5LgotRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1J
bnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6Ci0JaHR0cHM6
Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMKLQotVGhlbiBydW4gdGhlIFRvb2xz
L1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKLQotRG8gTk9U
IG1vZGlmeSBvciByZW1vdmUgdGhpcyBmaWxlLgotCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLVByb3BlcnRp
ZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKLU5vbmUKLVByb3BlcnR5IHZhbHVlcyByZXF1
aXJpbmcgdmVuZG9yIHByZWZpeGVzOgotTm9uZQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1MaXN0IG9mIGZp
bGVzOgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL2Nocm9taXVtL1JFQURNRS5tZAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL2Nob29zZXJfc2VydmljZS5tb2pvbS5qcwot
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2No
cm9taXVtL2Nob29zZXJfc2VydmljZS5tb2pvbS5qcy5oZWFkZXJzCi0vTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vZGV2aWNlLm1v
am9tLmpzCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvY2hyb21pdW0vZGV2aWNlLm1vam9tLmpzLmhlYWRlcnMKLS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS9kZXZpY2VfbWFu
YWdlci5tb2pvbS5qcwotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL2Nocm9taXVtL2RldmljZV9tYW5hZ2VyLm1vam9tLmpzLmhlYWRlcnMKLS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJv
bWl1bS9tb2pvX2JpbmRpbmdzLmpzCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vbW9qb19iaW5kaW5ncy5qcy5oZWFkZXJzCi0v
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hy
b21pdW0vc3RyaW5nMTYubW9qb20uanMKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS9zdHJpbmcxNi5tb2pvbS5qcy5oZWFkZXJz
Ci0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
Y2hyb21pdW0vd2VidXNiLXRlc3QuanMKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS93ZWJ1c2ItdGVzdC5qcy5oZWFkZXJzCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy9jaHJvbWl1bS93ZWJ1c2ItdGVzdC5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL3dlYnVzYi10ZXN0LmpzCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwOGM4MjU0N2VkODk0NGYwNmZkZmEzMjMyMzIw
NzRlNDg0NjQyZjQzLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L2Nocm9taXVtL3dlYnVzYi10ZXN0LmpzCisrKyAvZGV2L251bGwKQEAgLTEsNTQxICswLDAgQEAK
LSd1c2Ugc3RyaWN0JzsKLQotLy8gVGhpcyBwb2x5ZmlsbCBsaWJyYXJ5IGltcGxlbWVudHMgdGhl
IFdlYlVTQiBUZXN0IEFQSSBhcyBzcGVjaWZpZWQgaGVyZToKLS8vIGh0dHBzOi8vd2ljZy5naXRo
dWIuaW8vd2VidXNiL3Rlc3QvCi0KLSgoKSA9PiB7Ci0KLS8vIFRoZXNlIHZhcmlhYmxlcyBhcmUg
bG9naWNhbGx5IG1lbWJlcnMgb2YgdGhlIFVTQlRlc3QgY2xhc3MgYnV0IGFyZSBkZWZpbmVkCi0v
LyBoZXJlIHRvIGhpZGUgdGhlbSBmcm9tIGJlaW5nIHZpc2libGUgYXMgZmllbGRzIG9mIG5hdmln
YXRvci51c2IudGVzdC4KLWxldCBpbnRlcm5hbCA9IHsKLSAgaW50aWFsaXplZDogZmFsc2UsCi0K
LSAgZGV2aWNlTWFuYWdlcjogbnVsbCwKLSAgZGV2aWNlTWFuYWdlckludGVyY2VwdG9yOiBudWxs
LAotICBkZXZpY2VNYW5hZ2VyQ3Jvc3NGcmFtZVByb3h5OiBudWxsLAotCi0gIGNob29zZXI6IG51
bGwsCi0gIGNob29zZXJJbnRlcmNlcHRvcjogbnVsbCwKLSAgY2hvb3NlckNyb3NzRnJhbWVQcm94
eTogbnVsbCwKLX07Ci0KLS8vIENvbnZlcnRzIGFuIEVDTUFTY3JpcHQgU3RyaW5nIG9iamVjdCB0
byBhbiBpbnN0YW5jZSBvZgotLy8gbW9qby5jb21tb24ubW9qb20uU3RyaW5nMTYuCi1mdW5jdGlv
biBtb2pvU3RyaW5nMTZUb1N0cmluZyhzdHJpbmcxNikgewotICByZXR1cm4gU3RyaW5nLmZyb21D
aGFyQ29kZS5hcHBseShudWxsLCBzdHJpbmcxNi5kYXRhKTsKLX0KLQotLy8gQ29udmVydHMgYW4g
aW5zdGFuY2Ugb2YgbW9qby5jb21tb24ubW9qb20uU3RyaW5nMTYgdG8gYW4gRUNNQVNjcmlwdCBT
dHJpbmcuCi1mdW5jdGlvbiBzdHJpbmdUb01vam9TdHJpbmcxNihzdHJpbmcpIHsKLSAgbGV0IGFy
cmF5ID0gbmV3IEFycmF5KHN0cmluZy5sZW5ndGgpOwotICBmb3IgKHZhciBpID0gMDsgaSA8IHN0
cmluZy5sZW5ndGg7ICsraSkgewotICAgIGFycmF5W2ldID0gc3RyaW5nLmNoYXJDb2RlQXQoaSk7
Ci0gIH0KLSAgcmV0dXJuIHsgZGF0YTogYXJyYXkgfQotfQotCi1mdW5jdGlvbiBmYWtlRGV2aWNl
SW5pdFRvRGV2aWNlSW5mbyhndWlkLCBpbml0KSB7Ci0gIGxldCBkZXZpY2VJbmZvID0gewotICAg
IGd1aWQ6IGd1aWQgKyAiIiwKLSAgICB1c2JWZXJzaW9uTWFqb3I6IGluaXQudXNiVmVyc2lvbk1h
am9yLAotICAgIHVzYlZlcnNpb25NaW5vcjogaW5pdC51c2JWZXJzaW9uTWlub3IsCi0gICAgdXNi
VmVyc2lvblN1Ym1pbm9yOiBpbml0LnVzYlZlcnNpb25TdWJtaW5vciwKLSAgICBjbGFzc0NvZGU6
IGluaXQuZGV2aWNlQ2xhc3MsCi0gICAgc3ViY2xhc3NDb2RlOiBpbml0LmRldmljZVN1YmNsYXNz
LAotICAgIHByb3RvY29sQ29kZTogaW5pdC5kZXZpY2VQcm90b2NvbCwKLSAgICB2ZW5kb3JJZDog
aW5pdC52ZW5kb3JJZCwKLSAgICBwcm9kdWN0SWQ6IGluaXQucHJvZHVjdElkLAotICAgIGRldmlj
ZVZlcnNpb25NYWpvcjogaW5pdC5kZXZpY2VWZXJzaW9uTWFqb3IsCi0gICAgZGV2aWNlVmVyc2lv
bk1pbm9yOiBpbml0LmRldmljZVZlcnNpb25NaW5vciwKLSAgICBkZXZpY2VWZXJzaW9uU3VibWlu
b3I6IGluaXQuZGV2aWNlVmVyc2lvblN1Ym1pbm9yLAotICAgIG1hbnVmYWN0dXJlck5hbWU6IHN0
cmluZ1RvTW9qb1N0cmluZzE2KGluaXQubWFudWZhY3R1cmVyTmFtZSksCi0gICAgcHJvZHVjdE5h
bWU6IHN0cmluZ1RvTW9qb1N0cmluZzE2KGluaXQucHJvZHVjdE5hbWUpLAotICAgIHNlcmlhbE51
bWJlcjogc3RyaW5nVG9Nb2pvU3RyaW5nMTYoaW5pdC5zZXJpYWxOdW1iZXIpLAotICAgIGFjdGl2
ZUNvbmZpZ3VyYXRpb246IGluaXQuYWN0aXZlQ29uZmlndXJhdGlvblZhbHVlLAotICAgIGNvbmZp
Z3VyYXRpb25zOiBbXQotICB9OwotICBpbml0LmNvbmZpZ3VyYXRpb25zLmZvckVhY2goY29uZmln
ID0+IHsKLSAgICB2YXIgY29uZmlnSW5mbyA9IHsKLSAgICAgIGNvbmZpZ3VyYXRpb25WYWx1ZTog
Y29uZmlnLmNvbmZpZ3VyYXRpb25WYWx1ZSwKLSAgICAgIGNvbmZpZ3VyYXRpb25OYW1lOiBzdHJp
bmdUb01vam9TdHJpbmcxNihjb25maWcuY29uZmlndXJhdGlvbk5hbWUpLAotICAgICAgaW50ZXJm
YWNlczogW10KLSAgICB9OwotICAgIGNvbmZpZy5pbnRlcmZhY2VzLmZvckVhY2goaWZhY2UgPT4g
ewotICAgICAgdmFyIGludGVyZmFjZUluZm8gPSB7Ci0gICAgICAgIGludGVyZmFjZU51bWJlcjog
aWZhY2UuaW50ZXJmYWNlTnVtYmVyLAotICAgICAgICBhbHRlcm5hdGVzOiBbXQotICAgICAgfTsK
LSAgICAgIGlmYWNlLmFsdGVybmF0ZXMuZm9yRWFjaChhbHRlcm5hdGUgPT4gewotICAgICAgICB2
YXIgYWx0ZXJuYXRlSW5mbyA9IHsKLSAgICAgICAgICBhbHRlcm5hdGVTZXR0aW5nOiBhbHRlcm5h
dGUuYWx0ZXJuYXRlU2V0dGluZywKLSAgICAgICAgICBjbGFzc0NvZGU6IGFsdGVybmF0ZS5pbnRl
cmZhY2VDbGFzcywKLSAgICAgICAgICBzdWJjbGFzc0NvZGU6IGFsdGVybmF0ZS5pbnRlcmZhY2VT
dWJjbGFzcywKLSAgICAgICAgICBwcm90b2NvbENvZGU6IGFsdGVybmF0ZS5pbnRlcmZhY2VQcm90
b2NvbCwKLSAgICAgICAgICBpbnRlcmZhY2VOYW1lOiBzdHJpbmdUb01vam9TdHJpbmcxNihhbHRl
cm5hdGUuaW50ZXJmYWNlTmFtZSksCi0gICAgICAgICAgZW5kcG9pbnRzOiBbXQotICAgICAgICB9
OwotICAgICAgICBhbHRlcm5hdGUuZW5kcG9pbnRzLmZvckVhY2goZW5kcG9pbnQgPT4gewotICAg
ICAgICAgIHZhciBlbmRwb2ludEluZm8gPSB7Ci0gICAgICAgICAgICBlbmRwb2ludE51bWJlcjog
ZW5kcG9pbnQuZW5kcG9pbnROdW1iZXIsCi0gICAgICAgICAgICBwYWNrZXRTaXplOiBlbmRwb2lu
dC5wYWNrZXRTaXplLAotICAgICAgICAgIH07Ci0gICAgICAgICAgc3dpdGNoIChlbmRwb2ludC5k
aXJlY3Rpb24pIHsKLSAgICAgICAgICBjYXNlICJpbiI6Ci0gICAgICAgICAgICBlbmRwb2ludElu
Zm8uZGlyZWN0aW9uID0gZGV2aWNlLm1vam9tLlVzYlRyYW5zZmVyRGlyZWN0aW9uLklOQk9VTkQ7
Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgICBjYXNlICJvdXQiOgotICAgICAgICAgICAg
ZW5kcG9pbnRJbmZvLmRpcmVjdGlvbiA9IGRldmljZS5tb2pvbS5Vc2JUcmFuc2ZlckRpcmVjdGlv
bi5PVVRCT1VORDsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgIH0KLSAgICAgICAgICBz
d2l0Y2ggKGVuZHBvaW50LnR5cGUpIHsKLSAgICAgICAgICBjYXNlICJidWxrIjoKLSAgICAgICAg
ICAgIGVuZHBvaW50SW5mby50eXBlID0gZGV2aWNlLm1vam9tLlVzYlRyYW5zZmVyVHlwZS5CVUxL
OwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgY2FzZSAiaW50ZXJydXB0IjoKLSAgICAg
ICAgICAgIGVuZHBvaW50SW5mby50eXBlID0gZGV2aWNlLm1vam9tLlVzYlRyYW5zZmVyVHlwZS5J
TlRFUlJVUFQ7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgICBjYXNlICJpc29jaHJvbm91
cyI6Ci0gICAgICAgICAgICBlbmRwb2ludEluZm8udHlwZSA9IGRldmljZS5tb2pvbS5Vc2JUcmFu
c2ZlclR5cGUuSVNPQ0hST05PVVM7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgICB9Ci0g
ICAgICAgICAgYWx0ZXJuYXRlSW5mby5lbmRwb2ludHMucHVzaChlbmRwb2ludEluZm8pOwotICAg
ICAgICB9KTsKLSAgICAgICAgaW50ZXJmYWNlSW5mby5hbHRlcm5hdGVzLnB1c2goYWx0ZXJuYXRl
SW5mbyk7Ci0gICAgICB9KTsKLSAgICAgIGNvbmZpZ0luZm8uaW50ZXJmYWNlcy5wdXNoKGludGVy
ZmFjZUluZm8pOwotICAgIH0pOwotICAgIGRldmljZUluZm8uY29uZmlndXJhdGlvbnMucHVzaChj
b25maWdJbmZvKTsKLSAgfSk7Ci0gIHJldHVybiBkZXZpY2VJbmZvOwotfQotCi1mdW5jdGlvbiBj
b252ZXJ0TW9qb0RldmljZUZpbHRlcnMoaW5wdXQpIHsKLSAgbGV0IG91dHB1dCA9IFtdOwotICBp
bnB1dC5mb3JFYWNoKGZpbHRlciA9PiB7Ci0gICAgb3V0cHV0LnB1c2goY29udmVydE1vam9EZXZp
Y2VGaWx0ZXIoZmlsdGVyKSk7Ci0gIH0pOwotICByZXR1cm4gb3V0cHV0OwotfQotCi1mdW5jdGlv
biBjb252ZXJ0TW9qb0RldmljZUZpbHRlcihpbnB1dCkgewotICBsZXQgb3V0cHV0ID0ge307Ci0g
IGlmIChpbnB1dC5oYXNWZW5kb3JJZCkKLSAgICBvdXRwdXQudmVuZG9ySWQgPSBpbnB1dC52ZW5k
b3JJZDsKLSAgaWYgKGlucHV0Lmhhc1Byb2R1Y3RJZCkKLSAgICBvdXRwdXQucHJvZHVjdElkID0g
aW5wdXQucHJvZHVjdElkOwotICBpZiAoaW5wdXQuaGFzQ2xhc3NDb2RlKQotICAgIG91dHB1dC5j
bGFzc0NvZGUgPSBpbnB1dC5jbGFzc0NvZGU7Ci0gIGlmIChpbnB1dC5oYXNTdWJjbGFzc0NvZGUp
Ci0gICAgb3V0cHV0LnN1YmNsYXNzQ29kZSA9IGlucHV0LnN1YmNsYXNzQ29kZTsKLSAgaWYgKGlu
cHV0Lmhhc1Byb3RvY29sQ29kZSkKLSAgICBvdXRwdXQucHJvdG9jb2xDb2RlID0gaW5wdXQucHJv
dG9jb2xDb2RlOwotICBpZiAoaW5wdXQuc2VyaWFsTnVtYmVyKQotICAgIG91dHB1dC5zZXJpYWxO
dW1iZXIgPSBtb2pvU3RyaW5nMTZUb1N0cmluZyhpbnB1dC5zZXJpYWxOdW1iZXIpOwotICByZXR1
cm4gb3V0cHV0OwotfQotCi1jbGFzcyBGYWtlRGV2aWNlIHsKLSAgY29uc3RydWN0b3IoZGV2aWNl
SW5pdCkgewotICAgIHRoaXMuaW5mb18gPSBkZXZpY2VJbml0OwotICAgIHRoaXMub3BlbmVkXyA9
IGZhbHNlOwotICAgIHRoaXMuY3VycmVudENvbmZpZ3VyYXRpb25fID0gbnVsbDsKLSAgICB0aGlz
LmNsYWltZWRJbnRlcmZhY2VzXyA9IG5ldyBNYXAoKTsKLSAgfQotCi0gIGdldENvbmZpZ3VyYXRp
b24oKSB7Ci0gICAgaWYgKHRoaXMuY3VycmVudENvbmZpZ3VyYXRpb25fKSB7Ci0gICAgICByZXR1
cm4gUHJvbWlzZS5yZXNvbHZlKHsKLSAgICAgICAgICB2YWx1ZTogdGhpcy5jdXJyZW50Q29uZmln
dXJhdGlvbl8uY29uZmlndXJhdGlvblZhbHVlIH0pOwotICAgIH0gZWxzZSB7Ci0gICAgICByZXR1
cm4gUHJvbWlzZS5yZXNvbHZlKHsgdmFsdWU6IDAgfSk7Ci0gICAgfQotICB9Ci0KLSAgb3Blbigp
IHsKLSAgICBhc3NlcnRfZmFsc2UodGhpcy5vcGVuZWRfKTsKLSAgICB0aGlzLm9wZW5lZF8gPSB0
cnVlOwotICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoeyBlcnJvcjogZGV2aWNlLm1vam9tLlVz
Yk9wZW5EZXZpY2VFcnJvci5PSyB9KTsKLSAgfQotCi0gIGNsb3NlKCkgewotICAgIGFzc2VydF90
cnVlKHRoaXMub3BlbmVkXyk7Ci0gICAgdGhpcy5vcGVuZWRfID0gZmFsc2U7Ci0gICAgcmV0dXJu
IFByb21pc2UucmVzb2x2ZSgpOwotICB9Ci0KLSAgc2V0Q29uZmlndXJhdGlvbih2YWx1ZSkgewot
ICAgIGFzc2VydF90cnVlKHRoaXMub3BlbmVkXyk7Ci0KLSAgICBsZXQgc2VsZWN0ZWRDb25maWd1
cmF0aW9uID0gdGhpcy5pbmZvXy5jb25maWd1cmF0aW9ucy5maW5kKAotICAgICAgICBjb25maWd1
cmF0aW9uID0+IGNvbmZpZ3VyYXRpb24uY29uZmlndXJhdGlvblZhbHVlID09IHZhbHVlKTsKLSAg
ICAvLyBCbGluayBzaG91bGQgbmV2ZXIgcmVxdWVzdCBhbiBpbnZhbGlkIGNvbmZpZ3VyYXRpb24u
Ci0gICAgYXNzZXJ0X25vdF9lcXVhbHMoc2VsZWN0ZWRDb25maWd1cmF0aW9uLCB1bmRlZmluZWQp
OwotICAgIHRoaXMuY3VycmVudENvbmZpZ3VyYXRpb25fID0gc2VsZWN0ZWRDb25maWd1cmF0aW9u
OwotICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoeyBzdWNjZXNzOiB0cnVlIH0pOwotICB9Ci0K
LSAgY2xhaW1JbnRlcmZhY2UoaW50ZXJmYWNlTnVtYmVyKSB7Ci0gICAgYXNzZXJ0X3RydWUodGhp
cy5vcGVuZWRfKTsKLSAgICBhc3NlcnRfZmFsc2UodGhpcy5jdXJyZW50Q29uZmlndXJhdGlvbl8g
PT0gbnVsbCwgJ2RldmljZSBjb25maWd1cmVkJyk7Ci0gICAgYXNzZXJ0X2ZhbHNlKHRoaXMuY2xh
aW1lZEludGVyZmFjZXNfLmhhcyhpbnRlcmZhY2VOdW1iZXIpLAotICAgICAgICAgICAgICAgICAn
aW50ZXJmYWNlIGFscmVhZHkgY2xhaW1lZCcpOwotCi0gICAgLy8gQmxpbmsgc2hvdWxkIG5ldmVy
IHJlcXVlc3QgYW4gaW52YWxpZCBpbnRlcmZhY2UuCi0gICAgYXNzZXJ0X3RydWUodGhpcy5jdXJy
ZW50Q29uZmlndXJhdGlvbl8uaW50ZXJmYWNlcy5zb21lKAotICAgICAgICAgICAgaWZhY2UgPT4g
aWZhY2UuaW50ZXJmYWNlTnVtYmVyID09IGludGVyZmFjZU51bWJlcikpOwotICAgIHRoaXMuY2xh
aW1lZEludGVyZmFjZXNfLnNldChpbnRlcmZhY2VOdW1iZXIsIDApOwotICAgIHJldHVybiBQcm9t
aXNlLnJlc29sdmUoeyBzdWNjZXNzOiB0cnVlIH0pOwotICB9Ci0KLSAgcmVsZWFzZUludGVyZmFj
ZShpbnRlcmZhY2VOdW1iZXIpIHsKLSAgICBhc3NlcnRfdHJ1ZSh0aGlzLm9wZW5lZF8pOwotICAg
IGFzc2VydF9mYWxzZSh0aGlzLmN1cnJlbnRDb25maWd1cmF0aW9uXyA9PSBudWxsLCAnZGV2aWNl
IGNvbmZpZ3VyZWQnKTsKLSAgICBhc3NlcnRfdHJ1ZSh0aGlzLmNsYWltZWRJbnRlcmZhY2VzXy5o
YXMoaW50ZXJmYWNlTnVtYmVyKSk7Ci0gICAgdGhpcy5jbGFpbWVkSW50ZXJmYWNlc18uZGVsZXRl
KGludGVyZmFjZU51bWJlcik7Ci0gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh7IHN1Y2Nlc3M6
IHRydWUgfSk7Ci0gIH0KLQotICBzZXRJbnRlcmZhY2VBbHRlcm5hdGVTZXR0aW5nKGludGVyZmFj
ZU51bWJlciwgYWx0ZXJuYXRlU2V0dGluZykgewotICAgIGFzc2VydF90cnVlKHRoaXMub3BlbmVk
Xyk7Ci0gICAgYXNzZXJ0X2ZhbHNlKHRoaXMuY3VycmVudENvbmZpZ3VyYXRpb25fID09IG51bGws
ICdkZXZpY2UgY29uZmlndXJlZCcpOwotICAgIGFzc2VydF90cnVlKHRoaXMuY2xhaW1lZEludGVy
ZmFjZXNfLmhhcyhpbnRlcmZhY2VOdW1iZXIpKTsKLQotICAgIGxldCBpZmFjZSA9IHRoaXMuY3Vy
cmVudENvbmZpZ3VyYXRpb25fLmludGVyZmFjZXMuZmluZCgKLSAgICAgICAgaWZhY2UgPT4gaWZh
Y2UuaW50ZXJmYWNlTnVtYmVyID09IGludGVyZmFjZU51bWJlcik7Ci0gICAgLy8gQmxpbmsgc2hv
dWxkIG5ldmVyIHJlcXVlc3QgYW4gaW52YWxpZCBpbnRlcmZhY2Ugb3IgYWx0ZXJuYXRlLgotICAg
IGFzc2VydF9mYWxzZShpZmFjZSA9PSB1bmRlZmluZWQpOwotICAgIGFzc2VydF90cnVlKGlmYWNl
LmFsdGVybmF0ZXMuc29tZSgKLSAgICAgICAgeCA9PiB4LmFsdGVybmF0ZVNldHRpbmcgPT0gYWx0
ZXJuYXRlU2V0dGluZykpOwotICAgIHRoaXMuY2xhaW1lZEludGVyZmFjZXNfLnNldChpbnRlcmZh
Y2VOdW1iZXIsIGFsdGVybmF0ZVNldHRpbmcpOwotICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUo
eyBzdWNjZXNzOiB0cnVlIH0pOwotICB9Ci0KLSAgcmVzZXQoKSB7Ci0gICAgYXNzZXJ0X3RydWUo
dGhpcy5vcGVuZWRfKTsKLSAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHsgc3VjY2VzczogdHJ1
ZSB9KTsKLSAgfQotCi0gIGNsZWFySGFsdChlbmRwb2ludCkgewotICAgIGFzc2VydF90cnVlKHRo
aXMub3BlbmVkXyk7Ci0gICAgYXNzZXJ0X2ZhbHNlKHRoaXMuY3VycmVudENvbmZpZ3VyYXRpb25f
ID09IG51bGwsICdkZXZpY2UgY29uZmlndXJlZCcpOwotICAgIC8vIFRPRE8ocmVpbGx5Zyk6IEFz
c2VydCB0aGF0IGVuZHBvaW50IGlzIHZhbGlkLgotICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUo
eyBzdWNjZXNzOiB0cnVlIH0pOwotICB9Ci0KLSAgY29udHJvbFRyYW5zZmVySW4ocGFyYW1zLCBs
ZW5ndGgsIHRpbWVvdXQpIHsKLSAgICBhc3NlcnRfdHJ1ZSh0aGlzLm9wZW5lZF8pOwotICAgIGFz
c2VydF9mYWxzZSh0aGlzLmN1cnJlbnRDb25maWd1cmF0aW9uXyA9PSBudWxsLCAnZGV2aWNlIGNv
bmZpZ3VyZWQnKTsKLSAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHsKLSAgICAgIHN0YXR1czog
ZGV2aWNlLm1vam9tLlVzYlRyYW5zZmVyU3RhdHVzLk9LLAotICAgICAgZGF0YTogW2xlbmd0aCA+
PiA4LCBsZW5ndGggJiAweGZmLCBwYXJhbXMucmVxdWVzdCwgcGFyYW1zLnZhbHVlID4+IDgsCi0g
ICAgICAgICAgICAgcGFyYW1zLnZhbHVlICYgMHhmZiwgcGFyYW1zLmluZGV4ID4+IDgsIHBhcmFt
cy5pbmRleCAmIDB4ZmZdCi0gICAgfSk7Ci0gIH0KLQotICBjb250cm9sVHJhbnNmZXJPdXQocGFy
YW1zLCBkYXRhLCB0aW1lb3V0KSB7Ci0gICAgYXNzZXJ0X3RydWUodGhpcy5vcGVuZWRfKTsKLSAg
ICBhc3NlcnRfZmFsc2UodGhpcy5jdXJyZW50Q29uZmlndXJhdGlvbl8gPT0gbnVsbCwgJ2Rldmlj
ZSBjb25maWd1cmVkJyk7Ci0gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh7Ci0gICAgICBzdGF0
dXM6IGRldmljZS5tb2pvbS5Vc2JUcmFuc2ZlclN0YXR1cy5PSywKLSAgICAgIGJ5dGVzV3JpdHRl
bjogZGF0YS5ieXRlTGVuZ3RoCi0gICAgfSk7Ci0gIH0KLQotICBnZW5lcmljVHJhbnNmZXJJbihl
bmRwb2ludE51bWJlciwgbGVuZ3RoLCB0aW1lb3V0KSB7Ci0gICAgYXNzZXJ0X3RydWUodGhpcy5v
cGVuZWRfKTsKLSAgICBhc3NlcnRfZmFsc2UodGhpcy5jdXJyZW50Q29uZmlndXJhdGlvbl8gPT0g
bnVsbCwgJ2RldmljZSBjb25maWd1cmVkJyk7Ci0gICAgLy8gVE9ETyhyZWlsbHlnKTogQXNzZXJ0
IHRoYXQgZW5kcG9pbnQgaXMgdmFsaWQuCi0gICAgbGV0IGRhdGEgPSBuZXcgQXJyYXkobGVuZ3Ro
KTsKLSAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxlbmd0aDsgKytpKQotICAgICAgZGF0YVtpXSA9
IGkgJiAweGZmOwotICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoewotICAgICAgc3RhdHVzOiBk
ZXZpY2UubW9qb20uVXNiVHJhbnNmZXJTdGF0dXMuT0ssCi0gICAgICBkYXRhOiBkYXRhCi0gICAg
fSk7Ci0gIH0KLQotICBnZW5lcmljVHJhbnNmZXJPdXQoZW5kcG9pbnROdW1iZXIsIGRhdGEsIHRp
bWVvdXQpIHsKLSAgICBhc3NlcnRfdHJ1ZSh0aGlzLm9wZW5lZF8pOwotICAgIGFzc2VydF9mYWxz
ZSh0aGlzLmN1cnJlbnRDb25maWd1cmF0aW9uXyA9PSBudWxsLCAnZGV2aWNlIGNvbmZpZ3VyZWQn
KTsKLSAgICAvLyBUT0RPKHJlaWxseWcpOiBBc3NlcnQgdGhhdCBlbmRwb2ludCBpcyB2YWxpZC4K
LSAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHsKLSAgICAgIHN0YXR1czogZGV2aWNlLm1vam9t
LlVzYlRyYW5zZmVyU3RhdHVzLk9LLAotICAgICAgYnl0ZXNXcml0dGVuOiBkYXRhLmJ5dGVMZW5n
dGgKLSAgICB9KTsKLSAgfQotCi0gIGlzb2Nocm9ub3VzVHJhbnNmZXJJbihlbmRwb2ludE51bWJl
ciwgcGFja2V0TGVuZ3RocywgdGltZW91dCkgewotICAgIGFzc2VydF90cnVlKHRoaXMub3BlbmVk
Xyk7Ci0gICAgYXNzZXJ0X2ZhbHNlKHRoaXMuY3VycmVudENvbmZpZ3VyYXRpb25fID09IG51bGws
ICdkZXZpY2UgY29uZmlndXJlZCcpOwotICAgIC8vIFRPRE8ocmVpbGx5Zyk6IEFzc2VydCB0aGF0
IGVuZHBvaW50IGlzIHZhbGlkLgotICAgIGxldCBkYXRhID0gbmV3IEFycmF5KHBhY2tldExlbmd0
aHMucmVkdWNlKChhLCBiKSA9PiBhICsgYiwgMCkpOwotICAgIGxldCBkYXRhT2Zmc2V0ID0gMDsK
LSAgICBsZXQgcGFja2V0cyA9IG5ldyBBcnJheShwYWNrZXRMZW5ndGhzLmxlbmd0aCk7Ci0gICAg
Zm9yIChsZXQgaSA9IDA7IGkgPCBwYWNrZXRMZW5ndGhzLmxlbmd0aDsgKytpKSB7Ci0gICAgICBm
b3IgKGxldCBqID0gMDsgaiA8IHBhY2tldExlbmd0aHNbaV07ICsraikKLSAgICAgICAgZGF0YVtk
YXRhT2Zmc2V0KytdID0gaiAmIDB4ZmY7Ci0gICAgICBwYWNrZXRzW2ldID0gewotICAgICAgICBs
ZW5ndGg6IHBhY2tldExlbmd0aHNbaV0sCi0gICAgICAgIHRyYW5zZmVycmVkTGVuZ3RoOiBwYWNr
ZXRMZW5ndGhzW2ldLAotICAgICAgICBzdGF0dXM6IGRldmljZS5tb2pvbS5Vc2JUcmFuc2ZlclN0
YXR1cy5PSwotICAgICAgfTsKLSAgICB9Ci0gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh7IGRh
dGE6IGRhdGEsIHBhY2tldHM6IHBhY2tldHMgfSk7Ci0gIH0KLQotICBpc29jaHJvbm91c1RyYW5z
ZmVyT3V0KGVuZHBvaW50TnVtYmVyLCBkYXRhLCBwYWNrZXRMZW5ndGhzLCB0aW1lb3V0KSB7Ci0g
ICAgYXNzZXJ0X3RydWUodGhpcy5vcGVuZWRfKTsKLSAgICBhc3NlcnRfZmFsc2UodGhpcy5jdXJy
ZW50Q29uZmlndXJhdGlvbl8gPT0gbnVsbCwgJ2RldmljZSBjb25maWd1cmVkJyk7Ci0gICAgLy8g
VE9ETyhyZWlsbHlnKTogQXNzZXJ0IHRoYXQgZW5kcG9pbnQgaXMgdmFsaWQuCi0gICAgbGV0IHBh
Y2tldHMgPSBuZXcgQXJyYXkocGFja2V0TGVuZ3Rocy5sZW5ndGgpOwotICAgIGZvciAobGV0IGkg
PSAwOyBpIDwgcGFja2V0TGVuZ3Rocy5sZW5ndGg7ICsraSkgewotICAgICAgcGFja2V0c1tpXSA9
IHsKLSAgICAgICAgbGVuZ3RoOiBwYWNrZXRMZW5ndGhzW2ldLAotICAgICAgICB0cmFuc2ZlcnJl
ZExlbmd0aDogcGFja2V0TGVuZ3Roc1tpXSwKLSAgICAgICAgc3RhdHVzOiBkZXZpY2UubW9qb20u
VXNiVHJhbnNmZXJTdGF0dXMuT0sKLSAgICAgIH07Ci0gICAgfQotICAgIHJldHVybiBQcm9taXNl
LnJlc29sdmUoeyBwYWNrZXRzOiBwYWNrZXRzIH0pOwotICB9Ci19Ci0KLWNsYXNzIEZha2VEZXZp
Y2VNYW5hZ2VyIHsKLSAgY29uc3RydWN0b3IoKSB7Ci0gICAgdGhpcy5iaW5kaW5nU2V0XyA9IG5l
dyBtb2pvLkJpbmRpbmdTZXQoZGV2aWNlLm1vam9tLlVzYkRldmljZU1hbmFnZXIpOwotICAgIHRo
aXMuZGV2aWNlc18gPSBuZXcgTWFwKCk7Ci0gICAgdGhpcy5kZXZpY2VzQnlHdWlkXyA9IG5ldyBN
YXAoKTsKLSAgICB0aGlzLmNsaWVudF8gPSBudWxsOwotICAgIHRoaXMubmV4dEd1aWRfID0gMDsK
LSAgfQotCi0gIGFkZEJpbmRpbmcoaGFuZGxlKSB7Ci0gICAgdGhpcy5iaW5kaW5nU2V0Xy5hZGRC
aW5kaW5nKHRoaXMsIGhhbmRsZSk7Ci0gIH0KLQotICBhZGREZXZpY2UoZmFrZURldmljZSwgaW5m
bykgewotICAgIGxldCBkZXZpY2UgPSB7Ci0gICAgICBmYWtlRGV2aWNlOiBmYWtlRGV2aWNlLAot
ICAgICAgZ3VpZDogKHRoaXMubmV4dEd1aWRfKyspLnRvU3RyaW5nKCksCi0gICAgICBpbmZvOiBp
bmZvLAotICAgICAgYmluZGluZ0FycmF5OiBbXQotICAgIH07Ci0gICAgdGhpcy5kZXZpY2VzXy5z
ZXQoZmFrZURldmljZSwgZGV2aWNlKTsKLSAgICB0aGlzLmRldmljZXNCeUd1aWRfLnNldChkZXZp
Y2UuZ3VpZCwgZGV2aWNlKTsKLSAgICBpZiAodGhpcy5jbGllbnRfKQotICAgICAgdGhpcy5jbGll
bnRfLm9uRGV2aWNlQWRkZWQoZmFrZURldmljZUluaXRUb0RldmljZUluZm8oZGV2aWNlLmd1aWQs
IGluZm8pKTsKLSAgfQotCi0gIHJlbW92ZURldmljZShmYWtlRGV2aWNlKSB7Ci0gICAgbGV0IGRl
dmljZSA9IHRoaXMuZGV2aWNlc18uZ2V0KGZha2VEZXZpY2UpOwotICAgIGlmICghZGV2aWNlKQot
ICAgICAgdGhyb3cgbmV3IEVycm9yKCdDYW5ub3QgcmVtb3ZlIHVua25vd24gZGV2aWNlLicpOwot
Ci0gICAgZm9yICh2YXIgYmluZGluZyBvZiBkZXZpY2UuYmluZGluZ0FycmF5KQotICAgICAgYmlu
ZGluZy5jbG9zZSgpOwotICAgIHRoaXMuZGV2aWNlc18uZGVsZXRlKGRldmljZS5mYWtlRGV2aWNl
KTsKLSAgICB0aGlzLmRldmljZXNCeUd1aWRfLmRlbGV0ZShkZXZpY2UuZ3VpZCk7Ci0gICAgaWYg
KHRoaXMuY2xpZW50XykgewotICAgICAgdGhpcy5jbGllbnRfLm9uRGV2aWNlUmVtb3ZlZCgKLSAg
ICAgICAgICBmYWtlRGV2aWNlSW5pdFRvRGV2aWNlSW5mbyhkZXZpY2UuZ3VpZCwgZGV2aWNlLmlu
Zm8pKTsKLSAgICB9Ci0gIH0KLQotICByZW1vdmVBbGxEZXZpY2VzKCkgewotICAgIHRoaXMuZGV2
aWNlc18uZm9yRWFjaChkZXZpY2UgPT4gewotICAgICAgZm9yICh2YXIgYmluZGluZyBvZiBkZXZp
Y2UuYmluZGluZ0FycmF5KQotICAgICAgICBiaW5kaW5nLmNsb3NlKCk7Ci0gICAgICB0aGlzLmNs
aWVudF8ub25EZXZpY2VSZW1vdmVkKAotICAgICAgICAgIGZha2VEZXZpY2VJbml0VG9EZXZpY2VJ
bmZvKGRldmljZS5ndWlkLCBkZXZpY2UuaW5mbykpOwotICAgIH0pOwotICAgIHRoaXMuZGV2aWNl
c18uY2xlYXIoKTsKLSAgICB0aGlzLmRldmljZXNCeUd1aWRfLmNsZWFyKCk7Ci0gIH0KLQotICBn
ZXREZXZpY2VzKG9wdGlvbnMpIHsKLSAgICBsZXQgZGV2aWNlcyA9IFtdOwotICAgIHRoaXMuZGV2
aWNlc18uZm9yRWFjaChkZXZpY2UgPT4gewotICAgICAgZGV2aWNlcy5wdXNoKGZha2VEZXZpY2VJ
bml0VG9EZXZpY2VJbmZvKGRldmljZS5ndWlkLCBkZXZpY2UuaW5mbykpOwotICAgIH0pOwotICAg
IHJldHVybiBQcm9taXNlLnJlc29sdmUoeyByZXN1bHRzOiBkZXZpY2VzIH0pOwotICB9Ci0KLSAg
Z2V0RGV2aWNlKGd1aWQsIHJlcXVlc3QpIHsKLSAgICBsZXQgZGV2aWNlID0gdGhpcy5kZXZpY2Vz
QnlHdWlkXy5nZXQoZ3VpZCk7Ci0gICAgaWYgKGRldmljZSkgewotICAgICAgbGV0IGJpbmRpbmcg
PSBuZXcgbW9qby5CaW5kaW5nKAotICAgICAgICAgIHdpbmRvdy5kZXZpY2UubW9qb20uVXNiRGV2
aWNlLCBuZXcgRmFrZURldmljZShkZXZpY2UuaW5mbyksIHJlcXVlc3QpOwotICAgICAgYmluZGlu
Zy5zZXRDb25uZWN0aW9uRXJyb3JIYW5kbGVyKCgpID0+IHsKLSAgICAgICAgaWYgKGRldmljZS5m
YWtlRGV2aWNlLm9uY2xvc2UpCi0gICAgICAgICAgZGV2aWNlLmZha2VEZXZpY2Uub25jbG9zZSgp
OwotICAgICAgfSk7Ci0gICAgICBkZXZpY2UuYmluZGluZ0FycmF5LnB1c2goYmluZGluZyk7Ci0g
ICAgfSBlbHNlIHsKLSAgICAgIHJlcXVlc3QuY2xvc2UoKTsKLSAgICB9Ci0gIH0KLQotICBzZXRD
bGllbnQoY2xpZW50KSB7Ci0gICAgdGhpcy5jbGllbnRfID0gY2xpZW50OwotICB9Ci19Ci0KLWNs
YXNzIFVTQkRldmljZVJlcXVlc3RFdmVudCB7Ci0gIGNvbnN0cnVjdG9yKGRldmljZUZpbHRlcnMs
IHJlc29sdmUpIHsKLSAgICB0aGlzLmZpbHRlcnMgPSBjb252ZXJ0TW9qb0RldmljZUZpbHRlcnMo
ZGV2aWNlRmlsdGVycyk7Ci0gICAgdGhpcy5yZXNvbHZlRnVuY18gPSByZXNvbHZlOwotICB9Ci0K
LSAgcmVzcG9uZFdpdGgodmFsdWUpIHsKLSAgICAvLyBXYWl0IHVudGlsIHx2YWx1ZXwgcmVzb2x2
ZXMgKGlmIGl0IGlzIGEgUHJvbWlzZSkuIFRoaXMgZnVuY3Rpb24gcmV0dXJucwotICAgIC8vIG5v
IHZhbHVlLgotICAgIFByb21pc2UucmVzb2x2ZSh2YWx1ZSkudGhlbihmYWtlRGV2aWNlID0+IHsK
LSAgICAgIGxldCBkZXZpY2UgPSBpbnRlcm5hbC5kZXZpY2VNYW5hZ2VyLmRldmljZXNfLmdldChm
YWtlRGV2aWNlKTsKLSAgICAgIGxldCByZXN1bHQgPSBudWxsOwotICAgICAgaWYgKGRldmljZSkg
ewotICAgICAgICByZXN1bHQgPSBmYWtlRGV2aWNlSW5pdFRvRGV2aWNlSW5mbyhkZXZpY2UuZ3Vp
ZCwgZGV2aWNlLmluZm8pOwotICAgICAgfQotICAgICAgdGhpcy5yZXNvbHZlRnVuY18oeyByZXN1
bHQ6IHJlc3VsdCB9KTsKLSAgICB9LCAoKSA9PiB7Ci0gICAgICB0aGlzLnJlc29sdmVGdW5jXyh7
IHJlc3VsdDogbnVsbCB9KTsKLSAgICB9KTsKLSAgfQotfQotCi1jbGFzcyBGYWtlQ2hvb3NlclNl
cnZpY2UgewotICBjb25zdHJ1Y3RvcigpIHsKLSAgICB0aGlzLmJpbmRpbmdTZXRfID0gbmV3IG1v
am8uQmluZGluZ1NldChkZXZpY2UubW9qb20uVXNiQ2hvb3NlclNlcnZpY2UpOwotICB9Ci0KLSAg
YWRkQmluZGluZyhoYW5kbGUpIHsKLSAgICB0aGlzLmJpbmRpbmdTZXRfLmFkZEJpbmRpbmcodGhp
cywgaGFuZGxlKTsKLSAgfQotCi0gIGdldFBlcm1pc3Npb24oZGV2aWNlRmlsdGVycykgewotICAg
IHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKLSAgICAgIGlmIChuYXZpZ2F0b3IudXNi
LnRlc3Qub25yZXF1ZXN0ZGV2aWNlKSB7Ci0gICAgICAgIG5hdmlnYXRvci51c2IudGVzdC5vbnJl
cXVlc3RkZXZpY2UoCi0gICAgICAgICAgICBuZXcgVVNCRGV2aWNlUmVxdWVzdEV2ZW50KGRldmlj
ZUZpbHRlcnMsIHJlc29sdmUpKTsKLSAgICAgIH0gZWxzZSB7Ci0gICAgICAgIHJlc29sdmUoeyBy
ZXN1bHQ6IG51bGwgfSk7Ci0gICAgICB9Ci0gICAgfSk7Ci0gIH0KLX0KLQotLy8gVW5saWtlIEZh
a2VEZXZpY2UgdGhpcyBjbGFzcyBpcyBleHBvcnRlZCB0byBjYWxsZXJzIG9mIFVTQlRlc3QuYWRk
RmFrZURldmljZS4KLWNsYXNzIEZha2VVU0JEZXZpY2UgewotICBjb25zdHJ1Y3RvcigpIHsKLSAg
ICB0aGlzLm9uY2xvc2UgPSBudWxsOwotICB9Ci0KLSAgZGlzY29ubmVjdCgpIHsKLSAgICBzZXRU
aW1lb3V0KCgpID0+IGludGVybmFsLmRldmljZU1hbmFnZXIucmVtb3ZlRGV2aWNlKHRoaXMpLCAw
KTsKLSAgfQotfQotCi0vLyBBIGhlbHBlciBmb3IgZm9yd2FyZGluZyBNb2pvSGFuZGxlIGluc3Rh
bmNlcyBmcm9tIG9uZSBmcmFtZSB0byBhbm90aGVyLgotY2xhc3MgQ3Jvc3NGcmFtZUhhbmRsZVBy
b3h5IHsKLSAgY29uc3RydWN0b3IoY2FsbGJhY2spIHsKLSAgICBsZXQge2hhbmRsZTAsIGhhbmRs
ZTF9ID0gTW9qby5jcmVhdGVNZXNzYWdlUGlwZSgpOwotICAgIHRoaXMuc2VuZGVyXyA9IGhhbmRs
ZTA7Ci0gICAgdGhpcy5yZWNlaXZlcl8gPSBoYW5kbGUxOwotICAgIHRoaXMucmVjZWl2ZXJfLndh
dGNoKHtyZWFkYWJsZTogdHJ1ZX0sICgpID0+IHsKLSAgICAgIGxldCBtZXNzYWdlID0gdGhpcy5y
ZWNlaXZlcl8ucmVhZE1lc3NhZ2UoKTsKLSAgICAgIGFzc2VydF9lcXVhbHMobWVzc2FnZS5idWZm
ZXIuYnl0ZUxlbmd0aCwgMCk7Ci0gICAgICBhc3NlcnRfZXF1YWxzKG1lc3NhZ2UuaGFuZGxlcy5s
ZW5ndGgsIDEpOwotICAgICAgY2FsbGJhY2sobWVzc2FnZS5oYW5kbGVzWzBdKTsKLSAgICB9KTsK
LSAgfQotCi0gIGZvcndhcmRIYW5kbGUoaGFuZGxlKSB7Ci0gICAgdGhpcy5zZW5kZXJfLndyaXRl
TWVzc2FnZShuZXcgQXJyYXlCdWZmZXIsIFtoYW5kbGVdKTsKLSAgfQotfQotCi1jbGFzcyBVU0JU
ZXN0IHsKLSAgY29uc3RydWN0b3IoKSB7Ci0gICAgdGhpcy5vbnJlcXVlc3RkZXZpY2UgPSB1bmRl
ZmluZWQ7Ci0gIH0KLQotICBhc3luYyBpbml0aWFsaXplKCkgewotICAgIGlmIChpbnRlcm5hbC5p
bml0aWFsaXplZCkKLSAgICAgIHJldHVybjsKLQotICAgIGludGVybmFsLmRldmljZU1hbmFnZXIg
PSBuZXcgRmFrZURldmljZU1hbmFnZXIoKTsKLSAgICBpbnRlcm5hbC5kZXZpY2VNYW5hZ2VySW50
ZXJjZXB0b3IgPQotICAgICAgICBuZXcgTW9qb0ludGVyZmFjZUludGVyY2VwdG9yKGRldmljZS5t
b2pvbS5Vc2JEZXZpY2VNYW5hZ2VyLm5hbWUpOwotICAgIGludGVybmFsLmRldmljZU1hbmFnZXJJ
bnRlcmNlcHRvci5vbmludGVyZmFjZXJlcXVlc3QgPQotICAgICAgICBlID0+IGludGVybmFsLmRl
dmljZU1hbmFnZXIuYWRkQmluZGluZyhlLmhhbmRsZSk7Ci0gICAgaW50ZXJuYWwuZGV2aWNlTWFu
YWdlckludGVyY2VwdG9yLnN0YXJ0KCk7Ci0gICAgaW50ZXJuYWwuZGV2aWNlTWFuYWdlckNyb3Nz
RnJhbWVQcm94eSA9IG5ldyBDcm9zc0ZyYW1lSGFuZGxlUHJveHkoCi0gICAgICAgIGhhbmRsZSA9
PiBpbnRlcm5hbC5kZXZpY2VNYW5hZ2VyLmFkZEJpbmRpbmcoaGFuZGxlKSk7Ci0KLSAgICBpbnRl
cm5hbC5jaG9vc2VyID0gbmV3IEZha2VDaG9vc2VyU2VydmljZSgpOwotICAgIGludGVybmFsLmNo
b29zZXJJbnRlcmNlcHRvciA9Ci0gICAgICAgIG5ldyBNb2pvSW50ZXJmYWNlSW50ZXJjZXB0b3Io
ZGV2aWNlLm1vam9tLlVzYkNob29zZXJTZXJ2aWNlLm5hbWUpOwotICAgIGludGVybmFsLmNob29z
ZXJJbnRlcmNlcHRvci5vbmludGVyZmFjZXJlcXVlc3QgPQotICAgICAgICBlID0+IGludGVybmFs
LmNob29zZXIuYWRkQmluZGluZyhlLmhhbmRsZSk7Ci0gICAgaW50ZXJuYWwuY2hvb3NlckludGVy
Y2VwdG9yLnN0YXJ0KCk7Ci0gICAgaW50ZXJuYWwuY2hvb3NlckNyb3NzRnJhbWVQcm94eSA9IG5l
dyBDcm9zc0ZyYW1lSGFuZGxlUHJveHkoCi0gICAgICAgIGhhbmRsZSA9PiBpbnRlcm5hbC5jaG9v
c2VyLmFkZEJpbmRpbmcoaGFuZGxlKSk7Ci0KLSAgICAvLyBXYWl0IGZvciBhIGNhbGwgdG8gR2V0
RGV2aWNlcygpIHRvIHBhc3MgYmV0d2VlbiB0aGUgcmVuZGVyZXIgYW5kIHRoZQotICAgIC8vIG1v
Y2sgaW4gb3JkZXIgdG8gZXN0YWJsaXNoIHRoYXQgZXZlcnl0aGluZyBpcyBzZXQgdXAuCi0gICAg
YXdhaXQgbmF2aWdhdG9yLnVzYi5nZXREZXZpY2VzKCk7Ci0gICAgaW50ZXJuYWwuaW5pdGlhbGl6
ZWQgPSB0cnVlOwotICB9Ci0KLSAgYXN5bmMgYXR0YWNoVG9XaW5kb3cob3RoZXJXaW5kb3cpIHsK
LSAgICBpZiAoIWludGVybmFsLmluaXRpYWxpemVkKQotICAgICAgdGhyb3cgbmV3IEVycm9yKCdD
YWxsIGluaXRpYWxpemUoKSBiZWZvcmUgYXR0YWNoVG9XaW5kb3coKS4nKTsKLQotICAgIG90aGVy
V2luZG93LmRldmljZU1hbmFnZXJJbnRlcmNlcHRvciA9Ci0gICAgICAgIG5ldyBvdGhlcldpbmRv
dy5Nb2pvSW50ZXJmYWNlSW50ZXJjZXB0b3IoCi0gICAgICAgICAgICBkZXZpY2UubW9qb20uVXNi
RGV2aWNlTWFuYWdlci5uYW1lKTsKLSAgICBvdGhlcldpbmRvdy5kZXZpY2VNYW5hZ2VySW50ZXJj
ZXB0b3Iub25pbnRlcmZhY2VyZXF1ZXN0ID0KLSAgICAgICAgZSA9PiBpbnRlcm5hbC5kZXZpY2VN
YW5hZ2VyQ3Jvc3NGcmFtZVByb3h5LmZvcndhcmRIYW5kbGUoZS5oYW5kbGUpOwotICAgIG90aGVy
V2luZG93LmRldmljZU1hbmFnZXJJbnRlcmNlcHRvci5zdGFydCgpOwotCi0gICAgb3RoZXJXaW5k
b3cuY2hvb3NlckludGVyY2VwdG9yID0KLSAgICAgICAgbmV3IG90aGVyV2luZG93Lk1vam9JbnRl
cmZhY2VJbnRlcmNlcHRvcigKLSAgICAgICAgICAgIGRldmljZS5tb2pvbS5Vc2JDaG9vc2VyU2Vy
dmljZS5uYW1lKTsKLSAgICBvdGhlcldpbmRvdy5jaG9vc2VySW50ZXJjZXB0b3Iub25pbnRlcmZh
Y2VyZXF1ZXN0ID0KLSAgICAgICAgZSA9PiBpbnRlcm5hbC5jaG9vc2VyQ3Jvc3NGcmFtZVByb3h5
LmZvcndhcmRIYW5kbGUoZS5oYW5kbGUpOwotICAgIG90aGVyV2luZG93LmNob29zZXJJbnRlcmNl
cHRvci5zdGFydCgpOwotCi0gICAgLy8gV2FpdCBmb3IgYSBjYWxsIHRvIEdldERldmljZXMoKSB0
byBwYXNzIGJldHdlZW4gdGhlIHJlbmRlcmVyIGFuZCB0aGUKLSAgICAvLyBtb2NrIGluIG9yZGVy
IHRvIGVzdGFibGlzaCB0aGF0IGV2ZXJ5dGhpbmcgaXMgc2V0IHVwLgotICAgIGF3YWl0IG90aGVy
V2luZG93Lm5hdmlnYXRvci51c2IuZ2V0RGV2aWNlcygpOwotICB9Ci0KLSAgYWRkRmFrZURldmlj
ZShkZXZpY2VJbml0KSB7Ci0gICAgaWYgKCFpbnRlcm5hbC5pbml0aWFsaXplZCkKLSAgICAgIHRo
cm93IG5ldyBFcnJvcignQ2FsbCBpbml0aWFsaXplKCkgYmVmb3JlIGFkZEZha2VEZXZpY2UoKS4n
KTsKLQotICAgIC8vIHxhZGREZXZpY2V8IGFuZCB8cmVtb3ZlRGV2aWNlfCBhcmUgY2FsbGVkIGlu
IGEgc2V0VGltZW91dCBjYWxsYmFjayBzbwotICAgIC8vIHRoYXQgdGVzdHMgZG8gbm90IHJlbHkg
b24gdGhlIGRldmljZSBiZWluZyBpbW1lZGlhdGVseSBhdmFpbGFibGUgd2hpY2gKLSAgICAvLyBt
YXkgbm90IGJlIHRydWUgZm9yIGFsbCBpbXBsZW1lbnRhdGlvbnMgb2YgdGhpcyB0ZXN0IEFQSS4K
LSAgICBsZXQgZmFrZURldmljZSA9IG5ldyBGYWtlVVNCRGV2aWNlKCk7Ci0gICAgc2V0VGltZW91
dCgKLSAgICAgICAgKCkgPT4gaW50ZXJuYWwuZGV2aWNlTWFuYWdlci5hZGREZXZpY2UoZmFrZURl
dmljZSwgZGV2aWNlSW5pdCksIDApOwotICAgIHJldHVybiBmYWtlRGV2aWNlOwotICB9Ci0KLSAg
cmVzZXQoKSB7Ci0gICAgaWYgKCFpbnRlcm5hbC5pbml0aWFsaXplZCkKLSAgICAgIHRocm93IG5l
dyBFcnJvcignQ2FsbCBpbml0aWFsaXplKCkgYmVmb3JlIHJlc2V0KCkuJyk7Ci0KLSAgICAvLyBS
ZXNldCB0aGUgbW9ja3MgaW4gYSBzZXRUaW1lb3V0IGNhbGxiYWNrIHNvIHRoYXQgdGVzdHMgZG8g
bm90IHJlbHkgb24KLSAgICAvLyB0aGUgZmFjdCB0aGF0IHRoaXMgcG9seWZpbGwgY2FuIGRvIHRo
aXMgc3luY2hyb25vdXNseS4KLSAgICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7Ci0g
ICAgICBzZXRUaW1lb3V0KCgpID0+IHsKLSAgICAgICAgaW50ZXJuYWwuZGV2aWNlTWFuYWdlci5y
ZW1vdmVBbGxEZXZpY2VzKCk7Ci0gICAgICAgIHJlc29sdmUoKTsKLSAgICAgIH0sIDApOwotICAg
IH0pOwotICB9Ci19Ci0KLW5hdmlnYXRvci51c2IudGVzdCA9IG5ldyBVU0JUZXN0KCk7Ci0KLX0p
KCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy9jaHJvbWl1bS93ZWJ1c2ItdGVzdC5qcy5oZWFkZXJzIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vd2Vi
dXNiLXRlc3QuanMuaGVhZGVycwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjgwNWMz
MjNkZjVhOTc1MjMxNjQ4YjgzMGUzM2NlMTgzYzNjYmJkMy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS93ZWJ1c2ItdGVzdC5qcy5oZWFkZXJzCisr
KyAvZGV2L251bGwKQEAgLTEgKzAsMCBAQAotQ29udGVudC1UeXBlOiB0ZXh0L2phdmFzY3JpcHQ7
IGNoYXJzZXQ9dXRmLTgKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2RvY3MvYXBpLm1kIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZG9jcy9hcGkubWQKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM3YTg5MWU5MWVkZDI5YWI3MDFjN2U5ODAxYTkwN2VlYTlm
ZGQ3YmEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZG9jcy9h
cGkubWQKKysrIC9kZXYvbnVsbApAQCAtMSw3MDQgKzAsMCBAQAotIyMgSW50cm9kdWN0aW9uICMj
Ci0KLXRlc3RoYXJuZXNzLmpzIHByb3ZpZGVzIGEgZnJhbWV3b3JrIGZvciB3cml0aW5nIHRlc3Rj
YXNlcy4gSXQgaXMgaW50ZW5kZWQgdG8KLXByb3ZpZGUgYSBjb252ZW5pZW50IEFQSSBmb3IgbWFr
aW5nIGNvbW1vbiBhc3NlcnRpb25zLCBhbmQgdG8gd29yayBib3RoCi1mb3IgdGVzdGluZyBzeW5j
aHJvbm91cyBhbmQgYXN5bmNocm9ub3VzIERPTSBmZWF0dXJlcyBpbiBhIHdheSB0aGF0Ci1wcm9t
b3RlcyBjbGVhciwgcm9idXN0LCB0ZXN0cy4KLQotIyMgQmFzaWMgVXNhZ2UgIyMKLQotVGhlIHRl
c3QgaGFybmVzcyBzY3JpcHQgY2FuIGJlIHVzZWQgZnJvbSBIVE1MIG9yIFNWRyBkb2N1bWVudHMg
YW5kIHdlYiB3b3JrZXIKLXNjcmlwdHMuCi0KLUZyb20gYW4gSFRNTCBvciBTVkcgZG9jdW1lbnQs
IHN0YXJ0IGJ5IGltcG9ydGluZyBib3RoIGB0ZXN0aGFybmVzcy5qc2AgYW5kCi1gdGVzdGhhcm5l
c3NyZXBvcnQuanNgIHNjcmlwdHMgaW50byB0aGUgZG9jdW1lbnQ6Ci0KLWBgYGh0bWwKLTxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLWBgYAotCi1SZWZl
ciB0byB0aGUgW1dlYiBXb3JrZXJzXSgjd2ViLXdvcmtlcnMpIHNlY3Rpb24gZm9yIGRldGFpbHMg
YW5kIGFuIGV4YW1wbGUgb24KLXRlc3Rpbmcgd2l0aGluIGEgd2ViIHdvcmtlci4KLQotV2l0aGlu
IGVhY2ggZmlsZSBvbmUgbWF5IGRlZmluZSBvbmUgb3IgbW9yZSB0ZXN0cy4gRWFjaCB0ZXN0IGlz
IGF0b21pYyBpbiB0aGUKLXNlbnNlIHRoYXQgYSBzaW5nbGUgdGVzdCBoYXMgYSBzaW5nbGUgcmVz
dWx0IChgUEFTU2AvYEZBSUxgL2BUSU1FT1VUYC9gTk9UUlVOYCkuCi1XaXRoaW4gZWFjaCB0ZXN0
IG9uZSBtYXkgaGF2ZSBhIG51bWJlciBvZiBhc3NlcnRzLiBUaGUgdGVzdCBmYWlscyBhdCB0aGUg
Zmlyc3QKLWZhaWxpbmcgYXNzZXJ0LCBhbmQgdGhlIHJlbWFpbmRlciBvZiB0aGUgdGVzdCBpcyAo
dHlwaWNhbGx5KSBub3QgcnVuLgotCi1JZiB0aGUgZmlsZSBjb250YWluaW5nIHRoZSB0ZXN0cyBp
cyBhIEhUTUwgZmlsZSwgYSB0YWJsZSBjb250YWluaW5nIHRoZSB0ZXN0Ci1yZXN1bHRzIHdpbGwg
YmUgYWRkZWQgdG8gdGhlIGRvY3VtZW50IGFmdGVyIGFsbCB0ZXN0cyBoYXZlIHJ1bi4gQnkgZGVm
YXVsdCB0aGlzCi13aWxsIGJlIGFkZGVkIHRvIGEgYGRpdmAgZWxlbWVudCB3aXRoIGBpZD1sb2dg
IGlmIGl0IGV4aXN0cywgb3IgYSBuZXcgYGRpdmAKLWVsZW1lbnQgYXBwZW5kZWQgdG8gYGRvY3Vt
ZW50LmJvZHlgIGlmIGl0IGRvZXMgbm90LgotCi1OT1RFOiBCeSBkZWZhdWx0IHRlc3RzIG11c3Qg
YmUgY3JlYXRlZCBiZWZvcmUgdGhlIGxvYWQgZXZlbnQgZmlyZXMuIEZvciB3YXlzCi10byBjcmVh
dGUgdGVzdHMgYWZ0ZXIgdGhlIGxvYWQgZXZlbnQsIHNlZSAiRGV0ZXJtaW5pbmcgd2hlbiBhbGwg
dGVzdHMKLWFyZSBjb21wbGV0ZSIsIGJlbG93LgotCi0jIyBTeW5jaHJvbm91cyBUZXN0cyAjIwot
Ci1UbyBjcmVhdGUgYSBzeW5jaHJvbm91cyB0ZXN0IHVzZSB0aGUgYHRlc3QoKWAgZnVuY3Rpb246
Ci0KLWBgYGpzCi10ZXN0KHRlc3RfZnVuY3Rpb24sIG5hbWUsIHByb3BlcnRpZXMpCi1gYGAKLQot
YHRlc3RfZnVuY3Rpb25gIGlzIGEgZnVuY3Rpb24gdGhhdCBjb250YWlucyB0aGUgY29kZSB0byB0
ZXN0LiBGb3IgZXhhbXBsZSBhCi10cml2aWFsIHRlc3QgZm9yIHRoZSBET00KLVtgaGFzRmVhdHVy
ZSgpYF0oaHR0cHM6Ly9kb20uc3BlYy53aGF0d2cub3JnLyNkb20tZG9taW1wbGVtZW50YXRpb24t
aGFzZmVhdHVyZSkKLW1ldGhvZCAod2hpY2ggaXMgZGVmaW5lZCB0byBhbHdheXMgcmV0dXJuIHRy
dWUpIHdvdWxkIGJlOgotCi1gYGBqcwotdGVzdChmdW5jdGlvbigpIHsKLSAgYXNzZXJ0X3RydWUo
ZG9jdW1lbnQuaW1wbGVtZW50YXRpb24uaGFzRmVhdHVyZSgpKTsKLX0sICJoYXNGZWF0dXJlKCkg
d2l0aCBubyBhcmd1bWVudHMiKQotYGBgCi0KLVRoZSBmdW5jdGlvbiBwYXNzZWQgaW4gaXMgcnVu
IGluIHRoZSBgdGVzdCgpYCBjYWxsLgotCi1gcHJvcGVydGllc2AgaXMgYSBqYXZhc2NyaXB0IG9i
amVjdCBmb3IgcGFzc2luZyBleHRyYSBvcHRpb25zIHRvIHRoZQotdGVzdC4gQ3VycmVudGx5IGl0
IGlzIG9ubHkgdXNlZCB0byBwcm92aWRlIHRlc3Qtc3BlY2lmaWMKLW1ldGFkYXRhLCBhcyBkZXNj
cmliZWQgaW4gdGhlIFttZXRhZGF0YV0oI21ldGFkYXRhKSBzZWN0aW9uIGJlbG93LgotCi0jIyBB
c3luY2hyb25vdXMgVGVzdHMgIyMKLQotVGVzdGluZyBhc3luY2hyb25vdXMgZmVhdHVyZXMgaXMg
c29tZXdoYXQgbW9yZSBjb21wbGV4IHNpbmNlIHRoZSByZXN1bHQgb2YKLWEgdGVzdCBtYXkgZGVw
ZW5kIG9uIG9uZSBvciBtb3JlIGV2ZW50cyBvciBvdGhlciBjYWxsYmFja3MuIFRoZSBBUEkgcHJv
dmlkZWQKLWZvciB0ZXN0aW5nIHRoZXNlIGZlYXR1cmVzIGlzIGludGVuZGVkIHRvIGJlIHJhdGhl
ciBsb3ctbGV2ZWwgYnV0IGhvcGVmdWxseQotYXBwbGljYWJsZSB0byBtYW55IHNpdHVhdGlvbnMu
Ci0KLVRvIGNyZWF0ZSBhIHRlc3QsIG9uZSBzdGFydHMgYnkgZ2V0dGluZyBhIGBUZXN0YCBvYmpl
Y3QgdXNpbmcgYGFzeW5jX3Rlc3RgOgotCi1gYGBqcwotYXN5bmNfdGVzdChuYW1lLCBwcm9wZXJ0
aWVzKQotYGBgCi0KLWUuZy4KLQotYGBganMKLXZhciB0ID0gYXN5bmNfdGVzdCgiRE9NQ29udGVu
dExvYWRlZCIpCi1gYGAKLQotQXNzZXJ0aW9ucyBjYW4gYmUgYWRkZWQgdG8gdGhlIHRlc3QgYnkg
Y2FsbGluZyB0aGUgc3RlcCBtZXRob2Qgb2YgdGhlIHRlc3QKLW9iamVjdCB3aXRoIGEgZnVuY3Rp
b24gY29udGFpbmluZyB0aGUgdGVzdCBhc3NlcnRpb25zOgotCi1gYGBqcwotZG9jdW1lbnQuYWRk
RXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsIGZ1bmN0aW9uKCkgewotICB0LnN0ZXAo
ZnVuY3Rpb24oKSB7Ci0gICAgYXNzZXJ0X3RydWUoZS5idWJibGVzLCAiYnViYmxlcyBzaG91bGQg
YmUgdHJ1ZSIpOwotICB9KTsKLX0pOwotYGBgCi0KLVdoZW4gYWxsIHRoZSBzdGVwcyBhcmUgY29t
cGxldGUsIHRoZSBgZG9uZSgpYCBtZXRob2QgbXVzdCBiZSBjYWxsZWQ6Ci0KLWBgYGpzCi10LmRv
bmUoKTsKLWBgYAotCi1BcyBhIGNvbnZlbmllbmNlLCBgYXN5bmNfdGVzdGAgY2FuIGFsc28gdGFr
ZXMgYSBmdW5jdGlvbiBhcyBmaXJzdCBhcmd1bWVudC4KLVRoaXMgZnVuY3Rpb24gaXMgY2FsbGVk
IHdpdGggdGhlIHRlc3Qgb2JqZWN0IGFzIGJvdGggaXRzIGB0aGlzYCBvYmplY3QgYW5kCi1maXJz
dCBhcmd1bWVudC4gVGhlIGFib3ZlIGV4YW1wbGUgY2FuIGJlIHJld3JpdHRlbiBhczoKLQotYGBg
anMKLWFzeW5jX3Rlc3QoZnVuY3Rpb24odCkgewotICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVy
KCJET01Db250ZW50TG9hZGVkIiwgZnVuY3Rpb24oKSB7Ci0gICAgdC5zdGVwKGZ1bmN0aW9uKCkg
ewotICAgICAgYXNzZXJ0X3RydWUoZS5idWJibGVzLCAiYnViYmxlcyBzaG91bGQgYmUgdHJ1ZSIp
OwotICAgIH0pOwotICAgIHQuZG9uZSgpOwotICB9KTsKLX0sICJET01Db250ZW50TG9hZGVkIik7
Ci1gYGAKLQotd2hpY2ggYXZvaWRzIGNsdXR0ZXJpbmcgdGhlIGdsb2JhbCBzY29wZSB3aXRoIHJl
ZmVyZW5jZXMgdG8gYXN5bmMKLXRlc3RzIGluc3RhbmNlcy4KLQotVGhlIHByb3BlcnRpZXMgYXJn
dW1lbnQgaXMgaWRlbnRpY2FsIHRvIHRoYXQgZm9yIGB0ZXN0KClgLgotCi1JbiBtYW55IGNhc2Vz
IGl0IGlzIGNvbnZlbmllbnQgdG8gcnVuIGEgc3RlcCBpbiByZXNwb25zZSB0byBhbiBldmVudCBv
ciBhCi1jYWxsYmFjay4gQSBjb252ZW5pZW50IG1ldGhvZCBvZiBkb2luZyB0aGlzIGlzIHRocm91
Z2ggdGhlIGBzdGVwX2Z1bmNgIG1ldGhvZAotd2hpY2ggcmV0dXJucyBhIGZ1bmN0aW9uIHRoYXQs
IHdoZW4gY2FsbGVkIHJ1bnMgYSB0ZXN0IHN0ZXAuIEZvciBleGFtcGxlCi0KLWBgYGpzCi1kb2N1
bWVudC5hZGRFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIiwgdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24oKSB7Ci0gIGFzc2VydF90cnVlKGUuYnViYmxlcywgImJ1YmJsZXMgc2hvdWxkIGJlIHRy
dWUiKTsKLSAgdC5kb25lKCk7Ci19KTsKLWBgYAotCi1BcyBhIGZ1cnRoZXIgY29udmVuaWVuY2Us
IHRoZSBgc3RlcF9mdW5jYCB0aGF0IGNhbGxzIGBkb25lKClgIGNhbiBpbnN0ZWFkCi11c2UgYHN0
ZXBfZnVuY19kb25lYCwgYXMgZm9sbG93czoKLQotYGBganMKLWRvY3VtZW50LmFkZEV2ZW50TGlz
dGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLCB0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uKCkgewot
ICBhc3NlcnRfdHJ1ZShlLmJ1YmJsZXMsICJidWJibGVzIHNob3VsZCBiZSB0cnVlIik7Ci19KTsK
LWBgYAotCi1Gb3IgYXN5bmNocm9ub3VzIGNhbGxiYWNrcyB0aGF0IHNob3VsZCBuZXZlciBleGVj
dXRlLCBgdW5yZWFjaGVkX2Z1bmNgIGNhbgotYmUgdXNlZC4gRm9yIGV4YW1wbGU6Ci0KLWBgYGpz
Ci1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExv
YWRlZCIsCi0gIHQudW5yZWFjaGVkX2Z1bmMoIkRPTUNvbnRlbnRMb2FkZWQgc2hvdWxkIG5vdCBi
ZSBmaXJlZCBvbiB0aGUgZG9jdW1lbnQgZWxlbWVudCIpKTsKLWBgYAotCi1LZWVwIGluIG1pbmQg
dGhhdCBvdGhlciB0ZXN0cyBjb3VsZCBzdGFydCBleGVjdXRpbmcgYmVmb3JlIGFuIEFzeW5jaHJv
bm91cwotVGVzdCBpcyBmaW5pc2hlZC4KLQotIyMgUHJvbWlzZSBUZXN0cyAjIwotCi1gcHJvbWlz
ZV90ZXN0YCBjYW4gYmUgdXNlZCB0byB0ZXN0IEFQSXMgdGhhdCBhcmUgYmFzZWQgb24gUHJvbWlz
ZXM6Ci0KLWBgYGpzCi1wcm9taXNlX3Rlc3QodGVzdF9mdW5jdGlvbiwgbmFtZSwgcHJvcGVydGll
cykKLWBgYAotCi1gdGVzdF9mdW5jdGlvbmAgaXMgYSBmdW5jdGlvbiB0aGF0IHJlY2VpdmVzIGEg
dGVzdCBhcyBhbiBhcmd1bWVudCBhbmQgcmV0dXJucyBhCi1wcm9taXNlLiBUaGUgdGVzdCBjb21w
bGV0ZXMgd2hlbiB0aGUgcmV0dXJuZWQgcHJvbWlzZSByZXNvbHZlcy4gVGhlIHRlc3QgZmFpbHMK
LWlmIHRoZSByZXR1cm5lZCBwcm9taXNlIHJlamVjdHMuCi0KLUUuZy46Ci0KLWBgYGpzCi1mdW5j
dGlvbiBmb28oKSB7Ci0gIHJldHVybiBQcm9taXNlLnJlc29sdmUoImZvbyIpOwotfQotCi1wcm9t
aXNlX3Rlc3QoZnVuY3Rpb24oKSB7Ci0gIHJldHVybiBmb28oKQotICAgIC50aGVuKGZ1bmN0aW9u
KHJlc3VsdCkgewotICAgICAgYXNzZXJ0X2VxdWFscyhyZXN1bHQsICJmb28iLCAiZm9vIHNob3Vs
ZCByZXR1cm4gJ2ZvbyciKTsKLSAgICB9KTsKLX0sICJTaW1wbGUgZXhhbXBsZSIpOwotYGBgCi0K
LUluIHRoZSBleGFtcGxlIGFib3ZlLCBgZm9vKClgIHJldHVybnMgYSBQcm9taXNlIHRoYXQgcmVz
b2x2ZXMgd2l0aCB0aGUgc3RyaW5nCi0iZm9vIi4gVGhlIGB0ZXN0X2Z1bmN0aW9uYCBwYXNzZWQg
aW50byBgcHJvbWlzZV90ZXN0YCBpbnZva2VzIGBmb29gIGFuZCBhdHRhY2hlcwotYSByZXNvbHZl
IHJlYWN0aW9uIHRoYXQgdmVyaWZpZXMgdGhlIHJldHVybmVkIHZhbHVlLgotCi1Ob3RlIHRoYXQg
aW4gdGhlIHByb21pc2UgY2hhaW4gY29uc3RydWN0ZWQgaW4gYHRlc3RfZnVuY3Rpb25gIGFzc2Vy
dGlvbnMgZG9uJ3QKLW5lZWQgdG8gd3JhcHBlZCBpbiBgc3RlcGAgb3IgYHN0ZXBfZnVuY2AgY2Fs
bHMuCi0KLVVubGlrZSBBc3luY2hyb25vdXMgVGVzdHMsIFByb21pc2UgVGVzdHMgZG9uJ3Qgc3Rh
cnQgcnVubmluZyB1bnRpbCBhZnRlciB0aGUKLXByZXZpb3VzIFByb21pc2UgVGVzdCBmaW5pc2hl
cy4KLQotYHByb21pc2VfcmVqZWN0c2AgY2FuIGJlIHVzZWQgdG8gdGVzdCBQcm9taXNlcyB0aGF0
IG5lZWQgdG8gcmVqZWN0OgotCi1gYGBqcwotcHJvbWlzZV9yZWplY3RzKHRlc3Rfb2JqZWN0LCBj
b2RlLCBwcm9taXNlLCBkZXNjcmlwdGlvbikKLWBgYAotCi1UaGUgYGNvZGVgIGFyZ3VtZW50IGlz
IGVxdWl2YWxlbnQgdG8gdGhlIHNhbWUgYXJndW1lbnQgdG8gdGhlIGBhc3NlcnRfdGhyb3dzYAot
ZnVuY3Rpb24uCi0KLUhlcmUncyBhbiBleGFtcGxlIHdoZXJlIHRoZSBgYmFyKClgIGZ1bmN0aW9u
IHJldHVybnMgYSBQcm9taXNlIHRoYXQgcmVqZWN0cwotd2l0aCBhIFR5cGVFcnJvcjoKLQotYGBg
anMKLWZ1bmN0aW9uIGJhcigpIHsKLSAgcmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyBUeXBlRXJy
b3IoKSk7Ci19Ci0KLXByb21pc2VfdGVzdChmdW5jdGlvbih0KSB7Ci0gIHJldHVybiBwcm9taXNl
X3JlamVjdHModCwgbmV3IFR5cGVFcnJvcigpLCBiYXIoKSk7Ci19LCAiQW5vdGhlciBleGFtcGxl
Iik7Ci1gYGAKLQotYEV2ZW50V2F0Y2hlcmAgaXMgYSBjb25zdHJ1Y3RvciBmdW5jdGlvbiB0aGF0
IGFsbG93cyBET00gZXZlbnRzIHRvIGJlIGhhbmRsZWQKLXVzaW5nIFByb21pc2VzLCB3aGljaCBj
YW4gbWFrZSBpdCBhIGxvdCBlYXNpZXIgdG8gdGVzdCBhIHZlcnkgc3BlY2lmaWMgc2VyaWVzCi1v
ZiBldmVudHMsIGluY2x1ZGluZyBlbnN1cmluZyB0aGF0IHVuZXhwZWN0ZWQgZXZlbnRzIGFyZSBu
b3QgZmlyZWQgYXQgYW55IHBvaW50LgotCi1IZXJlJ3MgYW4gZXhhbXBsZSBvZiBob3cgdG8gdXNl
IGBFdmVudFdhdGNoZXJgOgotCi1gYGBqcwotdmFyIHQgPSBhc3luY190ZXN0KCJFdmVudCBvcmRl
ciBvbiBhbmltYXRpb24gc3RhcnQiKTsKLQotdmFyIGFuaW1hdGlvbiA9IHdhdGNoZWROb2RlLmdl
dEFuaW1hdGlvbnMoKVswXTsKLXZhciBldmVudFdhdGNoZXIgPSBuZXcgRXZlbnRXYXRjaGVyKHQs
IHdhdGNoZWROb2RlLCBbJ2FuaW1hdGlvbnN0YXJ0JywKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FuaW1hdGlvbml0ZXJhdGlvbicsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhbmltYXRp
b25lbmQnXSk7Ci0KLWV2ZW50V2F0Y2hlci53YWl0X2ZvcignYW5pbWF0aW9uc3RhcnQnKS50aGVu
KHQuc3RlcF9mdW5jKGZ1bmN0aW9uKCkgewotICBhc3NlcnRFeHBlY3RlZFN0YXRlQXRTdGFydE9m
QW5pbWF0aW9uKCk7Ci0gIGFuaW1hdGlvbi5jdXJyZW50VGltZSA9IEVORF9USU1FOyAvLyBza2lw
IHRvIGVuZAotICAvLyBXZSBleHBlY3QgdHdvIGFuaW1hdGlvbml0ZXJhdGlvbiBldmVudHMgdGhl
biBhbiBhbmltYXRpb25lbmQgZXZlbnQgb24KLSAgLy8gc2tpcHBpbmcgdG8gdGhlIGVuZCBvZiB0
aGUgYW5pbWF0aW9uLgotICByZXR1cm4gZXZlbnRXYXRjaGVyLndhaXRfZm9yKFsnYW5pbWF0aW9u
aXRlcmF0aW9uJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FuaW1hdGlvbml0
ZXJhdGlvbicsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhbmltYXRpb25lbmQn
XSk7Ci19KSkudGhlbih0LnN0ZXBfZnVuYyhmdW5jdGlvbigpIHsKLSAgYXNzZXJ0RXhwZWN0ZWRT
dGF0ZUF0RW5kT2ZBbmltYXRpb24oKTsKLSAgdC5kb25lKCk7Ci19KSk7Ci1gYGAKLQotYHdhaXRf
Zm9yYCBlaXRoZXIgdGFrZXMgdGhlIG5hbWUgb2YgYSBzaW5nbGUgZXZlbnQgYW5kIHJldHVybnMg
YSBQcm9taXNlIHRoYXQKLXdpbGwgcmVzb2x2ZSBhZnRlciB0aGF0IGV2ZW50IGlzIGZpcmVkIGF0
IHRoZSB3YXRjaGVkIG5vZGUsIG9yIGVsc2UgaXQgdGFrZXMgYW4KLWFycmF5IG9mIHRoZSBuYW1l
cyBvZiBhIHNlcmllcyBvZiBldmVudHMgYW5kIHJldHVybnMgYSBQcm9taXNlIHRoYXQgd2lsbAot
cmVzb2x2ZSBhZnRlciB0aGF0IHNwZWNpZmljIHNlcmllcyBvZiBldmVudHMgaGFzIGJlZW4gZmly
ZWQgYXQgdGhlIHdhdGNoZWQgbm9kZS4KLQotYEV2ZW50V2F0Y2hlcmAgd2lsbCBhc3NlcnQgaWYg
YW4gZXZlbnQgb2NjdXJzIHdoaWxlIHRoZXJlIGlzIG5vIGB3YWl0X2ZvcmAoKQotY3JlYXRlZCBQ
cm9taXNlIHdhaXRpbmcgdG8gYmUgZnVsZmlsbGVkLCBvciBpZiB0aGUgZXZlbnQgaXMgb2YgYSBk
aWZmZXJlbnQgdHlwZQotdG8gdGhlIHR5cGUgY3VycmVudGx5IGV4cGVjdGVkLiBUaGlzIGVuc3Vy
ZXMgdGhhdCBvbmx5IHRoZSBldmVudHMgdGhhdCBhcmUKLWV4cGVjdGVkIG9jY3VyLCBpbiB0aGUg
Y29ycmVjdCBvcmRlciwgYW5kIHdpdGggdGhlIGNvcnJlY3QgdGltaW5nLgotCi0jIyBTaW5nbGUg
UGFnZSBUZXN0cyAjIwotCi1Tb21ldGltZXMsIHBhcnRpY3VsYXJseSB3aGVuIGRlYWxpbmcgd2l0
aCBhc3luY2hyb25vdXMgYmVoYXZpb3VyLAotaGF2aW5nIGV4YWN0bHkgb25lIHRlc3QgcGVyIHBh
Z2UgaXMgZGVzaXJhYmxlLCBhbmQgdGhlIG92ZXJoZWFkIG9mCi13cmFwcGluZyBldmVyeXRoaW5n
IGluIGZ1bmN0aW9ucyBmb3IgaXNvbGF0aW9uIGJlY29tZXMKLWJ1cmRlbnNvbWUuIEZvciB0aGVz
ZSBjYXNlcyBgdGVzdGhhcm5lc3MuanNgIHN1cHBvcnQgInNpbmdsZSBwYWdlCi10ZXN0cyIuCi0K
LUluIG9yZGVyIGZvciBhIHRlc3QgdG8gYmUgaW50ZXJwcmV0ZWQgYXMgYSBzaW5nbGUgcGFnZSB0
ZXN0LCB0aGVuCi1pdCBtdXN0IHNpbXBseSBub3QgY2FsbCBgdGVzdCgpYCBvciBgYXN5bmNfdGVz
dCgpYCBhbnl3aGVyZSBvbiB0aGUgcGFnZSwgYW5kCi1tdXN0IGNhbGwgdGhlIGBkb25lKClgIGZ1
bmN0aW9uIHRvIGluZGljYXRlIHRoYXQgdGhlIHRlc3QgaXMgY29tcGxldGUuIEFsbAotdGhlIGBh
c3NlcnRfKmAgZnVuY3Rpb25zIGFyZSBhdmFsaWFibGUgYXMgbm9ybWFsLCBidXQgYXJlIGNhbGxl
ZCB3aXRob3V0Ci10aGUgbm9ybWFsIHN0ZXAgZnVuY3Rpb24gd3JhcHBlci4gRm9yIGV4YW1wbGU6
Ci0KLWBgYGh0bWwKLTwhZG9jdHlwZSBodG1sPgotPHRpdGxlPkJhc2ljIGRvY3VtZW50LmJvZHkg
dGVzdDwvdGl0bGU+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9z
Y3JpcHQ+Ci08Ym9keT4KLSAgPHNjcmlwdD4KLSAgICBhc3NlcnRfZXF1YWxzKGRvY3VtZW50LmJv
ZHksIGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJib2R5IilbMF0pCi0gICAgZG9uZSgp
Ci0gPC9zY3JpcHQ+Ci1gYGAKLQotVGhlIHRlc3QgdGl0bGUgZm9yIHNpbmdsZSBwYWdlIHRlc3Rz
IGlzIGFsd2F5cyB0YWtlbiBmcm9tIGBkb2N1bWVudC50aXRsZWAuCi0KLSMjIE1ha2luZyBhc3Nl
cnRpb25zICMjCi0KLUZ1bmN0aW9ucyBmb3IgbWFraW5nIGFzc2VydGlvbnMgc3RhcnQgYGFzc2Vy
dF9gLiBUaGUgZnVsbCBsaXN0IG9mCi1hc3NlcnRzIGF2YWxpYWJsZSBpcyBkb2N1bWVudGVkIGlu
IHRoZSBbYXNzZXJ0c10oI2xpc3Qtb2YtYXNzZXJ0aW9ucykgc2VjdGlvbgotYmVsb3cuIFRoZSBn
ZW5lcmFsIHNpZ25hdHVyZSBpcwotCi1gYGBqcwotYXNzZXJ0X3NvbWV0aGluZyhhY3R1YWwsIGV4
cGVjdGVkLCBkZXNjcmlwdGlvbikKLWBgYAotCi1hbHRob3VnaCBub3QgYWxsIGFzc2VydGlvbnMg
cHJlY2lzZWx5IG1hdGNoIHRoaXMgcGF0dGVybiBlLmcuIGBhc3NlcnRfdHJ1ZWAKLW9ubHkgdGFr
ZXMgYGFjdHVhbGAgYW5kIGBkZXNjcmlwdGlvbmAgYXMgYXJndW1lbnRzLgotCi1UaGUgZGVzY3Jp
cHRpb24gcGFyYW1ldGVyIGlzIHVzZWQgdG8gcHJlc2VudCBtb3JlIHVzZWZ1bCBlcnJvciBtZXNz
YWdlcyB3aGVuCi1hIHRlc3QgZmFpbHMKLQotTk9URTogQWxsIGFzc2VydHMgbXVzdCBiZSBsb2Nh
dGVkIGluIGEgYHRlc3QoKWAgb3IgYSBzdGVwIG9mIGFuCi1gYXN5bmNfdGVzdCgpYCwgdW5sZXNz
IHRoZSB0ZXN0IGlzIGEgc2luZ2xlIHBhZ2UgdGVzdC4gQXNzZXJ0cyBvdXRzaWRlCi10aGVzZSBw
bGFjZXMgd29uJ3QgYmUgZGV0ZWN0ZWQgY29ycmVjdGx5IGJ5IHRoZSBoYXJuZXNzIGFuZCBtYXkg
Y2F1c2UKLXVuZXhwZWN0ZWQgZXhjZXB0aW9ucyB0aGF0IHdpbGwgbGVhZCB0byBhbiBlcnJvciBp
biB0aGUgaGFybmVzcy4KLQotIyMgQ2xlYW51cCAjIwotCi1PY2Nhc2lvbmFsbHkgdGVzdHMgbWF5
IGNyZWF0ZSBzdGF0ZSB0aGF0IHdpbGwgcGVyc2lzdCBiZXlvbmQgdGhlIHRlc3QgaXRzZWxmLgot
SW4gb3JkZXIgdG8gZW5zdXJlIHRoYXQgdGVzdHMgYXJlIGluZGVwZW5kZW50LCBzdWNoIHN0YXRl
IHNob3VsZCBiZSBjbGVhbmVkCi11cCBvbmNlIHRoZSB0ZXN0IGhhcyBhIHJlc3VsdC4gVGhpcyBj
YW4gYmUgYWNoaWV2ZWQgYnkgYWRkaW5nIGNsZWFudXAKLWNhbGxiYWNrcyB0byB0aGUgdGVzdC4g
U3VjaCBjYWxsYmFja3MgYXJlIHJlZ2lzdGVyZWQgdXNpbmcgdGhlIGBhZGRfY2xlYW51cGAKLWZ1
bmN0aW9uIG9uIHRoZSB0ZXN0IG9iamVjdC4gQWxsIHJlZ2lzdGVyZWQgY2FsbGJhY2tzIHdpbGwg
YmUgcnVuIGFzIHNvb24gYXMKLXRoZSB0ZXN0IHJlc3VsdCBpcyBrbm93bi4gRm9yIGV4YW1wbGUK
LQotYGBganMKLSAgdGVzdChmdW5jdGlvbigpIHsKLSAgICB2YXIgZWxlbWVudCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwotICAgIGVsZW1lbnQuc2V0QXR0cmlidXRlKCJpZCIsICJu
dWxsIik7Ci0gICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChlbGVtZW50KTsKLSAgICB0aGlz
LmFkZF9jbGVhbnVwKGZ1bmN0aW9uKCkgeyBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGVsZW1l
bnQpIH0pOwotICAgIGFzc2VydF9lcXVhbHMoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQobnVsbCks
IGVsZW1lbnQpOwotICB9LCAiQ2FsbGluZyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCB3aXRoIGEg
bnVsbCBhcmd1bWVudC4iKTsKLWBgYAotCi0jIyBUaW1lb3V0cyBpbiBUZXN0cyAjIwotCi1JbiBn
ZW5lcmFsIHRoZSB1c2Ugb2YgdGltZW91dHMgaW4gdGVzdHMgaXMgZGlzY291cmFnZWQgYmVjYXVz
ZSB0aGlzIGlzCi1hbiBvYnNlcnZlZCBzb3VyY2Ugb2YgaW5zdGFiaWxpdHkgaW4gcmVhbCB0ZXN0
cyB3aGVuIHJ1biBvbiBDSQotaW5mcmFzdHJ1Y3R1cmUuIEluIHBhcnRpY3VsYXIgaWYgYSB0ZXN0
IHNob3VsZCBmYWlsIHdoZW4gc29tZXRoaW5nCi1kb2Vzbid0IGhhcHBlbiwgaXQgaXMgZ29vZCBw
cmFjdGljZSB0byBzaW1wbHkgbGV0IHRoZSB0ZXN0IHJ1biB0byB0aGUKLWZ1bGwgdGltZW91dCBy
YXRoZXIgdGhhbiB0cnlpbmcgdG8gZ3Vlc3MgYW4gYXBwcm9wcmlhdGUgc2hvcnRlcgotdGltZW91
dCB0byB1c2UuCi0KLUluIG90aGVyIGNhc2VzIGl0IG1heSBiZSBuZWNlc3NhcnkgdG8gdXNlIGEg
dGltZW91dCAoZS5nLiwgZm9yIGEgdGVzdAotdGhhdCBvbmx5IHBhc3NlcyBpZiBzb21lIGV2ZW50
IGlzICpub3QqIGZpcmVkKS4gSW4gdGhpcyBjYXNlIGl0IGlzCi0qbm90KiBwZXJtaXR0ZWQgdG8g
dXNlIHRoZSBzdGFuZGFyZCBgc2V0VGltZW91dGAgZnVuY3Rpb24uIEluc3RlYWQgb25lCi1tdXN0
IHVzZSB0aGUgYHN0ZXBfdGltZW91dGAgZnVuY3Rpb246Ci0KLWBgYGpzCi1hc3luY190ZXN0KGZ1
bmN0aW9uKHQpIHsKLSAgdmFyIGdvdEV2ZW50ID0gZmFsc2U7Ci0gIGRvY3VtZW50LmFkZEV2ZW50
TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLCB0LnN0ZXBfZnVuYyhmdW5jdGlvbigpIHsKLSAg
ICBhc3NlcnRfZmFsc2UoZ290RXZlbnQsICJVbmV4cGVjdGVkIERPTUNvbnRlbnRMb2FkZWQgZXZl
bnQiKTsKLSAgICBnb3RFdmVudCA9IHRydWU7Ci0gICAgdC5zdGVwX3RpbWVvdXQoZnVuY3Rpb24o
KSB7IHQuZG9uZSgpOyB9LCAyMDAwKTsKLSAgfSk7Ci19LCAiT25seSBvbmUgRE9NQ29udGVudExv
YWRlZCIpOwotYGBgCi0KLVRoZSBkaWZmZXJlbmNlIGJldHdlZW4gYHNldFRpbWVvdXRgIGFuZCBg
c3RlcF90aW1lb3V0YCBpcyB0aGF0IHRoZQotbGF0dGVyIHRha2VzIGFjY291bnQgb2YgdGhlIHRp
bWVvdXQgbXVsdGlwbGllciB3aGVuIGNvbXB1dGluZyB0aGUKLWRlbGF5OyBlLmcuLCBpbiB0aGUg
YWJvdmUgY2FzZSBhIHRpbWVvdXQgbXVsdGlwbGllciBvZiAyIHdvdWxkIGNhdXNlIGEKLXBhdXNl
IG9mIDQwMDBtcyBiZWZvcmUgY2FsbGluZyB0aGUgY2FsbGJhY2suIFRoaXMgbWFrZXMgaXQgbGVz
cyBsaWtlbHkKLXRvIHByb2R1Y2UgdW5zdGFibGUgcmVzdWx0cyBpbiBzbG93IGNvbmZpZ3VyYXRp
b25zLgotCi1Ob3RlIHRoYXQgdGltZW91dHMgZ2VuZXJhbGx5IG5lZWQgdG8gYmUgYSBmZXcgc2Vj
b25kcyBsb25nIGluIG9yZGVyIHRvCi1wcm9kdWNlIHN0YWJsZSByZXN1bHRzIGluIGFsbCB0ZXN0
IGVudmlyb25tZW50cy4KLQotRm9yIHNpbmdsZS1wYWdlIHRlc3RzLCBgc3RlcF90aW1lb3V0YCBp
cyBhbHNvIGF2YWlsYWJsZSBhcyBhIGdsb2JhbAotZnVuY3Rpb24uCi0KLSMjIEhhcm5lc3MgVGlt
ZW91dCAjIwotCi1UaGUgb3ZlcmFsbCBoYXJuZXNzIGFkbWl0cyB0d28gdGltZW91dCB2YWx1ZXMg
YCJub3JtYWwiYCAodGhlCi1kZWZhdWx0KSBhbmQgYCJsb25nImAsIHVzZWQgZm9yIHRlc3RzIHdo
aWNoIGhhdmUgYW4gdW51c3VhbGx5IGxvbmcKLXJ1bnRpbWUuIEFmdGVyIHRoZSB0aW1lb3V0IGlz
IHJlYWNoZWQsIHRoZSBoYXJuZXNzIHdpbGwgc3RvcAotd2FpdGluZyBmb3IgZnVydGhlciBhc3lu
YyB0ZXN0cyB0byBjb21wbGV0ZS4gQnkgZGVmYXVsdCB0aGUKLXRpbWVvdXRzIGFyZSBzZXQgdG8g
MTBzIGFuZCA2MHMsIHJlc3BlY3RpdmVseSwgYnV0IG1heSBiZSBjaGFuZ2VkCi13aGVuIHRoZSB0
ZXN0IGlzIHJ1biBvbiBoYXJkd2FyZSB3aXRoIGRpZmZlcmVudCBwZXJmb3JtYW5jZQotY2hhcmFj
dGVyaXN0aWNzIHRvIGEgY29tbW9uIGRlc2t0b3AgY29tcHV0ZXIuICBJbiBvcmRlciB0byBvcHQt
aW4KLXRvIHRoZSBsb25nZXIgdGVzdCB0aW1lb3V0LCB0aGUgdGVzdCBtdXN0IHNwZWNpZnkgYSBt
ZXRhIGVsZW1lbnQ6Ci0KLWBgYGh0bWwKLTxtZXRhIG5hbWU9InRpbWVvdXQiIGNvbnRlbnQ9Imxv
bmciPgotYGBgCi0KLU9jY2FzaW9uYWxseSB0ZXN0cyBtYXkgaGF2ZSBhIHJhY2UgYmV0d2VlbiB0
aGUgaGFybmVzcyB0aW1pbmcgb3V0IGFuZAotYSBwYXJ0aWN1bGFyIHRlc3QgZmFpbGluZzsgdHlw
aWNhbGx5IHdoZW4gdGhlIHRlc3Qgd2FpdHMgZm9yIHNvbWUgZXZlbnQKLXRoYXQgbmV2ZXIgb2Nj
dXJzLiBJbiB0aGlzIGNhc2UgaXQgaXMgcG9zc2libGUgdG8gdXNlIGB0ZXN0LmZvcmNlX3RpbWVv
dXQoKWAKLWluIHBsYWNlIG9mIGBhc3NlcnRfdW5yZWFjaGVkKClgLCB0byBpbW1lZGlhdGVseSBm
YWlsIHRoZSB0ZXN0IGJ1dCB3aXRoIGEKLXN0YXR1cyBvZiBgVElNRU9VVGAuIFRoaXMgc2hvdWxk
IG9ubHkgYmUgdXNlZCBhcyBhIGxhc3QgcmVzb3J0IHdoZW4gaXQgaXMKLW5vdCBwb3NzaWJsZSB0
byBtYWtlIHRoZSB0ZXN0IHJlbGlhYmxlIGluIHNvbWUgb3RoZXIgd2F5LgotCi0jIyBTZXR1cCAj
IwotCi1Tb21ldGltZXMgdGVzdHMgcmVxdWlyZSBub24tdHJpdmlhbCBzZXR1cCB0aGF0IG1heSBm
YWlsLiBGb3IgdGhpcyBwdXJwb3NlCi10aGVyZSBpcyBhIGBzZXR1cCgpYCBmdW5jdGlvbiwgdGhh
dCBtYXkgYmUgY2FsbGVkIHdpdGggb25lIG9yIHR3byBhcmd1bWVudHMuCi1UaGUgdHdvIGFyZ3Vt
ZW50IHZlcnNpb24gaXM6Ci0KLWBgYGpzCi1zZXR1cChmdW5jLCBwcm9wZXJ0aWVzKQotYGBgCi0K
LVRoZSBvbmUgYXJndW1lbnQgdmVyc2lvbnMgbWF5IG9taXQgZWl0aGVyIGFyZ3VtZW50LgotZnVu
YyBpcyBhIGZ1bmN0aW9uIHRvIGJlIHJ1biBzeW5jaHJvbm91c2x5LiBgc2V0dXAoKWAgYmVjb21l
cyBhIG5vLW9wIG9uY2UKLWFueSB0ZXN0cyBoYXZlIHJldHVybmVkIHJlc3VsdHMuIFByb3BlcnRp
ZXMgYXJlIGdsb2JhbCBwcm9wZXJ0aWVzIG9mIHRoZSB0ZXN0Ci1oYXJuZXNzLiBDdXJyZW50bHkg
cmVjb2duaXNlZCBwcm9wZXJ0aWVzIGFyZToKLQotYGV4cGxpY2l0X2RvbmVgIC0gV2FpdCBmb3Ig
YW4gZXhwbGljaXQgY2FsbCB0byBkb25lKCkgYmVmb3JlIGRlY2xhcmluZyBhbGwKLXRlc3RzIGNv
bXBsZXRlIChzZWUgYmVsb3c7IGltcGxpY2l0bHkgdHJ1ZSBmb3Igc2luZ2xlIHBhZ2UgdGVzdHMp
Ci0KLWBvdXRwdXRfZG9jdW1lbnRgIC0gVGhlIGRvY3VtZW50IHRvIHdoaWNoIHJlc3VsdHMgc2hv
dWxkIGJlIGxvZ2dlZC4gQnkgZGVmYXVsdAotdGhpcyBpcyB0aGUgY3VycmVudCBkb2N1bWVudCBi
dXQgY291bGQgYmUgYW4gYW5jZXN0b3IgZG9jdW1lbnQgaW4gc29tZSBjYXNlcwotZS5nLiBhIFNW
RyB0ZXN0IGxvYWRlZCBpbiBhbiBIVE1MIHdyYXBwZXIKLQotYGV4cGxpY2l0X3RpbWVvdXRgIC0g
ZGlzYWJsZSBmaWxlIHRpbWVvdXQ7IG9ubHkgc3RvcCB3YWl0aW5nIGZvciByZXN1bHRzCi13aGVu
IHRoZSBgdGltZW91dCgpYCBmdW5jdGlvbiBpcyBjYWxsZWQgKHR5cGljYWxseSBmb3IgdXNlIHdo
ZW4gaW50ZWdyYXRpbmcKLXdpdGggc29tZSBleGlzdGluZyB0ZXN0IGZyYW1ld29yayB0aGF0IGhh
cyBpdHMgb3duIHRpbWVvdXQgbWVjaGFuaXNtKS4KLQotYGFsbG93X3VuY2F1Z2h0X2V4Y2VwdGlv
bmAgLSBkb24ndCB0cmVhdCBhbiB1bmNhdWdodCBleGNlcHRpb24gYXMgYW4gZXJyb3I7Ci1uZWVk
ZWQgd2hlbiBlLmcuIHRlc3RpbmcgdGhlIGB3aW5kb3cub25lcnJvcmAgaGFuZGxlci4KLQotYHRp
bWVvdXRfbXVsdGlwbGllcmAgLSBNdWx0aXBsaWVyIHRvIGFwcGx5IHRvIHBlci10ZXN0IHRpbWVv
dXRzLgotCi0jIyBEZXRlcm1pbmluZyB3aGVuIGFsbCB0ZXN0cyBhcmUgY29tcGxldGUgIyMKLQot
QnkgZGVmYXVsdCB0aGUgdGVzdCBoYXJuZXNzIHdpbGwgYXNzdW1lIHRoZXJlIGFyZSBubyBtb3Jl
IHJlc3VsdHMgdG8gY29tZQotd2hlbjoKLQotIDEuIFRoZXJlIGFyZSBubyBgVGVzdGAgb2JqZWN0
cyB0aGF0IGhhdmUgYmVlbiBjcmVhdGVkIGJ1dCBub3QgY29tcGxldGVkCi0gMi4gVGhlIGxvYWQg
ZXZlbnQgb24gdGhlIGRvY3VtZW50IGhhcyBmaXJlZAotCi1UaGlzIGJlaGF2aW91ciBjYW4gYmUg
b3ZlcnJpZGRlbiBieSBzZXR0aW5nIHRoZSBgZXhwbGljaXRfZG9uZWAgcHJvcGVydHkgdG8KLXRy
dWUgaW4gYSBjYWxsIHRvIGBzZXR1cCgpYC4gSWYgYGV4cGxpY2l0X2RvbmVgIGlzIHRydWUsIHRo
ZSB0ZXN0IGhhcm5lc3Mgd2lsbAotbm90IGFzc3VtZSBpdCBpcyBkb25lIHVudGlsIHRoZSBnbG9i
YWwgYGRvbmUoKWAgZnVuY3Rpb24gaXMgY2FsbGVkLiBPbmNlIGBkb25lKClgCi1pcyBjYWxsZWQs
IHRoZSB0d28gY29uZGl0aW9ucyBhYm92ZSBhcHBseSBsaWtlIG5vcm1hbC4KLQotRGVkaWNhdGVk
IGFuZCBzaGFyZWQgd29ya2VycyBkb24ndCBoYXZlIGFuIGV2ZW50IHRoYXQgY29ycmVzcG9uZHMg
dG8gdGhlIGBsb2FkYAotZXZlbnQgaW4gYSBkb2N1bWVudC4gVGhlcmVmb3JlIHRoZXNlIHdvcmtl
ciB0ZXN0cyBhbHdheXMgYmVoYXZlIGFzIGlmIHRoZQotYGV4cGxpY2l0X2RvbmVgIHByb3BlcnR5
IGlzIHNldCB0byB0cnVlLiBTZXJ2aWNlIHdvcmtlcnMgZGVwZW5kIG9uIHRoZQotW2luc3RhbGxd
KGh0dHBzOi8vc2xpZ2h0bHlvZmYuZ2l0aHViLmlvL1NlcnZpY2VXb3JrZXIvc3BlYy9zZXJ2aWNl
X3dvcmtlci9pbmRleC5odG1sI3NlcnZpY2Utd29ya2VyLWdsb2JhbC1zY29wZS1pbnN0YWxsLWV2
ZW50KQotZXZlbnQgd2hpY2ggaXMgZmlyZWQgZm9sbG93aW5nIHRoZSBjb21wbGV0aW9uIG9mIFty
dW5uaW5nIHRoZQotd29ya2VyXShodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFn
ZS93b3JrZXJzLmh0bWwjcnVuLWEtd29ya2VyKS4KLQotIyMgR2VuZXJhdGluZyB0ZXN0cyAjIwot
Ci1UaGVyZSBhcmUgc2NlbmFyaW9zIGluIHdoaWNoIGlzIGlzIGRlc2lyYWJsZSB0byBjcmVhdGUg
YSBsYXJnZSBudW1iZXIgb2YKLShzeW5jaHJvbm91cykgdGVzdHMgdGhhdCBhcmUgaW50ZXJuYWxs
eSBzaW1pbGFyIGJ1dCB2YXJ5IGluIHRoZSBwYXJhbWV0ZXJzCi11c2VkLiBUbyBtYWtlIHRoaXMg
ZWFzaWVyLCB0aGUgYGdlbmVyYXRlX3Rlc3RzYCBmdW5jdGlvbiBhbGxvd3MgYSBzaW5nbGUKLWZ1
bmN0aW9uIHRvIGJlIGNhbGxlZCB3aXRoIGVhY2ggc2V0IG9mIHBhcmFtZXRlcnMgaW4gYSBsaXN0
OgotCi1gYGBqcwotZ2VuZXJhdGVfdGVzdHModGVzdF9mdW5jdGlvbiwgcGFyYW1ldGVyX2xpc3Rz
LCBwcm9wZXJ0aWVzKQotYGBgCi0KLUZvciBleGFtcGxlOgotCi1gYGBqcwotZ2VuZXJhdGVfdGVz
dHMoYXNzZXJ0X2VxdWFscywgWwotICAgIFsiU3VtIG9uZSBhbmQgb25lIiwgMSsxLCAyXSwKLSAg
ICBbIlN1bSBvbmUgYW5kIHplcm8iLCAxKzAsIDFdCi0gICAgXSkKLWBgYAotCi1JcyBlcXVpdmFs
ZW50IHRvOgotCi1gYGBqcwotdGVzdChmdW5jdGlvbigpIHthc3NlcnRfZXF1YWxzKDErMSwgMil9
LCAiU3VtIG9uZSBhbmQgb25lIikKLXRlc3QoZnVuY3Rpb24oKSB7YXNzZXJ0X2VxdWFscygxKzAs
IDEpfSwgIlN1bSBvbmUgYW5kIHplcm8iKQotYGBgCi0KLU5vdGUgdGhhdCB0aGUgZmlyc3QgaXRl
bSBpbiBlYWNoIHBhcmFtZXRlciBsaXN0IGNvcnJlc3BvbmRzIHRvIHRoZSBuYW1lIG9mCi10aGUg
dGVzdC4KLQotVGhlIHByb3BlcnRpZXMgYXJndW1lbnQgaXMgaWRlbnRpY2FsIHRvIHRoYXQgZm9y
IGB0ZXN0KClgLiBUaGlzIG1heSBiZSBhCi1zaW5nbGUgb2JqZWN0ICh1c2VkIGZvciBhbGwgZ2Vu
ZXJhdGVkIHRlc3RzKSBvciBhbiBhcnJheS4KLQotIyMgQ2FsbGJhY2sgQVBJICMjCi0KLVRoZSBm
cmFtZXdvcmsgcHJvdmlkZXMgY2FsbGJhY2tzIGNvcnJlc3BvbmRpbmcgdG8gNCBldmVudHM6Ci0K
LSAqIGBzdGFydGAgLSB0cmlnZ2VyZWQgd2hlbiB0aGUgZmlyc3QgVGVzdCBpcyBjcmVhdGVkCi0g
KiBgdGVzdF9zdGF0ZWAgLSB0cmlnZ2VyZWQgd2hlbiBhIHRlc3Qgc3RhdGUgY2hhbmdlcwotICog
YHJlc3VsdGAgLSB0cmlnZ2VyZWQgd2hlbiBhIHRlc3QgcmVzdWx0IGlzIHJlY2VpdmVkCi0gKiBg
Y29tcGxldGVgIC0gdHJpZ2dlcmVkIHdoZW4gYWxsIHJlc3VsdHMgYXJlIHJlY2VpdmVkCi0KLVRo
ZSBwYWdlIGRlZmluaW5nIHRoZSB0ZXN0cyBtYXkgYWRkIGNhbGxiYWNrcyBmb3IgdGhlc2UgZXZl
bnRzIGJ5IGNhbGxpbmcKLXRoZSBmb2xsb3dpbmcgbWV0aG9kczoKLQotICBgYWRkX3N0YXJ0X2Nh
bGxiYWNrKGNhbGxiYWNrKWAgLSBjYWxsYmFjayBjYWxsZWQgd2l0aCBubyBhcmd1bWVudHMKLQot
ICBgYWRkX3Rlc3Rfc3RhdGVfY2FsbGJhY2soY2FsbGJhY2spYCAtIGNhbGxiYWNrIGNhbGxlZCB3
aXRoIGEgdGVzdCBhcmd1bWVudAotCi0gIGBhZGRfcmVzdWx0X2NhbGxiYWNrKGNhbGxiYWNrKWAg
LSBjYWxsYmFjayBjYWxsZWQgd2l0aCBhIHRlc3QgYXJndW1lbnQKLQotICBgYWRkX2NvbXBsZXRp
b25fY2FsbGJhY2soY2FsbGJhY2spYCAtIGNhbGxiYWNrIGNhbGxlZCB3aXRoIGFuIGFycmF5IG9m
IHRlc3RzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIGEgc3Rh
dHVzIG9iamVjdAotCi1UZXN0cyBoYXZlIHRoZSBmb2xsb3dpbmcgcHJvcGVydGllczoKLQotICAq
IGBzdGF0dXNgIC0gQSBzdGF0dXMgY29kZS4gVGhpcyBjYW4gYmUgY29tcGFyZWQgdG8gdGhlIGBQ
QVNTYCwgYEZBSUxgLAotICAgICAgICAgICAgICAgYFRJTUVPVVRgIGFuZCBgTk9UUlVOYCBwcm9w
ZXJ0aWVzIG9uIHRoZSB0ZXN0IG9iamVjdAotCi0gICogYG1lc3NhZ2VgIC0gQSBtZXNzYWdlIGlu
ZGljYXRpbmcgdGhlIHJlYXNvbiBmb3IgZmFpbHVyZS4gSW4gdGhlIGZ1dHVyZSB0aGlzCi0gICAg
ICAgICAgICAgICAgd2lsbCBhbHdheXMgYmUgYSBzdHJpbmcKLQotIFRoZSBzdGF0dXMgb2JqZWN0
IGdpdmVzIHRoZSBvdmVyYWxsIHN0YXR1cyBvZiB0aGUgaGFybmVzcy4gSXQgaGFzIHRoZQotIGZv
bGxvd2luZyBwcm9wZXJ0aWVzOgotCi0gKiBgc3RhdHVzYCAtIENhbiBiZSBjb21wYXJlZCB0byB0
aGUgYE9LYCwgYEVSUk9SYCBhbmQgYFRJTUVPVVRgIHByb3BlcnRpZXMKLQotICogYG1lc3NhZ2Vg
IC0gQW4gZXJyb3IgbWVzc2FnZSBzZXQgd2hlbiB0aGUgc3RhdHVzIGlzIGBFUlJPUmAKLQotIyMg
RXh0ZXJuYWwgQVBJICMjCi0KLUluIG9yZGVyIHRvIGNvbGxlY3QgdGhlIHJlc3VsdHMgb2YgbXVs
dGlwbGUgcGFnZXMgY29udGFpbmluZyB0ZXN0cywgdGhlIHRlc3QKLWhhcm5lc3Mgd2lsbCwgd2hl
biBsb2FkZWQgaW4gYSBuZXN0ZWQgYnJvd3NpbmcgY29udGV4dCwgYXR0ZW1wdCB0byBjYWxsCi1j
ZXJ0YWluIGZ1bmN0aW9ucyBpbiBlYWNoIGFuY2VzdG9yIGFuZCBvcGVuZXIgYnJvd3NpbmcgY29u
dGV4dDoKLQotICogc3RhcnQgLSBgc3RhcnRfY2FsbGJhY2tgCi0gKiB0ZXN0XF9zdGF0ZSAtIGB0
ZXN0X3N0YXRlX2NhbGxiYWNrYAotICogcmVzdWx0IC0gYHJlc3VsdF9jYWxsYmFja2AKLSAqIGNv
bXBsZXRlIC0gYGNvbXBsZXRpb25fY2FsbGJhY2tgCi0KLVRoZXNlIGFyZSBnaXZlbiB0aGUgc2Ft
ZSBhcmd1bWVudHMgYXMgdGhlIGNvcnJlc3BvbmRpbmcgaW50ZXJuYWwgY2FsbGJhY2tzCi1kZXNj
cmliZWQgYWJvdmUuCi0KLSMjIEV4dGVybmFsIEFQSSB0aHJvdWdoIGNyb3NzLWRvY3VtZW50IG1l
c3NhZ2luZyAjIwotCi1XaGVyZSBzdXBwb3J0ZWQsIHRoZSB0ZXN0IGhhcm5lc3Mgd2lsbCBhbHNv
IHNlbmQgbWVzc2FnZXMgdXNpbmcgY3Jvc3MtZG9jdW1lbnQKLW1lc3NhZ2luZyB0byBlYWNoIGFu
Y2VzdG9yIGFuZCBvcGVuZXIgYnJvd3NpbmcgY29udGV4dC4gU2luY2UgaXQgdXNlcyB0aGUKLXdp
bGRjYXJkIGtleXdvcmQgKFwqKSwgY3Jvc3Mtb3JpZ2luIGNvbW11bmljYXRpb24gaXMgZW5hYmxl
ZCBhbmQgc2NyaXB0IG9uCi1kaWZmZXJlbnQgb3JpZ2lucyBjYW4gY29sbGVjdCB0aGUgcmVzdWx0
cy4KLQotVGhpcyBBUEkgZm9sbG93cyBzaW1pbGFyIGNvbnZlbnRpb25zIGFzIHRob3NlIGRlc2Ny
aWJlZCBhYm92ZSBvbmx5IHNsaWdodGx5Ci1tb2RpZmllZCB0byBhY2NvbW1vZGF0ZSBtZXNzYWdl
IGV2ZW50IEFQSS4gRWFjaCBtZXNzYWdlIGlzIHNlbnQgYnkgdGhlIGhhcm5lc3MKLWlzIHBhc3Nl
ZCBhIHNpbmdsZSB2YW5pbGxhIG9iamVjdCwgYXZhaWxhYmxlIGFzIHRoZSBgZGF0YWAgcHJvcGVy
dHkgb2YgdGhlIGV2ZW50Ci1vYmplY3QuIFRoZXNlIG9iamVjdHMgYXJlIHN0cnVjdHVyZWQgYXMg
Zm9sbG93czoKLQotICogc3RhcnQgLSBgeyB0eXBlOiAic3RhcnQiIH1gCi0gKiB0ZXN0XF9zdGF0
ZSAtIGB7IHR5cGU6ICJ0ZXN0X3N0YXRlIiwgdGVzdDogVGVzdCB9YAotICogcmVzdWx0IC0gYHsg
dHlwZTogInJlc3VsdCIsIHRlc3Q6IFRlc3QgfWAKLSAqIGNvbXBsZXRlIC0gYHsgdHlwZTogImNv
bXBsZXRlIiwgdGVzdHM6IFtUZXN0LCAuLi5dLCBzdGF0dXM6IFRlc3RzU3RhdHVzIH1gCi0KLSMj
IFdlYiBXb3JrZXJzICMjCi0KLVRoZSBgdGVzdGhhcm5lc3MuanNgIHNjcmlwdCBjYW4gYmUgdXNl
ZCBmcm9tIHdpdGhpbiBbZGVkaWNhdGVkIHdvcmtlcnMsIHNoYXJlZAotd29ya2Vyc10oaHR0cHM6
Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2Uvd29ya2Vycy5odG1sKSBhbmQgW3NlcnZp
Y2UKLXdvcmtlcnNdKGh0dHBzOi8vc2xpZ2h0bHlvZmYuZ2l0aHViLmlvL1NlcnZpY2VXb3JrZXIv
c3BlYy9zZXJ2aWNlX3dvcmtlci8pLgotCi1UZXN0aW5nIGZyb20gYSB3b3JrZXIgc2NyaXB0IGlz
IGRpZmZlcmVudCBmcm9tIHRlc3RpbmcgZnJvbSBhbiBIVE1MIGRvY3VtZW50IGluCi1zZXZlcmFs
IHdheXM6Ci0KLSogV29ya2VycyBoYXZlIG5vIHJlcG9ydGluZyBjYXBhYmlsaXR5IHNpbmNlIHRo
ZXkgYXJlIHJ1bmluZyBpbiB0aGUgYmFja2dyb3VuZC4KLSAgSGVuY2UgdGhleSByZWx5IG9uIGB0
ZXN0aGFybmVzcy5qc2AgcnVubmluZyBpbiBhIGNvbXBhbmlvbiBjbGllbnQgSFRNTCBkb2N1bWVu
dAotICBmb3IgcmVwb3J0aW5nLgotCi0qIFNoYXJlZCBhbmQgc2VydmljZSB3b3JrZXJzIGRvIG5v
dCBoYXZlIGEgdW5pcXVlIGNsaWVudCBkb2N1bWVudCBzaW5jZSB0aGVyZQotICBjb3VsZCBiZSBt
b3JlIHRoYW4gb25lIGRvY3VtZW50IHRoYXQgY29tbXVuaWNhdGVzIHdpdGggdGhlc2Ugd29ya2Vy
cy4gU28gYQotICBjbGllbnQgZG9jdW1lbnQgbmVlZHMgdG8gZXhwbGljaXRseSBjb25uZWN0IHRv
IGEgd29ya2VyIGFuZCBmZXRjaCB0ZXN0IHJlc3VsdHMKLSAgZnJvbSBpdCB1c2luZyBgZmV0Y2hf
dGVzdHNfZnJvbV93b3JrZXJgLiBUaGlzIGlzIHRydWUgZXZlbiBmb3IgYSBkZWRpY2F0ZWQKLSAg
d29ya2VyLiBPbmNlIGNvbm5lY3RlZCwgdGhlIGluZGl2aWR1YWwgdGVzdHMgcnVubmluZyBpbiB0
aGUgd29ya2VyIChvciB0aG9zZQotICB0aGF0IGhhdmUgYWxyZWFkeSBydW4gdG8gY29tcGxldGlv
bikgd2lsbCBiZSBhdXRvbWF0aWNhbGx5IHJlZmxlY3RlZCBpbiB0aGUKLSAgY2xpZW50IGRvY3Vt
ZW50LgotCi0qIFRoZSBjbGllbnQgZG9jdW1lbnQgY29udHJvbHMgdGhlIHRpbWVvdXQgb2YgdGhl
IHRlc3RzLiBBbGwgd29ya2VyIHNjcmlwdHMgYWN0Ci0gIGFzIGlmIHRoZXkgd2VyZSBzdGFydGVk
IHdpdGggdGhlIGBleHBsaWNpdF90aW1lb3V0YCBvcHRpb24gKHNlZSB0aGUgW0hhcm5lc3MKLSAg
dGltZW91dF0oI2hhcm5lc3MtdGltZW91dCkgc2VjdGlvbikuCi0KLSogRGVkaWNhdGVkIGFuZCBz
aGFyZWQgd29ya2VycyBkb24ndCBoYXZlIGFuIGVxdWl2YWxlbnQgb2YgYW4gYG9ubG9hZGAgZXZl
bnQuCi0gIFRodXMgdGhlIHRlc3QgaGFybmVzcyBoYXMgbm8gd2F5IHRvIGtub3cgd2hlbiBhbGwg
dGVzdHMgaGF2ZSBjb21wbGV0ZWQgKHNlZQotICBbRGV0ZXJtaW5pbmcgd2hlbiBhbGwgdGVzdHMg
YXJlCi0gIGNvbXBsZXRlXSgjZGV0ZXJtaW5pbmctd2hlbi1hbGwtdGVzdHMtYXJlLWNvbXBsZXRl
KSkuIFNvIHRoZXNlIHdvcmtlciB0ZXN0cwotICBiZWhhdmUgYXMgaWYgdGhleSB3ZXJlIHN0YXJ0
ZWQgd2l0aCB0aGUgYGV4cGxpY2l0X2RvbmVgIG9wdGlvbi4gU2VydmljZQotICB3b3JrZXJzIGRl
cGVuZCBvbiB0aGUKLSAgW29uaW5zdGFsbF0oaHR0cHM6Ly9zbGlnaHRseW9mZi5naXRodWIuaW8v
U2VydmljZVdvcmtlci9zcGVjL3NlcnZpY2Vfd29ya2VyL2luZGV4Lmh0bWwjc2VydmljZS13b3Jr
ZXItZ2xvYmFsLXNjb3BlLWluc3RhbGwtZXZlbnQpCi0gIGV2ZW50IGFuZCBkb24ndCByZXF1aXJl
IGFuIGV4cGxpY2l0IGBkb25lYCBjYWxsLgotCi1IZXJlJ3MgYW4gZXhhbXBsZSB0aGF0IHVzZXMg
YSBkZWRpY2F0ZWQgd29ya2VyLgotCi1gd29ya2VyLmpzYDoKLQotYGBganMKLWltcG9ydFNjcmlw
dHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLQotdGVzdChmdW5jdGlvbih0KSB7Ci0g
IGFzc2VydF90cnVlKHRydWUsICJ0cnVlIGlzIHRydWUiKTsKLX0sICJTaW1wbGUgdGVzdCIpOwot
Ci0vLyBkb25lKCkgaXMgbmVlZGVkIGJlY2F1c2UgdGhlIHRlc3RoYXJuZXNzIGlzIHJ1bm5pbmcg
YXMgaWYgZXhwbGljaXRfZG9uZQotLy8gd2FzIHNwZWNpZmllZC4KLWRvbmUoKTsKLWBgYAotCi1g
dGVzdC5odG1sYDoKLQotYGBgaHRtbAotPCFET0NUWVBFIGh0bWw+Ci08dGl0bGU+U2ltcGxlIHRl
c3Q8L3RpdGxlPgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2Ny
aXB0PgotPGRpdiBpZD0ibG9nIj48L2Rpdj4KLTxzY3JpcHQ+Ci0KLWZldGNoX3Rlc3RzX2Zyb21f
d29ya2VyKG5ldyBXb3JrZXIoIndvcmtlci5qcyIpKTsKLQotPC9zY3JpcHQ+Ci1gYGAKLQotVGhl
IGFyZ3VtZW50IHRvIHRoZSBgZmV0Y2hfdGVzdHNfZnJvbV93b3JrZXJgIGZ1bmN0aW9uIGNhbiBi
ZSBhCi1bYFdvcmtlcmBdKGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL3dv
cmtlcnMuaHRtbCNkZWRpY2F0ZWQtd29ya2Vycy1hbmQtdGhlLXdvcmtlci1pbnRlcmZhY2UpLAot
YSBbYFNoYXJlZFdvcmtlcmBdKGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdl
L3dvcmtlcnMuaHRtbCNzaGFyZWQtd29ya2Vycy1hbmQtdGhlLXNoYXJlZHdvcmtlci1pbnRlcmZh
Y2UpCi1vciBhIFtgU2VydmljZVdvcmtlcmBdKGh0dHBzOi8vc2xpZ2h0bHlvZmYuZ2l0aHViLmlv
L1NlcnZpY2VXb3JrZXIvc3BlYy9zZXJ2aWNlX3dvcmtlci8jc2VydmljZS13b3JrZXItb2JqKS4K
LU9uY2UgY2FsbGVkLCB0aGUgY29udGFpbmluZyBkb2N1bWVudCBmZXRjaGVzIGFsbCB0aGUgdGVz
dHMgZnJvbSB0aGUgd29ya2VyIGFuZAotYmVoYXZlcyBhcyBpZiB0aG9zZSB0ZXN0cyB3ZXJlIHJ1
bm5pbmcgaW4gdGhlIGNvbnRhaW5pbmcgZG9jdW1lbnQgaXRzZWxmLgotCi0jIyBMaXN0IG9mIEFz
c2VydGlvbnMgIyMKLQotIyMjIGBhc3NlcnRfdHJ1ZShhY3R1YWwsIGRlc2NyaXB0aW9uKWAKLWFz
c2VydHMgdGhhdCBgYWN0dWFsYCBpcyBzdHJpY3RseSB0cnVlCi0KLSMjIyBgYXNzZXJ0X2ZhbHNl
KGFjdHVhbCwgZGVzY3JpcHRpb24pYAotYXNzZXJ0cyB0aGF0IGBhY3R1YWxgIGlzIHN0cmljdGx5
IGZhbHNlCi0KLSMjIyBgYXNzZXJ0X2VxdWFscyhhY3R1YWwsIGV4cGVjdGVkLCBkZXNjcmlwdGlv
bilgCi1hc3NlcnRzIHRoYXQgYGFjdHVhbGAgaXMgdGhlIHNhbWUgdmFsdWUgYXMgYGV4cGVjdGVk
YAotCi0jIyMgYGFzc2VydF9ub3RfZXF1YWxzKGFjdHVhbCwgZXhwZWN0ZWQsIGRlc2NyaXB0aW9u
KWAKLWFzc2VydHMgdGhhdCBgYWN0dWFsYCBpcyBhIGRpZmZlcmVudCB2YWx1ZSB0byBgZXhwZWN0
ZWRgLgotVGhpcyBtZWFucyB0aGF0IGBleHBlY3RlZGAgaXMgYSBtaXNub21lci4KLQotIyMjIGBh
c3NlcnRfaW5fYXJyYXkoYWN0dWFsLCBleHBlY3RlZCwgZGVzY3JpcHRpb24pYAotYXNzZXJ0cyB0
aGF0IGBleHBlY3RlZGAgaXMgYW4gQXJyYXksIGFuZCBgYWN0dWFsYCBpcyBlcXVhbCB0byBvbmUg
b2YgdGhlCi1tZW1iZXJzIGkuZS4gYGV4cGVjdGVkLmluZGV4T2YoYWN0dWFsKSAhPSAtMWAKLQot
IyMjIGBhc3NlcnRfYXJyYXlfZXF1YWxzKGFjdHVhbCwgZXhwZWN0ZWQsIGRlc2NyaXB0aW9uKWAK
LWFzc2VydHMgdGhhdCBgYWN0dWFsYCBhbmQgYGV4cGVjdGVkYCBoYXZlIHRoZSBzYW1lCi1sZW5n
dGggYW5kIHRoZSB2YWx1ZSBvZiBlYWNoIGluZGV4ZWQgcHJvcGVydHkgaW4gYGFjdHVhbGAgaXMg
dGhlIHN0cmljdGx5IGVxdWFsCi10byB0aGUgY29ycmVzcG9uZGluZyBwcm9wZXJ0eSB2YWx1ZSBp
biBgZXhwZWN0ZWRgCi0KLSMjIyBgYXNzZXJ0X2FwcHJveF9lcXVhbHMoYWN0dWFsLCBleHBlY3Rl
ZCwgZXBzaWxvbiwgZGVzY3JpcHRpb24pYAotYXNzZXJ0cyB0aGF0IGBhY3R1YWxgIGlzIGEgbnVt
YmVyIHdpdGhpbiDCsWBlcHNpbG9uYCBvZiBgZXhwZWN0ZWRgCi0KLSMjIyBgYXNzZXJ0X2xlc3Nf
dGhhbihhY3R1YWwsIGV4cGVjdGVkLCBkZXNjcmlwdGlvbilgCi1hc3NlcnRzIHRoYXQgYGFjdHVh
bGAgaXMgYSBudW1iZXIgbGVzcyB0aGFuIGBleHBlY3RlZGAKLQotIyMjIGBhc3NlcnRfZ3JlYXRl
cl90aGFuKGFjdHVhbCwgZXhwZWN0ZWQsIGRlc2NyaXB0aW9uKWAKLWFzc2VydHMgdGhhdCBgYWN0
dWFsYCBpcyBhIG51bWJlciBncmVhdGVyIHRoYW4gYGV4cGVjdGVkYAotCi0jIyMgYGFzc2VydF9i
ZXR3ZWVuX2V4Y2x1c2l2ZShhY3R1YWwsIGxvd2VyLCB1cHBlciwgZGVzY3JpcHRpb25gCi1hc3Nl
cnRzIHRoYXQgYGFjdHVhbGAgaXMgYSBudW1iZXIgYmV0d2VlbiBgbG93ZXJgIGFuZCBgdXBwZXJg
IGJ1dCBub3QKLWVxdWFsIHRvIGVpdGhlciBvZiB0aGVtCi0KLSMjIyBgYXNzZXJ0X2xlc3NfdGhh
bl9lcXVhbChhY3R1YWwsIGV4cGVjdGVkLCBkZXNjcmlwdGlvbilgCi1hc3NlcnRzIHRoYXQgYGFj
dHVhbGAgaXMgYSBudW1iZXIgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIGBleHBlY3RlZGAKLQotIyMj
IGBhc3NlcnRfZ3JlYXRlcl90aGFuX2VxdWFsKGFjdHVhbCwgZXhwZWN0ZWQsIGRlc2NyaXB0aW9u
KWAKLWFzc2VydHMgdGhhdCBgYWN0dWFsYCBpcyBhIG51bWJlciBncmVhdGVyIHRoYW4gb3IgZXF1
YWwgdG8gYGV4cGVjdGVkYAotCi0jIyMgYGFzc2VydF9iZXR3ZWVuX2luY2x1c2l2ZShhY3R1YWws
IGxvd2VyLCB1cHBlciwgZGVzY3JpcHRpb25gCi1hc3NlcnRzIHRoYXQgYGFjdHVhbGAgaXMgYSBu
dW1iZXIgYmV0d2VlbiBgbG93ZXJgIGFuZCBgdXBwZXJgIG9yCi1lcXVhbCB0byBlaXRoZXIgb2Yg
dGhlbQotCi0jIyMgYGFzc2VydF9yZWdleHBfbWF0Y2goYWN0dWFsLCBleHBlY3RlZCwgZGVzY3Jp
cHRpb24pYAotYXNzZXJ0cyB0aGF0IGBhY3R1YWxgIG1hdGNoZXMgdGhlIHJlZ2V4cCBgZXhwZWN0
ZWRgCi0KLSMjIyBgYXNzZXJ0X2NsYXNzX3N0cmluZyhvYmplY3QsIGNsYXNzX25hbWUsIGRlc2Ny
aXB0aW9uKWAKLWFzc2VydHMgdGhhdCB0aGUgY2xhc3Mgc3RyaW5nIG9mIGBvYmplY3RgIGFzIHJl
dHVybmVkIGluCi1gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZ2AgaXMgZXF1YWwgdG8gYGNsYXNz
X25hbWVgLgotCi0jIyMgYGFzc2VydF9vd25fcHJvcGVydHkob2JqZWN0LCBwcm9wZXJ0eV9uYW1l
LCBkZXNjcmlwdGlvbilgCi1hc3NlcnQgdGhhdCBvYmplY3QgaGFzIG93biBwcm9wZXJ0eSBgcHJv
cGVydHlfbmFtZWAKLQotIyMjIGBhc3NlcnRfaW5oZXJpdHMob2JqZWN0LCBwcm9wZXJ0eV9uYW1l
LCBkZXNjcmlwdGlvbilgCi1hc3NlcnQgdGhhdCBvYmplY3QgZG9lcyBub3QgaGF2ZSBhbiBvd24g
cHJvcGVydHkgbmFtZWQKLWBwcm9wZXJ0eV9uYW1lYCBidXQgdGhhdCBgcHJvcGVydHlfbmFtZWAg
aXMgcHJlc2VudCBpbiB0aGUgcHJvdG90eXBlCi1jaGFpbiBmb3Igb2JqZWN0Ci0KLSMjIyBgYXNz
ZXJ0X2lkbF9hdHRyaWJ1dGUob2JqZWN0LCBhdHRyaWJ1dGVfbmFtZSwgZGVzY3JpcHRpb24pYAot
YXNzZXJ0IHRoYXQgYW4gb2JqZWN0IHRoYXQgaXMgYW4gaW5zdGFuY2Ugb2Ygc29tZSBpbnRlcmZh
Y2UgaGFzIHRoZQotYXR0cmlidXRlIGF0dHJpYnV0ZV9uYW1lIGZvbGxvd2luZyB0aGUgY29uZGl0
aW9ucyBzcGVjaWZpZWQgYnkgV2ViSURMCi0KLSMjIyBgYXNzZXJ0X3JlYWRvbmx5KG9iamVjdCwg
cHJvcGVydHlfbmFtZSwgZGVzY3JpcHRpb24pYAotYXNzZXJ0IHRoYXQgcHJvcGVydHkgYHByb3Bl
cnR5X25hbWVgIG9uIG9iamVjdCBpcyByZWFkb25seQotCi0jIyMgYGFzc2VydF90aHJvd3MoY29k
ZSwgZnVuYywgZGVzY3JpcHRpb24pYAotYGNvZGVgIC0gdGhlIGV4cGVjdGVkIGV4Y2VwdGlvbi4g
VGhpcyBjYW4gdGFrZSBzZXZlcmFsIGZvcm1zOgotCi0gICogc3RyaW5nIC0gdGhlIHRocm93biBl
eGNlcHRpb24gbXVzdCBiZSBhIERPTUV4Y2VwdGlvbiB3aXRoIHRoZSBnaXZlbgotICAgICAgICAg
ICAgIG5hbWUsIGUuZy4sICJUaW1lb3V0RXJyb3IiIChmb3IgY29tcGF0aWJpbGl0eSB3aXRoIGV4
aXN0aW5nCi0gICAgICAgICAgICAgdGVzdHMsIGEgY29uc3RhbnQgaXMgYWxzbyBzdXBwb3J0ZWQs
IGUuZy4sICJUSU1FT1VUX0VSUiIpCi0gICogb2JqZWN0IC0gdGhlIHRocm93biBleGNlcHRpb24g
bXVzdCBoYXZlIGEgcHJvcGVydHkgY2FsbGVkICJuYW1lIiB0aGF0Ci0gICAgICAgICAgICAgbWF0
Y2hlcyBjb2RlLm5hbWUKLSAgKiBudWxsIC0gICBhbGxvdyBhbnkgZXhjZXB0aW9uIChpbiBnZW5l
cmFsLCBvbmUgb2YgdGhlIG9wdGlvbnMgYWJvdmUKLSAgICAgICAgICAgICBzaG91bGQgYmUgdXNl
ZCkKLQotYGZ1bmNgIC0gYSBmdW5jdGlvbiB0aGF0IHNob3VsZCB0aHJvdwotCi0jIyMgYGFzc2Vy
dF91bnJlYWNoZWQoZGVzY3JpcHRpb24pYAotYXNzZXJ0cyBpZiBjYWxsZWQuIFVzZWQgdG8gZW5z
dXJlIHRoYXQgc29tZSBjb2RlcGF0aCBpcyAqbm90KiB0YWtlbiBlLmcuCi1hbiBldmVudCBkb2Vz
IG5vdCBmaXJlLgotCi0jIyMgYGFzc2VydF9hbnkoYXNzZXJ0X2Z1bmMsIGFjdHVhbCwgZXhwZWN0
ZWRfYXJyYXksIGV4dHJhX2FyZ18xLCAuLi4gZXh0cmFfYXJnX04pYAotYXNzZXJ0cyB0aGF0IG9u
ZSBgYXNzZXJ0X2Z1bmMoYWN0dWFsLCBleHBlY3RlZF9hcnJheV9OLCBleHRyYV9hcmcxLCAuLi4s
IGV4dHJhX2FyZ19OKWAKLSAgaXMgdHJ1ZSBmb3Igc29tZSBgZXhwZWN0ZWRfYXJyYXlfTmAgaW4g
YGV4cGVjdGVkX2FycmF5YC4gVGhpcyBvbmx5IHdvcmtzIGZvciBgYXNzZXJ0X2Z1bmNgCi0gIHdp
dGggc2lnbmF0dXJlIGBhc3NlcnRfZnVuYyhhY3R1YWwsIGV4cGVjdGVkLCBhcmdzXzEsIC4uLiwg
YXJnc19OKWAuIE5vdGUgdGhhdCB0ZXN0cwotICB3aXRoIG11bHRpcGxlIGFsbG93ZWQgcGFzcyBj
b25kaXRpb25zIGFyZSBiYWQgcHJhY3RpY2UgdW5sZXNzIHRoZSBzcGVjIHNwZWNpZmljYWxseQot
ICBhbGxvd3MgbXVsdGlwbGUgYmVoYXZpb3Vycy4gVGVzdCBhdXRob3JzIHNob3VsZCBub3QgdXNl
IHRoaXMgbWV0aG9kIHNpbXBseSB0byBoaWRlCi0gIFVBIGJ1Z3MuCi0KLSMjIyBgYXNzZXJ0X2V4
aXN0cyhvYmplY3QsIHByb3BlcnR5X25hbWUsIGRlc2NyaXB0aW9uKWAKLSoqZGVwcmVjYXRlZCoq
Ci1hc3NlcnRzIHRoYXQgb2JqZWN0IGhhcyBhbiBvd24gcHJvcGVydHkgYHByb3BlcnR5X25hbWVg
Ci0KLSMjIyBgYXNzZXJ0X25vdF9leGlzdHMob2JqZWN0LCBwcm9wZXJ0eV9uYW1lLCBkZXNjcmlw
dGlvbilgCi0qKmRlcHJlY2F0ZWQqKgotYXNzZXJ0IHRoYXQgb2JqZWN0IGRvZXMgbm90IGhhdmUg
b3duIHByb3BlcnR5IGBwcm9wZXJ0eV9uYW1lYAotCi0jIyBNZXRhZGF0YSAjIwotCi1JdCBpcyBw
b3NzaWJsZSB0byBhZGQgb3B0aW9uYWwgbWV0YWRhdGEgdG8gdGVzdHM7IHRoaXMgY2FuIGJlIGRv
bmUgaW4KLW9uZSBvZiB0d28gd2F5czsgZWl0aGVyIGJ5IGFkZGluZyBgPG1ldGE+YCBlbGVtZW50
cyB0byB0aGUgaGVhZCBvZiB0aGUKLWRvY3VtZW50IGNvbnRhaW5pbmcgdGhlIHRlc3RzLCBvciBi
eSBhZGRpbmcgdGhlIG1ldGFkYXRhIHRvIGluZGl2aWR1YWwKLWBbYXN5bmNfXXRlc3RgIGNhbGxz
LCBhcyBwcm9wZXJ0aWVzLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZG9jcy9pZGxoYXJuZXNzLm1kIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZG9jcy9pZGxoYXJu
ZXNzLm1kCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxNDEwNzdiM2E3MmE3YTBlNWJl
YjkyYTMxOTgxNDIxOTY2YmI3ZTU4Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL2RvY3MvaWRsaGFybmVzcy5tZAorKysgL2Rldi9udWxsCkBAIC0xLDEyOCArMCww
IEBACi0jIyBJbnRyb2R1Y3Rpb24gIyMKLQotYGlkbGhhcm5lc3MuanNgIGF1dG9tYXRpY2FsbHkg
Z2VuZXJhdGVzIGJyb3dzZXIgdGVzdHMgZm9yIFdlYklETCBpbnRlcmZhY2VzLCB1c2luZwotdGhl
IHRlc3RoYXJuZXNzLmpzIGZyYW1ld29yay4gIFRvIHVzZSwgZmlyc3QgaW5jbHVkZSB0aGUgZm9s
bG93aW5nOgotCi1gYGBodG1sCi08c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Pjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcz48
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvV2ViSURMUGFyc2VyLmpzPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9L3Jlc291cmNlcy9pZGxoYXJuZXNzLmpzPjwvc2NyaXB0PgotYGBgCi0K
LVRoZW4geW91J2xsIG5lZWQgc29tZSB0eXBlIG9mIElETHMuICBIZXJlJ3Mgc29tZSBzY3JpcHQg
dGhhdCBjYW4gYmUgcnVuIG9uIGEKLXNwZWMgd3JpdHRlbiBpbiBIVE1MLCB3aGljaCB3aWxsIGdy
YWIgYWxsIHRoZSBlbGVtZW50cyB3aXRoIGBjbGFzcz0iaWRsImAsCi1jb25jYXRlbmF0ZSB0aGVt
LCBhbmQgcmVwbGFjZSB0aGUgYm9keSBzbyB5b3UgY2FuIGNvcHktcGFzdGU6Ci0KLWBgYGpzCi12
YXIgcyA9ICIiOwotW10uZm9yRWFjaC5jYWxsKGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05h
bWUoImlkbCIpLCBmdW5jdGlvbihpZGwpIHsKLSAgLy9odHRwczovL3d3dy53My5vcmcvQnVncy9Q
dWJsaWMvc2hvd19idWcuY2dpP2lkPTE0OTE0Ci0gIGlmICghaWRsLmNsYXNzTGlzdC5jb250YWlu
cygiZXh0cmFjdCIpKQotICB7Ci0gICAgcyArPSBpZGwudGV4dENvbnRlbnQgKyAiXG5cbiI7Ci0g
IH0KLX0pOwotZG9jdW1lbnQuYm9keS5pbm5lckhUTUwgPSAnPHByZT48L3ByZT4nOwotZG9jdW1l
bnQuYm9keS5maXJzdENoaWxkLnRleHRDb250ZW50ID0gczsKLWBgYAotCi1PbmNlIHlvdSBoYXZl
IHRoYXQsIHB1dCBpdCBpbiB5b3VyIHNjcmlwdCBzb21laG93LiAgVGhlIGVhc2llc3Qgd2F5IGlz
IHRvCi1lbWJlZCBpdCBsaXRlcmFsbHkgaW4gYW4gSFRNTCBmaWxlIHdpdGggYDxzY3JpcHQgdHlw
ZT10ZXh0L3BsYWluPmAgb3Igc2ltaWxhciwKLXNvIHRoYXQgeW91IGRvbid0IGhhdmUgdG8gZG8g
YW55IGVzY2FwaW5nLiAgQW5vdGhlciBwb3NzaWJpbGl0eSBpcyB0byBwdXQgaXQKLWluIGEgc2Vw
YXJhdGUgLmlkbCBmaWxlIHRoYXQncyBmZXRjaGVkIHZpYSBYSFIgb3Igc2ltaWxhci4gIFNhbXBs
ZSB1c2FnZToKLQotYGBganMKLXZhciBpZGxfYXJyYXkgPSBuZXcgSWRsQXJyYXkoKTsKLWlkbF9h
cnJheS5hZGRfdW50ZXN0ZWRfaWRscygiaW50ZXJmYWNlIE5vZGUgeyByZWFkb25seSBhdHRyaWJ1
dGUgRE9NU3RyaW5nIG5vZGVOYW1lOyB9OyIpOwotaWRsX2FycmF5LmFkZF9pZGxzKCJpbnRlcmZh
Y2UgRG9jdW1lbnQgOiBOb2RlIHsgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBVUkw7IH07
Iik7Ci1pZGxfYXJyYXkuYWRkX29iamVjdHMoe0RvY3VtZW50OiBbImRvY3VtZW50Il19KTsKLWlk
bF9hcnJheS50ZXN0KCk7Ci1gYGAKLQotVGhpcyB0ZXN0cyB0aGF0IGB3aW5kb3cuRG9jdW1lbnRg
IGV4aXN0cyBhbmQgbWVldHMgYWxsIHRoZSByZXF1aXJlbWVudHMgb2YKLVdlYklETC4gIEl0IGFs
c28gdGVzdHMgdGhhdCB3aW5kb3cuZG9jdW1lbnQgKHRoZSByZXN1bHQgb2YgZXZhbHVhdGluZyB0
aGUKLXN0cmluZyAiZG9jdW1lbnQiKSBoYXMgVVJMIGFuZCBub2RlTmFtZSBwcm9wZXJ0aWVzIHRo
YXQgYmVoYXZlIGFzIHRoZXkKLXNob3VsZCwgYW5kIG90aGVyd2lzZSBtZWV0cyBXZWJJREwncyBy
ZXF1aXJlbWVudHMgZm9yIGFuIG9iamVjdCB3aG9zZQotcHJpbWFyeSBpbnRlcmZhY2UgaXMgRG9j
dW1lbnQuICBJdCBkb2VzIG5vdCB0ZXN0IHRoYXQgd2luZG93Lk5vZGUgZXhpc3RzLAotd2hpY2gg
aXMgd2hhdCB5b3Ugd2FudCBpZiB0aGUgTm9kZSBpbnRlcmZhY2UgaXMgYWxyZWFkeSB0ZXN0ZWQg
aW4gc29tZSBvdGhlcgotc3BlY2lmaWNhdGlvbidzIHN1aXRlIGFuZCB5b3VyIHNwZWNpZmljYXRp
b24gb25seSBleHRlbmRzIG9yIHJlZmVycyB0byBpdC4KLU9mIGNvdXJzZSwgZWFjaCBJREwgc3Ry
aW5nIGNhbiBkZWZpbmUgbWFueSBkaWZmZXJlbnQgdGhpbmdzLCBhbmQgY2FsbHMgdG8KLWFkZF9v
YmplY3RzKCkgY2FuIHJlZ2lzdGVyIG1hbnkgZGlmZmVyZW50IG9iamVjdHMgZm9yIGRpZmZlcmVu
dCBpbnRlcmZhY2VzOgotdGhpcyBpcyBhIHZlcnkgc2ltcGxlIGV4YW1wbGUuCi0KLSMjIFB1Ymxp
YyBtZXRob2RzIG9mIElkbEFycmF5ICMjCi0KLUlkbEFycmF5IG9iamVjdHMgY2FuIGJlIG9idGFp
bmVkIHdpdGggYG5ldyBJZGxBcnJheSgpYC4gIEFueXRoaW5nIG5vdAotZG9jdW1lbnRlZCBpbiB0
aGlzIHNlY3Rpb24gc2hvdWxkIGJlIGNvbnNpZGVyZWQgYW4gaW1wbGVtZW50YXRpb24gZGV0YWls
LAotYW5kIG91dHNpZGUgY2FsbGVycyBzaG91bGQgbm90IHVzZSBpdC4KLQotIyMjIGBhZGRfaWRs
cyhpZGxfc3RyaW5nKWAKLSAgUGFyc2VzIGBpZGxfc3RyaW5nYCAodGhyb3dpbmcgb24gcGFyc2Ug
ZXJyb3IpIGFuZCBhZGRzIHRoZSByZXN1bHRzIHRvIHRoZQotICBJZGxBcnJheS4gIEFsbCB0aGUg
ZGVmaW5pdGlvbnMgd2lsbCBiZSB0ZXN0ZWQgd2hlbiB5b3UgcnVuIHRlc3QoKS4gIElmCi0gIHNv
bWUgb2YgdGhlIGRlZmluaXRpb25zIHJlZmVyIHRvIG90aGVyIGRlZmluaXRpb25zLCB0aG9zZSBt
dXN0IGJlIHByZXNlbnQKLSAgdG9vLiAgRm9yIGluc3RhbmNlLCBpZiBgaWRsX3N0cmluZ2Agc2F5
cyB0aGF0IGBEb2N1bWVudGAgaW5oZXJpdHMgZnJvbSBgTm9kZWAsCi0gIHRoZSBgTm9kZWAgaW50
ZXJmYWNlIG11c3QgYWxzbyBoYXZlIGJlZW4gcHJvdmlkZWQgaW4gc29tZSBjYWxsIHRvIGBhZGRf
aWRscygpYAotICBvciBgYWRkX3VudGVzdGVkX2lkbHMoKWAuCi0KLSMjIyBgYWRkX3VudGVzdGVk
X2lkbHMoaWRsX3N0cmluZylgCi0gIExpa2UgYGFkZF9pZGxzKClgLCBidXQgdGhlIGRlZmluaXRp
b25zIHdpbGwgbm90IGJlIHRlc3RlZC4gIElmIGFuIHVudGVzdGVkCi0gIGludGVyZmFjZSBpcyBh
ZGRlZCBhbmQgdGhlbiBleHRlbmRlZCB3aXRoIGEgdGVzdGVkIHBhcnRpYWwgaW50ZXJmYWNlLCB0
aGUKLSAgbWVtYmVycyBvZiB0aGUgcGFydGlhbCBpbnRlcmZhY2Ugd2lsbCBzdGlsbCBiZSB0ZXN0
ZWQuICBBbHNvLCBhbGwgdGhlCi0gIG1lbWJlcnMgd2lsbCBzdGlsbCBiZSB0ZXN0ZWQgZm9yIG9i
amVjdHMgYWRkZWQgd2l0aCBgYWRkX29iamVjdHMoKWAsIGJlY2F1c2UKLSAgeW91IHByb2JhYmx5
IHdhbnQgdG8gdGVzdCB0aGF0IChmb3IgaW5zdGFuY2UpIHdpbmRvdy5kb2N1bWVudCBoYXMgYWxs
IHRoZQotICBwcm9wZXJ0aWVzIGZyb20gYE5vZGVgLCBub3QganVzdCBgRG9jdW1lbnRgLCBldmVu
IGlmIHRoZSBgTm9kZWAgaW50ZXJmYWNlIGl0c2VsZgotICBpcyB0ZXN0ZWQgaW4gYSBkaWZmZXJl
bnQgdGVzdCBzdWl0ZS4KLQotIyMjIGBhZGRfb2JqZWN0cyhkaWN0KWAKLSAgYGRpY3RgIHNob3Vs
ZCBiZSBhbiBvYmplY3Qgd2hvc2Uga2V5cyBhcmUgdGhlIG5hbWVzIG9mIGludGVyZmFjZXMgb3IK
LSAgZXhjZXB0aW9ucywgYW5kIHdob3NlIHZhbHVlcyBhcmUgYXJyYXlzIG9mIHN0cmluZ3MuICBX
aGVuIGFuIGludGVyZmFjZSBvcgotICBleGNlcHRpb24gaXMgdGVzdGVkLCBldmVyeSBzdHJpbmcg
cmVnaXN0ZXJlZCBmb3IgaXQgd2l0aCBgYWRkX29iamVjdHMoKWAKLSAgd2lsbCBiZSBldmFsdWF0
ZWQsIGFuZCB0ZXN0cyB3aWxsIGJlIHJ1biBvbiB0aGUgcmVzdWx0IHRvIHZlcmlmeSB0aGF0IGl0
Ci0gIGNvcnJlY3RseSBpbXBsZW1lbnRzIHRoYXQgaW50ZXJmYWNlIG9yIGV4Y2VwdGlvbi4gIFRo
aXMgaXMgdGhlIG9ubHkgd2F5IHRvCi0gIHRlc3QgYW55dGhpbmcgYWJvdXQgYFtOb0ludGVyZmFj
ZU9iamVjdF1gIGludGVyZmFjZXMsIGFuZCB0aGVyZSBhcmUgbWFueQotICB0ZXN0cyB0aGF0IGNh
bid0IGJlIHJ1biBvbiBhbnkgaW50ZXJmYWNlIHdpdGhvdXQgYW4gb2JqZWN0IHRvIGZpZGRsZSB3
aXRoLgotCi0gIFRoZSBpbnRlcmZhY2UgaGFzIHRvIGJlIHRoZSAqcHJpbWFyeSogaW50ZXJmYWNl
IG9mIGFsbCB0aGUgb2JqZWN0cwotICBwcm92aWRlZC4gIEZvciBleGFtcGxlLCBkb24ndCBwYXNz
IGB7Tm9kZTogWyJkb2N1bWVudCJdfWAsIGJ1dCByYXRoZXIKLSAgYHtEb2N1bWVudDogWyJkb2N1
bWVudCJdfWAuICBBc3N1bWluZyB0aGUgYERvY3VtZW50YCBpbnRlcmZhY2Ugd2FzIGRlY2xhcmVk
IHRvCi0gIGluaGVyaXQgZnJvbSBgTm9kZWAsIHRoaXMgd2lsbCBhdXRvbWF0aWNhbGx5IHRlc3Qg
dGhhdCBkb2N1bWVudCBpbXBsZW1lbnRzCi0gIHRoZSBgTm9kZWAgaW50ZXJmYWNlIHRvby4KLQot
ICBXYXJuaW5nOiBtZXRob2RzIHdpbGwgYmUgY2FsbGVkIG9uIGFueSBwcm92aWRlZCBvYmplY3Rz
LCBpbiBhIG1hbm5lciB0aGF0Ci0gIFdlYklETCByZXF1aXJlcyBiZSBzYWZlLiAgRm9yIGluc3Rh
bmNlLCBpZiBhIG1ldGhvZCBoYXMgbWFuZGF0b3J5Ci0gIGFyZ3VtZW50cywgdGhlIHRlc3Qgc3Vp
dGUgd2lsbCB0cnkgY2FsbGluZyBpdCB3aXRoIHRvbyBmZXcgYXJndW1lbnRzIHRvCi0gIHNlZSBp
ZiBpdCB0aHJvd3MgYW4gZXhjZXB0aW9uLiAgSWYgYW4gaW1wbGVtZW50YXRpb24gaW5jb3JyZWN0
bHkgcnVucyB0aGUKLSAgZnVuY3Rpb24gaW5zdGVhZCBvZiB0aHJvd2luZywgdGhpcyBtaWdodCBo
YXZlIHNpZGUgZWZmZWN0cywgcG9zc2libHkgZXZlbgotICBwcmV2ZW50aW5nIHRoZSB0ZXN0IHN1
aXRlIGZyb20gcnVubmluZyBjb3JyZWN0bHkuCi0KLSMjIyBgcHJldmVudF9tdWx0aXBsZV90ZXN0
aW5nKG5hbWUpYAotICBUaGlzIGlzIGEgbmljaGUgbWV0aG9kIGZvciB1c2UgaW4gY2FzZSB5b3Un
cmUgdGVzdGluZyBtYW55IG9iamVjdHMgdGhhdAotICBpbXBsZW1lbnQgdGhlIHNhbWUgaW50ZXJm
YWNlcywgYW5kIGRvbid0IHdhbnQgdG8gcmV0ZXN0IHRoZSBzYW1lCi0gIGludGVyZmFjZXMgZXZl
cnkgc2luZ2xlIHRpbWUuICBGb3IgaW5zdGFuY2UsIEhUTUwgZGVmaW5lcyBtYW55IGludGVyZmFj
ZXMKLSAgdGhhdCBhbGwgaW5oZXJpdCBmcm9tIGBIVE1MRWxlbWVudGAsIHNvIHRoZSBIVE1MIHRl
c3Qgc3VpdGUgaGFzIHNvbWV0aGluZwotICBsaWtlCi0KLWBgYGpzCi0uYWRkX29iamVjdHMoewot
ICBIVE1MSHRtbEVsZW1lbnQ6IFsnZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50J10sCi0gIEhUTUxI
ZWFkRWxlbWVudDogWydkb2N1bWVudC5oZWFkJ10sCi0gIEhUTUxCb2R5RWxlbWVudDogWydkb2N1
bWVudC5ib2R5J10sCi0gIC4uLgotfSkKLWBgYAotCi0gIGFuZCBzbyBvbiBmb3IgZG96ZW5zIG9m
IGVsZW1lbnQgdHlwZXMuICBUaGlzIHdvdWxkIG1lYW4gdGhhdCBpdCB3b3VsZAotICByZXRlc3Qg
dGhhdCBlYWNoIGFuZCBldmVyeSBvbmUgb2YgdGhvc2UgZWxlbWVudHMgaW1wbGVtZW50cyBgSFRN
TEVsZW1lbnRgLAotICBgRWxlbWVudGAsIGFuZCBgTm9kZWAsIHdoaWNoIHdvdWxkIGJlIHRob3Vz
YW5kcyBvZiBiYXNpY2FsbHkgcmVkdW5kYW50IHRlc3RzLgotICBUaGUgdGVzdCBzdWl0ZSB0aGVy
ZWZvcmUgY2FsbHMgYHByZXZlbnRfbXVsdGlwbGVfdGVzdGluZygiSFRNTEVsZW1lbnQiKWAuCi0g
IFRoaXMgbWVhbnMgdGhhdCBvbmNlIG9uZSBvYmplY3QgaGFzIGJlZW4gdGVzdGVkIHRvIGltcGxl
bWVudCBgSFRNTEVsZW1lbnRgCi0gIGFuZCBpdHMgYW5jZXN0b3JzLCBubyBvdGhlciBvYmplY3Qg
d2lsbCBiZS4gIFRodXMgaW4gdGhlIGV4YW1wbGUgY29kZQotICBhYm92ZSwgdGhlIGhhcm5lc3Mg
d291bGQgdGVzdCB0aGF0IGBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnRgIGNvcnJlY3RseQotICBp
bXBsZW1lbnRzIGBIVE1MSHRtbEVsZW1lbnRgLCBgSFRNTEVsZW1lbnRgLCBgRWxlbWVudGAsIGFu
ZCBgTm9kZWA7IGJ1dAotICBgZG9jdW1lbnQuaGVhZGAgd291bGQgb25seSBiZSB0ZXN0ZWQgZm9y
IGBIVE1MSGVhZEVsZW1lbnRgLCBhbmQgc28gb24gZm9yCi0gIGZ1cnRoZXIgb2JqZWN0cy4KLQot
IyMjIGB0ZXN0KClgCi0gIFJ1biBhbGwgdGVzdHMuICBUaGlzIHNob3VsZCBiZSBjYWxsZWQgYWZ0
ZXIgeW91J3ZlIGNhbGxlZCBhbGwgb3RoZXIKLSAgbWV0aG9kcyB0byBhZGQgSURMcyBhbmQgb2Jq
ZWN0cy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL2RvY3MvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9kb2NzL3czYy1pbXBvcnQubG9nCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5N2RiZWUzZjQyYTk2MzFmMDBlNjI1ZDM3OWMx
M2Y3MzA5NDI4ODU1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L2RvY3MvdzNjLWltcG9ydC5sb2cKKysrIC9kZXYvbnVsbApAQCAtMSwxOSArMCwwIEBACi1UaGUg
dGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3Np
dG9yeS4KLURvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5z
dGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXM0MgQ1NTIG9yIFdQVCBnaXRodWI6
Ci0JaHR0cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy10ZXN0Ci0JaHR0cHM6Ly9naXRodWIuY29t
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMKLQotVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1w
b3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKLQotRG8gTk9UIG1vZGlmeSBvciBy
ZW1vdmUgdGhpcyBmaWxlLgotCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLVByb3BlcnRpZXMgcmVxdWlyaW5n
IHZlbmRvciBwcmVmaXhlczoKLU5vbmUKLVByb3BlcnR5IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9y
IHByZWZpeGVzOgotTm9uZQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1MaXN0IG9mIGZpbGVzOgotL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2RvY3MvYXBp
Lm1kCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvZG9jcy9pZGxoYXJuZXNzLm1kCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy9hcGlzYW1wbGUtZXJyb3It
d29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2FtcGxlLWVycm9yLXdvcmtlci5qcwpkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggOWJmZTBhNmYzNDNkNWVhMjVhOTVkYTJkYzgxZDIzMzRiNjdhNDgx
Mi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy9h
cGlzYW1wbGUtZXJyb3Itd29ya2VyLmpzCisrKyAvZGV2L251bGwKQEAgLTEsMyArMCwwIEBACi1p
bXBvcnRTY3JpcHRzKCIuLi90ZXN0aGFybmVzcy5qcyIpOwotCi10aHJvdyBuZXcgRXJyb3IoIlRo
aXMgZmFpbHVyZSBpcyBleHBlY3RlZC4iKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBsZS13
b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy9leGFtcGxlcy9hcGlzYW1wbGUtd29ya2VyLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCBiMWQwODYzMTRjYzk4MWEyNTY5ZDE0NjJiNWNlMmE3Y2Q3OWQ3NTA3Li4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBs
ZS13b3JrZXIuanMKKysrIC9kZXYvbnVsbApAQCAtMSwzNCArMCwwIEBACi1pbXBvcnRTY3JpcHRz
KCIuLi90ZXN0aGFybmVzcy5qcyIpOwotCi10ZXN0KAotICAgIGZ1bmN0aW9uKHRlc3QpIHsKLSAg
ICAgICAgYXNzZXJ0X3RydWUodHJ1ZSwgIlRydWUgaXMgdHJ1ZSIpOwotICAgIH0sCi0gICAgIldv
cmtlciB0ZXN0IHRoYXQgY29tcGxldGVzIHN1Y2Nlc3NmdWxseSIpOwotCi10ZXN0KAotICAgIGZ1
bmN0aW9uKHRlc3QpIHsKLSAgICAgICAgYXNzZXJ0X3RydWUoZmFsc2UsICJGYWlsaW5nIHRlc3Qi
KTsKLSAgICB9LAotICAgICJXb3JrZXIgdGVzdCB0aGF0IGZhaWxzICgnRkFJTCcpIik7Ci0KLWFz
eW5jX3Rlc3QoCi0gICAgZnVuY3Rpb24odGVzdCkgewotICAgICAgICBhc3NlcnRfdHJ1ZSh0cnVl
LCAiVHJ1ZSBpcyB0cnVlIik7Ci0gICAgfSwKLSAgICAiV29ya2VyIHRlc3QgdGhhdCB0aW1lcyBv
dXQgKCdUSU1FT1VUJykiKTsKLQotYXN5bmNfdGVzdCgiV29ya2VyIHRlc3QgdGhhdCBkb2Vzbid0
IHJ1biAoJ05PVCBSVU4nKSIpOwotCi1hc3luY190ZXN0KAotICAgIGZ1bmN0aW9uKHRlc3QpIHsK
LSAgICAgICAgc2VsZi5zZXRUaW1lb3V0KAotICAgICAgICAgICAgZnVuY3Rpb24oKSB7Ci0gICAg
ICAgICAgICAgICAgdGVzdC5kb25lKCk7Ci0gICAgICAgICAgICB9LAotICAgICAgICAgICAgMCk7
Ci0gICAgfSwKLSAgICAiV29ya2VyIGFzeW5jX3Rlc3QgdGhhdCBjb21wbGV0ZXMgc3VjY2Vzc2Z1
bGx5Iik7Ci0KLS8vIEFuIGV4cGxpY2l0IGRvbmUoKSBpcyByZXF1aXJlZCBmb3IgZGVkaWNhdGVk
IGFuZCBzaGFyZWQgd2ViIHdvcmtlcnMuCi1kb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy9hcGlz
YW1wbGUuaHRtIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2FtcGxlLmh0bQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggNTA0YTM0M2FjZGJiYzg3ZWE1Y2EyMWQ3ODVjNTFiMGJhNTNiMzFkZi4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy9hcGlzYW1wbGUuaHRt
CisrKyAvZGV2L251bGwKQEAgLTEsMTc1ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPg0KLTxodG1s
Pg0KLTxoZWFkPg0KLTx0aXRsZT5TYW1wbGUgSFRNTDUgQVBJIFRlc3RzPC90aXRsZT4NCi08bWV0
YSBuYW1lPSJ0aW1lb3V0IiBjb250ZW50PSI2MDAwIj4NCi08L2hlYWQ+DQotPGJvZHkgb25sb2Fk
PSJsb2FkX3Rlc3RfYXR0ci5kb25lKCkiPg0KLTxoMT5TYW1wbGUgSFRNTDUgQVBJIFRlc3RzPC9o
MT4NCi08ZGl2IGlkPSJsb2ciPjwvZGl2Pg0KLTxzY3JpcHQgc3JjPSIuLi90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+DQotPHNjcmlwdCBzcmM9Ii4uL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4NCi08c2NyaXB0Pg0KLSAgICBzZXR1cF9ydW4gPSBmYWxzZTsNCi0gICAgc2V0dXAoZnVu
Y3Rpb24oKSB7DQotICAgICAgICAgICAgc2V0dXBfcnVuID0gdHJ1ZTsNCi0gICAgICAgICAgfSk7
DQotICAgIHRlc3QoZnVuY3Rpb24oKSB7YXNzZXJ0X3RydWUoc2V0dXBfcnVuKX0sICJTZXR1cCBm
dW5jdGlvbiByYW4iKTsNCi0NCi0gICAgLy8gVHdvIGV4YW1wbGVzIGZvciB0ZXN0aW5nIGV2ZW50
cyBmcm9tIGhhbmRsZXIgYW5kIGF0dHJpYnV0ZXMNCi0gICAgdmFyIGxvYWRfdGVzdF9ldmVudCA9
IGFzeW5jX3Rlc3QoIndpbmRvdyBvbmxvYWQgZXZlbnQgZmlyZXMgd2hlbiBzZXQgZnJvbSB0aGUg
aGFuZGxlciIpOw0KLQ0KLSAgICBmdW5jdGlvbiB3aW5kb3dMb2FkKCkNCi0gICAgew0KLSAgICAg
ICAgbG9hZF90ZXN0X2V2ZW50LmRvbmUoKTsNCi0gICAgfQ0KLSAgICBvbl9ldmVudCh3aW5kb3cs
ICJsb2FkIiwgd2luZG93TG9hZCk7DQotDQotICAgIC8vIHNlZSB0aGUgYm9keSBvbmxvYWQgYmVs
b3cNCi0gICAgdmFyIGxvYWRfdGVzdF9hdHRyID0gYXN5bmNfdGVzdCgiYm9keSBlbGVtZW50IGZp
cmVzIHRoZSBvbmxvYWQgZXZlbnQgc2V0IGZyb20gdGhlIGF0dHJpYnV0ZSIpOw0KLTwvc2NyaXB0
Pg0KLTxzY3JpcHQ+DQotICAgIGZ1bmN0aW9uIGJvZHlFbGVtZW50KCkNCi0gICAgew0KLSAgICAg
ICAgYXNzZXJ0X2VxdWFscyhkb2N1bWVudC5ib2R5LCBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFn
TmFtZSgiYm9keSIpWzBdKTsNCi0gICAgfQ0KLSAgICB0ZXN0KGJvZHlFbGVtZW50LCAiZG9jdW1l
bnQuYm9keSBzaG91bGQgYmUgdGhlIGZpcnN0IGJvZHkgZWxlbWVudCBpbiB0aGUgZG9jdW1lbnQi
KTsNCi0NCi0gICAgdGVzdChmdW5jdGlvbigpIHsNCi0gICAgICAgIGFzc2VydF9lcXVhbHMoMSwx
KTsNCi0gICAgICAgIGFzc2VydF9lcXVhbHMoTmFOLCBOYU4sICJOYU4gY2FzZSIpOw0KLSAgICAg
ICAgYXNzZXJ0X2VxdWFscygwLCAwLCAiWmVybyBjYXNlIik7DQotICAgIH0sICJhc3NlcnRfZXF1
YWxzIHRlc3RzIikNCi0NCi0gICAgdGVzdChmdW5jdGlvbigpIHsNCi0gICAgICAgIGFzc2VydF9l
cXVhbHMoLTAsIDAsICJaZXJvIGNhc2UiKTsNCi0gICAgfSwgImFzc2VydF9lcXVhbHMgdGVzdHMg
ZXhwZWN0ZWQgdG8gZmFpbCIpDQotDQotICAgIHRlc3QoZnVuY3Rpb24oKSB7DQotICAgICAgICBh
c3NlcnRfbm90X2VxdWFscyh7fSwge30sICJvYmplY3QgY2FzZSIpOw0KLSAgICAgICAgYXNzZXJ0
X25vdF9lcXVhbHMoLTAsIDAsICJaZXJvIGNhc2UiKTsNCi0gICAgfSwgImFzc2VydF9ub3RfZXF1
YWxzIHRlc3RzIikNCi0NCi0gICAgZnVuY3Rpb24gdGVzdEFzc2VydFBhc3MoKQ0KLSAgICB7DQot
ICAgICAgICBhc3NlcnRfdHJ1ZSh0cnVlKTsNCi0gICAgfQ0KLSAgICB0ZXN0KHRlc3RBc3NlcnRQ
YXNzLCAiYXNzZXJ0X3RydWUgZXhwZWN0ZWQgdG8gcGFzcyIpOw0KLQ0KLSAgICBmdW5jdGlvbiB0
ZXN0QXNzZXJ0RmFsc2UoKQ0KLSAgICB7DQotICAgICAgICBhc3NlcnRfdHJ1ZShmYWxzZSwgImZh
bHNlIHNob3VsZCBub3QgYmUgdHJ1ZSIpOw0KLSAgICB9DQotICAgIHRlc3QodGVzdEFzc2VydEZh
bHNlLCAiYXNzZXJ0X3RydWUgZXhwZWN0ZWQgdG8gZmFpbCIpOw0KLQ0KLSAgICBmdW5jdGlvbiBi
YXNpY0Fzc2VydEFycmF5RXF1YWxzKCkNCi0gICAgew0KLSAgICAgICAgYXNzZXJ0X2FycmF5X2Vx
dWFscyhbMSwgTmFOXSwgWzEsIE5hTl0sICJbMSwgTmFOXSBpcyBlcXVhbCB0byBbMSwgTmFOXSIp
Ow0KLSAgICB9DQotICAgIHRlc3QoYmFzaWNBc3NlcnRBcnJheUVxdWFscywgImJhc2ljIGFzc2Vy
dF9hcnJheV9lcXVhbHMgdGVzdCIpOw0KLQ0KLSAgICBmdW5jdGlvbiBiYXNpY0Fzc2VydE9iamVj
dEVxdWFscygpDQotICAgIHsNCi0gICAgICAgIGFzc2VydF9vYmplY3RfZXF1YWxzKFsxLCAyLCBb
MSwgMl1dLCB7IDA6IDEsIDE6IDIsIDI6IHsgMDogMSwgMTogMn0gfSwgImFycmF5IGlzIGVxdWFs
IHRvIG9iamVjdCIpDQotICAgIH0NCi0gICAgdGVzdChiYXNpY0Fzc2VydE9iamVjdEVxdWFscywg
ImJhc2ljIGFzc2VydF9vYmplY3RfZXF1YWxzIHRlc3QiKTsNCi0NCi0gICAgZnVuY3Rpb24gYmFz
aWNBc3NlcnRBcHByb3hFcXVhbHMoKQ0KLSAgICB7DQotICAgICAgICBhc3NlcnRfYXBwcm94X2Vx
dWFscygxMCwgMTEsIDEsICIxMCBpcyBhcHByb3hpbWF0ZWx5ICgrLy0gMSkgMTEiKQ0KLSAgICB9
DQotICAgIHRlc3QoYmFzaWNBc3NlcnRBcHByb3hFcXVhbHMsICJiYXNpYyBhc3NlcnRfYXBwcm94
X2VxdWFscyB0ZXN0Iik7DQotDQotICAgIGZ1bmN0aW9uIGJhc2ljQXNzZXJ0TGVzc1RoYW4oKQ0K
LSAgICB7DQotICAgICAgICBhc3NlcnRfbGVzc190aGFuKDEwLCAxMSwgIjEwIGlzIGxlc3MgdGhh
biAxMSIpDQotICAgIH0NCi0gICAgdGVzdChiYXNpY0Fzc2VydEFwcHJveEVxdWFscywgImJhc2lj
IGFzc2VydF9sZXNzX3RoYW4gdGVzdCIpOw0KLQ0KLSAgICBmdW5jdGlvbiBiYXNpY0Fzc2VydEdy
ZWF0ZXJUaGFuKCkNCi0gICAgew0KLSAgICAgICAgYXNzZXJ0X2dyZWF0ZXJfdGhhbigxMCwgMTEs
ICIxMCBpcyBub3QgZ3JlYXRlciB0aGFuIDExIik7DQotICAgIH0NCi0gICAgdGVzdChiYXNpY0Fz
c2VydEdyZWF0ZXJUaGFuLCAiYXNzZXJ0X2dyZWF0ZXJfdGhhbiBleHBlY3RlZCB0byBmYWlsIik7
DQotDQotICAgIGZ1bmN0aW9uIGJhc2ljQXNzZXJ0R3JlYXRlclRoYW5FcXVhbCgpDQotICAgIHsN
Ci0gICAgICAgIGFzc2VydF9ncmVhdGVyX3RoYW5fZXF1YWwoMTAsIDEwLCAiMTAgaXMgZ3JlYXRl
ciB0aGFuIG9yIGVxdWFsIHRvIDEwIikNCi0gICAgfQ0KLSAgICB0ZXN0KGJhc2ljQXNzZXJ0R3Jl
YXRlclRoYW5FcXVhbCwgImJhc2ljIGFzc2VydF9ncmVhdGVyX3RoYW5fZXF1YWwgdGVzdCIpOw0K
LQ0KLSAgICBmdW5jdGlvbiBiYXNpY0Fzc2VydExlc3NUaGFuRXF1YWwoKQ0KLSAgICB7DQotICAg
ICAgICBhc3NlcnRfZ3JlYXRlcl90aGFuX2VxdWFsKCcxMCcsIDEwLCAiJzEwJyBpcyBub3QgYSBu
dW1iZXIiKQ0KLSAgICB9DQotICAgIHRlc3QoYmFzaWNBc3NlcnRMZXNzVGhhbkVxdWFsLCAiYXNz
ZXJ0X2xlc3NfdGhhbl9lcXVhbCBleHBlY3RlZCB0byBmYWlsIik7DQotDQotICAgIGZ1bmN0aW9u
IHRlc3RBc3NlcnRJbmhlcml0cygpIHsNCi0gICAgICAgIHZhciBBID0gZnVuY3Rpb24oKXt0aGlz
LmEgPSAiYSJ9DQotICAgICAgICBBLnByb3RvdHlwZSA9IHtiOiJiIn0NCi0gICAgICAgIHZhciBh
ID0gbmV3IEEoKTsNCi0gICAgICAgIGFzc2VydF9leGlzdHMoYSwgImEiKTsNCi0gICAgICAgIGFz
c2VydF9ub3RfZXhpc3RzKGEsICJiIik7DQotICAgICAgICBhc3NlcnRfaW5oZXJpdHMoYSwgImIi
KTsNCi0gICAgfQ0KLSAgICB0ZXN0KHRlc3RBc3NlcnRJbmhlcml0cywgInRlc3QgZm9yIGFzc2Vy
dFtfbm90XV9leGlzdHMgYW5kIGluc2VydF9pbmhlcml0cyIpDQotDQotICAgIHRlc3QoZnVuY3Rp
b24oKQ0KLSAgICB7DQotICAgICAgICB2YXIgYSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImEi
KQ0KLSAgICAgICAgdmFyIGIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJiIikNCi0gICAgICAg
IGFzc2VydF90aHJvd3MoIk5PVF9GT1VORF9FUlIiLCBmdW5jdGlvbigpe2EucmVtb3ZlQ2hpbGQo
Yil9KTsNCi0gICAgfSwgIlRlc3QgdGhyb3cgRE9NIGV4Y2VwdGlvbiIpDQotDQotICAgIHRlc3Qo
ZnVuY3Rpb24oKQ0KLSAgICB7DQotICAgICAgICB2YXIgYSA9IGRvY3VtZW50LmNyZWF0ZVRleHRO
b2RlKCJhIikNCi0gICAgICAgIHZhciBiID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYiIpDQot
ICAgICAgICBhc3NlcnRfdGhyb3dzKCJOT1RfRk9VTkRfRVJSIiwgZnVuY3Rpb24oKXthLmFwcGVu
ZENoaWxkKGIpfSk7DQotICAgIH0sICJUZXN0IHRocm93IERPTSBleGNlcHRpb24gZXhwZWN0ZWQg
dG8gZmFpbCIpDQotDQotICAgIHRlc3QoZnVuY3Rpb24oKQ0KLSAgICB7DQotICAgICAgICB2YXIg
ZSA9IHtjb2RlOjAsIG5hbWU6IlRFU1RfRVJSIiwgVEVTVF9FUlI6MH0NCi0gICAgICAgIGFzc2Vy
dF90aHJvd3MoIlRFU1RfRVJSIiwgZnVuY3Rpb24oKSB7dGhyb3cgZX0pOw0KLSAgICB9LCAiVGVz
dCBhc3NlcnRfdGhyb3dzIHdpdGggbm9uLURPTS1leGNlcHRpb24gZXhwZWN0ZWQgdG8gRmFpbCIp
Ow0KLQ0KLSAgICB2YXIgdCA9IGFzeW5jX3Rlc3QoIlRlc3Qgc3RlcF9mdW5jIikNCi0gICAgc2V0
VGltZW91dCgNCi0gICAgICB0LnN0ZXBfZnVuYygNCi0gICAgICAgIGZ1bmN0aW9uICgpIHsNCi0g
ICAgICAgICAgYXNzZXJ0X3RydWUodHJ1ZSk7IHQuZG9uZSgpOw0KLSAgICAgICAgfSksIDApOw0K
LQ0KLSAgICBhc3luY190ZXN0KGZ1bmN0aW9uKHQpIHsNCi0gICAgICAgIHNldFRpbWVvdXQodC5z
dGVwX2Z1bmMoZnVuY3Rpb24gKCl7YXNzZXJ0X3RydWUodHJ1ZSk7IHQuZG9uZSgpO30pLCAwKTsN
Ci0gICAgfSwgIlRlc3QgYXN5bmMgdGVzdCB3aXRoIGNhbGxiYWNrIik7DQotDQotICAgIGFzeW5j
X3Rlc3QoZnVuY3Rpb24oKSB7DQotICAgICAgICBzZXRUaW1lb3V0KHRoaXMuc3RlcF9mdW5jKGZ1
bmN0aW9uICgpe2Fzc2VydF90cnVlKHRydWUpOyB0aGlzLmRvbmUoKTt9KSwgMCk7DQotICAgIH0s
ICJUZXN0IGFzeW5jIHRlc3Qgd2l0aCBjYWxsYmFjayBhbmQgYHRoaXNgIG9iai4iKTsNCi0NCi0g
ICAgYXN5bmNfdGVzdCgidGVzdCBzaG91bGQgdGltZW91dCAoZmFpbCkgd2l0aCB0aGUgZGVmYXVs
dCBvZiAyIHNlY29uZHMiKS5zdGVwKGZ1bmN0aW9uKCl7fSk7DQotDQotICAgIGFzeW5jX3Rlc3Qo
InRlc3Qgc2hvdWxkIHRpbWVvdXQgKGZhaWwpIHdpdGggYSBjdXN0b20gc2V0IHRpbWVvdXQgdmFs
dWUgb2YgMSBzZWNvbmQiLA0KLSAgICAgICAgICAgICAgIHt0aW1lb3V0OjEwMDB9KS5zdGVwKGZ1
bmN0aW9uKCl7fSk7DQotDQotICAgIGFzeW5jX3Rlc3QoImFzeW5jIHRlc3QgdGhhdCBpcyBuZXZl
ciBzdGFydGVkLCBzaG91bGQgaGF2ZSBzdGF0dXMgTm90IFJ1biIsIHt0aW1lb3V0OjEwMDB9KTsN
Ci0NCi0NCi0gICAgdGVzdChmdW5jdGlvbih0KSB7DQotICAgICAgICAgICAgIHdpbmRvdy5nbG9i
YWwgPSAxOw0KLSAgICAgICAgICAgICB0LmFkZF9jbGVhbnVwKGZ1bmN0aW9uKCkge2RlbGV0ZSB3
aW5kb3cuZ2xvYmFsfSk7DQotICAgICAgICAgICAgIGFzc2VydF9lcXVhbHMod2luZG93Lmdsb2Jh
bCwgMSk7DQotICAgICAgICAgfSwNCi0gICAgICAgICAiVGVzdCB0aGF0IGRlZmluZXMgYSBnbG9i
YWwgYW5kIGNsZWFucyBpdCB1cCIpOw0KLQ0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkge2Fzc2VydF9l
cXVhbHMod2luZG93Lmdsb2JhbCwgdW5kZWZpbmVkKX0sDQotICAgICAgICAgIlRlc3QgdGhhdCBj
bGVhbnVwIGhhbmRsZXJzIGZyb20gcHJldmlvdXMgdGVzdCByYW4iKTsNCi0NCi08L3NjcmlwdD4N
Ci08L2JvZHk+DQotPC9odG1sPg0KLQ0KLQ0KLQ0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBs
ZTEwLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy9leGFtcGxlcy9hcGlzYW1wbGUxMC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCA2OTgxMGZlMTZjZjZiZmI1ZWExNjlmNDk5ODY3MzhmMDhkMTFkYzI2Li4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBsZTEw
Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxMTkgKzAsMCBAQAotPCFET0NUWVBFIEhUTUw+Ci08
aHRtbD4KLTxoZWFkPgotPHRpdGxlPkFzeW5jIFRlc3RzIGFuZCBQcm9taXNlczwvdGl0bGU+Ci08
L2hlYWQ+Ci08Ym9keT4KLTxoMT5Bc3luYyBUZXN0cyBhbmQgUHJvbWlzZXM8L2gxPgotPHA+VGhp
cyB0ZXN0IGFzc3VtZXMgRUNNQVNjcmlwdCA2IFByb21pc2Ugc3VwcG9ydC4gU29tZSBmYWlsdXJl
cyBhcmUgZXhwZWN0ZWQuPC9wPgotPGRpdiBpZD0ibG9nIj48L2Rpdj4KLTxzY3JpcHQgc3JjPSIu
Li90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLQotdGVzdChmdW5jdGlvbigpIHsKLSAgdmFy
IHAgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHt9KTsKLSAgYXNzZXJ0
X3RydWUoJ3RoZW4nIGluIHApOwotICBhc3NlcnRfZXF1YWxzKHR5cGVvZiBQcm9taXNlLnJlc29s
dmUsICdmdW5jdGlvbicpOwotICBhc3NlcnRfZXF1YWxzKHR5cGVvZiBQcm9taXNlLnJlamVjdCwg
J2Z1bmN0aW9uJyk7Ci19LCAiUHJvbWlzZXMgYXJlIHN1cHBvcnRlZCBpbiB5b3VyIGJyb3dzZXIi
KTsKLQotKGZ1bmN0aW9uKCkgewotICB2YXIgdCA9IGFzeW5jX3Rlc3QoIlByb21pc2UgcmVzb2x1
dGlvbiIpOwotICB0LnN0ZXAoZnVuY3Rpb24oKSB7Ci0gICAgUHJvbWlzZS5yZXNvbHZlKCd4Jyku
dGhlbigKLSAgICAgIHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHZhbHVlKSB7Ci0gICAgICAgIGFzc2Vy
dF9lcXVhbHModmFsdWUsICd4Jyk7Ci0gICAgICAgIHQuZG9uZSgpOwotICAgICAgfSksCi0gICAg
ICB0LnVucmVhY2hlZF9mdW5jKCdQcm9taXNlIHNob3VsZCBub3QgcmVqZWN0JykKLSAgICApOwot
ICB9KTsKLX0oKSk7Ci0KLShmdW5jdGlvbigpIHsKLSAgdmFyIHQgPSBhc3luY190ZXN0KCJQcm9t
aXNlIHJlamVjdGlvbiIpOwotICB0LnN0ZXAoZnVuY3Rpb24oKSB7Ci0gICAgUHJvbWlzZS5yZWpl
Y3QoRXJyb3IoJ2ZhaWwnKSkudGhlbigKLSAgICAgIHQudW5yZWFjaGVkX2Z1bmMoJ1Byb21pc2Ug
c2hvdWxkIHJlamVjdCcpLAotICAgICAgdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Ci0g
ICAgICAgIGFzc2VydF90cnVlKHJlYXNvbiBpbnN0YW5jZW9mIEVycm9yKTsKLSAgICAgICAgYXNz
ZXJ0X2VxdWFscyhyZWFzb24ubWVzc2FnZSwgJ2ZhaWwnKTsKLSAgICAgICAgdC5kb25lKCk7Ci0g
ICAgICB9KQotICAgICk7Ci0gIH0pOwotfSgpKTsKLQotKGZ1bmN0aW9uKCkgewotICB2YXIgdCA9
IGFzeW5jX3Rlc3QoIlByb21pc2VzIHJlc29sdXRpb24gY2hhaW5pbmciKTsKLSAgdC5zdGVwKGZ1
bmN0aW9uKCkgewotICAgIHZhciByZXNvbHV0aW9ucyA9IFtdOwotICAgIFByb21pc2UucmVzb2x2
ZSgnYScpLnRoZW4oCi0gICAgICB0LnN0ZXBfZnVuYyhmdW5jdGlvbih2YWx1ZSkgewotICAgICAg
ICByZXNvbHV0aW9ucy5wdXNoKHZhbHVlKTsKLSAgICAgICAgcmV0dXJuICdiJzsKLSAgICAgIH0p
Ci0gICAgKS50aGVuKAotICAgICAgdC5zdGVwX2Z1bmMoZnVuY3Rpb24odmFsdWUpIHsKLSAgICAg
ICAgcmVzb2x1dGlvbnMucHVzaCh2YWx1ZSk7Ci0gICAgICAgIHJldHVybiAnYyc7Ci0gICAgICB9
KQotICAgICkudGhlbigKLSAgICAgIHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHZhbHVlKSB7Ci0gICAg
ICAgIHJlc29sdXRpb25zLnB1c2godmFsdWUpOwotCi0gICAgICAgIGFzc2VydF9hcnJheV9lcXVh
bHMocmVzb2x1dGlvbnMsIFsnYScsICdiJywgJ2MnXSk7Ci0gICAgICAgIHQuZG9uZSgpOwotICAg
ICAgfSkKLSAgICApLmNhdGNoKAotICAgICAgdC51bnJlYWNoZWRfZnVuYygncHJvbWlzZSBzaG91
bGQgbm90IGhhdmUgcmVqZWN0ZWQnKQotICAgICk7Ci0gIH0pOwotfSgpKTsKLQotKGZ1bmN0aW9u
KCkgewotICB2YXIgdCA9IGFzeW5jX3Rlc3QoIlVzZSBvZiBzdGVwX2Z1bmMgd2l0aCBQcm9taXNl
cyIpOwotICB0LnN0ZXAoZnVuY3Rpb24oKSB7Ci0gICAgdmFyIHJlc29sdXRpb25zID0gW107Ci0g
ICAgUHJvbWlzZS5yZXNvbHZlKCd4JykudGhlbigKLSAgICAgIHQuc3RlcF9mdW5jX2RvbmUoKSwK
LSAgICAgIHQudW5yZWFjaGVkX2Z1bmMoJ1Byb21pc2Ugc2hvdWxkIG5vdCBoYXZlIHJlamVjdGVk
JykKLSAgICApOwotICB9KTsKLX0oKSk7Ci0KLShmdW5jdGlvbigpIHsKLSAgdmFyIHQgPSBhc3lu
Y190ZXN0KCJQcm9taXNlcyBhbmQgdGVzdCBhc3NlcnRpb24gZmFpbHVyZXMgKHNob3VsZCBmYWls
KSIpOwotICB0LnN0ZXAoZnVuY3Rpb24oKSB7Ci0gICAgdmFyIHJlc29sdXRpb25zID0gW107Ci0g
ICAgUHJvbWlzZS5yZXNvbHZlKCd4JykudGhlbigKLSAgICAgIHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHZhbHVlKSB7Ci0gICAgICAgIGFzc2VydF90cnVlKGZhbHNlLCAnVGhpcyBmYWlsdXJlIGlzIGV4
cGVjdGVkJyk7Ci0gICAgICB9KQotICAgICkudGhlbigKLSAgICAgIHQudW5yZWFjaGVkX2Z1bmMo
J1Byb21pc2Ugc2hvdWxkIG5vdCBoYXZlIHJlc29sdmVkJykKLSAgICApLmNhdGNoKAotICAgICAg
dC51bnJlYWNoZWRfZnVuYygnUHJvbWlzZSBzaG91bGQgbm90IGhhdmUgcmVqZWN0ZWQnKQotICAg
ICk7Ci0gIH0pOwotfSgpKTsKLQotKGZ1bmN0aW9uKCkgewotICB2YXIgdCA9IGFzeW5jX3Rlc3Qo
IlVzZSBvZiB1bnJlYWNoZWRfZnVuYyB3aXRoIFByb21pc2VzIChzaG91bGQgZmFpbCkiKTsKLSAg
dC5zdGVwKGZ1bmN0aW9uKCkgewotICAgIHZhciByZXNvbHV0aW9ucyA9IFtdOwotICAgIHZhciBy
OwotICAgIHZhciBwID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7Ci0g
ICAgICAvLyBSZWplY3QgaW5zdGVhZCBvZiByZXNvbHZlLCB0byBkZW1vbnN0cmF0ZSBmYWlsdXJl
LgotICAgICAgcmVqZWN0KDEyMyk7Ci0gICAgfSk7Ci0gICAgcC50aGVuKAotICAgICAgZnVuY3Rp
b24odmFsdWUpIHsKLSAgICAgICAgYXNzZXJ0X2VxdWFscyh2YWx1ZSwgMTIzLCAnVGhpcyBzaG91
bGQgbm90IGFjdHVhbGx5IGhhcHBlbicpOwotICAgICAgfSwKLSAgICAgIHQudW5yZWFjaGVkX2Z1
bmMoJ1RoaXMgZmFpbHVyZSBpcyBleHBlY3RlZCcpCi0gICAgKTsKLSAgfSk7Ci19KCkpOwotPC9z
Y3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy9hcGlzYW1wbGUxMS5odG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2Ft
cGxlMTEuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzJlODk4NGMzZjE2NDA3
OTI5ZDAzNzkyODI5MWU5YTg3MjJmOTFhYy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy9leGFtcGxlcy9hcGlzYW1wbGUxMS5odG1sCisrKyAvZGV2L251bGwKQEAg
LTEsOTkgKzAsMCBAQAotPCFET0NUWVBFIEhUTUw+Ci08aHRtbD4KLTxoZWFkPgotPHRpdGxlPkV4
YW1wbGUgd2l0aCBpZnJhbWUgdGhhdCBub3RpZmllcyBjb250YWluaW5nIGRvY3VtZW50IHZpYSBj
YWxsYmFja3M8L3RpdGxlPgotPHNjcmlwdCBzcmM9Ii4uL3Rlc3RoYXJuZXNzLmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPSIuLi90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08L2hl
YWQ+Ci08Ym9keSBvbmxvYWQ9InN0YXJ0X3Rlc3RfaW5faWZyYW1lKCkiPgotPGgxPkNhbGxiYWNr
cyBGcm9tIFRlc3RzIFJ1bm5pbmcgSW4gQW4gSUZSQU1FPC9oMT4KLTxwPkEgdGVzdCBpcyBydW4g
aW5zaWRlIGFuIDx0dD5pZnJhbWU8L3R0PiB3aXRoIGEgc2FtZSBvcmlnaW4gZG9jdW1lbnQuIFRo
ZQotY29udGFpbmluZyBkb2N1bWVudCBzaG91bGQgcmVjZWl2ZSBjYWxsYmFja3MgYXMgdGhlIHRl
c3RzIHByb2dyZXNzIGluc2lkZSB0aGUKLTx0dD5pZnJhbWU8L3R0Pi4gQSBzaW5nbGUgcGFzc2lu
ZyB0ZXN0IGlzIGV4cGVjdGVkIGluIHRoZSBzdW1tYXJ5IGJlbG93LgotPGRpdiBpZD0ibG9nIj48
L2Rpdj4KLQotPHNjcmlwdD4KLXZhciBjYWxsYmFja3MgPSBbXTsKLXZhciBTVEFSVCA9IDEKLXZh
ciBURVNUX1NUQVRFID0gMgotdmFyIFJFU1VMVCA9IDMKLXZhciBDT01QTEVUSU9OID0gNAotdmFy
IHRlc3RfY29tcGxldGUgPSBmYWxzZTsKLQotc2V0dXAoe2V4cGxpY2l0X2RvbmU6IHRydWV9KTsK
LQotLy8gVGhlIGZvbGxvd2luZyBjYWxsYmFja3MgYXJlIGNhbGxlZCBmb3IgdGVzdHMgaW4gdGhp
cyBkb2N1bWVudCBhcyB3ZWxsIGFzIHRoZQotLy8gdGVzdHMgaW4gdGhlIElGUkFNRS4gQ3VycmVu
dGx5LCBjYWxsYmFja3MgaW52b2tlZCBmcm9tIHRoaXMgZG9jdW1lbnQgYW5kIGFueQotLy8gY2hp
bGQgZG9jdW1lbnQgYXJlIGluZGlzdGluZ3Vpc2hhYmxlIGZyb20gZWFjaCBvdGhlci4KLQotZnVu
Y3Rpb24gc3RhcnRfY2FsbGJhY2socHJvcGVydGllcykgewotICAgIGNhbGxiYWNrcy5wdXNoKFNU
QVJUKTsKLX0KLQotZnVuY3Rpb24gdGVzdF9zdGF0ZV9jYWxsYmFjayh0ZXN0KSB7Ci0gICAgY2Fs
bGJhY2tzLnB1c2goVEVTVF9TVEFURSk7Ci19Ci0KLWZ1bmN0aW9uIHJlc3VsdF9jYWxsYmFjayh0
ZXN0KSB7Ci0gICAgY2FsbGJhY2tzLnB1c2goUkVTVUxUKTsKLX0KLQotZnVuY3Rpb24gY29tcGxl
dGlvbl9jYWxsYmFjayh0ZXN0cywgc3RhdHVzKSB7Ci0gICAgaWYgKHRlc3RfY29tcGxldGUpIHsK
LSAgICAgICAgcmV0dXJuOwotICAgIH0KLSAgICB0ZXN0X2NvbXBsZXRlID0gdHJ1ZTsKLSAgICBj
YWxsYmFja3MucHVzaChDT01QTEVUSU9OKTsKLSAgICB2ZXJpZnlfcmVjZWl2ZWRfY2FsbGJhY2tz
KCk7Ci0gICAgZG9uZSgpOwotfQotCi1mdW5jdGlvbiB2ZXJpZnlfcmVjZWl2ZWRfY2FsbGJhY2tz
KCkgewotICAgIHZhciBjb3B5X29mX2NhbGxiYWNrcyA9IGNhbGxiYWNrcy5zbGljZSgwKTsKLQot
ICAgIC8vIE5vdGUgdGhhdCB5b3UgY2FuJ3QgcnVuIHRlc3QgYXNzZXJ0aW9ucyBkaXJlY3RseSBp
biBhIGNhbGxiYWNrIGV2ZW4gaWYKLSAgICAvLyB0aGlzIGlzIGEgZmlsZSB0ZXN0LiBXaGVuIHRo
ZSBjYWxsYmFjayBpcyBpbnZva2VkIGZyb20gYSBzYW1lLW9yaWdpbiBjaGlsZAotICAgIC8vIHBh
Z2UsIHRoZSBjYWxsc3RhY2sgcmVhY2hlcyBpbnRvIHRoZSBjYWxsaW5nIGNoaWxkIGRvY3VtZW50
LiBBbnkKLSAgICAvLyBleGNlcHRpb24gdGhyb3duIGluIGEgY2FsbGJhY2sgd2lsbCBiZSBoYW5k
bGVkIGJ5IHRoZSBjaGlsZCByYXRoZXIgdGhhbgotICAgIC8vIHRoaXMgZG9jdW1lbnQuCi0gICAg
dGVzdCgKLSAgICAgICAgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAvLyBjYWxsYmFja3MgbGlz
dCBzaG91bGQgbG9vayBsaWtlOgotICAgICAgICAgICAgLy8gICAgIFNUQVJUIDEqKFRFU1RfU1RB
VEUpIFJFU1VMVCBDT01QTEVUSU9OCi0gICAgICAgICAgICBhc3NlcnRfZXF1YWxzKGNvcHlfb2Zf
Y2FsbGJhY2tzLnNoaWZ0KCksIFNUQVJULAotICAgICAgICAgICAgICAgICAgICAgICAgICAiVGhl
IGZpcnN0IHJlY2VpdmVkIGNhbGxiYWNrIHNob3VsZCBiZSAnc3RhcnRfY2FsbGJhY2snLiIpOwot
ICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhjb3B5X29mX2NhbGxiYWNrcy5zaGlmdCgpLCBURVNU
X1NUQVRFLAotICAgICAgICAgICAgICAgICAgICAgICAgICAiJ3Rlc3Rfc3RhdGVfY2FsbGJhY2sn
IHNob3VsZCBiZSByZWNlaXZlZCBiZWZvcmUgYW55ICIgKwotICAgICAgICAgICAgICAgICAgICAg
ICAgICAicmVzdWx0IG9yIGNvbXBsZXRpb24gY2FsbGJhY2tzLiIpOwotICAgICAgICAgICAgd2hp
bGUoY29weV9vZl9jYWxsYmFja3MubGVuZ3RoID4gMCkgewotICAgICAgICAgICAgICAgIHZhciBj
YWxsYmFjayA9IGNvcHlfb2ZfY2FsbGJhY2tzLnNoaWZ0KCk7Ci0gICAgICAgICAgICAgICAgaWYg
KGNhbGxiYWNrICE9IFRFU1RfU1RBVEUpIHsKLSAgICAgICAgICAgICAgICAgICAgY29weV9vZl9j
YWxsYmFja3MudW5zaGlmdChjYWxsYmFjayk7Ci0gICAgICAgICAgICAgICAgICAgIGJyZWFrOwot
ICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGFzc2VydF9lcXVh
bHMoY29weV9vZl9jYWxsYmFja3Muc2hpZnQoKSwgUkVTVUxULAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAiJ3Rlc3Rfc3RhdGVfY2FsbGJhY2snIHNob3VsZCBiZSBmb2xsb3dlZCBieSAncmVz
dWx0X2NhbGxiYWNrJy4iKTsKLSAgICAgICAgICAgIGFzc2VydF9lcXVhbHMoY29weV9vZl9jYWxs
YmFja3Muc2hpZnQoKSwgQ09NUExFVElPTiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIkZp
bmFsICdyZXN1bHRfY2FsbGJhY2snIHNob3VsZCBiZSBmb2xsb3dlZCBieSAnY29tcGxldGlvbl9j
YWxsYmFjaycuIik7Ci0gICAgICAgICAgICBhc3NlcnRfZXF1YWxzKGNvcHlfb2ZfY2FsbGJhY2tz
Lmxlbmd0aCwgMCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIidjb21wbGV0aW9uX2NhbGxi
YWNrJyBzaG91bGQgYmUgdGhlIGxhc3QgY2FsbGJhY2suIik7Ci0gICAgICAgIH0pOwotfQotCi1m
dW5jdGlvbiBzdGFydF90ZXN0X2luX2lmcmFtZSgpIHsKLSAgICAvLyBUaGlzIGRvY3VtZW50IGlz
IGdvaW5nIHRvIGNsZWFyIGFueSByZWNlaXZlZCBjYWxsYmFja3MgYW5kIG1haW50YWluCi0gICAg
Ly8gcmFkaW8gc2lsZW5jZSB1bnRpbCB0aGUgdGVzdCBpbiB0aGUgaWZyYW1lIHJ1bnMgdG8gY29t
cGxldGlvbi4gVGhlCi0gICAgLy8gY29tcGxldGlvbl9jYWxsYmFjaygpIHdpbGwgdGhlbiBjb21w
bGV0ZSB0aGUgdGVzdGluZyBvbiB0aGlzIGRvY3VtZW50LgotICAgIGNhbGxiYWNrcy5sZW5ndGgg
PSAwOwotICAgIHZhciBpZnJhbWUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKTsK
LSAgICAvLyBhcGlzYW1wbGU2Lmh0bWwgaGFzIGEgc2luZ2xlIHRlc3QuCi0gICAgaWZyYW1lLnNy
YyA9ICJhcGlzYW1wbGU2Lmh0bWwiOwotICAgIGlmcmFtZS5zdHlsZS5zZXRQcm9wZXJ0eSgiZGlz
cGxheSIsICJub25lIik7Ci0gICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRhcmdldCIpLmFw
cGVuZENoaWxkKGlmcmFtZSk7Ci19Ci08L3NjcmlwdD4KLQotPGRpdiBpZD0idGFyZ2V0Ij4KLTwv
ZGl2PgotPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2FtcGxlMTIuaHRtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVz
L2FwaXNhbXBsZTEyLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGIzOWE2MWE2
ZjI5MjQ0MGQxYTA3YjQ4ZDg5YjZlMzhhYWIyOTU0ZjcuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2FtcGxlMTIuaHRtbAorKysgL2Rldi9u
dWxsCkBAIC0xLDY3ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLTx0
aXRsZT5FeGFtcGxlIHdpdGggaWZyYW1lIHRoYXQgbm90aWZpZXMgY29udGFpbmluZyBkb2N1bWVu
dCB2aWEgY3Jvc3MgZG9jdW1lbnQgbWVzc2FnaW5nPC90aXRsZT4KLTxzY3JpcHQgc3JjPSIuLi90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vdGVzdGhhcm5lc3NyZXBv
cnQuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08aDE+Tm90aWZpY2F0aW9ucyBGcm9t
IFRlc3RzIFJ1bm5pbmcgSW4gQW4gSUZSQU1FPC9oMT4KLTxwPkEgdGVzdCBpcyBydW4gaW5zaWRl
IGFuIDx0dD5pZnJhbWU8L3R0PiB3aXRoIGEgc2FtZSBvcmlnaW4gZG9jdW1lbnQuIFRoZQotY29u
dGFpbmluZyBkb2N1bWVudCBzaG91bGQgcmVjZWl2ZSBtZXNzYWdlcyB2aWEgPHR0PnBvc3RNZXNz
YWdlPC90dD4vCi08dHQ+b25tZXNzYWdlPC90dD4gYXMgdGhlIHRlc3RzIHByb2dyZXNzIGluc2lk
ZSB0aGUgPHR0PmlmcmFtZTwvdHQ+LiBBIHNpbmdsZQotcGFzc2luZyB0ZXN0IGlzIGV4cGVjdGVk
IGluIHRoZSBzdW1tYXJ5IGJlbG93LgotPC9wPgotPGRpdiBpZD0ibG9nIj48L2Rpdj4KLQotPHNj
cmlwdD4KLXZhciB0ID0gYXN5bmNfdGVzdCgiQ29udGFpbmluZyBkb2N1bWVudCByZWNlaXZlcyBt
ZXNzYWdlcyIpOwotdmFyIHN0YXJ0X3JlY2VpdmVkID0gZmFsc2U7Ci12YXIgcmVzdWx0X3JlY2Vp
dmVkID0gZmFsc2U7Ci12YXIgY29tcGxldGlvbl9yZWNlaXZlZCA9IGZhbHNlOwotCi0vLyBUaGVz
ZSBhcmUgdGhlIG1lc3NhZ2VzIHRoYXQgYXJlIGV4cGVjdGVkIHRvIGJlIHNlZW4gd2hpbGUgcnVu
bmluZyB0aGUgdGVzdHMKLS8vIGluIHRoZSBJRlJBTUUuCi12YXIgZXhwZWN0ZWRfbWVzc2FnZXMg
PSBbCi0gICAgdC5zdGVwX2Z1bmMoCi0gICAgICAgIGZ1bmN0aW9uKG1lc3NhZ2UpIHsKLSAgICAg
ICAgICAgIGFzc2VydF9lcXVhbHMobWVzc2FnZS5kYXRhLnR5cGUsICJzdGFydCIpOwotICAgICAg
ICAgICAgYXNzZXJ0X293bl9wcm9wZXJ0eShtZXNzYWdlLmRhdGEsICJwcm9wZXJ0aWVzIik7Ci0g
ICAgICAgIH0pLAotCi0gICAgdC5zdGVwX2Z1bmMoCi0gICAgICAgIGZ1bmN0aW9uKG1lc3NhZ2Up
IHsKLSAgICAgICAgICAgIGFzc2VydF9lcXVhbHMobWVzc2FnZS5kYXRhLnR5cGUsICJ0ZXN0X3N0
YXRlIik7Ci0gICAgICAgICAgICBhc3NlcnRfZXF1YWxzKG1lc3NhZ2UuZGF0YS50ZXN0LnN0YXR1
cywgbWVzc2FnZS5kYXRhLnRlc3QuTk9UUlVOKTsKLSAgICAgICAgfSksCi0KLSAgICB0LnN0ZXBf
ZnVuYygKLSAgICAgICAgZnVuY3Rpb24obWVzc2FnZSkgewotICAgICAgICAgICAgYXNzZXJ0X2Vx
dWFscyhtZXNzYWdlLmRhdGEudHlwZSwgInJlc3VsdCIpOwotICAgICAgICAgICAgYXNzZXJ0X2Vx
dWFscyhtZXNzYWdlLmRhdGEudGVzdC5zdGF0dXMsIG1lc3NhZ2UuZGF0YS50ZXN0LlBBU1MpOwot
ICAgICAgICB9KSwKLQotICAgIHQuc3RlcF9mdW5jKAotICAgICAgICBmdW5jdGlvbihtZXNzYWdl
KSB7Ci0gICAgICAgICAgICBhc3NlcnRfZXF1YWxzKG1lc3NhZ2UuZGF0YS50eXBlLCAiY29tcGxl
dGUiKTsKLSAgICAgICAgICAgIGFzc2VydF9lcXVhbHMobWVzc2FnZS5kYXRhLnRlc3RzLmxlbmd0
aCwgMSk7Ci0gICAgICAgICAgICBhc3NlcnRfZXF1YWxzKG1lc3NhZ2UuZGF0YS50ZXN0c1swXS5z
dGF0dXMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UuZGF0YS50ZXN0c1swXS5Q
QVNTKTsKLSAgICAgICAgICAgIGFzc2VydF9lcXVhbHMobWVzc2FnZS5kYXRhLnN0YXR1cy5zdGF0
dXMsIG1lc3NhZ2UuZGF0YS5zdGF0dXMuT0spOwotICAgICAgICAgICAgdC5kb25lKCk7Ci0gICAg
ICAgIH0pLAotCi0gICAgdC51bnJlYWNoZWRfZnVuYygiVG9vIG1hbnkgbWVzc2FnZXMgcmVjZWl2
ZWQiKQotXTsKLQotb25fZXZlbnQod2luZG93LAotICAgICAgICAgIm1lc3NhZ2UiLAotICAgICAg
ICAgZnVuY3Rpb24obWVzc2FnZSkgewotICAgICAgICAgICAgIHZhciBoYW5kbGVyID0gZXhwZWN0
ZWRfbWVzc2FnZXMuc2hpZnQoKTsKLSAgICAgICAgICAgICBoYW5kbGVyKG1lc3NhZ2UpOwotICAg
ICAgICAgfSk7Ci08L3NjcmlwdD4KLTxpZnJhbWUgc3JjPSJhcGlzYW1wbGU2Lmh0bWwiIHN0eWxl
PSJkaXNwbGF5Om5vbmUiPgotICA8IS0tICBhcGlzYW1wbGU2IGltcGxlbWVudHMgYSBmaWxlX2lz
X3Rlc3QgdGVzdC4gIC0tPgotPC9pZnJhbWU+Ci08L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy9h
cGlzYW1wbGUxMy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2FtcGxlMTMuaHRtbApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggZjZjZjBlZWM4MzE4NmUwYTkxZDA1MGJkN2Y3ZjcyODgzMjFhNjZmYy4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy9hcGlz
YW1wbGUxMy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTMyICswLDAgQEAKLTwhRE9DVFlQRSBI
VE1MPgotPGh0bWw+Ci08aGVhZD4KLTx0aXRsZT5Qcm9taXNlIFRlc3RzPC90aXRsZT4KLTwvaGVh
ZD4KLTxib2R5PgotPGgxPlByb21pc2UgVGVzdHM8L2gxPgotPHA+VGhpcyB0ZXN0IGRlbW9uc3Ry
YXRlcyB0aGUgdXNlIG9mIDx0dD5wcm9taXNlX3Rlc3Q8L3R0Pi4gQXNzdW1lcyBFQ01BU2NyaXB0
IDYKLVByb21pc2Ugc3VwcG9ydC4gU29tZSBmYWlsdXJlcyBhcmUgZXhwZWN0ZWQuPC9wPgotPGRp
diBpZD0ibG9nIj48L2Rpdj4KLTxzY3JpcHQgc3JjPSIuLi90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0IHNyYz0iLi4vdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNj
cmlwdD4KLXRlc3QoCi0gICAgZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBwID0gbmV3IFByb21p
c2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KXt9KTsKLSAgICAgICAgYXNzZXJ0X3RydWUoInRo
ZW4iIGluIHApOwotICAgICAgICBhc3NlcnRfZXF1YWxzKHR5cGVvZiBQcm9taXNlLnJlc29sdmUs
ICJmdW5jdGlvbiIpOwotICAgICAgICBhc3NlcnRfZXF1YWxzKHR5cGVvZiBQcm9taXNlLnJlamVj
dCwgImZ1bmN0aW9uIik7Ci0gICAgfSwKLSAgICAiUHJvbWlzZXMgYXJlIHN1cHBvcnRlZCBpbiB5
b3VyIGJyb3dzZXIiKTsKLQotcHJvbWlzZV90ZXN0KAotICAgIGZ1bmN0aW9uKCkgewotICAgICAg
ICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCJ4IikKLSAgICAgICAgICAgIC50aGVuKAotICAgICAg
ICAgICAgICAgIGZ1bmN0aW9uKHZhbHVlKSB7Ci0gICAgICAgICAgICAgICAgICAgIGFzc2VydF9l
cXVhbHModmFsdWUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIngiLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJGdWxmaWxsZWQgcHJvbWlzZSBzaG91bGQg
cGFzcyByZXN1bHQgdG8gIiArCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImZ1
bGZpbGwgcmVhY3Rpb24uIik7Ci0gICAgICAgICAgICAgICAgfSk7Ci0gICAgfSwKLSAgICAiUHJv
bWlzZSBmdWxmaWxsbWVudCB3aXRoIHJlc3VsdCIpOwotCi1wcm9taXNlX3Rlc3QoCi0gICAgZnVu
Y3Rpb24odCkgewotICAgICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QobmV3IEVycm9yKCJmYWls
IikpCi0gICAgICAgICAgICAudGhlbih0LnVucmVhY2hlZF9mdW5jKCJQcm9taXNlIHNob3VsZCBy
ZWplY3QiKSwKLSAgICAgICAgICAgICAgICBmdW5jdGlvbihyZWFzb24pIHsKLSAgICAgICAgICAg
ICAgICAgICAgYXNzZXJ0X3RydWUoCi0gICAgICAgICAgICAgICAgICAgICAgICByZWFzb24gaW5z
dGFuY2VvZiBFcnJvciwKLSAgICAgICAgICAgICAgICAgICAgICAgICJSZWplY3RlZCBwcm9taXNl
IHNob3VsZCBwYXNzIHJlYXNvbiB0byBmdWxmaWxsIHJlYWN0aW9uLiIpOwotICAgICAgICAgICAg
ICAgICAgICBhc3NlcnRfZXF1YWxzKAotICAgICAgICAgICAgICAgICAgICAgICAgcmVhc29uLm1l
c3NhZ2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZmFpbCIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAiUmVqZWN0ZWQgcHJvbWlzZSBzaG91bGQgcGFzcyByZWFzb24gdG8gcmVqZWN0IHJl
YWN0aW9uLiIpOwotICAgICAgICAgICAgICAgIH0pOwotICAgIH0sCi0gICAgIlByb21pc2UgcmVq
ZWN0aW9uIHdpdGggcmVzdWx0Iik7Ci0KLXByb21pc2VfdGVzdCgKLSAgICBmdW5jdGlvbigpIHsK
LSAgICAgICAgdmFyIHJlc29sdXRpb25zID0gW107Ci0gICAgICAgIHJldHVybiBQcm9taXNlLnJl
c29sdmUoImEiKQotICAgICAgICAgICAgLnRoZW4oCi0gICAgICAgICAgICAgICAgZnVuY3Rpb24o
dmFsdWUpIHsKLSAgICAgICAgICAgICAgICAgICAgcmVzb2x1dGlvbnMucHVzaCh2YWx1ZSk7Ci0g
ICAgICAgICAgICAgICAgICAgIHJldHVybiAiYiI7Ci0gICAgICAgICAgICAgICAgfSkKLSAgICAg
ICAgICAgIC50aGVuKAotICAgICAgICAgICAgICAgIGZ1bmN0aW9uKHZhbHVlKSB7Ci0gICAgICAg
ICAgICAgICAgICAgIHJlc29sdXRpb25zLnB1c2godmFsdWUpOwotICAgICAgICAgICAgICAgICAg
ICByZXR1cm4gImMiOwotICAgICAgICAgICAgICAgIH0pCi0gICAgICAgICAgICAudGhlbigKLSAg
ICAgICAgICAgICAgICBmdW5jdGlvbih2YWx1ZSkgewotICAgICAgICAgICAgICAgICAgICByZXNv
bHV0aW9ucy5wdXNoKHZhbHVlKTsKLSAgICAgICAgICAgICAgICAgICAgYXNzZXJ0X2FycmF5X2Vx
dWFscyhyZXNvbHV0aW9ucywgWyJhIiwgImIiLCAiYyJdKTsKLSAgICAgICAgICAgICAgICB9KTsK
LSAgICB9LAotICAgICJDaGFpbiBvZiBwcm9taXNlIHJlc29sdXRpb25zIik7Ci0KLXByb21pc2Vf
dGVzdCgKLSAgICBmdW5jdGlvbih0KSB7Ci0gICAgICAgIHZhciByZXNvbHV0aW9ucyA9IFtdOwot
ICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCJ4IikKLSAgICAgICAgICAgIC50aGVuKAot
ICAgICAgICAgICAgICAgIGZ1bmN0aW9uKHZhbHVlKSB7Ci0gICAgICAgICAgICAgICAgICAgIGFz
c2VydF90cnVlKGZhbHNlLCAiRXhwZWN0ZWQgZmFpbHVyZS4iKTsKLSAgICAgICAgICAgICAgICB9
KQotICAgICAgICAgICAgLnRoZW4odC51bnJlYWNoZWRfZnVuYygiVU5FWFBFQ1RFRCBGQUlMVVJF
OiBQcm9taXNlIHNob3VsZCBub3QgaGF2ZSByZXNvbHZlZC4iKSk7Ci0gICAgfSwKLSAgICAiQXNz
ZXJ0aW9uIGZhaWx1cmUgaW4gYSBmdWxmaWxsIHJlYWN0aW9uIChzaG91bGQgRkFJTCB3aXRoIGFu
IGV4cGVjdGVkIGZhaWx1cmUpIik7Ci0KLXByb21pc2VfdGVzdCgKLSAgICBmdW5jdGlvbih0KSB7
Ci0gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgKLSAgICAgICAgICAgICAgICBmdW5jdGlvbihy
ZXNvbHZlLCByZWplY3QpIHsKLSAgICAgICAgICAgICAgICAgICAgcmVqZWN0KDEyMyk7Ci0gICAg
ICAgICAgICAgICAgfSkKLSAgICAgICAgICAgIC50aGVuKHQudW5yZWFjaGVkX2Z1bmMoIlVORVhQ
RUNURUQgRkFJTFVSRTogRnVsZmlsbCByZWFjdGlvbiByZWFjaGVkIGFmdGVyIHJlamVjdGlvbi4i
KSwKLSAgICAgICAgICAgICAgICAgIHQudW5yZWFjaGVkX2Z1bmMoIkV4cGVjdGVkIGZhaWx1cmUu
IikpOwotICAgIH0sCi0gICAgInVucmVhY2hlZF9mdW5jIGFzIHJlYWN0b3IgKHNob3VsZCBGQUlM
IHdpdGggYW4gZXhwZWN0ZWQgZmFpbHVyZSkiKTsKLQotcHJvbWlzZV90ZXN0KAotICAgIGZ1bmN0
aW9uKCkgewotICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9LAotICAgICJwcm9taXNlX3Rlc3Qg
d2l0aCBmdW5jdGlvbiB0aGF0IGRvZXNuJ3QgcmV0dXJuIGEgUHJvbWlzZSIpOwotCi1wcm9taXNl
X3Rlc3QoZnVuY3Rpb24oKXt9LAotICAgICAgICAgICAgICJwcm9taXNlX3Rlc3Qgd2l0aCBmdW5j
dGlvbiB0aGF0IGRvZXNuJ3QgcmV0dXJuIGFueXRoaW5nIik7Ci0KLXByb21pc2VfdGVzdCgKLSAg
ICBmdW5jdGlvbigpIHsKLSAgICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KCJFeHBlY3RlZCBy
ZWplY3Rpb24iKTsKLSAgICB9LAotICAgICJwcm9taXNlX3Rlc3Qgd2l0aCB1bmhhbmRsZWQgcmVq
ZWN0aW9uIChzaG91bGQgRkFJTCkiKTsKLQotcHJvbWlzZV90ZXN0KAotICAgIGZ1bmN0aW9uKCkg
ewotICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKDEwKQotICAgICAgICAgICAgLnRoZW4o
Ci0gICAgICAgICAgICAgICAgZnVuY3Rpb24odmFsdWUpIHsKLSAgICAgICAgICAgICAgICAgICAg
dGhyb3cgRXJyb3IoIkV4cGVjdGVkIGV4Y2VwdGlvbi4iKTsKLSAgICAgICAgICAgICAgICB9KTsK
LSAgICB9LAotICAgICJwcm9taXNlX3Rlc3Qgd2l0aCB1bmhhbmRsZWQgZXhjZXB0aW9uIGluIGZ1
bGZpbGwgcmVhY3Rpb24gKHNob3VsZCBGQUlMKSIpOwotCi1wcm9taXNlX3Rlc3QoCi0gICAgZnVu
Y3Rpb24odCkgewotICAgICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QoMTApCi0gICAgICAgICAg
ICAudGhlbigKLSAgICAgICAgICAgICAgICB0LnVucmVhY2hlZF9mdW5jKCJVTkVYUEVDVEVEIEZB
SUxVUkU6IEZ1bGZpbGwgcmVhY3Rpb24gcmVhY2hlZCBhZnRlciByZWplY3Rpb24uIiksCi0gICAg
ICAgICAgICAgICAgZnVuY3Rpb24odmFsdWUpIHsKLSAgICAgICAgICAgICAgICAgICAgdGhyb3cg
RXJyb3IoIkV4cGVjdGVkIGV4Y2VwdGlvbi4iKTsKLSAgICAgICAgICAgICAgICB9KTsKLSAgICB9
LAotICAgICJwcm9taXNlX3Rlc3Qgd2l0aCB1bmhhbmRsZWQgZXhjZXB0aW9uIGluIHJlamVjdCBy
ZWFjdGlvbiAoc2hvdWxkIEZBSUwpIik7Ci08L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2Fw
aXNhbXBsZTE0Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy9leGFtcGxlcy9hcGlzYW1wbGUxNC5odG1sCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCA4OTgwM2YwYmI2YTM3YThjYjlmNTQ2OGQ5MDQ1MzBkMzM1OTc3MzRiLi4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNh
bXBsZTE0Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwyOSArMCwwIEBACi08IURPQ1RZUEUgSFRN
TD4KLTxodG1sPgotPGhlYWQ+Ci08dGl0bGU+RGVkaWNhdGVkIFdvcmtlciBUZXN0czwvdGl0bGU+
Ci08c2NyaXB0IHNyYz0iLi4vdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
Ii4uL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGgx
PkRlZGljYXRlZCBXZWIgV29ya2VyIFRlc3RzPC9oMT4KLTxwPkRlbW9uc3RyYXRlcyBydW5uaW5n
IDx0dD50ZXN0aGFybmVzczwvdHQ+IGJhc2VkIHRlc3RzIGluc2lkZSBhIGRlZGljYXRlZCB3ZWIg
d29ya2VyLgotPHA+VGhlIHRlc3QgaGFybmVzcyBpcyBleHBlY3RlZCB0byBmYWlsIGR1ZSB0byBh
biB1bmNhdWdodCBleGNlcHRpb24gaW4gb25lIHdvcmtlci48L3A+Ci08ZGl2IGlkPSJsb2ciPjwv
ZGl2PgotCi08c2NyaXB0PgotdGVzdChmdW5jdGlvbih0KSB7Ci0gICAgICAgIGFzc2VydF90cnVl
KCJXb3JrZXIiIGluIHNlbGYsICJCcm93c2VyIHNob3VsZCBzdXBwb3J0IFdvcmtlcnMiKTsKLSAg
ICB9LAotICAgICJCcm93c2VyIHN1cHBvcnRzIFdvcmtlcnMiKTsKLQotZmV0Y2hfdGVzdHNfZnJv
bV93b3JrZXIobmV3IFdvcmtlcigiYXBpc2FtcGxlLXdvcmtlci5qcyIpKTsKLQotZmV0Y2hfdGVz
dHNfZnJvbV93b3JrZXIobmV3IFdvcmtlcigiYXBpc2FtcGxlLWVycm9yLXdvcmtlci5qcyIpKTsK
LQotdGVzdChmdW5jdGlvbih0KSB7Ci0gICAgICAgIGFzc2VydF9mYWxzZShmYWxzZSwgIkZhbHNl
IGlzIGZhbHNlIik7Ci0gICAgfSwKLSAgICAiVGVzdCBydW5uaW5nIG9uIG1haW4gZG9jdW1lbnQu
Iik7Ci08L3NjcmlwdD4KLTwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBsZTE1Lmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy9leGFtcGxlcy9hcGlzYW1wbGUxNS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCA2MzFkMTkyMmJhYzg4Y2NjNTAyNGU1ZjY0M2M1YWU4NGU4MWRhN2U4Li4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBsZTE1Lmh0bWwK
KysrIC9kZXYvbnVsbApAQCAtMSwyNiArMCwwIEBACi08IURPQ1RZUEUgSFRNTD4KLTxodG1sPgot
PGhlYWQ+Ci08dGl0bGU+RXhhbXBsZSB3aXRoIGEgc2hhcmVkIHdvcmtlcjwvdGl0bGU+Ci08c2Ny
aXB0IHNyYz0iLi4vdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGgxPlNoYXJl
ZCBXZWIgV29ya2VyIFRlc3RzPC9oMT4KLTxwPkRlbW9uc3RyYXRlcyBydW5uaW5nIDx0dD50ZXN0
aGFybmVzczwvdHQ+IGJhc2VkIHRlc3RzIGluc2lkZSBhIHNoYXJlZCB3b3JrZXIuCi08cD5UaGUg
dGVzdCBoYXJuZXNzIHNob3VsZCB0aW1lIG91dCBkdWUgdG8gb25lIG9mIHRoZSB0ZXN0cyBpbiB0
aGUgd29ya2VyIHRpbWluZyBvdXQuCi08cD5UaGlzIHRlc3QgYXNzdW1lcyB0aGF0IHRoZSBicm93
c2VyIHN1cHBvcnRzIDxhIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL3dvcmtlcnMvI3NoYXJl
ZC13b3JrZXJzLWFuZC10aGUtc2hhcmVkd29ya2VyLWludGVyZmFjZSI+c2hhcmVkIHdlYiB3b3Jr
ZXJzPC9hPi4KLTxkaXYgaWQ9ImxvZyI+PC9kaXY+Ci0KLTxzY3JpcHQ+Ci10ZXN0KAotICAgIGZ1
bmN0aW9uKHQpIHsKLSAgICAgICAgYXNzZXJ0X3RydWUoIlNoYXJlZFdvcmtlciIgaW4gc2VsZiwK
LSAgICAgICAgICAgICAgICAgICAgIkJyb3dzZXIgc2hvdWxkIHN1cHBvcnQgU2hhcmVkV29ya2Vy
cyIpOwotICAgIH0sCi0gICAgIkJyb3dzZXIgc3VwcG9ydHMgU2hhcmVkV29ya2VycyIpOwotCi1m
ZXRjaF90ZXN0c19mcm9tX3dvcmtlcihuZXcgU2hhcmVkV29ya2VyKCJhcGlzYW1wbGUtd29ya2Vy
LmpzIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk15IHNoYXJl
ZCB3b3JrZXIiKSk7Ci08L3NjcmlwdD4KLTwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNh
bXBsZTE2Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy9leGFtcGxlcy9hcGlzYW1wbGUxNi5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCBkODU5ZDk0YmY2Y2JjMDk1ZGZjOWQ3YTE0ODI2OWY3M2RlYTkyNTZmLi4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBs
ZTE2Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw2MiArMCwwIEBACi08IURPQ1RZUEUgSFRNTD4K
LTxodG1sPgotPGhlYWQ+Ci08dGl0bGU+RXhhbXBsZSB3aXRoIGEgc2VydmljZSB3b3JrZXI8L3Rp
dGxlPgotPHNjcmlwdCBzcmM9Ii4uL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIuLi90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4K
LTxoMT5TZXJ2aWNlIFdvcmtlciBUZXN0czwvaDE+Ci08cD5EZW1vbnN0cmF0ZXMgcnVubmluZyA8
dHQ+dGVzdGhhcm5lc3M8L3R0PiBiYXNlZCB0ZXN0cyBpbnNpZGUgYSBzZXJ2aWNlIHdvcmtlci4K
LTxwPlRoZSB0ZXN0IGhhcm5lc3Mgc2hvdWxkIHRpbWUgb3V0IGR1ZSB0byBvbmUgb2YgdGhlIHRl
c3RzIGluc2lkZSB0aGUgd29ya2VyIHRpbWluZyBvdXQuCi08cD5UaGlzIHRlc3QgYXNzdW1lcyB0
aGF0IHRoZSBicm93c2VyIHN1cHBvcnRzIDxhIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL3Nl
cnZpY2Utd29ya2Vycy8iPlNlcnZpY2VXb3JrZXJzPC9hPi4KLTxkaXYgaWQ9ImxvZyI+PC9kaXY+
Ci0KLTxzY3JpcHQ+Ci10ZXN0KAotICAgIGZ1bmN0aW9uKHQpIHsKLSAgICAgICAgYXNzZXJ0X3Ry
dWUoInNlcnZpY2VXb3JrZXIiIGluIG5hdmlnYXRvciwKLSAgICAgICAgICAgICAgICAgICAgIm5h
dmlnYXRvci5zZXJ2aWNlV29ya2VyIGV4aXN0cyIpOwotICAgIH0sCi0gICAgIkJyb3dzZXIgc3Vw
cG9ydHMgU2VydmljZVdvcmtlciIpOwotCi1wcm9taXNlX3Rlc3QoCi0gICAgZnVuY3Rpb24oKSB7
Ci0gICAgICAgIC8vIFNpbmNlIHRoZSBzZXJ2aWNlIHdvcmtlciByZWdpc3RyYXRpb24gY291bGQg
YmUgaW4gYW4gaW5kZXRlcm1pbmF0ZQotICAgICAgICAvLyBzdGF0ZSAoZHVlIHRvLCBmb3IgZXhh
bXBsZSwgYSBwcmV2aW91cyB0ZXN0IHJ1biBmYWlsaW5nKSwgd2Ugc3RhcnQgYnkKLSAgICAgICAg
Ly8gdW5yZWdzdGVyaW5nIG91ciBzZXJ2aWNlIHdvcmtlciBhbmQgdGhlbiByZWdpc3RlcmluZyBp
dCBhZ2Fpbi4KLSAgICAgICAgdmFyIHNjb3BlID0gIi9zZXJ2aWNlLXdvcmtlci1zY29wZSI7Ci0g
ICAgICAgIHZhciB3b3JrZXJfdXJsID0gImFwaXNhbXBsZS13b3JrZXIuanMiOwotCi0gICAgICAg
IHJldHVybiBuYXZpZ2F0b3Iuc2VydmljZVdvcmtlci5yZWdpc3Rlcih3b3JrZXJfdXJsLCB7c2Nv
cGU6IHNjb3BlfSkKLSAgICAgICAgICAgIC50aGVuKAotICAgICAgICAgICAgICAgIGZ1bmN0aW9u
KHJlZ2lzdHJhdGlvbikgewotICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVnaXN0cmF0aW9u
LnVucmVnaXN0ZXIoKTsKLSAgICAgICAgICAgICAgICB9KQotICAgICAgICAgICAgLnRoZW4oCi0g
ICAgICAgICAgICAgICAgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgICAgIHJldHVybiBu
YXZpZ2F0b3Iuc2VydmljZVdvcmtlci5yZWdpc3Rlcih3b3JrZXJfdXJsLCB7c2NvcGU6IHNjb3Bl
fSk7Ci0gICAgICAgICAgICAgICAgfSkKLSAgICAgICAgICAgIC50aGVuKAotICAgICAgICAgICAg
ICAgIGZ1bmN0aW9uKHJlZ2lzdHJhdGlvbikgewotICAgICAgICAgICAgICAgICAgICBhZGRfY29t
cGxldGlvbl9jYWxsYmFjaygKLSAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uKCkgewot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZ2lzdHJhdGlvbi51bnJlZ2lzdGVyKCk7Ci0g
ICAgICAgICAgICAgICAgICAgICAgICB9KTsKLQotICAgICAgICAgICAgICAgICAgICByZXR1cm4g
bmV3IFByb21pc2UoCi0gICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbihyZXNvbHZlKSB7
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVnaXN0cmF0aW9uLmFkZEV2ZW50TGlzdGVu
ZXIoInVwZGF0ZWZvdW5kIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rp
b24oKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNvbHZlKHJlZ2lz
dHJhdGlvbi5pbnN0YWxsaW5nKTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7
Ci0gICAgICAgICAgICAgICAgICAgICAgICB9KTsKLSAgICAgICAgICAgICAgICB9KQotICAgICAg
ICAgICAgLnRoZW4oCi0gICAgICAgICAgICAgICAgZnVuY3Rpb24od29ya2VyKSB7Ci0gICAgICAg
ICAgICAgICAgICAgIGZldGNoX3Rlc3RzX2Zyb21fd29ya2VyKHdvcmtlcik7Ci0gICAgICAgICAg
ICAgICAgfSk7Ci0gICAgfSwKLSAgICAiUmVnaXN0ZXIgU2VydmljZVdvcmtlciIpOwotPC9zY3Jp
cHQ+Ci08L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy9hcGlzYW1wbGUxNy5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZXMv
YXBpc2FtcGxlMTcuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzI3YzQxN2I4
ZmI0NWEyY2FhMDVlMmViMjM4NjJmZDI4ODYwMjZiZi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy9hcGlzYW1wbGUxNy5odG1sCisrKyAvZGV2L251
bGwKQEAgLTEsNTkgKzAsMCBAQAotPCFET0NUWVBFIEhUTUw+Ci08aHRtbD4KLTxoZWFkPgotPHRp
dGxlPlNhbXBsZSBmb3IgdXNpbmcgZ2VuZXJhdGVfdGVzdHMgdG8gY3JlYXRlIGEgc2VyaWVzIG9m
IHRlc3RzIHRoYXQgc2hhcmUgdGhlIHNhbWUgY2FsbGJhY2suPC90aXRsZT4KLTxzY3JpcHQgc3Jj
PSIuLi90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08c2NyaXB0PgotLy8gZ2Vu
ZXJhdGVfdGVzdHMgdGFrZXMgYW4gYXJyYXkgb2YgYXJyYXlzIHRoYXQgZGVmaW5lIHRlc3RzCi0v
LyBidXQgbGV0cyBwYXNzIGl0IGFuIGVtcHR5IGFycmF5IGFuZCB2ZXJpZnkgaXQgZG9lcyBub3Ro
aW5nLgotZnVuY3Rpb24gbnVsbF9jYWxsYmFjaygpIHsKLQl0aHJvdyAibnVsbF9jYWxsYmFjayBz
aG91bGQgbm90IGJlIGNhbGxlZC4iOwotfQotZ2VuZXJhdGVfdGVzdHMobnVsbF9jYWxsYmFjaywg
W10pOwotCi0vLyBHZW5lcmF0ZSAzIHRlc3RzIHNwZWNpZnlpbmcgdGhlIG5hbWUgYW5kIG9uZSBw
YXJhbWV0ZXIKLWZ1bmN0aW9uIHZhbGlkYXRlX2FyZ3VtZW50cyhhcmcxKSB7Ci0JYXNzZXJ0X2Vx
dWFscyhhcmcxLCAxLCAiRW5zdXJlIHRoYXQgd2UgZ2V0IG91ciBleHBlY3RlZCBhcmd1bWVudCIp
OwotfQotZ2VuZXJhdGVfdGVzdHModmFsaWRhdGVfYXJndW1lbnRzLCBbCi0JWyJmaXJzdCB0ZXN0
IiwgMV0sCi0JWyJzZWNvbmQgdGVzdCIsIDFdLAotCVsidGhpcmQgdGVzdCIsIDFdLAotXSk7Ci0K
LS8vIEdlbmVyYXRlIGEgdGVzdCBwYXNzaW5nIGluIGEgcHJvcGVydGllcyBvYmplY3QgdGhhdCBp
cyBzaGFyZWQgYWNyb3NzIHRlc3RzLgotZnVuY3Rpb24gdmFsaWRhdGVfcHJvcGVydGllcygpIHsK
LQlhc3NlcnRfdHJ1ZSh0aGlzLnByb3BlcnRpZXMuc2VudGluZWwsICJFbnN1cmUgdGhhdCB3ZSBn
b3QgdGhlIHJpZ2h0IHByb3BlcnRpZXMgb2JqZWN0LiIpOwotfQotZ2VuZXJhdGVfdGVzdHModmFs
aWRhdGVfcHJvcGVydGllcywgW1sic2VudGluZWwgY2hlY2sgMSJdLCBbInNlbnRpbmVsIGNoZWNr
IDIiXV0sIHtzZW50aW5lbDogdHJ1ZX0pOwotCi0vLyBHZW5lcmF0ZSBhIHRlc3QgcGFzc2luZyBp
biBhIHByb3BlcnRpZXMgb2JqZWN0IHRoYXQgaXMgc2hhcmVkIGFjcm9zcyB0ZXN0cy4KLWZ1bmN0
aW9uIHZhbGlkYXRlX3NlcGFyYXRlX3Byb3BlcnRpZXMoKSB7Ci0JaWYgKHRoaXMubmFtZSA9PT0g
InNlbnRpbmVsIGNoZWNrIDEgdW5pcXVlIHByb3BlcnRpZXMiKSB7Ci0JCWFzc2VydF90cnVlKHRo
aXMucHJvcGVydGllcy5zZW50aW5lbCwgIkVuc3VyZSB0aGF0IHdlIGdvdCB0aGUgcmlnaHQgcHJv
cGVydGllcyBvYmplY3QuIEV4cGVjdCBzZW50aW5lbDogdHJ1ZS4iKTsKLQl9Ci0JZWxzZSB7Ci0J
CWFzc2VydF9mYWxzZSh0aGlzLnByb3BlcnRpZXMuc2VudGluZWwsICJFbnN1cmUgdGhhdCB3ZSBn
b3QgdGhlIHJpZ2h0IHByb3BlcnRpZXMgb2JqZWN0LiBFeHBlY3Qgc2VudGluZWw6IGZhbHNlLiIp
OwotCX0KLX0KLWdlbmVyYXRlX3Rlc3RzKHZhbGlkYXRlX3NlcGFyYXRlX3Byb3BlcnRpZXMsIFtb
InNlbnRpbmVsIGNoZWNrIDEgdW5pcXVlIHByb3BlcnRpZXMiXSwgWyJzZW50aW5lbCBjaGVjayAy
IHVuaXF1ZSBwcm9wZXJ0aWVzIl1dLCBbe3NlbnRpbmVsOiB0cnVlfSwge3NlbnRpbmVsOiBmYWxz
ZX1dKTsKLQotLy8gRmluYWxseSBnZW5lcmF0ZSBhIGNvbXBsaWNhdGVkIHNldCBvZiB0ZXN0cyBm
cm9tIGFub3RoZXIgZGF0YSBzb3VyY2UKLXZhciBsZXR0ZXJzID0gWyJhIiwgImIiLCAiYyIsICJk
IiwgImUiLCAiZiJdOwotdmFyIG51bWJlcnMgPSBbMCwgMSwgMiwgMywgNCwgNV07Ci1mdW5jdGlv
biB2YWxpZGF0ZV9yZWxhdGVkX2FyZ3VtZW50cyhhcmcxLCBhcmcyKSB7Ci0JYXNzZXJ0X2VxdWFs
cyhhcmcxLmNoYXJDb2RlQXQoMCkgLSAiYSIuY2hhckNvZGVBdCgwKSwgYXJnMiwgIkVuc3VyZSB0
aGF0IHdlIGNhbiBtYXAgbGV0dGVycyB0byBudW1iZXJzLiIpOwotfQotZnVuY3Rpb24gZm9ybWF0
X2FzX3Rlc3QobGV0dGVyLCBpbmRleCwgbGV0dGVycykgewotCXJldHVybiBbIlRlc3QgdG8gbWFw
ICIgKyBsZXR0ZXIgKyAiIHRvICIgKyBudW1iZXJzW2luZGV4XSwgbGV0dGVyLCBudW1iZXJzW2lu
ZGV4XV07Ci19Ci1nZW5lcmF0ZV90ZXN0cyh2YWxpZGF0ZV9yZWxhdGVkX2FyZ3VtZW50cywgbGV0
dGVycy5tYXAoZm9ybWF0X2FzX3Rlc3QpKTsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgot
Ci0KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2FtcGxlMTguaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBs
ZTE4Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDk1MGExNTBhNmMwZjRjYTE1
NTRiN2FlZTFkNTVkMGQ0YjU5YjVhMzYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2FtcGxlMTguaHRtbAorKysgL2Rldi9udWxsCkBAIC0x
LDI2ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLTx0aXRsZT5FeGFt
cGxlIHdpdGggaWZyYW1lIHRoYXQgY29uc29saWRhdGVzIGVycm9ycyB2aWEgZmV0Y2hfdGVzdHNf
ZnJvbV93aW5kb3c8L3RpdGxlPgotPHNjcmlwdCBzcmM9Ii4uL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSIuLi90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0PgotdmFyIHBhcmVudF90ZXN0ID0gYXN5bmNfdGVzdCgiVGVzdCBleGVjdXRpbmcgaW4g
cGFyZW50IGNvbnRleHQiKTsKLTwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgb25sb2FkPSJwYXJl
bnRfdGVzdC5kb25lKCkiPgotPGgxPkZldGNoaW5nIFRlc3RzIEZyb20gYSBDaGlsZCBDb250ZXh0
PC9oMT4KLTxwPlRoaXMgdGVzdCBkZW1vbnN0cmF0ZXMgdGhlIHVzZSBvZiA8dHQ+ZmV0Y2hfdGVz
dHNfZnJvbV93aW5kb3c8L3R0PiB0byBwdWxsCi10ZXN0cyBmcm9tIGFuIDx0dD5pZnJhbWU8L3R0
PiBpbnRvIHRoZSBwcmltYXJ5IGRvY3VtZW50LjwvcD4KLTxwPlRoZSB0ZXN0IHN1aXRlIGlzIGV4
cGVjdGVkIHRvIGZhaWwgZHVlIHRvIGFuIHVuaGFuZGxlZCBleGNlcHRpb24gaW4gdGhlCi1jaGls
ZCBjb250ZXh0LjwvcD4KLTxkaXYgaWQ9ImxvZyI+PC9kaXY+Ci0KLTxpZnJhbWUgaWQ9ImNoaWxk
Q29udGV4dCIgc3JjPSJhcGlzYW1wbGU0Lmh0bSIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+PC9pZnJh
bWU+Ci08IS0tICBhcGlzYW1wbGU0IGlzIGEgZmFpbGluZyBzdWl0ZSBkdWUgdG8gYW4gdW5oYW5k
bGVkIEVycm9yLiAgLS0+Ci0KLTxzY3JpcHQ+Ci0JdmFyIGNoaWxkQ29udGV4dCA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjaGlsZENvbnRleHQiKTsKLQlmZXRjaF90ZXN0c19mcm9tX3dpbmRv
dyhjaGlsZENvbnRleHQuY29udGVudFdpbmRvdyk7Ci08L3NjcmlwdD4KLTwvYm9keT4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy9hcGlzYW1wbGUxOS5odG1s
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
ZXhhbXBsZXMvYXBpc2FtcGxlMTkuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
N2JjYTEzNGFiMjIzZTRkZTM3ZTEwYjc3MThjNjY2MWJhZjA3YmMwNC4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy9hcGlzYW1wbGUxOS5odG1sCisr
KyAvZGV2L251bGwKQEAgLTEsMjYgKzAsMCBAQAotPCFET0NUWVBFIEhUTUw+Ci08aHRtbD4KLTxo
ZWFkPgotPHRpdGxlPkV4YW1wbGUgd2l0aCBpZnJhbWUgdGhhdCBjb25zb2xpZGF0ZXMgdGVzdHMg
dmlhIGZldGNoX3Rlc3RzX2Zyb21fd2luZG93PC90aXRsZT4KLTxzY3JpcHQgc3JjPSIuLi90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLXZhciBwYXJlbnRfdGVzdCA9IGFzeW5jX3Rlc3QoIlRl
c3QgZXhlY3V0aW5nIGluIHBhcmVudCBjb250ZXh0Iik7Ci08L3NjcmlwdD4KLTwvaGVhZD4KLTxi
b2R5IG9ubG9hZD0icGFyZW50X3Rlc3QuZG9uZSgpIj4KLTxoMT5GZXRjaGluZyBUZXN0cyBGcm9t
IGEgQ2hpbGQgQ29udGV4dDwvaDE+Ci08cD5UaGlzIHRlc3QgZGVtb25zdHJhdGVzIHRoZSB1c2Ug
b2YgPHR0PmZldGNoX3Rlc3RzX2Zyb21fd2luZG93PC90dD4gdG8gcHVsbAotdGVzdHMgZnJvbSBh
biA8dHQ+aWZyYW1lPC90dD4gaW50byB0aGUgcHJpbWFyeSBkb2N1bWVudC48L3A+Ci08cD5UaGUg
dGVzdCBzdWl0ZSB3aWxsIG5vdCBjb21wbGV0ZSB1bnRpbCB0ZXN0cyBpbiB0aGUgY2hpbGQgY29u
dGV4dCBoYXZlIGZpbmlzaGVkCi1leGVjdXRpbmc8L3A+Ci08ZGl2IGlkPSJsb2ciPjwvZGl2Pgot
Ci08aWZyYW1lIGlkPSJjaGlsZENvbnRleHQiIHNyYz0iYXBpc2FtcGxlMTAuaHRtbCIgc3R5bGU9
ImRpc3BsYXk6bm9uZSI+PC9pZnJhbWU+Ci08IS0tICBhcGlzYW1wbGUxMCBoYXMgYXN5bmMgdGVz
dHMgd2l0aCBwcm9taXNlcyAgLS0+Ci0KLTxzY3JpcHQ+Ci0JdmFyIGNoaWxkQ29udGV4dCA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjaGlsZENvbnRleHQiKTsKLQlmZXRjaF90ZXN0c19mcm9t
X3dpbmRvdyhjaGlsZENvbnRleHQuY29udGVudFdpbmRvdyk7Ci08L3NjcmlwdD4KLTwvYm9keT4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy9hcGlzYW1wbGUy
Lmh0bSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL2V4YW1wbGVzL2FwaXNhbXBsZTIuaHRtCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCA0YTRjMTZiNGRmYWJjNGQyY2I3MDQxNzkzOTlhYWZiYzMxNjA2ODQzLi4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBsZTIuaHRtCisr
KyAvZGV2L251bGwKQEAgLTEsMTkgKzAsMCBAQAotPCFET0NUWVBFIEhUTUw+Ci08aHRtbD4KLTxo
ZWFkPgotPHRpdGxlPlNhbXBsZSBIVE1MNSBBUEkgVGVzdHM8L3RpdGxlPgotPC9oZWFkPgotPGJv
ZHkgb25sb2FkPSJsb2FkX3Rlc3RfYXR0ci5kb25lKCkiPgotPGgxPlNhbXBsZSBIVE1MNSBBUEkg
VGVzdHM8L2gxPgotPHA+VGhlcmUgc2hvdWxkIGJlIHR3byByZXN1bHRzPC9wPgotPGRpdiBpZD0i
bG9nIj48L2Rpdj4KLTxzY3JpcHQgc3JjPSIuLi90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0iLi4vdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4K
LXNldHVwKHtleHBsaWNpdF9kb25lOnRydWV9KQotdGVzdChmdW5jdGlvbigpIHthc3NlcnRfdHJ1
ZSh0cnVlKX0sICJUZXN0IGRlZmluZWQgYmVmb3JlIG9ubG9hZCIpOwotCi1vbmxvYWQgPSBmdW5j
dGlvbigpIHt0ZXN0KGZ1bmN0aW9uICgpe2Fzc2VydF90cnVlKHRydWUpfSwgIlRlc3QgZGVmaW5l
ZCBhZnRlciBvbmxvYWQiKTsKLWRvbmUoKTsKLX0KLTwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZXhhbXBs
ZXMvYXBpc2FtcGxlMy5odG0gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy9hcGlzYW1wbGUzLmh0bQpkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggNGRiYmY5YTg3MWJkNDIyNTI5MjEwNDMzZjdhZjAzNTEyMzdkNzA3ZS4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy9hcGlz
YW1wbGUzLmh0bQorKysgL2Rldi9udWxsCkBAIC0xLDE3ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1M
PgotPGh0bWw+Ci08aGVhZD4KLTx0aXRsZT5TYW1wbGUgSFRNTDUgQVBJIFRlc3RzPC90aXRsZT4K
LTwvaGVhZD4KLTxzY3JpcHQgc3JjPSIuLi90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci0KLTxi
b2R5IG9ubG9hZD0ibG9hZF90ZXN0X2F0dHIuZG9uZSgpIj4KLTxoMT5TYW1wbGUgSFRNTDUgQVBJ
IFRlc3RzPC9oMT4KLTxkaXYgaWQ9ImxvZyI+PC9kaXY+Ci08c2NyaXB0Pgotc2V0dXAoe2V4cGxp
Y2l0X3RpbWVvdXQ6dHJ1ZX0pOwotdmFyIHQgPSBhc3luY190ZXN0KCJUaGlzIHRlc3Qgc2hvdWxk
IGdpdmUgYSBzdGF0dXMgb2YgJ05vdCBSdW4nIHdpdGhvdXQgYSBkZWxheSIpOwotdGltZW91dCgp
OwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy9hcGlzYW1w
bGU0Lmh0bSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBsZTQuaHRtCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCBjOGZiYmRlZDY5NWZkNjVkNDZjNjA0OTM2ZGE4YzlhODNkNTg4NDQyLi4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBsZTQuaHRt
CisrKyAvZGV2L251bGwKQEAgLTEsMTYgKzAsMCBAQAotPCFET0NUWVBFIEhUTUw+Ci08aHRtbD4K
LTxoZWFkPgotPHRpdGxlPkhhcm5lc3MgSGFuZGxpbmcgVW5jYXVnaHQgRXhjZXB0aW9uPC90aXRs
ZT4KLTwvaGVhZD4KLTxzY3JpcHQgc3JjPSIuLi90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci0K
LTxib2R5PgotPGgxPkhhcm5lc3MgSGFuZGxpbmcgVW5jYXVnaHQgRXhjZXB0aW9uPC9oMT4KLTxk
aXYgaWQ9ImxvZyI+PC9kaXY+Ci08c2NyaXB0PgotdmFyIHQgPSBhc3luY190ZXN0KCJUaGlzIHNo
b3VsZCBzaG93IGEgaGFybmVzcyBzdGF0dXMgb2YgJ0Vycm9yJyBhbmQgYSB0ZXN0IHN0YXR1cyBv
ZiAnTm90IFJ1biciKTsKLXRocm93IG5ldyBFcnJvcigiRXhhbXBsZSBFcnJvciIpOwotPC9zY3Jp
cHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy9hcGlzYW1wbGU1Lmh0bSBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4
YW1wbGVzL2FwaXNhbXBsZTUuaHRtCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzZWRm
NjAyYTFlNmU3NTJjMDAzNTQ0NGIzMGI4ZTdhZTlmOWNkNjM3Li4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBsZTUuaHRtCisrKyAvZGV2
L251bGwKQEAgLTEsMTggKzAsMCBAQAotPCFET0NUWVBFIEhUTUw+Ci08aHRtbD4KLTxoZWFkPgot
PHRpdGxlPkhhcm5lc3MgSWdub3JpbmcgVW5jYXVnaHQgRXhjZXB0aW9uPC90aXRsZT4KLTwvaGVh
ZD4KLTxzY3JpcHQgc3JjPSIuLi90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci0KLTxib2R5Pgot
PGgxPkhhcm5lc3MgSWdub3JpbmcgVW5jYXVnaHQgRXhjZXB0aW9uPC9oMT4KLTxkaXYgaWQ9Imxv
ZyI+PC9kaXY+Ci08c2NyaXB0Pgotc2V0dXAoe2FsbG93X3VuY2F1Z2h0X2V4Y2VwdGlvbjp0cnVl
fSk7Ci12YXIgdCA9IGFzeW5jX3Rlc3QoInNldHVwKHthbGxvd191bmNhdWdodF9leGNlcHRpb246
dHJ1ZX0pIHNob3VsZCBhbGxvdyB0ZXN0cyB0byBwYXNzIGV2ZW4gaWYgdGhlcmUgaXMgYW4gZXhj
ZXB0aW9uIik7Ci1vbmVycm9yID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24oKSB7dC5kb25lKCl9KTsK
LXRocm93IG5ldyBFcnJvcigiRXhhbXBsZSBFcnJvciIpOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy9hcGlzYW1wbGU2Lmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy9hcGlzYW1w
bGU2Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDc0NTljNTRkNTcyMDhjNWNl
ZmFjZGUyMDdlZTc4YjI2ZmI0YTEzYTYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2FtcGxlNi5odG1sCisrKyAvZGV2L251bGwKQEAgLTEs
MTAgKzAsMCBAQAotPCFET0NUWVBFIEhUTUw+Ci08dGl0bGU+RXhhbXBsZSB3aXRoIGZpbGVfaXNf
dGVzdDwvdGl0bGU+Ci08c2NyaXB0IHNyYz0iLi4vdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdCBzcmM9Ii4uL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+
Ci1vbmxvYWQgPSBmdW5jdGlvbigpIHsKLSAgYXNzZXJ0X3RydWUodHJ1ZSk7Ci0gIGRvbmUoKTsK
LX0KLTwvc2NyaXB0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1w
bGVzL2FwaXNhbXBsZTcuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBsZTcuaHRtbApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggNjg4NWY1MmY4YTUzYWZmMjI4YjA5N2RlZjZmMzYxMWU1NGFjZmJj
NS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy9h
cGlzYW1wbGU3Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxMCArMCwwIEBACi08IURPQ1RZUEUg
SFRNTD4KLTx0aXRsZT5FeGFtcGxlIHdpdGggZmlsZV9pc190ZXN0IChzaG91bGQgZmFpbCk8L3Rp
dGxlPgotPHNjcmlwdCBzcmM9Ii4uL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIuLi90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0Pgotb25sb2Fk
ID0gZnVuY3Rpb24oKSB7Ci0gIGFzc2VydF90cnVlKGZhbHNlKTsKLSAgZG9uZSgpOwotfQotPC9z
Y3JpcHQ+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZXMvYXBp
c2FtcGxlOC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2FtcGxlOC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCA3MDg1M2Q5YzZjNTkyMzYwZjhjNjdhN2IzNTNmNjE4YjQ4YTdhZTcxLi4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBs
ZTguaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDggKzAsMCBAQAotPCFET0NUWVBFIEhUTUw+Ci08
dGl0bGU+RXhhbXBsZSBzaW5nbGUgcGFnZSB0ZXN0IHdpdGggbm8gYm9keTwvdGl0bGU+Ci08c2Ny
aXB0IHNyYz0iLi4vdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci1hc3NlcnRfdHJ1ZSh0cnVl
KTsKLWRvbmUoKTsKLTwvc2NyaXB0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL2V4YW1wbGVzL2FwaXNhbXBsZTkuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBsZTkuaHRtbApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjg0NDMzZGQxOTg5YzdmYjA5N2U4OWEzYmY2ODJm
MmVjMjg0ODdiMy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9l
eGFtcGxlcy9hcGlzYW1wbGU5Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw3ICswLDAgQEAKLTwh
RE9DVFlQRSBIVE1MPgotPHRpdGxlPkV4YW1wbGUgc2luZ2xlIHBhZ2UgdGVzdCB3aXRoIG5vIGFz
c2VydHM8L3RpdGxlPgotPHNjcmlwdCBzcmM9Ii4uL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIuLi90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
PgotZG9uZSgpOwotPC9zY3JpcHQ+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvZXhhbXBsZXMvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy93M2MtaW1wb3J0LmxvZwpkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDc0NWZiNTg0NDY2ZjVjNWVmMzZkZTRlZWNhNDNmNmQ0
Mjc5YTVhMi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9leGFt
cGxlcy93M2MtaW1wb3J0LmxvZworKysgL2Rldi9udWxsCkBAIC0xLDM3ICswLDAgQEAKLVRoZSB0
ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0
b3J5LgotRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0
ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9n
aXRodWIuY29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMKLQotVGhlbiBydW4gdGhlIFRvb2xzL1Nj
cmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKLQotRG8gTk9UIG1v
ZGlmeSBvciByZW1vdmUgdGhpcyBmaWxlLgotCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLVByb3BlcnRpZXMg
cmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKLU5vbmUKLVByb3BlcnR5IHZhbHVlcyByZXF1aXJp
bmcgdmVuZG9yIHByZWZpeGVzOgotTm9uZQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1MaXN0IG9mIGZpbGVz
OgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L2V4YW1wbGVzL2FwaXNhbXBsZS1lcnJvci13b3JrZXIuanMKLS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy9hcGlzYW1wbGUtd29y
a2VyLmpzCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvZXhhbXBsZXMvYXBpc2FtcGxlLmh0bQotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBsZTEwLmh0bWwKLS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9leGFt
cGxlcy9hcGlzYW1wbGUxMS5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2FtcGxlMTIuaHRtbAotL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2Fw
aXNhbXBsZTEzLmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy9leGFtcGxlcy9hcGlzYW1wbGUxNC5odG1sCi0vTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2FtcGxl
MTUuaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBsZTE2Lmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy9hcGlzYW1wbGUxNy5odG1s
Ci0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
ZXhhbXBsZXMvYXBpc2FtcGxlMTguaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBsZTE5Lmh0bWwKLS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9leGFtcGxl
cy9hcGlzYW1wbGUyLmh0bQotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBsZTMuaHRtCi0vTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2FtcGxl
NC5odG0KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy9leGFtcGxlcy9hcGlzYW1wbGU1Lmh0bQotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBsZTYuaHRtbAotL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1w
bGVzL2FwaXNhbXBsZTcuaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBsZTguaHRtbAotL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNh
bXBsZTkuaHRtbApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvaWRsaGFybmVzcy5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2lkbGhhcm5lc3MuanMKaW5kZXggZjY4
YWQxZGQ3ZDgxZTU0YmVhNWY5MDA0Mjg0ZWZmNDlhNzEzYTMyZS4uN2QxMzczZWYzNDExMGRkNTFj
N2UzYmU1MTgxZWRlNmJhNWUzY2VlMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvaWRsaGFybmVzcy5qcworKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9pZGxoYXJu
ZXNzLmpzCkBAIC0yMzYsNyArMjM2LDExIEBAIElkbEFycmF5LnByb3RvdHlwZS5pc19leGNsdWRl
ZF9ieV9vcHRpb25zID0gZnVuY3Rpb24gKG5hbWUsIG9wdGlvbnMpCiAKIElkbEFycmF5LnByb3Rv
dHlwZS5hZGRfZGVwZW5kZW5jeV9pZGxzID0gZnVuY3Rpb24ocmF3X2lkbHMsIG9wdGlvbnMpCiB7
Ci0gICAgY29uc3QgcGFyc2VkX2lkbHMgPSBXZWJJREwyLnBhcnNlKHJhd19pZGxzKTsKKyAgICBy
ZXR1cm4gdGhpcy5pbnRlcm5hbF9hZGRfZGVwZW5kZW5jeV9pZGxzKFdlYklETDIucGFyc2UocmF3
X2lkbHMpLCBvcHRpb25zKTsKK307CisKK0lkbEFycmF5LnByb3RvdHlwZS5pbnRlcm5hbF9hZGRf
ZGVwZW5kZW5jeV9pZGxzID0gZnVuY3Rpb24ocGFyc2VkX2lkbHMsIG9wdGlvbnMpCit7CiAgICAg
Y29uc3QgbmV3X29wdGlvbnMgPSB7IG9ubHk6IFtdIH0KIAogICAgIGNvbnN0IGFsbF9kZXBzID0g
bmV3IFNldCgpOwpAQCAtODA0LDEwICs4MDgsMjAgQEAgSWRsQXJyYXkucHJvdG90eXBlLnRlc3Qg
PSBmdW5jdGlvbigpCiAgICAgICAgICAgICBpZiAoISh0aGlzLm1lbWJlcnNbbGhzXSBpbnN0YW5j
ZW9mIElkbEludGVyZmFjZSkpIHRocm93IGVyclN0ciArIGxocyArICIgaXMgbm90IGFuIGludGVy
ZmFjZS4iOwogICAgICAgICAgICAgaWYgKCEocmhzIGluIHRoaXMubWVtYmVycykpIHRocm93IGVy
clN0ciArIHJocyArICIgaXMgdW5kZWZpbmVkLiI7CiAgICAgICAgICAgICBpZiAoISh0aGlzLm1l
bWJlcnNbcmhzXSBpbnN0YW5jZW9mIElkbEludGVyZmFjZSkpIHRocm93IGVyclN0ciArIHJocyAr
ICIgaXMgbm90IGFuIGludGVyZmFjZS4iOwotICAgICAgICAgICAgdGhpcy5tZW1iZXJzW3Joc10u
bWVtYmVycy5mb3JFYWNoKGZ1bmN0aW9uKG1lbWJlcikKLSAgICAgICAgICAgIHsKLSAgICAgICAg
ICAgICAgICB0aGlzLm1lbWJlcnNbbGhzXS5tZW1iZXJzLnB1c2gobmV3IElkbEludGVyZmFjZU1l
bWJlcihtZW1iZXIpKTsKLSAgICAgICAgICAgIH0uYmluZCh0aGlzKSk7CisKKyAgICAgICAgICAg
IGlmICh0aGlzLm1lbWJlcnNbcmhzXS5tZW1iZXJzLmxlbmd0aCkgeworICAgICAgICAgICAgICAg
IHRlc3QoZnVuY3Rpb24gKCkgeworICAgICAgICAgICAgICAgICAgICB2YXIgY2xhc2ggPSB0aGlz
Lm1lbWJlcnNbcmhzXS5tZW1iZXJzLmZpbmQoZnVuY3Rpb24obWVtYmVyKSB7CisgICAgICAgICAg
ICAgICAgICAgICAgICByZXR1cm4gdGhpcy5tZW1iZXJzW2xoc10ubWVtYmVycy5maW5kKGZ1bmN0
aW9uKG0pIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5hcmVfZHVw
bGljYXRlX21lbWJlcnMobSwgbWVtYmVyKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIH0uYmlu
ZCh0aGlzKSk7CisgICAgICAgICAgICAgICAgICAgIH0uYmluZCh0aGlzKSk7CisgICAgICAgICAg
ICAgICAgICAgIHRoaXMubWVtYmVyc1tyaHNdLm1lbWJlcnMuZm9yRWFjaChmdW5jdGlvbihtZW1i
ZXIpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubWVtYmVyc1tsaHNdLm1lbWJlcnMu
cHVzaChuZXcgSWRsSW50ZXJmYWNlTWVtYmVyKG1lbWJlcikpOworICAgICAgICAgICAgICAgICAg
ICB9LmJpbmQodGhpcykpOworICAgICAgICAgICAgICAgICAgICBhc3NlcnRfdHJ1ZSghY2xhc2gs
ICJtZW1iZXIgIiArIChjbGFzaCAmJiBjbGFzaC5uYW1lKSArICIgaXMgdW5pcXVlIik7CisgICAg
ICAgICAgICAgICAgfS5iaW5kKHRoaXMpLCBsaHMgKyAiIGltcGxlbWVudHMgIiArIHJocyArICI6
IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlIik7CisgICAgICAgICAgICB9CiAgICAgICAgIH0uYmlu
ZCh0aGlzKSk7CiAgICAgfQogICAgIHRoaXNbImltcGxlbWVudHMiXSA9IHt9OwpAQCAtODIxLDEw
ICs4MzUsMjMgQEAgSWRsQXJyYXkucHJvdG90eXBlLnRlc3QgPSBmdW5jdGlvbigpCiAgICAgICAg
ICAgICBpZiAoISh0aGlzLm1lbWJlcnNbbGhzXSBpbnN0YW5jZW9mIElkbEludGVyZmFjZSkpIHRo
cm93IGVyclN0ciArIGxocyArICIgaXMgbm90IGFuIGludGVyZmFjZS4iOwogICAgICAgICAgICAg
aWYgKCEocmhzIGluIHRoaXMubWVtYmVycykpIHRocm93IGVyclN0ciArIHJocyArICIgaXMgdW5k
ZWZpbmVkLiI7CiAgICAgICAgICAgICBpZiAoISh0aGlzLm1lbWJlcnNbcmhzXSBpbnN0YW5jZW9m
IElkbEludGVyZmFjZSkpIHRocm93IGVyclN0ciArIHJocyArICIgaXMgbm90IGFuIGludGVyZmFj
ZS4iOwotICAgICAgICAgICAgdGhpcy5tZW1iZXJzW3Joc10ubWVtYmVycy5mb3JFYWNoKGZ1bmN0
aW9uKG1lbWJlcikKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICB0aGlzLm1lbWJlcnNb
bGhzXS5tZW1iZXJzLnB1c2gobmV3IElkbEludGVyZmFjZU1lbWJlcihtZW1iZXIpKTsKLSAgICAg
ICAgICAgIH0uYmluZCh0aGlzKSk7CisKKyAgICAgICAgICAgIGlmICh0aGlzLm1lbWJlcnNbcmhz
XS5tZW1iZXJzLmxlbmd0aCkgeworICAgICAgICAgICAgICAgIHRlc3QoZnVuY3Rpb24gKCkgewor
ICAgICAgICAgICAgICAgICAgICB2YXIgY2xhc2ggPSB0aGlzLm1lbWJlcnNbcmhzXS5tZW1iZXJz
LmZpbmQoZnVuY3Rpb24obWVtYmVyKSB7CisgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4g
dGhpcy5tZW1iZXJzW2xoc10ubWVtYmVycy5maW5kKGZ1bmN0aW9uKG0pIHsKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5hcmVfZHVwbGljYXRlX21lbWJlcnMobSwgbWVt
YmVyKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIH0uYmluZCh0aGlzKSk7CisgICAgICAgICAg
ICAgICAgICAgIH0uYmluZCh0aGlzKSk7CisgICAgICAgICAgICAgICAgICAgIHRoaXMubWVtYmVy
c1tyaHNdLm1lbWJlcnMuZm9yRWFjaChmdW5jdGlvbihtZW1iZXIpIHsKKyAgICAgICAgICAgICAg
ICAgICAgICAgIGFzc2VydF90cnVlKAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMu
bWVtYmVyc1tsaHNdLm1lbWJlcnMuZXZlcnkobSA9PiAhdGhpcy5hcmVfZHVwbGljYXRlX21lbWJl
cnMobSwgbWVtYmVyKSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1lbWJlciAiICsg
bWVtYmVyLm5hbWUgKyAiIGlzIHVuaXF1ZSIpOworICAgICAgICAgICAgICAgICAgICAgICAgdGhp
cy5tZW1iZXJzW2xoc10ubWVtYmVycy5wdXNoKG5ldyBJZGxJbnRlcmZhY2VNZW1iZXIobWVtYmVy
KSk7CisgICAgICAgICAgICAgICAgICAgIH0uYmluZCh0aGlzKSk7CisgICAgICAgICAgICAgICAg
ICAgIGFzc2VydF90cnVlKCFjbGFzaCwgIm1lbWJlciAiICsgKGNsYXNoICYmIGNsYXNoLm5hbWUp
ICsgIiBpcyB1bmlxdWUiKTsKKyAgICAgICAgICAgICAgICB9LmJpbmQodGhpcyksIGxocyArICIg
aW5jbHVkZXMgIiArIHJocyArICI6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlIik7CisgICAgICAg
ICAgICB9CiAgICAgICAgIH0uYmluZCh0aGlzKSk7CiAgICAgfQogICAgIHRoaXNbImluY2x1ZGVz
Il0gPSB7fTsKQEAgLTg4NiwyNCArOTEzLDI3IEBAIElkbEFycmF5LnByb3RvdHlwZS5jb2xsYXBz
ZV9wYXJ0aWFscyA9IGZ1bmN0aW9uKCkKICAgICAgICAgICAgICAgICB8fCB0aGlzLm1lbWJlcnNb
cGFyc2VkX2lkbC5uYW1lXSBpbnN0YW5jZW9mIElkbERpY3Rpb25hcnkKICAgICAgICAgICAgICAg
ICB8fCB0aGlzLm1lbWJlcnNbcGFyc2VkX2lkbC5uYW1lXSBpbnN0YW5jZW9mIElkbE5hbWVzcGFj
ZSk7CiAKKyAgICAgICAgLy8gRW5zdXJlIHVuaXF1ZSB0ZXN0IG5hbWUgaW4gY2FzZSBvZiBtdWx0
aXBsZSBwYXJ0aWFscy4KICAgICAgICAgbGV0IHBhcnRpYWxUZXN0TmFtZSA9IHBhcnNlZF9pZGwu
bmFtZTsKLSAgICAgICAgaWYgKCFwYXJzZWRfaWRsLnVudGVzdGVkKSB7Ci0gICAgICAgICAgICAv
LyBFbnN1cmUgdW5pcXVlIHRlc3QgbmFtZSBpbiBjYXNlIG9mIG11bHRpcGxlIHBhcnRpYWxzLgot
ICAgICAgICAgICAgbGV0IHBhcnRpYWxUZXN0Q291bnQgPSAxOwotICAgICAgICAgICAgaWYgKHRl
c3RlZFBhcnRpYWxzLmhhcyhwYXJzZWRfaWRsLm5hbWUpKSB7Ci0gICAgICAgICAgICAgICAgcGFy
dGlhbFRlc3RDb3VudCArPSB0ZXN0ZWRQYXJ0aWFscy5nZXQocGFyc2VkX2lkbC5uYW1lKTsKLSAg
ICAgICAgICAgICAgICBwYXJ0aWFsVGVzdE5hbWUgPSBgJHtwYXJ0aWFsVGVzdE5hbWV9WyR7cGFy
dGlhbFRlc3RDb3VudH1dYDsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIHRlc3RlZFBhcnRp
YWxzLnNldChwYXJzZWRfaWRsLm5hbWUsIHBhcnRpYWxUZXN0Q291bnQpOworICAgICAgICBsZXQg
cGFydGlhbFRlc3RDb3VudCA9IDE7CisgICAgICAgIGlmICh0ZXN0ZWRQYXJ0aWFscy5oYXMocGFy
c2VkX2lkbC5uYW1lKSkgeworICAgICAgICAgICAgcGFydGlhbFRlc3RDb3VudCArPSB0ZXN0ZWRQ
YXJ0aWFscy5nZXQocGFyc2VkX2lkbC5uYW1lKTsKKyAgICAgICAgICAgIHBhcnRpYWxUZXN0TmFt
ZSA9IGAke3BhcnRpYWxUZXN0TmFtZX1bJHtwYXJ0aWFsVGVzdENvdW50fV1gOworICAgICAgICB9
CisgICAgICAgIHRlc3RlZFBhcnRpYWxzLnNldChwYXJzZWRfaWRsLm5hbWUsIHBhcnRpYWxUZXN0
Q291bnQpOwogCisgICAgICAgIGlmICghcGFyc2VkX2lkbC51bnRlc3RlZCkgewogICAgICAgICAg
ICAgdGVzdChmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgYXNzZXJ0X3RydWUob3JpZ2lu
YWxFeGlzdHMsIGBPcmlnaW5hbCAke3BhcnNlZF9pZGwudHlwZX0gc2hvdWxkIGJlIGRlZmluZWRg
KTsKIAotICAgICAgICAgICAgICAgIHZhciBleHBlY3RlZCA9IElkbEludGVyZmFjZTsKKyAgICAg
ICAgICAgICAgICB2YXIgZXhwZWN0ZWQ7CiAgICAgICAgICAgICAgICAgc3dpdGNoIChwYXJzZWRf
aWRsLnR5cGUpIHsKLSAgICAgICAgICAgICAgICAgICAgY2FzZSAnaW50ZXJmYWNlJzogZXhwZWN0
ZWQgPSBJZGxJbnRlcmZhY2U7IGJyZWFrOwogICAgICAgICAgICAgICAgICAgICBjYXNlICdkaWN0
aW9uYXJ5JzogZXhwZWN0ZWQgPSBJZGxEaWN0aW9uYXJ5OyBicmVhazsKICAgICAgICAgICAgICAg
ICAgICAgY2FzZSAnbmFtZXNwYWNlJzogZXhwZWN0ZWQgPSBJZGxOYW1lc3BhY2U7IGJyZWFrOwor
ICAgICAgICAgICAgICAgICAgICBjYXNlICdpbnRlcmZhY2UnOgorICAgICAgICAgICAgICAgICAg
ICBjYXNlICdpbnRlcmZhY2UgbWl4aW4nOgorICAgICAgICAgICAgICAgICAgICBkZWZhdWx0Ogor
ICAgICAgICAgICAgICAgICAgICAgICAgZXhwZWN0ZWQgPSBJZGxJbnRlcmZhY2U7IGJyZWFrOwog
ICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICBhc3NlcnRfdHJ1ZSgKICAgICAgICAg
ICAgICAgICAgICAgZXhwZWN0ZWQucHJvdG90eXBlLmlzUHJvdG90eXBlT2YodGhpcy5tZW1iZXJz
W3BhcnNlZF9pZGwubmFtZV0pLApAQCAtOTQ5LDE0ICs5NzksMzYgQEAgSWRsQXJyYXkucHJvdG90
eXBlLmNvbGxhcHNlX3BhcnRpYWxzID0gZnVuY3Rpb24oKQogICAgICAgICAgICAgICAgIHRoaXMu
bWVtYmVyc1twYXJzZWRfaWRsLm5hbWVdLmV4dEF0dHJzLnB1c2goZXh0QXR0cik7CiAgICAgICAg
ICAgICB9LmJpbmQodGhpcykpOwogICAgICAgICB9Ci0gICAgICAgIHBhcnNlZF9pZGwubWVtYmVy
cy5mb3JFYWNoKGZ1bmN0aW9uKG1lbWJlcikKLSAgICAgICAgewotICAgICAgICAgICAgdGhpcy5t
ZW1iZXJzW3BhcnNlZF9pZGwubmFtZV0ubWVtYmVycy5wdXNoKG5ldyBJZGxJbnRlcmZhY2VNZW1i
ZXIobWVtYmVyKSk7Ci0gICAgICAgIH0uYmluZCh0aGlzKSk7CisgICAgICAgIGlmIChwYXJzZWRf
aWRsLm1lbWJlcnMubGVuZ3RoKSB7CisgICAgICAgICAgICB0ZXN0KGZ1bmN0aW9uICgpIHsKKyAg
ICAgICAgICAgICAgICB2YXIgY2xhc2ggPSBwYXJzZWRfaWRsLm1lbWJlcnMuZmluZChmdW5jdGlv
bihtZW1iZXIpIHsKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMubWVtYmVyc1twYXJz
ZWRfaWRsLm5hbWVdLm1lbWJlcnMuZmluZChmdW5jdGlvbihtKSB7CisgICAgICAgICAgICAgICAg
ICAgICAgICByZXR1cm4gdGhpcy5hcmVfZHVwbGljYXRlX21lbWJlcnMobSwgbWVtYmVyKTsKKyAg
ICAgICAgICAgICAgICAgICAgfS5iaW5kKHRoaXMpKTsKKyAgICAgICAgICAgICAgICB9LmJpbmQo
dGhpcykpOworICAgICAgICAgICAgICAgIHBhcnNlZF9pZGwubWVtYmVycy5mb3JFYWNoKGZ1bmN0
aW9uKG1lbWJlcikKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgIHRoaXMu
bWVtYmVyc1twYXJzZWRfaWRsLm5hbWVdLm1lbWJlcnMucHVzaChuZXcgSWRsSW50ZXJmYWNlTWVt
YmVyKG1lbWJlcikpOworICAgICAgICAgICAgICAgIH0uYmluZCh0aGlzKSk7CisgICAgICAgICAg
ICAgICAgYXNzZXJ0X3RydWUoIWNsYXNoLCAibWVtYmVyICIgKyAoY2xhc2ggJiYgY2xhc2gubmFt
ZSkgKyAiIGlzIHVuaXF1ZSIpOworICAgICAgICAgICAgfS5iaW5kKHRoaXMpLCBgUGFydGlhbCAk
e3BhcnNlZF9pZGwudHlwZX0gJHtwYXJ0aWFsVGVzdE5hbWV9OiBtZW1iZXIgbmFtZXMgYXJlIHVu
aXF1ZWApOworICAgICAgICB9CiAgICAgfS5iaW5kKHRoaXMpKTsKICAgICB0aGlzLnBhcnRpYWxz
ID0gW107CiB9CiAKK0lkbEFycmF5LnByb3RvdHlwZS5hcmVfZHVwbGljYXRlX21lbWJlcnMgPSBm
dW5jdGlvbihtMSwgbTIpIHsKKyAgICBpZiAobTEubmFtZSAhPT0gbTIubmFtZSkgeworICAgICAg
ICByZXR1cm4gZmFsc2U7CisgICAgfQorICAgIGlmIChtMS50eXBlID09PSAnb3BlcmF0aW9uJyAm
JiBtMi50eXBlID09PSAnb3BlcmF0aW9uJworICAgICAgICAmJiBtMS5hcmd1bWVudHMubGVuZ3Ro
ICE9PSBtMi5hcmd1bWVudHMubGVuZ3RoKSB7CisgICAgICAgIC8vIE1ldGhvZCBvdmVybG9hZC4g
VE9ETzogRGVlcCBjb21wYXJpc29uIG9mIGFyZ3VtZW50cy4KKyAgICAgICAgcmV0dXJuIGZhbHNl
OworICAgIH0KKyAgICByZXR1cm4gdHJ1ZTsKK30KKwogSWRsQXJyYXkucHJvdG90eXBlLmFzc2Vy
dF90eXBlX2lzID0gZnVuY3Rpb24odmFsdWUsIHR5cGUpCiB7CiAgICAgaWYgKHR5cGUuaWRsVHlw
ZSBpbiB0aGlzLm1lbWJlcnMKQEAgLTMyOTcsMTYgKzMzNDksMzAgQEAgZnVuY3Rpb24gaWRsX3Rl
c3Qoc3JjcywgZGVwcywgaWRsX3NldHVwX2Z1bmMpIHsKICAgICAgICAgc3JjcyA9IChzcmNzIGlu
c3RhbmNlb2YgQXJyYXkpID8gc3JjcyA6IFtzcmNzXSB8fCBbXTsKICAgICAgICAgZGVwcyA9IChk
ZXBzIGluc3RhbmNlb2YgQXJyYXkpID8gZGVwcyA6IFtkZXBzXSB8fCBbXTsKICAgICAgICAgdmFy
IHNldHVwX2Vycm9yID0gbnVsbDsKKyAgICAgICAgY29uc3QgdmFsaWRhdGlvbklnbm9yZWQgPSBb
CisgICAgICAgICAgICAiY29uc3RydWN0b3ItbWVtYmVyIiwKKyAgICAgICAgICAgICJkaWN0LWFy
Zy1kZWZhdWx0IiwKKyAgICAgICAgICAgICJyZXF1aXJlLWV4cG9zZWQiCisgICAgICAgIF07CiAg
ICAgICAgIHJldHVybiBQcm9taXNlLmFsbCgKLSAgICAgICAgICAgIHNyY3MuY29uY2F0KGRlcHMp
Lm1hcChmdW5jdGlvbihzcGVjKSB7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIGZldGNoX3NwZWMo
c3BlYyk7Ci0gICAgICAgICAgICB9KSkKLSAgICAgICAgICAgIC50aGVuKGZ1bmN0aW9uKGlkbHMp
IHsKKyAgICAgICAgICAgIHNyY3MuY29uY2F0KGRlcHMpLm1hcChmZXRjaF9zcGVjKSkKKyAgICAg
ICAgICAgIC50aGVuKGZ1bmN0aW9uKHJlc3VsdHMpIHsKKyAgICAgICAgICAgICAgICBjb25zdCBh
c3RBcnJheSA9IHJlc3VsdHMubWFwKHJlc3VsdCA9PgorICAgICAgICAgICAgICAgICAgICBXZWJJ
REwyLnBhcnNlKHJlc3VsdC5pZGwsIHsgc291cmNlTmFtZTogcmVzdWx0LnNwZWMgfSkKKyAgICAg
ICAgICAgICAgICApOworICAgICAgICAgICAgICAgIHRlc3QoKCkgPT4geworICAgICAgICAgICAg
ICAgICAgICBjb25zdCB2YWxpZGF0aW9ucyA9IFdlYklETDIudmFsaWRhdGUoYXN0QXJyYXkpCisg
ICAgICAgICAgICAgICAgICAgICAgICAuZmlsdGVyKHYgPT4gIXZhbGlkYXRpb25JZ25vcmVkLmlu
Y2x1ZGVzKHYucnVsZU5hbWUpKTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHZhbGlkYXRpb25z
Lmxlbmd0aCkgeworICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbWVzc2FnZSA9IHZhbGlk
YXRpb25zLm1hcCh2ID0+IHYubWVzc2FnZSkuam9pbigiXG5cbiIpOworICAgICAgICAgICAgICAg
ICAgICAgICAgdGhyb3cgbmV3IEVycm9yKG1lc3NhZ2UpOworICAgICAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICAgICAgfSwgImlkbF90ZXN0IHZhbGlkYXRpb24iKTsKICAgICAgICAgICAg
ICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHNyY3MubGVuZ3RoOyBpKyspIHsKLSAgICAgICAgICAg
ICAgICAgICAgaWRsX2FycmF5LmFkZF9pZGxzKGlkbHNbaV0pOworICAgICAgICAgICAgICAgICAg
ICBpZGxfYXJyYXkuaW50ZXJuYWxfYWRkX2lkbHMoYXN0QXJyYXlbaV0pOwogICAgICAgICAgICAg
ICAgIH0KICAgICAgICAgICAgICAgICBmb3IgKHZhciBpID0gc3Jjcy5sZW5ndGg7IGkgPCBzcmNz
Lmxlbmd0aCArIGRlcHMubGVuZ3RoOyBpKyspIHsKLSAgICAgICAgICAgICAgICAgICAgaWRsX2Fy
cmF5LmFkZF9kZXBlbmRlbmN5X2lkbHMoaWRsc1tpXSk7CisgICAgICAgICAgICAgICAgICAgIGlk
bF9hcnJheS5pbnRlcm5hbF9hZGRfZGVwZW5kZW5jeV9pZGxzKGFzdEFycmF5W2ldKTsKICAgICAg
ICAgICAgICAgICB9CiAgICAgICAgICAgICB9KQogICAgICAgICAgICAgLnRoZW4oZnVuY3Rpb24o
KSB7CkBAIC0zMzQxLDYgKzM0MDcsNiBAQCBmdW5jdGlvbiBmZXRjaF9zcGVjKHNwZWMpIHsKICAg
ICAgICAgICAgIHRocm93IG5ldyBJZGxIYXJuZXNzRXJyb3IoIkVycm9yIGZldGNoaW5nICIgKyB1
cmwgKyAiLiIpOwogICAgICAgICB9CiAgICAgICAgIHJldHVybiByLnRleHQoKTsKLSAgICB9KTsK
KyAgICB9KS50aGVuKGlkbCA9PiAoeyBzcGVjLCBpZGwgfSkpOwogfQogLy8gdmltOiBzZXQgZXhw
YW5kdGFiIHNoaWZ0d2lkdGg9NCB0YWJzdG9wPTQgZm9sZG1hcmtlcj1AeyxAfSBmb2xkbWV0aG9k
PW1hcmtlcjoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3JlYWRtZS5tZCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3JlYWRtZS5tZAppbmRleCA4NTgzZDVmOGQ1YjQ0
OWI4MmQzMTFlMGU0N2I2ZTgxMjZjZTE2ZGQ1Li4wOWE2MmZiZDdiZmQ3YzU4ZDNkZWQwMTE1YmQw
ZWUxZWZiMDRmOGM1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy9yZWFkbWUubWQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvcmVhZG1lLm1kCkBAIC0xLDIyICsx
LDE0IEBACi0jIyBJbnRyb2R1Y3Rpb24gIyMKKyMgUmVzb3VyY2VzCiAKLXRlc3RoYXJuZXNzLmpz
IHByb3ZpZGVzIGEgZnJhbWV3b3JrIGZvciB3cml0aW5nIGxvdy1sZXZlbCB0ZXN0cyBvZgotYnJv
d3NlciBmdW5jdGlvbmFsaXR5IGluIGphdmFzY3JpcHQuIEl0IHByb3ZpZGVzIGEgY29udmVuaWVu
dCBBUEkgZm9yCi1tYWtpbmcgYXNzZXJ0aW9ucyBhbmQgaXMgaW50ZW5kZWQgdG8gd29yayBmb3Ig
Ym90aCBzaW1wbGUgc3luY2hyb25vdXMKLXRlc3RzIGFuZCBmb3IgdGVzdHMgb2YgYXN5bmNocm9u
b3VzIGJlaGF2aW91ci4KLQotIyMgR2V0dGluZyBTdGFydGVkICMjCi0KLVRvIHVzZSB0ZXN0aGFy
bmVzcy5qcyB5b3UgbXVzdCBpbmNsdWRlIHR3byBzY3JpcHRzLCBpbiB0aGUgb3JkZXIgZ2l2ZW46
CitUaGlzIGRpcmVjdG9yeSBjb250YWlucyB1dGlsaXRpZXMgaW50ZW5kZWQgZm9yIHVzZSBieSB0
ZXN0cyBhbmQgbWFpbnRhaW5lZCBhcyBwcm9qZWN0IGluZnJhc3RydWN0dXJlLgorSXQgZG9lcyBu
b3QgY29udGFpbiB0ZXN0cy4KIAotYGBgIGh0bWwKLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLWBgYAorIyMgYHRlc3RoYXJuZXNzLmpzYAogCi0jIyBG
dWxsIGRvY3VtZW50YXRpb24gIyMKLQotRnVsbCB1c2VyIGRvY3VtZW50YXRpb24gZm9yIHRoZSBB
UEkgaXMgYXQgW2h0dHA6Ly93ZWItcGxhdGZvcm0tdGVzdHMub3JnL3dyaXRpbmctdGVzdHMvdGVz
dGhhcm5lc3MtYXBpLmh0bWxdKGh0dHA6Ly93ZWItcGxhdGZvcm0tdGVzdHMub3JnL3dyaXRpbmct
dGVzdHMvdGVzdGhhcm5lc3MtYXBpLmh0bWwpLgorYHRlc3RoYXJuZXNzLmpzYCBpcyBhIGZyYW1l
d29yayBmb3Igd3JpdGluZyBsb3ctbGV2ZWwgdGVzdHMgb2YKK2Jyb3dzZXIgZnVuY3Rpb25hbGl0
eSBpbiBqYXZhc2NyaXB0LiBJdCBwcm92aWRlcyBhIGNvbnZlbmllbnQgQVBJIGZvcgorbWFraW5n
IGFzc2VydGlvbnMgYW5kIGlzIGludGVuZGVkIHRvIHdvcmsgZm9yIGJvdGggc2ltcGxlIHN5bmNo
cm9ub3VzCit0ZXN0cywgYW5kIHRlc3RzIG9mIGFzeW5jaHJvbm91cyBiZWhhdmlvdXIuCiAKLVlv
dSBjYW4gYWxzbyByZWFkIGEgdHV0b3JpYWwgb24gCi1bVXNpbmcgdGVzdGhhcm5lc3MuanNdKGh0
dHA6Ly9kYXJvYmluLmdpdGh1Yi5jb20vdGVzdC1oYXJuZXNzLXR1dG9yaWFsL2RvY3MvdXNpbmct
dGVzdGhhcm5lc3MuaHRtbCkuCitDb21wbGV0ZSBkb2N1bWVudGF0aW9uIGlzIGF2YWlsYWJsZSBp
biB0aGUgYGRvY3MvYCBkaXJlY3Rvcnkgb2YgdGhpcyByZXBvc2l0b3J5CithbmQgb24gdGhlIHdl
YiBhdCBodHRwczovL3dlYi1wbGF0Zm9ybS10ZXN0cy5vcmcvd3JpdGluZy10ZXN0cy8uCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy9zcmloYXJuZXNzLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvc3JpaGFybmVzcy5qcwppbmRleCA5ZDdmYTc2YTdkNjVmNjNjZThh
Mzg0NDkyMDM4OGZmYjM5YjgzYmMzLi5mMGQyODRlNTdiOTQxMWQ5YzYwNTYwODBiYTg3NDllOGY1
NjcxYjM5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy9zcmloYXJuZXNzLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3NyaWhhcm5lc3MuanMKQEAgLTMyLDYg
KzMyLDEwNSBAQCBTUklTY3JpcHRUZXN0LnByb3RvdHlwZS5leGVjdXRlID0gZnVuY3Rpb24oKSB7
CiAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChlKTsKIH07CiAKK2Z1bmN0aW9uIHNldF9l
eHRyYV9hdHRyaWJ1dGVzKGVsZW1lbnQsIGF0dHJzKSB7CisgIC8vIEFwcGx5IHRoZSByZXN0IG9m
IHRoZSBhdHRyaWJ1dGVzLCBpZiBhbnkuCisgIGZvciAoY29uc3QgW2F0dHJfbmFtZSwgYXR0cl92
YWxdIG9mIE9iamVjdC5lbnRyaWVzKGF0dHJzKSkgeworICAgIGVsZW1lbnRbYXR0cl9uYW1lXSA9
IGF0dHJfdmFsOworICB9Cit9CisKK2Z1bmN0aW9uIGJ1aWxkRWxlbWVudEZyb21EZXN0aW5hdGlv
bihyZXNvdXJjZV91cmwsIGRlc3RpbmF0aW9uLCBhdHRycykgeworICAvLyBBc3NlcnQ6IHxkZXN0
aW5hdGlvbnwgaXMgYSB2YWxpZCBkZXN0aW5hdGlvbi4KKyAgbGV0IGVsZW1lbnQ7CisKKyAgLy8g
VGhlIGJlbG93IHN3aXRjaCBpcyByZXNwb25zaWJsZSBmb3I6CisgIC8vICAgMS4gQ3JlYXRpbmcg
dGhlIGNvcnJlY3Qgc3VicmVzb3VyY2UgZWxlbWVudAorICAvLyAgIDIuIFNldHRpbmcgc2FpZCBl
bGVtZW50J3MgaHJlZiwgc3JjLCBvciBmZXRjaC1pbnN0aWdhdGluZyBwcm9wZXJ0eQorICAvLyAg
ICAgIGFwcHJvcHJpYXRlbHkuCisgIHN3aXRjaCAoZGVzdGluYXRpb24pIHsKKyAgICBjYXNlICJz
Y3JpcHQiOgorICAgICAgZWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoZGVzdGluYXRp
b24pOworICAgICAgc2V0X2V4dHJhX2F0dHJpYnV0ZXMoZWxlbWVudCwgYXR0cnMpOworICAgICAg
ZWxlbWVudC5zcmMgPSByZXNvdXJjZV91cmw7CisgICAgICBicmVhazsKKyAgICBjYXNlICJzdHls
ZSI6CisgICAgICBlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnbGluaycpOworICAg
ICAgc2V0X2V4dHJhX2F0dHJpYnV0ZXMoZWxlbWVudCwgYXR0cnMpOworICAgICAgZWxlbWVudC5y
ZWwgPSAnc3R5bGVzaGVldCc7CisgICAgICBlbGVtZW50LmhyZWYgPSByZXNvdXJjZV91cmw7Cisg
ICAgICBicmVhazsKKyAgICBjYXNlICJpbWFnZSI6CisgICAgICBlbGVtZW50ID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgnaW1nJyk7CisgICAgICBzZXRfZXh0cmFfYXR0cmlidXRlcyhlbGVtZW50
LCBhdHRycyk7CisgICAgICBlbGVtZW50LnNyYyA9IHJlc291cmNlX3VybDsKKyAgICAgIGJyZWFr
OworICAgIGRlZmF1bHQ6CisgICAgICBhc3NlcnRfdW5yZWFjaGVkKCJJTlZBTElEIERFU1RJTkFU
SU9OIik7CisgIH0KKworICByZXR1cm4gZWxlbWVudDsKK30KKworY29uc3QgU1JJUHJlbG9hZFRl
c3QgPSAocHJlbG9hZF9zcmlfc3VjY2Vzcywgc3VicmVzb3VyY2Vfc3JpX3N1Y2Nlc3MsIG5hbWUs
CisgICAgICAgICAgICAgICAgICAgICAgICBkZXN0aW5hdGlvbiwgcmVzb3VyY2VfdXJsLCBsaW5r
X2F0dHJzLAorICAgICAgICAgICAgICAgICAgICAgICAgc3VicmVzb3VyY2VfYXR0cnMpID0+IHsK
KyAgY29uc3QgdGVzdCA9IGFzeW5jX3Rlc3QobmFtZSk7CisgIGNvbnN0IGxpbmsgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCdsaW5rJyk7CisKKyAgLy8gRWFybHktZmFpbCBpbiBVQXMgdGhhdCBk
byBub3Qgc3VwcG9ydCBgcHJlbG9hZGAgbGlua3MuCisgIHRlc3Quc3RlcF9mdW5jKCgpID0+IHsK
KyAgICBhc3NlcnRfdHJ1ZShsaW5rLnJlbExpc3Quc3VwcG9ydHMoJ3ByZWxvYWQnKSwKKyAgICAg
ICJUaGlzIHRlc3QgaXMgYXV0b21hdGljYWxseSBmYWlsaW5nIGJlY2F1c2UgdGhlIGJyb3dzZXIg
ZG9lcyBub3QiICsKKyAgICAgICJzdXBwb3J0IGBwcmVsb2FkYCBsaW5rcy4iKTsKKyAgfSkoKTsK
KworICAvLyBCdWlsZCB1cCB0aGUgbGluay4KKyAgbGluay5yZWwgPSAncHJlbG9hZCc7CisgIGxp
bmsuYXMgPSBkZXN0aW5hdGlvbjsKKyAgbGluay5ocmVmID0gcmVzb3VyY2VfdXJsOworICBmb3Ig
KGNvbnN0IFthdHRyX25hbWUsIGF0dHJfdmFsXSBvZiBPYmplY3QuZW50cmllcyhsaW5rX2F0dHJz
KSkgeworICAgIGxpbmtbYXR0cl9uYW1lXSA9IGF0dHJfdmFsOyAvLyBUaGlzIG1heSBvdmVycmlk
ZSBgcmVsYCB0byBtb2R1bGVwcmVsb2FkLgorICB9CisKKyAgLy8gUHJlbG9hZCArIHN1YnJlc291
cmNlIHN1Y2Nlc3MgYW5kIGZhaWx1cmUgbG9hZGluZyBmdW5jdGlvbnMuCisgIGNvbnN0IHZhbGlk
X3ByZWxvYWRfZmFpbGVkID0gdGVzdC5zdGVwX2Z1bmMoKCkgPT4KKyAgICB7IGFzc2VydF91bnJl
YWNoZWQoIlZhbGlkIHByZWxvYWQgZmlyZWQgZXJyb3IgaGFuZGxlci4iKSB9KTsKKyAgY29uc3Qg
aW52YWxpZF9wcmVsb2FkX3N1Y2NlZWRlZCA9IHRlc3Quc3RlcF9mdW5jKCgpID0+CisgICAgeyBh
c3NlcnRfdW5yZWFjaGVkKCJJbnZhbGlkIHByZWxvYWQgbG9hZCBzdWNjZWVkZWQuIikgfSk7Cisg
IGNvbnN0IHZhbGlkX3N1YnJlc291cmNlX2ZhaWxlZCA9IHRlc3Quc3RlcF9mdW5jKCgpID0+Cisg
ICAgeyBhc3NlcnRfdW5yZWFjaGVkKCJWYWxpZCBzdWJyZXNvdXJjZSBmaXJlZCBlcnJvciBoYW5k
bGVyLiIpIH0pOworICBjb25zdCBpbnZhbGlkX3N1YnJlc291cmNlX3N1Y2NlZWRlZCA9IHRlc3Qu
c3RlcF9mdW5jKCgpID0+CisgICAgeyBhc3NlcnRfdW5yZWFjaGVkKCJJbnZhbGlkIHN1YnJlc291
cmNlIGxvYWQgc3VjY2VlZGVkLiIpIH0pOworICBjb25zdCBzdWJyZXNvdXJjZV9wYXNzID0gdGVz
dC5zdGVwX2Z1bmMoKCkgPT4geyB0ZXN0LmRvbmUoKTsgfSk7CisgIGNvbnN0IHByZWxvYWRfcGFz
cyA9IHRlc3Quc3RlcF9mdW5jKCgpID0+IHsKKyAgICBjb25zdCBzdWJyZXNvdXJjZV9lbGVtZW50
ID0gYnVpbGRFbGVtZW50RnJvbURlc3RpbmF0aW9uKAorICAgICAgcmVzb3VyY2VfdXJsLAorICAg
ICAgZGVzdGluYXRpb24sCisgICAgICBzdWJyZXNvdXJjZV9hdHRycworICAgICk7CisKKyAgICBp
ZiAoc3VicmVzb3VyY2Vfc3JpX3N1Y2Nlc3MpIHsKKyAgICAgIHN1YnJlc291cmNlX2VsZW1lbnQu
b25sb2FkID0gc3VicmVzb3VyY2VfcGFzczsKKyAgICAgIHN1YnJlc291cmNlX2VsZW1lbnQub25l
cnJvciA9IHZhbGlkX3N1YnJlc291cmNlX2ZhaWxlZDsKKyAgICB9IGVsc2UgeworICAgICAgc3Vi
cmVzb3VyY2VfZWxlbWVudC5vbmxvYWQgPSBpbnZhbGlkX3N1YnJlc291cmNlX3N1Y2NlZWRlZDsK
KyAgICAgIHN1YnJlc291cmNlX2VsZW1lbnQub25lcnJvciA9IHN1YnJlc291cmNlX3Bhc3M7Cisg
ICAgfQorCisgICAgZG9jdW1lbnQuYm9keS5hcHBlbmQoc3VicmVzb3VyY2VfZWxlbWVudCk7Cisg
IH0pOworCisgIGlmIChwcmVsb2FkX3NyaV9zdWNjZXNzKSB7CisgICAgbGluay5vbmxvYWQgPSBw
cmVsb2FkX3Bhc3M7CisgICAgbGluay5vbmVycm9yID0gdmFsaWRfcHJlbG9hZF9mYWlsZWQ7Cisg
IH0gZWxzZSB7CisgICAgbGluay5vbmxvYWQgPSBpbnZhbGlkX3ByZWxvYWRfc3VjY2VlZGVkOwor
ICAgIGxpbmsub25lcnJvciA9IHByZWxvYWRfcGFzczsKKyAgfQorCisgIGRvY3VtZW50LmhlYWQu
YXBwZW5kKGxpbmspOworfQorCiAvLyA8bGluaz4gdGVzdHMKIC8vIFN0eWxlIHRlc3RzIG11c3Qg
YmUgZG9uZSBzeW5jaHJvbm91c2x5IGJlY2F1c2UgdGhleSByZWx5IG9uIHRoZSBwcmVzZW5jZQog
Ly8gYW5kIGFic2VuY2Ugb2YgZ2xvYmFsIHN0eWxlLCB3aGljaCBjYW4gYWZmZWN0IGxhdGVyIHRl
c3RzLiBUaHVzLCBpbnN0ZWFkCkBAIC02Myw2ICsxNjIsOCBAQCBTUklTdHlsZVRlc3QucHJvdG90
eXBlLmV4ZWN1dGUgPSBmdW5jdGlvbigpIHsKICAgICB2YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgiZGl2Iik7CiAgICAgZGl2LmNsYXNzTmFtZSA9ICJ0ZXN0ZGl2IjsKICAgICB2YXIg
ZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImxpbmsiKTsKKworICAgIC8vIFRoZSBsaW5rIHJl
bGF0aW9uIGlzIGd1YXJhbnRlZWQgdG8gbm90IGJlICJwcmVsb2FkIiBvciAibW9kdWxlcHJlbG9h
ZCIuCiAgICAgdGhpcy5hdHRycy5yZWwgPSB0aGlzLmF0dHJzLnJlbCB8fCAic3R5bGVzaGVldCI7
CiAgICAgZm9yICh2YXIga2V5IGluIHRoaXMuYXR0cnMpIHsKICAgICAgICAgaWYgKHRoaXMuYXR0
cnMuaGFzT3duUHJvcGVydHkoa2V5KSkgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC9SRUFETUUubWQgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L1JF
QURNRS5tZApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTAxMDUxNmFkOGVlOTczOWEw
NmUzZDRmMDZjYjQwZjhhN2VkMGUxZi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy90ZXN0L1JFQURNRS5tZAorKysgL2Rldi9udWxsCkBAIC0xLDY3ICswLDAgQEAK
LSMgYHRlc3RoYXJuZXNzLmpzYCB0ZXN0IHN1aXRlCi0KLVRoZSB0ZXN0IHN1aXRlIGZvciB0aGUg
YHRlc3RoYXJuZXNzLmpzYCB0ZXN0aW5nIGZyYW1ld29yay4KLQotIyMgRXhlY3V0aW5nIFRlc3Rz
Ci0KLUluc3RhbGwgdGhlIGZvbGxvd2luZyBkZXBlbmRlbmNpZXM6Ci0KLS0gW1B5dGhvbiAyLjdd
KGh0dHBzOi8vd3d3LnB5dGhvbi5vcmcvKQotLSBbdGhlIHRveCBQeXRob24gcGFja2FnZV0oaHR0
cHM6Ly90b3gucmVhZHRoZWRvY3MuaW8vZW4vbGF0ZXN0LykKLS0gW3RoZSBNb3ppbGxhIEZpcmVm
b3ggd2ViIGJyb3dzZXJdKGh0dHBzOi8vbW96aWxsYS5vcmcvZmlyZWZveCkKLS0gW3RoZSBHZWNr
b0RyaXZlciBzZXJ2ZXJdKGh0dHBzOi8vZ2l0aHViLmNvbS9tb3ppbGxhL2dlY2tvZHJpdmVyKQot
Ci1PbmNlIHRoZXNlIGRlcGVuZGVuY2llcyBhcmUgc2F0aXNmaWVkLCB0aGUgdGVzdHMgbWF5IGJl
IHJ1biBmcm9tIGEgY29tbWFuZCBsaW5lCi1ieSBleGVjdXRpbmcgdGhlIGZvbGxvd2luZyBjb21t
YW5kIGZyb20gdGhpcyBkaXJlY3Rvcnk6Ci0KLSAgICB0b3gKLQotQ3VycmVudGx5LCB0aGUgdGVz
dHMgc2hvdWxkIGJlIHJ1biB3aXRoIEZpcmVmb3ggTmlnaHRseS4KLQotSW4gb3JkZXIgdG8gc3Bl
Y2lmeSB0aGUgcGF0aCB0byBGaXJlZm94IE5pZ2h0bHksIHVzZSB0aGUgZm9sbG93aW5nIGNvbW1h
bmQtbGluZSBvcHRpb246Ci0KLSAgICB0b3ggLS0gLS1iaW5hcnk9L3BhdGgvdG8vRmlyZWZveE5p
Z2h0bHkKLQotIyMgQXV0aG9yaW5nIFRlc3RzCi0KLVRlc3QgY2FzZXMgYXJlIGV4cHJlc3NlZCBh
cyBgLmh0bWxgIGZpbGVzIGxvY2F0ZWQgd2l0aGluIHRoZSBgdGVzdHMvYAotc3ViLWRpcmVjdG9y
eS4gRWFjaCB0ZXN0IHNob3VsZCBpbmNsdWRlIHRoZSBgdGVzdGhhcm5lc3MuanNgIGxpYnJhcnkg
d2l0aCB0aGUKLWZvbGxvd2luZyBtYXJrdXA6Ci0KLSAgICA8c2NyaXB0IHNyYz0iLi4vLi4vdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgotICAgIDxzY3JpcHQgc3JjPSIuLi8uLi90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci0KLVRoaXMgc2hvdWxkIGJlIGZvbGxvd2VkIGJ5IG9uZSBv
ciBtb3JlIGA8c2NyaXB0PmAgdGFncyB0aGF0IGludGVyZmFjZSB3aXRoIHRoZQotYHRlc3RoYXJu
ZXNzLmpzYCBBUEkgaW4gc29tZSB3YXkuIEZvciBleGFtcGxlOgotCi0gICAgPHNjcmlwdD4KLSAg
ICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICAxID0gMTsKLSAgICAgIH0sICdUaGlzIHRlc3Qg
aXMgZXhwZWN0ZWQgdG8gZmFpbC4nKTsKLSAgICA8L3NjcmlwdD4KLQotRmluYWxseSwgZWFjaCB0
ZXN0IG1heSBpbmNsdWRlIGEgc3VtbWFyeSBvZiB0aGUgZXhwZWN0ZWQgcmVzdWx0cyBhcyBhIEpT
T04KLXN0cmluZyB3aXRoaW4gYSBgPHNjcmlwdD5gIHRhZyB3aXRoIGFuIGBpZGAgb2YgYCJleHBl
Y3RlZCJgLCBlLmcuOgotCi0gICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2pzb24iIGlkPSJleHBlY3Rl
ZCI+Ci0gICAgewotICAgICAgInN1bW1hcml6ZWRfc3RhdHVzIjogewotICAgICAgICAibWVzc2Fn
ZSI6IG51bGwsCi0gICAgICAgICJzdGFjayI6IG51bGwsCi0gICAgICAgICJzdGF0dXNfc3RyaW5n
IjogIk9LIgotICAgICAgfSwKLSAgICAgICJzdW1tYXJpemVkX3Rlc3RzIjogWwotICAgICAgICB7
Ci0gICAgICAgICAgIm1lc3NhZ2UiOiAiUmVmZXJlbmNlRXJyb3I6IGludmFsaWQgYXNzaWdubWVu
dCBsZWZ0LWhhbmQgc2lkZSIsCi0gICAgICAgICAgIm5hbWUiOiAiU2FtcGxlIEhUTUw1IEFQSSBU
ZXN0cyIsCi0gICAgICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICAgICAic3RhY2siOiAi
KGltcGxlbWVudGF0aW9uLWRlZmluZWQpIiwKLSAgICAgICAgICAic3RhdHVzX3N0cmluZyI6ICJG
QUlMIgotICAgICAgICB9Ci0gICAgICBdLAotICAgICAgInR5cGUiOiAiY29tcGxldGUiCi0gICAg
fQotICAgIDwvc2NyaXB0PgotCi1UaGlzIGlzIHVzZWZ1bCB0byB0ZXN0LCBmb3IgZXhhbXBsZSwg
d2hldGhlciBhc3NlcmF0aW9ucyB0aGF0IHNob3VsZCBmYWlsIG9yCi10aHJvdyBhY3R1YWxseSBk
by4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L2NvbmZpZy50ZXN0
Lmpzb24gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy90ZXN0L2NvbmZpZy50ZXN0Lmpzb24KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IGRmNjY0ZmFmNDRiYWQwNjk2NDY0ZDJhZDM5N2QxMjM1NzYwNjNmZjYuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC9jb25maWcudGVzdC5qc29uCisrKyAv
ZGV2L251bGwKQEAgLTEsMjcgKzAsMCBAQAoteyJob3N0IjogIndlYi1wbGF0Zm9ybS50ZXN0IiwK
LSAiZG9jX3Jvb3QiOiBudWxsLAotICJ3c19kb2Nfcm9vdCI6IG51bGwsCi0gImV4dGVybmFsX2hv
c3QiOiBudWxsLAotICJwb3J0cyI6eyJodHRwIjpbODAwMCwgImF1dG8iXSwKLSAgICAgICAgICAi
aHR0cHMiOls5MDAzXSwKLSAgICAgICAgICAid3MiOlsiYXV0byJdLAotICAgICAgICAgICJ3c3Mi
OlsiYXV0byJdfSwKLSAiY2hlY2tfc3ViZG9tYWlucyI6IHRydWUsCi0gImxvZ19sZXZlbCI6ImRl
YnVnIiwKLSAiYmluZF9ob3N0bmFtZSI6IHRydWUsCi0gInNzbCI6IHsidHlwZSI6ICJvcGVuc3Ns
IiwKLSAgICAgICAgICJlbmNyeXB0X2FmdGVyX2Nvbm5lY3QiOiBmYWxzZSwKLSAgICAgICAgICJv
cGVuc3NsIjogewotICAgICAgICAgICAgICJvcGVuc3NsX2JpbmFyeSI6ICJvcGVuc3NsIiwKLSAg
ICAgICAgICAgICAiYmFzZV9wYXRoIjogIl9jZXJ0cyIsCi0gICAgICAgICAgICAgImZvcmNlX3Jl
Z2VuZXJhdGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAiYmFzZV9jb25mX3BhdGgiOiBudWxsCi0g
ICAgICAgICB9LAotICAgICAgICAgInByZWdlbmVyYXRlZCI6IHsKLSAgICAgICAgICAgICAiaG9z
dF9rZXlfcGF0aCI6IG51bGwsCi0gICAgICAgICAgICAgImhvc3RfY2VydF9wYXRoIjogbnVsbAot
ICAgICAgICAgfSwKLSAgICAgICAgICJub25lIjoge30KLSAgICAgICAgfSwKLSAiYWxpYXNlcyI6
IFtdCi19CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy90ZXN0L2NvbmZ0ZXN0LnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC9jb25mdGVzdC5weQpkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDQ3Y2ExY2FlZDI3Yzc0M2FkYzNlOWU1NmE2NWE3YjEz
MGI4ZTM5Yy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0
L2NvbmZ0ZXN0LnB5CisrKyAvZGV2L251bGwKQEAgLTEsMTM3ICswLDAgQEAKLWltcG9ydCBpbwot
aW1wb3J0IGpzb24KLWltcG9ydCBvcwotCi1pbXBvcnQgaHRtbDVsaWIKLWltcG9ydCBweXRlc3QK
LWZyb20gc2VsZW5pdW0gaW1wb3J0IHdlYmRyaXZlcgotCi1mcm9tIHdwdHNlcnZlciBpbXBvcnQg
V1BUU2VydmVyCi0KLUVOQyA9ICd1dGY4JwotSEVSRSA9IG9zLnBhdGguZGlybmFtZShvcy5wYXRo
LmFic3BhdGgoX19maWxlX18pKQotV1BUX1JPT1QgPSBvcy5wYXRoLm5vcm1wYXRoKG9zLnBhdGgu
am9pbihIRVJFLCAnLi4nLCAnLi4nKSkKLUhBUk5FU1MgPSBvcy5wYXRoLmpvaW4oSEVSRSwgJ2hh
cm5lc3MuaHRtbCcpCi0KLWRlZiBweXRlc3RfYWRkb3B0aW9uKHBhcnNlcik6Ci0gICAgcGFyc2Vy
LmFkZG9wdGlvbigiLS1iaW5hcnkiLCBhY3Rpb249InN0b3JlIiwgZGVmYXVsdD1Ob25lLCBoZWxw
PSJwYXRoIHRvIGJyb3dzZXIgYmluYXJ5IikKLQotZGVmIHB5dGVzdF9jb2xsZWN0X2ZpbGUocGF0
aCwgcGFyZW50KToKLSAgICBpZiBwYXRoLmV4dC5sb3dlcigpID09ICcuaHRtbCc6Ci0gICAgICAg
IHJldHVybiBIVE1MSXRlbShzdHIocGF0aCksIHBhcmVudCkKLQotZGVmIHB5dGVzdF9jb25maWd1
cmUoY29uZmlnKToKLSAgICBjb25maWcuZHJpdmVyID0gd2ViZHJpdmVyLkZpcmVmb3goZmlyZWZv
eF9iaW5hcnk9Y29uZmlnLmdldG9wdGlvbigiLS1iaW5hcnkiKSkKLSAgICBjb25maWcuc2VydmVy
ID0gV1BUU2VydmVyKFdQVF9ST09UKQotICAgIGNvbmZpZy5zZXJ2ZXIuc3RhcnQoKQotICAgIGNv
bmZpZy5hZGRfY2xlYW51cChsYW1iZGE6IGNvbmZpZy5zZXJ2ZXIuc3RvcCgpKQotICAgIGNvbmZp
Zy5hZGRfY2xlYW51cChsYW1iZGE6IGNvbmZpZy5kcml2ZXIucXVpdCgpKQotCi1jbGFzcyBIVE1M
SXRlbShweXRlc3QuSXRlbSwgcHl0ZXN0LkNvbGxlY3Rvcik6Ci0gICAgZGVmIF9faW5pdF9fKHNl
bGYsIGZpbGVuYW1lLCBwYXJlbnQpOgotICAgICAgICBzZWxmLmZpbGVuYW1lID0gZmlsZW5hbWUK
LSAgICAgICAgd2l0aCBpby5vcGVuKGZpbGVuYW1lLCBlbmNvZGluZz1FTkMpIGFzIGY6Ci0gICAg
ICAgICAgICBtYXJrdXAgPSBmLnJlYWQoKQotCi0gICAgICAgIHBhcnNlZCA9IGh0bWw1bGliLnBh
cnNlKG1hcmt1cCwgbmFtZXNwYWNlSFRNTEVsZW1lbnRzPUZhbHNlKQotICAgICAgICBuYW1lID0g
Tm9uZQotICAgICAgICBzZWxmLmV4cGVjdGVkID0gTm9uZQotCi0gICAgICAgIGZvciBlbGVtZW50
IGluIHBhcnNlZC5nZXRpdGVyYXRvcigpOgotICAgICAgICAgICAgaWYgbm90IG5hbWUgYW5kIGVs
ZW1lbnQudGFnID09ICd0aXRsZSc6Ci0gICAgICAgICAgICAgICAgbmFtZSA9IGVsZW1lbnQudGV4
dAotICAgICAgICAgICAgICAgIGNvbnRpbnVlCi0gICAgICAgICAgICBpZiBlbGVtZW50LmF0dHJp
Yi5nZXQoJ2lkJykgPT0gJ2V4cGVjdGVkJzoKLSAgICAgICAgICAgICAgICBzZWxmLmV4cGVjdGVk
ID0ganNvbi5sb2Fkcyh1bmljb2RlKGVsZW1lbnQudGV4dCkpCi0gICAgICAgICAgICAgICAgY29u
dGludWUKLQotICAgICAgICBpZiBub3QgbmFtZToKLSAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJy
b3IoJ05vIG5hbWUgZm91bmQgaW4gZmlsZTogJXMnICUgZmlsZW5hbWUpCi0KLSAgICAgICAgc3Vw
ZXIoSFRNTEl0ZW0sIHNlbGYpLl9faW5pdF9fKG5hbWUsIHBhcmVudCkKLQotCi0gICAgZGVmIHJl
cG9ydGluZm8oc2VsZik6Ci0gICAgICAgIHJldHVybiBzZWxmLmZzcGF0aCwgTm9uZSwgc2VsZi5m
aWxlbmFtZQotCi0gICAgZGVmIHJlcHJfZmFpbHVyZShzZWxmLCBleGNpbmZvKToKLSAgICAgICAg
cmV0dXJuIHB5dGVzdC5Db2xsZWN0b3IucmVwcl9mYWlsdXJlKHNlbGYsIGV4Y2luZm8pCi0KLSAg
ICBkZWYgcnVudGVzdChzZWxmKToKLSAgICAgICAgZHJpdmVyID0gc2VsZi5zZXNzaW9uLmNvbmZp
Zy5kcml2ZXIKLSAgICAgICAgc2VydmVyID0gc2VsZi5zZXNzaW9uLmNvbmZpZy5zZXJ2ZXIKLQot
ICAgICAgICBkcml2ZXIuZ2V0KHNlcnZlci51cmwoSEFSTkVTUykpCi0KLSAgICAgICAgYWN0dWFs
ID0gZHJpdmVyLmV4ZWN1dGVfYXN5bmNfc2NyaXB0KCdydW5UZXN0KCIlcyIsICJmb28iLCBhcmd1
bWVudHNbMF0pJyAlIHNlcnZlci51cmwoc3RyKHNlbGYuZmlsZW5hbWUpKSkKLQotICAgICAgICAj
IFRlc3Qgb2JqZWN0IG9yZGVyaW5nIGlzIG5vdCBndWFyYW50ZWVkLiBUaGlzIHdlYWsgYXNzZXJ0
aW9uIHZlcmlmaWVzCi0gICAgICAgICMgdGhhdCB0aGUgaW5kaWNlcyBhcmUgdW5pcXVlIGFuZCBz
ZXF1ZW50aWFsCi0gICAgICAgIGluZGljZXMgPSBbdGVzdF9vYmouZ2V0KCdpbmRleCcpIGZvciB0
ZXN0X29iaiBpbiBhY3R1YWxbJ3Rlc3RzJ11dCi0gICAgICAgIHNlbGYuX2Fzc2VydF9zZXF1ZW5j
ZShpbmRpY2VzKQotCi0gICAgICAgIHN1bW1hcml6ZWQgPSB7fQotICAgICAgICBzdW1tYXJpemVk
W3Unc3VtbWFyaXplZF9zdGF0dXMnXSA9IHNlbGYuX3N1bW1hcml6ZV9zdGF0dXMoYWN0dWFsWydz
dGF0dXMnXSkKLSAgICAgICAgc3VtbWFyaXplZFt1J3N1bW1hcml6ZWRfdGVzdHMnXSA9IFsKLSAg
ICAgICAgICAgIHNlbGYuX3N1bW1hcml6ZV90ZXN0KHRlc3QpIGZvciB0ZXN0IGluIGFjdHVhbFsn
dGVzdHMnXV0KLSAgICAgICAgc3VtbWFyaXplZFt1J3N1bW1hcml6ZWRfdGVzdHMnXS5zb3J0KGtl
eT1sYW1iZGEgdGVzdF9vYmo6IHRlc3Rfb2JqLmdldCgnbmFtZScpKQotICAgICAgICBzdW1tYXJp
emVkW3UndHlwZSddID0gYWN0dWFsWyd0eXBlJ10KLQotICAgICAgICBpZiBub3Qgc2VsZi5leHBl
Y3RlZDoKLSAgICAgICAgICAgIGFzc2VydCBzdW1tYXJpemVkW3Unc3VtbWFyaXplZF9zdGF0dXMn
XVt1J3N0YXR1c19zdHJpbmcnXSA9PSB1J09LJywgc3VtbWFyaXplZFt1J3N1bW1hcml6ZWRfc3Rh
dHVzJ11bdSdtZXNzYWdlJ10KLSAgICAgICAgICAgIGZvciB0ZXN0IGluIHN1bW1hcml6ZWRbdSdz
dW1tYXJpemVkX3Rlc3RzJ106Ci0gICAgICAgICAgICAgICAgbXNnID0gIiVzXG4lczpcbiVzIiAl
ICh0ZXN0W3UnbmFtZSddLCB0ZXN0W3UnbWVzc2FnZSddLCB0ZXN0W3Unc3RhY2snXSkKLSAgICAg
ICAgICAgICAgICBhc3NlcnQgdGVzdFt1J3N0YXR1c19zdHJpbmcnXSA9PSB1J1BBU1MnLCBtc2cK
LSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIGFzc2VydCBzdW1tYXJpemVkID09IHNlbGYuZXhw
ZWN0ZWQKLQotICAgIEBzdGF0aWNtZXRob2QKLSAgICBkZWYgX2Fzc2VydF9zZXF1ZW5jZShudW1z
KToKLSAgICAgICAgYXNzZXJ0IG51bXMgPT0gcmFuZ2UoMSwgbnVtc1stMV0gKyAxKQotCi0gICAg
QHN0YXRpY21ldGhvZAotICAgIGRlZiBfc2NydWJfc3RhY2sodGVzdF9vYmopOgotICAgICAgICBj
b3B5ID0gZGljdCh0ZXN0X29iaikKLQotICAgICAgICBhc3NlcnQgJ3N0YWNrJyBpbiBjb3B5Ci0K
LSAgICAgICAgaWYgY29weVsnc3RhY2snXSBpcyBub3QgTm9uZToKLSAgICAgICAgICAgIGNvcHlb
J3N0YWNrJ10gPSB1JyhpbXBsZW1lbnRhdGlvbi1kZWZpbmVkKScKLQotICAgICAgICByZXR1cm4g
Y29weQotCi0gICAgQHN0YXRpY21ldGhvZAotICAgIGRlZiBfZXhwYW5kX3N0YXR1cyhzdGF0dXNf
b2JqKToKLSAgICAgICAgZm9yIGtleSwgdmFsdWUgaW4gW2l0ZW0gZm9yIGl0ZW0gaW4gc3RhdHVz
X29iai5pdGVtcygpXToKLSAgICAgICAgICAgICMgSW4gInN0YXR1cyIgYW5kICJ0ZXN0IiBvYmpl
Y3RzLCB0aGUgInN0YXR1cyIgdmFsdWUgZW51bQotICAgICAgICAgICAgIyBkZWZpbml0aW9ucyBh
cmUgaW50ZXJzcGVyc2VkIHdpdGggcHJvcGVydGllcyBmb3IgdW5yZWxhdGVkCi0gICAgICAgICAg
ICAjIG1ldGFkYXRhLiBUaGUgZm9sbG93aW5nIGNvbmRpdGlvbiBpcyBhIGJlc3QtZWZmb3J0IGF0
dGVtcHQgdG8KLSAgICAgICAgICAgICMgaWdub3JlIG5vbi1lbnVtIHByb3BlcnRpZXMuCi0gICAg
ICAgICAgICBpZiBrZXkgIT0ga2V5LnVwcGVyKCkgb3Igbm90IGlzaW5zdGFuY2UodmFsdWUsIGlu
dCk6Ci0gICAgICAgICAgICAgICAgY29udGludWUKLQotICAgICAgICAgICAgZGVsIHN0YXR1c19v
Ympba2V5XQotCi0gICAgICAgICAgICBpZiBzdGF0dXNfb2JqWydzdGF0dXMnXSA9PSB2YWx1ZToK
LSAgICAgICAgICAgICAgICBzdGF0dXNfb2JqW3Unc3RhdHVzX3N0cmluZyddID0ga2V5Ci0KLSAg
ICAgICAgZGVsIHN0YXR1c19vYmpbJ3N0YXR1cyddCi0KLSAgICAgICAgcmV0dXJuIHN0YXR1c19v
YmoKLQotICAgIEBzdGF0aWNtZXRob2QKLSAgICBkZWYgX3N1bW1hcml6ZV90ZXN0KHRlc3Rfb2Jq
KToKLSAgICAgICAgZGVsIHRlc3Rfb2JqWydpbmRleCddCi0KLSAgICAgICAgYXNzZXJ0ICdwaGFz
ZScgaW4gdGVzdF9vYmoKLSAgICAgICAgYXNzZXJ0ICdwaGFzZXMnIGluIHRlc3Rfb2JqCi0gICAg
ICAgIGFzc2VydCAnQ09NUExFVEUnIGluIHRlc3Rfb2JqWydwaGFzZXMnXQotICAgICAgICBhc3Nl
cnQgdGVzdF9vYmpbJ3BoYXNlJ10gPT0gdGVzdF9vYmpbJ3BoYXNlcyddWydDT01QTEVURSddCi0g
ICAgICAgIGRlbCB0ZXN0X29ialsncGhhc2VzJ10KLSAgICAgICAgZGVsIHRlc3Rfb2JqWydwaGFz
ZSddCi0KLSAgICAgICAgcmV0dXJuIEhUTUxJdGVtLl9leHBhbmRfc3RhdHVzKEhUTUxJdGVtLl9z
Y3J1Yl9zdGFjayh0ZXN0X29iaikpCi0KLSAgICBAc3RhdGljbWV0aG9kCi0gICAgZGVmIF9zdW1t
YXJpemVfc3RhdHVzKHN0YXR1c19vYmopOgotICAgICAgICByZXR1cm4gSFRNTEl0ZW0uX2V4cGFu
ZF9zdGF0dXMoSFRNTEl0ZW0uX3NjcnViX3N0YWNrKHN0YXR1c19vYmopKQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVz
dC9oYXJuZXNzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy90ZXN0L2hhcm5lc3MuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggNWVlMGYyODVlODNiYzdjMTEwZGI2MWQzNTU0ZjJmMTg2YzIwNGVkZi4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L2hhcm5lc3MuaHRtbAorKysg
L2Rldi9udWxsCkBAIC0xLDI2ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci0gIDxo
ZWFkPgotICAgIDxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9o
dG1sOyBjaGFyc2V0PXV0Zi04Ij4KLSAgPC9oZWFkPgotICA8Ym9keT4KLSAgICA8c2NyaXB0Pgot
ZnVuY3Rpb24gcnVuVGVzdCh1cmwsIGlkLCBkb25lKSB7Ci0gIHZhciBjaGlsZDsKLQotICBmdW5j
dGlvbiBvbk1lc3NhZ2UoZXZlbnQpIHsKLSAgICBpZiAoIWV2ZW50LmRhdGEgfHwgZXZlbnQuZGF0
YS50eXBlICE9PSAnY29tcGxldGUnKSB7Ci0gICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgd2lu
ZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21lc3NhZ2UnLCBvbk1lc3NhZ2UpOwotICAgIGNoaWxk
LmNsb3NlKCk7Ci0gICAgZG9uZShldmVudC5kYXRhKTsKLSAgfQotICB3aW5kb3cuYWRkRXZlbnRM
aXN0ZW5lcignbWVzc2FnZScsIG9uTWVzc2FnZSk7Ci0KLSAgd2luZG93LmNoaWxkID0gY2hpbGQg
PSB3aW5kb3cub3Blbih1cmwsIGlkKTsKLX0KLSAgICA8L3NjcmlwdD4KLSAgPC9ib2R5PgotPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9hZGRfY2xlYW51cC5odG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9hZGRf
Y2xlYW51cC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkNDdlN2ZmMjRiNzc0
NTAyNWUzNDZhM2Y0NjRkMmE0ZjRmMTgxMDE4Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvYWRkX2NsZWFudXAuaHRtbAorKysgL2Rldi9udWxs
CkBAIC0xLDk2ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLTx0aXRs
ZT5UZXN0I2FkZF9jbGVhbnVwPC90aXRsZT4KLTxzY3JpcHQgc3JjPSIuLi8uLi90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08ZGl2IGlkPSJsb2ciPjwvZGl2PgotPHNjcmlw
dD4KLSJ1c2Ugc3RyaWN0IjsKLQotdmFyIGxvZ19zeW5jOwotdGVzdChmdW5jdGlvbih0KSB7Ci0g
IGxvZ19zeW5jID0gIiI7Ci0gIHQuYWRkX2NsZWFudXAoZnVuY3Rpb24oKSB7IGxvZ19zeW5jICs9
ICIxIjsgfSk7Ci0gIHQuYWRkX2NsZWFudXAoZnVuY3Rpb24oKSB7IGxvZ19zeW5jICs9ICIyIjsg
fSk7Ci0gIHQuYWRkX2NsZWFudXAoZnVuY3Rpb24oKSB7IGxvZ19zeW5jICs9ICIzIjsgfSk7Ci0g
IHQuYWRkX2NsZWFudXAoZnVuY3Rpb24oKSB7IGxvZ19zeW5jICs9ICI0IjsgfSk7Ci0gIHQuYWRk
X2NsZWFudXAoZnVuY3Rpb24oKSB7IGxvZ19zeW5jICs9ICI1IjsgfSk7Ci0gIGxvZ19zeW5jICs9
ICIwIjsKLX0sICJwcm9iZSBzeW5jaHJvbm91cyIpOwotCi10ZXN0KGZ1bmN0aW9uKCkgewotICBp
ZiAobG9nX3N5bmMgIT09ICIwMTIzNDUiKSB7Ci0gICAgdGhyb3cgbmV3IEVycm9yKCJFeHBlY3Rl
ZDogJzAxMjM0NScuIEFjdHVhbDogJyIgKyBsb2dfc3luYyArICInLiIpOwotICB9Ci19LCAiQ2xl
YW51cCBtZXRob2RzIGFyZSBpbnZva2VkIGV4YWN0bHkgb25jZSBhbmQgaW4gdGhlIGV4cGVjdGVk
IHNlcXVlbmNlLiIpOwotCi12YXIgY29tcGxldGUsIGxvZ19hc3luYzsKLWFzeW5jX3Rlc3QoZnVu
Y3Rpb24odCkgewotICBjb21wbGV0ZSA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKCkgewotICAgIGlm
IChsb2dfYXN5bmMgIT09ICIwMTIiKSB7Ci0gICAgICB0aHJvdyBuZXcgRXJyb3IoIkV4cGVjdGVk
OiAnMDEyJy4gQWN0dWFsOiAnIiArIGxvZ19hc3luYyArICInLiIpOwotICAgIH0KLQotICAgIHQu
ZG9uZSgpOwotICB9KTsKLX0sICJDbGVhbnVwIG1ldGhvZHMgYXJlIGludm9rZWQgZm9sbG93aW5n
IHRoZSBjb21wbGV0aW9uIG9mIGFzeW5jaHJvbm91cyB0ZXN0cyIpOwotCi1hc3luY190ZXN0KGZ1
bmN0aW9uKHQpIHsKLSAgbG9nX2FzeW5jID0gIiI7Ci0gIHQuYWRkX2NsZWFudXAoZnVuY3Rpb24o
KSB7IGxvZ19hc3luYyArPSAiMSI7IH0pOwotCi0gIHNldFRpbWVvdXQodC5zdGVwX2Z1bmMoZnVu
Y3Rpb24oKSB7Ci0gICAgdC5hZGRfY2xlYW51cChmdW5jdGlvbigpIHsKLSAgICAgIGxvZ19hc3lu
YyArPSAiMiI7Ci0gICAgICBjb21wbGV0ZSgpOwotICAgIH0pOwotICAgIGxvZ19hc3luYyArPSAi
MCI7Ci0gICAgdC5kb25lKCk7Ci0gIH0pLCAwKTsKLX0sICJwcm9iZSBhc3luY2hyb25vdXMiKTsK
LTwvc2NyaXB0PgotPHNjcmlwdCB0eXBlPSJ0ZXh0L2pzb24iIGlkPSJleHBlY3RlZCI+Ci17Ci0g
ICJzdW1tYXJpemVkX3N0YXR1cyI6IHsKLSAgICAic3RhdHVzX3N0cmluZyI6ICJPSyIsCi0gICAg
Im1lc3NhZ2UiOiBudWxsLAotICAgICJzdGFjayI6IG51bGwKLSAgfSwKLSAgInN1bW1hcml6ZWRf
dGVzdHMiOiBbCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAi
bmFtZSI6ICJDbGVhbnVwIG1ldGhvZHMgYXJlIGludm9rZWQgZXhhY3RseSBvbmNlIGFuZCBpbiB0
aGUgZXhwZWN0ZWQgc2VxdWVuY2UuIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAi
bWVzc2FnZSI6IG51bGwsCi0gICAgICAic3RhY2siOiBudWxsCi0gICAgfSwKLSAgICB7Ci0gICAg
ICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1lIjogIkNsZWFudXAgbWV0aG9k
cyBhcmUgaW52b2tlZCBmb2xsb3dpbmcgdGhlIGNvbXBsZXRpb24gb2YgYXN5bmNocm9ub3VzIHRl
c3RzIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6IG51bGwsCi0g
ICAgICAic3RhY2siOiBudWxsCi0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6
ICJQQVNTIiwKLSAgICAgICJuYW1lIjogInByb2JlIGFzeW5jaHJvbm91cyIsCi0gICAgICAicHJv
cGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgInN0YWNrIjogbnVs
bAotICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAi
bmFtZSI6ICJwcm9iZSBzeW5jaHJvbm91cyIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAg
ICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgInN0YWNrIjogbnVsbAotICAgIH0KLSAgXSwKLSAg
InR5cGUiOiAiY29tcGxldGUiCi19Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3Rlc3QvdGVzdHMvYWRkX2NsZWFudXBfY291bnQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvYWRkX2NsZWFu
dXBfY291bnQuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTA3OWM5Yjg3OWJi
Mzc0NGJjZTM1MTk3NGMyZDQzMDIxYzUyNGFhMy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2FkZF9jbGVhbnVwX2NvdW50Lmh0bWwKKysrIC9k
ZXYvbnVsbApAQCAtMSw0MSArMCwwIEBACi08IURPQ1RZUEUgSFRNTD4KLTxodG1sPgotPGhlYWQ+
Ci08dGl0bGU+VGVzdCNhZGRfY2xlYW51cCByZXBvcnRlZCBjb3VudDwvdGl0bGU+Ci08c2NyaXB0
IHNyYz0iLi4vLi4vdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4u
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGRpdiBp
ZD0ibG9nIj48L2Rpdj4KLQotPHNjcmlwdD4KLXByb21pc2VfdGVzdChmdW5jdGlvbih0KSB7Ci0g
ICAgdC5hZGRfY2xlYW51cChmdW5jdGlvbigpIHt9KTsKLSAgICB0LmFkZF9jbGVhbnVwKGZ1bmN0
aW9uKCkge30pOwotICAgIHQuYWRkX2NsZWFudXAoZnVuY3Rpb24oKSB7IHRocm93IG5ldyBFcnJv
cigpOyB9KTsKLSAgICBuZXcgRXZlbnRXYXRjaGVyKHQsIGRvY3VtZW50LmJvZHksIFtdKTsKLQot
ICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTsKLX0sICd0ZXN0IHdpdGggMyB1c2VyLWRlZmlu
ZWQgY2xlYW51cCBmdW5jdGlvbnMnKTsKLTwvc2NyaXB0PgotPHNjcmlwdCB0eXBlPSJ0ZXh0L2pz
b24iIGlkPSJleHBlY3RlZCI+Ci17Ci0gICJzdW1tYXJpemVkX3N0YXR1cyI6IHsKLSAgICAic3Rh
dHVzX3N0cmluZyI6ICJFUlJPUiIsCi0gICAgIm1lc3NhZ2UiOiAiVGVzdCBuYW1lZCAndGVzdCB3
aXRoIDMgdXNlci1kZWZpbmVkIGNsZWFudXAgZnVuY3Rpb25zJyBzcGVjaWZpZWQgMyAnY2xlYW51
cCcgZnVuY3Rpb25zLCBhbmQgMSBmYWlsZWQuIiwKLSAgICAic3RhY2siOiBudWxsCi0gIH0sCi0g
ICJzdW1tYXJpemVkX3Rlc3RzIjogWwotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBB
U1MiLAotICAgICAgIm5hbWUiOiAidGVzdCB3aXRoIDMgdXNlci1kZWZpbmVkIGNsZWFudXAgZnVu
Y3Rpb25zIiwKLSAgICAgICJzdGFjayI6IG51bGwsCi0gICAgICAibWVzc2FnZSI6IG51bGwsCi0g
ICAgICAicHJvcGVydGllcyI6IHt9Ci0gICAgfQotICBdLAotICAidHlwZSI6ICJjb21wbGV0ZSIK
LX0KLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9hZGRf
Y2xlYW51cF9lcnIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvYWRkX2NsZWFudXBfZXJyLmh0bWwKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY2ZWZiMDc3MzM3MzlkNTY5NjhkZGE5ODdlM2FiZmI3MDFi
MGYxOTcuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90
ZXN0cy9hZGRfY2xlYW51cF9lcnIuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDQ4ICswLDAgQEAK
LTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLTx0aXRsZT5UZXN0I2FkZF9jbGVhbnVw
OiBlcnJvcjwvdGl0bGU+Ci08c2NyaXB0IHNyYz0iLi4vLi4vdGVzdGhhcm5lc3MuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
LTwvaGVhZD4KLTxib2R5PgotPGRpdiBpZD0ibG9nIj48L2Rpdj4KLTxzY3JpcHQ+Ci0idXNlIHN0
cmljdCI7Ci0KLXRlc3QoZnVuY3Rpb24odCkgewotICB0LmFkZF9jbGVhbnVwKGZ1bmN0aW9uKCkg
ewotICAgIHRocm93IG5ldyBFcnJvcignZXhjZXB0aW9uIGluIGNsZWFudXAgZnVuY3Rpb24nKTsK
LSAgfSk7Ci19LCAiRXhjZXB0aW9uIGluIGNsZWFudXAgZnVuY3Rpb24gY2F1c2VzIGhhcm5lc3Mg
ZmFpbHVyZS4iKTsKLQotdGVzdChmdW5jdGlvbigpIHt9LCAiVGhpcyB0ZXN0IHNob3VsZCBub3Qg
YmUgcnVuLiIpOwotPC9zY3JpcHQ+Ci08c2NyaXB0IHR5cGU9InRleHQvanNvbiIgaWQ9ImV4cGVj
dGVkIj4KLXsKLSAgInN1bW1hcml6ZWRfc3RhdHVzIjogewotICAgICJzdGF0dXNfc3RyaW5nIjog
IkVSUk9SIiwKLSAgICAibWVzc2FnZSI6ICJUZXN0IG5hbWVkICdFeGNlcHRpb24gaW4gY2xlYW51
cCBmdW5jdGlvbiBjYXVzZXMgaGFybmVzcyBmYWlsdXJlLicgc3BlY2lmaWVkIDEgJ2NsZWFudXAn
IGZ1bmN0aW9uLCBhbmQgMSBmYWlsZWQuIiwKLSAgICAic3RhY2siOiBudWxsCi0gIH0sCi0gICJz
dW1tYXJpemVkX3Rlc3RzIjogWwotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1Mi
LAotICAgICAgIm5hbWUiOiAiRXhjZXB0aW9uIGluIGNsZWFudXAgZnVuY3Rpb24gY2F1c2VzIGhh
cm5lc3MgZmFpbHVyZS4iLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdl
IjogbnVsbCwKLSAgICAgICJzdGFjayI6IG51bGwKLSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0
dXNfc3RyaW5nIjogIk5PVFJVTiIsCi0gICAgICAibmFtZSI6ICJUaGlzIHRlc3Qgc2hvdWxkIG5v
dCBiZSBydW4uIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6IG51
bGwsCi0gICAgICAic3RhY2siOiBudWxsCi0gICAgfQotICBdLAotICAidHlwZSI6ICJjb21wbGV0
ZSIKLX0KLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9h
ZGRfY2xlYW51cF9lcnJfbXVsdGkuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvYWRkX2NsZWFudXBfZXJyX211bHRp
Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGI2MDY2OGMwMjkwOGJkODYxN2U3
OGFlOTQyMDYwNTgyN2IwZGJiNzYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvdGVzdC90ZXN0cy9hZGRfY2xlYW51cF9lcnJfbXVsdGkuaHRtbAorKysgL2Rldi9u
dWxsCkBAIC0xLDU1ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLTx0
aXRsZT5UZXN0I2FkZF9jbGVhbnVwOiBtdWx0aXBsZSBmdW5jdGlvbnMgd2l0aCBvbmUgaW4gZXJy
b3I8L3RpdGxlPgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIuLi8uLi90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08L2hl
YWQ+Ci08Ym9keT4KLTxkaXYgaWQ9ImxvZyI+PC9kaXY+Ci0KLTxzY3JpcHQ+Ci0idXNlIHN0cmlj
dCI7Ci0KLXRlc3QoZnVuY3Rpb24odCkgewotICAgIHQuYWRkX2NsZWFudXAoZnVuY3Rpb24oKSB7
Ci0gICAgICB0aHJvdyBuZXcgRXJyb3IoImV4Y2VwdGlvbiBpbiBjbGVhbnVwIGZ1bmN0aW9uIik7
Ci0gICAgfSk7Ci0KLSAgICAvLyBUaGUgZm9sbG93aW5nIGNsZWFudXAgZnVuY3Rpb24gZGVmaW5l
cyBhIHRlc3Qgc28gdGhhdCB0aGUgcmVwb3J0ZWQKLSAgICAvLyBkYXRhIGRlbW9uc3RyYXRlcyB0
aGUgaW50ZW5kZWQgcnVuLXRpbWUgYmVoYXZpb3IsIGkuZS4gdGhhdAotICAgIC8vIGB0ZXN0aGFy
bmVzcy5qc2AgaW52b2tlcyBhbGwgY2xlYW51cCBmdW5jdGlvbnMgZXZlbiB3aGVuIG9uZSBvciBt
b3JlCi0gICAgLy8gdGhyb3cgZXJyb3JzLgotICAgIHQuYWRkX2NsZWFudXAoZnVuY3Rpb24oKSB7
Ci0gICAgICB0ZXN0KGZ1bmN0aW9uKCkge30sICJWZXJpZmljYXRpb24gdGVzdCIpOwotICAgIH0p
OwotICB9LCAiVGVzdCB3aXRoIG11bHRpcGxlIGNsZWFudXAgZnVuY3Rpb25zIik7Ci08L3Njcmlw
dD4KLTxzY3JpcHQgdHlwZT0idGV4dC9qc29uIiBpZD0iZXhwZWN0ZWQiPgotewotICAic3VtbWFy
aXplZF9zdGF0dXMiOiB7Ci0gICAgInN0YXR1c19zdHJpbmciOiAiRVJST1IiLAotICAgICJtZXNz
YWdlIjogIlRlc3QgbmFtZWQgJ1Rlc3Qgd2l0aCBtdWx0aXBsZSBjbGVhbnVwIGZ1bmN0aW9ucycg
c3BlY2lmaWVkIDIgJ2NsZWFudXAnIGZ1bmN0aW9ucywgYW5kIDEgZmFpbGVkLiIsCi0gICAgInN0
YWNrIjogbnVsbAotICB9LAotICAic3VtbWFyaXplZF90ZXN0cyI6IFsKLSAgICB7Ci0gICAgICAi
c3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1lIjogIlRlc3Qgd2l0aCBtdWx0aXBs
ZSBjbGVhbnVwIGZ1bmN0aW9ucyIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1l
c3NhZ2UiOiBudWxsLAotICAgICAgInN0YWNrIjogbnVsbAotICAgIH0sCi0gICAgewotICAgICAg
InN0YXR1c19zdHJpbmciOiAiTk9UUlVOIiwKLSAgICAgICJuYW1lIjogIlZlcmlmaWNhdGlvbiB0
ZXN0IiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6IG51bGwsCi0g
ICAgICAic3RhY2siOiBudWxsCi0gICAgfQotICBdLAotICAidHlwZSI6ICJjb21wbGV0ZSIKLX0K
LTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9hcGktdGVz
dHMtMS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvdGVzdC90ZXN0cy9hcGktdGVzdHMtMS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCA1M2Q5MWM0NzlhMmM3YWEyZGRiNzZkZGVkNGNlZjI1OTBkYzNmZTE1Li4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvYXBpLXRl
c3RzLTEuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDQ2MiArMCwwIEBACi08IURPQ1RZUEUgSFRN
TD4NCi08aHRtbD4NCi08aGVhZD4NCi08dGl0bGU+U2FtcGxlIEhUTUw1IEFQSSBUZXN0czwvdGl0
bGU+DQotPG1ldGEgbmFtZT0idGltZW91dCIgY29udGVudD0iNjAwMCI+DQotPC9oZWFkPg0KLTxi
b2R5IG9ubG9hZD0ibG9hZF90ZXN0X2F0dHIuZG9uZSgpIj4NCi08aDE+U2FtcGxlIEhUTUw1IEFQ
SSBUZXN0czwvaDE+DQotPGRpdiBpZD0ibG9nIj48L2Rpdj4NCi08c2NyaXB0IHNyYz0iLi4vLi4v
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pg0KLTxzY3JpcHQgc3JjPSIuLi8uLi90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+DQotPHNjcmlwdD4NCi0gICAgc2V0dXBfcnVuID0gZmFsc2U7
DQotICAgIHNldHVwKGZ1bmN0aW9uKCkgew0KLSAgICAgICAgICAgIHNldHVwX3J1biA9IHRydWU7
DQotICAgICAgICAgIH0pOw0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkge2Fzc2VydF90cnVlKHNldHVw
X3J1bil9LCAiU2V0dXAgZnVuY3Rpb24gcmFuIik7DQotDQotICAgIC8vIFR3byBleGFtcGxlcyBm
b3IgdGVzdGluZyBldmVudHMgZnJvbSBoYW5kbGVyIGFuZCBhdHRyaWJ1dGVzDQotICAgIHZhciBs
b2FkX3Rlc3RfZXZlbnQgPSBhc3luY190ZXN0KCJ3aW5kb3cgb25sb2FkIGV2ZW50IGZpcmVzIHdo
ZW4gc2V0IGZyb20gdGhlIGhhbmRsZXIiKTsNCi0NCi0gICAgZnVuY3Rpb24gd2luZG93TG9hZCgp
DQotICAgIHsNCi0gICAgICAgIGxvYWRfdGVzdF9ldmVudC5kb25lKCk7DQotICAgIH0NCi0gICAg
b25fZXZlbnQod2luZG93LCAibG9hZCIsIHdpbmRvd0xvYWQpOw0KLQ0KLSAgICAvLyBzZWUgdGhl
IGJvZHkgb25sb2FkIGJlbG93DQotICAgIHZhciBsb2FkX3Rlc3RfYXR0ciA9IGFzeW5jX3Rlc3Qo
ImJvZHkgZWxlbWVudCBmaXJlcyB0aGUgb25sb2FkIGV2ZW50IHNldCBmcm9tIHRoZSBhdHRyaWJ1
dGUiKTsNCi08L3NjcmlwdD4NCi08c2NyaXB0Pg0KLSAgICBmdW5jdGlvbiBib2R5RWxlbWVudCgp
DQotICAgIHsNCi0gICAgICAgIGFzc2VydF9lcXVhbHMoZG9jdW1lbnQuYm9keSwgZG9jdW1lbnQu
Z2V0RWxlbWVudHNCeVRhZ05hbWUoImJvZHkiKVswXSk7DQotICAgIH0NCi0gICAgdGVzdChib2R5
RWxlbWVudCwgImRvY3VtZW50LmJvZHkgc2hvdWxkIGJlIHRoZSBmaXJzdCBib2R5IGVsZW1lbnQg
aW4gdGhlIGRvY3VtZW50Iik7DQotDQotICAgIHRlc3QoZnVuY3Rpb24oKSB7DQotICAgICAgICBh
c3NlcnRfZXF1YWxzKDEsMSk7DQotICAgICAgICBhc3NlcnRfZXF1YWxzKE5hTiwgTmFOLCAiTmFO
IGNhc2UiKTsNCi0gICAgICAgIGFzc2VydF9lcXVhbHMoMCwgMCwgIlplcm8gY2FzZSIpOw0KLSAg
ICB9LCAiYXNzZXJ0X2VxdWFscyB0ZXN0cyIpDQotDQotICAgIHRlc3QoZnVuY3Rpb24oKSB7DQot
ICAgICAgICBhc3NlcnRfZXF1YWxzKC0wLCAwLCAiWmVybyBjYXNlIik7DQotICAgIH0sICJhc3Nl
cnRfZXF1YWxzIHRlc3RzIGV4cGVjdGVkIHRvIGZhaWwiKQ0KLQ0KLSAgICB0ZXN0KGZ1bmN0aW9u
KCkgew0KLSAgICAgICAgYXNzZXJ0X25vdF9lcXVhbHMoe30sIHt9LCAib2JqZWN0IGNhc2UiKTsN
Ci0gICAgICAgIGFzc2VydF9ub3RfZXF1YWxzKC0wLCAwLCAiWmVybyBjYXNlIik7DQotICAgIH0s
ICJhc3NlcnRfbm90X2VxdWFscyB0ZXN0cyIpDQotDQotICAgIGZ1bmN0aW9uIHRlc3RBc3NlcnRQ
YXNzKCkNCi0gICAgew0KLSAgICAgICAgYXNzZXJ0X3RydWUodHJ1ZSk7DQotICAgIH0NCi0gICAg
dGVzdCh0ZXN0QXNzZXJ0UGFzcywgImFzc2VydF90cnVlIGV4cGVjdGVkIHRvIHBhc3MiKTsNCi0N
Ci0gICAgZnVuY3Rpb24gdGVzdEFzc2VydEZhbHNlKCkNCi0gICAgew0KLSAgICAgICAgYXNzZXJ0
X3RydWUoZmFsc2UsICJmYWxzZSBzaG91bGQgbm90IGJlIHRydWUiKTsNCi0gICAgfQ0KLSAgICB0
ZXN0KHRlc3RBc3NlcnRGYWxzZSwgImFzc2VydF90cnVlIGV4cGVjdGVkIHRvIGZhaWwiKTsNCi0N
Ci0gICAgZnVuY3Rpb24gYmFzaWNBc3NlcnRBcnJheUVxdWFscygpDQotICAgIHsNCi0gICAgICAg
IGFzc2VydF9hcnJheV9lcXVhbHMoWzEsIE5hTl0sIFsxLCBOYU5dLCAiWzEsIE5hTl0gaXMgZXF1
YWwgdG8gWzEsIE5hTl0iKTsNCi0gICAgfQ0KLSAgICB0ZXN0KGJhc2ljQXNzZXJ0QXJyYXlFcXVh
bHMsICJiYXNpYyBhc3NlcnRfYXJyYXlfZXF1YWxzIHRlc3QiKTsNCi0NCi0gICAgZnVuY3Rpb24g
YXNzZXJ0QXJyYXlFcXVhbHNVbmRlZmluZWQoKQ0KLSAgICB7DQotICAgICAgICBhc3NlcnRfYXJy
YXlfZXF1YWxzKHVuZGVmaW5lZCwgWzFdLCAidW5kZWZpbmVkIGVxdWFscyBbMV0/Iik7DQotICAg
IH0NCi0gICAgdGVzdChhc3NlcnRBcnJheUVxdWFsc1VuZGVmaW5lZCwgImFzc2VydF9hcnJheV9l
cXVhbHMgd2l0aCBmaXJzdCBwYXJhbSB1bmRlZmluZWQiKTsNCi0NCi0gICAgZnVuY3Rpb24gYXNz
ZXJ0QXJyYXlFcXVhbHNUcnVlKCkNCi0gICAgew0KLSAgICAgICAgYXNzZXJ0X2FycmF5X2VxdWFs
cyh0cnVlLCBbMV0sICJ0cnVlIGVxdWFscyBbMV0/Iik7DQotICAgIH0NCi0gICAgdGVzdChhc3Nl
cnRBcnJheUVxdWFsc1RydWUsICJhc3NlcnRfYXJyYXlfZXF1YWxzIHdpdGggZmlyc3QgcGFyYW0g
dHJ1ZSIpOw0KLQ0KLSAgICBmdW5jdGlvbiBhc3NlcnRBcnJheUVxdWFsc0ZhbHNlKCkNCi0gICAg
ew0KLSAgICAgICAgYXNzZXJ0X2FycmF5X2VxdWFscyhmYWxzZSwgWzFdLCAiZmFsc2UgZXF1YWxz
IFsxXT8iKTsNCi0gICAgfQ0KLSAgICB0ZXN0KGFzc2VydEFycmF5RXF1YWxzRmFsc2UsICJhc3Nl
cnRfYXJyYXlfZXF1YWxzIHdpdGggZmlyc3QgcGFyYW0gZmFsc2UiKTsNCi0NCi0gICAgZnVuY3Rp
b24gYXNzZXJ0QXJyYXlFcXVhbHNOdWxsKCkNCi0gICAgew0KLSAgICAgICAgYXNzZXJ0X2FycmF5
X2VxdWFscyhudWxsLCBbMV0sICJudWxsIGVxdWFscyBbMV0/Iik7DQotICAgIH0NCi0gICAgdGVz
dChhc3NlcnRBcnJheUVxdWFsc051bGwsICJhc3NlcnRfYXJyYXlfZXF1YWxzIHdpdGggZmlyc3Qg
cGFyYW0gbnVsbCIpOw0KLQ0KLSAgICBmdW5jdGlvbiBhc3NlcnRBcnJheUVxdWFsc051bWVyaWMo
KQ0KLSAgICB7DQotICAgICAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKDEsIFsxXSwgIjEgZXF1YWxz
IFsxXT8iKTsNCi0gICAgfQ0KLSAgICB0ZXN0KGFzc2VydEFycmF5RXF1YWxzTnVtZXJpYywgImFz
c2VydF9hcnJheV9lcXVhbHMgd2l0aCBmaXJzdCBwYXJhbSAxIik7DQotDQotICAgIGZ1bmN0aW9u
IGJhc2ljQXNzZXJ0T2JqZWN0RXF1YWxzKCkNCi0gICAgew0KLSAgICAgICAgYXNzZXJ0X29iamVj
dF9lcXVhbHMoWzEsIDIsIFsxLCAyXV0sIHsgMDogMSwgMTogMiwgMjogeyAwOiAxLCAxOiAyfSB9
LCAiYXJyYXkgaXMgZXF1YWwgdG8gb2JqZWN0IikNCi0gICAgfQ0KLSAgICB0ZXN0KGJhc2ljQXNz
ZXJ0T2JqZWN0RXF1YWxzLCAiYmFzaWMgYXNzZXJ0X29iamVjdF9lcXVhbHMgdGVzdCIpOw0KLQ0K
LSAgICBmdW5jdGlvbiBiYXNpY0Fzc2VydEFycmF5QXBwcm94RXF1YWxzKCkNCi0gICAgew0KLSAg
ICAgICAgYXNzZXJ0X2FycmF5X2FwcHJveF9lcXVhbHMoWzEwLCAxMV0sIFsxMSwgMTBdLCAxLCAi
WzEwLCAxMV0gaXMgYXBwcm94aW1hdGVseSAoKy8tIDEpIFsxMSwgMTBdIikNCi0gICAgfQ0KLSAg
ICB0ZXN0KGJhc2ljQXNzZXJ0QXJyYXlBcHByb3hFcXVhbHMsICJiYXNpYyBhc3NlcnRfYXJyYXlf
YXBwcm94X2VxdWFscyB0ZXN0Iik7DQotDQotICAgIGZ1bmN0aW9uIGJhc2ljQXNzZXJ0QXBwcm94
RXF1YWxzKCkNCi0gICAgew0KLSAgICAgICAgYXNzZXJ0X2FwcHJveF9lcXVhbHMoMTAsIDExLCAx
LCAiMTAgaXMgYXBwcm94aW1hdGVseSAoKy8tIDEpIDExIikNCi0gICAgfQ0KLSAgICB0ZXN0KGJh
c2ljQXNzZXJ0QXBwcm94RXF1YWxzLCAiYmFzaWMgYXNzZXJ0X2FwcHJveF9lcXVhbHMgdGVzdCIp
Ow0KLQ0KLSAgICBmdW5jdGlvbiBiYXNpY0Fzc2VydExlc3NUaGFuKCkNCi0gICAgew0KLSAgICAg
ICAgYXNzZXJ0X2xlc3NfdGhhbigxMCwgMTEsICIxMCBpcyBsZXNzIHRoYW4gMTEiKQ0KLSAgICB9
DQotICAgIHRlc3QoYmFzaWNBc3NlcnRBcHByb3hFcXVhbHMsICJiYXNpYyBhc3NlcnRfbGVzc190
aGFuIHRlc3QiKTsNCi0NCi0gICAgZnVuY3Rpb24gYmFzaWNBc3NlcnRHcmVhdGVyVGhhbigpDQot
ICAgIHsNCi0gICAgICAgIGFzc2VydF9ncmVhdGVyX3RoYW4oMTAsIDExLCAiMTAgaXMgbm90IGdy
ZWF0ZXIgdGhhbiAxMSIpOw0KLSAgICB9DQotICAgIHRlc3QoYmFzaWNBc3NlcnRHcmVhdGVyVGhh
biwgImFzc2VydF9ncmVhdGVyX3RoYW4gZXhwZWN0ZWQgdG8gZmFpbCIpOw0KLQ0KLSAgICBmdW5j
dGlvbiBiYXNpY0Fzc2VydEdyZWF0ZXJUaGFuRXF1YWwoKQ0KLSAgICB7DQotICAgICAgICBhc3Nl
cnRfZ3JlYXRlcl90aGFuX2VxdWFsKDEwLCAxMCwgIjEwIGlzIGdyZWF0ZXIgdGhhbiBvciBlcXVh
bCB0byAxMCIpDQotICAgIH0NCi0gICAgdGVzdChiYXNpY0Fzc2VydEdyZWF0ZXJUaGFuRXF1YWws
ICJiYXNpYyBhc3NlcnRfZ3JlYXRlcl90aGFuX2VxdWFsIHRlc3QiKTsNCi0NCi0gICAgZnVuY3Rp
b24gYmFzaWNBc3NlcnRMZXNzVGhhbkVxdWFsKCkNCi0gICAgew0KLSAgICAgICAgYXNzZXJ0X2dy
ZWF0ZXJfdGhhbl9lcXVhbCgnMTAnLCAxMCwgIicxMCcgaXMgbm90IGEgbnVtYmVyIikNCi0gICAg
fQ0KLSAgICB0ZXN0KGJhc2ljQXNzZXJ0TGVzc1RoYW5FcXVhbCwgImFzc2VydF9sZXNzX3RoYW5f
ZXF1YWwgZXhwZWN0ZWQgdG8gZmFpbCIpOw0KLQ0KLSAgICBmdW5jdGlvbiB0ZXN0QXNzZXJ0SW5o
ZXJpdHMoKSB7DQotICAgICAgICB2YXIgQSA9IGZ1bmN0aW9uKCl7dGhpcy5hID0gImEifQ0KLSAg
ICAgICAgQS5wcm90b3R5cGUgPSB7YjoiYiJ9DQotICAgICAgICB2YXIgYSA9IG5ldyBBKCk7DQot
ICAgICAgICBhc3NlcnRfZXhpc3RzKGEsICJhIik7DQotICAgICAgICBhc3NlcnRfbm90X2V4aXN0
cyhhLCAiYiIpOw0KLSAgICAgICAgYXNzZXJ0X2luaGVyaXRzKGEsICJiIik7DQotICAgIH0NCi0g
ICAgdGVzdCh0ZXN0QXNzZXJ0SW5oZXJpdHMsICJ0ZXN0IGZvciBhc3NlcnRbX25vdF1fZXhpc3Rz
IGFuZCBpbnNlcnRfaW5oZXJpdHMiKQ0KLQ0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkNCi0gICAgew0K
LSAgICAgICAgdmFyIGEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJhIikNCi0gICAgICAgIHZh
ciBiID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYiIpDQotICAgICAgICBhc3NlcnRfdGhyb3dz
KCJOT1RfRk9VTkRfRVJSIiwgZnVuY3Rpb24gKCkge2EucmVtb3ZlQ2hpbGQoYil9KTsNCi0gICAg
fSwgIlRlc3QgdGhyb3cgRE9NIGV4Y2VwdGlvbiIpDQotDQotICAgIHRlc3QoZnVuY3Rpb24oKQ0K
LSAgICB7DQotICAgICAgICB2YXIgYSA9IGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCJhIikNCi0g
ICAgICAgIHZhciBiID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYiIpDQotICAgICAgICBhc3Nl
cnRfdGhyb3dzKCJOT1RfRk9VTkRfRVJSIiwgZnVuY3Rpb24gKCkge2EuYXBwZW5kQ2hpbGQoYil9
KTsNCi0gICAgfSwgIlRlc3QgdGhyb3cgRE9NIGV4Y2VwdGlvbiBleHBlY3RlZCB0byBmYWlsIikN
Ci0NCi0gICAgdGVzdChmdW5jdGlvbigpDQotICAgIHsNCi0gICAgICAgIHZhciBlID0ge2NvZGU6
MCwgbmFtZToiVEVTVF9FUlIiLCBURVNUX0VSUjowfQ0KLSAgICAgICAgYXNzZXJ0X3Rocm93cygi
VEVTVF9FUlIiLCBmdW5jdGlvbigpIHt0aHJvdyBlfSk7DQotICAgIH0sICJUZXN0IGFzc2VydF90
aHJvd3Mgd2l0aCBub24tRE9NLWV4Y2VwdGlvbiBleHBlY3RlZCB0byBGYWlsIik7DQotDQotICAg
IHZhciB0ID0gYXN5bmNfdGVzdCgiVGVzdCBzdGVwX2Z1bmMiKQ0KLSAgICBzZXRUaW1lb3V0KA0K
LSAgICAgIHQuc3RlcF9mdW5jKA0KLSAgICAgICAgZnVuY3Rpb24gKCkgew0KLSAgICAgICAgICBh
c3NlcnRfdHJ1ZSh0cnVlKTsgdC5kb25lKCk7DQotICAgICAgICB9KSwgMCk7DQotDQotICAgIGFz
eW5jX3Rlc3QoZnVuY3Rpb24odCkgew0KLSAgICAgICAgc2V0VGltZW91dCh0LnN0ZXBfZnVuYyhm
dW5jdGlvbiAoKXthc3NlcnRfdHJ1ZSh0cnVlKTsgdC5kb25lKCk7fSksIDApOw0KLSAgICB9LCAi
VGVzdCBhc3luYyB0ZXN0IHdpdGggY2FsbGJhY2siKTsNCi0NCi0gICAgYXN5bmNfdGVzdChmdW5j
dGlvbigpIHsNCi0gICAgICAgIHNldFRpbWVvdXQodGhpcy5zdGVwX2Z1bmMoZnVuY3Rpb24gKCl7
YXNzZXJ0X3RydWUodHJ1ZSk7IHRoaXMuZG9uZSgpO30pLCAwKTsNCi0gICAgfSwgIlRlc3QgYXN5
bmMgdGVzdCB3aXRoIGNhbGxiYWNrIGFuZCBgdGhpc2Agb2JqLiIpOw0KLQ0KLSAgICBhc3luY190
ZXN0KCJ0ZXN0IHNob3VsZCB0aW1lb3V0IChmYWlsKSB3aXRoIHRoZSBkZWZhdWx0IG9mIDIgc2Vj
b25kcyIpLnN0ZXAoZnVuY3Rpb24oKXt9KTsNCi0NCi0gICAgYXN5bmNfdGVzdCgidGVzdCBzaG91
bGQgdGltZW91dCAoZmFpbCkgd2l0aCBhIGN1c3RvbSBzZXQgdGltZW91dCB2YWx1ZSBvZiAxIHNl
Y29uZCIsDQotICAgICAgICAgICAgICAge3RpbWVvdXQ6MTAwMH0pLnN0ZXAoZnVuY3Rpb24oKXt9
KTsNCi0NCi0gICAgYXN5bmNfdGVzdCgiYXN5bmMgdGVzdCB0aGF0IGlzIG5ldmVyIHN0YXJ0ZWQs
IHNob3VsZCBoYXZlIHN0YXR1cyBOb3QgUnVuIiwge3RpbWVvdXQ6MTAwMH0pOw0KLQ0KLQ0KLSAg
ICB0ZXN0KGZ1bmN0aW9uKHQpIHsNCi0gICAgICAgICAgICAgd2luZG93Lmdsb2JhbCA9IDE7DQot
ICAgICAgICAgICAgIHQuYWRkX2NsZWFudXAoZnVuY3Rpb24oKSB7ZGVsZXRlIHdpbmRvdy5nbG9i
YWx9KTsNCi0gICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyh3aW5kb3cuZ2xvYmFsLCAxKTsNCi0g
ICAgICAgICB9LA0KLSAgICAgICAgICJUZXN0IHRoYXQgZGVmaW5lcyBhIGdsb2JhbCBhbmQgY2xl
YW5zIGl0IHVwIik7DQotDQotICAgIHRlc3QoZnVuY3Rpb24oKSB7YXNzZXJ0X2VxdWFscyh3aW5k
b3cuZ2xvYmFsLCB1bmRlZmluZWQpfSwNCi0gICAgICAgICAiVGVzdCB0aGF0IGNsZWFudXAgaGFu
ZGxlcnMgZnJvbSBwcmV2aW91cyB0ZXN0IHJhbiIpOw0KLQ0KLTwvc2NyaXB0Pg0KLTxzY3JpcHQg
dHlwZT0idGV4dC9qc29uIiBpZD0iZXhwZWN0ZWQiPg0KLXsNCi0gICJzdW1tYXJpemVkX3N0YXR1
cyI6IHsNCi0gICAgInN0YXR1c19zdHJpbmciOiAiVElNRU9VVCIsDQotICAgICJtZXNzYWdlIjog
bnVsbCwNCi0gICAgInN0YWNrIjogbnVsbA0KLSAgfSwNCi0gICJzdW1tYXJpemVkX3Rlc3RzIjog
Ww0KLSAgICB7DQotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsIA0KLSAgICAgICJuYW1l
IjogIlNldHVwIGZ1bmN0aW9uIHJhbiIsIA0KLSAgICAgICJzdGFjayI6IG51bGwsIA0KLSAgICAg
ICJtZXNzYWdlIjogbnVsbCwgDQotICAgICAgInByb3BlcnRpZXMiOiB7fQ0KLSAgICB9LCANCi0g
ICAgew0KLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIkZBSUwiLCANCi0gICAgICAibmFtZSI6ICJU
ZXN0IGFzc2VydF90aHJvd3Mgd2l0aCBub24tRE9NLWV4Y2VwdGlvbiBleHBlY3RlZCB0byBGYWls
IiwgDQotICAgICAgInN0YWNrIjogIihpbXBsZW1lbnRhdGlvbi1kZWZpbmVkKSIsIA0KLSAgICAg
ICJtZXNzYWdlIjogIlRlc3QgYnVnOiB1bnJlY29nbml6ZWQgRE9NRXhjZXB0aW9uIGNvZGUgXCJU
RVNUX0VSUlwiIHBhc3NlZCB0byBhc3NlcnRfdGhyb3dzKCkiLCANCi0gICAgICAicHJvcGVydGll
cyI6IHt9DQotICAgIH0sIA0KLSAgICB7DQotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIs
IA0KLSAgICAgICJuYW1lIjogIlRlc3QgYXN5bmMgdGVzdCB3aXRoIGNhbGxiYWNrIiwgDQotICAg
ICAgInN0YWNrIjogbnVsbCwgDQotICAgICAgIm1lc3NhZ2UiOiBudWxsLCANCi0gICAgICAicHJv
cGVydGllcyI6IHt9DQotICAgIH0sIA0KLSAgICB7DQotICAgICAgInN0YXR1c19zdHJpbmciOiAi
UEFTUyIsIA0KLSAgICAgICJuYW1lIjogIlRlc3QgYXN5bmMgdGVzdCB3aXRoIGNhbGxiYWNrIGFu
ZCBgdGhpc2Agb2JqLiIsIA0KLSAgICAgICJzdGFjayI6IG51bGwsIA0KLSAgICAgICJtZXNzYWdl
IjogbnVsbCwgDQotICAgICAgInByb3BlcnRpZXMiOiB7fQ0KLSAgICB9LCANCi0gICAgew0KLSAg
ICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLCANCi0gICAgICAibmFtZSI6ICJUZXN0IHN0ZXBf
ZnVuYyIsIA0KLSAgICAgICJzdGFjayI6IG51bGwsIA0KLSAgICAgICJtZXNzYWdlIjogbnVsbCwg
DQotICAgICAgInByb3BlcnRpZXMiOiB7fQ0KLSAgICB9LCANCi0gICAgew0KLSAgICAgICJzdGF0
dXNfc3RyaW5nIjogIlBBU1MiLCANCi0gICAgICAibmFtZSI6ICJUZXN0IHRoYXQgY2xlYW51cCBo
YW5kbGVycyBmcm9tIHByZXZpb3VzIHRlc3QgcmFuIiwgDQotICAgICAgInN0YWNrIjogbnVsbCwg
DQotICAgICAgIm1lc3NhZ2UiOiBudWxsLCANCi0gICAgICAicHJvcGVydGllcyI6IHt9DQotICAg
IH0sIA0KLSAgICB7DQotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsIA0KLSAgICAgICJu
YW1lIjogIlRlc3QgdGhhdCBkZWZpbmVzIGEgZ2xvYmFsIGFuZCBjbGVhbnMgaXQgdXAiLCANCi0g
ICAgICAic3RhY2siOiBudWxsLCANCi0gICAgICAibWVzc2FnZSI6IG51bGwsIA0KLSAgICAgICJw
cm9wZXJ0aWVzIjoge30NCi0gICAgfSwgDQotICAgIHsNCi0gICAgICAic3RhdHVzX3N0cmluZyI6
ICJQQVNTIiwgDQotICAgICAgIm5hbWUiOiAiVGVzdCB0aHJvdyBET00gZXhjZXB0aW9uIiwgDQot
ICAgICAgInN0YWNrIjogbnVsbCwgDQotICAgICAgIm1lc3NhZ2UiOiBudWxsLCANCi0gICAgICAi
cHJvcGVydGllcyI6IHt9DQotICAgIH0sIA0KLSAgICB7DQotICAgICAgInN0YXR1c19zdHJpbmci
OiAiRkFJTCIsIA0KLSAgICAgICJuYW1lIjogIlRlc3QgdGhyb3cgRE9NIGV4Y2VwdGlvbiBleHBl
Y3RlZCB0byBmYWlsIiwgDQotICAgICAgInN0YWNrIjogIihpbXBsZW1lbnRhdGlvbi1kZWZpbmVk
KSIsIA0KLSAgICAgICJtZXNzYWdlIjogImFzc2VydF90aHJvd3M6IGZ1bmN0aW9uIFwiZnVuY3Rp
b24gKCkge2EuYXBwZW5kQ2hpbGQoYil9XCIgdGhyZXcgb2JqZWN0IFwiSGllcmFyY2h5UmVxdWVz
dEVycm9yOiBOb2RlIGNhbm5vdCBiZSBpbnNlcnRlZCBhdCB0aGUgc3BlY2lmaWVkIHBvaW50IGlu
IHRoZSBoaWVyYXJjaHlcIiB0aGF0IGlzIG5vdCBhIERPTUV4Y2VwdGlvbiBOT1RfRk9VTkRfRVJS
OiBwcm9wZXJ0eSBcImNvZGVcIiBpcyBlcXVhbCB0byAzLCBleHBlY3RlZCA4IiwgDQotICAgICAg
InByb3BlcnRpZXMiOiB7fQ0KLSAgICB9LCANCi0gICAgew0KLSAgICAgICJzdGF0dXNfc3RyaW5n
IjogIkZBSUwiLCANCi0gICAgICAibmFtZSI6ICJhc3NlcnRfYXJyYXlfZXF1YWxzIHdpdGggZmly
c3QgcGFyYW0gMSIsIA0KLSAgICAgICJzdGFjayI6ICIoaW1wbGVtZW50YXRpb24tZGVmaW5lZCki
LCANCi0gICAgICAibWVzc2FnZSI6ICJhc3NlcnRfYXJyYXlfZXF1YWxzOiAxIGVxdWFscyBbMV0/
IHZhbHVlIGlzIDEsIGV4cGVjdGVkIGFycmF5IiwgDQotICAgICAgInByb3BlcnRpZXMiOiB7fQ0K
LSAgICB9LCANCi0gICAgew0KLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIkZBSUwiLCANCi0gICAg
ICAibmFtZSI6ICJhc3NlcnRfYXJyYXlfZXF1YWxzIHdpdGggZmlyc3QgcGFyYW0gZmFsc2UiLCAN
Ci0gICAgICAic3RhY2siOiAiKGltcGxlbWVudGF0aW9uLWRlZmluZWQpIiwgDQotICAgICAgIm1l
c3NhZ2UiOiAiYXNzZXJ0X2FycmF5X2VxdWFsczogZmFsc2UgZXF1YWxzIFsxXT8gdmFsdWUgaXMg
ZmFsc2UsIGV4cGVjdGVkIGFycmF5IiwgDQotICAgICAgInByb3BlcnRpZXMiOiB7fQ0KLSAgICB9
LCANCi0gICAgew0KLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIkZBSUwiLCANCi0gICAgICAibmFt
ZSI6ICJhc3NlcnRfYXJyYXlfZXF1YWxzIHdpdGggZmlyc3QgcGFyYW0gbnVsbCIsIA0KLSAgICAg
ICJzdGFjayI6ICIoaW1wbGVtZW50YXRpb24tZGVmaW5lZCkiLCANCi0gICAgICAibWVzc2FnZSI6
ICJhc3NlcnRfYXJyYXlfZXF1YWxzOiBudWxsIGVxdWFscyBbMV0/IHZhbHVlIGlzIG51bGwsIGV4
cGVjdGVkIGFycmF5IiwgDQotICAgICAgInByb3BlcnRpZXMiOiB7fQ0KLSAgICB9LCANCi0gICAg
ew0KLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIkZBSUwiLCANCi0gICAgICAibmFtZSI6ICJhc3Nl
cnRfYXJyYXlfZXF1YWxzIHdpdGggZmlyc3QgcGFyYW0gdHJ1ZSIsIA0KLSAgICAgICJzdGFjayI6
ICIoaW1wbGVtZW50YXRpb24tZGVmaW5lZCkiLCANCi0gICAgICAibWVzc2FnZSI6ICJhc3NlcnRf
YXJyYXlfZXF1YWxzOiB0cnVlIGVxdWFscyBbMV0/IHZhbHVlIGlzIHRydWUsIGV4cGVjdGVkIGFy
cmF5IiwgDQotICAgICAgInByb3BlcnRpZXMiOiB7fQ0KLSAgICB9LCANCi0gICAgew0KLSAgICAg
ICJzdGF0dXNfc3RyaW5nIjogIkZBSUwiLCANCi0gICAgICAibmFtZSI6ICJhc3NlcnRfYXJyYXlf
ZXF1YWxzIHdpdGggZmlyc3QgcGFyYW0gdW5kZWZpbmVkIiwgDQotICAgICAgInN0YWNrIjogIihp
bXBsZW1lbnRhdGlvbi1kZWZpbmVkKSIsIA0KLSAgICAgICJtZXNzYWdlIjogImFzc2VydF9hcnJh
eV9lcXVhbHM6IHVuZGVmaW5lZCBlcXVhbHMgWzFdPyB2YWx1ZSBpcyB1bmRlZmluZWQsIGV4cGVj
dGVkIGFycmF5IiwgDQotICAgICAgInByb3BlcnRpZXMiOiB7fQ0KLSAgICB9LCANCi0gICAgew0K
LSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLCANCi0gICAgICAibmFtZSI6ICJhc3NlcnRf
ZXF1YWxzIHRlc3RzIiwgDQotICAgICAgInN0YWNrIjogbnVsbCwgDQotICAgICAgIm1lc3NhZ2Ui
OiBudWxsLCANCi0gICAgICAicHJvcGVydGllcyI6IHt9DQotICAgIH0sIA0KLSAgICB7DQotICAg
ICAgInN0YXR1c19zdHJpbmciOiAiRkFJTCIsIA0KLSAgICAgICJuYW1lIjogImFzc2VydF9lcXVh
bHMgdGVzdHMgZXhwZWN0ZWQgdG8gZmFpbCIsIA0KLSAgICAgICJzdGFjayI6ICIoaW1wbGVtZW50
YXRpb24tZGVmaW5lZCkiLCANCi0gICAgICAibWVzc2FnZSI6ICJhc3NlcnRfZXF1YWxzOiBaZXJv
IGNhc2UgZXhwZWN0ZWQgMCBidXQgZ290IC0wIiwgDQotICAgICAgInByb3BlcnRpZXMiOiB7fQ0K
LSAgICB9LCANCi0gICAgew0KLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIkZBSUwiLCANCi0gICAg
ICAibmFtZSI6ICJhc3NlcnRfZ3JlYXRlcl90aGFuIGV4cGVjdGVkIHRvIGZhaWwiLCANCi0gICAg
ICAic3RhY2siOiAiKGltcGxlbWVudGF0aW9uLWRlZmluZWQpIiwgDQotICAgICAgIm1lc3NhZ2Ui
OiAiYXNzZXJ0X2dyZWF0ZXJfdGhhbjogMTAgaXMgbm90IGdyZWF0ZXIgdGhhbiAxMSBleHBlY3Rl
ZCBhIG51bWJlciBncmVhdGVyIHRoYW4gMTEgYnV0IGdvdCAxMCIsIA0KLSAgICAgICJwcm9wZXJ0
aWVzIjoge30NCi0gICAgfSwgDQotICAgIHsNCi0gICAgICAic3RhdHVzX3N0cmluZyI6ICJGQUlM
IiwgDQotICAgICAgIm5hbWUiOiAiYXNzZXJ0X2xlc3NfdGhhbl9lcXVhbCBleHBlY3RlZCB0byBm
YWlsIiwgDQotICAgICAgInN0YWNrIjogIihpbXBsZW1lbnRhdGlvbi1kZWZpbmVkKSIsIA0KLSAg
ICAgICJtZXNzYWdlIjogImFzc2VydF9ncmVhdGVyX3RoYW5fZXF1YWw6ICcxMCcgaXMgbm90IGEg
bnVtYmVyIGV4cGVjdGVkIGEgbnVtYmVyIGJ1dCBnb3QgYSBcInN0cmluZ1wiIiwgDQotICAgICAg
InByb3BlcnRpZXMiOiB7fQ0KLSAgICB9LCANCi0gICAgew0KLSAgICAgICJzdGF0dXNfc3RyaW5n
IjogIlBBU1MiLCANCi0gICAgICAibmFtZSI6ICJhc3NlcnRfbm90X2VxdWFscyB0ZXN0cyIsIA0K
LSAgICAgICJzdGFjayI6IG51bGwsIA0KLSAgICAgICJtZXNzYWdlIjogbnVsbCwgDQotICAgICAg
InByb3BlcnRpZXMiOiB7fQ0KLSAgICB9LCANCi0gICAgew0KLSAgICAgICJzdGF0dXNfc3RyaW5n
IjogIkZBSUwiLCANCi0gICAgICAibmFtZSI6ICJhc3NlcnRfdHJ1ZSBleHBlY3RlZCB0byBmYWls
IiwgDQotICAgICAgInN0YWNrIjogIihpbXBsZW1lbnRhdGlvbi1kZWZpbmVkKSIsIA0KLSAgICAg
ICJtZXNzYWdlIjogImFzc2VydF90cnVlOiBmYWxzZSBzaG91bGQgbm90IGJlIHRydWUgZXhwZWN0
ZWQgdHJ1ZSBnb3QgZmFsc2UiLCANCi0gICAgICAicHJvcGVydGllcyI6IHt9DQotICAgIH0sIA0K
LSAgICB7DQotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsIA0KLSAgICAgICJuYW1lIjog
ImFzc2VydF90cnVlIGV4cGVjdGVkIHRvIHBhc3MiLCANCi0gICAgICAic3RhY2siOiBudWxsLCAN
Ci0gICAgICAibWVzc2FnZSI6IG51bGwsIA0KLSAgICAgICJwcm9wZXJ0aWVzIjoge30NCi0gICAg
fSwgDQotICAgIHsNCi0gICAgICAic3RhdHVzX3N0cmluZyI6ICJOT1RSVU4iLCANCi0gICAgICAi
bmFtZSI6ICJhc3luYyB0ZXN0IHRoYXQgaXMgbmV2ZXIgc3RhcnRlZCwgc2hvdWxkIGhhdmUgc3Rh
dHVzIE5vdCBSdW4iLCANCi0gICAgICAic3RhY2siOiBudWxsLCANCi0gICAgICAibWVzc2FnZSI6
IG51bGwsIA0KLSAgICAgICJwcm9wZXJ0aWVzIjogew0KLSAgICAgICAgInRpbWVvdXQiOiAxMDAw
DQotICAgICAgfQ0KLSAgICB9LCANCi0gICAgew0KLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBB
U1MiLA0KLSAgICAgICJuYW1lIjogImJhc2ljIGFzc2VydF9hcHByb3hfZXF1YWxzIHRlc3QiLA0K
LSAgICAgICJzdGFjayI6IG51bGwsDQotICAgICAgIm1lc3NhZ2UiOiBudWxsLA0KLSAgICAgICJw
cm9wZXJ0aWVzIjoge30NCi0gICAgfSwNCi0gICAgew0KLSAgICAgICJzdGF0dXNfc3RyaW5nIjog
IlBBU1MiLA0KLSAgICAgICJuYW1lIjogImJhc2ljIGFzc2VydF9hcnJheV9hcHByb3hfZXF1YWxz
IHRlc3QiLA0KLSAgICAgICJzdGFjayI6IG51bGwsDQotICAgICAgIm1lc3NhZ2UiOiBudWxsLA0K
LSAgICAgICJwcm9wZXJ0aWVzIjoge30NCi0gICAgfSwNCi0gICAgew0KLSAgICAgICJzdGF0dXNf
c3RyaW5nIjogIlBBU1MiLCANCi0gICAgICAibmFtZSI6ICJiYXNpYyBhc3NlcnRfYXJyYXlfZXF1
YWxzIHRlc3QiLCANCi0gICAgICAic3RhY2siOiBudWxsLCANCi0gICAgICAibWVzc2FnZSI6IG51
bGwsIA0KLSAgICAgICJwcm9wZXJ0aWVzIjoge30NCi0gICAgfSwgDQotICAgIHsNCi0gICAgICAi
c3RhdHVzX3N0cmluZyI6ICJQQVNTIiwgDQotICAgICAgIm5hbWUiOiAiYmFzaWMgYXNzZXJ0X2dy
ZWF0ZXJfdGhhbl9lcXVhbCB0ZXN0IiwgDQotICAgICAgInN0YWNrIjogbnVsbCwgDQotICAgICAg
Im1lc3NhZ2UiOiBudWxsLCANCi0gICAgICAicHJvcGVydGllcyI6IHt9DQotICAgIH0sIA0KLSAg
ICB7DQotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsIA0KLSAgICAgICJuYW1lIjogImJh
c2ljIGFzc2VydF9sZXNzX3RoYW4gdGVzdCIsIA0KLSAgICAgICJzdGFjayI6IG51bGwsIA0KLSAg
ICAgICJtZXNzYWdlIjogbnVsbCwgDQotICAgICAgInByb3BlcnRpZXMiOiB7fQ0KLSAgICB9LCAN
Ci0gICAgew0KLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLCANCi0gICAgICAibmFtZSI6
ICJiYXNpYyBhc3NlcnRfb2JqZWN0X2VxdWFscyB0ZXN0IiwgDQotICAgICAgInN0YWNrIjogbnVs
bCwgDQotICAgICAgIm1lc3NhZ2UiOiBudWxsLCANCi0gICAgICAicHJvcGVydGllcyI6IHt9DQot
ICAgIH0sIA0KLSAgICB7DQotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsIA0KLSAgICAg
ICJuYW1lIjogImJvZHkgZWxlbWVudCBmaXJlcyB0aGUgb25sb2FkIGV2ZW50IHNldCBmcm9tIHRo
ZSBhdHRyaWJ1dGUiLCANCi0gICAgICAic3RhY2siOiBudWxsLCANCi0gICAgICAibWVzc2FnZSI6
IG51bGwsIA0KLSAgICAgICJwcm9wZXJ0aWVzIjoge30NCi0gICAgfSwgDQotICAgIHsNCi0gICAg
ICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwgDQotICAgICAgIm5hbWUiOiAiZG9jdW1lbnQuYm9k
eSBzaG91bGQgYmUgdGhlIGZpcnN0IGJvZHkgZWxlbWVudCBpbiB0aGUgZG9jdW1lbnQiLCANCi0g
ICAgICAic3RhY2siOiBudWxsLCANCi0gICAgICAibWVzc2FnZSI6IG51bGwsIA0KLSAgICAgICJw
cm9wZXJ0aWVzIjoge30NCi0gICAgfSwgDQotICAgIHsNCi0gICAgICAic3RhdHVzX3N0cmluZyI6
ICJQQVNTIiwgDQotICAgICAgIm5hbWUiOiAidGVzdCBmb3IgYXNzZXJ0W19ub3RdX2V4aXN0cyBh
bmQgaW5zZXJ0X2luaGVyaXRzIiwgDQotICAgICAgInN0YWNrIjogbnVsbCwgDQotICAgICAgIm1l
c3NhZ2UiOiBudWxsLCANCi0gICAgICAicHJvcGVydGllcyI6IHt9DQotICAgIH0sIA0KLSAgICB7
DQotICAgICAgInN0YXR1c19zdHJpbmciOiAiVElNRU9VVCIsIA0KLSAgICAgICJuYW1lIjogInRl
c3Qgc2hvdWxkIHRpbWVvdXQgKGZhaWwpIHdpdGggYSBjdXN0b20gc2V0IHRpbWVvdXQgdmFsdWUg
b2YgMSBzZWNvbmQiLCANCi0gICAgICAic3RhY2siOiBudWxsLCANCi0gICAgICAibWVzc2FnZSI6
ICJUZXN0IHRpbWVkIG91dCIsIA0KLSAgICAgICJwcm9wZXJ0aWVzIjogew0KLSAgICAgICAgInRp
bWVvdXQiOiAxMDAwDQotICAgICAgfQ0KLSAgICB9LCANCi0gICAgew0KLSAgICAgICJzdGF0dXNf
c3RyaW5nIjogIlRJTUVPVVQiLCANCi0gICAgICAibmFtZSI6ICJ0ZXN0IHNob3VsZCB0aW1lb3V0
IChmYWlsKSB3aXRoIHRoZSBkZWZhdWx0IG9mIDIgc2Vjb25kcyIsIA0KLSAgICAgICJzdGFjayI6
IG51bGwsIA0KLSAgICAgICJtZXNzYWdlIjogIlRlc3QgdGltZWQgb3V0IiwgDQotICAgICAgInBy
b3BlcnRpZXMiOiB7fQ0KLSAgICB9LCANCi0gICAgew0KLSAgICAgICJzdGF0dXNfc3RyaW5nIjog
IlBBU1MiLCANCi0gICAgICAibmFtZSI6ICJ3aW5kb3cgb25sb2FkIGV2ZW50IGZpcmVzIHdoZW4g
c2V0IGZyb20gdGhlIGhhbmRsZXIiLCANCi0gICAgICAic3RhY2siOiBudWxsLCANCi0gICAgICAi
bWVzc2FnZSI6IG51bGwsIA0KLSAgICAgICJwcm9wZXJ0aWVzIjoge30NCi0gICAgfQ0KLSAgXSwN
Ci0gICJ0eXBlIjogImNvbXBsZXRlIg0KLX0NCi08L3NjcmlwdD4NCi08L2JvZHk+DQotPC9odG1s
Pg0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvYXBpLXRlc3RzLTIuaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvYXBpLXRl
c3RzLTIuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTlmYTViZTljODU5ZTE0
MmI1OWMxMmNhZDg5ZGRmMjk2OWNkOTI4OS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2FwaS10ZXN0cy0yLmh0bWwKKysrIC9kZXYvbnVsbApA
QCAtMSw0NyArMCwwIEBACi08IURPQ1RZUEUgSFRNTD4KLTxodG1sPgotPGhlYWQ+Ci08dGl0bGU+
U2FtcGxlIEhUTUw1IEFQSSBUZXN0czwvdGl0bGU+Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9Imxv
YWRfdGVzdF9hdHRyLmRvbmUoKSI+Ci08aDE+U2FtcGxlIEhUTUw1IEFQSSBUZXN0czwvaDE+Ci08
cD5UaGVyZSBzaG91bGQgYmUgdHdvIHJlc3VsdHM8L3A+Ci08ZGl2IGlkPSJsb2ciPjwvZGl2Pgot
PHNjcmlwdCBzcmM9Ii4uLy4uL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIuLi8uLi90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0Pgotc2V0dXAo
e2V4cGxpY2l0X2RvbmU6dHJ1ZX0pCi10ZXN0KGZ1bmN0aW9uKCkge2Fzc2VydF90cnVlKHRydWUp
fSwgIlRlc3QgZGVmaW5lZCBiZWZvcmUgb25sb2FkIik7Ci0KLW9ubG9hZCA9IGZ1bmN0aW9uKCkg
e3Rlc3QoZnVuY3Rpb24gKCl7YXNzZXJ0X3RydWUodHJ1ZSl9LCAiVGVzdCBkZWZpbmVkIGFmdGVy
IG9ubG9hZCIpOwotZG9uZSgpOwotfQotPC9zY3JpcHQ+Ci08c2NyaXB0IHR5cGU9InRleHQvanNv
biIgaWQ9ImV4cGVjdGVkIj4KLXsKLSAgInN1bW1hcml6ZWRfc3RhdHVzIjogewotICAgICJzdGF0
dXNfc3RyaW5nIjogIk9LIiwKLSAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgInN0YWNrIjogbnVs
bAotICB9LAotICAic3VtbWFyaXplZF90ZXN0cyI6IFsKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0
cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1lIjogIlRlc3QgZGVmaW5lZCBhZnRlciBvbmxvYWQi
LAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAg
ICJzdGFjayI6IG51bGwKLSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBB
U1MiLAotICAgICAgIm5hbWUiOiAiVGVzdCBkZWZpbmVkIGJlZm9yZSBvbmxvYWQiLAotICAgICAg
InByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICJzdGFjayI6
IG51bGwKLSAgICB9Ci0gIF0sCi0gICJ0eXBlIjogImNvbXBsZXRlIgotfQotPC9zY3JpcHQ+Ci08
L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2FwaS10ZXN0cy0zLmh0bWwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0
L3Rlc3RzL2FwaS10ZXN0cy0zLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGZi
NTcxYzhlZTg1NzA4Zjc2N2FlMjQyMTY2Yzg1MmM0MWQzODlmYzcuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9hcGktdGVzdHMtMy5odG1sCisr
KyAvZGV2L251bGwKQEAgLTEsMzYgKzAsMCBAQAotPCFET0NUWVBFIEhUTUw+Ci08aHRtbD4KLTxo
ZWFkPgotPHRpdGxlPlNhbXBsZSBIVE1MNSBBUEkgVGVzdHM8L3RpdGxlPgotPC9oZWFkPgotPHNj
cmlwdCBzcmM9Ii4uLy4uL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLQotPGJvZHkgb25sb2Fk
PSJsb2FkX3Rlc3RfYXR0ci5kb25lKCkiPgotPGgxPlNhbXBsZSBIVE1MNSBBUEkgVGVzdHM8L2gx
PgotPGRpdiBpZD0ibG9nIj48L2Rpdj4KLTxzY3JpcHQ+Ci1zZXR1cCh7ZXhwbGljaXRfdGltZW91
dDp0cnVlfSk7Ci12YXIgdCA9IGFzeW5jX3Rlc3QoIlRoaXMgdGVzdCBzaG91bGQgZ2l2ZSBhIHN0
YXR1cyBvZiAnTm90IFJ1bicgd2l0aG91dCBhIGRlbGF5Iik7Ci10aW1lb3V0KCk7Ci08L3Njcmlw
dD4KLTxzY3JpcHQgdHlwZT0idGV4dC9qc29uIiBpZD0iZXhwZWN0ZWQiPgotewotICAic3VtbWFy
aXplZF9zdGF0dXMiOiB7Ci0gICAgInN0YXR1c19zdHJpbmciOiAiVElNRU9VVCIsCi0gICAgIm1l
c3NhZ2UiOiBudWxsLAotICAgICJzdGFjayI6IG51bGwKLSAgfSwKLSAgInN1bW1hcml6ZWRfdGVz
dHMiOiBbCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiTk9UUlVOIiwKLSAgICAgICJu
YW1lIjogIlRoaXMgdGVzdCBzaG91bGQgZ2l2ZSBhIHN0YXR1cyBvZiAnTm90IFJ1bicgd2l0aG91
dCBhIGRlbGF5IiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6IG51
bGwsCi0gICAgICAic3RhY2siOiBudWxsCi0gICAgfQotICBdLAotICAidHlwZSI6ICJjb21wbGV0
ZSIKLX0KLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9n
ZW5lcmF0ZS1jYWxsYmFjay5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9nZW5lcmF0ZS1jYWxsYmFjay5odG1sCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhNzJhZDYyYTU5ZjU0MmE0YzE1OTUwODMxNWEz
NWU2NDgxYjBmOTc0Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3Rlc3QvdGVzdHMvZ2VuZXJhdGUtY2FsbGJhY2suaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDE2
NyArMCwwIEBACi08IURPQ1RZUEUgSFRNTD4KLTxodG1sPgotPGhlYWQ+Ci08dGl0bGU+U2FtcGxl
IGZvciB1c2luZyBnZW5lcmF0ZV90ZXN0cyB0byBjcmVhdGUgYSBzZXJpZXMgb2YgdGVzdHMgdGhh
dCBzaGFyZSB0aGUgc2FtZSBjYWxsYmFjay48L3RpdGxlPgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxzY3JpcHQ+Ci0vLyBnZW5lcmF0
ZV90ZXN0cyB0YWtlcyBhbiBhcnJheSBvZiBhcnJheXMgdGhhdCBkZWZpbmUgdGVzdHMKLS8vIGJ1
dCBsZXRzIHBhc3MgaXQgYW4gZW1wdHkgYXJyYXkgYW5kIHZlcmlmeSBpdCBkb2VzIG5vdGhpbmcu
Ci1mdW5jdGlvbiBudWxsX2NhbGxiYWNrKCkgewotCXRocm93ICJudWxsX2NhbGxiYWNrIHNob3Vs
ZCBub3QgYmUgY2FsbGVkLiI7Ci19Ci1nZW5lcmF0ZV90ZXN0cyhudWxsX2NhbGxiYWNrLCBbXSk7
Ci0KLS8vIEdlbmVyYXRlIDMgdGVzdHMgc3BlY2lmeWluZyB0aGUgbmFtZSBhbmQgb25lIHBhcmFt
ZXRlcgotZnVuY3Rpb24gdmFsaWRhdGVfYXJndW1lbnRzKGFyZzEpIHsKLQlhc3NlcnRfZXF1YWxz
KGFyZzEsIDEsICJFbnN1cmUgdGhhdCB3ZSBnZXQgb3VyIGV4cGVjdGVkIGFyZ3VtZW50Iik7Ci19
Ci1nZW5lcmF0ZV90ZXN0cyh2YWxpZGF0ZV9hcmd1bWVudHMsIFsKLQlbImZpcnN0IHRlc3QiLCAx
XSwKLQlbInNlY29uZCB0ZXN0IiwgMV0sCi0JWyJ0aGlyZCB0ZXN0IiwgMV0sCi1dKTsKLQotLy8g
R2VuZXJhdGUgYSB0ZXN0IHBhc3NpbmcgaW4gYSBwcm9wZXJ0aWVzIG9iamVjdCB0aGF0IGlzIHNo
YXJlZCBhY3Jvc3MgdGVzdHMuCi1mdW5jdGlvbiB2YWxpZGF0ZV9wcm9wZXJ0aWVzKCkgewotCWFz
c2VydF90cnVlKHRoaXMucHJvcGVydGllcy5zZW50aW5lbCwgIkVuc3VyZSB0aGF0IHdlIGdvdCB0
aGUgcmlnaHQgcHJvcGVydGllcyBvYmplY3QuIik7Ci19Ci1nZW5lcmF0ZV90ZXN0cyh2YWxpZGF0
ZV9wcm9wZXJ0aWVzLCBbWyJzZW50aW5lbCBjaGVjayAxIl0sIFsic2VudGluZWwgY2hlY2sgMiJd
XSwge3NlbnRpbmVsOiB0cnVlfSk7Ci0KLS8vIEdlbmVyYXRlIGEgdGVzdCBwYXNzaW5nIGluIGEg
cHJvcGVydGllcyBvYmplY3QgdGhhdCBpcyBzaGFyZWQgYWNyb3NzIHRlc3RzLgotZnVuY3Rpb24g
dmFsaWRhdGVfc2VwYXJhdGVfcHJvcGVydGllcygpIHsKLQlpZiAodGhpcy5uYW1lID09PSAic2Vu
dGluZWwgY2hlY2sgMSB1bmlxdWUgcHJvcGVydGllcyIpIHsKLQkJYXNzZXJ0X3RydWUodGhpcy5w
cm9wZXJ0aWVzLnNlbnRpbmVsLCAiRW5zdXJlIHRoYXQgd2UgZ290IHRoZSByaWdodCBwcm9wZXJ0
aWVzIG9iamVjdC4gRXhwZWN0IHNlbnRpbmVsOiB0cnVlLiIpOwotCX0KLQllbHNlIHsKLQkJYXNz
ZXJ0X2ZhbHNlKHRoaXMucHJvcGVydGllcy5zZW50aW5lbCwgIkVuc3VyZSB0aGF0IHdlIGdvdCB0
aGUgcmlnaHQgcHJvcGVydGllcyBvYmplY3QuIEV4cGVjdCBzZW50aW5lbDogZmFsc2UuIik7Ci0J
fQotfQotZ2VuZXJhdGVfdGVzdHModmFsaWRhdGVfc2VwYXJhdGVfcHJvcGVydGllcywgW1sic2Vu
dGluZWwgY2hlY2sgMSB1bmlxdWUgcHJvcGVydGllcyJdLCBbInNlbnRpbmVsIGNoZWNrIDIgdW5p
cXVlIHByb3BlcnRpZXMiXV0sIFt7c2VudGluZWw6IHRydWV9LCB7c2VudGluZWw6IGZhbHNlfV0p
OwotCi0vLyBGaW5hbGx5IGdlbmVyYXRlIGEgY29tcGxpY2F0ZWQgc2V0IG9mIHRlc3RzIGZyb20g
YW5vdGhlciBkYXRhIHNvdXJjZQotdmFyIGxldHRlcnMgPSBbImEiLCAiYiIsICJjIiwgImQiLCAi
ZSIsICJmIl07Ci12YXIgbnVtYmVycyA9IFswLCAxLCAyLCAzLCA0LCA1XTsKLWZ1bmN0aW9uIHZh
bGlkYXRlX3JlbGF0ZWRfYXJndW1lbnRzKGFyZzEsIGFyZzIpIHsKLQlhc3NlcnRfZXF1YWxzKGFy
ZzEuY2hhckNvZGVBdCgwKSAtICJhIi5jaGFyQ29kZUF0KDApLCBhcmcyLCAiRW5zdXJlIHRoYXQg
d2UgY2FuIG1hcCBsZXR0ZXJzIHRvIG51bWJlcnMuIik7Ci19Ci1mdW5jdGlvbiBmb3JtYXRfYXNf
dGVzdChsZXR0ZXIsIGluZGV4LCBsZXR0ZXJzKSB7Ci0JcmV0dXJuIFsiVGVzdCB0byBtYXAgIiAr
IGxldHRlciArICIgdG8gIiArIG51bWJlcnNbaW5kZXhdLCBsZXR0ZXIsIG51bWJlcnNbaW5kZXhd
XTsKLX0KLWdlbmVyYXRlX3Rlc3RzKHZhbGlkYXRlX3JlbGF0ZWRfYXJndW1lbnRzLCBsZXR0ZXJz
Lm1hcChmb3JtYXRfYXNfdGVzdCkpOwotPC9zY3JpcHQ+Ci08c2NyaXB0IHR5cGU9InRleHQvanNv
biIgaWQ9ImV4cGVjdGVkIj4KLXsKLSAgInN1bW1hcml6ZWRfc3RhdHVzIjogewotICAgICJzdGF0
dXNfc3RyaW5nIjogIk9LIiwKLSAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgInN0YWNrIjogbnVs
bAotICB9LAotICAic3VtbWFyaXplZF90ZXN0cyI6IFsKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0
cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1lIjogIlRlc3QgdG8gbWFwIGEgdG8gMCIsCi0gICAg
ICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgInN0YWNr
IjogbnVsbAotICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0g
ICAgICAibmFtZSI6ICJUZXN0IHRvIG1hcCBiIHRvIDEiLAotICAgICAgInByb3BlcnRpZXMiOiB7
fSwKLSAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICJzdGFjayI6IG51bGwKLSAgICB9LAot
ICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUiOiAiVGVz
dCB0byBtYXAgYyB0byAyIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2Fn
ZSI6IG51bGwsCi0gICAgICAic3RhY2siOiBudWxsCi0gICAgfSwKLSAgICB7Ci0gICAgICAic3Rh
dHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1lIjogIlRlc3QgdG8gbWFwIGQgdG8gMyIs
Ci0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAg
InN0YWNrIjogbnVsbAotICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFT
UyIsCi0gICAgICAibmFtZSI6ICJUZXN0IHRvIG1hcCBlIHRvIDQiLAotICAgICAgInByb3BlcnRp
ZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICJzdGFjayI6IG51bGwKLSAg
ICB9LAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUi
OiAiVGVzdCB0byBtYXAgZiB0byA1IiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAi
bWVzc2FnZSI6IG51bGwsCi0gICAgICAic3RhY2siOiBudWxsCi0gICAgfSwKLSAgICB7Ci0gICAg
ICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1lIjogImZpcnN0IHRlc3QiLAot
ICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICJz
dGFjayI6IG51bGwKLSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1Mi
LAotICAgICAgIm5hbWUiOiAic2Vjb25kIHRlc3QiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwK
LSAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICJzdGFjayI6IG51bGwKLSAgICB9LAotICAg
IHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUiOiAic2VudGlu
ZWwgY2hlY2sgMSIsCi0gICAgICAicHJvcGVydGllcyI6IHsKLSAgICAgICAgInNlbnRpbmVsIjog
dHJ1ZQotICAgICAgfSwKLSAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICJzdGFjayI6IG51
bGwKLSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAg
Im5hbWUiOiAic2VudGluZWwgY2hlY2sgMSB1bmlxdWUgcHJvcGVydGllcyIsCi0gICAgICAicHJv
cGVydGllcyI6IHsKLSAgICAgICAgInNlbnRpbmVsIjogdHJ1ZQotICAgICAgfSwKLSAgICAgICJt
ZXNzYWdlIjogbnVsbCwKLSAgICAgICJzdGFjayI6IG51bGwKLSAgICB9LAotICAgIHsKLSAgICAg
ICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUiOiAic2VudGluZWwgY2hlY2sg
MiIsCi0gICAgICAicHJvcGVydGllcyI6IHsKLSAgICAgICAgInNlbnRpbmVsIjogdHJ1ZQotICAg
ICAgfSwKLSAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICJzdGFjayI6IG51bGwKLSAgICB9
LAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUiOiAi
c2VudGluZWwgY2hlY2sgMiB1bmlxdWUgcHJvcGVydGllcyIsCi0gICAgICAicHJvcGVydGllcyI6
IHsKLSAgICAgICAgInNlbnRpbmVsIjogZmFsc2UKLSAgICAgIH0sCi0gICAgICAibWVzc2FnZSI6
IG51bGwsCi0gICAgICAic3RhY2siOiBudWxsCi0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVz
X3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1lIjogInRoaXJkIHRlc3QiLAotICAgICAgInBy
b3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICJzdGFjayI6IG51
bGwKLSAgICB9Ci0gIF0sCi0gICJ0eXBlIjogImNvbXBsZXRlIgotfQotPC9zY3JpcHQ+Ci08L2Jv
ZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2lkbGhhcm5lc3MvSWRsQXJyYXkvaXNf
anNvbl90eXBlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2lkbGhhcm5lc3MvSWRsQXJyYXkvaXNfanNvbl90eXBl
Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQyZjlkZDUyYzI5ZWEwMTViZTVm
Y2I4NjYzNWNiNzRlYmZmMDk3Y2IuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvdGVzdC90ZXN0cy9pZGxoYXJuZXNzL0lkbEFycmF5L2lzX2pzb25fdHlwZS5odG1s
CisrKyAvZGV2L251bGwKQEAgLTEsMTk1ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+
Ci08aGVhZD4KLTx0aXRsZT5JZGxBcnJheS5wcm90b3R5cGUuaXNfanNvbl90eXBlKCk8L3RpdGxl
PgotPC9oZWFkPgotPGJvZHk+Ci08ZGl2IGlkPSJsb2ciPjwvZGl2PgotPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvV2ViSURMUGFyc2VyLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL2lk
bGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uL2hlbHBlci5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0PgotICAgICJ1c2Ugc3RyaWN0IjsKLQotICAgIHRlc3QoZnVuY3Rpb24oKSB7
Ci0gICAgICAgIHZhciBpZGwgPSBuZXcgSWRsQXJyYXkoKTsKLSAgICAgICAgYXNzZXJ0X3RydWUo
aWRsLmlzX2pzb25fdHlwZSh0eXBlRnJvbSgiRE9NU3RyaW5nIikpKTsKLSAgICAgICAgYXNzZXJ0
X3RydWUoaWRsLmlzX2pzb25fdHlwZSh0eXBlRnJvbSgiQnl0ZVN0cmluZyIpKSk7Ci0gICAgICAg
IGFzc2VydF90cnVlKGlkbC5pc19qc29uX3R5cGUodHlwZUZyb20oIlVTVlN0cmluZyIpKSk7Ci0g
ICAgICAgIGlkbC5hZGRfdW50ZXN0ZWRfaWRscygnZW51bSBCYXJFbnVtIHsgImEiLCAiYiIsICJj
IiB9OycpOwotICAgICAgICBhc3NlcnRfdHJ1ZShpZGwuaXNfanNvbl90eXBlKHR5cGVGcm9tKCJC
YXJFbnVtIikpKTsKLSAgICB9LCAnc2hvdWxkIHJldHVybiB0cnVlIGZvciBhbGwgc3RyaW5nIHR5
cGVzJyk7Ci0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgaWRsID0gbmV3IElk
bEFycmF5KCk7Ci0gICAgICAgIGFzc2VydF9mYWxzZShpZGwuaXNfanNvbl90eXBlKHR5cGVGcm9t
KCJFcnJvciIpKSk7Ci0gICAgICAgIGFzc2VydF9mYWxzZShpZGwuaXNfanNvbl90eXBlKHR5cGVG
cm9tKCJET01FeGNlcHRpb24iKSkpOwotICAgIH0sICdzaG91bGQgcmV0dXJuIGZhbHNlIGZvciBh
bGwgZXhjZXB0aW9uIHR5cGVzJyk7Ci0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICB2
YXIgaWRsID0gbmV3IElkbEFycmF5KCk7Ci0gICAgICAgIGFzc2VydF9mYWxzZShpZGwuaXNfanNv
bl90eXBlKHR5cGVGcm9tKCJJbnQ4QXJyYXkiKSkpOwotICAgICAgICBhc3NlcnRfZmFsc2UoaWRs
LmlzX2pzb25fdHlwZSh0eXBlRnJvbSgiSW50MTZBcnJheSIpKSk7Ci0gICAgICAgIGFzc2VydF9m
YWxzZShpZGwuaXNfanNvbl90eXBlKHR5cGVGcm9tKCJJbnQzMkFycmF5IikpKTsKLSAgICAgICAg
YXNzZXJ0X2ZhbHNlKGlkbC5pc19qc29uX3R5cGUodHlwZUZyb20oIlVpbnQ4QXJyYXkiKSkpOwot
ICAgICAgICBhc3NlcnRfZmFsc2UoaWRsLmlzX2pzb25fdHlwZSh0eXBlRnJvbSgiVWludDE2QXJy
YXkiKSkpOwotICAgICAgICBhc3NlcnRfZmFsc2UoaWRsLmlzX2pzb25fdHlwZSh0eXBlRnJvbSgi
VWludDMyQXJyYXkiKSkpOwotICAgICAgICBhc3NlcnRfZmFsc2UoaWRsLmlzX2pzb25fdHlwZSh0
eXBlRnJvbSgiVWludDhDbGFtcGVkQXJyYXkiKSkpOwotICAgICAgICBhc3NlcnRfZmFsc2UoaWRs
LmlzX2pzb25fdHlwZSh0eXBlRnJvbSgiRmxvYXQzMkFycmF5IikpKTsKLSAgICAgICAgYXNzZXJ0
X2ZhbHNlKGlkbC5pc19qc29uX3R5cGUodHlwZUZyb20oIkFycmF5QnVmZmVyIikpKTsKLSAgICAg
ICAgYXNzZXJ0X2ZhbHNlKGlkbC5pc19qc29uX3R5cGUodHlwZUZyb20oIkRhdGFWaWV3IikpKTsK
LSAgICB9LCAnc2hvdWxkIHJldHVybiBmYWxzZSBmb3IgYWxsIGJ1ZmZlciBzb3VyY2UgdHlwZXMn
KTsKLQotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBpZGwgPSBuZXcgSWRsQXJy
YXkoKTsKLSAgICAgICAgYXNzZXJ0X3RydWUoaWRsLmlzX2pzb25fdHlwZSh0eXBlRnJvbSgiYm9v
bGVhbiIpKSk7Ci0gICAgfSwgJ3Nob3VsZCByZXR1cm4gdHJ1ZSBmb3IgYm9vbGVhbicpOwotCi0g
ICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIGlkbCA9IG5ldyBJZGxBcnJheSgpOwot
ICAgICAgICBhc3NlcnRfdHJ1ZShpZGwuaXNfanNvbl90eXBlKHR5cGVGcm9tKCJieXRlIikpKTsK
LSAgICAgICAgYXNzZXJ0X3RydWUoaWRsLmlzX2pzb25fdHlwZSh0eXBlRnJvbSgib2N0ZXQiKSkp
OwotICAgICAgICBhc3NlcnRfdHJ1ZShpZGwuaXNfanNvbl90eXBlKHR5cGVGcm9tKCJzaG9ydCIp
KSk7Ci0gICAgICAgIGFzc2VydF90cnVlKGlkbC5pc19qc29uX3R5cGUodHlwZUZyb20oInVuc2ln
bmVkIHNob3J0IikpKTsKLSAgICAgICAgYXNzZXJ0X3RydWUoaWRsLmlzX2pzb25fdHlwZSh0eXBl
RnJvbSgibG9uZyIpKSk7Ci0gICAgICAgIGFzc2VydF90cnVlKGlkbC5pc19qc29uX3R5cGUodHlw
ZUZyb20oInVuc2lnbmVkIGxvbmciKSkpOwotICAgICAgICBhc3NlcnRfdHJ1ZShpZGwuaXNfanNv
bl90eXBlKHR5cGVGcm9tKCJsb25nIGxvbmciKSkpOwotICAgICAgICBhc3NlcnRfdHJ1ZShpZGwu
aXNfanNvbl90eXBlKHR5cGVGcm9tKCJ1bnNpZ25lZCBsb25nIGxvbmciKSkpOwotICAgICAgICBh
c3NlcnRfdHJ1ZShpZGwuaXNfanNvbl90eXBlKHR5cGVGcm9tKCJmbG9hdCIpKSk7Ci0gICAgICAg
IGFzc2VydF90cnVlKGlkbC5pc19qc29uX3R5cGUodHlwZUZyb20oInVucmVzdHJpY3RlZCBmbG9h
dCIpKSk7Ci0gICAgICAgIGFzc2VydF90cnVlKGlkbC5pc19qc29uX3R5cGUodHlwZUZyb20oImRv
dWJsZSIpKSk7Ci0gICAgICAgIGFzc2VydF90cnVlKGlkbC5pc19qc29uX3R5cGUodHlwZUZyb20o
InVucmVzdHJpY3RlZCBkb3VibGUiKSkpOwotICAgIH0sICdzaG91bGQgcmV0dXJuIHRydWUgZm9y
IGFsbCBudW1lcmljIHR5cGVzJyk7Ci0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICB2
YXIgaWRsID0gbmV3IElkbEFycmF5KCk7Ci0gICAgICAgIGFzc2VydF9mYWxzZShpZGwuaXNfanNv
bl90eXBlKHR5cGVGcm9tKCJQcm9taXNlPERPTVN0cmluZz4iKSkpOwotICAgIH0sICdzaG91bGQg
cmV0dXJuIGZhbHNlIGZvciBwcm9taXNlcycpOwotCi0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAg
ICAgICAgdmFyIGlkbCA9IG5ldyBJZGxBcnJheSgpOwotICAgICAgICBhc3NlcnRfZmFsc2UoaWRs
LmlzX2pzb25fdHlwZSh0eXBlRnJvbSgic2VxdWVuY2U8RE9NRXhjZXB0aW9uPiIpKSk7Ci0gICAg
ICAgIGFzc2VydF90cnVlKGlkbC5pc19qc29uX3R5cGUodHlwZUZyb20oInNlcXVlbmNlPERPTVN0
cmluZz4iKSkpOwotICAgIH0sICdzaG91bGQgaGFuZGxlIHNlcXVlbmNlcyBhY2NvcmRpbmcgdG8g
dGhlaXIgaW5uZXIgdHlwZXMnKTsKLSAgICAKLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAg
ICB2YXIgaWRsID0gbmV3IElkbEFycmF5KCk7Ci0gICAgICAgIGFzc2VydF9mYWxzZShpZGwuaXNf
anNvbl90eXBlKHR5cGVGcm9tKCJGcm96ZW5BcnJheTxET01FeGNlcHRpb24+IikpKTsKLSAgICAg
ICAgYXNzZXJ0X3RydWUoaWRsLmlzX2pzb25fdHlwZSh0eXBlRnJvbSgiRnJvemVuQXJyYXk8RE9N
U3RyaW5nPiIpKSk7Ci0gICAgfSwgJ3Nob3VsZCBoYW5kbGUgZnJvemVuIGFycmF5cyBhY2NvcmRp
bmcgdG8gdGhlaXIgaW5uZXIgdHlwZXMnKTsKLQotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAg
ICAgIHZhciBpZGwgPSBuZXcgSWRsQXJyYXkoKTsKLSAgICAgICAgYXNzZXJ0X3RydWUoaWRsLmlz
X2pzb25fdHlwZSh0eXBlRnJvbSgicmVjb3JkPERPTVN0cmluZywgRE9NU3RyaW5nPiIpKSk7Ci0g
ICAgICAgIGFzc2VydF9mYWxzZShpZGwuaXNfanNvbl90eXBlKHR5cGVGcm9tKCJyZWNvcmQ8RE9N
U3RyaW5nLCBFcnJvcj4iKSkpOwotICAgIH0sICdzaG91bGQgaGFuZGxlIHJlY29yZHMgYWNjb3Jk
aW5nIHRvIHRoZWlyIGlubmVyIHR5cGVzJyk7Ci0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAg
ICAgICB2YXIgaWRsID0gbmV3IElkbEFycmF5KCk7Ci0gICAgICAgIGFzc2VydF90cnVlKGlkbC5p
c19qc29uX3R5cGUodHlwZUZyb20oIm9iamVjdCIpKSk7Ci0gICAgfSwgJ3Nob3VsZCByZXR1cm4g
dHJ1ZSBmb3Igb2JqZWN0IHR5cGUnKTsKLQotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAg
IHZhciBpZGwgPSBuZXcgSWRsQXJyYXkoKTsKLSAgICAgICAgYXNzZXJ0X2ZhbHNlKGlkbC5pc19q
c29uX3R5cGUodHlwZUZyb20oImFueSIpKSk7Ci0gICAgfSwgJ3Nob3VsZCByZXR1cm4gZmFsc2Ug
Zm9yIGFueSB0eXBlJyk7Ci0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgaWRs
ID0gbmV3IElkbEFycmF5KCk7Ci0gICAgICAgIGlkbC5hZGRfdW50ZXN0ZWRfaWRscygnZGljdGlv
bmFyeSBGb28geyBET01TdHJpbmcgZm9vOyB9OyBkaWN0aW9uYXJ5IEJhciA6IEZvbyB7IERPTVN0
cmluZyBiYXI7IH07Jyk7Ci0gICAgICAgIGFzc2VydF90cnVlKGlkbC5pc19qc29uX3R5cGUodHlw
ZUZyb20oIkZvbyIpKSk7Ci0gICAgICAgIGFzc2VydF90cnVlKGlkbC5pc19qc29uX3R5cGUodHlw
ZUZyb20oIkJhciIpKSk7Ci0gICAgfSwgJ3Nob3VsZCByZXR1cm4gdHJ1ZSBmb3IgZGljdGlvbmFy
aWVzIHdob3NlIG1lbWJlcnMgYXJlIGFsbCBKU09OIHR5cGVzJyk7Ci0KLSAgICB0ZXN0KGZ1bmN0
aW9uKCkgewotICAgICAgICB2YXIgaWRsID0gbmV3IElkbEFycmF5KCk7Ci0gICAgICAgIGlkbC5h
ZGRfdW50ZXN0ZWRfaWRscygnZGljdGlvbmFyeSBGb28geyB9OycpOwotICAgICAgICBhc3NlcnRf
dHJ1ZShpZGwuaXNfanNvbl90eXBlKHR5cGVGcm9tKCJGb28iKSkpOwotICAgIH0sICdzaG91bGQg
cmV0dXJuIHRydWUgZm9yIGRpY3Rpb25hcmllcyB3aGljaCBoYXZlIG5vIG1lbWJlcnMnKTsKLQot
ICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBpZGwgPSBuZXcgSWRsQXJyYXkoKTsK
LSAgICAgICAgaWRsLmFkZF91bnRlc3RlZF9pZGxzKCdkaWN0aW9uYXJ5IEZvb0JhciB7IERPTVN0
cmluZyBhOyBFcnJvciBiOyB9OyBkaWN0aW9uYXJ5IEJheiA6IEZvb0JhciB7fTsnKTsKLSAgICAg
ICAgYXNzZXJ0X2ZhbHNlKGlkbC5pc19qc29uX3R5cGUodHlwZUZyb20oIkZvb0JhciIpKSk7Ci0g
ICAgICAgIGFzc2VydF9mYWxzZShpZGwuaXNfanNvbl90eXBlKHR5cGVGcm9tKCJCYXoiKSkpOwot
ICAgIH0sICdzaG91bGQgcmV0dXJuIGZhbHNlIGZvciBkaWN0aW9uYXJpZXMgd2hvc2UgbWVtYmVy
cyBhcmUgbm90IGFsbCBKU09OIHR5cGVzJyk7Ci0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAg
ICAgICB2YXIgaWRsID0gbmV3IElkbEFycmF5KCk7Ci0gICAgICAgIGlkbC5hZGRfdW50ZXN0ZWRf
aWRscygnaW50ZXJmYWNlIEZvbyB7IERPTVN0cmluZyB0b0pTT04oKTsgfTsnKTsKLSAgICAgICAg
YXNzZXJ0X3RydWUoaWRsLmlzX2pzb25fdHlwZSh0eXBlRnJvbSgiRm9vIikpKTsKLSAgICB9LCAn
c2hvdWxkIHJldHVybiB0cnVlIGZvciBpbnRlcmZhY2VzIHdoaWNoIGRlY2xhcmUgYSB0b0pTT04g
b3BlcmF0aW9uJyk7Ci0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgaWRsID0g
bmV3IElkbEFycmF5KCk7Ci0gICAgICAgIGlkbC5hZGRfdW50ZXN0ZWRfaWRscygnaW50ZXJmYWNl
IEZvbyB7IERPTVN0cmluZyB0b0pTT04oKTsgfTsgaW50ZXJmYWNlIEJhciA6IEZvbyB7IH07Jyk7
Ci0gICAgICAgIGFzc2VydF90cnVlKGlkbC5pc19qc29uX3R5cGUodHlwZUZyb20oIkJhciIpKSk7
Ci0gICAgfSwgJ3Nob3VsZCByZXR1cm4gdHJ1ZSBmb3IgaW50ZXJmYWNlcyB3aGljaCBpbmhlcml0
IGZyb20gYW4gaW50ZXJmYWNlIHdoaWNoIGRlY2xhcmVzIGEgdG9KU09OIG9wZXJhdGlvbicpOwot
Ci0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIGlkbCA9IG5ldyBJZGxBcnJheSgp
OwotICAgICAgICBpZGwuYWRkX3VudGVzdGVkX2lkbHMoJ2ludGVyZmFjZSBGb28geyB9OyBpbnRl
cmZhY2UgQmFyIHsgRE9NU3RyaW5nIHRvSlNPTigpOyB9OyBGb28gaW1wbGVtZW50cyBCYXI7Jyk7
Ci0gICAgICAgIGFzc2VydF90cnVlKGlkbC5pc19qc29uX3R5cGUodHlwZUZyb20oIkZvbyIpKSk7
Ci0gICAgfSwgJ3Nob3VsZCByZXR1cm4gdHJ1ZSBmb3IgaW50ZXJmYWNlcyB3aGljaCBtaXhpbiBh
biBpbnRlcmZhY2Ugd2hpY2ggZGVjbGFyZSBhIHRvSlNPTiBvcGVyYXRpb24nKTsKLQotLy8gICAg
dGVzdChmdW5jdGlvbigpIHsKLS8vICAgICAgICB2YXIgaWRsID0gbmV3IElkbEFycmF5KCk7Ci0v
LyAgICAgICAgaWRsLmFkZF91bnRlc3RlZF9pZGxzKCdpbnRlcmZhY2UgRm9vIHsgfTsgaW50ZXJm
YWNlIEJhciB7IH07IGludGVyZmFjZSBCYXogeyBET01TdHJpbmcgdG9KU09OKCk7IH07IEZvbyBp
bXBsZW1lbnRzIEJhcjsgQmFyIGltcGxlbWVudHMgQmF6OycpOwotLy8gICAgICAgIGFzc2VydF90
cnVlKGlkbC5pc19qc29uX3R5cGUodHlwZUZyb20oIkZvbyIpKSk7Ci0vLyAgICB9LCAnc2hvdWxk
IHJldHVybiB0cnVlIGZvciBpbnRlcmZhY2VzIHdoaWNoIG1peGluIGFuIGludGVyZmFjZSB3aGlj
aCBpdHNlbGYgbWl4ZXMgaW4gYW4gaW50ZXJmYWNlIHdoaWNoIGRlY2xhcmVzIGEgdG9KU09OIG9w
ZXJhdGlvbicpOwotCi0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIGlkbCA9IG5l
dyBJZGxBcnJheSgpOwotICAgICAgICBpZGwuYWRkX3VudGVzdGVkX2lkbHMoJ2ludGVyZmFjZSBG
b28geyB9OycpOwotICAgICAgICBhc3NlcnRfZmFsc2UoaWRsLmlzX2pzb25fdHlwZSh0eXBlRnJv
bSgiRm9vIikpKTsKLSAgICB9LCAnc2hvdWxkIHJldHVybiBmYWxzZSBmb3IgaW50ZXJmYWNlcyB3
aGljaCBkbyBub3QgZGVjbGFyZSBhIHRvSlNPTiBvcGVyYXRpb24nKTsKLQotICAgIHRlc3QoZnVu
Y3Rpb24oKSB7Ci0gICAgICAgIHZhciBpZGwgPSBuZXcgSWRsQXJyYXkoKTsKLSAgICAgICAgaWRs
LmFkZF91bnRlc3RlZF9pZGxzKCdpbnRlcmZhY2UgRm9vIHsgb2JqZWN0IHRvSlNPTigpOyB9Oycp
OwotICAgICAgICBhc3NlcnRfdHJ1ZShpZGwuaXNfanNvbl90eXBlKHR5cGVGcm9tKCIoRm9vIG9y
IERPTVN0cmluZykiKSkpOwotICAgIH0sICdzaG91bGQgcmV0dXJuIHRydWUgZm9yIHVuaW9uIHR5
cGVzIHdob3NlIG1lbWJlciB0eXBlcyBhcmUgSlNPTiB0eXBlcycpOwotCi0gICAgdGVzdChmdW5j
dGlvbigpIHsKLSAgICAgICAgdmFyIGlkbCA9IG5ldyBJZGxBcnJheSgpOwotICAgICAgICBhc3Nl
cnRfZmFsc2UoaWRsLmlzX2pzb25fdHlwZSh0eXBlRnJvbSgiKERhdGFWaWV3IG9yIERPTVN0cmlu
ZykiKSkpOwotICAgIH0sICdzaG91bGQgcmV0dXJuIGZhbHNlIGZvciB1bmlvbiB0eXBlcyB3aG9z
ZSBtZW1iZXIgdHlwZXMgYXJlIG5vdCBhbGwgSlNPTiB0eXBlcycpOwotCi0gICAgdGVzdChmdW5j
dGlvbigpIHsKLSAgICAgICAgdmFyIGlkbCA9IG5ldyBJZGxBcnJheSgpOwotICAgICAgICBhc3Nl
cnRfdHJ1ZShpZGwuaXNfanNvbl90eXBlKHR5cGVGcm9tKCJET01TdHJpbmc/IikpKTsKLSAgICAg
ICAgYXNzZXJ0X2ZhbHNlKGlkbC5pc19qc29uX3R5cGUodHlwZUZyb20oIkRhdGFWaWV3PyIpKSk7
Ci0gICAgfSwgJ3Nob3VsZCBjb25zaWRlciB0aGUgaW5uZXIgdHlwZXMgb2YgbnVsbGFibGUgdHlw
ZXMnKTsKLQotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBpZGwgPSBuZXcgSWRs
QXJyYXkoKTsKLSAgICAgICAgYXNzZXJ0X3RydWUoaWRsLmlzX2pzb25fdHlwZSh0eXBlRnJvbSgi
W1hBdHRyXSBsb25nIikpKTsKLSAgICAgICAgYXNzZXJ0X2ZhbHNlKGlkbC5pc19qc29uX3R5cGUo
dHlwZUZyb20oIltYQXR0cl0gRGF0YVZpZXciKSkpOwotICAgIH0sICdzaG91bGQgY29uc2lkZXIg
dGhlIGlubmVyIHR5cGVzIG9mIGFubm90YXRlZCB0eXBlcy4nKTsKLQotICAgIHRlc3QoZnVuY3Rp
b24oKSB7Ci0gICAgICAgIHZhciBpZGwgPSBuZXcgSWRsQXJyYXkoKTsKLSAgICAgICAgYXNzZXJ0
X3Rocm93cyhuZXcgRXJyb3IoKSwgXyA9PiBpZGwuaXNfanNvbl90eXBlKHR5cGVGcm9tKCJGb28i
KSkpOwotICAgIH0sICJzaG91bGQgdGhyb3cgaWYgaXQgcmVmZXJlbmNlcyBhIGRpY3Rpb25hcnks
IGVudW0gb3IgaW50ZXJmYWNlIHdoaWNoIHdhc24ndCBhZGRlZCB0byB0aGUgSWRsQXJyYXkiKTsK
LQotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBpZGwgPSBuZXcgSWRsQXJyYXko
KTsKLSAgICAgICAgaWRsLmFkZF91bnRlc3RlZF9pZGxzKCdpbnRlcmZhY2UgRm9vIDogQmFyIHsg
fTsnKTsKLSAgICAgICAgYXNzZXJ0X3Rocm93cyhuZXcgRXJyb3IoKSwgXyA9PiBpZGwuaXNfanNv
bl90eXBlKHR5cGVGcm9tKCJGb28iKSkpOwotICAgIH0sICJzaG91bGQgdGhyb3cgZm9yIGludGVy
ZmFjZXMgd2hpY2ggaW5oZXJpdCBmcm9tIGFub3RoZXIgaW50ZXJmYWNlIHdoaWNoIHdhc24ndCBh
ZGRlZCB0byB0aGUgSWRsQXJyYXkiKTsKLQotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAg
IHZhciBpZGwgPSBuZXcgSWRsQXJyYXkoKTsKLSAgICAgICAgYXNzZXJ0X3RydWUoaWRsLmlzX2pz
b25fdHlwZSh0eXBlZGVmRnJvbSgidHlwZWRlZiBkb3VibGUgRE9NSGlnaFJlc1RpbWVTdGFtcDsi
KS5pZGxUeXBlKSk7Ci0gICAgfSwgJ3Nob3VsZCByZXR1cm4gdHJ1ZSBmb3IgdHlwZWRlZnMgd2hv
c2Ugc291cmNlIHR5cGUgaXMgYSBKU09OIHR5cGUnKTsKLQotICAgIHRlc3QoZnVuY3Rpb24oKSB7
Ci0gICAgICAgIHZhciBpZGwgPSBuZXcgSWRsQXJyYXkoKTsKLSAgICAgICAgYXNzZXJ0X2ZhbHNl
KGlkbC5pc19qc29uX3R5cGUodHlwZWRlZkZyb20oInR5cGVkZWYgRGF0YVZpZXcgRE9NSGlnaFJl
c1RpbWVTdGFtcDsiKS5pZGxUeXBlKSk7Ci0gICAgfSwgJ3Nob3VsZCByZXR1cm4gZmFsc2UgZm9y
IHR5cGVkZWZzIHdob3NlIHNvdXJjZSB0eXBlIGlzIG5vdCBhIEpTT04gdHlwZScpOwotPC9zY3Jp
cHQ+Ci08L2JvZHk+Ci08L2h0bWw+Ci0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRsaGFybmVzcy9J
ZGxBcnJheS93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRsaGFybmVzcy9JZGxBcnJheS93M2Mt
aW1wb3J0LmxvZwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNGU4OTkwYjBmZDdiYzJi
ZTk4ZDc4ZTAzM2NlYWM5MWQyZWNiZDAzOC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2lkbGhhcm5lc3MvSWRsQXJyYXkvdzNjLWltcG9ydC5s
b2cKKysrIC9kZXYvbnVsbApAQCAtMSwxNyArMCwwIEBACi1UaGUgdGVzdHMgaW4gdGhpcyBkaXJl
Y3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KLURvIE5PVCBtb2Rp
ZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVhZCwgY3JlYXRlIGEgcHVs
bCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzCi0KLVRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2Mt
dGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0Ci0KLURvIE5PVCBtb2RpZnkgb3IgcmVtb3ZlIHRo
aXMgZmlsZS4KLQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1Qcm9wZXJ0aWVzIHJlcXVpcmluZyB2ZW5kb3Ig
cHJlZml4ZXM6Ci1Ob25lCi1Qcm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhl
czoKLU5vbmUKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotTGlzdCBvZiBmaWxlczoKLS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2lkbGhh
cm5lc3MvSWRsQXJyYXkvaXNfanNvbl90eXBlLmh0bWwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRs
aGFybmVzcy9JZGxEaWN0aW9uYXJ5L2dldF9pbmhlcml0YW5jZV9zdGFjay5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0
cy9pZGxoYXJuZXNzL0lkbERpY3Rpb25hcnkvZ2V0X2luaGVyaXRhbmNlX3N0YWNrLmh0bWwKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDgzODYzZmI4ZDc2YTc5ZjI5ZmUxY2FkNzY4NjU3
ODBmZWU0YzA3YmQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
dGVzdC90ZXN0cy9pZGxoYXJuZXNzL0lkbERpY3Rpb25hcnkvZ2V0X2luaGVyaXRhbmNlX3N0YWNr
Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwzNSArMCwwIEBACi08IURPQ1RZUEUgSFRNTD4KLTxo
dG1sPgotPGhlYWQ+Ci08dGl0bGU+SWRsRGljdGlvbmFyeS5wcm90b3R5cGUuZ2V0X2luaGVyaXRh
bmNlX3N0YWNrKCk8L3RpdGxlPgotPC9oZWFkPgotPGJvZHk+Ci08ZGl2IGlkPSJsb2ciPjwvZGl2
PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvV2ViSURMUGFyc2VyLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL2lkbGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4u
L2hlbHBlci5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotICAgICJ1c2Ugc3RyaWN0IjsKLSAgICB0
ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgc3RhY2sgPSBkaWN0aW9uYXJ5RnJvbSgnZGlj
dGlvbmFyeSBBIHsgfTsnKS5nZXRfaW5oZXJpdGFuY2Vfc3RhY2soKTsKLSAgICAgICAgYXNzZXJ0
X2FycmF5X2VxdWFscyhzdGFjay5tYXAoZCA9PiBkLm5hbWUpLCBbIkEiXSk7Ci0gICAgfSwgJ3No
b3VsZCByZXR1cm4gYW4gYXJyYXkgdGhhdCBpbmNsdWRlcyBpdHNlbGYuJyk7Ci0gICAgCi0gICAg
dGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIGQgPSBkaWN0aW9uYXJ5RnJvbSgnZGljdGlv
bmFyeSBBIDogQiB7IH07Jyk7Ci0gICAgICAgIGFzc2VydF90aHJvd3MobmV3IEVycm9yKCksIF8g
PT4gZC5nZXRfaW5oZXJpdGFuY2Vfc3RhY2soKSk7Ci0gICAgfSwgInNob3VsZCB0aHJvdyBmb3Ig
ZGljdGlvbmFyaWVzIHdoaWNoIGluaGVyaXQgZnJvbSBhbm90aGVyIGRpY3Rpb25hcnkgd2hpY2gg
d2Fzbid0IGFkZGVkIHRvIHRoZSBJZGxBcnJheSIpOwotICAgIAotICAgIHRlc3QoZnVuY3Rpb24o
KSB7Ci0gICAgICAgIHZhciBpZGwgPSBuZXcgSWRsQXJyYXkoKTsKLSAgICAgICAgaWRsLmFkZF9p
ZGxzKCdkaWN0aW9uYXJ5IEEgOiBCIHsgfTsnKTsKLSAgICAgICAgaWRsLmFkZF91bnRlc3RlZF9p
ZGxzKCdkaWN0aW9uYXJ5IEIgOiBDIHsgfTsgZGljdGlvbmFyeSBDIHsgfTsnKTsKLSAgICAgICAg
dmFyIEEgPSBpZGwubWVtYmVyc1siQSJdOwotICAgICAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKEEu
Z2V0X2luaGVyaXRhbmNlX3N0YWNrKCkubWFwKGQgPT4gZC5uYW1lKSwgWyJBIiwgIkIiLCAiQyJd
KTsKLSAgICB9LCAnc2hvdWxkIHJldHVybiBhbiBhcnJheSBvZiBpbmhlcml0ZWQgZGljdGlvbmFy
aWVzIGluIG9yZGVyIG9mIGluaGVyaXRhbmNlLCBzdGFydGluZyB3aXRoIGl0c2VsZi4nKTsKLTwv
c2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2lkbGhhcm5l
c3MvSWRsRGljdGlvbmFyeS93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRsaGFybmVzcy9JZGxE
aWN0aW9uYXJ5L3czYy1pbXBvcnQubG9nCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBj
OWY3MzU4YTVmYjRlZmQ2ZTNkODkyYzkxNDg5MDYzNzZiM2YzN2U5Li4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRsaGFybmVzcy9JZGxEaWN0
aW9uYXJ5L3czYy1pbXBvcnQubG9nCisrKyAvZGV2L251bGwKQEAgLTEsMTcgKzAsMCBAQAotVGhl
IHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9z
aXRvcnkuCi1EbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUlu
c3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKLQlodHRwczov
L2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cwotCi1UaGVuIHJ1biB0aGUgVG9vbHMv
U2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydAotCi1EbyBOT1Qg
bW9kaWZ5IG9yIHJlbW92ZSB0aGlzIGZpbGUuCi0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotUHJvcGVydGll
cyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgotTm9uZQotUHJvcGVydHkgdmFsdWVzIHJlcXVp
cmluZyB2ZW5kb3IgcHJlZml4ZXM6Ci1Ob25lCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLUxpc3Qgb2YgZmls
ZXM6Ci0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvdGVzdC90ZXN0cy9pZGxoYXJuZXNzL0lkbERpY3Rpb25hcnkvZ2V0X2luaGVyaXRhbmNlX3N0
YWNrLmh0bWwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRsaGFybmVzcy9JZGxJbnRlcmZhY2UvZGVm
YXVsdF90b19qc29uX29wZXJhdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9pZGxoYXJuZXNzL0lkbEludGVy
ZmFjZS9kZWZhdWx0X3RvX2pzb25fb3BlcmF0aW9uLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IGE3N2VlM2U3ZjFmZGIzMTIxNzAzNTZiNzRlYmRkMWVkYjY5OGEyNTEuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9pZGxoYXJu
ZXNzL0lkbEludGVyZmFjZS9kZWZhdWx0X3RvX2pzb25fb3BlcmF0aW9uLmh0bWwKKysrIC9kZXYv
bnVsbApAQCAtMSwxODkgKzAsMCBAQAotPCFET0NUWVBFIEhUTUw+Ci08aHRtbD4KLTxoZWFkPgot
PHRpdGxlPklkbERpY3Rpb25hcnkucHJvdG90eXBlLmRlZmF1bHRfdG9fanNvbl9vcGVyYXRpb24o
KTwvdGl0bGU+Ci08L2hlYWQ+Ci08Ym9keT4KLTxkaXYgaWQ9ImxvZyI+PC9kaXY+Ci08c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy9XZWJJRExQYXJzZXIuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvaWRsaGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vaGVscGVyLmpz
Ij48L3NjcmlwdD4KLTxwcmUgaWQ9ZnJhZ21lbnRzPgotICAgIGludGVyZmFjZSBBIDogQiB7Ci0g
ICAgICBhdHRyaWJ1dGUgRE9NU3RyaW5nIGE7Ci0gICAgfTsKLQotICAgIGludGVyZmFjZSBCIDog
QyB7Ci0gICAgICBbRGVmYXVsdF0gb2JqZWN0IHRvSlNPTigpOwotICAgICAgYXR0cmlidXRlIGxv
bmcgYjsKLSAgICB9OwotCi0gICAgaW50ZXJmYWNlIEMgewotICAgICAgYXR0cmlidXRlIERPTVN0
cmluZyBjOwotICAgIH07Ci0KLSAgICBpbnRlcmZhY2UgRCA6IEUgewotICAgICAgW0RlZmF1bHRd
IG9iamVjdCB0b0pTT04oKTsKLSAgICAgIGF0dHJpYnV0ZSBmbG9hdCBkOwotICAgIH07Ci0KLSAg
ICBpbnRlcmZhY2UgRSA6IEYgewotICAgICAgYXR0cmlidXRlIERPTVN0cmluZyBlOwotICAgIH07
Ci0KLSAgICBpbnRlcmZhY2UgRiB7Ci0gICAgICBbRGVmYXVsdF0gb2JqZWN0IHRvSlNPTigpOwot
ICAgICAgYXR0cmlidXRlIHVucmVzdHJpY3RlZCBkb3VibGUgZjsKLSAgICB9OwotCi0gICAgaW50
ZXJmYWNlIEcgewotICAgICAgW0RlZmF1bHRdIG9iamVjdCB0b0pTT04oKTsKLSAgICAgIGF0dHJp
YnV0ZSBvY3RldCBnOwotICAgIH07Ci0KLSAgICBpbnRlcmZhY2UgSCB7Ci0gICAgICBbRGVmYXVs
dF0gb2JqZWN0IHRvSlNPTigpOwotICAgICAgYXR0cmlidXRlIERPTVN0cmluZyBoOwotICAgIH07
Ci0KLSAgICBpbnRlcmZhY2UgSSB7Ci0gICAgICBbRGVmYXVsdF0gb2JqZWN0IHRvSlNPTigpOwot
ICAgICAgYXR0cmlidXRlIGJvb2xlYW4gaTsKLSAgICB9OwotCi0gICAgaW50ZXJmYWNlIEogewot
ICAgICAgW0RlZmF1bHRdIG9iamVjdCB0b0pTT04oKTsKLSAgICAgIGF0dHJpYnV0ZSBEIGo7Ci0g
ICAgfTsKLQotICAgIEEgaW1wbGVtZW50cyBHOwotICAgIEEgaW1wbGVtZW50cyBIOwotICAgIEIg
aW1wbGVtZW50cyBEOwotICAgIEUgaW1wbGVtZW50cyBJOwotICAgIEggaW1wbGVtZW50cyBKOwot
PC9wcmU+Ci08c2NyaXB0PgotICAgICJ1c2Ugc3RyaWN0IjsKLSAgICB0ZXN0KGZ1bmN0aW9uKCkg
ewotICAgICAgICB2YXIgbWFwID0gaW50ZXJmYWNlRnJvbSgnaW50ZXJmYWNlIEEgeyBbRGVmYXVs
dF0gb2JqZWN0IHRvSlNPTigpOyB9OycpLmRlZmF1bHRfdG9fanNvbl9vcGVyYXRpb24oKTsKLSAg
ICAgICAgYXNzZXJ0X2VxdWFscyhtYXAuc2l6ZSwgMCk7Ci0gICAgfSwgJ3Nob3VsZCByZXR1cm4g
YW4gZW1wdHkgbWFwIHdoZW4gdGhlcmUgYXJlIG5vIGF0dHJpYnV0ZXMnKTsKLQotICAgIHRlc3Qo
ZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciByID0gaW50ZXJmYWNlRnJvbSgnaW50ZXJmYWNlIEEg
eyB9OycpLmRlZmF1bHRfdG9fanNvbl9vcGVyYXRpb24oKTsKLSAgICAgICAgYXNzZXJ0X2VxdWFs
cyhyLCBudWxsKTsKLSAgICB9LCAnc2hvdWxkIHJldHVybiBudWxsIHdoZW4gdGhlcmUgaXMgbm8g
dG9KU09OIG1ldGhvZCcpOwotCi0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIHIg
PSBpbnRlcmZhY2VGcm9tKCdpbnRlcmZhY2UgQSB7IERPTVN0cmluZyB0b0pTT04oKTsgfTsnKS5k
ZWZhdWx0X3RvX2pzb25fb3BlcmF0aW9uKCk7Ci0gICAgICAgIGFzc2VydF9lcXVhbHMociwgbnVs
bCk7Ci0gICAgfSwgJ3Nob3VsZCByZXR1cm4gbnVsbCB3aGVuIHRoZXJlIGlzIGEgdG9KU09OIG1l
dGhvZCBidXQgaXQgZG9lcyBub3QgaGF2ZSB0aGUgW0RlZmF1bHRdIGV4dGVuZGVkIGF0dHJpYnV0
ZScpOwotCi0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIGNvbnRleHQgPSBuZXcg
SWRsQXJyYXkoKTsKLSAgICAgICAgY29udGV4dC5hZGRfaWRscygiaW50ZXJmYWNlIEEgOiBCIHsg
RE9NU3RyaW5nIHRvSlNPTigpOyB9OyIpOwotICAgICAgICBjb250ZXh0LmFkZF9pZGxzKCJpbnRl
cmZhY2UgQiB7IFtEZWZhdWx0XSBvYmplY3QgdG9KU09OKCk7IH07Iik7Ci0gICAgICAgIHZhciBy
ID0gY29udGV4dC5tZW1iZXJzLkEuZGVmYXVsdF90b19qc29uX29wZXJhdGlvbigpOwotICAgICAg
ICBhc3NlcnRfZXF1YWxzKHIsIG51bGwpOwotICAgIH0sICdzaG91bGQgcmV0dXJuIG51bGwgd2hl
biB0aGVyZSBpcyBhIHRvSlNPTiBtZXRob2QgYnV0IGl0IGRvZXMgbm90IGhhdmUgdGhlIFtEZWZh
dWx0XSBleHRlbmRlZCBhdHRyaWJ1dGUgZXZlbiBpZiB0aGlzIGV4dGVuZGVkIGF0dHJpYnV0ZSBl
eGlzdHMgb24gaW5oZXJpdGVkIGludGVyZmFjZXMnKTsKLQotICAgIHRlc3QoZnVuY3Rpb24oKSB7
Ci0gICAgICAgIHZhciBtYXAgPSBpbnRlcmZhY2VGcm9tKCdpbnRlcmZhY2UgQSB7IFtEZWZhdWx0
XSBvYmplY3QgdG9KU09OKCk7IHN0YXRpYyBhdHRyaWJ1dGUgRE9NU3RyaW5nIGZvbzsgfTsnKS5k
ZWZhdWx0X3RvX2pzb25fb3BlcmF0aW9uKCk7Ci0gICAgICAgIGFzc2VydF9lcXVhbHMobWFwLnNp
emUsIDApOwotICAgIH0sICdzaG91bGQgbm90IGluY2x1ZGUgc3RhdGljIGF0dHJpYnV0ZXMnKTsK
LQotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBtYXAgPSBpbnRlcmZhY2VGcm9t
KCdpbnRlcmZhY2UgQSB7IFtEZWZhdWx0XSBvYmplY3QgdG9KU09OKCk7IGF0dHJpYnV0ZSBQcm9t
aXNlPERPTVN0cmluZz4gYmFyOyB9OycpLmRlZmF1bHRfdG9fanNvbl9vcGVyYXRpb24oKTsKLSAg
ICAgICAgYXNzZXJ0X2VxdWFscyhtYXAuc2l6ZSwgMCk7Ci0gICAgfSwgJ3Nob3VsZCBub3QgaW5j
bHVkZSBhdHRyaWJ1dGVzIHdoaWNoIGFyZSBub3QgSlNPTiB0eXBlcycpOwotCi0gICAgdGVzdChm
dW5jdGlvbigpIHsKLSAgICAgICAgdmFyIG1hcCA9IGludGVyZmFjZUZyb20oJ2ludGVyZmFjZSBB
IHsgW0RlZmF1bHRdIG9iamVjdCB0b0pTT04oKTsgRE9NU3RyaW5nIGJhcigpOyB9OycpLmRlZmF1
bHRfdG9fanNvbl9vcGVyYXRpb24oKTsKLSAgICAgICAgYXNzZXJ0X2VxdWFscyhtYXAuc2l6ZSwg
MCk7Ci0gICAgfSwgJ3Nob3VsZCBub3QgaW5jbHVkZSBvcGVyYXRpb25zJyk7Ci0KLSAgICB0ZXN0
KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgbWFwID0gaW50ZXJmYWNlRnJvbSgnaW50ZXJmYWNl
IEEgeyBbRGVmYXVsdF0gb2JqZWN0IHRvSlNPTigpOyBhdHRyaWJ1dGUgRE9NU3RyaW5nIGJhcjsg
fTsnKS5kZWZhdWx0X3RvX2pzb25fb3BlcmF0aW9uKCk7Ci0gICAgICAgIGFzc2VydF9lcXVhbHMo
bWFwLnNpemUsIDEpOwotICAgICAgICBhc3NlcnRfdHJ1ZShtYXAuaGFzKCJiYXIiKSk7Ci0gICAg
ICAgIGFzc2VydF9lcXVhbHMobWFwLmdldCgiYmFyIikuaWRsVHlwZSwgIkRPTVN0cmluZyIpOwot
ICAgIH0sICdzaG91bGQgcmV0dXJuIGEgbWFwIHdob3NlIGtleS92YWx1ZSBwYWlyIHJlcHJlc2Vu
dCB0aGUgaWRlbnRpZmllciBhbmQgSURMIHR5cGUgb2YgdmFsaWQgYXR0cmlidXRlcycpOwotCi0g
ICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIGNvbnRleHQgPSBuZXcgSWRsQXJyYXko
KTsKLSAgICAgICAgY29udGV4dC5hZGRfaWRscygiaW50ZXJmYWNlIEEgOiBCIHsgW0RlZmF1bHRd
IG9iamVjdCB0b0pTT04oKTsgYXR0cmlidXRlIERPTVN0cmluZyBhOyB9OyIpOwotICAgICAgICBj
b250ZXh0LmFkZF9pZGxzKCJpbnRlcmZhY2UgQiB7IFtEZWZhdWx0XSBvYmplY3QgdG9KU09OKCk7
IGF0dHJpYnV0ZSBsb25nIGI7IH07Iik7Ci0gICAgICAgIHZhciBtYXAgPSBjb250ZXh0Lm1lbWJl
cnMuQS5kZWZhdWx0X3RvX2pzb25fb3BlcmF0aW9uKCk7Ci0gICAgICAgIGFzc2VydF9hcnJheV9l
cXVhbHMoWy4uLm1hcC5rZXlzKCldLCBbImIiLCAiYSJdKTsKLSAgICAgICAgYXNzZXJ0X2FycmF5
X2VxdWFscyhbLi4ubWFwLnZhbHVlcygpXS5tYXAodiA9PiB2LmlkbFR5cGUpLCBbImxvbmciLCAi
RE9NU3RyaW5nIl0pOwotICAgIH0sICdzaG91bGQgcmV0dXJuIGEgcHJvcGVybHkgb3JkZXJlZCBt
YXAgdGhhdCBjb250YWlucyBJREwgdHlwZXMgb2YgdmFsaWQgYXR0cmlidXRlcyBmb3IgaW5oZXJp
dGVkIGludGVyZmFjZXMnKTsKLQotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBj
b250ZXh0ID0gbmV3IElkbEFycmF5KCk7Ci0gICAgICAgIGNvbnRleHQuYWRkX2lkbHMoImludGVy
ZmFjZSBBIDogQiB7IGF0dHJpYnV0ZSBET01TdHJpbmcgYTsgfTsiKTsKLSAgICAgICAgY29udGV4
dC5hZGRfaWRscygiaW50ZXJmYWNlIEIgeyBbRGVmYXVsdF0gb2JqZWN0IHRvSlNPTigpOyBhdHRy
aWJ1dGUgbG9uZyBiOyB9OyIpOwotICAgICAgICB2YXIgbWFwID0gY29udGV4dC5tZW1iZXJzLkEu
ZGVmYXVsdF90b19qc29uX29wZXJhdGlvbigpOwotICAgICAgICBhc3NlcnRfZXF1YWxzKG1hcC5z
aXplLCAxKTsKLSAgICAgICAgYXNzZXJ0X3RydWUobWFwLmhhcygiYiIpKTsKLSAgICAgICAgYXNz
ZXJ0X2VxdWFscyhtYXAuZ2V0KCJiIikuaWRsVHlwZSwgImxvbmciKTsKLSAgICAgICAgYXNzZXJ0
X2FycmF5X2VxdWFscyhbLi4ubWFwLmtleXMoKV0sIFsiYiJdKTsKLSAgICB9LCAnc2hvdWxkIG5v
dCBpbmNsdWRlIGF0dHJpYnV0ZXMgb2YgdGhlIGN1cnJlbnQgaW50ZXJmYWNlIHdoZW4gdGhlIFtE
ZWZhdWx0XSB0b0pTT04gbWV0aG9kIGluIGluaGVyaXRlZCcpOwotCi0gICAgdGVzdChmdW5jdGlv
bigpIHsKLSAgICAgICAgdmFyIGNvbnRleHQgPSBuZXcgSWRsQXJyYXkoKTsKLSAgICAgICAgY29u
dGV4dC5hZGRfaWRscygiaW50ZXJmYWNlIEEgOiBCIHsgW0RlZmF1bHRdIG9iamVjdCB0b0pTT04o
KTsgfTsiKTsKLSAgICAgICAgY29udGV4dC5hZGRfaWRscygiaW50ZXJmYWNlIEIgOiBDIHsgW0Rl
ZmF1bHRdIG9iamVjdCB0b0pTT04oKTsgYXR0cmlidXRlIERPTVN0cmluZyBmb287IH07Iik7Ci0g
ICAgICAgIGNvbnRleHQuYWRkX2lkbHMoImludGVyZmFjZSBDIHsgW0RlZmF1bHRdIG9iamVjdCB0
b0pTT04oKTsgYXR0cmlidXRlIGxvbmcgZm9vOyB9OyIpOwotICAgICAgICB2YXIgbWFwID0gY29u
dGV4dC5tZW1iZXJzLkEuZGVmYXVsdF90b19qc29uX29wZXJhdGlvbigpOwotICAgICAgICBhc3Nl
cnRfZXF1YWxzKG1hcC5zaXplLCAxKTsKLSAgICAgICAgYXNzZXJ0X3RydWUobWFwLmhhcygiZm9v
IikpOwotICAgICAgICBhc3NlcnRfZXF1YWxzKG1hcC5nZXQoImZvbyIpLmlkbFR5cGUsICJET01T
dHJpbmciKTsKLSAgICB9LCAnYXR0cmlidXRlcyBkZWNsYXJlZCBmdXJ0aGVyIGF3YXkgaW4gdGhl
IGluaGVyaXRhbmNlIGhpZXJhcmNoeSBzaG91bGQgYmUgbWFza2VkIGJ5IGF0dHJpYnV0ZXMgZGVj
bGFyZWQgY2xvc2VyJyk7Ci0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgY29u
dGV4dCA9IG5ldyBJZGxBcnJheSgpOwotICAgICAgICBjb250ZXh0LmFkZF9pZGxzKCJpbnRlcmZh
Y2UgQSA6IEIgeyBbRGVmYXVsdF0gb2JqZWN0IHRvSlNPTigpOyBhdHRyaWJ1dGUgRE9NU3RyaW5n
IGE7IH07Iik7Ci0gICAgICAgIGNvbnRleHQuYWRkX2lkbHMoImludGVyZmFjZSBCIHsgb2JqZWN0
IHRvSlNPTigpOyBhdHRyaWJ1dGUgbG9uZyBiOyB9OyIpOwotICAgICAgICB2YXIgbWFwID0gY29u
dGV4dC5tZW1iZXJzLkEuZGVmYXVsdF90b19qc29uX29wZXJhdGlvbigpOwotICAgICAgICBhc3Nl
cnRfZXF1YWxzKG1hcC5zaXplLCAxKTsKLSAgICAgICAgYXNzZXJ0X3RydWUobWFwLmhhcygiYSIp
KTsKLSAgICAgICAgYXNzZXJ0X2ZhbHNlKG1hcC5oYXMoImIiKSk7Ci0gICAgICAgIGFzc2VydF9l
cXVhbHMobWFwLmdldCgiYSIpLmlkbFR5cGUsICJET01TdHJpbmciKTsKLSAgICB9LCAnc2hvdWxk
IHJldHVybiBhbiBvcmRlcmVkIG1hcCB0aGF0IGlnbm9yZXMgYXR0cmlidXRlcyBvZiBpbmhlcml0
ZWQgaW50ZXJmYWNlcyB3aGljaCBkbyBub3QgZGVjbGFyZSBhIFtEZWZhdWx0XSB0b0pTT04gb3Bl
cmF0aW9uLicpOwotCi0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIGNvbnRleHQg
PSBuZXcgSWRsQXJyYXkoKTsKLSAgICAgICAgY29udGV4dC5hZGRfaWRscygiaW50ZXJmYWNlIEEg
eyBbRGVmYXVsdF0gb2JqZWN0IHRvSlNPTigpOyBhdHRyaWJ1dGUgRE9NU3RyaW5nIGE7IH07Iik7
Ci0gICAgICAgIGNvbnRleHQuYWRkX2lkbHMoImludGVyZmFjZSBOIHsgW0RlZmF1bHRdIG9iamVj
dCB0b0pTT04oKTsgYXR0cmlidXRlIGxvbmcgbjsgfTsiKTsKLSAgICAgICAgY29udGV4dC5hZGRf
aWRscygiQSBpbXBsZW1lbnRzIE47Iik7Ci0gICAgICAgIHZhciBtYXAgPSBjb250ZXh0Lm1lbWJl
cnMuQS5kZWZhdWx0X3RvX2pzb25fb3BlcmF0aW9uKCk7Ci0gICAgICAgIGFzc2VydF9hcnJheV9l
cXVhbHMoWy4uLm1hcC5rZXlzKCldLCBbImEiLCAibiJdKTsKLSAgICAgICAgYXNzZXJ0X2FycmF5
X2VxdWFscyhbLi4ubWFwLnZhbHVlcygpXS5tYXAodiA9PiB2LmlkbFR5cGUpLCBbIkRPTVN0cmlu
ZyIsICJsb25nIl0pOwotICAgIH0sICdzaG91bGQgcmV0dXJuIGEgcHJvcGVybHkgb3JkZXJlZCBt
YXAgdGhhdCBhY2NvdW50cyBmb3IgbWl4ZWQtaW4gaW50ZXJmYWNlcyB3aGljaCBkZWNsYXJlIGEg
W0RlZmF1bHRdIHRvSlNPTiBvcGVyYXRpb24uJyk7Ci0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewot
ICAgICAgICB2YXIgY29udGV4dCA9IG5ldyBJZGxBcnJheSgpOwotICAgICAgICBjb250ZXh0LmFk
ZF9pZGxzKCJpbnRlcmZhY2UgQSB7IFtEZWZhdWx0XSBvYmplY3QgdG9KU09OKCk7IGF0dHJpYnV0
ZSBET01TdHJpbmcgYTsgfTsiKTsKLSAgICAgICAgY29udGV4dC5hZGRfaWRscygiaW50ZXJmYWNl
IE4geyBhdHRyaWJ1dGUgbG9uZyBuOyB9OyIpOwotICAgICAgICBjb250ZXh0LmFkZF9pZGxzKCJB
IGltcGxlbWVudHMgTjsiKTsKLSAgICAgICAgdmFyIG1hcCA9IGNvbnRleHQubWVtYmVycy5BLmRl
ZmF1bHRfdG9fanNvbl9vcGVyYXRpb24oKTsKLSAgICAgICAgYXNzZXJ0X2VxdWFscyhtYXAuc2l6
ZSwgMSk7Ci0gICAgICAgIGFzc2VydF90cnVlKG1hcC5oYXMoImEiKSk7Ci0gICAgICAgIGFzc2Vy
dF9mYWxzZShtYXAuaGFzKCJuIikpOwotICAgICAgICBhc3NlcnRfZXF1YWxzKG1hcC5nZXQoImEi
KS5pZGxUeXBlLCAiRE9NU3RyaW5nIik7Ci0gICAgfSwgJ3Nob3VsZCByZXR1cm4gYSBwcm9wZXJs
eSBvcmRlcmVkIG1hcCB0aGF0IGlnbm9yZXMgbWl4ZWQtaW4gaW50ZXJmYWNlcyB3aGljaCBkbyBu
b3QgZGVjbGFyZSBhIFtEZWZhdWx0XSB0b0pTT04gb3BlcmF0aW9uLicpOwotCi0KLSAgICB0ZXN0
KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgY29udGV4dCA9IG5ldyBJZGxBcnJheSgpOwotICAg
ICAgICBjb250ZXh0LmFkZF9pZGxzKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmcmFnbWVudHMn
KS50ZXh0Q29udGVudCk7Ci0gICAgICAgIHZhciBtYXAgPSBjb250ZXh0Lm1lbWJlcnMuQS5kZWZh
dWx0X3RvX2pzb25fb3BlcmF0aW9uKCk7Ci0gICAgICAgIGFzc2VydF9hcnJheV9lcXVhbHMoWy4u
Lm1hcC5rZXlzKCldLCBbImIiLCAiZiIsICJpIiwgImQiLCAiZyIsICJoIiwgImoiXSk7Ci0gICAg
ICAgIGFzc2VydF9hcnJheV9lcXVhbHMoWy4uLm1hcC52YWx1ZXMoKV0ubWFwKHYgPT4gdi5pZGxU
eXBlKSwgWyJsb25nIiwgInVucmVzdHJpY3RlZCBkb3VibGUiLCAiYm9vbGVhbiIsICJmbG9hdCIs
ICJvY3RldCIsICJET01TdHJpbmciLCAiRCJdKTsKLSAgICB9LCAnc2hvdWxkIHJldHVybiBhIHBy
b3Blcmx5IG9yZGVyZWQgbWFwIG9mIG5hbWUvdHlwZSBwYWlycyBoYW5kbGluZyBpbmhlcml0ZWQg
YW5kIGNvbnNlcXVlbnRpYWwgaW50ZXJmYWNlcyBhcyBzcGVjaWZpZWQuJyk7Ci08L3NjcmlwdD4K
LTwvYm9keT4KLTwvaHRtbD4KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9pZGxoYXJuZXNzL0lkbElu
dGVyZmFjZS9nZXRfaW5oZXJpdGFuY2Vfc3RhY2suaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRsaGFybmVzcy9J
ZGxJbnRlcmZhY2UvZ2V0X2luaGVyaXRhbmNlX3N0YWNrLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IGMxZDYxNDE1Njc2OWU5NDVlMWZlYzk4YzdiOTNmYTdhNDQwNzY4NzYuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9pZGxo
YXJuZXNzL0lkbEludGVyZmFjZS9nZXRfaW5oZXJpdGFuY2Vfc3RhY2suaHRtbAorKysgL2Rldi9u
dWxsCkBAIC0xLDM1ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLTx0
aXRsZT5JZGxJbnRlcmZhY2UucHJvdG90eXBlLmdldF9pbmhlcml0YW5jZV9zdGFjaygpPC90aXRs
ZT4KLTwvaGVhZD4KLTxib2R5PgotPGRpdiBpZD0ibG9nIj48L2Rpdj4KLTxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL1dlYklETFBhcnNlci5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9p
ZGxoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi9oZWxwZXIuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdD4KLSAgICAidXNlIHN0cmljdCI7Ci0gICAgdGVzdChmdW5jdGlvbigpIHsK
LSAgICAgICAgdmFyIHN0YWNrID0gaW50ZXJmYWNlRnJvbSgnaW50ZXJmYWNlIEEgeyB9OycpLmdl
dF9pbmhlcml0YW5jZV9zdGFjaygpOwotICAgICAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKHN0YWNr
Lm1hcChpID0+IGkubmFtZSksIFsiQSJdKTsKLSAgICB9LCAnc2hvdWxkIHJldHVybiBhbiBhcnJh
eSB0aGF0IGluY2x1ZGVzIGl0c2VsZi4nKTsKLSAgICAKLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewot
ICAgICAgICB2YXIgaSA9IGludGVyZmFjZUZyb20oJ2ludGVyZmFjZSBBIDogQiB7IH07Jyk7Ci0g
ICAgICAgIGFzc2VydF90aHJvd3MobmV3IEVycm9yKCksIF8gPT4gaS5nZXRfaW5oZXJpdGFuY2Vf
c3RhY2soKSk7Ci0gICAgfSwgInNob3VsZCB0aHJvdyBmb3IgaW50ZXJmYWNlcyB3aGljaCBpbmhl
cml0IGZyb20gYW5vdGhlciBpbnRlcmZhY2Ugd2hpY2ggd2Fzbid0IGFkZGVkIHRvIHRoZSBJZGxB
cnJheSIpOwotICAgIAotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBpZGwgPSBu
ZXcgSWRsQXJyYXkoKTsKLSAgICAgICAgaWRsLmFkZF9pZGxzKCdpbnRlcmZhY2UgQSA6IEIgeyB9
OycpOwotICAgICAgICBpZGwuYWRkX3VudGVzdGVkX2lkbHMoJ2ludGVyZmFjZSBCIDogQyB7IH07
IGludGVyZmFjZSBDIHsgfTsnKTsKLSAgICAgICAgdmFyIEEgPSBpZGwubWVtYmVyc1siQSJdOwot
ICAgICAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKEEuZ2V0X2luaGVyaXRhbmNlX3N0YWNrKCkubWFw
KGkgPT4gaS5uYW1lKSwgWyJBIiwgIkIiLCAiQyJdKTsKLSAgICB9LCAnc2hvdWxkIHJldHVybiBh
biBhcnJheSBvZiBpbmhlcml0ZWQgaW50ZXJmYWNlcyBpbiBvcmRlciBvZiBpbmhlcml0YW5jZSwg
c3RhcnRpbmcgd2l0aCBpdHNlbGYuJyk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KLQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvdGVzdC90ZXN0cy9pZGxoYXJuZXNzL0lkbEludGVyZmFjZS9oYXNfZGVmYXVsdF90
b19qc29uX3JlZ3VsYXJfb3BlcmF0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2lkbGhhcm5lc3MvSWRsSW50
ZXJmYWNlL2hhc19kZWZhdWx0X3RvX2pzb25fcmVndWxhcl9vcGVyYXRpb24uaHRtbApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTQ5OGEzYTdiY2VlNTUwNGQ0MmRjNzM4YmI0YTY5ZTAx
YmNhNGFhZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0
L3Rlc3RzL2lkbGhhcm5lc3MvSWRsSW50ZXJmYWNlL2hhc19kZWZhdWx0X3RvX2pzb25fcmVndWxh
cl9vcGVyYXRpb24uaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDQ3ICswLDAgQEAKLTwhRE9DVFlQ
RSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLTx0aXRsZT5JZGxJbnRlcmZhY2UucHJvdG90eXBlLmhh
c19kZWZhdWx0X3RvX2pzb25fcmVndWxhcl9vcGVyYXRpb24oKTwvdGl0bGU+Ci08L2hlYWQ+Ci08
Ym9keT4KLTxkaXYgaWQ9ImxvZyI+PC9kaXY+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9XZWJJRExQYXJz
ZXIuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvaWRsaGFybmVzcy5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vaGVscGVyLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+
Ci0gICAgInVzZSBzdHJpY3QiOwotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBp
ID0gaW50ZXJmYWNlRnJvbSgnaW50ZXJmYWNlIEEgeyB9OycpOwotICAgICAgICBhc3NlcnRfZmFs
c2UoaS5oYXNfZGVmYXVsdF90b19qc29uX3JlZ3VsYXJfb3BlcmF0aW9uKCkpOwotICAgIH0sICdz
aG91bGQgcmV0dXJuIGZhbHNlIHdoZW4gdGhlIGludGVyZmFjZSBkZWNsYXJlcyBubyB0b0pTT04g
b3BlcmF0aW9uLicpOwotCi0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIGkgPSBp
bnRlcmZhY2VGcm9tKCdpbnRlcmZhY2UgQSB7IHN0YXRpYyBvYmplY3QgdG9KU09OKCk7IH07Jyk7
Ci0gICAgICAgIGFzc2VydF9mYWxzZShpLmhhc19kZWZhdWx0X3RvX2pzb25fcmVndWxhcl9vcGVy
YXRpb24oKSk7Ci0gICAgfSwgJ3Nob3VsZCByZXR1cm4gZmFsc2Ugd2hlbiB0aGUgaW50ZXJmYWNl
IGRlY2xhcmVzIGEgc3RhdGljIHRvSlNPTiBvcGVyYXRpb24uJyk7Ci0KLSAgICB0ZXN0KGZ1bmN0
aW9uKCkgewotICAgICAgICB2YXIgaSA9IGludGVyZmFjZUZyb20oJ2ludGVyZmFjZSBBIHsgb2Jq
ZWN0IHRvSlNPTigpOyB9OycpOwotICAgICAgICBhc3NlcnRfZmFsc2UoaS5oYXNfZGVmYXVsdF90
b19qc29uX3JlZ3VsYXJfb3BlcmF0aW9uKCkpOwotICAgIH0sICdzaG91bGQgcmV0dXJuIGZhbHNl
IHdoZW4gdGhlIGludGVyZmFjZSBkZWNsYXJlcyBhIHJlZ3VsYXIgdG9KU09OIG9wZXJhdGlvbiB3
aXRoIG5vIGV4dGVuZGVkIGF0dHJpYnV0ZS4nKTsKLQotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0g
ICAgICAgIHZhciBpID0gaW50ZXJmYWNlRnJvbSgnaW50ZXJmYWNlIEEgeyBbeF0gb2JqZWN0IHRv
SlNPTigpOyB9OycpOwotICAgICAgICBhc3NlcnRfZmFsc2UoaS5oYXNfZGVmYXVsdF90b19qc29u
X3JlZ3VsYXJfb3BlcmF0aW9uKCkpOwotICAgIH0sICdzaG91bGQgcmV0dXJuIGZhbHNlIHdoZW4g
dGhlIGludGVyZmFjZSBkZWNsYXJlcyBhIHJlZ3VsYXIgdG9KU09OIG9wZXJhdGlvbiB3aXRoIGFu
b3RoZXIgZXh0ZW50ZWQgYXR0cmlidXRlLicpOwotCi0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAg
ICAgICAgdmFyIGkgPSBpbnRlcmZhY2VGcm9tKCdpbnRlcmZhY2UgQSB7IFtEZWZhdWx0XSBvYmpl
Y3QgdG9KU09OKCk7IH07Jyk7Ci0gICAgICAgIGFzc2VydF90cnVlKGkuaGFzX2RlZmF1bHRfdG9f
anNvbl9yZWd1bGFyX29wZXJhdGlvbigpKTsKLSAgICB9LCAnc2hvdWxkIHJldHVybiB0cnVlIHdo
ZW4gdGhlIGludGVyZmFjZSBkZWNsYXJlcyBhIHJlZ3VsYXIgdG9KU09OIG9wZXJhdGlvbiB3aXRo
IHRoZSBbRGVmYXVsdF0gZXh0ZW50ZWQgYXR0cmlidXRlLicpOwotCi0gICAgdGVzdChmdW5jdGlv
bigpIHsKLSAgICAgICAgdmFyIGkgPSBpbnRlcmZhY2VGcm9tKCdpbnRlcmZhY2UgQSB7IFtBdHRy
LCBBbm90aGVyQXR0ciwgRGVmYXVsdF0gb2JqZWN0IHRvSlNPTigpOyB9OycpOwotICAgICAgICBh
c3NlcnRfdHJ1ZShpLmhhc19kZWZhdWx0X3RvX2pzb25fcmVndWxhcl9vcGVyYXRpb24oKSk7Ci0g
ICAgfSwgJ3Nob3VsZCByZXR1cm4gdHJ1ZSB3aGVuIHRoZSBpbnRlcmZhY2UgZGVjbGFyZXMgYSBy
ZWd1bGFyIHRvSlNPTiBvcGVyYXRpb24gd2l0aCBtdWx0aXBsZSBleHRlbmRlZCBhdHRyaWJ1dGVz
LCBpbmNsdWRpbmcgW0RlZmF1bHRdLicpOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+Ci0K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRsaGFybmVzcy9JZGxJbnRlcmZhY2UvaGFzX3RvX2pzb25f
cmVndWxhcl9vcGVyYXRpb24uaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRsaGFybmVzcy9JZGxJbnRlcmZhY2Uv
aGFzX3RvX2pzb25fcmVndWxhcl9vcGVyYXRpb24uaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggYTRiNGU5MWI1MzhjYzZmOWVlODlhNTg0ZGJiODIyNDg4OWQwODA3MS4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2lkbGhhcm5l
c3MvSWRsSW50ZXJmYWNlL2hhc190b19qc29uX3JlZ3VsYXJfb3BlcmF0aW9uLmh0bWwKKysrIC9k
ZXYvbnVsbApAQCAtMSwzMiArMCwwIEBACi08IURPQ1RZUEUgSFRNTD4KLTxodG1sPgotPGhlYWQ+
Ci08dGl0bGU+SWRsSW50ZXJmYWNlLnByb3RvdHlwZS5oYXNfdG9fanNvbl9yZWd1bGFyX29wZXJh
dGlvbigpPC90aXRsZT4KLTwvaGVhZD4KLTxib2R5PgotPGRpdiBpZD0ibG9nIj48L2Rpdj4KLTxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL1dlYklETFBhcnNlci5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy9pZGxoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi9oZWxw
ZXIuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLSAgICAidXNlIHN0cmljdCI7Ci0gICAgdGVzdChm
dW5jdGlvbigpIHsKLSAgICAgICAgdmFyIGkgPSBpbnRlcmZhY2VGcm9tKCdpbnRlcmZhY2UgQSB7
IH07Jyk7Ci0gICAgICAgIGFzc2VydF9mYWxzZShpLmhhc190b19qc29uX3JlZ3VsYXJfb3BlcmF0
aW9uKCkpOwotICAgIH0sICdzaG91bGQgcmV0dXJuIGZhbHNlIHdoZW4gdGhlIGludGVyZmFjZSBk
ZWNsYXJlcyBubyB0b0pTT04gb3BlcmF0aW9uLicpOwotICAgIAotICAgIHRlc3QoZnVuY3Rpb24o
KSB7Ci0gICAgICAgIHZhciBpID0gaW50ZXJmYWNlRnJvbSgnaW50ZXJmYWNlIEEgeyBzdGF0aWMg
b2JqZWN0IHRvSlNPTigpOyB9OycpOwotICAgICAgICBhc3NlcnRfZmFsc2UoaS5oYXNfdG9fanNv
bl9yZWd1bGFyX29wZXJhdGlvbigpKTsKLSAgICB9LCAnc2hvdWxkIHJldHVybiBmYWxzZSB3aGVu
IHRoZSBpbnRlcmZhY2UgZGVjbGFyZXMgYSBzdGF0aWMgdG9KU09OIG9wZXJhdGlvbi4nKTsKLSAg
ICAKLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgaSA9IGludGVyZmFjZUZyb20o
J2ludGVyZmFjZSBBIHsgb2JqZWN0IHRvSlNPTigpOyB9OycpOwotICAgICAgICBhc3NlcnRfdHJ1
ZShpLmhhc190b19qc29uX3JlZ3VsYXJfb3BlcmF0aW9uKCkpOwotICAgIH0sICdzaG91bGQgcmV0
dXJuIHRydWUgd2hlbiB0aGUgaW50ZXJmYWNlIGRlY2xhcmVzIGEgcmVndWxhciB0b0pTT04gb3Bl
cmF0aW9uLicpOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+Ci0KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3Qv
dGVzdHMvaWRsaGFybmVzcy9JZGxJbnRlcmZhY2UvdGVzdF9pbW11dGFibGVfcHJvdG90eXBlLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy90ZXN0L3Rlc3RzL2lkbGhhcm5lc3MvSWRsSW50ZXJmYWNlL3Rlc3RfaW1tdXRhYmxlX3Byb3Rv
dHlwZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxNjIxNGM0ZDI0Zjk4NjQ4
MzAzYjdlOTFkNWViNmIxYWE4NmE2NTk3Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRsaGFybmVzcy9JZGxJbnRlcmZhY2UvdGVzdF9pbW11
dGFibGVfcHJvdG90eXBlLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwzMjEgKzAsMCBAQAotPCFE
T0NUWVBFIEhUTUw+Ci08aHRtbD4KLTxoZWFkPgotICA8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Ci0g
IDx0aXRsZT5pZGxoYXJuZXNzOiBJbW11dGFibGUgcHJvdG90eXBlczwvdGl0bGU+Ci0gIDxzY3Jp
cHQgc3JjPSIuLi8uLi8uLi8uLi90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci0gIDxzY3JpcHQg
c3JjPSIuLi8uLi8uLi8uLi90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci0gIDxzY3Jp
cHQgc3JjPSIuLi8uLi8uLi8uLi9XZWJJRExQYXJzZXIuanMiPjwvc2NyaXB0PgotICA8c2NyaXB0
IHNyYz0iLi4vLi4vLi4vLi4vaWRsaGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9k
eT4KLTxzY3JpcHQ+Ci0idXNlIHN0cmljdHQiOwotCi1PYmplY3QuZGVmaW5lUHJvcGVydHkod2lu
ZG93LCAiRm9vIiwgewotICAgIGVudW1lcmFibGU6IGZhbHNlLAotICAgIHdyaXRhYmxlOiB0cnVl
LAotICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSwKLSAgICB2YWx1ZTogZnVuY3Rpb24gRm9vKCkge30K
LSAgfSk7Ci1PYmplY3QuZGVmaW5lUHJvcGVydHkod2luZG93LkZvbywgInByb3RvdHlwZSIsIHsK
LSAgICB3cml0YWJsZTogZmFsc2UsCi0gICAgdmFsdWU6IHdpbmRvdy5Gb28ucHJvdG90eXBlCi0g
IH0pOwotRm9vLnByb3RvdHlwZVtTeW1ib2wudG9TdHJpbmdUYWddID0gIkZvbyI7Ci0KLXZhciBp
ZGxBcnJheSA9IG5ldyBJZGxBcnJheSgpOwotaWRsQXJyYXkuYWRkX3VudGVzdGVkX2lkbHMoImlu
dGVyZmFjZSBFdmVudFRhcmdldCB7fTsiKTsKLWlkbEFycmF5LmFkZF9pZGxzKAotICAgICJbR2xv
YmFsPVdpbmRvdywgRXhwb3NlZD1XaW5kb3ddXG4iICsKLSAgICAiaW50ZXJmYWNlIFdpbmRvdyA6
IEV2ZW50VGFyZ2V0IHt9O1xuIiArCi0KLSAgICAiW0dsb2JhbD1XaW5kb3csIEV4cG9zZWQ9V2lu
ZG93LCBDb25zdHJ1Y3RvcigpXVxuIiArCi0JImludGVyZmFjZSBGb28ge307IgotICApOwotaWRs
QXJyYXkuYWRkX29iamVjdHMoewotICBGb286IFsibmV3IEZvbygpIl0sCi0gIFdpbmRvdzogWyJ3
aW5kb3ciXQotfSk7Ci1pZGxBcnJheS50ZXN0KCk7Ci08L3NjcmlwdD4KLTxzY3JpcHQgdHlwZT0i
dGV4dC9qc29uIiBpZD0iZXhwZWN0ZWQiPgotewotICAgICJzdW1tYXJpemVkX3N0YXR1cyI6IHsK
LSAgICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgICAic3RhdHVzX3N0cmluZyI6ICJPSyIs
Ci0gICAgICAgICJzdGFjayI6IG51bGwKLSAgICB9LAotICAgICJzdW1tYXJpemVkX3Rlc3RzIjog
WwotICAgICAgICB7Ci0gICAgICAgICAgICAibmFtZSI6ICJGb28gaW50ZXJmYWNlIG9iamVjdCBs
ZW5ndGgiLAotICAgICAgICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAgICAg
ICAicHJvcGVydGllcyI6IHt9LAotICAgICAgICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAg
ICAgICAgInN0YWNrIjogbnVsbAotICAgICAgICB9LAotICAgICAgICB7Ci0gICAgICAgICAgICAi
bmFtZSI6ICJGb28gaW50ZXJmYWNlIG9iamVjdCBuYW1lIiwKLSAgICAgICAgICAgICJzdGF0dXNf
c3RyaW5nIjogIlBBU1MiLAotICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICAg
ICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICAgICAgICJzdGFjayI6IG51bGwKLSAgICAgICAg
fSwKLSAgICAgICAgewotICAgICAgICAgICAgIm5hbWUiOiAiRm9vIGludGVyZmFjZTogZXhpc3Rl
bmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QiLAotICAgICAgICAgICAgInN0
YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAgICAgICAicHJvcGVydGllcyI6IHt9LAotICAg
ICAgICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgICAgICAgInN0YWNrIjogbnVsbAotICAg
ICAgICB9LAotICAgICAgICB7Ci0gICAgICAgICAgICAibmFtZSI6ICJGb28gaW50ZXJmYWNlOiBl
eGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QiLAot
ICAgICAgICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAgICAgICAicHJvcGVy
dGllcyI6IHt9LAotICAgICAgICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgICAgICAgInN0
YWNrIjogbnVsbAotICAgICAgICB9LAotICAgICAgICB7Ci0gICAgICAgICAgICAibmFtZSI6ICJG
b28gaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3Rv
dHlwZSBvYmplY3QncyBcImNvbnN0cnVjdG9yXCIgcHJvcGVydHkiLAotICAgICAgICAgICAgInN0
YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAgICAgICAicHJvcGVydGllcyI6IHt9LAotICAg
ICAgICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgICAgICAgInN0YWNrIjogbnVsbAotICAg
ICAgICB9LAotICAgICAgICB7Ci0gICAgICAgICAgICAibmFtZSI6ICJGb28gaW50ZXJmYWNlOiBp
bnRlcm5hbCBbW1NldFByb3RvdHlwZU9mXV0gbWV0aG9kIG9mIGdsb2JhbCBwbGF0Zm9ybSBvYmpl
Y3QgLSBzZXR0aW5nIHRvIGEgbmV3IHZhbHVlIHZpYSBPYmplY3Quc2V0UHJvdG90eXBlT2Ygc2hv
dWxkIHRocm93IGEgVHlwZUVycm9yIiwKLSAgICAgICAgICAgICJzdGF0dXNfc3RyaW5nIjogIkZB
SUwiLAotICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICAgICAgICJtZXNzYWdl
IjogImFzc2VydF90aHJvd3M6IGZ1bmN0aW9uIFwiZnVuY3Rpb24oKSB7XG4gICAgICAgICAgICBP
YmplY3Quc2V0UHJvdG90eXBlT2Yob2JqLCBuZXdWYWx1ZSk7XG4gICAgICAgIH1cIiBkaWQgbm90
IHRocm93IiwKLSAgICAgICAgICAgICJzdGFjayI6ICIoaW1wbGVtZW50YXRpb24tZGVmaW5lZCki
Ci0gICAgICAgIH0sCi0gICAgICAgIHsKLSAgICAgICAgICAgICJuYW1lIjogIkZvbyBpbnRlcmZh
Y2U6IGludGVybmFsIFtbU2V0UHJvdG90eXBlT2ZdXSBtZXRob2Qgb2YgZ2xvYmFsIHBsYXRmb3Jt
IG9iamVjdCAtIHNldHRpbmcgdG8gYSBuZXcgdmFsdWUgdmlhIFJlZmxlY3Quc2V0UHJvdG90eXBl
T2Ygc2hvdWxkIHJldHVybiBmYWxzZSIsCi0gICAgICAgICAgICAic3RhdHVzX3N0cmluZyI6ICJG
QUlMIiwKLSAgICAgICAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAgICAgICAibWVzc2Fn
ZSI6ICJhc3NlcnRfZmFsc2U6IGV4cGVjdGVkIGZhbHNlIGdvdCB0cnVlIiwKLSAgICAgICAgICAg
ICJzdGFjayI6ICIoaW1wbGVtZW50YXRpb24tZGVmaW5lZCkiCi0gICAgICAgIH0sCi0gICAgICAg
IHsKLSAgICAgICAgICAgICJuYW1lIjogIkZvbyBpbnRlcmZhY2U6IGludGVybmFsIFtbU2V0UHJv
dG90eXBlT2ZdXSBtZXRob2Qgb2YgZ2xvYmFsIHBsYXRmb3JtIG9iamVjdCAtIHNldHRpbmcgdG8g
YSBuZXcgdmFsdWUgdmlhIF9fcHJvdG9fXyBzaG91bGQgdGhyb3cgYSBUeXBlRXJyb3IiLAotICAg
ICAgICAgICAgInN0YXR1c19zdHJpbmciOiAiRkFJTCIsCi0gICAgICAgICAgICAicHJvcGVydGll
cyI6IHt9LAotICAgICAgICAgICAgIm1lc3NhZ2UiOiAiYXNzZXJ0X3Rocm93czogZnVuY3Rpb24g
XCJmdW5jdGlvbigpIHtcbiAgICAgICAgICAgIG9iai5fX3Byb3RvX18gPSBuZXdWYWx1ZTtcbiAg
ICAgICAgfVwiIGRpZCBub3QgdGhyb3ciLAotICAgICAgICAgICAgInN0YWNrIjogIihpbXBsZW1l
bnRhdGlvbi1kZWZpbmVkKSIKLSAgICAgICAgfSwKLSAgICAgICAgewotICAgICAgICAgICAgIm5h
bWUiOiAiRm9vIGludGVyZmFjZTogaW50ZXJuYWwgW1tTZXRQcm90b3R5cGVPZl1dIG1ldGhvZCBv
ZiBnbG9iYWwgcGxhdGZvcm0gb2JqZWN0IC0gc2V0dGluZyB0byBpdHMgb3JpZ2luYWwgdmFsdWUg
dmlhIE9iamVjdC5zZXRQcm90b3R5cGVPZiBzaG91bGQgbm90IHRocm93IiwKLSAgICAgICAgICAg
ICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7fSwK
LSAgICAgICAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICAgICAgICJzdGFjayI6IG51bGwK
LSAgICAgICAgfSwKLSAgICAgICAgewotICAgICAgICAgICAgIm5hbWUiOiAiRm9vIGludGVyZmFj
ZTogaW50ZXJuYWwgW1tTZXRQcm90b3R5cGVPZl1dIG1ldGhvZCBvZiBnbG9iYWwgcGxhdGZvcm0g
b2JqZWN0IC0gc2V0dGluZyB0byBpdHMgb3JpZ2luYWwgdmFsdWUgdmlhIFJlZmxlY3Quc2V0UHJv
dG90eXBlT2Ygc2hvdWxkIHJldHVybiB0cnVlIiwKLSAgICAgICAgICAgICJzdGF0dXNfc3RyaW5n
IjogIlBBU1MiLAotICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICAgICAgICJt
ZXNzYWdlIjogbnVsbCwKLSAgICAgICAgICAgICJzdGFjayI6IG51bGwKLSAgICAgICAgfSwKLSAg
ICAgICAgewotICAgICAgICAgICAgIm5hbWUiOiAiRm9vIGludGVyZmFjZTogaW50ZXJuYWwgW1tT
ZXRQcm90b3R5cGVPZl1dIG1ldGhvZCBvZiBnbG9iYWwgcGxhdGZvcm0gb2JqZWN0IC0gc2V0dGlu
ZyB0byBpdHMgb3JpZ2luYWwgdmFsdWUgdmlhIF9fcHJvdG9fXyBzaG91bGQgbm90IHRocm93IiwK
LSAgICAgICAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgICAgICAgInByb3Bl
cnRpZXMiOiB7fSwKLSAgICAgICAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICAgICAgICJz
dGFjayI6IG51bGwKLSAgICAgICAgfSwKLSAgICAgICAgewotICAgICAgICAgICAgIm5hbWUiOiAi
Rm9vIGludGVyZmFjZTogaW50ZXJuYWwgW1tTZXRQcm90b3R5cGVPZl1dIG1ldGhvZCBvZiBpbnRl
cmZhY2UgcHJvdG90eXBlIG9iamVjdCAtIHNldHRpbmcgdG8gYSBuZXcgdmFsdWUgdmlhIE9iamVj
dC5zZXRQcm90b3R5cGVPZiBzaG91bGQgdGhyb3cgYSBUeXBlRXJyb3IiLAotICAgICAgICAgICAg
InN0YXR1c19zdHJpbmciOiAiRkFJTCIsCi0gICAgICAgICAgICAicHJvcGVydGllcyI6IHt9LAot
ICAgICAgICAgICAgIm1lc3NhZ2UiOiAiYXNzZXJ0X3Rocm93czogZnVuY3Rpb24gXCJmdW5jdGlv
bigpIHtcbiAgICAgICAgICAgIE9iamVjdC5zZXRQcm90b3R5cGVPZihvYmosIG5ld1ZhbHVlKTtc
biAgICAgICAgfVwiIGRpZCBub3QgdGhyb3ciLAotICAgICAgICAgICAgInN0YWNrIjogIihpbXBs
ZW1lbnRhdGlvbi1kZWZpbmVkKSIKLSAgICAgICAgfSwKLSAgICAgICAgewotICAgICAgICAgICAg
Im5hbWUiOiAiRm9vIGludGVyZmFjZTogaW50ZXJuYWwgW1tTZXRQcm90b3R5cGVPZl1dIG1ldGhv
ZCBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCAtIHNldHRpbmcgdG8gYSBuZXcgdmFsdWUg
dmlhIFJlZmxlY3Quc2V0UHJvdG90eXBlT2Ygc2hvdWxkIHJldHVybiBmYWxzZSIsCi0gICAgICAg
ICAgICAic3RhdHVzX3N0cmluZyI6ICJGQUlMIiwKLSAgICAgICAgICAgICJwcm9wZXJ0aWVzIjog
e30sCi0gICAgICAgICAgICAibWVzc2FnZSI6ICJhc3NlcnRfZmFsc2U6IGV4cGVjdGVkIGZhbHNl
IGdvdCB0cnVlIiwKLSAgICAgICAgICAgICJzdGFjayI6ICIoaW1wbGVtZW50YXRpb24tZGVmaW5l
ZCkiCi0gICAgICAgIH0sCi0gICAgICAgIHsKLSAgICAgICAgICAgICJuYW1lIjogIkZvbyBpbnRl
cmZhY2U6IGludGVybmFsIFtbU2V0UHJvdG90eXBlT2ZdXSBtZXRob2Qgb2YgaW50ZXJmYWNlIHBy
b3RvdHlwZSBvYmplY3QgLSBzZXR0aW5nIHRvIGEgbmV3IHZhbHVlIHZpYSBfX3Byb3RvX18gc2hv
dWxkIHRocm93IGEgVHlwZUVycm9yIiwKLSAgICAgICAgICAgICJzdGF0dXNfc3RyaW5nIjogIkZB
SUwiLAotICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICAgICAgICJtZXNzYWdl
IjogImFzc2VydF90aHJvd3M6IGZ1bmN0aW9uIFwiZnVuY3Rpb24oKSB7XG4gICAgICAgICAgICBv
YmouX19wcm90b19fID0gbmV3VmFsdWU7XG4gICAgICAgIH1cIiBkaWQgbm90IHRocm93IiwKLSAg
ICAgICAgICAgICJzdGFjayI6ICIoaW1wbGVtZW50YXRpb24tZGVmaW5lZCkiCi0gICAgICAgIH0s
Ci0gICAgICAgIHsKLSAgICAgICAgICAgICJuYW1lIjogIkZvbyBpbnRlcmZhY2U6IGludGVybmFs
IFtbU2V0UHJvdG90eXBlT2ZdXSBtZXRob2Qgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3Qg
LSBzZXR0aW5nIHRvIGl0cyBvcmlnaW5hbCB2YWx1ZSB2aWEgT2JqZWN0LnNldFByb3RvdHlwZU9m
IHNob3VsZCBub3QgdGhyb3ciLAotICAgICAgICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIs
Ci0gICAgICAgICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgICAgICAgIm1lc3NhZ2UiOiBu
dWxsLAotICAgICAgICAgICAgInN0YWNrIjogbnVsbAotICAgICAgICB9LAotICAgICAgICB7Ci0g
ICAgICAgICAgICAibmFtZSI6ICJGb28gaW50ZXJmYWNlOiBpbnRlcm5hbCBbW1NldFByb3RvdHlw
ZU9mXV0gbWV0aG9kIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IC0gc2V0dGluZyB0byBp
dHMgb3JpZ2luYWwgdmFsdWUgdmlhIFJlZmxlY3Quc2V0UHJvdG90eXBlT2Ygc2hvdWxkIHJldHVy
biB0cnVlIiwKLSAgICAgICAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgICAg
ICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAg
ICAgICAgICJzdGFjayI6IG51bGwKLSAgICAgICAgfSwKLSAgICAgICAgewotICAgICAgICAgICAg
Im5hbWUiOiAiRm9vIGludGVyZmFjZTogaW50ZXJuYWwgW1tTZXRQcm90b3R5cGVPZl1dIG1ldGhv
ZCBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCAtIHNldHRpbmcgdG8gaXRzIG9yaWdpbmFs
IHZhbHVlIHZpYSBfX3Byb3RvX18gc2hvdWxkIG5vdCB0aHJvdyIsCi0gICAgICAgICAgICAic3Rh
dHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAg
ICAgICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAgICAgICAic3RhY2siOiBudWxsCi0gICAg
ICAgIH0sCi0gICAgICAgIHsKLSAgICAgICAgICAgICJuYW1lIjogIkZvbyBtdXN0IGJlIHByaW1h
cnkgaW50ZXJmYWNlIG9mIG5ldyBGb28oKSIsCi0gICAgICAgICAgICAic3RhdHVzX3N0cmluZyI6
ICJQQVNTIiwKLSAgICAgICAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAgICAgICAibWVz
c2FnZSI6IG51bGwsCi0gICAgICAgICAgICAic3RhY2siOiBudWxsCi0gICAgICAgIH0sCi0gICAg
ICAgIHsKLSAgICAgICAgICAgICJuYW1lIjogIlN0cmluZ2lmaWNhdGlvbiBvZiBuZXcgRm9vKCki
LAotICAgICAgICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAgICAgICAicHJv
cGVydGllcyI6IHt9LAotICAgICAgICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgICAgICAg
InN0YWNrIjogbnVsbAotICAgICAgICB9LAotICAgICAgICB7Ci0gICAgICAgICAgICAibmFtZSI6
ICJTdHJpbmdpZmljYXRpb24gb2Ygd2luZG93IiwKLSAgICAgICAgICAgICJzdGF0dXNfc3RyaW5n
IjogIlBBU1MiLAotICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICAgICAgICJt
ZXNzYWdlIjogbnVsbCwKLSAgICAgICAgICAgICJzdGFjayI6IG51bGwKLSAgICAgICAgfSwKLSAg
ICAgICAgewotICAgICAgICAgICAgIm5hbWUiOiAiV2luZG93IGludGVyZmFjZSBvYmplY3QgbGVu
Z3RoIiwKLSAgICAgICAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgICAgICAg
InByb3BlcnRpZXMiOiB7fSwKLSAgICAgICAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICAg
ICAgICJzdGFjayI6IG51bGwKLSAgICAgICAgfSwKLSAgICAgICAgewotICAgICAgICAgICAgIm5h
bWUiOiAiV2luZG93IGludGVyZmFjZSBvYmplY3QgbmFtZSIsCi0gICAgICAgICAgICAic3RhdHVz
X3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAg
ICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAgICAgICAic3RhY2siOiBudWxsCi0gICAgICAg
IH0sCi0gICAgICAgIHsKLSAgICAgICAgICAgICJuYW1lIjogIldpbmRvdyBpbnRlcmZhY2U6IGV4
aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IiwKLSAgICAgICAgICAg
ICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7fSwK
LSAgICAgICAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICAgICAgICJzdGFjayI6IG51bGwK
LSAgICAgICAgfSwKLSAgICAgICAgewotICAgICAgICAgICAgIm5hbWUiOiAiV2luZG93IGludGVy
ZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2Jq
ZWN0IiwKLSAgICAgICAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgICAgICAg
InByb3BlcnRpZXMiOiB7fSwKLSAgICAgICAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICAg
ICAgICJzdGFjayI6IG51bGwKLSAgICAgICAgfSwKLSAgICAgICAgewotICAgICAgICAgICAgIm5h
bWUiOiAiV2luZG93IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVy
ZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgXCJjb25zdHJ1Y3RvclwiIHByb3BlcnR5IiwKLSAgICAg
ICAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgICAgICAgInByb3BlcnRpZXMi
OiB7fSwKLSAgICAgICAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICAgICAgICJzdGFjayI6
IG51bGwKLSAgICAgICAgfSwKLSAgICAgICAgewotICAgICAgICAgICAgIm5hbWUiOiAiV2luZG93
IGludGVyZmFjZTogaW50ZXJuYWwgW1tTZXRQcm90b3R5cGVPZl1dIG1ldGhvZCBvZiBnbG9iYWwg
cGxhdGZvcm0gb2JqZWN0IC0gc2V0dGluZyB0byBhIG5ldyB2YWx1ZSB2aWEgT2JqZWN0LnNldFBy
b3RvdHlwZU9mIHNob3VsZCB0aHJvdyBhIFR5cGVFcnJvciIsCi0gICAgICAgICAgICAic3RhdHVz
X3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAg
ICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAgICAgICAic3RhY2siOiBudWxsCi0gICAgICAg
IH0sCi0gICAgICAgIHsKLSAgICAgICAgICAgICJuYW1lIjogIldpbmRvdyBpbnRlcmZhY2U6IGlu
dGVybmFsIFtbU2V0UHJvdG90eXBlT2ZdXSBtZXRob2Qgb2YgZ2xvYmFsIHBsYXRmb3JtIG9iamVj
dCAtIHNldHRpbmcgdG8gYSBuZXcgdmFsdWUgdmlhIFJlZmxlY3Quc2V0UHJvdG90eXBlT2Ygc2hv
dWxkIHJldHVybiBmYWxzZSIsCi0gICAgICAgICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwK
LSAgICAgICAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAgICAgICAibWVzc2FnZSI6IG51
bGwsCi0gICAgICAgICAgICAic3RhY2siOiBudWxsCi0gICAgICAgIH0sCi0gICAgICAgIHsKLSAg
ICAgICAgICAgICJuYW1lIjogIldpbmRvdyBpbnRlcmZhY2U6IGludGVybmFsIFtbU2V0UHJvdG90
eXBlT2ZdXSBtZXRob2Qgb2YgZ2xvYmFsIHBsYXRmb3JtIG9iamVjdCAtIHNldHRpbmcgdG8gYSBu
ZXcgdmFsdWUgdmlhIF9fcHJvdG9fXyBzaG91bGQgdGhyb3cgYSBUeXBlRXJyb3IiLAotICAgICAg
ICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAgICAgICAicHJvcGVydGllcyI6
IHt9LAotICAgICAgICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgICAgICAgInN0YWNrIjog
bnVsbAotICAgICAgICB9LAotICAgICAgICB7Ci0gICAgICAgICAgICAibmFtZSI6ICJXaW5kb3cg
aW50ZXJmYWNlOiBpbnRlcm5hbCBbW1NldFByb3RvdHlwZU9mXV0gbWV0aG9kIG9mIGdsb2JhbCBw
bGF0Zm9ybSBvYmplY3QgLSBzZXR0aW5nIHRvIGl0cyBvcmlnaW5hbCB2YWx1ZSB2aWEgT2JqZWN0
LnNldFByb3RvdHlwZU9mIHNob3VsZCBub3QgdGhyb3ciLAotICAgICAgICAgICAgInN0YXR1c19z
dHJpbmciOiAiUEFTUyIsCi0gICAgICAgICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgICAg
ICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgICAgICAgInN0YWNrIjogbnVsbAotICAgICAgICB9
LAotICAgICAgICB7Ci0gICAgICAgICAgICAibmFtZSI6ICJXaW5kb3cgaW50ZXJmYWNlOiBpbnRl
cm5hbCBbW1NldFByb3RvdHlwZU9mXV0gbWV0aG9kIG9mIGdsb2JhbCBwbGF0Zm9ybSBvYmplY3Qg
LSBzZXR0aW5nIHRvIGl0cyBvcmlnaW5hbCB2YWx1ZSB2aWEgUmVmbGVjdC5zZXRQcm90b3R5cGVP
ZiBzaG91bGQgcmV0dXJuIHRydWUiLAotICAgICAgICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFT
UyIsCi0gICAgICAgICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgICAgICAgIm1lc3NhZ2Ui
OiBudWxsLAotICAgICAgICAgICAgInN0YWNrIjogbnVsbAotICAgICAgICB9LAotICAgICAgICB7
Ci0gICAgICAgICAgICAibmFtZSI6ICJXaW5kb3cgaW50ZXJmYWNlOiBpbnRlcm5hbCBbW1NldFBy
b3RvdHlwZU9mXV0gbWV0aG9kIG9mIGdsb2JhbCBwbGF0Zm9ybSBvYmplY3QgLSBzZXR0aW5nIHRv
IGl0cyBvcmlnaW5hbCB2YWx1ZSB2aWEgX19wcm90b19fIHNob3VsZCBub3QgdGhyb3ciLAotICAg
ICAgICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAgICAgICAicHJvcGVydGll
cyI6IHt9LAotICAgICAgICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgICAgICAgInN0YWNr
IjogbnVsbAotICAgICAgICB9LAotICAgICAgICB7Ci0gICAgICAgICAgICAibmFtZSI6ICJXaW5k
b3cgaW50ZXJmYWNlOiBpbnRlcm5hbCBbW1NldFByb3RvdHlwZU9mXV0gbWV0aG9kIG9mIGludGVy
ZmFjZSBwcm90b3R5cGUgb2JqZWN0IC0gc2V0dGluZyB0byBhIG5ldyB2YWx1ZSB2aWEgT2JqZWN0
LnNldFByb3RvdHlwZU9mIHNob3VsZCB0aHJvdyBhIFR5cGVFcnJvciIsCi0gICAgICAgICAgICAi
c3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0g
ICAgICAgICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAgICAgICAic3RhY2siOiBudWxsCi0g
ICAgICAgIH0sCi0gICAgICAgIHsKLSAgICAgICAgICAgICJuYW1lIjogIldpbmRvdyBpbnRlcmZh
Y2U6IGludGVybmFsIFtbU2V0UHJvdG90eXBlT2ZdXSBtZXRob2Qgb2YgaW50ZXJmYWNlIHByb3Rv
dHlwZSBvYmplY3QgLSBzZXR0aW5nIHRvIGEgbmV3IHZhbHVlIHZpYSBSZWZsZWN0LnNldFByb3Rv
dHlwZU9mIHNob3VsZCByZXR1cm4gZmFsc2UiLAotICAgICAgICAgICAgInN0YXR1c19zdHJpbmci
OiAiUEFTUyIsCi0gICAgICAgICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgICAgICAgIm1l
c3NhZ2UiOiBudWxsLAotICAgICAgICAgICAgInN0YWNrIjogbnVsbAotICAgICAgICB9LAotICAg
ICAgICB7Ci0gICAgICAgICAgICAibmFtZSI6ICJXaW5kb3cgaW50ZXJmYWNlOiBpbnRlcm5hbCBb
W1NldFByb3RvdHlwZU9mXV0gbWV0aG9kIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IC0g
c2V0dGluZyB0byBhIG5ldyB2YWx1ZSB2aWEgX19wcm90b19fIHNob3VsZCB0aHJvdyBhIFR5cGVF
cnJvciIsCi0gICAgICAgICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICAgICAg
ICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAgICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAg
ICAgICAic3RhY2siOiBudWxsCi0gICAgICAgIH0sCi0gICAgICAgIHsKLSAgICAgICAgICAgICJu
YW1lIjogIldpbmRvdyBpbnRlcmZhY2U6IGludGVybmFsIFtbU2V0UHJvdG90eXBlT2ZdXSBtZXRo
b2Qgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgLSBzZXR0aW5nIHRvIGl0cyBvcmlnaW5h
bCB2YWx1ZSB2aWEgT2JqZWN0LnNldFByb3RvdHlwZU9mIHNob3VsZCBub3QgdGhyb3ciLAotICAg
ICAgICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAgICAgICAicHJvcGVydGll
cyI6IHt9LAotICAgICAgICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgICAgICAgInN0YWNr
IjogbnVsbAotICAgICAgICB9LAotICAgICAgICB7Ci0gICAgICAgICAgICAibmFtZSI6ICJXaW5k
b3cgaW50ZXJmYWNlOiBpbnRlcm5hbCBbW1NldFByb3RvdHlwZU9mXV0gbWV0aG9kIG9mIGludGVy
ZmFjZSBwcm90b3R5cGUgb2JqZWN0IC0gc2V0dGluZyB0byBpdHMgb3JpZ2luYWwgdmFsdWUgdmlh
IFJlZmxlY3Quc2V0UHJvdG90eXBlT2Ygc2hvdWxkIHJldHVybiB0cnVlIiwKLSAgICAgICAgICAg
ICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7fSwK
LSAgICAgICAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICAgICAgICJzdGFjayI6IG51bGwK
LSAgICAgICAgfSwKLSAgICAgICAgewotICAgICAgICAgICAgIm5hbWUiOiAiV2luZG93IGludGVy
ZmFjZTogaW50ZXJuYWwgW1tTZXRQcm90b3R5cGVPZl1dIG1ldGhvZCBvZiBpbnRlcmZhY2UgcHJv
dG90eXBlIG9iamVjdCAtIHNldHRpbmcgdG8gaXRzIG9yaWdpbmFsIHZhbHVlIHZpYSBfX3Byb3Rv
X18gc2hvdWxkIG5vdCB0aHJvdyIsCi0gICAgICAgICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNT
IiwKLSAgICAgICAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAgICAgICAibWVzc2FnZSI6
IG51bGwsCi0gICAgICAgICAgICAic3RhY2siOiBudWxsCi0gICAgICAgIH0sCi0gICAgICAgIHsK
LSAgICAgICAgICAgICJuYW1lIjogIldpbmRvdyBtdXN0IGJlIHByaW1hcnkgaW50ZXJmYWNlIG9m
IHdpbmRvdyIsCi0gICAgICAgICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICAg
ICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAgICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAg
ICAgICAgICAic3RhY2siOiBudWxsCi0gICAgICAgIH0KLSAgICBdLAotICAgICJ0eXBlIjogImNv
bXBsZXRlIgotfQotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rl
c3RzL2lkbGhhcm5lc3MvSWRsSW50ZXJmYWNlL3Rlc3RfcHJpbWFyeV9pbnRlcmZhY2Vfb2YuaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3Rlc3QvdGVzdHMvaWRsaGFybmVzcy9JZGxJbnRlcmZhY2UvdGVzdF9wcmltYXJ5X2ludGVyZmFj
ZV9vZi5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4NTkzNDBhMjM2MjJjOGZk
YTExMDNhZDQzMDdmMWFjODU1MjMxNmVlLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRsaGFybmVzcy9JZGxJbnRlcmZhY2UvdGVzdF9wcmlt
YXJ5X2ludGVyZmFjZV9vZi5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTExICswLDAgQEAKLTwh
RE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLSAgPG1ldGEgY2hhcnNldD0idXRmLTgiPgot
ICA8dGl0bGU+aWRsaGFybmVzczogUHJpbWFyeSBpbnRlcmZhY2U8L3RpdGxlPgotICA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci0gIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLSAgPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvV2ViSURMUGFyc2VyLmpzIj48L3NjcmlwdD4KLSAgPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvaWRsaGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxw
PlZlcmlmeSB0aGUgc2VyaWVzIG9mIHN1Yi10ZXN0cyB0aGF0IGFyZSBleGVjdXRlZCBmb3IgInRl
c3RlZCIgaW50ZXJmYWNlCi1vYmplY3RzIGJ1dCBza2lwcGVkIGZvciAidW50ZXN0ZWQiIGludGVy
ZmFjZSBvYmplY3RzLjwvcD4KLTxzY3JpcHQ+Ci0idXNlIHN0cmljdCI7Ci0KLWZ1bmN0aW9uIEZv
b1BhcmVudCgpIHt9Ci1PYmplY3QuZGVmaW5lUHJvcGVydHkod2luZG93LCAiRm9vIiwgewotICAg
IGVudW1lcmFibGU6IGZhbHNlLAotICAgIHdyaXRhYmxlOiB0cnVlLAotICAgIGNvbmZpZ3VyYWJs
ZTogdHJ1ZSwKLSAgICB2YWx1ZTogZnVuY3Rpb24gRm9vKCkge30KLSAgfSk7Ci1PYmplY3QuZGVm
aW5lUHJvcGVydHkod2luZG93LkZvbywgInByb3RvdHlwZSIsIHsKLSAgICB3cml0YWJsZTogZmFs
c2UsCi0gICAgdmFsdWU6IG5ldyBGb29QYXJlbnQoKQotICB9KTsKLU9iamVjdC5kZWZpbmVQcm9w
ZXJ0eSh3aW5kb3cuRm9vLnByb3RvdHlwZSwgImNvbnN0cnVjdG9yIiwgewotICAgIGVudW1lcmFi
bGU6IGZhbHNlLAotICAgIHdyaXRhYmxlOiB0cnVlLAotICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSwK
LSAgICB2YWx1ZTogd2luZG93LkZvbwotICB9KTsKLUZvby5fX3Byb3RvX18gPSBGb29QYXJlbnQ7
Ci1Gb28ucHJvdG90eXBlW1N5bWJvbC50b1N0cmluZ1RhZ10gPSAiRm9vIjsKLQotdmFyIGlkbEFy
cmF5ID0gbmV3IElkbEFycmF5KCk7Ci1pZGxBcnJheS5hZGRfdW50ZXN0ZWRfaWRscygiaW50ZXJm
YWNlIEZvb1BhcmVudCB7fTsiKTsKLWlkbEFycmF5LmFkZF9pZGxzKAotICAgICJbQ29uc3RydWN0
b3IoKV1cbiIgKwotICAgICJpbnRlcmZhY2UgRm9vIDogRm9vUGFyZW50IHt9OyIKLSAgKTsKLWlk
bEFycmF5LmFkZF9vYmplY3RzKHsKLSAgRm9vOiBbIm5ldyBGb28oKSJdLAotICBGb29QYXJlbnQ6
IFsibmV3IEZvb1BhcmVudCgpIl0KLX0pOwotaWRsQXJyYXkudGVzdCgpOwotPC9zY3JpcHQ+Ci08
c2NyaXB0IHR5cGU9InRleHQvanNvbiIgaWQ9ImV4cGVjdGVkIj4KLXsKLSAgInN1bW1hcml6ZWRf
c3RhdHVzIjogewotICAgICJzdGF0dXNfc3RyaW5nIjogIk9LIiwKLSAgICAibWVzc2FnZSI6IG51
bGwsCi0gICAgInN0YWNrIjogbnVsbAotICB9LAotICAic3VtbWFyaXplZF90ZXN0cyI6IFsKLSAg
ICB7Ci0gICAgICAibmFtZSI6ICJGb28gaW50ZXJmYWNlIG9iamVjdCBsZW5ndGgiLAotICAgICAg
InN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAg
Im1lc3NhZ2UiOiBudWxsLAotICAgICAgInN0YWNrIjogbnVsbAotICAgIH0sCi0gICAgewotICAg
ICAgIm5hbWUiOiAiRm9vIGludGVyZmFjZSBvYmplY3QgbmFtZSIsCi0gICAgICAic3RhdHVzX3N0
cmluZyI6ICJQQVNTIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6
IG51bGwsCi0gICAgICAic3RhY2siOiBudWxsCi0gICAgfSwKLSAgICB7Ci0gICAgICAibmFtZSI6
ICJGb28gaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9i
amVjdCIsCi0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJwcm9wZXJ0aWVz
Ijoge30sCi0gICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAic3RhY2siOiBudWxsCi0gICAg
fSwKLSAgICB7Ci0gICAgICAibmFtZSI6ICJGb28gaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHBy
b3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QiLAotICAgICAgInN0YXR1c19z
dHJpbmciOiAiUEFTUyIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2Ui
OiBudWxsLAotICAgICAgInN0YWNrIjogbnVsbAotICAgIH0sCi0gICAgewotICAgICAgIm5hbWUi
OiAiRm9vIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBw
cm90b3R5cGUgb2JqZWN0J3MgXCJjb25zdHJ1Y3RvclwiIHByb3BlcnR5IiwKLSAgICAgICJzdGF0
dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNz
YWdlIjogbnVsbCwKLSAgICAgICJzdGFjayI6IG51bGwKLSAgICB9LAotICAgIHsKLSAgICAgICJu
YW1lIjogIkZvbyBtdXN0IGJlIHByaW1hcnkgaW50ZXJmYWNlIG9mIG5ldyBGb28oKSIsCi0gICAg
ICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAg
ICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAic3RhY2siOiBudWxsCi0gICAgfSwKLSAgICB7Ci0g
ICAgICAibmFtZSI6ICJTdHJpbmdpZmljYXRpb24gb2YgbmV3IEZvbygpIiwKLSAgICAgICJzdGF0
dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNz
YWdlIjogbnVsbCwKLSAgICAgICJzdGFjayI6IG51bGwKLSAgICB9Ci0gIF0sCi0gICJ0eXBlIjog
ImNvbXBsZXRlIgotfQotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0
L3Rlc3RzL2lkbGhhcm5lc3MvSWRsSW50ZXJmYWNlL3Rlc3RfdG9fanNvbl9vcGVyYXRpb24uaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3Rlc3QvdGVzdHMvaWRsaGFybmVzcy9JZGxJbnRlcmZhY2UvdGVzdF90b19qc29uX29wZXJhdGlv
bi5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxOGZjMzE5M2ZmOGJlMDZmYjcy
NDMxOTE0OGFjOGRkMTU3Njc4NGNkLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRsaGFybmVzcy9JZGxJbnRlcmZhY2UvdGVzdF90b19qc29u
X29wZXJhdGlvbi5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTkwICswLDAgQEAKLTwhRE9DVFlQ
RSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLSAgPG1ldGEgY2hhcnNldD0idXRmLTgiPgotICA8dGl0
bGU+SWRsSW50ZXJmYWNlLnByb3RvdHlwZS50ZXN0X3RvX2pzb25fb3BlcmF0aW9uKCk8L3RpdGxl
PgotICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci0g
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
LSAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvV2ViSURMUGFyc2VyLmpzIj48L3NjcmlwdD4KLSAg
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvaWRsaGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci0gIDxzY3Jp
cHQgc3JjPSIuLi9oZWxwZXIuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08c2NyaXB0
PgotICAgICJ1c2Ugc3RyaWN0IjsKLSAgICBmdW5jdGlvbiB3cmFwKG9iaikgewotICAgICAgICBm
dW5jdGlvbiBGKG9iaikgewotICAgICAgICAgICAgdGhpcy5fb2JqID0gb2JqOwotICAgICAgICB9
Ci0KLSAgICAgICAgRi5wcm90b3R5cGUudG9KU09OID0gZnVuY3Rpb24oKSB7Ci0gICAgICAgICAg
ICByZXR1cm4gdGhpcy5fb2JqOwotICAgICAgICB9Ci0KLSAgICAgICAgcmV0dXJuIG5ldyBGKG9i
aik7Ci0gICAgfQotCi0gICAgdmFyIGksIG9iajsKLSAgICBpID0gaW50ZXJmYWNlRnJvbSgiaW50
ZXJmYWNlIEEgeyBbRGVmYXVsdF0gb2JqZWN0IHRvSlNPTigpOyBhdHRyaWJ1dGUgbG9uZyBmb287
IH07Iik7Ci0gICAgaS50ZXN0X3RvX2pzb25fb3BlcmF0aW9uKHdyYXAoeyBmb286IDEyMyB9KSwg
aS5tZW1iZXJzWzBdKTsKLQotICAgIC8vIHNob3VsZCBmYWlsICh3cm9uZyB0eXBlKQotICAgIGkg
PSBpbnRlcmZhY2VGcm9tKCJpbnRlcmZhY2UgQiB7IFtEZWZhdWx0XSBvYmplY3QgdG9KU09OKCk7
IGF0dHJpYnV0ZSBsb25nIGZvbzsgfTsiKTsKLSAgICBpLnRlc3RfdG9fanNvbl9vcGVyYXRpb24o
d3JhcCh7IGZvbzogImEgdmFsdWUiIH0pLCBpLm1lbWJlcnNbMF0pOwotCi0gICAgLy8gc2hvdWxk
IGhhbmRsZSBleHRyYW5lb3VzIGF0dHJpYnV0ZXMgKGUuZy4gZnJvbSBhbiBleHRlbnNpb24gc3Bl
Y2lmaWNhdGlvbikKLSAgICBpID0gaW50ZXJmYWNlRnJvbSgiaW50ZXJmYWNlIEMgeyBbRGVmYXVs
dF0gb2JqZWN0IHRvSlNPTigpOyBhdHRyaWJ1dGUgbG9uZyBmb287IH07Iik7Ci0gICAgaS50ZXN0
X3RvX2pzb25fb3BlcmF0aW9uKHdyYXAoeyBmb286IDEyMywgYmFyOiA0NTYgfSksIGkubWVtYmVy
c1swXSk7Ci0KLSAgICAvLyBzaG91bGQgZmFpbCAobWlzc2luZyBwcm9wZXJ0eSkKLSAgICBpID0g
aW50ZXJmYWNlRnJvbSgiaW50ZXJmYWNlIEQgeyBbRGVmYXVsdF0gb2JqZWN0IHRvSlNPTigpOyBh
dHRyaWJ1dGUgbG9uZyBmb287IH07Iik7Ci0gICAgaS50ZXN0X3RvX2pzb25fb3BlcmF0aW9uKHdy
YXAoeyB9KSwgaS5tZW1iZXJzWzBdKTsKLQotICAgIC8vIHNob3VsZCBmYWlsIChzaG91bGQgYmUg
d3JpdGFibGUpCi0gICAgb2JqID0gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoe30sIHsgZm9vOiB7
Ci0gICAgICAgIHdyaXRhYmxlOiBmYWxzZSwKLSAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwKLSAg
ICAgICAgY29uZmlndXJhYmxlOiB0cnVlLAotICAgICAgICB2YWx1ZTogMTIzCi0gICAgfX0pOwot
ICAgIGkgPSBpbnRlcmZhY2VGcm9tKCJpbnRlcmZhY2UgRiB7IFtEZWZhdWx0XSBvYmplY3QgdG9K
U09OKCk7IGF0dHJpYnV0ZSBsb25nIGZvbzsgfTsiKTsKLSAgICBpLnRlc3RfdG9fanNvbl9vcGVy
YXRpb24od3JhcChvYmopLCBpLm1lbWJlcnNbMF0pOwotCi0gICAgLy8gc2hvdWxkIGZhaWwgKHNo
b3VsZCBiZSBlbnVtZXJhYmxlKQotICAgIG9iaiA9IE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKHt9
LCB7IGZvbzogewotICAgICAgICB3cml0YWJsZTogdHJ1ZSwKLSAgICAgICAgZW51bWVyYWJsZTog
ZmFsc2UsCi0gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSwKLSAgICAgICAgdmFsdWU6IDEyMwot
ICAgIH19KTsKLSAgICBpID0gaW50ZXJmYWNlRnJvbSgiaW50ZXJmYWNlIEcgeyBbRGVmYXVsdF0g
b2JqZWN0IHRvSlNPTigpOyBhdHRyaWJ1dGUgbG9uZyBmb287IH07Iik7Ci0gICAgaS50ZXN0X3Rv
X2pzb25fb3BlcmF0aW9uKHdyYXAob2JqKSwgaS5tZW1iZXJzWzBdKTsKLQotICAgIC8vIHNob3Vs
ZCBmYWlsIChzaG91bGQgYmUgY29uZmlndXJhYmxlKQotICAgIG9iaiA9IE9iamVjdC5kZWZpbmVQ
cm9wZXJ0aWVzKHt9LCB7IGZvbzogewotICAgICAgICB3cml0YWJsZTogdHJ1ZSwKLSAgICAgICAg
ZW51bWVyYWJsZTogdHJ1ZSwKLSAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZSwKLSAgICAgICAg
dmFsdWU6IDEyMwotICAgIH19KTsKLSAgICBpID0gaW50ZXJmYWNlRnJvbSgiaW50ZXJmYWNlIEgg
eyBbRGVmYXVsdF0gb2JqZWN0IHRvSlNPTigpOyBhdHRyaWJ1dGUgbG9uZyBmb287IH07Iik7Ci0g
ICAgaS50ZXN0X3RvX2pzb25fb3BlcmF0aW9uKHdyYXAob2JqKSwgaS5tZW1iZXJzWzBdKTsKLQot
ICAgIHZhciBpZGwgPSBuZXcgSWRsQXJyYXkoKTsKLSAgICBpZGwuYWRkX2lkbHMoImludGVyZmFj
ZSBJIDogSiB7IFtEZWZhdWx0XSBvYmplY3QgdG9KU09OKCk7IGF0dHJpYnV0ZSBsb25nIGZvbzsg
fTsiKTsKLSAgICBpZGwuYWRkX2lkbHMoImludGVyZmFjZSBKIHsgW0RlZmF1bHRdIG9iamVjdCB0
b0pTT04oKTsgYXR0cmlidXRlIERPTVN0cmluZyBmb287fTsiKTsKLSAgICB2YXIgaSA9IGlkbC5t
ZW1iZXJzLkk7Ci0gICAgaS50ZXN0X3RvX2pzb25fb3BlcmF0aW9uKHdyYXAoeyBmb286IDEyMyB9
KSwgaS5tZW1iZXJzWzBdKTsKLQotICAgIGkgPSBpbnRlcmZhY2VGcm9tKCJpbnRlcmZhY2UgSyB7
IFtEZWZhdWx0XSBvYmplY3QgdG9KU09OKCk7IH07Iik7Ci0gICAgaS50ZXN0X3RvX2pzb25fb3Bl
cmF0aW9uKHdyYXAoe30pLCBpLm1lbWJlcnNbMF0pOwotCi0gICAgaSA9IGludGVyZmFjZUZyb20o
ImludGVyZmFjZSBMIHsgRE9NU3RyaW5nIHRvSlNPTigpOyB9OyIpOwotICAgIGkudGVzdF90b19q
c29uX29wZXJhdGlvbih3cmFwKCJhIHN0cmluZyIpLCBpLm1lbWJlcnNbMF0pOwotCi0gICAgLy8g
c2hvdWxkIGZhaWwgKHdyb25nIG91dHB1dCB0eXBlKQotICAgIGkgPSBpbnRlcmZhY2VGcm9tKCJp
bnRlcmZhY2UgTSB7IERPTVN0cmluZyB0b0pTT04oKTsgfTsiKTsKLSAgICBpLnRlc3RfdG9fanNv
bl9vcGVyYXRpb24od3JhcCh7fSksIGkubWVtYmVyc1swXSk7Ci0KLSAgICAvLyBzaG91bGQgZmFp
bCAobm90IGFuIElETCB0eXBlKQotICAgIGkgPSBpbnRlcmZhY2VGcm9tKCJpbnRlcmZhY2UgTiB7
IERPTUV4Y2VwdGlvbiB0b0pTT04oKTsgfTsiKTsKLSAgICBpLnRlc3RfdG9fanNvbl9vcGVyYXRp
b24od3JhcCh7fSksIGkubWVtYmVyc1swXSk7Ci08L3NjcmlwdD4KLTxzY3JpcHQgdHlwZT0idGV4
dC9qc29uIiBpZD0iZXhwZWN0ZWQiPgotICAgIHsKLSAgICAgICAgInN1bW1hcml6ZWRfc3RhdHVz
IjogewotICAgICAgICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgICAgICAgInN0YWNrIjog
bnVsbCwKLSAgICAgICAgICAgICJzdGF0dXNfc3RyaW5nIjogIk9LIgotICAgICAgICB9LAotICAg
ICAgICAic3VtbWFyaXplZF90ZXN0cyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAg
ICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiVGVzdCBkZWZhdWx0
IHRvSlNPTiBvcGVyYXRpb24gb2YgQSIsCi0gICAgICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7
fSwKLSAgICAgICAgICAgICAgICAic3RhY2siOiBudWxsLAotICAgICAgICAgICAgICAgICJzdGF0
dXNfc3RyaW5nIjogIlBBU1MiCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAg
ICAgICAgICAgICJtZXNzYWdlIjogImFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIFwibnVtYmVyXCIg
YnV0IGdvdCBcInN0cmluZ1wiIiwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJUZXN0IGRlZmF1
bHQgdG9KU09OIG9wZXJhdGlvbiBvZiBCIiwKLSAgICAgICAgICAgICAgICAicHJvcGVydGllcyI6
IHt9LAotICAgICAgICAgICAgICAgICJzdGFjayI6ICIoaW1wbGVtZW50YXRpb24tZGVmaW5lZCki
LAotICAgICAgICAgICAgICAgICJzdGF0dXNfc3RyaW5nIjogIkZBSUwiCi0gICAgICAgICAgICB9
LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAg
ICAgICAgICAgICAibmFtZSI6ICJUZXN0IGRlZmF1bHQgdG9KU09OIG9wZXJhdGlvbiBvZiBDIiwK
LSAgICAgICAgICAgICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgICAgICAgICAgICJzdGFj
ayI6IG51bGwsCi0gICAgICAgICAgICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIKLSAgICAg
ICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgIm1lc3NhZ2UiOiAiYXNz
ZXJ0X3RydWU6IHByb3BlcnR5IFwiZm9vXCIgc2hvdWxkIGJlIHByZXNlbnQgaW4gdGhlIG91dHB1
dCBvZiBELnByb3RvdHlwZS50b0pTT04oKSBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZSIsCi0gICAg
ICAgICAgICAgICAgIm5hbWUiOiAiVGVzdCBkZWZhdWx0IHRvSlNPTiBvcGVyYXRpb24gb2YgRCIs
Ci0gICAgICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICAgICAgICAgICAic3Rh
Y2siOiAiKGltcGxlbWVudGF0aW9uLWRlZmluZWQpIiwKLSAgICAgICAgICAgICAgICAic3RhdHVz
X3N0cmluZyI6ICJGQUlMIgotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAg
ICAgICAgICAibWVzc2FnZSI6ICJhc3NlcnRfdHJ1ZTogcHJvcGVydHkgZm9vIHNob3VsZCBiZSB3
cml0YWJsZSBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZSIsCi0gICAgICAgICAgICAgICAgIm5hbWUi
OiAiVGVzdCBkZWZhdWx0IHRvSlNPTiBvcGVyYXRpb24gb2YgRiIsCi0gICAgICAgICAgICAgICAg
InByb3BlcnRpZXMiOiB7fSwKLSAgICAgICAgICAgICAgICAic3RhY2siOiAiKGltcGxlbWVudGF0
aW9uLWRlZmluZWQpIiwKLSAgICAgICAgICAgICAgICAic3RhdHVzX3N0cmluZyI6ICJGQUlMIgot
ICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAibWVzc2FnZSI6
ICJhc3NlcnRfdHJ1ZTogcHJvcGVydHkgZm9vIHNob3VsZCBiZSBlbnVtZXJhYmxlIGV4cGVjdGVk
IHRydWUgZ290IGZhbHNlIiwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJUZXN0IGRlZmF1bHQg
dG9KU09OIG9wZXJhdGlvbiBvZiBHIiwKLSAgICAgICAgICAgICAgICAicHJvcGVydGllcyI6IHt9
LAotICAgICAgICAgICAgICAgICJzdGFjayI6ICIoaW1wbGVtZW50YXRpb24tZGVmaW5lZCkiLAot
ICAgICAgICAgICAgICAgICJzdGF0dXNfc3RyaW5nIjogIkZBSUwiCi0gICAgICAgICAgICB9LAot
ICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJtZXNzYWdlIjogImFzc2VydF90cnVlOiBw
cm9wZXJ0eSBmb28gc2hvdWxkIGJlIGNvbmZpZ3VyYWJsZSBleHBlY3RlZCB0cnVlIGdvdCBmYWxz
ZSIsCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiVGVzdCBkZWZhdWx0IHRvSlNPTiBvcGVyYXRp
b24gb2YgSCIsCi0gICAgICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICAgICAg
ICAgICAic3RhY2siOiAiKGltcGxlbWVudGF0aW9uLWRlZmluZWQpIiwKLSAgICAgICAgICAgICAg
ICAic3RhdHVzX3N0cmluZyI6ICJGQUlMIgotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsK
LSAgICAgICAgICAgICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAgICAgICAgICAgIm5hbWUi
OiAiVGVzdCBkZWZhdWx0IHRvSlNPTiBvcGVyYXRpb24gb2YgSSIsCi0gICAgICAgICAgICAgICAg
InByb3BlcnRpZXMiOiB7fSwKLSAgICAgICAgICAgICAgICAic3RhY2siOiBudWxsLAotICAgICAg
ICAgICAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiCi0gICAgICAgICAgICB9LAotICAgICAg
ICAgICAgewotICAgICAgICAgICAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICAgICAgICAg
ICAibmFtZSI6ICJUZXN0IGRlZmF1bHQgdG9KU09OIG9wZXJhdGlvbiBvZiBLIiwKLSAgICAgICAg
ICAgICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgICAgICAgICAgICJzdGFjayI6IG51bGws
Ci0gICAgICAgICAgICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIKLSAgICAgICAgICAgIH0s
Ci0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAg
ICAgICAgICAgICJuYW1lIjogIlRlc3QgdG9KU09OIG9wZXJhdGlvbiBvZiBMIiwKLSAgICAgICAg
ICAgICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgICAgICAgICAgICJzdGFjayI6IG51bGws
Ci0gICAgICAgICAgICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIKLSAgICAgICAgICAgIH0s
Ci0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgIm1lc3NhZ2UiOiAiYXNzZXJ0X2VxdWFs
czogZXhwZWN0ZWQgXCJzdHJpbmdcIiBidXQgZ290IFwib2JqZWN0XCIiLAotICAgICAgICAgICAg
ICAgICJuYW1lIjogIlRlc3QgdG9KU09OIG9wZXJhdGlvbiBvZiBNIiwKLSAgICAgICAgICAgICAg
ICAicHJvcGVydGllcyI6IHt9LAotICAgICAgICAgICAgICAgICJzdGFjayI6ICIoaW1wbGVtZW50
YXRpb24tZGVmaW5lZCkiLAotICAgICAgICAgICAgICAgICJzdGF0dXNfc3RyaW5nIjogIkZBSUwi
Ci0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJtZXNzYWdl
IjogImFzc2VydF90cnVlOiB7XCJzZXF1ZW5jZVwiOmZhbHNlLFwiZ2VuZXJpY1wiOm51bGwsXCJu
dWxsYWJsZVwiOmZhbHNlLFwiYXJyYXlcIjpmYWxzZSxcInVuaW9uXCI6ZmFsc2UsXCJpZGxUeXBl
XCI6XCJET01FeGNlcHRpb25cIn0gaXMgbm90IGFuIGFwcHJvcHJpYXRlIHJldHVybiB2YWx1ZSBm
b3IgdGhlIHRvSlNPTiBvcGVyYXRpb24gb2YgTiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZSIsCi0g
ICAgICAgICAgICAgICAgIm5hbWUiOiAiVGVzdCB0b0pTT04gb3BlcmF0aW9uIG9mIE4iLAotICAg
ICAgICAgICAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAgICAgICAgICAgInN0YWNrIjog
IihpbXBsZW1lbnRhdGlvbi1kZWZpbmVkKSIsCi0gICAgICAgICAgICAgICAgInN0YXR1c19zdHJp
bmciOiAiRkFJTCIKLSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgInR5cGUiOiAi
Y29tcGxldGUiCi0gICAgfQotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9pZGxoYXJuZXNzL0lkbEludGVy
ZmFjZS90cmF2ZXJzZV9pbmhlcml0ZWRfYW5kX2NvbnNlcXVlbnRpYWxfaW50ZXJmYWNlcy5odG1s
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
dGVzdC90ZXN0cy9pZGxoYXJuZXNzL0lkbEludGVyZmFjZS90cmF2ZXJzZV9pbmhlcml0ZWRfYW5k
X2NvbnNlcXVlbnRpYWxfaW50ZXJmYWNlcy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAxYTE5MjkxOWFmOGQ3Y2U4N2U3YzI3MTkyMmNkZTJlNDI0MjFiZTg5Li4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRsaGFybmVzcy9J
ZGxJbnRlcmZhY2UvdHJhdmVyc2VfaW5oZXJpdGVkX2FuZF9jb25zZXF1ZW50aWFsX2ludGVyZmFj
ZXMuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDY1ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgot
PGh0bWw+Ci08aGVhZD4KLTx0aXRsZT5JZGxEaWN0aW9uYXJ5LnByb3RvdHlwZS50cmF2ZXJzZV9p
bmhlcml0ZWRfYW5kX2NvbnNlcXVlbnRpYWxfaW50ZXJmYWNlcygpPC90aXRsZT4KLTwvaGVhZD4K
LTxib2R5PgotPGRpdiBpZD0ibG9nIj48L2Rpdj4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL1dlYklETFBh
cnNlci5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9pZGxoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi9oZWxwZXIuanMiPjwvc2NyaXB0PgotPHByZSBp
ZD1mcmFnbWVudHM+Ci0gICAgaW50ZXJmYWNlIEEgOiBCIHsgfTsKLSAgICBpbnRlcmZhY2UgQiA6
IEMgeyB9OwotICAgIGludGVyZmFjZSBDIHsgfTsKLSAgICBpbnRlcmZhY2UgRCA6IEUgeyB9Owot
ICAgIGludGVyZmFjZSBFIDogRiB7IH07Ci0gICAgaW50ZXJmYWNlIEYgeyB9OwotICAgIGludGVy
ZmFjZSBHIHsgfTsKLSAgICBpbnRlcmZhY2UgSCB7IH07Ci0gICAgaW50ZXJmYWNlIEkgeyB9Owot
ICAgIGludGVyZmFjZSBKIHsgfTsKLQotICAgIEEgaW1wbGVtZW50cyBHOwotICAgIEEgaW1wbGVt
ZW50cyBIOwotICAgIEIgaW1wbGVtZW50cyBEOwotICAgIEUgaW1wbGVtZW50cyBJOwotICAgIEgg
aW1wbGVtZW50cyBKOwotPC9wcmU+Ci08c2NyaXB0PgotICAgICJ1c2Ugc3RyaWN0IjsKLSAgICB0
ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgaW50ZXJmYWNlcyA9IFtdOwotICAgICAgICBp
bnRlcmZhY2VGcm9tKCdpbnRlcmZhY2UgQSB7IH07JykudHJhdmVyc2VfaW5oZXJpdGVkX2FuZF9j
b25zZXF1ZW50aWFsX2ludGVyZmFjZXMoZnVuY3Rpb24oaSkgewotICAgICAgICAgICAgaW50ZXJm
YWNlcy5wdXNoKGkubmFtZSk7Ci0gICAgICAgIH0pOwotICAgICAgICBhc3NlcnRfYXJyYXlfZXF1
YWxzKGludGVyZmFjZXMsIFsiQSJdKTsKLSAgICB9LCAnc2hvdWxkIHJldHVybiBhbiBhcnJheSB0
aGF0IGluY2x1ZGVzIGl0c2VsZi4nKTsKLSAgICAKLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAg
ICAgICB2YXIgY29udGV4dCA9IG5ldyBJZGxBcnJheSgpOwotICAgICAgICBjb250ZXh0LmFkZF9p
ZGxzKCJpbnRlcmZhY2UgQSB7IH07IEEgaW1wbGVtZW50cyBCOyIpOwotICAgICAgICBhc3NlcnRf
dGhyb3dzKG5ldyBFcnJvcigpLCBfID0+IGNvbnRleHQubWVtYmVyc1siQSJdLnRyYXZlcnNlX2lu
aGVyaXRlZF9hbmRfY29uc2VxdWVudGlhbF9pbnRlcmZhY2VzKGZ1bmN0aW9uKCkge30pKTsKLSAg
ICB9LCAic2hvdWxkIHRocm93IGZvciBpbnRlcmZhY2VzIHdoaWNoIGFyZSBleHRlbmRlZCBieSBh
bm90aGVyIGludGVyZmFjZSB3aGljaCB3YXNuJ3QgYWRkZWQgdG8gdGhlIElkbEFycmF5LiIpOwot
Ci0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIGNvbnRleHQgPSBuZXcgSWRsQXJy
YXkoKTsKLSAgICAgICAgY29udGV4dC5hZGRfaWRscygiaW50ZXJmYWNlIEEgeyB9OyIpOwotICAg
ICAgICBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgXyA9PiBjb250ZXh0Lm1lbWJlcnNb
IkEiXS50cmF2ZXJzZV9pbmhlcml0ZWRfYW5kX2NvbnNlcXVlbnRpYWxfaW50ZXJmYWNlcygpKTsK
LSAgICB9LCAic2hvdWxkIHRocm93IGlmIG5vdCBwYXNzZWQgYSBjYWxsYmFjayIpOwotICAgIAot
ICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBjb250ZXh0ID0gbmV3IElkbEFycmF5
KCk7Ci0gICAgICAgIGNvbnRleHQuYWRkX2lkbHMoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Zy
YWdtZW50cycpLnRleHRDb250ZW50KTsKLSAgICAgICAgdmFyIGludGVyZmFjZXMgPSBbXTsKLSAg
ICAgICAgY29udGV4dC5tZW1iZXJzWyJBIl0udHJhdmVyc2VfaW5oZXJpdGVkX2FuZF9jb25zZXF1
ZW50aWFsX2ludGVyZmFjZXMoZnVuY3Rpb24oaSkgewotICAgICAgICAgICAgaW50ZXJmYWNlcy5w
dXNoKGkubmFtZSk7Ci0gICAgICAgIH0pOwotICAgICAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKGlu
dGVyZmFjZXMsIFsiQyIsICJCIiwgIkYiLCAiRSIsICJJIiwgIkQiLCAiQSIsICJHIiwgIkgiLCAi
SiJdKTsKLSAgICB9LCAnc2hvdWxkIHJldHVybiBhbiBhcnJheSB0aGF0IGluY2x1ZGVzIHRoZSBp
ZGVudGlmaWVyIG9mIHRoZSBpbnRlcmZhY2VzIGluIHRoZSBjb3JyZWN0IG9yZGVyLicpOwotPC9z
Y3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+Ci0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRsaGFybmVz
cy9JZGxJbnRlcmZhY2UvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2lkbGhhcm5lc3MvSWRsSW50
ZXJmYWNlL3czYy1pbXBvcnQubG9nCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3NWFl
MzIxNjdkMTZkNTIxZWI2NmE1NjdhYjRjOGJmNjZmNGRmZTQ1Li4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRsaGFybmVzcy9JZGxJbnRlcmZh
Y2UvdzNjLWltcG9ydC5sb2cKKysrIC9kZXYvbnVsbApAQCAtMSwyNCArMCwwIEBACi1UaGUgdGVz
dHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9y
eS4KLURvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVh
ZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0
aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCi0KLVRoZW4gcnVuIHRoZSBUb29scy9TY3Jp
cHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0Ci0KLURvIE5PVCBtb2Rp
Znkgb3IgcmVtb3ZlIHRoaXMgZmlsZS4KLQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1Qcm9wZXJ0aWVzIHJl
cXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6Ci1Ob25lCi1Qcm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5n
IHZlbmRvciBwcmVmaXhlczoKLU5vbmUKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotTGlzdCBvZiBmaWxlczoK
LS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90
ZXN0L3Rlc3RzL2lkbGhhcm5lc3MvSWRsSW50ZXJmYWNlL2RlZmF1bHRfdG9fanNvbl9vcGVyYXRp
b24uaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3Rlc3QvdGVzdHMvaWRsaGFybmVzcy9JZGxJbnRlcmZhY2UvZ2V0X2luaGVyaXRhbmNl
X3N0YWNrLmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy90ZXN0L3Rlc3RzL2lkbGhhcm5lc3MvSWRsSW50ZXJmYWNlL2hhc19kZWZhdWx0
X3RvX2pzb25fcmVndWxhcl9vcGVyYXRpb24uaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRsaGFybmVzcy9JZGxJ
bnRlcmZhY2UvaGFzX3RvX2pzb25fcmVndWxhcl9vcGVyYXRpb24uaHRtbAotL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRs
aGFybmVzcy9JZGxJbnRlcmZhY2UvdGVzdF9pbW11dGFibGVfcHJvdG90eXBlLmh0bWwKLS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rl
c3RzL2lkbGhhcm5lc3MvSWRsSW50ZXJmYWNlL3Rlc3RfcHJpbWFyeV9pbnRlcmZhY2Vfb2YuaHRt
bAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3Rlc3QvdGVzdHMvaWRsaGFybmVzcy9JZGxJbnRlcmZhY2UvdGVzdF90b19qc29uX29wZXJhdGlv
bi5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvdGVzdC90ZXN0cy9pZGxoYXJuZXNzL0lkbEludGVyZmFjZS90cmF2ZXJzZV9pbmhlcml0
ZWRfYW5kX2NvbnNlcXVlbnRpYWxfaW50ZXJmYWNlcy5odG1sCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3Rz
L2lkbGhhcm5lc3MvSWRsSW50ZXJmYWNlTWVtYmVyL2lzX3RvX2pzb25fcmVndWxhcl9vcGVyYXRp
b24uaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3Rlc3QvdGVzdHMvaWRsaGFybmVzcy9JZGxJbnRlcmZhY2VNZW1iZXIvaXNfdG9fanNv
bl9yZWd1bGFyX29wZXJhdGlvbi5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBh
YzkyM2RkNWE4Zjk5ZGVmOThmODc0ZTQ1MWE1YmE3N2QxMmQ1ZjY3Li4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRsaGFybmVzcy9JZGxJbnRl
cmZhY2VNZW1iZXIvaXNfdG9fanNvbl9yZWd1bGFyX29wZXJhdGlvbi5odG1sCisrKyAvZGV2L251
bGwKQEAgLTEsNDIgKzAsMCBAQAotPCFET0NUWVBFIEhUTUw+Ci08aHRtbD4KLTxoZWFkPgotPHRp
dGxlPklkbEludGVyZmFjZU1lbWJlci5wcm90b3R5cGUuaXNfdG9fanNvbl9yZWd1bGFyX29wZXJh
dGlvbigpPC90aXRsZT4KLTwvaGVhZD4KLTxib2R5PgotPGRpdiBpZD0ibG9nIj48L2Rpdj4KLTxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL1dlYklETFBhcnNlci5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy9pZGxoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi9oZWxw
ZXIuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLSAgICAidXNlIHN0cmljdCI7Ci0gICAgdGVzdChm
dW5jdGlvbigpIHsKLSAgICAgICAgdmFyIG0gPSBtZW1iZXJGcm9tKCJyZWFkb25seSBhdHRyaWJ1
dGUgRE9NU3RyaW5nIGZvbyIpOwotICAgICAgICBhc3NlcnRfZmFsc2UobS5pc190b19qc29uX3Jl
Z3VsYXJfb3BlcmF0aW9uKCkpOwotICAgIH0sICdzaG91bGQgcmV0dXJuIGZhbHNlIHdoZW4gbWVt
YmVyIGlzIGFuIGF0dHJpYnV0ZS4nKTsKLQotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAg
IHZhciBtID0gbWVtYmVyRnJvbSgic3RhdGljIHZvaWQgZm9vKCkiKTsKLSAgICAgICAgYXNzZXJ0
X2ZhbHNlKG0uaXNfdG9fanNvbl9yZWd1bGFyX29wZXJhdGlvbigpKTsKLSAgICB9LCAnc2hvdWxk
IHJldHVybiBmYWxzZSB3aGVuIG1lbWJlciBpcyBhIHN0YXRpYyBvcGVyYXRpb24uJyk7Ci0KLSAg
ICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgbSA9IG1lbWJlckZyb20oInN0YXRpYyBv
YmplY3QgdG9KU09OKCkiKTsKLSAgICAgICAgYXNzZXJ0X2ZhbHNlKG0uaXNfdG9fanNvbl9yZWd1
bGFyX29wZXJhdGlvbigpKTsKLSAgICB9LCAnc2hvdWxkIHJldHVybiBmYWxzZSB3aGVuIG1lbWJl
ciBpcyBhIHN0YXRpYyB0b0pTT04gb3BlcmF0aW9uLicpOwotCi0gICAgdGVzdChmdW5jdGlvbigp
IHsKLSAgICAgICAgdmFyIG0gPSBtZW1iZXJGcm9tKCJvYmplY3QgdG9KU09OKCkiKTsKLSAgICAg
ICAgYXNzZXJ0X3RydWUobS5pc190b19qc29uX3JlZ3VsYXJfb3BlcmF0aW9uKCkpOwotICAgIH0s
ICdzaG91bGQgcmV0dXJuIHRydWUgd2hlbiBtZW1iZXIgaXMgYSByZWd1bGFyIHRvSlNPTiBvcGVy
YXRpb24uJyk7Ci0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgbSA9IG1lbWJl
ckZyb20oIltGb29dIG9iamVjdCB0b0pTT04oKSIpOwotICAgICAgICBhc3NlcnRfdHJ1ZShtLmlz
X3RvX2pzb25fcmVndWxhcl9vcGVyYXRpb24oKSk7Ci0gICAgfSwgJ3Nob3VsZCByZXR1cm4gdHJ1
ZSB3aGVuIG1lbWJlciBpcyBhIHJlZ3VsYXIgdG9KU09OIG9wZXJhdGlvbiB3aXRoIGV4dGVuc2li
bGUgYXR0cmlidXRlcy4nKTsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgotCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy90ZXN0L3Rlc3RzL2lkbGhhcm5lc3MvSWRsSW50ZXJmYWNlTWVtYmVyL3czYy1pbXBvcnQubG9n
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
dGVzdC90ZXN0cy9pZGxoYXJuZXNzL0lkbEludGVyZmFjZU1lbWJlci93M2MtaW1wb3J0LmxvZwpk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDQ3M2RjZTc1MDc5YWQ2ODgwOWIyN2VhYzJh
OGZlNWMyOGM3MTU1My4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy90ZXN0L3Rlc3RzL2lkbGhhcm5lc3MvSWRsSW50ZXJmYWNlTWVtYmVyL3czYy1pbXBvcnQubG9n
CisrKyAvZGV2L251bGwKQEAgLTEsMTcgKzAsMCBAQAotVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0
b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCi1EbyBOT1QgbW9kaWZ5
IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQsIGNyZWF0ZSBhIHB1bGwg
cmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cwotCi1UaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRl
c3RzIGluIFdlYktpdCB0byByZWltcG9ydAotCi1EbyBOT1QgbW9kaWZ5IG9yIHJlbW92ZSB0aGlz
IGZpbGUuCi0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotUHJvcGVydGllcyByZXF1aXJpbmcgdmVuZG9yIHBy
ZWZpeGVzOgotTm9uZQotUHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6
Ci1Ob25lCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLUxpc3Qgb2YgZmlsZXM6Ci0vTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9pZGxoYXJu
ZXNzL0lkbEludGVyZmFjZU1lbWJlci9pc190b19qc29uX3JlZ3VsYXJfb3BlcmF0aW9uLmh0bWwK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRsaGFybmVzcy9PV05FUlMgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2lkbGhhcm5l
c3MvT1dORVJTCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzN2U4MDk1MDE3Y2RhOWE3
NzA1ODBkNjVkOGJhYjUwN2FlYTUxYTMxLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRsaGFybmVzcy9PV05FUlMKKysrIC9kZXYvbnVsbApA
QCAtMSArMCwwIEBACi1AdG9iaWUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRsaGFybmVzcy9iYXNp
Yy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvdGVzdC90ZXN0cy9pZGxoYXJuZXNzL2Jhc2ljLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IGRhM2MzZmFhYTFjMjBhOTY0MGRhODAxZTY5NWMzNDk0OTczNWQ1MDguLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9pZGxo
YXJuZXNzL2Jhc2ljLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwzNSArMCwwIEBACi08IURPQ1RZ
UEUgSFRNTD4KLTxodG1sPgotPGhlYWQ+Ci08dGl0bGU+aWRsaGFybmVzcyBiYXNpYzwvdGl0bGU+
Ci08L2hlYWQ+Ci08Ym9keT4KLTxkaXYgaWQ9ImxvZyI+PC9kaXY+Ci08c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy9XZWJJRExQYXJzZXIuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvaWRs
aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotICAgICJ1c2Ugc3RyaWN0IjsKLSAgICB0
ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICBhc3NlcnRfdHJ1ZSgiSWRsQXJyYXkiIGluIHdpbmRv
dyk7Ci0gICAgfSwgJ0lkbEFycmF5IGNvbnN0cnVjdG9yIHNob3VsZCBiZSBhIGdsb2JhbCBvYmpl
Y3QnKTsKLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICBhc3NlcnRfdHJ1ZShuZXcgSWRs
QXJyYXkoKSBpbnN0YW5jZW9mIElkbEFycmF5KTsKLSAgICB9LCAnSWRsQXJyYXkgY29uc3RydWN0
b3Igc2hvdWxkIGJlIGNvbnN0cnVjdGlibGUnKTsKLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAg
ICAgICBhc3NlcnRfdHJ1ZSgiV2ViSURMMiIgaW4gd2luZG93KTsKLSAgICB9LCAnV2ViSURMMiBu
YW1lc3BhY2Ugc2hvdWxkIGJlIGEgZ2xvYmFsIG9iamVjdCcpOwotICAgIHRlc3QoZnVuY3Rpb24o
KSB7Ci0gICAgICAgIGFzc2VydF9lcXVhbHModHlwZW9mIFdlYklETDIucGFyc2UsICJmdW5jdGlv
biIpOwotICAgIH0sICdXZWJJREwyIG5hbWVzcGFjZSBzaG91bGQgaGF2ZSBhIHBhcnNlIG1ldGhv
ZCcpOwotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIGFzc2VydF90aHJvd3MobmV3IFR5
cGVFcnJvcigpLCBmdW5jdGlvbigpIHsgIFdlYklETDIucGFyc2UoIkknbSBhIHN5bnRheCBlcnJv
ciIpOyB9KTsKLSAgICB9LCAnV2ViSURMMiBwYXJzZSBtZXRob2Qgc2hvdWxkIGJhaWwgb24gaW5j
b3JyZWN0IFdlYklETCcpOwotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIGFzc2VydF9l
cXVhbHModHlwZW9mIFdlYklETDIucGFyc2UoImludGVyZmFjZSBGb28ge307IiksICJvYmplY3Qi
KTsKLSAgICB9LCAnV2ViSURMMiBwYXJzZSBtZXRob2Qgc2hvdWxkIHByb2R1Y2UgYW4gQVNUIGZv
ciBjb3JyZWN0IFdlYklETCcpOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+Ci0KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3Rlc3QvdGVzdHMvaWRsaGFybmVzcy9oZWxwZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2lkbGhhcm5lc3Mv
aGVscGVyLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyYjczNTI3ZmYyYmVjZWRm
YTdkMTkxZDdkODJlNzZjMWMzNzhmZjI1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRsaGFybmVzcy9oZWxwZXIuanMKKysrIC9kZXYvbnVs
bApAQCAtMSwyNCArMCwwIEBACi0idXNlIHN0cmljdCI7Ci0KLXZhciB0eXBlZGVmRnJvbSA9IGlu
dGVyZmFjZUZyb207Ci12YXIgZGljdGlvbmFyeUZyb20gPSBpbnRlcmZhY2VGcm9tOwotZnVuY3Rp
b24gaW50ZXJmYWNlRnJvbShpKSB7Ci0gICAgdmFyIGlkbCA9IG5ldyBJZGxBcnJheSgpOwotICAg
IGlkbC5hZGRfaWRscyhpKTsKLSAgICBmb3IgKHZhciBwcm9wIGluIGlkbC5tZW1iZXJzKSB7Ci0g
ICAgICAgIHJldHVybiBpZGwubWVtYmVyc1twcm9wXTsKLSAgICB9Ci19Ci0KLWZ1bmN0aW9uIG1l
bWJlckZyb20obSkgewotICAgIHZhciBpZGwgPSBuZXcgSWRsQXJyYXkoKTsKLSAgICBpZGwuYWRk
X2lkbHMoJ2ludGVyZmFjZSBBIHsgJyArIG0gKyAnOyB9OycpOwotICAgIHJldHVybiBpZGwubWVt
YmVyc1siQSJdLm1lbWJlcnNbMF07Ci19Ci0KLWZ1bmN0aW9uIHR5cGVGcm9tKHR5cGUpIHsKLSAg
ICB2YXIgYXN0ID0gV2ViSURMMi5wYXJzZSgnaW50ZXJmYWNlIEZvbyB7ICcgKyB0eXBlICsgJyBh
KCk7IH07Jyk7Ci0gICAgYXN0ID0gYXN0WzBdOyAvLyBnZXQgdGhlIGZpcnN0IGZyYWdtZW50Ci0g
ICAgYXN0ID0gYXN0Lm1lbWJlcnNbMF07IC8vIGdldCB0aGUgZmlyc3QgbWVtYmVyCi0gICAgcmV0
dXJuIGFzdC5pZGxUeXBlOyAvLyBnZXQgdGhlIHR5cGUgb2YgdGhlIGZpcnN0IGZpZWxkCi19CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy90ZXN0L3Rlc3RzL2lkbGhhcm5lc3MvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2lk
bGhhcm5lc3MvdzNjLWltcG9ydC5sb2cKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM3
ZjczMDVlYmVmYzdjYjc0MTA3Yjc5YTk2YjY3ZGFmNmI5MzQ5M2IuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9pZGxoYXJuZXNzL3czYy1pbXBv
cnQubG9nCisrKyAvZGV2L251bGwKQEAgLTEsMTkgKzAsMCBAQAotVGhlIHRlc3RzIGluIHRoaXMg
ZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCi1EbyBOT1Qg
bW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQsIGNyZWF0ZSBh
IHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20vdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cwotCi1UaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQt
dzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydAotCi1EbyBOT1QgbW9kaWZ5IG9yIHJlbW92
ZSB0aGlzIGZpbGUuCi0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotUHJvcGVydGllcyByZXF1aXJpbmcgdmVu
ZG9yIHByZWZpeGVzOgotTm9uZQotUHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJl
Zml4ZXM6Ci1Ob25lCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLUxpc3Qgb2YgZmlsZXM6Ci0vTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9p
ZGxoYXJuZXNzL09XTkVSUwotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRsaGFybmVzcy9iYXNpYy5odG1sCi0vTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0
cy9pZGxoYXJuZXNzL2hlbHBlci5qcwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9pZnJhbWUtY2FsbGJh
Y2suaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3Rlc3QvdGVzdHMvaWZyYW1lLWNhbGxiYWNrLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDFhOGIyY2JjMDBmZmM5ZjZkNDhhZjNmNzExZWIwY2M4MGY5ZWM1N2UuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9pZnJh
bWUtY2FsbGJhY2suaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDExOCArMCwwIEBACi08IURPQ1RZ
UEUgSFRNTD4KLTxodG1sPgotPGhlYWQ+Ci08dGl0bGU+RXhhbXBsZSB3aXRoIGlmcmFtZSB0aGF0
IG5vdGlmaWVzIGNvbnRhaW5pbmcgZG9jdW1lbnQgdmlhIGNhbGxiYWNrczwvdGl0bGU+Ci08c2Ny
aXB0IHNyYz0iLi4vLi4vdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IG9ubG9h
ZD0ic3RhcnRfdGVzdF9pbl9pZnJhbWUoKSI+Ci08aDE+Q2FsbGJhY2tzIEZyb20gVGVzdHMgUnVu
bmluZyBJbiBBbiBJRlJBTUU8L2gxPgotPHA+QSB0ZXN0IGlzIHJ1biBpbnNpZGUgYW4gPHR0Pmlm
cmFtZTwvdHQ+IHdpdGggYSBzYW1lIG9yaWdpbiBkb2N1bWVudC4gVGhlCi1jb250YWluaW5nIGRv
Y3VtZW50IHNob3VsZCByZWNlaXZlIGNhbGxiYWNrcyBhcyB0aGUgdGVzdHMgcHJvZ3Jlc3MgaW5z
aWRlIHRoZQotPHR0PmlmcmFtZTwvdHQ+LiBBIHNpbmdsZSBwYXNzaW5nIHRlc3QgaXMgZXhwZWN0
ZWQgaW4gdGhlIHN1bW1hcnkgYmVsb3cuCi08ZGl2IGlkPSJsb2ciPjwvZGl2PgotCi08c2NyaXB0
PgotdmFyIGNhbGxiYWNrcyA9IFtdOwotdmFyIFNUQVJUID0gMQotdmFyIFRFU1RfU1RBVEUgPSAy
Ci12YXIgUkVTVUxUID0gMwotdmFyIENPTVBMRVRJT04gPSA0Ci12YXIgdGVzdF9jb21wbGV0ZSA9
IGZhbHNlOwotCi1zZXR1cCh7ZXhwbGljaXRfZG9uZTogdHJ1ZX0pOwotCi0vLyBUaGUgZm9sbG93
aW5nIGNhbGxiYWNrcyBhcmUgY2FsbGVkIGZvciB0ZXN0cyBpbiB0aGlzIGRvY3VtZW50IGFzIHdl
bGwgYXMgdGhlCi0vLyB0ZXN0cyBpbiB0aGUgSUZSQU1FLiBDdXJyZW50bHksIGNhbGxiYWNrcyBp
bnZva2VkIGZyb20gdGhpcyBkb2N1bWVudCBhbmQgYW55Ci0vLyBjaGlsZCBkb2N1bWVudCBhcmUg
aW5kaXN0aW5ndWlzaGFibGUgZnJvbSBlYWNoIG90aGVyLgotCi1mdW5jdGlvbiBzdGFydF9jYWxs
YmFjayhwcm9wZXJ0aWVzKSB7Ci0gICAgY2FsbGJhY2tzLnB1c2goU1RBUlQpOwotfQotCi1mdW5j
dGlvbiB0ZXN0X3N0YXRlX2NhbGxiYWNrKHRlc3QpIHsKLSAgICBjYWxsYmFja3MucHVzaChURVNU
X1NUQVRFKTsKLX0KLQotZnVuY3Rpb24gcmVzdWx0X2NhbGxiYWNrKHRlc3QpIHsKLSAgICBjYWxs
YmFja3MucHVzaChSRVNVTFQpOwotfQotCi1mdW5jdGlvbiBjb21wbGV0aW9uX2NhbGxiYWNrKHRl
c3RzLCBzdGF0dXMpIHsKLSAgICBpZiAodGVzdF9jb21wbGV0ZSkgewotICAgICAgICByZXR1cm47
Ci0gICAgfQotICAgIHRlc3RfY29tcGxldGUgPSB0cnVlOwotICAgIGNhbGxiYWNrcy5wdXNoKENP
TVBMRVRJT04pOwotICAgIHZlcmlmeV9yZWNlaXZlZF9jYWxsYmFja3MoKTsKLSAgICBkb25lKCk7
Ci19Ci0KLWZ1bmN0aW9uIHZlcmlmeV9yZWNlaXZlZF9jYWxsYmFja3MoKSB7Ci0gICAgdmFyIGNv
cHlfb2ZfY2FsbGJhY2tzID0gY2FsbGJhY2tzLnNsaWNlKDApOwotCi0gICAgLy8gTm90ZSB0aGF0
IHlvdSBjYW4ndCBydW4gdGVzdCBhc3NlcnRpb25zIGRpcmVjdGx5IGluIGEgY2FsbGJhY2sgZXZl
biBpZgotICAgIC8vIHRoaXMgaXMgYSBmaWxlIHRlc3QuIFdoZW4gdGhlIGNhbGxiYWNrIGlzIGlu
dm9rZWQgZnJvbSBhIHNhbWUtb3JpZ2luIGNoaWxkCi0gICAgLy8gcGFnZSwgdGhlIGNhbGxzdGFj
ayByZWFjaGVzIGludG8gdGhlIGNhbGxpbmcgY2hpbGQgZG9jdW1lbnQuIEFueQotICAgIC8vIGV4
Y2VwdGlvbiB0aHJvd24gaW4gYSBjYWxsYmFjayB3aWxsIGJlIGhhbmRsZWQgYnkgdGhlIGNoaWxk
IHJhdGhlciB0aGFuCi0gICAgLy8gdGhpcyBkb2N1bWVudC4KLSAgICB0ZXN0KAotICAgICAgICBm
dW5jdGlvbigpIHsKLSAgICAgICAgICAgIC8vIGNhbGxiYWNrcyBsaXN0IHNob3VsZCBsb29rIGxp
a2U6Ci0gICAgICAgICAgICAvLyAgICAgU1RBUlQgMSooVEVTVF9TVEFURSkgUkVTVUxUIENPTVBM
RVRJT04KLSAgICAgICAgICAgIGFzc2VydF9lcXVhbHMoY29weV9vZl9jYWxsYmFja3Muc2hpZnQo
KSwgU1RBUlQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICJUaGUgZmlyc3QgcmVjZWl2ZWQg
Y2FsbGJhY2sgc2hvdWxkIGJlICdzdGFydF9jYWxsYmFjaycuIik7Ci0gICAgICAgICAgICBhc3Nl
cnRfZXF1YWxzKGNvcHlfb2ZfY2FsbGJhY2tzLnNoaWZ0KCksIFRFU1RfU1RBVEUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICIndGVzdF9zdGF0ZV9jYWxsYmFjaycgc2hvdWxkIGJlIHJlY2Vp
dmVkIGJlZm9yZSBhbnkgIiArCi0gICAgICAgICAgICAgICAgICAgICAgICAgICJyZXN1bHQgb3Ig
Y29tcGxldGlvbiBjYWxsYmFja3MuIik7Ci0gICAgICAgICAgICB3aGlsZShjb3B5X29mX2NhbGxi
YWNrcy5sZW5ndGggPiAwKSB7Ci0gICAgICAgICAgICAgICAgdmFyIGNhbGxiYWNrID0gY29weV9v
Zl9jYWxsYmFja3Muc2hpZnQoKTsKLSAgICAgICAgICAgICAgICBpZiAoY2FsbGJhY2sgIT0gVEVT
VF9TVEFURSkgewotICAgICAgICAgICAgICAgICAgICBjb3B5X29mX2NhbGxiYWNrcy51bnNoaWZ0
KGNhbGxiYWNrKTsKLSAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAg
fQotICAgICAgICAgICAgfQotICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhjb3B5X29mX2NhbGxi
YWNrcy5zaGlmdCgpLCBSRVNVTFQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICIndGVzdF9z
dGF0ZV9jYWxsYmFjaycgc2hvdWxkIGJlIGZvbGxvd2VkIGJ5ICdyZXN1bHRfY2FsbGJhY2snLiIp
OwotICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhjb3B5X29mX2NhbGxiYWNrcy5zaGlmdCgpLCBD
T01QTEVUSU9OLAotICAgICAgICAgICAgICAgICAgICAgICAgICAiRmluYWwgJ3Jlc3VsdF9jYWxs
YmFjaycgc2hvdWxkIGJlIGZvbGxvd2VkIGJ5ICdjb21wbGV0aW9uX2NhbGxiYWNrJy4iKTsKLSAg
ICAgICAgICAgIGFzc2VydF9lcXVhbHMoY29weV9vZl9jYWxsYmFja3MubGVuZ3RoLCAwLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAiJ2NvbXBsZXRpb25fY2FsbGJhY2snIHNob3VsZCBiZSB0
aGUgbGFzdCBjYWxsYmFjay4iKTsKLSAgICAgICAgfSk7Ci19Ci0KLWZ1bmN0aW9uIHN0YXJ0X3Rl
c3RfaW5faWZyYW1lKCkgewotICAgIC8vIFRoaXMgZG9jdW1lbnQgaXMgZ29pbmcgdG8gY2xlYXIg
YW55IHJlY2VpdmVkIGNhbGxiYWNrcyBhbmQgbWFpbnRhaW4KLSAgICAvLyByYWRpbyBzaWxlbmNl
IHVudGlsIHRoZSB0ZXN0IGluIHRoZSBpZnJhbWUgcnVucyB0byBjb21wbGV0aW9uLiBUaGUKLSAg
ICAvLyBjb21wbGV0aW9uX2NhbGxiYWNrKCkgd2lsbCB0aGVuIGNvbXBsZXRlIHRoZSB0ZXN0aW5n
IG9uIHRoaXMgZG9jdW1lbnQuCi0gICAgY2FsbGJhY2tzLmxlbmd0aCA9IDA7Ci0gICAgdmFyIGlm
cmFtZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlmcmFtZSIpOwotICAgIC8vIHNpbmdsZS1w
YWdlLXRlc3QtcGFzcy5odG1sIGhhcyBhIHNpbmdsZSB0ZXN0LgotICAgIGlmcmFtZS5zcmMgPSAi
c2luZ2xlLXBhZ2UtdGVzdC1wYXNzLmh0bWwiOwotICAgIGlmcmFtZS5zdHlsZS5zZXRQcm9wZXJ0
eSgiZGlzcGxheSIsICJub25lIik7Ci0gICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRhcmdl
dCIpLmFwcGVuZENoaWxkKGlmcmFtZSk7Ci19Ci08L3NjcmlwdD4KLQotPGRpdiBpZD0idGFyZ2V0
Ij4KLTwvZGl2PgotPHNjcmlwdCB0eXBlPSJ0ZXh0L2pzb24iIGlkPSJleHBlY3RlZCI+Ci17Ci0g
ICJzdW1tYXJpemVkX3N0YXR1cyI6IHsKLSAgICAic3RhdHVzX3N0cmluZyI6ICJPSyIsCi0gICAg
Im1lc3NhZ2UiOiBudWxsLAotICAgICJzdGFjayI6IG51bGwKLSAgfSwKLSAgInN1bW1hcml6ZWRf
dGVzdHMiOiBbCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAi
bmFtZSI6ICJFeGFtcGxlIHdpdGggaWZyYW1lIHRoYXQgbm90aWZpZXMgY29udGFpbmluZyBkb2N1
bWVudCB2aWEgY2FsbGJhY2tzIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVz
c2FnZSI6IG51bGwsCi0gICAgICAic3RhY2siOiBudWxsCi0gICAgfQotICBdLAotICAidHlwZSI6
ICJjb21wbGV0ZSIKLX0KLTwvc2NyaXB0PgotPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9p
ZnJhbWUtY29uc29saWRhdGUtZXJyb3JzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2lmcmFtZS1jb25zb2xpZGF0
ZS1lcnJvcnMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZmQyMGQ0ZjcxZjU5
MjNkZTkzNGMxM2JkNDgyMjU2NTNmZGJkMGE1My4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2lmcmFtZS1jb25zb2xpZGF0ZS1lcnJvcnMuaHRt
bAorKysgL2Rldi9udWxsCkBAIC0xLDQ2ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+
Ci08aGVhZD4KLTx0aXRsZT5FeGFtcGxlIHdpdGggaWZyYW1lIHRoYXQgY29uc29saWRhdGVzIGVy
cm9ycyB2aWEgZmV0Y2hfdGVzdHNfZnJvbV93aW5kb3c8L3RpdGxlPgotPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotdmFyIHBhcmVudF90ZXN0ID0gYXN5
bmNfdGVzdCgiVGVzdCBleGVjdXRpbmcgaW4gcGFyZW50IGNvbnRleHQiKTsKLTwvc2NyaXB0Pgot
PC9oZWFkPgotPGJvZHkgb25sb2FkPSJwYXJlbnRfdGVzdC5kb25lKCkiPgotPGgxPkZldGNoaW5n
IFRlc3RzIEZyb20gYSBDaGlsZCBDb250ZXh0PC9oMT4KLTxwPlRoaXMgdGVzdCBkZW1vbnN0cmF0
ZXMgdGhlIHVzZSBvZiA8dHQ+ZmV0Y2hfdGVzdHNfZnJvbV93aW5kb3c8L3R0PiB0byBwdWxsCi10
ZXN0cyBmcm9tIGFuIDx0dD5pZnJhbWU8L3R0PiBpbnRvIHRoZSBwcmltYXJ5IGRvY3VtZW50Ljwv
cD4KLTxwPlRoZSB0ZXN0IHN1aXRlIGlzIGV4cGVjdGVkIHRvIGZhaWwgZHVlIHRvIGFuIHVuaGFu
ZGxlZCBleGNlcHRpb24gaW4gdGhlCi1jaGlsZCBjb250ZXh0LjwvcD4KLTxkaXYgaWQ9ImxvZyI+
PC9kaXY+Ci0KLTxpZnJhbWUgaWQ9ImNoaWxkQ29udGV4dCIgc3JjPSJ1bmNhdWdodC1leGNlcHRp
b24taGFuZGxlLmh0bWwiIHN0eWxlPSJkaXNwbGF5Om5vbmUiPjwvaWZyYW1lPgotPCEtLSBhcGlz
YW1wbGU0Lmh0bWwgaXMgYSBmYWlsaW5nIHN1aXRlIGR1ZSB0byBhbiB1bmhhbmRsZWQgRXJyb3Iu
IC0tPgotCi08c2NyaXB0PgotCXZhciBjaGlsZENvbnRleHQgPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY2hpbGRDb250ZXh0Iik7Ci0JZmV0Y2hfdGVzdHNfZnJvbV93aW5kb3coY2hpbGRDb250
ZXh0LmNvbnRlbnRXaW5kb3cpOwotPC9zY3JpcHQ+Ci08c2NyaXB0IHR5cGU9InRleHQvanNvbiIg
aWQ9ImV4cGVjdGVkIj4KLXsKLSAgInN1bW1hcml6ZWRfc3RhdHVzIjogewotICAgICJzdGF0dXNf
c3RyaW5nIjogIkVSUk9SIiwKLSAgICAibWVzc2FnZSI6ICJFcnJvciBpbiByZW1vdGU6IEVycm9y
OiBFeGFtcGxlIEVycm9yIiwKLSAgICAic3RhY2siOiBudWxsCi0gIH0sCi0gICJzdW1tYXJpemVk
X3Rlc3RzIjogWwotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAg
Im5hbWUiOiAiVGVzdCBleGVjdXRpbmcgaW4gcGFyZW50IGNvbnRleHQiLAotICAgICAgInByb3Bl
cnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICJzdGFjayI6IG51bGwK
LSAgICB9Ci0gIF0sCi0gICJ0eXBlIjogImNvbXBsZXRlIgotfQotPC9zY3JpcHQ+Ci08L2JvZHk+
Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2lmcmFtZS1jb25zb2xpZGF0ZS10ZXN0cy5o
dG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvdGVzdC90ZXN0cy9pZnJhbWUtY29uc29saWRhdGUtdGVzdHMuaHRtbApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggOTBjNWY4ZWNlOWY2NjM2NThlZjcxZGViYTU1NmEwNjJlMTZhZTZm
My4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3Rz
L2lmcmFtZS1jb25zb2xpZGF0ZS10ZXN0cy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsOTUgKzAs
MCBAQAotPCFET0NUWVBFIEhUTUw+Ci08aHRtbD4KLTxoZWFkPgotPHRpdGxlPkV4YW1wbGUgd2l0
aCBpZnJhbWUgdGhhdCBjb25zb2xpZGF0ZXMgdGVzdHMgdmlhIGZldGNoX3Rlc3RzX2Zyb21fd2lu
ZG93PC90aXRsZT4KLTxzY3JpcHQgc3JjPSIuLi8uLi90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0IHNyYz0iLi4vLi4vdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNj
cmlwdD4KLXZhciBwYXJlbnRfdGVzdCA9IGFzeW5jX3Rlc3QoIlRlc3QgZXhlY3V0aW5nIGluIHBh
cmVudCBjb250ZXh0Iik7Ci08L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0icGFyZW50
X3Rlc3QuZG9uZSgpIj4KLTxoMT5GZXRjaGluZyBUZXN0cyBGcm9tIGEgQ2hpbGQgQ29udGV4dDwv
aDE+Ci08cD5UaGlzIHRlc3QgZGVtb25zdHJhdGVzIHRoZSB1c2Ugb2YgPHR0PmZldGNoX3Rlc3Rz
X2Zyb21fd2luZG93PC90dD4gdG8gcHVsbAotdGVzdHMgZnJvbSBhbiA8dHQ+aWZyYW1lPC90dD4g
aW50byB0aGUgcHJpbWFyeSBkb2N1bWVudC48L3A+Ci08cD5UaGUgdGVzdCBzdWl0ZSB3aWxsIG5v
dCBjb21wbGV0ZSB1bnRpbCB0ZXN0cyBpbiB0aGUgY2hpbGQgY29udGV4dCBoYXZlIGZpbmlzaGVk
Ci1leGVjdXRpbmc8L3A+Ci08ZGl2IGlkPSJsb2ciPjwvZGl2PgotCi08aWZyYW1lIGlkPSJjaGls
ZENvbnRleHQiIHNyYz0icHJvbWlzZS1hc3luYy5odG1sIiBzdHlsZT0iZGlzcGxheTpub25lIj48
L2lmcmFtZT4KLTwhLS0gcHJvbWlzZS1hc3luYy5odG1sIGhhcyBhc3luYyB0ZXN0cyB3aXRoIHBy
b21pc2VzIC0tPgotCi08c2NyaXB0PgotCXZhciBjaGlsZENvbnRleHQgPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY2hpbGRDb250ZXh0Iik7Ci0JZmV0Y2hfdGVzdHNfZnJvbV93aW5kb3coY2hp
bGRDb250ZXh0LmNvbnRlbnRXaW5kb3cpOwotPC9zY3JpcHQ+Ci08c2NyaXB0IHR5cGU9InRleHQv
anNvbiIgaWQ9ImV4cGVjdGVkIj4KLXsKLSAgInN1bW1hcml6ZWRfc3RhdHVzIjogewotICAgICJz
dGF0dXNfc3RyaW5nIjogIk9LIiwKLSAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgInN0YWNrIjog
bnVsbAotICB9LAotICAic3VtbWFyaXplZF90ZXN0cyI6IFsKLSAgICB7Ci0gICAgICAic3RhdHVz
X3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1lIjogIlByb21pc2UgcmVqZWN0aW9uIiwKLSAg
ICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAic3Rh
Y2siOiBudWxsCi0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwK
LSAgICAgICJuYW1lIjogIlByb21pc2UgcmVzb2x1dGlvbiIsCi0gICAgICAicHJvcGVydGllcyI6
IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgInN0YWNrIjogbnVsbAotICAgIH0s
Ci0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiRkFJTCIsCi0gICAgICAibmFtZSI6ICJQ
cm9taXNlcyBhbmQgdGVzdCBhc3NlcnRpb24gZmFpbHVyZXMgKHNob3VsZCBmYWlsKSIsCi0gICAg
ICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiAiYXNzZXJ0X3RydWU6IFRoaXMg
ZmFpbHVyZSBpcyBleHBlY3RlZCBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZSIsCi0gICAgICAic3Rh
Y2siOiAiKGltcGxlbWVudGF0aW9uLWRlZmluZWQpIgotICAgIH0sCi0gICAgewotICAgICAgInN0
YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJQcm9taXNlcyBhcmUgc3VwcG9y
dGVkIGluIHlvdXIgYnJvd3NlciIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1l
c3NhZ2UiOiBudWxsLAotICAgICAgInN0YWNrIjogbnVsbAotICAgIH0sCi0gICAgewotICAgICAg
InN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJQcm9taXNlcyByZXNvbHV0
aW9uIGNoYWluaW5nIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6
IG51bGwsCi0gICAgICAic3RhY2siOiBudWxsCi0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVz
X3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1lIjogIlRlc3QgZXhlY3V0aW5nIGluIHBhcmVu
dCBjb250ZXh0IiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6IG51
bGwsCi0gICAgICAic3RhY2siOiBudWxsCi0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0
cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1lIjogIlVzZSBvZiBzdGVwX2Z1bmMgd2l0aCBQcm9t
aXNlcyIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsLAot
ICAgICAgInN0YWNrIjogbnVsbAotICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmci
OiAiRkFJTCIsCi0gICAgICAibmFtZSI6ICJVc2Ugb2YgdW5yZWFjaGVkX2Z1bmMgd2l0aCBQcm9t
aXNlcyAoc2hvdWxkIGZhaWwpIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVz
c2FnZSI6ICJhc3NlcnRfdW5yZWFjaGVkOiBUaGlzIGZhaWx1cmUgaXMgZXhwZWN0ZWQgUmVhY2hl
ZCB1bnJlYWNoYWJsZSBjb2RlIiwKLSAgICAgICJzdGFjayI6ICIoaW1wbGVtZW50YXRpb24tZGVm
aW5lZCkiCi0gICAgfQotICBdLAotICAidHlwZSI6ICJjb21wbGV0ZSIKLX0KLTwvc2NyaXB0Pgot
PC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9pZnJhbWUtbXNnLmh0bWwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0
L3Rlc3RzL2lmcmFtZS1tc2cuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTNh
M2ZmZjkyNGY5OTUxZTBlMzBmMjliMWU3MzRhMmVlMDFjZWUyOC4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2lmcmFtZS1tc2cuaHRtbAorKysg
L2Rldi9udWxsCkBAIC0xLDg2ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVh
ZD4KLTx0aXRsZT5FeGFtcGxlIHdpdGggaWZyYW1lIHRoYXQgbm90aWZpZXMgY29udGFpbmluZyBk
b2N1bWVudCB2aWEgY3Jvc3MgZG9jdW1lbnQgbWVzc2FnaW5nPC90aXRsZT4KLTxzY3JpcHQgc3Jj
PSIuLi8uLi90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vdGVz
dGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08aDE+Tm90aWZp
Y2F0aW9ucyBGcm9tIFRlc3RzIFJ1bm5pbmcgSW4gQW4gSUZSQU1FPC9oMT4KLTxwPkEgdGVzdCBp
cyBydW4gaW5zaWRlIGFuIDx0dD5pZnJhbWU8L3R0PiB3aXRoIGEgc2FtZSBvcmlnaW4gZG9jdW1l
bnQuIFRoZQotY29udGFpbmluZyBkb2N1bWVudCBzaG91bGQgcmVjZWl2ZSBtZXNzYWdlcyB2aWEg
PHR0PnBvc3RNZXNzYWdlPC90dD4vCi08dHQ+b25tZXNzYWdlPC90dD4gYXMgdGhlIHRlc3RzIHBy
b2dyZXNzIGluc2lkZSB0aGUgPHR0PmlmcmFtZTwvdHQ+LiBBIHNpbmdsZQotcGFzc2luZyB0ZXN0
IGlzIGV4cGVjdGVkIGluIHRoZSBzdW1tYXJ5IGJlbG93LgotPC9wPgotPGRpdiBpZD0ibG9nIj48
L2Rpdj4KLQotPHNjcmlwdD4KLXZhciB0ID0gYXN5bmNfdGVzdCgiQ29udGFpbmluZyBkb2N1bWVu
dCByZWNlaXZlcyBtZXNzYWdlcyIpOwotdmFyIHN0YXJ0X3JlY2VpdmVkID0gZmFsc2U7Ci12YXIg
cmVzdWx0X3JlY2VpdmVkID0gZmFsc2U7Ci12YXIgY29tcGxldGlvbl9yZWNlaXZlZCA9IGZhbHNl
OwotCi0vLyBUaGVzZSBhcmUgdGhlIG1lc3NhZ2VzIHRoYXQgYXJlIGV4cGVjdGVkIHRvIGJlIHNl
ZW4gd2hpbGUgcnVubmluZyB0aGUgdGVzdHMKLS8vIGluIHRoZSBJRlJBTUUuCi12YXIgZXhwZWN0
ZWRfbWVzc2FnZXMgPSBbCi0gICAgdC5zdGVwX2Z1bmMoCi0gICAgICAgIGZ1bmN0aW9uKG1lc3Nh
Z2UpIHsKLSAgICAgICAgICAgIGFzc2VydF9lcXVhbHMobWVzc2FnZS5kYXRhLnR5cGUsICJzdGFy
dCIpOwotICAgICAgICAgICAgYXNzZXJ0X293bl9wcm9wZXJ0eShtZXNzYWdlLmRhdGEsICJwcm9w
ZXJ0aWVzIik7Ci0gICAgICAgIH0pLAotCi0gICAgdC5zdGVwX2Z1bmMoCi0gICAgICAgIGZ1bmN0
aW9uKG1lc3NhZ2UpIHsKLSAgICAgICAgICAgIGFzc2VydF9lcXVhbHMobWVzc2FnZS5kYXRhLnR5
cGUsICJ0ZXN0X3N0YXRlIik7Ci0gICAgICAgICAgICBhc3NlcnRfZXF1YWxzKG1lc3NhZ2UuZGF0
YS50ZXN0LnN0YXR1cywgbWVzc2FnZS5kYXRhLnRlc3QuTk9UUlVOKTsKLSAgICAgICAgfSksCi0K
LSAgICB0LnN0ZXBfZnVuYygKLSAgICAgICAgZnVuY3Rpb24obWVzc2FnZSkgewotICAgICAgICAg
ICAgYXNzZXJ0X2VxdWFscyhtZXNzYWdlLmRhdGEudHlwZSwgInJlc3VsdCIpOwotICAgICAgICAg
ICAgYXNzZXJ0X2VxdWFscyhtZXNzYWdlLmRhdGEudGVzdC5zdGF0dXMsIG1lc3NhZ2UuZGF0YS50
ZXN0LlBBU1MpOwotICAgICAgICB9KSwKLQotICAgIHQuc3RlcF9mdW5jKAotICAgICAgICBmdW5j
dGlvbihtZXNzYWdlKSB7Ci0gICAgICAgICAgICBhc3NlcnRfZXF1YWxzKG1lc3NhZ2UuZGF0YS50
eXBlLCAiY29tcGxldGUiKTsKLSAgICAgICAgICAgIGFzc2VydF9lcXVhbHMobWVzc2FnZS5kYXRh
LnRlc3RzLmxlbmd0aCwgMSk7Ci0gICAgICAgICAgICBhc3NlcnRfZXF1YWxzKG1lc3NhZ2UuZGF0
YS50ZXN0c1swXS5zdGF0dXMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UuZGF0
YS50ZXN0c1swXS5QQVNTKTsKLSAgICAgICAgICAgIGFzc2VydF9lcXVhbHMobWVzc2FnZS5kYXRh
LnN0YXR1cy5zdGF0dXMsIG1lc3NhZ2UuZGF0YS5zdGF0dXMuT0spOwotICAgICAgICAgICAgdC5k
b25lKCk7Ci0gICAgICAgIH0pLAotCi0gICAgdC51bnJlYWNoZWRfZnVuYygiVG9vIG1hbnkgbWVz
c2FnZXMgcmVjZWl2ZWQiKQotXTsKLQotb25fZXZlbnQod2luZG93LAotICAgICAgICAgIm1lc3Nh
Z2UiLAotICAgICAgICAgZnVuY3Rpb24obWVzc2FnZSkgewotICAgICAgICAgICAgIHZhciBoYW5k
bGVyID0gZXhwZWN0ZWRfbWVzc2FnZXMuc2hpZnQoKTsKLSAgICAgICAgICAgICBoYW5kbGVyKG1l
c3NhZ2UpOwotICAgICAgICAgfSk7Ci08L3NjcmlwdD4KLTxpZnJhbWUgc3JjPSJzaW5nbGUtcGFn
ZS10ZXN0LXBhc3MuaHRtbCIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+Ci0gIDwhLS0gc2luZ2xlLXBh
Z2UtdGVzdC1wYXNzLmh0bWwgaW1wbGVtZW50cyBhIGZpbGVfaXNfdGVzdCB0ZXN0LiAtLT4KLTwv
aWZyYW1lPgotPHNjcmlwdCB0eXBlPSJ0ZXh0L2pzb24iIGlkPSJleHBlY3RlZCI+Ci17Ci0gICJz
dW1tYXJpemVkX3N0YXR1cyI6IHsKLSAgICAic3RhdHVzX3N0cmluZyI6ICJPSyIsCi0gICAgIm1l
c3NhZ2UiOiBudWxsLAotICAgICJzdGFjayI6IG51bGwKLSAgfSwKLSAgInN1bW1hcml6ZWRfdGVz
dHMiOiBbCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFt
ZSI6ICJDb250YWluaW5nIGRvY3VtZW50IHJlY2VpdmVzIG1lc3NhZ2VzIiwKLSAgICAgICJwcm9w
ZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAic3RhY2siOiBudWxs
Ci0gICAgfQotICBdLAotICAidHlwZSI6ICJjb21wbGV0ZSIKLX0KLTwvc2NyaXB0PgotPC9ib2R5
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9vcmRlci5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9vcmRlci5odG1sCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkMjBlYjZiMWFkMDg5YjZlNDFmMzE2OTk5OGIz
ZGQ2Y2I1NzVkOWFmLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3Rlc3QvdGVzdHMvb3JkZXIuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDM5ICswLDAgQEAKLTwh
RE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLTx0aXRsZT5PcmRlcmluZzwvdGl0bGU+Ci08
bWV0YSBuYW1lPSJ0aW1lb3V0IiBjb250ZW50PSI2MDAwIj4KLTwvaGVhZD4KLTxib2R5PgotPGRp
diBpZD0ibG9nIj48L2Rpdj4KLTxzY3JpcHQgc3JjPSIuLi8uLi90ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgotPHNjcmlwdD4KLXRlc3QoZnVuY3Rpb24oKSB7fSwgJ3NlY29uZCcpOwotdGVzdChmdW5jdGlv
bigpIHt9LCAnZmlyc3QnKTsKLTwvc2NyaXB0PgotPHNjcmlwdCB0eXBlPSJ0ZXh0L2pzb24iIGlk
PSJleHBlY3RlZCI+Ci17Ci0gICJzdW1tYXJpemVkX3N0YXR1cyI6IHsKLSAgICAic3RhdHVzX3N0
cmluZyI6ICJPSyIsCi0gICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICJzdGFjayI6IG51bGwKLSAg
fSwKLSAgInN1bW1hcml6ZWRfdGVzdHMiOiBbewotICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1Mi
LAotICAgICJuYW1lIjogImZpcnN0IiwKLSAgICAic3RhY2siOiBudWxsLAotICAgICJtZXNzYWdl
IjogbnVsbCwKLSAgICAicHJvcGVydGllcyI6IHt9Ci0gIH0sIHsKLSAgICAic3RhdHVzX3N0cmlu
ZyI6ICJQQVNTIiwKLSAgICAibmFtZSI6ICJzZWNvbmQiLAotICAgICJzdGFjayI6IG51bGwsCi0g
ICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICJwcm9wZXJ0aWVzIjoge30KLSAgfV0sCi0gICJ0eXBl
IjogImNvbXBsZXRlIgotfQotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90
ZXN0L3Rlc3RzL3Byb21pc2UtYXN5bmMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvcHJvbWlzZS1hc3luYy5odG1s
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4OGI2OTcyYTYwYTI0NzNiZjEyMGNlMGE0
OGUwZjMxY2Q3OTUwNWNhLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3Rlc3QvdGVzdHMvcHJvbWlzZS1hc3luYy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTgw
ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLTx0aXRsZT5Bc3luYyBU
ZXN0cyBhbmQgUHJvbWlzZXM8L3RpdGxlPgotPC9oZWFkPgotPGJvZHk+Ci08aDE+QXN5bmMgVGVz
dHMgYW5kIFByb21pc2VzPC9oMT4KLTxwPlRoaXMgdGVzdCBhc3N1bWVzIEVDTUFTY3JpcHQgNiBQ
cm9taXNlIHN1cHBvcnQuIFNvbWUgZmFpbHVyZXMgYXJlIGV4cGVjdGVkLjwvcD4KLTxkaXYgaWQ9
ImxvZyI+PC9kaXY+Ci08c2NyaXB0IHNyYz0iLi4vLi4vdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQ+Ci0KLXRlc3QoZnVuY3Rpb24oKSB7Ci0gIHZhciBwID0gbmV3IFByb21pc2UoZnVuY3Rp
b24ocmVzb2x2ZSwgcmVqZWN0KSB7fSk7Ci0gIGFzc2VydF90cnVlKCd0aGVuJyBpbiBwKTsKLSAg
YXNzZXJ0X2VxdWFscyh0eXBlb2YgUHJvbWlzZS5yZXNvbHZlLCAnZnVuY3Rpb24nKTsKLSAgYXNz
ZXJ0X2VxdWFscyh0eXBlb2YgUHJvbWlzZS5yZWplY3QsICdmdW5jdGlvbicpOwotfSwgIlByb21p
c2VzIGFyZSBzdXBwb3J0ZWQgaW4geW91ciBicm93c2VyIik7Ci0KLShmdW5jdGlvbigpIHsKLSAg
dmFyIHQgPSBhc3luY190ZXN0KCJQcm9taXNlIHJlc29sdXRpb24iKTsKLSAgdC5zdGVwKGZ1bmN0
aW9uKCkgewotICAgIFByb21pc2UucmVzb2x2ZSgneCcpLnRoZW4oCi0gICAgICB0LnN0ZXBfZnVu
YyhmdW5jdGlvbih2YWx1ZSkgewotICAgICAgICBhc3NlcnRfZXF1YWxzKHZhbHVlLCAneCcpOwot
ICAgICAgICB0LmRvbmUoKTsKLSAgICAgIH0pLAotICAgICAgdC51bnJlYWNoZWRfZnVuYygnUHJv
bWlzZSBzaG91bGQgbm90IHJlamVjdCcpCi0gICAgKTsKLSAgfSk7Ci19KCkpOwotCi0oZnVuY3Rp
b24oKSB7Ci0gIHZhciB0ID0gYXN5bmNfdGVzdCgiUHJvbWlzZSByZWplY3Rpb24iKTsKLSAgdC5z
dGVwKGZ1bmN0aW9uKCkgewotICAgIFByb21pc2UucmVqZWN0KEVycm9yKCdmYWlsJykpLnRoZW4o
Ci0gICAgICB0LnVucmVhY2hlZF9mdW5jKCdQcm9taXNlIHNob3VsZCByZWplY3QnKSwKLSAgICAg
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewotICAgICAgICBhc3NlcnRfdHJ1ZShyZWFz
b24gaW5zdGFuY2VvZiBFcnJvcik7Ci0gICAgICAgIGFzc2VydF9lcXVhbHMocmVhc29uLm1lc3Nh
Z2UsICdmYWlsJyk7Ci0gICAgICAgIHQuZG9uZSgpOwotICAgICAgfSkKLSAgICApOwotICB9KTsK
LX0oKSk7Ci0KLShmdW5jdGlvbigpIHsKLSAgdmFyIHQgPSBhc3luY190ZXN0KCJQcm9taXNlcyBy
ZXNvbHV0aW9uIGNoYWluaW5nIik7Ci0gIHQuc3RlcChmdW5jdGlvbigpIHsKLSAgICB2YXIgcmVz
b2x1dGlvbnMgPSBbXTsKLSAgICBQcm9taXNlLnJlc29sdmUoJ2EnKS50aGVuKAotICAgICAgdC5z
dGVwX2Z1bmMoZnVuY3Rpb24odmFsdWUpIHsKLSAgICAgICAgcmVzb2x1dGlvbnMucHVzaCh2YWx1
ZSk7Ci0gICAgICAgIHJldHVybiAnYic7Ci0gICAgICB9KQotICAgICkudGhlbigKLSAgICAgIHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHZhbHVlKSB7Ci0gICAgICAgIHJlc29sdXRpb25zLnB1c2godmFs
dWUpOwotICAgICAgICByZXR1cm4gJ2MnOwotICAgICAgfSkKLSAgICApLnRoZW4oCi0gICAgICB0
LnN0ZXBfZnVuYyhmdW5jdGlvbih2YWx1ZSkgewotICAgICAgICByZXNvbHV0aW9ucy5wdXNoKHZh
bHVlKTsKLQotICAgICAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKHJlc29sdXRpb25zLCBbJ2EnLCAn
YicsICdjJ10pOwotICAgICAgICB0LmRvbmUoKTsKLSAgICAgIH0pCi0gICAgKS5jYXRjaCgKLSAg
ICAgIHQudW5yZWFjaGVkX2Z1bmMoJ3Byb21pc2Ugc2hvdWxkIG5vdCBoYXZlIHJlamVjdGVkJykK
LSAgICApOwotICB9KTsKLX0oKSk7Ci0KLShmdW5jdGlvbigpIHsKLSAgdmFyIHQgPSBhc3luY190
ZXN0KCJVc2Ugb2Ygc3RlcF9mdW5jIHdpdGggUHJvbWlzZXMiKTsKLSAgdC5zdGVwKGZ1bmN0aW9u
KCkgewotICAgIHZhciByZXNvbHV0aW9ucyA9IFtdOwotICAgIFByb21pc2UucmVzb2x2ZSgneCcp
LnRoZW4oCi0gICAgICB0LnN0ZXBfZnVuY19kb25lKCksCi0gICAgICB0LnVucmVhY2hlZF9mdW5j
KCdQcm9taXNlIHNob3VsZCBub3QgaGF2ZSByZWplY3RlZCcpCi0gICAgKTsKLSAgfSk7Ci19KCkp
OwotCi0oZnVuY3Rpb24oKSB7Ci0gIHZhciB0ID0gYXN5bmNfdGVzdCgiUHJvbWlzZXMgYW5kIHRl
c3QgYXNzZXJ0aW9uIGZhaWx1cmVzIChzaG91bGQgZmFpbCkiKTsKLSAgdC5zdGVwKGZ1bmN0aW9u
KCkgewotICAgIHZhciByZXNvbHV0aW9ucyA9IFtdOwotICAgIFByb21pc2UucmVzb2x2ZSgneCcp
LnRoZW4oCi0gICAgICB0LnN0ZXBfZnVuYyhmdW5jdGlvbih2YWx1ZSkgewotICAgICAgICBhc3Nl
cnRfdHJ1ZShmYWxzZSwgJ1RoaXMgZmFpbHVyZSBpcyBleHBlY3RlZCcpOwotICAgICAgfSkKLSAg
ICApLnRoZW4oCi0gICAgICB0LnVucmVhY2hlZF9mdW5jKCdQcm9taXNlIHNob3VsZCBub3QgaGF2
ZSByZXNvbHZlZCcpCi0gICAgKS5jYXRjaCgKLSAgICAgIHQudW5yZWFjaGVkX2Z1bmMoJ1Byb21p
c2Ugc2hvdWxkIG5vdCBoYXZlIHJlamVjdGVkJykKLSAgICApOwotICB9KTsKLX0oKSk7Ci0KLShm
dW5jdGlvbigpIHsKLSAgdmFyIHQgPSBhc3luY190ZXN0KCJVc2Ugb2YgdW5yZWFjaGVkX2Z1bmMg
d2l0aCBQcm9taXNlcyAoc2hvdWxkIGZhaWwpIik7Ci0gIHQuc3RlcChmdW5jdGlvbigpIHsKLSAg
ICB2YXIgcmVzb2x1dGlvbnMgPSBbXTsKLSAgICB2YXIgcjsKLSAgICB2YXIgcCA9IG5ldyBQcm9t
aXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewotICAgICAgLy8gUmVqZWN0IGluc3RlYWQg
b2YgcmVzb2x2ZSwgdG8gZGVtb25zdHJhdGUgZmFpbHVyZS4KLSAgICAgIHJlamVjdCgxMjMpOwot
ICAgIH0pOwotICAgIHAudGhlbigKLSAgICAgIGZ1bmN0aW9uKHZhbHVlKSB7Ci0gICAgICAgIGFz
c2VydF9lcXVhbHModmFsdWUsIDEyMywgJ1RoaXMgc2hvdWxkIG5vdCBhY3R1YWxseSBoYXBwZW4n
KTsKLSAgICAgIH0sCi0gICAgICB0LnVucmVhY2hlZF9mdW5jKCdUaGlzIGZhaWx1cmUgaXMgZXhw
ZWN0ZWQnKQotICAgICk7Ci0gIH0pOwotfSgpKTsKLTwvc2NyaXB0PgotPHNjcmlwdCB0eXBlPSJ0
ZXh0L2pzb24iIGlkPSJleHBlY3RlZCI+Ci17Ci0gICJzdW1tYXJpemVkX3N0YXR1cyI6IHsKLSAg
ICAic3RhdHVzX3N0cmluZyI6ICJPSyIsCi0gICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICJzdGFj
ayI6IG51bGwKLSAgfSwKLSAgInN1bW1hcml6ZWRfdGVzdHMiOiBbCi0gICAgewotICAgICAgInN0
YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJQcm9taXNlIHJlamVjdGlvbiIs
Ci0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAg
InN0YWNrIjogbnVsbAotICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFT
UyIsCi0gICAgICAibmFtZSI6ICJQcm9taXNlIHJlc29sdXRpb24iLAotICAgICAgInByb3BlcnRp
ZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICJzdGFjayI6IG51bGwKLSAg
ICB9LAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIkZBSUwiLAotICAgICAgIm5hbWUi
OiAiUHJvbWlzZXMgYW5kIHRlc3QgYXNzZXJ0aW9uIGZhaWx1cmVzIChzaG91bGQgZmFpbCkiLAot
ICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogImFzc2VydF90cnVlOiBU
aGlzIGZhaWx1cmUgaXMgZXhwZWN0ZWQgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UiLAotICAgICAg
InN0YWNrIjogIihpbXBsZW1lbnRhdGlvbi1kZWZpbmVkKSIKLSAgICB9LAotICAgIHsKLSAgICAg
ICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUiOiAiUHJvbWlzZXMgYXJlIHN1
cHBvcnRlZCBpbiB5b3VyIGJyb3dzZXIiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAg
ICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICJzdGFjayI6IG51bGwKLSAgICB9LAotICAgIHsKLSAg
ICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUiOiAiUHJvbWlzZXMgcmVz
b2x1dGlvbiBjaGFpbmluZyIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3Nh
Z2UiOiBudWxsLAotICAgICAgInN0YWNrIjogbnVsbAotICAgIH0sCi0gICAgewotICAgICAgInN0
YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJVc2Ugb2Ygc3RlcF9mdW5jIHdp
dGggUHJvbWlzZXMiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjog
bnVsbCwKLSAgICAgICJzdGFjayI6IG51bGwKLSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0dXNf
c3RyaW5nIjogIkZBSUwiLAotICAgICAgIm5hbWUiOiAiVXNlIG9mIHVucmVhY2hlZF9mdW5jIHdp
dGggUHJvbWlzZXMgKHNob3VsZCBmYWlsKSIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAg
ICAgIm1lc3NhZ2UiOiAiYXNzZXJ0X3VucmVhY2hlZDogVGhpcyBmYWlsdXJlIGlzIGV4cGVjdGVk
IFJlYWNoZWQgdW5yZWFjaGFibGUgY29kZSIsCi0gICAgICAic3RhY2siOiAiKGltcGxlbWVudGF0
aW9uLWRlZmluZWQpIgotICAgIH0KLSAgXSwKLSAgInR5cGUiOiAiY29tcGxldGUiCi19Ci08L3Nj
cmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvcHJvbWlzZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9wcm9taXNl
Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDYxZWYxNWRlZDk4NDg5N2Y4Mzky
OGU4OTY3Y2ZkYjBlM2YzZTNjNTEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvdGVzdC90ZXN0cy9wcm9taXNlLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwyMjEg
KzAsMCBAQAotPCFET0NUWVBFIEhUTUw+Ci08aHRtbD4KLTxoZWFkPgotPHRpdGxlPlByb21pc2Ug
VGVzdHM8L3RpdGxlPgotPC9oZWFkPgotPGJvZHk+Ci08aDE+UHJvbWlzZSBUZXN0czwvaDE+Ci08
cD5UaGlzIHRlc3QgZGVtb25zdHJhdGVzIHRoZSB1c2Ugb2YgPHR0PnByb21pc2VfdGVzdDwvdHQ+
LiBBc3N1bWVzIEVDTUFTY3JpcHQgNgotUHJvbWlzZSBzdXBwb3J0LiBTb21lIGZhaWx1cmVzIGFy
ZSBleHBlY3RlZC48L3A+Ci08ZGl2IGlkPSJsb2ciPjwvZGl2PgotPHNjcmlwdCBzcmM9Ii4uLy4u
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotdGVzdCgKLSAgICBmdW5jdGlvbigpIHsK
LSAgICAgICAgdmFyIHAgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3Qpe30p
OwotICAgICAgICBhc3NlcnRfdHJ1ZSgidGhlbiIgaW4gcCk7Ci0gICAgICAgIGFzc2VydF9lcXVh
bHModHlwZW9mIFByb21pc2UucmVzb2x2ZSwgImZ1bmN0aW9uIik7Ci0gICAgICAgIGFzc2VydF9l
cXVhbHModHlwZW9mIFByb21pc2UucmVqZWN0LCAiZnVuY3Rpb24iKTsKLSAgICB9LAotICAgICJQ
cm9taXNlcyBhcmUgc3VwcG9ydGVkIGluIHlvdXIgYnJvd3NlciIpOwotCi1wcm9taXNlX3Rlc3Qo
Ci0gICAgZnVuY3Rpb24oKSB7Ci0gICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoIngiKQot
ICAgICAgICAgICAgLnRoZW4oCi0gICAgICAgICAgICAgICAgZnVuY3Rpb24odmFsdWUpIHsKLSAg
ICAgICAgICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyh2YWx1ZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAieCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IkZ1bGZpbGxlZCBwcm9taXNlIHNob3VsZCBwYXNzIHJlc3VsdCB0byAiICsKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAiZnVsZmlsbCByZWFjdGlvbi4iKTsKLSAgICAgICAgICAg
ICAgICB9KTsKLSAgICB9LAotICAgICJQcm9taXNlIGZ1bGZpbGxtZW50IHdpdGggcmVzdWx0Iik7
Ci0KLXByb21pc2VfdGVzdCgKLSAgICBmdW5jdGlvbih0KSB7Ci0gICAgICAgIHJldHVybiBQcm9t
aXNlLnJlamVjdChuZXcgRXJyb3IoImZhaWwiKSkKLSAgICAgICAgICAgIC50aGVuKHQudW5yZWFj
aGVkX2Z1bmMoIlByb21pc2Ugc2hvdWxkIHJlamVjdCIpLAotICAgICAgICAgICAgICAgIGZ1bmN0
aW9uKHJlYXNvbikgewotICAgICAgICAgICAgICAgICAgICBhc3NlcnRfdHJ1ZSgKLSAgICAgICAg
ICAgICAgICAgICAgICAgIHJlYXNvbiBpbnN0YW5jZW9mIEVycm9yLAotICAgICAgICAgICAgICAg
ICAgICAgICAgIlJlamVjdGVkIHByb21pc2Ugc2hvdWxkIHBhc3MgcmVhc29uIHRvIGZ1bGZpbGwg
cmVhY3Rpb24uIik7Ci0gICAgICAgICAgICAgICAgICAgIGFzc2VydF9lcXVhbHMoCi0gICAgICAg
ICAgICAgICAgICAgICAgICByZWFzb24ubWVzc2FnZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJmYWlsIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJSZWplY3RlZCBwcm9taXNlIHNob3Vs
ZCBwYXNzIHJlYXNvbiB0byByZWplY3QgcmVhY3Rpb24uIik7Ci0gICAgICAgICAgICAgICAgfSk7
Ci0gICAgfSwKLSAgICAiUHJvbWlzZSByZWplY3Rpb24gd2l0aCByZXN1bHQiKTsKLQotcHJvbWlz
ZV90ZXN0KAotICAgIGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgcmVzb2x1dGlvbnMgPSBbXTsK
LSAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgiYSIpCi0gICAgICAgICAgICAudGhlbigK
LSAgICAgICAgICAgICAgICBmdW5jdGlvbih2YWx1ZSkgewotICAgICAgICAgICAgICAgICAgICBy
ZXNvbHV0aW9ucy5wdXNoKHZhbHVlKTsKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuICJiIjsK
LSAgICAgICAgICAgICAgICB9KQotICAgICAgICAgICAgLnRoZW4oCi0gICAgICAgICAgICAgICAg
ZnVuY3Rpb24odmFsdWUpIHsKLSAgICAgICAgICAgICAgICAgICAgcmVzb2x1dGlvbnMucHVzaCh2
YWx1ZSk7Ci0gICAgICAgICAgICAgICAgICAgIHJldHVybiAiYyI7Ci0gICAgICAgICAgICAgICAg
fSkKLSAgICAgICAgICAgIC50aGVuKAotICAgICAgICAgICAgICAgIGZ1bmN0aW9uKHZhbHVlKSB7
Ci0gICAgICAgICAgICAgICAgICAgIHJlc29sdXRpb25zLnB1c2godmFsdWUpOwotICAgICAgICAg
ICAgICAgICAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKHJlc29sdXRpb25zLCBbImEiLCAiYiIsICJj
Il0pOwotICAgICAgICAgICAgICAgIH0pOwotICAgIH0sCi0gICAgIkNoYWluIG9mIHByb21pc2Ug
cmVzb2x1dGlvbnMiKTsKLQotcHJvbWlzZV90ZXN0KAotICAgIGZ1bmN0aW9uKHQpIHsKLSAgICAg
ICAgdmFyIHJlc29sdXRpb25zID0gW107Ci0gICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUo
IngiKQotICAgICAgICAgICAgLnRoZW4oCi0gICAgICAgICAgICAgICAgZnVuY3Rpb24odmFsdWUp
IHsKLSAgICAgICAgICAgICAgICAgICAgYXNzZXJ0X3RydWUoZmFsc2UsICJFeHBlY3RlZCBmYWls
dXJlLiIpOwotICAgICAgICAgICAgICAgIH0pCi0gICAgICAgICAgICAudGhlbih0LnVucmVhY2hl
ZF9mdW5jKCJVTkVYUEVDVEVEIEZBSUxVUkU6IFByb21pc2Ugc2hvdWxkIG5vdCBoYXZlIHJlc29s
dmVkLiIpKTsKLSAgICB9LAotICAgICJBc3NlcnRpb24gZmFpbHVyZSBpbiBhIGZ1bGZpbGwgcmVh
Y3Rpb24gKHNob3VsZCBGQUlMIHdpdGggYW4gZXhwZWN0ZWQgZmFpbHVyZSkiKTsKLQotcHJvbWlz
ZV90ZXN0KAotICAgIGZ1bmN0aW9uKHQpIHsKLSAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKAot
ICAgICAgICAgICAgICAgIGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewotICAgICAgICAgICAg
ICAgICAgICByZWplY3QoMTIzKTsKLSAgICAgICAgICAgICAgICB9KQotICAgICAgICAgICAgLnRo
ZW4odC51bnJlYWNoZWRfZnVuYygiVU5FWFBFQ1RFRCBGQUlMVVJFOiBGdWxmaWxsIHJlYWN0aW9u
IHJlYWNoZWQgYWZ0ZXIgcmVqZWN0aW9uLiIpLAotICAgICAgICAgICAgICAgICAgdC51bnJlYWNo
ZWRfZnVuYygiRXhwZWN0ZWQgZmFpbHVyZS4iKSk7Ci0gICAgfSwKLSAgICAidW5yZWFjaGVkX2Z1
bmMgYXMgcmVhY3RvciAoc2hvdWxkIEZBSUwgd2l0aCBhbiBleHBlY3RlZCBmYWlsdXJlKSIpOwot
Ci1wcm9taXNlX3Rlc3QoCi0gICAgZnVuY3Rpb24oKSB7Ci0gICAgICAgIHJldHVybiB0cnVlOwot
ICAgIH0sCi0gICAgInByb21pc2VfdGVzdCB3aXRoIGZ1bmN0aW9uIHRoYXQgZG9lc24ndCByZXR1
cm4gYSBQcm9taXNlIik7Ci0KLXByb21pc2VfdGVzdChmdW5jdGlvbigpe30sCi0gICAgICAgICAg
ICAgInByb21pc2VfdGVzdCB3aXRoIGZ1bmN0aW9uIHRoYXQgZG9lc24ndCByZXR1cm4gYW55dGhp
bmciKTsKLQotcHJvbWlzZV90ZXN0KAotICAgIGZ1bmN0aW9uKCkgewotICAgICAgICByZXR1cm4g
UHJvbWlzZS5yZWplY3QoIkV4cGVjdGVkIHJlamVjdGlvbiIpOwotICAgIH0sCi0gICAgInByb21p
c2VfdGVzdCB3aXRoIHVuaGFuZGxlZCByZWplY3Rpb24gKHNob3VsZCBGQUlMKSIpOwotCi1wcm9t
aXNlX3Rlc3QoCi0gICAgZnVuY3Rpb24oKSB7Ci0gICAgICAgIHJldHVybiBQcm9taXNlLnJlc29s
dmUoMTApCi0gICAgICAgICAgICAudGhlbigKLSAgICAgICAgICAgICAgICBmdW5jdGlvbih2YWx1
ZSkgewotICAgICAgICAgICAgICAgICAgICB0aHJvdyBFcnJvcigiRXhwZWN0ZWQgZXhjZXB0aW9u
LiIpOwotICAgICAgICAgICAgICAgIH0pOwotICAgIH0sCi0gICAgInByb21pc2VfdGVzdCB3aXRo
IHVuaGFuZGxlZCBleGNlcHRpb24gaW4gZnVsZmlsbCByZWFjdGlvbiAoc2hvdWxkIEZBSUwpIik7
Ci0KLXByb21pc2VfdGVzdCgKLSAgICBmdW5jdGlvbih0KSB7Ci0gICAgICAgIHJldHVybiBQcm9t
aXNlLnJlamVjdCgxMCkKLSAgICAgICAgICAgIC50aGVuKAotICAgICAgICAgICAgICAgIHQudW5y
ZWFjaGVkX2Z1bmMoIlVORVhQRUNURUQgRkFJTFVSRTogRnVsZmlsbCByZWFjdGlvbiByZWFjaGVk
IGFmdGVyIHJlamVjdGlvbi4iKSwKLSAgICAgICAgICAgICAgICBmdW5jdGlvbih2YWx1ZSkgewot
ICAgICAgICAgICAgICAgICAgICB0aHJvdyBFcnJvcigiRXhwZWN0ZWQgZXhjZXB0aW9uLiIpOwot
ICAgICAgICAgICAgICAgIH0pOwotICAgIH0sCi0gICAgInByb21pc2VfdGVzdCB3aXRoIHVuaGFu
ZGxlZCBleGNlcHRpb24gaW4gcmVqZWN0IHJlYWN0aW9uIChzaG91bGQgRkFJTCkiKTsKLTwvc2Ny
aXB0PgotPHNjcmlwdCB0eXBlPSJ0ZXh0L2pzb24iIGlkPSJleHBlY3RlZCI+Ci17Ci0gICJzdW1t
YXJpemVkX3N0YXR1cyI6IHsKLSAgICAic3RhdHVzX3N0cmluZyI6ICJPSyIsCi0gICAgIm1lc3Nh
Z2UiOiBudWxsLAotICAgICJzdGFjayI6IG51bGwKLSAgfSwKLSAgInN1bW1hcml6ZWRfdGVzdHMi
OiBbCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiRkFJTCIsCi0gICAgICAibmFtZSI6
ICJBc3NlcnRpb24gZmFpbHVyZSBpbiBhIGZ1bGZpbGwgcmVhY3Rpb24gKHNob3VsZCBGQUlMIHdp
dGggYW4gZXhwZWN0ZWQgZmFpbHVyZSkiLAotICAgICAgInN0YWNrIjogIihpbXBsZW1lbnRhdGlv
bi1kZWZpbmVkKSIsCi0gICAgICAibWVzc2FnZSI6ICJhc3NlcnRfdHJ1ZTogRXhwZWN0ZWQgZmFp
bHVyZS4gZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UiLAotICAgICAgInByb3BlcnRpZXMiOiB7fQot
ICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFt
ZSI6ICJDaGFpbiBvZiBwcm9taXNlIHJlc29sdXRpb25zIiwKLSAgICAgICJzdGFjayI6IG51bGws
Ci0gICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAicHJvcGVydGllcyI6IHt9Ci0gICAgfSwK
LSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1lIjogIlBy
b21pc2UgZnVsZmlsbG1lbnQgd2l0aCByZXN1bHQiLAotICAgICAgInN0YWNrIjogbnVsbCwKLSAg
ICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30KLSAgICB9LAotICAg
IHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUiOiAiUHJvbWlz
ZSByZWplY3Rpb24gd2l0aCByZXN1bHQiLAotICAgICAgInN0YWNrIjogbnVsbCwKLSAgICAgICJt
ZXNzYWdlIjogbnVsbCwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30KLSAgICB9LAotICAgIHsKLSAg
ICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUiOiAiUHJvbWlzZXMgYXJl
IHN1cHBvcnRlZCBpbiB5b3VyIGJyb3dzZXIiLAotICAgICAgInN0YWNrIjogbnVsbCwKLSAgICAg
ICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30KLSAgICB9LAotICAgIHsK
LSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUiOiAicHJvbWlzZV90
ZXN0IHdpdGggZnVuY3Rpb24gdGhhdCBkb2Vzbid0IHJldHVybiBhIFByb21pc2UiLAotICAgICAg
InN0YWNrIjogbnVsbCwKLSAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICJwcm9wZXJ0aWVz
Ijoge30KLSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIkZBSUwiLAotICAg
ICAgIm5hbWUiOiAicHJvbWlzZV90ZXN0IHdpdGggZnVuY3Rpb24gdGhhdCBkb2Vzbid0IHJldHVy
biBhbnl0aGluZyIsCi0gICAgICAic3RhY2siOiAiKGltcGxlbWVudGF0aW9uLWRlZmluZWQpIiwK
LSAgICAgICJtZXNzYWdlIjogImFzc2VydF9ub3RfZXF1YWxzOiBnb3QgZGlzYWxsb3dlZCB2YWx1
ZSB1bmRlZmluZWQiLAotICAgICAgInByb3BlcnRpZXMiOiB7fQotICAgIH0sCi0gICAgewotICAg
ICAgInN0YXR1c19zdHJpbmciOiAiRkFJTCIsCi0gICAgICAibmFtZSI6ICJwcm9taXNlX3Rlc3Qg
d2l0aCB1bmhhbmRsZWQgZXhjZXB0aW9uIGluIGZ1bGZpbGwgcmVhY3Rpb24gKHNob3VsZCBGQUlM
KSIsCi0gICAgICAic3RhY2siOiAiKGltcGxlbWVudGF0aW9uLWRlZmluZWQpIiwKLSAgICAgICJt
ZXNzYWdlIjogInByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBv
YmplY3QgXCJFcnJvcjogRXhwZWN0ZWQgZXhjZXB0aW9uLlwiIiwKLSAgICAgICJwcm9wZXJ0aWVz
Ijoge30KLSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIkZBSUwiLAotICAg
ICAgIm5hbWUiOiAicHJvbWlzZV90ZXN0IHdpdGggdW5oYW5kbGVkIGV4Y2VwdGlvbiBpbiByZWpl
Y3QgcmVhY3Rpb24gKHNob3VsZCBGQUlMKSIsCi0gICAgICAic3RhY2siOiAiKGltcGxlbWVudGF0
aW9uLWRlZmluZWQpIiwKLSAgICAgICJtZXNzYWdlIjogInByb21pc2VfdGVzdDogVW5oYW5kbGVk
IHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgXCJFcnJvcjogRXhwZWN0ZWQgZXhjZXB0aW9u
LlwiIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30KLSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0
dXNfc3RyaW5nIjogIkZBSUwiLAotICAgICAgIm5hbWUiOiAicHJvbWlzZV90ZXN0IHdpdGggdW5o
YW5kbGVkIHJlamVjdGlvbiAoc2hvdWxkIEZBSUwpIiwKLSAgICAgICJzdGFjayI6ICIoaW1wbGVt
ZW50YXRpb24tZGVmaW5lZCkiLAotICAgICAgIm1lc3NhZ2UiOiAicHJvbWlzZV90ZXN0OiBVbmhh
bmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IFwiRXhwZWN0ZWQgcmVqZWN0aW9uXCIiLAotICAg
ICAgInByb3BlcnRpZXMiOiB7fQotICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmci
OiAiRkFJTCIsCi0gICAgICAibmFtZSI6ICJ1bnJlYWNoZWRfZnVuYyBhcyByZWFjdG9yIChzaG91
bGQgRkFJTCB3aXRoIGFuIGV4cGVjdGVkIGZhaWx1cmUpIiwKLSAgICAgICJzdGFjayI6ICIoaW1w
bGVtZW50YXRpb24tZGVmaW5lZCkiLAotICAgICAgIm1lc3NhZ2UiOiAiYXNzZXJ0X3VucmVhY2hl
ZDogRXhwZWN0ZWQgZmFpbHVyZS4gUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlIiwKLSAgICAgICJw
cm9wZXJ0aWVzIjoge30KLSAgICB9Ci0gIF0sCi0gICJ0eXBlIjogImNvbXBsZXRlIgotfQotPC9z
Y3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL3NpbmdsZS1wYWdlLXRlc3QtZmFpbC5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVz
dC90ZXN0cy9zaW5nbGUtcGFnZS10ZXN0LWZhaWwuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggYTFmODgxMDczODJhNzk0Njc3YzA4MDMzNTJmMzIxZGE2NmMzNzZhNi4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL3NpbmdsZS1w
YWdlLXRlc3QtZmFpbC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMjkgKzAsMCBAQAotPCFET0NU
WVBFIEhUTUw+Ci08dGl0bGU+RXhhbXBsZSB3aXRoIGZpbGVfaXNfdGVzdCAoc2hvdWxkIGZhaWwp
PC90aXRsZT4KLTxzY3JpcHQgc3JjPSIuLi8uLi90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0iLi4vLi4vdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlw
dD4KLW9ubG9hZCA9IGZ1bmN0aW9uKCkgewotICBhc3NlcnRfdHJ1ZShmYWxzZSk7Ci0gIGRvbmUo
KTsKLX0KLTwvc2NyaXB0PgotPHNjcmlwdCB0eXBlPSJ0ZXh0L2pzb24iIGlkPSJleHBlY3RlZCI+
Ci17Ci0gICJzdW1tYXJpemVkX3N0YXR1cyI6IHsKLSAgICAic3RhdHVzX3N0cmluZyI6ICJPSyIs
Ci0gICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICJzdGFjayI6IG51bGwKLSAgfSwKLSAgInN1bW1h
cml6ZWRfdGVzdHMiOiBbCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiRkFJTCIsCi0g
ICAgICAibmFtZSI6ICJFeGFtcGxlIHdpdGggZmlsZV9pc190ZXN0IChzaG91bGQgZmFpbCkiLAot
ICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogInVuY2F1Z2h0IGV4Y2Vw
dGlvbjogRXJyb3I6IGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZSIsCi0gICAg
ICAic3RhY2siOiAiKGltcGxlbWVudGF0aW9uLWRlZmluZWQpIgotICAgIH0KLSAgXSwKLSAgInR5
cGUiOiAiY29tcGxldGUiCi19Ci08L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvc2luZ2xl
LXBhZ2UtdGVzdC1uby1hc3NlcnRpb25zLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL3NpbmdsZS1wYWdlLXRlc3Qt
bm8tYXNzZXJ0aW9ucy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzNDAyYTQ2
OWNmODU4MjkxZGY1YWUxYTBiMDliYTkzOWQyMjRhNzJhLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvc2luZ2xlLXBhZ2UtdGVzdC1uby1hc3Nl
cnRpb25zLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwyNiArMCwwIEBACi08IURPQ1RZUEUgSFRN
TD4KLTx0aXRsZT5FeGFtcGxlIHNpbmdsZSBwYWdlIHRlc3Qgd2l0aCBubyBhc3NlcnRzPC90aXRs
ZT4KLTxzY3JpcHQgc3JjPSIuLi8uLi90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0iLi4vLi4vdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLWRv
bmUoKTsKLTwvc2NyaXB0PgotPHNjcmlwdCB0eXBlPSJ0ZXh0L2pzb24iIGlkPSJleHBlY3RlZCI+
Ci17Ci0gICJzdW1tYXJpemVkX3N0YXR1cyI6IHsKLSAgICAic3RhdHVzX3N0cmluZyI6ICJPSyIs
Ci0gICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICJzdGFjayI6IG51bGwKLSAgfSwKLSAgInN1bW1h
cml6ZWRfdGVzdHMiOiBbCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0g
ICAgICAibmFtZSI6ICJFeGFtcGxlIHNpbmdsZSBwYWdlIHRlc3Qgd2l0aCBubyBhc3NlcnRzIiwK
LSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAi
c3RhY2siOiBudWxsCi0gICAgfQotICBdLAotICAidHlwZSI6ICJjb21wbGV0ZSIKLX0KLTwvc2Ny
aXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9zaW5nbGUtcGFnZS10ZXN0LW5vLWJvZHkuaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rl
c3QvdGVzdHMvc2luZ2xlLXBhZ2UtdGVzdC1uby1ib2R5Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDA2NTA5MWE5M2U4MGQxYjViMDMyODY5YzFiN2Y2M2Y5OTU1ZjM1ZjMuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9zaW5n
bGUtcGFnZS10ZXN0LW5vLWJvZHkuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDI3ICswLDAgQEAK
LTwhRE9DVFlQRSBIVE1MPgotPHRpdGxlPkV4YW1wbGUgc2luZ2xlIHBhZ2UgdGVzdCB3aXRoIG5v
IGJvZHk8L3RpdGxlPgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Rlc3RoYXJuZXNzLmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPSIuLi8uLi90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0PgotYXNzZXJ0X3RydWUodHJ1ZSk7Ci1kb25lKCk7Ci08L3NjcmlwdD4KLTxzY3JpcHQg
dHlwZT0idGV4dC9qc29uIiBpZD0iZXhwZWN0ZWQiPgotewotICAic3VtbWFyaXplZF9zdGF0dXMi
OiB7Ci0gICAgInN0YXR1c19zdHJpbmciOiAiT0siLAotICAgICJtZXNzYWdlIjogbnVsbCwKLSAg
ICAic3RhY2siOiBudWxsCi0gIH0sCi0gICJzdW1tYXJpemVkX3Rlc3RzIjogWwotICAgIHsKLSAg
ICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUiOiAiRXhhbXBsZSBzaW5n
bGUgcGFnZSB0ZXN0IHdpdGggbm8gYm9keSIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAg
ICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgInN0YWNrIjogbnVsbAotICAgIH0KLSAgXSwKLSAg
InR5cGUiOiAiY29tcGxldGUiCi19Ci08L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvc2lu
Z2xlLXBhZ2UtdGVzdC1wYXNzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL3NpbmdsZS1wYWdlLXRlc3QtcGFzcy5o
dG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzMWU0ZTY0OTQ3MWMxYzJhZTA4MjBj
NzgxNDQ0ZWU5MWQxZDU0ZTFjLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3Rlc3QvdGVzdHMvc2luZ2xlLXBhZ2UtdGVzdC1wYXNzLmh0bWwKKysrIC9kZXYvbnVs
bApAQCAtMSwyOSArMCwwIEBACi08IURPQ1RZUEUgSFRNTD4KLTx0aXRsZT5FeGFtcGxlIHdpdGgg
ZmlsZV9pc190ZXN0PC90aXRsZT4KLTxzY3JpcHQgc3JjPSIuLi8uLi90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdD4KLW9ubG9hZCA9IGZ1bmN0aW9uKCkgewotICBhc3NlcnRfdHJ1ZSh0cnVl
KTsKLSAgZG9uZSgpOwotfQotPC9zY3JpcHQ+Ci08c2NyaXB0IHR5cGU9InRleHQvanNvbiIgaWQ9
ImV4cGVjdGVkIj4KLXsKLSAgInN1bW1hcml6ZWRfc3RhdHVzIjogewotICAgICJzdGF0dXNfc3Ry
aW5nIjogIk9LIiwKLSAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgInN0YWNrIjogbnVsbAotICB9
LAotICAic3VtbWFyaXplZF90ZXN0cyI6IFsKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6
ICJQQVNTIiwKLSAgICAgICJuYW1lIjogIkV4YW1wbGUgd2l0aCBmaWxlX2lzX3Rlc3QiLAotICAg
ICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICJzdGFj
ayI6IG51bGwKLSAgICB9Ci0gIF0sCi0gICJ0eXBlIjogImNvbXBsZXRlIgotfQotPC9zY3JpcHQ+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy90ZXN0L3Rlc3RzL3VuY2F1Z2h0LWV4Y2VwdGlvbi1oYW5kbGUuaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3Qv
dGVzdHMvdW5jYXVnaHQtZXhjZXB0aW9uLWhhbmRsZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCA3ZDgyNDRiZjFjZWY0ZTQ1ODkxMjY4ODQ2NTMzOWRkNzNmOWViYWY0Li4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvdW5jYXVn
aHQtZXhjZXB0aW9uLWhhbmRsZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMzUgKzAsMCBAQAot
PCFET0NUWVBFIEhUTUw+Ci08aHRtbD4KLTxoZWFkPgotPHRpdGxlPkhhcm5lc3MgSGFuZGxpbmcg
VW5jYXVnaHQgRXhjZXB0aW9uPC90aXRsZT4KLTwvaGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci0KLTxib2R5PgotPGgxPkhhcm5lc3MgSGFuZGxpbmcg
VW5jYXVnaHQgRXhjZXB0aW9uPC9oMT4KLTxkaXYgaWQ9ImxvZyI+PC9kaXY+Ci08c2NyaXB0Pgot
dmFyIHQgPSBhc3luY190ZXN0KCJUaGlzIHNob3VsZCBzaG93IGEgaGFybmVzcyBzdGF0dXMgb2Yg
J0Vycm9yJyBhbmQgYSB0ZXN0IHN0YXR1cyBvZiAnTm90IFJ1biciKTsKLXRocm93IG5ldyBFcnJv
cigiRXhhbXBsZSBFcnJvciIpOwotPC9zY3JpcHQ+Ci08c2NyaXB0IHR5cGU9InRleHQvanNvbiIg
aWQ9ImV4cGVjdGVkIj4KLXsKLSAgInN1bW1hcml6ZWRfc3RhdHVzIjogewotICAgICJzdGF0dXNf
c3RyaW5nIjogIkVSUk9SIiwKLSAgICAibWVzc2FnZSI6ICJFcnJvcjogRXhhbXBsZSBFcnJvciIs
Ci0gICAgInN0YWNrIjogIihpbXBsZW1lbnRhdGlvbi1kZWZpbmVkKSIKLSAgfSwKLSAgInN1bW1h
cml6ZWRfdGVzdHMiOiBbCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiTk9UUlVOIiwK
LSAgICAgICJuYW1lIjogIlRoaXMgc2hvdWxkIHNob3cgYSBoYXJuZXNzIHN0YXR1cyBvZiAnRXJy
b3InIGFuZCBhIHRlc3Qgc3RhdHVzIG9mICdOb3QgUnVuJyIsCi0gICAgICAicHJvcGVydGllcyI6
IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgInN0YWNrIjogbnVsbAotICAgIH0K
LSAgXSwKLSAgInR5cGUiOiAiY29tcGxldGUiCi19Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvdW5jYXVnaHQtZXhjZXB0aW9uLWlnbm9yZS5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVz
dC90ZXN0cy91bmNhdWdodC1leGNlcHRpb24taWdub3JlLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDlmNDVkZGI0N2Y1NWMzMDk4YjBmYWJlOTJlNzNmOGZkNzA3NTg4MWEuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy91bmNh
dWdodC1leGNlcHRpb24taWdub3JlLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwzNyArMCwwIEBA
Ci08IURPQ1RZUEUgSFRNTD4KLTxodG1sPgotPGhlYWQ+Ci08dGl0bGU+SGFybmVzcyBJZ25vcmlu
ZyBVbmNhdWdodCBFeGNlcHRpb248L3RpdGxlPgotPC9oZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4u
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLQotPGJvZHk+Ci08aDE+SGFybmVzcyBJZ25vcmlu
ZyBVbmNhdWdodCBFeGNlcHRpb248L2gxPgotPGRpdiBpZD0ibG9nIj48L2Rpdj4KLTxzY3JpcHQ+
Ci1zZXR1cCh7YWxsb3dfdW5jYXVnaHRfZXhjZXB0aW9uOnRydWV9KTsKLXZhciB0ID0gYXN5bmNf
dGVzdCgic2V0dXAoe2FsbG93X3VuY2F1Z2h0X2V4Y2VwdGlvbjp0cnVlfSkgc2hvdWxkIGFsbG93
IHRlc3RzIHRvIHBhc3MgZXZlbiBpZiB0aGVyZSBpcyBhbiBleGNlcHRpb24iKTsKLW9uZXJyb3Ig
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbigpIHt0LmRvbmUoKX0pOwotdGhyb3cgbmV3IEVycm9yKCJF
eGFtcGxlIEVycm9yIik7Ci08L3NjcmlwdD4KLTxzY3JpcHQgdHlwZT0idGV4dC9qc29uIiBpZD0i
ZXhwZWN0ZWQiPgotewotICAic3VtbWFyaXplZF9zdGF0dXMiOiB7Ci0gICAgInN0YXR1c19zdHJp
bmciOiAiT0siLAotICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAic3RhY2siOiBudWxsCi0gIH0s
Ci0gICJzdW1tYXJpemVkX3Rlc3RzIjogWwotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjog
IlBBU1MiLAotICAgICAgIm5hbWUiOiAic2V0dXAoe2FsbG93X3VuY2F1Z2h0X2V4Y2VwdGlvbjp0
cnVlfSkgc2hvdWxkIGFsbG93IHRlc3RzIHRvIHBhc3MgZXZlbiBpZiB0aGVyZSBpcyBhbiBleGNl
cHRpb24iLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogbnVsbCwK
LSAgICAgICJzdGFjayI6IG51bGwKLSAgICB9Ci0gIF0sCi0gICJ0eXBlIjogImNvbXBsZXRlIgot
fQotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL3czYy1p
bXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvdGVzdC90ZXN0cy93M2MtaW1wb3J0LmxvZwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggYWI3MTU0Njc5ZTNmOWJhNzkwNGExNDdmZGYyMmIzMjFhNWFhNjMyMy4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL3czYy1pbXBv
cnQubG9nCisrKyAvZGV2L251bGwKQEAgLTEsNDIgKzAsMCBAQAotVGhlIHRlc3RzIGluIHRoaXMg
ZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCi1EbyBOT1Qg
bW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQsIGNyZWF0ZSBh
IHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20vdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cwotCi1UaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQt
dzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydAotCi1EbyBOT1QgbW9kaWZ5IG9yIHJlbW92
ZSB0aGlzIGZpbGUuCi0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotUHJvcGVydGllcyByZXF1aXJpbmcgdmVu
ZG9yIHByZWZpeGVzOgotTm9uZQotUHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJl
Zml4ZXM6Ci1Ob25lCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLUxpc3Qgb2YgZmlsZXM6Ci0vTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9h
ZGRfY2xlYW51cC5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9hZGRfY2xlYW51cF9jb3VudC5odG1sCi0vTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0
cy9hZGRfY2xlYW51cF9lcnIuaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvYWRkX2NsZWFudXBfZXJyX211bHRpLmh0
bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy90ZXN0L3Rlc3RzL2FwaS10ZXN0cy0xLmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2FwaS10ZXN0cy0yLmh0bWwK
LS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90
ZXN0L3Rlc3RzL2FwaS10ZXN0cy0zLmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2dlbmVyYXRlLWNhbGxiYWNrLmh0
bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy90ZXN0L3Rlc3RzL2lmcmFtZS1jYWxsYmFjay5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9pZnJhbWUtY29uc29s
aWRhdGUtZXJyb3JzLmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2lmcmFtZS1jb25zb2xpZGF0ZS10ZXN0cy5odG1s
Ci0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
dGVzdC90ZXN0cy9pZnJhbWUtbXNnLmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL29yZGVyLmh0bWwKLS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3Rz
L3Byb21pc2UtYXN5bmMuaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvcHJvbWlzZS5odG1sCi0vTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9zaW5n
bGUtcGFnZS10ZXN0LWZhaWwuaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvc2luZ2xlLXBhZ2UtdGVzdC1uby1hc3Nl
cnRpb25zLmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy90ZXN0L3Rlc3RzL3NpbmdsZS1wYWdlLXRlc3Qtbm8tYm9keS5odG1sCi0vTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90
ZXN0cy9zaW5nbGUtcGFnZS10ZXN0LXBhc3MuaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvdW5jYXVnaHQtZXhjZXB0
aW9uLWhhbmRsZS5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy91bmNhdWdodC1leGNlcHRpb24taWdub3JlLmh0bWwK
LS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90
ZXN0L3Rlc3RzL3dvcmtlci1kZWRpY2F0ZWQuaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvd29ya2VyLWVycm9yLmpz
Ci0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
dGVzdC90ZXN0cy93b3JrZXItc2VydmljZS5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy93b3JrZXItc2hhcmVkLmh0
bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy90ZXN0L3Rlc3RzL3dvcmtlci5qcwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy93b3JrZXItZGVkaWNh
dGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy90ZXN0L3Rlc3RzL3dvcmtlci1kZWRpY2F0ZWQuaHRtbApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMGNhM2U0ZDE0NWE2NDQ3MWU4ZDBmOWJhZmQ2N2EzMzcxYjM3YzZlOC4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL3dv
cmtlci1kZWRpY2F0ZWQuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDk3ICswLDAgQEAKLTwhRE9D
VFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLTx0aXRsZT5EZWRpY2F0ZWQgV29ya2VyIFRlc3Rz
PC90aXRsZT4KLTxzY3JpcHQgc3JjPSIuLi8uLi90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0iLi4vLi4vdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPC9oZWFk
PgotPGJvZHk+Ci08aDE+RGVkaWNhdGVkIFdlYiBXb3JrZXIgVGVzdHM8L2gxPgotPHA+RGVtb25z
dHJhdGVzIHJ1bm5pbmcgPHR0PnRlc3RoYXJuZXNzPC90dD4gYmFzZWQgdGVzdHMgaW5zaWRlIGEg
ZGVkaWNhdGVkIHdlYiB3b3JrZXIuCi08cD5UaGUgdGVzdCBoYXJuZXNzIGlzIGV4cGVjdGVkIHRv
IGZhaWwgZHVlIHRvIGFuIHVuY2F1Z2h0IGV4Y2VwdGlvbiBpbiBvbmUgd29ya2VyLjwvcD4KLTxk
aXYgaWQ9ImxvZyI+PC9kaXY+Ci0KLTxzY3JpcHQ+Ci10ZXN0KGZ1bmN0aW9uKHQpIHsKLSAgICAg
ICAgYXNzZXJ0X3RydWUoIldvcmtlciIgaW4gc2VsZiwgIkJyb3dzZXIgc2hvdWxkIHN1cHBvcnQg
V29ya2VycyIpOwotICAgIH0sCi0gICAgIkJyb3dzZXIgc3VwcG9ydHMgV29ya2VycyIpOwotCi1m
ZXRjaF90ZXN0c19mcm9tX3dvcmtlcihuZXcgV29ya2VyKCJ3b3JrZXIuanMiKSk7Ci0KLWZldGNo
X3Rlc3RzX2Zyb21fd29ya2VyKG5ldyBXb3JrZXIoIndvcmtlci1lcnJvci5qcyIpKTsKLQotdGVz
dChmdW5jdGlvbih0KSB7Ci0gICAgICAgIGFzc2VydF9mYWxzZShmYWxzZSwgIkZhbHNlIGlzIGZh
bHNlIik7Ci0gICAgfSwKLSAgICAiVGVzdCBydW5uaW5nIG9uIG1haW4gZG9jdW1lbnQuIik7Ci08
L3NjcmlwdD4KLTxzY3JpcHQgdHlwZT0idGV4dC9qc29uIiBpZD0iZXhwZWN0ZWQiPgotewotICAi
c3VtbWFyaXplZF9zdGF0dXMiOiB7Ci0gICAgInN0YXR1c19zdHJpbmciOiAiRVJST1IiLAotICAg
ICJtZXNzYWdlIjogIkVycm9yOiBUaGlzIGZhaWx1cmUgaXMgZXhwZWN0ZWQuIiwKLSAgICAic3Rh
Y2siOiAiKGltcGxlbWVudGF0aW9uLWRlZmluZWQpIgotICB9LAotICAic3VtbWFyaXplZF90ZXN0
cyI6IFsKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1l
IjogIkJyb3dzZXIgc3VwcG9ydHMgV29ya2VycyIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAot
ICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgInN0YWNrIjogbnVsbAotICAgIH0sCi0gICAg
ewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJUZXN0IHJ1
bm5pbmcgb24gbWFpbiBkb2N1bWVudC4iLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAg
ICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICJzdGFjayI6IG51bGwKLSAgICB9LAotICAgIHsKLSAg
ICAgICJzdGF0dXNfc3RyaW5nIjogIkZBSUwiLAotICAgICAgIm5hbWUiOiAiVW50aXRsZWQiLAot
ICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogIkVycm9yOiBUaGlzIGZh
aWx1cmUgaXMgZXhwZWN0ZWQuIiwKLSAgICAgICJzdGFjayI6ICIoaW1wbGVtZW50YXRpb24tZGVm
aW5lZCkiCi0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAg
ICAgICJuYW1lIjogIldvcmtlciBhc3luY190ZXN0IHRoYXQgY29tcGxldGVzIHN1Y2Nlc3NmdWxs
eSIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAg
ICAgInN0YWNrIjogbnVsbAotICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAi
UEFTUyIsCi0gICAgICAibmFtZSI6ICJXb3JrZXIgdGVzdCB0aGF0IGNvbXBsZXRlcyBzdWNjZXNz
ZnVsbHkiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogbnVsbCwK
LSAgICAgICJzdGFjayI6IG51bGwKLSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5n
IjogIk5PVFJVTiIsCi0gICAgICAibmFtZSI6ICJXb3JrZXIgdGVzdCB0aGF0IGRvZXNuJ3QgcnVu
ICgnTk9UIFJVTicpIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6
IG51bGwsCi0gICAgICAic3RhY2siOiBudWxsCi0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVz
X3N0cmluZyI6ICJGQUlMIiwKLSAgICAgICJuYW1lIjogIldvcmtlciB0ZXN0IHRoYXQgZmFpbHMg
KCdGQUlMJykiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogImFz
c2VydF90cnVlOiBGYWlsaW5nIHRlc3QgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UiLAotICAgICAg
InN0YWNrIjogIihpbXBsZW1lbnRhdGlvbi1kZWZpbmVkKSIKLSAgICB9LAotICAgIHsKLSAgICAg
ICJzdGF0dXNfc3RyaW5nIjogIlRJTUVPVVQiLAotICAgICAgIm5hbWUiOiAiV29ya2VyIHRlc3Qg
dGhhdCB0aW1lcyBvdXQgKCdUSU1FT1VUJykiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAg
ICAgICJtZXNzYWdlIjogIlRlc3QgdGltZWQgb3V0IiwKLSAgICAgICJzdGFjayI6IG51bGwKLSAg
ICB9Ci0gIF0sCi0gICJ0eXBlIjogImNvbXBsZXRlIgotfQotPC9zY3JpcHQ+Ci08L2JvZHk+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy90ZXN0L3Rlc3RzL3dvcmtlci1lcnJvci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvd29ya2VyLWVycm9y
LmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhMjVmMGRiMTg4YjA2OWFlN2QzMGM1
OTg2Nzg0ZjdmYWRlZDY0NTMyLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3Rlc3QvdGVzdHMvd29ya2VyLWVycm9yLmpzCisrKyAvZGV2L251bGwKQEAgLTEsMyAr
MCwwIEBACi1pbXBvcnRTY3JpcHRzKCIuLi8uLi90ZXN0aGFybmVzcy5qcyIpOwotCi10aHJvdyBu
ZXcgRXJyb3IoIlRoaXMgZmFpbHVyZSBpcyBleHBlY3RlZC4iKTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVz
dHMvd29ya2VyLXNlcnZpY2UuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvd29ya2VyLXNlcnZpY2UuaHRtbApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDE4ZjZkNzJiYjE2ZjIzNzM0NTQ4MzVkYWViOWY2
ZjI3Y2E4Yzk4OS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90
ZXN0L3Rlc3RzL3dvcmtlci1zZXJ2aWNlLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxMjMgKzAs
MCBAQAotPCFET0NUWVBFIEhUTUw+Ci08aHRtbD4KLTxoZWFkPgotPHRpdGxlPkV4YW1wbGUgd2l0
aCBhIHNlcnZpY2Ugd29ya2VyPC90aXRsZT4KLTxzY3JpcHQgc3JjPSIuLi8uLi90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08aDE+U2VydmljZSBXb3JrZXIgVGVzdHM8L2gx
PgotPHA+RGVtb25zdHJhdGVzIHJ1bm5pbmcgPHR0PnRlc3RoYXJuZXNzPC90dD4gYmFzZWQgdGVz
dHMgaW5zaWRlIGEgc2VydmljZSB3b3JrZXIuCi08cD5UaGUgdGVzdCBoYXJuZXNzIHNob3VsZCB0
aW1lIG91dCBkdWUgdG8gb25lIG9mIHRoZSB0ZXN0cyBpbnNpZGUgdGhlIHdvcmtlciB0aW1pbmcg
b3V0LgotPHA+VGhpcyB0ZXN0IGFzc3VtZXMgdGhhdCB0aGUgYnJvd3NlciBzdXBwb3J0cyA8YSBo
cmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi9zZXJ2aWNlLXdvcmtlcnMvIj5TZXJ2aWNlV29ya2Vy
czwvYT4uCi08ZGl2IGlkPSJsb2ciPjwvZGl2PgotCi08c2NyaXB0PgotdGVzdCgKLSAgICBmdW5j
dGlvbih0KSB7Ci0gICAgICAgIGFzc2VydF90cnVlKCJzZXJ2aWNlV29ya2VyIiBpbiBuYXZpZ2F0
b3IsCi0gICAgICAgICAgICAgICAgICAgICJuYXZpZ2F0b3Iuc2VydmljZVdvcmtlciBleGlzdHMi
KTsKLSAgICB9LAotICAgICJCcm93c2VyIHN1cHBvcnRzIFNlcnZpY2VXb3JrZXIiKTsKLQotcHJv
bWlzZV90ZXN0KAotICAgIGZ1bmN0aW9uKCkgewotICAgICAgICAvLyBTaW5jZSB0aGUgc2Vydmlj
ZSB3b3JrZXIgcmVnaXN0cmF0aW9uIGNvdWxkIGJlIGluIGFuIGluZGV0ZXJtaW5hdGUKLSAgICAg
ICAgLy8gc3RhdGUgKGR1ZSB0bywgZm9yIGV4YW1wbGUsIGEgcHJldmlvdXMgdGVzdCBydW4gZmFp
bGluZyksIHdlIHN0YXJ0IGJ5Ci0gICAgICAgIC8vIHVucmVnc3RlcmluZyBvdXIgc2VydmljZSB3
b3JrZXIgYW5kIHRoZW4gcmVnaXN0ZXJpbmcgaXQgYWdhaW4uCi0gICAgICAgIHZhciBzY29wZSA9
ICJzZXJ2aWNlLXdvcmtlci1zY29wZSI7Ci0gICAgICAgIHZhciB3b3JrZXJfdXJsID0gIndvcmtl
ci5qcyI7Ci0KLSAgICAgICAgcmV0dXJuIG5hdmlnYXRvci5zZXJ2aWNlV29ya2VyLnJlZ2lzdGVy
KHdvcmtlcl91cmwsIHtzY29wZTogc2NvcGV9KQotICAgICAgICAgICAgLnRoZW4oCi0gICAgICAg
ICAgICAgICAgZnVuY3Rpb24ocmVnaXN0cmF0aW9uKSB7Ci0gICAgICAgICAgICAgICAgICAgIHJl
dHVybiByZWdpc3RyYXRpb24udW5yZWdpc3RlcigpOwotICAgICAgICAgICAgICAgIH0pCi0gICAg
ICAgICAgICAudGhlbigKLSAgICAgICAgICAgICAgICBmdW5jdGlvbigpIHsKLSAgICAgICAgICAg
ICAgICAgICAgcmV0dXJuIG5hdmlnYXRvci5zZXJ2aWNlV29ya2VyLnJlZ2lzdGVyKHdvcmtlcl91
cmwsIHtzY29wZTogc2NvcGV9KTsKLSAgICAgICAgICAgICAgICB9KQotICAgICAgICAgICAgLnRo
ZW4oCi0gICAgICAgICAgICAgICAgZnVuY3Rpb24ocmVnaXN0cmF0aW9uKSB7Ci0gICAgICAgICAg
ICAgICAgICAgIGFkZF9jb21wbGV0aW9uX2NhbGxiYWNrKAotICAgICAgICAgICAgICAgICAgICAg
ICAgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVnaXN0cmF0aW9u
LnVucmVnaXN0ZXIoKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIH0pOwotCi0gICAgICAgICAg
ICAgICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgKLSAgICAgICAgICAgICAgICAgICAgICAgIGZ1
bmN0aW9uKHJlc29sdmUpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWdpc3RyYXRp
b24uYWRkRXZlbnRMaXN0ZW5lcigidXBkYXRlZm91bmQiLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHJlc29sdmUocmVnaXN0cmF0aW9uLmluc3RhbGxpbmcpOwotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB9KTsKLSAgICAgICAgICAgICAgICAgICAgICAgIH0pOwotICAgICAgICAg
ICAgICAgIH0pCi0gICAgICAgICAgICAudGhlbigKLSAgICAgICAgICAgICAgICBmdW5jdGlvbih3
b3JrZXIpIHsKLSAgICAgICAgICAgICAgICAgICAgZmV0Y2hfdGVzdHNfZnJvbV93b3JrZXIod29y
a2VyKTsKLSAgICAgICAgICAgICAgICB9KTsKLSAgICB9LAotICAgICJSZWdpc3RlciBTZXJ2aWNl
V29ya2VyIik7Ci08L3NjcmlwdD4KLTxzY3JpcHQgdHlwZT0idGV4dC9qc29uIiBpZD0iZXhwZWN0
ZWQiPgotewotICAic3VtbWFyaXplZF9zdGF0dXMiOiB7Ci0gICAgInN0YXR1c19zdHJpbmciOiAi
VElNRU9VVCIsCi0gICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICJzdGFjayI6IG51bGwKLSAgfSwK
LSAgInN1bW1hcml6ZWRfdGVzdHMiOiBbCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAi
UEFTUyIsCi0gICAgICAibmFtZSI6ICJCcm93c2VyIHN1cHBvcnRzIFNlcnZpY2VXb3JrZXIiLAot
ICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICJz
dGFjayI6IG51bGwKLSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1Mi
LAotICAgICAgIm5hbWUiOiAiUmVnaXN0ZXIgU2VydmljZVdvcmtlciIsCi0gICAgICAicHJvcGVy
dGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgInN0YWNrIjogbnVsbAot
ICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFt
ZSI6ICJXb3JrZXIgYXN5bmNfdGVzdCB0aGF0IGNvbXBsZXRlcyBzdWNjZXNzZnVsbHkiLAotICAg
ICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICJzdGFj
ayI6IG51bGwKLSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAot
ICAgICAgIm5hbWUiOiAiV29ya2VyIHRlc3QgdGhhdCBjb21wbGV0ZXMgc3VjY2Vzc2Z1bGx5IiwK
LSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAi
c3RhY2siOiBudWxsCi0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJOT1RS
VU4iLAotICAgICAgIm5hbWUiOiAiV29ya2VyIHRlc3QgdGhhdCBkb2Vzbid0IHJ1biAoJ05PVCBS
VU4nKSIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsLAot
ICAgICAgInN0YWNrIjogbnVsbAotICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmci
OiAiRkFJTCIsCi0gICAgICAibmFtZSI6ICJXb3JrZXIgdGVzdCB0aGF0IGZhaWxzICgnRkFJTCcp
IiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6ICJhc3NlcnRfdHJ1
ZTogRmFpbGluZyB0ZXN0IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlIiwKLSAgICAgICJzdGFjayI6
ICIoaW1wbGVtZW50YXRpb24tZGVmaW5lZCkiCi0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVz
X3N0cmluZyI6ICJUSU1FT1VUIiwKLSAgICAgICJuYW1lIjogIldvcmtlciB0ZXN0IHRoYXQgdGlt
ZXMgb3V0ICgnVElNRU9VVCcpIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVz
c2FnZSI6ICJUZXN0IHRpbWVkIG91dCIsCi0gICAgICAic3RhY2siOiBudWxsCi0gICAgfQotICBd
LAotICAidHlwZSI6ICJjb21wbGV0ZSIKLX0KLTwvc2NyaXB0PgotPC9ib2R5PgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
dGVzdC90ZXN0cy93b3JrZXItc2hhcmVkLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL3dvcmtlci1zaGFyZWQuaHRt
bApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTU2MDFkZTAzODY5MTc1NDAwMWM5NWM2
OWNiYmE2NGE4NTFlYWUyZC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy90ZXN0L3Rlc3RzL3dvcmtlci1zaGFyZWQuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDgw
ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLTx0aXRsZT5FeGFtcGxl
IHdpdGggYSBzaGFyZWQgd29ya2VyPC90aXRsZT4KLTxzY3JpcHQgc3JjPSIuLi8uLi90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08aDE+U2hhcmVkIFdlYiBXb3JrZXIgVGVz
dHM8L2gxPgotPHA+RGVtb25zdHJhdGVzIHJ1bm5pbmcgPHR0PnRlc3RoYXJuZXNzPC90dD4gYmFz
ZWQgdGVzdHMgaW5zaWRlIGEgc2hhcmVkIHdvcmtlci4KLTxwPlRoZSB0ZXN0IGhhcm5lc3Mgc2hv
dWxkIHRpbWUgb3V0IGR1ZSB0byBvbmUgb2YgdGhlIHRlc3RzIGluIHRoZSB3b3JrZXIgdGltaW5n
IG91dC4KLTxwPlRoaXMgdGVzdCBhc3N1bWVzIHRoYXQgdGhlIGJyb3dzZXIgc3VwcG9ydHMgPGEg
aHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvd29ya2Vycy8jc2hhcmVkLXdvcmtlcnMtYW5kLXRo
ZS1zaGFyZWR3b3JrZXItaW50ZXJmYWNlIj5zaGFyZWQgd2ViIHdvcmtlcnM8L2E+LgotPGRpdiBp
ZD0ibG9nIj48L2Rpdj4KLQotPHNjcmlwdD4KLXRlc3QoCi0gICAgZnVuY3Rpb24odCkgewotICAg
ICAgICBhc3NlcnRfdHJ1ZSgiU2hhcmVkV29ya2VyIiBpbiBzZWxmLAotICAgICAgICAgICAgICAg
ICAgICAiQnJvd3NlciBzaG91bGQgc3VwcG9ydCBTaGFyZWRXb3JrZXJzIik7Ci0gICAgfSwKLSAg
ICAiQnJvd3NlciBzdXBwb3J0cyBTaGFyZWRXb3JrZXJzIik7Ci0KLWZldGNoX3Rlc3RzX2Zyb21f
d29ya2VyKG5ldyBTaGFyZWRXb3JrZXIoIndvcmtlci5qcyIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJNeSBzaGFyZWQgd29ya2VyIikpOwotPC9zY3JpcHQ+Ci08
c2NyaXB0IHR5cGU9InRleHQvanNvbiIgaWQ9ImV4cGVjdGVkIj4KLXsKLSAgInN1bW1hcml6ZWRf
c3RhdHVzIjogewotICAgICJzdGF0dXNfc3RyaW5nIjogIlRJTUVPVVQiLAotICAgICJtZXNzYWdl
IjogbnVsbCwKLSAgICAic3RhY2siOiBudWxsCi0gIH0sCi0gICJzdW1tYXJpemVkX3Rlc3RzIjog
WwotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUiOiAi
QnJvd3NlciBzdXBwb3J0cyBTaGFyZWRXb3JrZXJzIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30s
Ci0gICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAic3RhY2siOiBudWxsCi0gICAgfSwKLSAg
ICB7Ci0gICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAibmFtZSI6ICJXb3JrZXIgYXN5bmNf
dGVzdCB0aGF0IGNvbXBsZXRlcyBzdWNjZXNzZnVsbHkiLAotICAgICAgInByb3BlcnRpZXMiOiB7
fSwKLSAgICAgICJzdGFjayI6IG51bGwsCi0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIgot
ICAgIH0sCi0gICAgewotICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgIm5hbWUiOiAiV29y
a2VyIHRlc3QgdGhhdCBjb21wbGV0ZXMgc3VjY2Vzc2Z1bGx5IiwKLSAgICAgICJwcm9wZXJ0aWVz
Ijoge30sCi0gICAgICAic3RhY2siOiBudWxsLAotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFT
UyIKLSAgICB9LAotICAgIHsKLSAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICJuYW1lIjog
IldvcmtlciB0ZXN0IHRoYXQgZG9lc24ndCBydW4gKCdOT1QgUlVOJykiLAotICAgICAgInByb3Bl
cnRpZXMiOiB7fSwKLSAgICAgICJzdGFjayI6IG51bGwsCi0gICAgICAic3RhdHVzX3N0cmluZyI6
ICJOT1RSVU4iCi0gICAgfSwKLSAgICB7Ci0gICAgICAibWVzc2FnZSI6ICJhc3NlcnRfdHJ1ZTog
RmFpbGluZyB0ZXN0IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlIiwKLSAgICAgICJuYW1lIjogIldv
cmtlciB0ZXN0IHRoYXQgZmFpbHMgKCdGQUlMJykiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwK
LSAgICAgICJzdGFjayI6ICIoaW1wbGVtZW50YXRpb24tZGVmaW5lZCkiLAotICAgICAgInN0YXR1
c19zdHJpbmciOiAiRkFJTCIKLSAgICB9LAotICAgIHsKLSAgICAgICJtZXNzYWdlIjogIlRlc3Qg
dGltZWQgb3V0IiwKLSAgICAgICJuYW1lIjogIldvcmtlciB0ZXN0IHRoYXQgdGltZXMgb3V0ICgn
VElNRU9VVCcpIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAic3RhY2siOiBudWxs
LAotICAgICAgInN0YXR1c19zdHJpbmciOiAiVElNRU9VVCIKLSAgICB9Ci0gIF0sCi0gICJ0eXBl
IjogImNvbXBsZXRlIgotfQotPC9zY3JpcHQ+Ci08L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3Rz
L3dvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3Rlc3QvdGVzdHMvd29ya2VyLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCBhMjU2MjFhYzFlNDA1Zjk1N2YzZDgzMmRhZmEzMmE1YTEyMTQ4NTQxLi4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvd29ya2VyLmpzCisr
KyAvZGV2L251bGwKQEAgLTEsMzQgKzAsMCBAQAotaW1wb3J0U2NyaXB0cygiLi4vLi4vdGVzdGhh
cm5lc3MuanMiKTsKLQotdGVzdCgKLSAgICBmdW5jdGlvbih0ZXN0KSB7Ci0gICAgICAgIGFzc2Vy
dF90cnVlKHRydWUsICJUcnVlIGlzIHRydWUiKTsKLSAgICB9LAotICAgICJXb3JrZXIgdGVzdCB0
aGF0IGNvbXBsZXRlcyBzdWNjZXNzZnVsbHkiKTsKLQotdGVzdCgKLSAgICBmdW5jdGlvbih0ZXN0
KSB7Ci0gICAgICAgIGFzc2VydF90cnVlKGZhbHNlLCAiRmFpbGluZyB0ZXN0Iik7Ci0gICAgfSwK
LSAgICAiV29ya2VyIHRlc3QgdGhhdCBmYWlscyAoJ0ZBSUwnKSIpOwotCi1hc3luY190ZXN0KAot
ICAgIGZ1bmN0aW9uKHRlc3QpIHsKLSAgICAgICAgYXNzZXJ0X3RydWUodHJ1ZSwgIlRydWUgaXMg
dHJ1ZSIpOwotICAgIH0sCi0gICAgIldvcmtlciB0ZXN0IHRoYXQgdGltZXMgb3V0ICgnVElNRU9V
VCcpIik7Ci0KLWFzeW5jX3Rlc3QoIldvcmtlciB0ZXN0IHRoYXQgZG9lc24ndCBydW4gKCdOT1Qg
UlVOJykiKTsKLQotYXN5bmNfdGVzdCgKLSAgICBmdW5jdGlvbih0ZXN0KSB7Ci0gICAgICAgIHNl
bGYuc2V0VGltZW91dCgKLSAgICAgICAgICAgIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAg
IHRlc3QuZG9uZSgpOwotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIDApOwotICAgIH0sCi0g
ICAgIldvcmtlciBhc3luY190ZXN0IHRoYXQgY29tcGxldGVzIHN1Y2Nlc3NmdWxseSIpOwotCi0v
LyBBbiBleHBsaWNpdCBkb25lKCkgaXMgcmVxdWlyZWQgZm9yIGRlZGljYXRlZCBhbmQgc2hhcmVk
IHdlYiB3b3JrZXJzLgotZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90b3guaW5pIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90b3guaW5p
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0ZjQ1NjQwNDc5ZjFiYmI4NjYwYjkzNWNk
MmRiNzhjNTFkNDA0ZDU3Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3Rlc3QvdG94LmluaQorKysgL2Rldi9udWxsCkBAIC0xLDEzICswLDAgQEAKLVt0b3hdCi1z
a2lwc2Rpc3Q9VHJ1ZQotCi1bdGVzdGVudl0KLXBhc3NlbnY9RElTUExBWSAjIE5lY2Vzc2FyeSBm
b3IgdGhlIHNwYXduZWQgR2Vja29Ecml2ZXIgcHJvY2VzcyB0byBjb25uZWN0IHRvCi0gICAgICAg
ICAgICAgICAgIyB0aGUgYXBwcm9wcmlhdGUgZGlzcGxheS4KLWRlcHMgPQotICBodG1sNWxpYgot
ICBweXRlc3Q+PTIuOQotICBweXZpcnR1YWxkaXNwbGF5Ci0gIHNlbGVuaXVtCi0KLWNvbW1hbmRz
ID0gcHl0ZXN0IHtwb3NhcmdzfSAtdnYgdGVzdHMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdzNjLWltcG9ydC5s
b2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy90ZXN0L3czYy1pbXBvcnQubG9nCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyNmVj
ZGEwZWQyZjdiMGRiMTdjNDBlZjAzNWM3NjMxNTFjNzJiYzkyLi4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdzNjLWltcG9ydC5sb2cKKysrIC9kZXYvbnVs
bApAQCAtMSwyMiArMCwwIEBACi1UaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBv
cnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KLURvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMg
ZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRo
ZSBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
Ci0KLVRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0
IHRvIHJlaW1wb3J0Ci0KLURvIE5PVCBtb2RpZnkgb3IgcmVtb3ZlIHRoaXMgZmlsZS4KLQotLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tCi1Qcm9wZXJ0aWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6Ci1Ob25l
Ci1Qcm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKLU5vbmUKLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLQotTGlzdCBvZiBmaWxlczoKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L1JFQURNRS5tZAotL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvY29uZmlnLnRlc3Qu
anNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3Rlc3QvY29uZnRlc3QucHkKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L2hhcm5lc3MuaHRtbAotL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdG94LmluaQotL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3Qvd3B0
c2VydmVyLnB5CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3dwdHNlcnZlci5weSBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3Qvd3B0c2VydmVyLnB5CmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiMDZmM2U4MTc0NWVmMTI1NjFjOGExNzJiYjgy
N2I0ZTY4MjhiMmI2Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3Rlc3Qvd3B0c2VydmVyLnB5CisrKyAvZGV2L251bGwKQEAgLTEsNDggKzAsMCBAQAotaW1wb3J0
IGpzb24KLWltcG9ydCBvcwotaW1wb3J0IHNzbAotaW1wb3J0IHN1YnByb2Nlc3MKLWltcG9ydCB1
cmxsaWIyCi0KLV9DT05GSUdfRklMRSA9IG9zLnBhdGguam9pbihvcy5wYXRoLmRpcm5hbWUob3Mu
cGF0aC5hYnNwYXRoKF9fZmlsZV9fKSksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Nv
bmZpZy50ZXN0Lmpzb24nKQotCi13aXRoIG9wZW4oX0NPTkZJR19GSUxFLCAncicpIGFzIGNvbmZp
Z19oYW5kbGU6Ci0gICAgY29uZmlnID0ganNvbi5sb2Fkcyhjb25maWdfaGFuZGxlLnJlYWQoKSkK
LSAgICBob3N0ID0gY29uZmlnWyJob3N0Il0KLSAgICBwb3J0ID0gY29uZmlnWyJwb3J0cyJdWyJo
dHRwcyJdWzBdCi0KLWNsYXNzIFdQVFNlcnZlcihvYmplY3QpOgotICAgIGJhc2VfdXJsID0gJ2h0
dHBzOi8vJXM6JXMnICUgKGhvc3QsIHBvcnQpCi0KLSAgICBkZWYgX19pbml0X18oc2VsZiwgd3B0
X3Jvb3QpOgotICAgICAgICBzZWxmLndwdF9yb290ID0gd3B0X3Jvb3QKLQotICAgIGRlZiBzdGFy
dChzZWxmKToKLSAgICAgICAgc2VsZi5kZXZudWxsID0gb3Blbihvcy5kZXZudWxsLCAndycpCi0g
ICAgICAgIHNlbGYucHJvYyA9IHN1YnByb2Nlc3MuUG9wZW4oCi0gICAgICAgICAgICBbb3MucGF0
aC5qb2luKHNlbGYud3B0X3Jvb3QsICd3cHQnKSwgJ3NlcnZlJywgJy0tY29uZmlnPScgKyBfQ09O
RklHX0ZJTEVdLAotICAgICAgICAgICAgc3Rkb3V0PXNlbGYuZGV2bnVsbCwKLSAgICAgICAgICAg
IHN0ZGVycj1zZWxmLmRldm51bGwsCi0gICAgICAgICAgICBjd2Q9c2VsZi53cHRfcm9vdCkKLSAg
ICAgICAgY29udGV4dCA9IHNzbC5TU0xDb250ZXh0KHNzbC5QUk9UT0NPTF9UTFN2MSkKLSAgICAg
ICAgY29udGV4dC52ZXJpZnlfbW9kZSA9IHNzbC5DRVJUX05PTkUKLSAgICAgICAgY29udGV4dC5j
aGVja19ob3N0bmFtZSA9IEZhbHNlCi0KLSAgICAgICAgd2hpbGUgVHJ1ZToKLSAgICAgICAgICAg
IGlmIHNlbGYucHJvYy5wb2xsKCkgIT0gTm9uZToKLSAgICAgICAgICAgICAgICByYWlzZSBFeGNl
cHRpb24oJ0NvdWxkIG5vdCBzdGFydCB3cHRzZXJ2ZS4nKQotCi0gICAgICAgICAgICB0cnk6Ci0g
ICAgICAgICAgICAgICAgdXJsbGliMi51cmxvcGVuKHNlbGYuYmFzZV91cmwsIHRpbWVvdXQ9MSwg
Y29udGV4dD1jb250ZXh0KQotICAgICAgICAgICAgICAgIGJyZWFrCi0gICAgICAgICAgICBleGNl
cHQgdXJsbGliMi5VUkxFcnJvciBhcyBlOgotICAgICAgICAgICAgICAgIHBhc3MKLQotICAgIGRl
ZiBzdG9wKHNlbGYpOgotICAgICAgICBzZWxmLnByb2Mua2lsbCgpCi0gICAgICAgIHNlbGYucHJv
Yy53YWl0KCkKLSAgICAgICAgc2VsZi5kZXZudWxsLmNsb3NlKCkKLQotICAgIGRlZiB1cmwoc2Vs
ZiwgYWJzX3BhdGgpOgotICAgICAgICByZXR1cm4gc2VsZi5iYXNlX3VybCArICcvJyArIG9zLnBh
dGgucmVscGF0aChhYnNfcGF0aCwgc2VsZi53cHRfcm9vdCkKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3Rkcml2ZXIt
YWN0aW9ucy5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3Rlc3Rkcml2ZXItYWN0aW9ucy5qcwppbmRleCA0M2Q4YjFkZjAwYWU0YzJmMzYx
MTRmNTg2OTVhNTMxNGRiZDQxZDYwLi5kM2RjMDBiNGQwZjAwMjY3MDI1OGU1NmQ1OWQzMzA2MWY0
ZmM1Nzc1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy90ZXN0ZHJpdmVyLWFjdGlvbnMuanMKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdGRyaXZlci1hY3Rp
b25zLmpzCkBAIC0zLDggKzMsMTAgQEAKIAogICAvKioKICAgICogQnVpbGRlciBmb3IgY3JlYXRp
bmcgYSBzZXF1ZW5jZSBvZiBhY3Rpb25zCisgICAqIFRoZSBkZWZhdWx0IHRpY2sgZHVyYXRpb24g
aXMgc2V0IHRvIDE2bXMsIHdoaWNoIGlzIG9uZSBmcmFtZSB0aW1lIGJhc2VkIG9uCisgICAqIDYw
SHogZGlzcGxheS4KICAgICovCi0gIGZ1bmN0aW9uIEFjdGlvbnMoKSB7CisgIGZ1bmN0aW9uIEFj
dGlvbnMoZGVmYXVsdFRpY2tEdXJhdGlvbj0xNikgewogICAgIHRoaXMuc291cmNlVHlwZXMgPSBu
ZXcgTWFwKFtbImtleSIsIEtleVNvdXJjZV0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFsicG9pbnRlciIsIFBvaW50ZXJTb3VyY2VdLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBbIm5vbmUiLCBHZW5lcmFsU291cmNlXV0pOwpAQCAtMTksNiArMjEsNyBAQAogICAg
IH0KICAgICB0aGlzLmNyZWF0ZVNvdXJjZSgibm9uZSIpOwogICAgIHRoaXMudGlja0lkeCA9IDA7
CisgICAgdGhpcy5kZWZhdWx0VGlja0R1cmF0aW9uID0gZGVmYXVsdFRpY2tEdXJhdGlvbjsKICAg
fQogCiAgIEFjdGlvbnMucHJvdG90eXBlID0gewpAQCAtNDAsNyArNDMsNyBAQAogICAgICAgbGV0
IGFjdGlvbnMgPSBbXTsKICAgICAgIGZvciAobGV0IFtzb3VyY2VUeXBlLCBzb3VyY2VOYW1lXSBv
ZiB0aGlzLnNvdXJjZU9yZGVyKSB7CiAgICAgICAgIGxldCBzb3VyY2UgPSB0aGlzLnNvdXJjZXMu
Z2V0KHNvdXJjZVR5cGUpLmdldChzb3VyY2VOYW1lKTsKLSAgICAgICAgbGV0IHNlcmlhbGl6ZWQg
PSBzb3VyY2Uuc2VyaWFsaXplKHRoaXMudGlja0lkeCArIDEpOworICAgICAgICBsZXQgc2VyaWFs
aXplZCA9IHNvdXJjZS5zZXJpYWxpemUodGhpcy50aWNrSWR4ICsgMSwgdGhpcy5kZWZhdWx0VGlj
a0R1cmF0aW9uKTsKICAgICAgICAgaWYgKHNlcmlhbGl6ZWQpIHsKICAgICAgICAgICBzZXJpYWxp
emVkLmlkID0gc291cmNlTmFtZTsKICAgICAgICAgICBhY3Rpb25zLnB1c2goc2VyaWFsaXplZCk7
CkBAIC0xOTIsMTAgKzE5NSwxNiBAQAogICAgICAqIEFkZCBhIHBhdXNlIHRvIHRoZSBjdXJyZW50
IHRpY2sKICAgICAgKgogICAgICAqIEBwYXJhbSB7TnVtYmVyP30gZHVyYXRpb24gLSBNaW5pbXVt
IGxlbmd0aCBvZiB0aGUgdGljayBpbiBtcy4KKyAgICAgKiBAcGFyYW0ge1N0cmluZ30gc291cmNl
VHlwZSAtIHNvdXJjZSB0eXBlCisgICAgICogQHBhcmFtIHtTdHJpbmc/fSBzb3VyY2VOYW1lIC0g
TmFtZWQga2V5IG9yIHBvaW50ZXIgc291cmNlIHRvIHVzZSBvciBudWxsIGZvciB0aGUgZGVmYXVs
dAorICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleSBvciBwb2ludGVyIHNv
dXJjZQogICAgICAqIEByZXR1cm5zIHtBY3Rpb25zfQogICAgICAqLwotICAgIHBhdXNlOiBmdW5j
dGlvbihkdXJhdGlvbikgewotICAgICAgdGhpcy5nZXRTb3VyY2UoIm5vbmUiKS5hZGRQYXVzZSh0
aGlzLCBkdXJhdGlvbik7CisgICAgcGF1c2U6IGZ1bmN0aW9uKGR1cmF0aW9uPTAsIHNvdXJjZVR5
cGU9Im5vbmUiLCB7c291cmNlTmFtZT1udWxsfT17fSkgeworICAgICAgaWYgKHNvdXJjZVR5cGU9
PSJub25lIikKKyAgICAgICAgdGhpcy5nZXRTb3VyY2UoIm5vbmUiKS5hZGRQYXVzZSh0aGlzLCBk
dXJhdGlvbik7CisgICAgICBlbHNlCisgICAgICAgIHRoaXMuZ2V0U291cmNlKHNvdXJjZVR5cGUs
IHNvdXJjZU5hbWUpLmFkZFBhdXNlKHRoaXMsIGR1cmF0aW9uKTsKICAgICAgIHJldHVybiB0aGlz
OwogICAgIH0sCiAKQEAgLTI3OCwxNyArMjg3LDE0IEBACiAgIH0KIAogICBHZW5lcmFsU291cmNl
LnByb3RvdHlwZSA9IHsKLSAgICBzZXJpYWxpemU6IGZ1bmN0aW9uKHRpY2tDb3VudCkgewotICAg
ICAgaWYgKCF0aGlzLmFjdGlvbnMuc2l6ZSkgewotICAgICAgICByZXR1cm4gdW5kZWZpbmVkOwot
ICAgICAgfQorICAgIHNlcmlhbGl6ZTogZnVuY3Rpb24odGlja0NvdW50LCBkZWZhdWx0VGlja0R1
cmF0aW9uKSB7CiAgICAgICBsZXQgYWN0aW9ucyA9IFtdOwogICAgICAgbGV0IGRhdGEgPSB7InR5
cGUiOiAibm9uZSIsICJhY3Rpb25zIjogYWN0aW9uc307CiAgICAgICBmb3IgKGxldCBpPTA7IGk8
dGlja0NvdW50OyBpKyspIHsKICAgICAgICAgaWYgKHRoaXMuYWN0aW9ucy5oYXMoaSkpIHsKICAg
ICAgICAgICBhY3Rpb25zLnB1c2godGhpcy5hY3Rpb25zLmdldChpKSk7CiAgICAgICAgIH0gZWxz
ZSB7Ci0gICAgICAgICAgYWN0aW9ucy5wdXNoKHsidHlwZSI6ICJwYXVzZSJ9KTsKKyAgICAgICAg
ICBhY3Rpb25zLnB1c2goeyJ0eXBlIjogInBhdXNlIiwgZHVyYXRpb246IGRlZmF1bHRUaWNrRHVy
YXRpb259KTsKICAgICAgICAgfQogICAgICAgfQogICAgICAgcmV0dXJuIGRhdGE7CkBAIC0zMzks
NiArMzQ1LDE0IEBACiAgICAgICB9CiAgICAgICB0aGlzLmFjdGlvbnMuc2V0KHRpY2ssIHt0eXBl
OiAia2V5VXAiLCB2YWx1ZToga2V5fSk7CiAgICAgfSwKKworICAgIGFkZFBhdXNlOiBmdW5jdGlv
bihhY3Rpb25zLCBkdXJhdGlvbikgeworICAgICAgbGV0IHRpY2sgPSBhY3Rpb25zLnRpY2tJZHg7
CisgICAgICBpZiAodGhpcy5hY3Rpb25zLmhhcyh0aWNrKSkgeworICAgICAgICB0aWNrID0gYWN0
aW9ucy5hZGRUaWNrKCkudGlja0lkeDsKKyAgICAgIH0KKyAgICAgIHRoaXMuYWN0aW9ucy5zZXQo
dGljaywge3R5cGU6ICJwYXVzZSIsIGR1cmF0aW9uOiBkdXJhdGlvbn0pOworICAgIH0sCiAgIH07
CiAKICAgZnVuY3Rpb24gUG9pbnRlclNvdXJjZShwYXJhbWV0ZXJzPXtwb2ludGVyVHlwZTogIm1v
dXNlIn0pIHsKQEAgLTM5Myw2ICs0MDcsMTQgQEAKICAgICAgICAgdGhpcy5hY3Rpb25zLmdldCh0
aWNrKS5kdXJhdGlvbiA9IGR1cmF0aW9uOwogICAgICAgfQogICAgIH0sCisKKyAgICBhZGRQYXVz
ZTogZnVuY3Rpb24oYWN0aW9ucywgZHVyYXRpb24pIHsKKyAgICAgIGxldCB0aWNrID0gYWN0aW9u
cy50aWNrSWR4OworICAgICAgaWYgKHRoaXMuYWN0aW9ucy5oYXModGljaykpIHsKKyAgICAgICAg
dGljayA9IGFjdGlvbnMuYWRkVGljaygpLnRpY2tJZHg7CisgICAgICB9CisgICAgICB0aGlzLmFj
dGlvbnMuc2V0KHRpY2ssIHt0eXBlOiAicGF1c2UiLCBkdXJhdGlvbjogZHVyYXRpb259KTsKKyAg
ICB9LAogICB9OwogCiAgIHRlc3RfZHJpdmVyLkFjdGlvbnMgPSBBY3Rpb25zOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
dGVzdGRyaXZlci12ZW5kb3IuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0ZHJpdmVyLXZlbmRvci5qcwppbmRleCBmNTk0ZDM1MTA0
NzZlNjYxOTQyNzdkNjEyNDQ4MGIyYzMxMDgwNzQ2Li5lNjlkZTI5YmIyZDFkNjQzNGI4YjI5YWU3
NzVhZDhjMmU0OGM1MzkxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0ZHJpdmVyLXZlbmRvci5qcworKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0ZHJp
dmVyLXZlbmRvci5qcwpAQCAtMSwyNTEgKzAsMCBAQAotCi1jb25zdCBpc0RlYnVnID0gZmFsc2U7
Ci0KLWZ1bmN0aW9uIGxvZ0RlYnVnKGNhbGxiYWNrKQotewotICAgIGlmIChpc0RlYnVnKQotICAg
ICAgICBjb25zb2xlLmxvZyhjYWxsYmFjaygpKTsKLX0KLQotZnVuY3Rpb24gZGlzcGF0Y2hNb3Vz
ZUFjdGlvbnMoYWN0aW9ucykKLXsKLSAgICBpZiAoIXdpbmRvdy5ldmVudFNlbmRlcikKLSAgICAg
ICAgcmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyBFcnJvcigid2luZG93LmV2ZW50U2VuZGVyIGlz
IHVuZGVmaW5lZC4iKSk7Ci0KLSAgICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7Ci0g
ICAgICAgIHNldFRpbWVvdXQoKCkgPT4gewotICAgICAgICAgICAgZXZlbnRTZW5kZXIuZHJhZ01v
ZGUgPSBmYWxzZTsKLQotICAgICAgICAgICAgZm9yIChsZXQgYWN0aW9uIG9mIGFjdGlvbnMpIHsK
LSAgICAgICAgICAgICAgICBzd2l0Y2ggKGFjdGlvbi50eXBlKSB7Ci0gICAgICAgICAgICAgICAg
Y2FzZSAicG9pbnRlck1vdmUiOgotICAgICAgICAgICAgICAgICAgICBsZXQgb3JpZ2luID0geyB4
OiAwLCB5OiAwIH07Ci0gICAgICAgICAgICAgICAgICAgIGlmIChhY3Rpb24ub3JpZ2luIGluc3Rh
bmNlb2YgRWxlbWVudCkgewotICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgYm91bmRzID0g
YWN0aW9uLm9yaWdpbi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTsKLSAgICAgICAgICAgICAgICAg
ICAgICAgIGxvZ0RlYnVnKCgpID0+IGAke2FjdGlvbi5vcmlnaW4uaWR9IFske2JvdW5kcy5sZWZ0
fSwgJHtib3VuZHMudG9wfSwgJHtib3VuZHMud2lkdGh9LCAke2JvdW5kcy5oZWlnaHR9XWApOwot
ICAgICAgICAgICAgICAgICAgICAgICAgb3JpZ2luLnggPSBib3VuZHMubGVmdCArIDE7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICBvcmlnaW4ueSA9IGJvdW5kcy50b3AgKyAxOwotICAgICAgICAg
ICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgIGxvZ0RlYnVnKCgpID0+IGBldmVudFNl
bmRlci5tb3VzZU1vdmVUbygke2FjdGlvbi54ICsgb3JpZ2luLnh9LCAke2FjdGlvbi55ICsgb3Jp
Z2luLnl9KWApOwotICAgICAgICAgICAgICAgICAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbyhh
Y3Rpb24ueCArIG9yaWdpbi54LCBhY3Rpb24ueSArIG9yaWdpbi55KTsKLSAgICAgICAgICAgICAg
ICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgY2FzZSAicG9pbnRlckRvd24iOgotICAgICAg
ICAgICAgICAgICAgICBsb2dEZWJ1ZygoKSA9PiBgZXZlbnRTZW5kZXIubW91c2VEb3duKClgKTsK
LSAgICAgICAgICAgICAgICAgICAgZXZlbnRTZW5kZXIubW91c2VEb3duKGFjdGlvbi5idXR0b24p
OwotICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgICAgICBjYXNlICJwb2lu
dGVyVXAiOgotICAgICAgICAgICAgICAgICAgICBsb2dEZWJ1ZygoKSA9PiBgZXZlbnRTZW5kZXIu
bW91c2VVcCgpYCk7Ci0gICAgICAgICAgICAgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlVXAoYWN0
aW9uLmJ1dHRvbik7Ci0gICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgICAg
IGRlZmF1bHQ6Ci0gICAgICAgICAgICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdChuZXcg
RXJyb3IoYFVua25vd24gYWN0aW9uIHR5cGUgIiR7YWN0aW9uLnR5cGV9Ii5gKSk7Ci0gICAgICAg
ICAgICAgICAgfQotICAgICAgICAgICAgfQotICAgICAgICAgICAgcmVzb2x2ZSgpOwotICAgICAg
ICB9KTsKLSAgICB9KTsKLX0KLQotZnVuY3Rpb24gZGlzcGF0Y2hUb3VjaEFjdGlvbnMoYWN0aW9u
cywgb3B0aW9ucyA9IHsgaW5zZXJ0UGF1c2VBZnRlclBvaW50ZXJVcDogZmFsc2UgfSkKLXsKLSAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyIHx8IHR5cGVvZiB3aW5kb3cudGVzdFJ1bm5lci5ydW5V
SVNjcmlwdCAhPT0gImZ1bmN0aW9uIikKLSAgICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KG5l
dyBFcnJvcigid2luZG93LnRlc3RSdW5uZXIucnVuVUlTY3JpcHQoKSBpcyB1bmRlZmluZWQuIikp
OwotCi0gICAgbGV0IHggPSAwOwotICAgIGxldCB5ID0gMDsKLSAgICBsZXQgdGltZU9mZnNldCA9
IDA7Ci0gICAgbGV0IHBvaW50ZXJEb3duID0gZmFsc2U7Ci0gICAgbGV0IGlkID0gMTsKLQotICAg
IGNvbnN0IGV2ZW50cyA9IFtdOwotICAgIGZvciAobGV0IGFjdGlvbiBvZiBhY3Rpb25zKSB7Ci0g
ICAgICAgIGNvbnN0IHRvdWNoID0gewotICAgICAgICAgICAgaW5wdXRUeXBlIDogImZpbmdlciIs
Ci0gICAgICAgICAgICBpZCwKLSAgICAgICAgICAgIHggOiBhY3Rpb24ueCwKLSAgICAgICAgICAg
IHkgOiBhY3Rpb24ueSwKLSAgICAgICAgICAgIHByZXNzdXJlIDogMAotICAgICAgICB9OwotCi0g
ICAgICAgIGNvbnN0IGNvbW1hbmQgPSB7Ci0gICAgICAgICAgICBpbnB1dFR5cGUgOiAiaGFuZCIs
Ci0gICAgICAgICAgICBjb29yZGluYXRlU3BhY2UgOiAiY29udGVudCIsCi0gICAgICAgICAgICB0
b3VjaGVzIDogW3RvdWNoXSwKLSAgICAgICAgICAgIHRpbWVPZmZzZXQKLSAgICAgICAgfTsKLQot
ICAgICAgICBsZXQgdGltZU9mZnNldEluY3JlYXNlID0gMC4wNTsKLQotICAgICAgICBzd2l0Y2gg
KGFjdGlvbi50eXBlKSB7Ci0gICAgICAgIGNhc2UgInBvaW50ZXJNb3ZlIjoKLSAgICAgICAgICAg
IHRvdWNoLnBoYXNlID0gIm1vdmVkIjsKLSAgICAgICAgICAgIGlmIChhY3Rpb24ub3JpZ2luIGlu
c3RhbmNlb2YgRWxlbWVudCkgewotICAgICAgICAgICAgICAgIGNvbnN0IGJvdW5kcyA9IGFjdGlv
bi5vcmlnaW4uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7Ci0gICAgICAgICAgICAgICAgdG91Y2gu
eCArPSBib3VuZHMubGVmdCArIDE7Ci0gICAgICAgICAgICAgICAgdG91Y2gueSArPSBib3VuZHMu
dG9wICsgMTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNl
ICJwb2ludGVyRG93biI6Ci0gICAgICAgICAgICBwb2ludGVyRG93biA9IHRydWU7Ci0gICAgICAg
ICAgICB0b3VjaC5waGFzZSA9ICJiZWdhbiI7Ci0gICAgICAgICAgICBpZiAoYWN0aW9uLnggPT09
IHVuZGVmaW5lZCkKLSAgICAgICAgICAgICAgICB0b3VjaC54ID0geDsKLSAgICAgICAgICAgIGlm
IChhY3Rpb24ueSA9PT0gdW5kZWZpbmVkKQotICAgICAgICAgICAgICAgIHRvdWNoLnkgPSB5Owot
ICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgInBvaW50ZXJVcCI6Ci0gICAgICAgICAg
ICBwb2ludGVyRG93biA9IGZhbHNlOwotICAgICAgICAgICAgdG91Y2gucGhhc2UgPSAiZW5kZWQi
OwotICAgICAgICAgICAgdG91Y2gueCA9IHg7Ci0gICAgICAgICAgICB0b3VjaC55ID0geTsKLSAg
ICAgICAgICAgIGlkKys7Ci0gICAgICAgICAgICAvLyBXZSBuZWVkIHRvIGFkZCBhIHBhdXNlIGFm
dGVyIGEgcG9pbnRlciB1cCB0byBlbnN1cmUgdGhhdCBhIHN1YnNlcXVlbnQgdGFwIG1heSBiZSBy
ZWNvZ25pemVkIGFzIHN1Y2guCi0gICAgICAgICAgICBpZiAob3B0aW9ucy5pbnNlcnRQYXVzZUFm
dGVyUG9pbnRlclVwKQotICAgICAgICAgICAgICAgIHRpbWVPZmZzZXRJbmNyZWFzZSA9IDAuNTsK
LSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlICJwYXVzZSI6Ci0gICAgICAgICAgICB0
aW1lT2Zmc2V0SW5jcmVhc2UgPSBhY3Rpb24uZHVyYXRpb24gLyAxMDAwOwotICAgICAgICAgICAg
dG91Y2gucGhhc2UgPSAic3RhdGlvbmFyeSI7Ci0gICAgICAgICAgICBpZiAoIXBvaW50ZXJEb3du
KQotICAgICAgICAgICAgICAgIGlkKys7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgZGVm
YXVsdDoKLSAgICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdChuZXcgRXJyb3IoYFVua25v
d24gYWN0aW9uIHR5cGUgIiR7YWN0aW9uLnR5cGV9Ii5gKSk7Ci0gICAgICAgIH0KLQotICAgICAg
ICB4ID0gdG91Y2gueDsKLSAgICAgICAgeSA9IHRvdWNoLnk7Ci0KLSAgICAgICAgaWYgKCFwb2lu
dGVyRG93biAmJiB0b3VjaC5waGFzZSA9PSAibW92ZWQiKQotICAgICAgICAgICAgY29udGludWU7
Ci0KLSAgICAgICAgdGltZU9mZnNldCArPSB0aW1lT2Zmc2V0SW5jcmVhc2U7Ci0KLSAgICAgICAg
ZXZlbnRzLnB1c2goY29tbWFuZCk7Ci0gICAgfQotCi0gICAgY29uc3Qgc3RyZWFtID0gSlNPTi5z
dHJpbmdpZnkoeyBldmVudHMgfSk7Ci0gICAgbG9nRGVidWcoKCkgPT4gc3RyZWFtKTsKLQotICAg
IHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHRlc3RSdW5uZXIucnVuVUlTY3JpcHQoYChm
dW5jdGlvbigpIHsKLSAgICAgICAgKGZ1bmN0aW9uKCkgeyB1aUNvbnRyb2xsZXIuc2VuZEV2ZW50
U3RyZWFtKCcke3N0cmVhbX0nKSB9KSgpOwotICAgICAgICB1aUNvbnRyb2xsZXIudWlTY3JpcHRD
b21wbGV0ZSgpOwotICAgIH0pKCk7YCwgcmVzb2x2ZSkpOwotfQotCi1pZiAod2luZG93LnRlc3Rf
ZHJpdmVyX2ludGVybmFsID09PSB1bmRlZmluZWQpCi0gICAgd2luZG93LnRlc3RfZHJpdmVyX2lu
dGVybmFsID0geyB9OwotCi13aW5kb3cudGVzdF9kcml2ZXJfaW50ZXJuYWwuc2VuZF9rZXlzID0g
ZnVuY3Rpb24oZWxlbWVudCwga2V5cykKLXsKLSAgICBpZiAoIXdpbmRvdy5ldmVudFNlbmRlcikK
LSAgICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyBFcnJvcigid2luZG93LmV2ZW50U2Vu
ZGVyIGlzIHVuZGVmaW5lZC4iKSk7Ci0KLSAgICAvLyBodHRwczovL3NlbGVuaXVtaHEuZ2l0aHVi
LmlvL3NlbGVuaXVtL2RvY3MvYXBpL3B5L3dlYmRyaXZlci9zZWxlbml1bS53ZWJkcml2ZXIuY29t
bW9uLmtleXMuaHRtbAotICAgIC8vIEZJWE1FOiBBZGQgbW9yZSBjYXNlcy4KLSAgICAvLyBGSVhN
RTogQWRkIHRoZSBzdXBwb3J0IGZvciBtb2RpZmllciBrZXlzLgotICAgIGNvbnN0IFNlbGVuaXVt
Q2hhckNvZGVUb0V2ZW50U2VuZGVyS2V5ID0gewotICAgICAgICAweEUwMDM6ICdkZWxldGUnLAot
ICAgICAgICAweEUwMDQ6ICdcdCcsCi0gICAgICAgIDB4RTAwRDogJyAnLAotICAgICAgICAweEUw
MTI6ICdsZWZ0QXJyb3cnLAotICAgICAgICAweEUwMTM6ICd1cEFycm93JywKLSAgICAgICAgMHhF
MDE0OiAncmlnaHRBcnJvdycsCi0gICAgICAgIDB4RTAxNTogJ2Rvd25BcnJvdycsCi0gICAgfTsK
LQotICAgIGZ1bmN0aW9uIGNvbnZlcnRTZWxlbml1bUtleUNvZGUoa2V5KQotICAgIHsKLSAgICAg
ICAgY29uc3QgY29kZSA9IGtleS5jaGFyQ29kZUF0KDApOwotICAgICAgICByZXR1cm4gU2VsZW5p
dW1DaGFyQ29kZVRvRXZlbnRTZW5kZXJLZXlbY29kZV0gfHwga2V5OwotICAgIH0KLQotICAgIGNv
bnN0IGtleUxpc3QgPSBbXTsKLSAgICBmb3IgKGNvbnN0IGtleSBvZiBrZXlzKQotICAgICAgICBr
ZXlMaXN0LnB1c2goY29udmVydFNlbGVuaXVtS2V5Q29kZShrZXkpKTsKLQotICAgIGlmICh0ZXN0
UnVubmVyLmlzSU9TRmFtaWx5ICYmIHRlc3RSdW5uZXIuaXNXZWJLaXQyKSB7Ci0gICAgICAgIHJl
dHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4gewotICAgICAgICAgICAgdGVzdFJ1bm5lci5y
dW5VSVNjcmlwdChgCi0gICAgICAgICAgICAgICAgY29uc3Qga2V5TGlzdCA9IEpTT04ucGFyc2Uo
JyR7SlNPTi5zdHJpbmdpZnkoa2V5TGlzdCl9Jyk7Ci0gICAgICAgICAgICAgICAgZm9yIChjb25z
dCBrZXkgb2Yga2V5TGlzdCkKLSAgICAgICAgICAgICAgICAgICAgdWlDb250cm9sbGVyLmtleURv
d24oa2V5KTtgLCByZXNvbHZlKTsKLSAgICAgICAgfSk7Ci0gICAgfQotCi0gICAgZm9yIChjb25z
dCBrZXkgb2Yga2V5TGlzdCkKLSAgICAgICAgZXZlbnRTZW5kZXIua2V5RG93bihrZXkpOwotICAg
IHJldHVybiBQcm9taXNlLnJlc29sdmUoKTsKLX0KLQotd2luZG93LnRlc3RfZHJpdmVyX2ludGVy
bmFsLmNsaWNrID0gZnVuY3Rpb24gKGVsZW1lbnQsIGNvb3JkcykKLXsKLSAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQotICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7Ci0KLSAgICBp
ZiAoIXdpbmRvdy5ldmVudFNlbmRlcikKLSAgICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KG5l
dyBFcnJvcigid2luZG93LmV2ZW50U2VuZGVyIGlzIHVuZGVmaW5lZC4iKSk7Ci0KLSAgICBpZiAo
dGVzdFJ1bm5lci5pc0lPU0ZhbWlseSAmJiB0ZXN0UnVubmVyLmlzV2ViS2l0MikgewotICAgICAg
ICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHsKLSAgICAgICAgICAgIHRlc3RSdW5u
ZXIucnVuVUlTY3JpcHQoYAotICAgICAgICAgICAgICAgIHVpQ29udHJvbGxlci5zaW5nbGVUYXBB
dFBvaW50KCR7Y29vcmRzLnh9LCAke2Nvb3Jkcy55fSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAg
ICAgICAgICAgIHVpQ29udHJvbGxlci51aVNjcmlwdENvbXBsZXRlKCk7Ci0gICAgICAgICAgICAg
ICAgfSk7YCwgcmVzb2x2ZSk7Ci0gICAgICAgIH0pOwotICAgIH0KLQotICAgIGV2ZW50U2VuZGVy
Lm1vdXNlTW92ZVRvKGNvb3Jkcy54LCBjb29yZHMueSk7Ci0gICAgZXZlbnRTZW5kZXIubW91c2VE
b3duKCk7Ci0gICAgZXZlbnRTZW5kZXIubW91c2VVcCgpOwotCi0gICAgcmV0dXJuIFByb21pc2Uu
cmVzb2x2ZSgpOwotfQotCi13aW5kb3cudGVzdF9kcml2ZXJfaW50ZXJuYWwuYWN0aW9uX3NlcXVl
bmNlID0gZnVuY3Rpb24oc291cmNlcykKLXsKLSAgICAvLyBodHRwczovL3czYy5naXRodWIuaW8v
d2ViZHJpdmVyLyNwcm9jZXNzaW5nLWFjdGlvbnMgICAgCi0KLSAgICBsZXQgbm9uZVNvdXJjZTsK
LSAgICBsZXQgcG9pbnRlclNvdXJjZTsKLSAgICBmb3IgKGxldCBzb3VyY2Ugb2Ygc291cmNlcykg
ewotICAgICAgICBzd2l0Y2ggKHNvdXJjZS50eXBlKSB7Ci0gICAgICAgIGNhc2UgIm5vbmUiOgot
ICAgICAgICAgICAgbm9uZVNvdXJjZSA9IHNvdXJjZTsKLSAgICAgICAgICAgIGJyZWFrOwotICAg
ICAgICBjYXNlICJwb2ludGVyIjoKLSAgICAgICAgICAgIHBvaW50ZXJTb3VyY2UgPSBzb3VyY2U7
Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgIHJldHVy
biBQcm9taXNlLnJlamVjdChuZXcgRXJyb3IoYFVua25vd24gc291cmNlIHR5cGUgIiR7YWN0aW9u
LnR5cGV9Ii5gKSk7Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICBpZiAoIXBvaW50ZXJTb3VyY2Up
Ci0gICAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdChuZXcgRXJyb3IoYFVua25vd24gcG9pbnRl
ciB0eXBlIHBvaW50ZXIgdHlwZSAiJHthY3Rpb24ucGFyYW1ldGVycy5wb2ludGVyVHlwZX0iLmAp
KTsKLQotICAgIGNvbnN0IHBvaW50ZXJUeXBlID0gcG9pbnRlclNvdXJjZS5wYXJhbWV0ZXJzLnBv
aW50ZXJUeXBlOwotICAgIGlmIChwb2ludGVyVHlwZSAhPT0gIm1vdXNlIiAmJiBwb2ludGVyVHlw
ZSAhPT0gInRvdWNoIikKLSAgICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyBFcnJvcihg
VW5rbm93biBwb2ludGVyIHR5cGUgIiR7cG9pbnRlclR5cGV9Ii5gKSk7Ci0KLSAgICAvLyBJZiB3
ZSBoYXZlIGEgIm5vbmUiIHNvdXJjZSwgbGV0J3MgaW5qZWN0IGFueSBwYXVzZSB3aXRoIG5vbi16
ZXJvIGR1cmF0aW9ucyBpbnRvIHRoZSBwb2ludGVyIHNvdXJjZQotICAgIC8vIGFmdGVyIHRoZSBt
YXRjaGluZyBhY3Rpb24gaW4gdGhlIHBvaW50ZXIgc291cmNlLgotICAgIGlmIChub25lU291cmNl
KSB7Ci0gICAgICAgIGxldCBpbmplY3RlZEFjdGlvbnMgPSAwOwotICAgICAgICBub25lU291cmNl
LmFjdGlvbnMuZm9yRWFjaCgoYWN0aW9uLCBpbmRleCkgPT4gewotICAgICAgICAgICAgaWYgKGFj
dGlvbi5kdXJhdGlvbiA+IDApIHsKLSAgICAgICAgICAgICAgICBwb2ludGVyU291cmNlLmFjdGlv
bnMuc3BsaWNlKGluZGV4ICsgaW5qZWN0ZWRBY3Rpb25zICsgMSwgMCwgYWN0aW9uKTsKLSAgICAg
ICAgICAgICAgICBpbmplY3RlZEFjdGlvbnMrKzsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfSk7
Ci0gICAgfQotCi0gICAgbG9nRGVidWcoKCkgPT4gSlNPTi5zdHJpbmdpZnkocG9pbnRlclNvdXJj
ZSkpOwotCi0gICAgaWYgKHBvaW50ZXJUeXBlID09PSAidG91Y2giKQotICAgICAgICByZXR1cm4g
ZGlzcGF0Y2hUb3VjaEFjdGlvbnMocG9pbnRlclNvdXJjZS5hY3Rpb25zKTsKLSAgICBpZiAodGVz
dFJ1bm5lci5pc0lPU0ZhbWlseSAmJiAiY3JlYXRlVG91Y2giIGluIGRvY3VtZW50KQotICAgICAg
ICByZXR1cm4gZGlzcGF0Y2hUb3VjaEFjdGlvbnMocG9pbnRlclNvdXJjZS5hY3Rpb25zLCB7IGlu
c2VydFBhdXNlQWZ0ZXJQb2ludGVyVXA6IHRydWUgfSk7Ci0gICAgaWYgKHBvaW50ZXJUeXBlID09
PSAibW91c2UiKQotICAgICAgICByZXR1cm4gZGlzcGF0Y2hNb3VzZUFjdGlvbnMocG9pbnRlclNv
dXJjZS5hY3Rpb25zKTsKLX07CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0ZHJpdmVyLXZlbmRvci5qcy5oZWFkZXJz
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
dGVzdGRyaXZlci12ZW5kb3IuanMuaGVhZGVycwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41ZThmNjQwYzY2NTlkMTc2
ZWFjYTRjNzFjYzE3OThiNzI4NTU0MGI3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdGRyaXZlci12ZW5k
b3IuanMuaGVhZGVycwpAQCAtMCwwICsxLDIgQEAKK0NvbnRlbnQtVHlwZTogdGV4dC9qYXZhc2Ny
aXB0OyBjaGFyc2V0PXV0Zi04CitDYWNoZS1Db250cm9sOiBtYXgtYWdlPTM2MDAKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3Rlc3Rkcml2ZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy90ZXN0ZHJpdmVyLmpzCmluZGV4IDAzMWJlMWI3ZTU1MDE2NThkNDEyYWVj
YzZmMGNiYTU2YjM0NDQ2MDEuLmJkMzhlM2UwMDZhZmVjOTRjMjMwMDVjYjE3MjVjNmQ0YTZlOWJi
ZTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3Rlc3Rkcml2ZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdGRyaXZlci5qcwpAQCAtMjA4LDcgKzIw
OCwxMjYgQEAKICAgICAgICAgICovCiAgICAgICAgIGdlbmVyYXRlX3Rlc3RfcmVwb3J0OiBmdW5j
dGlvbihtZXNzYWdlKSB7CiAgICAgICAgICAgICByZXR1cm4gd2luZG93LnRlc3RfZHJpdmVyX2lu
dGVybmFsLmdlbmVyYXRlX3Rlc3RfcmVwb3J0KG1lc3NhZ2UpOwotICAgICAgICB9CisgICAgICAg
IH0sCisKKyAgICAgICAgLyoqCisgICAgICAgICAqIENyZWF0ZXMgYSB2aXJ0dWFsIGF1dGhlbnRp
Y2F0b3IKKyAgICAgICAgICoKKyAgICAgICAgICogVGhpcyBmdW5jdGlvbiBjcmVhdGVzIGEgdmly
dHVhbCBhdXRoZW50aWNhdG9yIGZvciB1c2Ugd2l0aCB0aGUgVTJGCisgICAgICAgICAqIGFuZCBX
ZWJBdXRobiBBUElzIGFzIGRlc2NyaWJlZCBpbiB7QGxpbmsKKyAgICAgICAgICogaHR0cHM6Ly93
M2MuZ2l0aHViLmlvL3dlYmF1dGhuLyNzY3RuLWF1dG9tYXRpb24tYWRkLXZpcnR1YWwtYXV0aGVu
dGljYXRvcn0KKyAgICAgICAgICoKKyAgICAgICAgICogQHBhcmFtIHtPYmplY3R9IGNvbmZpZyAt
IGFuIFtBdXRoZW50aWNhdG9yIENvbmZpZ3VyYXRpb25de0BsaW5rCisgICAgICAgICAqICAgICAg
ICAgICAgICAgICAgICAgICAgICBodHRwczovL3czYy5naXRodWIuaW8vd2ViYXV0aG4vI2F1dGhl
bnRpY2F0b3ItY29uZmlndXJhdGlvbn0KKyAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAg
ICAgIG9iamVjdAorICAgICAgICAgKiBAcmV0dXJucyB7UHJvbWlzZX0gZnVsZmlsbGVkIGFmdGVy
IHRoZSBhdXRoZW50aWNhdG9yIGlzIGFkZGVkLCBvcgorICAgICAgICAgKiAgICAgICAgICAgICAg
ICAgICAgcmVqZWN0ZWQgaW4gdGhlIGNhc2VzIHRoZSBXZWJEcml2ZXIgY29tbWFuZAorICAgICAg
ICAgKiAgICAgICAgICAgICAgICAgICAgZXJyb3JzLiBSZXR1cm5zIHRoZSBJRCBvZiB0aGUgYXV0
aGVudGljYXRvcgorICAgICAgICAgKi8KKyAgICAgICAgYWRkX3ZpcnR1YWxfYXV0aGVudGljYXRv
cjogZnVuY3Rpb24oY29uZmlnKSB7CisgICAgICAgICAgICByZXR1cm4gd2luZG93LnRlc3RfZHJp
dmVyX2ludGVybmFsLmFkZF92aXJ0dWFsX2F1dGhlbnRpY2F0b3IoY29uZmlnKTsKKyAgICAgICAg
fSwKKworICAgICAgICAvKioKKyAgICAgICAgICogUmVtb3ZlcyBhIHZpcnR1YWwgYXV0aGVudGlj
YXRvcgorICAgICAgICAgKgorICAgICAgICAgKiBUaGlzIGZ1bmN0aW9uIHJlbW92ZXMgYSB2aXJ0
dWFsIGF1dGhlbnRpY2F0b3IgdGhhdCBoYXMgYmVlbiBjcmVhdGVkCisgICAgICAgICAqIGJ5IGFk
ZF92aXJ0dWFsX2F1dGhlbnRpY2F0b3IKKyAgICAgICAgICogaHR0cHM6Ly93M2MuZ2l0aHViLmlv
L3dlYmF1dGhuLyNzY3RuLWF1dG9tYXRpb24tcmVtb3ZlLXZpcnR1YWwtYXV0aGVudGljYXRvcgor
ICAgICAgICAgKgorICAgICAgICAgKiBAcGFyYW0ge1N0cmluZ30gYXV0aGVudGljYXRvcl9pZCAt
IHRoZSBJRCBvZiB0aGUgYXV0aGVudGljYXRvciB0byBiZQorICAgICAgICAgKiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHJlbW92ZWQuCisgICAgICAgICAqCisgICAgICAgICAq
IEByZXR1cm5zIHtQcm9taXNlfSBmdWxmaWxsZWQgYWZ0ZXIgdGhlIGF1dGhlbnRpY2F0b3IgaXMg
cmVtb3ZlZCwgb3IKKyAgICAgICAgICogICAgICAgICAgICAgICAgICAgIHJlamVjdGVkIGluIHRo
ZSBjYXNlcyB0aGUgV2ViRHJpdmVyIGNvbW1hbmQKKyAgICAgICAgICogICAgICAgICAgICAgICAg
ICAgIGVycm9ycworICAgICAgICAgKi8KKyAgICAgICAgcmVtb3ZlX3ZpcnR1YWxfYXV0aGVudGlj
YXRvcjogZnVuY3Rpb24oYXV0aGVudGljYXRvcl9pZCkgeworICAgICAgICAgICAgcmV0dXJuIHdp
bmRvdy50ZXN0X2RyaXZlcl9pbnRlcm5hbC5yZW1vdmVfdmlydHVhbF9hdXRoZW50aWNhdG9yKGF1
dGhlbnRpY2F0b3JfaWQpOworICAgICAgICB9LAorCisgICAgICAgIC8qKgorICAgICAgICAgKiBB
ZGRzIGEgY3JlZGVudGlhbCB0byBhIHZpcnR1YWwgYXV0aGVudGljYXRvcgorICAgICAgICAgKgor
ICAgICAgICAgKiBodHRwczovL3czYy5naXRodWIuaW8vd2ViYXV0aG4vI3NjdG4tYXV0b21hdGlv
bi1hZGQtY3JlZGVudGlhbAorICAgICAgICAgKgorICAgICAgICAgKiBAcGFyYW0ge1N0cmluZ30g
YXV0aGVudGljYXRvcl9pZCAtIHRoZSBJRCBvZiB0aGUgYXV0aGVudGljYXRvcgorICAgICAgICAg
KiBAcGFyYW0ge09iamVjdH0gY3JlZGVudGlhbCAtIEEgW0NyZWRlbnRpYWwgUGFyYW1ldGVyc117
QGxpbmsKKyAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBodHRwczovL3cz
Yy5naXRodWIuaW8vd2ViYXV0aG4vI2NyZWRlbnRpYWwtcGFyYW1ldGVyc30KKyAgICAgICAgICog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmplY3QKKyAgICAgICAgICoKKyAgICAgICAg
ICogQHJldHVybnMge1Byb21pc2V9IGZ1bGZpbGxlZCBhZnRlciB0aGUgY3JlZGVudGlhbCBpcyBh
ZGRlZCwgb3IKKyAgICAgICAgICogICAgICAgICAgICAgICAgICAgIHJlamVjdGVkIGluIHRoZSBj
YXNlcyB0aGUgV2ViRHJpdmVyIGNvbW1hbmQKKyAgICAgICAgICogICAgICAgICAgICAgICAgICAg
IGVycm9ycworICAgICAgICAgKi8KKyAgICAgICAgYWRkX2NyZWRlbnRpYWw6IGZ1bmN0aW9uKGF1
dGhlbnRpY2F0b3JfaWQsIGNyZWRlbnRpYWwpIHsKKyAgICAgICAgICAgIHJldHVybiB3aW5kb3cu
dGVzdF9kcml2ZXJfaW50ZXJuYWwuYWRkX2NyZWRlbnRpYWwoYXV0aGVudGljYXRvcl9pZCwgY3Jl
ZGVudGlhbCk7CisgICAgICAgIH0sCisKKyAgICAgICAgLyoqCisgICAgICAgICAqIEdldHMgYWxs
IHRoZSBjcmVkZW50aWFscyBzdG9yZWQgaW4gYW4gYXV0aGVudGljYXRvcgorICAgICAgICAgKgor
ICAgICAgICAgKiBUaGlzIGZ1bmN0aW9uIHJldHJpZXZlcyBhbGwgdGhlIGNyZWRlbnRpYWxzIChh
ZGRlZCB2aWEgdGhlIFUyRiBBUEksCisgICAgICAgICAqIFdlYkF1dGhuLCBvciB0aGUgYWRkX2Ny
ZWRlbnRpYWwgZnVuY3Rpb24pIHN0b3JlZCBpbiBhIHZpcnR1YWwKKyAgICAgICAgICogYXV0aGVu
dGljYXRvcgorICAgICAgICAgKiBodHRwczovL3czYy5naXRodWIuaW8vd2ViYXV0aG4vI3NjdG4t
YXV0b21hdGlvbi1nZXQtY3JlZGVudGlhbHMKKyAgICAgICAgICoKKyAgICAgICAgICogQHBhcmFt
IHtTdHJpbmd9IGF1dGhlbnRpY2F0b3JfaWQgLSB0aGUgSUQgb2YgdGhlIGF1dGhlbnRpY2F0b3IK
KyAgICAgICAgICoKKyAgICAgICAgICogQHJldHVybnMge1Byb21pc2V9IGZ1bGZpbGxlZCBhZnRl
ciB0aGUgY3JlZGVudGlhbHMgYXJlIHJldHVybmVkLCBvcgorICAgICAgICAgKiAgICAgICAgICAg
ICAgICAgICAgcmVqZWN0ZWQgaW4gdGhlIGNhc2VzIHRoZSBXZWJEcml2ZXIgY29tbWFuZAorICAg
ICAgICAgKiAgICAgICAgICAgICAgICAgICAgZXJyb3JzLiBSZXR1cm5zIGFuIGFycmF5IG9mIFtD
cmVkZW50aWFsCisgICAgICAgICAqICAgICAgICAgICAgICAgICAgICBQYXJhbWV0ZXJzXXtAbGlu
aworICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3dl
YmF1dGhuLyNjcmVkZW50aWFsLXBhcmFtZXRlcnN9CisgICAgICAgICAqLworICAgICAgICBnZXRf
Y3JlZGVudGlhbHM6IGZ1bmN0aW9uKGF1dGhlbnRpY2F0b3JfaWQpIHsKKyAgICAgICAgICAgIHJl
dHVybiB3aW5kb3cudGVzdF9kcml2ZXJfaW50ZXJuYWwuZ2V0X2NyZWRlbnRpYWxzKGF1dGhlbnRp
Y2F0b3JfaWQpOworICAgICAgICB9LAorCisgICAgICAgIC8qKgorICAgICAgICAgKiBSZW1vdmUg
YSBjcmVkZW50aWFsIHN0b3JlZCBpbiBhbiBhdXRoZW50aWNhdG9yCisgICAgICAgICAqCisgICAg
ICAgICAqIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby93ZWJhdXRobi8jc2N0bi1hdXRvbWF0aW9uLXJl
bW92ZS1jcmVkZW50aWFsCisgICAgICAgICAqCisgICAgICAgICAqIEBwYXJhbSB7U3RyaW5nfSBh
dXRoZW50aWNhdG9yX2lkIC0gdGhlIElEIG9mIHRoZSBhdXRoZW50aWNhdG9yCisgICAgICAgICAq
IEBwYXJhbSB7U3RyaW5nfSBjcmVkZW50aWFsX2lkIC0gdGhlIElEIG9mIHRoZSBjcmVkZW50aWFs
CisgICAgICAgICAqCisgICAgICAgICAqIEByZXR1cm5zIHtQcm9taXNlfSBmdWxmaWxsZWQgYWZ0
ZXIgdGhlIGNyZWRlbnRpYWwgaXMgcmVtb3ZlZCwgb3IKKyAgICAgICAgICogICAgICAgICAgICAg
ICAgICAgIHJlamVjdGVkIGluIHRoZSBjYXNlcyB0aGUgV2ViRHJpdmVyIGNvbW1hbmQKKyAgICAg
ICAgICogICAgICAgICAgICAgICAgICAgIGVycm9ycy4KKyAgICAgICAgICovCisgICAgICAgIHJl
bW92ZV9jcmVkZW50aWFsOiBmdW5jdGlvbihhdXRoZW50aWNhdG9yX2lkLCBjcmVkZW50aWFsX2lk
KSB7CisgICAgICAgICAgICByZXR1cm4gd2luZG93LnRlc3RfZHJpdmVyX2ludGVybmFsLnJlbW92
ZV9jcmVkZW50aWFsKGF1dGhlbnRpY2F0b3JfaWQsIGNyZWRlbnRpYWxfaWQpOworICAgICAgICB9
LAorCisgICAgICAgIC8qKgorICAgICAgICAgKiBSZW1vdmVzIGFsbCB0aGUgY3JlZGVudGlhbHMg
c3RvcmVkIGluIGEgdmlydHVhbCBhdXRoZW50aWNhdG9yCisgICAgICAgICAqCisgICAgICAgICAq
IGh0dHBzOi8vdzNjLmdpdGh1Yi5pby93ZWJhdXRobi8jc2N0bi1hdXRvbWF0aW9uLXJlbW92ZS1h
bGwtY3JlZGVudGlhbHMKKyAgICAgICAgICoKKyAgICAgICAgICogQHBhcmFtIHtTdHJpbmd9IGF1
dGhlbnRpY2F0b3JfaWQgLSB0aGUgSUQgb2YgdGhlIGF1dGhlbnRpY2F0b3IKKyAgICAgICAgICoK
KyAgICAgICAgICogQHJldHVybnMge1Byb21pc2V9IGZ1bGZpbGxlZCBhZnRlciB0aGUgY3JlZGVu
dGlhbHMgYXJlIHJlbW92ZWQsIG9yCisgICAgICAgICAqICAgICAgICAgICAgICAgICAgICByZWpl
Y3RlZCBpbiB0aGUgY2FzZXMgdGhlIFdlYkRyaXZlciBjb21tYW5kCisgICAgICAgICAqICAgICAg
ICAgICAgICAgICAgICBlcnJvcnMuCisgICAgICAgICAqLworICAgICAgICByZW1vdmVfYWxsX2Ny
ZWRlbnRpYWxzOiBmdW5jdGlvbihhdXRoZW50aWNhdG9yX2lkKSB7CisgICAgICAgICAgICByZXR1
cm4gd2luZG93LnRlc3RfZHJpdmVyX2ludGVybmFsLnJlbW92ZV9hbGxfY3JlZGVudGlhbHMoYXV0
aGVudGljYXRvcl9pZCk7CisgICAgICAgIH0sCisKKyAgICAgICAgLyoqCisgICAgICAgICAqIFNl
dHMgdGhlIFVzZXIgVmVyaWZpZWQgZmxhZyBvbiBhbiBhdXRoZW50aWNhdG9yCisgICAgICAgICAq
CisgICAgICAgICAqIFNldHMgd2hldGhlciByZXF1ZXN0cyByZXF1aXJpbmcgdXNlciB2ZXJpZmlj
YXRpb24gd2lsbCBzdWNjZWVkIG9yCisgICAgICAgICAqIGZhaWwgb24gYSBnaXZlbiB2aXJ0dWFs
IGF1dGhlbnRpY2F0b3IKKyAgICAgICAgICogaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3dlYmF1dGhu
LyNzY3RuLWF1dG9tYXRpb24tc2V0LXVzZXItdmVyaWZpZWQKKyAgICAgICAgICoKKyAgICAgICAg
ICogQHBhcmFtIHtTdHJpbmd9IGF1dGhlbnRpY2F0b3JfaWQgLSB0aGUgSUQgb2YgdGhlIGF1dGhl
bnRpY2F0b3IKKyAgICAgICAgICogQHBhcmFtIHtib29sZWFufSB1diAtIHRoZSBVc2VyIFZlcmlm
aWVkIGZsYWcKKyAgICAgICAgICovCisgICAgICAgIHNldF91c2VyX3ZlcmlmaWVkOiBmdW5jdGlv
bihhdXRoZW50aWNhdG9yX2lkLCB1dikgeworICAgICAgICAgICAgcmV0dXJuIHdpbmRvdy50ZXN0
X2RyaXZlcl9pbnRlcm5hbC5zZXRfdXNlcl92ZXJpZmllZChhdXRoZW50aWNhdG9yX2lkLCB1dik7
CisgICAgICAgIH0sCiAgICAgfTsKIAogICAgIHdpbmRvdy50ZXN0X2RyaXZlcl9pbnRlcm5hbCA9
IHsKQEAgLTMwNiw2ICs0MjUsMTA1IEBACiAgICAgICAgICAqLwogICAgICAgICBnZW5lcmF0ZV90
ZXN0X3JlcG9ydDogZnVuY3Rpb24obWVzc2FnZSkgewogICAgICAgICAgICAgcmV0dXJuIFByb21p
c2UucmVqZWN0KG5ldyBFcnJvcigidW5pbXBsZW1lbnRlZCIpKTsKLSAgICAgICAgfQorICAgICAg
ICB9LAorCisgICAgICAgIC8qKgorICAgICAgICAgKiBDcmVhdGVzIGEgdmlydHVhbCBhdXRoZW50
aWNhdG9yCisgICAgICAgICAqCisgICAgICAgICAqIEBwYXJhbSB7T2JqZWN0fSBjb25maWcgLSB0
aGUgYXV0aGVudGljYXRvciBjb25maWd1cmF0aW9uCisgICAgICAgICAqIEByZXR1cm5zIHtQcm9t
aXNlfSBmdWxmaWxsZWQgYWZ0ZXIgdGhlIGF1dGhlbnRpY2F0b3IgaXMgYWRkZWQsIG9yCisgICAg
ICAgICAqICAgICAgICAgICAgICAgICAgICByZWplY3RlZCBpbiB0aGUgY2FzZXMgdGhlIFdlYkRy
aXZlciBjb21tYW5kCisgICAgICAgICAqICAgICAgICAgICAgICAgICAgICBlcnJvcnMuCisgICAg
ICAgICAqLworICAgICAgICBhZGRfdmlydHVhbF9hdXRoZW50aWNhdG9yOiBmdW5jdGlvbihjb25m
aWcpIHsKKyAgICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdChuZXcgRXJyb3IoInVuaW1w
bGVtZW50ZWQiKSk7CisgICAgICAgIH0sCisKKyAgICAgICAgLyoqCisgICAgICAgICAqIFJlbW92
ZXMgYSB2aXJ0dWFsIGF1dGhlbnRpY2F0b3IKKyAgICAgICAgICoKKyAgICAgICAgICogQHBhcmFt
IHtTdHJpbmd9IGF1dGhlbnRpY2F0b3JfaWQgLSB0aGUgSUQgb2YgdGhlIGF1dGhlbnRpY2F0b3Ig
dG8gYmUKKyAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZW1v
dmVkLgorICAgICAgICAgKgorICAgICAgICAgKiBAcmV0dXJucyB7UHJvbWlzZX0gZnVsZmlsbGVk
IGFmdGVyIHRoZSBhdXRoZW50aWNhdG9yIGlzIHJlbW92ZWQsIG9yCisgICAgICAgICAqICAgICAg
ICAgICAgICAgICAgICByZWplY3RlZCBpbiB0aGUgY2FzZXMgdGhlIFdlYkRyaXZlciBjb21tYW5k
CisgICAgICAgICAqICAgICAgICAgICAgICAgICAgICBlcnJvcnMKKyAgICAgICAgICovCisgICAg
ICAgIHJlbW92ZV92aXJ0dWFsX2F1dGhlbnRpY2F0b3I6IGZ1bmN0aW9uKGF1dGhlbnRpY2F0b3Jf
aWQpIHsKKyAgICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdChuZXcgRXJyb3IoInVuaW1w
bGVtZW50ZWQiKSk7CisgICAgICAgIH0sCisKKyAgICAgICAgLyoqCisgICAgICAgICAqIEFkZHMg
YSBjcmVkZW50aWFsIHRvIGEgdmlydHVhbCBhdXRoZW50aWNhdG9yCisgICAgICAgICAqCisgICAg
ICAgICAqIEBwYXJhbSB7U3RyaW5nfSBhdXRoZW50aWNhdG9yX2lkIC0gdGhlIElEIG9mIHRoZSBh
dXRoZW50aWNhdG9yCisgICAgICAgICAqIEBwYXJhbSB7T2JqZWN0fSBjcmVkZW50aWFsIC0gQSBb
Q3JlZGVudGlhbCBQYXJhbWV0ZXJzXXtAbGluaworICAgICAgICAgKiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby93ZWJhdXRobi8jY3JlZGVudGlhbC1w
YXJhbWV0ZXJzfQorICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iamVj
dAorICAgICAgICAgKgorICAgICAgICAgKiBAcmV0dXJucyB7UHJvbWlzZX0gZnVsZmlsbGVkIGFm
dGVyIHRoZSBjcmVkZW50aWFsIGlzIGFkZGVkLCBvcgorICAgICAgICAgKiAgICAgICAgICAgICAg
ICAgICAgcmVqZWN0ZWQgaW4gdGhlIGNhc2VzIHRoZSBXZWJEcml2ZXIgY29tbWFuZAorICAgICAg
ICAgKiAgICAgICAgICAgICAgICAgICAgZXJyb3JzCisgICAgICAgICAqCisgICAgICAgICAqLwor
ICAgICAgICBhZGRfY3JlZGVudGlhbDogZnVuY3Rpb24oYXV0aGVudGljYXRvcl9pZCwgY3JlZGVu
dGlhbCkgeworICAgICAgICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyBFcnJvcigidW5p
bXBsZW1lbnRlZCIpKTsKKyAgICAgICAgfSwKKworICAgICAgICAvKioKKyAgICAgICAgICogR2V0
cyBhbGwgdGhlIGNyZWRlbnRpYWxzIHN0b3JlZCBpbiBhbiBhdXRoZW50aWNhdG9yCisgICAgICAg
ICAqCisgICAgICAgICAqIEBwYXJhbSB7U3RyaW5nfSBhdXRoZW50aWNhdG9yX2lkIC0gdGhlIElE
IG9mIHRoZSBhdXRoZW50aWNhdG9yCisgICAgICAgICAqCisgICAgICAgICAqIEByZXR1cm5zIHtQ
cm9taXNlfSBmdWxmaWxsZWQgYWZ0ZXIgdGhlIGNyZWRlbnRpYWxzIGFyZSByZXR1cm5lZCwgb3IK
KyAgICAgICAgICogICAgICAgICAgICAgICAgICAgIHJlamVjdGVkIGluIHRoZSBjYXNlcyB0aGUg
V2ViRHJpdmVyIGNvbW1hbmQKKyAgICAgICAgICogICAgICAgICAgICAgICAgICAgIGVycm9ycy4g
UmV0dXJucyBhbiBhcnJheSBvZiBbQ3JlZGVudGlhbAorICAgICAgICAgKiAgICAgICAgICAgICAg
ICAgICAgUGFyYW1ldGVyc117QGxpbmsKKyAgICAgICAgICogICAgICAgICAgICAgICAgICAgIGh0
dHBzOi8vdzNjLmdpdGh1Yi5pby93ZWJhdXRobi8jY3JlZGVudGlhbC1wYXJhbWV0ZXJzfQorICAg
ICAgICAgKgorICAgICAgICAgKi8KKyAgICAgICAgZ2V0X2NyZWRlbnRpYWxzOiBmdW5jdGlvbihh
dXRoZW50aWNhdG9yX2lkKSB7CisgICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QobmV3
IEVycm9yKCJ1bmltcGxlbWVudGVkIikpOworICAgICAgICB9LAorCisgICAgICAgIC8qKgorICAg
ICAgICAgKiBSZW1vdmUgYSBjcmVkZW50aWFsIHN0b3JlZCBpbiBhbiBhdXRoZW50aWNhdG9yCisg
ICAgICAgICAqCisgICAgICAgICAqIEBwYXJhbSB7U3RyaW5nfSBhdXRoZW50aWNhdG9yX2lkIC0g
dGhlIElEIG9mIHRoZSBhdXRoZW50aWNhdG9yCisgICAgICAgICAqIEBwYXJhbSB7U3RyaW5nfSBj
cmVkZW50aWFsX2lkIC0gdGhlIElEIG9mIHRoZSBjcmVkZW50aWFsCisgICAgICAgICAqCisgICAg
ICAgICAqIEByZXR1cm5zIHtQcm9taXNlfSBmdWxmaWxsZWQgYWZ0ZXIgdGhlIGNyZWRlbnRpYWwg
aXMgcmVtb3ZlZCwgb3IKKyAgICAgICAgICogICAgICAgICAgICAgICAgICAgIHJlamVjdGVkIGlu
IHRoZSBjYXNlcyB0aGUgV2ViRHJpdmVyIGNvbW1hbmQKKyAgICAgICAgICogICAgICAgICAgICAg
ICAgICAgIGVycm9ycy4KKyAgICAgICAgICoKKyAgICAgICAgICovCisgICAgICAgIHJlbW92ZV9j
cmVkZW50aWFsOiBmdW5jdGlvbihhdXRoZW50aWNhdG9yX2lkLCBjcmVkZW50aWFsX2lkKSB7Cisg
ICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QobmV3IEVycm9yKCJ1bmltcGxlbWVudGVk
IikpOworICAgICAgICB9LAorCisgICAgICAgIC8qKgorICAgICAgICAgKiBSZW1vdmVzIGFsbCB0
aGUgY3JlZGVudGlhbHMgc3RvcmVkIGluIGEgdmlydHVhbCBhdXRoZW50aWNhdG9yCisgICAgICAg
ICAqCisgICAgICAgICAqIEBwYXJhbSB7U3RyaW5nfSBhdXRoZW50aWNhdG9yX2lkIC0gdGhlIElE
IG9mIHRoZSBhdXRoZW50aWNhdG9yCisgICAgICAgICAqCisgICAgICAgICAqIEByZXR1cm5zIHtQ
cm9taXNlfSBmdWxmaWxsZWQgYWZ0ZXIgdGhlIGNyZWRlbnRpYWxzIGFyZSByZW1vdmVkLCBvcgor
ICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgcmVqZWN0ZWQgaW4gdGhlIGNhc2VzIHRoZSBX
ZWJEcml2ZXIgY29tbWFuZAorICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgZXJyb3JzLgor
ICAgICAgICAgKgorICAgICAgICAgKi8KKyAgICAgICAgcmVtb3ZlX2FsbF9jcmVkZW50aWFsczog
ZnVuY3Rpb24oYXV0aGVudGljYXRvcl9pZCkgeworICAgICAgICAgICAgcmV0dXJuIFByb21pc2Uu
cmVqZWN0KG5ldyBFcnJvcigidW5pbXBsZW1lbnRlZCIpKTsKKyAgICAgICAgfSwKKworICAgICAg
ICAvKioKKyAgICAgICAgICogU2V0cyB0aGUgVXNlciBWZXJpZmllZCBmbGFnIG9uIGFuIGF1dGhl
bnRpY2F0b3IKKyAgICAgICAgICoKKyAgICAgICAgICogQHBhcmFtIHtTdHJpbmd9IGF1dGhlbnRp
Y2F0b3JfaWQgLSB0aGUgSUQgb2YgdGhlIGF1dGhlbnRpY2F0b3IKKyAgICAgICAgICogQHBhcmFt
IHtib29sZWFufSB1diAtIHRoZSBVc2VyIFZlcmlmaWVkIGZsYWcKKyAgICAgICAgICoKKyAgICAg
ICAgICovCisgICAgICAgIHNldF91c2VyX3ZlcmlmaWVkOiBmdW5jdGlvbihhdXRoZW50aWNhdG9y
X2lkLCB1dikgeworICAgICAgICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyBFcnJvcigi
dW5pbXBsZW1lbnRlZCIpKTsKKyAgICAgICAgfSwKICAgICB9OwogfSkoKTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rl
c3Rkcml2ZXIuanMuaGVhZGVycyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3Rkcml2ZXIuanMuaGVhZGVycwpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41ZThm
NjQwYzY2NTlkMTc2ZWFjYTRjNzFjYzE3OThiNzI4NTU0MGI3Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVz
dGRyaXZlci5qcy5oZWFkZXJzCkBAIC0wLDAgKzEsMiBAQAorQ29udGVudC1UeXBlOiB0ZXh0L2ph
dmFzY3JpcHQ7IGNoYXJzZXQ9dXRmLTgKK0NhY2hlLUNvbnRyb2w6IG1heC1hZ2U9MzYwMApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcwppbmRleCAxNTU5MTA0MmFhNGNiMGZk
ZDc1ZmUzYmY1NmI5YmRmYjYzZmQxNjFkLi5mMjg5ZTc3OTcyMDFkN2Q5ZmE1NjljMjg2NDY0OTU3
MWJkNTBiNTRjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcwpAQCAt
NTM4LDggKzUzOCwxMiBAQCBwb2xpY2llcyBhbmQgY29udHJpYnV0aW9uIGZvcm1zIFszXS4KICAg
ICAgKi8KICAgICBmdW5jdGlvbiB0ZXN0KGZ1bmMsIG5hbWUsIHByb3BlcnRpZXMpCiAgICAgewor
ICAgICAgICBpZiAodGVzdHMucHJvbWlzZV9zZXR1cF9jYWxsZWQpIHsKKyAgICAgICAgICAgIHRl
c3RzLnN0YXR1cy5zdGF0dXMgPSB0ZXN0cy5zdGF0dXMuRVJST1I7CisgICAgICAgICAgICB0ZXN0
cy5zdGF0dXMubWVzc2FnZSA9ICdgdGVzdGAgaW52b2tlZCBhZnRlciBgcHJvbWlzZV9zZXR1cGAn
OworICAgICAgICAgICAgdGVzdHMuY29tcGxldGUoKTsKKyAgICAgICAgfQogICAgICAgICB2YXIg
dGVzdF9uYW1lID0gbmFtZSA/IG5hbWUgOiB0ZXN0X2Vudmlyb25tZW50Lm5leHRfZGVmYXVsdF90
ZXN0X25hbWUoKTsKLSAgICAgICAgcHJvcGVydGllcyA9IHByb3BlcnRpZXMgPyBwcm9wZXJ0aWVz
IDoge307CiAgICAgICAgIHZhciB0ZXN0X29iaiA9IG5ldyBUZXN0KHRlc3RfbmFtZSwgcHJvcGVy
dGllcyk7CiAgICAgICAgIHZhciB2YWx1ZSA9IHRlc3Rfb2JqLnN0ZXAoZnVuYywgdGVzdF9vYmos
IHRlc3Rfb2JqKTsKIApAQCAtNTY0LDEzICs1NjgsMTcgQEAgcG9saWNpZXMgYW5kIGNvbnRyaWJ1
dGlvbiBmb3JtcyBbM10uCiAKICAgICBmdW5jdGlvbiBhc3luY190ZXN0KGZ1bmMsIG5hbWUsIHBy
b3BlcnRpZXMpCiAgICAgeworICAgICAgICBpZiAodGVzdHMucHJvbWlzZV9zZXR1cF9jYWxsZWQp
IHsKKyAgICAgICAgICAgIHRlc3RzLnN0YXR1cy5zdGF0dXMgPSB0ZXN0cy5zdGF0dXMuRVJST1I7
CisgICAgICAgICAgICB0ZXN0cy5zdGF0dXMubWVzc2FnZSA9ICdgYXN5bmNfdGVzdGAgaW52b2tl
ZCBhZnRlciBgcHJvbWlzZV9zZXR1cGAnOworICAgICAgICAgICAgdGVzdHMuY29tcGxldGUoKTsK
KyAgICAgICAgfQogICAgICAgICBpZiAodHlwZW9mIGZ1bmMgIT09ICJmdW5jdGlvbiIpIHsKICAg
ICAgICAgICAgIHByb3BlcnRpZXMgPSBuYW1lOwogICAgICAgICAgICAgbmFtZSA9IGZ1bmM7CiAg
ICAgICAgICAgICBmdW5jID0gbnVsbDsKICAgICAgICAgfQogICAgICAgICB2YXIgdGVzdF9uYW1l
ID0gbmFtZSA/IG5hbWUgOiB0ZXN0X2Vudmlyb25tZW50Lm5leHRfZGVmYXVsdF90ZXN0X25hbWUo
KTsKLSAgICAgICAgcHJvcGVydGllcyA9IHByb3BlcnRpZXMgPyBwcm9wZXJ0aWVzIDoge307CiAg
ICAgICAgIHZhciB0ZXN0X29iaiA9IG5ldyBUZXN0KHRlc3RfbmFtZSwgcHJvcGVydGllcyk7CiAg
ICAgICAgIGlmIChmdW5jKSB7CiAgICAgICAgICAgICB0ZXN0X29iai5zdGVwKGZ1bmMsIHRlc3Rf
b2JqLCB0ZXN0X29iaik7CkBAIC01NzksNyArNTg3LDEzIEBAIHBvbGljaWVzIGFuZCBjb250cmli
dXRpb24gZm9ybXMgWzNdLgogICAgIH0KIAogICAgIGZ1bmN0aW9uIHByb21pc2VfdGVzdChmdW5j
LCBuYW1lLCBwcm9wZXJ0aWVzKSB7Ci0gICAgICAgIHZhciB0ZXN0ID0gYXN5bmNfdGVzdChuYW1l
LCBwcm9wZXJ0aWVzKTsKKyAgICAgICAgaWYgKHR5cGVvZiBmdW5jICE9PSAiZnVuY3Rpb24iKSB7
CisgICAgICAgICAgICBwcm9wZXJ0aWVzID0gbmFtZTsKKyAgICAgICAgICAgIG5hbWUgPSBmdW5j
OworICAgICAgICAgICAgZnVuYyA9IG51bGw7CisgICAgICAgIH0KKyAgICAgICAgdmFyIHRlc3Rf
bmFtZSA9IG5hbWUgPyBuYW1lIDogdGVzdF9lbnZpcm9ubWVudC5uZXh0X2RlZmF1bHRfdGVzdF9u
YW1lKCk7CisgICAgICAgIHZhciB0ZXN0ID0gbmV3IFRlc3QodGVzdF9uYW1lLCBwcm9wZXJ0aWVz
KTsKICAgICAgICAgdGVzdC5faXNfcHJvbWlzZV90ZXN0ID0gdHJ1ZTsKIAogICAgICAgICAvLyBJ
ZiB0aGVyZSBpcyBubyBwcm9taXNlIHRlc3RzIHF1ZXVlIG1ha2Ugb25lLgpAQCAtNjMwLDYgKzY0
NCwyNyBAQCBwb2xpY2llcyBhbmQgY29udHJpYnV0aW9uIGZvcm1zIFszXS4KICAgICAgICAgfSk7
CiAgICAgfQogCisgICAgZnVuY3Rpb24gcHJvbWlzZV9yZWplY3RzX2pzKHRlc3QsIGV4cGVjdGVk
LCBwcm9taXNlLCBkZXNjcmlwdGlvbikgeworICAgICAgICByZXR1cm4gcHJvbWlzZS50aGVuKHRl
c3QudW5yZWFjaGVkX2Z1bmMoIlNob3VsZCBoYXZlIHJlamVjdGVkOiAiICsgZGVzY3JpcHRpb24p
KS5jYXRjaChmdW5jdGlvbihlKSB7CisgICAgICAgICAgICBhc3NlcnRfdGhyb3dzX2pzX2ltcGwo
ZXhwZWN0ZWQsIGZ1bmN0aW9uKCkgeyB0aHJvdyBlIH0sCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgZGVzY3JpcHRpb24sICJwcm9taXNlX3JlamVjdF9qcyIpOworICAgICAgICB9
KTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBwcm9taXNlX3JlamVjdHNfZG9tKHRlc3QsIGV4cGVj
dGVkLCBwcm9taXNlLCBkZXNjcmlwdGlvbikgeworICAgICAgICByZXR1cm4gcHJvbWlzZS50aGVu
KHRlc3QudW5yZWFjaGVkX2Z1bmMoIlNob3VsZCBoYXZlIHJlamVjdGVkOiAiICsgZGVzY3JpcHRp
b24pKS5jYXRjaChmdW5jdGlvbihlKSB7CisgICAgICAgICAgICBhc3NlcnRfdGhyb3dzX2RvbV9p
bXBsKGV4cGVjdGVkLCBmdW5jdGlvbigpIHsgdGhyb3cgZSB9LAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbiwgInByb21pc2VfcmVqZWN0c19kb20iKTsKKyAg
ICAgICAgfSk7CisgICAgfQorCisgICAgZnVuY3Rpb24gcHJvbWlzZV9yZWplY3RzX2V4YWN0bHko
dGVzdCwgZXhwZWN0ZWQsIHByb21pc2UsIGRlc2NyaXB0aW9uKSB7CisgICAgICAgIHJldHVybiBw
cm9taXNlLnRoZW4odGVzdC51bnJlYWNoZWRfZnVuYygiU2hvdWxkIGhhdmUgcmVqZWN0ZWQ6ICIg
KyBkZXNjcmlwdGlvbikpLmNhdGNoKGZ1bmN0aW9uKGUpIHsKKyAgICAgICAgICAgIGFzc2VydF90
aHJvd3NfZXhhY3RseV9pbXBsKGV4cGVjdGVkLCBmdW5jdGlvbigpIHsgdGhyb3cgZSB9LAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb24sICJwcm9taXNl
X3JlamVjdHNfZXhhY3RseSIpOworICAgICAgICB9KTsKKyAgICB9CisKICAgICAvKioKICAgICAg
KiBUaGlzIGNvbnN0cnVjdG9yIGhlbHBlciBhbGxvd3MgRE9NIGV2ZW50cyB0byBiZSBoYW5kbGVk
IHVzaW5nIFByb21pc2VzLAogICAgICAqIHdoaWNoIGNhbiBtYWtlIGl0IGEgbG90IGVhc2llciB0
byB0ZXN0IGEgdmVyeSBzcGVjaWZpYyBzZXJpZXMgb2YgZXZlbnRzLApAQCAtNzY5LDkgKzgwNCw1
NiBAQCBwb2xpY2llcyBhbmQgY29udHJpYnV0aW9uIGZvcm1zIFszXS4KICAgICAgICAgdGVzdF9l
bnZpcm9ubWVudC5vbl9uZXdfaGFybmVzc19wcm9wZXJ0aWVzKHByb3BlcnRpZXMpOwogICAgIH0K
IAorICAgIGZ1bmN0aW9uIHByb21pc2Vfc2V0dXAoZnVuYywgbWF5YmVfcHJvcGVydGllcykKKyAg
ICB7CisgICAgICAgIGlmICh0eXBlb2YgZnVuYyAhPT0gImZ1bmN0aW9uIikgeworICAgICAgICAg
ICAgdGVzdHMuc2V0X3N0YXR1cyh0ZXN0cy5zdGF0dXMuRVJST1IsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJwcm9taXNlX3Rlc3QgaW52b2tlZCB3aXRob3V0IGEgZnVuY3Rpb24iKTsK
KyAgICAgICAgICAgIHRlc3RzLmNvbXBsZXRlKCk7CisgICAgICAgICAgICByZXR1cm47CisgICAg
ICAgIH0KKyAgICAgICAgdGVzdHMucHJvbWlzZV9zZXR1cF9jYWxsZWQgPSB0cnVlOworCisgICAg
ICAgIGlmICghdGVzdHMucHJvbWlzZV90ZXN0cykgeworICAgICAgICAgICAgdGVzdHMucHJvbWlz
ZV90ZXN0cyA9IFByb21pc2UucmVzb2x2ZSgpOworICAgICAgICB9CisKKyAgICAgICAgdGVzdHMu
cHJvbWlzZV90ZXN0cyA9IHRlc3RzLnByb21pc2VfdGVzdHMKKyAgICAgICAgICAgIC50aGVuKGZ1
bmN0aW9uKCkKKyAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICB2YXIg
cHJvcGVydGllcyA9IG1heWJlX3Byb3BlcnRpZXMgfHwge307CisgICAgICAgICAgICAgICAgICAg
ICAgdmFyIHJlc3VsdDsKKworICAgICAgICAgICAgICAgICAgICAgIHRlc3RzLnNldHVwKG51bGws
IHByb3BlcnRpZXMpOworICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdCA9IGZ1bmMoKTsKKyAg
ICAgICAgICAgICAgICAgICAgICB0ZXN0X2Vudmlyb25tZW50Lm9uX25ld19oYXJuZXNzX3Byb3Bl
cnRpZXMocHJvcGVydGllcyk7CisKKyAgICAgICAgICAgICAgICAgICAgICBpZiAoIXJlc3VsdCB8
fCB0eXBlb2YgcmVzdWx0LnRoZW4gIT09ICJmdW5jdGlvbiIpIHsKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgdGhyb3cgIk5vbi10aGVuYWJsZSByZXR1cm5lZCBieSBmdW5jdGlvbiBwYXNzZWQg
dG8gYHByb21pc2Vfc2V0dXBgIjsKKyAgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICAgICAgICAgICAgICAgIH0pCisgICAgICAg
ICAgICAuY2F0Y2goZnVuY3Rpb24oZSkKKyAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAg
ICAgICAgICAgICAgIHRlc3RzLnNldF9zdGF0dXModGVzdHMuc3RhdHVzLkVSUk9SLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0cmluZyhlKSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlICYmIGUuc3RhY2spOworICAgICAgICAgICAg
ICAgICAgICAgICB0ZXN0cy5jb21wbGV0ZSgpOworICAgICAgICAgICAgICAgICAgIH0pOworICAg
IH0KKwogICAgIGZ1bmN0aW9uIGRvbmUoKSB7CiAgICAgICAgIGlmICh0ZXN0cy50ZXN0cy5sZW5n
dGggPT09IDApIHsKLSAgICAgICAgICAgIHRlc3RzLnNldF9maWxlX2lzX3Rlc3QoKTsKKyAgICAg
ICAgICAgIC8vIGBkb25lYCBpcyBpbnZva2VkIGFmdGVyIGhhbmRsaW5nIHVuY2F1Z2h0IGV4Y2Vw
dGlvbnMsIHNvIGlmIHRoZQorICAgICAgICAgICAgLy8gaGFybmVzcyBzdGF0dXMgaXMgYWxyZWFk
eSBzZXQsIHRoZSBjb3JyZXNwb25kaW5nIG1lc3NhZ2UgaXMgbW9yZQorICAgICAgICAgICAgLy8g
ZGVzY3JpcHRpdmUgdGhhbiB0aGUgZ2VuZXJpYyBtZXNzYWdlIGRlZmluZWQgaGVyZS4KKyAgICAg
ICAgICAgIGlmICh0ZXN0cy5zdGF0dXMuc3RhdHVzID09PSBudWxsKSB7CisgICAgICAgICAgICAg
ICAgdGVzdHMuc3RhdHVzLnN0YXR1cyA9IHRlc3RzLnN0YXR1cy5FUlJPUjsKKyAgICAgICAgICAg
ICAgICB0ZXN0cy5zdGF0dXMubWVzc2FnZSA9ICJkb25lKCkgd2FzIGNhbGxlZCB3aXRob3V0IGZp
cnN0IGRlZmluaW5nIGFueSB0ZXN0cyI7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIHRl
c3RzLmNvbXBsZXRlKCk7CisgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KICAgICAgICAg
aWYgKHRlc3RzLmZpbGVfaXNfdGVzdCkgewogICAgICAgICAgICAgLy8gZmlsZSBpcyB0ZXN0IGZp
bGVzIG5ldmVyIGhhdmUgYXN5bmNocm9ub3VzIGNsZWFudXAgbG9naWMsCkBAIC03OTQsNiArODc2
LDEyIEBAIHBvbGljaWVzIGFuZCBjb250cmlidXRpb24gZm9ybXMgWzNdLgogICAgICAgICAgICAg
ICAgIH0pOwogICAgIH0KIAorICAgIC8qCisgICAgICogUmVnaXN0ZXIgYSBmdW5jdGlvbiBhcyBh
IERPTSBldmVudCBsaXN0ZW5lciB0byB0aGUgZ2l2ZW4gb2JqZWN0IGZvciB0aGUKKyAgICAgKiBl
dmVudCBidWJibGluZyBwaGFzZS4KKyAgICAgKgorICAgICAqIFRoaXMgZnVuY3Rpb24gd2FzIGRl
cHJlY2F0ZWQgaW4gTm92ZW1iZXIgb2YgMjAxOS4KKyAgICAgKi8KICAgICBmdW5jdGlvbiBvbl9l
dmVudChvYmplY3QsIGV2ZW50LCBjYWxsYmFjaykKICAgICB7CiAgICAgICAgIG9iamVjdC5hZGRF
dmVudExpc3RlbmVyKGV2ZW50LCBjYWxsYmFjaywgZmFsc2UpOwpAQCAtODExLDggKzg5OSwxMiBA
QCBwb2xpY2llcyBhbmQgY29udHJpYnV0aW9uIGZvcm1zIFszXS4KICAgICBleHBvc2UoYXN5bmNf
dGVzdCwgJ2FzeW5jX3Rlc3QnKTsKICAgICBleHBvc2UocHJvbWlzZV90ZXN0LCAncHJvbWlzZV90
ZXN0Jyk7CiAgICAgZXhwb3NlKHByb21pc2VfcmVqZWN0cywgJ3Byb21pc2VfcmVqZWN0cycpOwor
ICAgIGV4cG9zZShwcm9taXNlX3JlamVjdHNfanMsICdwcm9taXNlX3JlamVjdHNfanMnKTsKKyAg
ICBleHBvc2UocHJvbWlzZV9yZWplY3RzX2RvbSwgJ3Byb21pc2VfcmVqZWN0c19kb20nKTsKKyAg
ICBleHBvc2UocHJvbWlzZV9yZWplY3RzX2V4YWN0bHksICdwcm9taXNlX3JlamVjdHNfZXhhY3Rs
eScpOwogICAgIGV4cG9zZShnZW5lcmF0ZV90ZXN0cywgJ2dlbmVyYXRlX3Rlc3RzJyk7CiAgICAg
ZXhwb3NlKHNldHVwLCAnc2V0dXAnKTsKKyAgICBleHBvc2UocHJvbWlzZV9zZXR1cCwgJ3Byb21p
c2Vfc2V0dXAnKTsKICAgICBleHBvc2UoZG9uZSwgJ2RvbmUnKTsKICAgICBleHBvc2Uob25fZXZl
bnQsICdvbl9ldmVudCcpOwogICAgIGV4cG9zZShzdGVwX3RpbWVvdXQsICdzdGVwX3RpbWVvdXQn
KTsKQEAgLTEyNzAsOCArMTM2MiwxMSBAQCBwb2xpY2llcyBhbmQgY29udHJpYnV0aW9uIGZvcm1z
IFszXS4KICAgICBleHBvc2UoYXNzZXJ0X3JlZ2V4cF9tYXRjaCwgImFzc2VydF9yZWdleHBfbWF0
Y2giKTsKIAogICAgIGZ1bmN0aW9uIGFzc2VydF9jbGFzc19zdHJpbmcob2JqZWN0LCBjbGFzc19z
dHJpbmcsIGRlc2NyaXB0aW9uKSB7Ci0gICAgICAgIGFzc2VydF9lcXVhbHMoe30udG9TdHJpbmcu
Y2FsbChvYmplY3QpLCAiW29iamVjdCAiICsgY2xhc3Nfc3RyaW5nICsgIl0iLAotICAgICAgICAg
ICAgICAgICAgICAgIGRlc2NyaXB0aW9uKTsKKyAgICAgICAgdmFyIGFjdHVhbCA9IHt9LnRvU3Ry
aW5nLmNhbGwob2JqZWN0KTsKKyAgICAgICAgdmFyIGV4cGVjdGVkID0gIltvYmplY3QgIiArIGNs
YXNzX3N0cmluZyArICJdIjsKKyAgICAgICAgYXNzZXJ0KHNhbWVfdmFsdWUoYWN0dWFsLCBleHBl
Y3RlZCksICJhc3NlcnRfY2xhc3Nfc3RyaW5nIiwgZGVzY3JpcHRpb24sCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXhwZWN0ZWQgJHtleHBlY3RlZH0gYnV0
IGdvdCAke2FjdHVhbH0iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAge2V4cGVjdGVkOmV4cGVjdGVkLCBhY3R1YWw6YWN0dWFsfSk7CiAgICAgfQogICAgIGV4
cG9zZShhc3NlcnRfY2xhc3Nfc3RyaW5nLCAiYXNzZXJ0X2NsYXNzX3N0cmluZyIpOwogCkBAIC0x
NDgyLDYgKzE1NzcsMjc2IEBAIHBvbGljaWVzIGFuZCBjb250cmlidXRpb24gZm9ybXMgWzNdLgog
ICAgIH0KICAgICBleHBvc2UoYXNzZXJ0X3Rocm93cywgImFzc2VydF90aHJvd3MiKTsKIAorICAg
IC8qKgorICAgICAqIEFzc2VydCBhIEpTIEVycm9yIHdpdGggdGhlIGV4cGVjdGVkIGNvbnN0cnVj
dG9yIGlzIHRocm93bi4KKyAgICAgKgorICAgICAqIEBwYXJhbSB7b2JqZWN0fSBjb25zdHJ1Y3Rv
ciBUaGUgZXhwZWN0ZWQgZXhjZXB0aW9uIGNvbnN0cnVjdG9yLgorICAgICAqIEBwYXJhbSB7RnVu
Y3Rpb259IGZ1bmMgRnVuY3Rpb24gd2hpY2ggc2hvdWxkIHRocm93LgorICAgICAqIEBwYXJhbSB7
c3RyaW5nfSBkZXNjcmlwdGlvbiBFcnJvciBkZXNjcmlwdGlvbiBmb3IgdGhlIGNhc2UgdGhhdCB0
aGUgZXJyb3IgaXMgbm90IHRocm93bi4KKyAgICAgKi8KKyAgICBmdW5jdGlvbiBhc3NlcnRfdGhy
b3dzX2pzKGNvbnN0cnVjdG9yLCBmdW5jLCBkZXNjcmlwdGlvbikKKyAgICB7CisgICAgICAgIGFz
c2VydF90aHJvd3NfanNfaW1wbChjb25zdHJ1Y3RvciwgZnVuYywgZGVzY3JpcHRpb24sCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAiYXNzZXJ0X3Rocm93c19qcyIpOworICAgIH0KKyAg
ICBleHBvc2UoYXNzZXJ0X3Rocm93c19qcywgImFzc2VydF90aHJvd3NfanMiKTsKKworICAgIC8q
KgorICAgICAqIExpa2UgYXNzZXJ0X3Rocm93c19qcyBidXQgYWxsb3dzIHNwZWNpZnlpbmcgdGhl
IGFzc2VydGlvbiB0eXBlCisgICAgICogKGFzc2VydF90aHJvd3NfanMgb3IgcHJvbWlzZV9yZWpl
Y3RzX2pzLCBpbiBwcmFjdGljZSkuCisgICAgICovCisgICAgZnVuY3Rpb24gYXNzZXJ0X3Rocm93
c19qc19pbXBsKGNvbnN0cnVjdG9yLCBmdW5jLCBkZXNjcmlwdGlvbiwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgYXNzZXJ0aW9uX3R5cGUpCisgICAgeworICAgICAgICB0cnkg
eworICAgICAgICAgICAgZnVuYy5jYWxsKHRoaXMpOworICAgICAgICAgICAgYXNzZXJ0KGZhbHNl
LCBhc3NlcnRpb25fdHlwZSwgZGVzY3JpcHRpb24sCisgICAgICAgICAgICAgICAgICAgIiR7ZnVu
Y30gZGlkIG5vdCB0aHJvdyIsIHtmdW5jOmZ1bmN9KTsKKyAgICAgICAgfSBjYXRjaCAoZSkgewor
ICAgICAgICAgICAgaWYgKGUgaW5zdGFuY2VvZiBBc3NlcnRpb25FcnJvcikgeworICAgICAgICAg
ICAgICAgIHRocm93IGU7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIC8vIEJhc2ljIHNh
bml0eS1jaGVja3Mgb24gdGhlIHRocm93biBleGNlcHRpb24uCisgICAgICAgICAgICBhc3NlcnQo
dHlwZW9mIGUgPT09ICJvYmplY3QiLAorICAgICAgICAgICAgICAgICAgIGFzc2VydGlvbl90eXBl
LCBkZXNjcmlwdGlvbiwKKyAgICAgICAgICAgICAgICAgICAiJHtmdW5jfSB0aHJldyAke2V9IHdp
dGggdHlwZSAke3R5cGV9LCBub3QgYW4gb2JqZWN0IiwKKyAgICAgICAgICAgICAgICAgICB7ZnVu
YzpmdW5jLCBlOmUsIHR5cGU6dHlwZW9mIGV9KTsKKworICAgICAgICAgICAgYXNzZXJ0KGUgIT09
IG51bGwsCisgICAgICAgICAgICAgICAgICAgYXNzZXJ0aW9uX3R5cGUsIGRlc2NyaXB0aW9uLAor
ICAgICAgICAgICAgICAgICAgICIke2Z1bmN9IHRocmV3IG51bGwsIG5vdCBhbiBvYmplY3QiLAor
ICAgICAgICAgICAgICAgICAgIHtmdW5jOmZ1bmN9KTsKKworICAgICAgICAgICAgLy8gQmFzaWMg
c2FuaXR5LWNoZWNrIG9uIHRoZSBwYXNzZWQtaW4gY29uc3RydWN0b3IKKyAgICAgICAgICAgIGFz
c2VydCh0eXBlb2YgY29uc3RydWN0b3IgPT0gImZ1bmN0aW9uIiwKKyAgICAgICAgICAgICAgICAg
ICBhc3NlcnRpb25fdHlwZSwgZGVzY3JpcHRpb24sCisgICAgICAgICAgICAgICAgICAgIiR7Y29u
c3RydWN0b3J9IGlzIG5vdCBhIGNvbnN0cnVjdG9yIiwKKyAgICAgICAgICAgICAgICAgICB7Y29u
c3RydWN0b3I6Y29uc3RydWN0b3J9KTsKKyAgICAgICAgICAgIHZhciBvYmogPSBjb25zdHJ1Y3Rv
cjsKKyAgICAgICAgICAgIHdoaWxlIChvYmopIHsKKyAgICAgICAgICAgICAgICBpZiAodHlwZW9m
IG9iaiA9PT0gImZ1bmN0aW9uIiAmJgorICAgICAgICAgICAgICAgICAgICBvYmoubmFtZSA9PT0g
IkVycm9yIikgeworICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICAgICAgb2JqID0gT2JqZWN0LmdldFByb3RvdHlwZU9mKG9iaik7CisgICAg
ICAgICAgICB9CisgICAgICAgICAgICBhc3NlcnQob2JqICE9IG51bGwsCisgICAgICAgICAgICAg
ICAgICAgYXNzZXJ0aW9uX3R5cGUsIGRlc2NyaXB0aW9uLAorICAgICAgICAgICAgICAgICAgICIk
e2NvbnN0cnVjdG9yfSBpcyBub3QgYW4gRXJyb3Igc3VidHlwZSIsCisgICAgICAgICAgICAgICAg
ICAge2NvbnN0cnVjdG9yOmNvbnN0cnVjdG9yfSk7CisKKyAgICAgICAgICAgIC8vIEFuZCBjaGVj
a2luZyB0aGF0IG91ciBleGNlcHRpb24gaXMgcmVhc29uYWJsZQorICAgICAgICAgICAgYXNzZXJ0
KGUuY29uc3RydWN0b3IgPT09IGNvbnN0cnVjdG9yICYmCisgICAgICAgICAgICAgICAgICAgZS5u
YW1lID09PSBjb25zdHJ1Y3Rvci5uYW1lLAorICAgICAgICAgICAgICAgICAgIGFzc2VydGlvbl90
eXBlLCBkZXNjcmlwdGlvbiwKKyAgICAgICAgICAgICAgICAgICAiJHtmdW5jfSB0aHJldyAke2Fj
dHVhbH0gKCR7YWN0dWFsX25hbWV9KSBleHBlY3RlZCBpbnN0YW5jZSBvZiAke2V4cGVjdGVkfSAo
JHtleHBlY3RlZF9uYW1lfSkiLAorICAgICAgICAgICAgICAgICAgIHtmdW5jOmZ1bmMsIGFjdHVh
bDplLCBhY3R1YWxfbmFtZTplLm5hbWUsCisgICAgICAgICAgICAgICAgICAgIGV4cGVjdGVkOmNv
bnN0cnVjdG9yLAorICAgICAgICAgICAgICAgICAgICBleHBlY3RlZF9uYW1lOmNvbnN0cnVjdG9y
Lm5hbWV9KTsKKyAgICAgICAgfQorICAgIH0KKworICAgIC8qKgorICAgICAqIEFzc2VydCBhIERP
TUV4Y2VwdGlvbiB3aXRoIHRoZSBleHBlY3RlZCB0eXBlIGlzIHRocm93bi4KKyAgICAgKgorICAg
ICAqIEBwYXJhbSB7bnVtYmVyfHN0cmluZ30gdHlwZSBUaGUgZXhwZWN0ZWQgZXhjZXB0aW9uIG5h
bWUgb3IgY29kZS4gIFNlZSB0aGUKKyAgICAgKiAgICAgICAgdGFibGUgb2YgbmFtZXMgYW5kIGNv
ZGVzIGF0CisgICAgICogICAgICAgIGh0dHBzOi8vaGV5Y2FtLmdpdGh1Yi5pby93ZWJpZGwvI2Rm
bi1lcnJvci1uYW1lcy10YWJsZQorICAgICAqICAgICAgICBJZiBhIG51bWJlciBpcyBwYXNzZWQg
aXQgc2hvdWxkIGJlIG9uZSBvZiB0aGUgbnVtZXJpYyBjb2RlIHZhbHVlcworICAgICAqICAgICAg
ICBpbiB0aGF0IHRhYmxlIChlLmcuIDMsIDQsIGV0YykuICBJZiBhIHN0cmluZyBpcyBwYXNzZWQg
aXQgY2FuCisgICAgICogICAgICAgIGVpdGhlciBiZSBhbiBleGNlcHRpb24gbmFtZSAoZS5nLiAi
SGllcmFyY2h5UmVxdWVzdEVycm9yIiwKKyAgICAgKiAgICAgICAgIldyb25nRG9jdW1lbnRFcnJv
ciIpIG9yIHRoZSBuYW1lIG9mIHRoZSBjb3JyZXNwb25kaW5nIGVycm9yIGNvZGUKKyAgICAgKiAg
ICAgICAgKGUuZy4gIkhJRVJBUkNIWV9SRVFVRVNUX0VSUiIsICJXUk9OR19ET0NVTUVOVF9FUlIi
KS4KKyAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBmdW5jIEZ1bmN0aW9uIHdoaWNoIHNob3VsZCB0
aHJvdy4KKyAgICAgKiBAcGFyYW0ge3N0cmluZ30gZGVzY3JpcHRpb24gRXJyb3IgZGVzY3JpcHRp
b24gZm9yIHRoZSBjYXNlIHRoYXQgdGhlIGVycm9yIGlzIG5vdCB0aHJvd24uCisgICAgICovCisg
ICAgZnVuY3Rpb24gYXNzZXJ0X3Rocm93c19kb20odHlwZSwgZnVuYywgZGVzY3JpcHRpb24pCisg
ICAgeworICAgICAgICBhc3NlcnRfdGhyb3dzX2RvbV9pbXBsKHR5cGUsIGZ1bmMsIGRlc2NyaXB0
aW9uLCAiYXNzZXJ0X3Rocm93c19kb20iKQorICAgIH0KKyAgICBleHBvc2UoYXNzZXJ0X3Rocm93
c19kb20sICJhc3NlcnRfdGhyb3dzX2RvbSIpOworCisgICAgLyoqCisgICAgICogTGlrZSBhc3Nl
cnRfdGhyb3dzX2RvbSBidXQgYWxsb3dzIHNwZWNpZnlpbmcgdGhlIGFzc2VydGlvbiB0eXBlCisg
ICAgICogKGFzc2VydF90aHJvd3NfZG9tIG9yIHByb21pc2VfcmVqZWN0c19kb20sIGluIHByYWN0
aWNlKS4KKyAgICAgKi8KKyAgICBmdW5jdGlvbiBhc3NlcnRfdGhyb3dzX2RvbV9pbXBsKHR5cGUs
IGZ1bmMsIGRlc2NyaXB0aW9uLCBhc3NlcnRpb25fdHlwZSkKKyAgICB7CisgICAgICAgIHRyeSB7
CisgICAgICAgICAgICBmdW5jLmNhbGwodGhpcyk7CisgICAgICAgICAgICBhc3NlcnQoZmFsc2Us
IGFzc2VydGlvbl90eXBlLCBkZXNjcmlwdGlvbiwKKyAgICAgICAgICAgICAgICAgICAiJHtmdW5j
fSBkaWQgbm90IHRocm93Iiwge2Z1bmM6ZnVuY30pOworICAgICAgICB9IGNhdGNoIChlKSB7Cisg
ICAgICAgICAgICBpZiAoZSBpbnN0YW5jZW9mIEFzc2VydGlvbkVycm9yKSB7CisgICAgICAgICAg
ICAgICAgdGhyb3cgZTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgYXNzZXJ0KHR5cGVv
ZiBlID09PSAib2JqZWN0IiwKKyAgICAgICAgICAgICAgICAgICBhc3NlcnRpb25fdHlwZSwgZGVz
Y3JpcHRpb24sCisgICAgICAgICAgICAgICAgICAgIiR7ZnVuY30gdGhyZXcgJHtlfSB3aXRoIHR5
cGUgJHt0eXBlfSwgbm90IGFuIG9iamVjdCIsCisgICAgICAgICAgICAgICAgICAge2Z1bmM6ZnVu
YywgZTplLCB0eXBlOnR5cGVvZiBlfSk7CisKKyAgICAgICAgICAgIGFzc2VydChlICE9PSBudWxs
LAorICAgICAgICAgICAgICAgICAgIGFzc2VydGlvbl90eXBlLCBkZXNjcmlwdGlvbiwKKyAgICAg
ICAgICAgICAgICAgICAiJHtmdW5jfSB0aHJldyBudWxsLCBub3QgYW4gb2JqZWN0IiwKKyAgICAg
ICAgICAgICAgICAgICB7ZnVuYzpmdW5jfSk7CisKKyAgICAgICAgICAgIC8vIFNhbml0eS1jaGVj
ayBvdXIgdHlwZQorICAgICAgICAgICAgYXNzZXJ0KHR5cGVvZiB0eXBlID09ICJudW1iZXIiIHx8
CisgICAgICAgICAgICAgICAgICAgdHlwZW9mIHR5cGUgPT0gInN0cmluZyIsCisgICAgICAgICAg
ICAgICAgICAgYXNzZXJ0aW9uX3R5cGUsIGRlc2NyaXB0aW9uLAorICAgICAgICAgICAgICAgICAg
ICIke3R5cGV9IGlzIG5vdCBhIG51bWJlciBvciBzdHJpbmciLAorICAgICAgICAgICAgICAgICAg
IHt0eXBlOnR5cGV9KTsKKworICAgICAgICAgICAgdmFyIGNvZGVuYW1lX25hbWVfbWFwID0gewor
ICAgICAgICAgICAgICAgIElOREVYX1NJWkVfRVJSOiAnSW5kZXhTaXplRXJyb3InLAorICAgICAg
ICAgICAgICAgIEhJRVJBUkNIWV9SRVFVRVNUX0VSUjogJ0hpZXJhcmNoeVJlcXVlc3RFcnJvcics
CisgICAgICAgICAgICAgICAgV1JPTkdfRE9DVU1FTlRfRVJSOiAnV3JvbmdEb2N1bWVudEVycm9y
JywKKyAgICAgICAgICAgICAgICBJTlZBTElEX0NIQVJBQ1RFUl9FUlI6ICdJbnZhbGlkQ2hhcmFj
dGVyRXJyb3InLAorICAgICAgICAgICAgICAgIE5PX01PRElGSUNBVElPTl9BTExPV0VEX0VSUjog
J05vTW9kaWZpY2F0aW9uQWxsb3dlZEVycm9yJywKKyAgICAgICAgICAgICAgICBOT1RfRk9VTkRf
RVJSOiAnTm90Rm91bmRFcnJvcicsCisgICAgICAgICAgICAgICAgTk9UX1NVUFBPUlRFRF9FUlI6
ICdOb3RTdXBwb3J0ZWRFcnJvcicsCisgICAgICAgICAgICAgICAgSU5VU0VfQVRUUklCVVRFX0VS
UjogJ0luVXNlQXR0cmlidXRlRXJyb3InLAorICAgICAgICAgICAgICAgIElOVkFMSURfU1RBVEVf
RVJSOiAnSW52YWxpZFN0YXRlRXJyb3InLAorICAgICAgICAgICAgICAgIFNZTlRBWF9FUlI6ICdT
eW50YXhFcnJvcicsCisgICAgICAgICAgICAgICAgSU5WQUxJRF9NT0RJRklDQVRJT05fRVJSOiAn
SW52YWxpZE1vZGlmaWNhdGlvbkVycm9yJywKKyAgICAgICAgICAgICAgICBOQU1FU1BBQ0VfRVJS
OiAnTmFtZXNwYWNlRXJyb3InLAorICAgICAgICAgICAgICAgIElOVkFMSURfQUNDRVNTX0VSUjog
J0ludmFsaWRBY2Nlc3NFcnJvcicsCisgICAgICAgICAgICAgICAgVFlQRV9NSVNNQVRDSF9FUlI6
ICdUeXBlTWlzbWF0Y2hFcnJvcicsCisgICAgICAgICAgICAgICAgU0VDVVJJVFlfRVJSOiAnU2Vj
dXJpdHlFcnJvcicsCisgICAgICAgICAgICAgICAgTkVUV09SS19FUlI6ICdOZXR3b3JrRXJyb3In
LAorICAgICAgICAgICAgICAgIEFCT1JUX0VSUjogJ0Fib3J0RXJyb3InLAorICAgICAgICAgICAg
ICAgIFVSTF9NSVNNQVRDSF9FUlI6ICdVUkxNaXNtYXRjaEVycm9yJywKKyAgICAgICAgICAgICAg
ICBRVU9UQV9FWENFRURFRF9FUlI6ICdRdW90YUV4Y2VlZGVkRXJyb3InLAorICAgICAgICAgICAg
ICAgIFRJTUVPVVRfRVJSOiAnVGltZW91dEVycm9yJywKKyAgICAgICAgICAgICAgICBJTlZBTElE
X05PREVfVFlQRV9FUlI6ICdJbnZhbGlkTm9kZVR5cGVFcnJvcicsCisgICAgICAgICAgICAgICAg
REFUQV9DTE9ORV9FUlI6ICdEYXRhQ2xvbmVFcnJvcicKKyAgICAgICAgICAgIH07CisKKyAgICAg
ICAgICAgIHZhciBuYW1lX2NvZGVfbWFwID0geworICAgICAgICAgICAgICAgIEluZGV4U2l6ZUVy
cm9yOiAxLAorICAgICAgICAgICAgICAgIEhpZXJhcmNoeVJlcXVlc3RFcnJvcjogMywKKyAgICAg
ICAgICAgICAgICBXcm9uZ0RvY3VtZW50RXJyb3I6IDQsCisgICAgICAgICAgICAgICAgSW52YWxp
ZENoYXJhY3RlckVycm9yOiA1LAorICAgICAgICAgICAgICAgIE5vTW9kaWZpY2F0aW9uQWxsb3dl
ZEVycm9yOiA3LAorICAgICAgICAgICAgICAgIE5vdEZvdW5kRXJyb3I6IDgsCisgICAgICAgICAg
ICAgICAgTm90U3VwcG9ydGVkRXJyb3I6IDksCisgICAgICAgICAgICAgICAgSW5Vc2VBdHRyaWJ1
dGVFcnJvcjogMTAsCisgICAgICAgICAgICAgICAgSW52YWxpZFN0YXRlRXJyb3I6IDExLAorICAg
ICAgICAgICAgICAgIFN5bnRheEVycm9yOiAxMiwKKyAgICAgICAgICAgICAgICBJbnZhbGlkTW9k
aWZpY2F0aW9uRXJyb3I6IDEzLAorICAgICAgICAgICAgICAgIE5hbWVzcGFjZUVycm9yOiAxNCwK
KyAgICAgICAgICAgICAgICBJbnZhbGlkQWNjZXNzRXJyb3I6IDE1LAorICAgICAgICAgICAgICAg
IFR5cGVNaXNtYXRjaEVycm9yOiAxNywKKyAgICAgICAgICAgICAgICBTZWN1cml0eUVycm9yOiAx
OCwKKyAgICAgICAgICAgICAgICBOZXR3b3JrRXJyb3I6IDE5LAorICAgICAgICAgICAgICAgIEFi
b3J0RXJyb3I6IDIwLAorICAgICAgICAgICAgICAgIFVSTE1pc21hdGNoRXJyb3I6IDIxLAorICAg
ICAgICAgICAgICAgIFF1b3RhRXhjZWVkZWRFcnJvcjogMjIsCisgICAgICAgICAgICAgICAgVGlt
ZW91dEVycm9yOiAyMywKKyAgICAgICAgICAgICAgICBJbnZhbGlkTm9kZVR5cGVFcnJvcjogMjQs
CisgICAgICAgICAgICAgICAgRGF0YUNsb25lRXJyb3I6IDI1LAorCisgICAgICAgICAgICAgICAg
RW5jb2RpbmdFcnJvcjogMCwKKyAgICAgICAgICAgICAgICBOb3RSZWFkYWJsZUVycm9yOiAwLAor
ICAgICAgICAgICAgICAgIFVua25vd25FcnJvcjogMCwKKyAgICAgICAgICAgICAgICBDb25zdHJh
aW50RXJyb3I6IDAsCisgICAgICAgICAgICAgICAgRGF0YUVycm9yOiAwLAorICAgICAgICAgICAg
ICAgIFRyYW5zYWN0aW9uSW5hY3RpdmVFcnJvcjogMCwKKyAgICAgICAgICAgICAgICBSZWFkT25s
eUVycm9yOiAwLAorICAgICAgICAgICAgICAgIFZlcnNpb25FcnJvcjogMCwKKyAgICAgICAgICAg
ICAgICBPcGVyYXRpb25FcnJvcjogMCwKKyAgICAgICAgICAgICAgICBOb3RBbGxvd2VkRXJyb3I6
IDAKKyAgICAgICAgICAgIH07CisKKyAgICAgICAgICAgIHZhciBjb2RlX25hbWVfbWFwID0ge307
CisgICAgICAgICAgICBmb3IgKHZhciBrZXkgaW4gbmFtZV9jb2RlX21hcCkgeworICAgICAgICAg
ICAgICAgIGlmIChuYW1lX2NvZGVfbWFwW2tleV0gPiAwKSB7CisgICAgICAgICAgICAgICAgICAg
IGNvZGVfbmFtZV9tYXBbbmFtZV9jb2RlX21hcFtrZXldXSA9IGtleTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIHZhciByZXF1aXJlZF9wcm9wcyA9IHt9
OworICAgICAgICAgICAgdmFyIG5hbWU7CisKKyAgICAgICAgICAgIGlmICh0eXBlb2YgdHlwZSA9
PT0gIm51bWJlciIpIHsKKyAgICAgICAgICAgICAgICBpZiAodHlwZSA9PT0gMCkgeworICAgICAg
ICAgICAgICAgICAgICB0aHJvdyBuZXcgQXNzZXJ0aW9uRXJyb3IoJ1Rlc3QgYnVnOiBhbWJpZ3Vv
dXMgRE9NRXhjZXB0aW9uIGNvZGUgMCBwYXNzZWQgdG8gYXNzZXJ0X3Rocm93c19kb20oKScpOwor
ICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoISh0eXBlIGluIGNvZGVfbmFtZV9tYXApKSB7Cisg
ICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBBc3NlcnRpb25FcnJvcignVGVzdCBidWc6IHVu
cmVjb2duaXplZCBET01FeGNlcHRpb24gY29kZSAiJyArIHR5cGUgKyAnIiBwYXNzZWQgdG8gYXNz
ZXJ0X3Rocm93c19kb20oKScpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBu
YW1lID0gY29kZV9uYW1lX21hcFt0eXBlXTsKKyAgICAgICAgICAgICAgICByZXF1aXJlZF9wcm9w
cy5jb2RlID0gdHlwZTsKKyAgICAgICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIHR5cGUgPT09ICJz
dHJpbmciKSB7CisgICAgICAgICAgICAgICAgbmFtZSA9IHR5cGUgaW4gY29kZW5hbWVfbmFtZV9t
YXAgPyBjb2RlbmFtZV9uYW1lX21hcFt0eXBlXSA6IHR5cGU7CisgICAgICAgICAgICAgICAgaWYg
KCEobmFtZSBpbiBuYW1lX2NvZGVfbWFwKSkgeworICAgICAgICAgICAgICAgICAgICB0aHJvdyBu
ZXcgQXNzZXJ0aW9uRXJyb3IoJ1Rlc3QgYnVnOiB1bnJlY29nbml6ZWQgRE9NRXhjZXB0aW9uIGNv
ZGUgbmFtZSBvciBuYW1lICInICsgdHlwZSArICciIHBhc3NlZCB0byBhc3NlcnRfdGhyb3dzX2Rv
bSgpJyk7CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgcmVxdWlyZWRfcHJv
cHMuY29kZSA9IG5hbWVfY29kZV9tYXBbbmFtZV07CisgICAgICAgICAgICB9CisKKyAgICAgICAg
ICAgIGlmIChyZXF1aXJlZF9wcm9wcy5jb2RlID09PSAwIHx8CisgICAgICAgICAgICAgICAoIm5h
bWUiIGluIGUgJiYKKyAgICAgICAgICAgICAgICBlLm5hbWUgIT09IGUubmFtZS50b1VwcGVyQ2Fz
ZSgpICYmCisgICAgICAgICAgICAgICAgZS5uYW1lICE9PSAiRE9NRXhjZXB0aW9uIikpIHsKKyAg
ICAgICAgICAgICAgICAvLyBOZXcgc3R5bGUgZXhjZXB0aW9uOiBhbHNvIHRlc3QgdGhlIG5hbWUg
cHJvcGVydHkuCisgICAgICAgICAgICAgICAgcmVxdWlyZWRfcHJvcHMubmFtZSA9IG5hbWU7Cisg
ICAgICAgICAgICB9CisKKyAgICAgICAgICAgIC8vV2UnZCBsaWtlIHRvIHRlc3QgdGhhdCBlIGlu
c3RhbmNlb2YgdGhlIGFwcHJvcHJpYXRlIGludGVyZmFjZSwKKyAgICAgICAgICAgIC8vYnV0IHdl
IGNhbid0LCBiZWNhdXNlIHdlIGRvbid0IGtub3cgd2hhdCB3aW5kb3cgaXQgd2FzIGNyZWF0ZWQK
KyAgICAgICAgICAgIC8vaW4uICBJdCBtaWdodCBiZSBhbiBpbnN0YW5jZW9mIHRoZSBhcHByb3By
aWF0ZSBpbnRlcmZhY2Ugb24gc29tZQorICAgICAgICAgICAgLy91bmtub3duIG90aGVyIHdpbmRv
dy4gIFRPRE86IFdvcmsgYXJvdW5kIHRoaXMgc29tZWhvdz8gIE1heWJlIGhhdmUKKyAgICAgICAg
ICAgIC8vdGhlIGZpcnN0IGFyZyBqdXN0IGJlIGEgRE9NRXhjZXB0aW9uIHdpdGggdGhlIHJpZ2h0
IG5hbWUgaW5zdGVhZAorICAgICAgICAgICAgLy9vZiB0aGUgc3RyaW5nLW9yLWNvZGUgdGhpbmcg
d2UgaGF2ZSBub3c/CisKKyAgICAgICAgICAgIGZvciAodmFyIHByb3AgaW4gcmVxdWlyZWRfcHJv
cHMpIHsKKyAgICAgICAgICAgICAgICBhc3NlcnQocHJvcCBpbiBlICYmIGVbcHJvcF0gPT0gcmVx
dWlyZWRfcHJvcHNbcHJvcF0sCisgICAgICAgICAgICAgICAgICAgICAgIGFzc2VydGlvbl90eXBl
LCBkZXNjcmlwdGlvbiwKKyAgICAgICAgICAgICAgICAgICAgICAgIiR7ZnVuY30gdGhyZXcgJHtl
fSB0aGF0IGlzIG5vdCBhIERPTUV4Y2VwdGlvbiAiICsgdHlwZSArICI6IHByb3BlcnR5ICR7cHJv
cH0gaXMgZXF1YWwgdG8gJHthY3R1YWx9LCBleHBlY3RlZCAke2V4cGVjdGVkfSIsCisgICAgICAg
ICAgICAgICAgICAgICAgIHtmdW5jOmZ1bmMsIGU6ZSwgcHJvcDpwcm9wLCBhY3R1YWw6ZVtwcm9w
XSwgZXhwZWN0ZWQ6cmVxdWlyZWRfcHJvcHNbcHJvcF19KTsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgfQorICAgIH0KKworICAgIC8qKgorICAgICAqIEFzc2VydCB0aGUgcHJvdmlkZWQgdmFsdWUg
aXMgdGhyb3duLgorICAgICAqCisgICAgICogQHBhcmFtIHt2YWx1ZX0gZXhjZXB0aW9uIFRoZSBl
eHBlY3RlZCBleGNlcHRpb24uCisgICAgICogQHBhcmFtIHtGdW5jdGlvbn0gZnVuYyBGdW5jdGlv
biB3aGljaCBzaG91bGQgdGhyb3cuCisgICAgICogQHBhcmFtIHtzdHJpbmd9IGRlc2NyaXB0aW9u
IEVycm9yIGRlc2NyaXB0aW9uIGZvciB0aGUgY2FzZSB0aGF0IHRoZSBlcnJvciBpcyBub3QgdGhy
b3duLgorICAgICAqLworICAgIGZ1bmN0aW9uIGFzc2VydF90aHJvd3NfZXhhY3RseShleGNlcHRp
b24sIGZ1bmMsIGRlc2NyaXB0aW9uKQorICAgIHsKKyAgICAgICAgYXNzZXJ0X3Rocm93c19leGFj
dGx5X2ltcGwoZXhjZXB0aW9uLCBmdW5jLCBkZXNjcmlwdGlvbiwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgImFzc2VydF90aHJvd3NfZXhhY3RseSIpOworICAgIH0KKyAgICBl
eHBvc2UoYXNzZXJ0X3Rocm93c19leGFjdGx5LCAiYXNzZXJ0X3Rocm93c19leGFjdGx5Iik7CisK
KyAgICAvKioKKyAgICAgKiBMaWtlIGFzc2VydF90aHJvd3NfZXhhY3RseSBidXQgYWxsb3dzIHNw
ZWNpZnlpbmcgdGhlIGFzc2VydGlvbiB0eXBlCisgICAgICogKGFzc2VydF90aHJvd3NfZXhhY3Rs
eSBvciBwcm9taXNlX3JlamVjdHNfZXhhY3RseSwgaW4gcHJhY3RpY2UpLgorICAgICAqLworICAg
IGZ1bmN0aW9uIGFzc2VydF90aHJvd3NfZXhhY3RseV9pbXBsKGV4Y2VwdGlvbiwgZnVuYywgZGVz
Y3JpcHRpb24sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXNzZXJ0
aW9uX3R5cGUpCisgICAgeworICAgICAgICB0cnkgeworICAgICAgICAgICAgZnVuYy5jYWxsKHRo
aXMpOworICAgICAgICAgICAgYXNzZXJ0KGZhbHNlLCBhc3NlcnRpb25fdHlwZSwgZGVzY3JpcHRp
b24sCisgICAgICAgICAgICAgICAgICAgIiR7ZnVuY30gZGlkIG5vdCB0aHJvdyIsIHtmdW5jOmZ1
bmN9KTsKKyAgICAgICAgfSBjYXRjaCAoZSkgeworICAgICAgICAgICAgaWYgKGUgaW5zdGFuY2Vv
ZiBBc3NlcnRpb25FcnJvcikgeworICAgICAgICAgICAgICAgIHRocm93IGU7CisgICAgICAgICAg
ICB9CisKKyAgICAgICAgICAgIGFzc2VydChzYW1lX3ZhbHVlKGUsIGV4Y2VwdGlvbiksIGFzc2Vy
dGlvbl90eXBlLCBkZXNjcmlwdGlvbiwKKyAgICAgICAgICAgICAgICAgICAiJHtmdW5jfSB0aHJl
dyAke2V9IGJ1dCB3ZSBleHBlY3RlZCBpdCB0byB0aHJvdyAke2V4Y2VwdGlvbn0iLAorICAgICAg
ICAgICAgICAgICAgIHtmdW5jOmZ1bmMsIGU6ZSwgZXhjZXB0aW9uOmV4Y2VwdGlvbn0pOworICAg
ICAgICB9CisgICAgfQorCiAgICAgZnVuY3Rpb24gYXNzZXJ0X3VucmVhY2hlZChkZXNjcmlwdGlv
bikgewogICAgICAgICAgYXNzZXJ0KGZhbHNlLCAiYXNzZXJ0X3VucmVhY2hlZCIsIGRlc2NyaXB0
aW9uLAogICAgICAgICAgICAgICAgICJSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUiKTsKQEAgLTE1
MDksNiArMTg3NCwxMyBAQCBwb2xpY2llcyBhbmQgY29udHJpYnV0aW9uIGZvcm1zIFszXS4KICAg
ICB9CiAgICAgZXhwb3NlKGFzc2VydF9hbnksICJhc3NlcnRfYW55Iik7CiAKKyAgICBmdW5jdGlv
biBhc3NlcnRfcHJlY29uZGl0aW9uKHByZWNvbmRpdGlvbiwgZGVzY3JpcHRpb24pIHsKKyAgICAg
ICAgaWYgKCFwcmVjb25kaXRpb24pIHsKKyAgICAgICAgICAgIHRocm93IG5ldyBQcmVjb25kaXRp
b25GYWlsZWRFcnJvcihkZXNjcmlwdGlvbik7CisgICAgICAgIH0KKyAgICB9CisgICAgZXhwb3Nl
KGFzc2VydF9wcmVjb25kaXRpb24sICJhc3NlcnRfcHJlY29uZGl0aW9uIik7CisKICAgICBmdW5j
dGlvbiBUZXN0KG5hbWUsIHByb3BlcnRpZXMpCiAgICAgewogICAgICAgICBpZiAodGVzdHMuZmls
ZV9pc190ZXN0ICYmIHRlc3RzLnRlc3RzLmxlbmd0aCkgewpAQCAtMTUyMyw3ICsxODk1LDcgQEAg
cG9saWNpZXMgYW5kIGNvbnRyaWJ1dGlvbiBmb3JtcyBbM10uCiAgICAgICAgIHRoaXMudGltZW91
dF9pZCA9IG51bGw7CiAgICAgICAgIHRoaXMuaW5kZXggPSBudWxsOwogCi0gICAgICAgIHRoaXMu
cHJvcGVydGllcyA9IHByb3BlcnRpZXM7CisgICAgICAgIHRoaXMucHJvcGVydGllcyA9IHByb3Bl
cnRpZXMgfHwge307CiAgICAgICAgIHRoaXMudGltZW91dF9sZW5ndGggPSBzZXR0aW5ncy50ZXN0
X3RpbWVvdXQ7CiAgICAgICAgIGlmICh0aGlzLnRpbWVvdXRfbGVuZ3RoICE9PSBudWxsKSB7CiAg
ICAgICAgICAgICB0aGlzLnRpbWVvdXRfbGVuZ3RoICo9IHRlc3RzLnRpbWVvdXRfbXVsdGlwbGll
cjsKQEAgLTE1NTMsNyArMTkyNSw4IEBAIHBvbGljaWVzIGFuZCBjb250cmlidXRpb24gZm9ybXMg
WzNdLgogICAgICAgICBQQVNTOjAsCiAgICAgICAgIEZBSUw6MSwKICAgICAgICAgVElNRU9VVDoy
LAotICAgICAgICBOT1RSVU46MworICAgICAgICBOT1RSVU46MywKKyAgICAgICAgUFJFQ09ORElU
SU9OX0ZBSUxFRDo0CiAgICAgfTsKIAogICAgIFRlc3QucHJvdG90eXBlID0gbWVyZ2Uoe30sIFRl
c3Quc3RhdHVzZXMpOwpAQCAtMTYxMywxMCArMTk4NiwxMSBAQCBwb2xpY2llcyBhbmQgY29udHJp
YnV0aW9uIGZvcm1zIFszXS4KICAgICAgICAgICAgIGlmICh0aGlzLnBoYXNlID49IHRoaXMucGhh
c2VzLkhBU19SRVNVTFQpIHsKICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICB9
CisgICAgICAgICAgICB2YXIgc3RhdHVzID0gZSBpbnN0YW5jZW9mIFByZWNvbmRpdGlvbkZhaWxl
ZEVycm9yID8gdGhpcy5QUkVDT05ESVRJT05fRkFJTEVEIDogdGhpcy5GQUlMOwogICAgICAgICAg
ICAgdmFyIG1lc3NhZ2UgPSBTdHJpbmcoKHR5cGVvZiBlID09PSAib2JqZWN0IiAmJiBlICE9PSBu
dWxsKSA/IGUubWVzc2FnZSA6IGUpOwogICAgICAgICAgICAgdmFyIHN0YWNrID0gZS5zdGFjayA/
IGUuc3RhY2sgOiBudWxsOwogCi0gICAgICAgICAgICB0aGlzLnNldF9zdGF0dXModGhpcy5GQUlM
LCBtZXNzYWdlLCBzdGFjayk7CisgICAgICAgICAgICB0aGlzLnNldF9zdGF0dXMoc3RhdHVzLCBt
ZXNzYWdlLCBzdGFjayk7CiAgICAgICAgICAgICB0aGlzLnBoYXNlID0gdGhpcy5waGFzZXMuSEFT
X1JFU1VMVDsKICAgICAgICAgICAgIHRoaXMuZG9uZSgpOwogICAgICAgICB9CkBAIC0yMDg3LDcg
KzI0NjEsOCBAQCBwb2xpY2llcyBhbmQgY29udHJpYnV0aW9uIGZvcm1zIFszXS4KICAgICBUZXN0
c1N0YXR1cy5zdGF0dXNlcyA9IHsKICAgICAgICAgT0s6MCwKICAgICAgICAgRVJST1I6MSwKLSAg
ICAgICAgVElNRU9VVDoyCisgICAgICAgIFRJTUVPVVQ6MiwKKyAgICAgICAgUFJFQ09ORElUSU9O
X0ZBSUxFRDozCiAgICAgfTsKIAogICAgIFRlc3RzU3RhdHVzLnByb3RvdHlwZSA9IG1lcmdlKHt9
LCBUZXN0c1N0YXR1cy5zdGF0dXNlcyk7CkBAIC0yMTI4LDYgKzI1MDMsMTAgQEAgcG9saWNpZXMg
YW5kIGNvbnRyaWJ1dGlvbiBmb3JtcyBbM10uCiAgICAgICAgIHRoaXMuYWxsb3dfdW5jYXVnaHRf
ZXhjZXB0aW9uID0gZmFsc2U7CiAKICAgICAgICAgdGhpcy5maWxlX2lzX3Rlc3QgPSBmYWxzZTsK
KyAgICAgICAgLy8gVGhpcyB2YWx1ZSBpcyBsYXppbHkgaW5pdGlhbGl6ZWQgaW4gb3JkZXIgdG8g
YXZvaWQgaW50cm9kdWNpbmcgYQorICAgICAgICAvLyBkZXBlbmRlbmN5IG9uIEVDTUFTY3JpcHQg
MjAxNSBQcm9taXNlcyB0byBhbGwgdGVzdHMuCisgICAgICAgIHRoaXMucHJvbWlzZV90ZXN0cyA9
IG51bGw7CisgICAgICAgIHRoaXMucHJvbWlzZV9zZXR1cF9jYWxsZWQgPSBmYWxzZTsKIAogICAg
ICAgICB0aGlzLnRpbWVvdXRfbXVsdGlwbGllciA9IDE7CiAgICAgICAgIHRoaXMudGltZW91dF9s
ZW5ndGggPSB0ZXN0X2Vudmlyb25tZW50LnRlc3RfdGltZW91dCgpOwpAQCAtMjE3OCw2ICsyNTU3
LDggQEAgcG9saWNpZXMgYW5kIGNvbnRyaWJ1dGlvbiBmb3JtcyBbM10uCiAgICAgICAgICAgICAg
ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgIGNsZWFyVGltZW91dCh0aGlzLnRpbWVv
dXRfaWQpOwogICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfSBlbHNlIGlm
IChwID09ICJzaW5nbGVfdGVzdCIgJiYgdmFsdWUpIHsKKyAgICAgICAgICAgICAgICAgICAgdGhp
cy5zZXRfZmlsZV9pc190ZXN0KCk7CiAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChwID09ICJ0
aW1lb3V0X211bHRpcGxpZXIiKSB7CiAgICAgICAgICAgICAgICAgICAgIHRoaXMudGltZW91dF9t
dWx0aXBsaWVyID0gdmFsdWU7CiAgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLnRpbWVvdXRf
bGVuZ3RoKSB7CkBAIC0yMTkxLDkgKzI1NzIsMTAgQEAgcG9saWNpZXMgYW5kIGNvbnRyaWJ1dGlv
biBmb3JtcyBbM10uCiAgICAgICAgICAgICB0cnkgewogICAgICAgICAgICAgICAgIGZ1bmMoKTsK
ICAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsKLSAgICAgICAgICAgICAgICB0aGlzLnN0YXR1cy5z
dGF0dXMgPSB0aGlzLnN0YXR1cy5FUlJPUjsKKyAgICAgICAgICAgICAgICB0aGlzLnN0YXR1cy5z
dGF0dXMgPSBlIGluc3RhbmNlb2YgUHJlY29uZGl0aW9uRmFpbGVkRXJyb3IgPyB0aGlzLnN0YXR1
cy5QUkVDT05ESVRJT05fRkFJTEVEIDogdGhpcy5zdGF0dXMuRVJST1I7CiAgICAgICAgICAgICAg
ICAgdGhpcy5zdGF0dXMubWVzc2FnZSA9IFN0cmluZyhlKTsKICAgICAgICAgICAgICAgICB0aGlz
LnN0YXR1cy5zdGFjayA9IGUuc3RhY2sgPyBlLnN0YWNrIDogbnVsbDsKKyAgICAgICAgICAgICAg
ICB0aGlzLmNvbXBsZXRlKCk7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICAgICAgdGhp
cy5zZXRfdGltZW91dCgpOwpAQCAtMjc0OCwxMiArMzEzMCwxNCBAQCBwb2xpY2llcyBhbmQgY29u
dHJpYnV0aW9uIGZvcm1zIFszXS4KICAgICAgICAgc3RhdHVzX3RleHRfaGFybmVzc1toYXJuZXNz
X3N0YXR1cy5PS10gPSAiT0siOwogICAgICAgICBzdGF0dXNfdGV4dF9oYXJuZXNzW2hhcm5lc3Nf
c3RhdHVzLkVSUk9SXSA9ICJFcnJvciI7CiAgICAgICAgIHN0YXR1c190ZXh0X2hhcm5lc3NbaGFy
bmVzc19zdGF0dXMuVElNRU9VVF0gPSAiVGltZW91dCI7CisgICAgICAgIHN0YXR1c190ZXh0X2hh
cm5lc3NbaGFybmVzc19zdGF0dXMuUFJFQ09ORElUSU9OX0ZBSUxFRF0gPSAiUHJlY29uZGl0aW9u
IEZhaWxlZCI7CiAKICAgICAgICAgdmFyIHN0YXR1c190ZXh0ID0ge307CiAgICAgICAgIHN0YXR1
c190ZXh0W1Rlc3QucHJvdG90eXBlLlBBU1NdID0gIlBhc3MiOwogICAgICAgICBzdGF0dXNfdGV4
dFtUZXN0LnByb3RvdHlwZS5GQUlMXSA9ICJGYWlsIjsKICAgICAgICAgc3RhdHVzX3RleHRbVGVz
dC5wcm90b3R5cGUuVElNRU9VVF0gPSAiVGltZW91dCI7CiAgICAgICAgIHN0YXR1c190ZXh0W1Rl
c3QucHJvdG90eXBlLk5PVFJVTl0gPSAiTm90IFJ1biI7CisgICAgICAgIHN0YXR1c190ZXh0W1Rl
c3QucHJvdG90eXBlLlBSRUNPTkRJVElPTl9GQUlMRURdID0gIlByZWNvbmRpdGlvbiBGYWlsZWQi
OwogCiAgICAgICAgIHZhciBzdGF0dXNfbnVtYmVyID0ge307CiAgICAgICAgIGZvckVhY2godGVz
dHMsCkBAIC0zMDczLDkgKzM0NTcsNiBAQCBwb2xpY2llcyBhbmQgY29udHJpYnV0aW9uIGZvcm1z
IFszXS4KICAgICAgKi8KICAgICBmdW5jdGlvbiBhc3NlcnQoZXhwZWN0ZWRfdHJ1ZSwgZnVuY3Rp
b25fbmFtZSwgZGVzY3JpcHRpb24sIGVycm9yLCBzdWJzdGl0dXRpb25zKQogICAgIHsKLSAgICAg
ICAgaWYgKHRlc3RzLnRlc3RzLmxlbmd0aCA9PT0gMCkgewotICAgICAgICAgICAgdGVzdHMuc2V0
X2ZpbGVfaXNfdGVzdCgpOwotICAgICAgICB9CiAgICAgICAgIGlmIChleHBlY3RlZF90cnVlICE9
PSB0cnVlKSB7CiAgICAgICAgICAgICB2YXIgbXNnID0gbWFrZV9tZXNzYWdlKGZ1bmN0aW9uX25h
bWUsIGRlc2NyaXB0aW9uLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJv
ciwgc3Vic3RpdHV0aW9ucyk7CkBAIC0zMTM4LDYgKzM1MTksMTMgQEAgcG9saWNpZXMgYW5kIGNv
bnRyaWJ1dGlvbiBmb3JtcyBbM10uCiAgICAgICAgIHJldHVybiBsaW5lcy5zbGljZShpKS5qb2lu
KCJcbiIpOwogICAgIH0KIAorICAgIGZ1bmN0aW9uIFByZWNvbmRpdGlvbkZhaWxlZEVycm9yKG1l
c3NhZ2UpCisgICAgeworICAgICAgICBBc3NlcnRpb25FcnJvci5jYWxsKHRoaXMsIG1lc3NhZ2Up
OworICAgIH0KKyAgICBQcmVjb25kaXRpb25GYWlsZWRFcnJvci5wcm90b3R5cGUgPSBPYmplY3Qu
Y3JlYXRlKEFzc2VydGlvbkVycm9yLnByb3RvdHlwZSk7CisgICAgZXhwb3NlKFByZWNvbmRpdGlv
bkZhaWxlZEVycm9yLCAiUHJlY29uZGl0aW9uRmFpbGVkRXJyb3IiKTsKKwogICAgIGZ1bmN0aW9u
IG1ha2VfbWVzc2FnZShmdW5jdGlvbl9uYW1lLCBkZXNjcmlwdGlvbiwgZXJyb3IsIHN1YnN0aXR1
dGlvbnMpCiAgICAgewogICAgICAgICBmb3IgKHZhciBwIGluIHN1YnN0aXR1dGlvbnMpIHsKQEAg
LTMzNjUsMzggKzM3NTMsNTYgQEAgcG9saWNpZXMgYW5kIGNvbnRyaWJ1dGlvbiBmb3JtcyBbM10u
CiAgICAgdmFyIHRlc3RzID0gbmV3IFRlc3RzKCk7CiAKICAgICBpZiAoZ2xvYmFsX3Njb3BlLmFk
ZEV2ZW50TGlzdGVuZXIpIHsKLSAgICAgICAgdmFyIGVycm9yX2hhbmRsZXIgPSBmdW5jdGlvbihl
KSB7Ci0gICAgICAgICAgICBpZiAodGVzdHMudGVzdHMubGVuZ3RoID09PSAwICYmICF0ZXN0cy5h
bGxvd191bmNhdWdodF9leGNlcHRpb24pIHsKLSAgICAgICAgICAgICAgICB0ZXN0cy5zZXRfZmls
ZV9pc190ZXN0KCk7Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIHZhciBzdGFjazsKLSAg
ICAgICAgICAgIGlmIChlLmVycm9yICYmIGUuZXJyb3Iuc3RhY2spIHsKLSAgICAgICAgICAgICAg
ICBzdGFjayA9IGUuZXJyb3Iuc3RhY2s7Ci0gICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAg
ICAgICAgIHN0YWNrID0gZS5maWxlbmFtZSArICI6IiArIGUubGluZW5vICsgIjoiICsgZS5jb2xu
bzsKLSAgICAgICAgICAgIH0KLQorICAgICAgICB2YXIgZXJyb3JfaGFuZGxlciA9IGZ1bmN0aW9u
KGVycm9yLCBtZXNzYWdlLCBzdGFjaykgeworICAgICAgICAgICAgdmFyIHByZWNvbmRpdGlvbl9m
YWlsZWQgPSBlcnJvciBpbnN0YW5jZW9mIFByZWNvbmRpdGlvbkZhaWxlZEVycm9yOwogICAgICAg
ICAgICAgaWYgKHRlc3RzLmZpbGVfaXNfdGVzdCkgewogICAgICAgICAgICAgICAgIHZhciB0ZXN0
ID0gdGVzdHMudGVzdHNbMF07CiAgICAgICAgICAgICAgICAgaWYgKHRlc3QucGhhc2UgPj0gdGVz
dC5waGFzZXMuSEFTX1JFU1VMVCkgewogICAgICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAg
ICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIHRlc3Quc2V0X3N0YXR1cyh0ZXN0LkZBSUws
IGUubWVzc2FnZSwgc3RhY2spOworICAgICAgICAgICAgICAgIHZhciBzdGF0dXMgPSBwcmVjb25k
aXRpb25fZmFpbGVkID8gdGVzdC5QUkVDT05ESVRJT05fRkFJTEVEIDogdGVzdC5GQUlMOworICAg
ICAgICAgICAgICAgIHRlc3Quc2V0X3N0YXR1cyhzdGF0dXMsIG1lc3NhZ2UsIHN0YWNrKTsKICAg
ICAgICAgICAgICAgICB0ZXN0LnBoYXNlID0gdGVzdC5waGFzZXMuSEFTX1JFU1VMVDsKLSAgICAg
ICAgICAgICAgICAvLyBUaGUgZm9sbG93aW5nIGZ1bmN0aW9uIGludm9jYXRpb24gaXMgc3VwZXJm
bHVvdXMuCi0gICAgICAgICAgICAgICAgLy8gVE9ETzogUmVtb3ZlLgotICAgICAgICAgICAgICAg
IHRlc3QuZG9uZSgpOwogICAgICAgICAgICAgfSBlbHNlIGlmICghdGVzdHMuYWxsb3dfdW5jYXVn
aHRfZXhjZXB0aW9uKSB7Ci0gICAgICAgICAgICAgICAgdGVzdHMuc3RhdHVzLnN0YXR1cyA9IHRl
c3RzLnN0YXR1cy5FUlJPUjsKLSAgICAgICAgICAgICAgICB0ZXN0cy5zdGF0dXMubWVzc2FnZSA9
IGUubWVzc2FnZTsKKyAgICAgICAgICAgICAgICB2YXIgc3RhdHVzID0gcHJlY29uZGl0aW9uX2Zh
aWxlZCA/IHRlc3RzLnN0YXR1cy5QUkVDT05ESVRJT05fRkFJTEVEIDogdGVzdHMuc3RhdHVzLkVS
Uk9SOworICAgICAgICAgICAgICAgIHRlc3RzLnN0YXR1cy5zdGF0dXMgPSBzdGF0dXM7CisgICAg
ICAgICAgICAgICAgdGVzdHMuc3RhdHVzLm1lc3NhZ2UgPSBtZXNzYWdlOwogICAgICAgICAgICAg
ICAgIHRlc3RzLnN0YXR1cy5zdGFjayA9IHN0YWNrOwogICAgICAgICAgICAgfQotICAgICAgICAg
ICAgZG9uZSgpOworCisgICAgICAgICAgICAvLyBEbyBub3QgdHJhbnNpdGlvbiB0byB0aGUgImNv
bXBsZXRlIiBwaGFzZSBpZiB0aGUgdGVzdCBoYXMgYmVlbgorICAgICAgICAgICAgLy8gY29uZmln
dXJlZCB0byBhbGxvdyB1bmNhdWdodCBleGNlcHRpb25zLiBUaGlzIGdpdmVzIHRoZSB0ZXN0IGFu
CisgICAgICAgICAgICAvLyBvcHBvcnR1bml0eSB0byBkZWZpbmUgc3VidGVzdHMgYmFzZWQgb24g
dGhlIGV4Y2VwdGlvbiByZXBvcnRpbmcKKyAgICAgICAgICAgIC8vIGJlaGF2aW9yLgorICAgICAg
ICAgICAgaWYgKCF0ZXN0cy5hbGxvd191bmNhdWdodF9leGNlcHRpb24pIHsKKyAgICAgICAgICAg
ICAgICBkb25lKCk7CisgICAgICAgICAgICB9CiAgICAgICAgIH07CiAKLSAgICAgICAgYWRkRXZl
bnRMaXN0ZW5lcigiZXJyb3IiLCBlcnJvcl9oYW5kbGVyLCBmYWxzZSk7Ci0gICAgICAgIGFkZEV2
ZW50TGlzdGVuZXIoInVuaGFuZGxlZHJlamVjdGlvbiIsIGZ1bmN0aW9uKGUpeyBlcnJvcl9oYW5k
bGVyKGUucmVhc29uKTsgfSwgZmFsc2UpOworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJlcnJv
ciIsIGZ1bmN0aW9uKGUpIHsKKyAgICAgICAgICAgIHZhciBtZXNzYWdlID0gZS5tZXNzYWdlOwor
ICAgICAgICAgICAgdmFyIHN0YWNrOworICAgICAgICAgICAgaWYgKGUuZXJyb3IgJiYgZS5lcnJv
ci5zdGFjaykgeworICAgICAgICAgICAgICAgIHN0YWNrID0gZS5lcnJvci5zdGFjazsKKyAgICAg
ICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgc3RhY2sgPSBlLmZpbGVuYW1lICsgIjoi
ICsgZS5saW5lbm8gKyAiOiIgKyBlLmNvbG5vOworICAgICAgICAgICAgfQorICAgICAgICAgICAg
ZXJyb3JfaGFuZGxlcihlLmVycm9yLCBtZXNzYWdlLCBzdGFjayk7CisgICAgICAgIH0sIGZhbHNl
KTsKKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJ1bmhhbmRsZWRyZWplY3Rpb24iLCBmdW5j
dGlvbihlKSB7CisgICAgICAgICAgICB2YXIgbWVzc2FnZTsKKyAgICAgICAgICAgIGlmIChlLnJl
YXNvbiAmJiBlLnJlYXNvbi5tZXNzYWdlKSB7CisgICAgICAgICAgICAgICAgbWVzc2FnZSA9ICJV
bmhhbmRsZWQgcmVqZWN0aW9uOiAiICsgZS5yZWFzb24ubWVzc2FnZTsKKyAgICAgICAgICAgIH0g
ZWxzZSB7CisgICAgICAgICAgICAgICAgbWVzc2FnZSA9ICJVbmhhbmRsZWQgcmVqZWN0aW9uIjsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHZhciBzdGFjazsKKyAgICAgICAgICAgIGlmIChl
LnJlYXNvbiAmJiBlLnJlYXNvbi5zdGFjaykgeworICAgICAgICAgICAgICAgIHN0YWNrID0gZS5y
ZWFzb24uc3RhY2s7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBlcnJvcl9oYW5kbGVyKGUu
cmVhc29uLCBtZXNzYWdlLCBzdGFjayk7CisgICAgICAgIH0sIGZhbHNlKTsKICAgICB9CiAKICAg
ICB0ZXN0X2Vudmlyb25tZW50Lm9uX3Rlc3RzX3JlYWR5KCk7CkBAIC0zNDMzLDcgKzM4MzksNyBA
QCB0YWJsZSNyZXN1bHRzIHtcCiBcCiB0YWJsZSNyZXN1bHRzIHRoOmZpcnN0LWNoaWxkLFwKIHRh
YmxlI3Jlc3VsdHMgdGQ6Zmlyc3QtY2hpbGQge1wKLSAgICB3aWR0aDo0ZW07XAorICAgIHdpZHRo
OjhlbTtcCiB9XAogXAogdGFibGUjcmVzdWx0cyB0aDpsYXN0LWNoaWxkLFwKQEAgLTM0NzQsNyAr
Mzg4MCwxMSBAQCB0ci5ub3RydW4gPiB0ZDpmaXJzdC1jaGlsZCB7XAogICAgIGNvbG9yOmJsdWU7
XAogfVwKIFwKLS5wYXNzID4gdGQ6Zmlyc3QtY2hpbGQsIC5mYWlsID4gdGQ6Zmlyc3QtY2hpbGQs
IC50aW1lb3V0ID4gdGQ6Zmlyc3QtY2hpbGQsIC5ub3RydW4gPiB0ZDpmaXJzdC1jaGlsZCB7XAor
dHIucHJlY29uZGl0aW9uZmFpbGVkID4gdGQ6Zmlyc3QtY2hpbGQge1wKKyAgICBjb2xvcjpibHVl
O1wKK31cCitcCisucGFzcyA+IHRkOmZpcnN0LWNoaWxkLCAuZmFpbCA+IHRkOmZpcnN0LWNoaWxk
LCAudGltZW91dCA+IHRkOmZpcnN0LWNoaWxkLCAubm90cnVuID4gdGQ6Zmlyc3QtY2hpbGQsIC5w
cmVjb25kaXRpb25mYWlsZWQgPiB0ZDpmaXJzdC1jaGlsZCB7XAogICAgIGZvbnQtdmFyaWFudDpz
bWFsbC1jYXBzO1wKIH1cCiBcCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcy5oZWFkZXJz
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMuaGVhZGVycwppbmRleCA2ODA1YzMyM2RmNWE5NzUyMzE2NDhi
ODMwZTMzY2UxODNjM2NiYmQzLi41ZThmNjQwYzY2NTlkMTc2ZWFjYTRjNzFjYzE3OThiNzI4NTU0
MGI3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcy5oZWFkZXJzCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzLmhlYWRlcnMKQEAgLTEgKzEsMiBAQAogQ29udGVudC1UeXBlOiB0ZXh0L2phdmFz
Y3JpcHQ7IGNoYXJzZXQ9dXRmLTgKK0NhY2hlLUNvbnRyb2w6IG1heC1hZ2U9MzYwMApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93M2MtaW1wb3J0LmxvZwppbmRleCBlY2FiNjhjMWJlOGY0MjRjYWUy
ZTVmMWJlMGI1MDEwZDk5YzAyYTZhLi4yOWUyZGQ1N2EyYzkyZWVlZjVlZDM5NjUwNmU1NDViMmUw
NGJlZmY0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93M2MtaW1wb3J0LmxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93M2MtaW1wb3J0LmxvZwpAQCAtMSw3
ICsxLDcgQEAKIFRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20g
dGhlIFczQyByZXBvc2l0b3J5LgogRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBp
biBXZWJLaXQuCiBJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRo
dWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMKKwlodHRwczov
L2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdAogCiBUaGVuIHJ1biB0aGUgVG9vbHMv
U2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydAogCkBAIC0xNiwx
MSArMTYsMTggQEAgTm9uZQogTGlzdCBvZiBmaWxlczoKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy8uaHRhY2Nlc3MKIC9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9MSUNFTlNFCi0vTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvT1dORVJTCisv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvTUVU
QS55bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy9TVkdBbmltYXRpb25UZXN0Q2FzZS10ZXN0aGFybmVzcy5qcworL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2NoZWNrLWxheW91dC10aC5q
cwogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L2lkbGhhcm5lc3MuanMKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy9pZGxoYXJuZXNzLmpzLmhlYWRlcnMKIC9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9yZWFkbWUubWQKIC9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9zcmloYXJuZXNzLmpz
CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
dGVzdGRyaXZlci1hY3Rpb25zLmpzCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdGRyaXZlci12ZW5kb3IuanMKKy9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0ZHJpdmVyLXZlbmRv
ci5qcy5oZWFkZXJzCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvdGVzdGRyaXZlci5qcworL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3Rkcml2ZXIuanMuaGVhZGVycwogL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmNzcy5oZWFkZXJzCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcy5oZWFkZXJzCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL0NIQU5HRUxPRy5tZCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvQ0hBTkdFTE9HLm1kCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCA5MWUyMjI3NWUwNzAwZTFmNTUzMTQ4YzdmNTQxNGQ3Y2NhZjBmZTMz
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvQ0hB
TkdFTE9HLm1kCisrKyAvZGV2L251bGwKQEAgLTEsMjkyICswLDAgQEAKLSMgQ2hhbmdlIExvZwot
Ci0jIyBbdjEwLjIuMV0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL3RyZWUvdjEw
LjIuMSkgKDIwMTgtMDMtMDkpCi1bRnVsbCBDaGFuZ2Vsb2ddKGh0dHBzOi8vZ2l0aHViLmNvbS93
M2Mvd2ViaWRsMi5qcy9jb21wYXJlL3YxMC4yLjAuLi52MTAuMi4xKQotCi0qKk1lcmdlZCBwdWxs
IHJlcXVlc3RzOioqCi0KLS0gT3B0aW1pc2UgdG9rZW5pc2F0aW9uIGFuZCB3aGl0ZXNwYWNlIHNr
aXBwaW5nIFtcIzEzOV0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL3B1bGwvMTM5
KSAoW3JpY2VhXShodHRwczovL2dpdGh1Yi5jb20vcmljZWEpKQotLSByZWZhY3Rvcjogc21hbGwg
c3ludGF4IGNoYW5nZXMgW1wjMTM3XShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMv
cHVsbC8xMzcpIChbc2FzY2hhbmF6XShodHRwczovL2dpdGh1Yi5jb20vc2FzY2hhbmF6KSkKLQot
IyMgW3YxMC4yLjBdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy90cmVlL3YxMC4y
LjApICgyMDE4LTAxLTMwKQotW0Z1bGwgQ2hhbmdlbG9nXShodHRwczovL2dpdGh1Yi5jb20vdzNj
L3dlYmlkbDIuanMvY29tcGFyZS92MTAuMS4wLi4udjEwLjIuMCkKLQotKipNZXJnZWQgcHVsbCBy
ZXF1ZXN0czoqKgotCi0tIFR5cGUgb24gdW5pb24gaWRsVHlwZSBbXCMxMzVdKGh0dHBzOi8vZ2l0
aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9wdWxsLzEzNSkgKFtzYXNjaGFuYXpdKGh0dHBzOi8vZ2l0
aHViLmNvbS9zYXNjaGFuYXopKQotLSBmZWF0OiBhZGQgYXJndW1lbnQvcmV0dXJuIHR5cGUgW1wj
MTM0XShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvcHVsbC8xMzQpIChbc2FzY2hh
bmF6XShodHRwczovL2dpdGh1Yi5jb20vc2FzY2hhbmF6KSkKLS0gZmVhdDogYWRkIGRpY3Rpb25h
cnkvdHlwZWRlZi10eXBlIFtcIzEzM10oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpz
L3B1bGwvMTMzKSAoW3Nhc2NoYW5hel0oaHR0cHM6Ly9naXRodWIuY29tL3Nhc2NoYW5heikpCi0t
IGZlYXQ6IGFkZCBjb25zdC10eXBlIGZvciBpZGxUeXBlcyAgW1wjMTMyXShodHRwczovL2dpdGh1
Yi5jb20vdzNjL3dlYmlkbDIuanMvcHVsbC8xMzIpIChbc2FzY2hhbmF6XShodHRwczovL2dpdGh1
Yi5jb20vc2FzY2hhbmF6KSkKLS0gZmVhdDogYWRkIHR5cGVzIG9uIGlkbFR5cGVzIFtcIzEzMV0o
aHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL3B1bGwvMTMxKSAoW3Nhc2NoYW5hel0o
aHR0cHM6Ly9naXRodWIuY29tL3Nhc2NoYW5heikpCi0tIEF1dG8gYWNxdWlzaXRpb24gZm9yIHBh
cnNlciByZXN1bHQgY2hhbmdlcyBbXCMxMzBdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRs
Mi5qcy9wdWxsLzEzMCkgKFtzYXNjaGFuYXpdKGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNjaGFuYXop
KQotCi0jIyBbdjEwLjEuMF0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL3RyZWUv
djEwLjEuMCkgKDIwMTgtMDEtMTkpCi1bRnVsbCBDaGFuZ2Vsb2ddKGh0dHBzOi8vZ2l0aHViLmNv
bS93M2Mvd2ViaWRsMi5qcy9jb21wYXJlL3YxMC4wLjAuLi52MTAuMS4wKQotCi0qKkNsb3NlZCBp
c3N1ZXM6KioKLQotLSBTdXBwb3J0IGByYWlzZXNgIGFuZCBgc2V0cmFpc2VzYCBbXCMxMjhdKGh0
dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9pc3N1ZXMvMTI4KQotLSBTdXBwb3J0IGBs
ZWdhY3ljYWxsZXJgIFtcIzEyN10oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL2lz
c3Vlcy8xMjcpCi0tIEltcHJvdmUgIk5vIHNlbWljb2xvbiBhZnRlciBlbnVtIiBtZXNzYWdlIFtc
IzExOV0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL2lzc3Vlcy8xMTkpCi0KLSoq
TWVyZ2VkIHB1bGwgcmVxdWVzdHM6KioKLQotLSBMZXQgZXJyb3IgbWVzc2FnZXMgaW5jbHVkZSB0
aGUgY3VycmVudCBkZWZpbml0aW9uIG5hbWUgW1wjMTI5XShodHRwczovL2dpdGh1Yi5jb20vdzNj
L3dlYmlkbDIuanMvcHVsbC8xMjkpIChbc2FzY2hhbmF6XShodHRwczovL2dpdGh1Yi5jb20vc2Fz
Y2hhbmF6KSkKLQotIyMgW3YxMC4wLjBdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5q
cy90cmVlL3YxMC4wLjApICgyMDE3LTEyLTIwKQotW0Z1bGwgQ2hhbmdlbG9nXShodHRwczovL2dp
dGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvY29tcGFyZS92OS4wLjAuLi52MTAuMC4wKQotCi0qKkNs
b3NlZCBpc3N1ZXM6KioKLQotLSAgQWx3YXlzIHJldHVybiBhbiBhcnJheSBmb3IgaWRsVHlwZSwg
ZXRjLiBbXCMxMTNdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9pc3N1ZXMvMTEz
KQotLSBNYWludGFpbiB3cml0ZXIuanMgb3Igbm90PyBbXCMxMDldKGh0dHBzOi8vZ2l0aHViLmNv
bS93M2Mvd2ViaWRsMi5qcy9pc3N1ZXMvMTA5KQotCi0qKk1lcmdlZCBwdWxsIHJlcXVlc3RzOioq
Ci0KLS0gUmVtb3ZlIHR5cGVFeHRBdHRycyBmcm9tIGRvY3MgW1wjMTI0XShodHRwczovL2dpdGh1
Yi5jb20vdzNjL3dlYmlkbDIuanMvcHVsbC8xMjQpIChbc2FzY2hhbmF6XShodHRwczovL2dpdGh1
Yi5jb20vc2FzY2hhbmF6KSkKLS0gUmVtb3ZlIGl0ZXJhdG9yIGRvY3VtZW50YXRpb24gW1wjMTIz
XShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvcHVsbC8xMjMpIChbc2FzY2hhbmF6
XShodHRwczovL2dpdGh1Yi5jb20vc2FzY2hhbmF6KSkKLS0gTWFpbnRhaW4gd3JpdGVyLmpzIFtc
IzEyMl0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL3B1bGwvMTIyKSAoW3Nhc2No
YW5hel0oaHR0cHM6Ly9naXRodWIuY29tL3Nhc2NoYW5heikpCi0tIEJSRUFLSU5HIENIQU5HRTog
cmVtb3ZlIGRlcHJlY2F0ZWQgaXRlcmF0b3Igb3BlcmF0aW9uIFtcIzEyMV0oaHR0cHM6Ly9naXRo
dWIuY29tL3czYy93ZWJpZGwyLmpzL3B1bGwvMTIxKSAoW3Nhc2NoYW5hel0oaHR0cHM6Ly9naXRo
dWIuY29tL3Nhc2NoYW5heikpCi0tIFVzZSBmb3Itb2Ygb24gdGVzdHMgW1wjMTIwXShodHRwczov
L2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvcHVsbC8xMjApIChbc2FzY2hhbmF6XShodHRwczov
L2dpdGh1Yi5jb20vc2FzY2hhbmF6KSkKLS0gZG9jc1woUkVBRE1FXCk6IGl0ZXJhYmxlcyBpbGRU
eXBlIGlzIGFsd2F5cyBhcnJheSBbXCMxMThdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRs
Mi5qcy9wdWxsLzExOCkgKFttYXJjb3NjYWNlcmVzXShodHRwczovL2dpdGh1Yi5jb20vbWFyY29z
Y2FjZXJlcykpCi0KLSMjIFt2OS4wLjBdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5q
cy90cmVlL3Y5LjAuMCkgKDIwMTctMTEtMzApCi1bRnVsbCBDaGFuZ2Vsb2ddKGh0dHBzOi8vZ2l0
aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9jb21wYXJlL3Y4LjEuMC4uLnY5LjAuMCkKLQotKipDbG9z
ZWQgaXNzdWVzOioqCi0KLS0gQ29kZSBxdWFsaXR5IFtcIzExNl0oaHR0cHM6Ly9naXRodWIuY29t
L3czYy93ZWJpZGwyLmpzL2lzc3Vlcy8xMTYpCi0tIFVuYWJsZSB0byBwYXJzZSBIVE1MQWxsQ29s
bGVjdGlvbiBpbnRlcmZhY2UgW1wjMTE0XShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIu
anMvaXNzdWVzLzExNCkKLS0gQWRkIHN1cHBvcnQgZm9yIG1peGluIHN5bnRheCBbXCMxMTJdKGh0
dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9pc3N1ZXMvMTEyKQotLSBXaGl0ZXNwYWNl
IGlzc3VlcyBbXCMxMTFdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9pc3N1ZXMv
MTExKQotCi0qKk1lcmdlZCBwdWxsIHJlcXVlc3RzOioqCi0KLS0gQ29uc2lzdGVudCBhcnJheSB0
eXBlIGZvciBpdGVyYWJsZS5pZGxUeXBlIFtcIzExN10oaHR0cHM6Ly9naXRodWIuY29tL3czYy93
ZWJpZGwyLmpzL3B1bGwvMTE3KSAoW3Nhc2NoYW5hel0oaHR0cHM6Ly9naXRodWIuY29tL3Nhc2No
YW5heikpCi0tICBSZXZlcnQgImNob3JlOiBkcm9wIE5vZGUgNiBzdXBwb3J0IFwoXCMxMDJcKSIg
W1wjMTE1XShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvcHVsbC8xMTUpIChbVGlt
b3RoeUd1XShodHRwczovL2dpdGh1Yi5jb20vVGltb3RoeUd1KSkKLQotIyMgW3Y4LjEuMF0oaHR0
cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL3RyZWUvdjguMS4wKSAoMjAxNy0xMS0wMykK
LVtGdWxsIENoYW5nZWxvZ10oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL2NvbXBh
cmUvdjguMC4xLi4udjguMS4wKQotCi0qKkNsb3NlZCBpc3N1ZXM6KioKLQotLSBFeHRlbmRlZCBB
dHRyaWJ1dGVzIGByaHNgIHNob3VsZCBhbHdheXMgYmUgdGhlcmUgW1wjOTZdKGh0dHBzOi8vZ2l0
aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9pc3N1ZXMvOTYpCi0KLSoqTWVyZ2VkIHB1bGwgcmVxdWVz
dHM6KioKLQotLSBBbHdheXMgYWRkIHJocyBwcm9wZXJ0eSBbXCMxMTBdKGh0dHBzOi8vZ2l0aHVi
LmNvbS93M2Mvd2ViaWRsMi5qcy9wdWxsLzExMCkgKFtzYXNjaGFuYXpdKGh0dHBzOi8vZ2l0aHVi
LmNvbS9zYXNjaGFuYXopKQotCi0jIyBbdjguMC4xXShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dl
YmlkbDIuanMvdHJlZS92OC4wLjEpICgyMDE3LTExLTAzKQotW0Z1bGwgQ2hhbmdlbG9nXShodHRw
czovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvY29tcGFyZS92OC4wLjAuLi52OC4wLjEpCi0K
LSoqRml4ZWQgYnVnczoqKgotCi0tIENvbW1lbnQgb3JkZXIgcGFyc2luZyBidWcgIFtcIzEwN10o
aHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL2lzc3Vlcy8xMDcpCi0KLSoqTWVyZ2Vk
IHB1bGwgcmVxdWVzdHM6KioKLQotLSBSZW1vdmUgbSBwb3N0Zml4IGZyb20gYWxsXF93c1woXCkg
W1wjMTA4XShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvcHVsbC8xMDgpIChbc2Fz
Y2hhbmF6XShodHRwczovL2dpdGh1Yi5jb20vc2FzY2hhbmF6KSkKLQotIyMgW3Y4LjAuMF0oaHR0
cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL3RyZWUvdjguMC4wKSAoMjAxNy0xMS0wMykK
LVtGdWxsIENoYW5nZWxvZ10oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL2NvbXBh
cmUvdjcuMC4wLi4udjguMC4wKQotCi0qKkNsb3NlZCBpc3N1ZXM6KioKLQotLSBSZW1vdmUgY3Jl
YXRvcnMgc3VwcG9ydCBbXCMxMDBdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9p
c3N1ZXMvMTAwKQotLSBBZGQgbWl4aW4gc3VwcG9ydCBbXCM5Ml0oaHR0cHM6Ly9naXRodWIuY29t
L3czYy93ZWJpZGwyLmpzL2lzc3Vlcy85MikKLQotKipNZXJnZWQgcHVsbCByZXF1ZXN0czoqKgot
Ci0tIFN1cHBvcnQgbWl4aW5zICsgaW5jbHVkZXMgc3RhdGVtZW50cyBbXCMxMDVdKGh0dHBzOi8v
Z2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9wdWxsLzEwNSkgKFtzYXNjaGFuYXpdKGh0dHBzOi8v
Z2l0aHViLmNvbS9zYXNjaGFuYXopKQotLSBjaG9yZTogZHJvcCBOb2RlIDYgc3VwcG9ydCBbXCMx
MDJdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9wdWxsLzEwMikgKFttYXJjb3Nj
YWNlcmVzXShodHRwczovL2dpdGh1Yi5jb20vbWFyY29zY2FjZXJlcykpCi0tIEJSRUFLSU5HIENI
QU5HRTogZHJvcCBjcmVhdG9yIHN1cHBvcnQgW1wjMTAxXShodHRwczovL2dpdGh1Yi5jb20vdzNj
L3dlYmlkbDIuanMvcHVsbC8xMDEpIChbc2FzY2hhbmF6XShodHRwczovL2dpdGh1Yi5jb20vc2Fz
Y2hhbmF6KSkKLS0gTm9ybWFsaXplIHNvbWUgd2hpdGVzcGFjZSB0byBwYXNzIHdwdCdzIGxpbnQg
W1wjOTldKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9wdWxsLzk5KSAoW2Zvb2xp
cF0oaHR0cHM6Ly9naXRodWIuY29tL2Zvb2xpcCkpCi0KLSMjIFt2Ny4wLjBdKGh0dHBzOi8vZ2l0
aHViLmNvbS93M2Mvd2ViaWRsMi5qcy90cmVlL3Y3LjAuMCkgKDIwMTctMTAtMjcpCi1bRnVsbCBD
aGFuZ2Vsb2ddKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9jb21wYXJlL3Y2LjEu
MC4uLnY3LjAuMCkKLQotKipDbG9zZWQgaXNzdWVzOioqCi0KLS0gVHlwZSBjb252ZXJzaW9uIG9u
IGRlZmF1bHQgdmFsdWVzIGlzIGRlc3RydWN0aXZlICBbXCM5NF0oaHR0cHM6Ly9naXRodWIuY29t
L3czYy93ZWJpZGwyLmpzL2lzc3Vlcy85NCkKLS0gZXh0ZW5kZWQgYXR0cmlidXRlIHN0cnVjdHVy
ZSBtaXNzaW5nIHR5cGUgW1wjODldKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9p
c3N1ZXMvODkpCi0KLSoqTWVyZ2VkIHB1bGwgcmVxdWVzdHM6KioKLQotLSAgQlJFQUtJTkcgQ0hB
TkdFOiBhcmd1bWVudCArIGRlZmF1bHQgdHlwZXMgc2hvdWxkIGJlIHN0cmluZyBbXCM5NV0oaHR0
cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL3B1bGwvOTUpIChbbWFyY29zY2FjZXJlc10o
aHR0cHM6Ly9naXRodWIuY29tL21hcmNvc2NhY2VyZXMpKQotCi0jIyBbdjYuMS4wXShodHRwczov
L2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvdHJlZS92Ni4xLjApICgyMDE3LTEwLTIzKQotW0Z1
bGwgQ2hhbmdlbG9nXShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvY29tcGFyZS92
Ni4wLjEuLi52Ni4xLjApCi0KLSoqTWVyZ2VkIHB1bGwgcmVxdWVzdHM6KioKLQotLSBmZWF0OiBn
aXZlIGV4dGVuZGVkIGF0dHJpYnV0ZXMgYSB0eXBlIFtcIzkwXShodHRwczovL2dpdGh1Yi5jb20v
dzNjL3dlYmlkbDIuanMvcHVsbC85MCkgKFttYXJjb3NjYWNlcmVzXShodHRwczovL2dpdGh1Yi5j
b20vbWFyY29zY2FjZXJlcykpCi0KLSMjIFt2Ni4wLjFdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mv
d2ViaWRsMi5qcy90cmVlL3Y2LjAuMSkgKDIwMTctMTAtMTgpCi1bRnVsbCBDaGFuZ2Vsb2ddKGh0
dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9jb21wYXJlL3Y2LjAuMC4uLnY2LjAuMSkK
LQotKipDbG9zZWQgaXNzdWVzOioqCi0KLS0gRW51bSB2YWx1ZXMgc2hvdWxkIGJlIG9iamVjdHMg
W1wjODZdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9pc3N1ZXMvODYpCi0KLSoq
TWVyZ2VkIHB1bGwgcmVxdWVzdHM6KioKLQotLSBVc2UgRVMyMDE1IHN5bnRheCBmb3IgdGVzdHMg
W1wjODhdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9wdWxsLzg4KSAoW3Nhc2No
YW5hel0oaHR0cHM6Ly9naXRodWIuY29tL3Nhc2NoYW5heikpCi0KLSMjIFt2Ni4wLjBdKGh0dHBz
Oi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy90cmVlL3Y2LjAuMCkgKDIwMTctMTAtMTcpCi1b
RnVsbCBDaGFuZ2Vsb2ddKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9jb21wYXJl
L3Y1LjAuMC4uLnY2LjAuMCkKLQotKipNZXJnZWQgcHVsbCByZXF1ZXN0czoqKgotCi0tIEJSRUFL
SU5HIENIQU5HRTogcmV0IGVudW0gdmFsdWUgYXMgb2JqZWN0IFtcIzg3XShodHRwczovL2dpdGh1
Yi5jb20vdzNjL3dlYmlkbDIuanMvcHVsbC84NykgKFttYXJjb3NjYWNlcmVzXShodHRwczovL2dp
dGh1Yi5jb20vbWFyY29zY2FjZXJlcykpCi0KLSMjIFt2NS4wLjBdKGh0dHBzOi8vZ2l0aHViLmNv
bS93M2Mvd2ViaWRsMi5qcy90cmVlL3Y1LjAuMCkgKDIwMTctMTAtMTcpCi1bRnVsbCBDaGFuZ2Vs
b2ddKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9jb21wYXJlL3Y0LjIuMC4uLnY1
LjAuMCkKLQotKipDbG9zZWQgaXNzdWVzOioqCi0KLS0gVW5hYmxlIHRvIHBhcnNlIGFubm90YXRl
ZCB0eXBlcyBpbiBnZW5lcmljcyBbXCM4M10oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwy
LmpzL2lzc3Vlcy84MykKLS0gRHJvcCBzdXBwb3J0IGZvciBOb2RlIDQsIG1vdmUgdG8gNiBMVFMg
W1wjODJdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9pc3N1ZXMvODIpCi0KLSoq
TWVyZ2VkIHB1bGwgcmVxdWVzdHM6KioKLQotLSBCUkVBS0lORyBDSEFOR0U6IFVzZSBFUzIwMTUg
c3ludGF4IFtcIzg0XShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvcHVsbC84NCkg
KFtzYXNjaGFuYXpdKGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNjaGFuYXopKQotCi0jIyBbdjQuMi4w
XShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvdHJlZS92NC4yLjApICgyMDE3LTEw
LTE2KQotW0Z1bGwgQ2hhbmdlbG9nXShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMv
Y29tcGFyZS92NC4xLjAuLi52NC4yLjApCi0KLSoqQ2xvc2VkIGlzc3VlczoqKgotCi0tIFJlbW92
ZSBsZWdhY3kgY2FsbGVyIHN1cHBvcnQgW1wjNzhdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2Vi
aWRsMi5qcy9pc3N1ZXMvNzgpCi0tIFNob3VsZCByZXBvcnQgZXJyb3IgZm9yIHVzaW5nIGR1cGxp
Y2F0ZSBuYW1lcyBbXCM3N10oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL2lzc3Vl
cy83NykKLQotKipNZXJnZWQgcHVsbCByZXF1ZXN0czoqKgotCi0tIENoZWNrIGR1cGxpY2F0ZWQg
bmFtZXMgW1wjODBdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9wdWxsLzgwKSAo
W3Nhc2NoYW5hel0oaHR0cHM6Ly9naXRodWIuY29tL3Nhc2NoYW5heikpCi0tIFJlbW92ZSBsZWdh
Y3ljYWxsZXIgW1wjNzldKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9wdWxsLzc5
KSAoW3Nhc2NoYW5hel0oaHR0cHM6Ly9naXRodWIuY29tL3Nhc2NoYW5heikpCi0tIEFkZCAic2Vx
dWVuY2UiIHByb3BlcnR5IHRvIElETCBUeXBlIEFTVCBkZWZpbml0aW9uIFtcIzc2XShodHRwczov
L2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvcHVsbC83NikgKFtsZXJvdWNoZV0oaHR0cHM6Ly9n
aXRodWIuY29tL2xlcm91Y2hlKSkKLQotIyMgW3Y0LjEuMF0oaHR0cHM6Ly9naXRodWIuY29tL3cz
Yy93ZWJpZGwyLmpzL3RyZWUvdjQuMS4wKSAoMjAxNy0wNy0wNCkKLVtGdWxsIENoYW5nZWxvZ10o
aHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL2NvbXBhcmUvdjQuMC4wLi4udjQuMS4w
KQotCi0qKkNsb3NlZCBpc3N1ZXM6KioKLQotLSBQYXJzaW5nIGVycm9yIGZvciBhbm5vbmF0ZWQg
aW5uZXIgdHlwZXMgb2YgZ2VuZXJpYyB0eXBlcyBbXCM3MV0oaHR0cHM6Ly9naXRodWIuY29tL3cz
Yy93ZWJpZGwyLmpzL2lzc3Vlcy83MSkKLQotKipNZXJnZWQgcHVsbCByZXF1ZXN0czoqKgotCi0t
IFN1cHBvcnQgVHlwZVdpdGhFeHRlbmRlZEF0dHJpYnV0ZXMgb24gZ2VuZXJpY3MgW1wjNzVdKGh0
dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9wdWxsLzc1KSAoW3Nhc2NoYW5hel0oaHR0
cHM6Ly9naXRodWIuY29tL3Nhc2NoYW5heikpCi0KLSMjIFt2NC4wLjBdKGh0dHBzOi8vZ2l0aHVi
LmNvbS93M2Mvd2ViaWRsMi5qcy90cmVlL3Y0LjAuMCkgKDIwMTctMDYtMjcpCi1bRnVsbCBDaGFu
Z2Vsb2ddKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9jb21wYXJlL3YzLjAuMi4u
LnY0LjAuMCkKLQotKipDbG9zZWQgaXNzdWVzOioqCi0KLS0gUmVtb3ZlIHNlcmlhbGl6ZXItcmVs
YXRlZCBwcm9kdWN0aW9ucyBbXCM3M10oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpz
L2lzc3Vlcy83MykKLS0gUmVjb3JkcyBkb24ndCBzZWVtIHRvIGJlIHdvcmtpbmcgcmlnaHQgW1wj
NzJdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9pc3N1ZXMvNzIpCi0tIERvY3Vt
ZW50IG5hbWVzcGFjZSBtZW1iZXIgb3V0cHV0IFtcIzU5XShodHRwczovL2dpdGh1Yi5jb20vdzNj
L3dlYmlkbDIuanMvaXNzdWVzLzU5KQotCi0qKk1lcmdlZCBwdWxsIHJlcXVlc3RzOioqCi0KLS0g
QlJFQUtJTkcgQ0hBTkdFOiByZW1vdmUgc2VyaWFsaXplcnMgXChjbG9zZXMgXCM3M1wpIFtcIzc0
XShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvcHVsbC83NCkgKFttYXJjb3NjYWNl
cmVzXShodHRwczovL2dpdGh1Yi5jb20vbWFyY29zY2FjZXJlcykpCi0tIEFkZCBkb2N1bWVudGF0
aW9uIGZvciBuYW1lc3BhY2VzIFtcIzcwXShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIu
anMvcHVsbC83MCkgKFtzYXNjaGFuYXpdKGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNjaGFuYXopKQot
Ci0jIyBbdjMuMC4yXShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvdHJlZS92My4w
LjIpICgyMDE3LTA1LTI5KQotW0Z1bGwgQ2hhbmdlbG9nXShodHRwczovL2dpdGh1Yi5jb20vdzNj
L3dlYmlkbDIuanMvY29tcGFyZS92My4wLjEuLi52My4wLjIpCi0KLSoqQ2xvc2VkIGlzc3Vlczoq
KgotCi0tIFdoaXRlc3BhY2UgaXNzdWVzIFtcIzY0XShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dl
YmlkbDIuanMvaXNzdWVzLzY0KQotCi0qKk1lcmdlZCBwdWxsIHJlcXVlc3RzOioqCi0KLS0gVGVz
dCBmb3IgbGF0ZXN0IExUUy9zdGFibGUgbm9kZSB2ZXJzaW9ucyBbXCM2OV0oaHR0cHM6Ly9naXRo
dWIuY29tL3czYy93ZWJpZGwyLmpzL3B1bGwvNjkpIChbc2FzY2hhbmF6XShodHRwczovL2dpdGh1
Yi5jb20vc2FzY2hhbmF6KSkKLQotIyMgW3YzLjAuMV0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93
ZWJpZGwyLmpzL3RyZWUvdjMuMC4xKSAoMjAxNy0wNS0xOCkKLVtGdWxsIENoYW5nZWxvZ10oaHR0
cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL2NvbXBhcmUvdjIuNC4wLi4udjMuMC4xKQot
Ci0qKkNsb3NlZCBpc3N1ZXM6KioKLQotLSBJcyBhcnJheSBzeW50YXggZGVhZD8gW1wjNjZdKGh0
dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9pc3N1ZXMvNjYpCi0tIFJlbW92ZSBleGNl
cHRpb25zIHN1cHBvcnQgW1wjNjVdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9p
c3N1ZXMvNjUpCi0KLSoqTWVyZ2VkIHB1bGwgcmVxdWVzdHM6KioKLQotLSBGaXggd2hpdGVzcGFj
ZSBlcnJvciBvbiBwYXJzaW5nIGV4dGVuZGVkIGF0dHJpYnV0ZXMgW1wjNjhdKGh0dHBzOi8vZ2l0
aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9wdWxsLzY4KSAoW3Nhc2NoYW5hel0oaHR0cHM6Ly9naXRo
dWIuY29tL3Nhc2NoYW5heikpCi0tIFJlbW92ZSBkZXByZWNhdGVkIElETCBhcnJheXMgYW5kIGV4
Y2VwdGlvbnMgW1wjNjddKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9wdWxsLzY3
KSAoW3Nhc2NoYW5hel0oaHR0cHM6Ly9naXRodWIuY29tL3Nhc2NoYW5heikpCi0KLSMjIFt2Mi40
LjBdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy90cmVlL3YyLjQuMCkgKDIwMTct
MDQtMTIpCi1bRnVsbCBDaGFuZ2Vsb2ddKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5q
cy9jb21wYXJlL3YyLjEuMC4uLnYyLjQuMCkKLQotKipDbG9zZWQgaXNzdWVzOioqCi0KLS0gQWRk
IHN1cHBvcnQgZm9yIEFubm90YXRlZCBUeXBlcyBbXCM2MF0oaHR0cHM6Ly9naXRodWIuY29tL3cz
Yy93ZWJpZGwyLmpzL2lzc3Vlcy82MCkKLS0gUXVlc3Rpb246IENvbnZlcnQgV2ViSURMIC1cPiBK
YXZhc2NyaXB0IFtcIzU2XShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvaXNzdWVz
LzU2KQotLSBHZXQgUm9iaW4gdG8gZ2l2ZSB1cyBwdXNoIHBlcm1pc3Npb25zIG9uIG5wbSBbXCM1
NF0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL2lzc3Vlcy81NCkKLS0gQWRkIHN1
cHBvcnQgZm9yIHJlY29yZHMgW1wjNTNdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5q
cy9pc3N1ZXMvNTMpCi0tIG1vZHVsZSBub3Qgc3VwcG9ydGVkPyBbXCM1Ml0oaHR0cHM6Ly9naXRo
dWIuY29tL3czYy93ZWJpZGwyLmpzL2lzc3Vlcy81MikKLS0gQWRkIHN1cHBvcnQgZm9yIG5hbWVz
cGFjZXMgW1wjNTFdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9pc3N1ZXMvNTEp
Ci0tIEV4cG9ydCBpcyBub3QgQU1EIGNvbXBhdGlibGUgW1wjNDhdKGh0dHBzOi8vZ2l0aHViLmNv
bS93M2Mvd2ViaWRsMi5qcy9pc3N1ZXMvNDgpCi0tIENhbid0IHJlcHJlc2VudCBsYXJnZSBjb25z
dGFudHMgW1wjMjFdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9pc3N1ZXMvMjEp
Ci0KLSoqTWVyZ2VkIHB1bGwgcmVxdWVzdHM6KioKLQotLSBVcGRhdGUgd2ViaWRsMi5qcyBbXCM2
M10oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL3B1bGwvNjMpIChbdHFldG9dKGh0
dHBzOi8vZ2l0aHViLmNvbS90cWV0bykpCi0tIFJlbW92ZSBzdXBwb3J0IGZvciBNYXBDbGFzcyBc
KG5vIGxvbmdlciB2YWxpZCBpbiBXZWJJRExcKSBbXCM2Ml0oaHR0cHM6Ly9naXRodWIuY29tL3cz
Yy93ZWJpZGwyLmpzL3B1bGwvNjIpIChbZG9udGNhbGxtZWRvbV0oaHR0cHM6Ly9naXRodWIuY29t
L2RvbnRjYWxsbWVkb20pKQotLSBBZGQgc3VwcG9ydCBmb3IgYW5ub3RhdGVkIHR5cGVzIFtcIzYx
XShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvcHVsbC82MSkgKFtkb250Y2FsbG1l
ZG9tXShodHRwczovL2dpdGh1Yi5jb20vZG9udGNhbGxtZWRvbSkpCi0tIFN1cHBvcnQgbmFtZXNw
YWNlcyBbXCM1OF0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL3B1bGwvNTgpIChb
c2FzY2hhbmF6XShodHRwczovL2dpdGh1Yi5jb20vc2FzY2hhbmF6KSkKLS0gQWRkIHN1cHBvcnQg
Zm9yIHJlY29yZHMgW1wjNTddKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9wdWxs
LzU3KSAoW1RpbW90aHlHdV0oaHR0cHM6Ly9naXRodWIuY29tL1RpbW90aHlHdSkpCi0tIFJlZmFj
dG9yIFtcIzUwXShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvcHVsbC81MCkgKFtt
YXJjb3NjYWNlcmVzXShodHRwczovL2dpdGh1Yi5jb20vbWFyY29zY2FjZXJlcykpCi0tIGZlYXRc
KGxpYlwpOiBhZGQgQU1EIGV4cG9ydCBzdXBwb3J0IFwoY2xvc2VzIFwjNDhcKSBbXCM0OV0oaHR0
cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL3B1bGwvNDkpIChbbWFyY29zY2FjZXJlc10o
aHR0cHM6Ly9naXRodWIuY29tL21hcmNvc2NhY2VyZXMpKQotCi0jIyBbdjIuMS4wXShodHRwczov
L2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvdHJlZS92Mi4xLjApICgyMDE2LTA4LTEyKQotKipD
bG9zZWQgaXNzdWVzOioqCi0KLS0gRXhjZXB0aW9uIHdoZW4gcGFyc2luZyB0ZXN0L3N5bnRheC9p
ZGwvdHlwZWRlZi53aWRsIFtcIzQ2XShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMv
aXNzdWVzLzQ2KQotLSBXcm9uZyBqc29uZGlmZnBhdGNoIGxvY2F0aW9uIFtcIzQyXShodHRwczov
L2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvaXNzdWVzLzQyKQotLSAnbnBtIGluc3RhbGwnIGZh
aWxzIG9uIGJ1aWxkaW5nIG1pY3JvdGltZSBbXCM0MF0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93
ZWJpZGwyLmpzL2lzc3Vlcy80MCkKLS0gQ2FuJ3QgcmVwcmVzZW50IHVuaW9uIHR5cGVzIGluIHR5
cGVkZWZzIFtcIzM4XShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvaXNzdWVzLzM4
KQotLSB0b2tlbmlzZVwoXCkgYXNzdW1lcyBhIHNwZWNpZmljIHByb3BlcnR5IGVudW1lcmF0aW9u
IG9yZGVyIFtcIzI3XShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvaXNzdWVzLzI3
KQotLSBBZGQgc3VwcG9ydCBmb3IgaXRlcmFibGVcPFw+LCBtYXBsaWtlXDxcPiwgc2V0bGlrZVw8
XD4gZGVjbGFyYXRpb25zIFtcIzI0XShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMv
aXNzdWVzLzI0KQotLSBXZWJJREwyIGZhaWxzIHRvIHBhcnNlIGBhdHRyaWJ1dGUgUHJvbWlzZVw8
RE9NU3RyaW5nXD5cW1xdIGJhemAgW1wjMTldKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRs
Mi5qcy9pc3N1ZXMvMTkpCi0tIFN1cHBvcnQgZm9yIEV4dGVuZGVkQXR0cmlidXRlSWRlbnRMaXN0
IFwoY3VycmVudCBlZGl0b3IncyBkcmFmdFwpIFtcIzE4XShodHRwczovL2dpdGh1Yi5jb20vdzNj
L3dlYmlkbDIuanMvaXNzdWVzLzE4KQotLSBObyBMaWNlbnNpbmcgSW5mb3JtYXRpb24gW1wjMTdd
KGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9pc3N1ZXMvMTcpCi0tIGhvdyB0byBy
ZWdlbmVyYXRlIHczYyBpZGwgZmlsZXMgPyBbXCMxNF0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93
ZWJpZGwyLmpzL2lzc3Vlcy8xNCkKLS0gV2hhdCBpcyBsaWIvd3JpdGVyLmpzIFtcIzEzXShodHRw
czovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvaXNzdWVzLzEzKQotLSBOdW1lcm91cyB0ZXN0
cyBhcmUgZmFpbGluZyBbXCM3XShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvaXNz
dWVzLzcpCi0tIEFkZCBzdXBwb3J0IGZvciBtaXNzaW5nIHR5cGVzIGluIFNlcnZpY2VXb3JrZXIg
W1wjNV0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL2lzc3Vlcy81KQotLSBIb3cg
Y2FuIEkgcGFyc2UganVzdCBhIGZ1bmN0aW9uPyBbXCMzXShodHRwczovL2dpdGh1Yi5jb20vdzNj
L3dlYmlkbDIuanMvaXNzdWVzLzMpCi0tIFBhcnNlciB0aHJvd3Mgb24gbnVsbGFibGUgYXJyYXkg
b2YgbnVsbGFibGUgYXJyYXkgW1wjMl0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpz
L2lzc3Vlcy8yKQotLSBQYXJzZXIgdGhyb3dzIG9uIG51bGxhYmxlIGFycmF5IG9mIGFueSBbXCMx
XShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvaXNzdWVzLzEpCi0KLSoqTWVyZ2Vk
IHB1bGwgcmVxdWVzdHM6KioKLQotLSBGaXggImRlZmF1bHQiOiB1bmRlZmluZWQgW1wjNDddKGh0
dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9wdWxsLzQ3KSAoW21rd3R5c10oaHR0cHM6
Ly9naXRodWIuY29tL21rd3R5cykpCi0tIFJlcGxhY2UgZXhwZWN0LmpzIHdpdGggZXhwY3QgW1wj
NDVdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9wdWxsLzQ1KSAoW2hhbHRvbl0o
aHR0cHM6Ly9naXRodWIuY29tL2hhbHRvbikpCi0tIENvcnJlY3QganNvbmRpZmZwYXRjaCBsb2Nh
dGlvbi4gW1wjNDRdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9wdWxsLzQ0KSAo
W2hhbHRvbl0oaHR0cHM6Ly9naXRodWIuY29tL2hhbHRvbikpCi0tIEJ1bXAgbWljcm90aW1lIHRv
IDIuMS4xIFtcIzQzXShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvcHVsbC80Mykg
KFtoYWx0b25dKGh0dHBzOi8vZ2l0aHViLmNvbS9oYWx0b24pKQotLSBFeHBhbmQgd3JpdGVyIHN1
cHBvcnQgW1wjMzldKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9wdWxsLzM5KSAo
W21hcmthbmRydXNdKGh0dHBzOi8vZ2l0aHViLmNvbS9tYXJrYW5kcnVzKSkKLS0gQWNjZXB0IHdp
ZGVyIFwoYnV0IHN0aWxsIGluY29tcGxldGVcKSBzZXQgb2YgYWxsb3dlZCBzeW50YXggZm9yIGV4
dGVuZGVkIGF0dHJpYnV0ZXMgW1wjMzddKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5q
cy9wdWxsLzM3KSAoW21sb2dhbl0oaHR0cHM6Ly9naXRodWIuY29tL21sb2dhbikpCi0tIEFkZCB0
ZXN0IGZvciBjYWxsYmFjayB3aXRoIG11bHRpcGxlIGFyZ3VtZW50cy4gW1wjMzZdKGh0dHBzOi8v
Z2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9wdWxsLzM2KSAoW3RvYmllXShodHRwczovL2dpdGh1
Yi5jb20vdG9iaWUpKQotLSBJdGVyYWJsZXMgW1wjMzRdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mv
d2ViaWRsMi5qcy9wdWxsLzM0KSAoW21vdGl6ODhdKGh0dHBzOi8vZ2l0aHViLmNvbS9tb3Rpejg4
KSkKLS0gQWxsb3cgdHJhaWxpbmcgY29tbWEgaW4gZW51bSB2YWx1ZSBsaXN0cywgcGVyIHNwZWMg
W1wjMzNdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9wdWxsLzMzKSAoW21vdGl6
ODhdKGh0dHBzOi8vZ2l0aHViLmNvbS9tb3Rpejg4KSkKLS0gQWxsb3cgdHlwZWRlZnMgd2l0aGlu
IGludGVyZmFjZXMgXChiZWhpbmQgYW4gb3B0LWluIGZsYWdcKSBbXCMzMl0oaHR0cHM6Ly9naXRo
dWIuY29tL3czYy93ZWJpZGwyLmpzL3B1bGwvMzIpIChbbW90aXo4OF0oaHR0cHM6Ly9naXRodWIu
Y29tL21vdGl6ODgpKQotLSBJbiBkcmFmdCBbXCMzMV0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93
ZWJpZGwyLmpzL3B1bGwvMzEpIChbb3RocmVlXShodHRwczovL2dpdGh1Yi5jb20vb3RocmVlKSkK
LS0gQWRkIHN1cHBvcnQgZm9yIGV4dGVuZGVkIGF0dHJpYnV0ZXMgaWRlbnRpZmllciBsaXN0cyBb
XCMyOV0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL3B1bGwvMjkpIChbdG9iaWVd
KGh0dHBzOi8vZ2l0aHViLmNvbS90b2JpZSkpCi0tIE1ha2UgYGF0dHJpYnV0ZSBQcm9taXNlXDxU
XD5cW1xdIGF0dHI7YCB3b3JrLiBbXCMyNl0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwy
LmpzL3B1bGwvMjYpIChbanlhc3NraW5dKGh0dHBzOi8vZ2l0aHViLmNvbS9qeWFzc2tpbikpCi0t
IFBhcnNlIHJlcXVpcmVkIGRpY3Rpb25hcnkgZmllbGRzLiBbXCMyNV0oaHR0cHM6Ly9naXRodWIu
Y29tL3czYy93ZWJpZGwyLmpzL3B1bGwvMjUpIChbanlhc3NraW5dKGh0dHBzOi8vZ2l0aHViLmNv
bS9qeWFzc2tpbikpCi0tIERlZmluZSB0aGUgV2ViSURMMiBwcm9wZXJ0eSBvbiBzZWxmIHJhdGhl
ciB0aGFuIHdpbmRvdy4gW1wjMjNdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9w
dWxsLzIzKSAoW01zMmdlcl0oaHR0cHM6Ly9naXRodWIuY29tL01zMmdlcikpCi0tIFRlYWNoIFdl
YklETDIgdG8gcGFyc2UgXFtcXSBkZWZhdWx0IHZhbHVlcy4gW1wjMjJdKGh0dHBzOi8vZ2l0aHVi
LmNvbS93M2Mvd2ViaWRsMi5qcy9wdWxsLzIyKSAoW2p5YXNza2luXShodHRwczovL2dpdGh1Yi5j
b20vanlhc3NraW4pKQotLSBTdXBwb3J0IElEIGxpc3QgaW4gZXh0ZW5kZWQgYXR0cmlidXRlcyBb
XCMyMF0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL3B1bGwvMjApIChbb3RocmVl
XShodHRwczovL2dpdGh1Yi5jb20vb3RocmVlKSkKLS0gTWFrZSBzdXJlIHRoYXQgYHNlcXVlbmNl
YCBwcm9wZXJ0eSBvZiBpZGwgdHlwZXMgaXMgc2V0IHRvIGZhbHNlIGlmIHRoZSB0eXBlIGlzIGFj
dHVhbGx5IGBzZXF1ZW5jZWAuIFtcIzE2XShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIu
anMvcHVsbC8xNikgKFt0b2JpZV0oaHR0cHM6Ly9naXRodWIuY29tL3RvYmllKSkKLS0gUGFyYW1l
dHJpemVkIFtcIzE1XShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvcHVsbC8xNSkg
KFt0b2JpZV0oaHR0cHM6Ly9naXRodWIuY29tL3RvYmllKSkKLS0gQWRkIHByb21pc2Ugc3VwcG9y
dCBbXCMxMl0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL3B1bGwvMTIpIChbdG9i
aWVdKGh0dHBzOi8vZ2l0aHViLmNvbS90b2JpZSkpCi0tIFJlbW92ZSBicm9rZW4gY292ZXJhZ2Ug
c3VwcG9ydCBmcm9tIHRyYXZpcyBmb3Igbm93LiBbXCMxMV0oaHR0cHM6Ly9naXRodWIuY29tL3cz
Yy93ZWJpZGwyLmpzL3B1bGwvMTEpIChbdG9iaWVdKGh0dHBzOi8vZ2l0aHViLmNvbS90b2JpZSkp
Ci0tIEFkZCBzdXBwb3J0IGZvciBcW01hcENsYXNzXCh0eXBlLCB0eXBlXClcXS4gW1wjMTBdKGh0
dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9wdWxsLzEwKSAoW3RvYmllXShodHRwczov
L2dpdGh1Yi5jb20vdG9iaWUpKQotLSBJbmNvcnBvcmF0ZSB0ZXN0cyBmcm9tIHdpZGxwcm9jXFsx
XF0gYW5kIHJlbW92ZSBkZXBlbmRlbmN5IG9uIHNhaWQgcHJvamVjdC4gW1wjOV0oaHR0cHM6Ly9n
aXRodWIuY29tL3czYy93ZWJpZGwyLmpzL3B1bGwvOSkgKFt0b2JpZV0oaHR0cHM6Ly9naXRodWIu
Y29tL3RvYmllKSkKLS0gUkVBRE1FIGluY29ycmVjdGx5IHJlY29tbWVuZGVkIHVwZGF0aW5nIHRo
ZSB3aWRscHJvYyBzdWJtb2R1bGUuIFtcIzhdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRs
Mi5qcy9wdWxsLzgpIChbdG9iaWVdKGh0dHBzOi8vZ2l0aHViLmNvbS90b2JpZSkpCi0tIEZpeCBi
dWcgd2hlcmUgaW5zdHJ1bWVudGVkIHZlcnNpb24gb2Ygd2ViaWRsMiB3YXMgbG9hZGVkLiBbXCM2
XShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvcHVsbC82KSAoW3RvYmllXShodHRw
czovL2dpdGh1Yi5jb20vdG9iaWUpKQotLSBVc2UgaHR0cHM6Ly8gaW5zdGVhZCBvZiBnaXQ6Ly8g
W1wjNF0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL3B1bGwvNCkgKFtNYW5pc2hl
YXJ0aF0oaHR0cHM6Ly9naXRodWIuY29tL01hbmlzaGVhcnRoKSkKLQotCi0KLVwqICpUaGlzIENo
YW5nZSBMb2cgd2FzIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGJ5IFtnaXRodWJfY2hhbmdlbG9n
X2dlbmVyYXRvcl0oaHR0cHM6Ly9naXRodWIuY29tL3NreXdpbmRlci9HaXRodWItQ2hhbmdlbG9n
LUdlbmVyYXRvcikqClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi9MSUNFTlNFIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi9MSUNFTlNFCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBm
ZDIxZDQzOWIwOWE4ZDA4ZDE1NjI1NTNlNDZiOWM5OTNjNDZjMTAzLi4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvTElDRU5TRQorKysgL2Rldi9udWxs
CkBAIC0xLDIxICswLDAgQEAKLVRoZSBNSVQgTGljZW5zZSAoTUlUKQotCi1Db3B5cmlnaHQgKGMp
IDIwMTQgUm9iaW4gQmVyam9uCi0KLVBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUg
b2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHkKLW9mIHRoaXMgc29mdHdh
cmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlICJTb2Z0d2FyZSIpLCB0
byBkZWFsCi1pbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdp
dGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzCi10byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2Us
IHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsCi1jb3BpZXMgb2Yg
dGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUg
aXMKLWZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnM6Ci0KLVRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90
aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbAotY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRp
b25zIG9mIHRoZSBTb2Z0d2FyZS4KLQotVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIs
IFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1IKLUlNUExJRUQsIElOQ0xV
RElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
LAotRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4g
SU4gTk8gRVZFTlQgU0hBTEwgVEhFCi1BVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJ
QUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSCi1MSUFCSUxJVFksIFdIRVRIRVIg
SU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9N
LAotT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBP
UiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKLVNPRlRXQVJFLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi9SRUFE
TUUubWQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL1JFQURNRS5tZApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWE4
ZjNmOGU5YzFkZmJlODk3ZThhNmQ4MjY3Y2Y4OWVjMDBjYjIwYS4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL1JFQURNRS5tZAorKysgL2Rldi9udWxs
CkBAIC0xLDYyOSArMCwwIEBACi0KLSMgV2ViSURMIDIKLQotWyFbTlBNIHZlcnNpb25dKGh0dHBz
Oi8vYmFkZ2UuZnVyeS5pby9qcy93ZWJpZGwyLnN2ZyldKGh0dHA6Ly9iYWRnZS5mdXJ5LmlvL2pz
L3dlYmlkbDIpCi0KLSMjIFB1cnBvc2UKLQotVGhpcyBpcyBhIHBhcnNlciBmb3IgdGhlIFtXZWJJ
RExdKGh0dHA6Ly9kZXYudzMub3JnLzIwMDYvd2ViYXBpL1dlYklETC8pIGxhbmd1YWdlLiBJZgot
eW91IGRvbid0IGtub3cgd2hhdCB0aGF0IGlzLCB0aGVuIHlvdSBwcm9iYWJseSBkb24ndCBuZWVk
IGl0LiBJdCBpcyBtZWFudCB0byBiZSB1c2VkCi1ib3RoIGluIE5vZGUgYW5kIGluIHRoZSBicm93
c2VyICh0aGUgcGFyc2VyIGxpa2VseSB3b3JrcyBpbiBvdGhlciBKUyBlbnZpcm9ubWVudHMsIGJ1
dAotbm90IHRoZSB0ZXN0IHN1aXRlKS4KLQotIyMgSW5zdGFsbGF0aW9uCi0KLUp1c3QgdGhlIHVz
dWFsLiBGb3IgTm9kZToKLQotYGBgQmFzaAotbnBtIGluc3RhbGwgd2ViaWRsMgotYGBgCi0KLUlu
IHRoZSBicm93c2VyOgotCi1gYGBIVE1MCi08c2NyaXB0IHNyYz0nd2ViaWRsMi5qcyc+PC9zY3Jp
cHQ+Ci1gYGAKLQotIyMgRG9jdW1lbnRhdGlvbgotCi1UaGUgQVBJIHRvIFdlYklETDIgaXMgdHJp
dmlhbDogeW91IHBhcnNlIGEgc3RyaW5nIG9mIFdlYklETCBhbmQgaXQgcmV0dXJucyBhIHN5bnRh
eCB0cmVlLgotCi0jIyMgUGFyc2luZwotCi1JbiBOb2RlLCB0aGF0IGhhcHBlbnMgd2l0aDoKLQot
YGBgSlMKLXZhciBXZWJJREwyID0gcmVxdWlyZSgid2ViaWRsMiIpOwotdmFyIHRyZWUgPSBXZWJJ
REwyLnBhcnNlKCJzdHJpbmcgb2YgV2ViSURMIik7Ci1gYGAKLQotSW4gdGhlIGJyb3dzZXI6Ci1g
YGBIVE1MCi08c2NyaXB0IHNyYz0nd2ViaWRsMi5qcyc+PC9zY3JpcHQ+Ci08c2NyaXB0PgotICB2
YXIgdHJlZSA9IFdlYklETDIucGFyc2UoInN0cmluZyBvZiBXZWJJREwiKTsKLTwvc2NyaXB0Pgot
YGBgCi0KLSMjIyBFcnJvcnMKLQotV2hlbiB0aGVyZSBpcyBhIHN5bnRheCBlcnJvciBpbiB0aGUg
V2ViSURMLCBpdCB0aHJvd3MgYW4gZXhjZXB0aW9uIG9iamVjdCB3aXRoIHRoZSBmb2xsb3dpbmcK
LXByb3BlcnRpZXM6Ci0KLSogYG1lc3NhZ2VgOiB0aGUgZXJyb3IgbWVzc2FnZQotKiBgbGluZWA6
IHRoZSBsaW5lIGF0IHdoaWNoIHRoZSBlcnJvciBvY2N1cnJlZC4KLSogYGlucHV0YDogYSBzaG9y
dCBwZWVrIGF0IHRoZSB0ZXh0IGF0IHRoZSBwb2ludCB3aGVyZSB0aGUgZXJyb3IgaGFwcGVuZWQK
LSogYHRva2Vuc2A6IHRoZSBmaXZlIHRva2VucyBhdCB0aGUgcG9pbnQgb2YgZXJyb3IsIGFzIHVu
ZGVyc3Rvb2QgYnkgdGhlIHRva2VuaXNlcgotICAodGhpcyBpcyB0aGUgc2FtZSBjb250ZW50IGFz
IGBpbnB1dGAsIGJ1dCBzZWVuIGZyb20gdGhlIHRva2VuaXNlcidzIHBvaW50IG9mIHZpZXcpCi0K
LVRoZSBleGNlcHRpb24gYWxzbyBoYXMgYSBgdG9TdHJpbmcoKWAgbWV0aG9kIHRoYXQgaG9wZWZ1
bGx5IHNob3VsZCBwcm9kdWNlIGEgZGVjZW50Ci1lcnJvciBtZXNzYWdlLgotCi0jIyMgQVNUIChB
YnN0cmFjdCBTeW50YXggVHJlZSkKLQotVGhlIGBwYXJzZSgpYCBtZXRob2QgcmV0dXJucyBhIHRy
ZWUgb2JqZWN0IHJlcHJlc2VudGluZyB0aGUgcGFyc2UgdHJlZSBvZiB0aGUgSURMLgotQ29tbWVu
dCBhbmQgd2hpdGUgc3BhY2UgYXJlIG5vdCByZXByZXNlbnRlZCBpbiB0aGUgQVNULgotCi1UaGUg
cm9vdCBvZiB0aGlzIG9iamVjdCBpcyBhbHdheXMgYW4gYXJyYXkgb2YgZGVmaW5pdGlvbnMgKHdo
ZXJlIGRlZmluaXRpb25zIGFyZQotYW55IG9mIGludGVyZmFjZXMsIGRpY3Rpb25hcmllcywgY2Fs
bGJhY2tzLCBldGMuIOKAlCBhbnl0aGluZyB0aGF0IGNhbiBvY2N1ciBhdCB0aGUgcm9vdAotb2Yg
dGhlIElETCkuCi0KLSMjIyBJREwgVHlwZQotCi1UaGlzIHN0cnVjdHVyZSBpcyB1c2VkIGluIG1h
bnkgb3RoZXIgcGxhY2VzIChvcGVyYXRpb24gcmV0dXJuIHR5cGVzLCBhcmd1bWVudCB0eXBlcywg
ZXRjLikuCi1JdCBjYXB0dXJlcyBhIFdlYklETCB0eXBlIHdpdGggYSBudW1iZXIgb2Ygb3B0aW9u
cy4gVHlwZXMgbG9vayBsaWtlIHRoaXMgYW5kIGFyZSB0eXBpY2FsbHkKLWF0dGFjaGVkIHRvIGEg
ZmllbGQgY2FsbGVkIGBpZGxUeXBlYDoKLQotYGBgSlMKLXsKLSAgInR5cGUiOiAiYXR0cmlidXRl
LXR5cGUiLAotICAiZ2VuZXJpYyI6IG51bGwsCi0gICJpZGxUeXBlIjogInVuc2lnbmVkIHNob3J0
IiwKLSAgIm51bGxhYmxlIjogZmFsc2UsCi0gICJ1bmlvbiI6IGZhbHNlLAotICAiZXh0QXR0cnMi
OiBbLi4uXQotfQotYGBgCi0KLVdoZXJlIHRoZSBmaWVsZHMgYXJlIGFzIGZvbGxvd3M6Ci0KLSog
YHR5cGVgOiBTdHJpbmcgaW5kaWNhdGluZyB3aGVyZSB0aGlzIHR5cGUgaXMgdXNlZC4gQ2FuIGJl
IGBudWxsYCBpZiBub3QgYXBwbGljYWJsZS4KLSogYGdlbmVyaWNgOiBTdHJpbmcgaW5kaWNhdGlu
ZyB0aGUgZ2VuZXJpYyB0eXBlIChlLmcuICJQcm9taXNlIiwgInNlcXVlbmNlIikuIGBudWxsYAot
ICBvdGhlcndpc2UuCi0qIGBpZGxUeXBlYDogQ2FuIGJlIGRpZmZlcmVudCB0aGluZ3MgZGVwZW5k
aW5nIG9uIGNvbnRleHQuIEluIG1vc3QgY2FzZXMsIHRoaXMgd2lsbCBqdXN0Ci0gIGJlIGEgc3Ry
aW5nIHdpdGggdGhlIHR5cGUgbmFtZS4gQnV0IHRoZSByZWFzb24gdGhpcyBmaWVsZCBpc24ndCBj
YWxsZWQgInR5cGVOYW1lIiBpcwotICBiZWNhdXNlIGl0IGNhbiB0YWtlIG1vcmUgY29tcGxleCB2
YWx1ZXMuIElmIHRoZSB0eXBlIGlzIGEgdW5pb24sIHRoZW4gdGhpcyBjb250YWlucyBhbgotICBh
cnJheSBvZiB0aGUgdHlwZXMgaXQgdW5pdGVzLiBJZiBpdCBpcyBhIGdlbmVyaWMgdHlwZSwgaXQg
Y29udGFpbnMgdGhlIElETCB0eXBlCi0gIGRlc2NyaXB0aW9uIGZvciB0aGUgdHlwZSBpbiB0aGUg
c2VxdWVuY2UsIHRoZSBldmVudHVhbCB2YWx1ZSBvZiB0aGUgcHJvbWlzZSwgZXRjLgotKiBgbnVs
bGFibGVgOiBCb29sZWFuIGluZGljYXRpbmcgd2hldGhlciB0aGlzIGlzIG51bGxhYmxlIG9yIG5v
dC4KLSogYHVuaW9uYDogQm9vbGVhbiBpbmRpY2F0aW5nIHdoZXRoZXIgdGhpcyBpcyBhIHVuaW9u
IHR5cGUgb3Igbm90LgotKiBgZXh0QXR0cnNgOiBBIGxpc3Qgb2YgW2V4dGVuZGVkIGF0dHJpYnV0
ZXNdKCNleHRlbmRlZC1hdHRyaWJ1dGVzKS4KLQotIyMjIEludGVyZmFjZQotCi1JbnRlcmZhY2Vz
IGxvb2sgbGlrZSB0aGlzOgotCi1gYGBKUwotewotICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAi
bmFtZSI6ICJBbmltYWwiLAotICAicGFydGlhbCI6IGZhbHNlLAotICAibWVtYmVycyI6IFsuLi5d
LAotICAiaW5oZXJpdGFuY2UiOiBudWxsLAotICAiZXh0QXR0cnMiOiBbLi4uXQotfSwgewotICAi
dHlwZSI6ICJpbnRlcmZhY2UiLAotICAibmFtZSI6ICJIdW1hbiIsCi0gICJwYXJ0aWFsIjogZmFs
c2UsCi0gICJtZW1iZXJzIjogWy4uLl0sCi0gICJpbmhlcml0YW5jZSI6ICJBbmltYWwiLAotICAi
ZXh0QXR0cnMiOiBbLi4uXQotfQotYGBgCi0KLVRoZSBmaWVsZHMgYXJlIGFzIGZvbGxvd3M6Ci0K
LSogYHR5cGVgOiBBbHdheXMgImludGVyZmFjZSIuCi0qIGBuYW1lYDogVGhlIG5hbWUgb2YgdGhl
IGludGVyZmFjZS4KLSogYHBhcnRpYWxgOiBBIGJvb2xlYW4gaW5kaWNhdGluZyB3aGV0aGVyIGl0
J3MgYSBwYXJ0aWFsIGludGVyZmFjZS4KLSogYG1lbWJlcnNgOiBBbiBhcnJheSBvZiBpbnRlcmZh
Y2UgbWVtYmVycyAoYXR0cmlidXRlcywgb3BlcmF0aW9ucywgZXRjLikuIEVtcHR5IGlmIHRoZXJl
IGFyZSBub25lLgotKiBgaW5oZXJpdGFuY2VgOiBBIHN0cmluZyBnaXZpbmcgdGhlIG5hbWUgb2Yg
YW4gaW50ZXJmYWNlIHRoaXMgb25lIGluaGVyaXRzIGZyb20sIGBudWxsYCBvdGhlcndpc2UuCi0g
ICoqTk9URSoqOiBJbiB2MSB0aGlzIHdhcyBhbiBhcnJheSwgYnV0IG11bHRpcGxlIGluaGVyaXRh
bmNlIGlzIG5vIGxvbmdlciBzdXBwb3J0ZWQgc28gdGhpcyBkaWRuJ3QgbWFrZQotICBzZW5zZS4K
LSogYGV4dEF0dHJzYDogQSBsaXN0IG9mIFtleHRlbmRlZCBhdHRyaWJ1dGVzXSgjZXh0ZW5kZWQt
YXR0cmlidXRlcykuCi0KLSMjIyBJbnRlcmZhY2UgbWl4aW5zCi0KLUludGVyZmFjZXMgbWl4aW5z
IGxvb2sgbGlrZSB0aGlzOgotCi1gYGBKUwotewotICAidHlwZSI6ICJpbnRlcmZhY2UgbWl4aW4i
LAotICAibmFtZSI6ICJBbmltYWwiLAotICAicGFydGlhbCI6IGZhbHNlLAotICAibWVtYmVycyI6
IFsuLi5dLAotICAiZXh0QXR0cnMiOiBbLi4uXQotfSwgewotICAidHlwZSI6ICJpbnRlcmZhY2Ug
bWl4aW4iLAotICAibmFtZSI6ICJIdW1hbiIsCi0gICJwYXJ0aWFsIjogZmFsc2UsCi0gICJtZW1i
ZXJzIjogWy4uLl0sCi0gICJleHRBdHRycyI6IFsuLi5dCi19Ci1gYGAKLQotVGhlIGZpZWxkcyBh
cmUgYXMgZm9sbG93czoKLQotKiBgdHlwZWA6IEFsd2F5cyAiaW50ZXJmYWNlIG1peGluIi4KLSog
YG5hbWVgOiBUaGUgbmFtZSBvZiB0aGUgaW50ZXJmYWNlIG1peGluLgotKiBgcGFydGlhbGA6IEEg
Ym9vbGVhbiBpbmRpY2F0aW5nIHdoZXRoZXIgaXQncyBhIHBhcnRpYWwgaW50ZXJmYWNlIG1peGlu
LgotKiBgbWVtYmVyc2A6IEFuIGFycmF5IG9mIGludGVyZmFjZSBtZW1iZXJzIChhdHRyaWJ1dGVz
LCBvcGVyYXRpb25zLCBldGMuKS4gRW1wdHkgaWYgdGhlcmUgYXJlIG5vbmUuCi0qIGBleHRBdHRy
c2A6IEEgbGlzdCBvZiBbZXh0ZW5kZWQgYXR0cmlidXRlc10oI2V4dGVuZGVkLWF0dHJpYnV0ZXMp
LgotCi0jIyMgTmFtZXNwYWNlCi0KLU5hbWVzcGFjZXMgbG9vayBsaWtlIHRoaXM6Ci0KLWBgYEpT
Ci17Ci0gICJ0eXBlIjogIm5hbWVzcGFjZSIsCi0gICJuYW1lIjogIkNvbnNvbGUiLAotICAicGFy
dGlhbCI6IGZhbHNlLAotICAibWVtYmVycyI6IFsuLi5dLAotICAiZXh0QXR0cnMiOiBbLi4uXQot
fQotYGBgCi0KLVRoZSBmaWVsZHMgYXJlIGFzIGZvbGxvd3M6Ci0KLSogYHR5cGVgOiBBbHdheXMg
Im5hbWVzcGFjZSIuCi0qIGBuYW1lYDogVGhlIG5hbWUgb2YgdGhlIG5hbWVzcGFjZS4KLSogYHBh
cnRpYWxgOiBBIGJvb2xlYW4gaW5kaWNhdGluZyB3aGV0aGVyIGl0J3MgYSBwYXJ0aWFsIG5hbWVz
cGFjZS4KLSogYG1lbWJlcnNgOiBBbiBhcnJheSBvZiBuYW1lc3BhY2UgbWVtYmVycyAoYXR0cmli
dXRlcyBhbmQgb3BlcmF0aW9ucykuIEVtcHR5IGlmIHRoZXJlIGFyZSBub25lLgotKiBgZXh0QXR0
cnNgOiBBIGxpc3Qgb2YgW2V4dGVuZGVkIGF0dHJpYnV0ZXNdKCNleHRlbmRlZC1hdHRyaWJ1dGVz
KS4KLQotIyMjIENhbGxiYWNrIEludGVyZmFjZXMKLQotVGhlc2UgYXJlIGNhcHR1cmVkIGJ5IHRo
ZSBzYW1lIHN0cnVjdHVyZSBhcyBbSW50ZXJmYWNlc10oI2ludGVyZmFjZSkgZXhjZXB0IHRoYXQK
LXRoZWlyIGB0eXBlYCBmaWVsZCBpcyAiY2FsbGJhY2sgaW50ZXJmYWNlIi4KLQotIyMjIENhbGxi
YWNrCi0KLUEgY2FsbGJhY2sgbG9va3MgbGlrZSB0aGlzOgotCi1gYGBKUwotewotICAidHlwZSI6
ICJjYWxsYmFjayIsCi0gICJuYW1lIjogIkFzeW5jT3BlcmF0aW9uQ2FsbGJhY2siLAotICAiaWRs
VHlwZSI6IHsKLSAgICAidHlwZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAgInNlcXVlbmNlIjogZmFs
c2UsCi0gICAgImdlbmVyaWMiOiBudWxsLAotICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICJ1
bmlvbiI6IGZhbHNlLAotICAgICJpZGxUeXBlIjogInZvaWQiLAotICAgICJleHRBdHRycyI6IFtd
Ci0gIH0sCi0gICJhcmd1bWVudHMiOiBbLi4uXSwKLSAgImV4dEF0dHJzIjogW10KLX0KLWBgYAot
Ci1UaGUgZmllbGRzIGFyZSBhcyBmb2xsb3dzOgotCi0qIGB0eXBlYDogQWx3YXlzICJjYWxsYmFj
ayIuCi0qIGBuYW1lYDogVGhlIG5hbWUgb2YgdGhlIGNhbGxiYWNrLgotKiBgaWRsVHlwZWA6IEFu
IFtJREwgVHlwZV0oI2lkbC10eXBlKSBkZXNjcmliaW5nIHdoYXQgdGhlIGNhbGxiYWNrIHJldHVy
bnMuCi0qIGBhcmd1bWVudHNgOiBBIGxpc3Qgb2YgW2FyZ3VtZW50c10oI2FyZ3VtZW50cyksIGFz
IGluIGZ1bmN0aW9uIHBhcmFtdGVycy4KLSogYGV4dEF0dHJzYDogQSBsaXN0IG9mIFtleHRlbmRl
ZCBhdHRyaWJ1dGVzXSgjZXh0ZW5kZWQtYXR0cmlidXRlcykuCi0KLSMjIyBEaWN0aW9uYXJ5Ci0K
LUEgZGljdGlvbmFyeSBsb29rcyBsaWtlIHRoaXM6Ci0KLWBgYEpTCi17Ci0gICJ0eXBlIjogImRp
Y3Rpb25hcnkiLAotICAibmFtZSI6ICJQYWludE9wdGlvbnMiLAotICAicGFydGlhbCI6IGZhbHNl
LAotICAibWVtYmVycyI6IFt7Ci0gICAgInR5cGUiOiAiZmllbGQiLAotICAgICJuYW1lIjogImZp
bGxQYXR0ZXJuIiwKLSAgICAicmVxdWlyZWQiOiBmYWxzZSwKLSAgICAiaWRsVHlwZSI6IHsKLSAg
ICAgICJ0eXBlIjogImRpY3Rpb25hcnktdHlwZSIsCi0gICAgICAic2VxdWVuY2UiOiBmYWxzZSwK
LSAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICJudWxsYWJsZSI6IHRydWUsCi0gICAgICAi
dW5pb24iOiBmYWxzZSwKLSAgICAgICJpZGxUeXBlIjogIkRPTVN0cmluZyIsCi0gICAgICAiZXh0
QXR0cnMiOiBbLi4uXQotICAgIH0sCi0gICAgImV4dEF0dHJzIjogW10sCi0gICAgImRlZmF1bHQi
OiB7Ci0gICAgICAidHlwZSI6ICJzdHJpbmciLAotICAgICAgInZhbHVlIjogImJsYWNrIgotICAg
IH0KLSAgfV0sCi0gICJpbmhlcml0YW5jZSI6IG51bGwsCi0gICJleHRBdHRycyI6IFtdCi19Ci1g
YGAKLQotVGhlIGZpZWxkcyBhcmUgYXMgZm9sbG93czoKLQotKiBgdHlwZWA6IEFsd2F5cyAiZGlj
dGlvbmFyeSIuCi0qIGBuYW1lYDogVGhlIGRpY3Rpb25hcnkgbmFtZS4KLSogYHBhcnRpYWxgOiBC
b29sZWFuIGluZGljYXRpbmcgd2hldGhlciBpdCdzIGEgcGFydGlhbCBkaWN0aW9uYXJ5LgotKiBg
bWVtYmVyc2A6IEFuIGFycmF5IG9mIG1lbWJlcnMgKHNlZSBiZWxvdykuCi0qIGBpbmhlcml0YW5j
ZWA6IEEgc3RyaW5nIGluZGljYXRpbmcgd2hpY2ggZGljdGlvbmFyeSBpcyBiZWluZyBpbmhlcml0
ZWQgZnJvbSwgYG51bGxgIG90aGVyd2lzZS4KLSogYGV4dEF0dHJzYDogQSBsaXN0IG9mIFtleHRl
bmRlZCBhdHRyaWJ1dGVzXSgjZXh0ZW5kZWQtYXR0cmlidXRlcykuCi0KLUFsbCB0aGUgbWVtYmVy
cyBhcmUgZmllbGRzIGFzIGZvbGxvd3M6Ci0KLSogYHR5cGVgOiBBbHdheXMgImZpZWxkIi4KLSog
YG5hbWVgOiBUaGUgbmFtZSBvZiB0aGUgZmllbGQuCi0qIGByZXF1aXJlZGA6IEJvb2xlYW4gaW5k
aWNhdGluZyB3aGV0aGVyIHRoaXMgaXMgYSBbcmVxdWlyZWRdKGh0dHBzOi8vaGV5Y2FtLmdpdGh1
Yi5pby93ZWJpZGwvI3JlcXVpcmVkLWRpY3Rpb25hcnktbWVtYmVyKSBmaWVsZC4KLSogYGlkbFR5
cGVgOiBBbiBbSURMIFR5cGVdKCNpZGwtdHlwZSkgZGVzY3JpYmluZyB3aGF0IGZpZWxkJ3MgdHlw
ZS4KLSogYGV4dEF0dHJzYDogQSBsaXN0IG9mIFtleHRlbmRlZCBhdHRyaWJ1dGVzXSgjZXh0ZW5k
ZWQtYXR0cmlidXRlcykuCi0qIGBkZWZhdWx0YDogQSBbZGVmYXVsdCB2YWx1ZV0oI2RlZmF1bHQt
YW5kLWNvbnN0LXZhbHVlcyksIGFic2VudCBpZiB0aGVyZSBpcyBub25lLgotCi0jIyMgRW51bQot
Ci1BbiBlbnVtIGxvb2tzIGxpa2UgdGhpczoKLQotYGBgSlMKLXsKLSAgInR5cGUiOiAiZW51bSIs
Ci0gICJuYW1lIjogIk1lYWxUeXBlIiwKLSAgInZhbHVlcyI6IFsKLSAgICB7ICJ0eXBlIjogInN0
cmluZyIsICJ2YWx1ZSI6ICJyaWNlIiB9LAotICAgIHsgInR5cGUiOiAic3RyaW5nIiwgInZhbHVl
IjogIm5vb2RsZXMiIH0sCi0gICAgeyAidHlwZSI6ICJzdHJpbmciLCAidmFsdWUiOiAib3RoZXIi
IH0KLSAgXSwKLSAgImV4dEF0dHJzIjogW10KLX0KLWBgYAotCi1UaGUgZmllbGRzIGFyZSBhcyBm
b2xsb3dzOgotCi0qIGB0eXBlYDogQWx3YXlzICJlbnVtIi4KLSogYG5hbWVgOiBUaGUgZW51bSdz
IG5hbWUuCi0qIGB2YWx1ZXNgOiBBbiBhcnJheSBvZiB2YWx1ZXMuCi0qIGBleHRBdHRyc2A6IEEg
bGlzdCBvZiBbZXh0ZW5kZWQgYXR0cmlidXRlc10oI2V4dGVuZGVkLWF0dHJpYnV0ZXMpLgotCi0j
IyMgVHlwZWRlZgotCi1BIHR5cGVkZWYgbG9va3MgbGlrZSB0aGlzOgotCi1gYGBKUwotewotICAi
dHlwZSI6ICJ0eXBlZGVmIiwKLSAgImlkbFR5cGUiOiB7Ci0gICAgInR5cGUiOiAidHlwZWRlZi10
eXBlIiwKLSAgICAic2VxdWVuY2UiOiB0cnVlLAotICAgICJnZW5lcmljIjogInNlcXVlbmNlIiwK
LSAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAidW5pb24iOiBmYWxzZSwKLSAgICAiaWRsVHlw
ZSI6IHsKLSAgICAgICJ0eXBlIjogInR5cGVkZWYtdHlwZSIsCi0gICAgICAic2VxdWVuY2UiOiBm
YWxzZSwKLSAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICJudWxsYWJsZSI6IGZhbHNlLAot
ICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAiaWRsVHlwZSI6ICJQb2ludCIsCi0gICAgICAi
ZXh0QXR0cnMiOiBbLi4uXQotICAgIH0sCi0gICAgImV4dEF0dHJzIjogWy4uLl0KLSAgfSwKLSAg
Im5hbWUiOiAiUG9pbnRTZXF1ZW5jZSIsCi0gICJleHRBdHRycyI6IFtdCi19Ci1gYGAKLQotCi1U
aGUgZmllbGRzIGFyZSBhcyBmb2xsb3dzOgotCi0qIGB0eXBlYDogQWx3YXlzICJ0eXBlZGVmIi4K
LSogYG5hbWVgOiBUaGUgdHlwZWRlZidzIG5hbWUuCi0qIGBpZGxUeXBlYDogQW4gW0lETCBUeXBl
XSgjaWRsLXR5cGUpIGRlc2NyaWJpbmcgd2hhdCB0eXBlZGVmJ3MgdHlwZS4KLSogYGV4dEF0dHJz
YDogQSBsaXN0IG9mIFtleHRlbmRlZCBhdHRyaWJ1dGVzXSgjZXh0ZW5kZWQtYXR0cmlidXRlcyku
Ci0KLSMjIyBJbXBsZW1lbnRzCi0KLUFuIGltcGxlbWVudHMgZGVmaW5pdGlvbiBsb29rcyBsaWtl
IHRoaXM6Ci0KLWBgYEpTCi17Ci0gICJ0eXBlIjogImltcGxlbWVudHMiLAotICAidGFyZ2V0Ijog
Ik5vZGUiLAotICAiaW1wbGVtZW50cyI6ICJFdmVudFRhcmdldCIsCi0gICJleHRBdHRycyI6IFtd
Ci19Ci1gYGAKLQotVGhlIGZpZWxkcyBhcmUgYXMgZm9sbG93czoKLQotKiBgdHlwZWA6IEFsd2F5
cyAiaW1wbGVtZW50cyIuCi0qIGB0YXJnZXRgOiBUaGUgaW50ZXJmYWNlIHRoYXQgaW1wbGVtZW50
cyBhbm90aGVyLgotKiBgaW1wbGVtZW50c2A6IFRoZSBpbnRlcmZhY2UgdGhhdCBpcyBiZWluZyBp
bXBsZW1lbnRlZCBieSB0aGUgdGFyZ2V0LgotKiBgZXh0QXR0cnNgOiBBIGxpc3Qgb2YgW2V4dGVu
ZGVkIGF0dHJpYnV0ZXNdKCNleHRlbmRlZC1hdHRyaWJ1dGVzKS4KLQotIyMjIEluY2x1ZGVzCi0K
LUFuIGluY2x1ZGVzIGRlZmluaXRpb24gbG9va3MgbGlrZSB0aGlzOgotCi1gYGBKUwotewotICAi
dHlwZSI6ICJpbmNsdWRlcyIsCi0gICJ0YXJnZXQiOiAiTm9kZSIsCi0gICJpbmNsdWRlcyI6ICJF
dmVudFRhcmdldCIsCi0gICJleHRBdHRycyI6IFtdCi19Ci1gYGAKLQotVGhlIGZpZWxkcyBhcmUg
YXMgZm9sbG93czoKLQotKiBgdHlwZWA6IEFsd2F5cyAiaW5jbHVkZXMiLgotKiBgdGFyZ2V0YDog
VGhlIGludGVyZmFjZSB0aGF0IGluY2x1ZGVzIGFuIGludGVyZmFjZSBtaXhpbi4KLSogYGluY2x1
ZGVzYDogVGhlIGludGVyZmFjZSBtaXhpbiB0aGF0IGlzIGJlaW5nIGluY2x1ZGVkIGJ5IHRoZSB0
YXJnZXQuCi0qIGBleHRBdHRyc2A6IEEgbGlzdCBvZiBbZXh0ZW5kZWQgYXR0cmlidXRlc10oI2V4
dGVuZGVkLWF0dHJpYnV0ZXMpLgotCi0jIyMgT3BlcmF0aW9uIE1lbWJlcgotCi1BbiBvcGVyYXRp
b24gbG9va3MgbGlrZSB0aGlzOgotYGBgSlMKLXsKLSAgInR5cGUiOiAib3BlcmF0aW9uIiwKLSAg
ImdldHRlciI6IGZhbHNlLAotICAic2V0dGVyIjogZmFsc2UsCi0gICJkZWxldGVyIjogZmFsc2Us
Ci0gICJzdGF0aWMiOiBmYWxzZSwKLSAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICJpZGxUeXBl
IjogewotICAgICJ0eXBlIjogInJldHVybi10eXBlIiwKLSAgICAic2VxdWVuY2UiOiBmYWxzZSwK
LSAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgInVuaW9u
IjogZmFsc2UsCi0gICAgImlkbFR5cGUiOiAidm9pZCIsCi0gICAgImV4dEF0dHJzIjogW10KLSAg
fSwKLSAgIm5hbWUiOiAiaW50ZXJzZWN0aW9uIiwKLSAgImFyZ3VtZW50cyI6IFt7Ci0gICAgIm9w
dGlvbmFsIjogZmFsc2UsCi0gICAgInZhcmlhZGljIjogdHJ1ZSwKLSAgICAiZXh0QXR0cnMiOiBb
XSwKLSAgICAiaWRsVHlwZSI6IHsKLSAgICAgICJ0eXBlIjogImFyZ3VtZW50LXR5cGUiLAotICAg
ICAgInNlcXVlbmNlIjogZmFsc2UsCi0gICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAibnVs
bGFibGUiOiBmYWxzZSwKLSAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgImlkbFR5cGUiOiAi
bG9uZyIsCi0gICAgICAiZXh0QXR0cnMiOiBbLi4uXQotICAgIH0sCi0gICAgIm5hbWUiOiAiaW50
cyIKLSAgfV0sCi0gICJleHRBdHRycyI6IFtdCi19Ci1gYGAKLQotVGhlIGZpZWxkcyBhcmUgYXMg
Zm9sbG93czoKLQotKiBgdHlwZWA6IEFsd2F5cyAib3BlcmF0aW9uIi4KLSogYGdldHRlcmA6IFRy
dWUgaWYgYSBnZXR0ZXIgb3BlcmF0aW9uLgotKiBgc2V0dGVyYDogVHJ1ZSBpZiBhIHNldHRlciBv
cGVyYXRpb24uCi0qIGBkZWxldGVyYDogVHJ1ZSBpZiBhIGRlbGV0ZXIgb3BlcmF0aW9uLgotKiBg
c3RhdGljYDogVHJ1ZSBpZiBhIHN0YXRpYyBvcGVyYXRpb24uCi0qIGBzdHJpbmdpZmllcmA6IFRy
dWUgaWYgYSBzdHJpbmdpZmllciBvcGVyYXRpb24uCi0qIGBpZGxUeXBlYDogQW4gW0lETCBUeXBl
XSgjaWRsLXR5cGUpIG9mIHdoYXQgdGhlIG9wZXJhdGlvbiByZXR1cm5zLiBJZiBhIHN0cmluZ2lm
aWVyLCBtYXkgYmUgYWJzZW50LgotKiBgbmFtZWA6IFRoZSBuYW1lIG9mIHRoZSBvcGVyYXRpb24u
IElmIGEgc3RyaW5naWZpZXIsIG1heSBiZSBgbnVsbGAuCi0qIGBhcmd1bWVudHNgOiBBbiBhcnJh
eSBvZiBbYXJndW1lbnRzXSgjYXJndW1lbnRzKSBmb3IgdGhlIG9wZXJhdGlvbi4KLSogYGV4dEF0
dHJzYDogQSBsaXN0IG9mIFtleHRlbmRlZCBhdHRyaWJ1dGVzXSgjZXh0ZW5kZWQtYXR0cmlidXRl
cykuCi0KLSMjIyBBdHRyaWJ1dGUgTWVtYmVyCi0KLUFuIGF0dHJpYnV0ZSBtZW1iZXIgbG9va3Mg
bGlrZSB0aGlzOgotCi1gYGBKUwotewotICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAic3RhdGlj
IjogZmFsc2UsCi0gICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAiaW5oZXJpdCI6IGZhbHNlLAot
ICAicmVhZG9ubHkiOiBmYWxzZSwKLSAgImlkbFR5cGUiOiB7Ci0gICAgInR5cGUiOiAiYXR0cmli
dXRlLXR5cGUiLAotICAgICJzZXF1ZW5jZSI6IGZhbHNlLAotICAgICJnZW5lcmljIjogbnVsbCwK
LSAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAidW5pb24iOiBmYWxzZSwKLSAgICAiaWRsVHlw
ZSI6ICJSZWdFeHAiLAotICAgICJleHRBdHRycyI6IFsuLi5dCi0gIH0sCi0gICJuYW1lIjogInJl
Z2V4cCIsCi0gICJleHRBdHRycyI6IFtdCi19Ci1gYGAKLQotVGhlIGZpZWxkcyBhcmUgYXMgZm9s
bG93czoKLQotKiBgdHlwZWA6IEFsd2F5cyAiYXR0cmlidXRlIi4KLSogYG5hbWVgOiBUaGUgYXR0
cmlidXRlJ3MgbmFtZS4KLSogYHN0YXRpY2A6IFRydWUgaWYgaXQncyBhIHN0YXRpYyBhdHRyaWJ1
dGUuCi0qIGBzdHJpbmdpZmllcmA6IFRydWUgaWYgaXQncyBhIHN0cmluZ2lmaWVyIGF0dHJpYnV0
ZS4KLSogYGluaGVyaXRgOiBUcnVlIGlmIGl0J3MgYW4gaW5oZXJpdCBhdHRyaWJ1dGUuCi0qIGBy
ZWFkb25seWA6IFRydWUgaWYgaXQncyBhIHJlYWQtb25seSBhdHRyaWJ1dGUuCi0qIGBpZGxUeXBl
YDogQW4gW0lETCBUeXBlXSgjaWRsLXR5cGUpIGZvciB0aGUgYXR0cmlidXRlLgotKiBgZXh0QXR0
cnNgOiBBIGxpc3Qgb2YgW2V4dGVuZGVkIGF0dHJpYnV0ZXNdKCNleHRlbmRlZC1hdHRyaWJ1dGVz
KS4KLQotIyMjIENvbnN0YW50IE1lbWJlcgotCi1BIGNvbnN0YW50IG1lbWJlciBsb29rcyBsaWtl
IHRoaXM6Ci0KLWBgYEpTCi17Ci0gICJ0eXBlIjogImNvbnN0IiwKLSAgIm51bGxhYmxlIjogZmFs
c2UsCi0gICJpZGxUeXBlIjogewotICAgICJ0eXBlIjogImNvbnN0LXR5cGUiLAotICAgICJzZXF1
ZW5jZSI6IGZhbHNlLAotICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAibnVsbGFibGUiOiBmYWxz
ZSwKLSAgICAidW5pb24iOiBmYWxzZSwKLSAgICAiaWRsVHlwZSI6ICJib29sZWFuIgotICAgICJl
eHRBdHRycyI6IFtdCi0gIH0sCi0gICJuYW1lIjogIkRFQlVHIiwKLSAgInZhbHVlIjogewotICAg
ICJ0eXBlIjogImJvb2xlYW4iLAotICAgICJ2YWx1ZSI6IGZhbHNlCi0gIH0sCi0gICJleHRBdHRy
cyI6IFtdCi19Ci1gYGAKLQotVGhlIGZpZWxkcyBhcmUgYXMgZm9sbG93czoKLQotKiBgdHlwZWA6
IEFsd2F5cyAiY29uc3QiLgotKiBgbnVsbGFibGVgOiBXaGV0aGVyIGl0cyB0eXBlIGlzIG51bGxh
YmxlLgotKiBgaWRsVHlwZWA6IEFuIFtJREwgVHlwZV0oI2lkbC10eXBlKSBvZiB0aGUgY29uc3Rh
bnQgdGhhdCByZXByZXNlbnRzIGEgc2ltcGxlIHR5cGUsIHRoZSB0eXBlIG5hbWUuCi0qIGBuYW1l
YDogVGhlIG5hbWUgb2YgdGhlIGNvbnN0YW50LgotKiBgdmFsdWVgOiBUaGUgY29uc3RhbnQgdmFs
dWUgYXMgZGVzY3JpYmVkIGJ5IFtDb25zdCBWYWx1ZXNdKCNkZWZhdWx0LWFuZC1jb25zdC12YWx1
ZXMpCi0qIGBleHRBdHRyc2A6IEEgbGlzdCBvZiBbZXh0ZW5kZWQgYXR0cmlidXRlc10oI2V4dGVu
ZGVkLWF0dHJpYnV0ZXMpLgotCi0jIyMgQXJndW1lbnRzCi0KLVRoZSBhcmd1bWVudHMgKGUuZy4g
Zm9yIGFuIG9wZXJhdGlvbikgbG9vayBsaWtlIHRoaXM6Ci0KLWBgYEpTCi17Ci0gICJhcmd1bWVu
dHMiOiBbewotICAgICJvcHRpb25hbCI6IGZhbHNlLAotICAgICJ2YXJpYWRpYyI6IHRydWUsCi0g
ICAgImV4dEF0dHJzIjogW10sCi0gICAgImlkbFR5cGUiOiB7Ci0gICAgICAidHlwZSI6ICJhcmd1
bWVudC10eXBlIiwKLSAgICAgICJzZXF1ZW5jZSI6IGZhbHNlLAotICAgICAgImdlbmVyaWMiOiBu
dWxsLAotICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAidW5pb24iOiBmYWxzZSwKLSAg
ICAgICJpZGxUeXBlIjogImxvbmciLAotICAgICAgImV4dEF0dHJzIjogWy4uLl0KLSAgICB9LAot
ICAgICJuYW1lIjogImludHMiCi0gIH1dCi19Ci1gYGAKLQotVGhlIGZpZWxkcyBhcmUgYXMgZm9s
bG93czoKLQotKiBgb3B0aW9uYWxgOiBUcnVlIGlmIHRoZSBhcmd1bWVudCBpcyBvcHRpb25hbC4K
LSogYHZhcmlhZGljYDogVHJ1ZSBpZiB0aGUgYXJndW1lbnQgaXMgdmFyaWFkaWMuCi0qIGBpZGxU
eXBlYDogQW4gW0lETCBUeXBlXSgjaWRsLXR5cGUpIGRlc2NyaWJpbmcgdGhlIHR5cGUgb2YgdGhl
IGFyZ3VtZW50LgotKiBgbmFtZWA6IFRoZSBhcmd1bWVudCdzIG5hbWUuCi0qIGBleHRBdHRyc2A6
IEEgbGlzdCBvZiBbZXh0ZW5kZWQgYXR0cmlidXRlc10oI2V4dGVuZGVkLWF0dHJpYnV0ZXMpLgot
Ci0jIyMgRXh0ZW5kZWQgQXR0cmlidXRlcwotCi1FeHRlbmRlZCBhdHRyaWJ1dGVzIGFyZSBhcnJh
eXMgb2YgaXRlbXMgdGhhdCBsb29rIGxpa2UgdGhpczoKLQotYGBgSlMKLXsKLSAgImV4dEF0dHJz
IjogW3sKLSAgICAibmFtZSI6ICJUcmVhdE51bGxBcyIsCi0gICAgImFyZ3VtZW50cyI6IG51bGws
Ci0gICAgInR5cGUiOiAiZXh0ZW5kZWQtYXR0cmlidXRlIiwKLSAgICAicmhzIjogewotICAgICAg
InR5cGUiOiAiaWRlbnRpZmllciIsCi0gICAgICAidmFsdWUiOiAiRW1wdHlTdHJpbmciCi0gICAg
fQotICB9XQotfQotYGBgCi0KLVRoZSBmaWVsZHMgYXJlIGFzIGZvbGxvd3M6Ci0KLSogYG5hbWVg
OiBUaGUgZXh0ZW5kZWQgYXR0cmlidXRlJ3MgbmFtZS4KLSogYGFyZ3VtZW50c2A6IElmIHRoZSBl
eHRlbmRlZCBhdHRyaWJ1dGUgdGFrZXMgYXJndW1lbnRzIChlLmcuIGBbRm9vKCldYCkgb3IgaWYK
LSAgaXRzIHJpZ2h0LWhhbmQgc2lkZSBkb2VzIChlLmcuIGBbTmFtZWRDb25zdHJ1Y3Rvcj1OYW1l
KERPTVN0cmluZyBibGFoKV1gKSB0aGV5Ci0gIGFyZSBsaXN0ZWQgaGVyZS4gTm90ZSB0aGF0IGFu
IGVtcHR5IGFyZ3VtZW50cyBsaXN0IHdpbGwgcHJvZHVjZSBhbiBlbXB0eSBhcnJheSwKLSAgd2hl
cmVhcyB0aGUgbGFjayB0aGVyZW9mIHdpbGwgeWllbGQgYSBgbnVsbGAuIElmIHRoZXJlIGlzIGFu
IGByaHNgIGZpZWxkIHRoZW4KLSAgdGhleSBhcmUgdGhlIHJpZ2h0LWhhbmQgc2lkZSdzIGFyZ3Vt
ZW50cywgb3RoZXJ3aXNlIHRoZXkgYXBwbHkgdG8gdGhlIGV4dGVuZGVkCi0gIGF0dHJpYnV0ZSBk
aXJlY3RseS4KLSogYHR5cGVgOiBBbHdheXMgYCJleHRlbmRlZC1hdHRyaWJ1dGUiYC4KLSogYHJo
c2A6IElmIHRoZXJlIGlzIGEgcmlnaHQtaGFuZCBzaWRlLCB0aGlzIHdpbGwgY2FwdHVyZSBpdHMg
YHR5cGVgICh3aGljaCBjYW4gYmUKLSAgImlkZW50aWZpZXIiIG9yICJpZGVudGlmaWVyLWxpc3Qi
KSBhbmQgaXRzIGB2YWx1ZWAuCi0KLSMjIyBEZWZhdWx0IGFuZCBDb25zdCBWYWx1ZXMKLQotRGlj
dGlvbmFyeSBmaWVsZHMgYW5kIG9wZXJhdGlvbiBhcmd1bWVudHMgY2FuIHRha2UgZGVmYXVsdCB2
YWx1ZXMsIGFuZCBjb25zdGFudHMgdGFrZQotdmFsdWVzLCBhbGwgb2Ygd2hpY2ggaGF2ZSB0aGUg
Zm9sbG93aW5nIGZpZWxkczoKLQotKiBgdHlwZWA6IE9uZSBvZiBzdHJpbmcsIG51bWJlciwgYm9v
bGVhbiwgbnVsbCwgSW5maW5pdHksIE5hTiwgb3Igc2VxdWVuY2UuCi0KLUZvciBzdHJpbmcsIG51
bWJlciwgYm9vbGVhbiwgYW5kIHNlcXVlbmNlOgotCi0qIGB2YWx1ZWA6IFRoZSB2YWx1ZSBvZiB0
aGUgZ2l2ZW4gdHlwZSwgYXMgYSBzdHJpbmcuIEZvciBzZXF1ZW5jZSwgdGhlIG9ubHkgcG9zc2li
bGUgdmFsdWUgaXMgYFtdYC4KLQotRm9yIEluZmluaXR5OgotCi0qIGBuZWdhdGl2ZWA6IEJvb2xl
YW4gaW5kaWNhdGluZyB3aGV0aGVyIHRoaXMgaXMgbmVnYXRpdmUgSW5maW5pdHkgb3Igbm90Lgot
Ci0jIyMgYGl0ZXJhYmxlPD5gLCBgbGVnYWN5aXRlcmFibGU8PmAsIGBtYXBsaWtlPD5gLCBgc2V0
bGlrZTw+YCBkZWNsYXJhdGlvbnMKLQotVGhlc2UgYXBwZWFyIGFzIG1lbWJlcnMgb2YgaW50ZXJm
YWNlcyB0aGF0IGxvb2sgbGlrZSB0aGlzOgotCi1gYGBKUwotewotICAidHlwZSI6ICJtYXBsaWtl
IiwgLy8gb3IgImxlZ2FjeWl0ZXJhYmxlIiAvICJpdGVyYWJsZSIgLyAic2V0bGlrZSIKLSAgImlk
bFR5cGUiOiAvKiBPbmUgb3IgdHdvIHR5cGVzICovICwKLSAgInJlYWRvbmx5IjogZmFsc2UsIC8v
IG9ubHkgZm9yIG1hcGxpa2UgYW5kIHNldGxpa2UKLSAgImV4dEF0dHJzIjogW10KLX0KLWBgYAot
Ci1UaGUgZmllbGRzIGFyZSBhcyBmb2xsb3dzOgotCi0qIGB0eXBlYDogQWx3YXlzIG9uZSBvZiAi
aXRlcmFibGUiLCAibGVnYWN5aXRlcmFibGUiLCAibWFwbGlrZSIgb3IgInNldGxpa2UiLgotKiBg
aWRsVHlwZWA6IEFuIGFycmF5IHdpdGggb25lIG9yIG1vcmUgW0lETCBUeXBlc10oI2lkbC10eXBl
KSByZXByZXNlbnRpbmcgdGhlIGRlY2xhcmVkIHR5cGUgYXJndW1lbnRzLgotKiBgcmVhZG9ubHlg
OiBXaGV0aGVyIHRoZSBtYXBsaWtlIG9yIHNldGxpa2UgaXMgZGVjbGFyZWQgYXMgcmVhZCBvbmx5
LgotKiBgZXh0QXR0cnNgOiBBIGxpc3Qgb2YgW2V4dGVuZGVkIGF0dHJpYnV0ZXNdKCNleHRlbmRl
ZC1hdHRyaWJ1dGVzKS4KLQotCi0jIyBUZXN0aW5nCi0KLSMjIyBSdW5uaW5nCi0KLVRoZSB0ZXN0
IHJ1bnMgd2l0aCBtb2NoYSBhbmQgZXhwZWN0LmpzLiBOb3JtYWxseSwgcnVubmluZyBtb2NoYSBp
biB0aGUgcm9vdCBkaXJlY3RvcnkKLXNob3VsZCBiZSBlbm91Z2ggb25jZSB5b3UncmUgc2V0IHVw
LgotCi0jIyMgQ292ZXJhZ2UKLQotQ3VycmVudCB0ZXN0IGNvdmVyYWdlLCBhcyBkb2N1bWVudGVk
IGluIGBjb3ZlcmFnZS5odG1sYCwgaXMgOTUlLiBZb3UgY2FuIHJ1biB5b3VyIG93bgotY292ZXJh
Z2UgYW5hbHlzaXMgd2l0aDoKLQotYGBgQmFzaAotanNjb3ZlcmFnZSBsaWIgbGliLWNvdgotYGBg
Ci0KLVRoYXQgd2lsbCBjcmVhdGUgdGhlIGxpYi1jb3YgZGlyZWN0b3J5IHdpdGggaW5zdHJ1bWVu
dGVkIGNvZGU7IHRoZSB0ZXN0IHN1aXRlIGtub3dzCi10byB1c2UgdGhhdCBpZiBuZWVkZWQuIFlv
dSBjYW4gdGhlbiBydW4gdGhlIHRlc3RzIHdpdGg6Ci0KLWBgYEJhc2gKLUpTQ09WPTEgbW9jaGEg
LS1yZXBvcnRlciBodG1sLWNvdiA+IGNvdmVyYWdlLmh0bWwKLWBgYAotCi1Ob3RlIHRoYXQgSSd2
ZSBiZWVuIGdldHRpbmcgd2VpcmRseSBvdmVyZXNjYXBlZCByZXN1bHRzIGZyb20gdGhlIGh0bWwt
Y292IHJlcG9ydGVyLAotc28geW91IG1pZ2h0IHdpc2ggdG8gdHJ5IHRoaXMgaW5zdGVhZDoKLQot
YGBgQmFzaAotSlNDT1Y9MSBtb2NoYSAgLS1yZXBvcnRlciBodG1sLWNvdiB8IHNlZCAicy8mbHQ7
LzwvZyIgfCBzZWQgInMvJmd0Oy8+L2ciIHwgc2VkICJzLyZxdW90Oy9cIi9nIiA+IGNvdmVyYWdl
Lmh0bWwKLWBgYAotIyMjIEJyb3dzZXIgdGVzdHMKLQotSW4gb3JkZXIgdG8gdGVzdCBpbiB0aGUg
YnJvd3NlciwgZ2V0IGluc2lkZSBgdGVzdC93ZWJgIGFuZCBydW4gYG1ha2Utd2ViLXRlc3RzLmpz
YC4gVGhpcwotd2lsbCBnZW5lcmF0ZSBhIGBicm93c2VyLXRlc3RzLmh0bWxgIGZpbGUgdGhhdCB5
b3UgY2FuIG9wZW4gaW4gYSBicm93c2VyLiBBcyBvZiB0aGlzCi13cml0aW5nIHRlc3RzIHBhc3Mg
aW4gdGhlIGxhdGVzdCBGaXJlZm94LCBDaHJvbWUsIE9wZXJhLCBhbmQgU2FmYXJpLiBUZXN0aW5n
IG9uIElFCi1hbmQgb2xkZXIgdmVyc2lvbnMgd2lsbCBoYXBwZW4gcHJvZ3Jlc3NpdmVseS4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvY2hlY2tlci9pbmRleC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi9jaGVja2VyL2luZGV4Lmh0
bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDk4OTdkODU3MmYyMmEwZTY2YmE2YzQ3
MDQ2MDZkOTRmYjY2YmJhNTkuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi9jaGVja2VyL2luZGV4Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw1NSAr
MCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08dGl0bGU+V2ViSURMIDIg
Q2hlY2tlcjwvdGl0bGU+Ci0KLTxzY3JpcHQgc3JjPScuLi9saWIvd2ViaWRsMi5qcyc+PC9zY3Jp
cHQ+Ci08c2NyaXB0PgotbGV0IHBhcnNlclJlc3VsdCA9IHVuZGVmaW5lZDsKLQotZnVuY3Rpb24g
Zm9ybWF0UGFyc2VyT3V0cHV0KCkgewotICBjb25zdCBvdXRwdXRFbCA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCd3ZWJpZGwtY2hlY2tlci1vdXRwdXQnKTsKLSAgaWYgKHBhcnNlclJlc3VsdCkg
ewotICAgIGNvbnN0IHByZXR0eVByaW50RWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncHJl
dHR5LXByaW50Jyk7Ci0gICAgb3V0cHV0RWwuaW5uZXJUZXh0ID0gSlNPTi5zdHJpbmdpZnkocGFy
c2VyUmVzdWx0LCBudWxsLCBwcmV0dHlQcmludEVsLmNoZWNrZWQgPyAyIDogbnVsbCk7Ci0gIH0g
ZWxzZSB7Ci0gICAgb3V0cHV0RWwuaW5uZXJUZXh0ID0gJyc7Ci0gIH0KLX0KLQotZnVuY3Rpb24g
Y2hlY2tXZWJJREwodGV4dFRvQ2hlY2spIHsKLSAgY29uc3QgdmFsaWRhdGlvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCd3ZWJpZGwtY2hlY2tlci12YWxpZGF0aW9uJyk7Ci0gIHBhcnNlclJl
c3VsdCA9IG51bGw7Ci0gIHRyeSB7Ci0gICAgcGFyc2VyUmVzdWx0ID0gV2ViSURMMi5wYXJzZSh0
ZXh0VG9DaGVjayk7Ci0gICAgdmFsaWRhdGlvbi5pbm5lclRleHQgPSAnV2ViSURMIHBhcnNlZCBz
dWNjZXNzZnVsbHkhJzsKLSAgfSBjYXRjaCAoZSkgewotICAgIHZhbGlkYXRpb24uaW5uZXJUZXh0
ID0gJ0V4Y2VwdGlvbiB3aGlsZSBwYXJzaW5nIFdlYklETC4gU2VlIEphdmFTY3JpcHQgY29uc29s
ZSBmb3IgbW9yZSBkZXRhaWxzLlxuXG4nICsgZS50b1N0cmluZygpOwotICAgIC8vIFBhc3MgaXQg
YWxvbmcgdG8gdGhlIEphdmFTY3JpcHQgY29uc29sZS4KLSAgICB0aHJvdyBlOwotICB9IGZpbmFs
bHkgewotICAgIGZvcm1hdFBhcnNlck91dHB1dCgpOwotICB9Ci19Ci08L3NjcmlwdD4KLTxzdHls
ZT4KLXRleHRhcmVhIHsKLSAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsKLX0KLTwvc3R5bGU+Ci08
L2hlYWQ+Ci08Ym9keT4KLTxoMj5XZWJJREwgQ2hlY2tlcjwvaDI+Ci08cD5UaGlzIGlzIGFuIG9u
bGluZSBjaGVja2VyIGZvciBXZWJJREwgYnVpbHQgb24gdGhlIDxhIGhyZWY9Imh0dHBzOi8vZ2l0
aHViLmNvbS93M2Mvd2ViaWRsMi5qcyI+d2ViaWRsMi5qczwvYT4gcHJvamVjdC48L3A+Ci08cD5F
bnRlciB5b3VyIFdlYklETCB0byBjaGVjayBiZWxvdzo8L3A+Ci08dGV4dGFyZWEgaWQ9J3dlYmlk
bC10by1jaGVjaycgcm93cz0nMjAnIGNvbHM9JzgwJz48L3RleHRhcmVhPgotPGJyPgotPGlucHV0
IHR5cGU9J2J1dHRvbicgdmFsdWU9J0NoZWNrIFdlYklETCcgb25jbGljaz0nY2hlY2tXZWJJREwo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIndlYmlkbC10by1jaGVjayIpLnZhbHVlKSc+Ci08cD5W
YWxpZGF0aW9uIHJlc3VsdHM6PC9wPgotPHRleHRhcmVhIGlkPSd3ZWJpZGwtY2hlY2tlci12YWxp
ZGF0aW9uJyByb3dzPScyMCcgY29scz0nODAnPjwvdGV4dGFyZWE+Ci08cD5QYXJzZXIgb3V0cHV0
OjwvcD4KLTx0ZXh0YXJlYSBpZD0nd2ViaWRsLWNoZWNrZXItb3V0cHV0JyByb3dzPScyMCcgY29s
cz0nODAnPjwvdGV4dGFyZWE+Ci08YnI+Ci08aW5wdXQgdHlwZT0nY2hlY2tib3gnIGlkPSdwcmV0
dHktcHJpbnQnIGNoZWNrZWQ9J3RydWUnIG9uY2hhbmdlPSdmb3JtYXRQYXJzZXJPdXRwdXQoKSc+
UHJldHR5IFByaW50Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL2NoZWNrZXIv
dzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL2NoZWNrZXIvdzNjLWltcG9ydC5sb2cKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDdhZmZjMjZkOTc1MDA3ZGM2MmI5ZDMzMWUzZmMyNTdjMDA0YTll
M2MuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi9j
aGVja2VyL3czYy1pbXBvcnQubG9nCisrKyAvZGV2L251bGwKQEAgLTEsMTcgKzAsMCBAQAotVGhl
IHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9z
aXRvcnkuCi1EbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUlu
c3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKLQlodHRwczov
L2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdAotCi1UaGVuIHJ1biB0aGUgVG9vbHMv
U2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydAotCi1EbyBOT1Qg
bW9kaWZ5IG9yIHJlbW92ZSB0aGlzIGZpbGUuCi0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotUHJvcGVydGll
cyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgotTm9uZQotUHJvcGVydHkgdmFsdWVzIHJlcXVp
cmluZyB2ZW5kb3IgcHJlZml4ZXM6Ci1Ob25lCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLUxpc3Qgb2YgZmls
ZXM6Ci0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi9jaGVja2VyL2luZGV4Lmh0bWwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvY292ZXJhZ2Uu
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvY292ZXJhZ2UuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
NDZlN2VkMzI0ZWMyYzgzMmVmYzJiOWFmODBmYTdjOTA4MmY2ODY0NS4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL2NvdmVyYWdlLmh0bWwKKysrIC9k
ZXYvbnVsbApAQCAtMSwzNDEgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+PGh0bWw+PGhlYWQ+PHRp
dGxlPkNvdmVyYWdlPC90aXRsZT48c2NyaXB0PgotCi1oZWFkaW5ncyA9IFtdOwotCi1vbmxvYWQg
PSBmdW5jdGlvbigpewotICBoZWFkaW5ncyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ2gy
Jyk7Ci19OwotCi1vbnNjcm9sbCA9IGZ1bmN0aW9uKGUpewotICB2YXIgaGVhZGluZyA9IGZpbmQo
d2luZG93LnNjcm9sbFkpOwotICBpZiAoIWhlYWRpbmcpIHJldHVybjsKLSAgdmFyIGxpbmtzID0g
ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnI21lbnUgYScpCi0gICAgLCBsaW5rOwotCi0gIGZv
ciAodmFyIGkgPSAwLCBsZW4gPSBsaW5rcy5sZW5ndGg7IGkgPCBsZW47ICsraSkgewotICAgIGxp
bmsgPSBsaW5rc1tpXTsKLSAgICBsaW5rLmNsYXNzTmFtZSA9IGxpbmsuZ2V0QXR0cmlidXRlKCdo
cmVmJykgPT0gJyMnICsgaGVhZGluZy5pZAotICAgICAgPyAnYWN0aXZlJwotICAgICAgOiAnJzsK
LSAgfQotfTsKLQotZnVuY3Rpb24gZmluZCh5KSB7Ci0gIHZhciBpID0gaGVhZGluZ3MubGVuZ3Ro
Ci0gICAgLCBoZWFkaW5nOwotCi0gIHdoaWxlIChpLS0pIHsKLSAgICBoZWFkaW5nID0gaGVhZGlu
Z3NbaV07Ci0gICAgaWYgKHkgPj0gaGVhZGluZy5vZmZzZXRUb3ApIHsKLSAgICAgIHJldHVybiBo
ZWFkaW5nOwotICAgIH0KLSAgfQotfQotPC9zY3JpcHQ+Ci08c3R5bGU+Ci0KLWJvZHkgewotICBm
b250OiAxNHB4LzEuNiAiSGVsdmV0aWNhIE5ldWUiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNl
cmlmOwotICBtYXJnaW46IDA7Ci0gIGNvbG9yOiAjMkMyQzJDOwotICBib3JkZXItdG9wOiAycHgg
c29saWQgI2RkZDsKLX0KLQotI2NvdmVyYWdlIHsKLSAgcGFkZGluZzogNjBweDsKLX0KLQotaDEg
YSB7Ci0gIGNvbG9yOiBpbmhlcml0OwotICBmb250LXdlaWdodDogaW5oZXJpdDsKLX0KLQotaDEg
YTpob3ZlciB7Ci0gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKLX0KLQotLm9ubG9hZCBoMSB7Ci0g
IG9wYWNpdHk6IDE7Ci19Ci0KLWgyIHsKLSAgd2lkdGg6IDgwJTsKLSAgbWFyZ2luLXRvcDogODBw
eDsKLSAgbWFyZ2luLWJvdHRvbTogMDsKLSAgZm9udC13ZWlnaHQ6IDEwMDsKLSAgbGV0dGVyLXNw
YWNpbmc6IDFweDsKLSAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlZWU7Ci19Ci0KLWEgewot
ICBjb2xvcjogIzhBNjM0MzsKLSAgZm9udC13ZWlnaHQ6IGJvbGQ7Ci0gIHRleHQtZGVjb3JhdGlv
bjogbm9uZTsKLX0KLQotYTpob3ZlciB7Ci0gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOwot
fQotCi11bCB7Ci0gIG1hcmdpbi10b3A6IDIwcHg7Ci0gIHBhZGRpbmc6IDAgMTVweDsKLSAgd2lk
dGg6IDEwMCU7Ci19Ci0KLXVsIGxpIHsKLSAgZmxvYXQ6IGxlZnQ7Ci0gIHdpZHRoOiA0MCU7Ci0g
IG1hcmdpbi10b3A6IDVweDsKLSAgbWFyZ2luLXJpZ2h0OiA2MHB4OwotICBsaXN0LXN0eWxlOiBu
b25lOwotICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VlZTsKLSAgcGFkZGluZzogNXB4IDA7
Ci0gIGZvbnQtc2l6ZTogMTJweDsKLX0KLQotdWw6OmFmdGVyIHsKLSAgY29udGVudDogJy4nOwot
ICBoZWlnaHQ6IDA7Ci0gIGRpc3BsYXk6IGJsb2NrOwotICB2aXNpYmlsaXR5OiBoaWRkZW47Ci0g
IGNsZWFyOiBib3RoOwotfQotCi1jb2RlIHsKLSAgZm9udDogMTJweCBtb25hY28sIG1vbm9zcGFj
ZTsKLX0KLQotcHJlIHsKLSAgbWFyZ2luOiAzMHB4OwotICBwYWRkaW5nOiAzMHB4OwotICBib3Jk
ZXI6IDFweCBzb2xpZCAjZWVlOwotICBib3JkZXItYm90dG9tLWNvbG9yOiAjZGRkOwotICAtd2Vi
a2l0LWJvcmRlci1yYWRpdXM6IDJweDsKLSAgLW1vei1ib3JkZXItcmFkaXVzOiAycHg7Ci0gIC13
ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAwIDEwcHggI2VlZTsKLSAgLW1vei1ib3gtc2hhZG93
OiBpbnNldCAwIDAgMTBweCAjZWVlOwotICBvdmVyZmxvdy14OiBhdXRvOwotfQotCi1pbWcgewot
ICBtYXJnaW46IDMwcHg7Ci0gIHBhZGRpbmc6IDFweDsKLSAgLXdlYmtpdC1ib3JkZXItcmFkaXVz
OiAzcHg7Ci0gIC1tb3otYm9yZGVyLXJhZGl1czogM3B4OwotICAtd2Via2l0LWJveC1zaGFkb3c6
IDAgM3B4IDEwcHggI2RlZGVkZSwgMCAxcHggNXB4ICM4ODg7Ci0gIC1tb3otYm94LXNoYWRvdzog
MCAzcHggMTBweCAjZGVkZWRlLCAwIDFweCA1cHggIzg4ODsKLSAgbWF4LXdpZHRoOiAxMDAlOwot
fQotCi1mb290ZXIgewotICBiYWNrZ3JvdW5kOiAjZWVlOwotICB3aWR0aDogMTAwJTsKLSAgcGFk
ZGluZzogNTBweCAwOwotICB0ZXh0LWFsaWduOiByaWdodDsKLSAgYm9yZGVyLXRvcDogMXB4IHNv
bGlkICNkZGQ7Ci19Ci0KLWZvb3RlciBzcGFuIHsKLSAgZGlzcGxheTogYmxvY2s7Ci0gIG1hcmdp
bi1yaWdodDogMzBweDsKLSAgY29sb3I6ICM4ODg7Ci0gIGZvbnQtc2l6ZTogMTJweDsKLX0KLQot
I21lbnUgewotICBwb3NpdGlvbjogZml4ZWQ7Ci0gIGZvbnQtc2l6ZTogMTJweDsKLSAgb3ZlcmZs
b3cteTogYXV0bzsKLSAgdG9wOiAwOwotICByaWdodDogMDsKLSAgbWFyZ2luOiAwOwotICBoZWln
aHQ6IDEwMCU7Ci0gIHBhZGRpbmc6IDE1cHggMDsKLSAgdGV4dC1hbGlnbjogcmlnaHQ7Ci0gIGJv
cmRlci1sZWZ0OiAxcHggc29saWQgI2VlZTsKLSAgLW1vei1ib3gtc2hhZG93OiAwIDAgMnB4ICM4
ODgKLSAgICAgLCBpbnNldCA1cHggMCAyMHB4IHJnYmEoMCwwLDAsLjUpCi0gICAgICwgaW5zZXQg
NXB4IDAgM3B4IHJnYmEoMCwwLDAsLjMpOwotICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMCAycHgg
Izg4OAotICAgICAsIGluc2V0IDVweCAwIDIwcHggcmdiYSgwLDAsMCwuNSkKLSAgICAgLCBpbnNl
dCA1cHggMCAzcHggcmdiYSgwLDAsMCwuMyk7Ci0gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFu
dGlhbGlhc2VkOwotICBiYWNrZ3JvdW5kOiB1cmwoImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJP
UncwS0dnb0FBQUFOU1VoRVVnQUFBR1lBQUFCbUNBTUFBQUFPQVJSUUFBQUJlbEJNVkVVakpTVTZP
enNoSXlNNU9qb3FLeTAyTmpnc0xTMDFOVFlqSkNVek5UVWdJU01sSlNjME5UVXZNREE2UER3bEp5
ZzFOallvS2lzMk5qWXJMUzAyT0RrcEt5dzBORFlyTEMwNE9Eb3ZMekE0T2pvME5EVXRMeTg2T2p3
akl5VTRPVG9zTFM4Mk9EZ3RMUzhoSXlRdk1URW5LQ29vS1Nzckt5MHFMQ3drSlNVbktDa3JMQ3dw
S2l3d01qSXhNek1xTEMwdExTMHBLaXNzTEMwME5UWXdNREl3TVRRcEt5c29LU292TURFdEx6QTJP
VGt4TXpVckt5d3ZMeThxS3lzek5UWTVPenNxS2l3Nk9qc3dNREV4TkRVb0tpb3pORFV2TURJeU5E
WTFOamcyTmprNU9Ub3pNelUwTmpZNE9Ea2lJeVVpSXlRNE9Ua3VNREVtS0Nvd01qUXdNVEVyTFM0
cUt5d3dNVE1oSWlNcEtpb3BLeTB0TGpBa0pTY3hORFF2THpFeE5EWXlORFFtS0NrNU9Uc2xKaWc1
T2pza0pTWXhNelFyTFM4Z0lTSXdNVElvS0NrMU5UVWxKU1VuSnlnd01EQTRPRGdpSWlNaElTSThQ
RHc2T2pvNU9Ua3BLU29qSXlRN096c3lNaklwS1Nzc0xDdzZPencxTmpscmZMYWtBQUFnMlVsRVFW
UjQyalI2aTNlYTZyWXZQZ0FOSUFoVlhoOFd2a1FsaW9VaUZsRmNCdEFtb2lSTmR6eHF1OXAwSjd2
cmRLMjl6dVBlZXg3N25udk8vMzVuMXIxbmRIUmt0STBqVE9hY3YvbDdsQ0JLNVVxVnBPaGEvWXht
V0s3QkM0VFFGS1ZYcmJZc25pbXF4dXVNVmxPUTBYbHRXalVkQ3dSSjFNK3RDMUt1ZE9zOXE2K2Rh
MmFkVWV3RzBTQzBTd0VMZkh0Z0RkczkzVkV1eWRFYmwzUU1XZU5vWWtSN2IvMHgxWlJvYkdJM21M
d3pBaGVQcVRBd2hnNmFvZ2pOc0d5Ny9qd1E0cmtkcWU3Q1dMeEY4azlMZk1WRnlSUzdWSnF0a3JX
OFZ0L2JrUjhGWkphbzE2aXBrbmJDM1l3MmxNN2xhTzZIQkVPYWRFWjJ0cGY2NWM0djhlM3U3RnlV
NnFiaU5OeUN1elhaNnBhd2dud2dtcnBUVC9RN3cyRVptaUlKMGR6V0RJN21oUTgwSWZSbk11Mmt6
QTVyNXIxcElGb2lhKy9kOTNIUllwMUdWOFRicmtXb1UvK2pkSTBGZjZ5R3dUalQxSG44Sis4bTFy
S3BHaVlQdU5pSG5NdE5NSXYrenBzazg0TVlUTlcxLytEcHdYTHZja2RPQ01Zb3dWTlBSRWUwUWxN
OHhSSFhYRmhjTkR6dXB3c1NtYjVwSCswdDBSUDJRaytRdEk3RjFRbTZKUkM2WlBCdFBxL2RxL2tI
K2p4dENsam45VElwVzZyUUlnbVNWeWo2bFBJQ0l3NE4vdGFrYTQxUEZVSW50aDBqZTkrak82S3Qx
RzQvYTdWMkxFZ0cwMkIwcEhWdUNacmdsdFNLTXVJbDVTeXVmVXY5bVl1UWkrbUZnemJCRXRGbzJn
K0RoNHNTVHJMTnU4SlBoMDBzUXlkcGIwMHRxWEJ2cVJON1E3a3F6Y25JeENHbnZadC9XbUphY29P
RU82RGNuOFFyZTAzcE9DU1F4Yk1PWFV1RE54OVN4dUx6NFcxSTE4Z3ZqVmlRNjd6VjByeGRXTDhU
ZS9UUWt1bzhTVFM0MURSNDhXN0w2WVAydVdJcWlVVjhyZDZHYmYvcm5lZ0taZUc4VHBBTTZhZmhH
emU5SkFPeGJManNuVVhFYnJaOXZMWWQ3TVQzMmNQRjVtS0t4bWp5N2h1YW9EOW42MkdPeG5pM2lJ
Snd2MEl6WkFaamRaa1V0b2xDTkxWZllaTmFxdUZqR3N6VlZmK0owdnJ6NENhd29LZEhuT3piME5N
SDdDREJPeWJmWU5KNHJmZU15Rk5qa0ZZVlR6TUZzODdyblBHWExVT2VOS1JWYzBMblU3L1VJZ2Vs
enN5M0NNdXRoMFlmdm5ZMHdzRDN2T0RVTDNlSmNLcUhRcG04eU0zWFpRV0p4TzZVbjlpWWxveXlM
cE93TjJvYkh5Nlc2Z2JwY2I0NFhteUMrbWcraXRBY2FwckdjcndaQ3FNai9HbXRLbjB6UHZwVHov
Q3YxZHcyMVh3UDNjUnVwZzNIM01GL1M3MWVUS2oxWXJkd0tkYzJNdzBmUm1iMnNGZjhsVzNhVTZK
YklaU0VQcXZYdmpNN0cvYUFweVhsWGVxS2ZNcTBnL1N1M3JVR0pQU1BydEdFbGdrbnJaTTN4VVhx
c0FQNnpNQ05WbjV1OGFKblNOcEp2MnVydTd0MmpmUnppVzIrR3VocWZsZFVOYlBrNzFvbHdvKzQ2
ZVBVbzFVM1dLay9lNVlLMDdGL3dHUmdjcE9EbVFuSWxWZUhDV0JFNHB1QmkyanEyOFVLcHFpTjEv
NFVPckd6NTlUTllyclFIdGQrMTFzRzQwQkdEK3BYZGVsTnFHT2c0TlhlOFc0ZWFjSlYvTlM5LzJV
bXR5bTZXUXF2ZXFSOXhkQ01FbHB4bmJrYWxNNFZmOXVhRWNXWmFLZHlpYkVJaldLeEpaUE45NW5p
Q0wzR2lhWHlzc0lySHhvTGtxa3pMQ1hVTE40Ni9mMmgzdFFKZ3lpcCtUazlFQWpKOWFKc2hxN3Q4
WDQ1YW93U0tzcE1TdlBmN3I5Ujh5eE5wdElhSFM1b3p1RW02bHVQREFwdWd5TlA4T2FxaVE0Qmph
ZXF1WEE1NFNMQzgzZUhJWTJyK0NacDQ0MDlYcXc4QWEyb0k3WGtDclFpK2luMHc1QXFGL2tMTnJj
VXorcWtsL2xBb2JZMWpTbng1T0pOaHlYSXozcWZORmxYYzBUS2FnbE53ZFdrV1l0OVFRMUtyNlc4
enVlMjFpTnJkSmsrTjVvQ3IyTzluRXRXS0M3SVM1Si96ZERFWXJtbkFZZmc2YWdDeStxY2d6N1pv
ZmVEYzRQYlVXU3Zrc2hXdUFjN09qaVV5TGtqK1JBdGRsd1hKY2p4ZHBrVFRIRGhLOGxCQ2k4K0p0
dkRWTDFXNmVsbU9NKytZUzBMdVNsYVAxb1V2QWVpVzNjRm52VHI4RWJUejF0c1NNWWRHZVplNDBz
Uld1NXVBZmo3cStab0t2MkZOUTBwNVhZMWxtbGNpZ0hacVRQcGFidWZFVnJOdU5QaTE2NXczdUNW
UUpIeUpxbVNKN1pIbmd1cXd0Q213VmlJSmlqajA0YmEySk5ZdEIreU9SZjVnZzEvOXQ5aXc0dlVw
ZXFpdW5TQWJmK0lCZGovYitpRzJxckh2dU5QMFZkLytUaFZaVC9scnZIWWpqZ0RiYnl4YXFnSE5N
MnVoeGExR1czVWVkWlloTU13TTRtUWhsdG91SytJVjROZGJJUU5NKzhZdjMxMVJaazlrVDR0aVlS
NExreUZjdVBwZGNqdWhVdUZxQkFXUlphMTFsY1ozZ0VCbFh5d3NOaHJ0K3BsSVNaUDVEbHNWOWw0
RWdZNkozeVpQVFVjTXJnYVdBVDNvSTc5ZVNiR0ViY0pwcjZCRDhreURpVnQrRzAvaFhvc1FONE5G
WEtsZldJZnNJczBCSE9EVm9rMS9JR25LRkhKWUlxdWg4WG8rMitia1FOVEdnV21OL2ZaMFkzM0xT
ajZscjFHeVY3bVdJS2c3WlRSWlBHdWhGL3pqUk5jUTFVUHRTWWduV1F4U3MweXJWaHdORGNkR01O
U05lMkpUM1d1emJBTTNIeWt5QWFqUzNVcGhmNlNUS0VxeExhczlFbm1uaEEvbHlqOVVqK0pvWTdT
VmdWbUdMbDQ2Um0ydTk4c2JrYXAybHpBZEtCRzRyNkxndWxRT1NTalF2MUdXZFEwanREVUsvbUFh
cU0xVXFqcHU0azNSdmZ2eHY3WVR4TFNLK3dOM0U1alZJem1GMjN1WjdoaUgvc1ZQNDlEN3R2b0tw
NFM4YjFMdXZSbGl2VkIvYWxnYmhjRklUWVZYdkRwTHpwRGZwbFIydUQ1VjRYSkZ4cGptSXBMYzlZ
NXNCMlRwQlJpeDdCbWU2R1pJcSswNnYzWHpOZVRjQTRvYlFJS3hyblQ0QzJKcE9xRDkyZGJtU1g4
TUdhemx5NUVzWlZNdlNVMWY0Ulp3eXU4aVFYYlZkZUxsWnJqdVRUMWpyWTF1azVjN2laN1Jzdmho
bHVxQWtxNEpwVlFBZzdSSkZ0U3UreGdKOFB2Nk8xajVEa0x4VDhta2JmeVJXNURyUW1HN2hpRElq
Q2dCc0FEYmp1b2Y2WUhMR2VWNmE1UTFTbXg5am9VWFBwZGFhRHg5N0EvV3EwMG9Ka2RSN1pZdVFS
ZlM1MzNKdHhPMWVyZHVxV09ZSXQzd2gwd3BiTHVDTklZa3d4YnN3YmlrQ1V1MkNEQ1MrUSs3cmdW
dGZSY20rU09jZEtQUmxaL3JFN3dOVlVFRTM5S1RTNXV2VUtOMVBVbmtsb1BreXpoeUdROHFrb3VF
akozSC9WWGRxRzZhc1NSaXczZWNNbEJ2RER0OGREaEJIWE13WjJDYWp6anI3Lzc2VCtJYXZxUFl2
ejZyNy8vRS8zWDMrTi8vaC8wUW96YmpQZ1BpaXI2OVAvOFgzLzlGL3l2OGIvODI3LysrOThXSXRQ
dTUvSHZ3ZDhZUGY1YnAvMi9sWC9ULytPZi8wTUovbFlUYStML0VmK2Q5dk4vMy8yVDZQLytqeVR6
dS9ldmY2VTd2eE43QjZwSmtSdEFGNmpVcjhJK1A4UnNQL3B0R2hmcUZrK3BRL0RnQXk2Tkp0UllK
ZFhtcDRnSzdXTHFMS0orTWFLaEdqT29qdkwrU25JV3JrcHkwU0xIRGU0UXV5TnphRUExNW1MTUNj
bUU4RW0rNEhkT2loVzQvWld1cHBKRW16ZUF3Y0R0djdNdUxjOXkyVjVhdHZ4WE5lM1M0RFVNdDUv
UXkyTE05a1NZS2lWV0J1S2xmcDRueFRudHB1VzAzSmJJbGtpUnZCWG1UMjNnMUkyT1llNklpelVI
UElxNnptNm1iZnNidGVLbWkvc2c5SitvY1FCTWN0R0ZPN2lsam84VFBOK3ozanh3NGRvK1p3ZnFv
Ujlka05US0h5TTMwNUdwVGtmaGNIZXhWa1BWR0ViVU9qdW85ZjBVTVBIQkZsR0V4MFNMdkp2VlJL
VHdXN1BTZXc1b1BtZStFNDIrZnJKYTljR3QybmpTM2RLNWtJaWYyZVliaHVTRVFYRXFNVmZVamhH
SXVpbjBHMC9XNWV6SnlKUXkzU3BNTGFpNE0wSlVXYjV1MWs5dG55NWJkMXBQd1lCcFF1RENYWmw2
MnhnNENkVkVBdGZsWEhzNkpLbVAvcEg2bU9sNzk2TGdvcGowbzhkNWtLaDAwaHhHM09TZEVFL1FC
bzlIZ3I4SkpxQWVMRHdKb2hHNWovREdoNjFSYy8rdGYyMi84a0VueEhOQ0VqbzBFbHZ2R2ZFU1pr
cW16MkJEY0tWMUgxYnVTa2hrZGc3cDFJTUdzMnMxN25ZanBibHJXdUUySzlXRU8vaGNScDVlOW9P
Ri9RQm1PYUR0Z2lsK29hVTZzelByZHdXNjVmT0IwS1VUc1ZVbjdMRlU3SjhlNmN4SklsOStGSHc1
TVFNenVRSis0b3hNSDNpVy81R0sraFd1RzBUK2dUTHMrZkFqZHRVZDU4VG1JVXEwNEVleVJDWUNq
a2xkb3cyMzRhSWdSNWJxd3J0Wm9zWis2WUVxQW1EcWF0SjlsV2FzejRJcXVLQUxQdGQ5MmhHSTNa
MkJkenpadWUrUkVsMU9tNERJV0QrUnJ0VVRPSkxJK1Mwakhvd1hYZEF4c0dMU2Q0MHpZTnVFVWxP
R2hyd0w2Yzd0Y090VU92cEpDUDdRQlFTMTlIK0d2Wm4wNWV3amxWTHorSUdLb0M5VHlmUWpMTUJO
bVhDdXFxdFRkT1N1a1pXNDhCMEhxZ1NUQ0JyQm5sRnZGNENHMlN1N3lGenFtSkZVUkszVW1UVDNy
dTA1MHIwcHRVcE1pbFluQkpXZmwyQnY2a1BsVXVFMWt4eHBkenVpOUF1YnNSMk4yYm9WU3U4MU91
bEF3QnFvU3IxTFowTExZT29teVpIbWpxblhsUDcyczhMbkRvdUVKanRvZEJ2ZEhhRzFqTXlTWU83
Y3JXZDkwTXBDUnlDRzE0dmI1SUU3QXJ1cHcveS9SY0NtL1RtM3pLNnpZajhQWU5hR2xkaVVma0Iv
TEhXY21mMmxWTSttd3lVMjdhMHFxMnRzY3JRL3Z6QmpOMjZEbm50SXJPeUdpenpYSzM1eUtRZFlu
VUFCa3lONHNhejNXRC92aUYrZUNjc1huSWFqZFdZSldhWUhSc3RJaXM5Q1MrdHFuRkdtejJqNXV6
ZnIzWjRwcnFnSzRYT1QvUHlmdHZqWnFJbThsaGtmeEo3T2wzQ0pGMXBpWUJHQUc4d3RBazU2RHJ3
MVl3bU9wY3orTmRma1NwU0xwbFJYTFhITDBScXVqNllXL2dhYnFnSzdEZ3I2Tnd0SDBCL0FON1hy
TitNVko2QW1YbVV1cW1RdWxyTk5ZUG1IMFJvRG9neWRPS0xvL1FiZllOQVJTUVFLSVNSQ3pSWFUr
cTlXV0pGTDNMWlc2dTM0Q2tlRzk3eEMwTk5HYUowYnZLNlNuWlMzelBza3I1RXR1Q2dqTVdSNW8y
eDVCcWhLbURXSlBSZTdKTUVPeVJiNXVVS2xIYUdWdHE1aXZTT2FTbGlTWHA5U1FtMnFrOE1SSmgx
ME1BcDlRUTJINXQ1OUo4cmppd1NadG9JZk1HamxMUFZOZFlsL0xCUjBBTzZXTEdEbWtMa0lQUkU0
NVk5TWZ0ZEFLL3lOdTFIbjZ0ek9RVGVzZ1ErOGZTekIxOXdPOTF2Q25PMjN2T1dRZHdKNjNTSnJZ
amRmS0ZXNlcyODFQS3MyazhpVDlhaTFjZ0o0c2EzeHFkdm10eFI4LytEMUI4QUtjMnUrNkpmdHJ5
UmhNV1NRdG9TQmdJeXlRR3l4Y25FTHVBYXNYTjEyb1NyaVU0Uk16MURENlJMMFRTVitvbTdpMVl0
K2pFRS9qbmF3TThjWC9VaE40bmtpdi93OWVBTHJ6TmhYdVFmT3pGTDBGaTZTakY3LzRRbjhyTFlC
b2E4NWN2Z0Fua0NFQlArSFBiRW5xdVZYQ1pzTVMveXpZdzJWcnU2MFAvK25KUFlLa3paRmptYnlr
elVvRXFWODM2VDVxM2ZQL0wzODNkRjgydHgxOC9BWmdaY3pNQWd5ZVdZS21TWklxdEhMK2UrTzRa
UmNxOVZJM2cvcVBlQ29pSzRwY2dFcWRiUzBTL0JlNTRzYlZRT3VKVlBOQmJsSWdoemVhc051N2gv
ZytTejFJZGhJNWxDd3ExblViM0ppNE9DSWNxUVpxdHFKNXc3clhyZy9EQTlJZ1ZtRUdoRGdHZWNF
d25DVEhmZlhjWHMwVjNPQ0VWellES1MxdnAvb1grbmcrNlhWVTg2VWpBNkZNTzJSWE9PT3JxWTFH
Z1B2ckFrOUhWL0JYdEN1NVJ1d0Y4cWdkR0RMc0JjdWk0RTMzeW1kQmlwMVg4dUt5aElXVDhxTlJE
c1h6K2d2TzlVaUVDMGQ4Ukc0VGYyeDhINHNsbGpnSHRDQmN4SExUV09ZSm01SC9mQ1BDek9nZjlx
Z09VeFRSWjBQYzZoYTV5THVMVlQ5bnR2SWE2Z2FjRTk5bUNvdmRVdW1UUWRSUDRSUHNTOTEyOWVF
ZTJ1U3Z2R2gwYlY0WTNRUFBoUFpNcWhaV1NNYTVSMEhjMVNHTzRJVk9RYzBGcmlybGliVFZmS1Jy
WWtEOGt6M2IrWDY1L1FrVU5hWmRyZGwzbUNhcDBIZjNZY0N3L0xpb3VKWU5icXo4OFVxZURZdjkz
eU83dnZYdGdsNFhDeUFPNE9Ea1k2Vys4MytMWlUvL3AzL3pYTkdHclVLQ2xDaU9uTDI3aUpaYk5X
REYwMlhYQU9lRmxCN0lhQURvTUgxWXFyK1VQOWJpeVpERWEvaUp0NE1EZUl6NkdLVGRMVkJmV0dW
dFJONGZkVDJyZ1JlWDhVWHdGMnpPcnJhZG00SjBueVRnZFBuYWkzUnZ6cFp2Q0tEVXFqT3dEL1FB
NkVEYU1DTGV3WDZRV1lWbkhZMXN4MWJkOG92WW5QbTFadlBIK3JFMjBsV2pPQ25aNjYveER0MFFB
bDE1RmpmQmNacCtpOU9VMFJOUFEwdDN4MnBTTldvOGVpWXVkd3NudVAxSHE2aUgxTEpDSnlua1lz
ZmdKMHAzcEY2U29RazJsK2pxRThDUGsremlHSlJTS2pzK1c1QU8xODV1bVBka1l6bEs0d2w3VEM5
Tnh5eURQN1pveVlWb1hpdVM2U2puSW5sTFdyd3oxaThiR1RLWFgwQVZRV2tTZklsZ2xXM3pSSlJK
OGJnNVZnRTZaRW5xTnU5QisrMEdOUXZEUUp2Rml6ZTRFU05LQkpQKzh2QTNMTTRBWDVTSUJxMDhN
b2IrN1FNVENaeDRud1AvNjQrNEJubFpDKzhXdGxQL0NYdzZ0MVB3TXdrSjNqaFAxRmlYTGhERi8z
STZGR1V6TzJEU2k5QUJ4S3l5TDlwYVp4U0V6NDBaQ1BRVG9EQUp1MTk1OWs3UWRiVnhnQjRpY3N1
MnM0enNUUEpoY0VEbytOMUdYNHpTay93cmlSaDhBcXdMNjI5NzJpOUhKSGQxeWRhTFhWenZLdk9m
R0d3NVJWY1VWTWlLWEZINEFQZGtRVS9kYzVCWDBZZktUTlpZWENXOW1iOGJjOG11Zm9RUDZCYmRR
bVQ5OVpqb1lmci9nbzRUZ1FYOUlEZ3p0aW03d3lGZUdNZmJOYWVxajhEenMzOHBnY3F3U3YyaGJx
QjNvU0dLV0t5K3Nlc1k3cDU3d0FIbGRxRTZORHVkay9XN3MvempySzRyWkZsRnZhR3huU1pkSGJj
MXk0N3FETjZ4a29LOE8zYmZyMmo0MWRsSlo3MXJCNGRsRHFhcFBGYThONnhCcnByVWR0ZW5VQ0h3
eEtOaHcxdXVUQmgrOXVVNDVrNFJFcFFBQk4yYkFPOURTTHFvSUwyNmdOcm9XZ3VwNXBVTXhIVU5T
cTRHeXo0N3ZCUHZpbHBvNWY5T1lJMmRkQXFUcW1ueFhFUnhRSjNVSzhmSGJWRTlIYWdIaTMrdHFO
Um9Oc0FyZG1BeEhBNUx3dFFvOVpBYU5LVVRsam5va2xqbzJ4OHNjcVZwRUVJUGMwMWZQQ2RIT0Nn
MERlV0J6OEQ1VFZBQWZ4OGFSSDVYMlpZTkkzZWJLRFpkZUorb0JEQXhtUnFKMzBFaDIvRGFlQXk1
ZGlWTk1wRURtWGlQRHNHVHpCTFh5OGVWRGRKb0lhZmd4L2d4TXlRaTQ1NFFyVzU2bkN5ZUVMZ1N1
Tk5FbVlrZmxGK3QzQ1pRT1ZSV2pLaEl1Q2NsbVFTbEFYVDMrNEpHRzc1QjR0LzVoUStsZE1QNExz
QVc2ejNYbVU2SUpKd3BuR1Zuc2dVWmhvWTFmWmx3VFI4d1NVN3hSZWpmMnVDeDlaNXRyVlRSUkpQ
OUtuRWIxMzRkRWllaWw2ZUNPR1dnYm9JN3hzcXNxTTk5amZKTFRlUGp5Z0tsSDJDVnh4c3NlOVFS
elRCRmpEL0tqcWl0ci9DQ1RCdC9TSjZuTHh6N2NLUDlwRnFCcHAwbE41eSthZEtOc1pqclB1cm9l
bVphdUg5YVRURkQzRUtIVzhTNTVYQkxGUUF0MWpneFRRQ1R3eG14L0p5ZnNaRE4xUnJvTjNWYXhw
U2VucElYN0srWmJMOFZkbFFEY0k0Q2J6ZzNRSkxhOXlWcU54VWVsdStFdHhMVnFlZWthQXZTSmtP
NnNTVnFiVWFqeHFoS3NoTnB2WnFvZUFwRjBrLzBQMGlra3dVY2Jkd2M0QTFlak43T28wTzE1a0c3
aFRNb0szaFpSQkNYN1lZZUxXMHd2Y1h4LzE4bi91Mzd5TGd6QllWQlV2T1JHbGkrc2ZSY1gvNzR1
RDZQNGhxKzd4dTU0VGxXSkxGelQ2M3V3VUR3dUVEZE9qSlFxeDdKVitaamFFQVBpN3QwTU1yUjRR
OFJrZjE4dXhENlJLMFJLaDBoTDhZVStEZUw5N2k0cGE1WlN5QWZYS3daUlMvOGdYY3hkWlhtNjJS
QkRqOFUzc044eDk1YjVQcFBzL21DQktZdnBhQTUwcE41Q3QvNDk5QUZUdHdRNXZnZVNoK05IcktJ
aTROVnB3TS9YelJhTmZKRDg1NmxQRTZNMjF6V1BndUZzSDdqYkxWeUVEZlJtdDRWd3JoQ0o1VlRZ
bWNTUGZHZ081Y2xmTit2YmFEWjdzYWtVNSsydloyV0NEWTAzMU54SmFyVnl0ZkREVnRpYWZjVEdP
MnJKL3Rhb0wzekNoTjJxbWp4b2ZjelRPWVFQUFZRUGgwSlZ0WWdkVVFJTmNTaU5FRXk1OFVkWVhY
MU1wV1VDRUJ4N0xiY0d0QW04WFdSUVRWT2FvVjN5U3JpNFJTaGhzL0IvMG00alg2T0F3WE92Y0Ew
OWJOU0c0Y3pFR3YvV2V5NlYvamJUQ05UVzZhd1hkTlRjQTFHc1BlMUU5ZlpkR2w3UjB2eW9WcElk
SnRmQzZkMzJOTkVycnZxL1IrZDY1VkcrWU93UlhwcFh4T0NZeUdOU2YxSzN4NlZ4QVcvdnR6NEVD
MVNnQ09TUGRONjJzTHNvSXp1RGZnOEd3WkFicXVWTzhISXVGUC9Ub1ZvZVVCN25ud01GMzVhMXdL
MXRJNmZrcnFGS2hRZGVKcHd5bHMwcEl5OEFaZGUzLzZMVVViRmFZSnRoeVVKU1Uva3FEWFRMUUVs
bm4wSnI0QjJSVmdoTnJtTm1vRW43cFhJZXNoUGd1WFZzdndvVGRtQ2xxNDlKSlUzTFdoSHlXVHJK
TDliUlA2Vkt2M3Rab0EvdGg3N3A1SncrK09FRU52eXZXeS9wTmVFeGlEVVZRYVhJUkdoOHh5U1pU
STM2eXVlRmFTWG8xdUpZMFJuWFlnRU9vV1dPSkhlYVZ1WC9iR05oSHNoMnlpbnpubC8rK05KY0U5
ajZmQlBSY0JkcTloYjhhd053OFU3Qmw2R003eDY5RURPSUliWC9ucForK2FtbEhSOUwvMzVtRS8y
U3M0Z2IweENjWTRWeVRGTFJFNzk2dkh5c0xBYW1xY3lPK2FGUXlKSURCTnNsYkgyL01yQXZaaVNF
SWVkYy9jcWptdjRmYmRhMnBYYnYrRjVhMnN6U3Nka205bm9pTlVSWHQ4ZWRVaEdVRjZmU1pXZDFJ
SmFYS0Z3RCs0OVI2ZUNYRDRCa2VmN2o5dFJ0Tk1WZ1c4QmhSei9RcHkxVG1lWWswZG95alpvSlNi
ZVBPUmVWSGdrRnNDRnVRSitMZ2M0QnhlQXNLL2NPaU5EUm1kTncwY3RZaG4vblE0OThkWUk1em56
R0xvSmkxcmF2N0NuODhyTDN3TGVQVnRESzVnbDc3VGtpM2dIRXNJQVEyK0lLZ2FyajdZOFcxSVF6
VjVWOU4rMFRqTHFiZzY4V2ZLY09tQkNPajNKa3dKaFZJa3dEaGMrSm9yWHVaRVBNRWgwdnZIM3g3
aXFmK1ZBd1hnZDRkaVppYUpEMXpITDlTbng2V2ZnNEl1Z3JleWhhYlFrY2lyK3k1WGdEdGR4M0F2
czdsa2VlQ0J3RHZab1RVQ1h4NVFyWmtjRXFXZllFaUVZUnMvRXBobVJBTFNOR1IxSWNsZ2RyNVZG
b0VMcHpGNCsrZjM1dzMvajB0NXVjVzNuMmNoNFBRQ0x1VVh1cHNQUlI3VUE1RmpTS3JNdFBjS0Fa
SmZhZ080bEdFN0ZIM1lLTWpvcnBLMFp4QXYraTJKa0podEFNV1dXRmVqNFJoUFIvY0ozRHh3b2ND
dlhEaTRTR1pVNGN1K0szMlhuZGlGV2dvcEFsKzBHQXBjd2YxWHZ5bUpjRnMzOWpFeElCTzR5VWpV
OU1FeEJMUVljOUgrVzcrSWdkRVNQUnBjaVQrcktaUGViVnRhVnErMUdZTy81eFRBTDNIQVNqTlRH
SWdNdmRqV2JnYzdKdmRFMXpJRnB1QzBVOUVTaVp5ekJpeHp4V3hqNEt3aDhNeTM0cStGSzNLTkx0
bXNBMXF5cm1LU05RT1hDUFVaZCtPTmVsQlR2Rm9VSS9DWXNxYS9SaHRLaXlNZjJDZ1NGcUVQazU5
WTN1cW5sWjhnRnBzd2ZTWXlrbzIzeVZaWXh6S0d4R200OVpxeGcxbDhvejVSYTlYYVJ3SGt1eGVw
bWd5aG0wU29OeTJLbGJjRXFLKzlRcVM5UE54OUlobTlVN2dzUjU1U1NKMUZCRE5ua3VXS3hJWjBT
RHBYdU9Hd1pkb1ViT01EUEhQNHZCQWd6MlZsU0VKQUhaR0pWYllJZzdsL0ZPNUtmSVZ2eEM4cFBQ
eE1HY05Nb2V2RkRlU3R0MmlxenRFMTBuMlRBNGRnSkg3NllTOUhEaEtIRDNpQ3g2aWVGWDg0QkFJ
M1FRbm5naDc2ZjVydVBRVmJyNXFabWNrLzVVakRjMjZsZnJPdlVCV3kwT2dsOGJDb09rTU9uczgx
VG5DM2N1VVM5S1c4KzlBK2ZlM1hZWk9GVVBHMXU1ZXBTU21ETHcwczVzMkYwVzMwQU5lbyt6SmtK
UXo5U1BaZ3p3WXBFb2t0b2ZoR1ZmbUxPQUIyMGJvQ2JXMVFXcS9OcEVUL2huTWVjdy91U3lBSDRO
SmMzRUNPVTRubmtLMWZqM1MvaTVkd2IzUjdrMDBBcVFRVXd0N0llMXFWMGFZL1ZRWDBKOGhMUHk3
ZUJOWE1IWVpZRE54SFoyUWg2QXVYSnhxK0FlUmVjL1ErSkxoWlY2aHBYd1FFenc3YmY1djl1VWYy
dnBxM3FsaG15MElJR1Rrd1lkQ2ZTQUZtcWJkbyszWHZEVERqRkpkZTBtYmVRTGNuMm4zMXhhQXFK
MGl4Ty9DTHNUNEk0RzREb25jVlRnUkdOQnRzQ2NqSVNXVCtvZVhaNEllZHcvOE9zSkkxYVBuTktM
WC82MFZ2Y1piOTR1YXNSeENrcWxQUTExdTFTYTJoSHZCODBXUUVOeFZ5empuczAvUGlFQnl5aWwy
MVRlNm9pc2szbU5DRU1yaG91Q0ZPM3lFWlRISE9DTXk5ZWIvNFRtaThjVmYzTGY3UDUzU1kyaFgz
UFNOMDMzQXMzRVRJTUxIV3VtV0VPOUpYSEEyeTJTSUJsSVBwTEdHMnF2TnNDSWxJcitCMVNXQXFS
S20ydzZCbGY3VSt6Q1NCd0pyZkhHNWk4SjVHYXgvY1Zvbk1sb243YUhKWC9nU3Z1Y0luY1JQOTNY
Q3FrdjdEOElGS0ZzTGlCZ0hxVXBYaEUzcFlqRWNWMWRrL0pEOXpGVkNmRWFRSVZYOEptZno3SUlv
ZmNCS1E0T2FHK0MzeEMydmVYOUNEK2lBRlhETmFHZzllVFZ4dmtiSlJKbFc0Tms5V2sxM2tuNjk2
aldwcFJEZS84cERyWU1POVp5eFo5OFJlS1N6OWtXS0xMeWsyekNaZ0FuaUNrTEpWWDNuMU05RFli
b215YWhXaXYvS2l4UklWOWhqL29Gejg3SStITHpuYlBUanBhK0QrYlpRbk11UnNsalRwdjkwdlFV
dC9wSzdqQ0ZuQTMwQi9qdHJvU0YyL20vZ3BXbjFhUXM1V2VBNmdoekY4U2RxV0kyMGZnaGRTZURP
Q1NDbUxnVGtmYUdnR0RtdzduSEZrUnpHdGFnNTdJSFMybmEwNkkrZ3pFcGhYbzF3L1p4MkJNL2pL
TDJuWm9GakhnZ3RGUWpZaThuU1ZSU1hJRTU4UlBiQk9iWGs3dXVJTDkrcnMvNVpvN3N1SkluRVV4
Z3NpWlpBV1MyNWlCdHBFaVplQmdEdGdoRW9BRTBzamNheU5xODVNNHRidS9MRjVoNTEzMzVQc0d6
UTA5Tzg3NSt2VVM4OWxrV015Tk9Gb2lwMlB1eVd5TVAvaVUyWElaZGZDQ0pORGplYkRvQkxRZHB5
N1FRWkM3czljMHdqSEplcnZRTkR1MmpXekJXNU1TQUpNcjdiUCtJdjkyQmtTL0dHZ3pqRW43TUYx
SVJLRnd3emJqYlM0L3NsR09taHg5Y1pyRnU3SFNFZWZvak52M3IwVWFLZktPV3pYc3ExekV1Z2J6
bE1ERnNhY1JKSkkvaUpsSzN2dGtaK1BMWklWTUZsS0EzMndicTJLZDVUMHVDTFoxQ1BrQWZDZHpr
ejJFWXNjakRjWnEyQVdmemlOMmNvdk40a1hFMWxRWFBQTFROTTF4eDN0YmllcGNPL3QzU1dtNHc4
N3FmaDk5U0wwWm5ZK0xLRlBMUGVYVk0ybUlJb1ZXdCs5TmswSTduWTRPNzlpR1lxeFo4UlZ6Mjg5
YW42TlZkSlduU0tadkpRQ0F1SE5pVmFEeFBBRm9IMzkydDl3b3Q1dDAvcW1VOTVlRVdOYlUydWRV
VzVzTjlKVnFjWWx2QUlmTGVZQzMzb1V6enhaZ1NrdHN2MjFtQTdVbHkxRkE1Vm5vSkZoNk4yNDRX
bXYzWUpHRnYvVENQcnlhdytaT1JscFpqUWRxLzJEWVhyM0Vac2tmZWQwRzYxUDA5aXBUS21sVFEx
MDY3Umc1K1BBazVGbFE5ZTBTV2JHZjJCLzA4a3F5bU9UTVZPem5zQUxISE5GSDRMRlJLbDJGL05P
aVlGbDlraE5IblN1OUFrNXNxMjZZbmwvaTJmZFRsZTI5WTF1Z3FtUjVZajRZVDlwdnNsRnlZQ2J3
MG1ORnI1clZRbTFMdmtHMjdRTXE5cGgzdDhmbW42cjZTUTRvU2JyNXR6K0oxa0lhd0d6RHhiNlZZ
T3Z2V2hvYkRUWGZCZU52M2I0YU5tNVhVaW5zQ0dxRzJxLzQ1bTMrTG9DT3NkZEZjZVloUngxVHNz
czlQTGRQZkpkRXJGTWpZZDNnZGRqaVAwK1hRamNSYWRaUDZid05MeVN2dW5GZjIwQ3p5NkpxZEVX
MmE5Nkt4ZFlkT3J5QnYxQmpidVVxMnlDSGVoKzZzazdmR21tUGk1MHBlLzFsNVR5UGU1b0hXOW9Q
bmhQc3dMeWYyVEZEZEN5WWxod0JDc3R2NUMxSHdsVzd4V29HVDlYWnQ0cVZqNVdyeUxQTExENmgv
NWNNTEVqV3pnQ2VBSUtOc0xhazkyYUJxQnNIbDRBSndsMk40amZ2YlNrQkV4R2ltdjBuRnZ2MDl1
RFNjUWJqeCt3NGtQUWpnamxXK2c5d3M5VkVKdkkyazhONlh4VnUwdUl3b3ZnVEZkdW5HMjRnQnRh
RGkreTFZTFF3Wjhtd2JpcDVmVmxPM2swbjBBRXIvRVRidHU4VmprbStuTlNpRWI3WC8zZk1qQkw1
QThQZGdHKy9GbmJleGJGRkV4bUVmZXRYQW5pc0VLeTV6NDRXVlBwUVpqU3kvanplR240eURSc0ZH
cWhoODdRUGFEQldobG8zN0lGYmUvQzB4eW5TOTFkMnRQL0FKb0pTMHNWRjZpd0FBQUFBRWxGVGtT
dVFtQ0MiKTsKLX0KLQotI21lbnU6OmFmdGVyIHsKLSAgZGlzcGxheTogYmxvY2s7Ci0gIGNvbnRl
bnQ6ICcnOwotICBwYWRkaW5nLXRvcDogODBweDsKLX0KLQotI2xvZ28gewotICBwb3NpdGlvbjog
Zml4ZWQ7Ci0gIGJvdHRvbTogMTBweDsKLSAgcmlnaHQ6IDEwcHg7Ci0gIGJhY2tncm91bmQ6IHJn
YmEoMjU1LDI1NSwyNTUsLjEpOwotICBmb250LXNpemU6IDExcHg7Ci0gIGRpc3BsYXk6IGJsb2Nr
OwotICB3aWR0aDogMjBweDsKLSAgaGVpZ2h0OiAyMHB4OwotICBsaW5lLWhlaWdodDogMjBweDsK
LSAgdGV4dC1hbGlnbjogY2VudGVyOwotICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDIwcHg7Ci0g
IC1tb3otYm9yZGVyLXJhZGl1czogMjBweDsKLSAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgM3B4
IHJnYmEoMCwwLDAsLjIpOwotICAtbW96LWJveC1zaGFkb3c6IDAgMCAzcHggcmdiYSgwLDAsMCwu
Mik7Ci0gIGNvbG9yOiBpbmhlcml0OwotfQotCi0jbWVudSBsaSBhIHsKLSAgZGlzcGxheTogYmxv
Y2s7Ci0gIGNvbG9yOiB3aGl0ZTsKLSAgcGFkZGluZzogMCAzNXB4IDAgMjVweDsKLSAgLXdlYmtp
dC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDMwMG1zOwotICAtbW96LXRyYW5zaXRpb246IGJhY2tn
cm91bmQgMzAwbXM7Ci19Ci0KLSNtZW51IGxpIHsKLSAgcG9zaXRpb246IHJlbGF0aXZlOwotICBs
aXN0LXN0eWxlOiBub25lOwotfQotCi0jbWVudSBhOmhvdmVyLAotI21lbnUgYS5hY3RpdmUgewot
ICB0ZXh0LWRlY29yYXRpb246IG5vbmU7Ci0gIGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUs
LjEpOwotfQotCi0jbWVudSBsaTpob3ZlciAuY292IHsKLSAgb3BhY2l0eTogMTsKLX0KLQotI21l
bnUgbGkgLmRpcm5hbWUgewotICBvcGFjaXR5OiAuNjA7Ci0gIHBhZGRpbmctcmlnaHQ6IDJweDsK
LX0KLQotI21lbnUgbGkgLmJhc2VuYW1lIHsKLSAgb3BhY2l0eTogMTsKLX0KLQotI21lbnUgLmNv
diB7Ci0gIGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsLjQpOwotICBwb3NpdGlvbjogYWJzb2x1dGU7
Ci0gIHRvcDogMDsKLSAgcmlnaHQ6IDhweDsKLSAgZm9udC1zaXplOiA5cHg7Ci0gIG9wYWNpdHk6
IC42OwotICB0ZXh0LWFsaWduOiBsZWZ0OwotICB3aWR0aDogMTdweDsKLSAgLXdlYmtpdC1ib3Jk
ZXItcmFkaXVzOiAxMHB4OwotICAtbW96LWJvcmRlci1yYWRpdXM6IDEwcHg7Ci0gIHBhZGRpbmc6
IDJweCAzcHg7Ci0gIHRleHQtYWxpZ246IGNlbnRlcjsKLX0KLQotI3N0YXRzOm50aC1jaGlsZCgy
bikgewotICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7Ci0gIG1hcmdpbi10b3A6IDE1cHg7Ci0gIGJv
cmRlcjogMXB4IHNvbGlkICNlZWU7Ci0gIHBhZGRpbmc6IDEwcHg7Ci0gIC13ZWJraXQtYm94LXNo
YWRvdzogaW5zZXQgMCAwIDJweCAjZWVlOwotICAtbW96LWJveC1zaGFkb3c6IGluc2V0IDAgMCAy
cHggI2VlZTsKLSAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA1cHg7Ci0gIC1tb3otYm9yZGVyLXJh
ZGl1czogNXB4OwotfQotCi0jc3RhdHMgZGl2IHsKLSAgZmxvYXQ6IGxlZnQ7Ci0gIHBhZGRpbmc6
IDAgNXB4OwotfQotCi0jc3RhdHM6OmFmdGVyIHsKLSAgZGlzcGxheTogYmxvY2s7Ci0gIGNvbnRl
bnQ6ICcnOwotICBjbGVhcjogYm90aDsKLX0KLQotI3N0YXRzIC5zbG9jOjphZnRlciB7Ci0gIGNv
bnRlbnQ6ICcgU0xPQyc7Ci0gIGNvbG9yOiAjYjZiNmI2OwotfQotCi0jc3RhdHMgLnBlcmNlbnRh
Z2U6OmFmdGVyIHsKLSAgY29udGVudDogJyBjb3ZlcmFnZSc7Ci0gIGNvbG9yOiAjYjZiNmI2Owot
fQotCi0jc3RhdHMgLmhpdHMsCi0jc3RhdHMgLm1pc3NlcyB7Ci0gIGRpc3BsYXk6IG5vbmU7Ci19
Ci0KLS5oaWdoIHsKLSAgY29sb3I6ICMwMGQ0YjQ7Ci19Ci0ubWVkaXVtIHsKLSAgY29sb3I6ICNl
ODdkMGQ7Ci19Ci0ubG93IHsKLSAgY29sb3I6ICNkNDA4MWE7Ci19Ci0udGVycmlibGUgewotICBj
b2xvcjogI2Q0MDgxYTsKLSAgZm9udC13ZWlnaHQ6IGJvbGQ7Ci19Ci0KLXRhYmxlIHsKLSAgd2lk
dGg6IDgwJTsKLSAgbWFyZ2luLXRvcDogMTBweDsKLSAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBz
ZTsKLSAgYm9yZGVyOiAxcHggc29saWQgI2NiY2JjYjsKLSAgY29sb3I6ICMzNjM2MzY7Ci0gIC13
ZWJraXQtYm9yZGVyLXJhZGl1czogM3B4OwotICAtbW96LWJvcmRlci1yYWRpdXM6IDNweDsKLX0K
LQotdGFibGUgdGhlYWQgewotICBkaXNwbGF5OiBub25lOwotfQotCi10YWJsZSB0ZC5saW5lLAot
dGFibGUgdGQuaGl0cyB7Ci0gIHdpZHRoOiAyMHB4OwotICBiYWNrZ3JvdW5kOiAjZWFlYWVhOwot
ICB0ZXh0LWFsaWduOiBjZW50ZXI7Ci0gIGZvbnQtc2l6ZTogMTFweDsKLSAgcGFkZGluZzogMCAx
MHB4OwotICBjb2xvcjogIzk0OTQ5NDsKLX0KLQotdGFibGUgdGQuaGl0cyB7Ci0gIHdpZHRoOiAx
MHB4OwotICBwYWRkaW5nOiAycHggNXB4OwotICBjb2xvcjogcmdiYSgwLDAsMCwuMik7Ci0gIGJh
Y2tncm91bmQ6ICNmMGYwZjA7Ci19Ci0KLXRyLm1pc3MgdGQubGluZSwKLXRyLm1pc3MgdGQuaGl0
cyB7Ci0gIGJhY2tncm91bmQ6ICNlNmMzYzc7Ci19Ci0KLXRyLm1pc3MgdGQgewotICBiYWNrZ3Jv
dW5kOiAjZjhkNWQ4OwotfQotCi10ZC5zb3VyY2UgewotICBwYWRkaW5nLWxlZnQ6IDE1cHg7Ci0g
IGxpbmUtaGVpZ2h0OiAxNXB4OwotICB3aGl0ZS1zcGFjZTogcHJlOwotICBmb250OiAxMnB4IG1v
bmFjbywgbW9ub3NwYWNlOwotfQotCi1jb2RlIC5jb21tZW50IHsgY29sb3I6ICNkZGQgfQotY29k
ZSAuaW5pdCB7IGNvbG9yOiAjMkY2RkFEIH0KLWNvZGUgLnN0cmluZyB7IGNvbG9yOiAjNTg5MEFE
IH0KLWNvZGUgLmtleXdvcmQgeyBjb2xvcjogIzhBNjM0MyB9Ci1jb2RlIC5udW1iZXIgeyBjb2xv
cjogIzJGNkZBRCB9Ci08L3N0eWxlPjwvaGVhZD48Ym9keT48ZGl2IGlkPSJjb3ZlcmFnZSI+PGgx
IGlkPSJvdmVydmlldyI+Q292ZXJhZ2U8L2gxPjxkaXYgaWQ9Im1lbnUiPjxsaT48YSBocmVmPSIj
b3ZlcnZpZXciPm92ZXJ2aWV3PC9hPjwvbGk+PGxpPjxzcGFuIGNsYXNzPSJjb3YgaGlnaCI+OTU8
L3NwYW4+PGEgaHJlZj0iI3dlYmlkbDIuanMiPjxzcGFuIGNsYXNzPSJiYXNlbmFtZSI+d2ViaWRs
Mi5qczwvc3Bhbj48L2E+PC9saT48YSBpZD0ibG9nbyIgaHJlZj0iaHR0cDovL3Zpc2lvbm1lZGlh
LmdpdGh1Yi5jb20vbW9jaGEvIj5tPC9hPjwvZGl2PjxkaXYgaWQ9InN0YXRzIiBjbGFzcz0iaGln
aCI+PGRpdiBjbGFzcz0icGVyY2VudGFnZSI+OTUlPC9kaXY+PGRpdiBjbGFzcz0ic2xvYyI+NTcy
PC9kaXY+PGRpdiBjbGFzcz0iaGl0cyI+NTQ4PC9kaXY+PGRpdiBjbGFzcz0ibWlzc2VzIj4yNDwv
ZGl2PjwvZGl2PjxkaXYgaWQ9ImZpbGVzIj48ZGl2IGNsYXNzPSJmaWxlIj48aDIgaWQ9IndlYmlk
bDIuanMiPndlYmlkbDIuanM8L2gyPjxkaXYgaWQ9InN0YXRzIiBjbGFzcz0iaGlnaCI+PGRpdiBj
bGFzcz0icGVyY2VudGFnZSI+OTUlPC9kaXY+PGRpdiBjbGFzcz0ic2xvYyI+NTcyPC9kaXY+PGRp
diBjbGFzcz0iaGl0cyI+NTQ4PC9kaXY+PGRpdiBjbGFzcz0ibWlzc2VzIj4yNDwvZGl2PjwvZGl2
Pjx0YWJsZSBpZD0ic291cmNlIj48dGhlYWQ+PHRyPjx0aD5MaW5lPC90aD48dGg+SGl0czwvdGg+
PHRoPlNvdXJjZTwvdGg+PC90cj48L3RoZWFkPjx0Ym9keT48dHI+PHRkIGNsYXNzPSJsaW5lIj4x
PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiA8L3RkPjwvdHI+
PHRyPjx0ZCBjbGFzcz0ibGluZSI+MjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFz
cz0ic291cmNlIj4gPC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4z
PC90ZD48dGQgY2xhc3M9ImhpdHMiPjE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj48c3BhbiBjbGFz
cz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0iayI+ZnVuY3Rpb248L3NwYW4+IDxzcGFuIGNsYXNz
PSJrIj4oKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFz
cz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj40PC90ZD48dGQgY2xhc3M9ImhpdHMiPjE8L3RkPjx0
ZCBjbGFzcz0ic291cmNlIj4gICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gdG9rZW5pc2Ug
PHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5mdW5jdGlvbjwvc3Bhbj4g
PHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+c3RyPHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFu
IGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0i
bGluZSI+NTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40NzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAg
ICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gdG9rZW5zIDxzcGFuIGNsYXNzPSJrIj49
PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+W108L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9
ImxpbmUiPjY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAg
ICAgICA8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gICByZSA8c3BhbiBjbGFzcz0iayI+PTwvc3Bh
bj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUi
Pjc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAg
ICAgICAgIDxzcGFuIGNsYXNzPSJzIj4iZmxvYXQiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj46PC9z
cGFuPiAgICAgICAgPHNwYW4gY2xhc3M9InMiPi9eLT8oKFswLTldK1wuWzAtOV0qfFswLTldKlwu
WzAtOV0rKShbRWVdWy0rXT9bMC05XSspP3xbMC05XStbRWVdWy0rXT9bMC05XSspLzwvc3Bhbj48
L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+ODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3Rk
Pjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4g
ICA8c3BhbiBjbGFzcz0icyI+ImludGVnZXIiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj46PC9zcGFu
PiAgICAgIDxzcGFuIGNsYXNzPSJzIj4vXi0/KDAoW1h4XVswLTlBLUZhLWZdK3xbMC03XSopfFsx
LTldWzAtOV0qKS88L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjk8L3RkPjx0
ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4g
Y2xhc3M9ImsiPiw8L3NwYW4+ICAgPHNwYW4gY2xhc3M9InMiPiJpZGVudGlmaWVyIjwvc3Bhbj48
c3BhbiBjbGFzcz0iayI+Ojwvc3Bhbj4gICA8c3BhbiBjbGFzcz0icyI+L15bQS1aX2Etel1bMC05
QS1aX2Etel0qLzwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+MTA8L3RkPjx0
ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4g
Y2xhc3M9ImsiPiw8L3NwYW4+ICAgPHNwYW4gY2xhc3M9InMiPiJzdHJpbmciPC9zcGFuPjxzcGFu
IGNsYXNzPSJrIj46PC9zcGFuPiAgICAgICA8c3BhbiBjbGFzcz0icyI+L14iW14iXSoiLzwvc3Bh
bj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+MTE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+
PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPiw8L3Nw
YW4+ICAgPHNwYW4gY2xhc3M9InMiPiJ3aGl0ZXNwYWNlIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+
Ojwvc3Bhbj4gICA8c3BhbiBjbGFzcz0icyI+L14oPzpbXHRcblxyIF0rfFtcdFxuXHIgXSooKFwv
XC8uKnxcL1wqKC58XG58XHIpKj9cKlwvKVtcdFxuXHIgXSopKSsvPC9zcGFuPjwvdGQ+PC90cj48
dHI+PHRkIGNsYXNzPSJsaW5lIj4xMjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFz
cz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gICA8c3BhbiBj
bGFzcz0icyI+Im90aGVyIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ojwvc3Bhbj4gICAgICAgIDxz
cGFuIGNsYXNzPSJzIj4vXlteXHRcblxyIDAtOUEtWl9hLXpdLzwvc3Bhbj48L3RkPjwvdHI+PHRy
Pjx0ZCBjbGFzcz0ibGluZSI+MTM8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9
InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PC90ZD48L3RyPjx0
cj48dGQgY2xhc3M9ImxpbmUiPjE0PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNz
PSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+ICAgdHlwZXMgPHNwYW4g
Y2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5bXTwvc3Bhbj48L3RkPjwvdHI+PHRy
Pjx0ZCBjbGFzcz0ibGluZSI+MTU8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9
InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNs
YXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjE2PC90ZD48dGQgY2xhc3M9ImhpdHMiPjMyOTwv
dGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmZvcjwvc3Bhbj4g
PHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gayA8c3Bh
biBjbGFzcz0iayI+aW48L3NwYW4+IHJlPHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IHR5cGVzPHNw
YW4gY2xhc3M9ImsiPi48L3NwYW4+cHVzaDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPms8c3BhbiBj
bGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJs
aW5lIj4xNzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40NzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAg
ICAgICAgPHNwYW4gY2xhc3M9ImsiPndoaWxlPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bh
bj5zdHI8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5sZW5ndGggPHNwYW4gY2xhc3M9ImsiPj48L3Nw
YW4+IDxzcGFuIGNsYXNzPSJzIj4wPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3Bh
biBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9
ImxpbmUiPjE4PC90ZD48dGQgY2xhc3M9ImhpdHMiPjI5MTQ8L3RkPjx0ZCBjbGFzcz0ic291cmNl
Ij4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiBtYXRjaGVkIDxzcGFuIGNs
YXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ZmFsc2U8L3NwYW4+PHNwYW4gY2xhc3M9
ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4x
OTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yOTE0PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAg
ICAgICAgPHNwYW4gY2xhc3M9ImsiPmZvcjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+
PHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gaSA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNw
YW4gY2xhc3M9InMiPjA8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IG4gPHNwYW4gY2xh
c3M9ImsiPj08L3NwYW4+IHR5cGVzPHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+bGVuZ3RoPHNwYW4g
Y2xhc3M9ImsiPjs8L3NwYW4+IGkgPHNwYW4gY2xhc3M9ImsiPjw8L3NwYW4+IG48c3BhbiBjbGFz
cz0iayI+Ozwvc3Bhbj4gaTxzcGFuIGNsYXNzPSJrIj4rKyk8L3NwYW4+IDxzcGFuIGNsYXNzPSJr
Ij57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MjA8
L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTMzMjU8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAg
ICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gdHlwZSA8c3BhbiBjbGFzcz0iayI+
PTwvc3Bhbj4gdHlwZXM8c3BhbiBjbGFzcz0iayI+Wzwvc3Bhbj5pPHNwYW4gY2xhc3M9ImsiPl07
PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MjE8L3Rk
Pjx0ZCBjbGFzcz0iaGl0cyI+MTMzMjU8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAg
ICAgICAgc3RyIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiBzdHI8c3BhbiBjbGFzcz0iayI+Ljwv
c3Bhbj5yZXBsYWNlPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+cmU8c3BhbiBjbGFzcz0iayI+Wzwv
c3Bhbj50eXBlPHNwYW4gY2xhc3M9ImsiPl0sPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ZnVuY3Rp
b248L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPnRvazxzcGFuIGNsYXNzPSJrIj4pPC9z
cGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8
dGQgY2xhc3M9ImxpbmUiPjIyPC90ZD48dGQgY2xhc3M9ImhpdHMiPjI5MTQ8L3RkPjx0ZCBjbGFz
cz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAgIHRva2VuczxzcGFuIGNsYXNzPSJrIj4uPC9z
cGFuPnB1c2g8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj4g
dHlwZTxzcGFuIGNsYXNzPSJrIj46PC9zcGFuPiB0eXBlPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+
IHZhbHVlPHNwYW4gY2xhc3M9ImsiPjo8L3NwYW4+IHRvayA8c3BhbiBjbGFzcz0iayI+fTwvc3Bh
bj48c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRk
IGNsYXNzPSJsaW5lIj4yMzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yOTE0PC90ZD48dGQgY2xhc3M9
InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICBtYXRjaGVkIDxzcGFuIGNsYXNzPSJrIj49PC9z
cGFuPiA8c3BhbiBjbGFzcz0iayI+dHJ1ZTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48
L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjI0PC90ZD48dGQgY2xh
c3M9ImhpdHMiPjI5MTQ8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAg
IDxzcGFuIGNsYXNzPSJrIj5yZXR1cm48L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iIjwvc3Bhbj48
c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+MjU8
L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAg
ICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3Rk
PjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjI2PC90ZD48dGQgY2xhc3M9
ImhpdHMiPjE2MjM5PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFu
IGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+bWF0Y2hlZDxzcGFu
IGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+YnJlYWs8L3NwYW4+PHNwYW4gY2xh
c3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjI3PC90ZD48dGQg
Y2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNs
YXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGlu
ZSI+Mjg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NTgyODwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAg
ICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3Nw
YW4+bWF0Y2hlZDxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+Y29udGlu
dWU8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0ibWlz
cyI+IDx0ZCBjbGFzcz0ibGluZSI+Mjk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MDwvdGQ+PHRkIGNs
YXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj50aHJvdzwvc3Bhbj4gPHNw
YW4gY2xhc3M9ImsiPm5ldzwvc3Bhbj4gRXJyb3I8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3Bh
biBjbGFzcz0icyI+IlRva2VuIHN0cmVhbSBub3QgcHJvZ3Jlc3NpbmciPC9zcGFuPjxzcGFuIGNs
YXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+MzA8L3RkPjx0
ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFz
cz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUi
PjMxPC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ3PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAg
ICA8c3BhbiBjbGFzcz0iayI+cmV0dXJuPC9zcGFuPiB0b2tlbnM8c3BhbiBjbGFzcz0iayI+Ozwv
c3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+MzI8L3RkPjx0ZCBjbGFzcz0iaGl0
cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjxz
cGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj4zMzwv
dGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgPC90ZD48L3Ry
Pjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4zNDwvdGQ+PHRkIGNsYXNzPSJoaXRz
Ij4xPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+
IHBhcnNlIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ZnVuY3Rpb248
L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPnRva2VuczxzcGFuIGNsYXNzPSJrIj4pPC9z
cGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8
dGQgY2xhc3M9ImxpbmUiPjM1PC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ3PC90ZD48dGQgY2xhc3M9
InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiBsaW5lIDxzcGFuIGNs
YXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+MTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+
Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjM2PC90
ZD48dGQgY2xhc3M9ImhpdHMiPjQ3PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICB0b2tl
bnMgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IHRva2VuczxzcGFuIGNsYXNzPSJrIj4uPC9zcGFu
PnNsaWNlPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0i
bGluZSI+Mzc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAg
ICAgICA8L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjM4PC90ZD48
dGQgY2xhc3M9ImhpdHMiPjQ3PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8c3BhbiBj
bGFzcz0iayI+dmFyPC9zcGFuPiBGTE9BVCA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4g
Y2xhc3M9InMiPiJmbG9hdCI8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjM5
PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNw
YW4gY2xhc3M9ImsiPiw8L3NwYW4+ICAgSU5UIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3Bh
biBjbGFzcz0icyI+ImludGVnZXIiPC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5l
Ij40MDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAg
IDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiAgIElEIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8
c3BhbiBjbGFzcz0icyI+ImlkZW50aWZpZXIiPC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNz
PSJsaW5lIj40MTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4g
ICAgICAgIDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiAgIFNUUiA8c3BhbiBjbGFzcz0iayI+PTwv
c3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJzdHJpbmciPC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNs
YXNzPSJsaW5lIj40MjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNl
Ij4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiAgIE9USEVSIDxzcGFuIGNsYXNzPSJr
Ij49PC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+Im90aGVyIjwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0
ZCBjbGFzcz0ibGluZSI+NDM8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNv
dXJjZSI+ICAgICAgICA8c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBj
bGFzcz0ibGluZSI+NDQ8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJj
ZSI+ICAgICAgICA8L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjQ1
PC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ3PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8
c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiBXZWJJRExQYXJzZUVycm9yIDxzcGFuIGNsYXNzPSJr
Ij49PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ZnVuY3Rpb248L3NwYW4+IDxzcGFuIGNsYXNzPSJr
Ij4oPC9zcGFuPnN0cjxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiBsaW5lPHNwYW4gY2xhc3M9Imsi
Piw8L3NwYW4+IGlucHV0PHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IHRva2VuczxzcGFuIGNsYXNz
PSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNz
PSJtaXNzIj4gPHRkIGNsYXNzPSJsaW5lIj40NjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4wPC90ZD48
dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnRoaXM8L3NwYW4+
PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+bWVzc2FnZSA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4g
c3RyPHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0ibWlzcyI+IDx0
ZCBjbGFzcz0ibGluZSI+NDc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MDwvdGQ+PHRkIGNsYXNzPSJz
b3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj50aGlzPC9zcGFuPjxzcGFuIGNsYXNz
PSJrIj4uPC9zcGFuPmxpbmUgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IGxpbmU8c3BhbiBjbGFz
cz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJtaXNzIj4gPHRkIGNsYXNzPSJsaW5l
Ij40ODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4wPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAg
ICAgICAgPHNwYW4gY2xhc3M9ImsiPnRoaXM8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+
aW5wdXQgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IGlucHV0PHNwYW4gY2xhc3M9ImsiPjs8L3Nw
YW4+PC90ZD48L3RyPjx0ciBjbGFzcz0ibWlzcyI+IDx0ZCBjbGFzcz0ibGluZSI+NDk8L3RkPjx0
ZCBjbGFzcz0iaGl0cyI+MDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFu
IGNsYXNzPSJrIj50aGlzPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnRva2VucyA8c3Bh
biBjbGFzcz0iayI+PTwvc3Bhbj4gdG9rZW5zPHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48
L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjUwPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRk
IGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PHNwYW4gY2xh
c3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5l
Ij41MTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40NzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAg
ICAgV2ViSURMUGFyc2VFcnJvcjxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnByb3RvdHlwZTxzcGFu
IGNsYXNzPSJrIj4uPC9zcGFuPnRvU3RyaW5nIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3Bh
biBjbGFzcz0iayI+ZnVuY3Rpb248L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oKTwvc3Bhbj4gPHNw
YW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0ibWlzcyI+IDx0ZCBjbGFz
cz0ibGluZSI+NTI8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2Ui
PiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5yZXR1cm48L3NwYW4+IDxzcGFuIGNsYXNzPSJr
Ij50aGlzPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPm1lc3NhZ2UgPHNwYW4gY2xhc3M9
ImsiPis8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iLCBsaW5lICI8L3NwYW4+IDxzcGFuIGNsYXNz
PSJrIj4rPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+dGhpczwvc3Bhbj48c3BhbiBjbGFzcz0iayI+
Ljwvc3Bhbj5saW5lIDxzcGFuIGNsYXNzPSJrIj4rPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+IiAo
dG9rZW5zOiAnIjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPis8L3NwYW4+IDxzcGFuIGNsYXNzPSJr
Ij50aGlzPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPmlucHV0IDxzcGFuIGNsYXNzPSJr
Ij4rPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+IicpPC9zcGFuPjxzcGFuIGNsYXNzPSJ0Ij5cbjwv
c3Bhbj48c3BhbiBjbGFzcz0icyI+Ijwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPis8L3NwYW4+PC90
ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjUzPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+
PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICBKU09OPHNwYW4gY2xhc3M9Imsi
Pi48L3NwYW4+c3RyaW5naWZ5PHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9Imsi
PnRoaXM8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+dG9rZW5zPHNwYW4gY2xhc3M9Imsi
Piw8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5udWxsPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4sPC9z
cGFuPiA8c3BhbiBjbGFzcz0icyI+NDwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90
ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjU0PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+
PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PHNwYW4g
Y2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjU1PC90ZD48
dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPC90ZD48L3Ry
Pjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj41NjwvdGQ+PHRkIGNsYXNzPSJoaXRz
Ij40NzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwv
c3Bhbj4gZXJyb3IgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5mdW5j
dGlvbjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+c3RyPHNwYW4gY2xhc3M9ImsiPik8
L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9Im1pc3Mi
PiA8dGQgY2xhc3M9ImxpbmUiPjU3PC90ZD48dGQgY2xhc3M9ImhpdHMiPjA8L3RkPjx0ZCBjbGFz
cz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiB0b2sgPHNw
YW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iIjwvc3Bhbj48c3BhbiBjbGFz
cz0iayI+LDwvc3Bhbj4gbnVtVG9rZW5zIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBj
bGFzcz0icyI+MDwvc3Bhbj48c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gbWF4VG9rZW5zIDxzcGFu
IGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+NTwvc3Bhbj48c3BhbiBjbGFzcz0i
ayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJtaXNzIj4gPHRkIGNsYXNzPSJsaW5lIj41
ODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4wPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAg
ICAgPHNwYW4gY2xhc3M9ImsiPndoaWxlPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5u
dW1Ub2tlbnMgPHNwYW4gY2xhc3M9ImsiPjw8L3NwYW4+IG1heFRva2VucyA8c3BhbiBjbGFzcz0i
ayI+JmFtcDsmYW1wOzwvc3Bhbj4gdG9rZW5zPHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+bGVuZ3Ro
IDxzcGFuIGNsYXNzPSJrIj4+PC9zcGFuPiBudW1Ub2tlbnM8c3BhbiBjbGFzcz0iayI+KTwvc3Bh
bj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0ibWlzcyI+IDx0
ZCBjbGFzcz0ibGluZSI+NTk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MDwvdGQ+PHRkIGNsYXNzPSJz
b3VyY2UiPiAgICAgICAgICAgICAgICB0b2sgPHNwYW4gY2xhc3M9ImsiPis9PC9zcGFuPiB0b2tl
bnM8c3BhbiBjbGFzcz0iayI+Wzwvc3Bhbj5udW1Ub2tlbnM8c3BhbiBjbGFzcz0iayI+XS48L3Nw
YW4+dmFsdWU8c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJtaXNz
Ij4gPHRkIGNsYXNzPSJsaW5lIj42MDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4wPC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIG51bVRva2VuczxzcGFuIGNsYXNzPSJrIj4rKzs8
L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjYxPC90ZD48dGQgY2xhc3M9Imhp
dHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj59
PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9Im1pc3MiPiA8dGQgY2xhc3M9ImxpbmUiPjYyPC90
ZD48dGQgY2xhc3M9ImhpdHMiPjA8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8
c3BhbiBjbGFzcz0iayI+dGhyb3c8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5uZXc8L3NwYW4+IFdl
YklETFBhcnNlRXJyb3I8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5zdHI8c3BhbiBjbGFzcz0iayI+
LDwvc3Bhbj4gbGluZTxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiB0b2s8c3BhbiBjbGFzcz0iayI+
LDwvc3Bhbj4gdG9rZW5zPHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+c2xpY2U8c3BhbiBjbGFzcz0i
ayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0icyI+MDwvc3Bhbj48c3BhbiBjbGFzcz0iayI+LDwvc3Bh
bj4gPHNwYW4gY2xhc3M9InMiPjU8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPikpOzwvc3Bhbj48L3Rk
PjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NjM8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48
dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48c3BhbiBj
bGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NjQ8L3RkPjx0
ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8L3RkPjwvdHI+
PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjY1PC90ZD48dGQgY2xhc3M9ImhpdHMi
PjQ3PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9z
cGFuPiBsYXN0X3Rva2VuIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+
bnVsbDwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFz
cz0ibGluZSI+NjY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+
ICAgICAgICA8L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjY3PC90
ZD48dGQgY2xhc3M9ImhpdHMiPjQ3PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8c3Bh
biBjbGFzcz0iayI+dmFyPC9zcGFuPiBjb25zdW1lIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8
c3BhbiBjbGFzcz0iayI+ZnVuY3Rpb248L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPnR5
cGU8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gdmFsdWU8c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4g
PHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNs
YXNzPSJsaW5lIj42ODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj44Nzc4PC90ZD48dGQgY2xhc3M9InNv
dXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0i
ayI+KCE8L3NwYW4+dG9rZW5zPHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+bGVuZ3RoIDxzcGFuIGNs
YXNzPSJrIj58fDwvc3Bhbj4gdG9rZW5zPHNwYW4gY2xhc3M9ImsiPls8L3NwYW4+PHNwYW4gY2xh
c3M9InMiPjA8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPl0uPC9zcGFuPnR5cGUgPHNwYW4gY2xhc3M9
ImsiPiE9PTwvc3Bhbj4gdHlwZTxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0i
ayI+cmV0dXJuPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xh
c3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+Njk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NTQ3MDwv
dGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bh
bj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPnR5cGVvZjwvc3Bhbj4g
dmFsdWUgPHNwYW4gY2xhc3M9ImsiPj09PTwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJ1bmRlZmlu
ZWQiPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+fHw8L3NwYW4+IHRva2VuczxzcGFuIGNsYXNzPSJr
Ij5bPC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4wPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj5dLjwvc3Bh
bj52YWx1ZSA8c3BhbiBjbGFzcz0iayI+PT09PC9zcGFuPiB2YWx1ZTxzcGFuIGNsYXNzPSJrIj4p
PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQi
PiA8dGQgY2xhc3M9ImxpbmUiPjcwPC90ZD48dGQgY2xhc3M9ImhpdHMiPjE3Mzg8L3RkPjx0ZCBj
bGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgIGxhc3RfdG9rZW4gPHNwYW4gY2xhc3M9Imsi
Pj08L3NwYW4+IHRva2VuczxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnNoaWZ0PHNwYW4gY2xhc3M9
ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUi
PjcxPC90ZD48dGQgY2xhc3M9ImhpdHMiPjE3Mzg8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAg
ICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5yZXR1cm48L3NwYW4+IGxhc3RfdG9rZW48c3Bh
biBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NzI8L3Rk
Pjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgIDxz
cGFuIGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj43Mzwv
dGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxzcGFu
IGNsYXNzPSJrIj59PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+
PHRkIGNsYXNzPSJsaW5lIj43NDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0i
c291cmNlIj4gICAgICAgIDwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGlu
ZSI+NzU8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDc8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAg
ICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IHdzIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFu
PiA8c3BhbiBjbGFzcz0iayI+ZnVuY3Rpb248L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oKTwvc3Bh
bj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRk
IGNsYXNzPSJsaW5lIj43NjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj42OTYxPC90ZD48dGQgY2xhc3M9
InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFz
cz0iayI+KCE8L3NwYW4+dG9rZW5zPHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+bGVuZ3RoPHNwYW4g
Y2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5yZXR1cm48L3NwYW4+PHNwYW4gY2xh
c3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjc3PC90ZD48dGQg
Y2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNs
YXNzPSJjIj4vLyBjb25zb2xlLmxvZygidG9rZW5zLmxlbmd0aCIsIHRva2Vucy5sZW5ndGgsIHRv
a2Vuc1swXSk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGlu
ZSI+Nzg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NjExNTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAg
ICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3Nw
YW4+dG9rZW5zPHNwYW4gY2xhc3M9ImsiPls8L3NwYW4+PHNwYW4gY2xhc3M9InMiPjA8L3NwYW4+
PHNwYW4gY2xhc3M9ImsiPl0uPC9zcGFuPnR5cGUgPHNwYW4gY2xhc3M9ImsiPj09PTwvc3Bhbj4g
PHNwYW4gY2xhc3M9InMiPiJ3aGl0ZXNwYWNlIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTwvc3Bh
bj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRk
IGNsYXNzPSJsaW5lIj43OTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xMTcyPC90ZD48dGQgY2xhc3M9
InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IHQgPHNw
YW4gY2xhc3M9ImsiPj08L3NwYW4+IHRva2VuczxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnNoaWZ0
PHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQg
Y2xhc3M9ImxpbmUiPjgwPC90ZD48dGQgY2xhc3M9ImhpdHMiPjIyOTQ8L3RkPjx0ZCBjbGFzcz0i
c291cmNlIj4gICAgICAgICAgICAgICAgdDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnZhbHVlPHNw
YW4gY2xhc3M9ImsiPi48L3NwYW4+cmVwbGFjZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFu
IGNsYXNzPSJzIj4vXG4vZzwvc3Bhbj48c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xh
c3M9ImsiPmZ1bmN0aW9uPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5tPHNwYW4gY2xh
c3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPiBsaW5lPHNwYW4gY2xhc3M9
ImsiPisrOzwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnJldHVybjwvc3Bhbj4gbTxzcGFuIGNsYXNz
PSJrIj47PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTs8
L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj44MTwvdGQ+
PHRkIGNsYXNzPSJoaXRzIj4xMTcyPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAg
ICAgIDxzcGFuIGNsYXNzPSJrIj5yZXR1cm48L3NwYW4+IHQ8c3BhbiBjbGFzcz0iayI+Ozwvc3Bh
bj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+ODI8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+
PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3Nw
YW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjgzPC90ZD48dGQgY2xhc3M9ImhpdHMi
PjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+
PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjg0
PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPC90
ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj44NTwvdGQ+PHRkIGNsYXNz
PSJoaXRzIj40NzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9Imsi
PnZhcjwvc3Bhbj4gYWxsX3dzIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0i
ayI+ZnVuY3Rpb248L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oKTwvc3Bhbj4gPHNwYW4gY2xhc3M9
ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj44
NjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj41MzY2PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAg
ICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gdCA8c3BhbiBjbGFzcz0iayI+PTwvc3Bh
bj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+IHR5cGU8c3BhbiBjbGFzcz0iayI+Ojwvc3Bhbj4g
PHNwYW4gY2xhc3M9InMiPiJ3aGl0ZXNwYWNlIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+LDwvc3Bh
bj4gdmFsdWU8c3BhbiBjbGFzcz0iayI+Ojwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiIiPC9zcGFu
PiA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwv
dHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjg3PC90ZD48dGQgY2xhc3M9Imhp
dHMiPjUzNjY8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0i
ayI+d2hpbGU8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj50
cnVlPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bh
bj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjg4PC90ZD48dGQg
Y2xhc3M9ImhpdHMiPjY1Mzg8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAg
PHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gdyA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gd3M8
c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBj
bGFzcz0ibGluZSI+ODk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTE5MDQ8L3RkPjx0ZCBjbGFzcz0i
c291cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBj
bGFzcz0iayI+KCE8L3NwYW4+dzxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0i
ayI+YnJlYWs8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFz
cz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj45MDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xMTcyPC90
ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIHQ8c3BhbiBjbGFzcz0iayI+Ljwv
c3Bhbj52YWx1ZSA8c3BhbiBjbGFzcz0iayI+Kz08L3NwYW4+IHc8c3BhbiBjbGFzcz0iayI+Ljwv
c3Bhbj52YWx1ZTxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNz
PSJsaW5lIj45MTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4g
ICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJo
aXQiPiA8dGQgY2xhc3M9ImxpbmUiPjkyPC90ZD48dGQgY2xhc3M9ImhpdHMiPjY1Mzg8L3RkPjx0
ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxz
cGFuIGNsYXNzPSJrIj4oPC9zcGFuPnQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj52YWx1ZTxzcGFu
IGNsYXNzPSJrIj4uPC9zcGFuPmxlbmd0aCA8c3BhbiBjbGFzcz0iayI+Pjwvc3Bhbj4gPHNwYW4g
Y2xhc3M9InMiPjA8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJr
Ij5yZXR1cm48L3NwYW4+IHQ8c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0
ZCBjbGFzcz0ibGluZSI+OTM8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNv
dXJjZSI+ICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwv
c3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+OTQ8L3RkPjx0ZCBjbGFzcz0iaGl0
cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8L3RkPjwvdHI+PHRyIGNsYXNzPSJo
aXQiPiA8dGQgY2xhc3M9ImxpbmUiPjk1PC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ3PC90ZD48dGQg
Y2xhc3M9InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiBpbnRlZ2Vy
X3R5cGUgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5mdW5jdGlvbjwv
c3Bhbj4gPHNwYW4gY2xhc3M9ImsiPigpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48
L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjk2PC90ZD48dGQgY2xh
c3M9ImhpdHMiPjI3MzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNs
YXNzPSJrIj52YXI8L3NwYW4+IHJldCA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xh
c3M9InMiPiIiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xh
c3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+OTc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MjczPC90
ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigp
Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjk4PC90
ZD48dGQgY2xhc3M9ImhpdHMiPjMxMjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAg
IDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+Y29uc3Vt
ZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPklEPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFu
IGNsYXNzPSJzIj4idW5zaWduZWQiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pKTwvc3Bhbj4gcmV0
IDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+InVuc2lnbmVkICI8L3Nw
YW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRk
IGNsYXNzPSJsaW5lIj45OTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yNzM8L3RkPjx0ZCBjbGFzcz0i
c291cmNlIj4gICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+
PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MTAwPC90ZD48dGQgY2xhc3M9
ImhpdHMiPjI4NzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNz
PSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+Y29uc3VtZTxzcGFuIGNsYXNz
PSJrIj4oPC9zcGFuPklEPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4i
c2hvcnQiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnJl
dHVybjwvc3Bhbj4gcmV0IDxzcGFuIGNsYXNzPSJrIj4rPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+
InNob3J0Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNz
PSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjEwMTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yNTk8L3Rk
Pjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+
IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPmNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5J
RDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+ImxvbmciPC9zcGFuPjxz
cGFuIGNsYXNzPSJrIj4pKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3Ry
Pjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4xMDI8L3RkPjx0ZCBjbGFzcz0iaGl0
cyI+NDE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgcmV0IDxzcGFuIGNs
YXNzPSJrIj4rPTwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJsb25nIjwvc3Bhbj48c3BhbiBjbGFz
cz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUi
PjEwMzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAg
ICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIg
Y2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MTA0PC90ZD48dGQgY2xhc3M9ImhpdHMiPjQz
PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5p
Zjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+Y29uc3VtZTxzcGFuIGNsYXNzPSJrIj4o
PC9zcGFuPklEPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4ibG9uZyI8
L3NwYW4+PHNwYW4gY2xhc3M9ImsiPikpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+cmV0dXJuPC9z
cGFuPiByZXQgPHNwYW4gY2xhc3M9ImsiPis8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iIGxvbmci
PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+
IDx0ZCBjbGFzcz0ibGluZSI+MTA1PC90ZD48dGQgY2xhc3M9ImhpdHMiPjM5PC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5yZXR1cm48L3NwYW4+
IHJldDxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5l
Ij4xMDY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAg
ICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4g
PHRkIGNsYXNzPSJsaW5lIj4xMDc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MjE4PC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBj
bGFzcz0iayI+KDwvc3Bhbj5yZXQ8c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gZXJyb3I8c3BhbiBj
bGFzcz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0icyI+IkZhaWxlZCB0byBwYXJzZSBpbnRlZ2Vy
IHR5cGUiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBj
bGFzcz0ibGluZSI+MTA4PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3Vy
Y2UiPiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3Nw
YW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjEwOTwvdGQ+PHRkIGNsYXNzPSJoaXRz
Ij48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDwvdGQ+PC90cj48dHIgY2xhc3M9Imhp
dCI+IDx0ZCBjbGFzcz0ibGluZSI+MTEwPC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ3PC90ZD48dGQg
Y2xhc3M9InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiBmbG9hdF90
eXBlIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ZnVuY3Rpb248L3Nw
YW4+IDxzcGFuIGNsYXNzPSJrIj4oKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90
ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4xMTE8L3RkPjx0ZCBjbGFz
cz0iaGl0cyI+MjE4PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xh
c3M9ImsiPnZhcjwvc3Bhbj4gcmV0IDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFz
cz0icyI+IiI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFz
cz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4xMTI8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MjE4PC90
ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigp
Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjExMzwv
dGQ+PHRkIGNsYXNzPSJoaXRzIj4yMjI8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAg
ICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPmNvbnN1
bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5JRDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3Bh
biBjbGFzcz0icyI+InVucmVzdHJpY3RlZCI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPikpPC9zcGFu
PiByZXQgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4idW5yZXN0cmlj
dGVkICI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0i
aGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4xMTQ8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MjE4PC90ZD48
dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwv
c3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjExNTwvdGQ+
PHRkIGNsYXNzPSJoaXRzIj4yNTc8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8
c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPmNvbnN1bWU8
c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5JRDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBj
bGFzcz0icyI+ImZsb2F0Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KSk8L3NwYW4+IDxzcGFuIGNs
YXNzPSJrIj5yZXR1cm48L3NwYW4+IHJldCA8c3BhbiBjbGFzcz0iayI+Kzwvc3Bhbj4gPHNwYW4g
Y2xhc3M9InMiPiJmbG9hdCI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3Ry
Pjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4xMTY8L3RkPjx0ZCBjbGFzcz0iaGl0
cyI+MTgyPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9Imsi
PmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5jb25zdW1lPHNwYW4gY2xhc3M9Imsi
Pig8L3NwYW4+SUQ8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJkb3Vi
bGUiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnJldHVy
bjwvc3Bhbj4gcmV0IDxzcGFuIGNsYXNzPSJrIj4rPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+ImRv
dWJsZSI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0i
aGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4xMTc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTc2PC90ZD48
dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8
c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5yZXQ8c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gZXJyb3I8
c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0icyI+IkZhaWxlZCB0byBwYXJzZSBm
bG9hdCB0eXBlIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0cj48
dGQgY2xhc3M9ImxpbmUiPjExODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0i
c291cmNlIj4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47
PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj4xMTk8L3RkPjx0ZCBjbGFzcz0i
aGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8L3RkPjwvdHI+PHRyIGNsYXNz
PSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjEyMDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40NzwvdGQ+
PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gcHJp
bWl0aXZlX3R5cGUgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5mdW5j
dGlvbjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPigpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwv
c3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjEyMTwvdGQ+
PHRkIGNsYXNzPSJoaXRzIj4yNzM8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8
c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiBudW1fdHlwZSA8c3BhbiBjbGFzcz0iayI+PTwvc3Bh
bj4gaW50ZWdlcl90eXBlPHNwYW4gY2xhc3M9ImsiPigpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+
fHw8L3NwYW4+IGZsb2F0X3R5cGU8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48
dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MTIyPC90ZD48dGQgY2xhc3M9ImhpdHMi
PjM3MDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5p
Zjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+bnVtX3R5cGU8c3BhbiBjbGFzcz0iayI+
KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnJldHVybjwvc3Bhbj4gbnVtX3R5cGU8c3BhbiBjbGFz
cz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUi
PjEyMzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xNzY8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAg
ICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xh
c3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MTI0PC90ZD48dGQgY2xhc3M9ImhpdHMiPjE4Njwv
dGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bh
bj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+Y29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFu
PklEPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iYm9vbGVhbiI8L3Nw
YW4+PHNwYW4gY2xhc3M9ImsiPikpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+cmV0dXJuPC9zcGFu
PiA8c3BhbiBjbGFzcz0icyI+ImJvb2xlYW4iPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFu
PjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MTI1PC90ZD48dGQg
Y2xhc3M9ImhpdHMiPjE2NzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFu
IGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+Y29uc3VtZTxzcGFu
IGNsYXNzPSJrIj4oPC9zcGFuPklEPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNz
PSJzIj4iYnl0ZSI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPikpPC9zcGFuPiA8c3BhbiBjbGFzcz0i
ayI+cmV0dXJuPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+ImJ5dGUiPC9zcGFuPjxzcGFuIGNsYXNz
PSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+
MTI2PC90ZD48dGQgY2xhc3M9ImhpdHMiPjE2ODwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAg
ICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+
Y29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPklEPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+
IDxzcGFuIGNsYXNzPSJzIj4ib2N0ZXQiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pKTwvc3Bhbj4g
PHNwYW4gY2xhc3M9ImsiPnJldHVybjwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJvY3RldCI8L3Nw
YW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUi
PjEyNzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAg
IDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90
cj48dHI+PHRkIGNsYXNzPSJsaW5lIj4xMjg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQg
Y2xhc3M9InNvdXJjZSI+ICAgICAgICA8L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xh
c3M9ImxpbmUiPjEyOTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40NzwvdGQ+PHRkIGNsYXNzPSJzb3Vy
Y2UiPiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gY29uc3RfdmFsdWUgPHNwYW4g
Y2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5mdW5jdGlvbjwvc3Bhbj4gPHNwYW4g
Y2xhc3M9ImsiPigpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRy
IGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjEzMDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4x
NzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwv
c3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+Y29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9z
cGFuPklEPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4idHJ1ZSI8L3Nw
YW4+PHNwYW4gY2xhc3M9ImsiPikpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+cmV0dXJuPC9zcGFu
PiA8c3BhbiBjbGFzcz0iayI+dHJ1ZTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3Rk
PjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjEzMTwvdGQ+PHRkIGNsYXNz
PSJoaXRzIj4xOTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNz
PSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+Y29uc3VtZTxzcGFuIGNsYXNz
PSJrIj4oPC9zcGFuPklEPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4i
ZmFsc2UiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnJl
dHVybjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPmZhbHNlPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47
PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MTMyPC90
ZD48dGQgY2xhc3M9ImhpdHMiPjE3PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAg
PHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5jb25zdW1l
PHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+SUQ8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4g
Y2xhc3M9InMiPiJudWxsIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KSk8L3NwYW4+IDxzcGFuIGNs
YXNzPSJrIj5yZXR1cm48L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5udWxsPC9zcGFuPjxzcGFuIGNs
YXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGlu
ZSI+MTMzPC90ZD48dGQgY2xhc3M9ImhpdHMiPjE0PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAg
ICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bh
bj5jb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+SUQ8c3BhbiBjbGFzcz0iayI+LDwvc3Bh
bj4gPHNwYW4gY2xhc3M9InMiPiJJbmZpbml0eSI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPikpPC9z
cGFuPiA8c3BhbiBjbGFzcz0iayI+cmV0dXJuPC9zcGFuPiBJbmZpbml0eTxzcGFuIGNsYXNzPSJr
Ij47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MTM0
PC90ZD48dGQgY2xhc3M9ImhpdHMiPjEzPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAg
ICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5jb25z
dW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+SUQ8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNw
YW4gY2xhc3M9InMiPiJOYU4iPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pKTwvc3Bhbj4gPHNwYW4g
Y2xhc3M9ImsiPnJldHVybjwvc3Bhbj4gTmFOPHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48
L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4xMzU8L3RkPjx0ZCBjbGFzcz0i
aGl0cyI+MTE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0i
ayI+dmFyPC9zcGFuPiByZXQgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IGNvbnN1bWU8c3BhbiBj
bGFzcz0iayI+KDwvc3Bhbj5GTE9BVDxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFz
cz0iayI+fHw8L3NwYW4+IGNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5JTlQ8c3BhbiBj
bGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJs
aW5lIj4xMzY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTk8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4g
ICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9z
cGFuPnJldDxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+cmV0dXJuPC9z
cGFuPiA8c3BhbiBjbGFzcz0icyI+MTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPio8L3NwYW4+IHJl
dDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnZhbHVlPHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90
ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4xMzc8L3RkPjx0ZCBjbGFz
cz0iaGl0cyI+MzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNz
PSJrIj52YXI8L3NwYW4+IHRvayA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gY29uc3VtZTxzcGFu
IGNsYXNzPSJrIj4oPC9zcGFuPk9USEVSPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNs
YXNzPSJzIj4iLSI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIg
Y2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MTM4PC90ZD48dGQgY2xhc3M9ImhpdHMiPjM8
L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3Nw
YW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPnRvazxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8
c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xh
c3M9ImxpbmUiPjEzOTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yPC90ZD48dGQgY2xhc3M9InNvdXJj
ZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9
ImsiPig8L3NwYW4+Y29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPklEPHNwYW4gY2xhc3M9
ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iSW5maW5pdHkiPC9zcGFuPjxzcGFuIGNsYXNz
PSJrIj4pKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnJldHVybjwvc3Bhbj4gPHNwYW4gY2xhc3M9
ImsiPi08L3NwYW4+SW5maW5pdHk8c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRy
IGNsYXNzPSJtaXNzIj4gPHRkIGNsYXNzPSJsaW5lIj4xNDA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+
MDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+
ZWxzZTwvc3Bhbj4gdG9rZW5zPHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+dW5zaGlmdDxzcGFuIGNs
YXNzPSJrIj4oPC9zcGFuPnRvazxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRy
Pjx0ZCBjbGFzcz0ibGluZSI+MTQxPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNz
PSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90cj48
dHI+PHRkIGNsYXNzPSJsaW5lIj4xNDI8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48c3BhbiBjbGFzcz0i
ayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+MTQzPC90ZD48dGQgY2xh
c3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPC90ZD48L3RyPjx0ciBj
bGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4xNDQ8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDc8
L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+
IHR5cGVfc3VmZml4IDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ZnVu
Y3Rpb248L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPm9iajxzcGFuIGNsYXNzPSJrIj4p
PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQi
PiA8dGQgY2xhc3M9ImxpbmUiPjE0NTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yNDk8L3RkPjx0ZCBj
bGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+d2hpbGU8L3NwYW4+IDxz
cGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj50cnVlPC9zcGFuPjxzcGFuIGNs
YXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNs
YXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjE0NjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yNjM8
L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9
ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUi
PjE0NzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yNjM8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAg
ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwv
c3Bhbj5jb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+T1RIRVI8c3BhbiBjbGFzcz0iayI+
LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiI/Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KSk8L3Nw
YW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0
ZCBjbGFzcz0ibGluZSI+MTQ4PC90ZD48dGQgY2xhc3M9ImhpdHMiPjExPC90ZD48dGQgY2xhc3M9
InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxz
cGFuIGNsYXNzPSJrIj4oPC9zcGFuPm9iajxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPm51bGxhYmxl
PHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IGVycm9yPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNw
YW4gY2xhc3M9InMiPiJDYW4ndCBudWxsYWJsZSBtb3JlIHRoYW4gb25jZSI8L3NwYW4+PHNwYW4g
Y2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0i
bGluZSI+MTQ5PC90ZD48dGQgY2xhc3M9ImhpdHMiPjExPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+
ICAgICAgICAgICAgICAgICAgICBvYmo8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5udWxsYWJsZSA8
c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnRydWU8L3NwYW4+PHNwYW4g
Y2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjE1MDwvdGQ+
PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAg
PHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNs
YXNzPSJsaW5lIj4xNTE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MjUyPC90ZD48dGQgY2xhc3M9InNv
dXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5lbHNlPC9zcGFuPiA8c3BhbiBj
bGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPmNvbnN1bWU8c3BhbiBj
bGFzcz0iayI+KDwvc3Bhbj5PVEhFUjxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFz
cz0icyI+IlsiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pKTwvc3Bhbj4gPHNwYW4gY2xhc3M9Imsi
Pns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4xNTI8
L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAg
ICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNs
YXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjE1MzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4zPC90
ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICBjb25zdW1lPHNwYW4gY2xh
c3M9ImsiPig8L3NwYW4+T1RIRVI8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9
InMiPiJdIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnx8
PC9zcGFuPiBlcnJvcjxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4iVW50
ZXJtaW5hdGVkIGFycmF5IHR5cGUiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3Rk
PjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjE1NDwvdGQ+PHRkIGNsYXNz
PSJoaXRzIj41PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICA8c3Bh
biBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oITwvc3Bhbj5vYmo8c3BhbiBj
bGFzcz0iayI+Ljwvc3Bhbj5hcnJheTxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiBvYmo8c3BhbiBj
bGFzcz0iayI+Ljwvc3Bhbj5hcnJheSA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xh
c3M9InMiPjE8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFz
cz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4xNTU8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTwvdGQ+
PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmVs
c2U8L3NwYW4+IG9iajxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPmFycmF5PHNwYW4gY2xhc3M9Imsi
PisrOzwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+MTU2PC90ZD48dGQgY2xh
c3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBj
bGFzcz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9Imxp
bmUiPjE1NzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yNDk8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4g
ICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmVsc2U8L3NwYW4+IDxzcGFuIGNsYXNzPSJr
Ij5yZXR1cm48L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQg
Y2xhc3M9ImxpbmUiPjE1ODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291
cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0
ZCBjbGFzcz0ibGluZSI+MTU5PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJz
b3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8
L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjE2MDwvdGQ+PHRkIGNsYXNzPSJo
aXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDwvdGQ+PC90cj48dHIgY2xhc3M9
ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MTYxPC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ3PC90ZD48
dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiBzaW5n
bGVfdHlwZSA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPmZ1bmN0aW9u
PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KCk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFu
PjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MTYyPC90ZD48dGQg
Y2xhc3M9ImhpdHMiPjI2MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFu
IGNsYXNzPSJrIj52YXI8L3NwYW4+IHByaW0gPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IHByaW1p
dGl2ZV90eXBlPHNwYW4gY2xhc3M9ImsiPigpPC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNz
PSJsaW5lIj4xNjM8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+
ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+ICAgcmV0IDxzcGFuIGNsYXNzPSJr
Ij49PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj4gc2VxdWVuY2U8c3BhbiBjbGFzcz0i
ayI+Ojwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPmZhbHNlPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4s
PC9zcGFuPiBudWxsYWJsZTxzcGFuIGNsYXNzPSJrIj46PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+
ZmFsc2U8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IGFycmF5PHNwYW4gY2xhc3M9Imsi
Pjo8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5mYWxzZTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+LDwv
c3Bhbj4gdW5pb248c3BhbiBjbGFzcz0iayI+Ojwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPmZhbHNl
PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0i
bGluZSI+MTY0PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAg
ICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9Imhp
dCI+IDx0ZCBjbGFzcz0ibGluZSI+MTY1PC90ZD48dGQgY2xhc3M9ImhpdHMiPjI2MTwvdGQ+PHRk
IGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNw
YW4gY2xhc3M9ImsiPig8L3NwYW4+cHJpbTxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBj
bGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9Imxp
bmUiPjE2NjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj45OTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAg
ICAgICAgICAgICAgICByZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5pZGxUeXBlIDxzcGFuIGNs
YXNzPSJrIj49PC9zcGFuPiBwcmltPHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0
cj48dGQgY2xhc3M9ImxpbmUiPjE2NzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFz
cz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+
PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjE2ODwvdGQ+PHRkIGNsYXNzPSJoaXRz
Ij4xNjI8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+
ZWxzZTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwv
c3Bhbj5jb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+SUQ8c3BhbiBjbGFzcz0iayI+LDwv
c3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJzZXF1ZW5jZSI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPikp
PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQi
PiA8dGQgY2xhc3M9ImxpbmUiPjE2OTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40PC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3Nw
YW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4xNzA8L3RkPjx0
ZCBjbGFzcz0iaGl0cyI+NDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8
c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oITwvc3Bhbj5jb25zdW1l
PHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+T1RIRVI8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNw
YW4gY2xhc3M9InMiPiI8Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KSk8L3NwYW4+IDxzcGFuIGNs
YXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9Im1pc3MiPiA8dGQgY2xhc3M9Imxp
bmUiPjE3MTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4wPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAg
ICAgICAgICAgICAgICAgICByZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5pZGxUeXBlIDxzcGFu
IGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+InNlcXVlbmNlIjwvc3Bhbj48c3Bh
biBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+MTcyPC90
ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAg
ICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+
MTczPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAg
ICAgICAgICA8c3BhbiBjbGFzcz0iayI+ZWxzZTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3Nw
YW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4xNzQ8L3RkPjx0
ZCBjbGFzcz0iaGl0cyI+NDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAg
ICAgcmV0PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+c2VxdWVuY2UgPHNwYW4gY2xhc3M9ImsiPj08
L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj50cnVlPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFu
PjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MTc1PC90ZD48dGQg
Y2xhc3M9ImhpdHMiPjQ8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAg
IHJldDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPmlkbFR5cGUgPHNwYW4gY2xhc3M9ImsiPj08L3Nw
YW4+IHR5cGU8c3BhbiBjbGFzcz0iayI+KCk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj58fDwvc3Bh
bj4gZXJyb3I8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0icyI+IkVycm9yIHBh
cnNpbmcgc2VxdWVuY2UgdHlwZSI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+
PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MTc2PC90ZD48dGQgY2xhc3M9
ImhpdHMiPjQ8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAgIGFsbF93
czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRk
IGNsYXNzPSJsaW5lIj4xNzc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDwvdGQ+PHRkIGNsYXNzPSJz
b3VyY2UiPiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3Bh
biBjbGFzcz0iayI+KCE8L3NwYW4+Y29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPk9USEVS
PHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iPiI8L3NwYW4+PHNwYW4g
Y2xhc3M9ImsiPikpPC9zcGFuPiBlcnJvcjxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNs
YXNzPSJzIj4iVW50ZXJtaW5hdGVkIHNlcXVlbmNlIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTs8
L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4xNzg8L3Rk
Pjx0ZCBjbGFzcz0iaGl0cyI+NDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAg
ICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNz
PSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjE3OTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj41PC90ZD48
dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8
L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPmNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwv
c3Bhbj5PVEhFUjxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+Ij8iPC9z
cGFuPjxzcGFuIGNsYXNzPSJrIj4pKTwvc3Bhbj4gcmV0PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+
bnVsbGFibGUgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj50cnVlPC9z
cGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0
ZCBjbGFzcz0ibGluZSI+MTgwPC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ8L3RkPjx0ZCBjbGFzcz0i
c291cmNlIj4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5yZXR1cm48L3NwYW4+
IHJldDxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5l
Ij4xODE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAg
ICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNz
PSJsaW5lIj4xODI8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+
ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xh
c3M9ImxpbmUiPjE4MzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNl
Ij4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+ZWxzZTwvc3Bhbj4gPHNwYW4gY2xhc3M9Imsi
Pns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4xODQ8
L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTU4PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAg
ICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IG5hbWUgPHNwYW4gY2xhc3M9ImsiPj08
L3NwYW4+IGNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5JRDxzcGFuIGNsYXNzPSJrIj4p
Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjE4NTwv
dGQ+PHRkIGNsYXNzPSJoaXRzIj4xNjk8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAg
ICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KCE8L3NwYW4+
bmFtZTxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+cmV0dXJuPC9zcGFu
PjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBj
bGFzcz0ibGluZSI+MTg2PC90ZD48dGQgY2xhc3M9ImhpdHMiPjE0NzwvdGQ+PHRkIGNsYXNzPSJz
b3VyY2UiPiAgICAgICAgICAgICAgICByZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5pZGxUeXBl
IDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiBuYW1lPHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+dmFs
dWU8c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+
MTg3PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAg
ICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0
ZCBjbGFzcz0ibGluZSI+MTg4PC90ZD48dGQgY2xhc3M9ImhpdHMiPjI0NjwvdGQ+PHRkIGNsYXNz
PSJzb3VyY2UiPiAgICAgICAgICAgIHR5cGVfc3VmZml4PHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+
cmV0PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0
ZCBjbGFzcz0ibGluZSI+MTg5PC90ZD48dGQgY2xhc3M9ImhpdHMiPjI0NjwvdGQ+PHRkIGNsYXNz
PSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xh
c3M9ImsiPig8L3NwYW4+cmV0PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+bnVsbGFibGUgPHNwYW4g
Y2xhc3M9ImsiPiZhbXA7JmFtcDs8L3NwYW4+IHJldDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPmlk
bFR5cGUgPHNwYW4gY2xhc3M9ImsiPj09PTwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJhbnkiPC9z
cGFuPjxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiBlcnJvcjxzcGFuIGNsYXNzPSJrIj4oPC9zcGFu
PjxzcGFuIGNsYXNzPSJzIj4iVHlwZSBhbnkgY2Fubm90IGJlIG1hZGUgbnVsbGFibGUiPC9zcGFu
PjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQg
Y2xhc3M9ImxpbmUiPjE5MDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yNDY8L3RkPjx0ZCBjbGFzcz0i
c291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+cmV0dXJuPC9zcGFuPiByZXQ8c3Bh
biBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+MTkxPC90
ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4g
Y2xhc3M9ImsiPn08L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48
dGQgY2xhc3M9ImxpbmUiPjE5MjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0i
c291cmNlIj4gICAgICAgIDwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGlu
ZSI+MTkzPC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ3PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAg
ICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiB1bmlvbl90eXBlIDxzcGFuIGNsYXNzPSJr
Ij49PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ZnVuY3Rpb248L3NwYW4+IDxzcGFuIGNsYXNzPSJr
Ij4oKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0i
aGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4xOTQ8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTE8L3RkPjx0
ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9z
cGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MTk1PC90ZD48
dGQgY2xhc3M9ImhpdHMiPjE5PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNw
YW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KCE8L3NwYW4+Y29uc3VtZTxz
cGFuIGNsYXNzPSJrIj4oPC9zcGFuPk9USEVSPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFu
IGNsYXNzPSJzIj4iKCI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPikpPC9zcGFuPiA8c3BhbiBjbGFz
cz0iayI+cmV0dXJuPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIg
Y2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MTk2PC90ZD48dGQgY2xhc3M9ImhpdHMiPjM8
L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9z
cGFuPiByZXQgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFu
PiBzZXF1ZW5jZTxzcGFuIGNsYXNzPSJrIj46PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ZmFsc2U8
L3NwYW4+PHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IG51bGxhYmxlPHNwYW4gY2xhc3M9ImsiPjo8
L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5mYWxzZTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+LDwvc3Bh
bj4gYXJyYXk8c3BhbiBjbGFzcz0iayI+Ojwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPmZhbHNlPC9z
cGFuPjxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiB1bmlvbjxzcGFuIGNsYXNzPSJrIj46PC9zcGFu
PiA8c3BhbiBjbGFzcz0iayI+dHJ1ZTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gaWRs
VHlwZTxzcGFuIGNsYXNzPSJrIj46PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+W108L3NwYW4+IDxz
cGFuIGNsYXNzPSJrIj59PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48
dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MTk3PC90ZD48dGQgY2xhc3M9ImhpdHMi
PjM8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFy
PC9zcGFuPiBmc3QgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IHR5cGU8c3BhbiBjbGFzcz0iayI+
KCk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj58fDwvc3Bhbj4gZXJyb3I8c3BhbiBjbGFzcz0iayI+
KDwvc3Bhbj48c3BhbiBjbGFzcz0icyI+IlVuaW9uIHR5cGUgd2l0aCBubyBjb250ZW50Ijwvc3Bh
bj48c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRk
IGNsYXNzPSJsaW5lIj4xOTg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MzwvdGQ+PHRkIGNsYXNzPSJz
b3VyY2UiPiAgICAgICAgICAgIHJldDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPmlkbFR5cGU8c3Bh
biBjbGFzcz0iayI+Ljwvc3Bhbj5wdXNoPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+ZnN0PHNwYW4g
Y2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0i
bGluZSI+MTk5PC90ZD48dGQgY2xhc3M9ImhpdHMiPjM8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4g
ICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+d2hpbGU8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4o
PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj50cnVlPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pPC9zcGFu
PiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQg
Y2xhc3M9ImxpbmUiPjIwMDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj43PC90ZD48dGQgY2xhc3M9InNv
dXJjZSI+ICAgICAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90
ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4yMDE8L3RkPjx0ZCBjbGFz
cz0iaGl0cyI+MTA8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4g
Y2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KCE8L3NwYW4+Y29uc3VtZTxzcGFu
IGNsYXNzPSJrIj4oPC9zcGFuPklEPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNz
PSJzIj4ib3IiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pKTwvc3Bhbj4gPHNwYW4gY2xhc3M9Imsi
PmJyZWFrPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9
ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MjAyPC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ8L3RkPjx0
ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bh
bj4gdHlwIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiB0eXBlPHNwYW4gY2xhc3M9ImsiPigpPC9z
cGFuPiA8c3BhbiBjbGFzcz0iayI+fHw8L3NwYW4+IGVycm9yPHNwYW4gY2xhc3M9ImsiPig8L3Nw
YW4+PHNwYW4gY2xhc3M9InMiPiJObyB0eXBlIGFmdGVyICdvcicgaW4gdW5pb24gdHlwZSI8L3Nw
YW4+PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0
ZCBjbGFzcz0ibGluZSI+MjAzPC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ8L3RkPjx0ZCBjbGFzcz0i
c291cmNlIj4gICAgICAgICAgICAgICAgcmV0PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+aWRsVHlw
ZTxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnB1c2g8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj50eXA8
c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjIw
NDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAg
ICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQg
Y2xhc3M9ImxpbmUiPjIwNTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4zPC90ZD48dGQgY2xhc3M9InNv
dXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0i
ayI+KCE8L3NwYW4+Y29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPk9USEVSPHNwYW4gY2xh
c3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iKSI8L3NwYW4+PHNwYW4gY2xhc3M9Imsi
PikpPC9zcGFuPiBlcnJvcjxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4i
VW50ZXJtaW5hdGVkIHVuaW9uIHR5cGUiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48
L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjIwNjwvdGQ+PHRkIGNs
YXNzPSJoaXRzIj4zPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgdHlwZV9zdWZm
aXg8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5yZXQ8c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90
ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4yMDc8L3RkPjx0ZCBjbGFz
cz0iaGl0cyI+MzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNz
PSJrIj5yZXR1cm48L3NwYW4+IHJldDxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48
dHI+PHRkIGNsYXNzPSJsaW5lIj4yMDg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48c3BhbiBjbGFzcz0i
ayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+MjA5PC90ZD48dGQgY2xh
c3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPC90ZD48L3RyPjx0ciBj
bGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4yMTA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDc8
L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+
IHR5cGUgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5mdW5jdGlvbjwv
c3Bhbj4gPHNwYW4gY2xhc3M9ImsiPigpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48
L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjIxMTwvdGQ+PHRkIGNs
YXNzPSJoaXRzIj4yNjE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBj
bGFzcz0iayI+cmV0dXJuPC9zcGFuPiBzaW5nbGVfdHlwZTxzcGFuIGNsYXNzPSJrIj4oKTwvc3Bh
bj4gPHNwYW4gY2xhc3M9ImsiPnx8PC9zcGFuPiB1bmlvbl90eXBlPHNwYW4gY2xhc3M9ImsiPigp
Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+MjEyPC90ZD48dGQgY2xhc3M9
ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08
L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9Imxp
bmUiPjIxMzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAg
ICAgIDwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MjE0PC90ZD48
dGQgY2xhc3M9ImhpdHMiPjQ3PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8c3BhbiBj
bGFzcz0iayI+dmFyPC9zcGFuPiBhcmd1bWVudCA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNw
YW4gY2xhc3M9ImsiPmZ1bmN0aW9uPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KCk8L3NwYW4+IDxz
cGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFz
cz0ibGluZSI+MjE1PC90ZD48dGQgY2xhc3M9ImhpdHMiPjc5PC90ZD48dGQgY2xhc3M9InNvdXJj
ZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gcmV0IDxzcGFuIGNsYXNz
PSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj4gb3B0aW9uYWw8c3BhbiBjbGFz
cz0iayI+Ojwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPmZhbHNlPC9zcGFuPjxzcGFuIGNsYXNzPSJr
Ij4sPC9zcGFuPiB2YXJpYWRpYzxzcGFuIGNsYXNzPSJrIj46PC9zcGFuPiA8c3BhbiBjbGFzcz0i
ayI+ZmFsc2U8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47
PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MjE2PC90
ZD48dGQgY2xhc3M9ImhpdHMiPjc5PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAg
cmV0PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+ZXh0QXR0cnMgPHNwYW4gY2xhc3M9ImsiPj08L3Nw
YW4+IGV4dGVuZGVkX2F0dHJzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRy
IGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjIxNzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj43
OTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJr
Ij4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4y
MTg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+Nzk8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAg
ICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPmNv
bnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5JRDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8
c3BhbiBjbGFzcz0icyI+Im9wdGlvbmFsIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KSk8L3NwYW4+
IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBj
bGFzcz0ibGluZSI+MjE5PC90ZD48dGQgY2xhc3M9ImhpdHMiPjI8L3RkPjx0ZCBjbGFzcz0ic291
cmNlIj4gICAgICAgICAgICAgICAgcmV0PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+b3B0aW9uYWwg
PHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj50cnVlPC9zcGFuPjxzcGFu
IGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0i
bGluZSI+MjIwPC90ZD48dGQgY2xhc3M9ImhpdHMiPjI8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4g
ICAgICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+
PHRyPjx0ZCBjbGFzcz0ibGluZSI+MjIxPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNs
YXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90
cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MjIyPC90ZD48dGQgY2xhc3M9Imhp
dHMiPjc5PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgcmV0PHNwYW4gY2xhc3M9
ImsiPi48L3NwYW4+dHlwZSA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gdHlwZTxzcGFuIGNsYXNz
PSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5l
Ij4yMjM8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+ODc8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAg
ICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oITwvc3Bh
bj5yZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj50eXBlPHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+
IDxzcGFuIGNsYXNzPSJrIj5yZXR1cm48L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90
ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4yMjQ8L3RkPjx0ZCBjbGFz
cz0iaGl0cyI+NzE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFz
cz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oITwvc3Bhbj5yZXQ8c3BhbiBjbGFzcz0i
ayI+Ljwvc3Bhbj5vcHRpb25hbDxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0i
ayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjIy
NTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj42OTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAg
ICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xh
c3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MjI2PC90ZD48dGQgY2xhc3M9ImhpdHMiPjY5PC90
ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwv
c3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+dG9rZW5zPHNwYW4gY2xhc3M9ImsiPi48L3Nw
YW4+bGVuZ3RoIDxzcGFuIGNsYXNzPSJrIj4+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPjM8L3Nw
YW4+IDxzcGFuIGNsYXNzPSJrIj4mYW1wOyZhbXA7PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNs
YXNzPSJsaW5lIj4yMjc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJj
ZSI+ICAgICAgICAgICAgICAgICAgICB0b2tlbnM8c3BhbiBjbGFzcz0iayI+Wzwvc3Bhbj48c3Bh
biBjbGFzcz0icyI+MDwvc3Bhbj48c3BhbiBjbGFzcz0iayI+XS48L3NwYW4+dHlwZSA8c3BhbiBj
bGFzcz0iayI+PT09PC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+Im90aGVyIjwvc3Bhbj4gPHNwYW4g
Y2xhc3M9ImsiPiZhbXA7JmFtcDs8L3NwYW4+IHRva2VuczxzcGFuIGNsYXNzPSJrIj5bPC9zcGFu
PjxzcGFuIGNsYXNzPSJzIj4wPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj5dLjwvc3Bhbj52YWx1ZSA8
c3BhbiBjbGFzcz0iayI+PT09PC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+Ii4iPC9zcGFuPiA8c3Bh
biBjbGFzcz0iayI+JmFtcDsmYW1wOzwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGlu
ZSI+MjI4PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAg
ICAgICAgICAgICAgICAgdG9rZW5zPHNwYW4gY2xhc3M9ImsiPls8L3NwYW4+PHNwYW4gY2xhc3M9
InMiPjE8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPl0uPC9zcGFuPnR5cGUgPHNwYW4gY2xhc3M9Imsi
Pj09PTwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJvdGhlciI8L3NwYW4+IDxzcGFuIGNsYXNzPSJr
Ij4mYW1wOyZhbXA7PC9zcGFuPiB0b2tlbnM8c3BhbiBjbGFzcz0iayI+Wzwvc3Bhbj48c3BhbiBj
bGFzcz0icyI+MTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+XS48L3NwYW4+dmFsdWUgPHNwYW4gY2xh
c3M9ImsiPj09PTwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiIuIjwvc3Bhbj4gPHNwYW4gY2xhc3M9
ImsiPiZhbXA7JmFtcDs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjIyOTwv
dGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAg
ICAgICAgIHRva2VuczxzcGFuIGNsYXNzPSJrIj5bPC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4yPC9z
cGFuPjxzcGFuIGNsYXNzPSJrIj5dLjwvc3Bhbj50eXBlIDxzcGFuIGNsYXNzPSJrIj49PT08L3Nw
YW4+IDxzcGFuIGNsYXNzPSJzIj4ib3RoZXIiPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+JmFtcDsm
YW1wOzwvc3Bhbj4gdG9rZW5zPHNwYW4gY2xhc3M9ImsiPls8L3NwYW4+PHNwYW4gY2xhc3M9InMi
PjI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPl0uPC9zcGFuPnZhbHVlIDxzcGFuIGNsYXNzPSJrIj49
PT08L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iLiI8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xh
c3M9ImxpbmUiPjIzMDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNl
Ij4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFz
cz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUi
PjIzMTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAg
ICAgICAgICAgICAgICB0b2tlbnM8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5zaGlmdDxzcGFuIGNs
YXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJs
aW5lIj4yMzI8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAg
ICAgICAgICAgICAgICAgICAgdG9rZW5zPHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+c2hpZnQ8c3Bh
biBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFz
cz0ibGluZSI+MjMzPC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ8L3RkPjx0ZCBjbGFzcz0ic291cmNl
Ij4gICAgICAgICAgICAgICAgICAgIHRva2VuczxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnNoaWZ0
PHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQg
Y2xhc3M9ImxpbmUiPjIzNDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40PC90ZD48dGQgY2xhc3M9InNv
dXJjZSI+ICAgICAgICAgICAgICAgICAgICByZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj52YXJp
YWRpYyA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnRydWU8L3NwYW4+
PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjIz
NTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAg
ICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9Imxp
bmUiPjIzNjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAg
ICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQi
PiA8dGQgY2xhc3M9ImxpbmUiPjIzNzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj43MTwvdGQ+PHRkIGNs
YXNzPSJzb3VyY2UiPiAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+
PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4yMzg8L3RkPjx0ZCBj
bGFzcz0iaGl0cyI+NzE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBj
bGFzcz0iayI+dmFyPC9zcGFuPiBuYW1lIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiBjb25zdW1l
PHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+SUQ8c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4g
Y2xhc3M9ImsiPnx8PC9zcGFuPiBlcnJvcjxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNs
YXNzPSJzIj4iTm8gbmFtZSBpbiBhcmd1bWVudCI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7PC9z
cGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MjM5PC90ZD48
dGQgY2xhc3M9ImhpdHMiPjcxPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgcmV0
PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+bmFtZSA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gbmFt
ZTxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnZhbHVlPHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90
ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4yNDA8L3RkPjx0ZCBjbGFz
cz0iaGl0cyI+NzE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFz
cz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPnJldDxzcGFuIGNsYXNzPSJr
Ij4uPC9zcGFuPm9wdGlvbmFsPHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJr
Ij57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MjQx
PC90ZD48dGQgY2xhc3M9ImhpdHMiPjI8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAg
ICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNz
PSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjI0MjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yPC90ZD48
dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIHJldDxzcGFuIGNsYXNzPSJrIj5bPC9z
cGFuPjxzcGFuIGNsYXNzPSJzIj4iZGVmYXVsdCI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPl08L3Nw
YW4+IDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiBkZWZhdWx0XzxzcGFuIGNsYXNzPSJrIj4oKTs8
L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjI0MzwvdGQ+PHRkIGNsYXNzPSJo
aXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+
fTwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjI0NDwv
dGQ+PHRkIGNsYXNzPSJoaXRzIj43MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAg
IDxzcGFuIGNsYXNzPSJrIj5yZXR1cm48L3NwYW4+IHJldDxzcGFuIGNsYXNzPSJrIj47PC9zcGFu
PjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj4yNDU8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+
PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48
c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+MjQ2
PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPC90
ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4yNDc8L3RkPjx0ZCBjbGFz
cz0iaGl0cyI+NDc8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxzcGFuIGNsYXNzPSJr
Ij52YXI8L3NwYW4+IGFyZ3VtZW50X2xpc3QgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFu
IGNsYXNzPSJrIj5mdW5jdGlvbjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPigpPC9zcGFuPiA8c3Bh
biBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9
ImxpbmUiPjI0ODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj41OTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2Ui
PiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IGFyZyA8c3BhbiBjbGFzcz0i
ayI+PTwvc3Bhbj4gYXJndW1lbnQ8c3BhbiBjbGFzcz0iayI+KCksPC9zcGFuPiByZXQgPHNwYW4g
Y2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5bXTs8L3NwYW4+PC90ZD48L3RyPjx0
ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4yNDk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+
Njc8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8
L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oITwvc3Bhbj5hcmc8c3BhbiBjbGFzcz0iayI+KTwvc3Bh
bj4gPHNwYW4gY2xhc3M9ImsiPnJldHVybjwvc3Bhbj4gcmV0PHNwYW4gY2xhc3M9ImsiPjs8L3Nw
YW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4yNTA8L3RkPjx0
ZCBjbGFzcz0iaGl0cyI+NTE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICByZXQ8
c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5wdXNoPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+YXJnPHNw
YW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFz
cz0ibGluZSI+MjUxPC90ZD48dGQgY2xhc3M9ImhpdHMiPjUxPC90ZD48dGQgY2xhc3M9InNvdXJj
ZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPndoaWxlPC9zcGFuPiA8c3BhbiBjbGFzcz0i
ayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0iayI+dHJ1ZTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTwv
c3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4g
PHRkIGNsYXNzPSJsaW5lIj4yNTI8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NzE8L3RkPjx0ZCBjbGFz
cz0ic291cmNlIj4gICAgICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bh
bj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjI1MzwvdGQ+PHRk
IGNsYXNzPSJoaXRzIj4xMjI8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAg
PHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KCE8L3NwYW4+Y29uc3Vt
ZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPk9USEVSPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxz
cGFuIGNsYXNzPSJzIj4iLCI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPikpPC9zcGFuPiA8c3BhbiBj
bGFzcz0iayI+cmV0dXJuPC9zcGFuPiByZXQ8c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwv
dHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjI1NDwvdGQ+PHRkIGNsYXNzPSJo
aXRzIj4yMDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICBhbGxfd3M8c3Bh
biBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFz
cz0ibGluZSI+MjU1PC90ZD48dGQgY2xhc3M9ImhpdHMiPjIwPC90ZD48dGQgY2xhc3M9InNvdXJj
ZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IG54dCA8c3BhbiBj
bGFzcz0iayI+PTwvc3Bhbj4gYXJndW1lbnQ8c3BhbiBjbGFzcz0iayI+KCk8L3NwYW4+IDxzcGFu
IGNsYXNzPSJrIj58fDwvc3Bhbj4gZXJyb3I8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3BhbiBj
bGFzcz0icyI+IlRyYWlsaW5nIGNvbW1hIGluIGFyZ3VtZW50cyBsaXN0Ijwvc3Bhbj48c3BhbiBj
bGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJs
aW5lIj4yNTY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MjA8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4g
ICAgICAgICAgICAgICAgcmV0PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+cHVzaDxzcGFuIGNsYXNz
PSJrIj4oPC9zcGFuPm54dDxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0
ZCBjbGFzcz0ibGluZSI+MjU3PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJz
b3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90cj48dHI+
PHRkIGNsYXNzPSJsaW5lIj4yNTg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9
InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+
Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+MjU5PC90ZD48dGQgY2xhc3M9
ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPC90ZD48L3RyPjx0ciBjbGFz
cz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4yNjA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDc8L3Rk
Pjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IHNp
bXBsZV9leHRlbmRlZF9hdHRyIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0i
ayI+ZnVuY3Rpb248L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oKTwvc3Bhbj4gPHNwYW4gY2xhc3M9
ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4y
NjE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTc8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAg
ICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9
ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MjYyPC90ZD48dGQgY2xhc3M9ImhpdHMiPjE3PC90ZD48
dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4g
bmFtZSA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gY29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9z
cGFuPklEPHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+
IDx0ZCBjbGFzcz0ibGluZSI+MjYzPC90ZD48dGQgY2xhc3M9ImhpdHMiPjE3PC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBj
bGFzcz0iayI+KCE8L3NwYW4+bmFtZTxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFz
cz0iayI+cmV0dXJuPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIg
Y2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MjY0PC90ZD48dGQgY2xhc3M9ImhpdHMiPjE3
PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwv
c3Bhbj4gcmV0IDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bh
bj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+MjY1PC90ZD48dGQgY2xhc3M9ImhpdHMi
PjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICBuYW1lPHNwYW4gY2xhc3M9
ImsiPjo8L3NwYW4+IG5hbWU8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj52YWx1ZTwvdGQ+PC90cj48
dHI+PHRkIGNsYXNzPSJsaW5lIj4yNjY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+ICAgPHNwYW4g
Y2xhc3M9InMiPiJhcmd1bWVudHMiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj46PC9zcGFuPiA8c3Bh
biBjbGFzcz0iayI+bnVsbDwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+MjY3
PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAg
IDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90
cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MjY4PC90ZD48dGQgY2xhc3M9Imhp
dHMiPjE3PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xh
c3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9Imxp
bmUiPjI2OTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xNzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAg
ICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IGVxIDxzcGFuIGNsYXNzPSJrIj49
PC9zcGFuPiBjb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+T1RIRVI8c3BhbiBjbGFzcz0i
ayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiI9Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTs8
L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4yNzA8L3Rk
Pjx0ZCBjbGFzcz0iaGl0cyI+MTc8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8
c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPmVxPHNwYW4g
Y2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIg
Y2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MjcxPC90ZD48dGQgY2xhc3M9ImhpdHMiPjU8
L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9
ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUi
PjI3MjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj41PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAg
ICAgICAgICAgIHJldDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnJocyA8c3BhbiBjbGFzcz0iayI+
PTwvc3Bhbj4gY29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPklEPHNwYW4gY2xhc3M9Imsi
Pik7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+Mjcz
PC90ZD48dGQgY2xhc3M9ImhpdHMiPjU8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAg
ICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KCE8L3NwYW4+
cmV0PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+cmhzPHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxz
cGFuIGNsYXNzPSJrIj5yZXR1cm48L3NwYW4+IGVycm9yPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+
PHNwYW4gY2xhc3M9InMiPiJObyByaWdodCBoYW5kIHNpZGUgdG8gZXh0ZW5kZWQgYXR0cmlidXRl
IGFzc2lnbm1lbnQiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRy
Pjx0ZCBjbGFzcz0ibGluZSI+Mjc0PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNz
PSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90cj48
dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+Mjc1PC90ZD48dGQgY2xhc3M9ImhpdHMi
PjE3PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9
ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUi
PjI3NjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xNzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAg
ICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+
Y29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPk9USEVSPHNwYW4gY2xhc3M9ImsiPiw8L3Nw
YW4+IDxzcGFuIGNsYXNzPSJzIj4iKCI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPikpPC9zcGFuPiA8
c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xh
c3M9ImxpbmUiPjI3NzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yPC90ZD48dGQgY2xhc3M9InNvdXJj
ZSI+ICAgICAgICAgICAgICAgIHJldDxzcGFuIGNsYXNzPSJrIj5bPC9zcGFuPjxzcGFuIGNsYXNz
PSJzIj4iYXJndW1lbnRzIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+XTwvc3Bhbj4gPHNwYW4gY2xh
c3M9ImsiPj08L3NwYW4+IGFyZ3VtZW50X2xpc3Q8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwv
dGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+Mjc4PC90ZD48dGQgY2xh
c3M9ImhpdHMiPjI8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgYWxsX3dz
PHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQg
Y2xhc3M9ImxpbmUiPjI3OTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yPC90ZD48dGQgY2xhc3M9InNv
dXJjZSI+ICAgICAgICAgICAgICAgIGNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5PVEhF
UjxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+IikiPC9zcGFuPjxzcGFu
IGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+fHw8L3NwYW4+IGVycm9yPHNwYW4g
Y2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9InMiPiJVbmNsb3NlZCBhcmd1bWVudCBpbiBl
eHRlbmRlZCBhdHRyaWJ1dGUiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwv
dHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+MjgwPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRk
IGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+
PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MjgxPC90ZD48dGQgY2xhc3M9
ImhpdHMiPjE3PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9
ImsiPnJldHVybjwvc3Bhbj4gcmV0PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0
cj48dGQgY2xhc3M9ImxpbmUiPjI4MjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFz
cz0ic291cmNlIj4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjxzcGFuIGNsYXNzPSJr
Ij47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj4yODM8L3RkPjx0ZCBjbGFz
cz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8L3RkPjwvdHI+PHRyPjx0
ZCBjbGFzcz0ibGluZSI+Mjg0PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJz
b3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9ImMiPi8vIE5vdGU6IHdlIHBhcnNlIHNvbWV0aGlu
ZyBzaW1wbGVyIHRoYW4gdGhlIG9mZmljaWFsIHN5bnRheC4gSXQncyBhbGwgdGhhdCBldmVyPC9z
cGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj4yODU8L3RkPjx0ZCBjbGFzcz0iaGl0
cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFzcz0iYyI+Ly8gc2Vl
bXMgdG8gYmUgdXNlZDwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9
ImxpbmUiPjI4NjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40NzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2Ui
PiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gZXh0ZW5kZWRfYXR0cnMgPHNwYW4g
Y2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5mdW5jdGlvbjwvc3Bhbj4gPHNwYW4g
Y2xhc3M9ImsiPigpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRy
IGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjI4NzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40
MTU8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFy
PC9zcGFuPiBlYXMgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5bXTs8
L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4yODg8L3Rk
Pjx0ZCBjbGFzcz0iaGl0cyI+NDE1PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAg
YWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQi
PiA8dGQgY2xhc3M9ImxpbmUiPjI4OTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj44MTU8L3RkPjx0ZCBj
bGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFu
IGNsYXNzPSJrIj4oITwvc3Bhbj5jb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+T1RIRVI8
c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJbIjwvc3Bhbj48c3BhbiBj
bGFzcz0iayI+KSk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5yZXR1cm48L3NwYW4+IGVhczxzcGFu
IGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0i
bGluZSI+MjkwPC90ZD48dGQgY2xhc3M9ImhpdHMiPjE1PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+
ICAgICAgICAgICAgZWFzPHNwYW4gY2xhc3M9ImsiPls8L3NwYW4+PHNwYW4gY2xhc3M9InMiPjA8
L3NwYW4+PHNwYW4gY2xhc3M9ImsiPl08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiBz
aW1wbGVfZXh0ZW5kZWRfYXR0cjxzcGFuIGNsYXNzPSJrIj4oKTwvc3Bhbj4gPHNwYW4gY2xhc3M9
ImsiPnx8PC9zcGFuPiBlcnJvcjxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJz
Ij4iRXh0ZW5kZWQgYXR0cmlidXRlIHdpdGggbm90IGNvbnRlbnQiPC9zcGFuPjxzcGFuIGNsYXNz
PSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUi
PjI5MTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xNTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAg
ICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFz
cz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4yOTI8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTU8L3Rk
Pjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+d2hpbGU8L3Nw
YW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPmNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bh
bj5PVEhFUjxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+IiwiPC9zcGFu
PjxzcGFuIGNsYXNzPSJrIj4pKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48
L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4yOTM8L3RkPjx0ZCBjbGFzcz0i
aGl0cyI+MjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICBhbGxfd3M8c3Bh
biBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFz
cz0ibGluZSI+Mjk0PC90ZD48dGQgY2xhc3M9ImhpdHMiPjI8L3RkPjx0ZCBjbGFzcz0ic291cmNl
Ij4gICAgICAgICAgICAgICAgZWFzPHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+cHVzaDxzcGFuIGNs
YXNzPSJrIj4oPC9zcGFuPnNpbXBsZV9leHRlbmRlZF9hdHRyPHNwYW4gY2xhc3M9ImsiPigpPC9z
cGFuPiA8c3BhbiBjbGFzcz0iayI+fHw8L3NwYW4+IGVycm9yPHNwYW4gY2xhc3M9ImsiPig8L3Nw
YW4+PHNwYW4gY2xhc3M9InMiPiJUcmFpbGluZyBjb21tYSBpbiBleHRlbmRlZCBhdHRyaWJ1dGUi
PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0
Ij4gPHRkIGNsYXNzPSJsaW5lIj4yOTU8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MjwvdGQ+PHRkIGNs
YXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9z
cGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj4yOTY8L3RkPjx0ZCBjbGFzcz0iaGl0
cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08
L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4yOTc8L3Rk
Pjx0ZCBjbGFzcz0iaGl0cyI+MTU8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICBj
b25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+T1RIRVI8c3BhbiBjbGFzcz0iayI+LDwvc3Bh
bj4gPHNwYW4gY2xhc3M9InMiPiJdIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNw
YW4gY2xhc3M9ImsiPnx8PC9zcGFuPiBlcnJvcjxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFu
IGNsYXNzPSJzIj4iTm8gZW5kIG9mIGV4dGVuZGVkIGF0dHJpYnV0ZSI8L3NwYW4+PHNwYW4gY2xh
c3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGlu
ZSI+Mjk4PC90ZD48dGQgY2xhc3M9ImhpdHMiPjE1PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAg
ICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnJldHVybjwvc3Bhbj4gZWFzPHNwYW4gY2xhc3M9Imsi
Pjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjI5OTwvdGQ+PHRkIGNsYXNz
PSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj59
PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJs
aW5lIj4zMDA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAg
ICAgICA8L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjMwMTwvdGQ+
PHRkIGNsYXNzPSJoaXRzIj40NzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4g
Y2xhc3M9ImsiPnZhcjwvc3Bhbj4gZGVmYXVsdF8gPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxz
cGFuIGNsYXNzPSJrIj5mdW5jdGlvbjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPigpPC9zcGFuPiA8
c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xh
c3M9ImxpbmUiPjMwMjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xMTwvdGQ+PHRkIGNsYXNzPSJzb3Vy
Y2UiPiAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3Ry
Pjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4zMDM8L3RkPjx0ZCBjbGFzcz0iaGl0
cyI+MTE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+
aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPmNvbnN1bWU8c3BhbiBjbGFzcz0iayI+
KDwvc3Bhbj5PVEhFUjxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+Ij0i
PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+
PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4zMDQ8L3RkPjx0ZCBj
bGFzcz0iaGl0cyI+NTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICBhbGxf
d3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0
ZCBjbGFzcz0ibGluZSI+MzA1PC90ZD48dGQgY2xhc3M9ImhpdHMiPjU8L3RkPjx0ZCBjbGFzcz0i
c291cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gZGVmIDxz
cGFuIGNsYXNzPSJrIj49PC9zcGFuPiBjb25zdF92YWx1ZTxzcGFuIGNsYXNzPSJrIj4oKTs8L3Nw
YW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4zMDY8L3RkPjx0
ZCBjbGFzcz0iaGl0cyI+NTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8
c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNs
YXNzPSJrIj50eXBlb2Y8L3NwYW4+IGRlZiA8c3BhbiBjbGFzcz0iayI+IT09PC9zcGFuPiA8c3Bh
biBjbGFzcz0icyI+InVuZGVmaW5lZCI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxz
cGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFz
cz0ibGluZSI+MzA3PC90ZD48dGQgY2xhc3M9ImhpdHMiPjM8L3RkPjx0ZCBjbGFzcz0ic291cmNl
Ij4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5yZXR1cm48L3NwYW4+IGRlZjxz
cGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj4zMDg8
L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAg
ICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5l
Ij4zMDk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAg
ICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5lbHNlPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwv
c3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjMxMDwvdGQ+
PHRkIGNsYXNzPSJoaXRzIj4yPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAg
ICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiBzdHIgPHNwYW4gY2xhc3M9ImsiPj08L3Nw
YW4+IGNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5TVFI8c3BhbiBjbGFzcz0iayI+KTwv
c3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnx8PC9zcGFuPiBlcnJvcjxzcGFuIGNsYXNzPSJrIj4oPC9z
cGFuPjxzcGFuIGNsYXNzPSJzIj4iTm8gdmFsdWUgZm9yIGRlZmF1bHQiPC9zcGFuPjxzcGFuIGNs
YXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9Imxp
bmUiPjMxMTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAg
ICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+cmV0dXJuPC9zcGFuPiBzdHI8c3BhbiBj
bGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+MzEyPC90ZD48
dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8
c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+MzEz
PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAg
IDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj4z
MTQ8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8
c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+
PHRyPjx0ZCBjbGFzcz0ibGluZSI+MzE1PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNs
YXNzPSJzb3VyY2UiPiAgICAgICAgPC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNz
PSJsaW5lIj4zMTY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDc8L3RkPjx0ZCBjbGFzcz0ic291cmNl
Ij4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IGNvbnN0XyA8c3BhbiBjbGFzcz0i
ayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPmZ1bmN0aW9uPC9zcGFuPiA8c3BhbiBjbGFzcz0i
ayI+KCk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9
ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MzE3PC90ZD48dGQgY2xhc3M9ImhpdHMiPjE4MDwvdGQ+
PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8
L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4zMTg8L3Rk
Pjx0ZCBjbGFzcz0iaGl0cyI+MzQ4PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAg
PHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KCE8L3NwYW4+Y29uc3Vt
ZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPklEPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFu
IGNsYXNzPSJzIj4iY29uc3QiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pKTwvc3Bhbj4gPHNwYW4g
Y2xhc3M9ImsiPnJldHVybjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+
PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjMxOTwvdGQ+PHRkIGNsYXNzPSJoaXRz
Ij4xMjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj52
YXI8L3NwYW4+IHJldCA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8
L3NwYW4+IHR5cGU8c3BhbiBjbGFzcz0iayI+Ojwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJjb25z
dCI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IG51bGxhYmxlPHNwYW4gY2xhc3M9Imsi
Pjo8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5mYWxzZTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPn08
L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4g
PHRkIGNsYXNzPSJsaW5lIj4zMjA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTI8L3RkPjx0ZCBjbGFz
cz0ic291cmNlIj4gICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwv
dGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MzIxPC90ZD48dGQgY2xh
c3M9ImhpdHMiPjEyPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xh
c3M9ImsiPnZhcjwvc3Bhbj4gdHlwIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiBwcmltaXRpdmVf
dHlwZTxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4g
PHRkIGNsYXNzPSJsaW5lIj4zMjI8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTI8L3RkPjx0ZCBjbGFz
cz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNs
YXNzPSJrIj4oITwvc3Bhbj50eXA8c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9
ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0ibWlzcyI+IDx0ZCBjbGFzcz0ibGluZSI+
MzIzPC90ZD48dGQgY2xhc3M9ImhpdHMiPjA8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAg
ICAgICAgICAgdHlwIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiBjb25zdW1lPHNwYW4gY2xhc3M9
ImsiPig8L3NwYW4+SUQ8c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnx8
PC9zcGFuPiBlcnJvcjxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4iTm8g
dHlwZSBmb3IgY29uc3QiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+
PHRyIGNsYXNzPSJtaXNzIj4gPHRkIGNsYXNzPSJsaW5lIj4zMjQ8L3RkPjx0ZCBjbGFzcz0iaGl0
cyI+MDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICB0eXAgPHNwYW4gY2xh
c3M9ImsiPj08L3NwYW4+IHR5cDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnZhbHVlPHNwYW4gY2xh
c3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjMyNTwvdGQ+PHRk
IGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBj
bGFzcz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9Imxp
bmUiPjMyNjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xMjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAg
ICAgICAgICAgIHJldDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPmlkbFR5cGUgPHNwYW4gY2xhc3M9
ImsiPj08L3NwYW4+IHR5cDxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xh
c3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MzI3PC90ZD48dGQgY2xhc3M9ImhpdHMiPjEyPC90
ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigp
Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjMyODwv
dGQ+PHRkIGNsYXNzPSJoaXRzIj4xMjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAg
IDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+Y29uc3Vt
ZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPk9USEVSPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxz
cGFuIGNsYXNzPSJzIj4iPyI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPikpPC9zcGFuPiA8c3BhbiBj
bGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9Imxp
bmUiPjMyOTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAg
ICAgICAgICAgICAgIHJldDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPm51bGxhYmxlIDxzcGFuIGNs
YXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+dHJ1ZTwvc3Bhbj48c3BhbiBjbGFzcz0i
ayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjMz
MDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAg
ICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQg
Y2xhc3M9ImxpbmUiPjMzMTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291
cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+PHRyIGNs
YXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjMzMjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xMjwv
dGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3Nw
YW4+IG5hbWUgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IGNvbnN1bWU8c3BhbiBjbGFzcz0iayI+
KDwvc3Bhbj5JRDxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+fHw8L3Nw
YW4+IGVycm9yPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9InMiPiJObyBuYW1l
IGZvciBjb25zdCI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIg
Y2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MzMzPC90ZD48dGQgY2xhc3M9ImhpdHMiPjEy
PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgcmV0PHNwYW4gY2xhc3M9ImsiPi48
L3NwYW4+bmFtZSA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gbmFtZTxzcGFuIGNsYXNzPSJrIj4u
PC9zcGFuPnZhbHVlPHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0i
aGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4zMzQ8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTI8L3RkPjx0
ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9z
cGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MzM1PC90ZD48
dGQgY2xhc3M9ImhpdHMiPjEyPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgY29u
c3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPk9USEVSPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+
IDxzcGFuIGNsYXNzPSJzIj4iPSI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFu
IGNsYXNzPSJrIj58fDwvc3Bhbj4gZXJyb3I8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3BhbiBj
bGFzcz0icyI+Ik5vIHZhbHVlIGFzc2lnbm1lbnQgZm9yIGNvbnN0Ijwvc3Bhbj48c3BhbiBjbGFz
cz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5l
Ij4zMzY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTI8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAg
ICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xh
c3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MzM3PC90ZD48dGQgY2xhc3M9ImhpdHMiPjEyPC90
ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bh
bj4gY250IDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiBjb25zdF92YWx1ZTxzcGFuIGNsYXNzPSJr
Ij4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4z
Mzg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MjQ8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAg
ICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxz
cGFuIGNsYXNzPSJrIj50eXBlb2Y8L3NwYW4+IGNudCA8c3BhbiBjbGFzcz0iayI+IT09PC9zcGFu
PiA8c3BhbiBjbGFzcz0icyI+InVuZGVmaW5lZCI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik8L3Nw
YW4+IHJldDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnZhbHVlIDxzcGFuIGNsYXNzPSJrIj49PC9z
cGFuPiBjbnQ8c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJtaXNz
Ij4gPHRkIGNsYXNzPSJsaW5lIj4zMzk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MDwvdGQ+PHRkIGNs
YXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5lbHNlPC9zcGFuPiBlcnJv
cjxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4iTm8gdmFsdWUgZm9yIGNv
bnN0Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0i
aGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4zNDA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTI8L3RkPjx0
ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9z
cGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MzQxPC90ZD48
dGQgY2xhc3M9ImhpdHMiPjEyPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgY29u
c3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPk9USEVSPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+
IDxzcGFuIGNsYXNzPSJzIj4iOyI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFu
IGNsYXNzPSJrIj58fDwvc3Bhbj4gZXJyb3I8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3BhbiBj
bGFzcz0icyI+IlVudGVybWluYXRlZCBjb25zdCI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7PC9z
cGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MzQyPC90ZD48
dGQgY2xhc3M9ImhpdHMiPjEyPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNw
YW4gY2xhc3M9ImsiPnJldHVybjwvc3Bhbj4gcmV0PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90
ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjM0MzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3Rk
Pjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjxzcGFu
IGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj4zNDQ8L3Rk
Pjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8L3RkPjwv
dHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjM0NTwvdGQ+PHRkIGNsYXNzPSJo
aXRzIj40NzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZh
cjwvc3Bhbj4gaW5oZXJpdGFuY2UgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNz
PSJrIj5mdW5jdGlvbjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPigpPC9zcGFuPiA8c3BhbiBjbGFz
cz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUi
PjM0NjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj44OTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAg
ICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFz
cz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4zNDc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+ODk8L3Rk
Pjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+
IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPmNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5P
VEhFUjxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+IjoiPC9zcGFuPjxz
cGFuIGNsYXNzPSJrIj4pKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3Ry
Pjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4zNDg8L3RkPjx0ZCBjbGFzcz0iaGl0
cyI+OTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICBhbGxfd3M8c3BhbiBj
bGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0i
bGluZSI+MzQ5PC90ZD48dGQgY2xhc3M9ImhpdHMiPjk8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4g
ICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gaW5oIDxzcGFuIGNsYXNz
PSJrIj49PC9zcGFuPiBjb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+SUQ8c3BhbiBjbGFz
cz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnx8PC9zcGFuPiBlcnJvciA8c3BhbiBjbGFz
cz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0icyI+Ik5vIHR5cGUgaW4gaW5oZXJpdGFuY2UiPC9z
cGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8
dGQgY2xhc3M9ImxpbmUiPjM1MDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj45PC90ZD48dGQgY2xhc3M9
InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5yZXR1cm48L3NwYW4+IGlu
aDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnZhbHVlPHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90
ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjM1MTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3Rk
Pjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48
L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+MzUyPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwv
dGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PHNw
YW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjM1Mzwv
dGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDwvdGQ+
PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MzU0PC90ZD48dGQgY2xhc3M9
ImhpdHMiPjQ3PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFzcz0iayI+
dmFyPC9zcGFuPiBvcGVyYXRpb25fcmVzdCA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4g
Y2xhc3M9ImsiPmZ1bmN0aW9uPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5yZXQ8c3Bh
biBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0
ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4zNTU8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+
NTY8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0i
ayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+
MzU2PC90ZD48dGQgY2xhc3M9ImhpdHMiPjU3PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAg
ICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KCE8L3NwYW4+
cmV0PHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IHJldCA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4g
PHNwYW4gY2xhc3M9ImsiPnt9PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90
cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MzU3PC90ZD48dGQgY2xhc3M9Imhp
dHMiPjU2PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9Imsi
PnZhcjwvc3Bhbj4gbmFtZSA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gY29uc3VtZTxzcGFuIGNs
YXNzPSJrIj4oPC9zcGFuPklEPHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIg
Y2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MzU4PC90ZD48dGQgY2xhc3M9ImhpdHMiPjU2
PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgcmV0PHNwYW4gY2xhc3M9ImsiPi48
L3NwYW4+bmFtZSA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gbmFtZSA8c3BhbiBjbGFzcz0iayI+
Pzwvc3Bhbj4gbmFtZTxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnZhbHVlIDxzcGFuIGNsYXNzPSJr
Ij46PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+bnVsbDwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwv
c3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjM1OTwvdGQ+
PHRkIGNsYXNzPSJoaXRzIj41NjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIGFs
bF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4g
PHRkIGNsYXNzPSJsaW5lIj4zNjA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NTY8L3RkPjx0ZCBjbGFz
cz0ic291cmNlIj4gICAgICAgICAgICBjb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+T1RI
RVI8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiIoIjwvc3Bhbj48c3Bh
biBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnx8PC9zcGFuPiBlcnJvcjxzcGFu
IGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4iSW52YWxpZCBvcGVyYXRpb24iPC9z
cGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8
dGQgY2xhc3M9ImxpbmUiPjM2MTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj41NjwvdGQ+PHRkIGNsYXNz
PSJzb3VyY2UiPiAgICAgICAgICAgIHJldDxzcGFuIGNsYXNzPSJrIj5bPC9zcGFuPjxzcGFuIGNs
YXNzPSJzIj4iYXJndW1lbnRzIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+XTwvc3Bhbj4gPHNwYW4g
Y2xhc3M9ImsiPj08L3NwYW4+IGFyZ3VtZW50X2xpc3Q8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFu
PjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MzYyPC90ZD48dGQg
Y2xhc3M9ImhpdHMiPjU2PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgYWxsX3dz
PHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQg
Y2xhc3M9ImxpbmUiPjM2MzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj41NjwvdGQ+PHRkIGNsYXNzPSJz
b3VyY2UiPiAgICAgICAgICAgIGNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5PVEhFUjxz
cGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+IikiPC9zcGFuPjxzcGFuIGNs
YXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+fHw8L3NwYW4+IGVycm9yPHNwYW4gY2xh
c3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9InMiPiJVbnRlcm1pbmF0ZWQgb3BlcmF0aW9uIjwv
c3Bhbj48c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4g
PHRkIGNsYXNzPSJsaW5lIj4zNjQ8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NTY8L3RkPjx0ZCBjbGFz
cz0ic291cmNlIj4gICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwv
dGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MzY1PC90ZD48dGQgY2xh
c3M9ImhpdHMiPjU2PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgY29uc3VtZTxz
cGFuIGNsYXNzPSJrIj4oPC9zcGFuPk9USEVSPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFu
IGNsYXNzPSJzIj4iOyI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNz
PSJrIj58fDwvc3Bhbj4gZXJyb3I8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0i
cyI+IlVudGVybWluYXRlZCBvcGVyYXRpb24iPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bh
bj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjM2NjwvdGQ+PHRk
IGNsYXNzPSJoaXRzIj41NjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFu
IGNsYXNzPSJrIj5yZXR1cm48L3NwYW4+IHJldDxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+
PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj4zNjc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48
dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48c3BhbiBj
bGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+MzY4PC90ZD48
dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPC90ZD48L3Ry
Pjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4zNjk8L3RkPjx0ZCBjbGFzcz0iaGl0
cyI+NDc8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8
L3NwYW4+IGNhbGxiYWNrIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+
ZnVuY3Rpb248L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oKTwvc3Bhbj4gPHNwYW4gY2xhc3M9Imsi
Pns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4zNzA8
L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTQ0PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAg
ICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJo
aXQiPiA8dGQgY2xhc3M9ImxpbmUiPjM3MTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xNDQ8L3RkPjx0
ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiBy
ZXQ8c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQg
Y2xhc3M9ImxpbmUiPjM3MjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yODY8L3RkPjx0ZCBjbGFzcz0i
c291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNz
PSJrIj4oITwvc3Bhbj5jb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+SUQ8c3BhbiBjbGFz
cz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJjYWxsYmFjayI8L3NwYW4+PHNwYW4gY2xh
c3M9ImsiPikpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+cmV0dXJuPC9zcGFuPjxzcGFuIGNsYXNz
PSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+
MzczPC90ZD48dGQgY2xhc3M9ImhpdHMiPjI8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAg
ICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9
ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+Mzc0PC90ZD48dGQgY2xhc3M9ImhpdHMiPjI8L3RkPjx0
ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiB0
b2sgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IGNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bh
bj5JRDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+ImludGVyZmFjZSI8
L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+
IDx0ZCBjbGFzcz0ibGluZSI+Mzc1PC90ZD48dGQgY2xhc3M9ImhpdHMiPjI8L3RkPjx0ZCBjbGFz
cz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNs
YXNzPSJrIj4oPC9zcGFuPnRvazxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0i
ayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjM3
NjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAg
ICAgICAgIHRva2VuczxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnVuc2hpZnQ8c3BhbiBjbGFzcz0i
ayI+KDwvc3Bhbj50b2s8c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFz
cz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4zNzc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTwvdGQ+
PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICByZXQgPHNwYW4gY2xhc3M9ImsiPj08
L3NwYW4+IGludGVyZmFjZV88c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIg
Y2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+Mzc4PC90ZD48dGQgY2xhc3M9ImhpdHMiPjE8
L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgcmV0PHNwYW4gY2xhc3M9Imsi
Pi48L3NwYW4+dHlwZSA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJj
YWxsYmFjayBpbnRlcmZhY2UiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90
cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+Mzc5PC90ZD48dGQgY2xhc3M9Imhp
dHMiPjE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9
ImsiPnJldHVybjwvc3Bhbj4gcmV0PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0
cj48dGQgY2xhc3M9ImxpbmUiPjM4MDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFz
cz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+
PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjM4MTwvdGQ+PHRkIGNsYXNzPSJoaXRz
Ij4xPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZh
cjwvc3Bhbj4gbmFtZSA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gY29uc3VtZTxzcGFuIGNsYXNz
PSJrIj4oPC9zcGFuPklEPHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj58
fDwvc3Bhbj4gZXJyb3I8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0icyI+Ik5v
IG5hbWUgZm9yIGNhbGxiYWNrIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48
L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4zODI8L3RkPjx0ZCBjbGFzcz0i
aGl0cyI+MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIHJldCA8c3BhbiBjbGFz
cz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+IHR5cGU8c3BhbiBjbGFzcz0i
ayI+Ojwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJjYWxsYmFjayI8L3NwYW4+PHNwYW4gY2xhc3M9
ImsiPiw8L3NwYW4+IG5hbWU8c3BhbiBjbGFzcz0iayI+Ojwvc3Bhbj4gbmFtZTxzcGFuIGNsYXNz
PSJrIj4uPC9zcGFuPnZhbHVlIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjxzcGFuIGNsYXNzPSJr
Ij47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+Mzgz
PC90ZD48dGQgY2xhc3M9ImhpdHMiPjE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAg
ICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9Imhp
dCI+IDx0ZCBjbGFzcz0ibGluZSI+Mzg0PC90ZD48dGQgY2xhc3M9ImhpdHMiPjE8L3RkPjx0ZCBj
bGFzcz0ic291cmNlIj4gICAgICAgICAgICBjb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+
T1RIRVI8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiI9Ijwvc3Bhbj48
c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnx8PC9zcGFuPiBlcnJvcjxz
cGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4iTm8gYXNzaWdubWVudCBpbiBj
YWxsYmFjayI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xh
c3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+Mzg1PC90ZD48dGQgY2xhc3M9ImhpdHMiPjE8L3Rk
Pjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7
PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+Mzg2PC90
ZD48dGQgY2xhc3M9ImhpdHMiPjE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICBy
ZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5pZGxUeXBlIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFu
PiByZXR1cm5fdHlwZTxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFz
cz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4zODc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTwvdGQ+
PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8
L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4zODg8L3Rk
Pjx0ZCBjbGFzcz0iaGl0cyI+MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIGNv
bnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5PVEhFUjxzcGFuIGNsYXNzPSJrIj4sPC9zcGFu
PiA8c3BhbiBjbGFzcz0icyI+IigiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3Bh
biBjbGFzcz0iayI+fHw8L3NwYW4+IGVycm9yPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4g
Y2xhc3M9InMiPiJObyBhcmd1bWVudHMgaW4gY2FsbGJhY2siPC9zcGFuPjxzcGFuIGNsYXNzPSJr
Ij4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjM4
OTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAg
ICAgcmV0PHNwYW4gY2xhc3M9ImsiPls8L3NwYW4+PHNwYW4gY2xhc3M9InMiPiJhcmd1bWVudHMi
PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj5dPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4g
YXJndW1lbnRfbGlzdDxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFz
cz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4zOTA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTwvdGQ+
PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8
L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4zOTE8L3Rk
Pjx0ZCBjbGFzcz0iaGl0cyI+MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIGNv
bnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5PVEhFUjxzcGFuIGNsYXNzPSJrIj4sPC9zcGFu
PiA8c3BhbiBjbGFzcz0icyI+IikiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3Bh
biBjbGFzcz0iayI+fHw8L3NwYW4+IGVycm9yPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4g
Y2xhc3M9InMiPiJVbnRlcm1pbmF0ZWQgY2FsbGJhY2siPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4p
Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjM5Mjwv
dGQ+PHRkIGNsYXNzPSJoaXRzIj4xPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAg
YWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQi
PiA8dGQgY2xhc3M9ImxpbmUiPjM5MzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xPC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+ICAgICAgICAgICAgY29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPk9U
SEVSPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iOyI8L3NwYW4+PHNw
YW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj58fDwvc3Bhbj4gZXJyb3I8c3Bh
biBjbGFzcz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0icyI+IlVudGVybWluYXRlZCBjYWxsYmFj
ayI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9Imhp
dCI+IDx0ZCBjbGFzcz0ibGluZSI+Mzk0PC90ZD48dGQgY2xhc3M9ImhpdHMiPjE8L3RkPjx0ZCBj
bGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+cmV0dXJuPC9zcGFuPiBy
ZXQ8c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+
Mzk1PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAg
PHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3Ry
Pjx0cj48dGQgY2xhc3M9ImxpbmUiPjM5NjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBj
bGFzcz0ic291cmNlIj4gPC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5l
Ij4zOTc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDc8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAg
ICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IGF0dHJpYnV0ZSA8c3BhbiBjbGFzcz0iayI+
PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPmZ1bmN0aW9uPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+
KCk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9Imhp
dCI+IDx0ZCBjbGFzcz0ibGluZSI+Mzk4PC90ZD48dGQgY2xhc3M9ImhpdHMiPjE1NDwvdGQ+PHRk
IGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3Nw
YW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4zOTk8L3RkPjx0
ZCBjbGFzcz0iaGl0cyI+MTU0PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNw
YW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gZ3JhYmJlZCA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4g
PHNwYW4gY2xhc3M9ImsiPltdPC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj40
MDA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAg
ICAgPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+ICAgcmV0IDxzcGFuIGNsYXNzPSJrIj49PC9zcGFu
PiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+
NDAxPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAg
ICAgICAgICB0eXBlPHNwYW4gY2xhc3M9ImsiPjo8L3NwYW4+ICAgICAgICAgICA8c3BhbiBjbGFz
cz0icyI+ImF0dHJpYnV0ZSI8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjQw
MjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAg
ICA8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gICA8c3BhbiBjbGFzcz0icyI+InN0YXRpYyI8L3Nw
YW4+PHNwYW4gY2xhc3M9ImsiPjo8L3NwYW4+ICAgICAgIDxzcGFuIGNsYXNzPSJrIj5mYWxzZTwv
c3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NDAzPC90ZD48dGQgY2xhc3M9Imhp
dHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj4s
PC9zcGFuPiAgIHN0cmluZ2lmaWVyPHNwYW4gY2xhc3M9ImsiPjo8L3NwYW4+ICAgIDxzcGFuIGNs
YXNzPSJrIj5mYWxzZTwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NDA0PC90
ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxz
cGFuIGNsYXNzPSJrIj4sPC9zcGFuPiAgIGluaGVyaXQ8c3BhbiBjbGFzcz0iayI+Ojwvc3Bhbj4g
ICAgICAgIDxzcGFuIGNsYXNzPSJrIj5mYWxzZTwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFz
cz0ibGluZSI+NDA1PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2Ui
PiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiAgIHJlYWRvbmx5PHNwYW4gY2xh
c3M9ImsiPjo8L3NwYW4+ICAgICAgIDxzcGFuIGNsYXNzPSJrIj5mYWxzZTwvc3Bhbj48L3RkPjwv
dHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NDA2PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRk
IGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjxzcGFu
IGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0i
bGluZSI+NDA3PC90ZD48dGQgY2xhc3M9ImhpdHMiPjE1NDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2Ui
PiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8
L3NwYW4+Y29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPklEPHNwYW4gY2xhc3M9ImsiPiw8
L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4ic3RhdGljIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KSk8
L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+
IDx0ZCBjbGFzcz0ibGluZSI+NDA4PC90ZD48dGQgY2xhc3M9ImhpdHMiPjI8L3RkPjx0ZCBjbGFz
cz0ic291cmNlIj4gICAgICAgICAgICAgICAgcmV0PHNwYW4gY2xhc3M9ImsiPls8L3NwYW4+PHNw
YW4gY2xhc3M9InMiPiJzdGF0aWMiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj5dPC9zcGFuPiA8c3Bh
biBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnRydWU8L3NwYW4+PHNwYW4gY2xh
c3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5l
Ij40MDk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAg
ICAgICAgICAgICBncmFiYmVkPHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+cHVzaDxzcGFuIGNsYXNz
PSJrIj4oPC9zcGFuPmxhc3RfdG9rZW48c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3Ry
Pjx0cj48dGQgY2xhc3M9ImxpbmUiPjQxMDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBj
bGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48L3RkPjwv
dHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjQxMTwvdGQ+PHRkIGNsYXNzPSJo
aXRzIj4xNTI8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0i
ayI+ZWxzZTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+
KDwvc3Bhbj5jb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+SUQ8c3BhbiBjbGFzcz0iayI+
LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJzdHJpbmdpZmllciI8L3NwYW4+PHNwYW4gY2xhc3M9
ImsiPikpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNz
PSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjQxMjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40PC90ZD48
dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIHJldDxzcGFuIGNsYXNzPSJrIj4uPC9z
cGFuPnN0cmluZ2lmaWVyIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+
dHJ1ZTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJo
aXQiPiA8dGQgY2xhc3M9ImxpbmUiPjQxMzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40PC90ZD48dGQg
Y2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIGdyYWJiZWQ8c3BhbiBjbGFzcz0iayI+Ljwv
c3Bhbj5wdXNoPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+bGFzdF90b2tlbjxzcGFuIGNsYXNzPSJr
Ij4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NDE0PC90ZD48dGQgY2xh
c3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNz
PSJrIj59PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+
NDE1PC90ZD48dGQgY2xhc3M9ImhpdHMiPjE1NDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAg
ICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IHcgPHNwYW4gY2xhc3M9ImsiPj08L3Nw
YW4+IGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0i
aGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj40MTY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTU5PC90ZD48
dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8
c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj53PHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IGdyYWJiZWQ8
c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5wdXNoPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+dzxzcGFu
IGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9
ImxpbmUiPjQxNzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xNTQ8L3RkPjx0ZCBjbGFzcz0ic291cmNl
Ij4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4o
PC9zcGFuPmNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5JRDxzcGFuIGNsYXNzPSJrIj4s
PC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+ImluaGVyaXQiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4p
KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0
Ij4gPHRkIGNsYXNzPSJsaW5lIj40MTg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTwvdGQ+PHRkIGNs
YXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxz
cGFuIGNsYXNzPSJrIj4oPC9zcGFuPnJldDxzcGFuIGNsYXNzPSJrIj5bPC9zcGFuPjxzcGFuIGNs
YXNzPSJzIj4ic3RhdGljIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+XTwvc3Bhbj4gPHNwYW4gY2xh
c3M9ImsiPnx8PC9zcGFuPiByZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5zdHJpbmdpZmllcjxz
cGFuIGNsYXNzPSJrIj4pPC9zcGFuPiBlcnJvcjxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFu
IGNsYXNzPSJzIj4iQ2Fubm90IGhhdmUgYSBzdGF0aWMgb3Igc3RyaW5naWZpZXIgaW5oZXJpdCI8
L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+
IDx0ZCBjbGFzcz0ibGluZSI+NDE5PC90ZD48dGQgY2xhc3M9ImhpdHMiPjE8L3RkPjx0ZCBjbGFz
cz0ic291cmNlIj4gICAgICAgICAgICAgICAgcmV0PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+aW5o
ZXJpdCA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnRydWU8L3NwYW4+
PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNs
YXNzPSJsaW5lIj40MjA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTwvdGQ+PHRkIGNsYXNzPSJzb3Vy
Y2UiPiAgICAgICAgICAgICAgICBncmFiYmVkPHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+cHVzaDxz
cGFuIGNsYXNzPSJrIj4oPC9zcGFuPmxhc3RfdG9rZW48c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+
PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj40MjE8L3RkPjx0ZCBj
bGFzcz0iaGl0cyI+MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3Bh
biBjbGFzcz0iayI+dmFyPC9zcGFuPiB3IDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiBhbGxfd3M8
c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBj
bGFzcz0ibGluZSI+NDIyPC90ZD48dGQgY2xhc3M9ImhpdHMiPjI8L3RkPjx0ZCBjbGFzcz0ic291
cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFz
cz0iayI+KDwvc3Bhbj53PHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IGdyYWJiZWQ8c3BhbiBjbGFz
cz0iayI+Ljwvc3Bhbj5wdXNoPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+dzxzcGFuIGNsYXNzPSJr
Ij4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NDIzPC90ZD48dGQgY2xh
c3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNz
PSJrIj59PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+
NDI0PC90ZD48dGQgY2xhc3M9ImhpdHMiPjE1NDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAg
ICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+
Y29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPklEPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+
IDxzcGFuIGNsYXNzPSJzIj4icmVhZG9ubHkiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pKTwvc3Bh
bj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRk
IGNsYXNzPSJsaW5lIj40MjU8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MzI8L3RkPjx0ZCBjbGFzcz0i
c291cmNlIj4gICAgICAgICAgICAgICAgcmV0PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+cmVhZG9u
bHkgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj50cnVlPC9zcGFuPjxz
cGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFz
cz0ibGluZSI+NDI2PC90ZD48dGQgY2xhc3M9ImhpdHMiPjMyPC90ZD48dGQgY2xhc3M9InNvdXJj
ZSI+ICAgICAgICAgICAgICAgIGdyYWJiZWQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5wdXNoPHNw
YW4gY2xhc3M9ImsiPig8L3NwYW4+bGFzdF90b2tlbjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48
L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjQyNzwvdGQ+PHRkIGNs
YXNzPSJoaXRzIj4zMjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3Bh
biBjbGFzcz0iayI+dmFyPC9zcGFuPiB3IDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiBhbGxfd3M8
c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBj
bGFzcz0ibGluZSI+NDI4PC90ZD48dGQgY2xhc3M9ImhpdHMiPjY0PC90ZD48dGQgY2xhc3M9InNv
dXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xh
c3M9ImsiPig8L3NwYW4+dzxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiBncmFiYmVkPHNwYW4gY2xh
c3M9ImsiPi48L3NwYW4+cHVzaDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPnc8c3BhbiBjbGFzcz0i
ayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjQyOTwvdGQ+PHRkIGNs
YXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFz
cz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUi
PjQzMDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xNTQ8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAg
ICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oITwvc3Bh
bj5jb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+SUQ8c3BhbiBjbGFzcz0iayI+LDwvc3Bh
bj4gPHNwYW4gY2xhc3M9InMiPiJhdHRyaWJ1dGUiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pKTwv
c3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4g
PHRkIGNsYXNzPSJsaW5lIj40MzE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NjA8L3RkPjx0ZCBjbGFz
cz0ic291cmNlIj4gICAgICAgICAgICAgICAgdG9rZW5zIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFu
PiBncmFiYmVkPHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+Y29uY2F0PHNwYW4gY2xhc3M9ImsiPig8
L3NwYW4+dG9rZW5zPHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9
ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NDMyPC90ZD48dGQgY2xhc3M9ImhpdHMiPjYwPC90ZD48
dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5yZXR1cm48
L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9Imxp
bmUiPjQzMzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAg
ICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQi
PiA8dGQgY2xhc3M9ImxpbmUiPjQzNDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj45NDwvdGQ+PHRkIGNs
YXNzPSJzb3VyY2UiPiAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+
PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj40MzU8L3RkPjx0ZCBj
bGFzcz0iaGl0cyI+OTQ8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICByZXQ8c3Bh
biBjbGFzcz0iayI+Ljwvc3Bhbj5pZGxUeXBlIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiB0eXBl
PHNwYW4gY2xhc3M9ImsiPigpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+fHw8L3NwYW4+IGVycm9y
PHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9InMiPiJObyB0eXBlIGluIGF0dHJp
YnV0ZSI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9
ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NDM2PC90ZD48dGQgY2xhc3M9ImhpdHMiPjk0PC90ZD48
dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8
c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5yZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5pZGxUeXBl
PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+c2VxdWVuY2U8c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4g
ZXJyb3I8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0icyI+IkF0dHJpYnV0ZXMg
Y2Fubm90IGFjY2VwdCBzZXF1ZW5jZSB0eXBlcyI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7PC9z
cGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NDM3PC90ZD48
dGQgY2xhc3M9ImhpdHMiPjk0PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgYWxs
X3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8
dGQgY2xhc3M9ImxpbmUiPjQzODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj45NDwvdGQ+PHRkIGNsYXNz
PSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IG5hbWUgPHNw
YW4gY2xhc3M9ImsiPj08L3NwYW4+IGNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5JRDxz
cGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+fHw8L3NwYW4+IGVycm9yPHNw
YW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9InMiPiJObyBuYW1lIGluIGF0dHJpYnV0
ZSI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9Imhp
dCI+IDx0ZCBjbGFzcz0ibGluZSI+NDM5PC90ZD48dGQgY2xhc3M9ImhpdHMiPjk0PC90ZD48dGQg
Y2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgcmV0PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+bmFt
ZSA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gbmFtZTxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnZh
bHVlPHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRk
IGNsYXNzPSJsaW5lIj40NDA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+OTQ8L3RkPjx0ZCBjbGFzcz0i
c291cmNlIj4gICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+
PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NDQxPC90ZD48dGQgY2xhc3M9
ImhpdHMiPjk0PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgY29uc3VtZTxzcGFu
IGNsYXNzPSJrIj4oPC9zcGFuPk9USEVSPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNs
YXNzPSJzIj4iOyI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJr
Ij58fDwvc3Bhbj4gZXJyb3I8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0icyI+
IlVudGVybWluYXRlZCBhdHRyaWJ1dGUiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48
L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjQ0MjwvdGQ+PHRkIGNs
YXNzPSJoaXRzIj45NDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNs
YXNzPSJrIj5yZXR1cm48L3NwYW4+IHJldDxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90
cj48dHI+PHRkIGNsYXNzPSJsaW5lIj40NDM8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQg
Y2xhc3M9InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48c3BhbiBjbGFz
cz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NDQ0PC90ZD48dGQg
Y2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPC90ZD48L3RyPjx0
ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj40NDU8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+
NDc8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3Nw
YW4+IHJldHVybl90eXBlIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+
ZnVuY3Rpb248L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oKTwvc3Bhbj4gPHNwYW4gY2xhc3M9Imsi
Pns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj40NDY8
L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NjE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAg
ICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiB0eXAgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+
IHR5cGU8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+
IDx0ZCBjbGFzcz0ibGluZSI+NDQ3PC90ZD48dGQgY2xhc3M9ImhpdHMiPjYxPC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBj
bGFzcz0iayI+KCE8L3NwYW4+dHlwPHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNz
PSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9Im1pc3MiPiA8dGQgY2xhc3M9ImxpbmUi
PjQ0ODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4wPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAg
ICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3Nw
YW4+Y29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPklEPHNwYW4gY2xhc3M9ImsiPiw8L3Nw
YW4+IDxzcGFuIGNsYXNzPSJzIj4idm9pZCI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPikpPC9zcGFu
PiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJtaXNzIj4gPHRk
IGNsYXNzPSJsaW5lIj40NDk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MDwvdGQ+PHRkIGNsYXNzPSJz
b3VyY2UiPiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnJldHVybjwvc3Bhbj4g
PHNwYW4gY2xhc3M9InMiPiJ2b2lkIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3Rk
PjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NDUwPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+
PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bh
bj48L3RkPjwvdHI+PHRyIGNsYXNzPSJtaXNzIj4gPHRkIGNsYXNzPSJsaW5lIj40NTE8L3RkPjx0
ZCBjbGFzcz0iaGl0cyI+MDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8
c3BhbiBjbGFzcz0iayI+ZWxzZTwvc3Bhbj4gZXJyb3I8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48
c3BhbiBjbGFzcz0icyI+Ik5vIHJldHVybiB0eXBlIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTs8
L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjQ1MjwvdGQ+PHRkIGNsYXNzPSJo
aXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+
fTwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjQ1Mzwv
dGQ+PHRkIGNsYXNzPSJoaXRzIj42MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAg
IDxzcGFuIGNsYXNzPSJrIj5yZXR1cm48L3NwYW4+IHR5cDxzcGFuIGNsYXNzPSJrIj47PC9zcGFu
PjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj40NTQ8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+
PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48
c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NDU1
PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPC90
ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj40NTY8L3RkPjx0ZCBjbGFz
cz0iaGl0cyI+NDc8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxzcGFuIGNsYXNzPSJr
Ij52YXI8L3NwYW4+IG9wZXJhdGlvbiA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xh
c3M9ImsiPmZ1bmN0aW9uPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KCk8L3NwYW4+IDxzcGFuIGNs
YXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGlu
ZSI+NDU3PC90ZD48dGQgY2xhc3M9ImhpdHMiPjYwPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAg
ICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNs
YXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjQ1ODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj42MDwv
dGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3Nw
YW4+IHJldCA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+
PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjQ1OTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48
L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgdHlwZTxzcGFuIGNsYXNzPSJr
Ij46PC9zcGFuPiAgICAgICAgICAgPHNwYW4gY2xhc3M9InMiPiJvcGVyYXRpb24iPC9zcGFuPjwv
dGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj40NjA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90
ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+
ICAgZ2V0dGVyPHNwYW4gY2xhc3M9ImsiPjo8L3NwYW4+ICAgICAgICAgPHNwYW4gY2xhc3M9Imsi
PmZhbHNlPC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj40NjE8L3RkPjx0ZCBj
bGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xh
c3M9ImsiPiw8L3NwYW4+ICAgc2V0dGVyPHNwYW4gY2xhc3M9ImsiPjo8L3NwYW4+ICAgICAgICAg
PHNwYW4gY2xhc3M9ImsiPmZhbHNlPC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5l
Ij40NjI8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAg
ICAgICAgPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+ICAgY3JlYXRvcjxzcGFuIGNsYXNzPSJrIj46
PC9zcGFuPiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmZhbHNlPC9zcGFuPjwvdGQ+PC90cj48dHI+
PHRkIGNsYXNzPSJsaW5lIj40NjM8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9
InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+ICAgZGVsZXRlcjxz
cGFuIGNsYXNzPSJrIj46PC9zcGFuPiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmZhbHNlPC9zcGFu
PjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj40NjQ8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+
PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPiw8L3Nw
YW4+ICAgbGVnYWN5Y2FsbGVyPHNwYW4gY2xhc3M9ImsiPjo8L3NwYW4+ICAgPHNwYW4gY2xhc3M9
ImsiPmZhbHNlPC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj40NjU8L3RkPjx0
ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4g
Y2xhc3M9ImsiPiw8L3NwYW4+ICAgPHNwYW4gY2xhc3M9InMiPiJzdGF0aWMiPC9zcGFuPjxzcGFu
IGNsYXNzPSJrIj46PC9zcGFuPiAgICAgICA8c3BhbiBjbGFzcz0iayI+ZmFsc2U8L3NwYW4+PC90
ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjQ2NjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3Rk
Pjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4g
ICBzdHJpbmdpZmllcjxzcGFuIGNsYXNzPSJrIj46PC9zcGFuPiAgICA8c3BhbiBjbGFzcz0iayI+
ZmFsc2U8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjQ2NzwvdGQ+PHRkIGNs
YXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFz
cz0iayI+fTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNz
PSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjQ2ODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj42MDwvdGQ+
PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj53aGlsZTwvc3Bh
bj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPnRydWU8L3NwYW4+PHNw
YW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48
dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NDY5PC90ZD48dGQgY2xhc3M9ImhpdHMi
Pjc4PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIGFsbF93czxzcGFuIGNs
YXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJs
aW5lIj40NzA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+ODc8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4g
ICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+
KDwvc3Bhbj5jb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+SUQ8c3BhbiBjbGFzcz0iayI+
LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJnZXR0ZXIiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4p
KTwvc3Bhbj4gcmV0PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+Z2V0dGVyIDxzcGFuIGNsYXNzPSJr
Ij49PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+dHJ1ZTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwv
c3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjQ3MTwvdGQ+
PHRkIGNsYXNzPSJoaXRzIj43NDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAg
ICA8c3BhbiBjbGFzcz0iayI+ZWxzZTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8
c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5jb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+SUQ8
c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJzZXR0ZXIiPC9zcGFuPjxz
cGFuIGNsYXNzPSJrIj4pKTwvc3Bhbj4gcmV0PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+c2V0dGVy
IDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+dHJ1ZTwvc3Bhbj48c3Bh
biBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9
ImxpbmUiPjQ3MjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj42NTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2Ui
PiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+ZWxzZTwvc3Bhbj4gPHNwYW4gY2xhc3M9
ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5jb25zdW1lPHNwYW4gY2xhc3M9
ImsiPig8L3NwYW4+SUQ8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJj
cmVhdG9yIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KSk8L3NwYW4+IHJldDxzcGFuIGNsYXNzPSJr
Ij4uPC9zcGFuPmNyZWF0b3IgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJr
Ij50cnVlPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9
ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NDczPC90ZD48dGQgY2xhc3M9ImhpdHMiPjY1PC90ZD48
dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5lbHNlPC9z
cGFuPiA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPmNv
bnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5JRDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8
c3BhbiBjbGFzcz0icyI+ImRlbGV0ZXIiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pKTwvc3Bhbj4g
cmV0PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+ZGVsZXRlciA8c3BhbiBjbGFzcz0iayI+PTwvc3Bh
bj4gPHNwYW4gY2xhc3M9ImsiPnRydWU8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90
ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj40NzQ8L3RkPjx0ZCBjbGFz
cz0iaGl0cyI+NjI8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4g
Y2xhc3M9ImsiPmVsc2U8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xh
c3M9ImsiPig8L3NwYW4+Y29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPklEPHNwYW4gY2xh
c3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4ibGVnYWN5Y2FsbGVyIjwvc3Bhbj48c3Bh
biBjbGFzcz0iayI+KSk8L3NwYW4+IHJldDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPmxlZ2FjeWNh
bGxlciA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnRydWU8L3NwYW4+
PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNs
YXNzPSJsaW5lIj40NzU8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NjA8L3RkPjx0ZCBjbGFzcz0ic291
cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmVsc2U8L3NwYW4+IDxzcGFuIGNs
YXNzPSJrIj5icmVhazwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRy
Pjx0ZCBjbGFzcz0ibGluZSI+NDc2PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNz
PSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90cj48
dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NDc3PC90ZD48dGQgY2xhc3M9ImhpdHMi
PjYwPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlm
PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5yZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bh
bj5nZXR0ZXIgPHNwYW4gY2xhc3M9ImsiPnx8PC9zcGFuPiByZXQ8c3BhbiBjbGFzcz0iayI+Ljwv
c3Bhbj5zZXR0ZXIgPHNwYW4gY2xhc3M9ImsiPnx8PC9zcGFuPiByZXQ8c3BhbiBjbGFzcz0iayI+
Ljwvc3Bhbj5jcmVhdG9yIDxzcGFuIGNsYXNzPSJrIj58fDwvc3Bhbj4gcmV0PHNwYW4gY2xhc3M9
ImsiPi48L3NwYW4+ZGVsZXRlciA8c3BhbiBjbGFzcz0iayI+fHw8L3NwYW4+IHJldDxzcGFuIGNs
YXNzPSJrIj4uPC9zcGFuPmxlZ2FjeWNhbGxlcjxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3Bh
biBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9
ImxpbmUiPjQ3ODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xNzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2Ui
PiAgICAgICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90
cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NDc5PC90ZD48dGQgY2xhc3M9Imhp
dHMiPjE3PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIHJldDxzcGFuIGNs
YXNzPSJrIj4uPC9zcGFuPmlkbFR5cGUgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IHJldHVybl90
eXBlPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8
dGQgY2xhc3M9ImxpbmUiPjQ4MDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xNzwvdGQ+PHRkIGNsYXNz
PSJzb3VyY2UiPiAgICAgICAgICAgICAgICBvcGVyYXRpb25fcmVzdDxzcGFuIGNsYXNzPSJrIj4o
PC9zcGFuPnJldDxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJo
aXQiPiA8dGQgY2xhc3M9ImxpbmUiPjQ4MTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xNzwvdGQ+PHRk
IGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+cmV0dXJuPC9z
cGFuPiByZXQ8c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0i
bGluZSI+NDgyPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAg
ICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9Imhp
dCI+IDx0ZCBjbGFzcz0ibGluZSI+NDgzPC90ZD48dGQgY2xhc3M9ImhpdHMiPjQzPC90ZD48dGQg
Y2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3Bh
biBjbGFzcz0iayI+KDwvc3Bhbj5jb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+SUQ8c3Bh
biBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJzdGF0aWMiPC9zcGFuPjxzcGFu
IGNsYXNzPSJrIj4pKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0
ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj40ODQ8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+
MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICByZXQ8c3BhbiBjbGFzcz0i
ayI+Wzwvc3Bhbj48c3BhbiBjbGFzcz0icyI+InN0YXRpYyI8L3NwYW4+PHNwYW4gY2xhc3M9Imsi
Pl08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+dHJ1ZTwv
c3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8
dGQgY2xhc3M9ImxpbmUiPjQ4NTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xPC90ZD48dGQgY2xhc3M9
InNvdXJjZSI+ICAgICAgICAgICAgICAgIHJldDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPmlkbFR5
cGUgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IHJldHVybl90eXBlPHNwYW4gY2xhc3M9ImsiPigp
Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjQ4Njwv
dGQ+PHRkIGNsYXNzPSJoaXRzIj4xPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAg
ICAgIG9wZXJhdGlvbl9yZXN0PHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+cmV0PHNwYW4gY2xhc3M9
ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+
NDg3PC90ZD48dGQgY2xhc3M9ImhpdHMiPjE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAg
ICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnJldHVybjwvc3Bhbj4gcmV0PHNwYW4gY2xhc3M9Imsi
Pjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjQ4ODwvdGQ+PHRkIGNsYXNz
PSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0i
ayI+fTwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjQ4
OTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40MjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAg
ICAgIDxzcGFuIGNsYXNzPSJrIj5lbHNlPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+
IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPmNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5J
RDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+InN0cmluZ2lmaWVyIjwv
c3Bhbj48c3BhbiBjbGFzcz0iayI+KSk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwv
dGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NDkwPC90ZD48dGQgY2xh
c3M9ImhpdHMiPjM8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgcmV0PHNw
YW4gY2xhc3M9ImsiPi48L3NwYW4+c3RyaW5naWZpZXIgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+
IDxzcGFuIGNsYXNzPSJrIj50cnVlPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+
PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NDkxPC90ZD48dGQgY2xhc3M9
ImhpdHMiPjM8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgYWxsX3dzPHNw
YW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xh
c3M9ImxpbmUiPjQ5MjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40PC90ZD48dGQgY2xhc3M9InNvdXJj
ZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9
ImsiPig8L3NwYW4+Y29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPk9USEVSPHNwYW4gY2xh
c3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iOyI8L3NwYW4+PHNwYW4gY2xhc3M9Imsi
PikpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+cmV0dXJuPC9zcGFuPiByZXQ8c3BhbiBjbGFzcz0i
ayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjQ5
MzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAg
ICAgICAgIHJldDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPmlkbFR5cGUgPHNwYW4gY2xhc3M9Imsi
Pj08L3NwYW4+IHJldHVybl90eXBlPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+
PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjQ5NDwvdGQ+PHRkIGNsYXNzPSJoaXRz
Ij4yPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIG9wZXJhdGlvbl9yZXN0
PHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+cmV0PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+
PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NDk1PC90ZD48dGQgY2xhc3M9
ImhpdHMiPjI8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4gY2xh
c3M9ImsiPnJldHVybjwvc3Bhbj4gcmV0PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3Ry
Pjx0cj48dGQgY2xhc3M9ImxpbmUiPjQ5NjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBj
bGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48L3RkPjwv
dHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjQ5NzwvdGQ+PHRkIGNsYXNzPSJo
aXRzIj4zOTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIHJldDxzcGFuIGNsYXNz
PSJrIj4uPC9zcGFuPmlkbFR5cGUgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IHJldHVybl90eXBl
PHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQg
Y2xhc3M9ImxpbmUiPjQ5ODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4zOTwvdGQ+PHRkIGNsYXNzPSJz
b3VyY2UiPiAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48
L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj40OTk8L3RkPjx0ZCBjbGFzcz0i
aGl0cyI+Mzk8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0i
ayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPmNvbnN1bWU8c3BhbiBjbGFzcz0i
ayI+KDwvc3Bhbj5JRDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+Iml0
ZXJhdG9yIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KSk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57
PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NTAwPC90
ZD48dGQgY2xhc3M9ImhpdHMiPjQ8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAg
ICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJo
aXQiPiA8dGQgY2xhc3M9ImxpbmUiPjUwMTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40PC90ZD48dGQg
Y2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIHJldDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFu
PnR5cGUgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iaXRlcmF0b3Ii
PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+
IDx0ZCBjbGFzcz0ibGluZSI+NTAyPC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ8L3RkPjx0ZCBjbGFz
cz0ic291cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3Bh
biBjbGFzcz0iayI+KDwvc3Bhbj5jb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+SUQ8c3Bh
biBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJvYmplY3QiPC9zcGFuPjxzcGFu
IGNsYXNzPSJrIj4pKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0
ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj41MDM8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+
MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAgcmV0PHNwYW4gY2xh
c3M9ImsiPi48L3NwYW4+aXRlcmF0b3JPYmplY3QgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxz
cGFuIGNsYXNzPSJzIj4ib2JqZWN0Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3Rk
PjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NTA0PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+
PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bh
bj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjUwNTwvdGQ+PHRk
IGNsYXNzPSJoaXRzIj4zPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxz
cGFuIGNsYXNzPSJrIj5lbHNlPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFu
IGNsYXNzPSJrIj4oPC9zcGFuPmNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5PVEhFUjxz
cGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+Ij0iPC9zcGFuPjxzcGFuIGNs
YXNzPSJrIj4pKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBj
bGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj41MDY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+Mjwv
dGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xh
c3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9Imxp
bmUiPjUwNzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAg
ICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiBuYW1lIDxzcGFuIGNs
YXNzPSJrIj49PC9zcGFuPiBjb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+SUQ8c3BhbiBj
bGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnx8PC9zcGFuPiBlcnJvcjxzcGFuIGNs
YXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4iTm8gcmlnaHQgaGFuZCBzaWRlIGluIGl0
ZXJhdG9yIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFz
cz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj41MDg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MjwvdGQ+
PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAgcmV0PHNwYW4gY2xhc3M9Imsi
Pi48L3NwYW4+aXRlcmF0b3JPYmplY3QgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IG5hbWU8c3Bh
biBjbGFzcz0iayI+Ljwvc3Bhbj52YWx1ZTxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90
cj48dHI+PHRkIGNsYXNzPSJsaW5lIj41MDk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQg
Y2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjwv
dGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NTEwPC90ZD48dGQgY2xh
c3M9ImhpdHMiPjQ8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgYWxsX3dz
PHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQg
Y2xhc3M9ImxpbmUiPjUxMTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40PC90ZD48dGQgY2xhc3M9InNv
dXJjZSI+ICAgICAgICAgICAgICAgIGNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5PVEhF
UjxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+IjsiPC9zcGFuPjxzcGFu
IGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+fHw8L3NwYW4+IGVycm9yPHNwYW4g
Y2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9InMiPiJVbnRlcm1pbmF0ZWQgaXRlcmF0b3Ii
PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQi
PiA8dGQgY2xhc3M9ImxpbmUiPjUxMjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40PC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5yZXR1cm48L3NwYW4+
IHJldDxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5l
Ij41MTM8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAg
ICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9Imxp
bmUiPjUxNDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAg
ICAgICAgICA8c3BhbiBjbGFzcz0iayI+ZWxzZTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3Nw
YW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj41MTU8L3RkPjx0
ZCBjbGFzcz0iaGl0cyI+MzU8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAg
b3BlcmF0aW9uX3Jlc3Q8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5yZXQ8c3BhbiBjbGFzcz0iayI+
KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj41MTY8
L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MzU8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAg
ICAgICAgPHNwYW4gY2xhc3M9ImsiPnJldHVybjwvc3Bhbj4gcmV0PHNwYW4gY2xhc3M9ImsiPjs8
L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjUxNzwvdGQ+PHRkIGNsYXNzPSJo
aXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+
fTwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NTE4PC90ZD48dGQgY2xhc3M9
ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08
L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9Imxp
bmUiPjUxOTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAg
ICAgIDwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NTIwPC90ZD48
dGQgY2xhc3M9ImhpdHMiPjQ3PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8c3BhbiBj
bGFzcz0iayI+dmFyPC9zcGFuPiBpZGVudGlmaWVycyA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4g
PHNwYW4gY2xhc3M9ImsiPmZ1bmN0aW9uPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5h
cnI8c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48
L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj41MjE8L3RkPjx0ZCBjbGFzcz0i
aGl0cyI+NTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJr
Ij53aGlsZTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPnRy
dWU8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFu
PjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NTIyPC90ZD48dGQg
Y2xhc3M9ImhpdHMiPjExPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIGFs
bF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4g
PHRkIGNsYXNzPSJsaW5lIj41MjM8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTE8L3RkPjx0ZCBjbGFz
cz0ic291cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3Bh
biBjbGFzcz0iayI+KDwvc3Bhbj5jb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+T1RIRVI8
c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiIsIjwvc3Bhbj48c3BhbiBj
bGFzcz0iayI+KSk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIg
Y2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NTI0PC90ZD48dGQgY2xhc3M9ImhpdHMiPjY8
L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAgIGFsbF93czxzcGFuIGNs
YXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJs
aW5lIj41MjU8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAg
ICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gbmFtZSA8c3BhbiBj
bGFzcz0iayI+PTwvc3Bhbj4gY29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPklEPHNwYW4g
Y2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj58fDwvc3Bhbj4gZXJyb3I8c3BhbiBj
bGFzcz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0icyI+IlRyYWlsaW5nIGNvbW1hIGluIGlkZW50
aWZpZXJzIGxpc3QiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRy
IGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjUyNjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj42
PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICBhcnI8c3BhbiBjbGFz
cz0iayI+Ljwvc3Bhbj5wdXNoPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+bmFtZTxzcGFuIGNsYXNz
PSJrIj4uPC9zcGFuPnZhbHVlPHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHI+
PHRkIGNsYXNzPSJsaW5lIj41Mjc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9
InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90
cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NTI4PC90ZD48dGQgY2xhc3M9Imhp
dHMiPjU8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9
ImsiPmVsc2U8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5icmVhazwvc3Bhbj48c3BhbiBjbGFzcz0i
ayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NTI5PC90ZD48dGQgY2xh
c3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNz
PSJrIj59PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj41MzA8L3RkPjx0ZCBj
bGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFzcz0i
ayI+fTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFz
cz0ibGluZSI+NTMxPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2Ui
PiAgICAgICAgPC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj41MzI8
L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDc8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxz
cGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IHNlcmlhbGlzZXIgPHNwYW4gY2xhc3M9ImsiPj08L3Nw
YW4+IDxzcGFuIGNsYXNzPSJrIj5mdW5jdGlvbjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPigpPC9z
cGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8
dGQgY2xhc3M9ImxpbmUiPjUzMzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xNjQ8L3RkPjx0ZCBjbGFz
cz0ic291cmNlIj4gICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwv
dGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NTM0PC90ZD48dGQgY2xh
c3M9ImhpdHMiPjMxODwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNs
YXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPighPC9zcGFuPmNvbnN1bWU8c3BhbiBj
bGFzcz0iayI+KDwvc3Bhbj5JRDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0i
cyI+InNlcmlhbGl6ZXIiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pKTwvc3Bhbj4gPHNwYW4gY2xh
c3M9ImsiPnJldHVybjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRy
IGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjUzNTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4x
MDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8
L3NwYW4+IHJldCA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3Nw
YW4+IHR5cGU8c3BhbiBjbGFzcz0iayI+Ojwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJzZXJpYWxp
emVyIjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3Nw
YW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj41MzY8L3RkPjx0
ZCBjbGFzcz0iaGl0cyI+MTA8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICBhbGxf
d3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0
ZCBjbGFzcz0ibGluZSI+NTM3PC90ZD48dGQgY2xhc3M9ImhpdHMiPjEwPC90ZD48dGQgY2xhc3M9
InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFz
cz0iayI+KDwvc3Bhbj5jb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+T1RIRVI8c3BhbiBj
bGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiI9Ijwvc3Bhbj48c3BhbiBjbGFzcz0i
ayI+KSk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9
ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NTM4PC90ZD48dGQgY2xhc3M9ImhpdHMiPjg8L3RkPjx0
ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigp
Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjUzOTwv
dGQ+PHRkIGNsYXNzPSJoaXRzIj44PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAg
ICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+Y29u
c3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPk9USEVSPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+
IDxzcGFuIGNsYXNzPSJzIj4ieyI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPikpPC9zcGFuPiA8c3Bh
biBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9
ImxpbmUiPjU0MDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj41PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+
ICAgICAgICAgICAgICAgICAgICByZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5wYXR0ZXJuTWFw
IDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+dHJ1ZTwvc3Bhbj48c3Bh
biBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9
ImxpbmUiPjU0MTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj41PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+
ICAgICAgICAgICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+
PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NTQyPC90ZD48dGQgY2xhc3M9
ImhpdHMiPjU8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAgIDxzcGFu
IGNsYXNzPSJrIj52YXI8L3NwYW4+IGlkIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiBjb25zdW1l
PHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+SUQ8c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48
L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj41NDM8L3RkPjx0ZCBjbGFzcz0i
aGl0cyI+NTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAgPHNwYW4g
Y2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5pZCA8c3BhbiBjbGFz
cz0iayI+JmFtcDsmYW1wOzwvc3Bhbj4gaWQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj52YWx1ZSA8
c3BhbiBjbGFzcz0iayI+PT09PC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+ImdldHRlciI8L3NwYW4+
PHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90
cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NTQ0PC90ZD48dGQgY2xhc3M9Imhp
dHMiPjE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAgICAgICByZXQ8
c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5uYW1lcyA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNw
YW4gY2xhc3M9ImsiPls8L3NwYW4+PHNwYW4gY2xhc3M9InMiPiJnZXR0ZXIiPC9zcGFuPjxzcGFu
IGNsYXNzPSJrIj5dOzwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NTQ1PC90
ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAg
ICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4g
PHRkIGNsYXNzPSJsaW5lIj41NDY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDwvdGQ+PHRkIGNsYXNz
PSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmVsc2U8L3NwYW4+
IDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+aWQgPHNw
YW4gY2xhc3M9ImsiPiZhbXA7JmFtcDs8L3NwYW4+IGlkPHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+
dmFsdWUgPHNwYW4gY2xhc3M9ImsiPj09PTwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJpbmhlcml0
Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+
PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj41NDc8L3RkPjx0ZCBj
bGFzcz0iaGl0cyI+MjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAg
ICAgIHJldDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPm5hbWVzIDxzcGFuIGNsYXNzPSJrIj49PC9z
cGFuPiA8c3BhbiBjbGFzcz0iayI+Wzwvc3Bhbj48c3BhbiBjbGFzcz0icyI+ImluaGVyaXQiPC9z
cGFuPjxzcGFuIGNsYXNzPSJrIj5dOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8
dGQgY2xhc3M9ImxpbmUiPjU0ODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yPC90ZD48dGQgY2xhc3M9
InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICAgICAgaWRlbnRpZmllcnM8c3BhbiBjbGFzcz0i
ayI+KDwvc3Bhbj5yZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5uYW1lczxzcGFuIGNsYXNzPSJr
Ij4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NTQ5PC90ZD48dGQgY2xh
c3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAgPHNw
YW4gY2xhc3M9ImsiPn08L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNz
PSJsaW5lIj41NTA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2Ui
PiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmVsc2U8L3NwYW4+IDxzcGFuIGNs
YXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+aWQ8c3BhbiBjbGFzcz0i
ayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0i
aGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj41NTE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MjwvdGQ+PHRk
IGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAgICAgIHJldDxzcGFuIGNsYXNzPSJr
Ij4uPC9zcGFuPm5hbWVzIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+
Wzwvc3Bhbj5pZDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnZhbHVlPHNwYW4gY2xhc3M9ImsiPl07
PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NTUyPC90
ZD48dGQgY2xhc3M9ImhpdHMiPjI8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAg
ICAgICAgICAgICBpZGVudGlmaWVyczxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPnJldDxzcGFuIGNs
YXNzPSJrIj4uPC9zcGFuPm5hbWVzPHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48
dHI+PHRkIGNsYXNzPSJsaW5lIj41NTM8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48
L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NTU0PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwv
dGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Imsi
PmVsc2U8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9
Im1pc3MiPiA8dGQgY2xhc3M9ImxpbmUiPjU1NTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4wPC90ZD48
dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICAgICAgcmV0PHNwYW4gY2xhc3M9
ImsiPi48L3NwYW4+bmFtZXMgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJr
Ij5bXTs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjU1NjwvdGQ+PHRkIGNs
YXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAgIDxz
cGFuIGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFz
cz0ibGluZSI+NTU3PC90ZD48dGQgY2xhc3M9ImhpdHMiPjU8L3RkPjx0ZCBjbGFzcz0ic291cmNl
Ij4gICAgICAgICAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90
ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj41NTg8L3RkPjx0ZCBjbGFz
cz0iaGl0cyI+NTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAgY29u
c3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPk9USEVSPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+
IDxzcGFuIGNsYXNzPSJzIj4ifSI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFu
IGNsYXNzPSJrIj58fDwvc3Bhbj4gZXJyb3I8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3BhbiBj
bGFzcz0icyI+IlVudGVybWluYXRlZCBzZXJpYWxpemVyIHBhdHRlcm4gbWFwIjwvc3Bhbj48c3Bh
biBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjU1OTwv
dGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAg
ICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRk
IGNsYXNzPSJsaW5lIj41NjA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MzwvdGQ+PHRkIGNsYXNzPSJz
b3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+ZWxzZTwvc3Bhbj4gPHNwYW4g
Y2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5jb25zdW1lPHNwYW4g
Y2xhc3M9ImsiPig8L3NwYW4+T1RIRVI8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xh
c3M9InMiPiJbIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KSk8L3NwYW4+IDxzcGFuIGNsYXNzPSJr
Ij57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NTYx
PC90ZD48dGQgY2xhc3M9ImhpdHMiPjI8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAg
ICAgICAgICAgIHJldDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnBhdHRlcm5MaXN0IDxzcGFuIGNs
YXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+dHJ1ZTwvc3Bhbj48c3BhbiBjbGFzcz0i
ayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjU2
MjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAg
ICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIg
Y2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NTYzPC90ZD48dGQgY2xhc3M9ImhpdHMiPjI8
L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJr
Ij52YXI8L3NwYW4+IGlkIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiBjb25zdW1lPHNwYW4gY2xh
c3M9ImsiPig8L3NwYW4+SUQ8c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBj
bGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj41NjQ8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+Mjwv
dGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Imsi
PmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5pZCA8c3BhbiBjbGFzcz0iayI+JmFt
cDsmYW1wOzwvc3Bhbj4gaWQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj52YWx1ZSA8c3BhbiBjbGFz
cz0iayI+PT09PC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+ImdldHRlciI8L3NwYW4+PHNwYW4gY2xh
c3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xh
c3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NTY1PC90ZD48dGQgY2xhc3M9ImhpdHMiPjE8L3Rk
Pjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAgICAgICByZXQ8c3BhbiBjbGFz
cz0iayI+Ljwvc3Bhbj5uYW1lcyA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9
ImsiPls8L3NwYW4+PHNwYW4gY2xhc3M9InMiPiJnZXR0ZXIiPC9zcGFuPjxzcGFuIGNsYXNzPSJr
Ij5dOzwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NTY2PC90ZD48dGQgY2xh
c3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAgPHNw
YW4gY2xhc3M9ImsiPn08L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNz
PSJsaW5lIj41Njc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2Ui
PiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmVsc2U8L3NwYW4+IDxzcGFuIGNs
YXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+aWQ8c3BhbiBjbGFzcz0i
ayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0i
aGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj41Njg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTwvdGQ+PHRk
IGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAgICAgIHJldDxzcGFuIGNsYXNzPSJr
Ij4uPC9zcGFuPm5hbWVzIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+
Wzwvc3Bhbj5pZDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnZhbHVlPHNwYW4gY2xhc3M9ImsiPl07
PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NTY5PC90
ZD48dGQgY2xhc3M9ImhpdHMiPjE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAg
ICAgICAgICAgICBpZGVudGlmaWVyczxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPnJldDxzcGFuIGNs
YXNzPSJrIj4uPC9zcGFuPm5hbWVzPHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48
dHI+PHRkIGNsYXNzPSJsaW5lIj41NzA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48
L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NTcxPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwv
dGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Imsi
PmVsc2U8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9
Im1pc3MiPiA8dGQgY2xhc3M9ImxpbmUiPjU3MjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4wPC90ZD48
dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICAgICAgcmV0PHNwYW4gY2xhc3M9
ImsiPi48L3NwYW4+bmFtZXMgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJr
Ij5bXTs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjU3MzwvdGQ+PHRkIGNs
YXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAgIDxz
cGFuIGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFz
cz0ibGluZSI+NTc0PC90ZD48dGQgY2xhc3M9ImhpdHMiPjI8L3RkPjx0ZCBjbGFzcz0ic291cmNl
Ij4gICAgICAgICAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90
ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj41NzU8L3RkPjx0ZCBjbGFz
cz0iaGl0cyI+MjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAgY29u
c3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPk9USEVSPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+
IDxzcGFuIGNsYXNzPSJzIj4iXSI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFu
IGNsYXNzPSJrIj58fDwvc3Bhbj4gZXJyb3I8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3BhbiBj
bGFzcz0icyI+IlVudGVybWluYXRlZCBzZXJpYWxpemVyIHBhdHRlcm4gbGlzdCI8L3NwYW4+PHNw
YW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj41NzY8
L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAg
ICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5l
Ij41Nzc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAg
ICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5lbHNlPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwv
c3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjU3ODwvdGQ+
PHRkIGNsYXNzPSJoaXRzIj4xPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAg
ICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiBuYW1lIDxzcGFuIGNsYXNzPSJrIj49PC9z
cGFuPiBjb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+SUQ8c3BhbiBjbGFzcz0iayI+KTwv
c3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnx8PC9zcGFuPiBlcnJvcjxzcGFuIGNsYXNzPSJrIj4oPC9z
cGFuPjxzcGFuIGNsYXNzPSJzIj4iSW52YWxpZCBzZXJpYWxpemVyIjwvc3Bhbj48c3BhbiBjbGFz
cz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5l
Ij41Nzk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAg
ICAgICAgICAgICAgICAgcmV0PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+bmFtZSA8c3BhbiBjbGFz
cz0iayI+PTwvc3Bhbj4gbmFtZTxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnZhbHVlPHNwYW4gY2xh
c3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjU4MDwvdGQ+PHRk
IGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgPHNw
YW4gY2xhc3M9ImsiPn08L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNz
PSJsaW5lIj41ODE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+ODwvdGQ+PHRkIGNsYXNzPSJzb3VyY2Ui
PiAgICAgICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90
cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NTgyPC90ZD48dGQgY2xhc3M9Imhp
dHMiPjg8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgY29uc3VtZTxzcGFu
IGNsYXNzPSJrIj4oPC9zcGFuPk9USEVSPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNs
YXNzPSJzIj4iOyI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJr
Ij58fDwvc3Bhbj4gZXJyb3I8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0icyI+
IlVudGVybWluYXRlZCBzZXJpYWxpemVyIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+
PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj41ODM8L3RkPjx0ZCBj
bGFzcz0iaGl0cyI+ODwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3Bh
biBjbGFzcz0iayI+cmV0dXJuPC9zcGFuPiByZXQ8c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3Rk
PjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NTg0PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+
PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjwv
dGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NTg1PC90ZD48dGQgY2xh
c3M9ImhpdHMiPjI8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFz
cz0iayI+ZWxzZTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0i
ayI+KDwvc3Bhbj5jb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+T1RIRVI8c3BhbiBjbGFz
cz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiI7Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+
KSk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNz
PSJsaW5lIj41ODY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+
ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjIj4vLyBub29wLCBqdXN0IHBhcnNpbmc8L3Nw
YW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjU4NzwvdGQ+PHRkIGNsYXNzPSJoaXRz
Ij48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwv
c3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NTg4PC90ZD48dGQgY2xhc3M9Imhp
dHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5l
bHNlPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJo
aXQiPiA8dGQgY2xhc3M9ImxpbmUiPjU4OTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xPC90ZD48dGQg
Y2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIHJldDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFu
PmlkbFR5cGUgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IHJldHVybl90eXBlPHNwYW4gY2xhc3M9
ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUi
PjU5MDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAg
ICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBj
bGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj41OTE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTwv
dGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICByZXQ8c3BhbiBjbGFzcz0iayI+
Ljwvc3Bhbj5vcGVyYXRpb24gPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IG9wZXJhdGlvbl9yZXN0
PHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+
NTkyPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAg
ICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0
ZCBjbGFzcz0ibGluZSI+NTkzPC90ZD48dGQgY2xhc3M9ImhpdHMiPjI8L3RkPjx0ZCBjbGFzcz0i
c291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+cmV0dXJuPC9zcGFuPiByZXQ8c3Bh
biBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NTk0PC90
ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4g
Y2xhc3M9ImsiPn08L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48
dGQgY2xhc3M9ImxpbmUiPjU5NTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0i
c291cmNlIj4gICAgICAgIDwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGlu
ZSI+NTk2PC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ3PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAg
ICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiBpbnRlcmZhY2VfIDxzcGFuIGNsYXNzPSJr
Ij49PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ZnVuY3Rpb248L3NwYW4+IDxzcGFuIGNsYXNzPSJr
Ij4oPC9zcGFuPmlzUGFydGlhbDxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0i
ayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjU5
NzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xNDQ8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAg
ICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9
ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NTk4PC90ZD48dGQgY2xhc3M9ImhpdHMiPjIxMDwvdGQ+
PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4g
PHNwYW4gY2xhc3M9ImsiPighPC9zcGFuPmNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5J
RDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+ImludGVyZmFjZSI8L3Nw
YW4+PHNwYW4gY2xhc3M9ImsiPikpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+cmV0dXJuPC9zcGFu
PjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBj
bGFzcz0ibGluZSI+NTk5PC90ZD48dGQgY2xhc3M9ImhpdHMiPjc4PC90ZD48dGQgY2xhc3M9InNv
dXJjZSI+ICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwv
dHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjYwMDwvdGQ+PHRkIGNsYXNzPSJo
aXRzIj43ODwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJr
Ij52YXI8L3NwYW4+IG5hbWUgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IGNvbnN1bWU8c3BhbiBj
bGFzcz0iayI+KDwvc3Bhbj5JRDxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0i
ayI+fHw8L3NwYW4+IGVycm9yPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9InMi
PiJObyBuYW1lIGZvciBpbnRlcmZhY2UiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48
L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjYwMTwvdGQ+PHRkIGNs
YXNzPSJoaXRzIj43ODwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNs
YXNzPSJrIj52YXI8L3NwYW4+IHJldCA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xh
c3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjYwMjwvdGQ+PHRk
IGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgdHlw
ZTxzcGFuIGNsYXNzPSJrIj46PC9zcGFuPiAgIDxzcGFuIGNsYXNzPSJzIj4iaW50ZXJmYWNlIjwv
c3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NjAzPC90ZD48dGQgY2xhc3M9Imhp
dHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj4s
PC9zcGFuPiAgIG5hbWU8c3BhbiBjbGFzcz0iayI+Ojwvc3Bhbj4gICBuYW1lPHNwYW4gY2xhc3M9
ImsiPi48L3NwYW4+dmFsdWU8L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NjA0PC90ZD48
dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFu
IGNsYXNzPSJrIj4sPC9zcGFuPiAgIHBhcnRpYWw8c3BhbiBjbGFzcz0iayI+Ojwvc3Bhbj4gICAg
PHNwYW4gY2xhc3M9ImsiPmZhbHNlPC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5l
Ij42MDU8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAg
ICAgICAgPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+ICAgbWVtYmVyczxzcGFuIGNsYXNzPSJrIj46
PC9zcGFuPiAgICA8c3BhbiBjbGFzcz0iayI+W108L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xh
c3M9ImxpbmUiPjYwNjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNl
Ij4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwv
c3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjYwNzwvdGQ+
PHRkIGNsYXNzPSJoaXRzIj4xNTU8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8
c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oITwvc3Bhbj5pc1BhcnRp
YWw8c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gcmV0PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+aW5o
ZXJpdGFuY2UgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IGluaGVyaXRhbmNlPHNwYW4gY2xhc3M9
ImsiPigpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+fHw8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5u
dWxsPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9Imhp
dCI+IDx0ZCBjbGFzcz0ibGluZSI+NjA4PC90ZD48dGQgY2xhc3M9ImhpdHMiPjc4PC90ZD48dGQg
Y2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bh
bj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjYwOTwvdGQ+PHRk
IGNsYXNzPSJoaXRzIj43ODwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIGNvbnN1
bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5PVEhFUjxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8
c3BhbiBjbGFzcz0icyI+InsiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBj
bGFzcz0iayI+fHw8L3NwYW4+IGVycm9yPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xh
c3M9InMiPiJCb2R5bGVzcyBpbnRlcmZhY2UiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bh
bj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjYxMDwvdGQ+PHRk
IGNsYXNzPSJoaXRzIj43ODwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFu
IGNsYXNzPSJrIj53aGlsZTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xh
c3M9ImsiPnRydWU8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJr
Ij57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NjEx
PC90ZD48dGQgY2xhc3M9ImhpdHMiPjI1MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAg
ICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xh
c3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NjEyPC90ZD48dGQgY2xhc3M9ImhpdHMiPjI1MTwv
dGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8
L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPmNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwv
c3Bhbj5PVEhFUjxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+In0iPC9z
cGFuPjxzcGFuIGNsYXNzPSJrIj4pKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90
ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj42MTM8L3RkPjx0ZCBjbGFz
cz0iaGl0cyI+Nzg8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAgIGFs
bF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4g
PHRkIGNsYXNzPSJsaW5lIj42MTQ8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+Nzg8L3RkPjx0ZCBjbGFz
cz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAgIGNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwv
c3Bhbj5PVEhFUjxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+IjsiPC9z
cGFuPjxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+fHw8L3NwYW4+IGVy
cm9yPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9InMiPiJNaXNzaW5nIHNlbWlj
b2xvbiBhZnRlciBpbnRlcmZhY2UiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3Rk
PjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjYxNTwvdGQ+PHRkIGNsYXNz
PSJoaXRzIj43ODwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAgPHNw
YW4gY2xhc3M9ImsiPnJldHVybjwvc3Bhbj4gcmV0PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90
ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjYxNjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3Rk
Pjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3Nw
YW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj42MTc8L3RkPjx0
ZCBjbGFzcz0iaGl0cyI+MTczPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAg
IDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IGVhIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiBl
eHRlbmRlZF9hdHRyczxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFz
cz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj42MTg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTczPC90
ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJr
Ij4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj42
MTk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTczPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAg
ICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IGNudCA8c3BhbiBjbGFzcz0iayI+
PTwvc3Bhbj4gY29uc3RfPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNs
YXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjYyMDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xNzM8
L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlm
PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5jbnQ8c3BhbiBjbGFzcz0iayI+KTwvc3Bh
bj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRk
IGNsYXNzPSJsaW5lIj42MjE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+OTwvdGQ+PHRkIGNsYXNzPSJz
b3VyY2UiPiAgICAgICAgICAgICAgICAgICAgY250PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+ZXh0
QXR0cnMgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IGVhPHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+
PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj42MjI8L3RkPjx0ZCBj
bGFzcz0iaGl0cyI+OTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAg
cmV0PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+bWVtYmVyczxzcGFuIGNsYXNzPSJrIj4uPC9zcGFu
PnB1c2g8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5jbnQ8c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+
PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj42MjM8L3RkPjx0ZCBj
bGFzcz0iaGl0cyI+OTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAg
PHNwYW4gY2xhc3M9ImsiPmNvbnRpbnVlPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwv
dGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj42MjQ8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90
ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9z
cGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NjI1PC90ZD48
dGQgY2xhc3M9ImhpdHMiPjE2NDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAg
ICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiBtZW0gPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+
IHNlcmlhbGlzZXI8c3BhbiBjbGFzcz0iayI+KCk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj58fDwv
c3Bhbj4gYXR0cmlidXRlPHNwYW4gY2xhc3M9ImsiPigpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+
fHw8L3NwYW4+IG9wZXJhdGlvbjxzcGFuIGNsYXNzPSJrIj4oKTwvc3Bhbj4gPHNwYW4gY2xhc3M9
ImsiPnx8PC9zcGFuPiBlcnJvcjxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJz
Ij4iVW5rbm93biBtZW1iZXIiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwv
dHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjYyNjwvdGQ+PHRkIGNsYXNzPSJo
aXRzIj4xNjQ8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgbWVtPHNwYW4g
Y2xhc3M9ImsiPi48L3NwYW4+ZXh0QXR0cnMgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IGVhPHNw
YW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNz
PSJsaW5lIj42Mjc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTY0PC90ZD48dGQgY2xhc3M9InNvdXJj
ZSI+ICAgICAgICAgICAgICAgIHJldDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPm1lbWJlcnM8c3Bh
biBjbGFzcz0iayI+Ljwvc3Bhbj5wdXNoPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+bWVtPHNwYW4g
Y2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj42Mjg8L3Rk
Pjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNw
YW4gY2xhc3M9ImsiPn08L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjYyOTwv
dGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxzcGFu
IGNsYXNzPSJrIj59PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+
PHRkIGNsYXNzPSJsaW5lIj42MzA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9
InNvdXJjZSI+ICAgICAgICA8L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9Imxp
bmUiPjYzMTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40NzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAg
ICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gcGFydGlhbCA8c3BhbiBjbGFzcz0iayI+
PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPmZ1bmN0aW9uPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+
KCk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9Imhp
dCI+IDx0ZCBjbGFzcz0ibGluZSI+NjMyPC90ZD48dGQgY2xhc3M9ImhpdHMiPjY2PC90ZD48dGQg
Y2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bh
bj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjYzMzwvdGQ+PHRk
IGNsYXNzPSJoaXRzIj4xMzA8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3Bh
biBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oITwvc3Bhbj5jb25zdW1lPHNw
YW4gY2xhc3M9ImsiPig8L3NwYW4+SUQ8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xh
c3M9InMiPiJwYXJ0aWFsIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KSk8L3NwYW4+IDxzcGFuIGNs
YXNzPSJrIj5yZXR1cm48L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0
ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj42MzQ8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+
MjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8
L3NwYW4+IHRoaW5nIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiBkaWN0aW9uYXJ5PHNwYW4gY2xh
c3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPnRydWU8L3NwYW4+PHNwYW4gY2xhc3M9Imsi
Pik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj58fDwvc3Bhbj4gaW50ZXJmYWNlXzxzcGFuIGNsYXNz
PSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj50cnVlPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4p
PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+fHw8L3NwYW4+IGVycm9yPHNwYW4gY2xhc3M9ImsiPig8
L3NwYW4+PHNwYW4gY2xhc3M9InMiPiJQYXJ0aWFsIGRvZXNuJ3QgYXBwbHkgdG8gYW55dGhpbmci
PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQi
PiA8dGQgY2xhc3M9ImxpbmUiPjYzNTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yPC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+ICAgICAgICAgICAgdGhpbmc8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5wYXJ0
aWFsIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+dHJ1ZTwvc3Bhbj48
c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xh
c3M9ImxpbmUiPjYzNjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yPC90ZD48dGQgY2xhc3M9InNvdXJj
ZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnJldHVybjwvc3Bhbj4gdGhpbmc8c3BhbiBj
bGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NjM3PC90ZD48
dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xh
c3M9ImsiPn08L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQg
Y2xhc3M9ImxpbmUiPjYzODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291
cmNlIj4gICAgICAgIDwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+
NjM5PC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ3PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAg
ICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiBkaWN0aW9uYXJ5IDxzcGFuIGNsYXNzPSJrIj49
PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ZnVuY3Rpb248L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4o
PC9zcGFuPmlzUGFydGlhbDxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+
ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjY0MDwv
dGQ+PHRkIGNsYXNzPSJoaXRzIj42NjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAg
IGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0
Ij4gPHRkIGNsYXNzPSJsaW5lIj42NDE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTI4PC90ZD48dGQg
Y2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3Bh
biBjbGFzcz0iayI+KCE8L3NwYW4+Y29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPklEPHNw
YW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iZGljdGlvbmFyeSI8L3NwYW4+
PHNwYW4gY2xhc3M9ImsiPikpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+cmV0dXJuPC9zcGFuPjxz
cGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFz
cz0ibGluZSI+NjQyPC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ8L3RkPjx0ZCBjbGFzcz0ic291cmNl
Ij4gICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48
dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NjQzPC90ZD48dGQgY2xhc3M9ImhpdHMi
PjQ8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFy
PC9zcGFuPiBuYW1lIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiBjb25zdW1lPHNwYW4gY2xhc3M9
ImsiPig8L3NwYW4+SUQ8c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnx8
PC9zcGFuPiBlcnJvcjxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4iTm8g
bmFtZSBmb3IgZGljdGlvbmFyeSI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+
PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NjQ0PC90ZD48dGQgY2xhc3M9
ImhpdHMiPjQ8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0i
ayI+dmFyPC9zcGFuPiByZXQgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJr
Ij57PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj42NDU8L3RkPjx0ZCBjbGFz
cz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIHR5cGU8c3Bh
biBjbGFzcz0iayI+Ojwvc3Bhbj4gICA8c3BhbiBjbGFzcz0icyI+ImRpY3Rpb25hcnkiPC9zcGFu
PjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj42NDY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+
PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPiw8L3Nw
YW4+ICAgbmFtZTxzcGFuIGNsYXNzPSJrIj46PC9zcGFuPiAgIG5hbWU8c3BhbiBjbGFzcz0iayI+
Ljwvc3Bhbj52YWx1ZTwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj42NDc8L3RkPjx0ZCBj
bGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xh
c3M9ImsiPiw8L3NwYW4+ICAgcGFydGlhbDxzcGFuIGNsYXNzPSJrIj46PC9zcGFuPiAgICA8c3Bh
biBjbGFzcz0iayI+ZmFsc2U8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjY0
ODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAg
ICA8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gICBtZW1iZXJzPHNwYW4gY2xhc3M9ImsiPjo8L3Nw
YW4+ICAgIDxzcGFuIGNsYXNzPSJrIj5bXTwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0i
bGluZSI+NjQ5PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAg
ICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFu
PjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NjUwPC90ZD48dGQg
Y2xhc3M9ImhpdHMiPjc8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBj
bGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oITwvc3Bhbj5pc1BhcnRpYWw8c3Bh
biBjbGFzcz0iayI+KTwvc3Bhbj4gcmV0PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+aW5oZXJpdGFu
Y2UgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IGluaGVyaXRhbmNlPHNwYW4gY2xhc3M9ImsiPigp
PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+fHw8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5udWxsPC9z
cGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0
ZCBjbGFzcz0ibGluZSI+NjUxPC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ8L3RkPjx0ZCBjbGFzcz0i
c291cmNlIj4gICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+
PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NjUyPC90ZD48dGQgY2xhc3M9
ImhpdHMiPjQ8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICBjb25zdW1lPHNwYW4g
Y2xhc3M9ImsiPig8L3NwYW4+T1RIRVI8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xh
c3M9InMiPiJ7Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9Imsi
Pnx8PC9zcGFuPiBlcnJvcjxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4i
Qm9keWxlc3MgZGljdGlvbmFyeSI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+
PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NjUzPC90ZD48dGQgY2xhc3M9
ImhpdHMiPjQ8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0i
ayI+d2hpbGU8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj50
cnVlPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bh
bj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjY1NDwvdGQ+PHRk
IGNsYXNzPSJoaXRzIj4xMzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICBh
bGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+
IDx0ZCBjbGFzcz0ibGluZSI+NjU1PC90ZD48dGQgY2xhc3M9ImhpdHMiPjEzPC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNw
YW4gY2xhc3M9ImsiPig8L3NwYW4+Y29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPk9USEVS
PHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4ifSI8L3NwYW4+PHNwYW4g
Y2xhc3M9ImsiPikpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRy
IGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjY1NjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40
PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICBhbGxfd3M8c3BhbiBj
bGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0i
bGluZSI+NjU3PC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4g
ICAgICAgICAgICAgICAgICAgIGNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5PVEhFUjxz
cGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+IjsiPC9zcGFuPjxzcGFuIGNs
YXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+fHw8L3NwYW4+IGVycm9yPHNwYW4gY2xh
c3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9InMiPiJNaXNzaW5nIHNlbWljb2xvbiBhZnRlciBk
aWN0aW9uYXJ5Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBj
bGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj42NTg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDwv
dGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Imsi
PnJldHVybjwvc3Bhbj4gcmV0PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48
dGQgY2xhc3M9ImxpbmUiPjY1OTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0i
c291cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PC90ZD48L3Ry
Pjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj42NjA8L3RkPjx0ZCBjbGFzcz0iaGl0
cyI+OTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0i
ayI+dmFyPC9zcGFuPiBlYSA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gZXh0ZW5kZWRfYXR0cnM8
c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBj
bGFzcz0ibGluZSI+NjYxPC90ZD48dGQgY2xhc3M9ImhpdHMiPjk8L3RkPjx0ZCBjbGFzcz0ic291
cmNlIj4gICAgICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3Rk
PjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjY2MjwvdGQ+PHRkIGNsYXNz
PSJoaXRzIj45PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNs
YXNzPSJrIj52YXI8L3NwYW4+IHR5cCA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gdHlwZTxzcGFu
IGNsYXNzPSJrIj4oKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnx8PC9zcGFuPiBlcnJvcjxzcGFu
IGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4iTm8gdHlwZSBmb3IgZGljdGlvbmFy
eSBtZW1iZXIiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNs
YXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjY2MzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj45PC90
ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJr
Ij4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj42
NjQ8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+OTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAg
ICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiBuYW1lIDxzcGFuIGNsYXNzPSJrIj49
PC9zcGFuPiBjb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+SUQ8c3BhbiBjbGFzcz0iayI+
KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnx8PC9zcGFuPiBlcnJvcjxzcGFuIGNsYXNzPSJrIj4o
PC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4iTm8gbmFtZSBmb3IgZGljdGlvbmFyeSBtZW1iZXIiPC9z
cGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8
dGQgY2xhc3M9ImxpbmUiPjY2NTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj45PC90ZD48dGQgY2xhc3M9
InNvdXJjZSI+ICAgICAgICAgICAgICAgIHJldDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPm1lbWJl
cnM8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5wdXNoPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNw
YW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjY2Njwv
dGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAg
ICAgICAgIHR5cGU8c3BhbiBjbGFzcz0iayI+Ojwvc3Bhbj4gICAgICAgPHNwYW4gY2xhc3M9InMi
PiJmaWVsZCI8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjY2NzwvdGQ+PHRk
IGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgPHNw
YW4gY2xhc3M9ImsiPiw8L3NwYW4+ICAgbmFtZTxzcGFuIGNsYXNzPSJrIj46PC9zcGFuPiAgICAg
ICBuYW1lPHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+dmFsdWU8L3RkPjwvdHI+PHRyPjx0ZCBjbGFz
cz0ibGluZSI+NjY4PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2Ui
PiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gICBpZGxUeXBlPHNwYW4g
Y2xhc3M9ImsiPjo8L3NwYW4+ICAgIHR5cDwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj42
Njk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAg
ICAgICAgIDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiAgIGV4dEF0dHJzPHNwYW4gY2xhc3M9Imsi
Pjo8L3NwYW4+ICAgZWE8L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NjcwPC90ZD48dGQg
Y2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3Bh
biBjbGFzcz0iayI+LDwvc3Bhbj4gICA8c3BhbiBjbGFzcz0icyI+ImRlZmF1bHQiPC9zcGFuPjxz
cGFuIGNsYXNzPSJrIj46PC9zcGFuPiAgZGVmYXVsdF88c3BhbiBjbGFzcz0iayI+KCk8L3NwYW4+
PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjY3MTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48
L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08
L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+
IDx0ZCBjbGFzcz0ibGluZSI+NjcyPC90ZD48dGQgY2xhc3M9ImhpdHMiPjk8L3RkPjx0ZCBjbGFz
cz0ic291cmNlIj4gICAgICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bh
bj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjY3MzwvdGQ+PHRk
IGNsYXNzPSJoaXRzIj45PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIGNv
bnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5PVEhFUjxzcGFuIGNsYXNzPSJrIj4sPC9zcGFu
PiA8c3BhbiBjbGFzcz0icyI+IjsiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3Bh
biBjbGFzcz0iayI+fHw8L3NwYW4+IGVycm9yPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4g
Y2xhc3M9InMiPiJVbnRlcm1pbmF0ZWQgZGljdGlvbmFyeSBtZW1iZXIiPC9zcGFuPjxzcGFuIGNs
YXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+Njc0PC90ZD48
dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFu
IGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj42NzU8L3Rk
Pjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8c3BhbiBj
bGFzcz0iayI+fTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0
ZCBjbGFzcz0ibGluZSI+Njc2PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJz
b3VyY2UiPiAgICAgICAgPC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5l
Ij42Nzc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDc8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAg
ICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IGV4Y2VwdGlvbiA8c3BhbiBjbGFzcz0iayI+
PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPmZ1bmN0aW9uPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+
KCk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9Imhp
dCI+IDx0ZCBjbGFzcz0ibGluZSI+Njc4PC90ZD48dGQgY2xhc3M9ImhpdHMiPjYxPC90ZD48dGQg
Y2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bh
bj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjY3OTwvdGQ+PHRk
IGNsYXNzPSJoaXRzIj4xMTM8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3Bh
biBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oITwvc3Bhbj5jb25zdW1lPHNw
YW4gY2xhc3M9ImsiPig8L3NwYW4+SUQ8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xh
c3M9InMiPiJleGNlcHRpb24iPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pKTwvc3Bhbj4gPHNwYW4g
Y2xhc3M9ImsiPnJldHVybjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+
PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjY4MDwvdGQ+PHRkIGNsYXNzPSJoaXRz
Ij45PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9
ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUi
PjY4MTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj45PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAg
ICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gbmFtZSA8c3BhbiBjbGFzcz0iayI+PTwv
c3Bhbj4gY29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPklEPHNwYW4gY2xhc3M9ImsiPik8
L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj58fDwvc3Bhbj4gZXJyb3I8c3BhbiBjbGFzcz0iayI+KDwv
c3Bhbj48c3BhbiBjbGFzcz0icyI+Ik5vIG5hbWUgZm9yIGV4Y2VwdGlvbiI8L3NwYW4+PHNwYW4g
Y2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0i
bGluZSI+NjgyPC90ZD48dGQgY2xhc3M9ImhpdHMiPjk8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4g
ICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiByZXQgPHNwYW4gY2xhc3M9Imsi
Pj08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNz
PSJsaW5lIj42ODM8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+
ICAgICAgICAgICAgICAgIHR5cGU8c3BhbiBjbGFzcz0iayI+Ojwvc3Bhbj4gICA8c3BhbiBjbGFz
cz0icyI+ImV4Y2VwdGlvbiI8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjY4
NDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAg
ICA8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gICBuYW1lPHNwYW4gY2xhc3M9ImsiPjo8L3NwYW4+
ICAgbmFtZTxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnZhbHVlPC90ZD48L3RyPjx0cj48dGQgY2xh
c3M9ImxpbmUiPjY4NTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNl
Ij4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gICBtZW1iZXJzPHNwYW4gY2xh
c3M9ImsiPjo8L3NwYW4+ICAgIDxzcGFuIGNsYXNzPSJrIj5bXTwvc3Bhbj48L3RkPjwvdHI+PHRy
Pjx0ZCBjbGFzcz0ibGluZSI+Njg2PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNz
PSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjxzcGFuIGNsYXNz
PSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+
Njg3PC90ZD48dGQgY2xhc3M9ImhpdHMiPjk8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAg
ICAgICByZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5pbmhlcml0YW5jZSA8c3BhbiBjbGFzcz0i
ayI+PTwvc3Bhbj4gaW5oZXJpdGFuY2U8c3BhbiBjbGFzcz0iayI+KCk8L3NwYW4+IDxzcGFuIGNs
YXNzPSJrIj58fDwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPm51bGw8L3NwYW4+PHNwYW4gY2xhc3M9
ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj42
ODg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+OTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAg
ICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0i
aGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj42ODk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+OTwvdGQ+PHRk
IGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIGNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bh
bj5PVEhFUjxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+InsiPC9zcGFu
PjxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+fHw8L3NwYW4+IGVycm9y
PHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9InMiPiJCb2R5bGVzcyBleGNlcHRp
b24iPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJo
aXQiPiA8dGQgY2xhc3M9ImxpbmUiPjY5MDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj45PC90ZD48dGQg
Y2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPndoaWxlPC9zcGFuPiA8
c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0iayI+dHJ1ZTwvc3Bhbj48c3BhbiBj
bGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBj
bGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj42OTE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTY8
L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9
ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUi
PjY5MjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xNjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAg
ICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9z
cGFuPmNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5PVEhFUjxzcGFuIGNsYXNzPSJrIj4s
PC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+In0iPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pKTwvc3Bh
bj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRk
IGNsYXNzPSJsaW5lIj42OTM8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+OTwvdGQ+PHRkIGNsYXNzPSJz
b3VyY2UiPiAgICAgICAgICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bh
bj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjY5NDwvdGQ+PHRk
IGNsYXNzPSJoaXRzIj45PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAg
ICBjb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+T1RIRVI8c3BhbiBjbGFzcz0iayI+LDwv
c3Bhbj4gPHNwYW4gY2xhc3M9InMiPiI7Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4g
PHNwYW4gY2xhc3M9ImsiPnx8PC9zcGFuPiBlcnJvcjxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxz
cGFuIGNsYXNzPSJzIj4iTWlzc2luZyBzZW1pY29sb24gYWZ0ZXIgZXhjZXB0aW9uIjwvc3Bhbj48
c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNs
YXNzPSJsaW5lIj42OTU8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+OTwvdGQ+PHRkIGNsYXNzPSJzb3Vy
Y2UiPiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnJldHVybjwvc3Bhbj4gcmV0
PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjY5
NjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAg
ICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4g
PHRkIGNsYXNzPSJsaW5lIj42OTc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NzwvdGQ+PHRkIGNsYXNz
PSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiBlYSA8
c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gZXh0ZW5kZWRfYXR0cnM8c3BhbiBjbGFzcz0iayI+KCk7
PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+Njk4PC90
ZD48dGQgY2xhc3M9ImhpdHMiPjc8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAg
ICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJo
aXQiPiA8dGQgY2xhc3M9ImxpbmUiPjY5OTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj43PC90ZD48dGQg
Y2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+
IGNudCA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gY29uc3RfPHNwYW4gY2xhc3M9ImsiPigpOzwv
c3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjcwMDwvdGQ+
PHRkIGNsYXNzPSJoaXRzIj43PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAg
IDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+Y250PHNw
YW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48
dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NzAxPC90ZD48dGQgY2xhc3M9ImhpdHMi
PjM8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAgIGNudDxzcGFuIGNs
YXNzPSJrIj4uPC9zcGFuPmV4dEF0dHJzIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiBlYTxzcGFu
IGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0i
bGluZSI+NzAyPC90ZD48dGQgY2xhc3M9ImhpdHMiPjM8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4g
ICAgICAgICAgICAgICAgICAgIHJldDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPm1lbWJlcnM8c3Bh
biBjbGFzcz0iayI+Ljwvc3Bhbj5wdXNoPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+Y250PHNwYW4g
Y2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj43MDM8L3Rk
Pjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAg
IDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj43
MDQ8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAg
ICAgICAgIDxzcGFuIGNsYXNzPSJrIj5lbHNlPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bh
bj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjcwNTwvdGQ+PHRk
IGNsYXNzPSJoaXRzIj40PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAg
ICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiB0eXAgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+
IHR5cGU8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+
IDx0ZCBjbGFzcz0ibGluZSI+NzA2PC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ8L3RkPjx0ZCBjbGFz
cz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8
L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj43MDc8L3Rk
Pjx0ZCBjbGFzcz0iaGl0cyI+NDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAg
ICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gbmFtZSA8c3BhbiBjbGFzcz0iayI+PTwv
c3Bhbj4gY29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPklEPHNwYW4gY2xhc3M9ImsiPik7
PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NzA4PC90
ZD48dGQgY2xhc3M9ImhpdHMiPjQ8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAg
ICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFz
cz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj43MDk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDwvdGQ+
PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlm
PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KCE8L3NwYW4+dHlwIDxzcGFuIGNsYXNzPSJrIj58fDwv
c3Bhbj4gPHNwYW4gY2xhc3M9ImsiPiE8L3NwYW4+bmFtZSA8c3BhbiBjbGFzcz0iayI+fHw8L3Nw
YW4+IDxzcGFuIGNsYXNzPSJrIj4hPC9zcGFuPmNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bh
bj5PVEhFUjxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+IjsiPC9zcGFu
PjxzcGFuIGNsYXNzPSJrIj4pKTwvc3Bhbj4gZXJyb3I8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48
c3BhbiBjbGFzcz0icyI+IlVua25vd24gbWVtYmVyIGluIGV4Y2VwdGlvbiBib2R5Ijwvc3Bhbj48
c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNs
YXNzPSJsaW5lIj43MTA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDwvdGQ+PHRkIGNsYXNzPSJzb3Vy
Y2UiPiAgICAgICAgICAgICAgICAgICAgcmV0PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+bWVtYmVy
czxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnB1c2g8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3Bh
biBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NzExPC90
ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAg
ICAgICAgICAgIHR5cGU8c3BhbiBjbGFzcz0iayI+Ojwvc3Bhbj4gICAgICAgPHNwYW4gY2xhc3M9
InMiPiJmaWVsZCI8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjcxMjwvdGQ+
PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAg
ICAgIDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiAgIG5hbWU8c3BhbiBjbGFzcz0iayI+Ojwvc3Bh
bj4gICAgICAgbmFtZTxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnZhbHVlPC90ZD48L3RyPjx0cj48
dGQgY2xhc3M9ImxpbmUiPjcxMzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0i
c291cmNlIj4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiAgIGlk
bFR5cGU8c3BhbiBjbGFzcz0iayI+Ojwvc3Bhbj4gICAgdHlwPC90ZD48L3RyPjx0cj48dGQgY2xh
c3M9ImxpbmUiPjcxNDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNl
Ij4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiAgIGV4dEF0dHJz
PHNwYW4gY2xhc3M9ImsiPjo8L3NwYW4+ICAgZWE8L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGlu
ZSI+NzE1PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAg
ICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7
PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj43MTY8L3RkPjx0ZCBjbGFzcz0i
aGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNz
PSJrIj59PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj43MTc8L3RkPjx0ZCBj
bGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xh
c3M9ImsiPn08L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjcxODwvdGQ+PHRk
IGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxzcGFuIGNsYXNz
PSJrIj59PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNs
YXNzPSJsaW5lIj43MTk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJj
ZSI+ICAgICAgICA8L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjcy
MDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40NzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAg
PHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gZW51bV8gPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+
IDxzcGFuIGNsYXNzPSJrIj5mdW5jdGlvbjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPigpPC9zcGFu
PiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQg
Y2xhc3M9ImxpbmUiPjcyMTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj41MjwvdGQ+PHRkIGNsYXNzPSJz
b3VyY2UiPiAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48
L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj43MjI8L3RkPjx0ZCBjbGFzcz0i
aGl0cyI+MTAzPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9
ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KCE8L3NwYW4+Y29uc3VtZTxzcGFuIGNsYXNz
PSJrIj4oPC9zcGFuPklEPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4i
ZW51bSI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPikpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+cmV0
dXJuPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9Imhp
dCI+IDx0ZCBjbGFzcz0ibGluZSI+NzIzPC90ZD48dGQgY2xhc3M9ImhpdHMiPjE8L3RkPjx0ZCBj
bGFzcz0ic291cmNlIj4gICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFu
PjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NzI0PC90ZD48dGQg
Y2xhc3M9ImhpdHMiPjE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBj
bGFzcz0iayI+dmFyPC9zcGFuPiBuYW1lIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiBjb25zdW1l
PHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+SUQ8c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4g
Y2xhc3M9ImsiPnx8PC9zcGFuPiBlcnJvcjxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNs
YXNzPSJzIj4iTm8gbmFtZSBmb3IgZW51bSI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFu
PjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NzI1PC90ZD48dGQg
Y2xhc3M9ImhpdHMiPjE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBj
bGFzcz0iayI+dmFyPC9zcGFuPiByZXQgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNs
YXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj43MjY8L3RkPjx0
ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIHR5
cGU8c3BhbiBjbGFzcz0iayI+Ojwvc3Bhbj4gICA8c3BhbiBjbGFzcz0icyI+ImVudW0iPC9zcGFu
PjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj43Mjc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+
PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPiw8L3Nw
YW4+ICAgbmFtZTxzcGFuIGNsYXNzPSJrIj46PC9zcGFuPiAgIG5hbWU8c3BhbiBjbGFzcz0iayI+
Ljwvc3Bhbj52YWx1ZTwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj43Mjg8L3RkPjx0ZCBj
bGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xh
c3M9ImsiPiw8L3NwYW4+ICAgdmFsdWVzPHNwYW4gY2xhc3M9ImsiPjo8L3NwYW4+IDxzcGFuIGNs
YXNzPSJrIj5bXTwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NzI5PC90ZD48
dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFu
IGNsYXNzPSJrIj59PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIg
Y2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NzMwPC90ZD48dGQgY2xhc3M9ImhpdHMiPjE8
L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+
KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NzMx
PC90ZD48dGQgY2xhc3M9ImhpdHMiPjE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAg
ICBjb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+T1RIRVI8c3BhbiBjbGFzcz0iayI+LDwv
c3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJ7Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4g
PHNwYW4gY2xhc3M9ImsiPnx8PC9zcGFuPiBlcnJvcjxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxz
cGFuIGNsYXNzPSJzIj4iTm8gY3VybHkgZm9yIGVudW0iPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4p
Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjczMjwv
dGQ+PHRkIGNsYXNzPSJoaXRzIj4xPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAg
PHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gc2F3X2NvbW1hIDxzcGFuIGNsYXNzPSJrIj49PC9z
cGFuPiA8c3BhbiBjbGFzcz0iayI+ZmFsc2U8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+
PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj43MzM8L3RkPjx0ZCBj
bGFzcz0iaGl0cyI+MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNs
YXNzPSJrIj53aGlsZTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9
ImsiPnRydWU8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57
PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NzM0PC90
ZD48dGQgY2xhc3M9ImhpdHMiPjQ8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAg
ICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJo
aXQiPiA8dGQgY2xhc3M9ImxpbmUiPjczNTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40PC90ZD48dGQg
Y2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4g
PHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+Y29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPk9U
SEVSPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4ifSI8L3NwYW4+PHNw
YW4gY2xhc3M9ImsiPikpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+
PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjczNjwvdGQ+PHRkIGNsYXNzPSJoaXRz
Ij4xPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICBhbGxfd3M8c3Bh
biBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFz
cz0ibGluZSI+NzM3PC90ZD48dGQgY2xhc3M9ImhpdHMiPjE8L3RkPjx0ZCBjbGFzcz0ic291cmNl
Ij4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xh
c3M9ImsiPig8L3NwYW4+c2F3X2NvbW1hPHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IGVycm9yPHNw
YW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9InMiPiJUcmFpbGluZyBjb21tYSBpbiBl
bnVtIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0i
aGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj43Mzg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTwvdGQ+PHRk
IGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAgY29uc3VtZTxzcGFuIGNsYXNzPSJr
Ij4oPC9zcGFuPk9USEVSPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4i
OyI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj58fDwvc3Bh
bj4gZXJyb3I8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0icyI+Ik5vIHNlbWlj
b2xvbiBhZnRlciBlbnVtIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3Ry
Pjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj43Mzk8L3RkPjx0ZCBjbGFzcz0iaGl0
cyI+MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xh
c3M9ImsiPnJldHVybjwvc3Bhbj4gcmV0PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3Ry
Pjx0cj48dGQgY2xhc3M9ImxpbmUiPjc0MDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBj
bGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PC90
ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj43NDE8L3RkPjx0ZCBjbGFz
cz0iaGl0cyI+MzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBj
bGFzcz0iayI+dmFyPC9zcGFuPiB2YWwgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IGNvbnN1bWU8
c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5TVFI8c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4g
Y2xhc3M9ImsiPnx8PC9zcGFuPiBlcnJvcjxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNs
YXNzPSJzIj4iVW5leHBlY3RlZCB2YWx1ZSBpbiBlbnVtIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+
KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj43NDI8
L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAg
ICAgICByZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj52YWx1ZXM8c3BhbiBjbGFzcz0iayI+Ljwv
c3Bhbj5wdXNoPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+dmFsPHNwYW4gY2xhc3M9ImsiPi48L3Nw
YW4+dmFsdWU8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5yZXBsYWNlPHNwYW4gY2xhc3M9ImsiPig8
L3NwYW4+PHNwYW4gY2xhc3M9InMiPi8iL2c8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+
IDxzcGFuIGNsYXNzPSJzIj4iIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KSk7PC9zcGFuPjwvdGQ+
PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NzQzPC90ZD48dGQgY2xhc3M9
ImhpdHMiPjM8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgYWxsX3dzPHNw
YW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xh
c3M9ImxpbmUiPjc0NDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4zPC90ZD48dGQgY2xhc3M9InNvdXJj
ZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9
ImsiPig8L3NwYW4+Y29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPk9USEVSPHNwYW4gY2xh
c3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iLCI8L3NwYW4+PHNwYW4gY2xhc3M9Imsi
PikpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJo
aXQiPiA8dGQgY2xhc3M9ImxpbmUiPjc0NTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yPC90ZD48dGQg
Y2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+
KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NzQ2
PC90ZD48dGQgY2xhc3M9ImhpdHMiPjI8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAg
ICAgICAgICAgIHNhd19jb21tYSA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9
ImsiPnRydWU8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQg
Y2xhc3M9ImxpbmUiPjc0NzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291
cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PC90ZD48L3RyPjx0
cj48dGQgY2xhc3M9ImxpbmUiPjc0ODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFz
cz0ic291cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmVsc2U8L3NwYW4+IDxz
cGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFz
cz0ibGluZSI+NzQ5PC90ZD48dGQgY2xhc3M9ImhpdHMiPjE8L3RkPjx0ZCBjbGFzcz0ic291cmNl
Ij4gICAgICAgICAgICAgICAgICAgIHNhd19jb21tYSA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4g
PHNwYW4gY2xhc3M9ImsiPmZhbHNlPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+
PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj43NTA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48
dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFu
PjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj43NTE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+
PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3Nw
YW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjc1MjwvdGQ+PHRkIGNsYXNzPSJoaXRz
Ij48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFu
PjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj43
NTM8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8
L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjc1NDwvdGQ+PHRkIGNs
YXNzPSJoaXRzIj40NzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9
ImsiPnZhcjwvc3Bhbj4gdHlwZWRlZiA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xh
c3M9ImsiPmZ1bmN0aW9uPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KCk8L3NwYW4+IDxzcGFuIGNs
YXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGlu
ZSI+NzU1PC90ZD48dGQgY2xhc3M9ImhpdHMiPjUxPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAg
ICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNs
YXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjc1NjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj45OTwv
dGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bh
bj4gPHNwYW4gY2xhc3M9ImsiPighPC9zcGFuPmNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bh
bj5JRDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+InR5cGVkZWYiPC9z
cGFuPjxzcGFuIGNsYXNzPSJrIj4pKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnJldHVybjwvc3Bh
bj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQg
Y2xhc3M9ImxpbmUiPjc1NzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4zPC90ZD48dGQgY2xhc3M9InNv
dXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gcmV0IDxzcGFuIGNs
YXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0
ZCBjbGFzcz0ibGluZSI+NzU4PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJz
b3VyY2UiPiAgICAgICAgICAgICAgICB0eXBlPHNwYW4gY2xhc3M9ImsiPjo8L3NwYW4+ICAgPHNw
YW4gY2xhc3M9InMiPiJ0eXBlZGVmIjwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGlu
ZSI+NzU5PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAg
ICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwv
dGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NzYwPC90ZD48dGQgY2xh
c3M9ImhpdHMiPjM8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICBhbGxfd3M8c3Bh
biBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFz
cz0ibGluZSI+NzYxPC90ZD48dGQgY2xhc3M9ImhpdHMiPjM8L3RkPjx0ZCBjbGFzcz0ic291cmNl
Ij4gICAgICAgICAgICByZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5leHRBdHRycyA8c3BhbiBj
bGFzcz0iayI+PTwvc3Bhbj4gZXh0ZW5kZWRfYXR0cnM8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFu
PjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NzYyPC90ZD48dGQg
Y2xhc3M9ImhpdHMiPjM8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICBhbGxfd3M8
c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBj
bGFzcz0ibGluZSI+NzYzPC90ZD48dGQgY2xhc3M9ImhpdHMiPjM8L3RkPjx0ZCBjbGFzcz0ic291
cmNlIj4gICAgICAgICAgICByZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5pZGxUeXBlIDxzcGFu
IGNsYXNzPSJrIj49PC9zcGFuPiB0eXBlPHNwYW4gY2xhc3M9ImsiPigpPC9zcGFuPiA8c3BhbiBj
bGFzcz0iayI+fHw8L3NwYW4+IGVycm9yPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xh
c3M9InMiPiJObyB0eXBlIGluIHR5cGVkZWYiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bh
bj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjc2NDwvdGQ+PHRk
IGNsYXNzPSJoaXRzIj4zPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgYWxsX3dz
PHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQg
Y2xhc3M9ImxpbmUiPjc2NTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4zPC90ZD48dGQgY2xhc3M9InNv
dXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gbmFtZSA8c3BhbiBj
bGFzcz0iayI+PTwvc3Bhbj4gY29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPklEPHNwYW4g
Y2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj58fDwvc3Bhbj4gZXJyb3I8c3BhbiBj
bGFzcz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0icyI+Ik5vIG5hbWUgaW4gdHlwZWRlZiI8L3Nw
YW4+PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0
ZCBjbGFzcz0ibGluZSI+NzY2PC90ZD48dGQgY2xhc3M9ImhpdHMiPjM8L3RkPjx0ZCBjbGFzcz0i
c291cmNlIj4gICAgICAgICAgICByZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5uYW1lIDxzcGFu
IGNsYXNzPSJrIj49PC9zcGFuPiBuYW1lPHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+dmFsdWU8c3Bh
biBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9
ImxpbmUiPjc2NzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4zPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+
ICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRy
IGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjc2ODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4z
PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgY29uc3VtZTxzcGFuIGNsYXNzPSJr
Ij4oPC9zcGFuPk9USEVSPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4i
OyI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj58fDwvc3Bh
bj4gZXJyb3I8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0icyI+IlVudGVybWlu
YXRlZCB0eXBlZGVmIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0
ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj43Njk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+
MzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5yZXR1
cm48L3NwYW4+IHJldDxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNs
YXNzPSJsaW5lIj43NzA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJj
ZSI+ICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bh
bj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NzcxPC90ZD48dGQgY2xhc3M9ImhpdHMi
PjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0
Ij4gPHRkIGNsYXNzPSJsaW5lIj43NzI8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDc8L3RkPjx0ZCBj
bGFzcz0ic291cmNlIj4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IGltcGxlbWVu
dHNfIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ZnVuY3Rpb248L3Nw
YW4+IDxzcGFuIGNsYXNzPSJrIj4oKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90
ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj43NzM8L3RkPjx0ZCBjbGFz
cz0iaGl0cyI+NDg8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICBhbGxfd3M8c3Bh
biBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFz
cz0ibGluZSI+Nzc0PC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ4PC90ZD48dGQgY2xhc3M9InNvdXJj
ZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gdGFyZ2V0IDxzcGFuIGNs
YXNzPSJrIj49PC9zcGFuPiBjb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+SUQ8c3BhbiBj
bGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJs
aW5lIj43NzU8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+OTU8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4g
ICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oITwv
c3Bhbj50YXJnZXQ8c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnJldHVy
bjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQi
PiA8dGQgY2xhc3M9ImxpbmUiPjc3NjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xPC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gdyA8c3Bh
biBjbGFzcz0iayI+PTwvc3Bhbj4gYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3Rk
PjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjc3NzwvdGQ+PHRkIGNsYXNz
PSJoaXRzIj4xPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9
ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5jb25zdW1lPHNwYW4gY2xhc3M9
ImsiPig8L3NwYW4+SUQ8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJp
bXBsZW1lbnRzIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KSk8L3NwYW4+IDxzcGFuIGNsYXNzPSJr
Ij57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+Nzc4
PC90ZD48dGQgY2xhc3M9ImhpdHMiPjE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAg
ICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gcmV0IDxzcGFuIGNsYXNzPSJrIj49PC9z
cGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGlu
ZSI+Nzc5PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAg
ICAgICAgICAgICAgICAgdHlwZTxzcGFuIGNsYXNzPSJrIj46PC9zcGFuPiAgIDxzcGFuIGNsYXNz
PSJzIj4iaW1wbGVtZW50cyI8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjc4
MDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAg
ICAgICAgPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+ICAgdGFyZ2V0PHNwYW4gY2xhc3M9ImsiPjo8
L3NwYW4+IHRhcmdldDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnZhbHVlPC90ZD48L3RyPjx0cj48
dGQgY2xhc3M9ImxpbmUiPjc4MTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0i
c291cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PHNwYW4gY2xh
c3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5l
Ij43ODI8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAg
ICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIg
Y2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NzgzPC90ZD48dGQgY2xhc3M9ImhpdHMiPjE8
L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZh
cjwvc3Bhbj4gaW1wIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiBjb25zdW1lPHNwYW4gY2xhc3M9
ImsiPig8L3NwYW4+SUQ8c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnx8
PC9zcGFuPiBlcnJvcjxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4iSW5j
b21wbGV0ZSBpbXBsZW1lbnRzIHN0YXRlbWVudCI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7PC9z
cGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+Nzg0PC90ZD48
dGQgY2xhc3M9ImhpdHMiPjE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAg
cmV0PHNwYW4gY2xhc3M9ImsiPls8L3NwYW4+PHNwYW4gY2xhc3M9InMiPiJpbXBsZW1lbnRzIjwv
c3Bhbj48c3BhbiBjbGFzcz0iayI+XTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IGlt
cDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnZhbHVlPHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90
ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj43ODU8L3RkPjx0ZCBjbGFz
cz0iaGl0cyI+MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICBhbGxfd3M8
c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBj
bGFzcz0ibGluZSI+Nzg2PC90ZD48dGQgY2xhc3M9ImhpdHMiPjE8L3RkPjx0ZCBjbGFzcz0ic291
cmNlIj4gICAgICAgICAgICAgICAgY29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPk9USEVS
PHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iOyI8L3NwYW4+PHNwYW4g
Y2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj58fDwvc3Bhbj4gZXJyb3I8c3BhbiBj
bGFzcz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0icyI+Ik5vIHRlcm1pbmF0aW5nIDsgZm9yIGlt
cGxlbWVudHMgc3RhdGVtZW50Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48
L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj43ODc8L3RkPjx0ZCBjbGFzcz0i
aGl0cyI+MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFz
cz0iayI+cmV0dXJuPC9zcGFuPiByZXQ8c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+
PHRyPjx0ZCBjbGFzcz0ibGluZSI+Nzg4PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNs
YXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90
cj48dHI+PHRkIGNsYXNzPSJsaW5lIj43ODk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQg
Y2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmVsc2U8L3NwYW4+IDxz
cGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj43OTA8
L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAg
ICAgIDxzcGFuIGNsYXNzPSJjIj4vLyByb2xsYmFjazwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNz
PSJtaXNzIj4gPHRkIGNsYXNzPSJsaW5lIj43OTE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MDwvdGQ+
PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICB0b2tlbnM8c3BhbiBjbGFzcz0iayI+
Ljwvc3Bhbj51bnNoaWZ0PHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+dzxzcGFuIGNsYXNzPSJrIj4p
Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJtaXNzIj4gPHRkIGNsYXNzPSJsaW5lIj43OTI8
L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAg
ICAgICB0b2tlbnM8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj51bnNoaWZ0PHNwYW4gY2xhc3M9Imsi
Pig8L3NwYW4+dGFyZ2V0PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRk
IGNsYXNzPSJsaW5lIj43OTM8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNv
dXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PC90ZD48L3RyPjx0cj48
dGQgY2xhc3M9ImxpbmUiPjc5NDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0i
c291cmNlIj4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47
PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj43OTU8L3RkPjx0ZCBjbGFzcz0i
aGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8L3RkPjwvdHI+PHRyIGNsYXNz
PSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjc5NjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40NzwvdGQ+
PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gZGVm
aW5pdGlvbiA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPmZ1bmN0aW9u
PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KCk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFu
PjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+Nzk3PC90ZD48dGQg
Y2xhc3M9ImhpdHMiPjE0NDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFu
IGNsYXNzPSJrIj5yZXR1cm48L3NwYW4+ICBjYWxsYmFjazxzcGFuIGNsYXNzPSJrIj4oKTwvc3Bh
bj4gICAgICA8c3BhbiBjbGFzcz0iayI+fHw8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9
ImxpbmUiPjc5ODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4g
ICAgICAgICAgICAgICAgICAgIGludGVyZmFjZV88c3BhbiBjbGFzcz0iayI+KCk8L3NwYW4+ICAg
IDxzcGFuIGNsYXNzPSJrIj58fDwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+
Nzk5PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAg
ICAgICAgICAgICAgcGFydGlhbDxzcGFuIGNsYXNzPSJrIj4oKTwvc3Bhbj4gICAgICAgPHNwYW4g
Y2xhc3M9ImsiPnx8PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj44MDA8L3Rk
Pjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAg
ICAgICBkaWN0aW9uYXJ5PHNwYW4gY2xhc3M9ImsiPigpPC9zcGFuPiAgICA8c3BhbiBjbGFzcz0i
ayI+fHw8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjgwMTwvdGQ+PHRkIGNs
YXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAgIGV4
Y2VwdGlvbjxzcGFuIGNsYXNzPSJrIj4oKTwvc3Bhbj4gICAgIDxzcGFuIGNsYXNzPSJrIj58fDwv
c3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+ODAyPC90ZD48dGQgY2xhc3M9Imhp
dHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAgZW51bV88c3Bh
biBjbGFzcz0iayI+KCk8L3NwYW4+ICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnx8PC9zcGFuPjwv
dGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj44MDM8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90
ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICB0eXBlZGVmPHNwYW4gY2xh
c3M9ImsiPigpPC9zcGFuPiAgICAgICA8c3BhbiBjbGFzcz0iayI+fHw8L3NwYW4+PC90ZD48L3Ry
Pjx0cj48dGQgY2xhc3M9ImxpbmUiPjgwNDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBj
bGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAgIGltcGxlbWVudHNfPHNwYW4gY2xhc3M9
ImsiPigpPC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj44MDU8L3RkPjx0ZCBj
bGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICA8
c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+ODA2
PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNw
YW4gY2xhc3M9ImsiPn08L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0
cj48dGQgY2xhc3M9ImxpbmUiPjgwNzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFz
cz0ic291cmNlIj4gICAgICAgIDwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0i
bGluZSI+ODA4PC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ3PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+
ICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiBkZWZpbml0aW9ucyA8c3BhbiBjbGFz
cz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPmZ1bmN0aW9uPC9zcGFuPiA8c3BhbiBjbGFz
cz0iayI+KCk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xh
c3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+ODA5PC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ3PC90
ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFu
PiA8c3BhbiBjbGFzcz0iayI+KCE8L3NwYW4+dG9rZW5zPHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+
bGVuZ3RoPHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5yZXR1cm48L3Nw
YW4+IDxzcGFuIGNsYXNzPSJrIj5bXTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4g
PHRkIGNsYXNzPSJsaW5lIj44MTA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDc8L3RkPjx0ZCBjbGFz
cz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiBkZWZzIDxz
cGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+W107PC9zcGFuPjwvdGQ+PC90
cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+ODExPC90ZD48dGQgY2xhc3M9Imhp
dHMiPjQ3PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9Imsi
PndoaWxlPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0iayI+dHJ1
ZTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+
PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj44MTI8L3RkPjx0ZCBj
bGFzcz0iaGl0cyI+MTQ0PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxz
cGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IGVhIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiBleHRl
bmRlZF9hdHRyczxzcGFuIGNsYXNzPSJrIj4oKTwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFz
cz0ibGluZSI+ODEzPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2Ui
PiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gICBkZWYgPHNwYW4gY2xh
c3M9ImsiPj08L3NwYW4+IGRlZmluaXRpb248c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+
PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+ODE0PC90ZD48dGQgY2xhc3M9
ImhpdHMiPjE0NDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBj
bGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oITwvc3Bhbj5kZWY8c3BhbiBjbGFz
cz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFz
cz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj44MTU8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDc8L3Rk
Pjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5p
Zjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+ZWE8c3BhbiBjbGFzcz0iayI+Ljwvc3Bh
bj5sZW5ndGg8c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gZXJyb3I8c3BhbiBjbGFzcz0iayI+KDwv
c3Bhbj48c3BhbiBjbGFzcz0icyI+IlN0cmF5IGV4dGVuZGVkIGF0dHJpYnV0ZXMiPC9zcGFuPjxz
cGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xh
c3M9ImxpbmUiPjgxNjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40NzwvdGQ+PHRkIGNsYXNzPSJzb3Vy
Y2UiPiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmJyZWFrPC9zcGFuPjxzcGFu
IGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj44MTc8L3Rk
Pjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAg
IDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBj
bGFzcz0ibGluZSI+ODE4PC90ZD48dGQgY2xhc3M9ImhpdHMiPjk3PC90ZD48dGQgY2xhc3M9InNv
dXJjZSI+ICAgICAgICAgICAgICAgIGRlZjxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPmV4dEF0dHJz
IDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiBlYTxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+
PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+ODE5PC90ZD48dGQgY2xhc3M9
ImhpdHMiPjk3PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIGRlZnM8c3Bh
biBjbGFzcz0iayI+Ljwvc3Bhbj5wdXNoPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+ZGVmPHNwYW4g
Y2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj44MjA8L3Rk
Pjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNw
YW4gY2xhc3M9ImsiPn08L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNz
PSJsaW5lIj44MjE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDc8L3RkPjx0ZCBjbGFzcz0ic291cmNl
Ij4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+cmV0dXJuPC9zcGFuPiBkZWZzPHNwYW4gY2xh
c3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjgyMjwvdGQ+PHRk
IGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxzcGFuIGNsYXNz
PSJrIj59PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9
ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+ODIzPC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ3PC90ZD48
dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiByZXMg
PHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IGRlZmluaXRpb25zPHNwYW4gY2xhc3M9ImsiPigpOzwv
c3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjgyNDwvdGQ+
PHRkIGNsYXNzPSJoaXRzIj40NzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4g
Y2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj50b2tlbnM8c3BhbiBj
bGFzcz0iayI+Ljwvc3Bhbj5sZW5ndGg8c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gZXJyb3I8c3Bh
biBjbGFzcz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0icyI+IlVucmVjb2duaXNlZCB0b2tlbnMi
PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQi
PiA8dGQgY2xhc3M9ImxpbmUiPjgyNTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40NzwvdGQ+PHRkIGNs
YXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnJldHVybjwvc3Bhbj4gcmVzPHNw
YW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjgyNjwv
dGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgPHNwYW4gY2xh
c3M9ImsiPn08L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQg
Y2xhc3M9ImxpbmUiPjgyNzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291
cmNlIj4gPC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj44Mjg8L3Rk
Pjx0ZCBjbGFzcz0iaGl0cyI+MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICA8c3BhbiBjbGFz
cz0iayI+dmFyPC9zcGFuPiBvYmogPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNz
PSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj44Mjk8L3RkPjx0ZCBj
bGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICBwYXJzZTxzcGFuIGNs
YXNzPSJrIj46PC9zcGFuPiAgPHNwYW4gY2xhc3M9ImsiPmZ1bmN0aW9uPC9zcGFuPiA8c3BhbiBj
bGFzcz0iayI+KDwvc3Bhbj5zdHI8c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9
ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj44
MzA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDc8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAg
ICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiB0b2tlbnMgPHNwYW4gY2xhc3M9ImsiPj08
L3NwYW4+IHRva2VuaXNlPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+c3RyPHNwYW4gY2xhc3M9Imsi
Pik7PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj44MzE8L3RkPjx0ZCBjbGFz
cz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9
ImMiPi8vIGNvbnNvbGUubG9nKHRva2Vucyk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9Imhp
dCI+IDx0ZCBjbGFzcz0ibGluZSI+ODMyPC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ3PC90ZD48dGQg
Y2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnJldHVybjwvc3Bhbj4g
cGFyc2U8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj50b2tlbnM8c3BhbiBjbGFzcz0iayI+KTs8L3Nw
YW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjgzMzwvdGQ+PHRkIGNsYXNzPSJoaXRz
Ij48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFu
PjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj44MzQ8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+
PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjxzcGFu
IGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0i
bGluZSI+ODM1PC90ZD48dGQgY2xhc3M9ImhpdHMiPjE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4g
ICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3Bh
biBjbGFzcz0iayI+dHlwZW9mPC9zcGFuPiBtb2R1bGUgPHNwYW4gY2xhc3M9ImsiPiE9PTwvc3Bh
bj4gPHNwYW4gY2xhc3M9InMiPiJ1bmRlZmluZWQiPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+JmFt
cDsmYW1wOzwvc3Bhbj4gbW9kdWxlPHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+ZXhwb3J0czxzcGFu
IGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRy
IGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjgzNjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4x
PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICBtb2R1bGU8c3BhbiBjbGFzcz0iayI+Ljwv
c3Bhbj5leHBvcnRzIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiBvYmo8c3BhbiBjbGFzcz0iayI+
Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+ODM3PC90ZD48dGQgY2xhc3M9
ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bh
bj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+ODM4PC90ZD48dGQgY2xhc3M9ImhpdHMi
PjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICA8c3BhbiBjbGFzcz0iayI+ZWxzZTwvc3Bhbj4g
PHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0ibWlzcyI+IDx0ZCBj
bGFzcz0ibGluZSI+ODM5PC90ZD48dGQgY2xhc3M9ImhpdHMiPjA8L3RkPjx0ZCBjbGFzcz0ic291
cmNlIj4gICAgICAgIHdpbmRvdzxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPldlYklETDIgPHNwYW4g
Y2xhc3M9ImsiPj08L3NwYW4+IG9iajxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48
dHI+PHRkIGNsYXNzPSJsaW5lIj44NDA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+ICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRk
IGNsYXNzPSJsaW5lIj44NDE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNv
dXJjZSI+PHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PHNwYW4gY2xhc3M9ImsiPigpKTs8L3NwYW4+
PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj48L2Rpdj48L2JvZHk+PC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi9pbmRleC5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvaW5kZXguanMKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDA5ZjllYjQ2YWE3OGY0ODY5MmVlM2Q5NzZkYWQzYTdiYjE3NGIx
NDguLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi9p
bmRleC5qcworKysgL2Rldi9udWxsCkBAIC0xICswLDAgQEAKLW1vZHVsZS5leHBvcnRzID0gcmVx
dWlyZSgiLi9saWIvd2ViaWRsMi5qcyIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi9saWIvUkVBRE1FLm1k
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi9saWIvUkVBRE1FLm1kCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFiZDU4MzI2OWQyOTI5YTE2YjFjN2Fk
MGM1OGZhYjZlOTliNzJhMTAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL2xpYi9SRUFETUUubWQK
QEAgLTAsMCArMSw0IEBACitUaGlzIGRpcmVjdG9yeSBjb250YWlucyBhIGJ1aWx0IHZlcnNpb24g
b2YgdGhlIFt3ZWJpZGwyLmpzIGxpYnJhcnldKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRs
Mi5qcykuCitJdCBpcyBidWlsdCBieSBydW5uaW5nIGBucG0gcnVuIGJ1aWxkLWRlYnVnYCBhdCB0
aGUgcm9vdCBvZiB0aGF0IHJlcG9zaXRvcnkuCisKK1RoZSBgd2ViaWRsMi5qcy5oZWFkZXJzYCBm
aWxlIGlzIGEgbG9jYWwgYWRkaXRpb24gdG8gZW5zdXJlIHRoZSBzY3JpcHQgaXMgaW50ZXJwcmV0
ZWQgYXMgVVRGLTguCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL2xpYi93M2MtaW1wb3J0LmxvZyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
bGliL3czYy1pbXBvcnQubG9nCmluZGV4IDBiYzlhYmJhMTkzMGM5NmQ0MmQwMjM3NDFhZjFlYTVj
NzU3YzE2YmQuLmRjYjg4OWYwMzNmMzUyZDQwNTYzYzdhOWVjYWU3MGUxNzQ5NmI2ODcgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvbGliL3czYy1pbXBvcnQubG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvbGliL3czYy1pbXBvcnQu
bG9nCkBAIC0xNCw2ICsxNCw2IEBAIFByb3BlcnR5IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9yIHBy
ZWZpeGVzOgogTm9uZQogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiBMaXN0IG9mIGZpbGVzOgorL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvbGli
L1JFQURNRS5tZAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvbGliL3dlYmlkbDIuanMKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL2xpYi93ZWJpZGwyLmpzLmhl
YWRlcnMKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL2xpYi93cml0ZXIuanMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvbGliL3dlYmlkbDIu
anMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL2xpYi93ZWJpZGwyLmpzCmluZGV4IGM2MGE0NTZjMzI0MTY1NWQwNWE3ZTQwZjgy
YjE5ZDg3MzVkMDE3ZDQuLjJhMTc0YzkyZWJlNjdkNjJiYzUyNzM1NTZmOWNjYTAzZGUzMzJkMDUg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvbGliL3dlYmlkbDIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi9saWIvd2ViaWRsMi5q
cwpAQCAtNTI0LDcgKzUyNCw3IEBAIGZ1bmN0aW9uIGxhc3RMaW5lKHRleHQpIHsKICAqIEBwYXJh
bSB7IlN5bnRheCIgfCAiVmFsaWRhdGlvbiJ9IGtpbmQgZXJyb3IgdHlwZQogICogQHBhcmFtIHtX
ZWJJREwyRXJyb3JPcHRpb25zfSBbb3B0aW9uc10KICAqLwotZnVuY3Rpb24gZXJyb3Ioc291cmNl
LCBwb3NpdGlvbiwgY3VycmVudCwgbWVzc2FnZSwga2luZCwgeyBsZXZlbCA9ICJlcnJvciIsIGF1
dG9maXggfSA9IHt9KSB7CitmdW5jdGlvbiBlcnJvcihzb3VyY2UsIHBvc2l0aW9uLCBjdXJyZW50
LCBtZXNzYWdlLCBraW5kLCB7IGxldmVsID0gImVycm9yIiwgYXV0b2ZpeCwgcnVsZU5hbWUgfSA9
IHt9KSB7CiAgIC8qKgogICAgKiBAcGFyYW0ge251bWJlcn0gY291bnQKICAgICovCkBAIC01NzQs
NiArNTc0LDcgQEAgZnVuY3Rpb24gZXJyb3Ioc291cmNlLCBwb3NpdGlvbiwgY3VycmVudCwgbWVz
c2FnZSwga2luZCwgeyBsZXZlbCA9ICJlcnJvciIsIGF1dG8KICAgICBsaW5lLAogICAgIHNvdXJj
ZU5hbWU6IHNvdXJjZS5uYW1lLAogICAgIGxldmVsLAorICAgIHJ1bGVOYW1lLAogICAgIGF1dG9m
aXgsCiAgICAgaW5wdXQ6IHN1YnNlcXVlbnRUZXh0LAogICAgIHRva2Vuczogc3Vic2VxdWVudFRv
a2VucwpAQCAtNTkxLDggKzU5Miw5IEBAIGZ1bmN0aW9uIHN5bnRheEVycm9yKHNvdXJjZSwgcG9z
aXRpb24sIGN1cnJlbnQsIG1lc3NhZ2UpIHsKICAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlIGVy
cm9yIG1lc3NhZ2UKICAqIEBwYXJhbSB7V2ViSURMMkVycm9yT3B0aW9uc30gW29wdGlvbnNdCiAg
Ki8KLWZ1bmN0aW9uIHZhbGlkYXRpb25FcnJvcihzb3VyY2UsIHRva2VuLCBjdXJyZW50LCBtZXNz
YWdlLCBvcHRpb25zKSB7Ci0gIHJldHVybiBlcnJvcihzb3VyY2UsIHRva2VuLmluZGV4LCBjdXJy
ZW50LCBtZXNzYWdlLCAiVmFsaWRhdGlvbiIsIG9wdGlvbnMpOworZnVuY3Rpb24gdmFsaWRhdGlv
bkVycm9yKHRva2VuLCBjdXJyZW50LCBydWxlTmFtZSwgbWVzc2FnZSwgb3B0aW9ucyA9IHt9KSB7
CisgIG9wdGlvbnMucnVsZU5hbWUgPSBydWxlTmFtZTsKKyAgcmV0dXJuIGVycm9yKGN1cnJlbnQu
c291cmNlLCB0b2tlbi5pbmRleCwgY3VycmVudCwgbWVzc2FnZSwgIlZhbGlkYXRpb24iLCBvcHRp
b25zKTsKIH0KIAogCkBAIC02MTIsNyArNjE0LDEwIEBAIF9fd2VicGFja19yZXF1aXJlX18ucihf
X3dlYnBhY2tfZXhwb3J0c19fKTsKIC8qIGhhcm1vbnkgZXhwb3J0IChiaW5kaW5nKSAqLyBfX3dl
YnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgInR5cGVfd2l0aF9leHRlbmRl
ZF9hdHRyaWJ1dGVzIiwgZnVuY3Rpb24oKSB7IHJldHVybiB0eXBlX3dpdGhfZXh0ZW5kZWRfYXR0
cmlidXRlczsgfSk7CiAvKiBoYXJtb255IGV4cG9ydCAoYmluZGluZykgKi8gX193ZWJwYWNrX3Jl
cXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sICJyZXR1cm5fdHlwZSIsIGZ1bmN0aW9uKCkg
eyByZXR1cm4gcmV0dXJuX3R5cGU7IH0pOwogLyogaGFybW9ueSBleHBvcnQgKGJpbmRpbmcpICov
IF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCAic3RyaW5naWZpZXIi
LCBmdW5jdGlvbigpIHsgcmV0dXJuIHN0cmluZ2lmaWVyOyB9KTsKKy8qIGhhcm1vbnkgZXhwb3J0
IChiaW5kaW5nKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywg
ImdldExhc3RJbmRlbnRhdGlvbiIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gZ2V0TGFzdEluZGVudGF0
aW9uOyB9KTsKKy8qIGhhcm1vbnkgZXhwb3J0IChiaW5kaW5nKSAqLyBfX3dlYnBhY2tfcmVxdWly
ZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgImdldE1lbWJlckluZGVudGF0aW9uIiwgZnVuY3Rp
b24oKSB7IHJldHVybiBnZXRNZW1iZXJJbmRlbnRhdGlvbjsgfSk7CiAvKiBoYXJtb255IGV4cG9y
dCAoYmluZGluZykgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18s
ICJhdXRvZml4QWRkRXhwb3NlZFdpbmRvdyIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gYXV0b2ZpeEFk
ZEV4cG9zZWRXaW5kb3c7IH0pOworLyogaGFybW9ueSBleHBvcnQgKGJpbmRpbmcpICovIF9fd2Vi
cGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCAiZ2V0Rmlyc3RUb2tlbiIsIGZ1
bmN0aW9uKCkgeyByZXR1cm4gZ2V0Rmlyc3RUb2tlbjsgfSk7CiAvKiBoYXJtb255IGltcG9ydCAq
LyB2YXIgX3R5cGVfanNfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfXyA9IF9fd2VicGFja19y
ZXF1aXJlX18oNSk7CiAvKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2FyZ3VtZW50X2pzX19XRUJQ
QUNLX0lNUE9SVEVEX01PRFVMRV8xX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDgpOwogLyogaGFy
bW9ueSBpbXBvcnQgKi8gdmFyIF90b2tlbl9qc19fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9f
ID0gX193ZWJwYWNrX3JlcXVpcmVfXygxMik7CkBAIC03ODksNiArNzk0LDMwIEBAIGZ1bmN0aW9u
IHN0cmluZ2lmaWVyKHRva2VuaXNlcikgewogICByZXR1cm4gbWVtYmVyOwogfQogCisvKioKKyAq
IEBwYXJhbSB7c3RyaW5nfSBzdHIKKyAqLworZnVuY3Rpb24gZ2V0TGFzdEluZGVudGF0aW9uKHN0
cikgeworICBjb25zdCBsaW5lcyA9IHN0ci5zcGxpdCgiXG4iKTsKKyAgLy8gdGhlIGZpcnN0IGxp
bmUgdmlzdWFsbHkgYmluZHMgdG8gdGhlIHByZWNlZGluZyB0b2tlbgorICBpZiAobGluZXMubGVu
Z3RoKSB7CisgICAgY29uc3QgbWF0Y2ggPSBsaW5lc1tsaW5lcy5sZW5ndGggLSAxXS5tYXRjaCgv
XlxzKy8pOworICAgIGlmIChtYXRjaCkgeworICAgICAgcmV0dXJuIG1hdGNoWzBdOworICAgIH0K
KyAgfQorICByZXR1cm4gIiI7Cit9CisKKy8qKgorICogQHBhcmFtIHtzdHJpbmd9IHBhcmVudFRy
aXZpYQorICovCitmdW5jdGlvbiBnZXRNZW1iZXJJbmRlbnRhdGlvbihwYXJlbnRUcml2aWEpIHsK
KyAgY29uc3QgaW5kZW50YXRpb24gPSBnZXRMYXN0SW5kZW50YXRpb24ocGFyZW50VHJpdmlhKTsK
KyAgY29uc3QgaW5kZW50Q2ggPSBpbmRlbnRhdGlvbi5pbmNsdWRlcygiXHQiKSA/ICJcdCIgOiAi
ICAiOworICByZXR1cm4gaW5kZW50YXRpb24gKyBpbmRlbnRDaDsKK30KKwogLyoqCiAgKiBAcGFy
YW0ge29iamVjdH0gZGVmCiAgKiBAcGFyYW0ge2ltcG9ydCgiLi9leHRlbmRlZC1hdHRyaWJ1dGVz
LmpzIikuRXh0ZW5kZWRBdHRyaWJ1dGVzfSBkZWYuZXh0QXR0cnMKQEAgLTgwNiwxMiArODM1LDI4
IEBAIGZ1bmN0aW9uIGF1dG9maXhBZGRFeHBvc2VkV2luZG93KGRlZikgewogICAgICAgZGVmLmV4
dEF0dHJzLnVuc2hpZnQoZXhwb3NlZCk7CiAgICAgfSBlbHNlIHsKICAgICAgIGRlZi5leHRBdHRy
cyA9IF9leHRlbmRlZF9hdHRyaWJ1dGVzX2pzX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX19b
IkV4dGVuZGVkQXR0cmlidXRlcyJdLnBhcnNlKG5ldyBfdG9rZW5pc2VyX2pzX19XRUJQQUNLX0lN
UE9SVEVEX01PRFVMRV82X19bIlRva2VuaXNlciJdKCJbRXhwb3NlZD1XaW5kb3ddIikpOwotICAg
ICAgZGVmLmV4dEF0dHJzLnRva2Vucy5vcGVuLnRyaXZpYSA9IGRlZi50b2tlbnMuYmFzZS50cml2
aWE7Ci0gICAgICBkZWYudG9rZW5zLmJhc2UudHJpdmlhID0gIiAiOworICAgICAgY29uc3QgdHJp
dmlhID0gZGVmLnRva2Vucy5iYXNlLnRyaXZpYTsKKyAgICAgIGRlZi5leHRBdHRycy50b2tlbnMu
b3Blbi50cml2aWEgPSB0cml2aWE7CisgICAgICBkZWYudG9rZW5zLmJhc2UudHJpdmlhID0gYFxu
JHtnZXRMYXN0SW5kZW50YXRpb24odHJpdmlhKX1gOwogICAgIH0KICAgfTsKIH0KIAorLyoqCisg
KiBHZXQgdGhlIGZpcnN0IHN5bnRheCB0b2tlbiBmb3IgdGhlIGdpdmVuIElETCBvYmplY3QuCisg
KiBAcGFyYW0geyp9IGRhdGEKKyAqLworZnVuY3Rpb24gZ2V0Rmlyc3RUb2tlbihkYXRhKSB7Cisg
IGlmIChkYXRhLmV4dEF0dHJzLmxlbmd0aCkgeworICAgIHJldHVybiBkYXRhLmV4dEF0dHJzLnRv
a2Vucy5vcGVuOworICB9CisgIGlmIChkYXRhLnR5cGUgPT09ICJvcGVyYXRpb24iKSB7CisgICAg
cmV0dXJuIGdldEZpcnN0VG9rZW4oZGF0YS5pZGxUeXBlKTsKKyAgfQorICBjb25zdCB0b2tlbnMg
PSBPYmplY3QudmFsdWVzKGRhdGEudG9rZW5zKS5zb3J0KCh4LCB5KSA9PiB4LmluZGV4IC0geS5p
bmRleCk7CisgIHJldHVybiB0b2tlbnNbMF07Cit9CisKIAogLyoqKi8gfSksCiAvKiA1ICovCkBA
IC05ODksNyArMTAzNCw3IEBAIGNsYXNzIFR5cGUgZXh0ZW5kcyBfYmFzZV9qc19fV0VCUEFDS19J
TVBPUlRFRF9NT0RVTEVfMF9fWyJCYXNlIl0gewogICAgICAgaWYgKHJlZmVyZW5jZSkgewogICAg
ICAgICBjb25zdCB0YXJnZXRUb2tlbiA9ICh0aGlzLnVuaW9uID8gcmVmZXJlbmNlIDogdGhpcyku
dG9rZW5zLmJhc2U7CiAgICAgICAgIGNvbnN0IG1lc3NhZ2UgPSBgTnVsbGFibGUgdW5pb24gY2Fu
bm90IGluY2x1ZGUgYSBkaWN0aW9uYXJ5IHR5cGVgOwotICAgICAgICB5aWVsZCBPYmplY3QoX2Vy
cm9yX2pzX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX19bInZhbGlkYXRpb25FcnJvciJdKSh0
aGlzLnNvdXJjZSwgdGFyZ2V0VG9rZW4sIHRoaXMsIG1lc3NhZ2UpOworICAgICAgICB5aWVsZCBP
YmplY3QoX2Vycm9yX2pzX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX19bInZhbGlkYXRpb25F
cnJvciJdKSh0YXJnZXRUb2tlbiwgdGhpcywgIm5vLW51bGxhYmxlLXVuaW9uLWRpY3QiLCBtZXNz
YWdlKTsKICAgICAgIH0KICAgICB9IGVsc2UgewogICAgICAgLy8gYWxsb3cgc29tZSBkaWN0aW9u
YXJ5CkBAIC0xMTQ4LDEwICsxMTkzLDEwIEBAIGNsYXNzIEFyZ3VtZW50IGV4dGVuZHMgX2Jhc2Vf
anNfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX1siQmFzZSJdIHsKICAgICBpZiAoT2JqZWN0
KF92YWxpZGF0b3JzX2hlbHBlcnNfanNfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzZfX1siaWRs
VHlwZUluY2x1ZGVzRGljdGlvbmFyeSJdKSh0aGlzLmlkbFR5cGUsIGRlZnMsIHsgdXNlTnVsbGFi
bGVJbm5lcjogdHJ1ZSB9KSkgewogICAgICAgaWYgKHRoaXMuaWRsVHlwZS5udWxsYWJsZSkgewog
ICAgICAgICBjb25zdCBtZXNzYWdlID0gYERpY3Rpb25hcnkgYXJndW1lbnRzIGNhbm5vdCBiZSBu
dWxsYWJsZS5gOwotICAgICAgICB5aWVsZCBPYmplY3QoX2Vycm9yX2pzX19XRUJQQUNLX0lNUE9S
VEVEX01PRFVMRV81X19bInZhbGlkYXRpb25FcnJvciJdKSh0aGlzLnNvdXJjZSwgdGhpcy50b2tl
bnMubmFtZSwgdGhpcywgbWVzc2FnZSk7CisgICAgICAgIHlpZWxkIE9iamVjdChfZXJyb3JfanNf
X1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzVfX1sidmFsaWRhdGlvbkVycm9yIl0pKHRoaXMudG9r
ZW5zLm5hbWUsIHRoaXMsICJuby1udWxsYWJsZS1kaWN0LWFyZyIsIG1lc3NhZ2UpOwogICAgICAg
fSBlbHNlIGlmICh0aGlzLm9wdGlvbmFsICYmICF0aGlzLmRlZmF1bHQpIHsKICAgICAgICAgY29u
c3QgbWVzc2FnZSA9IGBPcHRpb25hbCBkaWN0aW9uYXJ5IGFyZ3VtZW50cyBtdXN0IGhhdmUgYSBk
ZWZhdWx0IHZhbHVlIG9mIFxge31cYC5gOwotICAgICAgICB5aWVsZCBPYmplY3QoX2Vycm9yX2pz
X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV81X19bInZhbGlkYXRpb25FcnJvciJdKSh0aGlzLnNv
dXJjZSwgdGhpcy50b2tlbnMubmFtZSwgdGhpcywgbWVzc2FnZSwgeworICAgICAgICB5aWVsZCBP
YmplY3QoX2Vycm9yX2pzX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV81X19bInZhbGlkYXRpb25F
cnJvciJdKSh0aGlzLnRva2Vucy5uYW1lLCB0aGlzLCAiZGljdC1hcmctZGVmYXVsdCIsIG1lc3Nh
Z2UsIHsKICAgICAgICAgICBhdXRvZml4OiBhdXRvZml4T3B0aW9uYWxEaWN0aW9uYXJ5RGVmYXVs
dFZhbHVlKHRoaXMpCiAgICAgICAgIH0pOwogICAgICAgfQpAQCAtMTMxNSw3ICsxMzYwLDcgQEAg
Y2xhc3MgU2ltcGxlRXh0ZW5kZWRBdHRyaWJ1dGUgZXh0ZW5kcyBfYmFzZV9qc19fV0VCUEFDS19J
TVBPUlRFRF9NT0RVTEVfMF9fWyJCYXMKIHVuZGVzaXJhYmxlIGZlYXR1cmUgdGhhdCBtYXkgYmUg
cmVtb3ZlZCBmcm9tIFdlYiBJREwgaW4gdGhlIGZ1dHVyZS4gUmVmZXIgdG8gdGhlIFwKIFtyZWxl
dmFudCB1cHN0cmVhbSBQUl0oaHR0cHM6Ly9naXRodWIuY29tL2hleWNhbS93ZWJpZGwvcHVsbC82
MDkpIGZvciBtb3JlIFwKIGluZm9ybWF0aW9uLmA7Ci0gICAgICB5aWVsZCBPYmplY3QoX2Vycm9y
X2pzX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX19bInZhbGlkYXRpb25FcnJvciJdKSh0aGlz
LnNvdXJjZSwgdGhpcy50b2tlbnMubmFtZSwgdGhpcywgbWVzc2FnZSwgeyBsZXZlbDogIndhcm5p
bmciIH0pOworICAgICAgeWllbGQgT2JqZWN0KF9lcnJvcl9qc19fV0VCUEFDS19JTVBPUlRFRF9N
T0RVTEVfM19fWyJ2YWxpZGF0aW9uRXJyb3IiXSkodGhpcy50b2tlbnMubmFtZSwgdGhpcywgIm5v
LW5vaW50ZXJmYWNlb2JqZWN0IiwgbWVzc2FnZSwgeyBsZXZlbDogIndhcm5pbmciIH0pOwogICAg
IH0KICAgICBmb3IgKGNvbnN0IGFyZyBvZiB0aGlzLmFyZ3VtZW50cykgewogICAgICAgeWllbGQq
IGFyZy52YWxpZGF0ZShkZWZzKTsKQEAgLTE0NjQsNyArMTUwOSw3IEBAIGNsYXNzIE9wZXJhdGlv
biBleHRlbmRzIF9iYXNlX2pzX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19bIkJhc2UiXSB7
CiAgICp2YWxpZGF0ZShkZWZzKSB7CiAgICAgaWYgKCF0aGlzLm5hbWUgJiYgWyIiLCAic3RhdGlj
Il0uaW5jbHVkZXModGhpcy5zcGVjaWFsKSkgewogICAgICAgY29uc3QgbWVzc2FnZSA9IGBSZWd1
bGFyIG9yIHN0YXRpYyBvcGVyYXRpb25zIG11c3QgaGF2ZSBib3RoIGEgcmV0dXJuIHR5cGUgYW5k
IGFuIGlkZW50aWZpZXIuYDsKLSAgICAgIHlpZWxkIE9iamVjdChfZXJyb3JfanNfX1dFQlBBQ0tf
SU1QT1JURURfTU9EVUxFXzJfX1sidmFsaWRhdGlvbkVycm9yIl0pKHRoaXMuc291cmNlLCB0aGlz
LnRva2Vucy5vcGVuLCB0aGlzLCBtZXNzYWdlKTsKKyAgICAgIHlpZWxkIE9iamVjdChfZXJyb3Jf
anNfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX1sidmFsaWRhdGlvbkVycm9yIl0pKHRoaXMu
dG9rZW5zLm9wZW4sIHRoaXMsICJpbmNvbXBsZXRlLW9wIiwgbWVzc2FnZSk7CiAgICAgfQogICAg
IGlmICh0aGlzLmlkbFR5cGUpIHsKICAgICAgIHlpZWxkKiB0aGlzLmlkbFR5cGUudmFsaWRhdGUo
ZGVmcyk7CkBAIC0xNzYwLDYgKzE4MDUsOCBAQCBfX3dlYnBhY2tfcmVxdWlyZV9fLnIoX193ZWJw
YWNrX2V4cG9ydHNfXyk7CiAvKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2Vycm9yX2pzX19XRUJQ
QUNLX0lNUE9SVEVEX01PRFVMRV82X18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDMpOwogLyogaGFy
bW9ueSBpbXBvcnQgKi8gdmFyIF92YWxpZGF0b3JzX2ludGVyZmFjZV9qc19fV0VCUEFDS19JTVBP
UlRFRF9NT0RVTEVfN19fID0gX193ZWJwYWNrX3JlcXVpcmVfXygyMyk7CiAvKiBoYXJtb255IGlt
cG9ydCAqLyB2YXIgX2NvbnN0cnVjdG9yX2pzX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV84X18g
PSBfX3dlYnBhY2tfcmVxdWlyZV9fKDI0KTsKKy8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfdG9r
ZW5pc2VyX2pzX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV85X18gPSBfX3dlYnBhY2tfcmVxdWly
ZV9fKDIpOworCiAKIAogCkBAIC0xODE5LDEwICsxODY2LDIwIEBAIFRvIGZpeCwgYWRkLCBmb3Ig
ZXhhbXBsZSwgXGBbRXhwb3NlZD1XaW5kb3ddXGAuIFBsZWFzZSBhbHNvIGNvbnNpZGVyIGNhcmVm
dWxseSBcCiBpZiB5b3VyIGludGVyZmFjZSBzaG91bGQgYWxzbyBiZSBleHBvc2VkIGluIGEgV29y
a2VyIHNjb3BlLiBSZWZlciB0byB0aGUgXAogW1dlYklETCBzcGVjIHNlY3Rpb24gb24gRXhwb3Nl
ZF0oaHR0cHM6Ly9oZXljYW0uZ2l0aHViLmlvL3dlYmlkbC8jRXhwb3NlZCkgXAogZm9yIG1vcmUg
aW5mb3JtYXRpb24uYDsKLSAgICAgIHlpZWxkIE9iamVjdChfZXJyb3JfanNfX1dFQlBBQ0tfSU1Q
T1JURURfTU9EVUxFXzZfX1sidmFsaWRhdGlvbkVycm9yIl0pKHRoaXMuc291cmNlLCB0aGlzLnRv
a2Vucy5uYW1lLCB0aGlzLCBtZXNzYWdlLCB7CisgICAgICB5aWVsZCBPYmplY3QoX2Vycm9yX2pz
X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV82X19bInZhbGlkYXRpb25FcnJvciJdKSh0aGlzLnRv
a2Vucy5uYW1lLCB0aGlzLCAicmVxdWlyZS1leHBvc2VkIiwgbWVzc2FnZSwgewogICAgICAgICBh
dXRvZml4OiBPYmplY3QoX2hlbHBlcnNfanNfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzVfX1si
YXV0b2ZpeEFkZEV4cG9zZWRXaW5kb3ciXSkodGhpcykKICAgICAgIH0pOwogICAgIH0KKyAgICBj
b25zdCBjb25zdHJ1Y3RvcnMgPSB0aGlzLmV4dEF0dHJzLmZpbHRlcihleHRBdHRyID0+IGV4dEF0
dHIubmFtZSA9PT0gIkNvbnN0cnVjdG9yIik7CisgICAgZm9yIChjb25zdCBjb25zdHJ1Y3RvciBv
ZiBjb25zdHJ1Y3RvcnMpIHsKKyAgICAgIGNvbnN0IG1lc3NhZ2UgPSBgQ29uc3RydWN0b3JzIHNo
b3VsZCBub3cgYmUgcmVwcmVzZW50ZWQgYXMgYSBcYGNvbnN0cnVjdG9yKClcYCBvcGVyYXRpb24g
b24gdGhlIGludGVyZmFjZSBcCitpbnN0ZWFkIG9mIFxgW0NvbnN0cnVjdG9yXVxgIGV4dGVuZGVk
IGF0dHJpYnV0ZS4gUmVmZXIgdG8gdGhlIFwKK1tXZWJJREwgc3BlYyBzZWN0aW9uIG9uIGNvbnN0
cnVjdG9yIG9wZXJhdGlvbnNdKGh0dHBzOi8vaGV5Y2FtLmdpdGh1Yi5pby93ZWJpZGwvI2lkbC1j
b25zdHJ1Y3RvcnMpIFwKK2ZvciBtb3JlIGluZm9ybWF0aW9uLmA7CisgICAgICB5aWVsZCBPYmpl
Y3QoX2Vycm9yX2pzX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV82X19bInZhbGlkYXRpb25FcnJv
ciJdKShjb25zdHJ1Y3Rvci50b2tlbnMubmFtZSwgdGhpcywgImNvbnN0cnVjdG9yLW1lbWJlciIs
IG1lc3NhZ2UsIHsKKyAgICAgICAgYXV0b2ZpeDogYXV0b2ZpeENvbnN0cnVjdG9yKHRoaXMsIGNv
bnN0cnVjdG9yKQorICAgICAgfSk7CisgICAgfQogCiAgICAgeWllbGQqIHN1cGVyLnZhbGlkYXRl
KGRlZnMpOwogICAgIGlmICghdGhpcy5wYXJ0aWFsKSB7CkBAIC0xODMxLDYgKzE4ODgsMzcgQEAg
Zm9yIG1vcmUgaW5mb3JtYXRpb24uYDsKICAgfQogfQogCitmdW5jdGlvbiBhdXRvZml4Q29uc3Ry
dWN0b3IoaW50ZXJmYWNlRGVmLCBjb25zdHJ1Y3RvckV4dEF0dHIpIHsKKyAgcmV0dXJuICgpID0+
IHsKKyAgICBjb25zdCBpbmRlbnRhdGlvbiA9IE9iamVjdChfaGVscGVyc19qc19fV0VCUEFDS19J
TVBPUlRFRF9NT0RVTEVfNV9fWyJnZXRMYXN0SW5kZW50YXRpb24iXSkoaW50ZXJmYWNlRGVmLmV4
dEF0dHJzLnRva2Vucy5vcGVuLnRyaXZpYSk7CisgICAgY29uc3QgbWVtYmVySW5kZW50ID0gaW50
ZXJmYWNlRGVmLm1lbWJlcnMubGVuZ3RoID8KKyAgICAgIE9iamVjdChfaGVscGVyc19qc19fV0VC
UEFDS19JTVBPUlRFRF9NT0RVTEVfNV9fWyJnZXRMYXN0SW5kZW50YXRpb24iXSkoT2JqZWN0KF9o
ZWxwZXJzX2pzX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV81X19bImdldEZpcnN0VG9rZW4iXSko
aW50ZXJmYWNlRGVmLm1lbWJlcnNbMF0pLnRyaXZpYSkgOgorICAgICAgT2JqZWN0KF9oZWxwZXJz
X2pzX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV81X19bImdldE1lbWJlckluZGVudGF0aW9uIl0p
KGluZGVudGF0aW9uKTsKKyAgICBjb25zdCBjb25zdHJ1Y3Rvck9wID0gX2NvbnN0cnVjdG9yX2pz
X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV84X19bIkNvbnN0cnVjdG9yIl0ucGFyc2UobmV3IF90
b2tlbmlzZXJfanNfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzlfX1siVG9rZW5pc2VyIl0oYFxu
JHttZW1iZXJJbmRlbnR9Y29uc3RydWN0b3IoKTtgKSk7CisgICAgY29uc3RydWN0b3JPcC5leHRB
dHRycyA9IFtdOworICAgIGNvbnN0cnVjdG9yT3AuYXJndW1lbnRzID0gY29uc3RydWN0b3JFeHRB
dHRyLmFyZ3VtZW50czsKKworICAgIGNvbnN0IGV4aXN0aW5nSW5kZXggPSBpbnRlcmZhY2VEZWYu
bWVtYmVycy5maW5kSW5kZXgobSA9PiBtLnR5cGUgPT09ICJjb25zdHJ1Y3RvciIpOworICAgIGlu
dGVyZmFjZURlZi5tZW1iZXJzLnNwbGljZShleGlzdGluZ0luZGV4ICsgMSwgMCwgY29uc3RydWN0
b3JPcCk7CisKKyAgICBjb25zdCB7IGNsb3NlIH0gID0gaW50ZXJmYWNlRGVmLnRva2VuczsKKyAg
ICBpZiAoIWNsb3NlLnRyaXZpYS5pbmNsdWRlcygiXG4iKSkgeworICAgICAgY2xvc2UudHJpdmlh
ICs9IGBcbiR7aW5kZW50YXRpb259YDsKKyAgICB9CisKKyAgICBjb25zdCB7IGV4dEF0dHJzIH0g
PSBpbnRlcmZhY2VEZWY7CisgICAgY29uc3QgaW5kZXggPSBleHRBdHRycy5pbmRleE9mKGNvbnN0
cnVjdG9yRXh0QXR0cik7CisgICAgY29uc3QgcmVtb3ZlZCA9IGV4dEF0dHJzLnNwbGljZShpbmRl
eCwgMSk7CisgICAgaWYgKCFleHRBdHRycy5sZW5ndGgpIHsKKyAgICAgIGV4dEF0dHJzLnRva2Vu
cy5vcGVuID0gZXh0QXR0cnMudG9rZW5zLmNsb3NlID0gdW5kZWZpbmVkOworICAgIH0gZWxzZSBp
ZiAoZXh0QXR0cnMubGVuZ3RoID09PSBpbmRleCkgeworICAgICAgZXh0QXR0cnNbaW5kZXggLSAx
XS50b2tlbnMuc2VwYXJhdG9yID0gdW5kZWZpbmVkOworICAgIH0gZWxzZSBpZiAoIWV4dEF0dHJz
W2luZGV4XS50b2tlbnMubmFtZS50cml2aWEudHJpbSgpKSB7CisgICAgICBleHRBdHRyc1tpbmRl
eF0udG9rZW5zLm5hbWUudHJpdmlhID0gcmVtb3ZlZFswXS50b2tlbnMubmFtZS50cml2aWE7Cisg
ICAgfQorICB9OworfQorCiAKIC8qKiovIH0pLAogLyogMjAgKi8KQEAgLTIwNjYsNyArMjE1NCw3
IEBAIGZ1bmN0aW9uKiBjaGVja0ludGVyZmFjZU1lbWJlckR1cGxpY2F0aW9uKGRlZnMsIGkpIHsK
ICAgICAgIGNvbnN0IHsgbmFtZSB9ID0gYWRkaXRpb247CiAgICAgICBpZiAobmFtZSAmJiBleGlz
dGluZ3MuaGFzKG5hbWUpKSB7CiAgICAgICAgIGNvbnN0IG1lc3NhZ2UgPSBgVGhlIG9wZXJhdGlv
biAiJHtuYW1lfSIgaGFzIGFscmVhZHkgYmVlbiBkZWZpbmVkIGZvciB0aGUgYmFzZSBpbnRlcmZh
Y2UgIiR7YmFzZS5uYW1lfSIgZWl0aGVyIGluIGl0c2VsZiBvciBpbiBhIG1peGluYDsKLSAgICAg
ICAgeWllbGQgT2JqZWN0KF9lcnJvcl9qc19fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fWyJ2
YWxpZGF0aW9uRXJyb3IiXSkoZXh0LnNvdXJjZSwgYWRkaXRpb24udG9rZW5zLm5hbWUsIGV4dCwg
bWVzc2FnZSk7CisgICAgICAgIHlpZWxkIE9iamVjdChfZXJyb3JfanNfX1dFQlBBQ0tfSU1QT1JU
RURfTU9EVUxFXzBfX1sidmFsaWRhdGlvbkVycm9yIl0pKGFkZGl0aW9uLnRva2Vucy5uYW1lLCBl
eHQsICJuby1jcm9zcy1vdmVybG9hZCIsIG1lc3NhZ2UpOwogICAgICAgfQogICAgIH0KICAgfQpA
QCAtMjExMiw2ICsyMjAwLDE1IEBAIGNsYXNzIENvbnN0cnVjdG9yIGV4dGVuZHMgX2Jhc2VfanNf
X1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX1siQmFzZSJdIHsKICAgZ2V0IHR5cGUoKSB7CiAg
ICAgcmV0dXJuICJjb25zdHJ1Y3RvciI7CiAgIH0KKworICAqdmFsaWRhdGUoZGVmcykgeworICAg
IGlmICh0aGlzLmlkbFR5cGUpIHsKKyAgICAgIHlpZWxkKiB0aGlzLmlkbFR5cGUudmFsaWRhdGUo
ZGVmcyk7CisgICAgfQorICAgIGZvciAoY29uc3QgYXJndW1lbnQgb2YgdGhpcy5hcmd1bWVudHMp
IHsKKyAgICAgIHlpZWxkKiBhcmd1bWVudC52YWxpZGF0ZShkZWZzKTsKKyAgICB9CisgIH0KIH0K
IAogCkBAIC0yMjk0LDcgKzIzOTEsNyBAQCBUbyBmaXgsIGFkZCwgZm9yIGV4YW1wbGUsIFtFeHBv
c2VkPVdpbmRvd10uIFBsZWFzZSBhbHNvIGNvbnNpZGVyIGNhcmVmdWxseSBcCiBpZiB5b3VyIG5h
bWVzcGFjZSBzaG91bGQgYWxzbyBiZSBleHBvc2VkIGluIGEgV29ya2VyIHNjb3BlLiBSZWZlciB0
byB0aGUgXAogW1dlYklETCBzcGVjIHNlY3Rpb24gb24gRXhwb3NlZF0oaHR0cHM6Ly9oZXljYW0u
Z2l0aHViLmlvL3dlYmlkbC8jRXhwb3NlZCkgXAogZm9yIG1vcmUgaW5mb3JtYXRpb24uYDsKLSAg
ICAgIHlpZWxkIE9iamVjdChfZXJyb3JfanNfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzNfX1si
dmFsaWRhdGlvbkVycm9yIl0pKHRoaXMuc291cmNlLCB0aGlzLnRva2Vucy5uYW1lLCB0aGlzLCBt
ZXNzYWdlLCB7CisgICAgICB5aWVsZCBPYmplY3QoX2Vycm9yX2pzX19XRUJQQUNLX0lNUE9SVEVE
X01PRFVMRV8zX19bInZhbGlkYXRpb25FcnJvciJdKSh0aGlzLnRva2Vucy5uYW1lLCB0aGlzLCAi
cmVxdWlyZS1leHBvc2VkIiwgbWVzc2FnZSwgewogICAgICAgICBhdXRvZml4OiBPYmplY3QoX2hl
bHBlcnNfanNfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzRfX1siYXV0b2ZpeEFkZEV4cG9zZWRX
aW5kb3ciXSkodGhpcykKICAgICAgIH0pOwogICAgIH0KQEAgLTI2NTAsNyArMjc0Nyw2IEBAIGZ1
bmN0aW9uIHdyaXRlKGFzdCwgeyB0ZW1wbGF0ZXM6IHRzID0gdGVtcGxhdGVzIH0gPSB7fSkgewog
ICAgIGVudW06IGVudW1fLAogICAgICJlbnVtLXZhbHVlIjogZW51bV92YWx1ZSwKICAgICBpdGVy
YWJsZTogaXRlcmFibGVfbGlrZSwKLSAgICBsZWdhY3lpdGVyYWJsZTogaXRlcmFibGVfbGlrZSwK
ICAgICBtYXBsaWtlOiBpdGVyYWJsZV9saWtlLAogICAgIHNldGxpa2U6IGl0ZXJhYmxlX2xpa2Us
CiAgICAgImNhbGxiYWNrIGludGVyZmFjZSI6IGNvbnRhaW5lciwKQEAgLTI3NDEsNyArMjgzNyw3
IEBAIGZ1bmN0aW9uKiBjaGVja0R1cGxpY2F0ZWROYW1lcyh7IHVuaXF1ZSwgZHVwbGljYXRlcyB9
KSB7CiAgIGZvciAoY29uc3QgZHVwIG9mIGR1cGxpY2F0ZXMpIHsKICAgICBjb25zdCB7IG5hbWUg
fSA9IGR1cDsKICAgICBjb25zdCBtZXNzYWdlID0gYFRoZSBuYW1lICIke25hbWV9IiBvZiB0eXBl
ICIke3VuaXF1ZS5nZXQobmFtZSkudHlwZX0iIHdhcyBhbHJlYWR5IHNlZW5gOwotICAgIHlpZWxk
IE9iamVjdChfZXJyb3JfanNfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX1sidmFsaWRhdGlv
bkVycm9yIl0pKGR1cC5zb3VyY2UsIGR1cC50b2tlbnMubmFtZSwgZHVwLCBtZXNzYWdlKTsKKyAg
ICB5aWVsZCBPYmplY3QoX2Vycm9yX2pzX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19bInZh
bGlkYXRpb25FcnJvciJdKShkdXAudG9rZW5zLm5hbWUsIGR1cCwgIm5vLWR1cGxpY2F0ZSIsIG1l
c3NhZ2UpOwogICB9CiB9CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvbGliL3dyaXRlci5qcyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
bGliL3dyaXRlci5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjMwOTdhNmY4YTc0
ZTRjZGVhZjcxZjY4OGVjZTIwNDIzYzIzOGEwZC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL2xpYi93cml0ZXIuanMKKysrIC9kZXYvbnVsbApAQCAt
MSwyMjEgKzAsMCBAQAotInVzZSBzdHJpY3QiOwotCi0oKCkgPT4gewotICBmdW5jdGlvbiB3cml0
ZShhc3QsIG9wdCA9IHt9KSB7Ci0gICAgY29uc3Qgbm9vcCA9IHN0ciA9PiBzdHI7Ci0gICAgY29u
c3Qgb3B0TmFtZXMgPSAidHlwZSIuc3BsaXQoIiAiKTsKLSAgICBjb25zdCBjb250ZXh0ID0gW107
Ci0gICAgZm9yIChjb25zdCBvIG9mIG9wdE5hbWVzKSB7Ci0gICAgICBpZiAoIW9wdFtvXSkgb3B0
W29dID0gbm9vcDsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBsaXRlcmFsKGl0KSB7Ci0gICAgICBy
ZXR1cm4gaXQudmFsdWU7Ci0gICAgfTsKLSAgICBmdW5jdGlvbiB0eXBlKGl0KSB7Ci0gICAgICBp
ZiAodHlwZW9mIGl0ID09PSAic3RyaW5nIikgcmV0dXJuIG9wdC50eXBlKGl0KTsgLy8gWFhYIHNo
b3VsZCBtYWludGFpbiBzb21lIGNvbnRleHQKLSAgICAgIGxldCByZXQgPSBleHRlbmRlZF9hdHRy
aWJ1dGVzKGl0LmV4dEF0dHJzKTsKLSAgICAgIGlmIChpdC51bmlvbikgcmV0ICs9IGAoJHtpdC5p
ZGxUeXBlLm1hcCh0eXBlKS5qb2luKCIgb3IgIil9KWA7Ci0gICAgICBlbHNlIHsKLSAgICAgICAg
aWYgKGl0LmdlbmVyaWMpIHJldCArPSBgJHtpdC5nZW5lcmljfTxgOwotICAgICAgICBpZiAoQXJy
YXkuaXNBcnJheShpdC5pZGxUeXBlKSkgcmV0ICs9IGl0LmlkbFR5cGUubWFwKHR5cGUpLmpvaW4o
IiwgIik7Ci0gICAgICAgIGVsc2UgcmV0ICs9IHR5cGUoaXQuaWRsVHlwZSk7Ci0gICAgICAgIGlm
IChpdC5nZW5lcmljKSByZXQgKz0gIj4iOwotICAgICAgfQotICAgICAgaWYgKGl0Lm51bGxhYmxl
KSByZXQgKz0gIj8iOwotCi0gICAgICByZXR1cm4gcmV0OwotICAgIH07Ci0gICAgZnVuY3Rpb24g
Y29uc3RfdmFsdWUoaXQpIHsKLSAgICAgIGNvbnN0IHRwID0gaXQudHlwZTsKLSAgICAgIGlmICh0
cCA9PT0gImJvb2xlYW4iKSByZXR1cm4gaXQudmFsdWUgPyAidHJ1ZSIgOiAiZmFsc2UiOwotICAg
ICAgZWxzZSBpZiAodHAgPT09ICJudWxsIikgcmV0dXJuICJudWxsIjsKLSAgICAgIGVsc2UgaWYg
KHRwID09PSAiSW5maW5pdHkiKSByZXR1cm4gKGl0Lm5lZ2F0aXZlID8gIi0iIDogIiIpICsgIklu
ZmluaXR5IjsKLSAgICAgIGVsc2UgaWYgKHRwID09PSAiTmFOIikgcmV0dXJuICJOYU4iOwotICAg
ICAgZWxzZSBpZiAodHAgPT09ICJudW1iZXIiKSByZXR1cm4gaXQudmFsdWU7Ci0gICAgICBlbHNl
IGlmICh0cCA9PT0gInNlcXVlbmNlIikgcmV0dXJuICJbXSI7Ci0gICAgICBlbHNlIHJldHVybiBg
IiR7aXQudmFsdWV9ImA7Ci0gICAgfTsKLSAgICBmdW5jdGlvbiBhcmd1bWVudChhcmcpIHsKLSAg
ICAgIGxldCByZXQgPSBleHRlbmRlZF9hdHRyaWJ1dGVzKGFyZy5leHRBdHRycyk7Ci0gICAgICBp
ZiAoYXJnLm9wdGlvbmFsKSByZXQgKz0gIm9wdGlvbmFsICI7Ci0gICAgICByZXQgKz0gdHlwZShh
cmcuaWRsVHlwZSk7Ci0gICAgICBpZiAoYXJnLnZhcmlhZGljKSByZXQgKz0gIi4uLiI7Ci0gICAg
ICByZXQgKz0gYCAke2FyZy5lc2NhcGVkTmFtZX1gOwotICAgICAgaWYgKGFyZy5kZWZhdWx0KSBy
ZXQgKz0gYCA9ICR7Y29uc3RfdmFsdWUoYXJnLmRlZmF1bHQpfWA7Ci0gICAgICByZXR1cm4gcmV0
OwotICAgIH07Ci0gICAgZnVuY3Rpb24gbWFrZV9leHRfYXQoaXQpIHsKLSAgICAgIGNvbnRleHQu
dW5zaGlmdChpdCk7Ci0gICAgICBsZXQgcmV0ID0gaXQubmFtZTsKLSAgICAgIGlmIChpdC5yaHMp
IHsKLSAgICAgICAgaWYgKGl0LnJocy50eXBlID09PSAiaWRlbnRpZmllci1saXN0IikgcmV0ICs9
IGA9KCR7aXQucmhzLnZhbHVlLmpvaW4oIiwiKX0pYDsKLSAgICAgICAgZWxzZSByZXQgKz0gYD0k
e2l0LnJocy52YWx1ZX1gOwotICAgICAgfQotICAgICAgaWYgKGl0LmFyZ3VtZW50cykgcmV0ICs9
IGAoJHtpdC5hcmd1bWVudHMubGVuZ3RoID8gaXQuYXJndW1lbnRzLm1hcChhcmd1bWVudCkuam9p
bigiLCIpIDogIiJ9KWA7Ci0gICAgICBjb250ZXh0LnNoaWZ0KCk7IC8vIFhYWCBuZWVkIHRvIGFk
ZCBtb3JlIGNvbnRleHRzLCBidXQgbm90IG1vcmUgdGhhbiBuZWVkZWQgZm9yIFJlU3BlYwotICAg
ICAgcmV0dXJuIHJldDsKLSAgICB9OwotICAgIGZ1bmN0aW9uIGV4dGVuZGVkX2F0dHJpYnV0ZXMo
ZWF0cykgewotICAgICAgaWYgKCFlYXRzIHx8ICFlYXRzLmxlbmd0aCkgcmV0dXJuICIiOwotICAg
ICAgcmV0dXJuIGBbJHtlYXRzLm1hcChtYWtlX2V4dF9hdCkuam9pbigiLCAiKX1dYDsKLSAgICB9
OwotCi0gICAgY29uc3QgbW9kaWZpZXJzID0gImdldHRlciBzZXR0ZXIgZGVsZXRlciBzdHJpbmdp
ZmllciBzdGF0aWMiLnNwbGl0KCIgIik7Ci0gICAgZnVuY3Rpb24gb3BlcmF0aW9uKGl0KSB7Ci0g
ICAgICBsZXQgcmV0ID0gZXh0ZW5kZWRfYXR0cmlidXRlcyhpdC5leHRBdHRycyk7Ci0gICAgICBp
ZiAoaXQuc3RyaW5naWZpZXIgJiYgIWl0LmlkbFR5cGUpIHJldHVybiAic3RyaW5naWZpZXI7IjsK
LSAgICAgIGZvciAoY29uc3QgbW9kIG9mIG1vZGlmaWVycykgewotICAgICAgICBpZiAoaXRbbW9k
XSkgcmV0ICs9IG1vZCArICIgIjsKLSAgICAgIH0KLSAgICAgIHJldCArPSB0eXBlKGl0LmlkbFR5
cGUpICsgIiAiOwotICAgICAgaWYgKGl0Lm5hbWUpIHJldCArPSBpdC5lc2NhcGVkTmFtZTsKLSAg
ICAgIHJldCArPSBgKCR7aXQuYXJndW1lbnRzLm1hcChhcmd1bWVudCkuam9pbigiLCIpfSk7YDsK
LSAgICAgIHJldHVybiByZXQ7Ci0gICAgfTsKLQotICAgIGZ1bmN0aW9uIGF0dHJpYnV0ZShpdCkg
ewotICAgICAgbGV0IHJldCA9IGV4dGVuZGVkX2F0dHJpYnV0ZXMoaXQuZXh0QXR0cnMpOwotICAg
ICAgaWYgKGl0LnN0YXRpYykgcmV0ICs9ICJzdGF0aWMgIjsKLSAgICAgIGlmIChpdC5zdHJpbmdp
ZmllcikgcmV0ICs9ICJzdHJpbmdpZmllciAiOwotICAgICAgaWYgKGl0LmluaGVyaXQpIHJldCAr
PSAiaW5oZXJpdCAiOwotICAgICAgaWYgKGl0LnJlYWRvbmx5KSByZXQgKz0gInJlYWRvbmx5ICI7
Ci0gICAgICByZXQgKz0gYGF0dHJpYnV0ZSAke3R5cGUoaXQuaWRsVHlwZSl9ICR7aXQuZXNjYXBl
ZE5hbWV9O2A7Ci0gICAgICByZXR1cm4gcmV0OwotICAgIH07Ci0KLSAgICBmdW5jdGlvbiBpbnRl
cmZhY2VfKGl0KSB7Ci0gICAgICBsZXQgcmV0ID0gZXh0ZW5kZWRfYXR0cmlidXRlcyhpdC5leHRB
dHRycyk7Ci0gICAgICBpZiAoaXQucGFydGlhbCkgcmV0ICs9ICJwYXJ0aWFsICI7Ci0gICAgICBy
ZXQgKz0gYGludGVyZmFjZSAke2l0Lm5hbWV9IGA7Ci0gICAgICBpZiAoaXQuaW5oZXJpdGFuY2Up
IHJldCArPSBgOiAke2l0LmluaGVyaXRhbmNlfSBgOwotICAgICAgcmV0ICs9IGB7JHtpdGVyYXRl
KGl0Lm1lbWJlcnMpfX07YDsKLSAgICAgIHJldHVybiByZXQ7Ci0gICAgfTsKLQotICAgIGZ1bmN0
aW9uIGludGVyZmFjZV9taXhpbihpdCkgewotICAgICAgbGV0IHJldCA9IGV4dGVuZGVkX2F0dHJp
YnV0ZXMoaXQuZXh0QXR0cnMpOwotICAgICAgaWYgKGl0LnBhcnRpYWwpIHJldCArPSAicGFydGlh
bCAiOwotICAgICAgcmV0ICs9IGBpbnRlcmZhY2UgbWl4aW4gJHtpdC5uYW1lfSBgOwotICAgICAg
cmV0ICs9IGB7JHtpdGVyYXRlKGl0Lm1lbWJlcnMpfX07YDsKLSAgICAgIHJldHVybiByZXQ7Ci0g
ICAgfQotCi0gICAgZnVuY3Rpb24gbmFtZXNwYWNlKGl0KSB7Ci0gICAgICBsZXQgcmV0ID0gZXh0
ZW5kZWRfYXR0cmlidXRlcyhpdC5leHRBdHRycyk7Ci0gICAgICBpZiAoaXQucGFydGlhbCkgcmV0
ICs9ICJwYXJ0aWFsICI7Ci0gICAgICByZXQgKz0gYG5hbWVzcGFjZSAke2l0Lm5hbWV9IGA7Ci0g
ICAgICByZXQgKz0gYHske2l0ZXJhdGUoaXQubWVtYmVycyl9fTtgOwotICAgICAgcmV0dXJuIHJl
dDsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBkaWN0aW9uYXJ5KGl0KSB7Ci0gICAgICBsZXQgcmV0
ID0gZXh0ZW5kZWRfYXR0cmlidXRlcyhpdC5leHRBdHRycyk7Ci0gICAgICBpZiAoaXQucGFydGlh
bCkgcmV0ICs9ICJwYXJ0aWFsICI7Ci0gICAgICByZXQgKz0gYGRpY3Rpb25hcnkgJHtpdC5uYW1l
fSBgOwotICAgICAgaWYgKGl0LmluaGVyaXRhbmNlKSByZXQgKz0gYDogJHtpdC5pbmhlcml0YW5j
ZX0gYDsKLSAgICAgIHJldCArPSBgeyR7aXRlcmF0ZShpdC5tZW1iZXJzKX19O2A7Ci0gICAgICBy
ZXR1cm4gcmV0OwotICAgIH07Ci0gICAgZnVuY3Rpb24gZmllbGQoaXQpIHsKLSAgICAgIGxldCBy
ZXQgPSBleHRlbmRlZF9hdHRyaWJ1dGVzKGl0LmV4dEF0dHJzKTsKLSAgICAgIGlmIChpdC5yZXF1
aXJlZCkgcmV0ICs9ICJyZXF1aXJlZCAiOwotICAgICAgcmV0ICs9IGAke3R5cGUoaXQuaWRsVHlw
ZSl9ICR7aXQuZXNjYXBlZE5hbWV9YDsKLSAgICAgIGlmIChpdC5kZWZhdWx0KSByZXQgKz0gYCA9
ICR7Y29uc3RfdmFsdWUoaXQuZGVmYXVsdCl9YDsKLSAgICAgIHJldCArPSAiOyI7Ci0gICAgICBy
ZXR1cm4gcmV0OwotICAgIH07Ci0gICAgZnVuY3Rpb24gY29uc3RfKGl0KSB7Ci0gICAgICBjb25z
dCByZXQgPSBleHRlbmRlZF9hdHRyaWJ1dGVzKGl0LmV4dEF0dHJzKTsKLSAgICAgIHJldHVybiBg
JHtyZXR9Y29uc3QgJHt0eXBlKGl0LmlkbFR5cGUpfSR7aXQubnVsbGFibGUgPyAiPyIgOiAiIn0g
JHtpdC5uYW1lfSA9ICR7Y29uc3RfdmFsdWUoaXQudmFsdWUpfTtgOwotICAgIH07Ci0gICAgZnVu
Y3Rpb24gdHlwZWRlZihpdCkgewotICAgICAgbGV0IHJldCA9IGV4dGVuZGVkX2F0dHJpYnV0ZXMo
aXQuZXh0QXR0cnMpOwotICAgICAgcmV0ICs9IGB0eXBlZGVmICR7ZXh0ZW5kZWRfYXR0cmlidXRl
cyhpdC50eXBlRXh0QXR0cnMpfWA7Ci0gICAgICByZXR1cm4gYCR7cmV0fSR7dHlwZShpdC5pZGxU
eXBlKX0gJHtpdC5uYW1lfTtgOwotICAgIH07Ci0gICAgZnVuY3Rpb24gaW1wbGVtZW50c18oaXQp
IHsKLSAgICAgIGNvbnN0IHJldCA9IGV4dGVuZGVkX2F0dHJpYnV0ZXMoaXQuZXh0QXR0cnMpOwot
ICAgICAgcmV0dXJuIGAke3JldH0ke2l0LnRhcmdldH0gaW1wbGVtZW50cyAke2l0LmltcGxlbWVu
dHN9O2A7Ci0gICAgfTsKLSAgICBmdW5jdGlvbiBpbmNsdWRlcyhpdCkgewotICAgICAgY29uc3Qg
cmV0ID0gZXh0ZW5kZWRfYXR0cmlidXRlcyhpdC5leHRBdHRycyk7Ci0gICAgICByZXR1cm4gYCR7
cmV0fSR7aXQudGFyZ2V0fSBpbmNsdWRlcyAke2l0LmluY2x1ZGVzfTtgOwotICAgIH07Ci0gICAg
ZnVuY3Rpb24gY2FsbGJhY2soaXQpIHsKLSAgICAgIGNvbnN0IHJldCA9IGV4dGVuZGVkX2F0dHJp
YnV0ZXMoaXQuZXh0QXR0cnMpOwotICAgICAgcmV0dXJuIGAke3JldH1jYWxsYmFjayAke2l0Lm5h
bWV9ID0gJHt0eXBlKGl0LmlkbFR5cGUpfSgke2l0LmFyZ3VtZW50cy5tYXAoYXJndW1lbnQpLmpv
aW4oIiwiKX0pO2A7Ci0gICAgfTsKLSAgICBmdW5jdGlvbiBlbnVtXyhpdCkgewotICAgICAgbGV0
IHJldCA9IGV4dGVuZGVkX2F0dHJpYnV0ZXMoaXQuZXh0QXR0cnMpOwotICAgICAgcmV0ICs9IGBl
bnVtICR7aXQubmFtZX0ge2A7Ci0gICAgICBmb3IgKGNvbnN0IHYgb2YgaXQudmFsdWVzKSB7Ci0g
ICAgICAgIHJldCArPSBgIiR7di52YWx1ZX0iLGA7Ci0gICAgICB9Ci0gICAgICByZXR1cm4gcmV0
ICsgIn07IjsKLSAgICB9OwotICAgIGZ1bmN0aW9uIGl0ZXJhYmxlKGl0KSB7Ci0gICAgICByZXR1
cm4gYGl0ZXJhYmxlPCR7QXJyYXkuaXNBcnJheShpdC5pZGxUeXBlKSA/IGl0LmlkbFR5cGUubWFw
KHR5cGUpLmpvaW4oIiwgIikgOiB0eXBlKGl0LmlkbFR5cGUpfT47YDsKLSAgICB9OwotICAgIGZ1
bmN0aW9uIGxlZ2FjeWl0ZXJhYmxlKGl0KSB7Ci0gICAgICByZXR1cm4gYGxlZ2FjeWl0ZXJhYmxl
PCR7QXJyYXkuaXNBcnJheShpdC5pZGxUeXBlKSA/IGl0LmlkbFR5cGUubWFwKHR5cGUpLmpvaW4o
IiwgIikgOiB0eXBlKGl0LmlkbFR5cGUpfT47YDsKLSAgICB9OwotICAgIGZ1bmN0aW9uIG1hcGxp
a2UoaXQpIHsKLSAgICAgIHJldHVybiBgJHtpdC5yZWFkb25seSA/ICJyZWFkb25seSAiIDogIiJ9
bWFwbGlrZTwke2l0LmlkbFR5cGUubWFwKHR5cGUpLmpvaW4oIiwgIil9PjtgOwotICAgIH07Ci0g
ICAgZnVuY3Rpb24gc2V0bGlrZShpdCkgewotICAgICAgcmV0dXJuIGAke2l0LnJlYWRvbmx5ID8g
InJlYWRvbmx5ICIgOiAiIn1zZXRsaWtlPCR7dHlwZShpdC5pZGxUeXBlWzBdKX0+O2A7Ci0gICAg
fTsKLSAgICBmdW5jdGlvbiBjYWxsYmFja0ludGVyZmFjZShpdCkgewotICAgICAgcmV0dXJuIGBj
YWxsYmFjayAke2ludGVyZmFjZV8oaXQpfWA7Ci0gICAgfTsKLQotICAgIGNvbnN0IHRhYmxlID0g
ewotICAgICAgaW50ZXJmYWNlOiBpbnRlcmZhY2VfLAotICAgICAgImludGVyZmFjZSBtaXhpbiI6
IGludGVyZmFjZV9taXhpbiwKLSAgICAgIG5hbWVzcGFjZSwKLSAgICAgIG9wZXJhdGlvbiwKLSAg
ICAgIGF0dHJpYnV0ZSwKLSAgICAgIGRpY3Rpb25hcnksCi0gICAgICBmaWVsZCwKLSAgICAgIGNv
bnN0OiBjb25zdF8sCi0gICAgICB0eXBlZGVmLAotICAgICAgaW1wbGVtZW50czogaW1wbGVtZW50
c18sCi0gICAgICBpbmNsdWRlcywKLSAgICAgIGNhbGxiYWNrLAotICAgICAgZW51bTogZW51bV8s
Ci0gICAgICBpdGVyYWJsZSwKLSAgICAgIGxlZ2FjeWl0ZXJhYmxlLAotICAgICAgbWFwbGlrZSwK
LSAgICAgIHNldGxpa2UsCi0gICAgICAiY2FsbGJhY2sgaW50ZXJmYWNlIjogY2FsbGJhY2tJbnRl
cmZhY2UKLSAgICB9OwotICAgIGZ1bmN0aW9uIGRpc3BhdGNoKGl0KSB7Ci0gICAgICBjb25zdCBk
aXNwYXRjaGVyID0gdGFibGVbaXQudHlwZV07Ci0gICAgICBpZiAoIWRpc3BhdGNoZXIpIHsKLSAg
ICAgICAgdGhyb3cgbmV3IEVycm9yKGBUeXBlICIke2l0LnR5cGV9IiBpcyB1bnN1cHBvcnRlZGAp
Ci0gICAgICB9Ci0gICAgICByZXR1cm4gdGFibGVbaXQudHlwZV0oaXQpOwotICAgIH07Ci0gICAg
ZnVuY3Rpb24gaXRlcmF0ZSh0aGluZ3MpIHsKLSAgICAgIGlmICghdGhpbmdzKSByZXR1cm47Ci0g
ICAgICBsZXQgcmV0ID0gIiI7Ci0gICAgICBmb3IgKGNvbnN0IHRoaW5nIG9mIHRoaW5ncykgcmV0
ICs9IGRpc3BhdGNoKHRoaW5nKTsKLSAgICAgIHJldHVybiByZXQ7Ci0gICAgfTsKLSAgICByZXR1
cm4gaXRlcmF0ZShhc3QpOwotICB9OwotCi0KLSAgY29uc3Qgb2JqID0gewotICAgIHdyaXRlCi0g
IH07Ci0KLSAgaWYgKHR5cGVvZiBtb2R1bGUgIT09ICd1bmRlZmluZWQnICYmIHR5cGVvZiBtb2R1
bGUuZXhwb3J0cyAhPT0gJ3VuZGVmaW5lZCcpIHsKLSAgICBtb2R1bGUuZXhwb3J0cyA9IG9iajsK
LSAgfSBlbHNlIGlmICh0eXBlb2YgZGVmaW5lID09PSAnZnVuY3Rpb24nICYmIGRlZmluZS5hbWQp
IHsKLSAgICBkZWZpbmUoW10sICgpID0+IG9iaik7Ci0gIH0gZWxzZSB7Ci0gICAgKHNlbGYgfHwg
d2luZG93KS5XZWJJREwyV3JpdGVyID0gb2JqOwotICB9Ci19KSgpOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi9wYWNrYWdlLWxvY2suanNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvcGFja2FnZS1sb2NrLmpzb24KZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IGIwNTgxMDM3ZmU5NDM0MjNmNGYwOWJjZWFiYmVmMGY4ODI4ZDZm
YzMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi9w
YWNrYWdlLWxvY2suanNvbgorKysgL2Rldi9udWxsCkBAIC0xLDcwMCArMCwwIEBACi17Ci0gICJu
YW1lIjogIndlYmlkbDIiLAotICAidmVyc2lvbiI6ICIxMy4wLjMiLAotICAibG9ja2ZpbGVWZXJz
aW9uIjogMSwKLSAgInJlcXVpcmVzIjogdHJ1ZSwKLSAgImRlcGVuZGVuY2llcyI6IHsKLSAgICAi
QGJhYmVsL2NvZGUtZnJhbWUiOiB7Ci0gICAgICAidmVyc2lvbiI6ICI3LjAuMC1iZXRhLjQwIiwK
LSAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9AYmFiZWwvY29k
ZS1mcmFtZS8tL2NvZGUtZnJhbWUtNy4wLjAtYmV0YS40MC50Z3oiLAotICAgICAgImludGVncml0
eSI6ICJzaGE1MTItZVZYUVNidS9SaW1VNk9LY0syL2dESlZURmN4WEpJNHNIYklxdzJtaHdNWmVR
MmFzLzhBaFM5REdrRURvSE1CQk5KWjVCMFVTNjNsRjU2eCtLRGN4aUE9PSIsCi0gICAgICAiZGV2
IjogdHJ1ZSwKLSAgICAgICJyZXF1aXJlcyI6IHsKLSAgICAgICAgIkBiYWJlbC9oaWdobGlnaHQi
OiAiNy4wLjAtYmV0YS40MCIKLSAgICAgIH0KLSAgICB9LAotICAgICJAYmFiZWwvaGlnaGxpZ2h0
IjogewotICAgICAgInZlcnNpb24iOiAiNy4wLjAtYmV0YS40MCIsCi0gICAgICAicmVzb2x2ZWQi
OiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvQGJhYmVsL2hpZ2hsaWdodC8tL2hpZ2hsaWdo
dC03LjAuMC1iZXRhLjQwLnRneiIsCi0gICAgICAiaW50ZWdyaXR5IjogInNoYTUxMi1tT2hoVHJ6
aWVWNlZPN29kZ3pGR0ZhcGl3UkswZWk4UlpSaGZ6SGhiNmNwWDNRTThYWHVDTFhXak44cUJCN0pS
ZURkVVI4MFYzTEZmRnJHVVlldmhOZz09IiwKLSAgICAgICJkZXYiOiB0cnVlLAotICAgICAgInJl
cXVpcmVzIjogewotICAgICAgICAiY2hhbGsiOiAiXjIuMC4wIiwKLSAgICAgICAgImVzdXRpbHMi
OiAiXjIuMC4yIiwKLSAgICAgICAgImpzLXRva2VucyI6ICJeMy4wLjAiCi0gICAgICB9Ci0gICAg
fSwKLSAgICAiYW5zaS1yZWdleCI6IHsKLSAgICAgICJ2ZXJzaW9uIjogIjMuMC4wIiwKLSAgICAg
ICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9hbnNpLXJlZ2V4Ly0vYW5z
aS1yZWdleC0zLjAuMC50Z3oiLAotICAgICAgImludGVncml0eSI6ICJzaGExLTdRTVh3eUlHVDNs
R2JBS1dhOTIyQmFzMzJaZz0iLAotICAgICAgImRldiI6IHRydWUKLSAgICB9LAotICAgICJhbnNp
LXN0eWxlcyI6IHsKLSAgICAgICJ2ZXJzaW9uIjogIjMuMi4xIiwKLSAgICAgICJyZXNvbHZlZCI6
ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9hbnNpLXN0eWxlcy8tL2Fuc2ktc3R5bGVzLTMu
Mi4xLnRneiIsCi0gICAgICAiaW50ZWdyaXR5IjogInNoYTUxMi1WVDBaSTZrWlJkVGg4WXlKdzNT
TWJZbS91K05xZnNBeEVwV08wUGY5c3E4L2U5NFd4eE9wUEt4OUZSMUZseUN0T1ZETk9RKzhudGxx
RnhpUmMrcjVxQT09IiwKLSAgICAgICJkZXYiOiB0cnVlLAotICAgICAgInJlcXVpcmVzIjogewot
ICAgICAgICAiY29sb3ItY29udmVydCI6ICJeMS45LjAiCi0gICAgICB9Ci0gICAgfSwKLSAgICAi
YXJyLWRpZmYiOiB7Ci0gICAgICAidmVyc2lvbiI6ICIyLjAuMCIsCi0gICAgICAicmVzb2x2ZWQi
OiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvYXJyLWRpZmYvLS9hcnItZGlmZi0yLjAuMC50
Z3oiLAotICAgICAgImludGVncml0eSI6ICJzaGExLWp6dUNmNVZhaTlacGFYNUtRbGFzUE9yalZz
OD0iLAotICAgICAgImRldiI6IHRydWUsCi0gICAgICAicmVxdWlyZXMiOiB7Ci0gICAgICAgICJh
cnItZmxhdHRlbiI6ICJeMS4wLjEiCi0gICAgICB9Ci0gICAgfSwKLSAgICAiYXJyLWZsYXR0ZW4i
OiB7Ci0gICAgICAidmVyc2lvbiI6ICIxLjEuMCIsCi0gICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6
Ly9yZWdpc3RyeS5ucG1qcy5vcmcvYXJyLWZsYXR0ZW4vLS9hcnItZmxhdHRlbi0xLjEuMC50Z3oi
LAotICAgICAgImludGVncml0eSI6ICJzaGE1MTItTDNoS1Y1Ui9wNW84MVI3TzAySUdud3BEbWtw
NkU5ODJYaHRidXdTZTNPNHFPdE1NTXRvZGljQVNBMUNueTJVK2FDWGNOcG1sK200ZFBzdnNKM2ph
dGc9PSIsCi0gICAgICAiZGV2IjogdHJ1ZQotICAgIH0sCi0gICAgImFycmF5LXVuaXF1ZSI6IHsK
LSAgICAgICJ2ZXJzaW9uIjogIjAuMi4xIiwKLSAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3Jl
Z2lzdHJ5Lm5wbWpzLm9yZy9hcnJheS11bmlxdWUvLS9hcnJheS11bmlxdWUtMC4yLjEudGd6IiwK
LSAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1vZGw4eXZ5OEppWE1jUHJjNnphbERGaXdHbE09IiwK
LSAgICAgICJkZXYiOiB0cnVlCi0gICAgfSwKLSAgICAiYmFsYW5jZWQtbWF0Y2giOiB7Ci0gICAg
ICAidmVyc2lvbiI6ICIxLjAuMCIsCi0gICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3Ry
eS5ucG1qcy5vcmcvYmFsYW5jZWQtbWF0Y2gvLS9iYWxhbmNlZC1tYXRjaC0xLjAuMC50Z3oiLAot
ICAgICAgImludGVncml0eSI6ICJzaGExLWliVFJtYXNyN2tuZUZrNmdLNG5PUmkxeHQyYz0iLAot
ICAgICAgImRldiI6IHRydWUKLSAgICB9LAotICAgICJicmFjZS1leHBhbnNpb24iOiB7Ci0gICAg
ICAidmVyc2lvbiI6ICIxLjEuMTEiLAotICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0
cnkubnBtanMub3JnL2JyYWNlLWV4cGFuc2lvbi8tL2JyYWNlLWV4cGFuc2lvbi0xLjEuMTEudGd6
IiwKLSAgICAgICJpbnRlZ3JpdHkiOiAic2hhNTEyLWlDdVBIREZnckhYN0gydkVJLzV4cHowN3pT
SEIwMFRwdWdxaG1ZdFZtTU82NTE4bUN1Uk1vT1lGbGRFQmwwZzE4N3Vmb3pkYUhnV0tjWUZiNjFx
R2lBPT0iLAotICAgICAgImRldiI6IHRydWUsCi0gICAgICAicmVxdWlyZXMiOiB7Ci0gICAgICAg
ICJiYWxhbmNlZC1tYXRjaCI6ICJeMS4wLjAiLAotICAgICAgICAiY29uY2F0LW1hcCI6ICIwLjAu
MSIKLSAgICAgIH0KLSAgICB9LAotICAgICJicmFjZXMiOiB7Ci0gICAgICAidmVyc2lvbiI6ICIx
LjguNSIsCi0gICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvYnJh
Y2VzLy0vYnJhY2VzLTEuOC41LnRneiIsCi0gICAgICAiaW50ZWdyaXR5IjogInNoYTEtdW5lV0xo
TGYrV25XdDJjUjZSUzNONFY3OXFjPSIsCi0gICAgICAiZGV2IjogdHJ1ZSwKLSAgICAgICJyZXF1
aXJlcyI6IHsKLSAgICAgICAgImV4cGFuZC1yYW5nZSI6ICJeMS44LjEiLAotICAgICAgICAicHJl
c2VydmUiOiAiXjAuMi4wIiwKLSAgICAgICAgInJlcGVhdC1lbGVtZW50IjogIl4xLjEuMiIKLSAg
ICAgIH0KLSAgICB9LAotICAgICJicm93c2VyLXN0ZG91dCI6IHsKLSAgICAgICJ2ZXJzaW9uIjog
IjEuMy4xIiwKLSAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9i
cm93c2VyLXN0ZG91dC8tL2Jyb3dzZXItc3Rkb3V0LTEuMy4xLnRneiIsCi0gICAgICAiaW50ZWdy
aXR5IjogInNoYTUxMi1xaEFWSTErQXYyWDdxZWxPZkFJWXdYT05vb2Q2WGxaRS9mWGFCU21XL1Q1
U3pMQW1DZ3ppK2VpV0U3ZlV2YkhhZU5CUUgxM1VmdGpwWHhzZkxrTXBndz09IiwKLSAgICAgICJk
ZXYiOiB0cnVlCi0gICAgfSwKLSAgICAiY2hhbGsiOiB7Ci0gICAgICAidmVyc2lvbiI6ICIyLjMu
MiIsCi0gICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvY2hhbGsv
LS9jaGFsay0yLjMuMi50Z3oiLAotICAgICAgImludGVncml0eSI6ICJzaGE1MTItWk00ajIvbGQv
WVpEYzNNYThQZ043Z3lBaytrSE1NTXl6TE5yeUNQR2hXcnNmQXVEVmV1aWQ1YnBSRlREZ01IOUpC
SzJsQTRkeXlBa2taWUYvV2NxRFE9PSIsCi0gICAgICAiZGV2IjogdHJ1ZSwKLSAgICAgICJyZXF1
aXJlcyI6IHsKLSAgICAgICAgImFuc2ktc3R5bGVzIjogIl4zLjIuMSIsCi0gICAgICAgICJlc2Nh
cGUtc3RyaW5nLXJlZ2V4cCI6ICJeMS4wLjUiLAotICAgICAgICAic3VwcG9ydHMtY29sb3IiOiAi
XjUuMy4wIgotICAgICAgfQotICAgIH0sCi0gICAgImNvbG9yLWNvbnZlcnQiOiB7Ci0gICAgICAi
dmVyc2lvbiI6ICIxLjkuMSIsCi0gICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5u
cG1qcy5vcmcvY29sb3ItY29udmVydC8tL2NvbG9yLWNvbnZlcnQtMS45LjEudGd6IiwKLSAgICAg
ICJpbnRlZ3JpdHkiOiAic2hhNTEyLW1qR2FuSWl3UUpza0NDMThyUFI2T21yWjZmbTJMYzdQZUdG
WXdDbXk1SjM0d0M2RjFQemRHTDZ4ZU1mbWdpY2ZZY05MR3VWRkEzV3pYdElEQ1FTWnhRPT0iLAot
ICAgICAgImRldiI6IHRydWUsCi0gICAgICAicmVxdWlyZXMiOiB7Ci0gICAgICAgICJjb2xvci1u
YW1lIjogIl4xLjEuMSIKLSAgICAgIH0KLSAgICB9LAotICAgICJjb2xvci1uYW1lIjogewotICAg
ICAgInZlcnNpb24iOiAiMS4xLjMiLAotICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0
cnkubnBtanMub3JnL2NvbG9yLW5hbWUvLS9jb2xvci1uYW1lLTEuMS4zLnRneiIsCi0gICAgICAi
aW50ZWdyaXR5IjogInNoYTEtcDlCVmk5aWNRdmVWM1VJeWozUUlNY3BUdkNVPSIsCi0gICAgICAi
ZGV2IjogdHJ1ZQotICAgIH0sCi0gICAgImNvbW1hbmRlciI6IHsKLSAgICAgICJ2ZXJzaW9uIjog
IjIuMTEuMCIsCi0gICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcv
Y29tbWFuZGVyLy0vY29tbWFuZGVyLTIuMTEuMC50Z3oiLAotICAgICAgImludGVncml0eSI6ICJz
aGE1MTItYjA1NTN1WUE1WUFFR2d5WUlHWVJPektRN1g1UkFxZWRrZmppWnh3aTBrTDFnM2JPYUJO
TlpmWWt6dC9DTDB1bWdENXdjOUplYzJGYkI5OENqa01SdlE9PSIsCi0gICAgICAiZGV2IjogdHJ1
ZQotICAgIH0sCi0gICAgImNvbmNhdC1tYXAiOiB7Ci0gICAgICAidmVyc2lvbiI6ICIwLjAuMSIs
Ci0gICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvY29uY2F0LW1h
cC8tL2NvbmNhdC1tYXAtMC4wLjEudGd6IiwKLSAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS0yS2xy
MTMvV2pmZDVPbk1EYWp1ZzFVQmRSM3M9IiwKLSAgICAgICJkZXYiOiB0cnVlCi0gICAgfSwKLSAg
ICAiZGVidWciOiB7Ci0gICAgICAidmVyc2lvbiI6ICIzLjEuMCIsCi0gICAgICAicmVzb2x2ZWQi
OiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvZGVidWcvLS9kZWJ1Zy0zLjEuMC50Z3oiLAot
ICAgICAgImludGVncml0eSI6ICJzaGE1MTItT1g4WHFQNy8xYTljcWt4WXcyeVhzczE1ZjI2TktX
QnBEWFFkMC91Sy9LUHFkUWh4YlBhOTk0aG56amNFMlZxUXBEc2xmNTU3MjNjS1BVT0dTbU1ZM2c9
PSIsCi0gICAgICAiZGV2IjogdHJ1ZSwKLSAgICAgICJyZXF1aXJlcyI6IHsKLSAgICAgICAgIm1z
IjogIjIuMC4wIgotICAgICAgfQotICAgIH0sCi0gICAgImRpZmYiOiB7Ci0gICAgICAidmVyc2lv
biI6ICIzLjUuMCIsCi0gICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5v
cmcvZGlmZi8tL2RpZmYtMy41LjAudGd6IiwKLSAgICAgICJpbnRlZ3JpdHkiOiAic2hhNTEyLUE0
NnF0RmdkK2c3cERaaW5wbndpUkp0eGJDMWhwZ2YwdXpQM2lHODlzY0hrMEFVQzdBMVRHeGY1T2lp
T1V2L0pNWlI4R090OGhMOTAwaFYwYk95NXhBPT0iLAotICAgICAgImRldiI6IHRydWUKLSAgICB9
LAotICAgICJkaWZmLW1hdGNoLXBhdGNoIjogewotICAgICAgInZlcnNpb24iOiAiMS4wLjAiLAot
ICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2RpZmYtbWF0Y2gt
cGF0Y2gvLS9kaWZmLW1hdGNoLXBhdGNoLTEuMC4wLnRneiIsCi0gICAgICAiaW50ZWdyaXR5Ijog
InNoYTEtSE1QSU9ra05aL2xka2VPZmF0SHk0SWEyTUVnPSIsCi0gICAgICAiZGV2IjogdHJ1ZQot
ICAgIH0sCi0gICAgImVzY2FwZS1zdHJpbmctcmVnZXhwIjogewotICAgICAgInZlcnNpb24iOiAi
MS4wLjUiLAotICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2Vz
Y2FwZS1zdHJpbmctcmVnZXhwLy0vZXNjYXBlLXN0cmluZy1yZWdleHAtMS4wLjUudGd6IiwKLSAg
ICAgICJpbnRlZ3JpdHkiOiAic2hhMS1HMkhBVmlHUXFOLzJyanV5endJQXloTUxodFE9IiwKLSAg
ICAgICJkZXYiOiB0cnVlCi0gICAgfSwKLSAgICAiZXN1dGlscyI6IHsKLSAgICAgICJ2ZXJzaW9u
IjogIjIuMC4yIiwKLSAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9y
Zy9lc3V0aWxzLy0vZXN1dGlscy0yLjAuMi50Z3oiLAotICAgICAgImludGVncml0eSI6ICJzaGEx
LUNyOVBIS3BieXg5Nm5Zck1iZXBQcXFCTHJKcz0iLAotICAgICAgImRldiI6IHRydWUKLSAgICB9
LAotICAgICJleHBhbmQtYnJhY2tldHMiOiB7Ci0gICAgICAidmVyc2lvbiI6ICIwLjEuNSIsCi0g
ICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvZXhwYW5kLWJyYWNr
ZXRzLy0vZXhwYW5kLWJyYWNrZXRzLTAuMS41LnRneiIsCi0gICAgICAiaW50ZWdyaXR5IjogInNo
YTEtM3djb1RqUXFnSHpYTTZ4YTl5UVI1WUhSRjNzPSIsCi0gICAgICAiZGV2IjogdHJ1ZSwKLSAg
ICAgICJyZXF1aXJlcyI6IHsKLSAgICAgICAgImlzLXBvc2l4LWJyYWNrZXQiOiAiXjAuMS4wIgot
ICAgICAgfQotICAgIH0sCi0gICAgImV4cGFuZC1yYW5nZSI6IHsKLSAgICAgICJ2ZXJzaW9uIjog
IjEuOC4yIiwKLSAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9l
eHBhbmQtcmFuZ2UvLS9leHBhbmQtcmFuZ2UtMS44LjIudGd6IiwKLSAgICAgICJpbnRlZ3JpdHki
OiAic2hhMS1vcG52L1ROZjRuSWV1dWppVit4NVpFL0lVemM9IiwKLSAgICAgICJkZXYiOiB0cnVl
LAotICAgICAgInJlcXVpcmVzIjogewotICAgICAgICAiZmlsbC1yYW5nZSI6ICJeMi4xLjAiCi0g
ICAgICB9Ci0gICAgfSwKLSAgICAiZXhwZWN0IjogewotICAgICAgInZlcnNpb24iOiAiMjIuNC4w
IiwKLSAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9leHBlY3Qv
LS9leHBlY3QtMjIuNC4wLnRneiIsCi0gICAgICAiaW50ZWdyaXR5IjogInNoYTUxMi1GaXk4NjJq
VDNxYzcwaHdJSHd3Q0JOSVNtYXFCcmZXS0tydHF5TUo2aXdacis2S1h0Y25Ib2paRnRkNjNUUFJ2
Umw4RVFUSitZWFl5MmxLNi82dStIdz09IiwKLSAgICAgICJkZXYiOiB0cnVlLAotICAgICAgInJl
cXVpcmVzIjogewotICAgICAgICAiYW5zaS1zdHlsZXMiOiAiXjMuMi4wIiwKLSAgICAgICAgImpl
c3QtZGlmZiI6ICJeMjIuNC4wIiwKLSAgICAgICAgImplc3QtZ2V0LXR5cGUiOiAiXjIyLjEuMCIs
Ci0gICAgICAgICJqZXN0LW1hdGNoZXItdXRpbHMiOiAiXjIyLjQuMCIsCi0gICAgICAgICJqZXN0
LW1lc3NhZ2UtdXRpbCI6ICJeMjIuNC4wIiwKLSAgICAgICAgImplc3QtcmVnZXgtdXRpbCI6ICJe
MjIuMS4wIgotICAgICAgfQotICAgIH0sCi0gICAgImV4dGdsb2IiOiB7Ci0gICAgICAidmVyc2lv
biI6ICIwLjMuMiIsCi0gICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5v
cmcvZXh0Z2xvYi8tL2V4dGdsb2ItMC4zLjIudGd6IiwKLSAgICAgICJpbnRlZ3JpdHkiOiAic2hh
MS1MaGovUFM5SnF5ZGx6c2tDUHdFZHFvMkRTYUU9IiwKLSAgICAgICJkZXYiOiB0cnVlLAotICAg
ICAgInJlcXVpcmVzIjogewotICAgICAgICAiaXMtZXh0Z2xvYiI6ICJeMS4wLjAiCi0gICAgICB9
Ci0gICAgfSwKLSAgICAiZmlsZW5hbWUtcmVnZXgiOiB7Ci0gICAgICAidmVyc2lvbiI6ICIyLjAu
MSIsCi0gICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvZmlsZW5h
bWUtcmVnZXgvLS9maWxlbmFtZS1yZWdleC0yLjAuMS50Z3oiLAotICAgICAgImludGVncml0eSI6
ICJzaGExLXdjUzV2dVBnbHlYZHNRYTNYQjR3SCtMeGl5WT0iLAotICAgICAgImRldiI6IHRydWUK
LSAgICB9LAotICAgICJmaWxsLXJhbmdlIjogewotICAgICAgInZlcnNpb24iOiAiMi4yLjQiLAot
ICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2ZpbGwtcmFuZ2Uv
LS9maWxsLXJhbmdlLTIuMi40LnRneiIsCi0gICAgICAiaW50ZWdyaXR5IjogInNoYTUxMi1jbnJj
Q2JqMDErajJnVEc5MjFWWlBuSGJqbWRBZjhvUVYvaUdlVjJrWnhHU3lmWWpqVHlZNzlFcnNLMVdK
V01wdzZEYUFwRVg3MmJpbnFKRSsvZCs1UT09IiwKLSAgICAgICJkZXYiOiB0cnVlLAotICAgICAg
InJlcXVpcmVzIjogewotICAgICAgICAiaXMtbnVtYmVyIjogIl4yLjEuMCIsCi0gICAgICAgICJp
c29iamVjdCI6ICJeMi4wLjAiLAotICAgICAgICAicmFuZG9tYXRpYyI6ICJeMy4wLjAiLAotICAg
ICAgICAicmVwZWF0LWVsZW1lbnQiOiAiXjEuMS4yIiwKLSAgICAgICAgInJlcGVhdC1zdHJpbmci
OiAiXjEuNS4yIgotICAgICAgfQotICAgIH0sCi0gICAgImZvci1pbiI6IHsKLSAgICAgICJ2ZXJz
aW9uIjogIjEuMC4yIiwKLSAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpz
Lm9yZy9mb3ItaW4vLS9mb3ItaW4tMS4wLjIudGd6IiwKLSAgICAgICJpbnRlZ3JpdHkiOiAic2hh
MS1nUWFOS1ZxQlF1d0t4eWJHNGlBTU1QdHRYb0E9IiwKLSAgICAgICJkZXYiOiB0cnVlCi0gICAg
fSwKLSAgICAiZm9yLW93biI6IHsKLSAgICAgICJ2ZXJzaW9uIjogIjAuMS41IiwKLSAgICAgICJy
ZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9mb3Itb3duLy0vZm9yLW93bi0w
LjEuNS50Z3oiLAotICAgICAgImludGVncml0eSI6ICJzaGExLVVtWEdnYVR5bE5xNzhYeVZDYloy
T3FoRkVNND0iLAotICAgICAgImRldiI6IHRydWUsCi0gICAgICAicmVxdWlyZXMiOiB7Ci0gICAg
ICAgICJmb3ItaW4iOiAiXjEuMC4xIgotICAgICAgfQotICAgIH0sCi0gICAgImZzLnJlYWxwYXRo
IjogewotICAgICAgInZlcnNpb24iOiAiMS4wLjAiLAotICAgICAgInJlc29sdmVkIjogImh0dHBz
Oi8vcmVnaXN0cnkubnBtanMub3JnL2ZzLnJlYWxwYXRoLy0vZnMucmVhbHBhdGgtMS4wLjAudGd6
IiwKLSAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1GUVN0SlNNVmpLcEEyMG9uaDhzQlFSbVU2azg9
IiwKLSAgICAgICJkZXYiOiB0cnVlCi0gICAgfSwKLSAgICAiZ2xvYiI6IHsKLSAgICAgICJ2ZXJz
aW9uIjogIjcuMS4yIiwKLSAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpz
Lm9yZy9nbG9iLy0vZ2xvYi03LjEuMi50Z3oiLAotICAgICAgImludGVncml0eSI6ICJzaGE1MTIt
TUpUVWcxa2p1TGVRQ0orY2NFNFZwYTZrS1ZYa1BZSjJtT0NReVV1S0xjTFFzZHJNQ3BCUFVpOHFW
RTYrWXVhSmtvemVBOU51c1RBdzNoTHI4WGU1RVE9PSIsCi0gICAgICAiZGV2IjogdHJ1ZSwKLSAg
ICAgICJyZXF1aXJlcyI6IHsKLSAgICAgICAgImZzLnJlYWxwYXRoIjogIl4xLjAuMCIsCi0gICAg
ICAgICJpbmZsaWdodCI6ICJeMS4wLjQiLAotICAgICAgICAiaW5oZXJpdHMiOiAiMiIsCi0gICAg
ICAgICJtaW5pbWF0Y2giOiAiXjMuMC40IiwKLSAgICAgICAgIm9uY2UiOiAiXjEuMy4wIiwKLSAg
ICAgICAgInBhdGgtaXMtYWJzb2x1dGUiOiAiXjEuMC4wIgotICAgICAgfQotICAgIH0sCi0gICAg
Imdsb2ItYmFzZSI6IHsKLSAgICAgICJ2ZXJzaW9uIjogIjAuMy4wIiwKLSAgICAgICJyZXNvbHZl
ZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9nbG9iLWJhc2UvLS9nbG9iLWJhc2UtMC4z
LjAudGd6IiwKLSAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS0yN0ZrOWlJYkhBc2N6NEt1b3lpMGw5
OE9vOFE9IiwKLSAgICAgICJkZXYiOiB0cnVlLAotICAgICAgInJlcXVpcmVzIjogewotICAgICAg
ICAiZ2xvYi1wYXJlbnQiOiAiXjIuMC4wIiwKLSAgICAgICAgImlzLWdsb2IiOiAiXjIuMC4wIgot
ICAgICAgfQotICAgIH0sCi0gICAgImdsb2ItcGFyZW50IjogewotICAgICAgInZlcnNpb24iOiAi
Mi4wLjAiLAotICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2ds
b2ItcGFyZW50Ly0vZ2xvYi1wYXJlbnQtMi4wLjAudGd6IiwKLSAgICAgICJpbnRlZ3JpdHkiOiAi
c2hhMS1nVGc5Y3RzRlQ4elBVemJhcVFMeGd2YnR1eWc9IiwKLSAgICAgICJkZXYiOiB0cnVlLAot
ICAgICAgInJlcXVpcmVzIjogewotICAgICAgICAiaXMtZ2xvYiI6ICJeMi4wLjAiCi0gICAgICB9
Ci0gICAgfSwKLSAgICAiZ3Jvd2wiOiB7Ci0gICAgICAidmVyc2lvbiI6ICIxLjEwLjMiLAotICAg
ICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2dyb3dsLy0vZ3Jvd2wt
MS4xMC4zLnRneiIsCi0gICAgICAiaW50ZWdyaXR5IjogInNoYTUxMi1oS2xzYkE1VnUzeHNoMUNn
M0o3alNtWC9XYVc2QTVvQmVxek04OG9OYkNSUUZ6K3pVYVhtNnl4UzRSVnl0cDFzY0JvSnpTWWw0
WUFFT1FJdDZPOFYxUT09IiwKLSAgICAgICJkZXYiOiB0cnVlCi0gICAgfSwKLSAgICAiaGFzLWZs
YWciOiB7Ci0gICAgICAidmVyc2lvbiI6ICIzLjAuMCIsCi0gICAgICAicmVzb2x2ZWQiOiAiaHR0
cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvaGFzLWZsYWcvLS9oYXMtZmxhZy0zLjAuMC50Z3oiLAot
ICAgICAgImludGVncml0eSI6ICJzaGExLXRkUlUzQ0dacmlKV21mTkdmbG9IODdsVnV2MD0iLAot
ICAgICAgImRldiI6IHRydWUKLSAgICB9LAotICAgICJoZSI6IHsKLSAgICAgICJ2ZXJzaW9uIjog
IjEuMS4xIiwKLSAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9o
ZS8tL2hlLTEuMS4xLnRneiIsCi0gICAgICAiaW50ZWdyaXR5IjogInNoYTEtazBFUDBoc0FselVW
SDRob3d2Sng4MEorSS8wPSIsCi0gICAgICAiZGV2IjogdHJ1ZQotICAgIH0sCi0gICAgImluZmxp
Z2h0IjogewotICAgICAgInZlcnNpb24iOiAiMS4wLjYiLAotICAgICAgInJlc29sdmVkIjogImh0
dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2luZmxpZ2h0Ly0vaW5mbGlnaHQtMS4wLjYudGd6IiwK
LSAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1TYjFqTWRmUUxRd0p2SkVLRUhXNmdXVzFiZms9IiwK
LSAgICAgICJkZXYiOiB0cnVlLAotICAgICAgInJlcXVpcmVzIjogewotICAgICAgICAib25jZSI6
ICJeMS4zLjAiLAotICAgICAgICAid3JhcHB5IjogIjEiCi0gICAgICB9Ci0gICAgfSwKLSAgICAi
aW5oZXJpdHMiOiB7Ci0gICAgICAidmVyc2lvbiI6ICIyLjAuMyIsCi0gICAgICAicmVzb2x2ZWQi
OiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvaW5oZXJpdHMvLS9pbmhlcml0cy0yLjAuMy50
Z3oiLAotICAgICAgImludGVncml0eSI6ICJzaGExLVl6d3NnK1BhUXFVQzlTUm1BaVNBOUNDQ1lk
ND0iLAotICAgICAgImRldiI6IHRydWUKLSAgICB9LAotICAgICJpcy1idWZmZXIiOiB7Ci0gICAg
ICAidmVyc2lvbiI6ICIxLjEuNiIsCi0gICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3Ry
eS5ucG1qcy5vcmcvaXMtYnVmZmVyLy0vaXMtYnVmZmVyLTEuMS42LnRneiIsCi0gICAgICAiaW50
ZWdyaXR5IjogInNoYTUxMi1OY2RBTHdwWGtUbTVadnZiazdvd09VU3ZWdkJLRGdLUDUvZXdmWEV6
bm1RRmZzNFpSbWFuT2VLQlRqUlZqa2EzUUZvTjZYSis5RjNVU3FmSHFUYVU1dz09IiwKLSAgICAg
ICJkZXYiOiB0cnVlCi0gICAgfSwKLSAgICAiaXMtZG90ZmlsZSI6IHsKLSAgICAgICJ2ZXJzaW9u
IjogIjEuMC4zIiwKLSAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9y
Zy9pcy1kb3RmaWxlLy0vaXMtZG90ZmlsZS0xLjAuMy50Z3oiLAotICAgICAgImludGVncml0eSI6
ICJzaGExLXBxTHpMLzB0K3dUMXlpWHMwUGE0UFBlWW9lRT0iLAotICAgICAgImRldiI6IHRydWUK
LSAgICB9LAotICAgICJpcy1lcXVhbC1zaGFsbG93IjogewotICAgICAgInZlcnNpb24iOiAiMC4x
LjMiLAotICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2lzLWVx
dWFsLXNoYWxsb3cvLS9pcy1lcXVhbC1zaGFsbG93LTAuMS4zLnRneiIsCi0gICAgICAiaW50ZWdy
aXR5IjogInNoYTEtSWpnSmo4SWgzZ3ZQcGRucXhNUmRZNHFoeFRRPSIsCi0gICAgICAiZGV2Ijog
dHJ1ZSwKLSAgICAgICJyZXF1aXJlcyI6IHsKLSAgICAgICAgImlzLXByaW1pdGl2ZSI6ICJeMi4w
LjAiCi0gICAgICB9Ci0gICAgfSwKLSAgICAiaXMtZXh0ZW5kYWJsZSI6IHsKLSAgICAgICJ2ZXJz
aW9uIjogIjAuMS4xIiwKLSAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpz
Lm9yZy9pcy1leHRlbmRhYmxlLy0vaXMtZXh0ZW5kYWJsZS0wLjEuMS50Z3oiLAotICAgICAgImlu
dGVncml0eSI6ICJzaGExLVlyRVE0b21rY1VHT1BzTnFZWDFITGpBZC9Jaz0iLAotICAgICAgImRl
diI6IHRydWUKLSAgICB9LAotICAgICJpcy1leHRnbG9iIjogewotICAgICAgInZlcnNpb24iOiAi
MS4wLjAiLAotICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2lz
LWV4dGdsb2IvLS9pcy1leHRnbG9iLTEuMC4wLnRneiIsCi0gICAgICAiaW50ZWdyaXR5IjogInNo
YTEtckVhQmQ4U1VOQVdna3Z5UEtYWU1iL3hpQnNBPSIsCi0gICAgICAiZGV2IjogdHJ1ZQotICAg
IH0sCi0gICAgImlzLWdsb2IiOiB7Ci0gICAgICAidmVyc2lvbiI6ICIyLjAuMSIsCi0gICAgICAi
cmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvaXMtZ2xvYi8tL2lzLWdsb2It
Mi4wLjEudGd6IiwKLSAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS0wSmI1SnFQZTFXQVBQOS9aRVpq
TENJakMyR009IiwKLSAgICAgICJkZXYiOiB0cnVlLAotICAgICAgInJlcXVpcmVzIjogewotICAg
ICAgICAiaXMtZXh0Z2xvYiI6ICJeMS4wLjAiCi0gICAgICB9Ci0gICAgfSwKLSAgICAiaXMtbnVt
YmVyIjogewotICAgICAgInZlcnNpb24iOiAiMi4xLjAiLAotICAgICAgInJlc29sdmVkIjogImh0
dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2lzLW51bWJlci8tL2lzLW51bWJlci0yLjEuMC50Z3oi
LAotICAgICAgImludGVncml0eSI6ICJzaGExLUFmeTdzNU5HT2xTUEwwWnN6aGJlemtuYmtJOD0i
LAotICAgICAgImRldiI6IHRydWUsCi0gICAgICAicmVxdWlyZXMiOiB7Ci0gICAgICAgICJraW5k
LW9mIjogIl4zLjAuMiIKLSAgICAgIH0KLSAgICB9LAotICAgICJpcy1wb3NpeC1icmFja2V0Ijog
ewotICAgICAgInZlcnNpb24iOiAiMC4xLjEiLAotICAgICAgInJlc29sdmVkIjogImh0dHBzOi8v
cmVnaXN0cnkubnBtanMub3JnL2lzLXBvc2l4LWJyYWNrZXQvLS9pcy1wb3NpeC1icmFja2V0LTAu
MS4xLnRneiIsCi0gICAgICAiaW50ZWdyaXR5IjogInNoYTEtTXpUY2VYZERhT2t2QVc1dnZBcUk5
YzF1YThRPSIsCi0gICAgICAiZGV2IjogdHJ1ZQotICAgIH0sCi0gICAgImlzLXByaW1pdGl2ZSI6
IHsKLSAgICAgICJ2ZXJzaW9uIjogIjIuMC4wIiwKLSAgICAgICJyZXNvbHZlZCI6ICJodHRwczov
L3JlZ2lzdHJ5Lm5wbWpzLm9yZy9pcy1wcmltaXRpdmUvLS9pcy1wcmltaXRpdmUtMi4wLjAudGd6
IiwKLSAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1JSHVya1dPRW1jQjdLdDhrQ2tHb2NoQURSWFU9
IiwKLSAgICAgICJkZXYiOiB0cnVlCi0gICAgfSwKLSAgICAiaXNhcnJheSI6IHsKLSAgICAgICJ2
ZXJzaW9uIjogIjEuMC4wIiwKLSAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5w
bWpzLm9yZy9pc2FycmF5Ly0vaXNhcnJheS0xLjAuMC50Z3oiLAotICAgICAgImludGVncml0eSI6
ICJzaGExLXU1TmRTRmdzdWhhTUJvTkpWNlZLUGdjU1R4RT0iLAotICAgICAgImRldiI6IHRydWUK
LSAgICB9LAotICAgICJpc29iamVjdCI6IHsKLSAgICAgICJ2ZXJzaW9uIjogIjIuMS4wIiwKLSAg
ICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9pc29iamVjdC8tL2lz
b2JqZWN0LTIuMS4wLnRneiIsCi0gICAgICAiaW50ZWdyaXR5IjogInNoYTEtOEdWV0VKYWo4ZG91
OUdKeStCWElRTmgrRElrPSIsCi0gICAgICAiZGV2IjogdHJ1ZSwKLSAgICAgICJyZXF1aXJlcyI6
IHsKLSAgICAgICAgImlzYXJyYXkiOiAiMS4wLjAiCi0gICAgICB9Ci0gICAgfSwKLSAgICAiamVz
dC1kaWZmIjogewotICAgICAgInZlcnNpb24iOiAiMjIuNC4wIiwKLSAgICAgICJyZXNvbHZlZCI6
ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9qZXN0LWRpZmYvLS9qZXN0LWRpZmYtMjIuNC4w
LnRneiIsCi0gICAgICAiaW50ZWdyaXR5IjogInNoYTUxMi0rL3QyMFdtbmtPa0I4TU9hR2FQemlJ
OHpXS3hxdU12WXc0VWIrd096aTdBVWhtcEZYejQzYnVXU3hWb1pvNEo1Um5Db3pwR2JYMy9Gc3Nq
SjVLVjlOdz09IiwKLSAgICAgICJkZXYiOiB0cnVlLAotICAgICAgInJlcXVpcmVzIjogewotICAg
ICAgICAiY2hhbGsiOiAiXjIuMC4xIiwKLSAgICAgICAgImRpZmYiOiAiXjMuMi4wIiwKLSAgICAg
ICAgImplc3QtZ2V0LXR5cGUiOiAiXjIyLjEuMCIsCi0gICAgICAgICJwcmV0dHktZm9ybWF0Ijog
Il4yMi40LjAiCi0gICAgICB9Ci0gICAgfSwKLSAgICAiamVzdC1nZXQtdHlwZSI6IHsKLSAgICAg
ICJ2ZXJzaW9uIjogIjIyLjEuMCIsCi0gICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3Ry
eS5ucG1qcy5vcmcvamVzdC1nZXQtdHlwZS8tL2plc3QtZ2V0LXR5cGUtMjIuMS4wLnRneiIsCi0g
ICAgICAiaW50ZWdyaXR5IjogInNoYTUxMi1uRDk3SVZPbE5QNmZqSU41aTdqNVhSSCtoRnNITDdW
bGF1QmJ6UnZ1ZWFhVWU3MHVvaHJrejdwTC9OOGx4L0lBd1pSVEovL3dPZFZnaDg1T2dNN2czdz09
IiwKLSAgICAgICJkZXYiOiB0cnVlCi0gICAgfSwKLSAgICAiamVzdC1tYXRjaGVyLXV0aWxzIjog
ewotICAgICAgInZlcnNpb24iOiAiMjIuNC4wIiwKLSAgICAgICJyZXNvbHZlZCI6ICJodHRwczov
L3JlZ2lzdHJ5Lm5wbWpzLm9yZy9qZXN0LW1hdGNoZXItdXRpbHMvLS9qZXN0LW1hdGNoZXItdXRp
bHMtMjIuNC4wLnRneiIsCi0gICAgICAiaW50ZWdyaXR5IjogInNoYTUxMi0wM20zaXNzeFVYcFdN
d0RZVGZtTDhoUk5ld1VCMHlDUlRlWFBtK2VxMDU4clp4TEhEOWY1TnRTU085OENXSHFlNFV5SVNJ
eGQ5QW85aURWakhXZDJxZz09IiwKLSAgICAgICJkZXYiOiB0cnVlLAotICAgICAgInJlcXVpcmVz
IjogewotICAgICAgICAiY2hhbGsiOiAiXjIuMC4xIiwKLSAgICAgICAgImplc3QtZ2V0LXR5cGUi
OiAiXjIyLjEuMCIsCi0gICAgICAgICJwcmV0dHktZm9ybWF0IjogIl4yMi40LjAiCi0gICAgICB9
Ci0gICAgfSwKLSAgICAiamVzdC1tZXNzYWdlLXV0aWwiOiB7Ci0gICAgICAidmVyc2lvbiI6ICIy
Mi40LjAiLAotICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2pl
c3QtbWVzc2FnZS11dGlsLy0vamVzdC1tZXNzYWdlLXV0aWwtMjIuNC4wLnRneiIsCi0gICAgICAi
aW50ZWdyaXR5IjogInNoYTUxMi1leUNKQjBUM2hybHBGRjJGcVFvSUIwOTNPdWxQKzFxdkFUUW1E
M0lPZ0pnTUdxUEw2ZVl3OFRiQzVQL1ZDV1BxS2hHTDUxeHZqSUlob3c1ZVoyd0hGdz09IiwKLSAg
ICAgICJkZXYiOiB0cnVlLAotICAgICAgInJlcXVpcmVzIjogewotICAgICAgICAiQGJhYmVsL2Nv
ZGUtZnJhbWUiOiAiXjcuMC4wLWJldGEuMzUiLAotICAgICAgICAiY2hhbGsiOiAiXjIuMC4xIiwK
LSAgICAgICAgIm1pY3JvbWF0Y2giOiAiXjIuMy4xMSIsCi0gICAgICAgICJzbGFzaCI6ICJeMS4w
LjAiLAotICAgICAgICAic3RhY2stdXRpbHMiOiAiXjEuMC4xIgotICAgICAgfQotICAgIH0sCi0g
ICAgImplc3QtcmVnZXgtdXRpbCI6IHsKLSAgICAgICJ2ZXJzaW9uIjogIjIyLjEuMCIsCi0gICAg
ICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvamVzdC1yZWdleC11dGls
Ly0vamVzdC1yZWdleC11dGlsLTIyLjEuMC50Z3oiLAotICAgICAgImludGVncml0eSI6ICJzaGE1
MTItb24wTHFWUzZYZWg2OXN3M2QxUnVrVm51citsVk9sM3prbWIwUTU0RkhqOXdIb3E2ZGJ0V3Fi
M1RTbG5WVXl4MzZocWpKaGpncy9RTHFzMDdCenU3MlE9PSIsCi0gICAgICAiZGV2IjogdHJ1ZQot
ICAgIH0sCi0gICAgImpzLXRva2VucyI6IHsKLSAgICAgICJ2ZXJzaW9uIjogIjMuMC4yIiwKLSAg
ICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9qcy10b2tlbnMvLS9q
cy10b2tlbnMtMy4wLjIudGd6IiwKLSAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1tR2JmT1ZFQ0V3
NDQ5L21Xdk90bFJESUp3bHM9IiwKLSAgICAgICJkZXYiOiB0cnVlCi0gICAgfSwKLSAgICAianNv
bmRpZmZwYXRjaCI6IHsKLSAgICAgICJ2ZXJzaW9uIjogIjAuMy41IiwKLSAgICAgICJyZXNvbHZl
ZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9qc29uZGlmZnBhdGNoLy0vanNvbmRpZmZw
YXRjaC0wLjMuNS50Z3oiLAotICAgICAgImludGVncml0eSI6ICJzaGE1MTItdjdlYUdMRE1DSFhI
K2ZzSWFaaHB0RVVKbVM4RUpwdW5xN0lNNGNjNHZJVC9rU1JBa2FaNlpGNGViaU5jeVVlbEwwem5i
dmo2bzJCNUdoOXY3T2cwQlE9PSIsCi0gICAgICAiZGV2IjogdHJ1ZSwKLSAgICAgICJyZXF1aXJl
cyI6IHsKLSAgICAgICAgImNoYWxrIjogIl4yLjMuMCIsCi0gICAgICAgICJkaWZmLW1hdGNoLXBh
dGNoIjogIl4xLjAuMCIKLSAgICAgIH0KLSAgICB9LAotICAgICJraW5kLW9mIjogewotICAgICAg
InZlcnNpb24iOiAiMy4yLjIiLAotICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnku
bnBtanMub3JnL2tpbmQtb2YvLS9raW5kLW9mLTMuMi4yLnRneiIsCi0gICAgICAiaW50ZWdyaXR5
IjogInNoYTEtTWVvaHB6UzZ1YnV3OHlSbTJKT3VwUjVLUEdRPSIsCi0gICAgICAiZGV2IjogdHJ1
ZSwKLSAgICAgICJyZXF1aXJlcyI6IHsKLSAgICAgICAgImlzLWJ1ZmZlciI6ICJeMS4xLjUiCi0g
ICAgICB9Ci0gICAgfSwKLSAgICAibWF0aC1yYW5kb20iOiB7Ci0gICAgICAidmVyc2lvbiI6ICIx
LjAuMSIsCi0gICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvbWF0
aC1yYW5kb20vLS9tYXRoLXJhbmRvbS0xLjAuMS50Z3oiLAotICAgICAgImludGVncml0eSI6ICJz
aGExLWl6cXNXSXVLWnVTWFhqemVwbjk3c3lsZ0g2dz0iLAotICAgICAgImRldiI6IHRydWUKLSAg
ICB9LAotICAgICJtaWNyb21hdGNoIjogewotICAgICAgInZlcnNpb24iOiAiMi4zLjExIiwKLSAg
ICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9taWNyb21hdGNoLy0v
bWljcm9tYXRjaC0yLjMuMTEudGd6IiwKLSAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1obWQ4bDlG
eUN6WTBNZEJORFJVcE85T01GV1U9IiwKLSAgICAgICJkZXYiOiB0cnVlLAotICAgICAgInJlcXVp
cmVzIjogewotICAgICAgICAiYXJyLWRpZmYiOiAiXjIuMC4wIiwKLSAgICAgICAgImFycmF5LXVu
aXF1ZSI6ICJeMC4yLjEiLAotICAgICAgICAiYnJhY2VzIjogIl4xLjguMiIsCi0gICAgICAgICJl
eHBhbmQtYnJhY2tldHMiOiAiXjAuMS40IiwKLSAgICAgICAgImV4dGdsb2IiOiAiXjAuMy4xIiwK
LSAgICAgICAgImZpbGVuYW1lLXJlZ2V4IjogIl4yLjAuMCIsCi0gICAgICAgICJpcy1leHRnbG9i
IjogIl4xLjAuMCIsCi0gICAgICAgICJpcy1nbG9iIjogIl4yLjAuMSIsCi0gICAgICAgICJraW5k
LW9mIjogIl4zLjAuMiIsCi0gICAgICAgICJub3JtYWxpemUtcGF0aCI6ICJeMi4wLjEiLAotICAg
ICAgICAib2JqZWN0Lm9taXQiOiAiXjIuMC4wIiwKLSAgICAgICAgInBhcnNlLWdsb2IiOiAiXjMu
MC40IiwKLSAgICAgICAgInJlZ2V4LWNhY2hlIjogIl4wLjQuMiIKLSAgICAgIH0KLSAgICB9LAot
ICAgICJtaW5pbWF0Y2giOiB7Ci0gICAgICAidmVyc2lvbiI6ICIzLjAuNCIsCi0gICAgICAicmVz
b2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvbWluaW1hdGNoLy0vbWluaW1hdGNo
LTMuMC40LnRneiIsCi0gICAgICAiaW50ZWdyaXR5IjogInNoYTUxMi15SkhWUUVoeXFQTFVUZ3Q5
QjgzUFh1Nlczcng0TXZ2SHZTVXZUb29ncHdvR0RPVVEreURyUjBIUm90K3lPQ2RDTzd1NGhYM3BX
ZnQ2a1dCQmNxaDBVQT09IiwKLSAgICAgICJkZXYiOiB0cnVlLAotICAgICAgInJlcXVpcmVzIjog
ewotICAgICAgICAiYnJhY2UtZXhwYW5zaW9uIjogIl4xLjEuNyIKLSAgICAgIH0KLSAgICB9LAot
ICAgICJtaW5pbWlzdCI6IHsKLSAgICAgICJ2ZXJzaW9uIjogIjAuMC44IiwKLSAgICAgICJyZXNv
bHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9taW5pbWlzdC8tL21pbmltaXN0LTAu
MC44LnRneiIsCi0gICAgICAiaW50ZWdyaXR5IjogInNoYTEtaFgvS3Y4TTVmU1lsdUNLQ1l1aHFw
NkFSc0YwPSIsCi0gICAgICAiZGV2IjogdHJ1ZQotICAgIH0sCi0gICAgIm1rZGlycCI6IHsKLSAg
ICAgICJ2ZXJzaW9uIjogIjAuNS4xIiwKLSAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lz
dHJ5Lm5wbWpzLm9yZy9ta2RpcnAvLS9ta2RpcnAtMC41LjEudGd6IiwKLSAgICAgICJpbnRlZ3Jp
dHkiOiAic2hhMS1NQVYwT09yR3ozK01SMmZ6aGtqV2FYMTF5UU09IiwKLSAgICAgICJkZXYiOiB0
cnVlLAotICAgICAgInJlcXVpcmVzIjogewotICAgICAgICAibWluaW1pc3QiOiAiMC4wLjgiCi0g
ICAgICB9Ci0gICAgfSwKLSAgICAibW9jaGEiOiB7Ci0gICAgICAidmVyc2lvbiI6ICI1LjAuNCIs
Ci0gICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvbW9jaGEvLS9t
b2NoYS01LjAuNC50Z3oiLAotICAgICAgImludGVncml0eSI6ICJzaGE1MTItbk1PcEFQRm9zVTFC
NEl4MWpkaHg1ZTNxN1hPNTVpYzVhOGNnWXZXMjdDZXF1Y0VZK0JhYlMwa1VWTDFDdzFWNVB1Vkha
V2VOUldGTG1FUGV4bzc5VkE9PSIsCi0gICAgICAiZGV2IjogdHJ1ZSwKLSAgICAgICJyZXF1aXJl
cyI6IHsKLSAgICAgICAgImJyb3dzZXItc3Rkb3V0IjogIjEuMy4xIiwKLSAgICAgICAgImNvbW1h
bmRlciI6ICIyLjExLjAiLAotICAgICAgICAiZGVidWciOiAiMy4xLjAiLAotICAgICAgICAiZGlm
ZiI6ICIzLjUuMCIsCi0gICAgICAgICJlc2NhcGUtc3RyaW5nLXJlZ2V4cCI6ICIxLjAuNSIsCi0g
ICAgICAgICJnbG9iIjogIjcuMS4yIiwKLSAgICAgICAgImdyb3dsIjogIjEuMTAuMyIsCi0gICAg
ICAgICJoZSI6ICIxLjEuMSIsCi0gICAgICAgICJta2RpcnAiOiAiMC41LjEiLAotICAgICAgICAi
c3VwcG9ydHMtY29sb3IiOiAiNC40LjAiCi0gICAgICB9LAotICAgICAgImRlcGVuZGVuY2llcyI6
IHsKLSAgICAgICAgImhhcy1mbGFnIjogewotICAgICAgICAgICJ2ZXJzaW9uIjogIjIuMC4wIiwK
LSAgICAgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvaGFzLWZs
YWcvLS9oYXMtZmxhZy0yLjAuMC50Z3oiLAotICAgICAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS02
Q0I2OGN4N01OUkd6SEMzTkxYb3ZoajRqVkU9IiwKLSAgICAgICAgICAiZGV2IjogdHJ1ZQotICAg
ICAgICB9LAotICAgICAgICAic3VwcG9ydHMtY29sb3IiOiB7Ci0gICAgICAgICAgInZlcnNpb24i
OiAiNC40LjAiLAotICAgICAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpz
Lm9yZy9zdXBwb3J0cy1jb2xvci8tL3N1cHBvcnRzLWNvbG9yLTQuNC4wLnRneiIsCi0gICAgICAg
ICAgImludGVncml0eSI6ICJzaGE1MTItcktDMytEeVhXZ0swWkxLd21Sc3JreUhWWkFqTmtmemVl
aHVGV2RHR2NxR0RUWkZINzMrUkg2Uy9SREFBeGw5R3VzU2paU1VXWUxtVDlONXB6WEZPWFE9PSIs
Ci0gICAgICAgICAgImRldiI6IHRydWUsCi0gICAgICAgICAgInJlcXVpcmVzIjogewotICAgICAg
ICAgICAgImhhcy1mbGFnIjogIl4yLjAuMCIKLSAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICAg
IH0KLSAgICB9LAotICAgICJtcyI6IHsKLSAgICAgICJ2ZXJzaW9uIjogIjIuMC4wIiwKLSAgICAg
ICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9tcy8tL21zLTIuMC4wLnRn
eiIsCi0gICAgICAiaW50ZWdyaXR5IjogInNoYTEtVmdpdXJmd0F2bXdwQWQ5Zm1HRjRqZURWbDhn
PSIsCi0gICAgICAiZGV2IjogdHJ1ZQotICAgIH0sCi0gICAgIm5vcm1hbGl6ZS1wYXRoIjogewot
ICAgICAgInZlcnNpb24iOiAiMi4xLjEiLAotICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVn
aXN0cnkubnBtanMub3JnL25vcm1hbGl6ZS1wYXRoLy0vbm9ybWFsaXplLXBhdGgtMi4xLjEudGd6
IiwKLSAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1HcktMVlc0WmcyT293YWIzNXZvZ0UzL21ydGs9
IiwKLSAgICAgICJkZXYiOiB0cnVlLAotICAgICAgInJlcXVpcmVzIjogewotICAgICAgICAicmVt
b3ZlLXRyYWlsaW5nLXNlcGFyYXRvciI6ICJeMS4wLjEiCi0gICAgICB9Ci0gICAgfSwKLSAgICAi
b2JqZWN0Lm9taXQiOiB7Ci0gICAgICAidmVyc2lvbiI6ICIyLjAuMSIsCi0gICAgICAicmVzb2x2
ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvb2JqZWN0Lm9taXQvLS9vYmplY3Qub21p
dC0yLjAuMS50Z3oiLAotICAgICAgImludGVncml0eSI6ICJzaGExLUdweDBTQ256bmJ1RmpIYktO
WG11S2xUcjBmbz0iLAotICAgICAgImRldiI6IHRydWUsCi0gICAgICAicmVxdWlyZXMiOiB7Ci0g
ICAgICAgICJmb3Itb3duIjogIl4wLjEuNCIsCi0gICAgICAgICJpcy1leHRlbmRhYmxlIjogIl4w
LjEuMSIKLSAgICAgIH0KLSAgICB9LAotICAgICJvbmNlIjogewotICAgICAgInZlcnNpb24iOiAi
MS40LjAiLAotICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL29u
Y2UvLS9vbmNlLTEuNC4wLnRneiIsCi0gICAgICAiaW50ZWdyaXR5IjogInNoYTEtV0RzYXAzV1dI
VXNST3NGOW5GQzY3NTNYYTlFPSIsCi0gICAgICAiZGV2IjogdHJ1ZSwKLSAgICAgICJyZXF1aXJl
cyI6IHsKLSAgICAgICAgIndyYXBweSI6ICIxIgotICAgICAgfQotICAgIH0sCi0gICAgInBhcnNl
LWdsb2IiOiB7Ci0gICAgICAidmVyc2lvbiI6ICIzLjAuNCIsCi0gICAgICAicmVzb2x2ZWQiOiAi
aHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvcGFyc2UtZ2xvYi8tL3BhcnNlLWdsb2ItMy4wLjQu
dGd6IiwKLSAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1zc04yejdFZk5WRTdyZEZ6N3d1MjQ2T0lP
Unc9IiwKLSAgICAgICJkZXYiOiB0cnVlLAotICAgICAgInJlcXVpcmVzIjogewotICAgICAgICAi
Z2xvYi1iYXNlIjogIl4wLjMuMCIsCi0gICAgICAgICJpcy1kb3RmaWxlIjogIl4xLjAuMCIsCi0g
ICAgICAgICJpcy1leHRnbG9iIjogIl4xLjAuMCIsCi0gICAgICAgICJpcy1nbG9iIjogIl4yLjAu
MCIKLSAgICAgIH0KLSAgICB9LAotICAgICJwYXRoLWlzLWFic29sdXRlIjogewotICAgICAgInZl
cnNpb24iOiAiMS4wLjEiLAotICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBt
anMub3JnL3BhdGgtaXMtYWJzb2x1dGUvLS9wYXRoLWlzLWFic29sdXRlLTEuMC4xLnRneiIsCi0g
ICAgICAiaW50ZWdyaXR5IjogInNoYTEtRjB1U2FITlZOUCs4ZXM1cjlUcGFuaHRjWDE4PSIsCi0g
ICAgICAiZGV2IjogdHJ1ZQotICAgIH0sCi0gICAgInByZXNlcnZlIjogewotICAgICAgInZlcnNp
b24iOiAiMC4yLjAiLAotICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMu
b3JnL3ByZXNlcnZlLy0vcHJlc2VydmUtMC4yLjAudGd6IiwKLSAgICAgICJpbnRlZ3JpdHkiOiAi
c2hhMS1nVjdSOXV2R1dTYjRaYk1Rd0hFN3l6TVZ6a3M9IiwKLSAgICAgICJkZXYiOiB0cnVlCi0g
ICAgfSwKLSAgICAicHJldHR5LWZvcm1hdCI6IHsKLSAgICAgICJ2ZXJzaW9uIjogIjIyLjQuMCIs
Ci0gICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvcHJldHR5LWZv
cm1hdC8tL3ByZXR0eS1mb3JtYXQtMjIuNC4wLnRneiIsCi0gICAgICAiaW50ZWdyaXR5IjogInNo
YTUxMi1wdkN4UDJpT0RJSWs5YWRYbG80UzNHUmowQnJKaWlsNjhrQnlBYTFQcmdHOTdjMXRDbGg5
ZExNZ3AzWjZjSEZacmNsYUFCdDBVSDhQSWh3SHVGTHFZQT09IiwKLSAgICAgICJkZXYiOiB0cnVl
LAotICAgICAgInJlcXVpcmVzIjogewotICAgICAgICAiYW5zaS1yZWdleCI6ICJeMy4wLjAiLAot
ICAgICAgICAiYW5zaS1zdHlsZXMiOiAiXjMuMi4wIgotICAgICAgfQotICAgIH0sCi0gICAgInJh
bmRvbWF0aWMiOiB7Ci0gICAgICAidmVyc2lvbiI6ICIzLjAuMCIsCi0gICAgICAicmVzb2x2ZWQi
OiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvcmFuZG9tYXRpYy8tL3JhbmRvbWF0aWMtMy4w
LjAudGd6IiwKLSAgICAgICJpbnRlZ3JpdHkiOiAic2hhNTEyLVZkeEZPSUVZM21OTzVQdFNSa2ts
ZS9oUEpESHZRaEsyMW9hNzNLNHlBYzlxbXA2TjQyOWdBeUYxZ1pNT1RNZVMwL0FZemFWLzJUcmNl
ZitOYUlvblNBPT0iLAotICAgICAgImRldiI6IHRydWUsCi0gICAgICAicmVxdWlyZXMiOiB7Ci0g
ICAgICAgICJpcy1udW1iZXIiOiAiXjQuMC4wIiwKLSAgICAgICAgImtpbmQtb2YiOiAiXjYuMC4w
IiwKLSAgICAgICAgIm1hdGgtcmFuZG9tIjogIl4xLjAuMSIKLSAgICAgIH0sCi0gICAgICAiZGVw
ZW5kZW5jaWVzIjogewotICAgICAgICAiaXMtbnVtYmVyIjogewotICAgICAgICAgICJ2ZXJzaW9u
IjogIjQuMC4wIiwKLSAgICAgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1q
cy5vcmcvaXMtbnVtYmVyLy0vaXMtbnVtYmVyLTQuMC4wLnRneiIsCi0gICAgICAgICAgImludGVn
cml0eSI6ICJzaGE1MTItclNrbGNBSWxmMU9tRmR5QXFibldUTFZlbHNRNTh1dlo2NlMvWnlhd2pX
cUl2aVRXQ2pnMlB6Vkd3OFdVQStuTnVQVHFiNHdnQStOc3pySiswOExsZ1E9PSIsCi0gICAgICAg
ICAgImRldiI6IHRydWUKLSAgICAgICAgfSwKLSAgICAgICAgImtpbmQtb2YiOiB7Ci0gICAgICAg
ICAgInZlcnNpb24iOiAiNi4wLjIiLAotICAgICAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3Jl
Z2lzdHJ5Lm5wbWpzLm9yZy9raW5kLW9mLy0va2luZC1vZi02LjAuMi50Z3oiLAotICAgICAgICAg
ICJpbnRlZ3JpdHkiOiAic2hhNTEyLXM1a0xPY25IMFhxRE8rRnZ1YUxYOEREaloxOENHRms3Vnln
SDQwUW9LUFVRaFc0ZTJydk0wcndVcTB0OElRRE93WVNlTEswMVU5ME9qekJUbWUyUXFBPT0iLAot
ICAgICAgICAgICJkZXYiOiB0cnVlCi0gICAgICAgIH0KLSAgICAgIH0KLSAgICB9LAotICAgICJy
ZWdleC1jYWNoZSI6IHsKLSAgICAgICJ2ZXJzaW9uIjogIjAuNC40IiwKLSAgICAgICJyZXNvbHZl
ZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9yZWdleC1jYWNoZS8tL3JlZ2V4LWNhY2hl
LTAuNC40LnRneiIsCi0gICAgICAiaW50ZWdyaXR5IjogInNoYTUxMi1uVklad3RDamtDOVlndldr
cE01NUI1ckJoQllSWmhBYUpiZ2NGWVhYc0huYlo5VVpJOW5uVldZWnBCbENxdjlobzJlWnJ5UG5X
clpHc09kUHdWV1hXUT09IiwKLSAgICAgICJkZXYiOiB0cnVlLAotICAgICAgInJlcXVpcmVzIjog
ewotICAgICAgICAiaXMtZXF1YWwtc2hhbGxvdyI6ICJeMC4xLjMiCi0gICAgICB9Ci0gICAgfSwK
LSAgICAicmVtb3ZlLXRyYWlsaW5nLXNlcGFyYXRvciI6IHsKLSAgICAgICJ2ZXJzaW9uIjogIjEu
MS4wIiwKLSAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9yZW1v
dmUtdHJhaWxpbmctc2VwYXJhdG9yLy0vcmVtb3ZlLXRyYWlsaW5nLXNlcGFyYXRvci0xLjEuMC50
Z3oiLAotICAgICAgImludGVncml0eSI6ICJzaGExLXdrdk9LaWc2MnRXOFAxamcxSUpKdVNONTJP
OD0iLAotICAgICAgImRldiI6IHRydWUKLSAgICB9LAotICAgICJyZXBlYXQtZWxlbWVudCI6IHsK
LSAgICAgICJ2ZXJzaW9uIjogIjEuMS4yIiwKLSAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3Jl
Z2lzdHJ5Lm5wbWpzLm9yZy9yZXBlYXQtZWxlbWVudC8tL3JlcGVhdC1lbGVtZW50LTEuMS4yLnRn
eiIsCi0gICAgICAiaW50ZWdyaXR5IjogInNoYTEtN3dpYUY0MFVnN3F1VFpQcm1MVDU1T0VkbVFv
PSIsCi0gICAgICAiZGV2IjogdHJ1ZQotICAgIH0sCi0gICAgInJlcGVhdC1zdHJpbmciOiB7Ci0g
ICAgICAidmVyc2lvbiI6ICIxLjYuMSIsCi0gICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdp
c3RyeS5ucG1qcy5vcmcvcmVwZWF0LXN0cmluZy8tL3JlcGVhdC1zdHJpbmctMS42LjEudGd6IiwK
LSAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1qY3JrY09ISWlyd3RZQS8vU25kaWh0cDE1amM9IiwK
LSAgICAgICJkZXYiOiB0cnVlCi0gICAgfSwKLSAgICAic2xhc2giOiB7Ci0gICAgICAidmVyc2lv
biI6ICIxLjAuMCIsCi0gICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5v
cmcvc2xhc2gvLS9zbGFzaC0xLjAuMC50Z3oiLAotICAgICAgImludGVncml0eSI6ICJzaGExLXhC
OHZiRG44RnRITkY2MUxYWWxoRks1SERWVT0iLAotICAgICAgImRldiI6IHRydWUKLSAgICB9LAot
ICAgICJzdGFjay11dGlscyI6IHsKLSAgICAgICJ2ZXJzaW9uIjogIjEuMC4xIiwKLSAgICAgICJy
ZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9zdGFjay11dGlscy8tL3N0YWNr
LXV0aWxzLTEuMC4xLnRneiIsCi0gICAgICAiaW50ZWdyaXR5IjogInNoYTEtMVBNNnRVNk9PSGVM
REtYUDA3T3ZzUzIyaGlBPSIsCi0gICAgICAiZGV2IjogdHJ1ZQotICAgIH0sCi0gICAgInN1cHBv
cnRzLWNvbG9yIjogewotICAgICAgInZlcnNpb24iOiAiNS4zLjAiLAotICAgICAgInJlc29sdmVk
IjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL3N1cHBvcnRzLWNvbG9yLy0vc3VwcG9ydHMt
Y29sb3ItNS4zLjAudGd6IiwKLSAgICAgICJpbnRlZ3JpdHkiOiAic2hhNTEyLTBhUDAxTExJc2tq
S3MzbHE1MkVDMGFHQkFKaExxN0IyUmQ4SEMvRFIvUHROTnBjTGlsTm1IQzEyTytodTB1c1Fwbzd3
dEhOUnF0cmhCd3REYjArZE5nPT0iLAotICAgICAgImRldiI6IHRydWUsCi0gICAgICAicmVxdWly
ZXMiOiB7Ci0gICAgICAgICJoYXMtZmxhZyI6ICJeMy4wLjAiCi0gICAgICB9Ci0gICAgfSwKLSAg
ICAid3JhcHB5IjogewotICAgICAgInZlcnNpb24iOiAiMS4wLjIiLAotICAgICAgInJlc29sdmVk
IjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL3dyYXBweS8tL3dyYXBweS0xLjAuMi50Z3oi
LAotICAgICAgImludGVncml0eSI6ICJzaGExLXRTUTlqejdCcWpYeE5rWUZ2QTBRTnVNS3RwOD0i
LAotICAgICAgImRldiI6IHRydWUKLSAgICB9Ci0gIH0KLX0KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvcGFj
a2FnZS5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi9wYWNrYWdlLmpzb24KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDkyZmFjY2FmYTgxM2ZiNjA3ZjViZTczYTA3Y2RhN2Y3MDc5ZDYzZDUuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi9wYWNrYWdlLmpzb24KKysr
IC9kZXYvbnVsbApAQCAtMSwyNyArMCwwIEBACi17Ci0gICJuYW1lIjogIndlYmlkbDIiLAotICAi
ZGVzY3JpcHRpb24iOiAiQSBXZWJJREwgUGFyc2VyIiwKLSAgInZlcnNpb24iOiAiMTMuMC4zIiwK
LSAgImNvbnRyaWJ1dG9ycyI6IFsKLSAgICAiUm9iaW4gQmVyam9uIDxyb2JpbkBiZXJqb24uY29t
PiAoaHR0cHM6Ly9iZXJqb24uY29tKSIsCi0gICAgIk1hcmNvcyBDYWNlcmVzIDxtYXJjb3NAbWFy
Y29zYy5jb20+IChodHRwczovL21hcmNvc2MuY29tKSIsCi0gICAgIkthZ2FtaSBTYXNjaGEgUm9z
eWxpZ2h0IDxzYXNjaGFwbGFzQG91dGxvb2suY29tPiIsCi0gICAgIlRpbW90aHkgR3UgPHRpbW90
aHlndTk5QGdtYWlsLmNvbT4iCi0gIF0sCi0gICJsaWNlbnNlIjogIlczQyIsCi0gICJkZXBlbmRl
bmNpZXMiOiB7fSwKLSAgImRldkRlcGVuZGVuY2llcyI6IHsKLSAgICAiZXhwZWN0IjogIjIyLjQu
MCIsCi0gICAgImpzb25kaWZmcGF0Y2giOiAiMC4zLjUiLAotICAgICJtb2NoYSI6ICI1LjAuNCIK
LSAgfSwKLSAgInNjcmlwdHMiOiB7Ci0gICAgInRlc3QiOiAibW9jaGEiLAotICAgICJhY3F1aXJl
IjogIm5vZGUgdGVzdC91dGlsL2FjcXVpcmUuanMiCi0gIH0sCi0gICJyZXBvc2l0b3J5IjogImdp
dDovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMiLAotICAibWFpbiI6ICJpbmRleC5qcyIsCi0g
ICJmaWxlcyI6IFsKLSAgICAibGliLyoiCi0gIF0KLX0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9p
bnZhbGlkLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDE5YmJmMDA2ZTU3OWVmNTk5N2FlMjNjMDFkZWNmMjhjMGIwYWNiNjguLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQu
anMKKysrIC9kZXYvbnVsbApAQCAtMSwyMCArMCwwIEBACi0vLyBOT1RFUzoKLS8vICAtIHRoZSBl
cnJvcnMgYWN0dWFsbHkgc3RpbGwgbmVlZCB0byBiZSByZXZpZXdlZCB0byBjaGVjayB0aGF0IHRo
ZXkKLS8vICAgIGFyZSBmdWxseSBjb3JyZWN0IGludGVycHJldGF0aW9ucyBvZiB0aGUgSURMcwot
Ci0idXNlIHN0cmljdCI7Ci0KLWNvbnN0IHsgY29sbGVjdCB9ID0gcmVxdWlyZSgiLi91dGlsL2Nv
bGxlY3QiKTsKLWNvbnN0IGZzID0gcmVxdWlyZSgiZnMiKTsKLWNvbnN0IGV4cGVjdCA9IHJlcXVp
cmUoImV4cGVjdCIpOwotCi1kZXNjcmliZSgiUGFyc2VzIGFsbCBvZiB0aGUgaW52YWxpZCBJRExz
IHRvIGNoZWNrIHRoYXQgdGhleSBibG93IHVwIGNvcnJlY3RseSIsICgpID0+IHsKLSAgZm9yIChj
b25zdCB0ZXN0IG9mIGNvbGxlY3QoImludmFsaWQiLCB7IGV4cGVjdEVycm9yOiB0cnVlIH0pKSB7
Ci0gICAgaXQoYHNob3VsZCBwcm9kdWNlIHRoZSByaWdodCBlcnJvciBmb3IgJHt0ZXN0LnBhdGh9
YCwgKCkgPT4gewotICAgICAgY29uc3QgZXJyID0gdGVzdC5yZWFkSlNPTigpOwotICAgICAgZXhw
ZWN0KHRlc3QuZXJyb3IpLnRvQmVUcnV0aHkoKTsKLSAgICAgIGV4cGVjdCh0ZXN0LmVycm9yLm1l
c3NhZ2UpLnRvRXF1YWwoZXJyLm1lc3NhZ2UpOwotICAgICAgZXhwZWN0KHRlc3QuZXJyb3IubGlu
ZSkudG9FcXVhbChlcnIubGluZSk7Ci0gICAgfSk7Ci0gIH0KLX0pOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L2ludmFsaWQvaWRsL2FycmF5LndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvYXJy
YXkud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNThhODYxOGFiNjQ4NTc5MjQ3
YThjZDAwYWM5ZGM0YTU4NWZhZjZiOC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvYXJyYXkud2lkbAorKysgL2Rldi9u
dWxsCkBAIC0xLDYgKzAsMCBAQAotLy8gRXh0cmFjdGVkIGZyb20gaHR0cDovL2Rldi53My5vcmcv
MjAwNi93ZWJhcGkvV2ViSURMLyBvbiAyMDExLTA1LTA2Ci0vLyBUW10gaXMgcmVtb3ZlZCBieSBo
dHRwczovL2dpdGh1Yi5jb20vaGV5Y2FtL3dlYmlkbC9jb21taXQvMDc5Y2JiODYxYTk5ZTllODU3
YTNmMmExNjljMGJlZWI0OWNkMDIwYQotW0NvbnN0cnVjdG9yXQotaW50ZXJmYWNlIExvdHRlcnlS
ZXN1bHRzIHsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIHNob3J0W11bXSBudW1iZXJz
OwotfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
aW52YWxpZC9pZGwvY2FsbGVyLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvY2FsbGVyLndp
ZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI2ZmVkYzMzZjk0MDJjNjUxZWJkMTU2
MjlhOGZjYjcyMTIxMDIxMjAuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL2NhbGxlci53aWRsCisrKyAvZGV2L251bGwK
QEAgLTEsNyArMCwwIEBACi0vLyBFeHRyYWN0ZWQgZnJvbSBodHRwOi8vZGV2LnczLm9yZy8yMDA2
L3dlYmFwaS9XZWJJREwvIG9uIDIwMTEtMDUtMDYKLS8vIGxlZ2FjeWNhbGxlcnMgYXJlIHJlbW92
ZWQgYnkgaHR0cHM6Ly9naXRodWIuY29tL2hleWNhbS93ZWJpZGwvcHVsbC80MTIKLQotaW50ZXJm
YWNlIE51bWJlclF1YWRydXBsZXIgewotICAvLyBUaGlzIG9wZXJhdGlvbiBzaW1wbHkgcmV0dXJu
cyBmb3VyIHRpbWVzIHRoZSBnaXZlbiBudW1iZXIgeC4KLSAgbGVnYWN5Y2FsbGVyIGZsb2F0IGNv
bXB1dGUoZmxvYXQgeCk7Ci19OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9kaWN0LXJlcXVpcmVkLWRlZmF1bHQud2lkbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC9pbnZhbGlkL2lkbC9kaWN0LXJlcXVpcmVkLWRlZmF1bHQud2lkbApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggNDEyNDQ4ZDIyNjFmODgyYjExN2FiOGJiMDE3ZGI2YTQ0M2Uz
MGVlYi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3QvaW52YWxpZC9pZGwvZGljdC1yZXF1aXJlZC1kZWZhdWx0LndpZGwKKysrIC9kZXYvbnVs
bApAQCAtMSw1ICswLDAgQEAKLS8vIGh0dHBzOi8vaGV5Y2FtLmdpdGh1Yi5pby93ZWJpZGwvI3Jl
cXVpcmVkLWRpY3Rpb25hcnktbWVtYmVyCi0vLyAiQSByZXF1aXJlZCBkaWN0aW9uYXJ5IG1lbWJl
ciBtdXN0IG5vdCBoYXZlIGEgZGVmYXVsdCB2YWx1ZS4iCi1kaWN0aW9uYXJ5IERpY3QgewotICBy
ZXF1aXJlZCBsb25nIG1lbWJlciA9IDA7Ci19OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFs
aWQvaWRsL2R1cGxpY2F0ZS53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL2R1cGxpY2F0ZS53
aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0OTE2YWYzNDI3M2QzMGRkNzU3OWE5
YmUzNjJjNWY4ZGViNjVkZjM2Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9kdXBsaWNhdGUud2lkbAorKysgL2Rldi9u
dWxsCkBAIC0xLDUgKzAsMCBAQAotdHlwZWRlZiBpbnQgVGVzdDsKLQotaW50ZXJmYWNlIFRlc3Qg
ewotICB2b2lkIGZvbygpOwotfTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9l
bnVtLWVtcHR5LndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvZW51bS1lbXB0eS53aWRsCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3ZjE4OWViNjJjMWJkMmI2ZDcxMDUzMmI4MDQy
YTQ1OWQ3YmExYjFmLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9lbnVtLWVtcHR5LndpZGwKKysrIC9kZXYvbnVsbApA
QCAtMSArMCwwIEBACi1lbnVtIEVtcHR5IHt9OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFs
aWQvaWRsL2VudW0td28tY29tbWEud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9lbnVtLXdv
LWNvbW1hLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGViYzUzMDY1ZWRlZGVk
NjJkMjdjODdhZTNiMWI2NjE4NzRkM2M3MTUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL2VudW0td28tY29tbWEud2lk
bAorKysgL2Rldi9udWxsCkBAIC0xICswLDAgQEAKLWVudW0gTm9Db21tYSB7ICJ2YWx1ZTEiICJ2
YWx1ZTIiIH07CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvZW51bS53aWRsIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L2ludmFsaWQvaWRsL2VudW0ud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggYzM1NWMzMjUxYzAwODQzNTJhMzJjNTYwYTE3NGUwMGJkZWQwODEwOS4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9p
ZGwvZW51bS53aWRsCisrKyAvZGV2L251bGwKQEAgLTEgKzAsMCBAQAotZW51bSBmb28geyAxLCAy
LCAzfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
aW52YWxpZC9pZGwvZXhjZXB0aW9uLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvZXhjZXB0
aW9uLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGEwZWEyZTQ3ZTIwODMzNjQx
NDQwYjA5NWE5YjJkMmQwMmY0NTA0YjcuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL2V4Y2VwdGlvbi53aWRsCisrKyAv
ZGV2L251bGwKQEAgLTEsNiArMCwwIEBACi0vLyBFeHRyYWN0ZWQgZnJvbSBodHRwOi8vZGV2Lncz
Lm9yZy8yMDA2L3dlYmFwaS9XZWJJREwvIG9uIDIwMTEtMDUtMDYKLS8vIElETCBleGNlcHRpb25z
IGFyZSByZW1vdmVkIGJ5IGh0dHBzOi8vZ2l0aHViLmNvbS9oZXljYW0vd2ViaWRsL2NvbW1pdC81
MGUxNzJlYzA3OWRiMDczYzM3MjRjOWJlYWMxYjU3NmZiNWRiYzQ3Ci0KLWV4Y2VwdGlvbiBTb21l
RXhjZXB0aW9uIHsKLX07Ci0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9leHRh
dHRyLWVtcHR5LWlkcy53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL2V4dGF0dHItZW1wdHkt
aWRzLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDkzYzQ4YzNhZGU1ZmE0NDhj
ZGRkMzM5OWYwZDQxZGU1NjI2OGYyYWYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL2V4dGF0dHItZW1wdHktaWRzLndp
ZGwKKysrIC9kZXYvbnVsbApAQCAtMSwyICswLDAgQEAKLVtFeHBvc2VkPSgpXQotaW50ZXJmYWNl
IFVuZXhwb3NlZCB7fTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9pZC11bmRl
cnNjb3JlZC1udW1iZXIud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9pZC11bmRlcnNjb3Jl
ZC1udW1iZXIud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDAwMTIxZmQ1NGYy
ZjMxOTAzZmI3NTkyZjVkNmU0MzhiNjk3YTRmYi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvaWQtdW5kZXJzY29yZWQt
bnVtYmVyLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSArMCwwIEBACi1pbnRlcmZhY2UgXzAge307
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvaW1wbGVtZW50c19hbmRfaW5jbHVk
ZXNfd3Mud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9pbXBsZW1lbnRzX2FuZF9pbmNsdWRl
c193cy53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2NjY2ZGFlZDAwYzNlN2Q5
YjdmNjQ5NzAwMzBhMmQ0NmEzOGU0OTY3Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9pbXBsZW1lbnRzX2FuZF9pbmNs
dWRlc193cy53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsNCArMCwwIEBACi0vLyBUaGlzIGhpdHMg
dGhlIHVuc2hpZnRpbmcgb2Ygd2hpdGVzcGFjZSBpbiB0aGUgImltcGxlbWVudHMiIGFuZAotLy8g
ImluY2x1ZGVzIiBwcm9kdWN0aW9ucy4gSWYgdGhlcmUgaXMgYSBidWcgaW4gdGhhdCB3aGl0ZXNw
YWNlCi0vLyByb2xsYmFjaywgdGhlIHdyb25nIGV4Y2VwdGlvbiB3aWxsIGJlIHByb2R1Y2VkLgot
Zm9vYmFyOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL2l0ZXJhdG9yLndpZGwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvaXRlcmF0b3Iud2lkbApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggM2JmMWIzNmRlYzY3NTY1NmNiZmQ3ZWE0NjAzNjE3YjNkYjkxYmZjNi4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52
YWxpZC9pZGwvaXRlcmF0b3Iud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDM1ICswLDAgQEAKLWlu
dGVyZmFjZSBTZXNzaW9uTWFuYWdlciB7Ci0gIFNlc3Npb24gZ2V0U2Vzc2lvbkZvclVzZXIoRE9N
U3RyaW5nIHVzZXJuYW1lKTsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgc2Vz
c2lvbkNvdW50OwotCi0gIFNlc3Npb24gaXRlcmF0b3I7Ci19OwotCi1pbnRlcmZhY2UgU2Vzc2lv
biB7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgdXNlcm5hbWU7Ci0gIC8vIC4uLgot
fTsKLQotaW50ZXJmYWNlIFNlc3Npb25NYW5hZ2VyMiB7Ci0gIFNlc3Npb24yIGdldFNlc3Npb25G
b3JVc2VyKERPTVN0cmluZyB1c2VybmFtZSk7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25l
ZCBsb25nIHNlc3Npb25Db3VudDsKLQotICBTZXNzaW9uMiBpdGVyYXRvciA9IFNlc3Npb25JdGVy
YXRvcjsKLX07Ci0KLWludGVyZmFjZSBTZXNzaW9uMiB7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSBE
T01TdHJpbmcgdXNlcm5hbWU7Ci0gIC8vIC4uLgotfTsKLQotaW50ZXJmYWNlIFNlc3Npb25JdGVy
YXRvciB7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIHJlbWFpbmluZ1Nlc3Np
b25zOwotfTsKLQotICAgICBpbnRlcmZhY2UgTm9kZUxpc3QgewotICAgICAgIE5vZGUgaXRlcmF0
b3IgPSBOb2RlSXRlcmF0b3I7Ci0gICAgIH07Ci0KLSAgICAgaW50ZXJmYWNlIE5vZGVJdGVyYXRv
ciB7Ci0gICAgICAgTm9kZSBpdGVyYXRvciBvYmplY3Q7Ci0gICAgIH07ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL21hcGxpa2Ut
MXR5cGUud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9tYXBsaWtlLTF0eXBlLndpZGwKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGVmYjVjMTRmZmQ2MjZmNzcxOTI3N2VlMzg5MmZj
ZTVmYjY2NGVjNDUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL21hcGxpa2UtMXR5cGUud2lkbAorKysgL2Rldi9udWxs
CkBAIC0xLDMgKzAsMCBAQAotaW50ZXJmYWNlIE1hcExpa2VPbmVUeXBlIHsKLSAgbWFwbGlrZTxs
b25nPjsKLX0KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3QvaW52YWxpZC9pZGwvbW9kdWxlLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvbW9kdWxl
LndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGE0Yzc5ZmRmMTU1ZWE1NThhZWVh
YzUxMTMzNDVjMzAwNzQ1ZDYyODEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL21vZHVsZS53aWRsCisrKyAvZGV2L251
bGwKQEAgLTEsMjUgKzAsMCBAQAotLy8gRXh0cmFjdGVkIGZyb20gaHR0cDovL2Rldi53My5vcmcv
MjAwNi93ZWJhcGkvV2ViSURMLyBvbiAyMDExLTA1LTA2Ci1tb2R1bGUgZ2Z4IHsKLQotICBtb2R1
bGUgZ2VvbSB7Ci0gICAgaW50ZXJmYWNlIFNoYXBlIHsgLyogLi4uICovIH07Ci0gICAgaW50ZXJm
YWNlIFJlY3RhbmdsZSA6IFNoYXBlIHsgLyogLi4uICovIH07Ci0gICAgaW50ZXJmYWNlIFBhdGgg
OiBTaGFwZSB7IC8qIC4uLiAqLyB9OwotICB9OwotCi0gIGludGVyZmFjZSBHcmFwaGljc0NvbnRl
eHQgewotICAgIHZvaWQgZmlsbFNoYXBlKGdlb206OlNoYXBlIHMpOwotICAgIHZvaWQgc3Ryb2tl
U2hhcGUoZ2VvbTo6U2hhcGUgcyk7Ci0gIH07Ci19OwotCi1tb2R1bGUgZ3VpIHsKLQotICBpbnRl
cmZhY2UgV2lkZ2V0IHsgLyogLi4uICovICB9OwotCi0gIGludGVyZmFjZSBXaW5kb3cgOiBXaWRn
ZXQgewotICAgIGdmeDo6R3JhcGhpY3NDb250ZXh0IGdldEdyYXBoaWNzQ29udGV4dCgpOwotICB9
OwotCi0gIGludGVyZmFjZSBCdXR0b24gOiBXaWRnZXQgeyAvKiAuLi4gKi8gIH07Ci19OwpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lk
bC9uYW1lc3BhY2UtcmVhZHdyaXRlLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvbmFtZXNw
YWNlLXJlYWR3cml0ZS53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlMTg0MTMz
MjI4NDU4ZTkxY2ZmMmNjODhmY2YzZWU4N2ZmZjkyZTNmLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9uYW1lc3BhY2Ut
cmVhZHdyaXRlLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSwzICswLDAgQEAKLW5hbWVzcGFjZSBD
U1MgewotICBhdHRyaWJ1dGUgb2JqZWN0IHJlYWR3cml0ZTsKLX07CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3QvaW52YWxpZC9pZGwvbm8tc2VtaWNvbG9uLWNhbGxiYWNrLndpZGwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
aW52YWxpZC9pZGwvbm8tc2VtaWNvbG9uLWNhbGxiYWNrLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IGNiMjA1NTcxOGU1ZjA0NGE2NzE0MjQ1MzJlZWU2YWZlNTc3YmViYzIuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2lu
dmFsaWQvaWRsL25vLXNlbWljb2xvbi1jYWxsYmFjay53aWRsCisrKyAvZGV2L251bGwKQEAgLTEs
NyArMCwwIEBACi1jYWxsYmFjayBpbnRlcmZhY2UgTm9TZW1pY29sb24gewotICBhdHRyaWJ1dGUg
Ym9vbGVhbiBub1NlbWlDb2xvbjsKLX0KLQotZW51bSBZb3VOZWVkT25lIHsKLSAgInJlYWxseSIK
LX0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9uby1zZW1pY29sb24ud2lkbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9uby1zZW1pY29sb24ud2lkbApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMTBiYzcxNjI0OWIzZTFmYTQwZmFhY2I3Mjk4ZWUzYjFmN2I2NzNiZi4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
aW52YWxpZC9pZGwvbm8tc2VtaWNvbG9uLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSw3ICswLDAg
QEAKLXBhcnRpYWwgaW50ZXJmYWNlIE5vU2VtaWNvbG9uIHsKLSAgYXR0cmlidXRlIGJvb2xlYW4g
bm9TZW1pQ29sb247Ci19Ci0KLWVudW0gWW91TmVlZE9uZSB7Ci0gICJyZWFsbHkiCi19CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvbm9ubnVsbGFibGVhbnkud2lkbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC9pbnZhbGlkL2lkbC9ub25udWxsYWJsZWFueS53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAzODk1NzY1NTUyMzZkOTExY2E3YzZiN2JiYjU2NjA1ZmUwMTAxODE0Li4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZh
bGlkL2lkbC9ub25udWxsYWJsZWFueS53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsMyArMCwwIEBA
Ci1pbnRlcmZhY2UgTm9uTnVsbGFibGUgewotICBhdHRyaWJ1dGUgYW55PyBmb287Ci19OwpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lk
bC9ub25udWxsYWJsZW9iamVjdHMud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9ub25udWxs
YWJsZW9iamVjdHMud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmM4NzVmZjA0
YjUyMzEyYmM1NWY3MzczNDdlOTkyNGMyNjg0N2NkOC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvbm9ubnVsbGFibGVv
YmplY3RzLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSw2ICswLDAgQEAKLWludGVyZmFjZSBGb28g
e307Ci0KLWludGVyZmFjZSBOb25OdWxsYWJsZSB7Ci0gIGF0dHJpYnV0ZSBGb28/PwotICAgIGZv
bzsKLX07CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvcHJvbWlzZS1udWxsYWJs
ZS53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL3Byb21pc2UtbnVsbGFibGUud2lkbApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODk0ZDdjMDQ0YjJhNWI0ZTlkMzA0MjdjZDkxM2Rm
N2I3MDliZGZhNS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvcHJvbWlzZS1udWxsYWJsZS53aWRsCisrKyAvZGV2L251
bGwKQEAgLTEsNCArMCwwIEBACi1pbnRlcmZhY2UgWCB7Ci0gICAgYXR0cmlidXRlIFByb21pc2U8
dm9pZD4/Ci0gICAgICAgIHByb21pc2U7Ci19OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFs
aWQvaWRsL3Byb21pc2Utd2l0aC1leHRlbmRlZC1hdHRyaWJ1dGUud2lkbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9p
bnZhbGlkL2lkbC9wcm9taXNlLXdpdGgtZXh0ZW5kZWQtYXR0cmlidXRlLndpZGwKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDBjZTE3MWZlYzMzZTcyZDM2MTY4YWQwZDczMWM1MTk5YWRi
OGIwOGUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L2ludmFsaWQvaWRsL3Byb21pc2Utd2l0aC1leHRlbmRlZC1hdHRyaWJ1dGUud2lkbAor
KysgL2Rldi9udWxsCkBAIC0xLDMgKzAsMCBAQAotaW50ZXJmYWNlIEZvbyB7Ci0gIFByb21pc2U8
W1hBdHRyXSBET01TdHJpbmc+IGZvbyhhbnkgcGFyYW0pOwotfTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC9pbnZhbGlkL2lkbC9yYWlzZXMud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9yYWlz
ZXMud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZmY2NTUyMmYyYjMzNTU3ZTUy
MzY4NmViNjMzMmUxM2E3ZmQ0YTA3OS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvcmFpc2VzLndpZGwKKysrIC9kZXYv
bnVsbApAQCAtMSwxOCArMCwwIEBACi0vLyBnZXRyYWlzZXMgYW5kIHNldHJhaXNlcyBhcmUgbm90
IGxvbmdlciB2YWxpZCBXZWIgSURMCi1pbnRlcmZhY2UgUGVyc29uIHsKLQotICAvLyBBbiBhdHRy
aWJ1dGUgdGhhdCBjYW4gcmFpc2UgYW4gZXhjZXB0aW9uIGlmIGl0IGlzIHNldCB0byBhbiBpbnZh
bGlkIHZhbHVlLgotICBhdHRyaWJ1dGUgRE9NU3RyaW5nIG5hbWUgc2V0cmFpc2VzIChJbnZhbGlk
TmFtZSk7Ci0KLSAgLy8gQW4gYXR0cmlidXRlIHdob3NlIHZhbHVlIGNhbm5vdCBiZSBhc3NpZ25l
ZCB0bywgYW5kIHdoaWNoIGNhbiByYWlzZSBhbgotICAvLyBleGNlcHRpb24gc29tZSBjaXJjdW1z
dGFuY2VzLgotICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHBldE5hbWUgZ2V0cmFpc2Vz
IChOb1N1Y2hQZXQpOwotfTsKLQotZXhjZXB0aW9uIFNvbWVFeGNlcHRpb24gewotfTsKLQotaW50
ZXJmYWNlIEV4Y2VwdGlvblRocm93ZXIgewotICAvLyBUaGlzIGF0dHJpYnV0ZSBhbHdheXMgdGhy
b3dzIGEgU29tZUV4Y2VwdGlvbiBhbmQgbmV2ZXIgcmV0dXJucyBhIHZhbHVlLgotICBhdHRyaWJ1
dGUgbG9uZyB2YWx1ZU9mIGdldHJhaXNlcyhTb21lRXhjZXB0aW9uKTsKLX07ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL3JlYWRv
bmx5LWl0ZXJhYmxlLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvcmVhZG9ubHktaXRlcmFi
bGUud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjA1N2FhMWZlYmE2NGViY2U2
MWM5ZWMwNjdmNjI1MGYwMzZlZmEwZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvcmVhZG9ubHktaXRlcmFibGUud2lk
bAorKysgL2Rldi9udWxsCkBAIC0xLDMgKzAsMCBAQAotaW50ZXJmYWNlIFJlYWRvbmx5SXRlcmFi
bGUgewotICByZWFkb25seSBpdGVyYWJsZTxsb25nPjsKLX0KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvcmVjb3JkLWtleS13aXRo
LWV4dGVuZGVkLWF0dHJpYnV0ZS53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL3JlY29yZC1r
ZXktd2l0aC1leHRlbmRlZC1hdHRyaWJ1dGUud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggYzExZWI3NDE0YjBiOGZjZDlmMmY2YTE4MzNiYzc2NDE4NWIwNTFmZS4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9p
ZGwvcmVjb3JkLWtleS13aXRoLWV4dGVuZGVkLWF0dHJpYnV0ZS53aWRsCisrKyAvZGV2L251bGwK
QEAgLTEsMyArMCwwIEBACi1pbnRlcmZhY2UgRm9vIHsKLSAgdm9pZCBmb28ocmVjb3JkPFtYQXR0
cl0gRE9NU3RyaW5nLCBhbnk+IHBhcmFtKTsKLX07CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52
YWxpZC9pZGwvcmVjb3JkLWtleS53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL3JlY29yZC1r
ZXkud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzlkYzM4NjE4MmY4MDlkZjY1
MWQ3NzcxNWFiNTUzMzhmNjNhYTZmNS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvcmVjb3JkLWtleS53aWRsCisrKyAv
ZGV2L251bGwKQEAgLTEsMyArMCwwIEBACi1pbnRlcmZhY2UgRm9vIHsKLSAgdm9pZCBmb28ocmVj
b3JkPG9jdGV0LCBhbnk+IHBhcmFtKTsKLX07CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxp
ZC9pZGwvcmVjb3JkLXNpbmdsZS53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL3JlY29yZC1z
aW5nbGUud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODRkYjQwMjgyNDMzYjg1
ZjZhMjljZDIzNmZkZDUxYWZlNDJjNTNhOC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvcmVjb3JkLXNpbmdsZS53aWRs
CisrKyAvZGV2L251bGwKQEAgLTEsMyArMCwwIEBACi1pbnRlcmZhY2UgRm9vIHsKLSAgdm9pZCBm
b28ocmVjb3JkPERPTVN0cmluZz4gcGFyYW0pOwotfTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9p
bnZhbGlkL2lkbC9zY29wZWRuYW1lLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvc2NvcGVk
bmFtZS53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjZmNiMWNjYzkzOTVjZDQy
ZWQ1MTkyZmU0ZWEwOTQ1NTBmNzM1NGVlLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9zY29wZWRuYW1lLndpZGwKKysr
IC9kZXYvbnVsbApAQCAtMSwyICswLDAgQEAKLS8vIHNjb3BlZCBuYW1lcyBhcmUgbm8gbG9uZ2Vy
IHZhbGlkIGluIFdlYklETAotICB0eXBlZGVmIGdmeDo6Z2VvbTo6Z2VvbTJkOjpQb2ludCBQb2lu
dDsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9zZXF1ZW5jZUFzQXR0cmlidXRl
LndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvc2VxdWVuY2VBc0F0dHJpYnV0ZS53aWRsCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjMjNkYTgyYWMyMjE5OGFhNTdlMWRhYmI2NGZh
N2JhMTI1Yzc1OTk2Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9zZXF1ZW5jZUFzQXR0cmlidXRlLndpZGwKKysrIC9k
ZXYvbnVsbApAQCAtMSwzICswLDAgQEAKLWludGVyZmFjZSBzZXF1ZW5jZUFzQXR0cmlidXRlIHsK
LSAgYXR0cmlidXRlIHNlcXVlbmNlPHNob3J0PiBpbnZhbGlkOwotfTsKXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvc2V0bGlrZS0y
dHlwZXMud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9zZXRsaWtlLTJ0eXBlcy53aWRsCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjMjY4MWJjNzVmMWU4YjM4YTJiODNjZTllZTVh
MjYyZmJkY2RhNzYyLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9zZXRsaWtlLTJ0eXBlcy53aWRsCisrKyAvZGV2L251
bGwKQEAgLTEsMyArMCwwIEBACi1pbnRlcmZhY2UgU2V0TGlrZVR3b1R5cGVzIHsKLSAgc2V0bGlr
ZTxsb25nLCBsb25nPjsKLX0KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvc2V0dGVyLWNyZWF0b3Iud2lkbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9p
bnZhbGlkL2lkbC9zZXR0ZXItY3JlYXRvci53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCBhNzBiMjY3NzRkNzIyZjk5MTE5YjhlN2NlOTc1YjExNjI3MzM4MTQ1Li4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lk
bC9zZXR0ZXItY3JlYXRvci53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsNCArMCwwIEBACi0vLyBF
eHRyYWN0ZWQgZnJvbSBodHRwOi8vZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJJREwvIG9uIDIw
MTEtMDUtMDYKLWludGVyZmFjZSBPcmRlcmVkTWFwIHsKLSAgc2V0dGVyIGNyZWF0b3Igdm9pZCBz
ZXQoRE9NU3RyaW5nIG5hbWUsIGFueSB2YWx1ZSk7Ci19OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L2ludmFsaWQvaWRsL3NwYWNlZC1uZWdhdGl2ZS1pbmZpbml0eS53aWRsIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2lu
dmFsaWQvaWRsL3NwYWNlZC1uZWdhdGl2ZS1pbmZpbml0eS53aWRsCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAzZDcxMjIyZTU0YjU5MjkwNjJmYzdiMjA4MGI5OTEwN2U5ZjExOWMyLi4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9p
bnZhbGlkL2lkbC9zcGFjZWQtbmVnYXRpdmUtaW5maW5pdHkud2lkbAorKysgL2Rldi9udWxsCkBA
IC0xLDMgKzAsMCBAQAotaW50ZXJmYWNlIFggewotICAgIGNvbnN0IGZsb2F0IGluZmluaXR5ID0g
LSBJbmZpbml0eTsKLX07CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvc3BhY2Vk
LXZhcmlhZGljLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvc3BhY2VkLXZhcmlhZGljLndp
ZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZkNzdlMTg2ZDY2NzBmZDAzNTE5MzRk
YjEyYmUwMWY3ZDRhZmYwMWEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL3NwYWNlZC12YXJpYWRpYy53aWRsCisrKyAv
ZGV2L251bGwKQEAgLTEsMyArMCwwIEBACi1pbnRlcmZhY2UgWCB7Ci0gICAgdm9pZCBvcGVyYXRp
b24ob2JqZWN0IC4gLiAuIGFyZ3MpOwotfTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlk
L2lkbC9zcGVjaWFsLW9taXR0YWJsZS53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL3NwZWNp
YWwtb21pdHRhYmxlLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRkMGMxYjE4
NTg5OTc5YzRiYWJhMzAxYTZlNzkyYmIxZDFlY2E0ZTEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL3NwZWNpYWwtb21p
dHRhYmxlLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSw4ICswLDAgQEAKLS8vIEV4dHJhY3RlZCBm
cm9tIGh0dHA6Ly9kZXYudzMub3JnLzIwMDYvd2ViYXBpL1dlYklETC8gb24gMjAxMS0wNS0wNgot
Ly8gb21pdHRhYmxlIGlzIG5vIGxvbmdlciBhIHJlY29nbml6ZWQga2V5d29yZCBhcyBvZiAyMDEx
MDkwNQotaW50ZXJmYWNlIERpY3Rpb25hcnkgewotICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWdu
ZWQgbG9uZyBwcm9wZXJ0eUNvdW50OwotCi0gIG9taXR0YWJsZSBnZXR0ZXIgZmxvYXQgZ2V0UHJv
cGVydHkoRE9NU3RyaW5nIHByb3BlcnR5TmFtZSk7Ci0gIG9taXR0YWJsZSBzZXR0ZXIgdm9pZCBz
ZXRQcm9wZXJ0eShET01TdHJpbmcgcHJvcGVydHlOYW1lLCBmbG9hdCBwcm9wZXJ0eVZhbHVlKTsK
LX07ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2lu
dmFsaWQvaWRsL3N0cmF5LXNsYXNoLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvc3RyYXkt
c2xhc2gud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjY3M2FhOTRiMDFkNjVh
MGI2NjY4NzlmOGM4OTljODYxMTFjN2FiNC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvc3RyYXktc2xhc2gud2lkbAor
KysgL2Rldi9udWxsCkBAIC0xLDIgKzAsMCBAQAotLy8gVGhpcyBpcyBhIGNvbW1lbnQuCi0vIFRo
aXMgaXMgbm90LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL3N0cmluZ2NvbnN0
YW50cy53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL3N0cmluZ2NvbnN0YW50cy53aWRsCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0NGZkM2ZmMTM2ZWU1NjcxNjM3ZDAyY2I4MDk2
NGRkYmEwOTJhNjU4Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9zdHJpbmdjb25zdGFudHMud2lkbAorKysgL2Rldi9u
dWxsCkBAIC0xLDMgKzAsMCBAQAotaW50ZXJmYWNlIFV0aWwgewotICBjb25zdCBET01TdHJpbmcg
aGVsbG8gPSAid29ybGQiOwotfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvdHlwZWRlZi1uZXN0ZWQud2lkbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC9pbnZhbGlkL2lkbC90eXBlZGVmLW5lc3RlZC53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCBkZmQzNzdiZjkzMmI5OGNjZWVlYjY5NzU1ZThlYWNmYTM4NDE3YWUwLi4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlk
L2lkbC90eXBlZGVmLW5lc3RlZC53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsMjIgKzAsMCBAQAot
Ci0gICAgICBpbnRlcmZhY2UgUG9pbnQgewotICAgICAgICBhdHRyaWJ1dGUgZmxvYXQgeDsKLSAg
ICAgICAgYXR0cmlidXRlIGZsb2F0IHk7Ci0gICAgICB9OwotCi0KLSAgICAgIGludGVyZmFjZSBS
ZWN0IHsKLSAgICAgICAgYXR0cmlidXRlIFBvaW50IHRvcGxlZnQ7Ci0gICAgICAgIGF0dHJpYnV0
ZSBQb2ludCBib3R0b21yaWdodDsKLSAgICAgIH07Ci0KLSAgaW50ZXJmYWNlIFdpZGdldCB7Ci0g
ICAgdHlwZWRlZiBzZXF1ZW5jZTxQb2ludD4gUG9pbnRTZXF1ZW5jZTsKLQotICAgIHJlYWRvbmx5
IGF0dHJpYnV0ZSBSZWN0IGJvdW5kczsKLQotICAgIGJvb2xlYW4gcG9pbnRXaXRoaW5Cb3VuZHMo
UG9pbnQgcCk7Ci0gICAgYm9vbGVhbiBhbGxQb2ludHNXaXRoaW5Cb3VuZHMoUG9pbnRTZXF1ZW5j
ZSBwcyk7Ci0gIH07Ci0KLSAgdHlwZWRlZiBbQ2xhbXBdIG9jdGV0IHZhbHVlOwpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC91bmlv
bi1kYW5nbGluZy1vci53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL3VuaW9uLWRhbmdsaW5n
LW9yLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDBhYTA0M2U5YWNhOTU4N2Rm
YjVjNDRlZjk2NDc3Yjk4ZDUyMTVlZDQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL3VuaW9uLWRhbmdsaW5nLW9yLndp
ZGwKKysrIC9kZXYvbnVsbApAQCAtMSArMCwwIEBACi10eXBlZGVmIChPbmUgb3IgVHdvIG9yKSBV
bmlvbk9yOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL3VuaW9uLW9uZS53aWRs
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL3VuaW9uLW9uZS53aWRsCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCA4NmVlOTZmNTE2ZDYzNTM2YTE3YmYxZWY1Y2I4ZDE3OGRjMGNhMzI2Li4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9p
bnZhbGlkL2lkbC91bmlvbi1vbmUud2lkbAorKysgL2Rldi9udWxsCkBAIC0xICswLDAgQEAKLXR5
cGVkZWYgKE9ubHlPbmUpIFVuaW9uT25lOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQv
aWRsL3VuaW9uLXplcm8ud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC91bmlvbi16ZXJvLndp
ZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDE3N2ZjNGM3MDhmOTAxYzA4OTk4MzMx
N2I1ZGJjZTIzOTQxMzI5YjEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL3VuaW9uLXplcm8ud2lkbAorKysgL2Rldi9u
dWxsCkBAIC0xICswLDAgQEAKLXR5cGVkZWYgKCkgVW5pb25aZXJvOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L2ludmFsaWQvaWRsL3Vua25vd24tZ2VuZXJpYy53aWRsIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFs
aWQvaWRsL3Vua25vd24tZ2VuZXJpYy53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCBlZTRhMmRiNzRhNjNiZGVmMTFkMjkyMGU2YjY5OGI3YjRkYzBmMTU1Li4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC91
bmtub3duLWdlbmVyaWMud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDMgKzAsMCBAQAotaW50ZXJm
YWNlIEZldGNoRXZlbnQgOiBFdmVudCB7Ci0gIFJlc3BvbnNlUHJvbWlzZTxhbnk+IGRlZmF1bHQo
KTsKLX07CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvdzNjLWltcG9ydC5sb2cg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvdzNjLWltcG9ydC5sb2cKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IGYyY2ViNGRmNmVjN2Q1NmRlOTFlODBkODVkOGUzYTQyOWRiMDNkNWMuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2lu
dmFsaWQvaWRsL3czYy1pbXBvcnQubG9nCisrKyAvZGV2L251bGwKQEAgLTEsNTYgKzAsMCBAQAot
VGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJl
cG9zaXRvcnkuCi1EbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4K
LUluc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKLQlodHRw
czovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdAotCi1UaGVuIHJ1biB0aGUgVG9v
bHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydAotCi1EbyBO
T1QgbW9kaWZ5IG9yIHJlbW92ZSB0aGlzIGZpbGUuCi0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotUHJvcGVy
dGllcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgotTm9uZQotUHJvcGVydHkgdmFsdWVzIHJl
cXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6Ci1Ob25lCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLUxpc3Qgb2Yg
ZmlsZXM6Ci0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL2FycmF5LndpZGwKLS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52
YWxpZC9pZGwvY2FsbGVyLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvZGljdC1yZXF1aXJl
ZC1kZWZhdWx0LndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvZHVwbGljYXRlLndpZGwKLS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3QvaW52YWxpZC9pZGwvZW51bS1lbXB0eS53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQv
aWRsL2VudW0td28tY29tbWEud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9lbnVtLndpZGwK
LS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvZXhjZXB0aW9uLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxp
ZC9pZGwvZXh0YXR0ci1lbXB0eS1pZHMud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9pZC11
bmRlcnNjb3JlZC1udW1iZXIud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9pbXBsZW1lbnRz
X2FuZF9pbmNsdWRlc193cy53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL2l0ZXJhdG9yLndp
ZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvbWFwbGlrZS0xdHlwZS53aWRsCi0vTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L2ludmFsaWQvaWRsL21vZHVsZS53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL25hbWVzcGFj
ZS1yZWFkd3JpdGUud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9uby1zZW1pY29sb24tY2Fs
bGJhY2sud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9uby1zZW1pY29sb24ud2lkbAotL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC9pbnZhbGlkL2lkbC9ub25udWxsYWJsZWFueS53aWRsCi0vTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFs
aWQvaWRsL25vbm51bGxhYmxlb2JqZWN0cy53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL3By
b21pc2UtbnVsbGFibGUud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9wcm9taXNlLXdpdGgt
ZXh0ZW5kZWQtYXR0cmlidXRlLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvcmFpc2VzLndp
ZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvcmVhZG9ubHktaXRlcmFibGUud2lkbAotL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC9pbnZhbGlkL2lkbC9yZWNvcmQta2V5LXdpdGgtZXh0ZW5kZWQtYXR0cmlidXRlLndpZGwK
LS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvcmVjb3JkLWtleS53aWRsCi0vTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFs
aWQvaWRsL3JlY29yZC1zaW5nbGUud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9zY29wZWRu
YW1lLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvc2VxdWVuY2VBc0F0dHJpYnV0ZS53aWRs
Ci0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL3NldGxpa2UtMnR5cGVzLndpZGwKLS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
aW52YWxpZC9pZGwvc2V0dGVyLWNyZWF0b3Iud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9z
cGFjZWQtbmVnYXRpdmUtaW5maW5pdHkud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9zcGFj
ZWQtdmFyaWFkaWMud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9zcGVjaWFsLW9taXR0YWJs
ZS53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL3N0cmF5LXNsYXNoLndpZGwKLS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3QvaW52YWxpZC9pZGwvc3RyaW5nY29uc3RhbnRzLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9p
ZGwvdHlwZWRlZi1uZXN0ZWQud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC91bmlvbi1kYW5n
bGluZy1vci53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL3VuaW9uLW9uZS53aWRsCi0vTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L2ludmFsaWQvaWRsL3VuaW9uLXplcm8ud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lk
bC91bmtub3duLWdlbmVyaWMud2lkbApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNv
bi9hcnJheS5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9hcnJheS5qc29uCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4OThiMmQ4MzZiZmY4MTMzMGQ3MzRlMGJhMTAzNzJlOTc3
MmZkNTIzLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC9pbnZhbGlkL2pzb24vYXJyYXkuanNvbgorKysgL2Rldi9udWxsCkBAIC0xLDQgKzAs
MCBAQAotewotICAgICJtZXNzYWdlIjogIkdvdCBhbiBlcnJvciBkdXJpbmcgb3IgcmlnaHQgYWZ0
ZXIgcGFyc2luZyBgaW50ZXJmYWNlIExvdHRlcnlSZXN1bHRzYDogTm8gbmFtZSBpbiBhdHRyaWJ1
dGUiLAotICAgICJsaW5lIjogNQotfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNv
bi9jYWxsZXIuanNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vY2FsbGVyLmpzb24KZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDU2N2ZhMzM2ODEyOWY5YjZkNTRiYjNiYjRjMGY5ZDRk
NTAxODY1MjUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L2ludmFsaWQvanNvbi9jYWxsZXIuanNvbgorKysgL2Rldi9udWxsCkBAIC0xLDQg
KzAsMCBAQAotewotICAgICJtZXNzYWdlIjogIkdvdCBhbiBlcnJvciBkdXJpbmcgb3IgcmlnaHQg
YWZ0ZXIgcGFyc2luZyBgaW50ZXJmYWNlIE51bWJlclF1YWRydXBsZXJgOiBJbnZhbGlkIG9wZXJh
dGlvbiIsCi0gICAgImxpbmUiOiA2Ci19CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9q
c29uL2RpY3QtcmVxdWlyZWQtZGVmYXVsdC5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9k
aWN0LXJlcXVpcmVkLWRlZmF1bHQuanNvbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
ODJiNmIyYWU0MmE2ZjYxYTIwYTMyYmNiNjdmNDQ0NjFiYTdhZGFlMS4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL2Rp
Y3QtcmVxdWlyZWQtZGVmYXVsdC5qc29uCisrKyAvZGV2L251bGwKQEAgLTEsNCArMCwwIEBACi17
Ci0gICAgIm1lc3NhZ2UiOiAgIkdvdCBhbiBlcnJvciBkdXJpbmcgb3IgcmlnaHQgYWZ0ZXIgcGFy
c2luZyBgZGljdGlvbmFyeSBEaWN0YDogUmVxdWlyZWQgbWVtYmVyIG11c3Qgbm90IGhhdmUgYSBk
ZWZhdWx0IgotLCAgICJsaW5lIjogICAgIDQKLX0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZh
bGlkL2pzb24vZHVwbGljYXRlLmpzb24gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL2R1cGxpY2F0
ZS5qc29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlODhhNzE1NmZlOGMxYzYwMmVi
ZTFhZThkNjZjYmVlYmU2OWZmMDYwLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vZHVwbGljYXRlLmpzb24KKysrIC9k
ZXYvbnVsbApAQCAtMSw0ICswLDAgQEAKLXsKLSAgICAibWVzc2FnZSI6ICJHb3QgYW4gZXJyb3Ig
ZHVyaW5nIG9yIHJpZ2h0IGFmdGVyIHBhcnNpbmcgYHR5cGVkZWYgVGVzdGA6IFRoZSBuYW1lIFwi
VGVzdFwiIG9mIHR5cGUgXCJ0eXBlZGVmXCIgaXMgYWxyZWFkeSBzZWVuIiwKLSAgICAibGluZSI6
IDMKLX0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vZW51bS1lbXB0eS5qc29u
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9lbnVtLWVtcHR5Lmpzb24KZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDczNGJjNjdkZTFmZDY3ZTk4YzhjOGQ3OGJkZTQ1YzYyZmIzMjAxZWQu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L2ludmFsaWQvanNvbi9lbnVtLWVtcHR5Lmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSw0ICswLDAg
QEAKLXsKLSAgICAibWVzc2FnZSI6ICJHb3QgYW4gZXJyb3IgZHVyaW5nIG9yIHJpZ2h0IGFmdGVy
IHBhcnNpbmcgYGVudW0gRW1wdHlgOiBObyB2YWx1ZSBpbiBlbnVtIiwKLSAgICAibGluZSI6IDEK
LX0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vZW51bS13by1jb21tYS5qc29u
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9lbnVtLXdvLWNvbW1hLmpzb24KZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IGJmZDBiMDk1MWZjZThkMjU3MzlkMmUxOGEwMjdlN2ZjNjAwZDli
MTQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L2ludmFsaWQvanNvbi9lbnVtLXdvLWNvbW1hLmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSw0
ICswLDAgQEAKLXsKLSAgICAibWVzc2FnZSI6ICJHb3QgYW4gZXJyb3IgZHVyaW5nIG9yIHJpZ2h0
IGFmdGVyIHBhcnNpbmcgYGVudW0gTm9Db21tYWA6IE5vIGNvbW1hIGJldHdlZW4gZW51bSB2YWx1
ZXMiLAotICAgICJsaW5lIjogMQotfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNv
bi9lbnVtLmpzb24gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL2VudW0uanNvbgpkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDczZmY2YzI5MGNhZmRmNjE0OTA5YjhmNmVmMjdiYTBhNGM1
ODI5ZC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3QvaW52YWxpZC9qc29uL2VudW0uanNvbgorKysgL2Rldi9udWxsCkBAIC0xLDQgKzAsMCBA
QAotewotICAgICJtZXNzYWdlIjogICJHb3QgYW4gZXJyb3IgZHVyaW5nIG9yIHJpZ2h0IGFmdGVy
IHBhcnNpbmcgYGVudW0gZm9vYDogVW5leHBlY3RlZCB2YWx1ZSBpbiBlbnVtIgotLCAgICJsaW5l
IjogICAgIDEKLX0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vZXhjZXB0aW9u
Lmpzb24gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL2V4Y2VwdGlvbi5qc29uCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCBhZDlmYWM2Y2EyZjY0ZTcwODM0MjE1MTZhOWNlYjllNjM5NzU1
NWVjLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC9pbnZhbGlkL2pzb24vZXhjZXB0aW9uLmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSw0ICsw
LDAgQEAKLXsKLSAgICAibWVzc2FnZSI6ICJHb3QgYW4gZXJyb3IgYmVmb3JlIHBhcnNpbmcgYW55
IG5hbWVkIGRlZmluaXRpb246IFVucmVjb2duaXNlZCB0b2tlbnMiLAotICAgICJsaW5lIjogNAot
fQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9leHRhdHRyLWVtcHR5LWlkcy5q
c29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9leHRhdHRyLWVtcHR5LWlkcy5qc29uCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0MzM3ZjFlMTgwYzI4ODgxNTE0ODQ1ZDU0NTU3ODE5
Njc0YTc2NDE4Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vZXh0YXR0ci1lbXB0eS1pZHMuanNvbgorKysgL2Rldi9u
dWxsCkBAIC0xLDQgKzAsMCBAQAotewotICAgICJtZXNzYWdlIjogIkdvdCBhbiBlcnJvciBiZWZv
cmUgcGFyc2luZyBhbnkgbmFtZWQgZGVmaW5pdGlvbjogRXhwZWN0ZWQgaWRlbnRpZmllcnMgYnV0
IG5vdCBmb3VuZCIsCi0gICAgImxpbmUiOiAxCi19CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52
YWxpZC9qc29uL2lkLXVuZGVyc2NvcmVkLW51bWJlci5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQv
anNvbi9pZC11bmRlcnNjb3JlZC1udW1iZXIuanNvbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggNDE5ZWQ5NDZmY2EwNWMyMDk3ZmYzYzJjNDhiOTFjYjExZTVhMWIyYS4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9q
c29uL2lkLXVuZGVyc2NvcmVkLW51bWJlci5qc29uCisrKyAvZGV2L251bGwKQEAgLTEsNCArMCww
IEBACi17Ci0gICAgIm1lc3NhZ2UiOiAiR290IGFuIGVycm9yIGJlZm9yZSBwYXJzaW5nIGFueSBu
YW1lZCBkZWZpbml0aW9uOiBObyBuYW1lIGZvciBpbnRlcmZhY2UiLAotICAgICJsaW5lIjogMQot
fQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9pbXBsZW1lbnRzX2FuZF9pbmNs
dWRlc193cy5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9pbXBsZW1lbnRzX2FuZF9pbmNs
dWRlc193cy5qc29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhZDlmYWM2Y2EyZjY0
ZTcwODM0MjE1MTZhOWNlYjllNjM5NzU1NWVjLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vaW1wbGVtZW50c19hbmRf
aW5jbHVkZXNfd3MuanNvbgorKysgL2Rldi9udWxsCkBAIC0xLDQgKzAsMCBAQAotewotICAgICJt
ZXNzYWdlIjogIkdvdCBhbiBlcnJvciBiZWZvcmUgcGFyc2luZyBhbnkgbmFtZWQgZGVmaW5pdGlv
bjogVW5yZWNvZ25pc2VkIHRva2VucyIsCi0gICAgImxpbmUiOiA0Ci19CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3QvaW52YWxpZC9qc29uL2l0ZXJhdG9yLmpzb24gYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9q
c29uL2l0ZXJhdG9yLmpzb24KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGU0NmQ2NTNh
ZTNjNTEyOTNkNTg0MDQ1Y2RhZGQ2YzBhMzAxMjA2ZmUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9pdGVyYXRvci5q
c29uCisrKyAvZGV2L251bGwKQEAgLTEsNCArMCwwIEBACi17Ci0gICAgIm1lc3NhZ2UiOiAiR290
IGFuIGVycm9yIGR1cmluZyBvciByaWdodCBhZnRlciBwYXJzaW5nIGBpbnRlcmZhY2UgU2Vzc2lv
bk1hbmFnZXJgOiBJbnZhbGlkIG9wZXJhdGlvbiIsCi0gICAgImxpbmUiOiA1Ci19CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL21hcGxpa2UtMXR5cGUuanNvbiBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC9pbnZhbGlkL2pzb24vbWFwbGlrZS0xdHlwZS5qc29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCA3NWU3YTM1ZWUyNTZlOTEzNTc5OTRmZjhhODViMTgyOGNiNDgxMTJlLi4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlk
L2pzb24vbWFwbGlrZS0xdHlwZS5qc29uCisrKyAvZGV2L251bGwKQEAgLTEsNCArMCwwIEBACi17
Ci0gICAgIm1lc3NhZ2UiOiAiR290IGFuIGVycm9yIGR1cmluZyBvciByaWdodCBhZnRlciBwYXJz
aW5nIGBpbnRlcmZhY2UgTWFwTGlrZU9uZVR5cGVgOiBNaXNzaW5nIHNlY29uZCB0eXBlIGFyZ3Vt
ZW50IGluIG1hcGxpa2UgZGVjbGFyYXRpb24iLAotICAgICJsaW5lIjogMgotfQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9tb2R1bGUuanNvbiBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlk
L2pzb24vbW9kdWxlLmpzb24KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDljMDcxY2Rk
MDdhN2EzOWVkMTg1OTJlODIxMDBkOGQ1MDA2NWEwMzAuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9tb2R1bGUuanNv
bgorKysgL2Rldi9udWxsCkBAIC0xLDQgKzAsMCBAQAotewotICAgICJtZXNzYWdlIjogICJHb3Qg
YW4gZXJyb3IgYmVmb3JlIHBhcnNpbmcgYW55IG5hbWVkIGRlZmluaXRpb246IFVucmVjb2duaXNl
ZCB0b2tlbnMiCi0sICAgImxpbmUiOiAgICAgMgotfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2lu
dmFsaWQvanNvbi9uYW1lc3BhY2UtcmVhZHdyaXRlLmpzb24gYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9q
c29uL25hbWVzcGFjZS1yZWFkd3JpdGUuanNvbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggZDIxMjE1MTExZjFlZTI3YWU3M2RmMDM1MzQ5YzU3NmM2NDM2MmE0My4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29u
L25hbWVzcGFjZS1yZWFkd3JpdGUuanNvbgorKysgL2Rldi9udWxsCkBAIC0xLDQgKzAsMCBAQAot
ewotICAgICJtZXNzYWdlIjogIkdvdCBhbiBlcnJvciBkdXJpbmcgb3IgcmlnaHQgYWZ0ZXIgcGFy
c2luZyBgbmFtZXNwYWNlIENTU2A6IEF0dHJpYnV0ZXMgbXVzdCBiZSByZWFkb25seSBpbiB0aGlz
IGNvbnRleHQiLAotICAgICJsaW5lIjogMgotfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFs
aWQvanNvbi9uby1zZW1pY29sb24tY2FsbGJhY2suanNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pz
b24vbm8tc2VtaWNvbG9uLWNhbGxiYWNrLmpzb24KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDFkYjlkMTRjOGUyYzUxMjA0YTFlMmEyZDdkMWU5OGMzMDY2MTA2ZWYuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNv
bi9uby1zZW1pY29sb24tY2FsbGJhY2suanNvbgorKysgL2Rldi9udWxsCkBAIC0xLDQgKzAsMCBA
QAotewotICAgICJtZXNzYWdlIjogIkdvdCBhbiBlcnJvciBkdXJpbmcgb3IgcmlnaHQgYWZ0ZXIg
cGFyc2luZyBgY2FsbGJhY2sgaW50ZXJmYWNlIE5vU2VtaWNvbG9uYDogTWlzc2luZyBzZW1pY29s
b24gYWZ0ZXIgaW50ZXJmYWNlIiwKLSAgICAibGluZSI6IDUKLX0KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC9pbnZhbGlkL2pzb24vbm8tc2VtaWNvbG9uLmpzb24gYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9q
c29uL25vLXNlbWljb2xvbi5qc29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwODc1
MzJhMDEyZjU5Mjc2OTc2YjcwYjE3MDllOTI3YzJkZGQwNzk3Li4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vbm8tc2Vt
aWNvbG9uLmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSw0ICswLDAgQEAKLXsKLSAgICAibWVzc2Fn
ZSI6ICJHb3QgYW4gZXJyb3IgZHVyaW5nIG9yIHJpZ2h0IGFmdGVyIHBhcnNpbmcgYHBhcnRpYWwg
aW50ZXJmYWNlIE5vU2VtaWNvbG9uYDogTWlzc2luZyBzZW1pY29sb24gYWZ0ZXIgaW50ZXJmYWNl
IiwKLSAgICAibGluZSI6IDUKLX0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24v
bm9ubnVsbGFibGVhbnkuanNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vbm9ubnVsbGFibGVh
bnkuanNvbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOGExZjkwMDQ2YWU0ZDlkZjhj
NThiZjE3ZTBjMmVkNmJkYzdjNGZkMC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL25vbm51bGxhYmxlYW55Lmpzb24K
KysrIC9kZXYvbnVsbApAQCAtMSw0ICswLDAgQEAKLXsKLSAgICAibWVzc2FnZSI6ICAiR290IGFu
IGVycm9yIGR1cmluZyBvciByaWdodCBhZnRlciBwYXJzaW5nIGBpbnRlcmZhY2UgTm9uTnVsbGFi
bGVgOiBUeXBlIGFueSBjYW5ub3QgYmUgbWFkZSBudWxsYWJsZSIKLSwgICAibGluZSI6ICAgICAy
Ci19CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL25vbm51bGxhYmxlb2JqZWN0
cy5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9ub25udWxsYWJsZW9iamVjdHMuanNvbgpk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDQ3MGVjOTRhNjA2YzZjYWEwMTkwMWQ5NzI0
MTI4ZDMxMTExZDIxNi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL25vbm51bGxhYmxlb2JqZWN0cy5qc29uCisrKyAv
ZGV2L251bGwKQEAgLTEsNCArMCwwIEBACi17Ci0gICAgIm1lc3NhZ2UiOiAiR290IGFuIGVycm9y
IGR1cmluZyBvciByaWdodCBhZnRlciBwYXJzaW5nIGBpbnRlcmZhY2UgTm9uTnVsbGFibGVgOiBD
YW4ndCBudWxsYWJsZSBtb3JlIHRoYW4gb25jZSIsCi0gICAgImxpbmUiOiA0Ci19CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL3Byb21pc2UtbnVsbGFibGUuanNvbiBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC9pbnZhbGlkL2pzb24vcHJvbWlzZS1udWxsYWJsZS5qc29uCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCBjZWQ1MWZhZjFiZTRkZjc1NmI0YmM5ODczNTZhZDg4YWRhMGYwMDM4Li4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9p
bnZhbGlkL2pzb24vcHJvbWlzZS1udWxsYWJsZS5qc29uCisrKyAvZGV2L251bGwKQEAgLTEsNCAr
MCwwIEBACi17Ci0gICAgIm1lc3NhZ2UiOiAiR290IGFuIGVycm9yIGR1cmluZyBvciByaWdodCBh
ZnRlciBwYXJzaW5nIGBpbnRlcmZhY2UgWGA6IFByb21pc2UgdHlwZSBjYW5ub3QgYmUgbnVsbGFi
bGUiLAotICAgICJsaW5lIjogMgotfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNv
bi9wcm9taXNlLXdpdGgtZXh0ZW5kZWQtYXR0cmlidXRlLmpzb24gYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxp
ZC9qc29uL3Byb21pc2Utd2l0aC1leHRlbmRlZC1hdHRyaWJ1dGUuanNvbgpkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggNzEyMTJkNDZlM2MwMTFhZWQ2NGNiNmI2MDA4YTRhMWI0MjdkMTRi
Zi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3QvaW52YWxpZC9qc29uL3Byb21pc2Utd2l0aC1leHRlbmRlZC1hdHRyaWJ1dGUuanNvbgorKysg
L2Rldi9udWxsCkBAIC0xLDQgKzAsMCBAQAotewotICAgICJtZXNzYWdlIjogIkdvdCBhbiBlcnJv
ciBkdXJpbmcgb3IgcmlnaHQgYWZ0ZXIgcGFyc2luZyBgaW50ZXJmYWNlIEZvb2A6IFByb21pc2Ug
dHlwZSBjYW5ub3QgaGF2ZSBleHRlbmRlZCBhdHRyaWJ1dGUiLAotICAgICJsaW5lIjogMgotfQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9yYWlzZXMuanNvbiBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC9pbnZhbGlkL2pzb24vcmFpc2VzLmpzb24KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDMxNjViODc0ZjBjMTg5MTE4NmI0NzliNjQ2MGMwYWU5MGE4NTMzZGIuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9y
YWlzZXMuanNvbgorKysgL2Rldi9udWxsCkBAIC0xLDQgKzAsMCBAQAotewotICAgICJtZXNzYWdl
IjogICJHb3QgYW4gZXJyb3IgZHVyaW5nIG9yIHJpZ2h0IGFmdGVyIHBhcnNpbmcgYGludGVyZmFj
ZSBQZXJzb25gOiBVbnRlcm1pbmF0ZWQgYXR0cmlidXRlIgotLCAgICJsaW5lIjogICAgIDUKLX0K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vcmVhZG9ubHktaXRlcmFibGUuanNv
biBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vcmVhZG9ubHktaXRlcmFibGUuanNvbgpkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTU3MWIyMjI3MWI4MGUxZjg2M2ZkYmEyNjM2MDM1MThh
NzE4OTliMy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3QvaW52YWxpZC9qc29uL3JlYWRvbmx5LWl0ZXJhYmxlLmpzb24KKysrIC9kZXYvbnVs
bApAQCAtMSw0ICswLDAgQEAKLXsKLSAgICAibWVzc2FnZSI6ICJHb3QgYW4gZXJyb3IgZHVyaW5n
IG9yIHJpZ2h0IGFmdGVyIHBhcnNpbmcgYGludGVyZmFjZSBSZWFkb25seUl0ZXJhYmxlYDogTWlz
c2luZyByZXR1cm4gdHlwZSIsCi0gICAgImxpbmUiOiAyCi19CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3QvaW52YWxpZC9qc29uL3JlY29yZC1rZXktd2l0aC1leHRlbmRlZC1hdHRyaWJ1dGUuanNvbiBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vcmVjb3JkLWtleS13aXRoLWV4dGVuZGVkLWF0dHJpYnV0
ZS5qc29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0MDAyZTdmZTAxNTVkNWJjMmQ2
MTVkNTVhNGU0ZTk3NmUxM2UzOGE4Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vcmVjb3JkLWtleS13aXRoLWV4dGVu
ZGVkLWF0dHJpYnV0ZS5qc29uCisrKyAvZGV2L251bGwKQEAgLTEsNCArMCwwIEBACi17Ci0gICAg
Im1lc3NhZ2UiOiAiR290IGFuIGVycm9yIGR1cmluZyBvciByaWdodCBhZnRlciBwYXJzaW5nIGBp
bnRlcmZhY2UgRm9vYDogUmVjb3JkIGtleSBjYW5ub3QgaGF2ZSBleHRlbmRlZCBhdHRyaWJ1dGUi
LAotICAgICJsaW5lIjogMgotfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9y
ZWNvcmQta2V5Lmpzb24gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL3JlY29yZC1rZXkuanNvbgpk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmYxYmI5OWJlOTA4MDg3M2FkYzBjN2M2ODVk
Y2EwZDU1YzJiNjdlYy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL3JlY29yZC1rZXkuanNvbgorKysgL2Rldi9udWxs
CkBAIC0xLDQgKzAsMCBAQAotewotICAgICJtZXNzYWdlIjogIkdvdCBhbiBlcnJvciBkdXJpbmcg
b3IgcmlnaHQgYWZ0ZXIgcGFyc2luZyBgaW50ZXJmYWNlIEZvb2A6IFJlY29yZCBrZXkgbXVzdCBi
ZSBhIHN0cmluZyB0eXBlIiwKLSAgICAibGluZSI6IDIKLX0KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC9pbnZhbGlkL2pzb24vcmVjb3JkLXNpbmdsZS5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNv
bi9yZWNvcmQtc2luZ2xlLmpzb24KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGVjZTRm
YjJmZWUzYzA3YzNhYTYyNDFlM2MwY2I2ZWQ1NDc3MjU3ZGIuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9yZWNvcmQt
c2luZ2xlLmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSw0ICswLDAgQEAKLXsKLSAgICAibWVzc2Fn
ZSI6ICJHb3QgYW4gZXJyb3IgZHVyaW5nIG9yIHJpZ2h0IGFmdGVyIHBhcnNpbmcgYGludGVyZmFj
ZSBGb29gOiBNaXNzaW5nIGNvbW1hIGFmdGVyIHJlY29yZCBrZXkgdHlwZSIsCi0gICAgImxpbmUi
OiAyCi19CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL3Njb3BlZG5hbWUuanNv
biBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vc2NvcGVkbmFtZS5qc29uCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCA0NjIwZDJkZjVmYTBjYzI1NGE2ZDZjZDNjNmI3NTE0N2M2NThiNDBh
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC9pbnZhbGlkL2pzb24vc2NvcGVkbmFtZS5qc29uCisrKyAvZGV2L251bGwKQEAgLTEsNCArMCww
IEBACi17Ci0gICAgIm1lc3NhZ2UiOiAgIkdvdCBhbiBlcnJvciBiZWZvcmUgcGFyc2luZyBhbnkg
bmFtZWQgZGVmaW5pdGlvbjogTm8gbmFtZSBpbiB0eXBlZGVmIgotLCAgICJsaW5lIjogICAgIDIK
LX0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vc2VxdWVuY2VBc0F0dHJpYnV0
ZS5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9zZXF1ZW5jZUFzQXR0cmlidXRlLmpzb24K
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDViNDMxNGE2ZGUxMjhkYzYwMmFlMWRlYzQ2
MDFhMDBmODZjMTExYmYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9zZXF1ZW5jZUFzQXR0cmlidXRlLmpzb24KKysr
IC9kZXYvbnVsbApAQCAtMSw0ICswLDAgQEAKLXsKLSAgICAibWVzc2FnZSI6ICAiR290IGFuIGVy
cm9yIGR1cmluZyBvciByaWdodCBhZnRlciBwYXJzaW5nIGBpbnRlcmZhY2Ugc2VxdWVuY2VBc0F0
dHJpYnV0ZWA6IEF0dHJpYnV0ZXMgY2Fubm90IGFjY2VwdCBzZXF1ZW5jZSB0eXBlcyIKLSwgICAi
bGluZSI6ICAgICAyCi19CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL3NldGxp
a2UtMnR5cGVzLmpzb24gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL3NldGxpa2UtMnR5cGVzLmpz
b24KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI5MDBlMWJhYzMwMDc0MmNlYzcxZWU4
ZjY2OTc3YmRlOWI5YzYwYWMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9zZXRsaWtlLTJ0eXBlcy5qc29uCisrKyAv
ZGV2L251bGwKQEAgLTEsNCArMCwwIEBACi17Ci0gICAgIm1lc3NhZ2UiOiAiR290IGFuIGVycm9y
IGR1cmluZyBvciByaWdodCBhZnRlciBwYXJzaW5nIGBpbnRlcmZhY2UgU2V0TGlrZVR3b1R5cGVz
YDogVW50ZXJtaW5hdGVkIHNldGxpa2UgZGVjbGFyYXRpb24iLAotICAgICJsaW5lIjogMgotfQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9zZXR0ZXItY3JlYXRvci5qc29uIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L2ludmFsaWQvanNvbi9zZXR0ZXItY3JlYXRvci5qc29uCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAyNWRlY2IzNzRlMTJmZTI3ZjA1OTc5ZTQwZDdmMzA2NDczOTViZTE2
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC9pbnZhbGlkL2pzb24vc2V0dGVyLWNyZWF0b3IuanNvbgorKysgL2Rldi9udWxsCkBAIC0xLDQg
KzAsMCBAQAotewotICAgICJtZXNzYWdlIjogIkdvdCBhbiBlcnJvciBkdXJpbmcgb3IgcmlnaHQg
YWZ0ZXIgcGFyc2luZyBgaW50ZXJmYWNlIE9yZGVyZWRNYXBgOiBJbnZhbGlkIG9wZXJhdGlvbiIs
Ci0gICAgImxpbmUiOiAzCi19CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL3Nw
YWNlZC1uZWdhdGl2ZS1pbmZpbml0eS5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9zcGFj
ZWQtbmVnYXRpdmUtaW5maW5pdHkuanNvbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
OWU1ZDYxODA0OTkwYmI4YTk5ZTFjODYzYjJjNzNiYjhlYjVlZTE0Mi4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL3Nw
YWNlZC1uZWdhdGl2ZS1pbmZpbml0eS5qc29uCisrKyAvZGV2L251bGwKQEAgLTEsNCArMCwwIEBA
Ci17Ci0gICAgIm1lc3NhZ2UiOiAiR290IGFuIGVycm9yIGR1cmluZyBvciByaWdodCBhZnRlciBw
YXJzaW5nIGBpbnRlcmZhY2UgWGA6IE5vIHZhbHVlIGZvciBjb25zdCIsCi0gICAgImxpbmUiOiAy
Ci19CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL3NwYWNlZC12YXJpYWRpYy5q
c29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9zcGFjZWQtdmFyaWFkaWMuanNvbgpkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDA5MGFiZWViNzFiMjMxNDhhNWQ5Y2NkMmEzYmZmOTI3
Nzc0ZWQ1ZC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3QvaW52YWxpZC9qc29uL3NwYWNlZC12YXJpYWRpYy5qc29uCisrKyAvZGV2L251bGwK
QEAgLTEsNCArMCwwIEBACi17Ci0gICAgIm1lc3NhZ2UiOiAiR290IGFuIGVycm9yIGR1cmluZyBv
ciByaWdodCBhZnRlciBwYXJzaW5nIGBpbnRlcmZhY2UgWGA6IFVudGVybWluYXRlZCBvcGVyYXRp
b24iLAotICAgICJsaW5lIjogMgotfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNv
bi9zcGVjaWFsLW9taXR0YWJsZS5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9zcGVjaWFs
LW9taXR0YWJsZS5qc29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjMjBiMjhlMDNj
MTdkNmRmMjllMmNhMWI3ZWU5NDhmNTc5ZmYzZjI3Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vc3BlY2lhbC1vbWl0
dGFibGUuanNvbgorKysgL2Rldi9udWxsCkBAIC0xLDQgKzAsMCBAQAotewotICAgICJtZXNzYWdl
IjogICJHb3QgYW4gZXJyb3IgZHVyaW5nIG9yIHJpZ2h0IGFmdGVyIHBhcnNpbmcgYGludGVyZmFj
ZSBEaWN0aW9uYXJ5YDogSW52YWxpZCBvcGVyYXRpb24iCi0sICAgImxpbmUiOiAgICAgNgotfQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9zdHJheS1zbGFzaC5qc29uIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L2ludmFsaWQvanNvbi9zdHJheS1zbGFzaC5qc29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCA5YzA3MWNkZDA3YTdhMzllZDE4NTkyZTgyMTAwZDhkNTAwNjVhMDMwLi4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZh
bGlkL2pzb24vc3RyYXktc2xhc2guanNvbgorKysgL2Rldi9udWxsCkBAIC0xLDQgKzAsMCBAQAot
ewotICAgICJtZXNzYWdlIjogICJHb3QgYW4gZXJyb3IgYmVmb3JlIHBhcnNpbmcgYW55IG5hbWVk
IGRlZmluaXRpb246IFVucmVjb2duaXNlZCB0b2tlbnMiCi0sICAgImxpbmUiOiAgICAgMgotfQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9zdHJpbmdjb25zdGFudHMuanNvbiBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vc3RyaW5nY29uc3RhbnRzLmpzb24KZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDc0NWQ2ZTZlMDhiYTIyMzgwMDJkMjdiYjViYzRhN2UwYzZjMDFi
ZmEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L2ludmFsaWQvanNvbi9zdHJpbmdjb25zdGFudHMuanNvbgorKysgL2Rldi9udWxsCkBAIC0x
LDQgKzAsMCBAQAotewotICAgICJtZXNzYWdlIjogICJHb3QgYW4gZXJyb3IgZHVyaW5nIG9yIHJp
Z2h0IGFmdGVyIHBhcnNpbmcgYGludGVyZmFjZSBVdGlsYDogTm8gdHlwZSBmb3IgY29uc3QiCi0s
ICAgImxpbmUiOiAgICAgMgotfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi90
eXBlZGVmLW5lc3RlZC5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi90eXBlZGVmLW5lc3Rl
ZC5qc29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlMTg0M2NlYzdkOTNlNGY3ZGY1
ODg3MjRhNGZlMzk4NWVjNTNjNDhiLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vdHlwZWRlZi1uZXN0ZWQuanNvbgor
KysgL2Rldi9udWxsCkBAIC0xLDQgKzAsMCBAQAotewotICAgICJtZXNzYWdlIjogICJHb3QgYW4g
ZXJyb3IgZHVyaW5nIG9yIHJpZ2h0IGFmdGVyIHBhcnNpbmcgYGludGVyZmFjZSBXaWRnZXRgOiBN
aXNzaW5nIHJldHVybiB0eXBlIgotLCAgICJsaW5lIjogICAgIDE0Ci19CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3QvaW52YWxpZC9qc29uL3VuaW9uLWRhbmdsaW5nLW9yLmpzb24gYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
aW52YWxpZC9qc29uL3VuaW9uLWRhbmdsaW5nLW9yLmpzb24KZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDY4ZGZkOGIyYWU2MDk4NmIxNWFiMDZiNGJkOTBjM2E5YTFmNjRkNWIuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFs
aWQvanNvbi91bmlvbi1kYW5nbGluZy1vci5qc29uCisrKyAvZGV2L251bGwKQEAgLTEsNCArMCww
IEBACi17Ci0gICAgIm1lc3NhZ2UiOiAiR290IGFuIGVycm9yIGJlZm9yZSBwYXJzaW5nIGFueSBu
YW1lZCBkZWZpbml0aW9uOiBObyB0eXBlIGFmdGVyIG9wZW4gcGFyZW50aGVzaXMgb3IgJ29yJyBp
biB1bmlvbiB0eXBlIiwKLSAgICAibGluZSI6IDEKLX0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9p
bnZhbGlkL2pzb24vdW5pb24tb25lLmpzb24gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL3VuaW9u
LW9uZS5qc29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0NzY0MDNkNjg4OWJlNzc1
NGZmN2QyZmE2NWVkYmUzMWI0YmI0ZWExLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vdW5pb24tb25lLmpzb24KKysr
IC9kZXYvbnVsbApAQCAtMSw0ICswLDAgQEAKLXsKLSAgICAibWVzc2FnZSI6ICJHb3QgYW4gZXJy
b3IgYmVmb3JlIHBhcnNpbmcgYW55IG5hbWVkIGRlZmluaXRpb246IEF0IGxlYXN0IHR3byB0eXBl
cyBhcmUgZXhwZWN0ZWQgaW4gYSB1bmlvbiB0eXBlIGJ1dCBmb3VuZCBsZXNzIiwKLSAgICAibGlu
ZSI6IDEKLX0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vdW5pb24temVyby5q
c29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi91bmlvbi16ZXJvLmpzb24KZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDY4ZGZkOGIyYWU2MDk4NmIxNWFiMDZiNGJkOTBjM2E5YTFmNjRk
NWIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L2ludmFsaWQvanNvbi91bmlvbi16ZXJvLmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSw0ICsw
LDAgQEAKLXsKLSAgICAibWVzc2FnZSI6ICJHb3QgYW4gZXJyb3IgYmVmb3JlIHBhcnNpbmcgYW55
IG5hbWVkIGRlZmluaXRpb246IE5vIHR5cGUgYWZ0ZXIgb3BlbiBwYXJlbnRoZXNpcyBvciAnb3In
IGluIHVuaW9uIHR5cGUiLAotICAgICJsaW5lIjogMQotfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L2ludmFsaWQvanNvbi91bmtub3duLWdlbmVyaWMuanNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pz
b24vdW5rbm93bi1nZW5lcmljLmpzb24KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDM3
MDNkYjNiMmFiMzMyYmIxNzU0ZTAxZjBlOGRiZTAxMmEzZjk5ZDcuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi91bmtu
b3duLWdlbmVyaWMuanNvbgorKysgL2Rldi9udWxsCkBAIC0xLDQgKzAsMCBAQAotewotICAgICJt
ZXNzYWdlIjogIkdvdCBhbiBlcnJvciBkdXJpbmcgb3IgcmlnaHQgYWZ0ZXIgcGFyc2luZyBgaW50
ZXJmYWNlIEZldGNoRXZlbnRgOiBVbnN1cHBvcnRlZCBnZW5lcmljIHR5cGUgUmVzcG9uc2VQcm9t
aXNlIiwKLSAgICAibGluZSI6IDIKLX0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pz
b24vdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL3czYy1pbXBvcnQubG9n
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzMDE4MWJmNjE1NzVjOGM5MjU5Y2RkMTcx
MTFmNWY3YzU5N2Q5OTJhLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vdzNjLWltcG9ydC5sb2cKKysrIC9kZXYvbnVs
bApAQCAtMSw1NiArMCwwIEBACi1UaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBv
cnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KLURvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMg
ZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRo
ZSBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0
Ci0KLVRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0
IHRvIHJlaW1wb3J0Ci0KLURvIE5PVCBtb2RpZnkgb3IgcmVtb3ZlIHRoaXMgZmlsZS4KLQotLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tCi1Qcm9wZXJ0aWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6Ci1Ob25l
Ci1Qcm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKLU5vbmUKLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLQotTGlzdCBvZiBmaWxlczoKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL2FycmF5
Lmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL2NhbGxlci5qc29uCi0vTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2lu
dmFsaWQvanNvbi9kaWN0LXJlcXVpcmVkLWRlZmF1bHQuanNvbgotL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlk
L2pzb24vZHVwbGljYXRlLmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL2VudW0tZW1wdHku
anNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vZW51bS13by1jb21tYS5qc29uCi0vTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L2ludmFsaWQvanNvbi9lbnVtLmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL2V4Y2Vw
dGlvbi5qc29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9leHRhdHRyLWVtcHR5LWlkcy5qc29u
Ci0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9pZC11bmRlcnNjb3JlZC1udW1iZXIuanNvbgotL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC9pbnZhbGlkL2pzb24vaW1wbGVtZW50c19hbmRfaW5jbHVkZXNfd3MuanNvbgotL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC9pbnZhbGlkL2pzb24vaXRlcmF0b3IuanNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pz
b24vbWFwbGlrZS0xdHlwZS5qc29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9tb2R1bGUuanNv
bgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vbmFtZXNwYWNlLXJlYWR3cml0ZS5qc29uCi0vTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L2ludmFsaWQvanNvbi9uby1zZW1pY29sb24tY2FsbGJhY2suanNvbgotL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC9pbnZhbGlkL2pzb24vbm8tc2VtaWNvbG9uLmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29u
L25vbm51bGxhYmxlYW55Lmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL25vbm51bGxhYmxl
b2JqZWN0cy5qc29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9wcm9taXNlLW51bGxhYmxlLmpz
b24KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL3Byb21pc2Utd2l0aC1leHRlbmRlZC1hdHRyaWJ1
dGUuanNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vcmFpc2VzLmpzb24KLS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
aW52YWxpZC9qc29uL3JlYWRvbmx5LWl0ZXJhYmxlLmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9q
c29uL3JlY29yZC1rZXktd2l0aC1leHRlbmRlZC1hdHRyaWJ1dGUuanNvbgotL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9p
bnZhbGlkL2pzb24vcmVjb3JkLWtleS5qc29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9yZWNv
cmQtc2luZ2xlLmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL3Njb3BlZG5hbWUuanNvbgot
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vc2VxdWVuY2VBc0F0dHJpYnV0ZS5qc29uCi0vTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L2ludmFsaWQvanNvbi9zZXRsaWtlLTJ0eXBlcy5qc29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQv
anNvbi9zZXR0ZXItY3JlYXRvci5qc29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9zcGFjZWQt
bmVnYXRpdmUtaW5maW5pdHkuanNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vc3BhY2VkLXZh
cmlhZGljLmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL3NwZWNpYWwtb21pdHRhYmxlLmpz
b24KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL3N0cmF5LXNsYXNoLmpzb24KLS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
aW52YWxpZC9qc29uL3N0cmluZ2NvbnN0YW50cy5qc29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNv
bi90eXBlZGVmLW5lc3RlZC5qc29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi91bmlvbi1kYW5n
bGluZy1vci5qc29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi91bmlvbi1vbmUuanNvbgotL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC9pbnZhbGlkL2pzb24vdW5pb24temVyby5qc29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQv
anNvbi91bmtub3duLWdlbmVyaWMuanNvbgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L21vY2hhLm9w
dHMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3QvbW9jaGEub3B0cwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
NWFkYTQ3YmUxNmJmNDc1NzJjODM2MzUyZDA4NDIwY2ZkYWM5NTRkMy4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvbW9jaGEub3B0cworKysg
L2Rldi9udWxsCkBAIC0xICswLDAgQEAKLS0tcmVwb3J0ZXIgc3BlYwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L3N5bnRheC5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXguanMKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDA1ZDY0N2VkYTEwMzk0NWIwNjMzYmVmMGI1M2VlNzg5MjY4MTY1ZDMuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5
bnRheC5qcworKysgL2Rldi9udWxsCkBAIC0xLDE5ICswLDAgQEAKLSJ1c2Ugc3RyaWN0IjsKLQot
Y29uc3QgeyBjb2xsZWN0IH0gPSByZXF1aXJlKCIuL3V0aWwvY29sbGVjdCIpOwotY29uc3QgZXhw
ZWN0ID0gcmVxdWlyZSgiZXhwZWN0Iik7Ci1jb25zdCBkZWJ1ZyA9IHRydWU7Ci0KLWRlc2NyaWJl
KCJQYXJzZXMgYWxsIG9mIHRoZSBJRExzIHRvIHByb2R1Y2UgdGhlIGNvcnJlY3QgQVNUcyIsICgp
ID0+IHsKLSAgZm9yIChjb25zdCB0ZXN0IG9mIGNvbGxlY3QoInN5bnRheCIpKSB7Ci0gICAgaXQo
YHNob3VsZCBwcm9kdWNlIHRoZSBzYW1lIEFTVCBmb3IgJHt0ZXN0LnBhdGh9YCwgKCkgPT4gewot
ICAgICAgdHJ5IHsKLSAgICAgICAgZXhwZWN0KHRlc3QuZGlmZigpKS50b0JlRmFsc3koKTsKLSAg
ICAgIH0KLSAgICAgIGNhdGNoIChlKSB7Ci0gICAgICAgIGNvbnNvbGUubG9nKGUudG9TdHJpbmco
KSk7Ci0gICAgICAgIHRocm93IGU7Ci0gICAgICB9Ci0gICAgfSk7Ci0gIH0KLX0pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvYWxsb3dhbnkud2lkbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50
YXgvaWRsL2FsbG93YW55LndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDIzNDNi
Yjk2Mzc0Zjk4NjE3MmI4MDBmZmNjNDQzYjI5NTlhMGNkYTUuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvYWxsb3dhbnku
d2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDYgKzAsMCBAQAotLy8gRXh0cmFjdGVkIGZyb20gaHR0
cDovL2Rldi53My5vcmcvMjAwNi93ZWJhcGkvV2ViSURMLyBvbiAyMDExLTA1LTA2Ci1pbnRlcmZh
Y2UgQiB7Ci0gIHZvaWQgZygpOwotICB2b2lkIGcoQiBiKTsKLSAgdm9pZCBnKFtBbGxvd0FueV0g
RE9NU3RyaW5nIHMpOwotfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9hdHRyaWJ1dGVzLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4
L2lkbC9hdHRyaWJ1dGVzLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGY2NjVj
MWZjNDcyNzZmNzAwZGFiYWI3MWY4NjljMGIwZWFkMjgxNjMuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvYXR0cmlidXRl
cy53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsMTEgKzAsMCBAQAotLy8gRXh0cmFjdGVkIGZyb20g
aHR0cDovL2Rldi53My5vcmcvMjAwNi93ZWJhcGkvV2ViSURMLyBvbiAyMDExLTA1LTA2Ci0KLWlu
dGVyZmFjZSBQZXJzb24gewotCi0gIC8vIEEgc2ltcGxlIGF0dHJpYnV0ZSB0aGF0IGNhbiBiZSBz
ZXQgdG8gYW55IHZhbHVlIHRoZSByYW5nZSBhbiB1bnNpZ25lZAotICAvLyBzaG9ydCBjYW4gdGFr
ZS4KLSAgYXR0cmlidXRlIHVuc2lnbmVkIHNob3J0IGFnZTsKLQotICAvLyByZXF1aXJlZCBpcyBh
biBhbGxvd2VkIGF0dHJpYnV0ZSBuYW1lCi0gIGF0dHJpYnV0ZSBhbnkgcmVxdWlyZWQ7Ci19Owpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvY2FsbGJhY2sud2lkbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC9zeW50YXgvaWRsL2NhbGxiYWNrLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IGFkYWY3NWUwNDljOWNiZWRkN2Y5YjljNTAzMDYyMTY3NjdlZTg4ZGIuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvY2Fs
bGJhY2sud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDcgKzAsMCBAQAotY2FsbGJhY2sgQXN5bmNP
cGVyYXRpb25DYWxsYmFjayA9IHZvaWQgKERPTVN0cmluZyBzdGF0dXMpOwotCi1jYWxsYmFjayBp
bnRlcmZhY2UgRXZlbnRIYW5kbGVyIHsKLSAgdm9pZCBldmVudE9jY3VycmVkKERPTVN0cmluZyBk
ZXRhaWxzKTsKLX07Ci0KLWNhbGxiYWNrIFNvcnRDYWxsYmFjayA9IGJvb2xlYW4gKGFueSBhLCBh
bnkgYik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9jb25zdGFudHMud2lkbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC9zeW50YXgvaWRsL2NvbnN0YW50cy53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwNDNiMDIyYjY0NjJlZWQ2MDBjOGE5Y2VhYjg3ZDFlYmFlZjVlYTE4Li4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50
YXgvaWRsL2NvbnN0YW50cy53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsMTEgKzAsMCBAQAotLy8g
RXh0cmFjdGVkIGZyb20gaHR0cDovL2Rldi53My5vcmcvMjAwNi93ZWJhcGkvV2ViSURMLyBvbiAy
MDExLTA1LTA2Ci1pbnRlcmZhY2UgVXRpbCB7Ci0gIGNvbnN0IGJvb2xlYW4gREVCVUcgPSBmYWxz
ZTsKLSAgY29uc3Qgc2hvcnQgbmVnYXRpdmUgPSAtMTsKLSAgY29uc3Qgb2N0ZXQgTEYgPSAxMDsK
LSAgY29uc3QgdW5zaWduZWQgbG9uZyBCSVRfTUFTSyA9IDB4MDAwMGZjMDA7Ci0gIGNvbnN0IGZs
b2F0IEFWT0dBRFJPID0gNi4wMjJlMjM7Ci0gIGNvbnN0IHVucmVzdHJpY3RlZCBmbG9hdCBzb2Jp
ZyA9IEluZmluaXR5OwotICBjb25zdCB1bnJlc3RyaWN0ZWQgZG91YmxlIG1pbnVzb25lZGl2aWRl
ZGJ5emVybyA9IC1JbmZpbml0eTsKLSAgY29uc3Qgc2hvcnQgbm90YW51bWJlciA9IE5hTjsKLX07
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRh
eC9pZGwvY29uc3RydWN0b3Iud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL2NvbnN0cnVjdG9y
LndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGY5M2VjMDhhNmU2ZjgxYmRhMDk0
NjFmYjY0OTEyMDRmYzlkODRmMGYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvY29uc3RydWN0b3Iud2lkbAorKysgL2Rl
di9udWxsCkBAIC0xLDkgKzAsMCBAQAotLy8gRXh0cmFjdGVkIGZyb20gaHR0cDovL2Rldi53My5v
cmcvMjAwNi93ZWJhcGkvV2ViSURMLyBvbiAyMDExLTA1LTA2Ci1bQ29uc3RydWN0b3IsCi0gQ29u
c3RydWN0b3IoZmxvYXQgcmFkaXVzKV0KLWludGVyZmFjZSBDaXJjbGUgewotICBhdHRyaWJ1dGUg
ZmxvYXQgcjsKLSAgYXR0cmlidXRlIGZsb2F0IGN4OwotICBhdHRyaWJ1dGUgZmxvYXQgY3k7Ci0g
IHJlYWRvbmx5IGF0dHJpYnV0ZSBmbG9hdCBjaXJjdW1mZXJlbmNlOwotfTsKXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9kaWN0aW9u
YXJ5LWluaGVyaXRzLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9kaWN0aW9uYXJ5LWluaGVy
aXRzLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ4ZjhhMGZkY2ViNmMyNGIy
ZGZkZmJkMmM1MzQzOWU2NTA1NGFhN2YuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvZGljdGlvbmFyeS1pbmhlcml0cy53
aWRsCisrKyAvZGV2L251bGwKQEAgLTEsOSArMCwwIEBACi1kaWN0aW9uYXJ5IFBhaW50T3B0aW9u
cyB7Ci0gIERPTVN0cmluZz8gZmlsbFBhdHRlcm4gPSAiYmxhY2siOwotICBET01TdHJpbmc/IHN0
cm9rZVBhdHRlcm4gPSBudWxsOwotICBQb2ludCBwb3NpdGlvbjsKLX07Ci0KLWRpY3Rpb25hcnkg
V2V0UGFpbnRPcHRpb25zIDogUGFpbnRPcHRpb25zIHsKLSAgZmxvYXQgaHlkcm9tZXRyeTsKLX07
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRh
eC9pZGwvZGljdGlvbmFyeS53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvZGljdGlvbmFyeS53
aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjNjRhMTRjODU5MDk4Nzg2ZDEwZmQz
MjcwY2Y2NmU1YzRlZjhiMDIwLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL2RpY3Rpb25hcnkud2lkbAorKysgL2Rldi9u
dWxsCkBAIC0xLDE1ICswLDAgQEAKLS8vIEV4dHJhY3RlZCBmcm9tIFdlYiBJREwgZWRpdG9ycyBk
cmFmdCBNYXkgMzEgMjAxMQotZGljdGlvbmFyeSBQYWludE9wdGlvbnMgewotICBET01TdHJpbmc/
IGZpbGxQYXR0ZXJuID0gImJsYWNrIjsKLSAgRE9NU3RyaW5nPyBzdHJva2VQYXR0ZXJuID0gbnVs
bDsKLSAgUG9pbnQgcG9zaXRpb247Ci0gIC8vIGh0dHBzOi8vaGV5Y2FtLmdpdGh1Yi5pby93ZWJp
ZGwvI2Rmbi1vcHRpb25hbC1hcmd1bWVudC1kZWZhdWx0LXZhbHVlIGFsbG93cyBzZXF1ZW5jZXMg
dG8gZGVmYXVsdCB0byAiW10iLgotICBzZXF1ZW5jZTxsb25nPiBzZXEgPSBbXTsKLSAgLy8gaHR0
cHM6Ly9oZXljYW0uZ2l0aHViLmlvL3dlYmlkbC8jcmVxdWlyZWQtZGljdGlvbmFyeS1tZW1iZXIK
LSAgcmVxdWlyZWQgbG9uZyByZXFTZXE7Ci19OwotCi1wYXJ0aWFsIGRpY3Rpb25hcnkgQSB7Ci0g
IGxvbmcgaDsKLSAgbG9uZyBkOwotfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9kb2N1bWVudGF0aW9uLWRvcy53aWRsIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L3N5bnRheC9pZGwvZG9jdW1lbnRhdGlvbi1kb3Mud2lkbApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggZmI4MDExMDFmMTQ5MTBkMjZkMzJkYzg4YTU3OTM4N2FjNGM1MDU2MC4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
c3ludGF4L2lkbC9kb2N1bWVudGF0aW9uLWRvcy53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsMzMg
KzAsMCBAQAotLyoqDQotKiBcYnJpZWYgVGVzdGluZyBkb2N1bWVudGF0aW9uIGZlYXR1cmVzDQot
Kg0KLSogVGhpcyBpcyBhDQotKiBzaW5nbGUgcGFyYWdyYXBoDQotKg0KLSogPHA+VGhpcyBpcyB2
YWxpZC48L3A+DQotKiA8cD5UaGlzIGlzIDxlbT52YWxpZDwvZW0+LjwvcD4NCi0qIDxwPlRoaXMg
aXMgPGI+dmFsaWQ8L2I+LjwvcD4NCi0qIDxwPlRoaXMgaXMgPGEgaHJlZj0nJz52YWxpZDwvYT4u
PC9wPg0KLSogPHVsPg0KLSogPGxpPlRoaXM8L2xpPg0KLSogPGxpPmlzPC9saT4NCi0qIDxsaT52
YWxpZDwvbGk+DQotKiA8L3VsPg0KLSogPGRsPg0KLSogPGR0PlRoaXM8L2R0Pg0KLSogPGRkPnZh
bGlkPC9kZD4NCi0qIDwvZGw+DQotKiA8dGFibGU+DQotKiA8dHI+DQotKiA8dGQ+dGhpczwvdGQ+
DQotKiA8dGQ+aXM8L3RkPg0KLSogPC90cj4NCi0qIDx0cj4NCi0qIDx0ZD52YWxpZDwvdGQ+DQot
KiA8L3RyPg0KLSogPC90YWJsZT4NCi0qIDxwPlRoaXMgaXMgPGJyPiB2YWxpZC48L3A+DQotKiA8
cD5UaGlzIGlzIDxiciAvPiB2YWxpZC48L3A+DQotKiA8cD5UaGlzIGlzIDxici8+IHZhbGlkLjwv
cD4NCi0qLw0KLWludGVyZmFjZSBEb2N1bWVudGF0aW9uIHt9OwpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL2RvY3VtZW50YXRpb24u
d2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL2RvY3VtZW50YXRpb24ud2lkbApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAzZTkyMjZmNjcyYzIyMjEzNzM3MjE3ZTY5MzU0ZmRjY2Iw
NTM4ZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvc3ludGF4L2lkbC9kb2N1bWVudGF0aW9uLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSwz
NCArMCwwIEBACi0vKioKLSogXGJyaWVmIFRlc3RpbmcgZG9jdW1lbnRhdGlvbiBmZWF0dXJlcwot
KgotKiBUaGlzIGlzIGEKLSogc2luZ2xlIHBhcmFncmFwaAotKgotKiA8cD5UaGlzIGlzIHZhbGlk
LjwvcD4KLSogPHA+VGhpcyBpcyA8ZW0+dmFsaWQ8L2VtPi48L3A+Ci0qIDxwPlRoaXMgaXMgPGI+
dmFsaWQ8L2I+LjwvcD4KLSogPHA+VGhpcyBpcyA8YSBocmVmPScnPnZhbGlkPC9hPi48L3A+Ci0q
IDx1bD4KLSogPGxpPlRoaXM8L2xpPgotKiA8bGk+aXM8L2xpPgotKiA8bGk+dmFsaWQ8L2xpPgot
KiA8L3VsPgotKiA8ZGw+Ci0qIDxkdD5UaGlzPC9kdD4KLSogPGRkPnZhbGlkPC9kZD4KLSogPC9k
bD4KLSogPHRhYmxlPgotKiA8dHI+Ci0qIDx0ZD50aGlzPC90ZD4KLSogPHRkPmlzPC90ZD4KLSog
PC90cj4KLSogPHRyPgotKiA8dGQ+dmFsaWQ8L3RkPgotKiA8L3RyPgotKiA8L3RhYmxlPgotKiA8
cD5UaGlzIGlzIDxicj4gdmFsaWQuPC9wPgotKiA8cD5UaGlzIGlzIDxiciAvPiB2YWxpZC48L3A+
Ci0qIDxwPlRoaXMgaXMgPGJyLz4gdmFsaWQuPC9wPgotKiA8cD48aW1nIHNyYz0iZm9vLnBuZyIg
YWx0PSJWYWxpZCIvPjwvcD4KLSovCi1pbnRlcmZhY2UgRG9jdW1lbnRhdGlvbiB7fTsKXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9l
bnVtLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9lbnVtLndpZGwKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDM3YzRmZmRkZWUzMWI2Mzg3NjM2ZDA0Y2E4MjZhMGYyNjNmYTk4OWEu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3N5bnRheC9pZGwvZW51bS53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsMTAgKzAsMCBAQAotZW51
bSBNZWFsVHlwZSB7ICJyaWNlIiwgIm5vb2RsZXMiLCAib3RoZXIiIH07Ci0KLWludGVyZmFjZSBN
ZWFsIHsKLSAgYXR0cmlidXRlIE1lYWxUeXBlIHR5cGU7Ci0gIGF0dHJpYnV0ZSBmbG9hdCBzaXpl
OyAgICAgLy8gaW4gZ3JhbXMKLQotICB2b2lkIGluaXRpYWxpemUoTWVhbFR5cGUgdHlwZSwgZmxv
YXQgc2l6ZSk7Ci19OwotCi1lbnVtIEFsdE1lYWxUeXBlIHsgInJpY2UiLCAibm9vZGxlcyIsICJv
dGhlciIsIH07ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3N5bnRheC9pZGwvZXF1aXZhbGVudC1kZWNsLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lk
bC9lcXVpdmFsZW50LWRlY2wud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmZm
ZWIzYzIwYTFhNDcyMDljZWIyZWMyNDQxZjYyYmUzZjU1MzE1OC4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9lcXVpdmFs
ZW50LWRlY2wud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDE4ICswLDAgQEAKLS8vIEV4dHJhY3Rl
ZCBmcm9tIGh0dHA6Ly9kZXYudzMub3JnLzIwMDYvd2ViYXBpL1dlYklETC8gb24gMjAxMS0wNS0w
NgotaW50ZXJmYWNlIERpY3Rpb25hcnkgewotICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQg
bG9uZyBwcm9wZXJ0eUNvdW50OwotCi0gIGdldHRlciBmbG9hdCBnZXRQcm9wZXJ0eShET01TdHJp
bmcgcHJvcGVydHlOYW1lKTsKLSAgc2V0dGVyIHZvaWQgc2V0UHJvcGVydHkoRE9NU3RyaW5nIHBy
b3BlcnR5TmFtZSwgZmxvYXQgcHJvcGVydHlWYWx1ZSk7Ci19OwotCi0KLWludGVyZmFjZSBEaWN0
aW9uYXJ5MiB7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIHByb3BlcnR5Q291
bnQ7Ci0KLSAgZmxvYXQgZ2V0UHJvcGVydHkoRE9NU3RyaW5nIHByb3BlcnR5TmFtZSk7Ci0gIHZv
aWQgc2V0UHJvcGVydHkoRE9NU3RyaW5nIHByb3BlcnR5TmFtZSwgZmxvYXQgcHJvcGVydHlWYWx1
ZSk7Ci0KLSAgZ2V0dGVyIGZsb2F0IChET01TdHJpbmcgcHJvcGVydHlOYW1lKTsKLSAgc2V0dGVy
IHZvaWQgKERPTVN0cmluZyBwcm9wZXJ0eU5hbWUsIGZsb2F0IHByb3BlcnR5VmFsdWUpOwotfTsK
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4
L2lkbC9leHRlbmRlZC1hdHRyaWJ1dGVzLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9leHRl
bmRlZC1hdHRyaWJ1dGVzLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDU3ZDRm
OTdkZTdjMzE3NmI2NWUzZGEyYWE3ZWQ1M2QzZGI3ODlmZDkuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvZXh0ZW5kZWQt
YXR0cmlidXRlcy53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsMjkgKzAsMCBAQAotLy8gRXh0cmFj
dGVkIGZyb20gaHR0cDovL3d3dy53My5vcmcvVFIvMjAxNS9XRC1zZXJ2aWNlLXdvcmtlcnMtMjAx
NTAyMDUvCi0KLVtHbG9iYWw9KFdvcmtlcixTZXJ2aWNlV29ya2VyKSwgRXhwb3NlZD1TZXJ2aWNl
V29ya2VyXQotaW50ZXJmYWNlIFNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZSA6IFdvcmtlckdsb2Jh
bFNjb3BlIHsKLQotfTsKLQotLy8gQ29uZm9ybWFuY2Ugd2l0aCBFeHRlbmRlZEF0dHJpYnV0ZUxp
c3QgZ3JhbW1hciBpbiBodHRwOi8vd3d3LnczLm9yZy9UUi9XZWJJREwvI2lkbC1leHRlbmRlZC1h
dHRyaWJ1dGVzCi0vLyBTZWN0aW9uIDMuMTEKLVtJbnRBdHRyPTAsIEZsb2F0QXR0cj0zLjE0LCBT
dHJpbmdBdHRyPSJhYmMiXQotaW50ZXJmYWNlIElkSW50ZXJmYWNlIHt9OwotCi0vLyBFeHRyYWN0
ZWQgZnJvbSBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDE2L1JFQy1XZWJJREwtMS0yMDE2MTIxNS8j
Q29uc3RydWN0b3Igb24gMjAxNy01LTE4IHdpdGggd2hpdGVzcGFjZSBkaWZmZXJlbmNlcwotWwot
ICBDb25zdHJ1Y3RvciwKLSAgQ29uc3RydWN0b3IoZG91YmxlIHJhZGl1cykKLV0KLWludGVyZmFj
ZSBDaXJjbGUgewotICBhdHRyaWJ1dGUgZG91YmxlIHI7Ci0gIGF0dHJpYnV0ZSBkb3VibGUgY3g7
Ci0gIGF0dHJpYnV0ZSBkb3VibGUgY3k7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSBkb3VibGUgY2ly
Y3VtZmVyZW5jZTsKLX07Ci0KLS8vIEV4dHJhY3RlZCBmcm9tIGh0dHBzOi8vaGV5Y2FtLmdpdGh1
Yi5pby93ZWJpZGwvI2lkbC1hbm5vdGF0ZWQtdHlwZXMgb24gMjAxNy0xMi0xNQotW0V4cG9zZWQ9
V2luZG93XQotaW50ZXJmYWNlIEkgewotICAgIGF0dHJpYnV0ZSBbWEF0dHJdIChsb25nIG9yIE5v
ZGUpIGF0dHJpYjsKLX07CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9nZW5lcmlj
LndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9nZW5lcmljLndpZGwKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDY5M2NkMzI0ZTk2Yjg1ZGJiNGZmMjVkMmM5ZDhkZDFlZGJmNDk1YjMu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3N5bnRheC9pZGwvZ2VuZXJpYy53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsMTcgKzAsMCBAQAot
aW50ZXJmYWNlIEZvbyB7Ci0gIFByb21pc2U8UHJvbWlzZTxzZXF1ZW5jZTxET01TdHJpbmc/Pj4+
IGJhcigpOwotICByZWFkb25seSBhdHRyaWJ1dGUgUHJvbWlzZTxET01TdHJpbmc+IGJhejsKLX07
Ci0KLS8vIEV4dHJhY3RlZCBmcm9tIGh0dHBzOi8vc2xpZ2h0bHlvZmYuZ2l0aHViLmlvL1NlcnZp
Y2VXb3JrZXIvc3BlYy9zZXJ2aWNlX3dvcmtlci8gb24gMjAxNC0wNS0wOAotCi1pbnRlcmZhY2Ug
U2VydmljZVdvcmtlckNsaWVudHMgewotICBQcm9taXNlPENsaWVudD8+IGdldFNlcnZpY2VkKCk7
Ci0gIFByb21pc2U8YW55PiByZWxvYWRBbGwoKTsKLX07Ci0KLS8vIEV4dHJhY3RlZCBmcm9tIGh0
dHBzOi8vc2xpZ2h0bHlvZmYuZ2l0aHViLmlvL1NlcnZpY2VXb3JrZXIvc3BlYy9zZXJ2aWNlX3dv
cmtlci8gb24gMjAxNC0wNS0xMwotCi1pbnRlcmZhY2UgRmV0Y2hFdmVudCA6IEV2ZW50IHsKLSAg
UHJvbWlzZTxhbnk+IGRlZmF1bHQoKTsKLX07CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4
L2lkbC9nZXR0ZXItc2V0dGVyLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9nZXR0ZXItc2V0
dGVyLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGJkZjg3ZTFjN2M3MmYyOWM3
MjUzMmIxYmIzYjYwMDM1OTljNjAxODcuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvZ2V0dGVyLXNldHRlci53aWRsCisr
KyAvZGV2L251bGwKQEAgLTEsNyArMCwwIEBACi0vLyBFeHRyYWN0ZWQgZnJvbSBodHRwOi8vZGV2
LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJJREwvIG9uIDIwMTEtMDUtMDYKLWludGVyZmFjZSBEaWN0
aW9uYXJ5IHsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgcHJvcGVydHlDb3Vu
dDsKLQotICBnZXR0ZXIgZmxvYXQgKERPTVN0cmluZyBwcm9wZXJ0eU5hbWUpOwotICBzZXR0ZXIg
dm9pZCAoRE9NU3RyaW5nIHByb3BlcnR5TmFtZSwgZmxvYXQgcHJvcGVydHlWYWx1ZSk7Ci19Owpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgv
aWRsL2lkZW50aWZpZXItcXVhbGlmaWVkLW5hbWVzLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lk
bC9pZGVudGlmaWVyLXF1YWxpZmllZC1uYW1lcy53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCBjMzlmODRiNDVhMzZjY2NkMzYwYTg2MWIxMThjMzcyM2FlYjNlZjJkLi4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgv
aWRsL2lkZW50aWZpZXItcXVhbGlmaWVkLW5hbWVzLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSwz
MyArMCwwIEBACi0vLyBFeHRyYWN0ZWQgZnJvbSBodHRwOi8vZGV2LnczLm9yZy8yMDA2L3dlYmFw
aS9XZWJJREwvIG9uIDIwMTEtMDUtMDYKLSAgLy8gVHlwZWRlZiBpZGVudGlmaWVyOiAibnVtYmVy
IgotICAvLyBRdWFsaWZpZWQgbmFtZTogICAgIjo6ZnJhbWV3b3JrOjpudW1iZXIiCi0gIHR5cGVk
ZWYgZmxvYXQgbnVtYmVyOwotCi0gIC8vIEludGVyZmFjZSBpZGVudGlmaWVyOiAiU3lzdGVtIgot
ICAvLyBRdWFsaWZpZWQgbmFtZTogICAgICAgIjo6ZnJhbWV3b3JrOjpTeXN0ZW0iCi0gIGludGVy
ZmFjZSBTeXN0ZW0gewotCi0gICAgLy8gT3BlcmF0aW9uIGlkZW50aWZpZXI6ICAgICAgICAgICJj
cmVhdGVPYmplY3QiCi0gICAgLy8gT3BlcmF0aW9uIGFyZ3VtZW50IGlkZW50aWZpZXI6ICJpbnRl
cmZhY2UiCi0gICAgb2JqZWN0IGNyZWF0ZU9iamVjdChET01TdHJpbmcgX2ludGVyZmFjZSk7Ci0K
LSAgICAvLyBPcGVyYXRpb24gaGFzIG5vIGlkZW50aWZpZXI7IGl0IGRlY2xhcmVzIGEgZ2V0dGVy
LgotICAgIGdldHRlciBET01TdHJpbmcgKERPTVN0cmluZyBrZXlOYW1lKTsKLSAgfTsKLQotCi0g
ICAgLy8gSW50ZXJmYWNlIGlkZW50aWZpZXI6ICJUZXh0RmllbGQiCi0gICAgLy8gUXVhbGlmaWVk
IG5hbWU6ICAgICAgICI6OmZyYW1ld29yazo6Z3VpOjpUZXh0RmllbGQiCi0gICAgaW50ZXJmYWNl
IFRleHRGaWVsZCB7Ci0KLSAgICAgIC8vIEF0dHJpYnV0ZSBpZGVudGlmaWVyOiAiY29uc3QiCi0g
ICAgICBhdHRyaWJ1dGUgYm9vbGVhbiBfY29uc3Q7Ci0KLSAgICAgIC8vIEF0dHJpYnV0ZSBpZGVu
dGlmaWVyOiAidmFsdWUiCi0gICAgICBhdHRyaWJ1dGUgRE9NU3RyaW5nPyBfdmFsdWU7Ci0gICAg
fTsKLQotaW50ZXJmYWNlIEZvb0V2ZW50VGFyZ2V0IHsKLSAgLy8gQXJndW1lbnQgbmFtZXMgYWxs
b3cgc29tZSBzZWxlY3RlZCBrZXl3b3JkcwotICB2b2lkIGFkZEV2ZW50TGlzdGVuZXIoRXZlbnRM
aXN0ZW5lcj8gY2FsbGJhY2spOwotfTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRs
L2ltcGxlbWVudHMud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL2ltcGxlbWVudHMud2lkbApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggN2EzMTA5MjZmMWM4ZDQ0MWQ3NThhZjA2YTgx
ZTBkYWZhMDFiZjU5Mi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9pbXBsZW1lbnRzLndpZGwKKysrIC9kZXYvbnVsbApA
QCAtMSwxNCArMCwwIEBACi0vLyBFeHRyYWN0ZWQgZnJvbSBodHRwOi8vZGV2LnczLm9yZy8yMDA2
L3dlYmFwaS9XZWJJREwvIG9uIDIwMTEtMDUtMDYKLSAgaW50ZXJmYWNlIE5vZGUgewotICAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBzaG9ydCBub2RlVHlwZTsKLSAgICAvLyAuLi4KLSAg
fTsKLQotICBpbnRlcmZhY2UgRXZlbnRUYXJnZXQgewotICAgIHZvaWQgYWRkRXZlbnRMaXN0ZW5l
cihET01TdHJpbmcgdHlwZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgRXZlbnRMaXN0ZW5l
ciBsaXN0ZW5lciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbGVhbiB1c2VDYXB0dXJl
KTsKLSAgICAvLyAuLi4KLSAgfTsKLQotICBOb2RlIGltcGxlbWVudHMgRXZlbnRUYXJnZXQ7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9pbmRleGVkLXByb3BlcnRpZXMud2lkbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC9zeW50YXgvaWRsL2luZGV4ZWQtcHJvcGVydGllcy53aWRsCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCA0YjhhYTllMzUzZmFjODljMDVhZDIxZmUwNjViNDU1ZTA0OTI2
OGUzLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC9zeW50YXgvaWRsL2luZGV4ZWQtcHJvcGVydGllcy53aWRsCisrKyAvZGV2L251bGwKQEAg
LTEsMTIgKzAsMCBAQAotLy8gRXh0cmFjdGVkIGZyb20gaHR0cDovL2Rldi53My5vcmcvMjAwNi93
ZWJhcGkvV2ViSURMLyBvbiAyMDExLTA1LTA2Ci1pbnRlcmZhY2UgT3JkZXJlZE1hcCB7Ci0gIHJl
YWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIHNpemU7Ci0KLSAgZ2V0dGVyIGFueSBnZXRC
eUluZGV4KHVuc2lnbmVkIGxvbmcgaW5kZXgpOwotICBzZXR0ZXIgdm9pZCBzZXRCeUluZGV4KHVu
c2lnbmVkIGxvbmcgaW5kZXgsIGFueSB2YWx1ZSk7Ci0gIGRlbGV0ZXIgdm9pZCByZW1vdmVCeUlu
ZGV4KHVuc2lnbmVkIGxvbmcgaW5kZXgpOwotCi0gIGdldHRlciBhbnkgZ2V0KERPTVN0cmluZyBu
YW1lKTsKLSAgc2V0dGVyIHZvaWQgc2V0KERPTVN0cmluZyBuYW1lLCBhbnkgdmFsdWUpOwotICBk
ZWxldGVyIHZvaWQgcmVtb3ZlKERPTVN0cmluZyBuYW1lKTsKLX07CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvc3ludGF4L2lkbC9pbmhlcml0cy1nZXR0ZXIud2lkbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgv
aWRsL2luaGVyaXRzLWdldHRlci53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0
MzViM2FiM2M4Y2Q1ODc3YTFjMDk2NTA0Zjk1M2RkMjg3YThhY2ZjLi4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL2luaGVy
aXRzLWdldHRlci53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsMjIgKzAsMCBAQAotaW50ZXJmYWNl
IEFuaW1hbCB7Ci0KLSAgLy8gQSBzaW1wbGUgYXR0cmlidXRlIHRoYXQgY2FuIGJlIHNldCB0byBh
bnkgc3RyaW5nIHZhbHVlLgotICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIG5hbWU7Ci19
OwotCi1pbnRlcmZhY2UgUGVyc29uIDogQW5pbWFsIHsKLQotICAvLyBBbiBhdHRyaWJ1dGUgd2hv
c2UgdmFsdWUgY2Fubm90IGJlIGFzc2lnbmVkIHRvLgotICByZWFkb25seSBhdHRyaWJ1dGUgdW5z
aWduZWQgc2hvcnQgYWdlOwotCi0gIC8vIEFuIGF0dHJpYnV0ZSB0aGF0IGNhbiByYWlzZSBhbiBl
eGNlcHRpb24gaWYgaXQgaXMgc2V0IHRvIGFuIGludmFsaWQgdmFsdWUuCi0gIC8vIEl0cyBnZXR0
ZXIgYmVoYXZpb3IgaXMgaW5oZXJpdGVkIGZyb20gQW5pbWFsLCBhbmQgbmVlZCBub3QgYmUgc3Bl
Y2lmaWVkCi0gIC8vIHRoZSBkZXNjcmlwdGlvbiBvZiBQZXJzb24uCi0gIGluaGVyaXQgYXR0cmli
dXRlIERPTVN0cmluZyBuYW1lOwotfTsKLQotaW50ZXJmYWNlIEdob3N0IDogUGVyc29uIHsKLQot
ICAvLyBBbiBhdHRyaWJ1dGUgdGhhdCBvbmx5IGluaGVyaXRzIHRoZSBnZXR0ZXIgYmVoYXZpb3IK
LSAgaW5oZXJpdCByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIG5hbWU7Ci19OwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvaW50ZXJmYWNlLWluaGVyaXRzLndpZGwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvc3ludGF4L2lkbC9pbnRlcmZhY2UtaW5oZXJpdHMud2lkbApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggNzkyMWRlZjc3Mjc5ZjcwNDEwYzIyMWI0ZWQxZjIyNWM2YjA5NDI3Ni4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
c3ludGF4L2lkbC9pbnRlcmZhY2UtaW5oZXJpdHMud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDEy
ICswLDAgQEAKLS8vIEV4dHJhY3RlZCBmcm9tIGh0dHA6Ly9kZXYudzMub3JnLzIwMDYvd2ViYXBp
L1dlYklETC8gb24gMjAxMS0wNS0wNgotaW50ZXJmYWNlIEFuaW1hbCB7Ci0gIGF0dHJpYnV0ZSBE
T01TdHJpbmcgbmFtZTsKLX07Ci0KLWludGVyZmFjZSBIdW1hbiA6IEFuaW1hbCB7Ci0gIGF0dHJp
YnV0ZSBEb2cgcGV0OwotfTsKLQotaW50ZXJmYWNlIERvZyA6IEFuaW1hbCB7Ci0gIGF0dHJpYnV0
ZSBIdW1hbiBvd25lcjsKLX07ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvaXRlcmFibGUud2lkbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgv
aWRsL2l0ZXJhYmxlLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDdmNzI2Zjky
NmZkZWNkNzI2MDBjNDNlMzI4ZjFlMGJmYjM2ZjliZTEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvaXRlcmFibGUud2lk
bAorKysgL2Rldi9udWxsCkBAIC0xLDExICswLDAgQEAKLWludGVyZmFjZSBJdGVyYWJsZU9uZSB7
Ci0gIGl0ZXJhYmxlPGxvbmc+OwotfTsKLQotaW50ZXJmYWNlIEl0ZXJhYmxlVHdvIHsKLSAgaXRl
cmFibGU8c2hvcnQsIGRvdWJsZT8+OwotfTsKLQotaW50ZXJmYWNlIEl0ZXJhYmxlVGhyZWUgewot
ICBpdGVyYWJsZTxbWEF0dHJdIGxvbmc+OwotfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9sZWdhY3lpdGVyYWJsZS53aWRsIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3N5bnRheC9pZGwvbGVnYWN5aXRlcmFibGUud2lkbApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggOWUxZTljNTI3NDQ3YTJiYjIwMTNiYWYyOGMzMWQzZmFkZGNhYzZmZi4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
c3ludGF4L2lkbC9sZWdhY3lpdGVyYWJsZS53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsMyArMCww
IEBACi1pbnRlcmZhY2UgTGVnYWN5SXRlcmFibGUgewotICBsZWdhY3lpdGVyYWJsZTxsb25nPjsK
LX07CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9tYXBsaWtlLndpZGwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvc3ludGF4L2lkbC9tYXBsaWtlLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDQzN2UzODFmZWY3NjczZWNhY2M1MjM2MmI1YTMwOTEwYzY4MTU2Y2QuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwv
bWFwbGlrZS53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsMTMgKzAsMCBAQAotaW50ZXJmYWNlIE1h
cExpa2UgewotICBtYXBsaWtlPGxvbmcsIGZsb2F0PjsKLX07Ci0KLWludGVyZmFjZSBSZWFkT25s
eU1hcExpa2UgewotICByZWFkb25seSBtYXBsaWtlPGxvbmcsIGZsb2F0PjsKLX07Ci0KLS8vIEV4
dHJhY3RlZCBmcm9tIGh0dHBzOi8vaGV5Y2FtLmdpdGh1Yi5pby93ZWJpZGwvI2lkbC10eXBlLWV4
dGVuZGVkLWF0dHJpYnV0ZS1hc3NvY2lhdGVkLXdpdGggb24gMjAxNy0wNy0wMQotCi1pbnRlcmZh
Y2UgSSB7Ci0gICAgbWFwbGlrZTxbWEF0dHIyXSBET01TdHJpbmcsIFtYQXR0cjNdIGxvbmc+Owot
fTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL21peGluLndpZGwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvc3ludGF4L2lkbC9taXhpbi53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3
YzM3YTZlZTQyMDdiMzFkZGQyYzQ4ZjllMTcyNTcyMTY3OWU3OWUyLi4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL21peGlu
LndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSwxMiArMCwwIEBACi0vLyBFeHRyYWN0ZWQgZnJvbSBo
dHRwczovL2hleWNhbS5naXRodWIuaW8vd2ViaWRsLyN1c2luZy1taXhpbnMtYW5kLXBhcnRpYWxz
IG9uIDIwMTctMTEtMDIKLQotaW50ZXJmYWNlIG1peGluIEdsb2JhbENyeXB0byB7Ci0gIHJlYWRv
bmx5IGF0dHJpYnV0ZSBDcnlwdG8gY3J5cHRvOwotfTsKLQotV2luZG93IGluY2x1ZGVzIEdsb2Jh
bENyeXB0bzsKLVdvcmtlckdsb2JhbFNjb3BlIGluY2x1ZGVzIEdsb2JhbENyeXB0bzsKLQotcGFy
dGlhbCBpbnRlcmZhY2UgbWl4aW4gV2luZG93T3JXb3JrZXJHbG9iYWxTY29wZSB7Ci0gIHJlYWRv
bmx5IGF0dHJpYnV0ZSBDcnlwdG8gY3J5cHRvOwotfTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9z
eW50YXgvaWRsL25hbWVkY29uc3RydWN0b3Iud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL25h
bWVkY29uc3RydWN0b3Iud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzQ2OGI3
OGY4ZTE4MTQyMzMyNzIyNzM5Y2ZiNGM1NGZmYzdlNDUyMi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9uYW1lZGNvbnN0
cnVjdG9yLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSw2ICswLDAgQEAKLS8vIEV4dHJhY3RlZCBm
cm9tIGh0dHA6Ly9kZXYudzMub3JnLzIwMDYvd2ViYXBpL1dlYklETC8gb24gMjAxMS0wNS0wNgot
W05hbWVkQ29uc3RydWN0b3I9QXVkaW8sCi0gTmFtZWRDb25zdHJ1Y3Rvcj1BdWRpbyhET01TdHJp
bmcgc3JjKV0KLWludGVyZmFjZSBIVE1MQXVkaW9FbGVtZW50IDogSFRNTE1lZGlhRWxlbWVudCB7
Ci0gIC8vIC4uLgotfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3Qvc3ludGF4L2lkbC9uYW1lc3BhY2Uud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRs
L25hbWVzcGFjZS53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkOTYxMDU1NWUx
N2FkMmZlZGQ0Y2MwMDU1YzAxMDI1ZjcwMTkzZGVhLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL25hbWVzcGFjZS53aWRs
CisrKyAvZGV2L251bGwKQEAgLTEsMTAgKzAsMCBAQAotLy8gRXh0cmFjdGVkIGZyb20gV2ViIElE
TCBlZGl0b3JzIGRyYWZ0IE1hcmNoIDI3IDIwMTcKLW5hbWVzcGFjZSBWZWN0b3JVdGlscyB7Ci0g
IHJlYWRvbmx5IGF0dHJpYnV0ZSBWZWN0b3IgdW5pdDsKLSAgZG91YmxlIGRvdFByb2R1Y3QoVmVj
dG9yIHgsIFZlY3RvciB5KTsKLSAgVmVjdG9yIGNyb3NzUHJvZHVjdChWZWN0b3IgeCwgVmVjdG9y
IHkpOwotfTsKLQotcGFydGlhbCBuYW1lc3BhY2UgU29tZU5hbWVzcGFjZSB7Ci0gIC8qIG5hbWVz
cGFjZV9tZW1iZXJzLi4uICovCi19OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL25vaW50ZXJmYWNlb2JqZWN0LndpZGwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvc3ludGF4L2lkbC9ub2ludGVyZmFjZW9iamVjdC53aWRsCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCBjMTdkNzVmZjhmZDM3MzJjZGNiZTgxNWY2OGE3YTgzYWVmZWQ1YzE4Li4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9z
eW50YXgvaWRsL25vaW50ZXJmYWNlb2JqZWN0LndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSw1ICsw
LDAgQEAKLS8vIEV4dHJhY3RlZCBmcm9tIGh0dHA6Ly9kZXYudzMub3JnLzIwMDYvd2ViYXBpL1dl
YklETC8gb24gMjAxMS0wNS0wNgotW05vSW50ZXJmYWNlT2JqZWN0XQotaW50ZXJmYWNlIFF1ZXJ5
IHsKLSAgYW55IGxvb2t1cEVudHJ5KHVuc2lnbmVkIGxvbmcga2V5KTsKLX07ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvbnVsbGFi
bGUud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL251bGxhYmxlLndpZGwKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IGNjYmY2MjVmZjhhZWExMmI1YmU1YjEyMDYwOTljOWIwN2M2Y2Nk
YmQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3N5bnRheC9pZGwvbnVsbGFibGUud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDkgKzAsMCBA
QAotLy8gRXh0cmFjdGVkIGZyb20gaHR0cDovL2Rldi53My5vcmcvMjAwNi93ZWJhcGkvV2ViSURM
LyBvbiAyMDExLTA1LTA2Ci1pbnRlcmZhY2UgTXlDb25zdGFudHMgewotICBjb25zdCBib29sZWFu
PyBBUkVfV0VfVEhFUkVfWUVUID0gZmFsc2U7Ci19OwotCi1pbnRlcmZhY2UgTm9kZSB7Ci0gIHJl
YWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmc/IG5hbWVzcGFjZVVSSTsKLSAgLy8gLi4uCi19Owpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgv
aWRsL251bGxhYmxlb2JqZWN0cy53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvbnVsbGFibGVv
YmplY3RzLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDgzZDFkNDBiMmFjZmEz
YTM2ZWQ4YjUwM2RmNDIwNTAzMzhjZGFiYjYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvbnVsbGFibGVvYmplY3RzLndp
ZGwKKysrIC9kZXYvbnVsbApAQCAtMSwxMyArMCwwIEBACi0vLyBFeHRyYWN0ZWQgZnJvbSBXZWJJ
REwgc3BlYyAyMDExLTA1LTIzCi0KLWludGVyZmFjZSBBIHsKLSAgLy8gLi4uCi19OwotaW50ZXJm
YWNlIEIgewotICAvLyAuLi4KLX07Ci1pbnRlcmZhY2UgQyB7Ci0gIHZvaWQgZihBPyB4KTsKLSAg
dm9pZCBmKEI/IHgpOwotCi19OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL29wZXJhdGlvbi1vcHRpb25hbC1hcmcud2lkbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC9zeW50YXgvaWRsL29wZXJhdGlvbi1vcHRpb25hbC1hcmcud2lkbApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMzc5MDUzYjQ1ZjE0YTE1ZGU4YmU5YjVkMTA5MDFiNDU5NmM4
NzBmYS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvc3ludGF4L2lkbC9vcGVyYXRpb24tb3B0aW9uYWwtYXJnLndpZGwKKysrIC9kZXYvbnVs
bApAQCAtMSw0ICswLDAgQEAKLS8vIEV4dHJhY3RlZCBmcm9tIGh0dHA6Ly9kZXYudzMub3JnLzIw
MDYvd2ViYXBpL1dlYklETC8gb24gMjAxMS0wNS0wNgotaW50ZXJmYWNlIENvbG9yQ3JlYXRvciB7
Ci0gIG9iamVjdCBjcmVhdGVDb2xvcihmbG9hdCB2MSwgZmxvYXQgdjIsIGZsb2F0IHYzLCBvcHRp
b25hbCBmbG9hdCBhbHBoYSA9IDMuNSk7Ci19OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL292ZXJsb2FkaW5nLndpZGwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvc3ludGF4L2lkbC9vdmVybG9hZGluZy53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCA1MmQ4ZDE1YzFhMTNjODEzOTdiZmY1OTgxZDU3NDVkOWU0MmVhOTJkLi4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgv
aWRsL292ZXJsb2FkaW5nLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSwyMCArMCwwIEBACi0vLyBF
eHRyYWN0ZWQgZnJvbSBodHRwOi8vZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJJREwvIG9uIDIw
MTEtMDUtMDYKLWludGVyZmFjZSBBIHsKLSAgLy8gLi4uCi19OwotCi1pbnRlcmZhY2UgQiB7Ci0g
IC8vIC4uLgotfTsKLQotaW50ZXJmYWNlIEMgewotICB2b2lkIGYoQSB4KTsKLSAgdm9pZCBmKEIg
eCk7Ci19OwotCi1pbnRlcmZhY2UgRCB7Ci0gIC8qIGYxICovIHZvaWQgZihET01TdHJpbmcgYSk7
Ci0gIC8qIGYyICovIHZvaWQgZihbQWxsb3dBbnldIERPTVN0cmluZyBhLCBET01TdHJpbmcgYiwg
ZmxvYXQuLi4gYyk7Ci0gIC8qIGYzICovIHZvaWQgZigpOwotICAvKiBmNCAqLyB2b2lkIGYobG9u
ZyBhLCBET01TdHJpbmcgYiwgb3B0aW9uYWwgRE9NU3RyaW5nIGMsIGZsb2F0Li4uIGQpOwotfTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL292ZXJyaWRlYnVpbHRpbnMud2lkbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC9zeW50YXgvaWRsL292ZXJyaWRlYnVpbHRpbnMud2lkbApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggNzkyMTFjMjllODQzNmQwMWM1MWVlYTFhOWQzOTAyZTBlNmNjMTkx
Ni4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvc3ludGF4L2lkbC9vdmVycmlkZWJ1aWx0aW5zLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSw2
ICswLDAgQEAKLS8vIEV4dHJhY3RlZCBmcm9tIGh0dHA6Ly9kZXYudzMub3JnLzIwMDYvd2ViYXBp
L1dlYklETC8gb24gMjAxMS0wNS0wNgotW092ZXJyaWRlQnVpbHRpbnNdCi1pbnRlcmZhY2UgU3Ry
aW5nTWFwMiB7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxlbmd0aDsKLSAg
Z2V0dGVyIERPTVN0cmluZyBsb29rdXAoRE9NU3RyaW5nIGtleSk7Ci19OwpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL3BhcnRpYWwt
aW50ZXJmYWNlLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9wYXJ0aWFsLWludGVyZmFjZS53
aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5MGU3ZTBlYTQyMWI0ZjFiOWQzZTVh
NThkMmQxNDcwMzk1YTlmM2E4Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL3BhcnRpYWwtaW50ZXJmYWNlLndpZGwKKysr
IC9kZXYvbnVsbApAQCAtMSw3ICswLDAgQEAKLWludGVyZmFjZSBGb28gewotICBhdHRyaWJ1dGUg
RE9NU3RyaW5nIGJhcjsKLX07Ci0KLXBhcnRpYWwgaW50ZXJmYWNlIEZvbyB7Ci0gIGF0dHJpYnV0
ZSBET01TdHJpbmcgcXV1eDsKLX07ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvcHJpbWl0aXZlcy53aWRsIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5
bnRheC9pZGwvcHJpbWl0aXZlcy53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBh
OTE0NTVlZTE5MmYxOTIxODdlMjM3MjhjNzhlYWE2ZmRhOGQ3MzNmLi4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL3ByaW1p
dGl2ZXMud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDE5ICswLDAgQEAKLWludGVyZmFjZSBQcmlt
aXRpdmVzIHsKLSAgYXR0cmlidXRlIGJvb2xlYW4gdHJ1dGg7Ci0gIGF0dHJpYnV0ZSBieXRlIGNo
YXJhY3RlcjsKLSAgYXR0cmlidXRlIG9jdGV0IHZhbHVlOwotICBhdHRyaWJ1dGUgc2hvcnQgbnVt
YmVyOwotICBhdHRyaWJ1dGUgdW5zaWduZWQgc2hvcnQgcG9zaXRpdmU7Ci0gIGF0dHJpYnV0ZSBs
b25nIGJpZzsKLSAgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgYmlncG9zaXRpdmU7Ci0gIGF0dHJp
YnV0ZSBsb25nIGxvbmcgYmlnYmlnOwotICBhdHRyaWJ1dGUgIHVuc2lnbmVkIGxvbmcgbG9uZyBi
aWdiaWdwb3NpdGl2ZTsKLSAgYXR0cmlidXRlIGZsb2F0IHJlYWw7Ci0gIGF0dHJpYnV0ZSBkb3Vi
bGUgYmlncmVhbDsKLSAgYXR0cmlidXRlIHVucmVzdHJpY3RlZCBmbG9hdCByZWFsd2l0aGluZmlu
aXR5OwotICBhdHRyaWJ1dGUgdW5yZXN0cmljdGVkIGRvdWJsZSBiaWdyZWFsd2l0aGluZmluaXR5
OwotICBhdHRyaWJ1dGUgRE9NU3RyaW5nIHN0cmluZzsKLSAgYXR0cmlidXRlIEJ5dGVTdHJpbmcg
Ynl0ZXM7Ci0gIGF0dHJpYnV0ZSBEYXRlIGRhdGU7Ci0gIGF0dHJpYnV0ZSBSZWdFeHAgcmVnZXhw
OwotfTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL3Byb21pc2Utdm9pZC53aWRs
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvcHJvbWlzZS12b2lkLndpZGwKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IGM0ZWFjM2I3NWM0NmFjMDJhMjJjNzY4MjA1NmNiMzJiNWVjYjRkODku
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3N5bnRheC9pZGwvcHJvbWlzZS12b2lkLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSwzICswLDAg
QEAKLWludGVyZmFjZSBDYXQgewotICAgIGF0dHJpYnV0ZSBQcm9taXNlPHZvaWQ+IG1lb3c7Ci19
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvcHJvdG90eXBlcm9vdC53aWRsIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3N5bnRheC9pZGwvcHJvdG90eXBlcm9vdC53aWRsCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAzMGRkNWNiY2ExM2JlMDBlYWVmMWU1M2M2YjYzZTc5ZjRjOGE1NjRhLi4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9z
eW50YXgvaWRsL3Byb3RvdHlwZXJvb3Qud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDUgKzAsMCBA
QAotLy8gRXh0cmFjdGVkIGZyb20gaHR0cDovL2Rldi53My5vcmcvMjAwNi93ZWJhcGkvV2ViSURM
LyBvbiAyMDExLTA1LTA2Ci1bUHJvdG90eXBlUm9vdF0KLWludGVyZmFjZSBOb2RlIHsKLSAgcmVh
ZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIHNob3J0IG5vZGVUeXBlOwotfTsKXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9wdXRmb3J3
YXJkcy53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvcHV0Zm9yd2FyZHMud2lkbApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMWU1MGE0ZWUzOTRmNWRlNmFlZGIyOWNkNGZmOTE4ZjMz
ODJiMDRkZC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3Qvc3ludGF4L2lkbC9wdXRmb3J3YXJkcy53aWRsCisrKyAvZGV2L251bGwKQEAgLTEs
NSArMCwwIEBACi0vLyBFeHRyYWN0ZWQgZnJvbSBodHRwOi8vZGV2LnczLm9yZy8yMDA2L3dlYmFw
aS9XZWJJREwvIG9uIDIwMTEtMDUtMDYKLWludGVyZmFjZSBQZXJzb24gewotICBbUHV0Rm9yd2Fy
ZHM9ZnVsbF0gcmVhZG9ubHkgYXR0cmlidXRlIE5hbWUgbmFtZTsKLSAgYXR0cmlidXRlIHVuc2ln
bmVkIHNob3J0IGFnZTsKLX07ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvcmVjb3JkLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lk
bC9yZWNvcmQud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZGJmYWQzYWZiZmVi
Njg3NTcyNWM5NzdiZTMwMTQ3NjI5MmU0OGY0MS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9yZWNvcmQud2lkbAorKysg
L2Rldi9udWxsCkBAIC0xLDkgKzAsMCBAQAotW0NvbnN0cnVjdG9yKHJlY29yZDxVU1ZTdHJpbmcs
IFVTVlN0cmluZz4gaW5pdCldCi1pbnRlcmZhY2UgRm9vIHsKLSAgdm9pZCBmb28oc2VxdWVuY2U8
cmVjb3JkPEJ5dGVTdHJpbmcsIGFueT4+IHBhcmFtKTsKLSAgcmVjb3JkPERPTVN0cmluZywgKGZs
b2F0IG9yIERPTVN0cmluZyk/PiBiYXIoKTsKLX07Ci0KLWludGVyZmFjZSBCYXIgewotICByZWNv
cmQ8RE9NU3RyaW5nLCBbWEF0dHJdIGZsb2F0PiBiYXIoKTsKLX07CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvc3ludGF4L2lkbC9yZWctb3BlcmF0aW9ucy53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9p
ZGwvcmVnLW9wZXJhdGlvbnMud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzM4
YzhkNDI3NjM2ZmIzNDBhMDBkYjllYzliMWFjNTFjZmUxNTM4OC4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9yZWctb3Bl
cmF0aW9ucy53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsMTUgKzAsMCBAQAotLy8gRXh0cmFjdGVk
IGZyb20gaHR0cDovL2Rldi53My5vcmcvMjAwNi93ZWJhcGkvV2ViSURMLyBvbiAyMDExLTA1LTA2
Ci1pbnRlcmZhY2UgRGltZW5zaW9ucyB7Ci0gIGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIHdpZHRo
OwotICBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBoZWlnaHQ7Ci19OwotCi1pbnRlcmZhY2UgQnV0
dG9uIHsKLQotICAvLyBBbiBvcGVyYXRpb24gdGhhdCB0YWtlcyBubyBhcmd1bWVudHMsIHJldHVy
bnMgYSBib29sZWFuCi0gIGJvb2xlYW4gaXNNb3VzZU92ZXIoKTsKLQotICAvLyBPdmVybG9hZGVk
IG9wZXJhdGlvbnMuCi0gIHZvaWQgc2V0RGltZW5zaW9ucyhEaW1lbnNpb25zIHNpemUpOwotICB2
b2lkIHNldERpbWVuc2lvbnModW5zaWduZWQgbG9uZyB3aWR0aCwgdW5zaWduZWQgbG9uZyBoZWln
aHQpOwotfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvc3ludGF4L2lkbC9yZXBsYWNlYWJsZS53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvcmVw
bGFjZWFibGUud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzE0ZDBjMzc2ODkw
NDc0YTk4MjMxOGE2MDFjNTEwNTQ1OWY3Y2YyZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9yZXBsYWNlYWJsZS53aWRs
CisrKyAvZGV2L251bGwKQEAgLTEsNSArMCwwIEBACi0vLyBFeHRyYWN0ZWQgZnJvbSBodHRwOi8v
ZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJJREwvIG9uIDIwMTEtMDUtMDYKLWludGVyZmFjZSBD
b3VudGVyIHsKLSAgW1JlcGxhY2VhYmxlXSByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9u
ZyB2YWx1ZTsKLSAgdm9pZCBpbmNyZW1lbnQoKTsKLX07ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvc2VxdWVuY2Uud2lkbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC9zeW50YXgvaWRsL3NlcXVlbmNlLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IGI0N2M5ODIyNWM3MTU2OGU5MzMxMzlhOTAyNTE3YmNmODYwYTIwZTkuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9p
ZGwvc2VxdWVuY2Uud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDEzICswLDAgQEAKLS8vIEV4dHJh
Y3RlZCBmcm9tIGh0dHA6Ly9kZXYudzMub3JnLzIwMDYvd2ViYXBpL1dlYklETC8gb24gMjAxMS0w
NS0wNgotLy8gZWRpdGVkIHRvIHJlbW92ZSBzZXF1ZW5jZSBhcyBhdHRyaWJ1dGVzLCBub3cgaW52
YWxpZAotaW50ZXJmYWNlIENhbnZhcyB7Ci0gIHZvaWQgZHJhd1BvbHlnb24oc2VxdWVuY2U8Zmxv
YXQ+IGNvb3JkaW5hdGVzKTsKLSAgc2VxdWVuY2U8ZmxvYXQ+IGdldEluZmxlY3Rpb25Qb2ludHMo
KTsKLSAgLy8gLi4uCi19OwotCi0vLyBFeHRyYWN0ZWQgZnJvbSBodHRwczovL2hleWNhbS5naXRo
dWIuaW8vd2ViaWRsLyNpZGwtdHlwZS1leHRlbmRlZC1hdHRyaWJ1dGUtYXNzb2NpYXRlZC13aXRo
IG9uIDIwMTctMDctMDEKLQotaW50ZXJmYWNlIEkgewotICAgIHZvaWQgZjEoc2VxdWVuY2U8W1hB
dHRyXSBsb25nPiBhcmcpOwotfTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL3Nl
dGxpa2Uud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL3NldGxpa2Uud2lkbApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggNDUxMmYyODZiNTlhNTA2ZmNiYjk1N2JlZmUyNGEwODFiMDk3
ZDczZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvc3ludGF4L2lkbC9zZXRsaWtlLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSwxMSArMCww
IEBACi1pbnRlcmZhY2UgU2V0TGlrZSB7Ci0gIHNldGxpa2U8bG9uZz47Ci19OwotCi1pbnRlcmZh
Y2UgUmVhZE9ubHlTZXRMaWtlIHsKLSAgcmVhZG9ubHkgc2V0bGlrZTxsb25nPjsKLX07Ci0KLWlu
dGVyZmFjZSBTZXRMaWtlRXh0IHsKLSAgc2V0bGlrZTxbWEF0dHJdIGxvbmc+OwotfTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL3N0YXRpYy53aWRsIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRh
eC9pZGwvc3RhdGljLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDViMmNkMzY1
OTBmZDZmMjVlZmY5NmQzNTM3ZmI0OGJjZjdlMmI2YTMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvc3RhdGljLndpZGwK
KysrIC9kZXYvbnVsbApAQCAtMSwxMSArMCwwIEBACi0vLyBFeHRyYWN0ZWQgZnJvbSBodHRwOi8v
ZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJJREwvIG9uIDIwMTEtMDUtMDYKLWludGVyZmFjZSBQ
b2ludCB7IC8qIC4uLiAqLyB9OwotCi1pbnRlcmZhY2UgQ2lyY2xlIHsKLSAgYXR0cmlidXRlIGZs
b2F0IGN4OwotICBhdHRyaWJ1dGUgZmxvYXQgY3k7Ci0gIGF0dHJpYnV0ZSBmbG9hdCByYWRpdXM7
Ci0KLSAgc3RhdGljIHJlYWRvbmx5IGF0dHJpYnV0ZSBsb25nIHRyaWFuZ3VsYXRpb25Db3VudDsK
LSAgc3RhdGljIFBvaW50IHRyaWFuZ3VsYXRlKENpcmNsZSBjMSwgQ2lyY2xlIGMyLCBDaXJjbGUg
YzMpOwotfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvc3ludGF4L2lkbC9zdHJpbmdpZmllci1hdHRyaWJ1dGUud2lkbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50
YXgvaWRsL3N0cmluZ2lmaWVyLWF0dHJpYnV0ZS53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCBjOTY0ZWNiOTNlNjAxZjQ5Mzc0MWJiZWRhYTQ3ZmYyMTYzMzA3MzM1Li4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgv
aWRsL3N0cmluZ2lmaWVyLWF0dHJpYnV0ZS53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsNiArMCww
IEBACi0vLyBFeHRyYWN0ZWQgZnJvbSBodHRwOi8vZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJJ
REwvIG9uIDIwMTEtMDUtMDYKLVtDb25zdHJ1Y3Rvcl0KLWludGVyZmFjZSBTdHVkZW50IHsKLSAg
YXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgaWQ7Ci0gIHN0cmluZ2lmaWVyIGF0dHJpYnV0ZSBET01T
dHJpbmcgbmFtZTsKLX07ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3N5bnRheC9pZGwvc3RyaW5naWZpZXItY3VzdG9tLndpZGwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
c3ludGF4L2lkbC9zdHJpbmdpZmllci1jdXN0b20ud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggYjVkN2M4N2U3ZjQ1NzIwZjI0OGU4YTEwZDRiMTk0ZTcyMjFmYTJlZi4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4
L2lkbC9zdHJpbmdpZmllci1jdXN0b20ud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDkgKzAsMCBA
QAotLy8gRXh0cmFjdGVkIGZyb20gaHR0cDovL2Rldi53My5vcmcvMjAwNi93ZWJhcGkvV2ViSURM
LyBvbiAyMDExLTA1LTA2Ci1bQ29uc3RydWN0b3JdCi1pbnRlcmZhY2UgU3R1ZGVudCB7Ci0gIGF0
dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGlkOwotICBhdHRyaWJ1dGUgRE9NU3RyaW5nPyBmYW1pbHlO
YW1lOwotICBhdHRyaWJ1dGUgRE9NU3RyaW5nIGdpdmVuTmFtZTsKLQotICBzdHJpbmdpZmllciBE
T01TdHJpbmcgKCk7Ci19OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC9zeW50YXgvaWRsL3N0cmluZ2lmaWVyLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4
L2lkbC9zdHJpbmdpZmllci53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjNDUy
NzdlYThkYjMzNzc5NTJiNGJmYThhMDQwYWFkYjFkMWMzNDBlLi4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL3N0cmluZ2lm
aWVyLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSw4ICswLDAgQEAKLS8vIEV4dHJhY3RlZCBmcm9t
IGh0dHA6Ly9kZXYudzMub3JnLzIwMDYvd2ViYXBpL1dlYklETC8gb24gMjAxMS0wNS0wNgotaW50
ZXJmYWNlIEEgewotICBzdHJpbmdpZmllciBET01TdHJpbmcgKCk7Ci19OwotCi1pbnRlcmZhY2Ug
QiB7Ci0gIHN0cmluZ2lmaWVyOwotfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC90cmVhdGFzbnVsbC53aWRsIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3N5bnRheC9pZGwvdHJlYXRhc251bGwud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggZDNjNTViMDA4YzBkODZmMzdlOGViZjBhODYzNzg2MjhjYmUwN2ZmZC4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC90
cmVhdGFzbnVsbC53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsNyArMCwwIEBACi0vLyBFeHRyYWN0
ZWQgZnJvbSBodHRwOi8vZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJJREwvIG9uIDIwMTEtMDUt
MDYKLWludGVyZmFjZSBEb2cgewotICBhdHRyaWJ1dGUgRE9NU3RyaW5nIG5hbWU7Ci0gIGF0dHJp
YnV0ZSBET01TdHJpbmcgb3duZXI7Ci0KLSAgYm9vbGVhbiBpc01lbWJlck9mQnJlZWQoW1RyZWF0
TnVsbEFzPUVtcHR5U3RyaW5nXSBET01TdHJpbmcgYnJlZWROYW1lKTsKLX07ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvdHJlYXRh
c3VuZGVmaW5lZC53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvdHJlYXRhc3VuZGVmaW5lZC53
aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlMzAwNTBmODQxMzQwM2QyNDQwYjI2
YzNhMDBlM2VjNmM1YWFiNzkzLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL3RyZWF0YXN1bmRlZmluZWQud2lkbAorKysg
L2Rldi9udWxsCkBAIC0xLDcgKzAsMCBAQAotLy8gRXh0cmFjdGVkIGZyb20gaHR0cDovL2Rldi53
My5vcmcvMjAwNi93ZWJhcGkvV2ViSURMLyBvbiAyMDExLTA1LTA2Ci1pbnRlcmZhY2UgQ2F0IHsK
LSAgYXR0cmlidXRlIERPTVN0cmluZyBuYW1lOwotICBhdHRyaWJ1dGUgRE9NU3RyaW5nIG93bmVy
OwotCi0gIGJvb2xlYW4gaXNNZW1iZXJPZkJyZWVkKFtUcmVhdFVuZGVmaW5lZEFzPUVtcHR5U3Ry
aW5nXSBET01TdHJpbmcgYnJlZWROYW1lKTsKLX07ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvdHlwZWRlZi11bmlvbi53aWRsIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3N5bnRheC9pZGwvdHlwZWRlZi11bmlvbi53aWRsCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAzMDQ4NzAzZTBjNTU0MWQ1Y2E2OWY1MTg3MGYyMTlhYmYzNzQ1YjQ0Li4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9z
eW50YXgvaWRsL3R5cGVkZWYtdW5pb24ud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDQgKzAsMCBA
QAotICB0eXBlZGVmIChJbWFnZURhdGEgb3IKLSAgICAgICAgICAgSFRNTEltYWdlRWxlbWVudCBv
cgotICAgICAgICAgICBIVE1MQ2FudmFzRWxlbWVudCBvcgotICAgICAgICAgICBIVE1MVmlkZW9F
bGVtZW50KSBUZXhJbWFnZVNvdXJjZTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRs
L3R5cGVkZWYud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL3R5cGVkZWYud2lkbApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjRjMTdkOGQzNmE4OWZiNTBlYzNiYjYyMzJhMTIzN2Zl
ODZkZmIwZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3Qvc3ludGF4L2lkbC90eXBlZGVmLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSwyMiAr
MCwwIEBACi0vLyBFeHRyYWN0ZWQgZnJvbSBodHRwOi8vZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9X
ZWJJREwvIG9uIDIwMTEtMDUtMDYKLSAgICAgIGludGVyZmFjZSBQb2ludCB7Ci0gICAgICAgIGF0
dHJpYnV0ZSBmbG9hdCB4OwotICAgICAgICBhdHRyaWJ1dGUgZmxvYXQgeTsKLSAgICAgIH07Ci0K
LSAgICAgIHR5cGVkZWYgc2VxdWVuY2U8UG9pbnQ+IFBvaW50U2VxdWVuY2U7Ci0KLSAgICAgIGlu
dGVyZmFjZSBSZWN0IHsKLSAgICAgICAgYXR0cmlidXRlIFBvaW50IHRvcGxlZnQ7Ci0gICAgICAg
IGF0dHJpYnV0ZSBQb2ludCBib3R0b21yaWdodDsKLSAgICAgIH07Ci0KLSAgaW50ZXJmYWNlIFdp
ZGdldCB7Ci0KLSAgICByZWFkb25seSBhdHRyaWJ1dGUgUmVjdCBib3VuZHM7Ci0KLSAgICBib29s
ZWFuIHBvaW50V2l0aGluQm91bmRzKFBvaW50IHApOwotICAgIGJvb2xlYW4gYWxsUG9pbnRzV2l0
aGluQm91bmRzKFBvaW50U2VxdWVuY2UgcHMpOwotICB9OwotCi0gIHR5cGVkZWYgW0NsYW1wXSBv
Y3RldCB2YWx1ZTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvc3ludGF4L2lkbC90eXBlc3VmZml4ZXMud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRs
L3R5cGVzdWZmaXhlcy53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiZWFhYTg3
MjYwMDllNmIxYTNmZmUzYWFmZDVmODliZjdjYWZlNGJiLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL3R5cGVzdWZmaXhl
cy53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsMyArMCwwIEBACi1pbnRlcmZhY2UgU3VmZml4ZXMg
ewotICB2b2lkIHRlc3Qoc2VxdWVuY2U8RE9NU3RyaW5nPz4/IGZvbyk7Ci19OwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvdW5pb250eXBlLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4
L2lkbC91bmlvbnR5cGUud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMGQ1ZmU5
YmU0Mjg2NDBiZTcyMGZlMThiY2YyNWU3MTRkNDU5NDJhYS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC91bmlvbnR5cGUu
d2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDQgKzAsMCBAQAotaW50ZXJmYWNlIFVuaW9uIHsKLSBh
dHRyaWJ1dGUgKGZsb2F0IG9yIChEYXRlIG9yIEV2ZW50KSBvciAoTm9kZSBvciBET01TdHJpbmcp
PykgdGVzdDsKLSBhdHRyaWJ1dGUgKFtFbmZvcmNlUmFuZ2VdIGxvbmcgb3IgRGF0ZSkgdGVzdDI7
Ci19OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9z
eW50YXgvaWRsL3ZhcmlhZGljLW9wZXJhdGlvbnMud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRs
L3ZhcmlhZGljLW9wZXJhdGlvbnMud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
NTFmYWU0Y2MxZWExYzRhMzMzM2FmYzdkNzkxZmVkMDY2NDE1MDIzNS4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC92YXJp
YWRpYy1vcGVyYXRpb25zLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSw3ICswLDAgQEAKLS8vIEV4
dHJhY3RlZCBmcm9tIGh0dHA6Ly9kZXYudzMub3JnLzIwMDYvd2ViYXBpL1dlYklETC8gb24gMjAx
MS0wNS0wNgotaW50ZXJmYWNlIEludGVnZXJTZXQgewotICByZWFkb25seSBhdHRyaWJ1dGUgdW5z
aWduZWQgbG9uZyBjYXJkaW5hbGl0eTsKLQotICB2b2lkIHVuaW9uKGxvbmcuLi4gaW50cyk7Ci0g
IHZvaWQgaW50ZXJzZWN0aW9uKGxvbmcuLi4gaW50cyk7Ci19OwpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL3czYy1pbXBvcnQubG9n
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvdzNjLWltcG9ydC5sb2cKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDQyZDFkNzYwZGYwZjVmZTJjOTBlY2JmOWYyOThkOTg5ODJhMDVhOWUuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5
bnRheC9pZGwvdzNjLWltcG9ydC5sb2cKKysrIC9kZXYvbnVsbApAQCAtMSw2OCArMCwwIEBACi1U
aGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVw
b3NpdG9yeS4KLURvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0Lgot
SW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgotCWh0dHBz
Oi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0Ci0KLVRoZW4gcnVuIHRoZSBUb29s
cy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0Ci0KLURvIE5P
VCBtb2RpZnkgb3IgcmVtb3ZlIHRoaXMgZmlsZS4KLQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1Qcm9wZXJ0
aWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6Ci1Ob25lCi1Qcm9wZXJ0eSB2YWx1ZXMgcmVx
dWlyaW5nIHZlbmRvciBwcmVmaXhlczoKLU5vbmUKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotTGlzdCBvZiBm
aWxlczoKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9hbGxvd2FueS53aWRsCi0vTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5
bnRheC9pZGwvYXR0cmlidXRlcy53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvY2FsbGJhY2su
d2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL2NvbnN0YW50cy53aWRsCi0vTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5
bnRheC9pZGwvY29uc3RydWN0b3Iud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL2RpY3Rpb25h
cnktaW5oZXJpdHMud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL2RpY3Rpb25hcnkud2lkbAot
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC9zeW50YXgvaWRsL2RvY3VtZW50YXRpb24tZG9zLndpZGwKLS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
c3ludGF4L2lkbC9kb2N1bWVudGF0aW9uLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9lbnVt
LndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9lcXVpdmFsZW50LWRlY2wud2lkbAotL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC9zeW50YXgvaWRsL2V4dGVuZGVkLWF0dHJpYnV0ZXMud2lkbAotL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50
YXgvaWRsL2dlbmVyaWMud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL2dldHRlci1zZXR0ZXIu
d2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL2lkZW50aWZpZXItcXVhbGlmaWVkLW5hbWVzLndp
ZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9pbXBsZW1lbnRzLndpZGwKLS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3lu
dGF4L2lkbC9pbmRleGVkLXByb3BlcnRpZXMud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL2lu
aGVyaXRzLWdldHRlci53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvaW50ZXJmYWNlLWluaGVy
aXRzLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9pdGVyYWJsZS53aWRsCi0vTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3N5bnRheC9pZGwvbGVnYWN5aXRlcmFibGUud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL21h
cGxpa2Uud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL21peGluLndpZGwKLS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
c3ludGF4L2lkbC9uYW1lZGNvbnN0cnVjdG9yLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9u
YW1lc3BhY2Uud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL25vaW50ZXJmYWNlb2JqZWN0Lndp
ZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9udWxsYWJsZS53aWRsCi0vTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRh
eC9pZGwvbnVsbGFibGVvYmplY3RzLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9vcGVyYXRp
b24tb3B0aW9uYWwtYXJnLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9vdmVybG9hZGluZy53
aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvb3ZlcnJpZGVidWlsdGlucy53aWRsCi0vTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3N5bnRheC9pZGwvcGFydGlhbC1pbnRlcmZhY2Uud2lkbAotL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgv
aWRsL3ByaW1pdGl2ZXMud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL3Byb21pc2Utdm9pZC53
aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvcHJvdG90eXBlcm9vdC53aWRsCi0vTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3N5bnRheC9pZGwvcHV0Zm9yd2FyZHMud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL3JlY29y
ZC53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvcmVnLW9wZXJhdGlvbnMud2lkbAotL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC9zeW50YXgvaWRsL3JlcGxhY2VhYmxlLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9z
ZXF1ZW5jZS53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvc2V0bGlrZS53aWRsCi0vTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3N5bnRheC9pZGwvc3RhdGljLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9zdHJpbmdp
Zmllci1hdHRyaWJ1dGUud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL3N0cmluZ2lmaWVyLWN1
c3RvbS53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvc3RyaW5naWZpZXIud2lkbAotL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC9zeW50YXgvaWRsL3RyZWF0YXNudWxsLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC90
cmVhdGFzdW5kZWZpbmVkLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC90eXBlZGVmLXVuaW9u
LndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC90eXBlZGVmLndpZGwKLS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3lu
dGF4L2lkbC90eXBlc3VmZml4ZXMud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL3VuaW9udHlw
ZS53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvdmFyaWFkaWMtb3BlcmF0aW9ucy53aWRsCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vYWxsb3dhbnkuanNvbiBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC9zeW50YXgvanNvbi9hbGxvd2FueS5qc29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAyYTkzNTE4ZWQ5NDYzNzc2ZDNlNzM5NzA3NDY1NWEyYWE5NTI2YWY3Li4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9h
bGxvd2FueS5qc29uCisrKyAvZGV2L251bGwKQEAgLTEsMTEyICswLDAgQEAKLVsKLSAgICB7Ci0g
ICAgICAgICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAgICAgICJuYW1lIjogIkIiLAotICAgICAg
ICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFsKLSAgICAgICAgICAgIHsK
LSAgICAgICAgICAgICAgICAidHlwZSI6ICJvcGVyYXRpb24iLAotICAgICAgICAgICAgICAgICJn
ZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic2V0dGVyIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgImRlbGV0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInJldHVybi10eXBl
IiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAg
ICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogInZvaWQiLAotICAgICAgICAgICAg
ICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAg
ICAgIm5hbWUiOiAiZyIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImciLAotICAg
ICAgICAgICAgICAgICJhcmd1bWVudHMiOiBbXSwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMi
OiBbXQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlw
ZSI6ICJvcGVyYXRpb24iLAotICAgICAgICAgICAgICAgICJnZXR0ZXIiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAic2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImRlbGV0ZXIiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
InN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAg
ICAgICAgICAgICAgICAgICJ0eXBlIjogInJldHVybi10eXBlIiwKLSAgICAgICAgICAgICAgICAg
ICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ICAgICJpZGxUeXBlIjogInZvaWQiLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBb
XQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiZyIsCi0gICAg
ICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImciLAotICAgICAgICAgICAgICAgICJhcmd1bWVu
dHMiOiBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJv
cHRpb25hbCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgInZhcmlhZGljIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdCI6IG51bGwsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJp
ZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImFyZ3VtZW50
LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAiaWRsVHlwZSI6ICJCIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0
cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJuYW1lIjogImIiLAotICAgICAgICAgICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjog
ImIiCi0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAg
ICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAg
ICAgICAgICAgICAgICJ0eXBlIjogIm9wZXJhdGlvbiIsCi0gICAgICAgICAgICAgICAgImdldHRl
ciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAiZGVsZXRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAi
aWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAicmV0dXJuLXR5cGUiLAot
ICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAg
ICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAidm9pZCIsCi0gICAgICAgICAgICAgICAg
ICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAi
bmFtZSI6ICJnIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiZyIsCi0gICAgICAg
ICAgICAgICAgImFyZ3VtZW50cyI6IFsKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAg
ICAgICAgICAgICAgICAgIm9wdGlvbmFsIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAidmFyaWFkaWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0Ijog
bnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFsKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1l
IjogIkFsbG93QW55IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImFyZ3VtZW50
cyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImV4dGVu
ZGVkLWF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyaHMiOiBu
dWxsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICAgICAg
ICAgXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICJ0eXBlIjogImFyZ3VtZW50LXR5cGUiLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5pb24i
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJET01TdHJp
bmciLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAg
ICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAicyIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAicyIKLSAgICAgICAgICAg
ICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgImV4dEF0dHJz
IjogW10KLSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImluaGVyaXRhbmNlIjog
bnVsbCwKLSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9Ci1dCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvc3ludGF4L2pzb24vYXR0cmlidXRlcy5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29u
L2F0dHJpYnV0ZXMuanNvbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjAyY2IyMTg3
YTJhZjJkOTVkOTIxMzU4OTNlY2RiOTdmOTFiYTYxMS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vYXR0cmlidXRlcy5q
c29uCisrKyAvZGV2L251bGwKQEAgLTEsNDcgKzAsMCBAQAotWwotICAgIHsKLSAgICAgICAgInR5
cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUiOiAiUGVyc29uIiwKLSAgICAgICAgInBh
cnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJlcnMiOiBbCi0gICAgICAgICAgICB7Ci0gICAg
ICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAic3RhdGlj
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAicmVhZG9ubHkiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAg
InR5cGUiOiAiYXR0cmlidXRlLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6
IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUi
OiAidW5zaWduZWQgc2hvcnQiLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQot
ICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiYWdlIiwKLSAgICAg
ICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiYWdlIiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0
cnMiOiBbXQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAi
dHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaW5o
ZXJpdCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJyZWFkb25seSI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRy
aWJ1dGUtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAg
ICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1
bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJhbnkiLAotICAg
ICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAg
ICAgICAgICAgICAgIm5hbWUiOiAicmVxdWlyZWQiLAotICAgICAgICAgICAgICAgICJlc2NhcGVk
TmFtZSI6ICJyZXF1aXJlZCIsCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAg
ICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImluaGVyaXRhbmNlIjogbnVsbCwKLSAgICAg
ICAgImV4dEF0dHJzIjogW10KLSAgICB9Ci1dCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4
L2pzb24vY2FsbGJhY2suanNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9jYWxsYmFjay5qc29u
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4OWQ2M2FhZTUzZDAyYTVmNTFkZmNhZTQx
MzdmZDNiOWIxZmUyYzFkLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9jYWxsYmFjay5qc29uCisrKyAvZGV2L251bGwK
QEAgLTEsMTI2ICswLDAgQEAKLVsKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImNhbGxiYWNrIiwK
LSAgICAgICAgIm5hbWUiOiAiQXN5bmNPcGVyYXRpb25DYWxsYmFjayIsCi0gICAgICAgICJpZGxU
eXBlIjogewotICAgICAgICAgICAgInR5cGUiOiAicmV0dXJuLXR5cGUiLAotICAgICAgICAgICAg
ImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAg
ICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICJpZGxUeXBlIjogInZvaWQiLAotICAg
ICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgfSwKLSAgICAgICAgImFyZ3VtZW50cyI6
IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAib3B0aW9uYWwiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAidmFyaWFkaWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiZGVmYXVs
dCI6IG51bGwsCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10sCi0gICAgICAgICAgICAg
ICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImFyZ3VtZW50LXR5
cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAg
ICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiRE9NU3RyaW5nIiwKLSAgICAg
ICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAg
ICAgICAgICAgICJuYW1lIjogInN0YXR1cyIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1l
IjogInN0YXR1cyIKLSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImV4dEF0dHJz
IjogW10KLSAgICB9LAotICAgIHsKLSAgICAgICAgInR5cGUiOiAiY2FsbGJhY2sgaW50ZXJmYWNl
IiwKLSAgICAgICAgIm5hbWUiOiAiRXZlbnRIYW5kbGVyIiwKLSAgICAgICAgInBhcnRpYWwiOiBm
YWxzZSwKLSAgICAgICAgIm1lbWJlcnMiOiBbCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAg
ICAgInR5cGUiOiAib3BlcmF0aW9uIiwKLSAgICAgICAgICAgICAgICAiZ2V0dGVyIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgInNldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJkZWxl
dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjog
ewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAgICAgICAg
ICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxl
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICAgICAiaWRsVHlwZSI6ICJ2b2lkIiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0
dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogImV2
ZW50T2NjdXJyZWQiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJldmVudE9jY3Vy
cmVkIiwKLSAgICAgICAgICAgICAgICAiYXJndW1lbnRzIjogWwotICAgICAgICAgICAgICAgICAg
ICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAib3B0aW9uYWwiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICJ2YXJpYWRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgImRlZmF1bHQiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjog
W10sCi0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
Im51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiRE9NU3RyaW5n
IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAg
ICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjogImRldGFp
bHMiLAotICAgICAgICAgICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImRldGFpbHMiCi0g
ICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAg
ICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJpbmhl
cml0YW5jZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgfSwKLSAgICB7Ci0g
ICAgICAgICJ0eXBlIjogImNhbGxiYWNrIiwKLSAgICAgICAgIm5hbWUiOiAiU29ydENhbGxiYWNr
IiwKLSAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAidHlwZSI6ICJyZXR1cm4tdHlw
ZSIsCi0gICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAibnVsbGFibGUi
OiBmYWxzZSwKLSAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgImlkbFR5
cGUiOiAiYm9vbGVhbiIsCi0gICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICB9LAot
ICAgICAgICAiYXJndW1lbnRzIjogWwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJv
cHRpb25hbCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJ2YXJpYWRpYyI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICJkZWZhdWx0IjogbnVsbCwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMi
OiBbXSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAg
InR5cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjog
bnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6
ICJhbnkiLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAg
ICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiYSIsCi0gICAgICAgICAgICAgICAgImVz
Y2FwZWROYW1lIjogImEiCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAg
ICAgICAgICJvcHRpb25hbCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJ2YXJpYWRpYyI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICJkZWZhdWx0IjogbnVsbCwKLSAgICAgICAgICAgICAgICAi
ZXh0QXR0cnMiOiBbXSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAg
ICAgICAgICAgInR5cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJn
ZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAi
aWRsVHlwZSI6ICJhbnkiLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAg
ICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiYiIsCi0gICAgICAgICAg
ICAgICAgImVzY2FwZWROYW1lIjogImIiCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAg
ICAgICJleHRBdHRycyI6IFtdCi0gICAgfQotXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRh
eC9qc29uL2NvbnN0YW50cy5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2NvbnN0YW50cy5q
c29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlZjJiOGM0NGNhMTY3Y2Y2ZWI4NjZm
ZWJiODUwMDYyZjJmNDU2YTc1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9jb25zdGFudHMuanNvbgorKysgL2Rldi9u
dWxsCkBAIC0xLDE1NCArMCwwIEBACi1bCi0gICAgewotICAgICAgICAidHlwZSI6ICJpbnRlcmZh
Y2UiLAotICAgICAgICAibmFtZSI6ICJVdGlsIiwKLSAgICAgICAgInBhcnRpYWwiOiBmYWxzZSwK
LSAgICAgICAgIm1lbWJlcnMiOiBbCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5
cGUiOiAiY29uc3QiLAotICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJjb25z
dC10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAg
ICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9u
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogImJvb2xlYW4iLAotICAg
ICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAg
ICAgICAgICAgICAgIm5hbWUiOiAiREVCVUciLAotICAgICAgICAgICAgICAgICJ2YWx1ZSI6IHsK
LSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCi0gICAgICAgICAgICAgICAg
ICAgICJ2YWx1ZSI6IGZhbHNlCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAi
ZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAg
ICAgICAidHlwZSI6ICJjb25zdCIsCi0gICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBl
IjogImNvbnN0LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0g
ICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAg
ICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAic2hvcnQi
LAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0s
Ci0gICAgICAgICAgICAgICAgIm5hbWUiOiAibmVnYXRpdmUiLAotICAgICAgICAgICAgICAgICJ2
YWx1ZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAibnVtYmVyIiwKLSAgICAgICAg
ICAgICAgICAgICAgInZhbHVlIjogIi0xIgotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAg
ICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAg
ICAgICAgICAgICAgInR5cGUiOiAiY29uc3QiLAotICAgICAgICAgICAgICAgICJudWxsYWJsZSI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAg
ICAidHlwZSI6ICJjb25zdC10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBu
dWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjog
Im9jdGV0IiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAg
ICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogIkxGIiwKLSAgICAgICAgICAgICAgICAi
dmFsdWUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogIm51bWJlciIsCi0gICAgICAg
ICAgICAgICAgICAgICJ2YWx1ZSI6ICIxMCIKLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAg
ICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAg
ICAgICAgICAgICAgICJ0eXBlIjogImNvbnN0IiwKLSAgICAgICAgICAgICAgICAibnVsbGFibGUi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAg
ICAgInR5cGUiOiAiY29uc3QtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjog
bnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6
ICJ1bnNpZ25lZCBsb25nIiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAg
ICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogIkJJVF9NQVNLIiwKLSAg
ICAgICAgICAgICAgICAidmFsdWUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogIm51
bWJlciIsCi0gICAgICAgICAgICAgICAgICAgICJ2YWx1ZSI6ICIweDAwMDBmYzAwIgotICAgICAg
ICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAg
IH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiY29uc3QiLAotICAg
ICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBl
IjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJjb25zdC10eXBlIiwKLSAgICAgICAg
ICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFi
bGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgICAgICJpZGxUeXBlIjogImZsb2F0IiwKLSAgICAgICAgICAgICAgICAgICAgImV4
dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjog
IkFWT0dBRFJPIiwKLSAgICAgICAgICAgICAgICAidmFsdWUiOiB7Ci0gICAgICAgICAgICAgICAg
ICAgICJ0eXBlIjogIm51bWJlciIsCi0gICAgICAgICAgICAgICAgICAgICJ2YWx1ZSI6ICI2LjAy
MmUyMyIKLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtd
Ci0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjog
ImNvbnN0IiwKLSAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiY29uc3QtdHlw
ZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAg
ICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJ1bnJlc3RyaWN0ZWQgZmxvYXQi
LAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0s
Ci0gICAgICAgICAgICAgICAgIm5hbWUiOiAic29iaWciLAotICAgICAgICAgICAgICAgICJ2YWx1
ZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiSW5maW5pdHkiLAotICAgICAgICAg
ICAgICAgICAgICAibmVnYXRpdmUiOiBmYWxzZQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAg
ICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0g
ICAgICAgICAgICAgICAgInR5cGUiOiAiY29uc3QiLAotICAgICAgICAgICAgICAgICJudWxsYWJs
ZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAg
ICAgICAidHlwZSI6ICJjb25zdC10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMi
OiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBl
IjogInVucmVzdHJpY3RlZCBkb3VibGUiLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMi
OiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAibWludXNv
bmVkaXZpZGVkYnl6ZXJvIiwKLSAgICAgICAgICAgICAgICAidmFsdWUiOiB7Ci0gICAgICAgICAg
ICAgICAgICAgICJ0eXBlIjogIkluZmluaXR5IiwKLSAgICAgICAgICAgICAgICAgICAgIm5lZ2F0
aXZlIjogdHJ1ZQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgImV4dEF0dHJz
IjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5
cGUiOiAiY29uc3QiLAotICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJjb25z
dC10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAg
ICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9u
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogInNob3J0IiwKLSAgICAg
ICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAg
ICAgICAgICAgICJuYW1lIjogIm5vdGFudW1iZXIiLAotICAgICAgICAgICAgICAgICJ2YWx1ZSI6
IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiTmFOIgotICAgICAgICAgICAgICAgIH0s
Ci0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0KLSAgICAgICAg
XSwKLSAgICAgICAgImluaGVyaXRhbmNlIjogbnVsbCwKLSAgICAgICAgImV4dEF0dHJzIjogW10K
LSAgICB9Ci1dCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vY29uc3RydWN0b3Iu
anNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9jb25zdHJ1Y3Rvci5qc29uCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCBlZmRkMWI1YTZiZWRjNjI2YjQ4M2EwNmQ5MjI2MGU1N2UzN2Fj
ZWVlLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC9zeW50YXgvanNvbi9jb25zdHJ1Y3Rvci5qc29uCisrKyAvZGV2L251bGwKQEAgLTEsMTEz
ICswLDAgQEAKLVsKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAgICAg
ICJuYW1lIjogIkNpcmNsZSIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0gICAgICAgICJt
ZW1iZXJzIjogWwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJp
YnV0ZSIsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpbmhlcml0IjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgInJlYWRvbmx5IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlk
bFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZS10eXBlIiwK
LSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAg
ICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogImZsb2F0IiwKLSAgICAgICAgICAgICAg
ICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAg
ICJuYW1lIjogInIiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJyIiwKLSAgICAg
ICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsK
LSAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJz
dGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJyZWFkb25s
eSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAg
ICAgICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5l
cmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRs
VHlwZSI6ICJmbG9hdCIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAg
ICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJjeCIsCi0gICAgICAgICAg
ICAgICAgImVzY2FwZWROYW1lIjogImN4IiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBb
XQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6
ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaW5oZXJpdCI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICJyZWFkb25seSI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUt
dHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAg
ICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJmbG9hdCIsCi0gICAgICAg
ICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAg
ICAgICAgICAibmFtZSI6ICJjeSIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImN5
IiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfSwKLSAgICAg
ICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAg
ICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICJyZWFkb25seSI6IHRydWUsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAg
ICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZS10eXBlIiwKLSAgICAgICAgICAgICAgICAg
ICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ICAgICJpZGxUeXBlIjogImZsb2F0IiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjog
W10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogImNpcmN1bWZl
cmVuY2UiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJjaXJjdW1mZXJlbmNlIiwK
LSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfQotICAgICAgICBd
LAotICAgICAgICAiaW5oZXJpdGFuY2UiOiBudWxsLAotICAgICAgICAiZXh0QXR0cnMiOiBbCi0g
ICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgIm5hbWUiOiAiQ29uc3RydWN0b3IiLAotICAg
ICAgICAgICAgICAgICJhcmd1bWVudHMiOiBudWxsLAotICAgICAgICAgICAgICAgICJ0eXBlIjog
ImV4dGVuZGVkLWF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInJocyI6IG51bGwKLSAgICAg
ICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgIm5hbWUiOiAiQ29uc3Ry
dWN0b3IiLAotICAgICAgICAgICAgICAgICJhcmd1bWVudHMiOiBbCi0gICAgICAgICAgICAgICAg
ICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJvcHRpb25hbCI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgInZhcmlhZGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAiZGVmYXVsdCI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMi
OiBbXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICJ0eXBlIjogImFyZ3VtZW50LXR5cGUiLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5pb24i
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJmbG9hdCIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAg
ICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJyYWRpdXMi
LAotICAgICAgICAgICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogInJhZGl1cyIKLSAgICAg
ICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgInR5
cGUiOiAiZXh0ZW5kZWQtYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAicmhzIjogbnVsbAot
ICAgICAgICAgICAgfQotICAgICAgICBdCi0gICAgfQotXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3N5bnRheC9qc29uL2RpY3Rpb25hcnktaW5oZXJpdHMuanNvbiBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgv
anNvbi9kaWN0aW9uYXJ5LWluaGVyaXRzLmpzb24KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDU5NWMzNWNmNzk3NDhhYzUzNWEwNGQ1NjRiYzhmZTYzNzdiNWQ3MjguLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29u
L2RpY3Rpb25hcnktaW5oZXJpdHMuanNvbgorKysgL2Rldi9udWxsCkBAIC0xLDg5ICswLDAgQEAK
LVsKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImRpY3Rpb25hcnkiLAotICAgICAgICAibmFtZSI6
ICJQYWludE9wdGlvbnMiLAotICAgICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVt
YmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJmaWVsZCIs
Ci0gICAgICAgICAgICAgICAgIm5hbWUiOiAiZmlsbFBhdHRlcm4iLAotICAgICAgICAgICAgICAg
ICJlc2NhcGVkTmFtZSI6ICJmaWxsUGF0dGVybiIsCi0gICAgICAgICAgICAgICAgInJlcXVpcmVk
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAg
ICAgICJ0eXBlIjogImRpY3Rpb25hcnktdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5l
cmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogdHJ1ZSwKLSAgICAg
ICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxU
eXBlIjogIkRPTVN0cmluZyIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0g
ICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXSwKLSAgICAg
ICAgICAgICAgICAiZGVmYXVsdCI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAic3Ry
aW5nIiwKLSAgICAgICAgICAgICAgICAgICAgInZhbHVlIjogImJsYWNrIgotICAgICAgICAgICAg
ICAgIH0KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5
cGUiOiAiZmllbGQiLAotICAgICAgICAgICAgICAgICJuYW1lIjogInN0cm9rZVBhdHRlcm4iLAot
ICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJzdHJva2VQYXR0ZXJuIiwKLSAgICAgICAg
ICAgICAgICAicmVxdWlyZWQiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsK
LSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiZGljdGlvbmFyeS10eXBlIiwKLSAgICAgICAg
ICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFi
bGUiOiB0cnVlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAgICAgImlkbFR5cGUiOiAiRE9NU3RyaW5nIiwKLSAgICAgICAgICAgICAgICAgICAg
ImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJleHRB
dHRycyI6IFtdLAotICAgICAgICAgICAgICAgICJkZWZhdWx0IjogewotICAgICAgICAgICAgICAg
ICAgICAidHlwZSI6ICJudWxsIgotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0sCi0g
ICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiZmllbGQiLAotICAgICAgICAg
ICAgICAgICJuYW1lIjogInBvc2l0aW9uIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUi
OiAicG9zaXRpb24iLAotICAgICAgICAgICAgICAgICJyZXF1aXJlZCI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJkaWN0
aW9uYXJ5LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAg
ICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAi
dW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiUG9pbnQiLAot
ICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0g
ICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10sCi0gICAgICAgICAgICAgICAgImRlZmF1bHQi
OiBudWxsCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJpbmhlcml0YW5jZSI6
IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgfSwKLSAgICB7Ci0gICAgICAgICJ0
eXBlIjogImRpY3Rpb25hcnkiLAotICAgICAgICAibmFtZSI6ICJXZXRQYWludE9wdGlvbnMiLAot
ICAgICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFsKLSAgICAgICAg
ICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJmaWVsZCIsCi0gICAgICAgICAgICAgICAg
Im5hbWUiOiAiaHlkcm9tZXRyeSIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImh5
ZHJvbWV0cnkiLAotICAgICAgICAgICAgICAgICJyZXF1aXJlZCI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJkaWN0aW9u
YXJ5LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAg
ICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5p
b24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiZmxvYXQiLAotICAg
ICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAg
ICAgICAgICAgICAgImV4dEF0dHJzIjogW10sCi0gICAgICAgICAgICAgICAgImRlZmF1bHQiOiBu
dWxsCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJpbmhlcml0YW5jZSI6ICJQ
YWludE9wdGlvbnMiLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0KLV0KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9kaWN0aW9uYXJ5Lmpzb24gYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3lu
dGF4L2pzb24vZGljdGlvbmFyeS5qc29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4
YmJjNmI5ZGZhYmI0ZTU1YzMwOWZmMmVlMzEwNDI4MjNkY2Y5NjNjLi4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9kaWN0
aW9uYXJ5Lmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSwxNDYgKzAsMCBAQAotWwotICAgIHsKLSAg
ICAgICAgInR5cGUiOiAiZGljdGlvbmFyeSIsCi0gICAgICAgICJuYW1lIjogIlBhaW50T3B0aW9u
cyIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJzIjogWwotICAg
ICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogImZpZWxkIiwKLSAgICAgICAgICAg
ICAgICAibmFtZSI6ICJmaWxsUGF0dGVybiIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1l
IjogImZpbGxQYXR0ZXJuIiwKLSAgICAgICAgICAgICAgICAicmVxdWlyZWQiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAi
ZGljdGlvbmFyeS10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAot
ICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiB0cnVlLAotICAgICAgICAgICAgICAgICAg
ICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiRE9NU3Ry
aW5nIiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAg
ICB9LAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdLAotICAgICAgICAgICAgICAgICJk
ZWZhdWx0IjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAotICAgICAg
ICAgICAgICAgICAgICAidmFsdWUiOiAiYmxhY2siCi0gICAgICAgICAgICAgICAgfQotICAgICAg
ICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJmaWVsZCIs
Ci0gICAgICAgICAgICAgICAgIm5hbWUiOiAic3Ryb2tlUGF0dGVybiIsCi0gICAgICAgICAgICAg
ICAgImVzY2FwZWROYW1lIjogInN0cm9rZVBhdHRlcm4iLAotICAgICAgICAgICAgICAgICJyZXF1
aXJlZCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAg
ICAgICAgICAidHlwZSI6ICJkaWN0aW9uYXJ5LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAi
Z2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IHRydWUsCi0g
ICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAi
aWRsVHlwZSI6ICJET01TdHJpbmciLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBb
XQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10sCi0g
ICAgICAgICAgICAgICAgImRlZmF1bHQiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjog
Im51bGwiCi0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsK
LSAgICAgICAgICAgICAgICAidHlwZSI6ICJmaWVsZCIsCi0gICAgICAgICAgICAgICAgIm5hbWUi
OiAicG9zaXRpb24iLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJwb3NpdGlvbiIs
Ci0gICAgICAgICAgICAgICAgInJlcXVpcmVkIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlk
bFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImRpY3Rpb25hcnktdHlwZSIs
Ci0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAg
ICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJQb2ludCIsCi0gICAgICAgICAgICAg
ICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAg
ICAiZXh0QXR0cnMiOiBbXSwKLSAgICAgICAgICAgICAgICAiZGVmYXVsdCI6IG51bGwKLSAgICAg
ICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiZmllbGQi
LAotICAgICAgICAgICAgICAgICJuYW1lIjogInNlcSIsCi0gICAgICAgICAgICAgICAgImVzY2Fw
ZWROYW1lIjogInNlcSIsCi0gICAgICAgICAgICAgICAgInJlcXVpcmVkIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImRp
Y3Rpb25hcnktdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogInNlcXVlbmNl
IiwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsK
LSAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImRpY3Rpb25hcnktdHlwZSIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAibG9uZyIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICB9
LAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0s
Ci0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10sCi0gICAgICAgICAgICAgICAgImRlZmF1
bHQiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInNlcXVlbmNlIiwKLSAgICAgICAg
ICAgICAgICAgICAgInZhbHVlIjogW10KLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB9
LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogImZpZWxkIiwKLSAgICAg
ICAgICAgICAgICAibmFtZSI6ICJyZXFTZXEiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFt
ZSI6ICJyZXFTZXEiLAotICAgICAgICAgICAgICAgICJyZXF1aXJlZCI6IHRydWUsCi0gICAgICAg
ICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImRpY3Rp
b25hcnktdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAg
ICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1
bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJsb25nIiwKLSAg
ICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAg
ICAgICAgICAgICAgICJleHRBdHRycyI6IFtdLAotICAgICAgICAgICAgICAgICJkZWZhdWx0Ijog
bnVsbAotICAgICAgICAgICAgfQotICAgICAgICBdLAotICAgICAgICAiaW5oZXJpdGFuY2UiOiBu
dWxsLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0sCi0gICAgewotICAgICAgICAidHlw
ZSI6ICJkaWN0aW9uYXJ5IiwKLSAgICAgICAgIm5hbWUiOiAiQSIsCi0gICAgICAgICJwYXJ0aWFs
IjogdHJ1ZSwKLSAgICAgICAgIm1lbWJlcnMiOiBbCi0gICAgICAgICAgICB7Ci0gICAgICAgICAg
ICAgICAgInR5cGUiOiAiZmllbGQiLAotICAgICAgICAgICAgICAgICJuYW1lIjogImgiLAotICAg
ICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJoIiwKLSAgICAgICAgICAgICAgICAicmVxdWly
ZWQiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAg
ICAgICAgInR5cGUiOiAiZGljdGlvbmFyeS10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdl
bmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJp
ZGxUeXBlIjogImxvbmciLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAg
ICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10sCi0gICAgICAg
ICAgICAgICAgImRlZmF1bHQiOiBudWxsCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewot
ICAgICAgICAgICAgICAgICJ0eXBlIjogImZpZWxkIiwKLSAgICAgICAgICAgICAgICAibmFtZSI6
ICJkIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiZCIsCi0gICAgICAgICAgICAg
ICAgInJlcXVpcmVkIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAg
ICAgICAgICAgICAgICAgICJ0eXBlIjogImRpY3Rpb25hcnktdHlwZSIsCi0gICAgICAgICAgICAg
ICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICAgICAiaWRsVHlwZSI6ICJsb25nIiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJz
IjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtd
LAotICAgICAgICAgICAgICAgICJkZWZhdWx0IjogbnVsbAotICAgICAgICAgICAgfQotICAgICAg
ICBdLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0KLV0KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC9zeW50YXgvanNvbi9kb2N1bWVudGF0aW9uLWRvcy5qc29uIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRh
eC9qc29uL2RvY3VtZW50YXRpb24tZG9zLmpzb24KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IGJhYTBiNWEwOWI1ZWUxN2I5NWJjZGQ0MmRiYTRmYWJhMjVjZDM3MzMuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29u
L2RvY3VtZW50YXRpb24tZG9zLmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSwxMCArMCwwIEBACi1b
Ci0gICAgewotICAgICAgICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFtZSI6ICJE
b2N1bWVudGF0aW9uIiwKLSAgICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJl
cnMiOiBbXSwKLSAgICAgICAgImluaGVyaXRhbmNlIjogbnVsbCwKLSAgICAgICAgImV4dEF0dHJz
IjogW10KLSAgICB9Ci1dCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vZG9jdW1l
bnRhdGlvbi5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2RvY3VtZW50YXRpb24uanNvbgpk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYmFhMGI1YTA5YjVlZTE3Yjk1YmNkZDQyZGJh
NGZhYmEyNWNkMzczMy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vZG9jdW1lbnRhdGlvbi5qc29uCisrKyAvZGV2L251
bGwKQEAgLTEsMTAgKzAsMCBAQAotWwotICAgIHsKLSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNl
IiwKLSAgICAgICAgIm5hbWUiOiAiRG9jdW1lbnRhdGlvbiIsCi0gICAgICAgICJwYXJ0aWFsIjog
ZmFsc2UsCi0gICAgICAgICJtZW1iZXJzIjogW10sCi0gICAgICAgICJpbmhlcml0YW5jZSI6IG51
bGwsCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgfQotXQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3N5bnRheC9qc29uL2VudW0uanNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9lbnVtLmpz
b24KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDExZjVkMDlmNTRiNjJiOWViMTRiNWFk
YWUxNTgyMjI2M2QwY2U3MzguLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2VudW0uanNvbgorKysgL2Rldi9udWxsCkBA
IC0xLDEzOCArMCwwIEBACi1bCi0gICAgewotICAgICAgICAidHlwZSI6ICJlbnVtIiwKLSAgICAg
ICAgIm5hbWUiOiAiTWVhbFR5cGUiLAotICAgICAgICAidmFsdWVzIjogWwotICAgICAgICAgICAg
ewotICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCi0gICAgICAgICAgICAgICAgInZh
bHVlIjogInJpY2UiCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAg
ICAgICJ0eXBlIjogInN0cmluZyIsCi0gICAgICAgICAgICAgICAgInZhbHVlIjogIm5vb2RsZXMi
Ci0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjog
InN0cmluZyIsCi0gICAgICAgICAgICAgICAgInZhbHVlIjogIm90aGVyIgotICAgICAgICAgICAg
fQotICAgICAgICBdLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0sCi0gICAgewotICAg
ICAgICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFtZSI6ICJNZWFsIiwKLSAgICAg
ICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJlcnMiOiBbCi0gICAgICAgICAgICB7
Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAi
c3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAicmVhZG9u
bHkiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAg
ICAgICAgInR5cGUiOiAiYXR0cmlidXRlLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2Vu
ZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlk
bFR5cGUiOiAiTWVhbFR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQot
ICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAidHlwZSIsCi0gICAg
ICAgICAgICAgICAgImVzY2FwZWROYW1lIjogInR5cGUiLAotICAgICAgICAgICAgICAgICJleHRB
dHRycyI6IFtdCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAg
ICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJp
bmhlcml0IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5IjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImF0
dHJpYnV0ZS10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAg
ICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAg
InVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogImZsb2F0IiwK
LSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAot
ICAgICAgICAgICAgICAgICJuYW1lIjogInNpemUiLAotICAgICAgICAgICAgICAgICJlc2NhcGVk
TmFtZSI6ICJzaXplIiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAg
ICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJvcGVyYXRpb24i
LAotICAgICAgICAgICAgICAgICJnZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic2V0
dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImRlbGV0ZXIiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAg
ICJ0eXBlIjogInJldHVybi10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBu
dWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjog
InZvaWQiLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAg
ICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiaW5pdGlhbGl6ZSIsCi0gICAgICAgICAg
ICAgICAgImVzY2FwZWROYW1lIjogImluaXRpYWxpemUiLAotICAgICAgICAgICAgICAgICJhcmd1
bWVudHMiOiBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJvcHRpb25hbCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgInZhcmlhZGljIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdCI6IG51bGwsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImFyZ3Vt
ZW50LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAiaWRsVHlwZSI6ICJNZWFsVHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAg
ICAgICAgICAgICAgICAibmFtZSI6ICJ0eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJl
c2NhcGVkTmFtZSI6ICJ0eXBlIgotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAg
ICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAib3B0aW9uYWwiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJ2YXJpYWRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgImRlZmF1bHQiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0
dHJzIjogW10sCi0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInVu
aW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiZmxv
YXQiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAg
ICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAic2l6
ZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAic2l6ZSIKLSAgICAg
ICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgImV4
dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImluaGVyaXRh
bmNlIjogbnVsbCwKLSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9LAotICAgIHsKLSAgICAg
ICAgInR5cGUiOiAiZW51bSIsCi0gICAgICAgICJuYW1lIjogIkFsdE1lYWxUeXBlIiwKLSAgICAg
ICAgInZhbHVlcyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJz
dHJpbmciLAotICAgICAgICAgICAgICAgICJ2YWx1ZSI6ICJyaWNlIgotICAgICAgICAgICAgfSwK
LSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAotICAgICAg
ICAgICAgICAgICJ2YWx1ZSI6ICJub29kbGVzIgotICAgICAgICAgICAgfSwKLSAgICAgICAgICAg
IHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAotICAgICAgICAgICAgICAgICJ2
YWx1ZSI6ICJvdGhlciIKLSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImV4dEF0
dHJzIjogW10KLSAgICB9Ci1dCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vZXF1
aXZhbGVudC1kZWNsLmpzb24gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vZXF1aXZhbGVudC1kZWNs
Lmpzb24KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGVlMDc5YTc3NzkwNTMxNjY2ZDIx
NGI2N2I1OGVhMGQ5Zjg5ZTJmMjguLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2VxdWl2YWxlbnQtZGVjbC5qc29uCisr
KyAvZGV2L251bGwKQEAgLTEsMzI2ICswLDAgQEAKLVsKLSAgICB7Ci0gICAgICAgICJ0eXBlIjog
ImludGVyZmFjZSIsCi0gICAgICAgICJuYW1lIjogIkRpY3Rpb25hcnkiLAotICAgICAgICAicGFy
dGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAg
ICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJzdGF0aWMi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJyZWFkb25seSI6IHRy
dWUsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0
eXBlIjogImF0dHJpYnV0ZS10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBu
dWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjog
InVuc2lnbmVkIGxvbmciLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAg
ICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAicHJvcGVydHlDb3VudCIs
Ci0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogInByb3BlcnR5Q291bnQiLAotICAgICAg
ICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewot
ICAgICAgICAgICAgICAgICJ0eXBlIjogIm9wZXJhdGlvbiIsCi0gICAgICAgICAgICAgICAgImdl
dHRlciI6IHRydWUsCi0gICAgICAgICAgICAgICAgInNldHRlciI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICJkZWxldGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJyZXR1cm4tdHlwZSIs
Ci0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAg
ICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJmbG9hdCIsCi0gICAgICAgICAgICAg
ICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAg
ICAibmFtZSI6ICJnZXRQcm9wZXJ0eSIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjog
ImdldFByb3BlcnR5IiwKLSAgICAgICAgICAgICAgICAiYXJndW1lbnRzIjogWwotICAgICAgICAg
ICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAib3B0aW9uYWwiOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICJ2YXJpYWRpYyI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgImRlZmF1bHQiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgImV4
dEF0dHJzIjogW10sCi0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
InVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAi
RE9NU3RyaW5nIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQot
ICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJuYW1l
IjogInByb3BlcnR5TmFtZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUi
OiAicHJvcGVydHlOYW1lIgotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAg
XSwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfSwKLSAgICAg
ICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJvcGVyYXRpb24iLAotICAgICAgICAg
ICAgICAgICJnZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic2V0dGVyIjogdHJ1ZSwK
LSAgICAgICAgICAgICAgICAiZGVsZXRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdGF0
aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAicmV0
dXJuLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAg
ICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5p
b24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAidm9pZCIsCi0gICAg
ICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAg
ICAgICAgICAgICAibmFtZSI6ICJzZXRQcm9wZXJ0eSIsCi0gICAgICAgICAgICAgICAgImVzY2Fw
ZWROYW1lIjogInNldFByb3BlcnR5IiwKLSAgICAgICAgICAgICAgICAiYXJndW1lbnRzIjogWwot
ICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAib3B0aW9uYWwi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ2YXJpYWRpYyI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHQiOiBudWxsLAotICAgICAgICAgICAgICAgICAg
ICAgICAgImV4dEF0dHJzIjogW10sCi0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6
IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImlk
bFR5cGUiOiAiRE9NU3RyaW5nIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0
cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJuYW1lIjogInByb3BlcnR5TmFtZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXNj
YXBlZE5hbWUiOiAicHJvcGVydHlOYW1lIgotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAg
ICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAib3B0aW9uYWwiOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ2YXJpYWRpYyI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgImRlZmF1bHQiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAg
ImV4dEF0dHJzIjogW10sCi0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUi
OiAiZmxvYXQiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0g
ICAgICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUi
OiAicHJvcGVydHlWYWx1ZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUi
OiAicHJvcGVydHlWYWx1ZSIKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAg
IF0sCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0KLSAgICAg
ICAgXSwKLSAgICAgICAgImluaGVyaXRhbmNlIjogbnVsbCwKLSAgICAgICAgImV4dEF0dHJzIjog
W10KLSAgICB9LAotICAgIHsKLSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAg
Im5hbWUiOiAiRGljdGlvbmFyeTIiLAotICAgICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAg
ICAibWVtYmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJh
dHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaW5oZXJpdCI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICJyZWFkb25seSI6IHRydWUsCi0gICAgICAgICAgICAgICAg
ImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZS10eXBl
IiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAg
ICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogInVuc2lnbmVkIGxvbmciLAotICAg
ICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAg
ICAgICAgICAgICAgIm5hbWUiOiAicHJvcGVydHlDb3VudCIsCi0gICAgICAgICAgICAgICAgImVz
Y2FwZWROYW1lIjogInByb3BlcnR5Q291bnQiLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6
IFtdCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBl
IjogIm9wZXJhdGlvbiIsCi0gICAgICAgICAgICAgICAgImdldHRlciI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICJzZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiZGVsZXRlciI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAi
c3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAg
ICAgICAgICAgICAgICAgInR5cGUiOiAicmV0dXJuLXR5cGUiLAotICAgICAgICAgICAgICAgICAg
ICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAg
ICAgImlkbFR5cGUiOiAiZmxvYXQiLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBb
XQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiZ2V0UHJvcGVy
dHkiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJnZXRQcm9wZXJ0eSIsCi0gICAg
ICAgICAgICAgICAgImFyZ3VtZW50cyI6IFsKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAg
ICAgICAgICAgICAgICAgICAgIm9wdGlvbmFsIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAidmFyaWFkaWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0
IjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdLAotICAgICAg
ICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgInR5cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogIkRPTVN0cmluZyIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAg
ICAgIH0sCi0gICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJwcm9wZXJ0eU5hbWUiLAot
ICAgICAgICAgICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogInByb3BlcnR5TmFtZSIKLSAg
ICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAg
ImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAg
ICAgICAgInR5cGUiOiAib3BlcmF0aW9uIiwKLSAgICAgICAgICAgICAgICAiZ2V0dGVyIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgInNldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJk
ZWxldGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBl
IjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAgICAg
ICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxh
YmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJ2b2lkIiwKLSAgICAgICAgICAgICAgICAgICAgImV4
dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjog
InNldFByb3BlcnR5IiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAic2V0UHJvcGVy
dHkiLAotICAgICAgICAgICAgICAgICJhcmd1bWVudHMiOiBbCi0gICAgICAgICAgICAgICAgICAg
IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJvcHRpb25hbCI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgInZhcmlhZGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAiZGVmYXVsdCI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBb
XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJ0eXBlIjogImFyZ3VtZW50LXR5cGUiLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAi
bnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJET01TdHJpbmci
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAg
ICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAicHJvcGVy
dHlOYW1lIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJwcm9wZXJ0
eU5hbWUiCi0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJvcHRpb25hbCI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgInZhcmlhZGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZGVm
YXVsdCI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICJ0eXBlIjogImFyZ3VtZW50LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFi
bGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJmbG9hdCIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAg
ICAgIH0sCi0gICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJwcm9wZXJ0eVZhbHVlIiwK
LSAgICAgICAgICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJwcm9wZXJ0eVZhbHVlIgot
ICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAg
ICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAg
ICAgICAgICAidHlwZSI6ICJvcGVyYXRpb24iLAotICAgICAgICAgICAgICAgICJnZXR0ZXIiOiB0
cnVlLAotICAgICAgICAgICAgICAgICJzZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAi
ZGVsZXRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlw
ZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAicmV0dXJuLXR5cGUiLAotICAgICAg
ICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxs
YWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiZmxvYXQiLAotICAgICAgICAgICAgICAgICAgICAi
ZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUi
OiBudWxsLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6IG51bGwsCi0gICAgICAgICAg
ICAgICAgImFyZ3VtZW50cyI6IFsKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAg
ICAgICAgICAgICAgIm9wdGlvbmFsIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAi
dmFyaWFkaWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0IjogbnVs
bCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdLAotICAgICAgICAgICAg
ICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5
cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVy
aWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogIkRPTVN0cmluZyIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgICAgIH0s
Ci0gICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJwcm9wZXJ0eU5hbWUiLAotICAgICAg
ICAgICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogInByb3BlcnR5TmFtZSIKLSAgICAgICAg
ICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgImV4dEF0
dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAg
InR5cGUiOiAib3BlcmF0aW9uIiwKLSAgICAgICAgICAgICAgICAiZ2V0dGVyIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgInNldHRlciI6IHRydWUsCi0gICAgICAgICAgICAgICAgImRlbGV0ZXIi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0g
ICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInJldHVybi10eXBlIiwKLSAgICAgICAgICAgICAg
ICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgICAgICJpZGxUeXBlIjogInZvaWQiLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMi
OiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiBudWxsLAot
ICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6IG51bGwsCi0gICAgICAgICAgICAgICAgImFy
Z3VtZW50cyI6IFsKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAg
ICAgIm9wdGlvbmFsIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAidmFyaWFkaWMi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0IjogbnVsbCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdLAotICAgICAgICAgICAgICAgICAgICAg
ICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXJn
dW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxs
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJpZGxUeXBlIjogIkRPTVN0cmluZyIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAg
ICAgICAgICAgICAgICAgICAibmFtZSI6ICJwcm9wZXJ0eU5hbWUiLAotICAgICAgICAgICAgICAg
ICAgICAgICAgImVzY2FwZWROYW1lIjogInByb3BlcnR5TmFtZSIKLSAgICAgICAgICAgICAgICAg
ICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIm9w
dGlvbmFsIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAidmFyaWFkaWMiOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0IjogbnVsbCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJleHRBdHRycyI6IFtdLAotICAgICAgICAgICAgICAgICAgICAgICAgImlk
bFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXJndW1lbnQt
dHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJpZGxUeXBlIjogImZsb2F0IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0
QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICJuYW1lIjogInByb3BlcnR5VmFsdWUiLAotICAgICAgICAgICAgICAgICAgICAgICAg
ImVzY2FwZWROYW1lIjogInByb3BlcnR5VmFsdWUiCi0gICAgICAgICAgICAgICAgICAgIH0KLSAg
ICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAg
ICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJpbmhlcml0YW5jZSI6IG51bGwsCi0gICAgICAg
ICJleHRBdHRycyI6IFtdCi0gICAgfQotXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9q
c29uL2V4Y2VwdGlvbi1pbmhlcml0YW5jZS5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2V4
Y2VwdGlvbi1pbmhlcml0YW5jZS5qc29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0
YTc2Yjk4Mjg1Njk3ZTM5YjNiN2EyODRiYjIwZThmYTBhNzJjMWFiLi4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9leGNl
cHRpb24taW5oZXJpdGFuY2UuanNvbgorKysgL2Rldi9udWxsCkBAIC0xLDM2ICswLDAgQEAKLVsK
LSAgICB7Ci0gICAgICAgICJ0eXBlIjogImV4Y2VwdGlvbiIsCi0gICAgICAgICJuYW1lIjogIkRP
TUV4Y2VwdGlvbiIsCi0gICAgICAgICJtZW1iZXJzIjogWwotICAgICAgICAgICAgewotICAgICAg
ICAgICAgICAgICJ0eXBlIjogImZpZWxkIiwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJjb2Rl
IiwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInNl
cXVlbmNlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAg
ICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAg
ICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJ1bnNpZ25l
ZCBzaG9ydCIKLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6
IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJpbmhlcml0YW5jZSI6IG51
bGwsCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgfSwKLSAgICB7Ci0gICAgICAgICJ0eXBl
IjogImV4Y2VwdGlvbiIsCi0gICAgICAgICJuYW1lIjogIkhpZXJhcmNoeVJlcXVlc3RFcnJvciIs
Ci0gICAgICAgICJtZW1iZXJzIjogW10sCi0gICAgICAgICJpbmhlcml0YW5jZSI6ICJET01FeGNl
cHRpb24iLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0sCi0gICAgewotICAgICAgICAi
dHlwZSI6ICJleGNlcHRpb24iLAotICAgICAgICAibmFtZSI6ICJOb01vZGlmaWNhdGlvbkFsbG93
ZWRFcnJvciIsCi0gICAgICAgICJtZW1iZXJzIjogW10sCi0gICAgICAgICJpbmhlcml0YW5jZSI6
ICJET01FeGNlcHRpb24iLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0KLV0KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24v
ZXh0ZW5kZWQtYXR0cmlidXRlcy5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2V4dGVuZGVk
LWF0dHJpYnV0ZXMuanNvbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjVmNTZmMDM0
MGFjODczNmIwNDhmYzJjNDhkZTg3YzJiMzdjNmJkNC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vZXh0ZW5kZWQtYXR0
cmlidXRlcy5qc29uCisrKyAvZGV2L251bGwKQEAgLTEsMjQwICswLDAgQEAKLVsKLSAgICB7Ci0g
ICAgICAgICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAgICAgICJuYW1lIjogIlNlcnZpY2VXb3Jr
ZXJHbG9iYWxTY29wZSIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1i
ZXJzIjogW10sCi0gICAgICAgICJpbmhlcml0YW5jZSI6ICJXb3JrZXJHbG9iYWxTY29wZSIsCi0g
ICAgICAgICJleHRBdHRycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAibmFt
ZSI6ICJHbG9iYWwiLAotICAgICAgICAgICAgICAgICJhcmd1bWVudHMiOiBudWxsLAotICAgICAg
ICAgICAgICAgICJ0eXBlIjogImV4dGVuZGVkLWF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAg
InJocyI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiaWRlbnRpZmllci1saXN0IiwK
LSAgICAgICAgICAgICAgICAgICAgInZhbHVlIjogWwotICAgICAgICAgICAgICAgICAgICAgICAg
IldvcmtlciIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiU2VydmljZVdvcmtlciIKLSAgICAg
ICAgICAgICAgICAgICAgXQotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0sCi0gICAg
ICAgICAgICB7Ci0gICAgICAgICAgICAgICAgIm5hbWUiOiAiRXhwb3NlZCIsCi0gICAgICAgICAg
ICAgICAgImFyZ3VtZW50cyI6IG51bGwsCi0gICAgICAgICAgICAgICAgInR5cGUiOiAiZXh0ZW5k
ZWQtYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAicmhzIjogewotICAgICAgICAgICAgICAg
ICAgICAidHlwZSI6ICJpZGVudGlmaWVyIiwKLSAgICAgICAgICAgICAgICAgICAgInZhbHVlIjog
IlNlcnZpY2VXb3JrZXIiCi0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgfQotICAgICAg
ICBdCi0gICAgfSwKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAgICAg
ICJuYW1lIjogIklkSW50ZXJmYWNlIiwKLSAgICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAg
ICAgIm1lbWJlcnMiOiBbXSwKLSAgICAgICAgImluaGVyaXRhbmNlIjogbnVsbCwKLSAgICAgICAg
ImV4dEF0dHJzIjogWwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJuYW1lIjogIklu
dEF0dHIiLAotICAgICAgICAgICAgICAgICJhcmd1bWVudHMiOiBudWxsLAotICAgICAgICAgICAg
ICAgICJ0eXBlIjogImV4dGVuZGVkLWF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInJocyI6
IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiaW50ZWdlciIsCi0gICAgICAgICAgICAg
ICAgICAgICJ2YWx1ZSI6ICIwIgotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0sCi0g
ICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgIm5hbWUiOiAiRmxvYXRBdHRyIiwKLSAgICAg
ICAgICAgICAgICAiYXJndW1lbnRzIjogbnVsbCwKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJl
eHRlbmRlZC1hdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJyaHMiOiB7Ci0gICAgICAgICAg
ICAgICAgICAgICJ0eXBlIjogImZsb2F0IiwKLSAgICAgICAgICAgICAgICAgICAgInZhbHVlIjog
IjMuMTQiCi0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsK
LSAgICAgICAgICAgICAgICAibmFtZSI6ICJTdHJpbmdBdHRyIiwKLSAgICAgICAgICAgICAgICAi
YXJndW1lbnRzIjogbnVsbCwKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJleHRlbmRlZC1hdHRy
aWJ1dGUiLAotICAgICAgICAgICAgICAgICJyaHMiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0
eXBlIjogInN0cmluZyIsCi0gICAgICAgICAgICAgICAgICAgICJ2YWx1ZSI6ICJcImFiY1wiIgot
ICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0KLSAgICAgICAgXQotICAgIH0sCi0gICAg
ewotICAgICAgICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFtZSI6ICJDaXJjbGUi
LAotICAgICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFsKLSAgICAg
ICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAg
ICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICJyZWFkb25seSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAg
ICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAgICAgICAgICAgICAg
ICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICAgICAiaWRsVHlwZSI6ICJkb3VibGUiLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMi
OiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiciIsCi0g
ICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogInIiLAotICAgICAgICAgICAgICAgICJleHRB
dHRycyI6IFtdCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAg
ICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJp
bmhlcml0IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5IjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImF0
dHJpYnV0ZS10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAg
ICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAg
InVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogImRvdWJsZSIs
Ci0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwK
LSAgICAgICAgICAgICAgICAibmFtZSI6ICJjeCIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWRO
YW1lIjogImN4IiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAg
fSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUiLAot
ICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5n
aWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICJyZWFkb25seSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjog
ewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAgICAg
ICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxh
YmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJkb3VibGUiLAotICAgICAgICAgICAgICAgICAgICAi
ZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUi
OiAiY3kiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJjeSIsCi0gICAgICAgICAg
ICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAg
ICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAic3RhdGlj
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAicmVhZG9ubHkiOiB0
cnVlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAi
dHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjog
bnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6
ICJkb3VibGUiLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAg
ICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiY2lyY3VtZmVyZW5jZSIsCi0gICAg
ICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImNpcmN1bWZlcmVuY2UiLAotICAgICAgICAgICAg
ICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJp
bmhlcml0YW5jZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6IFsKLSAgICAgICAgICAgIHsK
LSAgICAgICAgICAgICAgICAibmFtZSI6ICJDb25zdHJ1Y3RvciIsCi0gICAgICAgICAgICAgICAg
ImFyZ3VtZW50cyI6IG51bGwsCi0gICAgICAgICAgICAgICAgInR5cGUiOiAiZXh0ZW5kZWQtYXR0
cmlidXRlIiwKLSAgICAgICAgICAgICAgICAicmhzIjogbnVsbAotICAgICAgICAgICAgfSwKLSAg
ICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJDb25zdHJ1Y3RvciIsCi0gICAg
ICAgICAgICAgICAgImFyZ3VtZW50cyI6IFsKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAg
ICAgICAgICAgICAgICAgICAgIm9wdGlvbmFsIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAidmFyaWFkaWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0
IjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdLAotICAgICAg
ICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgInR5cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogImRvdWJsZSIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgICAg
IH0sCi0gICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJyYWRpdXMiLAotICAgICAgICAg
ICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogInJhZGl1cyIKLSAgICAgICAgICAgICAgICAg
ICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgInR5cGUiOiAiZXh0ZW5k
ZWQtYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAicmhzIjogbnVsbAotICAgICAgICAgICAg
fQotICAgICAgICBdCi0gICAgfSwKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImludGVyZmFjZSIs
Ci0gICAgICAgICJuYW1lIjogIkkiLAotICAgICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAg
ICAibWVtYmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJh
dHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaW5oZXJpdCI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICJyZWFkb25seSI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlw
ZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAg
ICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IHRy
dWUsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogWwotICAgICAgICAgICAgICAgICAg
ICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogbnVsbCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUi
OiAibG9uZyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAg
ICAgICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgICAgICB7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiBudWxsLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAi
bnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJOb2RlIiwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAg
ICAgICAgICAgfQotICAgICAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgICAgICAi
ZXh0QXR0cnMiOiBbCi0gICAgICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIm5hbWUiOiAiWEF0dHIiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICJhcmd1bWVudHMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjog
ImV4dGVuZGVkLWF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInJocyI6
IG51bGwKLSAgICAgICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAgXQot
ICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiYXR0cmliIiwKLSAg
ICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiYXR0cmliIiwKLSAgICAgICAgICAgICAgICAi
ZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfQotICAgICAgICBdLAotICAgICAgICAiaW5oZXJp
dGFuY2UiOiBudWxsLAotICAgICAgICAiZXh0QXR0cnMiOiBbCi0gICAgICAgICAgICB7Ci0gICAg
ICAgICAgICAgICAgIm5hbWUiOiAiRXhwb3NlZCIsCi0gICAgICAgICAgICAgICAgImFyZ3VtZW50
cyI6IG51bGwsCi0gICAgICAgICAgICAgICAgInR5cGUiOiAiZXh0ZW5kZWQtYXR0cmlidXRlIiwK
LSAgICAgICAgICAgICAgICAicmhzIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJp
ZGVudGlmaWVyIiwKLSAgICAgICAgICAgICAgICAgICAgInZhbHVlIjogIldpbmRvdyIKLSAgICAg
ICAgICAgICAgICB9Ci0gICAgICAgICAgICB9Ci0gICAgICAgIF0KLSAgICB9Ci1dCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vZ2VuZXJpYy5qc29uIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRh
eC9qc29uL2dlbmVyaWMuanNvbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDNjMjZh
YzdjZDBkZGQ5ZWIxNjdkN2E1ZWE5ODkxZjgyZmIwNmQ1Yi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vZ2VuZXJpYy5q
c29uCisrKyAvZGV2L251bGwKQEAgLTEsMTc2ICswLDAgQEAKLVsKLSAgICB7Ci0gICAgICAgICJ0
eXBlIjogImludGVyZmFjZSIsCi0gICAgICAgICJuYW1lIjogIkZvbyIsCi0gICAgICAgICJwYXJ0
aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJzIjogWwotICAgICAgICAgICAgewotICAgICAg
ICAgICAgICAgICJ0eXBlIjogIm9wZXJhdGlvbiIsCi0gICAgICAgICAgICAgICAgImdldHRlciI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICJzZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAiZGVsZXRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRs
VHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAicmV0dXJuLXR5cGUiLAotICAg
ICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6ICJQcm9taXNlIiwKLSAgICAgICAgICAgICAgICAg
ICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJ0eXBlIjogInJldHVybi10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJnZW5l
cmljIjogIlByb21pc2UiLAotICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0
eXBlIjogInJldHVybi10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJp
YyI6ICJzZXF1ZW5jZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJ0eXBlIjogInJldHVybi10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAibnVsbGFibGUiOiB0cnVlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAi
dW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUi
OiAiRE9NU3RyaW5nIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJz
IjogW10KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgICAgICAgICB9LAotICAg
ICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAg
fSwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9
LAotICAgICAgICAgICAgICAgICJuYW1lIjogImJhciIsCi0gICAgICAgICAgICAgICAgImVzY2Fw
ZWROYW1lIjogImJhciIsCi0gICAgICAgICAgICAgICAgImFyZ3VtZW50cyI6IFtdLAotICAgICAg
ICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewot
ICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInN0
YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICJpbmhlcml0IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5
IjogdHJ1ZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAg
ICAgInR5cGUiOiAiYXR0cmlidXRlLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJp
YyI6ICJQcm9taXNlIiwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAi
aWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZS10
eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJE
T01TdHJpbmciLAotICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAg
ICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAg
ICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogImJheiIsCi0gICAgICAg
ICAgICAgICAgImVzY2FwZWROYW1lIjogImJheiIsCi0gICAgICAgICAgICAgICAgImV4dEF0dHJz
IjogW10KLSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImluaGVyaXRhbmNlIjog
bnVsbCwKLSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9LAotICAgIHsKLSAgICAgICAgInR5
cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUiOiAiU2VydmljZVdvcmtlckNsaWVudHMi
LAotICAgICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFsKLSAgICAg
ICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJvcGVyYXRpb24iLAotICAgICAgICAg
ICAgICAgICJnZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic2V0dGVyIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgImRlbGV0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3Rh
dGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInJl
dHVybi10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiAiUHJvbWlzZSIsCi0g
ICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAg
ICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAibnVs
bGFibGUiOiB0cnVlLAotICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJDbGllbnQiLAotICAgICAgICAgICAg
ICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAg
ICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAg
ICAgICAgICAgICJuYW1lIjogImdldFNlcnZpY2VkIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBl
ZE5hbWUiOiAiZ2V0U2VydmljZWQiLAotICAgICAgICAgICAgICAgICJhcmd1bWVudHMiOiBbXSwK
LSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfSwKLSAgICAgICAg
ICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJvcGVyYXRpb24iLAotICAgICAgICAgICAg
ICAgICJnZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic2V0dGVyIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgImRlbGV0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RhdGlj
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInJldHVy
bi10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiAiUHJvbWlzZSIsCi0gICAg
ICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAi
dW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAg
ICAgICAgICAgICAgICAgICAidHlwZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFi
bGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiYW55IiwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAg
ICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAg
ICAgICAibmFtZSI6ICJyZWxvYWRBbGwiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6
ICJyZWxvYWRBbGwiLAotICAgICAgICAgICAgICAgICJhcmd1bWVudHMiOiBbXSwKLSAgICAgICAg
ICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfQotICAgICAgICBdLAotICAgICAg
ICAiaW5oZXJpdGFuY2UiOiBudWxsLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0sCi0g
ICAgewotICAgICAgICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFtZSI6ICJGZXRj
aEV2ZW50IiwKLSAgICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJlcnMiOiBb
Ci0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAib3BlcmF0aW9uIiwKLSAg
ICAgICAgICAgICAgICAiZ2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInNldHRlciI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICJkZWxldGVyIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlw
ZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogIlByb21p
c2UiLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjog
ewotICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAicmV0dXJuLXR5cGUiLAotICAgICAg
ICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAg
ICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogImFueSIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICB9LAot
ICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0g
ICAgICAgICAgICAgICAgIm5hbWUiOiAiZGVmYXVsdCIsCi0gICAgICAgICAgICAgICAgImVzY2Fw
ZWROYW1lIjogImRlZmF1bHQiLAotICAgICAgICAgICAgICAgICJhcmd1bWVudHMiOiBbXSwKLSAg
ICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfQotICAgICAgICBdLAot
ICAgICAgICAiaW5oZXJpdGFuY2UiOiAiRXZlbnQiLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQot
ICAgIH0KLV0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9nZXR0ZXItc2V0dGVy
Lmpzb24gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vZ2V0dGVyLXNldHRlci5qc29uCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2ZjgxOTZmZTU2ZGQzZDA0ZTlmNjRmNzE5YzgyYzU1MjE5
MzMyMGQ4Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC9zeW50YXgvanNvbi9nZXR0ZXItc2V0dGVyLmpzb24KKysrIC9kZXYvbnVsbApAQCAt
MSwxMTkgKzAsMCBAQAotWwotICAgIHsKLSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAg
ICAgICAgIm5hbWUiOiAiRGljdGlvbmFyeSIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0g
ICAgICAgICJtZW1iZXJzIjogWwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBl
IjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpbmhlcml0
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5IjogdHJ1ZSwKLSAgICAgICAgICAg
ICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRl
LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAg
ICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24i
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAidW5zaWduZWQgbG9uZyIs
Ci0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwK
LSAgICAgICAgICAgICAgICAibmFtZSI6ICJwcm9wZXJ0eUNvdW50IiwKLSAgICAgICAgICAgICAg
ICAiZXNjYXBlZE5hbWUiOiAicHJvcGVydHlDb3VudCIsCi0gICAgICAgICAgICAgICAgImV4dEF0
dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAg
InR5cGUiOiAib3BlcmF0aW9uIiwKLSAgICAgICAgICAgICAgICAiZ2V0dGVyIjogdHJ1ZSwKLSAg
ICAgICAgICAgICAgICAic2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImRlbGV0ZXIi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0g
ICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInJldHVybi10eXBlIiwKLSAgICAgICAgICAgICAg
ICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgICAgICJpZGxUeXBlIjogImZsb2F0IiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJz
IjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogbnVsbCwK
LSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiBudWxsLAotICAgICAgICAgICAgICAgICJh
cmd1bWVudHMiOiBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJvcHRpb25hbCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgInZhcmlhZGlj
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdCI6IG51bGwsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImFy
Z3VtZW50LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVs
bCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAiaWRsVHlwZSI6ICJET01TdHJpbmciLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgICAgICAgICB9LAotICAgICAg
ICAgICAgICAgICAgICAgICAgIm5hbWUiOiAicHJvcGVydHlOYW1lIiwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJwcm9wZXJ0eU5hbWUiCi0gICAgICAgICAgICAgICAg
ICAgIH0KLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtd
Ci0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjog
Im9wZXJhdGlvbiIsCi0gICAgICAgICAgICAgICAgImdldHRlciI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICJzZXR0ZXIiOiB0cnVlLAotICAgICAgICAgICAgICAgICJkZWxldGVyIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJp
bmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAg
ICAgICAgICAgICAidHlwZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJn
ZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAi
aWRsVHlwZSI6ICJ2b2lkIiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAg
ICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogbnVsbCwKLSAgICAgICAg
ICAgICAgICAiZXNjYXBlZE5hbWUiOiBudWxsLAotICAgICAgICAgICAgICAgICJhcmd1bWVudHMi
OiBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJvcHRp
b25hbCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgInZhcmlhZGljIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdCI6IG51bGwsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAiZXh0QXR0cnMiOiBbXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJpZGxU
eXBlIjogewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImFyZ3VtZW50LXR5
cGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAiaWRsVHlwZSI6ICJET01TdHJpbmciLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJl
eHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAg
ICAgICAgICAgIm5hbWUiOiAicHJvcGVydHlOYW1lIiwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJlc2NhcGVkTmFtZSI6ICJwcm9wZXJ0eU5hbWUiCi0gICAgICAgICAgICAgICAgICAgIH0sCi0g
ICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJvcHRpb25hbCI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgInZhcmlhZGljIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdCI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAiZXh0QXR0cnMiOiBbXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjog
ewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImFyZ3VtZW50LXR5cGUiLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRs
VHlwZSI6ICJmbG9hdCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjog
W10KLSAgICAgICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgICAgICAi
bmFtZSI6ICJwcm9wZXJ0eVZhbHVlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJlc2NhcGVk
TmFtZSI6ICJwcm9wZXJ0eVZhbHVlIgotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAg
ICAgICAgXSwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfQot
ICAgICAgICBdLAotICAgICAgICAiaW5oZXJpdGFuY2UiOiBudWxsLAotICAgICAgICAiZXh0QXR0
cnMiOiBbXQotICAgIH0KLV0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9pZGVu
dGlmaWVyLXF1YWxpZmllZC1uYW1lcy5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2lkZW50
aWZpZXItcXVhbGlmaWVkLW5hbWVzLmpzb24KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDA5OGNkY2IxZmJiYzRmMTQwZjZhYWRhYTdlZTI5NzdiMmZjY2Q0YjkuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2lk
ZW50aWZpZXItcXVhbGlmaWVkLW5hbWVzLmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSwxODkgKzAs
MCBAQAotWwotICAgIHsKLSAgICAgICAgInR5cGUiOiAidHlwZWRlZiIsCi0gICAgICAgICJpZGxU
eXBlIjogewotICAgICAgICAgICAgInR5cGUiOiAidHlwZWRlZi10eXBlIiwKLSAgICAgICAgICAg
ICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAg
ICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAiaWRsVHlwZSI6ICJmbG9hdCIsCi0g
ICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICB9LAotICAgICAgICAibmFtZSI6ICJu
dW1iZXIiLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0sCi0gICAgewotICAgICAgICAi
dHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFtZSI6ICJTeXN0ZW0iLAotICAgICAgICAi
cGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAg
ICAgICAgICAgICAgICAidHlwZSI6ICJvcGVyYXRpb24iLAotICAgICAgICAgICAgICAgICJnZXR0
ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgImRlbGV0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInJldHVybi10eXBlIiwK
LSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAg
ICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogIm9iamVjdCIsCi0gICAgICAgICAgICAg
ICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAg
ICAibmFtZSI6ICJjcmVhdGVPYmplY3QiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6
ICJjcmVhdGVPYmplY3QiLAotICAgICAgICAgICAgICAgICJhcmd1bWVudHMiOiBbCi0gICAgICAg
ICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJvcHRpb25hbCI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICAgICAgICAgInZhcmlhZGljIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAiZGVmYXVsdCI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAi
ZXh0QXR0cnMiOiBbXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImFyZ3VtZW50LXR5cGUiLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6
ICJET01TdHJpbmciLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtd
Ci0gICAgICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICAgICAgIm5h
bWUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6
ICJfaW50ZXJmYWNlIgotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXSwK
LSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfSwKLSAgICAgICAg
ICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJvcGVyYXRpb24iLAotICAgICAgICAgICAg
ICAgICJnZXR0ZXIiOiB0cnVlLAotICAgICAgICAgICAgICAgICJzZXR0ZXIiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAiZGVsZXRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdGF0aWMi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAicmV0dXJu
LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAg
ICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24i
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiRE9NU3RyaW5nIiwKLSAg
ICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAg
ICAgICAgICAgICAgICJuYW1lIjogbnVsbCwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUi
OiBudWxsLAotICAgICAgICAgICAgICAgICJhcmd1bWVudHMiOiBbCi0gICAgICAgICAgICAgICAg
ICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJvcHRpb25hbCI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgInZhcmlhZGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAiZGVmYXVsdCI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMi
OiBbXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICJ0eXBlIjogImFyZ3VtZW50LXR5cGUiLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5pb24i
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJET01TdHJp
bmciLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAg
ICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAia2V5
TmFtZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAia2V5TmFtZSIK
LSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAg
ICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImlu
aGVyaXRhbmNlIjogbnVsbCwKLSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9LAotICAgIHsK
LSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUiOiAiVGV4dEZpZWxk
IiwKLSAgICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJlcnMiOiBbCi0gICAg
ICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAgICAgICAg
ICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAicmVhZG9ubHkiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAg
ICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlLXR5cGUiLAotICAgICAgICAgICAgICAg
ICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAgICAgImlkbFR5cGUiOiAiYm9vbGVhbiIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRy
cyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJjb25z
dCIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogIl9jb25zdCIsCi0gICAgICAgICAg
ICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAg
ICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAic3RhdGlj
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAicmVhZG9ubHkiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAg
InR5cGUiOiAiYXR0cmlidXRlLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6
IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IHRydWUsCi0gICAgICAgICAg
ICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6
ICJET01TdHJpbmciLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAg
ICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAidmFsdWUiLAotICAgICAgICAg
ICAgICAgICJlc2NhcGVkTmFtZSI6ICJfdmFsdWUiLAotICAgICAgICAgICAgICAgICJleHRBdHRy
cyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJpbmhlcml0YW5jZSI6
IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgfSwKLSAgICB7Ci0gICAgICAgICJ0
eXBlIjogImludGVyZmFjZSIsCi0gICAgICAgICJuYW1lIjogIkZvb0V2ZW50VGFyZ2V0IiwKLSAg
ICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJlcnMiOiBbCi0gICAgICAgICAg
ICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAib3BlcmF0aW9uIiwKLSAgICAgICAgICAgICAg
ICAiZ2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInNldHRlciI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICJkZWxldGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJyZXR1cm4t
dHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAg
ICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJ2b2lkIiwKLSAgICAgICAg
ICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAg
ICAgICAgICJuYW1lIjogImFkZEV2ZW50TGlzdGVuZXIiLAotICAgICAgICAgICAgICAgICJlc2Nh
cGVkTmFtZSI6ICJhZGRFdmVudExpc3RlbmVyIiwKLSAgICAgICAgICAgICAgICAiYXJndW1lbnRz
IjogWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAib3B0
aW9uYWwiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ2YXJpYWRpYyI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHQiOiBudWxsLAotICAgICAgICAgICAg
ICAgICAgICAgICAgImV4dEF0dHJzIjogW10sCi0gICAgICAgICAgICAgICAgICAgICAgICAiaWRs
VHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10
eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogdHJ1ZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAiaWRsVHlwZSI6ICJFdmVudExpc3RlbmVyIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJuYW1lIjogImNhbGxiYWNrIiwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJlc2NhcGVkTmFtZSI6ICJjYWxsYmFjayIKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAg
ICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAg
IH0KLSAgICAgICAgXSwKLSAgICAgICAgImluaGVyaXRhbmNlIjogbnVsbCwKLSAgICAgICAgImV4
dEF0dHJzIjogW10KLSAgICB9Ci1dCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24v
aW1wbGVtZW50cy5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2ltcGxlbWVudHMuanNvbgpk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTczNjExOGNkOTAyZmI2YWY1ZWJjYTRlYmE2
NTZmZmI1MWJmZjI4Yi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vaW1wbGVtZW50cy5qc29uCisrKyAvZGV2L251bGwK
QEAgLTEsMTEzICswLDAgQEAKLVsKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImludGVyZmFjZSIs
Ci0gICAgICAgICJuYW1lIjogIk5vZGUiLAotICAgICAgICAicGFydGlhbCI6IGZhbHNlLAotICAg
ICAgICAibWVtYmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6
ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaW5oZXJpdCI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICJyZWFkb25seSI6IHRydWUsCi0gICAgICAgICAgICAg
ICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZS10
eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAg
ICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogInVuc2lnbmVkIHNob3J0IiwK
LSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAot
ICAgICAgICAgICAgICAgICJuYW1lIjogIm5vZGVUeXBlIiwKLSAgICAgICAgICAgICAgICAiZXNj
YXBlZE5hbWUiOiAibm9kZVR5cGUiLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0g
ICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJpbmhlcml0YW5jZSI6IG51bGwsCi0g
ICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgfSwKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImlu
dGVyZmFjZSIsCi0gICAgICAgICJuYW1lIjogIkV2ZW50VGFyZ2V0IiwKLSAgICAgICAgInBhcnRp
YWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJlcnMiOiBbCi0gICAgICAgICAgICB7Ci0gICAgICAg
ICAgICAgICAgInR5cGUiOiAib3BlcmF0aW9uIiwKLSAgICAgICAgICAgICAgICAiZ2V0dGVyIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgInNldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICJkZWxldGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxU
eXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAg
ICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51
bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJ2b2lkIiwKLSAgICAgICAgICAgICAgICAgICAg
ImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1l
IjogImFkZEV2ZW50TGlzdGVuZXIiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJh
ZGRFdmVudExpc3RlbmVyIiwKLSAgICAgICAgICAgICAgICAiYXJndW1lbnRzIjogWwotICAgICAg
ICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAib3B0aW9uYWwiOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ2YXJpYWRpYyI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgImRlZmF1bHQiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAg
ImV4dEF0dHJzIjogW10sCi0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUi
OiAiRE9NU3RyaW5nIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBb
XQotICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJu
YW1lIjogInR5cGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogInR5
cGUiCi0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJvcHRpb25hbCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgInZhcmlhZGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVs
dCI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJ0eXBlIjogImFyZ3VtZW50LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJFdmVudExpc3RlbmVyIiwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAg
ICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjogImxpc3RlbmVyIiwK
LSAgICAgICAgICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJsaXN0ZW5lciIKLSAgICAg
ICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAg
ICAgICAgICAgIm9wdGlvbmFsIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAidmFy
aWFkaWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0IjogbnVsbCwK
LSAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdLAotICAgICAgICAgICAgICAg
ICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUi
OiAiYXJndW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMi
OiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICJpZGxUeXBlIjogImJvb2xlYW4iLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgICAgICAgICB9LAotICAg
ICAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAidXNlQ2FwdHVyZSIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAidXNlQ2FwdHVyZSIKLSAgICAgICAgICAgICAgICAg
ICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10K
LSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImluaGVyaXRhbmNlIjogbnVsbCwK
LSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9LAotICAgIHsKLSAgICAgICAgInR5cGUiOiAi
aW1wbGVtZW50cyIsCi0gICAgICAgICJ0YXJnZXQiOiAiTm9kZSIsCi0gICAgICAgICJpbXBsZW1l
bnRzIjogIkV2ZW50VGFyZ2V0IiwKLSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9Ci1dCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vaW5kZXhlZC1wcm9wZXJ0aWVzLmpzb24g
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vaW5kZXhlZC1wcm9wZXJ0aWVzLmpzb24KZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRjY2Q1MTFhZjk2YmZkNmU5MGQyYjY4MjlkODIzZmFiYmY4
YzZkOTQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L3N5bnRheC9qc29uL2luZGV4ZWQtcHJvcGVydGllcy5qc29uCisrKyAvZGV2L251bGwK
QEAgLTEsMjgzICswLDAgQEAKLVsKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImludGVyZmFjZSIs
Ci0gICAgICAgICJuYW1lIjogIk9yZGVyZWRNYXAiLAotICAgICAgICAicGFydGlhbCI6IGZhbHNl
LAotICAgICAgICAibWVtYmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAi
dHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaW5o
ZXJpdCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJyZWFkb25seSI6IHRydWUsCi0gICAgICAg
ICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJp
YnV0ZS10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAg
ICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVu
aW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogInVuc2lnbmVkIGxv
bmciLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAg
IH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAic2l6ZSIsCi0gICAgICAgICAgICAgICAgImVz
Y2FwZWROYW1lIjogInNpemUiLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAg
ICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogIm9wZXJh
dGlvbiIsCi0gICAgICAgICAgICAgICAgImdldHRlciI6IHRydWUsCi0gICAgICAgICAgICAgICAg
InNldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJkZWxldGVyIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmll
ciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAg
ICAgICAidHlwZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmlj
IjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlw
ZSI6ICJhbnkiLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAg
ICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiZ2V0QnlJbmRleCIsCi0gICAgICAg
ICAgICAgICAgImVzY2FwZWROYW1lIjogImdldEJ5SW5kZXgiLAotICAgICAgICAgICAgICAgICJh
cmd1bWVudHMiOiBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJvcHRpb25hbCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgInZhcmlhZGlj
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdCI6IG51bGwsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImFy
Z3VtZW50LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVs
bCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAiaWRsVHlwZSI6ICJ1bnNpZ25lZCBsb25nIiwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjogImluZGV4IiwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICJlc2NhcGVkTmFtZSI6ICJpbmRleCIKLSAgICAgICAgICAgICAgICAgICAgfQotICAg
ICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAg
ICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAib3BlcmF0aW9u
IiwKLSAgICAgICAgICAgICAgICAiZ2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInNl
dHRlciI6IHRydWUsCi0gICAgICAgICAgICAgICAgImRlbGV0ZXIiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAg
ICJ0eXBlIjogInJldHVybi10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBu
dWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjog
InZvaWQiLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAg
ICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAic2V0QnlJbmRleCIsCi0gICAgICAgICAg
ICAgICAgImVzY2FwZWROYW1lIjogInNldEJ5SW5kZXgiLAotICAgICAgICAgICAgICAgICJhcmd1
bWVudHMiOiBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJvcHRpb25hbCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgInZhcmlhZGljIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdCI6IG51bGwsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImFyZ3Vt
ZW50LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAiaWRsVHlwZSI6ICJ1bnNpZ25lZCBsb25nIiwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJuYW1lIjogImluZGV4IiwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJlc2NhcGVkTmFtZSI6ICJpbmRleCIKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAg
ICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIm9wdGlvbmFsIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAidmFyaWFkaWMiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICJkZWZhdWx0IjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJleHRBdHRycyI6IFtdLAotICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBl
IjogImFueSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAg
ICAgICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6
ICJ2YWx1ZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAidmFsdWUi
Ci0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAg
ICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAg
ICAgICAgICAgICJ0eXBlIjogIm9wZXJhdGlvbiIsCi0gICAgICAgICAgICAgICAgImdldHRlciI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICJzZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAiZGVsZXRlciI6IHRydWUsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxU
eXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAg
ICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51
bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJ2b2lkIiwKLSAgICAgICAgICAgICAgICAgICAg
ImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1l
IjogInJlbW92ZUJ5SW5kZXgiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJyZW1v
dmVCeUluZGV4IiwKLSAgICAgICAgICAgICAgICAiYXJndW1lbnRzIjogWwotICAgICAgICAgICAg
ICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAib3B0aW9uYWwiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJ2YXJpYWRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgImRlZmF1bHQiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0
dHJzIjogW10sCi0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInVu
aW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAidW5z
aWduZWQgbG9uZyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10K
LSAgICAgICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgICAgICAibmFt
ZSI6ICJpbmRleCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiaW5k
ZXgiCi0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAg
ICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAg
ICAgICAgICAgICAgICJ0eXBlIjogIm9wZXJhdGlvbiIsCi0gICAgICAgICAgICAgICAgImdldHRl
ciI6IHRydWUsCi0gICAgICAgICAgICAgICAgInNldHRlciI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICJkZWxldGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJp
ZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJyZXR1cm4tdHlwZSIsCi0g
ICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAg
Im51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJhbnkiLAotICAgICAgICAgICAgICAgICAg
ICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5h
bWUiOiAiZ2V0IiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiZ2V0IiwKLSAgICAg
ICAgICAgICAgICAiYXJndW1lbnRzIjogWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAg
ICAgICAgICAgICAgICAgICAib3B0aW9uYWwiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJ2YXJpYWRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHQi
OiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10sCi0gICAgICAg
ICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAi
Z2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiRE9NU3RyaW5nIiwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAg
ICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjogIm5hbWUiLAotICAgICAgICAg
ICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogIm5hbWUiCi0gICAgICAgICAgICAgICAgICAg
IH0KLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0g
ICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogIm9w
ZXJhdGlvbiIsCi0gICAgICAgICAgICAgICAgImdldHRlciI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICJzZXR0ZXIiOiB0cnVlLAotICAgICAgICAgICAgICAgICJkZWxldGVyIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdp
ZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAg
ICAgICAgICAidHlwZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5l
cmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRs
VHlwZSI6ICJ2b2lkIiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAg
ICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogInNldCIsCi0gICAgICAgICAg
ICAgICAgImVzY2FwZWROYW1lIjogInNldCIsCi0gICAgICAgICAgICAgICAgImFyZ3VtZW50cyI6
IFsKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIm9wdGlv
bmFsIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAidmFyaWFkaWMiOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0IjogbnVsbCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICJleHRBdHRycyI6IFtdLAotICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5
cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXJndW1lbnQtdHlw
ZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICJpZGxUeXBlIjogIkRPTVN0cmluZyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4
dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAg
ICAgICAgICAibmFtZSI6ICJuYW1lIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJlc2NhcGVk
TmFtZSI6ICJuYW1lIgotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAg
ICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAib3B0aW9uYWwiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICJ2YXJpYWRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgImRlZmF1bHQiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjog
W10sCi0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
Im51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiYW55IiwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAg
ICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjogInZhbHVlIiwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJ2YWx1ZSIKLSAgICAgICAgICAg
ICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgImV4dEF0dHJz
IjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5
cGUiOiAib3BlcmF0aW9uIiwKLSAgICAgICAgICAgICAgICAiZ2V0dGVyIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgInNldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJkZWxldGVyIjog
dHJ1ZSwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
InN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAg
ICAgICAgICAgICAgICAgICJ0eXBlIjogInJldHVybi10eXBlIiwKLSAgICAgICAgICAgICAgICAg
ICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ICAgICJpZGxUeXBlIjogInZvaWQiLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBb
XQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAicmVtb3ZlIiwK
LSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAicmVtb3ZlIiwKLSAgICAgICAgICAgICAg
ICAiYXJndW1lbnRzIjogWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICAib3B0aW9uYWwiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ2YXJp
YWRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHQiOiBudWxsLAot
ICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10sCi0gICAgICAgICAgICAgICAg
ICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6
ICJhcmd1bWVudC10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6
IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiRE9NU3RyaW5nIiwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjogIm5hbWUiLAotICAgICAgICAgICAgICAgICAg
ICAgICAgImVzY2FwZWROYW1lIjogIm5hbWUiCi0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAg
ICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAg
ICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJpbmhlcml0YW5jZSI6IG51bGwsCi0gICAgICAgICJl
eHRBdHRycyI6IFtdCi0gICAgfQotXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29u
L2luaGVyaXRzLWdldHRlci5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2luaGVyaXRzLWdl
dHRlci5qc29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4NmViNjhlMjcwZTQ2YTlj
NWFiNTY0NTZjMzYxMGQ1MjNiY2RhZWI5Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9pbmhlcml0cy1nZXR0ZXIuanNv
bgorKysgL2Rldi9udWxsCkBAIC0xLDEwMSArMCwwIEBACi1bCi0gICAgewotICAgICAgICAidHlw
ZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFtZSI6ICJBbmltYWwiLAotICAgICAgICAicGFy
dGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAg
ICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJzdGF0aWMi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJyZWFkb25seSI6IHRy
dWUsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0
eXBlIjogImF0dHJpYnV0ZS10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBu
dWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjog
IkRPTVN0cmluZyIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAg
ICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJuYW1lIiwKLSAgICAgICAgICAg
ICAgICAiZXNjYXBlZE5hbWUiOiAibmFtZSIsCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjog
W10KLSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImluaGVyaXRhbmNlIjogbnVs
bCwKLSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9LAotICAgIHsKLSAgICAgICAgInR5cGUi
OiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUiOiAiUGVyc29uIiwKLSAgICAgICAgInBhcnRp
YWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJlcnMiOiBbCi0gICAgICAgICAgICB7Ci0gICAgICAg
ICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAic3RhdGljIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAicmVhZG9ubHkiOiB0cnVl
LAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlw
ZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVs
bCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJ1
bnNpZ25lZCBzaG9ydCIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAg
ICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJhZ2UiLAotICAgICAgICAg
ICAgICAgICJlc2NhcGVkTmFtZSI6ICJhZ2UiLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6
IFtdCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBl
IjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpbmhlcml0
IjogdHJ1ZSwKLSAgICAgICAgICAgICAgICAicmVhZG9ubHkiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRl
LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAg
ICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24i
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiRE9NU3RyaW5nIiwKLSAg
ICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAg
ICAgICAgICAgICAgICJuYW1lIjogIm5hbWUiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFt
ZSI6ICJuYW1lIiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAg
fQotICAgICAgICBdLAotICAgICAgICAiaW5oZXJpdGFuY2UiOiAiQW5pbWFsIiwKLSAgICAgICAg
ImV4dEF0dHJzIjogW10KLSAgICB9LAotICAgIHsKLSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNl
IiwKLSAgICAgICAgIm5hbWUiOiAiR2hvc3QiLAotICAgICAgICAicGFydGlhbCI6IGZhbHNlLAot
ICAgICAgICAibWVtYmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlw
ZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaW5oZXJp
dCI6IHRydWUsCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5IjogdHJ1ZSwKLSAgICAgICAgICAg
ICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRl
LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAg
ICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24i
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiRE9NU3RyaW5nIiwKLSAg
ICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAg
ICAgICAgICAgICAgICJuYW1lIjogIm5hbWUiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFt
ZSI6ICJuYW1lIiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAg
fQotICAgICAgICBdLAotICAgICAgICAiaW5oZXJpdGFuY2UiOiAiUGVyc29uIiwKLSAgICAgICAg
ImV4dEF0dHJzIjogW10KLSAgICB9Ci1dCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pz
b24vaW50ZXJmYWNlLWluaGVyaXRzLmpzb24gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vaW50ZXJm
YWNlLWluaGVyaXRzLmpzb24KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAyY2FmMzVm
NjA1YWIzNzZjZWU0MmM4YjVlOTgxZDFjYTE4NzcyYzEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2ludGVyZmFjZS1p
bmhlcml0cy5qc29uCisrKyAvZGV2L251bGwKQEAgLTEsODMgKzAsMCBAQAotWwotICAgIHsKLSAg
ICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUiOiAiQW5pbWFsIiwKLSAg
ICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJlcnMiOiBbCi0gICAgICAgICAg
ICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAg
ICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAicmVh
ZG9ubHkiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAg
ICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAi
Z2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAg
ImlkbFR5cGUiOiAiRE9NU3RyaW5nIiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjog
W10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogIm5hbWUiLAot
ICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJuYW1lIiwKLSAgICAgICAgICAgICAgICAi
ZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfQotICAgICAgICBdLAotICAgICAgICAiaW5oZXJp
dGFuY2UiOiBudWxsLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0sCi0gICAgewotICAg
ICAgICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFtZSI6ICJIdW1hbiIsCi0gICAg
ICAgICJwYXJ0aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJzIjogWwotICAgICAgICAgICAg
ewotICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAg
InN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICJpbmhlcml0IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInJlYWRv
bmx5IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAg
ICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZS10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdl
bmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJp
ZGxUeXBlIjogIkRvZyIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAg
ICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJwZXQiLAotICAgICAgICAg
ICAgICAgICJlc2NhcGVkTmFtZSI6ICJwZXQiLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6
IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJpbmhlcml0YW5jZSI6ICJB
bmltYWwiLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0sCi0gICAgewotICAgICAgICAi
dHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFtZSI6ICJEb2ciLAotICAgICAgICAicGFy
dGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAg
ICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJzdGF0aWMi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJyZWFkb25seSI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAi
dHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjog
bnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6
ICJIdW1hbiIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAg
ICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJvd25lciIsCi0gICAgICAgICAgICAg
ICAgImVzY2FwZWROYW1lIjogIm93bmVyIiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBb
XQotICAgICAgICAgICAgfQotICAgICAgICBdLAotICAgICAgICAiaW5oZXJpdGFuY2UiOiAiQW5p
bWFsIiwKLSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9Ci1dCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvc3ludGF4L2pzb24vaXRlcmFibGUuanNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9p
dGVyYWJsZS5qc29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlZTkwNmY3NWVhMmVi
NWY3YTNhZWYzM2M1M2E3ZTAzNDQzYjZmNDUwLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9pdGVyYWJsZS5qc29uCisr
KyAvZGV2L251bGwKQEAgLTEsODYgKzAsMCBAQAotWwotICAgIHsKLSAgICAgICAgInR5cGUiOiAi
aW50ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUiOiAiSXRlcmFibGVPbmUiLAotICAgICAgICAicGFy
dGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAg
ICAgICAgICAgICAidHlwZSI6ICJpdGVyYWJsZSIsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUi
OiBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBl
IjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6
ICJsb25nIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAg
ICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgICJleHRB
dHRycyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJpbmhlcml0YW5j
ZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgfSwKLSAgICB7Ci0gICAgICAg
ICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAgICAgICJuYW1lIjogIkl0ZXJhYmxlVHdvIiwKLSAg
ICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJlcnMiOiBbCi0gICAgICAgICAg
ICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiaXRlcmFibGUiLAotICAgICAgICAgICAgICAg
ICJpZGxUeXBlIjogWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICAidHlwZSI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51
bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ImlkbFR5cGUiOiAic2hvcnQiLAotICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjog
W10KLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAg
ICAgICAgICAgICAgICAgICAgInR5cGUiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAg
ImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogdHJ1
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgImlkbFR5cGUiOiAiZG91YmxlIiwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBd
LAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAg
IF0sCi0gICAgICAgICJpbmhlcml0YW5jZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6IFtd
Ci0gICAgfSwKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAgICAgICJu
YW1lIjogIkl0ZXJhYmxlVGhyZWUiLAotICAgICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAg
ICAibWVtYmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJp
dGVyYWJsZSIsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiBbCi0gICAgICAgICAgICAgICAg
ICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogbnVsbCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJu
dWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJsb25nIiwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJleHRBdHRycyI6IFsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB7
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjogIlhBdHRyIiwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgImFyZ3VtZW50cyI6IG51bGwsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImV4dGVuZGVkLWF0dHJpYnV0ZSIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyaHMiOiBudWxsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICAgICAgICAgXQotICAgICAgICAgICAgICAg
ICAgICB9Ci0gICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBb
XQotICAgICAgICAgICAgfQotICAgICAgICBdLAotICAgICAgICAiaW5oZXJpdGFuY2UiOiBudWxs
LAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0KLV0KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC9zeW50YXgvanNvbi9pdGVyYXRvci5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2l0ZXJh
dG9yLmpzb24KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGY5NjA1YjgzNDUwY2I1ZGNk
MjFlYzMzOGI4Mjc5NmEyYTIzMDRiMDguLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2l0ZXJhdG9yLmpzb24KKysrIC9k
ZXYvbnVsbApAQCAtMSwyNzYgKzAsMCBAQAotWwotICAgIHsKLSAgICAgICAgInR5cGUiOiAiaW50
ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUiOiAiU2Vzc2lvbk1hbmFnZXIiLAotICAgICAgICAicGFy
dGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAg
ICAgICAgICAgICAidHlwZSI6ICJvcGVyYXRpb24iLAotICAgICAgICAgICAgICAgICJnZXR0ZXIi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgImRlbGV0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlk
bFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJzZXF1ZW5jZSI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxs
YWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiU2Vzc2lvbiIKLSAgICAgICAgICAgICAgICB9LAot
ICAgICAgICAgICAgICAgICJuYW1lIjogImdldFNlc3Npb25Gb3JVc2VyIiwKLSAgICAgICAgICAg
ICAgICAiYXJndW1lbnRzIjogWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICAib3B0aW9uYWwiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ2
YXJpYWRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10s
Ci0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAic2VxdWVuY2UiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxl
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiRE9NU3RyaW5nIgotICAgICAg
ICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjogInVz
ZXJuYW1lIgotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXSwKLSAgICAg
ICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsK
LSAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJz
dGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJyZWFkb25s
eSI6IHRydWUsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAg
ICAgICJzZXF1ZW5jZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51
bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAi
dW5zaWduZWQgbG9uZyIKLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1l
IjogInNlc3Npb25Db3VudCIsCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAg
ICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiaXRlcmF0
b3IiLAotICAgICAgICAgICAgICAgICJnZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAi
c2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImRlbGV0ZXIiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVy
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAg
ICAgICJzZXF1ZW5jZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51
bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAi
U2Vzc2lvbiIKLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6
IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJpbmhlcml0YW5jZSI6IG51
bGwsCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgfSwKLSAgICB7Ci0gICAgICAgICJ0eXBl
IjogImludGVyZmFjZSIsCi0gICAgICAgICJuYW1lIjogIlNlc3Npb24iLAotICAgICAgICAicGFy
dGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAg
ICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJzdGF0aWMi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJyZWFkb25seSI6IHRy
dWUsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJz
ZXF1ZW5jZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0g
ICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAg
ICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiRE9NU3Ry
aW5nIgotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAidXNlcm5h
bWUiLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAg
ICAgIF0sCi0gICAgICAgICJpbmhlcml0YW5jZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6
IFtdCi0gICAgfSwKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAgICAg
ICJuYW1lIjogIlNlc3Npb25NYW5hZ2VyMiIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0g
ICAgICAgICJtZW1iZXJzIjogWwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBl
IjogIm9wZXJhdGlvbiIsCi0gICAgICAgICAgICAgICAgImdldHRlciI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICJzZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiZGVsZXRlciI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAi
c3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAg
ICAgICAgICAgICAgICAgInNlcXVlbmNlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJn
ZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAi
aWRsVHlwZSI6ICJTZXNzaW9uMiIKLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAg
ICJuYW1lIjogImdldFNlc3Npb25Gb3JVc2VyIiwKLSAgICAgICAgICAgICAgICAiYXJndW1lbnRz
IjogWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAib3B0
aW9uYWwiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ2YXJpYWRpYyI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10sCi0gICAgICAgICAgICAg
ICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2Vx
dWVuY2UiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51
bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgImlkbFR5cGUiOiAiRE9NU3RyaW5nIgotICAgICAgICAgICAgICAgICAgICAg
ICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjogInVzZXJuYW1lIgotICAgICAg
ICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICAiZXh0
QXR0cnMiOiBbXQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAg
ICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAi
aW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJyZWFkb25seSI6IHRydWUsCi0gICAg
ICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJzZXF1ZW5jZSI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAg
ICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24i
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAidW5zaWduZWQgbG9uZyIK
LSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogInNlc3Npb25Db3Vu
dCIsCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0gICAg
ICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiaXRlcmF0b3IiLAotICAgICAgICAg
ICAgICAgICJnZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic2V0dGVyIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgImRlbGV0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3Rh
dGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJzZXF1ZW5jZSI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAg
ICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24i
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiU2Vzc2lvbjIiCi0gICAg
ICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAiaXRlcmF0b3JPYmplY3QiOiAiU2Vzc2lv
bkl0ZXJhdG9yIiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAg
fQotICAgICAgICBdLAotICAgICAgICAiaW5oZXJpdGFuY2UiOiBudWxsLAotICAgICAgICAiZXh0
QXR0cnMiOiBbXQotICAgIH0sCi0gICAgewotICAgICAgICAidHlwZSI6ICJpbnRlcmZhY2UiLAot
ICAgICAgICAibmFtZSI6ICJTZXNzaW9uMiIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0g
ICAgICAgICJtZW1iZXJzIjogWwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBl
IjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpbmhlcml0
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5IjogdHJ1ZSwKLSAgICAgICAgICAg
ICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInNlcXVlbmNlIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAg
ICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJET01TdHJpbmciCi0gICAgICAgICAg
ICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJ1c2VybmFtZSIsCi0gICAgICAgICAg
ICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAg
ImluaGVyaXRhbmNlIjogbnVsbCwKLSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9LAotICAg
IHsKLSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUiOiAiU2Vzc2lv
bkl0ZXJhdG9yIiwKLSAgICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJlcnMi
OiBbCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwK
LSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmlu
Z2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAicmVhZG9ubHkiOiB0cnVlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjog
ewotICAgICAgICAgICAgICAgICAgICAic2VxdWVuY2UiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgICAgICJpZGxUeXBlIjogInVuc2lnbmVkIGxvbmciCi0gICAgICAgICAgICAgICAgfSwKLSAg
ICAgICAgICAgICAgICAibmFtZSI6ICJyZW1haW5pbmdTZXNzaW9ucyIsCi0gICAgICAgICAgICAg
ICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImlu
aGVyaXRhbmNlIjogbnVsbCwKLSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9LAotICAgIHsK
LSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUiOiAiTm9kZUxpc3Qi
LAotICAgICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFsKLSAgICAg
ICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJpdGVyYXRvciIsCi0gICAgICAgICAg
ICAgICAgImdldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzZXR0ZXIiOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAiZGVsZXRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdGF0
aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInNlcXVlbmNlIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAg
ICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJOb2RlIgotICAgICAgICAg
ICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIml0ZXJhdG9yT2JqZWN0IjogIk5vZGVJdGVyYXRv
ciIsCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0KLSAgICAg
ICAgXSwKLSAgICAgICAgImluaGVyaXRhbmNlIjogbnVsbCwKLSAgICAgICAgImV4dEF0dHJzIjog
W10KLSAgICB9LAotICAgIHsKLSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAg
Im5hbWUiOiAiTm9kZUl0ZXJhdG9yIiwKLSAgICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAg
ICAgIm1lbWJlcnMiOiBbCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAi
aXRlcmF0b3IiLAotICAgICAgICAgICAgICAgICJnZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAic2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImRlbGV0ZXIiOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmlu
Z2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAg
ICAgICAgICAgICJzZXF1ZW5jZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJp
YyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5
cGUiOiAiTm9kZSIKLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJpdGVyYXRv
ck9iamVjdCI6ICJvYmplY3QiLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAg
ICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJpbmhlcml0YW5jZSI6IG51bGwsCi0gICAg
ICAgICJleHRBdHRycyI6IFtdCi0gICAgfQotXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRh
eC9qc29uL2xlZ2FjeWl0ZXJhYmxlLmpzb24gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vbGVnYWN5
aXRlcmFibGUuanNvbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODBmZDAwMGE4NDkz
NzE2MmRlYjc2NWY1ODVlNGJkZDI0ZGM4M2ViZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vbGVnYWN5aXRlcmFibGUu
anNvbgorKysgL2Rldi9udWxsCkBAIC0xLDI1ICswLDAgQEAKLVsKLSAgICB7Ci0gICAgICAgICJ0
eXBlIjogImludGVyZmFjZSIsCi0gICAgICAgICJuYW1lIjogIkxlZ2FjeUl0ZXJhYmxlIiwKLSAg
ICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJlcnMiOiBbCi0gICAgICAgICAg
ICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAibGVnYWN5aXRlcmFibGUiLAotICAgICAgICAg
ICAgICAgICJpZGxUeXBlIjogWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICAidHlwZSI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJp
YyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgImlkbFR5cGUiOiAibG9uZyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0
cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXSwKLSAgICAg
ICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfQotICAgICAgICBdLAotICAg
ICAgICAiaW5oZXJpdGFuY2UiOiBudWxsLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0K
LV0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9tYXBsaWtlLmpzb24gYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvc3ludGF4L2pzb24vbWFwbGlrZS5qc29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAyY2I4YzM2MGVlM2UyZjAzZmU0MDAzMDdiYmY3NTdiNDQ1OGFmODg3Li4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNv
bi9tYXBsaWtlLmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSwxMTIgKzAsMCBAQAotWwotICAgIHsK
LSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUiOiAiTWFwTGlrZSIs
Ci0gICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJzIjogWwotICAgICAg
ICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogIm1hcGxpa2UiLAotICAgICAgICAgICAg
ICAgICJpZGxUeXBlIjogWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICAidHlwZSI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6
IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgImlkbFR5cGUiOiAibG9uZyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMi
OiBbXQotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICAidHlwZSI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiZmxvYXQiLAotICAgICAgICAgICAgICAgICAgICAg
ICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAg
IF0sCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5IjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImluaGVy
aXRhbmNlIjogbnVsbCwKLSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9LAotICAgIHsKLSAg
ICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUiOiAiUmVhZE9ubHlNYXBM
aWtlIiwKLSAgICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJlcnMiOiBbCi0g
ICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAibWFwbGlrZSIsCi0gICAgICAg
ICAgICAgICAgImlkbFR5cGUiOiBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJ0eXBlIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJnZW5l
cmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAiaWRsVHlwZSI6ICJsb25nIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJleHRB
dHRycyI6IFtdCi0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsK
LSAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogbnVsbCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJs
ZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJmbG9hdCIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAg
ICAgICAgXSwKLSAgICAgICAgICAgICAgICAicmVhZG9ubHkiOiB0cnVlLAotICAgICAgICAgICAg
ICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJp
bmhlcml0YW5jZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgfSwKLSAgICB7
Ci0gICAgICAgICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAgICAgICJuYW1lIjogIkkiLAotICAg
ICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFsKLSAgICAgICAgICAg
IHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJtYXBsaWtlIiwKLSAgICAgICAgICAgICAgICAi
aWRsVHlwZSI6IFsKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAg
ICAgInR5cGUiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxs
LAotICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJp
ZGxUeXBlIjogIkRPTVN0cmluZyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMi
OiBbCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAibmFtZSI6ICJYQXR0cjIiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAiYXJndW1lbnRzIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
InR5cGUiOiAiZXh0ZW5kZWQtYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgInJocyI6IG51bGwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAg
ICAgICAgICAgICAgICAgICBdCi0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAg
ICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogbnVsbCwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJsb25nIiwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFsKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjogIlhBdHRyMyIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJhcmd1bWVudHMiOiBudWxsLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJleHRlbmRlZC1hdHRyaWJ1dGUiLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicmhzIjogbnVsbAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAgICAgIF0KLSAgICAgICAgICAg
ICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0K
LSAgICAgICAgXSwKLSAgICAgICAgImluaGVyaXRhbmNlIjogbnVsbCwKLSAgICAgICAgImV4dEF0
dHJzIjogW10KLSAgICB9Ci1dCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vbWl4
aW4uanNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9taXhpbi5qc29uCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCBiMDM3Y2IzNTc3OTQxYWRmNWM1OTFiMmQyZTkzMTJlYmQ2ZDc3ZjAy
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC9zeW50YXgvanNvbi9taXhpbi5qc29uCisrKyAvZGV2L251bGwKQEAgLTEsNjYgKzAsMCBAQAot
WwotICAgIHsKLSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIG1peGluIiwKLSAgICAgICAgIm5h
bWUiOiAiR2xvYmFsQ3J5cHRvIiwKLSAgICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAg
Im1lbWJlcnMiOiBbCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0
cmlidXRlIiwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImluaGVyaXQiOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAicmVhZG9ubHkiOiB0cnVlLAotICAgICAgICAgICAgICAgICJp
ZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIs
Ci0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAg
ICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJDcnlwdG8iLAotICAgICAgICAgICAg
ICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAg
ICAgIm5hbWUiOiAiY3J5cHRvIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiY3J5
cHRvIiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfQotICAg
ICAgICBdLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0sCi0gICAgewotICAgICAgICAi
dHlwZSI6ICJpbmNsdWRlcyIsCi0gICAgICAgICJ0YXJnZXQiOiAiV2luZG93IiwKLSAgICAgICAg
ImluY2x1ZGVzIjogIkdsb2JhbENyeXB0byIsCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0gICAg
fSwKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImluY2x1ZGVzIiwKLSAgICAgICAgInRhcmdldCI6
ICJXb3JrZXJHbG9iYWxTY29wZSIsCi0gICAgICAgICJpbmNsdWRlcyI6ICJHbG9iYWxDcnlwdG8i
LAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0sCi0gICAgewotICAgICAgICAidHlwZSI6
ICJpbnRlcmZhY2UgbWl4aW4iLAotICAgICAgICAibmFtZSI6ICJXaW5kb3dPcldvcmtlckdsb2Jh
bFNjb3BlIiwKLSAgICAgICAgInBhcnRpYWwiOiB0cnVlLAotICAgICAgICAibWVtYmVycyI6IFsK
LSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAg
ICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZp
ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICJyZWFkb25seSI6IHRydWUsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0g
ICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZS10eXBlIiwKLSAgICAgICAgICAg
ICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgICAgICJpZGxUeXBlIjogIkNyeXB0byIsCi0gICAgICAgICAgICAgICAgICAgICJleHRB
dHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJj
cnlwdG8iLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJjcnlwdG8iLAotICAgICAg
ICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAg
ICAgICJleHRBdHRycyI6IFtdCi0gICAgfQotXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRh
eC9qc29uL25hbWVkY29uc3RydWN0b3IuanNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9uYW1l
ZGNvbnN0cnVjdG9yLmpzb24KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRlYjQyOWU5
ODZlYjEwNmU5NThlNzk5MDQ4ZjZiNGNlMmRhMWRmNTEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL25hbWVkY29uc3Ry
dWN0b3IuanNvbgorKysgL2Rldi9udWxsCkBAIC0xLDQ2ICswLDAgQEAKLVsKLSAgICB7Ci0gICAg
ICAgICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAgICAgICJuYW1lIjogIkhUTUxBdWRpb0VsZW1l
bnQiLAotICAgICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFtdLAot
ICAgICAgICAiaW5oZXJpdGFuY2UiOiAiSFRNTE1lZGlhRWxlbWVudCIsCi0gICAgICAgICJleHRB
dHRycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJOYW1lZENv
bnN0cnVjdG9yIiwKLSAgICAgICAgICAgICAgICAiYXJndW1lbnRzIjogbnVsbCwKLSAgICAgICAg
ICAgICAgICAidHlwZSI6ICJleHRlbmRlZC1hdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJy
aHMiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImlkZW50aWZpZXIiLAotICAgICAg
ICAgICAgICAgICAgICAidmFsdWUiOiAiQXVkaW8iCi0gICAgICAgICAgICAgICAgfQotICAgICAg
ICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJOYW1lZENv
bnN0cnVjdG9yIiwKLSAgICAgICAgICAgICAgICAiYXJndW1lbnRzIjogWwotICAgICAgICAgICAg
ICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAib3B0aW9uYWwiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJ2YXJpYWRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgImRlZmF1bHQiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0
dHJzIjogW10sCi0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInVu
aW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiRE9N
U3RyaW5nIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAg
ICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjog
InNyYyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAic3JjIgotICAg
ICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICAi
dHlwZSI6ICJleHRlbmRlZC1hdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJyaHMiOiB7Ci0g
ICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImlkZW50aWZpZXIiLAotICAgICAgICAgICAgICAg
ICAgICAidmFsdWUiOiAiQXVkaW8iCi0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgfQot
ICAgICAgICBdCi0gICAgfQotXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL25h
bWVzcGFjZS5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL25hbWVzcGFjZS5qc29uCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5ZTM3YjI2ZmE2NTA0Zjk4NjI4NzdjMjVjOTdlOTQ4
OTNkYzhkODMzLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC9zeW50YXgvanNvbi9uYW1lc3BhY2UuanNvbgorKysgL2Rldi9udWxsCkBAIC0x
LDE0MSArMCwwIEBACi1bCi0gICAgewotICAgICAgICAidHlwZSI6ICJuYW1lc3BhY2UiLAotICAg
ICAgICAibmFtZSI6ICJWZWN0b3JVdGlscyIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0g
ICAgICAgICJtZW1iZXJzIjogWwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBl
IjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpbmhlcml0
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5IjogdHJ1ZSwKLSAgICAgICAgICAg
ICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRl
LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAg
ICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24i
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiVmVjdG9yIiwKLSAgICAg
ICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAg
ICAgICAgICAgICJuYW1lIjogInVuaXQiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6
ICJ1bml0IiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfSwK
LSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJvcGVyYXRpb24iLAotICAg
ICAgICAgICAgICAgICJnZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic2V0dGVyIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgImRlbGV0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBl
IjogInJldHVybi10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAot
ICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAg
ICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogImRvdWJs
ZSIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAg
fSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJkb3RQcm9kdWN0IiwKLSAgICAgICAgICAgICAg
ICAiZXNjYXBlZE5hbWUiOiAiZG90UHJvZHVjdCIsCi0gICAgICAgICAgICAgICAgImFyZ3VtZW50
cyI6IFsKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIm9w
dGlvbmFsIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAidmFyaWFkaWMiOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0IjogbnVsbCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJleHRBdHRycyI6IFtdLAotICAgICAgICAgICAgICAgICAgICAgICAgImlk
bFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXJndW1lbnQt
dHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJpZGxUeXBlIjogIlZlY3RvciIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4
dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAg
ICAgICAgICAibmFtZSI6ICJ4IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJlc2NhcGVkTmFt
ZSI6ICJ4IgotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0g
ICAgICAgICAgICAgICAgICAgICAgICAib3B0aW9uYWwiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICJ2YXJpYWRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgImRl
ZmF1bHQiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10sCi0g
ICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxh
YmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiVmVjdG9yIiwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAg
ICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjogInkiLAotICAgICAgICAg
ICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogInkiCi0gICAgICAgICAgICAgICAgICAgIH0K
LSAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAg
ICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogIm9wZXJh
dGlvbiIsCi0gICAgICAgICAgICAgICAgImdldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICJzZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiZGVsZXRlciI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZp
ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAg
ICAgICAgInR5cGUiOiAicmV0dXJuLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJp
YyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5
cGUiOiAiVmVjdG9yIiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAg
ICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogImNyb3NzUHJvZHVjdCIsCi0g
ICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImNyb3NzUHJvZHVjdCIsCi0gICAgICAgICAg
ICAgICAgImFyZ3VtZW50cyI6IFsKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAg
ICAgICAgICAgICAgIm9wdGlvbmFsIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAi
dmFyaWFkaWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0IjogbnVs
bCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdLAotICAgICAgICAgICAg
ICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5
cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVy
aWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogIlZlY3RvciIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgICAgIH0sCi0g
ICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJ4IiwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJlc2NhcGVkTmFtZSI6ICJ4IgotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAg
ICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAib3B0aW9uYWwiOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICJ2YXJpYWRpYyI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgImRlZmF1bHQiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgImV4
dEF0dHJzIjogW10sCi0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
InVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAi
VmVjdG9yIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAg
ICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjog
InkiLAotICAgICAgICAgICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogInkiCi0gICAgICAg
ICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgICJleHRB
dHRycyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJleHRBdHRycyI6
IFtdCi0gICAgfSwKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogIm5hbWVzcGFjZSIsCi0gICAgICAg
ICJuYW1lIjogIlNvbWVOYW1lc3BhY2UiLAotICAgICAgICAicGFydGlhbCI6IHRydWUsCi0gICAg
ICAgICJtZW1iZXJzIjogW10sCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgfQotXQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL25vaW50ZXJmYWNlb2JqZWN0Lmpzb24gYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3Qvc3ludGF4L2pzb24vbm9pbnRlcmZhY2VvYmplY3QuanNvbgpkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggY2FmYjVlMGUxNTZiZDBiNmU5MGYzN2Y5NGJjNTUxYTk5MzdmNWU0
MC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvc3ludGF4L2pzb24vbm9pbnRlcmZhY2VvYmplY3QuanNvbgorKysgL2Rldi9udWxsCkBAIC0x
LDU1ICswLDAgQEAKLVsKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAg
ICAgICJuYW1lIjogIlF1ZXJ5IiwKLSAgICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAg
Im1lbWJlcnMiOiBbCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAib3Bl
cmF0aW9uIiwKLSAgICAgICAgICAgICAgICAiZ2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgInNldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJkZWxldGVyIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdp
ZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAg
ICAgICAgICAidHlwZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5l
cmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRs
VHlwZSI6ICJhbnkiLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAg
ICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAibG9va3VwRW50cnkiLAotICAg
ICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJsb29rdXBFbnRyeSIsCi0gICAgICAgICAgICAg
ICAgImFyZ3VtZW50cyI6IFsKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAg
ICAgICAgICAgIm9wdGlvbmFsIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAidmFy
aWFkaWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0IjogbnVsbCwK
LSAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdLAotICAgICAgICAgICAgICAg
ICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUi
OiAiYXJndW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMi
OiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICJpZGxUeXBlIjogInVuc2lnbmVkIGxvbmciLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgICAgICAgICB9
LAotICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAia2V5IiwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJrZXkiCi0gICAgICAgICAgICAgICAgICAgIH0KLSAg
ICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAg
ICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJpbmhlcml0YW5jZSI6IG51bGwsCi0gICAgICAg
ICJleHRBdHRycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJO
b0ludGVyZmFjZU9iamVjdCIsCi0gICAgICAgICAgICAgICAgImFyZ3VtZW50cyI6IG51bGwsCi0g
ICAgICAgICAgICAgICAgInR5cGUiOiAiZXh0ZW5kZWQtYXR0cmlidXRlIiwKLSAgICAgICAgICAg
ICAgICAicmhzIjogbnVsbAotICAgICAgICAgICAgfQotICAgICAgICBdCi0gICAgfQotXQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL251bGxhYmxlLmpzb24gYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
c3ludGF4L2pzb24vbnVsbGFibGUuanNvbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
ZjMyNWUyZWFiN2I4YWY2YzEwMmM5NDFkNjg2ZjE0NDExOTE1YzVjMS4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vbnVs
bGFibGUuanNvbgorKysgL2Rldi9udWxsCkBAIC0xLDU2ICswLDAgQEAKLVsKLSAgICB7Ci0gICAg
ICAgICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAgICAgICJuYW1lIjogIk15Q29uc3RhbnRzIiwK
LSAgICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJlcnMiOiBbCi0gICAgICAg
ICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiY29uc3QiLAotICAgICAgICAgICAgICAg
ICJudWxsYWJsZSI6IHRydWUsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAg
ICAgICAgICAgICAgICJ0eXBlIjogImNvbnN0LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAi
Z2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAg
ImlkbFR5cGUiOiAiYm9vbGVhbiIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtd
Ci0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJBUkVfV0VfVEhF
UkVfWUVUIiwKLSAgICAgICAgICAgICAgICAidmFsdWUiOiB7Ci0gICAgICAgICAgICAgICAgICAg
ICJ0eXBlIjogImJvb2xlYW4iLAotICAgICAgICAgICAgICAgICAgICAidmFsdWUiOiBmYWxzZQot
ICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAg
ICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImluaGVyaXRhbmNlIjogbnVsbCwKLSAgICAg
ICAgImV4dEF0dHJzIjogW10KLSAgICB9LAotICAgIHsKLSAgICAgICAgInR5cGUiOiAiaW50ZXJm
YWNlIiwKLSAgICAgICAgIm5hbWUiOiAiTm9kZSIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFsc2Us
Ci0gICAgICAgICJtZW1iZXJzIjogWwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0
eXBlIjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpbmhl
cml0IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5IjogdHJ1ZSwKLSAgICAgICAg
ICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmli
dXRlLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAg
ICAgICAgICAgICAgICJudWxsYWJsZSI6IHRydWUsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlv
biI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJET01TdHJpbmciLAot
ICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0g
ICAgICAgICAgICAgICAgIm5hbWUiOiAibmFtZXNwYWNlVVJJIiwKLSAgICAgICAgICAgICAgICAi
ZXNjYXBlZE5hbWUiOiAibmFtZXNwYWNlVVJJIiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMi
OiBbXQotICAgICAgICAgICAgfQotICAgICAgICBdLAotICAgICAgICAiaW5oZXJpdGFuY2UiOiBu
dWxsLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0KLV0KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC9zeW50YXgvanNvbi9udWxsYWJsZW9iamVjdHMuanNvbiBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgv
anNvbi9udWxsYWJsZW9iamVjdHMuanNvbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MjdlY2QyNWQzNjNiZmIzOTUyNDMyN2QwOWUwZjhjYTZjMGE1Njc4OC4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vbnVs
bGFibGVvYmplY3RzLmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSwxMDEgKzAsMCBAQAotWwotICAg
IHsKLSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUiOiAiQSIsCi0g
ICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJzIjogW10sCi0gICAgICAg
ICJpbmhlcml0YW5jZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgfSwKLSAg
ICB7Ci0gICAgICAgICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAgICAgICJuYW1lIjogIkIiLAot
ICAgICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFtdLAotICAgICAg
ICAiaW5oZXJpdGFuY2UiOiBudWxsLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0sCi0g
ICAgewotICAgICAgICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFtZSI6ICJDIiwK
LSAgICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJlcnMiOiBbCi0gICAgICAg
ICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAib3BlcmF0aW9uIiwKLSAgICAgICAgICAg
ICAgICAiZ2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInNldHRlciI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICJkZWxldGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0YXRp
YyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJyZXR1
cm4tdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAg
ICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlv
biI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJ2b2lkIiwKLSAgICAg
ICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAg
ICAgICAgICAgICJuYW1lIjogImYiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJm
IiwKLSAgICAgICAgICAgICAgICAiYXJndW1lbnRzIjogWwotICAgICAgICAgICAgICAgICAgICB7
Ci0gICAgICAgICAgICAgICAgICAgICAgICAib3B0aW9uYWwiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJ2YXJpYWRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ImRlZmF1bHQiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10s
Ci0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51
bGxhYmxlIjogdHJ1ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJBIiwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAg
ICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjogIngiLAotICAgICAgICAgICAg
ICAgICAgICAgICAgImVzY2FwZWROYW1lIjogIngiCi0gICAgICAgICAgICAgICAgICAgIH0KLSAg
ICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAg
ICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogIm9wZXJhdGlv
biIsCi0gICAgICAgICAgICAgICAgImdldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJz
ZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiZGVsZXRlciI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAg
ICAgInR5cGUiOiAicmV0dXJuLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6
IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUi
OiAidm9pZCIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAg
ICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJmIiwKLSAgICAgICAgICAgICAgICAi
ZXNjYXBlZE5hbWUiOiAiZiIsCi0gICAgICAgICAgICAgICAgImFyZ3VtZW50cyI6IFsKLSAgICAg
ICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIm9wdGlvbmFsIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAidmFyaWFkaWMiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICJkZWZhdWx0IjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJleHRBdHRycyI6IFtdLAotICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJudWxsYWJsZSI6IHRydWUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUi
OiAiQiIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAg
ICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJ4
IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJ4IgotICAgICAgICAg
ICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICAiZXh0QXR0
cnMiOiBbXQotICAgICAgICAgICAgfQotICAgICAgICBdLAotICAgICAgICAiaW5oZXJpdGFuY2Ui
OiBudWxsLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0KLV0KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC9zeW50YXgvanNvbi9vcGVyYXRpb24tb3B0aW9uYWwtYXJnLmpzb24gYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvc3ludGF4L2pzb24vb3BlcmF0aW9uLW9wdGlvbmFsLWFyZy5qc29uCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCA0Yjc0MzZiYTViYWY3NjAxOTM2YjM0MDUwZTcxMTkxYTQ3ODEyYzZi
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC9zeW50YXgvanNvbi9vcGVyYXRpb24tb3B0aW9uYWwtYXJnLmpzb24KKysrIC9kZXYvbnVsbApA
QCAtMSw5OSArMCwwIEBACi1bCi0gICAgewotICAgICAgICAidHlwZSI6ICJpbnRlcmZhY2UiLAot
ICAgICAgICAibmFtZSI6ICJDb2xvckNyZWF0b3IiLAotICAgICAgICAicGFydGlhbCI6IGZhbHNl
LAotICAgICAgICAibWVtYmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAi
dHlwZSI6ICJvcGVyYXRpb24iLAotICAgICAgICAgICAgICAgICJnZXR0ZXIiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAic2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImRlbGV0ZXIi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0g
ICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInJldHVybi10eXBlIiwKLSAgICAgICAgICAgICAg
ICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgICAgICJpZGxUeXBlIjogIm9iamVjdCIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRy
cyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJjcmVh
dGVDb2xvciIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImNyZWF0ZUNvbG9yIiwK
LSAgICAgICAgICAgICAgICAiYXJndW1lbnRzIjogWwotICAgICAgICAgICAgICAgICAgICB7Ci0g
ICAgICAgICAgICAgICAgICAgICAgICAib3B0aW9uYWwiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICJ2YXJpYWRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgImRl
ZmF1bHQiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10sCi0g
ICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxh
YmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiZmxvYXQiLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgICAg
ICAgICB9LAotICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAidjEiLAotICAgICAgICAg
ICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogInYxIgotICAgICAgICAgICAgICAgICAgICB9
LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAib3B0aW9u
YWwiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ2YXJpYWRpYyI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHQiOiBudWxsLAotICAgICAgICAgICAgICAg
ICAgICAgICAgImV4dEF0dHJzIjogW10sCi0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlw
ZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBl
IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ImlkbFR5cGUiOiAiZmxvYXQiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRy
cyI6IFtdCi0gICAgICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICAg
ICAgIm5hbWUiOiAidjIiLAotICAgICAgICAgICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjog
InYyIgotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICAib3B0aW9uYWwiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICJ2YXJpYWRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1
bHQiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10sCi0gICAg
ICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxl
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiZmxvYXQiLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgICAgICAg
ICB9LAotICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAidjMiLAotICAgICAgICAgICAg
ICAgICAgICAgICAgImVzY2FwZWROYW1lIjogInYzIgotICAgICAgICAgICAgICAgICAgICB9LAot
ICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAib3B0aW9uYWwi
OiB0cnVlLAotICAgICAgICAgICAgICAgICAgICAgICAgInZhcmlhZGljIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdCI6IHsKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAidHlwZSI6ICJudW1iZXIiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1
ZSI6ICIzLjUiCi0gICAgICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAg
ICAgICAgImV4dEF0dHJzIjogW10sCi0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6
IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImlk
bFR5cGUiOiAiZmxvYXQiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6
IFtdCi0gICAgICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICAgICAg
Im5hbWUiOiAiYWxwaGEiLAotICAgICAgICAgICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjog
ImFscGhhIgotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXSwKLSAgICAg
ICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfQotICAgICAgICBdLAotICAg
ICAgICAiaW5oZXJpdGFuY2UiOiBudWxsLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0K
LV0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9vdmVybG9hZGluZy5qc29uIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3N5bnRheC9qc29uL292ZXJsb2FkaW5nLmpzb24KZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IGJmN2FjYTZjZGUzODA4ZTdlZDM2MTY0MDdmN2RjNDlmYTYzMWI3NjkuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5
bnRheC9qc29uL292ZXJsb2FkaW5nLmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSwzMjggKzAsMCBA
QAotWwotICAgIHsKLSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUi
OiAiQSIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJzIjogW10s
Ci0gICAgICAgICJpbmhlcml0YW5jZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0g
ICAgfSwKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAgICAgICJuYW1l
IjogIkIiLAotICAgICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFtd
LAotICAgICAgICAiaW5oZXJpdGFuY2UiOiBudWxsLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQot
ICAgIH0sCi0gICAgewotICAgICAgICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFt
ZSI6ICJDIiwKLSAgICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJlcnMiOiBb
Ci0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAib3BlcmF0aW9uIiwKLSAg
ICAgICAgICAgICAgICAiZ2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInNldHRlciI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICJkZWxldGVyIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlw
ZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwK
LSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJ2b2lk
IiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9
LAotICAgICAgICAgICAgICAgICJuYW1lIjogImYiLAotICAgICAgICAgICAgICAgICJlc2NhcGVk
TmFtZSI6ICJmIiwKLSAgICAgICAgICAgICAgICAiYXJndW1lbnRzIjogWwotICAgICAgICAgICAg
ICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAib3B0aW9uYWwiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJ2YXJpYWRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgImRlZmF1bHQiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0
dHJzIjogW10sCi0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInVu
aW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiQSIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAg
ICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJ4IiwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJ4IgotICAgICAgICAgICAgICAg
ICAgICB9Ci0gICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBb
XQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6
ICJvcGVyYXRpb24iLAotICAgICAgICAgICAgICAgICJnZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAic2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImRlbGV0ZXIiOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0
cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAg
ICAgICAgICAgICAgICJ0eXBlIjogInJldHVybi10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAg
ImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAg
ICJpZGxUeXBlIjogInZvaWQiLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQot
ICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiZiIsCi0gICAgICAg
ICAgICAgICAgImVzY2FwZWROYW1lIjogImYiLAotICAgICAgICAgICAgICAgICJhcmd1bWVudHMi
OiBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJvcHRp
b25hbCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgInZhcmlhZGljIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdCI6IG51bGwsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAiZXh0QXR0cnMiOiBbXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJpZGxU
eXBlIjogewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImFyZ3VtZW50LXR5
cGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAiaWRsVHlwZSI6ICJCIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMi
OiBbXQotICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJuYW1lIjogIngiLAotICAgICAgICAgICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogIngi
Ci0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAg
ICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJp
bmhlcml0YW5jZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgfSwKLSAgICB7
Ci0gICAgICAgICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAgICAgICJuYW1lIjogIkQiLAotICAg
ICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFsKLSAgICAgICAgICAg
IHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJvcGVyYXRpb24iLAotICAgICAgICAgICAgICAg
ICJnZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic2V0dGVyIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgImRlbGV0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RhdGljIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInJldHVybi10
eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAg
ICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogInZvaWQiLAotICAgICAgICAg
ICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAg
ICAgICAgIm5hbWUiOiAiZiIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImYiLAot
ICAgICAgICAgICAgICAgICJhcmd1bWVudHMiOiBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJvcHRpb25hbCI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgInZhcmlhZGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZGVm
YXVsdCI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICJ0eXBlIjogImFyZ3VtZW50LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFi
bGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJET01TdHJpbmciLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAg
ICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAiYSIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiYSIKLSAgICAgICAgICAgICAgICAgICAg
fQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAg
ICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAib3Bl
cmF0aW9uIiwKLSAgICAgICAgICAgICAgICAiZ2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgInNldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJkZWxldGVyIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdp
ZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAg
ICAgICAgICAidHlwZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5l
cmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRs
VHlwZSI6ICJ2b2lkIiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAg
ICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogImYiLAotICAgICAgICAgICAg
ICAgICJlc2NhcGVkTmFtZSI6ICJmIiwKLSAgICAgICAgICAgICAgICAiYXJndW1lbnRzIjogWwot
ICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAib3B0aW9uYWwi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ2YXJpYWRpYyI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHQiOiBudWxsLAotICAgICAgICAgICAgICAgICAg
ICAgICAgImV4dEF0dHJzIjogWwotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAiQWxsb3dBbnkiLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAiYXJndW1lbnRzIjogbnVsbCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgInR5cGUiOiAiZXh0ZW5kZWQtYXR0cmlidXRlIiwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgInJocyI6IG51bGwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgICAg
ICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAi
YXJndW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBu
dWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJpZGxUeXBlIjogIkRPTVN0cmluZyIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgICAgIH0sCi0gICAg
ICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJhIiwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJlc2NhcGVkTmFtZSI6ICJhIgotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAg
ICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAib3B0aW9uYWwiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJ2YXJpYWRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgImRlZmF1bHQiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0
dHJzIjogW10sCi0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInVu
aW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiRE9N
U3RyaW5nIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAg
ICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjog
ImIiLAotICAgICAgICAgICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImIiCi0gICAgICAg
ICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAg
ICAgICAgICJvcHRpb25hbCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgInZhcmlh
ZGljIjogdHJ1ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0IjogbnVsbCwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdLAotICAgICAgICAgICAgICAgICAg
ICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAi
YXJndW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBu
dWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJpZGxUeXBlIjogImZsb2F0IiwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICJuYW1lIjogImMiLAotICAgICAgICAgICAgICAgICAgICAgICAgImVz
Y2FwZWROYW1lIjogImMiCi0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBd
LAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9LAotICAgICAg
ICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogIm9wZXJhdGlvbiIsCi0gICAgICAgICAg
ICAgICAgImdldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzZXR0ZXIiOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAiZGVsZXRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdGF0
aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAicmV0
dXJuLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAg
ICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5p
b24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAidm9pZCIsCi0gICAg
ICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAg
ICAgICAgICAgICAibmFtZSI6ICJmIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAi
ZiIsCi0gICAgICAgICAgICAgICAgImFyZ3VtZW50cyI6IFtdLAotICAgICAgICAgICAgICAgICJl
eHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAg
ICAgICJ0eXBlIjogIm9wZXJhdGlvbiIsCi0gICAgICAgICAgICAgICAgImdldHRlciI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICJzZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiZGVs
ZXRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6
IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAicmV0dXJuLXR5cGUiLAotICAgICAgICAg
ICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJs
ZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAgICAgImlkbFR5cGUiOiAidm9pZCIsCi0gICAgICAgICAgICAgICAgICAgICJleHRB
dHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJm
IiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiZiIsCi0gICAgICAgICAgICAgICAg
ImFyZ3VtZW50cyI6IFsKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAg
ICAgICAgIm9wdGlvbmFsIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAidmFyaWFk
aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0IjogbnVsbCwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdLAotICAgICAgICAgICAgICAgICAg
ICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAi
YXJndW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBu
dWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJpZGxUeXBlIjogImxvbmciLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAg
ICAgICAgICAgICAgICAgIm5hbWUiOiAiYSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXNj
YXBlZE5hbWUiOiAiYSIKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAg
ICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIm9wdGlvbmFsIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAidmFyaWFkaWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJkZWZhdWx0IjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6
IFtdLAotICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgInR5cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogIkRPTVN0cmlu
ZyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAg
ICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJiIiwK
LSAgICAgICAgICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJiIgotICAgICAgICAgICAg
ICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICAib3B0aW9uYWwiOiB0cnVlLAotICAgICAgICAgICAgICAgICAgICAgICAgInZhcmlhZGljIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdCI6IG51bGwsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImFyZ3Vt
ZW50LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAiaWRsVHlwZSI6ICJET01TdHJpbmciLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAg
ICAgICAgICAgICAgICAgIm5hbWUiOiAiYyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXNj
YXBlZE5hbWUiOiAiYyIKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAg
ICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIm9wdGlvbmFsIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAidmFyaWFkaWMiOiB0cnVlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgImRlZmF1bHQiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjog
W10sCi0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
Im51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiZmxvYXQiLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAg
ICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAiZCIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiZCIKLSAgICAgICAgICAgICAgICAg
ICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10K
LSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImluaGVyaXRhbmNlIjogbnVsbCwK
LSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9Ci1dCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
c3ludGF4L2pzb24vb3ZlcnJpZGVidWlsdGlucy5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29u
L292ZXJyaWRlYnVpbHRpbnMuanNvbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTU0
YTQ2OGViOThlODY3ZWQ4YjBkNjhhOWM3NWRjZmJkNzYzZTk4Zi4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vb3ZlcnJp
ZGVidWlsdGlucy5qc29uCisrKyAvZGV2L251bGwKQEAgLTEsNzMgKzAsMCBAQAotWwotICAgIHsK
LSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUiOiAiU3RyaW5nTWFw
MiIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJzIjogWwotICAg
ICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0gICAgICAg
ICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICJpbmhlcml0IjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgInJlYWRvbmx5IjogdHJ1ZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAg
ICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlLXR5cGUiLAotICAgICAgICAgICAgICAg
ICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAgICAgImlkbFR5cGUiOiAidW5zaWduZWQgbG9uZyIsCi0gICAgICAgICAgICAgICAgICAgICJl
eHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6
ICJsZW5ndGgiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJsZW5ndGgiLAotICAg
ICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAg
ewotICAgICAgICAgICAgICAgICJ0eXBlIjogIm9wZXJhdGlvbiIsCi0gICAgICAgICAgICAgICAg
ImdldHRlciI6IHRydWUsCi0gICAgICAgICAgICAgICAgInNldHRlciI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICJkZWxldGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJyZXR1cm4tdHlw
ZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAg
ICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJET01TdHJpbmciLAotICAgICAg
ICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAg
ICAgICAgICAgIm5hbWUiOiAibG9va3VwIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUi
OiAibG9va3VwIiwKLSAgICAgICAgICAgICAgICAiYXJndW1lbnRzIjogWwotICAgICAgICAgICAg
ICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAib3B0aW9uYWwiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJ2YXJpYWRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgImRlZmF1bHQiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0
dHJzIjogW10sCi0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInVu
aW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiRE9N
U3RyaW5nIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAg
ICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjog
ImtleSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAia2V5IgotICAg
ICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICAi
ZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfQotICAgICAgICBdLAotICAgICAgICAiaW5oZXJp
dGFuY2UiOiBudWxsLAotICAgICAgICAiZXh0QXR0cnMiOiBbCi0gICAgICAgICAgICB7Ci0gICAg
ICAgICAgICAgICAgIm5hbWUiOiAiT3ZlcnJpZGVCdWlsdGlucyIsCi0gICAgICAgICAgICAgICAg
ImFyZ3VtZW50cyI6IG51bGwsCi0gICAgICAgICAgICAgICAgInR5cGUiOiAiZXh0ZW5kZWQtYXR0
cmlidXRlIiwKLSAgICAgICAgICAgICAgICAicmhzIjogbnVsbAotICAgICAgICAgICAgfQotICAg
ICAgICBdCi0gICAgfQotXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL3BhcnRp
YWwtaW50ZXJmYWNlLmpzb24gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vcGFydGlhbC1pbnRlcmZh
Y2UuanNvbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDc5MTI2MmY0NjU2OTFlYmQ3
YWVhYjkxMThkNDg0NzVjMzIzMGEwYy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vcGFydGlhbC1pbnRlcmZhY2UuanNv
bgorKysgL2Rldi9udWxsCkBAIC0xLDU1ICswLDAgQEAKLVsKLSAgICB7Ci0gICAgICAgICJ0eXBl
IjogImludGVyZmFjZSIsCi0gICAgICAgICJuYW1lIjogIkZvbyIsCi0gICAgICAgICJwYXJ0aWFs
IjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJzIjogWwotICAgICAgICAgICAgewotICAgICAgICAg
ICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICJpbmhlcml0IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5IjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBl
IjogImF0dHJpYnV0ZS10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxs
LAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogIkRP
TVN0cmluZyIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAg
ICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJiYXIiLAotICAgICAgICAgICAgICAg
ICJlc2NhcGVkTmFtZSI6ICJiYXIiLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0g
ICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJpbmhlcml0YW5jZSI6IG51bGwsCi0g
ICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgfSwKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImlu
dGVyZmFjZSIsCi0gICAgICAgICJuYW1lIjogIkZvbyIsCi0gICAgICAgICJwYXJ0aWFsIjogdHJ1
ZSwKLSAgICAgICAgIm1lbWJlcnMiOiBbCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAg
InR5cGUiOiAiYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlu
aGVyaXQiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAicmVhZG9ubHkiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0
cmlidXRlLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAg
ICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAi
dW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiRE9NU3RyaW5n
IiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9
LAotICAgICAgICAgICAgICAgICJuYW1lIjogInF1dXgiLAotICAgICAgICAgICAgICAgICJlc2Nh
cGVkTmFtZSI6ICJxdXV4IiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAg
ICAgICAgfQotICAgICAgICBdLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0KLV0KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9wcmltaXRpdmVzLmpzb24gYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvc3ludGF4L2pzb24vcHJpbWl0aXZlcy5qc29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCBhMjE2MjIxMTQwYzY1YWVjOWQ3ODc4ZWYwYTk2YThmMDJmZTBlYTYwLi4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNv
bi9wcmltaXRpdmVzLmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSwzMTcgKzAsMCBAQAotWwotICAg
IHsKLSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUiOiAiUHJpbWl0
aXZlcyIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJzIjogWwot
ICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0gICAg
ICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmll
ciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpbmhlcml0IjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgInJlYWRvbmx5IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0g
ICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZS10eXBlIiwKLSAgICAgICAgICAg
ICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgICAgICJpZGxUeXBlIjogImJvb2xlYW4iLAotICAgICAgICAgICAgICAgICAgICAiZXh0
QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAi
dHJ1dGgiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJ0cnV0aCIsCi0gICAgICAg
ICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0g
ICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAic3Rh
dGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAicmVhZG9ubHki
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAg
ICAgInR5cGUiOiAiYXR0cmlidXRlLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJp
YyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5
cGUiOiAiYnl0ZSIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAg
ICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJjaGFyYWN0ZXIiLAotICAgICAg
ICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJjaGFyYWN0ZXIiLAotICAgICAgICAgICAgICAgICJl
eHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAg
ICAgICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICJpbmhlcml0IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5IjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjog
ImF0dHJpYnV0ZS10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAot
ICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAg
ICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogIm9jdGV0
IiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9
LAotICAgICAgICAgICAgICAgICJuYW1lIjogInZhbHVlIiwKLSAgICAgICAgICAgICAgICAiZXNj
YXBlZE5hbWUiOiAidmFsdWUiLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAg
ICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJp
YnV0ZSIsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpbmhlcml0IjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgInJlYWRvbmx5IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlk
bFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZS10eXBlIiwK
LSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAg
ICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogInNob3J0IiwKLSAgICAgICAgICAgICAg
ICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAg
ICJuYW1lIjogIm51bWJlciIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogIm51bWJl
ciIsCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0gICAg
ICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAgICAgICAg
ICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAicmVhZG9ubHkiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAg
ICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlLXR5cGUiLAotICAgICAgICAgICAgICAg
ICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAgICAgImlkbFR5cGUiOiAidW5zaWduZWQgc2hvcnQiLAotICAgICAgICAgICAgICAgICAgICAi
ZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUi
OiAicG9zaXRpdmUiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJwb3NpdGl2ZSIs
Ci0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAg
ICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAgICAgICAgICAg
ICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAi
cmVhZG9ubHkiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAg
ICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlLXR5cGUiLAotICAgICAgICAgICAgICAgICAg
ICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAg
ICAgImlkbFR5cGUiOiAibG9uZyIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtd
Ci0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJiaWciLAotICAg
ICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJiaWciLAotICAgICAgICAgICAgICAgICJleHRB
dHRycyI6IFtdCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAg
ICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJp
bmhlcml0IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5IjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImF0
dHJpYnV0ZS10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAg
ICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAg
InVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogInVuc2lnbmVk
IGxvbmciLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAg
ICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiYmlncG9zaXRpdmUiLAotICAgICAgICAg
ICAgICAgICJlc2NhcGVkTmFtZSI6ICJiaWdwb3NpdGl2ZSIsCi0gICAgICAgICAgICAgICAgImV4
dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAg
ICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAicmVhZG9ubHkiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAi
YXR0cmlidXRlLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0g
ICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAg
ICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAibG9uZyBs
b25nIiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAg
ICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogImJpZ2JpZyIsCi0gICAgICAgICAgICAgICAg
ImVzY2FwZWROYW1lIjogImJpZ2JpZyIsCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10K
LSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAi
YXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImluaGVyaXQiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAicmVhZG9ubHkiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlLXR5
cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAg
ICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAidW5zaWduZWQgbG9uZyBsb25n
IiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9
LAotICAgICAgICAgICAgICAgICJuYW1lIjogImJpZ2JpZ3Bvc2l0aXZlIiwKLSAgICAgICAgICAg
ICAgICAiZXNjYXBlZE5hbWUiOiAiYmlnYmlncG9zaXRpdmUiLAotICAgICAgICAgICAgICAgICJl
eHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAg
ICAgICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICJpbmhlcml0IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5IjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjog
ImF0dHJpYnV0ZS10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAot
ICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAg
ICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogImZsb2F0
IiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9
LAotICAgICAgICAgICAgICAgICJuYW1lIjogInJlYWwiLAotICAgICAgICAgICAgICAgICJlc2Nh
cGVkTmFtZSI6ICJyZWFsIiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAg
ICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1
dGUiLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAi
c3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICJyZWFkb25seSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxU
eXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0g
ICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAg
Im51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJkb3VibGUiLAotICAgICAgICAgICAgICAg
ICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAg
Im5hbWUiOiAiYmlncmVhbCIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImJpZ3Jl
YWwiLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9LAotICAg
ICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0gICAgICAg
ICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICJpbmhlcml0IjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgInJlYWRvbmx5IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAg
ICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZS10eXBlIiwKLSAgICAgICAgICAgICAg
ICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgICAgICJpZGxUeXBlIjogInVucmVzdHJpY3RlZCBmbG9hdCIsCi0gICAgICAgICAgICAgICAg
ICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAi
bmFtZSI6ICJyZWFsd2l0aGluZmluaXR5IiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUi
OiAicmVhbHdpdGhpbmZpbml0eSIsCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAg
ICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0
cmlidXRlIiwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImluaGVyaXQiOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAicmVhZG9ubHkiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAi
aWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlLXR5cGUi
LAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAg
ICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAidW5yZXN0cmljdGVkIGRvdWJsZSIs
Ci0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwK
LSAgICAgICAgICAgICAgICAibmFtZSI6ICJiaWdyZWFsd2l0aGluZmluaXR5IiwKLSAgICAgICAg
ICAgICAgICAiZXNjYXBlZE5hbWUiOiAiYmlncmVhbHdpdGhpbmZpbml0eSIsCi0gICAgICAgICAg
ICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAg
ICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAic3RhdGlj
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAicmVhZG9ubHkiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAg
InR5cGUiOiAiYXR0cmlidXRlLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6
IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUi
OiAiRE9NU3RyaW5nIiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAg
ICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogInN0cmluZyIsCi0gICAgICAg
ICAgICAgICAgImVzY2FwZWROYW1lIjogInN0cmluZyIsCi0gICAgICAgICAgICAgICAgImV4dEF0
dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAg
InR5cGUiOiAiYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlu
aGVyaXQiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAicmVhZG9ubHkiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0
cmlidXRlLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAg
ICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAi
dW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiQnl0ZVN0cmlu
ZyIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAg
fSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJieXRlcyIsCi0gICAgICAgICAgICAgICAgImVz
Y2FwZWROYW1lIjogImJ5dGVzIiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAg
ICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRy
aWJ1dGUiLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaW5oZXJpdCI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICJyZWFkb25seSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJp
ZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIs
Ci0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAg
ICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJEYXRlIiwKLSAgICAgICAgICAgICAg
ICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAg
ICJuYW1lIjogImRhdGUiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJkYXRlIiwK
LSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfSwKLSAgICAgICAg
ICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAg
ICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJy
ZWFkb25seSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAg
ICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAg
ICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAg
ICAiaWRsVHlwZSI6ICJSZWdFeHAiLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBb
XQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAicmVnZXhwIiwK
LSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAicmVnZXhwIiwKLSAgICAgICAgICAgICAg
ICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfQotICAgICAgICBdLAotICAgICAgICAiaW5o
ZXJpdGFuY2UiOiBudWxsLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0KLV0KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9wcm9taXNlLXZvaWQuanNvbiBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC9zeW50YXgvanNvbi9wcm9taXNlLXZvaWQuanNvbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggNzY3NjgzOGI4MTc5ZDllNzM2YThmMzZiOTc2MjhiZWNlMTJhODRkOC4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pz
b24vcHJvbWlzZS12b2lkLmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSwzNiArMCwwIEBACi1bCi0g
ICAgewotICAgICAgICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFtZSI6ICJDYXQi
LAotICAgICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFsKLSAgICAg
ICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAg
ICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICJyZWFkb25seSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAg
ICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAgICAgICAgICAgICAg
ICAgICJnZW5lcmljIjogIlByb21pc2UiLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAi
cmV0dXJuLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAot
ICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJpZGxU
eXBlIjogInZvaWQiLAotICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAg
ICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10K
LSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogIm1lb3ciLAotICAg
ICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJtZW93IiwKLSAgICAgICAgICAgICAgICAiZXh0
QXR0cnMiOiBbXQotICAgICAgICAgICAgfQotICAgICAgICBdLAotICAgICAgICAiaW5oZXJpdGFu
Y2UiOiBudWxsLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0KLV0KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC9zeW50YXgvanNvbi9wcm90b3R5cGVyb290Lmpzb24gYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3lu
dGF4L2pzb24vcHJvdG90eXBlcm9vdC5qc29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCBjZWM3OWZmNjZiNmE0OWRjMzlkZWY3NmM0MjUyZDg3ZTk2YTJjZTI4Li4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9w
cm90b3R5cGVyb290Lmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSwzNiArMCwwIEBACi1bCi0gICAg
ewotICAgICAgICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFtZSI6ICJOb2RlIiwK
LSAgICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJlcnMiOiBbCi0gICAgICAg
ICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAgICAgICAgICAg
ICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAi
cmVhZG9ubHkiOiB0cnVlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAg
ICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAg
ICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAg
ICAiaWRsVHlwZSI6ICJ1bnNpZ25lZCBzaG9ydCIsCi0gICAgICAgICAgICAgICAgICAgICJleHRB
dHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJu
b2RlVHlwZSIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogIm5vZGVUeXBlIiwKLSAg
ICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfQotICAgICAgICBdLAot
ICAgICAgICAiaW5oZXJpdGFuY2UiOiBudWxsLAotICAgICAgICAiZXh0QXR0cnMiOiBbCi0gICAg
ICAgICAgICB7Ci0gICAgICAgICAgICAgICAgIm5hbWUiOiAiUHJvdG90eXBlUm9vdCIsCi0gICAg
ICAgICAgICAgICAgImFyZ3VtZW50cyI6IG51bGwsCi0gICAgICAgICAgICAgICAgInR5cGUiOiAi
ZXh0ZW5kZWQtYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAicmhzIjogbnVsbAotICAgICAg
ICAgICAgfQotICAgICAgICBdCi0gICAgfQotXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRh
eC9qc29uL3B1dGZvcndhcmRzLmpzb24gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vcHV0Zm9yd2Fy
ZHMuanNvbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTUxYjNlZjcxOGNjYzkwYzdj
ZWUzZmYwMzVhY2E2MWU2MTM5Njg5OC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vcHV0Zm9yd2FyZHMuanNvbgorKysg
L2Rldi9udWxsCkBAIC0xLDU3ICswLDAgQEAKLVsKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImlu
dGVyZmFjZSIsCi0gICAgICAgICJuYW1lIjogIlBlcnNvbiIsCi0gICAgICAgICJwYXJ0aWFsIjog
ZmFsc2UsCi0gICAgICAgICJtZW1iZXJzIjogWwotICAgICAgICAgICAgewotICAgICAgICAgICAg
ICAgICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICJpbmhlcml0IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5IjogdHJ1ZSwKLSAg
ICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAi
YXR0cmlidXRlLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0g
ICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAg
ICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiTmFtZSIs
Ci0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwK
LSAgICAgICAgICAgICAgICAibmFtZSI6ICJuYW1lIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBl
ZE5hbWUiOiAibmFtZSIsCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogWwotICAgICAgICAg
ICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJQdXRGb3J3YXJk
cyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiYXJndW1lbnRzIjogbnVsbCwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICJ0eXBlIjogImV4dGVuZGVkLWF0dHJpYnV0ZSIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAicmhzIjogewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBl
IjogImlkZW50aWZpZXIiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSI6ICJm
dWxsIgotICAgICAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICAgICB9Ci0g
ICAgICAgICAgICAgICAgXQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAg
ICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJyZWFkb25seSI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlw
ZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVs
bCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJ1
bnNpZ25lZCBzaG9ydCIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAg
ICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJhZ2UiLAotICAgICAgICAg
ICAgICAgICJlc2NhcGVkTmFtZSI6ICJhZ2UiLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6
IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJpbmhlcml0YW5jZSI6IG51
bGwsCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgfQotXQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3N5bnRheC9qc29uL3JlY29yZC5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL3JlY29y
ZC5qc29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxYmU1NDI3Yzc0ZDZjODNiNDI5
MjczNDQzZmVmYjAzMjYzZDBmOThmLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9yZWNvcmQuanNvbgorKysgL2Rldi9u
dWxsCkBAIC0xLDIyMCArMCwwIEBACi1bCi0gICAgewotICAgICAgICAidHlwZSI6ICJpbnRlcmZh
Y2UiLAotICAgICAgICAibmFtZSI6ICJGb28iLAotICAgICAgICAicGFydGlhbCI6IGZhbHNlLAot
ICAgICAgICAibWVtYmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlw
ZSI6ICJvcGVyYXRpb24iLAotICAgICAgICAgICAgICAgICJnZXR0ZXIiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAic2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImRlbGV0ZXIiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
InN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAg
ICAgICAgICAgICAgICAgICJ0eXBlIjogInJldHVybi10eXBlIiwKLSAgICAgICAgICAgICAgICAg
ICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ICAgICJpZGxUeXBlIjogInZvaWQiLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBb
XQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiZm9vIiwKLSAg
ICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiZm9vIiwKLSAgICAgICAgICAgICAgICAiYXJn
dW1lbnRzIjogWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICAib3B0aW9uYWwiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ2YXJpYWRpYyI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHQiOiBudWxsLAotICAgICAg
ICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10sCi0gICAgICAgICAgICAgICAgICAgICAg
ICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1
bWVudC10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6ICJzZXF1
ZW5jZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJ0eXBlIjogImFyZ3VtZW50LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAiZ2VuZXJpYyI6ICJyZWNvcmQiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVu
aW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjog
WwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImFyZ3VtZW50LXR5cGUiLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJCeXRlU3Ry
aW5nIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMi
OiBbXQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiYW55IiwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBd
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4
dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAg
ICAgICAgICAibmFtZSI6ICJwYXJhbSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXNjYXBl
ZE5hbWUiOiAicGFyYW0iCi0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBd
LAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9LAotICAgICAg
ICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogIm9wZXJhdGlvbiIsCi0gICAgICAgICAg
ICAgICAgImdldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzZXR0ZXIiOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAiZGVsZXRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdGF0
aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAicmV0
dXJuLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6ICJyZWNvcmQiLAotICAg
ICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAg
InVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogWwotICAgICAg
ICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjog
InJldHVybi10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51
bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgImlkbFR5cGUiOiAiRE9NU3RyaW5nIiwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6
ICJyZXR1cm4tdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBu
dWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IHRydWUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogdHJ1ZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAiaWRsVHlwZSI6IFsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiBudWxsLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogImZsb2F0IiwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogbnVsbCwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJET01TdHJpbmciLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAg
ICAgIH0KLSAgICAgICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0
dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogImJh
ciIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImJhciIsCi0gICAgICAgICAgICAg
ICAgImFyZ3VtZW50cyI6IFtdLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAg
ICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJpbmhlcml0YW5jZSI6IG51bGwsCi0gICAg
ICAgICJleHRBdHRycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAibmFtZSI6
ICJDb25zdHJ1Y3RvciIsCi0gICAgICAgICAgICAgICAgImFyZ3VtZW50cyI6IFsKLSAgICAgICAg
ICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIm9wdGlvbmFsIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgICAgICAgICAidmFyaWFkaWMiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJkZWZhdWx0IjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJl
eHRBdHRycyI6IFtdLAotICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiAicmVjb3JkIiwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlw
ZSI6IFsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiVVNWU3RyaW5nIiwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImFyZ3VtZW50LXR5cGUiLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogIlVTVlN0cmluZyIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgXSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAg
ICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjogImluaXQiLAot
ICAgICAgICAgICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImluaXQiCi0gICAgICAgICAg
ICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgICJ0eXBlIjog
ImV4dGVuZGVkLWF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInJocyI6IG51bGwKLSAgICAg
ICAgICAgIH0KLSAgICAgICAgXQotICAgIH0sCi0gICAgewotICAgICAgICAidHlwZSI6ICJpbnRl
cmZhY2UiLAotICAgICAgICAibmFtZSI6ICJCYXIiLAotICAgICAgICAicGFydGlhbCI6IGZhbHNl
LAotICAgICAgICAibWVtYmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAi
dHlwZSI6ICJvcGVyYXRpb24iLAotICAgICAgICAgICAgICAgICJnZXR0ZXIiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAic2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImRlbGV0ZXIi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0g
ICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInJldHVybi10eXBlIiwKLSAgICAgICAgICAgICAg
ICAgICAgImdlbmVyaWMiOiAicmVjb3JkIiwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxl
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICAgICAiaWRsVHlwZSI6IFsKLSAgICAgICAgICAgICAgICAgICAgICAgIHsKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1
bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogIkRP
TVN0cmluZyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAg
ICAgICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgICAgICB7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAicmV0dXJuLXR5cGUiLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAi
dW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJm
bG9hdCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogWwotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAibmFtZSI6ICJYQXR0ciIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAiYXJndW1lbnRzIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJ0eXBlIjogImV4dGVuZGVkLWF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAicmhzIjogbnVsbAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB9Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgXQotICAgICAgICAgICAgICAgICAgICAg
ICAgfQotICAgICAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0
cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiYmFy
IiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiYmFyIiwKLSAgICAgICAgICAgICAg
ICAiYXJndW1lbnRzIjogW10sCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAg
ICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImluaGVyaXRhbmNlIjogbnVsbCwKLSAgICAg
ICAgImV4dEF0dHJzIjogW10KLSAgICB9Ci1dCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4
L2pzb24vcmVnLW9wZXJhdGlvbnMuanNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9yZWctb3Bl
cmF0aW9ucy5qc29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4Nzk1YzU5ZWM4NzM3
MWU3NGJmNzU5Nzg2MTQ3OGFiOGIxYzE1YjU0Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9yZWctb3BlcmF0aW9ucy5q
c29uCisrKyAvZGV2L251bGwKQEAgLTEsMTY2ICswLDAgQEAKLVsKLSAgICB7Ci0gICAgICAgICJ0
eXBlIjogImludGVyZmFjZSIsCi0gICAgICAgICJuYW1lIjogIkRpbWVuc2lvbnMiLAotICAgICAg
ICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFsKLSAgICAgICAgICAgIHsK
LSAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJz
dGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJyZWFkb25s
eSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAg
ICAgICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5l
cmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRs
VHlwZSI6ICJ1bnNpZ25lZCBsb25nIiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjog
W10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogIndpZHRoIiwK
LSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAid2lkdGgiLAotICAgICAgICAgICAgICAg
ICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAg
ICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICJpbmhlcml0IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5IjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBl
IjogImF0dHJpYnV0ZS10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxs
LAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogInVu
c2lnbmVkIGxvbmciLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAg
ICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiaGVpZ2h0IiwKLSAgICAgICAg
ICAgICAgICAiZXNjYXBlZE5hbWUiOiAiaGVpZ2h0IiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0
cnMiOiBbXQotICAgICAgICAgICAgfQotICAgICAgICBdLAotICAgICAgICAiaW5oZXJpdGFuY2Ui
OiBudWxsLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0sCi0gICAgewotICAgICAgICAi
dHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFtZSI6ICJCdXR0b24iLAotICAgICAgICAi
cGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAg
ICAgICAgICAgICAgICAidHlwZSI6ICJvcGVyYXRpb24iLAotICAgICAgICAgICAgICAgICJnZXR0
ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgImRlbGV0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInJldHVybi10eXBlIiwK
LSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAg
ICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogImJvb2xlYW4iLAotICAgICAgICAgICAg
ICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAg
ICAgIm5hbWUiOiAiaXNNb3VzZU92ZXIiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6
ICJpc01vdXNlT3ZlciIsCi0gICAgICAgICAgICAgICAgImFyZ3VtZW50cyI6IFtdLAotICAgICAg
ICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewot
ICAgICAgICAgICAgICAgICJ0eXBlIjogIm9wZXJhdGlvbiIsCi0gICAgICAgICAgICAgICAgImdl
dHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAiZGVsZXRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAicmV0dXJuLXR5cGUi
LAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAg
ICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAidm9pZCIsCi0gICAgICAgICAgICAg
ICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAg
ICAibmFtZSI6ICJzZXREaW1lbnNpb25zIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUi
OiAic2V0RGltZW5zaW9ucyIsCi0gICAgICAgICAgICAgICAgImFyZ3VtZW50cyI6IFsKLSAgICAg
ICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIm9wdGlvbmFsIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAidmFyaWFkaWMiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICJkZWZhdWx0IjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJleHRBdHRycyI6IFtdLAotICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBl
IjogIkRpbWVuc2lvbnMiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6
IFtdCi0gICAgICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICAgICAg
Im5hbWUiOiAic2l6ZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAi
c2l6ZSIKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAg
ICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0g
ICAgICAgICAgICAgICAgInR5cGUiOiAib3BlcmF0aW9uIiwKLSAgICAgICAgICAgICAgICAiZ2V0
dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInNldHRlciI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICJkZWxldGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJyZXR1cm4tdHlwZSIs
Ci0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAg
ICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJ2b2lkIiwKLSAgICAgICAgICAgICAg
ICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAg
ICJuYW1lIjogInNldERpbWVuc2lvbnMiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6
ICJzZXREaW1lbnNpb25zIiwKLSAgICAgICAgICAgICAgICAiYXJndW1lbnRzIjogWwotICAgICAg
ICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAib3B0aW9uYWwiOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ2YXJpYWRpYyI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgImRlZmF1bHQiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAg
ImV4dEF0dHJzIjogW10sCi0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUi
OiAidW5zaWduZWQgbG9uZyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJz
IjogW10KLSAgICAgICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgICAg
ICAibmFtZSI6ICJ3aWR0aCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUi
OiAid2lkdGgiCi0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsK
LSAgICAgICAgICAgICAgICAgICAgICAgICJvcHRpb25hbCI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgInZhcmlhZGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAi
ZGVmYXVsdCI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJ0eXBlIjogImFyZ3VtZW50LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAibnVs
bGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJ1bnNpZ25lZCBsb25n
IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAg
ICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjogImhlaWdo
dCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiaGVpZ2h0IgotICAg
ICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICAi
ZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfQotICAgICAgICBdLAotICAgICAgICAiaW5oZXJp
dGFuY2UiOiBudWxsLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0KLV0KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9yZXBsYWNlYWJsZS5qc29uIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5
bnRheC9qc29uL3JlcGxhY2VhYmxlLmpzb24KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDEzMzg5MWQ0NjFkYjMxNWMxN2I0MTg0YjBkNzQ0M2RkMzVmZWFmNTAuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL3Jl
cGxhY2VhYmxlLmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSw1NiArMCwwIEBACi1bCi0gICAgewot
ICAgICAgICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFtZSI6ICJDb3VudGVyIiwK
LSAgICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJlcnMiOiBbCi0gICAgICAg
ICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAgICAgICAgICAg
ICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAi
cmVhZG9ubHkiOiB0cnVlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAg
ICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAg
ICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAg
ICAiaWRsVHlwZSI6ICJ1bnNpZ25lZCBsb25nIiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0
dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogInZh
bHVlIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAidmFsdWUiLAotICAgICAgICAg
ICAgICAgICJleHRBdHRycyI6IFsKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAg
ICAgICAgICAgICAgIm5hbWUiOiAiUmVwbGFjZWFibGUiLAotICAgICAgICAgICAgICAgICAgICAg
ICAgImFyZ3VtZW50cyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJl
eHRlbmRlZC1hdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgInJocyI6IG51bGwK
LSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0KLSAgICAgICAgICAgIH0s
Ci0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAib3BlcmF0aW9uIiwKLSAg
ICAgICAgICAgICAgICAiZ2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInNldHRlciI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICJkZWxldGVyIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlw
ZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwK
LSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJ2b2lk
IiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9
LAotICAgICAgICAgICAgICAgICJuYW1lIjogImluY3JlbWVudCIsCi0gICAgICAgICAgICAgICAg
ImVzY2FwZWROYW1lIjogImluY3JlbWVudCIsCi0gICAgICAgICAgICAgICAgImFyZ3VtZW50cyI6
IFtdLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAg
ICAgIF0sCi0gICAgICAgICJpbmhlcml0YW5jZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6
IFtdCi0gICAgfQotXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL3NlcXVlbmNl
Lmpzb24gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vc2VxdWVuY2UuanNvbgpkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggZWFkMGNkZDg2MmM3ODY3Y2M4Y2IyZTBiNTViYmNhNDM2N2FlYjg5
ZC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvc3ludGF4L2pzb24vc2VxdWVuY2UuanNvbgorKysgL2Rldi9udWxsCkBAIC0xLDE0MiArMCww
IEBACi1bCi0gICAgewotICAgICAgICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFt
ZSI6ICJDYW52YXMiLAotICAgICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVy
cyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJvcGVyYXRpb24i
LAotICAgICAgICAgICAgICAgICJnZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic2V0
dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImRlbGV0ZXIiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAg
ICJ0eXBlIjogInJldHVybi10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBu
dWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjog
InZvaWQiLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAg
ICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiZHJhd1BvbHlnb24iLAotICAgICAgICAg
ICAgICAgICJlc2NhcGVkTmFtZSI6ICJkcmF3UG9seWdvbiIsCi0gICAgICAgICAgICAgICAgImFy
Z3VtZW50cyI6IFsKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAg
ICAgIm9wdGlvbmFsIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAidmFyaWFkaWMi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0IjogbnVsbCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdLAotICAgICAgICAgICAgICAgICAgICAg
ICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXJn
dW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiAic2Vx
dWVuY2UiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAi
bnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9u
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogImZs
b2F0IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAg
ICAgICAgICAgICAgIm5hbWUiOiAiY29vcmRpbmF0ZXMiLAotICAgICAgICAgICAgICAgICAgICAg
ICAgImVzY2FwZWROYW1lIjogImNvb3JkaW5hdGVzIgotICAgICAgICAgICAgICAgICAgICB9Ci0g
ICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAg
ICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJvcGVyYXRp
b24iLAotICAgICAgICAgICAgICAgICJnZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAi
c2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImRlbGV0ZXIiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVy
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAg
ICAgICJ0eXBlIjogInJldHVybi10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMi
OiAic2VxdWVuY2UiLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJp
ZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAicmV0dXJuLXR5cGUi
LAotICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAg
ICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAi
dW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogImZsb2F0
IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAg
ICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAg
ICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJnZXRJbmZsZWN0aW9uUG9pbnRzIiwK
LSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiZ2V0SW5mbGVjdGlvblBvaW50cyIsCi0g
ICAgICAgICAgICAgICAgImFyZ3VtZW50cyI6IFtdLAotICAgICAgICAgICAgICAgICJleHRBdHRy
cyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJpbmhlcml0YW5jZSI6
IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgfSwKLSAgICB7Ci0gICAgICAgICJ0
eXBlIjogImludGVyZmFjZSIsCi0gICAgICAgICJuYW1lIjogIkkiLAotICAgICAgICAicGFydGlh
bCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAg
ICAgICAgICAidHlwZSI6ICJvcGVyYXRpb24iLAotICAgICAgICAgICAgICAgICJnZXR0ZXIiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAic2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ImRlbGV0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5
cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInJldHVybi10eXBlIiwKLSAgICAg
ICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVs
bGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgICAgICJpZGxUeXBlIjogInZvaWQiLAotICAgICAgICAgICAgICAgICAgICAi
ZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUi
OiAiZjEiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJmMSIsCi0gICAgICAgICAg
ICAgICAgImFyZ3VtZW50cyI6IFsKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAg
ICAgICAgICAgICAgIm9wdGlvbmFsIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAi
dmFyaWFkaWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0IjogbnVs
bCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdLAotICAgICAgICAgICAg
ICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5
cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVy
aWMiOiAic2VxdWVuY2UiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxU
eXBlIjogImxvbmciLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMi
OiBbCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAiWEF0dHIiLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJhcmd1bWVudHMiOiBudWxsLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImV4dGVuZGVkLWF0dHJpYnV0
ZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInJocyI6IG51bGwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAg
ICAgIH0sCi0gICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJhcmciLAotICAgICAgICAg
ICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImFyZyIKLSAgICAgICAgICAgICAgICAgICAg
fQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAg
ICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImluaGVyaXRhbmNlIjogbnVsbCwKLSAg
ICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9Ci1dCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3lu
dGF4L2pzb24vc2V0bGlrZS5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL3NldGxpa2UuanNv
bgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDg1ODM1MzhmZDBmMGExZjFlNGIzZTAz
OTQyYzJhY2E1ZjYxNTI3MC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vc2V0bGlrZS5qc29uCisrKyAvZGV2L251bGwK
QEAgLTEsODEgKzAsMCBAQAotWwotICAgIHsKLSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIiwK
LSAgICAgICAgIm5hbWUiOiAiU2V0TGlrZSIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0g
ICAgICAgICJtZW1iZXJzIjogWwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBl
IjogInNldGxpa2UiLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogWwotICAgICAgICAgICAg
ICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6IG51bGwsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAibG9uZyIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICB9Ci0g
ICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICAicmVhZG9ubHkiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfQotICAgICAgICBdLAot
ICAgICAgICAiaW5oZXJpdGFuY2UiOiBudWxsLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAg
IH0sCi0gICAgewotICAgICAgICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFtZSI6
ICJSZWFkT25seVNldExpa2UiLAotICAgICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAi
bWVtYmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJzZXRs
aWtlIiwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IFsKLSAgICAgICAgICAgICAgICAgICAg
ewotICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiBudWxsLAotICAgICAgICAgICAgICAg
ICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxh
YmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogImxvbmciLAotICAgICAgICAgICAgICAg
ICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAg
ICAgICAgIF0sCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5IjogdHJ1ZSwKLSAgICAgICAgICAg
ICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfQotICAgICAgICBdLAotICAgICAgICAi
aW5oZXJpdGFuY2UiOiBudWxsLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0sCi0gICAg
ewotICAgICAgICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFtZSI6ICJTZXRMaWtl
RXh0IiwKLSAgICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJlcnMiOiBbCi0g
ICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAic2V0bGlrZSIsCi0gICAgICAg
ICAgICAgICAgImlkbFR5cGUiOiBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJ0eXBlIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJnZW5l
cmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAiaWRsVHlwZSI6ICJsb25nIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJleHRB
dHRycyI6IFsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICJuYW1lIjogIlhBdHRyIiwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgImFyZ3VtZW50cyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJ0eXBlIjogImV4dGVuZGVkLWF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJyaHMiOiBudWxsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgfQotICAg
ICAgICAgICAgICAgICAgICAgICAgXQotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAg
ICAgICAgXSwKLSAgICAgICAgICAgICAgICAicmVhZG9ubHkiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfQotICAgICAgICBdLAotICAgICAgICAi
aW5oZXJpdGFuY2UiOiBudWxsLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0KLV0KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9zdGF0aWMuanNvbiBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9z
eW50YXgvanNvbi9zdGF0aWMuanNvbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDBk
ZGYzNWVjNmU0YjVkYTZhY2RmMjAzZWFlM2RhYTVmMDEzMmQxOS4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vc3RhdGlj
Lmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSwxNjAgKzAsMCBAQAotWwotICAgIHsKLSAgICAgICAg
InR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUiOiAiUG9pbnQiLAotICAgICAgICAi
cGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFtdLAotICAgICAgICAiaW5oZXJp
dGFuY2UiOiBudWxsLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0sCi0gICAgewotICAg
ICAgICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFtZSI6ICJDaXJjbGUiLAotICAg
ICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFsKLSAgICAgICAgICAg
IHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAg
ICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJyZWFk
b25seSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAg
ICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJn
ZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAi
aWRsVHlwZSI6ICJmbG9hdCIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0g
ICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJjeCIsCi0gICAgICAg
ICAgICAgICAgImVzY2FwZWROYW1lIjogImN4IiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMi
OiBbXQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlw
ZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaW5oZXJp
dCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJyZWFkb25seSI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1
dGUtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAg
ICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlv
biI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJmbG9hdCIsCi0gICAg
ICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAg
ICAgICAgICAgICAibmFtZSI6ICJjeSIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjog
ImN5IiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfSwKLSAg
ICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAg
ICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICJyZWFkb25seSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAg
ICAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAgICAgICAgICAg
ICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICAgICAiaWRsVHlwZSI6ICJmbG9hdCIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRy
cyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJyYWRp
dXMiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJyYWRpdXMiLAotICAgICAgICAg
ICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAg
ICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInN0YXRp
YyI6IHRydWUsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAicmVhZG9ubHkiOiB0
cnVlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAi
dHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjog
bnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6
ICJsb25nIiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAg
ICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogInRyaWFuZ3VsYXRpb25Db3VudCIsCi0g
ICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogInRyaWFuZ3VsYXRpb25Db3VudCIsCi0gICAg
ICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7
Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAib3BlcmF0aW9uIiwKLSAgICAgICAgICAgICAgICAi
Z2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInNldHRlciI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICJkZWxldGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IHRy
dWUsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInJldHVybi10eXBl
IiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAg
ICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogIlBvaW50IiwKLSAgICAgICAgICAg
ICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAg
ICAgICJuYW1lIjogInRyaWFuZ3VsYXRlIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUi
OiAidHJpYW5ndWxhdGUiLAotICAgICAgICAgICAgICAgICJhcmd1bWVudHMiOiBbCi0gICAgICAg
ICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJvcHRpb25hbCI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICAgICAgICAgInZhcmlhZGljIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAiZGVmYXVsdCI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAi
ZXh0QXR0cnMiOiBbXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImFyZ3VtZW50LXR5cGUiLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6
ICJDaXJjbGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0g
ICAgICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUi
OiAiYzEiLAotICAgICAgICAgICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImMxIgotICAg
ICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICAib3B0aW9uYWwiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ2
YXJpYWRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHQiOiBudWxs
LAotICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10sCi0gICAgICAgICAgICAg
ICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlw
ZSI6ICJhcmd1bWVudC10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJp
YyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiQ2lyY2xlIiwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjogImMyIiwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJlc2NhcGVkTmFtZSI6ICJjMiIKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAg
ICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIm9wdGlvbmFsIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgICAgICAgICAidmFyaWFkaWMiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJkZWZhdWx0IjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJl
eHRBdHRycyI6IFtdLAotICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjog
IkNpcmNsZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAg
ICAgICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6
ICJjMyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiYzMiCi0gICAg
ICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgICJl
eHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJpbmhlcml0
YW5jZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgfQotXQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL3N0cmluZ2lmaWVyLWF0dHJpYnV0ZS5qc29uIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L3N5bnRheC9qc29uL3N0cmluZ2lmaWVyLWF0dHJpYnV0ZS5qc29uCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCBkYmNhN2YxNzkwMmMyYjMxN2U5ZGU3NGNhN2E1NGIxZThjMTIw
NzgzLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC9zeW50YXgvanNvbi9zdHJpbmdpZmllci1hdHRyaWJ1dGUuanNvbgorKysgL2Rldi9udWxs
CkBAIC0xLDU0ICswLDAgQEAKLVsKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImludGVyZmFjZSIs
Ci0gICAgICAgICJuYW1lIjogIlN0dWRlbnQiLAotICAgICAgICAicGFydGlhbCI6IGZhbHNlLAot
ICAgICAgICAibWVtYmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlw
ZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaW5oZXJp
dCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJyZWFkb25seSI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1
dGUtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAg
ICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlv
biI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJ1bnNpZ25lZCBsb25n
IiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9
LAotICAgICAgICAgICAgICAgICJuYW1lIjogImlkIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBl
ZE5hbWUiOiAiaWQiLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAg
ICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZSIs
Ci0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJp
bmdpZmllciI6IHRydWUsCi0gICAgICAgICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAicmVhZG9ubHkiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6
IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlLXR5cGUiLAotICAgICAg
ICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxs
YWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiRE9NU3RyaW5nIiwKLSAgICAgICAgICAgICAgICAg
ICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJu
YW1lIjogIm5hbWUiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJuYW1lIiwKLSAg
ICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfQotICAgICAgICBdLAot
ICAgICAgICAiaW5oZXJpdGFuY2UiOiBudWxsLAotICAgICAgICAiZXh0QXR0cnMiOiBbCi0gICAg
ICAgICAgICB7Ci0gICAgICAgICAgICAgICAgIm5hbWUiOiAiQ29uc3RydWN0b3IiLAotICAgICAg
ICAgICAgICAgICJhcmd1bWVudHMiOiBudWxsLAotICAgICAgICAgICAgICAgICJ0eXBlIjogImV4
dGVuZGVkLWF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInJocyI6IG51bGwKLSAgICAgICAg
ICAgIH0KLSAgICAgICAgXQotICAgIH0KLV0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgv
anNvbi9zdHJpbmdpZmllci1jdXN0b20uanNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9zdHJp
bmdpZmllci1jdXN0b20uanNvbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzEzZGY2
ZWYxMGMwYzUwNTAwODQ0OGMwNTVlMTkxMWRlZjMzYzlkYS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vc3RyaW5naWZp
ZXItY3VzdG9tLmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSw5MiArMCwwIEBACi1bCi0gICAgewot
ICAgICAgICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFtZSI6ICJTdHVkZW50IiwK
LSAgICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJlcnMiOiBbCi0gICAgICAg
ICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAgICAgICAgICAg
ICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAi
cmVhZG9ubHkiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAg
ICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlLXR5cGUiLAotICAgICAgICAgICAgICAgICAg
ICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAg
ICAgImlkbFR5cGUiOiAidW5zaWduZWQgbG9uZyIsCi0gICAgICAgICAgICAgICAgICAgICJleHRB
dHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJp
ZCIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImlkIiwKLSAgICAgICAgICAgICAg
ICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAg
ICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJyZWFkb25seSI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlw
ZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVs
bCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogdHJ1ZSwKLSAgICAgICAgICAgICAg
ICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogIkRP
TVN0cmluZyIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAg
ICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJmYW1pbHlOYW1lIiwKLSAgICAgICAg
ICAgICAgICAiZXNjYXBlZE5hbWUiOiAiZmFtaWx5TmFtZSIsCi0gICAgICAgICAgICAgICAgImV4
dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAg
ICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAicmVhZG9ubHkiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAi
YXR0cmlidXRlLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0g
ICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAg
ICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiRE9NU3Ry
aW5nIiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAg
ICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogImdpdmVuTmFtZSIsCi0gICAgICAgICAgICAg
ICAgImVzY2FwZWROYW1lIjogImdpdmVuTmFtZSIsCi0gICAgICAgICAgICAgICAgImV4dEF0dHJz
IjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5
cGUiOiAib3BlcmF0aW9uIiwKLSAgICAgICAgICAgICAgICAiZ2V0dGVyIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgInNldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJkZWxldGVyIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICJzdHJpbmdpZmllciI6IHRydWUsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAg
ICAgICAgICAgICAgICAgICJ0eXBlIjogInJldHVybi10eXBlIiwKLSAgICAgICAgICAgICAgICAg
ICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ICAgICJpZGxUeXBlIjogIkRPTVN0cmluZyIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRy
cyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6IG51bGws
Ci0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogbnVsbCwKLSAgICAgICAgICAgICAgICAi
YXJndW1lbnRzIjogW10sCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAg
ICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImluaGVyaXRhbmNlIjogbnVsbCwKLSAgICAgICAg
ImV4dEF0dHJzIjogWwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJuYW1lIjogIkNv
bnN0cnVjdG9yIiwKLSAgICAgICAgICAgICAgICAiYXJndW1lbnRzIjogbnVsbCwKLSAgICAgICAg
ICAgICAgICAidHlwZSI6ICJleHRlbmRlZC1hdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJy
aHMiOiBudWxsCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0KLSAgICB9Ci1dCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vc3RyaW5naWZpZXIuanNvbiBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50
YXgvanNvbi9zdHJpbmdpZmllci5qc29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBh
NGYyM2UwM2Y2NmQ0MjEzYmY1NWZjZDQzYjQwNmViNTQ1ODc5MzMzLi4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9zdHJp
bmdpZmllci5qc29uCisrKyAvZGV2L251bGwKQEAgLTEsNDkgKzAsMCBAQAotWwotICAgIHsKLSAg
ICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUiOiAiQSIsCi0gICAgICAg
ICJwYXJ0aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJzIjogWwotICAgICAgICAgICAgewot
ICAgICAgICAgICAgICAgICJ0eXBlIjogIm9wZXJhdGlvbiIsCi0gICAgICAgICAgICAgICAgImdl
dHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAiZGVsZXRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiB0cnVlLAotICAgICAgICAgICAgICAg
ICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJyZXR1cm4tdHlwZSIs
Ci0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAg
ICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJET01TdHJpbmciLAotICAgICAgICAg
ICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAg
ICAgICAgIm5hbWUiOiBudWxsLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6IG51bGws
Ci0gICAgICAgICAgICAgICAgImFyZ3VtZW50cyI6IFtdLAotICAgICAgICAgICAgICAgICJleHRB
dHRycyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJpbmhlcml0YW5j
ZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgfSwKLSAgICB7Ci0gICAgICAg
ICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAgICAgICJuYW1lIjogIkIiLAotICAgICAgICAicGFy
dGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAg
ICAgICAgICAgICAidHlwZSI6ICJvcGVyYXRpb24iLAotICAgICAgICAgICAgICAgICJnZXR0ZXIi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgImRlbGV0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogdHJ1ZSwKLSAgICAgICAgICAgICAgICAiZXh0
QXR0cnMiOiBbXQotICAgICAgICAgICAgfQotICAgICAgICBdLAotICAgICAgICAiaW5oZXJpdGFu
Y2UiOiBudWxsLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0KLV0KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC9zeW50YXgvanNvbi90cmVhdGFzbnVsbC5qc29uIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRh
eC9qc29uL3RyZWF0YXNudWxsLmpzb24KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQ1
MTU2YmNiNGYxYjVkZGI0ZGI1YjJhMjUxOGY5Y2YwYTdiNDE3NDUuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL3RyZWF0
YXNudWxsLmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSw5NCArMCwwIEBACi1bCi0gICAgewotICAg
ICAgICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFtZSI6ICJEb2ciLAotICAgICAg
ICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFsKLSAgICAgICAgICAgIHsK
LSAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJz
dGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJyZWFkb25s
eSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAg
ICAgICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5l
cmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRs
VHlwZSI6ICJET01TdHJpbmciLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQot
ICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAibmFtZSIsCi0gICAg
ICAgICAgICAgICAgImVzY2FwZWROYW1lIjogIm5hbWUiLAotICAgICAgICAgICAgICAgICJleHRB
dHRycyI6IFtdCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAg
ICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJp
bmhlcml0IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5IjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImF0
dHJpYnV0ZS10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAg
ICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAg
InVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogIkRPTVN0cmlu
ZyIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAg
fSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJvd25lciIsCi0gICAgICAgICAgICAgICAgImVz
Y2FwZWROYW1lIjogIm93bmVyIiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAg
ICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJvcGVy
YXRpb24iLAotICAgICAgICAgICAgICAgICJnZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAic2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImRlbGV0ZXIiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lm
aWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAg
ICAgICAgICJ0eXBlIjogInJldHVybi10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVy
aWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxU
eXBlIjogImJvb2xlYW4iLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAg
ICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiaXNNZW1iZXJPZkJyZWVk
IiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiaXNNZW1iZXJPZkJyZWVkIiwKLSAg
ICAgICAgICAgICAgICAiYXJndW1lbnRzIjogWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICAib3B0aW9uYWwiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICJ2YXJpYWRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1
bHQiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogWwotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Im5hbWUiOiAiVHJlYXROdWxsQXMiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAi
YXJndW1lbnRzIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUi
OiAiZXh0ZW5kZWQtYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
InJocyI6IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImlk
ZW50aWZpZXIiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIjog
IkVtcHR5U3RyaW5nIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICAgICAgICAgXSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJ0eXBlIjogImFyZ3VtZW50LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJET01TdHJpbmciLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgICAg
ICAgICB9LAotICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAiYnJlZWROYW1lIiwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJicmVlZE5hbWUiCi0gICAgICAg
ICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgICJleHRB
dHRycyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJpbmhlcml0YW5j
ZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgfQotXQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3N5bnRheC9qc29uL3RyZWF0YXN1bmRlZmluZWQuanNvbiBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9z
eW50YXgvanNvbi90cmVhdGFzdW5kZWZpbmVkLmpzb24KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDFlOTgzMTVkOWYxM2JmYjAyOThkOGE3NDI5MGFiOTBlNjlkOTYxZDQuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9q
c29uL3RyZWF0YXN1bmRlZmluZWQuanNvbgorKysgL2Rldi9udWxsCkBAIC0xLDk0ICswLDAgQEAK
LVsKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAgICAgICJuYW1lIjog
IkNhdCIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJzIjogWwot
ICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0gICAg
ICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmll
ciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpbmhlcml0IjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgInJlYWRvbmx5IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0g
ICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZS10eXBlIiwKLSAgICAgICAgICAg
ICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgICAgICJpZGxUeXBlIjogIkRPTVN0cmluZyIsCi0gICAgICAgICAgICAgICAgICAgICJl
eHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6
ICJuYW1lIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAibmFtZSIsCi0gICAgICAg
ICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0g
ICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAic3Rh
dGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAicmVhZG9ubHki
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAg
ICAgInR5cGUiOiAiYXR0cmlidXRlLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJp
YyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5
cGUiOiAiRE9NU3RyaW5nIiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAg
ICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogIm93bmVyIiwKLSAgICAg
ICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAib3duZXIiLAotICAgICAgICAgICAgICAgICJleHRB
dHRycyI6IFtdCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAg
ICJ0eXBlIjogIm9wZXJhdGlvbiIsCi0gICAgICAgICAgICAgICAgImdldHRlciI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICJzZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiZGVsZXRl
ciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsK
LSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAicmV0dXJuLXR5cGUiLAotICAgICAgICAgICAg
ICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAgICAgImlkbFR5cGUiOiAiYm9vbGVhbiIsCi0gICAgICAgICAgICAgICAgICAgICJleHRB
dHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJp
c01lbWJlck9mQnJlZWQiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJpc01lbWJl
ck9mQnJlZWQiLAotICAgICAgICAgICAgICAgICJhcmd1bWVudHMiOiBbCi0gICAgICAgICAgICAg
ICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJvcHRpb25hbCI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgInZhcmlhZGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAiZGVmYXVsdCI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0
cnMiOiBbCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAibmFtZSI6ICJUcmVhdFVuZGVmaW5lZEFzIiwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgImFyZ3VtZW50cyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJ0eXBlIjogImV4dGVuZGVkLWF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICJyaHMiOiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAidHlwZSI6ICJpZGVudGlmaWVyIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJ2YWx1ZSI6ICJFbXB0eVN0cmluZyIKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgfQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAg
ICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
InVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAi
RE9NU3RyaW5nIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQot
ICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJuYW1l
IjogImJyZWVkTmFtZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAi
YnJlZWROYW1lIgotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXSwKLSAg
ICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfQotICAgICAgICBdLAot
ICAgICAgICAiaW5oZXJpdGFuY2UiOiBudWxsLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAg
IH0KLV0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi90eXBlZGVmLXVuaW9uLmpz
b24gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vdHlwZWRlZi11bmlvbi5qc29uCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAzMWUyNDE5OGFiMTMwZjNjZDdlZmRkM2U4MGE0YmFhZjZiYjIx
M2UzLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC9zeW50YXgvanNvbi90eXBlZGVmLXVuaW9uLmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSw0
OCArMCwwIEBACi1bCi0gICAgewotICAgICAgICAidHlwZSI6ICJ0eXBlZGVmIiwKLSAgICAgICAg
ImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAidHlwZSI6ICJ0eXBlZGVmLXR5cGUiLAotICAgICAg
ICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0g
ICAgICAgICAgICAidW5pb24iOiB0cnVlLAotICAgICAgICAgICAgImlkbFR5cGUiOiBbCi0gICAg
ICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6IG51bGwsCi0gICAgICAg
ICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxh
YmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJJbWFnZURhdGEiLAotICAgICAgICAgICAgICAgICAg
ICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgewot
ICAgICAgICAgICAgICAgICAgICAidHlwZSI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJn
ZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAi
aWRsVHlwZSI6ICJIVE1MSW1hZ2VFbGVtZW50IiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0
dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgIHsKLSAgICAgICAg
ICAgICAgICAgICAgInR5cGUiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6
IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUi
OiAiSFRNTENhbnZhc0VsZW1lbnQiLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBb
XQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAg
ICAgICAidHlwZSI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwK
LSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJIVE1M
VmlkZW9FbGVtZW50IiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAg
ICAgICAgICAgICB9Ci0gICAgICAgICAgICBdLAotICAgICAgICAgICAgImV4dEF0dHJzIjogW10K
LSAgICAgICAgfSwKLSAgICAgICAgIm5hbWUiOiAiVGV4SW1hZ2VTb3VyY2UiLAotICAgICAgICAi
ZXh0QXR0cnMiOiBbXQotICAgIH0KLV0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNv
bi90eXBlZGVmLmpzb24gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vdHlwZWRlZi5qc29uCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzNWY5ODhlNzIxZTc1ZTk4MDhhNmEwMGE3NDlhZWYz
ZmIwNTFiMGUzLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC9zeW50YXgvanNvbi90eXBlZGVmLmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSwy
MzMgKzAsMCBAQAotWwotICAgIHsKLSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAg
ICAgIm5hbWUiOiAiUG9pbnQiLAotICAgICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAi
bWVtYmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRy
aWJ1dGUiLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaW5oZXJpdCI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICJyZWFkb25seSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJp
ZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIs
Ci0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAg
ICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJmbG9hdCIsCi0gICAgICAgICAgICAg
ICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAg
ICAibmFtZSI6ICJ4IiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAieCIsCi0gICAg
ICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7
Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAi
c3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAicmVhZG9u
bHkiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAg
ICAgICAgInR5cGUiOiAiYXR0cmlidXRlLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2Vu
ZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlk
bFR5cGUiOiAiZmxvYXQiLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAg
ICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAieSIsCi0gICAgICAgICAg
ICAgICAgImVzY2FwZWROYW1lIjogInkiLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtd
Ci0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJpbmhlcml0YW5jZSI6IG51bGws
Ci0gICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgfSwKLSAgICB7Ci0gICAgICAgICJ0eXBlIjog
InR5cGVkZWYiLAotICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICJ0eXBlIjogInR5
cGVkZWYtdHlwZSIsCi0gICAgICAgICAgICAiZ2VuZXJpYyI6ICJzZXF1ZW5jZSIsCi0gICAgICAg
ICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAg
ICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAidHlwZWRlZi10
eXBlIiwKLSAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAg
Im51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgImlkbFR5cGUiOiAiUG9pbnQiLAotICAgICAgICAgICAgICAgICJleHRBdHRy
cyI6IFtdCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAg
ICAgfSwKLSAgICAgICAgIm5hbWUiOiAiUG9pbnRTZXF1ZW5jZSIsCi0gICAgICAgICJleHRBdHRy
cyI6IFtdCi0gICAgfSwKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAg
ICAgICJuYW1lIjogIlJlY3QiLAotICAgICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAi
bWVtYmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRy
aWJ1dGUiLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaW5oZXJpdCI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICJyZWFkb25seSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJp
ZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIs
Ci0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAg
ICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJQb2ludCIsCi0gICAgICAgICAgICAg
ICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAg
ICAibmFtZSI6ICJ0b3BsZWZ0IiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAidG9w
bGVmdCIsCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0g
ICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAgICAg
ICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVy
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAicmVhZG9ubHkiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAg
ICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlLXR5cGUiLAotICAgICAgICAgICAg
ICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAgICAgImlkbFR5cGUiOiAiUG9pbnQiLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0
cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiYm90
dG9tcmlnaHQiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJib3R0b21yaWdodCIs
Ci0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0KLSAgICAgICAg
XSwKLSAgICAgICAgImluaGVyaXRhbmNlIjogbnVsbCwKLSAgICAgICAgImV4dEF0dHJzIjogW10K
LSAgICB9LAotICAgIHsKLSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5h
bWUiOiAiV2lkZ2V0IiwKLSAgICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJl
cnMiOiBbCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRl
IiwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0
cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAicmVhZG9ubHkiOiB0cnVlLAotICAgICAgICAgICAgICAgICJpZGxUeXBl
IjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAg
ICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51
bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJSZWN0IiwKLSAgICAgICAgICAgICAgICAgICAg
ImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1l
IjogImJvdW5kcyIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImJvdW5kcyIsCi0g
ICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAg
ICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAib3BlcmF0aW9uIiwKLSAgICAgICAgICAgICAg
ICAiZ2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInNldHRlciI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICJkZWxldGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJyZXR1cm4t
dHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAg
ICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJib29sZWFuIiwKLSAgICAg
ICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAg
ICAgICAgICAgICJuYW1lIjogInBvaW50V2l0aGluQm91bmRzIiwKLSAgICAgICAgICAgICAgICAi
ZXNjYXBlZE5hbWUiOiAicG9pbnRXaXRoaW5Cb3VuZHMiLAotICAgICAgICAgICAgICAgICJhcmd1
bWVudHMiOiBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJvcHRpb25hbCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgInZhcmlhZGljIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdCI6IG51bGwsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImFyZ3Vt
ZW50LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAiaWRsVHlwZSI6ICJQb2ludCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAg
ICAgICAgICAgICAibmFtZSI6ICJwIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJlc2NhcGVk
TmFtZSI6ICJwIgotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXSwKLSAg
ICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAg
IHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJvcGVyYXRpb24iLAotICAgICAgICAgICAgICAg
ICJnZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic2V0dGVyIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgImRlbGV0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RhdGljIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInJldHVybi10
eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAg
ICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogImJvb2xlYW4iLAotICAgICAg
ICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAg
ICAgICAgICAgIm5hbWUiOiAiYWxsUG9pbnRzV2l0aGluQm91bmRzIiwKLSAgICAgICAgICAgICAg
ICAiZXNjYXBlZE5hbWUiOiAiYWxsUG9pbnRzV2l0aGluQm91bmRzIiwKLSAgICAgICAgICAgICAg
ICAiYXJndW1lbnRzIjogWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICAib3B0aW9uYWwiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ2YXJp
YWRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHQiOiBudWxsLAot
ICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10sCi0gICAgICAgICAgICAgICAg
ICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6
ICJhcmd1bWVudC10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6
IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiUG9pbnRTZXF1ZW5jZSIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgICAgIH0s
Ci0gICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJwcyIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAiZXNjYXBlZE5hbWUiOiAicHMiCi0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAg
ICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAg
ICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJpbmhlcml0YW5jZSI6IG51bGwsCi0gICAgICAgICJl
eHRBdHRycyI6IFtdCi0gICAgfSwKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogInR5cGVkZWYiLAot
ICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICJ0eXBlIjogInR5cGVkZWYtdHlwZSIs
Ci0gICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAibnVsbGFibGUiOiBm
YWxzZSwKLSAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgImlkbFR5cGUi
OiAib2N0ZXQiLAotICAgICAgICAgICAgImV4dEF0dHJzIjogWwotICAgICAgICAgICAgICAgIHsK
LSAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAiQ2xhbXAiLAotICAgICAgICAgICAgICAgICAg
ICAiYXJndW1lbnRzIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiZXh0ZW5k
ZWQtYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAgICAgInJocyI6IG51bGwKLSAgICAgICAg
ICAgICAgICB9Ci0gICAgICAgICAgICBdCi0gICAgICAgIH0sCi0gICAgICAgICJuYW1lIjogInZh
bHVlIiwKLSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9Ci1dCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvc3ludGF4L2pzb24vdHlwZXN1ZmZpeGVzLmpzb24gYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pz
b24vdHlwZXN1ZmZpeGVzLmpzb24KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDUyODcw
YzIyZjRiNDc2MTZlMmRmMTVkNjI3NTJmOTUwZDAzZTBiMDcuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL3R5cGVzdWZm
aXhlcy5qc29uCisrKyAvZGV2L251bGwKQEAgLTEsNTUgKzAsMCBAQAotWwotICAgIHsKLSAgICAg
ICAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUiOiAiU3VmZml4ZXMiLAotICAg
ICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFsKLSAgICAgICAgICAg
IHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJvcGVyYXRpb24iLAotICAgICAgICAgICAgICAg
ICJnZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic2V0dGVyIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgImRlbGV0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RhdGljIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInJldHVybi10
eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAg
ICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogInZvaWQiLAotICAgICAgICAg
ICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAg
ICAgICAgIm5hbWUiOiAidGVzdCIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogInRl
c3QiLAotICAgICAgICAgICAgICAgICJhcmd1bWVudHMiOiBbCi0gICAgICAgICAgICAgICAgICAg
IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJvcHRpb25hbCI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgInZhcmlhZGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAiZGVmYXVsdCI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBb
XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJ0eXBlIjogImFyZ3VtZW50LXR5cGUiLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJnZW5lcmljIjogInNlcXVlbmNlIiwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAibnVsbGFibGUiOiB0cnVlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlv
biI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiB0cnVlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgImlkbFR5cGUiOiAiRE9NU3RyaW5nIiwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAg
ICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAiZm9vIiwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJmb28iCi0gICAgICAgICAgICAg
ICAgICAgIH0KLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6
IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJpbmhlcml0YW5jZSI6IG51
bGwsCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgfQotXQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3N5bnRheC9qc29uL3VuaW9udHlwZS5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL3Vu
aW9udHlwZS5qc29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5MGViMDc0ZWYzYTBh
NzE5ZTllY2Q1ZjY3YjQ3Y2Q1MmI2ODJmMDk0Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi91bmlvbnR5cGUuanNvbgor
KysgL2Rldi9udWxsCkBAIC0xLDEzMCArMCwwIEBACi1bCi0gICAgewotICAgICAgICAidHlwZSI6
ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFtZSI6ICJVbmlvbiIsCi0gICAgICAgICJwYXJ0aWFs
IjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJzIjogWwotICAgICAgICAgICAgewotICAgICAgICAg
ICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICJpbmhlcml0IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5IjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBl
IjogImF0dHJpYnV0ZS10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxs
LAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAgICAgInVuaW9uIjogdHJ1ZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiBbCi0g
ICAgICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5
cGUiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAiaWRsVHlwZSI6ICJmbG9hdCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAg
ICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiBudWxsLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAidW5pb24iOiB0cnVlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxU
eXBlIjogWwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgImlkbFR5cGUiOiAiRGF0ZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAidHlwZSI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgImlkbFR5cGUiOiAiRXZlbnQiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAg
ICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiBudWxsLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiB0cnVlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICJ1bmlvbiI6IHRydWUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5
cGUiOiBbCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAiaWRsVHlwZSI6ICJOb2RlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0s
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICJ0eXBlIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAiaWRsVHlwZSI6ICJET01TdHJpbmciLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAg
ICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAg
ICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogInRlc3QiLAotICAgICAgICAgICAg
ICAgICJlc2NhcGVkTmFtZSI6ICJ0ZXN0IiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBb
XQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6
ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaW5oZXJpdCI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICJyZWFkb25seSI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUt
dHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAg
ICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6
IHRydWUsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogWwotICAgICAgICAgICAgICAg
ICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogbnVsbCwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5
cGUiOiAibG9uZyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogWwot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAibmFtZSI6ICJFbmZvcmNlUmFuZ2UiLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgImFyZ3VtZW50cyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAidHlwZSI6ICJleHRlbmRlZC1hdHRyaWJ1dGUiLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgInJocyI6IG51bGwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0KLSAgICAgICAg
ICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgInR5cGUiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFi
bGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJEYXRlIiwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAg
ICAgfQotICAgICAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0
cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAidGVz
dDIiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJ0ZXN0MiIsCi0gICAgICAgICAg
ICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAg
ImluaGVyaXRhbmNlIjogbnVsbCwKLSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9Ci1dCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vdmFyaWFkaWMtb3BlcmF0aW9ucy5qc29u
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL3ZhcmlhZGljLW9wZXJhdGlvbnMuanNvbgpkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzI4MGI3YjZhNzhhOTQxOWUwMDhlZmVlNDZjMGY3ZTVk
YzJiNWJhYy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3Qvc3ludGF4L2pzb24vdmFyaWFkaWMtb3BlcmF0aW9ucy5qc29uCisrKyAvZGV2L251
bGwKQEAgLTEsMTAzICswLDAgQEAKLVsKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImludGVyZmFj
ZSIsCi0gICAgICAgICJuYW1lIjogIkludGVnZXJTZXQiLAotICAgICAgICAicGFydGlhbCI6IGZh
bHNlLAotICAgICAgICAibWVtYmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAg
ICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAi
aW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJyZWFkb25seSI6IHRydWUsCi0gICAg
ICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImF0
dHJpYnV0ZS10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAg
ICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAg
InVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogInVuc2lnbmVk
IGxvbmciLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAg
ICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiY2FyZGluYWxpdHkiLAotICAgICAgICAg
ICAgICAgICJlc2NhcGVkTmFtZSI6ICJjYXJkaW5hbGl0eSIsCi0gICAgICAgICAgICAgICAgImV4
dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAg
ICAgInR5cGUiOiAib3BlcmF0aW9uIiwKLSAgICAgICAgICAgICAgICAiZ2V0dGVyIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgInNldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJkZWxl
dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjog
ewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAgICAgICAg
ICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxl
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICAgICAiaWRsVHlwZSI6ICJ2b2lkIiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0
dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogInVu
aW9uIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAidW5pb24iLAotICAgICAgICAg
ICAgICAgICJhcmd1bWVudHMiOiBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJvcHRpb25hbCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAg
InZhcmlhZGljIjogdHJ1ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0IjogbnVs
bCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdLAotICAgICAgICAgICAg
ICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5
cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVy
aWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogImxvbmciLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgICAgICAgICB9LAotICAg
ICAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAiaW50cyIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAiZXNjYXBlZE5hbWUiOiAiaW50cyIKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAg
ICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAg
IH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAib3BlcmF0aW9uIiwK
LSAgICAgICAgICAgICAgICAiZ2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInNldHRl
ciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJkZWxldGVyIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAi
dHlwZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVs
bCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJ2
b2lkIiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAg
ICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogImludGVyc2VjdGlvbiIsCi0gICAgICAgICAg
ICAgICAgImVzY2FwZWROYW1lIjogImludGVyc2VjdGlvbiIsCi0gICAgICAgICAgICAgICAgImFy
Z3VtZW50cyI6IFsKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAg
ICAgIm9wdGlvbmFsIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAidmFyaWFkaWMi
OiB0cnVlLAotICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHQiOiBudWxsLAotICAgICAg
ICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10sCi0gICAgICAgICAgICAgICAgICAgICAg
ICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1
bWVudC10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGws
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgImlkbFR5cGUiOiAibG9uZyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAg
ICAgICAgICAgICAibmFtZSI6ICJpbnRzIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJlc2Nh
cGVkTmFtZSI6ICJpbnRzIgotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAg
XSwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfQotICAgICAg
ICBdLAotICAgICAgICAiaW5oZXJpdGFuY2UiOiBudWxsLAotICAgICAgICAiZXh0QXR0cnMiOiBb
XQotICAgIH0KLV0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi93M2MtaW1wb3J0
LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi93M2MtaW1wb3J0LmxvZwpkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMGUyOWZlNzgzODhlNjAzODcyNWYxZDE4MDJmNmI1NjcwNjg1ZTA1
OC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvc3ludGF4L2pzb24vdzNjLWltcG9ydC5sb2cKKysrIC9kZXYvbnVsbApAQCAtMSw3MCArMCww
IEBACi1UaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBX
M0MgcmVwb3NpdG9yeS4KLURvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2Vi
S2l0LgotSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgot
CWh0dHBzOi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0Ci0KLVRoZW4gcnVuIHRo
ZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0Ci0K
LURvIE5PVCBtb2RpZnkgb3IgcmVtb3ZlIHRoaXMgZmlsZS4KLQotLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1Q
cm9wZXJ0aWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6Ci1Ob25lCi1Qcm9wZXJ0eSB2YWx1
ZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKLU5vbmUKLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotTGlz
dCBvZiBmaWxlczoKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vYWxsb3dhbnkuanNvbgotL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC9zeW50YXgvanNvbi9hdHRyaWJ1dGVzLmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24v
Y2FsbGJhY2suanNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9jb25zdGFudHMuanNvbgotL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC9zeW50YXgvanNvbi9jb25zdHJ1Y3Rvci5qc29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9q
c29uL2RpY3Rpb25hcnktaW5oZXJpdHMuanNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9kaWN0
aW9uYXJ5Lmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vZG9jdW1lbnRhdGlvbi1kb3MuanNv
bgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9kb2N1bWVudGF0aW9uLmpzb24KLS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
c3ludGF4L2pzb24vZW51bS5qc29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2VxdWl2YWxlbnQt
ZGVjbC5qc29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2V4Y2VwdGlvbi1pbmhlcml0YW5jZS5q
c29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2V4dGVuZGVkLWF0dHJpYnV0ZXMuanNvbgotL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC9zeW50YXgvanNvbi9nZW5lcmljLmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24v
Z2V0dGVyLXNldHRlci5qc29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2lkZW50aWZpZXItcXVh
bGlmaWVkLW5hbWVzLmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vaW1wbGVtZW50cy5qc29u
Ci0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2luZGV4ZWQtcHJvcGVydGllcy5qc29uCi0vTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3N5bnRheC9qc29uL2luaGVyaXRzLWdldHRlci5qc29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9q
c29uL2ludGVyZmFjZS1pbmhlcml0cy5qc29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2l0ZXJh
YmxlLmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vaXRlcmF0b3IuanNvbgotL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC9zeW50YXgvanNvbi9sZWdhY3lpdGVyYWJsZS5qc29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29u
L21hcGxpa2UuanNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9taXhpbi5qc29uCi0vTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3N5bnRheC9qc29uL25hbWVkY29uc3RydWN0b3IuanNvbgotL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgv
anNvbi9uYW1lc3BhY2UuanNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9ub2ludGVyZmFjZW9i
amVjdC5qc29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL251bGxhYmxlLmpzb24KLS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvc3ludGF4L2pzb24vbnVsbGFibGVvYmplY3RzLmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pz
b24vb3BlcmF0aW9uLW9wdGlvbmFsLWFyZy5qc29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL292
ZXJsb2FkaW5nLmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vb3ZlcnJpZGVidWlsdGlucy5q
c29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL3BhcnRpYWwtaW50ZXJmYWNlLmpzb24KLS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvc3ludGF4L2pzb24vcHJpbWl0aXZlcy5qc29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29u
L3Byb21pc2Utdm9pZC5qc29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL3Byb3RvdHlwZXJvb3Qu
anNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9wdXRmb3J3YXJkcy5qc29uCi0vTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3N5bnRheC9qc29uL3JlY29yZC5qc29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL3JlZy1vcGVy
YXRpb25zLmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vcmVwbGFjZWFibGUuanNvbgotL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC9zeW50YXgvanNvbi9zZXF1ZW5jZS5qc29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29u
L3NldGxpa2UuanNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9zdGF0aWMuanNvbgotL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC9zeW50YXgvanNvbi9zdHJpbmdpZmllci1hdHRyaWJ1dGUuanNvbgotL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9z
eW50YXgvanNvbi9zdHJpbmdpZmllci1jdXN0b20uanNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNv
bi9zdHJpbmdpZmllci5qc29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL3RyZWF0YXNudWxsLmpz
b24KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vdHJlYXRhc3VuZGVmaW5lZC5qc29uCi0vTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3N5bnRheC9qc29uL3R5cGVkZWYtdW5pb24uanNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNv
bi90eXBlZGVmLmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vdHlwZXN1ZmZpeGVzLmpzb24K
LS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vdW5pb250eXBlLmpzb24KLS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4
L2pzb24vdmFyaWFkaWMtb3BlcmF0aW9ucy5qc29uCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3lu
dGF4L29wdC90eXBlZGVmLW5lc3RlZC5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9vcHQvdHlwZWRl
Zi1uZXN0ZWQuanNvbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjA3OTRlNzRlMDdl
YjFjYWIxYTZmMmE3NTllNTA1NjJlMjlmZDhiMi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L29wdC90eXBlZGVmLW5lc3RlZC5q
c29uCisrKyAvZGV2L251bGwKQEAgLTEsMyArMCwwIEBACi17Ci0gICAgImFsbG93TmVzdGVkVHlw
ZWRlZnMiOiB0cnVlCi19ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3N5bnRheC9vcHQvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L29w
dC93M2MtaW1wb3J0LmxvZwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMmU4MTEyM2Iw
N2NhNzU3NWYyMWFkMjczMzdkMTQ4NDVhNzE3YWM4ZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L29wdC93M2MtaW1wb3J0Lmxv
ZworKysgL2Rldi9udWxsCkBAIC0xLDE3ICswLDAgQEAKLVRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVj
dG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgotRG8gTk9UIG1vZGlm
eSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBwdWxs
IHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMKLQotVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10
ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKLQotRG8gTk9UIG1vZGlmeSBvciByZW1vdmUgdGhp
cyBmaWxlLgotCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLVByb3BlcnRpZXMgcmVxdWlyaW5nIHZlbmRvciBw
cmVmaXhlczoKLU5vbmUKLVByb3BlcnR5IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVz
OgotTm9uZQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1MaXN0IG9mIGZpbGVzOgotL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50
YXgvb3B0L3R5cGVkZWYtbmVzdGVkLmpzb24KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC91dGlsL2Fj
cXVpcmUuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3QvdXRpbC9hY3F1aXJlLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCA2ZjM3ZGQ2MDgzYzNjNzVkZmU1NjE3MjdlOWE4NDM0NjVlM2NmYTZjLi4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC91dGls
L2FjcXVpcmUuanMKKysrIC9kZXYvbnVsbApAQCAtMSw4ICswLDAgQEAKLSJ1c2Ugc3RyaWN0IjsK
LQotY29uc3QgeyBjb2xsZWN0IH0gPSByZXF1aXJlKCIuL2NvbGxlY3QiKTsKLWNvbnN0IGZzID0g
cmVxdWlyZSgiZnMiKTsKLQotZm9yIChjb25zdCB0ZXN0IG9mIGNvbGxlY3QoInN5bnRheCIpKSB7
Ci0gIGZzLndyaXRlRmlsZVN5bmModGVzdC5qc29uUGF0aCwgYCR7SlNPTi5zdHJpbmdpZnkodGVz
dC5hc3QsIG51bGwsIDQpfVxuYCkKLX0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC91dGlsL2NvbGxl
Y3QuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3QvdXRpbC9jb2xsZWN0LmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCA3ZTNkOWQzYmYzMTI2NzU3OGMwY2UyMDQ2ZWVjM2Y1MjQ1YzU3M2RjLi4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC91dGlsL2Nv
bGxlY3QuanMKKysrIC9kZXYvbnVsbApAQCAtMSw1OSArMCwwIEBACi0idXNlIHN0cmljdCI7Ci0K
LWNvbnN0IHdwID0gcmVxdWlyZSgiLi4vLi4vbGliL3dlYmlkbDIiKTsKLWNvbnN0IHB0aCA9IHJl
cXVpcmUoInBhdGgiKTsKLWNvbnN0IGZzID0gcmVxdWlyZSgiZnMiKTsKLWNvbnN0IGpkcCA9IHJl
cXVpcmUoImpzb25kaWZmcGF0Y2giKTsKLQotLyoqCi0gKiBDb2xsZWN0cyB0ZXN0IGl0ZW1zIGZy
b20gdGhlIHNwZWNpZmllZCBkaXJlY3RvcnkKLSAqIEBwYXJhbSB7c3RyaW5nfSBiYXNlCi0gKi8K
LWZ1bmN0aW9uKiBjb2xsZWN0KGJhc2UsIHsgZXhwZWN0RXJyb3IgfSA9IHt9KSB7Ci0gIGJhc2Ug
PSBwdGguam9pbihfX2Rpcm5hbWUsICIuLiIsIGJhc2UpOwotICBjb25zdCBkaXIgPSBwdGguam9p
bihiYXNlLCAiaWRsIik7Ci0gIGNvbnN0IGlkbHMgPSBmcy5yZWFkZGlyU3luYyhkaXIpCi0gICAg
LmZpbHRlcihpdCA9PiAoL1wud2lkbCQvKS50ZXN0KGl0KSkKLSAgICAubWFwKGl0ID0+IHB0aC5q
b2luKGRpciwgaXQpKTsKLQotICBmb3IgKGNvbnN0IHBhdGggb2YgaWRscykgewotICAgIGNvbnN0
IG9wdEZpbGUgPSBwdGguam9pbihiYXNlLCAib3B0IiwgcHRoLmJhc2VuYW1lKHBhdGgpKS5yZXBs
YWNlKCIud2lkbCIsICIuanNvbiIpOwotICAgIGxldCBvcHQ7Ci0gICAgaWYgKGZzLmV4aXN0c1N5
bmMob3B0RmlsZSkpCi0gICAgICBvcHQgPSBKU09OLnBhcnNlKGZzLnJlYWRGaWxlU3luYyhvcHRG
aWxlLCAidXRmOCIpKTsKLQotICAgIHRyeSB7Ci0gICAgICBjb25zdCBhc3QgPSB3cC5wYXJzZShm
cy5yZWFkRmlsZVN5bmMocGF0aCwgInV0ZjgiKS5yZXBsYWNlKC9cclxuL2csICJcbiIpLCBvcHQp
OwotICAgICAgeWllbGQgbmV3IFRlc3RJdGVtKHsgYXN0LCBwYXRoLCBvcHQgfSk7Ci0gICAgfQot
ICAgIGNhdGNoIChlcnJvcikgewotICAgICAgaWYgKGV4cGVjdEVycm9yKSB7Ci0gICAgICAgIHlp
ZWxkIG5ldyBUZXN0SXRlbSh7IHBhdGgsIGVycm9yIH0pOwotICAgICAgfQotICAgICAgZWxzZSB7
Ci0gICAgICAgIHRocm93IGVycm9yOwotICAgICAgfQotICAgIH0KLSAgfQotfTsKLQotCi1jbGFz
cyBUZXN0SXRlbSB7Ci0gIGNvbnN0cnVjdG9yKHsgYXN0LCBwYXRoLCBlcnJvciwgb3B0IH0pIHsK
LSAgICB0aGlzLmFzdCA9IGFzdDsKLSAgICB0aGlzLnBhdGggPSBwYXRoOwotICAgIHRoaXMuZXJy
b3IgPSBlcnJvcjsKLSAgICB0aGlzLm9wdCA9IG9wdDsKLSAgICB0aGlzLmpzb25QYXRoID0gcHRo
LmpvaW4ocHRoLmRpcm5hbWUocGF0aCksICIuLi9qc29uIiwgcHRoLmJhc2VuYW1lKHBhdGgpLnJl
cGxhY2UoIi53aWRsIiwgIi5qc29uIikpOwotICB9Ci0KLSAgcmVhZEpTT04oKSB7Ci0gICAgcmV0
dXJuIEpTT04ucGFyc2UoZnMucmVhZEZpbGVTeW5jKHRoaXMuanNvblBhdGgsICJ1dGY4IikpOwot
ICB9Ci0KLSAgZGlmZih0YXJnZXQgPSB0aGlzLnJlYWRKU09OKCkpIHsKLSAgICByZXR1cm4gamRw
LmRpZmYodGFyZ2V0LCB0aGlzLmFzdCk7Ci0gIH0KLX0KLQotbW9kdWxlLmV4cG9ydHMuY29sbGVj
dCA9IGNvbGxlY3Q7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvdXRpbC93M2MtaW1wb3J0LmxvZyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC91dGlsL3czYy1pbXBvcnQubG9nCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCA4YTViZDRkMDdhN2FmMGJmMzFkMmU5NjMwZDY5MTY3OTRhMmQ3MGFjLi4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC91dGlsL3czYy1p
bXBvcnQubG9nCisrKyAvZGV2L251bGwKQEAgLTEsMTggKzAsMCBAQAotVGhlIHRlc3RzIGluIHRo
aXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCi1EbyBO
T1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQsIGNyZWF0
ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20v
d2ViLXBsYXRmb3JtLXRlc3RzL3dwdAotCi1UaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBv
cnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydAotCi1EbyBOT1QgbW9kaWZ5IG9yIHJl
bW92ZSB0aGlzIGZpbGUuCi0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotUHJvcGVydGllcyByZXF1aXJpbmcg
dmVuZG9yIHByZWZpeGVzOgotTm9uZQotUHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3Ig
cHJlZml4ZXM6Ci1Ob25lCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLUxpc3Qgb2YgZmlsZXM6Ci0vTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3V0aWwvYWNxdWlyZS5qcwotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC91dGlsL2NvbGxlY3QuanMKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93M2MtaW1wb3J0LmxvZwpk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDdiN2NiOWZlNTYzMDcwMzgxNzExNzY4ZjE5
ODM2MDAzYzI5NDJmNS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3QvdzNjLWltcG9ydC5sb2cKKysrIC9kZXYvbnVsbApAQCAtMSwyMCArMCww
IEBACi1UaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBX
M0MgcmVwb3NpdG9yeS4KLURvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2Vi
S2l0LgotSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgot
CWh0dHBzOi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0Ci0KLVRoZW4gcnVuIHRo
ZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0Ci0K
LURvIE5PVCBtb2RpZnkgb3IgcmVtb3ZlIHRoaXMgZmlsZS4KLQotLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1Q
cm9wZXJ0aWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6Ci1Ob25lCi1Qcm9wZXJ0eSB2YWx1
ZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKLU5vbmUKLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotTGlz
dCBvZiBmaWxlczoKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC5qcwotL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9tb2NoYS5vcHRz
Ci0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3N5bnRheC5qcwotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93cml0ZXIuanMKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC93ZWIvbWFrZS13ZWItdGVzdHMuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2ViL21ha2Utd2Vi
LXRlc3RzLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxNzc0ODA2OTk0ZTBhNzQ2
MjRmZDE5NDY5YTg2Y2NmMjE4Mjg4NjJmLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93ZWIvbWFrZS13ZWItdGVzdHMuanMKKysrIC9kZXYv
bnVsbApAQCAtMSw1MiArMCwwIEBACi0KLS8vIGdlbmVyYXRlcyB0ZXN0cyB0aGF0IHdvcmsgaW4g
YSBicm93c2VyCi0KLS8vIFhYWAotLy8gIGhhdmUgaXQgcnVuIHRocm91Z2ggdmFsaWQgYW5kIGlu
dmFsaWQgcHJvcGVybHkKLQotdmFyIHB0aCA9IHJlcXVpcmUoInBhdGgiKQotLCAgIGZzID0gcmVx
dWlyZSgiZnMiKQotLCAgIGRpciA9IGZ1bmN0aW9uIChwYXRoKSB7Ci0gICAgICAgIHJldHVybiBw
dGguam9pbihfX2Rpcm5hbWUsICIuLiIsIHBhdGgpOwotICAgIH0KLSwgICBhbGxGcm9tRGlyID0g
ZnVuY3Rpb24gKGRpciwgZXh0LCBhc0pTT04pIHsKLSAgICAgICAgcmV0dXJuIGZzLnJlYWRkaXJT
eW5jKGRpcikKLSAgICAgICAgICAgICAgICAgLmZpbHRlcihmdW5jdGlvbiAoaXQpIHsgcmV0dXJu
IGV4dC50ZXN0KGl0KTsgfSkKLSAgICAgICAgICAgICAgICAgLm1hcChmdW5jdGlvbiAoaXQpIHsK
LSAgICAgICAgICAgICAgICAgICAgIHZhciBjbnQgPSBmcy5yZWFkRmlsZVN5bmMocHRoLmpvaW4o
ZGlyLCBpdCksICJ1dGY4Iik7Ci0gICAgICAgICAgICAgICAgICAgICByZXR1cm4gYXNKU09OID8g
SlNPTi5wYXJzZShjbnQpIDogY250OwotICAgICAgICAgICAgICAgICB9KTsKLSAgICB9Ci0sICAg
ZGF0YSA9IHsKLSAgICAgICAgdmFsaWQ6ICB7Ci0gICAgICAgICAgICBqc29uOiAgIGFsbEZyb21E
aXIoZGlyKCJzeW50YXgvanNvbiIpLCAvXC5qc29uJC8sIHRydWUpCi0gICAgICAgICwgICBpZGw6
ICAgIGFsbEZyb21EaXIoZGlyKCJzeW50YXgvaWRsIiksIC9cLnc/aWRsJC8sIGZhbHNlKQotICAg
ICAgICB9Ci0gICAgLCAgIGludmFsaWQ6ewotICAgICAgICAgICAganNvbjogICBhbGxGcm9tRGly
KGRpcigiaW52YWxpZC9qc29uIiksIC9cLmpzb24kLywgdHJ1ZSkKLSAgICAgICAgLCAgIGlkbDog
ICAgYWxsRnJvbURpcihkaXIoImludmFsaWQvaWRsIiksIC9cLnc/aWRsJC8sIGZhbHNlKQotICAg
ICAgICB9Ci0gICAgfQotLCAgIGh0bWwgPSBbCi0gICAgICAgICI8IURPQ1RZUEUgaHRtbD4iCi0g
ICAgLCAgICI8aHRtbD4iCi0gICAgLCAgICIgIDxoZWFkPjxtZXRhIGNoYXJzZXQ9J3V0Zi04Jyc+
PGxpbmsgcmVsPSdzdHlsZXNoZWV0JyBocmVmPScuLi8uLi9ub2RlX21vZHVsZXMvbW9jaGEvbW9j
aGEuY3NzJz4iCi0gICAgLCAgICIgICAgPHRpdGxlPldlYklETDIgQnJvd3NlciBUZXN0czwvdGl0
bGU+IgotICAgICwgICAiICAgIDxzY3JpcHQ+dmFyIGRhdGEgPSAiICsgSlNPTi5zdHJpbmdpZnko
ZGF0YSkgKyAiPC9zY3JpcHQ+IgotICAgICwgICAiICA8L2hlYWQ+IgotICAgICwgICAiICA8Ym9k
eT48ZGl2IGlkPSdtb2NoYSc+PC9kaXY+IgotICAgICwgICAiICA8c2NyaXB0IHNyYz0naHR0cHM6
Ly9hamF4Lmdvb2dsZWFwaXMuY29tL2FqYXgvbGlicy9qcXVlcnkvMS44LjMvanF1ZXJ5Lm1pbi5q
cyc+PC9zY3JpcHQ+IgotICAgICwgICAiICA8c2NyaXB0IHNyYz0nLi4vLi4vbm9kZV9tb2R1bGVz
L2V4cGVjdC91bWQvZXhwZWN0Lm1pbi5qcyc+PC9zY3JpcHQ+IgotICAgICwgICAiICA8c2NyaXB0
IHNyYz0nLi4vLi4vbm9kZV9tb2R1bGVzL2V4cGVjdC5qcy9pbmRleC5qcyc+PC9zY3JpcHQ+Igot
ICAgICwgICAiICA8c2NyaXB0IHNyYz0nLi4vLi4vbm9kZV9tb2R1bGVzL21vY2hhL21vY2hhLmpz
Jz48L3NjcmlwdD4iCi0gICAgLCAgICIgIDxzY3JpcHQgc3JjPScuLi8uLi9ub2RlX21vZHVsZXMv
anNvbmRpZmZwYXRjaC9wdWJsaWMvYnVpbGQvanNvbmRpZmZwYXRjaC5taW4uanMnPjwvc2NyaXB0
PiIKLSAgICAsICAgIiAgPHNjcmlwdCBzcmM9Jy4uLy4uL2xpYi93ZWJpZGwyLmpzJz48L3Njcmlw
dD4iCi0gICAgLCAgICIgIDxzY3JpcHQ+bW9jaGEuc2V0dXAoJ2JkZCcpOzwvc2NyaXB0PiIKLSAg
ICAsICAgIiAgPHNjcmlwdCBzcmM9J3J1bi10ZXN0cy5qcyc+PC9zY3JpcHQ+IgotICAgICwgICAi
ICA8c2NyaXB0Pm1vY2hhLnJ1bigpOzwvc2NyaXB0PiIKLSAgICAsICAgIiAgPC9ib2R5PiIKLSAg
ICAsICAgIjwvaHRtbD4iCi0gICAgXS5qb2luKCJcbiIpCi07Ci0KLWZzLndyaXRlRmlsZVN5bmMo
ImJyb3dzZXItdGVzdHMuaHRtbCIsIGh0bWwsICJ1dGY4Iik7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvd2ViL3J1bi10ZXN0cy5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93ZWIvcnVuLXRlc3RzLmpzCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0NTJmNzk5YjJhNmYwMzRhN2Q1ZjI0Y2ViOTMyOWU4NWIz
NDBiZWUxLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC93ZWIvcnVuLXRlc3RzLmpzCisrKyAvZGV2L251bGwKQEAgLTEsNDggKzAsMCBAQAot
Ci1kZXNjcmliZSgiUGFyc2VzIGFsbCBvZiB0aGUgSURMcyB0byBwcm9kdWNlIHRoZSBjb3JyZWN0
IEFTVHMiLCBmdW5jdGlvbiAoKSB7Ci0gICAgZm9yICh2YXIgaSA9IDAsIG4gPSBkYXRhLnZhbGlk
LmlkbC5sZW5ndGg7IGkgPCBuOyBpKyspIHsKLSAgICAgICAgdmFyIGlkbCA9IGRhdGEudmFsaWQu
aWRsW2ldLCBqc29uID0gZGF0YS52YWxpZC5qc29uW2ldOwotICAgICAgICB2YXIgZnVuYyA9IChm
dW5jdGlvbiAoaWRsLCBqc29uKSB7Ci0gICAgICAgICAgICByZXR1cm4gZnVuY3Rpb24gKCkgewot
ICAgICAgICAgICAgICAgIHRyeSB7Ci0gICAgICAgICAgICAgICAgICAgIC8vIHRoZSBBU1QgY29u
dGFpbnMgTmFOIGFuZCArLy1JbmZpbml0eSB0aGF0IGNhbm5vdCBiZSBzZXJpYWxpc2VkIHRvIEpT
T04KLSAgICAgICAgICAgICAgICAgICAgLy8gdGhlIHN0b3JlZCBKU09OIEFTVHMgdXNlIHRoZSBz
YW1lIHJlcGxhY2VtZW50IGZ1bmN0aW9uIGFzIGlzIHVzZWQgYmVsb3cKLSAgICAgICAgICAgICAg
ICAgICAgLy8gc28gd2UgY29tcGFyZSBiYXNlZCBvbiB0aGF0Ci0gICAgICAgICAgICAgICAgICAg
IHZhciBkaWZmID0ganNvbmRpZmZwYXRjaC5kaWZmKGpzb24sIFdlYklETDIucGFyc2UoaWRsKSk7
Ci0gICAgICAgICAgICAgICAgICAgIGlmIChkaWZmICYmIGRlYnVnKSBjb25zb2xlLmxvZyhKU09O
LnN0cmluZ2lmeShkaWZmLCBudWxsLCA0KSk7Ci0gICAgICAgICAgICAgICAgICAgIGV4cGVjdChk
aWZmKS50b0JlKHVuZGVmaW5lZCk7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAg
IGNhdGNoIChlKSB7Ci0gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGUudG9TdHJpbmco
KSk7Ci0gICAgICAgICAgICAgICAgICAgIHRocm93IGU7Ci0gICAgICAgICAgICAgICAgfQotICAg
ICAgICAgICAgfTsKLSAgICAgICAgfShpZGwsIGpzb24pKTsKLSAgICAgICAgaXQoInNob3VsZCBw
cm9kdWNlIHRoZSBzYW1lIEFTVCBmb3IgIiArIGksIGZ1bmMpOwotICAgIH0KLX0pOwotCi1kZXNj
cmliZSgiUGFyc2VzIGFsbCBvZiB0aGUgaW52YWxpZCBJRExzIHRvIGNoZWNrIHRoYXQgdGhleSBi
bG93IHVwIGNvcnJlY3RseSIsIGZ1bmN0aW9uICgpIHsKLSAgICBmb3IgKHZhciBpID0gMCwgbiA9
IGRhdGEuaW52YWxpZC5pZGwubGVuZ3RoOyBpIDwgbjsgaSsrKSB7Ci0gICAgICAgIHZhciBpZGwg
PSBkYXRhLmludmFsaWQuaWRsW2ldLCBlcnJvciA9IGRhdGEuaW52YWxpZC5qc29uW2ldOwotICAg
ICAgICB2YXIgZnVuYyA9IChmdW5jdGlvbiAoaWRsLCBlcnIpIHsKLSAgICAgICAgICAgIHJldHVy
biBmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAgICAgICAgdmFyIGVycm9yOwotICAgICAgICAgICAg
ICAgIHRyeSB7Ci0gICAgICAgICAgICAgICAgICAgIHZhciBhc3QgPSBXZWJJREwyLnBhcnNlKGlk
bCk7Ci0gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKEpTT04uc3RyaW5naWZ5KGFzdCwg
bnVsbCwgNCkpOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBjYXRjaCAoZSkg
ewotICAgICAgICAgICAgICAgICAgICBlcnJvciA9IGU7Ci0gICAgICAgICAgICAgICAgfQotICAg
ICAgICAgICAgICAgIGZpbmFsbHkgewotICAgICAgICAgICAgICAgICAgICBleHBlY3QoZXJyb3Ip
LnRvRXhpc3QoKTsKLSAgICAgICAgICAgICAgICAgICAgZXhwZWN0KGVycm9yLm1lc3NhZ2UpLnRv
RXF1YWwoZXJyLm1lc3NhZ2UpOwotICAgICAgICAgICAgICAgICAgICBleHBlY3QoZXJyb3IubGlu
ZSkudG9FcXVhbChlcnIubGluZSk7Ci0gICAgICAgICAgICAgICAgfQotCi0gICAgICAgICAgICB9
OwotICAgICAgICB9KGlkbCwgZXJyb3IpKTsKLSAgICAgICAgaXQoInNob3VsZCBwcm9kdWNlIHRo
ZSByaWdodCBlcnJvciBmb3IgIiArIGksIGZ1bmMpOwotICAgIH0KLX0pOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3dlYi93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93ZWIvdzNjLWltcG9ydC5s
b2cKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ0YmRiOWZiNTQ1NGQxZDA0MDE3Nzll
ZWQyNjM0OWVkMzA1ZmJkNmUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L3dlYi93M2MtaW1wb3J0LmxvZworKysgL2Rldi9udWxsCkBAIC0x
LDE4ICswLDAgQEAKLVRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZy
b20gdGhlIFczQyByZXBvc2l0b3J5LgotRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3Rs
eSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBn
aXRodWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQKLQotVGhl
biBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVp
bXBvcnQKLQotRG8gTk9UIG1vZGlmeSBvciByZW1vdmUgdGhpcyBmaWxlLgotCi0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0KLVByb3BlcnRpZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKLU5vbmUKLVByb3Bl
cnR5IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgotTm9uZQotLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tCi1MaXN0IG9mIGZpbGVzOgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93ZWIvbWFrZS13ZWItdGVzdHMuanMKLS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3Qvd2ViL3J1bi10ZXN0cy5qcwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9j
L0xJQ0VOU0UgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvTElDRU5TRQpkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggZDY0NTY5NTY3MzM0OWUzOTQ3ZThlNWFlNDIzMzJkMGFjMzE2NGNkNy4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lk
bHByb2MvTElDRU5TRQorKysgL2Rldi9udWxsCkBAIC0xLDIwMiArMCwwIEBACi0KLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIEFwYWNoZSBMaWNlbnNlCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICBWZXJzaW9uIDIuMCwgSmFudWFyeSAyMDA0Ci0gICAgICAgICAgICAgICAgICAg
ICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvCi0KLSAgIFRFUk1TIEFORCBDT05E
SVRJT05TIEZPUiBVU0UsIFJFUFJPRFVDVElPTiwgQU5EIERJU1RSSUJVVElPTgotCi0gICAxLiBE
ZWZpbml0aW9ucy4KLQotICAgICAgIkxpY2Vuc2UiIHNoYWxsIG1lYW4gdGhlIHRlcm1zIGFuZCBj
b25kaXRpb25zIGZvciB1c2UsIHJlcHJvZHVjdGlvbiwKLSAgICAgIGFuZCBkaXN0cmlidXRpb24g
YXMgZGVmaW5lZCBieSBTZWN0aW9ucyAxIHRocm91Z2ggOSBvZiB0aGlzIGRvY3VtZW50LgotCi0g
ICAgICAiTGljZW5zb3IiIHNoYWxsIG1lYW4gdGhlIGNvcHlyaWdodCBvd25lciBvciBlbnRpdHkg
YXV0aG9yaXplZCBieQotICAgICAgdGhlIGNvcHlyaWdodCBvd25lciB0aGF0IGlzIGdyYW50aW5n
IHRoZSBMaWNlbnNlLgotCi0gICAgICAiTGVnYWwgRW50aXR5IiBzaGFsbCBtZWFuIHRoZSB1bmlv
biBvZiB0aGUgYWN0aW5nIGVudGl0eSBhbmQgYWxsCi0gICAgICBvdGhlciBlbnRpdGllcyB0aGF0
IGNvbnRyb2wsIGFyZSBjb250cm9sbGVkIGJ5LCBvciBhcmUgdW5kZXIgY29tbW9uCi0gICAgICBj
b250cm9sIHdpdGggdGhhdCBlbnRpdHkuIEZvciB0aGUgcHVycG9zZXMgb2YgdGhpcyBkZWZpbml0
aW9uLAotICAgICAgImNvbnRyb2wiIG1lYW5zIChpKSB0aGUgcG93ZXIsIGRpcmVjdCBvciBpbmRp
cmVjdCwgdG8gY2F1c2UgdGhlCi0gICAgICBkaXJlY3Rpb24gb3IgbWFuYWdlbWVudCBvZiBzdWNo
IGVudGl0eSwgd2hldGhlciBieSBjb250cmFjdCBvcgotICAgICAgb3RoZXJ3aXNlLCBvciAoaWkp
IG93bmVyc2hpcCBvZiBmaWZ0eSBwZXJjZW50ICg1MCUpIG9yIG1vcmUgb2YgdGhlCi0gICAgICBv
dXRzdGFuZGluZyBzaGFyZXMsIG9yIChpaWkpIGJlbmVmaWNpYWwgb3duZXJzaGlwIG9mIHN1Y2gg
ZW50aXR5LgotCi0gICAgICAiWW91IiAob3IgIllvdXIiKSBzaGFsbCBtZWFuIGFuIGluZGl2aWR1
YWwgb3IgTGVnYWwgRW50aXR5Ci0gICAgICBleGVyY2lzaW5nIHBlcm1pc3Npb25zIGdyYW50ZWQg
YnkgdGhpcyBMaWNlbnNlLgotCi0gICAgICAiU291cmNlIiBmb3JtIHNoYWxsIG1lYW4gdGhlIHBy
ZWZlcnJlZCBmb3JtIGZvciBtYWtpbmcgbW9kaWZpY2F0aW9ucywKLSAgICAgIGluY2x1ZGluZyBi
dXQgbm90IGxpbWl0ZWQgdG8gc29mdHdhcmUgc291cmNlIGNvZGUsIGRvY3VtZW50YXRpb24KLSAg
ICAgIHNvdXJjZSwgYW5kIGNvbmZpZ3VyYXRpb24gZmlsZXMuCi0KLSAgICAgICJPYmplY3QiIGZv
cm0gc2hhbGwgbWVhbiBhbnkgZm9ybSByZXN1bHRpbmcgZnJvbSBtZWNoYW5pY2FsCi0gICAgICB0
cmFuc2Zvcm1hdGlvbiBvciB0cmFuc2xhdGlvbiBvZiBhIFNvdXJjZSBmb3JtLCBpbmNsdWRpbmcg
YnV0Ci0gICAgICBub3QgbGltaXRlZCB0byBjb21waWxlZCBvYmplY3QgY29kZSwgZ2VuZXJhdGVk
IGRvY3VtZW50YXRpb24sCi0gICAgICBhbmQgY29udmVyc2lvbnMgdG8gb3RoZXIgbWVkaWEgdHlw
ZXMuCi0KLSAgICAgICJXb3JrIiBzaGFsbCBtZWFuIHRoZSB3b3JrIG9mIGF1dGhvcnNoaXAsIHdo
ZXRoZXIgaW4gU291cmNlIG9yCi0gICAgICBPYmplY3QgZm9ybSwgbWFkZSBhdmFpbGFibGUgdW5k
ZXIgdGhlIExpY2Vuc2UsIGFzIGluZGljYXRlZCBieSBhCi0gICAgICBjb3B5cmlnaHQgbm90aWNl
IHRoYXQgaXMgaW5jbHVkZWQgaW4gb3IgYXR0YWNoZWQgdG8gdGhlIHdvcmsKLSAgICAgIChhbiBl
eGFtcGxlIGlzIHByb3ZpZGVkIGluIHRoZSBBcHBlbmRpeCBiZWxvdykuCi0KLSAgICAgICJEZXJp
dmF0aXZlIFdvcmtzIiBzaGFsbCBtZWFuIGFueSB3b3JrLCB3aGV0aGVyIGluIFNvdXJjZSBvciBP
YmplY3QKLSAgICAgIGZvcm0sIHRoYXQgaXMgYmFzZWQgb24gKG9yIGRlcml2ZWQgZnJvbSkgdGhl
IFdvcmsgYW5kIGZvciB3aGljaCB0aGUKLSAgICAgIGVkaXRvcmlhbCByZXZpc2lvbnMsIGFubm90
YXRpb25zLCBlbGFib3JhdGlvbnMsIG9yIG90aGVyIG1vZGlmaWNhdGlvbnMKLSAgICAgIHJlcHJl
c2VudCwgYXMgYSB3aG9sZSwgYW4gb3JpZ2luYWwgd29yayBvZiBhdXRob3JzaGlwLiBGb3IgdGhl
IHB1cnBvc2VzCi0gICAgICBvZiB0aGlzIExpY2Vuc2UsIERlcml2YXRpdmUgV29ya3Mgc2hhbGwg
bm90IGluY2x1ZGUgd29ya3MgdGhhdCByZW1haW4KLSAgICAgIHNlcGFyYWJsZSBmcm9tLCBvciBt
ZXJlbHkgbGluayAob3IgYmluZCBieSBuYW1lKSB0byB0aGUgaW50ZXJmYWNlcyBvZiwKLSAgICAg
IHRoZSBXb3JrIGFuZCBEZXJpdmF0aXZlIFdvcmtzIHRoZXJlb2YuCi0KLSAgICAgICJDb250cmli
dXRpb24iIHNoYWxsIG1lYW4gYW55IHdvcmsgb2YgYXV0aG9yc2hpcCwgaW5jbHVkaW5nCi0gICAg
ICB0aGUgb3JpZ2luYWwgdmVyc2lvbiBvZiB0aGUgV29yayBhbmQgYW55IG1vZGlmaWNhdGlvbnMg
b3IgYWRkaXRpb25zCi0gICAgICB0byB0aGF0IFdvcmsgb3IgRGVyaXZhdGl2ZSBXb3JrcyB0aGVy
ZW9mLCB0aGF0IGlzIGludGVudGlvbmFsbHkKLSAgICAgIHN1Ym1pdHRlZCB0byBMaWNlbnNvciBm
b3IgaW5jbHVzaW9uIGluIHRoZSBXb3JrIGJ5IHRoZSBjb3B5cmlnaHQgb3duZXIKLSAgICAgIG9y
IGJ5IGFuIGluZGl2aWR1YWwgb3IgTGVnYWwgRW50aXR5IGF1dGhvcml6ZWQgdG8gc3VibWl0IG9u
IGJlaGFsZiBvZgotICAgICAgdGhlIGNvcHlyaWdodCBvd25lci4gRm9yIHRoZSBwdXJwb3NlcyBv
ZiB0aGlzIGRlZmluaXRpb24sICJzdWJtaXR0ZWQiCi0gICAgICBtZWFucyBhbnkgZm9ybSBvZiBl
bGVjdHJvbmljLCB2ZXJiYWwsIG9yIHdyaXR0ZW4gY29tbXVuaWNhdGlvbiBzZW50Ci0gICAgICB0
byB0aGUgTGljZW5zb3Igb3IgaXRzIHJlcHJlc2VudGF0aXZlcywgaW5jbHVkaW5nIGJ1dCBub3Qg
bGltaXRlZCB0bwotICAgICAgY29tbXVuaWNhdGlvbiBvbiBlbGVjdHJvbmljIG1haWxpbmcgbGlz
dHMsIHNvdXJjZSBjb2RlIGNvbnRyb2wgc3lzdGVtcywKLSAgICAgIGFuZCBpc3N1ZSB0cmFja2lu
ZyBzeXN0ZW1zIHRoYXQgYXJlIG1hbmFnZWQgYnksIG9yIG9uIGJlaGFsZiBvZiwgdGhlCi0gICAg
ICBMaWNlbnNvciBmb3IgdGhlIHB1cnBvc2Ugb2YgZGlzY3Vzc2luZyBhbmQgaW1wcm92aW5nIHRo
ZSBXb3JrLCBidXQKLSAgICAgIGV4Y2x1ZGluZyBjb21tdW5pY2F0aW9uIHRoYXQgaXMgY29uc3Bp
Y3VvdXNseSBtYXJrZWQgb3Igb3RoZXJ3aXNlCi0gICAgICBkZXNpZ25hdGVkIGluIHdyaXRpbmcg
YnkgdGhlIGNvcHlyaWdodCBvd25lciBhcyAiTm90IGEgQ29udHJpYnV0aW9uLiIKLQotICAgICAg
IkNvbnRyaWJ1dG9yIiBzaGFsbCBtZWFuIExpY2Vuc29yIGFuZCBhbnkgaW5kaXZpZHVhbCBvciBM
ZWdhbCBFbnRpdHkKLSAgICAgIG9uIGJlaGFsZiBvZiB3aG9tIGEgQ29udHJpYnV0aW9uIGhhcyBi
ZWVuIHJlY2VpdmVkIGJ5IExpY2Vuc29yIGFuZAotICAgICAgc3Vic2VxdWVudGx5IGluY29ycG9y
YXRlZCB3aXRoaW4gdGhlIFdvcmsuCi0KLSAgIDIuIEdyYW50IG9mIENvcHlyaWdodCBMaWNlbnNl
LiBTdWJqZWN0IHRvIHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZgotICAgICAgdGhpcyBMaWNl
bnNlLCBlYWNoIENvbnRyaWJ1dG9yIGhlcmVieSBncmFudHMgdG8gWW91IGEgcGVycGV0dWFsLAot
ICAgICAgd29ybGR3aWRlLCBub24tZXhjbHVzaXZlLCBuby1jaGFyZ2UsIHJveWFsdHktZnJlZSwg
aXJyZXZvY2FibGUKLSAgICAgIGNvcHlyaWdodCBsaWNlbnNlIHRvIHJlcHJvZHVjZSwgcHJlcGFy
ZSBEZXJpdmF0aXZlIFdvcmtzIG9mLAotICAgICAgcHVibGljbHkgZGlzcGxheSwgcHVibGljbHkg
cGVyZm9ybSwgc3VibGljZW5zZSwgYW5kIGRpc3RyaWJ1dGUgdGhlCi0gICAgICBXb3JrIGFuZCBz
dWNoIERlcml2YXRpdmUgV29ya3MgaW4gU291cmNlIG9yIE9iamVjdCBmb3JtLgotCi0gICAzLiBH
cmFudCBvZiBQYXRlbnQgTGljZW5zZS4gU3ViamVjdCB0byB0aGUgdGVybXMgYW5kIGNvbmRpdGlv
bnMgb2YKLSAgICAgIHRoaXMgTGljZW5zZSwgZWFjaCBDb250cmlidXRvciBoZXJlYnkgZ3JhbnRz
IHRvIFlvdSBhIHBlcnBldHVhbCwKLSAgICAgIHdvcmxkd2lkZSwgbm9uLWV4Y2x1c2l2ZSwgbm8t
Y2hhcmdlLCByb3lhbHR5LWZyZWUsIGlycmV2b2NhYmxlCi0gICAgICAoZXhjZXB0IGFzIHN0YXRl
ZCBpbiB0aGlzIHNlY3Rpb24pIHBhdGVudCBsaWNlbnNlIHRvIG1ha2UsIGhhdmUgbWFkZSwKLSAg
ICAgIHVzZSwgb2ZmZXIgdG8gc2VsbCwgc2VsbCwgaW1wb3J0LCBhbmQgb3RoZXJ3aXNlIHRyYW5z
ZmVyIHRoZSBXb3JrLAotICAgICAgd2hlcmUgc3VjaCBsaWNlbnNlIGFwcGxpZXMgb25seSB0byB0
aG9zZSBwYXRlbnQgY2xhaW1zIGxpY2Vuc2FibGUKLSAgICAgIGJ5IHN1Y2ggQ29udHJpYnV0b3Ig
dGhhdCBhcmUgbmVjZXNzYXJpbHkgaW5mcmluZ2VkIGJ5IHRoZWlyCi0gICAgICBDb250cmlidXRp
b24ocykgYWxvbmUgb3IgYnkgY29tYmluYXRpb24gb2YgdGhlaXIgQ29udHJpYnV0aW9uKHMpCi0g
ICAgICB3aXRoIHRoZSBXb3JrIHRvIHdoaWNoIHN1Y2ggQ29udHJpYnV0aW9uKHMpIHdhcyBzdWJt
aXR0ZWQuIElmIFlvdQotICAgICAgaW5zdGl0dXRlIHBhdGVudCBsaXRpZ2F0aW9uIGFnYWluc3Qg
YW55IGVudGl0eSAoaW5jbHVkaW5nIGEKLSAgICAgIGNyb3NzLWNsYWltIG9yIGNvdW50ZXJjbGFp
bSBpbiBhIGxhd3N1aXQpIGFsbGVnaW5nIHRoYXQgdGhlIFdvcmsKLSAgICAgIG9yIGEgQ29udHJp
YnV0aW9uIGluY29ycG9yYXRlZCB3aXRoaW4gdGhlIFdvcmsgY29uc3RpdHV0ZXMgZGlyZWN0Ci0g
ICAgICBvciBjb250cmlidXRvcnkgcGF0ZW50IGluZnJpbmdlbWVudCwgdGhlbiBhbnkgcGF0ZW50
IGxpY2Vuc2VzCi0gICAgICBncmFudGVkIHRvIFlvdSB1bmRlciB0aGlzIExpY2Vuc2UgZm9yIHRo
YXQgV29yayBzaGFsbCB0ZXJtaW5hdGUKLSAgICAgIGFzIG9mIHRoZSBkYXRlIHN1Y2ggbGl0aWdh
dGlvbiBpcyBmaWxlZC4KLQotICAgNC4gUmVkaXN0cmlidXRpb24uIFlvdSBtYXkgcmVwcm9kdWNl
IGFuZCBkaXN0cmlidXRlIGNvcGllcyBvZiB0aGUKLSAgICAgIFdvcmsgb3IgRGVyaXZhdGl2ZSBX
b3JrcyB0aGVyZW9mIGluIGFueSBtZWRpdW0sIHdpdGggb3Igd2l0aG91dAotICAgICAgbW9kaWZp
Y2F0aW9ucywgYW5kIGluIFNvdXJjZSBvciBPYmplY3QgZm9ybSwgcHJvdmlkZWQgdGhhdCBZb3UK
LSAgICAgIG1lZXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgotCi0gICAgICAoYSkgWW91IG11
c3QgZ2l2ZSBhbnkgb3RoZXIgcmVjaXBpZW50cyBvZiB0aGUgV29yayBvcgotICAgICAgICAgIERl
cml2YXRpdmUgV29ya3MgYSBjb3B5IG9mIHRoaXMgTGljZW5zZTsgYW5kCi0KLSAgICAgIChiKSBZ
b3UgbXVzdCBjYXVzZSBhbnkgbW9kaWZpZWQgZmlsZXMgdG8gY2FycnkgcHJvbWluZW50IG5vdGlj
ZXMKLSAgICAgICAgICBzdGF0aW5nIHRoYXQgWW91IGNoYW5nZWQgdGhlIGZpbGVzOyBhbmQKLQot
ICAgICAgKGMpIFlvdSBtdXN0IHJldGFpbiwgaW4gdGhlIFNvdXJjZSBmb3JtIG9mIGFueSBEZXJp
dmF0aXZlIFdvcmtzCi0gICAgICAgICAgdGhhdCBZb3UgZGlzdHJpYnV0ZSwgYWxsIGNvcHlyaWdo
dCwgcGF0ZW50LCB0cmFkZW1hcmssIGFuZAotICAgICAgICAgIGF0dHJpYnV0aW9uIG5vdGljZXMg
ZnJvbSB0aGUgU291cmNlIGZvcm0gb2YgdGhlIFdvcmssCi0gICAgICAgICAgZXhjbHVkaW5nIHRo
b3NlIG5vdGljZXMgdGhhdCBkbyBub3QgcGVydGFpbiB0byBhbnkgcGFydCBvZgotICAgICAgICAg
IHRoZSBEZXJpdmF0aXZlIFdvcmtzOyBhbmQKLQotICAgICAgKGQpIElmIHRoZSBXb3JrIGluY2x1
ZGVzIGEgIk5PVElDRSIgdGV4dCBmaWxlIGFzIHBhcnQgb2YgaXRzCi0gICAgICAgICAgZGlzdHJp
YnV0aW9uLCB0aGVuIGFueSBEZXJpdmF0aXZlIFdvcmtzIHRoYXQgWW91IGRpc3RyaWJ1dGUgbXVz
dAotICAgICAgICAgIGluY2x1ZGUgYSByZWFkYWJsZSBjb3B5IG9mIHRoZSBhdHRyaWJ1dGlvbiBu
b3RpY2VzIGNvbnRhaW5lZAotICAgICAgICAgIHdpdGhpbiBzdWNoIE5PVElDRSBmaWxlLCBleGNs
dWRpbmcgdGhvc2Ugbm90aWNlcyB0aGF0IGRvIG5vdAotICAgICAgICAgIHBlcnRhaW4gdG8gYW55
IHBhcnQgb2YgdGhlIERlcml2YXRpdmUgV29ya3MsIGluIGF0IGxlYXN0IG9uZQotICAgICAgICAg
IG9mIHRoZSBmb2xsb3dpbmcgcGxhY2VzOiB3aXRoaW4gYSBOT1RJQ0UgdGV4dCBmaWxlIGRpc3Ry
aWJ1dGVkCi0gICAgICAgICAgYXMgcGFydCBvZiB0aGUgRGVyaXZhdGl2ZSBXb3Jrczsgd2l0aGlu
IHRoZSBTb3VyY2UgZm9ybSBvcgotICAgICAgICAgIGRvY3VtZW50YXRpb24sIGlmIHByb3ZpZGVk
IGFsb25nIHdpdGggdGhlIERlcml2YXRpdmUgV29ya3M7IG9yLAotICAgICAgICAgIHdpdGhpbiBh
IGRpc3BsYXkgZ2VuZXJhdGVkIGJ5IHRoZSBEZXJpdmF0aXZlIFdvcmtzLCBpZiBhbmQKLSAgICAg
ICAgICB3aGVyZXZlciBzdWNoIHRoaXJkLXBhcnR5IG5vdGljZXMgbm9ybWFsbHkgYXBwZWFyLiBU
aGUgY29udGVudHMKLSAgICAgICAgICBvZiB0aGUgTk9USUNFIGZpbGUgYXJlIGZvciBpbmZvcm1h
dGlvbmFsIHB1cnBvc2VzIG9ubHkgYW5kCi0gICAgICAgICAgZG8gbm90IG1vZGlmeSB0aGUgTGlj
ZW5zZS4gWW91IG1heSBhZGQgWW91ciBvd24gYXR0cmlidXRpb24KLSAgICAgICAgICBub3RpY2Vz
IHdpdGhpbiBEZXJpdmF0aXZlIFdvcmtzIHRoYXQgWW91IGRpc3RyaWJ1dGUsIGFsb25nc2lkZQot
ICAgICAgICAgIG9yIGFzIGFuIGFkZGVuZHVtIHRvIHRoZSBOT1RJQ0UgdGV4dCBmcm9tIHRoZSBX
b3JrLCBwcm92aWRlZAotICAgICAgICAgIHRoYXQgc3VjaCBhZGRpdGlvbmFsIGF0dHJpYnV0aW9u
IG5vdGljZXMgY2Fubm90IGJlIGNvbnN0cnVlZAotICAgICAgICAgIGFzIG1vZGlmeWluZyB0aGUg
TGljZW5zZS4KLQotICAgICAgWW91IG1heSBhZGQgWW91ciBvd24gY29weXJpZ2h0IHN0YXRlbWVu
dCB0byBZb3VyIG1vZGlmaWNhdGlvbnMgYW5kCi0gICAgICBtYXkgcHJvdmlkZSBhZGRpdGlvbmFs
IG9yIGRpZmZlcmVudCBsaWNlbnNlIHRlcm1zIGFuZCBjb25kaXRpb25zCi0gICAgICBmb3IgdXNl
LCByZXByb2R1Y3Rpb24sIG9yIGRpc3RyaWJ1dGlvbiBvZiBZb3VyIG1vZGlmaWNhdGlvbnMsIG9y
Ci0gICAgICBmb3IgYW55IHN1Y2ggRGVyaXZhdGl2ZSBXb3JrcyBhcyBhIHdob2xlLCBwcm92aWRl
ZCBZb3VyIHVzZSwKLSAgICAgIHJlcHJvZHVjdGlvbiwgYW5kIGRpc3RyaWJ1dGlvbiBvZiB0aGUg
V29yayBvdGhlcndpc2UgY29tcGxpZXMgd2l0aAotICAgICAgdGhlIGNvbmRpdGlvbnMgc3RhdGVk
IGluIHRoaXMgTGljZW5zZS4KLQotICAgNS4gU3VibWlzc2lvbiBvZiBDb250cmlidXRpb25zLiBV
bmxlc3MgWW91IGV4cGxpY2l0bHkgc3RhdGUgb3RoZXJ3aXNlLAotICAgICAgYW55IENvbnRyaWJ1
dGlvbiBpbnRlbnRpb25hbGx5IHN1Ym1pdHRlZCBmb3IgaW5jbHVzaW9uIGluIHRoZSBXb3JrCi0g
ICAgICBieSBZb3UgdG8gdGhlIExpY2Vuc29yIHNoYWxsIGJlIHVuZGVyIHRoZSB0ZXJtcyBhbmQg
Y29uZGl0aW9ucyBvZgotICAgICAgdGhpcyBMaWNlbnNlLCB3aXRob3V0IGFueSBhZGRpdGlvbmFs
IHRlcm1zIG9yIGNvbmRpdGlvbnMuCi0gICAgICBOb3R3aXRoc3RhbmRpbmcgdGhlIGFib3ZlLCBu
b3RoaW5nIGhlcmVpbiBzaGFsbCBzdXBlcnNlZGUgb3IgbW9kaWZ5Ci0gICAgICB0aGUgdGVybXMg
b2YgYW55IHNlcGFyYXRlIGxpY2Vuc2UgYWdyZWVtZW50IHlvdSBtYXkgaGF2ZSBleGVjdXRlZAot
ICAgICAgd2l0aCBMaWNlbnNvciByZWdhcmRpbmcgc3VjaCBDb250cmlidXRpb25zLgotCi0gICA2
LiBUcmFkZW1hcmtzLiBUaGlzIExpY2Vuc2UgZG9lcyBub3QgZ3JhbnQgcGVybWlzc2lvbiB0byB1
c2UgdGhlIHRyYWRlCi0gICAgICBuYW1lcywgdHJhZGVtYXJrcywgc2VydmljZSBtYXJrcywgb3Ig
cHJvZHVjdCBuYW1lcyBvZiB0aGUgTGljZW5zb3IsCi0gICAgICBleGNlcHQgYXMgcmVxdWlyZWQg
Zm9yIHJlYXNvbmFibGUgYW5kIGN1c3RvbWFyeSB1c2UgaW4gZGVzY3JpYmluZyB0aGUKLSAgICAg
IG9yaWdpbiBvZiB0aGUgV29yayBhbmQgcmVwcm9kdWNpbmcgdGhlIGNvbnRlbnQgb2YgdGhlIE5P
VElDRSBmaWxlLgotCi0gICA3LiBEaXNjbGFpbWVyIG9mIFdhcnJhbnR5LiBVbmxlc3MgcmVxdWly
ZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IKLSAgICAgIGFncmVlZCB0byBpbiB3cml0aW5nLCBMaWNl
bnNvciBwcm92aWRlcyB0aGUgV29yayAoYW5kIGVhY2gKLSAgICAgIENvbnRyaWJ1dG9yIHByb3Zp
ZGVzIGl0cyBDb250cmlidXRpb25zKSBvbiBhbiAiQVMgSVMiIEJBU0lTLAotICAgICAgV0lUSE9V
VCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9y
Ci0gICAgICBpbXBsaWVkLCBpbmNsdWRpbmcsIHdpdGhvdXQgbGltaXRhdGlvbiwgYW55IHdhcnJh
bnRpZXMgb3IgY29uZGl0aW9ucwotICAgICAgb2YgVElUTEUsIE5PTi1JTkZSSU5HRU1FTlQsIE1F
UkNIQU5UQUJJTElUWSwgb3IgRklUTkVTUyBGT1IgQQotICAgICAgUEFSVElDVUxBUiBQVVJQT1NF
LiBZb3UgYXJlIHNvbGVseSByZXNwb25zaWJsZSBmb3IgZGV0ZXJtaW5pbmcgdGhlCi0gICAgICBh
cHByb3ByaWF0ZW5lc3Mgb2YgdXNpbmcgb3IgcmVkaXN0cmlidXRpbmcgdGhlIFdvcmsgYW5kIGFz
c3VtZSBhbnkKLSAgICAgIHJpc2tzIGFzc29jaWF0ZWQgd2l0aCBZb3VyIGV4ZXJjaXNlIG9mIHBl
cm1pc3Npb25zIHVuZGVyIHRoaXMgTGljZW5zZS4KLQotICAgOC4gTGltaXRhdGlvbiBvZiBMaWFi
aWxpdHkuIEluIG5vIGV2ZW50IGFuZCB1bmRlciBubyBsZWdhbCB0aGVvcnksCi0gICAgICB3aGV0
aGVyIGluIHRvcnQgKGluY2x1ZGluZyBuZWdsaWdlbmNlKSwgY29udHJhY3QsIG9yIG90aGVyd2lz
ZSwKLSAgICAgIHVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyAoc3VjaCBhcyBkZWxp
YmVyYXRlIGFuZCBncm9zc2x5Ci0gICAgICBuZWdsaWdlbnQgYWN0cykgb3IgYWdyZWVkIHRvIGlu
IHdyaXRpbmcsIHNoYWxsIGFueSBDb250cmlidXRvciBiZQotICAgICAgbGlhYmxlIHRvIFlvdSBm
b3IgZGFtYWdlcywgaW5jbHVkaW5nIGFueSBkaXJlY3QsIGluZGlyZWN0LCBzcGVjaWFsLAotICAg
ICAgaW5jaWRlbnRhbCwgb3IgY29uc2VxdWVudGlhbCBkYW1hZ2VzIG9mIGFueSBjaGFyYWN0ZXIg
YXJpc2luZyBhcyBhCi0gICAgICByZXN1bHQgb2YgdGhpcyBMaWNlbnNlIG9yIG91dCBvZiB0aGUg
dXNlIG9yIGluYWJpbGl0eSB0byB1c2UgdGhlCi0gICAgICBXb3JrIChpbmNsdWRpbmcgYnV0IG5v
dCBsaW1pdGVkIHRvIGRhbWFnZXMgZm9yIGxvc3Mgb2YgZ29vZHdpbGwsCi0gICAgICB3b3JrIHN0
b3BwYWdlLCBjb21wdXRlciBmYWlsdXJlIG9yIG1hbGZ1bmN0aW9uLCBvciBhbnkgYW5kIGFsbAot
ICAgICAgb3RoZXIgY29tbWVyY2lhbCBkYW1hZ2VzIG9yIGxvc3NlcyksIGV2ZW4gaWYgc3VjaCBD
b250cmlidXRvcgotICAgICAgaGFzIGJlZW4gYWR2aXNlZCBvZiB0aGUgcG9zc2liaWxpdHkgb2Yg
c3VjaCBkYW1hZ2VzLgotCi0gICA5LiBBY2NlcHRpbmcgV2FycmFudHkgb3IgQWRkaXRpb25hbCBM
aWFiaWxpdHkuIFdoaWxlIHJlZGlzdHJpYnV0aW5nCi0gICAgICB0aGUgV29yayBvciBEZXJpdmF0
aXZlIFdvcmtzIHRoZXJlb2YsIFlvdSBtYXkgY2hvb3NlIHRvIG9mZmVyLAotICAgICAgYW5kIGNo
YXJnZSBhIGZlZSBmb3IsIGFjY2VwdGFuY2Ugb2Ygc3VwcG9ydCwgd2FycmFudHksIGluZGVtbml0
eSwKLSAgICAgIG9yIG90aGVyIGxpYWJpbGl0eSBvYmxpZ2F0aW9ucyBhbmQvb3IgcmlnaHRzIGNv
bnNpc3RlbnQgd2l0aCB0aGlzCi0gICAgICBMaWNlbnNlLiBIb3dldmVyLCBpbiBhY2NlcHRpbmcg
c3VjaCBvYmxpZ2F0aW9ucywgWW91IG1heSBhY3Qgb25seQotICAgICAgb24gWW91ciBvd24gYmVo
YWxmIGFuZCBvbiBZb3VyIHNvbGUgcmVzcG9uc2liaWxpdHksIG5vdCBvbiBiZWhhbGYKLSAgICAg
IG9mIGFueSBvdGhlciBDb250cmlidXRvciwgYW5kIG9ubHkgaWYgWW91IGFncmVlIHRvIGluZGVt
bmlmeSwKLSAgICAgIGRlZmVuZCwgYW5kIGhvbGQgZWFjaCBDb250cmlidXRvciBoYXJtbGVzcyBm
b3IgYW55IGxpYWJpbGl0eQotICAgICAgaW5jdXJyZWQgYnksIG9yIGNsYWltcyBhc3NlcnRlZCBh
Z2FpbnN0LCBzdWNoIENvbnRyaWJ1dG9yIGJ5IHJlYXNvbgotICAgICAgb2YgeW91ciBhY2NlcHRp
bmcgYW55IHN1Y2ggd2FycmFudHkgb3IgYWRkaXRpb25hbCBsaWFiaWxpdHkuCi0KLSAgIEVORCBP
RiBURVJNUyBBTkQgQ09ORElUSU9OUwotCi0gICBBUFBFTkRJWDogSG93IHRvIGFwcGx5IHRoZSBB
cGFjaGUgTGljZW5zZSB0byB5b3VyIHdvcmsuCi0KLSAgICAgIFRvIGFwcGx5IHRoZSBBcGFjaGUg
TGljZW5zZSB0byB5b3VyIHdvcmssIGF0dGFjaCB0aGUgZm9sbG93aW5nCi0gICAgICBib2lsZXJw
bGF0ZSBub3RpY2UsIHdpdGggdGhlIGZpZWxkcyBlbmNsb3NlZCBieSBicmFja2V0cyAiW10iCi0g
ICAgICByZXBsYWNlZCB3aXRoIHlvdXIgb3duIGlkZW50aWZ5aW5nIGluZm9ybWF0aW9uLiAoRG9u
J3QgaW5jbHVkZQotICAgICAgdGhlIGJyYWNrZXRzISkgIFRoZSB0ZXh0IHNob3VsZCBiZSBlbmNs
b3NlZCBpbiB0aGUgYXBwcm9wcmlhdGUKLSAgICAgIGNvbW1lbnQgc3ludGF4IGZvciB0aGUgZmls
ZSBmb3JtYXQuIFdlIGFsc28gcmVjb21tZW5kIHRoYXQgYQotICAgICAgZmlsZSBvciBjbGFzcyBu
YW1lIGFuZCBkZXNjcmlwdGlvbiBvZiBwdXJwb3NlIGJlIGluY2x1ZGVkIG9uIHRoZQotICAgICAg
c2FtZSAicHJpbnRlZCBwYWdlIiBhcyB0aGUgY29weXJpZ2h0IG5vdGljZSBmb3IgZWFzaWVyCi0g
ICAgICBpZGVudGlmaWNhdGlvbiB3aXRoaW4gdGhpcmQtcGFydHkgYXJjaGl2ZXMuCi0KLSAgIENv
cHlyaWdodCBbeXl5eV0gW25hbWUgb2YgY29weXJpZ2h0IG93bmVyXQotCi0gICBMaWNlbnNlZCB1
bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKLSAg
IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUg
TGljZW5zZS4KLSAgIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAotCi0g
ICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCi0KLSAgIFVu
bGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywg
c29mdHdhcmUKLSAgIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVk
IG9uIGFuICJBUyBJUyIgQkFTSVMsCi0gICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9O
UyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KLSAgIFNlZSB0aGUgTGlj
ZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQK
LSAgIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3dpZGxwcm9jL01ha2VmaWxlIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL01ha2VmaWxlCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkNTE3NDY2ZTQ4ZDJhNGIyODRmYzQzOTdiNDJlMjE1MjM2
YzRjYTFiLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC93aWRscHJvYy9NYWtlZmlsZQorKysgL2Rldi9udWxsCkBAIC0xLDE1OCArMCwwIEBA
Ci0jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMKLSMgJElkJAotIyBDb3B5cmlnaHQgMjAwOSBBcGxpeCBDb3Jwb3Jh
dGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSMgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBM
aWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7Ci0jIHlvdSBtYXkgbm90IHVzZSB0
aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KLSMgWW91IG1h
eSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0Ci0jICAgICBodHRwOi8vd3d3LmFwYWNo
ZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKLSMgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2Fi
bGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQotIyBkaXN0cmlidXRlZCB1
bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAotIyBX
SVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJl
c3Mgb3IgaW1wbGllZC4KLSMgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3Vh
Z2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAotIyBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGlj
ZW5zZS4KLSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIwotCi1VTkFNRSA9ICQoc2hlbGwgdW5hbWUpCi1JTkNESVJT
ID0gJChPQkpESVIpCi1TUkNESVIgPSBzcmMKLURPQ0RJUiA9IGRvYwotRVhBTVBMRVNESVIgPSBl
eGFtcGxlcwotT0JKRElSID0gb2JqCi0KLSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwotIyBMaW51eCBjb25maWd1
cmF0aW9uCi0jCi1pZm5lcSAoLCQoZmlsdGVyIExpbnV4JSwgJChVTkFNRSkpKSAKLQotQ0ZMQUdT
ID0gLWcgLVdhbGwgLVdlcnJvciAtTzAgJChwYXRzdWJzdCAlLCAtSSUsICQoSU5DRElSUykpCi1P
QkpTVUZGSVggPSAubwotRVhFU1VGRklYID0KLSNMSUJTID0gLWxlZmVuY2UKLU9CSk9QVElPTiA9
IC1vCi1FWEVPUFRJT04gPSAtbwotCi1lbHNlCi0jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKLSMgRGFyd2luIGNv
bmZpZ3VyYXRpb24KLSMKLWlmbmVxICgsJChmaWx0ZXIgRGFyd2luJSwgJChVTkFNRSkpKSAKLQot
Q0ZMQUdTID0gLWcgLVdhbGwgLVdlcnJvciAtTzIgJChwYXRzdWJzdCAlLCAtSSUsICQoSU5DRElS
UykpCi1PQkpTVUZGSVggPSAubwotRVhFU1VGRklYID0KLU9CSk9QVElPTiA9IC1vCi0jIFRoZSAt
byBpbiB0aGUgZm9sbG93aW5nIGxpbmUgaGFzIGEgc3BhY2UgYWZ0ZXIgaXQsIHdoaWNoIG11c3Qg
bm90IGJlIHJlbW92ZWQuCi1FWEVPUFRJT04gPSAtbyAKLQotZWxzZQotIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
Ci0jIFdpbmRvd3MgKGN5Z3dpbiBidXQgdXNpbmcgTVMgY29tcGlsZXIpIGNvbmZpZ3VyYXRpb24K
LSMKLSMgdGhpcyBpcyBtZXNzeSAtIHNob3VsZCBwcm9iYWJseSB1c2UgdmN2YXJzLmJhdAotaWZu
ZXEgKCwkKGZpbHRlciBDWUdXSU4lLCAkKFVOQU1FKSkpIAotVklTVUFMU1RVRElPRElSID0gJCh3
aWxkY2FyZCAvY3lnZHJpdmUvYy9Qcm9ncmFtKkZpbGVzL01pY3Jvc29mdCpWaXN1YWwqU3R1ZGlv
KjgpCi1TREtESVIgPSAkKHdpbGRjYXJkIC9jeWdkcml2ZS9jL1Byb2dyYW0qRmlsZXMvTWljcm9z
b2Z0KlNES3MvV2luZG93cy8qL0xpYikKLWlmZXEgKCwkKFZJU1VBTFNUVURJT0RJUikpCi1WSVNV
QUxTVFVESU9ESVIgPSAkKHdpbGRjYXJkIC9jeWdkcml2ZS9jL1Byb2dyYW1cIEZpbGVzXCAqL01p
Y3Jvc29mdCpWaXN1YWwqU3R1ZGlvKjEwKikKLWVuZGlmCi1pZmVxICgsJChWSVNVQUxTVFVESU9E
SVIpKQotVklTVUFMU1RVRElPRElSID0gJCh3aWxkY2FyZCAvY3lnZHJpdmUvYy9Qcm9ncmFtXCBG
aWxlc1wgKi9NaWNyb3NvZnQqVmlzdWFsKlN0dWRpbyoxMSopCi1lbmRpZgotIyB0aGlzIGlzIHJl
dmVsdmFudCBmb3IgdnMyMDEyIGFuZCB3aW5kb3dzIDggLSBzZGsgbG9jYXRpb24gaGFzIGNoYW5n
ZWQKLWlmZXEgKCwkKFNES0RJUikpCi1TREtESVIgPSAkKHdpbGRjYXJkIC9jeWdkcml2ZS9jL1By
b2dyYW1cIEZpbGVzXCAqL1dpbmRvd3MqS2l0cykKLWVuZGlmCi0KLWlmZXEgKCwkKFZJU1VBTFNU
VURJT0RJUikpCi0kKGVycm9yIENvdWxkIG5vdCBmaW5kICBNUyBWaXN1YWwgU3R1ZGlvKSAKLWVs
c2UKLVdJTlZJU1VBTFNUVURJT0RJUiA9ICQoc2hlbGwgY3lncGF0aCAtdyAnJChWSVNVQUxTVFVE
SU9ESVIpJykKLVdJTlNES0RJUiA9ICQoc2hlbGwgY3lncGF0aCAtdyAnJChTREtESVIpJykKLQot
IyQoZXJyb3IgJChWSVNVQUxTVFVESU9ESVIpKSAKLQotQ0MgPSBcCi0JTGliPSckKFdJTlZJU1VB
TFNUVURJT0RJUilcVkNcTElCOyQoV0lOVklTVUFMU1RVRElPRElSKVxWQ1xQbGF0Zm9ybVNES1xM
aWI7JChXSU5TREtESVIpJyBcCi0JUEFUSD0nJChWSVNVQUxTVFVESU9ESVIpL0NvbW1vbjcvSURF
OiQoVklTVUFMU1RVRElPRElSKS9WQy9CSU46JChWSVNVQUxTVFVESU9ESVIpL0NvbW1vbjcvVG9v
bHM6JChWSVNVQUxTVFVESU9ESVIpL1NESy92Mi4wL2JpbjokKFZJU1VBTFNUVURJT0RJUikvOC4w
L0xpYi93aW44L3VtL3g4NjonJCRQQVRIIFwKLQlJbmNsdWRlPSckKFdJTlZJU1VBTFNUVURJT0RJ
UilcVkNcSU5DTFVERTskKFdJTlZJU1VBTFNUVURJT0RJUilcVkNcUGxhdGZvcm1TREtcSW5jbHVk
ZScgXAotCWNsCi1lbmRpZgotCi1DRkxBR1MgPSAvbm9sb2dvIC9XWCAvVzMgL3dkNDk5NiAvWmkg
L08yICQocGF0c3Vic3QgJSwgL0klLCAkKElOQ0RJUlMpKQotT0JKU1VGRklYID0gLm9iagotRVhF
U1VGRklYID0gLmV4ZQotT0JKT1BUSU9OID0gL0ZvCi1FWEVPUFRJT04gPSAvRmUKLQotZW5kaWYK
LWVuZGlmCi1lbmRpZgotCi0jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKLSMgQ29tbW9uIG1ha2VmaWxlCi0jCi1X
SURMUFJPQyA9ICQoT0JKRElSKS93aWRscHJvYyQoRVhFU1VGRklYKQotRFREID0gJChPQkpESVIp
L3dpZGxwcm9jeG1sLmR0ZAotCi1BTEwgPSAkKFdJRExQUk9DKSAkKERURCkKLWFsbCA6ICQoQUxM
KQotCi1TUkNTID0gXAotCWNvbW1lbnQuYyBcCi0JbGV4LmMgXAotCW1haW4uYyBcCi0JbWlzYy5j
IFwKLQlub2RlLmMgXAotCXBhcnNlLmMgXAotCXByb2Nlc3MuYwotCi1PQkpTID0gJChwYXRzdWJz
dCAlLmMsICQoT0JKRElSKS8lJChPQkpTVUZGSVgpLCAkKFNSQ1MpKQotJChXSURMUFJPQykgOiAk
KE9CSlMpCi0JJChDQykgJChDRkxBR1MpICQoRVhFT1BUSU9OKSRAICReICQoTElCUykKLQotJChP
QkpESVIpLyUkKE9CSlNVRkZJWCkgOiAkKFNSQ0RJUikvJS5jCi0JbWtkaXIgLXAgJChkaXIgJEAp
Ci0JJChDQykgJChDRkxBR1MpICQoT0JKT1BUSU9OKSRAIC1jICQ8Ci0KLSQoT0JKRElSKS8lLmQg
OiAkKFNSQ0RJUikvJS5jCi0JbWtkaXIgLXAgJChkaXIgJEApCi0JY2MgJChwYXRzdWJzdCAlLCAt
SSUsICQoSU5DRElSUykpIC1NTSAtTUcgLU1UICQocGF0c3Vic3QgJS5kLCAlJChPQkpTVUZGSVgp
LCAkQCkgJDwgfCBzZWQgJyQocGF0c3Vic3QgJSwgc3wgXCglXCl8ICQoT0JKRElSKS9cMXw7LCAk
KEFVVE9HRU5IRUFERVJTKSknID4kQAotCi1pbmNsdWRlICQocGF0c3Vic3QgJS5jLCAkKE9CSkRJ
UikvJS5kLCAkKFNSQ1MpKQotCi0KLSQoRFREKSA6ICQoRE9DRElSKS9odG1sdG9kdGQueHNsICQo
RE9DRElSKS93aWRscHJvYy5odG1sCi0JeHNsdHByb2MgLWh0bWwgJF4gPiRACi0KLWNsZWFuIDoK
LQlybSAtZiAkKEFMTCkgJChPQkpTKQotCi12ZXJ5Y2xlYW4gOgotCXJtIC1yZiAkKE9CSkRJUikK
LQotU1ZORklMRVMgPSAkKHNoZWxsIHRlc3QgLWQgLnN2biAmJiBzdm4gaW5mbyAtUiAuIHwgc2Vk
IC1uICdzL15QYXRoOiBcKC4qXCkkJC9cMS9wJykKLVNWTkJSQU5DSCA9ICQoc2hlbGwgdGVzdCAt
ZCAuc3ZuICYmIHN2biBpbmZvIC4gfCBzZWQgLW4gJ3N8XlVSTDouKi9cKFteL10qXCkkJHxcMXxw
JykKLVNWTlJFViA9ICQoc2hlbGwgdGVzdCAtZCAuc3ZuICYmIHN2biBpbmZvIC1SIC4gfCBzZWQg
LW4gJ3MvXkxhc3QgQ2hhbmdlZCBSZXY6IFwoWzAtOV1bMC05XSpcKSQkL1wxL3AnIHwgc29ydCAt
ZyB8IHRhaWwgLTEpCi0KLVNWTkxPRyA9IGhpc3RvcnkKLSQoU1ZOTE9HKSA6ICQoU1ZORklMRVMp
Ci0Jc3ZuIGxvZyAtdnJIRUFEOjMxMSA+JEAKLQotemlwIDogJChPQkpESVIpL3dpZGxwcm9jLSQo
U1ZOQlJBTkNIKSQoU1ZOUkVWKS56aXAKLSQoT0JKRElSKS93aWRscHJvYy0kKFNWTkJSQU5DSCkk
KFNWTlJFVikuemlwIDogJChXSURMUFJPQykgJChEVEQpICQoRE9DRElSKS93aWRscHJvYy5odG1s
ICQoU1JDRElSKS93aWRscHJvY3htbHRvaHRtbC54c2wgTWFrZWZpbGUgJChTVk5MT0cpCi0Jcm0g
LWYgJEAKLQl6aXAgLWogJEAgJF4gLXggTWFrZWZpbGUKLQl6aXAgJEAgZXhhbXBsZXMvKi53aWRs
IGV4YW1wbGVzLyouY3NzIGV4YW1wbGVzL01ha2VmaWxlIGV4YW1wbGVzL1JFQURNRSBleGFtcGxl
cy8qLnhzbCBleGFtcGxlcy8qLmh0bWwKLQotc3JjemlwIDogd2lkbHByb2Mtc3JjLSQoU1ZOQlJB
TkNIKSQoU1ZOUkVWKS56aXAKLQotd2lkbHByb2Mtc3JjLSUuemlwIDogJChTVk5GSUxFUykgJChT
Vk5MT0cpCi0JemlwICRAICReIAotCi1leGFtcGxlcyA6Ci0JJChNQUtFKSAtQyBleGFtcGxlcyBT
UkNESVI9Li4vc3JjIE9CSkRJUj0uLi9vYmogRVhBTVBMRVNPQkpESVI9Li4vb2JqL2V4YW1wbGVz
Ci0KLXRlc3QgOiAkKE9CSlMpCi0JJChNQUtFKSAtQyB0ZXN0IFNSQ0RJUj0uLi9zcmMgT0JKRElS
PS4uL29iagotCi0uREVMRVRFX09OX0VSUk9SOgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxw
cm9jL1JFQURNRS5tZCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9SRUFETUUubWQKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDhlZDgyNGU3ZDlkODRkNDVlNmU2MDlhM2E4YzliZDU2NDNlZWE3
ZDcuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3dpZGxwcm9jL1JFQURNRS5tZAorKysgL2Rldi9udWxsCkBAIC0xLDQwICswLDAgQEAKLSMg
VXNlcwotCi13aWRscHJvYyBjYW4gYmUgdXNlZCB0byB2YWxpZGF0ZSBXZWJJREwgaW4gVzNDIHNw
ZWNpZmljYXRpb25zLiBJdCBzZXJ2ZXMgYXMgdGhlIGJhc2lzIGZvciB0aGUgW1czQyBXZWIgSURM
IG9uLWxpbmUgY2hlY2tlcl0oaHR0cDovL3d3dy53My5vcmcvMjAwOS8wNy93ZWJpZGwtY2hlY2sp
LgotCi13aWRscHJvYydzIGdlbmVyYXRlZCBYTUwgaXMgdXNlZCB0byBnZW5lcmF0ZSBbd2ViaW5v
cyBKYXZhU2NyaXB0IEFQSXMgc3BlY2lmaWNhdGlvbnNdKGh0dHA6Ly9kZXYud2ViaW5vcy5vcmcv
c3BlY2lmaWNhdGlvbnMvZHJhZnQvKS4KLQotIyBMaWNlbnNlCi0KLXdpZGxwcm9jIGlzIGxpY2Vu
c2VkIHVuZGVyIHRoZSBBcGFjaGUgMiBMaWNlbnNlLgotCi0jIE90aGVycwotCi1TZWUgYWxzbyBb
d2ViaWRsLmpzXShodHRwczovL2dpdGh1Yi5jb20vZGFyb2Jpbi93ZWJpZGwuanMpLCBhIEphdmFT
Y3JpcHQtYmFzZWQgV2ViIElETCBwYXJzZXIgdXNlZCBieSB2YXJpb3VzIHRvb2xzIGluIFczQy4K
LQotIyBDcmVkaXRzCi0KLU1vc3Qgb2YgdGhlIHdvcmsgb24gd2lkbHByb2Mgd2FzIGRvbmUgYnkg
VGltIFJlbm91ZiBhbmQgUGFkZHkgQnllcnMuIEFwbGl4IGNvcnBvcmF0aW9uIG93bnMgdGhlIGNv
cHlyaWdodCBvZiB0aGUgY29kZSB1cCB0byBKdW5lIDIwMTEuCi0KLVRoZSB0b29sIGlzIGtlcHQg
dXAgdG8gZGF0ZSB3aXRoIHRoZSBjaGFuZ2VzIGluIHRoZSBzcGVjIGJ5IERvbWluaXF1ZSBIYXph
ZWwtTWFzc2lldXgsIHRocm91Z2ggZnVuZGluZyBmcm9tIHRoZSBbd2ViaW5vcyBwcm9qZWN0XSho
dHRwOi8vd2ViaW5vcy5vcmcvKSBzaW5jZSBKdW5lIDIwMTEuCi0KLSMgRG9jdW1lbnRhdGlvbgot
Ci1TZWUgZG9jL3dpZGxwcm9jLmh0bWwgaW4gdGhlIHRyZWUuCi0KLSMgQnVpbGQgSW5zdHJ1Y3Rp
b25zCi0KLSMjIFdpbmRvd3MKLQotSW5zdGFsbCByZXF1aXJlbWVudHMKLSogQ3lnd2luIC0gbXVz
dCBpbnN0YWxsIG11c3QgaW5zdGFsbCBsaWJzL2xpYnhzbHQKLSogVmlzdWFsIFN0dWRpbyBleHBy
ZXNzIDIwMTIgb3IgMjAxMCAoc2VlIGRpZmZlcmVuY2UgYmVsb3cpCi0KLW1ha2VmaWxlIHVzZXMg
Y3lnd2luIG1ha2UuIFJlZmVyZW5jZXMgYXJlIGNvZGVkIGluIHRoZSBtYWtlIGZpbGUgdG8gZGV0
ZWN0IHRlaCBjdXJyZW50IHZlcnNpb24gb2YgdmlzdWFsIHN0dWRpbyAKLQotIyBGdXR1cmUgd29y
awotd2luZG93cyBidWlsZCBjb3VsZCBiZSBpbXByb3ZlZCB0byBoYW5kbGUgbXVsdGlwZSB2ZXJz
aW9ucyB3aXRoIHZjdmFycy5iYXQKLWh0dHA6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMv
NjIwMjkvdnMyMDA4LWNvbW1hbmQtcHJvbXB0LWN5Z3dpbgotCi0KLQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L3dpZGxwcm9jL2RvYy9odG1sdG9kdGQueHNsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL2Rv
Yy9odG1sdG9kdGQueHNsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkOGI3ZjU5NzNm
YjEyZWY2OWFmZTRmMzNiYTU0ZjZmZWVjNjA4OThmLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9kb2MvaHRtbHRvZHRkLnhz
bAorKysgL2Rldi9udWxsCkBAIC0xLDI4ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5j
b2Rpbmc9InVzLWFzY2lpIj8+Ci08IS0tPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLSRJZCQKLUNvcHlyaWdodCAyMDA5
IEFwbGl4IENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotTGljZW5zZWQgdW5kZXIg
dGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7Ci15b3UgbWF5
IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2Uu
Ci1Zb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKLSAgICBodHRwOi8vd3d3
LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKLVVubGVzcyByZXF1aXJlZCBieSBhcHBs
aWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKLWRpc3RyaWJ1dGVk
IHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCi1X
SVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJl
c3Mgb3IgaW1wbGllZC4KLVNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdl
IGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKLWxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNl
LgotCi1TdHlsZXNoZWV0IHRvIGV4dHJhY3QgRFREIGZvciB3aWRscHJvY3htbCBmcm9tIHdpZGxw
cm9jLmh0bWwKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PS0tPgotPHhzbDpzdHlsZXNoZWV0IHhtbG5zOnhzbD0iaHR0
cDovL3d3dy53My5vcmcvMTk5OS9YU0wvVHJhbnNmb3JtIiB2ZXJzaW9uPSIxLjAiPgotPHhzbDpv
dXRwdXQgbWV0aG9kPSJ0ZXh0IiBlbmNvZGluZz0idXMtYXNjaWkiIGluZGVudD0ibm8iLz4KLQot
PCEtLSA8cHJlIGNsYXNzPSJkdGQiPiBlbGVtZW50IC0tPgotPHhzbDp0ZW1wbGF0ZSBtYXRjaD0i
cHJlW0BjbGFzcz0nZHRkJ10iPgotICAgIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIuIi8+Ci08L3hz
bDp0ZW1wbGF0ZT4KLQotPCEtLUlnbm9yZSBvdGhlciB0ZXh0LiAtLT4KLTx4c2w6dGVtcGxhdGUg
bWF0Y2g9InRleHQoKSIgcHJpb3JpdHk9Ii0xMDAiLz4KLQotPC94c2w6c3R5bGVzaGVldD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9kb2MvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvd2lkbHByb2MvZG9jL3czYy1pbXBvcnQubG9nCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCA5Nzc0ODNjZTNlOTBhZmRkMDg2MDY3ZWI2MGJlNmRmZjA3NDViYzFmLi4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9k
b2MvdzNjLWltcG9ydC5sb2cKKysrIC9kZXYvbnVsbApAQCAtMSwxOSArMCwwIEBACi1UaGUgdGVz
dHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9y
eS4KLURvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVh
ZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXM0MgQ1NTIG9yIFdQVCBnaXRodWI6Ci0J
aHR0cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy10ZXN0Ci0JaHR0cHM6Ly9naXRodWIuY29tL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMKLQotVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0
LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKLQotRG8gTk9UIG1vZGlmeSBvciByZW1v
dmUgdGhpcyBmaWxlLgotCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLVByb3BlcnRpZXMgcmVxdWlyaW5nIHZl
bmRvciBwcmVmaXhlczoKLU5vbmUKLVByb3BlcnR5IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9yIHBy
ZWZpeGVzOgotTm9uZQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1MaXN0IG9mIGZpbGVzOgotL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC93aWRscHJvYy9kb2MvaHRtbHRvZHRkLnhzbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9kb2Mvd2lk
bHByb2MuaHRtbApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL2RvYy93aWRscHJvYy5o
dG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL2RvYy93aWRscHJvYy5odG1sCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCA0ZWI0MmMzOWJiOWMxMDRkNGU4MTZiNjM2MjdhMzU3MmYyNjFkYWU2
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC93aWRscHJvYy9kb2Mvd2lkbHByb2MuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDExMjQgKzAs
MCBAQAotPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEvL0VOIiAi
aHR0cDovL3d3dy53My5vcmcvVFIvaHRtbDQvc3RyaWN0LmR0ZCI+Ci08IS0tPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LUNvcHlyaWdodCAyMDA5IEFwbGl4IENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgot
TGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNl
bnNlIik7Ci15b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdp
dGggdGhlIExpY2Vuc2UuCi1Zb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQK
LSAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKLVVubGVzcyBy
ZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdh
cmUKLWRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJB
UyBJUyIgQkFTSVMsCi1XSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lO
RCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KLVNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNw
ZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKLWxpbWl0YXRpb25zIHVu
ZGVyIHRoZSBMaWNlbnNlLgotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09LS0+Ci08aHRtbD4KLTxoZWFkPgotPG1ldGEg
aHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXMt
YXNjaWkiPgotPHRpdGxlPndpZGxwcm9jPC90aXRsZT4KLTxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+
Ci0gICAgYm9keSB7IGNvbG9yOiBibGFjazsgZm9udDogMTBwdCB2ZXJkYW5hOyB9Ci0gICAgYTps
aW5rIHsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9Ci0gICAgYTp2aXNpdGVkIHsgdGV4dC1kZWNv
cmF0aW9uOiBub25lOyB9Ci0gICAgYTpob3ZlciB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5l
OyB9Ci0gICAgZHQgeyBtYXJnaW4tdG9wOiAwLjVlbTsgfQotICAgIGRkIHsgbWFyZ2luLWxlZnQ6
IDFlbTsgbWFyZ2luLWJvdHRvbTogMC41ZW07IH0KLSAgICBsaSB7IG1hcmdpbi1ib3R0b206IDA7
IH0KLSAgICBoNCB7IGZvbnQtc2l6ZTogMTBwdDsgfQotICAgIHRhYmxlIHsgYm9yZGVyOiAxcHgg
c29saWQ7IGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7IH0KLSAgICB0ZCB7IGJvcmRlcjogMXB4
IHNvbGlkOyB9Ci0gICAgdGggeyBib3JkZXI6IDFweCBzb2xpZDsgfQotICAgIGNvZGUgeyBiYWNr
Z3JvdW5kLWNvbG9yOiAjZjBmMGYwOyB9Ci0gICAgcHJlIHsgYmFja2dyb3VuZC1jb2xvcjogI2Yw
ZjBmMDsgfQotICAgIC5pbmRlbnQgeyBtYXJnaW4tbGVmdDogM2VtOyB9Ci0gICAgLmlzc3VlIHsg
YmFja2dyb3VuZC1jb2xvcjogIzAwQ0NDQzsgfQotPC9zdHlsZT4KLTwvaGVhZD4KLTxib2R5Pgot
PGgxPndpZGxwcm9jPC9oMT4KLQotPHA+VGltIFJlbm91ZiwgQXBsaXggQ29ycDwvcD4KLTxwPiRJ
ZCQKLTwvcD4KLQotPGgyPkludHJvZHVjdGlvbjwvaDI+Ci0KLTxwPgotd2lkbHByb2MgaXMgYSBw
cm9jZXNzb3IgdGhhdCBhY2NlcHRzIGFzIGlucHV0Ci08YSBocmVmPSIjd2ViaWRsIj5XZWIgSURM
PC9hPiAodGhlIDMwIFNlcHRlbWJlciAyMDA5IGVkaXRvcidzIGRyYWZ0KSwKLXdpdGggY29tbWVu
dHMgaW4gYSBzdWJzZXQgb2YgdGhlIGZvcm1hdCB1c2VkIGJ5Ci08YSBocmVmPSIjZG94eWdlbiI+
RG94eWdlbjwvYT4uCi1UaGUgZm9ybWF0IGl0IGFjY2VwdHMgaXMgcHJvcG9zZWQgYnkgQXBsaXgg
Zm9yIGF1dGhvcmluZwotPGEgaHJlZj0iI2JvbmRpIj5CT05ESTwvYT4gaW50ZXJmYWNlIGRlZmlu
aXRpb25zLgotPC9wPgotCi08cD4KLVRoZSBvdXRwdXQgb2Ygd2lkbHByb2MgaXMgYW4gWE1MIHJl
cHJlc2VudGF0aW9uIG9mIHRoZQotPGEgaHJlZj0iI3dlYmlkbCI+V2ViIElETDwvYT4gaW5wdXQs
Ci13aXRoIGFkZGVkIFhNTCBlbGVtZW50cyByZXByZXNlbnRpbmcgdGhlCi08YSBocmVmPSIjZG94
eWdlbiI+RG94eWdlbjwvYT4tbGlrZSBjb21tZW50cy4KLTwvcD4KLQotPGgyPlVzYWdlPC9oMj4K
LQotPHA+Ci08Y29kZT53aWRscHJvYyA8aT5maWxlbmFtZTwvaT48L2NvZGU+Ci08L3A+Ci0KLTxw
Pgotd2lkbHByb2MgcmVhZHMgdGhlIGZpbGUgbmFtZWQgPGVtPmZpbGVuYW1lPC9lbT4sIGFuZCAK
LXNlbmRzIGl0cyBYTUwgb3V0cHV0IGZvcm1hdCB0byBzdGRvdXQuCi08L3A+Ci0KLTxoMj5JbnB1
dCBmb3JtYXQ8L2gyPgotCi08cD4KLVRoZSBpbnB1dCBmb3JtYXQgYWNjZXB0ZWQgYnkgd2lkbHBy
b2MgaXMKLTxhIGhyZWY9IiN3ZWJpZGwiPldlYiBJREw8L2E+Ci0od2l0aCBhbiBleHRlbnNpb24g
dXNlZCBpbiB0aGUKLTxhIGhyZWY9IiN3M2NnZW8iPlczQyBHZW9sb2NhdGlvbiBBUEk8L2E+KSwK
LXdpdGggY29tbWVudHMgaW4gYSBmb3JtYXQgcmVtaW5pc2NlbnQgb2YgdGhhdCB1c2VkIGJ5Ci08
YSBocmVmPSIjZG94eWdlbiI+RG94eWdlbjwvYT4uCi08L3A+Ci0KLTxoMz5XZWIgSURMIGV4dGVu
c2lvbiBmcm9tIFczQyBnZW9sb2NhdGlvbiBBUEk8L2gzPgotCi08aDQ+ZG91YmxlPC9oND4KLQot
PHA+Ci08Y29kZT5kb3VibGU8L2NvZGU+IGlzIGFsbG93ZWQgYXMgYSBEZWNsYXJhdGlvblR5cGUg
b3IgYSBCb3hlZFR5cGUuCi08L3A+Ci0KLTxoMz5Eb3h5Z2VuLWxpa2UgY29tbWVudCBpbnRyb2R1
Y3Rpb248L2gzPgotCi08cD4KLU9ubHkgYSBzbWFsbCBzdWJzZXQgb2YgRG94eWdlbiBmdW5jdGlv
bmFsaXR5IGlzIHN1cHBvcnRlZCBieQotd2lkbHByb2MsIHBsdXMgYWRkaXRpb25zIHRvIGhhbmRs
ZSB0aGUgQk9OREkgY29uY2VwdHMgb2YgQVBJIGZlYXR1cmVzCi1hbmQgZGV2aWNlIGNhcGFiaWxp
dGllcy4KLTwvcD4KLQotPHA+Ci1JbiBwYXJ0aWN1bGFyLCBubyBsaW5rcyBhcmUgYWRkZWQgYXV0
b21hdGljYWxseS4gKFRoaXMgY291bGQgYmUgYWRkZWQKLWluIHRoZSBmdXR1cmUuKQotPC9wPgot
Ci08aDM+RG94eWdlbiBjb21tZW50IGJsb2NrPC9oMz4KLQotPGg0PkNvbW1lbnQgcmVmZXJyYWwg
cG9pbnQ8L2g0PgotCi08cD4KLUVhY2ggPGVtPkRveHlnZW4gY29tbWVudCBibG9jazwvZW0+IHJl
ZmVycyB0byBhIDxlbT5jb21tZW50IHJlZmVycmFsCi1wb2ludDwvZW0+IGluIHRoZSBXZWIgSURM
LCBvbmUgb2YKLW1vZHVsZSwgaW50ZXJmYWNlLCBleGNlcHRpb24sIGNvbnN0LCBhdHRyaWJ1dGUs
IG9wZXJhdGlvbiBvciBhcmd1bWVudC4KLTwvcD4KLQotPGg0PkJsb2NrIGNvbW1lbnQ8L2g0Pgot
Ci08cD4KLUEgYmxvY2sgY29tbWVudCAoZGVsaW1pdGVkIGJ5IDxjb2RlPi8qICovPC9jb2RlPikg
d2hvc2UgZmlyc3QgY2hhcmFjdGVyCi1hZnRlciB0aGUgPGNvZGU+Lyo8L2NvZGU+IGlzIDxjb2Rl
PiE8L2NvZGU+IG9yIGEgc2Vjb25kIDxjb2RlPio8L2NvZGU+Ci1pcyBhIDxlbT5Eb3h5Z2VuIGNv
bW1lbnQgYmxvY2s8L2VtPi4KLTwvcD4KLQotPHA+Ci1Ob3JtYWxseSB0aGUgY29tbWVudCBibG9j
ayByZWZlcnMgdG8gdGhlIG5leHQgY29tbWVudCByZWZlcnJhbCBwb2ludCBpbgotdGhlIFdlYiBJ
REwuCi1JZiB0aGUgZmlyc3QgY2hhcmFjdGVyIGlzIDxjb2RlPiZsdDs8L2NvZGU+LCBzbyB0aGUg
Y29tbWVudCBibG9jayBpcyBpbnRyb2R1Y2VkCi13aXRoIDxjb2RlPi8qKiZsdDs8L2NvZGU+IG9y
IDxjb2RlPi8qISZsdDs8L2NvZGU+ICwgdGhlbiB0aGUgY29tbWVudCBibG9jawotcmVmZXJzIGJh
Y2sgdG8gdGhlIHByZXZpb3VzIGNvbW1lbnQgcmVmZXJyYWwgcG9pbnQuCi08L3A+Ci0KLTxwPgot
VGhlIHRleHQgb2YgdGhlIGNvbW1lbnQgYmxvY2sKLWV4Y2x1ZGVzIHRoZSBpbml0aWFsIDxjb2Rl
PiE8L2NvZGU+IG9yIDxjb2RlPio8L2NvZGU+IChhbmQgdGhlIDxjb2RlPiZsdDs8L2NvZGU+Ci1m
b3IgYSByZWZlcnJpbmcgYmFjayBibG9jayksCi1hbmQgZXhjbHVkZXMgYW4gaW5pdGlhbCAoYWZ0
ZXIgd2hpdGVzcGFjZSkgPGNvZGU+KjwvY29kZT4KLW9uIGVhY2ggbGluZSwKLWFuZCwgd2hlbiBu
b3QgaW4gYSA8YSBocmVmPSIjY29kZSI+PGNvZGU+XGNvZGU8L2NvZGU+PC9hPiBibG9jaywKLWV4
Y2x1ZGVzIGFueSBsaW5lIGNvbnNpc3RpbmcgZW50aXJlbHkgb2Ygd2hpdGVzcGFjZSwgdGhlbiA8
Y29kZT4qPC9jb2RlPgotY2hhcmFjdGVycywgdGhlbiB3aGl0ZXNwYWNlLgotPC9wPgotCi08cD4K
LXdpZGxwcm9jIGRvZXMgbm90IHN1cHBvcnQgRG94eWdlbiBjb21tYW5kcyB0byBmb3JjZSBhIGNv
bW1lbnQKLWJsb2NrIHRvIHJlZmVyIHRvIGEgZGlmZmVyZW50IHJlZmVycmFsIHBvaW50LgotPC9w
PgotCi08aDQ+SW5saW5lIGNvbW1lbnRzPC9oND4KLQotPHA+Ci1UaGUgbWF4aW1hbCBzZXF1ZW5j
ZSBvZiBpbmxpbmUgY29tbWVudHMgKGRlbGltaXRlZCBieSA8Y29kZT4vLzwvY29kZT4pCi1vbiBh
ZGphY2VudCBsaW5lcywgd2hlcmUgYWxsIG9mIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBob2xk
OgotPC9wPgotPHVsPgotPGxpPgotZWFjaCBoYXMgYSBmaXJzdCBjaGFyYWN0ZXIgYWZ0ZXIgdGhl
IDxjb2RlPi88L2NvZGU+IG9mIDxjb2RlPiE8L2NvZGU+IG9yCi1hIHRoaXJkIDxjb2RlPi88L2Nv
ZGU+OwotPGxpPgotbm8gY29tbWVudCByZWZlcnJhbCBwb2ludCBpbnRlcnZlbmVzOwotPGxpPgot
ZWl0aGVyIGVhY2ggY29tbWVudCBpbiB0aGUgc2VxdWVuY2Ugc3RhcnRzIHdpdGggYSA8Y29kZT4m
bHQ7PC9jb2RlPgotKHNlZSBiZWxvdyksIG9yIG5vbmUgZG9lczsKLTxsaT4KLXRoZSBzZXF1ZW5j
ZSBjb250YWlucyBhdCBsZWFzdCB0d28gaW5saW5lIGNvbW1lbnRzLCBvciwgaWYgb25seSBvbmUs
Ci10aGVuIGl0IHN0YXJ0cyB3aXRoIDxjb2RlPiZsdDs8L2NvZGU+IChzZWUgYmVsb3cpOwotPC91
bD4KLTxwPgotZm9ybXMgYSA8ZW0+RG94eWdlbiBjb21tZW50IGJsb2NrPC9lbT4uCi08L3A+Ci0K
LTxwPgotTm9ybWFsbHkgdGhlIGNvbW1lbnQgYmxvY2sgcmVmZXJzIHRvIHRoZSBuZXh0IGNvbW1l
bnQgcmVmZXJyYWwgcG9pbnQgaW4KLXRoZSBXZWIgSURMLgotSWYgdGhlIGZpcnN0IGNoYXJhY3Rl
ciBvZiBlYWNoIGNvbW1lbnQgaXMgPGNvZGU+Jmx0OzwvY29kZT4sIHNvIGVhY2gKLWNvbW1lbnQg
aW4gdGhlIGJsb2NrIGlzIGludHJvZHVjZWQKLXdpdGggPGNvZGU+Ly8vJmx0OzwvY29kZT4gb3Ig
PGNvZGU+Ly8hJmx0OzwvY29kZT4gLCB0aGVuIHRoZSBjb21tZW50IGJsb2NrCi1yZWZlcnMgYmFj
ayB0byB0aGUgcHJldmlvdXMgY29tbWVudCByZWZlcnJhbCBwb2ludC4KLTwvcD4KLQotPHA+Ci1U
aGUgdGV4dCBvZiB0aGUgY29tbWVudCBibG9jawotZXhjbHVkZXMgdGhlIGluaXRpYWwgPGNvZGU+
ITwvY29kZT4gb3IgPGNvZGU+LzwvY29kZT4gKGFuZCB0aGUgPGNvZGU+Jmx0OzwvY29kZT4KLWZv
ciBhIHJlZmVycmluZyBiYWNrIGJsb2NrKSBvZiBlYWNoIGlubGluZSBjb21tZW50LAotYW5kLCB3
aGVuIG5vdCBpbiBhIDxhIGhyZWY9IiNjb2RlIj48Y29kZT5cY29kZTwvY29kZT48L2E+IGJsb2Nr
LAotZXhjbHVkZXMgYW55IGxpbmUgY29uc2lzdGluZyBlbnRpcmVseSBvZiB3aGl0ZXNwYWNlLCB0
aGVuIDxjb2RlPi88L2NvZGU+Ci1jaGFyYWN0ZXJzLCB0aGVuIHdoaXRlc3BhY2UuCi08L3A+Ci0K
LTxwPgotd2lkbHByb2MgZG9lcyBub3Qgc3VwcG9ydCBEb3h5Z2VuIGNvbW1hbmRzIHRvIGZvcmNl
IGEgY29tbWVudAotYmxvY2sgdG8gcmVmZXIgdG8gYSBkaWZmZXJlbnQgcmVmZXJyYWwgcG9pbnQu
Ci08L3A+Ci0KLTxoMz5QYXJhZ3JhcGg8L2gzPgotCi08cD4KLUEgY29tbWVudCBibG9jayBpcyBi
cm9rZW4gaW50byB6ZXJvIG9yIG1vcmUgPGVtPnBhcmFncmFwaDwvZW0+cy4KLU9uZSBvciBtb3Jl
IGJsYW5rIGxpbmVzIGJyZWFrIHRoZSBwYXJhZ3JhcGhzICh1bmxlc3MgaW4gYQotPGEgaHJlZj0i
I2NvZGUiPjxjb2RlPlxjb2RlPC9jb2RlPjwvYT4gYmxvY2spLgotPC9wPgotCi08cD4KLUNlcnRh
aW4gY29tbWFuZHMgKGJlbG93KSBhbHNvIHN0YXJ0IGEgbmV3IHBhcmFncmFwaC4KLTwvcD4KLQot
PHA+Ci1BbgotPGEgaHJlZj0iI2h0bWwiPkhUTUwgYmxvY2sgZWxlbWVudDwvYT4KLWlzIGEgcGFy
YWdyYXBoLgotQSBibGFuayBsaW5lIChvdGhlciB0aGFuIGluIGEKLTxhIGhyZWY9IiNjb2RlIj48
Y29kZT5cY29kZTwvY29kZT48L2E+IGJsb2NrKQotaW1wbGljaXRseSBjbG9zZXMgYW55IG9wZW4g
SFRNTCBlbGVtZW50cywgdGh1cyBlbmRpbmcgdGhlIHBhcmFncmFwaC4KLTwvcD4KLQotPGgzPkRv
eHlnZW4tbGlrZSBjb21tYW5kczwvaDM+Ci0KLTxwPgotd2lkbHByb2Mgc3VwcG9ydHMgYSBzbWFs
bCBzdWJzZXQgb2YgRG94eWdlbiBjb21tYW5kcywgcGx1cyBzb21lIGFkZGl0aW9ucwotdG8gaGFu
ZGxlIEJPTkRJIEFQSSBmZWF0dXJlcyBhbmQgZGV2aWNlIGNhcGFiaWxpdGllcy4KLTwvcD4KLQot
PHA+Ci1BIGNvbW1hbmQgaXMgYWx3YXlzIGludHJvZHVjZWQgd2l0aCBhIDxjb2RlPlw8L2NvZGU+
IGNoYXJhY3Rlci4KLVRoZSBEb3h5Z2VuIGFsdGVybmF0aXZlIChmcm9tIEphdmFEb2MpIG9mIDxj
b2RlPkA8L2NvZGU+IGlzIG5vdAotc3VwcG9ydGVkLgotPC9wPgotCi08aDQgaWQ9ImFwaS1mZWF0
dXJlIj5cYXBpLWZlYXR1cmU8L2g0PgotCi08cD4KLVN0YXJ0cyBhIG5ldyBwYXJhZ3JhcGguIFRo
ZSBmb2xsb3dpbmcgd29yZCBpcyB0aGUgbmFtZSBvZiBhbiBBUEkgZmVhdHVyZQotdXNlZCBieSB0
aGUgbWV0aG9kIGJlaW5nIGRvY3VtZW50ZWQuIFRoZSByZW1haW5kZXIgb2YgdGhlIHBhcmFncmFw
aCBpcwotYW55IGRlc2NyaXB0aW9uIHJlcXVpcmVkIG9mIGhvdyAoZWcgaW4gd2hhdCBjaXJjdW1z
dGFuY2UpIHRoZSBBUEkgZmVhdHVyZQotaXMgdXNlZC4KLTwvcD4KLQotPGg0PlxuYW1lPC9oND4K
LQotPHA+Ci1EZWNsYXJlcyBhIG5hbWUgZm9yIHRoZSBkb2N1bWVudCBub2RlIGFzc29jaWF0ZWQg
d2l0aCB0aGUgY3VycmVudCByZWZlcnJhbAotcG9pbnQuIFRoaXMgaXMgdXNlZnVsIGZvciB0aGUg
cm9vdCBkb2N1bWVudCBub2RlIHRoYXQgb3RoZXJ3aXNlIGRvZXMgbm90IGhhdmUKLWEgV2ViSURM
IGlkZW50aWZpZXIuCi08L3A+Ci0KLTxoND5cYXV0aG9yPC9oND4KLQotPHA+Ci1TdGFydHMgYSBu
ZXcgcGFyYWdyYXBoLiBUaGUgcmVtYWluZGVyIG9mIHRoZSBwYXJhZ3JhcGggY29udGFpbnMKLWlu
Zm9ybWF0aW9uIGFib3V0IGEgc2luZ2xlIGF1dGhvciBvZiB0aGUgc3BlY2lmaWNhdGlvbi4gTXVs
dGlwbGUKLTxjb2RlPlxhdXRob3I8L2NvZGU+IGNvbW1hbmRzIHNob3VsZCBiZSB1c2VkIGZvciBt
dWx0aXBsZSBhdXRob3JzLgotPC9wPgotCi08cD4KLShIZXJlIHdpZGxwcm9jIGRpZmZlcnMgZnJv
bSBEb3h5Z2VuOyBEb3h5Z2VuIGFsc28gYWxsb3dzCi1tdWx0aXBsZSBhdXRob3JzIG9uIHNlcGFy
YXRlIGxpbmVzIHRvIGFwcGVhciBpbiBvbmUgPGNvZGU+XGF1dGhvcjwvY29kZT4KLXBhcmFncmFw
aC4pCi08L3A+Ci0KLTxoND5cYjwvaDQ+Ci0KLTxwPgotVGhpcyByZW5kZXJzIHRoZSBuZXh0IHdv
cmQgYXMgYm9sZC4gSXQgaXMgZXF1aXZhbGVudCB0byBlbmNsb3NpbmcgdGhlCi1uZXh0IHdvcmQg
d2l0aCA8Y29kZT4mbHQ7Yj4gJmx0Oy9iPjwvY29kZT4uCi08L3A+Ci0KLTxoND5cYnJpZWY8L2g0
PgotCi08cD4KLVN0YXJ0cyBhIG5ldyBwYXJhZ3JhcGguIFRoZSByZW1haW5kZXIgb2YgdGhlIHBh
cmFncmFwaCBjb250YWlucyBhIGJyaWVmCi1kZXNjcmlwdGlvbiBvZiB0aGUgZW50aXR5IGJlaW5n
IGRvY3VtZW50ZWQuCi08L3A+Ci0KLTxoNCBpZD0iY29kZSI+XGNvZGUsIFxlbmRjb2RlPC9oND4K
LQotPHA+Ci08Y29kZT5cY29kZTwvY29kZT4KLXN0YXJ0cyBhIG5ldyBwYXJhZ3JhcGggd2hpY2gg
aXMgYSA8ZW0+Y29kZSBibG9jazwvZW0+LiBUaGUgY29kZSBibG9jawotZW5kcyBhdCB0aGUgbmV4
dCA8Y29kZT5cZW5kY29kZTwvY29kZT4gY29tbWFuZC4KLTwvcD4KLQotPHA+Ci1XaXRoaW4gdGhl
IGNvZGUgYmxvY2ssIHdoaXRlc3BhY2UgYW5kIG5ld2xpbmVzIGFyZSBwYXNzZWQgdmVyYmF0aW0g
aW50bwotdGhlIG91dHB1dC4KLTwvcD4KLQotPGg0IGlkPSJkZWYtYXBpLWZlYXR1cmUiPlxkZWYt
YXBpLWZlYXR1cmU8L2g0PgotCi08cD4KLVN0YXJ0cyBhIG5ldyBwYXJhZ3JhcGguIFRoZSBmb2xs
b3dpbmcgd29yZCBpcyB0aGUgbmFtZSBvZiB0aGUgQVBJIGZlYXR1cmUKLXdoaWNoIGlzIGRlZmlu
ZWQgaGVyZS4gVGhlIGRlc2NyaXB0aW9uIGlzIGFuIDxlbT5kZWYtYXBpLWZlYXR1cmUgYmxvY2s8
L2VtPiwKLWNvbnNpc3Rpbmcgb2YgdGhlCi1yZW1haW5kZXIgb2YgdGhlIHBhcmFncmFwaCwgdG9n
ZXRoZXIgd2l0aAotZnVydGhlciBwYXJhZ3JhcGhzIGluIHRoZSBzYW1lIGJsb2NrIGNvbW1lbnQg
ZWFjaCBvZiB3aGljaCBpcyBhIHBsYWluCi1wYXJhZ3JhcGgsIGEgcGFyYWdyYXBoIHN0YXJ0ZWQg
ZHVlIHRvIEhUTUwgbWFya3VwLCBhIDxjb2RlPlxicmllZjwvY29kZT4KLXBhcmFncmFwaCwgb3Ig
YQotPGEgaHJlZj0iI2RldmljZS1jYXAiPjxjb2RlPlxkZXZpY2UtY2FwPC9jb2RlPjwvYT4KLXBh
cmFncmFwaC4KLTwvcD4KLQotPGg0IGlkPSJkZWYtYXBpLWZlYXR1cmUtc2V0Ij5cZGVmLWFwaS1m
ZWF0dXJlLXNldDwvaDQ+Ci0KLTxwPgotU3RhcnRzIGEgbmV3IHBhcmFncmFwaC4gVGhlIGZvbGxv
d2luZyB3b3JkIGlzIHRoZSBuYW1lIG9mIHRoZSBBUEkgZmVhdHVyZQotc2V0IHdoaWNoIGlzIGRl
ZmluZWQgaGVyZS4gVGhlIGRlc2NyaXB0aW9uIGlzIGFuIDxlbT5kZWYtYXBpLWZlYXR1cmUtc2V0
IGJsb2NrPC9lbT4sCi1jb25zaXN0aW5nIG9mIHRoZQotcmVtYWluZGVyIG9mIHRoZSBwYXJhZ3Jh
cGgsIHRvZ2V0aGVyIHdpdGgKLWZ1cnRoZXIgcGFyYWdyYXBocyBpbiB0aGUgc2FtZSBibG9jayBj
b21tZW50IGVhY2ggb2Ygd2hpY2ggaXMgYSBwbGFpbgotcGFyYWdyYXBoLCBhIHBhcmFncmFwaCBz
dGFydGVkIGR1ZSB0byBIVE1MIG1hcmt1cCwgYSA8Y29kZT5cYnJpZWY8L2NvZGU+Ci1wYXJhZ3Jh
cGgsIG9yIGEKLTxhIGhyZWY9IiNkZXZpY2UtY2FwIj48Y29kZT5cYXBpLWZlYXR1cmU8L2NvZGU+
PC9hPgotcGFyYWdyYXBoLgotPC9wPgotCi08aDQ+XGRlZi1kZXZpY2UtY2FwPC9oND4KLQotPHA+
Ci1TdGFydHMgYSBuZXcgcGFyYWdyYXBoLiBUaGUgZm9sbG93aW5nIHdvcmQgaXMgdGhlIG5hbWUg
b2YgdGhlIGRldmljZSBjYXBhYmlsaXR5Ci13aGljaCBpcyBkZWZpbmVkIGhlcmUuIFRoZSBkZXNj
cmlwdGlvbiBjb25zaXN0cyBvZiB0aGUKLXJlbWFpbmRlciBvZiB0aGUgcGFyYWdyYXBoLCB0b2dl
dGhlciB3aXRoCi1mdXJ0aGVyIHBhcmFncmFwaHMgaW4gdGhlIHNhbWUgYmxvY2sgY29tbWVudCBl
YWNoIG9mIHdoaWNoIGlzIGEgcGxhaW4KLXBhcmFncmFwaCwgYSBwYXJhZ3JhcGggc3RhcnRlZCBk
dWUgdG8gSFRNTCBtYXJrdXAsIGEgPGNvZGU+XGJyaWVmPC9jb2RlPgotcGFyYWdyYXBoLCBvciBh
Ci08YSBocmVmPSIjcGFyYW0iPjxjb2RlPlxwYXJhbTwvY29kZT48L2E+Ci1wYXJhZ3JhcGguCi08
L3A+Ci0KLTxoNCBpZD0iZGVmLWluc3RhbnRpYXRlZCI+XGRlZi1pbnN0YW50aWF0ZWQ8L2g0Pgot
Ci08cD4KLVN0YXJ0cyBhIG5ldyBwYXJhZ3JhcGguICBUaGUgZGVzY3JpcHRpb24gaXMgYW4gPGVt
PmRlZi1pbnN0YW50aWF0ZWQgYmxvY2s8L2VtPiwKLWNvbnNpc3Rpbmcgb2YgdGhlCi1yZW1haW5k
ZXIgb2YgdGhlIHBhcmFncmFwaCwgdG9nZXRoZXIgd2l0aAotZnVydGhlciBwYXJhZ3JhcGhzIGlu
IHRoZSBzYW1lIGJsb2NrIGNvbW1lbnQgZWFjaCBvZiB3aGljaCBpcyBhIHBsYWluCi1wYXJhZ3Jh
cGgsIGEgcGFyYWdyYXBoIHN0YXJ0ZWQgZHVlIHRvIEhUTUwgbWFya3VwLCBhIDxjb2RlPlxicmll
ZjwvY29kZT4KLXBhcmFncmFwaCwgb3IgYQotPGEgaHJlZj0iI2FwaS1mZWF0dXJlIj48Y29kZT5c
YXBpLWZlYXR1cmU8L2NvZGU+PC9hPgotcGFyYWdyYXBoLgotPC9wPgotCi08aDQgaWQ9ImRldmlj
ZS1jYXAiPlxkZXZpY2UtY2FwPC9oND4KLQotPHA+Ci1TdGFydHMgYSBuZXcgcGFyYWdyYXBoLgot
VGhpcyBjb21tYW5kIGNhbiBhcHBlYXIgb25seSBpbnNpZGUgYW4KLTxhIGhyZWY9IiNkZWYtYXBp
LWZlYXR1cmUiPmRlZi1hcGktZmVhdHVyZSBibG9jazwvYT4uCi1UaGUgZm9sbG93aW5nIHdvcmQg
aXMgdGhlIG5hbWUgb2YgYSBkZXZpY2UgY2FwYWJpbGl0eQotdXNlZCBieSB0aGUgQVBJIGZlYXR1
cmUgYmVpbmcgZG9jdW1lbnRlZC4KLVRoZSByZW1haW5kZXIgb2YgdGhlIHBhcmFncmFwaCBpcwot
YW55IGRlc2NyaXB0aW9uIHJlcXVpcmVkIG9mIGhvdyAoZWcgaW4gd2hhdCBjaXJjdW1zdGFuY2Up
IHRoZSBkZXZpY2UgY2FwYWJpbGl0eQotaXMgdXNlZC4KLTwvcD4KLQotPGg0PlxuPC9oND4KLQot
PHA+Ci1DcmVhdGVzIGEgbGluZSBicmVhayBpbiB0aGUgb3V0cHV0LgotPC9wPgotCi08aDQgaWQ9
InBhcmFtIj5ccGFyYW08L2g0PgotCi08cD4KLVN0YXJ0cyBhIG5ldyBwYXJhZ3JhcGguIFRoaXMg
dGFrZXMgdGhlIGZvbGxvd2luZyB3b3JkIGFzIHRoZSBuYW1lIG9mCi1hIHBhcmFtZXRlciAoYXJn
dW1lbnQpIG9mIHRoZSBlbnRpdHkgYmVpbmcgZG9jdW1lbnRlZCwgdGhlbiBtYWtlcyB0aGUKLXJl
bWFpbmRlciBvZiB0aGUgcGFyYWdyYXBoIHJlZmVyIHRvIHRoYXQgcGFyYW1ldGVyLgotPC9wPgot
Ci08aDQ+XHJldHVybjwvaDQ+Ci0KLTxwPgotU3RhcnRzIGEgbmV3IHBhcmFncmFwaC4gVGhlIHJl
bWFpbmRlciBvZiB0aGUgcGFyYWdyYXBoIGlzIG1hZGUgdG8gcmVmZXIgdG8KLXRoZSByZXR1cm4g
dHlwZSBvZiB0aGUgZW50aXR5IGJlaW5nIGRvY3VtZW50ZWQuCi08L3A+Ci0KLTxoND5cdGhyb3c8
L2g0PgotCi08cD4KLVN0YXJ0cyBhIG5ldyBwYXJhZ3JhcGguIFRoZSBuZXh0IHdvcmQgaXMgdGFr
ZW4gdG8gYmUgdGhlIG5hbWUgb2YgYW4KLWV4Y2VwdGlvbiB0aHJvd24gYnkgdGhlIGVudGl0eSBi
ZWluZyBkb2N1bWVudGVkLCBhbmQgdGhlIHJlbWFpbmRlciBvZgotdGhlIHBhcmFncmFwaCBkb2N1
bWVudHMgdGhhdCBleGNlcHRpb24gKGluIHRoZSA8Y29kZT5yYWlzZXM8L2NvZGU+IGxpc3Qgb2YK
LWFuIDxjb2RlPm9wZXJhdGlvbjwvY29kZT4sIG9yIHRoZSA8Y29kZT5zZXRyYWlzZXM8L2NvZGU+
Ci1jbGF1c2Ugb2YgYW4gPGNvZGU+YXR0cmlidXRlPC9jb2RlPikuCi08L3A+Ci0KLTxoND5cdmVy
c2lvbjwvaDQ+Ci0KLTxwPgotU3RhcnRzIGEgbmV3IHBhcmFncmFwaC4gVGhlIHJlbWFpbmRlciBv
ZiB0aGUgcGFyYWdyYXBoIGNvbnRhaW5zCi12ZXJzaW9uIG51bWJlciBpbmZvcm1hdGlvbi4KLTwv
cD4KLQotPGgzPkVzY2FwZSBzZXF1ZW5jZXM8L2gzPgotCi08cD4KLVRoZSBmb2xsb3dpbmcgZXNj
YXBlIHNlcXVlbmNlcyBhcmUgcmVjb2duaXplZCBpbiBhIGNvbW1lbnQgYmxvY2s6Ci08L3A+Ci0K
LTx0YWJsZT4KLTx0cj4KLTx0aD5lc2NhcGUgc2VxdWVuY2UKLTx0aD5yZXN1bHQKLTx0cj4KLTx0
ZD48Y29kZT5cXDwvY29kZT4KLTx0ZD48Y29kZT5cPC9jb2RlPgotPHRyPgotPHRkPjxjb2RlPlwm
YW1wOzwvY29kZT4KLTx0ZD48Y29kZT4mYW1wOzwvY29kZT4gKGVzY2FwZWQgdG8gPGNvZGU+JmFt
cDthbXA7PC9jb2RlPiBpbiBvdXRwdXQgWE1MKQotPHRyPgotPHRkPjxjb2RlPlwkPC9jb2RlPgot
PHRkPjxjb2RlPiQ8L2NvZGU+Ci08dHI+Ci08dGQ+PGNvZGU+XCM8L2NvZGU+Ci08dGQ+PGNvZGU+
IzwvY29kZT4KLTx0cj4KLTx0ZD48Y29kZT5cJmx0OzwvY29kZT4KLTx0ZD48Y29kZT4mbHQ7PC9j
b2RlPiAoZXNjYXBlZCB0byA8Y29kZT4mYW1wO2x0OzwvY29kZT4gaW4gb3V0cHV0IFhNTCkKLTx0
cj4KLTx0ZD48Y29kZT5cPjwvY29kZT4KLTx0ZD48Y29kZT4+PC9jb2RlPgotPHRyPgotPHRkPjxj
b2RlPlwlPC9jb2RlPgotPHRkPjxjb2RlPiU8L2NvZGU+Ci08L3RhYmxlPgotCi08cD4KLVNvbWUg
b2YgdGhlc2UgZXNjYXBlIHNlcXVlbmNlcyBhcmUgdXNlZCB0byBhdm9pZCBEb3h5Z2VuIGZlYXR1
cmVzIHRoYXQKLXdpZGxwcm9jIGRvZXMgbm90IGN1cnJlbnRseSBpbXBsZW1lbnQuIEluIHBhcnRp
Y3VsYXIsCi13aWRscHJvYyBpbnNpc3RzIG9uIGEgPGNvZGU+JDwvY29kZT4gYmVpbmcgZXNjYXBl
ZCwgdG8KLWFsbG93IGZvciBwb3NzaWJsZSBmdXR1cmUgZnVuY3Rpb25hbGl0eS4KLTwvcD4KLQot
PGgzIGlkPSJodG1sIj5IVE1MIGluIGNvbW1lbnRzPC9oMz4KLQotPHA+Ci13aWRscHJvYyBhY2Nl
cHRzIGEgc21hbGwgc3Vic2V0IG9mIEhUTUwgZWxlbWVudHMuCi08L3A+Ci0KLTxwPgotQW4gSFRN
TCBibG9jayBlbGVtZW50IGlzIGEgcGFyYWdyYXBoLgotQSBibGFuayBsaW5lIChvdGhlciB0aGFu
IGluIGEKLTxhIGhyZWY9IiNjb2RlIj48Y29kZT5cY29kZTwvY29kZT48L2E+IGJsb2NrKQotaW1w
bGljaXRseSBjbG9zZXMgYW55IG9wZW4gSFRNTCBlbGVtZW50cywgdGh1cyBlbmRpbmcgdGhlIHBh
cmFncmFwaC4KLTwvcD4KLQotPHA+Ci1UaGUgZm9sbG93aW5nIEhUTUwgYmxvY2sgZWxlbWVudHMg
YXJlIGFjY2VwdGVkOgotPGNvZGU+ZGw8L2NvZGU+Ci08Y29kZT5vbDwvY29kZT4KLTxjb2RlPnA8
L2NvZGU+Ci08Y29kZT50YWJsZTwvY29kZT4KLTxjb2RlPnVsPC9jb2RlPgotPC9wPgotCi08cD4K
LVRoZSBmb2xsb3dpbmcgSFRNTCBpbmxpbmUgZWxlbWVudHMgYXJlIGFjY2VwdGVkOgotPGNvZGU+
YTwvY29kZT4KLTxjb2RlPmltZzwvY29kZT4KLTxjb2RlPmI8L2NvZGU+Ci08Y29kZT5icjwvY29k
ZT4KLTxjb2RlPmVtPC9jb2RlPgotPC9wPgotCi08cD4KLVRoZSBmb2xsb3dpbmcgSFRNTCBlbGVt
ZW50cyBhcmUgYWNjZXB0ZWQgd2hlcmUgdmFsaWQgaW5zaWRlIG9uZSBvZiB0aGUKLW90aGVyIGVs
ZW1lbnRzOgotPGNvZGU+ZGQ8L2NvZGU+Ci08Y29kZT5kdDwvY29kZT4KLTxjb2RlPmxpPC9jb2Rl
PgotPGNvZGU+dGQ8L2NvZGU+Ci08Y29kZT50aDwvY29kZT4KLTxjb2RlPnRyPC9jb2RlPgotPC9w
PgotCi0KLTxoMj5PdXRwdXQgZm9ybWF0PC9oMj4KLQotPHA+Ci1UaGUgb3V0cHV0IG9mIHdpZGxw
cm9jIGlzIGFuIFhNTCByZXByZXNlbnRhdGlvbiBvZiB0aGUKLTxhIGhyZWY9IiN3ZWJpZGwiPldl
YiBJREw8L2E+LAotd2l0aCBhZGRlZCBYTUwgZWxlbWVudHMgcmVwcmVzZW50aW5nIHRoZQotPGEg
aHJlZj0iI2RveHlnZW4iPkRveHlnZW48L2E+LWxpa2UgY29tbWVudHMuCi08L3A+Ci0KLTxoMz5B
bm5vdGF0ZWQgZG9jdW1lbnQgdHlwZSBkZWNsYXJhdGlvbjwvaDM+Ci0KLTxwcmUgY2xhc3M9ImR0
ZCI+Ci0mbHQ7IS0tIEF1dG9nZW5lcmF0ZWQgZnJvbSB3aWRscHJvYy5odG1sIDogZG8gbm90IGVk
aXQuIC0tPgotPC9wcmU+Ci0KLTxoND5FbnRpdGllcyB1c2VkIGVsc2V3aGVyZTwvaDQ+Ci0KLTxw
cmUgY2xhc3M9ImR0ZCI+Ci0mbHQ7IUVOVElUWSAlIGJsb2NrICdkbCB8IHAgfCB0YWJsZSB8IHVs
JyA+Ci0mbHQ7IUVOVElUWSAlIEJsb2NrICcoJWJsb2NrOykqJyA+Ci0mbHQ7IUVOVElUWSAlIGlu
bGluZSAnYSB8IGIgfCBiciB8IGVtIHwgaW1nJyA+Ci0mbHQ7IUVOVElUWSAlIElubGluZSAnKCNQ
Q0RBVEEgfCAlaW5saW5lOykqJyA+Ci0mbHQ7IUVOVElUWSAlIEZsb3cgJygjUENEQVRBIHwgJWlu
bGluZTsgfCAlYmxvY2s7KSonID4KLQotJmx0OyFFTEVNRU5UIHdlYmlkbCAoI1BDREFUQSB8IHJl
ZikqID4KLTwvcHJlPgotCi08cD4KLVRoZSA8Y29kZT4mbHQ7d2ViaWRsPjwvY29kZT4gZWxlbWVu
dCBjb250YWlucyB0aGUgbGl0ZXJhbCB0ZXh0IG9mIHRoZQotb3JpZ2luYWwgV2ViIElETCB0aGF0
IHRoZSBwYXJlbnQKLWVsZW1lbnQgd2FzIHBhcnNlZCBmcm9tLCBtaW51cyB0aGUgY29tbWVudHMs
IHdpdGggZWFjaCByZWZlcmVuY2UgdG8KLWFuIGludGVyZmFjZSBuYW1lIAotZW5jbG9zZWQgaW4g
YSA8Y29kZT4mbHQ7cmVmPjwvY29kZT4uLjxjb2RlPiZsdDsvcmVmPjwvY29kZT4uCi08L3A+Ci0K
LTxoND5EZWZpbml0aW9uczwvaDQ+Ci0KLTxwPgotPGVtPkRlZmluaXRpb25zPC9lbT4gaXMgdGhl
IHJvb3QgZWxlbWVudCBvZiB0aGUgWE1MIGRvY3VtZW50LgotPC9wPgotCi08cD4KLVRoZSA8ZW0+
RXh0ZW5kZWRBdHRyaWJ1dGVMaXN0PC9lbT4gc3BlY2lmaWVzIGFueSBleHRlbmRlZCBhdHRyaWJ1
dGVzCi1mb3IgdGhlICA8ZW0+SW50ZXJmYWNlPC9lbT4sIDxlbT5EaWN0aW9uYXJ5PC9lbT4sIDxl
bT5FeGNlcHRpb248L2VtPiwKLTxlbT5UeXBlZGVmPC9lbT4sIDxlbT5WYWx1ZXR5cGU8L2VtPiBv
ciA8ZW0+Q29uc3Q8L2VtPiBpbiB0aGUKLTxlbT5EZWZpbml0aW9uPC9lbT4uCi08L3A+Ci0KLTxw
cmUgY2xhc3M9ImR0ZCI+Ci0mbHQ7IUVMRU1FTlQgRGVmaW5pdGlvbnMgKCB3ZWJpZGwsIGRlc2Ny
aXB0aXZlPywgKEludGVyZmFjZSB8IERpY3Rpb25hcnkgfCBDYWxsYmFjawotICAgIHwgRW51bSB8
IEV4Y2VwdGlvbiB8IFR5cGVkZWYgfCBJbXBsZW1lbnRzKSopID4KLTwvcHJlPgotCi08aDQ+SW50
ZXJmYWNlPC9oND4KLQotPHA+Ci1BbiA8ZW0+SW50ZXJmYWNlPC9lbT4gcmVwcmVzZW50cyBhbiBp
bnRlcmZhY2UuIFRoZSA8ZW0+bmFtZTwvZW0+Ci1hdHRyaWJ1dGUgc3BlY2lmaWVzIHRoZSBuYW1l
IG9mIHRoZSBpbnRlcmZhY2UuIFRoZSA8ZW0+ZGVzY3JpcHRpdmU8L2VtPiBlbGVtZW50Ci1wcm92
aWRlcyBpdHMgZG9jdW1lbnRhdGlvbiBpZiBhbnkuCi1UaGUgPGVtPmlkPC9lbT4gYXR0cmlidXRl
IHNwZWNpZmllcyB0aGUgYWJzb2x1dGUgc2NvcGVkIG5hbWUgb2YgdGhlIGludGVyZmFjZS4KLTwv
cD4KLQotPHA+VGhlIDxlbT5wYXJ0aWFsPC9lbT4gYXR0cmlidXRlIGluZGljYXRlcyB0aGF0IHRo
ZSBkZWZpbml0aW9uIG9mIHRoZSBpbnRlcmZhY2UgY29tcGxlbWVudHMgYW4gZXhpc3RpbmcgZGVm
aW5pdGlvbi4gVGhlIDxlbT5jYWxsYmFjazwvZW0+IGF0dHJpYnV0ZSBzcGVjaWZpY2llcyB0aGF0
IGEgZ2l2ZW4gaW50ZXJmYWNlIGlzIGEgY2FsbGJhY2sgaW50ZXJmYWNlLjwvcD4KLQotPHA+Ci1U
aGUgPGVtPkludGVyZmFjZUluaGVyaXRhbmNlPC9lbT4gZWxlbWVudCBpbmRpY2F0ZXMgdGhhdCB0
aGUgaW50ZXJmYWNlCi1pbmhlcml0cyBmcm9tIG90aGVyIGludGVyZmFjZShzKS4gRWFjaCA8ZW0+
TmFtZTwvZW0+IGluIHRoZQotPGVtPkludGVyZmFjZUluaGVyaXRhbmNlPC9lbT4gaGFzIGEgPGVt
Pm5hbWU8L2VtPiBhdHRyaWJ1dGUgZ2l2aW5nIHRoZQotc2NvcGVkIG5hbWUgb2YgdGhlIGludGVy
ZmFjZSBiZWluZyBpbmhlcml0ZWQgZnJvbS4KLTwvcD4KLQotPHByZSBjbGFzcz0iZHRkIj4KLSZs
dDshRUxFTUVOVCBJbnRlcmZhY2UgKHdlYmlkbCwgZGVzY3JpcHRpdmU/LCBFeHRlbmRlZEF0dHJp
YnV0ZUxpc3Q/LAotICAgICAgICBJbnRlcmZhY2VJbmhlcml0YW5jZT8sIChDb25zdCB8IEF0dHJp
YnV0ZSB8IE9wZXJhdGlvbiB8IFN0cmluZ2lmaWVyKiB8IFNlcmlhbGl6ZXIqIHwgSXRlcmF0b3Ig
fCBJdGVyYXRvck9iamVjdCkqICkgPgotJmx0OyFBVFRMSVNUIEludGVyZmFjZSBuYW1lIENEQVRB
ICNSRVFVSVJFRAotICAgICAgICAgICAgICAgICAgICBwYXJ0aWFsIChwYXJ0aWFsKSAjSU1QTElF
RAotICAgICAgICAgICAgICAgICAgICBjYWxsYmFjayAoY2FsbGJhY2spICNJTVBMSUVECi0gICAg
ICAgICAgICAgICAgICAgIGlkIENEQVRBICNSRVFVSVJFRCA+Ci0KLSZsdDshRUxFTUVOVCBJbnRl
cmZhY2VJbmhlcml0YW5jZSAoTmFtZSspID4KLQotJmx0OyFFTEVNRU5UIE5hbWUgRU1QVFkgPgot
Jmx0OyFBVFRMSVNUIE5hbWUgbmFtZSBDREFUQSAjUkVRVUlSRUQgPgotPC9wcmU+Ci0KLTxoND5E
aWN0aW9uYXJ5PC9oND4KLQotPHA+Ci1BIDxlbT5EaWN0aW9uYXJ5PC9lbT4gcmVwcmVzZW50cyBh
IGRpY3Rpb25hcnkuIFRoZSA8ZW0+bmFtZTwvZW0+Ci1hdHRyaWJ1dGUgc3BlY2lmaWVzIHRoZSBu
YW1lIG9mIHRoZSBkaWN0aW9uYXJ5LiBUaGUgPGVtPmRlc2NyaXB0aXZlPC9lbT4gZWxlbWVudAot
cHJvdmlkZXMgaXRzIGRvY3VtZW50YXRpb24gaWYgYW55LgotVGhlIDxlbT5pZDwvZW0+IGF0dHJp
YnV0ZSBzcGVjaWZpZXMgdGhlIGFic29sdXRlIHNjb3BlZCBuYW1lIG9mIHRoZSBkaWN0aW9uYXJ5
LgotPC9wPgotCi08cD5UaGUgPGVtPnBhcnRpYWw8L2VtPiBhdHRyaWJ1dGUgaW5kaWNhdGVzIHRo
YXQgdGhlIGRlZmluaXRpb24gb2YgdGhlIGludGVyZmFjZSBjb21wbGVtZW50cyBhbiBleGlzdGlu
ZyBkZWZpbml0aW9uLjwvcD4KLQotPHA+Ci1UaGUgPGVtPkRpY3Rpb25hcnlJbmhlcml0YW5jZTwv
ZW0+IGVsZW1lbnQgaW5kaWNhdGVzIHRoYXQgdGhlIGRpY3Rpb25hcnkKLWluaGVyaXRzIGZyb20g
b3RoZXIgZGljdGlvbmFyeShzKS4gRWFjaCA8ZW0+TmFtZTwvZW0+IGluIHRoZQotPGVtPkRpY3Rp
b25hcnlJbmhlcml0YW5jZTwvZW0+IGhhcyBhIDxlbT5uYW1lPC9lbT4gYXR0cmlidXRlIGdpdmlu
ZyB0aGUKLXNjb3BlZCBuYW1lIG9mIHRoZSBkaWN0aW9uYXJ5IGJlaW5nIGluaGVyaXRlZCBmcm9t
LgotPC9wPgotCi0KLTxwcmUgY2xhc3M9ImR0ZCI+Ci0mbHQ7IUVMRU1FTlQgRGljdGlvbmFyeSAo
d2ViaWRsLCBkZXNjcmlwdGl2ZT8sIERpY3Rpb25hcnlJbmhlcml0YW5jZT8sIERpY3Rpb25hcnlN
ZW1iZXIqICkgPgotJmx0OyFBVFRMSVNUIERpY3Rpb25hcnkgbmFtZSBDREFUQSAjUkVRVUlSRUQK
LSAgICAgICAgICAgICAgICAgICAgcGFydGlhbCAocGFydGlhbCkgI0lNUExJRUQKLSAgICAgICAg
ICAgICAgICAgICAgaWQgQ0RBVEEgI1JFUVVJUkVEID4KLQotJmx0OyFFTEVNRU5UIERpY3Rpb25h
cnlJbmhlcml0YW5jZSAoTmFtZSspID4KLTwvcHJlPgotCi08aDQ+Q2FsbGJhY2s8L2g0PgotCi08
cD4KLUEgPGVtPkNhbGxiYWNrPC9lbT4gcmVwcmVzZW50cyBhIGNhbGxiYWNrIHR5cGUuIFRoZSA8
ZW0+bmFtZTwvZW0+Ci1hdHRyaWJ1dGUgc3BlY2lmaWVzIHRoZSBuYW1lIG9mIHRoZSBkaWN0aW9u
YXJ5LiBUaGUgPGVtPmRlc2NyaXB0aXZlPC9lbT4gZWxlbWVudAotcHJvdmlkZXMgaXRzIGRvY3Vt
ZW50YXRpb24gaWYgYW55LjwvcD4KLQotPHA+VGhlIDxlbT5UeXBlPC9lbT4gZWxlbWVudCBzcGVj
aWZpZXMgaXRzIHJldHVybiB0eXBlLjwvcD4KLQotPHA+Ci1BbiA8ZW0+QXJndW1lbnQ8L2VtPiBp
cyBhbiBhcmd1bWVudCB0byBhbiBvcGVyYXRpb24uCi1UaGUgPGVtPlR5cGU8L2VtPiBlbGVtZW50
IHNwZWNpZmllcyBpdHMgdHlwZS4gVGhlIDxlbT5uYW1lPC9lbT4KLWF0dHJpYnV0ZSBzcGVjaWZp
ZXMgaXRzIG5hbWUgaWYgaXQgaGFzIG9uZS4KLTwvcD4KLQotPHByZSBjbGFzcz0iZHRkIj4KLSZs
dDshRUxFTUVOVCBDYWxsYmFjayAod2ViaWRsLCBkZXNjcmlwdGl2ZT8sIFR5cGUsIEFyZ3VtZW50
TGlzdD8gKSA+Ci0mbHQ7IUFUVExJU1QgQ2FsbGJhY2sgbmFtZSBDREFUQSAjUkVRVUlSRUQKLSAg
ICAgICAgICAgICAgICAgICAgICBpZCBDREFUQSAjUkVRVUlSRUQ+Ci08L3ByZT4KLQotCi08aDQ+
RW51bTwvaDQ+Ci0KLTxwPgotQW4gPGVtPkVudW08L2VtPiByZXByZXNlbnRzIGFuIGVudW1lcmF0
aW9uLiBUaGUgPGVtPm5hbWU8L2VtPgotYXR0cmlidXRlIHNwZWNpZmllcyB0aGUgbmFtZSBvZiB0
aGUgZW51bWVyYXRpb24uIFRoZSA8ZW0+ZGVzY3JpcHRpdmU8L2VtPiBlbGVtZW50Ci1wcm92aWRl
cyBpdHMgZG9jdW1lbnRhdGlvbiBpZiBhbnkuCi08L3A+Ci0KLTxwPgotVGhlIDxlbT5FbnVtVmFs
dWU8L2VtPiBlbGVtZW50IGluZGljYXRlcyB0aGUgdmFsdWVzIGRlZmluZWQgZm9yIHRoYXQgZW51
bWVyYXRpb24gaW4gaXRzIDxlbT5zdHJpbmd2YWx1ZTwvZW0+IGF0dHJpYnV0ZS4KLTwvcD4KLQot
Ci08cHJlIGNsYXNzPSJkdGQiPgotJmx0OyFFTEVNRU5UIEVudW0gKHdlYmlkbCwgZGVzY3JpcHRp
dmU/LCBFbnVtVmFsdWUqICkgPgotJmx0OyFBVFRMSVNUIEVudW0gbmFtZSBDREFUQSAjUkVRVUlS
RUQgCi0gICAgICAgICAgICAgICAgICAgIGlkIENEQVRBICNSRVFVSVJFRCA+Ci0KLSZsdDshRUxF
TUVOVCBFbnVtVmFsdWUgKHdlYmlkbCwgZGVzY3JpcHRpdmU/KSA+Ci0mbHQ7IUFUVExJU1QgRW51
bVZhbHVlIHN0cmluZ3ZhbHVlIENEQVRBICNSRVFVSVJFRCA+Ci08L3ByZT4KLQotCi0KLTxoND5F
eGNlcHRpb248L2g0PgotCi08cD4KLUFuIDxlbT5FeGNlcHRpb248L2VtPiByZXByZXNlbnRzIGFu
IGV4Y2VwdGlvbi4KLVRoZSA8ZW0+bmFtZTwvZW0+Ci1hdHRyaWJ1dGUgc3BlY2lmaWVzIHRoZSBu
YW1lIG9mIHRoZSBleGNlcHRpb24uCi1UaGUgPGVtPmRlc2NyaXB0aXZlPC9lbT4gZWxlbWVudAot
cHJvdmlkZXMgaXRzIGRvY3VtZW50YXRpb24gaWYgYW55LgotVGhlIDxlbT5pZDwvZW0+IGF0dHJp
YnV0ZSBzcGVjaWZpZXMgdGhlIGFic29sdXRlIHNjb3BlZCBuYW1lIG9mIHRoZSBleGNlcHRpb24u
Ci08L3A+Ci0KLTxwPgotQW4gPGVtPkV4Y2VwdGlvbkZpZWxkPC9lbT4gcmVwcmVzZW50cyBhIGZp
ZWxkIGluIGFuIGV4Y2VwdGlvbi4KLVRoZSA8ZW0+bmFtZTwvZW0+Ci1hdHRyaWJ1dGUgc3BlY2lm
aWVzIHRoZSBuYW1lIG9mIHRoZSBmaWVsZC4KLVRoZSA8ZW0+VHlwZTwvZW0+IGVsZW1lbnQgc3Bl
Y2lmaWVzIGl0cyB0eXBlLgotVGhlIDxlbT5kZXNjcmlwdGl2ZT48L2VtPiBlbGVtZW50Ci1wcm92
aWRlcyBpdHMgZG9jdW1lbnRhdGlvbiBpZiBhbnkuCi1UaGUgPGVtPmlkPC9lbT4gYXR0cmlidXRl
IHNwZWNpZmllcyB0aGUgYWJzb2x1dGUgc2NvcGVkIG5hbWUgb2YgdGhlIGZpZWxkLgotPC9wPgot
Ci08cD4KLVRoZSA8ZW0+RXhjZXB0aW9uSW5oZXJpdGFuY2U8L2VtPiBlbGVtZW50IGluZGljYXRl
cyB0aGF0IHRoZSBleGNlcHRpb24KLWluaGVyaXRzIGZyb20gYW5vdGhlciBleGNlcHRpb24uIFRo
ZSA8ZW0+TmFtZTwvZW0+IGluIHRoZQotPGVtPkV4Y2VwdGlvbkluaGVyaXRhbmNlPC9lbT4gaGFz
IGEgPGVtPm5hbWU8L2VtPiBhdHRyaWJ1dGUgZ2l2aW5nIHRoZQotc2NvcGVkIG5hbWUgb2YgdGhl
IGV4Y2VwdGlvbiBiZWluZyBpbmhlcml0ZWQgZnJvbS4KLTwvcD4KLQotCi08cHJlIGNsYXNzPSJk
dGQiPgotJmx0OyFFTEVNRU5UIEV4Y2VwdGlvbiAod2ViaWRsLCBkZXNjcmlwdGl2ZT8sIEV4dGVu
ZGVkQXR0cmlidXRlTGlzdD8sIEV4Y2VwdGlvbkluaGVyaXRhbmNlPywKLSAgICAgICAgKENvbnN0
IHwgRXhjZXB0aW9uRmllbGQpKiApID4KLSZsdDshQVRUTElTVCBFeGNlcHRpb24gbmFtZSBDREFU
QSAjUkVRVUlSRUQgCi0gICAgICAgICAgICAgICAgICAgIGlkIENEQVRBICNSRVFVSVJFRCA+Ci0K
LSZsdDshRUxFTUVOVCBFeGNlcHRpb25Jbmhlcml0YW5jZSAoTmFtZSkgPgotJmx0OyFFTEVNRU5U
IEV4Y2VwdGlvbkZpZWxkICh3ZWJpZGwsIGRlc2NyaXB0aXZlPywgRXh0ZW5kZWRBdHRyaWJ1dGVM
aXN0PywgKFR5cGUpKSA+Ci0mbHQ7IUFUVExJU1QgRXhjZXB0aW9uRmllbGQgbmFtZSBDREFUQSAj
UkVRVUlSRUQKLSAgICAgICAgICAgICAgICAgICAgICAgICBpZCBDREFUQSAjUkVRVUlSRUQgPgot
PC9wcmU+Ci0KLTxoND5UeXBlZGVmPC9oND4KLQotPHA+Ci1BIDxlbT5UeXBlZGVmPC9lbT4gcmVw
cmVzZW50cyBhIHR5cGUgZGVmaW5pdGlvbi4KLVRoZSA8ZW0+bmFtZTwvZW0+Ci1hdHRyaWJ1dGUg
c3BlY2lmaWVzIHRoZSBuYW1lIG9mIHRoZSBuZXcgdHlwZS4KLVRoZSA8ZW0+VHlwZTwvZW0+IGVs
ZW1lbnQgc3BlY2lmaWVzIGl0IGluIHRlcm1zIG9mIG90aGVyIHR5cGVzLgotVGhlIDxlbT5kZXNj
cmlwdGl2ZT48L2VtPiBlbGVtZW50Ci1wcm92aWRlcyBpdHMgZG9jdW1lbnRhdGlvbiBpZiBhbnku
Ci1UaGUgPGVtPmlkPC9lbT4gYXR0cmlidXRlIHNwZWNpZmllcyB0aGUgYWJzb2x1dGUgc2NvcGVk
IG5hbWUgb2YgdGhlIHR5cGVkZWYuCi08L3A+Ci0KLTxwcmUgY2xhc3M9ImR0ZCI+Ci0mbHQ7IUVM
RU1FTlQgVHlwZWRlZiAod2ViaWRsLCBkZXNjcmlwdGl2ZT8sIEV4dGVuZGVkQXR0cmlidXRlTGlz
dD8sIChUeXBlKSkgPgotJmx0OyFBVFRMSVNUIFR5cGVkZWYgbmFtZSBDREFUQSAjUkVRVUlSRUQK
LSAgICAgICAgICAgICAgICAgIGlkIENEQVRBICNSRVFVSVJFRCA+Ci08L3ByZT4KLQotPGg0Pklt
cGxlbWVudHM8L2g0PgotCi08cD4KLUFuIDxlbT5JbXBsZW1lbnRzPC9lbT4gcmVwcmVzZW50cyBX
ZWIgSURMJ3MKLTxjb2RlPjxpPlNjb3BlZE5hbWU8L2k+IGltcGxlbWVudHMgPGk+U2NvcGVkTmFt
ZTwvaT47PC9jb2RlPgotc3ludGF4LiBUaGUgPGVtPm5hbWUxPC9lbT4gYW5kIDxlbT5uYW1lMjwv
ZW0+IGF0dHJpYnV0ZXMgZ2l2ZSB0aGUKLWZpcnN0IGFuZCBzZWNvbmQgc2NvcGVkIG5hbWVzIHJl
c3BlY3RpdmVseS4KLVRoZSA8ZW0+ZGVzY3JpcHRpdmU+PC9lbT4gZWxlbWVudAotcHJvdmlkZXMg
dGhlIDxlbT5JbXBsZW1lbnRzPC9lbT4ncyBkb2N1bWVudGF0aW9uIGlmIGFueS4KLTwvcD4KLQot
PHByZSBjbGFzcz0iZHRkIj4KLSZsdDshRUxFTUVOVCBJbXBsZW1lbnRzICh3ZWJpZGwsIGRlc2Ny
aXB0aXZlPywgRXh0ZW5kZWRBdHRyaWJ1dGVMaXN0PykgPgotJmx0OyFBVFRMSVNUIEltcGxlbWVu
dHMgbmFtZTEgQ0RBVEEgI1JFUVVJUkVECi0gICAgICAgICAgICAgICAgICAgICBuYW1lMiBDREFU
QSAjUkVRVUlSRUQgPgotPC9wcmU+Ci0KLTxoND5Db25zdDwvaDQ+Ci0KLTxwPgotPGVtPkNvbnN0
PC9lbT4gcmVwcmVzZW50cyBXZWIgSURMJ3MKLTxjb2RlPmNvbnN0IDxpPlR5cGU8L2k+IDxpPmlk
ZW50aWZpZXI8L2k+ID0gPGk+Q29uc3RFeHByPC9pPjs8L2NvZGU+Ci1zeW50YXguCi1UaGUgPGVt
PlR5cGU8L2VtPiBzcGVjaWZpZXMgdGhlIGNvbnN0YW50J3MgdHlwZSwgdGhlCi08ZW0+bmFtZTwv
ZW0+IGF0dHJpYnV0ZSBzcGVjaWZpZXMgdGhlIGNvbnN0YW50J3MgbmFtZSwgYW5kIHRoZQotPGVt
PnZhbHVlPC9lbT4gYXR0cmlidXRlIHNwZWNpZmllcyBpdHMgdmFsdWUuCi1UaGUgPGVtPmRlc2Ny
aXB0aXZlPjwvZW0+IGVsZW1lbnQKLXByb3ZpZGVzIHRoZSA8ZW0+Q29uc3Q8L2VtPidzIGRvY3Vt
ZW50YXRpb24gaWYgYW55LgotVGhlIDxlbT5pZDwvZW0+IGF0dHJpYnV0ZSBzcGVjaWZpZXMgdGhl
IGFic29sdXRlIHNjb3BlZCBuYW1lIG9mIHRoZSBjb25zdC4KLTwvcD4KLQotPHByZSBjbGFzcz0i
ZHRkIj4KLSZsdDshRUxFTUVOVCBDb25zdCAod2ViaWRsLCBkZXNjcmlwdGl2ZT8sIEV4dGVuZGVk
QXR0cmlidXRlTGlzdD8sIFR5cGUpID4KLSZsdDshQVRUTElTVCBDb25zdCBuYW1lIENEQVRBICNS
RVFVSVJFRAotICAgICAgICAgICAgICAgIHZhbHVlIENEQVRBICNJTVBMSUVECi0gICAgICAgICAg
ICAgICAgaWQgQ0RBVEEgI1JFUVVJUkVEID4KLTwvcHJlPgotCi08aDQ+U3RyaW5naWZpZXI8L2g0
PgotCi08cD4KLUEgPGVtPlN0cmluZ2lmaWVyPC9lbT4gcmVwcmVzZW50cyB0aGUgV2ViIElETCA8
Y29kZT5zdHJpbmdpZmllcjs8L2NvZGU+Ci1zeW50YXggYXMgYW4gaW50ZXJmYWNlIG1lbWJlci4K
LVRoZSA8ZW0+ZGVzY3JpcHRpdmU+PC9lbT4gZWxlbWVudAotcHJvdmlkZXMgdGhlIDxlbT5TdHJp
bmdpZmllcjwvZW0+J3MgZG9jdW1lbnRhdGlvbiBpZiBhbnkuCi08L3A+Ci0KLTxwcmUgY2xhc3M9
ImR0ZCI+Ci0mbHQ7IUVMRU1FTlQgU3RyaW5naWZpZXIgKHdlYmlkbCwgZGVzY3JpcHRpdmU/LCBF
eHRlbmRlZEF0dHJpYnV0ZUxpc3Q/KSA+Ci08L3ByZT4KLQotPGg0PkF0dHJpYnV0ZTwvaDQ+Ci0K
LTxwPgotQW4gPGVtPkF0dHJpYnV0ZTwvZW0+IHJlcHJlc2VudHMgYW4gYXR0cmlidXRlIGFzIGFu
IGludGVyZmFjZSBtZW1iZXIuCi1UaGUgPGVtPlR5cGU8L2VtPiBlbGVtZW50IHNwZWNpZmllcyBp
dHMgdHlwZS4gVGhlIDxlbT5uYW1lPC9lbT4KLWF0dHJpYnV0ZSBzcGVjaWZpZXMgaXRzIG5hbWUu
IEVhY2ggb2YgdGhlIDxlbT5zdHJpbmdpZmllcjwvZW0+LCA8ZW0+c3RhdGljPC9lbT4gYW5kCi08
ZW0+cmVhZG9ubHk8L2VtPiBhdHRyaWJ1dGVzIGlzIHNldCB0byBhIHZhbHVlIHRoZSBzYW1lIGFz
IHRoZSBhdHRyaWJ1dGUKLW5hbWUgd2hlbiB0aGUgY29ycmVzcG9uZGluZyBrZXl3b3JkIGFwcGVh
cnMgaW4gdGhlIFdlYiBJREwgaW5wdXQuIFRoZSA8ZW0+aW5oZXJpdDwvZW0+IGF0dHJpYnV0ZSBp
cyBzZXQgdG8gPGVtPmluaGVyaXQ8L2VtPiB3aGVuIHRoZSBhdHRyaWJ1dGUgaW5oZXJpdHMgaXRz
IGdldHRlci4KLTwvcD4KLQotCi08cD4KLVRoZSA8ZW0+ZGVzY3JpcHRpdmU+PC9lbT4gZWxlbWVu
dCBwcm92aWRlcyB0aGUgYXR0cmlidXRlJ3MgZG9jdW1lbnRhdGlvbgotaWYgYW55LgotVGhlIDxl
bT5pZDwvZW0+IGF0dHJpYnV0ZSBzcGVjaWZpZXMgdGhlIGFic29sdXRlIHNjb3BlZCBuYW1lIG9m
IHRoZSBhdHRyaWJ1dGUuCi08L3A+Ci0KLTxwcmUgY2xhc3M9ImR0ZCI+Ci0mbHQ7IUVMRU1FTlQg
QXR0cmlidXRlICh3ZWJpZGwsIGRlc2NyaXB0aXZlPywgRXh0ZW5kZWRBdHRyaWJ1dGVMaXN0Pywg
KFR5cGUpKSA+Ci0mbHQ7IUFUVExJU1QgQXR0cmlidXRlIHN0cmluZ2lmaWVyIChzdHJpbmdpZmll
cikgI0lNUExJRUQKLSAgICAgICAgICAgICAgICAgICAgcmVhZG9ubHkgKHJlYWRvbmx5KSAjSU1Q
TElFRAotICAgICAgICAgICAgICAgICAgICBpbmhlcml0IChpbmhlcml0KSAjSU1QTElFRAotICAg
ICAgICAgICAgICAgICAgICBzdGF0aWMgKHN0YXRpYykgI0lNUExJRUQKLSAgICAgICAgICAgICAg
ICAgICAgbmFtZSBDREFUQSAjUkVRVUlSRUQKLSAgICAgICAgICAgICAgICAgICAgaWQgQ0RBVEEg
I1JFUVVJUkVEID4KLQotPC9wcmU+Ci0KLQotPGg0Pk9wZXJhdGlvbjwvaDQ+Ci0KLTxwPgotQW4g
PGVtPk9wZXJhdGlvbjwvZW0+IHJlcHJlc2VudHMgYSBtZXRob2Qgb24gaW50ZXJmYWNlLgotVGhl
IDxlbT5UeXBlPC9lbT4gZWxlbWVudCBzcGVjaWZpZXMgaXRzIHJldHVybiB0eXBlLiBUaGUgPGVt
Pm5hbWU8L2VtPgotYXR0cmlidXRlIHNwZWNpZmllcyBpdHMgbmFtZS4KLTwvcD4KLQotPHA+Ci1F
YWNoIG9mIHRoZSA8ZW0+c3RyaW5naWZpZXI8L2VtPiwgPGVtPnN0YXRpYzwvZW0+LCA8ZW0+Z2V0
dGVyPC9lbT4sCi08ZW0+c2V0dGVyPC9lbT4sIDxlbT5jcmVhdG9yPC9lbT4sIDxlbT5kZWxldGVy
PC9lbT4gYW5kIDxlbT5sZWdhY3ljYWxsZXI8L2VtPiwgPGVtPnNlcmlhbGl6ZXI8L2VtPgotYXR0
cmlidXRlcyBpcyBzZXQgdG8gYSB2YWx1ZSB0aGUgc2FtZSBhcyB0aGUgYXR0cmlidXRlCi1uYW1l
IHdoZW4gdGhlIGNvcnJlc3BvbmRpbmcga2V5d29yZCBhcHBlYXJzIGluIHRoZSBXZWIgSURMIGlu
cHV0LgotPC9wPgotCi0KLTxwPgotVGhlIDxlbT5kZXNjcmlwdGl2ZT48L2VtPiBlbGVtZW50IHBy
b3ZpZGVzIHRoZSBhdHRyaWJ1dGUncyBkb2N1bWVudGF0aW9uCi1pZiBhbnkuCi1UaGUgPGVtPmlk
PC9lbT4gYXR0cmlidXRlIHNwZWNpZmllcyB0aGUgYWJzb2x1dGUgc2NvcGVkIG5hbWUgb2YgdGhl
IG9wZXJhdGlvbiBpZiBpdCBoYXMgb25lLgotPC9wPgotCi08cD4KLUFuIDxlbT5Bcmd1bWVudDwv
ZW0+IGlzIGFuIGFyZ3VtZW50IHRvIGFuIG9wZXJhdGlvbi4KLVRoZSA8ZW0+VHlwZTwvZW0+IGVs
ZW1lbnQgc3BlY2lmaWVzIGl0cyB0eXBlLiBUaGUgPGVtPm5hbWU8L2VtPgotYXR0cmlidXRlIHNw
ZWNpZmllcyBpdHMgbmFtZSBpZiBpdCBoYXMgb25lLgotPC9wPgotCi08cD4KLUVhY2ggb2YgdGhl
IDxlbT5vcHRpb25hbDwvZW0+IGFuZCA8ZW0+ZWxsaXBzaXM8L2VtPgotYXR0cmlidXRlcyBpcyBz
ZXQgdG8gYSB2YWx1ZSB0aGUgc2FtZSBhcyB0aGUgYXR0cmlidXRlCi1uYW1lIHdoZW4gdGhlIGNv
cnJlc3BvbmRpbmcgc3ludGF4IGFwcGVhcnMgaW4gdGhlIFdlYiBJREwgaW5wdXQuCi08L3A+Ci0K
LTxwPlRoZQotPGVtPnZhbHVlPC9lbT4gYXR0cmlidXRlIHVzZWQgb24gb3B0aW9uYWwgYXJndW1l
bnRzIHNwZWNpZmllcyBkZWZhdWx0IHZhbHVlIGZvciBub24tc3RyaW5nIHZhbHVlcywgYW5kIDxl
bT5zdHJpbmd2YWx1ZTwvZW0+IGZvciBzdHJpbmcgdmFsdWVzLjwvcD4KLQotCi08cHJlIGNsYXNz
PSJkdGQiPgotJmx0OyFFTEVNRU5UIE9wZXJhdGlvbiAod2ViaWRsLCBkZXNjcmlwdGl2ZT8sIEV4
dGVuZGVkQXR0cmlidXRlTGlzdD8sCi0gICAgICAgIChUeXBlKSwgQXJndW1lbnRMaXN0KSA+Ci0m
bHQ7IUFUVExJU1QgT3BlcmF0aW9uIHN0cmluZ2lmaWVyIChzdHJpbmdpZmllcikgI0lNUExJRUQK
LSAgICAgICAgICAgICAgICAgICAgc3RhdGljIChzdGF0aWMpICNJTVBMSUVECi0gICAgICAgICAg
ICAgICAgICAgIGdldHRlciAoZ2V0dGVyKSAjSU1QTElFRAotICAgICAgICAgICAgICAgICAgICBz
ZXR0ZXIgKHNldHRlcikgI0lNUExJRUQKLSAgICAgICAgICAgICAgICAgICAgY3JlYXRvciAoY3Jl
YXRvcikgI0lNUExJRUQKLSAgICAgICAgICAgICAgICAgICAgZGVsZXRlciAoZGVsZXRlcikgI0lN
UExJRUQKLSAgICAgICAgICAgICAgICAgICAgc2VyaWFsaXplciAoc2VyaWFsaXplcikgI0lNUExJ
RUQKLSAgICAgICAgICAgICAgICAgICAgbGVnYWN5Y2FsbGVyIChsZWdhY3ljYWxsZXIpICNJTVBM
SUVECi0gICAgICAgICAgICAgICAgICAgIG5hbWUgTk1UT0tFTiAjSU1QTElFRAotICAgICAgICAg
ICAgICAgICAgICBpZCBOTVRPS0VOICNJTVBMSUVEID4KLQotCi0mbHQ7IUVMRU1FTlQgQXJndW1l
bnRMaXN0IChBcmd1bWVudCopID4KLQotJmx0OyFFTEVNRU5UIEFyZ3VtZW50IChkZXNjcmlwdGl2
ZT8sIEV4dGVuZGVkQXR0cmlidXRlTGlzdD8sIChUeXBlKSkgPgotJmx0OyFBVFRMSVNUIEFyZ3Vt
ZW50Ci0gICAgICAgICAgICAgICAgICAgb3B0aW9uYWwgKG9wdGlvbmFsKSAjSU1QTElFRAotICAg
ICAgICAgICAgICAgICAgIGVsbGlwc2lzIChlbGxpcHNpcykgI0lNUExJRUQKLSAgICAgICAgICAg
ICAgICB2YWx1ZSBDREFUQSAjSU1QTElFRAotICAgICAgICAgICAgICAgIHN0cmluZ3ZhbHVlIENE
QVRBICNJTVBMSUVECi0gICAgICAgICAgICAgICAgICAgbmFtZSBOTVRPS0VOICNSRVFVSVJFRCA+
Ci08L3ByZT4KLQotPGg0PlNlcmlhbGl6ZXI8L2g0PgotPHA+QSA8ZW0+U2VyaWFsaXplcjwvZW0+
IHJlcHJlc2VudHMgYSBzZXJpYWxpemVyIGZvciBhbiBpbnRlcmZhY2UsIGVpdGhlciBkZWZpbmVk
IGluIHRoZSBwcm9zZSBvciB2aWEgYSBwYXR0ZXJuLjwvcD4KLQotPHA+VGhlIDxlbT5kZXNjcmlw
dGl2ZTwvZW0+IGVsZW1lbnQgcHJvdmlkZXMgdGhlIHNlcmlhbGl6ZXIncyBkb2N1bWVudGF0aW9u
IGlmIGFueS48L3A+Ci0KLQotPHA+VGhlIDxlbT5hdHRyaWJ1dGU8L2VtPiBhdHRyaWJ1dGUgZGVm
aW5lcyB0aGUgYXR0cmlidXRlIHRoYXQgaXMgdXNlZCBmb3Igc2VyaWFsaXphdGlvbiBpZiBhbnku
PC9wPgotCi08cD5UaGUgb3B0aW9uYWwgPGVtPk1hcDwvZW0+IGFuZCA8ZW0+TGlzdDwvZW0+IGVs
ZW1lbnRzIGRlc2NyaWJlIHRoZSBwYXR0ZXJuIChpZiBhbnkpIGZvciB0aGUgc2VyaWFsaXplci4g
VGhleSB0YWtlIDxlbT5QYXR0ZXJuQXR0cmlidXRlPC9lbT4gZWxlbWVudHMgd2l0aCBhIDxlbT5u
YW1lPC9lbT4gYXR0cmlidXRlIHRoYXQgZGVzY3JpYmVzIHRoZSBhdHRyaWJ1dGVzIHVzZWQgZm9y
IHNlcmlhbGl6YXRpb24uPC9wPgotCi08cD48ZW0+TWFwPC9lbT4gZWxlbWVudHMgdGFrZSBhIDxl
bT5wYXR0ZXJuPC9lbT4gYXR0cmlidXRlIHRoYXQgY2FuIGJlIHNldCB0byBlaXRoZXIgImdldHRl
ciIgKGlmIHRoZSBnZXR0ZXIgaXMgdXNlZCBmb3Igc2VyaWFsaXphdGlvbiksICJhbGwiIGlmIGFs
bCBzZXJpYWxpemFibGUgYXR0cmlidXRlcyBhcmUgdG8gYmUgdXNlZCwgb3IgInNlbGVjdGlvbiIg
aWYgdGhlIGF0dHJpYnV0ZXMgbmFtZWQgYXMgY2hpbGRyZW4gZWxlbWVudHMgYXJlIHRvIGJlIHVz
ZWQuIE9wdGlvbmFsbHksIHRoZXkgdGFrZSBhIDxlbT5pbmhlcml0PC9lbT4gYXR0cmlidXRlIHNl
dCB0byAiaW5oZXJpdCIgaWYgdGhlIHNlcmlhbGl6YXRpb24gdGFrZXMgYWxzbyBpbnRvIGFjY291
bnQgaW5oZXJpdGVkIGF0dHJpYnV0ZXMuPC9wPgotCi08cD48ZW0+TGlzdDwvZW0+IGVsZW1lbnRz
IHRha2UgYSA8ZW0+cGF0dGVybjwvZW0+IGF0dHJpYnV0ZSB0aGF0IGNhbiBiZSBzZXQgdG8gZWl0
aGVyICJnZXR0ZXIiIChpZiB0aGUgZ2V0dGVyIGlzIHVzZWQgZm9yIHNlcmlhbGl6YXRpb24pLCBv
ciAic2VsZWN0aW9uIiBpZiB0aGUgYXR0cmlidXRlcyBuYW1lZCBhcyBjaGlsZHJlbiBlbGVtZW50
cyBhcmUgdG8gYmUgdXNlZC48L3A+Ci0KLTxwcmUgY2xhc3M9ImR0ZCI+Ci0mbHQ7IUVMRU1FTlQg
U2VyaWFsaXplciAod2ViaWRsLCBkZXNjcmlwdGl2ZT8sIEV4dGVuZGVkQXR0cmlidXRlTGlzdD8s
IChNYXAgfCBMaXN0KT8pID4KLSZsdDshQVRUTElTVCBTZXJpYWxpemVyIGF0dHJpYnV0ZSBDREFU
QSAjSU1QTElFRCA+Ci0KLSZsdDshRUxFTUVOVCBNYXAgICgoUGF0dGVybkF0dHJpYnV0ZSopKSA+
Ci0KLSZsdDshQVRUTElTVCBNYXAgaW5oZXJpdCAoaW5oZXJpdCkgI0lNUExJRUQKLSAgICAgICAg
ICAgICAgICAgcGF0dGVybiAoZ2V0dGVyfGFsbHxzZWxlY3Rpb24pICNSRVFVSVJFRD4KLQotJmx0
OyFFTEVNRU5UIExpc3QgICgoUGF0dGVybkF0dHJpYnV0ZSopKSA+Ci0KLSZsdDshQVRUTElTVCBM
aXN0IHBhdHRlcm4gKGdldHRlcnxzZWxlY3Rpb24pICNSRVFVSVJFRD4KLQotJmx0OyFFTEVNRU5U
IFBhdHRlcm5BdHRyaWJ1dGUgRU1QVFk+Ci0mbHQ7IUFUVExJU1QgUGF0dGVybkF0dHJpYnV0ZSBu
YW1lIENEQVRBICNSRVFVSVJFRD4KLQotPC9wcmU+Ci0KLTxoND5JdGVyYXRvcjwvaDQ+Ci08cD5B
biA8ZW0+SXRlcmF0b3I8L2VtPiBlbGVtZW50IGRlZmluZXMgIHdoZXRoZXIgdGhlIGludGVyZmFj
ZSBoYXMgYSBjdXN0b20gaXRlcmF0b3I7IHRoZSB0eXBlIG9mIHRoZSBpdGVyYXRlZCBvYmplY3Rz
IGlzIGRlZmluZWQgaW4gdGhlIDxlbT5UeXBlPC9lbT4gY2hpbGQuIElmIHRoYXQgaW50ZXJhdG9y
IGltcGxlbWVudHMgYSBwYXJ0aWN1bGFyIGludGVyZmFjZSwgdGhlIG5hbWUgb2YgdGhhdCBpbnRl
cmZhY2UgaXMgc2V0IGluIHRoZSA8ZW0+aW50ZXJmYWNlPC9lbT4gYXR0cmlidXRlLjwvcD4KLTxw
cmUgY2xhc3M9ImR0ZCI+Ci0mbHQ7IUVMRU1FTlQgSXRlcmF0b3IgKHdlYmlkbCwgZGVzY3JpcHRp
dmU/LCBFeHRlbmRlZEF0dHJpYnV0ZUxpc3Q/LCBUeXBlKSA+Ci0mbHQ7IUFUVExJU1QgSXRlcmF0
b3IgaW50ZXJmYWNlIENEQVRBICNJTVBMSUVEPgotPC9wcmU+Ci0KLTxoND5JdGVyYXRvck9iamVj
dDwvaDQ+Ci08cD5BbiA8ZW0+SXRlcmF0b3JPYmplY3Q8L2VtPiBlbGVtZW50IGRlbm90ZXMgdGhh
dCB0aGUgaW50ZXJmYWNlIHNlcnZlcyBhcyBhbiBpdGVyYXRvciBvYmplY3QgaW50ZXJmYWNlOyB0
aGUgdHlwZSBvZiB0aGUgaXRlcmF0ZWQgb2JqZWN0cyBpcyBkZWZpbmVkIGluIHRoZSA8ZW0+VHlw
ZTwvZW0+IGNoaWxkLjwvcD4KLQotPHByZSBjbGFzcz0iZHRkIj4KLSZsdDshRUxFTUVOVCBJdGVy
YXRvck9iamVjdCAod2ViaWRsLCBkZXNjcmlwdGl2ZT8sIEV4dGVuZGVkQXR0cmlidXRlTGlzdD8s
IFR5cGUpID4KLTwvcHJlPgotCi0KLTxoND5EaWN0aW9uYXJ5TWVtYmVyPC9oND4KLQotPHA+Ci1B
IDxlbT5EaWN0aW9uYXJ5TWVtYmVyPC9lbT4gcmVwcmVzZW50cyBhIG1lbWJlciBvZiBhIGRpY3Rp
b25hcnkuCi1UaGUgPGVtPlR5cGU8L2VtPiBlbGVtZW50IHNwZWNpZmllcyBpdHMgdHlwZS4gVGhl
IDxlbT5uYW1lPC9lbT4KLWF0dHJpYnV0ZSBzcGVjaWZpZXMgaXRzIG5hbWUuIAotPC9wPgotCi08
cD4KLVRoZSA8ZW0+ZGVzY3JpcHRpdmU+PC9lbT4gZWxlbWVudCBwcm92aWRlcyB0aGUgZGljdGlv
bmFyeSBtZW1iZXIncyBkb2N1bWVudGF0aW9uCi1pZiBhbnkuCi1UaGUgPGVtPmlkPC9lbT4gYXR0
cmlidXRlIHNwZWNpZmllcyB0aGUgYWJzb2x1dGUgc2NvcGVkIG5hbWUgb2YgdGhlIGF0dHJpYnV0
ZS4KLTwvcD4KLQotPHA+VGhlCi08ZW0+dmFsdWU8L2VtPiBhdHRyaWJ1dGUgc3BlY2lmaWVzIGl0
cyB2YWx1ZSBmb3Igbm9uLXN0cmluZyB2YWx1ZXMsIGFuZCA8ZW0+c3RyaW5ndmFsdWU8L2VtPiBm
b3Igc3RyaW5nIHZhbHVlcy48L3A+Ci0KLTxwcmUgY2xhc3M9ImR0ZCI+Ci0mbHQ7IUVMRU1FTlQg
RGljdGlvbmFyeU1lbWJlciAod2ViaWRsLCBkZXNjcmlwdGl2ZT8sIEV4dGVuZGVkQXR0cmlidXRl
TGlzdD8sIFR5cGUpID4KLSZsdDshQVRUTElTVCBEaWN0aW9uYXJ5TWVtYmVyIG5hbWUgQ0RBVEEg
I1JFUVVJUkVECi0gICAgICAgICAgICAgICAgICAgIGlkIENEQVRBICNSRVFVSVJFRAotICAgICAg
ICAgICAgICAgIHZhbHVlIENEQVRBICNJTVBMSUVECi0gICAgICAgICAgICAgICAgc3RyaW5ndmFs
dWUgQ0RBVEEgI0lNUExJRUQgPgotCi08L3ByZT4KLQotCi08aDQ+RXh0ZW5kZWQgYXR0cmlidXRl
czwvaDQ+Ci0KLTxwPgotQW4gPGVtPkV4dGVuZGVkQXR0cmlidXRlTGlzdDwvZW0+IGNvbnRhaW5z
IG9uZSBvciBtb3JlCi08ZW0+RXh0ZW5kZWRBdHRyaWJ1dGU8L2VtPiBlbGVtZW50LiBFYWNoIDxl
bT5FeHRlbmRlZEF0dHJpYnV0ZTwvZW0+Ci1oYXM6Ci08L3A+Ci08dWw+Ci08bGk+Ci1hIDxlbT5u
YW1lPC9lbT4gYXR0cmlidXRlIGdpdmluZyB0aGUgbmFtZSBvZiB0aGUgZXh0ZW5kZWQgYXR0cmli
dXRlOwotPGxpPgotaWYgdGhlIGV4dGVuZGVkIGF0dHJpYnV0ZSBjb250YWlucyBhbiA8Y29kZT49
PC9jb2RlPiBzaWduIGZvbGxvd2VkIGJ5IGEKLXZhbHVlLCBhIDxlbT52YWx1ZTwvZW0+IGF0dHJp
YnV0ZSBnaXZpbmcgdGhlIHZhbHVlLCB3aGljaCBpcyBhIHNjb3BlZAotbmFtZSBvciBhbiBpZGVu
dGlmaWVyOwotPGxpPgotaWYgdGhlIGV4dGVuZGVkIGF0dHJpYnV0ZSBjb250YWlucyBwYXJlbnRo
ZXNlcyAoZWl0aGVyIHdpdGggb3Igd2l0aG91dAotYW4gPGNvZGU+PTwvY29kZT4gc2lnbiksIGFu
IDxlbT5Bcmd1bWVudExpc3Q8L2VtPiBlbGVtZW50IGdpdmluZyB0aGUKLWNvbnRlbnRzIG9mIHRo
ZSBwYXJlbnRoZXNlcy4KLTwvdWw+Ci08cD4KLUlmIHRoZSA8ZW0+dmFsdWU8L2VtPiBhdHRyaWJ1
dGUgYW5kIHRoZSA8ZW0+QXJndW1lbnRMaXN0PC9lbT4gZWxlbWVudCBhcmUKLWJvdGggcHJlc2Vu
dCwgdGhlbiA8ZW0+dmFsdWU8L2VtPiBtdXN0IGdpdmUgYW4gaWRlbnRpZmllciByYXRoZXIgdGhh
bgotYSBzY29wZWQgbmFtZS4KLTwvcD4KLQotPHByZSBjbGFzcz0iZHRkIj4KLSZsdDshRUxFTUVO
VCBFeHRlbmRlZEF0dHJpYnV0ZUxpc3QgKEV4dGVuZGVkQXR0cmlidXRlKykgPgotCi0mbHQ7IUVM
RU1FTlQgRXh0ZW5kZWRBdHRyaWJ1dGUgKHdlYmlkbCwgQXJndW1lbnRMaXN0PykgPgotJmx0OyFB
VFRMSVNUIEV4dGVuZGVkQXR0cmlidXRlIG5hbWUgTk1UT0tFTiAjUkVRVUlSRUQKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB2YWx1ZSBDREFUQSAjSU1QTElFRCA+Ci08L3ByZT4KLQotPGg0
PlR5cGU8L2g0PgotCi08cD4KLTxlbT5UeXBlPC9lbT4gcmVwcmVzZW50cyBhIHR5cGUuIEl0IGhh
cyBvbmUgb2YgdGhlc2UgZm9ybXM6Ci08L3A+Ci08dWw+Ci08bGk+Ci1UaGUgPGNvZGU+YW55PC9j
b2RlPiwgPGNvZGU+b2JqZWN0PC9jb2RlPiBhbmQgPGNvZGU+dm9pZDwvY29kZT4KLXR5cGVzIGhh
dmUgdGhlIGF0dHJpYnV0ZQotPGVtPnR5cGU8L2VtPiBzZXQgdG8gdGhlIHR5cGUsIGFuZCBubyBv
dGhlciBhdHRyaWJ1dGVzIG9yIGVsZW1lbnRzLgotTm90ZSB0aGF0IHRoZSA8Y29kZT52b2lkPC9j
b2RlPiB0eXBlIGFwcGVhcnMgb25seSB3aGVuIHRoZSA8ZW0+VHlwZTwvZW0+Ci1lbGVtZW50IGlz
IGEgY2hpbGQgb2YgPGVtPk9wZXJhdGlvbjwvZW0+LgotPGxpPgotQSB0eXBlIHRoYXQgaXMgYW4g
aW50ZXJmYWNlIGhhcyB0aGUgYXR0cmlidXRlIDxlbT5uYW1lPC9lbT4gc2V0IHRvIHRoZQotbmFt
ZSBvZiB0aGF0IGludGVyZmFjZSwgYW5kIG5vIG90aGVyIGF0dHJpYnV0ZXMgb3IgZWxlbWVudHMu
Ci08bGk+Ci1Gb3IgdGhlIHByaW1pdGl2ZSB0eXBlcyA8Y29kZT5zaG9ydDwvY29kZT4sIDxjb2Rl
PnVuc2lnbmVkIHNob3J0PC9jb2RlPiwKLTxjb2RlPmxvbmc8L2NvZGU+LCA8Y29kZT51bnNpZ25l
ZCBsb25nPC9jb2RlPiwgPGNvZGU+bG9uZyBsb25nPC9jb2RlPiwKLTxjb2RlPnVuc2lnbmVkIGxv
bmcgbG9uZzwvY29kZT4sIDxjb2RlPmZsb2F0PC9jb2RlPiwgPGNvZGU+ZG91YmxlPC9jb2RlPiwK
LTxjb2RlPmJvb2xlYW48L2NvZGU+LCA8Y29kZT5vY3RldDwvY29kZT4sIDxjb2RlPmJ5dGU8L2Nv
ZGU+IGFuZCA8Y29kZT5ET01TdHJpbmc8L2NvZGU+LAotdGhlcmUgaXMgYW4gYXR0cmlidXRlIDxl
bT50eXBlPC9lbT4KLXdob3NlIHZhbHVlIGlzIG9uZSBvZiB0aG9zZSBzdHJpbmdzLCBhbmQgbm8g
b3RoZXIgYXR0cmlidXRlcyBvciBlbGVtZW50cy4KLUhvd2V2ZXIsIGlmIHRoZSB0eXBlIHdhcyBz
cGVjaWZpZWQgaW4gdGhlIFdlYiBJREwgd2l0aCBhIHRyYWlsaW5nIDxjb2RlPj88L2NvZGU+Ci1z
aWduLCB0aGVuIHRoZXJlIGlzIGFuIGF0dHJpYnV0ZSA8ZW0+bnVsbGFibGU8L2VtPiB3aXRoIHRo
ZSB2YWx1ZQotPGNvZGU+bnVsbGFibGU8L2NvZGU+LgotPC91bD4KLTxwPgotVGhlIHJlc3RyaWN0
aW9ucyBvbiB3aGljaCBjb21iaW5hdGlvbnMgb2YgZWxlbWVudHMgYW5kIGF0dHJpYnV0ZXMgYXJl
Ci1wZXJtaXR0ZWQgYXJlIG5vdCBlbmNvZGVkIGJ5IHRoZSBEVEQuCi08L3A+Ci08cD4KLVRoZSA8
ZW0+ZGVzY3JpcHRpdmU8L2VtPiBlbGVtZW50IHByb3ZpZGVzIHRoZSBkb2N1bWVudGF0aW9uCi1p
ZiBhbnksIHdoZW4gdGhlIDxlbT5UeXBlPC9lbT4gaXMgYSBjaGlsZCBvZiA8ZW0+T3BlcmF0aW9u
PC9lbT4sIGFuZCB0aHVzCi1yZXByZXNlbnRpbmcgYW4gb3BlcmF0aW9uJ3MgcmV0dXJuIHR5cGUu
Ci08L3A+Ci0KLTxwPlRoZSA8ZW0+RXh0ZW5kZWRBdHRyaWJ1dGVMaXN0PC9lbT4gZWxlbWVudCBw
cm92aWRlcyB0aGUgb3B0aW9uYWwgZXh0ZW5kZWQgYXR0cmlidXRlcyB0aGF0IGNhbiBiZSBkZWZp
bmVkIGZvciBhIHR5cGUgdGhyb3VnaCB0eXBlZGVmLCAmYWdyYXZlOyBsYSA8Y29kZT50eXBlZGVm
IFtDbGFtcF0gb2N0ZXQgVmFsdWU7PC9jb2RlPi48L3A+Ci0KLTwhLS0gY2FuJ3QgdXNlIGVudW1l
cmF0ZWQgdmFsdWVzIGZvciB0aGUgdmFsdWVzIG9mIHR5cGUsIHNpbmNlIERURCBkb24ndCBhbGxv
dyBlbnVtZXJhdGVkIHZhbHVlcyB0byBoYXZlIHNwYWNlIGluIHRoZW0gKHdoaWNoIHdvdWxkIGJl
IG5lZWRlZCBlLmcuIGZvciAibG9uZyBsb25nIikgLS0+Ci08cHJlIGNsYXNzPSJkdGQiPgotJmx0
OyFFTEVNRU5UIFR5cGUgKGRlc2NyaXB0aXZlPywgRXh0ZW5kZWRBdHRyaWJ1dGVMaXN0PywgVHlw
ZSopID4KLSZsdDshQVRUTElTVCBUeXBlIHR5cGUgQ0RBVEEgI0lNUExJRUQKLSAgICAgICAgICAg
ICAgIG5hbWUgTk1UT0tFTiAjSU1QTElFRAotICAgICAgICAgICAgICAgbnVsbGFibGUgKG51bGxh
YmxlKSAjSU1QTElFRCA+Ci08L3ByZT4KLQotPGg0PlNlcXVlbmNlPC9oND4KLQotPHA+Rm9yIGEg
c2VxdWVuY2UgdHlwZSwgdGhlIDxlbT5UeXBlPC9lbT4gZWxlbWVudCB3aXRoIGFuIGF0dHJpYnV0
ZSA8ZW0+dHlwZTwvZW0+IHNldCB0byA8ZW0+c2VxdWVuY2U8L2VtPiBjb250YWlucyBhbiBlbGVt
ZW50IDxlbT5UeXBlPC9lbT4gZ2l2aW5nIHRoZSBzZXF1ZW5jZSBlbGVtZW50IHR5cGUsIGFuZCBu
byBvdGhlciBhdHRyaWJ1dGVzIG9yIGVsZW1lbnRzLiBJZiB0aGUgc2VxdWVuY2UgaXMgc3BlY2lm
aWVkIGluIHRoZSBXZWIgSURMIHdpdGggYSB0cmFpbGluZyA8Y29kZT4/PC9jb2RlPgotc2lnbiwg
dGhlbiB0aGVyZSBpcyBhbiBhdHRyaWJ1dGUgPGVtPm51bGxhYmxlPC9lbT4gd2l0aCB0aGUgdmFs
dWUKLTxjb2RlPm51bGxhYmxlPC9jb2RlPi4KLQotCi08aDQ+QXJyYXk8L2g0PgotCi08cD5Gb3Ig
YW4gYXJyYXkgdHlwZSwgdGhlIDxlbT5UeXBlPC9lbT4gZWxlbWVudCB3aXRoIGFuIGF0dHJpYnV0
ZSA8ZW0+dHlwZTwvZW0+IHNldCB0byA8ZW0+YXJyYXk8L2VtPiBjb250YWlucyBhbiBlbGVtZW50
IDxlbT5UeXBlPC9lbT4gZ2l2aW5nIHRoZSBhcnJheSBlbGVtZW50IHR5cGUuIElmIHRoZSBhcnJh
eSBpcyBzcGVjaWZpZWQgaW4gdGhlIFdlYiBJREwgd2l0aCBhIHRyYWlsaW5nIDxjb2RlPj88L2Nv
ZGU+Ci1zaWduLCB0aGVuIHRoZXJlIGlzIGFuIGF0dHJpYnV0ZSA8ZW0+bnVsbGFibGU8L2VtPiB3
aXRoIHRoZSB2YWx1ZQotPGNvZGU+bnVsbGFibGU8L2NvZGU+LgotCi08aDQ+VW5pb248L2g0Pgot
Ci08cD5Gb3IgYSB1bmlvbiB0eXBlLCB0aGUgPGVtPlR5cGU8L2VtPiBlbGVtZW50IHdpdGggYW4g
YXR0cmlidXRlIDxlbT50eXBlPC9lbT4gc2V0IHRvIDxlbT51bmlvbjwvZW0+IGNvbnRhaW5zIGF0
IGxlYXN0IHR3byBlbGVtZW50IDxlbT5UeXBlPC9lbT4gZ2l2aW5nIHRoZSB1bmlvbiBtZW1iZXJz
IHR5cGUuIElmIHRoZSB1bmlvbiBpcyBzcGVjaWZpZWQgaW4gdGhlIFdlYiBJREwgd2l0aCBhIHRy
YWlsaW5nIDxjb2RlPj88L2NvZGU+Ci1zaWduLCB0aGVuIHRoZXJlIGlzIGFuIGF0dHJpYnV0ZSA8
ZW0+bnVsbGFibGU8L2VtPiB3aXRoIHRoZSB2YWx1ZQotPGNvZGU+bnVsbGFibGU8L2NvZGU+Lgot
Ci0KLQotPGg0PkRlc2NyaXB0aXZlIGVsZW1lbnRzPC9oND4KLQotPHA+Ci1UaGUgZm9sbG93aW5n
IGVsZW1lbnRzIGNvbnRhaW4gZG9jdW1lbnRhdGlvbiwgZXh0cmFjdGVkIGZyb20gdGhlCi1Eb3h5
Z2VuLWxpa2UgY29tbWVudHMgaW4gdGhlIGlucHV0LiA8Y29kZT4mbHQ7cGFyYW0+PC9jb2RlPgot
ZGVyaXZlcyBvbmx5IGZyb20gYSA8Y29kZT5ccGFyYW08L2NvZGU+IGNvbW1hbmQgdXNlZCBpbnNp
ZGUgYQotPGNvZGU+XGRlZi1kZXZpY2UtY2FwPC9jb2RlPiBibG9jazsgYW55IG90aGVyIDxjb2Rl
PlxwYXJhbTwvY29kZT4gY29tbWFuZAotaXMgbGlua2VkIHRvIGEgcGFyYW1ldGVyIChhcmd1bWVu
dCkgb2YgdGhlIG1ldGhvZCBiZWluZyBkb2N1bWVudGVkLgotPC9wPgotCi08cHJlIGNsYXNzPSJk
dGQiPgotJmx0OyFFTEVNRU5UIGRlc2NyaXB0aXZlIChkZXNjcmlwdGlvbiB8IGJyaWVmIHwgdGhy
b3cgfCBhdXRob3IKLSAgICB8IHZlcnNpb24gfCBDb2RlIHwgYXBpLWZlYXR1cmUgfCBkZXZpY2Ut
Y2FwIHwgZGVmLWFwaS1mZWF0dXJlCi0gICAgfCBkZWYtYXBpLWZlYXR1cmUtc2V0IHwgZGVmLWRl
dmljZS1jYXAgfCBkZWYtaW5zdGFudGlhdGVkIHwgcGFyYW0pKiA+Ci0KLSZsdDshRUxFTUVOVCBk
ZXNjcmlwdGlvbiAlQmxvY2s7ID4KLQotJmx0OyFFTEVNRU5UIGJyaWVmICVJbmxpbmU7ID4KLQot
Jmx0OyFFTEVNRU5UIHRocm93ICVJbmxpbmU7ID4KLQotJmx0OyFFTEVNRU5UIGF1dGhvciAlSW5s
aW5lOyA+Ci0KLSZsdDshRUxFTUVOVCB2ZXJzaW9uICVJbmxpbmU7ID4KLQotJmx0OyFFTEVNRU5U
IENvZGUgJUlubGluZTsgPgotCi0mbHQ7IUVMRU1FTlQgYXBpLWZlYXR1cmUgJUlubGluZTsgPgot
Jmx0OyFBVFRMSVNUIGFwaS1mZWF0dXJlIGlkZW50aWZpZXIgQ0RBVEEgI1JFUVVJUkVEID4KLQot
Jmx0OyFFTEVNRU5UIGRldmljZS1jYXAgJUlubGluZTsgPgotJmx0OyFBVFRMSVNUIGRldmljZS1j
YXAgaWRlbnRpZmllciBDREFUQSAjUkVRVUlSRUQgPgotCi0mbHQ7IUVMRU1FTlQgcGFyYW0gJUlu
bGluZTsgPgotJmx0OyFBVFRMSVNUIHBhcmFtIGlkZW50aWZpZXIgQ0RBVEEgI1JFUVVJUkVEID4K
LQotJmx0OyFFTEVNRU5UIGRlZi1hcGktZmVhdHVyZSAoZGVzY3JpcHRpdmU/KSA+Ci0mbHQ7IUFU
VExJU1QgZGVmLWFwaS1mZWF0dXJlIGlkZW50aWZpZXIgQ0RBVEEgI1JFUVVJUkVEID4KLQotJmx0
OyFFTEVNRU5UIGRlZi1hcGktZmVhdHVyZS1zZXQgKGRlc2NyaXB0aXZlPykgPgotJmx0OyFBVFRM
SVNUIGRlZi1hcGktZmVhdHVyZS1zZXQgaWRlbnRpZmllciBDREFUQSAjUkVRVUlSRUQgPgotCi0m
bHQ7IUVMRU1FTlQgZGVmLWluc3RhbnRpYXRlZCAoZGVzY3JpcHRpdmU/KSA+Ci0KLSZsdDshRUxF
TUVOVCBkZWYtZGV2aWNlLWNhcCAoZGVzY3JpcHRpdmU/KSA+Ci0mbHQ7IUFUVExJU1QgZGVmLWRl
dmljZS1jYXAgaWRlbnRpZmllciBDREFUQSAjUkVRVUlSRUQgPgotCi0mbHQ7IUVMRU1FTlQgcmVm
ICgjUENEQVRBKSA+Ci08L3ByZT4KLQotPGg0PlhIVE1MIGVsZW1lbnRzPC9oND4KLQotPHA+Ci1U
aGUgZm9sbG93aW5nIFhIVE1MIGVsZW1lbnRzIGFyZSBwYXJ0IG9mIHdpZGxwcm9jeG1sOgotPC9w
PgotCi08cHJlIGNsYXNzPSJkdGQiPgotJmx0OyFFTEVNRU5UIGEgJUlubGluZTsgPgotJmx0OyFB
VFRMSVNUIGEgaHJlZiBDREFUQSAjUkVRVUlSRUQgPgotCi0mbHQ7IUVMRU1FTlQgYiAlSW5saW5l
OyA+Ci0KLSZsdDshRUxFTUVOVCBiciBFTVBUWSA+Ci0KLSZsdDshRUxFTUVOVCBkZCAlRmxvdzsg
PgotCi0mbHQ7IUVMRU1FTlQgZGwgKChkdCB8IGRkKSopID4KLQotJmx0OyFFTEVNRU5UIGR0ICVJ
bmxpbmU7ID4KLQotJmx0OyFFTEVNRU5UIGVtICVJbmxpbmU7ID4KLQotJmx0OyFFTEVNRU5UIGlt
ZyAlSW5saW5lOyA+Ci0mbHQ7IUFUVExJU1QgaW1nIHNyYyBDREFUQSAjUkVRVUlSRUQgCi0gICAg
ICAgICAgICAgICAgIGFsdCBDREFUQSAjSU1QTElFRD4KLQotCi0mbHQ7IUVMRU1FTlQgbGkgJUZs
b3c7ID4KLQotJmx0OyFFTEVNRU5UIHAgJUlubGluZTsgPgotCi0mbHQ7IUVMRU1FTlQgdGFibGUg
KHRyKikgPgotCi0mbHQ7IUVMRU1FTlQgdGQgJUZsb3c7ID4KLQotJmx0OyFFTEVNRU5UIHRoICVG
bG93OyA+Ci0KLSZsdDshRUxFTUVOVCB0ciAoKHRoIHwgdGQpKikgPgotCi0mbHQ7IUVMRU1FTlQg
dWwgKGxpKikgPgotPC9wcmU+Ci0KLQotPGgyPkJpYmxpb2dyYXBoeTwvaDI+Ci0KLTxwIGlkPSJi
b25kaSI+Ci1CT05ESSAtIGFuIG9wZW4gc291cmNlIGluZHVzdHJ5IGNvbGxhYm9yYXRpb24gZm9y
IHdpZGdldCBhbmQgd2ViIHRlY2hub2xvZ2llcywKLTxhIGhyZWY9Imh0dHA6Ly9ib25kaS5vbXRw
Lm9yZy8iPmh0dHA6Ly9ib25kaS5vbXRwLm9yZy88L2E+Ci08L3A+Ci0KLTxwIGlkPSJkb3h5Z2Vu
Ij4KLURveHlnZW4gU291cmNlIGNvZGUgZG9jdW1lbnRhdGlvbiBnZW5lcmF0b3IgdG9vbCwKLTxh
IGhyZWY9Imh0dHA6Ly93d3cuc3RhY2submwvfmRpbWl0cmkvZG94eWdlbi9pbmRleC5odG1sIj4K
LWh0dHA6Ly93d3cuc3RhY2submwvfmRpbWl0cmkvZG94eWdlbi9pbmRleC5odG1sPC9hPgotPC9w
PgotCi08cCBpZD0idzNjZ2VvIj4KLVczQyBHZW9sb2NhdGlvbiBBUEkgU3BlY2lmaWNhdGlvbiBF
ZGl0b3IncyBEcmFmdCAzIEFwcmlsIDIwMDksCi08YSBocmVmPSJodHRwOi8vZGV2LnczLm9yZy9n
ZW8vYXBpL3NwZWMtc291cmNlLmh0bWwiPgotaHR0cDovL2Rldi53My5vcmcvZ2VvL2FwaS9zcGVj
LXNvdXJjZS5odG1sPC9hPgotPC9wPgotCi08cCBpZD0id2ViaWRsIj4KLVdlYiBJREwgVzNDIEVk
aXRvcidzIERyYWZ0IDMgTWF5IDIwMTEsCi08YSBocmVmPSJodHRwOi8vZGV2LnczLm9yZy8yMDA2
L3dlYmFwaS9XZWJJREwiPmh0dHA6Ly9kZXYudzMub3JnLzIwMDYvd2ViYXBpL1dlYklETDwvYT4K
LTwvcD4KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL2V4YW1wbGVzL01ha2VmaWxl
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3dpZGxwcm9jL2V4YW1wbGVzL01ha2VmaWxlCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCA2MTQ0NTNkMjNjMDEzNGQ5NWNkOWM4MmIzY2Q2MGM2ZDUyZjIzMTJmLi4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93
aWRscHJvYy9leGFtcGxlcy9NYWtlZmlsZQorKysgL2Rldi9udWxsCkBAIC0xLDc5ICswLDAgQEAK
LSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIwotIyAkSWQkCi0jIENvcHlyaWdodCAyMDA5IEFwbGl4IENvcnBvcmF0
aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotIyBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExp
Y2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKLSMgeW91IG1heSBub3QgdXNlIHRo
aXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgotIyBZb3UgbWF5
IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKLSMgICAgIGh0dHA6Ly93d3cuYXBhY2hl
Lm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAotIyBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJs
ZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCi0jIGRpc3RyaWJ1dGVkIHVu
ZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCi0jIFdJ
VEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVz
cyBvciBpbXBsaWVkLgotIyBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFn
ZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCi0jIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNl
bnNlLgotIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjCi0KLVVOQU1FID0gJChzaGVsbCB1bmFtZSkKLUVYQU1QTEVT
RElSID0gLgotIyBUaGUgc2V0dGluZ3Mgb2YgU1JDRElSICh3aGVyZSB0byBmaW5kIHRoZSB4c2wg
c3R5bGUgc2hlZXRzKSwgT0JKRElSICh3aGVyZSB0bwotIyBmaW5kIHdpZGxwcm9jIGFuZCB3aWRs
cHJvY3htbC5kdGQpIGFuZCBFWEFNUExFU09CSkRJUiAod2hlcmUgdG8gcHV0IHRoZQotIyByZXN1
bHRpbmcgaHRtbCBmaWxlcyBhbmQgYW55IGludGVybWVkaWF0ZSBmaWxlcykgcmVmbGVjdCB0aGUg
ZGlyZWN0b3J5Ci0jIHN0cnVjdHVyZSBvZiB0aGUgcmVsZWFzZWQgd2lkbHByb2MuemlwIGZpbGUg
d2hlbiB1bnppcHBlZC4gLi4vTWFrZWZpbGUgY2FsbHMKLSMgdGhpcyBNYWtlZmlsZSB3aXRoIHRo
ZXNlIHNldHRpbmdzIG92ZXJyaWRkZW4gdG8gcmVmbGVjdCB0aGUgZGlyZWN0b3J5Ci0jIHN0cnVj
dHVyZSBpbiBzdm4uCi1TUkNESVIgPSAuLgotT0JKRElSID0gLi4KLUVYQU1QTEVTT0JKRElSID0g
b2JqCi0KLSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIwotIyBMaW51eCBjb25maWd1cmF0aW9uCi0jCi1pZm5lcSAo
LCQoZmlsdGVyIExpbnV4JSwgJChVTkFNRSkpKSAKLQotRVhFU1VGRklYID0KLQotZWxzZQotIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjCi0jIERhcndpbiBjb25maWd1cmF0aW9uCi0jCi1pZm5lcSAoLCQoZmlsdGVy
IERhcndpbiUsICQoVU5BTUUpKSkgCi0KLUVYRVNVRkZJWCA9Ci0KLWVsc2UKLSMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIwotIyBXaW5kb3dzIChjeWd3aW4gYnV0IHVzaW5nIE1TIGNvbXBpbGVyKSBjb25maWd1cmF0
aW9uCi0jCi1pZm5lcSAoLCQoZmlsdGVyIENZR1dJTiUsICQoVU5BTUUpKSkgCi0KLUVYRVNVRkZJ
WCA9IC5leGUKLQotZW5kaWYKLWVuZGlmCi1lbmRpZgotCi0jIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKLSMgQ29t
bW9uIG1ha2VmaWxlCi0jCi1XSURMUFJPQyA9ICQoT0JKRElSKS93aWRscHJvYyQoRVhFU1VGRklY
KQotRFREID0gJChPQkpESVIpL3dpZGxwcm9jeG1sLmR0ZAotCi1XSURMUyA9ICQocGF0c3Vic3Qg
JChFWEFNUExFU0RJUikvJSwgJSwgJCh3aWxkY2FyZCAkKEVYQU1QTEVTRElSKS8qLndpZGwpKQot
Ci10ZXN0IDogJChwYXRzdWJzdCAlLndpZGwsICQoRVhBTVBMRVNPQkpESVIpLyUuaHRtbCwgJChX
SURMUykpICQoRVhBTVBMRVNPQkpESVIpL3dpZGxodG1sLmNzcwotCUBlY2hvICIkQCBwYXNzIgot
Ci0kKEVYQU1QTEVTT0JKRElSKS8lLmh0bWwgOiAkKEVYQU1QTEVTT0JKRElSKS8lLndpZGxwcm9j
eG1sICQoU1JDRElSKS93aWRscHJvY3htbHRvaHRtbC54c2wgTWFrZWZpbGUKLQljcCAkKFNSQ0RJ
Uikvd2lkbHByb2N4bWx0b2h0bWwueHNsICQoZGlyICRAKS8KLQl4c2x0cHJvYyAkKGRpciAkQCkv
d2lkbHByb2N4bWx0b2h0bWwueHNsICQ8ID4kQAotCi0kKEVYQU1QTEVTT0JKRElSKS8lLndpZGxw
cm9jeG1sIDogJChFWEFNUExFU0RJUikvJS53aWRsICQoV0lETFBST0MpICQoRFREKSBNYWtlZmls
ZQotCW1rZGlyIC1wICQoZGlyICRAKQotCSQoV0lETFBST0MpICQ8ID4kQAotCWNwICQoT0JKRElS
KS93aWRscHJvY3htbC5kdGQgJChkaXIgJEApLwotCXhtbGxpbnQgLS1ub291dCAtLWR0ZHZhbGlk
ICQoRFREKSAkQAotCi0kKEVYQU1QTEVTT0JKRElSKS93aWRsaHRtbC5jc3MgOiAkKEVYQU1QTEVT
RElSKS93aWRsaHRtbC5jc3MKLQljcCAkPCAkQAotCi0uREVMRVRFX09OX0VSUk9SOgotCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvZXhhbXBsZXMvUkVBRE1FIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dp
ZGxwcm9jL2V4YW1wbGVzL1JFQURNRQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZWZi
YjcyZGRhOGQyODg5MGI4NjFhZmVmYjZmN2IxYTA4M2I2NmZlMS4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvZXhhbXBsZXMv
UkVBRE1FCisrKyAvZGV2L251bGwKQEAgLTEsNDEgKzAsMCBAQAotIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCi0j
ICRJZCQKLSMgQ29weXJpZ2h0IDIwMDkgQXBsaXggQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCi0jIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAg
KHRoZSAiTGljZW5zZSIpOwotIyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBj
b21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCi0jIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0
aGUgTGljZW5zZSBhdAotIyAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VO
U0UtMi4wCi0jIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8g
aW4gd3JpdGluZywgc29mdHdhcmUKLSMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMg
ZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKLSMgV0lUSE9VVCBXQVJSQU5USUVTIE9S
IENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCi0jIFNl
ZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNz
aW9ucyBhbmQKLSMgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCi0jIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMKLQotVGhpcyBleGFtcGxlcyBkaXJlY3RvcnkgY29udGFpbnMgdHdvIG9mIHRoZSBCT05ESSAu
d2lkbCBmaWxlcywgYSBNYWtlZmlsZQotdGhhdCBwcm9jZXNzZXMgdGhlbSB0byBnZW5lcmF0ZSBo
dG1sLCBhbmQgYSAuY3NzIGZpbGUgdGhhdCB0aGUgcmVzdWx0aW5nCi1odG1sIHVzZXMuCi0KLVRo
ZSBNYWtlZmlsZSBwcm9jZXNzZXMgdGhlIC53aWRsIGZpbGVzIGFzIGZvbGxvd3M6Ci0KLSAxLiBG
b3IgZWFjaCAud2lkbCwgZ2VuZXJhdGUgdGhlIC53aWRscHJvY3htbCBmaWxlIChhbiBYTUwgcmVw
cmVzZW50YXRpb24KLSAgICBvZiB0aGUgaW5mb3JtYXRpb24gaW4gdGhlIC53aWRsKSB1c2luZyB3
aWRscHJvYy4KLQotIDIuIFZhbGlkYXRlICh1c2luZyB4bWxsaW50KSBlYWNoIC53aWRscHJvY3ht
bCBhZ2FpbnN0IHRoZSBEVEQuCi0KLSAzLiBXZSB3YW50IGFueSByZWZlcmVuY2UgaW4gdGhlIHJl
c3VsdGluZyBodG1sIHRvIGEgdHlwZSBlbHNld2hlcmUgaW4gdGhlCi0gICAgQVBJIHRvIGJlIGEg
bGluay4gVGhpcyBpcyB3aGVyZSB3ZSBhY2hpZXZlIHRoaXMuIEZpcnN0IGdlbmVyYXRlIGEKLSAg
ICBsaXN0IG9mIGZxaWRzIChmdWxseSBxdWFsaWZpZWQgaWRlbnRpZmllcnMpIGZyb20gZnFpZCBh
dHRyaWJ1dGVzIGluCi0gICAgdGhlIFhNTCBieSBydW5uaW5nIGFsbCAud2lkbHByb2N4bWwgZmls
ZXMgdGhyb3VnaCB0aGUgc3R5bGUgc2hlZXQKLSAgICB3aWRscHJvY3htbGZxaWRzLnhzbC4KLQot
IDQuIFR1cm4gdGhhdCBsaXN0IG9mIGZxaWRzIGludG8gYSBzZWQgc2NyaXB0IHRoYXQgdHVybnMg
YSA8cmVmPiB0byBhbgotICAgIGZxaWQgaW50byBhIDxyZWYgcmVmPSIuLiI+IHRvIHRoZSBmcWlk
IGluIHRoZSByaWdodCAuaHRtbCBmaWxlLgotCi0gNS4gRm9yIGVhY2ggLndpZGxwcm9jeG1sIGZp
bGUsIGdlbmVyYXRlIGEgLndpZGxwcm9jeG1sMiBmaWxlIGJ5IHJ1bm5pbmcKLSAgICBpdCB0aHJv
dWdoIHRoZSBzZWQgc2NyaXB0IGdlbmVyYXRlZCBhYm92ZS4KLQotIDYuIEZvciBlYWNoIC53aWRs
cHJvY3htbDIgZmlsZSwgZ2VuZXJhdGUgYSAuaHRtbCBmaWxlIGJ5IHJ1bm5pbmcgaXQgdGhyb3Vn
aAotICAgIHRoZSB3aWRscHJvY3htbHRvaHRtbC54c2wgc3R5bGUgc2hlZXQuCi0KLVNlZSB0aGUg
TWFrZWZpbGUgZm9yIGRldGFpbHMuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvZXhh
bXBsZXMvYm9uZGkud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9leGFtcGxlcy9ib25kaS53aWRs
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyMDBiOTVmZTljMWUxMjNjMWI3YjM3NWY0
OGNhMjhmYzUzYTQ2NTI1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9leGFtcGxlcy9ib25kaS53aWRsCisrKyAvZGV2L251
bGwKQEAgLTEsMjI3ICswLDAgQEAKLS8qCi0gKiBMaWNlbnNlZCB0byBPTVRQIEx0ZC4gKE9NVFAp
IHVuZGVyIG9uZSBvciBtb3JlIGNvbnRyaWJ1dG9yIGxpY2Vuc2UgYWdyZWVtZW50cy4gCi0gKiBT
ZWUgdGhlIE5PVElDRSBmaWxlIGRpc3RyaWJ1dGVkIHdpdGggdGhpcyB3b3JrIGZvciBhZGRpdGlv
bmFsIGluZm9ybWF0aW9uIHJlZ2FyZGluZyAKLSAqIGNvcHlyaWdodCBvd25lcnNoaXAuIAotICog
Ci0gKiBUaGUgUmVmZXJlbmNlIEltcGxlbWVudGF0aW9uIChzYXZlIGZvciBzdWNoIHBhcnRzIG9m
IHRoZSByZWZlcmVuY2UgaW1wbGVtZW50YXRpb24gbWFkZSAKLSAqIGF2YWlsYWJsZSB1bmRlciBz
ZXBhcmF0ZSB0ZXJtcyBhbmQgY29uZGl0aW9ucykgaXMgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhl
IHRlcm1zIG9mIHRoZSAKLSAqIEFwYWNoZSBMaWNlbnNlLCB2ZXJzaW9uIDIuMCwgc3ViamVjdCB0
byB0aGUgY29uZGl0aW9uIHRoYXQgYW55ICJXb3JrcyIgYW5kICJEZXJpdmF0aXZlIAotICogV29y
a3MiIHVzZWQgb3IgZGlzdHJpYnV0ZWQgZm9yIGNvbW1lcmNpYWwgcHVycG9zZXMgbXVzdCBiZSBh
bmQgcmVtYWluIGNvbXBsaWFudCB3aXRoIHRoZQotICogQk9OREkgc3BlY2lmaWNhdGlvbiBhcyBw
cm9tdWxnYXRlZCBieSBPTVRQIGluIGVhY2ggcmVsZWFzZS4gWW91ciBpbXBsZW1lbnRhdGlvbiBv
ZiB0aGUgCi0gKiBSZWZlcmVuY2UgSW1wbGVtZW50YXRpb24gKHdoZXRoZXIgb2JqZWN0IG9yIHNv
dXJjZSkgbXVzdCBtYWludGFpbiB0aGVzZSBjb25kaXRpb25zLCBhbmQgCi0gKiB5b3UgbXVzdCBu
b3RpZnkgYW55IHJlY2lwaWVudCBvZiB0aGlzIGNvbmRpdGlvbiBpbiBhIGNvbnNwaWN1b3VzIHdh
eS4KLSAqIAotICogWW91IG1heSBub3QgdXNlIHRoaXMgQk9OREkgUmVmZXJlbmNlIEltcGxlbWVu
dGF0aW9uIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuIAotICogCi0gKiBZ
b3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQgaHR0cDovL3d3dy5hcGFjaGUu
b3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wIG9yIGF0IAotICogaHR0cDovL2JvbmRpLm9tdHAub3Jn
L0JPTkRJLUxJQ0VOU0UtMi4wIAotICovCi0KLS8qKgotICogXGJyaWVmIENvbW1vbiBCT05ESSBm
dW5jdGlvbmFsaXR5LgotICoKLSAqIFRoZXNlIGRlZmluaXRpb25zIGNhbiBiZSB1c2VkIGluIGFs
bCBvdGhlciBCT05ESSBtb2R1bGVzIGFzIGRlcGVuZGVuY2llcy4KLSAgKiBcdmVyc2lvbiAxLjEK
LSAqLwotbW9kdWxlIGJvbmRpIHsKLQotCS8qKgotCSAqIFxicmllZiBBcnJheSBvZiBET01TdHJp
bmdzLgotCSAqLwotCXR5cGVkZWYgc2VxdWVuY2U8RE9NU3RyaW5nPiBTdHJpbmdBcnJheTsKLQot
CS8qKgotCSAqIFxicmllZiBBcnJheSBvZiA4LWJpdCB1bnNpZ25lZCBpbnRlZ2VyIHZhbHVlcy4K
LQkgKi8KLQl0eXBlZGVmIHNlcXVlbmNlPG9jdGV0PiAgICAgQnl0ZUFycmF5OwotCi0JLyoqCi0J
ICogXGJyaWVmIEFycmF5IG9mIDE2LWJpdCBzaWduZWQgaW50ZWdlciB2YWx1ZXMuCi0JICovCi0J
dHlwZWRlZiBzZXF1ZW5jZTxzaG9ydD4gICAgIFNob3J0QXJyYXk7Ci0KLQkvKioKLQkgKiBcYnJp
ZWYgQXJyYXkgb2YgMzItYml0IHNpZ25lZCBpbnRlZ2VyIHZhbHVlcy4KLQkgKi8KLQl0eXBlZGVm
IHNlcXVlbmNlPGxvbmc+ICAgICAgTG9uZ0FycmF5OwotCi0JLyoqCi0JICogXGJyaWVmIEFycmF5
IG9mIGZsb2F0aW5nIHBvaW50IHZhbHVlcy4KLQkgKi8KLQl0eXBlZGVmIHNlcXVlbmNlPGZsb2F0
PiAgICAgRmxvYXRBcnJheTsKLQotCS8qKgotCSAqIFxicmllZiBHZW5lcmljIE1hcCBvYmplY3Qu
Ci0JICovCi0JdHlwZWRlZiBPYmplY3QgICAgICAgICAgICAgIE1hcDsKLQotCS8qKgotCSAqIFxi
cmllZiBHZW5lcmljIHN1Y2Nlc3MgY2FsbGJhY2sgaW50ZXJmYWNlLgotCSAqLwotCVtDYWxsYmFj
az1GdW5jdGlvbk9ubHksIE5vSW50ZXJmYWNlT2JqZWN0XSBpbnRlcmZhY2UgU3VjY2Vzc0NhbGxi
YWNrIHsKLQkgICAvKioKLQkgICAgKiBcYnJpZWYgTWV0aG9kIGludm9rZWQgd2hlbiB0aGUgYXN5
bmNocm9ub3VzIGNhbGwgY29tcGxldGVzIHN1Y2Nlc3NmdWxseQotCSAgICAqLwotCQl2b2lkIG9u
U3VjY2VzcygpOwotCX07Ci0KLQotCS8qKgotCSAqIFxicmllZiBTdWNjZXNzIGNhbGxiYWNrIGlu
dGVyZmFjZSBmb3IgcmVxdWVzdEZlYXR1cmUgaW52b2NhdGlvbnMKLQkgKi8KLSAgICBbQ2FsbGJh
Y2s9RnVuY3Rpb25Pbmx5LCBOb0ludGVyZmFjZU9iamVjdF0gaW50ZXJmYWNlIFJlcXVlc3RGZWF0
dXJlU3VjY2Vzc0NhbGxiYWNrIHsNCi0gICAgICAgLyoqCi0JICAgICogXGJyaWVmIE1ldGhvZCBp
bnZva2VkIHVwb24gYSBzdWNjZXNmdWwgcmVxdWVzdEZlYXR1cmUgaW52b2NhdGlvbgotCSAgICAq
Ci0JICAgICogXHBhcmFtIG9iIE9iamVjdCBpbXBsZW1lbnRpbmcgdGhlIEphdmFTY3JpcHQgQVBJ
IGFzc29jaWF0ZWQgd2l0aCB0aGUgcmVxdWVzdGVkIEZlYXR1cmUuCi0JICAgICovDQotICAgICAg
ICB2b2lkIG9uU3VjY2VzcyhpbiBPYmplY3Qgb2IpOw0KLSAgICAgfTsNCi0KLQotCS8qKgotCSAq
IFxicmllZiBHZW5lcmljIGVycm9yIGNhbGxiYWNrIGludGVyZmFjZS4KLQkgKi8KLQlbQ2FsbGJh
Y2s9RnVuY3Rpb25Pbmx5LCBOb0ludGVyZmFjZU9iamVjdF0gaW50ZXJmYWNlIEVycm9yQ2FsbGJh
Y2sgewotCSAgIC8qKgotCSAgICAqIFxicmllZiBNZXRob2QgaW52b2tlZCB3aGVuIGFuIGVycm9y
IG9jY3VycwotCSAgICAqCi0JICAgICogXHBhcmFtIGVycm9yIFRoZSBlcnJvciB0aGF0IGlzIHJh
aXNlZC4KLQkgICAgKi8KLQkJdm9pZCBvbkVycm9yKGluIEdlbmVyaWNFcnJvciBlcnJvcik7Ci0J
fTsKLQotCS8qKgotCSAqIFxicmllZiBHZW5lcmljIGVycm9yIGludGVyZmFjZS4KLQkgKgotCSAq
IAotCSAqLwotCi0KLQlpbnRlcmZhY2UgR2VuZXJpY0Vycm9yIHsKLQotCQkvKioKLQkJICogXGJy
aWVmIDE2LWJpdCBlcnJvciBjb2RlLgotCQkgKi8KLQkJcmVhZG9ubHkgYXR0cmlidXRlIHVuc2ln
bmVkIHNob3J0IGNvZGU7Ci0JfTsKLQkJCi0JLyoqCi0JICogXGJyaWVmIERldmljZUFwaUVycm9y
IGVycm9yIGludGVyZmFjZS4KLQkgKgotCSAqIFRoZSBlcnJvciBjb2RlcyBtdXN0IGJlIGluIHRo
ZSByYW5nZSAxMDAwMC0xOTk5OS4KLQkgKi8KLQotCWludGVyZmFjZSBEZXZpY2VBUElFcnJvciA6
IEdlbmVyaWNFcnJvciB7Ci0KLQkJLyoqCi0JCSAqIFxicmllZiBVbmtub3duIGVycm9yLgotCQkg
Ki8KLQkJY29uc3QgdW5zaWduZWQgc2hvcnQgVU5LTk9XTl9FUlJPUiAgICAgICAgICAgPSAxMDAw
MDsKLQotCQkvKioKLQkJICogXGJyaWVmIEludmFsaWQgdmFsdWUgd2FzIHNwZWNpZmllZCBhcyBp
bnB1dCBwYXJhbWV0ZXIuCi0JCSAqLwotCQljb25zdCB1bnNpZ25lZCBzaG9ydCBJTlZBTElEX0FS
R1VNRU5UX0VSUk9SICA9IDEwMDAxOwotCi0JCS8qKgotCQkgKiBcYnJpZWYgVGhlIHNlYXJjaGVk
IHZhbHVlIG9yIG9iamVjdCB3YXMgbm90IGZvdW5kLgotCQkgKi8KLQkJY29uc3QgdW5zaWduZWQg
c2hvcnQgTk9UX0ZPVU5EX0VSUk9SICAgICAgICAgPSAxMDAwMjsKLQotCQkvKioKLQkJICogXGJy
aWVmIE9wZXJhdGlvbiBpcyBwZW5kaW5nLgotCQkgKi8KLQkJY29uc3QgdW5zaWduZWQgc2hvcnQg
UEVORElOR19PUEVSQVRJT05fRVJST1IgPSAxMDAwMzsKLQotCQkvKioKLQkJICogXGJyaWVmIElu
cHV0L091dHB1dCBlcnJvci4KLQkJICovCi0JCWNvbnN0IHVuc2lnbmVkIHNob3J0IElPX0VSUk9S
ICAgICAgICAgICAgICAgID0gMTAwMDQ7Ci0KLQkJLyoqCi0JCSAqIFxicmllZiBOb3Qgc3VwcG9y
dGVkIGVycm9yLgotCQkgKi8KLQkJY29uc3QgdW5zaWduZWQgc2hvcnQgTk9UX1NVUFBPUlRFRF9F
UlJPUiAgICAgPSAxMDAwNTsKLQl9OwotCi0JLyoqCi0JICogXGJyaWVmIFNlY3VyaXR5IGVycm9y
IGludGVyZmFjZS4KLQkgKgotCSAqIFRoZSBlcnJvciBjb2RlcyBtdXN0IGJlIGluIHRoZSByYW5n
ZSAyMDAwMC0yOTk5OQotCSAqLwotCWludGVyZmFjZSBTZWN1cml0eUVycm9yIDogR2VuZXJpY0Vy
cm9yIHsKLQkJY29uc3QgdW5zaWduZWQgc2hvcnQgUEVSTUlTU0lPTl9ERU5JRURfRVJST1IgPSAy
MDAwMDsKLQl9OwotCi0JLyoqCi0JICogXGJyaWVmIFBlbmRpbmdPcGVyYXRpb24uCi0JICoKLQkg
KiBJbnRlcmZhY2UgdGhhdCBpcyByZXR1cm5lZCBieSBhc3luY2hyb25vdXMgb3BlcmF0aW9ucyBp
biBvcmRlciB0bwotCSAqIHByb3ZpZGUgYSBjYW5jZWxsYXRpb24gb3BlcmF0aW9uLgotCSAqLwot
CWludGVyZmFjZSBQZW5kaW5nT3BlcmF0aW9uIHsKLQkJLyoqCi0JCSAqIFxicmllZiBDYWxsIHRv
IGNhbmNlbCB0aGUgdW5kZXJseWluZyBhc3luY2hyb25vdXMgb3BlcmF0aW9uLgotCQkgKgotCQkg
KiBUaGlzIGNhbGwgaXMgYWx3YXlzIHN1Y2Nlc3NmdWwsIGkuZS4gdGhlIHBlbmRpbmcgb3BlcmF0
aW9uIGkuZS4KLQkJICogZWl0aGVyIGNhbmNlbGxlZCBvciBvbmUgb2YgdGhlIGNhbGxiYWNrIGlz
IGNhbGxlZC4KLQkJICoKLQkJICogXHJldHVybiA8ZW0+ZmFsc2U8L2VtPiBpZiB0aGUgY2FuY2Vs
bGF0aW9uIGRpZCBub3Qgc3VjY2VlZAotCQkgKiBlaXRoZXIgYmVjYXVzZSB0aGUgcGVuZGluZyBv
cGVyYXRpb24gZmluaXNoZWQgYWxyZWFkeSBvciBiZWNhdXNlCi0JCSAqIHRoZSBjYW5jZWxsYXRp
b24gY2Fubm90IHN1Y2NlZWQgZHVlIHRvIHRlY2huaWNhbCBsaW1pdGF0aW9ucyBpbgotCQkgKiB0
aGUgdW5kZXJseWluZyBpbXBsZW1lbnRhdGlvbi4gQ29uc3F1ZW50bHkgdGhlIHBlbmRpbmcgb3Bl
cmF0aW9uIAotCQkgKiBjb21wbGV0ZXMgYW5kIGRlcGVuZGluZyBvbiB0aGUgc3VjY2VzcyBvciBm
YWlsdXJlIHRoZSBhcHByb3ByaWF0ZQotCQkgKiBjYWxsYmFja3Mgd2lsbCBiZSBjYWxsZWQuCi0J
CSAqIDxlbT50cnVlPC9lbT4gaWYgdGhlIGNhbmNlbGxhdGlvbiBkaWQgc3VjY2VlZC4gTm8gY2Fs
bGJhY2tzIHdpbGwKLQkJICogYmUgY2FsbGVkIGJ5IHRoZSBjYW5jZWxsZWQgcGVuZGluZyBvcGVy
YXRpb24uCi0JCSAqLwotCQlib29sZWFuIGNhbmNlbCgpOwotCX07Ci0KLQkvKioKLQkgKiBcYnJp
ZWYgQk9OREkgcm9vdCBBUEkuCi0JICogYm9uZGkgcm9vdCBwcm9wZXJ0eSBleGlzdHMgaW4gdGhl
IGdsb2JhbCBvYmplY3QKLQkgKiBcZGVmLWFwaS1mZWF0dXJlIGh0dHA6Ly9ib25kaS5vbXRwLm9y
Zy9hcGkvYm9uZGkucmVxdWVzdGZlYXR1cmUKLQkgKi8KLQlpbnRlcmZhY2UgQm9uZGkgewotCQkv
KioKLQkJICogXGJyaWVmIFJlcXVlc3RzIGEgZmVhdHVyZS4KLQkJICoKLQkJICogVGhpcyBmdW5j
dGlvbiByZXF1ZXN0cyBhIG5hbWVkIGZlYXR1cmUKLQkJICogYXN5bmNocm9ub3VzbHkgYW5kIHJl
dHVybnMgYSBwZW5kaW5nIG9wZXJhdGlvbiBvYmplY3QuCi0JCSAqIElmIGl0IHN1Y2NlZWRzIGl0
IGNhbGxzIHRoZSBzdWNjZXNzQ2FsbGJhY2sgYW5kIHBhc3NlcyBpbgotCQkgKiB0aGUgb2JqZWN0
IG9mIHRoZSByZXF1ZXN0ZWQgZmVhdHVyZS4gSWYgaXQgZmFpbHMgaXQgY2FsbHMKLQkJICogdGhl
IGVycm9yQ2FsbGJhY2sgcGFzc2luZyBpbiBhIERldmljZUFQSUVycm9yIHdoaWNoIHByb3ZpZGVz
IAotCQkgKiBhbiBlcnJvciBtZXNzYWdlIGFuZCBlcnJvciBjb2RlIGluZGljYXRpbmcgdGhlIG5h
dHVyZSBvZiB0aGUgZXJyb3IuCi0JCSAqCi0JCSAqIElmIHRoZSByZXF1ZXN0ZWQgZmVhdHVyZSBi
aW5kcyBpdHNlbGYgdG8gYSByb290IG5hbWVzcGFjZQotCQkgKiAoIGZvciBleGFtcGxlLCAiYm9u
ZGkucGltLmNvbnRhY3QiKSB0aGlzIHdpbGwgaGFwcGVuIHByaW9yIHRvIHRoZQotCQkgKiBzdWNj
ZXNzQ2FsbGJhY2sgYmVpbmcgaW52b2tlZC4KLQkJICoKLQkJICogXHBhcmFtIHN1Y2Nlc3NDYWxs
YmFjayAgdGhlIHN1Y2Nlc3MgY2FsbGJhY2sgZnVuY3Rpb24KLQkJICogXHBhcmFtIGVycm9yQ2Fs
bGJhY2sgICAgdGhlIGVycm9yIGNhbGxiYWNrIGZ1bmN0aW9uCi0JCSAqIFxwYXJhbSBuYW1lICAg
ICAgICAgICAgIHRoZSBmZWF0dXJlIG5hbWUgSVJJCi0JCSAqCi0JCSAqIFxyZXR1cm4gUGVuZGlu
Z09wZXJhdGlvbiBlbmFibGluZyB0aGUgcmVxdWVzdGVyIHRvIGNhbmNlbCB0aGlzIHJlcXVlc3Qu
Ci0JCSAqCi0JCSAqIFRoZSBlcnJvckNhbGxiYWNrIHdpbGwgcmVjZWl2ZSBvbmUgb2YgdGhlIGZv
bGxvd2luZyBlcnJvcnM6Ci0JCSAqIFx0aHJvdyBEZXZpY2VBUElFcnJvciBJTlZBTElEX0FSR1VN
RU5UX0VSUk9SIGlmIGEgbWFsZm9ybWVkCi0JCSAqIGFyZ3VtZW50IGhhcyBiZWVuIHN1cHBsaWVk
IG9yIGEgcmVxdWlyZWQgYXJndW1lbnQgaGFzIGJlZW4gb21pdHRlZC4KLQkJICogXHRocm93IERl
dmljZUFQSUVycm9yIE5PVF9GT1VORF9FUlJPUiBpZiB0aGUgcmVxdWVzdGVkIGZlYXR1cmUgY291
bGQgbm90IGJlIGZvdW5kLgotCQkgKiBcdGhyb3cgU2VjdXJpdHlFcnJvciBQRVJNSVNTSU9OX0RF
TklFRF9FUlJPUiBpZiB0aGUKLQkJICogcmVxdWVzdGVkIGZlYXR1cmUgaXMgbm90IHBlcm1pdHRl
ZCB0byBsb2FkL2JpbmQgb3IgdGhhdAotCQkgKiBhY2Nlc3MgdG8gYSByZXF1aXJlZCBkZXZpY2Ug
Y2FwYWJpbGl0eSBoYXMgYmVlbiBkZW5pZWQuCi0JCSAqIFx0aHJvdyBEZXZpY2VBUElFcnJvciBV
TktOT1dOX0VSUk9SIGlmIGFuIGVycm9yIG9jY3VycmVkIGFuZCBhIHBlbmRpbmcKLQkJICogb3Bl
cmF0aW9uIG9iamVjdCBjYW4ndCBiZSByZXR1cm5lZC4KLQkJICovCi0JCVBlbmRpbmdPcGVyYXRp
b24gcmVxdWVzdEZlYXR1cmUoaW4gUmVxdWVzdEZlYXR1cmVTdWNjZXNzQ2FsbGJhY2sgc3VjY2Vz
c0NhbGxiYWNrLAotCQkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIEVycm9yQ2Fs
bGJhY2sgICBlcnJvckNhbGxiYWNrLAotCQkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGluIERPTVN0cmluZyAgICAgICBuYW1lKQotCQkJcmFpc2VzKERldmljZUFQSUVycm9yLCBTZWN1
cml0eUVycm9yKTsKLQl9OwotCWludGVyZmFjZSBCb25kaU9iamVjdCB7Ci0JCXJlYWRvbmx5IGF0
dHJpYnV0ZSBCb25kaSBib25kaTsgCi0JfTsKLQlXaW5kb3cgaW1wbGVtZW50cyBib25kaU9iamVj
dDsKLX07CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvZXhhbXBsZXMvZmlsZXN5c3Rl
bS53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL2V4YW1wbGVzL2ZpbGVzeXN0ZW0ud2lkbApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzVmNjAyYjg1OGFkNzZmMDg5OWQ0YTM5NzY5ZTk4
MjI4MzdmMTViZC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvZXhhbXBsZXMvZmlsZXN5c3RlbS53aWRsCisrKyAvZGV2L251
bGwKQEAgLTEsMTAzOCArMCwwIEBACi0vKiAKLSAqIExpY2Vuc2VkIHRvIE9NVFAgTHRkLiAoT01U
UCkgdW5kZXIgb25lIG9yIG1vcmUgY29udHJpYnV0b3IgbGljZW5zZSBhZ3JlZW1lbnRzLiAKLSAq
IFNlZSB0aGUgTk9USUNFIGZpbGUgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHdvcmsgZm9yIGFkZGl0
aW9uYWwgaW5mb3JtYXRpb24gcmVnYXJkaW5nIAotICogY29weXJpZ2h0IG93bmVyc2hpcC4gCi0g
KiAKLSAqIFRoZSBSZWZlcmVuY2UgSW1wbGVtZW50YXRpb24gKHNhdmUgZm9yIHN1Y2ggcGFydHMg
b2YgdGhlIHJlZmVyZW5jZSBpbXBsZW1lbnRhdGlvbiBtYWRlIAotICogYXZhaWxhYmxlIHVuZGVy
IHNlcGFyYXRlIHRlcm1zIGFuZCBjb25kaXRpb25zKSBpcyBtYWRlIGF2YWlsYWJsZSB1bmRlciB0
aGUgdGVybXMgb2YgdGhlIAotICogQXBhY2hlIExpY2Vuc2UsIHZlcnNpb24gMi4wLCBzdWJqZWN0
IHRvIHRoZSBjb25kaXRpb24gdGhhdCBhbnkgIldvcmtzIiBhbmQgIkRlcml2YXRpdmUgCi0gKiBX
b3JrcyIgdXNlZCBvciBkaXN0cmlidXRlZCBmb3IgY29tbWVyY2lhbCBwdXJwb3NlcyBtdXN0IGJl
IGFuZCByZW1haW4gY29tcGxpYW50IHdpdGggdGhlCi0gKiBCT05ESSBzcGVjaWZpY2F0aW9uIGFz
IHByb211bGdhdGVkIGJ5IE9NVFAgaW4gZWFjaCByZWxlYXNlLiBZb3VyIGltcGxlbWVudGF0aW9u
IG9mIHRoZSAKLSAqIFJlZmVyZW5jZSBJbXBsZW1lbnRhdGlvbiAod2hldGhlciBvYmplY3Qgb3Ig
c291cmNlKSBtdXN0IG1haW50YWluIHRoZXNlIGNvbmRpdGlvbnMsIGFuZCAKLSAqIHlvdSBtdXN0
IG5vdGlmeSBhbnkgcmVjaXBpZW50IG9mIHRoaXMgY29uZGl0aW9uIGluIGEgY29uc3BpY3VvdXMg
d2F5LgotICogCi0gKiBZb3UgbWF5IG5vdCB1c2UgdGhpcyBCT05ESSBSZWZlcmVuY2UgSW1wbGVt
ZW50YXRpb24gZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4gCi0gKiAKLSAq
IFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdCBodHRwOi8vd3d3LmFwYWNo
ZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAgb3IgYXQgCi0gKiBodHRwOi8vYm9uZGkub210cC5v
cmcvQk9OREktTElDRU5TRS0yLjAgCi0gKi8KLQotLyoqCi0gKiBcYnJpZWYgQk9OREkgZmlsZXN5
c3RlbSBBUEkuCi0gKgotICogVGhlIEJPTkRJIGZpbGVzeXN0ZW0gQVBJIHByb3ZpZGVzIGFjY2Vz
cyB0byB0aGUgZmlsZXN5c3RlbSBvZiBhIGRldmljZS4gVGhlCi0gKiBmaWxlc3lzdGVtIGlzIGFi
c3RyYWN0bHkgcmVwcmVzZW50ZWQgYXMgYSBjb2xsZWN0aW9uIG9mIGRpc2pvaW50IGZpbGVzeXN0
ZW0KLSAqIHJvb3QgbG9jYXRpb25zIGVhY2ggY29ycmVzcG9uZGluZyB0byBzb21lIHNwZWNpZmlj
IGxvY2F0aW9uIGluIHRoZSBkZXZpY2UKLSAqIGZpbGVzeXN0ZW0uICBUaGUgZmlsZXN5c3RlbSBB
UEkgZXhwb3NlcyB0aGUgaGllcmFyY2hpZXMgYmVsb3cgdGhlc2Ugcm9vdAotICogbG9jYXRpb25z
IGFzIGEgc2luZ2xlIHZpcnR1YWwgZmlsZXN5c3RlbSBidXQgcHJvdmlkZXMgbm8gYWNjZXNzIHRv
IG90aGVyCi0gKiBwYXJ0cyBvZiB0aGUgZGV2aWNlIGZpbGVzeXN0ZW0uCi0gKgotICogVGhlIHJv
b3RzIHRoYXQgYXJlIGV4cG9zZWQgYXJlIGRldGVybWluZWQgYnkgdGhlIHBsYXRmb3JtIGFsc28g
YnkgdGhlCi0gKiBjb250ZXh0IGluIHdoaWNoIHRoZSBmaWxlc3lzdGVtIEFQSSBpcyBpbnZva2Vk
LgotICoKLSAqIEVhY2ggcm9vdCBoYXMgYSBzdHJpbmcgbmFtZS4gRWFjaCBmaWxlIG9yIGRpcmVj
dG9yeSB3aXRoaW4gdGhlIHZpcnR1YWwKLSAqIGZpbGVzeXN0ZW0gaXMgYWRkcmVzc2VkIHVzaW5n
IGEgZnVsbHktcXVhbGlmaWVkIHBhdGggb2YgdGhlIGZvcm06Ci0gKiA8ZW0+Jmx0O3Jvb3QgbmFt
ZSZndDsvJmx0O3BhdGgmZ3Q7PC9lbT4gd2hlcmUgPGVtPiZsdDtyb290bmFtZSZndDs8L2VtPiBp
cwotICogdGhlIG5hbWUgb2YgdGhlIHJvb3QgYW5kIDxlbT4mbHQ7cGF0aCZndDs8L2VtPiBpcyB0
aGUgcGF0aCB0byB0aGUgZmlsZSBvcgotICogZGlyZWN0b3J5IHJlbGF0aXZlIHRvIHRoYXQgcm9v
dC4KLSAqIAotICogVGhlIGxpc3Qgb2YgdGhlIHN1cHBvcnRlZCByb290IGxvY2F0aW9ucyBjYW4g
YmUgcmV0cmlldmVkIGJ5IGNhbGxpbmcKLSAqIGZpbGVzeXN0ZW0uZ2V0Um9vdExvY2F0aW9ucygp
LgotICoKLSAqIFRoZSBkZWZhdWx0IGxvY2F0aW9uIGZvciBhIHNwZWNpZmljIHR5cGUgb2YgZmls
ZSwgaWYgb25lIGV4aXN0cywgY2FuIGJlCi0gKiBvYnRhaW5lZCBieSBjYWxsaW5nIHRoZSBmaWxl
c3lzdGVtLmdldERlZmF1bHRMb2NhdGlvbiguLi4pIG1ldGhvZC4gQSBzZXQgb2YKLSAqIHBsYXRm
b3JtLWluZGVwZW5kZW50IHN5bWJvbGljIG5hbWVzIGZvciBtZWRpYSB0eXBlcyBpcyBkZWZpbmVk
LiBUaGUgZGVmYXVsdAotICogbG9jYXRpb24gZm9yIGEgZ2l2ZW4gZmlsZSB0eXBlIG1heSBpdHNl
bGYgYmUgYSByb290LCBvciBzb21lIHN1YmRpcmVjdG9yeSBvZgotICogYSByb290LiBBbHRob3Vn
aCB0aGUgc2V0IG9mIHJvb3RzIGF2YWlsYWJsZSBvbiBhIGRldmljZSBpcwotICogcGxhdGZvcm0t
ZGVwZW5kZW50LCB0aGUgZ2V0RGVmYXVsdExvY2F0aW9uKC4uLikgZnVuY3Rpb25hbGl0eSBjYW4g
YmUgdXNlZCB0bwotICogZW5zdXJlIHRoYXQgd2ViIGFwcGxpY2F0aW9ucyBjYW4gYmUgd3JpdHRl
biBpbiBhIHBsYXRmb3JtLWluZGVwZW5kZW50IHdheS4KLSAqCi0gKiBJbiBvcmRlciB0byBhY2Nl
c3Mgc3BlY2lmaWMgbG9jYXRpb25zIHdoaWNoIGFyZSBwcmVmaXhlZCB3aXRoIGEgdmFsdWUKLSAq
IHJldHJpZXZlZCBieSBmaWxlc3lzdGVtLmdldERlZmF1bHRMb2NhdGlvbiBvciBzb21lIHJvb3Qg
bG9jYXRpb24gcmV0dXJuZWQgYnkKLSAqIGZpbGVzeXN0ZW0uZ2V0Um9vdExvY2F0aW9ucyBhIEZp
bGUgaGFuZGxlIG11c3QgYmUgcmV0cmlldmVkIHVzaW5nIHRoZQotICogZmlsZXN5c3RlbS5yZXNv
bHZlIGNhbGwuCi0gKgotICogQSBGaWxlIGhhbmRsZSByZXByZXNlbnRzIGVpdGhlciBhIGZpbGUg
b3IgYSBkaXJlY3RvcnkuIElmIGl0IGlzIGEgZmlsZSB0aGUKLSAqIGlzRmlsZSBhdHRyaWJ1dGUg
d2lsbCBiZSA8ZW0+dHJ1ZTwvZW0+LCBvdGhlcndpc2UgdGhlIGlzRGlyZWN0b3J5IGF0dHJpYnV0
ZQotICogd2lsbCBiZSA8ZW0+dHJ1ZTwvZW0+LiBBIGZpbGUgY2FuIGJlIG9wZW5lZCBmb3IgcmVh
ZGluZyBhbmQgd3JpdGluZywgdXNpbmcgYQotICogRmlsZVN0cmVhbSBoYW5kbGUuIEEgZGlyZWN0
b3J5IGNhbiBiZSB1c2VkIHRvIGxpc3QgaXRzIGNvbnRlbnRzIHdoaWNoIGlzIGEKLSAqIGxpc3Qg
b2YgZmlsZXMgYW5kIHN1Yi1kaXJlY3Rvcmllcy4gVGhlcmUgaXMgYSByZXNvbHZlIG1ldGhvZCBv
biBkaXJlY3RvcmllcwotICogYXMgd2VsbCBpbiBvcmRlciB0byByZXNvbHZlIGZpbGVzIG9yIHN1
Yi1kaXJlY3RvcmllcyBtb3JlIGNvbnZlbmllbnRseSB0aGFuCi0gKiBwcm9jZXNzaW5nIGRpcmVj
dG9yeSBsaXN0aW5ncy4KLSAqCi0gKiBUaGUgIi8iIGNoYXJhY3RlciBpcyB1c2VkIGFzIHRoZSAo
cGF0aCkgY29tcG9uZW50IHNlcGFyYXRvci4KLSAqIFRoZSB1c2Ugb2YgIi4iIG9yICIuLiIgaW4g
bG9jYXRpb24gY29tcG9uZW50cyBpcyBub3QgcmVxdWlyZWQgdG8gYmUKLSAqIHN1cHBvcnRlZC4K
LSAqCi0gKiBBbGwgcGF0aCBjaGFyYWN0ZXJzIG5lZWQgdG8gYmUgPGEgaHJlZj0iaHR0cDovL3d3
dy5pZXRmLm9yZy9yZmMvcmZjMjI3OS50eHQiPlVURi04PC9hPiBlbmNvZGVkLgotICoKLSAqIFxj
b2RlCi0gKiAJZnVuY3Rpb24gZXJyb3JDQihlcnIpIHsKLSAqIAkJYWxlcnQoIkJPTkRJIGZpbGVz
eXN0ZW0gQVBJIGNvdWxkbid0IGJlIHJlcXVlc3RlZDogIiArIGVyci5tZXNzYWdlKTsKLSAqIAl9
Ci0gKgotICogCWZ1bmN0aW9uIHN1Y2Nlc3NDQigpIHsKLSAqIAkJdmFyIGRvY0xvY2F0aW9uID0g
Ym9uZGkuZmlsZXN5c3RlbS5nZXREZWZhdWx0TG9jYXRpb24oImRvY3VtZW50cyIpOwotICogCQl2
YXIgZG9jRGlyID0gYm9uZGkuZmlsZXN5c3RlbS5yZXNvbHZlKGRvY0xvY2F0aW9uKTsKLSAqIAkJ
dmFyIGRvY0ZpbGVzID0gZG9jRGlyLmxpc3RGaWxlcygpOwotICogCQlmb3IodmFyIGkgPSAwOyBp
ICZsdDsgZG9jRmlsZXMubGVuZ3RoOyBpKyspIHsKLSAqIAkJCS8vIGRpc3BsYXlzIG5hbWUgb2Yg
ZWFjaCBpbWFnZSBmaWxlIGluIGltYWdlIGRpcmVjdG9yeQotICogCQkJYWxlcnQoZG9jRmlsZXNb
aV0ubmFtZSk7Ci0gKiAJCX0KLSAqIAkJdmFyIHRlc3RGaWxlID0gZG9jRGlyLmNyZWF0ZUZpbGUo
InRlc3QudHh0Iik7Ci0gKiAJCXZhciBvdXQgPSB0ZXN0RmlsZS5vcGVuKCJ3IiwgIlVURi04Iik7
Ci0gKiAJCS8vIHdyaXRlcyBIZWxsbyBXb3JsZCB0byB0ZXN0LnR4dAotICogCQlvdXQud3JpdGUo
IkhlbGxvIFdvcmxkIik7Ci0gKiAJCW91dC5jbG9zZSgpOwotICogCX0KLSAqCi0gKiAJYm9uZGku
cmVxdWVzdEZlYXR1cmUoc3VjY2Vzc0NCLCBlcnJvckNCLCAiZmlsZXN5c3RlbSIpOwotICogXGVu
ZGNvZGUKLSAqIAotICogXGRlZi1hcGktZmVhdHVyZSBodHRwOi8vYm9uZGkub210cC5vcmcvYXBp
L2ZpbGVzeXN0ZW0ucmVhZAotICogXGJyaWVmIEZpbGVzeXN0ZW0gcmVhZCBvcGVyYXRpb25zLCBp
bmNsdWRpbmcgcmVhZGluZyBkaXJlY3RvcnkgbGlzdGluZ3MsCi0gKiAgICAgICAgZmlsZSBjb250
ZW50cyBhbmQgcmVzb2x2aW5nIHJvb3QgbG9jYXRpb25zLgotICogXGRldmljZS1jYXAgaW8uZmls
ZS5yZWFkCi0gKgotICogXGRlZi1hcGktZmVhdHVyZSBodHRwOi8vYm9uZGkub210cC5vcmcvYXBp
L2ZpbGVzeXN0ZW0ud3JpdGUKLSAqIFxicmllZiBGaWxlc3lzdGVtIHdyaXRlIG9wZXJhdGlvbnMs
IGluY2x1ZGluZyBjcmVhdGluZyBmaWxlcy9kaXJlY3RvcmllcywKLSAqICAgICAgICB3cml0aW5n
IHRvIGZpbGVzLCBkZWxldGluZyBmaWxlcy9kaXJlY3RvcmllcywgbW92aW5nIGFuZCBjb3B5aW5n
Ci0gKiAgICAgICAgZmlsZXMuCi0gKiBcZGV2aWNlLWNhcCBpby5maWxlLndyaXRlCi0gKiAKLSAq
IFxkZWYtYXBpLWZlYXR1cmUtc2V0IGh0dHA6Ly9ib25kaS5vbXRwLm9yZy9hcGkvZmlsZXN5c3Rl
bQotICogXGJyaWVmIEFsbCB0aGUgRmlsZVN5c3RlbSBmZWF0dXJlcwotICogXGFwaS1mZWF0dXJl
IGh0dHA6Ly9ib25kaS5vbXRwLm9yZy9hcGkvZmlsZXN5c3RlbS5yZWFkCi0gKiBcYXBpLWZlYXR1
cmUgaHR0cDovL2JvbmRpLm9tdHAub3JnL2FwaS9maWxlc3lzdGVtLndyaXRlCi0gKgotICogXGRl
Zi1kZXZpY2UtY2FwIGlvLmZpbGUucmVhZAotICogXGJyaWVmIFJlYWQgZGlyZWN0b3J5IG9yIGZp
bGUKLSAqIFxwYXJhbSBuYW1lIE5hbWUgb2YgZGlyZWN0b3J5IG9yIGZpbGUsIGluIHZpcnR1YWwg
ZmlsZXN5c3RlbSwKLSAqIGUuZy4gcm9vdGxvY2F0aW9uL2ZpbGVuYW1lCi0gKgotICogXGRlZi1k
ZXZpY2UtY2FwIGlvLmZpbGUud3JpdGUKLSAqIFxicmllZiBXcml0ZSBkaXJlY3Rvcnkgb3IgZmls
ZQotICogXHBhcmFtIG5hbWUgTmFtZSBvZiBkaXJlY3Rvcnkgb3IgZmlsZSwgaW4gdmlydHVhbCBm
aWxlc3lzdGVtLAotICogZS5nLiByb290bG9jYXRpb24vZmlsZW5hbWUKLSAqCi0gKiBcYXV0aG9y
IFBhZGR5IEJ5ZXJzICZsdDtwYWRkeUBhcGxpeGNvcnAuY29tJmd0OwotICogXGF1dGhvciBBbnNl
bG0gUiBHYXJiZSAmbHQ7YW5zZWxtQGFwbGl4Y29ycC5jb20mZ3Q7Ci0gKiBcdmVyc2lvbiAxLjEK
LSAqLwotbW9kdWxlIGZpbGVzeXN0ZW0gewotCi0JLyoqCi0JICogXGJyaWVmIEFycmF5IG9mIEZp
bGUgaGFuZGxlcy4KLQkgKgotCSAqIFRoaXMgYXJyYXkgdHlwZSBpcyByZXR1cm5lZCB3aGVuIGRp
cmVjdG9yeSBsaXN0aW5ncyBhcmUgcmVxdWVzdGVkLgotCSAqLwotCXR5cGVkZWYgc2VxdWVuY2U8
RmlsZT4gRmlsZUFycmF5OwotCi0JLyoqCi0JICogXGJyaWVmIEZpbGUgc3lzdGVtIHNwZWNpZmlj
IHN1Y2Nlc3MgY2FsbGJhY2suCi0JICoKLQkgKiBUaGlzIGNhbGxiYWNrIGludGVyZmFjZSBzcGVj
aWZpZXMgYSBzdWNjZXNzIGNhbGxiYWNrIHdpdGggYSBmdW5jdGlvbgotCSAqIHRha2luZyBhIEZp
bGUgb2JqZWN0IGFzIGlucHV0IGFyZ3VtZW50LiBJdCBpcyB1c2VkIGluIGFzeW5jaHJvbm91cwot
CSAqIG9wZXJhdGlvbnMgc3VjaCBhcyBjb3B5aW5nLCBtb3ZpbmcgYW5kIGRlbGV0aW5nIGZpbGVz
LgotCSAqLwotCVtDYWxsYmFjaz1GdW5jdGlvbk9ubHksIE5vSW50ZXJmYWNlT2JqZWN0XSBpbnRl
cmZhY2UgRmlsZVN5c3RlbVN1Y2Nlc3NDYWxsYmFjayB7Ci0JICAgLyoqCi0JICAgICogXGJyaWVm
IE1ldGhvZCBpbnZva2VkIHdoZW4gdGhlIGFzeW5jaHJvbm91cyBjYWxsIGNvbXBsZXRlcyBzdWNj
ZXNmdWxseQotCSAgICAqCi0JICAgICogXHBhcmFtIGZpbGUgVGhlIGZpbGUgcmVzdWx0aW5nIGZy
b20gdGhlIGFzeW5jaHJvbm91cyBjYWxsCi0JICAgICovCi0JCXZvaWQgb25TdWNjZXNzKGluIEZp
bGUgZmlsZSk7Ci0JfTsKLQotCS8qKgotCSAqIFxicmllZiBNYW5hZ2VyIGNsYXNzIGV4cG9zZWQg
YXMgdGhlIGZpbGVzeXN0ZW0gbW9kdWxlcyBBUEkuCi0JICoKLQkgKiBUaGlzIG1hbmFnZXIgY2xh
c3MgZXhwb3NlcyB0aGUgZmlsZXN5c3RlbSBiYXNlIEFQSSwgc3VjaCBhcwotCSAqIGRldGVybWlu
aW5nIHJvb3QgYW5kIGRlZmF1bHQgbG9jYXRpb25zLCByZXNvbHZpbmcgYSBnaXZlbiBsb2NhdGlv
bgotCSAqIGludG8gYSBGaWxlIEhhbmRsZSBhbmQgcmVnaXN0ZXJpbmcgZmlsZXN5c3RlbSBsaXN0
ZW5lcnMgZm9yCi0JICogZmlsZXN5c3RlbSBldmVudHMuCi0JICoKLQkgKiBcY29kZQotCSAqIAlm
dW5jdGlvbiBlcnJvckNCKGVycikgewotCSAqIAkJYWxlcnQoIkJPTkRJIGZpbGVzeXN0ZW0gQVBJ
IGNvdWxkbid0IGJlIHJlcXVlc3RlZDogIiArIGVyci5tZXNzYWdlKTsKLQkgKiAJfQotCSAqCi0J
ICogCWZ1bmN0aW9uIHN1Y2Nlc3NDQigpIHsKLQkgKiAJCXZhciBkb2NMb2NhdGlvbiA9IGJvbmRp
LmZpbGVzeXN0ZW0uZ2V0RGVmYXVsdExvY2F0aW9uKCJkb2N1bWVudHMiKTsKLQkgKiAJCXZhciBk
b2NEaXIgPSBib25kaS5maWxlc3lzdGVtLnJlc29sdmUoZG9jTG9jYXRpb24pOwotCSAqIAkJdmFy
IGRvY0ZpbGVzID0gZG9jRGlyLmxpc3RGaWxlcygpOwotCSAqIAkJZm9yKHZhciBpID0gMDsgaSAm
bHQ7IGRvY0ZpbGVzLmxlbmd0aDsgaSsrKSB7Ci0JICogCQkJLy8gZGlzcGxheXMgbmFtZSBvZiBl
YWNoIGltYWdlIGZpbGUgaW4gaW1hZ2UgZGlyZWN0b3J5Ci0JICogCQkJYWxlcnQoZG9jRmlsZXNb
aV0ubmFtZSk7Ci0JICogCQl9Ci0JICogCQl2YXIgdGVzdEZpbGUgPSBkb2NEaXIuY3JlYXRlRmls
ZSgidGVzdC50eHQiKTsKLQkgKiAJCXZhciBvdXQgPSB0ZXN0RmlsZS5vcGVuKCJ3IiwgIlVURi04
Iik7Ci0JICogCQkvLyB3cml0ZXMgSGVsbG8gV29ybGQgdG8gdGVzdC50eHQKLQkgKiAJCW91dC53
cml0ZSgiSGVsbG8gV29ybGQiKTsKLQkgKiAJCW91dC5jbG9zZSgpOwotCSAqIAl9Ci0JICoKLQkg
KiAJYm9uZGkucmVxdWVzdEZlYXR1cmUoc3VjY2Vzc0NCLCBlcnJvckNCLCAiZmlsZXN5c3RlbSIp
OwotCSAqIFxlbmRjb2RlCi0JICovCi0JaW50ZXJmYWNlIEZpbGVTeXN0ZW1NYW5hZ2VyIHsKLQot
CQkvKioKLQkJICogXGJyaWVmIENvbnRhaW5zIHRoZSBwbGF0Zm9ybS1kZXBlbmRlbnQgbWF4aW11
bSBwYXRoIGxlbmd0aC4KLQkJICoKLQkJICogUmVhZC1vbmx5LgotCQkgKgotCQkgKiBcY29kZQot
CQkgKiAJYWxlcnQoYm9uZGkuZmlsZXN5c3RlbS5tYXhQYXRoTGVuZ3RoKTsKLQkJICogXGVuZGNv
ZGUKLQkJICovCi0JCXJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIG1heFBhdGhMZW5n
dGg7Ci0KLQkJLyoqCi0JCSAqIFxicmllZiBSZXR1cm5zIGEgZGVmYXVsdCBsb2NhdGlvbiBwYXRo
IGZvciB0aGUgZ2l2ZW4gYXJndW1lbnRzLAotCQkgKiBpbmNsdWRpbmcgdGhlIHJvb3QgbG9jYXRp
b24gcHJlZml4LgotCQkgKgotCQkgKiBPcHRpb25hbGx5IHRoaXMgbWV0aG9kIGNhbiBiZSBjYWxs
ZWQgd2l0aCB0aGUgc3BhY2UgYXJndW1lbnQKLQkJICogc3BlY2lmeWluZyB0aGUgbWluaW11bSBm
cmVlIGRpc2sgc3BhY2UgcmVxdWlyZWQuCi0JCSAqCi0JCSAqIFRoaXMgZnVuY3Rpb24gcmVzb2x2
ZXMgbG9jYXRpb24gc3BlY2lmaWVycyB0byBsb2NhdGlvbiBwYXRocy4KLQkJICogVGhlIGZvbGxv
d2luZyBsb2NhdGlvbiBzcGVjaWZpZXJzIGFyZSBzdXBwb3J0ZWQ6Ci0JCSAqIFxuICJ3Z3Q6cGFj
a2FnZSIgdGhlIHdpZGdldCBwYWNrYWdlIGxvY2F0aW9uCi0JCSAqIFxuICJ3Z3Q6cHJpdmF0ZSIg
dGhlIHdpZGdldHMgcHJpdmF0ZSBzdG9yYWdlCi0JCSAqIFxuICJ3Z3Q6cHVibGljIiAgdGhlIHdp
ZGdldHMgcHVibGljIHN0b3JhZ2UKLQkJICogXG4gIndndDp0ZW1wIiAgICB0aGUgd2lkZ2V0cyB0
ZW1wb3Jhcnkgc3RvcmFnZQotCQkgKiBcbiAiZG9jdW1lbnRzIiAgIHRoZSBkb2N1bWVudHMgbG9j
YXRpb24sCi0JCSAqICAgICAgICAgICAgICAgICAgICBlLmcuIHRoZSAiTXkgRG9jdW1lbnRzIiBk
aXJlY3Rvcnkgb24gc29tZSBzeXN0ZW1zCi0JCSAqIFxuICJpbWFnZXMiICAgICAgdGhlIGltYWdl
cyBsb2NhdGlvbiwKLQkJICogICAgICAgICAgICAgICAgICAgIGUuZy4gdGhlICJNeSBQaWN0dXJl
cyIgZGlyZWN0b3J5IG9uIHNvbWUgc3lzdGVtcwotCQkgKiBcbiAidmlkZW9zIiAgICAgIHRoZSB2
aWRlb3MgbG9jYXRpb24sCi0JCSAqICAgICAgICAgICAgICAgICAgICBlLmcuIHRoZSAiTXkgVmlk
ZW9zIiBkaXJlY3Rvcnkgb24gc29tZSBzeXN0ZW1zCi0JCSAqIFxuICJ0ZW1wIiAgICAgICAgdGhl
IHRlbXBvcmFyeSBzdG9yYWdlLAotCQkgKiAgICAgICAgICAgICAgICAgICAgZS5nIHJlc29sdmlu
ZyB0byAiVGVtcCIKLQkJICogXG4gInNkY2FyZCIgICAgICB0aGUgc2RjYXJkIHN0b3JhZ2UsIGlm
IGFueQotCQkgKgotCQkgKiBcY29kZQotCQkgKiAJdmFyIHdndExvY2F0aW9uID0gYm9uZGkuZmls
ZXN5c3RlbS5nZXREZWZhdWx0TG9jYXRpb24oJ3dndDpwYWNrYWdlJyk7Ci0JCSAqIFxlbmRjb2Rl
Ci0JCSAqCi0JCSAqIFxwYXJhbSBzcGVjaWZpZXIgICAgdGhlIGxvY2F0aW9uIHNwZWNpZmllciwg
c2VlIGFib3ZlIGZvciBzdXBwb3J0ZWQgc3BlY2lmaWVycy4KLQkJICogXHBhcmFtIG1pbkZyZWVT
cGFjZSBvcHRpb25hbCwgbWluaW11bSByZXF1aXJlZCBmcmVlIGRpc2sgc3BhY2UgaW4gYnl0ZXMg
Zm9yCi0JCSAqICAgICAgICAgICAgICAgICAgICAgdGhpcyBsb2NhdGlvbiwgPGVtPjA8L2VtPiAo
ZGVmYXVsdCkgbWVhbnMgbm8gbGltaXRhdGlvbgotCQkgKiBccmV0dXJuIHRoZSBsb2NhdGlvbiBh
cyBhIHN0cmluZyBvciA8ZW0+bnVsbDwvZW0+IGlmIHRoZXJlCi0JCSAqICAgICAgICAgaXMgbm8g
bG9jYXRpb24gZm9yIHRoZSBnaXZlbiBzcGVjaWZpZXIgb3IgaWYgdGhlcmUgaXMgbm90Ci0JCSAq
ICAgICAgICAgZW5vdWdoIHNwYWNlIGxlZnQgZm9yIHRoZSByZXF1ZXN0ZWQgc3BhY2UgaW4gYnl0
ZXMuCi0JCSAqIFx0aHJvdyBEZXZpY2VBUElFcnJvciBJTlZBTElEX0FSR1VNRU5UX0VSUk9SIGlm
IHRoZQotCQkgKiAgICAgICAgc3BlY2lmaWVyIG9yIHNwYWNlIGFyZ3VtZW50cyBhcmUgaW52YWxp
ZAotCQkgKi8KLQkJRE9NU3RyaW5nIGdldERlZmF1bHRMb2NhdGlvbihpbiBET01TdHJpbmcgc3Bl
Y2lmaWVyLCBpbiB1bnNpZ25lZCBsb25nIG1pbkZyZWVTcGFjZSkKLQkJCXJhaXNlcyhEZXZpY2VB
UElFcnJvcik7Ci0KLQkJLyoqCi0JCSAqIFxicmllZiBSZXR1cm5zIGFsbCByb290IGxvY2F0aW9u
cy4KLQkJICoKLQkJICogVGhlIHJvb3QgbG9jYXRpb25zIGFyZSBzeW1ib2xpYyBuYW1lcyBmb3Ig
ZmlsZXN5c3RlbQotCQkgKiBsb2NhdGlvbnMgd2hpY2ggYXJlIGFjY2Vzc2libGUgYW5kIHN1cHBv
cnRlZCBieSB0aGUKLQkJICogdW5kZXJseWluZyBwbGF0Zm9ybS4KLQkJICoKLQkJICogVXN1YWxs
eSB0aGUgZm9sbG93aW5nIHJvb3QgbG9jYXRpb25zIHdpbGwgYmUgc3VwcG9ydGVkOgotCQkgKiBc
biAiZG9jdW1lbnRzIiByZXByZXNlbnRzICJNeSBEb2N1bWVudHMiIG9uIHNvbWUgcGxhdGZvcm1z
Ci0JCSAqIFxuICJpbWFnZXMiICAgIHJlcHJlc2VudHMgIk15IFBpY3R1cmVzIiBvbiBzb21lIHBs
YXRmb3JtcwotCQkgKiBcbiAidmlkZW9zIiAgICByZXByZXNlbnRzICJNeSBWaWRlb3MiIG9uIHNv
bWUgcGxhdGZvcm1zCi0JCSAqIFxuICJ0ZW1wIiAgICAgIHJlcHJlc2VudHMgInRtcCIgb24gc29t
ZSBwbGF0Zm9ybXMKLQkJICogXG4gInNkY2FyZCIgICAgcmVwcmVzZW50cyB0aGUgc2RjYXJkIG9u
IHNvbWUgcGxhdGZvcm1zCi0JCSAqCi0JCSAqIFNlZSBhbHNvIHRoZSBnZXREZWZhdWx0TG9jYXRp
b24gbWV0aG9kLgotCQkgKgotCQkgKiBcY29kZQotCQkgKiAJdmFyIGxvY2F0aW9ucyA9IGJvbmRp
LmZpbGVzeXN0ZW0uZ2V0Um9vdExvY2F0aW9ucygpOwotCQkgKiAJZm9yKHZhciBpID0gMDsgaSAm
bHQ7IGxvY2F0aW9ucy5sZW5ndGg7IGkrKykgewotCQkgKiAJCS8vIGxvY2F0aW9uc1tpXSBpcyBh
IHJlc29sdmFibGUgcm9vdCBsb2NhdGlvbgotCQkgKiAJfQotCQkgKiBcZW5kY29kZQotCQkgKgot
CQkgKiBccmV0dXJuIHN0cmluZyBhcnJheSBvZiByb290IGxvY2F0aW9ucy4KLQkJICovCi0JCVN0
cmluZ0FycmF5IGdldFJvb3RMb2NhdGlvbnMoKTsKLQotCQkvKioKLQkJICogXGJyaWVmIFJlc29s
dmVzIGEgbG9jYXRpb24gdG8gYSBGaWxlIGhhbmRsZS4KLQkJICoKLQkJICogVmFsaWRhdGVzIGFu
ZCByZXNvbHZlcyB0aGUgZ2l2ZW4gbG9jYXRpb24gdG8gYSBGaWxlIGhhbmRsZQotCQkgKiBhbmQg
cmV0dXJucyBhIGhhbmRsZS4gQSB2YWxpZCBsb2NhdGlvbiBpcyBwcmVmaXhlZCB3aXRoIGEKLQkJ
ICogdmFsaWQgcm9vdCBvciBkZWZhdWx0IGxvY2F0aW9uIGFuZCBtdXN0IGFkZHJlc3MgYW4gZXhp
c3RpbmcKLQkJICogYW5kIGFjY2Vzc2libGUgZmlsZS4gIAotCQkgKgotCQkgKiBcYXBpLWZlYXR1
cmUgaHR0cDovL2JvbmRpLm9tdHAub3JnL2FwaS9maWxlc3lzdGVtLnJlYWQKLQkJICoKLQkJICog
XGNvZGUKLQkJICogCXZhciBsb2NhdGlvbiA9IGJvbmRpLmZpbGVzeXN0ZW0uZ2V0RGVmYXVsdExv
Y2F0aW9uKCJ0ZW1wIik7Ci0JCSAqIAl2YXIgdGVtcCA9IGJvbmRpLmZpbGVzeXN0ZW0ucmVzb2x2
ZShsb2NhdGlvbik7Ci0JCSAqIAl2YXIgZG9jdW1lbnRzID0gYm9uZGkuZmlsZXN5c3RlbS5nZXRE
ZWZhdWx0TG9jYXRpb24oImRvY3VtZW50cyIpOwotCQkgKiAJdmFyIG15ZG9jID0gYm9uZGkuZmls
ZXN5c3RlbS5yZXNvbHZlKGRvY3VtZW50cyArICIvZGF0YS8yMDA5L215ZG9jLnR4dCIpOwotCQkg
KiBcZW5kY29kZQotCQkgKgotCQkgKiBccGFyYW0gbG9jYXRpb24gdGhlIGxvY2F0aW9uIHRvIHJl
c29sdmUuIE11c3QgYmUgYWJzb2x1dGUKLQkJICogICAgICAgIHByZWZpeGVkIGJ5IGEgdmFsaWQg
cm9vdCBvciBkZWZhdWx0IGxvY2F0aW9uLgotCQkgKiBccmV0dXJuIHRoZSByZXNvbHZlZCBmaWxl
IG9iamVjdC4KLQkJICogXHRocm93IFNlY3VyaXR5RXJyb3IgUEVSTUlTU0lPTl9ERU5JRURfRVJS
T1Igd2hlbgotCQkgKiAgICAgICAgYWNjZXNzIGlzIGRlbmllZCBieSB0aGUgc2VjdXJpdHkgcG9s
aWN5LgotCQkgKiBcdGhyb3cgRGV2aWNlQVBJRXJyb3IgSU5WQUxJRF9BUkdVTUVOVF9FUlJPUiBp
ZiBpbnZhbGlkIGxvY2F0aW9uIHdhcyBnaXZlbi4KLQkJICovCi0JCUZpbGUgcmVzb2x2ZShpbiBE
T01TdHJpbmcgbG9jYXRpb24pCi0JCQlyYWlzZXMoU2VjdXJpdHlFcnJvciwgRGV2aWNlQVBJRXJy
b3IpOwotCi0JCS8qKgotCQkgKiBcYnJpZWYgUmVnaXN0ZXJzIGEgZmlsZXN5c3RlbSBldmVudCBs
aXN0ZW5lci4KLQkJICoKLQkJICogRmlsZXN5c3RlbSBldmVudCBsaXN0ZW5lcnMgYXJlIHVzZWQg
aW4gb3JkZXIgdG8gcmV0cmlldmUKLQkJICogbm90aWZpY2F0aW9ucyBpZiByb290IG9yIGRlZmF1
bHQgbG9jYXRpb25zIHN1Y2ggYXMgc3RvcmFnZQotCQkgKiBjYXJkcyBhcmUgbW91bnRlZC91bm1v
dW50ZWQgaW50by9mcm9tIHRoZSBkZXZpY2UgZmlsZXN5c3RlbS4KLQkJICoKLQkJICogXGFwaS1m
ZWF0dXJlIGh0dHA6Ly9ib25kaS5vbXRwLm9yZy9hcGkvZmlsZXN5c3RlbS5yZWFkCi0JCSAqCi0J
CSAqIFxjb2RlCi0JCSAqIAl2YXIgbGlzdGVuZXIgPSB7IG1vdW50RXZlbnQ6IGZ1bmN0aW9uKGxv
Y2F0aW9uKSB7IGFsZXJ0KCdtb3VudGVkICcgKyBsb2NhdGlvbik7IH0sCi0JCSAqIAkgICAgICAg
ICAgICAgICAgIHVubW91bnRFdmVudDogZnVuY3Rpb24obG9jYXRpb24pIHsgYWxlcnQoJ3VubW91
bnRlZCAnICsgbG9jYXRpb24pOyB9OwotCQkgKiAJYm9uZGkuZmlsZXN5c3RlbS5yZWdpc3RlckV2
ZW50TGlzdGVuZXIobGlzdGVuZXIpOwotCQkgKiBcZW5kY29kZQotCQkgKgotCQkgKiBccGFyYW0g
bGlzdGVuZXIgdGhlIGxpc3RlbmVyIGludGVyZmFjZSBpbXBsZW1lbnRhdGlvbgotCQkgKiBcdGhy
b3cgRGV2aWNlQVBJRXJyb3IgSU5WQUxJRF9BUkdVTUVOVF9FUlJPUiBpZiB0aGUgZ2l2ZW4gbGlz
dGVuZXIKLQkJICogICAgICAgIGlzIGludmFsaWQgb3Igbm90IGEgbGlzdGVuZXIuCi0JCSAqLwot
CQl2b2lkIHJlZ2lzdGVyRXZlbnRMaXN0ZW5lcihpbiBGaWxlU3lzdGVtTGlzdGVuZXIgbGlzdGVu
ZXIpCi0JCQlyYWlzZXMoRGV2aWNlQVBJRXJyb3IpOwotCi0JCS8qKgotCQkgKiBcYnJpZWYgVW5y
ZWdpc3RlcnMgYSBmaWxlc3lzdGVtIGV2ZW50IGxpc3RlbmVyLgotCQkgKgotCQkgKiBcY29kZQot
CQkgKiAJYm9uZGkuZmlsZXN5c3RlbS51bnJlZ2lzdGVyRXZlbnRMaXN0ZW5lcihsaXN0ZW5lcik7
Ci0JCSAqIFxlbmRjb2RlCi0JCSAqCi0JCSAqIFxwYXJhbSBsaXN0ZW5lciB0aGUgbGlzdGVuZXIg
aW50ZXJmYWNlIGltcGxlbWVudGF0aW9uCi0JCSAqIFx0aHJvdyBEZXZpY2VBUElFcnJvciBJTlZB
TElEX0FSR1VNRU5UX0VSUk9SIGlmIHRoZSBnaXZlbiBsaXN0ZW5lcgotCQkgKiAgICAgICAgaXMg
aW52YWxpZCBvciBub3QgYSBsaXN0ZW5lci4KLQkJICovCi0JCXZvaWQgdW5yZWdpc3RlckV2ZW50
TGlzdGVuZXIoaW4gRmlsZVN5c3RlbUxpc3RlbmVyIGxpc3RlbmVyKQotCQkJcmFpc2VzKERldmlj
ZUFQSUVycm9yKTsKLQl9OwotCi0JLyoqCi0JICogXGJyaWVmIEZpbGVzeXN0ZW0gZXZlbnQgbGlz
dGVuZXIgY2xhc3MuCi0JICoKLQkgKiBUaGlzIGxpc3RlbmVyIGltcGxlbWVudHMgdHdvIG1ldGhv
ZHMgdG8gcmV0cmlldmUgbW91bnQgYW5kIHVubW91bnQKLQkgKiBub3RpZmljYXRpb25zIGlmIHJv
b3Qgb3IgZGVmYXVsdCBsb2NhdGlvbnMgb24gYSBzdG9yYWdlIGNhcmQgZ2V0Ci0JICogYXZhaWxh
YmxlIG9yIHVuYXZhaWxhYmxlLgotCSAqCi0JICogXGNvZGUKLQkgKiAJdmFyIGZzRXZlbnRJbXBs
ID0gewotCSAqIAkJbW91bnRFdmVudDogZnVuY3Rpb24obG9jYXRpb24pIHsKLQkgKiAJCQkvLyBs
b2NhdGlvbiBoYXMgYmVlbiBtb3VudGVkCi0JICogCQl9LAotCSAqIAkJdW5tb3VudEV2ZW50OiBm
dW5jdGlvbihsb2NhdGlvbikgewotCSAqIAkJCS8vIGxvY2F0aW9uIGhhcyBiZWVuIHVubW91bnRl
ZAotCSAqIAkJfQotCSAqIAl9OwotCSAqIFxlbmRjb2RlCi0JICovCi0JaW50ZXJmYWNlIEZpbGVT
eXN0ZW1MaXN0ZW5lciB7Ci0KLQkJLyoqCi0JCSAqIFxicmllZiBDYWxsZWQgd2hlbiBhIG5ldyBy
b290IGxvY2F0aW9uIGdldHMgYXZhaWxhYmxlLgotCQkgKgotCQkgKiBBIG5ldyBsb2NhdGlvbiBj
b3VsZCBiZSBhIHN0b3JhZ2UgY2FyZCBmb3IgZXhhbXBsZS4KLQkJICoKLQkJICogXHBhcmFtIGxv
Y2F0aW9uIHRoZSBuZXdseSBhdmFpbGFibGUgbG9jYXRpb24KLQkJICovCi0JCXZvaWQgbW91bnRF
dmVudChpbiBET01TdHJpbmcgbG9jYXRpb24pOwotCi0JCS8qKgotCQkgKiBcYnJpZWYgQ2FsbGVk
IHdoZW4gYSBsb2NhdGlvbiBnZXRzIHVuYXZhaWxhYmxlLgotCQkgKgotCQkgKiBTdWNoIGEgbG9j
YXRpb24gY291bGQgYmUgYSBzdG9yYWdlIGNhcmQgZm9yIGV4YW1wbGUuCi0JCSAqCi0JCSAqIFxw
YXJhbSBsb2NhdGlvbiB0aGUgbG9jYXRpb24gd2hpY2ggaXMgYmVjb21pbmcgdW5hdmFpbGFibGUK
LQkJICovCi0JCXZvaWQgdW5tb3VudEV2ZW50KGluIERPTVN0cmluZyBsb2NhdGlvbik7Ci0JfTsK
LQotCS8qKgotCSAqIFxicmllZiBGaWxlIGNsYXNzLgotCSAqCi0JICogVGhpcyBpbnRlcmZhY2Ug
cmVwcmVzZW50cyB0aGUgZmlsZSBhYnN0cmFjdGlvbiBpbiB1c2UuIEEgZmlsZSBoYW5kbGUKLQkg
KiBjYW4gYWRkcmVzcyBmaWxlcyBvciBkaXJlY3Rvcmllcy4gIEEgZmlsZSBoYW5kbGUgcmVwcmVz
ZW50cyBhIGZpbGUKLQkgKiBpZiB0aGUgaXNGaWxlIHByb3BlcnR5IGlzIDxlbT50cnVlPC9lbT4s
IG90aGVyd2lzZSBpdCByZXByZXNlbnRzIGEKLQkgKiBkaXJlY3RvcnkuCi0JICoKLQkgKiBBIGZp
bGUgaGFuZGxlIHJlcHJlc2VudGluZyBhIGZpbGUgY2FuIGJlIG9wZW5lZCBmb3IgSS9PIG9wZXJh
dGlvbnMKLQkgKiBzdWNoIGFzIHJlYWRpbmcgYW5kIHdyaXRpbmcuCi0JICoKLQkgKiBBIGZpbGUg
aGFuZGxlIHJlcHJlc2VudGluZyBhIGRpcmVjdG9yeSBjYW4gbGlzdCBhbGwgZmlsZXMgaW4gdGhl
Ci0JICogY3VycmVudCBkaXJlY3RvcnkuCi0JICoKLQkgKiBcY29kZQotCSAqCi0JICoJLy8gbGlz
dCBkaXJlY3RvcnkgY29udGVudHMKLQkgKiAJdmFyIGZpbGVzID0gZGlyLmxpc3RGaWxlcygpOwot
CSAqIAlmb3IodmFyIGkgPSAwOyBpICZsdDsgZmlsZXMubGVuZ3RoOyBpKyspIHsKLQkgKiAJCS8v
IGFsZXJ0cyBlYWNoIG5hbWUgb2YgZGlyJ3MgY29udGVudHMKLQkgKiAJCWFsZXJ0KGZpbGVzW2ld
Lm5hbWUpOwotCSAqIAl9Ci0JICogCi0JICogCS8vIG9wZW5zIGEgZmlsZSBmb3Igd3JpdGluZwot
CSAqIAl2YXIgZmlsZSA9IGRpci5jcmVhdGVGaWxlKCJ0ZXN0LnR4dCIpOwotCSAqIAl2YXIgb3V0
ICA9IGZpbGUub3BlbigidyIsICJVVEYtOCIpOwotCSAqIAkvLyB3cml0ZXMgSGVsbG8gV29ybGQg
dG8gdGVzdC50eHQKLQkgKiAJb3V0LndyaXRlKCJIZWxsbyBXb3JsZCIpOwotCSAqIAlvdXQuY2xv
c2UoKTsKLQkgKiBcZW5kY29kZQotCSAqLwotCWludGVyZmFjZSBGaWxlIHsKLQotCQkvKioKLQkJ
ICogXGJyaWVmIFBhcmVudCBkaXJlY3RvcnkgaGFuZGxlLgotCQkgKgotCQkgKiBSZWFkLW9ubHku
Ci0JCSAqCi0JCSAqIDxlbT5udWxsPC9lbT4gaWYgdGhlcmUgaXMgbm8gcGFyZW50IGRpcmVjdG9y
eS4KLQkJICoKLQkJICogSWYgdGhlcmUgaXMgbm8gcGFyZW50IGRpcmVjdG9yeSwgdGhpcyByZXBy
ZXNlbnRzIGEgcm9vdCBsb2NhdGlvbi4KLQkJICoKLQkJICogXGNvZGUKLQkJICogCXZhciBwYXJl
bnQgPSBmaWxlLnBhcmVudDsKLQkJICogCWlmKHBhcmVudCAhPSBudWxsKSB7Ci0JCSAqIAkJLy8g
cGFyZW50IGRpcmVjdG9yeSBoYW5kbGUKLQkJICogCX0KLQkJICogXGVuZGNvZGUKLQkJICovCi0J
CXJlYWRvbmx5IGF0dHJpYnV0ZSBGaWxlIHBhcmVudDsKLQotCQkvKioKLQkJICogXGJyaWVmIEZp
bGUvZGlyZWN0b3J5IGFjY2VzcyBzdGF0ZSBpbiB0aGUgZmlsZXN5c3RlbS4KLQkJICoKLQkJICog
UmVhZC1vbmx5LgotCQkgKgotCQkgKiA8ZW0+ZmFsc2U8L2VtPiBpZiB0aGVyZSBpcyB3cml0ZSBh
Y2Nlc3MuCi0JCSAqCi0JCSAqIFRoaXMgYXR0cmlidXRlIHJlcHJlc2VudHMgdGhlIGFjdHVhbCBz
dGF0ZSBvZiBhCi0JCSAqIGZpbGUvZGlyZWN0b3J5IGluIHRoZSBmaWxlc3lzdGVtLiBJdCBkb2Vz
IG5vdCBjaGVjayBpZiB0aGUKLQkJICogYWNjZXNzb3IgaGFzIGlvLmZpbGUud3JpdGUgcGVybWlz
c2lvbi4KLQkJICoKLQkJICogXGNvZGUKLQkJICogCWlmKGZpbGUucmVhZE9ubHkpIHsKLQkJICog
CQkvLyBmaWxlIGNhbm5vdCBiZSB3cml0dGVuCi0JCSAqIAl9Ci0JCSAqIFxlbmRjb2RlCi0JCSAq
LwotCQlyZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiByZWFkT25seTsKLQotCQkvKioKLQkJICog
XGJyaWVmIEZpbGUgdHlwZS4KLQkJICoKLQkJICogUmVhZC1vbmx5LgotCQkgKgotCQkgKiA8ZW0+
dHJ1ZTwvZW0+IGlmIHRoaXMgaGFuZGxlIGlzIGEgZmlsZS4KLQkJICogPGVtPmZhbHNlPC9lbT4g
aWYgdGhpcyBoYW5kbGUgaXMgYSBkaXJlY3RvcnkuCi0JCSAqCi0JCSAqIFxjb2RlCi0JCSAqIAlp
ZihmaWxlLmlzRmlsZSkgewotCQkgKiAJCS8vIGlzIGEgZmlsZQotCQkgKiAJfQotCQkgKiBcZW5k
Y29kZQotCQkgKi8KLQkJcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gaXNGaWxlOwotCi0JCS8q
KgotCQkgKiBcYnJpZWYgRmlsZSB0eXBlLgotCQkgKgotCQkgKiBSZWFkLW9ubHkuCi0JCSAqCi0J
CSAqIDxlbT50cnVlPC9lbT4gaWYgdGhpcyBoYW5kbGUgaXMgYSBkaXJlY3RvcnkuCi0JCSAqIDxl
bT5mYWxzZTwvZW0+IGlmIHRoaXMgaGFuZGxlIGlzIGEgZmlsZS4KLQkJICoKLQkJICogXGNvZGUK
LQkJICogCWlmKGZpbGUuaXNEaXJlY3RvcnkpIHsKLQkJICogCQkvLyBpcyBhIGRpcmVjdG9yeQot
CQkgKiAJfQotCQkgKiBcZW5kY29kZQotCQkgKi8KLQkJcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xl
YW4gaXNEaXJlY3Rvcnk7Ci0KLQkJLyoqCi0JCSAqIFxicmllZiBDcmVhdGlvbiB0aW1lc3RhbXAu
Ci0JCSAqCi0JCSAqIFJlYWQtb25seS4KLQkJICoKLQkJICogVGhlIGNyZWF0aW9uIHRpbWVzdGFt
cCBvZiB0aGlzIGZpbGUuIFRoaXMgaXMgdGhlIHRpbWVzdGFtcAotCQkgKiB3aGVuIHRoZSBmaWxl
IHdhcyBmaXJzdCBjcmVhdGVkIGluIHRoZSBmaWxlc3lzdGVtLiBUaGlzIGlzCi0JCSAqIGVxdWl2
YWxlbnQgdG8gdGhlIHRpbWVzdGFtcCB3aGVuIGEgY2FsbCB0byBjcmVhdGVGaWxlKCkKLQkJICog
c3VjY2VlZHMuCi0JCSAqCi0JCSAqIEl0IGlzIHVuc3BlY2lmaWVkIGFuZCBwbGF0Zm9ybS1kZXBl
bmRlbnQgaWYgdGhlIGNyZWF0aW9uCi0JCSAqIHRpbWVzdGFtcCBjaGFuZ2VzIHdoZW4gYSBmaWxl
IGlzIG1vdmVkLgotCQkgKgotCQkgKiBcY29kZQotCQkgKiAJYWxlcnQoZmlsZS5jcmVhdGVkKTsg
Ly8gZGlzcGxheXMgdGhlIGNyZWF0aW9uIHRpbWVzdGFtcAotCQkgKiBcZW5kY29kZQotCQkgKgot
CQkgKi8KLQkJcmVhZG9ubHkgYXR0cmlidXRlIERhdGUgY3JlYXRlZDsKLQotCQkvKioKLQkJICog
XGJyaWVmIE1vZGlmaWNhdGlvbiB0aW1lc3RhbXAuCi0JCSAqCi0JCSAqIFJlYWQtb25seS4KLQkJ
ICoKLQkJICogVGhlIG1vZGlmaWNhdGlvbiB0aW1lc3RhbXAgb2YgdGhpcyBmaWxlLiBUaGlzIGlz
IHRoZSB0aW1lc3RhbXAKLQkJICogb2YgdGhlIG1vc3QgcmVjZW50IG1vZGlmaWNhdGlvbiB0byB0
aGUgZmlsZSwgdXN1YWxseSB3aGVuIHRoZSBsYXN0Ci0JCSAqIHdyaXRlIG9wZXJhdGlvbiBzdWNj
ZWVkZWQuIE9wZW5pbmcgYSBmaWxlIGZvciByZWFkaW5nIGRvZXMgbm90IGNoYW5nZQotCQkgKiB0
aGUgbW9kaWZpY2F0aW9uIHRpbWVzdGFtcC4KLQkJICoKLQkJICogXGNvZGUKLQkJICogCWFsZXJ0
KGZpbGUubW9kaWZpZWQpOyAvLyBkaXNwbGF5cyB0aGUgbW9kaWZpY2F0aW9uIHRpbWVzdGFtcAot
CQkgKiBcZW5kY29kZQotCQkgKgotCQkgKi8KLQkJcmVhZG9ubHkgYXR0cmlidXRlIERhdGUgbW9k
aWZpZWQ7Ci0KLQkJLyoqCi0JCSAqIFxicmllZiBQYXRoIG9mIHRoaXMgZmlsZSwgZXhjbHVkaW5n
IHRoZSBmaWxlIG5hbWUuCi0JCSAqCi0JCSAqIFJlYWQtb25seS4KLQkJICoKLQkJICogSWYgdGhl
IGZpbGUgcGF0aCBpcyA8ZW0+L2Jhei9mb28uYmFyPC9lbT4sIHRoZW4KLQkJICogdGhlIHBhdGgg
aXMgPGVtPi9iYXovPC9lbT4uICAKLQkJICoKLQkJICogVGhlIGVuY29kaW5nIG9mIGZpbGUgcGF0
aHMgaXMgPGEgaHJlZj0iaHR0cDovL3d3dy5pZXRmLm9yZy9yZmMvcmZjMjI3OS50eHQiPlVURi04
PC9hPi4KLQkJICoKLQkJICogXGNvZGUKLQkJICogCWFsZXJ0KGZpbGUucGF0aCk7IC8vIHNob3Vs
ZCBiZSAvYmF6LyBpZiB0aGUgZmlsZSBpcyAvYmF6L2Zvby5iYXIKLQkJICogXGVuZGNvZGUKLQkJ
ICovCi0JCXJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgcGF0aDsKLQotCQkvKioKLQkJICog
XGJyaWVmIEZpbGUgbmFtZSwgZXhjbHVkaW5nIGFueSBwYXRoIGNvbXBvbmVudHMuCi0JCSAqCi0J
CSAqIFJlYWQtb25seS4KLQkJICoKLQkJICogQXNzdW1lZCB0aGUgZmlsZSBwYXRoIGlzIDxlbT4v
YmF6L2Zvby5iYXI8L2VtPiwgdGhlbgotCQkgKiB0aGUgZmlsZSBuYW1lIGlzIDxlbT5mb28uYmFy
PC9lbT4uCi0JCSAqCi0JCSAqIFRoZSBlbmNvZGluZyBvZiBmaWxlIG5hbWVzIGlzIDxhIGhyZWY9
Imh0dHA6Ly93d3cuaWV0Zi5vcmcvcmZjL3JmYzIyNzkudHh0Ij5VVEYtODwvYT4uCi0JCSAqCi0J
CSAqIFxjb2RlCi0JCSAqIAlhbGVydChmaWxlLm5hbWUpOyAvLyBzaG91bGQgYmUgZm9vLmJhciBp
ZiB0aGUgZmlsZSBwYXRoIGlzIC9iYXovZm9vLmJhcgotCQkgKiBcZW5kY29kZQotCQkgKi8KLQkJ
cmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBuYW1lOwotCi0JCS8qKgotCQkgKiBcYnJpZWYg
QWJzb2x1dGUgcGF0aCBvZiB0aGlzIGZpbGUuCi0JCSAqCi0JCSAqIFJlYWQtb25seS4KLQkJICoK
LQkJICogQXNzdW1lZCB0aGUgZmlsZSBwYXRoIGlzIDxlbT4vYmF6L2Zvby5iYXI8L2VtPiwgdGhl
biB0aGlzIGlzIHRoZSBhYnNvbHV0ZSBwYXRoLgotCQkgKgotCQkgKiBUaGUgZW5jb2Rpbmcgb2Yg
ZmlsZSBwYXRocyBpcyA8YSBocmVmPSJodHRwOi8vd3d3LmlldGYub3JnL3JmYy9yZmMyMjc5LnR4
dCI+VVRGLTg8L2E+LgotCQkgKgotCQkgKiBcY29kZQotCQkgKiAJYWxlcnQoZmlsZS5hYnNvbHV0
ZVBhdGgpOyAvLyBzaG91bGQgYmUgL2Jhei9mb28uYmFyIGlmIHRoZSBmaWxlIGlzIC9iYXovZm9v
LmJhcgotCQkgKiBcZW5kY29kZQotCQkgKi8KLQkJcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmlu
ZyBhYnNvbHV0ZVBhdGg7Ci0KLQkJLyoqCi0JCSAqIFxicmllZiBTaXplIGluIGJ5dGVzIG9mIHRo
aXMgZmlsZS4KLQkJICoKLQkJICogUmVhZC1vbmx5LgotCQkgKgotCQkgKiBJZiBpdCBpcyBhdHRl
bXB0ZWQgdG8gcmVhZCB0aGlzIGF0dHJpYnV0ZSBvbiBhIGRpcmVjdG9yeSwKLQkJICogPGVtPnVu
ZGVmaW5lZDwvZW0+IGlzIHJldHVybmVkLgotCQkgKgotCQkgKiBcY29kZQotCQkgKiAJYWxlcnQo
ZmlsZS5maWxlU2l6ZSk7IC8vIGRpc3BsYXlzIHRoZSBmaWxlIHNpemUKLQkJICogXGVuZGNvZGUK
LQkJICovCi0JCXJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGZpbGVTaXplOwotCi0J
CS8qKgotCQkgKiBcYnJpZWYgRmlsZXMgbWV0YWRhdGEuCi0JCSAqCi0JCSAqIFRoZSBhY3R1YWwg
bWFwIGNvbnRlbnRzIGFyZSBpbXBsZW1lbnRhdGlvbiBkZXBlbmRlbnQuCi0JCSAqCi0JCSAqIFxj
b2RlCi0JCSAqIAkvLyBzaG91bGQgZGlzcGxheSB0aGUgZmlsZSBhdXRob3IsIGlmIHN1cHBvcnRl
ZCBieSB0aGUKLQkJICogCS8vIHBsYXRmb3JtLCB1bmRlZmluZWQgb3RoZXJ3aXNlCi0JCSAqIAlh
bGVydChmaWxlLm1ldGFkYXRhLmF1dGhvcik7Ci0JCSAqIFxlbmRjb2RlCi0JCSAqLwotCQlyZWFk
b25seSBhdHRyaWJ1dGUgTWFwIG1ldGFkYXRhOwotCi0JCS8qKgotCQkgKiBcYnJpZWYgUmV0dXJu
cyBsaXN0IG9mIGFsbCBmaWxlcyBvZiB0aGlzIGRpcmVjdG9yeS4KLQkJICoKLQkJICogVGhlIGxp
c3Qgb2YgZmlsZXMgY29udGFpbnMgZGlyZWN0b3JpZXMgYW5kIGZpbGVzLCBpdCBkb2VzCi0JCSAq
IG5vdCBjb250YWluIHRoZSBkaXJlY3RvcmllcyAiLiIgYW5kICIuLiIuCi0JCSAqCi0JCSAqIFxh
cGktZmVhdHVyZSBodHRwOi8vYm9uZGkub210cC5vcmcvYXBpL2ZpbGVzeXN0ZW0ucmVhZAotCQkg
KgotCQkgKiBcY29kZQotCQkgKiAJdmFyIGZpbGVzID0gZGlyLmxpc3RGaWxlcygpOwotCQkgKiAJ
Zm9yKHZhciBpID0gMDsgaSAmbHQ7IGZpbGVzLmxlbmd0aDsgaSsrKSB7Ci0JCSAqIAkJLy8gZmls
ZXNbaV0gaXRlcmF0ZSBvdmVyIGFsbCBmaWxlcyBvZiB0aGlzIGRpcmVjdG9yeQotCQkgKiAJfQot
CQkgKiBcZW5kY29kZQotCQkgKgotCQkgKiBccmV0dXJuIGFycmF5IG9mIGNvbnRlbnRzIG9mIHRo
aXMgZGlyZWN0b3J5LgotCQkgKiBcdGhyb3cgU2VjdXJpdHlFcnJvciBQRVJNSVNTSU9OX0RFTklF
RF9FUlJPUiB3aGVuCi0JCSAqICAgICAgICBhY2Nlc3MgaXMgZGVuaWVkIGJ5IHRoZSBzZWN1cml0
eSBwb2xpY3kuCi0JCSAqIFx0aHJvdyBEZXZpY2VBUElFcnJvciBJT19FUlJPUiBpZiB0aGlzIGlz
IG5vdCBhIGRpcmVjdG9yeS4KLQkJICovCi0JCUZpbGVBcnJheSBsaXN0RmlsZXMoKQotCQkJcmFp
c2VzKFNlY3VyaXR5RXJyb3IsIERldmljZUFQSUVycm9yKTsKLQotCQkvKioKLQkJICogXGJyaWVm
IE9wZW5zIHRoZSBmaWxlIGluIHRoZSBnaXZlbiBtb2RlIHN1cHBvcnRpbmcgdGhlIGdpdmVuCi0J
CSAqIGVuY29kaW5nLgotCQkgKgotCQkgKiBcYXBpLWZlYXR1cmUgaHR0cDovL2JvbmRpLm9tdHAu
b3JnL2FwaS9maWxlc3lzdGVtLnJlYWQKLQkJICogXGFwaS1mZWF0dXJlIGh0dHA6Ly9ib25kaS5v
bXRwLm9yZy9hcGkvZmlsZXN5c3RlbS53cml0ZQotCQkgKgotCQkgKiBcY29kZQotCQkgKiAJLy8g
b3BlbnMgZmlsZSBmb3IgcmVhZGluZwotCQkgKiAJdmFyIGluID0gZmlsZS5vcGVuKCJyIiwgIlVU
Ri04Iik7Ci0JCSAqIFxlbmRjb2RlCi0JCSAqCi0JCSAqIFxwYXJhbSBtb2RlIHRoZSBtb2RlIGZv
ciBvcGVuaW5nIGEgZmlsZQotCQkgKiBcbiAiciIgZm9yIHJlYWRpbmcKLQkJICogXG4gImEiIGZv
ciBhcHBlbmRpbmcKLQkJICogXG4gInciIGZvciBbb3Zlcl13cml0aW5nCi0JCSAqIFxwYXJhbSBl
bmNvZGluZyB0aGUgZW5jb2RpbmcgZm9yIHJlYWQvd3JpdGUgb3BlcmF0aW9ucyBvbiB0aGUgZmls
ZSwKLQkJICogICAgICAgICAgICAgICAgICAgc3VwcG9ydGVkIGVuY29kaW5ncyBhcmU6Ci0JCSAq
IFxuICI8YSBocmVmPSJodHRwOi8vd3d3LmlldGYub3JnL3JmYy9yZmMyMjc5LnR4dCI+VVRGLTg8
L2E+IiBkZWZhdWx0IGVuY29kaW5nCi0JCSAqIFxuICI8YSBocmVmPSJodHRwOi8vZW4ud2lraXBl
ZGlhLm9yZy93aWtpL0lTTy9JRUNfODg1OS0xIj5JU084ODU5LTE8L2E+IiBsYXRpbjEgZW5jb2Rp
bmcKLQkJICogXHJldHVybiBmaWxlIHN0cmVhbSBoYW5kbGUgdG8gcmVhZC93cml0ZSBmcm9tL3Rv
LgotCQkgKiBcdGhyb3cgU2VjdXJpdHlFcnJvciBQRVJNSVNTSU9OX0RFTklFRF9FUlJPUiB3aGVu
Ci0JCSAqICAgICAgICBhY2Nlc3MgaXMgZGVuaWVkIGJ5IHRoZSBzZWN1cml0eSBwb2xpY3kuCi0J
CSAqIFx0aHJvdyBEZXZpY2VBUElFcnJvciBJTlZBTElEX0FSR1VNRU5UX0VSUk9SIGlmIGludmFs
aWQgbW9kZQotCQkgKiAgICAgICAgb3IgdW5zdXBwb3J0ZWQgZW5jb2RpbmcgaXMgc3VwcGxpZWQu
Ci0JCSAqIFx0aHJvdyBEZXZpY2VBUElFcnJvciBJT19FUlJPUiBpZiB0aGlzIGlzIG5vdCBhIGZp
bGUuCi0JCSAqLwotCQlGaWxlU3RyZWFtIG9wZW4oaW4gRE9NU3RyaW5nIG1vZGUsIGluIERPTVN0
cmluZyBlbmNvZGluZykKLQkJCXJhaXNlcyhTZWN1cml0eUVycm9yLCBEZXZpY2VBUElFcnJvcik7
Ci0KLQkJLyoqCi0JCSAqIFxicmllZiBDb3BpZXMgdGhpcyBmaWxlLgotCQkgKgotCQkgKiBUaGUg
Y29weSB3aWxsIGJlIGNyZWF0ZWQgaW4gdGhlIGdpdmVuIHBhdGguIElmIHRoaXMgZnVuY3Rpb24K
LQkJICogZmFpbHMgYW5kIHRoZSBlcnJvciBjYWxsYmFjayBpcyBjYWxsZWQsIGl0IHdpbGwgcGFz
cyBhbgotCQkgKiBEZXZpY2VBUElFcnJvciBJT19FUlJPUiB0byB0aGUgY2FsbGJhY2suCi0JCSAq
Ci0JCSAqIFRoZSBlbmNvZGluZyBvZiBmaWxlIHBhdGhzIGlzIDxhIGhyZWY9Imh0dHA6Ly93d3cu
aWV0Zi5vcmcvcmZjL3JmYzIyNzkudHh0Ij5VVEYtODwvYT4uCi0JCSAqCi0JCSAqIFxhcGktZmVh
dHVyZSBodHRwOi8vYm9uZGkub210cC5vcmcvYXBpL2ZpbGVzeXN0ZW0ud3JpdGUKLQkJICoKLQkJ
ICogXGNvZGUKLQkJICogCS8vIGNvcGllcyB0aGlzIGZpbGUgdG8gL3RlbXAvZmlsZS5jb3B5Ci0J
CSAqIAl2YXIgb3AgPSBmaWxlLmNvcHlUbyhmdW5jdGlvbihjb3BpZWRGaWxlKSB7IGFsZXJ0KCJm
aWxlIGNvcGllZCIpOyB9LCBudWxsLCAiL3RlbXAvZmlsZS5jb3B5IiwgZmFsc2UpOwotCQkgKiBc
ZW5kY29kZQotCQkgKgotCQkgKiBccGFyYW0gc3VjY2Vzc0NhbGxiYWNrIGNhbGxlZCB3aGVuIHRo
ZSBmaWxlIGhhcyBiZWVuIGNvcGllZC4KLQkJICogXHBhcmFtIGVycm9yQ2FsbGJhY2sgY2FsbGVk
IGlmIGFuIGVycm9yIG9jY3VyZWQuCi0JCSAqIFxwYXJhbSBmaWxlUGF0aCB0aGUgbmV3IGZpbGUg
cGF0aCwgW2EtWjAtOV8tIC9dKyBhcmUgYWxsb3dlZCAKLQkJICogXHBhcmFtIG92ZXJ3cml0ZSA8
ZW0+dHJ1ZTwvZW0+IGVuZm9yY2VzIG92ZXJ3cml0aW5nIGFuIGV4aXN0aW5nIGZpbGUuCi0JCSAq
IFxyZXR1cm4gUGVuZGluZ09wZXJhdGlvbiBlbmFibGluZyB0aGUgcmVxdWVzdGVyIHRvIGNhbmNl
bCB0aGlzIHJlcXVlc3QuCi0JCSAqIFx0aHJvdyBTZWN1cml0eUVycm9yIFBFUk1JU1NJT05fREVO
SUVEX0VSUk9SIHdoZW4KLQkJICogICAgICAgIGFjY2VzcyBpcyBkZW5pZWQgYnkgdGhlIHNlY3Vy
aXR5IHBvbGljeS4KLQkJICogXHRocm93IERldmljZUFQSUVycm9yIElPX0VSUk9SIGlmIGl0IGlz
IGF0dGVtcHRlZCB0byBtb3ZlIHRvIGEgZGlyZWN0b3J5LgotCQkgKiBcdGhyb3cgRGV2aWNlQVBJ
RXJyb3IgSU9fRVJST1IgaWYgb3ZlcndyaXRlIGlzIDxlbT5mYWxzZTwvZW0+IGFuZCB0YXJnZXQg
ZmlsZSBleGlzdHMuCi0JCSAqIFx0aHJvdyBEZXZpY2VBUElFcnJvciBJT19FUlJPUiBpZiBhbnkg
Y2hhcmFjdGVycyBpbiB0aGUgcGF0aCBhcmUgbm90IHN1cHBvcnRlZC4KLQkJICogXHRocm93IERl
dmljZUFQSUVycm9yIElPX0VSUk9SIGlmIHRoZSBmaWxlIGNhbm5vdCBiZSBjb3BpZWQuCi0JCSAq
LwotCQlQZW5kaW5nT3BlcmF0aW9uIGNvcHlUbyhpbiBGaWxlU3lzdGVtU3VjY2Vzc0NhbGxiYWNr
IHN1Y2Nlc3NDYWxsYmFjaywKLQkJICAgICAgICAgICAgICAgICAgICAgICAgaW4gRXJyb3JDYWxs
YmFjayBlcnJvckNhbGxiYWNrLAotCQkgICAgICAgICAgICAgICAgICAgICAgICBpbiBET01TdHJp
bmcgZmlsZVBhdGgsCi0JCSAgICAgICAgICAgICAgICAgICAgICAgIGluIGJvb2xlYW4gb3Zlcndy
aXRlKQotCQkJcmFpc2VzKFNlY3VyaXR5RXJyb3IsIERldmljZUFQSUVycm9yKTsKLQotCQkvKioK
LQkJICogXGJyaWVmIE1vdmVzIHRoaXMgZmlsZS4KLQkJICoKLQkJICogVGhlIGZpbGUgd2lsbCBi
ZSBtb3ZlZCBhdG9taWNhbGx5IHRvIHRoZSBnaXZlbiBwYXRoLiBUaGlzIGlzCi0JCSAqIGRpZmZl
cmVudCB0byBjb3B5VG8gYW5kIGRlbGV0aW5nIHRoZSBvbGQgZmlsZSwgYmVjYXVzZSB0aGlzCi0J
CSAqIG9wZXJhdGlvbiBkb2VzIG5vdCBuZWVkIGV4dHJhIGRpc2sgc3BhY2Ugb24gY2VydGFpbiBw
bGF0Zm9ybXMuCi0JCSAqIElmIHRoaXMgZnVuY3Rpb24gZmFpbHMgYW5kIHRoZSBlcnJvciBjYWxs
YmFjayBpcyBjYWxsZWQsIGl0Ci0JCSAqIHdpbGwgcGFzcyBhbiBEZXZpY2VBUElFcnJvciBJT19F
UlJPUiB0byB0aGUgY2FsbGJhY2suCi0JCSAqCi0JCSAqIFRoZSBlbmNvZGluZyBvZiBmaWxlIHBh
dGhzIGlzIDxhIGhyZWY9Imh0dHA6Ly93d3cuaWV0Zi5vcmcvcmZjL3JmYzIyNzkudHh0Ij5VVEYt
ODwvYT4uCi0JCSAqCi0JCSAqIFxhcGktZmVhdHVyZSBodHRwOi8vYm9uZGkub210cC5vcmcvYXBp
L2ZpbGVzeXN0ZW0ud3JpdGUKLQkJICoKLQkJICogXGNvZGUKLQkJICogCS8vIG1vdmVzIHRoaXMg
ZmlsZSB0byAvdGVtcC9maWxlLm1vdmUKLQkJICogCXZhciBvcCA9IGZpbGUubW92ZVRvKGZ1bmN0
aW9uKG1vdmVkRmlsZSkgeyBmaWxlID0gbW92ZWRGaWxlOyB9LCBudWxsLCAiL3RlbXAvZmlsZS5t
b3ZlIik7Ci0JCSAqIFxlbmRjb2RlCi0JCSAqCi0JCSAqIFxwYXJhbSBzdWNjZXNzQ2FsbGJhY2sg
Y2FsbGVkIHdoZW4gdGhlIGZpbGUgaGFzIGJlZW4gY29waWVkLgotCQkgKiBccGFyYW0gZXJyb3JD
YWxsYmFjayBjYWxsZWQgaWYgYW4gZXJyb3Igb2NjdXJlZC4KLQkJICogXHBhcmFtIGZpbGVQYXRo
IHRoZSBuZXcgZmlsZSBuYW1lLCBbYS1aMC05Xy0gL10rIGFyZSBhbGxvd2VkCi0JCSAqIFxwYXJh
bSBvdmVyd3JpdGUgPGVtPnRydWU8L2VtPiBlbmZvcmNlcyBvdmVyd3JpdGluZyBhbiBleGlzdGlu
ZyBmaWxlLgotCQkgKiBccmV0dXJuIFBlbmRpbmdPcGVyYXRpb24gZW5hYmxpbmcgdGhlIHJlcXVl
c3RlciB0byBjYW5jZWwgdGhpcyByZXF1ZXN0LgotCQkgKiBcdGhyb3cgU2VjdXJpdHlFcnJvciBQ
RVJNSVNTSU9OX0RFTklFRF9FUlJPUiB3aGVuCi0JCSAqICAgICAgICBhY2Nlc3MgaXMgZGVuaWVk
IGJ5IHRoZSBzZWN1cml0eSBwb2xpY3kuCi0JCSAqIFx0aHJvdyBEZXZpY2VBUElFcnJvciBJT19F
UlJPUiBpZiBpdCBpcyBhdHRlbXB0ZWQgdG8gbW92ZSB0byBhIGRpcmVjdG9yeS4KLQkJICogXHRo
cm93IERldmljZUFQSUVycm9yIElPX0VSUk9SIGlmIG92ZXJ3cml0ZSBpcyA8ZW0+ZmFsc2U8L2Vt
PiBhbmQgdGFyZ2V0IGZpbGUgZXhpc3RzLgotCQkgKiBcdGhyb3cgRGV2aWNlQVBJRXJyb3IgSU9f
RVJST1IgaWYgYW55IGNoYXJhY3RlcnMgaW4gdGhlIHBhdGggYXJlIG5vdCBzdXBwb3J0ZWQuCi0J
CSAqIFx0aHJvdyBEZXZpY2VBUElFcnJvciBJT19FUlJPUiBpZiB0aGUgZmlsZSBjYW5ub3QgYmUg
bW92ZWQuCi0JCSAqLwotCQlQZW5kaW5nT3BlcmF0aW9uIG1vdmVUbyhpbiBGaWxlU3lzdGVtU3Vj
Y2Vzc0NhbGxiYWNrIHN1Y2Nlc3NDYWxsYmFjaywKLQkJICAgICAgICAgICAgICAgICAgICAgICAg
aW4gRXJyb3JDYWxsYmFjayBlcnJvckNhbGxiYWNrLAotCQkgICAgICAgICAgICAgICAgICAgICAg
ICBpbiBET01TdHJpbmcgZmlsZVBhdGgsCi0JCSAgICAgICAgICAgICAgICAgICAgICAgIGluIGJv
b2xlYW4gb3ZlcndyaXRlKQotCQkJcmFpc2VzKFNlY3VyaXR5RXJyb3IsIERldmljZUFQSUVycm9y
KTsKLQotCQkvKioKLQkJICogXGJyaWVmIENyZWF0ZXMgYSBkaXJlY3RvcnkuCi0JCSAqCi0JCSAq
IFRoZSBuZXcgZGlyZWN0b3J5IHdpbGwgYmUgY3JlYXRlZCByZWxhdGl2ZWx5IHRvIHRoZSBjdXJy
ZW50Ci0JCSAqIGRpcmVjdG9yeSB0aGlzIG9wZXJhdGlvbiBpcyBwZXJmb3JtZWQgb24uIEl0IHdp
bGwgYXR0ZW1wdCB0bwotCQkgKiBjcmVhdGUgYWxsIG5lY2Vzc2FyeSBzdWItZGlyZWN0b3JpZXMg
YXMgd2VsbC4gVGhlIHVzZSBvZiAiLiIKLQkJICogb3IgIi4uIiBpbiBwYXRoIGNvbXBvbmVudHMg
aXMgbm90IHN1cHBvcnRlZC4gSWYgdGhlCi0JCSAqIGJvdHRvbS1tb3N0IGRpcmVjdG9yeSBiZWlu
ZyBjcmVhdGVkIGFscmVhZHkgZXhpc3RzIHRoaXMKLQkJICogbWV0aG9kIHdpbGwgdGhyb3cgYW4g
SU9fRVJST1IuCi0JCSAqCi0JCSAqIFRoZSBlbmNvZGluZyBvZiBmaWxlIHBhdGhzIGlzIDxhIGhy
ZWY9Imh0dHA6Ly93d3cuaWV0Zi5vcmcvcmZjL3JmYzIyNzkudHh0Ij5VVEYtODwvYT4uCi0JCSAq
Ci0JCSAqIFxhcGktZmVhdHVyZSBodHRwOi8vYm9uZGkub210cC5vcmcvYXBpL2ZpbGVzeXN0ZW0u
d3JpdGUKLQkJICoKLQkJICogXGNvZGUKLQkJICogCXZhciBuZXdEaXIgPSBkaXIuY3JlYXRlRGly
ZWN0b3J5KCJuZXdEaXIiKTsKLQkJICogCXZhciBhbm90aGVyTmV3RGlyID0gZGlyLmNyZWF0ZURp
cmVjdG9yeSgibmV3RGlyMS9zdWJOZXdEaXIxIik7Ci0JCSAqIFxlbmRjb2RlCi0JCSAqCi0JCSAq
IFxwYXJhbSBkaXJQYXRoIHRoZSBuZXcgZGlyZWN0b3J5IHBhdGgsIGl0IHNob3VsZCBvbmx5IGNv
bnRhaW4KLQkJICogICAgICAgIGNoYXJhY3RlcnMgc3VwcG9ydGVkIGJ5IHRoZSB1bmRlcmx5aW5n
IGZpbGVzeXN0ZW0uCi0JCSAqIFxyZXR1cm4gZmlsZSBoYW5kbGUgb2YgdGhlIG5ldyBkaXJlY3Rv
cnkKLQkJICogXHRocm93IFNlY3VyaXR5RXJyb3IgUEVSTUlTU0lPTl9ERU5JRURfRVJST1Igd2hl
bgotCQkgKiAgICAgICAgYWNjZXNzIGlzIGRlbmllZCBieSB0aGUgc2VjdXJpdHkgcG9saWN5Lgot
CQkgKiBcdGhyb3cgRGV2aWNlQVBJRXJyb3IgSU9fRVJST1IgaWYgdGhpcyBpcyBub3QgYSBkaXJl
Y3RvcnkuCi0JCSAqIFx0aHJvdyBEZXZpY2VBUElFcnJvciBJT19FUlJPUiBpZiBhbnkgcGF0aCBj
b21wb25lbnQgZG9lcyBub3QgZXhpc3QuCi0JCSAqIFx0aHJvdyBEZXZpY2VBUElFcnJvciBJT19F
UlJPUiBpZiBhIGZpbGUgd2l0aCB0aGUgc2FtZSBuYW1lIGV4aXN0cy4KLQkJICogXHRocm93IERl
dmljZUFQSUVycm9yIElPX0VSUk9SIGlmIGFueSBjaGFyYWN0ZXJzIGluIHRoZSBwYXRoIGFyZSBu
b3Qgc3VwcG9ydGVkLgotCQkgKiBcdGhyb3cgRGV2aWNlQVBJRXJyb3IgSU9fRVJST1IgaWYgdGhl
IGRpcmVjdG9yeSBjYW5ub3QgYmUgY3JlYXRlZC4KLQkJICovCi0JCUZpbGUgY3JlYXRlRGlyZWN0
b3J5KGluIERPTVN0cmluZyBkaXJQYXRoKQotCQkJcmFpc2VzKFNlY3VyaXR5RXJyb3IsIERldmlj
ZUFQSUVycm9yKTsKLQotCQkvKioKLQkJICogXGJyaWVmIENyZWF0ZXMgYSBuZXcgZW1wdHkgZmls
ZS4KLQkJICoKLQkJICogVGhlIG5ldyBlbXB0eSBmaWxlIGlzIGNyZWF0ZWQgaW4gdGhlIGdpdmVu
IHBhdGggcmVsYXRpdmVseQotCQkgKiB0byB0aGUgY3VycmVudCBkaXJlY3RvcnkgdGhlIG9wZXJh
dGlvbiBpcyBwZXJmb3JtZWQgb24uICBUaGUKLQkJICogdXNlIG9mICIuIiBvciAiLi4iIGluIHBh
dGggY29tcG9uZW50cyBpcyBub3Qgc3VwcG9ydGVkLiAgSWYKLQkJICogdGhlIGJvdHRvbS1tb3N0
IGZpbGUgYmVpbmcgY3JlYXRlZCBhbHJlYWR5IGV4aXN0cyB0aGlzCi0JCSAqIG1ldGhvZCB3aWxs
IHRocm93IGFuIElPX0VSUk9SLiAgSWYgYW55IHBhdGggY29tcG9uZW50IGRvZXMKLQkJICogbm90
IGV4aXN0IHRoaXMgbWV0aG9kIHdpbGwgdGhyb3cgYW4gSU9fRVJST1IuCi0JCSAqCi0JCSAqIFRo
ZSBlbmNvZGluZyBvZiBmaWxlIHBhdGhzIGlzIDxhIGhyZWY9Imh0dHA6Ly93d3cuaWV0Zi5vcmcv
cmZjL3JmYzIyNzkudHh0Ij5VVEYtODwvYT4uCi0JCSAqCi0JCSAqIFxhcGktZmVhdHVyZSBodHRw
Oi8vYm9uZGkub210cC5vcmcvYXBpL2ZpbGVzeXN0ZW0ud3JpdGUKLQkJICoKLQkJICogXGNvZGUK
LQkJICogCXZhciBuZXdGaWxlID0gZGlyLmNyZWF0ZUZpbGUoIm5ld0ZpbGUiKTsKLQkJICogXGVu
ZGNvZGUKLQkJICoKLQkJICogXHBhcmFtIGZpbGVQYXRoIHRoZSBuZXcgZmlsZSBwYXRoLCBpdCBz
aG91bGQgb25seSBjb250YWluCi0JCSAqICAgICAgICBjaGFyYWN0ZXJzIHN1cHBvcnRlZCBieSB0
aGUgdW5kZXJseWluZyBmaWxlc3lzdGVtLgotCQkgKiBccmV0dXJuIGZpbGUgaGFuZGxlIG9mIHRo
ZSBuZXcgZW1wdHkgZmlsZQotCQkgKiBcdGhyb3cgU2VjdXJpdHlFcnJvciBQRVJNSVNTSU9OX0RF
TklFRF9FUlJPUiB3aGVuCi0JCSAqICAgICAgICBhY2Nlc3MgaXMgZGVuaWVkIGJ5IHRoZSBzZWN1
cml0eSBwb2xpY3kuCi0JCSAqIFx0aHJvdyBEZXZpY2VBUElFcnJvciBJT19FUlJPUiBpZiB0aGlz
IGlzIG5vdCBhIGRpcmVjdG9yeS4KLQkJICogXHRocm93IERldmljZUFQSUVycm9yIElPX0VSUk9S
IGlmIGFueSBwYXRoIGNvbXBvbmVudCBkb2VzIG5vdCBleGlzdC4KLQkJICogXHRocm93IERldmlj
ZUFQSUVycm9yIElPX0VSUk9SIGlmIHRoZSBmaWxlIGFscmVhZHkgZXhpc3RzLgotCQkgKiBcdGhy
b3cgRGV2aWNlQVBJRXJyb3IgSU9fRVJST1IgaWYgYW55IGNoYXJhY3RlcnMgaW4gdGhlIHBhdGgg
YXJlIG5vdCBzdXBwb3J0ZWQuCi0JCSAqIFx0aHJvdyBEZXZpY2VBUElFcnJvciBJT19FUlJPUiBp
ZiB0aGUgZmlsZSBjYW5ub3QgYmUgY3JlYXRlZC4KLQkJICovCi0JCUZpbGUgY3JlYXRlRmlsZShp
biBET01TdHJpbmcgZmlsZVBhdGgpCi0JCQlyYWlzZXMoU2VjdXJpdHlFcnJvciwgRGV2aWNlQVBJ
RXJyb3IpOwotCi0JCS8qKgotCQkgKiBcYnJpZWYgUmVzb2x2ZXMgYW4gZXhpc3RpbmcgZmlsZSBv
ciBkaXJlY3RvcnkgcmVsYXRpdmVseSB0bwotCQkgKiB0aGUgY3VycmVudCBkaXJlY3RvcnkgdGhp
cyBvcGVyYXRpb24gaXMgcGVyZm9ybWVkIG9uOyBhbmQKLQkJICogcmV0dXJucyBhIGZpbGUgaGFu
ZGxlIGZvciBpdC4KLQkJICogCi0JCSAqIFRoZSBmaWxlUGF0aCBpcyBub3QgYWxsb3dlZCB0byBj
b250YWluIHRoZSAiLiIgb3IgIi4uIiBkaXJlY3Rvcmllcy4KLQkJICoKLQkJICogVGhlIGVuY29k
aW5nIG9mIGZpbGUgcGF0aHMgaXMgPGEgaHJlZj0iaHR0cDovL3d3dy5pZXRmLm9yZy9yZmMvcmZj
MjI3OS50eHQiPlVURi04PC9hPi4KLQkJICoKLQkJICogXGFwaS1mZWF0dXJlIGh0dHA6Ly9ib25k
aS5vbXRwLm9yZy9hcGkvZmlsZXN5c3RlbS5yZWFkCi0JCSAqCi0JCSAqIFxjb2RlCi0JCSAqIAl2
YXIgaGVsbG9maWxlID0gZGlyLnJlc29sdmUoImZvby9oZWxsby50eHQiKTsKLQkJICogXGVuZGNv
ZGUKLQkJICoKLQkJICogXHBhcmFtIGZpbGVQYXRoIHRoZSByZWxhdGl2ZSBmaWxlL2RpcmVjdG9y
eSBwYXRoIHRvIHJlc29sdmUuCi0JCSAqIFxyZXR1cm4gZmlsZSBoYW5kbGUgb2YgdGhlIGZpbGUg
b3IgPGVtPm51bGw8L2VtPiBpZiBpdCBjYW5ub3QgYmUgcmVzb2x2ZWQuCi0JCSAqIFx0aHJvdyBT
ZWN1cml0eUVycm9yIFBFUk1JU1NJT05fREVOSUVEX0VSUk9SIHdoZW4KLQkJICogICAgICAgIGFj
Y2VzcyBpcyBkZW5pZWQgYnkgdGhlIHNlY3VyaXR5IHBvbGljeS4KLQkJICogXHRocm93IERldmlj
ZUFQSUVycm9yIElPX0VSUk9SIGlmIHRoaXMgaXMgbm90IGEgZGlyZWN0b3J5LgotCQkgKiBcdGhy
b3cgRGV2aWNlQVBJRXJyb3IgSU9fRVJST1IgaWYgYW55IGNoYXJhY3RlcnMgaW4gdGhlIHBhdGgg
YXJlIG5vdCBzdXBwb3J0ZWQuCi0JCSAqIFx0aHJvdyBEZXZpY2VBUElFcnJvciBJT19FUlJPUiBp
ZiB0aGUgZmlsZSBvciBkaXJlY3RvcnkgY2Fubm90IGJlIHJlc29sdmVkLgotCQkgKi8KLQkJRmls
ZSByZXNvbHZlKGluIERPTVN0cmluZyBmaWxlUGF0aCkKLQkJCXJhaXNlcyhTZWN1cml0eUVycm9y
LCBEZXZpY2VBUElFcnJvcik7Ci0KLQkJLyoqCi0JCSAqIFxicmllZiBEZWxldGVzIHRoaXMgZGly
ZWN0b3J5LgotCQkgKgotCQkgKiBUaGlzIGZ1bmN0aW9uIGF0dGVtcHRzIHRvIGRlbGV0ZSBhIGRp
cmVjdG9yeSBvciBkaXJlY3RvcnkKLQkJICogdHJlZSBzeW5jaHJvbm91c2x5IGFuZCByZXR1cm5z
IDxlbT50cnVlPC9lbT4gb24gc3VjY2VzcywKLQkJICogPGVtPmZhbHNlPC9lbT4gb3RoZXJ3aXNl
LiBJdCBtYXkgdGhyb3cgYW4gSU9fRVJST1IgaWYgYQotCQkgKiByZWN1cnNpdmUgZGVsZXRpb24g
cGFydGlhbGx5IGZhaWxzIGFuZCBhbnkgZGVsZXRlZCBkYXRhIHNvCi0JCSAqIGZhciBjYW5ub3Qg
YmUgcmVjb3ZlcmVkLiBUaGlzIG1pZ2h0IGhhcHBlbiBkdWUgdGhlIGxhY2sgb2YKLQkJICogZmls
ZXN5c3RlbSBwZXJtaXNzaW9ucyBvciBpZiBhbnkgZGlyZWN0b3JpZXMgb3IgZmlsZXMgYXJlCi0J
CSAqIG9wZW5lbmVkIGJ5IG90aGVyIHByb2Nlc3Nlcy4KLQkJICoKLQkJICogXGFwaS1mZWF0dXJl
IGh0dHA6Ly9ib25kaS5vbXRwLm9yZy9hcGkvZmlsZXN5c3RlbS53cml0ZQotCQkgKgotCQkgKiBc
Y29kZQotCQkgKiAJdmFyIGZ1bGxQYXRoID0gZGlyLmZ1bGxQYXRoOwotCQkgKiAJaWYoZGlyLmRl
bGV0ZURpcmVjdG9yeSh0cnVlKSkgewotCQkgKiAJCS8vIHN1YnNlcXVlbnQgYWNjZXNzZXMgdG8g
ZGlyIHdpbGwgdGhyb3cgYW4gZXJyb3IKLQkJICogCQlhbGVydChmdWxsUGF0aCArICcgZGVsZXRl
ZCcpOwotCQkgKiAJfQotCQkgKiBcZW5kY29kZQotCQkgKgotCQkgKiBccGFyYW0gcmVjdXJzaXZl
IDxlbT50cnVlPC9lbT4gbWVhbnMgYSByZWN1cnNpdmUgZGVsZXRpb24sIHRoaXMKLQkJICogICAg
ICAgIHdpbGwgZGVzdHJveSBhbGwgZGF0YSByZWN1cnNpdmVseSwgdXNlIHdpdGggY2F1dGlvbi4K
LQkJICogXHJldHVybiA8ZW0+dHJ1ZTwvZW0+IG9uIHN1Y2Nlc3MKLQkJICogXHRocm93IFNlY3Vy
aXR5RXJyb3IgUEVSTUlTU0lPTl9ERU5JRURfRVJST1Igd2hlbgotCQkgKiAgICAgICAgYWNjZXNz
IGlzIGRlbmllZCBieSB0aGUgc2VjdXJpdHkgcG9saWN5LgotCQkgKiBcdGhyb3cgRGV2aWNlQVBJ
RXJyb3IgSU9fRVJST1IgaWYgdGhpcyBpcyBhIGZpbGUuCi0JCSAqIFx0aHJvdyBEZXZpY2VBUElF
cnJvciBJT19FUlJPUiBpZiB0aGUgZGlyZWN0b3J5IGlzIG5vdCBlbXB0eSBhbmQKLQkJICogICAg
ICAgIHRoaXMgb3BlcmF0aW9uIGlzIG5vdCBwZXJmb3JtZWQgcmVjdXJzaXZlbHkuCi0JCSAqIFx0
aHJvdyBEZXZpY2VBUElFcnJvciBJT19FUlJPUiBpZiB0aGUgZGlyZWN0b3J5IG9yIGFueSBmaWxl
IG9yIHN1Yi1kaXJlY3RvcnkgY2Fubm90IGJlIGRlbGV0ZWQuCi0JCSAqLwotCQlib29sZWFuIGRl
bGV0ZURpcmVjdG9yeShpbiBib29sZWFuIHJlY3Vyc2l2ZSkKLQkJCXJhaXNlcyhTZWN1cml0eUVy
cm9yLCBEZXZpY2VBUElFcnJvcik7Ci0KLQkJLyoqCi0JCSAqIFxicmllZiBEZWxldGVzIHRoaXMg
ZmlsZS4KLQkJICoKLQkJICogUmV0dXJucyA8ZW0+dHJ1ZTwvZW0+IG9uIHN1Y2Nlc3MsIDxlbT5m
YWxzZTwvZW0+IG90aGVyd2lzZS4KLQkJICoKLQkJICogXGFwaS1mZWF0dXJlIGh0dHA6Ly9ib25k
aS5vbXRwLm9yZy9hcGkvZmlsZXN5c3RlbS53cml0ZQotCQkgKgotCQkgKiBcY29kZQotCQkgKiAJ
dmFyIGZ1bGxQYXRoID0gZGlyLmZ1bGxQYXRoOwotCQkgKiAJaWYoZGlyLmRlbGV0ZUZpbGUoKSkg
ewotCQkgKiAJCS8vIHN1YnNlcXVlbnQgYWNjZXNzZXMgdG8gZGlyIHdpbGwgdGhyb3cgYW4gZXJy
b3IKLQkJICogCQlhbGVydChmdWxsUGF0aCArICcgZGVsZXRlZCcpOwotCQkgKiAJfQotCQkgKiBc
ZW5kY29kZQotCQkgKgotCQkgKiBccmV0dXJuIDxlbT50cnVlPC9lbT4gb24gc3VjY2VzcwotCQkg
KiBcdGhyb3cgU2VjdXJpdHlFcnJvciBQRVJNSVNTSU9OX0RFTklFRF9FUlJPUiB3aGVuCi0JCSAq
ICAgICAgICBhY2Nlc3MgaXMgZGVuaWVkIGJ5IHRoZSBzZWN1cml0eSBwb2xpY3kuCi0JCSAqIFx0
aHJvdyBEZXZpY2VBUElFcnJvciBJT19FUlJPUiBpZiB0aGlzIGlzIGEgZGlyZWN0b3J5LgotCQkg
KiBcdGhyb3cgRGV2aWNlQVBJRXJyb3IgSU9fRVJST1IgaWYgdGhlIGZpbGUgY2Fubm90IGJlIGRl
bGV0ZWQgZHVlCi0JCSAqICAgICAgICB0aGUgbGFjayBvZiBmaWxlc3lzdGVtIHBlcm1pc3Npb25z
IG9yIGlmIGl0IGlzIGxvY2tlZCBvcgotCQkgKiAgICAgICAgb3BlbmVkIGJ5IGFub3RoZXIgcHJv
Y2Vzcy4KLQkJICovCi0JCWJvb2xlYW4gZGVsZXRlRmlsZSgpCi0JCQlyYWlzZXMoU2VjdXJpdHlF
cnJvciwgRGV2aWNlQVBJRXJyb3IpOwotCX07Ci0KLQkvKioKLQkgKiBcYnJpZWYgRmlsZVN0cmVh
bSBBUEkuCi0JICoKLQkgKiBBIEZpbGVTdHJlYW0gcmVwcmVzZW50cyBhIGhhbmRsZSB0byBhIEZp
bGUgb3BlbmVkIGZvciByZWFkIGFuZC9vcgotCSAqIHdyaXRlIG9wZXJhdGlvbnMuICBSZWFkIGFu
ZCB3cml0ZSBvcGVyYXRpb25zIGFyZSBwZXJmb3JtZWQgcmVsYXRpdmUKLQkgKiB0byBhIGZpbGUg
cG9pbnRlciB3aGljaCByZXByZXNlbnRzIHRoZSBjdXJyZW50IHBvc2l0aW9uIGluIHRoZSBmaWxl
LgotCSAqIAotCSAqIEEgc2VyaWVzIG9mIHJlYWQvd3JpdGUgbWV0aG9kcyBhcmUgYXZhaWxhYmxl
IHRoYXQgcGVybWl0IGJvdGggYmluYXJ5IGFuZAotCSAqIHRleHQgdG8gYmUgcHJvY2Vzc2VkLgot
CSAqCi0JICogT25jZSBhIGZpbGUgc3RyZWFtIGlzIGNsb3NlZCwgYW55IG9wZXJhdGlvbiBhdHRl
bXB0ZWQgb24gdGhpcyBzdHJlYW0KLQkgKiB3aWxsIHJlc3VsdCBpbiBhIG5vcm1hbCBKYXZhU2Ny
aXB0IGVycm9yLgotCSAqLwotCWludGVyZmFjZSBGaWxlU3RyZWFtIHsKLQotCQkvKioKLQkJICog
XGJyaWVmIEluZGljYXRlcyB3aGV0aGVyIG9yIG5vdCB0aGUgY3VycmVudCBmaWxlIHBvaW50ZXIg
aXMgYXQgdGhlIGVuZAotCQkgKiBvZiB0aGUgZmlsZS4KLQkJICogCi0JCSAqIDxlbT50cnVlPC9l
bT4gaWYgdGhlIHBvc2l0aW9uIGlzIGF0IHRoZSBlbmQgb2YgdGhlIGN1cnJlbnQgZmlsZSBzdHJl
YW0uCi0JCSAqCi0JCSAqIFxjb2RlCi0JCSAqIAlpZihzdHJlYW0uZW9mKSB7Ci0JCSAqIAkJLy8g
ZmlsZSBoYXMgYmVlbiByZWFkIGNvbXBsZXRlbHkKLQkJICogCX0KLQkJICogXGVuZGNvZGUKLQkJ
ICovCi0JCXJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIGVvZjsKLQotCQkvKioKLQkJICogXGJy
aWVmIEdldC9zZXQgc3RyZWFtIHBvc2l0aW9uIGZvciByZWFkcy93cml0ZXMuCi0JCSAqIAotCQkg
KiBUaGUgc3RyZWFtIHBvc2l0aW9uIGlzIGFuIG9mZnNldCBvZiBieXRlcyBmcm9tIHRoZSBzdGFy
dCBvZgotCQkgKiB0aGUgZmlsZSBzdHJlYW0uICBXaGVuIGludm9raW5nIGFuIG9wZXJhdGlvbiB0
aGF0IHJlYWRzIG9yCi0JCSAqIHdyaXRlcyBmcm9tIHRoZSBzdHJlYW0sIHRoZSBvcGVyYXRpb24g
d2lsbCB0YWtlIHBsYWNlIGZyb20KLQkJICogdGhlIHBvc2l0aW9uIGluIHRoZSBwb3NpdGlvbiBh
dHRyaWJ1dGUuCi0JCSAqCi0JCSAqIFxjb2RlCi0JCSAqIAlhbGVydChzdHJlYW0ucG9zaXRpb24p
OyAvLyBkaXNwbGF5cyBjdXJyZW50IHN0cmVhbSBwb3NpdGlvbgotCQkgKiAJLy8gYWx0ZXJzIGN1
cnJlbnQgc3RyZWFtIHBvc2l0aW9uIHRvIHRoZSBiZWdpbiBvZiB0aGUgZmlsZSwKLQkJICogCS8v
IGxpa2Ugc2VlaygpIGluIEMKLQkJICogCXN0cmVhbS5wb3NpdGlvbiA9IDA7Ci0JCSAqIFxlbmRj
b2RlCi0JCSAqIFx0aHJvdyBEZXZpY2VBUElFcnJvciBJT19FUlJPUiBpZiBhIHBvc2l0aW9uIHdh
cyBnaXZlbiB0aGF0IGlzIG91dCBvZiB0aGUgc3RyZWFtIHJhbmdlLgotCQkgKi8KLQkJYXR0cmli
dXRlIHVuc2lnbmVkIGxvbmcgcG9zaXRpb24KLQkJCXNldHJhaXNlcyhEZXZpY2VBUElFcnJvcik7
Ci0KLQkJLyoqCi0JCSAqIFxicmllZiBSZXR1cm5zIHRoZSBudW1iZXIgb2YgYnl0ZXMgdGhhdCBh
cmUgYXZhaWxhYmxlIGZvcgotCQkgKiByZWFkaW5nIGZyb20gdGhlIHN0cmVhbS4KLQkJICoKLQkJ
ICogVGhlIG51bWJlciBvZiBieXRlcyBhdmFpbGFibGUgZm9yIHJlYWRpbmcgaXMgdGhlIG1heGlt
dW0KLQkJICogYW1vdW50IG9mIGJ5dGVzIHRoYXQgY2FuIGJlIHJlYWQgaW4gdGhlIG5leHQgcmVh
ZCBvcGVyYXRpb24uCi0JCSAqIAotCQkgKiAtMSBpZiBlb2YgaXMgPGVtPnRydWU8L2VtPi4KLQkJ
ICoKLQkJICogXGNvZGUKLQkJICogCWFsZXJ0KHN0cmVhbS5ieXRlc0F2YWlsYWJsZSk7IC8vIGRp
c3BsYXlzIHRoZSBhdmFpbGFibGUgYnl0ZXMgdG8gYmUgcmVhZAotCQkgKiBcZW5kY29kZQotCQkg
Ki8KLQkJcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgYnl0ZXNBdmFpbGFibGU7Ci0K
LQkJLyoqCi0JCSAqIFxicmllZiBDbG9zZXMgdGhpcyBGaWxlU3RyZWFtLgotCQkgKiAKLQkJICog
Rmx1c2hlcyBhbnkgcGVuZGluZyBidWZmZXJlZCB3cml0ZXMgYW5kIGNsb3NlcyB0aGUgRmlsZS4g
QWx3YXlzIHN1Y2NlZWRzLgotCQkgKiBOb3RlIHRoYXQgcGVuZGluZyB3cml0ZXMgbWlnaHQgbm90
IHN1Y2NlZWQuCi0JCSAqCi0JCSAqIFxjb2RlCi0JCSAqIAlzdHJlYW0uY2xvc2UoKTsgLy8gY2xv
c2VzIHRoaXMgc3RyZWFtLCBubyBzdWJzZXF1ZW50IGFjY2VzcyB0byBzdHJlYW0gYWxsb3dlZAot
CQkgKiBcZW5kY29kZQotCQkgKi8KLQkJdm9pZCBjbG9zZSgpOwotCi0JCS8qKgotCQkgKiBcYnJp
ZWYgUmVhZHMgdGhlIHNwZWNpZmllZCBudW1iZXIgb2YgY2hhcmFjdGVycy4KLQkJICoKLQkJICog
UmVhZHMgc3BlY2lmaWVkIG51bWJlciBvZiBjaGFyYWN0ZXJzIGFuZCByZXR1cm5zIHRoZW0gYXMg
c3RyaW5nLgotCQkgKiBUaGUgcmVzdWx0aW5nIHN0cmluZyBsZW5ndGggbWlnaHQgYmUgc2hvcnRl
ciB0aGFuIGNoYXJDb3VudCBpZiBlb2YKLQkJICogaXMgPGVtPnRydWU8L2VtPi4KLQkJICoKLQkJ
ICogXGNvZGUKLQkJICogCXZhciB0ZXh0ID0gc3RyZWFtLnJlYWQoMCk7Ci0JCSAqIAlzdHJlYW0u
Y2xvc2UoKTsKLQkJICogXGVuZGNvZGUKLQkJICoKLQkJICogXHBhcmFtIGNoYXJDb3VudCBudW1i
ZXIgb2YgY2hhcmFjdGVycyBiZWluZyByZWFkLCBpZgotCQkgKiAgICAgICAgICAgICAgICAgICAg
PGVtPjA8L2VtPiBpdCB3aWxsIHJlYWQgYXMgbG9uZyBhcyBieXRlcyBhcmUgYXZhaWxhYmxlLgot
CQkgKiBccmV0dXJuIHRoZSByZXN1bHQgb2YgcmVhZCBjaGFyYWN0ZXJzIGFzIGEgc3RyaW5nLgot
CQkgKiBcdGhyb3cgRGV2aWNlQVBJRXJyb3IgSU9fRVJST1IgaWYgYW4gZXJyb3Igb2NjdXJzIGR1
cmluZyByZWFkLgotCQkgKi8KLQkJRE9NU3RyaW5nIHJlYWQoaW4gdW5zaWduZWQgbG9uZyBjaGFy
Q291bnQpCi0JCQlyYWlzZXMoRGV2aWNlQVBJRXJyb3IpOwotCi0JCS8qKgotCQkgKiBcYnJpZWYg
UmVhZHMgdGhlIHNwZWNpZmllZCBudW1iZXIgb2YgYnl0ZXMgZnJvbSB0aGlzIEZpbGVTdHJlYW0u
Ci0JCSAqCi0JCSAqIElmIDAgaXMgc3VwcGxpZWQgaXQgd2lsbCByZWFkIGFsbCBhdmFpbGFibGUg
Ynl0ZXMgaW4gYQotCQkgKiBzaW5nbGUgcmVhZCBvcGVyYXRpb24uCi0JCSAqCi0JCSAqIFxjb2Rl
Ci0JCSAqIAkvLyByZWFkcyB1cCB0byAyNTYgYnl0ZXMgZnJvbSB0aGUgc3RyZWFtCi0JCSAqIAl2
YXIgcmF3ID0gc3RyZWFtLnJlYWRCeXRlcygyNTYpOwotCQkgKiAJZm9yKHZhciBpID0gMDsgaSAm
bHQ7IHJhdy5sZW5ndGg7IGkrKykgewotCQkgKiAJCS8vIHJhd1tpXSBjb250YWlucyB0aGUgaS10
aCBieXRlIG9mIHRoZSBjdXJyZW50IGRhdGEgY2h1bmsKLQkJICogCX0KLQkJICogXGVuZGNvZGUK
LQkJICoKLQkJICogXHBhcmFtIGJ5dGVDb3VudCBudW1iZXIgb2YgYnl0ZXMgYmVpbmcgcmVhZC4g
TXVzdCBub3QgYmUgPGVtPjA8L2VtPi4KLQkJICogXHJldHVybiB0aGUgcmVzdWx0IG9mIHJlYWQg
Ynl0ZXMgYXMgYSBieXRlIChvciBudW1iZXIpIGFycmF5LgotCQkgKiBcdGhyb3cgRGV2aWNlQVBJ
RXJyb3IgSU9fRVJST1IgaWYgYW4gZXJyb3Igb2NjdXJzIGR1cmluZyByZWFkQnl0ZXMuCi0JCSAq
LwotCQlCeXRlQXJyYXkgcmVhZEJ5dGVzKGluIHVuc2lnbmVkIGxvbmcgYnl0ZUNvdW50KQotCQkJ
cmFpc2VzKERldmljZUFQSUVycm9yKTsKLQotCQkvKioKLQkJICogXGJyaWVmIFJlYWRzIHRoZSBz
cGVjaWZpZWQgbnVtYmVyIG9mIGJ5dGVzIGZyb20gdGhpcyBGaWxlU3RyZWFtLCBlbmNvZGluZwot
CQkgKiB0aGUgcmVzdWx0IGluIGJhc2U2NC4KLQkJICoKLQkJICogSWYgMCBpcyBzdXBwbGllZCBp
dCB3aWxsIHJlYWQgYWxsIGF2YWlsYWJsZSBieXRlcyBpbiBhCi0JCSAqIHNpbmdsZSByZWFkIG9w
ZXJhdGlvbi4KLQkJICoKLQkJICogXGNvZGUKLQkJICogCS8vIHJlYWRzIHVwIHRvIDI1NiBieXRl
cyBmcm9tIHRoZSBzdHJlYW0KLQkJICogCXZhciBiYXNlNjQgPSBzdHJlYW0ucmVhZEJhc2U2NCgy
NTYpOwotCQkgKiBcZW5kY29kZQotCQkgKgotCQkgKiBccGFyYW0gYnl0ZUNvdW50IG51bWJlciBv
ZiBieXRlcyBiZWluZyByZWFkLiBNdXN0IG5vdCBiZSA8ZW0+MDwvZW0+LgotCQkgKiBccmV0dXJu
IHRoZSByZXN1bHQgb2YgcmVhZCBieXRlcyBhcyBiYXNlNjQgZW5jb2Rpbmcgc3RyaW5nLgotCQkg
KiBcdGhyb3cgRGV2aWNlQVBJRXJyb3IgSU9fRVJST1IgaWYgYW4gZXJyb3Igb2NjdXJzIGR1cmlu
ZyByZWFkQmFzZTY0LgotCQkgKi8KLQkJRE9NU3RyaW5nIHJlYWRCYXNlNjQoaW4gdW5zaWduZWQg
bG9uZyBieXRlQ291bnQpCi0JCQlyYWlzZXMoRGV2aWNlQVBJRXJyb3IpOwotCi0JCS8qKgotCQkg
KiBcYnJpZWYgV3JpdGVzIHRoZSBzcGVjaWZpZWQgRE9NU3RyaW5nIHRvIHRoaXMgRmlsZVN0cmVh
bS4KLQkJICoKLQkJICogXGNvZGUKLQkJICogCXZhciB0ZXh0ID0gIkhlbGxvIHdvcmxkIjsKLQkJ
ICogCXN0cmVhbS53cml0ZSh0ZXh0KTsKLQkJICogXGVuZGNvZGUKLQkJICoKLQkJICogXHBhcmFt
IHN0cmluZ0RhdGEgdGhlIGFjdHVhbCBzdHJpbmcgdG8gYmUgd3JpdHRlbi4KLQkJICogXHRocm93
IERldmljZUFQSUVycm9yIElPX0VSUk9SIGlmIGFuIGVycm9yIG9jY3VycyBkdXJpbmcgd3JpdGUu
Ci0JCSAqLwotCQl2b2lkIHdyaXRlKGluIERPTVN0cmluZyBzdHJpbmdEYXRhKQotCQkJcmFpc2Vz
KERldmljZUFQSUVycm9yKTsKLQotCQkvKioKLQkJICogXGJyaWVmIFdyaXRlcyB0aGUgc3BlY2lm
aWVkIGJ5dGVzIHRvIHRoaXMgRmlsZVN0cmVhbS4KLQkJICoKLQkJICogXGNvZGUKLQkJICogCXZh
ciBieXRlcyA9IGluLnJlYWRCeXRlcygyNTYpOwotCQkgKiAJb3V0LndyaXRlQnl0ZXMoYnl0ZXMp
OyAvLyB3cml0ZXMgdGhlIGJ5dGVzIHJlYWQgZnJvbSBpbiB0byBvdXQKLQkJICogXGVuZGNvZGUK
LQkJICoKLQkJICogXHBhcmFtIGJ5dGVEYXRhIHRoZSBieXRlIGRhdGEgYXJyYXkgYmVpbmcgd3Jp
dHRlbi4KLQkJICogXHRocm93IERldmljZUFQSUVycm9yIElPX0VSUk9SIGlmIGFuIGVycm9yIG9j
Y3VycyBkdXJpbmcgd3JpdGVCeXRlcy4KLQkJICovCi0JCXZvaWQgd3JpdGVCeXRlcyhpbiBCeXRl
QXJyYXkgYnl0ZURhdGEpCi0JCQlyYWlzZXMoRGV2aWNlQVBJRXJyb3IpOwotCi0JCS8qKgotCQkg
KiBcYnJpZWYgQ29udmVydHMgdGhlIHNwZWNpZmllZCBiYXNlNjQgRE9NU3RyaW5nIHRvIGJ5dGVz
IGFuZCB3cml0ZXMgdGhlIAotCQkgKiByZXN1bHQgdG8gdGhpcyBGaWxlU3RyZWFtLgotCQkgKgot
CQkgKiBcY29kZQotCQkgKiAJdmFyIGJhc2U2NCA9IGluLnJlYWRCYXNlNjQoMjU2KTsKLQkJICog
CW91dC53cml0ZUJhc2U2NChiYXNlNjQpOyAvLyB3cml0ZXMgdGhlIGJhc2U2NCBkYXRhIHJlYWQg
ZnJvbSBpbiB0byBvdXQKLQkJICogXGVuZGNvZGUKLQkJICoKLQkJICogXHBhcmFtIGJhc2U2NERh
dGEgdGhlIGJhc2U2NCBkYXRhIGJlaW5nIHdyaXR0ZW4uCi0JCSAqIFx0aHJvdyBEZXZpY2VBUElF
cnJvciBJT19FUlJPUiBpZiBhbiBlcnJvciBvY2N1cnMgZHVyaW5nIHdyaXRlQmFzZTY0LgotCQkg
Ki8KLQkJdm9pZCB3cml0ZUJhc2U2NChpbiBET01TdHJpbmcgYmFzZTY0RGF0YSkKLQkJCXJhaXNl
cyhEZXZpY2VBUElFcnJvcik7Ci0JfTsKLQotICAvKioKLSAgICogXGJyaWVmIFNwZWNpZmllcyB3
aGF0IGlzIGluc3RhbnRpYXRlZCBhdCBmZWF0dXJlIHJlcXVlc3QKLSAgICogXGRlZi1pbnN0YW50
aWF0ZWQKLSAgICogXGFwaS1mZWF0dXJlIGh0dHA6Ly9ib25kaS5vbXRwLm9yZy9hcGkvZmlsZXN5
c3RlbS5yZWFkCi0gICAqIFxhcGktZmVhdHVyZSBodHRwOi8vYm9uZGkub210cC5vcmcvYXBpL2Zp
bGVzeXN0ZW0ud3JpdGUKLSAgICovCi0JaW50ZXJmYWNlIEZpbGVTeXN0ZW1NYW5hZ2VyT2JqZWN0
IHsKLQkJcmVhZG9ubHkgYXR0cmlidXRlIEZpbGVTeXN0ZW1NYW5hZ2VyIGZpbGVTeXN0ZW1NYW5h
Z2VyOyAKLQl9OwotCWJvbmRpIGltcGxlbWVudHMgRmlsZVN5c3RlbU1hbmFnZXJPYmplY3Q7Ci0K
LX07CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvZXhhbXBsZXMvc3BlY3Rvd2lkbC54
c2wgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvZXhhbXBsZXMvc3BlY3Rvd2lkbC54c2wKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ0MjUyNzcwOTQwNmVmYTNiMzg4OTA0OWY1YWM0NWY0YmI5
MjViZTQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L3dpZGxwcm9jL2V4YW1wbGVzL3NwZWN0b3dpZGwueHNsCisrKyAvZGV2L251bGwKQEAg
LTEsMjcgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KLTwh
LS09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotJElkJAotQ29weXJpZ2h0IDIwMDkgQXBsaXggQ29ycG9yYXRpb24uIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCi1MaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZl
cnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKLXlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhj
ZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KLVlvdSBtYXkgb2J0YWluIGEgY29w
eSBvZiB0aGUgTGljZW5zZSBhdAotICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9M
SUNFTlNFLTIuMAotVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0
byBpbiB3cml0aW5nLCBzb2Z0d2FyZQotZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMg
ZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKLVdJVEhPVVQgV0FSUkFOVElFUyBPUiBD
T05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgotU2VlIHRo
ZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25z
IGFuZAotbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCi0KLVhTTFQgc3R5bGVzaGVldCB0
byBleHRyYWN0IFdlYiBJREwgc25pcHBldHMgZnJvbSBXZWIgSURMIHNwZWMuIAotPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09LS0+Ci08eHNsOnN0eWxlc2hlZXQgeG1sbnM6eHNsPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5
L1hTTC9UcmFuc2Zvcm0iIHZlcnNpb249IjEuMCI+Ci08eHNsOm91dHB1dCBtZXRob2Q9InRleHQi
IGVuY29kaW5nPSJ1dGYtOCIvPgotCi08eHNsOnRlbXBsYXRlIG1hdGNoPSJjb2RlW0BjbGFzcz0n
aWRsLWNvZGUnXSI+Ci0gICAgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9Ii4iLz48eHNsOnRleHQ+Ci08
L3hzbDp0ZXh0PgotPC94c2w6dGVtcGxhdGU+Ci0KLTx4c2w6dGVtcGxhdGUgbWF0Y2g9InRleHQo
KSIvPgotCi08L3hzbDpzdHlsZXNoZWV0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9j
L2V4YW1wbGVzL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL2V4YW1wbGVzL3cz
Yy1pbXBvcnQubG9nCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxYzliZjVhZTEzMjIw
MzM5YjgzZTRjZTYzMjY0MDJlNzlhZjE1MzkyLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9leGFtcGxlcy93M2MtaW1wb3J0
LmxvZworKysgL2Rldi9udWxsCkBAIC0xLDIzICswLDAgQEAKLVRoZSB0ZXN0cyBpbiB0aGlzIGRp
cmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgotRG8gTk9UIG1v
ZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBw
dWxsIHJlcXVlc3Qgb24gdGhlIFczQyBDU1Mgb3IgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1
Yi5jb20vdzNjL2Nzc3dnLXRlc3QKLQlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cwotCi1UaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGlu
IFdlYktpdCB0byByZWltcG9ydAotCi1EbyBOT1QgbW9kaWZ5IG9yIHJlbW92ZSB0aGlzIGZpbGUu
Ci0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLQotUHJvcGVydGllcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVz
OgotTm9uZQotUHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6Ci1Ob25l
Ci0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0KLUxpc3Qgb2YgZmlsZXM6Ci0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL2V4
YW1wbGVzL01ha2VmaWxlCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL2V4YW1wbGVzL1JFQURNRQotL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC93aWRscHJvYy9leGFtcGxlcy9ib25kaS53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9j
L2V4YW1wbGVzL2ZpbGVzeXN0ZW0ud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9leGFtcGxlcy9z
cGVjdG93aWRsLnhzbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9leGFtcGxlcy93aWRsaHRtbC5jc3MK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9leGFtcGxlcy93aWRsaHRtbC5jc3MgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3Qvd2lkbHByb2MvZXhhbXBsZXMvd2lkbGh0bWwuY3NzCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCA4NTQzMDk3YTNjYzgwZDNmYzU4OGRjZjMwYzVkM2Y0YjViOTVjM2YxLi4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93
aWRscHJvYy9leGFtcGxlcy93aWRsaHRtbC5jc3MKKysrIC9kZXYvbnVsbApAQCAtMSwxMDAgKzAs
MCBAQAotYm9keSB7Ci0gIHBhZGRpbmc6IDJlbTsKLSAgbWFyZ2luOiAwOwotICBmb250LWZhbWls
eTogc2Fucy1zZXJpZjsKLSAgY29sb3I6IGJsYWNrOwotICBiYWNrZ3JvdW5kOiB3aGl0ZTsKLSAg
YmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIGxlZnQ7Ci0gIGJhY2tncm91bmQtYXR0YWNobWVudDog
Zml4ZWQ7Ci0gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7Ci19Ci06bGluayB7IGNvbG9y
OiAjMDBDOyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCB9Ci06dmlzaXRlZCB7IGNvbG9yOiAjNjA5
OyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCB9Ci1hOmFjdGl2ZSB7IGNvbG9yOiAjQzAwOyBiYWNr
Z3JvdW5kOiB0cmFuc3BhcmVudCB9Ci1hOmxpbmsgaW1nLCBhOnZpc2l0ZWQgaW1nIHsgYm9yZGVy
LXN0eWxlOiBub25lIH0gLyogbm8gYm9yZGVyIG9uIGltZyBsaW5rcyAqLwotCi1oMSwgaDIsIGgz
LCBoNCwgaDUsIGg2IHsgdGV4dC1hbGlnbjogbGVmdCB9Ci0vKiBiYWNrZ3JvdW5kIHNob3VsZCBi
ZSB0cmFuc3BhcmVudCwgYnV0IFdlYlRWIGhhcyBhIGJ1ZyAqLwotaDEsIGgyLCBoMyB7IGNvbG9y
OiAjMDA5MzkzOyBiYWNrZ3JvdW5kOiB3aGl0ZSB9Ci1oMSB7IGZvbnQ6IDE3MCUgc2Fucy1zZXJp
ZiB9Ci1oMiB7IGZvbnQ6IDE0MCUgc2Fucy1zZXJpZiB9Ci1oMyB7IGZvbnQ6IDEyMCUgc2Fucy1z
ZXJpZiB9Ci1oNCB7IGZvbnQ6IGJvbGQgMTAwJSBzYW5zLXNlcmlmIH0KLWg1IHsgZm9udDogaXRh
bGljIDEwMCUgc2Fucy1zZXJpZiB9Ci1oNiB7IGZvbnQ6IHNtYWxsLWNhcHMgMTAwJSBzYW5zLXNl
cmlmOyBtYXJnaW4tYm90dG9tOiAwIH0KLQotLmhpZGUgeyBkaXNwbGF5OiBub25lIH0KLQotY29k
ZSB7IGZvbnQtc2l6ZTogMTIwJSB9Ci0KLXVsLnRvYywgb2wudG9jLCB1bC5hdXRob3JzIHsKLSAg
bGlzdC1zdHlsZTogbm9uZTsKLX0KLQotLmhpZGUgeyBkaXNwbGF5OiBub25lIH0KLQotZGl2Lmhl
YWQgeyBtYXJnaW4tYm90dG9tOiAxZW0gfQotZGl2LmhlYWQgaDEgeyBtYXJnaW4tdG9wOiAyZW07
IGNsZWFyOiBib3RoIH0KLWRpdi5oZWFkIHRhYmxlIHsgbWFyZ2luLWxlZnQ6IDJlbTsgbWFyZ2lu
LXRvcDogMmVtIH0KLWRpdi5jb25zdHJhaW50LCBkaXYuaXNzdWUsIGRpdi5ub3RlLCBkaXYubm90
aWNlICAgICB7IG1hcmdpbi1sZWZ0OiAyZW07IH0KLWRpdi5leGFtcGxlSW5uZXIgcHJlIHsgbWFy
Z2luLWxlZnQ6IDFlbTsgbWFyZ2luLXRvcDogMGVtOyBtYXJnaW4tYm90dG9tOiAwZW19Ci1kaXYu
ZXhhbXBsZU91dGVyIHtib3JkZXI6IDRweCBkb3VibGUgZ3JheTsgbWFyZ2luOiAwZW07IHBhZGRp
bmc6IDBlbX0KLWRpdi5leGFtcGxlSW5uZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjZDVkZWUzOwot
ICAgICAJICAgICAgICAgICBib3JkZXItdG9wLXdpZHRoOiA0cHg7Ci0gICAgICAgCSAgICAgICAg
ICAgYm9yZGVyLXRvcC1zdHlsZTogZG91YmxlOwotICAgICAgIAkgICAgICAgICAgIGJvcmRlci10
b3AtY29sb3I6ICNkM2QzZDM7Ci0gICAgICAgCSAgICAgICAgICAgYm9yZGVyLWJvdHRvbS13aWR0
aDogNHB4OwotICAgICAgIAkgICAgICAgICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IGRvdWJsZTsK
LSAgICAgICAJICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjZDNkM2QzOwotICAgICAg
IAkgICAgICAgICAgIHBhZGRpbmc6IDRweDsgbWFyZ2luOiAwZW0gfQotZGl2LmV4YW1wbGVXcmFw
cGVyIHsgbWFyZ2luOiA0cHggfQotZGl2LmV4YW1wbGVIZWFkZXIgeyBmb250LXdlaWdodDogYm9s
ZDsgbWFyZ2luOiA0cHh9Ci1kaXYudGVybSB7IGZvbnQ6IDEwMCUgc2Fucy1zZXJpZjsgY29sb3I6
IzAwMDAwMDsgZm9udC13ZWlnaHQ6IGJvbGQ7IGxpbmUtaGVpZ2h0OiA2MCV9ICAgCi1kaXYubGlz
dCB7IGZvbnQ6IDEwMCUgc2Fucy1zZXJpZjsgY29sb3I6IzAwMDAwMDsgZm9udC13ZWlnaHQ6IG5v
cm1hbDsgbGluZS1oZWlnaHQ6IDYwJX0gCi0KLS5vcHRpb25hbCB7dGV4dC1kZWNvcmF0aW9uOiBs
aW5lLXRocm91Z2g7IGRpc3BsYXk6IG5vbmU7fQotCi0uY29weXJpZ2h0LC5sZWdhbG5vdGljZSB7
IGZvbnQtc2l6ZTogc21hbGwgfQotLmNvcHlyaWdodCBzbWFsbCB7IGZvbnQtc2l6ZTogc21hbGwg
fQotCi1AbWVkaWEgc2NyZWVuIHsgIC8qIGhpZGUgZnJvbSBJRTMgKi8KLWFbaHJlZl06aG92ZXIg
eyBiYWNrZ3JvdW5kOiAjZmZhIH0KLX0KLQotb2wuZW51bWFyICAgICAgeyBsaXN0LXN0eWxlLXR5
cGU6IGRlY2ltYWw7IH0KLW9sLmVudW1sYSAgICAgIHsgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1h
bHBoYTsgfQotb2wuZW51bWxyICAgICAgeyBsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLXJvbWFuOyB9
Ci1vbC5lbnVtdWEgICAgICB7IGxpc3Qtc3R5bGUtdHlwZTogdXBwZXItYWxwaGE7IH0KLW9sLmVu
dW11ciAgICAgIHsgbGlzdC1zdHlsZS10eXBlOiB1cHBlci1yb21hbjsgfQotCi0vKiBCT05ESSBh
ZGRpdGlvbnMgKi8KLQotLnRvYyB7Ci0gICAgbGlzdC1zdHlsZS10eXBlOiBub25lOwotfQotCi1w
cmUgewotICBiYWNrZ3JvdW5kLWNvbG9yOiNENURFRTM7Ci0gIG92ZXJmbG93OiBhdXRvOwotICBw
YWRkaW5nOiAxZW07Ci19Ci0KLS5leGFtcGxlY29kZSB7Ci0gICAgYmFja2dyb3VuZC1jb2xvcjog
I0VFRTsKLX0KLQotLmRlZi1hcGktZmVhdHVyZS1zZXQgZHQsIC5kZWYtYXBpLWZlYXR1cmUgZHQs
IGR0IC5kZWYtZGV2aWNlLWNhcCwgZHQuY29uc3QgY29kZSB7IGZvbnQ6IGJvbGQgMTAwJSBzYW5z
LXNlcmlmOyB9Ci1kdC5hdHRyaWJ1dGUgY29kZSwgZHQubWV0aG9kIGNvZGUgeyBmb250OiBpdGFs
aWMgMTAwJSBzYW5zLXNlcmlmOyB9Ci0KLS5kZWYtZGV2aWNlLWNhcHMgZGQgeyBtYXJnaW4tYm90
dG9tOiAyZW0gfQotCi1kdC5tZXRob2QgeyBtYXJnaW4tdG9wOiAyZW0gfQotCi0uc3VtbWFyeSB0
ZCB7Ci0gICAgdGV4dC1hbGlnbjogbGVmdDsKLSAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQkJERERE
OwotICAgIGNvbG9yOiBpbmhlcml0OwotICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7Ci0gICAg
d2hpdGUtc3BhY2U6cHJlOwotICAgIHBhZGRpbmc6IC4zZW0gMWVtIC4zZW0gMWVtOwotfQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3NyYy9jb21tZW50LmMgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lk
bHByb2Mvc3JjL2NvbW1lbnQuYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjIyYTdi
ZWE3YjRjNWM5MTJkOTJkZTFiYjU2NDhkZjNmODI3NzU4OC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mvc3JjL2NvbW1lbnQu
YworKysgL2Rldi9udWxsCkBAIC0xLDE4MjcgKzAsMCBAQAotLyoqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiAk
SWQkCi0gKiBDb3B5cmlnaHQgMjAwOSBBcGxpeCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KLSAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAg
KHRoZSAiTGljZW5zZSIpOwotICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4g
Y29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgotICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9m
IHRoZSBMaWNlbnNlIGF0Ci0gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJ
Q0VOU0UtMi4wCi0gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVk
IHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCi0gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5z
ZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAotICogV0lUSE9VVCBXQVJSQU5U
SUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQu
Ci0gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcg
cGVybWlzc2lvbnMgYW5kCi0gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KLSAqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKi8KLSNpbmNsdWRlIDxhc3NlcnQuaD4KLSNpbmNsdWRlIDxzdHJpbmcuaD4KLSNp
bmNsdWRlIDxzdGRpby5oPgotCi0jaW5jbHVkZSAiY29tbWVudC5oIgotI2luY2x1ZGUgImVudGl0
aWVzLmgiCi0jaW5jbHVkZSAibGV4LmgiCi0jaW5jbHVkZSAibWlzYy5oIgotI2luY2x1ZGUgIm5v
ZGUuaCIKLSNpbmNsdWRlICJvcy5oIgotI2luY2x1ZGUgInByb2Nlc3MuaCIKLQotLyogc3RydWN0
IGNub2RlIDogYSBub2RlIGluIHRoZSBjb21tZW50IHBhcnNlIHRyZWUgKi8KLXN0cnVjdCBjbm9k
ZSB7Ci0gICAgc3RydWN0IGNub2RlICpuZXh0OwotICAgIHN0cnVjdCBjbm9kZSAqY2hpbGRyZW47
Ci0gICAgc3RydWN0IGNub2RlICpwYXJlbnQ7Ci0gICAgY29uc3Qgc3RydWN0IGNub2RlZnVuY3Mg
KmZ1bmNzOwotICAgIGNvbnN0IGNoYXIgKmF0dHJ0ZXh0OwotICAgIGNvbnN0IGNoYXIgKmZpbGVu
YW1lOwotICAgIHVuc2lnbmVkIGludCBsaW5lbnVtOwotfTsKLQotc3RydWN0IGNub2RlZnVuY3Mg
ewotICAgIGludCBpbmRlc2M7IC8qIG5vbi16ZXJvIGlmIGl0IG91dHB1dHMgaXRzIG93biB4bWwg
ZWxlbWVudCB0aGF0IGRvZXMKLSAgICAgICAgICAgICAgICAgICAgICBub3Qgd2FudCB0byBiZSBp
bnNpZGUgPGRlc2NyaXB0aW9uPiAqLwotICAgIGludCBuZWVkcGFyYTsgLyogbm9uLXplcm8gaWYg
dGV4dCBtdXN0IGJlIGluIGEgcGFyYSBub2RlIHRoYXQgaXMgYSBjaGlsZAotICAgICAgICAgICAg
ICAgICAgICAgb2YgdGhpcyBvbmUgKi8KLSAgICBpbnQgKCphc2tlbmQpKHN0cnVjdCBjbm9kZSAq
Y25vZGUsIGNvbnN0IHN0cnVjdCBjbm9kZWZ1bmNzICp0eXBlKTsKLSAgICB2b2lkICgqZW5kKShz
dHJ1Y3QgY25vZGUgKmNub2RlKTsKLSAgICB2b2lkICgqb3V0cHV0KShzdHJ1Y3QgY25vZGUgKmNu
b2RlLCB1bnNpZ25lZCBpbnQgaW5kZW50KTsKLX07Ci0KLXN0cnVjdCBwYXJhbWNub2RlIHsKLSAg
ICBzdHJ1Y3QgY25vZGUgY247Ci0gICAgaW50IGlub3V0OwotICAgIGNoYXIgbmFtZVsxXTsKLX07
Ci0KLS8qIHN0cnVjdCBjb21tZW50IDogYSBkb3h5Z2VuIGNvbW1lbnQgKi8KLXN0cnVjdCBjb21t
ZW50IHsKLSAgICBzdHJ1Y3QgY29tbWVudCAqbmV4dDsKLSAgICBzdHJ1Y3Qgbm9kZSAqbm9kZTsK
LSAgICB1bnNpZ25lZCBpbnQgdHlwZTsKLSAgICBjb25zdCBjaGFyICpmaWxlbmFtZTsKLSAgICB1
bnNpZ25lZCBpbnQgbGluZW51bTsKLSAgICBzdHJ1Y3QgY25vZGUgcm9vdDsKLSAgICBpbnQgYmFj
azsgLyogV2hldGhlciB0aGUgY29tbWVudCByZWZlcnMgYmFjayByYXRoZXIgdGhhbiBmb3J3YXJk
LiAqLwotICAgIGNoYXIgKnRleHQ7Ci19OwotCi0KLXN0YXRpYyBzdHJ1Y3Qgbm9kZSAqbGFzdGlk
ZW50aWZpZXI7Ci1zdGF0aWMgc3RydWN0IGNvbW1lbnQgKmNvbW1lbnRzOwotc3RhdGljIGludCBp
bmNvZGUsIGluaHRtbGJsb2NrOwotc3RhdGljIHN0cnVjdCBjb21tZW50ICpjdXJjb21tZW50Owot
Ci0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioKLSAqIGh0bWxlbGRlc2NzIDogdGFibGUgb2YgcmVjbm9naXplZCBI
VE1MIGVsZW1lbnRzCi0gKi8KLSNkZWZpbmUgSFRNTEVMX0VNUFRZIDEKLSNkZWZpbmUgSFRNTEVM
X0lOTElORSAyCi0jZGVmaW5lIEhUTUxFTF9CTE9DSyA0Ci0jZGVmaW5lIEhUTUxFTF9BVVRPQ0xP
U0UgOAotI2RlZmluZSBIVE1MRUxfTEkgMHgxMAotI2RlZmluZSBIVE1MRUxfRExDT05URU5UUyAw
eDIwCi0jZGVmaW5lIEhUTUxFTF9UQUJMRUNPTlRFTlRTIDB4NDAKLSNkZWZpbmUgSFRNTEVMX1RS
Q09OVEVOVFMgMHg4MAotCi0jZGVmaW5lIEhUTUxFTF9GTE9XIChIVE1MRUxfQkxPQ0sgfCBIVE1M
RUxfSU5MSU5FKQotCi1zdHJ1Y3QgaHRtbGVsZGVzYyB7Ci0gICAgdW5zaWduZWQgaW50IG5hbWVs
ZW47Ci0gICAgY29uc3QgY2hhciAqbmFtZTsKLSAgICB1bnNpZ25lZCBpbnQgZmxhZ3M7Ci0gICAg
dW5zaWduZWQgaW50IGNvbnRlbnQ7Ci19OwotCi1zdGF0aWMgY29uc3Qgc3RydWN0IGh0bWxlbGRl
c2MgaHRtbGVsZGVzY3NbXSA9IHsKLSAgICB7IDEsICJhIiwgSFRNTEVMX0lOTElORSwgMCB9LAot
ICAgIHsgMSwgImIiLCBIVE1MRUxfSU5MSU5FLCAwIH0sCi0gICAgeyAyLCAiYnIiLCBIVE1MRUxf
SU5MSU5FLCBIVE1MRUxfRU1QVFkgfSwKLSAgICB7IDMsICJpbWciLCBIVE1MRUxfSU5MSU5FLCBI
VE1MRUxfRU1QVFkgfSwKLSAgICB7IDIsICJkZCIsIEhUTUxFTF9ETENPTlRFTlRTLCBIVE1MRUxf
RkxPVyB9LAotICAgIHsgMiwgImRsIiwgSFRNTEVMX0JMT0NLLCBIVE1MRUxfRExDT05URU5UUyB9
LAotICAgIHsgMiwgImR0IiwgSFRNTEVMX0RMQ09OVEVOVFMsIEhUTUxFTF9JTkxJTkUgfSwKLSAg
ICB7IDIsICJlbSIsIEhUTUxFTF9JTkxJTkUsIDAgfSwKLSAgICB7IDIsICJsaSIsIEhUTUxFTF9M
SSwgSFRNTEVMX0ZMT1cgfSwKLSAgICB7IDIsICJvbCIsIEhUTUxFTF9CTE9DSywgSFRNTEVMX0xJ
IH0sCi0gICAgeyAxLCAicCIsIEhUTUxFTF9CTE9DSywgSFRNTEVMX0lOTElORSB9LAotICAgIHsg
MiwgInRkIiwgSFRNTEVMX1RSQ09OVEVOVFMgfCBIVE1MRUxfQVVUT0NMT1NFLCBIVE1MRUxfRkxP
VyB9LAotICAgIHsgMiwgInRoIiwgSFRNTEVMX1RSQ09OVEVOVFMgfCBIVE1MRUxfQVVUT0NMT1NF
LCBIVE1MRUxfRkxPVyB9LAotICAgIHsgMiwgInRyIiwgSFRNTEVMX1RBQkxFQ09OVEVOVFMgfCBI
VE1MRUxfQVVUT0NMT1NFLCBIVE1MRUxfVFJDT05URU5UUyB9LAotICAgIHsgNSwgInRhYmxlIiwg
SFRNTEVMX0JMT0NLLCBIVE1MRUxfVEFCTEVDT05URU5UUyB9LAotICAgIHsgMiwgInVsIiwgSFRN
TEVMX0JMT0NLLCBIVE1MRUxfTEkgfSwKLSAgICB7IDAsIDAsIDAsIDAgfQotfTsKLSNkZWZpbmUg
SFRNTEVMREVTQ19CIChodG1sZWxkZXNjcyArIDEpCi0jZGVmaW5lIEhUTUxFTERFU0NfQlIgKGh0
bWxlbGRlc2NzICsgMikKLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBhZGRjb21tZW50IDogYWRkIGEg
Y29tbWVudCB0byB0aGUgbGlzdCBvZiBjb21tZW50cyBpZiBpdCBoYXMgZG94eWdlbiBzeW50YXgK
LSAqCi0gKiBFbnRlcjogICB0b2sgc3RydWN0Ci0gKi8KLXZvaWQKLWFkZGNvbW1lbnQoc3RydWN0
IHRvayAqdG9rKQotewotICAgIGlmICh0b2stPmxlbiA+PSAxICYmICh0b2stPnN0YXJ0WzBdID09
ICchJwotICAgICAgICB8fCAodG9rLT50eXBlID09IFRPS19CTE9DS0NPTU1FTlQgJiYgdG9rLT5z
dGFydFswXSA9PSAnKicpCi0gICAgICAgIHx8ICh0b2stPnR5cGUgPT0gVE9LX0lOTElORUNPTU1F
TlQgJiYgdG9rLT5zdGFydFswXSA9PSAnLycpKSkKLSAgICB7Ci0gICAgICAgIHN0cnVjdCBjb21t
ZW50ICpjb21tZW50OwotICAgICAgICBjb21tZW50ID0gbWVtYWxsb2Moc2l6ZW9mKHN0cnVjdCBj
b21tZW50KSk7Ci0gICAgICAgIGNvbW1lbnQtPnRleHQgPSBtZW1hbGxvYyh0b2stPmxlbiArIDEp
OwotICAgICAgICBtZW1jcHkoY29tbWVudC0+dGV4dCwgdG9rLT5zdGFydCwgdG9rLT5sZW4pOwot
ICAgICAgICBjb21tZW50LT50ZXh0W3Rvay0+bGVuXSA9IDA7Ci0gICAgICAgIGNvbW1lbnQtPnR5
cGUgPSB0b2stPnR5cGU7Ci0gICAgICAgIGNvbW1lbnQtPmZpbGVuYW1lID0gdG9rLT5maWxlbmFt
ZTsKLSAgICAgICAgY29tbWVudC0+bGluZW51bSA9IHRvay0+bGluZW51bTsKLSAgICAgICAgY29t
bWVudC0+bm9kZSA9IDA7Ci0gICAgICAgIGNvbW1lbnQtPmJhY2sgPSAwOwotICAgICAgICBpZiAo
Y29tbWVudC0+dGV4dFsxXSA9PSAnPCcpIHsKLSAgICAgICAgICAgIGNvbW1lbnQtPmJhY2sgPSAx
OwotICAgICAgICAgICAgaWYgKCFsYXN0aWRlbnRpZmllcikgewotICAgICAgICAgICAgICAgIGxv
Y2Vycm9yZXhpdChjb21tZW50LT5maWxlbmFtZSwgY29tbWVudC0+bGluZW51bSwKLSAgICAgICAg
ICAgICAgICAgICAgIm5vIGlkZW50aWZpZXIgdG8gYXR0YWNoIGRveHlnZW4gY29tbWVudCB0byIp
OwotICAgICAgICAgICAgfQotICAgICAgICAgICAgY29tbWVudC0+bm9kZSA9IGxhc3RpZGVudGlm
aWVyOwotICAgICAgICB9Ci0gICAgICAgIGNvbW1lbnQtPm5leHQgPSBjb21tZW50czsKLSAgICAg
ICAgY29tbWVudHMgPSBjb21tZW50OwotICAgIH0KLX0KLQotLyoqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBz
ZXRjb21tZW50bm9kZSA6IHNldCBwYXJzZSBub2RlIHRvIGF0dGFjaCBjb21tZW50cyB0bwotICoK
LSAqIEVudGVyOiAgIG5vZGUyID0gcGFyc2Ugbm9kZSBmb3IgaWRlbnRpZmllcgotICovCi12b2lk
Ci1zZXRjb21tZW50bm9kZShzdHJ1Y3Qgbm9kZSAqbm9kZTIpCi17Ci0gICAgc3RydWN0IGNvbW1l
bnQgKmNvbW1lbnQgPSBjb21tZW50czsKLSAgICB3aGlsZSAoY29tbWVudCAmJiAhY29tbWVudC0+
bm9kZSkgewotICAgICAgICBjb21tZW50LT5ub2RlID0gbm9kZTI7Ci0gICAgICAgIGNvbW1lbnQg
PSBjb21tZW50LT5uZXh0OwotICAgIH0KLSAgICBsYXN0aWRlbnRpZmllciA9IG5vZGUyOwotfQot
Ci0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioKLSAqIGpvaW5pbmxpbmVjb21tZW50cyA6IGpvaW4gYWRqYWNlbnQg
aW5saW5lIGNvbW1lbnRzCi0gKgotICogRW50ZXI6ICAgY29tbWVudCA9IGxpc3Qgb2YgY29tbWVu
dCBzdHJ1Y3RzCi0gKgotICogUmV0dXJuOiAgbmV3IGxpc3Qgb2YgY29tbWVudCBzdHJ1Y3RzCi0g
KgotICogVGhpcyBmdW5jdGlvbiBhbHNvIGRpc2NhcmRzIGFueSBzaW5nbGUgaW5saW5lIGNvbW1l
bnQgdGhhdCBkb2VzIG5vdAotICogcmVmZXIgYmFjay4KLSAqLwotc3RhdGljIHN0cnVjdCBjb21t
ZW50ICoKLWpvaW5pbmxpbmVjb21tZW50cyhzdHJ1Y3QgY29tbWVudCAqY29tbWVudHMpCi17Ci0g
ICAgc3RydWN0IGNvbW1lbnQgKipwY29tbWVudDsKLSAgICBwY29tbWVudCA9ICZjb21tZW50czsK
LSAgICBmb3IgKDs7KSB7Ci0gICAgICAgIHN0cnVjdCBjb21tZW50ICpjb21tZW50OwotICAgICAg
ICBjb21tZW50ID0gKnBjb21tZW50OwotICAgICAgICBpZiAoIWNvbW1lbnQpCi0gICAgICAgICAg
ICBicmVhazsKLSAgICAgICAgaWYgKGNvbW1lbnQtPnR5cGUgIT0gVE9LX0lOTElORUNPTU1FTlQp
IHsKLSAgICAgICAgICAgIC8qIEtlZXAgYmxvY2sgY29tbWVudCBhcyBpcy4gKi8KLSAgICAgICAg
ICAgIHBjb21tZW50ID0gJmNvbW1lbnQtPm5leHQ7Ci0gICAgICAgIH0gZWxzZSBpZiAoIWNvbW1l
bnQtPmJhY2sgJiYgKCFjb21tZW50LT5uZXh0Ci0gICAgICAgICAgICAgICAgfHwgY29tbWVudC0+
bmV4dC0+dHlwZSAhPSBUT0tfSU5MSU5FQ09NTUVOVAotICAgICAgICAgICAgICAgIHx8IGNvbW1l
bnQtPm5leHQtPmZpbGVuYW1lICE9IGNvbW1lbnQtPmZpbGVuYW1lCi0gICAgICAgICAgICAgICAg
fHwgY29tbWVudC0+bmV4dC0+bGluZW51bSAhPSBjb21tZW50LT5saW5lbnVtICsgMSkpCi0gICAg
ICAgIHsKLSAgICAgICAgICAgIC8qIERpc2NhcmQgc2luZ2xlIC8vIGNvbW1lbnQgdGhhdCBkb2Vz
IG5vdCByZWZlciBiYWNrLiAqLwotICAgICAgICAgICAgKnBjb21tZW50ID0gY29tbWVudC0+bmV4
dDsKLQotICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgLyogRmluZCBzZXF1ZW5jZSBvZiBh
ZGphY2VudCAvLyBjb21tZW50cyAoYWRqYWNlbnQgbGluZXMsCi0gICAgICAgICAgICAgKiByZWZl
cnJpbmcgdG8gc2FtZSBub2RlKSBhbmQgam9pbiB0aGVtLiBXZSBkbyB0aGlzIGluIHR3bwotICAg
ICAgICAgICAgICogcGFzc2VzLCBvbmUgdG8gY291bnQgdGhlIGxlbmd0aCBvZiB0aGUgY29tbWVu
dCBhbmQgb25lCi0gICAgICAgICAgICAgKiB0byBqb2luLiBOb3RlIHRoYXQgdGhlIGxpc3QgaXMg
c3RpbGwgaW4gcmV2ZXJzZSBvcmRlciwKLSAgICAgICAgICAgICAqIHNvIHdlIGV4cGVjdCB0aGUg
bGluZSBudW1iZXIgdG8gZGVjcmVhc2UgYnkgMSBlYWNoIHRpbWUuICovCi0gICAgICAgICAgICBz
dHJ1Y3QgY29tbWVudCAqbmV3Y29tbWVudCA9IDAsICpjb21tZW50MjsKLSAgICAgICAgICAgIGNv
bnN0IGNoYXIgKmZpbGVuYW1lID0gY29tbWVudC0+ZmlsZW5hbWU7Ci0gICAgICAgICAgICB1bnNp
Z25lZCBpbnQgbGluZW51bSA9IGNvbW1lbnQtPmxpbmVudW07Ci0gICAgICAgICAgICBmb3IgKDs7
KSB7Ci0gICAgICAgICAgICAgICAgY2hhciAqd3AgPSBuZXdjb21tZW50LT50ZXh0OwotICAgICAg
ICAgICAgICAgIGNvbW1lbnQyID0gY29tbWVudDsKLSAgICAgICAgICAgICAgICBkbyB7Ci0gICAg
ICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBsZW4gPSBzdHJsZW4oY29tbWVudDItPnRleHQp
OwotICAgICAgICAgICAgICAgICAgICBpZiAobmV3Y29tbWVudCkKLSAgICAgICAgICAgICAgICAg
ICAgICAgIG1lbWNweSh3cCwgY29tbWVudDItPnRleHQsIGxlbik7Ci0gICAgICAgICAgICAgICAg
ICAgIHdwICs9IGxlbjsKLSAgICAgICAgICAgICAgICAgICAgbGluZW51bS0tOwotICAgICAgICAg
ICAgICAgICAgICBjb21tZW50MiA9IGNvbW1lbnQyLT5uZXh0OwotICAgICAgICAgICAgICAgIH0g
d2hpbGUgKGNvbW1lbnQyICYmIGNvbW1lbnQyLT5maWxlbmFtZSA9PSBmaWxlbmFtZQotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICYmIGNvbW1lbnQyLT5saW5lbnVtID09IGxpbmVudW0KLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAmJiBjb21tZW50Mi0+bm9kZSA9PSBjb21tZW50LT5u
b2RlKTsKLSAgICAgICAgICAgICAgICAvKiBGaW5pc2hlZCBhIHBhc3MuICovCi0gICAgICAgICAg
ICAgICAgaWYgKG5ld2NvbW1lbnQpIHsKLSAgICAgICAgICAgICAgICAgICAgKndwID0gMDsKLSAg
ICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAg
ICAgIG5ld2NvbW1lbnQgPSBtZW1hbGxvYyhzaXplb2Yoc3RydWN0IGNvbW1lbnQpCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICsgd3AgLSBuZXdjb21tZW50LT50ZXh0KTsKLSAgICAg
ICAgICAgICAgICBuZXdjb21tZW50LT5ub2RlID0gY29tbWVudC0+bm9kZTsKLSAgICAgICAgICAg
ICAgICBuZXdjb21tZW50LT50eXBlID0gY29tbWVudC0+dHlwZTsKLSAgICAgICAgICAgICAgICBu
ZXdjb21tZW50LT5maWxlbmFtZSA9IGZpbGVuYW1lOwotICAgICAgICAgICAgICAgIG5ld2NvbW1l
bnQtPmxpbmVudW0gPSBsaW5lbnVtICsgMTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIC8q
IFJlcGxhY2UgdGhlIHNjYW5uZWQgY29tbWVudCBzdHJ1Y3Qgd2l0aCBuZXdjb21tZW50IGluIHRo
ZQotICAgICAgICAgICAgICogbGlzdC4gKi8KLSAgICAgICAgICAgIG5ld2NvbW1lbnQtPm5leHQg
PSBjb21tZW50MjsKLSAgICAgICAgICAgICpwY29tbWVudCA9IG5ld2NvbW1lbnQ7Ci0gICAgICAg
ICAgICBwY29tbWVudCA9ICZuZXdjb21tZW50LT5uZXh0OwotICAgICAgICB9Ci0gICAgfQotICAg
IHJldHVybiBjb21tZW50czsKLX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBvdXRwdXRjaGlsZHJl
biA6IGNhbGwgb3V0cHV0IHJlY3Vyc2l2ZWx5IG9uIGNoaWxkcmVuIG9mIGNub2RlCi0gKgotICog
RW50ZXI6ICAgY25vZGUKLSAqICAgICAgICAgIGluZGVudCA9IGluZGVudCAobmVzdGluZykgbGV2
ZWwgb2YgcGFyZW50Ci0gKiAgICAgICAgICBpbmRlc2MgPSB3aGV0aGVyIGFscmVhZHkgaW4gPGRl
c2NyaXB0aW9uPiBvciBvdGhlciB0b3AtbGV2ZWwKLSAqICAgICAgICAgICAgICAgICAgIGRlc2Ny
aXB0aXZlIGVsZW1lbnQKLSAqLwotc3RhdGljIHZvaWQKLW91dHB1dGNoaWxkcmVuKHN0cnVjdCBj
bm9kZSAqY25vZGUsIHVuc2lnbmVkIGludCBpbmRlbnQsIGludCBpbmRlc2MpCi17Ci0gICAgaW50
IGN1cmluZGVzYyA9IGluZGVzYzsKLSAgICBjbm9kZSA9IGNub2RlLT5jaGlsZHJlbjsKLSAgICB3
aGlsZSAoY25vZGUpIHsKLSAgICAgICAgaWYgKGN1cmluZGVzYyAhPSBjbm9kZS0+ZnVuY3MtPmlu
ZGVzYykgewotICAgICAgICAgICAgYXNzZXJ0KCFpbmRlc2MpOwotICAgICAgICAgICAgcHJpbnRm
KCIlKnM8JXNkZXNjcmlwdGlvbj5cbiIsIGluZGVudCArIDEsICIiLCBjdXJpbmRlc2MgPyAiLyIg
OiAiIik7Ci0gICAgICAgICAgICBjdXJpbmRlc2MgPSAhY3VyaW5kZXNjOwotICAgICAgICB9Ci0g
ICAgICAgICgqY25vZGUtPmZ1bmNzLT5vdXRwdXQpKGNub2RlLCBpbmRlbnQgKyAyKTsKLSAgICAg
ICAgY25vZGUgPSBjbm9kZS0+bmV4dDsKLSAgICB9Ci0gICAgaWYgKGN1cmluZGVzYyAhPSBpbmRl
c2MpCi0gICAgICAgIHByaW50ZigiJSpzPCVzZGVzY3JpcHRpb24+XG4iLCBpbmRlbnQgKyAxLCAi
IiwgY3VyaW5kZXNjID8gIi8iIDogIiIpOwotfQotCi0vKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIGRlZmF1
bHRfYXNrZW5kIDogYXNrIG5vZGUgaWYgaXQgd2FudHMgdG8gZW5kIGF0IGEgcGFyYSBzdGFydCAo
ZGVmYXVsdAotICogICAgICAgICAgICAgICAgICBpbXBsZW1lbnRhdGlvbikKLSAqCi0gKiBFbnRl
cjogICBjbm9kZQotICogICAgICAgICAgdHlwZSA9IDAgZWxzZSBjbm9kZWZ1bmNzIGZvciBuZXds
eSBzdGFydGluZyBwYXJhCi0gKgotICogUmV0dXJuOiAgbm9uLXplcm8gaWYgdGhpcyBub2RlIHdh
bnRzIHRvIGVuZAotICovCi1zdGF0aWMgaW50Ci1kZWZhdWx0X2Fza2VuZChzdHJ1Y3QgY25vZGUg
KmNub2RlLCBjb25zdCBzdHJ1Y3QgY25vZGVmdW5jcyAqdHlwZSkKLXsKLSAgICByZXR1cm4gMTsK
LX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqCi0gKiByb290X2Fza2VuZCA6IGFzayByb290IG5vZGUgaWYg
aXQgd2FudHMgdG8gZW5kIGF0IGEgcGFyYSBzdGFydAotICoKLSAqIEVudGVyOiAgIGNub2RlIGZv
ciByb290Ci0gKiAgICAgICAgICB0eXBlID0gMCBlbHNlIGNub2RlZnVuY3MgZm9yIG5ld2x5IHN0
YXJ0aW5nIHBhcmEKLSAqCi0gKiBSZXR1cm46ICBub24temVybyBpZiB0aGlzIG5vZGUgd2FudHMg
dG8gZW5kCi0gKi8KLXN0YXRpYyBpbnQKLXJvb3RfYXNrZW5kKHN0cnVjdCBjbm9kZSAqY25vZGUs
IGNvbnN0IHN0cnVjdCBjbm9kZWZ1bmNzICp0eXBlKQotewotICAgIHJldHVybiAwOwotfQotCi0v
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioKLSAqIHJvb3Rfb3V0cHV0IDogb3V0cHV0IHJvb3QgY25vZGUKLSAqCi0g
KiBFbnRlcjogICBjbm9kZSBmb3Igcm9vdAotICogICAgICAgICAgaW5kZW50ID0gaW5kZW50IChu
ZXN0aW5nKSBsZXZlbAotICovCi1zdGF0aWMgdm9pZAotcm9vdF9vdXRwdXQoc3RydWN0IGNub2Rl
ICpjbm9kZSwgdW5zaWduZWQgaW50IGluZGVudCkKLXsKLSAgICBvdXRwdXRjaGlsZHJlbihjbm9k
ZSwgaW5kZW50LCAwKTsKLX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBjbm9kZSB0eXBlIHJvb3QK
LSAqLwotc3RhdGljIGNvbnN0IHN0cnVjdCBjbm9kZWZ1bmNzIHJvb3RfZnVuY3MgPSB7Ci0gICAg
MCwgLyogIWluZGVzYyAqLwotICAgIDEsIC8qIG5lZWRwYXJhICovCi0gICAgJnJvb3RfYXNrZW5k
LAotICAgIDAsIC8qIGVuZCAqLwotICAgICZyb290X291dHB1dCwKLX07Ci0KLS8qKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKgotICogZW5kY25vZGUgOiBlbmQgY3VycmVudCBjbm9kZQotICoKLSAqIEVudGVyOiAgIGNu
b2RlID0gY3VycmVudCBjbm9kZQotICoKLSAqIFJldHVybjogIGNub2RlID0gbmV3IGN1cnJlbnQg
Y29kZSAocGFyZW50IG9mIG9sZCBvbmUpCi0gKi8KLXN0YXRpYyBzdHJ1Y3QgY25vZGUgKgotZW5k
Y25vZGUoc3RydWN0IGNub2RlICpjbm9kZSkKLXsKLSAgICBpZiAoY25vZGUtPmZ1bmNzLT5lbmQp
Ci0gICAgICAgICgqY25vZGUtPmZ1bmNzLT5lbmQpKGNub2RlKTsKLSAgICAvKiBSZXZlcnNlIHRo
ZSBjaGlsZHJlbiBsaXN0LiAqLwotICAgIHsKLSAgICAgICAgc3RydWN0IGNub2RlICpjaGlsZCA9
IGNub2RlLT5jaGlsZHJlbjsKLSAgICAgICAgY25vZGUtPmNoaWxkcmVuID0gMDsKLSAgICAgICAg
d2hpbGUgKGNoaWxkKSB7Ci0gICAgICAgICAgICBzdHJ1Y3QgY25vZGUgKm5leHQgPSBjaGlsZC0+
bmV4dDsKLSAgICAgICAgICAgIGNoaWxkLT5uZXh0ID0gY25vZGUtPmNoaWxkcmVuOwotICAgICAg
ICAgICAgY25vZGUtPmNoaWxkcmVuID0gY2hpbGQ7Ci0gICAgICAgICAgICBjaGlsZCA9IG5leHQ7
Ci0gICAgICAgIH0KLSAgICB9Ci0gICAgcmV0dXJuIGNub2RlLT5wYXJlbnQ7Ci19Ci0KLS8qKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKgotICogZW5kc3BlY2lmaWNjbm9kZSA6IGVuZCBhIHNwZWNpZmljIHR5cGUgb2Yg
Y25vZGUKLSAqCi0gKiBFbnRlcjogICBjbm9kZSA9IGN1cnJlbnQgY25vZGUKLSAqICAgICAgICAg
IHR5cGUgPSB0eXBlIG9mIG5vZGUgdG8gZW5kCi0gKiAgICAgICAgICBmaWxlbmFtZSwgbGluZW51
bSA9IGZpbGVuYW1lIGFuZCBsaW5lIG51bWJlciAoZm9yIGVycm9yIHJlcG9ydGluZykKLSAqCi0g
KiBSZXR1cm46ICBuZXcgY3VycmVudCBjbm9kZQotICovCi1zdGF0aWMgc3RydWN0IGNub2RlICoK
LWVuZHNwZWNpZmljY25vZGUoc3RydWN0IGNub2RlICpjbm9kZSwgY29uc3Qgc3RydWN0IGNub2Rl
ZnVuY3MgKnR5cGUsCi0gICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmZpbGVuYW1lLCB1bnNp
Z25lZCBpbnQgbGluZW51bSkKLXsKLSAgICB3aGlsZSAoY25vZGUtPmZ1bmNzICE9IHR5cGUpIHsK
LSAgICAgICAgaWYgKGNub2RlLT5mdW5jcyA9PSAmcm9vdF9mdW5jcykKLSAgICAgICAgICAgIGxv
Y2Vycm9yZXhpdChmaWxlbmFtZSwgbGluZW51bSwgInVubWF0Y2hlZCBcXGVuZGNvZGUiKTsKLSAg
ICAgICAgY25vZGUgPSBlbmRjbm9kZShjbm9kZSk7Ci0gICAgfQotICAgIHJldHVybiBjbm9kZTsK
LX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqCi0gKiBzdGFydGNub2RlIDogc3RhcnQgYSBuZXdseSBjcmVh
dGVkIGNub2RlCi0gKgotICogRW50ZXI6ICAgY25vZGUgPSBjdXJyZW50IGNub2RlCi0gKiAgICAg
ICAgICBuZXdjbm9kZSA9IG5ldyBjbm9kZSB0byBzdGFydAotICoKLSAqIFJldHVybjogIG5ldyBj
dXJyZW50IGNub2RlICh3aGljaCBpcyB0aGUgc2FtZSBhcyBuZXdjbm9kZSkKLSAqLwotc3RhdGlj
IHN0cnVjdCBjbm9kZSAqCi1zdGFydGNub2RlKHN0cnVjdCBjbm9kZSAqY25vZGUsIHN0cnVjdCBj
bm9kZSAqbmV3Y25vZGUpCi17Ci0gICAgbmV3Y25vZGUtPnBhcmVudCA9IGNub2RlOwotICAgIG5l
d2Nub2RlLT5uZXh0ID0gY25vZGUtPmNoaWxkcmVuOwotICAgIGNub2RlLT5jaGlsZHJlbiA9IG5l
d2Nub2RlOwotICAgIHJldHVybiBuZXdjbm9kZTsKLX0KLQotLyoqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBw
YXJhX291dHB1dCA6IG91dHB1dCBwYXJhIGNub2RlCi0gKgotICogRW50ZXI6ICAgY25vZGUgZm9y
IHJvb3QKLSAqICAgICAgICAgIGluZGVudCA9IGluZGVudCAobmVzdGluZykgbGV2ZWwKLSAqLwot
c3RhdGljIHZvaWQKLXBhcmFfb3V0cHV0KHN0cnVjdCBjbm9kZSAqY25vZGUsIHVuc2lnbmVkIGlu
dCBpbmRlbnQpCi17Ci0gICAgcHJpbnRmKCIlKnM8cD5cbiIsIGluZGVudCwgIiIpOwotICAgIG91
dHB1dGNoaWxkcmVuKGNub2RlLCBpbmRlbnQsIDEpOwotICAgIHByaW50ZigiJSpzPC9wPlxuIiwg
aW5kZW50LCAiIik7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogcGFyYV9lbmQgOiBlbmQgYSBw
YXJhIGNub2RlCi0gKgotICogRW50ZXI6ICAgY25vZGUgc3RydWN0Ci0gKi8KLXN0YXRpYyB2b2lk
Ci1wYXJhX2VuZChzdHJ1Y3QgY25vZGUgKmNub2RlKQotewotICAgIC8qIElmIHRoZSBwYXJhIGNu
b2RlIGlzIGVtcHR5LCByZW1vdmUgaXQuICovCi0gICAgaWYgKCFjbm9kZS0+Y2hpbGRyZW4pCi0g
ICAgICAgIGNub2RlLT5wYXJlbnQtPmNoaWxkcmVuID0gY25vZGUtPm5leHQ7Ci19Ci0KLS8qKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKgotICogY25vZGUgdHlwZSBwYXJhCi0gKi8KLXN0YXRpYyBjb25zdCBzdHJ1Y3Qg
Y25vZGVmdW5jcyBwYXJhX2Z1bmNzID0gewotICAgIDEsIC8qIGluZGVzYyAqLwotICAgIDAsIC8q
ICFuZWVkcGFyYSAqLwotICAgICZkZWZhdWx0X2Fza2VuZCwKLSAgICAmcGFyYV9lbmQsIC8qIGVu
ZCAqLwotICAgICZwYXJhX291dHB1dCwKLX07Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogYnJpZWZf
b3V0cHV0IDogb3V0cHV0IGJyaWVmIGNub2RlCi0gKgotICogRW50ZXI6ICAgY25vZGUgZm9yIHJv
b3QKLSAqICAgICAgICAgIGluZGVudCA9IGluZGVudCAobmVzdGluZykgbGV2ZWwKLSAqLwotc3Rh
dGljIHZvaWQKLWJyaWVmX291dHB1dChzdHJ1Y3QgY25vZGUgKmNub2RlLCB1bnNpZ25lZCBpbnQg
aW5kZW50KQotewotICAgIHByaW50ZigiJSpzPGJyaWVmPlxuIiwgaW5kZW50LCAiIik7Ci0gICAg
b3V0cHV0Y2hpbGRyZW4oY25vZGUsIGluZGVudCwgMSk7Ci0gICAgcHJpbnRmKCIlKnM8L2JyaWVm
PlxuIiwgaW5kZW50LCAiIik7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogY25vZGUgdHlwZSBi
cmllZgotICovCi1zdGF0aWMgY29uc3Qgc3RydWN0IGNub2RlZnVuY3MgYnJpZWZfZnVuY3MgPSB7
Ci0gICAgMCwgLyogIWluZGVzYyAqLwotICAgIDAsIC8qICFuZWVkcGFyYSAqLwotICAgICZkZWZh
dWx0X2Fza2VuZCwKLSAgICAwLCAvKiBlbmQgKi8KLSAgICAmYnJpZWZfb3V0cHV0LAotfTsKLQot
LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqCi0gKiByZXR1cm5fb3V0cHV0IDogb3V0cHV0IHJldHVybiBjbm9kZQot
ICoKLSAqIEVudGVyOiAgIGNub2RlIGZvciByb290Ci0gKiAgICAgICAgICBpbmRlbnQgPSBpbmRl
bnQgKG5lc3RpbmcpIGxldmVsCi0gKi8KLXN0YXRpYyB2b2lkCi1yZXR1cm5fb3V0cHV0KHN0cnVj
dCBjbm9kZSAqY25vZGUsIHVuc2lnbmVkIGludCBpbmRlbnQpCi17Ci0gICAgcHJpbnRmKCIlKnM8
ZGVzY3JpcHRpb24+PHA+XG4iLCBpbmRlbnQsICIiKTsKLSAgICBvdXRwdXRjaGlsZHJlbihjbm9k
ZSwgaW5kZW50LCAxKTsKLSAgICBwcmludGYoIiUqczwvcD48L2Rlc2NyaXB0aW9uPlxuIiwgaW5k
ZW50LCAiIik7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogY25vZGUgdHlwZSByZXR1cm4KLSAq
Lwotc3RhdGljIGNvbnN0IHN0cnVjdCBjbm9kZWZ1bmNzIHJldHVybl9mdW5jcyA9IHsKLSAgICAw
LCAvKiAhaW5kZXNjICovCi0gICAgMCwgLyogIW5lZWRwYXJhICovCi0gICAgJmRlZmF1bHRfYXNr
ZW5kLAotICAgIDAsIC8qIGVuZCAqLwotICAgICZyZXR1cm5fb3V0cHV0LAotfTsKLQotLyoqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqCi0gKiBhdXRob3Jfb3V0cHV0IDogb3V0cHV0IG5hbWUgY25vZGUKLSAqCi0gKiBF
bnRlcjogICBjbm9kZSBmb3Igcm9vdAotICogICAgICAgICAgaW5kZW50ID0gaW5kZW50IChuZXN0
aW5nKSBsZXZlbAotICovCi1zdGF0aWMgdm9pZAotbmFtZV9vdXRwdXQoc3RydWN0IGNub2RlICpj
bm9kZSwgdW5zaWduZWQgaW50IGluZGVudCkKLXsKLSAgICBwcmludGYoIiUqczxuYW1lPlxuIiwg
aW5kZW50LCAiIik7Ci0gICAgb3V0cHV0Y2hpbGRyZW4oY25vZGUsIGluZGVudCwgMSk7Ci0gICAg
cHJpbnRmKCIlKnM8L25hbWU+XG4iLCBpbmRlbnQsICIiKTsKLX0KLQotLyoqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
Ci0gKiBjbm9kZSB0eXBlIG5hbWUKLSAqLwotc3RhdGljIGNvbnN0IHN0cnVjdCBjbm9kZWZ1bmNz
IG5hbWVfZnVuY3MgPSB7Ci0gICAgMCwgLyogIWluZGVzYyAqLwotICAgIDAsIC8qICFuZWVkcGFy
YSAqLwotICAgICZkZWZhdWx0X2Fza2VuZCwKLSAgICAwLCAvKiBlbmQgKi8KLSAgICAmbmFtZV9v
dXRwdXQsCi19OwotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIGF1dGhvcl9vdXRwdXQgOiBvdXRwdXQg
YXV0aG9yIGNub2RlCi0gKgotICogRW50ZXI6ICAgY25vZGUgZm9yIHJvb3QKLSAqICAgICAgICAg
IGluZGVudCA9IGluZGVudCAobmVzdGluZykgbGV2ZWwKLSAqLwotc3RhdGljIHZvaWQKLWF1dGhv
cl9vdXRwdXQoc3RydWN0IGNub2RlICpjbm9kZSwgdW5zaWduZWQgaW50IGluZGVudCkKLXsKLSAg
ICBwcmludGYoIiUqczxhdXRob3I+XG4iLCBpbmRlbnQsICIiKTsKLSAgICBvdXRwdXRjaGlsZHJl
bihjbm9kZSwgaW5kZW50LCAxKTsKLSAgICBwcmludGYoIiUqczwvYXV0aG9yPlxuIiwgaW5kZW50
LCAiIik7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogY25vZGUgdHlwZSBhdXRob3IKLSAqLwot
c3RhdGljIGNvbnN0IHN0cnVjdCBjbm9kZWZ1bmNzIGF1dGhvcl9mdW5jcyA9IHsKLSAgICAwLCAv
KiAhaW5kZXNjICovCi0gICAgMCwgLyogIW5lZWRwYXJhICovCi0gICAgJmRlZmF1bHRfYXNrZW5k
LAotICAgIDAsIC8qIGVuZCAqLwotICAgICZhdXRob3Jfb3V0cHV0LAotfTsKLQotLyoqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqCi0gKiB2ZXJzaW9uX291dHB1dCA6IG91dHB1dCB2ZXJzaW9uIGNub2RlCi0gKgotICog
RW50ZXI6ICAgY25vZGUgZm9yIHJvb3QKLSAqICAgICAgICAgIGluZGVudCA9IGluZGVudCAobmVz
dGluZykgbGV2ZWwKLSAqLwotc3RhdGljIHZvaWQKLXZlcnNpb25fb3V0cHV0KHN0cnVjdCBjbm9k
ZSAqY25vZGUsIHVuc2lnbmVkIGludCBpbmRlbnQpCi17Ci0gICAgcHJpbnRmKCIlKnM8dmVyc2lv
bj5cbiIsIGluZGVudCwgIiIpOwotICAgIG91dHB1dGNoaWxkcmVuKGNub2RlLCBpbmRlbnQsIDEp
OwotICAgIHByaW50ZigiJSpzPC92ZXJzaW9uPlxuIiwgaW5kZW50LCAiIik7Ci19Ci0KLS8qKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKgotICogY25vZGUgdHlwZSB2ZXJzaW9uCi0gKi8KLXN0YXRpYyBjb25zdCBzdHJ1
Y3QgY25vZGVmdW5jcyB2ZXJzaW9uX2Z1bmNzID0gewotICAgIDAsIC8qICFpbmRlc2MgKi8KLSAg
ICAwLCAvKiAhbmVlZHBhcmEgKi8KLSAgICAmZGVmYXVsdF9hc2tlbmQsCi0gICAgMCwgLyogZW5k
ICovCi0gICAgJnZlcnNpb25fb3V0cHV0LAotfTsKLQotLyoqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBjbm9k
ZSB0eXBlIGNvZGUKLSAqLwotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBjb2RlX2VuZCA6IGVuZCBhIGNv
ZGUgY25vZGUKLSAqCi0gKiBFbnRlcjogICBjbm9kZSBzdHJ1Y3QKLSAqLwotc3RhdGljIHZvaWQK
LWNvZGVfZW5kKHN0cnVjdCBjbm9kZSAqY25vZGUpCi17Ci0gICAgaWYgKGluY29kZSkgewotICAg
ICAgICAvKiBUaGUgaW5jb2RlIGZsYWcgaGFzIG5vdCBiZWVuIGNsZWFyZWQsIHNvIHRoaXMgY29k
ZSBjbm9kZSBpcwotICAgICAgICAgKiBiZWluZyBlbmRlZCBpbXBsaWNpdGx5LiBXZSBjb21wbGFp
biBhYm91dCB0aGF0LiAqLwotICAgICAgICBsb2NlcnJvcmV4aXQoY25vZGUtPmZpbGVuYW1lLCBj
bm9kZS0+bGluZW51bSwgIm1pc21hdGNoZWQgXFxjb2RlIik7Ci0gICAgfQotfQotCi0vKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioKLSAqIGNvZGVfb3V0cHV0IDogb3V0cHV0IGNvZGUgY25vZGUKLSAqCi0gKiBFbnRl
cjogICBjbm9kZSBmb3Igcm9vdAotICogICAgICAgICAgaW5kZW50ID0gaW5kZW50IChuZXN0aW5n
KSBsZXZlbAotICovCi1zdGF0aWMgdm9pZAotY29kZV9vdXRwdXQoc3RydWN0IGNub2RlICpjbm9k
ZSwgdW5zaWduZWQgaW50IGluZGVudCkKLXsKLSAgICAvKiBOb3RlIGNhcGl0YWxpemF0aW9uIHRv
IGRpZmZlcmVudGlhdGUgaXQgZnJvbSBIVE1MIGNvZGUgZWxlbWVudC4gKi8KLSAgICBpZihjbm9k
ZS0+YXR0cnRleHQpCi0JICAgIHByaW50ZigiJSpzPENvZGUgJXM+IiwgaW5kZW50LCAiIiwgY25v
ZGUtPmF0dHJ0ZXh0KTsKLQllbHNlCi0JICAgIHByaW50ZigiJSpzPENvZGU+IiwgaW5kZW50LCAi
Iik7Ci0gICAgb3V0cHV0Y2hpbGRyZW4oY25vZGUsIGluZGVudCwgMSk7Ci0gICAgcHJpbnRmKCI8
L0NvZGU+XG4iKTsKLX0KLQotc3RhdGljIGNvbnN0IHN0cnVjdCBjbm9kZWZ1bmNzIGNvZGVfZnVu
Y3MgPSB7Ci0gICAgMCwgLyogaW5kZXNjICovCi0gICAgMCwgLyogIW5lZWRwYXJhICovCi0gICAg
JmRlZmF1bHRfYXNrZW5kLAotICAgICZjb2RlX2VuZCwgLyogZW5kICovCi0gICAgJmNvZGVfb3V0
cHV0LAotfTsKLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBzdGFydHBhcmEgOiBzdGFydCBhIG5ldyBw
YXJhIGNub2RlIGluIHRoZSBwYXJzZSB0cmVlCi0gKgotICogRW50ZXI6ICAgY25vZGUgPSBjdXJy
ZW50IGNub2RlCi0gKiAgICAgICAgICB0eXBlID0gdnRhYmxlIGZvciBwYXJ0aWN1bGFyIHR5cGUg
b2YgY25vZGUKLSAqCi0gKiBSZXR1cm46ICBuZXcgY3VycmVudCBjbm9kZQotICovCi1zdGF0aWMg
c3RydWN0IGNub2RlICoKLXN0YXJ0cGFyYShzdHJ1Y3QgY25vZGUgKmNub2RlLCBjb25zdCBzdHJ1
Y3QgY25vZGVmdW5jcyAqdHlwZSkKLXsKLSAgICBzdHJ1Y3QgY25vZGUgKm5ld2Nub2RlOwotICAg
IHdoaWxlICgoKmNub2RlLT5mdW5jcy0+YXNrZW5kKShjbm9kZSwgdHlwZSkpCi0gICAgICAgIGNu
b2RlID0gZW5kY25vZGUoY25vZGUpOwotICAgIG5ld2Nub2RlID0gbWVtYWxsb2Moc2l6ZW9mKHN0
cnVjdCBjbm9kZSkpOwotICAgIG5ld2Nub2RlLT5mdW5jcyA9IHR5cGU7Ci0gICAgcmV0dXJuIHN0
YXJ0Y25vZGUoY25vZGUsIG5ld2Nub2RlKTsKLX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBjbm9k
ZSB0eXBlIHRleHQKLSAqLwotc3RydWN0IHRleHRjbm9kZSB7Ci0gICAgc3RydWN0IGNub2RlIGNu
OwotICAgIHVuc2lnbmVkIGNoYXIgKmRhdGE7Ci0gICAgdW5zaWduZWQgaW50IGxlbjsKLSAgICB1
bnNpZ25lZCBpbnQgbWF4OwotfTsKLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiB0ZXh0X2VuZCA6IGVu
ZCBhIHRleHQgY25vZGUKLSAqCi0gKiBFbnRlcjogICBjbm9kZSBzdHJ1Y3QKLSAqLwotc3RhdGlj
IHZvaWQKLXRleHRfZW5kKHN0cnVjdCBjbm9kZSAqY25vZGUpCi17Ci0gICAgc3RydWN0IHRleHRj
bm9kZSAqdGV4dGNub2RlID0gKHZvaWQgKiljbm9kZTsKLSAgICB0ZXh0Y25vZGUtPmRhdGFbdGV4
dGNub2RlLT5sZW5dID0gMDsKLSAgICB0ZXh0Y25vZGUtPm1heCA9IHRleHRjbm9kZS0+bGVuICsg
MTsKLSAgICB0ZXh0Y25vZGUtPmRhdGEgPSBtZW1yZWFsbG9jKHRleHRjbm9kZS0+ZGF0YSwgdGV4
dGNub2RlLT5tYXgpOwotfQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIHRleHRfb3V0cHV0IDogb3V0
cHV0IHRleHQgY25vZGUKLSAqCi0gKiBFbnRlcjogICBjbm9kZSBmb3Igcm9vdAotICogICAgICAg
ICAgaW5kZW50ID0gaW5kZW50IChuZXN0aW5nKSBsZXZlbAotICovCi1zdGF0aWMgdm9pZAotdGV4
dF9vdXRwdXQoc3RydWN0IGNub2RlICpjbm9kZSwgdW5zaWduZWQgaW50IGluZGVudCkKLXsKLSAg
ICAvKiBXZSBkbyBub3QgaW5kZW50LCBpbiBjYXNlIHRoaXMgaXMgaW5zaWRlIGEgY29kZSBjbm9k
ZS4gKi8KLSAgICBzdHJ1Y3QgdGV4dGNub2RlICp0ZXh0Y25vZGUgPSAodm9pZCAqKWNub2RlOwot
ICAgIHVuc2lnbmVkIGludCBsZW4gPSB0ZXh0Y25vZGUtPmxlbjsKLSAgICB1bnNpZ25lZCBjb25z
dCBjaGFyICpwID0gdGV4dGNub2RlLT5kYXRhOwotICAgIHdoaWxlIChsZW4pIHsKLSAgICAgICAg
dW5zaWduZWQgaW50IHRoaXNsZW47Ci0gICAgICAgIGNvbnN0IGNoYXIgKnRoaXNwdHI7Ci0gICAg
ICAgIHRoaXNsZW4gPSBwWzBdOwotICAgICAgICAvKiAodm9pZCAqKSBjYXN0IGlzIHRvIGF2b2lk
IGEgd2FybmluZyBmcm9tIHRoZSBNUyBjb21waWxlci4KLSAgICAgICAgICogSSB0aGluayB0aGUg
d2FybmluZyBpcyB3cm9uZywgYnV0IEkgY291bGQgYmUgd3JvbmcuICovCi0gICAgICAgIG1lbWNw
eSgodm9pZCAqKSZ0aGlzcHRyLCBwICsgMSwgc2l6ZW9mKHZvaWQgKikpOwotICAgICAgICBwICs9
IDEgKyBzaXplb2Yodm9pZCAqKTsKLSAgICAgICAgbGVuIC09IDEgKyBzaXplb2Yodm9pZCAqKTsK
LSAgICAgICAgcHJpbnR0ZXh0KHRoaXNwdHIsIHRoaXNsZW4sIDApOwotICAgIH0KLX0KLQotc3Rh
dGljIGNvbnN0IHN0cnVjdCBjbm9kZWZ1bmNzIHRleHRfZnVuY3MgPSB7Ci0gICAgMSwgLyogIWlu
ZGVzYyAqLwotICAgIDAsIC8qICFuZWVkcGFyYSAqLwotICAgICZkZWZhdWx0X2Fza2VuZCwKLSAg
ICAmdGV4dF9lbmQsIC8qIGVuZCAqLwotICAgICZ0ZXh0X291dHB1dCwKLX07Ci0KLS8qKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKgotICogY25vZGUgdHlwZSBodG1sIChIVE1MIGVsZW1lbnQpCi0gKi8KLXN0cnVjdCBo
dG1sY25vZGUgewotICAgIHN0cnVjdCBjbm9kZSBjbjsKLSAgICBjb25zdCBzdHJ1Y3QgaHRtbGVs
ZGVzYyAqZGVzYzsKLSAgICBjaGFyIGF0dHJzWzFdOwotfTsKLQotLyoqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0g
KiBodG1sX2VuZCA6IGVuZCBhbiBodG1sIGNub2RlCi0gKgotICogRW50ZXI6ICAgY25vZGUgc3Ry
dWN0Ci0gKi8KLXN0YXRpYyB2b2lkCi1odG1sX2VuZChzdHJ1Y3QgY25vZGUgKmNub2RlKQotewot
ICAgIGlmICgoKHN0cnVjdCBodG1sY25vZGUgKiljbm9kZSktPmRlc2MtPmZsYWdzICYgSFRNTEVM
X0JMT0NLKQotICAgICAgICBpbmh0bWxibG9jay0tOwotfQotCi0vKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAq
IGh0bWxfb3V0cHV0IDogb3V0cHV0IGh0bWwgY25vZGUKLSAqCi0gKiBFbnRlcjogICBjbm9kZSBm
b3Igcm9vdAotICogICAgICAgICAgaW5kZW50ID0gaW5kZW50IChuZXN0aW5nKSBsZXZlbAotICov
Ci1zdGF0aWMgdm9pZAotaHRtbF9vdXRwdXQoc3RydWN0IGNub2RlICpjbm9kZSwgdW5zaWduZWQg
aW50IGluZGVudCkKLXsKLSAgICBzdHJ1Y3QgaHRtbGNub2RlICpodG1sY25vZGUgPSAodm9pZCAq
KWNub2RlOwotICAgIGlmICghKGh0bWxjbm9kZS0+ZGVzYy0+ZmxhZ3MgJiBIVE1MRUxfSU5MSU5F
KSkKLSAgICAgICAgcHJpbnRmKCIlKnMiLCBpbmRlbnQsICIiKTsKLSAgICBpZiAoaHRtbGNub2Rl
LT5jbi5jaGlsZHJlbikgewotICAgICAgICBwcmludGYoIjwlcyVzPiIsIGh0bWxjbm9kZS0+ZGVz
Yy0+bmFtZSwgaHRtbGNub2RlLT5hdHRycyk7Ci0gICAgICAgIGlmICghKGh0bWxjbm9kZS0+ZGVz
Yy0+ZmxhZ3MgJiBIVE1MRUxfSU5MSU5FKSkKLSAgICAgICAgICAgIHB1dGNoYXIoJ1xuJyk7Ci0g
ICAgICAgIG91dHB1dGNoaWxkcmVuKCZodG1sY25vZGUtPmNuLCBpbmRlbnQsIDEpOwotICAgICAg
ICBpZiAoIShodG1sY25vZGUtPmRlc2MtPmZsYWdzICYgSFRNTEVMX0lOTElORSkpCi0gICAgICAg
ICAgICBwcmludGYoIiUqcyIsIGluZGVudCwgIiIpOwotICAgICAgICBwcmludGYoIjwvJXM+Iiwg
aHRtbGNub2RlLT5kZXNjLT5uYW1lKTsKLSAgICB9IGVsc2UKLSAgICAgICAgcHJpbnRmKCI8JXMl
cy8+IiwgaHRtbGNub2RlLT5kZXNjLT5uYW1lLCBodG1sY25vZGUtPmF0dHJzKTsKLSAgICBpZiAo
IShodG1sY25vZGUtPmRlc2MtPmZsYWdzICYgSFRNTEVMX0lOTElORSkpCi0gICAgICAgIHB1dGNo
YXIoJ1xuJyk7Ci19Ci0KLXN0YXRpYyBjb25zdCBzdHJ1Y3QgY25vZGVmdW5jcyBodG1sX2Z1bmNz
ID0gewotICAgIDEsIC8qIGluZGVzYyAqLwotICAgIDAsIC8qICFuZWVkcGFyYSAqLwotICAgICZk
ZWZhdWx0X2Fza2VuZCwKLSAgICAmaHRtbF9lbmQsIC8qIGVuZCAqLwotICAgICZodG1sX291dHB1
dCwKLX07Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKgotICogc3RhcnRodG1sY25vZGUgOiBzdGFydCBhIG5l
dyBodG1sIGNub2RlCi0gKgotICogRW50ZXI6ICAgY25vZGUgPSBjdXJyZW50IGNub2RlCi0gKiAg
ICAgICAgICBodG1sZWxkZXNjID0gaHRtbCBlbGVtZW50IGRlc2NyaXB0b3IKLSAqICAgICAgICAg
IGF0dHJzID0gYXR0cmlidXRlcyB0ZXh0Ci0gKiAgICAgICAgICBhdHRyc2xlbiA9IGxlbmd0aCBv
ZiBhdHRyaWJ1dGVzIHRleHQKLSAqICAgICAgICAgIGZpbGVuYW1lCi0gKiAgICAgICAgICBsaW5l
bnVtID0gbGluZSBudW1iZXIKLSAqCi0gKiBSZXR1cm46ICBuZXcgY3VycmVudCBjbm9kZQotICov
Ci1zdGF0aWMgc3RydWN0IGNub2RlICoKLXN0YXJ0aHRtbGNub2RlKHN0cnVjdCBjbm9kZSAqY25v
ZGUsIGNvbnN0IHN0cnVjdCBodG1sZWxkZXNjICpodG1sZWxkZXNjLAotICAgICAgICAgICAgICAg
Y29uc3QgY2hhciAqYXR0cnMsIHVuc2lnbmVkIGludCBhdHRyc2xlbiwKLSAgICAgICAgICAgICAg
IGNvbnN0IGNoYXIgKmZpbGVuYW1lLCB1bnNpZ25lZCBpbnQgbGluZW51bSkKLXsKLSAgICBzdHJ1
Y3QgaHRtbGNub2RlICpodG1sY25vZGU7Ci0gICAgLyogRmlyc3QgY2xvc2UgZW5vdWdoIGVsZW1l
bnRzIHRvIGdldCB0byBhIGNvbnRlbnQKLSAgICAgKiBtb2RlbCB0aGF0IHdpbGwgYWNjZXB0IHRo
aXMgbmV3IGVsZW1lbnQuICovCi0gICAgZm9yICg7OykgewotICAgICAgICBpZiAoY25vZGUtPmZ1
bmNzICE9ICZodG1sX2Z1bmNzKSB7Ci0gICAgICAgICAgICAvKiBOb3QgaW4gYW55IGh0bWwgZWxl
bWVudC4gV2UgY2FuIGFjY2VwdCBhbnkgYmxvY2sgZWxlbWVudAotICAgICAgICAgICAgICogKGlu
IHdoaWNoIGNhc2Ugd2UgbmVlZCB0byBjbG9zZSB0aGUgY3VycmVudCBwYXJhZ3JhcGgKLSAgICAg
ICAgICAgICAqIGZpcnN0KSBvciBhbnkgaW5saW5lIGVsZW1lbnQgKGluIHdoaWNoIGNhc2Ugd2Ug
bmVlZCB0bwotICAgICAgICAgICAgICogY2xvc2UgdGhlIGN1cnJlbnQgdGV4dCBjbm9kZSBmaXJz
dCkuICovCi0gICAgICAgICAgICBpZiAoIShodG1sZWxkZXNjLT5mbGFncyAmIEhUTUxFTF9JTkxJ
TkUpKSB7Ci0gICAgICAgICAgICAgICAgaWYgKCEoaHRtbGVsZGVzYy0+ZmxhZ3MgJiBIVE1MRUxf
QkxPQ0spKQotICAgICAgICAgICAgICAgICAgICBsb2NlcnJvcmV4aXQoZmlsZW5hbWUsIGxpbmVu
dW0sICI8JXM+IG5vdCB2YWxpZCBoZXJlIiwgaHRtbGVsZGVzYy0+bmFtZSk7Ci0gICAgICAgICAg
ICAgICAgd2hpbGUgKCgqY25vZGUtPmZ1bmNzLT5hc2tlbmQpKGNub2RlLCAwKSkKLSAgICAgICAg
ICAgICAgICAgICAgY25vZGUgPSBlbmRjbm9kZShjbm9kZSk7Ci0gICAgICAgICAgICB9IGVsc2Ug
ewotICAgICAgICAgICAgICAgIHdoaWxlIChjbm9kZS0+ZnVuY3MgPT0gJnRleHRfZnVuY3MpCi0g
ICAgICAgICAgICAgICAgICAgIGNub2RlID0gZW5kY25vZGUoY25vZGUpOwotICAgICAgICAgICAg
fQotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLSAgICAgICAgaHRtbGNub2RlID0gKHN0
cnVjdCBodG1sY25vZGUgKiljbm9kZTsKLSAgICAgICAgaWYgKCEoaHRtbGVsZGVzYy0+ZmxhZ3Mg
JiBodG1sY25vZGUtPmRlc2MtPmNvbnRlbnQpKQotICAgICAgICAgICAgbG9jZXJyb3JleGl0KGZp
bGVuYW1lLCBsaW5lbnVtLCAiPCVzPiBub3QgdmFsaWQgaGVyZSIsIGh0bWxlbGRlc2MtPm5hbWUp
OwotICAgICAgICBicmVhazsKLSAgICB9Ci0gICAgaWYgKGh0bWxlbGRlc2MtPmZsYWdzICYgSFRN
TEVMX0JMT0NLKQotICAgICAgICBpbmh0bWxibG9jaysrOwotICAgIC8qIENyZWF0ZSB0aGUgbmV3
IGh0bWwgY25vZGUuICovCi0gICAgaHRtbGNub2RlID0gbWVtYWxsb2Moc2l6ZW9mKHN0cnVjdCBo
dG1sY25vZGUpICsgYXR0cnNsZW4pOwotICAgIGh0bWxjbm9kZS0+ZGVzYyA9IGh0bWxlbGRlc2M7
Ci0gICAgaHRtbGNub2RlLT5jbi5mdW5jcyA9ICZodG1sX2Z1bmNzOwotICAgIGh0bWxjbm9kZS0+
Y24uZmlsZW5hbWUgPSBmaWxlbmFtZTsKLSAgICBodG1sY25vZGUtPmNuLmxpbmVudW0gPSBsaW5l
bnVtOwotICAgIG1lbWNweShodG1sY25vZGUtPmF0dHJzLCBhdHRycywgYXR0cnNsZW4pOwotICAg
IGh0bWxjbm9kZS0+YXR0cnNbYXR0cnNsZW5dID0gMDsKLSAgICAvKiBTdGFydCB0aGUgaHRtbCBj
bm9kZS4gKi8KLSAgICBjbm9kZSA9IHN0YXJ0Y25vZGUoY25vZGUsICZodG1sY25vZGUtPmNuKTsK
LSAgICByZXR1cm4gY25vZGU7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogcGFyYW1fb3V0cHV0
IDogb3V0cHV0IHBhcmFtIGNub2RlCi0gKgotICogRW50ZXI6ICAgY25vZGUgZm9yIHBhcmFtCi0g
KiAgICAgICAgICBpbmRlbnQgPSBpbmRlbnQgKG5lc3RpbmcpIGxldmVsCi0gKgotICogVGhpcyBp
cyBvbmx5IHVzZWQgZm9yIGEgXHBhcmFtIGluc2lkZSBhIFxkZWYtZGV2aWNlLWNhcC4gQSBub3Jt
YWwKLSAqIFxwYXJhbSB0aGF0IGdldHMgYXR0YWNoZWQgdG8gYSBmdW5jdGlvbiBhcmd1bWVudCBn
ZXRzIGNoYW5nZWQgdG8KLSAqIGEgXHJldHVybiBzbyBpdCBkb2VzIG5vdCB1c2UgdGhpcyBvdXRw
dXQgZnVuY3Rpb24uCi0gKi8KLXN0YXRpYyB2b2lkCi1wYXJhbV9vdXRwdXQoc3RydWN0IGNub2Rl
ICpjbm9kZSwgdW5zaWduZWQgaW50IGluZGVudCkKLXsKLSAgICBzdHJ1Y3QgcGFyYW1jbm9kZSAq
cGFyYW1jbm9kZSA9ICh2b2lkICopY25vZGU7Ci0gICAgcHJpbnRmKCIlKnM8cGFyYW0gaWRlbnRp
Zmllcj1cIiVzXCI+XG4iLCBpbmRlbnQsICIiLCBwYXJhbWNub2RlLT5uYW1lKTsKLSAgICBvdXRw
dXRjaGlsZHJlbigmcGFyYW1jbm9kZS0+Y24sIGluZGVudCwgMSk7Ci0gICAgcHJpbnRmKCIlKnM8
L3BhcmFtPlxuIiwgaW5kZW50LCAiIik7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogY25vZGUg
dHlwZSBwYXJhbQotICovCi1zdGF0aWMgY29uc3Qgc3RydWN0IGNub2RlZnVuY3MgcGFyYW1fZnVu
Y3MgPSB7Ci0gICAgMCwgLyogIWluZGVzYyAqLwotICAgIDAsIC8qICFuZWVkcGFyYSAqLwotICAg
ICZkZWZhdWx0X2Fza2VuZCwKLSAgICAwLCAvKiBlbmQgKi8KLSAgICAmcGFyYW1fb3V0cHV0LAot
fTsKLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqCi0gKiBjbm9kZSB0eXBlIHRocm93Ci0gKi8KLXN0YXRpYyBj
b25zdCBzdHJ1Y3QgY25vZGVmdW5jcyB0aHJvd19mdW5jcyA9IHsKLSAgICAwLCAvKiAhaW5kZXNj
ICovCi0gICAgMCwgLyogIW5lZWRwYXJhICovCi0gICAgJmRlZmF1bHRfYXNrZW5kLAotICAgIDAs
IC8qIGVuZCAqLwotICAgICZyZXR1cm5fb3V0cHV0LAotfTsKLQotLyoqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0g
KiBzdGFydHBhcmFtY25vZGUgOiBzdGFydCBwYXJhbSAob3IgdGhyb3cpIGNub2RlCi0gKgotICog
RW50ZXI6ICAgY25vZGUgPSBjdXJyZW50IGNub2RlCi0gKiAgICAgICAgICB3b3JkID0gbmFtZSBv
ZiBwYXJhbQotICogICAgICAgICAgd29yZGxlbiA9IGxlbmd0aCBvZiBuYW1lCi0gKiAgICAgICAg
ICBpbm91dCA9IGJpdCAwID0gaW4sIGJpdCAxID0gb3V0Ci0gKiAgICAgICAgICB0eXBlID0gJnBh
cmFtX2Z1bmNzIG9yICZ0aHJvd19mdW5jcwotICoKLSAqIFJldHVybjogIG5ldyBjdXJyZW50IGNu
b2RlCi0gKi8KLXN0YXRpYyBzdHJ1Y3QgY25vZGUgKgotc3RhcnRwYXJhbWNub2RlKHN0cnVjdCBj
bm9kZSAqY25vZGUsIGNvbnN0IGNoYXIgKndvcmQsIHVuc2lnbmVkIGludCB3b3JkbGVuLAotICAg
ICAgICAgICAgICAgIGludCBpbm91dCwgY29uc3Qgc3RydWN0IGNub2RlZnVuY3MgKmZ1bmNzKQot
ewotICAgIHN0cnVjdCBwYXJhbWNub2RlICpwYXJhbWNub2RlOwotICAgIHBhcmFtY25vZGUgPSBt
ZW1hbGxvYyhzaXplb2Yoc3RydWN0IHBhcmFtY25vZGUpICsgd29yZGxlbik7Ci0gICAgcGFyYW1j
bm9kZS0+Y24uZnVuY3MgPSBmdW5jczsKLSAgICBtZW1jcHkocGFyYW1jbm9kZS0+bmFtZSwgd29y
ZCwgd29yZGxlbik7Ci0gICAgcGFyYW1jbm9kZS0+bmFtZVt3b3JkbGVuXSA9IDA7Ci0gICAgcGFy
YW1jbm9kZS0+aW5vdXQgPSBpbm91dDsKLSAgICByZXR1cm4gc3RhcnRjbm9kZShjbm9kZSwgJnBh
cmFtY25vZGUtPmNuKTsKLX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBhcGlfZmVhdHVyZV9vdXRw
dXQgOiBvdXRwdXQgYXBpLWZlYXR1cmUgY25vZGUKLSAqCi0gKiBFbnRlcjogICBjbm9kZSBmb3Ig
cm9vdAotICogICAgICAgICAgaW5kZW50ID0gaW5kZW50IChuZXN0aW5nKSBsZXZlbAotICovCi1z
dGF0aWMgdm9pZAotYXBpX2ZlYXR1cmVfb3V0cHV0KHN0cnVjdCBjbm9kZSAqY25vZGUsIHVuc2ln
bmVkIGludCBpbmRlbnQpCi17Ci0gICAgc3RydWN0IHBhcmFtY25vZGUgKnBhcmFtY25vZGUgPSAo
dm9pZCAqKWNub2RlOwotICAgIHByaW50ZigiJSpzPGFwaS1mZWF0dXJlIGlkZW50aWZpZXI9XCIl
c1wiPlxuIiwgaW5kZW50LCAiIiwgcGFyYW1jbm9kZS0+bmFtZSk7Ci0gICAgb3V0cHV0Y2hpbGRy
ZW4oY25vZGUsIGluZGVudCwgMSk7Ci0gICAgcHJpbnRmKCIlKnM8L2FwaS1mZWF0dXJlPlxuIiwg
aW5kZW50LCAiIik7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogY25vZGUgdHlwZSBhcGlfZmVh
dHVyZQotICovCi1zdGF0aWMgY29uc3Qgc3RydWN0IGNub2RlZnVuY3MgYXBpX2ZlYXR1cmVfZnVu
Y3MgPSB7Ci0gICAgMCwgLyogIWluZGVzYyAqLwotICAgIDAsIC8qIG5lZWRwYXJhICovCi0gICAg
JmRlZmF1bHRfYXNrZW5kLAotICAgIDAsIC8qIGVuZCAqLwotICAgICZhcGlfZmVhdHVyZV9vdXRw
dXQsCi19OwotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIGRldmljZV9jYXBfb3V0cHV0IDogb3V0cHV0
IGRldmljZS1jYXAgY25vZGUKLSAqCi0gKiBFbnRlcjogICBjbm9kZSBmb3Igcm9vdAotICogICAg
ICAgICAgaW5kZW50ID0gaW5kZW50IChuZXN0aW5nKSBsZXZlbAotICovCi1zdGF0aWMgdm9pZAot
ZGV2aWNlX2NhcF9vdXRwdXQoc3RydWN0IGNub2RlICpjbm9kZSwgdW5zaWduZWQgaW50IGluZGVu
dCkKLXsKLSAgICBzdHJ1Y3QgcGFyYW1jbm9kZSAqcGFyYW1jbm9kZSA9ICh2b2lkICopY25vZGU7
Ci0gICAgcHJpbnRmKCIlKnM8ZGV2aWNlLWNhcCBpZGVudGlmaWVyPVwiJXNcIj5cbiIsIGluZGVu
dCwgIiIsIHBhcmFtY25vZGUtPm5hbWUpOwotICAgIG91dHB1dGNoaWxkcmVuKGNub2RlLCBpbmRl
bnQsIDEpOwotICAgIHByaW50ZigiJSpzPC9kZXZpY2UtY2FwPlxuIiwgaW5kZW50LCAiIik7Ci19
Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKgotICogY25vZGUgdHlwZSBkZXZpY2VfY2FwCi0gKi8KLXN0YXRp
YyBjb25zdCBzdHJ1Y3QgY25vZGVmdW5jcyBkZXZpY2VfY2FwX2Z1bmNzID0gewotICAgIDAsIC8q
ICFpbmRlc2MgKi8KLSAgICAwLCAvKiBuZWVkcGFyYSAqLwotICAgICZkZWZhdWx0X2Fza2VuZCwK
LSAgICAwLCAvKiBlbmQgKi8KLSAgICAmZGV2aWNlX2NhcF9vdXRwdXQsCi19OwotCi0vKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioKLSAqIGRlZl9hcGlfZmVhdHVyZV9hc2tlbmQgOiBhc2sgaWYgZGVmLWFwaS1mZWF0
dXJlIGNub2RlIHdhbnRzIHRvIGVuZCBhdCBuZXcgcGFyYQotICoKLSAqIEVudGVyOiAgIGNub2Rl
IGZvciBkZWYtYXBpLWZlYXR1cmUKLSAqICAgICAgICAgIHR5cGUgPSBjbm9kZWZ1bmNzIGZvciBu
ZXcgcGFyYSAoMCBpZiBodG1sIGJsb2NrIGVsZW1lbnQpCi0gKgotICogUmV0dXJuOiAgbm9uLXpl
cm8gdG8gZW5kIHRoZSBkZWYtYXBpLWZlYXR1cmUKLSAqLwotc3RhdGljIGludAotZGVmX2FwaV9m
ZWF0dXJlX2Fza2VuZChzdHJ1Y3QgY25vZGUgKmNub2RlLCBjb25zdCBzdHJ1Y3QgY25vZGVmdW5j
cyAqdHlwZSkKLXsKLSAgICAvKiBBIGRlZi1hcGktZmVhdHVyZSBkb2VzIG5vdCBlbmQgYXQgYSBw
bGFpbiBwYXJhLCBhbiBodG1sIGJsb2NrIGVsZW1lbnQsCi0gICAgICogYSBicmllZiBwYXJhLCBv
ciBhIGRldmljZS1jYXAuICovCi0gICAgaWYgKCF0eXBlIHx8IHR5cGUgPT0gJnBhcmFfZnVuY3Mg
fHwgdHlwZSA9PSAmZGV2aWNlX2NhcF9mdW5jcyB8fCB0eXBlID09ICZicmllZl9mdW5jcykKLSAg
ICAgICAgcmV0dXJuIDA7Ci0gICAgcmV0dXJuIDE7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICog
ZGVmX2FwaV9mZWF0dXJlX291dHB1dCA6IG91dHB1dCBkZWYtYXBpLWZlYXR1cmUgY25vZGUKLSAq
Ci0gKiBFbnRlcjogICBjbm9kZSBmb3Igcm9vdAotICogICAgICAgICAgaW5kZW50ID0gaW5kZW50
IChuZXN0aW5nKSBsZXZlbAotICovCi1zdGF0aWMgdm9pZAotZGVmX2FwaV9mZWF0dXJlX291dHB1
dChzdHJ1Y3QgY25vZGUgKmNub2RlLCB1bnNpZ25lZCBpbnQgaW5kZW50KQotewotICAgIHN0cnVj
dCBwYXJhbWNub2RlICpwYXJhbWNub2RlID0gKHZvaWQgKiljbm9kZTsKLSAgICBwcmludGYoIiUq
czxkZWYtYXBpLWZlYXR1cmUgaWRlbnRpZmllcj1cIiVzXCI+XG4iLCBpbmRlbnQsICIiLCBwYXJh
bWNub2RlLT5uYW1lKTsKLSAgICBwcmludGYoIiUqczxkZXNjcmlwdGl2ZT5cbiIsIGluZGVudCAr
IDIsICIiKTsKLSAgICBvdXRwdXRjaGlsZHJlbihjbm9kZSwgaW5kZW50ICsgMiwgMCk7Ci0gICAg
cHJpbnRmKCIlKnM8L2Rlc2NyaXB0aXZlPlxuIiwgaW5kZW50ICsgMiwgIiIpOwotICAgIHByaW50
ZigiJSpzPC9kZWYtYXBpLWZlYXR1cmU+XG4iLCBpbmRlbnQsICIiKTsKLX0KLQotLyoqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqCi0gKiBjbm9kZSB0eXBlIGRlZl9hcGlfZmVhdHVyZQotICovCi1zdGF0aWMgY29uc3Qg
c3RydWN0IGNub2RlZnVuY3MgZGVmX2FwaV9mZWF0dXJlX2Z1bmNzID0gewotICAgIDAsIC8qICFp
bmRlc2MgKi8KLSAgICAxLCAvKiBuZWVkcGFyYSAqLwotICAgICZkZWZfYXBpX2ZlYXR1cmVfYXNr
ZW5kLAotICAgIDAsIC8qIGVuZCAqLwotICAgICZkZWZfYXBpX2ZlYXR1cmVfb3V0cHV0LAotfTsK
LQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqCi0gKiBkZWZfYXBpX2ZlYXR1cmVfc2V0X2Fza2VuZCA6IGFzayBp
ZiBkZWYtYXBpLWZlYXR1cmUtc2V0IGNub2RlIHdhbnRzIHRvIGVuZCBhdCBuZXcgcGFyYQotICoK
LSAqIEVudGVyOiAgIGNub2RlIGZvciBkZWYtYXBpLWZlYXR1cmUtc2V0Ci0gKiAgICAgICAgICB0
eXBlID0gY25vZGVmdW5jcyBmb3IgbmV3IHBhcmEgKDAgaWYgaHRtbCBibG9jayBlbGVtZW50KQot
ICoKLSAqIFJldHVybjogIG5vbi16ZXJvIHRvIGVuZCB0aGUgZGVmLWFwaS1mZWF0dXJlLXNldAot
ICovCi1zdGF0aWMgaW50Ci1kZWZfYXBpX2ZlYXR1cmVfc2V0X2Fza2VuZChzdHJ1Y3QgY25vZGUg
KmNub2RlLCBjb25zdCBzdHJ1Y3QgY25vZGVmdW5jcyAqdHlwZSkKLXsKLSAgICAvKiBBIGRlZi1h
cGktZmVhdHVyZS1zZXQgZG9lcyBub3QgZW5kIGF0IGEgcGxhaW4gcGFyYSwgYW4gaHRtbCBibG9j
ayBlbGVtZW50LAotICAgICAqIGEgYnJpZWYgcGFyYSwgb3IgYW4gYXBpLWZlYXR1cmUuICovCi0g
ICAgaWYgKCF0eXBlIHx8IHR5cGUgPT0gJnBhcmFfZnVuY3MgfHwgdHlwZSA9PSAmYXBpX2ZlYXR1
cmVfZnVuY3MgfHwgdHlwZSA9PSAmYnJpZWZfZnVuY3MpCi0gICAgICAgIHJldHVybiAwOwotICAg
IHJldHVybiAxOwotfQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIGRlZl9hcGlfZmVhdHVyZV9zZXRf
b3V0cHV0IDogb3V0cHV0IGRlZi1hcGktZmVhdHVyZS1zZXQgY25vZGUKLSAqCi0gKiBFbnRlcjog
ICBjbm9kZSBmb3Igcm9vdAotICogICAgICAgICAgaW5kZW50ID0gaW5kZW50IChuZXN0aW5nKSBs
ZXZlbAotICovCi1zdGF0aWMgdm9pZAotZGVmX2FwaV9mZWF0dXJlX3NldF9vdXRwdXQoc3RydWN0
IGNub2RlICpjbm9kZSwgdW5zaWduZWQgaW50IGluZGVudCkKLXsKLSAgICBzdHJ1Y3QgcGFyYW1j
bm9kZSAqcGFyYW1jbm9kZSA9ICh2b2lkICopY25vZGU7Ci0gICAgcHJpbnRmKCIlKnM8ZGVmLWFw
aS1mZWF0dXJlLXNldCBpZGVudGlmaWVyPVwiJXNcIj5cbiIsIGluZGVudCwgIiIsIHBhcmFtY25v
ZGUtPm5hbWUpOwotICAgIHByaW50ZigiJSpzPGRlc2NyaXB0aXZlPlxuIiwgaW5kZW50ICsgMiwg
IiIpOwotICAgIG91dHB1dGNoaWxkcmVuKGNub2RlLCBpbmRlbnQgKyAyLCAwKTsKLSAgICBwcmlu
dGYoIiUqczwvZGVzY3JpcHRpdmU+XG4iLCBpbmRlbnQgKyAyLCAiIik7Ci0gICAgcHJpbnRmKCIl
KnM8L2RlZi1hcGktZmVhdHVyZS1zZXQ+XG4iLCBpbmRlbnQsICIiKTsKLX0KLQotLyoqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqCi0gKiBjbm9kZSB0eXBlIGRlZl9hcGlfZmVhdHVyZV9zZXQKLSAqLwotc3RhdGljIGNv
bnN0IHN0cnVjdCBjbm9kZWZ1bmNzIGRlZl9hcGlfZmVhdHVyZV9zZXRfZnVuY3MgPSB7Ci0gICAg
MCwgLyogIWluZGVzYyAqLwotICAgIDEsIC8qIG5lZWRwYXJhICovCi0gICAgJmRlZl9hcGlfZmVh
dHVyZV9zZXRfYXNrZW5kLAotICAgIDAsIC8qIGVuZCAqLwotICAgICZkZWZfYXBpX2ZlYXR1cmVf
c2V0X291dHB1dCwKLX07Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogZGVmX2luc3RhbnRpYXRlZF9h
c2tlbmQgOiBhc2sgaWYgZGVmLWluc3RhbnRpYXRlZCBjbm9kZSB3YW50cyB0byBlbmQgYXQgbmV3
IHBhcmEKLSAqCi0gKiBFbnRlcjogICBjbm9kZSBmb3IgZGVmLWluc3RhbnRpYXRlZAotICogICAg
ICAgICAgdHlwZSA9IGNub2RlZnVuY3MgZm9yIG5ldyBwYXJhICgwIGlmIGh0bWwgYmxvY2sgZWxl
bWVudCkKLSAqCi0gKiBSZXR1cm46ICBub24temVybyB0byBlbmQgdGhlIGRlZi1pbnN0YW50aWF0
ZWQKLSAqLwotc3RhdGljIGludAotZGVmX2luc3RhbnRpYXRlZF9hc2tlbmQoc3RydWN0IGNub2Rl
ICpjbm9kZSwgY29uc3Qgc3RydWN0IGNub2RlZnVuY3MgKnR5cGUpCi17Ci0gICAgLyogQSBkZWYt
aW5zdGFudGlhdGVkIGRvZXMgbm90IGVuZCBhdCBhIHBsYWluIHBhcmEsIGFuIGh0bWwgYmxvY2sg
ZWxlbWVudCwKLSAgICAgKiBhIGJyaWVmIHBhcmEsIG9yIGFuIGFwaS1mZWF0dXJlLiAqLwotICAg
IGlmICghdHlwZSB8fCB0eXBlID09ICZwYXJhX2Z1bmNzIHx8IHR5cGUgPT0gJmFwaV9mZWF0dXJl
X2Z1bmNzIHx8IHR5cGUgPT0gJmJyaWVmX2Z1bmNzKQotICAgICAgICByZXR1cm4gMDsKLSAgICBy
ZXR1cm4gMTsKLX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBkZWZfaW5zdGFudGlhdGVkX291dHB1
dCA6IG91dHB1dCBkZWYtaW5zdGFudGlhdGVkIGNub2RlCi0gKgotICogRW50ZXI6ICAgY25vZGUg
Zm9yIHJvb3QKLSAqICAgICAgICAgIGluZGVudCA9IGluZGVudCAobmVzdGluZykgbGV2ZWwKLSAq
Lwotc3RhdGljIHZvaWQKLWRlZl9pbnN0YW50aWF0ZWRfb3V0cHV0KHN0cnVjdCBjbm9kZSAqY25v
ZGUsIHVuc2lnbmVkIGludCBpbmRlbnQpCi17Ci0gICAgcHJpbnRmKCIlKnM8ZGVmLWluc3RhbnRp
YXRlZD5cbiIsIGluZGVudCwgIiIpOwotICAgIHByaW50ZigiJSpzPGRlc2NyaXB0aXZlPlxuIiwg
aW5kZW50ICsgMiwgIiIpOwotICAgIG91dHB1dGNoaWxkcmVuKGNub2RlLCBpbmRlbnQgKyAyLCAw
KTsKLSAgICBwcmludGYoIiUqczwvZGVzY3JpcHRpdmU+XG4iLCBpbmRlbnQgKyAyLCAiIik7Ci0g
ICAgcHJpbnRmKCIlKnM8L2RlZi1pbnN0YW50aWF0ZWQ+XG4iLCBpbmRlbnQsICIiKTsKLX0KLQot
LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqCi0gKiBjbm9kZSB0eXBlIGRlZl9pbnN0YW50aWF0ZWQKLSAqLwotc3Rh
dGljIGNvbnN0IHN0cnVjdCBjbm9kZWZ1bmNzIGRlZl9pbnN0YW50aWF0ZWRfZnVuY3MgPSB7Ci0g
ICAgMCwgLyogIWluZGVzYyAqLwotICAgIDEsIC8qIG5lZWRwYXJhICovCi0gICAgJmRlZl9pbnN0
YW50aWF0ZWRfYXNrZW5kLAotICAgIDAsIC8qIGVuZCAqLwotICAgICZkZWZfaW5zdGFudGlhdGVk
X291dHB1dCwKLX07Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogZGVmX2RldmljZV9jYXBfYXNrZW5k
IDogYXNrIGlmIGRlZi1kZXZpY2UtY2FwIGNub2RlIHdhbnRzIHRvIGVuZCBhdCBuZXcgcGFyYQot
ICoKLSAqIEVudGVyOiAgIGNub2RlIGZvciBkZWYtZGV2aWNlLWNhcAotICogICAgICAgICAgdHlw
ZSA9IGNub2RlZnVuY3MgZm9yIG5ldyBwYXJhICgwIGlmIGh0bWwgYmxvY2sgZWxlbWVudCkKLSAq
Ci0gKiBSZXR1cm46ICBub24temVybyB0byBlbmQgdGhlIGRlZi1kZXZpY2UtY2FwCi0gKi8KLXN0
YXRpYyBpbnQKLWRlZl9kZXZpY2VfY2FwX2Fza2VuZChzdHJ1Y3QgY25vZGUgKmNub2RlLCBjb25z
dCBzdHJ1Y3QgY25vZGVmdW5jcyAqdHlwZSkKLXsKLSAgICAvKiBBIGRlZi1kZXZpY2UtY2FwIGRv
ZXMgbm90IGVuZCBhdCBhIHBsYWluIHBhcmEsIGFuIGh0bWwgYmxvY2sgZWxlbWVudCwKLSAgICAg
KiBhIFxicmllZiBwYXJhLCBvciBhIHBhcmFtLiAqLwotICAgIGlmICghdHlwZSB8fCB0eXBlID09
ICZwYXJhX2Z1bmNzIHx8IHR5cGUgPT0gJnBhcmFtX2Z1bmNzIHx8IHR5cGUgPT0gJmJyaWVmX2Z1
bmNzKQotICAgICAgICByZXR1cm4gMDsKLSAgICByZXR1cm4gMTsKLX0KLQotLyoqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqCi0gKiBkZWZfZGV2aWNlX2NhcF9vdXRwdXQgOiBvdXRwdXQgZGVmX2RldmljZS1jYXAgY25v
ZGUKLSAqCi0gKiBFbnRlcjogICBjbm9kZSBmb3Igcm9vdAotICogICAgICAgICAgaW5kZW50ID0g
aW5kZW50IChuZXN0aW5nKSBsZXZlbAotICovCi1zdGF0aWMgdm9pZAotZGVmX2RldmljZV9jYXBf
b3V0cHV0KHN0cnVjdCBjbm9kZSAqY25vZGUsIHVuc2lnbmVkIGludCBpbmRlbnQpCi17Ci0gICAg
c3RydWN0IHBhcmFtY25vZGUgKnBhcmFtY25vZGUgPSAodm9pZCAqKWNub2RlOwotICAgIHByaW50
ZigiJSpzPGRlZi1kZXZpY2UtY2FwIGlkZW50aWZpZXI9XCIlc1wiPlxuIiwgaW5kZW50LCAiIiwg
cGFyYW1jbm9kZS0+bmFtZSk7Ci0gICAgcHJpbnRmKCIlKnM8ZGVzY3JpcHRpdmU+XG4iLCBpbmRl
bnQgKyAyLCAiIik7Ci0gICAgb3V0cHV0Y2hpbGRyZW4oY25vZGUsIGluZGVudCArIDIsIDApOwot
ICAgIHByaW50ZigiJSpzPC9kZXNjcmlwdGl2ZT5cbiIsIGluZGVudCArIDIsICIiKTsKLSAgICBw
cmludGYoIiUqczwvZGVmLWRldmljZS1jYXA+XG4iLCBpbmRlbnQsICIiKTsKLX0KLQotLyoqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqCi0gKiBjbm9kZSB0eXBlIGRlZl9kZXZpY2VfY2FwCi0gKi8KLXN0YXRpYyBjb25z
dCBzdHJ1Y3QgY25vZGVmdW5jcyBkZWZfZGV2aWNlX2NhcF9mdW5jcyA9IHsKLSAgICAwLCAvKiAh
aW5kZXNjICovCi0gICAgMSwgLyogbmVlZHBhcmEgKi8KLSAgICAmZGVmX2RldmljZV9jYXBfYXNr
ZW5kLAotICAgIDAsIC8qIGVuZCAqLwotICAgICZkZWZfZGV2aWNlX2NhcF9vdXRwdXQsCi19Owot
Ci0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioKLSAqIGFkZHRleHQgOiBhZGQgdGV4dCB0byBjdXJyZW50IHRleHQg
bm9kZSwgc3RhcnRpbmcgb25lIGlmIG5lY2Vzc2FyeQotICoKLSAqIEVudGVyOiAgIGNub2RlID0g
Y3VycmVudCBjbm9kZQotICogICAgICAgICAgdGV4dAotICogICAgICAgICAgbGVuID0gbGVuZ3Ro
IG9mIHRleHQKLSAqCi0gKiBSZXR1cm46ICBuZXcgY3VycmVudCBjbm9kZQotICovCi1zdGF0aWMg
c3RydWN0IGNub2RlICoKLWFkZHRleHQoc3RydWN0IGNub2RlICpjbm9kZSwgY29uc3QgY2hhciAq
dGV4dCwgdW5zaWduZWQgaW50IGxlbikKLXsKLSAgICBzdHJ1Y3QgdGV4dGNub2RlICp0ZXh0Y25v
ZGU7Ci0gICAgaWYgKCFsZW4pCi0gICAgICAgIHJldHVybiBjbm9kZTsKLSAgICBpZiAoY25vZGUt
PmZ1bmNzICE9ICZ0ZXh0X2Z1bmNzKSB7Ci0gICAgICAgIC8qIFN0YXJ0IG5ldyB0ZXh0IGNub2Rl
LiAqLwotICAgICAgICB0ZXh0Y25vZGUgPSBtZW1hbGxvYyhzaXplb2Yoc3RydWN0IHRleHRjbm9k
ZSkpOwotICAgICAgICB0ZXh0Y25vZGUtPmNuLmZ1bmNzID0gJnRleHRfZnVuY3M7Ci0gICAgICAg
IGNub2RlID0gc3RhcnRjbm9kZShjbm9kZSwgJnRleHRjbm9kZS0+Y24pOwotICAgIH0KLSAgICB0
ZXh0Y25vZGUgPSAodm9pZCAqKWNub2RlOwotICAgIGRvIHsKLSAgICAgICAgdW5zaWduZWQgY2hh
ciBidWZbMSArIHNpemVvZih2b2lkICopXTsKLSAgICAgICAgdW5zaWduZWQgaW50IHRoaXNsZW4g
PSBsZW47Ci0gICAgICAgIGlmICh0aGlzbGVuID4gMjU1KQotICAgICAgICAgICAgdGhpc2xlbiA9
IDI1NTsKLSAgICAgICAgLyogRW5jb2RlIGEgcmVjb3JkIGFzIGEgc2luZ2xlIGJ5dGUgbGVuZ3Ro
IGZvbGxvd2VkIGJ5IGEgcG9pbnRlci4gKi8KLSAgICAgICAgYnVmWzBdID0gdGhpc2xlbjsKLSAg
ICAgICAgbWVtY3B5KGJ1ZiArIDEsICZ0ZXh0LCBzaXplb2Yodm9pZCAqKSk7Ci0gICAgICAgIC8q
IEFkZCB0byB0aGUgdGV4dCBjbm9kZSdzIGRhdGEuICovCi0gICAgICAgIGlmICh0ZXh0Y25vZGUt
PmxlbiArIHNpemVvZihidWYpID49IHRleHRjbm9kZS0+bWF4KSB7Ci0gICAgICAgICAgICAvKiBO
ZWVkIHRvIHJlYWxsb2NhdGUgKG9yIGFsbG9jYXRlKSBkYXRhIGJ1ZmZlci4gKi8KLSAgICAgICAg
ICAgIHRleHRjbm9kZS0+bWF4ID0gdGV4dGNub2RlLT5tYXggPyAyICogdGV4dGNub2RlLT5tYXgg
OiAxMDI0OwotICAgICAgICAgICAgdGV4dGNub2RlLT5kYXRhID0gbWVtcmVhbGxvYyh0ZXh0Y25v
ZGUtPmRhdGEsIHRleHRjbm9kZS0+bWF4KTsKLSAgICAgICAgfQotICAgICAgICBtZW1jcHkodGV4
dGNub2RlLT5kYXRhICsgdGV4dGNub2RlLT5sZW4sIGJ1Ziwgc2l6ZW9mKGJ1ZikpOwotICAgICAg
ICB0ZXh0Y25vZGUtPmxlbiArPSBzaXplb2YoYnVmKTsKLSAgICAgICAgdGV4dCArPSB0aGlzbGVu
OwotICAgICAgICBsZW4gLT0gdGhpc2xlbjsKLSAgICB9IHdoaWxlIChsZW4pOwotICAgIHJldHVy
biAmdGV4dGNub2RlLT5jbjsKLX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBpc3doaXRlc3BhY2Ug
OiBkZXRlcm1pbmUgaWYgY2hhcmFjdGVyIGlzIHdoaXRlc3BhY2UKLSAqCi0gKiBFbnRlcjogICBj
aCA9IGNoYXJhY3RlcgotICoKLSAqIFJldHVybjogIDEgaWYgd2hpdGVzcGFjZQotICovCi1zdGF0
aWMgaW5saW5lIGludAotaXN3aGl0ZXNwYWNlKGludCBjaCkKLXsKLSAgICB1bnNpZ25lZCBpbnQg
aSA9IGNoIC0gMTsKLSAgICBpZiAoaSA+PSAzMikKLSAgICAgICAgcmV0dXJuIDA7Ci0gICAgcmV0
dXJuIDB4ODAwMDExMDAgPj4gaSAmIDE7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogcGFyc2V3
b3JkIDogcGFyc2UgdGhlIG5leHQgd29yZCwgaWdub3JpbmcgbGVhZGluZyB3aGl0ZXNwYWNlCi0g
KgotICogRW50ZXI6ICAgKnBwID0gdGV4dCBwb2ludGVyCi0gKgotICogUmV0dXJuOiAgMCBlbHNl
IHN0YXJ0IG9mIHdvcmQgKCpwcCB1cGRhdGVkIHRvIGp1c3QgYmV5b25kIGVuZCkKLSAqLwotc3Rh
dGljIGNvbnN0IGNoYXIgKgotcGFyc2V3b3JkKGNvbnN0IGNoYXIgKipwcCkKLXsKLSAgICBjb25z
dCBjaGFyICpwID0gKnBwLCAqd29yZCA9IDA7Ci0gICAgaW50IGNoID0gKnA7Ci0gICAgd2hpbGUg
KGlzd2hpdGVzcGFjZShjaCkpCi0gICAgICAgIGNoID0gKisrcDsKLSAgICB3b3JkID0gcDsKLSAg
ICB3aGlsZSAoKHVuc2lnbmVkKSgoY2ggJiB+MHgyMCkgLSAnQScpIDw9ICdaJyAtICdBJwotICAg
ICAgICAgICAgfHwgKHVuc2lnbmVkKShjaCAtICcwJykgPCAxMCB8fCBjaCA9PSAnXycgfHwgY2gg
PT0gJy4nCi0gICAgICAgICAgICB8fCBjaCA9PSAnOicgfHwgY2ggPT0gJy8nIHx8IGNoID09ICct
JykKLSAgICB7Ci0gICAgICAgIGNoID0gKisrcDsKLSAgICB9Ci0gICAgaWYgKHAgPT0gd29yZCkK
LSAgICAgICAgcmV0dXJuIDA7Ci0gICAgKnBwID0gcDsKLSAgICByZXR1cm4gd29yZDsKLX0KLQot
LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqCi0gKiBEb3h5Z2VuIGNvbW1hbmQgaGFuZGxlcnMKLSAqCi0gKiBFbnRl
cjogICBwID0gdGV4dCBqdXN0IGFmdGVyIGNvbW1hbmQKLSAqICAgICAgICAgICpwY25vZGUgPSBw
b2ludGVyIHRvIGN1cnJlbnQgY25vZGUgc3RydWN0Ci0gKiAgICAgICAgICB0eXBlID0gMCBlbHNl
IGNub2RlZnVuY3MgcG9pbnRlciBmb3IgdHlwZSBvZiBub2RlIHRvIHN0YXJ0Ci0gKiAgICAgICAg
ICBmaWxlbmFtZSwgbGluZW51bSA9IGN1cnJlbnQgZmlsZW5hbWUgYW5kIGxpbmUgbnVtYmVyIChm
b3IgZXJyb3IgcmVwb3J0aW5nKQotICoKLSAqIFJldHVybjogIHAgPSB1cGRhdGVkIGlmIGV4dHJh
IHRleHQgd2FzIGVhdGVuCi0gKgotICogT24gcmV0dXJuLCAqcG5vZGUgaXMgdXBkYXRlZCBpZiBh
bnkgbm9kZSB3YXMgY2xvc2VkIG9yIG9wZW5lZC4KLSAqLwotCi0vKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAq
IERveHlnZW4gY29tbWFuZCBoYW5kbGVyIDogXGIKLSAqLwotc3RhdGljIGNvbnN0IGNoYXIgKgot
ZG94X2IoY29uc3QgY2hhciAqcCwgc3RydWN0IGNub2RlICoqcGNub2RlLCBjb25zdCBzdHJ1Y3Qg
Y25vZGVmdW5jcyAqdHlwZSwKLSAgICAgIGNvbnN0IGNoYXIgKmZpbGVuYW1lLCB1bnNpZ25lZCBp
bnQgbGluZW51bSwgY29uc3QgY2hhciAqY21kbmFtZSkKLXsKLSAgICBzdHJ1Y3QgY25vZGUgKmNu
b2RlID0gKnBjbm9kZTsKLSAgICBjb25zdCBjaGFyICp3b3JkID0gcGFyc2V3b3JkKCZwKTsKLSAg
ICAvKiBTaWxlbnRseSBpZ25vcmUgXGIgd2l0aCBubyBmb2xsb3dpbmcgd29yZC4gKi8KLSAgICBp
ZiAod29yZCkgewotICAgICAgICBzdHJ1Y3QgY25vZGUgKm15Y25vZGU7Ci0gICAgICAgIG15Y25v
ZGUgPSBjbm9kZSA9IHN0YXJ0aHRtbGNub2RlKGNub2RlLCBIVE1MRUxERVNDX0IsIDAsIDAsIGZp
bGVuYW1lLCBsaW5lbnVtKTsKLSAgICAgICAgY25vZGUgPSBhZGR0ZXh0KGNub2RlLCB3b3JkLCBw
IC0gd29yZCk7Ci0gICAgICAgIHdoaWxlIChjbm9kZSAhPSBteWNub2RlKQotICAgICAgICAgICAg
Y25vZGUgPSBlbmRjbm9kZShjbm9kZSk7Ci0gICAgICAgIGNub2RlID0gZW5kY25vZGUoY25vZGUp
OwotICAgIH0KLSAgICAqcGNub2RlID0gY25vZGU7Ci0gICAgcmV0dXJuIHA7Ci19Ci0KLS8qKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKgotICogRG94eWdlbiBjb21tYW5kIGhhbmRsZXIgOiBcbgotICovCi1zdGF0aWMg
Y29uc3QgY2hhciAqCi1kb3hfbihjb25zdCBjaGFyICpwLCBzdHJ1Y3QgY25vZGUgKipwY25vZGUs
IGNvbnN0IHN0cnVjdCBjbm9kZWZ1bmNzICp0eXBlLAotICAgICAgY29uc3QgY2hhciAqZmlsZW5h
bWUsIHVuc2lnbmVkIGludCBsaW5lbnVtLCBjb25zdCBjaGFyICpjbWRuYW1lKQotewotICAgIHN0
cnVjdCBjbm9kZSAqY25vZGUgPSAqcGNub2RlOwotICAgIGNub2RlID0gc3RhcnRodG1sY25vZGUo
Y25vZGUsIEhUTUxFTERFU0NfQlIsIDAsIDAsIGZpbGVuYW1lLCBsaW5lbnVtKTsKLSAgICBjbm9k
ZSA9IGVuZGNub2RlKGNub2RlKTsKLSAgICAqcGNub2RlID0gY25vZGU7Ci0gICAgcmV0dXJuIHA7
Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKgotICogRG94eWdlbiBjb21tYW5kIGhhbmRsZXIgOiBcY29k
ZQotICovCi1zdGF0aWMgY29uc3QgY2hhciAqCi1kb3hfY29kZShjb25zdCBjaGFyICpwLCBzdHJ1
Y3QgY25vZGUgKipwY25vZGUsIGNvbnN0IHN0cnVjdCBjbm9kZWZ1bmNzICp0eXBlLAotICAgICAg
ICAgY29uc3QgY2hhciAqZmlsZW5hbWUsIHVuc2lnbmVkIGludCBsaW5lbnVtLCBjb25zdCBjaGFy
ICpjbWRuYW1lKQotewotICAgICpwY25vZGUgPSBzdGFydHBhcmEoKnBjbm9kZSwgJmNvZGVfZnVu
Y3MpOwotICAgICgqcGNub2RlKS0+ZmlsZW5hbWUgPSBmaWxlbmFtZTsKLSAgICAoKnBjbm9kZSkt
PmxpbmVudW0gPSBsaW5lbnVtOyAvKiBmb3IgcmVwb3J0aW5nIG1pc21hdGNoZWQgXGNvZGUgZXJy
b3IgKi8KLSAgICBpbmNvZGUgPSAxOwotICAgIHJldHVybiBwOwotfQotCi0vKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioKLSAqIERveHlnZW4gY29tbWFuZCBoYW5kbGVyIDogXGVuZGNvZGUKLSAqLwotc3RhdGljIGNv
bnN0IGNoYXIgKgotZG94X2VuZGNvZGUoY29uc3QgY2hhciAqcCwgc3RydWN0IGNub2RlICoqcGNu
b2RlLCBjb25zdCBzdHJ1Y3QgY25vZGVmdW5jcyAqdHlwZSwKLSAgICAgICAgICAgIGNvbnN0IGNo
YXIgKmZpbGVuYW1lLCB1bnNpZ25lZCBpbnQgbGluZW51bSwgY29uc3QgY2hhciAqY21kbmFtZSkK
LXsKLSAgICBpbmNvZGUgPSAwOwotICAgICpwY25vZGUgPSBlbmRzcGVjaWZpY2Nub2RlKCpwY25v
ZGUsICZjb2RlX2Z1bmNzLCBmaWxlbmFtZSwgbGluZW51bSk7Ci0gICAgcmV0dXJuIHA7Ci19Ci0K
LS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKgotICogRG94eWdlbiBjb21tYW5kIGhhbmRsZXIgOiBccGFyYW0KLSAq
Lwotc3RhdGljIGNvbnN0IGNoYXIgKgotZG94X3BhcmFtKGNvbnN0IGNoYXIgKnAsIHN0cnVjdCBj
bm9kZSAqKnBjbm9kZSwgY29uc3Qgc3RydWN0IGNub2RlZnVuY3MgKnR5cGUsCi0gICAgICAgICAg
Y29uc3QgY2hhciAqZmlsZW5hbWUsIHVuc2lnbmVkIGludCBsaW5lbnVtLCBjb25zdCBjaGFyICpj
bWRuYW1lKQotewotICAgIHN0cnVjdCBjbm9kZSAqY25vZGUgPSAqcGNub2RlOwotICAgIHVuc2ln
bmVkIGludCBpbm91dCA9IDA7Ci0gICAgY29uc3QgY2hhciAqd29yZDsKLSAgICAvKiBDaGVjayBm
b3IgImluIiwgIm91dCIgb3IgYm90aCBhcyBhdHRyaWJ1dGVzLiAqLwotICAgIGlmICgqcCA9PSAn
WycpIHsKLSAgICAgICAgZm9yICg7OykgewotICAgICAgICAgICAgcCsrOwotICAgICAgICAgICAg
aWYgKCFtZW1jbXAocCwgImluIiwgMikpIHsKLSAgICAgICAgICAgICAgICBpbm91dCB8PSAxOwot
ICAgICAgICAgICAgICAgIHAgKz0gMjsKLSAgICAgICAgICAgIH0gZWxzZSBpZiAoIW1lbWNtcChw
LCAib3V0IiwgMykpIHsKLSAgICAgICAgICAgICAgICBpbm91dCB8PSAyOwotICAgICAgICAgICAg
ICAgIHAgKz0gMzsKLSAgICAgICAgICAgIH0gZWxzZQotICAgICAgICAgICAgICAgIGJyZWFrOwot
ICAgICAgICAgICAgaWYgKCpwICE9ICcsJykKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAg
ICAgfQotICAgICAgICBpZiAoKnAgIT0gJ10nKQotICAgICAgICAgICAgbG9jZXJyb3JleGl0KGZp
bGVuYW1lLCBsaW5lbnVtLCAiYmFkIGF0dHJpYnV0ZXMgb24gXFxwYXJhbSIpOwotICAgICAgICBw
Kys7Ci0gICAgfQotICAgIC8qIEdldCB0aGUgbmV4dCB3b3JkIGFzIHRoZSBwYXJhbWV0ZXIgbmFt
ZS4gKi8KLSAgICB3b3JkID0gcGFyc2V3b3JkKCZwKTsKLSAgICBpZiAoIXdvcmQpCi0gICAgICAg
IGxvY2Vycm9yZXhpdChmaWxlbmFtZSwgbGluZW51bSwgImV4cGVjdGVkIHdvcmQgYWZ0ZXIgXFxw
YXJhbSIpOwotICAgIC8qIENsb3NlIGFueSBvcGVuIG5vZGVzLiAqLwotICAgIHdoaWxlICgoKmNu
b2RlLT5mdW5jcy0+YXNrZW5kKShjbm9kZSwgdHlwZSkpCi0gICAgICAgIGNub2RlID0gZW5kY25v
ZGUoY25vZGUpOwotICAgIC8qIENyZWF0ZSBhIG5ldyBwYXJhbSBjbm9kZS4gKi8KLSAgICBjbm9k
ZSA9IHN0YXJ0cGFyYW1jbm9kZShjbm9kZSwgd29yZCwgcCAtIHdvcmQsIGlub3V0LCB0eXBlKTsK
LSAgICBjbm9kZS0+ZmlsZW5hbWUgPSBmaWxlbmFtZTsKLSAgICBjbm9kZS0+bGluZW51bSA9IGxp
bmVudW07Ci0gICAgKnBjbm9kZSA9IGNub2RlOwotICAgIHJldHVybiBwOwotfQotCi0vKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioKLSAqIERveHlnZW4gY29tbWFuZCBoYW5kbGVyIDogXGJyaWVmLCBccmV0dXJuCi0g
Ki8KLXN0YXRpYyBjb25zdCBjaGFyICoKLWRveF9wYXJhKGNvbnN0IGNoYXIgKnAsIHN0cnVjdCBj
bm9kZSAqKnBjbm9kZSwgY29uc3Qgc3RydWN0IGNub2RlZnVuY3MgKnR5cGUsCi0gICAgICAgICBj
b25zdCBjaGFyICpmaWxlbmFtZSwgdW5zaWduZWQgaW50IGxpbmVudW0sIGNvbnN0IGNoYXIgKmNt
ZG5hbWUpCi17Ci0gICAgKnBjbm9kZSA9IHN0YXJ0cGFyYSgqcGNub2RlLCB0eXBlKTsKLSAgICBy
ZXR1cm4gcDsKLX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBEb3h5Z2VuIGNvbW1hbmQgaGFuZGxl
ciA6IFx0aHJvdwotICovCi1zdGF0aWMgY29uc3QgY2hhciAqCi1kb3hfdGhyb3coY29uc3QgY2hh
ciAqcCwgc3RydWN0IGNub2RlICoqcGNub2RlLCBjb25zdCBzdHJ1Y3QgY25vZGVmdW5jcyAqdHlw
ZSwKLSAgICAgICAgICBjb25zdCBjaGFyICpmaWxlbmFtZSwgdW5zaWduZWQgaW50IGxpbmVudW0s
IGNvbnN0IGNoYXIgKmNtZG5hbWUpCi17Ci0gICAgc3RydWN0IGNub2RlICpjbm9kZSA9ICpwY25v
ZGU7Ci0gICAgY29uc3QgY2hhciAqd29yZDsKLSAgICAvKiBHZXQgdGhlIG5leHQgd29yZCBhcyB0
aGUgZXhjZXB0aW9uIG5hbWUuICovCi0gICAgd29yZCA9IHBhcnNld29yZCgmcCk7Ci0gICAgaWYg
KCF3b3JkKQotICAgICAgICBsb2NlcnJvcmV4aXQoZmlsZW5hbWUsIGxpbmVudW0sICJleHBlY3Rl
ZCB3b3JkIGFmdGVyIFxcdGhyb3ciKTsKLSAgICAvKiBDbG9zZSBhbnkgb3BlbiBub2Rlcy4gKi8K
LSAgICB3aGlsZSAoKCpjbm9kZS0+ZnVuY3MtPmFza2VuZCkoY25vZGUsIHR5cGUpKQotICAgICAg
ICBjbm9kZSA9IGVuZGNub2RlKGNub2RlKTsKLSAgICAvKiBDcmVhdGUgYSBuZXcgdGhyb3cgY25v
ZGUuICovCi0gICAgY25vZGUgPSBzdGFydHBhcmFtY25vZGUoY25vZGUsIHdvcmQsIHAgLSB3b3Jk
LCAwLCB0eXBlKTsKLSAgICBjbm9kZS0+ZmlsZW5hbWUgPSBmaWxlbmFtZTsKLSAgICBjbm9kZS0+
bGluZW51bSA9IGxpbmVudW07Ci0gICAgKnBjbm9kZSA9IGNub2RlOwotICAgIHJldHVybiBwOwot
fQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioKLSAqIERveHlnZW4gY29tbWFuZCBoYW5kbGVyIDogXGxhbmcK
LSAqLwotc3RhdGljIGNvbnN0IGNoYXIgKgotZG94X2F0dHIoY29uc3QgY2hhciAqcCwgc3RydWN0
IGNub2RlICoqcGNub2RlLCBjb25zdCBzdHJ1Y3QgY25vZGVmdW5jcyAqdHlwZSwKLSAgICAgICAg
ICBjb25zdCBjaGFyICpmaWxlbmFtZSwgdW5zaWduZWQgaW50IGxpbmVudW0sIGNvbnN0IGNoYXIg
KmNtZG5hbWUpCi17Ci0gIHN0cnVjdCBjbm9kZSAqY25vZGUgPSAqcGNub2RlOwotICAgIGNvbnN0
IGNoYXIgKndvcmQ7Ci0gICAgaW50IGxlbiwgd29yZGxlbiwgb2Zmc2V0ID0gMDsKLQljaGFyICph
dHRydGV4dDsKLSAgICAvKiBHZXQgdGhlIG5leHQgd29yZCBhcyB0aGUgYXR0cmlidXRlIHZhbHVl
LiAqLwotICAgIHdvcmQgPSBwYXJzZXdvcmQoJnApOwotICAgIGlmICghd29yZCkKLSAgICAgICAg
bG9jZXJyb3JleGl0KGZpbGVuYW1lLCBsaW5lbnVtLCAiZXhwZWN0ZWQgd29yZCBhZnRlciBcXCVz
IiwgY21kbmFtZSk7Ci0KLQlsZW4gPSBzdHJsZW4oY21kbmFtZSkgKyAod29yZGxlbiA9IHAtd29y
ZCkgKyA0OyAvKiBwPSJ3b3JkIlwwICovCi0JaWYoY25vZGUtPmF0dHJ0ZXh0KQotCSAgbGVuICs9
IChvZmZzZXQgPSBzdHJsZW4oY25vZGUtPmF0dHJ0ZXh0KSkgKyAxOyAvKiBhZGQgc3BhY2UgZm9y
IHNwYWNlICovCi0JYXR0cnRleHQgPSBtZW1hbGxvYyhsZW4pOwotCWlmKG9mZnNldCkgewotCQlt
ZW1jcHkoYXR0cnRleHQsIGNub2RlLT5hdHRydGV4dCwgb2Zmc2V0KTsKLQkJYXR0cnRleHRbb2Zm
c2V0KytdID0gJyAnOwotCQltZW1mcmVlKCgodm9pZCopY25vZGUtPmF0dHJ0ZXh0KSk7Ci0JfQot
CW9mZnNldCArPSBzcHJpbnRmKCZhdHRydGV4dFtvZmZzZXRdLCAiJXM9XCIiLCBjbWRuYW1lKTsK
LQltZW1jcHkoJmF0dHJ0ZXh0W29mZnNldF0sIHdvcmQsIHdvcmRsZW4pOwotCXN0cmNweSgmYXR0
cnRleHRbb2Zmc2V0ICsgd29yZGxlbl0sICJcIiIpOwotCWNub2RlLT5hdHRydGV4dCA9IGF0dHJ0
ZXh0OwotCS8qIHNraXAgZGVsaW1pdGVyIGJlY2F1c2UgaXQgd29uJ3QgYmUgZG9uZSBvdGhlcndp
c2UgKi8KLQlpZihpbmNvZGUgJiYgaXN3aGl0ZXNwYWNlKCpwKSkgKytwOwotICAgIHJldHVybiBw
OwotfQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioKLSAqIGNvbW1hbmRzIDogdGFibGUgb2YgRG94eWdlbiBj
b21tYW5kcwotICovCi1zdHJ1Y3QgY29tbWFuZCB7Ci0gICAgY29uc3QgY2hhciAqKCpmdW5jKShj
b25zdCBjaGFyICpwLCBzdHJ1Y3QgY25vZGUgKipwY25vZGUsIGNvbnN0IHN0cnVjdCBjbm9kZWZ1
bmNzICp0eXBlLCBjb25zdCBjaGFyICpmaWxlbmFtZSwgdW5zaWduZWQgaW50IGxpbmVudW0sIGNv
bnN0IGNoYXIgKmNtZG5hbWUpOwotICAgIGNvbnN0IHN0cnVjdCBjbm9kZWZ1bmNzICp0eXBlOwot
ICAgIHVuc2lnbmVkIGludCBuYW1lbGVuOwotICAgIGNvbnN0IGNoYXIgKm5hbWU7Ci19Owotc3Rh
dGljIGNvbnN0IHN0cnVjdCBjb21tYW5kIGNvbW1hbmRzW10gPSB7Ci0gICAgeyAmZG94X3Rocm93
LCAmZGVmX2FwaV9mZWF0dXJlX2Z1bmNzLCAxNSwgImRlZi1hcGktZmVhdHVyZSIgfSwKLSAgICB7
ICZkb3hfdGhyb3csICZkZWZfYXBpX2ZlYXR1cmVfc2V0X2Z1bmNzLCAxOSwgImRlZi1hcGktZmVh
dHVyZS1zZXQiIH0sCi0gICAgeyAmZG94X3BhcmEsICZkZWZfaW5zdGFudGlhdGVkX2Z1bmNzLCAx
NiwgImRlZi1pbnN0YW50aWF0ZWQiIH0sCi0gICAgeyAmZG94X3BhcmEsICZuYW1lX2Z1bmNzLCA0
LCAibmFtZSIgfSwKLSAgICB7ICZkb3hfcGFyYSwgJmF1dGhvcl9mdW5jcywgNiwgImF1dGhvciIg
fSwKLSAgICB7ICZkb3hfYiwgMCwgMSwgImIiIH0sCi0gICAgeyAmZG94X3BhcmEsICZicmllZl9m
dW5jcywgNSwgImJyaWVmIiB9LAotICAgIHsgJmRveF9jb2RlLCAwLCA0LCAiY29kZSIgfSwKLSAg
ICB7ICZkb3hfdGhyb3csICZkZWZfZGV2aWNlX2NhcF9mdW5jcywgMTQsICJkZWYtZGV2aWNlLWNh
cCIgfSwKLSAgICB7ICZkb3hfYXR0ciwgMCwgNCwgImxhbmciIH0sCi0gICAgeyAmZG94X2VuZGNv
ZGUsIDAsIDcsICJlbmRjb2RlIiB9LAotICAgIHsgJmRveF9uLCAwLCAxLCAibiIgfSwKLSAgICB7
ICZkb3hfcGFyYW0sICZwYXJhbV9mdW5jcywgNSwgInBhcmFtIiB9LAotICAgIHsgJmRveF9wYXJh
LCAmcmV0dXJuX2Z1bmNzLCA2LCAicmV0dXJuIiB9LAotICAgIHsgJmRveF90aHJvdywgJnRocm93
X2Z1bmNzLCA1LCAidGhyb3ciIH0sCi0gICAgeyAmZG94X3Rocm93LCAmYXBpX2ZlYXR1cmVfZnVu
Y3MsIDExLCAiYXBpLWZlYXR1cmUiIH0sCi0gICAgeyAmZG94X3Rocm93LCAmZGV2aWNlX2NhcF9m
dW5jcywgMTAsICJkZXZpY2UtY2FwIiB9LAotICAgIHsgJmRveF9wYXJhLCAmdmVyc2lvbl9mdW5j
cywgNywgInZlcnNpb24iIH0sCi0gICAgeyAwLCAwLCAwIH0KLX07Ci0KLS8qKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KgotICogcGFyc2VodG1sdGFnIDogcGFyc2UgaHRtbCB0YWcKLSAqCi0gKiBFbnRlcjogICBzdGFy
dCA9IHN0YXJ0IG9mIHRhZywgdGhlICc8JyBjaGFyCi0gKiAgICAgICAgICAqcGNub2RlID0gY3Vy
cmVudCBjbm9kZQotICogICAgICAgICAgZmlsZW5hbWUgPSBmaWxlbmFtZQotICogICAgICAgICAg
KnBsaW5lbnVtID0gY3VycmVudCBsaW5lIG51bWJlcgotICoKLSAqIFJldHVybjogIGp1c3QgYWZ0
ZXIgdGhlIHRhZwotICogICAgICAgICAgKnBjbm9kZSBhbmQgKnBsaW5lbnVtIHVwZGF0ZWQgaWYg
YXBwbGljYWJsZQotICovCi1zdGF0aWMgY29uc3QgY2hhciAqCi1wYXJzZWh0bWx0YWcoY29uc3Qg
Y2hhciAqc3RhcnQsIHN0cnVjdCBjbm9kZSAqKnBjbm9kZSwKLSAgICAgICAgICAgICBjb25zdCBj
aGFyICpmaWxlbmFtZSwgdW5zaWduZWQgaW50ICpwbGluZW51bSkKLXsKLSAgICBzdHJ1Y3QgY25v
ZGUgKmNub2RlID0gKnBjbm9kZTsKLSAgICBjb25zdCBjaGFyICplbmQgPSBzdGFydCArIDEsICpl
bmRuYW1lID0gMCwgKm5hbWUgPSBlbmQ7Ci0gICAgaW50IGNoID0gKmVuZDsKLSAgICBpbnQgcXVv
dGUgPSAwOwotICAgIGludCBjbG9zZSA9IDA7Ci0gICAgdW5zaWduZWQgaW50IGxpbmVudW0gPSAq
cGxpbmVudW07Ci0gICAgY29uc3Qgc3RydWN0IGh0bWxlbGRlc2MgKmh0bWxlbGRlc2M7Ci0gICAg
aWYgKGNoID09ICcvJykgewotICAgICAgICBjbG9zZSA9IDE7Ci0gICAgICAgIGNoID0gKisrZW5k
OwotICAgICAgICBuYW1lID0gZW5kOwotICAgIH0KLSAgICAvKiBGaW5kIHRoZSBlbmQgb2YgdGhl
IHRhZy4gKi8KLSAgICBmb3IgKDs7KSB7Ci0gICAgICAgIGlmICghY2gpCi0gICAgICAgICAgICBs
b2NlcnJvcmV4aXQoZmlsZW5hbWUsICpwbGluZW51bSwgInVudGVybWluYXRlZCBIVE1MIHRhZyIp
OwotICAgICAgICBpZiAoY2ggPT0gJ1xuJykKLSAgICAgICAgICAgIGxpbmVudW0rKzsKLSAgICAg
ICAgZWxzZSBpZiAoaXN3aGl0ZXNwYWNlKGNoKSB8fCBjaCA9PSAnLycpIHsKLSAgICAgICAgICAg
IGlmICghZW5kbmFtZSkKLSAgICAgICAgICAgICAgICBlbmRuYW1lID0gZW5kOwotICAgICAgICB9
IGVsc2UgaWYgKCFxdW90ZSkgewotICAgICAgICAgICAgaWYgKGNoID09ICciJyB8fCBjaCA9PSAn
XCcnKQotICAgICAgICAgICAgICAgIHF1b3RlID0gY2g7Ci0gICAgICAgICAgICBlbHNlIGlmIChj
aCA9PSAnPicpCi0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAg
ICAgICAgICBpZiAoY2ggPT0gcXVvdGUpCi0gICAgICAgICAgICAgICAgcXVvdGUgPSAwOwotICAg
ICAgICB9Ci0gICAgICAgIGNoID0gKisrZW5kOwotICAgIH0KLSAgICBpZiAoIWVuZG5hbWUpCi0g
ICAgICAgIGVuZG5hbWUgPSBlbmQ7Ci0gICAgZW5kKys7Ci0gICAgLyogU2VlIGlmIGl0J3MgYW4g
eG1sIG9wZW4tY2xvc2UgdGFnLiAqLwotICAgIGlmICghY2xvc2UgJiYgZW5kbmFtZSAhPSBuYW1l
ICYmIGVuZFstMl0gPT0gJy8nKQotICAgICAgICBjbG9zZSA9IDI7Ci0gICAgLyogRmluZCB0aGUg
dGFnIGZyb20gb3VyIGxpc3QuICovCi0gICAgaHRtbGVsZGVzYyA9IGh0bWxlbGRlc2NzOwotICAg
IGZvciAoOzspIHsKLSAgICAgICAgaWYgKCFodG1sZWxkZXNjLT5uYW1lbGVuKSB7Ci0gICAgICAg
ICAgICBsb2NlcnJvcmV4aXQoZmlsZW5hbWUsICpwbGluZW51bSwgInVucmVjb2duaXplZCBIVE1M
IHRhZyAlLipzIiwKLSAgICAgICAgICAgICAgICAgICAgZW5kIC0gc3RhcnQsIHN0YXJ0KTsKLSAg
ICAgICAgfQotICAgICAgICBpZiAoaHRtbGVsZGVzYy0+bmFtZWxlbiA9PSBlbmRuYW1lIC0gbmFt
ZQotICAgICAgICAgICAgICAgICYmICFzdHJuY2FzZWNtcChodG1sZWxkZXNjLT5uYW1lLCBuYW1l
LCBlbmRuYW1lIC0gbmFtZSkpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAg
ICB9Ci0gICAgICAgIGh0bWxlbGRlc2MrKzsKLSAgICB9Ci0gICAgaWYgKGNsb3NlID09IDEpIHsK
LSAgICAgICAgLyogQ2xvc2luZyB0YWcuIEZpbmQgb3BlbiBlbGVtZW50IHRvIGNsb3NlLiAqLwot
ICAgICAgICBmb3IgKDs7KSB7Ci0gICAgICAgICAgICBzdHJ1Y3QgaHRtbGNub2RlICpodG1sY25v
ZGU7Ci0gICAgICAgICAgICBpZiAoY25vZGUtPmZ1bmNzICE9ICZ0ZXh0X2Z1bmNzKSB7Ci0gICAg
ICAgICAgICAgICAgaWYgKGNub2RlLT5mdW5jcyAhPSAmaHRtbF9mdW5jcykgewotICAgICAgICAg
ICAgICAgICAgICBsb2NlcnJvcmV4aXQoZmlsZW5hbWUsICpwbGluZW51bSwgIm1pc21hdGNoZWQg
JS4qcyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5kIC0gc3RhcnQsIHN0YXJ0KTsK
LSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgaHRtbGNub2RlID0gKHN0cnVjdCBo
dG1sY25vZGUgKiljbm9kZTsKLSAgICAgICAgICAgICAgICBpZiAoaHRtbGNub2RlLT5kZXNjID09
IGh0bWxlbGRlc2MpCi0gICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgICAg
IGlmICghKGh0bWxjbm9kZS0+ZGVzYy0+ZmxhZ3MgJiBIVE1MRUxfQVVUT0NMT1NFKSkgewotICAg
ICAgICAgICAgICAgICAgICBsb2NlcnJvcmV4aXQoZmlsZW5hbWUsIGh0bWxjbm9kZS0+Y24ubGlu
ZW51bSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAibWlzbWF0Y2hlZCA8JS4qcz4iLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGh0bWxjbm9kZS0+ZGVzYy0+bmFtZWxlbiwgaHRt
bGNub2RlLT5kZXNjLT5uYW1lKTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB9Ci0g
ICAgICAgICAgICBjbm9kZSA9IGVuZGNub2RlKGNub2RlKTsKLSAgICAgICAgfQotICAgICAgICBj
bm9kZSA9IGVuZGNub2RlKGNub2RlKTsKLSAgICB9IGVsc2UgewotICAgICAgICAvKiBPcGVuaW5n
IHRhZy4gKi8KLSAgICAgIGlmIChjbG9zZSAhPTIpCi0JICAgY25vZGUgPSBzdGFydGh0bWxjbm9k
ZShjbm9kZSwgaHRtbGVsZGVzYywgZW5kbmFtZSwgZW5kIC0gMSAtIGVuZG5hbWUsIGZpbGVuYW1l
LCAqcGxpbmVudW0pOwotICAgICAgZWxzZSAvLyBkb24ndCBpbmNsdWRlIHRoZSBjbG9zaW5nICIv
IiBpbiB0aGUgYXR0cmlidXRlcyBsaXN0Ci0JICAgY25vZGUgPSBzdGFydGh0bWxjbm9kZShjbm9k
ZSwgaHRtbGVsZGVzYywgZW5kbmFtZSwgZW5kIC0gMiAtIGVuZG5hbWUsIGZpbGVuYW1lLCAqcGxp
bmVudW0pOwotICAgICAgaWYgKGNsb3NlID09IDIgfHwgKGh0bWxlbGRlc2MtPmNvbnRlbnQgJiBI
VE1MRUxfRU1QVFkpKSB7Ci0JLyogRW1wdHkgZWxlbWVudCAtLSBjbG9zZSBpdCBhZ2Fpbi4gKi8K
LQljbm9kZSA9IGVuZGNub2RlKGNub2RlKTsKLSAgICAgIH0KLSAgICB9Ci0gICAgKnBjbm9kZSA9
IGNub2RlOwotICAgICpwbGluZW51bSA9IGxpbmVudW07Ci0gICAgcmV0dXJuIGVuZDsKLX0KLQot
LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqCi0gKiBwYXJzZWNvbW1lbnQgOiBwYXJzZSBvbmUgY29tbWVudAotICoK
LSAqIEVudGVyOiAgIGNvbW1lbnQgc3RydWN0Ci0gKi8KLXN0YXRpYyB2b2lkCi1wYXJzZWNvbW1l
bnQoc3RydWN0IGNvbW1lbnQgKmNvbW1lbnQpCi17Ci0gICAgc3RydWN0IGNub2RlICpjbm9kZSA9
ICZjb21tZW50LT5yb290OwotICAgIGNvbnN0IGNoYXIgKnAgPSBjb21tZW50LT50ZXh0ICsgY29t
bWVudC0+YmFjazsKLSAgICB1bnNpZ25lZCBpbnQgbGluZW51bSA9IGNvbW1lbnQtPmxpbmVudW0g
LSAxOwotICAgIGludCBjaDsKLSAgICBjdXJjb21tZW50ID0gY29tbWVudDsKLSAgICBpbmNvZGUg
PSAwOwotICAgIGluaHRtbGJsb2NrID0gMDsKLSAgICBjbm9kZS0+ZnVuY3MgPSAmcm9vdF9mdW5j
czsKLSAgICBmb3IgKDs7KSB7Ci0gICAgICAgIC8qIFN0YXJ0IG9mIG5ldyBsaW5lLiAqLwotICAg
ICAgICBjb25zdCBjaGFyICpzdGFydHRleHQ7Ci0gICAgICAgIGNoID0gKnA7Ci0gICAgICAgIGxp
bmVudW0rKzsKLSAgICAgICAgewotICAgICAgICAgICAgLyogRmluZCBmaXJzdCBub24td2hpdGVz
cGFjZSBjaGFyYWN0ZXIuICovCi0gICAgICAgICAgICBjb25zdCBjaGFyICpwMiA9IHA7Ci0gICAg
ICAgICAgICBpbnQgY2gyID0gY2g7Ci0gICAgICAgICAgICB3aGlsZSAoaXN3aGl0ZXNwYWNlKGNo
MikpCi0gICAgICAgICAgICAgICAgY2gyID0gKisrcDI7Ci0gICAgICAgICAgICBpZiAoY29tbWVu
dC0+dHlwZSA9PSBUT0tfQkxPQ0tDT01NRU5UICYmIGNoMiA9PSAnKicpIHsKLSAgICAgICAgICAg
ICAgICAvKiBJZ25vcmUgaW5pdGlhbCAqIGluIGJsb2NrIGNvbW1lbnQgKGV2ZW4gaW4gXGNvZGUg
YmxvY2spLiAqLwotICAgICAgICAgICAgICAgIGNoMiA9ICorK3AyOwotICAgICAgICAgICAgICAg
IGNoID0gY2gyOwotICAgICAgICAgICAgICAgIHAgPSBwMjsKLSAgICAgICAgICAgICAgICBpZiAo
Y2ggPT0gJyonKQotICAgICAgICAgICAgICAgICAgICBnb3RvIGNoZWNrZm9ybGluZW9mc3RhcnM7
Ci0gICAgICAgICAgICAgICAgd2hpbGUgKGlzd2hpdGVzcGFjZShjaDIpKQotICAgICAgICAgICAg
ICAgICAgICBjaDIgPSAqKytwMjsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGlmIChjb21t
ZW50LT50eXBlID09IFRPS19JTkxJTkVDT01NRU5UICYmIGNoMiA9PSAnLycpIHsKLWNoZWNrZm9y
bGluZW9mc3RhcnM6Ci0gICAgICAgICAgICAgICAgaWYgKCFpbmNvZGUpIHsKLSAgICAgICAgICAg
ICAgICAgICAgLyogSWdub3JlIHdob2xlIGxpbmUgb2YgKiBmb3IgYmxvY2sgY29tbWVudCBvciAv
IGZvciBpbmxpbmUKLSAgICAgICAgICAgICAgICAgICAgICogY29tbWVudCBpZiB0aGF0IGlzIHRo
ZSBvbmx5IHRoaW5nIG9uIHRoZSBsaW5lLiAqLwotICAgICAgICAgICAgICAgICAgICBjb25zdCBj
aGFyICpwMyA9IHAyOwotICAgICAgICAgICAgICAgICAgICBpbnQgY2gzOwotICAgICAgICAgICAg
ICAgICAgICBkbyBjaDMgPSAqKytwMzsgd2hpbGUgKGNoMyA9PSBjaDIpOwotICAgICAgICAgICAg
ICAgICAgICB3aGlsZSAoaXN3aGl0ZXNwYWNlKGNoMykpIGNoMyA9ICorK3AzOwotICAgICAgICAg
ICAgICAgICAgICBpZiAoIWNoMyB8fCBjaDMgPT0gJ1xuJykgewotICAgICAgICAgICAgICAgICAg
ICAgICAgLyogUmVhY2hlZCBlbmQgb2YgbGluZSAob3Igd2hvbGUgY29tbWVudCkgLS0gdHJlYXQg
YXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAqIGVtcHR5IGxpbmUuICovCi0gICAgICAgICAg
ICAgICAgICAgICAgICBjaDIgPSBjaDM7Ci0gICAgICAgICAgICAgICAgICAgICAgICBwMiA9IHAz
OwotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAg
fQotICAgICAgICAgICAgaWYgKCFpbmNvZGUpIHsKLSAgICAgICAgICAgICAgICAvKiBPbmx5IGFs
bG93IHdoaXRlc3BhY2Ugb21pc3Npb24gYWJvdmUgdG8gdGFrZSBlZmZlY3QgaWYKLSAgICAgICAg
ICAgICAgICAgKiBub3QgaW4gXGNvZGUgYmxvY2suICovCi0gICAgICAgICAgICAgICAgY2ggPSBj
aDI7Ci0gICAgICAgICAgICAgICAgcCA9IHAyOwotICAgICAgICAgICAgfQotICAgICAgICB9Ci0g
ICAgICAgIGlmICghY2gpIHsKLSAgICAgICAgICAgIC8qIEVuZCBvZiBjb21tZW50cyAtLSBmaW5p
c2guICovCi0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgfQotICAgICAgICBpZiAoIWluY29k
ZSAmJiAhaW5odG1sYmxvY2sgJiYgY2ggPT0gJ1xuJykgewotICAgICAgICAgICAgLyogQmxhbmsg
bGluZSAtLSBmaW5pc2ggYW55IHBhcmEsIGJ1dCBvbmx5IGlmIG5vdCBpbiBjb2RlIGFuZAotICAg
ICAgICAgICAgICogbm90IGluIGFueSBIVE1MIGJsb2NrIGVsZW1lbnQuICovCi0gICAgICAgICAg
ICB3aGlsZSAoKCpjbm9kZS0+ZnVuY3MtPmFza2VuZCkoY25vZGUsIDApKQotICAgICAgICAgICAg
ICAgIGNub2RlID0gZW5kY25vZGUoY25vZGUpOwotICAgICAgICAgICAgcCsrOwotICAgICAgICAg
ICAgY29udGludWU7Ci0gICAgICAgIH0KLSAgICAgICAgLyogU3RhcnQgbmV3IHBhcmEgaWYgdGhl
cmUgaXNuJ3QgYWxyZWFkeSBvbmUgZ29pbmcuICovCi0gICAgICAgIGlmIChjbm9kZS0+ZnVuY3Mt
Pm5lZWRwYXJhKQotICAgICAgICAgICAgY25vZGUgPSBzdGFydHBhcmEoY25vZGUsICZwYXJhX2Z1
bmNzKTsKLSAgICAgICAgLyogUHJvY2VzcyB0ZXh0IG9uIHRoZSBsaW5lLiAqLwotICAgICAgICBz
dGFydHRleHQgPSBwOwotICAgICAgICB3aGlsZSAoY2ggJiYgY2ggIT0gJ1xuJykgewotICAgICAg
ICAgICAgaWYgKGNoICE9ICdcXCcgJiYgY2ggIT0gJzwnIC8qICYmIGNoICE9ICdAJyAqLyAmJiBj
aCAhPSAnJCcKLSAgICAgICAgICAgICAgICAgICAgJiYgY2ggIT0gJyYnICYmIGNoICE9ICdccicp
Ci0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgY2ggPSAqKytwOwotICAgICAgICAgICAg
ICAgIGNvbnRpbnVlOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgLyogT3V0cHV0IGFueSBw
ZW5kaW5nIHRleHQuICovCi0gICAgICAgICAgICBpZiAocCAtIHN0YXJ0dGV4dCkKLSAgICAgICAg
ICAgICAgICBjbm9kZSA9IGFkZHRleHQoY25vZGUsIHN0YXJ0dGV4dCwgcCAtIHN0YXJ0dGV4dCk7
Ci0JICAgIC8qIElnbm9yZSBcciBpbiBET1MgbGluZSByZXR1cm5zICovCi0JICAgIGlmIChjaCA9
PSAnXHInKSB7Ci0JICAgICAgICBjaCA9ICorK3A7Ci0gIAkgICAgICAgIHN0YXJ0dGV4dCA9IHA7
Ci0JCWNvbnRpbnVlOwotCSAgICB9Ci0gICAgICAgICAgICBpZiAoY2ggPT0gJyQnKQotICAgICAg
ICAgICAgICAgIGxvY2Vycm9yZXhpdChjb21tZW50LT5maWxlbmFtZSwgbGluZW51bSwgInVzZSBc
XCQgaW5zdGVhZCBvZiAkIik7Ci0gICAgICAgICAgICAvKiBTZWUgaWYgaXQgaXMgYW4gaHRtbCBu
YW1lZCBlbnRpdHkuICovCi0gICAgICAgICAgICBpZiAoY2ggPT0gJyYnICYmIHBbMV0gIT0gJyMn
KSB7Ci0gICAgICAgICAgICAgICAgY29uc3QgY2hhciAqZW50aXR5ID0gRU5USVRJRVM7Ci0gICAg
ICAgICAgICAgICAgLyogVGhpcyBzZWFyY2ggY291bGQgYmUgZmFzdGVyIGlmIHRoZSBlbnRpdHkg
bmFtZXMgd2VyZSBwdXQKLSAgICAgICAgICAgICAgICAgKiBpbiBhIGhhc2ggdGFibGUgb3Igc29t
ZXRoaW5nLiAqLwotICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKnNlbWljb2xvbiA9IHN0cmNo
cihwLCAnOycpOwotICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBsZW47Ci0gICAgICAgICAg
ICAgICAgaWYgKCFzZW1pY29sb24pCi0gICAgICAgICAgICAgICAgICAgIGxvY2Vycm9yZXhpdChj
b21tZW50LT5maWxlbmFtZSwgbGluZW51bSwgInVudGVybWluYXRlZCBIVE1MIGVudGl0eSIpOwot
ICAgICAgICAgICAgICAgIHArKzsKLSAgICAgICAgICAgICAgICBmb3IgKDs7KSB7Ci0gICAgICAg
ICAgICAgICAgICAgIGxlbiA9IHN0cmxlbihlbnRpdHkpOwotICAgICAgICAgICAgICAgICAgICBp
ZiAoIWxlbikKLSAgICAgICAgICAgICAgICAgICAgICAgIGxvY2Vycm9yZXhpdChjb21tZW50LT5m
aWxlbmFtZSwgbGluZW51bSwgInVucmVjb2duaXNlZCBIVE1MIGVudGl0eSAmJS4qczsiLCBzZW1p
Y29sb24gLSBwLCBwKTsKLSAgICAgICAgICAgICAgICAgICAgaWYgKGxlbiA9PSBzZW1pY29sb24g
LSBwICYmICFtZW1jbXAocCwgZW50aXR5LCBsZW4pKQotICAgICAgICAgICAgICAgICAgICAgICAg
YnJlYWs7Ci0gICAgICAgICAgICAgICAgICAgIGVudGl0eSArPSBsZW4gKyAxOwotICAgICAgICAg
ICAgICAgICAgICBlbnRpdHkgKz0gc3RybGVuKGVudGl0eSkgKyAxOwotICAgICAgICAgICAgICAg
IH0KLSAgICAgICAgICAgICAgICBlbnRpdHkgKz0gbGVuICsgMTsKLSAgICAgICAgICAgICAgICBj
bm9kZSA9IGFkZHRleHQoY25vZGUsIGVudGl0eSwgc3RybGVuKGVudGl0eSkpOwotICAgICAgICAg
ICAgICAgIHAgPSBzZW1pY29sb24gKyAxOwotICAgICAgICAgICAgICAgIGNoID0gKnA7Ci0gICAg
ICAgICAgICAgICAgc3RhcnR0ZXh0ID0gcDsKLSAgICAgICAgICAgICAgICBjb250aW51ZTsKLSAg
ICAgICAgICAgIH0KLSAgICAgICAgICAgIC8qIFNlZSBpZiBpdCBpcyBhIGJhY2tzbGFzaCBlc2Nh
cGUgc2VxdWVuY2UuICovCi0gICAgICAgICAgICBlbHNlIGlmIChjaCA9PSAnXFwnKSB7Ci0gICAg
ICAgICAgICAgICAgY29uc3QgY2hhciAqbWF0Y2ggPSAiXFxAJiQjPD4lIjsKLSAgICAgICAgICAg
ICAgICBjb25zdCBjaGFyICpwb3M7Ci0gICAgICAgICAgICAgICAgY2ggPSBwWzFdOwotICAgICAg
ICAgICAgICAgIHBvcyA9IHN0cmNocihtYXRjaCwgY2gpOwotICAgICAgICAgICAgICAgIGlmIChw
b3MpIHsKLSAgICAgICAgICAgICAgICAgICAgLyogR290IGEgXCBlc2NhcGUgc2VxdWVuY2UuICov
Ci0gICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKnRleHQgPSAKLSAgICAgICAgICAgICAg
ICAgICAgICAgICJcXFwwICAgIEBcMCAgICAmYW1wO1wwJFwwICAgICNcMCAgICAmbHQ7XDAgPlww
ICAgICUiCi0gICAgICAgICAgICAgICAgICAgICAgICArIDYgKiAocG9zIC0gbWF0Y2gpOwotICAg
ICAgICAgICAgICAgICAgICBjbm9kZSA9IGFkZHRleHQoY25vZGUsIHRleHQsIHN0cmxlbih0ZXh0
KSk7Ci0gICAgICAgICAgICAgICAgICAgIHAgKz0gMjsKLSAgICAgICAgICAgICAgICAgICAgY2gg
PSAqcDsKLSAgICAgICAgICAgICAgICAgICAgc3RhcnR0ZXh0ID0gcDsKLSAgICAgICAgICAgICAg
ICAgICAgY29udGludWU7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgfSBlbHNlIGlm
IChjaCA9PSAnPCcpIHsKLSAgICAgICAgICAgICAgICBpZiAoaW5jb2RlKSB7Ci0gICAgICAgICAg
ICAgICAgICAgIGNoID0gKisrcDsKLSAgICAgICAgICAgICAgICAgICAgc3RhcnR0ZXh0ID0gcDsK
LSAgICAgICAgICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAgICAgICAgfQotICAgICAg
ICAgICAgICAgIC8qIEl0J3MgYW4gaHRtbCB0YWcuICovCi0gICAgICAgICAgICAgICAgcCA9IHBh
cnNlaHRtbHRhZyhwLCAmY25vZGUsIGNvbW1lbnQtPmZpbGVuYW1lLCAmbGluZW51bSk7Ci0gICAg
ICAgICAgICAgICAgY2ggPSAqcDsKLSAgICAgICAgICAgICAgICBzdGFydHRleHQgPSBwOwotICAg
ICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgewotICAg
ICAgICAgICAgICAgIC8qIEdvdCBhIGRveHlnZW4gY29tbWFuZC4gRmlyc3Qgd29yayBvdXQgaXRz
IGxlbmd0aC4gKi8KLSAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpzdGFydCA9ICsrcDsKLSAg
ICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgY21kbGVuOwotICAgICAgICAgICAgICAgIGNvbnN0
IHN0cnVjdCBjb21tYW5kICpjb21tYW5kOwotICAgICAgICAgICAgICAgIGNoID0gKnA7Ci0gICAg
ICAgICAgICAgICAgd2hpbGUgKCh1bnNpZ25lZCkoKGNoICYgfjB4MjApIC0gJ0EnKSA8PSAnWicg
LSAnQScKLSAgICAgICAgICAgICAgICAgICAgICAgIHx8ICh1bnNpZ25lZCkoY2ggLSAnMCcpIDwg
MTAgfHwgY2ggPT0gJ18nIHx8IGNoID09ICctJykKLSAgICAgICAgICAgICAgICB7Ci0gICAgICAg
ICAgICAgICAgICAgIGNoID0gKisrcDsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAg
ICAgY21kbGVuID0gcCAtIHN0YXJ0OwotICAgICAgICAgICAgICAgIGlmICghY21kbGVuKQotICAg
ICAgICAgICAgICAgICAgICBsb2NlcnJvcmV4aXQoY29tbWVudC0+ZmlsZW5hbWUsIGxpbmVudW0s
ICJcXCBvciBAIHdpdGhvdXQgRG94eWdlbiBjb21tYW5kIik7Ci0gICAgICAgICAgICAgICAgLyog
TG9vayBpdCB1cCBpbiB0aGUgdGFibGUuICovCi0gICAgICAgICAgICAgICAgY29tbWFuZCA9IGNv
bW1hbmRzOwotICAgICAgICAgICAgICAgIGZvciAoOzspIHsKLSAgICAgICAgICAgICAgICAgICAg
aWYgKCFjb21tYW5kLT5uYW1lbGVuKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBsb2NlcnJv
cmV4aXQoY29tbWVudC0+ZmlsZW5hbWUsIGxpbmVudW0sICJ1bnJlY29nbml6ZWQgRG94eWdlbiBj
b21tYW5kICclLipzJyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNtZGxlbiAr
IDEsIHN0YXJ0IC0gMSk7Ci0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAg
ICAgaWYgKGNvbW1hbmQtPm5hbWVsZW4gPT0gY21kbGVuCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgJiYgIW1lbWNtcChjb21tYW5kLT5uYW1lLCBzdGFydCwgY21kbGVuKSkKLSAgICAgICAg
ICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAg
ICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAgY29tbWFuZCsrOwotICAgICAgICAgICAg
ICAgIH0KLSAgICAgICAgICAgICAgICBwID0gKCpjb21tYW5kLT5mdW5jKShwLCAmY25vZGUsIGNv
bW1hbmQtPnR5cGUsCi0gICAgICAgICAgICAgICAgICAgICAgICBjb21tZW50LT5maWxlbmFtZSwg
bGluZW51bSwgY29tbWFuZC0+bmFtZSk7Ci0gICAgICAgICAgICAgICAgY2ggPSAqcDsKLSAgICAg
ICAgICAgICAgICBzdGFydHRleHQgPSBwOwotICAgICAgICAgICAgfQotICAgICAgICB9Ci0gICAg
ICAgIGlmIChwIC0gc3RhcnR0ZXh0KSB7Ci0gICAgICAgICAgICAvKiBTdGFydCBuZXcgcGFyYSBp
ZiB0aGVyZSBpc24ndCBhbHJlYWR5IG9uZSBnb2luZy4gKi8KLSAgICAgICAgICAgIGlmIChjbm9k
ZS0+ZnVuY3MtPm5lZWRwYXJhKQotICAgICAgICAgICAgICAgIGNub2RlID0gc3RhcnRwYXJhKGNu
b2RlLCAmcGFyYV9mdW5jcyk7Ci0gICAgICAgICAgICBjbm9kZSA9IGFkZHRleHQoY25vZGUsIHN0
YXJ0dGV4dCwgcCAtIHN0YXJ0dGV4dCk7Ci0gICAgICAgIH0KLSAgICAgICAgaWYgKCFjaCkKLSAg
ICAgICAgICAgIGJyZWFrOwotICAgICAgICBpZiAoY25vZGUtPmZ1bmNzID09ICZ0ZXh0X2Z1bmNz
KQotICAgICAgICAgICAgYWRkdGV4dChjbm9kZSwgIlxuIiwgMSk7Ci0gICAgICAgIHArKzsKLSAg
ICB9Ci0gICAgLyogRmluaXNoIHRoZSByb290IGNub2RlLiAqLwotICAgIGRvCi0gICAgICAgIGNu
b2RlID0gZW5kY25vZGUoY25vZGUpOwotICAgIHdoaWxlIChjbm9kZSk7Ci0gICAgYXNzZXJ0KCFp
bmNvZGUpOwotICAgIGFzc2VydCghaW5odG1sYmxvY2spOwotfQotCi0vKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioK
LSAqIHBhcnNlY29tbWVudHMgOiBwYXJzZSBjb21tZW50cwotICoKLSAqIEVudGVyOiAgIGNvbW1l
bnQgPSBmaXJzdCBjb21tZW50IGluIGxpc3QKLSAqLwotc3RhdGljIHZvaWQKLXBhcnNlY29tbWVu
dHMoc3RydWN0IGNvbW1lbnQgKmNvbW1lbnQpCi17Ci0gICAgd2hpbGUgKGNvbW1lbnQpIHsKLSAg
ICAgICAgcGFyc2Vjb21tZW50KGNvbW1lbnQpOwotICAgICAgICBjb21tZW50ID0gY29tbWVudC0+
bmV4dDsKLSAgICB9Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogYXR0YWNoY29tbWVudHRvbm9k
ZSA6IGF0dGFjaCBjb21tZW50IHN0cnVjdCB0byBub2RlCi0gKgotICogRW50ZXI6ICAgbm9kZSA9
IHBhcnNlIG5vZGUgZm9yIGlkZW50aWZpZXIKLSAqICAgICAgICAgIGNvbW1lbnQgPSBjb21tZW50
IHN0cnVjdAotICovCi1zdGF0aWMgdm9pZAotYXR0YWNoY29tbWVudHRvbm9kZShzdHJ1Y3Qgbm9k
ZSAqbm9kZSwgc3RydWN0IGNvbW1lbnQgKmNvbW1lbnQpCi17Ci0gICAgY29tbWVudC0+bmV4dCA9
IG5vZGUtPmNvbW1lbnRzOwotICAgIG5vZGUtPmNvbW1lbnRzID0gY29tbWVudDsKLX0KLQotLyoq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqCi0gKiBhdHRhY2hjb21tZW50cyA6IGF0dGFjaCBjb21tZW50cyB0byBhcHBs
aWNhYmxlIHBhcnNlIG5vZGVzCi0gKgotICogRW50ZXI6ICAgY29tbWVudCA9IGZpcnN0IGluIChy
ZXZlcnNlZCkgbGlzdCBvZiBjb21tZW50IHN0cnVjdHMKLSAqICAgICAgICAgIHJvb3QgPSByb290
IHBhcnNlIG5vZGUgKGZvciBhdHRhY2hpbmcgXGZpbGUgY29tbWVudCBibG9ja3MgdG8pCi0gKi8K
LXN0YXRpYyB2b2lkCi1hdHRhY2hjb21tZW50cyhzdHJ1Y3QgY29tbWVudCAqY29tbWVudCwgc3Ry
dWN0IG5vZGUgKnJvb3QpCi17Ci0gICAgd2hpbGUgKGNvbW1lbnQpIHsKLSAgICAgICAgc3RydWN0
IGNvbW1lbnQgKm5leHQgPSBjb21tZW50LT5uZXh0OwotICAgICAgICAvKiBTZWUgaWYgdGhlcmUg
YXJlIGFueSBccGFyYW0sIFxyZXR1cm4sIFx0aHJvdywgXGRlZi1hcGktZmVhdHVyZSBvcgotICAg
ICAgICAgKiBcZGVmLWRldmljZS1jYXAgY25vZGVzIHRvIGRldGFjaCBhbmQgYXR0YWNoCi0gICAg
ICAgICAqIGVsc2V3aGVyZS4gKFRoaXMgb25seSBsb29rcyBhdCB0b3AtbGV2ZWwgbm9kZXMsIGRp
cmVjdCBjaGlsZHJlbgotICAgICAgICAgKiBvZiB0aGUgcm9vdCwgc28gZG9lcyBub3QgZGV0YWNo
IGEgXHBhcmFtIGluc2lkZSBhCi0gICAgICAgICAqIFxkZWYtZGV2aWNlLWNhcC4pICovCi0gICAg
ICAgIHN0cnVjdCBjbm9kZSAqKnBjbm9kZSA9ICZjb21tZW50LT5yb290LmNoaWxkcmVuOwotICAg
ICAgICBmb3IgKDs7KSB7Ci0gICAgICAgICAgICBzdHJ1Y3QgY25vZGUgKmNub2RlID0gKnBjbm9k
ZTsKLSAgICAgICAgICAgIGlmICghY25vZGUpCi0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAg
ICAgICAgICBpZiAoY25vZGUtPmZ1bmNzID09ICZwYXJhbV9mdW5jcyB8fCBjbm9kZS0+ZnVuY3Mg
PT0gJnJldHVybl9mdW5jcwotICAgICAgICAgICAgICAgICAgICB8fCBjbm9kZS0+ZnVuY3MgPT0g
JnRocm93X2Z1bmNzKQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIC8qIEZvdW5kIGEg
XHBhcmFtIG9yIFxyZXR1cm4gb3IgXHRocm93IHRvIGRldGFjaC4gRmluZCB0aGUKLSAgICAgICAg
ICAgICAgICAgKiBwYXJhbWV0ZXIvZXhjZXB0aW9uIG9mIHRoZSBzYW1lIG5hbWUsIG9yIHRoZSBy
ZXR1cm4gdHlwZS4gKi8KLSAgICAgICAgICAgICAgICBzdHJ1Y3Qgbm9kZSAqbm9kZTsKLSAgICAg
ICAgICAgICAgICBzdHJ1Y3QgY29tbWVudCAqbmV3Y29tbWVudDsKLSAgICAgICAgICAgICAgICBp
ZiAoY25vZGUtPmZ1bmNzID09ICZwYXJhbV9mdW5jcykgewotICAgICAgICAgICAgICAgICAgICBu
b2RlID0gZmluZHBhcmFtaWRlbnRpZmllcihjb21tZW50LT5ub2RlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgKChzdHJ1Y3QgcGFyYW1jbm9kZSAqKWNub2RlKS0+bmFtZSk7Ci0gICAgICAgICAg
ICAgICAgICAgIGlmICghbm9kZSkKLSAgICAgICAgICAgICAgICAgICAgICAgIGxvY2Vycm9yZXhp
dChjb21tZW50LT5maWxlbmFtZSwgY25vZGUtPmxpbmVudW0sICJubyBwYXJhbWV0ZXIgJyVzJyBm
b3VuZCIsICgoc3RydWN0IHBhcmFtY25vZGUgKiljbm9kZSktPm5hbWUpOwotICAgICAgICAgICAg
ICAgIH0gZWxzZSBpZiAoY25vZGUtPmZ1bmNzID09ICZyZXR1cm5fZnVuY3MpIHsKLSAgICAgICAg
ICAgICAgICAgICAgbm9kZSA9IGZpbmRyZXR1cm50eXBlKGNvbW1lbnQtPm5vZGUpOwotICAgICAg
ICAgICAgICAgICAgICBpZiAoIW5vZGUpCi0gICAgICAgICAgICAgICAgICAgICAgICBsb2NlcnJv
cmV4aXQoY29tbWVudC0+ZmlsZW5hbWUsIGNub2RlLT5saW5lbnVtLCAibm8gcmV0dXJuIHR5cGUg
Zm91bmQiKTsKLSAgICAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgICAgICBu
b2RlID0gZmluZHRocm93aWRlbnRpZmllcihjb21tZW50LT5ub2RlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgKChzdHJ1Y3QgcGFyYW1jbm9kZSAqKWNub2RlKS0+bmFtZSk7Ci0gICAgICAgICAg
ICAgICAgICAgIGlmICghbm9kZSkKLSAgICAgICAgICAgICAgICAgICAgICAgIGxvY2Vycm9yZXhp
dChjb21tZW50LT5maWxlbmFtZSwgY25vZGUtPmxpbmVudW0sICJubyBleGNlcHRpb24gJyVzJyBm
b3VuZCIsICgoc3RydWN0IHBhcmFtY25vZGUgKiljbm9kZSktPm5hbWUpOwotICAgICAgICAgICAg
ICAgIH0KLSAgICAgICAgICAgICAgICAvKiBEZXRhY2ggdGhlIGNub2RlIGZyb20gaXRzIG9sZCBj
b21tZW50LiAqLwotICAgICAgICAgICAgICAgICpwY25vZGUgPSBjbm9kZS0+bmV4dDsKLSAgICAg
ICAgICAgICAgICAvKiBDcmVhdGUgYSBuZXcgY29tbWVudCBzdHJ1Y3QgdG8gY29udGFpbiB0aGlz
IGNub2RlLiAqLwotICAgICAgICAgICAgICAgIG5ld2NvbW1lbnQgPSBtZW1hbGxvYyhzaXplb2Yo
c3RydWN0IGNvbW1lbnQpKTsKLSAgICAgICAgICAgICAgICBuZXdjb21tZW50LT5yb290LmZ1bmNz
ID0gJnJvb3RfZnVuY3M7Ci0gICAgICAgICAgICAgICAgbmV3Y29tbWVudC0+bGluZW51bSA9IGNu
b2RlLT5saW5lbnVtOwotICAgICAgICAgICAgICAgIC8qIEF0dGFjaCB0aGUgY25vZGUuICovCi0g
ICAgICAgICAgICAgICAgbmV3Y29tbWVudC0+cm9vdC5jaGlsZHJlbiA9IGNub2RlOwotICAgICAg
ICAgICAgICAgIGNub2RlLT5wYXJlbnQgPSAmbmV3Y29tbWVudC0+cm9vdDsKLSAgICAgICAgICAg
ICAgICBjbm9kZS0+bmV4dCA9IDA7Ci0gICAgICAgICAgICAgICAgLyogTWFrZSB0aGUgY25vZGUg
YSBccmV0dXJuIG9uZSwganVzdCBzbyBldmVuIGEgXHBhcmFtCi0gICAgICAgICAgICAgICAgICog
dXNlcyByZXR1cm5fb3V0cHV0LiAqLwotICAgICAgICAgICAgICAgIGNub2RlLT5mdW5jcyA9ICZy
ZXR1cm5fZnVuY3M7Ci0gICAgICAgICAgICAgICAgLyogQXR0YWNoIHRoZSBuZXcgY29tbWVudCBz
dHJ1Y3QgdG8gdGhlIHBhcnNlIG5vZGUuICovCi0gICAgICAgICAgICAgICAgYXR0YWNoY29tbWVu
dHRvbm9kZShub2RlLCBuZXdjb21tZW50KTsKLSAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAg
ICAgICAgICAgcGNub2RlID0gJmNub2RlLT5uZXh0OwotICAgICAgICAgICAgfQotICAgICAgICB9
Ci0gICAgICAgIC8qIE5vdyBhdHRhY2ggdGhlIGNvbW1lbnQgdG8gaXRzIGlkZW50aWZpZXIgcGFy
c2Ugbm9kZS4gKi8KLSAgICAgICAgewotICAgICAgICAgICAgc3RydWN0IG5vZGUgKm5vZGUgPSBj
b21tZW50LT5ub2RlOwotICAgICAgICAgICAgaWYgKCFub2RlKQotICAgICAgICAgICAgICAgIG5v
ZGUgPSByb290OwotICAgICAgICAgICAgYXR0YWNoY29tbWVudHRvbm9kZShub2RlLCBjb21tZW50
KTsKLSAgICAgICAgfQotICAgICAgICBjb21tZW50ID0gbmV4dDsKLSAgICB9Ci19Ci0KLS8qKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKgotICogcHJvY2Vzc2NvbW1lbnRzIDogam9pbiwgcGFyc2UgYW5kIGF0dGFjaCBj
b21tZW50cwotICoKLSAqIEVudGVyOiAgIHJvb3QgPSByb290IHBhcnNlIG5vZGUKLSAqLwotdm9p
ZAotcHJvY2Vzc2NvbW1lbnRzKHN0cnVjdCBub2RlICpyb290KQotewotICAgIGNvbW1lbnRzID0g
am9pbmlubGluZWNvbW1lbnRzKGNvbW1lbnRzKTsKLSAgICBwYXJzZWNvbW1lbnRzKGNvbW1lbnRz
KTsKLSAgICBhdHRhY2hjb21tZW50cyhjb21tZW50cywgcm9vdCk7Ci19Ci0KLS8qKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKgotICogb3V0cHV0ZGVzY3JpcHRpdmUgOiBvdXRwdXQgZGVzY3JpcHRpdmUgZWxlbWVudHMg
Zm9yIGEgbm9kZQotICoKLSAqIEVudGVyOiAgIG5vZGUgPSBpZGVudGlmaWVyIG5vZGUgdGhhdCBt
aWdodCBoYXZlIHNvbWUgY29tbWVudHMKLSAqICAgICAgICAgIGluZGVudCA9IGluZGVudCAobmVz
dGluZykgbGV2ZWwKLSAqLwotdm9pZAotb3V0cHV0ZGVzY3JpcHRpdmUoc3RydWN0IG5vZGUgKm5v
ZGUsIHVuc2lnbmVkIGludCBpbmRlbnQpCi17Ci0gICAgc3RydWN0IGNvbW1lbnQgKmNvbW1lbnQg
PSBub2RlLT5jb21tZW50czsKLSAgICBpbnQgaW5kZXNjcmlwdGl2ZSA9IDA7Ci0gICAgd2hpbGUg
KGNvbW1lbnQpIHsKLSAgICAgICAgc3RydWN0IGNub2RlICpyb290ID0gJmNvbW1lbnQtPnJvb3Q7
Ci0gICAgICAgIGlmICghaW5kZXNjcmlwdGl2ZSkKLSAgICAgICAgICAgIHByaW50ZigiJSpzPGRl
c2NyaXB0aXZlPlxuIiwgaW5kZW50LCAiIik7Ci0gICAgICAgIGluZGVzY3JpcHRpdmUgPSAxOwot
ICAgICAgICAoKnJvb3QtPmZ1bmNzLT5vdXRwdXQpKHJvb3QsIGluZGVudCArIDIpOwotICAgICAg
ICBjb21tZW50ID0gY29tbWVudC0+bmV4dDsKLSAgICB9Ci0gICAgaWYgKGluZGVzY3JpcHRpdmUp
Ci0gICAgICAgIHByaW50ZigiJSpzPC9kZXNjcmlwdGl2ZT5cbiIsIGluZGVudCwgIiIpOwotfQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3NyYy9jb21tZW50LmggYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
d2lkbHByb2Mvc3JjL2NvbW1lbnQuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTZk
MThlMmNjOGFlMDMxNGRlNWFiM2UxN2FlODVjZDI1M2I5Y2QyNC4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mvc3JjL2NvbW1l
bnQuaAorKysgL2Rldi9udWxsCkBAIC0xLDI1ICswLDAgQEAKLS8qKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICog
JElkJAotICogQ29weXJpZ2h0IDIwMDkgQXBsaXggQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCi0gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4w
ICh0aGUgIkxpY2Vuc2UiKTsKLSAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGlu
IGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KLSAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBv
ZiB0aGUgTGljZW5zZSBhdAotICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9M
SUNFTlNFLTIuMAotICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVl
ZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQotICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vu
c2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKLSAqIFdJVEhPVVQgV0FSUkFO
VElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVk
LgotICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5n
IHBlcm1pc3Npb25zIGFuZAotICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCi0gKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKiovCi0jaWZuZGVmIGNvbW1lbnRfaAotI2RlZmluZSBjb21tZW50X2gKLQotc3Ry
dWN0IHRvazsKLXN0cnVjdCBub2RlOwotCi12b2lkIGFkZGNvbW1lbnQoc3RydWN0IHRvayAqdG9r
KTsKLXZvaWQgc2V0Y29tbWVudG5vZGUoc3RydWN0IG5vZGUgKm5vZGUyKTsKLXZvaWQgcHJvY2Vz
c2NvbW1lbnRzKHN0cnVjdCBub2RlICpyb290KTsKLXZvaWQgb3V0cHV0ZGVzY3JpcHRpdmUoc3Ry
dWN0IG5vZGUgKm5vZGUsIHVuc2lnbmVkIGludCBpbmRlbnQpOwotCi0jZW5kaWYgLyogbmRlZiBj
b21tZW50X2ggKi8KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9zcmMvZW50aXRpZXMu
aCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC93aWRscHJvYy9zcmMvZW50aXRpZXMuaApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggZmY3NGMxY2IzYjJhNjY4Njc5MDlmZTkyNzg3YmY5MjVhODBiNDA4Yy4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lk
bHByb2Mvc3JjL2VudGl0aWVzLmgKKysrIC9kZXYvbnVsbApAQCAtMSwyNzEgKzAsMCBAQAotLyoq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqCi0gKiAkSWQkCi0gKiBDb3B5cmlnaHQgMjAwOSBBcGxpeCBDb3Jwb3JhdGlv
bi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGlj
ZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOwotICogeW91IG1heSBub3QgdXNlIHRo
aXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgotICogWW91IG1h
eSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0Ci0gKiAgICAgaHR0cDovL3d3dy5hcGFj
aGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCi0gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGlj
YWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCi0gKiBkaXN0cmlidXRl
ZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAot
ICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBl
eHByZXNzIG9yIGltcGxpZWQuCi0gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBs
YW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCi0gKiBsaW1pdGF0aW9ucyB1bmRlciB0
aGUgTGljZW5zZS4KLSAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLSNpZm5kZWYgZW50aXRpZXNfaAotI2RlZmlu
ZSBlbnRpdGllc19oCi0KLSNkZWZpbmUgRU5USVRJRVMgXAotIm5ic3BcMCYjMTYwO1wwIiBcCi0i
aWV4Y2xcMCYjMTYxO1wwIiBcCi0iY2VudFwwJiMxNjI7XDAiIFwKLSJwb3VuZFwwJiMxNjM7XDAi
IFwKLSJjdXJyZW5cMCYjMTY0O1wwIiBcCi0ieWVuXDAmIzE2NTtcMCIgXAotImJydmJhclwwJiMx
NjY7XDAiIFwKLSJzZWN0XDAmIzE2NztcMCIgXAotInVtbFwwJiMxNjg7XDAiIFwKLSJjb3B5XDAm
IzE2OTtcMCIgXAotIm9yZGZcMCYjMTcwO1wwIiBcCi0ibGFxdW9cMCYjMTcxO1wwIiBcCi0ibm90
XDAmIzE3MjtcMCIgXAotInNoeVwwJiMxNzM7XDAiIFwKLSJyZWdcMCYjMTc0O1wwIiBcCi0ibWFj
clwwJiMxNzU7XDAiIFwKLSJkZWdcMCYjMTc2O1wwIiBcCi0icGx1c21uXDAmIzE3NztcMCIgXAot
InN1cDJcMCYjMTc4O1wwIiBcCi0ic3VwM1wwJiMxNzk7XDAiIFwKLSJhY3V0ZVwwJiMxODA7XDAi
IFwKLSJtaWNyb1wwJiMxODE7XDAiIFwKLSJwYXJhXDAmIzE4MjtcMCIgXAotIm1pZGRvdFwwJiMx
ODM7XDAiIFwKLSJjZWRpbFwwJiMxODQ7XDAiIFwKLSJzdXAxXDAmIzE4NTtcMCIgXAotIm9yZG1c
MCYjMTg2O1wwIiBcCi0icmFxdW9cMCYjMTg3O1wwIiBcCi0iZnJhYzE0XDAmIzE4ODtcMCIgXAot
ImZyYWMxMlwwJiMxODk7XDAiIFwKLSJmcmFjMzRcMCYjMTkwO1wwIiBcCi0iaXF1ZXN0XDAmIzE5
MTtcMCIgXAotIkFncmF2ZVwwJiMxOTI7XDAiIFwKLSJBYWN1dGVcMCYjMTkzO1wwIiBcCi0iQWNp
cmNcMCYjMTk0O1wwIiBcCi0iQXRpbGRlXDAmIzE5NTtcMCIgXAotIkF1bWxcMCYjMTk2O1wwIiBc
Ci0iQXJpbmdcMCYjMTk3O1wwIiBcCi0iQUVsaWdcMCYjMTk4O1wwIiBcCi0iQ2NlZGlsXDAmIzE5
OTtcMCIgXAotIkVncmF2ZVwwJiMyMDA7XDAiIFwKLSJFYWN1dGVcMCYjMjAxO1wwIiBcCi0iRWNp
cmNcMCYjMjAyO1wwIiBcCi0iRXVtbFwwJiMyMDM7XDAiIFwKLSJJZ3JhdmVcMCYjMjA0O1wwIiBc
Ci0iSWFjdXRlXDAmIzIwNTtcMCIgXAotIkljaXJjXDAmIzIwNjtcMCIgXAotIkl1bWxcMCYjMjA3
O1wwIiBcCi0iRVRIXDAmIzIwODtcMCIgXAotIk50aWxkZVwwJiMyMDk7XDAiIFwKLSJPZ3JhdmVc
MCYjMjEwO1wwIiBcCi0iT2FjdXRlXDAmIzIxMTtcMCIgXAotIk9jaXJjXDAmIzIxMjtcMCIgXAot
Ik90aWxkZVwwJiMyMTM7XDAiIFwKLSJPdW1sXDAmIzIxNDtcMCIgXAotInRpbWVzXDAmIzIxNTtc
MCIgXAotIk9zbGFzaFwwJiMyMTY7XDAiIFwKLSJVZ3JhdmVcMCYjMjE3O1wwIiBcCi0iVWFjdXRl
XDAmIzIxODtcMCIgXAotIlVjaXJjXDAmIzIxOTtcMCIgXAotIlV1bWxcMCYjMjIwO1wwIiBcCi0i
WWFjdXRlXDAmIzIyMTtcMCIgXAotIlRIT1JOXDAmIzIyMjtcMCIgXAotInN6bGlnXDAmIzIyMztc
MCIgXAotImFncmF2ZVwwJiMyMjQ7XDAiIFwKLSJhYWN1dGVcMCYjMjI1O1wwIiBcCi0iYWNpcmNc
MCYjMjI2O1wwIiBcCi0iYXRpbGRlXDAmIzIyNztcMCIgXAotImF1bWxcMCYjMjI4O1wwIiBcCi0i
YXJpbmdcMCYjMjI5O1wwIiBcCi0iYWVsaWdcMCYjMjMwO1wwIiBcCi0iY2NlZGlsXDAmIzIzMTtc
MCIgXAotImVncmF2ZVwwJiMyMzI7XDAiIFwKLSJlYWN1dGVcMCYjMjMzO1wwIiBcCi0iZWNpcmNc
MCYjMjM0O1wwIiBcCi0iZXVtbFwwJiMyMzU7XDAiIFwKLSJpZ3JhdmVcMCYjMjM2O1wwIiBcCi0i
aWFjdXRlXDAmIzIzNztcMCIgXAotImljaXJjXDAmIzIzODtcMCIgXAotIml1bWxcMCYjMjM5O1ww
IiBcCi0iZXRoXDAmIzI0MDtcMCIgXAotIm50aWxkZVwwJiMyNDE7XDAiIFwKLSJvZ3JhdmVcMCYj
MjQyO1wwIiBcCi0ib2FjdXRlXDAmIzI0MztcMCIgXAotIm9jaXJjXDAmIzI0NDtcMCIgXAotIm90
aWxkZVwwJiMyNDU7XDAiIFwKLSJvdW1sXDAmIzI0NjtcMCIgXAotImRpdmlkZVwwJiMyNDc7XDAi
IFwKLSJvc2xhc2hcMCYjMjQ4O1wwIiBcCi0idWdyYXZlXDAmIzI0OTtcMCIgXAotInVhY3V0ZVww
JiMyNTA7XDAiIFwKLSJ1Y2lyY1wwJiMyNTE7XDAiIFwKLSJ1dW1sXDAmIzI1MjtcMCIgXAotInlh
Y3V0ZVwwJiMyNTM7XDAiIFwKLSJ0aG9yblwwJiMyNTQ7XDAiIFwKLSJ5dW1sXDAmIzI1NTtcMCIg
XAotImZub2ZcMCYjNDAyO1wwIiBcCi0iQWxwaGFcMCYjOTEzO1wwIiBcCi0iQmV0YVwwJiM5MTQ7
XDAiIFwKLSJHYW1tYVwwJiM5MTU7XDAiIFwKLSJEZWx0YVwwJiM5MTY7XDAiIFwKLSJFcHNpbG9u
XDAmIzkxNztcMCIgXAotIlpldGFcMCYjOTE4O1wwIiBcCi0iRXRhXDAmIzkxOTtcMCIgXAotIlRo
ZXRhXDAmIzkyMDtcMCIgXAotIklvdGFcMCYjOTIxO1wwIiBcCi0iS2FwcGFcMCYjOTIyO1wwIiBc
Ci0iTGFtYmRhXDAmIzkyMztcMCIgXAotIk11XDAmIzkyNDtcMCIgXAotIk51XDAmIzkyNTtcMCIg
XAotIlhpXDAmIzkyNjtcMCIgXAotIk9taWNyb25cMCYjOTI3O1wwIiBcCi0iUGlcMCYjOTI4O1ww
IiBcCi0iUmhvXDAmIzkyOTtcMCIgXAotIlNpZ21hXDAmIzkzMTtcMCIgXAotIlRhdVwwJiM5MzI7
XDAiIFwKLSJVcHNpbG9uXDAmIzkzMztcMCIgXAotIlBoaVwwJiM5MzQ7XDAiIFwKLSJDaGlcMCYj
OTM1O1wwIiBcCi0iUHNpXDAmIzkzNjtcMCIgXAotIk9tZWdhXDAmIzkzNztcMCIgXAotImFscGhh
XDAmIzk0NTtcMCIgXAotImJldGFcMCYjOTQ2O1wwIiBcCi0iZ2FtbWFcMCYjOTQ3O1wwIiBcCi0i
ZGVsdGFcMCYjOTQ4O1wwIiBcCi0iZXBzaWxvblwwJiM5NDk7XDAiIFwKLSJ6ZXRhXDAmIzk1MDtc
MCIgXAotImV0YVwwJiM5NTE7XDAiIFwKLSJ0aGV0YVwwJiM5NTI7XDAiIFwKLSJpb3RhXDAmIzk1
MztcMCIgXAotImthcHBhXDAmIzk1NDtcMCIgXAotImxhbWJkYVwwJiM5NTU7XDAiIFwKLSJtdVww
JiM5NTY7XDAiIFwKLSJudVwwJiM5NTc7XDAiIFwKLSJ4aVwwJiM5NTg7XDAiIFwKLSJvbWljcm9u
XDAmIzk1OTtcMCIgXAotInBpXDAmIzk2MDtcMCIgXAotInJob1wwJiM5NjE7XDAiIFwKLSJzaWdt
YWZcMCYjOTYyO1wwIiBcCi0ic2lnbWFcMCYjOTYzO1wwIiBcCi0idGF1XDAmIzk2NDtcMCIgXAot
InVwc2lsb25cMCYjOTY1O1wwIiBcCi0icGhpXDAmIzk2NjtcMCIgXAotImNoaVwwJiM5Njc7XDAi
IFwKLSJwc2lcMCYjOTY4O1wwIiBcCi0ib21lZ2FcMCYjOTY5O1wwIiBcCi0idGhldGFzeW1cMCYj
OTc3O1wwIiBcCi0idXBzaWhcMCYjOTc4O1wwIiBcCi0icGl2XDAmIzk4MjtcMCIgXAotImJ1bGxc
MCYjODIyNjtcMCIgXAotImhlbGxpcFwwJiM4MjMwO1wwIiBcCi0icHJpbWVcMCYjODI0MjtcMCIg
XAotIlByaW1lXDAmIzgyNDM7XDAiIFwKLSJvbGluZVwwJiM4MjU0O1wwIiBcCi0iZnJhc2xcMCYj
ODI2MDtcMCIgXAotIndlaWVycFwwJiM4NDcyO1wwIiBcCi0iaW1hZ2VcMCYjODQ2NTtcMCIgXAot
InJlYWxcMCYjODQ3NjtcMCIgXAotInRyYWRlXDAmIzg0ODI7XDAiIFwKLSJhbGVmc3ltXDAmIzg1
MDE7XDAiIFwKLSJsYXJyXDAmIzg1OTI7XDAiIFwKLSJ1YXJyXDAmIzg1OTM7XDAiIFwKLSJyYXJy
XDAmIzg1OTQ7XDAiIFwKLSJkYXJyXDAmIzg1OTU7XDAiIFwKLSJoYXJyXDAmIzg1OTY7XDAiIFwK
LSJjcmFyclwwJiM4NjI5O1wwIiBcCi0ibEFyclwwJiM4NjU2O1wwIiBcCi0idUFyclwwJiM4NjU3
O1wwIiBcCi0ickFyclwwJiM4NjU4O1wwIiBcCi0iZEFyclwwJiM4NjU5O1wwIiBcCi0iaEFyclww
JiM4NjYwO1wwIiBcCi0iZm9yYWxsXDAmIzg3MDQ7XDAiIFwKLSJwYXJ0XDAmIzg3MDY7XDAiIFwK
LSJleGlzdFwwJiM4NzA3O1wwIiBcCi0iZW1wdHlcMCYjODcwOTtcMCIgXAotIm5hYmxhXDAmIzg3
MTE7XDAiIFwKLSJpc2luXDAmIzg3MTI7XDAiIFwKLSJub3RpblwwJiM4NzEzO1wwIiBcCi0ibmlc
MCYjODcxNTtcMCIgXAotInByb2RcMCYjODcxOTtcMCIgXAotInN1bVwwJiM4NzIxO1wwIiBcCi0i
bWludXNcMCYjODcyMjtcMCIgXAotImxvd2FzdFwwJiM4NzI3O1wwIiBcCi0icmFkaWNcMCYjODcz
MDtcMCIgXAotInByb3BcMCYjODczMztcMCIgXAotImluZmluXDAmIzg3MzQ7XDAiIFwKLSJhbmdc
MCYjODczNjtcMCIgXAotImFuZFwwJiM4NzQzO1wwIiBcCi0ib3JcMCYjODc0NDtcMCIgXAotImNh
cFwwJiM4NzQ1O1wwIiBcCi0iY3VwXDAmIzg3NDY7XDAiIFwKLSJpbnRcMCYjODc0NztcMCIgXAot
InRoZXJlNFwwJiM4NzU2O1wwIiBcCi0ic2ltXDAmIzg3NjQ7XDAiIFwKLSJjb25nXDAmIzg3NzM7
XDAiIFwKLSJhc3ltcFwwJiM4Nzc2O1wwIiBcCi0ibmVcMCYjODgwMDtcMCIgXAotImVxdWl2XDAm
Izg4MDE7XDAiIFwKLSJsZVwwJiM4ODA0O1wwIiBcCi0iZ2VcMCYjODgwNTtcMCIgXAotInN1Ylww
JiM4ODM0O1wwIiBcCi0ic3VwXDAmIzg4MzU7XDAiIFwKLSJuc3ViXDAmIzg4MzY7XDAiIFwKLSJz
dWJlXDAmIzg4Mzg7XDAiIFwKLSJzdXBlXDAmIzg4Mzk7XDAiIFwKLSJvcGx1c1wwJiM4ODUzO1ww
IiBcCi0ib3RpbWVzXDAmIzg4NTU7XDAiIFwKLSJwZXJwXDAmIzg4Njk7XDAiIFwKLSJzZG90XDAm
Izg5MDE7XDAiIFwKLSJsY2VpbFwwJiM4OTY4O1wwIiBcCi0icmNlaWxcMCYjODk2OTtcMCIgXAot
ImxmbG9vclwwJiM4OTcwO1wwIiBcCi0icmZsb29yXDAmIzg5NzE7XDAiIFwKLSJsYW5nXDAmIzkw
MDE7XDAiIFwKLSJyYW5nXDAmIzkwMDI7XDAiIFwKLSJsb3pcMCYjOTY3NDtcMCIgXAotInNwYWRl
c1wwJiM5ODI0O1wwIiBcCi0iY2x1YnNcMCYjOTgyNztcMCIgXAotImhlYXJ0c1wwJiM5ODI5O1ww
IiBcCi0iZGlhbXNcMCYjOTgzMDtcMCIgXAotInF1b3RcMCYjMzQ7XDAiIFwKLSJhbXBcMCYjMzg7
XDAiIFwKLSJsdFwwJiM2MDtcMCIgXAotImd0XDAmIzYyO1wwIiBcCi0iT0VsaWdcMCYjMzM4O1ww
IiBcCi0ib2VsaWdcMCYjMzM5O1wwIiBcCi0iU2Nhcm9uXDAmIzM1MjtcMCIgXAotInNjYXJvblww
JiMzNTM7XDAiIFwKLSJZdW1sXDAmIzM3NjtcMCIgXAotImNpcmNcMCYjNzEwO1wwIiBcCi0idGls
ZGVcMCYjNzMyO1wwIiBcCi0iZW5zcFwwJiM4MTk0O1wwIiBcCi0iZW1zcFwwJiM4MTk1O1wwIiBc
Ci0idGhpbnNwXDAmIzgyMDE7XDAiIFwKLSJ6d25qXDAmIzgyMDQ7XDAiIFwKLSJ6d2pcMCYjODIw
NTtcMCIgXAotImxybVwwJiM4MjA2O1wwIiBcCi0icmxtXDAmIzgyMDc7XDAiIFwKLSJuZGFzaFww
JiM4MjExO1wwIiBcCi0ibWRhc2hcMCYjODIxMjtcMCIgXAotImxzcXVvXDAmIzgyMTY7XDAiIFwK
LSJyc3F1b1wwJiM4MjE3O1wwIiBcCi0ic2JxdW9cMCYjODIxODtcMCIgXAotImxkcXVvXDAmIzgy
MjA7XDAiIFwKLSJyZHF1b1wwJiM4MjIxO1wwIiBcCi0iYmRxdW9cMCYjODIyMjtcMCIgXAotImRh
Z2dlclwwJiM4MjI0O1wwIiBcCi0iRGFnZ2VyXDAmIzgyMjU7XDAiIFwKLSJwZXJtaWxcMCYjODI0
MDtcMCIgXAotImxzYXF1b1wwJiM4MjQ5O1wwIiBcCi0icnNhcXVvXDAmIzgyNTA7XDAiIFwKLSJl
dXJvXDAmIzgzNjQ7XDAiCi0KLSNlbmRpZiAvKiBuZGVmIGVudGl0aWVzX2ggKi8KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC93aWRscHJvYy9zcmMvbGV4LmMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mvc3Jj
L2xleC5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5ZjkxMDMzODZiZDZiYWY4NjNm
NzI0NGYzZDdiNmZlYTEzMWVjMGYwLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9zcmMvbGV4LmMKKysrIC9kZXYvbnVsbApA
QCAtMSw1NjAgKzAsMCBAQAotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiAkSWQkCi0gKiBDb3B5cmlnaHQg
MjAwOSBBcGxpeCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIExpY2Vuc2Vk
IHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOwot
ICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRo
ZSBMaWNlbnNlLgotICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0Ci0g
KiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCi0gKiBVbmxl
c3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNv
ZnR3YXJlCi0gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBv
biBhbiAiQVMgSVMiIEJBU0lTLAotICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMg
T0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCi0gKiBTZWUgdGhlIExpY2Vu
c2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCi0g
KiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KLSAqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLSNpbmNs
dWRlIDxhc3NlcnQuaD4KLSNpbmNsdWRlIDxlcnJuby5oPgotI2luY2x1ZGUgPHN0ZGlvLmg+Ci0j
aW5jbHVkZSA8c3RyaW5nLmg+Ci0jaW5jbHVkZSAibGV4LmgiCi0jaW5jbHVkZSAibWlzYy5oIgot
I2luY2x1ZGUgIm5vZGUuaCIKLSNpbmNsdWRlICJwcm9jZXNzLmgiCi0KLXN0cnVjdCBmaWxlIHsK
LSAgICBzdHJ1Y3QgZmlsZSAqbmV4dDsKLSAgICBjb25zdCBjaGFyICpmaWxlbmFtZTsKLSAgICBj
aGFyICpidWY7Ci0gICAgY29uc3QgY2hhciAqcG9zLCAqZW5kOwotICAgIHVuc2lnbmVkIGludCBs
aW5lbnVtOwotfTsKLQotY29uc3QgY2hhciBrZXl3b3Jkc1tdID0gS0VZV09SRFM7Ci0KLXN0YXRp
YyBzdHJ1Y3QgZmlsZSAqZmlsZSwgKmZpcnN0ZmlsZTsKLXN0YXRpYyBzdHJ1Y3QgdG9rIHRvazsK
LQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqCi0gKiByZWFkaW5wdXQgOiByZWFkIGFsbCBpbnB1dCBmaWxlcyBp
bnRvIG1lbW9yeQotICoKLSAqIEVudGVyOiAgIGFyZ3YgPSAwLXRlcm1pbmF0ZWQgYXJyYXkgb2Yg
ZmlsZW5hbWVzCi0gKi8KLXZvaWQKLXJlYWRpbnB1dChjb25zdCBjaGFyICpjb25zdCAqYXJndikK
LXsKLSAgICBzdHJ1Y3QgZmlsZSAqKnBmaWxlID0gJmZpbGU7Ci0gICAgZm9yICg7OykgewotICAg
ICAgICBzdHJ1Y3QgZmlsZSAqZmlsZTsKLSAgICAgICAgY29uc3QgY2hhciAqZmlsZW5hbWUgPSAq
YXJndisrOwotICAgICAgICBjaGFyICpidWYgPSAwOwotICAgICAgICBpbnQgbGVuID0gMCwgdGhp
c2xlbiwgaXNzdGRpbjsKLSAgICAgICAgRklMRSAqaGFuZGxlOwotICAgICAgICBpZiAoIWZpbGVu
YW1lKQotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIC8qIFJlYWQgdGhlIGZpbGUuICovCi0g
ICAgICAgIGlzc3RkaW4gPSAhc3RyY21wKGZpbGVuYW1lLCAiLSIpOwotICAgICAgICBpZiAoaXNz
dGRpbikgewotICAgICAgICAgICAgaGFuZGxlID0gc3RkaW47Ci0gICAgICAgICAgICBmaWxlbmFt
ZSA9ICI8c3RkaW4+IjsKLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIGhhbmRsZSA9IGZv
cGVuKGZpbGVuYW1lLCAicmIiKTsKLSAgICAgICAgICAgIGlmICghaGFuZGxlKQotICAgICAgICAg
ICAgICAgIGVycm9yZXhpdCgiJXM6ICVzIiwgZmlsZW5hbWUsIHN0cmVycm9yKGVycm5vKSk7Ci0g
ICAgICAgIH0KLSAgICAgICAgZm9yICg7OykgewotICAgICAgICAgICAgdGhpc2xlbiA9IGxlbiA/
IGxlbiAqIDIgOiA0MDk2OwotICAgICAgICAgICAgYnVmID0gbWVtcmVhbGxvYyhidWYsIGxlbiAr
IHRoaXNsZW4gKyAxKTsKLSAgICAgICAgICAgIHRoaXNsZW4gPSBmcmVhZChidWYgKyBsZW4sIDEs
IHRoaXNsZW4sIGhhbmRsZSk7Ci0gICAgICAgICAgICBpZiAoIXRoaXNsZW4pCi0gICAgICAgICAg
ICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBsZW4gKz0gdGhpc2xlbjsKLSAgICAgICAgfQotICAg
ICAgICBpZiAoZmVycm9yKGhhbmRsZSkpCi0gICAgICAgICAgICBlcnJvcmV4aXQoIiVzOiBJL08g
ZXJyb3IiLCBmaWxlbmFtZSk7Ci0gICAgICAgIGlmICghaXNzdGRpbikKLSAgICAgICAgICAgIGZj
bG9zZShoYW5kbGUpOwotICAgICAgICBidWZbbGVuXSA9IDA7Ci0gICAgICAgIGJ1ZiA9IG1lbXJl
YWxsb2MoYnVmLCBsZW4gKyAxKTsKLSAgICAgICAgLyogQ3JlYXRlIHRoZSBmaWxlIHN0cnVjdCBm
b3IgaXQuICovCi0gICAgICAgIGZpbGUgPSBtZW1hbGxvYyhzaXplb2Yoc3RydWN0IGZpbGUpKTsK
LSAgICAgICAgKnBmaWxlID0gZmlsZTsKLSAgICAgICAgcGZpbGUgPSAmZmlsZS0+bmV4dDsKLSAg
ICAgICAgZmlsZS0+ZmlsZW5hbWUgPSBmaWxlbmFtZTsKLSAgICAgICAgZmlsZS0+cG9zID0gZmls
ZS0+YnVmID0gYnVmOwotICAgICAgICBmaWxlLT5lbmQgPSBidWYgKyBsZW47Ci0gICAgICAgIGZp
bGUtPmxpbmVudW0gPSAxOwotICAgIH0KLSAgICAqcGZpbGUgPSAwOwotICAgIGZpcnN0ZmlsZSA9
IGZpbGU7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogbGV4ZXJyb3JleGl0IDogZXJyb3IgYW5k
IGV4aXQgd2l0aCBsaW5lIG51bWJlcgotICovCi1zdGF0aWMgdm9pZAotbGV4ZXJyb3JleGl0KGNv
bnN0IGNoYXIgKmZvcm1hdCwgLi4uKQotewotICAgIHZhX2xpc3QgYXA7Ci0gICAgdmFfc3RhcnQo
YXAsIGZvcm1hdCk7Ci0gICAgdmxvY2Vycm9yZXhpdChmaWxlLT5maWxlbmFtZSwgZmlsZS0+bGlu
ZW51bSwgZm9ybWF0LCBhcCk7Ci0gICAgdmFfZW5kKGFwKTsKLX0KLQotLyoqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
Ci0gKiBsZXhibG9ja2NvbW1lbnQgOiBsZXggYSBibG9jayBjb21tZW50Ci0gKgotICogRW50ZXI6
ICAgc3RhcnQgPSBzdGFydCBvZiBjb21tZW50Ci0gKgotICogUmV0dXJuOiAgdG9rIHN0cnVjdCwg
bGlmZXRpbWUgdW50aWwgbmV4dCBjYWxsIHRvIGxleAotICovCi1zdGF0aWMgc3RydWN0IHRvayAq
Ci1sZXhibG9ja2NvbW1lbnQoY29uc3QgY2hhciAqc3RhcnQpCi17Ci0gICAgY29uc3QgY2hhciAq
cCA9IHN0YXJ0ICsgMTsKLSAgICB0b2suZmlsZW5hbWUgPSBmaWxlLT5maWxlbmFtZTsKLSAgICB0
b2subGluZW51bSA9IGZpbGUtPmxpbmVudW07Ci0gICAgZm9yICg7OykgewotICAgICAgICBpbnQg
Y2ggPSAqKytwOwotICAgICAgICBpZiAoIWNoKQotICAgICAgICAgICAgbGV4ZXJyb3JleGl0KCJ1
bnRlcm1pbmF0ZWQgYmxvY2sgY29tbWVudCIpOwotICAgICAgICBpZiAoY2ggIT0gJyonKSB7Ci0g
ICAgICAgICAgICBpZiAoY2ggPT0gJ1xuJykKLSAgICAgICAgICAgICAgICBmaWxlLT5saW5lbnVt
Kys7Ci0gICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgfQotICAgICAgICBjaCA9IHBbMV07
Ci0gICAgICAgIGlmICghY2gpCi0gICAgICAgICAgICBsZXhlcnJvcmV4aXQoInVudGVybWluYXRl
ZCBibG9jayBjb21tZW50Iik7Ci0gICAgICAgIGlmIChjaCA9PSAnLycpCi0gICAgICAgICAgICBi
cmVhazsKLSAgICB9Ci0gICAgcCArPSAyOwotICAgIGZpbGUtPnBvcyA9IHA7Ci0gICAgdG9rLnR5
cGUgPSBUT0tfQkxPQ0tDT01NRU5UOwotICAgIHRvay5zdGFydCA9IHN0YXJ0ICsgMjsKLSAgICB0
b2subGVuID0gcCAtIHN0YXJ0IC0gNDsKLSAgICByZXR1cm4gJnRvazsKLX0KLQotLyoqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqCi0gKiBsZXhpbmxpbmVjb21tZW50IDogbGV4IGFuIGlubGluZSBjb21tZW50Ci0gKgot
ICogRW50ZXI6ICAgc3RhcnQgPSBzdGFydCBvZiBjb21tZW50LCBzdGFydHMgd2l0aCAiLy8iCi0g
KgotICogUmV0dXJuOiAgdG9rIHN0cnVjdCwgbGlmZXRpbWUgdW50aWwgbmV4dCBjYWxsIHRvIGxl
eAotICovCi1zdGF0aWMgc3RydWN0IHRvayAqCi1sZXhpbmxpbmVjb21tZW50KGNvbnN0IGNoYXIg
KnN0YXJ0KQotewotICAgIGNvbnN0IGNoYXIgKnAgPSBzdGFydCArIDI7Ci0gICAgcCA9IHN0YXJ0
ICsgMTsKLSAgICBmb3IgKDs7KSB7Ci0gICAgICAgIGludCBjaCA9ICorK3A7Ci0gICAgICAgIGlm
ICghY2ggfHwgY2ggPT0gJ1xuJykKLSAgICAgICAgICAgIGJyZWFrOwotICAgIH0KLSAgICBwKys7
Ci0gICAgZmlsZS0+cG9zID0gcDsKLSAgICB0b2sudHlwZSA9IFRPS19JTkxJTkVDT01NRU5UOwot
ICAgIHRvay5zdGFydCA9IHN0YXJ0ICsgMjsKLSAgICB0b2subGVuID0gcCAtIHN0YXJ0IC0gMjsK
LSAgICB0b2suZmlsZW5hbWUgPSBmaWxlLT5maWxlbmFtZTsKLSAgICB0b2subGluZW51bSA9IGZp
bGUtPmxpbmVudW0rKzsKLSAgICByZXR1cm4gJnRvazsKLX0KLQotLyoqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0g
KiBsZXhudW1iZXIgOiBsZXggYSBudW1iZXIgKG9yIGp1c3QgYSAnLScgc3ltYm9sKQotICoKLSAq
IEVudGVyOiAgIHN0YXJ0ID0gc3RhcnQgb2YgdG9rZW4KLSAqCi0gKiBSZXR1cm46ICB0b2sgc3Ry
dWN0LCBsaWZldGltZSB1bnRpbCBuZXh0IGNhbGwgdG8gbGV4Ci0gKgotICogVGhlIElETCBncmFt
bWFyIHNlZW1zIHRvIHNheSB0aGF0IGEgZmxvYXQgY2FuJ3Qgc3RhcnQgd2l0aCBhCi0gKiBkZWNp
bWFsIHBvaW50LCBzbyB0aGF0J3Mgd2hhdCB3ZSBoYXZlIGltcGxlbWVudGVkIGhlcmUuCi0gKi8K
LXN0YXRpYyBzdHJ1Y3QgdG9rICoKLWxleG51bWJlcihjb25zdCBjaGFyICpzdGFydCkKLXsKLSAg
ICBmb3IgKDs7KSB7Ci0gICAgICAgIGNvbnN0IGNoYXIgKnAgPSBzdGFydDsKLSAgICAgICAgY29u
c3QgY2hhciAqb2N0YWxlbmQgPSBzdGFydDsKLSAgICAgICAgaW50IGNoID0gKnA7Ci0gICAgICAg
IGVudW0geyBTVEFURV9TVEFSVCwgU1RBVEVfSU5ULCBTVEFURV9IRVgsIFNUQVRFX09DVEFMLCBT
VEFURV9CQURPQ1RBTCwKLSAgICAgICAgICAgICAgICBTVEFURV9EUCwgU1RBVEVfRVhQU1RBUlQs
IFNUQVRFX0VYUFNJR04sIFNUQVRFX0VYUAotICAgICAgICAgICAgICAgIH0gc3RhdGUgPSBTVEFU
RV9TVEFSVDsKLSAgICAgICAgaWYgKGNoID09ICctJykgewotICAgICAgICAgICAgY2ggPSAqKytw
OwotCSAgICBpZiAoY2ggPT0gJ0knKSB7IC8vIHN0YXJ0cyBvZiBJbmZpbml0eQotCSAgICAgIGNo
YXIgKiBpbmZpbml0eSA9ICItSW5maW5pdHkiOwotICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQg
bGVuID0gc3RybGVuKGluZmluaXR5KTsKLQkgICAgICBpZiAoIW1lbWNtcChzdGFydCwgaW5maW5p
dHksIGxlbikpIHsKLSAgICAgICAgICAgICAgICB0b2sudHlwZSA9IFRPS19taW51c2luZmluaXR5
OwotCQl0b2suc3RhcnQgPSBzdGFydDsKLQkJdG9rLmxlbiA9IGxlbjsKLQkJdG9rLmZpbGVuYW1l
ID0gZmlsZS0+ZmlsZW5hbWU7Ci0JCXRvay5saW5lbnVtID0gZmlsZS0+bGluZW51bTsKLQkJZmls
ZS0+cG9zID0gc3RhcnQgKyBsZW47Ci0JCXJldHVybiAmdG9rOwotCSAgICAgIH0KLQkgICAgfQot
CX0KLSAgICAgICAgaWYgKGNoID09ICcwJykgewotICAgICAgICAgICAgc3RhdGUgPSBTVEFURV9P
Q1RBTDsKLSAgICAgICAgICAgIGNoID0gKisrcDsKLSAgICAgICAgICAgIGlmICgoY2ggJiB+MHgy
MCkgPT0gJ1gnKSB7Ci0gICAgICAgICAgICAgICAgc3RhdGUgPSBTVEFURV9IRVg7Ci0gICAgICAg
ICAgICAgICAgY2ggPSAqKytwOwotICAgICAgICAgICAgfQotICAgICAgICB9Ci0KLSAgICAgICAg
Zm9yICg7OykgewotICAgICAgICAgICAgaWYgKCh1bnNpZ25lZCkoY2ggLSAnMCcpID49IDgpIHsK
LSAgICAgICAgICAgICAgICBpZiAoKGNoICYgLTIpID09ICc4JykgewotICAgICAgICAgICAgICAg
ICAgICBpZiAoc3RhdGUgPT0gU1RBVEVfT0NUQUwpIHsKLSAgICAgICAgICAgICAgICAgICAgICAg
IHN0YXRlID0gU1RBVEVfQkFET0NUQUw7Ci0gICAgICAgICAgICAgICAgICAgICAgICBvY3RhbGVu
ZCA9IHA7Ci0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICB9IGVsc2UgaWYg
KCh1bnNpZ25lZCkoKGNoICYgfjB4MjApIC0gJ0EnKSA8PSAnRicgLSAnQScpIHsKLSAgICAgICAg
ICAgICAgICAgICAgaWYgKHN0YXRlICE9IFNUQVRFX0hFWCkgewotICAgICAgICAgICAgICAgICAg
ICAgICAgaWYgKChjaCAmIH4weDIwKSAhPSAnRScpCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoc3RhdGUgPT0gU1RBVEVfSEVY
IHx8IHN0YXRlID49IFNUQVRFX0VYUFNUQVJUIHx8IHN0YXRlID09IFNUQVRFX1NUQVJUKQotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgICAgICAgICAgICAg
c3RhdGUgPSBTVEFURV9FWFBTVEFSVDsKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAg
ICAgICAgIH0gZWxzZSBpZiAoY2ggPT0gJy4nKSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmIChz
dGF0ZSA9PSBTVEFURV9IRVggfHwgc3RhdGUgPj0gU1RBVEVfRFApCi0gICAgICAgICAgICAgICAg
ICAgICAgICBicmVhazsKLSAgICAgICAgICAgICAgICAgICAgc3RhdGUgPSBTVEFURV9EUDsKLSAg
ICAgICAgICAgICAgICB9IGVsc2UgaWYgKGNoID09ICctJykgewotICAgICAgICAgICAgICAgICAg
ICBpZiAoc3RhdGUgIT0gU1RBVEVfRVhQU1RBUlQpCi0gICAgICAgICAgICAgICAgICAgICAgICBi
cmVhazsKLSAgICAgICAgICAgICAgICAgICAgc3RhdGUgPSBTVEFURV9FWFBTSUdOOwotICAgICAg
ICAgICAgICAgIH0gZWxzZQotICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAg
IH0KLSAgICAgICAgICAgIGNoID0gKisrcDsKLSAgICAgICAgICAgIGlmIChzdGF0ZSA9PSBTVEFU
RV9TVEFSVCkKLSAgICAgICAgICAgICAgICBzdGF0ZSA9IFNUQVRFX0lOVDsKLSAgICAgICAgICAg
IGVsc2UgaWYgKHN0YXRlID09IFNUQVRFX0VYUFNUQVJUIHx8IHN0YXRlID09IFNUQVRFX0VYUFNJ
R04pCi0gICAgICAgICAgICAgICAgc3RhdGUgPSBTVEFURV9FWFA7Ci0gICAgICAgIH0KLSAgICAg
ICAgc3dpdGNoIChzdGF0ZSkgewotICAgICAgICBjYXNlIFNUQVRFX1NUQVJUOgotICAgICAgICAg
ICAgLyogTXVzdCBoYXZlIGp1c3QgYmVlbiBhIC0gY2hhcmFjdGVyIGJ5IGl0c2VsZi4gKi8KLSAg
ICAgICAgICAgIHRvay50eXBlID0gJy0nOwotICAgICAgICAgICAgcCA9IHN0YXJ0ICsgMTsKLSAg
ICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlIFNUQVRFX0JBRE9DVEFMOgotICAgICAgICAg
ICAgcCA9IG9jdGFsZW5kOwotICAgICAgICAgICAgLyogZmFsbCB0aHJvdWdoLi4uICovCi0gICAg
ICAgIGNhc2UgU1RBVEVfSU5UOgotICAgICAgICBjYXNlIFNUQVRFX09DVEFMOgotICAgICAgICAg
ICAgdG9rLnR5cGUgPSBUT0tfSU5URUdFUjsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBj
YXNlIFNUQVRFX0hFWDoKLSAgICAgICAgICAgIGlmIChwIC0gc3RhcnQgPT0gMiB8fCAocCAtIHN0
YXJ0ID09IDMgJiYgKnN0YXJ0ID09ICctJykpCi0gICAgICAgICAgICAgICAgcCA9IHN0YXJ0ICsg
MTsKLSAgICAgICAgICAgIHRvay50eXBlID0gVE9LX0lOVEVHRVI7Ci0gICAgICAgICAgICBicmVh
azsKLSAgICAgICAgY2FzZSBTVEFURV9FWFA6Ci0gICAgICAgIGNhc2UgU1RBVEVfRFA6Ci0gICAg
ICAgICAgICB0b2sudHlwZSA9IFRPS19GTE9BVDsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAg
ICBjYXNlIFNUQVRFX0VYUFNJR046Ci0gICAgICAgICAgICBwLS07Ci0gICAgICAgICAgICAvKiBm
YWxsIHRocm91Z2guLi4gKi8KLSAgICAgICAgY2FzZSBTVEFURV9FWFBTVEFSVDoKLSAgICAgICAg
ICAgIHAtLTsKLSAgICAgICAgICAgIHRvay50eXBlID0gVE9LX0ZMT0FUOwotICAgICAgICAgICAg
YnJlYWs7Ci0gICAgICAgIH0KLSAgICAgICAgdG9rLnN0YXJ0ID0gc3RhcnQ7Ci0gICAgICAgIHRv
ay5sZW4gPSBwIC0gc3RhcnQ7Ci0gICAgICAgIHRvay5maWxlbmFtZSA9IGZpbGUtPmZpbGVuYW1l
OwotICAgICAgICB0b2subGluZW51bSA9IGZpbGUtPmxpbmVudW07Ci0gICAgICAgIGZpbGUtPnBv
cyA9IHA7Ci0gICAgICAgIHJldHVybiAmdG9rOwotICAgIH0KLX0KLQotLyoqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
Ci0gKiBsZXhzdHJpbmcgOiBsZXggYSBxdW90ZWQgc3RyaW5nCi0gKgotICogRW50ZXI6ICAgc3Rh
cnQgPSBzdGFydCBvZiB0b2tlbgotICoKLSAqIFJldHVybjogIHRvayBzdHJ1Y3QsIGxpZmV0aW1l
IHVudGlsIG5leHQgY2FsbCB0byBsZXgKLSAqLwotc3RhdGljIHN0cnVjdCB0b2sgKgotbGV4c3Ry
aW5nKGNvbnN0IGNoYXIgKnN0YXJ0KQotewotICAgIGZvciAoOzspIHsKLSAgICAgICAgY29uc3Qg
Y2hhciAqcCA9IHN0YXJ0ICsgMTsKLSAgICAgICAgaW50IGNoID0gKnA7Ci0gICAgICAgIGZvciAo
OzspIHsKLSAgICAgICAgICAgIGlmICghY2ggfHwgY2ggPT0gJ1xuJykKLSAgICAgICAgICAgICAg
ICBsZXhlcnJvcmV4aXQoInVudGVybWluYXRlZCBzdHJpbmciKTsKLSAgICAgICAgICAgIGlmIChj
aCA9PSAnIicpIHsKLSAgICAgICAgICAgICAgICB0b2sudHlwZSA9IFRPS19TVFJJTkc7Ci0gICAg
ICAgICAgICAgICAgdG9rLnN0YXJ0ID0gc3RhcnQgKyAxOwotICAgICAgICAgICAgICAgIHRvay5s
ZW4gPSBwIC0gc3RhcnQgLSAxOwotICAgICAgICAgICAgICAgIHRvay5maWxlbmFtZSA9IGZpbGUt
PmZpbGVuYW1lOwotICAgICAgICAgICAgICAgIHRvay5saW5lbnVtID0gZmlsZS0+bGluZW51bTsK
LSAgICAgICAgICAgICAgICBmaWxlLT5wb3MgPSBwICsgMTsKLSAgICAgICAgICAgICAgICByZXR1
cm4gJnRvazsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIC8qIE5vdGUgdGhlIElETCBzcGVj
IGRvZXNuJ3Qgc2VlbSB0byBhbGxvdyBmb3IgZXNjYXBlIHNlcXVlbmNlcwotICAgICAgICAgICAg
ICogaW4gc3RyaW5ncy4gKi8KLSAgICAgICAgICAgIGNoID0gKisrcDsKLSAgICAgICAgfQotICAg
IH0KLX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBsZXhpZGVudGlmaWVyIDogbGV4IGFuIGlkZW50
aWZpZXIKLSAqCi0gKiBFbnRlcjogICBzdGFydCA9IHN0YXJ0IG9mIHRva2VuCi0gKgotICogUmV0
dXJuOiAgdG9rIHN0cnVjdCwgbGlmZXRpbWUgdW50aWwgbmV4dCBjYWxsIHRvIGxleAotICovCi1z
dGF0aWMgc3RydWN0IHRvayAqCi1sZXhpZGVudGlmaWVyKGNvbnN0IGNoYXIgKnN0YXJ0KQotewot
ICAgIGNvbnN0IGNoYXIgKnAgPSBzdGFydCArIDE7Ci0gICAgZm9yICg7OykgewotICAgICAgICBp
bnQgY2ggPSAqcDsKLSAgICAgICAgaWYgKGNoICE9ICdfJyAmJiAodW5zaWduZWQpKGNoIC0gJzAn
KSA+PSAxMAotICAgICAgICAgICAgICAgICYmICh1bnNpZ25lZCkoKGNoICYgfjB4MjApIC0gJ0En
KSA+ICdaJyAtICdBJykKLSAgICAgICAgewotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0K
LSAgICAgICAgcCsrOwotICAgIH0KLSAgICB0b2sudHlwZSA9IFRPS19JREVOVElGSUVSOwotICAg
IHRvay5zdGFydCA9IHN0YXJ0OwotICAgIHRvay5sZW4gPSBwIC0gc3RhcnQ7Ci0gICAgdG9rLmZp
bGVuYW1lID0gZmlsZS0+ZmlsZW5hbWU7Ci0gICAgdG9rLmxpbmVudW0gPSBmaWxlLT5saW5lbnVt
OwotICAgIGZpbGUtPnBvcyA9IHA7Ci0gICAgLyogU2VlIGlmIHRoaXMgaXMgYSBrZXl3b3JkLiAo
VGhpcyBzZWFyY2ggaXMgYSBiaXQgbi1zcXVhcmVkLikgKi8KLSAgICB7Ci0gICAgICAgIHVuc2ln
bmVkIGludCB0eXBlID0gVE9LX0RPTVN0cmluZzsKLSAgICAgICAgcCA9IGtleXdvcmRzOwotICAg
ICAgICBmb3IgKDs7KSB7Ci0gICAgICAgICAgICB1bnNpZ25lZCBpbnQgbGVuID0gc3RybGVuKHAp
OwotICAgICAgICAgICAgaWYgKCFsZW4pCi0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAg
ICAgICBpZiAobGVuID09IHRvay5sZW4gJiYgIW1lbWNtcChzdGFydCwgcCwgbGVuKSkgewotICAg
ICAgICAgICAgICAgIHRvay50eXBlID0gdHlwZTsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAg
ICAgICAgICAgIH0KLSAgICAgICAgICAgIHAgKz0gbGVuICsgMTsKLSAgICAgICAgICAgIHR5cGUr
KzsKLSAgICAgICAgfQotICAgIH0KLSAgICByZXR1cm4gJnRvazsKLX0KLQotLyoqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqCi0gKiBsZXggOiByZXRyaWV2ZSBuZXh0IHRva2VuCi0gKgotICogUmV0dXJuOiAgdG9rIHN0
cnVjdCwgbGlmZXRpbWUgdW50aWwgbmV4dCBjYWxsIHRvIGxleAotICovCi1zdHJ1Y3QgdG9rICoK
LWxleCh2b2lkKQotewotICAgIGNvbnN0IGNoYXIgKnA7Ci0gICAgaW50IGNoOwotICAgIGZvciAo
OzspIHsKLSAgICAgICAgaWYgKCFmaWxlKSB7Ci0gICAgICAgICAgICB0b2sudHlwZSA9IFRPS19F
T0Y7Ci0gICAgICAgICAgICB0b2suc3RhcnQgPSAiZW5kIG9mIGZpbGUiOwotICAgICAgICAgICAg
dG9rLmxlbiA9IHN0cmxlbih0b2suc3RhcnQpOwotICAgICAgICAgICAgcmV0dXJuICZ0b2s7Ci0g
ICAgICAgIH0KLSAgICAgICAgdG9rLnByZXN0YXJ0ID0gcCA9IGZpbGUtPnBvczsKLSAgICAgICAg
LyogRmx1c2ggd2hpdGVzcGFjZS4gKi8KLSAgICAgICAgZm9yICg7OykgewotICAgICAgICAgICAg
Y2ggPSAqcCsrOwotICAgICAgICAgICAgc3dpdGNoIChjaCkgewotICAgICAgICAgICAgY2FzZSAn
ICc6Ci0gICAgICAgICAgICBjYXNlICdcdCc6Ci0gICAgICAgICAgICBjYXNlICdccic6Ci0gICAg
ICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAgICBjYXNlICdcbic6Ci0gICAgICAgICAg
ICAgICAgKytmaWxlLT5saW5lbnVtOwotICAgICAgICAgICAgICAgIHRvay5wcmVzdGFydCA9IHA7
Ci0gICAgICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBi
cmVhazsKLSAgICAgICAgfQotICAgICAgICBwLS07Ci0gICAgICAgIGlmIChjaCkKLSAgICAgICAg
ICAgIGJyZWFrOwotICAgICAgICBpZiAocCAhPSBmaWxlLT5lbmQpCi0gICAgICAgICAgICBsZXhl
cnJvcmV4aXQoIlxcMCBieXRlIG5vdCBhbGxvd2VkIik7Ci0gICAgICAgIGZpbGUgPSBmaWxlLT5u
ZXh0OwotICAgIH0KLSAgICAvKiBTZWUgaWYgd2UgaGF2ZSBhIGNvbW1lbnQuICovCi0gICAgdG9r
LnN0YXJ0ID0gcDsKLSAgICBpZiAoY2ggPT0gJy8nKSB7Ci0gICAgICAgIHN3aXRjaCAoKisrcCkg
ewotICAgICAgICBjYXNlICcqJzoKLSAgICAgICAgICAgIHJldHVybiBsZXhibG9ja2NvbW1lbnQo
cCAtIDEpOwotICAgICAgICBjYXNlICcvJzoKLSAgICAgICAgICAgIHJldHVybiBsZXhpbmxpbmVj
b21tZW50KHAgLSAxKTsKLSAgICAgICAgfQotICAgICAgICB0b2sudHlwZSA9ICcvJzsKLSAgICB9
IGVsc2UgewotICAgICAgICAvKiBIYW5kbGUgdGhpbmdzIHRoYXQgc3RhcnQgd2l0aCAnLScsIHdo
aWNoIGlzIGVpdGhlciAnLScgYXMgYSB0b2tlbiwKLSAgICAgICAgICogb3IgYSBudW1iZXIuIEhh
bmRsZSBudW1iZXJzLiAqLwotICAgICAgICBpZiAoY2ggPT0gJy0nIHx8ICh1bnNpZ25lZCkoY2gg
LSAnMCcpIDwgMTApCi0gICAgICAgICAgICByZXR1cm4gbGV4bnVtYmVyKHApOwotICAgICAgICAv
KiBIYW5kbGUgc3RyaW5nLiAqLwotICAgICAgICBpZiAoY2ggPT0gJyInKQotICAgICAgICAgICAg
cmV0dXJuIGxleHN0cmluZyhwKTsKLSAgICAgICAgLyogSGFuZGxlIGlkZW50aWZpZXIuICovCi0g
ICAgICAgIGlmIChjaCA9PSAnXycgfHwgKHVuc2lnbmVkKSgoY2ggJiB+MHgyMCkgLSAnQScpIDw9
ICdaJyAtICdBJykKLSAgICAgICAgICAgIHJldHVybiBsZXhpZGVudGlmaWVyKHApOwotICAgICAg
ICAvKiBUaGUgb25seSBtdWx0aS1zeW1ib2wgdG9rZW4gYXJlIC4uLiBhbmQgW10gKi8KLSAgICAg
ICAgaWYgKGNoID09ICcuJykgewotICAgICAgICAgICAgdG9rLnR5cGUgPSAnLic7Ci0gICAgICAg
ICAgICBpZiAoKisrcCA9PSAnLicgJiYgcFsxXSA9PSAnLicpIHsKLSAgICAgICAgICAgICAgICB0
b2sudHlwZSA9IFRPS19FTExJUFNJUzsKLSAgICAgICAgICAgICAgICBwICs9IDI7Ci0gICAgICAg
ICAgICB9Ci0gICAgICAgICAgICBnb3RvIGRvbmU7Ci0gICAgICAgIH0KLSAgICAgICAgaWYgKGNo
ID09ICdbJykgewotICAgICAgICAgICAgdG9rLnR5cGUgPSAnWyc7Ci0gICAgICAgICAgICBpZiAo
KisrcCA9PSAnXScpIHsKLSAgICAgICAgICAgICAgICB0b2sudHlwZSA9IFRPS19ET1VCTEVCUkFD
S0VUOwotICAgICAgICAgICAgICAgIHArKzsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGdv
dG8gZG9uZTsKLSAgICAgICAgfQotICAgIH0KLSAgICAvKiBTaW5nbGUgc3ltYm9sIHRva2VuLiAq
LwotICAgIHRvay50eXBlID0gY2g7Ci0gICAgcCsrOwotZG9uZToKLSAgICB0b2suZmlsZW5hbWUg
PSBmaWxlLT5maWxlbmFtZTsKLSAgICB0b2subGluZW51bSA9IGZpbGUtPmxpbmVudW07Ci0gICAg
dG9rLmxlbiA9IHAgLSB0b2suc3RhcnQ7Ci0gICAgZmlsZS0+cG9zID0gcDsKLSAgICByZXR1cm4g
JnRvazsKLX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBvdXRwdXR3aWRsIDogb3V0cHV0IGxpdGVy
YWwgV2ViIElETCBpbnB1dCB0aGF0IG5vZGUgd2FzIHBhcnNlZCBmcm9tCi0gKgotICogRW50ZXI6
ICAgbm9kZSA9IHBhcnNlIG5vZGUgdG8gb3V0cHV0IGxpdGVyYWwgV2ViIElETCBmb3IKLSAqLwot
dm9pZAotb3V0cHV0d2lkbChzdHJ1Y3Qgbm9kZSAqbm9kZSkKLXsKLSAgICBjb25zdCBjaGFyICpz
dGFydCA9IG5vZGUtPndzc3RhcnQsICplbmQgPSBub2RlLT5lbmQ7Ci0gICAgLyogRmluZCB0aGUg
ZmlsZSB0aGF0IHN0YXJ0IGlzIGluLiAqLwotICAgIHN0cnVjdCBmaWxlICpmaWxlID0gZmlyc3Rm
aWxlOwotICAgIHdoaWxlIChzdGFydCA8IGZpbGUtPmJ1ZiB8fCBzdGFydCA+PSBmaWxlLT5lbmQp
IHsKLSAgICAgICAgZmlsZSA9IGZpbGUtPm5leHQ7Ci0gICAgICAgIGFzc2VydChmaWxlKTsKLSAg
ICB9Ci0gICAgLyogRmluZCB0aGUgKGN1cnJlbnQgb3IpIG5leHQgbm9kZSB0aGF0IGhhcyBub2Rl
LT5zdGFydCBzZXQuIEFueSBzdWNoCi0gICAgICogbm9kZSBuZWVkcyB0byBiZSBwdXQgaW5zaWRl
IGEgPHJlZj4gZWxlbWVudC4gKi8KLSAgICB3aGlsZSAobm9kZSAmJiAhbm9kZS0+c3RhcnQpCi0g
ICAgICAgIG5vZGUgPSBub2Rld2Fsayhub2RlKTsKLSAgICAvKiBPdXRwdXQgdW50aWwgd2UgZ2V0
IHRvIHRoZSBlbmQuIFRoaXMgaGFzIHRvIGNvcGUgd2l0aCB0aGUgdGV4dAotICAgICAqIHNwYW5u
aW5nIG11bHRpcGxlIGlucHV0IGZpbGVzLiAqLwotICAgIGZvciAoOzspIHsKLSAgICAgICAgaW50
IGZpbmFsID0gZW5kID49IGZpbGUtPmJ1ZiAmJiBlbmQgPD0gZmlsZS0+ZW5kOwotICAgICAgICBj
b25zdCBjaGFyICp0aGlzZW5kID0gZmluYWwgPyBlbmQgOiBmaWxlLT5lbmQ7Ci0gICAgICAgIC8q
IE91dHB1dCB0aGUgV2ViIElETCwgb21pdHRpbmcgY29tbWVudHMuICovCi0gICAgICAgIHdoaWxl
IChzdGFydCAhPSBlbmQpIHsKLSAgICAgICAgICAgIGNvbnN0IGNoYXIgKnAsICpwMiwgKmNvbW1l
bnQsICplbmRjb21tZW50OwotICAgICAgICAgICAgaW50IGNoOwotICAgICAgICAgICAgaWYgKG5v
ZGUgJiYgc3RhcnQgPT0gbm9kZS0+c3RhcnQpIHsKLSAgICAgICAgICAgICAgICAvKiBXZSBhcmUg
b24gdGhlIHN0YXJ0IG9mIHRoZSBwcmVzZW50IG5vZGUgaW4gdGhlIHRyZWUKLSAgICAgICAgICAg
ICAgICAgKiB3YWxrLiBQdXQgaXQgaW4gYSA8cmVmPi4gKi8KLSAgICAgICAgICAgICAgICBmcHV0
cygiPHJlZj4iLCBzdGRvdXQpOwotICAgICAgICAgICAgICAgIHByaW50dGV4dChub2RlLT5zdGFy
dCwgbm9kZS0+ZW5kIC0gbm9kZS0+c3RhcnQsIDEpOwotICAgICAgICAgICAgICAgIGZwdXRzKCI8
L3JlZj4iLCBzdGRvdXQpOwotICAgICAgICAgICAgICAgIHN0YXJ0ID0gbm9kZS0+ZW5kOwotICAg
ICAgICAgICAgICAgIC8qIFNraXAgdG8gdGhlIG5leHQgbm9kZSB3aXRoIG5vZGUtPnN0YXJ0IHNl
dCBpZiBhbnkuICovCi0gICAgICAgICAgICAgICAgZG8KLSAgICAgICAgICAgICAgICAgICAgbm9k
ZSA9IG5vZGV3YWxrKG5vZGUpOwotICAgICAgICAgICAgICAgIHdoaWxlIChub2RlICYmICFub2Rl
LT5zdGFydCk7Ci0gICAgICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAgICB9Ci0gICAg
ICAgICAgICBwMiA9IHRoaXNlbmQ7Ci0gICAgICAgICAgICBpZiAobm9kZSAmJiBub2RlLT5zdGFy
dCA+PSBmaWxlLT5idWYgJiYgbm9kZS0+c3RhcnQgPCBwMikKLSAgICAgICAgICAgICAgICBwMiA9
IG5vZGUtPnN0YXJ0OwotICAgICAgICAgICAgcCA9IG1lbWNocihzdGFydCwgJy8nLCBwMiAtIHN0
YXJ0KTsKLSAgICAgICAgICAgIGlmICghcCkgewotICAgICAgICAgICAgICAgIHByaW50dGV4dChz
dGFydCwgcDIgLSBzdGFydCwgMSk7Ci0gICAgICAgICAgICAgICAgaWYgKHAyICE9IHRoaXNlbmQp
IHsKLSAgICAgICAgICAgICAgICAgICAgc3RhcnQgPSBwMjsKLSAgICAgICAgICAgICAgICAgICAg
Y29udGludWU7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGJyZWFrOwotICAg
ICAgICAgICAgfQotICAgICAgICAgICAgLyogU2VlIGlmIHdlJ3JlIGF0IHRoZSBzdGFydCBvZiBh
IGNvbW1lbnQuIElmIHNvIGZpbmQgdGhlIGVuZC4gKi8KLSAgICAgICAgICAgIGNvbW1lbnQgPSAw
OwotICAgICAgICAgICAgaWYgKHAgKyAxICE9IHRoaXNlbmQpIHsKLSAgICAgICAgICAgICAgICBz
d2l0Y2ggKHBbMV0pIHsKLSAgICAgICAgICAgICAgICBjYXNlICcqJzoKLSAgICAgICAgICAgICAg
ICAgICAgLyogQmxvY2sgY29tbWVudC4gKi8KLSAgICAgICAgICAgICAgICAgICAgY29tbWVudCA9
IHA7Ci0gICAgICAgICAgICAgICAgICAgIHArKzsKLSAgICAgICAgICAgICAgICAgICAgZG8gCi0g
ICAgICAgICAgICAgICAgICAgICAgICBwID0gbWVtY2hyKHAgKyAxLCAnKicsIHRoaXNlbmQgLSBw
IC0gMSk7Ci0gICAgICAgICAgICAgICAgICAgIHdoaWxlIChwWzFdICE9ICcvJyk7Ci0gICAgICAg
ICAgICAgICAgICAgIGVuZGNvbW1lbnQgPSBwICsgMjsKLSAgICAgICAgICAgICAgICAgICAgYnJl
YWs7Ci0gICAgICAgICAgICAgICAgY2FzZSAnLyc6Ci0gICAgICAgICAgICAgICAgICAgIC8qIElu
bGluZSBjb21tZW50LiAqLwotICAgICAgICAgICAgICAgICAgICBjb21tZW50ID0gcDsKLSAgICAg
ICAgICAgICAgICAgICAgcCA9IG1lbWNocihwLCAnXG4nLCB0aGlzZW5kIC0gcCk7Ci0gICAgICAg
ICAgICAgICAgICAgIGlmICghcCkKLSAgICAgICAgICAgICAgICAgICAgICAgIHAgPSB0aGlzZW5k
OwotICAgICAgICAgICAgICAgICAgICBlbmRjb21tZW50ID0gcDsKLSAgICAgICAgICAgICAgICAg
ICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgfQotICAgICAgICAgICAg
aWYgKCFjb21tZW50KSB7Ci0gICAgICAgICAgICAgICAgLyogTm90IGF0IHN0YXJ0IG9mIGNvbW1l
bnQuICovCi0gICAgICAgICAgICAgICAgcCsrOwotICAgICAgICAgICAgICAgIHByaW50dGV4dChz
dGFydCwgcCAtIHN0YXJ0LCAxKTsKLSAgICAgICAgICAgICAgICBzdGFydCA9IHA7Ci0gICAgICAg
ICAgICAgICAgYXNzZXJ0KHN0YXJ0IDw9IGVuZCk7Ci0gICAgICAgICAgICAgICAgY29udGludWU7
Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICAvKiBJZiB0aGUgY29tbWVudCBoYXMgb25seSB3
aGl0ZXNwYWNlIGJlZm9yZSBpdCBvbiB0aGUgbGluZSwKLSAgICAgICAgICAgICAqIGVhdCB0aGF0
IHVwLiAqLwotICAgICAgICAgICAgcCA9IGNvbW1lbnQ7Ci0gICAgICAgICAgICB3aGlsZSAocCAh
PSBzdGFydCAmJiAoKGNoID0gcFstMV0pID09ICcgJyB8fCBjaCA9PSAnXHQnKSkKLSAgICAgICAg
ICAgICAgICBwLS07Ci0gICAgICAgICAgICBpZiAocCA9PSBzdGFydCB8fCBwWy0xXSA9PSAnXG4n
KSB7Ci0gICAgICAgICAgICAgICAgY29tbWVudCA9IHA7Ci0gICAgICAgICAgICAgICAgLyogSWYg
dGhlIGNvbW1lbnQgaGFzIG9ubHkgd2hpdGVzcGFjZSBhZnRlciBpdCB0byB0aGUgZW5kCi0gICAg
ICAgICAgICAgICAgICogb2YgdGhlIGxpbmUsIGVhdCB0aGF0IGFuZCB0aGUgbmV3bGluZSB1cC4g
VGhpcyBhbHdheXMKLSAgICAgICAgICAgICAgICAgKiBoYXBwZW5zIGZvciBhbiBpbmxpbmUgY29t
bWVudCBvbiBhIGxpbmUgYnkgaXRzZWxmLiAqLwotICAgICAgICAgICAgICAgIHAgPSBlbmRjb21t
ZW50OwotICAgICAgICAgICAgICAgIHdoaWxlIChwICE9IHRoaXNlbmQgJiYgKChjaCA9ICpwKSA9
PSAnICcgfHwgY2ggPT0gJ1x0JykpCi0gICAgICAgICAgICAgICAgICAgIHArKzsKLSAgICAgICAg
ICAgICAgICBpZiAocCAhPSB0aGlzZW5kICYmICpwID09ICdcbicpCi0gICAgICAgICAgICAgICAg
ICAgIHArKzsKLSAgICAgICAgICAgICAgICBlbmRjb21tZW50ID0gcDsKLSAgICAgICAgICAgIH0K
LSAgICAgICAgICAgIHByaW50dGV4dChzdGFydCwgY29tbWVudCAtIHN0YXJ0LCAxKTsKLSAgICAg
ICAgICAgIHN0YXJ0ID0gZW5kY29tbWVudDsKLSAgICAgICAgICAgIGlmIChzdGFydCA+IHRoaXNl
bmQpCi0gICAgICAgICAgICAgICAgc3RhcnQgPSB0aGlzZW5kOwotICAgICAgICB9Ci0gICAgICAg
IGlmIChmaW5hbCkKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBmaWxlID0gZmlsZS0+bmV4
dDsKLSAgICAgICAgYXNzZXJ0KGZpbGUpOwotICAgICAgICBzdGFydCA9IGZpbGUtPmJ1ZjsKLSAg
ICB9Ci19CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mvc3JjL2xleC5oIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3dpZGxwcm9jL3NyYy9sZXguaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTMw
Yjc3YjM2NWM2MmVlOWRiNTI2ODNiY2JmMzdjN2Y2YWZmNDFiYS4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mvc3JjL2xleC5o
CisrKyAvZGV2L251bGwKQEAgLTEsMTQxICswLDAgQEAKLQotLyoqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiAk
SWQkCi0gKiBDb3B5cmlnaHQgMjAwOSBBcGxpeCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KLSAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAg
KHRoZSAiTGljZW5zZSIpOwotICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4g
Y29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgotICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9m
IHRoZSBMaWNlbnNlIGF0Ci0gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJ
Q0VOU0UtMi4wCi0gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVk
IHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCi0gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5z
ZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAotICogV0lUSE9VVCBXQVJSQU5U
SUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQu
Ci0gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcg
cGVybWlzc2lvbnMgYW5kCi0gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KLSAqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKi8KLSNpZm5kZWYgbGV4X2gKLSNkZWZpbmUgbGV4X2gKLQotLy8gc3RhcnRpbmcg
ZnJvbSAiYXR0cmlidXRlIiBhcmUgdGhlIGxpc3Qgb2YgbmFtZXMgYWxsb3dlZCBhcyBhcmd1bWVu
dHMgaWRlbnRpZmllcgotI2RlZmluZSBLRVlXT1JEUyBcCi0gICAgIkRPTVN0cmluZ1wwIiBcCi0g
ICAgIkJ5dGVTdHJpbmdcMCIgXAotICAgICJEYXRlXDAiIFwKLSAgICAiUmVnRXhwXDAiIFwKLSAg
ICAiZmFsc2VcMCIgXAotICAgICJvYmplY3RcMCIgXAotICAgICJ0cnVlXDAiIFwKLSAgICAiYW55
XDAiIFwKLSAgICAiYm9vbGVhblwwIiBcCi0gICAgImJ5dGVcMCIgXAotICAgICJkb3VibGVcMCIg
XAotICAgICJmbG9hdFwwIiBcCi0gICAgIkluZmluaXR5XDAiIFwKLSAgICAiLUluZmluaXR5XDAi
IFwKLSAgICAiaXRlcmF0b3JcMCIgXAotICAgICJsb25nXDAiIFwKLSAgICAiTmFOXDAiIFwKLSAg
ICAibnVsbFwwIiBcCi0gICAgIm9jdGV0XDAiIFwKLSAgICAib3B0aW9uYWxcMCIgXAotICAgICJv
clwwIiBcCi0gICAgInJlYWRvbmx5XDAiIFwKLSAgICAic2VxdWVuY2VcMCIgXAotICAgICJzaG9y
dFwwIiBcCi0gICAgInVuc2lnbmVkXDAiIFwKLSAgICAidm9pZFwwIiBcCi0gICAgImF0dHJpYnV0
ZVwwIiBcCi0gICAgImNhbGxiYWNrXDAiIFwKLSAgICAiY29uc3RcMCIgXAotICAgICJjcmVhdG9y
XDAiIFwKLSAgICAiZGVsZXRlclwwIiBcCi0gICAgImRpY3Rpb25hcnlcMCIgXAotICAgICJlbnVt
XDAiIFwKLSAgICAiZXhjZXB0aW9uXDAiIFwKLSAgICAiZ2V0dGVyXDAiIFwKLSAgICAiaW1wbGVt
ZW50c1wwIiBcCi0gICAgImluaGVyaXRcMCIgXAotICAgICJpbnRlcmZhY2VcMCIgXAotICAgICJs
ZWdhY3ljYWxsZXJcMCIgXAotICAgICJwYXJ0aWFsXDAiIFwKLSAgICAic2VyaWFsaXplclwwIiBc
Ci0gICAgInNldHRlclwwIiBcCi0gICAgInN0YXRpY1wwIiBcCi0gICAgInN0cmluZ2lmaWVyXDAi
IFwKLSAgICAidHlwZWRlZlwwIiBcCi0gICAgInVucmVzdHJpY3RlZFwwIgotCi0KLWVudW0gdG9r
dHlwZSB7Ci0gICAgVE9LX0VPRiA9IC0xLAotICAgIFRPS19CTE9DS0NPTU1FTlQgPSAweDgwLAot
ICAgIFRPS19JTkxJTkVDT01NRU5ULCBUT0tfSU5URUdFUiwgVE9LX0ZMT0FULCBUT0tfSURFTlRJ
RklFUiwKLSAgICBUT0tfU1RSSU5HLCBUT0tfRUxMSVBTSVMsIFRPS19ET1VCTEVCUkFDS0VULAot
ICAgIC8qIEtleXdvcmRzIG11c3QgYmUgaW4gdGhlIHNhbWUgb3JkZXIgYXMgYWJvdmUuICovCi0g
ICAgVE9LX0RPTVN0cmluZywKLSAgICBUT0tfQnl0ZVN0cmluZywKLSAgICBUT0tfRGF0ZSwKLSAg
ICBUT0tfUmVnRXhwLAotICAgIFRPS19mYWxzZSwKLSAgICBUT0tfb2JqZWN0LAotICAgIFRPS190
cnVlLAotICAgIFRPS19hbnksCi0gICAgVE9LX2Jvb2xlYW4sCi0gICAgVE9LX2J5dGUsCi0gICAg
VE9LX2RvdWJsZSwKLSAgICBUT0tfZmxvYXQsCi0gICAgVE9LX2luZmluaXR5LAotICAgIFRPS19t
aW51c2luZmluaXR5LAotICAgIFRPS19pdGVyYXRvciwKLSAgICBUT0tfbG9uZywKLSAgICBUT0tf
TmFOLAotICAgIFRPS19udWxsLAotICAgIFRPS19vY3RldCwKLSAgICBUT0tfb3B0aW9uYWwsCi0g
ICAgVE9LX29yLAotICAgIFRPS19yZWFkb25seSwKLSAgICBUT0tfc2VxdWVuY2UsCi0gICAgVE9L
X3Nob3J0LAotICAgIFRPS191bnNpZ25lZCwKLSAgICBUT0tfdm9pZCwKLSAgICAvKiBCZWxvdyB0
aGF0IGxpbmUgYXJlIGtleXdvcmRzIHRoYXQgYXJlIGFsbG93ZWQgYXMgYXJndW1lbnRzIG5hbWVz
ICovCi0gICAgVE9LX2F0dHJpYnV0ZSwKLSAgICBUT0tfY2FsbGJhY2ssCi0gICAgVE9LX2NvbnN0
LAotICAgIFRPS19jcmVhdG9yLAotICAgIFRPS19kZWxldGVyLAotICAgIFRPS19kaWN0aW9uYXJ5
LAotICAgIFRPS19lbnVtLAotICAgIFRPS19leGNlcHRpb24sCi0gICAgVE9LX2dldHRlciwKLSAg
ICBUT0tfaW1wbGVtZW50cywKLSAgICBUT0tfaW5oZXJpdCwKLSAgICBUT0tfaW50ZXJmYWNlLAot
ICAgIFRPS19sZWdhY3ljYWxsZXIsCi0gICAgVE9LX3BhcnRpYWwsCi0gICAgVE9LX3NlcmlhbGl6
ZXIsCi0gICAgVE9LX3NldHRlciwKLSAgICBUT0tfc3RhdGljLAotICAgIFRPS19zdHJpbmdpZmll
ciwKLSAgICBUT0tfdHlwZWRlZiwKLSAgICBUT0tfdW5yZXN0cmljdGVkLAotfTsKLQotc3RydWN0
IHRvayB7Ci0gICAgZW51bSB0b2t0eXBlIHR5cGU7Ci0gICAgY29uc3QgY2hhciAqZmlsZW5hbWU7
Ci0gICAgdW5zaWduZWQgaW50IGxpbmVudW07Ci0gICAgY29uc3QgY2hhciAqcHJlc3RhcnQ7Ci0g
ICAgY29uc3QgY2hhciAqc3RhcnQ7Ci0gICAgdW5zaWduZWQgaW50IGxlbjsKLX07Ci0KLWV4dGVy
biBjb25zdCBjaGFyICpmaWxlbmFtZTsKLWV4dGVybiBjb25zdCBjaGFyIGtleXdvcmRzW107Ci0K
LXN0cnVjdCBub2RlOwotCi12b2lkIHJlYWRpbnB1dChjb25zdCBjaGFyICpjb25zdCAqYXJndik7
Ci1zdHJ1Y3QgdG9rICpsZXgodm9pZCk7Ci12b2lkIG91dHB1dHdpZGwoc3RydWN0IG5vZGUgKm5v
ZGUpOwotCi0jZW5kaWYgLyogbmRlZiBsZXhfaCAqLwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dp
ZGxwcm9jL3NyYy9tYWluLmMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mvc3JjL21haW4uYwpkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZGY5MGUzNDdkZThjNWQwMWRmOTQ4NmQ3NDNkYTcwY2Vj
OGMyZjE1ZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3Qvd2lkbHByb2Mvc3JjL21haW4uYworKysgL2Rldi9udWxsCkBAIC0xLDYzICswLDAg
QEAKLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKgotICogJElkJAotICogQ29weXJpZ2h0IDIwMDkgQXBsaXggQ29y
cG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBh
Y2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKLSAqIHlvdSBtYXkgbm90
IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KLSAq
IFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAotICogICAgIGh0dHA6Ly93
d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAotICogVW5sZXNzIHJlcXVpcmVkIGJ5
IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQotICogZGlz
dHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBC
QVNJUywKLSAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBl
aXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgotICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3Bl
Y2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAotICogbGltaXRhdGlvbnMg
dW5kZXIgdGhlIExpY2Vuc2UuCi0gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi0jaW5jbHVkZSA8c3RyaW5nLmg+
Ci0jaW5jbHVkZSAibWlzYy5oIgotI2luY2x1ZGUgInByb2Nlc3MuaCIKLQotc3RhdGljIGNvbnN0
IGNoYXIgbm9kdGRvcHRbXSA9ICItbm8tZHRkLXJlZiI7Ci1jb25zdCBjaGFyICpwcm9nbmFtZTsK
LQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqCi0gKiBvcHRpb25zIDogcHJvY2VzcyBjb21tYW5kIGxpbmUgb3B0
aW9ucwotICoKLSAqIEVudGVyOiAgIGFyZ3YKLSAqCi0gKiBSZXR1cm46ICBhcmd2IHN0ZXBwZWQg
dG8gcG9pbnQgdG8gZmlyc3Qgbm9uLW9wdGlvbiBhcmd1bWVudAotICovCi1zdGF0aWMgY29uc3Qg
Y2hhciAqY29uc3QgKgotb3B0aW9ucyhpbnQgYXJnYywgY29uc3QgY2hhciAqY29uc3QgKmFyZ3Yp
Ci17Ci0gICAgLyogU2V0IHByb2duYW1lIGZvciBlcnJvciBtZXNzYWdlcyBldGMuICovCi0gICAg
ewotICAgICAgICBjb25zdCBjaGFyICpiYXNlOwotICAgICAgICBwcm9nbmFtZSA9IGFyZ3ZbMF07
Ci0gICAgICAgIGJhc2UgPSBzdHJyY2hyKHByb2duYW1lLCAnLycpOwotI2lmZGVmIERJUlNFUAot
ICAgICAgICB7Ci0gICAgICAgICAgICBjb25zdCBjaGFyICpiYXNlMiA9IHN0cnJjaHIoYmFzZSwg
J1xcJyk7Ci0gICAgICAgICAgICBpZiAoYmFzZTIgPiBiYXNlKQotICAgICAgICAgICAgICAgIGJh
c2UgPSBiYXNlMjsKLSAgICAgICAgfQotI2VuZGlmIC8qIGRlZiBESVJTRVAgKi8KLSAgICAgICAg
aWYgKGJhc2UpCi0gICAgICAgICAgICBwcm9nbmFtZSA9IGJhc2UgKyAxOwotICAgIH0KLSAgICBy
ZXR1cm4gKGFyZ2MgPiAxICYmIHN0cm5jbXAoYXJndlsxXSwgbm9kdGRvcHQsIHNpemVvZiBub2R0
ZG9wdCkgPT0gMCkKLSAgICAgICAgICA/IGFyZ3YgKyAyIDogYXJndiArIDE7Ci19Ci0KLS8qKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKgotICogbWFpbiA6IG1haW4gY29kZSBmb3IgYm9uZGlpZGwgY29tbWFuZAotICov
Ci1pbnQKLW1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQotewotICAgIGNvbnN0IGNoYXIgKmNv
bnN0ICpwYXJnOwotICAgIHBhcmcgPSBvcHRpb25zKGFyZ2MsIChjb25zdCBjaGFyICpjb25zdCAq
KWFyZ3YpOwotICAgIGlmICghKnBhcmcpCi0gICAgICAgIGVycm9yZXhpdCgidXNhZ2U6ICVzIFst
bm8tZHRkLXJlZl0gPGludGVyZmFjZT4ud2lkbCAuLi4iLCBwcm9nbmFtZSk7Ci0gICAgcHJvY2Vz
c2ZpbGVzKHBhcmcsIHBhcmcgPT0gKGNvbnN0IGNoYXIgKmNvbnN0ICopYXJndiArIDEpOwotICAg
IHJldHVybiAwOwotfQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mvc3JjL21pc2Mu
YyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC93aWRscHJvYy9zcmMvbWlzYy5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAzN2FmZjNmMzRkYjY2MTY0YzZkNjFjZmQwNGQ5ODU3NjJkYzBhOTZlLi4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJv
Yy9zcmMvbWlzYy5jCisrKyAvZGV2L251bGwKQEAgLTEsMTE5ICswLDAgQEAKLS8qKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKgotICogJElkJAotICogQ29weXJpZ2h0IDIwMDkgQXBsaXggQ29ycG9yYXRpb24uIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCi0gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZl
cnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKLSAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUg
ZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KLSAqIFlvdSBtYXkgb2J0YWlu
IGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAotICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9s
aWNlbnNlcy9MSUNFTlNFLTIuMAotICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3
IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQotICogZGlzdHJpYnV0ZWQgdW5kZXIg
dGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKLSAqIFdJVEhP
VVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBv
ciBpbXBsaWVkLgotICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2Ug
Z292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAotICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vu
c2UuCi0gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKiovCi0jaW5jbHVkZSA8c3RkYXJnLmg+Ci0jaW5jbHVkZSA8c3Rk
aW8uaD4KLSNpbmNsdWRlIDxzdGRsaWIuaD4KLSNpbmNsdWRlIDxzdHJpbmcuaD4KLSNpbmNsdWRl
ICJtaXNjLmgiCi0jaW5jbHVkZSAib3MuaCIgLyogdG8gZ2V0IHZhX2NvcHkgb24gd2luZG93cyAq
LwotCi1leHRlcm4gY29uc3QgY2hhciAqcHJvZ25hbWU7Ci0KLS8qKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICog
bWVtb3J5IGFsbG9jYXRpb24gd3JhcHBlcnMKLSAqLwotdm9pZCAqCi1tZW1hbGxvYyhzaXplX3Qg
c2l6ZSkKLXsKLSAgICB2b2lkICpwdHIgPSBtYWxsb2Moc2l6ZSk7Ci0gICAgaWYgKCFwdHIpCi0g
ICAgICAgIGVycm9yZXhpdCgib3V0IG9mIG1lbW9yeSIpOwotICAgIC8qIFplcm8gaW5pdGlhbGlz
ZSBtZW1vcnkgZnJvbSBtZW1hbGxvYy4gKi8KLSAgICBtZW1zZXQocHRyLCAwLCBzaXplKTsKLSAg
ICByZXR1cm4gcHRyOwotfQotCi12b2lkICoKLW1lbXJlYWxsb2Modm9pZCAqcHRyLCBzaXplX3Qg
c2l6ZSkKLXsKLSAgICB2b2lkICpuZXdwdHIgPSByZWFsbG9jKHB0ciwgc2l6ZSk7Ci0gICAgaWYg
KCFuZXdwdHIpCi0gICAgICAgIGVycm9yZXhpdCgib3V0IG9mIG1lbW9yeSIpOwotICAgIHJldHVy
biBuZXdwdHI7Ci19Ci0KLXZvaWQKLW1lbWZyZWUodm9pZCAqcHRyKQotewotICAgICooaW50ICop
cHRyID0gMHhmZWZlZmVmZTsKLSAgICBmcmVlKHB0cik7Ci19Ci0KLS8qKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgot
ICogdm1lbXByaW50ZiwgbWVtcHJpbnRmIDogYWxsb2NhdGUgYnVmZmVyIGFuZCBzcHJpbnRmIGlu
dG8gaXQKLSAqLwotY2hhciAqCi1tZW1wcmludGYoY29uc3QgY2hhciAqZm9ybWF0LCAuLi4pCi17
Ci0gICAgdmFfbGlzdCBhcDsKLSAgICBjaGFyICpidWY7Ci0gICAgdmFfc3RhcnQoYXAsIGZvcm1h
dCk7Ci0gICAgYnVmID0gdm1lbXByaW50Zihmb3JtYXQsIGFwKTsKLSAgICB2YV9lbmQoYXApOwot
ICAgIHJldHVybiBidWY7Ci19Ci0KLWNoYXIgKgotdm1lbXByaW50Zihjb25zdCBjaGFyICpmb3Jt
YXQsIHZhX2xpc3QgYXApCi17Ci0gICAgY2hhciAqYnVmOwotICAgIHVuc2lnbmVkIGludCBtYXgs
IGxlbjsKLSAgICB2YV9saXN0IGFwMjsKLSAgICBtYXggPSAxNjsKLSAgICBmb3IgKDs7KSB7Ci0g
ICAgICAgIHZhX2NvcHkoYXAyLCBhcCk7Ci0gICAgICAgIGJ1ZiA9IG1lbWFsbG9jKG1heCk7Ci0g
ICAgICAgIGxlbiA9IHZzbnByaW50ZihidWYsIG1heCwgZm9ybWF0LCBhcDIpOwotICAgICAgICB2
YV9lbmQoYXAyKTsKLSAgICAgICAgaWYgKGxlbiA8IG1heCkKLSAgICAgICAgICAgIGJyZWFrOwot
ICAgICAgICBtZW1mcmVlKGJ1Zik7Ci0gICAgICAgIG1heCAqPSAyOwotICAgIH0KLSAgICByZXR1
cm4gYnVmOwotfQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIGVycm9yZXhpdCA6IHByaW50IGVycm9y
IG1lc3NhZ2UgdGhlbiBleGl0Ci0gKi8KLXZvaWQKLXZsb2NlcnJvcmV4aXQoY29uc3QgY2hhciAq
ZmlsZW5hbWUsIHVuc2lnbmVkIGludCBsaW5lbnVtLAotICAgICAgICBjb25zdCBjaGFyICpmb3Jt
YXQsIHZhX2xpc3QgYXApCi17Ci0gICAgaWYgKGZpbGVuYW1lKQotICAgICAgICBmcHJpbnRmKHN0
ZGVyciwgbGluZW51bSA/ICIlczogJWk6ICIgOiAiJXM6ICIsIGZpbGVuYW1lLCBsaW5lbnVtKTsK
LSAgICB2ZnByaW50ZihzdGRlcnIsIGZvcm1hdCwgYXApOwotICAgIGZwdXRjKCdcbicsIHN0ZGVy
cik7Ci0gICAgZXhpdCgxKTsKLX0KLQotdm9pZAotbG9jZXJyb3JleGl0KGNvbnN0IGNoYXIgKmZp
bGVuYW1lLCB1bnNpZ25lZCBpbnQgbGluZW51bSwKLSAgICAgICAgY29uc3QgY2hhciAqZm9ybWF0
LCAuLi4pCi17Ci0gICAgdmFfbGlzdCBhcDsKLSAgICB2YV9zdGFydChhcCwgZm9ybWF0KTsKLSAg
ICB2bG9jZXJyb3JleGl0KGZpbGVuYW1lLCBsaW5lbnVtLCBmb3JtYXQsIGFwKTsKLSAgICB2YV9l
bmQoYXApOwotfQotCi12b2lkCi1lcnJvcmV4aXQoY29uc3QgY2hhciAqZm9ybWF0LCAuLi4pCi17
Ci0gICAgdmFfbGlzdCBhcDsKLSAgICB2YV9zdGFydChhcCwgZm9ybWF0KTsKLSAgICB2bG9jZXJy
b3JleGl0KDAsIDAsIGZvcm1hdCwgYXApOwotICAgIHZhX2VuZChhcCk7Ci19Ci0KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC93aWRscHJvYy9zcmMvbWlzYy5oIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Ny
Yy9taXNjLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAxYzM2ZDIxOGVkZWZiMmQy
MGI2OTg2OTA2MjQ5MDg0NzVlOTMwMmQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3NyYy9taXNjLmgKKysrIC9kZXYvbnVs
bApAQCAtMSwzMSArMCwwIEBACi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqICRJZCQKLSAqIENvcHlyaWdo
dCAyMDA5IEFwbGl4IENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICogTGljZW5z
ZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7
Ci0gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGgg
dGhlIExpY2Vuc2UuCi0gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQK
LSAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKLSAqIFVu
bGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywg
c29mdHdhcmUKLSAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVk
IG9uIGFuICJBUyBJUyIgQkFTSVMsCi0gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9O
UyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KLSAqIFNlZSB0aGUgTGlj
ZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQK
LSAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgotICoqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwotI2lm
bmRlZiBtaXNjX2gKLSNkZWZpbmUgbWlzY19oCi0jaW5jbHVkZSA8c3RkYXJnLmg+Ci0jaW5jbHVk
ZSA8c3RkbGliLmg+Ci0KLXZvaWQgKm1lbWFsbG9jKHNpemVfdCBzaXplKTsKLXZvaWQgKm1lbXJl
YWxsb2Modm9pZCAqcHRyLCBzaXplX3Qgc2l6ZSk7Ci12b2lkIG1lbWZyZWUodm9pZCAqcHRyKTsK
LQotY2hhciAqdm1lbXByaW50Zihjb25zdCBjaGFyICpmb3JtYXQsIHZhX2xpc3QgYXApOwotY2hh
ciAqbWVtcHJpbnRmKGNvbnN0IGNoYXIgKmZvcm1hdCwgLi4uKTsKLQotdm9pZCB2bG9jZXJyb3Jl
eGl0KGNvbnN0IGNoYXIgKmZpbGVuYW1lLCB1bnNpZ25lZCBpbnQgbGluZW51bSwgY29uc3QgY2hh
ciAqZm9ybWF0LCB2YV9saXN0IGFwKTsKLXZvaWQgbG9jZXJyb3JleGl0KGNvbnN0IGNoYXIgKmZp
bGVuYW1lLCB1bnNpZ25lZCBpbnQgbGluZW51bSwgY29uc3QgY2hhciAqZm9ybWF0LCAuLi4pOwot
dm9pZCBlcnJvcmV4aXQoY29uc3QgY2hhciAqZm9ybWF0LCAuLi4pOwotCi0jZW5kaWYgLyogbmRl
ZiBtaXNjX2ggKi8KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3NyYy9ub2RlLmMg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mvc3JjL25vZGUuYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggZDhmNzM3OTA5YTQwNDgwY2Y0ZWJmMDUxMjViYWRjNmNiOWVhMzVjNi4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mv
c3JjL25vZGUuYworKysgL2Rldi9udWxsCkBAIC0xLDMzMSArMCwwIEBACi0vKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioKLSAqICRJZCQKLSAqIENvcHlyaWdodCAyMDA5IEFwbGl4IENvcnBvcmF0aW9uLiBBbGwgcmln
aHRzIHJlc2VydmVkLgotICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJz
aW9uIDIuMCAodGhlICJMaWNlbnNlIik7Ci0gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4
Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCi0gKiBZb3UgbWF5IG9idGFpbiBh
IGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKLSAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGlj
ZW5zZXMvTElDRU5TRS0yLjAKLSAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBv
ciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKLSAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRo
ZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCi0gKiBXSVRIT1VU
IFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3Ig
aW1wbGllZC4KLSAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdv
dmVybmluZyBwZXJtaXNzaW9ucyBhbmQKLSAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNl
LgotICoKLSAqIE5vZGUtc3BlY2lmaWMgZnVuY3Rpb25zCi0gKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi0jaW5j
bHVkZSA8YXNzZXJ0Lmg+Ci0jaW5jbHVkZSA8c3RkaW8uaD4KLSNpbmNsdWRlIDxzdHJpbmcuaD4K
LSNpbmNsdWRlICJjb21tZW50LmgiCi0jaW5jbHVkZSAibGV4LmgiCi0jaW5jbHVkZSAibWlzYy5o
IgotI2luY2x1ZGUgIm5vZGUuaCIKLSNpbmNsdWRlICJwcm9jZXNzLmgiCi0KLXN0cnVjdCBub2Rl
ICoKLW5ld2VsZW1lbnQoY29uc3QgY2hhciAqbmFtZSkKLXsKLSAgICBzdHJ1Y3QgZWxlbWVudCAq
ZWxlbWVudCA9IG1lbWFsbG9jKHNpemVvZihzdHJ1Y3QgZWxlbWVudCkpOwotICAgIGVsZW1lbnQt
Pm4udHlwZSA9IE5PREVfRUxFTUVOVDsKLSAgICBlbGVtZW50LT5uYW1lID0gbmFtZTsKLSAgICBy
ZXR1cm4gJmVsZW1lbnQtPm47Ci19Ci0KLXN0cnVjdCBub2RlICoKLW5ld2F0dHIoY29uc3QgY2hh
ciAqbmFtZSwgY29uc3QgY2hhciAqdmFsKQotewotICAgIHN0cnVjdCBhdHRyICphdHRyID0gbWVt
YWxsb2Moc2l6ZW9mKHN0cnVjdCBhdHRyKSk7Ci0gICAgYXR0ci0+bi50eXBlID0gTk9ERV9BVFRS
OwotICAgIGF0dHItPm5hbWUgPSBuYW1lOwotICAgIGF0dHItPnZhbHVlID0gdmFsOwotICAgIHJl
dHVybiAmYXR0ci0+bjsKLX0KLQotc3RydWN0IG5vZGUgKgotbmV3YXR0cmxpc3Qodm9pZCkKLXsK
LSAgICBzdHJ1Y3QgYXR0cmxpc3QgKmF0dHJsaXN0ID0gbWVtYWxsb2Moc2l6ZW9mKHN0cnVjdCBh
dHRybGlzdCkpOwotICAgIGF0dHJsaXN0LT5uLnR5cGUgPSBOT0RFX0FUVFJMSVNUOwotICAgIHJl
dHVybiAmYXR0cmxpc3QtPm47Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogYWRkbm9kZSA6IGFk
ZCBub2RlIGFzIGNoaWxkIG9mIGFub3RoZXIgbm9kZQotICoKLSAqIEVudGVyOiAgIHBhcmVudCBu
b2RlCi0gKiAgICAgICAgICBjaGlsZCBub2RlCi0gKgotICogVGhlIGNoaWxkcmVuIGxpc3QgaXMg
Y29uc3RydWN0ZWQgYmFja3dhcmRzLiBUaGlzIGlzIGZpeGVkIGxhdGVyIHdpdGgKLSAqIGEgY2Fs
bCB0byByZXZlcnNlY2hpbGRyZW4uCi0gKgotICogSWYgY2hpbGQgaXMgYW4gYXR0cmxpc3QsIGl0
cyBjaGlsZHJlbiBhcmUgYWRkZWQgdG8gcGFyZW50IGFuZCB0aGUKLSAqIGF0dHJsaXN0IGlzIGZy
ZWVkLgotICovCi12b2lkCi1hZGRub2RlKHN0cnVjdCBub2RlICpwYXJlbnQsIHN0cnVjdCBub2Rl
ICpjaGlsZCkKLXsKLSAgICBpZiAoIWNoaWxkKQotICAgICAgICByZXR1cm47Ci0gICAgaWYgKGNo
aWxkLT50eXBlID09IE5PREVfQVRUUkxJU1QpIHsKLSAgICAgICAgLyogQWRkIHRoZSBhdHRycyBp
biB0aGUgYXR0cmxpc3QgdG8gcGFyZW50LiAqLwotICAgICAgICBzdHJ1Y3Qgbm9kZSAqY2hpbGQy
OwotICAgICAgICByZXZlcnNlY2hpbGRyZW4oY2hpbGQpOwotICAgICAgICBjaGlsZDIgPSBjaGls
ZC0+Y2hpbGRyZW47Ci0gICAgICAgIG1lbWZyZWUoY2hpbGQpOwotICAgICAgICB3aGlsZSAoY2hp
bGQyKSB7Ci0gICAgICAgICAgICBzdHJ1Y3Qgbm9kZSAqbmV4dCA9IGNoaWxkMi0+bmV4dDsKLSAg
ICAgICAgICAgIGFkZG5vZGUocGFyZW50LCBjaGlsZDIpOwotICAgICAgICAgICAgY2hpbGQyID0g
bmV4dDsKLSAgICAgICAgfQotICAgIH0gZWxzZSB7Ci0gICAgICAgIGNoaWxkLT5uZXh0ID0gcGFy
ZW50LT5jaGlsZHJlbjsKLSAgICAgICAgcGFyZW50LT5jaGlsZHJlbiA9IGNoaWxkOwotICAgICAg
ICBjaGlsZC0+cGFyZW50ID0gcGFyZW50OwotICAgIH0KLX0KLQotLyoqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0g
KiByZXZlcnNlY2hpbGRyZW4gOiByZWN1cnNpdmVseSByZXZlcnNlIGNoaWxkIGxpc3RzCi0gKgot
ICogQWxzbyBzZXRzIHBhcmVudCBmaWVsZCBvbiBlYWNoIG5vZGUuCi0gKi8KLXZvaWQKLXJldmVy
c2VjaGlsZHJlbihzdHJ1Y3Qgbm9kZSAqbm9kZSkKLXsKLSAgICBzdHJ1Y3Qgbm9kZSAqbmV3bGlz
dCA9IDA7Ci0gICAgc3RydWN0IG5vZGUgKmNoaWxkID0gbm9kZS0+Y2hpbGRyZW47Ci0gICAgd2hp
bGUgKGNoaWxkKSB7Ci0gICAgICAgIHN0cnVjdCBub2RlICpuZXh0ID0gY2hpbGQtPm5leHQ7Ci0g
ICAgICAgIGNoaWxkLT5wYXJlbnQgPSBub2RlOwotICAgICAgICBjaGlsZC0+bmV4dCA9IG5ld2xp
c3Q7Ci0gICAgICAgIG5ld2xpc3QgPSBjaGlsZDsKLSAgICAgICAgcmV2ZXJzZWNoaWxkcmVuKGNo
aWxkKTsKLSAgICAgICAgY2hpbGQgPSBuZXh0OwotICAgIH0KLSAgICBub2RlLT5jaGlsZHJlbiA9
IG5ld2xpc3Q7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogbm9kZWlzZW1wdHkgOiB0ZXN0IGlm
IG5vZGUgaXMgZW1wdHkgKGhhcyBubyBjaGlsZHJlbikKLSAqLwotaW50Ci1ub2RlaXNlbXB0eShz
dHJ1Y3Qgbm9kZSAqbm9kZSkKLXsKLSAgICByZXR1cm4gIW5vZGUtPmNoaWxkcmVuOwotfQotCi0v
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioKLSAqIG5vZGV3YWxrIDogc2luZ2xlIHN0ZXAgb2YgZGVwdGggbGFzdCB0
cmF2ZXJzYWwgb2Ygbm9kZSB0cmVlCi0gKgotICogUmV0dXJuOiAgbmV4dCBub2RlIGluIHdhbGss
IDAgaWYgZmluaXNoZWQKLSAqLwotc3RydWN0IG5vZGUgKgotbm9kZXdhbGsoc3RydWN0IG5vZGUg
Km5vZGUpCi17Ci0gICAgaWYgKG5vZGUtPmNoaWxkcmVuKQotICAgICAgICByZXR1cm4gbm9kZS0+
Y2hpbGRyZW47Ci0gICAgaWYgKG5vZGUtPm5leHQpCi0gICAgICAgIHJldHVybiBub2RlLT5uZXh0
OwotICAgIGRvIHsKLSAgICAgICAgbm9kZSA9IG5vZGUtPnBhcmVudDsKLSAgICAgICAgaWYgKCFu
b2RlKQotICAgICAgICAgICAgcmV0dXJuIDA7Ci0gICAgfSB3aGlsZSAoIW5vZGUtPm5leHQpOwot
ICAgIHJldHVybiBub2RlLT5uZXh0OwotfQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIGZpbmRjaGls
ZGVsZW1lbnQgOiBmaW5kIGNoaWxkIGVsZW1lbnQgb2YgYSBwYXJ0aWN1bGFyIG5hbWUKLSAqCi0g
KiBFbnRlcjogICBub2RlID0gZWxlbWVudAotICogICAgICAgICAgbmFtZSA9IG5hbWUgdG8gZmlu
ZAotICoKLSAqIFJldHVybjogIDAgZWxzZSBjaGlsZCBlbGVtZW50IG9mIHRoYXQgbmFtZQotICov
Ci1zdGF0aWMgc3RydWN0IG5vZGUgKgotZmluZGNoaWxkZWxlbWVudChzdHJ1Y3Qgbm9kZSAqbm9k
ZSwgY29uc3QgY2hhciAqbmFtZSkKLXsKLSAgICBub2RlID0gbm9kZS0+Y2hpbGRyZW47Ci0gICAg
d2hpbGUgKG5vZGUpIHsKLSAgICAgICAgaWYgKG5vZGUtPnR5cGUgPT0gTk9ERV9FTEVNRU5UKSB7
Ci0gICAgICAgICAgICBzdHJ1Y3QgZWxlbWVudCAqZWxlbWVudCA9ICh2b2lkICopbm9kZTsKLSAg
ICAgICAgICAgIGlmICghc3RyY21wKGVsZW1lbnQtPm5hbWUsIG5hbWUpKQotICAgICAgICAgICAg
ICAgIGJyZWFrOwotICAgICAgICB9Ci0gICAgICAgIG5vZGUgPSBub2RlLT5uZXh0OwotICAgIH0K
LSAgICByZXR1cm4gbm9kZTsKLX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBnZXRhdHRyIDogZ2V0
IHZhbHVlIG9mIGF0dHJpYnV0ZQotICoKLSAqIEVudGVyOiAgIG5vZGUgPSBlbGVtZW50IHRvIGZp
bmQgYXR0cmlidXRlIGluCi0gKiAgICAgICAgICBuYW1lID0gbmFtZSBvZiBhdHRyaWJ1dGUKLSAq
Ci0gKiBSZXR1cm46ICAwIGlmIG5vdCBmb3VuZCwgZWxzZSAwLXRlcm1pbmF0ZWQgc3RyaW5nIHZh
bHVlCi0gKi8KLWNvbnN0IGNoYXIgKgotZ2V0YXR0cihzdHJ1Y3Qgbm9kZSAqbm9kZSwgY29uc3Qg
Y2hhciAqbmFtZSkKLXsKLSAgICBub2RlID0gbm9kZS0+Y2hpbGRyZW47Ci0gICAgd2hpbGUgKG5v
ZGUpIHsKLSAgICAgICAgaWYgKG5vZGUtPnR5cGUgPT0gTk9ERV9BVFRSKSB7Ci0gICAgICAgICAg
ICBzdHJ1Y3QgYXR0ciAqYXR0ciA9ICh2b2lkICopbm9kZTsKLSAgICAgICAgICAgIGlmICghc3Ry
Y21wKGF0dHItPm5hbWUsIG5hbWUpKQotICAgICAgICAgICAgICAgIHJldHVybiBhdHRyLT52YWx1
ZTsKLSAgICAgICAgfQotICAgICAgICBub2RlID0gbm9kZS0+bmV4dDsKLSAgICB9Ci0gICAgcmV0
dXJuIDA7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogZmluZGNoaWxkZWxlbWVudHdpdGhuYW1l
YXR0ciA6IGZpbmQgY2hpbGQgZWxlbWVudCB3aXRoIGEgbmFtZSBhdHRyaWJ1dGUKLSAqICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBvZiBhIHBhcnRpY3VsYXIgdmFsdWUKLSAqCi0gKiBF
bnRlcjogICBub2RlID0gZWxlbWVudAotICogICAgICAgICAgbmFtZSA9IG5hbWUgdG8gZmluZAot
ICoKLSAqIFJldHVybjogIDAgZWxzZSBjaGlsZCBlbGVtZW50IHdpdGggbmFtZSBhdHRyIG9mIHRo
YXQgdmFsdWUKLSAqLwotc3RhdGljIHN0cnVjdCBub2RlICoKLWZpbmRjaGlsZGVsZW1lbnR3aXRo
bmFtZWF0dHIoc3RydWN0IG5vZGUgKm5vZGUsIGNvbnN0IGNoYXIgKm5hbWUpCi17Ci0gICAgbm9k
ZSA9IG5vZGUtPmNoaWxkcmVuOwotICAgIHdoaWxlIChub2RlKSB7Ci0gICAgICAgIGlmIChub2Rl
LT50eXBlID09IE5PREVfRUxFTUVOVCkgewotICAgICAgICAgICAgY29uc3QgY2hhciAqcyA9IGdl
dGF0dHIobm9kZSwgIm5hbWUiKTsKLSAgICAgICAgICAgIGlmIChzICYmICFzdHJjbXAocywgbmFt
ZSkpCi0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLSAgICAgICAgbm9kZSA9IG5v
ZGUtPm5leHQ7Ci0gICAgfQotICAgIHJldHVybiBub2RlOwotfQotCi0vKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioK
LSAqIGZpbmRyZXR1cm50eXBlIDogZmluZCBUeXBlIHBhcnNlIG5vZGUgZm9yIHJldHVybiB0eXBl
Ci0gKgotICogRW50ZXI6ICAgbm9kZSA9IE9wZXJhdGlvbiBlbGVtZW50Ci0gKgotICogUmV0dXJu
OiAgMCBpZiBub3QgZm91bmQsIGVsc2UgVHlwZSBwYXJzZSBub2RlIGZvciByZXR1cm4gdHlwZQot
ICovCi1zdHJ1Y3Qgbm9kZSAqCi1maW5kcmV0dXJudHlwZShzdHJ1Y3Qgbm9kZSAqbm9kZSkKLXsK
LSAgICByZXR1cm4gZmluZGNoaWxkZWxlbWVudChub2RlLCAiVHlwZSIpOwotfQotCi0vKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioKLSAqIGZpbmRwYXJhbWlkZW50aWZpZXIgOiBmaW5kIGlkZW50aWZpZXIgcGFyc2Ug
bm9kZSBmb3IgcGFyYW1ldGVyCi0gKgotICogRW50ZXI6ICAgbm9kZSA9IE9wZXJhdGlvbiBlbGVt
ZW50Ci0gKiAgICAgICAgICBuYW1lID0gcGFyYW1ldGVyIG5hbWUgdG8gZmluZAotICoKLSAqIFJl
dHVybjogIDAgaWYgbm90IGZvdW5kLCBlbHNlIG5vZGUgc3RydWN0IGZvciBwYXJhbWV0ZXIgaWRl
bnRpZmllcgotICovCi1zdHJ1Y3Qgbm9kZSAqCi1maW5kcGFyYW1pZGVudGlmaWVyKHN0cnVjdCBu
b2RlICpub2RlLCBjb25zdCBjaGFyICpuYW1lKQotewotICAgIG5vZGUgPSBmaW5kY2hpbGRlbGVt
ZW50KG5vZGUsICJBcmd1bWVudExpc3QiKTsKLSAgICBpZiAobm9kZSkKLSAgICAgICAgbm9kZSA9
IGZpbmRjaGlsZGVsZW1lbnR3aXRobmFtZWF0dHIobm9kZSwgbmFtZSk7Ci0gICAgcmV0dXJuIG5v
ZGU7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKgotICogZmluZHRocm93aWRlbnRpZmllciA6IGZpbmQg
aWRlbnRpZmllciBwYXJzZSBub2RlIGZvciBleGNlcHRpb24gbmFtZQotICoKLSAqIEVudGVyOiAg
IG5vZGUgPSBPcGVyYXRpb24gZWxlbWVudAotICogICAgICAgICAgbmFtZSA9IGV4Y2VwdGlvbiBu
YW1lIHRvIGZpbmQKLSAqCi0gKiBSZXR1cm46ICAwIGlmIG5vdCBmb3VuZCwgZWxzZSBub2RlIGZv
ciBOYW1lIGVsZW1lbnQsIGNoaWxkIG9mIFJhaXNlcwotICogICAgICAgICAgICAgIG9yIFNldFJh
aXNlcwotICovCi1zdHJ1Y3Qgbm9kZSAqCi1maW5kdGhyb3dpZGVudGlmaWVyKHN0cnVjdCBub2Rl
ICpub2RlLCBjb25zdCBjaGFyICpuYW1lKQotewotICAgIHN0cnVjdCBub2RlICpub2RlMiA9IGZp
bmRjaGlsZGVsZW1lbnQobm9kZSwgIlJhaXNlcyIpOwotICAgIGlmIChub2RlMikKLSAgICAgICAg
bm9kZTIgPSBmaW5kY2hpbGRlbGVtZW50d2l0aG5hbWVhdHRyKG5vZGUyLCBuYW1lKTsKLSAgICBp
ZiAoIW5vZGUyKSB7Ci0gICAgICAgIG5vZGUyID0gZmluZGNoaWxkZWxlbWVudChub2RlLCAiU2V0
UmFpc2VzIik7Ci0gICAgICAgIGlmIChub2RlMikKLSAgICAgICAgICAgIG5vZGUyID0gZmluZGNo
aWxkZWxlbWVudHdpdGhuYW1lYXR0cihub2RlMiwgbmFtZSk7Ci0gICAgfQotICAgIHJldHVybiBu
b2RlMjsKLX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBvdXRwdXRpZCA6IG91dHB1dCB0aGUgaWQg
b2YgYSBub2RlCi0gKi8KLXN0YXRpYyB2b2lkCi1vdXRwdXRpZChzdHJ1Y3Qgbm9kZSAqbm9kZSkK
LXsKLSAgICBpZiAobm9kZS0+cGFyZW50KQotICAgICAgICBvdXRwdXRpZChub2RlLT5wYXJlbnQp
OwotICAgIGlmIChub2RlLT5pZCkgewotICAgICAgICBmcHV0cygiOjoiLCBzdGRvdXQpOwotICAg
ICAgICBwcmludHRleHQobm9kZS0+aWQsIHN0cmxlbihub2RlLT5pZCksIDEpOwotICAgIH0KLX0K
LQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqCi0gKiBvdXRwdXRub2RlIDogb3V0cHV0IG5vZGUgYW5kIGl0cyBj
aGlsZHJlbgotICoKLSAqIEVudGVyOiAgIG5vZGUgPSBub2RlIHRvIG91dHB1dCwgYXNzdW1lZCB0
byBiZSBhbiBlbGVtZW50Ci0gKiAgICAgICAgICBpbmRlbnQKLSAqLwotdm9pZAotb3V0cHV0bm9k
ZShzdHJ1Y3Qgbm9kZSAqbm9kZSwgdW5zaWduZWQgaW50IGluZGVudCkKLXsKLSAgICBzdHJ1Y3Qg
ZWxlbWVudCAqZWxlbWVudCA9ICh2b2lkICopbm9kZTsKLSAgICBzdHJ1Y3Qgbm9kZSAqY2hpbGQ7
Ci0gICAgaW50IGVtcHR5ID0gMTsKLSAgICBwcmludGYoIiUqczwlcyIsIGluZGVudCwgIiIsIGVs
ZW1lbnQtPm5hbWUpOwotICAgIGNoaWxkID0gZWxlbWVudC0+bi5jaGlsZHJlbjsKLSAgICB3aGls
ZSAoY2hpbGQpIHsKLSAgICAgICAgc3dpdGNoKGNoaWxkLT50eXBlKSB7Ci0gICAgICAgIGNhc2Ug
Tk9ERV9FTEVNRU5UOgotICAgICAgICAgICAgZW1wdHkgPSAwOwotICAgICAgICAgICAgYnJlYWs7
Ci0gICAgICAgIGNhc2UgTk9ERV9BVFRSOgotICAgICAgICAgICAgewotICAgICAgICAgICAgICAg
IHN0cnVjdCBhdHRyICphdHRyID0gKHZvaWQgKiljaGlsZDsKLSAgICAgICAgICAgICAgICBwcmlu
dGYoIiAlcz1cIiIsIGF0dHItPm5hbWUpOwotICAgICAgICAgICAgICAgIHByaW50dGV4dChhdHRy
LT52YWx1ZSwgc3RybGVuKGF0dHItPnZhbHVlKSwgMSk7Ci0gICAgICAgICAgICAgICAgcHJpbnRm
KCJcIiIpOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLSAg
ICAgICAgY2hpbGQgPSBjaGlsZC0+bmV4dDsKLSAgICB9Ci0gICAgaWYgKG5vZGUtPmlkKSB7Ci0g
ICAgICAgIHByaW50ZigiIGlkPVwiIik7Ci0gICAgICAgIG91dHB1dGlkKG5vZGUpOwotICAgICAg
ICBwcmludGYoIlwiIik7Ci0gICAgfQotICAgIGlmICghZW1wdHkgfHwgbm9kZS0+Y29tbWVudHMg
fHwgbm9kZS0+d3NzdGFydCkgewotICAgICAgICBwcmludGYoIj5cbiIpOwotICAgICAgICBpZiAo
bm9kZS0+d3NzdGFydCkgewotICAgICAgICAgICAgcHJpbnRmKCIlKnMgIDx3ZWJpZGw+IiwgaW5k
ZW50LCAiIik7Ci0gICAgICAgICAgICBvdXRwdXR3aWRsKG5vZGUpOwotICAgICAgICAgICAgcHJp
bnRmKCI8L3dlYmlkbD5cbiIpOwotICAgICAgICB9Ci0gICAgICAgIG91dHB1dGRlc2NyaXB0aXZl
KG5vZGUsIGluZGVudCArIDIpOwotICAgICAgICBjaGlsZCA9IGVsZW1lbnQtPm4uY2hpbGRyZW47
Ci0gICAgICAgIHdoaWxlIChjaGlsZCkgewotICAgICAgICAgICAgc3dpdGNoKGNoaWxkLT50eXBl
KSB7Ci0gICAgICAgICAgICBjYXNlIE5PREVfRUxFTUVOVDoKLSAgICAgICAgICAgICAgICBvdXRw
dXRub2RlKGNoaWxkLCBpbmRlbnQgKyAyKTsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAg
ICAgICAgIH0KLSAgICAgICAgICAgIGNoaWxkID0gY2hpbGQtPm5leHQ7Ci0gICAgICAgIH0KLSAg
ICAgICAgcHJpbnRmKCIlKnM8LyVzPlxuIiwgaW5kZW50LCAiIiwgZWxlbWVudC0+bmFtZSk7Ci0g
ICAgfSBlbHNlCi0gICAgICAgIHByaW50ZigiLz5cbiIpOwotfQotCi0KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC93aWRscHJvYy9zcmMvbm9kZS5oIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3NyYy9ub2Rl
LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDJkNmUzOGU1MzIzYTg2NTdlOTAyZmM3
YTM5NzNlZWI1ZmEwZTIyMmYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3NyYy9ub2RlLmgKKysrIC9kZXYvbnVsbApAQCAt
MSw2NSArMCwwIEBACi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqICRJZCQKLSAqIENvcHlyaWdodCAyMDA5
IEFwbGl4IENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICogTGljZW5zZWQgdW5k
ZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7Ci0gKiB5
b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExp
Y2Vuc2UuCi0gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKLSAqICAg
ICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKLSAqIFVubGVzcyBy
ZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdh
cmUKLSAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFu
ICJBUyBJUyIgQkFTSVMsCi0gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBB
TlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KLSAqIFNlZSB0aGUgTGljZW5zZSBm
b3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKLSAqIGxp
bWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgotICoqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwotI2lmbmRlZiBu
b2RlX2gKLSNkZWZpbmUgbm9kZV9oCi0KLS8qIHN0cnVjdCBub2RlIDogYSBub2RlIGluIHRoZSBw
YXJzZSB0cmVlIChleGNsdWRpbmcgY29tbWVudHMpICovCi1lbnVtIHsgTk9ERV9FTEVNRU5ULCBO
T0RFX0FUVFIsIE5PREVfQVRUUkxJU1QgfTsKLXN0cnVjdCBub2RlIHsKLSAgICBpbnQgdHlwZTsK
LSAgICBzdHJ1Y3Qgbm9kZSAqbmV4dDsKLSAgICBzdHJ1Y3Qgbm9kZSAqcGFyZW50OwotICAgIHN0
cnVjdCBub2RlICpjaGlsZHJlbjsKLSAgICBzdHJ1Y3QgY29tbWVudCAqY29tbWVudHM7IC8qIGxp
c3Qgb2YgY29tbWVudHMgYXR0YWNoZWQgdG8gdGhpcyBub2RlICovCi0gICAgLyogSWYgd3NzdGFy
dCBhbmQgZW5kIGFyZSBzZXQsIHRoZXkgZ2l2ZSB0aGUgbGl0ZXJhbCBXZWIgSURMIHRoYXQgY2Fu
Ci0gICAgICogYmUgb3V0cHV0IGluIGEgPHdlYmlkbD4gZWxlbWVudC4gKi8KLSAgICBjb25zdCBj
aGFyICp3c3N0YXJ0OwotICAgIC8qIElmIHN0YXJ0IGFuZCBlbmQgYXJlIHNldCwgdGhleSBnaXZl
IHRoZSB0ZXh0IG9mIGEgc2NvcGVkIG5hbWUgdGhhdAotICAgICAqIGNhbiBiZSBlbmNsb3NlZCBp
biBhIDxyZWY+IHdoZW4gb3V0cHV0dGluZyBhIDx3ZWJpZGw+IGVsZW1lbnQgZm9yCi0gICAgICog
YW4gYW5jZXN0b3IgZWxlbWVudC4gKi8KLSAgICBjb25zdCBjaGFyICpzdGFydDsKLSAgICBjb25z
dCBjaGFyICplbmQ7Ci0gICAgY29uc3QgY2hhciAqaWQ7Ci19OwotCi1zdHJ1Y3QgZWxlbWVudCB7
Ci0gICAgc3RydWN0IG5vZGUgbjsKLSAgICBjb25zdCBjaGFyICpuYW1lOwotfTsKLQotc3RydWN0
IGF0dHIgewotICAgIHN0cnVjdCBub2RlIG47Ci0gICAgY29uc3QgY2hhciAqbmFtZTsKLSAgICBj
b25zdCBjaGFyICp2YWx1ZTsKLX07Ci0KLXN0cnVjdCBhdHRybGlzdCB7Ci0gICAgc3RydWN0IG5v
ZGUgbjsKLX07Ci0KLXN0cnVjdCBub2RlICpuZXdlbGVtZW50KGNvbnN0IGNoYXIgKm5hbWUpOwot
c3RydWN0IG5vZGUgKm5ld2F0dHIoY29uc3QgY2hhciAqbmFtZSwgY29uc3QgY2hhciAqdmFsKTsK
LXN0cnVjdCBub2RlICpuZXdhdHRybGlzdCh2b2lkKTsKLXZvaWQgYWRkbm9kZShzdHJ1Y3Qgbm9k
ZSAqcGFyZW50LCBzdHJ1Y3Qgbm9kZSAqY2hpbGQpOwotdm9pZCByZXZlcnNlY2hpbGRyZW4oc3Ry
dWN0IG5vZGUgKm5vZGUpOwotaW50IG5vZGVpc2VtcHR5KHN0cnVjdCBub2RlICpub2RlKTsKLWNv
bnN0IGNoYXIgKmdldGF0dHIoc3RydWN0IG5vZGUgKm5vZGUsIGNvbnN0IGNoYXIgKm5hbWUpOwot
c3RydWN0IG5vZGUgKm5vZGV3YWxrKHN0cnVjdCBub2RlICpub2RlKTsKLXN0cnVjdCBub2RlICpm
aW5kcmV0dXJudHlwZShzdHJ1Y3Qgbm9kZSAqbm9kZSk7Ci1zdHJ1Y3Qgbm9kZSAqZmluZHBhcmFt
aWRlbnRpZmllcihzdHJ1Y3Qgbm9kZSAqbm9kZSwgY29uc3QgY2hhciAqbmFtZSk7Ci1zdHJ1Y3Qg
bm9kZSAqZmluZHRocm93aWRlbnRpZmllcihzdHJ1Y3Qgbm9kZSAqbm9kZSwgY29uc3QgY2hhciAq
bmFtZSk7Ci12b2lkIG91dHB1dG5vZGUoc3RydWN0IG5vZGUgKm5vZGUsIHVuc2lnbmVkIGludCBp
bmRlbnQpOwotCi0jZW5kaWYgLyogbmRlZiBub2RlX2ggKi8KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3dpZGxwcm9jL3NyYy9vcy5oIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3NyYy9vcy5oCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhYzhmNDE4OWQxOTQyOWFiODFlZDkxYzhhNTZlMTc4
ZTA4NGQ0YmVlLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC93aWRscHJvYy9zcmMvb3MuaAorKysgL2Rldi9udWxsCkBAIC0xLDMxICswLDAg
QEAKLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKgotICogJElkJAotICogQ29weXJpZ2h0IDIwMDkgQXBsaXggQ29y
cG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBh
Y2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKLSAqIHlvdSBtYXkgbm90
IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KLSAq
IFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAotICogICAgIGh0dHA6Ly93
d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAotICogVW5sZXNzIHJlcXVpcmVkIGJ5
IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQotICogZGlz
dHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBC
QVNJUywKLSAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBl
aXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgotICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3Bl
Y2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAotICogbGltaXRhdGlvbnMg
dW5kZXIgdGhlIExpY2Vuc2UuCi0gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi0jaWZuZGVmIG9zX2gKLSNkZWZp
bmUgb3NfaAotCi0vKiBMaW51eCBjb25maWd1cmF0aW9uICovCi0jaWYgZGVmaW5lZChfX2dudV9s
aW51eF9fKQotCi0KLS8qIFdpbmRvd3MgY29uZmlndXJhdGlvbiAqLwotI2VsaWYgZGVmaW5lZChf
TVNDX1ZFUikKLQotI2RlZmluZSBpbmxpbmUgX19pbmxpbmUKLSNkZWZpbmUgc3RybmNhc2VjbXAg
c3RybmljbXAKLSNkZWZpbmUgc25wcmludGYgX3NucHJpbnRmCi0jZGVmaW5lIHZhX2NvcHkoYSxi
KSAoKGEpPShiKSkKLQotI2VuZGlmCi0KLSNlbmRpZiAvKiBuZGVmIG9zX2ggKi8KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC93aWRscHJvYy9zcmMvcGFyc2UuYyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9z
cmMvcGFyc2UuYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzBlODQ1NGNlYWM1OWE1
ZTg5MGJmMDllYjgxYjY1NGI3ZjRhODZiOC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mvc3JjL3BhcnNlLmMKKysrIC9kZXYv
bnVsbApAQCAtMSwxNDE0ICswLDAgQEAKLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogJElkJAotICogQ29w
eXJpZ2h0IDIwMDkgQXBsaXggQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKiBM
aWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vu
c2UiKTsKLSAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ug
d2l0aCB0aGUgTGljZW5zZS4KLSAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5z
ZSBhdAotICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAot
ICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0
aW5nLCBzb2Z0d2FyZQotICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJp
YnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKLSAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05E
SVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgotICogU2VlIHRo
ZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25z
IGFuZAotICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCi0gKgotICogSGFuZC1jcmFm
dGVkIHJlY3Vyc2l2ZSBkZXNjZW50IHBhcnNlciBmb3IgV2ViIElETCBncmFtbWFyLgotICoqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqLwotI2luY2x1ZGUgPGFzc2VydC5oPgotI2luY2x1ZGUgPHN0ZGFyZy5oPgotI2lu
Y2x1ZGUgPHN0ZGlvLmg+Ci0jaW5jbHVkZSA8c3RyaW5nLmg+Ci0KLSNpbmNsdWRlICJjb21tZW50
LmgiCi0jaW5jbHVkZSAibGV4LmgiCi0jaW5jbHVkZSAibWlzYy5oIgotI2luY2x1ZGUgIm5vZGUu
aCIKLSNpbmNsdWRlICJwYXJzZS5oIgotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIHRva2Vycm9yZXhp
dCA6IGVycm9yIGFuZCBleGl0IHdpdGggbGluZSBudW1iZXIgZnJvbSB0b2tlbgotICovCi1zdGF0
aWMgdm9pZAotdG9rZXJyb3JleGl0KHN0cnVjdCB0b2sgKnRvaywgY29uc3QgY2hhciAqZm9ybWF0
LCAuLi4pCi17Ci0gICAgdmFfbGlzdCBhcDsKLSAgICBjaGFyICptOwotICAgIHZhX3N0YXJ0KGFw
LCBmb3JtYXQpOwotICAgIG0gPSB2bWVtcHJpbnRmKGZvcm1hdCwgYXApOwotICAgIGlmICh0b2st
PnR5cGUgPT0gVE9LX0VPRikKLSAgICAgICAgbG9jZXJyb3JleGl0KHRvay0+ZmlsZW5hbWUsIHRv
ay0+bGluZW51bSwgImF0IGVuZCBvZiBpbnB1dDogJXMiLCBtKTsKLSAgICBlbHNlCi0gICAgICAg
IGxvY2Vycm9yZXhpdCh0b2stPmZpbGVuYW1lLCB0b2stPmxpbmVudW0sICJhdCAnJS4qcyc6ICVz
IiwgdG9rLT5sZW4sIHRvay0+c3RhcnQsIG0pOwotICAgIHZhX2VuZChhcCk7Ci19Ci0KLS8qKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKgotICogbGV4bm9jb21tZW50IDogbGV4IG5leHQgdG9rZW4sIGRpc2NhcmRpbmcg
b3Igc3RvcmluZyBjb21tZW50cwotICoKLSAqIEEgYmxvY2sgY29tbWVudCBzdGFydGluZyB3aXRo
IHwqKiBvciB8KiEgaXMgYSBkb3h5Z2VuIGNvbW1lbnQuCi0gKiBJZiBpdCBzdGFydHMgd2l0aCB8
Kio8IG9yIHwqITwgdGhlbiBpdCByZWZlcnMgdG8gdGhlIHByZXZpb3VzCi0gKiBpZGVudGlmaWVy
LCBub3QgdGhlIG5leHQgb25lLiAoSSBhbSB1c2luZyB8IHRvIHJlcHJlc2VudCAvIG90aGVyd2lz
ZQotICogdGhpcyBjb21tZW50IHdvdWxkIGJlIGlsbGVnYWwuKQotICoKLSAqIEFuIGlubGluZSBj
b21tZW50IHN0YXJ0aW5nIHdpdGggLy8vIG9yIC8vISBpcyBhIGRveHlnZW4gY29tbWVudC4KLSAq
IElmIGl0IHN0YXJ0cyB3aXRoIC8vLzwgb3IgLy8hPCB0aGVuIGl0IHJlZmVycyB0byB0aGUgcHJl
dmlvdXMKLSAqIGlkZW50aWZpZXIsIG5vdCB0aGUgbmV4dCBvbmUuCi0gKi8KLXN0YXRpYyBzdHJ1
Y3QgdG9rICoKLWxleG5vY29tbWVudCh2b2lkKQotewotICAgIHN0cnVjdCB0b2sgKnRvazsKLSAg
ICBmb3IgKDs7KSB7Ci0gICAgICAgIHRvayA9IGxleCgpOwotICAgICAgICBpZiAodG9rLT50eXBl
ICE9IFRPS19CTE9DS0NPTU1FTlQgJiYgdG9rLT50eXBlICE9IFRPS19JTkxJTkVDT01NRU5UKQot
ICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGFkZGNvbW1lbnQodG9rKTsKLSAgICB9Ci0gICAg
cmV0dXJuIHRvazsKLX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBlYXQgOiBjaGVjayB0b2tlbiB0
aGVuIHJlYWQgdGhlIGZvbGxvd2luZyBvbmUKLSAqCi0gKiBFbnRlcjogICB0b2sgc3RydWN0Ci0g
KiAgICAgICAgICB0eXBlID0gdHlwZSBvZiB0b2tlbiBleHBlY3RlZCwgZXJyb3IgZ2l2ZW4gaWYg
bm8gbWF0Y2gKLSAqCi0gKiBPbiByZXR1cm4sIHRvayBpcyB1cGRhdGVkIHRvIHRoZSBmb2xsb3dp
bmcgdG9rZW4uCi0gKi8KLXN0YXRpYyB2b2lkCi1lYXQoc3RydWN0IHRvayAqdG9rLCBpbnQgdHlw
ZSkKLXsKLSAgICBpZiAodG9rLT50eXBlICE9IHR5cGUpIHsKLSAgICAgICAgY29uc3QgY2hhciAq
cDsKLSAgICAgICAgaWYgKHR5cGUgPCBUT0tfRE9NU3RyaW5nKQotICAgICAgICAgICAgdG9rZXJy
b3JleGl0KHRvaywgImV4cGVjdGVkICclYyciLCB0eXBlKTsKLSAgICAgICAgcCA9IGtleXdvcmRz
OwotICAgICAgICB3aGlsZSAodHlwZSAhPSBUT0tfRE9NU3RyaW5nKSB7Ci0gICAgICAgICAgICBw
ICs9IHN0cmxlbihwKSArIDE7Ci0gICAgICAgICAgICB0eXBlLS07Ci0gICAgICAgIH0KLSAgICAg
ICAgdG9rZXJyb3JleGl0KHRvaywgImV4cGVjdGVkICclcyciLCBwKTsKLSAgICB9Ci0gICAgbGV4
bm9jb21tZW50KCk7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogc2V0aWQgOiBmbGFnIHRoYXQg
YW4gaWQgYXR0cmlidXRlIGlzIHJlcXVpcmVkIG9uIG5vZGUKLSAqCi0gKiBFbnRlcjogICBub2Rl
Ci0gKgotICogbm9kZS0+aWQgaXMgc2V0IHRvIHRoZSB2YWx1ZSBvZiB0aGUgbmFtZSBhdHRyaWJ1
dGUuIFRoaXMgbWFrZXMKLSAqIG91dHB1dG5vZGUgZ2l2ZSBpdCBhbiBpZCBhdHRyaWJ1dGUgd2hv
c2UgdmFsdWUgaXMgdGhlIGlkIGF0dHJpYnV0ZQotICogb2YgdGhlIHBhcmVudCBpZiBhbnksIHRo
ZW4gIjo6IiwgdGhlbiBub2RlLT5pZC4KLSAqLwotc3RhdGljIHZvaWQKLXNldGlkKHN0cnVjdCBu
b2RlICpub2RlKQotewotICAgIG5vZGUtPmlkID0gZ2V0YXR0cihub2RlLCAibmFtZSIpOwotfQot
Ci0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioKLSAqIHNldGlkZW50aWZpZXIgOiBhbGxvY2F0ZSAwLXRlcm1pbmF0
ZWQgc3RyaW5nIGZvciBpZGVudGlmaWVyIHRva2VuCi0gKgotICogRW50ZXI6ICAgdG9rID0gdG9r
ZW4sIGVycm9yIGdpdmVuIGlmIG5vdCBpZGVudGlmaWVyCi0gKgotICogUmV0dXJuOiAgYWxsb2Nh
dGVkIDAtdGVybWluYXRlZCBzdHJpbmcKLSAqLwotc3RhdGljIGNoYXIgKgotc2V0aWRlbnRpZmll
cihzdHJ1Y3QgdG9rICp0b2spCi17Ci0gICAgY2hhciAqczsKLSAgICBpZiAodG9rLT50eXBlICE9
IFRPS19JREVOVElGSUVSKQotICAgICAgICB0b2tlcnJvcmV4aXQodG9rLCAiZXhwZWN0ZWQgaWRl
bnRpZmllciIpOwotICAgIHMgPSBtZW1wcmludGYoIiUuKnMiLCB0b2stPmxlbiwgdG9rLT5zdGFy
dCk7Ci0gICAgcmV0dXJuIHM7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogc2V0YXJndW1lbnRu
YW1lIDogYWxsb2NhdGUgMC10ZXJtaW5hdGVkIHN0cmluZyBmb3IgaWRlbnRpZmllciB0b2tlbgot
ICoKLSAqIEVudGVyOiAgIHRvayA9IHRva2VuLCBlcnJvciBnaXZlbiBpZiBub3QgaWRlbnRpZmll
cgotICoKLSAqIFJldHVybjogIGFsbG9jYXRlZCAwLXRlcm1pbmF0ZWQgc3RyaW5nCi0gKi8KLXN0
YXRpYyBjaGFyICoKLXNldGFyZ3VtZW50bmFtZShzdHJ1Y3QgdG9rICp0b2spCi17Ci0gICAgY2hh
ciAqczsKLSAgICBpZiAodG9rLT50eXBlICE9IFRPS19JREVOVElGSUVSICYmIHRvay0+dHlwZSA8
IFRPS19hdHRyaWJ1dGUpCi0gICAgICAgIHRva2Vycm9yZXhpdCh0b2ssICJleHBlY3RlZCBhcmd1
bWVudCBuYW1lIik7Ci0gICAgcyA9IG1lbXByaW50ZigiJS4qcyIsIHRvay0+bGVuLCB0b2stPnN0
YXJ0KTsKLSAgICByZXR1cm4gczsKLX0KLQotCi0vKiBQcm90b3R5cGVzIGZvciBmdW5jcyB0aGF0
IGhhdmUgYSBmb3J3YXJkIHJlZmVyZW5jZS4gKi8KLXN0YXRpYyBzdHJ1Y3Qgbm9kZSAqcGFyc2V0
eXBlKHN0cnVjdCB0b2sgKnRvayk7Ci1zdGF0aWMgc3RydWN0IG5vZGUgKnBhcnNlZGVmYXVsdHZh
bHVlKHN0cnVjdCB0b2sgKnRvaywgc3RydWN0IG5vZGUgKnBhcmVudCk7Ci1zdGF0aWMgc3RydWN0
IG5vZGUgKnBhcnNldW5pb250eXBlKHN0cnVjdCB0b2sgKnRvayk7Ci1zdGF0aWMgc3RydWN0IG5v
ZGUgKnBhcnNlYXJndW1lbnRsaXN0KHN0cnVjdCB0b2sgKnRvayk7Ci1zdGF0aWMgdm9pZCBwYXJz
ZWRlZmluaXRpb25zKHN0cnVjdCB0b2sgKnRvaywgc3RydWN0IG5vZGUgKnBhcmVudCk7Ci1zdGF0
aWMgc3RydWN0IG5vZGUgKnBhcnNldHlwZXN1ZmZpeHN0YXJ0aW5nd2l0aGFycmF5KHN0cnVjdCB0
b2sgKnRvaywgc3RydWN0IG5vZGUgKm5vZGUpOwotCi0vKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIHBhcnNl
c2NvcGVkbmFtZSA6IHBhcnNlIFs1M10gU2NvcGVkTmFtZQotICoKLSAqIEVudGVyOiAgIHRvayA9
IG5leHQgdG9rZW4KLSAqICAgICAgICAgIG5hbWUgPSBuYW1lIG9mIGF0dHJpYnV0ZSB0byBwdXQg
c2NvcGVkIG5hbWUgaW4KLSAqICAgICAgICAgIHJlZiA9IHdoZXRoZXIgdG8gZW5hYmxlIGVuY2xv
c2luZyBvZiB0aGUgbmFtZSBpbiA8cmVmPiBpbgotICogICAgICAgICAgICAgICAgb3V0cHV0d2lk
bAotICoKLSAqIFJldHVybjogIG5vZGUgc3RydWN0IGZvciBuZXcgYXR0cmlidXRlCi0gKiAgICAg
ICAgICB0b2sgdXBkYXRlZAotICovCi1zdGF0aWMgc3RydWN0IG5vZGUgKgotcGFyc2VzY29wZWRu
YW1lKHN0cnVjdCB0b2sgKnRvaywgY29uc3QgY2hhciAqbmFtZSwgaW50IHJlZikKLXsKLSAgICBj
b25zdCBjaGFyICpzdGFydCA9IHRvay0+c3RhcnQsICplbmQ7Ci0gICAgc3RydWN0IG5vZGUgKm5v
ZGU7Ci0gICAgdW5zaWduZWQgaW50IGxlbiA9IDA7Ci0gICAgY2hhciAqcyA9IG1lbWFsbG9jKDMp
OwotICAgIGlmICh0b2stPnR5cGUgIT0gVE9LX0lERU5USUZJRVIpCi0gICAgICAgIHRva2Vycm9y
ZXhpdCh0b2ssICJleHBlY3RlZCBpZGVudGlmaWVyIik7Ci0gICAgcyA9IG1lbXJlYWxsb2Mocywg
bGVuICsgdG9rLT5sZW4gKyAxKTsKLSAgICBtZW1jcHkocyArIGxlbiwgdG9rLT5zdGFydCwgdG9r
LT5sZW4pOwotICAgIGxlbiArPSB0b2stPmxlbjsKLSAgICBlbmQgPSB0b2stPnN0YXJ0ICsgdG9r
LT5sZW47Ci0gICAgbGV4bm9jb21tZW50KCk7Ci0gICAgc1tsZW5dID0gMDsKLSAgICBub2RlID0g
bmV3YXR0cihuYW1lLCBzKTsKLSAgICBpZiAocmVmKSB7Ci0gICAgICAgIG5vZGUtPnN0YXJ0ID0g
c3RhcnQ7Ci0gICAgICAgIG5vZGUtPmVuZCA9IGVuZDsKLSAgICB9Ci0gICAgcmV0dXJuIG5vZGU7
Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKgotICogcGFyc2VzY29wZWRuYW1lbGlzdCA6IHBhcnNlIFs1
MV0gU2NvcGVkTmFtZUxpc3QKLSAqCi0gKiBFbnRlcjogICB0b2sgPSBuZXh0IHRva2VuCi0gKiAg
ICAgICAgICBuYW1lID0gbmFtZSBvZiBlbGVtZW50IGZvciBzY29wZWQgbmFtZSBsaXN0Ci0gKiAg
ICAgICAgICBuYW1lMiA9IG5hbWUgb2YgZWxlbWVudCBmb3IgZW50cnkgaW4gbGlzdAotICogICAg
ICAgICAgY29tbWVudCA9IHdoZXRoZXIgdG8gYXR0YWNoIGRvY3VtZW50YXRpb24gdG8gZWFjaCBu
YW1lCi0gKgotICogUmV0dXJuOiAgbm9kZSBmb3IgbGlzdCBvZiBzY29wZWQgbmFtZXMKLSAqICAg
ICAgICAgIHRvayB1cGRhdGVkCi0gKi8KLXN0YXRpYyBzdHJ1Y3Qgbm9kZSAqCi1wYXJzZXNjb3Bl
ZG5hbWVsaXN0KHN0cnVjdCB0b2sgKnRvaywgY29uc3QgY2hhciAqbmFtZSwgY29uc3QgY2hhciAq
bmFtZTIsCi0gICAgICAgIGludCBjb21tZW50KQotewotICAgIHN0cnVjdCBub2RlICpub2RlID0g
bmV3ZWxlbWVudChuYW1lKTsKLSAgICBmb3IgKDs7KSB7Ci0gICAgICAgIHN0cnVjdCBub2RlICph
dHRyID0gcGFyc2VzY29wZWRuYW1lKHRvaywgIm5hbWUiLCAxKTsKLSAgICAgICAgc3RydWN0IG5v
ZGUgKm4gPSBuZXdlbGVtZW50KG5hbWUyKTsKLSAgICAgICAgaWYgKGNvbW1lbnQpCi0gICAgICAg
ICAgICBzZXRjb21tZW50bm9kZShuKTsKLSAgICAgICAgYWRkbm9kZShuLCBhdHRyKTsKLSAgICAg
ICAgYWRkbm9kZShub2RlLCBuKTsKLSAgICAgICAgaWYgKHRvay0+dHlwZSAhPSAnLCcpCi0gICAg
ICAgICAgICBicmVhazsKLSAgICAgICAgbGV4bm9jb21tZW50KCk7Ci0gICAgfQotICAgIHJldHVy
biBub2RlOwotfQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIHBhcnNlcmV0dXJudHlwZSA6IHBhcnNl
IFs1MF0gUmV0dXJuVHlwZQotICoKLSAqIEVudGVyOiAgIHRvayA9IG5leHQgdG9rZW4KLSAqCi0g
KiBSZXR1cm46ICBub2RlIGZvciB0eXBlCi0gKiAgICAgICAgICB0b2sgdXBkYXRlZAotICovCi1z
dGF0aWMgc3RydWN0IG5vZGUgKgotcGFyc2VyZXR1cm50eXBlKHN0cnVjdCB0b2sgKnRvaykKLXsK
LSAgICBpZiAodG9rLT50eXBlID09IFRPS192b2lkKSB7Ci0gICAgICAgIHN0cnVjdCBub2RlICpu
b2RlID0gbmV3ZWxlbWVudCgiVHlwZSIpOwotICAgICAgICBhZGRub2RlKG5vZGUsIG5ld2F0dHIo
InR5cGUiLCAidm9pZCIpKTsKLSAgICAgICAgbGV4bm9jb21tZW50KCk7Ci0gICAgICAgIHJldHVy
biBub2RlOwotICAgIH0KLSAgICByZXR1cm4gcGFyc2V0eXBlKHRvayk7Ci19Ci0KLS8qKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKgotICogcGFyc2V1bnNpZ25lZGludGVnZXJ0eXBlIDogcGFyc2UgWzQ2XSBVbnNpZ25l
ZEludGVnZXJUeXBlCi0gKgotICogRW50ZXI6ICAgdG9rID0gbmV4dCB0b2tlbiAob25lIG9mICJ1
bnNpZ25lZCIsICJzaG9ydCIgb3IgImxvbmciKQotICoKLSAqIFJldHVybjogIDAtdGVybWluYXRl
ZCBjYW5vbmljYWwgc3RyaW5nIGZvciB0aGUgdHlwZQotICogICAgICAgICAgdG9rIHVwZGF0ZWQg
dG8ganVzdCBwYXN0IFVuc2lnbmVkSW50ZWdlclR5cGUKLSAqLwotc3RhdGljIGNvbnN0IGNoYXIg
KgotcGFyc2V1bnNpZ25lZGludGVnZXJ0eXBlKHN0cnVjdCB0b2sgKnRvaykKLXsKLSAgICBzdGF0
aWMgY29uc3QgY2hhciAqbmFtZXNbXSA9IHsKLSAgICAgICAgInNob3J0IiwgImxvbmciLCAibG9u
ZyBsb25nIiwgMCwKLSAgICAgICAgInVuc2lnbmVkIHNob3J0IiwgInVuc2lnbmVkIGxvbmciLCAi
dW5zaWduZWQgbG9uZyBsb25nIiB9OwotICAgIGVudW0geyBUWVBFX1NIT1JULCBUWVBFX0xPTkcs
IFRZUEVfTE9OR0xPTkcsCi0gICAgICAgICAgIFRZUEVfVU5TSUdORUQgPSA0IH07Ci0gICAgaW50
IHR5cGUgPSAwOwotICAgIGlmICh0b2stPnR5cGUgPT0gVE9LX3Vuc2lnbmVkKSB7Ci0gICAgICAg
IHR5cGUgPSBUWVBFX1VOU0lHTkVEOwotICAgICAgICBsZXhub2NvbW1lbnQoKTsKLSAgICB9Ci0g
ICAgaWYgKHRvay0+dHlwZSA9PSBUT0tfc2hvcnQpIHsKLSAgICAgICAgdHlwZSB8PSBUWVBFX1NI
T1JUOwotICAgICAgICBsZXhub2NvbW1lbnQoKTsKLSAgICB9IGVsc2UgaWYgKHRvay0+dHlwZSAh
PSBUT0tfbG9uZykKLSAgICAgICAgdG9rZXJyb3JleGl0KHRvaywgImV4cGVjdGVkICdzaG9ydCcg
b3IgJ2xvbmcnIGFmdGVyICd1bnNpZ25lZCciKTsKLSAgICBlbHNlIHsKLSAgICAgICAgdHlwZSB8
PSBUWVBFX0xPTkc7Ci0gICAgICAgIGxleG5vY29tbWVudCgpOwotICAgICAgICBpZiAodG9rLT50
eXBlID09IFRPS19sb25nKSB7Ci0gICAgICAgICAgICB0eXBlICs9IFRZUEVfTE9OR0xPTkcgLSBU
WVBFX0xPTkc7Ci0gICAgICAgICAgICBsZXhub2NvbW1lbnQoKTsKLSAgICAgICAgfQotICAgIH0K
LSAgICByZXR1cm4gbmFtZXNbdHlwZV07Ci19Ci0vKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIHBhcnNldHlw
ZXN1ZmZpeCA6IHBhcnNlIFs0NF0gVHlwZVN1ZmZpeAotICoKLSAqIEVudGVyOiAgIHRvayA9IG5l
eHQgdG9rZW4KLSAqCi0gKiBSZXR1cm46ICBub2RlIGZvciB0eXBlCi0gKiAgICAgICAgICB0b2sg
dXBkYXRlZAotICovCi1zdGF0aWMgc3RydWN0IG5vZGUgKgotcGFyc2V0eXBlc3VmZml4KHN0cnVj
dCB0b2sgKnRvaywgc3RydWN0IG5vZGUgKm5vZGUpCi17Ci0gICAgaWYgKHRvay0+dHlwZSA9PSBU
T0tfRE9VQkxFQlJBQ0tFVCkgewotICAgICAgICBzdHJ1Y3Qgbm9kZSAqdHlwZW5vZGUgPSBub2Rl
OwotCW5vZGUgPSBuZXdlbGVtZW50KCJUeXBlIik7Ci0gICAgICAgIGFkZG5vZGUobm9kZSwgbmV3
YXR0cigidHlwZSIsICJhcnJheSIpKTsKLSAgICAgICAgYWRkbm9kZShub2RlLCB0eXBlbm9kZSk7
Ci0gICAgICAgIGxleG5vY29tbWVudCgpOwotCW5vZGUgPSBwYXJzZXR5cGVzdWZmaXgodG9rLCBu
b2RlKTsKLSAgICB9IGVsc2UgaWYgKHRvay0+dHlwZSA9PSAnPycpIHsKLSAgICAgICAgYWRkbm9k
ZShub2RlLCBuZXdhdHRyKCJudWxsYWJsZSIsICJudWxsYWJsZSIpKTsKLSAgICAgICAgbGV4bm9j
b21tZW50KCk7Ci0Jbm9kZSA9IHBhcnNldHlwZXN1ZmZpeHN0YXJ0aW5nd2l0aGFycmF5KHRvaywg
bm9kZSk7Ci0gICAgfQotICAgIHJldHVybiBub2RlOwotfQotCi0vKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAq
IHBhcnNldHlwZXN1ZmZpeHN0YXJ0aW5nd2l0aGFycmF5IDogcGFyc2UgWzQ0XSBUeXBlU3VmZml4
U3RhcnRpbmdXaXRoQXJyYXkKLSAqCi0gKiBFbnRlcjogICB0b2sgPSBuZXh0IHRva2VuCi0gKgot
ICogUmV0dXJuOiAgbm9kZSBmb3IgdHlwZQotICogICAgICAgICAgdG9rIHVwZGF0ZWQKLSAqLwot
c3RhdGljIHN0cnVjdCBub2RlICoKLXBhcnNldHlwZXN1ZmZpeHN0YXJ0aW5nd2l0aGFycmF5KHN0
cnVjdCB0b2sgKnRvaywgIHN0cnVjdCBub2RlICpub2RlKQotewotICAgIGlmICh0b2stPnR5cGUg
PT0gVE9LX0RPVUJMRUJSQUNLRVQpIHsKLSAgICAgICAgc3RydWN0IG5vZGUgKnR5cGVub2RlID0g
bm9kZTsKLQlub2RlID0gbmV3ZWxlbWVudCgiVHlwZSIpOwotICAgICAgICBhZGRub2RlKG5vZGUs
IG5ld2F0dHIoInR5cGUiLCAiYXJyYXkiKSk7Ci0gICAgICAgIGFkZG5vZGUobm9kZSwgdHlwZW5v
ZGUpOwotICAgICAgICBsZXhub2NvbW1lbnQoKTsKLQlub2RlID0gcGFyc2V0eXBlc3VmZml4KHRv
aywgbm9kZSk7Ci0gICAgfQotICAgIHJldHVybiBub2RlOwotfQotCi0vKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioK
LSAqIHBhcnNlcHJpbWl0aXZlb3JzdHJpbmd0eXBlIDogcGFyc2UgWzQ1XSBQcmltaXRpdmVPclN0
cmluZwotICoKLSAqIEVudGVyOiAgIHRvayA9IG5leHQgdG9rZW4KLSAqCi0gKiBSZXR1cm46ICBu
b2RlIGZvciB0eXBlCi0gKiAgICAgICAgICB0b2sgdXBkYXRlZAotICovCi1zdGF0aWMgc3RydWN0
IG5vZGUgKgotcGFyc2VwcmltaXRpdmVvcnN0cmluZ3R5cGUoc3RydWN0IHRvayAqdG9rKQotewot
ICBzdHJ1Y3Qgbm9kZSAqbm9kZTsKLSAgICBzd2l0Y2ggKHRvay0+dHlwZSkgewotICAgIGNhc2Ug
VE9LX3Vuc2lnbmVkOgotICAgIGNhc2UgVE9LX3Nob3J0OgotICAgIGNhc2UgVE9LX2xvbmc6Ci0g
ICAgICAgIG5vZGUgPSBuZXdlbGVtZW50KCJUeXBlIik7Ci0gICAgICAgIGFkZG5vZGUobm9kZSwg
bmV3YXR0cigidHlwZSIsIHBhcnNldW5zaWduZWRpbnRlZ2VydHlwZSh0b2spKSk7Ci0gICAgICAg
IGJyZWFrOwotICAgIGRlZmF1bHQ6Ci0gICAgICAgIG5vZGUgPSBuZXdlbGVtZW50KCJUeXBlIik7
Ci0gICAgICAgIHN3aXRjaCAodG9rLT50eXBlKSB7Ci0gICAgICAgIGRlZmF1bHQ6Ci0gICAgICAg
ICAgICB0b2tlcnJvcmV4aXQodG9rLCAiZXhwZWN0ZWQgdHlwZSIpOwotICAgICAgICAgICAgYnJl
YWs7Ci0JY2FzZSBUT0tfdW5yZXN0cmljdGVkOgotCSAgbGV4bm9jb21tZW50KCk7Ci0JICBpZiAo
dG9rLT50eXBlID09IFRPS19mbG9hdCkgewotICAgICAgICAgICAgYWRkbm9kZShub2RlLCBuZXdh
dHRyKCJ0eXBlIiwgInVucmVzdHJpY3RlZCBmbG9hdCIpKTsKLQkgIH0gZWxzZSBpZiAodG9rLT50
eXBlID09IFRPS19kb3VibGUpIHsKLSAgICAgICAgICAgIGFkZG5vZGUobm9kZSwgbmV3YXR0cigi
dHlwZSIsICJ1bnJlc3RyaWN0ZWQgZG91YmxlIikpOwotCSAgfSBlbHNlIHsKLSAgICAgICAgICAg
IHRva2Vycm9yZXhpdCh0b2ssICJleHBlY3RlZCBmbG9hdCBvciBkb3VibGUgYWZ0ZXIgdW5yZXN0
cmljdGVkIik7Ci0JICB9Ci0JICBicmVhazsKLSAgICAgICAgY2FzZSBUT0tfYm9vbGVhbjoKLSAg
ICAgICAgICAgIGFkZG5vZGUobm9kZSwgbmV3YXR0cigidHlwZSIsICJib29sZWFuIikpOwotICAg
ICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgVE9LX2J5dGU6Ci0gICAgICAgICAgICBhZGRu
b2RlKG5vZGUsIG5ld2F0dHIoInR5cGUiLCAiYnl0ZSIpKTsKLSAgICAgICAgICAgIGJyZWFrOwot
ICAgICAgICBjYXNlIFRPS19vY3RldDoKLSAgICAgICAgICAgIGFkZG5vZGUobm9kZSwgbmV3YXR0
cigidHlwZSIsICJvY3RldCIpKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlIFRP
S19mbG9hdDoKLSAgICAgICAgICAgIGFkZG5vZGUobm9kZSwgbmV3YXR0cigidHlwZSIsICJmbG9h
dCIpKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlIFRPS19kb3VibGU6Ci0gICAg
ICAgICAgICBhZGRub2RlKG5vZGUsIG5ld2F0dHIoInR5cGUiLCAiZG91YmxlIikpOwotICAgICAg
ICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgVE9LX0RPTVN0cmluZzoKLSAgICAgICAgICAgIGFk
ZG5vZGUobm9kZSwgbmV3YXR0cigidHlwZSIsICJET01TdHJpbmciKSk7Ci0gICAgICAgICAgICBi
cmVhazsKLSAgICAgICAgY2FzZSBUT0tfQnl0ZVN0cmluZzoKLSAgICAgICAgICAgIGFkZG5vZGUo
bm9kZSwgbmV3YXR0cigidHlwZSIsICJCeXRlU3RyaW5nIikpOwotICAgICAgICAgICAgYnJlYWs7
Ci0gICAgICAgIGNhc2UgVE9LX0RhdGU6Ci0gICAgICAgICAgICBhZGRub2RlKG5vZGUsIG5ld2F0
dHIoInR5cGUiLCAiRGF0ZSIpKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlIFRP
S19SZWdFeHA6Ci0gICAgICAgICAgICBhZGRub2RlKG5vZGUsIG5ld2F0dHIoInR5cGUiLCAiUmVn
RXhwIikpOwotICAgICAgICAgICAgYnJlYWs7Ci0KLSAgICAgICAgfQotICAgICAgICBsZXhub2Nv
bW1lbnQoKTsKLSAgICB9Ci0gICAgcmV0dXJuIG5vZGU7Ci19Ci0KLS8qKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgot
ICogcGFyc2Vub25hbnl0eXBlIDogcGFyc2UgTm9uQW55VHlwZQotICoKLSAqIEVudGVyOiAgIHRv
ayA9IG5leHQgdG9rZW4KLSAqCi0gKiBSZXR1cm46ICBub2RlIGZvciB0eXBlCi0gKiAgICAgICAg
ICB0b2sgdXBkYXRlZAotICovCi1zdGF0aWMgc3RydWN0IG5vZGUgKgotcGFyc2Vub25hbnl0eXBl
KHN0cnVjdCB0b2sgKnRvaykKLXsKLSAgICBzdHJ1Y3Qgbm9kZSAqbm9kZTsKLSAgICBzd2l0Y2gg
KHRvay0+dHlwZSkgewotICAgIGNhc2UgVE9LX0lERU5USUZJRVI6Ci0gICAgICAgIG5vZGUgPSBu
ZXdlbGVtZW50KCJUeXBlIik7Ci0gICAgICAgIGFkZG5vZGUobm9kZSwgcGFyc2VzY29wZWRuYW1l
KHRvaywgIm5hbWUiLCAxKSk7Ci0Jbm9kZSA9IHBhcnNldHlwZXN1ZmZpeCh0b2ssIG5vZGUpOwot
ICAgICAgICBicmVhazsKLSAgICBjYXNlIFRPS19zZXF1ZW5jZToKLSAgICAgICAgbm9kZSA9IG5l
d2VsZW1lbnQoIlR5cGUiKTsKLSAgICAgICAgYWRkbm9kZShub2RlLCBuZXdhdHRyKCJ0eXBlIiwg
InNlcXVlbmNlIikpOwotICAgICAgICBsZXhub2NvbW1lbnQoKTsKLSAgICAgICAgZWF0KHRvaywg
JzwnKTsKLSAgICAgICAgYWRkbm9kZShub2RlLCBwYXJzZXR5cGUodG9rKSk7Ci0gICAgICAgIGVh
dCh0b2ssICc+Jyk7Ci0JaWYgKHRvay0+dHlwZSA9PSAnPycpIHsKLQkgIGFkZG5vZGUobm9kZSwg
bmV3YXR0cigibnVsbGFibGUiLCAibnVsbGFibGUiKSk7Ci0JICBsZXhub2NvbW1lbnQoKTsKLQl9
Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgVE9LX29iamVjdDoKLSAgICAgICAgbm9kZSA9IG5l
d2VsZW1lbnQoIlR5cGUiKTsKLSAgICAgICAgYWRkbm9kZShub2RlLCBuZXdhdHRyKCJ0eXBlIiwg
Im9iamVjdCIpKTsKLSAgICAgICAgbGV4bm9jb21tZW50KCk7Ci0Jbm9kZSA9IHBhcnNldHlwZXN1
ZmZpeCh0b2ssIG5vZGUpOwotICAgICAgICBicmVhazsKLSAgICBkZWZhdWx0OgotICAgICAgICBu
b2RlID0gcGFyc2VwcmltaXRpdmVvcnN0cmluZ3R5cGUodG9rKTsKLSAgICAgICAgbm9kZSA9IHBh
cnNldHlwZXN1ZmZpeCh0b2ssIG5vZGUpOwotICAgICAgICBicmVhazsKLSAgICB9ICAgICAgIAot
ICAgIHJldHVybiBub2RlOwotfQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIHBhcnNldW5pb25tZW1i
ZXJ0eXBlOiBwYXJzZSBVbmlvbk1lbWJlclR5cGUKLSAqCi0gKiBFbnRlcjogICB0b2sgPSBuZXh0
IHRva2VuCi0gKgotICogUmV0dXJuOiAgbm9kZSBmb3IgdHlwZQotICogICAgICAgICAgdG9rIHVw
ZGF0ZWQKLSAqLwotc3RhdGljIHN0cnVjdCBub2RlICoKLXBhcnNldW5pb25tZW1iZXJ0eXBlKHN0
cnVjdCB0b2sgKnRvaykKLXsKLSAgc3RydWN0IG5vZGUgKm5vZGU7Ci0gIGlmICh0b2stPnR5cGUg
PT0gVE9LX2FueSkgewotICAgIHN0cnVjdCBub2RlICp0eXBlbm9kZSA9IG5ld2VsZW1lbnQoIlR5
cGUiKTsKLSAgICBhZGRub2RlKHR5cGVub2RlLCBuZXdhdHRyKCJ0eXBlIiwgImFueSIpKTsKLSAg
ICBsZXhub2NvbW1lbnQoKTsKLSAgICBlYXQodG9rLCBUT0tfRE9VQkxFQlJBQ0tFVCk7Ci0gICAg
bm9kZSA9IG5ld2VsZW1lbnQoIlR5cGUiKTsKLSAgICBhZGRub2RlKG5vZGUsIG5ld2F0dHIoInR5
cGUiLCAiYXJyYXkiKSk7Ci0gICAgYWRkbm9kZShub2RlLCB0eXBlbm9kZSk7Ci0gICAgbGV4bm9j
b21tZW50KCk7Ci0gICAgbm9kZSA9IHBhcnNldHlwZXN1ZmZpeCh0b2ssIG5vZGUpOwotICB9IGVs
c2UgaWYgKHRvay0+dHlwZSA9PSAnKCcpIHsgCi0gICAgbm9kZSA9IHBhcnNldW5pb250eXBlKHRv
ayk7Ci0gIH0gZWxzZSB7Ci0gICAgbm9kZSA9IHBhcnNlbm9uYW55dHlwZSh0b2spOwotICB9Ci0g
IHJldHVybiBub2RlOwotfQotCi0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogcGFyc2V1bmlvbnR5cGUg
OiBwYXJzZSBVbmlvblR5cGUKLSAqCi0gKiBFbnRlcjogICB0b2sgPSBuZXh0IHRva2VuCi0gKgot
ICogUmV0dXJuOiAgbm9kZSBmb3IgdHlwZQotICogICAgICAgICAgdG9rIHVwZGF0ZWQKLSAqLwot
c3RhdGljIHN0cnVjdCBub2RlICoKLXBhcnNldW5pb250eXBlKHN0cnVjdCB0b2sgKnRvaykKLXsK
LSAgc3RydWN0IG5vZGUgKm5vZGU7Ci0gIGVhdCh0b2ssICcoJyk7Ci0gIG5vZGUgPSBuZXdlbGVt
ZW50KCJUeXBlIik7Ci0gIGFkZG5vZGUobm9kZSwgbmV3YXR0cigidHlwZSIsICJ1bmlvbiIpKTsK
LSAgaWYgKHRvay0+dHlwZSAhPSAnKScpIHsKLSAgICBmb3IgKDs7KSB7Ci0gICAgICBhZGRub2Rl
KG5vZGUsIHBhcnNldW5pb25tZW1iZXJ0eXBlKHRvaykpOwotICAgICAgaWYgKHRvay0+dHlwZSAh
PSBUT0tfb3IpCi0JYnJlYWs7Ci0gICAgICBsZXhub2NvbW1lbnQoKTsKLSAgICB9Ci0gIH0KLSAg
ZWF0KHRvaywgJyknKTsKLSAgbm9kZSA9IHBhcnNldHlwZXN1ZmZpeCh0b2ssIG5vZGUpOyAgICAg
IAotICByZXR1cm4gbm9kZTsKLX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBwYXJzZXR5cGUgOiBw
YXJzZSBbNDRdIFR5cGUKLSAqCi0gKiBFbnRlcjogICB0b2sgPSBuZXh0IHRva2VuCi0gKgotICog
UmV0dXJuOiAgbm9kZSBmb3IgdHlwZQotICogICAgICAgICAgdG9rIHVwZGF0ZWQKLSAqLwotc3Rh
dGljIHN0cnVjdCBub2RlICoKLXBhcnNldHlwZShzdHJ1Y3QgdG9rICp0b2spCi17Ci0gICAgc3Ry
dWN0IG5vZGUgKm5vZGU7Ci0gICAgaWYgKHRvay0+dHlwZSA9PSAnKCcpIHsKLSAgICAgIG5vZGUg
PSBwYXJzZXVuaW9udHlwZSh0b2spOwotICAgIH0gZWxzZSBpZiAodG9rLT50eXBlID09IFRPS19h
bnkpIHsKLSAgICAgIG5vZGUgPSBuZXdlbGVtZW50KCJUeXBlIik7Ci0gICAgICBhZGRub2RlKG5v
ZGUsIG5ld2F0dHIoInR5cGUiLCAiYW55IikpOwotICAgICAgbGV4bm9jb21tZW50KCk7Ci0gICAg
ICBub2RlID0gcGFyc2V0eXBlc3VmZml4c3RhcnRpbmd3aXRoYXJyYXkodG9rLCBub2RlKTsKLSAg
ICB9IGVsc2UgewotICAgICAgbm9kZSA9IHBhcnNlbm9uYW55dHlwZSh0b2spOwkKLSAgICB9Ci0g
ICAgcmV0dXJuIG5vZGU7Ci19Ci0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBwYXJzZWV4dGVuZGVk
YXR0cmlidXRlIDogcGFyc2UgWzM5XSBFeHRlbmRlZEF0dHJpYnV0ZQotICoKLSAqIEVudGVyOiAg
IHRvayA9IG5leHQgdG9rZW4KLSAqCi0gKiBSZXR1cm46ICBub2RlIGZvciBleHRlbmRlZCBhdHRy
aWJ1dGUKLSAqCi0gKiBUaGlzIHBhcnNlcyB0aGUgdmFyaW91cyBmb3JtcyBvZiBleHRlbmRlZCBh
dHRyaWJ1dGUsIGFzIGluCi0gKiBydWxlcyBbNTddIFs1OF0gWzU5XSBbNjBdIFs2MV0uCi0gKgot
ICogVGhpcyBkb2VzIG5vdCBzcG90IHRoZSBlcnJvciB0aGF0IHlvdSBjYW5ub3QgaGF2ZSBhIFNj
b3BlZE5hbWUKLSAqIGFuZCBhbiBBcmd1bWVudExpc3QuCi0gKi8KLXN0YXRpYyBzdHJ1Y3Qgbm9k
ZSAqCi1wYXJzZWV4dGVuZGVkYXR0cmlidXRlKHN0cnVjdCB0b2sgKnRvaykKLXsKLQljb25zdCBj
aGFyICpzdGFydCA7Ci0gICAgc3RydWN0IG5vZGUgKm5vZGUgPSBuZXdlbGVtZW50KCJFeHRlbmRl
ZEF0dHJpYnV0ZSIpOwotICAgIGNoYXIgKmF0dHJuYW1lID0gc2V0aWRlbnRpZmllcih0b2spOwot
ICAgIGFkZG5vZGUobm9kZSwgbmV3YXR0cigibmFtZSIsIGF0dHJuYW1lKSk7Ci0gICAgc3RhcnQg
PSB0b2stPnByZXN0YXJ0OwotICAgIG5vZGUtPndzc3RhcnQgPSBzdGFydDsKLSAgICBub2RlLT5l
bmQgPSB0b2stPnN0YXJ0ICsgdG9rLT5sZW47Ci0gICAgaWYoIXN0cmNtcChhdHRybmFtZSwgIkNv
bnN0cnVjdG9yIikgfHwgIXN0cmNtcChhdHRybmFtZSwgIk5hbWVkQ29uc3RydWN0b3IiKSkgewot
CSAgICBzZXRjb21tZW50bm9kZShub2RlKTsKLQl9Ci0gICAgbGV4bm9jb21tZW50KCk7Ci0gICAg
aWYgKHRvay0+dHlwZSA9PSAnPScpIHsKLSAgICAgICAgbGV4bm9jb21tZW50KCk7Ci0gICAgICAg
IGFkZG5vZGUobm9kZSwgcGFyc2VzY29wZWRuYW1lKHRvaywgInZhbHVlIiwgMCkpOwotICAgIH0K
LSAgICBpZiAodG9rLT50eXBlID09ICcoJykgewotICAgICAgICBsZXhub2NvbW1lbnQoKTsKLSAg
ICAgICAgYWRkbm9kZShub2RlLCBwYXJzZWFyZ3VtZW50bGlzdCh0b2spKTsKLQkgICAgbm9kZS0+
ZW5kID0gdG9rLT5zdGFydCArIHRvay0+bGVuOwotICAgICAgICBlYXQodG9rLCAnKScpOwotICAg
IH0KLSAgICByZXR1cm4gbm9kZTsKLX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBwYXJzZWV4dGVu
ZGVkYXR0cmlidXRlbGlzdCA6IHBhcnNlIFszN10gRXh0ZW5kZWRBdHRyaWJ1dGVMaXN0Ci0gKgot
ICogRW50ZXI6ICAgdG9rID0gbmV4dCB0b2tlbgotICoKLSAqIFJldHVybjogIDAgZWxzZSBub2Rl
IGZvciBleHRlbmRlZCBhdHRyaWJ1dGUgbGlzdAotICogICAgICAgICAgdG9rIHVwZGF0ZWQgaWYg
YW55dGhpbmcgcGFyc2VkCi0gKi8KLXN0YXRpYyBzdHJ1Y3Qgbm9kZSAqCi1wYXJzZWV4dGVuZGVk
YXR0cmlidXRlbGlzdChzdHJ1Y3QgdG9rICp0b2spCi17Ci0gICAgc3RydWN0IG5vZGUgKm5vZGU7
Ci0gICAgaWYgKHRvay0+dHlwZSAhPSAnWycpCi0gICAgICAgIHJldHVybiAwOwotICAgIG5vZGUg
PSBuZXdlbGVtZW50KCJFeHRlbmRlZEF0dHJpYnV0ZUxpc3QiKTsKLSAgICBmb3IgKDs7KSB7Ci0g
ICAgICAgIGxleG5vY29tbWVudCgpOwotICAgICAgICBhZGRub2RlKG5vZGUsIHBhcnNlZXh0ZW5k
ZWRhdHRyaWJ1dGUodG9rKSk7Ci0gICAgICAgIGlmICh0b2stPnR5cGUgIT0gJywnKQotICAgICAg
ICAgICAgYnJlYWs7Ci0gICAgfQotICAgIGlmICh0b2stPnR5cGUgIT0gJ10nKQotICAgICAgICB0
b2tlcnJvcmV4aXQodG9rLCAiZXhwZWN0ZWQgJywnIG9yICddJyIpOwotICAgIGxleG5vY29tbWVu
dCgpOwotICAgIHJldHVybiBub2RlOwotfQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIHBhcnNlZXhj
ZXB0aW9uZmllbGQgOiBwYXJzZSBbMzZdIEV4Y2VwdGlvbkZpZWxkCi0gKgotICogRW50ZXI6ICAg
dG9rID0gbmV4dCB0b2tlbgotICogICAgICAgICAgZWFsID0gMCBlbHNlIGV4dGVuZGVkIGF0dHJp
YnV0ZSBsaXN0IG5vZGUKLSAqCi0gKiBSZXR1cm46ICBuZXcgbm9kZSBmb3IgdGhlIGV4Y2VwdGlv
bmZpZWxkCi0gKiAgICAgICAgICB0b2sgdXBkYXRlZAotICovCi1zdGF0aWMgc3RydWN0IG5vZGUg
KgotcGFyc2VleGNlcHRpb25maWVsZChzdHJ1Y3QgdG9rICp0b2ssIHN0cnVjdCBub2RlICplYWwp
Ci17Ci0gICAgc3RydWN0IG5vZGUgKm5vZGUgPSBuZXdlbGVtZW50KCJFeGNlcHRpb25GaWVsZCIp
OwotICAgIGlmIChlYWwpIGFkZG5vZGUobm9kZSwgZWFsKTsKLSAgICBzZXRjb21tZW50bm9kZShu
b2RlKTsKLSAgICBhZGRub2RlKG5vZGUsIHBhcnNldHlwZSh0b2spKTsKLSAgICBhZGRub2RlKG5v
ZGUsIG5ld2F0dHIoIm5hbWUiLCBzZXRpZGVudGlmaWVyKHRvaykpKTsKLSAgICB0b2sgPSBsZXhu
b2NvbW1lbnQoKTsKLSAgICByZXR1cm4gbm9kZTsKLX0KLQotLyoqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBw
YXJzZWFyZ3VtZW50IDogcGFyc2UgWzMxXSBBcmd1bWVudAotICoKLSAqIEVudGVyOiAgIHRvayA9
IG5leHQgdG9rZW4KLSAqCi0gKiBSZXR1cm46ICBuZXcgbm9kZQotICoKLSAqIHRvayB1cGRhdGVk
IG9uIHJldHVybgotICovCi1zdGF0aWMgc3RydWN0IG5vZGUgKgotcGFyc2Vhcmd1bWVudChzdHJ1
Y3QgdG9rICp0b2spCi17Ci0gICAgc3RydWN0IG5vZGUgKm5vZGUgPSBuZXdlbGVtZW50KCJBcmd1
bWVudCIpOwotICAgIHN0cnVjdCBub2RlICplYWwgPSBwYXJzZWV4dGVuZGVkYXR0cmlidXRlbGlz
dCh0b2spOwotICAgIHNldGNvbW1lbnRub2RlKG5vZGUpOwotICAgIGlmIChlYWwpIGFkZG5vZGUo
bm9kZSwgZWFsKTsKLSAgICBpZiAodG9rLT50eXBlID09IFRPS19vcHRpb25hbCkgewotICAgICAg
ICBhZGRub2RlKG5vZGUsIG5ld2F0dHIoIm9wdGlvbmFsIiwgIm9wdGlvbmFsIikpOwotICAgICAg
ICBsZXhub2NvbW1lbnQoKTsKLSAgICB9Ci0gICAgYWRkbm9kZShub2RlLCBwYXJzZXR5cGUodG9r
KSk7Ci0gICAgaWYgKHRvay0+dHlwZSA9PSBUT0tfRUxMSVBTSVMpIHsKLSAgICAgICAgYWRkbm9k
ZShub2RlLCBuZXdhdHRyKCJlbGxpcHNpcyIsICJlbGxpcHNpcyIpKTsKLSAgICAgICAgbGV4bm9j
b21tZW50KCk7Ci0gICAgfQotICAgIGFkZG5vZGUobm9kZSwgbmV3YXR0cigibmFtZSIsIHNldGFy
Z3VtZW50bmFtZSh0b2spKSk7Ci0gICAgbGV4bm9jb21tZW50KCk7Ci0gICAgLy8gT3B0aW9uYWwg
ZGVmYXVsdCB2YWx1ZQotICAgIGlmICh0b2stPnR5cGUgPT0gJz0nKSB7Ci0gICAgICB0b2sgPSBs
ZXhub2NvbW1lbnQoKTsKLSAgICAgIG5vZGUgPSBwYXJzZWRlZmF1bHR2YWx1ZSh0b2ssIG5vZGUp
OwotICAgIH0KLSAgICByZXR1cm4gbm9kZTsKLX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBwYXJz
ZWFyZ3VtZW50bGlzdCA6IHBhcnNlIFsyOV0gQXJndW1lbnRMaXN0Ci0gKgotICogRW50ZXI6ICAg
dG9rID0gbmV4dCB0b2tlbgotICoKLSAqIFJldHVybjogIG5ldyBub2RlIGZvciB0aGUgYXJnbGlz
dAotICogICAgICAgICAgdG9rIHVwZGF0ZWQKLSAqLwotc3RhdGljIHN0cnVjdCBub2RlICoKLXBh
cnNlYXJndW1lbnRsaXN0KHN0cnVjdCB0b2sgKnRvaykKLXsKLSAgICBzdHJ1Y3Qgbm9kZSAqbm9k
ZSA9IG5ld2VsZW1lbnQoIkFyZ3VtZW50TGlzdCIpOwotICAgIC8qIFdlIHJlbHkgb24gdGhlIGZh
Y3QgdGhhdCBBcmd1bWVudExpc3QgaXMgYWx3YXlzIGZvbGxvd2VkIGJ5ICcpJy4gKi8KLSAgICBp
ZiAodG9rLT50eXBlICE9ICcpJykgewotICAgICAgICBmb3IgKDs7KSB7Ci0gICAgICAgICAgICBh
ZGRub2RlKG5vZGUsIHBhcnNlYXJndW1lbnQodG9rKSk7Ci0gICAgICAgICAgICBpZiAodG9rLT50
eXBlICE9ICcsJykKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGxleG5vY29t
bWVudCgpOwotICAgICAgICB9Ci0gICAgfQotICAgIHJldHVybiBub2RlOwotfQotCi0KLS8qKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKgotICogcGFyc2VvcGVyYXRpb25yZXN0IDogcGFyc2UgWzI1XSBPcGVyYXRpb25S
ZXN0Ci0gKgotICogRW50ZXI6ICAgdG9rID0gbmV4dCB0b2tlbgotICogICAgICAgICAgbm9kZQot
ICoKLSAqIFJldHVybjogIG5vZGUKLSAqICAgICAgICAgIHRvayBvbiB0ZXJtaW5hdGluZyAnOycK
LSAqLwotc3RhdGljIHN0cnVjdCBub2RlICoKLXBhcnNlb3BlcmF0aW9ucmVzdChzdHJ1Y3QgdG9r
ICp0b2ssIHN0cnVjdCBub2RlICpub2RlKQotewotICAgIGlmICh0b2stPnR5cGUgPT0gVE9LX0lE
RU5USUZJRVIpIHsKLSAgICAgICAgYWRkbm9kZShub2RlLCBuZXdhdHRyKCJuYW1lIiwgc2V0aWRl
bnRpZmllcih0b2spKSk7Ci0gICAgICAgIGxleG5vY29tbWVudCgpOwotICAgIH0KLSAgICBlYXQo
dG9rLCAnKCcpOwotICAgIGFkZG5vZGUobm9kZSwgcGFyc2Vhcmd1bWVudGxpc3QodG9rKSk7Ci0g
ICAgZWF0KHRvaywgJyknKTsKLSAgICByZXR1cm4gbm9kZTsKLX0KLQotLyoqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
Ci0gKiBwYXJzZXJldHVybnR5cGVhbmRvcGVyYXRpb25yZXN0OiBwYXJzZSBSZXR1cm5UeXBlIE9w
ZXJhdGlvblJlc3QKLSAqIEVudGVyOiAgIHRvayA9IG5leHQgdG9rZW4KLSAqICAgICAgICAgIGVh
bAotICogICAgICAgICAgYXR0cnMgbGlzdCBvZiBhdHRyaWJ1dGVzCi0gKiBSZXR1cm46ICBub2Rl
Ci0gKiAgICAgICAgICB0b2sgb24gdGVybWluYXRpbmcgJzsnCi0gKi8KLXN0YXRpYyBzdHJ1Y3Qg
bm9kZSAqCi1wYXJzZXJldHVybnR5cGVhbmRvcGVyYXRpb25yZXN0KHN0cnVjdCB0b2sgKnRvaywg
c3RydWN0IG5vZGUgKmVhbCwgc3RydWN0IG5vZGUgKmF0dHJzKSAKLXsKLSAgc3RydWN0IG5vZGUg
Km5vZGUgPSAgbmV3ZWxlbWVudCgiT3BlcmF0aW9uIik7Ci0gIHN0cnVjdCBub2RlICpub2RlVHlw
ZSA9IHBhcnNlcmV0dXJudHlwZSh0b2spOwotICBpZiAoZWFsKSBhZGRub2RlKG5vZGUsIGVhbCk7
Ci0gIHNldGNvbW1lbnRub2RlKG5vZGUpOwotICBhZGRub2RlKG5vZGUsIGF0dHJzKTsKLSAgYWRk
bm9kZShub2RlLCBub2RlVHlwZSk7Ci0gIHJldHVybiBwYXJzZW9wZXJhdGlvbnJlc3QodG9rLCBu
b2RlKTsKLX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBwYXJzZWl0ZXJhdG9ycmVzdCA6IHBhcnNl
IE9wdGlvbmFsSXRlcmF0b3JJbnRlcmZhY2UKLSAqCi0gKiBFbnRlcjogICB0b2sgPSBuZXh0IHRv
a2VuCi0gKiAgICAgICAgICBub2RlCi0gKgotICogUmV0dXJuOiAgbm9kZQotICogICAgICAgICAg
dG9rIG9uIHRlcm1pbmF0aW5nICc7JwotICovCi1zdGF0aWMgc3RydWN0IG5vZGUgKgotcGFyc2Vv
cHRpb25hbGl0ZXJhdG9yaW50ZXJmYWNlKHN0cnVjdCB0b2sgKnRvaywgc3RydWN0IG5vZGUgKm5v
ZGUpCi17Ci0gIGlmICh0b2stPnR5cGUgPT0gJz0nKSB7Ci0gICAgbGV4bm9jb21tZW50KCk7Ci0g
ICAgYWRkbm9kZShub2RlLCBuZXdhdHRyKCJpbnRlcmZhY2UiLCBzZXRpZGVudGlmaWVyKHRvaykp
KTsKLSAgICBsZXhub2NvbW1lbnQoKTsKLSAgfQotICByZXR1cm4gbm9kZTsKLX0KLQotLyoqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqCi0gKiBwYXJzZW9wZXJhdGlvbm9yaXRlcmF0b3JyZXN0IDogcGFyc2UgWzI1XSBP
cGVyYXRpb25Pckl0ZXJhdG9yUmVzdAotICoKLSAqIEVudGVyOiAgIHRvayA9IG5leHQgdG9rZW4K
LSAqICAgICAgICAgIGVhbCA9IDAgZWxzZSBleHRlbmRlZCBhdHRyaWJ1dGUgbGlzdCBub2RlCi0g
KiAgICAgICAgICBhdHRycyA9IGxpc3Qtb2YtYXR0cnMgbm9kZSBjb250YWluaW5nIGF0dHJzIHRv
IGFkZCB0byBuZXcgbm9kZQotICoKLSAqIFJldHVybjogIG5ldyBub2RlCi0gKiAgICAgICAgICB0
b2sgb24gdGVybWluYXRpbmcgJzsnCi0gKi8KLXN0YXRpYyBzdHJ1Y3Qgbm9kZSAqCi1wYXJzZW9w
ZXJhdGlvbm9yaXRlcmF0b3JyZXN0KHN0cnVjdCB0b2sgKnRvaywgc3RydWN0IG5vZGUgKmVhbCwg
c3RydWN0IG5vZGUgKmF0dHJzKQotewotICBzdHJ1Y3Qgbm9kZSAqbm9kZTsKLSAgc3RydWN0IG5v
ZGUgKm5vZGVUeXBlID0gcGFyc2VyZXR1cm50eXBlKHRvayk7Ci0gIHVuc2lnbmVkIGludCBpc0l0
ZXJhdG9yID0gMDsKLSAgaWYgKHRvay0+dHlwZSA9PSBUT0tfaXRlcmF0b3IpIHsKLSAgICBsZXhu
b2NvbW1lbnQoKTsKLSAgICBpZiAodG9rLT50eXBlID09IFRPS19vYmplY3QpIHsKLSAgICAgIGxl
eG5vY29tbWVudCgpOwotICAgICAgbm9kZSA9IG5ld2VsZW1lbnQoIkl0ZXJhdG9yT2JqZWN0Iik7
Ci0gICAgICBhZGRub2RlKG5vZGUsIG5vZGVUeXBlKTsKLSAgICAgIHJldHVybiBub2RlOwotICAg
IH0gZWxzZSB7Ci0gICAgICBub2RlID0gbmV3ZWxlbWVudCgiSXRlcmF0b3IiKTsKLSAgICAgIGlz
SXRlcmF0b3IgPSAxOyAgICAKLSAgICB9Ci0gIH0gZWxzZSB7Ci0gICAgbm9kZSA9IG5ld2VsZW1l
bnQoIk9wZXJhdGlvbiIpOwotICB9Ci0gIGlmIChlYWwpIGFkZG5vZGUobm9kZSwgZWFsKTsKLSAg
c2V0Y29tbWVudG5vZGUobm9kZSk7Ci0gIGFkZG5vZGUobm9kZSwgYXR0cnMpOwotICBhZGRub2Rl
KG5vZGUsIG5vZGVUeXBlKTsKLSAgaWYgKGlzSXRlcmF0b3IpCi0gICAgcmV0dXJuIHBhcnNlb3B0
aW9uYWxpdGVyYXRvcmludGVyZmFjZSh0b2ssIG5vZGUpOwotICBlbHNlCi0gICAgcmV0dXJuIHBh
cnNlb3BlcmF0aW9ucmVzdCh0b2ssIG5vZGUpOwotfQotCi0KLS8qKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICog
cGFyc2VhdHRyaWJ1dGUgOiBwYXJzZSBbMTddIEF0dHJpYnV0ZQotICoKLSAqIEVudGVyOiAgIHRv
ayA9IG5leHQgdG9rZW4gKCJyZWFkb25seSIgb3IgImF0dHJpYnV0ZSIpCi0gKiAgICAgICAgICBl
YWwgPSAwIGVsc2UgZXh0ZW5kZWQgYXR0cmlidXRlIGxpc3Qgbm9kZQotICogICAgICAgICAgYXR0
cnMgPSBsaXN0LW9mLWF0dHJzIG5vZGUgY29udGFpbmluZyBhdHRycyB0byBhZGQgdG8gbmV3IG5v
ZGUKLSAqCi0gKiBSZXR1cm46ICBub2RlCi0gKiAgICAgICAgICB0b2sgb24gdGVybWluYXRpbmcg
JzsnCi0gKi8KLXN0YXRpYyBzdHJ1Y3Qgbm9kZSAqCi1wYXJzZWF0dHJpYnV0ZShzdHJ1Y3QgdG9r
ICp0b2ssIHN0cnVjdCBub2RlICplYWwsIHN0cnVjdCBub2RlICphdHRycykKLXsKLSAgICBzdHJ1
Y3Qgbm9kZSAqbm9kZSA9IG5ld2VsZW1lbnQoIkF0dHJpYnV0ZSIpOwotICAgIGlmIChlYWwpIGFk
ZG5vZGUobm9kZSwgZWFsKTsKLSAgICBzZXRjb21tZW50bm9kZShub2RlKTsKLSAgICBhZGRub2Rl
KG5vZGUsIGF0dHJzKTsKLSAgICBpZiAodG9rLT50eXBlID09IFRPS19pbmhlcml0KSB7Ci0gICAg
ICAgIGxleG5vY29tbWVudCgpOwotCWFkZG5vZGUobm9kZSwgbmV3YXR0cigiaW5oZXJpdCIsICJp
bmhlcml0IikpOwotICAgIH0KLSAgICBpZiAodG9rLT50eXBlID09IFRPS19yZWFkb25seSkgewot
ICAgICAgICBsZXhub2NvbW1lbnQoKTsKLSAgICAgICAgYWRkbm9kZShub2RlLCBuZXdhdHRyKCJy
ZWFkb25seSIsICJyZWFkb25seSIpKTsKLSAgICB9Ci0gICAgZWF0KHRvaywgVE9LX2F0dHJpYnV0
ZSk7Ci0gICAgYWRkbm9kZShub2RlLCBwYXJzZXR5cGUodG9rKSk7Ci0gICAgYWRkbm9kZShub2Rl
LCBuZXdhdHRyKCJuYW1lIiwgc2V0aWRlbnRpZmllcih0b2spKSk7Ci0gICAgbGV4bm9jb21tZW50
KCk7Ci0gICAgcmV0dXJuIG5vZGU7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogcGFyc2VzZXJp
YWxpemVyIDogcGFyc2UgU2VyaWFsaXplcgotICoKLSAqIEVudGVyOiAgIHRvayA9IG5leHQgdG9r
ZW4KLSAqICAgICAgICAgIGVhbAotICoKLSAqIFJldHVybjogIG5vZGUgdXBkYXRlZCB3aXRoIHZh
bHVlCi0gKiAgICAgICAgICB0b2sgdXBkYXRlZAotICovCi1zdGF0aWMgc3RydWN0IG5vZGUgKgot
cGFyc2VzZXJpYWxpemVyIChzdHJ1Y3QgdG9rICp0b2ssIHN0cnVjdCBub2RlICplYWwpIHsKLQlz
dHJ1Y3Qgbm9kZSAqbm9kZUF0dHJpYnV0ZTsKLQlzdHJ1Y3Qgbm9kZSAqbm9kZSA9IG5ld2VsZW1l
bnQoIlNlcmlhbGl6ZXIiKTsKLSAgaWYgKHRvay0+dHlwZSA9PSAnPScpIHsKLSAgICBpZiAoZWFs
KSBhZGRub2RlKG5vZGUsIGVhbCk7Ci0gICAgbGV4bm9jb21tZW50KCk7Ci0gICAgaWYgKHRvay0+
dHlwZSA9PSBUT0tfSURFTlRJRklFUikgewotICAgICAgYWRkbm9kZShub2RlLCBuZXdhdHRyKCJh
dHRyaWJ1dGUiLCBzZXRpZGVudGlmaWVyKHRvaykpKTsKLSAgICAgIGxleG5vY29tbWVudCgpOwot
ICAgIH0gZWxzZSBpZiAodG9rLT50eXBlID09ICd7JykgewotICAgICAgdW5zaWduZWQgaW50IGRv
bmUgPSAwOwotICAgICAgc3RydWN0IG5vZGUgKm5vZGVNYXAgPSBuZXdlbGVtZW50KCJNYXAiKTsK
LSAgICAgIGxleG5vY29tbWVudCgpOwotICAgICAgaWYgKHRvay0+dHlwZSA9PSBUT0tfZ2V0dGVy
KSB7Ci0JYWRkbm9kZShub2RlTWFwLCBuZXdhdHRyKCJwYXR0ZXJuIiwgImdldHRlciIpKTsKLQlk
b25lID0gMTsKLSAgICAgIH0gZWxzZSBpZiAodG9rLT50eXBlID09IFRPS19hdHRyaWJ1dGUpIHsK
LQlhZGRub2RlKG5vZGVNYXAsIG5ld2F0dHIoInBhdHRlcm4iLCAiYWxsIikpOwotCWRvbmUgPSAx
OwotICAgICAgfSBlbHNlIGlmICh0b2stPnR5cGUgPT0gVE9LX2luaGVyaXQpIHsKLQlhZGRub2Rl
KG5vZGVNYXAsIG5ld2F0dHIoImluaGVyaXQiLCAiaW5oZXJpdCIpKTsKLQlsZXhub2NvbW1lbnQo
KTsKLQllYXQodG9rLCAnLCcpOwotCWlmICh0b2stPnR5cGUgPT0gVE9LX2F0dHJpYnV0ZSkgewot
CSAgYWRkbm9kZShub2RlTWFwLCBuZXdhdHRyKCJwYXR0ZXJuIiwgImFsbCIpKTsKLQkgIGRvbmUg
PSAxOwotCX0KLSAgICAgIH0gZWxzZSBpZiAodG9rLT50eXBlICE9IFRPS19JREVOVElGSUVSKSB7
Ci0JdG9rZXJyb3JleGl0KHRvaywgImV4cGVjdGVkICdhdHRyaWJ1dGUnLCAnZ2V0dGVyJywgJ2lu
aGVyaXQnIG9yIGF0dHJpYnV0ZSBpZGVudGlmaWVycyBpbiBzZXJpYWxpemVyIG1hcCIpOwotICAg
ICAgfQotICAgICAgaWYgKGRvbmUpIHsKLQlsZXhub2NvbW1lbnQoKTsKLQllYXQodG9rLCAnfScp
OwotICAgICAgfSBlbHNlIHsKLQlhZGRub2RlKG5vZGVNYXAsIG5ld2F0dHIoInBhdHRlcm4iLCAi
c2VsZWN0aW9uIikpOwotCWRvIHsKLQkgIGlmICh0b2stPnR5cGUgIT0gVE9LX0lERU5USUZJRVIp
Ci0JICAgIHRva2Vycm9yZXhpdCh0b2ssICJleHBlY3RlZCBhdHRyaWJ1dGUgaWRlbnRpZmllcnMg
aW4gc2VyaWFsaXplciBtYXAgJXMiLCB0b2stPnByZXN0YXJ0KTsKLQkgIG5vZGVBdHRyaWJ1dGUg
PSBuZXdlbGVtZW50KCJQYXR0ZXJuQXR0cmlidXRlIik7Ci0JICBhZGRub2RlKG5vZGVBdHRyaWJ1
dGUsIG5ld2F0dHIoIm5hbWUiLCBzZXRpZGVudGlmaWVyKHRvaykpKTsKLQkgIGFkZG5vZGUobm9k
ZU1hcCwgbm9kZUF0dHJpYnV0ZSk7Ci0JICBsZXhub2NvbW1lbnQoKTsKLQkgIGlmICh0b2stPnR5
cGUgPT0gJywnKQotCSAgICBsZXhub2NvbW1lbnQoKTsKLQl9IHdoaWxlICh0b2stPnR5cGUgIT0g
J30nKTsKLQllYXQodG9rLCAnfScpOwotICAgICAgfQotICAgICAgYWRkbm9kZShub2RlLCBub2Rl
TWFwKTsKLSAgICB9IGVsc2UgaWYgKHRvay0+dHlwZSA9PSAnWycpIHsKLSAgICAgIHN0cnVjdCBu
b2RlICpub2RlTGlzdCA9IG5ld2VsZW1lbnQoIkxpc3QiKTsKLSAgICAgIGxleG5vY29tbWVudCgp
OwotICAgICAgaWYgKHRvay0+dHlwZSA9PSBUT0tfZ2V0dGVyKSB7Ci0JYWRkbm9kZShub2RlTGlz
dCwgbmV3YXR0cigicGF0dGVybiIsICJnZXR0ZXIiKSk7Ci0JbGV4bm9jb21tZW50KCk7Ci0JZWF0
KHRvaywgJ10nKTsKLSAgICAgIH0gZWxzZSB7Ci0JYWRkbm9kZShub2RlTGlzdCwgbmV3YXR0cigi
cGF0dGVybiIsICJzZWxlY3Rpb24iKSk7Ci0JZG8gewotCSAgaWYgKHRvay0+dHlwZSAhPSBUT0tf
SURFTlRJRklFUikKLQkgICAgdG9rZXJyb3JleGl0KHRvaywgImV4cGVjdGVkIGF0dHJpYnV0ZSBp
ZGVudGlmaWVycyBpbiBzZXJpYWxpemVyIGxpc3QiKTsKLQkgIG5vZGVBdHRyaWJ1dGUgPSBuZXdl
bGVtZW50KCJQYXR0ZXJuQXR0cmlidXRlIik7Ci0JICBhZGRub2RlKG5vZGVBdHRyaWJ1dGUsIG5l
d2F0dHIoIm5hbWUiLCBzZXRpZGVudGlmaWVyKHRvaykpKTsKLQkgIGFkZG5vZGUobm9kZUxpc3Qs
IG5vZGVBdHRyaWJ1dGUpOwotCSAgbGV4bm9jb21tZW50KCk7Ci0JICBpZiAodG9rLT50eXBlID09
ICcsJykKLQkgICAgbGV4bm9jb21tZW50KCk7Ci0JfSB3aGlsZSAodG9rLT50eXBlICE9ICddJyk7
CSAgICAKLQllYXQodG9rLCAnXScpOwotICAgICAgfQotICAgICAgYWRkbm9kZShub2RlLCBub2Rl
TGlzdCk7Ci0gICAgfSBlbHNlIHsKLSAgICAgIHRva2Vycm9yZXhpdCh0b2ssICJFeHBlY3RlZCAn
eycsICdbJyBvciBhbiBhdHRyaWJ1dGUgaWRlbnRpZmllciBpbiB0aGUgc2VyaWFsaXplciBkZWNs
YXJhdGlvbiIpOwotICAgIH0KLSAgICByZXR1cm4gbm9kZTsKLSAgfSBlbHNlIHsKLSAgICBpZiAo
ZWFsKSBhZGRub2RlKG5vZGUsIGVhbCk7Ci0gICAgcmV0dXJuIG5vZGU7Ci0gIH0KLX0KLQotLyoq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqCi0gKiBwYXJzZWF0dHJpYnV0ZW9yb3BlcmF0aW9ub3JpdGVyYXRvciA6IHBh
cnNlIFsxNV0gQXR0cmlidXRlT3JPcGVyYXRpb25Pckl0ZXJhdG9yCi0gKgotICogRW50ZXI6ICAg
dG9rID0gbmV4dCB0b2tlbgotICogICAgICAgICAgZWFsID0gMCBlbHNlIGV4dGVuZGVkIGF0dHJp
YnV0ZSBsaXN0IG5vZGUKLSAqCi0gKiBSZXR1cm46ICBuZXcgbm9kZQotICogICAgICAgICAgdG9r
IG9uIHRlcm1pbmF0aW5nICc7JwotICovCi1zdGF0aWMgc3RydWN0IG5vZGUgKgotcGFyc2VhdHRy
aWJ1dGVvcm9wZXJhdGlvbm9yaXRlcmF0b3Ioc3RydWN0IHRvayAqdG9rLCBzdHJ1Y3Qgbm9kZSAq
ZWFsKQotewotCWludCBhbHJlYWR5c2VlbiA7Ci0gICAgc3RydWN0IG5vZGUgKmF0dHJzID0gbmV3
YXR0cmxpc3QoKTsKLSAgICBpZiAodG9rLT50eXBlID09IFRPS19zZXJpYWxpemVyKSB7Ci0gICAg
ICBsZXhub2NvbW1lbnQoKTsKLSAgICAgIGlmICh0b2stPnR5cGUgPT0gJz0nIHx8IHRvay0+dHlw
ZSA9PSc7JykgewotCXJldHVybiBwYXJzZXNlcmlhbGl6ZXIodG9rLCBlYWwpOwotICAgICAgfSBl
bHNlIHsKLQlhZGRub2RlKGF0dHJzLCBuZXdhdHRyKCJzZXJpYWxpemVyIiwgInNlcmlhbGl6ZXIi
KSk7Ci0JcmV0dXJuIHBhcnNlcmV0dXJudHlwZWFuZG9wZXJhdGlvbnJlc3QodG9rLCBlYWwsIGF0
dHJzKTsKLSAgICAgIH0KLSAgICB9Ci0gICAgaWYgKHRvay0+dHlwZSA9PSBUT0tfc3RyaW5naWZp
ZXIpIHsKLSAgICAgICAgYWRkbm9kZShhdHRycywgbmV3YXR0cigic3RyaW5naWZpZXIiLCAic3Ry
aW5naWZpZXIiKSk7Ci0gICAgICAgIGxleG5vY29tbWVudCgpOwotICAgICAgICBpZiAodG9rLT50
eXBlID09ICc7JykgewotICAgICAgICAgICAgc3RydWN0IG5vZGUgKm5vZGUgPSBuZXdlbGVtZW50
KCJTdHJpbmdpZmllciIpOwotICAgICAgICAgICAgaWYgKGVhbCkgYWRkbm9kZShub2RlLCBlYWwp
OwotICAgICAgICAgICAgcmV0dXJuIG5vZGU7Ci0gICAgICAgIH0KLSAgICB9Ci0gICAgaWYgKHRv
ay0+dHlwZSA9PSBUT0tfc3RhdGljKSB7Ci0gICAgICAgIGxleG5vY29tbWVudCgpOwotICAgICAg
ICBhZGRub2RlKGF0dHJzLCBuZXdhdHRyKCJzdGF0aWMiLCAic3RhdGljIikpOwotICAgIH0KLSAg
ICBpZiAodG9rLT50eXBlID09IFRPS19pbmhlcml0IHx8IHRvay0+dHlwZSA9PSBUT0tfcmVhZG9u
bHkgfHwgdG9rLT50eXBlID09IFRPS19hdHRyaWJ1dGUpCi0gICAgICAgIHJldHVybiBwYXJzZWF0
dHJpYnV0ZSh0b2ssIGVhbCwgYXR0cnMpOwotICAgIGlmICghbm9kZWlzZW1wdHkoYXR0cnMpKQot
IAlyZXR1cm4gcGFyc2VyZXR1cm50eXBlYW5kb3BlcmF0aW9ucmVzdCh0b2ssIGVhbCwgYXR0cnMp
OwotICAgIGFscmVhZHlzZWVuID0gMDsKLSAgICBmb3IgKDs7KSB7Ci0gICAgICBzdGF0aWMgY29u
c3QgaW50IHRbXSA9IHsgVE9LX2dldHRlciwKLQkJCSAgICAgICBUT0tfc2V0dGVyLCBUT0tfY3Jl
YXRvciwgVE9LX2RlbGV0ZXIsIFRPS19sZWdhY3ljYWxsZXIsCi0JCQkgICAgICAgMCB9OwotICAg
ICAgY29uc3QgaW50ICp0dCA9IHQ7Ci0gICAgICBjaGFyICpzOwotICAgICAgd2hpbGUgKCp0dCAm
JiAqdHQgIT0gdG9rLT50eXBlKQotCXR0Kys7Ci0gICAgICBpZiAoISp0dCkKLQlicmVhazsKLSAg
ICAgIHMgPSBtZW1wcmludGYoIiUuKnMiLCB0b2stPmxlbiwgdG9rLT5zdGFydCk7Ci0gICAgICBp
ZiAoYWxyZWFkeXNlZW4gJiAoMSA8PCAodHQgLSB0KSkpCi0JdG9rZXJyb3JleGl0KHRvaywgIicl
cycgcXVhbGlmaWVyIGNhbm5vdCBiZSByZXBlYXRlZCIsIHMpOwotICAgICAgYWxyZWFkeXNlZW4g
fD0gMSA8PCAodHQgLSB0KTsKLSAgICAgIGFkZG5vZGUoYXR0cnMsIG5ld2F0dHIocywgcykpOwot
ICAgICAgbGV4bm9jb21tZW50KCk7Ci0gICAgfQotICAgIGlmICghbm9kZWlzZW1wdHkoYXR0cnMp
KSAgICAKLSAgICAgIHJldHVybiBwYXJzZXJldHVybnR5cGVhbmRvcGVyYXRpb25yZXN0KHRvaywg
ZWFsLCBhdHRycyk7Ci0gICAgZWxzZQotICAgICAgcmV0dXJuIHBhcnNlb3BlcmF0aW9ub3JpdGVy
YXRvcnJlc3QodG9rLCBlYWwsIGF0dHJzKTsKLX0KLQotCi0vKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIHBh
cnNlY29uc3RleHByIDogcGFyc2UgQ29uc3RWYWx1ZQotICoKLSAqIEVudGVyOiAgIHRvayA9IG5l
eHQgdG9rZW4KLSAqICAgICAgICAgIG5vZGUKLSAqCi0gKiBSZXR1cm46ICBub2RlIHVwZGF0ZWQg
d2l0aCB2YWx1ZQotICogICAgICAgICAgdG9rIHVwZGF0ZWQKLSAqLwotc3RhdGljIHN0cnVjdCBu
b2RlICoKLXBhcnNlY29uc3RleHByIChzdHJ1Y3QgdG9rICp0b2ssIHN0cnVjdCBub2RlICpub2Rl
KSB7Ci0gIGNoYXIgKnM7Ci0gIHN3aXRjaCh0b2stPnR5cGUpIHsKLSAgY2FzZSBUT0tfdHJ1ZToK
LSAgY2FzZSBUT0tfZmFsc2U6Ci0gIGNhc2UgVE9LX21pbnVzaW5maW5pdHk6Ci0gIGNhc2UgVE9L
X0lOVEVHRVI6Ci0gIGNhc2UgVE9LX0ZMT0FUOgotICBjYXNlIFRPS19udWxsOgotICBjYXNlIFRP
S19pbmZpbml0eToKLSAgY2FzZSBUT0tfTmFOOgotICAgIGJyZWFrOwotICBkZWZhdWx0OgotICAg
IHRva2Vycm9yZXhpdCh0b2ssICJleHBlY3RlZCBjb25zdGFudCB2YWx1ZSIpOwotICAgIGJyZWFr
OwotICB9Ci0gIHMgPSBtZW1hbGxvYyh0b2stPmxlbiArIDEpOwotICBtZW1jcHkocywgdG9rLT5z
dGFydCwgdG9rLT5sZW4pOwotICBzW3Rvay0+bGVuXSA9IDA7Ci0gIGlmICh0b2stPnR5cGUgIT0g
VE9LX1NUUklORykgewotICAgIGFkZG5vZGUobm9kZSwgbmV3YXR0cigidmFsdWUiLCBzKSk7Ci0g
IH0gZWxzZSB7Ci0gICAgYWRkbm9kZShub2RlLCBuZXdhdHRyKCJzdHJpbmd2YWx1ZSIsIHMpKTsK
LSAgfQotICBsZXhub2NvbW1lbnQoKTsKLSAgcmV0dXJuIG5vZGU7Ci19Ci0KLS8qKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKgotICogcGFyc2VkZWZhdWx0dmFsdWUgOiBwYXJzZSBEZWZhdWx0VmFsdWUKLSAqCi0gKiBF
bnRlcjogICB0b2sgPSBuZXh0IHRva2VuCi0gKiAgICAgICAgICBub2RlCi0gKgotICogUmV0dXJu
OiAgbm9kZSB1cGRhdGVkIHdpdGggdmFsdWUKLSAqICAgICAgICAgIHRvayB1cGRhdGVkCi0gKi8K
LXN0YXRpYyBzdHJ1Y3Qgbm9kZSAqCi1wYXJzZWRlZmF1bHR2YWx1ZSAoc3RydWN0IHRvayAqdG9r
LCBzdHJ1Y3Qgbm9kZSAqbm9kZSkgewotICBjaGFyICpzOwotICBpZiAodG9rLT50eXBlID09IFRP
S19TVFJJTkcpIHsKLSAgICBzID0gbWVtYWxsb2ModG9rLT5sZW4gKyAxKTsKLSAgICBtZW1jcHko
cywgdG9rLT5zdGFydCwgdG9rLT5sZW4pOwotICAgIHNbdG9rLT5sZW5dID0gMDsKLSAgICBhZGRu
b2RlKG5vZGUsIG5ld2F0dHIoInN0cmluZ3ZhbHVlIiwgcykpOwotICAgIGxleG5vY29tbWVudCgp
OwotICAgIHJldHVybiBub2RlOwotICB9IGVsc2UgewotICAgIHJldHVybiBwYXJzZWNvbnN0ZXhw
cih0b2ssIG5vZGUpOwotICB9Ci19Ci0KLQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIHBhcnNlZGlj
dGlvbmFyeW1lbWJlciA6IHBhcnNlIERpY3Rpb25hcnlNZW1iZXIKLSAqCi0gKiBFbnRlcjogICB0
b2sgPSBuZXh0IHRva2VuCi0gKiAgICAgICAgICBlYWwgPSAwIGVsc2UgZXh0ZW5kZWQgYXR0cmli
dXRlIGxpc3Qgbm9kZQotICoKLSAqIFJldHVybjogIG5ldyBub2RlCi0gKiAgICAgICAgICB0b2sg
b24gdGVybWluYXRpbmcgJzsnCi0gKi8KLXN0YXRpYyBzdHJ1Y3Qgbm9kZSAqCi1wYXJzZWRpY3Rp
b25hcnltZW1iZXIoc3RydWN0IHRvayAqdG9rLCBzdHJ1Y3Qgbm9kZSAqZWFsKQotewotICAgIHN0
cnVjdCBub2RlICpub2RlID0gbmV3ZWxlbWVudCgiRGljdGlvbmFyeU1lbWJlciIpOwotICAgIGlm
IChlYWwpIGFkZG5vZGUobm9kZSwgZWFsKTsKLSAgICBzZXRjb21tZW50bm9kZShub2RlKTsKLSAg
ICBhZGRub2RlKG5vZGUsIHBhcnNldHlwZSh0b2spKTsKLSAgICBhZGRub2RlKG5vZGUsIG5ld2F0
dHIoIm5hbWUiLCBzZXRpZGVudGlmaWVyKHRvaykpKTsKLSAgICB0b2sgPSBsZXhub2NvbW1lbnQo
KTsKLSAgICAvLyBPcHRpb25hbCB2YWx1ZQotICAgIGlmICh0b2stPnR5cGUgPT0gJz0nKSB7Ci0g
ICAgICB0b2sgPSBsZXhub2NvbW1lbnQoKTsKLSAgICAgIG5vZGUgPSBwYXJzZWRlZmF1bHR2YWx1
ZSh0b2ssIG5vZGUpOwotICAgIH0KLSAgICByZXR1cm4gbm9kZTsKLX0KLQotLyoqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqCi0gKiBwYXJzZWNvbnN0IDogcGFyc2UgWzEyXSBDb25zdAotICoKLSAqIEVudGVyOiAgIHRv
ayA9IG5leHQgdG9rZW4sIGtub3duIHRvIGJlIFRPS19jb25zdAotICogICAgICAgICAgZWFsID0g
MCBlbHNlIGV4dGVuZGVkIGF0dHJpYnV0ZSBsaXN0IG5vZGUKLSAqCi0gKiBSZXR1cm46ICBuZXcg
bm9kZSBmb3IgdGhlIGNvbnN0Ci0gKiAgICAgICAgICB0b2sgb24gdGVybWluYXRpbmcgJzsnCi0g
Ki8KLXN0YXRpYyBzdHJ1Y3Qgbm9kZSAqCi1wYXJzZWNvbnN0KHN0cnVjdCB0b2sgKnRvaywgc3Ry
dWN0IG5vZGUgKmVhbCkKLXsKLSAgICBzdHJ1Y3Qgbm9kZSAqbm9kZSA9IG5ld2VsZW1lbnQoIkNv
bnN0Iik7Ci0gICAgc2V0Y29tbWVudG5vZGUobm9kZSk7Ci0gICAgaWYgKGVhbCkgYWRkbm9kZShu
b2RlLCBlYWwpOwotICAgIHRvayA9IGxleG5vY29tbWVudCgpOwotICAgIHN3aXRjaCh0b2stPnR5
cGUpIHsKLSAgICBjYXNlIFRPS19ib29sZWFuOgotICAgIGNhc2UgVE9LX2J5dGU6Ci0gICAgY2Fz
ZSBUT0tfb2N0ZXQ6Ci0gICAgY2FzZSBUT0tfZmxvYXQ6Ci0gICAgY2FzZSBUT0tfZG91YmxlOgot
ICAgIGNhc2UgVE9LX3Vuc2lnbmVkOgotICAgIGNhc2UgVE9LX3VucmVzdHJpY3RlZDoKLSAgICBj
YXNlIFRPS19zaG9ydDoKLSAgICBjYXNlIFRPS19sb25nOgotICAgICAgICBhZGRub2RlKG5vZGUs
IHBhcnNldHlwZSh0b2spKTsKLQlicmVhazsKLSAgICBkZWZhdWx0OgotICAgICAgICB0b2tlcnJv
cmV4aXQodG9rLCAiZXhwZWN0ZWQgYWNjZXB0YWJsZSBjb25zdGFudCB0eXBlIik7Ci0gICAgICAg
IGJyZWFrOwotICAgIH0KLSAgICBhZGRub2RlKG5vZGUsIG5ld2F0dHIoIm5hbWUiLCBzZXRpZGVu
dGlmaWVyKHRvaykpKTsKLSAgICB0b2sgPSBsZXhub2NvbW1lbnQoKTsKLSAgICBlYXQodG9rLCAn
PScpOwotICAgIG5vZGUgPSBwYXJzZWNvbnN0ZXhwcih0b2ssIG5vZGUpOwotICAgIHJldHVybiBu
b2RlOwotfQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIHBhcnNlaW1wbGVtZW50c3N0YXRlbWVudCA6
IHBhcnNlIFsxMV0gSW1wbGVtZW50c1N0YXRlbWVudAotICoKLSAqIEVudGVyOiAgIHRvayA9IG5l
eHQgdG9rZW4sIGtub3duIHRvIGJlIDo6IG9yIFRPS19JREVOVElGSUVSCi0gKiAgICAgICAgICBl
YWwgPSAwIGVsc2UgZXh0ZW5kZWQgYXR0cmlidXRlIGxpc3Qgbm9kZQotICoKLSAqIFJldHVybjog
IG5ldyBub2RlIGZvciB0aGUgdHlwZWRlZgotICogICAgICAgICAgdG9rIHVwZGF0ZWQgdG8gdGhl
IHRlcm1pbmF0aW5nICc7JwotICovCi1zdGF0aWMgc3RydWN0IG5vZGUgKgotcGFyc2VpbXBsZW1l
bnRzc3RhdGVtZW50KHN0cnVjdCB0b2sgKnRvaywgc3RydWN0IG5vZGUgKmVhbCkKLXsKLSAgICBz
dHJ1Y3Qgbm9kZSAqbm9kZSA9IG5ld2VsZW1lbnQoIkltcGxlbWVudHMiKTsKLSAgICBzZXRjb21t
ZW50bm9kZShub2RlKTsKLSAgICBpZiAoZWFsKSBhZGRub2RlKG5vZGUsIGVhbCk7Ci0gICAgYWRk
bm9kZShub2RlLCBwYXJzZXNjb3BlZG5hbWUodG9rLCAibmFtZTEiLCAxKSk7Ci0gICAgZWF0KHRv
aywgVE9LX2ltcGxlbWVudHMpOwotICAgIGFkZG5vZGUobm9kZSwgcGFyc2VzY29wZWRuYW1lKHRv
aywgIm5hbWUyIiwgMSkpOwotICAgIHJldHVybiBub2RlOwotfQotCi0vKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioK
LSAqIHBhcnNldHlwZWRlZiA6IHBhcnNlIFsxMF0gVHlwZWRlZgotICoKLSAqIEVudGVyOiAgIHRv
ayA9IG5leHQgdG9rZW4sIGtub3duIHRvIGJlIFRPS190eXBlZGVmCi0gKiAgICAgICAgICBlYWwg
PSAwIGVsc2UgZXh0ZW5kZWQgYXR0cmlidXRlIGxpc3Qgbm9kZQotICoKLSAqIFJldHVybjogIG5l
dyBub2RlIGZvciB0aGUgdHlwZWRlZgotICogICAgICAgICAgdG9rIHVwZGF0ZWQgdG8gdGhlIHRl
cm1pbmF0aW5nICc7JwotICovCi1zdGF0aWMgc3RydWN0IG5vZGUgKgotcGFyc2V0eXBlZGVmKHN0
cnVjdCB0b2sgKnRvaywgc3RydWN0IG5vZGUgKmVhbCkKLXsKLXN0cnVjdCBub2RlICplYWx0eXBl
Owotc3RydWN0IG5vZGUgKnR5cGVub2RlOwotICAgIHN0cnVjdCBub2RlICpub2RlID0gbmV3ZWxl
bWVudCgiVHlwZWRlZiIpOwotICAgIHNldGNvbW1lbnRub2RlKG5vZGUpOwotICAgIGlmIChlYWwp
IGFkZG5vZGUobm9kZSwgZWFsKTsKLSAgICB0b2sgPSBsZXhub2NvbW1lbnQoKTsKLSAgICBlYWx0
eXBlID0gcGFyc2VleHRlbmRlZGF0dHJpYnV0ZWxpc3QodG9rKTsKLSAgICB0eXBlbm9kZSA9IHBh
cnNldHlwZSh0b2spOwotICAgIGlmIChlYWx0eXBlKSBhZGRub2RlKHR5cGVub2RlLCBlYWx0eXBl
KTsKLSAgICBhZGRub2RlKG5vZGUsIHR5cGVub2RlKTsKLSAgICBhZGRub2RlKG5vZGUsIG5ld2F0
dHIoIm5hbWUiLCBzZXRpZGVudGlmaWVyKHRvaykpKTsKLSAgICB0b2sgPSBsZXhub2NvbW1lbnQo
KTsKLSAgICByZXR1cm4gbm9kZTsKLX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBwYXJzZWV4Y2Vw
dGlvbiA6IHBhcnNlIFs4XSBFeGNlcHRpb24KLSAqCi0gKiBFbnRlcjogICB0b2sgPSBuZXh0IHRv
a2VuLCBrbm93biB0byBiZSBUT0tfZXhjZXB0aW9uCi0gKiAgICAgICAgICBlYWwgPSAwIGVsc2Ug
ZXh0ZW5kZWQgYXR0cmlidXRlIGxpc3Qgbm9kZQotICoKLSAqIFJldHVybjogIG5ldyBub2RlIGZv
ciB0aGUgZXhjZXB0aW9uCi0gKiAgICAgICAgICB0b2sgdXBkYXRlZCB0byB0aGUgdGVybWluYXRp
bmcgJzsnCi0gKi8KLXN0YXRpYyBzdHJ1Y3Qgbm9kZSAqCi1wYXJzZWV4Y2VwdGlvbihzdHJ1Y3Qg
dG9rICp0b2ssIHN0cnVjdCBub2RlICplYWwpCi17Ci0gICAgc3RydWN0IG5vZGUgKm5vZGUgPSBu
ZXdlbGVtZW50KCJFeGNlcHRpb24iKTsKLSAgICBzZXRjb21tZW50bm9kZShub2RlKTsKLSAgICBp
ZiAoZWFsKSBhZGRub2RlKG5vZGUsIGVhbCk7Ci0gICAgdG9rID0gbGV4bm9jb21tZW50KCk7Ci0g
ICAgYWRkbm9kZShub2RlLCBuZXdhdHRyKCJuYW1lIiwgc2V0aWRlbnRpZmllcih0b2spKSk7Ci0g
ICAgbGV4bm9jb21tZW50KCk7Ci0gICAgaWYgKHRvay0+dHlwZSA9PSAnOicpIHsKLSAgICAgICAg
bGV4bm9jb21tZW50KCk7Ci0gICAgICAgIGFkZG5vZGUobm9kZSwgcGFyc2VzY29wZWRuYW1lbGlz
dCh0b2ssICJFeGNlcHRpb25Jbmhlcml0YW5jZSIsICJOYW1lIiwgMSkpOwotICAgIH0KLSAgICBl
YXQodG9rLCAneycpOwotICAgIHdoaWxlICh0b2stPnR5cGUgIT0gJ30nKSB7Ci0gICAgICAgIGNv
bnN0IGNoYXIgKnN0YXJ0ID0gdG9rLT5wcmVzdGFydDsKLSAgICAgICAgc3RydWN0IG5vZGUgKm5v
ZGUyOwotICAgICAgICBzdHJ1Y3Qgbm9kZSAqZWFsID0gcGFyc2VleHRlbmRlZGF0dHJpYnV0ZWxp
c3QodG9rKTsKLSAgICAgICAgaWYgKHRvay0+dHlwZSA9PSBUT0tfY29uc3QpCi0gICAgICAgICAg
ICBub2RlMiA9IHBhcnNlY29uc3QodG9rLCBlYWwpOwotICAgICAgICBlbHNlCi0gICAgICAgICAg
ICBub2RlMiA9IHBhcnNlZXhjZXB0aW9uZmllbGQodG9rLCBlYWwpOwotICAgICAgICBhZGRub2Rl
KG5vZGUsIG5vZGUyKTsKLSAgICAgICAgbm9kZTItPndzc3RhcnQgPSBzdGFydDsKLSAgICAgICAg
bm9kZTItPmVuZCA9IHRvay0+c3RhcnQgKyB0b2stPmxlbjsKLSAgICAgICAgc2V0aWQobm9kZTIp
OwotICAgICAgICBlYXQodG9rLCAnOycpOwotICAgIH0KLSAgICBsZXhub2NvbW1lbnQoKTsKLSAg
ICByZXR1cm4gbm9kZTsKLX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBwYXJzZWludGVyZmFjZSA6
IHBhcnNlIFs0XSBJbnRlcmZhY2UKLSAqCi0gKiBFbnRlcjogICB0b2sgPSBuZXh0IHRva2VuLCBr
bm93biB0byBiZSBUT0tfaW50ZXJmYWNlCi0gKiAgICAgICAgICBlYWwgPSAwIGVsc2UgZXh0ZW5k
ZWQgYXR0cmlidXRlIGxpc3Qgbm9kZQotICoKLSAqIFJldHVybjogIG5ldyBub2RlIGZvciB0aGUg
aW50ZXJmYWNlCi0gKiAgICAgICAgICB0b2sgdXBkYXRlZCB0byB0aGUgdGVybWluYXRpbmcgJzsn
Ci0gKi8KLXN0YXRpYyBzdHJ1Y3Qgbm9kZSAqCi1wYXJzZWludGVyZmFjZShzdHJ1Y3QgdG9rICp0
b2ssIHN0cnVjdCBub2RlICplYWwpCi17Ci0gICAgc3RydWN0IG5vZGUgKm5vZGUgPSBuZXdlbGVt
ZW50KCJJbnRlcmZhY2UiKTsKLSAgICBpZiAoZWFsKSBhZGRub2RlKG5vZGUsIGVhbCk7Ci0gICAg
c2V0Y29tbWVudG5vZGUobm9kZSk7Ci0gICAgdG9rID0gbGV4bm9jb21tZW50KCk7Ci0gICAgYWRk
bm9kZShub2RlLCBuZXdhdHRyKCJuYW1lIiwgc2V0aWRlbnRpZmllcih0b2spKSk7Ci0gICAgdG9r
ID0gbGV4bm9jb21tZW50KCk7Ci0gICAgaWYgKHRvay0+dHlwZSA9PSAnOicpIHsKLSAgICAgICAg
bGV4bm9jb21tZW50KCk7Ci0gICAgICAgIGFkZG5vZGUobm9kZSwgcGFyc2VzY29wZWRuYW1lbGlz
dCh0b2ssICJJbnRlcmZhY2VJbmhlcml0YW5jZSIsICJOYW1lIiwgMSkpOwotICAgIH0KLSAgICBl
YXQodG9rLCAneycpOwotICAgIHdoaWxlICh0b2stPnR5cGUgIT0gJ30nKSB7Ci0gICAgICAgIGNv
bnN0IGNoYXIgKnN0YXJ0ID0gdG9rLT5wcmVzdGFydDsKLSAgICAgICAgc3RydWN0IG5vZGUgKmVh
bCA9IHBhcnNlZXh0ZW5kZWRhdHRyaWJ1dGVsaXN0KHRvayk7Ci0gICAgICAgIHN0cnVjdCBub2Rl
ICpub2RlMjsKLSAgICAgICAgaWYgKHRvay0+dHlwZSA9PSBUT0tfY29uc3QpCi0gICAgICAgICAg
ICBhZGRub2RlKG5vZGUsIG5vZGUyID0gcGFyc2Vjb25zdCh0b2ssIGVhbCkpOwotICAgICAgICBl
bHNlCi0gICAgICAgICAgICBhZGRub2RlKG5vZGUsIG5vZGUyID0gcGFyc2VhdHRyaWJ1dGVvcm9w
ZXJhdGlvbm9yaXRlcmF0b3IodG9rLCBlYWwpKTsKLSAgICAgICAgbm9kZTItPndzc3RhcnQgPSBz
dGFydDsKLSAgICAgICAgbm9kZTItPmVuZCA9IHRvay0+c3RhcnQgKyB0b2stPmxlbjsKLSAgICAg
ICAgc2V0aWQobm9kZTIpOwotICAgICAgICBlYXQodG9rLCAnOycpOwotICAgIH0KLSAgICBsZXhu
b2NvbW1lbnQoKTsKLSAgICByZXR1cm4gbm9kZTsKLX0KLQotLyoqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBw
YXJzZWNhbGxiYWNrIDogcGFyc2UgQ2FsbGJhY2sKLSAqCi0gKiBFbnRlcjogICB0b2sgPSBuZXh0
IHRva2VuLCBrbm93biB0byBiZSBUT0tfZGljdGlvbmFyeQotICogICAgICAgICAgZWFsID0gMCBl
bHNlIGV4dGVuZGVkIGF0dHJpYnV0ZSBsaXN0IG5vZGUKLSAqCi0gKiBSZXR1cm46ICBuZXcgbm9k
ZSBmb3IgdGhlIGVudW0KLSAqICAgICAgICAgIHRvayB1cGRhdGVkIHRvIHRoZSB0ZXJtaW5hdGlu
ZyAnOycKLSAqLwotc3RhdGljIHN0cnVjdCBub2RlICoKLXBhcnNlY2FsbGJhY2soc3RydWN0IHRv
ayAqdG9rLCBzdHJ1Y3Qgbm9kZSAqZWFsKQotewotICBzdHJ1Y3Qgbm9kZSAqbm9kZTsKLSAgaWYg
KHRvay0+dHlwZSA9PSBUT0tfaW50ZXJmYWNlKSB7Ci0gICAgbm9kZSA9IHBhcnNlaW50ZXJmYWNl
KHRvaywgZWFsKTsKLSAgICBhZGRub2RlKG5vZGUsIG5ld2F0dHIoImNhbGxiYWNrIiwgImNhbGxi
YWNrIikpOyAgICAKLSAgfSBlbHNlIHsKLSAgICBub2RlID0gbmV3ZWxlbWVudCgiQ2FsbGJhY2si
KTsKLSAgICBpZiAoZWFsKSBhZGRub2RlKG5vZGUsIGVhbCk7Ci0gICAgc2V0Y29tbWVudG5vZGUo
bm9kZSk7Ci0gICAgYWRkbm9kZShub2RlLCBuZXdhdHRyKCJuYW1lIiwgc2V0aWRlbnRpZmllcih0
b2spKSk7Ci0gICAgdG9rID0gbGV4bm9jb21tZW50KCk7Ci0gICAgZWF0KHRvaywgJz0nKTsKLSAg
ICBhZGRub2RlKG5vZGUsIHBhcnNlcmV0dXJudHlwZSh0b2spKTsKLSAgICBlYXQodG9rLCAnKCcp
OwotICAgIGFkZG5vZGUobm9kZSwgcGFyc2Vhcmd1bWVudGxpc3QodG9rKSk7Ci0gICAgZWF0KHRv
aywgJyknKTsKLSAgfQotICByZXR1cm4gbm9kZTsKLX0KLQotLyoqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBw
YXJzZWRpY3Rpb25hcnkgOiBwYXJzZSBEaWN0aW9uYXJ5Ci0gKgotICogRW50ZXI6ICAgdG9rID0g
bmV4dCB0b2tlbiwga25vd24gdG8gYmUgVE9LX2RpY3Rpb25hcnkKLSAqICAgICAgICAgIGVhbCA9
IDAgZWxzZSBleHRlbmRlZCBhdHRyaWJ1dGUgbGlzdCBub2RlCi0gKgotICogUmV0dXJuOiAgbmV3
IG5vZGUgZm9yIHRoZSBkaWN0aW9uYXJ5Ci0gKiAgICAgICAgICB0b2sgdXBkYXRlZCB0byB0aGUg
dGVybWluYXRpbmcgJzsnCi0gKi8KLXN0YXRpYyBzdHJ1Y3Qgbm9kZSAqCi1wYXJzZWRpY3Rpb25h
cnkoc3RydWN0IHRvayAqdG9rLCBzdHJ1Y3Qgbm9kZSAqZWFsKQotewotICAgIHN0cnVjdCBub2Rl
ICpub2RlID0gbmV3ZWxlbWVudCgiRGljdGlvbmFyeSIpOwotICAgIGlmIChlYWwpIGFkZG5vZGUo
bm9kZSwgZWFsKTsKLSAgICBzZXRjb21tZW50bm9kZShub2RlKTsKLSAgICB0b2sgPSBsZXhub2Nv
bW1lbnQoKTsKLSAgICBhZGRub2RlKG5vZGUsIG5ld2F0dHIoIm5hbWUiLCBzZXRpZGVudGlmaWVy
KHRvaykpKTsKLSAgICB0b2sgPSBsZXhub2NvbW1lbnQoKTsKLSAgICBpZiAodG9rLT50eXBlID09
ICc6JykgewotICAgICAgICBsZXhub2NvbW1lbnQoKTsKLSAgICAgICAgYWRkbm9kZShub2RlLCBw
YXJzZXNjb3BlZG5hbWVsaXN0KHRvaywgIkRpY3Rpb25hcnlJbmhlcml0YW5jZSIsICJOYW1lIiwg
MSkpOwotICAgIH0KLSAgICBlYXQodG9rLCAneycpOwotICAgIHdoaWxlICh0b2stPnR5cGUgIT0g
J30nKSB7Ci0gICAgICAgIGNvbnN0IGNoYXIgKnN0YXJ0ID0gdG9rLT5wcmVzdGFydDsKLSAgICAg
ICAgc3RydWN0IG5vZGUgKmVhbCA9IHBhcnNlZXh0ZW5kZWRhdHRyaWJ1dGVsaXN0KHRvayk7Ci0g
ICAgICAgIHN0cnVjdCBub2RlICpub2RlMjsKLSAgICAgICAgaWYgKHRvay0+dHlwZSA9PSBUT0tf
Y29uc3QpCi0gICAgICAgICAgICBhZGRub2RlKG5vZGUsIG5vZGUyID0gcGFyc2Vjb25zdCh0b2ss
IGVhbCkpOwotICAgICAgICBlbHNlCi0gICAgICAgICAgICBhZGRub2RlKG5vZGUsIG5vZGUyID0g
cGFyc2VkaWN0aW9uYXJ5bWVtYmVyKHRvaywgZWFsKSk7Ci0gICAgICAgIG5vZGUyLT53c3N0YXJ0
ID0gc3RhcnQ7Ci0gICAgICAgIG5vZGUyLT5lbmQgPSB0b2stPnN0YXJ0ICsgdG9rLT5sZW47Ci0g
ICAgICAgIHNldGlkKG5vZGUyKTsKLSAgICAgICAgZWF0KHRvaywgJzsnKTsKLSAgICB9Ci0gICAg
bGV4bm9jb21tZW50KCk7Ci0gICAgcmV0dXJuIG5vZGU7Ci19Ci0KLS8qKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgot
ICogcGFyc2VlbnVtIDogcGFyc2UgRW51bQotICoKLSAqIEVudGVyOiAgIHRvayA9IG5leHQgdG9r
ZW4sIGtub3duIHRvIGJlIFRPS19kaWN0aW9uYXJ5Ci0gKiAgICAgICAgICBlYWwgPSAwIGVsc2Ug
ZXh0ZW5kZWQgYXR0cmlidXRlIGxpc3Qgbm9kZQotICoKLSAqIFJldHVybjogIG5ldyBub2RlIGZv
ciB0aGUgZW51bQotICogICAgICAgICAgdG9rIHVwZGF0ZWQgdG8gdGhlIHRlcm1pbmF0aW5nICc7
JwotICovCi1zdGF0aWMgc3RydWN0IG5vZGUgKgotcGFyc2VlbnVtKHN0cnVjdCB0b2sgKnRvaywg
c3RydWN0IG5vZGUgKmVhbCkKLXsKLQljaGFyICpzOwotICAgIHN0cnVjdCBub2RlICpub2RlID0g
bmV3ZWxlbWVudCgiRW51bSIpOwotICAgIGlmIChlYWwpIGFkZG5vZGUobm9kZSwgZWFsKTsKLSAg
ICBzZXRjb21tZW50bm9kZShub2RlKTsKLSAgICB0b2sgPSBsZXhub2NvbW1lbnQoKTsKLSAgICBh
ZGRub2RlKG5vZGUsIG5ld2F0dHIoIm5hbWUiLCBzZXRpZGVudGlmaWVyKHRvaykpKTsKLSAgICB0
b2sgPSBsZXhub2NvbW1lbnQoKTsKLSAgICBlYXQodG9rLCAneycpOwotICAgIHdoaWxlICh0b2st
PnR5cGUgIT0gJ30nKSB7Ci0gICAgICBpZiAodG9rLT50eXBlID09IFRPS19TVFJJTkcpIHsKLQlj
b25zdCBjaGFyICpzdGFydCA9IHRvay0+cHJlc3RhcnQ7Ci0Jc3RydWN0IG5vZGUgKm5vZGUyID0g
bmV3ZWxlbWVudCgiRW51bVZhbHVlIik7Ci0Jc2V0Y29tbWVudG5vZGUobm9kZTIpOwotCQotCXMg
PSBtZW1hbGxvYyh0b2stPmxlbiArIDEpOwotCW1lbWNweShzLCB0b2stPnN0YXJ0LCB0b2stPmxl
bik7Ci0Jc1t0b2stPmxlbl0gPSAwOwotCWFkZG5vZGUobm9kZTIsIG5ld2F0dHIoInN0cmluZ3Zh
bHVlIiwgcykpOwotICAgICAgICBub2RlMi0+d3NzdGFydCA9IHN0YXJ0OwotICAgICAgICBub2Rl
Mi0+ZW5kID0gdG9rLT5zdGFydCArIHRvay0+bGVuOwotICAgICAgICBzZXRpZChub2RlMik7Ci0J
YWRkbm9kZShub2RlLCBub2RlMik7Ci0gICAgICB9IGVsc2UgewotCXRva2Vycm9yZXhpdCh0b2ss
ICJleHBlY3RlZCBzdHJpbmcgaW4gZW51bSIpOwotICAgICAgfQotICAgICAgbGV4bm9jb21tZW50
KCk7Ci0gICAgICBpZiAodG9rLT50eXBlID09ICcsJykgewotCWxleG5vY29tbWVudCgpOwotICAg
ICAgfQotICAgIH0KLSAgICBlYXQodG9rLCAnfScpOwotICAgIHJldHVybiBub2RlOwotfQotCi0v
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioKLSAqIHBhcnNlZGVmaW5pdGlvbnMgOiBwYXJzZSBbMV0gRGVmaW5pdGlv
bnMKLSAqCi0gKiBFbnRlcjogICB0b2sgPSBuZXh0IHRva2VuCi0gKiAgICAgICAgICBwYXJlbnQg
PSBwYXJlbnQgbm9kZSB0byBhZGQgZGVmaW5pdGlvbnMgdG8KLSAqCi0gKiBPbiByZXR1cm4sIHRv
ayBoYXMgYmVlbiB1cGRhdGVkLgotICovCi1zdGF0aWMgdm9pZAotcGFyc2VkZWZpbml0aW9ucyhz
dHJ1Y3QgdG9rICp0b2ssIHN0cnVjdCBub2RlICpwYXJlbnQpCi17Ci0gICAgcGFyZW50LT53c3N0
YXJ0ID0gdG9rLT5wcmVzdGFydDsKLSAgICBmb3IgKDs7KSB7Ci0gICAgICAgIGNvbnN0IGNoYXIg
Kndzc3RhcnQgPSB0b2stPnByZXN0YXJ0OwotICAgICAgICBzdHJ1Y3Qgbm9kZSAqZWFsID0gcGFy
c2VleHRlbmRlZGF0dHJpYnV0ZWxpc3QodG9rKTsKLSAgICAgICAgc3RydWN0IG5vZGUgKm5vZGU7
Ci0gICAgICAgIHN3aXRjaCAodG9rLT50eXBlKSB7Ci0gICAgICAgIGNhc2UgVE9LX3BhcnRpYWw6
Ci0JICAgIGVhdCh0b2ssIFRPS19wYXJ0aWFsKTsKLQkgICAgaWYgKHRvay0+dHlwZSA9PSBUT0tf
ZGljdGlvbmFyeSkgewotCSAgICAgIG5vZGUgPSBwYXJzZWRpY3Rpb25hcnkodG9rLCBlYWwpOwot
CSAgICB9IGVsc2UgewotCSAgICAgIG5vZGUgPSBwYXJzZWludGVyZmFjZSh0b2ssIGVhbCk7Ci0J
ICAgIH0KLQkgICAgYWRkbm9kZShub2RlLCBuZXdhdHRyKCJwYXJ0aWFsIiwgInBhcnRpYWwiKSk7
Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSBUT0tfaW50ZXJmYWNlOgotICAJICAg
IG5vZGUgPSBwYXJzZWludGVyZmFjZSh0b2ssIGVhbCk7Ci0gICAgICAgICAgICBicmVhazsKLQlj
YXNlIFRPS19jYWxsYmFjazoKLQkgICAgZWF0KHRvaywgVE9LX2NhbGxiYWNrKTsKLQkgICAgbm9k
ZSA9IHBhcnNlY2FsbGJhY2sodG9rLCBlYWwpOwotICAgICAgICAgICAgYnJlYWs7Ci0JY2FzZSBU
T0tfZGljdGlvbmFyeToKLSAgICAgICAgICAgIG5vZGUgPSBwYXJzZWRpY3Rpb25hcnkodG9rLCBl
YWwpOwotICAgICAgICAgICAgYnJlYWs7CSAgCi0JY2FzZSBUT0tfZW51bToKLSAgICAgICAgICAg
IG5vZGUgPSBwYXJzZWVudW0odG9rLCBlYWwpOwotICAgICAgICAgICAgYnJlYWs7CSAgCi0gICAg
ICAgIGNhc2UgVE9LX2V4Y2VwdGlvbjoKLSAgICAgICAgICAgIG5vZGUgPSBwYXJzZWV4Y2VwdGlv
bih0b2ssIGVhbCk7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSBUT0tfdHlwZWRl
ZjoKLSAgICAgICAgICAgIG5vZGUgPSBwYXJzZXR5cGVkZWYodG9rLCBlYWwpOwotICAgICAgICAg
ICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgVE9LX0lERU5USUZJRVI6Ci0gICAgICAgICAgICBub2Rl
ID0gcGFyc2VpbXBsZW1lbnRzc3RhdGVtZW50KHRvaywgZWFsKTsKLSAgICAgICAgICAgIGJyZWFr
OwotICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgaWYgKGVhbCkKLSAgICAgICAgICAgICAg
ICB0b2tlcnJvcmV4aXQodG9rLCAiZXhwZWN0ZWQgZGVmaW5pdGlvbiBhZnRlciBleHRlbmRlZCBh
dHRyaWJ1dGUgbGlzdCIpOwotICAgICAgICAgICAgbm9kZSA9IDA7Ci0gICAgICAgICAgICBicmVh
azsKLSAgICAgICAgfQotICAgICAgICBpZiAoIW5vZGUpCi0gICAgICAgICAgICBicmVhazsKLSAg
ICAgICAgbm9kZS0+d3NzdGFydCA9IHdzc3RhcnQ7Ci0gICAgICAgIG5vZGUtPmVuZCA9IHRvay0+
c3RhcnQgKyB0b2stPmxlbjsKLSAgICAgICAgZWF0KHRvaywgJzsnKTsKLSAgICAgICAgYWRkbm9k
ZShwYXJlbnQsIG5vZGUpOwotICAgICAgICBzZXRpZChub2RlKTsKLSAgICAgICAgcGFyZW50LT5l
bmQgPSBub2RlLT5lbmQ7Ci0gICAgfQotfQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIHBhcnNlCi0g
KgotICogUmV0dXJuOiAgcm9vdCBlbGVtZW50IGNvbnRhaW5pbmcgKHBvc3NpYmx5IGVtcHR5KSBs
aXN0IG9mIGRlZmluaXRpb25zCi0gKi8KLXN0cnVjdCBub2RlICoKLXBhcnNlKHZvaWQpCi17Ci0J
c3RydWN0IHRvayAqdG9rOyAKLSAgICBzdHJ1Y3Qgbm9kZSAqcm9vdCA9IG5ld2VsZW1lbnQoIkRl
ZmluaXRpb25zIik7Ci0gICAgc2V0Y29tbWVudG5vZGUocm9vdCk7Ci0gICAgdG9rID0gbGV4bm9j
b21tZW50KCk7Ci0gICAgcGFyc2VkZWZpbml0aW9ucyh0b2ssIHJvb3QpOwotICAgIGlmICh0b2st
PnR5cGUgIT0gVE9LX0VPRikKLSAgICAgICAgdG9rZXJyb3JleGl0KHRvaywgImV4cGVjdGVkIGVu
ZCBvZiBpbnB1dCIpOwotICAgIHJldmVyc2VjaGlsZHJlbihyb290KTsKLSAgICByZXR1cm4gcm9v
dDsKLX0KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3NyYy9wYXJzZS5oIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L3dpZGxwcm9jL3NyYy9wYXJzZS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCBhZDkwNzFiNDUzZTc5ZjU2MDVlYjZlNGM4ZTMwNWQ4NGFiY2ViZjgwLi4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9zcmMv
cGFyc2UuaAorKysgL2Rldi9udWxsCkBAIC0xLDE5ICswLDAgQEAKLS8qKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgot
ICogJElkJAotICogQ29weXJpZ2h0IDIwMDkgQXBsaXggQ29ycG9yYXRpb24uIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCi0gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24g
Mi4wICh0aGUgIkxpY2Vuc2UiKTsKLSAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0
IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KLSAqIFlvdSBtYXkgb2J0YWluIGEgY29w
eSBvZiB0aGUgTGljZW5zZSBhdAotICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNl
cy9MSUNFTlNFLTIuMAotICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFn
cmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQotICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExp
Y2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKLSAqIFdJVEhPVVQgV0FS
UkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBs
aWVkLgotICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJu
aW5nIHBlcm1pc3Npb25zIGFuZAotICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCi0g
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKiovCi0jaWZuZGVmIHBhcnNlX2gKLSNkZWZpbmUgcGFyc2VfaAotCi1zdHJ1
Y3Qgbm9kZSAqcGFyc2Uodm9pZCk7Ci0KLSNlbmRpZiAvKiBuZGVmIHBhcnNlX2ggKi8KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9zcmMvcHJvY2Vzcy5jIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxw
cm9jL3NyYy9wcm9jZXNzLmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQ2YTM0M2I4
YWEwMThjNWEwZDEzZjBlNDRkZGI2ZmNhN2VmMmUyMjAuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3NyYy9wcm9jZXNzLmMK
KysrIC9kZXYvbnVsbApAQCAtMSwzMTkgKzAsMCBAQAotLyoqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiAkSWQk
Ci0gKiBDb3B5cmlnaHQgMjAwOSBBcGxpeCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KLSAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRo
ZSAiTGljZW5zZSIpOwotICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29t
cGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgotICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRo
ZSBMaWNlbnNlIGF0Ci0gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VO
U0UtMi4wCi0gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRv
IGluIHdyaXRpbmcsIHNvZnR3YXJlCi0gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBp
cyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAotICogV0lUSE9VVCBXQVJSQU5USUVT
IE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCi0g
KiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVy
bWlzc2lvbnMgYW5kCi0gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KLSAqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKi8KLSNpbmNsdWRlIDxhc3NlcnQuaD4KLSNpbmNsdWRlIDxzdGRpby5oPgotI2luY2x1
ZGUgPHN0cmluZy5oPgotI2luY2x1ZGUgImNvbW1lbnQuaCIKLSNpbmNsdWRlICJsZXguaCIKLSNp
bmNsdWRlICJtaXNjLmgiCi0jaW5jbHVkZSAibm9kZS5oIgotI2luY2x1ZGUgIm9zLmgiCi0jaW5j
bHVkZSAicGFyc2UuaCIKLSNpbmNsdWRlICJwcm9jZXNzLmgiCi0KLSNpZiAwCi1zdGF0aWMgY29u
c3QgY2hhciBudG5hbWVzW10gPSB7IE5UTkFNRVMgfTsKLSNlbmRpZiAvKjAqLwotCi0vKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioKLSAqIHByaW50dGV4dCA6IHByaW50IHRleHQgd2l0aCB4bWwgZW50aXR5IGVzY2Fw
ZXMKLSAqCi0gKiBFbnRlcjogICBzID0gdGV4dAotICogICAgICAgICAgbGVuID0gbnVtYmVyIG9m
IGJ5dGVzCi0gKiAgICAgICAgICBlc2NhbXAgPSB3aGV0aGVyIHRvIGVzY2FwZSAmCi0gKgotICog
VGhpcyBhbHNvIGVzY2FwZXMgZG91YmxlIHF1b3RlIG1hcmsgc28gaXQgY2FuIGJlIHVzZWQgZm9y
IGFuCi0gKiBhdHRyaWJ1dGUgdmFsdWUuIEl0IGFsc28gdHVybnMgYSB0YWIgaW50byBzcGFjZXMu
Ci0gKi8KLXZvaWQKLXByaW50dGV4dChjb25zdCBjaGFyICpzLCB1bnNpZ25lZCBpbnQgbGVuLCBp
bnQgZXNjYW1wKQotewotICAgIGNvbnN0IGNoYXIgKnAgPSBzLCAqZW5kID0gcyArIGxlbjsKLSAg
ICB1bnNpZ25lZCBpbnQgY291bnQgPSAwOwotICAgIHdoaWxlIChwICE9IGVuZCkgewotICAgICAg
ICBpbnQgY2ggPSAqcDsKLSAgICAgICAgY2hhciBidWZbOV07Ci0gICAgICAgIGNvbnN0IGNoYXIg
KnNlcSA9IDA7Ci0gICAgICAgIGNvdW50Kys7Ci0gICAgICAgIHN3aXRjaCAoY2gpIHsKLSAgICAg
ICAgY2FzZSAnPCc6Ci0gICAgICAgICAgICBzZXEgPSAiJmx0OyI7Ci0gICAgICAgICAgICBicmVh
azsKLSAgICAgICAgY2FzZSAnJic6Ci0gICAgICAgICAgICBzZXEgPSBlc2NhbXAgPyAiJmFtcDsi
IDogIiYiOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgJyInOgotICAgICAgICAg
ICAgc2VxID0gIiZxdW90OyI7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSAnXG4n
OgotICAgICAgICAgICAgcCsrOwotICAgICAgICAgICAgY291bnQgPSAwOwotICAgICAgICAgICAg
Y29udGludWU7Ci0gICAgICAgIGNhc2UgJ1x0JzoKLSAgICAgICAgICAgIHNlcSA9ICIgICAgICAg
ICIgKyAoKGNvdW50IC0gMSkgJiA3KTsKLSAgICAgICAgICAgIGNvdW50ID0gMDsKLSAgICAgICAg
ICAgIGJyZWFrOwotICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgaWYgKCh1bnNpZ25lZCBj
aGFyKWNoID49IDB4MjApIHsKLSAgICAgICAgICAgICAgICBwKys7Ci0gICAgICAgICAgICAgICAg
Y29udGludWU7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBzbnByaW50ZihidWYsIDksICIm
IyVpOyIsIGNoKTsKLSAgICAgICAgICAgIHNlcSA9IGJ1ZjsKLSAgICAgICAgICAgIGJyZWFrOwot
ICAgICAgICB9Ci0gICAgICAgIGlmIChwIC0gcyAhPSBmd3JpdGUocywgMSwgcCAtIHMsIHN0ZG91
dCkpCi0gICAgICAgICAgICBlcnJvcmV4aXQoIndyaXRlIGVycm9yIik7Ci0gICAgICAgIGZwdXRz
KHNlcSwgc3Rkb3V0KTsKLSAgICAgICAgcyA9ICsrcDsKLSAgICB9Ci0gICAgaWYgKHAgLSBzICE9
IGZ3cml0ZShzLCAxLCBwIC0gcywgc3Rkb3V0KSkKLSAgICAgICAgZXJyb3JleGl0KCJ3cml0ZSBl
cnJvciIpOwotfQotCi0jaWYgMAotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBvdXRwdXRub2RlYXN0ZXh0
IDogb3V0cHV0IHBhcnNlIG5vZGUgYW5kIGRlc2NlbmRhbnRzIGFzIGRlcGFyc2VkIHRleHQKLSAq
Ci0gKiBFbnRlcjogICBub2RlID0gcGFyc2Ugbm9kZQotICogICAgICAgICAgbmVlZHNwYWNlID0g
dHJ1ZSBpZiBsYXN0IG91dHB1dCBjaGFyIHdhcyBhbiBpZGVudGlmaWVyIGNoYXIKLSAqCi0gKiBS
ZXR1cm46ICB1cGRhdGVkIG5lZWRzcGFjZSB2YWx1ZQotICovCi1zdGF0aWMgaW50Ci1vdXRwdXRu
b2RlYXN0ZXh0KHN0cnVjdCBub2RlICpub2RlLCBpbnQgbmVlZHNwYWNlKQotewotICAgIGlmIChu
b2RlLT50eXBlID49IE5UX1NUQVJUKSB7Ci0gICAgICAgIHN0cnVjdCBub2RlICpjaGlsZCA9IG5v
ZGUtPmNoaWxkcmVuOwotICAgICAgICB3aGlsZSAoY2hpbGQpIHsKLSAgICAgICAgICAgIG5lZWRz
cGFjZSA9IG91dHB1dG5vZGVhc3RleHQoY2hpbGQsIG5lZWRzcGFjZSk7Ci0gICAgICAgICAgICBj
aGlsZCA9IGNoaWxkLT5uZXh0OwotICAgICAgICB9Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgdW5z
aWduZWQgaW50IGxlbiA9IHN0cmxlbihub2RlLT5uYW1lKTsKLSAgICAgICAgaWYgKGxlbikgewot
ICAgICAgICAgICAgaW50IGNoID0gbm9kZS0+bmFtZVswXTsKLSAgICAgICAgICAgIGlmIChjaCA9
PSAnXycgfHwgKCh1bnNpZ25lZCkoY2ggLSAnMCcpIDwgMTAKLSAgICAgICAgICAgICAgICAgICAg
fHwgKHVuc2lnbmVkKSgoY2ggJiB+MHgyMCkgLSAnQScpIDwgMjYpKQotICAgICAgICAgICAgewot
ICAgICAgICAgICAgICAgIGlmIChuZWVkc3BhY2UpIHB1dGNoYXIoJyAnKTsKLSAgICAgICAgICAg
IH0KLSAgICAgICAgICAgIGNoID0gbm9kZS0+bmFtZVtsZW4gLSAxXTsKLSAgICAgICAgICAgIGlm
IChjaCA9PSAnXycgfHwgKCh1bnNpZ25lZCkoY2ggLSAnMCcpIDwgMTAKLSAgICAgICAgICAgICAg
ICAgICAgfHwgKHVuc2lnbmVkKSgoY2ggJiB+MHgyMCkgLSAnQScpIDwgMjYpKQotICAgICAgICAg
ICAgewotICAgICAgICAgICAgICAgIG5lZWRzcGFjZSA9IDE7Ci0gICAgICAgICAgICB9Ci0gICAg
ICAgICAgICBwcmludHRleHQobm9kZS0+bmFtZSwgbGVuLCAxKTsKLSAgICAgICAgfQotICAgIH0K
LSAgICByZXR1cm4gbmVlZHNwYWNlOwotfQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIHByaW50ZnFp
ZCA6IHByaW50IGZ1bGx5LXF1YWxpZmllZCBpZAotICoKLSAqIEVudGVyOiAgIG5vZGUgc3RydWN0
Ci0gKgotICogUmV0dXJuOiAgd2hldGhlciBhbnl0aGluZyBwcmludGVkCi0gKi8KLXN0YXRpYyBp
bnQKLXByaW50ZnFpZChzdHJ1Y3Qgbm9kZSAqbm9kZSkKLXsKLSAgICBpbnQgYW55ID0gMDsKLSAg
ICBzdHJ1Y3Qgbm9kZSAqaWRlbnRpZmllcjsKLSAgICBpZiAobm9kZS0+cGFyZW50KSB7Ci0gICAg
ICAgIGFueSA9IHByaW50ZnFpZChub2RlLT5wYXJlbnQpOwotICAgIH0KLSAgICBzd2l0Y2ggKG5v
ZGUtPnR5cGUpIHsKLSAgICBjYXNlIE5UX01vZHVsZToKLSAgICBjYXNlIE5UX0ludGVyZmFjZToK
LSAgICBjYXNlIE5UX1R5cGVkZWY6Ci0gICAgY2FzZSBOVF9PcGVyYXRpb246Ci0gICAgY2FzZSBO
VF9BdHRyaWJ1dGU6Ci0gICAgY2FzZSBOVF9Db25zdDoKLSAgICAgICAgaWYgKGFueSkKLSAgICAg
ICAgICAgIHByaW50ZigiOiIpOwotICAgICAgICAvKiBGaW5kIGlkZW50aWZpZXIgY2hpbGQgaWYg
YW55LiAqLwotICAgICAgICBpZGVudGlmaWVyID0gbm9kZS0+Y2hpbGRyZW47Ci0gICAgICAgIHdo
aWxlIChpZGVudGlmaWVyKSB7Ci0gICAgICAgICAgICBpZiAoaWRlbnRpZmllci0+dHlwZSA9PSBU
T0tfSURFTlRJRklFUikKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGlmIChp
ZGVudGlmaWVyLT50eXBlID09IE5UX1R5cGVkZWZSZXN0KSB7Ci0gICAgICAgICAgICAgICAgaWRl
bnRpZmllciA9IGlkZW50aWZpZXItPmNoaWxkcmVuOwotICAgICAgICAgICAgICAgIGNvbnRpbnVl
OwotICAgICAgICAgICAgfQotICAgICAgICAgICAgaWRlbnRpZmllciA9IGlkZW50aWZpZXItPm5l
eHQ7Ci0gICAgICAgIH0KLSAgICAgICAgaWYgKGlkZW50aWZpZXIpIHsKLSAgICAgICAgICAgIHBy
aW50dGV4dChpZGVudGlmaWVyLT5uYW1lLCBzdHJsZW4oaWRlbnRpZmllci0+bmFtZSksIDEpOwot
ICAgICAgICAgICAgYW55ID0gMTsKLSAgICAgICAgfQotICAgICAgICBicmVhazsKLSAgICB9Ci0g
ICAgcmV0dXJuIGFueTsKLX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBvdXRwdXQgOiBvdXRwdXQg
c3VidHJlZSBvZiBwYXJzZSB0cmVlCi0gKgotICogRW50ZXI6ICAgbm9kZSA9IHJvb3Qgb2Ygc3Vi
dHJlZQotICogICAgICAgICAgZXh0ZW5kZWRhdHRyaWJ1dGVsaXN0ID0gMCBlbHNlIGV4dGVuZGVk
IGF0dHJpYnV0ZSBsaXN0IG5vZGUKLSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGFwcGx5aW5nIHRvIG5vZGUKLSAqICAgICAgICAgIGluZGVudCA9IGluZGVudCAobmVzdGluZykg
bGV2ZWwKLSAqLwotc3RhdGljIHZvaWQgb3V0cHV0Y2hpbGRyZW4oc3RydWN0IG5vZGUgKm5vZGUs
IHN0cnVjdCBub2RlICppZGVudGlmaWVyLCB1bnNpZ25lZCBpbnQgaW5kZW50KTsKLQotc3RhdGlj
IHZvaWQKLW91dHB1dChzdHJ1Y3Qgbm9kZSAqbm9kZSwgc3RydWN0IG5vZGUgKmV4dGVuZGVkYXR0
cmlidXRlbGlzdCwKLSAgICAgICB1bnNpZ25lZCBpbnQgaW5kZW50KQotewotICAgIGlmIChleHRl
bmRlZGF0dHJpYnV0ZWxpc3QpIHsKLSAgICAgICAgbm9kZS0+d3NzdGFydCA9IGV4dGVuZGVkYXR0
cmlidXRlbGlzdC0+d3NzdGFydDsKLSAgICAgICAgbm9kZS0+c3RhcnQgPSBleHRlbmRlZGF0dHJp
YnV0ZWxpc3QtPnN0YXJ0OwotICAgIH0KLSAgICBpZiAobm9kZS0+dHlwZSA9PSBOVF9FeHRlbmRl
ZEF0dHJpYnV0ZSkgewotICAgICAgICBwcmludGYoIiUqczxFeHRlbmRlZEF0dHJpYnV0ZSB2YWx1
ZT1cIiIsIGluZGVudCwgIiIpOwotICAgICAgICBvdXRwdXRub2RlYXN0ZXh0KG5vZGUsIDApOwot
ICAgICAgICBwcmludGYoIlwiLz5cbiIpOwotICAgIH0gZWxzZSBpZiAobm9kZS0+dHlwZSA9PSBO
VF9Cb29sZWFuTGl0ZXJhbCkgewotICAgICAgICBwcmludGYoIiUqczxCb29sZWFuTGl0ZXJhbCB2
YWx1ZT1cIiVzXCIvPiIsIGluZGVudCwgIiIsCi0gICAgICAgICAgICBub2RlLT5jaGlsZHJlbi0+
bmFtZSk7Ci0gICAgfSBlbHNlIGlmIChub2RlLT50eXBlID09IE5UX1JlYWRPbmx5KSB7Ci0gICAg
ICAgIHByaW50ZigiJSpzPFJlYWRPbmx5Lz5cbiIsIGluZGVudCwgIiIpOwotICAgIH0gZWxzZSBp
ZiAobm9kZS0+dHlwZSA+PSBOVF9TVEFSVCkgewotICAgICAgICBjb25zdCBjaGFyICpudG5hbWU7
Ci0gICAgICAgIC8qIEZpbmQgaWRlbnRpZmllciBjaGlsZCBpZiBhbnkuICovCi0gICAgICAgIHN0
cnVjdCBub2RlICppZGVudGlmaWVyID0gbm9kZS0+Y2hpbGRyZW47Ci0gICAgICAgIHdoaWxlIChp
ZGVudGlmaWVyKSB7Ci0gICAgICAgICAgICBpZiAoaWRlbnRpZmllci0+dHlwZSA9PSBUT0tfSURF
TlRJRklFUikKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGlkZW50aWZpZXIg
PSBpZGVudGlmaWVyLT5uZXh0OwotICAgICAgICB9Ci0gICAgICAgIC8qIEZpbmQgbm9udGVybWlu
YWwgbmFtZS4gKi8KLSAgICAgICAgbnRuYW1lID0gbnRuYW1lcyArIDI7Ci0gICAgICAgIHdoaWxl
IChub2RlLT50eXBlIC0gTlRfU1RBUlQgIT0gKCh1bnNpZ25lZCBjaGFyKW50bmFtZVstMl0gfCAo
dW5zaWduZWQgY2hhciludG5hbWVbLTFdIDw8IDgpKQotICAgICAgICAgICAgbnRuYW1lICs9IHN0
cmxlbihudG5hbWUpICsgMzsKLSAgICAgICAgLyogT3V0cHV0IHN0YXJ0IG9mIGVsZW1lbnQuICov
Ci0gICAgICAgIHByaW50ZigiJSpzPCVzIiwgaW5kZW50LCAiIiwgbnRuYW1lKTsKLSAgICAgICAg
LyogT3V0cHV0IGlkZW50aWZpZXIgaWYgYW55IGFzIGF0dHJpYnV0ZS4gKi8KLSAgICAgICAgaWYg
KGlkZW50aWZpZXIpIHsKLSAgICAgICAgICAgIHByaW50ZigiIGlkZW50aWZpZXI9XCIiKTsKLSAg
ICAgICAgICAgIHByaW50dGV4dChpZGVudGlmaWVyLT5uYW1lLCBzdHJsZW4oaWRlbnRpZmllci0+
bmFtZSksIDEpOwotICAgICAgICAgICAgcHJpbnRmKCJcIiIpOwotICAgICAgICB9Ci0gICAgICAg
IHN3aXRjaCAobm9kZS0+dHlwZSkgewotICAgICAgICBjYXNlIE5UX01vZHVsZToKLSAgICAgICAg
Y2FzZSBOVF9JbnRlcmZhY2U6Ci0gICAgICAgIGNhc2UgTlRfVHlwZWRlZjoKLSAgICAgICAgY2Fz
ZSBOVF9Db25zdDoKLSAgICAgICAgICAgIC8qIE91dHB1dCBmdWxseSBxdWFsaWZpZWQgaWQuICov
Ci0gICAgICAgICAgICBwcmludGYoIiBmcWlkPVwiIik7Ci0gICAgICAgICAgICBwcmludGZxaWQo
bm9kZSk7Ci0gICAgICAgICAgICBwcmludGYoIlwiIik7Ci0gICAgICAgICAgICBicmVhazsKLSAg
ICAgICAgfQotICAgICAgICBpZiAoIWlkZW50aWZpZXIgJiYgIWV4dGVuZGVkYXR0cmlidXRlbGlz
dCAmJiAhbm9kZS0+Y2hpbGRyZW4gJiYgIW5vZGUtPmNvbW1lbnRzKQotICAgICAgICAgICAgcHJp
bnRmKCIvPlxuIik7Ci0gICAgICAgIGVsc2UgewotICAgICAgICAgICAgcHJpbnRmKCI+XG4iKTsK
LSAgICAgICAgICAgIC8qIE91dHB1dCBkZXNjcmlwdGl2ZSBlbGVtZW50cyAoZG94eWdlbiBjb21t
ZW50cykgZm9yIG5vZGUuICovCi0gICAgICAgICAgICBvdXRwdXRkZXNjcmlwdGl2ZShub2RlLCBp
bmRlbnQgKyAyKTsKLSAgICAgICAgICAgIC8qIE91dHB1dCBkZXNjcmlwdGl2ZSBlbGVtZW50cyAo
ZG94eWdlbiBjb21tZW50cykgZm9yIGlkZW50aWZpZXIuICovCi0gICAgICAgICAgICBpZiAoaWRl
bnRpZmllcikKLSAgICAgICAgICAgICAgICBvdXRwdXRkZXNjcmlwdGl2ZShpZGVudGlmaWVyLCBp
bmRlbnQgKyAyKTsKLSAgICAgICAgICAgIC8qIE91dHB1dCBleHRlbmRlZCBhdHRyaWJ1dGUgbGlz
dC4gKi8KLSAgICAgICAgICAgIGlmIChleHRlbmRlZGF0dHJpYnV0ZWxpc3QpCi0gICAgICAgICAg
ICAgICAgb3V0cHV0KGV4dGVuZGVkYXR0cmlidXRlbGlzdCwgMCwgaW5kZW50ICsgMik7Ci0gICAg
ICAgICAgICAvKiBPdXRwdXQgY2hpbGRyZW4gKGV4Y2x1ZGluZyBpZGVudGlmaWVyIGNoaWxkKS4g
Ki8KLSAgICAgICAgICAgIG91dHB1dGNoaWxkcmVuKG5vZGUsIGlkZW50aWZpZXIsIGluZGVudCAr
IDIpOwotICAgICAgICAgICAgcHJpbnRmKCIlKnM8LyVzPlxuIiwgaW5kZW50LCAiIiwgbnRuYW1l
KTsKLSAgICAgICAgfQotICAgIH0gZWxzZSBzd2l0Y2ggKG5vZGUtPnR5cGUpIHsKLSAgICBjYXNl
IFRPS19ET01TdHJpbmc6Ci0gICAgY2FzZSBUT0tfYW55OgotICAgIGNhc2UgVE9LX2Jvb2xlYW46
Ci0gICAgY2FzZSBUT0tfb2N0ZXQ6Ci0gICAgY2FzZSBUT0tfZmxvYXQ6Ci0gICAgY2FzZSBUT0tf
ZG91YmxlOgotICAgIGNhc2UgVE9LX09iamVjdDoKLSAgICBjYXNlIFRPS191bnNpZ25lZDoKLSAg
ICBjYXNlIFRPS19zaG9ydDoKLSAgICBjYXNlIFRPS19sb25nOgotICAgIGNhc2UgVE9LX3ZvaWQ6
Ci0gICAgICAgIHByaW50ZigiJSpzPCVzLz5cbiIsIGluZGVudCwgIiIsIG5vZGUtPm5hbWUpOwot
ICAgICAgICBicmVhazsKLSAgICBjYXNlIFRPS19JTlRFR0VSOgotICAgICAgICBwcmludGYoIiUq
czxpbnRlZ2VyIHZhbHVlPVwiIiwgaW5kZW50LCAiIik7Ci0gICAgICAgIHByaW50dGV4dChub2Rl
LT5uYW1lLCBzdHJsZW4obm9kZS0+bmFtZSksIDEpOwotICAgICAgICBwcmludGYoIlwiLz5cbiIp
OwotICAgICAgICBicmVhazsKLSAgICBjYXNlIFRPS19GTE9BVDoKLSAgICAgICAgcHJpbnRmKCIl
KnM8RmxvYXQgdmFsdWU9XCIiLCBpbmRlbnQsICIiKTsKLSAgICAgICAgcHJpbnR0ZXh0KG5vZGUt
Pm5hbWUsIHN0cmxlbihub2RlLT5uYW1lKSwgMSk7Ci0gICAgICAgIHByaW50ZigiXCIvPlxuIik7
Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgVE9LX1NUUklORzoKLSAgICAgICAgcHJpbnRmKCIl
KnM8c3RyaW5nIHZhbHVlPVwiIiwgaW5kZW50LCAiIik7Ci0gICAgICAgIHByaW50dGV4dChub2Rl
LT5uYW1lLCBzdHJsZW4obm9kZS0+bmFtZSksIDEpOwotICAgICAgICBwcmludGYoIlwiLz5cbiIp
OwotICAgICAgICBicmVhazsKLSAgICB9Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogb3V0cHV0
Y2hpbGRyZW4gOiBjYWxsIG91dHB1dCBmb3IgZWFjaCBjaGlsZCBvZiBub2RlCi0gKgotICogRW50
ZXI6ICAgbm9kZQotICogICAgICAgICAgaWRlbnRpZmllciA9IGNoaWxkIG5vZGUgdG8gb21pdCBm
cm9tIG91dHB1dAotICogICAgICAgICAgaW5kZW50ID0gaW5kZW50IChuZXN0aW5nKSBsZXZlbAot
ICovCi1zdGF0aWMgdm9pZAotb3V0cHV0Y2hpbGRyZW4oc3RydWN0IG5vZGUgKm5vZGUsIHN0cnVj
dCBub2RlICppZGVudGlmaWVyLCB1bnNpZ25lZCBpbnQgaW5kZW50KQotewotICAgIHN0cnVjdCBu
b2RlICpleHRlbmRlZGF0dHJpYnV0ZWxpc3Q7Ci0gICAgc3RydWN0IG5vZGUgKmNoaWxkOwotICAg
IGNoaWxkID0gbm9kZS0+Y2hpbGRyZW47Ci0gICAgZXh0ZW5kZWRhdHRyaWJ1dGVsaXN0ID0gMDsK
LSAgICB3aGlsZSAoY2hpbGQpIHsKLSAgICAgICAgaWYgKGNoaWxkLT50eXBlID09IE5UX0V4dGVu
ZGVkQXR0cmlidXRlTGlzdCAmJiBub2RlLT50eXBlICE9IE5UX0FyZ3VtZW50KQotICAgICAgICAg
ICAgZXh0ZW5kZWRhdHRyaWJ1dGVsaXN0ID0gY2hpbGQ7Ci0gICAgICAgIGVsc2UgewotICAgICAg
ICAgICAgaWYgKGlkZW50aWZpZXIgIT0gY2hpbGQpCi0gICAgICAgICAgICAgICAgb3V0cHV0KGNo
aWxkLCBleHRlbmRlZGF0dHJpYnV0ZWxpc3QsIGluZGVudCk7Ci0gICAgICAgICAgICBleHRlbmRl
ZGF0dHJpYnV0ZWxpc3QgPSAwOwotICAgICAgICB9Ci0gICAgICAgIGNoaWxkID0gY2hpbGQtPm5l
eHQ7Ci0gICAgfQotfQotI2VuZGlmIC8qMCovCi0KLS8qKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogcHJvY2Vz
c2ZpbGVzIDogcHJvY2VzcyBpbnB1dCBmaWxlcwotICoKLSAqIEVudGVyOiAgIG5hbWUgPSBmaWxl
bmFtZQotICovCi12b2lkCi1wcm9jZXNzZmlsZXMoY29uc3QgY2hhciAqY29uc3QgKm5hbWVzLCBp
bnQgZHRkcmVmKQotewotICAgIHN0cnVjdCBub2RlICpyb290OwotICAgIHJlYWRpbnB1dChuYW1l
cyk7Ci0gICAgcm9vdCA9IHBhcnNlKCk7Ci0gICAgcHJvY2Vzc2NvbW1lbnRzKHJvb3QpOwotICAg
IHByaW50ZigiPD94bWwgdmVyc2lvbj1cIjEuMFwiIGVuY29kaW5nPVwiVVRGLThcIj8+XG4iKTsK
LSAgICBpZihkdGRyZWYpCi0gICAgICAgIHByaW50ZigiPCFET0NUWVBFIERlZmluaXRpb25zIFNZ
U1RFTSBcIndpZGxwcm9jeG1sLmR0ZFwiPlxuIik7Ci0gICAgb3V0cHV0bm9kZShyb290LCAwKTsK
LX0KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3NyYy9wcm9jZXNzLmggYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvd2lkbHByb2Mvc3JjL3Byb2Nlc3MuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggYmI5MmIyMmNlMTM4Y2EzNjRhNzhjNmIzZWViY2YzYjQzMTFiN2FmOS4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mvc3Jj
L3Byb2Nlc3MuaAorKysgL2Rldi9udWxsCkBAIC0xLDI3ICswLDAgQEAKLS8qKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KgotICogJElkJAotICogQ29weXJpZ2h0IDIwMDkgQXBsaXggQ29ycG9yYXRpb24uIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCi0gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNp
b24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKLSAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhj
ZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KLSAqIFlvdSBtYXkgb2J0YWluIGEg
Y29weSBvZiB0aGUgTGljZW5zZSBhdAotICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNl
bnNlcy9MSUNFTlNFLTIuMAotICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9y
IGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQotICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhl
IExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKLSAqIFdJVEhPVVQg
V0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBp
bXBsaWVkLgotICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292
ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAotICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2Uu
Ci0gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKiovCi0jaWZuZGVmIHByb2Nlc3NfaAotI2RlZmluZSBwcm9jZXNzX2gK
LQotI2lmIDAKLSNkZWZpbmUgTlRfU1RBUlQgMHgxMDAKLSNpbmNsdWRlICJub250ZXJtaW5hbHMu
aCIKLSNlbmRpZi8qMCovCi0KLXZvaWQgcHJpbnR0ZXh0KGNvbnN0IGNoYXIgKnMsIHVuc2lnbmVk
IGludCBsZW4sIGludCBlc2NhbXApOwotCi12b2lkIHByb2Nlc3NmaWxlcyhjb25zdCBjaGFyICpj
b25zdCAqbmFtZXMsIGludCBkdGRyZWYpOwotCi0jZW5kaWYgLyogbmRlZiBwcm9jZXNzX2ggKi8K
LQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3NyYy93M2MtaW1wb3J0LmxvZyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC93aWRscHJvYy9zcmMvdzNjLWltcG9ydC5sb2cKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IGI0ZWVlZWY4ZmMyYTY2N2FiNmQ3MTcwNDU3YTk1ZTRlODdmMzU1OGIuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxw
cm9jL3NyYy93M2MtaW1wb3J0LmxvZworKysgL2Rldi9udWxsCkBAIC0xLDMzICswLDAgQEAKLVRo
ZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBv
c2l0b3J5LgotRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1J
bnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFczQyBDU1Mgb3IgV1BUIGdpdGh1
YjoKLQlodHRwczovL2dpdGh1Yi5jb20vdzNjL2Nzc3dnLXRlc3QKLQlodHRwczovL2dpdGh1Yi5j
b20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cwotCi1UaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9p
bXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydAotCi1EbyBOT1QgbW9kaWZ5IG9y
IHJlbW92ZSB0aGlzIGZpbGUuCi0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotUHJvcGVydGllcyByZXF1aXJp
bmcgdmVuZG9yIHByZWZpeGVzOgotTm9uZQotUHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5k
b3IgcHJlZml4ZXM6Ci1Ob25lCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLUxpc3Qgb2YgZmlsZXM6Ci0vTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L3dpZGxwcm9jL3NyYy9jb21tZW50LmMKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mvc3JjL2Nv
bW1lbnQuaAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9zcmMvZW50aXRpZXMuaAotL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93
aWRscHJvYy9zcmMvbGV4LmMKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mvc3JjL2xleC5oCi0vTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3dpZGxwcm9jL3NyYy9tYWluLmMKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mvc3JjL21pc2MuYwot
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC93aWRscHJvYy9zcmMvbWlzYy5oCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3NyYy9u
b2RlLmMKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mvc3JjL25vZGUuaAotL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJv
Yy9zcmMvb3MuaAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9zcmMvcGFyc2UuYwotL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93
aWRscHJvYy9zcmMvcGFyc2UuaAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9zcmMvcHJvY2Vzcy5jCi0v
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3dpZGxwcm9jL3NyYy9wcm9jZXNzLmgKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mvc3Jj
L3dpZGxwcm9jeG1sdG9odG1sLnhzbApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Ny
Yy93aWRscHJvY3htbHRvaHRtbC54c2wgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mvc3JjL3dpZGxwcm9j
eG1sdG9odG1sLnhzbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMmI1ODMzNzFlN2Rk
MmM5NTQyZTA5MTJhNWZhNzZkMGZkMDYzMDNmMi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mvc3JjL3dpZGxwcm9jeG1sdG9o
dG1sLnhzbAorKysgL2Rldi9udWxsCkBAIC0xLDgyOCArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIx
LjAiIGVuY29kaW5nPSJ1dGYtOCI/PgotPCEtLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0kSWQ6IHdpZGxwcm9jeG1s
dG9odG1sLnhzbCA0MDcgMjAwOS0xMC0yNiAxMzo0ODo0OFogdHByICQKLUNvcHlyaWdodCAyMDA5
IEFwbGl4IENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotTGljZW5zZWQgdW5kZXIg
dGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7Ci15b3UgbWF5
IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2Uu
Ci1Zb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKLSAgICBodHRwOi8vd3d3
LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKLVVubGVzcyByZXF1aXJlZCBieSBhcHBs
aWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKLWRpc3RyaWJ1dGVk
IHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCi1X
SVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJl
c3Mgb3IgaW1wbGllZC4KLVNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdl
IGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKLWxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNl
LgotCi1YU0xUIHN0eWxlc2hlZXQgdG8gY29udmVydCB3aWRscHJvY3htbCBpbnRvIGh0bWwgZG9j
dW1lbnRhdGlvbi4KLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PS0tPgotPHhzbDpzdHlsZXNoZWV0IHhtbG5zOnhzbD0i
aHR0cDovL3d3dy53My5vcmcvMTk5OS9YU0wvVHJhbnNmb3JtIiB2ZXJzaW9uPSIxLjAiPgotPHhz
bDpvdXRwdXQgbWV0aG9kPSJodG1sIiBlbmNvZGluZz0idXRmLTgiIGluZGVudD0ieWVzIiBkb2N0
eXBlLXB1YmxpYz0iaHRtbCIvPgotCi08eHNsOnBhcmFtIG5hbWU9ImRhdGUiIHNlbGVjdD0iJ2Vy
cm9yOiBtaXNzaW5nIGRhdGUnIi8+Ci0KLTx4c2w6dmFyaWFibGUgbmFtZT0idGl0bGUiIHNlbGVj
dD0iY29uY2F0KCdUaGUgJywvRGVmaW5pdGlvbnMvZGVzY3JpcHRpdmUvbmFtZSwnIE1vZHVsZSAt
IFZlcnNpb24gJywvRGVmaW5pdGlvbnMvZGVzY3JpcHRpdmUvdmVyc2lvbikiLz4KLQotPCEtLVJv
b3Qgb2YgZG9jdW1lbnQuLS0+Ci08eHNsOnRlbXBsYXRlIG1hdGNoPSIvIj4KLSAgICA8aHRtbD4K
LSAgICAgICAgPGhlYWQ+Ci0gICAgICAgICAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9
InRleHQvY3NzIiBocmVmPSJ3aWRsaHRtbC5jc3MiIG1lZGlhPSJzY3JlZW4iLz4KLSAgICAgICAg
ICAgIDx0aXRsZT4KLSAgICAgICAgICAgICAgICA8eHNsOnZhbHVlLW9mIHNlbGVjdD0iJHRpdGxl
Ii8+Ci0gICAgICAgICAgICA8L3RpdGxlPgotICAgICAgICA8L2hlYWQ+Ci0gICAgICAgIDxib2R5
PgotICAgICAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMvPgotICAgICAgICA8L2JvZHk+Ci0g
ICAgPC9odG1sPgotPC94c2w6dGVtcGxhdGU+Ci0KLTwhLS1Sb290IG9mIERlZmluaXRpb25zLi0t
PgotPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iRGVmaW5pdGlvbnMiPgotICAgIDxkaXYgY2xhc3M9ImFw
aSIgaWQ9IntAaWR9Ij4KLSAgICAgICAgPGEgaHJlZj0iaHR0cDovL2JvbmRpLm9tdHAub3JnIj48
aW1nIHNyYz0iaHR0cDovL3d3dy5vbXRwLm9yZy9pbWFnZXMvQm9uZGlTbWFsbC5qcGciIGFsdD0i
Qm9uZGkgbG9nbyIvPjwvYT4KLSAgICAgICAgPGgxPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIkdGl0
bGUiLz48L2gxPgotICAgICAgICA8aDM+MTIgTWF5IDIwMDk8L2gzPgotCi0gICAgICAgIDxoMj5B
dXRob3JzPC9oMj4KLSAgICAgICAgPHVsIGNsYXNzPSJhdXRob3JzIj4KLSAgICAgICAgICA8eHNs
OmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9ImRlc2NyaXB0aXZlL2F1dGhvciIvPgotICAgICAgICA8
L3VsPgotCi0gICAgICAgIDxwIGNsYXNzPSJjb3B5cmlnaHQiPjxzbWFsbD7CqSBUaGUgYXV0aG9y
cywgMjAxMi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48L3NtYWxsPjwvcD4KLQotICAgICAgICA8aHIv
PgotCi0gICAgICAgIDxoMj5BYnN0cmFjdDwvaDI+Ci0KLSAgICAgICAgPHhzbDphcHBseS10ZW1w
bGF0ZXMgc2VsZWN0PSJkZXNjcmlwdGl2ZS9icmllZiIvPgotICAgICAgICA8eHNsOmFwcGx5LXRl
bXBsYXRlcyBzZWxlY3Q9ImRlc2NyaXB0aXZlL2Rlc2NyaXB0aW9uIi8+Ci0gICAgICAgIDx4c2w6
YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iZGVzY3JpcHRpdmUvQ29kZSIvPgotCi0gICAgICAgIDxo
Mj5UYWJsZSBvZiBDb250ZW50czwvaDI+Ci0gICAgICAgIDx1bCBjbGFzcz0idG9jIj4KLSAgICAg
ICAgICA8bGk+PGEgaHJlZj0iI2ludHJvIj5JbnRyb2R1Y3Rpb248L2E+Ci0gICAgICAgICAgPHVs
PgotICAgICAgICAgICAgPHhzbDppZiB0ZXN0PSJkZXNjcmlwdGl2ZS9kZWYtYXBpLWZlYXR1cmUt
c2V0Ij4KLSAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9IiNkZWYtYXBpLWZlYXR1cmUtc2V0cyI+
RmVhdHVyZSBzZXQ8L2E+PC9saT4KLSAgICAgICAgICAgIDwveHNsOmlmPgotICAgICAgICAgICAg
PHhzbDppZiB0ZXN0PSJkZXNjcmlwdGl2ZS9kZWYtYXBpLWZlYXR1cmUiPgotICAgICAgICAgICAg
ICA8bGk+PGEgaHJlZj0iI2RlZi1hcGktZmVhdHVyZXMiPkZlYXR1cmVzPC9hPjwvbGk+Ci0gICAg
ICAgICAgICA8L3hzbDppZj4KLSAgICAgICAgICAgIDx4c2w6aWYgdGVzdD0iZGVzY3JpcHRpdmUv
ZGVmLWRldmljZS1jYXAiPgotICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iI2RlZi1kZXZpY2Ut
Y2FwcyI+RGV2aWNlIENhcGFiaWxpdGllczwvYT48L2xpPgotICAgICAgICAgICAgPC94c2w6aWY+
Ci0gICAgICAgICAgPC91bD4KLSAgICAgICAgICA8L2xpPgotICAgICAgICAgIDx4c2w6aWYgdGVz
dD0iVHlwZWRlZiI+Ci0gICAgICAgICAgICA8bGk+PGEgaHJlZj0iI3R5cGVkZWZzIj5UeXBlIERl
ZmluaXRpb25zPC9hPgotICAgICAgICAgICAgPHVsIGNsYXNzPSJ0b2MiPgotICAgICAgICAgICAg
ICA8eHNsOmZvci1lYWNoIHNlbGVjdD0iVHlwZWRlZltkZXNjcmlwdGl2ZV0iPgotICAgICAgICAg
ICAgICAgIDxsaT48YSBocmVmPSIje0BpZH0iPjxjb2RlPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJA
bmFtZSIvPjwvY29kZT48L2E+PC9saT4KLSAgICAgICAgICAgICAgPC94c2w6Zm9yLWVhY2g+Ci0g
ICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgPC9saT4KLSAgICAgICAgICA8L3hzbDppZj4K
LSAgICAgICAgICA8eHNsOmlmIHRlc3Q9IkludGVyZmFjZSI+Ci0JICAgICAgICAgIDxsaT48YSBo
cmVmPSIjaW50ZXJmYWNlcyI+SW50ZXJmYWNlczwvYT4KLQkgICAgICAgICAgPHVsIGNsYXNzPSJ0
b2MiPgotCSAgICAgICAgICA8eHNsOmZvci1lYWNoIHNlbGVjdD0iSW50ZXJmYWNlW2Rlc2NyaXB0
aXZlXSI+Ci0JICAgICAgICAgICAgPGxpPjxhIGhyZWY9IiN7QGlkfSI+PGNvZGU+PHhzbDp2YWx1
ZS1vZiBzZWxlY3Q9IkBuYW1lIi8+PC9jb2RlPjwvYT48L2xpPgotCSAgICAgICAgICA8L3hzbDpm
b3ItZWFjaD4KLQkgICAgICAgICAgPC91bD4KLQkgICAgICAgICAgPC9saT4KLSAgICAgICAgICA8
L3hzbDppZj4KLSAgICAgICAgICA8eHNsOmlmIHRlc3Q9IkRpY3Rpb25hcnkiPgotCSAgICAgICAg
ICA8bGk+PGEgaHJlZj0iI2RpY3Rpb25hcmllcyI+RGljdGlvbmFyeSB0eXBlczwvYT4KLQkgICAg
ICAgICAgPHVsIGNsYXNzPSJ0b2MiPgotCSAgICAgICAgICA8eHNsOmZvci1lYWNoIHNlbGVjdD0i
RGljdGlvbmFyeVtkZXNjcmlwdGl2ZV0iPgotCSAgICAgICAgICAgIDxsaT48YSBocmVmPSIje0Bp
ZH0iPjxjb2RlPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAbmFtZSIvPjwvY29kZT48L2E+PC9saT4K
LQkgICAgICAgICAgPC94c2w6Zm9yLWVhY2g+Ci0JICAgICAgICAgIDwvdWw+Ci0JICAgICAgICAg
IDwvbGk+Ci0gICAgICAgICAgPC94c2w6aWY+Ci0gICAgICAgICAgPHhzbDppZiB0ZXN0PSJDYWxs
YmFjayI+Ci0JICAgICAgICAgIDxsaT48YSBocmVmPSIjY2FsbGJhY2tzIj5DYWxsYmFja3M8L2E+
Ci0JICAgICAgICAgIDx1bCBjbGFzcz0idG9jIj4KLQkgICAgICAgICAgPHhzbDpmb3ItZWFjaCBz
ZWxlY3Q9IkNhbGxiYWNrW2Rlc2NyaXB0aXZlXSI+Ci0JICAgICAgICAgICAgPGxpPjxhIGhyZWY9
IiN7QGlkfSI+PGNvZGU+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBuYW1lIi8+PC9jb2RlPjwvYT48
L2xpPgotCSAgICAgICAgICA8L3hzbDpmb3ItZWFjaD4KLQkgICAgICAgICAgPC91bD4KLQkgICAg
ICAgICAgPC9saT4KLSAgICAgICAgICA8L3hzbDppZj4KLSAgICAgICAgICA8eHNsOmlmIHRlc3Q9
IkVudW0iPgotCSAgICAgICAgICA8bGk+PGEgaHJlZj0iI2VudW1zIj5FbnVtczwvYT4KLQkgICAg
ICAgICAgPHVsIGNsYXNzPSJ0b2MiPgotCSAgICAgICAgICA8eHNsOmZvci1lYWNoIHNlbGVjdD0i
RW51bVtkZXNjcmlwdGl2ZV0iPgotCSAgICAgICAgICAgIDxsaT48YSBocmVmPSIje0BpZH0iPjxj
b2RlPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAbmFtZSIvPjwvY29kZT48L2E+PC9saT4KLQkgICAg
ICAgICAgPC94c2w6Zm9yLWVhY2g+Ci0JICAgICAgICAgIDwvdWw+Ci0JICAgICAgICAgIDwvbGk+
Ci0gICAgICAgICAgPC94c2w6aWY+Ci0gICAgICAgIDwvdWw+Ci0KLSAgICAgICAgPGhyLz4KLQot
ICAgICAgICA8aDI+U3VtbWFyeSBvZiBNZXRob2RzPC9oMj4KLSAgICAgICAgPHhzbDpjYWxsLXRl
bXBsYXRlIG5hbWU9InN1bW1hcnkiLz4KLSAgICAgICAgCi0gICAgICAgIDxoMiBpZD0iaW50cm8i
PkludHJvZHVjdGlvbjwvaDI+Ci0KLSAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0
PSJkZXNjcmlwdGl2ZS9kZXNjcmlwdGlvbiIvPgotICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRl
cyBzZWxlY3Q9ImRlc2NyaXB0aXZlL0NvZGUiLz4KLQotICAgICAgICA8eHNsOmlmIHRlc3Q9ImRl
c2NyaXB0aXZlL2RlZi1hcGktZmVhdHVyZS1zZXQiPgotICAgICAgICAgICAgPGRpdiBpZD0iZGVm
LWFwaS1mZWF0dXJlLXNldHMiIGNsYXNzPSJkZWYtYXBpLWZlYXR1cmUtc2V0cyI+Ci0gICAgICAg
ICAgICAgICAgPGgzIGlkPSJmZWF0dXJlcyI+RmVhdHVyZSBzZXQ8L2gzPgotICAgICAgICAgICAg
ICAgIDxwPlRoaXMgaXMgdGhlIFVSSSB1c2VkIHRvIGRlY2xhcmUgdGhpcyBBUEkncyBmZWF0dXJl
IHNldCwgZm9yIHVzZSBpbiBib25kaS5yZXF1ZXN0RmVhdHVyZS4gRm9yIHRoZSBVUkwsIHRoZSBs
aXN0IG9mIGZlYXR1cmVzIGluY2x1ZGVkIGJ5IHRoZSBmZWF0dXJlIHNldCBpcyBwcm92aWRlZC48
L3A+Ci0gICAgICAgICAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJkZXNjcmlw
dGl2ZS9kZWYtYXBpLWZlYXR1cmUtc2V0Ii8+Ci0gICAgICAgICAgICA8L2Rpdj4KLSAgICAgICAg
PC94c2w6aWY+Ci0gICAgICAgIDx4c2w6aWYgdGVzdD0iZGVzY3JpcHRpdmUvZGVmLWFwaS1mZWF0
dXJlIj4KLSAgICAgICAgICAgIDxkaXYgaWQ9ImRlZi1hcGktZmVhdHVyZXMiIGNsYXNzPSJkZWYt
YXBpLWZlYXR1cmVzIj4KLSAgICAgICAgICAgICAgICA8aDMgaWQ9ImZlYXR1cmVzIj5GZWF0dXJl
czwvaDM+Ci0gICAgICAgICAgICAgICAgPHA+VGhpcyBpcyB0aGUgbGlzdCBvZiBVUklzIHVzZWQg
dG8gZGVjbGFyZSB0aGlzIEFQSSdzIGZlYXR1cmVzLCBmb3IgdXNlIGluIGJvbmRpLnJlcXVlc3RG
ZWF0dXJlLiBGb3IgZWFjaCBVUkwsIHRoZSBsaXN0IG9mIGZ1bmN0aW9ucyBjb3ZlcmVkIGlzIHBy
b3ZpZGVkLjwvcD4KLSAgICAgICAgICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9
IkludGVyZmFjZS9kZXNjcmlwdGl2ZS9kZWYtaW5zdGFudGlhdGVkIi8+Ci0gICAgICAgICAgICAg
ICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJkZXNjcmlwdGl2ZS9kZWYtYXBpLWZlYXR1
cmUiLz4KLSAgICAgICAgICAgIDwvZGl2PgotICAgICAgICA8L3hzbDppZj4KLSAgICAgICAgPHhz
bDppZiB0ZXN0PSJkZXNjcmlwdGl2ZS9kZWYtZGV2aWNlLWNhcCI+Ci0gICAgICAgICAgICA8ZGl2
IGNsYXNzPSJkZWYtZGV2aWNlLWNhcHMiIGlkPSJkZWYtZGV2aWNlLWNhcHMiPgotICAgICAgICAg
ICAgICAgIDxoMz5EZXZpY2UgY2FwYWJpbGl0aWVzPC9oMz4KLSAgICAgICAgICAgICAgICA8ZGw+
Ci0gICAgICAgICAgICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9ImRlc2NyaXB0
aXZlL2RlZi1kZXZpY2UtY2FwIi8+Ci0gICAgICAgICAgICAgICAgPC9kbD4KLSAgICAgICAgICAg
IDwvZGl2PgotICAgICAgICA8L3hzbDppZj4KLSAgICAgICAgPHhzbDppZiB0ZXN0PSJUeXBlZGVm
Ij4KLSAgICAgICAgICAgIDxkaXYgY2xhc3M9InR5cGVkZWZzIiBpZD0idHlwZWRlZnMiPgotICAg
ICAgICAgICAgICAgIDxoMj5UeXBlIERlZmluaXRpb25zPC9oMj4KLSAgICAgICAgICAgICAgICA8
eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9IlR5cGVkZWZbZGVzY3JpcHRpdmVdIi8+Ci0gICAg
ICAgICAgICA8L2Rpdj4KLSAgICAgICAgPC94c2w6aWY+Ci0gICAgICAgIDx4c2w6aWYgdGVzdD0i
SW50ZXJmYWNlIj4KLSAgICAgICAgICAgIDxkaXYgY2xhc3M9ImludGVyZmFjZXMiIGlkPSJpbnRl
cmZhY2VzIj4KLQkJICAgICAgICA8aDI+SW50ZXJmYWNlczwvaDI+Ci0gICAgICAgCQkgICAgPHhz
bDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJJbnRlcmZhY2UiLz4KLSAgICAgICAgICAgIDwvZGl2
PgotICAgICAgICA8L3hzbDppZj4KLSAgICAgICAgPHhzbDppZiB0ZXN0PSJEaWN0aW9uYXJ5Ij4K
LSAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRpY3Rpb25hcmllcyIgaWQ9ImRpY3Rpb25hcmllcyI+
Ci0gICAgICAgIAkJPGgyPkRpY3Rpb25hcnkgdHlwZXM8L2gyPgotICAgICAgICAJCTx4c2w6YXBw
bHktdGVtcGxhdGVzIHNlbGVjdD0iRGljdGlvbmFyeSIvPgotICAgICAgICAgICAgPC9kaXY+Ci0g
ICAgICAgIDwveHNsOmlmPgotICAgICAgICA8eHNsOmlmIHRlc3Q9IkNhbGxiYWNrIj4KLSAgICAg
ICAgICAgIDxkaXYgY2xhc3M9ImNhbGxiYWNrcyIgaWQ9ImNhbGxiYWNrcyI+Ci0gICAgICAgIAkJ
PGgyPkNhbGxiYWNrczwvaDI+Ci0gICAgICAgIAkJPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0
PSJDYWxsYmFjayIvPgotICAgICAgICAgICAgPC9kaXY+Ci0gICAgICAgIDwveHNsOmlmPgotICAg
ICAgICA8eHNsOmlmIHRlc3Q9IkVudW0iPgotICAgICAgICAgICAgPGRpdiBjbGFzcz0iZW51bXMi
IGlkPSJlbnVtcyI+Ci0gICAgICAgIAkJPGgyPkVudW1zPC9oMj4KLSAgICAgICAgCQk8eHNsOmFw
cGx5LXRlbXBsYXRlcyBzZWxlY3Q9IkVudW0iLz4KLSAgICAgICAgICAgIDwvZGl2PgotICAgICAg
ICA8L3hzbDppZj4KLSAgICA8L2Rpdj4KLTwveHNsOnRlbXBsYXRlPgotCi08IS0tZGVmLWFwaS1m
ZWF0dXJlLXNldC0tPgotPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iZGVmLWFwaS1mZWF0dXJlLXNldCI+
Ci0gICAgICA8ZGwgY2xhc3M9ImRlZi1hcGktZmVhdHVyZS1zZXQiPgotICAgICAgICAgIDxkdD48
eHNsOnZhbHVlLW9mIHNlbGVjdD0iQGlkZW50aWZpZXIiLz48L2R0PgotICAgICAgICAgIDxkZD4K
LSAgICAgICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iZGVzY3JpcHRpdmUvYnJp
ZWYiLz4KLSAgICAgICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iZGVzY3JpcHRp
dmUiLz4KLSAgICAgICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iZGVzY3JpcHRp
dmUvQ29kZSIvPgotICAgICAgICAgICAgPHhzbDppZiB0ZXN0PSJkZXNjcmlwdGl2ZS9hcGktZmVh
dHVyZSI+Ci0gICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFwaS1mZWF0dXJlcyI+Ci0gICAgICAg
ICAgICAgICAgPHA+Ci0gICAgICAgICAgICAgICAgICBJbmNsdWRlcyBBUEkgZmVhdHVyZXM6Ci0g
ICAgICAgICAgICAgICAgPC9wPgotICAgICAgICAgICAgICAgIDx1bD4KLSAgICAgICAgICAgICAg
ICAgIDx4c2w6Zm9yLWVhY2ggc2VsZWN0PSJkZXNjcmlwdGl2ZS9hcGktZmVhdHVyZSI+Ci0gICAg
ICAgICAgICAgICAgICAgIDxsaT48Y29kZT48eHNsOnZhbHVlLW9mIHNlbGVjdD0iQGlkZW50aWZp
ZXIiLz48L2NvZGU+PC9saT4KLSAgICAgICAgICAgICAgICAgIDwveHNsOmZvci1lYWNoPgotICAg
ICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgIDwvZGl2PgotICAgICAgICAgICAgPC94
c2w6aWY+Ci0gICAgICAgICAgPC9kZD4KLSAgICAgIDwvZGw+Ci08L3hzbDp0ZW1wbGF0ZT4KLQot
PCEtLWRlZi1hcGktZmVhdHVyZS0tPgotPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iZGVmLWFwaS1mZWF0
dXJlIj4KLSAgICAgIDxkbCBjbGFzcz0iZGVmLWFwaS1mZWF0dXJlIj4KLSAgICAgICAgICA8ZHQ+
PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBpZGVudGlmaWVyIi8+PC9kdD4KLSAgICAgICAgICA8ZGQ+
Ci0gICAgICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9ImRlc2NyaXB0aXZlL2Jy
aWVmIi8+Ci0gICAgICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9ImRlc2NyaXB0
aXZlIi8+Ci0gICAgICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9ImRlc2NyaXB0
aXZlL0NvZGUiLz4KLSAgICAgICAgICAgIDx4c2w6aWYgdGVzdD0iZGVzY3JpcHRpdmUvZGV2aWNl
LWNhcCI+Ci0gICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRldmljZS1jYXBzIj4KLSAgICAgICAg
ICAgICAgICA8cD4KLSAgICAgICAgICAgICAgICAgIERldmljZSBjYXBhYmlsaXRpZXM6Ci0gICAg
ICAgICAgICAgICAgPC9wPgotICAgICAgICAgICAgICAgIDx1bD4KLSAgICAgICAgICAgICAgICAg
IDx4c2w6Zm9yLWVhY2ggc2VsZWN0PSJkZXNjcmlwdGl2ZS9kZXZpY2UtY2FwIj4KLSAgICAgICAg
ICAgICAgICAgICAgPGxpPjxjb2RlPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAaWRlbnRpZmllciIv
PjwvY29kZT48L2xpPgotICAgICAgICAgICAgICAgICAgPC94c2w6Zm9yLWVhY2g+Ci0gICAgICAg
ICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgPC9kaXY+Ci0gICAgICAgICAgICA8L3hzbDpp
Zj4KLSAgICAgICAgICA8L2RkPgotICAgICAgPC9kbD4KLTwveHNsOnRlbXBsYXRlPgotCi08IS0t
ZGVmLWRldmljZS1jYXAtLT4KLTx4c2w6dGVtcGxhdGUgbWF0Y2g9ImRlZi1kZXZpY2UtY2FwIj4K
LSAgICA8ZHQgY2xhc3M9ImRlZi1kZXZpY2UtY2FwIj48Y29kZT48eHNsOnZhbHVlLW9mIHNlbGVj
dD0iQGlkZW50aWZpZXIiLz48L2NvZGU+PC9kdD4KLSAgICA8ZGQ+Ci0gICAgICA8eHNsOmFwcGx5
LXRlbXBsYXRlcyBzZWxlY3Q9ImRlc2NyaXB0aXZlL2JyaWVmIi8+Ci0gICAgICA8eHNsOmFwcGx5
LXRlbXBsYXRlcyBzZWxlY3Q9ImRlc2NyaXB0aXZlIi8+Ci0gICAgICA8eHNsOmFwcGx5LXRlbXBs
YXRlcyBzZWxlY3Q9ImRlc2NyaXB0aXZlL0NvZGUiLz4KLSAgICAgIDx4c2w6aWYgdGVzdD0iZGVz
Y3JpcHRpdmUvcGFyYW0iPgotICAgICAgICA8ZGl2IGNsYXNzPSJkZXZpY2UtY2FwcyI+Ci0gICAg
ICAgICAgPHA+U2VjdXJpdHkgcGFyYW1ldGVyczo8L3A+Ci0gICAgICAgICAgPHVsPgotICAgICAg
ICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJkZXNjcmlwdGl2ZS9wYXJhbSIvPgot
ICAgICAgICAgIDwvdWw+Ci0gICAgICAgIDwvZGl2PgotICAgICAgPC94c2w6aWY+Ci0gICAgPC9k
ZD4KLTwveHNsOnRlbXBsYXRlPgotCi08IS0tRXhjZXB0aW9uOiBub3QgaW1wbGVtZW50ZWQtLT4K
LTwhLS1WYWx1ZXR5cGU6IG5vdCBpbXBsZW1lbnRlZC0tPgotPHhzbDp0ZW1wbGF0ZSBtYXRjaD0i
RXhjZXB0aW9ufFZhbHVldHlwZXxDb25zdCI+Ci0gICAgPHhzbDppZiB0ZXN0PSJkZXNjcmlwdGl2
ZSI+Ci0gICAgICAgIDx4c2w6bWVzc2FnZSB0ZXJtaW5hdGU9InllcyI+ZWxlbWVudCA8eHNsOnZh
bHVlLW9mIHNlbGVjdD0ibmFtZSgpIi8+IG5vdCBzdXBwb3J0ZWQ8L3hzbDptZXNzYWdlPgotICAg
IDwveHNsOmlmPgotPC94c2w6dGVtcGxhdGU+Ci0KLTwhLS1UeXBlZGVmLi0tPgotPHhzbDp0ZW1w
bGF0ZSBtYXRjaD0iVHlwZWRlZltkZXNjcmlwdGl2ZV0iPgotICAgIDxkaXYgY2xhc3M9InR5cGVk
ZWYiIGlkPSJ7QGlkfSI+Ci0gICAgICAgIDxoMz4yLjx4c2w6bnVtYmVyIHZhbHVlPSJwb3NpdGlv
bigpIi8+LiA8Y29kZT48eHNsOnZhbHVlLW9mIHNlbGVjdD0iQG5hbWUiLz48L2NvZGU+PC9oMz4K
LSAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJkZXNjcmlwdGl2ZS9icmllZiIv
PgotICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9IndlYmlkbCIvPgotICAgICAg
ICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9ImRlc2NyaXB0aXZlIi8+Ci0gICAgICAgIDx4
c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iZGVzY3JpcHRpdmUvQ29kZSIvPgotICAgIDwvZGl2
PgotPC94c2w6dGVtcGxhdGU+Ci0KLTwhLS1JbnRlcmZhY2UuLS0+Ci08eHNsOnRlbXBsYXRlIG1h
dGNoPSJJbnRlcmZhY2VbZGVzY3JpcHRpdmVdIj4KLSAgICA8eHNsOnZhcmlhYmxlIG5hbWU9Im5h
bWUiIHNlbGVjdD0iQG5hbWUiLz4KLSAgICA8ZGl2IGNsYXNzPSJpbnRlcmZhY2UiIGlkPSJ7QGlk
fSI+Ci0gICAgICAgIDxoMz48Y29kZT48eHNsOnZhbHVlLW9mIHNlbGVjdD0iQG5hbWUiLz48L2Nv
ZGU+PC9oMz4KLSAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJkZXNjcmlwdGl2
ZS9icmllZiIvPgotICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9IndlYmlkbCIv
PgotICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9Ii4uL0ltcGxlbWVudHNbQG5h
bWUyPSRuYW1lXS93ZWJpZGwiLz4KLSAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0
PSJkZXNjcmlwdGl2ZSIvPgotICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9ImRl
c2NyaXB0aXZlL0NvZGUiLz4KLSAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJJ
bnRlcmZhY2VJbmhlcml0YW5jZSIvPgotICAgICAgICA8eHNsOmlmIHRlc3Q9IkNvbnN0L2Rlc2Ny
aXB0aXZlIj4KLSAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnN0cyI+Ci0gICAgICAgICAgICAg
ICAgPGg0PkNvbnN0YW50czwvaDQ+Ci0gICAgICAgICAgICAgICAgPGRsPgotICAgICAgICAgICAg
ICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJDb25zdCIvPgotICAgICAgICAgICAg
ICAgIDwvZGw+Ci0gICAgICAgICAgICA8L2Rpdj4KLSAgICAgICAgPC94c2w6aWY+Ci0gICAgICAg
IDx4c2w6aWYgdGVzdD0iRXh0ZW5kZWRBdHRyaWJ1dGVMaXN0L0V4dGVuZGVkQXR0cmlidXRlL2Rl
c2NyaXB0aXZlIj4KLSAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnN0cnVjdG9ycyI+Ci0gICAg
ICAgICAgICAgICAgPGg0PkNvbnN0cnVjdG9yczwvaDQ+Ci0gICAgICAgICAgICAgICAgPGRsPgot
ICAgICAgICAgICAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJFeHRlbmRlZEF0
dHJpYnV0ZUxpc3QvRXh0ZW5kZWRBdHRyaWJ1dGUiLz4KLSAgICAgICAgICAgICAgICA8L2RsPgot
ICAgICAgICAgICAgPC9kaXY+Ci0gICAgICAgIDwveHNsOmlmPgotICAgICAgICA8eHNsOmlmIHRl
c3Q9IkF0dHJpYnV0ZS9kZXNjcmlwdGl2ZSI+Ci0gICAgICAgICAgICA8ZGl2IGNsYXNzPSJhdHRy
aWJ1dGVzIj4KLSAgICAgICAgICAgICAgICA8aDQ+QXR0cmlidXRlczwvaDQ+Ci0gICAgICAgICAg
ICAgICAgPGRsPgotICAgICAgICAgICAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0
PSJBdHRyaWJ1dGUiLz4KLSAgICAgICAgICAgICAgICA8L2RsPgotICAgICAgICAgICAgPC9kaXY+
Ci0gICAgICAgIDwveHNsOmlmPgotICAgICAgICA8eHNsOmlmIHRlc3Q9Ik9wZXJhdGlvbi9kZXNj
cmlwdGl2ZSI+Ci0gICAgICAgICAgICA8ZGl2IGNsYXNzPSJtZXRob2RzIj4KLSAgICAgICAgICAg
ICAgICA8aDQ+TWV0aG9kczwvaDQ+Ci0gICAgICAgICAgICAgICAgPGRsPgotICAgICAgICAgICAg
ICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJPcGVyYXRpb24iLz4KLSAgICAgICAg
ICAgICAgICA8L2RsPgotICAgICAgICAgICAgPC9kaXY+Ci0gICAgICAgIDwveHNsOmlmPgotICAg
IDwvZGl2PgotPC94c2w6dGVtcGxhdGU+Ci08eHNsOnRlbXBsYXRlIG1hdGNoPSJJbnRlcmZhY2Vb
bm90KGRlc2NyaXB0aXZlKV0iPgotPC94c2w6dGVtcGxhdGU+Ci0KLTwhLS1EaWN0aW9uYXJ5Li0t
PgotPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iRGljdGlvbmFyeVtkZXNjcmlwdGl2ZV0iPgotICAgIDx4
c2w6dmFyaWFibGUgbmFtZT0ibmFtZSIgc2VsZWN0PSJAbmFtZSIvPgotICAgIDxkaXYgY2xhc3M9
ImRpY3Rpb25hcnkiIGlkPSJ7QGlkfSI+Ci0gICAgICAgIDxoMz48Y29kZT48eHNsOnZhbHVlLW9m
IHNlbGVjdD0iQG5hbWUiLz48L2NvZGU+PC9oMz4KLSAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0
ZXMgc2VsZWN0PSJkZXNjcmlwdGl2ZS9icmllZiIvPgotICAgICAgICA8eHNsOmFwcGx5LXRlbXBs
YXRlcyBzZWxlY3Q9IndlYmlkbCIvPgotICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxl
Y3Q9ImRlc2NyaXB0aXZlIi8+Ci0gICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0i
ZGVzY3JpcHRpdmUvQ29kZSIvPgotICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9
IkludGVyZmFjZUluaGVyaXRhbmNlIi8+Ci0gICAgICAgIDx4c2w6aWYgdGVzdD0iQ29uc3QvZGVz
Y3JpcHRpdmUiPgotICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29uc3RzIj4KLSAgICAgICAgICAg
ICAgICA8aDQ+Q29uc3RhbnRzPC9oND4KLSAgICAgICAgICAgICAgICA8ZGw+Ci0gICAgICAgICAg
ICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9IkNvbnN0Ii8+Ci0gICAgICAgICAg
ICAgICAgPC9kbD4KLSAgICAgICAgICAgIDwvZGl2PgotICAgICAgICA8L3hzbDppZj4KLSAgICAg
ICAgPHhzbDppZiB0ZXN0PSJBdHRyaWJ1dGUvZGVzY3JpcHRpdmUiPgotICAgICAgICAgICAgPGRp
diBjbGFzcz0iYXR0cmlidXRlcyI+Ci0gICAgICAgICAgICAgICAgPGg0PkF0dHJpYnV0ZXM8L2g0
PgotICAgICAgICAgICAgICAgIDxkbD4KLSAgICAgICAgICAgICAgICAgIDx4c2w6YXBwbHktdGVt
cGxhdGVzIHNlbGVjdD0iQXR0cmlidXRlIi8+Ci0gICAgICAgICAgICAgICAgPC9kbD4KLSAgICAg
ICAgICAgIDwvZGl2PgotICAgICAgICA8L3hzbDppZj4KLSAgICA8L2Rpdj4KLTwveHNsOnRlbXBs
YXRlPgotPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iRGljdGlvbmFyeVtub3QoZGVzY3JpcHRpdmUpXSI+
Ci08L3hzbDp0ZW1wbGF0ZT4KLQotPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iSW50ZXJmYWNlSW5oZXJp
dGFuY2UvU2NvcGVkTmFtZUxpc3QiPgotICAgICAgICAgICAgICA8cD4KLSAgICAgICAgICAgICAg
ICA8eHNsOnRleHQ+VGhpcyBpbnRlcmZhY2UgaW5oZXJpdHMgZnJvbTogPC94c2w6dGV4dD4KLSAg
ICAgICAgICAgICAgICA8eHNsOmZvci1lYWNoIHNlbGVjdD0iTmFtZSI+Ci0gICAgICAgICAgICAg
ICAgICA8Y29kZT48eHNsOnZhbHVlLW9mIHNlbGVjdD0iQG5hbWUiLz48L2NvZGU+Ci0gICAgICAg
ICAgICAgICAgICA8eHNsOmlmIHRlc3Q9InBvc2l0aW9uIT1sYXN0KCkiPiwgPC94c2w6aWY+Ci0g
ICAgICAgICAgICAgICAgPC94c2w6Zm9yLWVhY2g+Ci0gICAgICAgICAgICAgIDwvcD4KLTwveHNs
OnRlbXBsYXRlPgotCi08IS0tQXR0cmlidXRlLS0+Ci08eHNsOnRlbXBsYXRlIG1hdGNoPSJBdHRy
aWJ1dGUiPgotICAgIDxkdCBjbGFzcz0iYXR0cmlidXRlIiBpZD0ie0BuYW1lfSI+Ci0gICAgICAg
IDxjb2RlPgotICAgICAgICAgICAgPHhzbDppZiB0ZXN0PSJAc3RyaW5naWZpZXIiPgotICAgICAg
ICAgICAgICAgIHN0cmluZ2lmaWVyCi0gICAgICAgICAgICA8L3hzbDppZj4KLSAgICAgICAgICAg
IDx4c2w6aWYgdGVzdD0iQHJlYWRvbmx5Ij4KLSAgICAgICAgICAgICAgICByZWFkb25seQotICAg
ICAgICAgICAgPC94c2w6aWY+Ci0gICAgICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxl
Y3Q9IlR5cGUiLz4KLSAgICAgICAgICAgIDx4c2w6dGV4dD4gPC94c2w6dGV4dD4KLSAgICAgICAg
ICAgIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAbmFtZSIvPgotICAgICAgICA8L2NvZGU+PC9kdD4K
LSAgICAgICAgPGRkPgotICAgICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iZGVz
Y3JpcHRpdmUvYnJpZWYiLz4KLSAgICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9
ImRlc2NyaXB0aXZlIi8+Ci0gICAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJH
ZXRSYWlzZXMiLz4KLSAgICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9IlNldFJh
aXNlcyIvPgotICAgICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iZGVzY3JpcHRp
dmUvQ29kZSIvPgotICAgICAgICA8L2RkPgotPC94c2w6dGVtcGxhdGU+Ci0KLTwhLS1Db25zdC0t
PgotPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iQ29uc3QiPgotICA8ZHQgY2xhc3M9ImNvbnN0IiBpZD0i
e0BpZH0iPgotICAgIDxjb2RlPgotICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJU
eXBlIi8+Ci0gICAgICA8eHNsOnRleHQ+IDwveHNsOnRleHQ+Ci0gICAgICA8eHNsOnZhbHVlLW9m
IHNlbGVjdD0iQG5hbWUiLz4KLSAgICA8L2NvZGU+Ci0gIDwvZHQ+Ci0gIDxkZD4KLSAgICA8eHNs
OmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9ImRlc2NyaXB0aXZlL2JyaWVmIi8+Ci0gICAgPHhzbDph
cHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJkZXNjcmlwdGl2ZSIvPgotICAgIDx4c2w6YXBwbHktdGVt
cGxhdGVzIHNlbGVjdD0iZGVzY3JpcHRpdmUvQ29kZSIvPgotICA8L2RkPgotPC94c2w6dGVtcGxh
dGU+Ci0KLTwhLS1FeHRlbmRlZEF0dHJpYnV0ZSBuYW1lPT1Db25zdHJ1Y3RvciB8fCBuYW1lPT1O
YW1lZENvbnN0cnVjdG9yLS0+Ci08eHNsOnRlbXBsYXRlIG1hdGNoPSJFeHRlbmRlZEF0dHJpYnV0
ZUxpc3QvRXh0ZW5kZWRBdHRyaWJ1dGUiPgotICAgIDxkdCBjbGFzcz0iY29uc3RydWN0b3IiIGlk
PSJ7Y29uY2F0KEBuYW1lLGdlbmVyYXRlLWlkKC4pKX0iPgotICAgICAgICA8Y29kZT4KLSAgICAg
ICAgICAgIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIuLi8uLi9AbmFtZSIvPgotICAgICAgICAgICAg
IDx4c2w6dGV4dD4oPC94c2w6dGV4dD4KLSAgICAgICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVz
IHNlbGVjdD0iQXJndW1lbnRMaXN0Ij4KLSAgICAgICAgICAgICAgICA8eHNsOndpdGgtcGFyYW0g
bmFtZT0ibm9kZXNjIiBzZWxlY3Q9IjEiLz4KLSAgICAgICAgICAgIDwveHNsOmFwcGx5LXRlbXBs
YXRlcz4KLSAgICAgICAgICAgIDx4c2w6dGV4dD4pOzwveHNsOnRleHQ+Ci0gICAgICAgIDwvY29k
ZT4KLSAgICA8L2R0PgotICAgIDxkZD4KLSAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2Vs
ZWN0PSJkZXNjcmlwdGl2ZS9icmllZiIvPgotICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBz
ZWxlY3Q9ImRlc2NyaXB0aXZlIi8+Ci0gICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVj
dD0iQXJndW1lbnRMaXN0Ii8+Ci0gICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0i
UmFpc2VzIi8+Ci0gICAgICAgIDx4c2w6aWYgdGVzdD0iZGVzY3JpcHRpdmUvYXBpLWZlYXR1cmUi
PgotICAgICAgICAgICAgPGRpdiBjbGFzcz0iYXBpLWZlYXR1cmVzIj4KLSAgICAgICAgICAgICAg
ICA8aDY+QVBJIGZlYXR1cmVzPC9oNj4KLSAgICAgICAgICAgICAgICA8ZGw+Ci0gICAgICAgICAg
ICAgICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iZGVzY3JpcHRpdmUvYXBpLWZl
YXR1cmUiLz4KLSAgICAgICAgICAgICAgICA8L2RsPgotICAgICAgICAgICAgPC9kaXY+Ci0gICAg
ICAgIDwveHNsOmlmPgotICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9IndlYmlk
bCIvPgotICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9ImRlc2NyaXB0aXZlL0Nv
ZGUiLz4KLSAgICA8L2RkPgotPC94c2w6dGVtcGxhdGU+Ci0KLTwhLS1PcGVyYXRpb24tLT4KLTx4
c2w6dGVtcGxhdGUgbWF0Y2g9Ik9wZXJhdGlvbiI+Ci0gICAgPGR0IGNsYXNzPSJtZXRob2QiIGlk
PSJ7Y29uY2F0KEBuYW1lLGdlbmVyYXRlLWlkKC4pKX0iPgotICAgICAgICA8Y29kZT4KLSAgICAg
ICAgICAgIDx4c2w6aWYgdGVzdD0iQHN0cmluZ2lmaWVyIj4KLSAgICAgICAgICAgICAgICA8eHNs
OnZhbHVlLW9mIHNlbGVjdD0iY29uY2F0KEBzdHJpbmdpZmllciwgJyAnKSIvPgotICAgICAgICAg
ICAgPC94c2w6aWY+Ci0gICAgICAgICAgICA8eHNsOmlmIHRlc3Q9IkBvbWl0dGFibGUiPgotICAg
ICAgICAgICAgICAgIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJjb25jYXQoQG9taXR0YWJsZSwgJyAn
KSIvPgotICAgICAgICAgICAgPC94c2w6aWY+Ci0gICAgICAgICAgICA8eHNsOmlmIHRlc3Q9IkBn
ZXR0ZXIiPgotICAgICAgICAgICAgICAgIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJjb25jYXQoQGdl
dHRlciwgJyAnKSIvPgotICAgICAgICAgICAgPC94c2w6aWY+Ci0gICAgICAgICAgICA8eHNsOmlm
IHRlc3Q9IkBzZXR0ZXIiPgotICAgICAgICAgICAgICAgIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJj
b25jYXQoQHNldHRlciwgJyAnKSIvPgotICAgICAgICAgICAgPC94c2w6aWY+Ci0gICAgICAgICAg
ICA8eHNsOmlmIHRlc3Q9IkBjcmVhdG9yIj4KLSAgICAgICAgICAgIAk8eHNsOnZhbHVlLW9mIHNl
bGVjdD0iY29uY2F0KEBjcmVhdG9yLCAnICcpIi8+Ci0gICAgICAgICAgICA8L3hzbDppZj4KLSAg
ICAgICAgICAgIDx4c2w6aWYgdGVzdD0iQGRlbGV0ZXIiPgotICAgICAgICAgICAgICAgIDx4c2w6
dmFsdWUtb2Ygc2VsZWN0PSJjb25jYXQoQGRlbGV0ZXIsICcgJykiLz4KLSAgICAgICAgICAgIDwv
eHNsOmlmPgotICAgICAgICAgICAgPHhzbDppZiB0ZXN0PSJAY2FsbGVyIj4KLSAgICAgICAgICAg
ICAgICA8eHNsOnZhbHVlLW9mIHNlbGVjdD0iY29uY2F0KEBjYWxsZXIsICcgJykiLz4KLSAgICAg
ICAgICAgIDwveHNsOmlmPgotICAgICAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0
PSJUeXBlIi8+Ci0gICAgICAgICAgICA8eHNsOnRleHQ+IDwveHNsOnRleHQ+Ci0gICAgICAgICAg
ICA8eHNsOnZhbHVlLW9mIHNlbGVjdD0iQG5hbWUiLz4KLSAgICAgICAgICAgIDx4c2w6dGV4dD4o
PC94c2w6dGV4dD4KLSAgICAgICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iQXJn
dW1lbnRMaXN0Ij4KLSAgICAgICAgICAgICAgICA8eHNsOndpdGgtcGFyYW0gbmFtZT0ibm9kZXNj
IiBzZWxlY3Q9IjEiLz4KLSAgICAgICAgICAgIDwveHNsOmFwcGx5LXRlbXBsYXRlcz4KLSAgICAg
ICAgICAgIDx4c2w6dGV4dD4pOzwveHNsOnRleHQ+Ci0gICAgICAgIDwvY29kZT4KLSAgICA8L2R0
PgotICAgIDxkZD4KLSAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJkZXNjcmlw
dGl2ZS9icmllZiIvPgotICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9IndlYmlk
bCIvPgotICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9ImRlc2NyaXB0aXZlL0Nv
ZGUiLz4KLSAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJkZXNjcmlwdGl2ZSIv
PgotICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9IkFyZ3VtZW50TGlzdCIvPgot
ICAgICAgICA8eHNsOmlmIHRlc3Q9IlR5cGUvZGVzY3JpcHRpdmUiPgotICAgICAgICAgIDxkaXYg
Y2xhc3M9InJldHVybnR5cGUiPgotICAgICAgICAgICAgPGg1PlJldHVybiB2YWx1ZTwvaDU+Ci0g
ICAgICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9IlR5cGUvZGVzY3JpcHRpdmUi
Lz4KLSAgICAgICAgICA8L2Rpdj4KLSAgICAgICAgPC94c2w6aWY+Ci0gICAgICAgIDx4c2w6YXBw
bHktdGVtcGxhdGVzIHNlbGVjdD0iUmFpc2VzIi8+Ci0gICAgICAgIDx4c2w6aWYgdGVzdD0iZGVz
Y3JpcHRpdmUvYXBpLWZlYXR1cmUiPgotICAgICAgICAgICAgPGRpdiBjbGFzcz0iYXBpLWZlYXR1
cmVzIj4KLSAgICAgICAgICAgICAgICA8aDY+QVBJIGZlYXR1cmVzPC9oNj4KLSAgICAgICAgICAg
ICAgICA8ZGw+Ci0gICAgICAgICAgICAgICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVj
dD0iZGVzY3JpcHRpdmUvYXBpLWZlYXR1cmUiLz4KLSAgICAgICAgICAgICAgICA8L2RsPgotICAg
ICAgICAgICAgPC9kaXY+Ci0gICAgICAgIDwveHNsOmlmPgotICAgICAgICA8eHNsOmFwcGx5LXRl
bXBsYXRlcyBzZWxlY3Q9ImRlc2NyaXB0aXZlL0NvZGUiLz4KLSAgICA8L2RkPgotPC94c2w6dGVt
cGxhdGU+Ci0KLTwhLS1DYWxsYmFjay0tPgotPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iQ2FsbGJhY2si
PgotICAgIDx4c2w6dmFyaWFibGUgbmFtZT0ibmFtZSIgc2VsZWN0PSJAbmFtZSIvPgotICAgIDxk
aXYgY2xhc3M9ImNhbGxiYWNrIiBpZD0ie0BpZH0iPgotICAgICAgICA8aDM+PGNvZGU+PHhzbDp2
YWx1ZS1vZiBzZWxlY3Q9IkBuYW1lIi8+PC9jb2RlPjwvaDM+Ci0KLQkgICAgPGRkPgotCSAgICAg
ICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJkZXNjcmlwdGl2ZS9icmllZiIvPgotCSAg
ICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJ3ZWJpZGwiLz4KLQkgICAgICAgIDx4
c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iZGVzY3JpcHRpdmUiLz4KLQkgICAgICAgIDxkaXYg
Y2xhc3M9InN5bm9wc2lzIj4KLQkgICAgICAgICAgICA8aDY+U2lnbmF0dXJlPC9oNj4KLQkgICAg
ICAgICAgICA8cHJlPgotCSAgICAgICAgICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxl
Y3Q9IlR5cGUiLz4KLQkgICAgICAgICAgICAgICAgPHhzbDp0ZXh0PiA8L3hzbDp0ZXh0PgotCSAg
ICAgICAgICAgICAgICA8eHNsOnZhbHVlLW9mIHNlbGVjdD0iQG5hbWUiLz4KLQkgICAgICAgICAg
ICAgICAgPHhzbDp0ZXh0Pig8L3hzbDp0ZXh0PgotCSAgICAgICAgICAgICAgICA8eHNsOmFwcGx5
LXRlbXBsYXRlcyBzZWxlY3Q9IkFyZ3VtZW50TGlzdCI+Ci0JICAgICAgICAgICAgICAgICAgICA8
eHNsOndpdGgtcGFyYW0gbmFtZT0ibm9kZXNjIiBzZWxlY3Q9IjEiLz4KLQkgICAgICAgICAgICAg
ICAgPC94c2w6YXBwbHktdGVtcGxhdGVzPgotCSAgICAgICAgICAgICAgICA8eHNsOnRleHQ+KTsK
LTwveHNsOnRleHQ+PC9wcmU+Ci0JICAgICAgICA8L2Rpdj4KLQkgICAgICAgIDx4c2w6YXBwbHkt
dGVtcGxhdGVzIHNlbGVjdD0iZGVzY3JpcHRpdmUiLz4KLQkgICAgICAgIDx4c2w6YXBwbHktdGVt
cGxhdGVzIHNlbGVjdD0iQXJndW1lbnRMaXN0Ii8+Ci0JICAgICAgICA8eHNsOmlmIHRlc3Q9IlR5
cGUvZGVzY3JpcHRpdmUiPgotCSAgICAgICAgICA8ZGl2IGNsYXNzPSJyZXR1cm50eXBlIj4KLQkg
ICAgICAgICAgICA8aDU+UmV0dXJuIHZhbHVlPC9oNT4KLQkgICAgICAgICAgICA8eHNsOmFwcGx5
LXRlbXBsYXRlcyBzZWxlY3Q9IlR5cGUvZGVzY3JpcHRpdmUiLz4KLQkgICAgICAgICAgPC9kaXY+
Ci0JICAgICAgICA8L3hzbDppZj4KLQkgICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVj
dD0iZGVzY3JpcHRpdmUvQ29kZSIvPgotCSAgICA8L2RkPgotCTwvZGl2PgotPC94c2w6dGVtcGxh
dGU+Ci0KLTwhLS1Bcmd1bWVudExpc3QuIFRoaXMgaXMgcGFzc2VkICRub2Rlc2M9dHJ1ZSB0byBv
dXRwdXQganVzdCB0aGUgYXJndW1lbnQKLSAgICB0eXBlcyBhbmQgbmFtZXMsIGFuZCBub3QgYW55
IGRvY3VtZW50YXRpb24gZm9yIHRoZW0uLS0+Ci08eHNsOnRlbXBsYXRlIG1hdGNoPSJBcmd1bWVu
dExpc3QiPgotICAgIDx4c2w6cGFyYW0gbmFtZT0ibm9kZXNjIi8+Ci0gICAgPHhzbDpjaG9vc2U+
Ci0gICAgICAgIDx4c2w6d2hlbiB0ZXN0PSIkbm9kZXNjIj4KLSAgICAgICAgICAgIDwhLS0kbm9k
ZXNjIGlzIHRydWU6IGp1c3Qgb3V0cHV0IHRoZSB0eXBlcyBhbmQgbmFtZXMtLT4KLSAgICAgICAg
ICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iQXJndW1lbnRbMV0iPgotICAgICAgICAg
ICAgICAgIDx4c2w6d2l0aC1wYXJhbSBuYW1lPSJub2Rlc2MiIHNlbGVjdD0iJ25vY29tbWEnIi8+
Ci0gICAgICAgICAgICA8L3hzbDphcHBseS10ZW1wbGF0ZXM+Ci0gICAgICAgICAgICA8eHNsOmFw
cGx5LXRlbXBsYXRlcyBzZWxlY3Q9IkFyZ3VtZW50W3Bvc2l0aW9uKCkgIT0gMV0iPgotICAgICAg
ICAgICAgICAgIDx4c2w6d2l0aC1wYXJhbSBuYW1lPSJub2Rlc2MiIHNlbGVjdD0iJ2NvbW1hJyIv
PgotICAgICAgICAgICAgPC94c2w6YXBwbHktdGVtcGxhdGVzPgotICAgICAgICA8L3hzbDp3aGVu
PgotICAgICAgICA8eHNsOndoZW4gdGVzdD0iQXJndW1lbnQiPgotICAgICAgICAgICAgPCEtLSRu
b2Rlc2MgaXMgZmFsc2U6IG91dHB1dCB0aGUgZG9jdW1lbnRhdGlvbi0tPgotICAgICAgICAgICAg
PGRpdiBjbGFzcz0icGFyYW1ldGVycyI+Ci0gICAgICAgICAgICAgICAgPGg2PlBhcmFtZXRlcnM8
L2g2PgotICAgICAgICAgICAgICAgIDx1bD4KLSAgICAgICAgICAgICAgICAgICAgPHhzbDphcHBs
eS10ZW1wbGF0ZXMvPgotICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICA8L2Rpdj4K
LSAgICAgICAgPC94c2w6d2hlbj4KLSAgICA8L3hzbDpjaG9vc2U+Ci08L3hzbDp0ZW1wbGF0ZT4K
LQotPCEtLUFyZ3VtZW50LiBUaGlzIGlzIHBhc3NlZCAkbm9kZXNjPWZhbHNlIHRvIG91dHB1dCB0
aGUgZG9jdW1lbnRhdGlvbiwKLSAgICBvciAkbm9kZXNjPSJub2NvbW1hIiB0byBvdXRwdXQgdGhl
IHR5cGUgYW5kIG5hbWUsIG9yICRub2Rlc2M9ImNvbW1hIgotICAgIHRvIG91dHB1dCBhIGNvbW1h
IHRoZW4gdGhlIHR5cGUgYW5kIG5hbWUuIC0tPgotPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iQXJndW1l
bnQiPgotICAgIDx4c2w6cGFyYW0gbmFtZT0ibm9kZXNjIi8+Ci0gICAgPHhzbDpjaG9vc2U+Ci0g
ICAgICAgIDx4c2w6d2hlbiB0ZXN0PSIkbm9kZXNjIj4KLSAgICAgICAgICAgIDwhLS0kbm9kZXNj
IGlzIHRydWU6IGp1c3Qgb3V0cHV0IHRoZSB0eXBlcyBhbmQgbmFtZXMtLT4KLSAgICAgICAgICAg
IDx4c2w6aWYgdGVzdD0iJG5vZGVzYyA9ICdjb21tYSciPgotICAgICAgICAgICAgICAgIDwhLS1O
ZWVkIGEgY29tbWEgZmlyc3QuLS0+Ci0gICAgICAgICAgICAgICAgPHhzbDp0ZXh0PiwgPC94c2w6
dGV4dD4KLSAgICAgICAgICAgIDwveHNsOmlmPgotICAgICAgICAgICAgPHhzbDppZiB0ZXN0PSJA
aW4iPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJjb25jYXQoQGluLCAnICcpIi8+PC94c2w6aWY+Ci0g
ICAgICAgICAgICA8eHNsOmlmIHRlc3Q9IkBvcHRpb25hbCI+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9
ImNvbmNhdChAb3B0aW9uYWwsICcgJykiLz48L3hzbDppZj4KLSAgICAgICAgICAgIDx4c2w6YXBw
bHktdGVtcGxhdGVzIHNlbGVjdD0iVHlwZSIvPgotICAgICAgICAgICAgPHhzbDppZiB0ZXN0PSJA
ZWxsaXBzaXMiPjx4c2w6dGV4dD4uLi48L3hzbDp0ZXh0PjwveHNsOmlmPgotICAgICAgICAgICAg
PHhzbDp0ZXh0PiA8L3hzbDp0ZXh0PgotICAgICAgICAgICAgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9
IkBuYW1lIi8+Ci0JICAgIDx4c2w6aWYgdGVzdD0iQHZhbHVlIj4KLQkgICAgICA8eHNsOnRleHQ+
RGVmYXVsdCB2YWx1ZTogPC94c2w6dGV4dD48eHNsOnZhbHVlLW9mIHNlbGVjdD0iQHZhbHVlIi8+
Ci0JICAgIDwveHNsOmlmPgotCSAgICA8eHNsOmlmIHRlc3Q9IkBzdHJpbmd2YWx1ZSI+Ci0JICAg
ICAgPHhzbDp0ZXh0PkRlZmF1bHQgdmFsdWU6ICI8L3hzbDp0ZXh0Pjx4c2w6dmFsdWUtb2Ygc2Vs
ZWN0PSJAc3RyaW5ndmFsdWUiLz48eHNsOnRleHQ+IjwveHNsOnRleHQ+Ci0JICAgIDwveHNsOmlm
PgkgICAgCi0gICAgICAgIDwveHNsOndoZW4+Ci0gICAgICAgIDx4c2w6b3RoZXJ3aXNlPgotICAg
ICAgICAgICAgPCEtLSRub2Rlc2MgaXMgZmFsc2U6IG91dHB1dCB0aGUgZG9jdW1lbnRhdGlvbi0t
PgotICAgICAgICAgICAgPGxpIGNsYXNzPSJwYXJhbSI+Ci0gICAgICAgICAgICAgICAgPHhzbDp2
YWx1ZS1vZiBzZWxlY3Q9IkBuYW1lIi8+OgotICAgICAgICAgICAgICAgIDx4c2w6YXBwbHktdGVt
cGxhdGVzIHNlbGVjdD0iZGVzY3JpcHRpdmUiLz4KLSAgICAgICAgICAgIDwvbGk+Ci0gICAgICAg
IDwveHNsOm90aGVyd2lzZT4KLSAgICA8L3hzbDpjaG9vc2U+Ci08L3hzbDp0ZW1wbGF0ZT4KLQot
PCEtLVJhaXNlcyAoZm9yIGFuIE9wZXJhdGlvbikuIEl0IGlzIGFscmVhZHkga25vd24gdGhhdCB0
aGUgbGlzdAotICAgIGlzIG5vdCBlbXB0eS4tLT4KLTx4c2w6dGVtcGxhdGUgbWF0Y2g9IlJhaXNl
cyI+Ci0gICAgPGRpdiBjbGFzcz0iZXhjZXB0aW9ubGlzdCI+Ci0gICAgICAgIDxoNT5FeGNlcHRp
b25zPC9oNT4KLSAgICAgICAgPHVsPgotICAgICAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMv
PgotICAgICAgICA8L3VsPgotICAgIDwvZGl2PgotPC94c2w6dGVtcGxhdGU+Ci0KLTwhLS1SYWlz
ZUV4Y2VwdGlvbiwgdGhlIG5hbWUgb2YgYW4gZXhjZXB0aW9uIGluIGEgUmFpc2VzLi0tPgotPHhz
bDp0ZW1wbGF0ZSBtYXRjaD0iUmFpc2VFeGNlcHRpb24iPgotICAgIDxsaSBjbGFzcz0iZXhjZXB0
aW9uIj4KLSAgICAgICAgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBuYW1lIi8+OgotICAgICAgICA8
eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9ImRlc2NyaXB0aXZlIi8+Ci0gICAgPC9saT4KLTwv
eHNsOnRlbXBsYXRlPgotCi08IS0tVHlwZS4tLT4KLTx4c2w6dGVtcGxhdGUgbWF0Y2g9IlR5cGUi
PgotICAgIDx4c2w6Y2hvb3NlPgotICAgICAgICA8eHNsOndoZW4gdGVzdD0iVHlwZSI+Ci0gICAg
ICAgICAgICA8eHNsOnRleHQ+c2VxdWVuY2UgJmx0OzwveHNsOnRleHQ+Ci0gICAgICAgICAgICA8
eHNsOmFwcGx5LXRlbXBsYXRlcy8+Ci0gICAgICAgICAgICA8eHNsOnRleHQ+PjwveHNsOnRleHQ+
Ci0gICAgICAgIDwveHNsOndoZW4+Ci0gICAgICAgIDx4c2w6b3RoZXJ3aXNlPgotICAgICAgICAg
ICAgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBuYW1lIi8+Ci0gICAgICAgICAgICA8eHNsOnZhbHVl
LW9mIHNlbGVjdD0iQHR5cGUiLz4KLSAgICAgICAgICAgIDx4c2w6aWYgdGVzdD0iQG51bGxhYmxl
Ij4KLSAgICAgICAgICAgICAgICA8eHNsOnRleHQ+PzwveHNsOnRleHQ+Ci0gICAgICAgICAgICA8
L3hzbDppZj4KLSAgICAgICAgPC94c2w6b3RoZXJ3aXNlPgotICAgIDwveHNsOmNob29zZT4KLTwv
eHNsOnRlbXBsYXRlPgotCi08IS0tRW51bS4tLT4KLTx4c2w6dGVtcGxhdGUgbWF0Y2g9IkVudW1b
ZGVzY3JpcHRpdmVdIj4KLSAgICA8eHNsOnZhcmlhYmxlIG5hbWU9Im5hbWUiIHNlbGVjdD0iQG5h
bWUiLz4KLSAgICA8ZGl2IGNsYXNzPSJlbnVtIiBpZD0ie0BpZH0iPgotICAgICAgICA8aDM+PGNv
ZGU+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBuYW1lIi8+PC9jb2RlPjwvaDM+Ci0gICAgICAgIDx4
c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iZGVzY3JpcHRpdmUvYnJpZWYiLz4KLSAgICAgICAg
PHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJ3ZWJpZGwiLz4KLSAgICAgICAgPHhzbDphcHBs
eS10ZW1wbGF0ZXMgc2VsZWN0PSJkZXNjcmlwdGl2ZSIvPgotICAgICAgICA8eHNsOmFwcGx5LXRl
bXBsYXRlcyBzZWxlY3Q9ImRlc2NyaXB0aXZlL0NvZGUiLz4KLSAgICAgICAgPGRpdiBjbGFzcz0i
ZW51bXZhbHVlcyI+Ci0gICAgICAgICAgICA8aDQ+VmFsdWVzPC9oND4KLSAgICAgICAgICAgIDxk
bD4KLSAgICAgICAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJFbnVtVmFsdWUi
Lz4KLSAgICAgICAgICAgIDwvZGw+Ci0gICAgICAgIDwvZGl2PgotICAgIDwvZGl2PgotPC94c2w6
dGVtcGxhdGU+Ci08eHNsOnRlbXBsYXRlIG1hdGNoPSJFbnVtW25vdChkZXNjcmlwdGl2ZSldIj4K
LTwveHNsOnRlbXBsYXRlPgotCi08IS0tRW51bVZhbHVlLS0+Ci08eHNsOnRlbXBsYXRlIG1hdGNo
PSJFbnVtVmFsdWUiPgotICA8ZHQgY2xhc3M9ImVudW12YWx1ZSIgaWQ9IntAaWR9Ij4KLSAgICA8
Y29kZT4KLSAgICAgIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAc3RyaW5ndmFsdWUiLz4KLSAgICA8
L2NvZGU+Ci0gIDwvZHQ+Ci0gIDxkZD4KLSAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9
ImRlc2NyaXB0aXZlL2JyaWVmIi8+Ci0gICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJk
ZXNjcmlwdGl2ZSIvPgotICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iZGVzY3JpcHRp
dmUvQ29kZSIvPgotICA8L2RkPgotPC94c2w6dGVtcGxhdGU+Ci0KLTx4c2w6dGVtcGxhdGUgbWF0
Y2g9ImRlc2NyaXB0aXZlW25vdChhdXRob3IpXSI+Ci0gIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNl
bGVjdD0idmVyc2lvbiIvPgotICA8eHNsOmlmIHRlc3Q9ImF1dGhvciI+Ci0gIDwveHNsOmlmPgot
ICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9ImRlc2NyaXB0aW9uIi8+Ci08L3hzbDp0ZW1w
bGF0ZT4KLQotPCEtLWJyaWVmLS0+Ci08eHNsOnRlbXBsYXRlIG1hdGNoPSJicmllZiI+Ci0gICAg
PGRpdiBjbGFzcz0iYnJpZWYiPgotICAgICAgICA8cD4KLSAgICAgICAgICAgIDx4c2w6YXBwbHkt
dGVtcGxhdGVzLz4KLSAgICAgICAgPC9wPgotICAgIDwvZGl2PgotPC94c2w6dGVtcGxhdGU+Ci0K
LTwhLS1kZXNjcmlwdGlvbiBpbiBSZXR1cm5UeXBlIG9yIEFyZ3VtZW50IG9yIFNjb3BlZE5hbWUt
LT4KLTx4c2w6dGVtcGxhdGUgbWF0Y2g9IlR5cGUvZGVzY3JpcHRpdmUvZGVzY3JpcHRpb258QXJn
dW1lbnQvZGVzY3JpcHRpdmUvZGVzY3JpcHRpb258TmFtZS9kZXNjcmlwdGl2ZS9kZXNjcmlwdGlv
biI+Ci0gICAgPCEtLUlmIHRoZSBkZXNjcmlwdGlvbiBjb250YWlucyBqdXN0IGEgc2luZ2xlIDxw
PiB0aGVuIHdlIG9taXQKLSAgICAgICAgdGhlIDxwPiBhbmQganVzdCBkbyBpdHMgY29udGVudHMu
LS0+Ci0gICAgPHhzbDpjaG9vc2U+Ci0gICAgICAgIDx4c2w6d2hlbiB0ZXN0PSJwIGFuZCBjb3Vu
dCgqKSA9IDEiPgotICAgICAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJwLyp8
cC90ZXh0KCkiLz4KLSAgICAgICAgPC94c2w6d2hlbj4KLSAgICAgICAgPHhzbDpvdGhlcndpc2U+
Ci0gICAgICAgICAgICA8ZGl2IGNsYXNzPSJkZXNjcmlwdGlvbiI+Ci0gICAgICAgICAgICAgICAg
PHhzbDphcHBseS10ZW1wbGF0ZXMvPgotICAgICAgICAgICAgPC9kaXY+Ci0gICAgICAgIDwveHNs
Om90aGVyd2lzZT4KLSAgICA8L3hzbDpjaG9vc2U+Ci08L3hzbDp0ZW1wbGF0ZT4KLQotPCEtLU90
aGVyIGRlc2NyaXB0aW9uLS0+Ci08eHNsOnRlbXBsYXRlIG1hdGNoPSJkZXNjcmlwdGlvbiI+Ci0g
ICAgPGRpdiBjbGFzcz0iZGVzY3JpcHRpb24iPgotICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRl
cy8+Ci0gICAgPC9kaXY+Ci08L3hzbDp0ZW1wbGF0ZT4KLQotPCEtLUNvZGUtLT4KLTx4c2w6dGVt
cGxhdGUgbWF0Y2g9IkNvZGUiPgotICAgIDxkaXYgY2xhc3M9ImV4YW1wbGUiPgotICAgIAk8eHNs
OmNob29zZT4KLSAgICAgICAgCTx4c2w6d2hlbiB0ZXN0PSJAbGFuZyI+Ci0JICAgICAgIAkJPGg1
Pjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAbGFuZyIvPjwvaDU+Ci0gICAgICAgIAk8L3hzbDp3aGVu
PgotICAgICAgICAJPHhzbDpvdGhlcndpc2U+Ci0JICAgICAgIAkJPGg1PkNvZGUgZXhhbXBsZTwv
aDU+Ci0gICAgICAgIAk8L3hzbDpvdGhlcndpc2U+Ci0gICAgCTwveHNsOmNob29zZT4KLSAgICAg
ICAgPHByZSBjbGFzcz0iZXhhbXBsZWNvZGUiPjx4c2w6YXBwbHktdGVtcGxhdGVzLz48L3ByZT4K
LSAgICA8L2Rpdj4KLTwveHNsOnRlbXBsYXRlPgotCi08IS0td2ViaWRsIDogbGl0ZXJhbCBXZWIg
SURMIGZyb20gaW5wdXQtLT4KLTx4c2w6dGVtcGxhdGUgbWF0Y2g9IndlYmlkbCI+Ci0gICAgPGg1
PldlYklETDwvaDU+Ci0gICAgPHByZSBjbGFzcz0id2ViaWRsIj48eHNsOmFwcGx5LXRlbXBsYXRl
cy8+PC9wcmU+Ci08L3hzbDp0ZW1wbGF0ZT4KLQotPCEtLWF1dGhvci0tPgotPHhzbDp0ZW1wbGF0
ZSBtYXRjaD0iYXV0aG9yIj4KLSAgICA8bGkgY2xhc3M9ImF1dGhvciI+PHhzbDphcHBseS10ZW1w
bGF0ZXMvPjwvbGk+Ci08L3hzbDp0ZW1wbGF0ZT4KLQotPCEtLXZlcnNpb24tLT4KLTx4c2w6dGVt
cGxhdGUgbWF0Y2g9InZlcnNpb24iPgotICAgIDxkaXYgY2xhc3M9InZlcnNpb24iPgotICAgICAg
ICA8aDI+Ci0gICAgICAgICAgICBWZXJzaW9uOiA8eHNsOmFwcGx5LXRlbXBsYXRlcy8+Ci0gICAg
ICAgIDwvaDI+Ci0gICAgPC9kaXY+Ci08L3hzbDp0ZW1wbGF0ZT4KLQotPCEtLWFwaS1mZWF0dXJl
LS0+Ci08eHNsOnRlbXBsYXRlIG1hdGNoPSJhcGktZmVhdHVyZSI+Ci0gICAgPGR0PgotICAgICAg
ICA8eHNsOnZhbHVlLW9mIHNlbGVjdD0iQGlkZW50aWZpZXIiLz4KLSAgICA8L2R0PgotICAgIDxk
ZD4KLSAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMvPgotICAgIDwvZGQ+Ci08L3hzbDp0ZW1w
bGF0ZT4KLQotPCEtLXBhcmFtLS0+Ci08eHNsOnRlbXBsYXRlIG1hdGNoPSJwYXJhbSI+Ci0gICAg
PGxpPgotICAgICAgICA8Y29kZT48eHNsOnZhbHVlLW9mIHNlbGVjdD0iQGlkZW50aWZpZXIiLz48
L2NvZGU+OgotICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcy8+Ci0gICAgPC9saT4KLTwveHNs
OnRlbXBsYXRlPgotCi08IS0tZGVmLWluc3RhbnRpYXRlZC4KLSAgICBUaGlzIGFzc3VtZXMgdGhh
dCBvbmx5IG9uZSBpbnRlcmZhY2UgaW4gdGhlIG1vZHVsZSBoYXMgYSBkZWYtaW5zdGFudGlhdGVk
LAotICAgIGFuZCB0aGF0IGludGVyZmFjZSBjb250YWlucyBqdXN0IG9uZSBhdHRyaWJ1dGUuLS0+
Ci08eHNsOnRlbXBsYXRlIG1hdGNoPSJkZWYtaW5zdGFudGlhdGVkIj4KLSAgICA8eHNsOnZhcmlh
YmxlIG5hbWU9ImlmYWNlbmFtZSIgc2VsZWN0PSIuLi8uLi9AbmFtZSIvPgotICAgIDxwPgotICAg
ICAgICA8eHNsOmNob29zZT4KLSAgICAgICAgICAgIDx4c2w6d2hlbiB0ZXN0PSJjb3VudChkZXNj
cmlwdGl2ZS9hcGktZmVhdHVyZSk9MSI+Ci0gICAgICAgICAgICAgICAgV2hlbiB0aGUgZmVhdHVy
ZQotICAgICAgICAgICAgPC94c2w6d2hlbj4KLSAgICAgICAgICAgIDx4c2w6b3RoZXJ3aXNlPgot
ICAgICAgICAgICAgICAgIFdoZW4gYW55IG9mIHRoZSBmZWF0dXJlcwotICAgICAgICAgICAgPC94
c2w6b3RoZXJ3aXNlPgotICAgICAgICA8L3hzbDpjaG9vc2U+Ci0gICAgPC9wPgotICAgIDx1bD4K
LSAgICAgICAgPHhzbDpmb3ItZWFjaCBzZWxlY3Q9ImRlc2NyaXB0aXZlL2FwaS1mZWF0dXJlIj4K
LSAgICAgICAgICAgIDxsaT48Y29kZT4KLSAgICAgICAgICAgICAgICA8eHNsOnZhbHVlLW9mIHNl
bGVjdD0iQGlkZW50aWZpZXIiLz4KLSAgICAgICAgICAgIDwvY29kZT48L2xpPgotICAgICAgICA8
L3hzbDpmb3ItZWFjaD4KLSAgICA8L3VsPgotICAgIDxwPgotICAgICAgICBpcyBzdWNjZXNzZnVs
bHkgcmVxdWVzdGVkLCB0aGUgaW50ZXJmYWNlCi0gICAgICAgIDxjb2RlPjx4c2w6YXBwbHktdGVt
cGxhdGVzIHNlbGVjdD0iLi4vLi4vQXR0cmlidXRlL1R5cGUiLz48L2NvZGU+Ci0gICAgICAgIGlz
IGluc3RhbnRpYXRlZCwgYW5kIHRoZSByZXN1bHRpbmcgb2JqZWN0IGFwcGVhcnMgaW4gdGhlIGds
b2JhbAotICAgICAgICBuYW1lc3BhY2UgYXMKLSAgICAgICAgPGNvZGU+PHhzbDp2YWx1ZS1vZiBz
ZWxlY3Q9Ii4uLy4uLy4uL0ltcGxlbWVudHNbQG5hbWUyPSRpZmFjZW5hbWVdL0BuYW1lMSIvPi48
eHNsOnZhbHVlLW9mIHNlbGVjdD0iLi4vLi4vQXR0cmlidXRlL0BuYW1lIi8+PC9jb2RlPi4KLSAg
ICA8L3A+Ci08L3hzbDp0ZW1wbGF0ZT4KLQotCi0KLTwhLS1odG1sIGVsZW1lbnRzLS0+Ci08eHNs
OnRlbXBsYXRlIG1hdGNoPSJhfGJ8YnJ8ZGR8ZGx8ZHR8ZW18bGl8cHx0YWJsZXx0ZHx0aHx0cnx1
bCI+Ci0gICAgPHhzbDplbGVtZW50IG5hbWU9IntuYW1lKCl9Ij48eHNsOmZvci1lYWNoIHNlbGVj
dD0iQCoiPjx4c2w6YXR0cmlidXRlIG5hbWU9IntuYW1lKCl9Ij48eHNsOnZhbHVlLW9mIHNlbGVj
dD0iLiIvPjwveHNsOmF0dHJpYnV0ZT48L3hzbDpmb3ItZWFjaD48eHNsOmFwcGx5LXRlbXBsYXRl
cy8+PC94c2w6ZWxlbWVudD4KLTwveHNsOnRlbXBsYXRlPgotCi08eHNsOnRlbXBsYXRlIG5hbWU9
InN1bW1hcnkiPgotICA8dGFibGUgY2xhc3M9InN1bW1hcnkiPgotICAgIDx0aGVhZD4KLSAgICAg
IDx0cj48dGg+SW50ZXJmYWNlPC90aD48dGg+TWV0aG9kPC90aD48L3RyPgotICAgIDwvdGhlYWQ+
Ci0gICAgPHRib2R5PgotICAgICAgPHhzbDpmb3ItZWFjaCBzZWxlY3Q9IkludGVyZmFjZVtkZXNj
cmlwdGl2ZV0iPgotICAgICAgICA8dHI+PHRkPjxhIGhyZWY9IiN7QGlkfSI+PHhzbDp2YWx1ZS1v
ZiBzZWxlY3Q9IkBuYW1lIi8+PC9hPjwvdGQ+Ci0gICAgICAgIDx0ZD4KLSAgICAgICAgICA8eHNs
OmZvci1lYWNoIHNlbGVjdD0iT3BlcmF0aW9uIj4KLQotICAgICAgICAgICAgPHhzbDphcHBseS10
ZW1wbGF0ZXMgc2VsZWN0PSJUeXBlIi8+Ci0gICAgICAgICAgICA8eHNsOnRleHQ+IDwveHNsOnRl
eHQ+Ci0gICAgICAgICAgICA8YSBocmVmPSIje2NvbmNhdChAbmFtZSxnZW5lcmF0ZS1pZCguKSl9
Ij48eHNsOnZhbHVlLW9mIHNlbGVjdD0iQG5hbWUiLz48L2E+Ci0gICAgICAgICAgICA8eHNsOnRl
eHQ+KDwveHNsOnRleHQ+Ci0gICAgICAgICAgICA8eHNsOmZvci1lYWNoIHNlbGVjdD0iQXJndW1l
bnRMaXN0L0FyZ3VtZW50Ij4KLSAgICAgICAgICAgICAgPHhzbDp2YXJpYWJsZSBuYW1lPSJ0eXBl
Ij48eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9IlR5cGUiLz48L3hzbDp2YXJpYWJsZT4KLSAg
ICAgICAgICAgICAgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9ImNvbmNhdChub3JtYWxpemUtc3BhY2Uo
JHR5cGUpLCcgJyxAbmFtZSkiLz4KLSAgICAgICAgICAgICAgPHhzbDppZiB0ZXN0PSJwb3NpdGlv
bigpICE9IGxhc3QoKSI+LCA8L3hzbDppZj4KLSAgICAgICAgICAgIDwveHNsOmZvci1lYWNoPgot
ICAgICAgICAgICAgPHhzbDp0ZXh0Pik8L3hzbDp0ZXh0PgotICAgICAgICAgICAgPHhzbDppZiB0
ZXN0PSJwb3NpdGlvbigpIT1sYXN0KCkiPjxici8+PC94c2w6aWY+Ci0gICAgICAgICAgPC94c2w6
Zm9yLWVhY2g+Ci0gICAgICAgIDwvdGQ+Ci0gICAgICAgIDwvdHI+Ci0gICAgICA8L3hzbDpmb3It
ZWFjaD4KLSAgICA8L3Rib2R5PgotICA8L3RhYmxlPgotPC94c2w6dGVtcGxhdGU+Ci0KLTwhLS08
cmVmPiBlbGVtZW50IGluIGxpdGVyYWwgV2ViIElETC4tLT4KLTx4c2w6dGVtcGxhdGUgbWF0Y2g9
InJlZltAcmVmXSI+Ci0gICAgPGEgaHJlZj0ie0ByZWZ9Ij4KLSAgICAgICAgPHhzbDphcHBseS10
ZW1wbGF0ZXMvPgotICAgIDwvYT4KLTwveHNsOnRlbXBsYXRlPgotCi08L3hzbDpzdHlsZXNoZWV0
PgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9NYWtlZmlsZSBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC93aWRscHJvYy90ZXN0L01ha2VmaWxlCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCBjNDA5MzllMzZmYzliOTE3Y2JkNzlhZDExZjY4ZTM3OWYwZWNlMTg5Li4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0
L01ha2VmaWxlCisrKyAvZGV2L251bGwKQEAgLTEsOTEgKzAsMCBAQAotIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
Ci0jICRJZDogTWFrZWZpbGUgNDE4IDIwMTAtMDYtMTYgMTU6MjY6NTFaIHRwciAkCi0jIENvcHly
aWdodCAyMDA5IEFwbGl4IENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotIyBMaWNl
bnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2Ui
KTsKLSMgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRo
IHRoZSBMaWNlbnNlLgotIyBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQK
LSMgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAotIyBVbmxl
c3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNv
ZnR3YXJlCi0jIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9u
IGFuICJBUyBJUyIgQkFTSVMsCi0jIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9G
IEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgotIyBTZWUgdGhlIExpY2Vuc2Ug
Zm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCi0jIGxp
bWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgotIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCi0KLVVOQU1FID0g
JChzaGVsbCB1bmFtZSkKLVZBTElEVEVTVERJUiA9IHZhbGlkL2lkbAotVkFMSURURVNUUkVGRElS
ID0gdmFsaWQveG1sCi1WQUxJRFRFU1RPQkpESVIgPSB2YWxpZC9vYmoKLUlOVkFMSURURVNURElS
ID0gaW52YWxpZC9pZGwKLUlOVkFMSURURVNUUkVGRElSID0gaW52YWxpZC9lcnJvcgotSU5WQUxJ
RFRFU1RPQkpESVIgPSBpbnZhbGlkL29iagotCi0jIFRoZSBzZXR0aW5ncyBvZiBTUkNESVIgKHdo
ZXJlIHRvIGZpbmQgdGhlIHhzbCBzdHlsZSBzaGVldHMpLCBPQkpESVIgKHdoZXJlIHRvCi0jIGZp
bmQgd2lkbHByb2MgYW5kIHdpZGxwcm9jeG1sLmR0ZCkgYW5kIFZBTERURVNUT0JKRElSICh3aGVy
ZSB0byBwdXQgdGhlCi0jIHJlc3VsdGluZyBYTUwgZmlsZXMpIHJlZmxlY3QgdGhlIGRpcmVjdG9y
eQotIyBzdHJ1Y3R1cmUgb2YgdGhlIHJlbGVhc2VkIHdpZGxwcm9jLnppcCBmaWxlIHdoZW4gdW56
aXBwZWQuIC4uL01ha2VmaWxlIGNhbGxzCi0jIHRoaXMgTWFrZWZpbGUgd2l0aCB0aGVzZSBzZXR0
aW5ncyBvdmVycmlkZGVuIHRvIHJlZmxlY3QgdGhlIGRpcmVjdG9yeQotIyBzdHJ1Y3R1cmUgaW4g
c3ZuLgotU1JDRElSID0gLi4KLU9CSkRJUiA9IC4uCi0KLSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwotIyBMaW51
eCBjb25maWd1cmF0aW9uCi0jCi1pZm5lcSAoLCQoZmlsdGVyIExpbnV4JSwgJChVTkFNRSkpKSAK
LQotRVhFU1VGRklYID0KLQotZWxzZQotIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCi0jIERhcndpbiBjb25maWd1
cmF0aW9uCi0jCi1pZm5lcSAoLCQoZmlsdGVyIERhcndpbiUsICQoVU5BTUUpKSkgCi0KLUVYRVNV
RkZJWCA9Ci0KLWVsc2UKLSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwotIyBXaW5kb3dzIChjeWd3aW4gYnV0IHVz
aW5nIE1TIGNvbXBpbGVyKSBjb25maWd1cmF0aW9uCi0jCi1pZm5lcSAoLCQoZmlsdGVyIENZR1dJ
TiUsICQoVU5BTUUpKSkgCi0KLUVYRVNVRkZJWCA9IC5leGUKLQotZW5kaWYKLWVuZGlmCi1lbmRp
ZgotCi0jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMKLSMgQ29tbW9uIG1ha2VmaWxlCi0jCi1XSURMUFJPQyA9ICQo
T0JKRElSKS93aWRscHJvYyQoRVhFU1VGRklYKQotRFREID0gJChPQkpESVIpL3dpZGxwcm9jeG1s
LmR0ZAotCi1WQUxJRF9XSURMUyA9ICQocGF0c3Vic3QgJChWQUxJRFRFU1RESVIpLyUsICUsICQo
d2lsZGNhcmQgJChWQUxJRFRFU1RESVIpLyoud2lkbCkpCi1JTlZBTElEX1dJRExTID0gJChwYXRz
dWJzdCAkKElOVkFMSURURVNURElSKS8lLCAlLCAkKHdpbGRjYXJkICQoSU5WQUxJRFRFU1RESVIp
Lyoud2lkbCkpCi0KLXRlc3QgOiAkKHBhdHN1YnN0ICUud2lkbCwgJChWQUxJRFRFU1RPQkpESVIp
LyUud2lkbHByb2N4bWwsICQoVkFMSURfV0lETFMpKSAkKHBhdHN1YnN0ICUud2lkbCwgJChJTlZB
TElEVEVTVE9CSkRJUikvJS50eHQsICQoSU5WQUxJRF9XSURMUykpICQoV0lETFBST0MpIAotCUBl
Y2hvICIkQCBwYXNzIgotCi0jJChFWEFNUExFU09CSkRJUikvJS5odG1sIDogJChFWEFNUExFU09C
SkRJUikvJS53aWRscHJvY3htbCAkKFNSQ0RJUikvd2lkbHByb2N4bWx0b2h0bWwueHNsIE1ha2Vm
aWxlCi0jCWNwICQoU1JDRElSKS93aWRscHJvY3htbHRvaHRtbC54c2wgJChkaXIgJEApLwotIwl4
c2x0cHJvYyAkKGRpciAkQCkvd2lkbHByb2N4bWx0b2h0bWwueHNsICQ8ID4kQAotCi0KLSQoVkFM
SURURVNUT0JKRElSKS8lLndpZGxwcm9jeG1sIDogJChWQUxJRFRFU1RESVIpLyUud2lkbCAkKFdJ
RExQUk9DKSAkKERURCkgTWFrZWZpbGUgJChwYXRzdWJzdCAlLndpZGwsICQoVkFMSURURVNUUkVG
RElSKS8lLndpZGxwcm9jeG1sLCAkKFZBTElEX1dJRExTKSkKLQlta2RpciAtcCAkKGRpciAkQCkK
LQkkKFdJRExQUk9DKSAkPCA+JEAKLQljcCAkKE9CSkRJUikvd2lkbHByb2N4bWwuZHRkICQoZGly
ICRAKS8KLQl4bWxsaW50IC0tbm9vdXQgLS1kdGR2YWxpZCAkKERURCkgJEAKLQlkaWZmICRAICQo
VkFMSURURVNUUkVGRElSKS9gYmFzZW5hbWUgJEBgCi0KLSQoSU5WQUxJRFRFU1RPQkpESVIpLyUu
dHh0IDogJChJTlZBTElEVEVTVERJUikvJS53aWRsICQoV0lETFBST0MpIE1ha2VmaWxlICQocGF0
c3Vic3QgJS53aWRsLCAkKElOVkFMSURURVNUUkVGRElSKS8lLnR4dCwgJChJTlZBTElEX1dJRExT
KSkKLQlta2RpciAtcCAkKGRpciAkQCkKLQktJChXSURMUFJPQykgJDwgID4kQCAyPiYxCi0JZGlm
ZiAkQCAkKElOVkFMSURURVNUUkVGRElSKS9gYmFzZW5hbWUgJEBgCi0KLQotCi0uREVMRVRFX09O
X0VSUk9SOgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9pbnZhbGlkL2Vy
cm9yL2VudW0udHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvaW52YWxpZC9lcnJvci9lbnVt
LnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmY4YmE4ZWVmNDYxZTNhZjJiNTg1
ZjNkZjEwYTI4YTllOTY4MzQ5Yi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9pbnZhbGlkL2Vycm9yL2VudW0udHh0
CisrKyAvZGV2L251bGwKQEAgLTEgKzAsMCBAQAotaW52YWxpZC9pZGwvZW51bS53aWRsOiAxOiBh
dCAnMSc6IGV4cGVjdGVkIHN0cmluZyBpbiBlbnVtCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lk
bHByb2MvdGVzdC9pbnZhbGlkL2Vycm9yL21vZHVsZS50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mv
dGVzdC9pbnZhbGlkL2Vycm9yL21vZHVsZS50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDdlNTA0MzE2ZTUxN2Q5OWE3ZWQ5MDZhMWVjMzllY2UwYTU4MTY3ZTguLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rl
c3QvaW52YWxpZC9lcnJvci9tb2R1bGUudHh0CisrKyAvZGV2L251bGwKQEAgLTEgKzAsMCBAQAot
aW52YWxpZC9pZGwvbW9kdWxlLndpZGw6IDI6IGF0ICdnZngnOiBleHBlY3RlZCAnaW1wbGVtZW50
cycKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L2ludmFsaWQvZXJyb3Ivbm9u
bnVsbGFibGVhbnkudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvaW52YWxpZC9lcnJvci9u
b25udWxsYWJsZWFueS50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGVlZWIyNWYx
MmFiMDk3MzkxMDcyODE1N2FlYzU4YzM3ODdiNDgzOTQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvaW52YWxpZC9l
cnJvci9ub25udWxsYWJsZWFueS50eHQKKysrIC9kZXYvbnVsbApAQCAtMSArMCwwIEBACi1pbnZh
bGlkL2lkbC9ub25udWxsYWJsZWFueS53aWRsOiAyOiBhdCAnPyc6IGV4cGVjdGVkIGlkZW50aWZp
ZXIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L2ludmFsaWQvZXJyb3Ivbm9u
bnVsbGFibGVvYmplY3RzLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L2ludmFsaWQvZXJy
b3Ivbm9ubnVsbGFibGVvYmplY3RzLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
NTI2NjIyNTk5YjcxNWY3OTgzMTFjODhkNDEzZGRhMmIxYzI5OTk2Zi4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9p
bnZhbGlkL2Vycm9yL25vbm51bGxhYmxlb2JqZWN0cy50eHQKKysrIC9kZXYvbnVsbApAQCAtMSAr
MCwwIEBACi1pbnZhbGlkL2lkbC9ub25udWxsYWJsZW9iamVjdHMud2lkbDogNDogYXQgJz8nOiBl
eHBlY3RlZCBpZGVudGlmaWVyCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9p
bnZhbGlkL2Vycm9yL3Njb3BlZG5hbWUudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvaW52
YWxpZC9lcnJvci9zY29wZWRuYW1lLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
NTY0NjYwOGNkMzcxMTIyYWUzNGJmY2ExMzYyMmExNmFkNTMxMjcxZi4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9p
bnZhbGlkL2Vycm9yL3Njb3BlZG5hbWUudHh0CisrKyAvZGV2L251bGwKQEAgLTEgKzAsMCBAQAot
aW52YWxpZC9pZGwvc2NvcGVkbmFtZS53aWRsOiAyOiBhdCAnOic6IGV4cGVjdGVkIGlkZW50aWZp
ZXIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L2ludmFsaWQvZXJyb3Ivc2Vx
dWVuY2VBc0F0dHJpYnV0ZS50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9pbnZhbGlkL2Vy
cm9yL3NlcXVlbmNlQXNBdHRyaWJ1dGUudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAxNTk2MGNiOGI1ZjM2NWJjNTljNzNiZjhkMWFjYTZkNzA1NGUyMjU1Li4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0
L2ludmFsaWQvZXJyb3Ivc2VxdWVuY2VBc0F0dHJpYnV0ZS50eHQKKysrIC9kZXYvbnVsbApAQCAt
MSArMCwwIEBACi1pbnZhbGlkL2lkbC9zZXF1ZW5jZUFzQXR0cmlidXRlLndpZGw6IDI6IGF0ICdz
ZXF1ZW5jZSc6IGV4cGVjdGVkIHR5cGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90
ZXN0L2ludmFsaWQvZXJyb3Ivc3RyaW5nY29uc3RhbnRzLmlkbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJv
Yy90ZXN0L2ludmFsaWQvZXJyb3Ivc3RyaW5nY29uc3RhbnRzLmlkbApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMTU1YTg5MmM1NWFkYWM5NTI3OGEyNDc2NjQ0NWQyOGRjNWYxYWE5Mi4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
d2lkbHByb2MvdGVzdC9pbnZhbGlkL2Vycm9yL3N0cmluZ2NvbnN0YW50cy5pZGwKKysrIC9kZXYv
bnVsbApAQCAtMSArMCwwIEBACi1pbnZhbGlkL2lkbC9zdHJpbmdjb25zdGFudHMuaWRsOiAyOiBh
dCAnRE9NU3RyaW5nJzogZXhwZWN0ZWQgYWNjZXB0YWJsZSBjb25zdGFudCB0eXBlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9pbnZhbGlkL2Vycm9yL3czYy1pbXBvcnQubG9n
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvaW52YWxpZC9lcnJvci93M2MtaW1wb3J0LmxvZwpk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmNlODU1Y2FiNjkxNzk0YmQzNDExYmZmNTU2
NDcyM2IxZDk3YzcwMy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9pbnZhbGlkL2Vycm9yL3czYy1pbXBvcnQubG9n
CisrKyAvZGV2L251bGwKQEAgLTEsMjQgKzAsMCBAQAotVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0
b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCi1EbyBOT1QgbW9kaWZ5
IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQsIGNyZWF0ZSBhIHB1bGwg
cmVxdWVzdCBvbiB0aGUgVzNDIENTUyBvciBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0aHViLmNv
bS93M2MvY3Nzd2ctdGVzdAotCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzCi0KLVRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2Vi
S2l0IHRvIHJlaW1wb3J0Ci0KLURvIE5PVCBtb2RpZnkgb3IgcmVtb3ZlIHRoaXMgZmlsZS4KLQot
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tCi1Qcm9wZXJ0aWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6Ci1O
b25lCi1Qcm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKLU5vbmUKLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLQotTGlzdCBvZiBmaWxlczoKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9p
bnZhbGlkL2Vycm9yL2VudW0udHh0Ci0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvaW52YWxpZC9l
cnJvci9tb2R1bGUudHh0Ci0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvaW52YWxpZC9lcnJvci9u
b25udWxsYWJsZWFueS50eHQKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9pbnZhbGlkL2Vycm9y
L25vbm51bGxhYmxlb2JqZWN0cy50eHQKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9pbnZhbGlk
L2Vycm9yL3Njb3BlZG5hbWUudHh0Ci0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvaW52YWxpZC9l
cnJvci9zZXF1ZW5jZUFzQXR0cmlidXRlLnR4dAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L2lu
dmFsaWQvZXJyb3Ivc3RyaW5nY29uc3RhbnRzLmlkbApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dp
ZGxwcm9jL3Rlc3QvaW52YWxpZC9pZGwvZW51bS53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rl
c3QvaW52YWxpZC9pZGwvZW51bS53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBj
MzU1YzMyNTFjMDA4NDM1MmEzMmM1NjBhMTc0ZTAwYmRlZDA4MTA5Li4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L2lu
dmFsaWQvaWRsL2VudW0ud2lkbAorKysgL2Rldi9udWxsCkBAIC0xICswLDAgQEAKLWVudW0gZm9v
IHsgMSwgMiwgM307ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L3dpZGxwcm9jL3Rlc3QvaW52YWxpZC9pZGwvbW9kdWxlLndpZGwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
d2lkbHByb2MvdGVzdC9pbnZhbGlkL2lkbC9tb2R1bGUud2lkbApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggYTRjNzlmZGYxNTVlYTU1OGFlZWFjNTExMzM0NWMzMDA3NDVkNjI4MS4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lk
bHByb2MvdGVzdC9pbnZhbGlkL2lkbC9tb2R1bGUud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDI1
ICswLDAgQEAKLS8vIEV4dHJhY3RlZCBmcm9tIGh0dHA6Ly9kZXYudzMub3JnLzIwMDYvd2ViYXBp
L1dlYklETC8gb24gMjAxMS0wNS0wNgotbW9kdWxlIGdmeCB7Ci0KLSAgbW9kdWxlIGdlb20gewot
ICAgIGludGVyZmFjZSBTaGFwZSB7IC8qIC4uLiAqLyB9OwotICAgIGludGVyZmFjZSBSZWN0YW5n
bGUgOiBTaGFwZSB7IC8qIC4uLiAqLyB9OwotICAgIGludGVyZmFjZSBQYXRoIDogU2hhcGUgeyAv
KiAuLi4gKi8gfTsKLSAgfTsKLQotICBpbnRlcmZhY2UgR3JhcGhpY3NDb250ZXh0IHsKLSAgICB2
b2lkIGZpbGxTaGFwZShnZW9tOjpTaGFwZSBzKTsKLSAgICB2b2lkIHN0cm9rZVNoYXBlKGdlb206
OlNoYXBlIHMpOwotICB9OwotfTsKLQotbW9kdWxlIGd1aSB7Ci0KLSAgaW50ZXJmYWNlIFdpZGdl
dCB7IC8qIC4uLiAqLyAgfTsKLQotICBpbnRlcmZhY2UgV2luZG93IDogV2lkZ2V0IHsKLSAgICBn
Zng6OkdyYXBoaWNzQ29udGV4dCBnZXRHcmFwaGljc0NvbnRleHQoKTsKLSAgfTsKLQotICBpbnRl
cmZhY2UgQnV0dG9uIDogV2lkZ2V0IHsgLyogLi4uICovICB9OwotfTsKXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9pbnZhbGlk
L2lkbC9ub25udWxsYWJsZWFueS53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvaW52YWxp
ZC9pZGwvbm9ubnVsbGFibGVhbnkud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
Mzg5NTc2NTU1MjM2ZDkxMWNhN2M2YjdiYmI1NjYwNWZlMDEwMTgxNC4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9p
bnZhbGlkL2lkbC9ub25udWxsYWJsZWFueS53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsMyArMCww
IEBACi1pbnRlcmZhY2UgTm9uTnVsbGFibGUgewotICBhdHRyaWJ1dGUgYW55PyBmb287Ci19Owpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJv
Yy90ZXN0L2ludmFsaWQvaWRsL25vbm51bGxhYmxlb2JqZWN0cy53aWRsIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dp
ZGxwcm9jL3Rlc3QvaW52YWxpZC9pZGwvbm9ubnVsbGFibGVvYmplY3RzLndpZGwKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDFkZWFjNWFlZWM5MDgxNTEwMmJmNDFmYzQzN2RhMmM5NjJl
YWVmYWMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L3dpZGxwcm9jL3Rlc3QvaW52YWxpZC9pZGwvbm9ubnVsbGFibGVvYmplY3RzLndpZGwK
KysrIC9kZXYvbnVsbApAQCAtMSw1ICswLDAgQEAKLWludGVyZmFjZSBGb28ge307Ci0KLWludGVy
ZmFjZSBOb25OdWxsYWJsZSB7Ci0gIGF0dHJpYnV0ZSBGb28/PyBmb287Ci19OwpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L2lu
dmFsaWQvaWRsL3JhaXNlcy53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvaW52YWxpZC9p
ZGwvcmFpc2VzLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGZmNjU1MjJmMmIz
MzU1N2U1MjM2ODZlYjYzMzJlMTNhN2ZkNGEwNzkuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvaW52YWxpZC9pZGwv
cmFpc2VzLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSwxOCArMCwwIEBACi0vLyBnZXRyYWlzZXMg
YW5kIHNldHJhaXNlcyBhcmUgbm90IGxvbmdlciB2YWxpZCBXZWIgSURMCi1pbnRlcmZhY2UgUGVy
c29uIHsKLQotICAvLyBBbiBhdHRyaWJ1dGUgdGhhdCBjYW4gcmFpc2UgYW4gZXhjZXB0aW9uIGlm
IGl0IGlzIHNldCB0byBhbiBpbnZhbGlkIHZhbHVlLgotICBhdHRyaWJ1dGUgRE9NU3RyaW5nIG5h
bWUgc2V0cmFpc2VzIChJbnZhbGlkTmFtZSk7Ci0KLSAgLy8gQW4gYXR0cmlidXRlIHdob3NlIHZh
bHVlIGNhbm5vdCBiZSBhc3NpZ25lZCB0bywgYW5kIHdoaWNoIGNhbiByYWlzZSBhbgotICAvLyBl
eGNlcHRpb24gc29tZSBjaXJjdW1zdGFuY2VzLgotICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3Ry
aW5nIHBldE5hbWUgZ2V0cmFpc2VzIChOb1N1Y2hQZXQpOwotfTsKLQotZXhjZXB0aW9uIFNvbWVF
eGNlcHRpb24gewotfTsKLQotaW50ZXJmYWNlIEV4Y2VwdGlvblRocm93ZXIgewotICAvLyBUaGlz
IGF0dHJpYnV0ZSBhbHdheXMgdGhyb3dzIGEgU29tZUV4Y2VwdGlvbiBhbmQgbmV2ZXIgcmV0dXJu
cyBhIHZhbHVlLgotICBhdHRyaWJ1dGUgbG9uZyB2YWx1ZU9mIGdldHJhaXNlcyhTb21lRXhjZXB0
aW9uKTsKLX07ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3dpZGxwcm9jL3Rlc3QvaW52YWxpZC9pZGwvc2NvcGVkbmFtZS53aWRsIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3dpZGxwcm9jL3Rlc3QvaW52YWxpZC9pZGwvc2NvcGVkbmFtZS53aWRsCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCBjZmNiMWNjYzkzOTVjZDQyZWQ1MTkyZmU0ZWEwOTQ1NTBmNzM1NGVl
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC93aWRscHJvYy90ZXN0L2ludmFsaWQvaWRsL3Njb3BlZG5hbWUud2lkbAorKysgL2Rldi9udWxs
CkBAIC0xLDIgKzAsMCBAQAotLy8gc2NvcGVkIG5hbWVzIGFyZSBubyBsb25nZXIgdmFsaWQgaW4g
V2ViSURMCi0gIHR5cGVkZWYgZ2Z4OjpnZW9tOjpnZW9tMmQ6OlBvaW50IFBvaW50OwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvaW52YWxpZC9pZGwvc2VxdWVuY2VBc0F0dHJp
YnV0ZS53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvaW52YWxpZC9pZGwvc2VxdWVuY2VB
c0F0dHJpYnV0ZS53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjMjNkYTgyYWMy
MjE5OGFhNTdlMWRhYmI2NGZhN2JhMTI1Yzc1OTk2Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L2ludmFsaWQvaWRs
L3NlcXVlbmNlQXNBdHRyaWJ1dGUud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDMgKzAsMCBAQAot
aW50ZXJmYWNlIHNlcXVlbmNlQXNBdHRyaWJ1dGUgewotICBhdHRyaWJ1dGUgc2VxdWVuY2U8c2hv
cnQ+IGludmFsaWQ7Ci19OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L2ludmFsaWQvaWRsL3NwZWNpYWwtb21pdHRhYmxlLndp
ZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9pbnZhbGlkL2lkbC9zcGVjaWFsLW9taXR0YWJs
ZS53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiZGZiZmE3MDk3MzNmOWZhYTY2
NzJhYzM5NTNiNDY3M2YyODMwOTJmLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L2ludmFsaWQvaWRsL3NwZWNpYWwt
b21pdHRhYmxlLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSw4ICswLDAgQEAKLS8vIEV4dHJhY3Rl
ZCBmcm9tIGh0dHA6Ly9kZXYudzMub3JnLzIwMDYvd2ViYXBpL1dlYklETC8gb24gMjAxMS0wNS0w
NgotLy8gb21pdHRhYmxlIGlzIG5vIGxvbmdlciBhIHJlY29nbml6ZWQga2V5d29hcmQgYXMgb2Yg
MjAxMTA5MDUKLWludGVyZmFjZSBEaWN0aW9uYXJ5IHsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIHVu
c2lnbmVkIGxvbmcgcHJvcGVydHlDb3VudDsKLQotICBvbWl0dGFibGUgZ2V0dGVyIGZsb2F0IGdl
dFByb3BlcnR5KERPTVN0cmluZyBwcm9wZXJ0eU5hbWUpOwotICBvbWl0dGFibGUgc2V0dGVyIHZv
aWQgc2V0UHJvcGVydHkoRE9NU3RyaW5nIHByb3BlcnR5TmFtZSwgZmxvYXQgcHJvcGVydHlWYWx1
ZSk7Ci19OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC93aWRscHJvYy90ZXN0L2ludmFsaWQvaWRsL3N0cmluZ2NvbnN0YW50cy5pZGwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvd2lkbHByb2MvdGVzdC9pbnZhbGlkL2lkbC9zdHJpbmdjb25zdGFudHMuaWRsCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0NGZkM2ZmMTM2ZWU1NjcxNjM3ZDAyY2I4MDk2NGRkYmEw
OTJhNjU4Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC93aWRscHJvYy90ZXN0L2ludmFsaWQvaWRsL3N0cmluZ2NvbnN0YW50cy5pZGwKKysr
IC9kZXYvbnVsbApAQCAtMSwzICswLDAgQEAKLWludGVyZmFjZSBVdGlsIHsKLSAgY29uc3QgRE9N
U3RyaW5nIGhlbGxvID0gIndvcmxkIjsKLX07ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvaW52YWxpZC9pZGwvdzNjLWltcG9y
dC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9pbnZhbGlkL2lkbC93M2MtaW1wb3J0Lmxv
ZwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzFlMWMyMjQ4Y2UyNmE1ZWNlZTI5ZWQ0
ZjI5Mzg0NTdjOTRmMjNhZC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9pbnZhbGlkL2lkbC93M2MtaW1wb3J0Lmxv
ZworKysgL2Rldi9udWxsCkBAIC0xLDI2ICswLDAgQEAKLVRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVj
dG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgotRG8gTk9UIG1vZGlm
eSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBwdWxs
IHJlcXVlc3Qgb24gdGhlIFczQyBDU1Mgb3IgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5j
b20vdzNjL2Nzc3dnLXRlc3QKLQlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cwotCi1UaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdl
YktpdCB0byByZWltcG9ydAotCi1EbyBOT1QgbW9kaWZ5IG9yIHJlbW92ZSB0aGlzIGZpbGUuCi0K
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLQotUHJvcGVydGllcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgot
Tm9uZQotUHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6Ci1Ob25lCi0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0KLUxpc3Qgb2YgZmlsZXM6Ci0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3Qv
aW52YWxpZC9pZGwvZW51bS53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvaW52YWxpZC9p
ZGwvbW9kdWxlLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9pbnZhbGlkL2lkbC9ub25u
dWxsYWJsZWFueS53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvaW52YWxpZC9pZGwvbm9u
bnVsbGFibGVvYmplY3RzLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9pbnZhbGlkL2lk
bC9yYWlzZXMud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L2ludmFsaWQvaWRsL3Njb3Bl
ZG5hbWUud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L2ludmFsaWQvaWRsL3NlcXVlbmNl
QXNBdHRyaWJ1dGUud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L2ludmFsaWQvaWRsL3Nw
ZWNpYWwtb21pdHRhYmxlLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9pbnZhbGlkL2lk
bC9zdHJpbmdjb25zdGFudHMuaWRsCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVz
dC92YWxpZC9pZGwvYWxsb3dhbnkud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlk
L2lkbC9hbGxvd2FueS53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyMzQzYmI5
NjM3NGY5ODYxNzJiODAwZmZjYzQ0M2IyOTU5YTBjZGE1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lk
bC9hbGxvd2FueS53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsNiArMCwwIEBACi0vLyBFeHRyYWN0
ZWQgZnJvbSBodHRwOi8vZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJJREwvIG9uIDIwMTEtMDUt
MDYKLWludGVyZmFjZSBCIHsKLSAgdm9pZCBnKCk7Ci0gIHZvaWQgZyhCIGIpOwotICB2b2lkIGco
W0FsbG93QW55XSBET01TdHJpbmcgcyk7Ci19OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9hcnJheS53aWRs
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL2FycmF5LndpZGwKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDIyZTIxZmI2NTY0NzM4YmQ1NjgzMGNlMDMwMGRhMzg5Y2Uw
NTc0YmYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL2FycmF5LndpZGwKKysrIC9kZXYvbnVsbApA
QCAtMSw1ICswLDAgQEAKLS8vIEV4dHJhY3RlZCBmcm9tIGh0dHA6Ly9kZXYudzMub3JnLzIwMDYv
d2ViYXBpL1dlYklETC8gb24gMjAxMS0wNS0wNgotW0NvbnN0cnVjdG9yXQotaW50ZXJmYWNlIExv
dHRlcnlSZXN1bHRzIHsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIHNob3J0W11bXSBu
dW1iZXJzOwotfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvYXR0cmlidXRlcy53aWRsIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL2F0dHJpYnV0ZXMud2lkbApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggN2UxZDY5MWNiZTI4YWZkYzU4MDgyYTdmZDgxY2JkYjRmMzdjZjQ1Ni4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
d2lkbHByb2MvdGVzdC92YWxpZC9pZGwvYXR0cmlidXRlcy53aWRsCisrKyAvZGV2L251bGwKQEAg
LTEsMTQgKzAsMCBAQAotLy8gRXh0cmFjdGVkIGZyb20gaHR0cDovL2Rldi53My5vcmcvMjAwNi93
ZWJhcGkvV2ViSURMLyBvbiAyMDExLTA1LTA2Ci1leGNlcHRpb24gSW52YWxpZE5hbWUgewotICBE
T01TdHJpbmcgcmVhc29uOwotfTsKLQotZXhjZXB0aW9uIE5vU3VjaFBldCB7IH07Ci0KLWludGVy
ZmFjZSBQZXJzb24gewotCi0gIC8vIEEgc2ltcGxlIGF0dHJpYnV0ZSB0aGF0IGNhbiBiZSBzZXQg
dG8gYW55IHZhbHVlIHRoZSByYW5nZSBhbiB1bnNpZ25lZAotICAvLyBzaG9ydCBjYW4gdGFrZS4K
LSAgYXR0cmlidXRlIHVuc2lnbmVkIHNob3J0IGFnZTsKLQotfTsKXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwv
Y2FsbGJhY2sud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9jYWxsYmFj
ay53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkOTJmNmExOGMwYTUzMWJjYmY5
ODk1ZTgxMDlhZWQwYjdhMWVjZmQ0Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9jYWxsYmFjay53
aWRsCisrKyAvZGV2L251bGwKQEAgLTEsNSArMCwwIEBACi1jYWxsYmFjayBBc3luY09wZXJhdGlv
bkNhbGxiYWNrID0gdm9pZCAoRE9NU3RyaW5nIHN0YXR1cyk7Ci0KLWNhbGxiYWNrIGludGVyZmFj
ZSBFdmVudEhhbmRsZXIgewotICB2b2lkIGV2ZW50T2NjdXJyZWQoRE9NU3RyaW5nIGRldGFpbHMp
OwotfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
d2lkbHByb2MvdGVzdC92YWxpZC9pZGwvY2FsbGVyLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mv
dGVzdC92YWxpZC9pZGwvY2FsbGVyLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDkyYWNiMWMwMTc2MzFmMDQ3NjJmOGQ2OGUwNDYyZTEwZDM3MzlkYWQuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3Qv
dmFsaWQvaWRsL2NhbGxlci53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsNSArMCwwIEBACi0vLyBF
eHRyYWN0ZWQgZnJvbSBodHRwOi8vZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJJREwvIG9uIDIw
MTEtMDUtMDYKLWludGVyZmFjZSBOdW1iZXJRdWFkcnVwbGVyIHsKLSAgLy8gVGhpcyBvcGVyYXRp
b24gc2ltcGx5IHJldHVybnMgZm91ciB0aW1lcyB0aGUgZ2l2ZW4gbnVtYmVyIHguCi0gIGxlZ2Fj
eWNhbGxlciBmbG9hdCBjb21wdXRlKGZsb2F0IHgpOwotfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvY29u
c3RhbnRzLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvY29uc3RhbnRz
LndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDVlMjhhZTljMTE2YTlkOTI2MmVh
OWU1OWU1Yjk1MzUwYTFjZTYxM2YuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL2NvbnN0YW50cy53
aWRsCisrKyAvZGV2L251bGwKQEAgLTEsMTggKzAsMCBAQAotLy8gRXh0cmFjdGVkIGZyb20gaHR0
cDovL2Rldi53My5vcmcvMjAwNi93ZWJhcGkvV2ViSURMLyBvbiAyMDExLTA1LTA2Ci1pbnRlcmZh
Y2UgVXRpbCB7Ci0gIGNvbnN0IGJvb2xlYW4gREVCVUcgPSBmYWxzZTsKLSAgY29uc3Qgc2hvcnQg
bmVnYXRpdmUgPSAtMTsKLSAgY29uc3Qgb2N0ZXQgTEYgPSAxMDsKLSAgY29uc3QgdW5zaWduZWQg
bG9uZyBCSVRfTUFTSyA9IDB4MDAwMGZjMDA7Ci0gIGNvbnN0IGZsb2F0IEFWT0dBRFJPID0gNi4w
MjJlMjM7Ci0gIGNvbnN0IHVucmVzdHJpY3RlZCBmbG9hdCBzb2JpZyA9IEluZmluaXR5OwotICBj
b25zdCB1bnJlc3RyaWN0ZWQgZG91YmxlIG1pbnVzb25lZGl2aWRlZGJ5emVybyA9IC1JbmZpbml0
eTsKLSAgY29uc3Qgc2hvcnQgbm90YW51bWJlciA9IE5hTjsKLX07Ci0KLWV4Y2VwdGlvbiBFcnJv
ciB7Ci0gIGNvbnN0IHNob3J0IEVSUl9VTktOT1dOID0gMDsKLSAgY29uc3Qgc2hvcnQgRVJSX09V
VF9PRl9NRU1PUlkgPSAxOwotCi0gIHNob3J0IGVycm9yQ29kZTsKLX07ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQv
aWRsL2NvbnN0cnVjdG9yLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwv
Y29uc3RydWN0b3Iud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjkzZWMwOGE2
ZTZmODFiZGEwOTQ2MWZiNjQ5MTIwNGZjOWQ4NGYwZi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwv
Y29uc3RydWN0b3Iud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDkgKzAsMCBAQAotLy8gRXh0cmFj
dGVkIGZyb20gaHR0cDovL2Rldi53My5vcmcvMjAwNi93ZWJhcGkvV2ViSURMLyBvbiAyMDExLTA1
LTA2Ci1bQ29uc3RydWN0b3IsCi0gQ29uc3RydWN0b3IoZmxvYXQgcmFkaXVzKV0KLWludGVyZmFj
ZSBDaXJjbGUgewotICBhdHRyaWJ1dGUgZmxvYXQgcjsKLSAgYXR0cmlidXRlIGZsb2F0IGN4Owot
ICBhdHRyaWJ1dGUgZmxvYXQgY3k7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSBmbG9hdCBjaXJjdW1m
ZXJlbmNlOwotfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvZGljdGlvbmFyeS1pbmhlcml0cy53aWRsIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL2RpY3Rpb25hcnktaW5oZXJpdHMud2lk
bApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDhmOGEwZmRjZWI2YzI0YjJkZmRmYmQy
YzUzNDM5ZTY1MDU0YWE3Zi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvZGljdGlvbmFyeS1pbmhl
cml0cy53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsOSArMCwwIEBACi1kaWN0aW9uYXJ5IFBhaW50
T3B0aW9ucyB7Ci0gIERPTVN0cmluZz8gZmlsbFBhdHRlcm4gPSAiYmxhY2siOwotICBET01TdHJp
bmc/IHN0cm9rZVBhdHRlcm4gPSBudWxsOwotICBQb2ludCBwb3NpdGlvbjsKLX07Ci0KLWRpY3Rp
b25hcnkgV2V0UGFpbnRPcHRpb25zIDogUGFpbnRPcHRpb25zIHsKLSAgZmxvYXQgaHlkcm9tZXRy
eTsKLX07ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL2RpY3Rpb25hcnkud2lkbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRs
cHJvYy90ZXN0L3ZhbGlkL2lkbC9kaWN0aW9uYXJ5LndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IGY0NmI3YmE3ODA2YWZhZmExODJjYjVkY2QzMWRjMGU4ZDZjMWI2YmYuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxw
cm9jL3Rlc3QvdmFsaWQvaWRsL2RpY3Rpb25hcnkud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDEx
ICswLDAgQEAKLS8vIEV4dHJhY3RlZCBmcm9tIFdlYiBJREwgZWRpdG9ycyBkcmFmdCBNYXkgMzEg
MjAxMQotZGljdGlvbmFyeSBQYWludE9wdGlvbnMgewotICBET01TdHJpbmc/IGZpbGxQYXR0ZXJu
ID0gImJsYWNrIjsKLSAgRE9NU3RyaW5nPyBzdHJva2VQYXR0ZXJuID0gbnVsbDsKLSAgUG9pbnQg
cG9zaXRpb247Ci19OwotCi1wYXJ0aWFsIGRpY3Rpb25hcnkgQSB7Ci0gIGxvbmcgaDsKLSAgbG9u
ZyBkOwotfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvZG9jdW1lbnRhdGlvbi1kb3Mud2lkbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9kb2N1bWVudGF0aW9uLWRvcy53aWRsCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmYjgwMTEwMWYxNDkxMGQyNmQzMmRjODhhNTc5Mzg3
YWM0YzUwNTYwLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9kb2N1bWVudGF0aW9uLWRvcy53aWRs
CisrKyAvZGV2L251bGwKQEAgLTEsMzMgKzAsMCBAQAotLyoqDQotKiBcYnJpZWYgVGVzdGluZyBk
b2N1bWVudGF0aW9uIGZlYXR1cmVzDQotKg0KLSogVGhpcyBpcyBhDQotKiBzaW5nbGUgcGFyYWdy
YXBoDQotKg0KLSogPHA+VGhpcyBpcyB2YWxpZC48L3A+DQotKiA8cD5UaGlzIGlzIDxlbT52YWxp
ZDwvZW0+LjwvcD4NCi0qIDxwPlRoaXMgaXMgPGI+dmFsaWQ8L2I+LjwvcD4NCi0qIDxwPlRoaXMg
aXMgPGEgaHJlZj0nJz52YWxpZDwvYT4uPC9wPg0KLSogPHVsPg0KLSogPGxpPlRoaXM8L2xpPg0K
LSogPGxpPmlzPC9saT4NCi0qIDxsaT52YWxpZDwvbGk+DQotKiA8L3VsPg0KLSogPGRsPg0KLSog
PGR0PlRoaXM8L2R0Pg0KLSogPGRkPnZhbGlkPC9kZD4NCi0qIDwvZGw+DQotKiA8dGFibGU+DQot
KiA8dHI+DQotKiA8dGQ+dGhpczwvdGQ+DQotKiA8dGQ+aXM8L3RkPg0KLSogPC90cj4NCi0qIDx0
cj4NCi0qIDx0ZD52YWxpZDwvdGQ+DQotKiA8L3RyPg0KLSogPC90YWJsZT4NCi0qIDxwPlRoaXMg
aXMgPGJyPiB2YWxpZC48L3A+DQotKiA8cD5UaGlzIGlzIDxiciAvPiB2YWxpZC48L3A+DQotKiA8
cD5UaGlzIGlzIDxici8+IHZhbGlkLjwvcD4NCi0qLw0KLWludGVyZmFjZSBEb2N1bWVudGF0aW9u
IHt9OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93
aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9kb2N1bWVudGF0aW9uLndpZGwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lk
bHByb2MvdGVzdC92YWxpZC9pZGwvZG9jdW1lbnRhdGlvbi53aWRsCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDNlOTIyNmY2NzJjMjIyMTM3MzcyMTdlNjkzNTRmZGNjYjA1MzhlLi4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93
aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9kb2N1bWVudGF0aW9uLndpZGwKKysrIC9kZXYvbnVsbApA
QCAtMSwzNCArMCwwIEBACi0vKioKLSogXGJyaWVmIFRlc3RpbmcgZG9jdW1lbnRhdGlvbiBmZWF0
dXJlcwotKgotKiBUaGlzIGlzIGEKLSogc2luZ2xlIHBhcmFncmFwaAotKgotKiA8cD5UaGlzIGlz
IHZhbGlkLjwvcD4KLSogPHA+VGhpcyBpcyA8ZW0+dmFsaWQ8L2VtPi48L3A+Ci0qIDxwPlRoaXMg
aXMgPGI+dmFsaWQ8L2I+LjwvcD4KLSogPHA+VGhpcyBpcyA8YSBocmVmPScnPnZhbGlkPC9hPi48
L3A+Ci0qIDx1bD4KLSogPGxpPlRoaXM8L2xpPgotKiA8bGk+aXM8L2xpPgotKiA8bGk+dmFsaWQ8
L2xpPgotKiA8L3VsPgotKiA8ZGw+Ci0qIDxkdD5UaGlzPC9kdD4KLSogPGRkPnZhbGlkPC9kZD4K
LSogPC9kbD4KLSogPHRhYmxlPgotKiA8dHI+Ci0qIDx0ZD50aGlzPC90ZD4KLSogPHRkPmlzPC90
ZD4KLSogPC90cj4KLSogPHRyPgotKiA8dGQ+dmFsaWQ8L3RkPgotKiA8L3RyPgotKiA8L3RhYmxl
PgotKiA8cD5UaGlzIGlzIDxicj4gdmFsaWQuPC9wPgotKiA8cD5UaGlzIGlzIDxiciAvPiB2YWxp
ZC48L3A+Ci0qIDxwPlRoaXMgaXMgPGJyLz4gdmFsaWQuPC9wPgotKiA8cD48aW1nIHNyYz0iZm9v
LnBuZyIgYWx0PSJWYWxpZCIvPjwvcD4KLSovCi1pbnRlcmZhY2UgRG9jdW1lbnRhdGlvbiB7fTsK
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHBy
b2MvdGVzdC92YWxpZC9pZGwvZW51bS53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFs
aWQvaWRsL2VudW0ud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODUxZmNhMmU2
ZjYxMzEzYjRjZTI4NWU2OWQ3NzNmMDJjMzI2NGQ4OS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwv
ZW51bS53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsOCArMCwwIEBACi1lbnVtIE1lYWxUeXBlIHsg
InJpY2UiLCAibm9vZGxlcyIsICJvdGhlciIgfTsKLQotaW50ZXJmYWNlIE1lYWwgewotICBhdHRy
aWJ1dGUgTWVhbFR5cGUgdHlwZTsKLSAgYXR0cmlidXRlIGZsb2F0IHNpemU7ICAgICAvLyBpbiBn
cmFtcwotCi0gIHZvaWQgaW5pdGlhbGl6ZShNZWFsVHlwZSB0eXBlLCBmbG9hdCBzaXplKTsKLX07
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxw
cm9jL3Rlc3QvdmFsaWQvaWRsL2VxdWl2YWxlbnQtZGVjbC53aWRsIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxw
cm9jL3Rlc3QvdmFsaWQvaWRsL2VxdWl2YWxlbnQtZGVjbC53aWRsCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCA2YjNlMGVkYTI4NGFkNzFmN2IzYWQ2MjIxYTE1MjE0ZDRmYzBmYzIzLi4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93
aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9lcXVpdmFsZW50LWRlY2wud2lkbAorKysgL2Rldi9udWxs
CkBAIC0xLDE4ICswLDAgQEAKLS8vIEV4dHJhY3RlZCBmcm9tIGh0dHA6Ly9kZXYudzMub3JnLzIw
MDYvd2ViYXBpL1dlYklETC8gb24gMjAxMS0wNS0wNgotaW50ZXJmYWNlIERpY3Rpb25hcnkgewot
ICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBwcm9wZXJ0eUNvdW50OwotCi0gIGdl
dHRlciBmbG9hdCBnZXRQcm9wZXJ0eShET01TdHJpbmcgcHJvcGVydHlOYW1lKTsKLSAgc2V0dGVy
IHZvaWQgc2V0UHJvcGVydHkoRE9NU3RyaW5nIHByb3BlcnR5TmFtZSwgZmxvYXQgcHJvcGVydHlW
YWx1ZSk7Ci19OwotCi0KLWludGVyZmFjZSBEaWN0aW9uYXJ5IHsKLSAgcmVhZG9ubHkgYXR0cmli
dXRlIHVuc2lnbmVkIGxvbmcgcHJvcGVydHlDb3VudDsKLQotICBmbG9hdCBnZXRQcm9wZXJ0eShE
T01TdHJpbmcgcHJvcGVydHlOYW1lKTsKLSAgdm9pZCBzZXRQcm9wZXJ0eShET01TdHJpbmcgcHJv
cGVydHlOYW1lLCBmbG9hdCBwcm9wZXJ0eVZhbHVlKTsKLQotICBnZXR0ZXIgZmxvYXQgKERPTVN0
cmluZyBwcm9wZXJ0eU5hbWUpOwotICBzZXR0ZXIgdm9pZCAoRE9NU3RyaW5nIHByb3BlcnR5TmFt
ZSwgZmxvYXQgcHJvcGVydHlWYWx1ZSk7Ci19OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9leGNlcHRpb24t
aW5oZXJpdGFuY2Uud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9leGNl
cHRpb24taW5oZXJpdGFuY2Uud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjU4
ZmRlYmE2ZjQzZDM2YTJhOGQ3OTI3YjY5NWQ1M2E1Y2M1ZDJlMy4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxp
ZC9pZGwvZXhjZXB0aW9uLWluaGVyaXRhbmNlLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSw3ICsw
LDAgQEAKLS8vIGZyb20gaHR0cDovL2xpc3RzLnczLm9yZy9BcmNoaXZlcy9QdWJsaWMvcHVibGlj
LXNjcmlwdC1jb29yZC8yMDEwT2N0RGVjLzAxMTIuaHRtbAotICBleGNlcHRpb24gRE9NRXhjZXB0
aW9uIHsKLSAgICB1bnNpZ25lZCBzaG9ydCBjb2RlOwotICB9OwotCi0gIGV4Y2VwdGlvbiBIaWVy
YXJjaHlSZXF1ZXN0RXJyb3IgOiBET01FeGNlcHRpb24geyB9OwotICBleGNlcHRpb24gTm9Nb2Rp
ZmljYXRpb25BbGxvd2VkRXJyb3IgOiBET01FeGNlcHRpb24geyB9OwpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lk
bC9leGNlcHRpb24ud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9leGNl
cHRpb24ud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjRiNmFlMjllMTBkZGIx
OGZmYTVmYzJiNjIwMWY5MjNjYjFhZDUwZC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvZXhjZXB0
aW9uLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSw4ICswLDAgQEAKLS8vIEV4dHJhY3RlZCBmcm9t
IGh0dHA6Ly9kZXYudzMub3JnLzIwMDYvd2ViYXBpL1dlYklETC8gb24gMjAxMS0wNS0wNgotaW50
ZXJmYWNlIERhaHV0IHsKLSAgYXR0cmlidXRlIERPTVN0cmluZyB0eXBlOwotfTsKLQotZXhjZXB0
aW9uIFNvbWVFeGNlcHRpb24gewotfTsKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9j
L3Rlc3QvdmFsaWQvaWRsL2dldHRlci1zZXR0ZXIud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90
ZXN0L3ZhbGlkL2lkbC9nZXR0ZXItc2V0dGVyLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IGJkZjg3ZTFjN2M3MmYyOWM3MjUzMmIxYmIzYjYwMDM1OTljNjAxODcuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9j
L3Rlc3QvdmFsaWQvaWRsL2dldHRlci1zZXR0ZXIud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDcg
KzAsMCBAQAotLy8gRXh0cmFjdGVkIGZyb20gaHR0cDovL2Rldi53My5vcmcvMjAwNi93ZWJhcGkv
V2ViSURMLyBvbiAyMDExLTA1LTA2Ci1pbnRlcmZhY2UgRGljdGlvbmFyeSB7Ci0gIHJlYWRvbmx5
IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIHByb3BlcnR5Q291bnQ7Ci0KLSAgZ2V0dGVyIGZsb2F0
IChET01TdHJpbmcgcHJvcGVydHlOYW1lKTsKLSAgc2V0dGVyIHZvaWQgKERPTVN0cmluZyBwcm9w
ZXJ0eU5hbWUsIGZsb2F0IHByb3BlcnR5VmFsdWUpOwotfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvaWRl
bnRpZmllci1xdWFsaWZpZWQtbmFtZXMud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3Zh
bGlkL2lkbC9pZGVudGlmaWVyLXF1YWxpZmllZC1uYW1lcy53aWRsCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAzMzg5M2Q0YzY0NDk4MjQwYjVjYjg0ZjE5MDgxZGJkNmY5MGUwZDJhLi4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93
aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9pZGVudGlmaWVyLXF1YWxpZmllZC1uYW1lcy53aWRsCisr
KyAvZGV2L251bGwKQEAgLTEsNDQgKzAsMCBAQAotLy8gRXh0cmFjdGVkIGZyb20gaHR0cDovL2Rl
di53My5vcmcvMjAwNi93ZWJhcGkvV2ViSURMLyBvbiAyMDExLTA1LTA2Ci0gIC8vIFR5cGVkZWYg
aWRlbnRpZmllcjogIm51bWJlciIKLSAgLy8gUXVhbGlmaWVkIG5hbWU6ICAgICI6OmZyYW1ld29y
azo6bnVtYmVyIgotICB0eXBlZGVmIGZsb2F0IG51bWJlcjsKLQotICAvLyBFeGNlcHRpb24gaWRl
bnRpZmllcjogIkZyYW1ld29ya0V4Y2VwdGlvbiIKLSAgLy8gUXVhbGlmaWVkIG5hbWU6ICAgICAg
ICI6OmZyYW1ld29yazo6RnJhbWV3b3JrRXhjZXB0aW9uIgotICBleGNlcHRpb24gRnJhbWV3b3Jr
RXhjZXB0aW9uIHsKLQotICAgIC8vIENvbnN0YW50IGlkZW50aWZpZXI6ICJFUlJfTk9UX0ZPVU5E
IgotICAgIC8vIFF1YWxpZmllZCBuYW1lOiAgICAgICI6OmZyYW1ld29yazo6RnJhbWV3b3JrRXhj
ZXB0aW9uOjpFUlJfTk9UX0ZPVU5EIgotICAgIGNvbnN0IGxvbmcgRVJSX05PVF9GT1VORCA9IDE7
Ci0KLSAgICAvLyBFeGNlcHRpb24gZmllbGQgaWRlbnRpZmllcjogImNvZGUiCi0gICAgbG9uZyBj
b2RlOwotICB9OwotCi0gIC8vIEludGVyZmFjZSBpZGVudGlmaWVyOiAiU3lzdGVtIgotICAvLyBR
dWFsaWZpZWQgbmFtZTogICAgICAgIjo6ZnJhbWV3b3JrOjpTeXN0ZW0iCi0gIGludGVyZmFjZSBT
eXN0ZW0gewotCi0gICAgLy8gT3BlcmF0aW9uIGlkZW50aWZpZXI6ICAgICAgICAgICJjcmVhdGVP
YmplY3QiCi0gICAgLy8gT3BlcmF0aW9uIGFyZ3VtZW50IGlkZW50aWZpZXI6ICJpbnRlcmZhY2Ui
Ci0gICAgb2JqZWN0IGNyZWF0ZU9iamVjdChET01TdHJpbmcgX2ludGVyZmFjZSk7Ci0KLSAgICAv
LyBPcGVyYXRpb24gaGFzIG5vIGlkZW50aWZpZXI7IGl0IGRlY2xhcmVzIGEgZ2V0dGVyLgotICAg
IGdldHRlciBET01TdHJpbmcgKERPTVN0cmluZyBrZXlOYW1lKTsKLSAgfTsKLQotICAgIAotICAg
IC8vIEludGVyZmFjZSBpZGVudGlmaWVyOiAiVGV4dEZpZWxkIgotICAgIC8vIFF1YWxpZmllZCBu
YW1lOiAgICAgICAiOjpmcmFtZXdvcms6Omd1aTo6VGV4dEZpZWxkIgotICAgIGludGVyZmFjZSBU
ZXh0RmllbGQgewotCi0gICAgICAvLyBBdHRyaWJ1dGUgaWRlbnRpZmllcjogImNvbnN0IgotICAg
ICAgYXR0cmlidXRlIGJvb2xlYW4gX2NvbnN0OwotCi0gICAgICAvLyBBdHRyaWJ1dGUgaWRlbnRp
ZmllcjogInZhbHVlIgotICAgICAgYXR0cmlidXRlIERPTVN0cmluZz8gX3ZhbHVlOwotICAgIH07
Ci0KLWludGVyZmFjZSBGb28gewotIHZvaWQgb3Aob2JqZWN0IGludGVyZmFjZSk7Ci19OwpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90
ZXN0L3ZhbGlkL2lkbC9pbXBsZW1lbnRzLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92
YWxpZC9pZGwvaW1wbGVtZW50cy53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3
YTMxMDkyNmYxYzhkNDQxZDc1OGFmMDZhODFlMGRhZmEwMWJmNTkyLi4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3Zh
bGlkL2lkbC9pbXBsZW1lbnRzLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSwxNCArMCwwIEBACi0v
LyBFeHRyYWN0ZWQgZnJvbSBodHRwOi8vZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJJREwvIG9u
IDIwMTEtMDUtMDYKLSAgaW50ZXJmYWNlIE5vZGUgewotICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1
bnNpZ25lZCBzaG9ydCBub2RlVHlwZTsKLSAgICAvLyAuLi4KLSAgfTsKLQotICBpbnRlcmZhY2Ug
RXZlbnRUYXJnZXQgewotICAgIHZvaWQgYWRkRXZlbnRMaXN0ZW5lcihET01TdHJpbmcgdHlwZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgRXZlbnRMaXN0ZW5lciBsaXN0ZW5lciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgYm9vbGVhbiB1c2VDYXB0dXJlKTsKLSAgICAvLyAuLi4KLSAg
fTsKLQotICBOb2RlIGltcGxlbWVudHMgRXZlbnRUYXJnZXQ7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvaW5kZXhlZC1wcm9wZXJ0aWVzLndpZGwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvaW5kZXhlZC1wcm9wZXJ0aWVzLndpZGwKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGFjZjBlZDNiZjg0OWYwNmIyZmMxZDM3NWNiM2E4
MjQ4OGIzYmQwNTAuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL2luZGV4ZWQtcHJvcGVydGllcy53
aWRsCisrKyAvZGV2L251bGwKQEAgLTEsMTIgKzAsMCBAQAotLy8gRXh0cmFjdGVkIGZyb20gaHR0
cDovL2Rldi53My5vcmcvMjAwNi93ZWJhcGkvV2ViSURMLyBvbiAyMDExLTA1LTA2Ci1pbnRlcmZh
Y2UgT3JkZXJlZE1hcCB7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIHNpemU7
Ci0KLSAgZ2V0dGVyIGFueSBnZXRCeUluZGV4KHVuc2lnbmVkIGxvbmcgaW5kZXgpOwotICBzZXR0
ZXIgdm9pZCBzZXRCeUluZGV4KHVuc2lnbmVkIGxvbmcgaW5kZXgsIGFueSB2YWx1ZSk7Ci0gIGRl
bGV0ZXIgdm9pZCByZW1vdmVCeUluZGV4KHVuc2lnbmVkIGxvbmcgaW5kZXgpOwotCi0gIGdldHRl
ciBhbnkgZ2V0KERPTVN0cmluZyBuYW1lKTsKLSAgc2V0dGVyIGNyZWF0b3Igdm9pZCBzZXQoRE9N
U3RyaW5nIG5hbWUsIGFueSB2YWx1ZSk7Ci0gIGRlbGV0ZXIgdm9pZCByZW1vdmUoRE9NU3RyaW5n
IG5hbWUpOwotfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvaW5oZXJpdHMtZ2V0dGVyLndpZGwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvaW5oZXJpdHMtZ2V0dGVyLndpZGwKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDU1OGU4MTE2NDk0YjJiM2I1Y2YwYWI1YmM0ZjNjOWYz
ODRhYTkwNmIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL2luaGVyaXRzLWdldHRlci53aWRsCisr
KyAvZGV2L251bGwKQEAgLTEsMTYgKzAsMCBAQAotaW50ZXJmYWNlIEFuaW1hbCB7Ci0KLSAgLy8g
QSBzaW1wbGUgYXR0cmlidXRlIHRoYXQgY2FuIGJlIHNldCB0byBhbnkgc3RyaW5nIHZhbHVlLgot
ICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIG5hbWU7Ci19OwotCi1pbnRlcmZhY2UgUGVy
c29uIDogQW5pbWFsIHsKLQotICAvLyBBbiBhdHRyaWJ1dGUgd2hvc2UgdmFsdWUgY2Fubm90IGJl
IGFzc2lnbmVkIHRvLgotICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgc2hvcnQgYWdlOwot
Ci0gIC8vIEFuIGF0dHJpYnV0ZSB0aGF0IGNhbiByYWlzZSBhbiBleGNlcHRpb24gaWYgaXQgaXMg
c2V0IHRvIGFuIGludmFsaWQgdmFsdWUuCi0gIC8vIEl0cyBnZXR0ZXIgYmVoYXZpb3IgaXMgaW5o
ZXJpdGVkIGZyb20gQW5pbWFsLCBhbmQgbmVlZCBub3QgYmUgc3BlY2lmaWVkCi0gIC8vIHRoZSBk
ZXNjcmlwdGlvbiBvZiBQZXJzb24uCi0gIGluaGVyaXQgYXR0cmlidXRlIERPTVN0cmluZyBuYW1l
OwotfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
d2lkbHByb2MvdGVzdC92YWxpZC9pZGwvaW50ZXJmYWNlLWluaGVyaXRzLndpZGwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvaW50ZXJmYWNlLWluaGVyaXRzLndpZGwKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDc5MjFkZWY3NzI3OWY3MDQxMGMyMjFiNGVkMWYyMjVj
NmIwOTQyNzYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL2ludGVyZmFjZS1pbmhlcml0cy53aWRs
CisrKyAvZGV2L251bGwKQEAgLTEsMTIgKzAsMCBAQAotLy8gRXh0cmFjdGVkIGZyb20gaHR0cDov
L2Rldi53My5vcmcvMjAwNi93ZWJhcGkvV2ViSURMLyBvbiAyMDExLTA1LTA2Ci1pbnRlcmZhY2Ug
QW5pbWFsIHsKLSAgYXR0cmlidXRlIERPTVN0cmluZyBuYW1lOwotfTsKLQotaW50ZXJmYWNlIEh1
bWFuIDogQW5pbWFsIHsKLSAgYXR0cmlidXRlIERvZyBwZXQ7Ci19OwotCi1pbnRlcmZhY2UgRG9n
IDogQW5pbWFsIHsKLSAgYXR0cmlidXRlIEh1bWFuIG93bmVyOwotfTsKXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9p
ZGwvaXRlcmF0b3Iud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9pdGVy
YXRvci53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzYmYxYjM2ZGVjNjc1NjU2
Y2JmZDdlYTQ2MDM2MTdiM2RiOTFiZmM2Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9pdGVyYXRv
ci53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsMzUgKzAsMCBAQAotaW50ZXJmYWNlIFNlc3Npb25N
YW5hZ2VyIHsKLSAgU2Vzc2lvbiBnZXRTZXNzaW9uRm9yVXNlcihET01TdHJpbmcgdXNlcm5hbWUp
OwotICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBzZXNzaW9uQ291bnQ7Ci0KLSAg
U2Vzc2lvbiBpdGVyYXRvcjsKLX07Ci0KLWludGVyZmFjZSBTZXNzaW9uIHsKLSAgcmVhZG9ubHkg
YXR0cmlidXRlIERPTVN0cmluZyB1c2VybmFtZTsKLSAgLy8gLi4uCi19OwotCi1pbnRlcmZhY2Ug
U2Vzc2lvbk1hbmFnZXIyIHsKLSAgU2Vzc2lvbjIgZ2V0U2Vzc2lvbkZvclVzZXIoRE9NU3RyaW5n
IHVzZXJuYW1lKTsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgc2Vzc2lvbkNv
dW50OwotCi0gIFNlc3Npb24yIGl0ZXJhdG9yID0gU2Vzc2lvbkl0ZXJhdG9yOwotfTsKLQotaW50
ZXJmYWNlIFNlc3Npb24yIHsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyB1c2VybmFt
ZTsKLSAgLy8gLi4uCi19OwotCi1pbnRlcmZhY2UgU2Vzc2lvbkl0ZXJhdG9yIHsKLSAgcmVhZG9u
bHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgcmVtYWluaW5nU2Vzc2lvbnM7Ci19OwotCi0gICAg
IGludGVyZmFjZSBOb2RlTGlzdCB7Ci0gICAgICAgTm9kZSBpdGVyYXRvciA9IE5vZGVJdGVyYXRv
cjsKLSAgICAgfTsKLQotICAgICBpbnRlcmZhY2UgTm9kZUl0ZXJhdG9yIHsKLSAgICAgICBOb2Rl
IGl0ZXJhdG9yIG9iamVjdDsKLSAgICAgfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvbmFtZWRjb25zdHJ1
Y3Rvci53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL25hbWVkY29uc3Ry
dWN0b3Iud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzQ2OGI3OGY4ZTE4MTQy
MzMyNzIyNzM5Y2ZiNGM1NGZmYzdlNDUyMi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvbmFtZWRj
b25zdHJ1Y3Rvci53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsNiArMCwwIEBACi0vLyBFeHRyYWN0
ZWQgZnJvbSBodHRwOi8vZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJJREwvIG9uIDIwMTEtMDUt
MDYKLVtOYW1lZENvbnN0cnVjdG9yPUF1ZGlvLAotIE5hbWVkQ29uc3RydWN0b3I9QXVkaW8oRE9N
U3RyaW5nIHNyYyldCi1pbnRlcmZhY2UgSFRNTEF1ZGlvRWxlbWVudCA6IEhUTUxNZWRpYUVsZW1l
bnQgewotICAvLyAuLi4KLX07ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL25vaW50ZXJmYWNlb2JqZWN0Lndp
ZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvbm9pbnRlcmZhY2VvYmplY3Qu
d2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzE3ZDc1ZmY4ZmQzNzMyY2RjYmU4
MTVmNjhhN2E4M2FlZmVkNWMxOC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvbm9pbnRlcmZhY2Vv
YmplY3Qud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDUgKzAsMCBAQAotLy8gRXh0cmFjdGVkIGZy
b20gaHR0cDovL2Rldi53My5vcmcvMjAwNi93ZWJhcGkvV2ViSURMLyBvbiAyMDExLTA1LTA2Ci1b
Tm9JbnRlcmZhY2VPYmplY3RdCi1pbnRlcmZhY2UgUXVlcnkgewotICBhbnkgbG9va3VwRW50cnko
dW5zaWduZWQgbG9uZyBrZXkpOwotfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvbnVsbGFibGUud2lkbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9udWxsYWJsZS53aWRsCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjY2JmNjI1ZmY4YWVhMTJiNWJlNWIxMjA2MDk5YzliMDdj
NmNjZGJkLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9udWxsYWJsZS53aWRsCisrKyAvZGV2L251
bGwKQEAgLTEsOSArMCwwIEBACi0vLyBFeHRyYWN0ZWQgZnJvbSBodHRwOi8vZGV2LnczLm9yZy8y
MDA2L3dlYmFwaS9XZWJJREwvIG9uIDIwMTEtMDUtMDYKLWludGVyZmFjZSBNeUNvbnN0YW50cyB7
Ci0gIGNvbnN0IGJvb2xlYW4/IEFSRV9XRV9USEVSRV9ZRVQgPSBmYWxzZTsKLX07Ci0KLWludGVy
ZmFjZSBOb2RlIHsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZz8gbmFtZXNwYWNlVVJJ
OwotICAvLyAuLi4KLX07ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL251bGxhYmxlb2JqZWN0cy53aWRsIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL251bGxhYmxlb2JqZWN0cy53aWRsCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4M2QxZDQwYjJhY2ZhM2EzNmVkOGI1MDNkZjQy
MDUwMzM4Y2RhYmI2Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9udWxsYWJsZW9iamVjdHMud2lk
bAorKysgL2Rldi9udWxsCkBAIC0xLDEzICswLDAgQEAKLS8vIEV4dHJhY3RlZCBmcm9tIFdlYklE
TCBzcGVjIDIwMTEtMDUtMjMKLQotaW50ZXJmYWNlIEEgewotICAvLyAuLi4KLX07Ci1pbnRlcmZh
Y2UgQiB7Ci0gIC8vIC4uLgotfTsKLWludGVyZmFjZSBDIHsKLSAgdm9pZCBmKEE/IHgpOwotICB2
b2lkIGYoQj8geCk7Ci0KLX07ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL29wZXJhdGlvbi1vcHRpb25hbC1h
cmcud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9vcGVyYXRpb24tb3B0
aW9uYWwtYXJnLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDM3OTA1M2I0NWYx
NGExNWRlOGJlOWI1ZDEwOTAxYjQ1OTZjODcwZmEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL29w
ZXJhdGlvbi1vcHRpb25hbC1hcmcud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDQgKzAsMCBAQAot
Ly8gRXh0cmFjdGVkIGZyb20gaHR0cDovL2Rldi53My5vcmcvMjAwNi93ZWJhcGkvV2ViSURMLyBv
biAyMDExLTA1LTA2Ci1pbnRlcmZhY2UgQ29sb3JDcmVhdG9yIHsKLSAgb2JqZWN0IGNyZWF0ZUNv
bG9yKGZsb2F0IHYxLCBmbG9hdCB2MiwgZmxvYXQgdjMsIG9wdGlvbmFsIGZsb2F0IGFscGhhID0g
My41KTsKLX07ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL292ZXJsb2FkaW5nLndpZGwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
d2lkbHByb2MvdGVzdC92YWxpZC9pZGwvb3ZlcmxvYWRpbmcud2lkbApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggZWYxMjg4YTg4Nzc2M2RkNzg5NDdkZTZiODc4NmMwMDUzOTQ3NGU5Ny4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
d2lkbHByb2MvdGVzdC92YWxpZC9pZGwvb3ZlcmxvYWRpbmcud2lkbAorKysgL2Rldi9udWxsCkBA
IC0xLDIwICswLDAgQEAKLS8vIEV4dHJhY3RlZCBmcm9tIGh0dHA6Ly9kZXYudzMub3JnLzIwMDYv
d2ViYXBpL1dlYklETC8gb24gMjAxMS0wNS0wNgotaW50ZXJmYWNlIEEgewotICAvLyAuLi4KLX07
Ci0KLWludGVyZmFjZSBCIHsKLSAgLy8gLi4uCi19OwotCi1pbnRlcmZhY2UgQyB7Ci0gIHZvaWQg
ZihBIHgpOwotICB2b2lkIGYoQiB4KTsKLX07Ci0KLWludGVyZmFjZSBBIHsKLSAgLyogZjEgKi8g
dm9pZCBmKERPTVN0cmluZyBhKTsKLSAgLyogZjIgKi8gdm9pZCBmKFtBbGxvd0FueV0gRE9NU3Ry
aW5nIGEsIERPTVN0cmluZyBiLCBmbG9hdC4uLiBjKTsKLSAgLyogZjMgKi8gdm9pZCBmKCk7Ci0g
IC8qIGY0ICovIHZvaWQgZihsb25nIGEsIERPTVN0cmluZyBiLCBvcHRpb25hbCBET01TdHJpbmcg
YywgZmxvYXQuLi4gZCk7Ci19OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9vdmVycmlkZWJ1aWx0aW5zLndp
ZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvb3ZlcnJpZGVidWlsdGlucy53
aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3OTIxMWMyOWU4NDM2ZDAxYzUxZWVh
MWE5ZDM5MDJlMGU2Y2MxOTE2Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9vdmVycmlkZWJ1aWx0
aW5zLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSw2ICswLDAgQEAKLS8vIEV4dHJhY3RlZCBmcm9t
IGh0dHA6Ly9kZXYudzMub3JnLzIwMDYvd2ViYXBpL1dlYklETC8gb24gMjAxMS0wNS0wNgotW092
ZXJyaWRlQnVpbHRpbnNdCi1pbnRlcmZhY2UgU3RyaW5nTWFwMiB7Ci0gIHJlYWRvbmx5IGF0dHJp
YnV0ZSB1bnNpZ25lZCBsb25nIGxlbmd0aDsKLSAgZ2V0dGVyIERPTVN0cmluZyBsb29rdXAoRE9N
U3RyaW5nIGtleSk7Ci19OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9wYXJ0aWFsLWludGVyZmFjZS53aWRs
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3BhcnRpYWwtaW50ZXJmYWNlLndp
ZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDkwZTdlMGVhNDIxYjRmMWI5ZDNlNWE1
OGQyZDE0NzAzOTVhOWYzYTguLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3BhcnRpYWwtaW50ZXJm
YWNlLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSw3ICswLDAgQEAKLWludGVyZmFjZSBGb28gewot
ICBhdHRyaWJ1dGUgRE9NU3RyaW5nIGJhcjsKLX07Ci0KLXBhcnRpYWwgaW50ZXJmYWNlIEZvbyB7
Ci0gIGF0dHJpYnV0ZSBET01TdHJpbmcgcXV1eDsKLX07ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3ByaW1p
dGl2ZXMud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9wcmltaXRpdmVz
LndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDkyOTM5NjAxYTFhODM5Y2Y3YzQ4
YzNlZDc0OGVlYjkzYmZhM2ZlYmMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3ByaW1pdGl2ZXMu
d2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDE5ICswLDAgQEAKLWludGVyZmFjZSBQcmltaXRpdmVz
IHsKLSAgYXR0cmlidXRlIGJvb2xlYW4gdHJ1dGg7Ci0gIGF0dHJpYnV0ZSBieXRlIGNoYXJhY3Rl
cjsKLSAgYXR0cmlidXRlIG9jdGV0IHZhbHVlOwotICBhdHRyaWJ1dGUgc2hvcnQgbnVtYmVyOwot
ICBhdHRyaWJ1dGUgdW5zaWduZWQgc2hvcnQgcG9zaXRpdmU7Ci0gIGF0dHJpYnV0ZSBsb25nIGJp
ZzsKLSAgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgYmlncG9zaXRpdmU7Ci0gIGF0dHJpYnV0ZSBs
b25nIGxvbmcgYmlnYmlnOwotICBhdHRyaWJ1dGUgIHVuc2lnbmVkIGxvbmcgbG9uZyBiaWdiaWdw
b3NpdGl2ZTsKLSAgYXR0cmlidXRlIGZsb2F0IHJlYWw7Ci0gIGF0dHJpYnV0ZSBkb3VibGUgYmln
cmVhbDsgCi0gIGF0dHJpYnV0ZSB1bnJlc3RyaWN0ZWQgZmxvYXQgcmVhbHdpdGhpbmZpbml0eTsK
LSAgYXR0cmlidXRlIHVucmVzdHJpY3RlZCBkb3VibGUgYmlncmVhbHdpdGhpbmZpbml0eTsgCi0g
IGF0dHJpYnV0ZSBET01TdHJpbmcgc3RyaW5nOyAKLSAgYXR0cmlidXRlIEJ5dGVTdHJpbmcgYnl0
ZXM7IAotICBhdHRyaWJ1dGUgRGF0ZSBkYXRlOwotICBhdHRyaWJ1dGUgUmVnRXhwIHJlZ2V4cDsK
LX07ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dp
ZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3Byb3RvdHlwZXJvb3Qud2lkbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRs
cHJvYy90ZXN0L3ZhbGlkL2lkbC9wcm90b3R5cGVyb290LndpZGwKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDMwZGQ1Y2JjYTEzYmUwMGVhZWYxZTUzYzZiNjNlNzlmNGM4YTU2NGEuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dp
ZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3Byb3RvdHlwZXJvb3Qud2lkbAorKysgL2Rldi9udWxsCkBA
IC0xLDUgKzAsMCBAQAotLy8gRXh0cmFjdGVkIGZyb20gaHR0cDovL2Rldi53My5vcmcvMjAwNi93
ZWJhcGkvV2ViSURMLyBvbiAyMDExLTA1LTA2Ci1bUHJvdG90eXBlUm9vdF0KLWludGVyZmFjZSBO
b2RlIHsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIHNob3J0IG5vZGVUeXBlOwotfTsK
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHBy
b2MvdGVzdC92YWxpZC9pZGwvcHV0Zm9yd2FyZHMud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90
ZXN0L3ZhbGlkL2lkbC9wdXRmb3J3YXJkcy53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAxZTUwYTRlZTM5NGY1ZGU2YWVkYjI5Y2Q0ZmY5MThmMzM4MmIwNGRkLi4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90
ZXN0L3ZhbGlkL2lkbC9wdXRmb3J3YXJkcy53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsNSArMCww
IEBACi0vLyBFeHRyYWN0ZWQgZnJvbSBodHRwOi8vZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJJ
REwvIG9uIDIwMTEtMDUtMDYKLWludGVyZmFjZSBQZXJzb24gewotICBbUHV0Rm9yd2FyZHM9ZnVs
bF0gcmVhZG9ubHkgYXR0cmlidXRlIE5hbWUgbmFtZTsKLSAgYXR0cmlidXRlIHVuc2lnbmVkIHNo
b3J0IGFnZTsKLX07ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3JlZy1vcGVyYXRpb25zLndpZGwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvcmVnLW9wZXJhdGlvbnMud2lkbApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTM5OTdjYjFkMTIxY2UxMDZmNDljZmRjZGViOTc4OTA3
NDcwNDg0Mi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvcmVnLW9wZXJhdGlvbnMud2lkbAorKysg
L2Rldi9udWxsCkBAIC0xLDE3ICswLDAgQEAKLS8vIEV4dHJhY3RlZCBmcm9tIGh0dHA6Ly9kZXYu
dzMub3JnLzIwMDYvd2ViYXBpL1dlYklETC8gb24gMjAxMS0wNS0wNgotaW50ZXJmYWNlIERpbWVu
c2lvbnMgewotICBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyB3aWR0aDsKLSAgYXR0cmlidXRlIHVu
c2lnbmVkIGxvbmcgaGVpZ2h0OwotfTsKLQotZXhjZXB0aW9uIE5vUG9pbnRlckRldmljZSB7IH07
Ci0KLWludGVyZmFjZSBCdXR0b24gewotCi0gIC8vIEFuIG9wZXJhdGlvbiB0aGF0IHRha2VzIG5v
IGFyZ3VtZW50cywgcmV0dXJucyBhIGJvb2xlYW4KLSAgYm9vbGVhbiBpc01vdXNlT3ZlcigpOwot
Ci0gIC8vIE92ZXJsb2FkZWQgb3BlcmF0aW9ucy4KLSAgdm9pZCBzZXREaW1lbnNpb25zKERpbWVu
c2lvbnMgc2l6ZSk7Ci0gIHZvaWQgc2V0RGltZW5zaW9ucyh1bnNpZ25lZCBsb25nIHdpZHRoLCB1
bnNpZ25lZCBsb25nIGhlaWdodCk7Ci19OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9yZXBsYWNlYWJsZS53
aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3JlcGxhY2VhYmxlLndpZGwK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGMxNGQwYzM3Njg5MDQ3NGE5ODIzMThhNjAx
YzUxMDU0NTlmN2NmMmUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3JlcGxhY2VhYmxlLndpZGwK
KysrIC9kZXYvbnVsbApAQCAtMSw1ICswLDAgQEAKLS8vIEV4dHJhY3RlZCBmcm9tIGh0dHA6Ly9k
ZXYudzMub3JnLzIwMDYvd2ViYXBpL1dlYklETC8gb24gMjAxMS0wNS0wNgotaW50ZXJmYWNlIENv
dW50ZXIgewotICBbUmVwbGFjZWFibGVdIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25n
IHZhbHVlOwotICB2b2lkIGluY3JlbWVudCgpOwotfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvc2VxdWVu
Y2Uud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9zZXF1ZW5jZS53aWRs
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhMWFhOTMxZjVmMDBhMTg5OTMwMzFkOTVk
NWQyZDgxMDkxMDFhMDM3Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9zZXF1ZW5jZS53aWRsCisr
KyAvZGV2L251bGwKQEAgLTEsNyArMCwwIEBACi0vLyBFeHRyYWN0ZWQgZnJvbSBodHRwOi8vZGV2
LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJJREwvIG9uIDIwMTEtMDUtMDYKLS8vIGVkaXRlZCB0byBy
ZW1vdmUgc2VxdWVuY2UgYXMgYXR0cmlidXRlcywgbm93IGludmFsaWQKLWludGVyZmFjZSBDYW52
YXMgewotICB2b2lkIGRyYXdQb2x5Z29uKHNlcXVlbmNlPGZsb2F0PiBjb29yZGluYXRlcyk7Ci0g
IHNlcXVlbmNlPGZsb2F0PiBnZXRJbmZsZWN0aW9uUG9pbnRzKCk7Ci0gIC8vIC4uLgotfTsKXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mv
dGVzdC92YWxpZC9pZGwvc2VyaWFsaXplci53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3Qv
dmFsaWQvaWRsL3NlcmlhbGl6ZXIud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
NmY2Y2NkMGU4ZDU5ZTNlMDU3ZjVhZDBkMmY2NTUzMGIxNmEzOTM1OS4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92
YWxpZC9pZGwvc2VyaWFsaXplci53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsNjQgKzAsMCBAQAot
aW50ZXJmYWNlIFRyYW5zYWN0aW9uIHsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIEFjY291bnQgZnJv
bTsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIEFjY291bnQgdG87Ci0gIHJlYWRvbmx5IGF0dHJpYnV0
ZSBmbG9hdCBhbW91bnQ7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgZGVzY3JpcHRp
b247Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIG51bWJlcjsKLQotICBzZXJp
YWxpemVyOwotfTsKLQotaW50ZXJmYWNlIEFjY291bnQgewotICBhdHRyaWJ1dGUgRE9NU3RyaW5n
IG5hbWU7Ci0gIGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIG51bWJlcjsKLSAgc2VyaWFsaXplciBE
T01TdHJpbmcgc2VyaWFsaXplKCk7Ci19OwotCi1pbnRlcmZhY2UgVHJhbnNhY3Rpb24yIHsKLSAg
cmVhZG9ubHkgYXR0cmlidXRlIEFjY291bnQyIGZyb207Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSBB
Y2NvdW50MiB0bzsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIGZsb2F0IGFtb3VudDsKLSAgcmVhZG9u
bHkgYXR0cmlidXRlIERPTVN0cmluZyBkZXNjcmlwdGlvbjsKLSAgcmVhZG9ubHkgYXR0cmlidXRl
IHVuc2lnbmVkIGxvbmcgbnVtYmVyOwotCi0gIHNlcmlhbGl6ZXIgPSB7IGZyb20sIHRvLCBhbW91
bnQsIGRlc2NyaXB0aW9uIH07Ci19OwotCi1pbnRlcmZhY2UgQWNjb3VudDIgewotICBhdHRyaWJ1
dGUgRE9NU3RyaW5nIG5hbWU7Ci0gIGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIG51bWJlcjsKLSAg
c2VyaWFsaXplciA9IG51bWJlcjsKLX07Ci0KLWludGVyZmFjZSBBY2NvdW50MyB7Ci0gIGF0dHJp
YnV0ZSBET01TdHJpbmcgbmFtZTsKLSAgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbnVtYmVyOwot
Ci0gIHNlcmlhbGl6ZXIgPSB7IGF0dHJpYnV0ZSB9OwotfTsKLQotaW50ZXJmYWNlIEFjY291bnQ0
IHsKLSAgZ2V0dGVyIG9iamVjdCBnZXRJdGVtKHVuc2lnbmVkIGxvbmcgaW5kZXgpOwotICBzZXJp
YWxpemVyID0geyBnZXR0ZXIgfTsKLX07Ci0KLWludGVyZmFjZSBBY2NvdW50NSA6IEFjY291bnQg
ewotICBhdHRyaWJ1dGUgRE9NU3RyaW5nIHNlY29uZG5hbWU7Ci0gIHNlcmlhbGl6ZXIgPSB7IGlu
aGVyaXQsIHNlY29uZG5hbWUgfTsKLX07Ci0KLWludGVyZmFjZSBBY2NvdW50NiA6IEFjY291bnQg
ewotICBhdHRyaWJ1dGUgRE9NU3RyaW5nIHNlY29uZG5hbWU7Ci0gIHNlcmlhbGl6ZXIgPSB7IGlu
aGVyaXQsIGF0dHJpYnV0ZSB9OwotfTsKLQotaW50ZXJmYWNlIEFjY291bnQ3IHsKLSAgYXR0cmli
dXRlIERPTVN0cmluZyBuYW1lOwotICBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBudW1iZXI7Ci0g
IHNlcmlhbGl6ZXIgPSBbIG5hbWUsIG51bWJlciBdOwotfTsKLQotaW50ZXJmYWNlIEFjY291bnQ4
IHsKLSAgZ2V0dGVyIG9iamVjdCBnZXRJdGVtKHVuc2lnbmVkIGxvbmcgaW5kZXgpOwotICBzZXJp
YWxpemVyID0gWyBnZXR0ZXIgXTsKLX07ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3N0YXRpYy53aWRsIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3N0YXRpYy53aWRsCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCA1YjJjZDM2NTkwZmQ2ZjI1ZWZmOTZkMzUzN2ZiNDhiY2Y3ZTJi
NmEzLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9zdGF0aWMud2lkbAorKysgL2Rldi9udWxsCkBA
IC0xLDExICswLDAgQEAKLS8vIEV4dHJhY3RlZCBmcm9tIGh0dHA6Ly9kZXYudzMub3JnLzIwMDYv
d2ViYXBpL1dlYklETC8gb24gMjAxMS0wNS0wNgotaW50ZXJmYWNlIFBvaW50IHsgLyogLi4uICov
IH07Ci0KLWludGVyZmFjZSBDaXJjbGUgewotICBhdHRyaWJ1dGUgZmxvYXQgY3g7Ci0gIGF0dHJp
YnV0ZSBmbG9hdCBjeTsKLSAgYXR0cmlidXRlIGZsb2F0IHJhZGl1czsKLQotICBzdGF0aWMgcmVh
ZG9ubHkgYXR0cmlidXRlIGxvbmcgdHJpYW5ndWxhdGlvbkNvdW50OwotICBzdGF0aWMgUG9pbnQg
dHJpYW5ndWxhdGUoQ2lyY2xlIGMxLCBDaXJjbGUgYzIsIENpcmNsZSBjMyk7Ci19OwpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0
L3ZhbGlkL2lkbC9zdHJpbmdpZmllci1hdHRyaWJ1dGUud2lkbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJv
Yy90ZXN0L3ZhbGlkL2lkbC9zdHJpbmdpZmllci1hdHRyaWJ1dGUud2lkbApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggYzk2NGVjYjkzZTYwMWY0OTM3NDFiYmVkYWE0N2ZmMjE2MzMwNzMz
NS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvc3RyaW5naWZpZXItYXR0cmlidXRlLndpZGwKKysr
IC9kZXYvbnVsbApAQCAtMSw2ICswLDAgQEAKLS8vIEV4dHJhY3RlZCBmcm9tIGh0dHA6Ly9kZXYu
dzMub3JnLzIwMDYvd2ViYXBpL1dlYklETC8gb24gMjAxMS0wNS0wNgotW0NvbnN0cnVjdG9yXQot
aW50ZXJmYWNlIFN0dWRlbnQgewotICBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBpZDsKLSAgc3Ry
aW5naWZpZXIgYXR0cmlidXRlIERPTVN0cmluZyBuYW1lOwotfTsKXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwv
c3RyaW5naWZpZXItY3VzdG9tLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9p
ZGwvc3RyaW5naWZpZXItY3VzdG9tLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IGI1ZDdjODdlN2Y0NTcyMGYyNDhlOGExMGQ0YjE5NGU3MjIxZmEyZWYuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3Qv
dmFsaWQvaWRsL3N0cmluZ2lmaWVyLWN1c3RvbS53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsOSAr
MCwwIEBACi0vLyBFeHRyYWN0ZWQgZnJvbSBodHRwOi8vZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9X
ZWJJREwvIG9uIDIwMTEtMDUtMDYKLVtDb25zdHJ1Y3Rvcl0KLWludGVyZmFjZSBTdHVkZW50IHsK
LSAgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgaWQ7Ci0gIGF0dHJpYnV0ZSBET01TdHJpbmc/IGZh
bWlseU5hbWU7Ci0gIGF0dHJpYnV0ZSBET01TdHJpbmcgZ2l2ZW5OYW1lOwotCi0gIHN0cmluZ2lm
aWVyIERPTVN0cmluZyAoKTsKLX07ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3N0cmluZ2lmaWVyLndpZGwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvc3RyaW5naWZpZXIud2lkbApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNGViNDgzZDliNTM4NjFhMTA0ZjcxMmQ5NDJhZjNi
MTA1NjYwMjNjNS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvc3RyaW5naWZpZXIud2lkbAorKysg
L2Rldi9udWxsCkBAIC0xLDggKzAsMCBAQAotLy8gRXh0cmFjdGVkIGZyb20gaHR0cDovL2Rldi53
My5vcmcvMjAwNi93ZWJhcGkvV2ViSURMLyBvbiAyMDExLTA1LTA2Ci1pbnRlcmZhY2UgQSB7Ci0g
IHN0cmluZ2lmaWVyIERPTVN0cmluZyAoKTsKLX07Ci0KLWludGVyZmFjZSBBIHsKLSAgc3RyaW5n
aWZpZXI7Ci19OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC90cmVhdGFzbnVsbC53aWRsIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3RyZWF0YXNudWxsLndpZGwKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IGQzYzU1YjAwOGMwZDg2ZjM3ZThlYmYwYTg2Mzc4NjI4Y2JlMDdmZmQu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3RyZWF0YXNudWxsLndpZGwKKysrIC9kZXYvbnVsbApA
QCAtMSw3ICswLDAgQEAKLS8vIEV4dHJhY3RlZCBmcm9tIGh0dHA6Ly9kZXYudzMub3JnLzIwMDYv
d2ViYXBpL1dlYklETC8gb24gMjAxMS0wNS0wNgotaW50ZXJmYWNlIERvZyB7Ci0gIGF0dHJpYnV0
ZSBET01TdHJpbmcgbmFtZTsKLSAgYXR0cmlidXRlIERPTVN0cmluZyBvd25lcjsKLQotICBib29s
ZWFuIGlzTWVtYmVyT2ZCcmVlZChbVHJlYXROdWxsQXM9RW1wdHlTdHJpbmddIERPTVN0cmluZyBi
cmVlZE5hbWUpOwotfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvdHJlYXRhc3VuZGVmaW5lZC53aWRsIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3RyZWF0YXN1bmRlZmluZWQud2lkbApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTMwMDUwZjg0MTM0MDNkMjQ0MGIyNmMzYTAw
ZTNlYzZjNWFhYjc5My4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvdHJlYXRhc3VuZGVmaW5lZC53
aWRsCisrKyAvZGV2L251bGwKQEAgLTEsNyArMCwwIEBACi0vLyBFeHRyYWN0ZWQgZnJvbSBodHRw
Oi8vZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJJREwvIG9uIDIwMTEtMDUtMDYKLWludGVyZmFj
ZSBDYXQgewotICBhdHRyaWJ1dGUgRE9NU3RyaW5nIG5hbWU7Ci0gIGF0dHJpYnV0ZSBET01TdHJp
bmcgb3duZXI7Ci0KLSAgYm9vbGVhbiBpc01lbWJlck9mQnJlZWQoW1RyZWF0VW5kZWZpbmVkQXM9
RW1wdHlTdHJpbmddIERPTVN0cmluZyBicmVlZE5hbWUpOwotfTsKXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwv
dHlwZWRlZi53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3R5cGVkZWYu
d2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjRjMTdkOGQzNmE4OWZiNTBlYzNi
YjYyMzJhMTIzN2ZlODZkZmIwZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvdHlwZWRlZi53aWRs
CisrKyAvZGV2L251bGwKQEAgLTEsMjIgKzAsMCBAQAotLy8gRXh0cmFjdGVkIGZyb20gaHR0cDov
L2Rldi53My5vcmcvMjAwNi93ZWJhcGkvV2ViSURMLyBvbiAyMDExLTA1LTA2Ci0gICAgICBpbnRl
cmZhY2UgUG9pbnQgewotICAgICAgICBhdHRyaWJ1dGUgZmxvYXQgeDsKLSAgICAgICAgYXR0cmli
dXRlIGZsb2F0IHk7Ci0gICAgICB9OwotCi0gICAgICB0eXBlZGVmIHNlcXVlbmNlPFBvaW50PiBQ
b2ludFNlcXVlbmNlOwotCi0gICAgICBpbnRlcmZhY2UgUmVjdCB7Ci0gICAgICAgIGF0dHJpYnV0
ZSBQb2ludCB0b3BsZWZ0OwotICAgICAgICBhdHRyaWJ1dGUgUG9pbnQgYm90dG9tcmlnaHQ7Ci0g
ICAgICB9OwotCi0gIGludGVyZmFjZSBXaWRnZXQgewotCi0gICAgcmVhZG9ubHkgYXR0cmlidXRl
IFJlY3QgYm91bmRzOwotCi0gICAgYm9vbGVhbiBwb2ludFdpdGhpbkJvdW5kcyhQb2ludCBwKTsK
LSAgICBib29sZWFuIGFsbFBvaW50c1dpdGhpbkJvdW5kcyhQb2ludFNlcXVlbmNlIHBzKTsKLSAg
fTsKLQotICB0eXBlZGVmIFtDbGFtcF0gb2N0ZXQgdmFsdWU7ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3R5
cGVzdWZmaXhlcy53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3R5cGVz
dWZmaXhlcy53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5NWUzMWMxNjkwMjM2
Y2U3NzcwM2M5YTNjYTAzZTg4ZTViYTFmYzA2Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC90eXBl
c3VmZml4ZXMud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDMgKzAsMCBAQAotaW50ZXJmYWNlIFN1
ZmZpeGVzIHsKLSAgdm9pZCB0ZXN0KHNlcXVlbmNlPERPTVN0cmluZ1tdPz4/IGZvbyk7Ci19Owpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3VuaW9udHlwZS53
aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3VuaW9udHlwZS53aWRsCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0ZDk5ZjAxOTYzMDhhZWM2ZWY0NjdmMThiMDE3
NmE0NmU5NWEyYzJiLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC91bmlvbnR5cGUud2lkbAorKysg
L2Rldi9udWxsCkBAIC0xLDMgKzAsMCBAQAotaW50ZXJmYWNlIFVuaW9uIHsKLSBhdHRyaWJ1dGUg
KGZsb2F0IG9yIChEYXRlIG9yIEV2ZW50KSBvciAoTm9kZSBvciBET01TdHJpbmcpPykgdGVzdDsK
LX07ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dp
ZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3ZhcmlhZGljLW9wZXJhdGlvbnMud2lkbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC92YXJpYWRpYy1vcGVyYXRpb25zLndpZGwKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDUxZmFlNGNjMWVhMWM0YTMzMzNhZmM3ZDc5MWZlZDA2
NjQxNTAyMzUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3ZhcmlhZGljLW9wZXJhdGlvbnMud2lk
bAorKysgL2Rldi9udWxsCkBAIC0xLDcgKzAsMCBAQAotLy8gRXh0cmFjdGVkIGZyb20gaHR0cDov
L2Rldi53My5vcmcvMjAwNi93ZWJhcGkvV2ViSURMLyBvbiAyMDExLTA1LTA2Ci1pbnRlcmZhY2Ug
SW50ZWdlclNldCB7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGNhcmRpbmFs
aXR5OwotCi0gIHZvaWQgdW5pb24obG9uZy4uLiBpbnRzKTsKLSAgdm9pZCBpbnRlcnNlY3Rpb24o
bG9uZy4uLiBpbnRzKTsKLX07ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3czYy1pbXBvcnQubG9nIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3czYy1pbXBvcnQubG9nCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCA3MjUwOWI5NGQ3ODkxNjY3NjYxYWVmZGJiN2M2MjMxMjhhZWY3
YzllLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC93M2MtaW1wb3J0LmxvZworKysgL2Rldi9udWxs
CkBAIC0xLDY0ICswLDAgQEAKLVRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9y
dGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgotRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBk
aXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhl
IFczQyBDU1Mgb3IgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20vdzNjL2Nzc3dnLXRl
c3QKLQlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cwotCi1UaGVuIHJ1
biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9y
dAotCi1EbyBOT1QgbW9kaWZ5IG9yIHJlbW92ZSB0aGlzIGZpbGUuCi0KLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LQotUHJvcGVydGllcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgotTm9uZQotUHJvcGVydHkg
dmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6Ci1Ob25lCi0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K
LUxpc3Qgb2YgZmlsZXM6Ci0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL2FsbG93
YW55LndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvYXJyYXkud2lkbAot
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9hdHRyaWJ1dGVzLndpZGwKLS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvY2FsbGJhY2sud2lkbAotL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93
aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9jYWxsZXIud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90
ZXN0L3ZhbGlkL2lkbC9jb25zdGFudHMud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3Zh
bGlkL2lkbC9jb25zdHJ1Y3Rvci53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQv
aWRsL2RpY3Rpb25hcnktaW5oZXJpdHMud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3Zh
bGlkL2lkbC9kaWN0aW9uYXJ5LndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9p
ZGwvZG9jdW1lbnRhdGlvbi1kb3Mud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlk
L2lkbC9kb2N1bWVudGF0aW9uLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9p
ZGwvZW51bS53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL2VxdWl2YWxl
bnQtZGVjbC53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL2V4Y2VwdGlv
bi1pbmhlcml0YW5jZS53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL2V4
Y2VwdGlvbi53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL2dldHRlci1z
ZXR0ZXIud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9pZGVudGlmaWVy
LXF1YWxpZmllZC1uYW1lcy53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRs
L2ltcGxlbWVudHMud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9pbmRl
eGVkLXByb3BlcnRpZXMud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9p
bmhlcml0cy1nZXR0ZXIud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9p
bnRlcmZhY2UtaW5oZXJpdHMud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lk
bC9pdGVyYXRvci53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL25hbWVk
Y29uc3RydWN0b3Iud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9ub2lu
dGVyZmFjZW9iamVjdC53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL251
bGxhYmxlLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvbnVsbGFibGVv
YmplY3RzLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvb3BlcmF0aW9u
LW9wdGlvbmFsLWFyZy53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL292
ZXJsb2FkaW5nLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvb3ZlcnJp
ZGVidWlsdGlucy53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3BhcnRp
YWwtaW50ZXJmYWNlLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvcHJp
bWl0aXZlcy53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3Byb3RvdHlw
ZXJvb3Qud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9wdXRmb3J3YXJk
cy53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3JlZy1vcGVyYXRpb25z
LndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvcmVwbGFjZWFibGUud2lk
bAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9zZXF1ZW5jZS53aWRsCi0vTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3NlcmlhbGl6ZXIud2lkbAotL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9zdGF0aWMud2lkbAotL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJv
Yy90ZXN0L3ZhbGlkL2lkbC9zdHJpbmdpZmllci1hdHRyaWJ1dGUud2lkbAotL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93
aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9zdHJpbmdpZmllci1jdXN0b20ud2lkbAotL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9zdHJpbmdpZmllci53aWRsCi0vTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dp
ZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3RyZWF0YXNudWxsLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHBy
b2MvdGVzdC92YWxpZC9pZGwvdHJlYXRhc3VuZGVmaW5lZC53aWRsCi0vTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxw
cm9jL3Rlc3QvdmFsaWQvaWRsL3R5cGVkZWYud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0
L3ZhbGlkL2lkbC90eXBlc3VmZml4ZXMud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3Zh
bGlkL2lkbC91bmlvbnR5cGUud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lk
bC92YXJpYWRpYy1vcGVyYXRpb25zLndpZGwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJv
Yy90ZXN0L3ZhbGlkL3htbC9hbGxvd2FueS53aWRscHJvY3htbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJv
Yy90ZXN0L3ZhbGlkL3htbC9hbGxvd2FueS53aWRscHJvY3htbApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggN2RhNTA4YmNiNWM4ZmE4ZjRkY2UzNDdiYTY5NWRjNmM3Yjc4NTM2Mi4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lk
bHByb2MvdGVzdC92YWxpZC94bWwvYWxsb3dhbnkud2lkbHByb2N4bWwKKysrIC9kZXYvbnVsbApA
QCAtMSw0NCArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/Pgot
PCFET0NUWVBFIERlZmluaXRpb25zIFNZU1RFTSAid2lkbHByb2N4bWwuZHRkIj4KLTxEZWZpbml0
aW9ucz4KLSAgPHdlYmlkbD5pbnRlcmZhY2UgQiB7Ci0gIHZvaWQgZygpOwotICB2b2lkIGcoPHJl
Zj5CPC9yZWY+IGIpOwotICB2b2lkIGcoW0FsbG93QW55XSBET01TdHJpbmcgcyk7Ci19Ozwvd2Vi
aWRsPgotICA8SW50ZXJmYWNlIG5hbWU9IkIiIGlkPSI6OkIiPgotICAgIDx3ZWJpZGw+aW50ZXJm
YWNlIEIgewotICB2b2lkIGcoKTsKLSAgdm9pZCBnKDxyZWY+QjwvcmVmPiBiKTsKLSAgdm9pZCBn
KFtBbGxvd0FueV0gRE9NU3RyaW5nIHMpOwotfTs8L3dlYmlkbD4KLSAgICA8T3BlcmF0aW9uIG5h
bWU9ImciIGlkPSI6OkI6OmciPgotICAgICAgPHdlYmlkbD4gIHZvaWQgZygpOzwvd2ViaWRsPgot
ICAgICAgPFR5cGUgdHlwZT0idm9pZCIvPgotICAgICAgPEFyZ3VtZW50TGlzdC8+Ci0gICAgPC9P
cGVyYXRpb24+Ci0gICAgPE9wZXJhdGlvbiBuYW1lPSJnIiBpZD0iOjpCOjpnIj4KLSAgICAgIDx3
ZWJpZGw+ICB2b2lkIGcoPHJlZj5CPC9yZWY+IGIpOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlw
ZT0idm9pZCIvPgotICAgICAgPEFyZ3VtZW50TGlzdD4KLSAgICAgICAgPEFyZ3VtZW50IG5hbWU9
ImIiPgotICAgICAgICAgIDxUeXBlIG5hbWU9IkIiLz4KLSAgICAgICAgPC9Bcmd1bWVudD4KLSAg
ICAgIDwvQXJndW1lbnRMaXN0PgotICAgIDwvT3BlcmF0aW9uPgotICAgIDxPcGVyYXRpb24gbmFt
ZT0iZyIgaWQ9Ijo6Qjo6ZyI+Ci0gICAgICA8d2ViaWRsPiAgdm9pZCBnKFtBbGxvd0FueV0gRE9N
U3RyaW5nIHMpOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0idm9pZCIvPgotICAgICAgPEFy
Z3VtZW50TGlzdD4KLSAgICAgICAgPEFyZ3VtZW50IG5hbWU9InMiPgotICAgICAgICAgIDxFeHRl
bmRlZEF0dHJpYnV0ZUxpc3Q+Ci0gICAgICAgICAgICA8RXh0ZW5kZWRBdHRyaWJ1dGUgbmFtZT0i
QWxsb3dBbnkiPgotICAgICAgICAgICAgICA8d2ViaWRsPkFsbG93QW55PC93ZWJpZGw+Ci0gICAg
ICAgICAgICA8L0V4dGVuZGVkQXR0cmlidXRlPgotICAgICAgICAgIDwvRXh0ZW5kZWRBdHRyaWJ1
dGVMaXN0PgotICAgICAgICAgIDxUeXBlIHR5cGU9IkRPTVN0cmluZyIvPgotICAgICAgICA8L0Fy
Z3VtZW50PgotICAgICAgPC9Bcmd1bWVudExpc3Q+Ci0gICAgPC9PcGVyYXRpb24+Ci0gIDwvSW50
ZXJmYWNlPgotPC9EZWZpbml0aW9ucz4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90
ZXN0L3ZhbGlkL3htbC9hcnJheS53aWRscHJvY3htbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0
L3ZhbGlkL3htbC9hcnJheS53aWRscHJvY3htbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggM2RmNzJmZjE2MDg4MWVkMDUyMjRlYmVmODRiNWFiNTBkOTgyY2QzYS4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVz
dC92YWxpZC94bWwvYXJyYXkud2lkbHByb2N4bWwKKysrIC9kZXYvbnVsbApAQCAtMSwyNyArMCww
IEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgotPCFET0NUWVBFIERl
ZmluaXRpb25zIFNZU1RFTSAid2lkbHByb2N4bWwuZHRkIj4KLTxEZWZpbml0aW9ucz4KLSAgPHdl
YmlkbD5bQ29uc3RydWN0b3JdCi1pbnRlcmZhY2UgTG90dGVyeVJlc3VsdHMgewotICByZWFkb25s
eSBhdHRyaWJ1dGUgdW5zaWduZWQgc2hvcnRbXVtdIG51bWJlcnM7Ci19Ozwvd2ViaWRsPgotICA8
SW50ZXJmYWNlIG5hbWU9IkxvdHRlcnlSZXN1bHRzIiBpZD0iOjpMb3R0ZXJ5UmVzdWx0cyI+Ci0g
ICAgPHdlYmlkbD5bQ29uc3RydWN0b3JdCi1pbnRlcmZhY2UgTG90dGVyeVJlc3VsdHMgewotICBy
ZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgc2hvcnRbXVtdIG51bWJlcnM7Ci19Ozwvd2ViaWRs
PgotICAgIDxFeHRlbmRlZEF0dHJpYnV0ZUxpc3Q+Ci0gICAgICA8RXh0ZW5kZWRBdHRyaWJ1dGUg
bmFtZT0iQ29uc3RydWN0b3IiPgotICAgICAgICA8d2ViaWRsPkNvbnN0cnVjdG9yPC93ZWJpZGw+
Ci0gICAgICA8L0V4dGVuZGVkQXR0cmlidXRlPgotICAgIDwvRXh0ZW5kZWRBdHRyaWJ1dGVMaXN0
PgotICAgIDxBdHRyaWJ1dGUgcmVhZG9ubHk9InJlYWRvbmx5IiBuYW1lPSJudW1iZXJzIiBpZD0i
OjpMb3R0ZXJ5UmVzdWx0czo6bnVtYmVycyI+Ci0gICAgICA8d2ViaWRsPiAgcmVhZG9ubHkgYXR0
cmlidXRlIHVuc2lnbmVkIHNob3J0W11bXSBudW1iZXJzOzwvd2ViaWRsPgotICAgICAgPFR5cGUg
dHlwZT0iYXJyYXkiPgotICAgICAgICA8VHlwZSB0eXBlPSJhcnJheSI+Ci0gICAgICAgICAgPFR5
cGUgdHlwZT0idW5zaWduZWQgc2hvcnQiLz4KLSAgICAgICAgPC9UeXBlPgotICAgICAgPC9UeXBl
PgotICAgIDwvQXR0cmlidXRlPgotICA8L0ludGVyZmFjZT4KLTwvRGVmaW5pdGlvbnM+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvYXR0cmlidXRlcy53aWRs
cHJvY3htbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9hdHRyaWJ1dGVzLndp
ZGxwcm9jeG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4OWJkOGFjOWIwMTlhMmU5
ZDVhMmY2NmIwMDlhMmM5YjhhOTQwZTE4Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9hdHRyaWJ1
dGVzLndpZGxwcm9jeG1sCisrKyAvZGV2L251bGwKQEAgLTEsMzggKzAsMCBAQAotPD94bWwgdmVy
c2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KLTwhRE9DVFlQRSBEZWZpbml0aW9ucyBTWVNU
RU0gIndpZGxwcm9jeG1sLmR0ZCI+Ci08RGVmaW5pdGlvbnM+Ci0gIDx3ZWJpZGw+ZXhjZXB0aW9u
IEludmFsaWROYW1lIHsKLSAgRE9NU3RyaW5nIHJlYXNvbjsKLX07Ci0KLWV4Y2VwdGlvbiBOb1N1
Y2hQZXQgeyB9OwotCi1pbnRlcmZhY2UgUGVyc29uIHsKLQotICBhdHRyaWJ1dGUgdW5zaWduZWQg
c2hvcnQgYWdlOwotCi19Ozwvd2ViaWRsPgotICA8RXhjZXB0aW9uIG5hbWU9IkludmFsaWROYW1l
IiBpZD0iOjpJbnZhbGlkTmFtZSI+Ci0gICAgPHdlYmlkbD5leGNlcHRpb24gSW52YWxpZE5hbWUg
ewotICBET01TdHJpbmcgcmVhc29uOwotfTs8L3dlYmlkbD4KLSAgICA8RXhjZXB0aW9uRmllbGQg
bmFtZT0icmVhc29uIiBpZD0iOjpJbnZhbGlkTmFtZTo6cmVhc29uIj4KLSAgICAgIDx3ZWJpZGw+
ICBET01TdHJpbmcgcmVhc29uOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0iRE9NU3RyaW5n
Ii8+Ci0gICAgPC9FeGNlcHRpb25GaWVsZD4KLSAgPC9FeGNlcHRpb24+Ci0gIDxFeGNlcHRpb24g
bmFtZT0iTm9TdWNoUGV0IiBpZD0iOjpOb1N1Y2hQZXQiPgotICAgIDx3ZWJpZGw+ZXhjZXB0aW9u
IE5vU3VjaFBldCB7IH07PC93ZWJpZGw+Ci0gIDwvRXhjZXB0aW9uPgotICA8SW50ZXJmYWNlIG5h
bWU9IlBlcnNvbiIgaWQ9Ijo6UGVyc29uIj4KLSAgICA8d2ViaWRsPmludGVyZmFjZSBQZXJzb24g
ewotCi0gIGF0dHJpYnV0ZSB1bnNpZ25lZCBzaG9ydCBhZ2U7Ci0KLX07PC93ZWJpZGw+Ci0gICAg
PEF0dHJpYnV0ZSBuYW1lPSJhZ2UiIGlkPSI6OlBlcnNvbjo6YWdlIj4KLSAgICAgIDx3ZWJpZGw+
ICBhdHRyaWJ1dGUgdW5zaWduZWQgc2hvcnQgYWdlOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlw
ZT0idW5zaWduZWQgc2hvcnQiLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAgPC9JbnRlcmZhY2U+Ci08
L0RlZmluaXRpb25zPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQv
eG1sL2NhbGxiYWNrLndpZGxwcm9jeG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQv
eG1sL2NhbGxiYWNrLndpZGxwcm9jeG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5
ZWFjMDZjZTI3OWQ4NDEzMzI3ZmJiYzcwMmQyODM1NzE1ODk5MDcyLi4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3Zh
bGlkL3htbC9jYWxsYmFjay53aWRscHJvY3htbAorKysgL2Rldi9udWxsCkBAIC0xLDMyICswLDAg
QEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Ci08IURPQ1RZUEUgRGVm
aW5pdGlvbnMgU1lTVEVNICJ3aWRscHJvY3htbC5kdGQiPgotPERlZmluaXRpb25zPgotICA8d2Vi
aWRsPmNhbGxiYWNrIEFzeW5jT3BlcmF0aW9uQ2FsbGJhY2sgPSB2b2lkIChET01TdHJpbmcgc3Rh
dHVzKTsKLQotY2FsbGJhY2sgaW50ZXJmYWNlIEV2ZW50SGFuZGxlciB7Ci0gIHZvaWQgZXZlbnRP
Y2N1cnJlZChET01TdHJpbmcgZGV0YWlscyk7Ci19Ozwvd2ViaWRsPgotICA8Q2FsbGJhY2sgbmFt
ZT0iQXN5bmNPcGVyYXRpb25DYWxsYmFjayIgaWQ9Ijo6QXN5bmNPcGVyYXRpb25DYWxsYmFjayI+
Ci0gICAgPHdlYmlkbD5jYWxsYmFjayBBc3luY09wZXJhdGlvbkNhbGxiYWNrID0gdm9pZCAoRE9N
U3RyaW5nIHN0YXR1cyk7PC93ZWJpZGw+Ci0gICAgPFR5cGUgdHlwZT0idm9pZCIvPgotICAgIDxB
cmd1bWVudExpc3Q+Ci0gICAgICA8QXJndW1lbnQgbmFtZT0ic3RhdHVzIj4KLSAgICAgICAgPFR5
cGUgdHlwZT0iRE9NU3RyaW5nIi8+Ci0gICAgICA8L0FyZ3VtZW50PgotICAgIDwvQXJndW1lbnRM
aXN0PgotICA8L0NhbGxiYWNrPgotICA8SW50ZXJmYWNlIG5hbWU9IkV2ZW50SGFuZGxlciIgY2Fs
bGJhY2s9ImNhbGxiYWNrIiBpZD0iOjpFdmVudEhhbmRsZXIiPgotICAgIDx3ZWJpZGw+Y2FsbGJh
Y2sgaW50ZXJmYWNlIEV2ZW50SGFuZGxlciB7Ci0gIHZvaWQgZXZlbnRPY2N1cnJlZChET01TdHJp
bmcgZGV0YWlscyk7Ci19Ozwvd2ViaWRsPgotICAgIDxPcGVyYXRpb24gbmFtZT0iZXZlbnRPY2N1
cnJlZCIgaWQ9Ijo6RXZlbnRIYW5kbGVyOjpldmVudE9jY3VycmVkIj4KLSAgICAgIDx3ZWJpZGw+
ICB2b2lkIGV2ZW50T2NjdXJyZWQoRE9NU3RyaW5nIGRldGFpbHMpOzwvd2ViaWRsPgotICAgICAg
PFR5cGUgdHlwZT0idm9pZCIvPgotICAgICAgPEFyZ3VtZW50TGlzdD4KLSAgICAgICAgPEFyZ3Vt
ZW50IG5hbWU9ImRldGFpbHMiPgotICAgICAgICAgIDxUeXBlIHR5cGU9IkRPTVN0cmluZyIvPgot
ICAgICAgICA8L0FyZ3VtZW50PgotICAgICAgPC9Bcmd1bWVudExpc3Q+Ci0gICAgPC9PcGVyYXRp
b24+Ci0gIDwvSW50ZXJmYWNlPgotPC9EZWZpbml0aW9ucz4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9jYWxsZXIud2lkbHByb2N4bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
d2lkbHByb2MvdGVzdC92YWxpZC94bWwvY2FsbGVyLndpZGxwcm9jeG1sCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCA5NzU0ZDRlMDI2ODQ5MTViYjAzM2QzZWE5Njg0ZGU1MDU3NWY3ODlk
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9jYWxsZXIud2lkbHByb2N4bWwKKysrIC9kZXYvbnVs
bApAQCAtMSwyMSArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/
PgotPCFET0NUWVBFIERlZmluaXRpb25zIFNZU1RFTSAid2lkbHByb2N4bWwuZHRkIj4KLTxEZWZp
bml0aW9ucz4KLSAgPHdlYmlkbD5pbnRlcmZhY2UgTnVtYmVyUXVhZHJ1cGxlciB7Ci0gIGxlZ2Fj
eWNhbGxlciBmbG9hdCBjb21wdXRlKGZsb2F0IHgpOwotfTs8L3dlYmlkbD4KLSAgPEludGVyZmFj
ZSBuYW1lPSJOdW1iZXJRdWFkcnVwbGVyIiBpZD0iOjpOdW1iZXJRdWFkcnVwbGVyIj4KLSAgICA8
d2ViaWRsPmludGVyZmFjZSBOdW1iZXJRdWFkcnVwbGVyIHsKLSAgbGVnYWN5Y2FsbGVyIGZsb2F0
IGNvbXB1dGUoZmxvYXQgeCk7Ci19Ozwvd2ViaWRsPgotICAgIDxPcGVyYXRpb24gbGVnYWN5Y2Fs
bGVyPSJsZWdhY3ljYWxsZXIiIG5hbWU9ImNvbXB1dGUiIGlkPSI6Ok51bWJlclF1YWRydXBsZXI6
OmNvbXB1dGUiPgotICAgICAgPHdlYmlkbD4gIGxlZ2FjeWNhbGxlciBmbG9hdCBjb21wdXRlKGZs
b2F0IHgpOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0iZmxvYXQiLz4KLSAgICAgIDxBcmd1
bWVudExpc3Q+Ci0gICAgICAgIDxBcmd1bWVudCBuYW1lPSJ4Ij4KLSAgICAgICAgICA8VHlwZSB0
eXBlPSJmbG9hdCIvPgotICAgICAgICA8L0FyZ3VtZW50PgotICAgICAgPC9Bcmd1bWVudExpc3Q+
Ci0gICAgPC9PcGVyYXRpb24+Ci0gIDwvSW50ZXJmYWNlPgotPC9EZWZpbml0aW9ucz4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9jb25zdGFudHMud2lkbHBy
b2N4bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvY29uc3RhbnRzLndpZGxw
cm9jeG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1MWNiNDMzMWY3NTRjMjNjNTQ3
ZGMxOTNhMWVmZDBlMjRmMmExODEyLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9jb25zdGFudHMu
d2lkbHByb2N4bWwKKysrIC9kZXYvbnVsbApAQCAtMSw4NSArMCwwIEBACi08P3htbCB2ZXJzaW9u
PSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgotPCFET0NUWVBFIERlZmluaXRpb25zIFNZU1RFTSAi
d2lkbHByb2N4bWwuZHRkIj4KLTxEZWZpbml0aW9ucz4KLSAgPHdlYmlkbD5pbnRlcmZhY2UgVXRp
bCB7Ci0gIGNvbnN0IGJvb2xlYW4gREVCVUcgPSBmYWxzZTsKLSAgY29uc3Qgc2hvcnQgbmVnYXRp
dmUgPSAtMTsKLSAgY29uc3Qgb2N0ZXQgTEYgPSAxMDsKLSAgY29uc3QgdW5zaWduZWQgbG9uZyBC
SVRfTUFTSyA9IDB4MDAwMGZjMDA7Ci0gIGNvbnN0IGZsb2F0IEFWT0dBRFJPID0gNi4wMjJlMjM7
Ci0gIGNvbnN0IHVucmVzdHJpY3RlZCBmbG9hdCBzb2JpZyA9IEluZmluaXR5OwotICBjb25zdCB1
bnJlc3RyaWN0ZWQgZG91YmxlIG1pbnVzb25lZGl2aWRlZGJ5emVybyA9IC1JbmZpbml0eTsKLSAg
Y29uc3Qgc2hvcnQgbm90YW51bWJlciA9IE5hTjsKLX07Ci0KLWV4Y2VwdGlvbiBFcnJvciB7Ci0g
IGNvbnN0IHNob3J0IEVSUl9VTktOT1dOID0gMDsKLSAgY29uc3Qgc2hvcnQgRVJSX09VVF9PRl9N
RU1PUlkgPSAxOwotCi0gIHNob3J0IGVycm9yQ29kZTsKLX07PC93ZWJpZGw+Ci0gIDxJbnRlcmZh
Y2UgbmFtZT0iVXRpbCIgaWQ9Ijo6VXRpbCI+Ci0gICAgPHdlYmlkbD5pbnRlcmZhY2UgVXRpbCB7
Ci0gIGNvbnN0IGJvb2xlYW4gREVCVUcgPSBmYWxzZTsKLSAgY29uc3Qgc2hvcnQgbmVnYXRpdmUg
PSAtMTsKLSAgY29uc3Qgb2N0ZXQgTEYgPSAxMDsKLSAgY29uc3QgdW5zaWduZWQgbG9uZyBCSVRf
TUFTSyA9IDB4MDAwMGZjMDA7Ci0gIGNvbnN0IGZsb2F0IEFWT0dBRFJPID0gNi4wMjJlMjM7Ci0g
IGNvbnN0IHVucmVzdHJpY3RlZCBmbG9hdCBzb2JpZyA9IEluZmluaXR5OwotICBjb25zdCB1bnJl
c3RyaWN0ZWQgZG91YmxlIG1pbnVzb25lZGl2aWRlZGJ5emVybyA9IC1JbmZpbml0eTsKLSAgY29u
c3Qgc2hvcnQgbm90YW51bWJlciA9IE5hTjsKLX07PC93ZWJpZGw+Ci0gICAgPENvbnN0IG5hbWU9
IkRFQlVHIiB2YWx1ZT0iZmFsc2UiIGlkPSI6OlV0aWw6OkRFQlVHIj4KLSAgICAgIDx3ZWJpZGw+
ICBjb25zdCBib29sZWFuIERFQlVHID0gZmFsc2U7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBl
PSJib29sZWFuIi8+Ci0gICAgPC9Db25zdD4KLSAgICA8Q29uc3QgbmFtZT0ibmVnYXRpdmUiIHZh
bHVlPSItMSIgaWQ9Ijo6VXRpbDo6bmVnYXRpdmUiPgotICAgICAgPHdlYmlkbD4gIGNvbnN0IHNo
b3J0IG5lZ2F0aXZlID0gLTE7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJzaG9ydCIvPgot
ICAgIDwvQ29uc3Q+Ci0gICAgPENvbnN0IG5hbWU9IkxGIiB2YWx1ZT0iMTAiIGlkPSI6OlV0aWw6
OkxGIj4KLSAgICAgIDx3ZWJpZGw+ICBjb25zdCBvY3RldCBMRiA9IDEwOzwvd2ViaWRsPgotICAg
ICAgPFR5cGUgdHlwZT0ib2N0ZXQiLz4KLSAgICA8L0NvbnN0PgotICAgIDxDb25zdCBuYW1lPSJC
SVRfTUFTSyIgdmFsdWU9IjB4MDAwMGZjMDAiIGlkPSI6OlV0aWw6OkJJVF9NQVNLIj4KLSAgICAg
IDx3ZWJpZGw+ICBjb25zdCB1bnNpZ25lZCBsb25nIEJJVF9NQVNLID0gMHgwMDAwZmMwMDs8L3dl
YmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9InVuc2lnbmVkIGxvbmciLz4KLSAgICA8L0NvbnN0Pgot
ICAgIDxDb25zdCBuYW1lPSJBVk9HQURSTyIgdmFsdWU9IjYuMDIyZTIzIiBpZD0iOjpVdGlsOjpB
Vk9HQURSTyI+Ci0gICAgICA8d2ViaWRsPiAgY29uc3QgZmxvYXQgQVZPR0FEUk8gPSA2LjAyMmUy
Mzs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9ImZsb2F0Ii8+Ci0gICAgPC9Db25zdD4KLSAg
ICA8Q29uc3QgbmFtZT0ic29iaWciIHZhbHVlPSJJbmZpbml0eSIgaWQ9Ijo6VXRpbDo6c29iaWci
PgotICAgICAgPHdlYmlkbD4gIGNvbnN0IHVucmVzdHJpY3RlZCBmbG9hdCBzb2JpZyA9IEluZmlu
aXR5Ozwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0idW5yZXN0cmljdGVkIGZsb2F0Ii8+Ci0g
ICAgPC9Db25zdD4KLSAgICA8Q29uc3QgbmFtZT0ibWludXNvbmVkaXZpZGVkYnl6ZXJvIiB2YWx1
ZT0iLUluZmluaXR5IiBpZD0iOjpVdGlsOjptaW51c29uZWRpdmlkZWRieXplcm8iPgotICAgICAg
PHdlYmlkbD4gIGNvbnN0IHVucmVzdHJpY3RlZCBkb3VibGUgbWludXNvbmVkaXZpZGVkYnl6ZXJv
ID0gLUluZmluaXR5Ozwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0idW5yZXN0cmljdGVkIGRv
dWJsZSIvPgotICAgIDwvQ29uc3Q+Ci0gICAgPENvbnN0IG5hbWU9Im5vdGFudW1iZXIiIHZhbHVl
PSJOYU4iIGlkPSI6OlV0aWw6Om5vdGFudW1iZXIiPgotICAgICAgPHdlYmlkbD4gIGNvbnN0IHNo
b3J0IG5vdGFudW1iZXIgPSBOYU47PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJzaG9ydCIv
PgotICAgIDwvQ29uc3Q+Ci0gIDwvSW50ZXJmYWNlPgotICA8RXhjZXB0aW9uIG5hbWU9IkVycm9y
IiBpZD0iOjpFcnJvciI+Ci0gICAgPHdlYmlkbD5leGNlcHRpb24gRXJyb3IgewotICBjb25zdCBz
aG9ydCBFUlJfVU5LTk9XTiA9IDA7Ci0gIGNvbnN0IHNob3J0IEVSUl9PVVRfT0ZfTUVNT1JZID0g
MTsKLQotICBzaG9ydCBlcnJvckNvZGU7Ci19Ozwvd2ViaWRsPgotICAgIDxDb25zdCBuYW1lPSJF
UlJfVU5LTk9XTiIgdmFsdWU9IjAiIGlkPSI6OkVycm9yOjpFUlJfVU5LTk9XTiI+Ci0gICAgICA8
d2ViaWRsPiAgY29uc3Qgc2hvcnQgRVJSX1VOS05PV04gPSAwOzwvd2ViaWRsPgotICAgICAgPFR5
cGUgdHlwZT0ic2hvcnQiLz4KLSAgICA8L0NvbnN0PgotICAgIDxDb25zdCBuYW1lPSJFUlJfT1VU
X09GX01FTU9SWSIgdmFsdWU9IjEiIGlkPSI6OkVycm9yOjpFUlJfT1VUX09GX01FTU9SWSI+Ci0g
ICAgICA8d2ViaWRsPiAgY29uc3Qgc2hvcnQgRVJSX09VVF9PRl9NRU1PUlkgPSAxOzwvd2ViaWRs
PgotICAgICAgPFR5cGUgdHlwZT0ic2hvcnQiLz4KLSAgICA8L0NvbnN0PgotICAgIDxFeGNlcHRp
b25GaWVsZCBuYW1lPSJlcnJvckNvZGUiIGlkPSI6OkVycm9yOjplcnJvckNvZGUiPgotICAgICAg
PHdlYmlkbD4gIHNob3J0IGVycm9yQ29kZTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9InNo
b3J0Ii8+Ci0gICAgPC9FeGNlcHRpb25GaWVsZD4KLSAgPC9FeGNlcHRpb24+Ci08L0RlZmluaXRp
b25zPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL2NvbnN0
cnVjdG9yLndpZGxwcm9jeG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL2Nv
bnN0cnVjdG9yLndpZGxwcm9jeG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4ZTc4
ZmJhYjM2NTlmMTRkN2U1OTExNDFiM2VlZWYwZThhMGUyN2U1Li4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlk
L3htbC9jb25zdHJ1Y3Rvci53aWRscHJvY3htbAorKysgL2Rldi9udWxsCkBAIC0xLDUxICswLDAg
QEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Ci08IURPQ1RZUEUgRGVm
aW5pdGlvbnMgU1lTVEVNICJ3aWRscHJvY3htbC5kdGQiPgotPERlZmluaXRpb25zPgotICA8d2Vi
aWRsPltDb25zdHJ1Y3RvciwKLSBDb25zdHJ1Y3RvcihmbG9hdCByYWRpdXMpXQotaW50ZXJmYWNl
IENpcmNsZSB7Ci0gIGF0dHJpYnV0ZSBmbG9hdCByOwotICBhdHRyaWJ1dGUgZmxvYXQgY3g7Ci0g
IGF0dHJpYnV0ZSBmbG9hdCBjeTsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIGZsb2F0IGNpcmN1bWZl
cmVuY2U7Ci19Ozwvd2ViaWRsPgotICA8SW50ZXJmYWNlIG5hbWU9IkNpcmNsZSIgaWQ9Ijo6Q2ly
Y2xlIj4KLSAgICA8d2ViaWRsPltDb25zdHJ1Y3RvciwKLSBDb25zdHJ1Y3RvcihmbG9hdCByYWRp
dXMpXQotaW50ZXJmYWNlIENpcmNsZSB7Ci0gIGF0dHJpYnV0ZSBmbG9hdCByOwotICBhdHRyaWJ1
dGUgZmxvYXQgY3g7Ci0gIGF0dHJpYnV0ZSBmbG9hdCBjeTsKLSAgcmVhZG9ubHkgYXR0cmlidXRl
IGZsb2F0IGNpcmN1bWZlcmVuY2U7Ci19Ozwvd2ViaWRsPgotICAgIDxFeHRlbmRlZEF0dHJpYnV0
ZUxpc3Q+Ci0gICAgICA8RXh0ZW5kZWRBdHRyaWJ1dGUgbmFtZT0iQ29uc3RydWN0b3IiPgotICAg
ICAgICA8d2ViaWRsPkNvbnN0cnVjdG9yPC93ZWJpZGw+Ci0gICAgICA8L0V4dGVuZGVkQXR0cmli
dXRlPgotICAgICAgPEV4dGVuZGVkQXR0cmlidXRlIG5hbWU9IkNvbnN0cnVjdG9yIj4KLSAgICAg
ICAgPHdlYmlkbD4gQ29uc3RydWN0b3IoZmxvYXQgcmFkaXVzKTwvd2ViaWRsPgotICAgICAgICA8
QXJndW1lbnRMaXN0PgotICAgICAgICAgIDxBcmd1bWVudCBuYW1lPSJyYWRpdXMiPgotICAgICAg
ICAgICAgPFR5cGUgdHlwZT0iZmxvYXQiLz4KLSAgICAgICAgICA8L0FyZ3VtZW50PgotICAgICAg
ICA8L0FyZ3VtZW50TGlzdD4KLSAgICAgIDwvRXh0ZW5kZWRBdHRyaWJ1dGU+Ci0gICAgPC9FeHRl
bmRlZEF0dHJpYnV0ZUxpc3Q+Ci0gICAgPEF0dHJpYnV0ZSBuYW1lPSJyIiBpZD0iOjpDaXJjbGU6
OnIiPgotICAgICAgPHdlYmlkbD4gIGF0dHJpYnV0ZSBmbG9hdCByOzwvd2ViaWRsPgotICAgICAg
PFR5cGUgdHlwZT0iZmxvYXQiLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAgICA8QXR0cmlidXRlIG5h
bWU9ImN4IiBpZD0iOjpDaXJjbGU6OmN4Ij4KLSAgICAgIDx3ZWJpZGw+ICBhdHRyaWJ1dGUgZmxv
YXQgY3g7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJmbG9hdCIvPgotICAgIDwvQXR0cmli
dXRlPgotICAgIDxBdHRyaWJ1dGUgbmFtZT0iY3kiIGlkPSI6OkNpcmNsZTo6Y3kiPgotICAgICAg
PHdlYmlkbD4gIGF0dHJpYnV0ZSBmbG9hdCBjeTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9
ImZsb2F0Ii8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gICAgPEF0dHJpYnV0ZSByZWFkb25seT0icmVh
ZG9ubHkiIG5hbWU9ImNpcmN1bWZlcmVuY2UiIGlkPSI6OkNpcmNsZTo6Y2lyY3VtZmVyZW5jZSI+
Ci0gICAgICA8d2ViaWRsPiAgcmVhZG9ubHkgYXR0cmlidXRlIGZsb2F0IGNpcmN1bWZlcmVuY2U7
PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJmbG9hdCIvPgotICAgIDwvQXR0cmlidXRlPgot
ICA8L0ludGVyZmFjZT4KLTwvRGVmaW5pdGlvbnM+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lk
bHByb2MvdGVzdC92YWxpZC94bWwvZGljdGlvbmFyeS1pbmhlcml0cy53aWRscHJvY3htbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9kaWN0aW9uYXJ5LWluaGVyaXRzLndpZGxw
cm9jeG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyNjlhODNjZDg0OWIzYTM1ZmMy
OGExYTMxYWNjYjU3MzQxMTYyZDIxLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9kaWN0aW9uYXJ5
LWluaGVyaXRzLndpZGxwcm9jeG1sCisrKyAvZGV2L251bGwKQEAgLTEsNDQgKzAsMCBAQAotPD94
bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KLTwhRE9DVFlQRSBEZWZpbml0aW9u
cyBTWVNURU0gIndpZGxwcm9jeG1sLmR0ZCI+Ci08RGVmaW5pdGlvbnM+Ci0gIDx3ZWJpZGw+ZGlj
dGlvbmFyeSBQYWludE9wdGlvbnMgewotICBET01TdHJpbmc/IGZpbGxQYXR0ZXJuID0gJnF1b3Q7
YmxhY2smcXVvdDs7Ci0gIERPTVN0cmluZz8gc3Ryb2tlUGF0dGVybiA9IG51bGw7Ci0gIDxyZWY+
UG9pbnQ8L3JlZj4gcG9zaXRpb247Ci19OwotCi1kaWN0aW9uYXJ5IFdldFBhaW50T3B0aW9ucyA6
IDxyZWY+UGFpbnRPcHRpb25zPC9yZWY+IHsKLSAgZmxvYXQgaHlkcm9tZXRyeTsKLX07PC93ZWJp
ZGw+Ci0gIDxEaWN0aW9uYXJ5IG5hbWU9IlBhaW50T3B0aW9ucyIgaWQ9Ijo6UGFpbnRPcHRpb25z
Ij4KLSAgICA8d2ViaWRsPmRpY3Rpb25hcnkgUGFpbnRPcHRpb25zIHsKLSAgRE9NU3RyaW5nPyBm
aWxsUGF0dGVybiA9ICZxdW90O2JsYWNrJnF1b3Q7OwotICBET01TdHJpbmc/IHN0cm9rZVBhdHRl
cm4gPSBudWxsOwotICA8cmVmPlBvaW50PC9yZWY+IHBvc2l0aW9uOwotfTs8L3dlYmlkbD4KLSAg
ICA8RGljdGlvbmFyeU1lbWJlciBuYW1lPSJmaWxsUGF0dGVybiIgc3RyaW5ndmFsdWU9ImJsYWNr
IiBpZD0iOjpQYWludE9wdGlvbnM6OmZpbGxQYXR0ZXJuIj4KLSAgICAgIDx3ZWJpZGw+ICBET01T
dHJpbmc/IGZpbGxQYXR0ZXJuID0gJnF1b3Q7YmxhY2smcXVvdDs7PC93ZWJpZGw+Ci0gICAgICA8
VHlwZSB0eXBlPSJET01TdHJpbmciIG51bGxhYmxlPSJudWxsYWJsZSIvPgotICAgIDwvRGljdGlv
bmFyeU1lbWJlcj4KLSAgICA8RGljdGlvbmFyeU1lbWJlciBuYW1lPSJzdHJva2VQYXR0ZXJuIiB2
YWx1ZT0ibnVsbCIgaWQ9Ijo6UGFpbnRPcHRpb25zOjpzdHJva2VQYXR0ZXJuIj4KLSAgICAgIDx3
ZWJpZGw+ICBET01TdHJpbmc/IHN0cm9rZVBhdHRlcm4gPSBudWxsOzwvd2ViaWRsPgotICAgICAg
PFR5cGUgdHlwZT0iRE9NU3RyaW5nIiBudWxsYWJsZT0ibnVsbGFibGUiLz4KLSAgICA8L0RpY3Rp
b25hcnlNZW1iZXI+Ci0gICAgPERpY3Rpb25hcnlNZW1iZXIgbmFtZT0icG9zaXRpb24iIGlkPSI6
OlBhaW50T3B0aW9uczo6cG9zaXRpb24iPgotICAgICAgPHdlYmlkbD4gIDxyZWY+UG9pbnQ8L3Jl
Zj4gcG9zaXRpb247PC93ZWJpZGw+Ci0gICAgICA8VHlwZSBuYW1lPSJQb2ludCIvPgotICAgIDwv
RGljdGlvbmFyeU1lbWJlcj4KLSAgPC9EaWN0aW9uYXJ5PgotICA8RGljdGlvbmFyeSBuYW1lPSJX
ZXRQYWludE9wdGlvbnMiIGlkPSI6OldldFBhaW50T3B0aW9ucyI+Ci0gICAgPHdlYmlkbD5kaWN0
aW9uYXJ5IFdldFBhaW50T3B0aW9ucyA6IDxyZWY+UGFpbnRPcHRpb25zPC9yZWY+IHsKLSAgZmxv
YXQgaHlkcm9tZXRyeTsKLX07PC93ZWJpZGw+Ci0gICAgPERpY3Rpb25hcnlJbmhlcml0YW5jZT4K
LSAgICAgIDxOYW1lIG5hbWU9IlBhaW50T3B0aW9ucyIvPgotICAgIDwvRGljdGlvbmFyeUluaGVy
aXRhbmNlPgotICAgIDxEaWN0aW9uYXJ5TWVtYmVyIG5hbWU9Imh5ZHJvbWV0cnkiIGlkPSI6Oldl
dFBhaW50T3B0aW9uczo6aHlkcm9tZXRyeSI+Ci0gICAgICA8d2ViaWRsPiAgZmxvYXQgaHlkcm9t
ZXRyeTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9ImZsb2F0Ii8+Ci0gICAgPC9EaWN0aW9u
YXJ5TWVtYmVyPgotICA8L0RpY3Rpb25hcnk+Ci08L0RlZmluaXRpb25zPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL2RpY3Rpb25hcnkud2lkbHByb2N4bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvZGljdGlvbmFyeS53aWRscHJvY3ht
bApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTc4Y2NiNGUyNzFmYTA4YmE3NjFjODE2
MDE5MGFjYTdiZjI4ZTkwYS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvZGljdGlvbmFyeS53aWRs
cHJvY3htbAorKysgL2Rldi9udWxsCkBAIC0xLDQ3ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEu
MCIgZW5jb2Rpbmc9IlVURi04Ij8+Ci08IURPQ1RZUEUgRGVmaW5pdGlvbnMgU1lTVEVNICJ3aWRs
cHJvY3htbC5kdGQiPgotPERlZmluaXRpb25zPgotICA8d2ViaWRsPmRpY3Rpb25hcnkgUGFpbnRP
cHRpb25zIHsKLSAgRE9NU3RyaW5nPyBmaWxsUGF0dGVybiA9ICZxdW90O2JsYWNrJnF1b3Q7Owot
ICBET01TdHJpbmc/IHN0cm9rZVBhdHRlcm4gPSBudWxsOwotICA8cmVmPlBvaW50PC9yZWY+IHBv
c2l0aW9uOwotfTsKLQotcGFydGlhbCBkaWN0aW9uYXJ5IEEgewotICBsb25nIGg7Ci0gIGxvbmcg
ZDsKLX07PC93ZWJpZGw+Ci0gIDxEaWN0aW9uYXJ5IG5hbWU9IlBhaW50T3B0aW9ucyIgaWQ9Ijo6
UGFpbnRPcHRpb25zIj4KLSAgICA8d2ViaWRsPmRpY3Rpb25hcnkgUGFpbnRPcHRpb25zIHsKLSAg
RE9NU3RyaW5nPyBmaWxsUGF0dGVybiA9ICZxdW90O2JsYWNrJnF1b3Q7OwotICBET01TdHJpbmc/
IHN0cm9rZVBhdHRlcm4gPSBudWxsOwotICA8cmVmPlBvaW50PC9yZWY+IHBvc2l0aW9uOwotfTs8
L3dlYmlkbD4KLSAgICA8RGljdGlvbmFyeU1lbWJlciBuYW1lPSJmaWxsUGF0dGVybiIgc3RyaW5n
dmFsdWU9ImJsYWNrIiBpZD0iOjpQYWludE9wdGlvbnM6OmZpbGxQYXR0ZXJuIj4KLSAgICAgIDx3
ZWJpZGw+ICBET01TdHJpbmc/IGZpbGxQYXR0ZXJuID0gJnF1b3Q7YmxhY2smcXVvdDs7PC93ZWJp
ZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJET01TdHJpbmciIG51bGxhYmxlPSJudWxsYWJsZSIvPgot
ICAgIDwvRGljdGlvbmFyeU1lbWJlcj4KLSAgICA8RGljdGlvbmFyeU1lbWJlciBuYW1lPSJzdHJv
a2VQYXR0ZXJuIiB2YWx1ZT0ibnVsbCIgaWQ9Ijo6UGFpbnRPcHRpb25zOjpzdHJva2VQYXR0ZXJu
Ij4KLSAgICAgIDx3ZWJpZGw+ICBET01TdHJpbmc/IHN0cm9rZVBhdHRlcm4gPSBudWxsOzwvd2Vi
aWRsPgotICAgICAgPFR5cGUgdHlwZT0iRE9NU3RyaW5nIiBudWxsYWJsZT0ibnVsbGFibGUiLz4K
LSAgICA8L0RpY3Rpb25hcnlNZW1iZXI+Ci0gICAgPERpY3Rpb25hcnlNZW1iZXIgbmFtZT0icG9z
aXRpb24iIGlkPSI6OlBhaW50T3B0aW9uczo6cG9zaXRpb24iPgotICAgICAgPHdlYmlkbD4gIDxy
ZWY+UG9pbnQ8L3JlZj4gcG9zaXRpb247PC93ZWJpZGw+Ci0gICAgICA8VHlwZSBuYW1lPSJQb2lu
dCIvPgotICAgIDwvRGljdGlvbmFyeU1lbWJlcj4KLSAgPC9EaWN0aW9uYXJ5PgotICA8RGljdGlv
bmFyeSBuYW1lPSJBIiBwYXJ0aWFsPSJwYXJ0aWFsIiBpZD0iOjpBIj4KLSAgICA8d2ViaWRsPnBh
cnRpYWwgZGljdGlvbmFyeSBBIHsKLSAgbG9uZyBoOwotICBsb25nIGQ7Ci19Ozwvd2ViaWRsPgot
ICAgIDxEaWN0aW9uYXJ5TWVtYmVyIG5hbWU9ImgiIGlkPSI6OkE6OmgiPgotICAgICAgPHdlYmlk
bD4gIGxvbmcgaDs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9ImxvbmciLz4KLSAgICA8L0Rp
Y3Rpb25hcnlNZW1iZXI+Ci0gICAgPERpY3Rpb25hcnlNZW1iZXIgbmFtZT0iZCIgaWQ9Ijo6QTo6
ZCI+Ci0gICAgICA8d2ViaWRsPiAgbG9uZyBkOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0i
bG9uZyIvPgotICAgIDwvRGljdGlvbmFyeU1lbWJlcj4KLSAgPC9EaWN0aW9uYXJ5PgotPC9EZWZp
bml0aW9ucz4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9k
b2N1bWVudGF0aW9uLWRvcy53aWRscHJvY3htbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3Zh
bGlkL3htbC9kb2N1bWVudGF0aW9uLWRvcy53aWRscHJvY3htbApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMTYxMWYwZTU3NmEwMzhhZTc3NzYxYmYxOGI4N2YyY2NmYzM2NWFlZi4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lk
bHByb2MvdGVzdC92YWxpZC94bWwvZG9jdW1lbnRhdGlvbi1kb3Mud2lkbHByb2N4bWwKKysrIC9k
ZXYvbnVsbApAQCAtMSw1OSArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJV
VEYtOCI/PgotPCFET0NUWVBFIERlZmluaXRpb25zIFNZU1RFTSAid2lkbHByb2N4bWwuZHRkIj4K
LTxEZWZpbml0aW9ucz4KLSAgPHdlYmlkbD5pbnRlcmZhY2UgRG9jdW1lbnRhdGlvbiB7fTs8L3dl
YmlkbD4KLSAgPEludGVyZmFjZSBuYW1lPSJEb2N1bWVudGF0aW9uIiBpZD0iOjpEb2N1bWVudGF0
aW9uIj4KLSAgICA8d2ViaWRsPmludGVyZmFjZSBEb2N1bWVudGF0aW9uIHt9Ozwvd2ViaWRsPgot
ICAgIDxkZXNjcmlwdGl2ZT4KLSAgICAgICAgPGJyaWVmPgotIFRlc3RpbmcgZG9jdW1lbnRhdGlv
biBmZWF0dXJlcwotICAgICAgICA8L2JyaWVmPgotICAgICAgIDxkZXNjcmlwdGlvbj4KLSAgICAg
ICAgPHA+Ci1UaGlzIGlzIGEKLXNpbmdsZSBwYXJhZ3JhcGgKLSAgICAgICAgPC9wPgotICAgICAg
ICA8cD4KLVRoaXMgaXMgdmFsaWQuICAgICAgICA8L3A+Ci0gICAgICAgIDxwPgotVGhpcyBpcyA8
ZW0+dmFsaWQ8L2VtPi4gICAgICAgIDwvcD4KLSAgICAgICAgPHA+Ci1UaGlzIGlzIDxiPnZhbGlk
PC9iPi4gICAgICAgIDwvcD4KLSAgICAgICAgPHA+Ci1UaGlzIGlzIDxhIGhyZWY9Jyc+dmFsaWQ8
L2E+LiAgICAgICAgPC9wPgotICAgICAgICA8dWw+Ci0gICAgICAgICAgPGxpPgotVGhpcyAgICAg
ICAgICA8L2xpPgotICAgICAgICAgIDxsaT4KLWlzICAgICAgICAgIDwvbGk+Ci0gICAgICAgICAg
PGxpPgotdmFsaWQgICAgICAgICAgPC9saT4KLSAgICAgICAgPC91bD4KLSAgICAgICAgPGRsPgot
ICAgICAgICAgIDxkdD4KLVRoaXMgICAgICAgICAgPC9kdD4KLSAgICAgICAgICA8ZGQ+Ci12YWxp
ZCAgICAgICAgICA8L2RkPgotICAgICAgICA8L2RsPgotICAgICAgICA8dGFibGU+Ci0gICAgICAg
ICAgPHRyPgotICAgICAgICAgICAgPHRkPgotdGhpcyAgICAgICAgICAgIDwvdGQ+Ci0gICAgICAg
ICAgICA8dGQ+Ci1pcyAgICAgICAgICAgIDwvdGQ+Ci0gICAgICAgICAgPC90cj4KLSAgICAgICAg
ICA8dHI+Ci0gICAgICAgICAgICA8dGQ+Ci12YWxpZCAgICAgICAgICAgIDwvdGQ+Ci0gICAgICAg
ICAgPC90cj4KLSAgICAgICAgPC90YWJsZT4KLSAgICAgICAgPHA+Ci1UaGlzIGlzIDxici8+IHZh
bGlkLiAgICAgICAgPC9wPgotICAgICAgICA8cD4KLVRoaXMgaXMgPGJyIC8+IHZhbGlkLiAgICAg
ICAgPC9wPgotICAgICAgICA8cD4KLVRoaXMgaXMgPGJyLz4gdmFsaWQuICAgICAgICA8L3A+Ci0g
ICAgICAgPC9kZXNjcmlwdGlvbj4KLSAgICA8L2Rlc2NyaXB0aXZlPgotICA8L0ludGVyZmFjZT4K
LTwvRGVmaW5pdGlvbnM+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxp
ZC94bWwvZG9jdW1lbnRhdGlvbi53aWRscHJvY3htbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0
L3ZhbGlkL3htbC9kb2N1bWVudGF0aW9uLndpZGxwcm9jeG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCBhZmU0NTI3YzIyMTEyOTIyNWRjMzIzYmE1N2Y0OGU3NjBlZDNhM2Q5Li4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRs
cHJvYy90ZXN0L3ZhbGlkL3htbC9kb2N1bWVudGF0aW9uLndpZGxwcm9jeG1sCisrKyAvZGV2L251
bGwKQEAgLTEsNjEgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgi
Pz4KLTwhRE9DVFlQRSBEZWZpbml0aW9ucyBTWVNURU0gIndpZGxwcm9jeG1sLmR0ZCI+Ci08RGVm
aW5pdGlvbnM+Ci0gIDx3ZWJpZGw+aW50ZXJmYWNlIERvY3VtZW50YXRpb24ge307PC93ZWJpZGw+
Ci0gIDxJbnRlcmZhY2UgbmFtZT0iRG9jdW1lbnRhdGlvbiIgaWQ9Ijo6RG9jdW1lbnRhdGlvbiI+
Ci0gICAgPHdlYmlkbD5pbnRlcmZhY2UgRG9jdW1lbnRhdGlvbiB7fTs8L3dlYmlkbD4KLSAgICA8
ZGVzY3JpcHRpdmU+Ci0gICAgICAgIDxicmllZj4KLSBUZXN0aW5nIGRvY3VtZW50YXRpb24gZmVh
dHVyZXMKLSAgICAgICAgPC9icmllZj4KLSAgICAgICA8ZGVzY3JpcHRpb24+Ci0gICAgICAgIDxw
PgotVGhpcyBpcyBhCi1zaW5nbGUgcGFyYWdyYXBoCi0gICAgICAgIDwvcD4KLSAgICAgICAgPHA+
Ci1UaGlzIGlzIHZhbGlkLiAgICAgICAgPC9wPgotICAgICAgICA8cD4KLVRoaXMgaXMgPGVtPnZh
bGlkPC9lbT4uICAgICAgICA8L3A+Ci0gICAgICAgIDxwPgotVGhpcyBpcyA8Yj52YWxpZDwvYj4u
ICAgICAgICA8L3A+Ci0gICAgICAgIDxwPgotVGhpcyBpcyA8YSBocmVmPScnPnZhbGlkPC9hPi4g
ICAgICAgIDwvcD4KLSAgICAgICAgPHVsPgotICAgICAgICAgIDxsaT4KLVRoaXMgICAgICAgICAg
PC9saT4KLSAgICAgICAgICA8bGk+Ci1pcyAgICAgICAgICA8L2xpPgotICAgICAgICAgIDxsaT4K
LXZhbGlkICAgICAgICAgIDwvbGk+Ci0gICAgICAgIDwvdWw+Ci0gICAgICAgIDxkbD4KLSAgICAg
ICAgICA8ZHQ+Ci1UaGlzICAgICAgICAgIDwvZHQ+Ci0gICAgICAgICAgPGRkPgotdmFsaWQgICAg
ICAgICAgPC9kZD4KLSAgICAgICAgPC9kbD4KLSAgICAgICAgPHRhYmxlPgotICAgICAgICAgIDx0
cj4KLSAgICAgICAgICAgIDx0ZD4KLXRoaXMgICAgICAgICAgICA8L3RkPgotICAgICAgICAgICAg
PHRkPgotaXMgICAgICAgICAgICA8L3RkPgotICAgICAgICAgIDwvdHI+Ci0gICAgICAgICAgPHRy
PgotICAgICAgICAgICAgPHRkPgotdmFsaWQgICAgICAgICAgICA8L3RkPgotICAgICAgICAgIDwv
dHI+Ci0gICAgICAgIDwvdGFibGU+Ci0gICAgICAgIDxwPgotVGhpcyBpcyA8YnIvPiB2YWxpZC4g
ICAgICAgIDwvcD4KLSAgICAgICAgPHA+Ci1UaGlzIGlzIDxiciAvPiB2YWxpZC4gICAgICAgIDwv
cD4KLSAgICAgICAgPHA+Ci1UaGlzIGlzIDxici8+IHZhbGlkLiAgICAgICAgPC9wPgotICAgICAg
ICA8cD4KLTxpbWcgc3JjPSJmb28ucG5nIiBhbHQ9IlZhbGlkIi8+ICAgICAgICA8L3A+Ci0gICAg
ICAgPC9kZXNjcmlwdGlvbj4KLSAgICA8L2Rlc2NyaXB0aXZlPgotICA8L0ludGVyZmFjZT4KLTwv
RGVmaW5pdGlvbnM+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94
bWwvZW51bS53aWRscHJvY3htbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9l
bnVtLndpZGxwcm9jeG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlMWU4MjU4ZmJk
MDYxNmZiZDE3NzU2Zjg0NWJhMTEyOWY0MDVhMWEwLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9l
bnVtLndpZGxwcm9jeG1sCisrKyAvZGV2L251bGwKQEAgLTEsNTIgKzAsMCBAQAotPD94bWwgdmVy
c2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KLTwhRE9DVFlQRSBEZWZpbml0aW9ucyBTWVNU
RU0gIndpZGxwcm9jeG1sLmR0ZCI+Ci08RGVmaW5pdGlvbnM+Ci0gIDx3ZWJpZGw+ZW51bSBNZWFs
VHlwZSB7ICZxdW90O3JpY2UmcXVvdDssICZxdW90O25vb2RsZXMmcXVvdDssICZxdW90O290aGVy
JnF1b3Q7IH07Ci0KLWludGVyZmFjZSBNZWFsIHsKLSAgYXR0cmlidXRlIDxyZWY+TWVhbFR5cGU8
L3JlZj4gdHlwZTsKLSAgYXR0cmlidXRlIGZsb2F0IHNpemU7ICAgICAKLQotICB2b2lkIGluaXRp
YWxpemUoPHJlZj5NZWFsVHlwZTwvcmVmPiB0eXBlLCBmbG9hdCBzaXplKTsKLX07PC93ZWJpZGw+
Ci0gIDxFbnVtIG5hbWU9Ik1lYWxUeXBlIiBpZD0iOjpNZWFsVHlwZSI+Ci0gICAgPHdlYmlkbD5l
bnVtIE1lYWxUeXBlIHsgJnF1b3Q7cmljZSZxdW90OywgJnF1b3Q7bm9vZGxlcyZxdW90OywgJnF1
b3Q7b3RoZXImcXVvdDsgfTs8L3dlYmlkbD4KLSAgICA8RW51bVZhbHVlIHN0cmluZ3ZhbHVlPSJy
aWNlIj4KLSAgICAgIDx3ZWJpZGw+ICZxdW90O3JpY2U8L3dlYmlkbD4KLSAgICA8L0VudW1WYWx1
ZT4KLSAgICA8RW51bVZhbHVlIHN0cmluZ3ZhbHVlPSJub29kbGVzIj4KLSAgICAgIDx3ZWJpZGw+
ICZxdW90O25vb2RsZXM8L3dlYmlkbD4KLSAgICA8L0VudW1WYWx1ZT4KLSAgICA8RW51bVZhbHVl
IHN0cmluZ3ZhbHVlPSJvdGhlciI+Ci0gICAgICA8d2ViaWRsPiAmcXVvdDtvdGhlcjwvd2ViaWRs
PgotICAgIDwvRW51bVZhbHVlPgotICA8L0VudW0+Ci0gIDxJbnRlcmZhY2UgbmFtZT0iTWVhbCIg
aWQ9Ijo6TWVhbCI+Ci0gICAgPHdlYmlkbD5pbnRlcmZhY2UgTWVhbCB7Ci0gIGF0dHJpYnV0ZSA8
cmVmPk1lYWxUeXBlPC9yZWY+IHR5cGU7Ci0gIGF0dHJpYnV0ZSBmbG9hdCBzaXplOyAgICAgCi0K
LSAgdm9pZCBpbml0aWFsaXplKDxyZWY+TWVhbFR5cGU8L3JlZj4gdHlwZSwgZmxvYXQgc2l6ZSk7
Ci19Ozwvd2ViaWRsPgotICAgIDxBdHRyaWJ1dGUgbmFtZT0idHlwZSIgaWQ9Ijo6TWVhbDo6dHlw
ZSI+Ci0gICAgICA8d2ViaWRsPiAgYXR0cmlidXRlIDxyZWY+TWVhbFR5cGU8L3JlZj4gdHlwZTs8
L3dlYmlkbD4KLSAgICAgIDxUeXBlIG5hbWU9Ik1lYWxUeXBlIi8+Ci0gICAgPC9BdHRyaWJ1dGU+
Ci0gICAgPEF0dHJpYnV0ZSBuYW1lPSJzaXplIiBpZD0iOjpNZWFsOjpzaXplIj4KLSAgICAgIDx3
ZWJpZGw+ICBhdHRyaWJ1dGUgZmxvYXQgc2l6ZTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9
ImZsb2F0Ii8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gICAgPE9wZXJhdGlvbiBuYW1lPSJpbml0aWFs
aXplIiBpZD0iOjpNZWFsOjppbml0aWFsaXplIj4KLSAgICAgIDx3ZWJpZGw+ICB2b2lkIGluaXRp
YWxpemUoPHJlZj5NZWFsVHlwZTwvcmVmPiB0eXBlLCBmbG9hdCBzaXplKTs8L3dlYmlkbD4KLSAg
ICAgIDxUeXBlIHR5cGU9InZvaWQiLz4KLSAgICAgIDxBcmd1bWVudExpc3Q+Ci0gICAgICAgIDxB
cmd1bWVudCBuYW1lPSJ0eXBlIj4KLSAgICAgICAgICA8VHlwZSBuYW1lPSJNZWFsVHlwZSIvPgot
ICAgICAgICA8L0FyZ3VtZW50PgotICAgICAgICA8QXJndW1lbnQgbmFtZT0ic2l6ZSI+Ci0gICAg
ICAgICAgPFR5cGUgdHlwZT0iZmxvYXQiLz4KLSAgICAgICAgPC9Bcmd1bWVudD4KLSAgICAgIDwv
QXJndW1lbnRMaXN0PgotICAgIDwvT3BlcmF0aW9uPgotICA8L0ludGVyZmFjZT4KLTwvRGVmaW5p
dGlvbnM+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvZXF1
aXZhbGVudC1kZWNsLndpZGxwcm9jeG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQv
eG1sL2VxdWl2YWxlbnQtZGVjbC53aWRscHJvY3htbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggYzMyMmQwYTVlMjIzMzBkYWQ1YzhkNWFkZWVkYzEwYzVlNmY3Zjg1Zi4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mv
dGVzdC92YWxpZC94bWwvZXF1aXZhbGVudC1kZWNsLndpZGxwcm9jeG1sCisrKyAvZGV2L251bGwK
QEAgLTEsMTExICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+
Ci08IURPQ1RZUEUgRGVmaW5pdGlvbnMgU1lTVEVNICJ3aWRscHJvY3htbC5kdGQiPgotPERlZmlu
aXRpb25zPgotICA8d2ViaWRsPmludGVyZmFjZSBEaWN0aW9uYXJ5IHsKLSAgcmVhZG9ubHkgYXR0
cmlidXRlIHVuc2lnbmVkIGxvbmcgcHJvcGVydHlDb3VudDsKLQotICBnZXR0ZXIgZmxvYXQgZ2V0
UHJvcGVydHkoRE9NU3RyaW5nIHByb3BlcnR5TmFtZSk7Ci0gIHNldHRlciB2b2lkIHNldFByb3Bl
cnR5KERPTVN0cmluZyBwcm9wZXJ0eU5hbWUsIGZsb2F0IHByb3BlcnR5VmFsdWUpOwotfTsKLQot
Ci1pbnRlcmZhY2UgRGljdGlvbmFyeSB7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBs
b25nIHByb3BlcnR5Q291bnQ7Ci0KLSAgZmxvYXQgZ2V0UHJvcGVydHkoRE9NU3RyaW5nIHByb3Bl
cnR5TmFtZSk7Ci0gIHZvaWQgc2V0UHJvcGVydHkoRE9NU3RyaW5nIHByb3BlcnR5TmFtZSwgZmxv
YXQgcHJvcGVydHlWYWx1ZSk7Ci0KLSAgZ2V0dGVyIGZsb2F0IChET01TdHJpbmcgcHJvcGVydHlO
YW1lKTsKLSAgc2V0dGVyIHZvaWQgKERPTVN0cmluZyBwcm9wZXJ0eU5hbWUsIGZsb2F0IHByb3Bl
cnR5VmFsdWUpOwotfTs8L3dlYmlkbD4KLSAgPEludGVyZmFjZSBuYW1lPSJEaWN0aW9uYXJ5IiBp
ZD0iOjpEaWN0aW9uYXJ5Ij4KLSAgICA8d2ViaWRsPmludGVyZmFjZSBEaWN0aW9uYXJ5IHsKLSAg
cmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgcHJvcGVydHlDb3VudDsKLQotICBnZXR0
ZXIgZmxvYXQgZ2V0UHJvcGVydHkoRE9NU3RyaW5nIHByb3BlcnR5TmFtZSk7Ci0gIHNldHRlciB2
b2lkIHNldFByb3BlcnR5KERPTVN0cmluZyBwcm9wZXJ0eU5hbWUsIGZsb2F0IHByb3BlcnR5VmFs
dWUpOwotfTs8L3dlYmlkbD4KLSAgICA8QXR0cmlidXRlIHJlYWRvbmx5PSJyZWFkb25seSIgbmFt
ZT0icHJvcGVydHlDb3VudCIgaWQ9Ijo6RGljdGlvbmFyeTo6cHJvcGVydHlDb3VudCI+Ci0gICAg
ICA8d2ViaWRsPiAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgcHJvcGVydHlDb3Vu
dDs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9InVuc2lnbmVkIGxvbmciLz4KLSAgICA8L0F0
dHJpYnV0ZT4KLSAgICA8T3BlcmF0aW9uIGdldHRlcj0iZ2V0dGVyIiBuYW1lPSJnZXRQcm9wZXJ0
eSIgaWQ9Ijo6RGljdGlvbmFyeTo6Z2V0UHJvcGVydHkiPgotICAgICAgPHdlYmlkbD4gIGdldHRl
ciBmbG9hdCBnZXRQcm9wZXJ0eShET01TdHJpbmcgcHJvcGVydHlOYW1lKTs8L3dlYmlkbD4KLSAg
ICAgIDxUeXBlIHR5cGU9ImZsb2F0Ii8+Ci0gICAgICA8QXJndW1lbnRMaXN0PgotICAgICAgICA8
QXJndW1lbnQgbmFtZT0icHJvcGVydHlOYW1lIj4KLSAgICAgICAgICA8VHlwZSB0eXBlPSJET01T
dHJpbmciLz4KLSAgICAgICAgPC9Bcmd1bWVudD4KLSAgICAgIDwvQXJndW1lbnRMaXN0PgotICAg
IDwvT3BlcmF0aW9uPgotICAgIDxPcGVyYXRpb24gc2V0dGVyPSJzZXR0ZXIiIG5hbWU9InNldFBy
b3BlcnR5IiBpZD0iOjpEaWN0aW9uYXJ5OjpzZXRQcm9wZXJ0eSI+Ci0gICAgICA8d2ViaWRsPiAg
c2V0dGVyIHZvaWQgc2V0UHJvcGVydHkoRE9NU3RyaW5nIHByb3BlcnR5TmFtZSwgZmxvYXQgcHJv
cGVydHlWYWx1ZSk7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJ2b2lkIi8+Ci0gICAgICA8
QXJndW1lbnRMaXN0PgotICAgICAgICA8QXJndW1lbnQgbmFtZT0icHJvcGVydHlOYW1lIj4KLSAg
ICAgICAgICA8VHlwZSB0eXBlPSJET01TdHJpbmciLz4KLSAgICAgICAgPC9Bcmd1bWVudD4KLSAg
ICAgICAgPEFyZ3VtZW50IG5hbWU9InByb3BlcnR5VmFsdWUiPgotICAgICAgICAgIDxUeXBlIHR5
cGU9ImZsb2F0Ii8+Ci0gICAgICAgIDwvQXJndW1lbnQ+Ci0gICAgICA8L0FyZ3VtZW50TGlzdD4K
LSAgICA8L09wZXJhdGlvbj4KLSAgPC9JbnRlcmZhY2U+Ci0gIDxJbnRlcmZhY2UgbmFtZT0iRGlj
dGlvbmFyeSIgaWQ9Ijo6RGljdGlvbmFyeSI+Ci0gICAgPHdlYmlkbD5pbnRlcmZhY2UgRGljdGlv
bmFyeSB7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIHByb3BlcnR5Q291bnQ7
Ci0KLSAgZmxvYXQgZ2V0UHJvcGVydHkoRE9NU3RyaW5nIHByb3BlcnR5TmFtZSk7Ci0gIHZvaWQg
c2V0UHJvcGVydHkoRE9NU3RyaW5nIHByb3BlcnR5TmFtZSwgZmxvYXQgcHJvcGVydHlWYWx1ZSk7
Ci0KLSAgZ2V0dGVyIGZsb2F0IChET01TdHJpbmcgcHJvcGVydHlOYW1lKTsKLSAgc2V0dGVyIHZv
aWQgKERPTVN0cmluZyBwcm9wZXJ0eU5hbWUsIGZsb2F0IHByb3BlcnR5VmFsdWUpOwotfTs8L3dl
YmlkbD4KLSAgICA8QXR0cmlidXRlIHJlYWRvbmx5PSJyZWFkb25seSIgbmFtZT0icHJvcGVydHlD
b3VudCIgaWQ9Ijo6RGljdGlvbmFyeTo6cHJvcGVydHlDb3VudCI+Ci0gICAgICA8d2ViaWRsPiAg
cmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgcHJvcGVydHlDb3VudDs8L3dlYmlkbD4K
LSAgICAgIDxUeXBlIHR5cGU9InVuc2lnbmVkIGxvbmciLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAg
ICA8T3BlcmF0aW9uIG5hbWU9ImdldFByb3BlcnR5IiBpZD0iOjpEaWN0aW9uYXJ5OjpnZXRQcm9w
ZXJ0eSI+Ci0gICAgICA8d2ViaWRsPiAgZmxvYXQgZ2V0UHJvcGVydHkoRE9NU3RyaW5nIHByb3Bl
cnR5TmFtZSk7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJmbG9hdCIvPgotICAgICAgPEFy
Z3VtZW50TGlzdD4KLSAgICAgICAgPEFyZ3VtZW50IG5hbWU9InByb3BlcnR5TmFtZSI+Ci0gICAg
ICAgICAgPFR5cGUgdHlwZT0iRE9NU3RyaW5nIi8+Ci0gICAgICAgIDwvQXJndW1lbnQ+Ci0gICAg
ICA8L0FyZ3VtZW50TGlzdD4KLSAgICA8L09wZXJhdGlvbj4KLSAgICA8T3BlcmF0aW9uIG5hbWU9
InNldFByb3BlcnR5IiBpZD0iOjpEaWN0aW9uYXJ5OjpzZXRQcm9wZXJ0eSI+Ci0gICAgICA8d2Vi
aWRsPiAgdm9pZCBzZXRQcm9wZXJ0eShET01TdHJpbmcgcHJvcGVydHlOYW1lLCBmbG9hdCBwcm9w
ZXJ0eVZhbHVlKTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9InZvaWQiLz4KLSAgICAgIDxB
cmd1bWVudExpc3Q+Ci0gICAgICAgIDxBcmd1bWVudCBuYW1lPSJwcm9wZXJ0eU5hbWUiPgotICAg
ICAgICAgIDxUeXBlIHR5cGU9IkRPTVN0cmluZyIvPgotICAgICAgICA8L0FyZ3VtZW50PgotICAg
ICAgICA8QXJndW1lbnQgbmFtZT0icHJvcGVydHlWYWx1ZSI+Ci0gICAgICAgICAgPFR5cGUgdHlw
ZT0iZmxvYXQiLz4KLSAgICAgICAgPC9Bcmd1bWVudD4KLSAgICAgIDwvQXJndW1lbnRMaXN0Pgot
ICAgIDwvT3BlcmF0aW9uPgotICAgIDxPcGVyYXRpb24gZ2V0dGVyPSJnZXR0ZXIiPgotICAgICAg
PHdlYmlkbD4gIGdldHRlciBmbG9hdCAoRE9NU3RyaW5nIHByb3BlcnR5TmFtZSk7PC93ZWJpZGw+
Ci0gICAgICA8VHlwZSB0eXBlPSJmbG9hdCIvPgotICAgICAgPEFyZ3VtZW50TGlzdD4KLSAgICAg
ICAgPEFyZ3VtZW50IG5hbWU9InByb3BlcnR5TmFtZSI+Ci0gICAgICAgICAgPFR5cGUgdHlwZT0i
RE9NU3RyaW5nIi8+Ci0gICAgICAgIDwvQXJndW1lbnQ+Ci0gICAgICA8L0FyZ3VtZW50TGlzdD4K
LSAgICA8L09wZXJhdGlvbj4KLSAgICA8T3BlcmF0aW9uIHNldHRlcj0ic2V0dGVyIj4KLSAgICAg
IDx3ZWJpZGw+ICBzZXR0ZXIgdm9pZCAoRE9NU3RyaW5nIHByb3BlcnR5TmFtZSwgZmxvYXQgcHJv
cGVydHlWYWx1ZSk7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJ2b2lkIi8+Ci0gICAgICA8
QXJndW1lbnRMaXN0PgotICAgICAgICA8QXJndW1lbnQgbmFtZT0icHJvcGVydHlOYW1lIj4KLSAg
ICAgICAgICA8VHlwZSB0eXBlPSJET01TdHJpbmciLz4KLSAgICAgICAgPC9Bcmd1bWVudD4KLSAg
ICAgICAgPEFyZ3VtZW50IG5hbWU9InByb3BlcnR5VmFsdWUiPgotICAgICAgICAgIDxUeXBlIHR5
cGU9ImZsb2F0Ii8+Ci0gICAgICAgIDwvQXJndW1lbnQ+Ci0gICAgICA8L0FyZ3VtZW50TGlzdD4K
LSAgICA8L09wZXJhdGlvbj4KLSAgPC9JbnRlcmZhY2U+Ci08L0RlZmluaXRpb25zPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL2V4Y2VwdGlvbi1pbmhlcml0
YW5jZS53aWRscHJvY3htbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9leGNl
cHRpb24taW5oZXJpdGFuY2Uud2lkbHByb2N4bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDNhMWY4NjhhNGI0Y2ViNmVhOThlZDI2MmNkZmY0MDNhZGE0YTgxZmUuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rl
c3QvdmFsaWQveG1sL2V4Y2VwdGlvbi1pbmhlcml0YW5jZS53aWRscHJvY3htbAorKysgL2Rldi9u
dWxsCkBAIC0xLDMxICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04
Ij8+Ci08IURPQ1RZUEUgRGVmaW5pdGlvbnMgU1lTVEVNICJ3aWRscHJvY3htbC5kdGQiPgotPERl
ZmluaXRpb25zPgotICA8d2ViaWRsPiAgZXhjZXB0aW9uIERPTUV4Y2VwdGlvbiB7Ci0gICAgdW5z
aWduZWQgc2hvcnQgY29kZTsKLSAgfTsKLQotICBleGNlcHRpb24gSGllcmFyY2h5UmVxdWVzdEVy
cm9yIDogPHJlZj5ET01FeGNlcHRpb248L3JlZj4geyB9OwotICBleGNlcHRpb24gTm9Nb2RpZmlj
YXRpb25BbGxvd2VkRXJyb3IgOiA8cmVmPkRPTUV4Y2VwdGlvbjwvcmVmPiB7IH07PC93ZWJpZGw+
Ci0gIDxFeGNlcHRpb24gbmFtZT0iRE9NRXhjZXB0aW9uIiBpZD0iOjpET01FeGNlcHRpb24iPgot
ICAgIDx3ZWJpZGw+ICBleGNlcHRpb24gRE9NRXhjZXB0aW9uIHsKLSAgICB1bnNpZ25lZCBzaG9y
dCBjb2RlOwotICB9Ozwvd2ViaWRsPgotICAgIDxFeGNlcHRpb25GaWVsZCBuYW1lPSJjb2RlIiBp
ZD0iOjpET01FeGNlcHRpb246OmNvZGUiPgotICAgICAgPHdlYmlkbD4gICAgdW5zaWduZWQgc2hv
cnQgY29kZTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9InVuc2lnbmVkIHNob3J0Ii8+Ci0g
ICAgPC9FeGNlcHRpb25GaWVsZD4KLSAgPC9FeGNlcHRpb24+Ci0gIDxFeGNlcHRpb24gbmFtZT0i
SGllcmFyY2h5UmVxdWVzdEVycm9yIiBpZD0iOjpIaWVyYXJjaHlSZXF1ZXN0RXJyb3IiPgotICAg
IDx3ZWJpZGw+ICBleGNlcHRpb24gSGllcmFyY2h5UmVxdWVzdEVycm9yIDogPHJlZj5ET01FeGNl
cHRpb248L3JlZj4geyB9Ozwvd2ViaWRsPgotICAgIDxFeGNlcHRpb25Jbmhlcml0YW5jZT4KLSAg
ICAgIDxOYW1lIG5hbWU9IkRPTUV4Y2VwdGlvbiIvPgotICAgIDwvRXhjZXB0aW9uSW5oZXJpdGFu
Y2U+Ci0gIDwvRXhjZXB0aW9uPgotICA8RXhjZXB0aW9uIG5hbWU9Ik5vTW9kaWZpY2F0aW9uQWxs
b3dlZEVycm9yIiBpZD0iOjpOb01vZGlmaWNhdGlvbkFsbG93ZWRFcnJvciI+Ci0gICAgPHdlYmlk
bD4gIGV4Y2VwdGlvbiBOb01vZGlmaWNhdGlvbkFsbG93ZWRFcnJvciA6IDxyZWY+RE9NRXhjZXB0
aW9uPC9yZWY+IHsgfTs8L3dlYmlkbD4KLSAgICA8RXhjZXB0aW9uSW5oZXJpdGFuY2U+Ci0gICAg
ICA8TmFtZSBuYW1lPSJET01FeGNlcHRpb24iLz4KLSAgICA8L0V4Y2VwdGlvbkluaGVyaXRhbmNl
PgotICA8L0V4Y2VwdGlvbj4KLTwvRGVmaW5pdGlvbnM+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
d2lkbHByb2MvdGVzdC92YWxpZC94bWwvZXhjZXB0aW9uLndpZGxwcm9jeG1sIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL2V4Y2VwdGlvbi53aWRscHJvY3htbApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggYWM5MzMyMGZlMTZiYjM3YzEzMjE5YTc3YTVmNjBjMmZiMjU0
ZjY5OC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvZXhjZXB0aW9uLndpZGxwcm9jeG1sCisrKyAv
ZGV2L251bGwKQEAgLTEsMjMgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0i
VVRGLTgiPz4KLTwhRE9DVFlQRSBEZWZpbml0aW9ucyBTWVNURU0gIndpZGxwcm9jeG1sLmR0ZCI+
Ci08RGVmaW5pdGlvbnM+Ci0gIDx3ZWJpZGw+aW50ZXJmYWNlIERhaHV0IHsKLSAgYXR0cmlidXRl
IERPTVN0cmluZyB0eXBlOwotfTsKLQotZXhjZXB0aW9uIFNvbWVFeGNlcHRpb24gewotfTs8L3dl
YmlkbD4KLSAgPEludGVyZmFjZSBuYW1lPSJEYWh1dCIgaWQ9Ijo6RGFodXQiPgotICAgIDx3ZWJp
ZGw+aW50ZXJmYWNlIERhaHV0IHsKLSAgYXR0cmlidXRlIERPTVN0cmluZyB0eXBlOwotfTs8L3dl
YmlkbD4KLSAgICA8QXR0cmlidXRlIG5hbWU9InR5cGUiIGlkPSI6OkRhaHV0Ojp0eXBlIj4KLSAg
ICAgIDx3ZWJpZGw+ICBhdHRyaWJ1dGUgRE9NU3RyaW5nIHR5cGU7PC93ZWJpZGw+Ci0gICAgICA8
VHlwZSB0eXBlPSJET01TdHJpbmciLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAgPC9JbnRlcmZhY2U+
Ci0gIDxFeGNlcHRpb24gbmFtZT0iU29tZUV4Y2VwdGlvbiIgaWQ9Ijo6U29tZUV4Y2VwdGlvbiI+
Ci0gICAgPHdlYmlkbD5leGNlcHRpb24gU29tZUV4Y2VwdGlvbiB7Ci19Ozwvd2ViaWRsPgotICA8
L0V4Y2VwdGlvbj4KLTwvRGVmaW5pdGlvbnM+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHBy
b2MvdGVzdC92YWxpZC94bWwvZ2V0dGVyLXNldHRlci53aWRscHJvY3htbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93
aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9nZXR0ZXItc2V0dGVyLndpZGxwcm9jeG1sCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3NmFmYzA1OGM2ODg3Y2QzZDU3YjQyOWVhZTlmZDRhZTI2
MjAzNzU3Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9nZXR0ZXItc2V0dGVyLndpZGxwcm9jeG1s
CisrKyAvZGV2L251bGwKQEAgLTEsNDMgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNv
ZGluZz0iVVRGLTgiPz4KLTwhRE9DVFlQRSBEZWZpbml0aW9ucyBTWVNURU0gIndpZGxwcm9jeG1s
LmR0ZCI+Ci08RGVmaW5pdGlvbnM+Ci0gIDx3ZWJpZGw+aW50ZXJmYWNlIERpY3Rpb25hcnkgewot
ICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBwcm9wZXJ0eUNvdW50OwotCi0gIGdl
dHRlciBmbG9hdCAoRE9NU3RyaW5nIHByb3BlcnR5TmFtZSk7Ci0gIHNldHRlciB2b2lkIChET01T
dHJpbmcgcHJvcGVydHlOYW1lLCBmbG9hdCBwcm9wZXJ0eVZhbHVlKTsKLX07PC93ZWJpZGw+Ci0g
IDxJbnRlcmZhY2UgbmFtZT0iRGljdGlvbmFyeSIgaWQ9Ijo6RGljdGlvbmFyeSI+Ci0gICAgPHdl
YmlkbD5pbnRlcmZhY2UgRGljdGlvbmFyeSB7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25l
ZCBsb25nIHByb3BlcnR5Q291bnQ7Ci0KLSAgZ2V0dGVyIGZsb2F0IChET01TdHJpbmcgcHJvcGVy
dHlOYW1lKTsKLSAgc2V0dGVyIHZvaWQgKERPTVN0cmluZyBwcm9wZXJ0eU5hbWUsIGZsb2F0IHBy
b3BlcnR5VmFsdWUpOwotfTs8L3dlYmlkbD4KLSAgICA8QXR0cmlidXRlIHJlYWRvbmx5PSJyZWFk
b25seSIgbmFtZT0icHJvcGVydHlDb3VudCIgaWQ9Ijo6RGljdGlvbmFyeTo6cHJvcGVydHlDb3Vu
dCI+Ci0gICAgICA8d2ViaWRsPiAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgcHJv
cGVydHlDb3VudDs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9InVuc2lnbmVkIGxvbmciLz4K
LSAgICA8L0F0dHJpYnV0ZT4KLSAgICA8T3BlcmF0aW9uIGdldHRlcj0iZ2V0dGVyIj4KLSAgICAg
IDx3ZWJpZGw+ICBnZXR0ZXIgZmxvYXQgKERPTVN0cmluZyBwcm9wZXJ0eU5hbWUpOzwvd2ViaWRs
PgotICAgICAgPFR5cGUgdHlwZT0iZmxvYXQiLz4KLSAgICAgIDxBcmd1bWVudExpc3Q+Ci0gICAg
ICAgIDxBcmd1bWVudCBuYW1lPSJwcm9wZXJ0eU5hbWUiPgotICAgICAgICAgIDxUeXBlIHR5cGU9
IkRPTVN0cmluZyIvPgotICAgICAgICA8L0FyZ3VtZW50PgotICAgICAgPC9Bcmd1bWVudExpc3Q+
Ci0gICAgPC9PcGVyYXRpb24+Ci0gICAgPE9wZXJhdGlvbiBzZXR0ZXI9InNldHRlciI+Ci0gICAg
ICA8d2ViaWRsPiAgc2V0dGVyIHZvaWQgKERPTVN0cmluZyBwcm9wZXJ0eU5hbWUsIGZsb2F0IHBy
b3BlcnR5VmFsdWUpOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0idm9pZCIvPgotICAgICAg
PEFyZ3VtZW50TGlzdD4KLSAgICAgICAgPEFyZ3VtZW50IG5hbWU9InByb3BlcnR5TmFtZSI+Ci0g
ICAgICAgICAgPFR5cGUgdHlwZT0iRE9NU3RyaW5nIi8+Ci0gICAgICAgIDwvQXJndW1lbnQ+Ci0g
ICAgICAgIDxBcmd1bWVudCBuYW1lPSJwcm9wZXJ0eVZhbHVlIj4KLSAgICAgICAgICA8VHlwZSB0
eXBlPSJmbG9hdCIvPgotICAgICAgICA8L0FyZ3VtZW50PgotICAgICAgPC9Bcmd1bWVudExpc3Q+
Ci0gICAgPC9PcGVyYXRpb24+Ci0gIDwvSW50ZXJmYWNlPgotPC9EZWZpbml0aW9ucz4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9pZGVudGlmaWVyLXF1YWxp
ZmllZC1uYW1lcy53aWRscHJvY3htbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3ht
bC9pZGVudGlmaWVyLXF1YWxpZmllZC1uYW1lcy53aWRscHJvY3htbApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggYjYwMjRlNWZmNjg5NjMwZDUwYTUxY2QxNDIwYTUxYmQ1NGEyZTAyMi4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
d2lkbHByb2MvdGVzdC92YWxpZC94bWwvaWRlbnRpZmllci1xdWFsaWZpZWQtbmFtZXMud2lkbHBy
b2N4bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxMDcgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4w
IiBlbmNvZGluZz0iVVRGLTgiPz4KLTwhRE9DVFlQRSBEZWZpbml0aW9ucyBTWVNURU0gIndpZGxw
cm9jeG1sLmR0ZCI+Ci08RGVmaW5pdGlvbnM+Ci0gIDx3ZWJpZGw+ICB0eXBlZGVmIGZsb2F0IG51
bWJlcjsKLQotICBleGNlcHRpb24gRnJhbWV3b3JrRXhjZXB0aW9uIHsKLQotICAgIGNvbnN0IGxv
bmcgRVJSX05PVF9GT1VORCA9IDE7Ci0KLSAgICBsb25nIGNvZGU7Ci0gIH07Ci0KLSAgaW50ZXJm
YWNlIFN5c3RlbSB7Ci0KLSAgICBvYmplY3QgY3JlYXRlT2JqZWN0KERPTVN0cmluZyBfaW50ZXJm
YWNlKTsKLQotICAgIGdldHRlciBET01TdHJpbmcgKERPTVN0cmluZyBrZXlOYW1lKTsKLSAgfTsK
LQotICAgIAotICAgIGludGVyZmFjZSBUZXh0RmllbGQgewotCi0gICAgICBhdHRyaWJ1dGUgYm9v
bGVhbiBfY29uc3Q7Ci0KLSAgICAgIGF0dHJpYnV0ZSBET01TdHJpbmc/IF92YWx1ZTsKLSAgICB9
OwotCi1pbnRlcmZhY2UgRm9vIHsKLSB2b2lkIG9wKG9iamVjdCBpbnRlcmZhY2UpOwotfTs8L3dl
YmlkbD4KLSAgPFR5cGVkZWYgbmFtZT0ibnVtYmVyIiBpZD0iOjpudW1iZXIiPgotICAgIDx3ZWJp
ZGw+ICB0eXBlZGVmIGZsb2F0IG51bWJlcjs8L3dlYmlkbD4KLSAgICA8VHlwZSB0eXBlPSJmbG9h
dCIvPgotICA8L1R5cGVkZWY+Ci0gIDxFeGNlcHRpb24gbmFtZT0iRnJhbWV3b3JrRXhjZXB0aW9u
IiBpZD0iOjpGcmFtZXdvcmtFeGNlcHRpb24iPgotICAgIDx3ZWJpZGw+ICBleGNlcHRpb24gRnJh
bWV3b3JrRXhjZXB0aW9uIHsKLQotICAgIGNvbnN0IGxvbmcgRVJSX05PVF9GT1VORCA9IDE7Ci0K
LSAgICBsb25nIGNvZGU7Ci0gIH07PC93ZWJpZGw+Ci0gICAgPENvbnN0IG5hbWU9IkVSUl9OT1Rf
Rk9VTkQiIHZhbHVlPSIxIiBpZD0iOjpGcmFtZXdvcmtFeGNlcHRpb246OkVSUl9OT1RfRk9VTkQi
PgotICAgICAgPHdlYmlkbD4gICAgY29uc3QgbG9uZyBFUlJfTk9UX0ZPVU5EID0gMTs8L3dlYmlk
bD4KLSAgICAgIDxUeXBlIHR5cGU9ImxvbmciLz4KLSAgICA8L0NvbnN0PgotICAgIDxFeGNlcHRp
b25GaWVsZCBuYW1lPSJjb2RlIiBpZD0iOjpGcmFtZXdvcmtFeGNlcHRpb246OmNvZGUiPgotICAg
ICAgPHdlYmlkbD4gICAgbG9uZyBjb2RlOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0ibG9u
ZyIvPgotICAgIDwvRXhjZXB0aW9uRmllbGQ+Ci0gIDwvRXhjZXB0aW9uPgotICA8SW50ZXJmYWNl
IG5hbWU9IlN5c3RlbSIgaWQ9Ijo6U3lzdGVtIj4KLSAgICA8d2ViaWRsPiAgaW50ZXJmYWNlIFN5
c3RlbSB7Ci0KLSAgICBvYmplY3QgY3JlYXRlT2JqZWN0KERPTVN0cmluZyBfaW50ZXJmYWNlKTsK
LQotICAgIGdldHRlciBET01TdHJpbmcgKERPTVN0cmluZyBrZXlOYW1lKTsKLSAgfTs8L3dlYmlk
bD4KLSAgICA8T3BlcmF0aW9uIG5hbWU9ImNyZWF0ZU9iamVjdCIgaWQ9Ijo6U3lzdGVtOjpjcmVh
dGVPYmplY3QiPgotICAgICAgPHdlYmlkbD4gICAgb2JqZWN0IGNyZWF0ZU9iamVjdChET01TdHJp
bmcgX2ludGVyZmFjZSk7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJvYmplY3QiLz4KLSAg
ICAgIDxBcmd1bWVudExpc3Q+Ci0gICAgICAgIDxBcmd1bWVudCBuYW1lPSJfaW50ZXJmYWNlIj4K
LSAgICAgICAgICA8VHlwZSB0eXBlPSJET01TdHJpbmciLz4KLSAgICAgICAgPC9Bcmd1bWVudD4K
LSAgICAgIDwvQXJndW1lbnRMaXN0PgotICAgIDwvT3BlcmF0aW9uPgotICAgIDxPcGVyYXRpb24g
Z2V0dGVyPSJnZXR0ZXIiPgotICAgICAgPHdlYmlkbD4gICAgZ2V0dGVyIERPTVN0cmluZyAoRE9N
U3RyaW5nIGtleU5hbWUpOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0iRE9NU3RyaW5nIi8+
Ci0gICAgICA8QXJndW1lbnRMaXN0PgotICAgICAgICA8QXJndW1lbnQgbmFtZT0ia2V5TmFtZSI+
Ci0gICAgICAgICAgPFR5cGUgdHlwZT0iRE9NU3RyaW5nIi8+Ci0gICAgICAgIDwvQXJndW1lbnQ+
Ci0gICAgICA8L0FyZ3VtZW50TGlzdD4KLSAgICA8L09wZXJhdGlvbj4KLSAgPC9JbnRlcmZhY2U+
Ci0gIDxJbnRlcmZhY2UgbmFtZT0iVGV4dEZpZWxkIiBpZD0iOjpUZXh0RmllbGQiPgotICAgIDx3
ZWJpZGw+ICAgIGludGVyZmFjZSBUZXh0RmllbGQgewotCi0gICAgICBhdHRyaWJ1dGUgYm9vbGVh
biBfY29uc3Q7Ci0KLSAgICAgIGF0dHJpYnV0ZSBET01TdHJpbmc/IF92YWx1ZTsKLSAgICB9Ozwv
d2ViaWRsPgotICAgIDxBdHRyaWJ1dGUgbmFtZT0iX2NvbnN0IiBpZD0iOjpUZXh0RmllbGQ6Ol9j
b25zdCI+Ci0gICAgICA8d2ViaWRsPiAgICAgIGF0dHJpYnV0ZSBib29sZWFuIF9jb25zdDs8L3dl
YmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9ImJvb2xlYW4iLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAg
ICA8QXR0cmlidXRlIG5hbWU9Il92YWx1ZSIgaWQ9Ijo6VGV4dEZpZWxkOjpfdmFsdWUiPgotICAg
ICAgPHdlYmlkbD4gICAgICBhdHRyaWJ1dGUgRE9NU3RyaW5nPyBfdmFsdWU7PC93ZWJpZGw+Ci0g
ICAgICA8VHlwZSB0eXBlPSJET01TdHJpbmciIG51bGxhYmxlPSJudWxsYWJsZSIvPgotICAgIDwv
QXR0cmlidXRlPgotICA8L0ludGVyZmFjZT4KLSAgPEludGVyZmFjZSBuYW1lPSJGb28iIGlkPSI6
OkZvbyI+Ci0gICAgPHdlYmlkbD5pbnRlcmZhY2UgRm9vIHsKLSB2b2lkIG9wKG9iamVjdCBpbnRl
cmZhY2UpOwotfTs8L3dlYmlkbD4KLSAgICA8T3BlcmF0aW9uIG5hbWU9Im9wIiBpZD0iOjpGb286
Om9wIj4KLSAgICAgIDx3ZWJpZGw+IHZvaWQgb3Aob2JqZWN0IGludGVyZmFjZSk7PC93ZWJpZGw+
Ci0gICAgICA8VHlwZSB0eXBlPSJ2b2lkIi8+Ci0gICAgICA8QXJndW1lbnRMaXN0PgotICAgICAg
ICA8QXJndW1lbnQgbmFtZT0iaW50ZXJmYWNlIj4KLSAgICAgICAgICA8VHlwZSB0eXBlPSJvYmpl
Y3QiLz4KLSAgICAgICAgPC9Bcmd1bWVudD4KLSAgICAgIDwvQXJndW1lbnRMaXN0PgotICAgIDwv
T3BlcmF0aW9uPgotICA8L0ludGVyZmFjZT4KLTwvRGVmaW5pdGlvbnM+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvaW1wbGVtZW50cy53aWRscHJvY3htbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9pbXBsZW1lbnRzLndpZGxwcm9jeG1s
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzZDFjMWFiODQ3OGZkMDdiNzA5ZWRmZTk4
OTQyMGI1YzRkZDg4ODNhLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9pbXBsZW1lbnRzLndpZGxw
cm9jeG1sCisrKyAvZGV2L251bGwKQEAgLTEsNTEgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4w
IiBlbmNvZGluZz0iVVRGLTgiPz4KLTwhRE9DVFlQRSBEZWZpbml0aW9ucyBTWVNURU0gIndpZGxw
cm9jeG1sLmR0ZCI+Ci08RGVmaW5pdGlvbnM+Ci0gIDx3ZWJpZGw+ICBpbnRlcmZhY2UgTm9kZSB7
Ci0gICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIHNob3J0IG5vZGVUeXBlOwotICB9Owot
Ci0gIGludGVyZmFjZSBFdmVudFRhcmdldCB7Ci0gICAgdm9pZCBhZGRFdmVudExpc3RlbmVyKERP
TVN0cmluZyB0eXBlLAotICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVmPkV2ZW50TGlzdGVu
ZXI8L3JlZj4gbGlzdGVuZXIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2xlYW4gdXNl
Q2FwdHVyZSk7Ci0gIH07Ci0KLSAgPHJlZj5Ob2RlPC9yZWY+IGltcGxlbWVudHMgPHJlZj5FdmVu
dFRhcmdldDwvcmVmPjs8L3dlYmlkbD4KLSAgPEludGVyZmFjZSBuYW1lPSJOb2RlIiBpZD0iOjpO
b2RlIj4KLSAgICA8d2ViaWRsPiAgaW50ZXJmYWNlIE5vZGUgewotICAgIHJlYWRvbmx5IGF0dHJp
YnV0ZSB1bnNpZ25lZCBzaG9ydCBub2RlVHlwZTsKLSAgfTs8L3dlYmlkbD4KLSAgICA8QXR0cmli
dXRlIHJlYWRvbmx5PSJyZWFkb25seSIgbmFtZT0ibm9kZVR5cGUiIGlkPSI6Ok5vZGU6Om5vZGVU
eXBlIj4KLSAgICAgIDx3ZWJpZGw+ICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBzaG9y
dCBub2RlVHlwZTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9InVuc2lnbmVkIHNob3J0Ii8+
Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gIDwvSW50ZXJmYWNlPgotICA8SW50ZXJmYWNlIG5hbWU9IkV2
ZW50VGFyZ2V0IiBpZD0iOjpFdmVudFRhcmdldCI+Ci0gICAgPHdlYmlkbD4gIGludGVyZmFjZSBF
dmVudFRhcmdldCB7Ci0gICAgdm9pZCBhZGRFdmVudExpc3RlbmVyKERPTVN0cmluZyB0eXBlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVmPkV2ZW50TGlzdGVuZXI8L3JlZj4gbGlzdGVu
ZXIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2xlYW4gdXNlQ2FwdHVyZSk7Ci0gIH07
PC93ZWJpZGw+Ci0gICAgPE9wZXJhdGlvbiBuYW1lPSJhZGRFdmVudExpc3RlbmVyIiBpZD0iOjpF
dmVudFRhcmdldDo6YWRkRXZlbnRMaXN0ZW5lciI+Ci0gICAgICA8d2ViaWRsPiAgICB2b2lkIGFk
ZEV2ZW50TGlzdGVuZXIoRE9NU3RyaW5nIHR5cGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
IDxyZWY+RXZlbnRMaXN0ZW5lcjwvcmVmPiBsaXN0ZW5lciwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgYm9vbGVhbiB1c2VDYXB0dXJlKTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9InZv
aWQiLz4KLSAgICAgIDxBcmd1bWVudExpc3Q+Ci0gICAgICAgIDxBcmd1bWVudCBuYW1lPSJ0eXBl
Ij4KLSAgICAgICAgICA8VHlwZSB0eXBlPSJET01TdHJpbmciLz4KLSAgICAgICAgPC9Bcmd1bWVu
dD4KLSAgICAgICAgPEFyZ3VtZW50IG5hbWU9Imxpc3RlbmVyIj4KLSAgICAgICAgICA8VHlwZSBu
YW1lPSJFdmVudExpc3RlbmVyIi8+Ci0gICAgICAgIDwvQXJndW1lbnQ+Ci0gICAgICAgIDxBcmd1
bWVudCBuYW1lPSJ1c2VDYXB0dXJlIj4KLSAgICAgICAgICA8VHlwZSB0eXBlPSJib29sZWFuIi8+
Ci0gICAgICAgIDwvQXJndW1lbnQ+Ci0gICAgICA8L0FyZ3VtZW50TGlzdD4KLSAgICA8L09wZXJh
dGlvbj4KLSAgPC9JbnRlcmZhY2U+Ci0gIDxJbXBsZW1lbnRzIG5hbWUxPSJOb2RlIiBuYW1lMj0i
RXZlbnRUYXJnZXQiPgotICAgIDx3ZWJpZGw+ICA8cmVmPk5vZGU8L3JlZj4gaW1wbGVtZW50cyA8
cmVmPkV2ZW50VGFyZ2V0PC9yZWY+Ozwvd2ViaWRsPgotICA8L0ltcGxlbWVudHM+Ci08L0RlZmlu
aXRpb25zPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL2lu
ZGV4ZWQtcHJvcGVydGllcy53aWRscHJvY3htbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3Zh
bGlkL3htbC9pbmRleGVkLXByb3BlcnRpZXMud2lkbHByb2N4bWwKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IGZiODM2MjFiNjBkMzYwZDA1Mjg1ZjBlOWZmZDRlZDhmODNjMzAxOTkuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dp
ZGxwcm9jL3Rlc3QvdmFsaWQveG1sL2luZGV4ZWQtcHJvcGVydGllcy53aWRscHJvY3htbAorKysg
L2Rldi9udWxsCkBAIC0xLDkyICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9
IlVURi04Ij8+Ci08IURPQ1RZUEUgRGVmaW5pdGlvbnMgU1lTVEVNICJ3aWRscHJvY3htbC5kdGQi
PgotPERlZmluaXRpb25zPgotICA8d2ViaWRsPmludGVyZmFjZSBPcmRlcmVkTWFwIHsKLSAgcmVh
ZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgc2l6ZTsKLQotICBnZXR0ZXIgYW55IGdldEJ5
SW5kZXgodW5zaWduZWQgbG9uZyBpbmRleCk7Ci0gIHNldHRlciB2b2lkIHNldEJ5SW5kZXgodW5z
aWduZWQgbG9uZyBpbmRleCwgYW55IHZhbHVlKTsKLSAgZGVsZXRlciB2b2lkIHJlbW92ZUJ5SW5k
ZXgodW5zaWduZWQgbG9uZyBpbmRleCk7Ci0KLSAgZ2V0dGVyIGFueSBnZXQoRE9NU3RyaW5nIG5h
bWUpOwotICBzZXR0ZXIgY3JlYXRvciB2b2lkIHNldChET01TdHJpbmcgbmFtZSwgYW55IHZhbHVl
KTsKLSAgZGVsZXRlciB2b2lkIHJlbW92ZShET01TdHJpbmcgbmFtZSk7Ci19Ozwvd2ViaWRsPgot
ICA8SW50ZXJmYWNlIG5hbWU9Ik9yZGVyZWRNYXAiIGlkPSI6Ok9yZGVyZWRNYXAiPgotICAgIDx3
ZWJpZGw+aW50ZXJmYWNlIE9yZGVyZWRNYXAgewotICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWdu
ZWQgbG9uZyBzaXplOwotCi0gIGdldHRlciBhbnkgZ2V0QnlJbmRleCh1bnNpZ25lZCBsb25nIGlu
ZGV4KTsKLSAgc2V0dGVyIHZvaWQgc2V0QnlJbmRleCh1bnNpZ25lZCBsb25nIGluZGV4LCBhbnkg
dmFsdWUpOwotICBkZWxldGVyIHZvaWQgcmVtb3ZlQnlJbmRleCh1bnNpZ25lZCBsb25nIGluZGV4
KTsKLQotICBnZXR0ZXIgYW55IGdldChET01TdHJpbmcgbmFtZSk7Ci0gIHNldHRlciBjcmVhdG9y
IHZvaWQgc2V0KERPTVN0cmluZyBuYW1lLCBhbnkgdmFsdWUpOwotICBkZWxldGVyIHZvaWQgcmVt
b3ZlKERPTVN0cmluZyBuYW1lKTsKLX07PC93ZWJpZGw+Ci0gICAgPEF0dHJpYnV0ZSByZWFkb25s
eT0icmVhZG9ubHkiIG5hbWU9InNpemUiIGlkPSI6Ok9yZGVyZWRNYXA6OnNpemUiPgotICAgICAg
PHdlYmlkbD4gIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIHNpemU7PC93ZWJpZGw+
Ci0gICAgICA8VHlwZSB0eXBlPSJ1bnNpZ25lZCBsb25nIi8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0g
ICAgPE9wZXJhdGlvbiBnZXR0ZXI9ImdldHRlciIgbmFtZT0iZ2V0QnlJbmRleCIgaWQ9Ijo6T3Jk
ZXJlZE1hcDo6Z2V0QnlJbmRleCI+Ci0gICAgICA8d2ViaWRsPiAgZ2V0dGVyIGFueSBnZXRCeUlu
ZGV4KHVuc2lnbmVkIGxvbmcgaW5kZXgpOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0iYW55
Ii8+Ci0gICAgICA8QXJndW1lbnRMaXN0PgotICAgICAgICA8QXJndW1lbnQgbmFtZT0iaW5kZXgi
PgotICAgICAgICAgIDxUeXBlIHR5cGU9InVuc2lnbmVkIGxvbmciLz4KLSAgICAgICAgPC9Bcmd1
bWVudD4KLSAgICAgIDwvQXJndW1lbnRMaXN0PgotICAgIDwvT3BlcmF0aW9uPgotICAgIDxPcGVy
YXRpb24gc2V0dGVyPSJzZXR0ZXIiIG5hbWU9InNldEJ5SW5kZXgiIGlkPSI6Ok9yZGVyZWRNYXA6
OnNldEJ5SW5kZXgiPgotICAgICAgPHdlYmlkbD4gIHNldHRlciB2b2lkIHNldEJ5SW5kZXgodW5z
aWduZWQgbG9uZyBpbmRleCwgYW55IHZhbHVlKTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9
InZvaWQiLz4KLSAgICAgIDxBcmd1bWVudExpc3Q+Ci0gICAgICAgIDxBcmd1bWVudCBuYW1lPSJp
bmRleCI+Ci0gICAgICAgICAgPFR5cGUgdHlwZT0idW5zaWduZWQgbG9uZyIvPgotICAgICAgICA8
L0FyZ3VtZW50PgotICAgICAgICA8QXJndW1lbnQgbmFtZT0idmFsdWUiPgotICAgICAgICAgIDxU
eXBlIHR5cGU9ImFueSIvPgotICAgICAgICA8L0FyZ3VtZW50PgotICAgICAgPC9Bcmd1bWVudExp
c3Q+Ci0gICAgPC9PcGVyYXRpb24+Ci0gICAgPE9wZXJhdGlvbiBkZWxldGVyPSJkZWxldGVyIiBu
YW1lPSJyZW1vdmVCeUluZGV4IiBpZD0iOjpPcmRlcmVkTWFwOjpyZW1vdmVCeUluZGV4Ij4KLSAg
ICAgIDx3ZWJpZGw+ICBkZWxldGVyIHZvaWQgcmVtb3ZlQnlJbmRleCh1bnNpZ25lZCBsb25nIGlu
ZGV4KTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9InZvaWQiLz4KLSAgICAgIDxBcmd1bWVu
dExpc3Q+Ci0gICAgICAgIDxBcmd1bWVudCBuYW1lPSJpbmRleCI+Ci0gICAgICAgICAgPFR5cGUg
dHlwZT0idW5zaWduZWQgbG9uZyIvPgotICAgICAgICA8L0FyZ3VtZW50PgotICAgICAgPC9Bcmd1
bWVudExpc3Q+Ci0gICAgPC9PcGVyYXRpb24+Ci0gICAgPE9wZXJhdGlvbiBnZXR0ZXI9ImdldHRl
ciIgbmFtZT0iZ2V0IiBpZD0iOjpPcmRlcmVkTWFwOjpnZXQiPgotICAgICAgPHdlYmlkbD4gIGdl
dHRlciBhbnkgZ2V0KERPTVN0cmluZyBuYW1lKTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9
ImFueSIvPgotICAgICAgPEFyZ3VtZW50TGlzdD4KLSAgICAgICAgPEFyZ3VtZW50IG5hbWU9Im5h
bWUiPgotICAgICAgICAgIDxUeXBlIHR5cGU9IkRPTVN0cmluZyIvPgotICAgICAgICA8L0FyZ3Vt
ZW50PgotICAgICAgPC9Bcmd1bWVudExpc3Q+Ci0gICAgPC9PcGVyYXRpb24+Ci0gICAgPE9wZXJh
dGlvbiBzZXR0ZXI9InNldHRlciIgY3JlYXRvcj0iY3JlYXRvciIgbmFtZT0ic2V0IiBpZD0iOjpP
cmRlcmVkTWFwOjpzZXQiPgotICAgICAgPHdlYmlkbD4gIHNldHRlciBjcmVhdG9yIHZvaWQgc2V0
KERPTVN0cmluZyBuYW1lLCBhbnkgdmFsdWUpOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0i
dm9pZCIvPgotICAgICAgPEFyZ3VtZW50TGlzdD4KLSAgICAgICAgPEFyZ3VtZW50IG5hbWU9Im5h
bWUiPgotICAgICAgICAgIDxUeXBlIHR5cGU9IkRPTVN0cmluZyIvPgotICAgICAgICA8L0FyZ3Vt
ZW50PgotICAgICAgICA8QXJndW1lbnQgbmFtZT0idmFsdWUiPgotICAgICAgICAgIDxUeXBlIHR5
cGU9ImFueSIvPgotICAgICAgICA8L0FyZ3VtZW50PgotICAgICAgPC9Bcmd1bWVudExpc3Q+Ci0g
ICAgPC9PcGVyYXRpb24+Ci0gICAgPE9wZXJhdGlvbiBkZWxldGVyPSJkZWxldGVyIiBuYW1lPSJy
ZW1vdmUiIGlkPSI6Ok9yZGVyZWRNYXA6OnJlbW92ZSI+Ci0gICAgICA8d2ViaWRsPiAgZGVsZXRl
ciB2b2lkIHJlbW92ZShET01TdHJpbmcgbmFtZSk7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBl
PSJ2b2lkIi8+Ci0gICAgICA8QXJndW1lbnRMaXN0PgotICAgICAgICA8QXJndW1lbnQgbmFtZT0i
bmFtZSI+Ci0gICAgICAgICAgPFR5cGUgdHlwZT0iRE9NU3RyaW5nIi8+Ci0gICAgICAgIDwvQXJn
dW1lbnQ+Ci0gICAgICA8L0FyZ3VtZW50TGlzdD4KLSAgICA8L09wZXJhdGlvbj4KLSAgPC9JbnRl
cmZhY2U+Ci08L0RlZmluaXRpb25zPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rl
c3QvdmFsaWQveG1sL2luaGVyaXRzLWdldHRlci53aWRscHJvY3htbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRs
cHJvYy90ZXN0L3ZhbGlkL3htbC9pbmhlcml0cy1nZXR0ZXIud2lkbHByb2N4bWwKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDU1ZTdhMzE3ZmQ5OGNkMWExNjA5ZGZhN2U1YTRmYjVkYmE0
NzEyZDIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL2luaGVyaXRzLWdldHRlci53aWRscHJvY3ht
bAorKysgL2Rldi9udWxsCkBAIC0xLDQ0ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5j
b2Rpbmc9IlVURi04Ij8+Ci08IURPQ1RZUEUgRGVmaW5pdGlvbnMgU1lTVEVNICJ3aWRscHJvY3ht
bC5kdGQiPgotPERlZmluaXRpb25zPgotICA8d2ViaWRsPmludGVyZmFjZSBBbmltYWwgewotCi0g
IHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgbmFtZTsKLX07Ci0KLWludGVyZmFjZSBQZXJz
b24gOiA8cmVmPkFuaW1hbDwvcmVmPiB7Ci0KLSAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVk
IHNob3J0IGFnZTsKLQotICBpbmhlcml0IGF0dHJpYnV0ZSBET01TdHJpbmcgbmFtZTsKLX07PC93
ZWJpZGw+Ci0gIDxJbnRlcmZhY2UgbmFtZT0iQW5pbWFsIiBpZD0iOjpBbmltYWwiPgotICAgIDx3
ZWJpZGw+aW50ZXJmYWNlIEFuaW1hbCB7Ci0KLSAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmlu
ZyBuYW1lOwotfTs8L3dlYmlkbD4KLSAgICA8QXR0cmlidXRlIHJlYWRvbmx5PSJyZWFkb25seSIg
bmFtZT0ibmFtZSIgaWQ9Ijo6QW5pbWFsOjpuYW1lIj4KLSAgICAgIDx3ZWJpZGw+ICByZWFkb25s
eSBhdHRyaWJ1dGUgRE9NU3RyaW5nIG5hbWU7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJE
T01TdHJpbmciLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAgPC9JbnRlcmZhY2U+Ci0gIDxJbnRlcmZh
Y2UgbmFtZT0iUGVyc29uIiBpZD0iOjpQZXJzb24iPgotICAgIDx3ZWJpZGw+aW50ZXJmYWNlIFBl
cnNvbiA6IDxyZWY+QW5pbWFsPC9yZWY+IHsKLQotICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWdu
ZWQgc2hvcnQgYWdlOwotCi0gIGluaGVyaXQgYXR0cmlidXRlIERPTVN0cmluZyBuYW1lOwotfTs8
L3dlYmlkbD4KLSAgICA8SW50ZXJmYWNlSW5oZXJpdGFuY2U+Ci0gICAgICA8TmFtZSBuYW1lPSJB
bmltYWwiLz4KLSAgICA8L0ludGVyZmFjZUluaGVyaXRhbmNlPgotICAgIDxBdHRyaWJ1dGUgcmVh
ZG9ubHk9InJlYWRvbmx5IiBuYW1lPSJhZ2UiIGlkPSI6OlBlcnNvbjo6YWdlIj4KLSAgICAgIDx3
ZWJpZGw+ICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgc2hvcnQgYWdlOzwvd2ViaWRsPgot
ICAgICAgPFR5cGUgdHlwZT0idW5zaWduZWQgc2hvcnQiLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAg
ICA8QXR0cmlidXRlIGluaGVyaXQ9ImluaGVyaXQiIG5hbWU9Im5hbWUiIGlkPSI6OlBlcnNvbjo6
bmFtZSI+Ci0gICAgICA8d2ViaWRsPiAgaW5oZXJpdCBhdHRyaWJ1dGUgRE9NU3RyaW5nIG5hbWU7
PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJET01TdHJpbmciLz4KLSAgICA8L0F0dHJpYnV0
ZT4KLSAgPC9JbnRlcmZhY2U+Ci08L0RlZmluaXRpb25zPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL2ludGVyZmFjZS1pbmhlcml0cy53aWRscHJvY3htbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9pbnRlcmZhY2UtaW5oZXJpdHMud2lk
bHByb2N4bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDk0ZjBlMjlkZjA1ZWI0MzA4
NTY5YTg4MGI3NDI1NjJkNzNlOTNkZTEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL2ludGVyZmFj
ZS1pbmhlcml0cy53aWRscHJvY3htbAorKysgL2Rldi9udWxsCkBAIC0xLDQ4ICswLDAgQEAKLTw/
eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Ci08IURPQ1RZUEUgRGVmaW5pdGlv
bnMgU1lTVEVNICJ3aWRscHJvY3htbC5kdGQiPgotPERlZmluaXRpb25zPgotICA8d2ViaWRsPmlu
dGVyZmFjZSBBbmltYWwgewotICBhdHRyaWJ1dGUgRE9NU3RyaW5nIG5hbWU7Ci19OwotCi1pbnRl
cmZhY2UgSHVtYW4gOiA8cmVmPkFuaW1hbDwvcmVmPiB7Ci0gIGF0dHJpYnV0ZSA8cmVmPkRvZzwv
cmVmPiBwZXQ7Ci19OwotCi1pbnRlcmZhY2UgRG9nIDogPHJlZj5BbmltYWw8L3JlZj4gewotICBh
dHRyaWJ1dGUgPHJlZj5IdW1hbjwvcmVmPiBvd25lcjsKLX07PC93ZWJpZGw+Ci0gIDxJbnRlcmZh
Y2UgbmFtZT0iQW5pbWFsIiBpZD0iOjpBbmltYWwiPgotICAgIDx3ZWJpZGw+aW50ZXJmYWNlIEFu
aW1hbCB7Ci0gIGF0dHJpYnV0ZSBET01TdHJpbmcgbmFtZTsKLX07PC93ZWJpZGw+Ci0gICAgPEF0
dHJpYnV0ZSBuYW1lPSJuYW1lIiBpZD0iOjpBbmltYWw6Om5hbWUiPgotICAgICAgPHdlYmlkbD4g
IGF0dHJpYnV0ZSBET01TdHJpbmcgbmFtZTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9IkRP
TVN0cmluZyIvPgotICAgIDwvQXR0cmlidXRlPgotICA8L0ludGVyZmFjZT4KLSAgPEludGVyZmFj
ZSBuYW1lPSJIdW1hbiIgaWQ9Ijo6SHVtYW4iPgotICAgIDx3ZWJpZGw+aW50ZXJmYWNlIEh1bWFu
IDogPHJlZj5BbmltYWw8L3JlZj4gewotICBhdHRyaWJ1dGUgPHJlZj5Eb2c8L3JlZj4gcGV0Owot
fTs8L3dlYmlkbD4KLSAgICA8SW50ZXJmYWNlSW5oZXJpdGFuY2U+Ci0gICAgICA8TmFtZSBuYW1l
PSJBbmltYWwiLz4KLSAgICA8L0ludGVyZmFjZUluaGVyaXRhbmNlPgotICAgIDxBdHRyaWJ1dGUg
bmFtZT0icGV0IiBpZD0iOjpIdW1hbjo6cGV0Ij4KLSAgICAgIDx3ZWJpZGw+ICBhdHRyaWJ1dGUg
PHJlZj5Eb2c8L3JlZj4gcGV0Ozwvd2ViaWRsPgotICAgICAgPFR5cGUgbmFtZT0iRG9nIi8+Ci0g
ICAgPC9BdHRyaWJ1dGU+Ci0gIDwvSW50ZXJmYWNlPgotICA8SW50ZXJmYWNlIG5hbWU9IkRvZyIg
aWQ9Ijo6RG9nIj4KLSAgICA8d2ViaWRsPmludGVyZmFjZSBEb2cgOiA8cmVmPkFuaW1hbDwvcmVm
PiB7Ci0gIGF0dHJpYnV0ZSA8cmVmPkh1bWFuPC9yZWY+IG93bmVyOwotfTs8L3dlYmlkbD4KLSAg
ICA8SW50ZXJmYWNlSW5oZXJpdGFuY2U+Ci0gICAgICA8TmFtZSBuYW1lPSJBbmltYWwiLz4KLSAg
ICA8L0ludGVyZmFjZUluaGVyaXRhbmNlPgotICAgIDxBdHRyaWJ1dGUgbmFtZT0ib3duZXIiIGlk
PSI6OkRvZzo6b3duZXIiPgotICAgICAgPHdlYmlkbD4gIGF0dHJpYnV0ZSA8cmVmPkh1bWFuPC9y
ZWY+IG93bmVyOzwvd2ViaWRsPgotICAgICAgPFR5cGUgbmFtZT0iSHVtYW4iLz4KLSAgICA8L0F0
dHJpYnV0ZT4KLSAgPC9JbnRlcmZhY2U+Ci08L0RlZmluaXRpb25zPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL2l0ZXJhdG9yLndpZGxwcm9jeG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL2l0ZXJhdG9yLndpZGxwcm9jeG1sCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4Y2E5NWZiYmQxN2YzMDJlMjVkN2FiMGYyNTVjODc1
MTgyM2FlMGE1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9pdGVyYXRvci53aWRscHJvY3htbAor
KysgL2Rldi9udWxsCkBAIC0xLDEzMiArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29k
aW5nPSJVVEYtOCI/PgotPCFET0NUWVBFIERlZmluaXRpb25zIFNZU1RFTSAid2lkbHByb2N4bWwu
ZHRkIj4KLTxEZWZpbml0aW9ucz4KLSAgPHdlYmlkbD5pbnRlcmZhY2UgU2Vzc2lvbk1hbmFnZXIg
ewotICA8cmVmPlNlc3Npb248L3JlZj4gZ2V0U2Vzc2lvbkZvclVzZXIoRE9NU3RyaW5nIHVzZXJu
YW1lKTsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgc2Vzc2lvbkNvdW50Owot
Ci0gIDxyZWY+U2Vzc2lvbjwvcmVmPiBpdGVyYXRvcjsKLX07Ci0KLWludGVyZmFjZSBTZXNzaW9u
IHsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyB1c2VybmFtZTsKLX07Ci0KLWludGVy
ZmFjZSBTZXNzaW9uTWFuYWdlcjIgewotICA8cmVmPlNlc3Npb24yPC9yZWY+IGdldFNlc3Npb25G
b3JVc2VyKERPTVN0cmluZyB1c2VybmFtZSk7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25l
ZCBsb25nIHNlc3Npb25Db3VudDsKLQotICA8cmVmPlNlc3Npb24yPC9yZWY+IGl0ZXJhdG9yID0g
U2Vzc2lvbkl0ZXJhdG9yOwotfTsKLQotaW50ZXJmYWNlIFNlc3Npb24yIHsKLSAgcmVhZG9ubHkg
YXR0cmlidXRlIERPTVN0cmluZyB1c2VybmFtZTsKLX07Ci0KLWludGVyZmFjZSBTZXNzaW9uSXRl
cmF0b3IgewotICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyByZW1haW5pbmdTZXNz
aW9uczsKLX07Ci0KLSAgICAgaW50ZXJmYWNlIE5vZGVMaXN0IHsKLSAgICAgICA8cmVmPk5vZGU8
L3JlZj4gaXRlcmF0b3IgPSBOb2RlSXRlcmF0b3I7Ci0gICAgIH07Ci0KLSAgICAgaW50ZXJmYWNl
IE5vZGVJdGVyYXRvciB7Ci0gICAgICAgPHJlZj5Ob2RlPC9yZWY+IGl0ZXJhdG9yIG9iamVjdDsK
LSAgICAgfTs8L3dlYmlkbD4KLSAgPEludGVyZmFjZSBuYW1lPSJTZXNzaW9uTWFuYWdlciIgaWQ9
Ijo6U2Vzc2lvbk1hbmFnZXIiPgotICAgIDx3ZWJpZGw+aW50ZXJmYWNlIFNlc3Npb25NYW5hZ2Vy
IHsKLSAgPHJlZj5TZXNzaW9uPC9yZWY+IGdldFNlc3Npb25Gb3JVc2VyKERPTVN0cmluZyB1c2Vy
bmFtZSk7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIHNlc3Npb25Db3VudDsK
LQotICA8cmVmPlNlc3Npb248L3JlZj4gaXRlcmF0b3I7Ci19Ozwvd2ViaWRsPgotICAgIDxPcGVy
YXRpb24gbmFtZT0iZ2V0U2Vzc2lvbkZvclVzZXIiIGlkPSI6OlNlc3Npb25NYW5hZ2VyOjpnZXRT
ZXNzaW9uRm9yVXNlciI+Ci0gICAgICA8d2ViaWRsPiAgPHJlZj5TZXNzaW9uPC9yZWY+IGdldFNl
c3Npb25Gb3JVc2VyKERPTVN0cmluZyB1c2VybmFtZSk7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSBu
YW1lPSJTZXNzaW9uIi8+Ci0gICAgICA8QXJndW1lbnRMaXN0PgotICAgICAgICA8QXJndW1lbnQg
bmFtZT0idXNlcm5hbWUiPgotICAgICAgICAgIDxUeXBlIHR5cGU9IkRPTVN0cmluZyIvPgotICAg
ICAgICA8L0FyZ3VtZW50PgotICAgICAgPC9Bcmd1bWVudExpc3Q+Ci0gICAgPC9PcGVyYXRpb24+
Ci0gICAgPEF0dHJpYnV0ZSByZWFkb25seT0icmVhZG9ubHkiIG5hbWU9InNlc3Npb25Db3VudCIg
aWQ9Ijo6U2Vzc2lvbk1hbmFnZXI6OnNlc3Npb25Db3VudCI+Ci0gICAgICA8d2ViaWRsPiAgcmVh
ZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgc2Vzc2lvbkNvdW50Ozwvd2ViaWRsPgotICAg
ICAgPFR5cGUgdHlwZT0idW5zaWduZWQgbG9uZyIvPgotICAgIDwvQXR0cmlidXRlPgotICAgIDxJ
dGVyYXRvcj4KLSAgICAgIDx3ZWJpZGw+ICA8cmVmPlNlc3Npb248L3JlZj4gaXRlcmF0b3I7PC93
ZWJpZGw+Ci0gICAgICA8VHlwZSBuYW1lPSJTZXNzaW9uIi8+Ci0gICAgPC9JdGVyYXRvcj4KLSAg
PC9JbnRlcmZhY2U+Ci0gIDxJbnRlcmZhY2UgbmFtZT0iU2Vzc2lvbiIgaWQ9Ijo6U2Vzc2lvbiI+
Ci0gICAgPHdlYmlkbD5pbnRlcmZhY2UgU2Vzc2lvbiB7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSBE
T01TdHJpbmcgdXNlcm5hbWU7Ci19Ozwvd2ViaWRsPgotICAgIDxBdHRyaWJ1dGUgcmVhZG9ubHk9
InJlYWRvbmx5IiBuYW1lPSJ1c2VybmFtZSIgaWQ9Ijo6U2Vzc2lvbjo6dXNlcm5hbWUiPgotICAg
ICAgPHdlYmlkbD4gIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgdXNlcm5hbWU7PC93ZWJp
ZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJET01TdHJpbmciLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAg
PC9JbnRlcmZhY2U+Ci0gIDxJbnRlcmZhY2UgbmFtZT0iU2Vzc2lvbk1hbmFnZXIyIiBpZD0iOjpT
ZXNzaW9uTWFuYWdlcjIiPgotICAgIDx3ZWJpZGw+aW50ZXJmYWNlIFNlc3Npb25NYW5hZ2VyMiB7
Ci0gIDxyZWY+U2Vzc2lvbjI8L3JlZj4gZ2V0U2Vzc2lvbkZvclVzZXIoRE9NU3RyaW5nIHVzZXJu
YW1lKTsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgc2Vzc2lvbkNvdW50Owot
Ci0gIDxyZWY+U2Vzc2lvbjI8L3JlZj4gaXRlcmF0b3IgPSBTZXNzaW9uSXRlcmF0b3I7Ci19Ozwv
d2ViaWRsPgotICAgIDxPcGVyYXRpb24gbmFtZT0iZ2V0U2Vzc2lvbkZvclVzZXIiIGlkPSI6OlNl
c3Npb25NYW5hZ2VyMjo6Z2V0U2Vzc2lvbkZvclVzZXIiPgotICAgICAgPHdlYmlkbD4gIDxyZWY+
U2Vzc2lvbjI8L3JlZj4gZ2V0U2Vzc2lvbkZvclVzZXIoRE9NU3RyaW5nIHVzZXJuYW1lKTs8L3dl
YmlkbD4KLSAgICAgIDxUeXBlIG5hbWU9IlNlc3Npb24yIi8+Ci0gICAgICA8QXJndW1lbnRMaXN0
PgotICAgICAgICA8QXJndW1lbnQgbmFtZT0idXNlcm5hbWUiPgotICAgICAgICAgIDxUeXBlIHR5
cGU9IkRPTVN0cmluZyIvPgotICAgICAgICA8L0FyZ3VtZW50PgotICAgICAgPC9Bcmd1bWVudExp
c3Q+Ci0gICAgPC9PcGVyYXRpb24+Ci0gICAgPEF0dHJpYnV0ZSByZWFkb25seT0icmVhZG9ubHki
IG5hbWU9InNlc3Npb25Db3VudCIgaWQ9Ijo6U2Vzc2lvbk1hbmFnZXIyOjpzZXNzaW9uQ291bnQi
PgotICAgICAgPHdlYmlkbD4gIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIHNlc3Np
b25Db3VudDs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9InVuc2lnbmVkIGxvbmciLz4KLSAg
ICA8L0F0dHJpYnV0ZT4KLSAgICA8SXRlcmF0b3IgaW50ZXJmYWNlPSJTZXNzaW9uSXRlcmF0b3Ii
PgotICAgICAgPHdlYmlkbD4gIDxyZWY+U2Vzc2lvbjI8L3JlZj4gaXRlcmF0b3IgPSBTZXNzaW9u
SXRlcmF0b3I7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSBuYW1lPSJTZXNzaW9uMiIvPgotICAgIDwv
SXRlcmF0b3I+Ci0gIDwvSW50ZXJmYWNlPgotICA8SW50ZXJmYWNlIG5hbWU9IlNlc3Npb24yIiBp
ZD0iOjpTZXNzaW9uMiI+Ci0gICAgPHdlYmlkbD5pbnRlcmZhY2UgU2Vzc2lvbjIgewotICByZWFk
b25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHVzZXJuYW1lOwotfTs8L3dlYmlkbD4KLSAgICA8QXR0
cmlidXRlIHJlYWRvbmx5PSJyZWFkb25seSIgbmFtZT0idXNlcm5hbWUiIGlkPSI6OlNlc3Npb24y
Ojp1c2VybmFtZSI+Ci0gICAgICA8d2ViaWRsPiAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmlu
ZyB1c2VybmFtZTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9IkRPTVN0cmluZyIvPgotICAg
IDwvQXR0cmlidXRlPgotICA8L0ludGVyZmFjZT4KLSAgPEludGVyZmFjZSBuYW1lPSJTZXNzaW9u
SXRlcmF0b3IiIGlkPSI6OlNlc3Npb25JdGVyYXRvciI+Ci0gICAgPHdlYmlkbD5pbnRlcmZhY2Ug
U2Vzc2lvbkl0ZXJhdG9yIHsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgcmVt
YWluaW5nU2Vzc2lvbnM7Ci19Ozwvd2ViaWRsPgotICAgIDxBdHRyaWJ1dGUgcmVhZG9ubHk9InJl
YWRvbmx5IiBuYW1lPSJyZW1haW5pbmdTZXNzaW9ucyIgaWQ9Ijo6U2Vzc2lvbkl0ZXJhdG9yOjpy
ZW1haW5pbmdTZXNzaW9ucyI+Ci0gICAgICA8d2ViaWRsPiAgcmVhZG9ubHkgYXR0cmlidXRlIHVu
c2lnbmVkIGxvbmcgcmVtYWluaW5nU2Vzc2lvbnM7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBl
PSJ1bnNpZ25lZCBsb25nIi8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gIDwvSW50ZXJmYWNlPgotICA8
SW50ZXJmYWNlIG5hbWU9Ik5vZGVMaXN0IiBpZD0iOjpOb2RlTGlzdCI+Ci0gICAgPHdlYmlkbD4g
ICAgIGludGVyZmFjZSBOb2RlTGlzdCB7Ci0gICAgICAgPHJlZj5Ob2RlPC9yZWY+IGl0ZXJhdG9y
ID0gTm9kZUl0ZXJhdG9yOwotICAgICB9Ozwvd2ViaWRsPgotICAgIDxJdGVyYXRvciBpbnRlcmZh
Y2U9Ik5vZGVJdGVyYXRvciI+Ci0gICAgICA8d2ViaWRsPiAgICAgICA8cmVmPk5vZGU8L3JlZj4g
aXRlcmF0b3IgPSBOb2RlSXRlcmF0b3I7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSBuYW1lPSJOb2Rl
Ii8+Ci0gICAgPC9JdGVyYXRvcj4KLSAgPC9JbnRlcmZhY2U+Ci0gIDxJbnRlcmZhY2UgbmFtZT0i
Tm9kZUl0ZXJhdG9yIiBpZD0iOjpOb2RlSXRlcmF0b3IiPgotICAgIDx3ZWJpZGw+ICAgICBpbnRl
cmZhY2UgTm9kZUl0ZXJhdG9yIHsKLSAgICAgICA8cmVmPk5vZGU8L3JlZj4gaXRlcmF0b3Igb2Jq
ZWN0OwotICAgICB9Ozwvd2ViaWRsPgotICAgIDxJdGVyYXRvck9iamVjdD4KLSAgICAgIDx3ZWJp
ZGw+ICAgICAgIDxyZWY+Tm9kZTwvcmVmPiBpdGVyYXRvciBvYmplY3Q7PC93ZWJpZGw+Ci0gICAg
ICA8VHlwZSBuYW1lPSJOb2RlIi8+Ci0gICAgPC9JdGVyYXRvck9iamVjdD4KLSAgPC9JbnRlcmZh
Y2U+Ci08L0RlZmluaXRpb25zPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3Qv
dmFsaWQveG1sL21vZHVsZS53aWRscHJvY3htbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3Zh
bGlkL3htbC9tb2R1bGUud2lkbHByb2N4bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IGI1NzViODcwNWFmYWMwM2MzYzE1OTRiODFhNGMwODIxNjM0NmUxNTkuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3Qv
dmFsaWQveG1sL21vZHVsZS53aWRscHJvY3htbAorKysgL2Rldi9udWxsCkBAIC0xLDk5ICswLDAg
QEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Ci08IURPQ1RZUEUgRGVm
aW5pdGlvbnMgU1lTVEVNICJ3aWRscHJvY3htbC5kdGQiPgotPERlZmluaXRpb25zPgotICA8TW9k
dWxlIG5hbWU9ImdmeCIgaWQ9Ijo6Z2Z4Ij4KLSAgICA8d2ViaWRsPm1vZHVsZSBnZnggewotCi0g
IG1vZHVsZSBnZW9tIHsKLSAgICBpbnRlcmZhY2UgU2hhcGUgeyAgfTsKLSAgICBpbnRlcmZhY2Ug
UmVjdGFuZ2xlIDogPHJlZj5TaGFwZTwvcmVmPiB7ICB9OwotICAgIGludGVyZmFjZSBQYXRoIDog
PHJlZj5TaGFwZTwvcmVmPiB7ICB9OwotICB9OwotCi0gIGludGVyZmFjZSBHcmFwaGljc0NvbnRl
eHQgewotICAgIHZvaWQgZmlsbFNoYXBlKDxyZWY+Z2VvbTo6U2hhcGU8L3JlZj4gcyk7Ci0gICAg
dm9pZCBzdHJva2VTaGFwZSg8cmVmPmdlb206OlNoYXBlPC9yZWY+IHMpOwotICB9OwotfTs8L3dl
YmlkbD4KLSAgICA8TW9kdWxlIG5hbWU9Imdlb20iIGlkPSI6OmdmeDo6Z2VvbSI+Ci0gICAgICA8
d2ViaWRsPiAgbW9kdWxlIGdlb20gewotICAgIGludGVyZmFjZSBTaGFwZSB7ICB9OwotICAgIGlu
dGVyZmFjZSBSZWN0YW5nbGUgOiA8cmVmPlNoYXBlPC9yZWY+IHsgIH07Ci0gICAgaW50ZXJmYWNl
IFBhdGggOiA8cmVmPlNoYXBlPC9yZWY+IHsgIH07Ci0gIH07PC93ZWJpZGw+Ci0gICAgICA8SW50
ZXJmYWNlIG5hbWU9IlNoYXBlIiBpZD0iOjpnZng6Omdlb206OlNoYXBlIj4KLSAgICAgICAgPHdl
YmlkbD4gICAgaW50ZXJmYWNlIFNoYXBlIHsgIH07PC93ZWJpZGw+Ci0gICAgICA8L0ludGVyZmFj
ZT4KLSAgICAgIDxJbnRlcmZhY2UgbmFtZT0iUmVjdGFuZ2xlIiBpZD0iOjpnZng6Omdlb206OlJl
Y3RhbmdsZSI+Ci0gICAgICAgIDx3ZWJpZGw+ICAgIGludGVyZmFjZSBSZWN0YW5nbGUgOiA8cmVm
PlNoYXBlPC9yZWY+IHsgIH07PC93ZWJpZGw+Ci0gICAgICAgIDxJbnRlcmZhY2VJbmhlcml0YW5j
ZT4KLSAgICAgICAgICA8TmFtZSBuYW1lPSJTaGFwZSIvPgotICAgICAgICA8L0ludGVyZmFjZUlu
aGVyaXRhbmNlPgotICAgICAgPC9JbnRlcmZhY2U+Ci0gICAgICA8SW50ZXJmYWNlIG5hbWU9IlBh
dGgiIGlkPSI6OmdmeDo6Z2VvbTo6UGF0aCI+Ci0gICAgICAgIDx3ZWJpZGw+ICAgIGludGVyZmFj
ZSBQYXRoIDogPHJlZj5TaGFwZTwvcmVmPiB7ICB9Ozwvd2ViaWRsPgotICAgICAgICA8SW50ZXJm
YWNlSW5oZXJpdGFuY2U+Ci0gICAgICAgICAgPE5hbWUgbmFtZT0iU2hhcGUiLz4KLSAgICAgICAg
PC9JbnRlcmZhY2VJbmhlcml0YW5jZT4KLSAgICAgIDwvSW50ZXJmYWNlPgotICAgIDwvTW9kdWxl
PgotICAgIDxJbnRlcmZhY2UgbmFtZT0iR3JhcGhpY3NDb250ZXh0IiBpZD0iOjpnZng6OkdyYXBo
aWNzQ29udGV4dCI+Ci0gICAgICA8d2ViaWRsPiAgaW50ZXJmYWNlIEdyYXBoaWNzQ29udGV4dCB7
Ci0gICAgdm9pZCBmaWxsU2hhcGUoPHJlZj5nZW9tOjpTaGFwZTwvcmVmPiBzKTsKLSAgICB2b2lk
IHN0cm9rZVNoYXBlKDxyZWY+Z2VvbTo6U2hhcGU8L3JlZj4gcyk7Ci0gIH07PC93ZWJpZGw+Ci0g
ICAgICA8T3BlcmF0aW9uIG5hbWU9ImZpbGxTaGFwZSIgaWQ9Ijo6Z2Z4OjpHcmFwaGljc0NvbnRl
eHQ6OmZpbGxTaGFwZSI+Ci0gICAgICAgIDx3ZWJpZGw+ICAgIHZvaWQgZmlsbFNoYXBlKDxyZWY+
Z2VvbTo6U2hhcGU8L3JlZj4gcyk7PC93ZWJpZGw+Ci0gICAgICAgIDxUeXBlIHR5cGU9InZvaWQi
Lz4KLSAgICAgICAgPEFyZ3VtZW50TGlzdD4KLSAgICAgICAgICA8QXJndW1lbnQgbmFtZT0icyI+
Ci0gICAgICAgICAgICA8VHlwZSBuYW1lPSJnZW9tOjpTaGFwZSIvPgotICAgICAgICAgIDwvQXJn
dW1lbnQ+Ci0gICAgICAgIDwvQXJndW1lbnRMaXN0PgotICAgICAgPC9PcGVyYXRpb24+Ci0gICAg
ICA8T3BlcmF0aW9uIG5hbWU9InN0cm9rZVNoYXBlIiBpZD0iOjpnZng6OkdyYXBoaWNzQ29udGV4
dDo6c3Ryb2tlU2hhcGUiPgotICAgICAgICA8d2ViaWRsPiAgICB2b2lkIHN0cm9rZVNoYXBlKDxy
ZWY+Z2VvbTo6U2hhcGU8L3JlZj4gcyk7PC93ZWJpZGw+Ci0gICAgICAgIDxUeXBlIHR5cGU9InZv
aWQiLz4KLSAgICAgICAgPEFyZ3VtZW50TGlzdD4KLSAgICAgICAgICA8QXJndW1lbnQgbmFtZT0i
cyI+Ci0gICAgICAgICAgICA8VHlwZSBuYW1lPSJnZW9tOjpTaGFwZSIvPgotICAgICAgICAgIDwv
QXJndW1lbnQ+Ci0gICAgICAgIDwvQXJndW1lbnRMaXN0PgotICAgICAgPC9PcGVyYXRpb24+Ci0g
ICAgPC9JbnRlcmZhY2U+Ci0gIDwvTW9kdWxlPgotICA8TW9kdWxlIG5hbWU9Imd1aSIgaWQ9Ijo6
Z3VpIj4KLSAgICA8d2ViaWRsPm1vZHVsZSBndWkgewotCi0gIGludGVyZmFjZSBXaWRnZXQgeyAg
IH07Ci0KLSAgaW50ZXJmYWNlIFdpbmRvdyA6IDxyZWY+V2lkZ2V0PC9yZWY+IHsKLSAgICA8cmVm
PmdmeDo6R3JhcGhpY3NDb250ZXh0PC9yZWY+IGdldEdyYXBoaWNzQ29udGV4dCgpOwotICB9Owot
Ci0gIGludGVyZmFjZSBCdXR0b24gOiA8cmVmPldpZGdldDwvcmVmPiB7ICAgfTsKLX07PC93ZWJp
ZGw+Ci0gICAgPEludGVyZmFjZSBuYW1lPSJXaWRnZXQiIGlkPSI6Omd1aTo6V2lkZ2V0Ij4KLSAg
ICAgIDx3ZWJpZGw+ICBpbnRlcmZhY2UgV2lkZ2V0IHsgICB9Ozwvd2ViaWRsPgotICAgIDwvSW50
ZXJmYWNlPgotICAgIDxJbnRlcmZhY2UgbmFtZT0iV2luZG93IiBpZD0iOjpndWk6OldpbmRvdyI+
Ci0gICAgICA8d2ViaWRsPiAgaW50ZXJmYWNlIFdpbmRvdyA6IDxyZWY+V2lkZ2V0PC9yZWY+IHsK
LSAgICA8cmVmPmdmeDo6R3JhcGhpY3NDb250ZXh0PC9yZWY+IGdldEdyYXBoaWNzQ29udGV4dCgp
OwotICB9Ozwvd2ViaWRsPgotICAgICAgPEludGVyZmFjZUluaGVyaXRhbmNlPgotICAgICAgICA8
TmFtZSBuYW1lPSJXaWRnZXQiLz4KLSAgICAgIDwvSW50ZXJmYWNlSW5oZXJpdGFuY2U+Ci0gICAg
ICA8T3BlcmF0aW9uIG5hbWU9ImdldEdyYXBoaWNzQ29udGV4dCIgaWQ9Ijo6Z3VpOjpXaW5kb3c6
OmdldEdyYXBoaWNzQ29udGV4dCI+Ci0gICAgICAgIDx3ZWJpZGw+ICAgIDxyZWY+Z2Z4OjpHcmFw
aGljc0NvbnRleHQ8L3JlZj4gZ2V0R3JhcGhpY3NDb250ZXh0KCk7PC93ZWJpZGw+Ci0gICAgICAg
IDxUeXBlIG5hbWU9ImdmeDo6R3JhcGhpY3NDb250ZXh0Ii8+Ci0gICAgICAgIDxBcmd1bWVudExp
c3QvPgotICAgICAgPC9PcGVyYXRpb24+Ci0gICAgPC9JbnRlcmZhY2U+Ci0gICAgPEludGVyZmFj
ZSBuYW1lPSJCdXR0b24iIGlkPSI6Omd1aTo6QnV0dG9uIj4KLSAgICAgIDx3ZWJpZGw+ICBpbnRl
cmZhY2UgQnV0dG9uIDogPHJlZj5XaWRnZXQ8L3JlZj4geyAgIH07PC93ZWJpZGw+Ci0gICAgICA8
SW50ZXJmYWNlSW5oZXJpdGFuY2U+Ci0gICAgICAgIDxOYW1lIG5hbWU9IldpZGdldCIvPgotICAg
ICAgPC9JbnRlcmZhY2VJbmhlcml0YW5jZT4KLSAgICA8L0ludGVyZmFjZT4KLSAgPC9Nb2R1bGU+
Ci08L0RlZmluaXRpb25zPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFs
aWQveG1sL25hbWVkY29uc3RydWN0b3Iud2lkbHByb2N4bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mv
dGVzdC92YWxpZC94bWwvbmFtZWRjb25zdHJ1Y3Rvci53aWRscHJvY3htbApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggOWY2NjE2MTI4Nzk4Y2U4ZGViOGM3YTEyOTlmOTQzNjZlOWRmM2Mx
NS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvbmFtZWRjb25zdHJ1Y3Rvci53aWRscHJvY3htbAor
KysgL2Rldi9udWxsCkBAIC0xLDMwICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rp
bmc9IlVURi04Ij8+Ci08IURPQ1RZUEUgRGVmaW5pdGlvbnMgU1lTVEVNICJ3aWRscHJvY3htbC5k
dGQiPgotPERlZmluaXRpb25zPgotICA8d2ViaWRsPltOYW1lZENvbnN0cnVjdG9yPUF1ZGlvLAot
IE5hbWVkQ29uc3RydWN0b3I9QXVkaW8oRE9NU3RyaW5nIHNyYyldCi1pbnRlcmZhY2UgSFRNTEF1
ZGlvRWxlbWVudCA6IDxyZWY+SFRNTE1lZGlhRWxlbWVudDwvcmVmPiB7Ci19Ozwvd2ViaWRsPgot
ICA8SW50ZXJmYWNlIG5hbWU9IkhUTUxBdWRpb0VsZW1lbnQiIGlkPSI6OkhUTUxBdWRpb0VsZW1l
bnQiPgotICAgIDx3ZWJpZGw+W05hbWVkQ29uc3RydWN0b3I9QXVkaW8sCi0gTmFtZWRDb25zdHJ1
Y3Rvcj1BdWRpbyhET01TdHJpbmcgc3JjKV0KLWludGVyZmFjZSBIVE1MQXVkaW9FbGVtZW50IDog
PHJlZj5IVE1MTWVkaWFFbGVtZW50PC9yZWY+IHsKLX07PC93ZWJpZGw+Ci0gICAgPEV4dGVuZGVk
QXR0cmlidXRlTGlzdD4KLSAgICAgIDxFeHRlbmRlZEF0dHJpYnV0ZSBuYW1lPSJOYW1lZENvbnN0
cnVjdG9yIiB2YWx1ZT0iQXVkaW8iPgotICAgICAgICA8d2ViaWRsPk5hbWVkQ29uc3RydWN0b3I8
L3dlYmlkbD4KLSAgICAgIDwvRXh0ZW5kZWRBdHRyaWJ1dGU+Ci0gICAgICA8RXh0ZW5kZWRBdHRy
aWJ1dGUgbmFtZT0iTmFtZWRDb25zdHJ1Y3RvciIgdmFsdWU9IkF1ZGlvIj4KLSAgICAgICAgPHdl
YmlkbD4gTmFtZWRDb25zdHJ1Y3Rvcj1BdWRpbyhET01TdHJpbmcgc3JjKTwvd2ViaWRsPgotICAg
ICAgICA8QXJndW1lbnRMaXN0PgotICAgICAgICAgIDxBcmd1bWVudCBuYW1lPSJzcmMiPgotICAg
ICAgICAgICAgPFR5cGUgdHlwZT0iRE9NU3RyaW5nIi8+Ci0gICAgICAgICAgPC9Bcmd1bWVudD4K
LSAgICAgICAgPC9Bcmd1bWVudExpc3Q+Ci0gICAgICA8L0V4dGVuZGVkQXR0cmlidXRlPgotICAg
IDwvRXh0ZW5kZWRBdHRyaWJ1dGVMaXN0PgotICAgIDxJbnRlcmZhY2VJbmhlcml0YW5jZT4KLSAg
ICAgIDxOYW1lIG5hbWU9IkhUTUxNZWRpYUVsZW1lbnQiLz4KLSAgICA8L0ludGVyZmFjZUluaGVy
aXRhbmNlPgotICA8L0ludGVyZmFjZT4KLTwvRGVmaW5pdGlvbnM+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvbmFtZXNwYWNlb2JqZWN0LndpZGxwcm9jeG1s
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL25hbWVzcGFjZW9iamVjdC53aWRs
cHJvY3htbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYWYwY2RlOTM3MTk5NjQyZTU0
M2QxZDMwZDI2Njk3NTQxNjQzODY1MS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvbmFtZXNwYWNl
b2JqZWN0LndpZGxwcm9jeG1sCisrKyAvZGV2L251bGwKQEAgLTEsNjAgKzAsMCBAQAotPD94bWwg
dmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KLTwhRE9DVFlQRSBEZWZpbml0aW9ucyBT
WVNURU0gIndpZGxwcm9jeG1sLmR0ZCI+Ci08RGVmaW5pdGlvbnM+Ci0gIDxNb2R1bGUgbmFtZT0i
YWNtZSIgaWQ9Ijo6YWNtZSI+Ci0gICAgPHdlYmlkbD5bTmFtZXNwYWNlT2JqZWN0XQotbW9kdWxl
IGFjbWUgewotICAKLSAgZXhjZXB0aW9uIERldmljZUV4Y2VwdGlvbiB7IH07Ci0KLSAgbW9kdWxl
IHBpbSB7Ci0KLSAgICBbQ29uc3RydWN0b3JdCi0gICAgaW50ZXJmYWNlIENvbnRhY3QgeyB9Owot
Ci0gICAgW0NvbnN0cnVjdG9yLAotICAgICBOYW1lZENvbnN0cnVjdG9yPVJlY3VycmluZ0V2ZW50
KGxvbmcgZnJlcSldCi0gICAgaW50ZXJmYWNlIENhbGVuZGFyRXZlbnQgeyB9OwotICB9OwotfTs8
L3dlYmlkbD4KLSAgICA8RXh0ZW5kZWRBdHRyaWJ1dGVMaXN0PgotICAgICAgPEV4dGVuZGVkQXR0
cmlidXRlIG5hbWU9Ik5hbWVzcGFjZU9iamVjdCIvPgotICAgIDwvRXh0ZW5kZWRBdHRyaWJ1dGVM
aXN0PgotICAgIDxFeGNlcHRpb24gbmFtZT0iRGV2aWNlRXhjZXB0aW9uIiBpZD0iOjphY21lOjpE
ZXZpY2VFeGNlcHRpb24iPgotICAgICAgPHdlYmlkbD4gIGV4Y2VwdGlvbiBEZXZpY2VFeGNlcHRp
b24geyB9Ozwvd2ViaWRsPgotICAgIDwvRXhjZXB0aW9uPgotICAgIDxNb2R1bGUgbmFtZT0icGlt
IiBpZD0iOjphY21lOjpwaW0iPgotICAgICAgPHdlYmlkbD4gIG1vZHVsZSBwaW0gewotCi0gICAg
W0NvbnN0cnVjdG9yXQotICAgIGludGVyZmFjZSBDb250YWN0IHsgfTsKLQotICAgIFtDb25zdHJ1
Y3RvciwKLSAgICAgTmFtZWRDb25zdHJ1Y3Rvcj1SZWN1cnJpbmdFdmVudChsb25nIGZyZXEpXQot
ICAgIGludGVyZmFjZSBDYWxlbmRhckV2ZW50IHsgfTsKLSAgfTs8L3dlYmlkbD4KLSAgICAgIDxJ
bnRlcmZhY2UgbmFtZT0iQ29udGFjdCIgaWQ9Ijo6YWNtZTo6cGltOjpDb250YWN0Ij4KLSAgICAg
ICAgPHdlYmlkbD4gICAgW0NvbnN0cnVjdG9yXQotICAgIGludGVyZmFjZSBDb250YWN0IHsgfTs8
L3dlYmlkbD4KLSAgICAgICAgPEV4dGVuZGVkQXR0cmlidXRlTGlzdD4KLSAgICAgICAgICA8RXh0
ZW5kZWRBdHRyaWJ1dGUgbmFtZT0iQ29uc3RydWN0b3IiLz4KLSAgICAgICAgPC9FeHRlbmRlZEF0
dHJpYnV0ZUxpc3Q+Ci0gICAgICA8L0ludGVyZmFjZT4KLSAgICAgIDxJbnRlcmZhY2UgbmFtZT0i
Q2FsZW5kYXJFdmVudCIgaWQ9Ijo6YWNtZTo6cGltOjpDYWxlbmRhckV2ZW50Ij4KLSAgICAgICAg
PHdlYmlkbD4gICAgW0NvbnN0cnVjdG9yLAotICAgICBOYW1lZENvbnN0cnVjdG9yPVJlY3Vycmlu
Z0V2ZW50KGxvbmcgZnJlcSldCi0gICAgaW50ZXJmYWNlIENhbGVuZGFyRXZlbnQgeyB9Ozwvd2Vi
aWRsPgotICAgICAgICA8RXh0ZW5kZWRBdHRyaWJ1dGVMaXN0PgotICAgICAgICAgIDxFeHRlbmRl
ZEF0dHJpYnV0ZSBuYW1lPSJDb25zdHJ1Y3RvciIvPgotICAgICAgICAgIDxFeHRlbmRlZEF0dHJp
YnV0ZSBuYW1lPSJOYW1lZENvbnN0cnVjdG9yIiB2YWx1ZT0iUmVjdXJyaW5nRXZlbnQiPgotICAg
ICAgICAgICAgPEFyZ3VtZW50TGlzdD4KLSAgICAgICAgICAgICAgPEFyZ3VtZW50IG5hbWU9ImZy
ZXEiPgotICAgICAgICAgICAgICAgIDxUeXBlIHR5cGU9ImxvbmciLz4KLSAgICAgICAgICAgICAg
PC9Bcmd1bWVudD4KLSAgICAgICAgICAgIDwvQXJndW1lbnRMaXN0PgotICAgICAgICAgIDwvRXh0
ZW5kZWRBdHRyaWJ1dGU+Ci0gICAgICAgIDwvRXh0ZW5kZWRBdHRyaWJ1dGVMaXN0PgotICAgICAg
PC9JbnRlcmZhY2U+Ci0gICAgPC9Nb2R1bGU+Ci0gIDwvTW9kdWxlPgotPC9EZWZpbml0aW9ucz4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9ub2ludGVyZmFj
ZW9iamVjdC53aWRscHJvY3htbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9u
b2ludGVyZmFjZW9iamVjdC53aWRscHJvY3htbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggZjY0ZjExNmI2MGZiOGU1NmI2NTYwYTY5YjFlMmI2N2YxM2FmYWFkOS4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVz
dC92YWxpZC94bWwvbm9pbnRlcmZhY2VvYmplY3Qud2lkbHByb2N4bWwKKysrIC9kZXYvbnVsbApA
QCAtMSwyOCArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/Pgot
PCFET0NUWVBFIERlZmluaXRpb25zIFNZU1RFTSAid2lkbHByb2N4bWwuZHRkIj4KLTxEZWZpbml0
aW9ucz4KLSAgPHdlYmlkbD5bTm9JbnRlcmZhY2VPYmplY3RdCi1pbnRlcmZhY2UgUXVlcnkgewot
ICBhbnkgbG9va3VwRW50cnkodW5zaWduZWQgbG9uZyBrZXkpOwotfTs8L3dlYmlkbD4KLSAgPElu
dGVyZmFjZSBuYW1lPSJRdWVyeSIgaWQ9Ijo6UXVlcnkiPgotICAgIDx3ZWJpZGw+W05vSW50ZXJm
YWNlT2JqZWN0XQotaW50ZXJmYWNlIFF1ZXJ5IHsKLSAgYW55IGxvb2t1cEVudHJ5KHVuc2lnbmVk
IGxvbmcga2V5KTsKLX07PC93ZWJpZGw+Ci0gICAgPEV4dGVuZGVkQXR0cmlidXRlTGlzdD4KLSAg
ICAgIDxFeHRlbmRlZEF0dHJpYnV0ZSBuYW1lPSJOb0ludGVyZmFjZU9iamVjdCI+Ci0gICAgICAg
IDx3ZWJpZGw+Tm9JbnRlcmZhY2VPYmplY3Q8L3dlYmlkbD4KLSAgICAgIDwvRXh0ZW5kZWRBdHRy
aWJ1dGU+Ci0gICAgPC9FeHRlbmRlZEF0dHJpYnV0ZUxpc3Q+Ci0gICAgPE9wZXJhdGlvbiBuYW1l
PSJsb29rdXBFbnRyeSIgaWQ9Ijo6UXVlcnk6Omxvb2t1cEVudHJ5Ij4KLSAgICAgIDx3ZWJpZGw+
ICBhbnkgbG9va3VwRW50cnkodW5zaWduZWQgbG9uZyBrZXkpOzwvd2ViaWRsPgotICAgICAgPFR5
cGUgdHlwZT0iYW55Ii8+Ci0gICAgICA8QXJndW1lbnRMaXN0PgotICAgICAgICA8QXJndW1lbnQg
bmFtZT0ia2V5Ij4KLSAgICAgICAgICA8VHlwZSB0eXBlPSJ1bnNpZ25lZCBsb25nIi8+Ci0gICAg
ICAgIDwvQXJndW1lbnQ+Ci0gICAgICA8L0FyZ3VtZW50TGlzdD4KLSAgICA8L09wZXJhdGlvbj4K
LSAgPC9JbnRlcmZhY2U+Ci08L0RlZmluaXRpb25zPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dp
ZGxwcm9jL3Rlc3QvdmFsaWQveG1sL251bGxhYmxlLndpZGxwcm9jeG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dp
ZGxwcm9jL3Rlc3QvdmFsaWQveG1sL251bGxhYmxlLndpZGxwcm9jeG1sCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCA4NzM5ZTQ0MzI2MmE2MmZjYmU0ZGU4OGRmOGI3YTk4OWU0ZWQ5NTk4
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9udWxsYWJsZS53aWRscHJvY3htbAorKysgL2Rldi9u
dWxsCkBAIC0xLDI5ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04
Ij8+Ci08IURPQ1RZUEUgRGVmaW5pdGlvbnMgU1lTVEVNICJ3aWRscHJvY3htbC5kdGQiPgotPERl
ZmluaXRpb25zPgotICA8d2ViaWRsPmludGVyZmFjZSBNeUNvbnN0YW50cyB7Ci0gIGNvbnN0IGJv
b2xlYW4/IEFSRV9XRV9USEVSRV9ZRVQgPSBmYWxzZTsKLX07Ci0KLWludGVyZmFjZSBOb2RlIHsK
LSAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZz8gbmFtZXNwYWNlVVJJOwotfTs8L3dlYmlk
bD4KLSAgPEludGVyZmFjZSBuYW1lPSJNeUNvbnN0YW50cyIgaWQ9Ijo6TXlDb25zdGFudHMiPgot
ICAgIDx3ZWJpZGw+aW50ZXJmYWNlIE15Q29uc3RhbnRzIHsKLSAgY29uc3QgYm9vbGVhbj8gQVJF
X1dFX1RIRVJFX1lFVCA9IGZhbHNlOwotfTs8L3dlYmlkbD4KLSAgICA8Q29uc3QgbmFtZT0iQVJF
X1dFX1RIRVJFX1lFVCIgdmFsdWU9ImZhbHNlIiBpZD0iOjpNeUNvbnN0YW50czo6QVJFX1dFX1RI
RVJFX1lFVCI+Ci0gICAgICA8d2ViaWRsPiAgY29uc3QgYm9vbGVhbj8gQVJFX1dFX1RIRVJFX1lF
VCA9IGZhbHNlOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0iYm9vbGVhbiIgbnVsbGFibGU9
Im51bGxhYmxlIi8+Ci0gICAgPC9Db25zdD4KLSAgPC9JbnRlcmZhY2U+Ci0gIDxJbnRlcmZhY2Ug
bmFtZT0iTm9kZSIgaWQ9Ijo6Tm9kZSI+Ci0gICAgPHdlYmlkbD5pbnRlcmZhY2UgTm9kZSB7Ci0g
IHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmc/IG5hbWVzcGFjZVVSSTsKLX07PC93ZWJpZGw+
Ci0gICAgPEF0dHJpYnV0ZSByZWFkb25seT0icmVhZG9ubHkiIG5hbWU9Im5hbWVzcGFjZVVSSSIg
aWQ9Ijo6Tm9kZTo6bmFtZXNwYWNlVVJJIj4KLSAgICAgIDx3ZWJpZGw+ICByZWFkb25seSBhdHRy
aWJ1dGUgRE9NU3RyaW5nPyBuYW1lc3BhY2VVUkk7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBl
PSJET01TdHJpbmciIG51bGxhYmxlPSJudWxsYWJsZSIvPgotICAgIDwvQXR0cmlidXRlPgotICA8
L0ludGVyZmFjZT4KLTwvRGVmaW5pdGlvbnM+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHBy
b2MvdGVzdC92YWxpZC94bWwvbnVsbGFibGVvYmplY3RzLndpZGxwcm9jeG1sIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL251bGxhYmxlb2JqZWN0cy53aWRscHJvY3htbApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjJkOWZkZDI1ZDY3YzYxY2RhYjI5ZjY0YzkyNzMz
NDI4OWQwMDQ1NC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvbnVsbGFibGVvYmplY3RzLndpZGxw
cm9jeG1sCisrKyAvZGV2L251bGwKQEAgLTEsNDYgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4w
IiBlbmNvZGluZz0iVVRGLTgiPz4KLTwhRE9DVFlQRSBEZWZpbml0aW9ucyBTWVNURU0gIndpZGxw
cm9jeG1sLmR0ZCI+Ci08RGVmaW5pdGlvbnM+Ci0gIDx3ZWJpZGw+aW50ZXJmYWNlIEEgewotfTsK
LWludGVyZmFjZSBCIHsKLX07Ci1pbnRlcmZhY2UgQyB7Ci0gIHZvaWQgZig8cmVmPkE8L3JlZj4/
IHgpOwotICB2b2lkIGYoPHJlZj5CPC9yZWY+PyB4KTsKLQotfTs8L3dlYmlkbD4KLSAgPEludGVy
ZmFjZSBuYW1lPSJBIiBpZD0iOjpBIj4KLSAgICA8d2ViaWRsPmludGVyZmFjZSBBIHsKLX07PC93
ZWJpZGw+Ci0gIDwvSW50ZXJmYWNlPgotICA8SW50ZXJmYWNlIG5hbWU9IkIiIGlkPSI6OkIiPgot
ICAgIDx3ZWJpZGw+aW50ZXJmYWNlIEIgewotfTs8L3dlYmlkbD4KLSAgPC9JbnRlcmZhY2U+Ci0g
IDxJbnRlcmZhY2UgbmFtZT0iQyIgaWQ9Ijo6QyI+Ci0gICAgPHdlYmlkbD5pbnRlcmZhY2UgQyB7
Ci0gIHZvaWQgZig8cmVmPkE8L3JlZj4/IHgpOwotICB2b2lkIGYoPHJlZj5CPC9yZWY+PyB4KTsK
LQotfTs8L3dlYmlkbD4KLSAgICA8T3BlcmF0aW9uIG5hbWU9ImYiIGlkPSI6OkM6OmYiPgotICAg
ICAgPHdlYmlkbD4gIHZvaWQgZig8cmVmPkE8L3JlZj4/IHgpOzwvd2ViaWRsPgotICAgICAgPFR5
cGUgdHlwZT0idm9pZCIvPgotICAgICAgPEFyZ3VtZW50TGlzdD4KLSAgICAgICAgPEFyZ3VtZW50
IG5hbWU9IngiPgotICAgICAgICAgIDxUeXBlIG5hbWU9IkEiIG51bGxhYmxlPSJudWxsYWJsZSIv
PgotICAgICAgICA8L0FyZ3VtZW50PgotICAgICAgPC9Bcmd1bWVudExpc3Q+Ci0gICAgPC9PcGVy
YXRpb24+Ci0gICAgPE9wZXJhdGlvbiBuYW1lPSJmIiBpZD0iOjpDOjpmIj4KLSAgICAgIDx3ZWJp
ZGw+ICB2b2lkIGYoPHJlZj5CPC9yZWY+PyB4KTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9
InZvaWQiLz4KLSAgICAgIDxBcmd1bWVudExpc3Q+Ci0gICAgICAgIDxBcmd1bWVudCBuYW1lPSJ4
Ij4KLSAgICAgICAgICA8VHlwZSBuYW1lPSJCIiBudWxsYWJsZT0ibnVsbGFibGUiLz4KLSAgICAg
ICAgPC9Bcmd1bWVudD4KLSAgICAgIDwvQXJndW1lbnRMaXN0PgotICAgIDwvT3BlcmF0aW9uPgot
ICA8L0ludGVyZmFjZT4KLTwvRGVmaW5pdGlvbnM+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lk
bHByb2MvdGVzdC92YWxpZC94bWwvb3BlcmF0aW9uLW9wdGlvbmFsLWFyZy53aWRscHJvY3htbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9vcGVyYXRpb24tb3B0aW9uYWwtYXJn
LndpZGxwcm9jeG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1NGFlZjFmODdlMzg3
MGE5M2FmYzlkYzViNzc4NDM0NjlhNjU2MmJmLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9vcGVy
YXRpb24tb3B0aW9uYWwtYXJnLndpZGxwcm9jeG1sCisrKyAvZGV2L251bGwKQEAgLTEsMzAgKzAs
MCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KLTwhRE9DVFlQRSBE
ZWZpbml0aW9ucyBTWVNURU0gIndpZGxwcm9jeG1sLmR0ZCI+Ci08RGVmaW5pdGlvbnM+Ci0gIDx3
ZWJpZGw+aW50ZXJmYWNlIENvbG9yQ3JlYXRvciB7Ci0gIG9iamVjdCBjcmVhdGVDb2xvcihmbG9h
dCB2MSwgZmxvYXQgdjIsIGZsb2F0IHYzLCBvcHRpb25hbCBmbG9hdCBhbHBoYSA9IDMuNSk7Ci19
Ozwvd2ViaWRsPgotICA8SW50ZXJmYWNlIG5hbWU9IkNvbG9yQ3JlYXRvciIgaWQ9Ijo6Q29sb3JD
cmVhdG9yIj4KLSAgICA8d2ViaWRsPmludGVyZmFjZSBDb2xvckNyZWF0b3IgewotICBvYmplY3Qg
Y3JlYXRlQ29sb3IoZmxvYXQgdjEsIGZsb2F0IHYyLCBmbG9hdCB2Mywgb3B0aW9uYWwgZmxvYXQg
YWxwaGEgPSAzLjUpOwotfTs8L3dlYmlkbD4KLSAgICA8T3BlcmF0aW9uIG5hbWU9ImNyZWF0ZUNv
bG9yIiBpZD0iOjpDb2xvckNyZWF0b3I6OmNyZWF0ZUNvbG9yIj4KLSAgICAgIDx3ZWJpZGw+ICBv
YmplY3QgY3JlYXRlQ29sb3IoZmxvYXQgdjEsIGZsb2F0IHYyLCBmbG9hdCB2Mywgb3B0aW9uYWwg
ZmxvYXQgYWxwaGEgPSAzLjUpOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0ib2JqZWN0Ii8+
Ci0gICAgICA8QXJndW1lbnRMaXN0PgotICAgICAgICA8QXJndW1lbnQgbmFtZT0idjEiPgotICAg
ICAgICAgIDxUeXBlIHR5cGU9ImZsb2F0Ii8+Ci0gICAgICAgIDwvQXJndW1lbnQ+Ci0gICAgICAg
IDxBcmd1bWVudCBuYW1lPSJ2MiI+Ci0gICAgICAgICAgPFR5cGUgdHlwZT0iZmxvYXQiLz4KLSAg
ICAgICAgPC9Bcmd1bWVudD4KLSAgICAgICAgPEFyZ3VtZW50IG5hbWU9InYzIj4KLSAgICAgICAg
ICA8VHlwZSB0eXBlPSJmbG9hdCIvPgotICAgICAgICA8L0FyZ3VtZW50PgotICAgICAgICA8QXJn
dW1lbnQgb3B0aW9uYWw9Im9wdGlvbmFsIiBuYW1lPSJhbHBoYSIgdmFsdWU9IjMuNSI+Ci0gICAg
ICAgICAgPFR5cGUgdHlwZT0iZmxvYXQiLz4KLSAgICAgICAgPC9Bcmd1bWVudD4KLSAgICAgIDwv
QXJndW1lbnRMaXN0PgotICAgIDwvT3BlcmF0aW9uPgotICA8L0ludGVyZmFjZT4KLTwvRGVmaW5p
dGlvbnM+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvb3Zl
cmxvYWRpbmcud2lkbHByb2N4bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwv
b3ZlcmxvYWRpbmcud2lkbHByb2N4bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRi
NmRhN2E2OGM3NzljMjg1ZWNhMWRjMzExOTg3YjM0ZjJlOGZjZjUuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFs
aWQveG1sL292ZXJsb2FkaW5nLndpZGxwcm9jeG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTEzICsw
LDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Ci08IURPQ1RZUEUg
RGVmaW5pdGlvbnMgU1lTVEVNICJ3aWRscHJvY3htbC5kdGQiPgotPERlZmluaXRpb25zPgotICA8
d2ViaWRsPmludGVyZmFjZSBBIHsKLX07Ci0KLWludGVyZmFjZSBCIHsKLX07Ci0KLWludGVyZmFj
ZSBDIHsKLSAgdm9pZCBmKDxyZWY+QTwvcmVmPiB4KTsKLSAgdm9pZCBmKDxyZWY+QjwvcmVmPiB4
KTsKLX07Ci0KLWludGVyZmFjZSBBIHsKLXZvaWQgZihET01TdHJpbmcgYSk7Ci12b2lkIGYoW0Fs
bG93QW55XSBET01TdHJpbmcgYSwgRE9NU3RyaW5nIGIsIGZsb2F0Li4uIGMpOwotdm9pZCBmKCk7
Ci12b2lkIGYobG9uZyBhLCBET01TdHJpbmcgYiwgb3B0aW9uYWwgRE9NU3RyaW5nIGMsIGZsb2F0
Li4uIGQpOwotfTs8L3dlYmlkbD4KLSAgPEludGVyZmFjZSBuYW1lPSJBIiBpZD0iOjpBIj4KLSAg
ICA8d2ViaWRsPmludGVyZmFjZSBBIHsKLX07PC93ZWJpZGw+Ci0gIDwvSW50ZXJmYWNlPgotICA8
SW50ZXJmYWNlIG5hbWU9IkIiIGlkPSI6OkIiPgotICAgIDx3ZWJpZGw+aW50ZXJmYWNlIEIgewot
fTs8L3dlYmlkbD4KLSAgPC9JbnRlcmZhY2U+Ci0gIDxJbnRlcmZhY2UgbmFtZT0iQyIgaWQ9Ijo6
QyI+Ci0gICAgPHdlYmlkbD5pbnRlcmZhY2UgQyB7Ci0gIHZvaWQgZig8cmVmPkE8L3JlZj4geCk7
Ci0gIHZvaWQgZig8cmVmPkI8L3JlZj4geCk7Ci19Ozwvd2ViaWRsPgotICAgIDxPcGVyYXRpb24g
bmFtZT0iZiIgaWQ9Ijo6Qzo6ZiI+Ci0gICAgICA8d2ViaWRsPiAgdm9pZCBmKDxyZWY+QTwvcmVm
PiB4KTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9InZvaWQiLz4KLSAgICAgIDxBcmd1bWVu
dExpc3Q+Ci0gICAgICAgIDxBcmd1bWVudCBuYW1lPSJ4Ij4KLSAgICAgICAgICA8VHlwZSBuYW1l
PSJBIi8+Ci0gICAgICAgIDwvQXJndW1lbnQ+Ci0gICAgICA8L0FyZ3VtZW50TGlzdD4KLSAgICA8
L09wZXJhdGlvbj4KLSAgICA8T3BlcmF0aW9uIG5hbWU9ImYiIGlkPSI6OkM6OmYiPgotICAgICAg
PHdlYmlkbD4gIHZvaWQgZig8cmVmPkI8L3JlZj4geCk7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0
eXBlPSJ2b2lkIi8+Ci0gICAgICA8QXJndW1lbnRMaXN0PgotICAgICAgICA8QXJndW1lbnQgbmFt
ZT0ieCI+Ci0gICAgICAgICAgPFR5cGUgbmFtZT0iQiIvPgotICAgICAgICA8L0FyZ3VtZW50Pgot
ICAgICAgPC9Bcmd1bWVudExpc3Q+Ci0gICAgPC9PcGVyYXRpb24+Ci0gIDwvSW50ZXJmYWNlPgot
ICA8SW50ZXJmYWNlIG5hbWU9IkEiIGlkPSI6OkEiPgotICAgIDx3ZWJpZGw+aW50ZXJmYWNlIEEg
ewotdm9pZCBmKERPTVN0cmluZyBhKTsKLXZvaWQgZihbQWxsb3dBbnldIERPTVN0cmluZyBhLCBE
T01TdHJpbmcgYiwgZmxvYXQuLi4gYyk7Ci12b2lkIGYoKTsKLXZvaWQgZihsb25nIGEsIERPTVN0
cmluZyBiLCBvcHRpb25hbCBET01TdHJpbmcgYywgZmxvYXQuLi4gZCk7Ci19Ozwvd2ViaWRsPgot
ICAgIDxPcGVyYXRpb24gbmFtZT0iZiIgaWQ9Ijo6QTo6ZiI+Ci0gICAgICA8d2ViaWRsPiB2b2lk
IGYoRE9NU3RyaW5nIGEpOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0idm9pZCIvPgotICAg
ICAgPEFyZ3VtZW50TGlzdD4KLSAgICAgICAgPEFyZ3VtZW50IG5hbWU9ImEiPgotICAgICAgICAg
IDxUeXBlIHR5cGU9IkRPTVN0cmluZyIvPgotICAgICAgICA8L0FyZ3VtZW50PgotICAgICAgPC9B
cmd1bWVudExpc3Q+Ci0gICAgPC9PcGVyYXRpb24+Ci0gICAgPE9wZXJhdGlvbiBuYW1lPSJmIiBp
ZD0iOjpBOjpmIj4KLSAgICAgIDx3ZWJpZGw+IHZvaWQgZihbQWxsb3dBbnldIERPTVN0cmluZyBh
LCBET01TdHJpbmcgYiwgZmxvYXQuLi4gYyk7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJ2
b2lkIi8+Ci0gICAgICA8QXJndW1lbnRMaXN0PgotICAgICAgICA8QXJndW1lbnQgbmFtZT0iYSI+
Ci0gICAgICAgICAgPEV4dGVuZGVkQXR0cmlidXRlTGlzdD4KLSAgICAgICAgICAgIDxFeHRlbmRl
ZEF0dHJpYnV0ZSBuYW1lPSJBbGxvd0FueSI+Ci0gICAgICAgICAgICAgIDx3ZWJpZGw+QWxsb3dB
bnk8L3dlYmlkbD4KLSAgICAgICAgICAgIDwvRXh0ZW5kZWRBdHRyaWJ1dGU+Ci0gICAgICAgICAg
PC9FeHRlbmRlZEF0dHJpYnV0ZUxpc3Q+Ci0gICAgICAgICAgPFR5cGUgdHlwZT0iRE9NU3RyaW5n
Ii8+Ci0gICAgICAgIDwvQXJndW1lbnQ+Ci0gICAgICAgIDxBcmd1bWVudCBuYW1lPSJiIj4KLSAg
ICAgICAgICA8VHlwZSB0eXBlPSJET01TdHJpbmciLz4KLSAgICAgICAgPC9Bcmd1bWVudD4KLSAg
ICAgICAgPEFyZ3VtZW50IGVsbGlwc2lzPSJlbGxpcHNpcyIgbmFtZT0iYyI+Ci0gICAgICAgICAg
PFR5cGUgdHlwZT0iZmxvYXQiLz4KLSAgICAgICAgPC9Bcmd1bWVudD4KLSAgICAgIDwvQXJndW1l
bnRMaXN0PgotICAgIDwvT3BlcmF0aW9uPgotICAgIDxPcGVyYXRpb24gbmFtZT0iZiIgaWQ9Ijo6
QTo6ZiI+Ci0gICAgICA8d2ViaWRsPiB2b2lkIGYoKTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5
cGU9InZvaWQiLz4KLSAgICAgIDxBcmd1bWVudExpc3QvPgotICAgIDwvT3BlcmF0aW9uPgotICAg
IDxPcGVyYXRpb24gbmFtZT0iZiIgaWQ9Ijo6QTo6ZiI+Ci0gICAgICA8d2ViaWRsPiB2b2lkIGYo
bG9uZyBhLCBET01TdHJpbmcgYiwgb3B0aW9uYWwgRE9NU3RyaW5nIGMsIGZsb2F0Li4uIGQpOzwv
d2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0idm9pZCIvPgotICAgICAgPEFyZ3VtZW50TGlzdD4K
LSAgICAgICAgPEFyZ3VtZW50IG5hbWU9ImEiPgotICAgICAgICAgIDxUeXBlIHR5cGU9Imxvbmci
Lz4KLSAgICAgICAgPC9Bcmd1bWVudD4KLSAgICAgICAgPEFyZ3VtZW50IG5hbWU9ImIiPgotICAg
ICAgICAgIDxUeXBlIHR5cGU9IkRPTVN0cmluZyIvPgotICAgICAgICA8L0FyZ3VtZW50PgotICAg
ICAgICA8QXJndW1lbnQgb3B0aW9uYWw9Im9wdGlvbmFsIiBuYW1lPSJjIj4KLSAgICAgICAgICA8
VHlwZSB0eXBlPSJET01TdHJpbmciLz4KLSAgICAgICAgPC9Bcmd1bWVudD4KLSAgICAgICAgPEFy
Z3VtZW50IGVsbGlwc2lzPSJlbGxpcHNpcyIgbmFtZT0iZCI+Ci0gICAgICAgICAgPFR5cGUgdHlw
ZT0iZmxvYXQiLz4KLSAgICAgICAgPC9Bcmd1bWVudD4KLSAgICAgIDwvQXJndW1lbnRMaXN0Pgot
ICAgIDwvT3BlcmF0aW9uPgotICA8L0ludGVyZmFjZT4KLTwvRGVmaW5pdGlvbnM+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvb3ZlcnJpZGVidWlsdGlucy53
aWRscHJvY3htbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9vdmVycmlkZWJ1
aWx0aW5zLndpZGxwcm9jeG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1NmM5MjUx
N2JlYjY4ZDg1MmM5NjVkMWUzY2MzMTgyYmM5NDYzOGVkLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3ht
bC9vdmVycmlkZWJ1aWx0aW5zLndpZGxwcm9jeG1sCisrKyAvZGV2L251bGwKQEAgLTEsMzQgKzAs
MCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KLTwhRE9DVFlQRSBE
ZWZpbml0aW9ucyBTWVNURU0gIndpZGxwcm9jeG1sLmR0ZCI+Ci08RGVmaW5pdGlvbnM+Ci0gIDx3
ZWJpZGw+W092ZXJyaWRlQnVpbHRpbnNdCi1pbnRlcmZhY2UgU3RyaW5nTWFwMiB7Ci0gIHJlYWRv
bmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxlbmd0aDsKLSAgZ2V0dGVyIERPTVN0cmluZyBs
b29rdXAoRE9NU3RyaW5nIGtleSk7Ci19Ozwvd2ViaWRsPgotICA8SW50ZXJmYWNlIG5hbWU9IlN0
cmluZ01hcDIiIGlkPSI6OlN0cmluZ01hcDIiPgotICAgIDx3ZWJpZGw+W092ZXJyaWRlQnVpbHRp
bnNdCi1pbnRlcmZhY2UgU3RyaW5nTWFwMiB7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25l
ZCBsb25nIGxlbmd0aDsKLSAgZ2V0dGVyIERPTVN0cmluZyBsb29rdXAoRE9NU3RyaW5nIGtleSk7
Ci19Ozwvd2ViaWRsPgotICAgIDxFeHRlbmRlZEF0dHJpYnV0ZUxpc3Q+Ci0gICAgICA8RXh0ZW5k
ZWRBdHRyaWJ1dGUgbmFtZT0iT3ZlcnJpZGVCdWlsdGlucyI+Ci0gICAgICAgIDx3ZWJpZGw+T3Zl
cnJpZGVCdWlsdGluczwvd2ViaWRsPgotICAgICAgPC9FeHRlbmRlZEF0dHJpYnV0ZT4KLSAgICA8
L0V4dGVuZGVkQXR0cmlidXRlTGlzdD4KLSAgICA8QXR0cmlidXRlIHJlYWRvbmx5PSJyZWFkb25s
eSIgbmFtZT0ibGVuZ3RoIiBpZD0iOjpTdHJpbmdNYXAyOjpsZW5ndGgiPgotICAgICAgPHdlYmlk
bD4gIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxlbmd0aDs8L3dlYmlkbD4KLSAg
ICAgIDxUeXBlIHR5cGU9InVuc2lnbmVkIGxvbmciLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAgICA8
T3BlcmF0aW9uIGdldHRlcj0iZ2V0dGVyIiBuYW1lPSJsb29rdXAiIGlkPSI6OlN0cmluZ01hcDI6
Omxvb2t1cCI+Ci0gICAgICA8d2ViaWRsPiAgZ2V0dGVyIERPTVN0cmluZyBsb29rdXAoRE9NU3Ry
aW5nIGtleSk7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJET01TdHJpbmciLz4KLSAgICAg
IDxBcmd1bWVudExpc3Q+Ci0gICAgICAgIDxBcmd1bWVudCBuYW1lPSJrZXkiPgotICAgICAgICAg
IDxUeXBlIHR5cGU9IkRPTVN0cmluZyIvPgotICAgICAgICA8L0FyZ3VtZW50PgotICAgICAgPC9B
cmd1bWVudExpc3Q+Ci0gICAgPC9PcGVyYXRpb24+Ci0gIDwvSW50ZXJmYWNlPgotPC9EZWZpbml0
aW9ucz4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9wYXJ0
aWFsLWludGVyZmFjZS53aWRscHJvY3htbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlk
L3htbC9wYXJ0aWFsLWludGVyZmFjZS53aWRscHJvY3htbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggOGQ3ZGNiNGU0Zjc4NjhmM2U0MmU0MGVhZjM1NmJiNTU4M2VjNGQ3YS4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHBy
b2MvdGVzdC92YWxpZC94bWwvcGFydGlhbC1pbnRlcmZhY2Uud2lkbHByb2N4bWwKKysrIC9kZXYv
bnVsbApAQCAtMSwyOSArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYt
OCI/PgotPCFET0NUWVBFIERlZmluaXRpb25zIFNZU1RFTSAid2lkbHByb2N4bWwuZHRkIj4KLTxE
ZWZpbml0aW9ucz4KLSAgPHdlYmlkbD5pbnRlcmZhY2UgRm9vIHsKLSAgYXR0cmlidXRlIERPTVN0
cmluZyBiYXI7Ci19OwotCi1wYXJ0aWFsIGludGVyZmFjZSBGb28gewotICBhdHRyaWJ1dGUgRE9N
U3RyaW5nIHF1dXg7Ci19Ozwvd2ViaWRsPgotICA8SW50ZXJmYWNlIG5hbWU9IkZvbyIgaWQ9Ijo6
Rm9vIj4KLSAgICA8d2ViaWRsPmludGVyZmFjZSBGb28gewotICBhdHRyaWJ1dGUgRE9NU3RyaW5n
IGJhcjsKLX07PC93ZWJpZGw+Ci0gICAgPEF0dHJpYnV0ZSBuYW1lPSJiYXIiIGlkPSI6OkZvbzo6
YmFyIj4KLSAgICAgIDx3ZWJpZGw+ICBhdHRyaWJ1dGUgRE9NU3RyaW5nIGJhcjs8L3dlYmlkbD4K
LSAgICAgIDxUeXBlIHR5cGU9IkRPTVN0cmluZyIvPgotICAgIDwvQXR0cmlidXRlPgotICA8L0lu
dGVyZmFjZT4KLSAgPEludGVyZmFjZSBuYW1lPSJGb28iIHBhcnRpYWw9InBhcnRpYWwiIGlkPSI6
OkZvbyI+Ci0gICAgPHdlYmlkbD5wYXJ0aWFsIGludGVyZmFjZSBGb28gewotICBhdHRyaWJ1dGUg
RE9NU3RyaW5nIHF1dXg7Ci19Ozwvd2ViaWRsPgotICAgIDxBdHRyaWJ1dGUgbmFtZT0icXV1eCIg
aWQ9Ijo6Rm9vOjpxdXV4Ij4KLSAgICAgIDx3ZWJpZGw+ICBhdHRyaWJ1dGUgRE9NU3RyaW5nIHF1
dXg7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJET01TdHJpbmciLz4KLSAgICA8L0F0dHJp
YnV0ZT4KLSAgPC9JbnRlcmZhY2U+Ci08L0RlZmluaXRpb25zPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL3ByaW1pdGl2ZXMud2lkbHByb2N4bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvcHJpbWl0aXZlcy53aWRscHJvY3htbApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDY5NzdhMmQ3NGU1NzQyZTM1OGQwZDU0ZmVmZTRl
YzFjOGM4MWVlNS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvcHJpbWl0aXZlcy53aWRscHJvY3ht
bAorKysgL2Rldi9udWxsCkBAIC0xLDExMiArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVu
Y29kaW5nPSJVVEYtOCI/PgotPCFET0NUWVBFIERlZmluaXRpb25zIFNZU1RFTSAid2lkbHByb2N4
bWwuZHRkIj4KLTxEZWZpbml0aW9ucz4KLSAgPHdlYmlkbD5pbnRlcmZhY2UgUHJpbWl0aXZlcyB7
Ci0gIGF0dHJpYnV0ZSBib29sZWFuIHRydXRoOwotICBhdHRyaWJ1dGUgYnl0ZSBjaGFyYWN0ZXI7
Ci0gIGF0dHJpYnV0ZSBvY3RldCB2YWx1ZTsKLSAgYXR0cmlidXRlIHNob3J0IG51bWJlcjsKLSAg
YXR0cmlidXRlIHVuc2lnbmVkIHNob3J0IHBvc2l0aXZlOwotICBhdHRyaWJ1dGUgbG9uZyBiaWc7
Ci0gIGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGJpZ3Bvc2l0aXZlOwotICBhdHRyaWJ1dGUgbG9u
ZyBsb25nIGJpZ2JpZzsKLSAgYXR0cmlidXRlICB1bnNpZ25lZCBsb25nIGxvbmcgYmlnYmlncG9z
aXRpdmU7Ci0gIGF0dHJpYnV0ZSBmbG9hdCByZWFsOwotICBhdHRyaWJ1dGUgZG91YmxlIGJpZ3Jl
YWw7IAotICBhdHRyaWJ1dGUgdW5yZXN0cmljdGVkIGZsb2F0IHJlYWx3aXRoaW5maW5pdHk7Ci0g
IGF0dHJpYnV0ZSB1bnJlc3RyaWN0ZWQgZG91YmxlIGJpZ3JlYWx3aXRoaW5maW5pdHk7IAotICBh
dHRyaWJ1dGUgRE9NU3RyaW5nIHN0cmluZzsgCi0gIGF0dHJpYnV0ZSBCeXRlU3RyaW5nIGJ5dGVz
OyAKLSAgYXR0cmlidXRlIERhdGUgZGF0ZTsKLSAgYXR0cmlidXRlIFJlZ0V4cCByZWdleHA7Ci19
Ozwvd2ViaWRsPgotICA8SW50ZXJmYWNlIG5hbWU9IlByaW1pdGl2ZXMiIGlkPSI6OlByaW1pdGl2
ZXMiPgotICAgIDx3ZWJpZGw+aW50ZXJmYWNlIFByaW1pdGl2ZXMgewotICBhdHRyaWJ1dGUgYm9v
bGVhbiB0cnV0aDsKLSAgYXR0cmlidXRlIGJ5dGUgY2hhcmFjdGVyOwotICBhdHRyaWJ1dGUgb2N0
ZXQgdmFsdWU7Ci0gIGF0dHJpYnV0ZSBzaG9ydCBudW1iZXI7Ci0gIGF0dHJpYnV0ZSB1bnNpZ25l
ZCBzaG9ydCBwb3NpdGl2ZTsKLSAgYXR0cmlidXRlIGxvbmcgYmlnOwotICBhdHRyaWJ1dGUgdW5z
aWduZWQgbG9uZyBiaWdwb3NpdGl2ZTsKLSAgYXR0cmlidXRlIGxvbmcgbG9uZyBiaWdiaWc7Ci0g
IGF0dHJpYnV0ZSAgdW5zaWduZWQgbG9uZyBsb25nIGJpZ2JpZ3Bvc2l0aXZlOwotICBhdHRyaWJ1
dGUgZmxvYXQgcmVhbDsKLSAgYXR0cmlidXRlIGRvdWJsZSBiaWdyZWFsOyAKLSAgYXR0cmlidXRl
IHVucmVzdHJpY3RlZCBmbG9hdCByZWFsd2l0aGluZmluaXR5OwotICBhdHRyaWJ1dGUgdW5yZXN0
cmljdGVkIGRvdWJsZSBiaWdyZWFsd2l0aGluZmluaXR5OyAKLSAgYXR0cmlidXRlIERPTVN0cmlu
ZyBzdHJpbmc7IAotICBhdHRyaWJ1dGUgQnl0ZVN0cmluZyBieXRlczsgCi0gIGF0dHJpYnV0ZSBE
YXRlIGRhdGU7Ci0gIGF0dHJpYnV0ZSBSZWdFeHAgcmVnZXhwOwotfTs8L3dlYmlkbD4KLSAgICA8
QXR0cmlidXRlIG5hbWU9InRydXRoIiBpZD0iOjpQcmltaXRpdmVzOjp0cnV0aCI+Ci0gICAgICA8
d2ViaWRsPiAgYXR0cmlidXRlIGJvb2xlYW4gdHJ1dGg7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0
eXBlPSJib29sZWFuIi8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gICAgPEF0dHJpYnV0ZSBuYW1lPSJj
aGFyYWN0ZXIiIGlkPSI6OlByaW1pdGl2ZXM6OmNoYXJhY3RlciI+Ci0gICAgICA8d2ViaWRsPiAg
YXR0cmlidXRlIGJ5dGUgY2hhcmFjdGVyOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0iYnl0
ZSIvPgotICAgIDwvQXR0cmlidXRlPgotICAgIDxBdHRyaWJ1dGUgbmFtZT0idmFsdWUiIGlkPSI6
OlByaW1pdGl2ZXM6OnZhbHVlIj4KLSAgICAgIDx3ZWJpZGw+ICBhdHRyaWJ1dGUgb2N0ZXQgdmFs
dWU7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJvY3RldCIvPgotICAgIDwvQXR0cmlidXRl
PgotICAgIDxBdHRyaWJ1dGUgbmFtZT0ibnVtYmVyIiBpZD0iOjpQcmltaXRpdmVzOjpudW1iZXIi
PgotICAgICAgPHdlYmlkbD4gIGF0dHJpYnV0ZSBzaG9ydCBudW1iZXI7PC93ZWJpZGw+Ci0gICAg
ICA8VHlwZSB0eXBlPSJzaG9ydCIvPgotICAgIDwvQXR0cmlidXRlPgotICAgIDxBdHRyaWJ1dGUg
bmFtZT0icG9zaXRpdmUiIGlkPSI6OlByaW1pdGl2ZXM6OnBvc2l0aXZlIj4KLSAgICAgIDx3ZWJp
ZGw+ICBhdHRyaWJ1dGUgdW5zaWduZWQgc2hvcnQgcG9zaXRpdmU7PC93ZWJpZGw+Ci0gICAgICA8
VHlwZSB0eXBlPSJ1bnNpZ25lZCBzaG9ydCIvPgotICAgIDwvQXR0cmlidXRlPgotICAgIDxBdHRy
aWJ1dGUgbmFtZT0iYmlnIiBpZD0iOjpQcmltaXRpdmVzOjpiaWciPgotICAgICAgPHdlYmlkbD4g
IGF0dHJpYnV0ZSBsb25nIGJpZzs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9ImxvbmciLz4K
LSAgICA8L0F0dHJpYnV0ZT4KLSAgICA8QXR0cmlidXRlIG5hbWU9ImJpZ3Bvc2l0aXZlIiBpZD0i
OjpQcmltaXRpdmVzOjpiaWdwb3NpdGl2ZSI+Ci0gICAgICA8d2ViaWRsPiAgYXR0cmlidXRlIHVu
c2lnbmVkIGxvbmcgYmlncG9zaXRpdmU7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJ1bnNp
Z25lZCBsb25nIi8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gICAgPEF0dHJpYnV0ZSBuYW1lPSJiaWdi
aWciIGlkPSI6OlByaW1pdGl2ZXM6OmJpZ2JpZyI+Ci0gICAgICA8d2ViaWRsPiAgYXR0cmlidXRl
IGxvbmcgbG9uZyBiaWdiaWc7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJsb25nIGxvbmci
Lz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAgICA8QXR0cmlidXRlIG5hbWU9ImJpZ2JpZ3Bvc2l0aXZl
IiBpZD0iOjpQcmltaXRpdmVzOjpiaWdiaWdwb3NpdGl2ZSI+Ci0gICAgICA8d2ViaWRsPiAgYXR0
cmlidXRlICB1bnNpZ25lZCBsb25nIGxvbmcgYmlnYmlncG9zaXRpdmU7PC93ZWJpZGw+Ci0gICAg
ICA8VHlwZSB0eXBlPSJ1bnNpZ25lZCBsb25nIGxvbmciLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAg
ICA8QXR0cmlidXRlIG5hbWU9InJlYWwiIGlkPSI6OlByaW1pdGl2ZXM6OnJlYWwiPgotICAgICAg
PHdlYmlkbD4gIGF0dHJpYnV0ZSBmbG9hdCByZWFsOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlw
ZT0iZmxvYXQiLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAgICA8QXR0cmlidXRlIG5hbWU9ImJpZ3Jl
YWwiIGlkPSI6OlByaW1pdGl2ZXM6OmJpZ3JlYWwiPgotICAgICAgPHdlYmlkbD4gIGF0dHJpYnV0
ZSBkb3VibGUgYmlncmVhbDs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9ImRvdWJsZSIvPgot
ICAgIDwvQXR0cmlidXRlPgotICAgIDxBdHRyaWJ1dGUgbmFtZT0icmVhbHdpdGhpbmZpbml0eSIg
aWQ9Ijo6UHJpbWl0aXZlczo6cmVhbHdpdGhpbmZpbml0eSI+Ci0gICAgICA8d2ViaWRsPiAgYXR0
cmlidXRlIHVucmVzdHJpY3RlZCBmbG9hdCByZWFsd2l0aGluZmluaXR5Ozwvd2ViaWRsPgotICAg
ICAgPFR5cGUgdHlwZT0idW5yZXN0cmljdGVkIGZsb2F0Ii8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0g
ICAgPEF0dHJpYnV0ZSBuYW1lPSJiaWdyZWFsd2l0aGluZmluaXR5IiBpZD0iOjpQcmltaXRpdmVz
OjpiaWdyZWFsd2l0aGluZmluaXR5Ij4KLSAgICAgIDx3ZWJpZGw+ICBhdHRyaWJ1dGUgdW5yZXN0
cmljdGVkIGRvdWJsZSBiaWdyZWFsd2l0aGluZmluaXR5Ozwvd2ViaWRsPgotICAgICAgPFR5cGUg
dHlwZT0idW5yZXN0cmljdGVkIGRvdWJsZSIvPgotICAgIDwvQXR0cmlidXRlPgotICAgIDxBdHRy
aWJ1dGUgbmFtZT0ic3RyaW5nIiBpZD0iOjpQcmltaXRpdmVzOjpzdHJpbmciPgotICAgICAgPHdl
YmlkbD4gIGF0dHJpYnV0ZSBET01TdHJpbmcgc3RyaW5nOzwvd2ViaWRsPgotICAgICAgPFR5cGUg
dHlwZT0iRE9NU3RyaW5nIi8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gICAgPEF0dHJpYnV0ZSBuYW1l
PSJieXRlcyIgaWQ9Ijo6UHJpbWl0aXZlczo6Ynl0ZXMiPgotICAgICAgPHdlYmlkbD4gIGF0dHJp
YnV0ZSBCeXRlU3RyaW5nIGJ5dGVzOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0iQnl0ZVN0
cmluZyIvPgotICAgIDwvQXR0cmlidXRlPgotICAgIDxBdHRyaWJ1dGUgbmFtZT0iZGF0ZSIgaWQ9
Ijo6UHJpbWl0aXZlczo6ZGF0ZSI+Ci0gICAgICA8d2ViaWRsPiAgYXR0cmlidXRlIERhdGUgZGF0
ZTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9IkRhdGUiLz4KLSAgICA8L0F0dHJpYnV0ZT4K
LSAgICA8QXR0cmlidXRlIG5hbWU9InJlZ2V4cCIgaWQ9Ijo6UHJpbWl0aXZlczo6cmVnZXhwIj4K
LSAgICAgIDx3ZWJpZGw+ICBhdHRyaWJ1dGUgUmVnRXhwIHJlZ2V4cDs8L3dlYmlkbD4KLSAgICAg
IDxUeXBlIHR5cGU9IlJlZ0V4cCIvPgotICAgIDwvQXR0cmlidXRlPgotICA8L0ludGVyZmFjZT4K
LTwvRGVmaW5pdGlvbnM+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxp
ZC94bWwvcHJvdG90eXBlcm9vdC53aWRscHJvY3htbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0
L3ZhbGlkL3htbC9wcm90b3R5cGVyb290LndpZGxwcm9jeG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAyZTU2Y2Q3NWVjMzhhMGQwMTdmZTcxMmQyN2UwYzk1NTU5MjQ5MmI5Li4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRs
cHJvYy90ZXN0L3ZhbGlkL3htbC9wcm90b3R5cGVyb290LndpZGxwcm9jeG1sCisrKyAvZGV2L251
bGwKQEAgLTEsMjMgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgi
Pz4KLTwhRE9DVFlQRSBEZWZpbml0aW9ucyBTWVNURU0gIndpZGxwcm9jeG1sLmR0ZCI+Ci08RGVm
aW5pdGlvbnM+Ci0gIDx3ZWJpZGw+W1Byb3RvdHlwZVJvb3RdCi1pbnRlcmZhY2UgTm9kZSB7Ci0g
IHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBzaG9ydCBub2RlVHlwZTsKLX07PC93ZWJpZGw+
Ci0gIDxJbnRlcmZhY2UgbmFtZT0iTm9kZSIgaWQ9Ijo6Tm9kZSI+Ci0gICAgPHdlYmlkbD5bUHJv
dG90eXBlUm9vdF0KLWludGVyZmFjZSBOb2RlIHsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2ln
bmVkIHNob3J0IG5vZGVUeXBlOwotfTs8L3dlYmlkbD4KLSAgICA8RXh0ZW5kZWRBdHRyaWJ1dGVM
aXN0PgotICAgICAgPEV4dGVuZGVkQXR0cmlidXRlIG5hbWU9IlByb3RvdHlwZVJvb3QiPgotICAg
ICAgICA8d2ViaWRsPlByb3RvdHlwZVJvb3Q8L3dlYmlkbD4KLSAgICAgIDwvRXh0ZW5kZWRBdHRy
aWJ1dGU+Ci0gICAgPC9FeHRlbmRlZEF0dHJpYnV0ZUxpc3Q+Ci0gICAgPEF0dHJpYnV0ZSByZWFk
b25seT0icmVhZG9ubHkiIG5hbWU9Im5vZGVUeXBlIiBpZD0iOjpOb2RlOjpub2RlVHlwZSI+Ci0g
ICAgICA8d2ViaWRsPiAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIHNob3J0IG5vZGVUeXBl
Ozwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0idW5zaWduZWQgc2hvcnQiLz4KLSAgICA8L0F0
dHJpYnV0ZT4KLSAgPC9JbnRlcmZhY2U+Ci08L0RlZmluaXRpb25zPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL3B1dGZvcndhcmRzLndpZGxwcm9jeG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL3B1dGZvcndhcmRzLndpZGxwcm9jeG1s
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2MzRmYWQ1NWE1NmQ1M2EyNTNjOWNjNDEw
ODEwMjE2YTA4NDBhOTllLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9wdXRmb3J3YXJkcy53aWRs
cHJvY3htbAorKysgL2Rldi9udWxsCkBAIC0xLDI3ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEu
MCIgZW5jb2Rpbmc9IlVURi04Ij8+Ci08IURPQ1RZUEUgRGVmaW5pdGlvbnMgU1lTVEVNICJ3aWRs
cHJvY3htbC5kdGQiPgotPERlZmluaXRpb25zPgotICA8d2ViaWRsPmludGVyZmFjZSBQZXJzb24g
ewotICBbUHV0Rm9yd2FyZHM9ZnVsbF0gcmVhZG9ubHkgYXR0cmlidXRlIDxyZWY+TmFtZTwvcmVm
PiBuYW1lOwotICBhdHRyaWJ1dGUgdW5zaWduZWQgc2hvcnQgYWdlOwotfTs8L3dlYmlkbD4KLSAg
PEludGVyZmFjZSBuYW1lPSJQZXJzb24iIGlkPSI6OlBlcnNvbiI+Ci0gICAgPHdlYmlkbD5pbnRl
cmZhY2UgUGVyc29uIHsKLSAgW1B1dEZvcndhcmRzPWZ1bGxdIHJlYWRvbmx5IGF0dHJpYnV0ZSA8
cmVmPk5hbWU8L3JlZj4gbmFtZTsKLSAgYXR0cmlidXRlIHVuc2lnbmVkIHNob3J0IGFnZTsKLX07
PC93ZWJpZGw+Ci0gICAgPEF0dHJpYnV0ZSByZWFkb25seT0icmVhZG9ubHkiIG5hbWU9Im5hbWUi
IGlkPSI6OlBlcnNvbjo6bmFtZSI+Ci0gICAgICA8d2ViaWRsPiAgW1B1dEZvcndhcmRzPWZ1bGxd
IHJlYWRvbmx5IGF0dHJpYnV0ZSA8cmVmPk5hbWU8L3JlZj4gbmFtZTs8L3dlYmlkbD4KLSAgICAg
IDxFeHRlbmRlZEF0dHJpYnV0ZUxpc3Q+Ci0gICAgICAgIDxFeHRlbmRlZEF0dHJpYnV0ZSBuYW1l
PSJQdXRGb3J3YXJkcyIgdmFsdWU9ImZ1bGwiPgotICAgICAgICAgIDx3ZWJpZGw+UHV0Rm9yd2Fy
ZHM8L3dlYmlkbD4KLSAgICAgICAgPC9FeHRlbmRlZEF0dHJpYnV0ZT4KLSAgICAgIDwvRXh0ZW5k
ZWRBdHRyaWJ1dGVMaXN0PgotICAgICAgPFR5cGUgbmFtZT0iTmFtZSIvPgotICAgIDwvQXR0cmli
dXRlPgotICAgIDxBdHRyaWJ1dGUgbmFtZT0iYWdlIiBpZD0iOjpQZXJzb246OmFnZSI+Ci0gICAg
ICA8d2ViaWRsPiAgYXR0cmlidXRlIHVuc2lnbmVkIHNob3J0IGFnZTs8L3dlYmlkbD4KLSAgICAg
IDxUeXBlIHR5cGU9InVuc2lnbmVkIHNob3J0Ii8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gIDwvSW50
ZXJmYWNlPgotPC9EZWZpbml0aW9ucz4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90
ZXN0L3ZhbGlkL3htbC9yZWctb3BlcmF0aW9ucy53aWRscHJvY3htbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRs
cHJvYy90ZXN0L3ZhbGlkL3htbC9yZWctb3BlcmF0aW9ucy53aWRscHJvY3htbApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggM2I3NTZlZDY4ZDg5NGI5YTIyZWZmMDA0OTkwNDA1MmI1OGVi
ZTJkNy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvcmVnLW9wZXJhdGlvbnMud2lkbHByb2N4bWwK
KysrIC9kZXYvbnVsbApAQCAtMSw3MCArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29k
aW5nPSJVVEYtOCI/PgotPCFET0NUWVBFIERlZmluaXRpb25zIFNZU1RFTSAid2lkbHByb2N4bWwu
ZHRkIj4KLTxEZWZpbml0aW9ucz4KLSAgPHdlYmlkbD5pbnRlcmZhY2UgRGltZW5zaW9ucyB7Ci0g
IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIHdpZHRoOwotICBhdHRyaWJ1dGUgdW5zaWduZWQgbG9u
ZyBoZWlnaHQ7Ci19OwotCi1leGNlcHRpb24gTm9Qb2ludGVyRGV2aWNlIHsgfTsKLQotaW50ZXJm
YWNlIEJ1dHRvbiB7Ci0KLSAgYm9vbGVhbiBpc01vdXNlT3ZlcigpOwotCi0gIHZvaWQgc2V0RGlt
ZW5zaW9ucyg8cmVmPkRpbWVuc2lvbnM8L3JlZj4gc2l6ZSk7Ci0gIHZvaWQgc2V0RGltZW5zaW9u
cyh1bnNpZ25lZCBsb25nIHdpZHRoLCB1bnNpZ25lZCBsb25nIGhlaWdodCk7Ci19Ozwvd2ViaWRs
PgotICA8SW50ZXJmYWNlIG5hbWU9IkRpbWVuc2lvbnMiIGlkPSI6OkRpbWVuc2lvbnMiPgotICAg
IDx3ZWJpZGw+aW50ZXJmYWNlIERpbWVuc2lvbnMgewotICBhdHRyaWJ1dGUgdW5zaWduZWQgbG9u
ZyB3aWR0aDsKLSAgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgaGVpZ2h0OwotfTs8L3dlYmlkbD4K
LSAgICA8QXR0cmlidXRlIG5hbWU9IndpZHRoIiBpZD0iOjpEaW1lbnNpb25zOjp3aWR0aCI+Ci0g
ICAgICA8d2ViaWRsPiAgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgd2lkdGg7PC93ZWJpZGw+Ci0g
ICAgICA8VHlwZSB0eXBlPSJ1bnNpZ25lZCBsb25nIi8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gICAg
PEF0dHJpYnV0ZSBuYW1lPSJoZWlnaHQiIGlkPSI6OkRpbWVuc2lvbnM6OmhlaWdodCI+Ci0gICAg
ICA8d2ViaWRsPiAgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgaGVpZ2h0Ozwvd2ViaWRsPgotICAg
ICAgPFR5cGUgdHlwZT0idW5zaWduZWQgbG9uZyIvPgotICAgIDwvQXR0cmlidXRlPgotICA8L0lu
dGVyZmFjZT4KLSAgPEV4Y2VwdGlvbiBuYW1lPSJOb1BvaW50ZXJEZXZpY2UiIGlkPSI6Ok5vUG9p
bnRlckRldmljZSI+Ci0gICAgPHdlYmlkbD5leGNlcHRpb24gTm9Qb2ludGVyRGV2aWNlIHsgfTs8
L3dlYmlkbD4KLSAgPC9FeGNlcHRpb24+Ci0gIDxJbnRlcmZhY2UgbmFtZT0iQnV0dG9uIiBpZD0i
OjpCdXR0b24iPgotICAgIDx3ZWJpZGw+aW50ZXJmYWNlIEJ1dHRvbiB7Ci0KLSAgYm9vbGVhbiBp
c01vdXNlT3ZlcigpOwotCi0gIHZvaWQgc2V0RGltZW5zaW9ucyg8cmVmPkRpbWVuc2lvbnM8L3Jl
Zj4gc2l6ZSk7Ci0gIHZvaWQgc2V0RGltZW5zaW9ucyh1bnNpZ25lZCBsb25nIHdpZHRoLCB1bnNp
Z25lZCBsb25nIGhlaWdodCk7Ci19Ozwvd2ViaWRsPgotICAgIDxPcGVyYXRpb24gbmFtZT0iaXNN
b3VzZU92ZXIiIGlkPSI6OkJ1dHRvbjo6aXNNb3VzZU92ZXIiPgotICAgICAgPHdlYmlkbD4gIGJv
b2xlYW4gaXNNb3VzZU92ZXIoKTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9ImJvb2xlYW4i
Lz4KLSAgICAgIDxBcmd1bWVudExpc3QvPgotICAgIDwvT3BlcmF0aW9uPgotICAgIDxPcGVyYXRp
b24gbmFtZT0ic2V0RGltZW5zaW9ucyIgaWQ9Ijo6QnV0dG9uOjpzZXREaW1lbnNpb25zIj4KLSAg
ICAgIDx3ZWJpZGw+ICB2b2lkIHNldERpbWVuc2lvbnMoPHJlZj5EaW1lbnNpb25zPC9yZWY+IHNp
emUpOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0idm9pZCIvPgotICAgICAgPEFyZ3VtZW50
TGlzdD4KLSAgICAgICAgPEFyZ3VtZW50IG5hbWU9InNpemUiPgotICAgICAgICAgIDxUeXBlIG5h
bWU9IkRpbWVuc2lvbnMiLz4KLSAgICAgICAgPC9Bcmd1bWVudD4KLSAgICAgIDwvQXJndW1lbnRM
aXN0PgotICAgIDwvT3BlcmF0aW9uPgotICAgIDxPcGVyYXRpb24gbmFtZT0ic2V0RGltZW5zaW9u
cyIgaWQ9Ijo6QnV0dG9uOjpzZXREaW1lbnNpb25zIj4KLSAgICAgIDx3ZWJpZGw+ICB2b2lkIHNl
dERpbWVuc2lvbnModW5zaWduZWQgbG9uZyB3aWR0aCwgdW5zaWduZWQgbG9uZyBoZWlnaHQpOzwv
d2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0idm9pZCIvPgotICAgICAgPEFyZ3VtZW50TGlzdD4K
LSAgICAgICAgPEFyZ3VtZW50IG5hbWU9IndpZHRoIj4KLSAgICAgICAgICA8VHlwZSB0eXBlPSJ1
bnNpZ25lZCBsb25nIi8+Ci0gICAgICAgIDwvQXJndW1lbnQ+Ci0gICAgICAgIDxBcmd1bWVudCBu
YW1lPSJoZWlnaHQiPgotICAgICAgICAgIDxUeXBlIHR5cGU9InVuc2lnbmVkIGxvbmciLz4KLSAg
ICAgICAgPC9Bcmd1bWVudD4KLSAgICAgIDwvQXJndW1lbnRMaXN0PgotICAgIDwvT3BlcmF0aW9u
PgotICA8L0ludGVyZmFjZT4KLTwvRGVmaW5pdGlvbnM+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
d2lkbHByb2MvdGVzdC92YWxpZC94bWwvcmVwbGFjZWFibGUud2lkbHByb2N4bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvcmVwbGFjZWFibGUud2lkbHByb2N4bWwKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGY5NzYyMTY2ODI1YWE0OTYzZGY3YTYyNWYxNzhjMmU5
ZWRlMjhlZDUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL3JlcGxhY2VhYmxlLndpZGxwcm9jeG1s
CisrKyAvZGV2L251bGwKQEAgLTEsMjggKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNv
ZGluZz0iVVRGLTgiPz4KLTwhRE9DVFlQRSBEZWZpbml0aW9ucyBTWVNURU0gIndpZGxwcm9jeG1s
LmR0ZCI+Ci08RGVmaW5pdGlvbnM+Ci0gIDx3ZWJpZGw+aW50ZXJmYWNlIENvdW50ZXIgewotICBb
UmVwbGFjZWFibGVdIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIHZhbHVlOwotICB2
b2lkIGluY3JlbWVudCgpOwotfTs8L3dlYmlkbD4KLSAgPEludGVyZmFjZSBuYW1lPSJDb3VudGVy
IiBpZD0iOjpDb3VudGVyIj4KLSAgICA8d2ViaWRsPmludGVyZmFjZSBDb3VudGVyIHsKLSAgW1Jl
cGxhY2VhYmxlXSByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyB2YWx1ZTsKLSAgdm9p
ZCBpbmNyZW1lbnQoKTsKLX07PC93ZWJpZGw+Ci0gICAgPEF0dHJpYnV0ZSByZWFkb25seT0icmVh
ZG9ubHkiIG5hbWU9InZhbHVlIiBpZD0iOjpDb3VudGVyOjp2YWx1ZSI+Ci0gICAgICA8d2ViaWRs
PiAgW1JlcGxhY2VhYmxlXSByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyB2YWx1ZTs8
L3dlYmlkbD4KLSAgICAgIDxFeHRlbmRlZEF0dHJpYnV0ZUxpc3Q+Ci0gICAgICAgIDxFeHRlbmRl
ZEF0dHJpYnV0ZSBuYW1lPSJSZXBsYWNlYWJsZSI+Ci0gICAgICAgICAgPHdlYmlkbD5SZXBsYWNl
YWJsZTwvd2ViaWRsPgotICAgICAgICA8L0V4dGVuZGVkQXR0cmlidXRlPgotICAgICAgPC9FeHRl
bmRlZEF0dHJpYnV0ZUxpc3Q+Ci0gICAgICA8VHlwZSB0eXBlPSJ1bnNpZ25lZCBsb25nIi8+Ci0g
ICAgPC9BdHRyaWJ1dGU+Ci0gICAgPE9wZXJhdGlvbiBuYW1lPSJpbmNyZW1lbnQiIGlkPSI6OkNv
dW50ZXI6OmluY3JlbWVudCI+Ci0gICAgICA8d2ViaWRsPiAgdm9pZCBpbmNyZW1lbnQoKTs8L3dl
YmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9InZvaWQiLz4KLSAgICAgIDxBcmd1bWVudExpc3QvPgot
ICAgIDwvT3BlcmF0aW9uPgotICA8L0ludGVyZmFjZT4KLTwvRGVmaW5pdGlvbnM+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvc2VxdWVuY2Uud2lkbHByb2N4
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvc2VxdWVuY2Uud2lkbHByb2N4
bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQ1ZjQ1NjQxNzViOTNiZmFiZGRmNjA2
ODY1NGJjNzYxODFmNTM1ZDYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL3NlcXVlbmNlLndpZGxw
cm9jeG1sCisrKyAvZGV2L251bGwKQEAgLTEsMzIgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4w
IiBlbmNvZGluZz0iVVRGLTgiPz4KLTwhRE9DVFlQRSBEZWZpbml0aW9ucyBTWVNURU0gIndpZGxw
cm9jeG1sLmR0ZCI+Ci08RGVmaW5pdGlvbnM+Ci0gIDx3ZWJpZGw+aW50ZXJmYWNlIENhbnZhcyB7
Ci0gIHZvaWQgZHJhd1BvbHlnb24oc2VxdWVuY2UmbHQ7ZmxvYXQ+IGNvb3JkaW5hdGVzKTsKLSAg
c2VxdWVuY2UmbHQ7ZmxvYXQ+IGdldEluZmxlY3Rpb25Qb2ludHMoKTsKLX07PC93ZWJpZGw+Ci0g
IDxJbnRlcmZhY2UgbmFtZT0iQ2FudmFzIiBpZD0iOjpDYW52YXMiPgotICAgIDx3ZWJpZGw+aW50
ZXJmYWNlIENhbnZhcyB7Ci0gIHZvaWQgZHJhd1BvbHlnb24oc2VxdWVuY2UmbHQ7ZmxvYXQ+IGNv
b3JkaW5hdGVzKTsKLSAgc2VxdWVuY2UmbHQ7ZmxvYXQ+IGdldEluZmxlY3Rpb25Qb2ludHMoKTsK
LX07PC93ZWJpZGw+Ci0gICAgPE9wZXJhdGlvbiBuYW1lPSJkcmF3UG9seWdvbiIgaWQ9Ijo6Q2Fu
dmFzOjpkcmF3UG9seWdvbiI+Ci0gICAgICA8d2ViaWRsPiAgdm9pZCBkcmF3UG9seWdvbihzZXF1
ZW5jZSZsdDtmbG9hdD4gY29vcmRpbmF0ZXMpOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0i
dm9pZCIvPgotICAgICAgPEFyZ3VtZW50TGlzdD4KLSAgICAgICAgPEFyZ3VtZW50IG5hbWU9ImNv
b3JkaW5hdGVzIj4KLSAgICAgICAgICA8VHlwZSB0eXBlPSJzZXF1ZW5jZSI+Ci0gICAgICAgICAg
ICA8VHlwZSB0eXBlPSJmbG9hdCIvPgotICAgICAgICAgIDwvVHlwZT4KLSAgICAgICAgPC9Bcmd1
bWVudD4KLSAgICAgIDwvQXJndW1lbnRMaXN0PgotICAgIDwvT3BlcmF0aW9uPgotICAgIDxPcGVy
YXRpb24gbmFtZT0iZ2V0SW5mbGVjdGlvblBvaW50cyIgaWQ9Ijo6Q2FudmFzOjpnZXRJbmZsZWN0
aW9uUG9pbnRzIj4KLSAgICAgIDx3ZWJpZGw+ICBzZXF1ZW5jZSZsdDtmbG9hdD4gZ2V0SW5mbGVj
dGlvblBvaW50cygpOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0ic2VxdWVuY2UiPgotICAg
ICAgICA8VHlwZSB0eXBlPSJmbG9hdCIvPgotICAgICAgPC9UeXBlPgotICAgICAgPEFyZ3VtZW50
TGlzdC8+Ci0gICAgPC9PcGVyYXRpb24+Ci0gIDwvSW50ZXJmYWNlPgotPC9EZWZpbml0aW9ucz4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9zZXJpYWxpemVy
LndpZGxwcm9jeG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL3NlcmlhbGl6
ZXIud2lkbHByb2N4bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGViNDIxOWY4YTVl
MjU3MWIyYjBiMTU0Y2M2ZjhkYzIzODAwMGUzYTEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL3Nl
cmlhbGl6ZXIud2lkbHByb2N4bWwKKysrIC9kZXYvbnVsbApAQCAtMSwyOTYgKzAsMCBAQAotPD94
bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KLTwhRE9DVFlQRSBEZWZpbml0aW9u
cyBTWVNURU0gIndpZGxwcm9jeG1sLmR0ZCI+Ci08RGVmaW5pdGlvbnM+Ci0gIDx3ZWJpZGw+aW50
ZXJmYWNlIFRyYW5zYWN0aW9uIHsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIDxyZWY+QWNjb3VudDwv
cmVmPiBmcm9tOwotICByZWFkb25seSBhdHRyaWJ1dGUgPHJlZj5BY2NvdW50PC9yZWY+IHRvOwot
ICByZWFkb25seSBhdHRyaWJ1dGUgZmxvYXQgYW1vdW50OwotICByZWFkb25seSBhdHRyaWJ1dGUg
RE9NU3RyaW5nIGRlc2NyaXB0aW9uOwotICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9u
ZyBudW1iZXI7Ci0KLSAgc2VyaWFsaXplcjsKLX07Ci0KLWludGVyZmFjZSBBY2NvdW50IHsKLSAg
YXR0cmlidXRlIERPTVN0cmluZyBuYW1lOwotICBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBudW1i
ZXI7Ci0gIHNlcmlhbGl6ZXIgRE9NU3RyaW5nIHNlcmlhbGl6ZSgpOwotfTsKLQotaW50ZXJmYWNl
IFRyYW5zYWN0aW9uMiB7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSA8cmVmPkFjY291bnQyPC9yZWY+
IGZyb207Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSA8cmVmPkFjY291bnQyPC9yZWY+IHRvOwotICBy
ZWFkb25seSBhdHRyaWJ1dGUgZmxvYXQgYW1vdW50OwotICByZWFkb25seSBhdHRyaWJ1dGUgRE9N
U3RyaW5nIGRlc2NyaXB0aW9uOwotICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBu
dW1iZXI7Ci0KLSAgc2VyaWFsaXplciA9IHsgZnJvbSwgdG8sIGFtb3VudCwgZGVzY3JpcHRpb24g
fTsKLX07Ci0KLWludGVyZmFjZSBBY2NvdW50MiB7Ci0gIGF0dHJpYnV0ZSBET01TdHJpbmcgbmFt
ZTsKLSAgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbnVtYmVyOwotICBzZXJpYWxpemVyID0gbnVt
YmVyOwotfTsKLQotaW50ZXJmYWNlIEFjY291bnQzIHsKLSAgYXR0cmlidXRlIERPTVN0cmluZyBu
YW1lOwotICBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBudW1iZXI7Ci0KLSAgc2VyaWFsaXplciA9
IHsgYXR0cmlidXRlIH07Ci19OwotCi1pbnRlcmZhY2UgQWNjb3VudDQgewotICBnZXR0ZXIgb2Jq
ZWN0IGdldEl0ZW0odW5zaWduZWQgbG9uZyBpbmRleCk7Ci0gIHNlcmlhbGl6ZXIgPSB7IGdldHRl
ciB9OwotfTsKLQotaW50ZXJmYWNlIEFjY291bnQ1IDogPHJlZj5BY2NvdW50PC9yZWY+IHsKLSAg
YXR0cmlidXRlIERPTVN0cmluZyBzZWNvbmRuYW1lOwotICBzZXJpYWxpemVyID0geyBpbmhlcml0
LCBzZWNvbmRuYW1lIH07Ci19OwotCi1pbnRlcmZhY2UgQWNjb3VudDYgOiA8cmVmPkFjY291bnQ8
L3JlZj4gewotICBhdHRyaWJ1dGUgRE9NU3RyaW5nIHNlY29uZG5hbWU7Ci0gIHNlcmlhbGl6ZXIg
PSB7IGluaGVyaXQsIGF0dHJpYnV0ZSB9OwotfTsKLQotaW50ZXJmYWNlIEFjY291bnQ3IHsKLSAg
YXR0cmlidXRlIERPTVN0cmluZyBuYW1lOwotICBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBudW1i
ZXI7Ci0gIHNlcmlhbGl6ZXIgPSBbIG5hbWUsIG51bWJlciBdOwotfTsKLQotaW50ZXJmYWNlIEFj
Y291bnQ4IHsKLSAgZ2V0dGVyIG9iamVjdCBnZXRJdGVtKHVuc2lnbmVkIGxvbmcgaW5kZXgpOwot
ICBzZXJpYWxpemVyID0gWyBnZXR0ZXIgXTsKLX07PC93ZWJpZGw+Ci0gIDxJbnRlcmZhY2UgbmFt
ZT0iVHJhbnNhY3Rpb24iIGlkPSI6OlRyYW5zYWN0aW9uIj4KLSAgICA8d2ViaWRsPmludGVyZmFj
ZSBUcmFuc2FjdGlvbiB7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSA8cmVmPkFjY291bnQ8L3JlZj4g
ZnJvbTsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIDxyZWY+QWNjb3VudDwvcmVmPiB0bzsKLSAgcmVh
ZG9ubHkgYXR0cmlidXRlIGZsb2F0IGFtb3VudDsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0
cmluZyBkZXNjcmlwdGlvbjsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbnVt
YmVyOwotCi0gIHNlcmlhbGl6ZXI7Ci19Ozwvd2ViaWRsPgotICAgIDxBdHRyaWJ1dGUgcmVhZG9u
bHk9InJlYWRvbmx5IiBuYW1lPSJmcm9tIiBpZD0iOjpUcmFuc2FjdGlvbjo6ZnJvbSI+Ci0gICAg
ICA8d2ViaWRsPiAgcmVhZG9ubHkgYXR0cmlidXRlIDxyZWY+QWNjb3VudDwvcmVmPiBmcm9tOzwv
d2ViaWRsPgotICAgICAgPFR5cGUgbmFtZT0iQWNjb3VudCIvPgotICAgIDwvQXR0cmlidXRlPgot
ICAgIDxBdHRyaWJ1dGUgcmVhZG9ubHk9InJlYWRvbmx5IiBuYW1lPSJ0byIgaWQ9Ijo6VHJhbnNh
Y3Rpb246OnRvIj4KLSAgICAgIDx3ZWJpZGw+ICByZWFkb25seSBhdHRyaWJ1dGUgPHJlZj5BY2Nv
dW50PC9yZWY+IHRvOzwvd2ViaWRsPgotICAgICAgPFR5cGUgbmFtZT0iQWNjb3VudCIvPgotICAg
IDwvQXR0cmlidXRlPgotICAgIDxBdHRyaWJ1dGUgcmVhZG9ubHk9InJlYWRvbmx5IiBuYW1lPSJh
bW91bnQiIGlkPSI6OlRyYW5zYWN0aW9uOjphbW91bnQiPgotICAgICAgPHdlYmlkbD4gIHJlYWRv
bmx5IGF0dHJpYnV0ZSBmbG9hdCBhbW91bnQ7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJm
bG9hdCIvPgotICAgIDwvQXR0cmlidXRlPgotICAgIDxBdHRyaWJ1dGUgcmVhZG9ubHk9InJlYWRv
bmx5IiBuYW1lPSJkZXNjcmlwdGlvbiIgaWQ9Ijo6VHJhbnNhY3Rpb246OmRlc2NyaXB0aW9uIj4K
LSAgICAgIDx3ZWJpZGw+ICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGRlc2NyaXB0aW9u
Ozwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0iRE9NU3RyaW5nIi8+Ci0gICAgPC9BdHRyaWJ1
dGU+Ci0gICAgPEF0dHJpYnV0ZSByZWFkb25seT0icmVhZG9ubHkiIG5hbWU9Im51bWJlciIgaWQ9
Ijo6VHJhbnNhY3Rpb246Om51bWJlciI+Ci0gICAgICA8d2ViaWRsPiAgcmVhZG9ubHkgYXR0cmli
dXRlIHVuc2lnbmVkIGxvbmcgbnVtYmVyOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0idW5z
aWduZWQgbG9uZyIvPgotICAgIDwvQXR0cmlidXRlPgotICAgIDxTZXJpYWxpemVyPgotICAgICAg
PHdlYmlkbD4gIHNlcmlhbGl6ZXI7PC93ZWJpZGw+Ci0gICAgPC9TZXJpYWxpemVyPgotICA8L0lu
dGVyZmFjZT4KLSAgPEludGVyZmFjZSBuYW1lPSJBY2NvdW50IiBpZD0iOjpBY2NvdW50Ij4KLSAg
ICA8d2ViaWRsPmludGVyZmFjZSBBY2NvdW50IHsKLSAgYXR0cmlidXRlIERPTVN0cmluZyBuYW1l
OwotICBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBudW1iZXI7Ci0gIHNlcmlhbGl6ZXIgRE9NU3Ry
aW5nIHNlcmlhbGl6ZSgpOwotfTs8L3dlYmlkbD4KLSAgICA8QXR0cmlidXRlIG5hbWU9Im5hbWUi
IGlkPSI6OkFjY291bnQ6Om5hbWUiPgotICAgICAgPHdlYmlkbD4gIGF0dHJpYnV0ZSBET01TdHJp
bmcgbmFtZTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9IkRPTVN0cmluZyIvPgotICAgIDwv
QXR0cmlidXRlPgotICAgIDxBdHRyaWJ1dGUgbmFtZT0ibnVtYmVyIiBpZD0iOjpBY2NvdW50Ojpu
dW1iZXIiPgotICAgICAgPHdlYmlkbD4gIGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIG51bWJlcjs8
L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9InVuc2lnbmVkIGxvbmciLz4KLSAgICA8L0F0dHJp
YnV0ZT4KLSAgICA8T3BlcmF0aW9uIHNlcmlhbGl6ZXI9InNlcmlhbGl6ZXIiIG5hbWU9InNlcmlh
bGl6ZSIgaWQ9Ijo6QWNjb3VudDo6c2VyaWFsaXplIj4KLSAgICAgIDx3ZWJpZGw+ICBzZXJpYWxp
emVyIERPTVN0cmluZyBzZXJpYWxpemUoKTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9IkRP
TVN0cmluZyIvPgotICAgICAgPEFyZ3VtZW50TGlzdC8+Ci0gICAgPC9PcGVyYXRpb24+Ci0gIDwv
SW50ZXJmYWNlPgotICA8SW50ZXJmYWNlIG5hbWU9IlRyYW5zYWN0aW9uMiIgaWQ9Ijo6VHJhbnNh
Y3Rpb24yIj4KLSAgICA8d2ViaWRsPmludGVyZmFjZSBUcmFuc2FjdGlvbjIgewotICByZWFkb25s
eSBhdHRyaWJ1dGUgPHJlZj5BY2NvdW50MjwvcmVmPiBmcm9tOwotICByZWFkb25seSBhdHRyaWJ1
dGUgPHJlZj5BY2NvdW50MjwvcmVmPiB0bzsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIGZsb2F0IGFt
b3VudDsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBkZXNjcmlwdGlvbjsKLSAgcmVh
ZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbnVtYmVyOwotCi0gIHNlcmlhbGl6ZXIgPSB7
IGZyb20sIHRvLCBhbW91bnQsIGRlc2NyaXB0aW9uIH07Ci19Ozwvd2ViaWRsPgotICAgIDxBdHRy
aWJ1dGUgcmVhZG9ubHk9InJlYWRvbmx5IiBuYW1lPSJmcm9tIiBpZD0iOjpUcmFuc2FjdGlvbjI6
OmZyb20iPgotICAgICAgPHdlYmlkbD4gIHJlYWRvbmx5IGF0dHJpYnV0ZSA8cmVmPkFjY291bnQy
PC9yZWY+IGZyb207PC93ZWJpZGw+Ci0gICAgICA8VHlwZSBuYW1lPSJBY2NvdW50MiIvPgotICAg
IDwvQXR0cmlidXRlPgotICAgIDxBdHRyaWJ1dGUgcmVhZG9ubHk9InJlYWRvbmx5IiBuYW1lPSJ0
byIgaWQ9Ijo6VHJhbnNhY3Rpb24yOjp0byI+Ci0gICAgICA8d2ViaWRsPiAgcmVhZG9ubHkgYXR0
cmlidXRlIDxyZWY+QWNjb3VudDI8L3JlZj4gdG87PC93ZWJpZGw+Ci0gICAgICA8VHlwZSBuYW1l
PSJBY2NvdW50MiIvPgotICAgIDwvQXR0cmlidXRlPgotICAgIDxBdHRyaWJ1dGUgcmVhZG9ubHk9
InJlYWRvbmx5IiBuYW1lPSJhbW91bnQiIGlkPSI6OlRyYW5zYWN0aW9uMjo6YW1vdW50Ij4KLSAg
ICAgIDx3ZWJpZGw+ICByZWFkb25seSBhdHRyaWJ1dGUgZmxvYXQgYW1vdW50Ozwvd2ViaWRsPgot
ICAgICAgPFR5cGUgdHlwZT0iZmxvYXQiLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAgICA8QXR0cmli
dXRlIHJlYWRvbmx5PSJyZWFkb25seSIgbmFtZT0iZGVzY3JpcHRpb24iIGlkPSI6OlRyYW5zYWN0
aW9uMjo6ZGVzY3JpcHRpb24iPgotICAgICAgPHdlYmlkbD4gIHJlYWRvbmx5IGF0dHJpYnV0ZSBE
T01TdHJpbmcgZGVzY3JpcHRpb247PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJET01TdHJp
bmciLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAgICA8QXR0cmlidXRlIHJlYWRvbmx5PSJyZWFkb25s
eSIgbmFtZT0ibnVtYmVyIiBpZD0iOjpUcmFuc2FjdGlvbjI6Om51bWJlciI+Ci0gICAgICA8d2Vi
aWRsPiAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbnVtYmVyOzwvd2ViaWRsPgot
ICAgICAgPFR5cGUgdHlwZT0idW5zaWduZWQgbG9uZyIvPgotICAgIDwvQXR0cmlidXRlPgotICAg
IDxTZXJpYWxpemVyPgotICAgICAgPHdlYmlkbD4gIHNlcmlhbGl6ZXIgPSB7IGZyb20sIHRvLCBh
bW91bnQsIGRlc2NyaXB0aW9uIH07PC93ZWJpZGw+Ci0gICAgICA8TWFwIHBhdHRlcm49InNlbGVj
dGlvbiI+Ci0gICAgICAgIDxQYXR0ZXJuQXR0cmlidXRlIG5hbWU9ImZyb20iLz4KLSAgICAgICAg
PFBhdHRlcm5BdHRyaWJ1dGUgbmFtZT0idG8iLz4KLSAgICAgICAgPFBhdHRlcm5BdHRyaWJ1dGUg
bmFtZT0iYW1vdW50Ii8+Ci0gICAgICAgIDxQYXR0ZXJuQXR0cmlidXRlIG5hbWU9ImRlc2NyaXB0
aW9uIi8+Ci0gICAgICA8L01hcD4KLSAgICA8L1NlcmlhbGl6ZXI+Ci0gIDwvSW50ZXJmYWNlPgot
ICA8SW50ZXJmYWNlIG5hbWU9IkFjY291bnQyIiBpZD0iOjpBY2NvdW50MiI+Ci0gICAgPHdlYmlk
bD5pbnRlcmZhY2UgQWNjb3VudDIgewotICBhdHRyaWJ1dGUgRE9NU3RyaW5nIG5hbWU7Ci0gIGF0
dHJpYnV0ZSB1bnNpZ25lZCBsb25nIG51bWJlcjsKLSAgc2VyaWFsaXplciA9IG51bWJlcjsKLX07
PC93ZWJpZGw+Ci0gICAgPEF0dHJpYnV0ZSBuYW1lPSJuYW1lIiBpZD0iOjpBY2NvdW50Mjo6bmFt
ZSI+Ci0gICAgICA8d2ViaWRsPiAgYXR0cmlidXRlIERPTVN0cmluZyBuYW1lOzwvd2ViaWRsPgot
ICAgICAgPFR5cGUgdHlwZT0iRE9NU3RyaW5nIi8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gICAgPEF0
dHJpYnV0ZSBuYW1lPSJudW1iZXIiIGlkPSI6OkFjY291bnQyOjpudW1iZXIiPgotICAgICAgPHdl
YmlkbD4gIGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIG51bWJlcjs8L3dlYmlkbD4KLSAgICAgIDxU
eXBlIHR5cGU9InVuc2lnbmVkIGxvbmciLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAgICA8U2VyaWFs
aXplciBhdHRyaWJ1dGU9Im51bWJlciI+Ci0gICAgICA8d2ViaWRsPiAgc2VyaWFsaXplciA9IG51
bWJlcjs8L3dlYmlkbD4KLSAgICA8L1NlcmlhbGl6ZXI+Ci0gIDwvSW50ZXJmYWNlPgotICA8SW50
ZXJmYWNlIG5hbWU9IkFjY291bnQzIiBpZD0iOjpBY2NvdW50MyI+Ci0gICAgPHdlYmlkbD5pbnRl
cmZhY2UgQWNjb3VudDMgewotICBhdHRyaWJ1dGUgRE9NU3RyaW5nIG5hbWU7Ci0gIGF0dHJpYnV0
ZSB1bnNpZ25lZCBsb25nIG51bWJlcjsKLQotICBzZXJpYWxpemVyID0geyBhdHRyaWJ1dGUgfTsK
LX07PC93ZWJpZGw+Ci0gICAgPEF0dHJpYnV0ZSBuYW1lPSJuYW1lIiBpZD0iOjpBY2NvdW50Mzo6
bmFtZSI+Ci0gICAgICA8d2ViaWRsPiAgYXR0cmlidXRlIERPTVN0cmluZyBuYW1lOzwvd2ViaWRs
PgotICAgICAgPFR5cGUgdHlwZT0iRE9NU3RyaW5nIi8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gICAg
PEF0dHJpYnV0ZSBuYW1lPSJudW1iZXIiIGlkPSI6OkFjY291bnQzOjpudW1iZXIiPgotICAgICAg
PHdlYmlkbD4gIGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIG51bWJlcjs8L3dlYmlkbD4KLSAgICAg
IDxUeXBlIHR5cGU9InVuc2lnbmVkIGxvbmciLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAgICA8U2Vy
aWFsaXplcj4KLSAgICAgIDx3ZWJpZGw+ICBzZXJpYWxpemVyID0geyBhdHRyaWJ1dGUgfTs8L3dl
YmlkbD4KLSAgICAgIDxNYXAgcGF0dGVybj0iYWxsIi8+Ci0gICAgPC9TZXJpYWxpemVyPgotICA8
L0ludGVyZmFjZT4KLSAgPEludGVyZmFjZSBuYW1lPSJBY2NvdW50NCIgaWQ9Ijo6QWNjb3VudDQi
PgotICAgIDx3ZWJpZGw+aW50ZXJmYWNlIEFjY291bnQ0IHsKLSAgZ2V0dGVyIG9iamVjdCBnZXRJ
dGVtKHVuc2lnbmVkIGxvbmcgaW5kZXgpOwotICBzZXJpYWxpemVyID0geyBnZXR0ZXIgfTsKLX07
PC93ZWJpZGw+Ci0gICAgPE9wZXJhdGlvbiBnZXR0ZXI9ImdldHRlciIgbmFtZT0iZ2V0SXRlbSIg
aWQ9Ijo6QWNjb3VudDQ6OmdldEl0ZW0iPgotICAgICAgPHdlYmlkbD4gIGdldHRlciBvYmplY3Qg
Z2V0SXRlbSh1bnNpZ25lZCBsb25nIGluZGV4KTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9
Im9iamVjdCIvPgotICAgICAgPEFyZ3VtZW50TGlzdD4KLSAgICAgICAgPEFyZ3VtZW50IG5hbWU9
ImluZGV4Ij4KLSAgICAgICAgICA8VHlwZSB0eXBlPSJ1bnNpZ25lZCBsb25nIi8+Ci0gICAgICAg
IDwvQXJndW1lbnQ+Ci0gICAgICA8L0FyZ3VtZW50TGlzdD4KLSAgICA8L09wZXJhdGlvbj4KLSAg
ICA8U2VyaWFsaXplcj4KLSAgICAgIDx3ZWJpZGw+ICBzZXJpYWxpemVyID0geyBnZXR0ZXIgfTs8
L3dlYmlkbD4KLSAgICAgIDxNYXAgcGF0dGVybj0iZ2V0dGVyIi8+Ci0gICAgPC9TZXJpYWxpemVy
PgotICA8L0ludGVyZmFjZT4KLSAgPEludGVyZmFjZSBuYW1lPSJBY2NvdW50NSIgaWQ9Ijo6QWNj
b3VudDUiPgotICAgIDx3ZWJpZGw+aW50ZXJmYWNlIEFjY291bnQ1IDogPHJlZj5BY2NvdW50PC9y
ZWY+IHsKLSAgYXR0cmlidXRlIERPTVN0cmluZyBzZWNvbmRuYW1lOwotICBzZXJpYWxpemVyID0g
eyBpbmhlcml0LCBzZWNvbmRuYW1lIH07Ci19Ozwvd2ViaWRsPgotICAgIDxJbnRlcmZhY2VJbmhl
cml0YW5jZT4KLSAgICAgIDxOYW1lIG5hbWU9IkFjY291bnQiLz4KLSAgICA8L0ludGVyZmFjZUlu
aGVyaXRhbmNlPgotICAgIDxBdHRyaWJ1dGUgbmFtZT0ic2Vjb25kbmFtZSIgaWQ9Ijo6QWNjb3Vu
dDU6OnNlY29uZG5hbWUiPgotICAgICAgPHdlYmlkbD4gIGF0dHJpYnV0ZSBET01TdHJpbmcgc2Vj
b25kbmFtZTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9IkRPTVN0cmluZyIvPgotICAgIDwv
QXR0cmlidXRlPgotICAgIDxTZXJpYWxpemVyPgotICAgICAgPHdlYmlkbD4gIHNlcmlhbGl6ZXIg
PSB7IGluaGVyaXQsIHNlY29uZG5hbWUgfTs8L3dlYmlkbD4KLSAgICAgIDxNYXAgaW5oZXJpdD0i
aW5oZXJpdCIgcGF0dGVybj0ic2VsZWN0aW9uIj4KLSAgICAgICAgPFBhdHRlcm5BdHRyaWJ1dGUg
bmFtZT0ic2Vjb25kbmFtZSIvPgotICAgICAgPC9NYXA+Ci0gICAgPC9TZXJpYWxpemVyPgotICA8
L0ludGVyZmFjZT4KLSAgPEludGVyZmFjZSBuYW1lPSJBY2NvdW50NiIgaWQ9Ijo6QWNjb3VudDYi
PgotICAgIDx3ZWJpZGw+aW50ZXJmYWNlIEFjY291bnQ2IDogPHJlZj5BY2NvdW50PC9yZWY+IHsK
LSAgYXR0cmlidXRlIERPTVN0cmluZyBzZWNvbmRuYW1lOwotICBzZXJpYWxpemVyID0geyBpbmhl
cml0LCBhdHRyaWJ1dGUgfTsKLX07PC93ZWJpZGw+Ci0gICAgPEludGVyZmFjZUluaGVyaXRhbmNl
PgotICAgICAgPE5hbWUgbmFtZT0iQWNjb3VudCIvPgotICAgIDwvSW50ZXJmYWNlSW5oZXJpdGFu
Y2U+Ci0gICAgPEF0dHJpYnV0ZSBuYW1lPSJzZWNvbmRuYW1lIiBpZD0iOjpBY2NvdW50Njo6c2Vj
b25kbmFtZSI+Ci0gICAgICA8d2ViaWRsPiAgYXR0cmlidXRlIERPTVN0cmluZyBzZWNvbmRuYW1l
Ozwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0iRE9NU3RyaW5nIi8+Ci0gICAgPC9BdHRyaWJ1
dGU+Ci0gICAgPFNlcmlhbGl6ZXI+Ci0gICAgICA8d2ViaWRsPiAgc2VyaWFsaXplciA9IHsgaW5o
ZXJpdCwgYXR0cmlidXRlIH07PC93ZWJpZGw+Ci0gICAgICA8TWFwIGluaGVyaXQ9ImluaGVyaXQi
IHBhdHRlcm49ImFsbCIvPgotICAgIDwvU2VyaWFsaXplcj4KLSAgPC9JbnRlcmZhY2U+Ci0gIDxJ
bnRlcmZhY2UgbmFtZT0iQWNjb3VudDciIGlkPSI6OkFjY291bnQ3Ij4KLSAgICA8d2ViaWRsPmlu
dGVyZmFjZSBBY2NvdW50NyB7Ci0gIGF0dHJpYnV0ZSBET01TdHJpbmcgbmFtZTsKLSAgYXR0cmli
dXRlIHVuc2lnbmVkIGxvbmcgbnVtYmVyOwotICBzZXJpYWxpemVyID0gWyBuYW1lLCBudW1iZXIg
XTsKLX07PC93ZWJpZGw+Ci0gICAgPEF0dHJpYnV0ZSBuYW1lPSJuYW1lIiBpZD0iOjpBY2NvdW50
Nzo6bmFtZSI+Ci0gICAgICA8d2ViaWRsPiAgYXR0cmlidXRlIERPTVN0cmluZyBuYW1lOzwvd2Vi
aWRsPgotICAgICAgPFR5cGUgdHlwZT0iRE9NU3RyaW5nIi8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0g
ICAgPEF0dHJpYnV0ZSBuYW1lPSJudW1iZXIiIGlkPSI6OkFjY291bnQ3OjpudW1iZXIiPgotICAg
ICAgPHdlYmlkbD4gIGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIG51bWJlcjs8L3dlYmlkbD4KLSAg
ICAgIDxUeXBlIHR5cGU9InVuc2lnbmVkIGxvbmciLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAgICA8
U2VyaWFsaXplcj4KLSAgICAgIDx3ZWJpZGw+ICBzZXJpYWxpemVyID0gWyBuYW1lLCBudW1iZXIg
XTs8L3dlYmlkbD4KLSAgICAgIDxMaXN0IHBhdHRlcm49InNlbGVjdGlvbiI+Ci0gICAgICAgIDxQ
YXR0ZXJuQXR0cmlidXRlIG5hbWU9Im5hbWUiLz4KLSAgICAgICAgPFBhdHRlcm5BdHRyaWJ1dGUg
bmFtZT0ibnVtYmVyIi8+Ci0gICAgICA8L0xpc3Q+Ci0gICAgPC9TZXJpYWxpemVyPgotICA8L0lu
dGVyZmFjZT4KLSAgPEludGVyZmFjZSBuYW1lPSJBY2NvdW50OCIgaWQ9Ijo6QWNjb3VudDgiPgot
ICAgIDx3ZWJpZGw+aW50ZXJmYWNlIEFjY291bnQ4IHsKLSAgZ2V0dGVyIG9iamVjdCBnZXRJdGVt
KHVuc2lnbmVkIGxvbmcgaW5kZXgpOwotICBzZXJpYWxpemVyID0gWyBnZXR0ZXIgXTsKLX07PC93
ZWJpZGw+Ci0gICAgPE9wZXJhdGlvbiBnZXR0ZXI9ImdldHRlciIgbmFtZT0iZ2V0SXRlbSIgaWQ9
Ijo6QWNjb3VudDg6OmdldEl0ZW0iPgotICAgICAgPHdlYmlkbD4gIGdldHRlciBvYmplY3QgZ2V0
SXRlbSh1bnNpZ25lZCBsb25nIGluZGV4KTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9Im9i
amVjdCIvPgotICAgICAgPEFyZ3VtZW50TGlzdD4KLSAgICAgICAgPEFyZ3VtZW50IG5hbWU9Imlu
ZGV4Ij4KLSAgICAgICAgICA8VHlwZSB0eXBlPSJ1bnNpZ25lZCBsb25nIi8+Ci0gICAgICAgIDwv
QXJndW1lbnQ+Ci0gICAgICA8L0FyZ3VtZW50TGlzdD4KLSAgICA8L09wZXJhdGlvbj4KLSAgICA8
U2VyaWFsaXplcj4KLSAgICAgIDx3ZWJpZGw+ICBzZXJpYWxpemVyID0gWyBnZXR0ZXIgXTs8L3dl
YmlkbD4KLSAgICAgIDxMaXN0IHBhdHRlcm49ImdldHRlciIvPgotICAgIDwvU2VyaWFsaXplcj4K
LSAgPC9JbnRlcmZhY2U+Ci08L0RlZmluaXRpb25zPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dp
ZGxwcm9jL3Rlc3QvdmFsaWQveG1sL3NwZWNpYWwtb21pdHRhYmxlLndpZGxwcm9jeG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL3NwZWNpYWwtb21pdHRhYmxlLndpZGxwcm9j
eG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxOTg2ZDE5MGE4MGNkZDk0OWI2NDY1
Y2E2YzcwOGQxNjgxZjBlNDFiLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9zcGVjaWFsLW9taXR0
YWJsZS53aWRscHJvY3htbAorKysgL2Rldi9udWxsCkBAIC0xLDM3ICswLDAgQEAKLTw/eG1sIHZl
cnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Ci08IURPQ1RZUEUgRGVmaW5pdGlvbnMgU1lT
VEVNICJ3aWRscHJvY3htbC5kdGQiPgotPERlZmluaXRpb25zPgotICA8SW50ZXJmYWNlIG5hbWU9
IkRpY3Rpb25hcnkiIGlkPSI6OkRpY3Rpb25hcnkiPgotICAgIDx3ZWJpZGw+aW50ZXJmYWNlIERp
Y3Rpb25hcnkgewotICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBwcm9wZXJ0eUNv
dW50OwotCi0gIG9taXR0YWJsZSBnZXR0ZXIgZmxvYXQgZ2V0UHJvcGVydHkoRE9NU3RyaW5nIHBy
b3BlcnR5TmFtZSk7Ci0gIG9taXR0YWJsZSBzZXR0ZXIgdm9pZCBzZXRQcm9wZXJ0eShET01TdHJp
bmcgcHJvcGVydHlOYW1lLCBmbG9hdCBwcm9wZXJ0eVZhbHVlKTsKLX07PC93ZWJpZGw+Ci0gICAg
PEF0dHJpYnV0ZSByZWFkb25seT0icmVhZG9ubHkiIG5hbWU9InByb3BlcnR5Q291bnQiIGlkPSI6
OkRpY3Rpb25hcnk6OnByb3BlcnR5Q291bnQiPgotICAgICAgPHdlYmlkbD4gIHJlYWRvbmx5IGF0
dHJpYnV0ZSB1bnNpZ25lZCBsb25nIHByb3BlcnR5Q291bnQ7PC93ZWJpZGw+Ci0gICAgICA8VHlw
ZSB0eXBlPSJ1bnNpZ25lZCBsb25nIi8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gICAgPE9wZXJhdGlv
biBvbWl0dGFibGU9Im9taXR0YWJsZSIgZ2V0dGVyPSJnZXR0ZXIiIG5hbWU9ImdldFByb3BlcnR5
IiBpZD0iOjpEaWN0aW9uYXJ5OjpnZXRQcm9wZXJ0eSI+Ci0gICAgICA8d2ViaWRsPiAgb21pdHRh
YmxlIGdldHRlciBmbG9hdCBnZXRQcm9wZXJ0eShET01TdHJpbmcgcHJvcGVydHlOYW1lKTs8L3dl
YmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9ImZsb2F0Ii8+Ci0gICAgICA8QXJndW1lbnRMaXN0Pgot
ICAgICAgICA8QXJndW1lbnQgbmFtZT0icHJvcGVydHlOYW1lIj4KLSAgICAgICAgICA8VHlwZSB0
eXBlPSJET01TdHJpbmciLz4KLSAgICAgICAgPC9Bcmd1bWVudD4KLSAgICAgIDwvQXJndW1lbnRM
aXN0PgotICAgIDwvT3BlcmF0aW9uPgotICAgIDxPcGVyYXRpb24gb21pdHRhYmxlPSJvbWl0dGFi
bGUiIHNldHRlcj0ic2V0dGVyIiBuYW1lPSJzZXRQcm9wZXJ0eSIgaWQ9Ijo6RGljdGlvbmFyeTo6
c2V0UHJvcGVydHkiPgotICAgICAgPHdlYmlkbD4gIG9taXR0YWJsZSBzZXR0ZXIgdm9pZCBzZXRQ
cm9wZXJ0eShET01TdHJpbmcgcHJvcGVydHlOYW1lLCBmbG9hdCBwcm9wZXJ0eVZhbHVlKTs8L3dl
YmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9InZvaWQiLz4KLSAgICAgIDxBcmd1bWVudExpc3Q+Ci0g
ICAgICAgIDxBcmd1bWVudCBuYW1lPSJwcm9wZXJ0eU5hbWUiPgotICAgICAgICAgIDxUeXBlIHR5
cGU9IkRPTVN0cmluZyIvPgotICAgICAgICA8L0FyZ3VtZW50PgotICAgICAgICA8QXJndW1lbnQg
bmFtZT0icHJvcGVydHlWYWx1ZSI+Ci0gICAgICAgICAgPFR5cGUgdHlwZT0iZmxvYXQiLz4KLSAg
ICAgICAgPC9Bcmd1bWVudD4KLSAgICAgIDwvQXJndW1lbnRMaXN0PgotICAgIDwvT3BlcmF0aW9u
PgotICA8L0ludGVyZmFjZT4KLTwvRGVmaW5pdGlvbnM+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
d2lkbHByb2MvdGVzdC92YWxpZC94bWwvc3RhdGljLndpZGxwcm9jeG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dp
ZGxwcm9jL3Rlc3QvdmFsaWQveG1sL3N0YXRpYy53aWRscHJvY3htbApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDNjMTRlMTZlYmE4YzNlZWZlY2YyMGUwMWJkYWJiYWU4MTViNGUyNy4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
d2lkbHByb2MvdGVzdC92YWxpZC94bWwvc3RhdGljLndpZGxwcm9jeG1sCisrKyAvZGV2L251bGwK
QEAgLTEsNTggKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4K
LTwhRE9DVFlQRSBEZWZpbml0aW9ucyBTWVNURU0gIndpZGxwcm9jeG1sLmR0ZCI+Ci08RGVmaW5p
dGlvbnM+Ci0gIDx3ZWJpZGw+aW50ZXJmYWNlIFBvaW50IHsgIH07Ci0KLWludGVyZmFjZSBDaXJj
bGUgewotICBhdHRyaWJ1dGUgZmxvYXQgY3g7Ci0gIGF0dHJpYnV0ZSBmbG9hdCBjeTsKLSAgYXR0
cmlidXRlIGZsb2F0IHJhZGl1czsKLQotICBzdGF0aWMgcmVhZG9ubHkgYXR0cmlidXRlIGxvbmcg
dHJpYW5ndWxhdGlvbkNvdW50OwotICBzdGF0aWMgPHJlZj5Qb2ludDwvcmVmPiB0cmlhbmd1bGF0
ZSg8cmVmPkNpcmNsZTwvcmVmPiBjMSwgPHJlZj5DaXJjbGU8L3JlZj4gYzIsIDxyZWY+Q2lyY2xl
PC9yZWY+IGMzKTsKLX07PC93ZWJpZGw+Ci0gIDxJbnRlcmZhY2UgbmFtZT0iUG9pbnQiIGlkPSI6
OlBvaW50Ij4KLSAgICA8d2ViaWRsPmludGVyZmFjZSBQb2ludCB7ICB9Ozwvd2ViaWRsPgotICA8
L0ludGVyZmFjZT4KLSAgPEludGVyZmFjZSBuYW1lPSJDaXJjbGUiIGlkPSI6OkNpcmNsZSI+Ci0g
ICAgPHdlYmlkbD5pbnRlcmZhY2UgQ2lyY2xlIHsKLSAgYXR0cmlidXRlIGZsb2F0IGN4OwotICBh
dHRyaWJ1dGUgZmxvYXQgY3k7Ci0gIGF0dHJpYnV0ZSBmbG9hdCByYWRpdXM7Ci0KLSAgc3RhdGlj
IHJlYWRvbmx5IGF0dHJpYnV0ZSBsb25nIHRyaWFuZ3VsYXRpb25Db3VudDsKLSAgc3RhdGljIDxy
ZWY+UG9pbnQ8L3JlZj4gdHJpYW5ndWxhdGUoPHJlZj5DaXJjbGU8L3JlZj4gYzEsIDxyZWY+Q2ly
Y2xlPC9yZWY+IGMyLCA8cmVmPkNpcmNsZTwvcmVmPiBjMyk7Ci19Ozwvd2ViaWRsPgotICAgIDxB
dHRyaWJ1dGUgbmFtZT0iY3giIGlkPSI6OkNpcmNsZTo6Y3giPgotICAgICAgPHdlYmlkbD4gIGF0
dHJpYnV0ZSBmbG9hdCBjeDs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9ImZsb2F0Ii8+Ci0g
ICAgPC9BdHRyaWJ1dGU+Ci0gICAgPEF0dHJpYnV0ZSBuYW1lPSJjeSIgaWQ9Ijo6Q2lyY2xlOjpj
eSI+Ci0gICAgICA8d2ViaWRsPiAgYXR0cmlidXRlIGZsb2F0IGN5Ozwvd2ViaWRsPgotICAgICAg
PFR5cGUgdHlwZT0iZmxvYXQiLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAgICA8QXR0cmlidXRlIG5h
bWU9InJhZGl1cyIgaWQ9Ijo6Q2lyY2xlOjpyYWRpdXMiPgotICAgICAgPHdlYmlkbD4gIGF0dHJp
YnV0ZSBmbG9hdCByYWRpdXM7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJmbG9hdCIvPgot
ICAgIDwvQXR0cmlidXRlPgotICAgIDxBdHRyaWJ1dGUgc3RhdGljPSJzdGF0aWMiIHJlYWRvbmx5
PSJyZWFkb25seSIgbmFtZT0idHJpYW5ndWxhdGlvbkNvdW50IiBpZD0iOjpDaXJjbGU6OnRyaWFu
Z3VsYXRpb25Db3VudCI+Ci0gICAgICA8d2ViaWRsPiAgc3RhdGljIHJlYWRvbmx5IGF0dHJpYnV0
ZSBsb25nIHRyaWFuZ3VsYXRpb25Db3VudDs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9Imxv
bmciLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAgICA8T3BlcmF0aW9uIHN0YXRpYz0ic3RhdGljIiBu
YW1lPSJ0cmlhbmd1bGF0ZSIgaWQ9Ijo6Q2lyY2xlOjp0cmlhbmd1bGF0ZSI+Ci0gICAgICA8d2Vi
aWRsPiAgc3RhdGljIDxyZWY+UG9pbnQ8L3JlZj4gdHJpYW5ndWxhdGUoPHJlZj5DaXJjbGU8L3Jl
Zj4gYzEsIDxyZWY+Q2lyY2xlPC9yZWY+IGMyLCA8cmVmPkNpcmNsZTwvcmVmPiBjMyk7PC93ZWJp
ZGw+Ci0gICAgICA8VHlwZSBuYW1lPSJQb2ludCIvPgotICAgICAgPEFyZ3VtZW50TGlzdD4KLSAg
ICAgICAgPEFyZ3VtZW50IG5hbWU9ImMxIj4KLSAgICAgICAgICA8VHlwZSBuYW1lPSJDaXJjbGUi
Lz4KLSAgICAgICAgPC9Bcmd1bWVudD4KLSAgICAgICAgPEFyZ3VtZW50IG5hbWU9ImMyIj4KLSAg
ICAgICAgICA8VHlwZSBuYW1lPSJDaXJjbGUiLz4KLSAgICAgICAgPC9Bcmd1bWVudD4KLSAgICAg
ICAgPEFyZ3VtZW50IG5hbWU9ImMzIj4KLSAgICAgICAgICA8VHlwZSBuYW1lPSJDaXJjbGUiLz4K
LSAgICAgICAgPC9Bcmd1bWVudD4KLSAgICAgIDwvQXJndW1lbnRMaXN0PgotICAgIDwvT3BlcmF0
aW9uPgotICA8L0ludGVyZmFjZT4KLTwvRGVmaW5pdGlvbnM+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvc3RyaW5naWZpZXItYXR0cmlidXRlLndpZGxwcm9j
eG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL3N0cmluZ2lmaWVyLWF0dHJp
YnV0ZS53aWRscHJvY3htbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDgyY2U0ZDM0
MWJiZjQ2MjkwNzNhNjY1ZGQ3OWFkYTU3Mjg1NTBmNy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwv
c3RyaW5naWZpZXItYXR0cmlidXRlLndpZGxwcm9jeG1sCisrKyAvZGV2L251bGwKQEAgLTEsMjkg
KzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KLTwhRE9DVFlQ
RSBEZWZpbml0aW9ucyBTWVNURU0gIndpZGxwcm9jeG1sLmR0ZCI+Ci08RGVmaW5pdGlvbnM+Ci0g
IDx3ZWJpZGw+W0NvbnN0cnVjdG9yXQotaW50ZXJmYWNlIFN0dWRlbnQgewotICBhdHRyaWJ1dGUg
dW5zaWduZWQgbG9uZyBpZDsKLSAgc3RyaW5naWZpZXIgYXR0cmlidXRlIERPTVN0cmluZyBuYW1l
OwotfTs8L3dlYmlkbD4KLSAgPEludGVyZmFjZSBuYW1lPSJTdHVkZW50IiBpZD0iOjpTdHVkZW50
Ij4KLSAgICA8d2ViaWRsPltDb25zdHJ1Y3Rvcl0KLWludGVyZmFjZSBTdHVkZW50IHsKLSAgYXR0
cmlidXRlIHVuc2lnbmVkIGxvbmcgaWQ7Ci0gIHN0cmluZ2lmaWVyIGF0dHJpYnV0ZSBET01TdHJp
bmcgbmFtZTsKLX07PC93ZWJpZGw+Ci0gICAgPEV4dGVuZGVkQXR0cmlidXRlTGlzdD4KLSAgICAg
IDxFeHRlbmRlZEF0dHJpYnV0ZSBuYW1lPSJDb25zdHJ1Y3RvciI+Ci0gICAgICAgIDx3ZWJpZGw+
Q29uc3RydWN0b3I8L3dlYmlkbD4KLSAgICAgIDwvRXh0ZW5kZWRBdHRyaWJ1dGU+Ci0gICAgPC9F
eHRlbmRlZEF0dHJpYnV0ZUxpc3Q+Ci0gICAgPEF0dHJpYnV0ZSBuYW1lPSJpZCIgaWQ9Ijo6U3R1
ZGVudDo6aWQiPgotICAgICAgPHdlYmlkbD4gIGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGlkOzwv
d2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0idW5zaWduZWQgbG9uZyIvPgotICAgIDwvQXR0cmli
dXRlPgotICAgIDxBdHRyaWJ1dGUgc3RyaW5naWZpZXI9InN0cmluZ2lmaWVyIiBuYW1lPSJuYW1l
IiBpZD0iOjpTdHVkZW50OjpuYW1lIj4KLSAgICAgIDx3ZWJpZGw+ICBzdHJpbmdpZmllciBhdHRy
aWJ1dGUgRE9NU3RyaW5nIG5hbWU7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJET01TdHJp
bmciLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAgPC9JbnRlcmZhY2U+Ci08L0RlZmluaXRpb25zPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL3N0cmluZ2lmaWVy
LWN1c3RvbS53aWRscHJvY3htbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9z
dHJpbmdpZmllci1jdXN0b20ud2lkbHByb2N4bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IGNkYWIxY2NmYzM3YzFhODU0YmE5ZjE5YTRiMDY0YzQxNDEzYzUyMDYuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rl
c3QvdmFsaWQveG1sL3N0cmluZ2lmaWVyLWN1c3RvbS53aWRscHJvY3htbAorKysgL2Rldi9udWxs
CkBAIC0xLDQ0ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+
Ci08IURPQ1RZUEUgRGVmaW5pdGlvbnMgU1lTVEVNICJ3aWRscHJvY3htbC5kdGQiPgotPERlZmlu
aXRpb25zPgotICA8d2ViaWRsPltDb25zdHJ1Y3Rvcl0KLWludGVyZmFjZSBTdHVkZW50IHsKLSAg
YXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgaWQ7Ci0gIGF0dHJpYnV0ZSBET01TdHJpbmc/IGZhbWls
eU5hbWU7Ci0gIGF0dHJpYnV0ZSBET01TdHJpbmcgZ2l2ZW5OYW1lOwotCi0gIHN0cmluZ2lmaWVy
IERPTVN0cmluZyAoKTsKLX07PC93ZWJpZGw+Ci0gIDxJbnRlcmZhY2UgbmFtZT0iU3R1ZGVudCIg
aWQ9Ijo6U3R1ZGVudCI+Ci0gICAgPHdlYmlkbD5bQ29uc3RydWN0b3JdCi1pbnRlcmZhY2UgU3R1
ZGVudCB7Ci0gIGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGlkOwotICBhdHRyaWJ1dGUgRE9NU3Ry
aW5nPyBmYW1pbHlOYW1lOwotICBhdHRyaWJ1dGUgRE9NU3RyaW5nIGdpdmVuTmFtZTsKLQotICBz
dHJpbmdpZmllciBET01TdHJpbmcgKCk7Ci19Ozwvd2ViaWRsPgotICAgIDxFeHRlbmRlZEF0dHJp
YnV0ZUxpc3Q+Ci0gICAgICA8RXh0ZW5kZWRBdHRyaWJ1dGUgbmFtZT0iQ29uc3RydWN0b3IiPgot
ICAgICAgICA8d2ViaWRsPkNvbnN0cnVjdG9yPC93ZWJpZGw+Ci0gICAgICA8L0V4dGVuZGVkQXR0
cmlidXRlPgotICAgIDwvRXh0ZW5kZWRBdHRyaWJ1dGVMaXN0PgotICAgIDxBdHRyaWJ1dGUgbmFt
ZT0iaWQiIGlkPSI6OlN0dWRlbnQ6OmlkIj4KLSAgICAgIDx3ZWJpZGw+ICBhdHRyaWJ1dGUgdW5z
aWduZWQgbG9uZyBpZDs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9InVuc2lnbmVkIGxvbmci
Lz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAgICA8QXR0cmlidXRlIG5hbWU9ImZhbWlseU5hbWUiIGlk
PSI6OlN0dWRlbnQ6OmZhbWlseU5hbWUiPgotICAgICAgPHdlYmlkbD4gIGF0dHJpYnV0ZSBET01T
dHJpbmc/IGZhbWlseU5hbWU7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJET01TdHJpbmci
IG51bGxhYmxlPSJudWxsYWJsZSIvPgotICAgIDwvQXR0cmlidXRlPgotICAgIDxBdHRyaWJ1dGUg
bmFtZT0iZ2l2ZW5OYW1lIiBpZD0iOjpTdHVkZW50OjpnaXZlbk5hbWUiPgotICAgICAgPHdlYmlk
bD4gIGF0dHJpYnV0ZSBET01TdHJpbmcgZ2l2ZW5OYW1lOzwvd2ViaWRsPgotICAgICAgPFR5cGUg
dHlwZT0iRE9NU3RyaW5nIi8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gICAgPE9wZXJhdGlvbiBzdHJp
bmdpZmllcj0ic3RyaW5naWZpZXIiPgotICAgICAgPHdlYmlkbD4gIHN0cmluZ2lmaWVyIERPTVN0
cmluZyAoKTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9IkRPTVN0cmluZyIvPgotICAgICAg
PEFyZ3VtZW50TGlzdC8+Ci0gICAgPC9PcGVyYXRpb24+Ci0gIDwvSW50ZXJmYWNlPgotPC9EZWZp
bml0aW9ucz4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9z
dHJpbmdpZmllci53aWRscHJvY3htbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3ht
bC9zdHJpbmdpZmllci53aWRscHJvY3htbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
NGExOGI4MGI3MDRiNGY0Njk1NTI5YWI0ZmE1NzA0YzIzZGQzMzBhYy4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92
YWxpZC94bWwvc3RyaW5naWZpZXIud2lkbHByb2N4bWwKKysrIC9kZXYvbnVsbApAQCAtMSwyOSAr
MCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgotPCFET0NUWVBF
IERlZmluaXRpb25zIFNZU1RFTSAid2lkbHByb2N4bWwuZHRkIj4KLTxEZWZpbml0aW9ucz4KLSAg
PHdlYmlkbD5pbnRlcmZhY2UgQSB7Ci0gIHN0cmluZ2lmaWVyIERPTVN0cmluZyAoKTsKLX07Ci0K
LWludGVyZmFjZSBBIHsKLSAgc3RyaW5naWZpZXI7Ci19Ozwvd2ViaWRsPgotICA8SW50ZXJmYWNl
IG5hbWU9IkEiIGlkPSI6OkEiPgotICAgIDx3ZWJpZGw+aW50ZXJmYWNlIEEgewotICBzdHJpbmdp
ZmllciBET01TdHJpbmcgKCk7Ci19Ozwvd2ViaWRsPgotICAgIDxPcGVyYXRpb24gc3RyaW5naWZp
ZXI9InN0cmluZ2lmaWVyIj4KLSAgICAgIDx3ZWJpZGw+ICBzdHJpbmdpZmllciBET01TdHJpbmcg
KCk7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJET01TdHJpbmciLz4KLSAgICAgIDxBcmd1
bWVudExpc3QvPgotICAgIDwvT3BlcmF0aW9uPgotICA8L0ludGVyZmFjZT4KLSAgPEludGVyZmFj
ZSBuYW1lPSJBIiBpZD0iOjpBIj4KLSAgICA8d2ViaWRsPmludGVyZmFjZSBBIHsKLSAgc3RyaW5n
aWZpZXI7Ci19Ozwvd2ViaWRsPgotICAgIDxTdHJpbmdpZmllcj4KLSAgICAgIDx3ZWJpZGw+ICBz
dHJpbmdpZmllcjs8L3dlYmlkbD4KLSAgICA8L1N0cmluZ2lmaWVyPgotICA8L0ludGVyZmFjZT4K
LTwvRGVmaW5pdGlvbnM+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxp
ZC94bWwvdHJlYXRhc251bGwud2lkbHByb2N4bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92
YWxpZC94bWwvdHJlYXRhc251bGwud2lkbHByb2N4bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IGE1N2FlMTYzZjBiOTg3NzRkYzg0ZGIxYTk3NWZmNzc5OTJhOGNlZDMuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9j
L3Rlc3QvdmFsaWQveG1sL3RyZWF0YXNudWxsLndpZGxwcm9jeG1sCisrKyAvZGV2L251bGwKQEAg
LTEsNDAgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KLTwh
RE9DVFlQRSBEZWZpbml0aW9ucyBTWVNURU0gIndpZGxwcm9jeG1sLmR0ZCI+Ci08RGVmaW5pdGlv
bnM+Ci0gIDx3ZWJpZGw+aW50ZXJmYWNlIERvZyB7Ci0gIGF0dHJpYnV0ZSBET01TdHJpbmcgbmFt
ZTsKLSAgYXR0cmlidXRlIERPTVN0cmluZyBvd25lcjsKLQotICBib29sZWFuIGlzTWVtYmVyT2ZC
cmVlZChbVHJlYXROdWxsQXM9RW1wdHlTdHJpbmddIERPTVN0cmluZyBicmVlZE5hbWUpOwotfTs8
L3dlYmlkbD4KLSAgPEludGVyZmFjZSBuYW1lPSJEb2ciIGlkPSI6OkRvZyI+Ci0gICAgPHdlYmlk
bD5pbnRlcmZhY2UgRG9nIHsKLSAgYXR0cmlidXRlIERPTVN0cmluZyBuYW1lOwotICBhdHRyaWJ1
dGUgRE9NU3RyaW5nIG93bmVyOwotCi0gIGJvb2xlYW4gaXNNZW1iZXJPZkJyZWVkKFtUcmVhdE51
bGxBcz1FbXB0eVN0cmluZ10gRE9NU3RyaW5nIGJyZWVkTmFtZSk7Ci19Ozwvd2ViaWRsPgotICAg
IDxBdHRyaWJ1dGUgbmFtZT0ibmFtZSIgaWQ9Ijo6RG9nOjpuYW1lIj4KLSAgICAgIDx3ZWJpZGw+
ICBhdHRyaWJ1dGUgRE9NU3RyaW5nIG5hbWU7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJE
T01TdHJpbmciLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAgICA8QXR0cmlidXRlIG5hbWU9Im93bmVy
IiBpZD0iOjpEb2c6Om93bmVyIj4KLSAgICAgIDx3ZWJpZGw+ICBhdHRyaWJ1dGUgRE9NU3RyaW5n
IG93bmVyOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0iRE9NU3RyaW5nIi8+Ci0gICAgPC9B
dHRyaWJ1dGU+Ci0gICAgPE9wZXJhdGlvbiBuYW1lPSJpc01lbWJlck9mQnJlZWQiIGlkPSI6OkRv
Zzo6aXNNZW1iZXJPZkJyZWVkIj4KLSAgICAgIDx3ZWJpZGw+ICBib29sZWFuIGlzTWVtYmVyT2ZC
cmVlZChbVHJlYXROdWxsQXM9RW1wdHlTdHJpbmddIERPTVN0cmluZyBicmVlZE5hbWUpOzwvd2Vi
aWRsPgotICAgICAgPFR5cGUgdHlwZT0iYm9vbGVhbiIvPgotICAgICAgPEFyZ3VtZW50TGlzdD4K
LSAgICAgICAgPEFyZ3VtZW50IG5hbWU9ImJyZWVkTmFtZSI+Ci0gICAgICAgICAgPEV4dGVuZGVk
QXR0cmlidXRlTGlzdD4KLSAgICAgICAgICAgIDxFeHRlbmRlZEF0dHJpYnV0ZSBuYW1lPSJUcmVh
dE51bGxBcyIgdmFsdWU9IkVtcHR5U3RyaW5nIj4KLSAgICAgICAgICAgICAgPHdlYmlkbD5UcmVh
dE51bGxBczwvd2ViaWRsPgotICAgICAgICAgICAgPC9FeHRlbmRlZEF0dHJpYnV0ZT4KLSAgICAg
ICAgICA8L0V4dGVuZGVkQXR0cmlidXRlTGlzdD4KLSAgICAgICAgICA8VHlwZSB0eXBlPSJET01T
dHJpbmciLz4KLSAgICAgICAgPC9Bcmd1bWVudD4KLSAgICAgIDwvQXJndW1lbnRMaXN0PgotICAg
IDwvT3BlcmF0aW9uPgotICA8L0ludGVyZmFjZT4KLTwvRGVmaW5pdGlvbnM+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvdHJlYXRhc3VuZGVmaW5lZC53aWRs
cHJvY3htbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC90cmVhdGFzdW5kZWZp
bmVkLndpZGxwcm9jeG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxN2U3MTA4MWRh
MDM2YmExNDYxYzljZjE2ZTIzMzU0NDkxYTY2ZDc1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC90
cmVhdGFzdW5kZWZpbmVkLndpZGxwcm9jeG1sCisrKyAvZGV2L251bGwKQEAgLTEsNDAgKzAsMCBA
QAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KLTwhRE9DVFlQRSBEZWZp
bml0aW9ucyBTWVNURU0gIndpZGxwcm9jeG1sLmR0ZCI+Ci08RGVmaW5pdGlvbnM+Ci0gIDx3ZWJp
ZGw+aW50ZXJmYWNlIENhdCB7Ci0gIGF0dHJpYnV0ZSBET01TdHJpbmcgbmFtZTsKLSAgYXR0cmli
dXRlIERPTVN0cmluZyBvd25lcjsKLQotICBib29sZWFuIGlzTWVtYmVyT2ZCcmVlZChbVHJlYXRV
bmRlZmluZWRBcz1FbXB0eVN0cmluZ10gRE9NU3RyaW5nIGJyZWVkTmFtZSk7Ci19Ozwvd2ViaWRs
PgotICA8SW50ZXJmYWNlIG5hbWU9IkNhdCIgaWQ9Ijo6Q2F0Ij4KLSAgICA8d2ViaWRsPmludGVy
ZmFjZSBDYXQgewotICBhdHRyaWJ1dGUgRE9NU3RyaW5nIG5hbWU7Ci0gIGF0dHJpYnV0ZSBET01T
dHJpbmcgb3duZXI7Ci0KLSAgYm9vbGVhbiBpc01lbWJlck9mQnJlZWQoW1RyZWF0VW5kZWZpbmVk
QXM9RW1wdHlTdHJpbmddIERPTVN0cmluZyBicmVlZE5hbWUpOwotfTs8L3dlYmlkbD4KLSAgICA8
QXR0cmlidXRlIG5hbWU9Im5hbWUiIGlkPSI6OkNhdDo6bmFtZSI+Ci0gICAgICA8d2ViaWRsPiAg
YXR0cmlidXRlIERPTVN0cmluZyBuYW1lOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0iRE9N
U3RyaW5nIi8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gICAgPEF0dHJpYnV0ZSBuYW1lPSJvd25lciIg
aWQ9Ijo6Q2F0Ojpvd25lciI+Ci0gICAgICA8d2ViaWRsPiAgYXR0cmlidXRlIERPTVN0cmluZyBv
d25lcjs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9IkRPTVN0cmluZyIvPgotICAgIDwvQXR0
cmlidXRlPgotICAgIDxPcGVyYXRpb24gbmFtZT0iaXNNZW1iZXJPZkJyZWVkIiBpZD0iOjpDYXQ6
OmlzTWVtYmVyT2ZCcmVlZCI+Ci0gICAgICA8d2ViaWRsPiAgYm9vbGVhbiBpc01lbWJlck9mQnJl
ZWQoW1RyZWF0VW5kZWZpbmVkQXM9RW1wdHlTdHJpbmddIERPTVN0cmluZyBicmVlZE5hbWUpOzwv
d2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0iYm9vbGVhbiIvPgotICAgICAgPEFyZ3VtZW50TGlz
dD4KLSAgICAgICAgPEFyZ3VtZW50IG5hbWU9ImJyZWVkTmFtZSI+Ci0gICAgICAgICAgPEV4dGVu
ZGVkQXR0cmlidXRlTGlzdD4KLSAgICAgICAgICAgIDxFeHRlbmRlZEF0dHJpYnV0ZSBuYW1lPSJU
cmVhdFVuZGVmaW5lZEFzIiB2YWx1ZT0iRW1wdHlTdHJpbmciPgotICAgICAgICAgICAgICA8d2Vi
aWRsPlRyZWF0VW5kZWZpbmVkQXM8L3dlYmlkbD4KLSAgICAgICAgICAgIDwvRXh0ZW5kZWRBdHRy
aWJ1dGU+Ci0gICAgICAgICAgPC9FeHRlbmRlZEF0dHJpYnV0ZUxpc3Q+Ci0gICAgICAgICAgPFR5
cGUgdHlwZT0iRE9NU3RyaW5nIi8+Ci0gICAgICAgIDwvQXJndW1lbnQ+Ci0gICAgICA8L0FyZ3Vt
ZW50TGlzdD4KLSAgICA8L09wZXJhdGlvbj4KLSAgPC9JbnRlcmZhY2U+Ci08L0RlZmluaXRpb25z
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL3R5cGVkZWYu
d2lkbHByb2N4bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvdHlwZWRlZi53
aWRscHJvY3htbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzg1ZjY3MDZlNmQ2NzVh
NWQzMDFkY2Q5ZjJhMDM4MDEwYWI2NGY2Yy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvdHlwZWRl
Zi53aWRscHJvY3htbAorKysgL2Rldi9udWxsCkBAIC0xLDEwMCArMCwwIEBACi08P3htbCB2ZXJz
aW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgotPCFET0NUWVBFIERlZmluaXRpb25zIFNZU1RF
TSAid2lkbHByb2N4bWwuZHRkIj4KLTxEZWZpbml0aW9ucz4KLSAgPHdlYmlkbD4gICAgICBpbnRl
cmZhY2UgUG9pbnQgewotICAgICAgICBhdHRyaWJ1dGUgZmxvYXQgeDsKLSAgICAgICAgYXR0cmli
dXRlIGZsb2F0IHk7Ci0gICAgICB9OwotCi0gICAgICB0eXBlZGVmIHNlcXVlbmNlJmx0OzxyZWY+
UG9pbnQ8L3JlZj4+IFBvaW50U2VxdWVuY2U7Ci0KLSAgICAgIGludGVyZmFjZSBSZWN0IHsKLSAg
ICAgICAgYXR0cmlidXRlIDxyZWY+UG9pbnQ8L3JlZj4gdG9wbGVmdDsKLSAgICAgICAgYXR0cmli
dXRlIDxyZWY+UG9pbnQ8L3JlZj4gYm90dG9tcmlnaHQ7Ci0gICAgICB9OwotCi0gIGludGVyZmFj
ZSBXaWRnZXQgewotCi0gICAgcmVhZG9ubHkgYXR0cmlidXRlIDxyZWY+UmVjdDwvcmVmPiBib3Vu
ZHM7Ci0KLSAgICBib29sZWFuIHBvaW50V2l0aGluQm91bmRzKDxyZWY+UG9pbnQ8L3JlZj4gcCk7
Ci0gICAgYm9vbGVhbiBhbGxQb2ludHNXaXRoaW5Cb3VuZHMoPHJlZj5Qb2ludFNlcXVlbmNlPC9y
ZWY+IHBzKTsKLSAgfTsKLQotICB0eXBlZGVmIFtDbGFtcF0gb2N0ZXQgdmFsdWU7PC93ZWJpZGw+
Ci0gIDxJbnRlcmZhY2UgbmFtZT0iUG9pbnQiIGlkPSI6OlBvaW50Ij4KLSAgICA8d2ViaWRsPiAg
ICAgIGludGVyZmFjZSBQb2ludCB7Ci0gICAgICAgIGF0dHJpYnV0ZSBmbG9hdCB4OwotICAgICAg
ICBhdHRyaWJ1dGUgZmxvYXQgeTsKLSAgICAgIH07PC93ZWJpZGw+Ci0gICAgPEF0dHJpYnV0ZSBu
YW1lPSJ4IiBpZD0iOjpQb2ludDo6eCI+Ci0gICAgICA8d2ViaWRsPiAgICAgICAgYXR0cmlidXRl
IGZsb2F0IHg7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJmbG9hdCIvPgotICAgIDwvQXR0
cmlidXRlPgotICAgIDxBdHRyaWJ1dGUgbmFtZT0ieSIgaWQ9Ijo6UG9pbnQ6OnkiPgotICAgICAg
PHdlYmlkbD4gICAgICAgIGF0dHJpYnV0ZSBmbG9hdCB5Ozwvd2ViaWRsPgotICAgICAgPFR5cGUg
dHlwZT0iZmxvYXQiLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAgPC9JbnRlcmZhY2U+Ci0gIDxUeXBl
ZGVmIG5hbWU9IlBvaW50U2VxdWVuY2UiIGlkPSI6OlBvaW50U2VxdWVuY2UiPgotICAgIDx3ZWJp
ZGw+ICAgICAgdHlwZWRlZiBzZXF1ZW5jZSZsdDs8cmVmPlBvaW50PC9yZWY+PiBQb2ludFNlcXVl
bmNlOzwvd2ViaWRsPgotICAgIDxUeXBlIHR5cGU9InNlcXVlbmNlIj4KLSAgICAgIDxUeXBlIG5h
bWU9IlBvaW50Ii8+Ci0gICAgPC9UeXBlPgotICA8L1R5cGVkZWY+Ci0gIDxJbnRlcmZhY2UgbmFt
ZT0iUmVjdCIgaWQ9Ijo6UmVjdCI+Ci0gICAgPHdlYmlkbD4gICAgICBpbnRlcmZhY2UgUmVjdCB7
Ci0gICAgICAgIGF0dHJpYnV0ZSA8cmVmPlBvaW50PC9yZWY+IHRvcGxlZnQ7Ci0gICAgICAgIGF0
dHJpYnV0ZSA8cmVmPlBvaW50PC9yZWY+IGJvdHRvbXJpZ2h0OwotICAgICAgfTs8L3dlYmlkbD4K
LSAgICA8QXR0cmlidXRlIG5hbWU9InRvcGxlZnQiIGlkPSI6OlJlY3Q6OnRvcGxlZnQiPgotICAg
ICAgPHdlYmlkbD4gICAgICAgIGF0dHJpYnV0ZSA8cmVmPlBvaW50PC9yZWY+IHRvcGxlZnQ7PC93
ZWJpZGw+Ci0gICAgICA8VHlwZSBuYW1lPSJQb2ludCIvPgotICAgIDwvQXR0cmlidXRlPgotICAg
IDxBdHRyaWJ1dGUgbmFtZT0iYm90dG9tcmlnaHQiIGlkPSI6OlJlY3Q6OmJvdHRvbXJpZ2h0Ij4K
LSAgICAgIDx3ZWJpZGw+ICAgICAgICBhdHRyaWJ1dGUgPHJlZj5Qb2ludDwvcmVmPiBib3R0b21y
aWdodDs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIG5hbWU9IlBvaW50Ii8+Ci0gICAgPC9BdHRyaWJ1
dGU+Ci0gIDwvSW50ZXJmYWNlPgotICA8SW50ZXJmYWNlIG5hbWU9IldpZGdldCIgaWQ9Ijo6V2lk
Z2V0Ij4KLSAgICA8d2ViaWRsPiAgaW50ZXJmYWNlIFdpZGdldCB7Ci0KLSAgICByZWFkb25seSBh
dHRyaWJ1dGUgPHJlZj5SZWN0PC9yZWY+IGJvdW5kczsKLQotICAgIGJvb2xlYW4gcG9pbnRXaXRo
aW5Cb3VuZHMoPHJlZj5Qb2ludDwvcmVmPiBwKTsKLSAgICBib29sZWFuIGFsbFBvaW50c1dpdGhp
bkJvdW5kcyg8cmVmPlBvaW50U2VxdWVuY2U8L3JlZj4gcHMpOwotICB9Ozwvd2ViaWRsPgotICAg
IDxBdHRyaWJ1dGUgcmVhZG9ubHk9InJlYWRvbmx5IiBuYW1lPSJib3VuZHMiIGlkPSI6OldpZGdl
dDo6Ym91bmRzIj4KLSAgICAgIDx3ZWJpZGw+ICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSA8cmVmPlJl
Y3Q8L3JlZj4gYm91bmRzOzwvd2ViaWRsPgotICAgICAgPFR5cGUgbmFtZT0iUmVjdCIvPgotICAg
IDwvQXR0cmlidXRlPgotICAgIDxPcGVyYXRpb24gbmFtZT0icG9pbnRXaXRoaW5Cb3VuZHMiIGlk
PSI6OldpZGdldDo6cG9pbnRXaXRoaW5Cb3VuZHMiPgotICAgICAgPHdlYmlkbD4gICAgYm9vbGVh
biBwb2ludFdpdGhpbkJvdW5kcyg8cmVmPlBvaW50PC9yZWY+IHApOzwvd2ViaWRsPgotICAgICAg
PFR5cGUgdHlwZT0iYm9vbGVhbiIvPgotICAgICAgPEFyZ3VtZW50TGlzdD4KLSAgICAgICAgPEFy
Z3VtZW50IG5hbWU9InAiPgotICAgICAgICAgIDxUeXBlIG5hbWU9IlBvaW50Ii8+Ci0gICAgICAg
IDwvQXJndW1lbnQ+Ci0gICAgICA8L0FyZ3VtZW50TGlzdD4KLSAgICA8L09wZXJhdGlvbj4KLSAg
ICA8T3BlcmF0aW9uIG5hbWU9ImFsbFBvaW50c1dpdGhpbkJvdW5kcyIgaWQ9Ijo6V2lkZ2V0Ojph
bGxQb2ludHNXaXRoaW5Cb3VuZHMiPgotICAgICAgPHdlYmlkbD4gICAgYm9vbGVhbiBhbGxQb2lu
dHNXaXRoaW5Cb3VuZHMoPHJlZj5Qb2ludFNlcXVlbmNlPC9yZWY+IHBzKTs8L3dlYmlkbD4KLSAg
ICAgIDxUeXBlIHR5cGU9ImJvb2xlYW4iLz4KLSAgICAgIDxBcmd1bWVudExpc3Q+Ci0gICAgICAg
IDxBcmd1bWVudCBuYW1lPSJwcyI+Ci0gICAgICAgICAgPFR5cGUgbmFtZT0iUG9pbnRTZXF1ZW5j
ZSIvPgotICAgICAgICA8L0FyZ3VtZW50PgotICAgICAgPC9Bcmd1bWVudExpc3Q+Ci0gICAgPC9P
cGVyYXRpb24+Ci0gIDwvSW50ZXJmYWNlPgotICA8VHlwZWRlZiBuYW1lPSJ2YWx1ZSIgaWQ9Ijo6
dmFsdWUiPgotICAgIDx3ZWJpZGw+ICB0eXBlZGVmIFtDbGFtcF0gb2N0ZXQgdmFsdWU7PC93ZWJp
ZGw+Ci0gICAgPFR5cGUgdHlwZT0ib2N0ZXQiPgotICAgICAgPEV4dGVuZGVkQXR0cmlidXRlTGlz
dD4KLSAgICAgICAgPEV4dGVuZGVkQXR0cmlidXRlIG5hbWU9IkNsYW1wIj4KLSAgICAgICAgICA8
d2ViaWRsPkNsYW1wPC93ZWJpZGw+Ci0gICAgICAgIDwvRXh0ZW5kZWRBdHRyaWJ1dGU+Ci0gICAg
ICA8L0V4dGVuZGVkQXR0cmlidXRlTGlzdD4KLSAgICA8L1R5cGU+Ci0gIDwvVHlwZWRlZj4KLTwv
RGVmaW5pdGlvbnM+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94
bWwvdHlwZXN1ZmZpeGVzLndpZGxwcm9jeG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFs
aWQveG1sL3R5cGVzdWZmaXhlcy53aWRscHJvY3htbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggODMwZmU2MmJjMGRmMTEzY2MwZGU4ZTM2MGUyZGE4YjA5MTliY2RjNy4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mv
dGVzdC92YWxpZC94bWwvdHlwZXN1ZmZpeGVzLndpZGxwcm9jeG1sCisrKyAvZGV2L251bGwKQEAg
LTEsMjUgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KLTwh
RE9DVFlQRSBEZWZpbml0aW9ucyBTWVNURU0gIndpZGxwcm9jeG1sLmR0ZCI+Ci08RGVmaW5pdGlv
bnM+Ci0gIDx3ZWJpZGw+aW50ZXJmYWNlIFN1ZmZpeGVzIHsKLSAgdm9pZCB0ZXN0KHNlcXVlbmNl
Jmx0O0RPTVN0cmluZ1tdPz4/IGZvbyk7Ci19Ozwvd2ViaWRsPgotICA8SW50ZXJmYWNlIG5hbWU9
IlN1ZmZpeGVzIiBpZD0iOjpTdWZmaXhlcyI+Ci0gICAgPHdlYmlkbD5pbnRlcmZhY2UgU3VmZml4
ZXMgewotICB2b2lkIHRlc3Qoc2VxdWVuY2UmbHQ7RE9NU3RyaW5nW10/Pj8gZm9vKTsKLX07PC93
ZWJpZGw+Ci0gICAgPE9wZXJhdGlvbiBuYW1lPSJ0ZXN0IiBpZD0iOjpTdWZmaXhlczo6dGVzdCI+
Ci0gICAgICA8d2ViaWRsPiAgdm9pZCB0ZXN0KHNlcXVlbmNlJmx0O0RPTVN0cmluZ1tdPz4/IGZv
byk7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJ2b2lkIi8+Ci0gICAgICA8QXJndW1lbnRM
aXN0PgotICAgICAgICA8QXJndW1lbnQgbmFtZT0iZm9vIj4KLSAgICAgICAgICA8VHlwZSB0eXBl
PSJzZXF1ZW5jZSIgbnVsbGFibGU9Im51bGxhYmxlIj4KLSAgICAgICAgICAgIDxUeXBlIHR5cGU9
ImFycmF5IiBudWxsYWJsZT0ibnVsbGFibGUiPgotICAgICAgICAgICAgICA8VHlwZSB0eXBlPSJE
T01TdHJpbmciLz4KLSAgICAgICAgICAgIDwvVHlwZT4KLSAgICAgICAgICA8L1R5cGU+Ci0gICAg
ICAgIDwvQXJndW1lbnQ+Ci0gICAgICA8L0FyZ3VtZW50TGlzdD4KLSAgICA8L09wZXJhdGlvbj4K
LSAgPC9JbnRlcmZhY2U+Ci08L0RlZmluaXRpb25zPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dp
ZGxwcm9jL3Rlc3QvdmFsaWQveG1sL3VuaW9udHlwZS53aWRscHJvY3htbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93
aWRscHJvYy90ZXN0L3ZhbGlkL3htbC91bmlvbnR5cGUud2lkbHByb2N4bWwKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDdkMDg4MDc5OTU2YTExMzM2OThkNWJiNzcyNDUzZjQ3YzhmZWE5
YWUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL3VuaW9udHlwZS53aWRscHJvY3htbAorKysgL2Rl
di9udWxsCkBAIC0xLDI2ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVU
Ri04Ij8+Ci08IURPQ1RZUEUgRGVmaW5pdGlvbnMgU1lTVEVNICJ3aWRscHJvY3htbC5kdGQiPgot
PERlZmluaXRpb25zPgotICA8d2ViaWRsPmludGVyZmFjZSBVbmlvbiB7Ci0gYXR0cmlidXRlIChm
bG9hdCBvciAoRGF0ZSBvciA8cmVmPkV2ZW50PC9yZWY+KSBvciAoPHJlZj5Ob2RlPC9yZWY+IG9y
IERPTVN0cmluZyk/KSB0ZXN0OwotfTs8L3dlYmlkbD4KLSAgPEludGVyZmFjZSBuYW1lPSJVbmlv
biIgaWQ9Ijo6VW5pb24iPgotICAgIDx3ZWJpZGw+aW50ZXJmYWNlIFVuaW9uIHsKLSBhdHRyaWJ1
dGUgKGZsb2F0IG9yIChEYXRlIG9yIDxyZWY+RXZlbnQ8L3JlZj4pIG9yICg8cmVmPk5vZGU8L3Jl
Zj4gb3IgRE9NU3RyaW5nKT8pIHRlc3Q7Ci19Ozwvd2ViaWRsPgotICAgIDxBdHRyaWJ1dGUgbmFt
ZT0idGVzdCIgaWQ9Ijo6VW5pb246OnRlc3QiPgotICAgICAgPHdlYmlkbD4gYXR0cmlidXRlIChm
bG9hdCBvciAoRGF0ZSBvciA8cmVmPkV2ZW50PC9yZWY+KSBvciAoPHJlZj5Ob2RlPC9yZWY+IG9y
IERPTVN0cmluZyk/KSB0ZXN0Ozwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0idW5pb24iPgot
ICAgICAgICA8VHlwZSB0eXBlPSJmbG9hdCIvPgotICAgICAgICA8VHlwZSB0eXBlPSJ1bmlvbiI+
Ci0gICAgICAgICAgPFR5cGUgdHlwZT0iRGF0ZSIvPgotICAgICAgICAgIDxUeXBlIG5hbWU9IkV2
ZW50Ii8+Ci0gICAgICAgIDwvVHlwZT4KLSAgICAgICAgPFR5cGUgdHlwZT0idW5pb24iIG51bGxh
YmxlPSJudWxsYWJsZSI+Ci0gICAgICAgICAgPFR5cGUgbmFtZT0iTm9kZSIvPgotICAgICAgICAg
IDxUeXBlIHR5cGU9IkRPTVN0cmluZyIvPgotICAgICAgICA8L1R5cGU+Ci0gICAgICA8L1R5cGU+
Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gIDwvSW50ZXJmYWNlPgotPC9EZWZpbml0aW9ucz4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC92YXJpYWRpYy1vcGVyYXRp
b25zLndpZGxwcm9jeG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL3Zhcmlh
ZGljLW9wZXJhdGlvbnMud2lkbHByb2N4bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDBiYzlmNzg0NDEzNzg1M2E0ZGY5OTk2ZTMzMDg3YzlkYjE4NDY4MmQuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3Qv
dmFsaWQveG1sL3ZhcmlhZGljLW9wZXJhdGlvbnMud2lkbHByb2N4bWwKKysrIC9kZXYvbnVsbApA
QCAtMSw0MCArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/Pgot
PCFET0NUWVBFIERlZmluaXRpb25zIFNZU1RFTSAid2lkbHByb2N4bWwuZHRkIj4KLTxEZWZpbml0
aW9ucz4KLSAgPHdlYmlkbD5pbnRlcmZhY2UgSW50ZWdlclNldCB7Ci0gIHJlYWRvbmx5IGF0dHJp
YnV0ZSB1bnNpZ25lZCBsb25nIGNhcmRpbmFsaXR5OwotCi0gIHZvaWQgdW5pb24obG9uZy4uLiBp
bnRzKTsKLSAgdm9pZCBpbnRlcnNlY3Rpb24obG9uZy4uLiBpbnRzKTsKLX07PC93ZWJpZGw+Ci0g
IDxJbnRlcmZhY2UgbmFtZT0iSW50ZWdlclNldCIgaWQ9Ijo6SW50ZWdlclNldCI+Ci0gICAgPHdl
YmlkbD5pbnRlcmZhY2UgSW50ZWdlclNldCB7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25l
ZCBsb25nIGNhcmRpbmFsaXR5OwotCi0gIHZvaWQgdW5pb24obG9uZy4uLiBpbnRzKTsKLSAgdm9p
ZCBpbnRlcnNlY3Rpb24obG9uZy4uLiBpbnRzKTsKLX07PC93ZWJpZGw+Ci0gICAgPEF0dHJpYnV0
ZSByZWFkb25seT0icmVhZG9ubHkiIG5hbWU9ImNhcmRpbmFsaXR5IiBpZD0iOjpJbnRlZ2VyU2V0
OjpjYXJkaW5hbGl0eSI+Ci0gICAgICA8d2ViaWRsPiAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2ln
bmVkIGxvbmcgY2FyZGluYWxpdHk7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJ1bnNpZ25l
ZCBsb25nIi8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gICAgPE9wZXJhdGlvbiBuYW1lPSJ1bmlvbiIg
aWQ9Ijo6SW50ZWdlclNldDo6dW5pb24iPgotICAgICAgPHdlYmlkbD4gIHZvaWQgdW5pb24obG9u
Zy4uLiBpbnRzKTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9InZvaWQiLz4KLSAgICAgIDxB
cmd1bWVudExpc3Q+Ci0gICAgICAgIDxBcmd1bWVudCBlbGxpcHNpcz0iZWxsaXBzaXMiIG5hbWU9
ImludHMiPgotICAgICAgICAgIDxUeXBlIHR5cGU9ImxvbmciLz4KLSAgICAgICAgPC9Bcmd1bWVu
dD4KLSAgICAgIDwvQXJndW1lbnRMaXN0PgotICAgIDwvT3BlcmF0aW9uPgotICAgIDxPcGVyYXRp
b24gbmFtZT0iaW50ZXJzZWN0aW9uIiBpZD0iOjpJbnRlZ2VyU2V0OjppbnRlcnNlY3Rpb24iPgot
ICAgICAgPHdlYmlkbD4gIHZvaWQgaW50ZXJzZWN0aW9uKGxvbmcuLi4gaW50cyk7PC93ZWJpZGw+
Ci0gICAgICA8VHlwZSB0eXBlPSJ2b2lkIi8+Ci0gICAgICA8QXJndW1lbnRMaXN0PgotICAgICAg
ICA8QXJndW1lbnQgZWxsaXBzaXM9ImVsbGlwc2lzIiBuYW1lPSJpbnRzIj4KLSAgICAgICAgICA8
VHlwZSB0eXBlPSJsb25nIi8+Ci0gICAgICAgIDwvQXJndW1lbnQ+Ci0gICAgICA8L0FyZ3VtZW50
TGlzdD4KLSAgICA8L09wZXJhdGlvbj4KLSAgPC9JbnRlcmZhY2U+Ci08L0RlZmluaXRpb25zPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL3czYy1pbXBvcnQu
bG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL3czYy1pbXBvcnQubG9nCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiNGQxMjNlZTFlZjQ3NDM1NzFkODFhZjI1ZTg0
Y2NmMTBjYzdmOTkyLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC93M2MtaW1wb3J0LmxvZworKysg
L2Rldi9udWxsCkBAIC0xLDY3ICswLDAgQEAKLVRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3
ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgotRG8gTk9UIG1vZGlmeSB0aGVz
ZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVl
c3Qgb24gdGhlIFczQyBDU1Mgb3IgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20vdzNj
L2Nzc3dnLXRlc3QKLQlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cwot
Ci1UaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0
byByZWltcG9ydAotCi1EbyBOT1QgbW9kaWZ5IG9yIHJlbW92ZSB0aGlzIGZpbGUuCi0KLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLQotUHJvcGVydGllcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgotTm9uZQot
UHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6Ci1Ob25lCi0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0KLUxpc3Qgb2YgZmlsZXM6Ci0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQv
eG1sL2FsbG93YW55LndpZGxwcm9jeG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQv
eG1sL2FycmF5LndpZGxwcm9jeG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1s
L2F0dHJpYnV0ZXMud2lkbHByb2N4bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94
bWwvY2FsbGJhY2sud2lkbHByb2N4bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94
bWwvY2FsbGVyLndpZGxwcm9jeG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1s
L2NvbnN0YW50cy53aWRscHJvY3htbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3ht
bC9jb25zdHJ1Y3Rvci53aWRscHJvY3htbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlk
L3htbC9kaWN0aW9uYXJ5LWluaGVyaXRzLndpZGxwcm9jeG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9j
L3Rlc3QvdmFsaWQveG1sL2RpY3Rpb25hcnkud2lkbHByb2N4bWwKLS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHBy
b2MvdGVzdC92YWxpZC94bWwvZG9jdW1lbnRhdGlvbi1kb3Mud2lkbHByb2N4bWwKLS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvZG9jdW1lbnRhdGlvbi53aWRscHJvY3htbAotL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9lbnVtLndpZGxwcm9jeG1sCi0vTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL2VxdWl2YWxlbnQtZGVjbC53aWRscHJvY3htbAot
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9leGNlcHRpb24taW5oZXJpdGFuY2Uu
d2lkbHByb2N4bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvZXhjZXB0aW9u
LndpZGxwcm9jeG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL2dldHRlci1z
ZXR0ZXIud2lkbHByb2N4bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvaWRl
bnRpZmllci1xdWFsaWZpZWQtbmFtZXMud2lkbHByb2N4bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mv
dGVzdC92YWxpZC94bWwvaW1wbGVtZW50cy53aWRscHJvY3htbAotL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJv
Yy90ZXN0L3ZhbGlkL3htbC9pbmRleGVkLXByb3BlcnRpZXMud2lkbHByb2N4bWwKLS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvaW5oZXJpdHMtZ2V0dGVyLndpZGxwcm9jeG1sCi0v
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL2ludGVyZmFjZS1pbmhlcml0cy53aWRs
cHJvY3htbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9pdGVyYXRvci53aWRs
cHJvY3htbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9tb2R1bGUud2lkbHBy
b2N4bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvbmFtZWRjb25zdHJ1Y3Rv
ci53aWRscHJvY3htbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9uYW1lc3Bh
Y2VvYmplY3Qud2lkbHByb2N4bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwv
bm9pbnRlcmZhY2VvYmplY3Qud2lkbHByb2N4bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92
YWxpZC94bWwvbnVsbGFibGUud2lkbHByb2N4bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92
YWxpZC94bWwvbnVsbGFibGVvYmplY3RzLndpZGxwcm9jeG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9j
L3Rlc3QvdmFsaWQveG1sL29wZXJhdGlvbi1vcHRpb25hbC1hcmcud2lkbHByb2N4bWwKLS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvb3ZlcmxvYWRpbmcud2lkbHByb2N4bWwKLS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvb3ZlcnJpZGVidWlsdGlucy53aWRscHJv
Y3htbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9wYXJ0aWFsLWludGVyZmFj
ZS53aWRscHJvY3htbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9wcmltaXRp
dmVzLndpZGxwcm9jeG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL3Byb3Rv
dHlwZXJvb3Qud2lkbHByb2N4bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwv
cHV0Zm9yd2FyZHMud2lkbHByb2N4bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94
bWwvcmVnLW9wZXJhdGlvbnMud2lkbHByb2N4bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92
YWxpZC94bWwvcmVwbGFjZWFibGUud2lkbHByb2N4bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVz
dC92YWxpZC94bWwvc2VxdWVuY2Uud2lkbHByb2N4bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVz
dC92YWxpZC94bWwvc2VyaWFsaXplci53aWRscHJvY3htbAotL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90
ZXN0L3ZhbGlkL3htbC9zcGVjaWFsLW9taXR0YWJsZS53aWRscHJvY3htbAotL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93
aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9zdGF0aWMud2lkbHByb2N4bWwKLS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lk
bHByb2MvdGVzdC92YWxpZC94bWwvc3RyaW5naWZpZXItYXR0cmlidXRlLndpZGxwcm9jeG1sCi0v
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL3N0cmluZ2lmaWVyLWN1c3RvbS53aWRs
cHJvY3htbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9zdHJpbmdpZmllci53
aWRscHJvY3htbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC90cmVhdGFzbnVs
bC53aWRscHJvY3htbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC90cmVhdGFz
dW5kZWZpbmVkLndpZGxwcm9jeG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1s
L3R5cGVkZWYud2lkbHByb2N4bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwv
dHlwZXN1ZmZpeGVzLndpZGxwcm9jeG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQv
eG1sL3VuaW9udHlwZS53aWRscHJvY3htbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlk
L3htbC92YXJpYWRpYy1vcGVyYXRpb25zLndpZGxwcm9jeG1sCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvd2lkbHByb2MvdGVzdC93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0
L3czYy1pbXBvcnQubG9nCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlNGRmYjE3YTE5
MWEyZTMyZDJmMTRjNGI1ZjhjNmU1YTU4NGU1MTIzLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3czYy1pbXBvcnQu
bG9nCisrKyAvZGV2L251bGwKQEAgLTEsMTggKzAsMCBAQAotVGhlIHRlc3RzIGluIHRoaXMgZGly
ZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCi1EbyBOT1QgbW9k
aWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQsIGNyZWF0ZSBhIHB1
bGwgcmVxdWVzdCBvbiB0aGUgVzNDIENTUyBvciBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0aHVi
LmNvbS93M2MvY3Nzd2ctdGVzdAotCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzCi0KLVRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4g
V2ViS2l0IHRvIHJlaW1wb3J0Ci0KLURvIE5PVCBtb2RpZnkgb3IgcmVtb3ZlIHRoaXMgZmlsZS4K
LQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tCi1Qcm9wZXJ0aWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6
Ci1Ob25lCi1Qcm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKLU5vbmUK
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLQotTGlzdCBvZiBmaWxlczoKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVz
dC9NYWtlZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3czYy1pbXBvcnQubG9n
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3dpZGxwcm9jL3czYy1pbXBvcnQubG9nCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCA3ZmQxNDE0ZDc2M2FmZDM4ZDZmZGE2MmM3ZDk4ZmNiMjI1MTgyMzI1Li4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRs
cHJvYy93M2MtaW1wb3J0LmxvZworKysgL2Rldi9udWxsCkBAIC0xLDIwICswLDAgQEAKLVRoZSB0
ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0
b3J5LgotRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0
ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFczQyBDU1Mgb3IgV1BUIGdpdGh1YjoK
LQlodHRwczovL2dpdGh1Yi5jb20vdzNjL2Nzc3dnLXRlc3QKLQlodHRwczovL2dpdGh1Yi5jb20v
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cwotCi1UaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBv
cnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydAotCi1EbyBOT1QgbW9kaWZ5IG9yIHJl
bW92ZSB0aGlzIGZpbGUuCi0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotUHJvcGVydGllcyByZXF1aXJpbmcg
dmVuZG9yIHByZWZpeGVzOgotTm9uZQotUHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3Ig
cHJlZml4ZXM6Ci1Ob25lCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLUxpc3Qgb2YgZmlsZXM6Ci0vTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3dpZGxwcm9jL0xJQ0VOU0UKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvTWFrZWZpbGUKLS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvd2lkbHByb2MvUkVBRE1FLm1kCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd3JpdGVyLmpz
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3dyaXRlci5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTg0
MDc2YjRmMjhjZTM4Y2JiNDFlNDc2ODFhYzk3ODQzZGYwZTQyNy4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd3JpdGVyLmpzCisrKyAvZGV2
L251bGwKQEAgLTEsMjMgKzAsMCBAQAotInVzZSBzdHJpY3QiOwotCi1jb25zdCB7IGNvbGxlY3Qg
fSA9IHJlcXVpcmUoIi4vdXRpbC9jb2xsZWN0Iik7Ci1jb25zdCB3cCA9IHJlcXVpcmUoIi4uL2xp
Yi93ZWJpZGwyIik7Ci1jb25zdCB3cml0ZXIgPSByZXF1aXJlKCIuLi9saWIvd3JpdGVyIik7Ci1j
b25zdCBleHBlY3QgPSByZXF1aXJlKCJleHBlY3QiKTsKLWNvbnN0IGRlYnVnID0gdHJ1ZTsKLQot
ZGVzY3JpYmUoIlJld3JpdGUgYW5kIHBhcnNlcyBhbGwgb2YgdGhlIElETHMgdG8gcHJvZHVjZSB0
aGUgc2FtZSBBU1RzIiwgKCkgPT4gewotICBmb3IgKGNvbnN0IHRlc3Qgb2YgY29sbGVjdCgic3lu
dGF4IikpIHsKLSAgICBpdChgc2hvdWxkIHByb2R1Y2UgdGhlIHNhbWUgQVNUIGZvciAke3Rlc3Qu
cGF0aH1gLCAoKSA9PiB7Ci0gICAgICB0cnkgewotICAgICAgICBjb25zdCBkaWZmID0gdGVzdC5k
aWZmKHdwLnBhcnNlKHdyaXRlci53cml0ZSh0ZXN0LmFzdCksIHRlc3Qub3B0KSk7Ci0gICAgICAg
IGlmIChkaWZmICYmIGRlYnVnKSBjb25zb2xlLmxvZyhKU09OLnN0cmluZ2lmeShkaWZmLCBudWxs
LCA0KSk7Ci0gICAgICAgIGV4cGVjdChkaWZmKS50b0JlKHVuZGVmaW5lZCk7Ci0gICAgICB9Ci0g
ICAgICBjYXRjaCAoZSkgewotICAgICAgICBjb25zb2xlLmxvZyhlLnRvU3RyaW5nKCkpOwotICAg
ICAgICB0aHJvdyBlOwotICAgICAgfQotICAgIH0pOwotICB9Ci19KTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3czYy1pbXBvcnQubG9nCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCA4MjQ1OWVjMjU3ODlmMTFhZmFjM2I0ZWI0MjY0OTY3ZDUwMTk4NzM3Li4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdzNjLWlt
cG9ydC5sb2cKKysrIC9kZXYvbnVsbApAQCAtMSwyMyArMCwwIEBACi1UaGUgdGVzdHMgaW4gdGhp
cyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KLURvIE5P
VCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVhZCwgY3JlYXRl
IGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0aHViLmNvbS93
ZWItcGxhdGZvcm0tdGVzdHMvd3B0Ci0KLVRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9y
dC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0Ci0KLURvIE5PVCBtb2RpZnkgb3IgcmVt
b3ZlIHRoaXMgZmlsZS4KLQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1Qcm9wZXJ0aWVzIHJlcXVpcmluZyB2
ZW5kb3IgcHJlZml4ZXM6Ci1Ob25lCi1Qcm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5nIHZlbmRvciBw
cmVmaXhlczoKLU5vbmUKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotTGlzdCBvZiBmaWxlczoKLS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL0NI
QU5HRUxPRy5tZAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvTElDRU5TRQotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvUkVBRE1FLm1kCi0vTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi9jb3ZlcmFn
ZS5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi9pbmRleC5qcwotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvcGFja2FnZS1sb2NrLmpzb24KLS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Bh
Y2thZ2UuanNvbgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>384509</attachid>
            <date>2019-11-29 08:16:10 -0800</date>
            <delta_ts>2019-12-02 08:38:30 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-204652-20191129171549.patch</filename>
            <type>text/plain</type>
            <size>1826234</size>
            <attacher name="Alexey Shvayka">ashvayka</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUyOTM3CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpp
bmRleCA1MzIxMzUyMDQxYTA0ZTI0N2Q4N2U3NjUzYTUwYzg4MzVlMjM5ZGUzLi4yODFkMWU3Mzg2
ODZkNzdhNDQ5MGJkZjMyYTQ2ZDJhMTU0MWM0OWExIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAxOS0xMS0yOSAgQWxleGV5IFNodmF5a2EgIDxzaHZh
aWthbGVzaEBnbWFpbC5jb20+CisKKyAgICAgICAgUmUtc3luYyB3ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzIGZyb20gdXBzdHJlYW0KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIwNDY1MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIDEuIFJlLXN5bmMgd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcyBm
cm9tIHVwc3RyZWFtIGRlNjRkOWExMzQ1NS4KKyAgICAgICAgMi4gU2tpcCAid2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bSIgYXMgaXQgY29udGFpbnMgQ2hyb21pdW0tc3BlY2lm
aWMgaGFybmVzcyB3ZSBkb24ndCB1c2UuCisgICAgICAgIDMuIFNraXAgIndlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvdGVzdCIgYXMgaXQgY29udGFpbnMgaGFybmVzcyB0ZXN0cyB3ZSBkb24n
dCBydW4uCisKKyAgICAgICAgSW4gdG90YWwsIHRoaXMgcGF0Y2ggcmVtb3ZlcyB+MS41IE1CIG9m
IHVubmVlZGVkIGZpbGVzLgorCisgICAgICAgICogcmVzb3VyY2VzL2ltcG9ydC1leHBlY3RhdGlv
bnMuanNvbjoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzLyo6IFVwZGF0
ZWQuCisKIDIwMTktMTEtMjcgIE1hbnVlbCBSZWdvIENhc2Fzbm92YXMgIDxyZWdvQGlnYWxpYS5j
b20+CiAKICAgICAgICAgW2Nzcy1ncmlkXSBTZXJpYWxpemF0aW9uIG9mIGdyaWQtYXJlYSwgZ3Jp
ZC1yb3cgYW5kIGdyaWQtY29sdW1uIHNob3VsZCBpbmNsdWRlICIvIiBzZXBhcmF0b3IKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9yZXNvdXJjZXMvaW1wb3J0LWV4cGVjdGF0
aW9ucy5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3Jlc291cmNlcy9pbXBvcnQtZXhw
ZWN0YXRpb25zLmpzb24KaW5kZXggNWM1ZGNmMWE4NjQ5Njc2YmRmMDZkYTBhNjFjMjBkOGY4ZmIz
OTUzYi4uM2Y3ZGE5YTdlM2ZmZmU0MmU1YTcxYWMzYjNlMjAyNDc5MzRkMzYyYiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3Jlc291cmNlcy9pbXBvcnQtZXhwZWN0YXRpb25z
Lmpzb24KKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3Jlc291cmNlcy9pbXBvcnQtZXhw
ZWN0YXRpb25zLmpzb24KQEAgLTMzMCw2ICszMzAsOCBAQAogICAgICJ3ZWItcGxhdGZvcm0tdGVz
dHMvcmVzaXplLW9ic2VydmVyLyI6ICJpbXBvcnQiLCAKICAgICAid2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlLXRpbWluZyI6ICJpbXBvcnQiLCAKICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcyI6ICJpbXBvcnQiLCAKKyAgICAid2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9j
aHJvbWl1bSI6ICJza2lwIiwgCisgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVz
dCI6ICJza2lwIiwgCiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9zY3JlZW4tb3JpZW50YXRpb24i
OiAic2tpcCIsIAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvc2Nyb2xsLWFuY2hvcmluZyI6ICJz
a2lwIiwgCiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9zY3JvbGwtaW50by12aWV3IjogInNraXAi
LCAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL01FVEEueW1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvTUVUQS55bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGY5ODhmOTlhODJlMDk5
MWMyMGNiODE2YmU2Mzc4YTk3MzAyODczMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL01FVEEueW1sCkBAIC0w
LDAgKzEsMyBAQAorc3VnZ2VzdGVkX3Jldmlld2VyczoKKyAgLSBqZ3JhaGFtCisgIC0gZ3NuZWRk
ZXJzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy9PV05FUlMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy9PV05FUlMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDBiMTUwOWE5ZGI5ZWQ3ZGIxMDRkMmEyYTBhMDEzMzZhNTI1MTk4NTYuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvT1dORVJTCisrKyAvZGV2L251bGwKQEAgLTEs
MyArMCwwIEBACi1AamdyYWhhbQotQGdzbmVkZGVycwotQGF5ZwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hlY2stbGF5
b3V0LXRoLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvY2hlY2stbGF5b3V0LXRoLmpzCmluZGV4IDNmMjU3ZDRhYzI1MGU1ZjU5MmJkNDYz
ZmIyYTBkNmE5ZjBmYjBjOGUuLjkyOGIwY2YyYTEwNDFlY2I4MzFmYWRiNDQ5NDNlODkwN2EyOWI4
NzIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL2NoZWNrLWxheW91dC10aC5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaGVjay1sYXlvdXQtdGguanMKQEAg
LTE2MSwxNiArMTYxLDE2IEBAIGZ1bmN0aW9uIGNoZWNrRXhwZWN0ZWRWYWx1ZXModCwgbm9kZSwg
cHJlZml4KQogICAgIHJldHVybiBvdXRwdXQuY2hlY2tlZDsKIH0KIAotd2luZG93LmNoZWNrTGF5
b3V0ID0gZnVuY3Rpb24oc2VsZWN0b3JMaXN0LCBvdXRwdXRDb250YWluZXIpCit2YXIgdGVzdE51
bWJlciA9IDA7CisKK3dpbmRvdy5jaGVja0xheW91dCA9IGZ1bmN0aW9uKHNlbGVjdG9yTGlzdCwg
Y2FsbERvbmUgPSB0cnVlKQogewogICAgIGlmICghc2VsZWN0b3JMaXN0KSB7CiAgICAgICAgIGNv
bnNvbGUuZXJyb3IoIllvdSBtdXN0IHByb3ZpZGUgYSBDU1Mgc2VsZWN0b3Igb2Ygbm9kZXMgdG8g
Y2hlY2suIik7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAgICAgdmFyIG5vZGVzID0gZG9jdW1l
bnQucXVlcnlTZWxlY3RvckFsbChzZWxlY3Rvckxpc3QpOwotICAgIHZhciB0ZXN0TnVtYmVyID0g
MDsKICAgICBub2RlcyA9IEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKG5vZGVzKTsKLSAgICBu
b2Rlcy5yZXZlcnNlKCk7CiAgICAgdmFyIGNoZWNrZWRMYXlvdXQgPSBmYWxzZTsKICAgICBBcnJh
eS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKG5vZGVzLCBmdW5jdGlvbihub2RlKSB7CiAgICAgICAg
IHRlc3QoZnVuY3Rpb24odCkgewpAQCAtMTg5LDcgKzE4OSw4IEBAIHdpbmRvdy5jaGVja0xheW91
dCA9IGZ1bmN0aW9uKHNlbGVjdG9yTGlzdCwgb3V0cHV0Q29udGFpbmVyKQogICAgIGlmICghY2hl
Y2tlZExheW91dCkgewogICAgICAgICBjb25zb2xlLmVycm9yKCJObyB2YWxpZCBkYXRhLSogYXR0
cmlidXRlcyBmb3VuZCBpbiBzZWxlY3RvciBsaXN0IDogIiArIHNlbGVjdG9yTGlzdCk7CiAgICAg
fQotICAgIGRvbmUoKTsKKyAgICBpZiAoY2FsbERvbmUpCisgICAgICAgIGRvbmUoKTsKIH07CiAK
IH0pKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS9SRUFETUUubWQgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS9SRUFETUUubWQKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGI1M2M2YThjNDIzMmRiZTljNzg3YjBlYTE3ZjBl
ZDFhNDlmMWUzODYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
Y2hyb21pdW0vUkVBRE1FLm1kCisrKyAvZGV2L251bGwKQEAgLTEsNCArMCwwIEBACi1UaGlzIGRp
cmVjdG9yeSBjb250YWlucyBDaHJvbWl1bS1zcGVjaWZpYyB0ZXN0IHJlc291cmNlcy4KLQotVGhl
IGZpbGVzIGBtb2pvX2JpbmRpbmdzLmpzYCBhbmQgYCoubW9qb20uanNgIGFyZSBtYW51YWxseSBj
b3BpZWQgZnJvbSB0aGUKLUNocm9taXVtIGJ1aWxkIHByb2Nlc3MncyBnZW5lcmF0ZWQgZmlsZXMg
YW5kIHNob3VsZCBub3QgYmUgZWRpdGVkIG1hbnVhbGx5LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vY2hv
b3Nlcl9zZXJ2aWNlLm1vam9tLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vY2hvb3Nlcl9zZXJ2aWNlLm1vam9tLmpzCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzMGJiYTRiYWFkOWJiODg5MTNkNGIzOWVjNTQ1
ZWI5MzZhOTY4ZjRjLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L2Nocm9taXVtL2Nob29zZXJfc2VydmljZS5tb2pvbS5qcworKysgL2Rldi9udWxsCkBAIC0xLDI3
OSArMCwwIEBACi0vLyBDb3B5cmlnaHQgMjAxNCBUaGUgQ2hyb21pdW0gQXV0aG9ycy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KLS8vIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5
IGEgQlNELXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKLS8vIGZvdW5kIGluIHRoZSBMSUNFTlNF
IGZpbGUuCi0KLQotJ3VzZSBzdHJpY3QnOwotCi0oZnVuY3Rpb24oKSB7Ci0gIHZhciBtb2pvbUlk
ID0gJ2RldmljZS91c2IvcHVibGljL2ludGVyZmFjZXMvY2hvb3Nlcl9zZXJ2aWNlLm1vam9tJzsK
LSAgaWYgKG1vam8uaW50ZXJuYWwuaXNNb2pvbUxvYWRlZChtb2pvbUlkKSkgewotICAgIGNvbnNv
bGUud2FybignVGhlIGZvbGxvd2luZyBtb2pvbSBpcyBsb2FkZWQgbXVsdGlwbGUgdGltZXM6ICcg
KyBtb2pvbUlkKTsKLSAgICByZXR1cm47Ci0gIH0KLSAgbW9qby5pbnRlcm5hbC5tYXJrTW9qb21M
b2FkZWQobW9qb21JZCk7Ci0KLSAgLy8gVE9ETyh5enNoZW4pOiBEZWZpbmUgdGhlc2UgYWxpYXNl
cyB0byBtaW5pbWl6ZSB0aGUgZGlmZmVyZW5jZXMgYmV0d2VlbiB0aGUKLSAgLy8gb2xkL25ldyBt
b2Rlcy4gUmVtb3ZlIHRoZW0gd2hlbiB0aGUgb2xkIG1vZGUgZ29lcyBhd2F5LgotICB2YXIgYmlu
ZGluZ3MgPSBtb2pvOwotICB2YXIgYXNzb2NpYXRlZEJpbmRpbmdzID0gbW9qbzsKLSAgdmFyIGNv
ZGVjID0gbW9qby5pbnRlcm5hbDsKLSAgdmFyIHZhbGlkYXRvciA9IG1vam8uaW50ZXJuYWw7Ci0K
LSAgdmFyIGV4cG9ydHMgPSBtb2pvLmludGVybmFsLmV4cG9zZU5hbWVzcGFjZSgnZGV2aWNlLm1v
am9tJyk7Ci0gIHZhciBkZXZpY2UkID0KLSAgICAgIG1vam8uaW50ZXJuYWwuZXhwb3NlTmFtZXNw
YWNlKCdkZXZpY2UubW9qb20nKTsKLSAgaWYgKG1vam8uY29uZmlnLmF1dG9Mb2FkTW9qb21EZXBz
KSB7Ci0gICAgbW9qby5pbnRlcm5hbC5sb2FkTW9qb21JZk5lY2Vzc2FyeSgKLSAgICAgICAgJ2Rl
dmljZS91c2IvcHVibGljL2ludGVyZmFjZXMvZGV2aWNlLm1vam9tJywgJ2RldmljZS5tb2pvbS5q
cycpOwotICB9Ci0gIHZhciBkZXZpY2VfbWFuYWdlciQgPQotICAgICAgbW9qby5pbnRlcm5hbC5l
eHBvc2VOYW1lc3BhY2UoJ2RldmljZS5tb2pvbScpOwotICBpZiAobW9qby5jb25maWcuYXV0b0xv
YWRNb2pvbURlcHMpIHsKLSAgICBtb2pvLmludGVybmFsLmxvYWRNb2pvbUlmTmVjZXNzYXJ5KAot
ICAgICAgICAnZGV2aWNlL3VzYi9wdWJsaWMvaW50ZXJmYWNlcy9kZXZpY2VfbWFuYWdlci5tb2pv
bScsICdkZXZpY2VfbWFuYWdlci5tb2pvbS5qcycpOwotICB9Ci0KLQotCi0gIGZ1bmN0aW9uIFVz
YkNob29zZXJTZXJ2aWNlX0dldFBlcm1pc3Npb25fUGFyYW1zKHZhbHVlcykgewotICAgIHRoaXMu
aW5pdERlZmF1bHRzXygpOwotICAgIHRoaXMuaW5pdEZpZWxkc18odmFsdWVzKTsKLSAgfQotCi0K
LSAgVXNiQ2hvb3NlclNlcnZpY2VfR2V0UGVybWlzc2lvbl9QYXJhbXMucHJvdG90eXBlLmluaXRE
ZWZhdWx0c18gPSBmdW5jdGlvbigpIHsKLSAgICB0aGlzLmRldmljZUZpbHRlcnMgPSBudWxsOwot
ICB9OwotICBVc2JDaG9vc2VyU2VydmljZV9HZXRQZXJtaXNzaW9uX1BhcmFtcy5wcm90b3R5cGUu
aW5pdEZpZWxkc18gPSBmdW5jdGlvbihmaWVsZHMpIHsKLSAgICBmb3IodmFyIGZpZWxkIGluIGZp
ZWxkcykgewotICAgICAgICBpZiAodGhpcy5oYXNPd25Qcm9wZXJ0eShmaWVsZCkpCi0gICAgICAg
ICAgdGhpc1tmaWVsZF0gPSBmaWVsZHNbZmllbGRdOwotICAgIH0KLSAgfTsKLQotICBVc2JDaG9v
c2VyU2VydmljZV9HZXRQZXJtaXNzaW9uX1BhcmFtcy52YWxpZGF0ZSA9IGZ1bmN0aW9uKG1lc3Nh
Z2VWYWxpZGF0b3IsIG9mZnNldCkgewotICAgIHZhciBlcnI7Ci0gICAgZXJyID0gbWVzc2FnZVZh
bGlkYXRvci52YWxpZGF0ZVN0cnVjdEhlYWRlcihvZmZzZXQsIGNvZGVjLmtTdHJ1Y3RIZWFkZXJT
aXplKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0g
ICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICB2YXIga1ZlcnNpb25TaXplcyA9IFsKLSAgICAgIHt2
ZXJzaW9uOiAwLCBudW1CeXRlczogMTZ9Ci0gICAgXTsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRh
dG9yLnZhbGlkYXRlU3RydWN0VmVyc2lvbihvZmZzZXQsIGtWZXJzaW9uU2l6ZXMpOwotICAgIGlm
IChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJu
IGVycjsKLQotCi0gICAgCi0gICAgLy8gdmFsaWRhdGUgVXNiQ2hvb3NlclNlcnZpY2VfR2V0UGVy
bWlzc2lvbl9QYXJhbXMuZGV2aWNlRmlsdGVycwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3Iu
dmFsaWRhdGVBcnJheVBvaW50ZXIob2Zmc2V0ICsgY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyAw
LCA4LCBuZXcgY29kZWMuUG9pbnRlclRvKGRldmljZV9tYW5hZ2VyJC5Vc2JEZXZpY2VGaWx0ZXIp
LCBmYWxzZSwgWzBdLCAwKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVy
cm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICByZXR1cm4gdmFsaWRhdG9yLnZh
bGlkYXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIFVzYkNob29zZXJTZXJ2aWNlX0dldFBlcm1p
c3Npb25fUGFyYW1zLmVuY29kZWRTaXplID0gY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyA4Owot
Ci0gIFVzYkNob29zZXJTZXJ2aWNlX0dldFBlcm1pc3Npb25fUGFyYW1zLmRlY29kZSA9IGZ1bmN0
aW9uKGRlY29kZXIpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIHZhciB2YWwgPSBuZXcgVXNiQ2hv
b3NlclNlcnZpY2VfR2V0UGVybWlzc2lvbl9QYXJhbXMoKTsKLSAgICB2YXIgbnVtYmVyT2ZCeXRl
cyA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhciB2ZXJzaW9uID0gZGVjb2Rlci5yZWFk
VWludDMyKCk7Ci0gICAgdmFsLmRldmljZUZpbHRlcnMgPSBkZWNvZGVyLmRlY29kZUFycmF5UG9p
bnRlcihuZXcgY29kZWMuUG9pbnRlclRvKGRldmljZV9tYW5hZ2VyJC5Vc2JEZXZpY2VGaWx0ZXIp
KTsKLSAgICByZXR1cm4gdmFsOwotICB9OwotCi0gIFVzYkNob29zZXJTZXJ2aWNlX0dldFBlcm1p
c3Npb25fUGFyYW1zLmVuY29kZSA9IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgIHZhciBw
YWNrZWQ7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMihVc2JDaG9vc2VyU2VydmljZV9HZXRQZXJt
aXNzaW9uX1BhcmFtcy5lbmNvZGVkU2l6ZSk7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMigwKTsK
LSAgICBlbmNvZGVyLmVuY29kZUFycmF5UG9pbnRlcihuZXcgY29kZWMuUG9pbnRlclRvKGRldmlj
ZV9tYW5hZ2VyJC5Vc2JEZXZpY2VGaWx0ZXIpLCB2YWwuZGV2aWNlRmlsdGVycyk7Ci0gIH07Ci0g
IGZ1bmN0aW9uIFVzYkNob29zZXJTZXJ2aWNlX0dldFBlcm1pc3Npb25fUmVzcG9uc2VQYXJhbXMo
dmFsdWVzKSB7Ci0gICAgdGhpcy5pbml0RGVmYXVsdHNfKCk7Ci0gICAgdGhpcy5pbml0RmllbGRz
Xyh2YWx1ZXMpOwotICB9Ci0KLQotICBVc2JDaG9vc2VyU2VydmljZV9HZXRQZXJtaXNzaW9uX1Jl
c3BvbnNlUGFyYW1zLnByb3RvdHlwZS5pbml0RGVmYXVsdHNfID0gZnVuY3Rpb24oKSB7Ci0gICAg
dGhpcy5yZXN1bHQgPSBudWxsOwotICB9OwotICBVc2JDaG9vc2VyU2VydmljZV9HZXRQZXJtaXNz
aW9uX1Jlc3BvbnNlUGFyYW1zLnByb3RvdHlwZS5pbml0RmllbGRzXyA9IGZ1bmN0aW9uKGZpZWxk
cykgewotICAgIGZvcih2YXIgZmllbGQgaW4gZmllbGRzKSB7Ci0gICAgICAgIGlmICh0aGlzLmhh
c093blByb3BlcnR5KGZpZWxkKSkKLSAgICAgICAgICB0aGlzW2ZpZWxkXSA9IGZpZWxkc1tmaWVs
ZF07Ci0gICAgfQotICB9OwotCi0gIFVzYkNob29zZXJTZXJ2aWNlX0dldFBlcm1pc3Npb25fUmVz
cG9uc2VQYXJhbXMudmFsaWRhdGUgPSBmdW5jdGlvbihtZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQp
IHsKLSAgICB2YXIgZXJyOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1
Y3RIZWFkZXIob2Zmc2V0LCBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVyciAh
PT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwot
Ci0gICAgdmFyIGtWZXJzaW9uU2l6ZXMgPSBbCi0gICAgICB7dmVyc2lvbjogMCwgbnVtQnl0ZXM6
IDE2fQotICAgIF07Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFZl
cnNpb24ob2Zmc2V0LCBrVmVyc2lvblNpemVzKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3Iu
dmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotICAgIAotICAg
IC8vIHZhbGlkYXRlIFVzYkNob29zZXJTZXJ2aWNlX0dldFBlcm1pc3Npb25fUmVzcG9uc2VQYXJh
bXMucmVzdWx0Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFBvaW50
ZXIob2Zmc2V0ICsgY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyAwLCBkZXZpY2UkLlVzYkRldmlj
ZUluZm8sIHRydWUpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3Iu
Tk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRh
dGlvbkVycm9yLk5PTkU7Ci0gIH07Ci0KLSAgVXNiQ2hvb3NlclNlcnZpY2VfR2V0UGVybWlzc2lv
bl9SZXNwb25zZVBhcmFtcy5lbmNvZGVkU2l6ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsg
ODsKLQotICBVc2JDaG9vc2VyU2VydmljZV9HZXRQZXJtaXNzaW9uX1Jlc3BvbnNlUGFyYW1zLmRl
Y29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIHZhciB2YWwg
PSBuZXcgVXNiQ2hvb3NlclNlcnZpY2VfR2V0UGVybWlzc2lvbl9SZXNwb25zZVBhcmFtcygpOwot
ICAgIHZhciBudW1iZXJPZkJ5dGVzID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFyIHZl
cnNpb24gPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YWwucmVzdWx0ID0gZGVjb2Rlci5k
ZWNvZGVTdHJ1Y3RQb2ludGVyKGRldmljZSQuVXNiRGV2aWNlSW5mbyk7Ci0gICAgcmV0dXJuIHZh
bDsKLSAgfTsKLQotICBVc2JDaG9vc2VyU2VydmljZV9HZXRQZXJtaXNzaW9uX1Jlc3BvbnNlUGFy
YW1zLmVuY29kZSA9IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgIHZhciBwYWNrZWQ7Ci0g
ICAgZW5jb2Rlci53cml0ZVVpbnQzMihVc2JDaG9vc2VyU2VydmljZV9HZXRQZXJtaXNzaW9uX1Jl
c3BvbnNlUGFyYW1zLmVuY29kZWRTaXplKTsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKDApOwot
ICAgIGVuY29kZXIuZW5jb2RlU3RydWN0UG9pbnRlcihkZXZpY2UkLlVzYkRldmljZUluZm8sIHZh
bC5yZXN1bHQpOwotICB9OwotICB2YXIga1VzYkNob29zZXJTZXJ2aWNlX0dldFBlcm1pc3Npb25f
TmFtZSA9IDA7Ci0KLSAgZnVuY3Rpb24gVXNiQ2hvb3NlclNlcnZpY2VQdHIoaGFuZGxlT3JQdHJJ
bmZvKSB7Ci0gICAgdGhpcy5wdHIgPSBuZXcgYmluZGluZ3MuSW50ZXJmYWNlUHRyQ29udHJvbGxl
cihVc2JDaG9vc2VyU2VydmljZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGhhbmRsZU9yUHRySW5mbyk7Ci0gIH0KLQotICBmdW5jdGlvbiBVc2JD
aG9vc2VyU2VydmljZUFzc29jaWF0ZWRQdHIoYXNzb2NpYXRlZEludGVyZmFjZVB0ckluZm8pIHsK
LSAgICB0aGlzLnB0ciA9IG5ldyBhc3NvY2lhdGVkQmluZGluZ3MuQXNzb2NpYXRlZEludGVyZmFj
ZVB0ckNvbnRyb2xsZXIoCi0gICAgICAgIFVzYkNob29zZXJTZXJ2aWNlLCBhc3NvY2lhdGVkSW50
ZXJmYWNlUHRySW5mbyk7Ci0gIH0KLQotICBVc2JDaG9vc2VyU2VydmljZUFzc29jaWF0ZWRQdHIu
cHJvdG90eXBlID0KLSAgICAgIE9iamVjdC5jcmVhdGUoVXNiQ2hvb3NlclNlcnZpY2VQdHIucHJv
dG90eXBlKTsKLSAgVXNiQ2hvb3NlclNlcnZpY2VBc3NvY2lhdGVkUHRyLnByb3RvdHlwZS5jb25z
dHJ1Y3RvciA9Ci0gICAgICBVc2JDaG9vc2VyU2VydmljZUFzc29jaWF0ZWRQdHI7Ci0KLSAgZnVu
Y3Rpb24gVXNiQ2hvb3NlclNlcnZpY2VQcm94eShyZWNlaXZlcikgewotICAgIHRoaXMucmVjZWl2
ZXJfID0gcmVjZWl2ZXI7Ci0gIH0KLSAgVXNiQ2hvb3NlclNlcnZpY2VQdHIucHJvdG90eXBlLmdl
dFBlcm1pc3Npb24gPSBmdW5jdGlvbigpIHsKLSAgICByZXR1cm4gVXNiQ2hvb3NlclNlcnZpY2VQ
cm94eS5wcm90b3R5cGUuZ2V0UGVybWlzc2lvbgotICAgICAgICAuYXBwbHkodGhpcy5wdHIuZ2V0
UHJveHkoKSwgYXJndW1lbnRzKTsKLSAgfTsKLQotICBVc2JDaG9vc2VyU2VydmljZVByb3h5LnBy
b3RvdHlwZS5nZXRQZXJtaXNzaW9uID0gZnVuY3Rpb24oZGV2aWNlRmlsdGVycykgewotICAgIHZh
ciBwYXJhbXMgPSBuZXcgVXNiQ2hvb3NlclNlcnZpY2VfR2V0UGVybWlzc2lvbl9QYXJhbXMoKTsK
LSAgICBwYXJhbXMuZGV2aWNlRmlsdGVycyA9IGRldmljZUZpbHRlcnM7Ci0gICAgcmV0dXJuIG5l
dyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewotICAgICAgdmFyIGJ1aWxkZXIg
PSBuZXcgY29kZWMuTWVzc2FnZVYxQnVpbGRlcigKLSAgICAgICAgICBrVXNiQ2hvb3NlclNlcnZp
Y2VfR2V0UGVybWlzc2lvbl9OYW1lLAotICAgICAgICAgIGNvZGVjLmFsaWduKFVzYkNob29zZXJT
ZXJ2aWNlX0dldFBlcm1pc3Npb25fUGFyYW1zLmVuY29kZWRTaXplKSwKLSAgICAgICAgICBjb2Rl
Yy5rTWVzc2FnZUV4cGVjdHNSZXNwb25zZSwgMCk7Ci0gICAgICBidWlsZGVyLmVuY29kZVN0cnVj
dChVc2JDaG9vc2VyU2VydmljZV9HZXRQZXJtaXNzaW9uX1BhcmFtcywgcGFyYW1zKTsKLSAgICAg
IHZhciBtZXNzYWdlID0gYnVpbGRlci5maW5pc2goKTsKLSAgICAgIHRoaXMucmVjZWl2ZXJfLmFj
Y2VwdEFuZEV4cGVjdFJlc3BvbnNlKG1lc3NhZ2UpLnRoZW4oZnVuY3Rpb24obWVzc2FnZSkgewot
ICAgICAgICB2YXIgcmVhZGVyID0gbmV3IGNvZGVjLk1lc3NhZ2VSZWFkZXIobWVzc2FnZSk7Ci0g
ICAgICAgIHZhciByZXNwb25zZVBhcmFtcyA9Ci0gICAgICAgICAgICByZWFkZXIuZGVjb2RlU3Ry
dWN0KFVzYkNob29zZXJTZXJ2aWNlX0dldFBlcm1pc3Npb25fUmVzcG9uc2VQYXJhbXMpOwotICAg
ICAgICByZXNvbHZlKHJlc3BvbnNlUGFyYW1zKTsKLSAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uKHJl
c3VsdCkgewotICAgICAgICByZWplY3QoRXJyb3IoIkNvbm5lY3Rpb24gZXJyb3I6ICIgKyByZXN1
bHQpKTsKLSAgICAgIH0pOwotICAgIH0uYmluZCh0aGlzKSk7Ci0gIH07Ci0KLSAgZnVuY3Rpb24g
VXNiQ2hvb3NlclNlcnZpY2VTdHViKGRlbGVnYXRlKSB7Ci0gICAgdGhpcy5kZWxlZ2F0ZV8gPSBk
ZWxlZ2F0ZTsKLSAgfQotICBVc2JDaG9vc2VyU2VydmljZVN0dWIucHJvdG90eXBlLmdldFBlcm1p
c3Npb24gPSBmdW5jdGlvbihkZXZpY2VGaWx0ZXJzKSB7Ci0gICAgcmV0dXJuIHRoaXMuZGVsZWdh
dGVfICYmIHRoaXMuZGVsZWdhdGVfLmdldFBlcm1pc3Npb24gJiYgdGhpcy5kZWxlZ2F0ZV8uZ2V0
UGVybWlzc2lvbihkZXZpY2VGaWx0ZXJzKTsKLSAgfQotCi0gIFVzYkNob29zZXJTZXJ2aWNlU3R1
Yi5wcm90b3R5cGUuYWNjZXB0ID0gZnVuY3Rpb24obWVzc2FnZSkgewotICAgIHZhciByZWFkZXIg
PSBuZXcgY29kZWMuTWVzc2FnZVJlYWRlcihtZXNzYWdlKTsKLSAgICBzd2l0Y2ggKHJlYWRlci5t
ZXNzYWdlTmFtZSkgewotICAgIGRlZmF1bHQ6Ci0gICAgICByZXR1cm4gZmFsc2U7Ci0gICAgfQot
ICB9OwotCi0gIFVzYkNob29zZXJTZXJ2aWNlU3R1Yi5wcm90b3R5cGUuYWNjZXB0V2l0aFJlc3Bv
bmRlciA9Ci0gICAgICBmdW5jdGlvbihtZXNzYWdlLCByZXNwb25kZXIpIHsKLSAgICB2YXIgcmVh
ZGVyID0gbmV3IGNvZGVjLk1lc3NhZ2VSZWFkZXIobWVzc2FnZSk7Ci0gICAgc3dpdGNoIChyZWFk
ZXIubWVzc2FnZU5hbWUpIHsKLSAgICBjYXNlIGtVc2JDaG9vc2VyU2VydmljZV9HZXRQZXJtaXNz
aW9uX05hbWU6Ci0gICAgICB2YXIgcGFyYW1zID0gcmVhZGVyLmRlY29kZVN0cnVjdChVc2JDaG9v
c2VyU2VydmljZV9HZXRQZXJtaXNzaW9uX1BhcmFtcyk7Ci0gICAgICB0aGlzLmdldFBlcm1pc3Np
b24ocGFyYW1zLmRldmljZUZpbHRlcnMpLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICAg
ICAgdmFyIHJlc3BvbnNlUGFyYW1zID0KLSAgICAgICAgICAgIG5ldyBVc2JDaG9vc2VyU2Vydmlj
ZV9HZXRQZXJtaXNzaW9uX1Jlc3BvbnNlUGFyYW1zKCk7Ci0gICAgICAgIHJlc3BvbnNlUGFyYW1z
LnJlc3VsdCA9IHJlc3BvbnNlLnJlc3VsdDsKLSAgICAgICAgdmFyIGJ1aWxkZXIgPSBuZXcgY29k
ZWMuTWVzc2FnZVYxQnVpbGRlcigKLSAgICAgICAgICAgIGtVc2JDaG9vc2VyU2VydmljZV9HZXRQ
ZXJtaXNzaW9uX05hbWUsCi0gICAgICAgICAgICBjb2RlYy5hbGlnbihVc2JDaG9vc2VyU2Vydmlj
ZV9HZXRQZXJtaXNzaW9uX1Jlc3BvbnNlUGFyYW1zLmVuY29kZWRTaXplKSwKLSAgICAgICAgICAg
IGNvZGVjLmtNZXNzYWdlSXNSZXNwb25zZSwgcmVhZGVyLnJlcXVlc3RJRCk7Ci0gICAgICAgIGJ1
aWxkZXIuZW5jb2RlU3RydWN0KFVzYkNob29zZXJTZXJ2aWNlX0dldFBlcm1pc3Npb25fUmVzcG9u
c2VQYXJhbXMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlUGFyYW1zKTsK
LSAgICAgICAgdmFyIG1lc3NhZ2UgPSBidWlsZGVyLmZpbmlzaCgpOwotICAgICAgICByZXNwb25k
ZXIuYWNjZXB0KG1lc3NhZ2UpOwotICAgICAgfSk7Ci0gICAgICByZXR1cm4gdHJ1ZTsKLSAgICBk
ZWZhdWx0OgotICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0KLSAgfTsKLQotICBmdW5jdGlvbiB2
YWxpZGF0ZVVzYkNob29zZXJTZXJ2aWNlUmVxdWVzdChtZXNzYWdlVmFsaWRhdG9yKSB7Ci0gICAg
dmFyIG1lc3NhZ2UgPSBtZXNzYWdlVmFsaWRhdG9yLm1lc3NhZ2U7Ci0gICAgdmFyIHBhcmFtc0Ns
YXNzID0gbnVsbDsKLSAgICBzd2l0Y2ggKG1lc3NhZ2UuZ2V0TmFtZSgpKSB7Ci0gICAgICBjYXNl
IGtVc2JDaG9vc2VyU2VydmljZV9HZXRQZXJtaXNzaW9uX05hbWU6Ci0gICAgICAgIGlmIChtZXNz
YWdlLmV4cGVjdHNSZXNwb25zZSgpKQotICAgICAgICAgIHBhcmFtc0NsYXNzID0gVXNiQ2hvb3Nl
clNlcnZpY2VfR2V0UGVybWlzc2lvbl9QYXJhbXM7Ci0gICAgICBicmVhazsKLSAgICB9Ci0gICAg
aWYgKHBhcmFtc0NsYXNzID09PSBudWxsKQotICAgICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0
aW9uRXJyb3IuTk9ORTsKLSAgICByZXR1cm4gcGFyYW1zQ2xhc3MudmFsaWRhdGUobWVzc2FnZVZh
bGlkYXRvciwgbWVzc2FnZVZhbGlkYXRvci5tZXNzYWdlLmdldEhlYWRlck51bUJ5dGVzKCkpOwot
ICB9Ci0KLSAgZnVuY3Rpb24gdmFsaWRhdGVVc2JDaG9vc2VyU2VydmljZVJlc3BvbnNlKG1lc3Nh
Z2VWYWxpZGF0b3IpIHsKLSAgIHZhciBtZXNzYWdlID0gbWVzc2FnZVZhbGlkYXRvci5tZXNzYWdl
OwotICAgdmFyIHBhcmFtc0NsYXNzID0gbnVsbDsKLSAgIHN3aXRjaCAobWVzc2FnZS5nZXROYW1l
KCkpIHsKLSAgICAgIGNhc2Uga1VzYkNob29zZXJTZXJ2aWNlX0dldFBlcm1pc3Npb25fTmFtZToK
LSAgICAgICAgaWYgKG1lc3NhZ2UuaXNSZXNwb25zZSgpKQotICAgICAgICAgIHBhcmFtc0NsYXNz
ID0gVXNiQ2hvb3NlclNlcnZpY2VfR2V0UGVybWlzc2lvbl9SZXNwb25zZVBhcmFtczsKLSAgICAg
ICAgYnJlYWs7Ci0gICAgfQotICAgIGlmIChwYXJhbXNDbGFzcyA9PT0gbnVsbCkKLSAgICAgIHJl
dHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gICAgcmV0dXJuIHBhcmFtc0Ns
YXNzLnZhbGlkYXRlKG1lc3NhZ2VWYWxpZGF0b3IsIG1lc3NhZ2VWYWxpZGF0b3IubWVzc2FnZS5n
ZXRIZWFkZXJOdW1CeXRlcygpKTsKLSAgfQotCi0gIHZhciBVc2JDaG9vc2VyU2VydmljZSA9IHsK
LSAgICBuYW1lOiAnZGV2aWNlOjptb2pvbTo6VXNiQ2hvb3NlclNlcnZpY2UnLAotICAgIGtWZXJz
aW9uOiAwLAotICAgIHB0ckNsYXNzOiBVc2JDaG9vc2VyU2VydmljZVB0ciwKLSAgICBwcm94eUNs
YXNzOiBVc2JDaG9vc2VyU2VydmljZVByb3h5LAotICAgIHN0dWJDbGFzczogVXNiQ2hvb3NlclNl
cnZpY2VTdHViLAotICAgIHZhbGlkYXRlUmVxdWVzdDogdmFsaWRhdGVVc2JDaG9vc2VyU2Vydmlj
ZVJlcXVlc3QsCi0gICAgdmFsaWRhdGVSZXNwb25zZTogdmFsaWRhdGVVc2JDaG9vc2VyU2Vydmlj
ZVJlc3BvbnNlLAotICB9OwotICBVc2JDaG9vc2VyU2VydmljZVN0dWIucHJvdG90eXBlLnZhbGlk
YXRvciA9IHZhbGlkYXRlVXNiQ2hvb3NlclNlcnZpY2VSZXF1ZXN0OwotICBVc2JDaG9vc2VyU2Vy
dmljZVByb3h5LnByb3RvdHlwZS52YWxpZGF0b3IgPSB2YWxpZGF0ZVVzYkNob29zZXJTZXJ2aWNl
UmVzcG9uc2U7Ci0gIGV4cG9ydHMuVXNiQ2hvb3NlclNlcnZpY2UgPSBVc2JDaG9vc2VyU2Vydmlj
ZTsKLSAgZXhwb3J0cy5Vc2JDaG9vc2VyU2VydmljZVB0ciA9IFVzYkNob29zZXJTZXJ2aWNlUHRy
OwotICBleHBvcnRzLlVzYkNob29zZXJTZXJ2aWNlQXNzb2NpYXRlZFB0ciA9IFVzYkNob29zZXJT
ZXJ2aWNlQXNzb2NpYXRlZFB0cjsKLX0pKCk7ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvY2hyb21pdW0vY2hvb3Nlcl9zZXJ2aWNlLm1vam9tLmpzLmhlYWRlcnMgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1
bS9jaG9vc2VyX3NlcnZpY2UubW9qb20uanMuaGVhZGVycwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggNjgwNWMzMjNkZjVhOTc1MjMxNjQ4YjgzMGUzM2NlMTgzYzNjYmJkMy4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS9jaG9vc2VyX3Nl
cnZpY2UubW9qb20uanMuaGVhZGVycworKysgL2Rldi9udWxsCkBAIC0xICswLDAgQEAKLUNvbnRl
bnQtVHlwZTogdGV4dC9qYXZhc2NyaXB0OyBjaGFyc2V0PXV0Zi04CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1
bS9kZXZpY2UubW9qb20uanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS9kZXZpY2UubW9qb20uanMKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IGNlNTY2MGNkNTJlZGFlNjU3MWQyMmQzMTQzMGY0ZmUwYjVkMTY5N2Iu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vZGV2
aWNlLm1vam9tLmpzCisrKyAvZGV2L251bGwKQEAgLTEsMzQ2MCArMCwwIEBACi0vLyBDb3B5cmln
aHQgMjAxNCBUaGUgQ2hyb21pdW0gQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLS8vIFVz
ZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2Ug
dGhhdCBjYW4gYmUKLS8vIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCi0KLQotJ3VzZSBzdHJp
Y3QnOwotCi0oZnVuY3Rpb24oKSB7Ci0gIHZhciBtb2pvbUlkID0gJ2RldmljZS91c2IvcHVibGlj
L2ludGVyZmFjZXMvZGV2aWNlLm1vam9tJzsKLSAgaWYgKG1vam8uaW50ZXJuYWwuaXNNb2pvbUxv
YWRlZChtb2pvbUlkKSkgewotICAgIGNvbnNvbGUud2FybignVGhlIGZvbGxvd2luZyBtb2pvbSBp
cyBsb2FkZWQgbXVsdGlwbGUgdGltZXM6ICcgKyBtb2pvbUlkKTsKLSAgICByZXR1cm47Ci0gIH0K
LSAgbW9qby5pbnRlcm5hbC5tYXJrTW9qb21Mb2FkZWQobW9qb21JZCk7Ci0KLSAgLy8gVE9ETyh5
enNoZW4pOiBEZWZpbmUgdGhlc2UgYWxpYXNlcyB0byBtaW5pbWl6ZSB0aGUgZGlmZmVyZW5jZXMg
YmV0d2VlbiB0aGUKLSAgLy8gb2xkL25ldyBtb2Rlcy4gUmVtb3ZlIHRoZW0gd2hlbiB0aGUgb2xk
IG1vZGUgZ29lcyBhd2F5LgotICB2YXIgYmluZGluZ3MgPSBtb2pvOwotICB2YXIgYXNzb2NpYXRl
ZEJpbmRpbmdzID0gbW9qbzsKLSAgdmFyIGNvZGVjID0gbW9qby5pbnRlcm5hbDsKLSAgdmFyIHZh
bGlkYXRvciA9IG1vam8uaW50ZXJuYWw7Ci0KLSAgdmFyIGV4cG9ydHMgPSBtb2pvLmludGVybmFs
LmV4cG9zZU5hbWVzcGFjZSgnZGV2aWNlLm1vam9tJyk7Ci0gIHZhciBzdHJpbmcxNiQgPQotICAg
ICAgbW9qby5pbnRlcm5hbC5leHBvc2VOYW1lc3BhY2UoJ21vam8uY29tbW9uLm1vam9tJyk7Ci0g
IGlmIChtb2pvLmNvbmZpZy5hdXRvTG9hZE1vam9tRGVwcykgewotICAgIG1vam8uaW50ZXJuYWwu
bG9hZE1vam9tSWZOZWNlc3NhcnkoCi0gICAgICAgICdtb2pvL2NvbW1vbi9zdHJpbmcxNi5tb2pv
bScsICcuLi8uLi8uLi8uLi9tb2pvL2NvbW1vbi9zdHJpbmcxNi5tb2pvbS5qcycpOwotICB9Ci0K
LQotICB2YXIgVXNiT3BlbkRldmljZUVycm9yID0ge307Ci0gIFVzYk9wZW5EZXZpY2VFcnJvci5P
SyA9IDA7Ci0gIFVzYk9wZW5EZXZpY2VFcnJvci5BQ0NFU1NfREVOSUVEID0gVXNiT3BlbkRldmlj
ZUVycm9yLk9LICsgMTsKLSAgVXNiT3BlbkRldmljZUVycm9yLkFMUkVBRFlfT1BFTiA9IFVzYk9w
ZW5EZXZpY2VFcnJvci5BQ0NFU1NfREVOSUVEICsgMTsKLQotICBVc2JPcGVuRGV2aWNlRXJyb3Iu
aXNLbm93bkVudW1WYWx1ZSA9IGZ1bmN0aW9uKHZhbHVlKSB7Ci0gICAgc3dpdGNoICh2YWx1ZSkg
ewotICAgIGNhc2UgMDoKLSAgICBjYXNlIDE6Ci0gICAgY2FzZSAyOgotICAgICAgcmV0dXJuIHRy
dWU7Ci0gICAgfQotICAgIHJldHVybiBmYWxzZTsKLSAgfTsKLQotICBVc2JPcGVuRGV2aWNlRXJy
b3IudmFsaWRhdGUgPSBmdW5jdGlvbihlbnVtVmFsdWUpIHsKLSAgICB2YXIgaXNFeHRlbnNpYmxl
ID0gZmFsc2U7Ci0gICAgaWYgKGlzRXh0ZW5zaWJsZSB8fCB0aGlzLmlzS25vd25FbnVtVmFsdWUo
ZW51bVZhbHVlKSkKLSAgICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7
Ci0KLSAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5VTktOT1dOX0VOVU1fVkFM
VUU7Ci0gIH07Ci0gIHZhciBVc2JUcmFuc2ZlckRpcmVjdGlvbiA9IHt9OwotICBVc2JUcmFuc2Zl
ckRpcmVjdGlvbi5JTkJPVU5EID0gMDsKLSAgVXNiVHJhbnNmZXJEaXJlY3Rpb24uT1VUQk9VTkQg
PSBVc2JUcmFuc2ZlckRpcmVjdGlvbi5JTkJPVU5EICsgMTsKLQotICBVc2JUcmFuc2ZlckRpcmVj
dGlvbi5pc0tub3duRW51bVZhbHVlID0gZnVuY3Rpb24odmFsdWUpIHsKLSAgICBzd2l0Y2ggKHZh
bHVlKSB7Ci0gICAgY2FzZSAwOgotICAgIGNhc2UgMToKLSAgICAgIHJldHVybiB0cnVlOwotICAg
IH0KLSAgICByZXR1cm4gZmFsc2U7Ci0gIH07Ci0KLSAgVXNiVHJhbnNmZXJEaXJlY3Rpb24udmFs
aWRhdGUgPSBmdW5jdGlvbihlbnVtVmFsdWUpIHsKLSAgICB2YXIgaXNFeHRlbnNpYmxlID0gZmFs
c2U7Ci0gICAgaWYgKGlzRXh0ZW5zaWJsZSB8fCB0aGlzLmlzS25vd25FbnVtVmFsdWUoZW51bVZh
bHVlKSkKLSAgICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0KLSAg
ICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5VTktOT1dOX0VOVU1fVkFMVUU7Ci0g
IH07Ci0gIHZhciBVc2JDb250cm9sVHJhbnNmZXJUeXBlID0ge307Ci0gIFVzYkNvbnRyb2xUcmFu
c2ZlclR5cGUuU1RBTkRBUkQgPSAwOwotICBVc2JDb250cm9sVHJhbnNmZXJUeXBlLkNMQVNTID0g
VXNiQ29udHJvbFRyYW5zZmVyVHlwZS5TVEFOREFSRCArIDE7Ci0gIFVzYkNvbnRyb2xUcmFuc2Zl
clR5cGUuVkVORE9SID0gVXNiQ29udHJvbFRyYW5zZmVyVHlwZS5DTEFTUyArIDE7Ci0gIFVzYkNv
bnRyb2xUcmFuc2ZlclR5cGUuUkVTRVJWRUQgPSBVc2JDb250cm9sVHJhbnNmZXJUeXBlLlZFTkRP
UiArIDE7Ci0KLSAgVXNiQ29udHJvbFRyYW5zZmVyVHlwZS5pc0tub3duRW51bVZhbHVlID0gZnVu
Y3Rpb24odmFsdWUpIHsKLSAgICBzd2l0Y2ggKHZhbHVlKSB7Ci0gICAgY2FzZSAwOgotICAgIGNh
c2UgMToKLSAgICBjYXNlIDI6Ci0gICAgY2FzZSAzOgotICAgICAgcmV0dXJuIHRydWU7Ci0gICAg
fQotICAgIHJldHVybiBmYWxzZTsKLSAgfTsKLQotICBVc2JDb250cm9sVHJhbnNmZXJUeXBlLnZh
bGlkYXRlID0gZnVuY3Rpb24oZW51bVZhbHVlKSB7Ci0gICAgdmFyIGlzRXh0ZW5zaWJsZSA9IGZh
bHNlOwotICAgIGlmIChpc0V4dGVuc2libGUgfHwgdGhpcy5pc0tub3duRW51bVZhbHVlKGVudW1W
YWx1ZSkpCi0gICAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwotCi0g
ICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuVU5LTk9XTl9FTlVNX1ZBTFVFOwot
ICB9OwotICB2YXIgVXNiQ29udHJvbFRyYW5zZmVyUmVjaXBpZW50ID0ge307Ci0gIFVzYkNvbnRy
b2xUcmFuc2ZlclJlY2lwaWVudC5ERVZJQ0UgPSAwOwotICBVc2JDb250cm9sVHJhbnNmZXJSZWNp
cGllbnQuSU5URVJGQUNFID0gVXNiQ29udHJvbFRyYW5zZmVyUmVjaXBpZW50LkRFVklDRSArIDE7
Ci0gIFVzYkNvbnRyb2xUcmFuc2ZlclJlY2lwaWVudC5FTkRQT0lOVCA9IFVzYkNvbnRyb2xUcmFu
c2ZlclJlY2lwaWVudC5JTlRFUkZBQ0UgKyAxOwotICBVc2JDb250cm9sVHJhbnNmZXJSZWNpcGll
bnQuT1RIRVIgPSBVc2JDb250cm9sVHJhbnNmZXJSZWNpcGllbnQuRU5EUE9JTlQgKyAxOwotCi0g
IFVzYkNvbnRyb2xUcmFuc2ZlclJlY2lwaWVudC5pc0tub3duRW51bVZhbHVlID0gZnVuY3Rpb24o
dmFsdWUpIHsKLSAgICBzd2l0Y2ggKHZhbHVlKSB7Ci0gICAgY2FzZSAwOgotICAgIGNhc2UgMToK
LSAgICBjYXNlIDI6Ci0gICAgY2FzZSAzOgotICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfQotICAg
IHJldHVybiBmYWxzZTsKLSAgfTsKLQotICBVc2JDb250cm9sVHJhbnNmZXJSZWNpcGllbnQudmFs
aWRhdGUgPSBmdW5jdGlvbihlbnVtVmFsdWUpIHsKLSAgICB2YXIgaXNFeHRlbnNpYmxlID0gZmFs
c2U7Ci0gICAgaWYgKGlzRXh0ZW5zaWJsZSB8fCB0aGlzLmlzS25vd25FbnVtVmFsdWUoZW51bVZh
bHVlKSkKLSAgICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0KLSAg
ICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5VTktOT1dOX0VOVU1fVkFMVUU7Ci0g
IH07Ci0gIHZhciBVc2JUcmFuc2ZlclR5cGUgPSB7fTsKLSAgVXNiVHJhbnNmZXJUeXBlLkNPTlRS
T0wgPSAwOwotICBVc2JUcmFuc2ZlclR5cGUuSVNPQ0hST05PVVMgPSBVc2JUcmFuc2ZlclR5cGUu
Q09OVFJPTCArIDE7Ci0gIFVzYlRyYW5zZmVyVHlwZS5CVUxLID0gVXNiVHJhbnNmZXJUeXBlLklT
T0NIUk9OT1VTICsgMTsKLSAgVXNiVHJhbnNmZXJUeXBlLklOVEVSUlVQVCA9IFVzYlRyYW5zZmVy
VHlwZS5CVUxLICsgMTsKLQotICBVc2JUcmFuc2ZlclR5cGUuaXNLbm93bkVudW1WYWx1ZSA9IGZ1
bmN0aW9uKHZhbHVlKSB7Ci0gICAgc3dpdGNoICh2YWx1ZSkgewotICAgIGNhc2UgMDoKLSAgICBj
YXNlIDE6Ci0gICAgY2FzZSAyOgotICAgIGNhc2UgMzoKLSAgICAgIHJldHVybiB0cnVlOwotICAg
IH0KLSAgICByZXR1cm4gZmFsc2U7Ci0gIH07Ci0KLSAgVXNiVHJhbnNmZXJUeXBlLnZhbGlkYXRl
ID0gZnVuY3Rpb24oZW51bVZhbHVlKSB7Ci0gICAgdmFyIGlzRXh0ZW5zaWJsZSA9IGZhbHNlOwot
ICAgIGlmIChpc0V4dGVuc2libGUgfHwgdGhpcy5pc0tub3duRW51bVZhbHVlKGVudW1WYWx1ZSkp
Ci0gICAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwotCi0gICAgcmV0
dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuVU5LTk9XTl9FTlVNX1ZBTFVFOwotICB9Owot
ICB2YXIgVXNiVHJhbnNmZXJTdGF0dXMgPSB7fTsKLSAgVXNiVHJhbnNmZXJTdGF0dXMuQ09NUExF
VEVEID0gMDsKLSAgVXNiVHJhbnNmZXJTdGF0dXMuVFJBTlNGRVJfRVJST1IgPSBVc2JUcmFuc2Zl
clN0YXR1cy5DT01QTEVURUQgKyAxOwotICBVc2JUcmFuc2ZlclN0YXR1cy5USU1FT1VUID0gVXNi
VHJhbnNmZXJTdGF0dXMuVFJBTlNGRVJfRVJST1IgKyAxOwotICBVc2JUcmFuc2ZlclN0YXR1cy5D
QU5DRUxMRUQgPSBVc2JUcmFuc2ZlclN0YXR1cy5USU1FT1VUICsgMTsKLSAgVXNiVHJhbnNmZXJT
dGF0dXMuU1RBTExFRCA9IFVzYlRyYW5zZmVyU3RhdHVzLkNBTkNFTExFRCArIDE7Ci0gIFVzYlRy
YW5zZmVyU3RhdHVzLkRJU0NPTk5FQ1QgPSBVc2JUcmFuc2ZlclN0YXR1cy5TVEFMTEVEICsgMTsK
LSAgVXNiVHJhbnNmZXJTdGF0dXMuQkFCQkxFID0gVXNiVHJhbnNmZXJTdGF0dXMuRElTQ09OTkVD
VCArIDE7Ci0gIFVzYlRyYW5zZmVyU3RhdHVzLlNIT1JUX1BBQ0tFVCA9IFVzYlRyYW5zZmVyU3Rh
dHVzLkJBQkJMRSArIDE7Ci0gIFVzYlRyYW5zZmVyU3RhdHVzLlBFUk1JU1NJT05fREVOSUVEID0g
VXNiVHJhbnNmZXJTdGF0dXMuU0hPUlRfUEFDS0VUICsgMTsKLQotICBVc2JUcmFuc2ZlclN0YXR1
cy5pc0tub3duRW51bVZhbHVlID0gZnVuY3Rpb24odmFsdWUpIHsKLSAgICBzd2l0Y2ggKHZhbHVl
KSB7Ci0gICAgY2FzZSAwOgotICAgIGNhc2UgMToKLSAgICBjYXNlIDI6Ci0gICAgY2FzZSAzOgot
ICAgIGNhc2UgNDoKLSAgICBjYXNlIDU6Ci0gICAgY2FzZSA2OgotICAgIGNhc2UgNzoKLSAgICBj
YXNlIDg6Ci0gICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9Ci0gICAgcmV0dXJuIGZhbHNlOwotICB9
OwotCi0gIFVzYlRyYW5zZmVyU3RhdHVzLnZhbGlkYXRlID0gZnVuY3Rpb24oZW51bVZhbHVlKSB7
Ci0gICAgdmFyIGlzRXh0ZW5zaWJsZSA9IGZhbHNlOwotICAgIGlmIChpc0V4dGVuc2libGUgfHwg
dGhpcy5pc0tub3duRW51bVZhbHVlKGVudW1WYWx1ZSkpCi0gICAgICByZXR1cm4gdmFsaWRhdG9y
LnZhbGlkYXRpb25FcnJvci5OT05FOwotCi0gICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9u
RXJyb3IuVU5LTk9XTl9FTlVNX1ZBTFVFOwotICB9OwotCi0gIGZ1bmN0aW9uIFVzYkVuZHBvaW50
SW5mbyh2YWx1ZXMpIHsKLSAgICB0aGlzLmluaXREZWZhdWx0c18oKTsKLSAgICB0aGlzLmluaXRG
aWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0gIFVzYkVuZHBvaW50SW5mby5wcm90b3R5cGUuaW5p
dERlZmF1bHRzXyA9IGZ1bmN0aW9uKCkgewotICAgIHRoaXMuZW5kcG9pbnROdW1iZXIgPSAwOwot
ICAgIHRoaXMuZGlyZWN0aW9uID0gMDsKLSAgICB0aGlzLnR5cGUgPSAwOwotICAgIHRoaXMucGFj
a2V0U2l6ZSA9IDA7Ci0gIH07Ci0gIFVzYkVuZHBvaW50SW5mby5wcm90b3R5cGUuaW5pdEZpZWxk
c18gPSBmdW5jdGlvbihmaWVsZHMpIHsKLSAgICBmb3IodmFyIGZpZWxkIGluIGZpZWxkcykgewot
ICAgICAgICBpZiAodGhpcy5oYXNPd25Qcm9wZXJ0eShmaWVsZCkpCi0gICAgICAgICAgdGhpc1tm
aWVsZF0gPSBmaWVsZHNbZmllbGRdOwotICAgIH0KLSAgfTsKLQotICBVc2JFbmRwb2ludEluZm8u
dmFsaWRhdGUgPSBmdW5jdGlvbihtZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsKLSAgICB2YXIg
ZXJyOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RIZWFkZXIob2Zm
c2V0LCBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9y
LnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgdmFyIGtW
ZXJzaW9uU2l6ZXMgPSBbCi0gICAgICB7dmVyc2lvbjogMCwgbnVtQnl0ZXM6IDI0fQotICAgIF07
Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFZlcnNpb24ob2Zmc2V0
LCBrVmVyc2lvblNpemVzKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVy
cm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotCi0gICAgCi0gICAgLy8gdmFsaWRh
dGUgVXNiRW5kcG9pbnRJbmZvLmRpcmVjdGlvbgotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3Iu
dmFsaWRhdGVFbnVtKG9mZnNldCArIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgNCwgVXNiVHJh
bnNmZXJEaXJlY3Rpb24pOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJy
b3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0gICAgCi0gICAgLy8gdmFsaWRhdGUg
VXNiRW5kcG9pbnRJbmZvLnR5cGUKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRl
RW51bShvZmZzZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDgsIFVzYlRyYW5zZmVyVHlw
ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAg
ICAgICByZXR1cm4gZXJyOwotCi0KLSAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJv
ci5OT05FOwotICB9OwotCi0gIFVzYkVuZHBvaW50SW5mby5lbmNvZGVkU2l6ZSA9IGNvZGVjLmtT
dHJ1Y3RIZWFkZXJTaXplICsgMTY7Ci0KLSAgVXNiRW5kcG9pbnRJbmZvLmRlY29kZSA9IGZ1bmN0
aW9uKGRlY29kZXIpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIHZhciB2YWwgPSBuZXcgVXNiRW5k
cG9pbnRJbmZvKCk7Ci0gICAgdmFyIG51bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50MzIo
KTsKLSAgICB2YXIgdmVyc2lvbiA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhbC5lbmRw
b2ludE51bWJlciA9IGRlY29kZXIuZGVjb2RlU3RydWN0KGNvZGVjLlVpbnQ4KTsKLSAgICBkZWNv
ZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsK
LSAgICB2YWwuZGlyZWN0aW9uID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoY29kZWMuSW50MzIpOwot
ICAgIHZhbC50eXBlID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoY29kZWMuSW50MzIpOwotICAgIHZh
bC5wYWNrZXRTaXplID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoY29kZWMuVWludDMyKTsKLSAgICBy
ZXR1cm4gdmFsOwotICB9OwotCi0gIFVzYkVuZHBvaW50SW5mby5lbmNvZGUgPSBmdW5jdGlvbihl
bmNvZGVyLCB2YWwpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIo
VXNiRW5kcG9pbnRJbmZvLmVuY29kZWRTaXplKTsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKDAp
OwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNvZGVjLlVpbnQ4LCB2YWwuZW5kcG9pbnROdW1i
ZXIpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5j
b2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNvZGVjLkludDMyLCB2YWwu
ZGlyZWN0aW9uKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdChjb2RlYy5JbnQzMiwgdmFsLnR5
cGUpOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNvZGVjLlVpbnQzMiwgdmFsLnBhY2tldFNp
emUpOwotICB9OwotICBmdW5jdGlvbiBVc2JBbHRlcm5hdGVJbnRlcmZhY2VJbmZvKHZhbHVlcykg
ewotICAgIHRoaXMuaW5pdERlZmF1bHRzXygpOwotICAgIHRoaXMuaW5pdEZpZWxkc18odmFsdWVz
KTsKLSAgfQotCi0KLSAgVXNiQWx0ZXJuYXRlSW50ZXJmYWNlSW5mby5wcm90b3R5cGUuaW5pdERl
ZmF1bHRzXyA9IGZ1bmN0aW9uKCkgewotICAgIHRoaXMuYWx0ZXJuYXRlU2V0dGluZyA9IDA7Ci0g
ICAgdGhpcy5jbGFzc0NvZGUgPSAwOwotICAgIHRoaXMuc3ViY2xhc3NDb2RlID0gMDsKLSAgICB0
aGlzLnByb3RvY29sQ29kZSA9IDA7Ci0gICAgdGhpcy5pbnRlcmZhY2VOYW1lID0gbnVsbDsKLSAg
ICB0aGlzLmVuZHBvaW50cyA9IG51bGw7Ci0gIH07Ci0gIFVzYkFsdGVybmF0ZUludGVyZmFjZUlu
Zm8ucHJvdG90eXBlLmluaXRGaWVsZHNfID0gZnVuY3Rpb24oZmllbGRzKSB7Ci0gICAgZm9yKHZh
ciBmaWVsZCBpbiBmaWVsZHMpIHsKLSAgICAgICAgaWYgKHRoaXMuaGFzT3duUHJvcGVydHkoZmll
bGQpKQotICAgICAgICAgIHRoaXNbZmllbGRdID0gZmllbGRzW2ZpZWxkXTsKLSAgICB9Ci0gIH07
Ci0KLSAgVXNiQWx0ZXJuYXRlSW50ZXJmYWNlSW5mby52YWxpZGF0ZSA9IGZ1bmN0aW9uKG1lc3Nh
Z2VWYWxpZGF0b3IsIG9mZnNldCkgewotICAgIHZhciBlcnI7Ci0gICAgZXJyID0gbWVzc2FnZVZh
bGlkYXRvci52YWxpZGF0ZVN0cnVjdEhlYWRlcihvZmZzZXQsIGNvZGVjLmtTdHJ1Y3RIZWFkZXJT
aXplKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0g
ICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICB2YXIga1ZlcnNpb25TaXplcyA9IFsKLSAgICAgIHt2
ZXJzaW9uOiAwLCBudW1CeXRlczogMzJ9Ci0gICAgXTsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRh
dG9yLnZhbGlkYXRlU3RydWN0VmVyc2lvbihvZmZzZXQsIGtWZXJzaW9uU2l6ZXMpOwotICAgIGlm
IChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJu
IGVycjsKLQotCi0KLQotCi0KLSAgICAKLSAgICAvLyB2YWxpZGF0ZSBVc2JBbHRlcm5hdGVJbnRl
cmZhY2VJbmZvLmludGVyZmFjZU5hbWUKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlk
YXRlU3RydWN0UG9pbnRlcihvZmZzZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDgsIHN0
cmluZzE2JC5TdHJpbmcxNiwgdHJ1ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlk
YXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0KLSAgICAKLSAgICAvLyB2
YWxpZGF0ZSBVc2JBbHRlcm5hdGVJbnRlcmZhY2VJbmZvLmVuZHBvaW50cwotICAgIGVyciA9IG1l
c3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVBcnJheVBvaW50ZXIob2Zmc2V0ICsgY29kZWMua1N0cnVj
dEhlYWRlclNpemUgKyAxNiwgOCwgbmV3IGNvZGVjLlBvaW50ZXJUbyhVc2JFbmRwb2ludEluZm8p
LCBmYWxzZSwgWzBdLCAwKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVy
cm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICByZXR1cm4gdmFsaWRhdG9yLnZh
bGlkYXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIFVzYkFsdGVybmF0ZUludGVyZmFjZUluZm8u
ZW5jb2RlZFNpemUgPSBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDI0OwotCi0gIFVzYkFsdGVy
bmF0ZUludGVyZmFjZUluZm8uZGVjb2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHZhciBw
YWNrZWQ7Ci0gICAgdmFyIHZhbCA9IG5ldyBVc2JBbHRlcm5hdGVJbnRlcmZhY2VJbmZvKCk7Ci0g
ICAgdmFyIG51bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YXIgdmVy
c2lvbiA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhbC5hbHRlcm5hdGVTZXR0aW5nID0g
ZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoY29kZWMuVWludDgpOwotICAgIHZhbC5jbGFzc0NvZGUgPSBk
ZWNvZGVyLmRlY29kZVN0cnVjdChjb2RlYy5VaW50OCk7Ci0gICAgdmFsLnN1YmNsYXNzQ29kZSA9
IGRlY29kZXIuZGVjb2RlU3RydWN0KGNvZGVjLlVpbnQ4KTsKLSAgICB2YWwucHJvdG9jb2xDb2Rl
ID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoY29kZWMuVWludDgpOwotICAgIGRlY29kZXIuc2tpcCgx
KTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29k
ZXIuc2tpcCgxKTsKLSAgICB2YWwuaW50ZXJmYWNlTmFtZSA9IGRlY29kZXIuZGVjb2RlU3RydWN0
UG9pbnRlcihzdHJpbmcxNiQuU3RyaW5nMTYpOwotICAgIHZhbC5lbmRwb2ludHMgPSBkZWNvZGVy
LmRlY29kZUFycmF5UG9pbnRlcihuZXcgY29kZWMuUG9pbnRlclRvKFVzYkVuZHBvaW50SW5mbykp
OwotICAgIHJldHVybiB2YWw7Ci0gIH07Ci0KLSAgVXNiQWx0ZXJuYXRlSW50ZXJmYWNlSW5mby5l
bmNvZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2YWwpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIGVu
Y29kZXIud3JpdGVVaW50MzIoVXNiQWx0ZXJuYXRlSW50ZXJmYWNlSW5mby5lbmNvZGVkU2l6ZSk7
Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMigwKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdChj
b2RlYy5VaW50OCwgdmFsLmFsdGVybmF0ZVNldHRpbmcpOwotICAgIGVuY29kZXIuZW5jb2RlU3Ry
dWN0KGNvZGVjLlVpbnQ4LCB2YWwuY2xhc3NDb2RlKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVj
dChjb2RlYy5VaW50OCwgdmFsLnN1YmNsYXNzQ29kZSk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1
Y3QoY29kZWMuVWludDgsIHZhbC5wcm90b2NvbENvZGUpOwotICAgIGVuY29kZXIuc2tpcCgxKTsK
LSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIu
c2tpcCgxKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdFBvaW50ZXIoc3RyaW5nMTYkLlN0cmlu
ZzE2LCB2YWwuaW50ZXJmYWNlTmFtZSk7Ci0gICAgZW5jb2Rlci5lbmNvZGVBcnJheVBvaW50ZXIo
bmV3IGNvZGVjLlBvaW50ZXJUbyhVc2JFbmRwb2ludEluZm8pLCB2YWwuZW5kcG9pbnRzKTsKLSAg
fTsKLSAgZnVuY3Rpb24gVXNiSW50ZXJmYWNlSW5mbyh2YWx1ZXMpIHsKLSAgICB0aGlzLmluaXRE
ZWZhdWx0c18oKTsKLSAgICB0aGlzLmluaXRGaWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0gIFVz
YkludGVyZmFjZUluZm8ucHJvdG90eXBlLmluaXREZWZhdWx0c18gPSBmdW5jdGlvbigpIHsKLSAg
ICB0aGlzLmludGVyZmFjZU51bWJlciA9IDA7Ci0gICAgdGhpcy5hbHRlcm5hdGVzID0gbnVsbDsK
LSAgfTsKLSAgVXNiSW50ZXJmYWNlSW5mby5wcm90b3R5cGUuaW5pdEZpZWxkc18gPSBmdW5jdGlv
bihmaWVsZHMpIHsKLSAgICBmb3IodmFyIGZpZWxkIGluIGZpZWxkcykgewotICAgICAgICBpZiAo
dGhpcy5oYXNPd25Qcm9wZXJ0eShmaWVsZCkpCi0gICAgICAgICAgdGhpc1tmaWVsZF0gPSBmaWVs
ZHNbZmllbGRdOwotICAgIH0KLSAgfTsKLQotICBVc2JJbnRlcmZhY2VJbmZvLnZhbGlkYXRlID0g
ZnVuY3Rpb24obWVzc2FnZVZhbGlkYXRvciwgb2Zmc2V0KSB7Ci0gICAgdmFyIGVycjsKLSAgICBl
cnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0SGVhZGVyKG9mZnNldCwgY29kZWMu
a1N0cnVjdEhlYWRlclNpemUpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9u
RXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHZhciBrVmVyc2lvblNpemVz
ID0gWwotICAgICAge3ZlcnNpb246IDAsIG51bUJ5dGVzOiAyNH0KLSAgICBdOwotICAgIGVyciA9
IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RWZXJzaW9uKG9mZnNldCwga1ZlcnNpb25T
aXplcyk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQot
ICAgICAgICByZXR1cm4gZXJyOwotCi0KLQotICAgIAotICAgIC8vIHZhbGlkYXRlIFVzYkludGVy
ZmFjZUluZm8uYWx0ZXJuYXRlcwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVB
cnJheVBvaW50ZXIob2Zmc2V0ICsgY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyA4LCA4LCBuZXcg
Y29kZWMuUG9pbnRlclRvKFVzYkFsdGVybmF0ZUludGVyZmFjZUluZm8pLCBmYWxzZSwgWzBdLCAw
KTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAg
ICAgIHJldHVybiBlcnI7Ci0KLSAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5O
T05FOwotICB9OwotCi0gIFVzYkludGVyZmFjZUluZm8uZW5jb2RlZFNpemUgPSBjb2RlYy5rU3Ry
dWN0SGVhZGVyU2l6ZSArIDE2OwotCi0gIFVzYkludGVyZmFjZUluZm8uZGVjb2RlID0gZnVuY3Rp
b24oZGVjb2RlcikgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgdmFyIHZhbCA9IG5ldyBVc2JJbnRl
cmZhY2VJbmZvKCk7Ci0gICAgdmFyIG51bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50MzIo
KTsKLSAgICB2YXIgdmVyc2lvbiA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhbC5pbnRl
cmZhY2VOdW1iZXIgPSBkZWNvZGVyLmRlY29kZVN0cnVjdChjb2RlYy5VaW50OCk7Ci0gICAgZGVj
b2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7
Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVy
LnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIHZhbC5hbHRlcm5hdGVzID0gZGVj
b2Rlci5kZWNvZGVBcnJheVBvaW50ZXIobmV3IGNvZGVjLlBvaW50ZXJUbyhVc2JBbHRlcm5hdGVJ
bnRlcmZhY2VJbmZvKSk7Ci0gICAgcmV0dXJuIHZhbDsKLSAgfTsKLQotICBVc2JJbnRlcmZhY2VJ
bmZvLmVuY29kZSA9IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgIHZhciBwYWNrZWQ7Ci0g
ICAgZW5jb2Rlci53cml0ZVVpbnQzMihVc2JJbnRlcmZhY2VJbmZvLmVuY29kZWRTaXplKTsKLSAg
ICBlbmNvZGVyLndyaXRlVWludDMyKDApOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNvZGVj
LlVpbnQ4LCB2YWwuaW50ZXJmYWNlTnVtYmVyKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAg
ZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAo
MSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNv
ZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5lbmNvZGVBcnJheVBvaW50ZXIobmV3IGNvZGVjLlBv
aW50ZXJUbyhVc2JBbHRlcm5hdGVJbnRlcmZhY2VJbmZvKSwgdmFsLmFsdGVybmF0ZXMpOwotICB9
OwotICBmdW5jdGlvbiBVc2JDb25maWd1cmF0aW9uSW5mbyh2YWx1ZXMpIHsKLSAgICB0aGlzLmlu
aXREZWZhdWx0c18oKTsKLSAgICB0aGlzLmluaXRGaWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0g
IFVzYkNvbmZpZ3VyYXRpb25JbmZvLnByb3RvdHlwZS5pbml0RGVmYXVsdHNfID0gZnVuY3Rpb24o
KSB7Ci0gICAgdGhpcy5jb25maWd1cmF0aW9uVmFsdWUgPSAwOwotICAgIHRoaXMuY29uZmlndXJh
dGlvbk5hbWUgPSBudWxsOwotICAgIHRoaXMuaW50ZXJmYWNlcyA9IG51bGw7Ci0gIH07Ci0gIFVz
YkNvbmZpZ3VyYXRpb25JbmZvLnByb3RvdHlwZS5pbml0RmllbGRzXyA9IGZ1bmN0aW9uKGZpZWxk
cykgewotICAgIGZvcih2YXIgZmllbGQgaW4gZmllbGRzKSB7Ci0gICAgICAgIGlmICh0aGlzLmhh
c093blByb3BlcnR5KGZpZWxkKSkKLSAgICAgICAgICB0aGlzW2ZpZWxkXSA9IGZpZWxkc1tmaWVs
ZF07Ci0gICAgfQotICB9OwotCi0gIFVzYkNvbmZpZ3VyYXRpb25JbmZvLnZhbGlkYXRlID0gZnVu
Y3Rpb24obWVzc2FnZVZhbGlkYXRvciwgb2Zmc2V0KSB7Ci0gICAgdmFyIGVycjsKLSAgICBlcnIg
PSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0SGVhZGVyKG9mZnNldCwgY29kZWMua1N0
cnVjdEhlYWRlclNpemUpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJy
b3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHZhciBrVmVyc2lvblNpemVzID0g
WwotICAgICAge3ZlcnNpb246IDAsIG51bUJ5dGVzOiAzMn0KLSAgICBdOwotICAgIGVyciA9IG1l
c3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RWZXJzaW9uKG9mZnNldCwga1ZlcnNpb25TaXpl
cyk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAg
ICAgICByZXR1cm4gZXJyOwotCi0KLQotICAgIAotICAgIC8vIHZhbGlkYXRlIFVzYkNvbmZpZ3Vy
YXRpb25JbmZvLmNvbmZpZ3VyYXRpb25OYW1lCi0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52
YWxpZGF0ZVN0cnVjdFBvaW50ZXIob2Zmc2V0ICsgY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyA4
LCBzdHJpbmcxNiQuU3RyaW5nMTYsIHRydWUpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52
YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0gICAgCi0gICAg
Ly8gdmFsaWRhdGUgVXNiQ29uZmlndXJhdGlvbkluZm8uaW50ZXJmYWNlcwotICAgIGVyciA9IG1l
c3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVBcnJheVBvaW50ZXIob2Zmc2V0ICsgY29kZWMua1N0cnVj
dEhlYWRlclNpemUgKyAxNiwgOCwgbmV3IGNvZGVjLlBvaW50ZXJUbyhVc2JJbnRlcmZhY2VJbmZv
KSwgZmFsc2UsIFswXSwgMCk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25F
cnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgcmV0dXJuIHZhbGlkYXRvci52
YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQotICBVc2JDb25maWd1cmF0aW9uSW5mby5lbmNv
ZGVkU2l6ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgMjQ7Ci0KLSAgVXNiQ29uZmlndXJh
dGlvbkluZm8uZGVjb2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHZhciBwYWNrZWQ7Ci0g
ICAgdmFyIHZhbCA9IG5ldyBVc2JDb25maWd1cmF0aW9uSW5mbygpOwotICAgIHZhciBudW1iZXJP
ZkJ5dGVzID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFyIHZlcnNpb24gPSBkZWNvZGVy
LnJlYWRVaW50MzIoKTsKLSAgICB2YWwuY29uZmlndXJhdGlvblZhbHVlID0gZGVjb2Rlci5kZWNv
ZGVTdHJ1Y3QoY29kZWMuVWludDgpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVy
LnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAg
ICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tp
cCgxKTsKLSAgICB2YWwuY29uZmlndXJhdGlvbk5hbWUgPSBkZWNvZGVyLmRlY29kZVN0cnVjdFBv
aW50ZXIoc3RyaW5nMTYkLlN0cmluZzE2KTsKLSAgICB2YWwuaW50ZXJmYWNlcyA9IGRlY29kZXIu
ZGVjb2RlQXJyYXlQb2ludGVyKG5ldyBjb2RlYy5Qb2ludGVyVG8oVXNiSW50ZXJmYWNlSW5mbykp
OwotICAgIHJldHVybiB2YWw7Ci0gIH07Ci0KLSAgVXNiQ29uZmlndXJhdGlvbkluZm8uZW5jb2Rl
ID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICBlbmNvZGVy
LndyaXRlVWludDMyKFVzYkNvbmZpZ3VyYXRpb25JbmZvLmVuY29kZWRTaXplKTsKLSAgICBlbmNv
ZGVyLndyaXRlVWludDMyKDApOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNvZGVjLlVpbnQ4
LCB2YWwuY29uZmlndXJhdGlvblZhbHVlKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5j
b2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7
Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVy
LnNraXAoMSk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3RQb2ludGVyKHN0cmluZzE2JC5TdHJp
bmcxNiwgdmFsLmNvbmZpZ3VyYXRpb25OYW1lKTsKLSAgICBlbmNvZGVyLmVuY29kZUFycmF5UG9p
bnRlcihuZXcgY29kZWMuUG9pbnRlclRvKFVzYkludGVyZmFjZUluZm8pLCB2YWwuaW50ZXJmYWNl
cyk7Ci0gIH07Ci0gIGZ1bmN0aW9uIFVzYkRldmljZUluZm8odmFsdWVzKSB7Ci0gICAgdGhpcy5p
bml0RGVmYXVsdHNfKCk7Ci0gICAgdGhpcy5pbml0RmllbGRzXyh2YWx1ZXMpOwotICB9Ci0KLQot
ICBVc2JEZXZpY2VJbmZvLnByb3RvdHlwZS5pbml0RGVmYXVsdHNfID0gZnVuY3Rpb24oKSB7Ci0g
ICAgdGhpcy5ndWlkID0gbnVsbDsKLSAgICB0aGlzLnVzYlZlcnNpb25NYWpvciA9IDA7Ci0gICAg
dGhpcy51c2JWZXJzaW9uTWlub3IgPSAwOwotICAgIHRoaXMudXNiVmVyc2lvblN1Ym1pbm9yID0g
MDsKLSAgICB0aGlzLmNsYXNzQ29kZSA9IDA7Ci0gICAgdGhpcy5zdWJjbGFzc0NvZGUgPSAwOwot
ICAgIHRoaXMucHJvdG9jb2xDb2RlID0gMDsKLSAgICB0aGlzLnZlbmRvcklkID0gMDsKLSAgICB0
aGlzLnByb2R1Y3RJZCA9IDA7Ci0gICAgdGhpcy5kZXZpY2VWZXJzaW9uTWFqb3IgPSAwOwotICAg
IHRoaXMuZGV2aWNlVmVyc2lvbk1pbm9yID0gMDsKLSAgICB0aGlzLmRldmljZVZlcnNpb25TdWJt
aW5vciA9IDA7Ci0gICAgdGhpcy5hY3RpdmVDb25maWd1cmF0aW9uID0gMDsKLSAgICB0aGlzLm1h
bnVmYWN0dXJlck5hbWUgPSBudWxsOwotICAgIHRoaXMucHJvZHVjdE5hbWUgPSBudWxsOwotICAg
IHRoaXMuc2VyaWFsTnVtYmVyID0gbnVsbDsKLSAgICB0aGlzLmNvbmZpZ3VyYXRpb25zID0gbnVs
bDsKLSAgfTsKLSAgVXNiRGV2aWNlSW5mby5wcm90b3R5cGUuaW5pdEZpZWxkc18gPSBmdW5jdGlv
bihmaWVsZHMpIHsKLSAgICBmb3IodmFyIGZpZWxkIGluIGZpZWxkcykgewotICAgICAgICBpZiAo
dGhpcy5oYXNPd25Qcm9wZXJ0eShmaWVsZCkpCi0gICAgICAgICAgdGhpc1tmaWVsZF0gPSBmaWVs
ZHNbZmllbGRdOwotICAgIH0KLSAgfTsKLQotICBVc2JEZXZpY2VJbmZvLnZhbGlkYXRlID0gZnVu
Y3Rpb24obWVzc2FnZVZhbGlkYXRvciwgb2Zmc2V0KSB7Ci0gICAgdmFyIGVycjsKLSAgICBlcnIg
PSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0SGVhZGVyKG9mZnNldCwgY29kZWMua1N0
cnVjdEhlYWRlclNpemUpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJy
b3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHZhciBrVmVyc2lvblNpemVzID0g
WwotICAgICAge3ZlcnNpb246IDAsIG51bUJ5dGVzOiA2NH0KLSAgICBdOwotICAgIGVyciA9IG1l
c3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RWZXJzaW9uKG9mZnNldCwga1ZlcnNpb25TaXpl
cyk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAg
ICAgICByZXR1cm4gZXJyOwotCi0KLSAgICAKLSAgICAvLyB2YWxpZGF0ZSBVc2JEZXZpY2VJbmZv
Lmd1aWQKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RyaW5nUG9pbnRlcihv
ZmZzZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDAsIGZhbHNlKQotICAgIGlmIChlcnIg
IT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsK
LQotCi0KLQotCi0KLQotCi0KLQotCi0KLQotICAgIAotICAgIC8vIHZhbGlkYXRlIFVzYkRldmlj
ZUluZm8ubWFudWZhY3R1cmVyTmFtZQotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRh
dGVTdHJ1Y3RQb2ludGVyKG9mZnNldCArIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgMjQsIHN0
cmluZzE2JC5TdHJpbmcxNiwgdHJ1ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlk
YXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0KLSAgICAKLSAgICAvLyB2
YWxpZGF0ZSBVc2JEZXZpY2VJbmZvLnByb2R1Y3ROYW1lCi0gICAgZXJyID0gbWVzc2FnZVZhbGlk
YXRvci52YWxpZGF0ZVN0cnVjdFBvaW50ZXIob2Zmc2V0ICsgY29kZWMua1N0cnVjdEhlYWRlclNp
emUgKyAzMiwgc3RyaW5nMTYkLlN0cmluZzE2LCB0cnVlKTsKLSAgICBpZiAoZXJyICE9PSB2YWxp
ZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotICAg
IAotICAgIC8vIHZhbGlkYXRlIFVzYkRldmljZUluZm8uc2VyaWFsTnVtYmVyCi0gICAgZXJyID0g
bWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFBvaW50ZXIob2Zmc2V0ICsgY29kZWMua1N0
cnVjdEhlYWRlclNpemUgKyA0MCwgc3RyaW5nMTYkLlN0cmluZzE2LCB0cnVlKTsKLSAgICBpZiAo
ZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBl
cnI7Ci0KLQotCi0gICAgCi0gICAgLy8gdmFsaWRhdGUgVXNiRGV2aWNlSW5mby5jb25maWd1cmF0
aW9ucwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVBcnJheVBvaW50ZXIob2Zm
c2V0ICsgY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyA0OCwgOCwgbmV3IGNvZGVjLlBvaW50ZXJU
byhVc2JDb25maWd1cmF0aW9uSW5mbyksIGZhbHNlLCBbMF0sIDApOwotICAgIGlmIChlcnIgIT09
IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQot
ICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gIH07Ci0KLSAgVXNi
RGV2aWNlSW5mby5lbmNvZGVkU2l6ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgNTY7Ci0K
LSAgVXNiRGV2aWNlSW5mby5kZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgdmFyIHBh
Y2tlZDsKLSAgICB2YXIgdmFsID0gbmV3IFVzYkRldmljZUluZm8oKTsKLSAgICB2YXIgbnVtYmVy
T2ZCeXRlcyA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhciB2ZXJzaW9uID0gZGVjb2Rl
ci5yZWFkVWludDMyKCk7Ci0gICAgdmFsLmd1aWQgPSBkZWNvZGVyLmRlY29kZVN0cnVjdChjb2Rl
Yy5TdHJpbmcpOwotICAgIHZhbC51c2JWZXJzaW9uTWFqb3IgPSBkZWNvZGVyLmRlY29kZVN0cnVj
dChjb2RlYy5VaW50OCk7Ci0gICAgdmFsLnVzYlZlcnNpb25NaW5vciA9IGRlY29kZXIuZGVjb2Rl
U3RydWN0KGNvZGVjLlVpbnQ4KTsKLSAgICB2YWwudXNiVmVyc2lvblN1Ym1pbm9yID0gZGVjb2Rl
ci5kZWNvZGVTdHJ1Y3QoY29kZWMuVWludDgpOwotICAgIHZhbC5jbGFzc0NvZGUgPSBkZWNvZGVy
LmRlY29kZVN0cnVjdChjb2RlYy5VaW50OCk7Ci0gICAgdmFsLnN1YmNsYXNzQ29kZSA9IGRlY29k
ZXIuZGVjb2RlU3RydWN0KGNvZGVjLlVpbnQ4KTsKLSAgICB2YWwucHJvdG9jb2xDb2RlID0gZGVj
b2Rlci5kZWNvZGVTdHJ1Y3QoY29kZWMuVWludDgpOwotICAgIHZhbC52ZW5kb3JJZCA9IGRlY29k
ZXIuZGVjb2RlU3RydWN0KGNvZGVjLlVpbnQxNik7Ci0gICAgdmFsLnByb2R1Y3RJZCA9IGRlY29k
ZXIuZGVjb2RlU3RydWN0KGNvZGVjLlVpbnQxNik7Ci0gICAgdmFsLmRldmljZVZlcnNpb25NYWpv
ciA9IGRlY29kZXIuZGVjb2RlU3RydWN0KGNvZGVjLlVpbnQ4KTsKLSAgICB2YWwuZGV2aWNlVmVy
c2lvbk1pbm9yID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoY29kZWMuVWludDgpOwotICAgIHZhbC5k
ZXZpY2VWZXJzaW9uU3VibWlub3IgPSBkZWNvZGVyLmRlY29kZVN0cnVjdChjb2RlYy5VaW50OCk7
Ci0gICAgdmFsLmFjdGl2ZUNvbmZpZ3VyYXRpb24gPSBkZWNvZGVyLmRlY29kZVN0cnVjdChjb2Rl
Yy5VaW50OCk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAg
ICB2YWwubWFudWZhY3R1cmVyTmFtZSA9IGRlY29kZXIuZGVjb2RlU3RydWN0UG9pbnRlcihzdHJp
bmcxNiQuU3RyaW5nMTYpOwotICAgIHZhbC5wcm9kdWN0TmFtZSA9IGRlY29kZXIuZGVjb2RlU3Ry
dWN0UG9pbnRlcihzdHJpbmcxNiQuU3RyaW5nMTYpOwotICAgIHZhbC5zZXJpYWxOdW1iZXIgPSBk
ZWNvZGVyLmRlY29kZVN0cnVjdFBvaW50ZXIoc3RyaW5nMTYkLlN0cmluZzE2KTsKLSAgICB2YWwu
Y29uZmlndXJhdGlvbnMgPSBkZWNvZGVyLmRlY29kZUFycmF5UG9pbnRlcihuZXcgY29kZWMuUG9p
bnRlclRvKFVzYkNvbmZpZ3VyYXRpb25JbmZvKSk7Ci0gICAgcmV0dXJuIHZhbDsKLSAgfTsKLQot
ICBVc2JEZXZpY2VJbmZvLmVuY29kZSA9IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgIHZh
ciBwYWNrZWQ7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMihVc2JEZXZpY2VJbmZvLmVuY29kZWRT
aXplKTsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKDApOwotICAgIGVuY29kZXIuZW5jb2RlU3Ry
dWN0KGNvZGVjLlN0cmluZywgdmFsLmd1aWQpOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNv
ZGVjLlVpbnQ4LCB2YWwudXNiVmVyc2lvbk1ham9yKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVj
dChjb2RlYy5VaW50OCwgdmFsLnVzYlZlcnNpb25NaW5vcik7Ci0gICAgZW5jb2Rlci5lbmNvZGVT
dHJ1Y3QoY29kZWMuVWludDgsIHZhbC51c2JWZXJzaW9uU3VibWlub3IpOwotICAgIGVuY29kZXIu
ZW5jb2RlU3RydWN0KGNvZGVjLlVpbnQ4LCB2YWwuY2xhc3NDb2RlKTsKLSAgICBlbmNvZGVyLmVu
Y29kZVN0cnVjdChjb2RlYy5VaW50OCwgdmFsLnN1YmNsYXNzQ29kZSk7Ci0gICAgZW5jb2Rlci5l
bmNvZGVTdHJ1Y3QoY29kZWMuVWludDgsIHZhbC5wcm90b2NvbENvZGUpOwotICAgIGVuY29kZXIu
ZW5jb2RlU3RydWN0KGNvZGVjLlVpbnQxNiwgdmFsLnZlbmRvcklkKTsKLSAgICBlbmNvZGVyLmVu
Y29kZVN0cnVjdChjb2RlYy5VaW50MTYsIHZhbC5wcm9kdWN0SWQpOwotICAgIGVuY29kZXIuZW5j
b2RlU3RydWN0KGNvZGVjLlVpbnQ4LCB2YWwuZGV2aWNlVmVyc2lvbk1ham9yKTsKLSAgICBlbmNv
ZGVyLmVuY29kZVN0cnVjdChjb2RlYy5VaW50OCwgdmFsLmRldmljZVZlcnNpb25NaW5vcik7Ci0g
ICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3QoY29kZWMuVWludDgsIHZhbC5kZXZpY2VWZXJzaW9uU3Vi
bWlub3IpOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNvZGVjLlVpbnQ4LCB2YWwuYWN0aXZl
Q29uZmlndXJhdGlvbik7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgx
KTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdFBvaW50ZXIoc3RyaW5nMTYkLlN0cmluZzE2LCB2
YWwubWFudWZhY3R1cmVyTmFtZSk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3RQb2ludGVyKHN0
cmluZzE2JC5TdHJpbmcxNiwgdmFsLnByb2R1Y3ROYW1lKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0
cnVjdFBvaW50ZXIoc3RyaW5nMTYkLlN0cmluZzE2LCB2YWwuc2VyaWFsTnVtYmVyKTsKLSAgICBl
bmNvZGVyLmVuY29kZUFycmF5UG9pbnRlcihuZXcgY29kZWMuUG9pbnRlclRvKFVzYkNvbmZpZ3Vy
YXRpb25JbmZvKSwgdmFsLmNvbmZpZ3VyYXRpb25zKTsKLSAgfTsKLSAgZnVuY3Rpb24gVXNiQ29u
dHJvbFRyYW5zZmVyUGFyYW1zKHZhbHVlcykgewotICAgIHRoaXMuaW5pdERlZmF1bHRzXygpOwot
ICAgIHRoaXMuaW5pdEZpZWxkc18odmFsdWVzKTsKLSAgfQotCi0KLSAgVXNiQ29udHJvbFRyYW5z
ZmVyUGFyYW1zLnByb3RvdHlwZS5pbml0RGVmYXVsdHNfID0gZnVuY3Rpb24oKSB7Ci0gICAgdGhp
cy50eXBlID0gMDsKLSAgICB0aGlzLnJlY2lwaWVudCA9IDA7Ci0gICAgdGhpcy5yZXF1ZXN0ID0g
MDsKLSAgICB0aGlzLnZhbHVlID0gMDsKLSAgICB0aGlzLmluZGV4ID0gMDsKLSAgfTsKLSAgVXNi
Q29udHJvbFRyYW5zZmVyUGFyYW1zLnByb3RvdHlwZS5pbml0RmllbGRzXyA9IGZ1bmN0aW9uKGZp
ZWxkcykgewotICAgIGZvcih2YXIgZmllbGQgaW4gZmllbGRzKSB7Ci0gICAgICAgIGlmICh0aGlz
Lmhhc093blByb3BlcnR5KGZpZWxkKSkKLSAgICAgICAgICB0aGlzW2ZpZWxkXSA9IGZpZWxkc1tm
aWVsZF07Ci0gICAgfQotICB9OwotCi0gIFVzYkNvbnRyb2xUcmFuc2ZlclBhcmFtcy52YWxpZGF0
ZSA9IGZ1bmN0aW9uKG1lc3NhZ2VWYWxpZGF0b3IsIG9mZnNldCkgewotICAgIHZhciBlcnI7Ci0g
ICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdEhlYWRlcihvZmZzZXQsIGNv
ZGVjLmtTdHJ1Y3RIZWFkZXJTaXplKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRh
dGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICB2YXIga1ZlcnNpb25T
aXplcyA9IFsKLSAgICAgIHt2ZXJzaW9uOiAwLCBudW1CeXRlczogMjR9Ci0gICAgXTsKLSAgICBl
cnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0VmVyc2lvbihvZmZzZXQsIGtWZXJz
aW9uU2l6ZXMpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9O
RSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0gICAgCi0gICAgLy8gdmFsaWRhdGUgVXNiQ29u
dHJvbFRyYW5zZmVyUGFyYW1zLnR5cGUKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlk
YXRlRW51bShvZmZzZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDAsIFVzYkNvbnRyb2xU
cmFuc2ZlclR5cGUpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3Iu
Tk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0gICAgCi0gICAgLy8gdmFsaWRhdGUgVXNi
Q29udHJvbFRyYW5zZmVyUGFyYW1zLnJlY2lwaWVudAotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0
b3IudmFsaWRhdGVFbnVtKG9mZnNldCArIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgNCwgVXNi
Q29udHJvbFRyYW5zZmVyUmVjaXBpZW50KTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFs
aWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotCi0KLSAgICByZXR1
cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIFVzYkNvbnRyb2xU
cmFuc2ZlclBhcmFtcy5lbmNvZGVkU2l6ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgMTY7
Ci0KLSAgVXNiQ29udHJvbFRyYW5zZmVyUGFyYW1zLmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIp
IHsKLSAgICB2YXIgcGFja2VkOwotICAgIHZhciB2YWwgPSBuZXcgVXNiQ29udHJvbFRyYW5zZmVy
UGFyYW1zKCk7Ci0gICAgdmFyIG51bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsK
LSAgICB2YXIgdmVyc2lvbiA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhbC50eXBlID0g
ZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoY29kZWMuSW50MzIpOwotICAgIHZhbC5yZWNpcGllbnQgPSBk
ZWNvZGVyLmRlY29kZVN0cnVjdChjb2RlYy5JbnQzMik7Ci0gICAgdmFsLnJlcXVlc3QgPSBkZWNv
ZGVyLmRlY29kZVN0cnVjdChjb2RlYy5VaW50OCk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAg
IHZhbC52YWx1ZSA9IGRlY29kZXIuZGVjb2RlU3RydWN0KGNvZGVjLlVpbnQxNik7Ci0gICAgdmFs
LmluZGV4ID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoY29kZWMuVWludDE2KTsKLSAgICBkZWNvZGVy
LnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIHJldHVybiB2YWw7Ci0gIH07Ci0K
LSAgVXNiQ29udHJvbFRyYW5zZmVyUGFyYW1zLmVuY29kZSA9IGZ1bmN0aW9uKGVuY29kZXIsIHZh
bCkgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMihVc2JDb250cm9s
VHJhbnNmZXJQYXJhbXMuZW5jb2RlZFNpemUpOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoMCk7
Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3QoY29kZWMuSW50MzIsIHZhbC50eXBlKTsKLSAgICBl
bmNvZGVyLmVuY29kZVN0cnVjdChjb2RlYy5JbnQzMiwgdmFsLnJlY2lwaWVudCk7Ci0gICAgZW5j
b2Rlci5lbmNvZGVTdHJ1Y3QoY29kZWMuVWludDgsIHZhbC5yZXF1ZXN0KTsKLSAgICBlbmNvZGVy
LnNraXAoMSk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3QoY29kZWMuVWludDE2LCB2YWwudmFs
dWUpOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNvZGVjLlVpbnQxNiwgdmFsLmluZGV4KTsK
LSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICB9OwotICBmdW5j
dGlvbiBVc2JJc29jaHJvbm91c1BhY2tldCh2YWx1ZXMpIHsKLSAgICB0aGlzLmluaXREZWZhdWx0
c18oKTsKLSAgICB0aGlzLmluaXRGaWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0gIFVzYklzb2No
cm9ub3VzUGFja2V0LnByb3RvdHlwZS5pbml0RGVmYXVsdHNfID0gZnVuY3Rpb24oKSB7Ci0gICAg
dGhpcy5sZW5ndGggPSAwOwotICAgIHRoaXMudHJhbnNmZXJyZWRMZW5ndGggPSAwOwotICAgIHRo
aXMuc3RhdHVzID0gMDsKLSAgfTsKLSAgVXNiSXNvY2hyb25vdXNQYWNrZXQucHJvdG90eXBlLmlu
aXRGaWVsZHNfID0gZnVuY3Rpb24oZmllbGRzKSB7Ci0gICAgZm9yKHZhciBmaWVsZCBpbiBmaWVs
ZHMpIHsKLSAgICAgICAgaWYgKHRoaXMuaGFzT3duUHJvcGVydHkoZmllbGQpKQotICAgICAgICAg
IHRoaXNbZmllbGRdID0gZmllbGRzW2ZpZWxkXTsKLSAgICB9Ci0gIH07Ci0KLSAgVXNiSXNvY2hy
b25vdXNQYWNrZXQudmFsaWRhdGUgPSBmdW5jdGlvbihtZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQp
IHsKLSAgICB2YXIgZXJyOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1
Y3RIZWFkZXIob2Zmc2V0LCBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVyciAh
PT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwot
Ci0gICAgdmFyIGtWZXJzaW9uU2l6ZXMgPSBbCi0gICAgICB7dmVyc2lvbjogMCwgbnVtQnl0ZXM6
IDI0fQotICAgIF07Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFZl
cnNpb24ob2Zmc2V0LCBrVmVyc2lvblNpemVzKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3Iu
dmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotCi0KLSAgICAK
LSAgICAvLyB2YWxpZGF0ZSBVc2JJc29jaHJvbm91c1BhY2tldC5zdGF0dXMKLSAgICBlcnIgPSBt
ZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlRW51bShvZmZzZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVy
U2l6ZSArIDgsIFVzYlRyYW5zZmVyU3RhdHVzKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3Iu
dmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICByZXR1cm4g
dmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIFVzYklzb2Nocm9ub3Vz
UGFja2V0LmVuY29kZWRTaXplID0gY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyAxNjsKLQotICBV
c2JJc29jaHJvbm91c1BhY2tldC5kZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgdmFy
IHBhY2tlZDsKLSAgICB2YXIgdmFsID0gbmV3IFVzYklzb2Nocm9ub3VzUGFja2V0KCk7Ci0gICAg
dmFyIG51bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YXIgdmVyc2lv
biA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhbC5sZW5ndGggPSBkZWNvZGVyLmRlY29k
ZVN0cnVjdChjb2RlYy5VaW50MzIpOwotICAgIHZhbC50cmFuc2ZlcnJlZExlbmd0aCA9IGRlY29k
ZXIuZGVjb2RlU3RydWN0KGNvZGVjLlVpbnQzMik7Ci0gICAgdmFsLnN0YXR1cyA9IGRlY29kZXIu
ZGVjb2RlU3RydWN0KGNvZGVjLkludDMyKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVj
b2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7
Ci0gICAgcmV0dXJuIHZhbDsKLSAgfTsKLQotICBVc2JJc29jaHJvbm91c1BhY2tldC5lbmNvZGUg
PSBmdW5jdGlvbihlbmNvZGVyLCB2YWwpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIGVuY29kZXIu
d3JpdGVVaW50MzIoVXNiSXNvY2hyb25vdXNQYWNrZXQuZW5jb2RlZFNpemUpOwotICAgIGVuY29k
ZXIud3JpdGVVaW50MzIoMCk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3QoY29kZWMuVWludDMy
LCB2YWwubGVuZ3RoKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdChjb2RlYy5VaW50MzIsIHZh
bC50cmFuc2ZlcnJlZExlbmd0aCk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3QoY29kZWMuSW50
MzIsIHZhbC5zdGF0dXMpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAo
MSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgfTsKLSAg
ZnVuY3Rpb24gVXNiRGV2aWNlX09wZW5fUGFyYW1zKHZhbHVlcykgewotICAgIHRoaXMuaW5pdERl
ZmF1bHRzXygpOwotICAgIHRoaXMuaW5pdEZpZWxkc18odmFsdWVzKTsKLSAgfQotCi0KLSAgVXNi
RGV2aWNlX09wZW5fUGFyYW1zLnByb3RvdHlwZS5pbml0RGVmYXVsdHNfID0gZnVuY3Rpb24oKSB7
Ci0gIH07Ci0gIFVzYkRldmljZV9PcGVuX1BhcmFtcy5wcm90b3R5cGUuaW5pdEZpZWxkc18gPSBm
dW5jdGlvbihmaWVsZHMpIHsKLSAgICBmb3IodmFyIGZpZWxkIGluIGZpZWxkcykgewotICAgICAg
ICBpZiAodGhpcy5oYXNPd25Qcm9wZXJ0eShmaWVsZCkpCi0gICAgICAgICAgdGhpc1tmaWVsZF0g
PSBmaWVsZHNbZmllbGRdOwotICAgIH0KLSAgfTsKLQotICBVc2JEZXZpY2VfT3Blbl9QYXJhbXMu
dmFsaWRhdGUgPSBmdW5jdGlvbihtZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsKLSAgICB2YXIg
ZXJyOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RIZWFkZXIob2Zm
c2V0LCBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9y
LnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgdmFyIGtW
ZXJzaW9uU2l6ZXMgPSBbCi0gICAgICB7dmVyc2lvbjogMCwgbnVtQnl0ZXM6IDh9Ci0gICAgXTsK
LSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0VmVyc2lvbihvZmZzZXQs
IGtWZXJzaW9uU2l6ZXMpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJy
b3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHJldHVybiB2YWxpZGF0b3IudmFs
aWRhdGlvbkVycm9yLk5PTkU7Ci0gIH07Ci0KLSAgVXNiRGV2aWNlX09wZW5fUGFyYW1zLmVuY29k
ZWRTaXplID0gY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyAwOwotCi0gIFVzYkRldmljZV9PcGVu
X1BhcmFtcy5kZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAg
ICB2YXIgdmFsID0gbmV3IFVzYkRldmljZV9PcGVuX1BhcmFtcygpOwotICAgIHZhciBudW1iZXJP
ZkJ5dGVzID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFyIHZlcnNpb24gPSBkZWNvZGVy
LnJlYWRVaW50MzIoKTsKLSAgICByZXR1cm4gdmFsOwotICB9OwotCi0gIFVzYkRldmljZV9PcGVu
X1BhcmFtcy5lbmNvZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2YWwpIHsKLSAgICB2YXIgcGFja2Vk
OwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoVXNiRGV2aWNlX09wZW5fUGFyYW1zLmVuY29kZWRT
aXplKTsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKDApOwotICB9OwotICBmdW5jdGlvbiBVc2JE
ZXZpY2VfT3Blbl9SZXNwb25zZVBhcmFtcyh2YWx1ZXMpIHsKLSAgICB0aGlzLmluaXREZWZhdWx0
c18oKTsKLSAgICB0aGlzLmluaXRGaWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0gIFVzYkRldmlj
ZV9PcGVuX1Jlc3BvbnNlUGFyYW1zLnByb3RvdHlwZS5pbml0RGVmYXVsdHNfID0gZnVuY3Rpb24o
KSB7Ci0gICAgdGhpcy5lcnJvciA9IDA7Ci0gIH07Ci0gIFVzYkRldmljZV9PcGVuX1Jlc3BvbnNl
UGFyYW1zLnByb3RvdHlwZS5pbml0RmllbGRzXyA9IGZ1bmN0aW9uKGZpZWxkcykgewotICAgIGZv
cih2YXIgZmllbGQgaW4gZmllbGRzKSB7Ci0gICAgICAgIGlmICh0aGlzLmhhc093blByb3BlcnR5
KGZpZWxkKSkKLSAgICAgICAgICB0aGlzW2ZpZWxkXSA9IGZpZWxkc1tmaWVsZF07Ci0gICAgfQot
ICB9OwotCi0gIFVzYkRldmljZV9PcGVuX1Jlc3BvbnNlUGFyYW1zLnZhbGlkYXRlID0gZnVuY3Rp
b24obWVzc2FnZVZhbGlkYXRvciwgb2Zmc2V0KSB7Ci0gICAgdmFyIGVycjsKLSAgICBlcnIgPSBt
ZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0SGVhZGVyKG9mZnNldCwgY29kZWMua1N0cnVj
dEhlYWRlclNpemUpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3Iu
Tk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHZhciBrVmVyc2lvblNpemVzID0gWwot
ICAgICAge3ZlcnNpb246IDAsIG51bUJ5dGVzOiAxNn0KLSAgICBdOwotICAgIGVyciA9IG1lc3Nh
Z2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RWZXJzaW9uKG9mZnNldCwga1ZlcnNpb25TaXplcyk7
Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAg
ICByZXR1cm4gZXJyOwotCi0KLSAgICAKLSAgICAvLyB2YWxpZGF0ZSBVc2JEZXZpY2VfT3Blbl9S
ZXNwb25zZVBhcmFtcy5lcnJvcgotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVF
bnVtKG9mZnNldCArIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgMCwgVXNiT3BlbkRldmljZUVy
cm9yKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0g
ICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJv
ci5OT05FOwotICB9OwotCi0gIFVzYkRldmljZV9PcGVuX1Jlc3BvbnNlUGFyYW1zLmVuY29kZWRT
aXplID0gY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyA4OwotCi0gIFVzYkRldmljZV9PcGVuX1Jl
c3BvbnNlUGFyYW1zLmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICB2YXIgcGFja2Vk
OwotICAgIHZhciB2YWwgPSBuZXcgVXNiRGV2aWNlX09wZW5fUmVzcG9uc2VQYXJhbXMoKTsKLSAg
ICB2YXIgbnVtYmVyT2ZCeXRlcyA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhciB2ZXJz
aW9uID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFsLmVycm9yID0gZGVjb2Rlci5kZWNv
ZGVTdHJ1Y3QoY29kZWMuSW50MzIpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVy
LnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAg
ICByZXR1cm4gdmFsOwotICB9OwotCi0gIFVzYkRldmljZV9PcGVuX1Jlc3BvbnNlUGFyYW1zLmVu
Y29kZSA9IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgZW5j
b2Rlci53cml0ZVVpbnQzMihVc2JEZXZpY2VfT3Blbl9SZXNwb25zZVBhcmFtcy5lbmNvZGVkU2l6
ZSk7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMigwKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVj
dChjb2RlYy5JbnQzMiwgdmFsLmVycm9yKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5j
b2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7
Ci0gIH07Ci0gIGZ1bmN0aW9uIFVzYkRldmljZV9DbG9zZV9QYXJhbXModmFsdWVzKSB7Ci0gICAg
dGhpcy5pbml0RGVmYXVsdHNfKCk7Ci0gICAgdGhpcy5pbml0RmllbGRzXyh2YWx1ZXMpOwotICB9
Ci0KLQotICBVc2JEZXZpY2VfQ2xvc2VfUGFyYW1zLnByb3RvdHlwZS5pbml0RGVmYXVsdHNfID0g
ZnVuY3Rpb24oKSB7Ci0gIH07Ci0gIFVzYkRldmljZV9DbG9zZV9QYXJhbXMucHJvdG90eXBlLmlu
aXRGaWVsZHNfID0gZnVuY3Rpb24oZmllbGRzKSB7Ci0gICAgZm9yKHZhciBmaWVsZCBpbiBmaWVs
ZHMpIHsKLSAgICAgICAgaWYgKHRoaXMuaGFzT3duUHJvcGVydHkoZmllbGQpKQotICAgICAgICAg
IHRoaXNbZmllbGRdID0gZmllbGRzW2ZpZWxkXTsKLSAgICB9Ci0gIH07Ci0KLSAgVXNiRGV2aWNl
X0Nsb3NlX1BhcmFtcy52YWxpZGF0ZSA9IGZ1bmN0aW9uKG1lc3NhZ2VWYWxpZGF0b3IsIG9mZnNl
dCkgewotICAgIHZhciBlcnI7Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0
cnVjdEhlYWRlcihvZmZzZXQsIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplKTsKLSAgICBpZiAoZXJy
ICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7
Ci0KLSAgICB2YXIga1ZlcnNpb25TaXplcyA9IFsKLSAgICAgIHt2ZXJzaW9uOiAwLCBudW1CeXRl
czogOH0KLSAgICBdOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RW
ZXJzaW9uKG9mZnNldCwga1ZlcnNpb25TaXplcyk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9y
LnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgcmV0dXJu
IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQotICBVc2JEZXZpY2VfQ2xv
c2VfUGFyYW1zLmVuY29kZWRTaXplID0gY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyAwOwotCi0g
IFVzYkRldmljZV9DbG9zZV9QYXJhbXMuZGVjb2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAg
IHZhciBwYWNrZWQ7Ci0gICAgdmFyIHZhbCA9IG5ldyBVc2JEZXZpY2VfQ2xvc2VfUGFyYW1zKCk7
Ci0gICAgdmFyIG51bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YXIg
dmVyc2lvbiA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHJldHVybiB2YWw7Ci0gIH07Ci0K
LSAgVXNiRGV2aWNlX0Nsb3NlX1BhcmFtcy5lbmNvZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2YWwp
IHsKLSAgICB2YXIgcGFja2VkOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoVXNiRGV2aWNlX0Ns
b3NlX1BhcmFtcy5lbmNvZGVkU2l6ZSk7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMigwKTsKLSAg
fTsKLSAgZnVuY3Rpb24gVXNiRGV2aWNlX0Nsb3NlX1Jlc3BvbnNlUGFyYW1zKHZhbHVlcykgewot
ICAgIHRoaXMuaW5pdERlZmF1bHRzXygpOwotICAgIHRoaXMuaW5pdEZpZWxkc18odmFsdWVzKTsK
LSAgfQotCi0KLSAgVXNiRGV2aWNlX0Nsb3NlX1Jlc3BvbnNlUGFyYW1zLnByb3RvdHlwZS5pbml0
RGVmYXVsdHNfID0gZnVuY3Rpb24oKSB7Ci0gIH07Ci0gIFVzYkRldmljZV9DbG9zZV9SZXNwb25z
ZVBhcmFtcy5wcm90b3R5cGUuaW5pdEZpZWxkc18gPSBmdW5jdGlvbihmaWVsZHMpIHsKLSAgICBm
b3IodmFyIGZpZWxkIGluIGZpZWxkcykgewotICAgICAgICBpZiAodGhpcy5oYXNPd25Qcm9wZXJ0
eShmaWVsZCkpCi0gICAgICAgICAgdGhpc1tmaWVsZF0gPSBmaWVsZHNbZmllbGRdOwotICAgIH0K
LSAgfTsKLQotICBVc2JEZXZpY2VfQ2xvc2VfUmVzcG9uc2VQYXJhbXMudmFsaWRhdGUgPSBmdW5j
dGlvbihtZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsKLSAgICB2YXIgZXJyOwotICAgIGVyciA9
IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RIZWFkZXIob2Zmc2V0LCBjb2RlYy5rU3Ry
dWN0SGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJv
ci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgdmFyIGtWZXJzaW9uU2l6ZXMgPSBb
Ci0gICAgICB7dmVyc2lvbjogMCwgbnVtQnl0ZXM6IDh9Ci0gICAgXTsKLSAgICBlcnIgPSBtZXNz
YWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0VmVyc2lvbihvZmZzZXQsIGtWZXJzaW9uU2l6ZXMp
OwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAg
ICAgcmV0dXJuIGVycjsKLQotICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5P
TkU7Ci0gIH07Ci0KLSAgVXNiRGV2aWNlX0Nsb3NlX1Jlc3BvbnNlUGFyYW1zLmVuY29kZWRTaXpl
ID0gY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyAwOwotCi0gIFVzYkRldmljZV9DbG9zZV9SZXNw
b25zZVBhcmFtcy5kZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgdmFyIHBhY2tlZDsK
LSAgICB2YXIgdmFsID0gbmV3IFVzYkRldmljZV9DbG9zZV9SZXNwb25zZVBhcmFtcygpOwotICAg
IHZhciBudW1iZXJPZkJ5dGVzID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFyIHZlcnNp
b24gPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICByZXR1cm4gdmFsOwotICB9OwotCi0gIFVz
YkRldmljZV9DbG9zZV9SZXNwb25zZVBhcmFtcy5lbmNvZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2
YWwpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoVXNiRGV2aWNl
X0Nsb3NlX1Jlc3BvbnNlUGFyYW1zLmVuY29kZWRTaXplKTsKLSAgICBlbmNvZGVyLndyaXRlVWlu
dDMyKDApOwotICB9OwotICBmdW5jdGlvbiBVc2JEZXZpY2VfU2V0Q29uZmlndXJhdGlvbl9QYXJh
bXModmFsdWVzKSB7Ci0gICAgdGhpcy5pbml0RGVmYXVsdHNfKCk7Ci0gICAgdGhpcy5pbml0Rmll
bGRzXyh2YWx1ZXMpOwotICB9Ci0KLQotICBVc2JEZXZpY2VfU2V0Q29uZmlndXJhdGlvbl9QYXJh
bXMucHJvdG90eXBlLmluaXREZWZhdWx0c18gPSBmdW5jdGlvbigpIHsKLSAgICB0aGlzLnZhbHVl
ID0gMDsKLSAgfTsKLSAgVXNiRGV2aWNlX1NldENvbmZpZ3VyYXRpb25fUGFyYW1zLnByb3RvdHlw
ZS5pbml0RmllbGRzXyA9IGZ1bmN0aW9uKGZpZWxkcykgewotICAgIGZvcih2YXIgZmllbGQgaW4g
ZmllbGRzKSB7Ci0gICAgICAgIGlmICh0aGlzLmhhc093blByb3BlcnR5KGZpZWxkKSkKLSAgICAg
ICAgICB0aGlzW2ZpZWxkXSA9IGZpZWxkc1tmaWVsZF07Ci0gICAgfQotICB9OwotCi0gIFVzYkRl
dmljZV9TZXRDb25maWd1cmF0aW9uX1BhcmFtcy52YWxpZGF0ZSA9IGZ1bmN0aW9uKG1lc3NhZ2VW
YWxpZGF0b3IsIG9mZnNldCkgewotICAgIHZhciBlcnI7Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlk
YXRvci52YWxpZGF0ZVN0cnVjdEhlYWRlcihvZmZzZXQsIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXpl
KTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAg
ICAgIHJldHVybiBlcnI7Ci0KLSAgICB2YXIga1ZlcnNpb25TaXplcyA9IFsKLSAgICAgIHt2ZXJz
aW9uOiAwLCBudW1CeXRlczogMTZ9Ci0gICAgXTsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9y
LnZhbGlkYXRlU3RydWN0VmVyc2lvbihvZmZzZXQsIGtWZXJzaW9uU2l6ZXMpOwotICAgIGlmIChl
cnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVy
cjsKLQotCi0gICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAgfTsK
LQotICBVc2JEZXZpY2VfU2V0Q29uZmlndXJhdGlvbl9QYXJhbXMuZW5jb2RlZFNpemUgPSBjb2Rl
Yy5rU3RydWN0SGVhZGVyU2l6ZSArIDg7Ci0KLSAgVXNiRGV2aWNlX1NldENvbmZpZ3VyYXRpb25f
UGFyYW1zLmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICB2YXIgcGFja2VkOwotICAg
IHZhciB2YWwgPSBuZXcgVXNiRGV2aWNlX1NldENvbmZpZ3VyYXRpb25fUGFyYW1zKCk7Ci0gICAg
dmFyIG51bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YXIgdmVyc2lv
biA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhbC52YWx1ZSA9IGRlY29kZXIuZGVjb2Rl
U3RydWN0KGNvZGVjLlVpbnQ4KTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5z
a2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAg
ZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAo
MSk7Ci0gICAgcmV0dXJuIHZhbDsKLSAgfTsKLQotICBVc2JEZXZpY2VfU2V0Q29uZmlndXJhdGlv
bl9QYXJhbXMuZW5jb2RlID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAgdmFyIHBhY2tl
ZDsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKFVzYkRldmljZV9TZXRDb25maWd1cmF0aW9uX1Bh
cmFtcy5lbmNvZGVkU2l6ZSk7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMigwKTsKLSAgICBlbmNv
ZGVyLmVuY29kZVN0cnVjdChjb2RlYy5VaW50OCwgdmFsLnZhbHVlKTsKLSAgICBlbmNvZGVyLnNr
aXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBl
bmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgx
KTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gIH07Ci0gIGZ1bmN0aW9uIFVzYkRldmljZV9TZXRD
b25maWd1cmF0aW9uX1Jlc3BvbnNlUGFyYW1zKHZhbHVlcykgewotICAgIHRoaXMuaW5pdERlZmF1
bHRzXygpOwotICAgIHRoaXMuaW5pdEZpZWxkc18odmFsdWVzKTsKLSAgfQotCi0KLSAgVXNiRGV2
aWNlX1NldENvbmZpZ3VyYXRpb25fUmVzcG9uc2VQYXJhbXMucHJvdG90eXBlLmluaXREZWZhdWx0
c18gPSBmdW5jdGlvbigpIHsKLSAgICB0aGlzLnN1Y2Nlc3MgPSBmYWxzZTsKLSAgfTsKLSAgVXNi
RGV2aWNlX1NldENvbmZpZ3VyYXRpb25fUmVzcG9uc2VQYXJhbXMucHJvdG90eXBlLmluaXRGaWVs
ZHNfID0gZnVuY3Rpb24oZmllbGRzKSB7Ci0gICAgZm9yKHZhciBmaWVsZCBpbiBmaWVsZHMpIHsK
LSAgICAgICAgaWYgKHRoaXMuaGFzT3duUHJvcGVydHkoZmllbGQpKQotICAgICAgICAgIHRoaXNb
ZmllbGRdID0gZmllbGRzW2ZpZWxkXTsKLSAgICB9Ci0gIH07Ci0KLSAgVXNiRGV2aWNlX1NldENv
bmZpZ3VyYXRpb25fUmVzcG9uc2VQYXJhbXMudmFsaWRhdGUgPSBmdW5jdGlvbihtZXNzYWdlVmFs
aWRhdG9yLCBvZmZzZXQpIHsKLSAgICB2YXIgZXJyOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0
b3IudmFsaWRhdGVTdHJ1Y3RIZWFkZXIob2Zmc2V0LCBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSk7
Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAg
ICByZXR1cm4gZXJyOwotCi0gICAgdmFyIGtWZXJzaW9uU2l6ZXMgPSBbCi0gICAgICB7dmVyc2lv
bjogMCwgbnVtQnl0ZXM6IDE2fQotICAgIF07Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52
YWxpZGF0ZVN0cnVjdFZlcnNpb24ob2Zmc2V0LCBrVmVyc2lvblNpemVzKTsKLSAgICBpZiAoZXJy
ICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7
Ci0KLQotICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gIH07Ci0K
LSAgVXNiRGV2aWNlX1NldENvbmZpZ3VyYXRpb25fUmVzcG9uc2VQYXJhbXMuZW5jb2RlZFNpemUg
PSBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDg7Ci0KLSAgVXNiRGV2aWNlX1NldENvbmZpZ3Vy
YXRpb25fUmVzcG9uc2VQYXJhbXMuZGVjb2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHZh
ciBwYWNrZWQ7Ci0gICAgdmFyIHZhbCA9IG5ldyBVc2JEZXZpY2VfU2V0Q29uZmlndXJhdGlvbl9S
ZXNwb25zZVBhcmFtcygpOwotICAgIHZhciBudW1iZXJPZkJ5dGVzID0gZGVjb2Rlci5yZWFkVWlu
dDMyKCk7Ci0gICAgdmFyIHZlcnNpb24gPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICBwYWNr
ZWQgPSBkZWNvZGVyLnJlYWRVaW50OCgpOwotICAgIHZhbC5zdWNjZXNzID0gKHBhY2tlZCA+PiAw
KSAmIDEgPyB0cnVlIDogZmFsc2U7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIu
c2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAg
IGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lw
KDEpOwotICAgIHJldHVybiB2YWw7Ci0gIH07Ci0KLSAgVXNiRGV2aWNlX1NldENvbmZpZ3VyYXRp
b25fUmVzcG9uc2VQYXJhbXMuZW5jb2RlID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAg
dmFyIHBhY2tlZDsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKFVzYkRldmljZV9TZXRDb25maWd1
cmF0aW9uX1Jlc3BvbnNlUGFyYW1zLmVuY29kZWRTaXplKTsKLSAgICBlbmNvZGVyLndyaXRlVWlu
dDMyKDApOwotICAgIHBhY2tlZCA9IDA7Ci0gICAgcGFja2VkIHw9ICh2YWwuc3VjY2VzcyAmIDEp
IDw8IDAKLSAgICBlbmNvZGVyLndyaXRlVWludDgocGFja2VkKTsKLSAgICBlbmNvZGVyLnNraXAo
MSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNv
ZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsK
LSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gIH07Ci0gIGZ1bmN0aW9uIFVzYkRldmljZV9DbGFpbUlu
dGVyZmFjZV9QYXJhbXModmFsdWVzKSB7Ci0gICAgdGhpcy5pbml0RGVmYXVsdHNfKCk7Ci0gICAg
dGhpcy5pbml0RmllbGRzXyh2YWx1ZXMpOwotICB9Ci0KLQotICBVc2JEZXZpY2VfQ2xhaW1JbnRl
cmZhY2VfUGFyYW1zLnByb3RvdHlwZS5pbml0RGVmYXVsdHNfID0gZnVuY3Rpb24oKSB7Ci0gICAg
dGhpcy5pbnRlcmZhY2VOdW1iZXIgPSAwOwotICB9OwotICBVc2JEZXZpY2VfQ2xhaW1JbnRlcmZh
Y2VfUGFyYW1zLnByb3RvdHlwZS5pbml0RmllbGRzXyA9IGZ1bmN0aW9uKGZpZWxkcykgewotICAg
IGZvcih2YXIgZmllbGQgaW4gZmllbGRzKSB7Ci0gICAgICAgIGlmICh0aGlzLmhhc093blByb3Bl
cnR5KGZpZWxkKSkKLSAgICAgICAgICB0aGlzW2ZpZWxkXSA9IGZpZWxkc1tmaWVsZF07Ci0gICAg
fQotICB9OwotCi0gIFVzYkRldmljZV9DbGFpbUludGVyZmFjZV9QYXJhbXMudmFsaWRhdGUgPSBm
dW5jdGlvbihtZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsKLSAgICB2YXIgZXJyOwotICAgIGVy
ciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RIZWFkZXIob2Zmc2V0LCBjb2RlYy5r
U3RydWN0SGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25F
cnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgdmFyIGtWZXJzaW9uU2l6ZXMg
PSBbCi0gICAgICB7dmVyc2lvbjogMCwgbnVtQnl0ZXM6IDE2fQotICAgIF07Ci0gICAgZXJyID0g
bWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFZlcnNpb24ob2Zmc2V0LCBrVmVyc2lvblNp
emVzKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0g
ICAgICAgIHJldHVybiBlcnI7Ci0KLQotICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVy
cm9yLk5PTkU7Ci0gIH07Ci0KLSAgVXNiRGV2aWNlX0NsYWltSW50ZXJmYWNlX1BhcmFtcy5lbmNv
ZGVkU2l6ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgODsKLQotICBVc2JEZXZpY2VfQ2xh
aW1JbnRlcmZhY2VfUGFyYW1zLmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICB2YXIg
cGFja2VkOwotICAgIHZhciB2YWwgPSBuZXcgVXNiRGV2aWNlX0NsYWltSW50ZXJmYWNlX1BhcmFt
cygpOwotICAgIHZhciBudW1iZXJPZkJ5dGVzID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAg
dmFyIHZlcnNpb24gPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YWwuaW50ZXJmYWNlTnVt
YmVyID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoY29kZWMuVWludDgpOwotICAgIGRlY29kZXIuc2tp
cCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRl
Y29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEp
OwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICByZXR1cm4gdmFsOwotICB9OwotCi0gIFVzYkRl
dmljZV9DbGFpbUludGVyZmFjZV9QYXJhbXMuZW5jb2RlID0gZnVuY3Rpb24oZW5jb2RlciwgdmFs
KSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKFVzYkRldmljZV9D
bGFpbUludGVyZmFjZV9QYXJhbXMuZW5jb2RlZFNpemUpOwotICAgIGVuY29kZXIud3JpdGVVaW50
MzIoMCk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3QoY29kZWMuVWludDgsIHZhbC5pbnRlcmZh
Y2VOdW1iZXIpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0g
ICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNr
aXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgfTsK
LSAgZnVuY3Rpb24gVXNiRGV2aWNlX0NsYWltSW50ZXJmYWNlX1Jlc3BvbnNlUGFyYW1zKHZhbHVl
cykgewotICAgIHRoaXMuaW5pdERlZmF1bHRzXygpOwotICAgIHRoaXMuaW5pdEZpZWxkc18odmFs
dWVzKTsKLSAgfQotCi0KLSAgVXNiRGV2aWNlX0NsYWltSW50ZXJmYWNlX1Jlc3BvbnNlUGFyYW1z
LnByb3RvdHlwZS5pbml0RGVmYXVsdHNfID0gZnVuY3Rpb24oKSB7Ci0gICAgdGhpcy5zdWNjZXNz
ID0gZmFsc2U7Ci0gIH07Ci0gIFVzYkRldmljZV9DbGFpbUludGVyZmFjZV9SZXNwb25zZVBhcmFt
cy5wcm90b3R5cGUuaW5pdEZpZWxkc18gPSBmdW5jdGlvbihmaWVsZHMpIHsKLSAgICBmb3IodmFy
IGZpZWxkIGluIGZpZWxkcykgewotICAgICAgICBpZiAodGhpcy5oYXNPd25Qcm9wZXJ0eShmaWVs
ZCkpCi0gICAgICAgICAgdGhpc1tmaWVsZF0gPSBmaWVsZHNbZmllbGRdOwotICAgIH0KLSAgfTsK
LQotICBVc2JEZXZpY2VfQ2xhaW1JbnRlcmZhY2VfUmVzcG9uc2VQYXJhbXMudmFsaWRhdGUgPSBm
dW5jdGlvbihtZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsKLSAgICB2YXIgZXJyOwotICAgIGVy
ciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RIZWFkZXIob2Zmc2V0LCBjb2RlYy5r
U3RydWN0SGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25F
cnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgdmFyIGtWZXJzaW9uU2l6ZXMg
PSBbCi0gICAgICB7dmVyc2lvbjogMCwgbnVtQnl0ZXM6IDE2fQotICAgIF07Ci0gICAgZXJyID0g
bWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFZlcnNpb24ob2Zmc2V0LCBrVmVyc2lvblNp
emVzKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0g
ICAgICAgIHJldHVybiBlcnI7Ci0KLQotICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVy
cm9yLk5PTkU7Ci0gIH07Ci0KLSAgVXNiRGV2aWNlX0NsYWltSW50ZXJmYWNlX1Jlc3BvbnNlUGFy
YW1zLmVuY29kZWRTaXplID0gY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyA4OwotCi0gIFVzYkRl
dmljZV9DbGFpbUludGVyZmFjZV9SZXNwb25zZVBhcmFtcy5kZWNvZGUgPSBmdW5jdGlvbihkZWNv
ZGVyKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICB2YXIgdmFsID0gbmV3IFVzYkRldmljZV9DbGFp
bUludGVyZmFjZV9SZXNwb25zZVBhcmFtcygpOwotICAgIHZhciBudW1iZXJPZkJ5dGVzID0gZGVj
b2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFyIHZlcnNpb24gPSBkZWNvZGVyLnJlYWRVaW50MzIo
KTsKLSAgICBwYWNrZWQgPSBkZWNvZGVyLnJlYWRVaW50OCgpOwotICAgIHZhbC5zdWNjZXNzID0g
KHBhY2tlZCA+PiAwKSAmIDEgPyB0cnVlIDogZmFsc2U7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwot
ICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5z
a2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAg
ZGVjb2Rlci5za2lwKDEpOwotICAgIHJldHVybiB2YWw7Ci0gIH07Ci0KLSAgVXNiRGV2aWNlX0Ns
YWltSW50ZXJmYWNlX1Jlc3BvbnNlUGFyYW1zLmVuY29kZSA9IGZ1bmN0aW9uKGVuY29kZXIsIHZh
bCkgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMihVc2JEZXZpY2Vf
Q2xhaW1JbnRlcmZhY2VfUmVzcG9uc2VQYXJhbXMuZW5jb2RlZFNpemUpOwotICAgIGVuY29kZXIu
d3JpdGVVaW50MzIoMCk7Ci0gICAgcGFja2VkID0gMDsKLSAgICBwYWNrZWQgfD0gKHZhbC5zdWNj
ZXNzICYgMSkgPDwgMAotICAgIGVuY29kZXIud3JpdGVVaW50OChwYWNrZWQpOwotICAgIGVuY29k
ZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwot
ICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5z
a2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgfTsKLSAgZnVuY3Rpb24gVXNiRGV2aWNl
X1JlbGVhc2VJbnRlcmZhY2VfUGFyYW1zKHZhbHVlcykgewotICAgIHRoaXMuaW5pdERlZmF1bHRz
XygpOwotICAgIHRoaXMuaW5pdEZpZWxkc18odmFsdWVzKTsKLSAgfQotCi0KLSAgVXNiRGV2aWNl
X1JlbGVhc2VJbnRlcmZhY2VfUGFyYW1zLnByb3RvdHlwZS5pbml0RGVmYXVsdHNfID0gZnVuY3Rp
b24oKSB7Ci0gICAgdGhpcy5pbnRlcmZhY2VOdW1iZXIgPSAwOwotICB9OwotICBVc2JEZXZpY2Vf
UmVsZWFzZUludGVyZmFjZV9QYXJhbXMucHJvdG90eXBlLmluaXRGaWVsZHNfID0gZnVuY3Rpb24o
ZmllbGRzKSB7Ci0gICAgZm9yKHZhciBmaWVsZCBpbiBmaWVsZHMpIHsKLSAgICAgICAgaWYgKHRo
aXMuaGFzT3duUHJvcGVydHkoZmllbGQpKQotICAgICAgICAgIHRoaXNbZmllbGRdID0gZmllbGRz
W2ZpZWxkXTsKLSAgICB9Ci0gIH07Ci0KLSAgVXNiRGV2aWNlX1JlbGVhc2VJbnRlcmZhY2VfUGFy
YW1zLnZhbGlkYXRlID0gZnVuY3Rpb24obWVzc2FnZVZhbGlkYXRvciwgb2Zmc2V0KSB7Ci0gICAg
dmFyIGVycjsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0SGVhZGVy
KG9mZnNldCwgY29kZWMua1N0cnVjdEhlYWRlclNpemUpOwotICAgIGlmIChlcnIgIT09IHZhbGlk
YXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHZh
ciBrVmVyc2lvblNpemVzID0gWwotICAgICAge3ZlcnNpb246IDAsIG51bUJ5dGVzOiAxNn0KLSAg
ICBdOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RWZXJzaW9uKG9m
ZnNldCwga1ZlcnNpb25TaXplcyk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRp
b25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0KLSAgICByZXR1cm4gdmFsaWRh
dG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIFVzYkRldmljZV9SZWxlYXNlSW50
ZXJmYWNlX1BhcmFtcy5lbmNvZGVkU2l6ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgODsK
LQotICBVc2JEZXZpY2VfUmVsZWFzZUludGVyZmFjZV9QYXJhbXMuZGVjb2RlID0gZnVuY3Rpb24o
ZGVjb2RlcikgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgdmFyIHZhbCA9IG5ldyBVc2JEZXZpY2Vf
UmVsZWFzZUludGVyZmFjZV9QYXJhbXMoKTsKLSAgICB2YXIgbnVtYmVyT2ZCeXRlcyA9IGRlY29k
ZXIucmVhZFVpbnQzMigpOwotICAgIHZhciB2ZXJzaW9uID0gZGVjb2Rlci5yZWFkVWludDMyKCk7
Ci0gICAgdmFsLmludGVyZmFjZU51bWJlciA9IGRlY29kZXIuZGVjb2RlU3RydWN0KGNvZGVjLlVp
bnQ4KTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRl
Y29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEp
OwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgcmV0dXJu
IHZhbDsKLSAgfTsKLQotICBVc2JEZXZpY2VfUmVsZWFzZUludGVyZmFjZV9QYXJhbXMuZW5jb2Rl
ID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICBlbmNvZGVy
LndyaXRlVWludDMyKFVzYkRldmljZV9SZWxlYXNlSW50ZXJmYWNlX1BhcmFtcy5lbmNvZGVkU2l6
ZSk7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMigwKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVj
dChjb2RlYy5VaW50OCwgdmFsLmludGVyZmFjZU51bWJlcik7Ci0gICAgZW5jb2Rlci5za2lwKDEp
OwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rl
ci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0g
ICAgZW5jb2Rlci5za2lwKDEpOwotICB9OwotICBmdW5jdGlvbiBVc2JEZXZpY2VfUmVsZWFzZUlu
dGVyZmFjZV9SZXNwb25zZVBhcmFtcyh2YWx1ZXMpIHsKLSAgICB0aGlzLmluaXREZWZhdWx0c18o
KTsKLSAgICB0aGlzLmluaXRGaWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0gIFVzYkRldmljZV9S
ZWxlYXNlSW50ZXJmYWNlX1Jlc3BvbnNlUGFyYW1zLnByb3RvdHlwZS5pbml0RGVmYXVsdHNfID0g
ZnVuY3Rpb24oKSB7Ci0gICAgdGhpcy5zdWNjZXNzID0gZmFsc2U7Ci0gIH07Ci0gIFVzYkRldmlj
ZV9SZWxlYXNlSW50ZXJmYWNlX1Jlc3BvbnNlUGFyYW1zLnByb3RvdHlwZS5pbml0RmllbGRzXyA9
IGZ1bmN0aW9uKGZpZWxkcykgewotICAgIGZvcih2YXIgZmllbGQgaW4gZmllbGRzKSB7Ci0gICAg
ICAgIGlmICh0aGlzLmhhc093blByb3BlcnR5KGZpZWxkKSkKLSAgICAgICAgICB0aGlzW2ZpZWxk
XSA9IGZpZWxkc1tmaWVsZF07Ci0gICAgfQotICB9OwotCi0gIFVzYkRldmljZV9SZWxlYXNlSW50
ZXJmYWNlX1Jlc3BvbnNlUGFyYW1zLnZhbGlkYXRlID0gZnVuY3Rpb24obWVzc2FnZVZhbGlkYXRv
ciwgb2Zmc2V0KSB7Ci0gICAgdmFyIGVycjsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZh
bGlkYXRlU3RydWN0SGVhZGVyKG9mZnNldCwgY29kZWMua1N0cnVjdEhlYWRlclNpemUpOwotICAg
IGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0
dXJuIGVycjsKLQotICAgIHZhciBrVmVyc2lvblNpemVzID0gWwotICAgICAge3ZlcnNpb246IDAs
IG51bUJ5dGVzOiAxNn0KLSAgICBdOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRh
dGVTdHJ1Y3RWZXJzaW9uKG9mZnNldCwga1ZlcnNpb25TaXplcyk7Ci0gICAgaWYgKGVyciAhPT0g
dmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0K
LSAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIFVz
YkRldmljZV9SZWxlYXNlSW50ZXJmYWNlX1Jlc3BvbnNlUGFyYW1zLmVuY29kZWRTaXplID0gY29k
ZWMua1N0cnVjdEhlYWRlclNpemUgKyA4OwotCi0gIFVzYkRldmljZV9SZWxlYXNlSW50ZXJmYWNl
X1Jlc3BvbnNlUGFyYW1zLmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICB2YXIgcGFj
a2VkOwotICAgIHZhciB2YWwgPSBuZXcgVXNiRGV2aWNlX1JlbGVhc2VJbnRlcmZhY2VfUmVzcG9u
c2VQYXJhbXMoKTsKLSAgICB2YXIgbnVtYmVyT2ZCeXRlcyA9IGRlY29kZXIucmVhZFVpbnQzMigp
OwotICAgIHZhciB2ZXJzaW9uID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgcGFja2VkID0g
ZGVjb2Rlci5yZWFkVWludDgoKTsKLSAgICB2YWwuc3VjY2VzcyA9IChwYWNrZWQgPj4gMCkgJiAx
ID8gdHJ1ZSA6IGZhbHNlOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAo
MSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNv
ZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsK
LSAgICByZXR1cm4gdmFsOwotICB9OwotCi0gIFVzYkRldmljZV9SZWxlYXNlSW50ZXJmYWNlX1Jl
c3BvbnNlUGFyYW1zLmVuY29kZSA9IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgIHZhciBw
YWNrZWQ7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMihVc2JEZXZpY2VfUmVsZWFzZUludGVyZmFj
ZV9SZXNwb25zZVBhcmFtcy5lbmNvZGVkU2l6ZSk7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMigw
KTsKLSAgICBwYWNrZWQgPSAwOwotICAgIHBhY2tlZCB8PSAodmFsLnN1Y2Nlc3MgJiAxKSA8PCAw
Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQ4KHBhY2tlZCk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwot
ICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5z
a2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAg
ZW5jb2Rlci5za2lwKDEpOwotICB9OwotICBmdW5jdGlvbiBVc2JEZXZpY2VfU2V0SW50ZXJmYWNl
QWx0ZXJuYXRlU2V0dGluZ19QYXJhbXModmFsdWVzKSB7Ci0gICAgdGhpcy5pbml0RGVmYXVsdHNf
KCk7Ci0gICAgdGhpcy5pbml0RmllbGRzXyh2YWx1ZXMpOwotICB9Ci0KLQotICBVc2JEZXZpY2Vf
U2V0SW50ZXJmYWNlQWx0ZXJuYXRlU2V0dGluZ19QYXJhbXMucHJvdG90eXBlLmluaXREZWZhdWx0
c18gPSBmdW5jdGlvbigpIHsKLSAgICB0aGlzLmludGVyZmFjZU51bWJlciA9IDA7Ci0gICAgdGhp
cy5hbHRlcm5hdGVTZXR0aW5nID0gMDsKLSAgfTsKLSAgVXNiRGV2aWNlX1NldEludGVyZmFjZUFs
dGVybmF0ZVNldHRpbmdfUGFyYW1zLnByb3RvdHlwZS5pbml0RmllbGRzXyA9IGZ1bmN0aW9uKGZp
ZWxkcykgewotICAgIGZvcih2YXIgZmllbGQgaW4gZmllbGRzKSB7Ci0gICAgICAgIGlmICh0aGlz
Lmhhc093blByb3BlcnR5KGZpZWxkKSkKLSAgICAgICAgICB0aGlzW2ZpZWxkXSA9IGZpZWxkc1tm
aWVsZF07Ci0gICAgfQotICB9OwotCi0gIFVzYkRldmljZV9TZXRJbnRlcmZhY2VBbHRlcm5hdGVT
ZXR0aW5nX1BhcmFtcy52YWxpZGF0ZSA9IGZ1bmN0aW9uKG1lc3NhZ2VWYWxpZGF0b3IsIG9mZnNl
dCkgewotICAgIHZhciBlcnI7Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0
cnVjdEhlYWRlcihvZmZzZXQsIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplKTsKLSAgICBpZiAoZXJy
ICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7
Ci0KLSAgICB2YXIga1ZlcnNpb25TaXplcyA9IFsKLSAgICAgIHt2ZXJzaW9uOiAwLCBudW1CeXRl
czogMTZ9Ci0gICAgXTsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0
VmVyc2lvbihvZmZzZXQsIGtWZXJzaW9uU2l6ZXMpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRv
ci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0KLSAgICBy
ZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIFVzYkRldmlj
ZV9TZXRJbnRlcmZhY2VBbHRlcm5hdGVTZXR0aW5nX1BhcmFtcy5lbmNvZGVkU2l6ZSA9IGNvZGVj
LmtTdHJ1Y3RIZWFkZXJTaXplICsgODsKLQotICBVc2JEZXZpY2VfU2V0SW50ZXJmYWNlQWx0ZXJu
YXRlU2V0dGluZ19QYXJhbXMuZGVjb2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHZhciBw
YWNrZWQ7Ci0gICAgdmFyIHZhbCA9IG5ldyBVc2JEZXZpY2VfU2V0SW50ZXJmYWNlQWx0ZXJuYXRl
U2V0dGluZ19QYXJhbXMoKTsKLSAgICB2YXIgbnVtYmVyT2ZCeXRlcyA9IGRlY29kZXIucmVhZFVp
bnQzMigpOwotICAgIHZhciB2ZXJzaW9uID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFs
LmludGVyZmFjZU51bWJlciA9IGRlY29kZXIuZGVjb2RlU3RydWN0KGNvZGVjLlVpbnQ4KTsKLSAg
ICB2YWwuYWx0ZXJuYXRlU2V0dGluZyA9IGRlY29kZXIuZGVjb2RlU3RydWN0KGNvZGVjLlVpbnQ4
KTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29k
ZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwot
ICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICByZXR1cm4gdmFsOwotICB9OwotCi0gIFVzYkRldmlj
ZV9TZXRJbnRlcmZhY2VBbHRlcm5hdGVTZXR0aW5nX1BhcmFtcy5lbmNvZGUgPSBmdW5jdGlvbihl
bmNvZGVyLCB2YWwpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIo
VXNiRGV2aWNlX1NldEludGVyZmFjZUFsdGVybmF0ZVNldHRpbmdfUGFyYW1zLmVuY29kZWRTaXpl
KTsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKDApOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0
KGNvZGVjLlVpbnQ4LCB2YWwuaW50ZXJmYWNlTnVtYmVyKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0
cnVjdChjb2RlYy5VaW50OCwgdmFsLmFsdGVybmF0ZVNldHRpbmcpOwotICAgIGVuY29kZXIuc2tp
cCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVu
Y29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEp
OwotICB9OwotICBmdW5jdGlvbiBVc2JEZXZpY2VfU2V0SW50ZXJmYWNlQWx0ZXJuYXRlU2V0dGlu
Z19SZXNwb25zZVBhcmFtcyh2YWx1ZXMpIHsKLSAgICB0aGlzLmluaXREZWZhdWx0c18oKTsKLSAg
ICB0aGlzLmluaXRGaWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0gIFVzYkRldmljZV9TZXRJbnRl
cmZhY2VBbHRlcm5hdGVTZXR0aW5nX1Jlc3BvbnNlUGFyYW1zLnByb3RvdHlwZS5pbml0RGVmYXVs
dHNfID0gZnVuY3Rpb24oKSB7Ci0gICAgdGhpcy5zdWNjZXNzID0gZmFsc2U7Ci0gIH07Ci0gIFVz
YkRldmljZV9TZXRJbnRlcmZhY2VBbHRlcm5hdGVTZXR0aW5nX1Jlc3BvbnNlUGFyYW1zLnByb3Rv
dHlwZS5pbml0RmllbGRzXyA9IGZ1bmN0aW9uKGZpZWxkcykgewotICAgIGZvcih2YXIgZmllbGQg
aW4gZmllbGRzKSB7Ci0gICAgICAgIGlmICh0aGlzLmhhc093blByb3BlcnR5KGZpZWxkKSkKLSAg
ICAgICAgICB0aGlzW2ZpZWxkXSA9IGZpZWxkc1tmaWVsZF07Ci0gICAgfQotICB9OwotCi0gIFVz
YkRldmljZV9TZXRJbnRlcmZhY2VBbHRlcm5hdGVTZXR0aW5nX1Jlc3BvbnNlUGFyYW1zLnZhbGlk
YXRlID0gZnVuY3Rpb24obWVzc2FnZVZhbGlkYXRvciwgb2Zmc2V0KSB7Ci0gICAgdmFyIGVycjsK
LSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0SGVhZGVyKG9mZnNldCwg
Y29kZWMua1N0cnVjdEhlYWRlclNpemUpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxp
ZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHZhciBrVmVyc2lv
blNpemVzID0gWwotICAgICAge3ZlcnNpb246IDAsIG51bUJ5dGVzOiAxNn0KLSAgICBdOwotICAg
IGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RWZXJzaW9uKG9mZnNldCwga1Zl
cnNpb25TaXplcyk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5O
T05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0KLSAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlk
YXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIFVzYkRldmljZV9TZXRJbnRlcmZhY2VBbHRlcm5h
dGVTZXR0aW5nX1Jlc3BvbnNlUGFyYW1zLmVuY29kZWRTaXplID0gY29kZWMua1N0cnVjdEhlYWRl
clNpemUgKyA4OwotCi0gIFVzYkRldmljZV9TZXRJbnRlcmZhY2VBbHRlcm5hdGVTZXR0aW5nX1Jl
c3BvbnNlUGFyYW1zLmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICB2YXIgcGFja2Vk
OwotICAgIHZhciB2YWwgPSBuZXcgVXNiRGV2aWNlX1NldEludGVyZmFjZUFsdGVybmF0ZVNldHRp
bmdfUmVzcG9uc2VQYXJhbXMoKTsKLSAgICB2YXIgbnVtYmVyT2ZCeXRlcyA9IGRlY29kZXIucmVh
ZFVpbnQzMigpOwotICAgIHZhciB2ZXJzaW9uID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAg
cGFja2VkID0gZGVjb2Rlci5yZWFkVWludDgoKTsKLSAgICB2YWwuc3VjY2VzcyA9IChwYWNrZWQg
Pj4gMCkgJiAxID8gdHJ1ZSA6IGZhbHNlOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNv
ZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsK
LSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIu
c2tpcCgxKTsKLSAgICByZXR1cm4gdmFsOwotICB9OwotCi0gIFVzYkRldmljZV9TZXRJbnRlcmZh
Y2VBbHRlcm5hdGVTZXR0aW5nX1Jlc3BvbnNlUGFyYW1zLmVuY29kZSA9IGZ1bmN0aW9uKGVuY29k
ZXIsIHZhbCkgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMihVc2JE
ZXZpY2VfU2V0SW50ZXJmYWNlQWx0ZXJuYXRlU2V0dGluZ19SZXNwb25zZVBhcmFtcy5lbmNvZGVk
U2l6ZSk7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMigwKTsKLSAgICBwYWNrZWQgPSAwOwotICAg
IHBhY2tlZCB8PSAodmFsLnN1Y2Nlc3MgJiAxKSA8PCAwCi0gICAgZW5jb2Rlci53cml0ZVVpbnQ4
KHBhY2tlZCk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAg
ICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tp
cCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICB9Owot
ICBmdW5jdGlvbiBVc2JEZXZpY2VfUmVzZXRfUGFyYW1zKHZhbHVlcykgewotICAgIHRoaXMuaW5p
dERlZmF1bHRzXygpOwotICAgIHRoaXMuaW5pdEZpZWxkc18odmFsdWVzKTsKLSAgfQotCi0KLSAg
VXNiRGV2aWNlX1Jlc2V0X1BhcmFtcy5wcm90b3R5cGUuaW5pdERlZmF1bHRzXyA9IGZ1bmN0aW9u
KCkgewotICB9OwotICBVc2JEZXZpY2VfUmVzZXRfUGFyYW1zLnByb3RvdHlwZS5pbml0RmllbGRz
XyA9IGZ1bmN0aW9uKGZpZWxkcykgewotICAgIGZvcih2YXIgZmllbGQgaW4gZmllbGRzKSB7Ci0g
ICAgICAgIGlmICh0aGlzLmhhc093blByb3BlcnR5KGZpZWxkKSkKLSAgICAgICAgICB0aGlzW2Zp
ZWxkXSA9IGZpZWxkc1tmaWVsZF07Ci0gICAgfQotICB9OwotCi0gIFVzYkRldmljZV9SZXNldF9Q
YXJhbXMudmFsaWRhdGUgPSBmdW5jdGlvbihtZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsKLSAg
ICB2YXIgZXJyOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RIZWFk
ZXIob2Zmc2V0LCBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFs
aWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAg
dmFyIGtWZXJzaW9uU2l6ZXMgPSBbCi0gICAgICB7dmVyc2lvbjogMCwgbnVtQnl0ZXM6IDh9Ci0g
ICAgXTsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0VmVyc2lvbihv
ZmZzZXQsIGtWZXJzaW9uU2l6ZXMpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0
aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHJldHVybiB2YWxpZGF0
b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gIH07Ci0KLSAgVXNiRGV2aWNlX1Jlc2V0X1BhcmFt
cy5lbmNvZGVkU2l6ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgMDsKLQotICBVc2JEZXZp
Y2VfUmVzZXRfUGFyYW1zLmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICB2YXIgcGFj
a2VkOwotICAgIHZhciB2YWwgPSBuZXcgVXNiRGV2aWNlX1Jlc2V0X1BhcmFtcygpOwotICAgIHZh
ciBudW1iZXJPZkJ5dGVzID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFyIHZlcnNpb24g
PSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICByZXR1cm4gdmFsOwotICB9OwotCi0gIFVzYkRl
dmljZV9SZXNldF9QYXJhbXMuZW5jb2RlID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAg
dmFyIHBhY2tlZDsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKFVzYkRldmljZV9SZXNldF9QYXJh
bXMuZW5jb2RlZFNpemUpOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoMCk7Ci0gIH07Ci0gIGZ1
bmN0aW9uIFVzYkRldmljZV9SZXNldF9SZXNwb25zZVBhcmFtcyh2YWx1ZXMpIHsKLSAgICB0aGlz
LmluaXREZWZhdWx0c18oKTsKLSAgICB0aGlzLmluaXRGaWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQot
Ci0gIFVzYkRldmljZV9SZXNldF9SZXNwb25zZVBhcmFtcy5wcm90b3R5cGUuaW5pdERlZmF1bHRz
XyA9IGZ1bmN0aW9uKCkgewotICAgIHRoaXMuc3VjY2VzcyA9IGZhbHNlOwotICB9OwotICBVc2JE
ZXZpY2VfUmVzZXRfUmVzcG9uc2VQYXJhbXMucHJvdG90eXBlLmluaXRGaWVsZHNfID0gZnVuY3Rp
b24oZmllbGRzKSB7Ci0gICAgZm9yKHZhciBmaWVsZCBpbiBmaWVsZHMpIHsKLSAgICAgICAgaWYg
KHRoaXMuaGFzT3duUHJvcGVydHkoZmllbGQpKQotICAgICAgICAgIHRoaXNbZmllbGRdID0gZmll
bGRzW2ZpZWxkXTsKLSAgICB9Ci0gIH07Ci0KLSAgVXNiRGV2aWNlX1Jlc2V0X1Jlc3BvbnNlUGFy
YW1zLnZhbGlkYXRlID0gZnVuY3Rpb24obWVzc2FnZVZhbGlkYXRvciwgb2Zmc2V0KSB7Ci0gICAg
dmFyIGVycjsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0SGVhZGVy
KG9mZnNldCwgY29kZWMua1N0cnVjdEhlYWRlclNpemUpOwotICAgIGlmIChlcnIgIT09IHZhbGlk
YXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHZh
ciBrVmVyc2lvblNpemVzID0gWwotICAgICAge3ZlcnNpb246IDAsIG51bUJ5dGVzOiAxNn0KLSAg
ICBdOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RWZXJzaW9uKG9m
ZnNldCwga1ZlcnNpb25TaXplcyk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRp
b25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0KLSAgICByZXR1cm4gdmFsaWRh
dG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIFVzYkRldmljZV9SZXNldF9SZXNw
b25zZVBhcmFtcy5lbmNvZGVkU2l6ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgODsKLQot
ICBVc2JEZXZpY2VfUmVzZXRfUmVzcG9uc2VQYXJhbXMuZGVjb2RlID0gZnVuY3Rpb24oZGVjb2Rl
cikgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgdmFyIHZhbCA9IG5ldyBVc2JEZXZpY2VfUmVzZXRf
UmVzcG9uc2VQYXJhbXMoKTsKLSAgICB2YXIgbnVtYmVyT2ZCeXRlcyA9IGRlY29kZXIucmVhZFVp
bnQzMigpOwotICAgIHZhciB2ZXJzaW9uID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgcGFj
a2VkID0gZGVjb2Rlci5yZWFkVWludDgoKTsKLSAgICB2YWwuc3VjY2VzcyA9IChwYWNrZWQgPj4g
MCkgJiAxID8gdHJ1ZSA6IGZhbHNlOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVy
LnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAg
ICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tp
cCgxKTsKLSAgICByZXR1cm4gdmFsOwotICB9OwotCi0gIFVzYkRldmljZV9SZXNldF9SZXNwb25z
ZVBhcmFtcy5lbmNvZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2YWwpIHsKLSAgICB2YXIgcGFja2Vk
OwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoVXNiRGV2aWNlX1Jlc2V0X1Jlc3BvbnNlUGFyYW1z
LmVuY29kZWRTaXplKTsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKDApOwotICAgIHBhY2tlZCA9
IDA7Ci0gICAgcGFja2VkIHw9ICh2YWwuc3VjY2VzcyAmIDEpIDw8IDAKLSAgICBlbmNvZGVyLndy
aXRlVWludDgocGFja2VkKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lw
KDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5j
b2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7
Ci0gIH07Ci0gIGZ1bmN0aW9uIFVzYkRldmljZV9DbGVhckhhbHRfUGFyYW1zKHZhbHVlcykgewot
ICAgIHRoaXMuaW5pdERlZmF1bHRzXygpOwotICAgIHRoaXMuaW5pdEZpZWxkc18odmFsdWVzKTsK
LSAgfQotCi0KLSAgVXNiRGV2aWNlX0NsZWFySGFsdF9QYXJhbXMucHJvdG90eXBlLmluaXREZWZh
dWx0c18gPSBmdW5jdGlvbigpIHsKLSAgICB0aGlzLmVuZHBvaW50ID0gMDsKLSAgfTsKLSAgVXNi
RGV2aWNlX0NsZWFySGFsdF9QYXJhbXMucHJvdG90eXBlLmluaXRGaWVsZHNfID0gZnVuY3Rpb24o
ZmllbGRzKSB7Ci0gICAgZm9yKHZhciBmaWVsZCBpbiBmaWVsZHMpIHsKLSAgICAgICAgaWYgKHRo
aXMuaGFzT3duUHJvcGVydHkoZmllbGQpKQotICAgICAgICAgIHRoaXNbZmllbGRdID0gZmllbGRz
W2ZpZWxkXTsKLSAgICB9Ci0gIH07Ci0KLSAgVXNiRGV2aWNlX0NsZWFySGFsdF9QYXJhbXMudmFs
aWRhdGUgPSBmdW5jdGlvbihtZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsKLSAgICB2YXIgZXJy
OwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RIZWFkZXIob2Zmc2V0
LCBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZh
bGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgdmFyIGtWZXJz
aW9uU2l6ZXMgPSBbCi0gICAgICB7dmVyc2lvbjogMCwgbnVtQnl0ZXM6IDE2fQotICAgIF07Ci0g
ICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFZlcnNpb24ob2Zmc2V0LCBr
VmVyc2lvblNpemVzKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9y
Lk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotICAgIHJldHVybiB2YWxpZGF0b3IudmFs
aWRhdGlvbkVycm9yLk5PTkU7Ci0gIH07Ci0KLSAgVXNiRGV2aWNlX0NsZWFySGFsdF9QYXJhbXMu
ZW5jb2RlZFNpemUgPSBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDg7Ci0KLSAgVXNiRGV2aWNl
X0NsZWFySGFsdF9QYXJhbXMuZGVjb2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHZhciBw
YWNrZWQ7Ci0gICAgdmFyIHZhbCA9IG5ldyBVc2JEZXZpY2VfQ2xlYXJIYWx0X1BhcmFtcygpOwot
ICAgIHZhciBudW1iZXJPZkJ5dGVzID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFyIHZl
cnNpb24gPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YWwuZW5kcG9pbnQgPSBkZWNvZGVy
LmRlY29kZVN0cnVjdChjb2RlYy5VaW50OCk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRl
Y29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEp
OwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rl
ci5za2lwKDEpOwotICAgIHJldHVybiB2YWw7Ci0gIH07Ci0KLSAgVXNiRGV2aWNlX0NsZWFySGFs
dF9QYXJhbXMuZW5jb2RlID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAgdmFyIHBhY2tl
ZDsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKFVzYkRldmljZV9DbGVhckhhbHRfUGFyYW1zLmVu
Y29kZWRTaXplKTsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKDApOwotICAgIGVuY29kZXIuZW5j
b2RlU3RydWN0KGNvZGVjLlVpbnQ4LCB2YWwuZW5kcG9pbnQpOwotICAgIGVuY29kZXIuc2tpcCgx
KTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29k
ZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwot
ICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgfTsKLSAgZnVuY3Rpb24gVXNiRGV2aWNlX0NsZWFySGFs
dF9SZXNwb25zZVBhcmFtcyh2YWx1ZXMpIHsKLSAgICB0aGlzLmluaXREZWZhdWx0c18oKTsKLSAg
ICB0aGlzLmluaXRGaWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0gIFVzYkRldmljZV9DbGVhckhh
bHRfUmVzcG9uc2VQYXJhbXMucHJvdG90eXBlLmluaXREZWZhdWx0c18gPSBmdW5jdGlvbigpIHsK
LSAgICB0aGlzLnN1Y2Nlc3MgPSBmYWxzZTsKLSAgfTsKLSAgVXNiRGV2aWNlX0NsZWFySGFsdF9S
ZXNwb25zZVBhcmFtcy5wcm90b3R5cGUuaW5pdEZpZWxkc18gPSBmdW5jdGlvbihmaWVsZHMpIHsK
LSAgICBmb3IodmFyIGZpZWxkIGluIGZpZWxkcykgewotICAgICAgICBpZiAodGhpcy5oYXNPd25Q
cm9wZXJ0eShmaWVsZCkpCi0gICAgICAgICAgdGhpc1tmaWVsZF0gPSBmaWVsZHNbZmllbGRdOwot
ICAgIH0KLSAgfTsKLQotICBVc2JEZXZpY2VfQ2xlYXJIYWx0X1Jlc3BvbnNlUGFyYW1zLnZhbGlk
YXRlID0gZnVuY3Rpb24obWVzc2FnZVZhbGlkYXRvciwgb2Zmc2V0KSB7Ci0gICAgdmFyIGVycjsK
LSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0SGVhZGVyKG9mZnNldCwg
Y29kZWMua1N0cnVjdEhlYWRlclNpemUpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxp
ZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHZhciBrVmVyc2lv
blNpemVzID0gWwotICAgICAge3ZlcnNpb246IDAsIG51bUJ5dGVzOiAxNn0KLSAgICBdOwotICAg
IGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RWZXJzaW9uKG9mZnNldCwga1Zl
cnNpb25TaXplcyk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5O
T05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0KLSAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlk
YXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIFVzYkRldmljZV9DbGVhckhhbHRfUmVzcG9uc2VQ
YXJhbXMuZW5jb2RlZFNpemUgPSBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDg7Ci0KLSAgVXNi
RGV2aWNlX0NsZWFySGFsdF9SZXNwb25zZVBhcmFtcy5kZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVy
KSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICB2YXIgdmFsID0gbmV3IFVzYkRldmljZV9DbGVhckhh
bHRfUmVzcG9uc2VQYXJhbXMoKTsKLSAgICB2YXIgbnVtYmVyT2ZCeXRlcyA9IGRlY29kZXIucmVh
ZFVpbnQzMigpOwotICAgIHZhciB2ZXJzaW9uID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAg
cGFja2VkID0gZGVjb2Rlci5yZWFkVWludDgoKTsKLSAgICB2YWwuc3VjY2VzcyA9IChwYWNrZWQg
Pj4gMCkgJiAxID8gdHJ1ZSA6IGZhbHNlOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNv
ZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsK
LSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIu
c2tpcCgxKTsKLSAgICByZXR1cm4gdmFsOwotICB9OwotCi0gIFVzYkRldmljZV9DbGVhckhhbHRf
UmVzcG9uc2VQYXJhbXMuZW5jb2RlID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAgdmFy
IHBhY2tlZDsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKFVzYkRldmljZV9DbGVhckhhbHRfUmVz
cG9uc2VQYXJhbXMuZW5jb2RlZFNpemUpOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoMCk7Ci0g
ICAgcGFja2VkID0gMDsKLSAgICBwYWNrZWQgfD0gKHZhbC5zdWNjZXNzICYgMSkgPDwgMAotICAg
IGVuY29kZXIud3JpdGVVaW50OChwYWNrZWQpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBl
bmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgx
KTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29k
ZXIuc2tpcCgxKTsKLSAgfTsKLSAgZnVuY3Rpb24gVXNiRGV2aWNlX0NvbnRyb2xUcmFuc2Zlcklu
X1BhcmFtcyh2YWx1ZXMpIHsKLSAgICB0aGlzLmluaXREZWZhdWx0c18oKTsKLSAgICB0aGlzLmlu
aXRGaWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0gIFVzYkRldmljZV9Db250cm9sVHJhbnNmZXJJ
bl9QYXJhbXMucHJvdG90eXBlLmluaXREZWZhdWx0c18gPSBmdW5jdGlvbigpIHsKLSAgICB0aGlz
LnBhcmFtcyA9IG51bGw7Ci0gICAgdGhpcy5sZW5ndGggPSAwOwotICAgIHRoaXMudGltZW91dCA9
IDA7Ci0gIH07Ci0gIFVzYkRldmljZV9Db250cm9sVHJhbnNmZXJJbl9QYXJhbXMucHJvdG90eXBl
LmluaXRGaWVsZHNfID0gZnVuY3Rpb24oZmllbGRzKSB7Ci0gICAgZm9yKHZhciBmaWVsZCBpbiBm
aWVsZHMpIHsKLSAgICAgICAgaWYgKHRoaXMuaGFzT3duUHJvcGVydHkoZmllbGQpKQotICAgICAg
ICAgIHRoaXNbZmllbGRdID0gZmllbGRzW2ZpZWxkXTsKLSAgICB9Ci0gIH07Ci0KLSAgVXNiRGV2
aWNlX0NvbnRyb2xUcmFuc2ZlckluX1BhcmFtcy52YWxpZGF0ZSA9IGZ1bmN0aW9uKG1lc3NhZ2VW
YWxpZGF0b3IsIG9mZnNldCkgewotICAgIHZhciBlcnI7Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlk
YXRvci52YWxpZGF0ZVN0cnVjdEhlYWRlcihvZmZzZXQsIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXpl
KTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAg
ICAgIHJldHVybiBlcnI7Ci0KLSAgICB2YXIga1ZlcnNpb25TaXplcyA9IFsKLSAgICAgIHt2ZXJz
aW9uOiAwLCBudW1CeXRlczogMjR9Ci0gICAgXTsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9y
LnZhbGlkYXRlU3RydWN0VmVyc2lvbihvZmZzZXQsIGtWZXJzaW9uU2l6ZXMpOwotICAgIGlmIChl
cnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVy
cjsKLQotCi0gICAgCi0gICAgLy8gdmFsaWRhdGUgVXNiRGV2aWNlX0NvbnRyb2xUcmFuc2Zlcklu
X1BhcmFtcy5wYXJhbXMKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0
UG9pbnRlcihvZmZzZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDAsIFVzYkNvbnRyb2xU
cmFuc2ZlclBhcmFtcywgZmFsc2UpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0
aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0KLSAgICByZXR1cm4gdmFs
aWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIFVzYkRldmljZV9Db250cm9s
VHJhbnNmZXJJbl9QYXJhbXMuZW5jb2RlZFNpemUgPSBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSAr
IDE2OwotCi0gIFVzYkRldmljZV9Db250cm9sVHJhbnNmZXJJbl9QYXJhbXMuZGVjb2RlID0gZnVu
Y3Rpb24oZGVjb2RlcikgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgdmFyIHZhbCA9IG5ldyBVc2JE
ZXZpY2VfQ29udHJvbFRyYW5zZmVySW5fUGFyYW1zKCk7Ci0gICAgdmFyIG51bWJlck9mQnl0ZXMg
PSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YXIgdmVyc2lvbiA9IGRlY29kZXIucmVhZFVp
bnQzMigpOwotICAgIHZhbC5wYXJhbXMgPSBkZWNvZGVyLmRlY29kZVN0cnVjdFBvaW50ZXIoVXNi
Q29udHJvbFRyYW5zZmVyUGFyYW1zKTsKLSAgICB2YWwubGVuZ3RoID0gZGVjb2Rlci5kZWNvZGVT
dHJ1Y3QoY29kZWMuVWludDMyKTsKLSAgICB2YWwudGltZW91dCA9IGRlY29kZXIuZGVjb2RlU3Ry
dWN0KGNvZGVjLlVpbnQzMik7Ci0gICAgcmV0dXJuIHZhbDsKLSAgfTsKLQotICBVc2JEZXZpY2Vf
Q29udHJvbFRyYW5zZmVySW5fUGFyYW1zLmVuY29kZSA9IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkg
ewotICAgIHZhciBwYWNrZWQ7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMihVc2JEZXZpY2VfQ29u
dHJvbFRyYW5zZmVySW5fUGFyYW1zLmVuY29kZWRTaXplKTsKLSAgICBlbmNvZGVyLndyaXRlVWlu
dDMyKDApOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0UG9pbnRlcihVc2JDb250cm9sVHJhbnNm
ZXJQYXJhbXMsIHZhbC5wYXJhbXMpOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNvZGVjLlVp
bnQzMiwgdmFsLmxlbmd0aCk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3QoY29kZWMuVWludDMy
LCB2YWwudGltZW91dCk7Ci0gIH07Ci0gIGZ1bmN0aW9uIFVzYkRldmljZV9Db250cm9sVHJhbnNm
ZXJJbl9SZXNwb25zZVBhcmFtcyh2YWx1ZXMpIHsKLSAgICB0aGlzLmluaXREZWZhdWx0c18oKTsK
LSAgICB0aGlzLmluaXRGaWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0gIFVzYkRldmljZV9Db250
cm9sVHJhbnNmZXJJbl9SZXNwb25zZVBhcmFtcy5wcm90b3R5cGUuaW5pdERlZmF1bHRzXyA9IGZ1
bmN0aW9uKCkgewotICAgIHRoaXMuc3RhdHVzID0gMDsKLSAgICB0aGlzLmRhdGEgPSBudWxsOwot
ICB9OwotICBVc2JEZXZpY2VfQ29udHJvbFRyYW5zZmVySW5fUmVzcG9uc2VQYXJhbXMucHJvdG90
eXBlLmluaXRGaWVsZHNfID0gZnVuY3Rpb24oZmllbGRzKSB7Ci0gICAgZm9yKHZhciBmaWVsZCBp
biBmaWVsZHMpIHsKLSAgICAgICAgaWYgKHRoaXMuaGFzT3duUHJvcGVydHkoZmllbGQpKQotICAg
ICAgICAgIHRoaXNbZmllbGRdID0gZmllbGRzW2ZpZWxkXTsKLSAgICB9Ci0gIH07Ci0KLSAgVXNi
RGV2aWNlX0NvbnRyb2xUcmFuc2ZlckluX1Jlc3BvbnNlUGFyYW1zLnZhbGlkYXRlID0gZnVuY3Rp
b24obWVzc2FnZVZhbGlkYXRvciwgb2Zmc2V0KSB7Ci0gICAgdmFyIGVycjsKLSAgICBlcnIgPSBt
ZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0SGVhZGVyKG9mZnNldCwgY29kZWMua1N0cnVj
dEhlYWRlclNpemUpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3Iu
Tk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHZhciBrVmVyc2lvblNpemVzID0gWwot
ICAgICAge3ZlcnNpb246IDAsIG51bUJ5dGVzOiAyNH0KLSAgICBdOwotICAgIGVyciA9IG1lc3Nh
Z2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RWZXJzaW9uKG9mZnNldCwga1ZlcnNpb25TaXplcyk7
Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAg
ICByZXR1cm4gZXJyOwotCi0KLSAgICAKLSAgICAvLyB2YWxpZGF0ZSBVc2JEZXZpY2VfQ29udHJv
bFRyYW5zZmVySW5fUmVzcG9uc2VQYXJhbXMuc3RhdHVzCi0gICAgZXJyID0gbWVzc2FnZVZhbGlk
YXRvci52YWxpZGF0ZUVudW0ob2Zmc2V0ICsgY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyAwLCBV
c2JUcmFuc2ZlclN0YXR1cyk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25F
cnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0KLSAgICAKLSAgICAvLyB2YWxpZGF0
ZSBVc2JEZXZpY2VfQ29udHJvbFRyYW5zZmVySW5fUmVzcG9uc2VQYXJhbXMuZGF0YQotICAgIGVy
ciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVBcnJheVBvaW50ZXIob2Zmc2V0ICsgY29kZWMu
a1N0cnVjdEhlYWRlclNpemUgKyA4LCAxLCBjb2RlYy5VaW50OCwgdHJ1ZSwgWzBdLCAwKTsKLSAg
ICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJl
dHVybiBlcnI7Ci0KLSAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwot
ICB9OwotCi0gIFVzYkRldmljZV9Db250cm9sVHJhbnNmZXJJbl9SZXNwb25zZVBhcmFtcy5lbmNv
ZGVkU2l6ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgMTY7Ci0KLSAgVXNiRGV2aWNlX0Nv
bnRyb2xUcmFuc2ZlckluX1Jlc3BvbnNlUGFyYW1zLmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIp
IHsKLSAgICB2YXIgcGFja2VkOwotICAgIHZhciB2YWwgPSBuZXcgVXNiRGV2aWNlX0NvbnRyb2xU
cmFuc2ZlckluX1Jlc3BvbnNlUGFyYW1zKCk7Ci0gICAgdmFyIG51bWJlck9mQnl0ZXMgPSBkZWNv
ZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YXIgdmVyc2lvbiA9IGRlY29kZXIucmVhZFVpbnQzMigp
OwotICAgIHZhbC5zdGF0dXMgPSBkZWNvZGVyLmRlY29kZVN0cnVjdChjb2RlYy5JbnQzMik7Ci0g
ICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNr
aXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIHZhbC5kYXRhID0gZGVjb2Rlci5kZWNv
ZGVBcnJheVBvaW50ZXIoY29kZWMuVWludDgpOwotICAgIHJldHVybiB2YWw7Ci0gIH07Ci0KLSAg
VXNiRGV2aWNlX0NvbnRyb2xUcmFuc2ZlckluX1Jlc3BvbnNlUGFyYW1zLmVuY29kZSA9IGZ1bmN0
aW9uKGVuY29kZXIsIHZhbCkgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgZW5jb2Rlci53cml0ZVVp
bnQzMihVc2JEZXZpY2VfQ29udHJvbFRyYW5zZmVySW5fUmVzcG9uc2VQYXJhbXMuZW5jb2RlZFNp
emUpOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoMCk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1
Y3QoY29kZWMuSW50MzIsIHZhbC5zdGF0dXMpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBl
bmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgx
KTsKLSAgICBlbmNvZGVyLmVuY29kZUFycmF5UG9pbnRlcihjb2RlYy5VaW50OCwgdmFsLmRhdGEp
OwotICB9OwotICBmdW5jdGlvbiBVc2JEZXZpY2VfQ29udHJvbFRyYW5zZmVyT3V0X1BhcmFtcyh2
YWx1ZXMpIHsKLSAgICB0aGlzLmluaXREZWZhdWx0c18oKTsKLSAgICB0aGlzLmluaXRGaWVsZHNf
KHZhbHVlcyk7Ci0gIH0KLQotCi0gIFVzYkRldmljZV9Db250cm9sVHJhbnNmZXJPdXRfUGFyYW1z
LnByb3RvdHlwZS5pbml0RGVmYXVsdHNfID0gZnVuY3Rpb24oKSB7Ci0gICAgdGhpcy5wYXJhbXMg
PSBudWxsOwotICAgIHRoaXMuZGF0YSA9IG51bGw7Ci0gICAgdGhpcy50aW1lb3V0ID0gMDsKLSAg
fTsKLSAgVXNiRGV2aWNlX0NvbnRyb2xUcmFuc2Zlck91dF9QYXJhbXMucHJvdG90eXBlLmluaXRG
aWVsZHNfID0gZnVuY3Rpb24oZmllbGRzKSB7Ci0gICAgZm9yKHZhciBmaWVsZCBpbiBmaWVsZHMp
IHsKLSAgICAgICAgaWYgKHRoaXMuaGFzT3duUHJvcGVydHkoZmllbGQpKQotICAgICAgICAgIHRo
aXNbZmllbGRdID0gZmllbGRzW2ZpZWxkXTsKLSAgICB9Ci0gIH07Ci0KLSAgVXNiRGV2aWNlX0Nv
bnRyb2xUcmFuc2Zlck91dF9QYXJhbXMudmFsaWRhdGUgPSBmdW5jdGlvbihtZXNzYWdlVmFsaWRh
dG9yLCBvZmZzZXQpIHsKLSAgICB2YXIgZXJyOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3Iu
dmFsaWRhdGVTdHJ1Y3RIZWFkZXIob2Zmc2V0LCBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSk7Ci0g
ICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICBy
ZXR1cm4gZXJyOwotCi0gICAgdmFyIGtWZXJzaW9uU2l6ZXMgPSBbCi0gICAgICB7dmVyc2lvbjog
MCwgbnVtQnl0ZXM6IDMyfQotICAgIF07Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxp
ZGF0ZVN0cnVjdFZlcnNpb24ob2Zmc2V0LCBrVmVyc2lvblNpemVzKTsKLSAgICBpZiAoZXJyICE9
PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0K
LQotICAgIAotICAgIC8vIHZhbGlkYXRlIFVzYkRldmljZV9Db250cm9sVHJhbnNmZXJPdXRfUGFy
YW1zLnBhcmFtcwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RQb2lu
dGVyKG9mZnNldCArIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgMCwgVXNiQ29udHJvbFRyYW5z
ZmVyUGFyYW1zLCBmYWxzZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25F
cnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0KLSAgICAKLSAgICAvLyB2YWxpZGF0
ZSBVc2JEZXZpY2VfQ29udHJvbFRyYW5zZmVyT3V0X1BhcmFtcy5kYXRhCi0gICAgZXJyID0gbWVz
c2FnZVZhbGlkYXRvci52YWxpZGF0ZUFycmF5UG9pbnRlcihvZmZzZXQgKyBjb2RlYy5rU3RydWN0
SGVhZGVyU2l6ZSArIDgsIDEsIGNvZGVjLlVpbnQ4LCBmYWxzZSwgWzBdLCAwKTsKLSAgICBpZiAo
ZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBl
cnI7Ci0KLQotICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gIH07
Ci0KLSAgVXNiRGV2aWNlX0NvbnRyb2xUcmFuc2Zlck91dF9QYXJhbXMuZW5jb2RlZFNpemUgPSBj
b2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDI0OwotCi0gIFVzYkRldmljZV9Db250cm9sVHJhbnNm
ZXJPdXRfUGFyYW1zLmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICB2YXIgcGFja2Vk
OwotICAgIHZhciB2YWwgPSBuZXcgVXNiRGV2aWNlX0NvbnRyb2xUcmFuc2Zlck91dF9QYXJhbXMo
KTsKLSAgICB2YXIgbnVtYmVyT2ZCeXRlcyA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZh
ciB2ZXJzaW9uID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFsLnBhcmFtcyA9IGRlY29k
ZXIuZGVjb2RlU3RydWN0UG9pbnRlcihVc2JDb250cm9sVHJhbnNmZXJQYXJhbXMpOwotICAgIHZh
bC5kYXRhID0gZGVjb2Rlci5kZWNvZGVBcnJheVBvaW50ZXIoY29kZWMuVWludDgpOwotICAgIHZh
bC50aW1lb3V0ID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoY29kZWMuVWludDMyKTsKLSAgICBkZWNv
ZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsK
LSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgcmV0dXJuIHZhbDsKLSAgfTsKLQotICBVc2JEZXZp
Y2VfQ29udHJvbFRyYW5zZmVyT3V0X1BhcmFtcy5lbmNvZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2
YWwpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoVXNiRGV2aWNl
X0NvbnRyb2xUcmFuc2Zlck91dF9QYXJhbXMuZW5jb2RlZFNpemUpOwotICAgIGVuY29kZXIud3Jp
dGVVaW50MzIoMCk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3RQb2ludGVyKFVzYkNvbnRyb2xU
cmFuc2ZlclBhcmFtcywgdmFsLnBhcmFtcyk7Ci0gICAgZW5jb2Rlci5lbmNvZGVBcnJheVBvaW50
ZXIoY29kZWMuVWludDgsIHZhbC5kYXRhKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdChjb2Rl
Yy5VaW50MzIsIHZhbC50aW1lb3V0KTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rl
ci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0g
IH07Ci0gIGZ1bmN0aW9uIFVzYkRldmljZV9Db250cm9sVHJhbnNmZXJPdXRfUmVzcG9uc2VQYXJh
bXModmFsdWVzKSB7Ci0gICAgdGhpcy5pbml0RGVmYXVsdHNfKCk7Ci0gICAgdGhpcy5pbml0Rmll
bGRzXyh2YWx1ZXMpOwotICB9Ci0KLQotICBVc2JEZXZpY2VfQ29udHJvbFRyYW5zZmVyT3V0X1Jl
c3BvbnNlUGFyYW1zLnByb3RvdHlwZS5pbml0RGVmYXVsdHNfID0gZnVuY3Rpb24oKSB7Ci0gICAg
dGhpcy5zdGF0dXMgPSAwOwotICB9OwotICBVc2JEZXZpY2VfQ29udHJvbFRyYW5zZmVyT3V0X1Jl
c3BvbnNlUGFyYW1zLnByb3RvdHlwZS5pbml0RmllbGRzXyA9IGZ1bmN0aW9uKGZpZWxkcykgewot
ICAgIGZvcih2YXIgZmllbGQgaW4gZmllbGRzKSB7Ci0gICAgICAgIGlmICh0aGlzLmhhc093blBy
b3BlcnR5KGZpZWxkKSkKLSAgICAgICAgICB0aGlzW2ZpZWxkXSA9IGZpZWxkc1tmaWVsZF07Ci0g
ICAgfQotICB9OwotCi0gIFVzYkRldmljZV9Db250cm9sVHJhbnNmZXJPdXRfUmVzcG9uc2VQYXJh
bXMudmFsaWRhdGUgPSBmdW5jdGlvbihtZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsKLSAgICB2
YXIgZXJyOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RIZWFkZXIo
b2Zmc2V0LCBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRh
dG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgdmFy
IGtWZXJzaW9uU2l6ZXMgPSBbCi0gICAgICB7dmVyc2lvbjogMCwgbnVtQnl0ZXM6IDE2fQotICAg
IF07Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFZlcnNpb24ob2Zm
c2V0LCBrVmVyc2lvblNpemVzKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlv
bkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotICAgIAotICAgIC8vIHZhbGlk
YXRlIFVzYkRldmljZV9Db250cm9sVHJhbnNmZXJPdXRfUmVzcG9uc2VQYXJhbXMuc3RhdHVzCi0g
ICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZUVudW0ob2Zmc2V0ICsgY29kZWMua1N0
cnVjdEhlYWRlclNpemUgKyAwLCBVc2JUcmFuc2ZlclN0YXR1cyk7Ci0gICAgaWYgKGVyciAhPT0g
dmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0g
ICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQotICBVc2JE
ZXZpY2VfQ29udHJvbFRyYW5zZmVyT3V0X1Jlc3BvbnNlUGFyYW1zLmVuY29kZWRTaXplID0gY29k
ZWMua1N0cnVjdEhlYWRlclNpemUgKyA4OwotCi0gIFVzYkRldmljZV9Db250cm9sVHJhbnNmZXJP
dXRfUmVzcG9uc2VQYXJhbXMuZGVjb2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHZhciBw
YWNrZWQ7Ci0gICAgdmFyIHZhbCA9IG5ldyBVc2JEZXZpY2VfQ29udHJvbFRyYW5zZmVyT3V0X1Jl
c3BvbnNlUGFyYW1zKCk7Ci0gICAgdmFyIG51bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50
MzIoKTsKLSAgICB2YXIgdmVyc2lvbiA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhbC5z
dGF0dXMgPSBkZWNvZGVyLmRlY29kZVN0cnVjdChjb2RlYy5JbnQzMik7Ci0gICAgZGVjb2Rlci5z
a2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAg
ZGVjb2Rlci5za2lwKDEpOwotICAgIHJldHVybiB2YWw7Ci0gIH07Ci0KLSAgVXNiRGV2aWNlX0Nv
bnRyb2xUcmFuc2Zlck91dF9SZXNwb25zZVBhcmFtcy5lbmNvZGUgPSBmdW5jdGlvbihlbmNvZGVy
LCB2YWwpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoVXNiRGV2
aWNlX0NvbnRyb2xUcmFuc2Zlck91dF9SZXNwb25zZVBhcmFtcy5lbmNvZGVkU2l6ZSk7Ci0gICAg
ZW5jb2Rlci53cml0ZVVpbnQzMigwKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdChjb2RlYy5J
bnQzMiwgdmFsLnN0YXR1cyk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tp
cCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICB9Owot
ICBmdW5jdGlvbiBVc2JEZXZpY2VfR2VuZXJpY1RyYW5zZmVySW5fUGFyYW1zKHZhbHVlcykgewot
ICAgIHRoaXMuaW5pdERlZmF1bHRzXygpOwotICAgIHRoaXMuaW5pdEZpZWxkc18odmFsdWVzKTsK
LSAgfQotCi0KLSAgVXNiRGV2aWNlX0dlbmVyaWNUcmFuc2ZlckluX1BhcmFtcy5wcm90b3R5cGUu
aW5pdERlZmF1bHRzXyA9IGZ1bmN0aW9uKCkgewotICAgIHRoaXMuZW5kcG9pbnROdW1iZXIgPSAw
OwotICAgIHRoaXMubGVuZ3RoID0gMDsKLSAgICB0aGlzLnRpbWVvdXQgPSAwOwotICB9OwotICBV
c2JEZXZpY2VfR2VuZXJpY1RyYW5zZmVySW5fUGFyYW1zLnByb3RvdHlwZS5pbml0RmllbGRzXyA9
IGZ1bmN0aW9uKGZpZWxkcykgewotICAgIGZvcih2YXIgZmllbGQgaW4gZmllbGRzKSB7Ci0gICAg
ICAgIGlmICh0aGlzLmhhc093blByb3BlcnR5KGZpZWxkKSkKLSAgICAgICAgICB0aGlzW2ZpZWxk
XSA9IGZpZWxkc1tmaWVsZF07Ci0gICAgfQotICB9OwotCi0gIFVzYkRldmljZV9HZW5lcmljVHJh
bnNmZXJJbl9QYXJhbXMudmFsaWRhdGUgPSBmdW5jdGlvbihtZXNzYWdlVmFsaWRhdG9yLCBvZmZz
ZXQpIHsKLSAgICB2YXIgZXJyOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVT
dHJ1Y3RIZWFkZXIob2Zmc2V0LCBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVy
ciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJy
OwotCi0gICAgdmFyIGtWZXJzaW9uU2l6ZXMgPSBbCi0gICAgICB7dmVyc2lvbjogMCwgbnVtQnl0
ZXM6IDI0fQotICAgIF07Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVj
dFZlcnNpb24ob2Zmc2V0LCBrVmVyc2lvblNpemVzKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0
b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotCi0KLSAg
ICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIFVzYkRl
dmljZV9HZW5lcmljVHJhbnNmZXJJbl9QYXJhbXMuZW5jb2RlZFNpemUgPSBjb2RlYy5rU3RydWN0
SGVhZGVyU2l6ZSArIDE2OwotCi0gIFVzYkRldmljZV9HZW5lcmljVHJhbnNmZXJJbl9QYXJhbXMu
ZGVjb2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgdmFyIHZh
bCA9IG5ldyBVc2JEZXZpY2VfR2VuZXJpY1RyYW5zZmVySW5fUGFyYW1zKCk7Ci0gICAgdmFyIG51
bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YXIgdmVyc2lvbiA9IGRl
Y29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhbC5lbmRwb2ludE51bWJlciA9IGRlY29kZXIuZGVj
b2RlU3RydWN0KGNvZGVjLlVpbnQ4KTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rl
ci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICB2YWwubGVuZ3RoID0gZGVjb2Rl
ci5kZWNvZGVTdHJ1Y3QoY29kZWMuVWludDMyKTsKLSAgICB2YWwudGltZW91dCA9IGRlY29kZXIu
ZGVjb2RlU3RydWN0KGNvZGVjLlVpbnQzMik7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRl
Y29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEp
OwotICAgIHJldHVybiB2YWw7Ci0gIH07Ci0KLSAgVXNiRGV2aWNlX0dlbmVyaWNUcmFuc2Zlcklu
X1BhcmFtcy5lbmNvZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2YWwpIHsKLSAgICB2YXIgcGFja2Vk
OwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoVXNiRGV2aWNlX0dlbmVyaWNUcmFuc2ZlckluX1Bh
cmFtcy5lbmNvZGVkU2l6ZSk7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMigwKTsKLSAgICBlbmNv
ZGVyLmVuY29kZVN0cnVjdChjb2RlYy5VaW50OCwgdmFsLmVuZHBvaW50TnVtYmVyKTsKLSAgICBl
bmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgx
KTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdChjb2RlYy5VaW50MzIsIHZhbC5sZW5ndGgpOwot
ICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNvZGVjLlVpbnQzMiwgdmFsLnRpbWVvdXQpOwotICAg
IGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lw
KDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgfTsKLSAgZnVuY3Rpb24gVXNiRGV2aWNlX0dl
bmVyaWNUcmFuc2ZlckluX1Jlc3BvbnNlUGFyYW1zKHZhbHVlcykgewotICAgIHRoaXMuaW5pdERl
ZmF1bHRzXygpOwotICAgIHRoaXMuaW5pdEZpZWxkc18odmFsdWVzKTsKLSAgfQotCi0KLSAgVXNi
RGV2aWNlX0dlbmVyaWNUcmFuc2ZlckluX1Jlc3BvbnNlUGFyYW1zLnByb3RvdHlwZS5pbml0RGVm
YXVsdHNfID0gZnVuY3Rpb24oKSB7Ci0gICAgdGhpcy5zdGF0dXMgPSAwOwotICAgIHRoaXMuZGF0
YSA9IG51bGw7Ci0gIH07Ci0gIFVzYkRldmljZV9HZW5lcmljVHJhbnNmZXJJbl9SZXNwb25zZVBh
cmFtcy5wcm90b3R5cGUuaW5pdEZpZWxkc18gPSBmdW5jdGlvbihmaWVsZHMpIHsKLSAgICBmb3Io
dmFyIGZpZWxkIGluIGZpZWxkcykgewotICAgICAgICBpZiAodGhpcy5oYXNPd25Qcm9wZXJ0eShm
aWVsZCkpCi0gICAgICAgICAgdGhpc1tmaWVsZF0gPSBmaWVsZHNbZmllbGRdOwotICAgIH0KLSAg
fTsKLQotICBVc2JEZXZpY2VfR2VuZXJpY1RyYW5zZmVySW5fUmVzcG9uc2VQYXJhbXMudmFsaWRh
dGUgPSBmdW5jdGlvbihtZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsKLSAgICB2YXIgZXJyOwot
ICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RIZWFkZXIob2Zmc2V0LCBj
b2RlYy5rU3RydWN0SGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlk
YXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgdmFyIGtWZXJzaW9u
U2l6ZXMgPSBbCi0gICAgICB7dmVyc2lvbjogMCwgbnVtQnl0ZXM6IDI0fQotICAgIF07Ci0gICAg
ZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFZlcnNpb24ob2Zmc2V0LCBrVmVy
c2lvblNpemVzKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5P
TkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotICAgIAotICAgIC8vIHZhbGlkYXRlIFVzYkRl
dmljZV9HZW5lcmljVHJhbnNmZXJJbl9SZXNwb25zZVBhcmFtcy5zdGF0dXMKLSAgICBlcnIgPSBt
ZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlRW51bShvZmZzZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVy
U2l6ZSArIDAsIFVzYlRyYW5zZmVyU3RhdHVzKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3Iu
dmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotICAgIAotICAg
IC8vIHZhbGlkYXRlIFVzYkRldmljZV9HZW5lcmljVHJhbnNmZXJJbl9SZXNwb25zZVBhcmFtcy5k
YXRhCi0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZUFycmF5UG9pbnRlcihvZmZz
ZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDgsIDEsIGNvZGVjLlVpbnQ4LCB0cnVlLCBb
MF0sIDApOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkK
LSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVy
cm9yLk5PTkU7Ci0gIH07Ci0KLSAgVXNiRGV2aWNlX0dlbmVyaWNUcmFuc2ZlckluX1Jlc3BvbnNl
UGFyYW1zLmVuY29kZWRTaXplID0gY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyAxNjsKLQotICBV
c2JEZXZpY2VfR2VuZXJpY1RyYW5zZmVySW5fUmVzcG9uc2VQYXJhbXMuZGVjb2RlID0gZnVuY3Rp
b24oZGVjb2RlcikgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgdmFyIHZhbCA9IG5ldyBVc2JEZXZp
Y2VfR2VuZXJpY1RyYW5zZmVySW5fUmVzcG9uc2VQYXJhbXMoKTsKLSAgICB2YXIgbnVtYmVyT2ZC
eXRlcyA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhciB2ZXJzaW9uID0gZGVjb2Rlci5y
ZWFkVWludDMyKCk7Ci0gICAgdmFsLnN0YXR1cyA9IGRlY29kZXIuZGVjb2RlU3RydWN0KGNvZGVj
LkludDMyKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAg
IGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgdmFsLmRhdGEgPSBk
ZWNvZGVyLmRlY29kZUFycmF5UG9pbnRlcihjb2RlYy5VaW50OCk7Ci0gICAgcmV0dXJuIHZhbDsK
LSAgfTsKLQotICBVc2JEZXZpY2VfR2VuZXJpY1RyYW5zZmVySW5fUmVzcG9uc2VQYXJhbXMuZW5j
b2RlID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICBlbmNv
ZGVyLndyaXRlVWludDMyKFVzYkRldmljZV9HZW5lcmljVHJhbnNmZXJJbl9SZXNwb25zZVBhcmFt
cy5lbmNvZGVkU2l6ZSk7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMigwKTsKLSAgICBlbmNvZGVy
LmVuY29kZVN0cnVjdChjb2RlYy5JbnQzMiwgdmFsLnN0YXR1cyk7Ci0gICAgZW5jb2Rlci5za2lw
KDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5j
b2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuZW5jb2RlQXJyYXlQb2ludGVyKGNvZGVjLlVpbnQ4
LCB2YWwuZGF0YSk7Ci0gIH07Ci0gIGZ1bmN0aW9uIFVzYkRldmljZV9HZW5lcmljVHJhbnNmZXJP
dXRfUGFyYW1zKHZhbHVlcykgewotICAgIHRoaXMuaW5pdERlZmF1bHRzXygpOwotICAgIHRoaXMu
aW5pdEZpZWxkc18odmFsdWVzKTsKLSAgfQotCi0KLSAgVXNiRGV2aWNlX0dlbmVyaWNUcmFuc2Zl
ck91dF9QYXJhbXMucHJvdG90eXBlLmluaXREZWZhdWx0c18gPSBmdW5jdGlvbigpIHsKLSAgICB0
aGlzLmVuZHBvaW50TnVtYmVyID0gMDsKLSAgICB0aGlzLnRpbWVvdXQgPSAwOwotICAgIHRoaXMu
ZGF0YSA9IG51bGw7Ci0gIH07Ci0gIFVzYkRldmljZV9HZW5lcmljVHJhbnNmZXJPdXRfUGFyYW1z
LnByb3RvdHlwZS5pbml0RmllbGRzXyA9IGZ1bmN0aW9uKGZpZWxkcykgewotICAgIGZvcih2YXIg
ZmllbGQgaW4gZmllbGRzKSB7Ci0gICAgICAgIGlmICh0aGlzLmhhc093blByb3BlcnR5KGZpZWxk
KSkKLSAgICAgICAgICB0aGlzW2ZpZWxkXSA9IGZpZWxkc1tmaWVsZF07Ci0gICAgfQotICB9Owot
Ci0gIFVzYkRldmljZV9HZW5lcmljVHJhbnNmZXJPdXRfUGFyYW1zLnZhbGlkYXRlID0gZnVuY3Rp
b24obWVzc2FnZVZhbGlkYXRvciwgb2Zmc2V0KSB7Ci0gICAgdmFyIGVycjsKLSAgICBlcnIgPSBt
ZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0SGVhZGVyKG9mZnNldCwgY29kZWMua1N0cnVj
dEhlYWRlclNpemUpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3Iu
Tk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHZhciBrVmVyc2lvblNpemVzID0gWwot
ICAgICAge3ZlcnNpb246IDAsIG51bUJ5dGVzOiAyNH0KLSAgICBdOwotICAgIGVyciA9IG1lc3Nh
Z2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RWZXJzaW9uKG9mZnNldCwga1ZlcnNpb25TaXplcyk7
Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAg
ICByZXR1cm4gZXJyOwotCi0KLQotICAgIAotICAgIC8vIHZhbGlkYXRlIFVzYkRldmljZV9HZW5l
cmljVHJhbnNmZXJPdXRfUGFyYW1zLmRhdGEKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZh
bGlkYXRlQXJyYXlQb2ludGVyKG9mZnNldCArIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgOCwg
MSwgY29kZWMuVWludDgsIGZhbHNlLCBbMF0sIDApOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRv
ci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0gICAgcmV0
dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQotICBVc2JEZXZpY2Vf
R2VuZXJpY1RyYW5zZmVyT3V0X1BhcmFtcy5lbmNvZGVkU2l6ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFk
ZXJTaXplICsgMTY7Ci0KLSAgVXNiRGV2aWNlX0dlbmVyaWNUcmFuc2Zlck91dF9QYXJhbXMuZGVj
b2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgdmFyIHZhbCA9
IG5ldyBVc2JEZXZpY2VfR2VuZXJpY1RyYW5zZmVyT3V0X1BhcmFtcygpOwotICAgIHZhciBudW1i
ZXJPZkJ5dGVzID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFyIHZlcnNpb24gPSBkZWNv
ZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YWwuZW5kcG9pbnROdW1iZXIgPSBkZWNvZGVyLmRlY29k
ZVN0cnVjdChjb2RlYy5VaW50OCk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIu
c2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgdmFsLnRpbWVvdXQgPSBkZWNvZGVy
LmRlY29kZVN0cnVjdChjb2RlYy5VaW50MzIpOwotICAgIHZhbC5kYXRhID0gZGVjb2Rlci5kZWNv
ZGVBcnJheVBvaW50ZXIoY29kZWMuVWludDgpOwotICAgIHJldHVybiB2YWw7Ci0gIH07Ci0KLSAg
VXNiRGV2aWNlX0dlbmVyaWNUcmFuc2Zlck91dF9QYXJhbXMuZW5jb2RlID0gZnVuY3Rpb24oZW5j
b2RlciwgdmFsKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKFVz
YkRldmljZV9HZW5lcmljVHJhbnNmZXJPdXRfUGFyYW1zLmVuY29kZWRTaXplKTsKLSAgICBlbmNv
ZGVyLndyaXRlVWludDMyKDApOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNvZGVjLlVpbnQ4
LCB2YWwuZW5kcG9pbnROdW1iZXIpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVy
LnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0
KGNvZGVjLlVpbnQzMiwgdmFsLnRpbWVvdXQpOwotICAgIGVuY29kZXIuZW5jb2RlQXJyYXlQb2lu
dGVyKGNvZGVjLlVpbnQ4LCB2YWwuZGF0YSk7Ci0gIH07Ci0gIGZ1bmN0aW9uIFVzYkRldmljZV9H
ZW5lcmljVHJhbnNmZXJPdXRfUmVzcG9uc2VQYXJhbXModmFsdWVzKSB7Ci0gICAgdGhpcy5pbml0
RGVmYXVsdHNfKCk7Ci0gICAgdGhpcy5pbml0RmllbGRzXyh2YWx1ZXMpOwotICB9Ci0KLQotICBV
c2JEZXZpY2VfR2VuZXJpY1RyYW5zZmVyT3V0X1Jlc3BvbnNlUGFyYW1zLnByb3RvdHlwZS5pbml0
RGVmYXVsdHNfID0gZnVuY3Rpb24oKSB7Ci0gICAgdGhpcy5zdGF0dXMgPSAwOwotICB9OwotICBV
c2JEZXZpY2VfR2VuZXJpY1RyYW5zZmVyT3V0X1Jlc3BvbnNlUGFyYW1zLnByb3RvdHlwZS5pbml0
RmllbGRzXyA9IGZ1bmN0aW9uKGZpZWxkcykgewotICAgIGZvcih2YXIgZmllbGQgaW4gZmllbGRz
KSB7Ci0gICAgICAgIGlmICh0aGlzLmhhc093blByb3BlcnR5KGZpZWxkKSkKLSAgICAgICAgICB0
aGlzW2ZpZWxkXSA9IGZpZWxkc1tmaWVsZF07Ci0gICAgfQotICB9OwotCi0gIFVzYkRldmljZV9H
ZW5lcmljVHJhbnNmZXJPdXRfUmVzcG9uc2VQYXJhbXMudmFsaWRhdGUgPSBmdW5jdGlvbihtZXNz
YWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsKLSAgICB2YXIgZXJyOwotICAgIGVyciA9IG1lc3NhZ2VW
YWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RIZWFkZXIob2Zmc2V0LCBjb2RlYy5rU3RydWN0SGVhZGVy
U2l6ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQot
ICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgdmFyIGtWZXJzaW9uU2l6ZXMgPSBbCi0gICAgICB7
dmVyc2lvbjogMCwgbnVtQnl0ZXM6IDE2fQotICAgIF07Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlk
YXRvci52YWxpZGF0ZVN0cnVjdFZlcnNpb24ob2Zmc2V0LCBrVmVyc2lvblNpemVzKTsKLSAgICBp
ZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVy
biBlcnI7Ci0KLQotICAgIAotICAgIC8vIHZhbGlkYXRlIFVzYkRldmljZV9HZW5lcmljVHJhbnNm
ZXJPdXRfUmVzcG9uc2VQYXJhbXMuc3RhdHVzCi0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52
YWxpZGF0ZUVudW0ob2Zmc2V0ICsgY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyAwLCBVc2JUcmFu
c2ZlclN0YXR1cyk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5O
T05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0
aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQotICBVc2JEZXZpY2VfR2VuZXJpY1RyYW5zZmVyT3V0X1Jl
c3BvbnNlUGFyYW1zLmVuY29kZWRTaXplID0gY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyA4Owot
Ci0gIFVzYkRldmljZV9HZW5lcmljVHJhbnNmZXJPdXRfUmVzcG9uc2VQYXJhbXMuZGVjb2RlID0g
ZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgdmFyIHZhbCA9IG5ldyBV
c2JEZXZpY2VfR2VuZXJpY1RyYW5zZmVyT3V0X1Jlc3BvbnNlUGFyYW1zKCk7Ci0gICAgdmFyIG51
bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YXIgdmVyc2lvbiA9IGRl
Y29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhbC5zdGF0dXMgPSBkZWNvZGVyLmRlY29kZVN0cnVj
dChjb2RlYy5JbnQzMik7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgx
KTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIHJldHVy
biB2YWw7Ci0gIH07Ci0KLSAgVXNiRGV2aWNlX0dlbmVyaWNUcmFuc2Zlck91dF9SZXNwb25zZVBh
cmFtcy5lbmNvZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2YWwpIHsKLSAgICB2YXIgcGFja2VkOwot
ICAgIGVuY29kZXIud3JpdGVVaW50MzIoVXNiRGV2aWNlX0dlbmVyaWNUcmFuc2Zlck91dF9SZXNw
b25zZVBhcmFtcy5lbmNvZGVkU2l6ZSk7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMigwKTsKLSAg
ICBlbmNvZGVyLmVuY29kZVN0cnVjdChjb2RlYy5JbnQzMiwgdmFsLnN0YXR1cyk7Ci0gICAgZW5j
b2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7
Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICB9OwotICBmdW5jdGlvbiBVc2JEZXZpY2VfSXNvY2hy
b25vdXNUcmFuc2ZlckluX1BhcmFtcyh2YWx1ZXMpIHsKLSAgICB0aGlzLmluaXREZWZhdWx0c18o
KTsKLSAgICB0aGlzLmluaXRGaWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0gIFVzYkRldmljZV9J
c29jaHJvbm91c1RyYW5zZmVySW5fUGFyYW1zLnByb3RvdHlwZS5pbml0RGVmYXVsdHNfID0gZnVu
Y3Rpb24oKSB7Ci0gICAgdGhpcy5lbmRwb2ludE51bWJlciA9IDA7Ci0gICAgdGhpcy50aW1lb3V0
ID0gMDsKLSAgICB0aGlzLnBhY2tldExlbmd0aHMgPSBudWxsOwotICB9OwotICBVc2JEZXZpY2Vf
SXNvY2hyb25vdXNUcmFuc2ZlckluX1BhcmFtcy5wcm90b3R5cGUuaW5pdEZpZWxkc18gPSBmdW5j
dGlvbihmaWVsZHMpIHsKLSAgICBmb3IodmFyIGZpZWxkIGluIGZpZWxkcykgewotICAgICAgICBp
ZiAodGhpcy5oYXNPd25Qcm9wZXJ0eShmaWVsZCkpCi0gICAgICAgICAgdGhpc1tmaWVsZF0gPSBm
aWVsZHNbZmllbGRdOwotICAgIH0KLSAgfTsKLQotICBVc2JEZXZpY2VfSXNvY2hyb25vdXNUcmFu
c2ZlckluX1BhcmFtcy52YWxpZGF0ZSA9IGZ1bmN0aW9uKG1lc3NhZ2VWYWxpZGF0b3IsIG9mZnNl
dCkgewotICAgIHZhciBlcnI7Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0
cnVjdEhlYWRlcihvZmZzZXQsIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplKTsKLSAgICBpZiAoZXJy
ICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7
Ci0KLSAgICB2YXIga1ZlcnNpb25TaXplcyA9IFsKLSAgICAgIHt2ZXJzaW9uOiAwLCBudW1CeXRl
czogMjR9Ci0gICAgXTsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0
VmVyc2lvbihvZmZzZXQsIGtWZXJzaW9uU2l6ZXMpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRv
ci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0KLSAgICAK
LSAgICAvLyB2YWxpZGF0ZSBVc2JEZXZpY2VfSXNvY2hyb25vdXNUcmFuc2ZlckluX1BhcmFtcy5w
YWNrZXRMZW5ndGhzCi0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZUFycmF5UG9p
bnRlcihvZmZzZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDgsIDQsIGNvZGVjLlVpbnQz
MiwgZmFsc2UsIFswXSwgMCk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25F
cnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0KLSAgICByZXR1cm4gdmFsaWRhdG9y
LnZhbGlkYXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIFVzYkRldmljZV9Jc29jaHJvbm91c1Ry
YW5zZmVySW5fUGFyYW1zLmVuY29kZWRTaXplID0gY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyAx
NjsKLQotICBVc2JEZXZpY2VfSXNvY2hyb25vdXNUcmFuc2ZlckluX1BhcmFtcy5kZWNvZGUgPSBm
dW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICB2YXIgdmFsID0gbmV3IFVz
YkRldmljZV9Jc29jaHJvbm91c1RyYW5zZmVySW5fUGFyYW1zKCk7Ci0gICAgdmFyIG51bWJlck9m
Qnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YXIgdmVyc2lvbiA9IGRlY29kZXIu
cmVhZFVpbnQzMigpOwotICAgIHZhbC5lbmRwb2ludE51bWJlciA9IGRlY29kZXIuZGVjb2RlU3Ry
dWN0KGNvZGVjLlVpbnQ4KTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lw
KDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICB2YWwudGltZW91dCA9IGRlY29kZXIuZGVj
b2RlU3RydWN0KGNvZGVjLlVpbnQzMik7Ci0gICAgdmFsLnBhY2tldExlbmd0aHMgPSBkZWNvZGVy
LmRlY29kZUFycmF5UG9pbnRlcihjb2RlYy5VaW50MzIpOwotICAgIHJldHVybiB2YWw7Ci0gIH07
Ci0KLSAgVXNiRGV2aWNlX0lzb2Nocm9ub3VzVHJhbnNmZXJJbl9QYXJhbXMuZW5jb2RlID0gZnVu
Y3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICBlbmNvZGVyLndyaXRl
VWludDMyKFVzYkRldmljZV9Jc29jaHJvbm91c1RyYW5zZmVySW5fUGFyYW1zLmVuY29kZWRTaXpl
KTsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKDApOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0
KGNvZGVjLlVpbnQ4LCB2YWwuZW5kcG9pbnROdW1iZXIpOwotICAgIGVuY29kZXIuc2tpcCgxKTsK
LSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIu
ZW5jb2RlU3RydWN0KGNvZGVjLlVpbnQzMiwgdmFsLnRpbWVvdXQpOwotICAgIGVuY29kZXIuZW5j
b2RlQXJyYXlQb2ludGVyKGNvZGVjLlVpbnQzMiwgdmFsLnBhY2tldExlbmd0aHMpOwotICB9Owot
ICBmdW5jdGlvbiBVc2JEZXZpY2VfSXNvY2hyb25vdXNUcmFuc2ZlckluX1Jlc3BvbnNlUGFyYW1z
KHZhbHVlcykgewotICAgIHRoaXMuaW5pdERlZmF1bHRzXygpOwotICAgIHRoaXMuaW5pdEZpZWxk
c18odmFsdWVzKTsKLSAgfQotCi0KLSAgVXNiRGV2aWNlX0lzb2Nocm9ub3VzVHJhbnNmZXJJbl9S
ZXNwb25zZVBhcmFtcy5wcm90b3R5cGUuaW5pdERlZmF1bHRzXyA9IGZ1bmN0aW9uKCkgewotICAg
IHRoaXMuZGF0YSA9IG51bGw7Ci0gICAgdGhpcy5wYWNrZXRzID0gbnVsbDsKLSAgfTsKLSAgVXNi
RGV2aWNlX0lzb2Nocm9ub3VzVHJhbnNmZXJJbl9SZXNwb25zZVBhcmFtcy5wcm90b3R5cGUuaW5p
dEZpZWxkc18gPSBmdW5jdGlvbihmaWVsZHMpIHsKLSAgICBmb3IodmFyIGZpZWxkIGluIGZpZWxk
cykgewotICAgICAgICBpZiAodGhpcy5oYXNPd25Qcm9wZXJ0eShmaWVsZCkpCi0gICAgICAgICAg
dGhpc1tmaWVsZF0gPSBmaWVsZHNbZmllbGRdOwotICAgIH0KLSAgfTsKLQotICBVc2JEZXZpY2Vf
SXNvY2hyb25vdXNUcmFuc2ZlckluX1Jlc3BvbnNlUGFyYW1zLnZhbGlkYXRlID0gZnVuY3Rpb24o
bWVzc2FnZVZhbGlkYXRvciwgb2Zmc2V0KSB7Ci0gICAgdmFyIGVycjsKLSAgICBlcnIgPSBtZXNz
YWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0SGVhZGVyKG9mZnNldCwgY29kZWMua1N0cnVjdEhl
YWRlclNpemUpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9O
RSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHZhciBrVmVyc2lvblNpemVzID0gWwotICAg
ICAge3ZlcnNpb246IDAsIG51bUJ5dGVzOiAyNH0KLSAgICBdOwotICAgIGVyciA9IG1lc3NhZ2VW
YWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RWZXJzaW9uKG9mZnNldCwga1ZlcnNpb25TaXplcyk7Ci0g
ICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICBy
ZXR1cm4gZXJyOwotCi0KLSAgICAKLSAgICAvLyB2YWxpZGF0ZSBVc2JEZXZpY2VfSXNvY2hyb25v
dXNUcmFuc2ZlckluX1Jlc3BvbnNlUGFyYW1zLmRhdGEKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRh
dG9yLnZhbGlkYXRlQXJyYXlQb2ludGVyKG9mZnNldCArIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXpl
ICsgMCwgMSwgY29kZWMuVWludDgsIHRydWUsIFswXSwgMCk7Ci0gICAgaWYgKGVyciAhPT0gdmFs
aWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0KLSAg
ICAKLSAgICAvLyB2YWxpZGF0ZSBVc2JEZXZpY2VfSXNvY2hyb25vdXNUcmFuc2ZlckluX1Jlc3Bv
bnNlUGFyYW1zLnBhY2tldHMKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlQXJy
YXlQb2ludGVyKG9mZnNldCArIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgOCwgOCwgbmV3IGNv
ZGVjLlBvaW50ZXJUbyhVc2JJc29jaHJvbm91c1BhY2tldCksIGZhbHNlLCBbMF0sIDApOwotICAg
IGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0
dXJuIGVycjsKLQotICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0g
IH07Ci0KLSAgVXNiRGV2aWNlX0lzb2Nocm9ub3VzVHJhbnNmZXJJbl9SZXNwb25zZVBhcmFtcy5l
bmNvZGVkU2l6ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgMTY7Ci0KLSAgVXNiRGV2aWNl
X0lzb2Nocm9ub3VzVHJhbnNmZXJJbl9SZXNwb25zZVBhcmFtcy5kZWNvZGUgPSBmdW5jdGlvbihk
ZWNvZGVyKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICB2YXIgdmFsID0gbmV3IFVzYkRldmljZV9J
c29jaHJvbm91c1RyYW5zZmVySW5fUmVzcG9uc2VQYXJhbXMoKTsKLSAgICB2YXIgbnVtYmVyT2ZC
eXRlcyA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhciB2ZXJzaW9uID0gZGVjb2Rlci5y
ZWFkVWludDMyKCk7Ci0gICAgdmFsLmRhdGEgPSBkZWNvZGVyLmRlY29kZUFycmF5UG9pbnRlcihj
b2RlYy5VaW50OCk7Ci0gICAgdmFsLnBhY2tldHMgPSBkZWNvZGVyLmRlY29kZUFycmF5UG9pbnRl
cihuZXcgY29kZWMuUG9pbnRlclRvKFVzYklzb2Nocm9ub3VzUGFja2V0KSk7Ci0gICAgcmV0dXJu
IHZhbDsKLSAgfTsKLQotICBVc2JEZXZpY2VfSXNvY2hyb25vdXNUcmFuc2ZlckluX1Jlc3BvbnNl
UGFyYW1zLmVuY29kZSA9IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgIHZhciBwYWNrZWQ7
Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMihVc2JEZXZpY2VfSXNvY2hyb25vdXNUcmFuc2Zlcklu
X1Jlc3BvbnNlUGFyYW1zLmVuY29kZWRTaXplKTsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKDAp
OwotICAgIGVuY29kZXIuZW5jb2RlQXJyYXlQb2ludGVyKGNvZGVjLlVpbnQ4LCB2YWwuZGF0YSk7
Ci0gICAgZW5jb2Rlci5lbmNvZGVBcnJheVBvaW50ZXIobmV3IGNvZGVjLlBvaW50ZXJUbyhVc2JJ
c29jaHJvbm91c1BhY2tldCksIHZhbC5wYWNrZXRzKTsKLSAgfTsKLSAgZnVuY3Rpb24gVXNiRGV2
aWNlX0lzb2Nocm9ub3VzVHJhbnNmZXJPdXRfUGFyYW1zKHZhbHVlcykgewotICAgIHRoaXMuaW5p
dERlZmF1bHRzXygpOwotICAgIHRoaXMuaW5pdEZpZWxkc18odmFsdWVzKTsKLSAgfQotCi0KLSAg
VXNiRGV2aWNlX0lzb2Nocm9ub3VzVHJhbnNmZXJPdXRfUGFyYW1zLnByb3RvdHlwZS5pbml0RGVm
YXVsdHNfID0gZnVuY3Rpb24oKSB7Ci0gICAgdGhpcy5lbmRwb2ludE51bWJlciA9IDA7Ci0gICAg
dGhpcy50aW1lb3V0ID0gMDsKLSAgICB0aGlzLmRhdGEgPSBudWxsOwotICAgIHRoaXMucGFja2V0
TGVuZ3RocyA9IG51bGw7Ci0gIH07Ci0gIFVzYkRldmljZV9Jc29jaHJvbm91c1RyYW5zZmVyT3V0
X1BhcmFtcy5wcm90b3R5cGUuaW5pdEZpZWxkc18gPSBmdW5jdGlvbihmaWVsZHMpIHsKLSAgICBm
b3IodmFyIGZpZWxkIGluIGZpZWxkcykgewotICAgICAgICBpZiAodGhpcy5oYXNPd25Qcm9wZXJ0
eShmaWVsZCkpCi0gICAgICAgICAgdGhpc1tmaWVsZF0gPSBmaWVsZHNbZmllbGRdOwotICAgIH0K
LSAgfTsKLQotICBVc2JEZXZpY2VfSXNvY2hyb25vdXNUcmFuc2Zlck91dF9QYXJhbXMudmFsaWRh
dGUgPSBmdW5jdGlvbihtZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsKLSAgICB2YXIgZXJyOwot
ICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RIZWFkZXIob2Zmc2V0LCBj
b2RlYy5rU3RydWN0SGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlk
YXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgdmFyIGtWZXJzaW9u
U2l6ZXMgPSBbCi0gICAgICB7dmVyc2lvbjogMCwgbnVtQnl0ZXM6IDMyfQotICAgIF07Ci0gICAg
ZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFZlcnNpb24ob2Zmc2V0LCBrVmVy
c2lvblNpemVzKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5P
TkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotCi0gICAgCi0gICAgLy8gdmFsaWRhdGUgVXNi
RGV2aWNlX0lzb2Nocm9ub3VzVHJhbnNmZXJPdXRfUGFyYW1zLmRhdGEKLSAgICBlcnIgPSBtZXNz
YWdlVmFsaWRhdG9yLnZhbGlkYXRlQXJyYXlQb2ludGVyKG9mZnNldCArIGNvZGVjLmtTdHJ1Y3RI
ZWFkZXJTaXplICsgOCwgMSwgY29kZWMuVWludDgsIGZhbHNlLCBbMF0sIDApOwotICAgIGlmIChl
cnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVy
cjsKLQotCi0gICAgCi0gICAgLy8gdmFsaWRhdGUgVXNiRGV2aWNlX0lzb2Nocm9ub3VzVHJhbnNm
ZXJPdXRfUGFyYW1zLnBhY2tldExlbmd0aHMKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZh
bGlkYXRlQXJyYXlQb2ludGVyKG9mZnNldCArIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgMTYs
IDQsIGNvZGVjLlVpbnQzMiwgZmFsc2UsIFswXSwgMCk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRh
dG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0KLSAgICBy
ZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIFVzYkRldmlj
ZV9Jc29jaHJvbm91c1RyYW5zZmVyT3V0X1BhcmFtcy5lbmNvZGVkU2l6ZSA9IGNvZGVjLmtTdHJ1
Y3RIZWFkZXJTaXplICsgMjQ7Ci0KLSAgVXNiRGV2aWNlX0lzb2Nocm9ub3VzVHJhbnNmZXJPdXRf
UGFyYW1zLmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICB2YXIgcGFja2VkOwotICAg
IHZhciB2YWwgPSBuZXcgVXNiRGV2aWNlX0lzb2Nocm9ub3VzVHJhbnNmZXJPdXRfUGFyYW1zKCk7
Ci0gICAgdmFyIG51bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YXIg
dmVyc2lvbiA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhbC5lbmRwb2ludE51bWJlciA9
IGRlY29kZXIuZGVjb2RlU3RydWN0KGNvZGVjLlVpbnQ4KTsKLSAgICBkZWNvZGVyLnNraXAoMSk7
Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICB2YWwudGlt
ZW91dCA9IGRlY29kZXIuZGVjb2RlU3RydWN0KGNvZGVjLlVpbnQzMik7Ci0gICAgdmFsLmRhdGEg
PSBkZWNvZGVyLmRlY29kZUFycmF5UG9pbnRlcihjb2RlYy5VaW50OCk7Ci0gICAgdmFsLnBhY2tl
dExlbmd0aHMgPSBkZWNvZGVyLmRlY29kZUFycmF5UG9pbnRlcihjb2RlYy5VaW50MzIpOwotICAg
IHJldHVybiB2YWw7Ci0gIH07Ci0KLSAgVXNiRGV2aWNlX0lzb2Nocm9ub3VzVHJhbnNmZXJPdXRf
UGFyYW1zLmVuY29kZSA9IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgIHZhciBwYWNrZWQ7
Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMihVc2JEZXZpY2VfSXNvY2hyb25vdXNUcmFuc2Zlck91
dF9QYXJhbXMuZW5jb2RlZFNpemUpOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoMCk7Ci0gICAg
ZW5jb2Rlci5lbmNvZGVTdHJ1Y3QoY29kZWMuVWludDgsIHZhbC5lbmRwb2ludE51bWJlcik7Ci0g
ICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNr
aXAoMSk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3QoY29kZWMuVWludDMyLCB2YWwudGltZW91
dCk7Ci0gICAgZW5jb2Rlci5lbmNvZGVBcnJheVBvaW50ZXIoY29kZWMuVWludDgsIHZhbC5kYXRh
KTsKLSAgICBlbmNvZGVyLmVuY29kZUFycmF5UG9pbnRlcihjb2RlYy5VaW50MzIsIHZhbC5wYWNr
ZXRMZW5ndGhzKTsKLSAgfTsKLSAgZnVuY3Rpb24gVXNiRGV2aWNlX0lzb2Nocm9ub3VzVHJhbnNm
ZXJPdXRfUmVzcG9uc2VQYXJhbXModmFsdWVzKSB7Ci0gICAgdGhpcy5pbml0RGVmYXVsdHNfKCk7
Ci0gICAgdGhpcy5pbml0RmllbGRzXyh2YWx1ZXMpOwotICB9Ci0KLQotICBVc2JEZXZpY2VfSXNv
Y2hyb25vdXNUcmFuc2Zlck91dF9SZXNwb25zZVBhcmFtcy5wcm90b3R5cGUuaW5pdERlZmF1bHRz
XyA9IGZ1bmN0aW9uKCkgewotICAgIHRoaXMucGFja2V0cyA9IG51bGw7Ci0gIH07Ci0gIFVzYkRl
dmljZV9Jc29jaHJvbm91c1RyYW5zZmVyT3V0X1Jlc3BvbnNlUGFyYW1zLnByb3RvdHlwZS5pbml0
RmllbGRzXyA9IGZ1bmN0aW9uKGZpZWxkcykgewotICAgIGZvcih2YXIgZmllbGQgaW4gZmllbGRz
KSB7Ci0gICAgICAgIGlmICh0aGlzLmhhc093blByb3BlcnR5KGZpZWxkKSkKLSAgICAgICAgICB0
aGlzW2ZpZWxkXSA9IGZpZWxkc1tmaWVsZF07Ci0gICAgfQotICB9OwotCi0gIFVzYkRldmljZV9J
c29jaHJvbm91c1RyYW5zZmVyT3V0X1Jlc3BvbnNlUGFyYW1zLnZhbGlkYXRlID0gZnVuY3Rpb24o
bWVzc2FnZVZhbGlkYXRvciwgb2Zmc2V0KSB7Ci0gICAgdmFyIGVycjsKLSAgICBlcnIgPSBtZXNz
YWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0SGVhZGVyKG9mZnNldCwgY29kZWMua1N0cnVjdEhl
YWRlclNpemUpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9O
RSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHZhciBrVmVyc2lvblNpemVzID0gWwotICAg
ICAge3ZlcnNpb246IDAsIG51bUJ5dGVzOiAxNn0KLSAgICBdOwotICAgIGVyciA9IG1lc3NhZ2VW
YWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RWZXJzaW9uKG9mZnNldCwga1ZlcnNpb25TaXplcyk7Ci0g
ICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICBy
ZXR1cm4gZXJyOwotCi0KLSAgICAKLSAgICAvLyB2YWxpZGF0ZSBVc2JEZXZpY2VfSXNvY2hyb25v
dXNUcmFuc2Zlck91dF9SZXNwb25zZVBhcmFtcy5wYWNrZXRzCi0gICAgZXJyID0gbWVzc2FnZVZh
bGlkYXRvci52YWxpZGF0ZUFycmF5UG9pbnRlcihvZmZzZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVy
U2l6ZSArIDAsIDgsIG5ldyBjb2RlYy5Qb2ludGVyVG8oVXNiSXNvY2hyb25vdXNQYWNrZXQpLCBm
YWxzZSwgWzBdLCAwKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9y
Lk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlk
YXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIFVzYkRldmljZV9Jc29jaHJvbm91c1RyYW5zZmVy
T3V0X1Jlc3BvbnNlUGFyYW1zLmVuY29kZWRTaXplID0gY29kZWMua1N0cnVjdEhlYWRlclNpemUg
KyA4OwotCi0gIFVzYkRldmljZV9Jc29jaHJvbm91c1RyYW5zZmVyT3V0X1Jlc3BvbnNlUGFyYW1z
LmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIHZhciB2
YWwgPSBuZXcgVXNiRGV2aWNlX0lzb2Nocm9ub3VzVHJhbnNmZXJPdXRfUmVzcG9uc2VQYXJhbXMo
KTsKLSAgICB2YXIgbnVtYmVyT2ZCeXRlcyA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZh
ciB2ZXJzaW9uID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFsLnBhY2tldHMgPSBkZWNv
ZGVyLmRlY29kZUFycmF5UG9pbnRlcihuZXcgY29kZWMuUG9pbnRlclRvKFVzYklzb2Nocm9ub3Vz
UGFja2V0KSk7Ci0gICAgcmV0dXJuIHZhbDsKLSAgfTsKLQotICBVc2JEZXZpY2VfSXNvY2hyb25v
dXNUcmFuc2Zlck91dF9SZXNwb25zZVBhcmFtcy5lbmNvZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2
YWwpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoVXNiRGV2aWNl
X0lzb2Nocm9ub3VzVHJhbnNmZXJPdXRfUmVzcG9uc2VQYXJhbXMuZW5jb2RlZFNpemUpOwotICAg
IGVuY29kZXIud3JpdGVVaW50MzIoMCk7Ci0gICAgZW5jb2Rlci5lbmNvZGVBcnJheVBvaW50ZXIo
bmV3IGNvZGVjLlBvaW50ZXJUbyhVc2JJc29jaHJvbm91c1BhY2tldCksIHZhbC5wYWNrZXRzKTsK
LSAgfTsKLSAgdmFyIGtVc2JEZXZpY2VfT3Blbl9OYW1lID0gMDsKLSAgdmFyIGtVc2JEZXZpY2Vf
Q2xvc2VfTmFtZSA9IDE7Ci0gIHZhciBrVXNiRGV2aWNlX1NldENvbmZpZ3VyYXRpb25fTmFtZSA9
IDI7Ci0gIHZhciBrVXNiRGV2aWNlX0NsYWltSW50ZXJmYWNlX05hbWUgPSAzOwotICB2YXIga1Vz
YkRldmljZV9SZWxlYXNlSW50ZXJmYWNlX05hbWUgPSA0OwotICB2YXIga1VzYkRldmljZV9TZXRJ
bnRlcmZhY2VBbHRlcm5hdGVTZXR0aW5nX05hbWUgPSA1OwotICB2YXIga1VzYkRldmljZV9SZXNl
dF9OYW1lID0gNjsKLSAgdmFyIGtVc2JEZXZpY2VfQ2xlYXJIYWx0X05hbWUgPSA3OwotICB2YXIg
a1VzYkRldmljZV9Db250cm9sVHJhbnNmZXJJbl9OYW1lID0gODsKLSAgdmFyIGtVc2JEZXZpY2Vf
Q29udHJvbFRyYW5zZmVyT3V0X05hbWUgPSA5OwotICB2YXIga1VzYkRldmljZV9HZW5lcmljVHJh
bnNmZXJJbl9OYW1lID0gMTA7Ci0gIHZhciBrVXNiRGV2aWNlX0dlbmVyaWNUcmFuc2Zlck91dF9O
YW1lID0gMTE7Ci0gIHZhciBrVXNiRGV2aWNlX0lzb2Nocm9ub3VzVHJhbnNmZXJJbl9OYW1lID0g
MTI7Ci0gIHZhciBrVXNiRGV2aWNlX0lzb2Nocm9ub3VzVHJhbnNmZXJPdXRfTmFtZSA9IDEzOwot
Ci0gIGZ1bmN0aW9uIFVzYkRldmljZVB0cihoYW5kbGVPclB0ckluZm8pIHsKLSAgICB0aGlzLnB0
ciA9IG5ldyBiaW5kaW5ncy5JbnRlcmZhY2VQdHJDb250cm9sbGVyKFVzYkRldmljZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZU9yUHRy
SW5mbyk7Ci0gIH0KLQotICBmdW5jdGlvbiBVc2JEZXZpY2VBc3NvY2lhdGVkUHRyKGFzc29jaWF0
ZWRJbnRlcmZhY2VQdHJJbmZvKSB7Ci0gICAgdGhpcy5wdHIgPSBuZXcgYXNzb2NpYXRlZEJpbmRp
bmdzLkFzc29jaWF0ZWRJbnRlcmZhY2VQdHJDb250cm9sbGVyKAotICAgICAgICBVc2JEZXZpY2Us
IGFzc29jaWF0ZWRJbnRlcmZhY2VQdHJJbmZvKTsKLSAgfQotCi0gIFVzYkRldmljZUFzc29jaWF0
ZWRQdHIucHJvdG90eXBlID0KLSAgICAgIE9iamVjdC5jcmVhdGUoVXNiRGV2aWNlUHRyLnByb3Rv
dHlwZSk7Ci0gIFVzYkRldmljZUFzc29jaWF0ZWRQdHIucHJvdG90eXBlLmNvbnN0cnVjdG9yID0K
LSAgICAgIFVzYkRldmljZUFzc29jaWF0ZWRQdHI7Ci0KLSAgZnVuY3Rpb24gVXNiRGV2aWNlUHJv
eHkocmVjZWl2ZXIpIHsKLSAgICB0aGlzLnJlY2VpdmVyXyA9IHJlY2VpdmVyOwotICB9Ci0gIFVz
YkRldmljZVB0ci5wcm90b3R5cGUub3BlbiA9IGZ1bmN0aW9uKCkgewotICAgIHJldHVybiBVc2JE
ZXZpY2VQcm94eS5wcm90b3R5cGUub3BlbgotICAgICAgICAuYXBwbHkodGhpcy5wdHIuZ2V0UHJv
eHkoKSwgYXJndW1lbnRzKTsKLSAgfTsKLQotICBVc2JEZXZpY2VQcm94eS5wcm90b3R5cGUub3Bl
biA9IGZ1bmN0aW9uKCkgewotICAgIHZhciBwYXJhbXMgPSBuZXcgVXNiRGV2aWNlX09wZW5fUGFy
YW1zKCk7Ci0gICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkg
ewotICAgICAgdmFyIGJ1aWxkZXIgPSBuZXcgY29kZWMuTWVzc2FnZVYxQnVpbGRlcigKLSAgICAg
ICAgICBrVXNiRGV2aWNlX09wZW5fTmFtZSwKLSAgICAgICAgICBjb2RlYy5hbGlnbihVc2JEZXZp
Y2VfT3Blbl9QYXJhbXMuZW5jb2RlZFNpemUpLAotICAgICAgICAgIGNvZGVjLmtNZXNzYWdlRXhw
ZWN0c1Jlc3BvbnNlLCAwKTsKLSAgICAgIGJ1aWxkZXIuZW5jb2RlU3RydWN0KFVzYkRldmljZV9P
cGVuX1BhcmFtcywgcGFyYW1zKTsKLSAgICAgIHZhciBtZXNzYWdlID0gYnVpbGRlci5maW5pc2go
KTsKLSAgICAgIHRoaXMucmVjZWl2ZXJfLmFjY2VwdEFuZEV4cGVjdFJlc3BvbnNlKG1lc3NhZ2Up
LnRoZW4oZnVuY3Rpb24obWVzc2FnZSkgewotICAgICAgICB2YXIgcmVhZGVyID0gbmV3IGNvZGVj
Lk1lc3NhZ2VSZWFkZXIobWVzc2FnZSk7Ci0gICAgICAgIHZhciByZXNwb25zZVBhcmFtcyA9Ci0g
ICAgICAgICAgICByZWFkZXIuZGVjb2RlU3RydWN0KFVzYkRldmljZV9PcGVuX1Jlc3BvbnNlUGFy
YW1zKTsKLSAgICAgICAgcmVzb2x2ZShyZXNwb25zZVBhcmFtcyk7Ci0gICAgICB9KS5jYXRjaChm
dW5jdGlvbihyZXN1bHQpIHsKLSAgICAgICAgcmVqZWN0KEVycm9yKCJDb25uZWN0aW9uIGVycm9y
OiAiICsgcmVzdWx0KSk7Ci0gICAgICB9KTsKLSAgICB9LmJpbmQodGhpcykpOwotICB9OwotICBV
c2JEZXZpY2VQdHIucHJvdG90eXBlLmNsb3NlID0gZnVuY3Rpb24oKSB7Ci0gICAgcmV0dXJuIFVz
YkRldmljZVByb3h5LnByb3RvdHlwZS5jbG9zZQotICAgICAgICAuYXBwbHkodGhpcy5wdHIuZ2V0
UHJveHkoKSwgYXJndW1lbnRzKTsKLSAgfTsKLQotICBVc2JEZXZpY2VQcm94eS5wcm90b3R5cGUu
Y2xvc2UgPSBmdW5jdGlvbigpIHsKLSAgICB2YXIgcGFyYW1zID0gbmV3IFVzYkRldmljZV9DbG9z
ZV9QYXJhbXMoKTsKLSAgICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVq
ZWN0KSB7Ci0gICAgICB2YXIgYnVpbGRlciA9IG5ldyBjb2RlYy5NZXNzYWdlVjFCdWlsZGVyKAot
ICAgICAgICAgIGtVc2JEZXZpY2VfQ2xvc2VfTmFtZSwKLSAgICAgICAgICBjb2RlYy5hbGlnbihV
c2JEZXZpY2VfQ2xvc2VfUGFyYW1zLmVuY29kZWRTaXplKSwKLSAgICAgICAgICBjb2RlYy5rTWVz
c2FnZUV4cGVjdHNSZXNwb25zZSwgMCk7Ci0gICAgICBidWlsZGVyLmVuY29kZVN0cnVjdChVc2JE
ZXZpY2VfQ2xvc2VfUGFyYW1zLCBwYXJhbXMpOwotICAgICAgdmFyIG1lc3NhZ2UgPSBidWlsZGVy
LmZpbmlzaCgpOwotICAgICAgdGhpcy5yZWNlaXZlcl8uYWNjZXB0QW5kRXhwZWN0UmVzcG9uc2Uo
bWVzc2FnZSkudGhlbihmdW5jdGlvbihtZXNzYWdlKSB7Ci0gICAgICAgIHZhciByZWFkZXIgPSBu
ZXcgY29kZWMuTWVzc2FnZVJlYWRlcihtZXNzYWdlKTsKLSAgICAgICAgdmFyIHJlc3BvbnNlUGFy
YW1zID0KLSAgICAgICAgICAgIHJlYWRlci5kZWNvZGVTdHJ1Y3QoVXNiRGV2aWNlX0Nsb3NlX1Jl
c3BvbnNlUGFyYW1zKTsKLSAgICAgICAgcmVzb2x2ZShyZXNwb25zZVBhcmFtcyk7Ci0gICAgICB9
KS5jYXRjaChmdW5jdGlvbihyZXN1bHQpIHsKLSAgICAgICAgcmVqZWN0KEVycm9yKCJDb25uZWN0
aW9uIGVycm9yOiAiICsgcmVzdWx0KSk7Ci0gICAgICB9KTsKLSAgICB9LmJpbmQodGhpcykpOwot
ICB9OwotICBVc2JEZXZpY2VQdHIucHJvdG90eXBlLnNldENvbmZpZ3VyYXRpb24gPSBmdW5jdGlv
bigpIHsKLSAgICByZXR1cm4gVXNiRGV2aWNlUHJveHkucHJvdG90eXBlLnNldENvbmZpZ3VyYXRp
b24KLSAgICAgICAgLmFwcGx5KHRoaXMucHRyLmdldFByb3h5KCksIGFyZ3VtZW50cyk7Ci0gIH07
Ci0KLSAgVXNiRGV2aWNlUHJveHkucHJvdG90eXBlLnNldENvbmZpZ3VyYXRpb24gPSBmdW5jdGlv
bih2YWx1ZSkgewotICAgIHZhciBwYXJhbXMgPSBuZXcgVXNiRGV2aWNlX1NldENvbmZpZ3VyYXRp
b25fUGFyYW1zKCk7Ci0gICAgcGFyYW1zLnZhbHVlID0gdmFsdWU7Ci0gICAgcmV0dXJuIG5ldyBQ
cm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewotICAgICAgdmFyIGJ1aWxkZXIgPSBu
ZXcgY29kZWMuTWVzc2FnZVYxQnVpbGRlcigKLSAgICAgICAgICBrVXNiRGV2aWNlX1NldENvbmZp
Z3VyYXRpb25fTmFtZSwKLSAgICAgICAgICBjb2RlYy5hbGlnbihVc2JEZXZpY2VfU2V0Q29uZmln
dXJhdGlvbl9QYXJhbXMuZW5jb2RlZFNpemUpLAotICAgICAgICAgIGNvZGVjLmtNZXNzYWdlRXhw
ZWN0c1Jlc3BvbnNlLCAwKTsKLSAgICAgIGJ1aWxkZXIuZW5jb2RlU3RydWN0KFVzYkRldmljZV9T
ZXRDb25maWd1cmF0aW9uX1BhcmFtcywgcGFyYW1zKTsKLSAgICAgIHZhciBtZXNzYWdlID0gYnVp
bGRlci5maW5pc2goKTsKLSAgICAgIHRoaXMucmVjZWl2ZXJfLmFjY2VwdEFuZEV4cGVjdFJlc3Bv
bnNlKG1lc3NhZ2UpLnRoZW4oZnVuY3Rpb24obWVzc2FnZSkgewotICAgICAgICB2YXIgcmVhZGVy
ID0gbmV3IGNvZGVjLk1lc3NhZ2VSZWFkZXIobWVzc2FnZSk7Ci0gICAgICAgIHZhciByZXNwb25z
ZVBhcmFtcyA9Ci0gICAgICAgICAgICByZWFkZXIuZGVjb2RlU3RydWN0KFVzYkRldmljZV9TZXRD
b25maWd1cmF0aW9uX1Jlc3BvbnNlUGFyYW1zKTsKLSAgICAgICAgcmVzb2x2ZShyZXNwb25zZVBh
cmFtcyk7Ci0gICAgICB9KS5jYXRjaChmdW5jdGlvbihyZXN1bHQpIHsKLSAgICAgICAgcmVqZWN0
KEVycm9yKCJDb25uZWN0aW9uIGVycm9yOiAiICsgcmVzdWx0KSk7Ci0gICAgICB9KTsKLSAgICB9
LmJpbmQodGhpcykpOwotICB9OwotICBVc2JEZXZpY2VQdHIucHJvdG90eXBlLmNsYWltSW50ZXJm
YWNlID0gZnVuY3Rpb24oKSB7Ci0gICAgcmV0dXJuIFVzYkRldmljZVByb3h5LnByb3RvdHlwZS5j
bGFpbUludGVyZmFjZQotICAgICAgICAuYXBwbHkodGhpcy5wdHIuZ2V0UHJveHkoKSwgYXJndW1l
bnRzKTsKLSAgfTsKLQotICBVc2JEZXZpY2VQcm94eS5wcm90b3R5cGUuY2xhaW1JbnRlcmZhY2Ug
PSBmdW5jdGlvbihpbnRlcmZhY2VOdW1iZXIpIHsKLSAgICB2YXIgcGFyYW1zID0gbmV3IFVzYkRl
dmljZV9DbGFpbUludGVyZmFjZV9QYXJhbXMoKTsKLSAgICBwYXJhbXMuaW50ZXJmYWNlTnVtYmVy
ID0gaW50ZXJmYWNlTnVtYmVyOwotICAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNv
bHZlLCByZWplY3QpIHsKLSAgICAgIHZhciBidWlsZGVyID0gbmV3IGNvZGVjLk1lc3NhZ2VWMUJ1
aWxkZXIoCi0gICAgICAgICAga1VzYkRldmljZV9DbGFpbUludGVyZmFjZV9OYW1lLAotICAgICAg
ICAgIGNvZGVjLmFsaWduKFVzYkRldmljZV9DbGFpbUludGVyZmFjZV9QYXJhbXMuZW5jb2RlZFNp
emUpLAotICAgICAgICAgIGNvZGVjLmtNZXNzYWdlRXhwZWN0c1Jlc3BvbnNlLCAwKTsKLSAgICAg
IGJ1aWxkZXIuZW5jb2RlU3RydWN0KFVzYkRldmljZV9DbGFpbUludGVyZmFjZV9QYXJhbXMsIHBh
cmFtcyk7Ci0gICAgICB2YXIgbWVzc2FnZSA9IGJ1aWxkZXIuZmluaXNoKCk7Ci0gICAgICB0aGlz
LnJlY2VpdmVyXy5hY2NlcHRBbmRFeHBlY3RSZXNwb25zZShtZXNzYWdlKS50aGVuKGZ1bmN0aW9u
KG1lc3NhZ2UpIHsKLSAgICAgICAgdmFyIHJlYWRlciA9IG5ldyBjb2RlYy5NZXNzYWdlUmVhZGVy
KG1lc3NhZ2UpOwotICAgICAgICB2YXIgcmVzcG9uc2VQYXJhbXMgPQotICAgICAgICAgICAgcmVh
ZGVyLmRlY29kZVN0cnVjdChVc2JEZXZpY2VfQ2xhaW1JbnRlcmZhY2VfUmVzcG9uc2VQYXJhbXMp
OwotICAgICAgICByZXNvbHZlKHJlc3BvbnNlUGFyYW1zKTsKLSAgICAgIH0pLmNhdGNoKGZ1bmN0
aW9uKHJlc3VsdCkgewotICAgICAgICByZWplY3QoRXJyb3IoIkNvbm5lY3Rpb24gZXJyb3I6ICIg
KyByZXN1bHQpKTsKLSAgICAgIH0pOwotICAgIH0uYmluZCh0aGlzKSk7Ci0gIH07Ci0gIFVzYkRl
dmljZVB0ci5wcm90b3R5cGUucmVsZWFzZUludGVyZmFjZSA9IGZ1bmN0aW9uKCkgewotICAgIHJl
dHVybiBVc2JEZXZpY2VQcm94eS5wcm90b3R5cGUucmVsZWFzZUludGVyZmFjZQotICAgICAgICAu
YXBwbHkodGhpcy5wdHIuZ2V0UHJveHkoKSwgYXJndW1lbnRzKTsKLSAgfTsKLQotICBVc2JEZXZp
Y2VQcm94eS5wcm90b3R5cGUucmVsZWFzZUludGVyZmFjZSA9IGZ1bmN0aW9uKGludGVyZmFjZU51
bWJlcikgewotICAgIHZhciBwYXJhbXMgPSBuZXcgVXNiRGV2aWNlX1JlbGVhc2VJbnRlcmZhY2Vf
UGFyYW1zKCk7Ci0gICAgcGFyYW1zLmludGVyZmFjZU51bWJlciA9IGludGVyZmFjZU51bWJlcjsK
LSAgICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7Ci0gICAg
ICB2YXIgYnVpbGRlciA9IG5ldyBjb2RlYy5NZXNzYWdlVjFCdWlsZGVyKAotICAgICAgICAgIGtV
c2JEZXZpY2VfUmVsZWFzZUludGVyZmFjZV9OYW1lLAotICAgICAgICAgIGNvZGVjLmFsaWduKFVz
YkRldmljZV9SZWxlYXNlSW50ZXJmYWNlX1BhcmFtcy5lbmNvZGVkU2l6ZSksCi0gICAgICAgICAg
Y29kZWMua01lc3NhZ2VFeHBlY3RzUmVzcG9uc2UsIDApOwotICAgICAgYnVpbGRlci5lbmNvZGVT
dHJ1Y3QoVXNiRGV2aWNlX1JlbGVhc2VJbnRlcmZhY2VfUGFyYW1zLCBwYXJhbXMpOwotICAgICAg
dmFyIG1lc3NhZ2UgPSBidWlsZGVyLmZpbmlzaCgpOwotICAgICAgdGhpcy5yZWNlaXZlcl8uYWNj
ZXB0QW5kRXhwZWN0UmVzcG9uc2UobWVzc2FnZSkudGhlbihmdW5jdGlvbihtZXNzYWdlKSB7Ci0g
ICAgICAgIHZhciByZWFkZXIgPSBuZXcgY29kZWMuTWVzc2FnZVJlYWRlcihtZXNzYWdlKTsKLSAg
ICAgICAgdmFyIHJlc3BvbnNlUGFyYW1zID0KLSAgICAgICAgICAgIHJlYWRlci5kZWNvZGVTdHJ1
Y3QoVXNiRGV2aWNlX1JlbGVhc2VJbnRlcmZhY2VfUmVzcG9uc2VQYXJhbXMpOwotICAgICAgICBy
ZXNvbHZlKHJlc3BvbnNlUGFyYW1zKTsKLSAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uKHJlc3VsdCkg
ewotICAgICAgICByZWplY3QoRXJyb3IoIkNvbm5lY3Rpb24gZXJyb3I6ICIgKyByZXN1bHQpKTsK
LSAgICAgIH0pOwotICAgIH0uYmluZCh0aGlzKSk7Ci0gIH07Ci0gIFVzYkRldmljZVB0ci5wcm90
b3R5cGUuc2V0SW50ZXJmYWNlQWx0ZXJuYXRlU2V0dGluZyA9IGZ1bmN0aW9uKCkgewotICAgIHJl
dHVybiBVc2JEZXZpY2VQcm94eS5wcm90b3R5cGUuc2V0SW50ZXJmYWNlQWx0ZXJuYXRlU2V0dGlu
ZwotICAgICAgICAuYXBwbHkodGhpcy5wdHIuZ2V0UHJveHkoKSwgYXJndW1lbnRzKTsKLSAgfTsK
LQotICBVc2JEZXZpY2VQcm94eS5wcm90b3R5cGUuc2V0SW50ZXJmYWNlQWx0ZXJuYXRlU2V0dGlu
ZyA9IGZ1bmN0aW9uKGludGVyZmFjZU51bWJlciwgYWx0ZXJuYXRlU2V0dGluZykgewotICAgIHZh
ciBwYXJhbXMgPSBuZXcgVXNiRGV2aWNlX1NldEludGVyZmFjZUFsdGVybmF0ZVNldHRpbmdfUGFy
YW1zKCk7Ci0gICAgcGFyYW1zLmludGVyZmFjZU51bWJlciA9IGludGVyZmFjZU51bWJlcjsKLSAg
ICBwYXJhbXMuYWx0ZXJuYXRlU2V0dGluZyA9IGFsdGVybmF0ZVNldHRpbmc7Ci0gICAgcmV0dXJu
IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewotICAgICAgdmFyIGJ1aWxk
ZXIgPSBuZXcgY29kZWMuTWVzc2FnZVYxQnVpbGRlcigKLSAgICAgICAgICBrVXNiRGV2aWNlX1Nl
dEludGVyZmFjZUFsdGVybmF0ZVNldHRpbmdfTmFtZSwKLSAgICAgICAgICBjb2RlYy5hbGlnbihV
c2JEZXZpY2VfU2V0SW50ZXJmYWNlQWx0ZXJuYXRlU2V0dGluZ19QYXJhbXMuZW5jb2RlZFNpemUp
LAotICAgICAgICAgIGNvZGVjLmtNZXNzYWdlRXhwZWN0c1Jlc3BvbnNlLCAwKTsKLSAgICAgIGJ1
aWxkZXIuZW5jb2RlU3RydWN0KFVzYkRldmljZV9TZXRJbnRlcmZhY2VBbHRlcm5hdGVTZXR0aW5n
X1BhcmFtcywgcGFyYW1zKTsKLSAgICAgIHZhciBtZXNzYWdlID0gYnVpbGRlci5maW5pc2goKTsK
LSAgICAgIHRoaXMucmVjZWl2ZXJfLmFjY2VwdEFuZEV4cGVjdFJlc3BvbnNlKG1lc3NhZ2UpLnRo
ZW4oZnVuY3Rpb24obWVzc2FnZSkgewotICAgICAgICB2YXIgcmVhZGVyID0gbmV3IGNvZGVjLk1l
c3NhZ2VSZWFkZXIobWVzc2FnZSk7Ci0gICAgICAgIHZhciByZXNwb25zZVBhcmFtcyA9Ci0gICAg
ICAgICAgICByZWFkZXIuZGVjb2RlU3RydWN0KFVzYkRldmljZV9TZXRJbnRlcmZhY2VBbHRlcm5h
dGVTZXR0aW5nX1Jlc3BvbnNlUGFyYW1zKTsKLSAgICAgICAgcmVzb2x2ZShyZXNwb25zZVBhcmFt
cyk7Ci0gICAgICB9KS5jYXRjaChmdW5jdGlvbihyZXN1bHQpIHsKLSAgICAgICAgcmVqZWN0KEVy
cm9yKCJDb25uZWN0aW9uIGVycm9yOiAiICsgcmVzdWx0KSk7Ci0gICAgICB9KTsKLSAgICB9LmJp
bmQodGhpcykpOwotICB9OwotICBVc2JEZXZpY2VQdHIucHJvdG90eXBlLnJlc2V0ID0gZnVuY3Rp
b24oKSB7Ci0gICAgcmV0dXJuIFVzYkRldmljZVByb3h5LnByb3RvdHlwZS5yZXNldAotICAgICAg
ICAuYXBwbHkodGhpcy5wdHIuZ2V0UHJveHkoKSwgYXJndW1lbnRzKTsKLSAgfTsKLQotICBVc2JE
ZXZpY2VQcm94eS5wcm90b3R5cGUucmVzZXQgPSBmdW5jdGlvbigpIHsKLSAgICB2YXIgcGFyYW1z
ID0gbmV3IFVzYkRldmljZV9SZXNldF9QYXJhbXMoKTsKLSAgICByZXR1cm4gbmV3IFByb21pc2Uo
ZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7Ci0gICAgICB2YXIgYnVpbGRlciA9IG5ldyBjb2Rl
Yy5NZXNzYWdlVjFCdWlsZGVyKAotICAgICAgICAgIGtVc2JEZXZpY2VfUmVzZXRfTmFtZSwKLSAg
ICAgICAgICBjb2RlYy5hbGlnbihVc2JEZXZpY2VfUmVzZXRfUGFyYW1zLmVuY29kZWRTaXplKSwK
LSAgICAgICAgICBjb2RlYy5rTWVzc2FnZUV4cGVjdHNSZXNwb25zZSwgMCk7Ci0gICAgICBidWls
ZGVyLmVuY29kZVN0cnVjdChVc2JEZXZpY2VfUmVzZXRfUGFyYW1zLCBwYXJhbXMpOwotICAgICAg
dmFyIG1lc3NhZ2UgPSBidWlsZGVyLmZpbmlzaCgpOwotICAgICAgdGhpcy5yZWNlaXZlcl8uYWNj
ZXB0QW5kRXhwZWN0UmVzcG9uc2UobWVzc2FnZSkudGhlbihmdW5jdGlvbihtZXNzYWdlKSB7Ci0g
ICAgICAgIHZhciByZWFkZXIgPSBuZXcgY29kZWMuTWVzc2FnZVJlYWRlcihtZXNzYWdlKTsKLSAg
ICAgICAgdmFyIHJlc3BvbnNlUGFyYW1zID0KLSAgICAgICAgICAgIHJlYWRlci5kZWNvZGVTdHJ1
Y3QoVXNiRGV2aWNlX1Jlc2V0X1Jlc3BvbnNlUGFyYW1zKTsKLSAgICAgICAgcmVzb2x2ZShyZXNw
b25zZVBhcmFtcyk7Ci0gICAgICB9KS5jYXRjaChmdW5jdGlvbihyZXN1bHQpIHsKLSAgICAgICAg
cmVqZWN0KEVycm9yKCJDb25uZWN0aW9uIGVycm9yOiAiICsgcmVzdWx0KSk7Ci0gICAgICB9KTsK
LSAgICB9LmJpbmQodGhpcykpOwotICB9OwotICBVc2JEZXZpY2VQdHIucHJvdG90eXBlLmNsZWFy
SGFsdCA9IGZ1bmN0aW9uKCkgewotICAgIHJldHVybiBVc2JEZXZpY2VQcm94eS5wcm90b3R5cGUu
Y2xlYXJIYWx0Ci0gICAgICAgIC5hcHBseSh0aGlzLnB0ci5nZXRQcm94eSgpLCBhcmd1bWVudHMp
OwotICB9OwotCi0gIFVzYkRldmljZVByb3h5LnByb3RvdHlwZS5jbGVhckhhbHQgPSBmdW5jdGlv
bihlbmRwb2ludCkgewotICAgIHZhciBwYXJhbXMgPSBuZXcgVXNiRGV2aWNlX0NsZWFySGFsdF9Q
YXJhbXMoKTsKLSAgICBwYXJhbXMuZW5kcG9pbnQgPSBlbmRwb2ludDsKLSAgICByZXR1cm4gbmV3
IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7Ci0gICAgICB2YXIgYnVpbGRlciA9
IG5ldyBjb2RlYy5NZXNzYWdlVjFCdWlsZGVyKAotICAgICAgICAgIGtVc2JEZXZpY2VfQ2xlYXJI
YWx0X05hbWUsCi0gICAgICAgICAgY29kZWMuYWxpZ24oVXNiRGV2aWNlX0NsZWFySGFsdF9QYXJh
bXMuZW5jb2RlZFNpemUpLAotICAgICAgICAgIGNvZGVjLmtNZXNzYWdlRXhwZWN0c1Jlc3BvbnNl
LCAwKTsKLSAgICAgIGJ1aWxkZXIuZW5jb2RlU3RydWN0KFVzYkRldmljZV9DbGVhckhhbHRfUGFy
YW1zLCBwYXJhbXMpOwotICAgICAgdmFyIG1lc3NhZ2UgPSBidWlsZGVyLmZpbmlzaCgpOwotICAg
ICAgdGhpcy5yZWNlaXZlcl8uYWNjZXB0QW5kRXhwZWN0UmVzcG9uc2UobWVzc2FnZSkudGhlbihm
dW5jdGlvbihtZXNzYWdlKSB7Ci0gICAgICAgIHZhciByZWFkZXIgPSBuZXcgY29kZWMuTWVzc2Fn
ZVJlYWRlcihtZXNzYWdlKTsKLSAgICAgICAgdmFyIHJlc3BvbnNlUGFyYW1zID0KLSAgICAgICAg
ICAgIHJlYWRlci5kZWNvZGVTdHJ1Y3QoVXNiRGV2aWNlX0NsZWFySGFsdF9SZXNwb25zZVBhcmFt
cyk7Ci0gICAgICAgIHJlc29sdmUocmVzcG9uc2VQYXJhbXMpOwotICAgICAgfSkuY2F0Y2goZnVu
Y3Rpb24ocmVzdWx0KSB7Ci0gICAgICAgIHJlamVjdChFcnJvcigiQ29ubmVjdGlvbiBlcnJvcjog
IiArIHJlc3VsdCkpOwotICAgICAgfSk7Ci0gICAgfS5iaW5kKHRoaXMpKTsKLSAgfTsKLSAgVXNi
RGV2aWNlUHRyLnByb3RvdHlwZS5jb250cm9sVHJhbnNmZXJJbiA9IGZ1bmN0aW9uKCkgewotICAg
IHJldHVybiBVc2JEZXZpY2VQcm94eS5wcm90b3R5cGUuY29udHJvbFRyYW5zZmVySW4KLSAgICAg
ICAgLmFwcGx5KHRoaXMucHRyLmdldFByb3h5KCksIGFyZ3VtZW50cyk7Ci0gIH07Ci0KLSAgVXNi
RGV2aWNlUHJveHkucHJvdG90eXBlLmNvbnRyb2xUcmFuc2ZlckluID0gZnVuY3Rpb24ocGFyYW1z
LCBsZW5ndGgsIHRpbWVvdXQpIHsKLSAgICB2YXIgcGFyYW1zID0gbmV3IFVzYkRldmljZV9Db250
cm9sVHJhbnNmZXJJbl9QYXJhbXMoKTsKLSAgICBwYXJhbXMucGFyYW1zID0gcGFyYW1zOwotICAg
IHBhcmFtcy5sZW5ndGggPSBsZW5ndGg7Ci0gICAgcGFyYW1zLnRpbWVvdXQgPSB0aW1lb3V0Owot
ICAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKLSAgICAg
IHZhciBidWlsZGVyID0gbmV3IGNvZGVjLk1lc3NhZ2VWMUJ1aWxkZXIoCi0gICAgICAgICAga1Vz
YkRldmljZV9Db250cm9sVHJhbnNmZXJJbl9OYW1lLAotICAgICAgICAgIGNvZGVjLmFsaWduKFVz
YkRldmljZV9Db250cm9sVHJhbnNmZXJJbl9QYXJhbXMuZW5jb2RlZFNpemUpLAotICAgICAgICAg
IGNvZGVjLmtNZXNzYWdlRXhwZWN0c1Jlc3BvbnNlLCAwKTsKLSAgICAgIGJ1aWxkZXIuZW5jb2Rl
U3RydWN0KFVzYkRldmljZV9Db250cm9sVHJhbnNmZXJJbl9QYXJhbXMsIHBhcmFtcyk7Ci0gICAg
ICB2YXIgbWVzc2FnZSA9IGJ1aWxkZXIuZmluaXNoKCk7Ci0gICAgICB0aGlzLnJlY2VpdmVyXy5h
Y2NlcHRBbmRFeHBlY3RSZXNwb25zZShtZXNzYWdlKS50aGVuKGZ1bmN0aW9uKG1lc3NhZ2UpIHsK
LSAgICAgICAgdmFyIHJlYWRlciA9IG5ldyBjb2RlYy5NZXNzYWdlUmVhZGVyKG1lc3NhZ2UpOwot
ICAgICAgICB2YXIgcmVzcG9uc2VQYXJhbXMgPQotICAgICAgICAgICAgcmVhZGVyLmRlY29kZVN0
cnVjdChVc2JEZXZpY2VfQ29udHJvbFRyYW5zZmVySW5fUmVzcG9uc2VQYXJhbXMpOwotICAgICAg
ICByZXNvbHZlKHJlc3BvbnNlUGFyYW1zKTsKLSAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uKHJlc3Vs
dCkgewotICAgICAgICByZWplY3QoRXJyb3IoIkNvbm5lY3Rpb24gZXJyb3I6ICIgKyByZXN1bHQp
KTsKLSAgICAgIH0pOwotICAgIH0uYmluZCh0aGlzKSk7Ci0gIH07Ci0gIFVzYkRldmljZVB0ci5w
cm90b3R5cGUuY29udHJvbFRyYW5zZmVyT3V0ID0gZnVuY3Rpb24oKSB7Ci0gICAgcmV0dXJuIFVz
YkRldmljZVByb3h5LnByb3RvdHlwZS5jb250cm9sVHJhbnNmZXJPdXQKLSAgICAgICAgLmFwcGx5
KHRoaXMucHRyLmdldFByb3h5KCksIGFyZ3VtZW50cyk7Ci0gIH07Ci0KLSAgVXNiRGV2aWNlUHJv
eHkucHJvdG90eXBlLmNvbnRyb2xUcmFuc2Zlck91dCA9IGZ1bmN0aW9uKHBhcmFtcywgZGF0YSwg
dGltZW91dCkgewotICAgIHZhciBwYXJhbXMgPSBuZXcgVXNiRGV2aWNlX0NvbnRyb2xUcmFuc2Zl
ck91dF9QYXJhbXMoKTsKLSAgICBwYXJhbXMucGFyYW1zID0gcGFyYW1zOwotICAgIHBhcmFtcy5k
YXRhID0gZGF0YTsKLSAgICBwYXJhbXMudGltZW91dCA9IHRpbWVvdXQ7Ci0gICAgcmV0dXJuIG5l
dyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewotICAgICAgdmFyIGJ1aWxkZXIg
PSBuZXcgY29kZWMuTWVzc2FnZVYxQnVpbGRlcigKLSAgICAgICAgICBrVXNiRGV2aWNlX0NvbnRy
b2xUcmFuc2Zlck91dF9OYW1lLAotICAgICAgICAgIGNvZGVjLmFsaWduKFVzYkRldmljZV9Db250
cm9sVHJhbnNmZXJPdXRfUGFyYW1zLmVuY29kZWRTaXplKSwKLSAgICAgICAgICBjb2RlYy5rTWVz
c2FnZUV4cGVjdHNSZXNwb25zZSwgMCk7Ci0gICAgICBidWlsZGVyLmVuY29kZVN0cnVjdChVc2JE
ZXZpY2VfQ29udHJvbFRyYW5zZmVyT3V0X1BhcmFtcywgcGFyYW1zKTsKLSAgICAgIHZhciBtZXNz
YWdlID0gYnVpbGRlci5maW5pc2goKTsKLSAgICAgIHRoaXMucmVjZWl2ZXJfLmFjY2VwdEFuZEV4
cGVjdFJlc3BvbnNlKG1lc3NhZ2UpLnRoZW4oZnVuY3Rpb24obWVzc2FnZSkgewotICAgICAgICB2
YXIgcmVhZGVyID0gbmV3IGNvZGVjLk1lc3NhZ2VSZWFkZXIobWVzc2FnZSk7Ci0gICAgICAgIHZh
ciByZXNwb25zZVBhcmFtcyA9Ci0gICAgICAgICAgICByZWFkZXIuZGVjb2RlU3RydWN0KFVzYkRl
dmljZV9Db250cm9sVHJhbnNmZXJPdXRfUmVzcG9uc2VQYXJhbXMpOwotICAgICAgICByZXNvbHZl
KHJlc3BvbnNlUGFyYW1zKTsKLSAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uKHJlc3VsdCkgewotICAg
ICAgICByZWplY3QoRXJyb3IoIkNvbm5lY3Rpb24gZXJyb3I6ICIgKyByZXN1bHQpKTsKLSAgICAg
IH0pOwotICAgIH0uYmluZCh0aGlzKSk7Ci0gIH07Ci0gIFVzYkRldmljZVB0ci5wcm90b3R5cGUu
Z2VuZXJpY1RyYW5zZmVySW4gPSBmdW5jdGlvbigpIHsKLSAgICByZXR1cm4gVXNiRGV2aWNlUHJv
eHkucHJvdG90eXBlLmdlbmVyaWNUcmFuc2ZlckluCi0gICAgICAgIC5hcHBseSh0aGlzLnB0ci5n
ZXRQcm94eSgpLCBhcmd1bWVudHMpOwotICB9OwotCi0gIFVzYkRldmljZVByb3h5LnByb3RvdHlw
ZS5nZW5lcmljVHJhbnNmZXJJbiA9IGZ1bmN0aW9uKGVuZHBvaW50TnVtYmVyLCBsZW5ndGgsIHRp
bWVvdXQpIHsKLSAgICB2YXIgcGFyYW1zID0gbmV3IFVzYkRldmljZV9HZW5lcmljVHJhbnNmZXJJ
bl9QYXJhbXMoKTsKLSAgICBwYXJhbXMuZW5kcG9pbnROdW1iZXIgPSBlbmRwb2ludE51bWJlcjsK
LSAgICBwYXJhbXMubGVuZ3RoID0gbGVuZ3RoOwotICAgIHBhcmFtcy50aW1lb3V0ID0gdGltZW91
dDsKLSAgICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7Ci0g
ICAgICB2YXIgYnVpbGRlciA9IG5ldyBjb2RlYy5NZXNzYWdlVjFCdWlsZGVyKAotICAgICAgICAg
IGtVc2JEZXZpY2VfR2VuZXJpY1RyYW5zZmVySW5fTmFtZSwKLSAgICAgICAgICBjb2RlYy5hbGln
bihVc2JEZXZpY2VfR2VuZXJpY1RyYW5zZmVySW5fUGFyYW1zLmVuY29kZWRTaXplKSwKLSAgICAg
ICAgICBjb2RlYy5rTWVzc2FnZUV4cGVjdHNSZXNwb25zZSwgMCk7Ci0gICAgICBidWlsZGVyLmVu
Y29kZVN0cnVjdChVc2JEZXZpY2VfR2VuZXJpY1RyYW5zZmVySW5fUGFyYW1zLCBwYXJhbXMpOwot
ICAgICAgdmFyIG1lc3NhZ2UgPSBidWlsZGVyLmZpbmlzaCgpOwotICAgICAgdGhpcy5yZWNlaXZl
cl8uYWNjZXB0QW5kRXhwZWN0UmVzcG9uc2UobWVzc2FnZSkudGhlbihmdW5jdGlvbihtZXNzYWdl
KSB7Ci0gICAgICAgIHZhciByZWFkZXIgPSBuZXcgY29kZWMuTWVzc2FnZVJlYWRlcihtZXNzYWdl
KTsKLSAgICAgICAgdmFyIHJlc3BvbnNlUGFyYW1zID0KLSAgICAgICAgICAgIHJlYWRlci5kZWNv
ZGVTdHJ1Y3QoVXNiRGV2aWNlX0dlbmVyaWNUcmFuc2ZlckluX1Jlc3BvbnNlUGFyYW1zKTsKLSAg
ICAgICAgcmVzb2x2ZShyZXNwb25zZVBhcmFtcyk7Ci0gICAgICB9KS5jYXRjaChmdW5jdGlvbihy
ZXN1bHQpIHsKLSAgICAgICAgcmVqZWN0KEVycm9yKCJDb25uZWN0aW9uIGVycm9yOiAiICsgcmVz
dWx0KSk7Ci0gICAgICB9KTsKLSAgICB9LmJpbmQodGhpcykpOwotICB9OwotICBVc2JEZXZpY2VQ
dHIucHJvdG90eXBlLmdlbmVyaWNUcmFuc2Zlck91dCA9IGZ1bmN0aW9uKCkgewotICAgIHJldHVy
biBVc2JEZXZpY2VQcm94eS5wcm90b3R5cGUuZ2VuZXJpY1RyYW5zZmVyT3V0Ci0gICAgICAgIC5h
cHBseSh0aGlzLnB0ci5nZXRQcm94eSgpLCBhcmd1bWVudHMpOwotICB9OwotCi0gIFVzYkRldmlj
ZVByb3h5LnByb3RvdHlwZS5nZW5lcmljVHJhbnNmZXJPdXQgPSBmdW5jdGlvbihlbmRwb2ludE51
bWJlciwgZGF0YSwgdGltZW91dCkgewotICAgIHZhciBwYXJhbXMgPSBuZXcgVXNiRGV2aWNlX0dl
bmVyaWNUcmFuc2Zlck91dF9QYXJhbXMoKTsKLSAgICBwYXJhbXMuZW5kcG9pbnROdW1iZXIgPSBl
bmRwb2ludE51bWJlcjsKLSAgICBwYXJhbXMuZGF0YSA9IGRhdGE7Ci0gICAgcGFyYW1zLnRpbWVv
dXQgPSB0aW1lb3V0OwotICAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCBy
ZWplY3QpIHsKLSAgICAgIHZhciBidWlsZGVyID0gbmV3IGNvZGVjLk1lc3NhZ2VWMUJ1aWxkZXIo
Ci0gICAgICAgICAga1VzYkRldmljZV9HZW5lcmljVHJhbnNmZXJPdXRfTmFtZSwKLSAgICAgICAg
ICBjb2RlYy5hbGlnbihVc2JEZXZpY2VfR2VuZXJpY1RyYW5zZmVyT3V0X1BhcmFtcy5lbmNvZGVk
U2l6ZSksCi0gICAgICAgICAgY29kZWMua01lc3NhZ2VFeHBlY3RzUmVzcG9uc2UsIDApOwotICAg
ICAgYnVpbGRlci5lbmNvZGVTdHJ1Y3QoVXNiRGV2aWNlX0dlbmVyaWNUcmFuc2Zlck91dF9QYXJh
bXMsIHBhcmFtcyk7Ci0gICAgICB2YXIgbWVzc2FnZSA9IGJ1aWxkZXIuZmluaXNoKCk7Ci0gICAg
ICB0aGlzLnJlY2VpdmVyXy5hY2NlcHRBbmRFeHBlY3RSZXNwb25zZShtZXNzYWdlKS50aGVuKGZ1
bmN0aW9uKG1lc3NhZ2UpIHsKLSAgICAgICAgdmFyIHJlYWRlciA9IG5ldyBjb2RlYy5NZXNzYWdl
UmVhZGVyKG1lc3NhZ2UpOwotICAgICAgICB2YXIgcmVzcG9uc2VQYXJhbXMgPQotICAgICAgICAg
ICAgcmVhZGVyLmRlY29kZVN0cnVjdChVc2JEZXZpY2VfR2VuZXJpY1RyYW5zZmVyT3V0X1Jlc3Bv
bnNlUGFyYW1zKTsKLSAgICAgICAgcmVzb2x2ZShyZXNwb25zZVBhcmFtcyk7Ci0gICAgICB9KS5j
YXRjaChmdW5jdGlvbihyZXN1bHQpIHsKLSAgICAgICAgcmVqZWN0KEVycm9yKCJDb25uZWN0aW9u
IGVycm9yOiAiICsgcmVzdWx0KSk7Ci0gICAgICB9KTsKLSAgICB9LmJpbmQodGhpcykpOwotICB9
OwotICBVc2JEZXZpY2VQdHIucHJvdG90eXBlLmlzb2Nocm9ub3VzVHJhbnNmZXJJbiA9IGZ1bmN0
aW9uKCkgewotICAgIHJldHVybiBVc2JEZXZpY2VQcm94eS5wcm90b3R5cGUuaXNvY2hyb25vdXNU
cmFuc2ZlckluCi0gICAgICAgIC5hcHBseSh0aGlzLnB0ci5nZXRQcm94eSgpLCBhcmd1bWVudHMp
OwotICB9OwotCi0gIFVzYkRldmljZVByb3h5LnByb3RvdHlwZS5pc29jaHJvbm91c1RyYW5zZmVy
SW4gPSBmdW5jdGlvbihlbmRwb2ludE51bWJlciwgcGFja2V0TGVuZ3RocywgdGltZW91dCkgewot
ICAgIHZhciBwYXJhbXMgPSBuZXcgVXNiRGV2aWNlX0lzb2Nocm9ub3VzVHJhbnNmZXJJbl9QYXJh
bXMoKTsKLSAgICBwYXJhbXMuZW5kcG9pbnROdW1iZXIgPSBlbmRwb2ludE51bWJlcjsKLSAgICBw
YXJhbXMucGFja2V0TGVuZ3RocyA9IHBhY2tldExlbmd0aHM7Ci0gICAgcGFyYW1zLnRpbWVvdXQg
PSB0aW1lb3V0OwotICAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWpl
Y3QpIHsKLSAgICAgIHZhciBidWlsZGVyID0gbmV3IGNvZGVjLk1lc3NhZ2VWMUJ1aWxkZXIoCi0g
ICAgICAgICAga1VzYkRldmljZV9Jc29jaHJvbm91c1RyYW5zZmVySW5fTmFtZSwKLSAgICAgICAg
ICBjb2RlYy5hbGlnbihVc2JEZXZpY2VfSXNvY2hyb25vdXNUcmFuc2ZlckluX1BhcmFtcy5lbmNv
ZGVkU2l6ZSksCi0gICAgICAgICAgY29kZWMua01lc3NhZ2VFeHBlY3RzUmVzcG9uc2UsIDApOwot
ICAgICAgYnVpbGRlci5lbmNvZGVTdHJ1Y3QoVXNiRGV2aWNlX0lzb2Nocm9ub3VzVHJhbnNmZXJJ
bl9QYXJhbXMsIHBhcmFtcyk7Ci0gICAgICB2YXIgbWVzc2FnZSA9IGJ1aWxkZXIuZmluaXNoKCk7
Ci0gICAgICB0aGlzLnJlY2VpdmVyXy5hY2NlcHRBbmRFeHBlY3RSZXNwb25zZShtZXNzYWdlKS50
aGVuKGZ1bmN0aW9uKG1lc3NhZ2UpIHsKLSAgICAgICAgdmFyIHJlYWRlciA9IG5ldyBjb2RlYy5N
ZXNzYWdlUmVhZGVyKG1lc3NhZ2UpOwotICAgICAgICB2YXIgcmVzcG9uc2VQYXJhbXMgPQotICAg
ICAgICAgICAgcmVhZGVyLmRlY29kZVN0cnVjdChVc2JEZXZpY2VfSXNvY2hyb25vdXNUcmFuc2Zl
ckluX1Jlc3BvbnNlUGFyYW1zKTsKLSAgICAgICAgcmVzb2x2ZShyZXNwb25zZVBhcmFtcyk7Ci0g
ICAgICB9KS5jYXRjaChmdW5jdGlvbihyZXN1bHQpIHsKLSAgICAgICAgcmVqZWN0KEVycm9yKCJD
b25uZWN0aW9uIGVycm9yOiAiICsgcmVzdWx0KSk7Ci0gICAgICB9KTsKLSAgICB9LmJpbmQodGhp
cykpOwotICB9OwotICBVc2JEZXZpY2VQdHIucHJvdG90eXBlLmlzb2Nocm9ub3VzVHJhbnNmZXJP
dXQgPSBmdW5jdGlvbigpIHsKLSAgICByZXR1cm4gVXNiRGV2aWNlUHJveHkucHJvdG90eXBlLmlz
b2Nocm9ub3VzVHJhbnNmZXJPdXQKLSAgICAgICAgLmFwcGx5KHRoaXMucHRyLmdldFByb3h5KCks
IGFyZ3VtZW50cyk7Ci0gIH07Ci0KLSAgVXNiRGV2aWNlUHJveHkucHJvdG90eXBlLmlzb2Nocm9u
b3VzVHJhbnNmZXJPdXQgPSBmdW5jdGlvbihlbmRwb2ludE51bWJlciwgZGF0YSwgcGFja2V0TGVu
Z3RocywgdGltZW91dCkgewotICAgIHZhciBwYXJhbXMgPSBuZXcgVXNiRGV2aWNlX0lzb2Nocm9u
b3VzVHJhbnNmZXJPdXRfUGFyYW1zKCk7Ci0gICAgcGFyYW1zLmVuZHBvaW50TnVtYmVyID0gZW5k
cG9pbnROdW1iZXI7Ci0gICAgcGFyYW1zLmRhdGEgPSBkYXRhOwotICAgIHBhcmFtcy5wYWNrZXRM
ZW5ndGhzID0gcGFja2V0TGVuZ3RoczsKLSAgICBwYXJhbXMudGltZW91dCA9IHRpbWVvdXQ7Ci0g
ICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewotICAgICAg
dmFyIGJ1aWxkZXIgPSBuZXcgY29kZWMuTWVzc2FnZVYxQnVpbGRlcigKLSAgICAgICAgICBrVXNi
RGV2aWNlX0lzb2Nocm9ub3VzVHJhbnNmZXJPdXRfTmFtZSwKLSAgICAgICAgICBjb2RlYy5hbGln
bihVc2JEZXZpY2VfSXNvY2hyb25vdXNUcmFuc2Zlck91dF9QYXJhbXMuZW5jb2RlZFNpemUpLAot
ICAgICAgICAgIGNvZGVjLmtNZXNzYWdlRXhwZWN0c1Jlc3BvbnNlLCAwKTsKLSAgICAgIGJ1aWxk
ZXIuZW5jb2RlU3RydWN0KFVzYkRldmljZV9Jc29jaHJvbm91c1RyYW5zZmVyT3V0X1BhcmFtcywg
cGFyYW1zKTsKLSAgICAgIHZhciBtZXNzYWdlID0gYnVpbGRlci5maW5pc2goKTsKLSAgICAgIHRo
aXMucmVjZWl2ZXJfLmFjY2VwdEFuZEV4cGVjdFJlc3BvbnNlKG1lc3NhZ2UpLnRoZW4oZnVuY3Rp
b24obWVzc2FnZSkgewotICAgICAgICB2YXIgcmVhZGVyID0gbmV3IGNvZGVjLk1lc3NhZ2VSZWFk
ZXIobWVzc2FnZSk7Ci0gICAgICAgIHZhciByZXNwb25zZVBhcmFtcyA9Ci0gICAgICAgICAgICBy
ZWFkZXIuZGVjb2RlU3RydWN0KFVzYkRldmljZV9Jc29jaHJvbm91c1RyYW5zZmVyT3V0X1Jlc3Bv
bnNlUGFyYW1zKTsKLSAgICAgICAgcmVzb2x2ZShyZXNwb25zZVBhcmFtcyk7Ci0gICAgICB9KS5j
YXRjaChmdW5jdGlvbihyZXN1bHQpIHsKLSAgICAgICAgcmVqZWN0KEVycm9yKCJDb25uZWN0aW9u
IGVycm9yOiAiICsgcmVzdWx0KSk7Ci0gICAgICB9KTsKLSAgICB9LmJpbmQodGhpcykpOwotICB9
OwotCi0gIGZ1bmN0aW9uIFVzYkRldmljZVN0dWIoZGVsZWdhdGUpIHsKLSAgICB0aGlzLmRlbGVn
YXRlXyA9IGRlbGVnYXRlOwotICB9Ci0gIFVzYkRldmljZVN0dWIucHJvdG90eXBlLm9wZW4gPSBm
dW5jdGlvbigpIHsKLSAgICByZXR1cm4gdGhpcy5kZWxlZ2F0ZV8gJiYgdGhpcy5kZWxlZ2F0ZV8u
b3BlbiAmJiB0aGlzLmRlbGVnYXRlXy5vcGVuKCk7Ci0gIH0KLSAgVXNiRGV2aWNlU3R1Yi5wcm90
b3R5cGUuY2xvc2UgPSBmdW5jdGlvbigpIHsKLSAgICByZXR1cm4gdGhpcy5kZWxlZ2F0ZV8gJiYg
dGhpcy5kZWxlZ2F0ZV8uY2xvc2UgJiYgdGhpcy5kZWxlZ2F0ZV8uY2xvc2UoKTsKLSAgfQotICBV
c2JEZXZpY2VTdHViLnByb3RvdHlwZS5zZXRDb25maWd1cmF0aW9uID0gZnVuY3Rpb24odmFsdWUp
IHsKLSAgICByZXR1cm4gdGhpcy5kZWxlZ2F0ZV8gJiYgdGhpcy5kZWxlZ2F0ZV8uc2V0Q29uZmln
dXJhdGlvbiAmJiB0aGlzLmRlbGVnYXRlXy5zZXRDb25maWd1cmF0aW9uKHZhbHVlKTsKLSAgfQot
ICBVc2JEZXZpY2VTdHViLnByb3RvdHlwZS5jbGFpbUludGVyZmFjZSA9IGZ1bmN0aW9uKGludGVy
ZmFjZU51bWJlcikgewotICAgIHJldHVybiB0aGlzLmRlbGVnYXRlXyAmJiB0aGlzLmRlbGVnYXRl
Xy5jbGFpbUludGVyZmFjZSAmJiB0aGlzLmRlbGVnYXRlXy5jbGFpbUludGVyZmFjZShpbnRlcmZh
Y2VOdW1iZXIpOwotICB9Ci0gIFVzYkRldmljZVN0dWIucHJvdG90eXBlLnJlbGVhc2VJbnRlcmZh
Y2UgPSBmdW5jdGlvbihpbnRlcmZhY2VOdW1iZXIpIHsKLSAgICByZXR1cm4gdGhpcy5kZWxlZ2F0
ZV8gJiYgdGhpcy5kZWxlZ2F0ZV8ucmVsZWFzZUludGVyZmFjZSAmJiB0aGlzLmRlbGVnYXRlXy5y
ZWxlYXNlSW50ZXJmYWNlKGludGVyZmFjZU51bWJlcik7Ci0gIH0KLSAgVXNiRGV2aWNlU3R1Yi5w
cm90b3R5cGUuc2V0SW50ZXJmYWNlQWx0ZXJuYXRlU2V0dGluZyA9IGZ1bmN0aW9uKGludGVyZmFj
ZU51bWJlciwgYWx0ZXJuYXRlU2V0dGluZykgewotICAgIHJldHVybiB0aGlzLmRlbGVnYXRlXyAm
JiB0aGlzLmRlbGVnYXRlXy5zZXRJbnRlcmZhY2VBbHRlcm5hdGVTZXR0aW5nICYmIHRoaXMuZGVs
ZWdhdGVfLnNldEludGVyZmFjZUFsdGVybmF0ZVNldHRpbmcoaW50ZXJmYWNlTnVtYmVyLCBhbHRl
cm5hdGVTZXR0aW5nKTsKLSAgfQotICBVc2JEZXZpY2VTdHViLnByb3RvdHlwZS5yZXNldCA9IGZ1
bmN0aW9uKCkgewotICAgIHJldHVybiB0aGlzLmRlbGVnYXRlXyAmJiB0aGlzLmRlbGVnYXRlXy5y
ZXNldCAmJiB0aGlzLmRlbGVnYXRlXy5yZXNldCgpOwotICB9Ci0gIFVzYkRldmljZVN0dWIucHJv
dG90eXBlLmNsZWFySGFsdCA9IGZ1bmN0aW9uKGVuZHBvaW50KSB7Ci0gICAgcmV0dXJuIHRoaXMu
ZGVsZWdhdGVfICYmIHRoaXMuZGVsZWdhdGVfLmNsZWFySGFsdCAmJiB0aGlzLmRlbGVnYXRlXy5j
bGVhckhhbHQoZW5kcG9pbnQpOwotICB9Ci0gIFVzYkRldmljZVN0dWIucHJvdG90eXBlLmNvbnRy
b2xUcmFuc2ZlckluID0gZnVuY3Rpb24ocGFyYW1zLCBsZW5ndGgsIHRpbWVvdXQpIHsKLSAgICBy
ZXR1cm4gdGhpcy5kZWxlZ2F0ZV8gJiYgdGhpcy5kZWxlZ2F0ZV8uY29udHJvbFRyYW5zZmVySW4g
JiYgdGhpcy5kZWxlZ2F0ZV8uY29udHJvbFRyYW5zZmVySW4ocGFyYW1zLCBsZW5ndGgsIHRpbWVv
dXQpOwotICB9Ci0gIFVzYkRldmljZVN0dWIucHJvdG90eXBlLmNvbnRyb2xUcmFuc2Zlck91dCA9
IGZ1bmN0aW9uKHBhcmFtcywgZGF0YSwgdGltZW91dCkgewotICAgIHJldHVybiB0aGlzLmRlbGVn
YXRlXyAmJiB0aGlzLmRlbGVnYXRlXy5jb250cm9sVHJhbnNmZXJPdXQgJiYgdGhpcy5kZWxlZ2F0
ZV8uY29udHJvbFRyYW5zZmVyT3V0KHBhcmFtcywgZGF0YSwgdGltZW91dCk7Ci0gIH0KLSAgVXNi
RGV2aWNlU3R1Yi5wcm90b3R5cGUuZ2VuZXJpY1RyYW5zZmVySW4gPSBmdW5jdGlvbihlbmRwb2lu
dE51bWJlciwgbGVuZ3RoLCB0aW1lb3V0KSB7Ci0gICAgcmV0dXJuIHRoaXMuZGVsZWdhdGVfICYm
IHRoaXMuZGVsZWdhdGVfLmdlbmVyaWNUcmFuc2ZlckluICYmIHRoaXMuZGVsZWdhdGVfLmdlbmVy
aWNUcmFuc2ZlckluKGVuZHBvaW50TnVtYmVyLCBsZW5ndGgsIHRpbWVvdXQpOwotICB9Ci0gIFVz
YkRldmljZVN0dWIucHJvdG90eXBlLmdlbmVyaWNUcmFuc2Zlck91dCA9IGZ1bmN0aW9uKGVuZHBv
aW50TnVtYmVyLCBkYXRhLCB0aW1lb3V0KSB7Ci0gICAgcmV0dXJuIHRoaXMuZGVsZWdhdGVfICYm
IHRoaXMuZGVsZWdhdGVfLmdlbmVyaWNUcmFuc2Zlck91dCAmJiB0aGlzLmRlbGVnYXRlXy5nZW5l
cmljVHJhbnNmZXJPdXQoZW5kcG9pbnROdW1iZXIsIGRhdGEsIHRpbWVvdXQpOwotICB9Ci0gIFVz
YkRldmljZVN0dWIucHJvdG90eXBlLmlzb2Nocm9ub3VzVHJhbnNmZXJJbiA9IGZ1bmN0aW9uKGVu
ZHBvaW50TnVtYmVyLCBwYWNrZXRMZW5ndGhzLCB0aW1lb3V0KSB7Ci0gICAgcmV0dXJuIHRoaXMu
ZGVsZWdhdGVfICYmIHRoaXMuZGVsZWdhdGVfLmlzb2Nocm9ub3VzVHJhbnNmZXJJbiAmJiB0aGlz
LmRlbGVnYXRlXy5pc29jaHJvbm91c1RyYW5zZmVySW4oZW5kcG9pbnROdW1iZXIsIHBhY2tldExl
bmd0aHMsIHRpbWVvdXQpOwotICB9Ci0gIFVzYkRldmljZVN0dWIucHJvdG90eXBlLmlzb2Nocm9u
b3VzVHJhbnNmZXJPdXQgPSBmdW5jdGlvbihlbmRwb2ludE51bWJlciwgZGF0YSwgcGFja2V0TGVu
Z3RocywgdGltZW91dCkgewotICAgIHJldHVybiB0aGlzLmRlbGVnYXRlXyAmJiB0aGlzLmRlbGVn
YXRlXy5pc29jaHJvbm91c1RyYW5zZmVyT3V0ICYmIHRoaXMuZGVsZWdhdGVfLmlzb2Nocm9ub3Vz
VHJhbnNmZXJPdXQoZW5kcG9pbnROdW1iZXIsIGRhdGEsIHBhY2tldExlbmd0aHMsIHRpbWVvdXQp
OwotICB9Ci0KLSAgVXNiRGV2aWNlU3R1Yi5wcm90b3R5cGUuYWNjZXB0ID0gZnVuY3Rpb24obWVz
c2FnZSkgewotICAgIHZhciByZWFkZXIgPSBuZXcgY29kZWMuTWVzc2FnZVJlYWRlcihtZXNzYWdl
KTsKLSAgICBzd2l0Y2ggKHJlYWRlci5tZXNzYWdlTmFtZSkgewotICAgIGRlZmF1bHQ6Ci0gICAg
ICByZXR1cm4gZmFsc2U7Ci0gICAgfQotICB9OwotCi0gIFVzYkRldmljZVN0dWIucHJvdG90eXBl
LmFjY2VwdFdpdGhSZXNwb25kZXIgPQotICAgICAgZnVuY3Rpb24obWVzc2FnZSwgcmVzcG9uZGVy
KSB7Ci0gICAgdmFyIHJlYWRlciA9IG5ldyBjb2RlYy5NZXNzYWdlUmVhZGVyKG1lc3NhZ2UpOwot
ICAgIHN3aXRjaCAocmVhZGVyLm1lc3NhZ2VOYW1lKSB7Ci0gICAgY2FzZSBrVXNiRGV2aWNlX09w
ZW5fTmFtZToKLSAgICAgIHZhciBwYXJhbXMgPSByZWFkZXIuZGVjb2RlU3RydWN0KFVzYkRldmlj
ZV9PcGVuX1BhcmFtcyk7Ci0gICAgICB0aGlzLm9wZW4oKS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNl
KSB7Ci0gICAgICAgIHZhciByZXNwb25zZVBhcmFtcyA9Ci0gICAgICAgICAgICBuZXcgVXNiRGV2
aWNlX09wZW5fUmVzcG9uc2VQYXJhbXMoKTsKLSAgICAgICAgcmVzcG9uc2VQYXJhbXMuZXJyb3Ig
PSByZXNwb25zZS5lcnJvcjsKLSAgICAgICAgdmFyIGJ1aWxkZXIgPSBuZXcgY29kZWMuTWVzc2Fn
ZVYxQnVpbGRlcigKLSAgICAgICAgICAgIGtVc2JEZXZpY2VfT3Blbl9OYW1lLAotICAgICAgICAg
ICAgY29kZWMuYWxpZ24oVXNiRGV2aWNlX09wZW5fUmVzcG9uc2VQYXJhbXMuZW5jb2RlZFNpemUp
LAotICAgICAgICAgICAgY29kZWMua01lc3NhZ2VJc1Jlc3BvbnNlLCByZWFkZXIucmVxdWVzdElE
KTsKLSAgICAgICAgYnVpbGRlci5lbmNvZGVTdHJ1Y3QoVXNiRGV2aWNlX09wZW5fUmVzcG9uc2VQ
YXJhbXMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlUGFyYW1zKTsKLSAg
ICAgICAgdmFyIG1lc3NhZ2UgPSBidWlsZGVyLmZpbmlzaCgpOwotICAgICAgICByZXNwb25kZXIu
YWNjZXB0KG1lc3NhZ2UpOwotICAgICAgfSk7Ci0gICAgICByZXR1cm4gdHJ1ZTsKLSAgICBjYXNl
IGtVc2JEZXZpY2VfQ2xvc2VfTmFtZToKLSAgICAgIHZhciBwYXJhbXMgPSByZWFkZXIuZGVjb2Rl
U3RydWN0KFVzYkRldmljZV9DbG9zZV9QYXJhbXMpOwotICAgICAgdGhpcy5jbG9zZSgpLnRoZW4o
ZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICAgICAgdmFyIHJlc3BvbnNlUGFyYW1zID0KLSAgICAg
ICAgICAgIG5ldyBVc2JEZXZpY2VfQ2xvc2VfUmVzcG9uc2VQYXJhbXMoKTsKLSAgICAgICAgdmFy
IGJ1aWxkZXIgPSBuZXcgY29kZWMuTWVzc2FnZVYxQnVpbGRlcigKLSAgICAgICAgICAgIGtVc2JE
ZXZpY2VfQ2xvc2VfTmFtZSwKLSAgICAgICAgICAgIGNvZGVjLmFsaWduKFVzYkRldmljZV9DbG9z
ZV9SZXNwb25zZVBhcmFtcy5lbmNvZGVkU2l6ZSksCi0gICAgICAgICAgICBjb2RlYy5rTWVzc2Fn
ZUlzUmVzcG9uc2UsIHJlYWRlci5yZXF1ZXN0SUQpOwotICAgICAgICBidWlsZGVyLmVuY29kZVN0
cnVjdChVc2JEZXZpY2VfQ2xvc2VfUmVzcG9uc2VQYXJhbXMsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHJlc3BvbnNlUGFyYW1zKTsKLSAgICAgICAgdmFyIG1lc3NhZ2UgPSBidWlsZGVy
LmZpbmlzaCgpOwotICAgICAgICByZXNwb25kZXIuYWNjZXB0KG1lc3NhZ2UpOwotICAgICAgfSk7
Ci0gICAgICByZXR1cm4gdHJ1ZTsKLSAgICBjYXNlIGtVc2JEZXZpY2VfU2V0Q29uZmlndXJhdGlv
bl9OYW1lOgotICAgICAgdmFyIHBhcmFtcyA9IHJlYWRlci5kZWNvZGVTdHJ1Y3QoVXNiRGV2aWNl
X1NldENvbmZpZ3VyYXRpb25fUGFyYW1zKTsKLSAgICAgIHRoaXMuc2V0Q29uZmlndXJhdGlvbihw
YXJhbXMudmFsdWUpLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICAgICAgdmFyIHJlc3Bv
bnNlUGFyYW1zID0KLSAgICAgICAgICAgIG5ldyBVc2JEZXZpY2VfU2V0Q29uZmlndXJhdGlvbl9S
ZXNwb25zZVBhcmFtcygpOwotICAgICAgICByZXNwb25zZVBhcmFtcy5zdWNjZXNzID0gcmVzcG9u
c2Uuc3VjY2VzczsKLSAgICAgICAgdmFyIGJ1aWxkZXIgPSBuZXcgY29kZWMuTWVzc2FnZVYxQnVp
bGRlcigKLSAgICAgICAgICAgIGtVc2JEZXZpY2VfU2V0Q29uZmlndXJhdGlvbl9OYW1lLAotICAg
ICAgICAgICAgY29kZWMuYWxpZ24oVXNiRGV2aWNlX1NldENvbmZpZ3VyYXRpb25fUmVzcG9uc2VQ
YXJhbXMuZW5jb2RlZFNpemUpLAotICAgICAgICAgICAgY29kZWMua01lc3NhZ2VJc1Jlc3BvbnNl
LCByZWFkZXIucmVxdWVzdElEKTsKLSAgICAgICAgYnVpbGRlci5lbmNvZGVTdHJ1Y3QoVXNiRGV2
aWNlX1NldENvbmZpZ3VyYXRpb25fUmVzcG9uc2VQYXJhbXMsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHJlc3BvbnNlUGFyYW1zKTsKLSAgICAgICAgdmFyIG1lc3NhZ2UgPSBidWlsZGVy
LmZpbmlzaCgpOwotICAgICAgICByZXNwb25kZXIuYWNjZXB0KG1lc3NhZ2UpOwotICAgICAgfSk7
Ci0gICAgICByZXR1cm4gdHJ1ZTsKLSAgICBjYXNlIGtVc2JEZXZpY2VfQ2xhaW1JbnRlcmZhY2Vf
TmFtZToKLSAgICAgIHZhciBwYXJhbXMgPSByZWFkZXIuZGVjb2RlU3RydWN0KFVzYkRldmljZV9D
bGFpbUludGVyZmFjZV9QYXJhbXMpOwotICAgICAgdGhpcy5jbGFpbUludGVyZmFjZShwYXJhbXMu
aW50ZXJmYWNlTnVtYmVyKS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgICAgIHZhciBy
ZXNwb25zZVBhcmFtcyA9Ci0gICAgICAgICAgICBuZXcgVXNiRGV2aWNlX0NsYWltSW50ZXJmYWNl
X1Jlc3BvbnNlUGFyYW1zKCk7Ci0gICAgICAgIHJlc3BvbnNlUGFyYW1zLnN1Y2Nlc3MgPSByZXNw
b25zZS5zdWNjZXNzOwotICAgICAgICB2YXIgYnVpbGRlciA9IG5ldyBjb2RlYy5NZXNzYWdlVjFC
dWlsZGVyKAotICAgICAgICAgICAga1VzYkRldmljZV9DbGFpbUludGVyZmFjZV9OYW1lLAotICAg
ICAgICAgICAgY29kZWMuYWxpZ24oVXNiRGV2aWNlX0NsYWltSW50ZXJmYWNlX1Jlc3BvbnNlUGFy
YW1zLmVuY29kZWRTaXplKSwKLSAgICAgICAgICAgIGNvZGVjLmtNZXNzYWdlSXNSZXNwb25zZSwg
cmVhZGVyLnJlcXVlc3RJRCk7Ci0gICAgICAgIGJ1aWxkZXIuZW5jb2RlU3RydWN0KFVzYkRldmlj
ZV9DbGFpbUludGVyZmFjZV9SZXNwb25zZVBhcmFtcywKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgcmVzcG9uc2VQYXJhbXMpOwotICAgICAgICB2YXIgbWVzc2FnZSA9IGJ1aWxkZXIuZmlu
aXNoKCk7Ci0gICAgICAgIHJlc3BvbmRlci5hY2NlcHQobWVzc2FnZSk7Ci0gICAgICB9KTsKLSAg
ICAgIHJldHVybiB0cnVlOwotICAgIGNhc2Uga1VzYkRldmljZV9SZWxlYXNlSW50ZXJmYWNlX05h
bWU6Ci0gICAgICB2YXIgcGFyYW1zID0gcmVhZGVyLmRlY29kZVN0cnVjdChVc2JEZXZpY2VfUmVs
ZWFzZUludGVyZmFjZV9QYXJhbXMpOwotICAgICAgdGhpcy5yZWxlYXNlSW50ZXJmYWNlKHBhcmFt
cy5pbnRlcmZhY2VOdW1iZXIpLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICAgICAgdmFy
IHJlc3BvbnNlUGFyYW1zID0KLSAgICAgICAgICAgIG5ldyBVc2JEZXZpY2VfUmVsZWFzZUludGVy
ZmFjZV9SZXNwb25zZVBhcmFtcygpOwotICAgICAgICByZXNwb25zZVBhcmFtcy5zdWNjZXNzID0g
cmVzcG9uc2Uuc3VjY2VzczsKLSAgICAgICAgdmFyIGJ1aWxkZXIgPSBuZXcgY29kZWMuTWVzc2Fn
ZVYxQnVpbGRlcigKLSAgICAgICAgICAgIGtVc2JEZXZpY2VfUmVsZWFzZUludGVyZmFjZV9OYW1l
LAotICAgICAgICAgICAgY29kZWMuYWxpZ24oVXNiRGV2aWNlX1JlbGVhc2VJbnRlcmZhY2VfUmVz
cG9uc2VQYXJhbXMuZW5jb2RlZFNpemUpLAotICAgICAgICAgICAgY29kZWMua01lc3NhZ2VJc1Jl
c3BvbnNlLCByZWFkZXIucmVxdWVzdElEKTsKLSAgICAgICAgYnVpbGRlci5lbmNvZGVTdHJ1Y3Qo
VXNiRGV2aWNlX1JlbGVhc2VJbnRlcmZhY2VfUmVzcG9uc2VQYXJhbXMsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHJlc3BvbnNlUGFyYW1zKTsKLSAgICAgICAgdmFyIG1lc3NhZ2UgPSBi
dWlsZGVyLmZpbmlzaCgpOwotICAgICAgICByZXNwb25kZXIuYWNjZXB0KG1lc3NhZ2UpOwotICAg
ICAgfSk7Ci0gICAgICByZXR1cm4gdHJ1ZTsKLSAgICBjYXNlIGtVc2JEZXZpY2VfU2V0SW50ZXJm
YWNlQWx0ZXJuYXRlU2V0dGluZ19OYW1lOgotICAgICAgdmFyIHBhcmFtcyA9IHJlYWRlci5kZWNv
ZGVTdHJ1Y3QoVXNiRGV2aWNlX1NldEludGVyZmFjZUFsdGVybmF0ZVNldHRpbmdfUGFyYW1zKTsK
LSAgICAgIHRoaXMuc2V0SW50ZXJmYWNlQWx0ZXJuYXRlU2V0dGluZyhwYXJhbXMuaW50ZXJmYWNl
TnVtYmVyLCBwYXJhbXMuYWx0ZXJuYXRlU2V0dGluZykudGhlbihmdW5jdGlvbihyZXNwb25zZSkg
ewotICAgICAgICB2YXIgcmVzcG9uc2VQYXJhbXMgPQotICAgICAgICAgICAgbmV3IFVzYkRldmlj
ZV9TZXRJbnRlcmZhY2VBbHRlcm5hdGVTZXR0aW5nX1Jlc3BvbnNlUGFyYW1zKCk7Ci0gICAgICAg
IHJlc3BvbnNlUGFyYW1zLnN1Y2Nlc3MgPSByZXNwb25zZS5zdWNjZXNzOwotICAgICAgICB2YXIg
YnVpbGRlciA9IG5ldyBjb2RlYy5NZXNzYWdlVjFCdWlsZGVyKAotICAgICAgICAgICAga1VzYkRl
dmljZV9TZXRJbnRlcmZhY2VBbHRlcm5hdGVTZXR0aW5nX05hbWUsCi0gICAgICAgICAgICBjb2Rl
Yy5hbGlnbihVc2JEZXZpY2VfU2V0SW50ZXJmYWNlQWx0ZXJuYXRlU2V0dGluZ19SZXNwb25zZVBh
cmFtcy5lbmNvZGVkU2l6ZSksCi0gICAgICAgICAgICBjb2RlYy5rTWVzc2FnZUlzUmVzcG9uc2Us
IHJlYWRlci5yZXF1ZXN0SUQpOwotICAgICAgICBidWlsZGVyLmVuY29kZVN0cnVjdChVc2JEZXZp
Y2VfU2V0SW50ZXJmYWNlQWx0ZXJuYXRlU2V0dGluZ19SZXNwb25zZVBhcmFtcywKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2VQYXJhbXMpOwotICAgICAgICB2YXIgbWVzc2Fn
ZSA9IGJ1aWxkZXIuZmluaXNoKCk7Ci0gICAgICAgIHJlc3BvbmRlci5hY2NlcHQobWVzc2FnZSk7
Ci0gICAgICB9KTsKLSAgICAgIHJldHVybiB0cnVlOwotICAgIGNhc2Uga1VzYkRldmljZV9SZXNl
dF9OYW1lOgotICAgICAgdmFyIHBhcmFtcyA9IHJlYWRlci5kZWNvZGVTdHJ1Y3QoVXNiRGV2aWNl
X1Jlc2V0X1BhcmFtcyk7Ci0gICAgICB0aGlzLnJlc2V0KCkudGhlbihmdW5jdGlvbihyZXNwb25z
ZSkgewotICAgICAgICB2YXIgcmVzcG9uc2VQYXJhbXMgPQotICAgICAgICAgICAgbmV3IFVzYkRl
dmljZV9SZXNldF9SZXNwb25zZVBhcmFtcygpOwotICAgICAgICByZXNwb25zZVBhcmFtcy5zdWNj
ZXNzID0gcmVzcG9uc2Uuc3VjY2VzczsKLSAgICAgICAgdmFyIGJ1aWxkZXIgPSBuZXcgY29kZWMu
TWVzc2FnZVYxQnVpbGRlcigKLSAgICAgICAgICAgIGtVc2JEZXZpY2VfUmVzZXRfTmFtZSwKLSAg
ICAgICAgICAgIGNvZGVjLmFsaWduKFVzYkRldmljZV9SZXNldF9SZXNwb25zZVBhcmFtcy5lbmNv
ZGVkU2l6ZSksCi0gICAgICAgICAgICBjb2RlYy5rTWVzc2FnZUlzUmVzcG9uc2UsIHJlYWRlci5y
ZXF1ZXN0SUQpOwotICAgICAgICBidWlsZGVyLmVuY29kZVN0cnVjdChVc2JEZXZpY2VfUmVzZXRf
UmVzcG9uc2VQYXJhbXMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlUGFy
YW1zKTsKLSAgICAgICAgdmFyIG1lc3NhZ2UgPSBidWlsZGVyLmZpbmlzaCgpOwotICAgICAgICBy
ZXNwb25kZXIuYWNjZXB0KG1lc3NhZ2UpOwotICAgICAgfSk7Ci0gICAgICByZXR1cm4gdHJ1ZTsK
LSAgICBjYXNlIGtVc2JEZXZpY2VfQ2xlYXJIYWx0X05hbWU6Ci0gICAgICB2YXIgcGFyYW1zID0g
cmVhZGVyLmRlY29kZVN0cnVjdChVc2JEZXZpY2VfQ2xlYXJIYWx0X1BhcmFtcyk7Ci0gICAgICB0
aGlzLmNsZWFySGFsdChwYXJhbXMuZW5kcG9pbnQpLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsK
LSAgICAgICAgdmFyIHJlc3BvbnNlUGFyYW1zID0KLSAgICAgICAgICAgIG5ldyBVc2JEZXZpY2Vf
Q2xlYXJIYWx0X1Jlc3BvbnNlUGFyYW1zKCk7Ci0gICAgICAgIHJlc3BvbnNlUGFyYW1zLnN1Y2Nl
c3MgPSByZXNwb25zZS5zdWNjZXNzOwotICAgICAgICB2YXIgYnVpbGRlciA9IG5ldyBjb2RlYy5N
ZXNzYWdlVjFCdWlsZGVyKAotICAgICAgICAgICAga1VzYkRldmljZV9DbGVhckhhbHRfTmFtZSwK
LSAgICAgICAgICAgIGNvZGVjLmFsaWduKFVzYkRldmljZV9DbGVhckhhbHRfUmVzcG9uc2VQYXJh
bXMuZW5jb2RlZFNpemUpLAotICAgICAgICAgICAgY29kZWMua01lc3NhZ2VJc1Jlc3BvbnNlLCBy
ZWFkZXIucmVxdWVzdElEKTsKLSAgICAgICAgYnVpbGRlci5lbmNvZGVTdHJ1Y3QoVXNiRGV2aWNl
X0NsZWFySGFsdF9SZXNwb25zZVBhcmFtcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
cmVzcG9uc2VQYXJhbXMpOwotICAgICAgICB2YXIgbWVzc2FnZSA9IGJ1aWxkZXIuZmluaXNoKCk7
Ci0gICAgICAgIHJlc3BvbmRlci5hY2NlcHQobWVzc2FnZSk7Ci0gICAgICB9KTsKLSAgICAgIHJl
dHVybiB0cnVlOwotICAgIGNhc2Uga1VzYkRldmljZV9Db250cm9sVHJhbnNmZXJJbl9OYW1lOgot
ICAgICAgdmFyIHBhcmFtcyA9IHJlYWRlci5kZWNvZGVTdHJ1Y3QoVXNiRGV2aWNlX0NvbnRyb2xU
cmFuc2ZlckluX1BhcmFtcyk7Ci0gICAgICB0aGlzLmNvbnRyb2xUcmFuc2ZlckluKHBhcmFtcy5w
YXJhbXMsIHBhcmFtcy5sZW5ndGgsIHBhcmFtcy50aW1lb3V0KS50aGVuKGZ1bmN0aW9uKHJlc3Bv
bnNlKSB7Ci0gICAgICAgIHZhciByZXNwb25zZVBhcmFtcyA9Ci0gICAgICAgICAgICBuZXcgVXNi
RGV2aWNlX0NvbnRyb2xUcmFuc2ZlckluX1Jlc3BvbnNlUGFyYW1zKCk7Ci0gICAgICAgIHJlc3Bv
bnNlUGFyYW1zLnN0YXR1cyA9IHJlc3BvbnNlLnN0YXR1czsKLSAgICAgICAgcmVzcG9uc2VQYXJh
bXMuZGF0YSA9IHJlc3BvbnNlLmRhdGE7Ci0gICAgICAgIHZhciBidWlsZGVyID0gbmV3IGNvZGVj
Lk1lc3NhZ2VWMUJ1aWxkZXIoCi0gICAgICAgICAgICBrVXNiRGV2aWNlX0NvbnRyb2xUcmFuc2Zl
ckluX05hbWUsCi0gICAgICAgICAgICBjb2RlYy5hbGlnbihVc2JEZXZpY2VfQ29udHJvbFRyYW5z
ZmVySW5fUmVzcG9uc2VQYXJhbXMuZW5jb2RlZFNpemUpLAotICAgICAgICAgICAgY29kZWMua01l
c3NhZ2VJc1Jlc3BvbnNlLCByZWFkZXIucmVxdWVzdElEKTsKLSAgICAgICAgYnVpbGRlci5lbmNv
ZGVTdHJ1Y3QoVXNiRGV2aWNlX0NvbnRyb2xUcmFuc2ZlckluX1Jlc3BvbnNlUGFyYW1zLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICByZXNwb25zZVBhcmFtcyk7Ci0gICAgICAgIHZhciBt
ZXNzYWdlID0gYnVpbGRlci5maW5pc2goKTsKLSAgICAgICAgcmVzcG9uZGVyLmFjY2VwdChtZXNz
YWdlKTsKLSAgICAgIH0pOwotICAgICAgcmV0dXJuIHRydWU7Ci0gICAgY2FzZSBrVXNiRGV2aWNl
X0NvbnRyb2xUcmFuc2Zlck91dF9OYW1lOgotICAgICAgdmFyIHBhcmFtcyA9IHJlYWRlci5kZWNv
ZGVTdHJ1Y3QoVXNiRGV2aWNlX0NvbnRyb2xUcmFuc2Zlck91dF9QYXJhbXMpOwotICAgICAgdGhp
cy5jb250cm9sVHJhbnNmZXJPdXQocGFyYW1zLnBhcmFtcywgcGFyYW1zLmRhdGEsIHBhcmFtcy50
aW1lb3V0KS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgICAgIHZhciByZXNwb25zZVBh
cmFtcyA9Ci0gICAgICAgICAgICBuZXcgVXNiRGV2aWNlX0NvbnRyb2xUcmFuc2Zlck91dF9SZXNw
b25zZVBhcmFtcygpOwotICAgICAgICByZXNwb25zZVBhcmFtcy5zdGF0dXMgPSByZXNwb25zZS5z
dGF0dXM7Ci0gICAgICAgIHZhciBidWlsZGVyID0gbmV3IGNvZGVjLk1lc3NhZ2VWMUJ1aWxkZXIo
Ci0gICAgICAgICAgICBrVXNiRGV2aWNlX0NvbnRyb2xUcmFuc2Zlck91dF9OYW1lLAotICAgICAg
ICAgICAgY29kZWMuYWxpZ24oVXNiRGV2aWNlX0NvbnRyb2xUcmFuc2Zlck91dF9SZXNwb25zZVBh
cmFtcy5lbmNvZGVkU2l6ZSksCi0gICAgICAgICAgICBjb2RlYy5rTWVzc2FnZUlzUmVzcG9uc2Us
IHJlYWRlci5yZXF1ZXN0SUQpOwotICAgICAgICBidWlsZGVyLmVuY29kZVN0cnVjdChVc2JEZXZp
Y2VfQ29udHJvbFRyYW5zZmVyT3V0X1Jlc3BvbnNlUGFyYW1zLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICByZXNwb25zZVBhcmFtcyk7Ci0gICAgICAgIHZhciBtZXNzYWdlID0gYnVpbGRl
ci5maW5pc2goKTsKLSAgICAgICAgcmVzcG9uZGVyLmFjY2VwdChtZXNzYWdlKTsKLSAgICAgIH0p
OwotICAgICAgcmV0dXJuIHRydWU7Ci0gICAgY2FzZSBrVXNiRGV2aWNlX0dlbmVyaWNUcmFuc2Zl
ckluX05hbWU6Ci0gICAgICB2YXIgcGFyYW1zID0gcmVhZGVyLmRlY29kZVN0cnVjdChVc2JEZXZp
Y2VfR2VuZXJpY1RyYW5zZmVySW5fUGFyYW1zKTsKLSAgICAgIHRoaXMuZ2VuZXJpY1RyYW5zZmVy
SW4ocGFyYW1zLmVuZHBvaW50TnVtYmVyLCBwYXJhbXMubGVuZ3RoLCBwYXJhbXMudGltZW91dCku
dGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgICAgICB2YXIgcmVzcG9uc2VQYXJhbXMgPQot
ICAgICAgICAgICAgbmV3IFVzYkRldmljZV9HZW5lcmljVHJhbnNmZXJJbl9SZXNwb25zZVBhcmFt
cygpOwotICAgICAgICByZXNwb25zZVBhcmFtcy5zdGF0dXMgPSByZXNwb25zZS5zdGF0dXM7Ci0g
ICAgICAgIHJlc3BvbnNlUGFyYW1zLmRhdGEgPSByZXNwb25zZS5kYXRhOwotICAgICAgICB2YXIg
YnVpbGRlciA9IG5ldyBjb2RlYy5NZXNzYWdlVjFCdWlsZGVyKAotICAgICAgICAgICAga1VzYkRl
dmljZV9HZW5lcmljVHJhbnNmZXJJbl9OYW1lLAotICAgICAgICAgICAgY29kZWMuYWxpZ24oVXNi
RGV2aWNlX0dlbmVyaWNUcmFuc2ZlckluX1Jlc3BvbnNlUGFyYW1zLmVuY29kZWRTaXplKSwKLSAg
ICAgICAgICAgIGNvZGVjLmtNZXNzYWdlSXNSZXNwb25zZSwgcmVhZGVyLnJlcXVlc3RJRCk7Ci0g
ICAgICAgIGJ1aWxkZXIuZW5jb2RlU3RydWN0KFVzYkRldmljZV9HZW5lcmljVHJhbnNmZXJJbl9S
ZXNwb25zZVBhcmFtcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2VQYXJh
bXMpOwotICAgICAgICB2YXIgbWVzc2FnZSA9IGJ1aWxkZXIuZmluaXNoKCk7Ci0gICAgICAgIHJl
c3BvbmRlci5hY2NlcHQobWVzc2FnZSk7Ci0gICAgICB9KTsKLSAgICAgIHJldHVybiB0cnVlOwot
ICAgIGNhc2Uga1VzYkRldmljZV9HZW5lcmljVHJhbnNmZXJPdXRfTmFtZToKLSAgICAgIHZhciBw
YXJhbXMgPSByZWFkZXIuZGVjb2RlU3RydWN0KFVzYkRldmljZV9HZW5lcmljVHJhbnNmZXJPdXRf
UGFyYW1zKTsKLSAgICAgIHRoaXMuZ2VuZXJpY1RyYW5zZmVyT3V0KHBhcmFtcy5lbmRwb2ludE51
bWJlciwgcGFyYW1zLmRhdGEsIHBhcmFtcy50aW1lb3V0KS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNl
KSB7Ci0gICAgICAgIHZhciByZXNwb25zZVBhcmFtcyA9Ci0gICAgICAgICAgICBuZXcgVXNiRGV2
aWNlX0dlbmVyaWNUcmFuc2Zlck91dF9SZXNwb25zZVBhcmFtcygpOwotICAgICAgICByZXNwb25z
ZVBhcmFtcy5zdGF0dXMgPSByZXNwb25zZS5zdGF0dXM7Ci0gICAgICAgIHZhciBidWlsZGVyID0g
bmV3IGNvZGVjLk1lc3NhZ2VWMUJ1aWxkZXIoCi0gICAgICAgICAgICBrVXNiRGV2aWNlX0dlbmVy
aWNUcmFuc2Zlck91dF9OYW1lLAotICAgICAgICAgICAgY29kZWMuYWxpZ24oVXNiRGV2aWNlX0dl
bmVyaWNUcmFuc2Zlck91dF9SZXNwb25zZVBhcmFtcy5lbmNvZGVkU2l6ZSksCi0gICAgICAgICAg
ICBjb2RlYy5rTWVzc2FnZUlzUmVzcG9uc2UsIHJlYWRlci5yZXF1ZXN0SUQpOwotICAgICAgICBi
dWlsZGVyLmVuY29kZVN0cnVjdChVc2JEZXZpY2VfR2VuZXJpY1RyYW5zZmVyT3V0X1Jlc3BvbnNl
UGFyYW1zLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNwb25zZVBhcmFtcyk7Ci0g
ICAgICAgIHZhciBtZXNzYWdlID0gYnVpbGRlci5maW5pc2goKTsKLSAgICAgICAgcmVzcG9uZGVy
LmFjY2VwdChtZXNzYWdlKTsKLSAgICAgIH0pOwotICAgICAgcmV0dXJuIHRydWU7Ci0gICAgY2Fz
ZSBrVXNiRGV2aWNlX0lzb2Nocm9ub3VzVHJhbnNmZXJJbl9OYW1lOgotICAgICAgdmFyIHBhcmFt
cyA9IHJlYWRlci5kZWNvZGVTdHJ1Y3QoVXNiRGV2aWNlX0lzb2Nocm9ub3VzVHJhbnNmZXJJbl9Q
YXJhbXMpOwotICAgICAgdGhpcy5pc29jaHJvbm91c1RyYW5zZmVySW4ocGFyYW1zLmVuZHBvaW50
TnVtYmVyLCBwYXJhbXMucGFja2V0TGVuZ3RocywgcGFyYW1zLnRpbWVvdXQpLnRoZW4oZnVuY3Rp
b24ocmVzcG9uc2UpIHsKLSAgICAgICAgdmFyIHJlc3BvbnNlUGFyYW1zID0KLSAgICAgICAgICAg
IG5ldyBVc2JEZXZpY2VfSXNvY2hyb25vdXNUcmFuc2ZlckluX1Jlc3BvbnNlUGFyYW1zKCk7Ci0g
ICAgICAgIHJlc3BvbnNlUGFyYW1zLmRhdGEgPSByZXNwb25zZS5kYXRhOwotICAgICAgICByZXNw
b25zZVBhcmFtcy5wYWNrZXRzID0gcmVzcG9uc2UucGFja2V0czsKLSAgICAgICAgdmFyIGJ1aWxk
ZXIgPSBuZXcgY29kZWMuTWVzc2FnZVYxQnVpbGRlcigKLSAgICAgICAgICAgIGtVc2JEZXZpY2Vf
SXNvY2hyb25vdXNUcmFuc2ZlckluX05hbWUsCi0gICAgICAgICAgICBjb2RlYy5hbGlnbihVc2JE
ZXZpY2VfSXNvY2hyb25vdXNUcmFuc2ZlckluX1Jlc3BvbnNlUGFyYW1zLmVuY29kZWRTaXplKSwK
LSAgICAgICAgICAgIGNvZGVjLmtNZXNzYWdlSXNSZXNwb25zZSwgcmVhZGVyLnJlcXVlc3RJRCk7
Ci0gICAgICAgIGJ1aWxkZXIuZW5jb2RlU3RydWN0KFVzYkRldmljZV9Jc29jaHJvbm91c1RyYW5z
ZmVySW5fUmVzcG9uc2VQYXJhbXMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3Bv
bnNlUGFyYW1zKTsKLSAgICAgICAgdmFyIG1lc3NhZ2UgPSBidWlsZGVyLmZpbmlzaCgpOwotICAg
ICAgICByZXNwb25kZXIuYWNjZXB0KG1lc3NhZ2UpOwotICAgICAgfSk7Ci0gICAgICByZXR1cm4g
dHJ1ZTsKLSAgICBjYXNlIGtVc2JEZXZpY2VfSXNvY2hyb25vdXNUcmFuc2Zlck91dF9OYW1lOgot
ICAgICAgdmFyIHBhcmFtcyA9IHJlYWRlci5kZWNvZGVTdHJ1Y3QoVXNiRGV2aWNlX0lzb2Nocm9u
b3VzVHJhbnNmZXJPdXRfUGFyYW1zKTsKLSAgICAgIHRoaXMuaXNvY2hyb25vdXNUcmFuc2Zlck91
dChwYXJhbXMuZW5kcG9pbnROdW1iZXIsIHBhcmFtcy5kYXRhLCBwYXJhbXMucGFja2V0TGVuZ3Ro
cywgcGFyYW1zLnRpbWVvdXQpLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICAgICAgdmFy
IHJlc3BvbnNlUGFyYW1zID0KLSAgICAgICAgICAgIG5ldyBVc2JEZXZpY2VfSXNvY2hyb25vdXNU
cmFuc2Zlck91dF9SZXNwb25zZVBhcmFtcygpOwotICAgICAgICByZXNwb25zZVBhcmFtcy5wYWNr
ZXRzID0gcmVzcG9uc2UucGFja2V0czsKLSAgICAgICAgdmFyIGJ1aWxkZXIgPSBuZXcgY29kZWMu
TWVzc2FnZVYxQnVpbGRlcigKLSAgICAgICAgICAgIGtVc2JEZXZpY2VfSXNvY2hyb25vdXNUcmFu
c2Zlck91dF9OYW1lLAotICAgICAgICAgICAgY29kZWMuYWxpZ24oVXNiRGV2aWNlX0lzb2Nocm9u
b3VzVHJhbnNmZXJPdXRfUmVzcG9uc2VQYXJhbXMuZW5jb2RlZFNpemUpLAotICAgICAgICAgICAg
Y29kZWMua01lc3NhZ2VJc1Jlc3BvbnNlLCByZWFkZXIucmVxdWVzdElEKTsKLSAgICAgICAgYnVp
bGRlci5lbmNvZGVTdHJ1Y3QoVXNiRGV2aWNlX0lzb2Nocm9ub3VzVHJhbnNmZXJPdXRfUmVzcG9u
c2VQYXJhbXMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlUGFyYW1zKTsK
LSAgICAgICAgdmFyIG1lc3NhZ2UgPSBidWlsZGVyLmZpbmlzaCgpOwotICAgICAgICByZXNwb25k
ZXIuYWNjZXB0KG1lc3NhZ2UpOwotICAgICAgfSk7Ci0gICAgICByZXR1cm4gdHJ1ZTsKLSAgICBk
ZWZhdWx0OgotICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0KLSAgfTsKLQotICBmdW5jdGlvbiB2
YWxpZGF0ZVVzYkRldmljZVJlcXVlc3QobWVzc2FnZVZhbGlkYXRvcikgewotICAgIHZhciBtZXNz
YWdlID0gbWVzc2FnZVZhbGlkYXRvci5tZXNzYWdlOwotICAgIHZhciBwYXJhbXNDbGFzcyA9IG51
bGw7Ci0gICAgc3dpdGNoIChtZXNzYWdlLmdldE5hbWUoKSkgewotICAgICAgY2FzZSBrVXNiRGV2
aWNlX09wZW5fTmFtZToKLSAgICAgICAgaWYgKG1lc3NhZ2UuZXhwZWN0c1Jlc3BvbnNlKCkpCi0g
ICAgICAgICAgcGFyYW1zQ2xhc3MgPSBVc2JEZXZpY2VfT3Blbl9QYXJhbXM7Ci0gICAgICBicmVh
azsKLSAgICAgIGNhc2Uga1VzYkRldmljZV9DbG9zZV9OYW1lOgotICAgICAgICBpZiAobWVzc2Fn
ZS5leHBlY3RzUmVzcG9uc2UoKSkKLSAgICAgICAgICBwYXJhbXNDbGFzcyA9IFVzYkRldmljZV9D
bG9zZV9QYXJhbXM7Ci0gICAgICBicmVhazsKLSAgICAgIGNhc2Uga1VzYkRldmljZV9TZXRDb25m
aWd1cmF0aW9uX05hbWU6Ci0gICAgICAgIGlmIChtZXNzYWdlLmV4cGVjdHNSZXNwb25zZSgpKQot
ICAgICAgICAgIHBhcmFtc0NsYXNzID0gVXNiRGV2aWNlX1NldENvbmZpZ3VyYXRpb25fUGFyYW1z
OwotICAgICAgYnJlYWs7Ci0gICAgICBjYXNlIGtVc2JEZXZpY2VfQ2xhaW1JbnRlcmZhY2VfTmFt
ZToKLSAgICAgICAgaWYgKG1lc3NhZ2UuZXhwZWN0c1Jlc3BvbnNlKCkpCi0gICAgICAgICAgcGFy
YW1zQ2xhc3MgPSBVc2JEZXZpY2VfQ2xhaW1JbnRlcmZhY2VfUGFyYW1zOwotICAgICAgYnJlYWs7
Ci0gICAgICBjYXNlIGtVc2JEZXZpY2VfUmVsZWFzZUludGVyZmFjZV9OYW1lOgotICAgICAgICBp
ZiAobWVzc2FnZS5leHBlY3RzUmVzcG9uc2UoKSkKLSAgICAgICAgICBwYXJhbXNDbGFzcyA9IFVz
YkRldmljZV9SZWxlYXNlSW50ZXJmYWNlX1BhcmFtczsKLSAgICAgIGJyZWFrOwotICAgICAgY2Fz
ZSBrVXNiRGV2aWNlX1NldEludGVyZmFjZUFsdGVybmF0ZVNldHRpbmdfTmFtZToKLSAgICAgICAg
aWYgKG1lc3NhZ2UuZXhwZWN0c1Jlc3BvbnNlKCkpCi0gICAgICAgICAgcGFyYW1zQ2xhc3MgPSBV
c2JEZXZpY2VfU2V0SW50ZXJmYWNlQWx0ZXJuYXRlU2V0dGluZ19QYXJhbXM7Ci0gICAgICBicmVh
azsKLSAgICAgIGNhc2Uga1VzYkRldmljZV9SZXNldF9OYW1lOgotICAgICAgICBpZiAobWVzc2Fn
ZS5leHBlY3RzUmVzcG9uc2UoKSkKLSAgICAgICAgICBwYXJhbXNDbGFzcyA9IFVzYkRldmljZV9S
ZXNldF9QYXJhbXM7Ci0gICAgICBicmVhazsKLSAgICAgIGNhc2Uga1VzYkRldmljZV9DbGVhckhh
bHRfTmFtZToKLSAgICAgICAgaWYgKG1lc3NhZ2UuZXhwZWN0c1Jlc3BvbnNlKCkpCi0gICAgICAg
ICAgcGFyYW1zQ2xhc3MgPSBVc2JEZXZpY2VfQ2xlYXJIYWx0X1BhcmFtczsKLSAgICAgIGJyZWFr
OwotICAgICAgY2FzZSBrVXNiRGV2aWNlX0NvbnRyb2xUcmFuc2ZlckluX05hbWU6Ci0gICAgICAg
IGlmIChtZXNzYWdlLmV4cGVjdHNSZXNwb25zZSgpKQotICAgICAgICAgIHBhcmFtc0NsYXNzID0g
VXNiRGV2aWNlX0NvbnRyb2xUcmFuc2ZlckluX1BhcmFtczsKLSAgICAgIGJyZWFrOwotICAgICAg
Y2FzZSBrVXNiRGV2aWNlX0NvbnRyb2xUcmFuc2Zlck91dF9OYW1lOgotICAgICAgICBpZiAobWVz
c2FnZS5leHBlY3RzUmVzcG9uc2UoKSkKLSAgICAgICAgICBwYXJhbXNDbGFzcyA9IFVzYkRldmlj
ZV9Db250cm9sVHJhbnNmZXJPdXRfUGFyYW1zOwotICAgICAgYnJlYWs7Ci0gICAgICBjYXNlIGtV
c2JEZXZpY2VfR2VuZXJpY1RyYW5zZmVySW5fTmFtZToKLSAgICAgICAgaWYgKG1lc3NhZ2UuZXhw
ZWN0c1Jlc3BvbnNlKCkpCi0gICAgICAgICAgcGFyYW1zQ2xhc3MgPSBVc2JEZXZpY2VfR2VuZXJp
Y1RyYW5zZmVySW5fUGFyYW1zOwotICAgICAgYnJlYWs7Ci0gICAgICBjYXNlIGtVc2JEZXZpY2Vf
R2VuZXJpY1RyYW5zZmVyT3V0X05hbWU6Ci0gICAgICAgIGlmIChtZXNzYWdlLmV4cGVjdHNSZXNw
b25zZSgpKQotICAgICAgICAgIHBhcmFtc0NsYXNzID0gVXNiRGV2aWNlX0dlbmVyaWNUcmFuc2Zl
ck91dF9QYXJhbXM7Ci0gICAgICBicmVhazsKLSAgICAgIGNhc2Uga1VzYkRldmljZV9Jc29jaHJv
bm91c1RyYW5zZmVySW5fTmFtZToKLSAgICAgICAgaWYgKG1lc3NhZ2UuZXhwZWN0c1Jlc3BvbnNl
KCkpCi0gICAgICAgICAgcGFyYW1zQ2xhc3MgPSBVc2JEZXZpY2VfSXNvY2hyb25vdXNUcmFuc2Zl
ckluX1BhcmFtczsKLSAgICAgIGJyZWFrOwotICAgICAgY2FzZSBrVXNiRGV2aWNlX0lzb2Nocm9u
b3VzVHJhbnNmZXJPdXRfTmFtZToKLSAgICAgICAgaWYgKG1lc3NhZ2UuZXhwZWN0c1Jlc3BvbnNl
KCkpCi0gICAgICAgICAgcGFyYW1zQ2xhc3MgPSBVc2JEZXZpY2VfSXNvY2hyb25vdXNUcmFuc2Zl
ck91dF9QYXJhbXM7Ci0gICAgICBicmVhazsKLSAgICB9Ci0gICAgaWYgKHBhcmFtc0NsYXNzID09
PSBudWxsKQotICAgICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAg
ICByZXR1cm4gcGFyYW1zQ2xhc3MudmFsaWRhdGUobWVzc2FnZVZhbGlkYXRvciwgbWVzc2FnZVZh
bGlkYXRvci5tZXNzYWdlLmdldEhlYWRlck51bUJ5dGVzKCkpOwotICB9Ci0KLSAgZnVuY3Rpb24g
dmFsaWRhdGVVc2JEZXZpY2VSZXNwb25zZShtZXNzYWdlVmFsaWRhdG9yKSB7Ci0gICB2YXIgbWVz
c2FnZSA9IG1lc3NhZ2VWYWxpZGF0b3IubWVzc2FnZTsKLSAgIHZhciBwYXJhbXNDbGFzcyA9IG51
bGw7Ci0gICBzd2l0Y2ggKG1lc3NhZ2UuZ2V0TmFtZSgpKSB7Ci0gICAgICBjYXNlIGtVc2JEZXZp
Y2VfT3Blbl9OYW1lOgotICAgICAgICBpZiAobWVzc2FnZS5pc1Jlc3BvbnNlKCkpCi0gICAgICAg
ICAgcGFyYW1zQ2xhc3MgPSBVc2JEZXZpY2VfT3Blbl9SZXNwb25zZVBhcmFtczsKLSAgICAgICAg
YnJlYWs7Ci0gICAgICBjYXNlIGtVc2JEZXZpY2VfQ2xvc2VfTmFtZToKLSAgICAgICAgaWYgKG1l
c3NhZ2UuaXNSZXNwb25zZSgpKQotICAgICAgICAgIHBhcmFtc0NsYXNzID0gVXNiRGV2aWNlX0Ns
b3NlX1Jlc3BvbnNlUGFyYW1zOwotICAgICAgICBicmVhazsKLSAgICAgIGNhc2Uga1VzYkRldmlj
ZV9TZXRDb25maWd1cmF0aW9uX05hbWU6Ci0gICAgICAgIGlmIChtZXNzYWdlLmlzUmVzcG9uc2Uo
KSkKLSAgICAgICAgICBwYXJhbXNDbGFzcyA9IFVzYkRldmljZV9TZXRDb25maWd1cmF0aW9uX1Jl
c3BvbnNlUGFyYW1zOwotICAgICAgICBicmVhazsKLSAgICAgIGNhc2Uga1VzYkRldmljZV9DbGFp
bUludGVyZmFjZV9OYW1lOgotICAgICAgICBpZiAobWVzc2FnZS5pc1Jlc3BvbnNlKCkpCi0gICAg
ICAgICAgcGFyYW1zQ2xhc3MgPSBVc2JEZXZpY2VfQ2xhaW1JbnRlcmZhY2VfUmVzcG9uc2VQYXJh
bXM7Ci0gICAgICAgIGJyZWFrOwotICAgICAgY2FzZSBrVXNiRGV2aWNlX1JlbGVhc2VJbnRlcmZh
Y2VfTmFtZToKLSAgICAgICAgaWYgKG1lc3NhZ2UuaXNSZXNwb25zZSgpKQotICAgICAgICAgIHBh
cmFtc0NsYXNzID0gVXNiRGV2aWNlX1JlbGVhc2VJbnRlcmZhY2VfUmVzcG9uc2VQYXJhbXM7Ci0g
ICAgICAgIGJyZWFrOwotICAgICAgY2FzZSBrVXNiRGV2aWNlX1NldEludGVyZmFjZUFsdGVybmF0
ZVNldHRpbmdfTmFtZToKLSAgICAgICAgaWYgKG1lc3NhZ2UuaXNSZXNwb25zZSgpKQotICAgICAg
ICAgIHBhcmFtc0NsYXNzID0gVXNiRGV2aWNlX1NldEludGVyZmFjZUFsdGVybmF0ZVNldHRpbmdf
UmVzcG9uc2VQYXJhbXM7Ci0gICAgICAgIGJyZWFrOwotICAgICAgY2FzZSBrVXNiRGV2aWNlX1Jl
c2V0X05hbWU6Ci0gICAgICAgIGlmIChtZXNzYWdlLmlzUmVzcG9uc2UoKSkKLSAgICAgICAgICBw
YXJhbXNDbGFzcyA9IFVzYkRldmljZV9SZXNldF9SZXNwb25zZVBhcmFtczsKLSAgICAgICAgYnJl
YWs7Ci0gICAgICBjYXNlIGtVc2JEZXZpY2VfQ2xlYXJIYWx0X05hbWU6Ci0gICAgICAgIGlmICht
ZXNzYWdlLmlzUmVzcG9uc2UoKSkKLSAgICAgICAgICBwYXJhbXNDbGFzcyA9IFVzYkRldmljZV9D
bGVhckhhbHRfUmVzcG9uc2VQYXJhbXM7Ci0gICAgICAgIGJyZWFrOwotICAgICAgY2FzZSBrVXNi
RGV2aWNlX0NvbnRyb2xUcmFuc2ZlckluX05hbWU6Ci0gICAgICAgIGlmIChtZXNzYWdlLmlzUmVz
cG9uc2UoKSkKLSAgICAgICAgICBwYXJhbXNDbGFzcyA9IFVzYkRldmljZV9Db250cm9sVHJhbnNm
ZXJJbl9SZXNwb25zZVBhcmFtczsKLSAgICAgICAgYnJlYWs7Ci0gICAgICBjYXNlIGtVc2JEZXZp
Y2VfQ29udHJvbFRyYW5zZmVyT3V0X05hbWU6Ci0gICAgICAgIGlmIChtZXNzYWdlLmlzUmVzcG9u
c2UoKSkKLSAgICAgICAgICBwYXJhbXNDbGFzcyA9IFVzYkRldmljZV9Db250cm9sVHJhbnNmZXJP
dXRfUmVzcG9uc2VQYXJhbXM7Ci0gICAgICAgIGJyZWFrOwotICAgICAgY2FzZSBrVXNiRGV2aWNl
X0dlbmVyaWNUcmFuc2ZlckluX05hbWU6Ci0gICAgICAgIGlmIChtZXNzYWdlLmlzUmVzcG9uc2Uo
KSkKLSAgICAgICAgICBwYXJhbXNDbGFzcyA9IFVzYkRldmljZV9HZW5lcmljVHJhbnNmZXJJbl9S
ZXNwb25zZVBhcmFtczsKLSAgICAgICAgYnJlYWs7Ci0gICAgICBjYXNlIGtVc2JEZXZpY2VfR2Vu
ZXJpY1RyYW5zZmVyT3V0X05hbWU6Ci0gICAgICAgIGlmIChtZXNzYWdlLmlzUmVzcG9uc2UoKSkK
LSAgICAgICAgICBwYXJhbXNDbGFzcyA9IFVzYkRldmljZV9HZW5lcmljVHJhbnNmZXJPdXRfUmVz
cG9uc2VQYXJhbXM7Ci0gICAgICAgIGJyZWFrOwotICAgICAgY2FzZSBrVXNiRGV2aWNlX0lzb2No
cm9ub3VzVHJhbnNmZXJJbl9OYW1lOgotICAgICAgICBpZiAobWVzc2FnZS5pc1Jlc3BvbnNlKCkp
Ci0gICAgICAgICAgcGFyYW1zQ2xhc3MgPSBVc2JEZXZpY2VfSXNvY2hyb25vdXNUcmFuc2Zlcklu
X1Jlc3BvbnNlUGFyYW1zOwotICAgICAgICBicmVhazsKLSAgICAgIGNhc2Uga1VzYkRldmljZV9J
c29jaHJvbm91c1RyYW5zZmVyT3V0X05hbWU6Ci0gICAgICAgIGlmIChtZXNzYWdlLmlzUmVzcG9u
c2UoKSkKLSAgICAgICAgICBwYXJhbXNDbGFzcyA9IFVzYkRldmljZV9Jc29jaHJvbm91c1RyYW5z
ZmVyT3V0X1Jlc3BvbnNlUGFyYW1zOwotICAgICAgICBicmVhazsKLSAgICB9Ci0gICAgaWYgKHBh
cmFtc0NsYXNzID09PSBudWxsKQotICAgICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJy
b3IuTk9ORTsKLSAgICByZXR1cm4gcGFyYW1zQ2xhc3MudmFsaWRhdGUobWVzc2FnZVZhbGlkYXRv
ciwgbWVzc2FnZVZhbGlkYXRvci5tZXNzYWdlLmdldEhlYWRlck51bUJ5dGVzKCkpOwotICB9Ci0K
LSAgdmFyIFVzYkRldmljZSA9IHsKLSAgICBuYW1lOiAnZGV2aWNlOjptb2pvbTo6VXNiRGV2aWNl
JywKLSAgICBrVmVyc2lvbjogMCwKLSAgICBwdHJDbGFzczogVXNiRGV2aWNlUHRyLAotICAgIHBy
b3h5Q2xhc3M6IFVzYkRldmljZVByb3h5LAotICAgIHN0dWJDbGFzczogVXNiRGV2aWNlU3R1YiwK
LSAgICB2YWxpZGF0ZVJlcXVlc3Q6IHZhbGlkYXRlVXNiRGV2aWNlUmVxdWVzdCwKLSAgICB2YWxp
ZGF0ZVJlc3BvbnNlOiB2YWxpZGF0ZVVzYkRldmljZVJlc3BvbnNlLAotICB9OwotICBVc2JEZXZp
Y2VTdHViLnByb3RvdHlwZS52YWxpZGF0b3IgPSB2YWxpZGF0ZVVzYkRldmljZVJlcXVlc3Q7Ci0g
IFVzYkRldmljZVByb3h5LnByb3RvdHlwZS52YWxpZGF0b3IgPSB2YWxpZGF0ZVVzYkRldmljZVJl
c3BvbnNlOwotICBleHBvcnRzLlVzYk9wZW5EZXZpY2VFcnJvciA9IFVzYk9wZW5EZXZpY2VFcnJv
cjsKLSAgZXhwb3J0cy5Vc2JUcmFuc2ZlckRpcmVjdGlvbiA9IFVzYlRyYW5zZmVyRGlyZWN0aW9u
OwotICBleHBvcnRzLlVzYkNvbnRyb2xUcmFuc2ZlclR5cGUgPSBVc2JDb250cm9sVHJhbnNmZXJU
eXBlOwotICBleHBvcnRzLlVzYkNvbnRyb2xUcmFuc2ZlclJlY2lwaWVudCA9IFVzYkNvbnRyb2xU
cmFuc2ZlclJlY2lwaWVudDsKLSAgZXhwb3J0cy5Vc2JUcmFuc2ZlclR5cGUgPSBVc2JUcmFuc2Zl
clR5cGU7Ci0gIGV4cG9ydHMuVXNiVHJhbnNmZXJTdGF0dXMgPSBVc2JUcmFuc2ZlclN0YXR1czsK
LSAgZXhwb3J0cy5Vc2JFbmRwb2ludEluZm8gPSBVc2JFbmRwb2ludEluZm87Ci0gIGV4cG9ydHMu
VXNiQWx0ZXJuYXRlSW50ZXJmYWNlSW5mbyA9IFVzYkFsdGVybmF0ZUludGVyZmFjZUluZm87Ci0g
IGV4cG9ydHMuVXNiSW50ZXJmYWNlSW5mbyA9IFVzYkludGVyZmFjZUluZm87Ci0gIGV4cG9ydHMu
VXNiQ29uZmlndXJhdGlvbkluZm8gPSBVc2JDb25maWd1cmF0aW9uSW5mbzsKLSAgZXhwb3J0cy5V
c2JEZXZpY2VJbmZvID0gVXNiRGV2aWNlSW5mbzsKLSAgZXhwb3J0cy5Vc2JDb250cm9sVHJhbnNm
ZXJQYXJhbXMgPSBVc2JDb250cm9sVHJhbnNmZXJQYXJhbXM7Ci0gIGV4cG9ydHMuVXNiSXNvY2hy
b25vdXNQYWNrZXQgPSBVc2JJc29jaHJvbm91c1BhY2tldDsKLSAgZXhwb3J0cy5Vc2JEZXZpY2Ug
PSBVc2JEZXZpY2U7Ci0gIGV4cG9ydHMuVXNiRGV2aWNlUHRyID0gVXNiRGV2aWNlUHRyOwotICBl
eHBvcnRzLlVzYkRldmljZUFzc29jaWF0ZWRQdHIgPSBVc2JEZXZpY2VBc3NvY2lhdGVkUHRyOwot
fSkoKTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS9kZXZp
Y2UubW9qb20uanMuaGVhZGVycyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL2RldmljZS5tb2pvbS5qcy5oZWFkZXJzCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2ODA1YzMyM2RmNWE5NzUyMzE2NDhiODMwZTMzY2Ux
ODNjM2NiYmQzLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2No
cm9taXVtL2RldmljZS5tb2pvbS5qcy5oZWFkZXJzCisrKyAvZGV2L251bGwKQEAgLTEgKzAsMCBA
QAotQ29udGVudC1UeXBlOiB0ZXh0L2phdmFzY3JpcHQ7IGNoYXJzZXQ9dXRmLTgKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L2Nocm9taXVtL2RldmljZV9tYW5hZ2VyLm1vam9tLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vZGV2aWNlX21hbmFnZXIu
bW9qb20uanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDk5ZWJkODU0YmUwM2MyNzIx
ZDVmNWQwN2U0ODZjYmUyMWQ1NzM3ZDguLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvY2hyb21pdW0vZGV2aWNlX21hbmFnZXIubW9qb20uanMKKysrIC9kZXYvbnVs
bApAQCAtMSw4NTYgKzAsMCBAQAotLy8gQ29weXJpZ2h0IDIwMTQgVGhlIENocm9taXVtIEF1dGhv
cnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0vLyBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBn
b3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCi0vLyBmb3VuZCBpbiB0
aGUgTElDRU5TRSBmaWxlLgotCi0KLSd1c2Ugc3RyaWN0JzsKLQotKGZ1bmN0aW9uKCkgewotICB2
YXIgbW9qb21JZCA9ICdkZXZpY2UvdXNiL3B1YmxpYy9pbnRlcmZhY2VzL2RldmljZV9tYW5hZ2Vy
Lm1vam9tJzsKLSAgaWYgKG1vam8uaW50ZXJuYWwuaXNNb2pvbUxvYWRlZChtb2pvbUlkKSkgewot
ICAgIGNvbnNvbGUud2FybignVGhlIGZvbGxvd2luZyBtb2pvbSBpcyBsb2FkZWQgbXVsdGlwbGUg
dGltZXM6ICcgKyBtb2pvbUlkKTsKLSAgICByZXR1cm47Ci0gIH0KLSAgbW9qby5pbnRlcm5hbC5t
YXJrTW9qb21Mb2FkZWQobW9qb21JZCk7Ci0KLSAgLy8gVE9ETyh5enNoZW4pOiBEZWZpbmUgdGhl
c2UgYWxpYXNlcyB0byBtaW5pbWl6ZSB0aGUgZGlmZmVyZW5jZXMgYmV0d2VlbiB0aGUKLSAgLy8g
b2xkL25ldyBtb2Rlcy4gUmVtb3ZlIHRoZW0gd2hlbiB0aGUgb2xkIG1vZGUgZ29lcyBhd2F5Lgot
ICB2YXIgYmluZGluZ3MgPSBtb2pvOwotICB2YXIgYXNzb2NpYXRlZEJpbmRpbmdzID0gbW9qbzsK
LSAgdmFyIGNvZGVjID0gbW9qby5pbnRlcm5hbDsKLSAgdmFyIHZhbGlkYXRvciA9IG1vam8uaW50
ZXJuYWw7Ci0KLSAgdmFyIGV4cG9ydHMgPSBtb2pvLmludGVybmFsLmV4cG9zZU5hbWVzcGFjZSgn
ZGV2aWNlLm1vam9tJyk7Ci0gIHZhciBkZXZpY2UkID0KLSAgICAgIG1vam8uaW50ZXJuYWwuZXhw
b3NlTmFtZXNwYWNlKCdkZXZpY2UubW9qb20nKTsKLSAgaWYgKG1vam8uY29uZmlnLmF1dG9Mb2Fk
TW9qb21EZXBzKSB7Ci0gICAgbW9qby5pbnRlcm5hbC5sb2FkTW9qb21JZk5lY2Vzc2FyeSgKLSAg
ICAgICAgJ2RldmljZS91c2IvcHVibGljL2ludGVyZmFjZXMvZGV2aWNlLm1vam9tJywgJ2Rldmlj
ZS5tb2pvbS5qcycpOwotICB9Ci0gIHZhciBzdHJpbmcxNiQgPQotICAgICAgbW9qby5pbnRlcm5h
bC5leHBvc2VOYW1lc3BhY2UoJ21vam8uY29tbW9uLm1vam9tJyk7Ci0gIGlmIChtb2pvLmNvbmZp
Zy5hdXRvTG9hZE1vam9tRGVwcykgewotICAgIG1vam8uaW50ZXJuYWwubG9hZE1vam9tSWZOZWNl
c3NhcnkoCi0gICAgICAgICdtb2pvL2NvbW1vbi9zdHJpbmcxNi5tb2pvbScsICcuLi8uLi8uLi8u
Li9tb2pvL2NvbW1vbi9zdHJpbmcxNi5tb2pvbS5qcycpOwotICB9Ci0KLQotCi0gIGZ1bmN0aW9u
IFVzYkRldmljZUZpbHRlcih2YWx1ZXMpIHsKLSAgICB0aGlzLmluaXREZWZhdWx0c18oKTsKLSAg
ICB0aGlzLmluaXRGaWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0gIFVzYkRldmljZUZpbHRlci5w
cm90b3R5cGUuaW5pdERlZmF1bHRzXyA9IGZ1bmN0aW9uKCkgewotICAgIHRoaXMuaGFzVmVuZG9y
SWQgPSBmYWxzZTsKLSAgICB0aGlzLmhhc1Byb2R1Y3RJZCA9IGZhbHNlOwotICAgIHRoaXMuaGFz
Q2xhc3NDb2RlID0gZmFsc2U7Ci0gICAgdGhpcy5oYXNTdWJjbGFzc0NvZGUgPSBmYWxzZTsKLSAg
ICB0aGlzLmhhc1Byb3RvY29sQ29kZSA9IGZhbHNlOwotICAgIHRoaXMuY2xhc3NDb2RlID0gMDsK
LSAgICB0aGlzLnZlbmRvcklkID0gMDsKLSAgICB0aGlzLnByb2R1Y3RJZCA9IDA7Ci0gICAgdGhp
cy5zdWJjbGFzc0NvZGUgPSAwOwotICAgIHRoaXMucHJvdG9jb2xDb2RlID0gMDsKLSAgICB0aGlz
LnNlcmlhbE51bWJlciA9IG51bGw7Ci0gIH07Ci0gIFVzYkRldmljZUZpbHRlci5wcm90b3R5cGUu
aW5pdEZpZWxkc18gPSBmdW5jdGlvbihmaWVsZHMpIHsKLSAgICBmb3IodmFyIGZpZWxkIGluIGZp
ZWxkcykgewotICAgICAgICBpZiAodGhpcy5oYXNPd25Qcm9wZXJ0eShmaWVsZCkpCi0gICAgICAg
ICAgdGhpc1tmaWVsZF0gPSBmaWVsZHNbZmllbGRdOwotICAgIH0KLSAgfTsKLQotICBVc2JEZXZp
Y2VGaWx0ZXIudmFsaWRhdGUgPSBmdW5jdGlvbihtZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsK
LSAgICB2YXIgZXJyOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RI
ZWFkZXIob2Zmc2V0LCBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVyciAhPT0g
dmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0g
ICAgdmFyIGtWZXJzaW9uU2l6ZXMgPSBbCi0gICAgICB7dmVyc2lvbjogMCwgbnVtQnl0ZXM6IDI0
fQotICAgIF07Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFZlcnNp
b24ob2Zmc2V0LCBrVmVyc2lvblNpemVzKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFs
aWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotCi0KLQotCi0KLQot
Ci0KLQotCi0gICAgCi0gICAgLy8gdmFsaWRhdGUgVXNiRGV2aWNlRmlsdGVyLnNlcmlhbE51bWJl
cgotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RQb2ludGVyKG9mZnNl
dCArIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgOCwgc3RyaW5nMTYkLlN0cmluZzE2LCB0cnVl
KTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAg
ICAgIHJldHVybiBlcnI7Ci0KLSAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5O
T05FOwotICB9OwotCi0gIFVzYkRldmljZUZpbHRlci5lbmNvZGVkU2l6ZSA9IGNvZGVjLmtTdHJ1
Y3RIZWFkZXJTaXplICsgMTY7Ci0KLSAgVXNiRGV2aWNlRmlsdGVyLmRlY29kZSA9IGZ1bmN0aW9u
KGRlY29kZXIpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIHZhciB2YWwgPSBuZXcgVXNiRGV2aWNl
RmlsdGVyKCk7Ci0gICAgdmFyIG51bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsK
LSAgICB2YXIgdmVyc2lvbiA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHBhY2tlZCA9IGRl
Y29kZXIucmVhZFVpbnQ4KCk7Ci0gICAgdmFsLmhhc1ZlbmRvcklkID0gKHBhY2tlZCA+PiAwKSAm
IDEgPyB0cnVlIDogZmFsc2U7Ci0gICAgdmFsLmhhc1Byb2R1Y3RJZCA9IChwYWNrZWQgPj4gMSkg
JiAxID8gdHJ1ZSA6IGZhbHNlOwotICAgIHZhbC5oYXNDbGFzc0NvZGUgPSAocGFja2VkID4+IDIp
ICYgMSA/IHRydWUgOiBmYWxzZTsKLSAgICB2YWwuaGFzU3ViY2xhc3NDb2RlID0gKHBhY2tlZCA+
PiAzKSAmIDEgPyB0cnVlIDogZmFsc2U7Ci0gICAgdmFsLmhhc1Byb3RvY29sQ29kZSA9IChwYWNr
ZWQgPj4gNCkgJiAxID8gdHJ1ZSA6IGZhbHNlOwotICAgIHZhbC5jbGFzc0NvZGUgPSBkZWNvZGVy
LmRlY29kZVN0cnVjdChjb2RlYy5VaW50OCk7Ci0gICAgdmFsLnZlbmRvcklkID0gZGVjb2Rlci5k
ZWNvZGVTdHJ1Y3QoY29kZWMuVWludDE2KTsKLSAgICB2YWwucHJvZHVjdElkID0gZGVjb2Rlci5k
ZWNvZGVTdHJ1Y3QoY29kZWMuVWludDE2KTsKLSAgICB2YWwuc3ViY2xhc3NDb2RlID0gZGVjb2Rl
ci5kZWNvZGVTdHJ1Y3QoY29kZWMuVWludDgpOwotICAgIHZhbC5wcm90b2NvbENvZGUgPSBkZWNv
ZGVyLmRlY29kZVN0cnVjdChjb2RlYy5VaW50OCk7Ci0gICAgdmFsLnNlcmlhbE51bWJlciA9IGRl
Y29kZXIuZGVjb2RlU3RydWN0UG9pbnRlcihzdHJpbmcxNiQuU3RyaW5nMTYpOwotICAgIHJldHVy
biB2YWw7Ci0gIH07Ci0KLSAgVXNiRGV2aWNlRmlsdGVyLmVuY29kZSA9IGZ1bmN0aW9uKGVuY29k
ZXIsIHZhbCkgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMihVc2JE
ZXZpY2VGaWx0ZXIuZW5jb2RlZFNpemUpOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoMCk7Ci0g
ICAgcGFja2VkID0gMDsKLSAgICBwYWNrZWQgfD0gKHZhbC5oYXNWZW5kb3JJZCAmIDEpIDw8IDAK
LSAgICBwYWNrZWQgfD0gKHZhbC5oYXNQcm9kdWN0SWQgJiAxKSA8PCAxCi0gICAgcGFja2VkIHw9
ICh2YWwuaGFzQ2xhc3NDb2RlICYgMSkgPDwgMgotICAgIHBhY2tlZCB8PSAodmFsLmhhc1N1YmNs
YXNzQ29kZSAmIDEpIDw8IDMKLSAgICBwYWNrZWQgfD0gKHZhbC5oYXNQcm90b2NvbENvZGUgJiAx
KSA8PCA0Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQ4KHBhY2tlZCk7Ci0gICAgZW5jb2Rlci5lbmNv
ZGVTdHJ1Y3QoY29kZWMuVWludDgsIHZhbC5jbGFzc0NvZGUpOwotICAgIGVuY29kZXIuZW5jb2Rl
U3RydWN0KGNvZGVjLlVpbnQxNiwgdmFsLnZlbmRvcklkKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0
cnVjdChjb2RlYy5VaW50MTYsIHZhbC5wcm9kdWN0SWQpOwotICAgIGVuY29kZXIuZW5jb2RlU3Ry
dWN0KGNvZGVjLlVpbnQ4LCB2YWwuc3ViY2xhc3NDb2RlKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0
cnVjdChjb2RlYy5VaW50OCwgdmFsLnByb3RvY29sQ29kZSk7Ci0gICAgZW5jb2Rlci5lbmNvZGVT
dHJ1Y3RQb2ludGVyKHN0cmluZzE2JC5TdHJpbmcxNiwgdmFsLnNlcmlhbE51bWJlcik7Ci0gIH07
Ci0gIGZ1bmN0aW9uIFVzYkVudW1lcmF0aW9uT3B0aW9ucyh2YWx1ZXMpIHsKLSAgICB0aGlzLmlu
aXREZWZhdWx0c18oKTsKLSAgICB0aGlzLmluaXRGaWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0g
IFVzYkVudW1lcmF0aW9uT3B0aW9ucy5wcm90b3R5cGUuaW5pdERlZmF1bHRzXyA9IGZ1bmN0aW9u
KCkgewotICAgIHRoaXMuZmlsdGVycyA9IG51bGw7Ci0gIH07Ci0gIFVzYkVudW1lcmF0aW9uT3B0
aW9ucy5wcm90b3R5cGUuaW5pdEZpZWxkc18gPSBmdW5jdGlvbihmaWVsZHMpIHsKLSAgICBmb3Io
dmFyIGZpZWxkIGluIGZpZWxkcykgewotICAgICAgICBpZiAodGhpcy5oYXNPd25Qcm9wZXJ0eShm
aWVsZCkpCi0gICAgICAgICAgdGhpc1tmaWVsZF0gPSBmaWVsZHNbZmllbGRdOwotICAgIH0KLSAg
fTsKLQotICBVc2JFbnVtZXJhdGlvbk9wdGlvbnMudmFsaWRhdGUgPSBmdW5jdGlvbihtZXNzYWdl
VmFsaWRhdG9yLCBvZmZzZXQpIHsKLSAgICB2YXIgZXJyOwotICAgIGVyciA9IG1lc3NhZ2VWYWxp
ZGF0b3IudmFsaWRhdGVTdHJ1Y3RIZWFkZXIob2Zmc2V0LCBjb2RlYy5rU3RydWN0SGVhZGVyU2l6
ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAg
ICAgICByZXR1cm4gZXJyOwotCi0gICAgdmFyIGtWZXJzaW9uU2l6ZXMgPSBbCi0gICAgICB7dmVy
c2lvbjogMCwgbnVtQnl0ZXM6IDE2fQotICAgIF07Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRv
ci52YWxpZGF0ZVN0cnVjdFZlcnNpb24ob2Zmc2V0LCBrVmVyc2lvblNpemVzKTsKLSAgICBpZiAo
ZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBl
cnI7Ci0KLQotICAgIAotICAgIC8vIHZhbGlkYXRlIFVzYkVudW1lcmF0aW9uT3B0aW9ucy5maWx0
ZXJzCi0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZUFycmF5UG9pbnRlcihvZmZz
ZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDAsIDgsIG5ldyBjb2RlYy5Qb2ludGVyVG8o
VXNiRGV2aWNlRmlsdGVyKSwgZmFsc2UsIFswXSwgMCk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRh
dG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgcmV0
dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQotICBVc2JFbnVtZXJh
dGlvbk9wdGlvbnMuZW5jb2RlZFNpemUgPSBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDg7Ci0K
LSAgVXNiRW51bWVyYXRpb25PcHRpb25zLmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAg
ICB2YXIgcGFja2VkOwotICAgIHZhciB2YWwgPSBuZXcgVXNiRW51bWVyYXRpb25PcHRpb25zKCk7
Ci0gICAgdmFyIG51bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YXIg
dmVyc2lvbiA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhbC5maWx0ZXJzID0gZGVjb2Rl
ci5kZWNvZGVBcnJheVBvaW50ZXIobmV3IGNvZGVjLlBvaW50ZXJUbyhVc2JEZXZpY2VGaWx0ZXIp
KTsKLSAgICByZXR1cm4gdmFsOwotICB9OwotCi0gIFVzYkVudW1lcmF0aW9uT3B0aW9ucy5lbmNv
ZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2YWwpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIGVuY29k
ZXIud3JpdGVVaW50MzIoVXNiRW51bWVyYXRpb25PcHRpb25zLmVuY29kZWRTaXplKTsKLSAgICBl
bmNvZGVyLndyaXRlVWludDMyKDApOwotICAgIGVuY29kZXIuZW5jb2RlQXJyYXlQb2ludGVyKG5l
dyBjb2RlYy5Qb2ludGVyVG8oVXNiRGV2aWNlRmlsdGVyKSwgdmFsLmZpbHRlcnMpOwotICB9Owot
ICBmdW5jdGlvbiBVc2JEZXZpY2VNYW5hZ2VyX0dldERldmljZXNfUGFyYW1zKHZhbHVlcykgewot
ICAgIHRoaXMuaW5pdERlZmF1bHRzXygpOwotICAgIHRoaXMuaW5pdEZpZWxkc18odmFsdWVzKTsK
LSAgfQotCi0KLSAgVXNiRGV2aWNlTWFuYWdlcl9HZXREZXZpY2VzX1BhcmFtcy5wcm90b3R5cGUu
aW5pdERlZmF1bHRzXyA9IGZ1bmN0aW9uKCkgewotICAgIHRoaXMub3B0aW9ucyA9IG51bGw7Ci0g
IH07Ci0gIFVzYkRldmljZU1hbmFnZXJfR2V0RGV2aWNlc19QYXJhbXMucHJvdG90eXBlLmluaXRG
aWVsZHNfID0gZnVuY3Rpb24oZmllbGRzKSB7Ci0gICAgZm9yKHZhciBmaWVsZCBpbiBmaWVsZHMp
IHsKLSAgICAgICAgaWYgKHRoaXMuaGFzT3duUHJvcGVydHkoZmllbGQpKQotICAgICAgICAgIHRo
aXNbZmllbGRdID0gZmllbGRzW2ZpZWxkXTsKLSAgICB9Ci0gIH07Ci0KLSAgVXNiRGV2aWNlTWFu
YWdlcl9HZXREZXZpY2VzX1BhcmFtcy52YWxpZGF0ZSA9IGZ1bmN0aW9uKG1lc3NhZ2VWYWxpZGF0
b3IsIG9mZnNldCkgewotICAgIHZhciBlcnI7Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52
YWxpZGF0ZVN0cnVjdEhlYWRlcihvZmZzZXQsIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplKTsKLSAg
ICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJl
dHVybiBlcnI7Ci0KLSAgICB2YXIga1ZlcnNpb25TaXplcyA9IFsKLSAgICAgIHt2ZXJzaW9uOiAw
LCBudW1CeXRlczogMTZ9Ci0gICAgXTsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlk
YXRlU3RydWN0VmVyc2lvbihvZmZzZXQsIGtWZXJzaW9uU2l6ZXMpOwotICAgIGlmIChlcnIgIT09
IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQot
Ci0gICAgCi0gICAgLy8gdmFsaWRhdGUgVXNiRGV2aWNlTWFuYWdlcl9HZXREZXZpY2VzX1BhcmFt
cy5vcHRpb25zCi0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFBvaW50
ZXIob2Zmc2V0ICsgY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyAwLCBVc2JFbnVtZXJhdGlvbk9w
dGlvbnMsIHRydWUpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3Iu
Tk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRh
dGlvbkVycm9yLk5PTkU7Ci0gIH07Ci0KLSAgVXNiRGV2aWNlTWFuYWdlcl9HZXREZXZpY2VzX1Bh
cmFtcy5lbmNvZGVkU2l6ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgODsKLQotICBVc2JE
ZXZpY2VNYW5hZ2VyX0dldERldmljZXNfUGFyYW1zLmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIp
IHsKLSAgICB2YXIgcGFja2VkOwotICAgIHZhciB2YWwgPSBuZXcgVXNiRGV2aWNlTWFuYWdlcl9H
ZXREZXZpY2VzX1BhcmFtcygpOwotICAgIHZhciBudW1iZXJPZkJ5dGVzID0gZGVjb2Rlci5yZWFk
VWludDMyKCk7Ci0gICAgdmFyIHZlcnNpb24gPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2
YWwub3B0aW9ucyA9IGRlY29kZXIuZGVjb2RlU3RydWN0UG9pbnRlcihVc2JFbnVtZXJhdGlvbk9w
dGlvbnMpOwotICAgIHJldHVybiB2YWw7Ci0gIH07Ci0KLSAgVXNiRGV2aWNlTWFuYWdlcl9HZXRE
ZXZpY2VzX1BhcmFtcy5lbmNvZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2YWwpIHsKLSAgICB2YXIg
cGFja2VkOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoVXNiRGV2aWNlTWFuYWdlcl9HZXREZXZp
Y2VzX1BhcmFtcy5lbmNvZGVkU2l6ZSk7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMigwKTsKLSAg
ICBlbmNvZGVyLmVuY29kZVN0cnVjdFBvaW50ZXIoVXNiRW51bWVyYXRpb25PcHRpb25zLCB2YWwu
b3B0aW9ucyk7Ci0gIH07Ci0gIGZ1bmN0aW9uIFVzYkRldmljZU1hbmFnZXJfR2V0RGV2aWNlc19S
ZXNwb25zZVBhcmFtcyh2YWx1ZXMpIHsKLSAgICB0aGlzLmluaXREZWZhdWx0c18oKTsKLSAgICB0
aGlzLmluaXRGaWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0gIFVzYkRldmljZU1hbmFnZXJfR2V0
RGV2aWNlc19SZXNwb25zZVBhcmFtcy5wcm90b3R5cGUuaW5pdERlZmF1bHRzXyA9IGZ1bmN0aW9u
KCkgewotICAgIHRoaXMucmVzdWx0cyA9IG51bGw7Ci0gIH07Ci0gIFVzYkRldmljZU1hbmFnZXJf
R2V0RGV2aWNlc19SZXNwb25zZVBhcmFtcy5wcm90b3R5cGUuaW5pdEZpZWxkc18gPSBmdW5jdGlv
bihmaWVsZHMpIHsKLSAgICBmb3IodmFyIGZpZWxkIGluIGZpZWxkcykgewotICAgICAgICBpZiAo
dGhpcy5oYXNPd25Qcm9wZXJ0eShmaWVsZCkpCi0gICAgICAgICAgdGhpc1tmaWVsZF0gPSBmaWVs
ZHNbZmllbGRdOwotICAgIH0KLSAgfTsKLQotICBVc2JEZXZpY2VNYW5hZ2VyX0dldERldmljZXNf
UmVzcG9uc2VQYXJhbXMudmFsaWRhdGUgPSBmdW5jdGlvbihtZXNzYWdlVmFsaWRhdG9yLCBvZmZz
ZXQpIHsKLSAgICB2YXIgZXJyOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVT
dHJ1Y3RIZWFkZXIob2Zmc2V0LCBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVy
ciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJy
OwotCi0gICAgdmFyIGtWZXJzaW9uU2l6ZXMgPSBbCi0gICAgICB7dmVyc2lvbjogMCwgbnVtQnl0
ZXM6IDE2fQotICAgIF07Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVj
dFZlcnNpb24ob2Zmc2V0LCBrVmVyc2lvblNpemVzKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0
b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotICAgIAot
ICAgIC8vIHZhbGlkYXRlIFVzYkRldmljZU1hbmFnZXJfR2V0RGV2aWNlc19SZXNwb25zZVBhcmFt
cy5yZXN1bHRzCi0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZUFycmF5UG9pbnRl
cihvZmZzZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDAsIDgsIG5ldyBjb2RlYy5Qb2lu
dGVyVG8oZGV2aWNlJC5Vc2JEZXZpY2VJbmZvKSwgZmFsc2UsIFswXSwgMCk7Ci0gICAgaWYgKGVy
ciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJy
OwotCi0gICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQot
ICBVc2JEZXZpY2VNYW5hZ2VyX0dldERldmljZXNfUmVzcG9uc2VQYXJhbXMuZW5jb2RlZFNpemUg
PSBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDg7Ci0KLSAgVXNiRGV2aWNlTWFuYWdlcl9HZXRE
ZXZpY2VzX1Jlc3BvbnNlUGFyYW1zLmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICB2
YXIgcGFja2VkOwotICAgIHZhciB2YWwgPSBuZXcgVXNiRGV2aWNlTWFuYWdlcl9HZXREZXZpY2Vz
X1Jlc3BvbnNlUGFyYW1zKCk7Ci0gICAgdmFyIG51bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRV
aW50MzIoKTsKLSAgICB2YXIgdmVyc2lvbiA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZh
bC5yZXN1bHRzID0gZGVjb2Rlci5kZWNvZGVBcnJheVBvaW50ZXIobmV3IGNvZGVjLlBvaW50ZXJU
byhkZXZpY2UkLlVzYkRldmljZUluZm8pKTsKLSAgICByZXR1cm4gdmFsOwotICB9OwotCi0gIFVz
YkRldmljZU1hbmFnZXJfR2V0RGV2aWNlc19SZXNwb25zZVBhcmFtcy5lbmNvZGUgPSBmdW5jdGlv
bihlbmNvZGVyLCB2YWwpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIGVuY29kZXIud3JpdGVVaW50
MzIoVXNiRGV2aWNlTWFuYWdlcl9HZXREZXZpY2VzX1Jlc3BvbnNlUGFyYW1zLmVuY29kZWRTaXpl
KTsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKDApOwotICAgIGVuY29kZXIuZW5jb2RlQXJyYXlQ
b2ludGVyKG5ldyBjb2RlYy5Qb2ludGVyVG8oZGV2aWNlJC5Vc2JEZXZpY2VJbmZvKSwgdmFsLnJl
c3VsdHMpOwotICB9OwotICBmdW5jdGlvbiBVc2JEZXZpY2VNYW5hZ2VyX0dldERldmljZV9QYXJh
bXModmFsdWVzKSB7Ci0gICAgdGhpcy5pbml0RGVmYXVsdHNfKCk7Ci0gICAgdGhpcy5pbml0Rmll
bGRzXyh2YWx1ZXMpOwotICB9Ci0KLQotICBVc2JEZXZpY2VNYW5hZ2VyX0dldERldmljZV9QYXJh
bXMucHJvdG90eXBlLmluaXREZWZhdWx0c18gPSBmdW5jdGlvbigpIHsKLSAgICB0aGlzLmd1aWQg
PSBudWxsOwotICAgIHRoaXMuZGV2aWNlUmVxdWVzdCA9IG5ldyBiaW5kaW5ncy5JbnRlcmZhY2VS
ZXF1ZXN0KCk7Ci0gIH07Ci0gIFVzYkRldmljZU1hbmFnZXJfR2V0RGV2aWNlX1BhcmFtcy5wcm90
b3R5cGUuaW5pdEZpZWxkc18gPSBmdW5jdGlvbihmaWVsZHMpIHsKLSAgICBmb3IodmFyIGZpZWxk
IGluIGZpZWxkcykgewotICAgICAgICBpZiAodGhpcy5oYXNPd25Qcm9wZXJ0eShmaWVsZCkpCi0g
ICAgICAgICAgdGhpc1tmaWVsZF0gPSBmaWVsZHNbZmllbGRdOwotICAgIH0KLSAgfTsKLQotICBV
c2JEZXZpY2VNYW5hZ2VyX0dldERldmljZV9QYXJhbXMudmFsaWRhdGUgPSBmdW5jdGlvbihtZXNz
YWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsKLSAgICB2YXIgZXJyOwotICAgIGVyciA9IG1lc3NhZ2VW
YWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RIZWFkZXIob2Zmc2V0LCBjb2RlYy5rU3RydWN0SGVhZGVy
U2l6ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQot
ICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgdmFyIGtWZXJzaW9uU2l6ZXMgPSBbCi0gICAgICB7
dmVyc2lvbjogMCwgbnVtQnl0ZXM6IDI0fQotICAgIF07Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlk
YXRvci52YWxpZGF0ZVN0cnVjdFZlcnNpb24ob2Zmc2V0LCBrVmVyc2lvblNpemVzKTsKLSAgICBp
ZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVy
biBlcnI7Ci0KLQotICAgIAotICAgIC8vIHZhbGlkYXRlIFVzYkRldmljZU1hbmFnZXJfR2V0RGV2
aWNlX1BhcmFtcy5ndWlkCi0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cmlu
Z1BvaW50ZXIob2Zmc2V0ICsgY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyAwLCBmYWxzZSkKLSAg
ICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJl
dHVybiBlcnI7Ci0KLQotICAgIAotICAgIC8vIHZhbGlkYXRlIFVzYkRldmljZU1hbmFnZXJfR2V0
RGV2aWNlX1BhcmFtcy5kZXZpY2VSZXF1ZXN0Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52
YWxpZGF0ZUludGVyZmFjZVJlcXVlc3Qob2Zmc2V0ICsgY29kZWMua1N0cnVjdEhlYWRlclNpemUg
KyA4LCBmYWxzZSkKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5P
TkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRp
b25FcnJvci5OT05FOwotICB9OwotCi0gIFVzYkRldmljZU1hbmFnZXJfR2V0RGV2aWNlX1BhcmFt
cy5lbmNvZGVkU2l6ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgMTY7Ci0KLSAgVXNiRGV2
aWNlTWFuYWdlcl9HZXREZXZpY2VfUGFyYW1zLmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsK
LSAgICB2YXIgcGFja2VkOwotICAgIHZhciB2YWwgPSBuZXcgVXNiRGV2aWNlTWFuYWdlcl9HZXRE
ZXZpY2VfUGFyYW1zKCk7Ci0gICAgdmFyIG51bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50
MzIoKTsKLSAgICB2YXIgdmVyc2lvbiA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhbC5n
dWlkID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoY29kZWMuU3RyaW5nKTsKLSAgICB2YWwuZGV2aWNl
UmVxdWVzdCA9IGRlY29kZXIuZGVjb2RlU3RydWN0KGNvZGVjLkludGVyZmFjZVJlcXVlc3QpOwot
ICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5z
a2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICByZXR1cm4gdmFsOwotICB9OwotCi0g
IFVzYkRldmljZU1hbmFnZXJfR2V0RGV2aWNlX1BhcmFtcy5lbmNvZGUgPSBmdW5jdGlvbihlbmNv
ZGVyLCB2YWwpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoVXNi
RGV2aWNlTWFuYWdlcl9HZXREZXZpY2VfUGFyYW1zLmVuY29kZWRTaXplKTsKLSAgICBlbmNvZGVy
LndyaXRlVWludDMyKDApOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNvZGVjLlN0cmluZywg
dmFsLmd1aWQpOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNvZGVjLkludGVyZmFjZVJlcXVl
c3QsIHZhbC5kZXZpY2VSZXF1ZXN0KTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rl
ci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0g
IH07Ci0gIGZ1bmN0aW9uIFVzYkRldmljZU1hbmFnZXJfU2V0Q2xpZW50X1BhcmFtcyh2YWx1ZXMp
IHsKLSAgICB0aGlzLmluaXREZWZhdWx0c18oKTsKLSAgICB0aGlzLmluaXRGaWVsZHNfKHZhbHVl
cyk7Ci0gIH0KLQotCi0gIFVzYkRldmljZU1hbmFnZXJfU2V0Q2xpZW50X1BhcmFtcy5wcm90b3R5
cGUuaW5pdERlZmF1bHRzXyA9IGZ1bmN0aW9uKCkgewotICAgIHRoaXMuY2xpZW50ID0gbmV3IFVz
YkRldmljZU1hbmFnZXJDbGllbnRQdHIoKTsKLSAgfTsKLSAgVXNiRGV2aWNlTWFuYWdlcl9TZXRD
bGllbnRfUGFyYW1zLnByb3RvdHlwZS5pbml0RmllbGRzXyA9IGZ1bmN0aW9uKGZpZWxkcykgewot
ICAgIGZvcih2YXIgZmllbGQgaW4gZmllbGRzKSB7Ci0gICAgICAgIGlmICh0aGlzLmhhc093blBy
b3BlcnR5KGZpZWxkKSkKLSAgICAgICAgICB0aGlzW2ZpZWxkXSA9IGZpZWxkc1tmaWVsZF07Ci0g
ICAgfQotICB9OwotCi0gIFVzYkRldmljZU1hbmFnZXJfU2V0Q2xpZW50X1BhcmFtcy52YWxpZGF0
ZSA9IGZ1bmN0aW9uKG1lc3NhZ2VWYWxpZGF0b3IsIG9mZnNldCkgewotICAgIHZhciBlcnI7Ci0g
ICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdEhlYWRlcihvZmZzZXQsIGNv
ZGVjLmtTdHJ1Y3RIZWFkZXJTaXplKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRh
dGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICB2YXIga1ZlcnNpb25T
aXplcyA9IFsKLSAgICAgIHt2ZXJzaW9uOiAwLCBudW1CeXRlczogMTZ9Ci0gICAgXTsKLSAgICBl
cnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0VmVyc2lvbihvZmZzZXQsIGtWZXJz
aW9uU2l6ZXMpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9O
RSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0gICAgCi0gICAgLy8gdmFsaWRhdGUgVXNiRGV2
aWNlTWFuYWdlcl9TZXRDbGllbnRfUGFyYW1zLmNsaWVudAotICAgIGVyciA9IG1lc3NhZ2VWYWxp
ZGF0b3IudmFsaWRhdGVJbnRlcmZhY2Uob2Zmc2V0ICsgY29kZWMua1N0cnVjdEhlYWRlclNpemUg
KyAwLCBmYWxzZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5O
T05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0
aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQotICBVc2JEZXZpY2VNYW5hZ2VyX1NldENsaWVudF9QYXJh
bXMuZW5jb2RlZFNpemUgPSBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDg7Ci0KLSAgVXNiRGV2
aWNlTWFuYWdlcl9TZXRDbGllbnRfUGFyYW1zLmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsK
LSAgICB2YXIgcGFja2VkOwotICAgIHZhciB2YWwgPSBuZXcgVXNiRGV2aWNlTWFuYWdlcl9TZXRD
bGllbnRfUGFyYW1zKCk7Ci0gICAgdmFyIG51bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50
MzIoKTsKLSAgICB2YXIgdmVyc2lvbiA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhbC5j
bGllbnQgPSBkZWNvZGVyLmRlY29kZVN0cnVjdChuZXcgY29kZWMuSW50ZXJmYWNlKFVzYkRldmlj
ZU1hbmFnZXJDbGllbnRQdHIpKTsKLSAgICByZXR1cm4gdmFsOwotICB9OwotCi0gIFVzYkRldmlj
ZU1hbmFnZXJfU2V0Q2xpZW50X1BhcmFtcy5lbmNvZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2YWwp
IHsKLSAgICB2YXIgcGFja2VkOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoVXNiRGV2aWNlTWFu
YWdlcl9TZXRDbGllbnRfUGFyYW1zLmVuY29kZWRTaXplKTsKLSAgICBlbmNvZGVyLndyaXRlVWlu
dDMyKDApOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KG5ldyBjb2RlYy5JbnRlcmZhY2UoVXNi
RGV2aWNlTWFuYWdlckNsaWVudFB0ciksIHZhbC5jbGllbnQpOwotICB9OwotICBmdW5jdGlvbiBV
c2JEZXZpY2VNYW5hZ2VyQ2xpZW50X09uRGV2aWNlQWRkZWRfUGFyYW1zKHZhbHVlcykgewotICAg
IHRoaXMuaW5pdERlZmF1bHRzXygpOwotICAgIHRoaXMuaW5pdEZpZWxkc18odmFsdWVzKTsKLSAg
fQotCi0KLSAgVXNiRGV2aWNlTWFuYWdlckNsaWVudF9PbkRldmljZUFkZGVkX1BhcmFtcy5wcm90
b3R5cGUuaW5pdERlZmF1bHRzXyA9IGZ1bmN0aW9uKCkgewotICAgIHRoaXMuZGV2aWNlSW5mbyA9
IG51bGw7Ci0gIH07Ci0gIFVzYkRldmljZU1hbmFnZXJDbGllbnRfT25EZXZpY2VBZGRlZF9QYXJh
bXMucHJvdG90eXBlLmluaXRGaWVsZHNfID0gZnVuY3Rpb24oZmllbGRzKSB7Ci0gICAgZm9yKHZh
ciBmaWVsZCBpbiBmaWVsZHMpIHsKLSAgICAgICAgaWYgKHRoaXMuaGFzT3duUHJvcGVydHkoZmll
bGQpKQotICAgICAgICAgIHRoaXNbZmllbGRdID0gZmllbGRzW2ZpZWxkXTsKLSAgICB9Ci0gIH07
Ci0KLSAgVXNiRGV2aWNlTWFuYWdlckNsaWVudF9PbkRldmljZUFkZGVkX1BhcmFtcy52YWxpZGF0
ZSA9IGZ1bmN0aW9uKG1lc3NhZ2VWYWxpZGF0b3IsIG9mZnNldCkgewotICAgIHZhciBlcnI7Ci0g
ICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdEhlYWRlcihvZmZzZXQsIGNv
ZGVjLmtTdHJ1Y3RIZWFkZXJTaXplKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRh
dGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICB2YXIga1ZlcnNpb25T
aXplcyA9IFsKLSAgICAgIHt2ZXJzaW9uOiAwLCBudW1CeXRlczogMTZ9Ci0gICAgXTsKLSAgICBl
cnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0VmVyc2lvbihvZmZzZXQsIGtWZXJz
aW9uU2l6ZXMpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9O
RSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0gICAgCi0gICAgLy8gdmFsaWRhdGUgVXNiRGV2
aWNlTWFuYWdlckNsaWVudF9PbkRldmljZUFkZGVkX1BhcmFtcy5kZXZpY2VJbmZvCi0gICAgZXJy
ID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFBvaW50ZXIob2Zmc2V0ICsgY29kZWMu
a1N0cnVjdEhlYWRlclNpemUgKyAwLCBkZXZpY2UkLlVzYkRldmljZUluZm8sIGZhbHNlKTsKLSAg
ICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJl
dHVybiBlcnI7Ci0KLSAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwot
ICB9OwotCi0gIFVzYkRldmljZU1hbmFnZXJDbGllbnRfT25EZXZpY2VBZGRlZF9QYXJhbXMuZW5j
b2RlZFNpemUgPSBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDg7Ci0KLSAgVXNiRGV2aWNlTWFu
YWdlckNsaWVudF9PbkRldmljZUFkZGVkX1BhcmFtcy5kZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVy
KSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICB2YXIgdmFsID0gbmV3IFVzYkRldmljZU1hbmFnZXJD
bGllbnRfT25EZXZpY2VBZGRlZF9QYXJhbXMoKTsKLSAgICB2YXIgbnVtYmVyT2ZCeXRlcyA9IGRl
Y29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhciB2ZXJzaW9uID0gZGVjb2Rlci5yZWFkVWludDMy
KCk7Ci0gICAgdmFsLmRldmljZUluZm8gPSBkZWNvZGVyLmRlY29kZVN0cnVjdFBvaW50ZXIoZGV2
aWNlJC5Vc2JEZXZpY2VJbmZvKTsKLSAgICByZXR1cm4gdmFsOwotICB9OwotCi0gIFVzYkRldmlj
ZU1hbmFnZXJDbGllbnRfT25EZXZpY2VBZGRlZF9QYXJhbXMuZW5jb2RlID0gZnVuY3Rpb24oZW5j
b2RlciwgdmFsKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKFVz
YkRldmljZU1hbmFnZXJDbGllbnRfT25EZXZpY2VBZGRlZF9QYXJhbXMuZW5jb2RlZFNpemUpOwot
ICAgIGVuY29kZXIud3JpdGVVaW50MzIoMCk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3RQb2lu
dGVyKGRldmljZSQuVXNiRGV2aWNlSW5mbywgdmFsLmRldmljZUluZm8pOwotICB9OwotICBmdW5j
dGlvbiBVc2JEZXZpY2VNYW5hZ2VyQ2xpZW50X09uRGV2aWNlUmVtb3ZlZF9QYXJhbXModmFsdWVz
KSB7Ci0gICAgdGhpcy5pbml0RGVmYXVsdHNfKCk7Ci0gICAgdGhpcy5pbml0RmllbGRzXyh2YWx1
ZXMpOwotICB9Ci0KLQotICBVc2JEZXZpY2VNYW5hZ2VyQ2xpZW50X09uRGV2aWNlUmVtb3ZlZF9Q
YXJhbXMucHJvdG90eXBlLmluaXREZWZhdWx0c18gPSBmdW5jdGlvbigpIHsKLSAgICB0aGlzLmRl
dmljZUluZm8gPSBudWxsOwotICB9OwotICBVc2JEZXZpY2VNYW5hZ2VyQ2xpZW50X09uRGV2aWNl
UmVtb3ZlZF9QYXJhbXMucHJvdG90eXBlLmluaXRGaWVsZHNfID0gZnVuY3Rpb24oZmllbGRzKSB7
Ci0gICAgZm9yKHZhciBmaWVsZCBpbiBmaWVsZHMpIHsKLSAgICAgICAgaWYgKHRoaXMuaGFzT3du
UHJvcGVydHkoZmllbGQpKQotICAgICAgICAgIHRoaXNbZmllbGRdID0gZmllbGRzW2ZpZWxkXTsK
LSAgICB9Ci0gIH07Ci0KLSAgVXNiRGV2aWNlTWFuYWdlckNsaWVudF9PbkRldmljZVJlbW92ZWRf
UGFyYW1zLnZhbGlkYXRlID0gZnVuY3Rpb24obWVzc2FnZVZhbGlkYXRvciwgb2Zmc2V0KSB7Ci0g
ICAgdmFyIGVycjsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0SGVh
ZGVyKG9mZnNldCwgY29kZWMua1N0cnVjdEhlYWRlclNpemUpOwotICAgIGlmIChlcnIgIT09IHZh
bGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAg
IHZhciBrVmVyc2lvblNpemVzID0gWwotICAgICAge3ZlcnNpb246IDAsIG51bUJ5dGVzOiAxNn0K
LSAgICBdOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RWZXJzaW9u
KG9mZnNldCwga1ZlcnNpb25TaXplcyk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlk
YXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0KLSAgICAKLSAgICAvLyB2
YWxpZGF0ZSBVc2JEZXZpY2VNYW5hZ2VyQ2xpZW50X09uRGV2aWNlUmVtb3ZlZF9QYXJhbXMuZGV2
aWNlSW5mbwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RQb2ludGVy
KG9mZnNldCArIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgMCwgZGV2aWNlJC5Vc2JEZXZpY2VJ
bmZvLCBmYWxzZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5O
T05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0
aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQotICBVc2JEZXZpY2VNYW5hZ2VyQ2xpZW50X09uRGV2aWNl
UmVtb3ZlZF9QYXJhbXMuZW5jb2RlZFNpemUgPSBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDg7
Ci0KLSAgVXNiRGV2aWNlTWFuYWdlckNsaWVudF9PbkRldmljZVJlbW92ZWRfUGFyYW1zLmRlY29k
ZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIHZhciB2YWwgPSBu
ZXcgVXNiRGV2aWNlTWFuYWdlckNsaWVudF9PbkRldmljZVJlbW92ZWRfUGFyYW1zKCk7Ci0gICAg
dmFyIG51bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YXIgdmVyc2lv
biA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhbC5kZXZpY2VJbmZvID0gZGVjb2Rlci5k
ZWNvZGVTdHJ1Y3RQb2ludGVyKGRldmljZSQuVXNiRGV2aWNlSW5mbyk7Ci0gICAgcmV0dXJuIHZh
bDsKLSAgfTsKLQotICBVc2JEZXZpY2VNYW5hZ2VyQ2xpZW50X09uRGV2aWNlUmVtb3ZlZF9QYXJh
bXMuZW5jb2RlID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAg
ICBlbmNvZGVyLndyaXRlVWludDMyKFVzYkRldmljZU1hbmFnZXJDbGllbnRfT25EZXZpY2VSZW1v
dmVkX1BhcmFtcy5lbmNvZGVkU2l6ZSk7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMigwKTsKLSAg
ICBlbmNvZGVyLmVuY29kZVN0cnVjdFBvaW50ZXIoZGV2aWNlJC5Vc2JEZXZpY2VJbmZvLCB2YWwu
ZGV2aWNlSW5mbyk7Ci0gIH07Ci0gIHZhciBrVXNiRGV2aWNlTWFuYWdlcl9HZXREZXZpY2VzX05h
bWUgPSAwOwotICB2YXIga1VzYkRldmljZU1hbmFnZXJfR2V0RGV2aWNlX05hbWUgPSAxOwotICB2
YXIga1VzYkRldmljZU1hbmFnZXJfU2V0Q2xpZW50X05hbWUgPSAyOwotCi0gIGZ1bmN0aW9uIFVz
YkRldmljZU1hbmFnZXJQdHIoaGFuZGxlT3JQdHJJbmZvKSB7Ci0gICAgdGhpcy5wdHIgPSBuZXcg
YmluZGluZ3MuSW50ZXJmYWNlUHRyQ29udHJvbGxlcihVc2JEZXZpY2VNYW5hZ2VyLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlT3JQdHJJ
bmZvKTsKLSAgfQotCi0gIGZ1bmN0aW9uIFVzYkRldmljZU1hbmFnZXJBc3NvY2lhdGVkUHRyKGFz
c29jaWF0ZWRJbnRlcmZhY2VQdHJJbmZvKSB7Ci0gICAgdGhpcy5wdHIgPSBuZXcgYXNzb2NpYXRl
ZEJpbmRpbmdzLkFzc29jaWF0ZWRJbnRlcmZhY2VQdHJDb250cm9sbGVyKAotICAgICAgICBVc2JE
ZXZpY2VNYW5hZ2VyLCBhc3NvY2lhdGVkSW50ZXJmYWNlUHRySW5mbyk7Ci0gIH0KLQotICBVc2JE
ZXZpY2VNYW5hZ2VyQXNzb2NpYXRlZFB0ci5wcm90b3R5cGUgPQotICAgICAgT2JqZWN0LmNyZWF0
ZShVc2JEZXZpY2VNYW5hZ2VyUHRyLnByb3RvdHlwZSk7Ci0gIFVzYkRldmljZU1hbmFnZXJBc3Nv
Y2lhdGVkUHRyLnByb3RvdHlwZS5jb25zdHJ1Y3RvciA9Ci0gICAgICBVc2JEZXZpY2VNYW5hZ2Vy
QXNzb2NpYXRlZFB0cjsKLQotICBmdW5jdGlvbiBVc2JEZXZpY2VNYW5hZ2VyUHJveHkocmVjZWl2
ZXIpIHsKLSAgICB0aGlzLnJlY2VpdmVyXyA9IHJlY2VpdmVyOwotICB9Ci0gIFVzYkRldmljZU1h
bmFnZXJQdHIucHJvdG90eXBlLmdldERldmljZXMgPSBmdW5jdGlvbigpIHsKLSAgICByZXR1cm4g
VXNiRGV2aWNlTWFuYWdlclByb3h5LnByb3RvdHlwZS5nZXREZXZpY2VzCi0gICAgICAgIC5hcHBs
eSh0aGlzLnB0ci5nZXRQcm94eSgpLCBhcmd1bWVudHMpOwotICB9OwotCi0gIFVzYkRldmljZU1h
bmFnZXJQcm94eS5wcm90b3R5cGUuZ2V0RGV2aWNlcyA9IGZ1bmN0aW9uKG9wdGlvbnMpIHsKLSAg
ICB2YXIgcGFyYW1zID0gbmV3IFVzYkRldmljZU1hbmFnZXJfR2V0RGV2aWNlc19QYXJhbXMoKTsK
LSAgICBwYXJhbXMub3B0aW9ucyA9IG9wdGlvbnM7Ci0gICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1
bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewotICAgICAgdmFyIGJ1aWxkZXIgPSBuZXcgY29kZWMu
TWVzc2FnZVYxQnVpbGRlcigKLSAgICAgICAgICBrVXNiRGV2aWNlTWFuYWdlcl9HZXREZXZpY2Vz
X05hbWUsCi0gICAgICAgICAgY29kZWMuYWxpZ24oVXNiRGV2aWNlTWFuYWdlcl9HZXREZXZpY2Vz
X1BhcmFtcy5lbmNvZGVkU2l6ZSksCi0gICAgICAgICAgY29kZWMua01lc3NhZ2VFeHBlY3RzUmVz
cG9uc2UsIDApOwotICAgICAgYnVpbGRlci5lbmNvZGVTdHJ1Y3QoVXNiRGV2aWNlTWFuYWdlcl9H
ZXREZXZpY2VzX1BhcmFtcywgcGFyYW1zKTsKLSAgICAgIHZhciBtZXNzYWdlID0gYnVpbGRlci5m
aW5pc2goKTsKLSAgICAgIHRoaXMucmVjZWl2ZXJfLmFjY2VwdEFuZEV4cGVjdFJlc3BvbnNlKG1l
c3NhZ2UpLnRoZW4oZnVuY3Rpb24obWVzc2FnZSkgewotICAgICAgICB2YXIgcmVhZGVyID0gbmV3
IGNvZGVjLk1lc3NhZ2VSZWFkZXIobWVzc2FnZSk7Ci0gICAgICAgIHZhciByZXNwb25zZVBhcmFt
cyA9Ci0gICAgICAgICAgICByZWFkZXIuZGVjb2RlU3RydWN0KFVzYkRldmljZU1hbmFnZXJfR2V0
RGV2aWNlc19SZXNwb25zZVBhcmFtcyk7Ci0gICAgICAgIHJlc29sdmUocmVzcG9uc2VQYXJhbXMp
OwotICAgICAgfSkuY2F0Y2goZnVuY3Rpb24ocmVzdWx0KSB7Ci0gICAgICAgIHJlamVjdChFcnJv
cigiQ29ubmVjdGlvbiBlcnJvcjogIiArIHJlc3VsdCkpOwotICAgICAgfSk7Ci0gICAgfS5iaW5k
KHRoaXMpKTsKLSAgfTsKLSAgVXNiRGV2aWNlTWFuYWdlclB0ci5wcm90b3R5cGUuZ2V0RGV2aWNl
ID0gZnVuY3Rpb24oKSB7Ci0gICAgcmV0dXJuIFVzYkRldmljZU1hbmFnZXJQcm94eS5wcm90b3R5
cGUuZ2V0RGV2aWNlCi0gICAgICAgIC5hcHBseSh0aGlzLnB0ci5nZXRQcm94eSgpLCBhcmd1bWVu
dHMpOwotICB9OwotCi0gIFVzYkRldmljZU1hbmFnZXJQcm94eS5wcm90b3R5cGUuZ2V0RGV2aWNl
ID0gZnVuY3Rpb24oZ3VpZCwgZGV2aWNlUmVxdWVzdCkgewotICAgIHZhciBwYXJhbXMgPSBuZXcg
VXNiRGV2aWNlTWFuYWdlcl9HZXREZXZpY2VfUGFyYW1zKCk7Ci0gICAgcGFyYW1zLmd1aWQgPSBn
dWlkOwotICAgIHBhcmFtcy5kZXZpY2VSZXF1ZXN0ID0gZGV2aWNlUmVxdWVzdDsKLSAgICB2YXIg
YnVpbGRlciA9IG5ldyBjb2RlYy5NZXNzYWdlVjBCdWlsZGVyKAotICAgICAgICBrVXNiRGV2aWNl
TWFuYWdlcl9HZXREZXZpY2VfTmFtZSwKLSAgICAgICAgY29kZWMuYWxpZ24oVXNiRGV2aWNlTWFu
YWdlcl9HZXREZXZpY2VfUGFyYW1zLmVuY29kZWRTaXplKSk7Ci0gICAgYnVpbGRlci5lbmNvZGVT
dHJ1Y3QoVXNiRGV2aWNlTWFuYWdlcl9HZXREZXZpY2VfUGFyYW1zLCBwYXJhbXMpOwotICAgIHZh
ciBtZXNzYWdlID0gYnVpbGRlci5maW5pc2goKTsKLSAgICB0aGlzLnJlY2VpdmVyXy5hY2NlcHQo
bWVzc2FnZSk7Ci0gIH07Ci0gIFVzYkRldmljZU1hbmFnZXJQdHIucHJvdG90eXBlLnNldENsaWVu
dCA9IGZ1bmN0aW9uKCkgewotICAgIHJldHVybiBVc2JEZXZpY2VNYW5hZ2VyUHJveHkucHJvdG90
eXBlLnNldENsaWVudAotICAgICAgICAuYXBwbHkodGhpcy5wdHIuZ2V0UHJveHkoKSwgYXJndW1l
bnRzKTsKLSAgfTsKLQotICBVc2JEZXZpY2VNYW5hZ2VyUHJveHkucHJvdG90eXBlLnNldENsaWVu
dCA9IGZ1bmN0aW9uKGNsaWVudCkgewotICAgIHZhciBwYXJhbXMgPSBuZXcgVXNiRGV2aWNlTWFu
YWdlcl9TZXRDbGllbnRfUGFyYW1zKCk7Ci0gICAgcGFyYW1zLmNsaWVudCA9IGNsaWVudDsKLSAg
ICB2YXIgYnVpbGRlciA9IG5ldyBjb2RlYy5NZXNzYWdlVjBCdWlsZGVyKAotICAgICAgICBrVXNi
RGV2aWNlTWFuYWdlcl9TZXRDbGllbnRfTmFtZSwKLSAgICAgICAgY29kZWMuYWxpZ24oVXNiRGV2
aWNlTWFuYWdlcl9TZXRDbGllbnRfUGFyYW1zLmVuY29kZWRTaXplKSk7Ci0gICAgYnVpbGRlci5l
bmNvZGVTdHJ1Y3QoVXNiRGV2aWNlTWFuYWdlcl9TZXRDbGllbnRfUGFyYW1zLCBwYXJhbXMpOwot
ICAgIHZhciBtZXNzYWdlID0gYnVpbGRlci5maW5pc2goKTsKLSAgICB0aGlzLnJlY2VpdmVyXy5h
Y2NlcHQobWVzc2FnZSk7Ci0gIH07Ci0KLSAgZnVuY3Rpb24gVXNiRGV2aWNlTWFuYWdlclN0dWIo
ZGVsZWdhdGUpIHsKLSAgICB0aGlzLmRlbGVnYXRlXyA9IGRlbGVnYXRlOwotICB9Ci0gIFVzYkRl
dmljZU1hbmFnZXJTdHViLnByb3RvdHlwZS5nZXREZXZpY2VzID0gZnVuY3Rpb24ob3B0aW9ucykg
ewotICAgIHJldHVybiB0aGlzLmRlbGVnYXRlXyAmJiB0aGlzLmRlbGVnYXRlXy5nZXREZXZpY2Vz
ICYmIHRoaXMuZGVsZWdhdGVfLmdldERldmljZXMob3B0aW9ucyk7Ci0gIH0KLSAgVXNiRGV2aWNl
TWFuYWdlclN0dWIucHJvdG90eXBlLmdldERldmljZSA9IGZ1bmN0aW9uKGd1aWQsIGRldmljZVJl
cXVlc3QpIHsKLSAgICByZXR1cm4gdGhpcy5kZWxlZ2F0ZV8gJiYgdGhpcy5kZWxlZ2F0ZV8uZ2V0
RGV2aWNlICYmIHRoaXMuZGVsZWdhdGVfLmdldERldmljZShndWlkLCBkZXZpY2VSZXF1ZXN0KTsK
LSAgfQotICBVc2JEZXZpY2VNYW5hZ2VyU3R1Yi5wcm90b3R5cGUuc2V0Q2xpZW50ID0gZnVuY3Rp
b24oY2xpZW50KSB7Ci0gICAgcmV0dXJuIHRoaXMuZGVsZWdhdGVfICYmIHRoaXMuZGVsZWdhdGVf
LnNldENsaWVudCAmJiB0aGlzLmRlbGVnYXRlXy5zZXRDbGllbnQoY2xpZW50KTsKLSAgfQotCi0g
IFVzYkRldmljZU1hbmFnZXJTdHViLnByb3RvdHlwZS5hY2NlcHQgPSBmdW5jdGlvbihtZXNzYWdl
KSB7Ci0gICAgdmFyIHJlYWRlciA9IG5ldyBjb2RlYy5NZXNzYWdlUmVhZGVyKG1lc3NhZ2UpOwot
ICAgIHN3aXRjaCAocmVhZGVyLm1lc3NhZ2VOYW1lKSB7Ci0gICAgY2FzZSBrVXNiRGV2aWNlTWFu
YWdlcl9HZXREZXZpY2VfTmFtZToKLSAgICAgIHZhciBwYXJhbXMgPSByZWFkZXIuZGVjb2RlU3Ry
dWN0KFVzYkRldmljZU1hbmFnZXJfR2V0RGV2aWNlX1BhcmFtcyk7Ci0gICAgICB0aGlzLmdldERl
dmljZShwYXJhbXMuZ3VpZCwgcGFyYW1zLmRldmljZVJlcXVlc3QpOwotICAgICAgcmV0dXJuIHRy
dWU7Ci0gICAgY2FzZSBrVXNiRGV2aWNlTWFuYWdlcl9TZXRDbGllbnRfTmFtZToKLSAgICAgIHZh
ciBwYXJhbXMgPSByZWFkZXIuZGVjb2RlU3RydWN0KFVzYkRldmljZU1hbmFnZXJfU2V0Q2xpZW50
X1BhcmFtcyk7Ci0gICAgICB0aGlzLnNldENsaWVudChwYXJhbXMuY2xpZW50KTsKLSAgICAgIHJl
dHVybiB0cnVlOwotICAgIGRlZmF1bHQ6Ci0gICAgICByZXR1cm4gZmFsc2U7Ci0gICAgfQotICB9
OwotCi0gIFVzYkRldmljZU1hbmFnZXJTdHViLnByb3RvdHlwZS5hY2NlcHRXaXRoUmVzcG9uZGVy
ID0KLSAgICAgIGZ1bmN0aW9uKG1lc3NhZ2UsIHJlc3BvbmRlcikgewotICAgIHZhciByZWFkZXIg
PSBuZXcgY29kZWMuTWVzc2FnZVJlYWRlcihtZXNzYWdlKTsKLSAgICBzd2l0Y2ggKHJlYWRlci5t
ZXNzYWdlTmFtZSkgewotICAgIGNhc2Uga1VzYkRldmljZU1hbmFnZXJfR2V0RGV2aWNlc19OYW1l
OgotICAgICAgdmFyIHBhcmFtcyA9IHJlYWRlci5kZWNvZGVTdHJ1Y3QoVXNiRGV2aWNlTWFuYWdl
cl9HZXREZXZpY2VzX1BhcmFtcyk7Ci0gICAgICB0aGlzLmdldERldmljZXMocGFyYW1zLm9wdGlv
bnMpLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICAgICAgdmFyIHJlc3BvbnNlUGFyYW1z
ID0KLSAgICAgICAgICAgIG5ldyBVc2JEZXZpY2VNYW5hZ2VyX0dldERldmljZXNfUmVzcG9uc2VQ
YXJhbXMoKTsKLSAgICAgICAgcmVzcG9uc2VQYXJhbXMucmVzdWx0cyA9IHJlc3BvbnNlLnJlc3Vs
dHM7Ci0gICAgICAgIHZhciBidWlsZGVyID0gbmV3IGNvZGVjLk1lc3NhZ2VWMUJ1aWxkZXIoCi0g
ICAgICAgICAgICBrVXNiRGV2aWNlTWFuYWdlcl9HZXREZXZpY2VzX05hbWUsCi0gICAgICAgICAg
ICBjb2RlYy5hbGlnbihVc2JEZXZpY2VNYW5hZ2VyX0dldERldmljZXNfUmVzcG9uc2VQYXJhbXMu
ZW5jb2RlZFNpemUpLAotICAgICAgICAgICAgY29kZWMua01lc3NhZ2VJc1Jlc3BvbnNlLCByZWFk
ZXIucmVxdWVzdElEKTsKLSAgICAgICAgYnVpbGRlci5lbmNvZGVTdHJ1Y3QoVXNiRGV2aWNlTWFu
YWdlcl9HZXREZXZpY2VzX1Jlc3BvbnNlUGFyYW1zLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICByZXNwb25zZVBhcmFtcyk7Ci0gICAgICAgIHZhciBtZXNzYWdlID0gYnVpbGRlci5maW5p
c2goKTsKLSAgICAgICAgcmVzcG9uZGVyLmFjY2VwdChtZXNzYWdlKTsKLSAgICAgIH0pOwotICAg
ICAgcmV0dXJuIHRydWU7Ci0gICAgZGVmYXVsdDoKLSAgICAgIHJldHVybiBmYWxzZTsKLSAgICB9
Ci0gIH07Ci0KLSAgZnVuY3Rpb24gdmFsaWRhdGVVc2JEZXZpY2VNYW5hZ2VyUmVxdWVzdChtZXNz
YWdlVmFsaWRhdG9yKSB7Ci0gICAgdmFyIG1lc3NhZ2UgPSBtZXNzYWdlVmFsaWRhdG9yLm1lc3Nh
Z2U7Ci0gICAgdmFyIHBhcmFtc0NsYXNzID0gbnVsbDsKLSAgICBzd2l0Y2ggKG1lc3NhZ2UuZ2V0
TmFtZSgpKSB7Ci0gICAgICBjYXNlIGtVc2JEZXZpY2VNYW5hZ2VyX0dldERldmljZXNfTmFtZToK
LSAgICAgICAgaWYgKG1lc3NhZ2UuZXhwZWN0c1Jlc3BvbnNlKCkpCi0gICAgICAgICAgcGFyYW1z
Q2xhc3MgPSBVc2JEZXZpY2VNYW5hZ2VyX0dldERldmljZXNfUGFyYW1zOwotICAgICAgYnJlYWs7
Ci0gICAgICBjYXNlIGtVc2JEZXZpY2VNYW5hZ2VyX0dldERldmljZV9OYW1lOgotICAgICAgICBp
ZiAoIW1lc3NhZ2UuZXhwZWN0c1Jlc3BvbnNlKCkgJiYgIW1lc3NhZ2UuaXNSZXNwb25zZSgpKQot
ICAgICAgICAgIHBhcmFtc0NsYXNzID0gVXNiRGV2aWNlTWFuYWdlcl9HZXREZXZpY2VfUGFyYW1z
OwotICAgICAgYnJlYWs7Ci0gICAgICBjYXNlIGtVc2JEZXZpY2VNYW5hZ2VyX1NldENsaWVudF9O
YW1lOgotICAgICAgICBpZiAoIW1lc3NhZ2UuZXhwZWN0c1Jlc3BvbnNlKCkgJiYgIW1lc3NhZ2Uu
aXNSZXNwb25zZSgpKQotICAgICAgICAgIHBhcmFtc0NsYXNzID0gVXNiRGV2aWNlTWFuYWdlcl9T
ZXRDbGllbnRfUGFyYW1zOwotICAgICAgYnJlYWs7Ci0gICAgfQotICAgIGlmIChwYXJhbXNDbGFz
cyA9PT0gbnVsbCkKLSAgICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7
Ci0gICAgcmV0dXJuIHBhcmFtc0NsYXNzLnZhbGlkYXRlKG1lc3NhZ2VWYWxpZGF0b3IsIG1lc3Nh
Z2VWYWxpZGF0b3IubWVzc2FnZS5nZXRIZWFkZXJOdW1CeXRlcygpKTsKLSAgfQotCi0gIGZ1bmN0
aW9uIHZhbGlkYXRlVXNiRGV2aWNlTWFuYWdlclJlc3BvbnNlKG1lc3NhZ2VWYWxpZGF0b3IpIHsK
LSAgIHZhciBtZXNzYWdlID0gbWVzc2FnZVZhbGlkYXRvci5tZXNzYWdlOwotICAgdmFyIHBhcmFt
c0NsYXNzID0gbnVsbDsKLSAgIHN3aXRjaCAobWVzc2FnZS5nZXROYW1lKCkpIHsKLSAgICAgIGNh
c2Uga1VzYkRldmljZU1hbmFnZXJfR2V0RGV2aWNlc19OYW1lOgotICAgICAgICBpZiAobWVzc2Fn
ZS5pc1Jlc3BvbnNlKCkpCi0gICAgICAgICAgcGFyYW1zQ2xhc3MgPSBVc2JEZXZpY2VNYW5hZ2Vy
X0dldERldmljZXNfUmVzcG9uc2VQYXJhbXM7Ci0gICAgICAgIGJyZWFrOwotICAgIH0KLSAgICBp
ZiAocGFyYW1zQ2xhc3MgPT09IG51bGwpCi0gICAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRp
b25FcnJvci5OT05FOwotICAgIHJldHVybiBwYXJhbXNDbGFzcy52YWxpZGF0ZShtZXNzYWdlVmFs
aWRhdG9yLCBtZXNzYWdlVmFsaWRhdG9yLm1lc3NhZ2UuZ2V0SGVhZGVyTnVtQnl0ZXMoKSk7Ci0g
IH0KLQotICB2YXIgVXNiRGV2aWNlTWFuYWdlciA9IHsKLSAgICBuYW1lOiAnZGV2aWNlOjptb2pv
bTo6VXNiRGV2aWNlTWFuYWdlcicsCi0gICAga1ZlcnNpb246IDAsCi0gICAgcHRyQ2xhc3M6IFVz
YkRldmljZU1hbmFnZXJQdHIsCi0gICAgcHJveHlDbGFzczogVXNiRGV2aWNlTWFuYWdlclByb3h5
LAotICAgIHN0dWJDbGFzczogVXNiRGV2aWNlTWFuYWdlclN0dWIsCi0gICAgdmFsaWRhdGVSZXF1
ZXN0OiB2YWxpZGF0ZVVzYkRldmljZU1hbmFnZXJSZXF1ZXN0LAotICAgIHZhbGlkYXRlUmVzcG9u
c2U6IHZhbGlkYXRlVXNiRGV2aWNlTWFuYWdlclJlc3BvbnNlLAotICB9OwotICBVc2JEZXZpY2VN
YW5hZ2VyU3R1Yi5wcm90b3R5cGUudmFsaWRhdG9yID0gdmFsaWRhdGVVc2JEZXZpY2VNYW5hZ2Vy
UmVxdWVzdDsKLSAgVXNiRGV2aWNlTWFuYWdlclByb3h5LnByb3RvdHlwZS52YWxpZGF0b3IgPSB2
YWxpZGF0ZVVzYkRldmljZU1hbmFnZXJSZXNwb25zZTsKLSAgdmFyIGtVc2JEZXZpY2VNYW5hZ2Vy
Q2xpZW50X09uRGV2aWNlQWRkZWRfTmFtZSA9IDA7Ci0gIHZhciBrVXNiRGV2aWNlTWFuYWdlckNs
aWVudF9PbkRldmljZVJlbW92ZWRfTmFtZSA9IDE7Ci0KLSAgZnVuY3Rpb24gVXNiRGV2aWNlTWFu
YWdlckNsaWVudFB0cihoYW5kbGVPclB0ckluZm8pIHsKLSAgICB0aGlzLnB0ciA9IG5ldyBiaW5k
aW5ncy5JbnRlcmZhY2VQdHJDb250cm9sbGVyKFVzYkRldmljZU1hbmFnZXJDbGllbnQsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVPclB0
ckluZm8pOwotICB9Ci0KLSAgZnVuY3Rpb24gVXNiRGV2aWNlTWFuYWdlckNsaWVudEFzc29jaWF0
ZWRQdHIoYXNzb2NpYXRlZEludGVyZmFjZVB0ckluZm8pIHsKLSAgICB0aGlzLnB0ciA9IG5ldyBh
c3NvY2lhdGVkQmluZGluZ3MuQXNzb2NpYXRlZEludGVyZmFjZVB0ckNvbnRyb2xsZXIoCi0gICAg
ICAgIFVzYkRldmljZU1hbmFnZXJDbGllbnQsIGFzc29jaWF0ZWRJbnRlcmZhY2VQdHJJbmZvKTsK
LSAgfQotCi0gIFVzYkRldmljZU1hbmFnZXJDbGllbnRBc3NvY2lhdGVkUHRyLnByb3RvdHlwZSA9
Ci0gICAgICBPYmplY3QuY3JlYXRlKFVzYkRldmljZU1hbmFnZXJDbGllbnRQdHIucHJvdG90eXBl
KTsKLSAgVXNiRGV2aWNlTWFuYWdlckNsaWVudEFzc29jaWF0ZWRQdHIucHJvdG90eXBlLmNvbnN0
cnVjdG9yID0KLSAgICAgIFVzYkRldmljZU1hbmFnZXJDbGllbnRBc3NvY2lhdGVkUHRyOwotCi0g
IGZ1bmN0aW9uIFVzYkRldmljZU1hbmFnZXJDbGllbnRQcm94eShyZWNlaXZlcikgewotICAgIHRo
aXMucmVjZWl2ZXJfID0gcmVjZWl2ZXI7Ci0gIH0KLSAgVXNiRGV2aWNlTWFuYWdlckNsaWVudFB0
ci5wcm90b3R5cGUub25EZXZpY2VBZGRlZCA9IGZ1bmN0aW9uKCkgewotICAgIHJldHVybiBVc2JE
ZXZpY2VNYW5hZ2VyQ2xpZW50UHJveHkucHJvdG90eXBlLm9uRGV2aWNlQWRkZWQKLSAgICAgICAg
LmFwcGx5KHRoaXMucHRyLmdldFByb3h5KCksIGFyZ3VtZW50cyk7Ci0gIH07Ci0KLSAgVXNiRGV2
aWNlTWFuYWdlckNsaWVudFByb3h5LnByb3RvdHlwZS5vbkRldmljZUFkZGVkID0gZnVuY3Rpb24o
ZGV2aWNlSW5mbykgewotICAgIHZhciBwYXJhbXMgPSBuZXcgVXNiRGV2aWNlTWFuYWdlckNsaWVu
dF9PbkRldmljZUFkZGVkX1BhcmFtcygpOwotICAgIHBhcmFtcy5kZXZpY2VJbmZvID0gZGV2aWNl
SW5mbzsKLSAgICB2YXIgYnVpbGRlciA9IG5ldyBjb2RlYy5NZXNzYWdlVjBCdWlsZGVyKAotICAg
ICAgICBrVXNiRGV2aWNlTWFuYWdlckNsaWVudF9PbkRldmljZUFkZGVkX05hbWUsCi0gICAgICAg
IGNvZGVjLmFsaWduKFVzYkRldmljZU1hbmFnZXJDbGllbnRfT25EZXZpY2VBZGRlZF9QYXJhbXMu
ZW5jb2RlZFNpemUpKTsKLSAgICBidWlsZGVyLmVuY29kZVN0cnVjdChVc2JEZXZpY2VNYW5hZ2Vy
Q2xpZW50X09uRGV2aWNlQWRkZWRfUGFyYW1zLCBwYXJhbXMpOwotICAgIHZhciBtZXNzYWdlID0g
YnVpbGRlci5maW5pc2goKTsKLSAgICB0aGlzLnJlY2VpdmVyXy5hY2NlcHQobWVzc2FnZSk7Ci0g
IH07Ci0gIFVzYkRldmljZU1hbmFnZXJDbGllbnRQdHIucHJvdG90eXBlLm9uRGV2aWNlUmVtb3Zl
ZCA9IGZ1bmN0aW9uKCkgewotICAgIHJldHVybiBVc2JEZXZpY2VNYW5hZ2VyQ2xpZW50UHJveHku
cHJvdG90eXBlLm9uRGV2aWNlUmVtb3ZlZAotICAgICAgICAuYXBwbHkodGhpcy5wdHIuZ2V0UHJv
eHkoKSwgYXJndW1lbnRzKTsKLSAgfTsKLQotICBVc2JEZXZpY2VNYW5hZ2VyQ2xpZW50UHJveHku
cHJvdG90eXBlLm9uRGV2aWNlUmVtb3ZlZCA9IGZ1bmN0aW9uKGRldmljZUluZm8pIHsKLSAgICB2
YXIgcGFyYW1zID0gbmV3IFVzYkRldmljZU1hbmFnZXJDbGllbnRfT25EZXZpY2VSZW1vdmVkX1Bh
cmFtcygpOwotICAgIHBhcmFtcy5kZXZpY2VJbmZvID0gZGV2aWNlSW5mbzsKLSAgICB2YXIgYnVp
bGRlciA9IG5ldyBjb2RlYy5NZXNzYWdlVjBCdWlsZGVyKAotICAgICAgICBrVXNiRGV2aWNlTWFu
YWdlckNsaWVudF9PbkRldmljZVJlbW92ZWRfTmFtZSwKLSAgICAgICAgY29kZWMuYWxpZ24oVXNi
RGV2aWNlTWFuYWdlckNsaWVudF9PbkRldmljZVJlbW92ZWRfUGFyYW1zLmVuY29kZWRTaXplKSk7
Ci0gICAgYnVpbGRlci5lbmNvZGVTdHJ1Y3QoVXNiRGV2aWNlTWFuYWdlckNsaWVudF9PbkRldmlj
ZVJlbW92ZWRfUGFyYW1zLCBwYXJhbXMpOwotICAgIHZhciBtZXNzYWdlID0gYnVpbGRlci5maW5p
c2goKTsKLSAgICB0aGlzLnJlY2VpdmVyXy5hY2NlcHQobWVzc2FnZSk7Ci0gIH07Ci0KLSAgZnVu
Y3Rpb24gVXNiRGV2aWNlTWFuYWdlckNsaWVudFN0dWIoZGVsZWdhdGUpIHsKLSAgICB0aGlzLmRl
bGVnYXRlXyA9IGRlbGVnYXRlOwotICB9Ci0gIFVzYkRldmljZU1hbmFnZXJDbGllbnRTdHViLnBy
b3RvdHlwZS5vbkRldmljZUFkZGVkID0gZnVuY3Rpb24oZGV2aWNlSW5mbykgewotICAgIHJldHVy
biB0aGlzLmRlbGVnYXRlXyAmJiB0aGlzLmRlbGVnYXRlXy5vbkRldmljZUFkZGVkICYmIHRoaXMu
ZGVsZWdhdGVfLm9uRGV2aWNlQWRkZWQoZGV2aWNlSW5mbyk7Ci0gIH0KLSAgVXNiRGV2aWNlTWFu
YWdlckNsaWVudFN0dWIucHJvdG90eXBlLm9uRGV2aWNlUmVtb3ZlZCA9IGZ1bmN0aW9uKGRldmlj
ZUluZm8pIHsKLSAgICByZXR1cm4gdGhpcy5kZWxlZ2F0ZV8gJiYgdGhpcy5kZWxlZ2F0ZV8ub25E
ZXZpY2VSZW1vdmVkICYmIHRoaXMuZGVsZWdhdGVfLm9uRGV2aWNlUmVtb3ZlZChkZXZpY2VJbmZv
KTsKLSAgfQotCi0gIFVzYkRldmljZU1hbmFnZXJDbGllbnRTdHViLnByb3RvdHlwZS5hY2NlcHQg
PSBmdW5jdGlvbihtZXNzYWdlKSB7Ci0gICAgdmFyIHJlYWRlciA9IG5ldyBjb2RlYy5NZXNzYWdl
UmVhZGVyKG1lc3NhZ2UpOwotICAgIHN3aXRjaCAocmVhZGVyLm1lc3NhZ2VOYW1lKSB7Ci0gICAg
Y2FzZSBrVXNiRGV2aWNlTWFuYWdlckNsaWVudF9PbkRldmljZUFkZGVkX05hbWU6Ci0gICAgICB2
YXIgcGFyYW1zID0gcmVhZGVyLmRlY29kZVN0cnVjdChVc2JEZXZpY2VNYW5hZ2VyQ2xpZW50X09u
RGV2aWNlQWRkZWRfUGFyYW1zKTsKLSAgICAgIHRoaXMub25EZXZpY2VBZGRlZChwYXJhbXMuZGV2
aWNlSW5mbyk7Ci0gICAgICByZXR1cm4gdHJ1ZTsKLSAgICBjYXNlIGtVc2JEZXZpY2VNYW5hZ2Vy
Q2xpZW50X09uRGV2aWNlUmVtb3ZlZF9OYW1lOgotICAgICAgdmFyIHBhcmFtcyA9IHJlYWRlci5k
ZWNvZGVTdHJ1Y3QoVXNiRGV2aWNlTWFuYWdlckNsaWVudF9PbkRldmljZVJlbW92ZWRfUGFyYW1z
KTsKLSAgICAgIHRoaXMub25EZXZpY2VSZW1vdmVkKHBhcmFtcy5kZXZpY2VJbmZvKTsKLSAgICAg
IHJldHVybiB0cnVlOwotICAgIGRlZmF1bHQ6Ci0gICAgICByZXR1cm4gZmFsc2U7Ci0gICAgfQot
ICB9OwotCi0gIFVzYkRldmljZU1hbmFnZXJDbGllbnRTdHViLnByb3RvdHlwZS5hY2NlcHRXaXRo
UmVzcG9uZGVyID0KLSAgICAgIGZ1bmN0aW9uKG1lc3NhZ2UsIHJlc3BvbmRlcikgewotICAgIHZh
ciByZWFkZXIgPSBuZXcgY29kZWMuTWVzc2FnZVJlYWRlcihtZXNzYWdlKTsKLSAgICBzd2l0Y2gg
KHJlYWRlci5tZXNzYWdlTmFtZSkgewotICAgIGRlZmF1bHQ6Ci0gICAgICByZXR1cm4gZmFsc2U7
Ci0gICAgfQotICB9OwotCi0gIGZ1bmN0aW9uIHZhbGlkYXRlVXNiRGV2aWNlTWFuYWdlckNsaWVu
dFJlcXVlc3QobWVzc2FnZVZhbGlkYXRvcikgewotICAgIHZhciBtZXNzYWdlID0gbWVzc2FnZVZh
bGlkYXRvci5tZXNzYWdlOwotICAgIHZhciBwYXJhbXNDbGFzcyA9IG51bGw7Ci0gICAgc3dpdGNo
IChtZXNzYWdlLmdldE5hbWUoKSkgewotICAgICAgY2FzZSBrVXNiRGV2aWNlTWFuYWdlckNsaWVu
dF9PbkRldmljZUFkZGVkX05hbWU6Ci0gICAgICAgIGlmICghbWVzc2FnZS5leHBlY3RzUmVzcG9u
c2UoKSAmJiAhbWVzc2FnZS5pc1Jlc3BvbnNlKCkpCi0gICAgICAgICAgcGFyYW1zQ2xhc3MgPSBV
c2JEZXZpY2VNYW5hZ2VyQ2xpZW50X09uRGV2aWNlQWRkZWRfUGFyYW1zOwotICAgICAgYnJlYWs7
Ci0gICAgICBjYXNlIGtVc2JEZXZpY2VNYW5hZ2VyQ2xpZW50X09uRGV2aWNlUmVtb3ZlZF9OYW1l
OgotICAgICAgICBpZiAoIW1lc3NhZ2UuZXhwZWN0c1Jlc3BvbnNlKCkgJiYgIW1lc3NhZ2UuaXNS
ZXNwb25zZSgpKQotICAgICAgICAgIHBhcmFtc0NsYXNzID0gVXNiRGV2aWNlTWFuYWdlckNsaWVu
dF9PbkRldmljZVJlbW92ZWRfUGFyYW1zOwotICAgICAgYnJlYWs7Ci0gICAgfQotICAgIGlmIChw
YXJhbXNDbGFzcyA9PT0gbnVsbCkKLSAgICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVy
cm9yLk5PTkU7Ci0gICAgcmV0dXJuIHBhcmFtc0NsYXNzLnZhbGlkYXRlKG1lc3NhZ2VWYWxpZGF0
b3IsIG1lc3NhZ2VWYWxpZGF0b3IubWVzc2FnZS5nZXRIZWFkZXJOdW1CeXRlcygpKTsKLSAgfQot
Ci0gIGZ1bmN0aW9uIHZhbGlkYXRlVXNiRGV2aWNlTWFuYWdlckNsaWVudFJlc3BvbnNlKG1lc3Nh
Z2VWYWxpZGF0b3IpIHsKLSAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05F
OwotICB9Ci0KLSAgdmFyIFVzYkRldmljZU1hbmFnZXJDbGllbnQgPSB7Ci0gICAgbmFtZTogJ2Rl
dmljZTo6bW9qb206OlVzYkRldmljZU1hbmFnZXJDbGllbnQnLAotICAgIGtWZXJzaW9uOiAwLAot
ICAgIHB0ckNsYXNzOiBVc2JEZXZpY2VNYW5hZ2VyQ2xpZW50UHRyLAotICAgIHByb3h5Q2xhc3M6
IFVzYkRldmljZU1hbmFnZXJDbGllbnRQcm94eSwKLSAgICBzdHViQ2xhc3M6IFVzYkRldmljZU1h
bmFnZXJDbGllbnRTdHViLAotICAgIHZhbGlkYXRlUmVxdWVzdDogdmFsaWRhdGVVc2JEZXZpY2VN
YW5hZ2VyQ2xpZW50UmVxdWVzdCwKLSAgICB2YWxpZGF0ZVJlc3BvbnNlOiBudWxsLAotICB9Owot
ICBVc2JEZXZpY2VNYW5hZ2VyQ2xpZW50U3R1Yi5wcm90b3R5cGUudmFsaWRhdG9yID0gdmFsaWRh
dGVVc2JEZXZpY2VNYW5hZ2VyQ2xpZW50UmVxdWVzdDsKLSAgVXNiRGV2aWNlTWFuYWdlckNsaWVu
dFByb3h5LnByb3RvdHlwZS52YWxpZGF0b3IgPSBudWxsOwotICBleHBvcnRzLlVzYkRldmljZUZp
bHRlciA9IFVzYkRldmljZUZpbHRlcjsKLSAgZXhwb3J0cy5Vc2JFbnVtZXJhdGlvbk9wdGlvbnMg
PSBVc2JFbnVtZXJhdGlvbk9wdGlvbnM7Ci0gIGV4cG9ydHMuVXNiRGV2aWNlTWFuYWdlciA9IFVz
YkRldmljZU1hbmFnZXI7Ci0gIGV4cG9ydHMuVXNiRGV2aWNlTWFuYWdlclB0ciA9IFVzYkRldmlj
ZU1hbmFnZXJQdHI7Ci0gIGV4cG9ydHMuVXNiRGV2aWNlTWFuYWdlckFzc29jaWF0ZWRQdHIgPSBV
c2JEZXZpY2VNYW5hZ2VyQXNzb2NpYXRlZFB0cjsKLSAgZXhwb3J0cy5Vc2JEZXZpY2VNYW5hZ2Vy
Q2xpZW50ID0gVXNiRGV2aWNlTWFuYWdlckNsaWVudDsKLSAgZXhwb3J0cy5Vc2JEZXZpY2VNYW5h
Z2VyQ2xpZW50UHRyID0gVXNiRGV2aWNlTWFuYWdlckNsaWVudFB0cjsKLSAgZXhwb3J0cy5Vc2JE
ZXZpY2VNYW5hZ2VyQ2xpZW50QXNzb2NpYXRlZFB0ciA9IFVzYkRldmljZU1hbmFnZXJDbGllbnRB
c3NvY2lhdGVkUHRyOwotfSkoKTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy9jaHJvbWl1bS9kZXZpY2VfbWFuYWdlci5tb2pvbS5qcy5oZWFkZXJzIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vZGV2aWNl
X21hbmFnZXIubW9qb20uanMuaGVhZGVycwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
NjgwNWMzMjNkZjVhOTc1MjMxNjQ4YjgzMGUzM2NlMTgzYzNjYmJkMy4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS9kZXZpY2VfbWFuYWdlci5tb2pv
bS5qcy5oZWFkZXJzCisrKyAvZGV2L251bGwKQEAgLTEgKzAsMCBAQAotQ29udGVudC1UeXBlOiB0
ZXh0L2phdmFzY3JpcHQ7IGNoYXJzZXQ9dXRmLTgKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL21vam9fYmlu
ZGluZ3MuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy9jaHJvbWl1bS9tb2pvX2JpbmRpbmdzLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCA2N2Q2YTg4Mjg1NTFjMWY3MDNlZjI5ODMxNTkyZjJlNGQ4YTQyNDg1Li4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL21vam9fYmluZGlu
Z3MuanMKKysrIC9kZXYvbnVsbApAQCAtMSw1MTI5ICswLDAgQEAKLS8vIENvcHlyaWdodCAyMDE3
IFRoZSBDaHJvbWl1bSBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotLy8gVXNlIG9mIHRo
aXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZSB0aGF0IGNh
biBiZQotLy8gZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KLQotJ3VzZSBzdHJpY3QnOwotCi1p
ZiAobW9qbyAmJiBtb2pvLmludGVybmFsKSB7Ci0gIHRocm93IG5ldyBFcnJvcignVGhlIE1vam8g
YmluZGluZ3MgbGlicmFyeSBoYXMgYmVlbiBpbml0aWFsaXplZC4nKTsKLX0KLQotdmFyIG1vam8g
PSBtb2pvIHx8IHt9OwotbW9qby5pbnRlcm5hbCA9IHt9OwotbW9qby5pbnRlcm5hbC5nbG9iYWwg
PSB0aGlzOwotbW9qby5jb25maWcgPSB7Ci0gIC8vIFdoZXRoZXIgdG8gYXV0b21hdGljYWxseSBs
b2FkIG1vam9tIGRlcGVuZGVuY2llcy4KLSAgLy8gRm9yIGV4YW1wbGUsIGlmIGZvby5tb2pvbSBp
bXBvcnRzIGJhci5tb2pvbSwgfGF1dG9Mb2FkTW9qb21EZXBzfCBzZXQgdG8KLSAgLy8gdHJ1ZSBt
ZWFucyB0aGF0IGxvYWRpbmcgZm9vLm1vam9tLmpzIHdpbGwgaW5zZXJ0IGEgPHNjcmlwdD4gdGFn
IHRvIGxvYWQKLSAgLy8gYmFyLm1vam9tLmpzLCBpZiBpdCBoYXNuJ3QgYmVlbiBsb2FkZWQuCi0g
IC8vCi0gIC8vIFRoZSBVUkwgb2YgYmFyLm1vam9tLmpzIGlzIGRldGVybWluZWQgYnkgdGhlIHJl
bGF0aXZlIHBhdGggb2YgYmFyLm1vam9tCi0gIC8vIChyZWxhdGl2ZSB0byB0aGUgcG9zaXRpb24g
b2YgZm9vLm1vam9tIGF0IGJ1aWxkIHRpbWUpIGFuZCB0aGUgVVJMIG9mCi0gIC8vIGZvby5tb2pv
bS5qcy4gRm9yIGV4bXBsZSwgaWYgYXQgYnVpbGQgdGltZSB0aGUgdHdvIG1vam9tIGZpbGVzIGFy
ZQotICAvLyBsb2NhdGVkIGF0OgotICAvLyAgIGEvYi9jL2Zvby5tb2pvbQotICAvLyAgIGEvYi9k
L2Jhci5tb2pvbQotICAvLyBhbmQgdGhlIFVSTCBvZiBmb28ubW9qb20uanMgaXM6Ci0gIC8vICAg
aHR0cDovL2V4YW1wbGUub3JnL3NjcmlwdHMvYi9jL2Zvby5tb2pvbS5qcwotICAvLyB0aGVuIHRo
ZSBVUkwgb2YgYmFyLm1vam9tLmpzIHdpbGwgYmU6Ci0gIC8vICAgaHR0cDovL2V4YW1wbGUub3Jn
L3NjcmlwdHMvYi9kL2Jhci5tb2pvbS5qcwotICAvLwotICAvLyBJZiB5b3Ugd291bGQgbGlrZSBi
YXIubW9qb20uanMgdG8gbGl2ZSBhdCBhIGRpZmZlcmVudCBsb2NhdGlvbiwgeW91IG5lZWQKLSAg
Ly8gdG8gdHVybiBvZmYgfGF1dG9Mb2FkTW9qb21EZXBzfCBiZWZvcmUgbG9hZGluZyBmb28ubW9q
b20uanMsIGFuZCBtYW51YWxseQotICAvLyBsb2FkIGJhci5tb2pvbS5qcyB5b3Vyc2VsZi4gU2lt
aWxhcmx5LCB5b3UgbmVlZCB0byB0dXJuIG9mZiB0aGUgb3B0aW9uIGlmCi0gIC8vIHlvdSBtZXJn
ZSBiYXIubW9qb20uanMgYW5kIGZvby5tb2pvbS5qcyBpbnRvIGEgc2luZ2xlIGZpbGUuCi0gIC8v
Ci0gIC8vIFBlcmZvcm1hbmNlIHRpcDogQXZvaWQgbG9hZGluZyB0aGUgc2FtZSBtb2pvbS5qcyBm
aWxlIG11bHRpcGxlIHRpbWVzLgotICAvLyBBc3N1bWUgdGhhdCB8YXV0b0xvYWRNb2pvbURlcHN8
IGlzIHNldCB0byB0cnVlLAotICAvLwotICAvLyA8IS0tCi0gIC8vIChUaGlzIGNvbW1lbnQgdGFn
IGlzIG5lY2Vzc2FyeSBvbiBJT1MgdG8gYXZvaWQgaW50ZXJwcmV0aW5nIHRoZSBjbG9zaW5nCi0g
IC8vIHNjcmlwdCB0YWdzIGluIHRoZSBleGFtcGxlLikKLSAgLy8KLSAgLy8gTm8gZHVwbGljYXRl
IGxvYWRpbmc7IHJlY29tbWVuZGVkOgotICAvLyA8c2NyaXB0IHNyYz0iaHR0cDovL2V4YW1wbGUu
b3JnL3NjcmlwdHMvYi9jL2Zvby5tb2pvbS5qcyI+PC9zY3JpcHQ+Ci0gIC8vCi0gIC8vIE5vIGR1
cGxpY2F0ZSBsb2FkaW5nLCBhbHRob3VnaCB1bm5lY2Vzc2FyeToKLSAgLy8gPHNjcmlwdCBzcmM9
Imh0dHA6Ly9leGFtcGxlLm9yZy9zY3JpcHRzL2IvZC9iYXIubW9qb20uanMiPjwvc2NyaXB0Pgot
ICAvLyA8c2NyaXB0IHNyYz0iaHR0cDovL2V4YW1wbGUub3JnL3NjcmlwdHMvYi9jL2Zvby5tb2pv
bS5qcyI+PC9zY3JpcHQ+Ci0gIC8vCi0gIC8vIExvYWQgYmFyLm1vam9tLmpzIHR3aWNlOyBzaG91
bGQgYmUgYXZvaWRlZDoKLSAgLy8gPHNjcmlwdCBzcmM9Imh0dHA6Ly9leGFtcGxlLm9yZy9zY3Jp
cHRzL2IvYy9mb28ubW9qb20uanMiPjwvc2NyaXB0PgotICAvLyA8c2NyaXB0IHNyYz0iaHR0cDov
L2V4YW1wbGUub3JnL3NjcmlwdHMvYi9kL2Jhci5tb2pvbS5qcyI+PC9zY3JpcHQ+Ci0gIC8vCi0g
IC8vIC0tPgotICBhdXRvTG9hZE1vam9tRGVwczogdHJ1ZQotfTsKLQotKGZ1bmN0aW9uKCkgewot
ICB2YXIgaW50ZXJuYWwgPSBtb2pvLmludGVybmFsOwotCi0gIHZhciBMb2FkU3RhdGUgPSB7Ci0g
ICAgUEVORElOR19MT0FEOiAxLAotICAgIExPQURFRDogMgotICB9OwotCi0gIHZhciBtb2pvbVJl
Z2lzdHJ5ID0gbmV3IE1hcCgpOwotCi0gIGZ1bmN0aW9uIGV4cG9zZU5hbWVzcGFjZShuYW1lc3Bh
Y2UpIHsKLSAgICB2YXIgY3VycmVudCA9IGludGVybmFsLmdsb2JhbDsKLSAgICB2YXIgcGFydHMg
PSBuYW1lc3BhY2Uuc3BsaXQoJy4nKTsKLQotICAgIGZvciAodmFyIHBhcnQ7IHBhcnRzLmxlbmd0
aCAmJiAocGFydCA9IHBhcnRzLnNoaWZ0KCkpOykgewotICAgICAgaWYgKCFjdXJyZW50W3BhcnRd
KSB7Ci0gICAgICAgIGN1cnJlbnRbcGFydF0gPSB7fTsKLSAgICAgIH0KLSAgICAgIGN1cnJlbnQg
PSBjdXJyZW50W3BhcnRdOwotICAgIH0KLQotICAgIHJldHVybiBjdXJyZW50OwotICB9Ci0KLSAg
ZnVuY3Rpb24gaXNNb2pvbVBlbmRpbmdMb2FkKGlkKSB7Ci0gICAgcmV0dXJuIG1vam9tUmVnaXN0
cnkuZ2V0KGlkKSA9PT0gTG9hZFN0YXRlLlBFTkRJTkdfTE9BRDsKLSAgfQotCi0gIGZ1bmN0aW9u
IGlzTW9qb21Mb2FkZWQoaWQpIHsKLSAgICByZXR1cm4gbW9qb21SZWdpc3RyeS5nZXQoaWQpID09
PSBMb2FkU3RhdGUuTE9BREVEOwotICB9Ci0KLSAgZnVuY3Rpb24gbWFya01vam9tUGVuZGluZ0xv
YWQoaWQpIHsKLSAgICBpZiAoaXNNb2pvbUxvYWRlZChpZCkpIHsKLSAgICAgIHRocm93IG5ldyBF
cnJvcignVGhlIGZvbGxvd2luZyBtb2pvbSBmaWxlIGhhcyBiZWVuIGxvYWRlZDogJyArIGlkKTsK
LSAgICB9Ci0KLSAgICBtb2pvbVJlZ2lzdHJ5LnNldChpZCwgTG9hZFN0YXRlLlBFTkRJTkdfTE9B
RCk7Ci0gIH0KLQotICBmdW5jdGlvbiBtYXJrTW9qb21Mb2FkZWQoaWQpIHsKLSAgICBtb2pvbVJl
Z2lzdHJ5LnNldChpZCwgTG9hZFN0YXRlLkxPQURFRCk7Ci0gIH0KLQotICBmdW5jdGlvbiBsb2Fk
TW9qb21JZk5lY2Vzc2FyeShpZCwgcmVsYXRpdmVQYXRoKSB7Ci0gICAgaWYgKG1vam9tUmVnaXN0
cnkuaGFzKGlkKSkgewotICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIGlmIChpbnRlcm5hbC5n
bG9iYWwuZG9jdW1lbnQgPT09IHVuZGVmaW5lZCkgewotICAgICAgdGhyb3cgbmV3IEVycm9yKAot
ICAgICAgICAgICdNb2pvbSBkZXBlbmRlbmN5IGF1dG9sb2FkaW5nIGlzIG5vdCBpbXBsZW1lbnRl
ZCBpbiB3b3JrZXJzLiAnICsKLSAgICAgICAgICAnUGxlYXNlIHNlZSBjb25maWcgdmFyaWFibGUg
bW9qby5jb25maWcuYXV0b0xvYWRNb2pvbURlcHMgZm9yIG1vcmUgJyArCi0gICAgICAgICAgJ2Rl
dGFpbHMuJyk7Ci0gICAgfQotCi0gICAgbWFya01vam9tUGVuZGluZ0xvYWQoaWQpOwotICAgIHZh
ciB1cmwgPSBuZXcgVVJMKHJlbGF0aXZlUGF0aCwgZG9jdW1lbnQuY3VycmVudFNjcmlwdC5zcmMp
LmhyZWY7Ci0gICAgaW50ZXJuYWwuZ2xvYmFsLmRvY3VtZW50LndyaXRlKCc8c2NyaXB0IHR5cGU9
InRleHQvamF2YXNjcmlwdCIgc3JjPSInICsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdXJsICsgJyI+PCcgKyAnL3NjcmlwdD4nKTsKLSAgfQotCi0gIGludGVybmFsLmV4cG9z
ZU5hbWVzcGFjZSA9IGV4cG9zZU5hbWVzcGFjZTsKLSAgaW50ZXJuYWwuaXNNb2pvbVBlbmRpbmdM
b2FkID0gaXNNb2pvbVBlbmRpbmdMb2FkOwotICBpbnRlcm5hbC5pc01vam9tTG9hZGVkID0gaXNN
b2pvbUxvYWRlZDsKLSAgaW50ZXJuYWwubWFya01vam9tUGVuZGluZ0xvYWQgPSBtYXJrTW9qb21Q
ZW5kaW5nTG9hZDsKLSAgaW50ZXJuYWwubWFya01vam9tTG9hZGVkID0gbWFya01vam9tTG9hZGVk
OwotICBpbnRlcm5hbC5sb2FkTW9qb21JZk5lY2Vzc2FyeSA9IGxvYWRNb2pvbUlmTmVjZXNzYXJ5
OwotfSkoKTsKLS8vIENvcHlyaWdodCAyMDE3IFRoZSBDaHJvbWl1bSBBdXRob3JzLiBBbGwgcmln
aHRzIHJlc2VydmVkLgotLy8gVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkg
YSBCU0Qtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQotLy8gZm91bmQgaW4gdGhlIExJQ0VOU0Ug
ZmlsZS4KLQotKGZ1bmN0aW9uKCkgewotICB2YXIgaW50ZXJuYWwgPSBtb2pvLmludGVybmFsOwot
Ci0gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotCi0gIC8vIHxvdXRwdXR8IGNvdWxkIGJlIGFuIGlu
dGVyZmFjZSBwb2ludGVyLCBJbnRlcmZhY2VQdHJJbmZvIG9yCi0gIC8vIEFzc29jaWF0ZWRJbnRl
cmZhY2VQdHJJbmZvLgotICBmdW5jdGlvbiBtYWtlUmVxdWVzdChvdXRwdXQpIHsKLSAgICBpZiAo
b3V0cHV0IGluc3RhbmNlb2YgbW9qby5Bc3NvY2lhdGVkSW50ZXJmYWNlUHRySW5mbykgewotICAg
ICAgdmFyIHtoYW5kbGUwLCBoYW5kbGUxfSA9IGludGVybmFsLmNyZWF0ZVBhaXJQZW5kaW5nQXNz
b2NpYXRpb24oKTsKLSAgICAgIG91dHB1dC5pbnRlcmZhY2VFbmRwb2ludEhhbmRsZSA9IGhhbmRs
ZTA7Ci0gICAgICBvdXRwdXQudmVyc2lvbiA9IDA7Ci0KLSAgICAgIHJldHVybiBuZXcgbW9qby5B
c3NvY2lhdGVkSW50ZXJmYWNlUmVxdWVzdChoYW5kbGUxKTsKLSAgICB9Ci0KLSAgICBpZiAob3V0
cHV0IGluc3RhbmNlb2YgbW9qby5JbnRlcmZhY2VQdHJJbmZvKSB7Ci0gICAgICB2YXIgcGlwZSA9
IE1vam8uY3JlYXRlTWVzc2FnZVBpcGUoKTsKLSAgICAgIG91dHB1dC5oYW5kbGUgPSBwaXBlLmhh
bmRsZTA7Ci0gICAgICBvdXRwdXQudmVyc2lvbiA9IDA7Ci0KLSAgICAgIHJldHVybiBuZXcgbW9q
by5JbnRlcmZhY2VSZXF1ZXN0KHBpcGUuaGFuZGxlMSk7Ci0gICAgfQotCi0gICAgdmFyIHBpcGUg
PSBNb2pvLmNyZWF0ZU1lc3NhZ2VQaXBlKCk7Ci0gICAgb3V0cHV0LnB0ci5iaW5kKG5ldyBtb2pv
LkludGVyZmFjZVB0ckluZm8ocGlwZS5oYW5kbGUwLCAwKSk7Ci0gICAgcmV0dXJuIG5ldyBtb2pv
LkludGVyZmFjZVJlcXVlc3QocGlwZS5oYW5kbGUxKTsKLSAgfQotCi0gIC8vIC0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLQotCi0gIC8vIE9wZXJhdGlvbnMgdXNlZCB0byBzZXR1cC9jb25maWd1cmUgYW4gaW50
ZXJmYWNlIHBvaW50ZXIuIEV4cG9zZWQgYXMgdGhlCi0gIC8vIHxwdHJ8IGZpZWxkIG9mIGdlbmVy
YXRlZCBpbnRlcmZhY2UgcG9pbnRlciBjbGFzc2VzLgotICAvLyB8cHRySW5mb09ySGFuZGxlfCBj
b3VsZCBiZSBvbWl0dGVkIGFuZCBwYXNzZWQgaW50byBiaW5kKCkgbGF0ZXIuCi0gIGZ1bmN0aW9u
IEludGVyZmFjZVB0ckNvbnRyb2xsZXIoaW50ZXJmYWNlVHlwZSwgcHRySW5mb09ySGFuZGxlKSB7
Ci0gICAgdGhpcy52ZXJzaW9uID0gMDsKLQotICAgIHRoaXMuaW50ZXJmYWNlVHlwZV8gPSBpbnRl
cmZhY2VUeXBlOwotICAgIHRoaXMucm91dGVyXyA9IG51bGw7Ci0gICAgdGhpcy5pbnRlcmZhY2VF
bmRwb2ludENsaWVudF8gPSBudWxsOwotICAgIHRoaXMucHJveHlfID0gbnVsbDsKLQotICAgIC8v
IHxyb3V0ZXJffCBhbmQgfGludGVyZmFjZUVuZHBvaW50Q2xpZW50X3wgYXJlIGxhemlseSBpbml0
aWFsaXplZC4KLSAgICAvLyB8aGFuZGxlX3wgaXMgdmFsaWQgYmV0d2VlbiBiaW5kKCkgYW5kCi0g
ICAgLy8gdGhlIGluaXRpYWxpemF0aW9uIG9mIHxyb3V0ZXJffCBhbmQgfGludGVyZmFjZUVuZHBv
aW50Q2xpZW50X3wuCi0gICAgdGhpcy5oYW5kbGVfID0gbnVsbDsKLQotICAgIGlmIChwdHJJbmZv
T3JIYW5kbGUpCi0gICAgICB0aGlzLmJpbmQocHRySW5mb09ySGFuZGxlKTsKLSAgfQotCi0gIElu
dGVyZmFjZVB0ckNvbnRyb2xsZXIucHJvdG90eXBlLmJpbmQgPSBmdW5jdGlvbihwdHJJbmZvT3JI
YW5kbGUpIHsKLSAgICB0aGlzLnJlc2V0KCk7Ci0KLSAgICBpZiAocHRySW5mb09ySGFuZGxlIGlu
c3RhbmNlb2YgbW9qby5JbnRlcmZhY2VQdHJJbmZvKSB7Ci0gICAgICB0aGlzLnZlcnNpb24gPSBw
dHJJbmZvT3JIYW5kbGUudmVyc2lvbjsKLSAgICAgIHRoaXMuaGFuZGxlXyA9IHB0ckluZm9Pckhh
bmRsZS5oYW5kbGU7Ci0gICAgfSBlbHNlIHsKLSAgICAgIHRoaXMuaGFuZGxlXyA9IHB0ckluZm9P
ckhhbmRsZTsKLSAgICB9Ci0gIH07Ci0KLSAgSW50ZXJmYWNlUHRyQ29udHJvbGxlci5wcm90b3R5
cGUuaXNCb3VuZCA9IGZ1bmN0aW9uKCkgewotICAgIHJldHVybiB0aGlzLmludGVyZmFjZUVuZHBv
aW50Q2xpZW50XyAhPT0gbnVsbCB8fCB0aGlzLmhhbmRsZV8gIT09IG51bGw7Ci0gIH07Ci0KLSAg
Ly8gQWx0aG91Z2ggdXNlcnMgY291bGQganVzdCBkaXNjYXJkIHRoZSBvYmplY3QsIHJlc2V0KCkg
Y2xvc2VzIHRoZSBwaXBlCi0gIC8vIGltbWVkaWF0ZWx5LgotICBJbnRlcmZhY2VQdHJDb250cm9s
bGVyLnByb3RvdHlwZS5yZXNldCA9IGZ1bmN0aW9uKCkgewotICAgIHRoaXMudmVyc2lvbiA9IDA7
Ci0gICAgaWYgKHRoaXMuaW50ZXJmYWNlRW5kcG9pbnRDbGllbnRfKSB7Ci0gICAgICB0aGlzLmlu
dGVyZmFjZUVuZHBvaW50Q2xpZW50Xy5jbG9zZSgpOwotICAgICAgdGhpcy5pbnRlcmZhY2VFbmRw
b2ludENsaWVudF8gPSBudWxsOwotICAgIH0KLSAgICBpZiAodGhpcy5yb3V0ZXJfKSB7Ci0gICAg
ICB0aGlzLnJvdXRlcl8uY2xvc2UoKTsKLSAgICAgIHRoaXMucm91dGVyXyA9IG51bGw7Ci0KLSAg
ICAgIHRoaXMucHJveHlfID0gbnVsbDsKLSAgICB9Ci0gICAgaWYgKHRoaXMuaGFuZGxlXykgewot
ICAgICAgdGhpcy5oYW5kbGVfLmNsb3NlKCk7Ci0gICAgICB0aGlzLmhhbmRsZV8gPSBudWxsOwot
ICAgIH0KLSAgfTsKLQotICBJbnRlcmZhY2VQdHJDb250cm9sbGVyLnByb3RvdHlwZS5yZXNldFdp
dGhSZWFzb24gPSBmdW5jdGlvbihyZWFzb24pIHsKLSAgICBpZiAodGhpcy5pc0JvdW5kKCkpIHsK
LSAgICAgIHRoaXMuY29uZmlndXJlUHJveHlJZk5lY2Vzc2FyeV8oKTsKLSAgICAgIHRoaXMuaW50
ZXJmYWNlRW5kcG9pbnRDbGllbnRfLmNsb3NlKHJlYXNvbik7Ci0gICAgICB0aGlzLmludGVyZmFj
ZUVuZHBvaW50Q2xpZW50XyA9IG51bGw7Ci0gICAgfQotICAgIHRoaXMucmVzZXQoKTsKLSAgfTsK
LQotICBJbnRlcmZhY2VQdHJDb250cm9sbGVyLnByb3RvdHlwZS5zZXRDb25uZWN0aW9uRXJyb3JI
YW5kbGVyID0gZnVuY3Rpb24oCi0gICAgICBjYWxsYmFjaykgewotICAgIGlmICghdGhpcy5pc0Jv
dW5kKCkpCi0gICAgICB0aHJvdyBuZXcgRXJyb3IoIkNhbm5vdCBzZXQgY29ubmVjdGlvbiBlcnJv
ciBoYW5kbGVyIGlmIG5vdCBib3VuZC4iKTsKLQotICAgIHRoaXMuY29uZmlndXJlUHJveHlJZk5l
Y2Vzc2FyeV8oKTsKLSAgICB0aGlzLmludGVyZmFjZUVuZHBvaW50Q2xpZW50Xy5zZXRDb25uZWN0
aW9uRXJyb3JIYW5kbGVyKGNhbGxiYWNrKTsKLSAgfTsKLQotICBJbnRlcmZhY2VQdHJDb250cm9s
bGVyLnByb3RvdHlwZS5wYXNzSW50ZXJmYWNlID0gZnVuY3Rpb24oKSB7Ci0gICAgdmFyIHJlc3Vs
dDsKLSAgICBpZiAodGhpcy5yb3V0ZXJfKSB7Ci0gICAgICAvLyBUT0RPKHl6c2hlbik6IEZpeCBS
b3V0ZXIgaW50ZXJmYWNlIHRvIHN1cHBvcnQgZXh0cmFjdGluZyBoYW5kbGUuCi0gICAgICByZXN1
bHQgPSBuZXcgbW9qby5JbnRlcmZhY2VQdHJJbmZvKAotICAgICAgICAgIHRoaXMucm91dGVyXy5j
b25uZWN0b3JfLmhhbmRsZV8sIHRoaXMudmVyc2lvbik7Ci0gICAgICB0aGlzLnJvdXRlcl8uY29u
bmVjdG9yXy5oYW5kbGVfID0gbnVsbDsKLSAgICB9IGVsc2UgewotICAgICAgLy8gVGhpcyBhbHNv
IGhhbmRsZXMgdGhlIGNhc2Ugd2hlbiB0aGlzIG9iamVjdCBpcyBub3QgYm91bmQuCi0gICAgICBy
ZXN1bHQgPSBuZXcgbW9qby5JbnRlcmZhY2VQdHJJbmZvKHRoaXMuaGFuZGxlXywgdGhpcy52ZXJz
aW9uKTsKLSAgICAgIHRoaXMuaGFuZGxlXyA9IG51bGw7Ci0gICAgfQotCi0gICAgdGhpcy5yZXNl
dCgpOwotICAgIHJldHVybiByZXN1bHQ7Ci0gIH07Ci0KLSAgSW50ZXJmYWNlUHRyQ29udHJvbGxl
ci5wcm90b3R5cGUuZ2V0UHJveHkgPSBmdW5jdGlvbigpIHsKLSAgICB0aGlzLmNvbmZpZ3VyZVBy
b3h5SWZOZWNlc3NhcnlfKCk7Ci0gICAgcmV0dXJuIHRoaXMucHJveHlfOwotICB9OwotCi0gIElu
dGVyZmFjZVB0ckNvbnRyb2xsZXIucHJvdG90eXBlLmNvbmZpZ3VyZVByb3h5SWZOZWNlc3Nhcnlf
ID0gZnVuY3Rpb24oKSB7Ci0gICAgaWYgKCF0aGlzLmhhbmRsZV8pCi0gICAgICByZXR1cm47Ci0K
LSAgICB0aGlzLnJvdXRlcl8gPSBuZXcgaW50ZXJuYWwuUm91dGVyKHRoaXMuaGFuZGxlXywgdHJ1
ZSk7Ci0gICAgdGhpcy5oYW5kbGVfID0gbnVsbDsKLQotICAgIHRoaXMuaW50ZXJmYWNlRW5kcG9p
bnRDbGllbnRfID0gbmV3IGludGVybmFsLkludGVyZmFjZUVuZHBvaW50Q2xpZW50KAotICAgICAg
ICB0aGlzLnJvdXRlcl8uY3JlYXRlTG9jYWxFbmRwb2ludEhhbmRsZShpbnRlcm5hbC5rTWFzdGVy
SW50ZXJmYWNlSWQpKTsKLQotICAgIHRoaXMuaW50ZXJmYWNlRW5kcG9pbnRDbGllbnRfIC5zZXRQ
YXlsb2FkVmFsaWRhdG9ycyhbCi0gICAgICAgIHRoaXMuaW50ZXJmYWNlVHlwZV8udmFsaWRhdGVS
ZXNwb25zZV0pOwotICAgIHRoaXMucHJveHlfID0gbmV3IHRoaXMuaW50ZXJmYWNlVHlwZV8ucHJv
eHlDbGFzcygKLSAgICAgICAgdGhpcy5pbnRlcmZhY2VFbmRwb2ludENsaWVudF8pOwotICB9Owot
Ci0gIEludGVyZmFjZVB0ckNvbnRyb2xsZXIucHJvdG90eXBlLnF1ZXJ5VmVyc2lvbiA9IGZ1bmN0
aW9uKCkgewotICAgIGZ1bmN0aW9uIG9uUXVlcnlWZXJzaW9uKHZlcnNpb24pIHsKLSAgICAgIHRo
aXMudmVyc2lvbiA9IHZlcnNpb247Ci0gICAgICByZXR1cm4gdmVyc2lvbjsKLSAgICB9Ci0KLSAg
ICB0aGlzLmNvbmZpZ3VyZVByb3h5SWZOZWNlc3NhcnlfKCk7Ci0gICAgcmV0dXJuIHRoaXMuaW50
ZXJmYWNlRW5kcG9pbnRDbGllbnRfLnF1ZXJ5VmVyc2lvbigpLnRoZW4oCi0gICAgICBvblF1ZXJ5
VmVyc2lvbi5iaW5kKHRoaXMpKTsKLSAgfTsKLQotICBJbnRlcmZhY2VQdHJDb250cm9sbGVyLnBy
b3RvdHlwZS5yZXF1aXJlVmVyc2lvbiA9IGZ1bmN0aW9uKHZlcnNpb24pIHsKLSAgICB0aGlzLmNv
bmZpZ3VyZVByb3h5SWZOZWNlc3NhcnlfKCk7Ci0KLSAgICBpZiAodGhpcy52ZXJzaW9uID49IHZl
cnNpb24pIHsKLSAgICAgIHJldHVybjsKLSAgICB9Ci0gICAgdGhpcy52ZXJzaW9uID0gdmVyc2lv
bjsKLSAgICB0aGlzLmludGVyZmFjZUVuZHBvaW50Q2xpZW50Xy5yZXF1aXJlVmVyc2lvbih2ZXJz
aW9uKTsKLSAgfTsKLQotICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLQotICAvLyB8cmVxdWVzdHwg
Y291bGQgYmUgb21pdHRlZCBhbmQgcGFzc2VkIGludG8gYmluZCgpIGxhdGVyLgotICAvLwotICAv
LyBFeGFtcGxlOgotICAvLwotICAvLyAgICAvLyBGb29JbXBsIGltcGxlbWVudHMgbW9qb20uRm9v
LgotICAvLyAgICBmdW5jdGlvbiBGb29JbXBsKCkgeyAuLi4gfQotICAvLyAgICBGb29JbXBsLnBy
b3RvdHlwZS5mb29NZXRob2QxID0gZnVuY3Rpb24oKSB7IC4uLiB9Ci0gIC8vICAgIEZvb0ltcGwu
cHJvdG90eXBlLmZvb01ldGhvZDIgPSBmdW5jdGlvbigpIHsgLi4uIH0KLSAgLy8KLSAgLy8gICAg
dmFyIGZvb1B0ciA9IG5ldyBtb2pvbS5Gb29QdHIoKTsKLSAgLy8gICAgdmFyIHJlcXVlc3QgPSBt
YWtlUmVxdWVzdChmb29QdHIpOwotICAvLyAgICB2YXIgYmluZGluZyA9IG5ldyBCaW5kaW5nKG1v
am9tLkZvbywgbmV3IEZvb0ltcGwoKSwgcmVxdWVzdCk7Ci0gIC8vICAgIGZvb1B0ci5mb29NZXRo
b2QxKCk7Ci0gIGZ1bmN0aW9uIEJpbmRpbmcoaW50ZXJmYWNlVHlwZSwgaW1wbCwgcmVxdWVzdE9y
SGFuZGxlKSB7Ci0gICAgdGhpcy5pbnRlcmZhY2VUeXBlXyA9IGludGVyZmFjZVR5cGU7Ci0gICAg
dGhpcy5pbXBsXyA9IGltcGw7Ci0gICAgdGhpcy5yb3V0ZXJfID0gbnVsbDsKLSAgICB0aGlzLmlu
dGVyZmFjZUVuZHBvaW50Q2xpZW50XyA9IG51bGw7Ci0gICAgdGhpcy5zdHViXyA9IG51bGw7Ci0K
LSAgICBpZiAocmVxdWVzdE9ySGFuZGxlKQotICAgICAgdGhpcy5iaW5kKHJlcXVlc3RPckhhbmRs
ZSk7Ci0gIH0KLQotICBCaW5kaW5nLnByb3RvdHlwZS5pc0JvdW5kID0gZnVuY3Rpb24oKSB7Ci0g
ICAgcmV0dXJuIHRoaXMucm91dGVyXyAhPT0gbnVsbDsKLSAgfTsKLQotICBCaW5kaW5nLnByb3Rv
dHlwZS5jcmVhdGVJbnRlcmZhY2VQdHJBbmRCaW5kID0gZnVuY3Rpb24oKSB7Ci0gICAgdmFyIHB0
ciA9IG5ldyB0aGlzLmludGVyZmFjZVR5cGVfLnB0ckNsYXNzKCk7Ci0gICAgLy8gVE9ETyh5enNo
ZW4pOiBTZXQgdGhlIHZlcnNpb24gb2YgdGhlIGludGVyZmFjZSBwb2ludGVyLgotICAgIHRoaXMu
YmluZChtYWtlUmVxdWVzdChwdHIpKTsKLSAgICByZXR1cm4gcHRyOwotICB9OwotCi0gIEJpbmRp
bmcucHJvdG90eXBlLmJpbmQgPSBmdW5jdGlvbihyZXF1ZXN0T3JIYW5kbGUpIHsKLSAgICB0aGlz
LmNsb3NlKCk7Ci0KLSAgICB2YXIgaGFuZGxlID0gcmVxdWVzdE9ySGFuZGxlIGluc3RhbmNlb2Yg
bW9qby5JbnRlcmZhY2VSZXF1ZXN0ID8KLSAgICAgICAgcmVxdWVzdE9ySGFuZGxlLmhhbmRsZSA6
IHJlcXVlc3RPckhhbmRsZTsKLSAgICBpZiAoIShoYW5kbGUgaW5zdGFuY2VvZiBNb2pvSGFuZGxl
KSkKLSAgICAgIHJldHVybjsKLQotICAgIHRoaXMucm91dGVyXyA9IG5ldyBpbnRlcm5hbC5Sb3V0
ZXIoaGFuZGxlKTsKLQotICAgIHRoaXMuc3R1Yl8gPSBuZXcgdGhpcy5pbnRlcmZhY2VUeXBlXy5z
dHViQ2xhc3ModGhpcy5pbXBsXyk7Ci0gICAgdGhpcy5pbnRlcmZhY2VFbmRwb2ludENsaWVudF8g
PSBuZXcgaW50ZXJuYWwuSW50ZXJmYWNlRW5kcG9pbnRDbGllbnQoCi0gICAgICAgIHRoaXMucm91
dGVyXy5jcmVhdGVMb2NhbEVuZHBvaW50SGFuZGxlKGludGVybmFsLmtNYXN0ZXJJbnRlcmZhY2VJ
ZCksCi0gICAgICAgIHRoaXMuc3R1Yl8sIHRoaXMuaW50ZXJmYWNlVHlwZV8ua1ZlcnNpb24pOwot
Ci0gICAgdGhpcy5pbnRlcmZhY2VFbmRwb2ludENsaWVudF8gLnNldFBheWxvYWRWYWxpZGF0b3Jz
KFsKLSAgICAgICAgdGhpcy5pbnRlcmZhY2VUeXBlXy52YWxpZGF0ZVJlcXVlc3RdKTsKLSAgfTsK
LQotICBCaW5kaW5nLnByb3RvdHlwZS5jbG9zZSA9IGZ1bmN0aW9uKCkgewotICAgIGlmICghdGhp
cy5pc0JvdW5kKCkpCi0gICAgICByZXR1cm47Ci0KLSAgICBpZiAodGhpcy5pbnRlcmZhY2VFbmRw
b2ludENsaWVudF8pIHsKLSAgICAgIHRoaXMuaW50ZXJmYWNlRW5kcG9pbnRDbGllbnRfLmNsb3Nl
KCk7Ci0gICAgICB0aGlzLmludGVyZmFjZUVuZHBvaW50Q2xpZW50XyA9IG51bGw7Ci0gICAgfQot
Ci0gICAgdGhpcy5yb3V0ZXJfLmNsb3NlKCk7Ci0gICAgdGhpcy5yb3V0ZXJfID0gbnVsbDsKLSAg
ICB0aGlzLnN0dWJfID0gbnVsbDsKLSAgfTsKLQotICBCaW5kaW5nLnByb3RvdHlwZS5jbG9zZVdp
dGhSZWFzb24gPSBmdW5jdGlvbihyZWFzb24pIHsKLSAgICBpZiAodGhpcy5pbnRlcmZhY2VFbmRw
b2ludENsaWVudF8pIHsKLSAgICAgIHRoaXMuaW50ZXJmYWNlRW5kcG9pbnRDbGllbnRfLmNsb3Nl
KHJlYXNvbik7Ci0gICAgICB0aGlzLmludGVyZmFjZUVuZHBvaW50Q2xpZW50XyA9IG51bGw7Ci0g
ICAgfQotICAgIHRoaXMuY2xvc2UoKTsKLSAgfTsKLQotICBCaW5kaW5nLnByb3RvdHlwZS5zZXRD
b25uZWN0aW9uRXJyb3JIYW5kbGVyID0gZnVuY3Rpb24oY2FsbGJhY2spIHsKLSAgICBpZiAoIXRo
aXMuaXNCb3VuZCgpKSB7Ci0gICAgICB0aHJvdyBuZXcgRXJyb3IoIkNhbm5vdCBzZXQgY29ubmVj
dGlvbiBlcnJvciBoYW5kbGVyIGlmIG5vdCBib3VuZC4iKTsKLSAgICB9Ci0gICAgdGhpcy5pbnRl
cmZhY2VFbmRwb2ludENsaWVudF8uc2V0Q29ubmVjdGlvbkVycm9ySGFuZGxlcihjYWxsYmFjayk7
Ci0gIH07Ci0KLSAgQmluZGluZy5wcm90b3R5cGUudW5iaW5kID0gZnVuY3Rpb24oKSB7Ci0gICAg
aWYgKCF0aGlzLmlzQm91bmQoKSkKLSAgICAgIHJldHVybiBuZXcgbW9qby5JbnRlcmZhY2VSZXF1
ZXN0KG51bGwpOwotCi0gICAgdmFyIHJlc3VsdCA9IG5ldyBtb2pvLkludGVyZmFjZVJlcXVlc3Qo
dGhpcy5yb3V0ZXJfLmNvbm5lY3Rvcl8uaGFuZGxlXyk7Ci0gICAgdGhpcy5yb3V0ZXJfLmNvbm5l
Y3Rvcl8uaGFuZGxlXyA9IG51bGw7Ci0gICAgdGhpcy5jbG9zZSgpOwotICAgIHJldHVybiByZXN1
bHQ7Ci0gIH07Ci0KLSAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0KLSAgZnVuY3Rpb24gQmluZGlu
Z1NldEVudHJ5KGJpbmRpbmdTZXQsIGludGVyZmFjZVR5cGUsIGJpbmRpbmdUeXBlLCBpbXBsLAot
ICAgICAgcmVxdWVzdE9ySGFuZGxlLCBiaW5kaW5nSWQpIHsKLSAgICB0aGlzLmJpbmRpbmdTZXRf
ID0gYmluZGluZ1NldDsKLSAgICB0aGlzLmJpbmRpbmdJZF8gPSBiaW5kaW5nSWQ7Ci0gICAgdGhp
cy5iaW5kaW5nXyA9IG5ldyBiaW5kaW5nVHlwZShpbnRlcmZhY2VUeXBlLCBpbXBsLAotICAgICAg
ICByZXF1ZXN0T3JIYW5kbGUpOwotCi0gICAgdGhpcy5iaW5kaW5nXy5zZXRDb25uZWN0aW9uRXJy
b3JIYW5kbGVyKGZ1bmN0aW9uKHJlYXNvbikgewotICAgICAgdGhpcy5iaW5kaW5nU2V0Xy5vbkNv
bm5lY3Rpb25FcnJvcihiaW5kaW5nSWQsIHJlYXNvbik7Ci0gICAgfS5iaW5kKHRoaXMpKTsKLSAg
fQotCi0gIEJpbmRpbmdTZXRFbnRyeS5wcm90b3R5cGUuY2xvc2UgPSBmdW5jdGlvbigpIHsKLSAg
ICB0aGlzLmJpbmRpbmdfLmNsb3NlKCk7Ci0gIH07Ci0KLSAgZnVuY3Rpb24gQmluZGluZ1NldChp
bnRlcmZhY2VUeXBlKSB7Ci0gICAgdGhpcy5pbnRlcmZhY2VUeXBlXyA9IGludGVyZmFjZVR5cGU7
Ci0gICAgdGhpcy5uZXh0QmluZGluZ0lkXyA9IDA7Ci0gICAgdGhpcy5iaW5kaW5nc18gPSBuZXcg
TWFwKCk7Ci0gICAgdGhpcy5lcnJvckhhbmRsZXJfID0gbnVsbDsKLSAgICB0aGlzLmJpbmRpbmdU
eXBlXyA9IEJpbmRpbmc7Ci0gIH0KLQotICBCaW5kaW5nU2V0LnByb3RvdHlwZS5pc0VtcHR5ID0g
ZnVuY3Rpb24oKSB7Ci0gICAgcmV0dXJuIHRoaXMuYmluZGluZ3NfLnNpemUgPT0gMDsKLSAgfTsK
LQotICBCaW5kaW5nU2V0LnByb3RvdHlwZS5hZGRCaW5kaW5nID0gZnVuY3Rpb24oaW1wbCwgcmVx
dWVzdE9ySGFuZGxlKSB7Ci0gICAgdGhpcy5iaW5kaW5nc18uc2V0KAotICAgICAgICB0aGlzLm5l
eHRCaW5kaW5nSWRfLAotICAgICAgICBuZXcgQmluZGluZ1NldEVudHJ5KHRoaXMsIHRoaXMuaW50
ZXJmYWNlVHlwZV8sIHRoaXMuYmluZGluZ1R5cGVfLCBpbXBsLAotICAgICAgICAgICAgcmVxdWVz
dE9ySGFuZGxlLCB0aGlzLm5leHRCaW5kaW5nSWRfKSk7Ci0gICAgKyt0aGlzLm5leHRCaW5kaW5n
SWRfOwotICB9OwotCi0gIEJpbmRpbmdTZXQucHJvdG90eXBlLmNsb3NlQWxsQmluZGluZ3MgPSBm
dW5jdGlvbigpIHsKLSAgICBmb3IgKHZhciBlbnRyeSBvZiB0aGlzLmJpbmRpbmdzXy52YWx1ZXMo
KSkKLSAgICAgIGVudHJ5LmNsb3NlKCk7Ci0gICAgdGhpcy5iaW5kaW5nc18uY2xlYXIoKTsKLSAg
fTsKLQotICBCaW5kaW5nU2V0LnByb3RvdHlwZS5zZXRDb25uZWN0aW9uRXJyb3JIYW5kbGVyID0g
ZnVuY3Rpb24oY2FsbGJhY2spIHsKLSAgICB0aGlzLmVycm9ySGFuZGxlcl8gPSBjYWxsYmFjazsK
LSAgfTsKLQotICBCaW5kaW5nU2V0LnByb3RvdHlwZS5vbkNvbm5lY3Rpb25FcnJvciA9IGZ1bmN0
aW9uKGJpbmRpbmdJZCwgcmVhc29uKSB7Ci0gICAgdGhpcy5iaW5kaW5nc18uZGVsZXRlKGJpbmRp
bmdJZCk7Ci0KLSAgICBpZiAodGhpcy5lcnJvckhhbmRsZXJfKQotICAgICAgdGhpcy5lcnJvckhh
bmRsZXJfKHJlYXNvbik7Ci0gIH07Ci0KLSAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0KLSAgLy8g
T3BlcmF0aW9ucyB1c2VkIHRvIHNldHVwL2NvbmZpZ3VyZSBhbiBhc3NvY2lhdGVkIGludGVyZmFj
ZSBwb2ludGVyLgotICAvLyBFeHBvc2VkIGFzIHxwdHJ8IGZpZWxkIG9mIGdlbmVyYXRlZCBhc3Nv
Y2lhdGVkIGludGVyZmFjZSBwb2ludGVyIGNsYXNzZXMuCi0gIC8vIHxhc3NvY2lhdGVkUHRySW5m
b3wgY291bGQgYmUgb21pdHRlZCBhbmQgcGFzc2VkIGludG8gYmluZCgpIGxhdGVyLgotICAvLwot
ICAvLyBFeGFtcGxlOgotICAvLyAgICAvLyBJbnRlZ2VyU2VuZGVySW1wbCBpbXBsZW1lbnRzIG1v
am9tLkludGVnZXJTZW5kZXIKLSAgLy8gICAgZnVuY3Rpb24gSW50ZWdlclNlbmRlckltcGwoKSB7
IC4uLiB9Ci0gIC8vICAgIEludGVnZXJTZW5kZXJJbXBsLnByb3RvdHlwZS5lY2hvID0gZnVuY3Rp
b24oKSB7IC4uLiB9Ci0gIC8vCi0gIC8vICAgIC8vIEludGVnZXJTZW5kZXJDb25uZWN0aW9uSW1w
bCBpbXBsZW1lbnRzIG1vam9tLkludGVnZXJTZW5kZXJDb25uZWN0aW9uCi0gIC8vICAgIGZ1bmN0
aW9uIEludGVnZXJTZW5kZXJDb25uZWN0aW9uSW1wbCgpIHsKLSAgLy8gICAgICB0aGlzLnNlbmRl
ckJpbmRpbmdfID0gbnVsbDsKLSAgLy8gICAgfQotICAvLyAgICBJbnRlZ2VyU2VuZGVyQ29ubmVj
dGlvbkltcGwucHJvdG90eXBlLmdldFNlbmRlciA9IGZ1bmN0aW9uKAotICAvLyAgICAgICAgYXNz
b2NpYXRlZFJlcXVlc3QpIHsKLSAgLy8gICAgICB0aGlzLnNlbmRlckJpbmRpbmdfID0gbmV3IEFz
c29jaWF0ZWRCaW5kaW5nKG1vam9tLkludGVnZXJTZW5kZXIsCi0gIC8vICAgICAgICAgIG5ldyBJ
bnRlZ2VyU2VuZGVySW1wbCgpLAotICAvLyAgICAgICAgICBhc3NvY2lhdGVkUmVxdWVzdCk7Ci0g
IC8vICAgIH0KLSAgLy8KLSAgLy8gICAgdmFyIGludGVnZXJTZW5kZXJDb25uZWN0aW9uID0gbmV3
IG1vam9tLkludGVnZXJTZW5kZXJDb25uZWN0aW9uUHRyKCk7Ci0gIC8vICAgIHZhciBpbnRlZ2Vy
U2VuZGVyQ29ubmVjdGlvbkJpbmRpbmcgPSBuZXcgQmluZGluZygKLSAgLy8gICAgICAgIG1vam9t
LkludGVnZXJTZW5kZXJDb25uZWN0aW9uLAotICAvLyAgICAgICAgbmV3IEludGVnZXJTZW5kZXJD
b25uZWN0aW9uSW1wbCgpLAotICAvLyAgICAgICAgbW9qby5tYWtlUmVxdWVzdChpbnRlZ2VyU2Vu
ZGVyQ29ubmVjdGlvbikpOwotICAvLwotICAvLyAgICAvLyBBIGxvY2FsbHktY3JlYXRlZCBhc3Nv
Y2lhdGVkIGludGVyZmFjZSBwb2ludGVyIGNhbiBvbmx5IGJlIHVzZWQgdG8KLSAgLy8gICAgLy8g
bWFrZSBjYWxscyB3aGVuIHRoZSBjb3JyZXNwb25kaW5nIGFzc29jaWF0ZWQgcmVxdWVzdCBpcyBz
ZW50IG92ZXIKLSAgLy8gICAgLy8gYW5vdGhlciBpbnRlcmZhY2UgKGVpdGhlciB0aGUgbWFzdGVy
IGludGVyZmFjZSBvciBhbm90aGVyCi0gIC8vICAgIC8vIGFzc29jaWF0ZWQgaW50ZXJmYWNlKS4K
LSAgLy8gICAgdmFyIGFzc29jaWF0ZWRJbnRlcmZhY2VQdHJJbmZvID0gbmV3IEFzc29jaWF0ZWRJ
bnRlcmZhY2VQdHJJbmZvKCk7Ci0gIC8vICAgIHZhciBhc3NvY2lhdGVkUmVxdWVzdCA9IG1ha2VS
ZXF1ZXN0KGludGVyZmFjZVB0ckluZm8pOwotICAvLwotICAvLyAgICBpbnRlZ2VyU2VuZGVyQ29u
bmVjdGlvbi5nZXRTZW5kZXIoYXNzb2NpYXRlZFJlcXVlc3QpOwotICAvLwotICAvLyAgICAvLyBD
cmVhdGUgYW4gYXNzb2NpYXRlZCBpbnRlcmZhY2UgYW5kIGJpbmQgdGhlIGFzc29jaWF0ZWQgaGFu
ZGxlLgotICAvLyAgICB2YXIgaW50ZWdlclNlbmRlciA9IG5ldyBtb2pvbS5Bc3NvY2lhdGVkSW50
ZWdlclNlbmRlclB0cigpOwotICAvLyAgICBpbnRlZ2VyU2VuZGVyLnB0ci5iaW5kKGFzc29jaWF0
ZWRJbnRlcmZhY2VQdHJJbmZvKTsKLSAgLy8gICAgaW50ZWdlclNlbmRlci5lY2hvKCk7Ci0KLSAg
ZnVuY3Rpb24gQXNzb2NpYXRlZEludGVyZmFjZVB0ckNvbnRyb2xsZXIoaW50ZXJmYWNlVHlwZSwg
YXNzb2NpYXRlZFB0ckluZm8pIHsKLSAgICB0aGlzLnZlcnNpb24gPSAwOwotCi0gICAgdGhpcy5p
bnRlcmZhY2VUeXBlXyA9IGludGVyZmFjZVR5cGU7Ci0gICAgdGhpcy5pbnRlcmZhY2VFbmRwb2lu
dENsaWVudF8gPSBudWxsOwotICAgIHRoaXMucHJveHlfID0gbnVsbDsKLQotICAgIGlmIChhc3Nv
Y2lhdGVkUHRySW5mbykgewotICAgICAgdGhpcy5iaW5kKGFzc29jaWF0ZWRQdHJJbmZvKTsKLSAg
ICB9Ci0gIH0KLQotICBBc3NvY2lhdGVkSW50ZXJmYWNlUHRyQ29udHJvbGxlci5wcm90b3R5cGUu
YmluZCA9IGZ1bmN0aW9uKAotICAgICAgYXNzb2NpYXRlZFB0ckluZm8pIHsKLSAgICB0aGlzLnJl
c2V0KCk7Ci0gICAgdGhpcy52ZXJzaW9uID0gYXNzb2NpYXRlZFB0ckluZm8udmVyc2lvbjsKLQot
ICAgIHRoaXMuaW50ZXJmYWNlRW5kcG9pbnRDbGllbnRfID0gbmV3IGludGVybmFsLkludGVyZmFj
ZUVuZHBvaW50Q2xpZW50KAotICAgICAgICBhc3NvY2lhdGVkUHRySW5mby5pbnRlcmZhY2VFbmRw
b2ludEhhbmRsZSk7Ci0KLSAgICB0aGlzLmludGVyZmFjZUVuZHBvaW50Q2xpZW50XyAuc2V0UGF5
bG9hZFZhbGlkYXRvcnMoWwotICAgICAgICB0aGlzLmludGVyZmFjZVR5cGVfLnZhbGlkYXRlUmVz
cG9uc2VdKTsKLSAgICB0aGlzLnByb3h5XyA9IG5ldyB0aGlzLmludGVyZmFjZVR5cGVfLnByb3h5
Q2xhc3MoCi0gICAgICAgIHRoaXMuaW50ZXJmYWNlRW5kcG9pbnRDbGllbnRfKTsKLSAgfTsKLQot
ICBBc3NvY2lhdGVkSW50ZXJmYWNlUHRyQ29udHJvbGxlci5wcm90b3R5cGUuaXNCb3VuZCA9IGZ1
bmN0aW9uKCkgewotICAgIHJldHVybiB0aGlzLmludGVyZmFjZUVuZHBvaW50Q2xpZW50XyAhPT0g
bnVsbDsKLSAgfTsKLQotICBBc3NvY2lhdGVkSW50ZXJmYWNlUHRyQ29udHJvbGxlci5wcm90b3R5
cGUucmVzZXQgPSBmdW5jdGlvbigpIHsKLSAgICB0aGlzLnZlcnNpb24gPSAwOwotICAgIGlmICh0
aGlzLmludGVyZmFjZUVuZHBvaW50Q2xpZW50XykgewotICAgICAgdGhpcy5pbnRlcmZhY2VFbmRw
b2ludENsaWVudF8uY2xvc2UoKTsKLSAgICAgIHRoaXMuaW50ZXJmYWNlRW5kcG9pbnRDbGllbnRf
ID0gbnVsbDsKLSAgICB9Ci0gICAgaWYgKHRoaXMucHJveHlfKSB7Ci0gICAgICB0aGlzLnByb3h5
XyA9IG51bGw7Ci0gICAgfQotICB9OwotCi0gIEFzc29jaWF0ZWRJbnRlcmZhY2VQdHJDb250cm9s
bGVyLnByb3RvdHlwZS5yZXNldFdpdGhSZWFzb24gPSBmdW5jdGlvbigKLSAgICAgIHJlYXNvbikg
ewotICAgIGlmICh0aGlzLmlzQm91bmQoKSkgewotICAgICAgdGhpcy5pbnRlcmZhY2VFbmRwb2lu
dENsaWVudF8uY2xvc2UocmVhc29uKTsKLSAgICAgIHRoaXMuaW50ZXJmYWNlRW5kcG9pbnRDbGll
bnRfID0gbnVsbDsKLSAgICB9Ci0gICAgdGhpcy5yZXNldCgpOwotICB9OwotCi0gIC8vIEluZGlj
YXRlcyB3aGV0aGVyIGFuIGVycm9yIGhhcyBiZWVuIGVuY291bnRlcmVkLiBJZiB0cnVlLCBtZXRo
b2QgY2FsbHMKLSAgLy8gb24gdGhpcyBpbnRlcmZhY2Ugd2lsbCBiZSBkcm9wcGVkIChhbmQgbWF5
IGFscmVhZHkgaGF2ZSBiZWVuIGRyb3BwZWQpLgotICBBc3NvY2lhdGVkSW50ZXJmYWNlUHRyQ29u
dHJvbGxlci5wcm90b3R5cGUuZ2V0RW5jb3VudGVyZWRFcnJvciA9IGZ1bmN0aW9uKCkgewotICAg
IHJldHVybiB0aGlzLmludGVyZmFjZUVuZHBvaW50Q2xpZW50XyA/Ci0gICAgICAgIHRoaXMuaW50
ZXJmYWNlRW5kcG9pbnRDbGllbnRfLmdldEVuY291bnRlcmVkRXJyb3IoKSA6IGZhbHNlOwotICB9
OwotCi0gIEFzc29jaWF0ZWRJbnRlcmZhY2VQdHJDb250cm9sbGVyLnByb3RvdHlwZS5zZXRDb25u
ZWN0aW9uRXJyb3JIYW5kbGVyID0KLSAgICAgIGZ1bmN0aW9uKGNhbGxiYWNrKSB7Ci0gICAgaWYg
KCF0aGlzLmlzQm91bmQoKSkgewotICAgICAgdGhyb3cgbmV3IEVycm9yKCJDYW5ub3Qgc2V0IGNv
bm5lY3Rpb24gZXJyb3IgaGFuZGxlciBpZiBub3QgYm91bmQuIik7Ci0gICAgfQotCi0gICAgdGhp
cy5pbnRlcmZhY2VFbmRwb2ludENsaWVudF8uc2V0Q29ubmVjdGlvbkVycm9ySGFuZGxlcihjYWxs
YmFjayk7Ci0gIH07Ci0KLSAgQXNzb2NpYXRlZEludGVyZmFjZVB0ckNvbnRyb2xsZXIucHJvdG90
eXBlLnBhc3NJbnRlcmZhY2UgPSBmdW5jdGlvbigpIHsKLSAgICBpZiAoIXRoaXMuaXNCb3VuZCgp
KSB7Ci0gICAgICByZXR1cm4gbmV3IG1vam8uQXNzb2NpYXRlZEludGVyZmFjZVB0ckluZm8obnVs
bCk7Ci0gICAgfQotCi0gICAgdmFyIHJlc3VsdCA9IG5ldyBtb2pvLkFzc29jaWF0ZWRJbnRlcmZh
Y2VQdHJJbmZvKAotICAgICAgICB0aGlzLmludGVyZmFjZUVuZHBvaW50Q2xpZW50Xy5wYXNzSGFu
ZGxlKCksIHRoaXMudmVyc2lvbik7Ci0gICAgdGhpcy5yZXNldCgpOwotICAgIHJldHVybiByZXN1
bHQ7Ci0gIH07Ci0KLSAgQXNzb2NpYXRlZEludGVyZmFjZVB0ckNvbnRyb2xsZXIucHJvdG90eXBl
LmdldFByb3h5ID0gZnVuY3Rpb24oKSB7Ci0gICAgcmV0dXJuIHRoaXMucHJveHlfOwotICB9Owot
Ci0gIEFzc29jaWF0ZWRJbnRlcmZhY2VQdHJDb250cm9sbGVyLnByb3RvdHlwZS5xdWVyeVZlcnNp
b24gPSBmdW5jdGlvbigpIHsKLSAgICBmdW5jdGlvbiBvblF1ZXJ5VmVyc2lvbih2ZXJzaW9uKSB7
Ci0gICAgICB0aGlzLnZlcnNpb24gPSB2ZXJzaW9uOwotICAgICAgcmV0dXJuIHZlcnNpb247Ci0g
ICAgfQotCi0gICAgcmV0dXJuIHRoaXMuaW50ZXJmYWNlRW5kcG9pbnRDbGllbnRfLnF1ZXJ5VmVy
c2lvbigpLnRoZW4oCi0gICAgICBvblF1ZXJ5VmVyc2lvbi5iaW5kKHRoaXMpKTsKLSAgfTsKLQot
ICBBc3NvY2lhdGVkSW50ZXJmYWNlUHRyQ29udHJvbGxlci5wcm90b3R5cGUucmVxdWlyZVZlcnNp
b24gPSBmdW5jdGlvbigKLSAgICAgIHZlcnNpb24pIHsKLSAgICBpZiAodGhpcy52ZXJzaW9uID49
IHZlcnNpb24pIHsKLSAgICAgIHJldHVybjsKLSAgICB9Ci0gICAgdGhpcy52ZXJzaW9uID0gdmVy
c2lvbjsKLSAgICB0aGlzLmludGVyZmFjZUVuZHBvaW50Q2xpZW50Xy5yZXF1aXJlVmVyc2lvbih2
ZXJzaW9uKTsKLSAgfTsKLQotICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLQotICAvLyB8YXNzb2Np
YXRlZEludGVyZmFjZVJlcXVlc3R8IGNvdWxkIGJlIG9taXR0ZWQgYW5kIHBhc3NlZCBpbnRvIGJp
bmQoKQotICAvLyBsYXRlci4KLSAgZnVuY3Rpb24gQXNzb2NpYXRlZEJpbmRpbmcoaW50ZXJmYWNl
VHlwZSwgaW1wbCwgYXNzb2NpYXRlZEludGVyZmFjZVJlcXVlc3QpIHsKLSAgICB0aGlzLmludGVy
ZmFjZVR5cGVfID0gaW50ZXJmYWNlVHlwZTsKLSAgICB0aGlzLmltcGxfID0gaW1wbDsKLSAgICB0
aGlzLmludGVyZmFjZUVuZHBvaW50Q2xpZW50XyA9IG51bGw7Ci0gICAgdGhpcy5zdHViXyA9IG51
bGw7Ci0KLSAgICBpZiAoYXNzb2NpYXRlZEludGVyZmFjZVJlcXVlc3QpIHsKLSAgICAgIHRoaXMu
YmluZChhc3NvY2lhdGVkSW50ZXJmYWNlUmVxdWVzdCk7Ci0gICAgfQotICB9Ci0KLSAgQXNzb2Np
YXRlZEJpbmRpbmcucHJvdG90eXBlLmlzQm91bmQgPSBmdW5jdGlvbigpIHsKLSAgICByZXR1cm4g
dGhpcy5pbnRlcmZhY2VFbmRwb2ludENsaWVudF8gIT09IG51bGw7Ci0gIH07Ci0KLSAgQXNzb2Np
YXRlZEJpbmRpbmcucHJvdG90eXBlLmJpbmQgPSBmdW5jdGlvbihhc3NvY2lhdGVkSW50ZXJmYWNl
UmVxdWVzdCkgewotICAgIHRoaXMuY2xvc2UoKTsKLQotICAgIHRoaXMuc3R1Yl8gPSBuZXcgdGhp
cy5pbnRlcmZhY2VUeXBlXy5zdHViQ2xhc3ModGhpcy5pbXBsXyk7Ci0gICAgdGhpcy5pbnRlcmZh
Y2VFbmRwb2ludENsaWVudF8gPSBuZXcgaW50ZXJuYWwuSW50ZXJmYWNlRW5kcG9pbnRDbGllbnQo
Ci0gICAgICAgIGFzc29jaWF0ZWRJbnRlcmZhY2VSZXF1ZXN0LmludGVyZmFjZUVuZHBvaW50SGFu
ZGxlLCB0aGlzLnN0dWJfLAotICAgICAgICB0aGlzLmludGVyZmFjZVR5cGVfLmtWZXJzaW9uKTsK
LQotICAgIHRoaXMuaW50ZXJmYWNlRW5kcG9pbnRDbGllbnRfIC5zZXRQYXlsb2FkVmFsaWRhdG9y
cyhbCi0gICAgICAgIHRoaXMuaW50ZXJmYWNlVHlwZV8udmFsaWRhdGVSZXF1ZXN0XSk7Ci0gIH07
Ci0KLQotICBBc3NvY2lhdGVkQmluZGluZy5wcm90b3R5cGUuY2xvc2UgPSBmdW5jdGlvbigpIHsK
LSAgICBpZiAoIXRoaXMuaXNCb3VuZCgpKSB7Ci0gICAgICByZXR1cm47Ci0gICAgfQotCi0gICAg
aWYgKHRoaXMuaW50ZXJmYWNlRW5kcG9pbnRDbGllbnRfKSB7Ci0gICAgICB0aGlzLmludGVyZmFj
ZUVuZHBvaW50Q2xpZW50Xy5jbG9zZSgpOwotICAgICAgdGhpcy5pbnRlcmZhY2VFbmRwb2ludENs
aWVudF8gPSBudWxsOwotICAgIH0KLQotICAgIHRoaXMuc3R1Yl8gPSBudWxsOwotICB9OwotCi0g
IEFzc29jaWF0ZWRCaW5kaW5nLnByb3RvdHlwZS5jbG9zZVdpdGhSZWFzb24gPSBmdW5jdGlvbihy
ZWFzb24pIHsKLSAgICBpZiAodGhpcy5pbnRlcmZhY2VFbmRwb2ludENsaWVudF8pIHsKLSAgICAg
IHRoaXMuaW50ZXJmYWNlRW5kcG9pbnRDbGllbnRfLmNsb3NlKHJlYXNvbik7Ci0gICAgICB0aGlz
LmludGVyZmFjZUVuZHBvaW50Q2xpZW50XyA9IG51bGw7Ci0gICAgfQotICAgIHRoaXMuY2xvc2Uo
KTsKLSAgfTsKLQotICBBc3NvY2lhdGVkQmluZGluZy5wcm90b3R5cGUuc2V0Q29ubmVjdGlvbkVy
cm9ySGFuZGxlciA9IGZ1bmN0aW9uKGNhbGxiYWNrKSB7Ci0gICAgaWYgKCF0aGlzLmlzQm91bmQo
KSkgewotICAgICAgdGhyb3cgbmV3IEVycm9yKCJDYW5ub3Qgc2V0IGNvbm5lY3Rpb24gZXJyb3Ig
aGFuZGxlciBpZiBub3QgYm91bmQuIik7Ci0gICAgfQotICAgIHRoaXMuaW50ZXJmYWNlRW5kcG9p
bnRDbGllbnRfLnNldENvbm5lY3Rpb25FcnJvckhhbmRsZXIoY2FsbGJhY2spOwotICB9OwotCi0g
IEFzc29jaWF0ZWRCaW5kaW5nLnByb3RvdHlwZS51bmJpbmQgPSBmdW5jdGlvbigpIHsKLSAgICBp
ZiAoIXRoaXMuaXNCb3VuZCgpKSB7Ci0gICAgICByZXR1cm4gbmV3IG1vam8uQXNzb2NpYXRlZElu
dGVyZmFjZVJlcXVlc3QobnVsbCk7Ci0gICAgfQotCi0gICAgdmFyIHJlc3VsdCA9IG5ldyBtb2pv
LkFzc29jaWF0ZWRJbnRlcmZhY2VSZXF1ZXN0KAotICAgICAgICB0aGlzLmludGVyZmFjZUVuZHBv
aW50Q2xpZW50Xy5wYXNzSGFuZGxlKCkpOwotICAgIHRoaXMuY2xvc2UoKTsKLSAgICByZXR1cm4g
cmVzdWx0OwotICB9OwotCi0gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotCi0gIGZ1bmN0aW9uIEFz
c29jaWF0ZWRCaW5kaW5nU2V0KGludGVyZmFjZVR5cGUpIHsKLSAgICBtb2pvLkJpbmRpbmdTZXQu
Y2FsbCh0aGlzLCBpbnRlcmZhY2VUeXBlKTsKLSAgICB0aGlzLmJpbmRpbmdUeXBlXyA9IEFzc29j
aWF0ZWRCaW5kaW5nOwotICB9Ci0KLSAgQXNzb2NpYXRlZEJpbmRpbmdTZXQucHJvdG90eXBlID0g
T2JqZWN0LmNyZWF0ZShCaW5kaW5nU2V0LnByb3RvdHlwZSk7Ci0gIEFzc29jaWF0ZWRCaW5kaW5n
U2V0LnByb3RvdHlwZS5jb25zdHJ1Y3RvciA9IEFzc29jaWF0ZWRCaW5kaW5nU2V0OwotCi0gIG1v
am8ubWFrZVJlcXVlc3QgPSBtYWtlUmVxdWVzdDsKLSAgbW9qby5Bc3NvY2lhdGVkSW50ZXJmYWNl
UHRyQ29udHJvbGxlciA9IEFzc29jaWF0ZWRJbnRlcmZhY2VQdHJDb250cm9sbGVyOwotICBtb2pv
LkFzc29jaWF0ZWRCaW5kaW5nID0gQXNzb2NpYXRlZEJpbmRpbmc7Ci0gIG1vam8uQXNzb2NpYXRl
ZEJpbmRpbmdTZXQgPSBBc3NvY2lhdGVkQmluZGluZ1NldDsKLSAgbW9qby5CaW5kaW5nID0gQmlu
ZGluZzsKLSAgbW9qby5CaW5kaW5nU2V0ID0gQmluZGluZ1NldDsKLSAgbW9qby5JbnRlcmZhY2VQ
dHJDb250cm9sbGVyID0gSW50ZXJmYWNlUHRyQ29udHJvbGxlcjsKLX0pKCk7Ci0vLyBDb3B5cmln
aHQgMjAxNCBUaGUgQ2hyb21pdW0gQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLS8vIFVz
ZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2Ug
dGhhdCBjYW4gYmUKLS8vIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCi0KLShmdW5jdGlvbigp
IHsKLSAgdmFyIGludGVybmFsID0gbW9qby5pbnRlcm5hbDsKLQotICB2YXIga0hvc3RJc0xpdHRs
ZUVuZGlhbiA9IChmdW5jdGlvbiAoKSB7Ci0gICAgdmFyIGVuZGlhbkFycmF5QnVmZmVyID0gbmV3
IEFycmF5QnVmZmVyKDIpOwotICAgIHZhciBlbmRpYW5VaW50OEFycmF5ID0gbmV3IFVpbnQ4QXJy
YXkoZW5kaWFuQXJyYXlCdWZmZXIpOwotICAgIHZhciBlbmRpYW5VaW50MTZBcnJheSA9IG5ldyBV
aW50MTZBcnJheShlbmRpYW5BcnJheUJ1ZmZlcik7Ci0gICAgZW5kaWFuVWludDE2QXJyYXlbMF0g
PSAxOwotICAgIHJldHVybiBlbmRpYW5VaW50OEFycmF5WzBdID09IDE7Ci0gIH0pKCk7Ci0KLSAg
dmFyIGtIaWdoV29yZE11bHRpcGxpZXIgPSAweDEwMDAwMDAwMDsKLQotICBmdW5jdGlvbiBCdWZm
ZXIoc2l6ZU9yQXJyYXlCdWZmZXIpIHsKLSAgICBpZiAoc2l6ZU9yQXJyYXlCdWZmZXIgaW5zdGFu
Y2VvZiBBcnJheUJ1ZmZlcikKLSAgICAgIHRoaXMuYXJyYXlCdWZmZXIgPSBzaXplT3JBcnJheUJ1
ZmZlcjsKLSAgICBlbHNlCi0gICAgICB0aGlzLmFycmF5QnVmZmVyID0gbmV3IEFycmF5QnVmZmVy
KHNpemVPckFycmF5QnVmZmVyKTsKLQotICAgIHRoaXMuZGF0YVZpZXcgPSBuZXcgRGF0YVZpZXco
dGhpcy5hcnJheUJ1ZmZlcik7Ci0gICAgdGhpcy5uZXh0ID0gMDsKLSAgfQotCi0gIE9iamVjdC5k
ZWZpbmVQcm9wZXJ0eShCdWZmZXIucHJvdG90eXBlLCAiYnl0ZUxlbmd0aCIsIHsKLSAgICBnZXQ6
IGZ1bmN0aW9uKCkgeyByZXR1cm4gdGhpcy5hcnJheUJ1ZmZlci5ieXRlTGVuZ3RoOyB9Ci0gIH0p
OwotCi0gIEJ1ZmZlci5wcm90b3R5cGUuYWxsb2MgPSBmdW5jdGlvbihzaXplKSB7Ci0gICAgdmFy
IHBvaW50ZXIgPSB0aGlzLm5leHQ7Ci0gICAgdGhpcy5uZXh0ICs9IHNpemU7Ci0gICAgaWYgKHRo
aXMubmV4dCA+IHRoaXMuYnl0ZUxlbmd0aCkgewotICAgICAgdmFyIG5ld1NpemUgPSAoMS41ICog
KHRoaXMuYnl0ZUxlbmd0aCArIHNpemUpKSB8IDA7Ci0gICAgICB0aGlzLmdyb3cobmV3U2l6ZSk7
Ci0gICAgfQotICAgIHJldHVybiBwb2ludGVyOwotICB9OwotCi0gIGZ1bmN0aW9uIGNvcHlBcnJh
eUJ1ZmZlcihkc3RBcnJheUJ1ZmZlciwgc3JjQXJyYXlCdWZmZXIpIHsKLSAgICAobmV3IFVpbnQ4
QXJyYXkoZHN0QXJyYXlCdWZmZXIpKS5zZXQobmV3IFVpbnQ4QXJyYXkoc3JjQXJyYXlCdWZmZXIp
KTsKLSAgfQotCi0gIEJ1ZmZlci5wcm90b3R5cGUuZ3JvdyA9IGZ1bmN0aW9uKHNpemUpIHsKLSAg
ICB2YXIgbmV3QXJyYXlCdWZmZXIgPSBuZXcgQXJyYXlCdWZmZXIoc2l6ZSk7Ci0gICAgY29weUFy
cmF5QnVmZmVyKG5ld0FycmF5QnVmZmVyLCB0aGlzLmFycmF5QnVmZmVyKTsKLSAgICB0aGlzLmFy
cmF5QnVmZmVyID0gbmV3QXJyYXlCdWZmZXI7Ci0gICAgdGhpcy5kYXRhVmlldyA9IG5ldyBEYXRh
Vmlldyh0aGlzLmFycmF5QnVmZmVyKTsKLSAgfTsKLQotICBCdWZmZXIucHJvdG90eXBlLnRyaW0g
PSBmdW5jdGlvbigpIHsKLSAgICB0aGlzLmFycmF5QnVmZmVyID0gdGhpcy5hcnJheUJ1ZmZlci5z
bGljZSgwLCB0aGlzLm5leHQpOwotICAgIHRoaXMuZGF0YVZpZXcgPSBuZXcgRGF0YVZpZXcodGhp
cy5hcnJheUJ1ZmZlcik7Ci0gIH07Ci0KLSAgQnVmZmVyLnByb3RvdHlwZS5nZXRVaW50OCA9IGZ1
bmN0aW9uKG9mZnNldCkgewotICAgIHJldHVybiB0aGlzLmRhdGFWaWV3LmdldFVpbnQ4KG9mZnNl
dCk7Ci0gIH0KLSAgQnVmZmVyLnByb3RvdHlwZS5nZXRVaW50MTYgPSBmdW5jdGlvbihvZmZzZXQp
IHsKLSAgICByZXR1cm4gdGhpcy5kYXRhVmlldy5nZXRVaW50MTYob2Zmc2V0LCBrSG9zdElzTGl0
dGxlRW5kaWFuKTsKLSAgfQotICBCdWZmZXIucHJvdG90eXBlLmdldFVpbnQzMiA9IGZ1bmN0aW9u
KG9mZnNldCkgewotICAgIHJldHVybiB0aGlzLmRhdGFWaWV3LmdldFVpbnQzMihvZmZzZXQsIGtI
b3N0SXNMaXR0bGVFbmRpYW4pOwotICB9Ci0gIEJ1ZmZlci5wcm90b3R5cGUuZ2V0VWludDY0ID0g
ZnVuY3Rpb24ob2Zmc2V0KSB7Ci0gICAgdmFyIGxvLCBoaTsKLSAgICBpZiAoa0hvc3RJc0xpdHRs
ZUVuZGlhbikgewotICAgICAgbG8gPSB0aGlzLmRhdGFWaWV3LmdldFVpbnQzMihvZmZzZXQsIGtI
b3N0SXNMaXR0bGVFbmRpYW4pOwotICAgICAgaGkgPSB0aGlzLmRhdGFWaWV3LmdldFVpbnQzMihv
ZmZzZXQgKyA0LCBrSG9zdElzTGl0dGxlRW5kaWFuKTsKLSAgICB9IGVsc2UgewotICAgICAgaGkg
PSB0aGlzLmRhdGFWaWV3LmdldFVpbnQzMihvZmZzZXQsIGtIb3N0SXNMaXR0bGVFbmRpYW4pOwot
ICAgICAgbG8gPSB0aGlzLmRhdGFWaWV3LmdldFVpbnQzMihvZmZzZXQgKyA0LCBrSG9zdElzTGl0
dGxlRW5kaWFuKTsKLSAgICB9Ci0gICAgcmV0dXJuIGxvICsgaGkgKiBrSGlnaFdvcmRNdWx0aXBs
aWVyOwotICB9Ci0KLSAgQnVmZmVyLnByb3RvdHlwZS5nZXRJbnQ4ID0gZnVuY3Rpb24ob2Zmc2V0
KSB7Ci0gICAgcmV0dXJuIHRoaXMuZGF0YVZpZXcuZ2V0SW50OChvZmZzZXQpOwotICB9Ci0gIEJ1
ZmZlci5wcm90b3R5cGUuZ2V0SW50MTYgPSBmdW5jdGlvbihvZmZzZXQpIHsKLSAgICByZXR1cm4g
dGhpcy5kYXRhVmlldy5nZXRJbnQxNihvZmZzZXQsIGtIb3N0SXNMaXR0bGVFbmRpYW4pOwotICB9
Ci0gIEJ1ZmZlci5wcm90b3R5cGUuZ2V0SW50MzIgPSBmdW5jdGlvbihvZmZzZXQpIHsKLSAgICBy
ZXR1cm4gdGhpcy5kYXRhVmlldy5nZXRJbnQzMihvZmZzZXQsIGtIb3N0SXNMaXR0bGVFbmRpYW4p
OwotICB9Ci0gIEJ1ZmZlci5wcm90b3R5cGUuZ2V0SW50NjQgPSBmdW5jdGlvbihvZmZzZXQpIHsK
LSAgICB2YXIgbG8sIGhpOwotICAgIGlmIChrSG9zdElzTGl0dGxlRW5kaWFuKSB7Ci0gICAgICBs
byA9IHRoaXMuZGF0YVZpZXcuZ2V0VWludDMyKG9mZnNldCwga0hvc3RJc0xpdHRsZUVuZGlhbik7
Ci0gICAgICBoaSA9IHRoaXMuZGF0YVZpZXcuZ2V0SW50MzIob2Zmc2V0ICsgNCwga0hvc3RJc0xp
dHRsZUVuZGlhbik7Ci0gICAgfSBlbHNlIHsKLSAgICAgIGhpID0gdGhpcy5kYXRhVmlldy5nZXRJ
bnQzMihvZmZzZXQsIGtIb3N0SXNMaXR0bGVFbmRpYW4pOwotICAgICAgbG8gPSB0aGlzLmRhdGFW
aWV3LmdldFVpbnQzMihvZmZzZXQgKyA0LCBrSG9zdElzTGl0dGxlRW5kaWFuKTsKLSAgICB9Ci0g
ICAgcmV0dXJuIGxvICsgaGkgKiBrSGlnaFdvcmRNdWx0aXBsaWVyOwotICB9Ci0KLSAgQnVmZmVy
LnByb3RvdHlwZS5nZXRGbG9hdDMyID0gZnVuY3Rpb24ob2Zmc2V0KSB7Ci0gICAgcmV0dXJuIHRo
aXMuZGF0YVZpZXcuZ2V0RmxvYXQzMihvZmZzZXQsIGtIb3N0SXNMaXR0bGVFbmRpYW4pOwotICB9
Ci0gIEJ1ZmZlci5wcm90b3R5cGUuZ2V0RmxvYXQ2NCA9IGZ1bmN0aW9uKG9mZnNldCkgewotICAg
IHJldHVybiB0aGlzLmRhdGFWaWV3LmdldEZsb2F0NjQob2Zmc2V0LCBrSG9zdElzTGl0dGxlRW5k
aWFuKTsKLSAgfQotCi0gIEJ1ZmZlci5wcm90b3R5cGUuc2V0VWludDggPSBmdW5jdGlvbihvZmZz
ZXQsIHZhbHVlKSB7Ci0gICAgdGhpcy5kYXRhVmlldy5zZXRVaW50OChvZmZzZXQsIHZhbHVlKTsK
LSAgfQotICBCdWZmZXIucHJvdG90eXBlLnNldFVpbnQxNiA9IGZ1bmN0aW9uKG9mZnNldCwgdmFs
dWUpIHsKLSAgICB0aGlzLmRhdGFWaWV3LnNldFVpbnQxNihvZmZzZXQsIHZhbHVlLCBrSG9zdElz
TGl0dGxlRW5kaWFuKTsKLSAgfQotICBCdWZmZXIucHJvdG90eXBlLnNldFVpbnQzMiA9IGZ1bmN0
aW9uKG9mZnNldCwgdmFsdWUpIHsKLSAgICB0aGlzLmRhdGFWaWV3LnNldFVpbnQzMihvZmZzZXQs
IHZhbHVlLCBrSG9zdElzTGl0dGxlRW5kaWFuKTsKLSAgfQotICBCdWZmZXIucHJvdG90eXBlLnNl
dFVpbnQ2NCA9IGZ1bmN0aW9uKG9mZnNldCwgdmFsdWUpIHsKLSAgICB2YXIgaGkgPSAodmFsdWUg
LyBrSGlnaFdvcmRNdWx0aXBsaWVyKSB8IDA7Ci0gICAgaWYgKGtIb3N0SXNMaXR0bGVFbmRpYW4p
IHsKLSAgICAgIHRoaXMuZGF0YVZpZXcuc2V0SW50MzIob2Zmc2V0LCB2YWx1ZSwga0hvc3RJc0xp
dHRsZUVuZGlhbik7Ci0gICAgICB0aGlzLmRhdGFWaWV3LnNldEludDMyKG9mZnNldCArIDQsIGhp
LCBrSG9zdElzTGl0dGxlRW5kaWFuKTsKLSAgICB9IGVsc2UgewotICAgICAgdGhpcy5kYXRhVmll
dy5zZXRJbnQzMihvZmZzZXQsIGhpLCBrSG9zdElzTGl0dGxlRW5kaWFuKTsKLSAgICAgIHRoaXMu
ZGF0YVZpZXcuc2V0SW50MzIob2Zmc2V0ICsgNCwgdmFsdWUsIGtIb3N0SXNMaXR0bGVFbmRpYW4p
OwotICAgIH0KLSAgfQotCi0gIEJ1ZmZlci5wcm90b3R5cGUuc2V0SW50OCA9IGZ1bmN0aW9uKG9m
ZnNldCwgdmFsdWUpIHsKLSAgICB0aGlzLmRhdGFWaWV3LnNldEludDgob2Zmc2V0LCB2YWx1ZSk7
Ci0gIH0KLSAgQnVmZmVyLnByb3RvdHlwZS5zZXRJbnQxNiA9IGZ1bmN0aW9uKG9mZnNldCwgdmFs
dWUpIHsKLSAgICB0aGlzLmRhdGFWaWV3LnNldEludDE2KG9mZnNldCwgdmFsdWUsIGtIb3N0SXNM
aXR0bGVFbmRpYW4pOwotICB9Ci0gIEJ1ZmZlci5wcm90b3R5cGUuc2V0SW50MzIgPSBmdW5jdGlv
bihvZmZzZXQsIHZhbHVlKSB7Ci0gICAgdGhpcy5kYXRhVmlldy5zZXRJbnQzMihvZmZzZXQsIHZh
bHVlLCBrSG9zdElzTGl0dGxlRW5kaWFuKTsKLSAgfQotICBCdWZmZXIucHJvdG90eXBlLnNldElu
dDY0ID0gZnVuY3Rpb24ob2Zmc2V0LCB2YWx1ZSkgewotICAgIHZhciBoaSA9IE1hdGguZmxvb3Io
dmFsdWUgLyBrSGlnaFdvcmRNdWx0aXBsaWVyKTsKLSAgICBpZiAoa0hvc3RJc0xpdHRsZUVuZGlh
bikgewotICAgICAgdGhpcy5kYXRhVmlldy5zZXRJbnQzMihvZmZzZXQsIHZhbHVlLCBrSG9zdElz
TGl0dGxlRW5kaWFuKTsKLSAgICAgIHRoaXMuZGF0YVZpZXcuc2V0SW50MzIob2Zmc2V0ICsgNCwg
aGksIGtIb3N0SXNMaXR0bGVFbmRpYW4pOwotICAgIH0gZWxzZSB7Ci0gICAgICB0aGlzLmRhdGFW
aWV3LnNldEludDMyKG9mZnNldCwgaGksIGtIb3N0SXNMaXR0bGVFbmRpYW4pOwotICAgICAgdGhp
cy5kYXRhVmlldy5zZXRJbnQzMihvZmZzZXQgKyA0LCB2YWx1ZSwga0hvc3RJc0xpdHRsZUVuZGlh
bik7Ci0gICAgfQotICB9Ci0KLSAgQnVmZmVyLnByb3RvdHlwZS5zZXRGbG9hdDMyID0gZnVuY3Rp
b24ob2Zmc2V0LCB2YWx1ZSkgewotICAgIHRoaXMuZGF0YVZpZXcuc2V0RmxvYXQzMihvZmZzZXQs
IHZhbHVlLCBrSG9zdElzTGl0dGxlRW5kaWFuKTsKLSAgfQotICBCdWZmZXIucHJvdG90eXBlLnNl
dEZsb2F0NjQgPSBmdW5jdGlvbihvZmZzZXQsIHZhbHVlKSB7Ci0gICAgdGhpcy5kYXRhVmlldy5z
ZXRGbG9hdDY0KG9mZnNldCwgdmFsdWUsIGtIb3N0SXNMaXR0bGVFbmRpYW4pOwotICB9Ci0KLSAg
aW50ZXJuYWwuQnVmZmVyID0gQnVmZmVyOwotfSkoKTsKLS8vIENvcHlyaWdodCAyMDE0IFRoZSBD
aHJvbWl1bSBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotLy8gVXNlIG9mIHRoaXMgc291
cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQot
Ly8gZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KLQotKGZ1bmN0aW9uKCkgewotICB2YXIgaW50
ZXJuYWwgPSBtb2pvLmludGVybmFsOwotCi0gIHZhciBrRXJyb3JVbnNpZ25lZCA9ICJQYXNzaW5n
IG5lZ2F0aXZlIHZhbHVlIHRvIHVuc2lnbmVkIjsKLSAgdmFyIGtFcnJvckFycmF5ID0gIlBhc3Np
bmcgbm9uIEFycmF5IGZvciBhcnJheSB0eXBlIjsKLSAgdmFyIGtFcnJvclN0cmluZyA9ICJQYXNz
aW5nIG5vbiBTdHJpbmcgZm9yIHN0cmluZyB0eXBlIjsKLSAgdmFyIGtFcnJvck1hcCA9ICJQYXNz
aW5nIG5vbiBNYXAgZm9yIG1hcCB0eXBlIjsKLQotICAvLyBNZW1vcnkgLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotCi0g
IHZhciBrQWxpZ25tZW50ID0gODsKLQotICBmdW5jdGlvbiBhbGlnbihzaXplKSB7Ci0gICAgcmV0
dXJuIHNpemUgKyAoa0FsaWdubWVudCAtIChzaXplICUga0FsaWdubWVudCkpICUga0FsaWdubWVu
dDsKLSAgfQotCi0gIGZ1bmN0aW9uIGlzQWxpZ25lZChvZmZzZXQpIHsKLSAgICByZXR1cm4gb2Zm
c2V0ID49IDAgJiYgKG9mZnNldCAlIGtBbGlnbm1lbnQpID09PSAwOwotICB9Ci0KLSAgLy8gQ29u
c3RhbnRzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0KLQotICB2YXIga0FycmF5SGVhZGVyU2l6ZSA9IDg7Ci0gIHZhciBrU3Ry
dWN0SGVhZGVyU2l6ZSA9IDg7Ci0gIHZhciBrTWVzc2FnZVYwSGVhZGVyU2l6ZSA9IDI0OwotICB2
YXIga01lc3NhZ2VWMUhlYWRlclNpemUgPSAzMjsKLSAgdmFyIGtNZXNzYWdlVjJIZWFkZXJTaXpl
ID0gNDg7Ci0gIHZhciBrTWFwU3RydWN0UGF5bG9hZFNpemUgPSAxNjsKLQotICB2YXIga1N0cnVj
dEhlYWRlck51bUJ5dGVzT2Zmc2V0ID0gMDsKLSAgdmFyIGtTdHJ1Y3RIZWFkZXJWZXJzaW9uT2Zm
c2V0ID0gNDsKLQotICB2YXIga0VuY29kZWRJbnZhbGlkSGFuZGxlVmFsdWUgPSAweEZGRkZGRkZG
OwotCi0gIC8vIERlY29kZXIgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0KLSAgZnVuY3Rpb24gRGVjb2RlcihidWZmZXIs
IGhhbmRsZXMsIGFzc29jaWF0ZWRFbmRwb2ludEhhbmRsZXMsIGJhc2UpIHsKLSAgICB0aGlzLmJ1
ZmZlciA9IGJ1ZmZlcjsKLSAgICB0aGlzLmhhbmRsZXMgPSBoYW5kbGVzOwotICAgIHRoaXMuYXNz
b2NpYXRlZEVuZHBvaW50SGFuZGxlcyA9IGFzc29jaWF0ZWRFbmRwb2ludEhhbmRsZXM7Ci0gICAg
dGhpcy5iYXNlID0gYmFzZTsKLSAgICB0aGlzLm5leHQgPSBiYXNlOwotICB9Ci0KLSAgRGVjb2Rl
ci5wcm90b3R5cGUuYWxpZ24gPSBmdW5jdGlvbigpIHsKLSAgICB0aGlzLm5leHQgPSBhbGlnbih0
aGlzLm5leHQpOwotICB9OwotCi0gIERlY29kZXIucHJvdG90eXBlLnNraXAgPSBmdW5jdGlvbihv
ZmZzZXQpIHsKLSAgICB0aGlzLm5leHQgKz0gb2Zmc2V0OwotICB9OwotCi0gIERlY29kZXIucHJv
dG90eXBlLnJlYWRJbnQ4ID0gZnVuY3Rpb24oKSB7Ci0gICAgdmFyIHJlc3VsdCA9IHRoaXMuYnVm
ZmVyLmdldEludDgodGhpcy5uZXh0KTsKLSAgICB0aGlzLm5leHQgKz0gMTsKLSAgICByZXR1cm4g
cmVzdWx0OwotICB9OwotCi0gIERlY29kZXIucHJvdG90eXBlLnJlYWRVaW50OCA9IGZ1bmN0aW9u
KCkgewotICAgIHZhciByZXN1bHQgPSB0aGlzLmJ1ZmZlci5nZXRVaW50OCh0aGlzLm5leHQpOwot
ICAgIHRoaXMubmV4dCArPSAxOwotICAgIHJldHVybiByZXN1bHQ7Ci0gIH07Ci0KLSAgRGVjb2Rl
ci5wcm90b3R5cGUucmVhZEludDE2ID0gZnVuY3Rpb24oKSB7Ci0gICAgdmFyIHJlc3VsdCA9IHRo
aXMuYnVmZmVyLmdldEludDE2KHRoaXMubmV4dCk7Ci0gICAgdGhpcy5uZXh0ICs9IDI7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLSAgfTsKLQotICBEZWNvZGVyLnByb3RvdHlwZS5yZWFkVWludDE2ID0g
ZnVuY3Rpb24oKSB7Ci0gICAgdmFyIHJlc3VsdCA9IHRoaXMuYnVmZmVyLmdldFVpbnQxNih0aGlz
Lm5leHQpOwotICAgIHRoaXMubmV4dCArPSAyOwotICAgIHJldHVybiByZXN1bHQ7Ci0gIH07Ci0K
LSAgRGVjb2Rlci5wcm90b3R5cGUucmVhZEludDMyID0gZnVuY3Rpb24oKSB7Ci0gICAgdmFyIHJl
c3VsdCA9IHRoaXMuYnVmZmVyLmdldEludDMyKHRoaXMubmV4dCk7Ci0gICAgdGhpcy5uZXh0ICs9
IDQ7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLSAgfTsKLQotICBEZWNvZGVyLnByb3RvdHlwZS5yZWFk
VWludDMyID0gZnVuY3Rpb24oKSB7Ci0gICAgdmFyIHJlc3VsdCA9IHRoaXMuYnVmZmVyLmdldFVp
bnQzMih0aGlzLm5leHQpOwotICAgIHRoaXMubmV4dCArPSA0OwotICAgIHJldHVybiByZXN1bHQ7
Ci0gIH07Ci0KLSAgRGVjb2Rlci5wcm90b3R5cGUucmVhZEludDY0ID0gZnVuY3Rpb24oKSB7Ci0g
ICAgdmFyIHJlc3VsdCA9IHRoaXMuYnVmZmVyLmdldEludDY0KHRoaXMubmV4dCk7Ci0gICAgdGhp
cy5uZXh0ICs9IDg7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLSAgfTsKLQotICBEZWNvZGVyLnByb3Rv
dHlwZS5yZWFkVWludDY0ID0gZnVuY3Rpb24oKSB7Ci0gICAgdmFyIHJlc3VsdCA9IHRoaXMuYnVm
ZmVyLmdldFVpbnQ2NCh0aGlzLm5leHQpOwotICAgIHRoaXMubmV4dCArPSA4OwotICAgIHJldHVy
biByZXN1bHQ7Ci0gIH07Ci0KLSAgRGVjb2Rlci5wcm90b3R5cGUucmVhZEZsb2F0ID0gZnVuY3Rp
b24oKSB7Ci0gICAgdmFyIHJlc3VsdCA9IHRoaXMuYnVmZmVyLmdldEZsb2F0MzIodGhpcy5uZXh0
KTsKLSAgICB0aGlzLm5leHQgKz0gNDsKLSAgICByZXR1cm4gcmVzdWx0OwotICB9OwotCi0gIERl
Y29kZXIucHJvdG90eXBlLnJlYWREb3VibGUgPSBmdW5jdGlvbigpIHsKLSAgICB2YXIgcmVzdWx0
ID0gdGhpcy5idWZmZXIuZ2V0RmxvYXQ2NCh0aGlzLm5leHQpOwotICAgIHRoaXMubmV4dCArPSA4
OwotICAgIHJldHVybiByZXN1bHQ7Ci0gIH07Ci0KLSAgRGVjb2Rlci5wcm90b3R5cGUuZGVjb2Rl
UG9pbnRlciA9IGZ1bmN0aW9uKCkgewotICAgIC8vIFRPRE8oYWJhcnRoKTogVG8gY29ycmVjdGx5
IGRlY29kZSBhIHBvaW50ZXIsIHdlIG5lZWQgdG8ga25vdyB0aGUgcmVhbAotICAgIC8vIGJhc2Ug
YWRkcmVzcyBvZiB0aGUgYXJyYXkgYnVmZmVyLgotICAgIHZhciBvZmZzZXRQb2ludGVyID0gdGhp
cy5uZXh0OwotICAgIHZhciBvZmZzZXQgPSB0aGlzLnJlYWRVaW50NjQoKTsKLSAgICBpZiAoIW9m
ZnNldCkKLSAgICAgIHJldHVybiAwOwotICAgIHJldHVybiBvZmZzZXRQb2ludGVyICsgb2Zmc2V0
OwotICB9OwotCi0gIERlY29kZXIucHJvdG90eXBlLmRlY29kZUFuZENyZWF0ZURlY29kZXIgPSBm
dW5jdGlvbihwb2ludGVyKSB7Ci0gICAgcmV0dXJuIG5ldyBEZWNvZGVyKHRoaXMuYnVmZmVyLCB0
aGlzLmhhbmRsZXMsCi0gICAgICAgIHRoaXMuYXNzb2NpYXRlZEVuZHBvaW50SGFuZGxlcywgcG9p
bnRlcik7Ci0gIH07Ci0KLSAgRGVjb2Rlci5wcm90b3R5cGUuZGVjb2RlSGFuZGxlID0gZnVuY3Rp
b24oKSB7Ci0gICAgcmV0dXJuIHRoaXMuaGFuZGxlc1t0aGlzLnJlYWRVaW50MzIoKV0gfHwgbnVs
bDsKLSAgfTsKLQotICBEZWNvZGVyLnByb3RvdHlwZS5kZWNvZGVBc3NvY2lhdGVkRW5kcG9pbnRI
YW5kbGUgPSBmdW5jdGlvbigpIHsKLSAgICByZXR1cm4gdGhpcy5hc3NvY2lhdGVkRW5kcG9pbnRI
YW5kbGVzW3RoaXMucmVhZFVpbnQzMigpXSB8fCBudWxsOwotICB9OwotCi0gIERlY29kZXIucHJv
dG90eXBlLmRlY29kZVN0cmluZyA9IGZ1bmN0aW9uKCkgewotICAgIHZhciBudW1iZXJPZkJ5dGVz
ID0gdGhpcy5yZWFkVWludDMyKCk7Ci0gICAgdmFyIG51bWJlck9mRWxlbWVudHMgPSB0aGlzLnJl
YWRVaW50MzIoKTsKLSAgICB2YXIgYmFzZSA9IHRoaXMubmV4dDsKLSAgICB0aGlzLm5leHQgKz0g
bnVtYmVyT2ZFbGVtZW50czsKLSAgICByZXR1cm4gaW50ZXJuYWwuZGVjb2RlVXRmOFN0cmluZygK
LSAgICAgICAgbmV3IFVpbnQ4QXJyYXkodGhpcy5idWZmZXIuYXJyYXlCdWZmZXIsIGJhc2UsIG51
bWJlck9mRWxlbWVudHMpKTsKLSAgfTsKLQotICBEZWNvZGVyLnByb3RvdHlwZS5kZWNvZGVBcnJh
eSA9IGZ1bmN0aW9uKGNscykgewotICAgIHZhciBudW1iZXJPZkJ5dGVzID0gdGhpcy5yZWFkVWlu
dDMyKCk7Ci0gICAgdmFyIG51bWJlck9mRWxlbWVudHMgPSB0aGlzLnJlYWRVaW50MzIoKTsKLSAg
ICB2YXIgdmFsID0gbmV3IEFycmF5KG51bWJlck9mRWxlbWVudHMpOwotICAgIGlmIChjbHMgPT09
IFBhY2tlZEJvb2wpIHsKLSAgICAgIHZhciBieXRlOwotICAgICAgZm9yICh2YXIgaSA9IDA7IGkg
PCBudW1iZXJPZkVsZW1lbnRzOyArK2kpIHsKLSAgICAgICAgaWYgKGkgJSA4ID09PSAwKQotICAg
ICAgICAgIGJ5dGUgPSB0aGlzLnJlYWRVaW50OCgpOwotICAgICAgICB2YWxbaV0gPSAoYnl0ZSAm
ICgxIDw8IGkgJSA4KSkgPyB0cnVlIDogZmFsc2U7Ci0gICAgICB9Ci0gICAgfSBlbHNlIHsKLSAg
ICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbnVtYmVyT2ZFbGVtZW50czsgKytpKSB7Ci0gICAgICAg
IHZhbFtpXSA9IGNscy5kZWNvZGUodGhpcyk7Ci0gICAgICB9Ci0gICAgfQotICAgIHJldHVybiB2
YWw7Ci0gIH07Ci0KLSAgRGVjb2Rlci5wcm90b3R5cGUuZGVjb2RlU3RydWN0ID0gZnVuY3Rpb24o
Y2xzKSB7Ci0gICAgcmV0dXJuIGNscy5kZWNvZGUodGhpcyk7Ci0gIH07Ci0KLSAgRGVjb2Rlci5w
cm90b3R5cGUuZGVjb2RlU3RydWN0UG9pbnRlciA9IGZ1bmN0aW9uKGNscykgewotICAgIHZhciBw
b2ludGVyID0gdGhpcy5kZWNvZGVQb2ludGVyKCk7Ci0gICAgaWYgKCFwb2ludGVyKSB7Ci0gICAg
ICByZXR1cm4gbnVsbDsKLSAgICB9Ci0gICAgcmV0dXJuIGNscy5kZWNvZGUodGhpcy5kZWNvZGVB
bmRDcmVhdGVEZWNvZGVyKHBvaW50ZXIpKTsKLSAgfTsKLQotICBEZWNvZGVyLnByb3RvdHlwZS5k
ZWNvZGVBcnJheVBvaW50ZXIgPSBmdW5jdGlvbihjbHMpIHsKLSAgICB2YXIgcG9pbnRlciA9IHRo
aXMuZGVjb2RlUG9pbnRlcigpOwotICAgIGlmICghcG9pbnRlcikgewotICAgICAgcmV0dXJuIG51
bGw7Ci0gICAgfQotICAgIHJldHVybiB0aGlzLmRlY29kZUFuZENyZWF0ZURlY29kZXIocG9pbnRl
cikuZGVjb2RlQXJyYXkoY2xzKTsKLSAgfTsKLQotICBEZWNvZGVyLnByb3RvdHlwZS5kZWNvZGVT
dHJpbmdQb2ludGVyID0gZnVuY3Rpb24oKSB7Ci0gICAgdmFyIHBvaW50ZXIgPSB0aGlzLmRlY29k
ZVBvaW50ZXIoKTsKLSAgICBpZiAoIXBvaW50ZXIpIHsKLSAgICAgIHJldHVybiBudWxsOwotICAg
IH0KLSAgICByZXR1cm4gdGhpcy5kZWNvZGVBbmRDcmVhdGVEZWNvZGVyKHBvaW50ZXIpLmRlY29k
ZVN0cmluZygpOwotICB9OwotCi0gIERlY29kZXIucHJvdG90eXBlLmRlY29kZU1hcCA9IGZ1bmN0
aW9uKGtleUNsYXNzLCB2YWx1ZUNsYXNzKSB7Ci0gICAgdGhpcy5za2lwKDQpOyAvLyBudW1iZXJP
ZkJ5dGVzCi0gICAgdGhpcy5za2lwKDQpOyAvLyB2ZXJzaW9uCi0gICAgdmFyIGtleXMgPSB0aGlz
LmRlY29kZUFycmF5UG9pbnRlcihrZXlDbGFzcyk7Ci0gICAgdmFyIHZhbHVlcyA9IHRoaXMuZGVj
b2RlQXJyYXlQb2ludGVyKHZhbHVlQ2xhc3MpOwotICAgIHZhciB2YWwgPSBuZXcgTWFwKCk7Ci0g
ICAgZm9yICh2YXIgaSA9IDA7IGkgPCBrZXlzLmxlbmd0aDsgaSsrKQotICAgICAgdmFsLnNldChr
ZXlzW2ldLCB2YWx1ZXNbaV0pOwotICAgIHJldHVybiB2YWw7Ci0gIH07Ci0KLSAgRGVjb2Rlci5w
cm90b3R5cGUuZGVjb2RlTWFwUG9pbnRlciA9IGZ1bmN0aW9uKGtleUNsYXNzLCB2YWx1ZUNsYXNz
KSB7Ci0gICAgdmFyIHBvaW50ZXIgPSB0aGlzLmRlY29kZVBvaW50ZXIoKTsKLSAgICBpZiAoIXBv
aW50ZXIpIHsKLSAgICAgIHJldHVybiBudWxsOwotICAgIH0KLSAgICB2YXIgZGVjb2RlciA9IHRo
aXMuZGVjb2RlQW5kQ3JlYXRlRGVjb2Rlcihwb2ludGVyKTsKLSAgICByZXR1cm4gZGVjb2Rlci5k
ZWNvZGVNYXAoa2V5Q2xhc3MsIHZhbHVlQ2xhc3MpOwotICB9OwotCi0gIC8vIEVuY29kZXIgLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tCi0KLSAgZnVuY3Rpb24gRW5jb2RlcihidWZmZXIsIGhhbmRsZXMsIGFzc29jaWF0ZWRF
bmRwb2ludEhhbmRsZXMsIGJhc2UpIHsKLSAgICB0aGlzLmJ1ZmZlciA9IGJ1ZmZlcjsKLSAgICB0
aGlzLmhhbmRsZXMgPSBoYW5kbGVzOwotICAgIHRoaXMuYXNzb2NpYXRlZEVuZHBvaW50SGFuZGxl
cyA9IGFzc29jaWF0ZWRFbmRwb2ludEhhbmRsZXM7Ci0gICAgdGhpcy5iYXNlID0gYmFzZTsKLSAg
ICB0aGlzLm5leHQgPSBiYXNlOwotICB9Ci0KLSAgRW5jb2Rlci5wcm90b3R5cGUuYWxpZ24gPSBm
dW5jdGlvbigpIHsKLSAgICB0aGlzLm5leHQgPSBhbGlnbih0aGlzLm5leHQpOwotICB9OwotCi0g
IEVuY29kZXIucHJvdG90eXBlLnNraXAgPSBmdW5jdGlvbihvZmZzZXQpIHsKLSAgICB0aGlzLm5l
eHQgKz0gb2Zmc2V0OwotICB9OwotCi0gIEVuY29kZXIucHJvdG90eXBlLndyaXRlSW50OCA9IGZ1
bmN0aW9uKHZhbCkgewotICAgIHRoaXMuYnVmZmVyLnNldEludDgodGhpcy5uZXh0LCB2YWwpOwot
ICAgIHRoaXMubmV4dCArPSAxOwotICB9OwotCi0gIEVuY29kZXIucHJvdG90eXBlLndyaXRlVWlu
dDggPSBmdW5jdGlvbih2YWwpIHsKLSAgICBpZiAodmFsIDwgMCkgewotICAgICAgdGhyb3cgbmV3
IEVycm9yKGtFcnJvclVuc2lnbmVkKTsKLSAgICB9Ci0gICAgdGhpcy5idWZmZXIuc2V0VWludDgo
dGhpcy5uZXh0LCB2YWwpOwotICAgIHRoaXMubmV4dCArPSAxOwotICB9OwotCi0gIEVuY29kZXIu
cHJvdG90eXBlLndyaXRlSW50MTYgPSBmdW5jdGlvbih2YWwpIHsKLSAgICB0aGlzLmJ1ZmZlci5z
ZXRJbnQxNih0aGlzLm5leHQsIHZhbCk7Ci0gICAgdGhpcy5uZXh0ICs9IDI7Ci0gIH07Ci0KLSAg
RW5jb2Rlci5wcm90b3R5cGUud3JpdGVVaW50MTYgPSBmdW5jdGlvbih2YWwpIHsKLSAgICBpZiAo
dmFsIDwgMCkgewotICAgICAgdGhyb3cgbmV3IEVycm9yKGtFcnJvclVuc2lnbmVkKTsKLSAgICB9
Ci0gICAgdGhpcy5idWZmZXIuc2V0VWludDE2KHRoaXMubmV4dCwgdmFsKTsKLSAgICB0aGlzLm5l
eHQgKz0gMjsKLSAgfTsKLQotICBFbmNvZGVyLnByb3RvdHlwZS53cml0ZUludDMyID0gZnVuY3Rp
b24odmFsKSB7Ci0gICAgdGhpcy5idWZmZXIuc2V0SW50MzIodGhpcy5uZXh0LCB2YWwpOwotICAg
IHRoaXMubmV4dCArPSA0OwotICB9OwotCi0gIEVuY29kZXIucHJvdG90eXBlLndyaXRlVWludDMy
ID0gZnVuY3Rpb24odmFsKSB7Ci0gICAgaWYgKHZhbCA8IDApIHsKLSAgICAgIHRocm93IG5ldyBF
cnJvcihrRXJyb3JVbnNpZ25lZCk7Ci0gICAgfQotICAgIHRoaXMuYnVmZmVyLnNldFVpbnQzMih0
aGlzLm5leHQsIHZhbCk7Ci0gICAgdGhpcy5uZXh0ICs9IDQ7Ci0gIH07Ci0KLSAgRW5jb2Rlci5w
cm90b3R5cGUud3JpdGVJbnQ2NCA9IGZ1bmN0aW9uKHZhbCkgewotICAgIHRoaXMuYnVmZmVyLnNl
dEludDY0KHRoaXMubmV4dCwgdmFsKTsKLSAgICB0aGlzLm5leHQgKz0gODsKLSAgfTsKLQotICBF
bmNvZGVyLnByb3RvdHlwZS53cml0ZVVpbnQ2NCA9IGZ1bmN0aW9uKHZhbCkgewotICAgIGlmICh2
YWwgPCAwKSB7Ci0gICAgICB0aHJvdyBuZXcgRXJyb3Ioa0Vycm9yVW5zaWduZWQpOwotICAgIH0K
LSAgICB0aGlzLmJ1ZmZlci5zZXRVaW50NjQodGhpcy5uZXh0LCB2YWwpOwotICAgIHRoaXMubmV4
dCArPSA4OwotICB9OwotCi0gIEVuY29kZXIucHJvdG90eXBlLndyaXRlRmxvYXQgPSBmdW5jdGlv
bih2YWwpIHsKLSAgICB0aGlzLmJ1ZmZlci5zZXRGbG9hdDMyKHRoaXMubmV4dCwgdmFsKTsKLSAg
ICB0aGlzLm5leHQgKz0gNDsKLSAgfTsKLQotICBFbmNvZGVyLnByb3RvdHlwZS53cml0ZURvdWJs
ZSA9IGZ1bmN0aW9uKHZhbCkgewotICAgIHRoaXMuYnVmZmVyLnNldEZsb2F0NjQodGhpcy5uZXh0
LCB2YWwpOwotICAgIHRoaXMubmV4dCArPSA4OwotICB9OwotCi0gIEVuY29kZXIucHJvdG90eXBl
LmVuY29kZVBvaW50ZXIgPSBmdW5jdGlvbihwb2ludGVyKSB7Ci0gICAgaWYgKCFwb2ludGVyKQot
ICAgICAgcmV0dXJuIHRoaXMud3JpdGVVaW50NjQoMCk7Ci0gICAgLy8gVE9ETyhhYmFydGgpOiBU
byBjb3JyZWN0bHkgZW5jb2RlIGEgcG9pbnRlciwgd2UgbmVlZCB0byBrbm93IHRoZSByZWFsCi0g
ICAgLy8gYmFzZSBhZGRyZXNzIG9mIHRoZSBhcnJheSBidWZmZXIuCi0gICAgdmFyIG9mZnNldCA9
IHBvaW50ZXIgLSB0aGlzLm5leHQ7Ci0gICAgdGhpcy53cml0ZVVpbnQ2NChvZmZzZXQpOwotICB9
OwotCi0gIEVuY29kZXIucHJvdG90eXBlLmNyZWF0ZUFuZEVuY29kZUVuY29kZXIgPSBmdW5jdGlv
bihzaXplKSB7Ci0gICAgdmFyIHBvaW50ZXIgPSB0aGlzLmJ1ZmZlci5hbGxvYyhhbGlnbihzaXpl
KSk7Ci0gICAgdGhpcy5lbmNvZGVQb2ludGVyKHBvaW50ZXIpOwotICAgIHJldHVybiBuZXcgRW5j
b2Rlcih0aGlzLmJ1ZmZlciwgdGhpcy5oYW5kbGVzLAotICAgICAgICB0aGlzLmFzc29jaWF0ZWRF
bmRwb2ludEhhbmRsZXMsIHBvaW50ZXIpOwotICB9OwotCi0gIEVuY29kZXIucHJvdG90eXBlLmVu
Y29kZUhhbmRsZSA9IGZ1bmN0aW9uKGhhbmRsZSkgewotICAgIGlmIChoYW5kbGUpIHsKLSAgICAg
IHRoaXMuaGFuZGxlcy5wdXNoKGhhbmRsZSk7Ci0gICAgICB0aGlzLndyaXRlVWludDMyKHRoaXMu
aGFuZGxlcy5sZW5ndGggLSAxKTsKLSAgICB9IGVsc2UgewotICAgICAgdGhpcy53cml0ZVVpbnQz
MihrRW5jb2RlZEludmFsaWRIYW5kbGVWYWx1ZSk7Ci0gICAgfQotICB9OwotCi0gIEVuY29kZXIu
cHJvdG90eXBlLmVuY29kZUFzc29jaWF0ZWRFbmRwb2ludEhhbmRsZSA9IGZ1bmN0aW9uKGVuZHBv
aW50SGFuZGxlKSB7Ci0gICAgaWYgKGVuZHBvaW50SGFuZGxlKSB7Ci0gICAgICB0aGlzLmFzc29j
aWF0ZWRFbmRwb2ludEhhbmRsZXMucHVzaChlbmRwb2ludEhhbmRsZSk7Ci0gICAgICB0aGlzLndy
aXRlVWludDMyKHRoaXMuYXNzb2NpYXRlZEVuZHBvaW50SGFuZGxlcy5sZW5ndGggLSAxKTsKLSAg
ICB9IGVsc2UgewotICAgICAgdGhpcy53cml0ZVVpbnQzMihrRW5jb2RlZEludmFsaWRIYW5kbGVW
YWx1ZSk7Ci0gICAgfQotICB9OwotCi0gIEVuY29kZXIucHJvdG90eXBlLmVuY29kZVN0cmluZyA9
IGZ1bmN0aW9uKHZhbCkgewotICAgIHZhciBiYXNlID0gdGhpcy5uZXh0ICsga0FycmF5SGVhZGVy
U2l6ZTsKLSAgICB2YXIgbnVtYmVyT2ZFbGVtZW50cyA9IGludGVybmFsLmVuY29kZVV0ZjhTdHJp
bmcoCi0gICAgICAgIHZhbCwgbmV3IFVpbnQ4QXJyYXkodGhpcy5idWZmZXIuYXJyYXlCdWZmZXIs
IGJhc2UpKTsKLSAgICB2YXIgbnVtYmVyT2ZCeXRlcyA9IGtBcnJheUhlYWRlclNpemUgKyBudW1i
ZXJPZkVsZW1lbnRzOwotICAgIHRoaXMud3JpdGVVaW50MzIobnVtYmVyT2ZCeXRlcyk7Ci0gICAg
dGhpcy53cml0ZVVpbnQzMihudW1iZXJPZkVsZW1lbnRzKTsKLSAgICB0aGlzLm5leHQgKz0gbnVt
YmVyT2ZFbGVtZW50czsKLSAgfTsKLQotICBFbmNvZGVyLnByb3RvdHlwZS5lbmNvZGVBcnJheSA9
Ci0gICAgICBmdW5jdGlvbihjbHMsIHZhbCwgbnVtYmVyT2ZFbGVtZW50cywgZW5jb2RlZFNpemUp
IHsKLSAgICBpZiAobnVtYmVyT2ZFbGVtZW50cyA9PT0gdW5kZWZpbmVkKQotICAgICAgbnVtYmVy
T2ZFbGVtZW50cyA9IHZhbC5sZW5ndGg7Ci0gICAgaWYgKGVuY29kZWRTaXplID09PSB1bmRlZmlu
ZWQpCi0gICAgICBlbmNvZGVkU2l6ZSA9IGtBcnJheUhlYWRlclNpemUgKyBjbHMuZW5jb2RlZFNp
emUgKiBudW1iZXJPZkVsZW1lbnRzOwotCi0gICAgdGhpcy53cml0ZVVpbnQzMihlbmNvZGVkU2l6
ZSk7Ci0gICAgdGhpcy53cml0ZVVpbnQzMihudW1iZXJPZkVsZW1lbnRzKTsKLQotICAgIGlmIChj
bHMgPT09IFBhY2tlZEJvb2wpIHsKLSAgICAgIHZhciBieXRlID0gMDsKLSAgICAgIGZvciAoaSA9
IDA7IGkgPCBudW1iZXJPZkVsZW1lbnRzOyArK2kpIHsKLSAgICAgICAgaWYgKHZhbFtpXSkKLSAg
ICAgICAgICBieXRlIHw9ICgxIDw8IGkgJSA4KTsKLSAgICAgICAgaWYgKGkgJSA4ID09PSA3IHx8
IGkgPT0gbnVtYmVyT2ZFbGVtZW50cyAtIDEpIHsKLSAgICAgICAgICBVaW50OC5lbmNvZGUodGhp
cywgYnl0ZSk7Ci0gICAgICAgICAgYnl0ZSA9IDA7Ci0gICAgICAgIH0KLSAgICAgIH0KLSAgICB9
IGVsc2UgewotICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBudW1iZXJPZkVsZW1lbnRzOyArK2kp
Ci0gICAgICAgIGNscy5lbmNvZGUodGhpcywgdmFsW2ldKTsKLSAgICB9Ci0gIH07Ci0KLSAgRW5j
b2Rlci5wcm90b3R5cGUuZW5jb2RlU3RydWN0ID0gZnVuY3Rpb24oY2xzLCB2YWwpIHsKLSAgICBy
ZXR1cm4gY2xzLmVuY29kZSh0aGlzLCB2YWwpOwotICB9OwotCi0gIEVuY29kZXIucHJvdG90eXBl
LmVuY29kZVN0cnVjdFBvaW50ZXIgPSBmdW5jdGlvbihjbHMsIHZhbCkgewotICAgIGlmICh2YWwg
PT0gbnVsbCkgewotICAgICAgLy8gQWxzbyBoYW5kbGVzIHVuZGVmaW5lZCwgc2luY2UgdW5kZWZp
bmVkID09IG51bGwuCi0gICAgICB0aGlzLmVuY29kZVBvaW50ZXIodmFsKTsKLSAgICAgIHJldHVy
bjsKLSAgICB9Ci0gICAgdmFyIGVuY29kZXIgPSB0aGlzLmNyZWF0ZUFuZEVuY29kZUVuY29kZXIo
Y2xzLmVuY29kZWRTaXplKTsKLSAgICBjbHMuZW5jb2RlKGVuY29kZXIsIHZhbCk7Ci0gIH07Ci0K
LSAgRW5jb2Rlci5wcm90b3R5cGUuZW5jb2RlQXJyYXlQb2ludGVyID0gZnVuY3Rpb24oY2xzLCB2
YWwpIHsKLSAgICBpZiAodmFsID09IG51bGwpIHsKLSAgICAgIC8vIEFsc28gaGFuZGxlcyB1bmRl
ZmluZWQsIHNpbmNlIHVuZGVmaW5lZCA9PSBudWxsLgotICAgICAgdGhpcy5lbmNvZGVQb2ludGVy
KHZhbCk7Ci0gICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgdmFyIG51bWJlck9mRWxlbWVudHMg
PSB2YWwubGVuZ3RoOwotICAgIGlmICghTnVtYmVyLmlzU2FmZUludGVnZXIobnVtYmVyT2ZFbGVt
ZW50cykgfHwgbnVtYmVyT2ZFbGVtZW50cyA8IDApCi0gICAgICB0aHJvdyBuZXcgRXJyb3Ioa0Vy
cm9yQXJyYXkpOwotCi0gICAgdmFyIGVuY29kZWRTaXplID0ga0FycmF5SGVhZGVyU2l6ZSArICgo
Y2xzID09PSBQYWNrZWRCb29sKSA/Ci0gICAgICAgIE1hdGguY2VpbChudW1iZXJPZkVsZW1lbnRz
IC8gOCkgOiBjbHMuZW5jb2RlZFNpemUgKiBudW1iZXJPZkVsZW1lbnRzKTsKLSAgICB2YXIgZW5j
b2RlciA9IHRoaXMuY3JlYXRlQW5kRW5jb2RlRW5jb2RlcihlbmNvZGVkU2l6ZSk7Ci0gICAgZW5j
b2Rlci5lbmNvZGVBcnJheShjbHMsIHZhbCwgbnVtYmVyT2ZFbGVtZW50cywgZW5jb2RlZFNpemUp
OwotICB9OwotCi0gIEVuY29kZXIucHJvdG90eXBlLmVuY29kZVN0cmluZ1BvaW50ZXIgPSBmdW5j
dGlvbih2YWwpIHsKLSAgICBpZiAodmFsID09IG51bGwpIHsKLSAgICAgIC8vIEFsc28gaGFuZGxl
cyB1bmRlZmluZWQsIHNpbmNlIHVuZGVmaW5lZCA9PSBudWxsLgotICAgICAgdGhpcy5lbmNvZGVQ
b2ludGVyKHZhbCk7Ci0gICAgICByZXR1cm47Ci0gICAgfQotICAgIC8vIE9ubHkgYWNjZXB0cyBz
dHJpbmcgcHJpbWl2aXRlcywgbm90IFN0cmluZyBPYmplY3RzIGxpa2UgbmV3IFN0cmluZygiZm9v
IikKLSAgICBpZiAodHlwZW9mKHZhbCkgIT09ICJzdHJpbmciKSB7Ci0gICAgICB0aHJvdyBuZXcg
RXJyb3Ioa0Vycm9yU3RyaW5nKTsKLSAgICB9Ci0gICAgdmFyIGVuY29kZWRTaXplID0ga0FycmF5
SGVhZGVyU2l6ZSArIGludGVybmFsLnV0ZjhMZW5ndGgodmFsKTsKLSAgICB2YXIgZW5jb2RlciA9
IHRoaXMuY3JlYXRlQW5kRW5jb2RlRW5jb2RlcihlbmNvZGVkU2l6ZSk7Ci0gICAgZW5jb2Rlci5l
bmNvZGVTdHJpbmcodmFsKTsKLSAgfTsKLQotICBFbmNvZGVyLnByb3RvdHlwZS5lbmNvZGVNYXAg
PSBmdW5jdGlvbihrZXlDbGFzcywgdmFsdWVDbGFzcywgdmFsKSB7Ci0gICAgdmFyIGtleXMgPSBu
ZXcgQXJyYXkodmFsLnNpemUpOwotICAgIHZhciB2YWx1ZXMgPSBuZXcgQXJyYXkodmFsLnNpemUp
OwotICAgIHZhciBpID0gMDsKLSAgICB2YWwuZm9yRWFjaChmdW5jdGlvbih2YWx1ZSwga2V5KSB7
Ci0gICAgICB2YWx1ZXNbaV0gPSB2YWx1ZTsKLSAgICAgIGtleXNbaSsrXSA9IGtleTsKLSAgICB9
KTsKLSAgICB0aGlzLndyaXRlVWludDMyKGtTdHJ1Y3RIZWFkZXJTaXplICsga01hcFN0cnVjdFBh
eWxvYWRTaXplKTsKLSAgICB0aGlzLndyaXRlVWludDMyKDApOyAgLy8gdmVyc2lvbgotICAgIHRo
aXMuZW5jb2RlQXJyYXlQb2ludGVyKGtleUNsYXNzLCBrZXlzKTsKLSAgICB0aGlzLmVuY29kZUFy
cmF5UG9pbnRlcih2YWx1ZUNsYXNzLCB2YWx1ZXMpOwotICB9Ci0KLSAgRW5jb2Rlci5wcm90b3R5
cGUuZW5jb2RlTWFwUG9pbnRlciA9IGZ1bmN0aW9uKGtleUNsYXNzLCB2YWx1ZUNsYXNzLCB2YWwp
IHsKLSAgICBpZiAodmFsID09IG51bGwpIHsKLSAgICAgIC8vIEFsc28gaGFuZGxlcyB1bmRlZmlu
ZWQsIHNpbmNlIHVuZGVmaW5lZCA9PSBudWxsLgotICAgICAgdGhpcy5lbmNvZGVQb2ludGVyKHZh
bCk7Ci0gICAgICByZXR1cm47Ci0gICAgfQotICAgIGlmICghKHZhbCBpbnN0YW5jZW9mIE1hcCkp
IHsKLSAgICAgIHRocm93IG5ldyBFcnJvcihrRXJyb3JNYXApOwotICAgIH0KLSAgICB2YXIgZW5j
b2RlZFNpemUgPSBrU3RydWN0SGVhZGVyU2l6ZSArIGtNYXBTdHJ1Y3RQYXlsb2FkU2l6ZTsKLSAg
ICB2YXIgZW5jb2RlciA9IHRoaXMuY3JlYXRlQW5kRW5jb2RlRW5jb2RlcihlbmNvZGVkU2l6ZSk7
Ci0gICAgZW5jb2Rlci5lbmNvZGVNYXAoa2V5Q2xhc3MsIHZhbHVlQ2xhc3MsIHZhbCk7Ci0gIH07
Ci0KLSAgLy8gTWVzc2FnZSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLQotICB2YXIga01lc3NhZ2VJbnRlcmZhY2VJZE9m
ZnNldCA9IGtTdHJ1Y3RIZWFkZXJTaXplOwotICB2YXIga01lc3NhZ2VOYW1lT2Zmc2V0ID0ga01l
c3NhZ2VJbnRlcmZhY2VJZE9mZnNldCArIDQ7Ci0gIHZhciBrTWVzc2FnZUZsYWdzT2Zmc2V0ID0g
a01lc3NhZ2VOYW1lT2Zmc2V0ICsgNDsKLSAgdmFyIGtNZXNzYWdlUmVxdWVzdElET2Zmc2V0ID0g
a01lc3NhZ2VGbGFnc09mZnNldCArIDg7Ci0gIHZhciBrTWVzc2FnZVBheWxvYWRJbnRlcmZhY2VJ
ZHNQb2ludGVyT2Zmc2V0ID0ga01lc3NhZ2VWMkhlYWRlclNpemUgLSA4OwotCi0gIHZhciBrTWVz
c2FnZUV4cGVjdHNSZXNwb25zZSA9IDEgPDwgMDsKLSAgdmFyIGtNZXNzYWdlSXNSZXNwb25zZSAg
ICAgID0gMSA8PCAxOwotCi0gIGZ1bmN0aW9uIE1lc3NhZ2UoYnVmZmVyLCBoYW5kbGVzLCBhc3Nv
Y2lhdGVkRW5kcG9pbnRIYW5kbGVzKSB7Ci0gICAgaWYgKGFzc29jaWF0ZWRFbmRwb2ludEhhbmRs
ZXMgPT09IHVuZGVmaW5lZCkgewotICAgICAgYXNzb2NpYXRlZEVuZHBvaW50SGFuZGxlcyA9IFtd
OwotICAgIH0KLQotICAgIHRoaXMuYnVmZmVyID0gYnVmZmVyOwotICAgIHRoaXMuaGFuZGxlcyA9
IGhhbmRsZXM7Ci0gICAgdGhpcy5hc3NvY2lhdGVkRW5kcG9pbnRIYW5kbGVzID0gYXNzb2NpYXRl
ZEVuZHBvaW50SGFuZGxlczsKLSAgfQotCi0gIE1lc3NhZ2UucHJvdG90eXBlLmdldEhlYWRlck51
bUJ5dGVzID0gZnVuY3Rpb24oKSB7Ci0gICAgcmV0dXJuIHRoaXMuYnVmZmVyLmdldFVpbnQzMihr
U3RydWN0SGVhZGVyTnVtQnl0ZXNPZmZzZXQpOwotICB9OwotCi0gIE1lc3NhZ2UucHJvdG90eXBl
LmdldEhlYWRlclZlcnNpb24gPSBmdW5jdGlvbigpIHsKLSAgICByZXR1cm4gdGhpcy5idWZmZXIu
Z2V0VWludDMyKGtTdHJ1Y3RIZWFkZXJWZXJzaW9uT2Zmc2V0KTsKLSAgfTsKLQotICBNZXNzYWdl
LnByb3RvdHlwZS5nZXROYW1lID0gZnVuY3Rpb24oKSB7Ci0gICAgcmV0dXJuIHRoaXMuYnVmZmVy
LmdldFVpbnQzMihrTWVzc2FnZU5hbWVPZmZzZXQpOwotICB9OwotCi0gIE1lc3NhZ2UucHJvdG90
eXBlLmdldEZsYWdzID0gZnVuY3Rpb24oKSB7Ci0gICAgcmV0dXJuIHRoaXMuYnVmZmVyLmdldFVp
bnQzMihrTWVzc2FnZUZsYWdzT2Zmc2V0KTsKLSAgfTsKLQotICBNZXNzYWdlLnByb3RvdHlwZS5n
ZXRJbnRlcmZhY2VJZCA9IGZ1bmN0aW9uKCkgewotICAgIHJldHVybiB0aGlzLmJ1ZmZlci5nZXRV
aW50MzIoa01lc3NhZ2VJbnRlcmZhY2VJZE9mZnNldCk7Ci0gIH07Ci0KLSAgTWVzc2FnZS5wcm90
b3R5cGUuZ2V0UGF5bG9hZEludGVyZmFjZUlkcyA9IGZ1bmN0aW9uKCkgewotICAgIGlmICh0aGlz
LmdldEhlYWRlclZlcnNpb24oKSA8IDIpIHsKLSAgICAgIHJldHVybiBudWxsOwotICAgIH0KLQot
ICAgIHZhciBkZWNvZGVyID0gbmV3IERlY29kZXIodGhpcy5idWZmZXIsIHRoaXMuaGFuZGxlcywK
LSAgICAgICAgdGhpcy5hc3NvY2lhdGVkRW5kcG9pbnRIYW5kbGVzLAotICAgICAgICBrTWVzc2Fn
ZVBheWxvYWRJbnRlcmZhY2VJZHNQb2ludGVyT2Zmc2V0KTsKLSAgICB2YXIgcGF5bG9hZEludGVy
ZmFjZUlkcyA9IGRlY29kZXIuZGVjb2RlQXJyYXlQb2ludGVyKFVpbnQzMik7Ci0gICAgcmV0dXJu
IHBheWxvYWRJbnRlcmZhY2VJZHM7Ci0gIH07Ci0KLSAgTWVzc2FnZS5wcm90b3R5cGUuaXNSZXNw
b25zZSA9IGZ1bmN0aW9uKCkgewotICAgIHJldHVybiAodGhpcy5nZXRGbGFncygpICYga01lc3Nh
Z2VJc1Jlc3BvbnNlKSAhPSAwOwotICB9OwotCi0gIE1lc3NhZ2UucHJvdG90eXBlLmV4cGVjdHNS
ZXNwb25zZSA9IGZ1bmN0aW9uKCkgewotICAgIHJldHVybiAodGhpcy5nZXRGbGFncygpICYga01l
c3NhZ2VFeHBlY3RzUmVzcG9uc2UpICE9IDA7Ci0gIH07Ci0KLSAgTWVzc2FnZS5wcm90b3R5cGUu
c2V0UmVxdWVzdElEID0gZnVuY3Rpb24ocmVxdWVzdElEKSB7Ci0gICAgLy8gVE9ETyhkYXJpbik6
IFZlcmlmeSB0aGF0IHNwYWNlIHdhcyByZXNlcnZlZCBmb3IgdGhpcyBmaWVsZCEKLSAgICB0aGlz
LmJ1ZmZlci5zZXRVaW50NjQoa01lc3NhZ2VSZXF1ZXN0SURPZmZzZXQsIHJlcXVlc3RJRCk7Ci0g
IH07Ci0KLSAgTWVzc2FnZS5wcm90b3R5cGUuc2V0SW50ZXJmYWNlSWQgPSBmdW5jdGlvbihpbnRl
cmZhY2VJZCkgewotICAgIHRoaXMuYnVmZmVyLnNldFVpbnQzMihrTWVzc2FnZUludGVyZmFjZUlk
T2Zmc2V0LCBpbnRlcmZhY2VJZCk7Ci0gIH07Ci0KLSAgTWVzc2FnZS5wcm90b3R5cGUuc2V0UGF5
bG9hZEludGVyZmFjZUlkc18gPSBmdW5jdGlvbihwYXlsb2FkSW50ZXJmYWNlSWRzKSB7Ci0gICAg
aWYgKHRoaXMuZ2V0SGVhZGVyVmVyc2lvbigpIDwgMikgewotICAgICAgdGhyb3cgbmV3IEVycm9y
KAotICAgICAgICAgICJWZXJzaW9uIG9mIG1lc3NhZ2UgZG9lcyBub3Qgc3VwcG9ydCBwYXlsb2Fk
IGludGVyZmFjZSBpZHMiKTsKLSAgICB9Ci0KLSAgICB2YXIgZGVjb2RlciA9IG5ldyBEZWNvZGVy
KHRoaXMuYnVmZmVyLCB0aGlzLmhhbmRsZXMsCi0gICAgICAgIHRoaXMuYXNzb2NpYXRlZEVuZHBv
aW50SGFuZGxlcywKLSAgICAgICAga01lc3NhZ2VQYXlsb2FkSW50ZXJmYWNlSWRzUG9pbnRlck9m
ZnNldCk7Ci0gICAgdmFyIHBheWxvYWRJbnRlcmZhY2VJZHNPZmZzZXQgPSBkZWNvZGVyLmRlY29k
ZVBvaW50ZXIoKTsKLSAgICB2YXIgZW5jb2RlciA9IG5ldyBFbmNvZGVyKHRoaXMuYnVmZmVyLCB0
aGlzLmhhbmRsZXMsCi0gICAgICAgIHRoaXMuYXNzb2NpYXRlZEVuZHBvaW50SGFuZGxlcywKLSAg
ICAgICAgcGF5bG9hZEludGVyZmFjZUlkc09mZnNldCk7Ci0gICAgZW5jb2Rlci5lbmNvZGVBcnJh
eShVaW50MzIsIHBheWxvYWRJbnRlcmZhY2VJZHMpOwotICB9OwotCi0gIE1lc3NhZ2UucHJvdG90
eXBlLnNlcmlhbGl6ZUFzc29jaWF0ZWRFbmRwb2ludEhhbmRsZXMgPSBmdW5jdGlvbigKLSAgICAg
IGFzc29jaWF0ZWRHcm91cENvbnRyb2xsZXIpIHsKLSAgICBpZiAodGhpcy5hc3NvY2lhdGVkRW5k
cG9pbnRIYW5kbGVzLmxlbmd0aCA+IDApIHsKLSAgICAgIGlmICh0aGlzLmdldEhlYWRlclZlcnNp
b24oKSA8IDIpIHsKLSAgICAgICAgdGhyb3cgbmV3IEVycm9yKAotICAgICAgICAgICAgIlZlcnNp
b24gb2YgbWVzc2FnZSBkb2VzIG5vdCBzdXBwb3J0IGFzc29jaWF0ZWQgZW5kcG9pbnQgaGFuZGxl
cyIpOwotICAgICAgfQotCi0gICAgICB2YXIgZGF0YSA9IFtdOwotICAgICAgZm9yICh2YXIgaSA9
IDA7IGkgPCB0aGlzLmFzc29jaWF0ZWRFbmRwb2ludEhhbmRsZXMubGVuZ3RoOyBpKyspIHsKLSAg
ICAgICAgdmFyIGhhbmRsZSA9IHRoaXMuYXNzb2NpYXRlZEVuZHBvaW50SGFuZGxlc1tpXTsKLSAg
ICAgICAgZGF0YS5wdXNoKGFzc29jaWF0ZWRHcm91cENvbnRyb2xsZXIuYXNzb2NpYXRlSW50ZXJm
YWNlKGhhbmRsZSkpOwotICAgICAgfQotICAgICAgdGhpcy5hc3NvY2lhdGVkRW5kcG9pbnRIYW5k
bGVzID0gW107Ci0gICAgICB0aGlzLnNldFBheWxvYWRJbnRlcmZhY2VJZHNfKGRhdGEpOwotICAg
IH0KLSAgfTsKLQotICBNZXNzYWdlLnByb3RvdHlwZS5kZXNlcmlhbGl6ZUFzc29jaWF0ZWRFbmRw
b2ludEhhbmRsZXMgPSBmdW5jdGlvbigKLSAgICAgIGFzc29jaWF0ZWRHcm91cENvbnRyb2xsZXIp
IHsKLSAgICBpZiAodGhpcy5nZXRIZWFkZXJWZXJzaW9uKCkgPCAyKSB7Ci0gICAgICByZXR1cm4g
dHJ1ZTsKLSAgICB9Ci0KLSAgICB0aGlzLmFzc29jaWF0ZWRFbmRwb2ludEhhbmRsZXMgPSBbXTsK
LSAgICB2YXIgaWRzID0gdGhpcy5nZXRQYXlsb2FkSW50ZXJmYWNlSWRzKCk7Ci0KLSAgICB2YXIg
cmVzdWx0ID0gdHJ1ZTsKLSAgICBmb3IgKHZhciBpID0gMDsgaSA8IGlkcy5sZW5ndGg7IGkrKykg
ewotICAgICAgdmFyIGhhbmRsZSA9IGFzc29jaWF0ZWRHcm91cENvbnRyb2xsZXIuY3JlYXRlTG9j
YWxFbmRwb2ludEhhbmRsZShpZHNbaV0pOwotICAgICAgaWYgKGludGVybmFsLmlzVmFsaWRJbnRl
cmZhY2VJZChpZHNbaV0pICYmICFoYW5kbGUuaXNWYWxpZCgpKSB7Ci0gICAgICAgIC8vIHxpZHNb
aV18IGl0c2VsZiBpcyB2YWxpZCBidXQgaGFuZGxlIGNyZWF0aW9uIGZhaWxlZC4gSW4gdGhhdCBj
YXNlLAotICAgICAgICAvLyBtYXJrIGRlc2VyaWFsaXphdGlvbiBhcyBmYWlsZWQgYnV0IGNvbnRp
bnVlIHRvIGRlc2VyaWFsaXplIHRoZQotICAgICAgICAvLyByZXN0IG9mIGhhbmRsZXMuCi0gICAg
ICAgIHJlc3VsdCA9IGZhbHNlOwotICAgICAgfQotICAgICAgdGhpcy5hc3NvY2lhdGVkRW5kcG9p
bnRIYW5kbGVzLnB1c2goaGFuZGxlKTsKLSAgICAgIGlkc1tpXSA9IGludGVybmFsLmtJbnZhbGlk
SW50ZXJmYWNlSWQ7Ci0gICAgfQotCi0gICAgdGhpcy5zZXRQYXlsb2FkSW50ZXJmYWNlSWRzXyhp
ZHMpOwotICAgIHJldHVybiByZXN1bHQ7Ci0gIH07Ci0KLQotICAvLyBNZXNzYWdlVjBCdWlsZGVy
IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LQotCi0gIGZ1bmN0aW9uIE1lc3NhZ2VWMEJ1aWxkZXIobWVzc2FnZU5hbWUsIHBheWxvYWRTaXpl
KSB7Ci0gICAgLy8gQ3VycmVudGx5LCB3ZSBkb24ndCBjb21wdXRlIHRoZSBwYXlsb2FkIHNpemUg
Y29ycmVjdGx5IGFoZWFkIG9mIHRpbWUuCi0gICAgLy8gSW5zdGVhZCwgd2UgcmVzaXplIHRoZSBi
dWZmZXIgYXQgdGhlIGVuZC4KLSAgICB2YXIgbnVtYmVyT2ZCeXRlcyA9IGtNZXNzYWdlVjBIZWFk
ZXJTaXplICsgcGF5bG9hZFNpemU7Ci0gICAgdGhpcy5idWZmZXIgPSBuZXcgaW50ZXJuYWwuQnVm
ZmVyKG51bWJlck9mQnl0ZXMpOwotICAgIHRoaXMuaGFuZGxlcyA9IFtdOwotICAgIHZhciBlbmNv
ZGVyID0gdGhpcy5jcmVhdGVFbmNvZGVyKGtNZXNzYWdlVjBIZWFkZXJTaXplKTsKLSAgICBlbmNv
ZGVyLndyaXRlVWludDMyKGtNZXNzYWdlVjBIZWFkZXJTaXplKTsKLSAgICBlbmNvZGVyLndyaXRl
VWludDMyKDApOyAgLy8gdmVyc2lvbi4KLSAgICBlbmNvZGVyLndyaXRlVWludDMyKDApOyAgLy8g
aW50ZXJmYWNlIElELgotICAgIGVuY29kZXIud3JpdGVVaW50MzIobWVzc2FnZU5hbWUpOwotICAg
IGVuY29kZXIud3JpdGVVaW50MzIoMCk7ICAvLyBmbGFncy4KLSAgICBlbmNvZGVyLndyaXRlVWlu
dDMyKDApOyAgLy8gcGFkZGluZy4KLSAgfQotCi0gIE1lc3NhZ2VWMEJ1aWxkZXIucHJvdG90eXBl
LmNyZWF0ZUVuY29kZXIgPSBmdW5jdGlvbihzaXplKSB7Ci0gICAgdmFyIHBvaW50ZXIgPSB0aGlz
LmJ1ZmZlci5hbGxvYyhzaXplKTsKLSAgICByZXR1cm4gbmV3IEVuY29kZXIodGhpcy5idWZmZXIs
IHRoaXMuaGFuZGxlcywgW10sIHBvaW50ZXIpOwotICB9OwotCi0gIE1lc3NhZ2VWMEJ1aWxkZXIu
cHJvdG90eXBlLmVuY29kZVN0cnVjdCA9IGZ1bmN0aW9uKGNscywgdmFsKSB7Ci0gICAgY2xzLmVu
Y29kZSh0aGlzLmNyZWF0ZUVuY29kZXIoY2xzLmVuY29kZWRTaXplKSwgdmFsKTsKLSAgfTsKLQot
ICBNZXNzYWdlVjBCdWlsZGVyLnByb3RvdHlwZS5maW5pc2ggPSBmdW5jdGlvbigpIHsKLSAgICAv
LyBUT0RPKGFiYXJ0aCk6IFJhdGhlciB0aGFuIHJlc2l6aW5nIHRoZSBidWZmZXIgYXQgdGhlIGVu
ZCwgd2UgY291bGQKLSAgICAvLyBjb21wdXRlIHRoZSBzaXplIHdlIG5lZWQgYWhlYWQgb2YgdGlt
ZSwgbGlrZSB3ZSBkbyBpbiBDKysuCi0gICAgdGhpcy5idWZmZXIudHJpbSgpOwotICAgIHZhciBt
ZXNzYWdlID0gbmV3IE1lc3NhZ2UodGhpcy5idWZmZXIsIHRoaXMuaGFuZGxlcyk7Ci0gICAgdGhp
cy5idWZmZXIgPSBudWxsOwotICAgIHRoaXMuaGFuZGxlcyA9IG51bGw7Ci0gICAgdGhpcy5lbmNv
ZGVyID0gbnVsbDsKLSAgICByZXR1cm4gbWVzc2FnZTsKLSAgfTsKLQotICAvLyBNZXNzYWdlVjFC
dWlsZGVyIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0K
LSAgZnVuY3Rpb24gTWVzc2FnZVYxQnVpbGRlcihtZXNzYWdlTmFtZSwgcGF5bG9hZFNpemUsIGZs
YWdzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdElEKSB7
Ci0gICAgLy8gQ3VycmVudGx5LCB3ZSBkb24ndCBjb21wdXRlIHRoZSBwYXlsb2FkIHNpemUgY29y
cmVjdGx5IGFoZWFkIG9mIHRpbWUuCi0gICAgLy8gSW5zdGVhZCwgd2UgcmVzaXplIHRoZSBidWZm
ZXIgYXQgdGhlIGVuZC4KLSAgICB2YXIgbnVtYmVyT2ZCeXRlcyA9IGtNZXNzYWdlVjFIZWFkZXJT
aXplICsgcGF5bG9hZFNpemU7Ci0gICAgdGhpcy5idWZmZXIgPSBuZXcgaW50ZXJuYWwuQnVmZmVy
KG51bWJlck9mQnl0ZXMpOwotICAgIHRoaXMuaGFuZGxlcyA9IFtdOwotICAgIHZhciBlbmNvZGVy
ID0gdGhpcy5jcmVhdGVFbmNvZGVyKGtNZXNzYWdlVjFIZWFkZXJTaXplKTsKLSAgICBlbmNvZGVy
LndyaXRlVWludDMyKGtNZXNzYWdlVjFIZWFkZXJTaXplKTsKLSAgICBlbmNvZGVyLndyaXRlVWlu
dDMyKDEpOyAgLy8gdmVyc2lvbi4KLSAgICBlbmNvZGVyLndyaXRlVWludDMyKDApOyAgLy8gaW50
ZXJmYWNlIElELgotICAgIGVuY29kZXIud3JpdGVVaW50MzIobWVzc2FnZU5hbWUpOwotICAgIGVu
Y29kZXIud3JpdGVVaW50MzIoZmxhZ3MpOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoMCk7ICAv
LyBwYWRkaW5nLgotICAgIGVuY29kZXIud3JpdGVVaW50NjQocmVxdWVzdElEKTsKLSAgfQotCi0g
IE1lc3NhZ2VWMUJ1aWxkZXIucHJvdG90eXBlID0KLSAgICAgIE9iamVjdC5jcmVhdGUoTWVzc2Fn
ZVYwQnVpbGRlci5wcm90b3R5cGUpOwotCi0gIE1lc3NhZ2VWMUJ1aWxkZXIucHJvdG90eXBlLmNv
bnN0cnVjdG9yID0KLSAgICAgIE1lc3NhZ2VWMUJ1aWxkZXI7Ci0KLSAgLy8gTWVzc2FnZVYyIC0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0KLSAgZnVuY3Rp
b24gTWVzc2FnZVYyQnVpbGRlcihtZXNzYWdlTmFtZSwgcGF5bG9hZFNpemUsIGZsYWdzLCByZXF1
ZXN0SUQpIHsKLSAgICAvLyBDdXJyZW50bHksIHdlIGRvbid0IGNvbXB1dGUgdGhlIHBheWxvYWQg
c2l6ZSBjb3JyZWN0bHkgYWhlYWQgb2YgdGltZS4KLSAgICAvLyBJbnN0ZWFkLCB3ZSByZXNpemUg
dGhlIGJ1ZmZlciBhdCB0aGUgZW5kLgotICAgIHZhciBudW1iZXJPZkJ5dGVzID0ga01lc3NhZ2VW
MkhlYWRlclNpemUgKyBwYXlsb2FkU2l6ZTsKLSAgICB0aGlzLmJ1ZmZlciA9IG5ldyBpbnRlcm5h
bC5CdWZmZXIobnVtYmVyT2ZCeXRlcyk7Ci0gICAgdGhpcy5oYW5kbGVzID0gW107Ci0KLSAgICB0
aGlzLnBheWxvYWQgPSBudWxsOwotICAgIHRoaXMuYXNzb2NpYXRlZEVuZHBvaW50SGFuZGxlcyA9
IFtdOwotCi0gICAgdGhpcy5lbmNvZGVyID0gdGhpcy5jcmVhdGVFbmNvZGVyKGtNZXNzYWdlVjJI
ZWFkZXJTaXplKTsKLSAgICB0aGlzLmVuY29kZXIud3JpdGVVaW50MzIoa01lc3NhZ2VWMkhlYWRl
clNpemUpOwotICAgIHRoaXMuZW5jb2Rlci53cml0ZVVpbnQzMigyKTsgIC8vIHZlcnNpb24uCi0g
ICAgLy8gR2V0cyBzZXQgdG8gYW4gYXBwcm9wcmlhdGUgaW50ZXJmYWNlSWQgZm9yIHRoZSBlbmRw
b2ludCBieSB0aGUgUm91dGVyLgotICAgIHRoaXMuZW5jb2Rlci53cml0ZVVpbnQzMigwKTsgIC8v
IGludGVyZmFjZSBJRC4KLSAgICB0aGlzLmVuY29kZXIud3JpdGVVaW50MzIobWVzc2FnZU5hbWUp
OwotICAgIHRoaXMuZW5jb2Rlci53cml0ZVVpbnQzMihmbGFncyk7Ci0gICAgdGhpcy5lbmNvZGVy
LndyaXRlVWludDMyKDApOyAgLy8gcGFkZGluZy4KLSAgICB0aGlzLmVuY29kZXIud3JpdGVVaW50
NjQocmVxdWVzdElEKTsKLSAgfQotCi0gIE1lc3NhZ2VWMkJ1aWxkZXIucHJvdG90eXBlLmNyZWF0
ZUVuY29kZXIgPSBmdW5jdGlvbihzaXplKSB7Ci0gICAgdmFyIHBvaW50ZXIgPSB0aGlzLmJ1ZmZl
ci5hbGxvYyhzaXplKTsKLSAgICByZXR1cm4gbmV3IEVuY29kZXIodGhpcy5idWZmZXIsIHRoaXMu
aGFuZGxlcywKLSAgICAgICAgdGhpcy5hc3NvY2lhdGVkRW5kcG9pbnRIYW5kbGVzLCBwb2ludGVy
KTsKLSAgfTsKLQotICBNZXNzYWdlVjJCdWlsZGVyLnByb3RvdHlwZS5zZXRQYXlsb2FkID0gZnVu
Y3Rpb24oY2xzLCB2YWwpIHsKLSAgICB0aGlzLnBheWxvYWQgPSB7Y2xzOiBjbHMsIHZhbDogdmFs
fTsKLSAgfTsKLQotICBNZXNzYWdlVjJCdWlsZGVyLnByb3RvdHlwZS5maW5pc2ggPSBmdW5jdGlv
bigpIHsKLSAgICBpZiAoIXRoaXMucGF5bG9hZCkgewotICAgICAgdGhyb3cgbmV3IEVycm9yKCJQ
YXlsb2FkIG5lZWRzIHRvIGJlIHNldCBiZWZvcmUgY2FsbGluZyBmaW5pc2giKTsKLSAgICB9Ci0K
LSAgICB0aGlzLmVuY29kZXIuZW5jb2RlU3RydWN0UG9pbnRlcih0aGlzLnBheWxvYWQuY2xzLCB0
aGlzLnBheWxvYWQudmFsKTsKLSAgICB0aGlzLmVuY29kZXIuZW5jb2RlQXJyYXlQb2ludGVyKFVp
bnQzMiwKLSAgICAgICAgbmV3IEFycmF5KHRoaXMuYXNzb2NpYXRlZEVuZHBvaW50SGFuZGxlcy5s
ZW5ndGgpKTsKLQotICAgIHRoaXMuYnVmZmVyLnRyaW0oKTsKLSAgICB2YXIgbWVzc2FnZSA9IG5l
dyBNZXNzYWdlKHRoaXMuYnVmZmVyLCB0aGlzLmhhbmRsZXMsCi0gICAgICAgIHRoaXMuYXNzb2Np
YXRlZEVuZHBvaW50SGFuZGxlcyk7Ci0gICAgdGhpcy5idWZmZXIgPSBudWxsOwotICAgIHRoaXMu
aGFuZGxlcyA9IG51bGw7Ci0gICAgdGhpcy5lbmNvZGVyID0gbnVsbDsKLSAgICB0aGlzLnBheWxv
YWQgPSBudWxsOwotICAgIHRoaXMuYXNzb2NpYXRlZEVuZHBvaW50SGFuZGxlcyA9IG51bGw7Ci0K
LSAgICByZXR1cm4gbWVzc2FnZTsKLSAgfTsKLQotICAvLyBNZXNzYWdlUmVhZGVyIC0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotCi0g
IGZ1bmN0aW9uIE1lc3NhZ2VSZWFkZXIobWVzc2FnZSkgewotICAgIHRoaXMuZGVjb2RlciA9IG5l
dyBEZWNvZGVyKG1lc3NhZ2UuYnVmZmVyLCBtZXNzYWdlLmhhbmRsZXMsCi0gICAgICAgIG1lc3Nh
Z2UuYXNzb2NpYXRlZEVuZHBvaW50SGFuZGxlcywgMCk7Ci0gICAgdmFyIG1lc3NhZ2VIZWFkZXJT
aXplID0gdGhpcy5kZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB0aGlzLnBheWxvYWRTaXplID0g
bWVzc2FnZS5idWZmZXIuYnl0ZUxlbmd0aCAtIG1lc3NhZ2VIZWFkZXJTaXplOwotICAgIHZhciB2
ZXJzaW9uID0gdGhpcy5kZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YXIgaW50ZXJmYWNlX2lk
ID0gdGhpcy5kZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB0aGlzLm1lc3NhZ2VOYW1lID0gdGhp
cy5kZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB0aGlzLmZsYWdzID0gdGhpcy5kZWNvZGVyLnJl
YWRVaW50MzIoKTsKLSAgICAvLyBTa2lwIHRoZSBwYWRkaW5nLgotICAgIHRoaXMuZGVjb2Rlci5z
a2lwKDQpOwotICAgIGlmICh2ZXJzaW9uID49IDEpCi0gICAgICB0aGlzLnJlcXVlc3RJRCA9IHRo
aXMuZGVjb2Rlci5yZWFkVWludDY0KCk7Ci0gICAgdGhpcy5kZWNvZGVyLnNraXAobWVzc2FnZUhl
YWRlclNpemUgLSB0aGlzLmRlY29kZXIubmV4dCk7Ci0gIH0KLQotICBNZXNzYWdlUmVhZGVyLnBy
b3RvdHlwZS5kZWNvZGVTdHJ1Y3QgPSBmdW5jdGlvbihjbHMpIHsKLSAgICByZXR1cm4gY2xzLmRl
Y29kZSh0aGlzLmRlY29kZXIpOwotICB9OwotCi0gIC8vIEJ1aWx0LWluIHR5cGVzIC0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0KLSAg
Ly8gVGhpcyB0eXBlIGlzIG9ubHkgdXNlZCB3aXRoIEFycmF5T2YoUGFja2VkQm9vbCkuCi0gIGZ1
bmN0aW9uIFBhY2tlZEJvb2woKSB7Ci0gIH0KLQotICBmdW5jdGlvbiBJbnQ4KCkgewotICB9Ci0K
LSAgSW50OC5lbmNvZGVkU2l6ZSA9IDE7Ci0KLSAgSW50OC5kZWNvZGUgPSBmdW5jdGlvbihkZWNv
ZGVyKSB7Ci0gICAgcmV0dXJuIGRlY29kZXIucmVhZEludDgoKTsKLSAgfTsKLQotICBJbnQ4LmVu
Y29kZSA9IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgIGVuY29kZXIud3JpdGVJbnQ4KHZh
bCk7Ci0gIH07Ci0KLSAgVWludDguZW5jb2RlID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0g
ICAgZW5jb2Rlci53cml0ZVVpbnQ4KHZhbCk7Ci0gIH07Ci0KLSAgZnVuY3Rpb24gVWludDgoKSB7
Ci0gIH0KLQotICBVaW50OC5lbmNvZGVkU2l6ZSA9IDE7Ci0KLSAgVWludDguZGVjb2RlID0gZnVu
Y3Rpb24oZGVjb2RlcikgewotICAgIHJldHVybiBkZWNvZGVyLnJlYWRVaW50OCgpOwotICB9Owot
Ci0gIFVpbnQ4LmVuY29kZSA9IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgIGVuY29kZXIu
d3JpdGVVaW50OCh2YWwpOwotICB9OwotCi0gIGZ1bmN0aW9uIEludDE2KCkgewotICB9Ci0KLSAg
SW50MTYuZW5jb2RlZFNpemUgPSAyOwotCi0gIEludDE2LmRlY29kZSA9IGZ1bmN0aW9uKGRlY29k
ZXIpIHsKLSAgICByZXR1cm4gZGVjb2Rlci5yZWFkSW50MTYoKTsKLSAgfTsKLQotICBJbnQxNi5l
bmNvZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2YWwpIHsKLSAgICBlbmNvZGVyLndyaXRlSW50MTYo
dmFsKTsKLSAgfTsKLQotICBmdW5jdGlvbiBVaW50MTYoKSB7Ci0gIH0KLQotICBVaW50MTYuZW5j
b2RlZFNpemUgPSAyOwotCi0gIFVpbnQxNi5kZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0g
ICAgcmV0dXJuIGRlY29kZXIucmVhZFVpbnQxNigpOwotICB9OwotCi0gIFVpbnQxNi5lbmNvZGUg
PSBmdW5jdGlvbihlbmNvZGVyLCB2YWwpIHsKLSAgICBlbmNvZGVyLndyaXRlVWludDE2KHZhbCk7
Ci0gIH07Ci0KLSAgZnVuY3Rpb24gSW50MzIoKSB7Ci0gIH0KLQotICBJbnQzMi5lbmNvZGVkU2l6
ZSA9IDQ7Ci0KLSAgSW50MzIuZGVjb2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHJldHVy
biBkZWNvZGVyLnJlYWRJbnQzMigpOwotICB9OwotCi0gIEludDMyLmVuY29kZSA9IGZ1bmN0aW9u
KGVuY29kZXIsIHZhbCkgewotICAgIGVuY29kZXIud3JpdGVJbnQzMih2YWwpOwotICB9OwotCi0g
IGZ1bmN0aW9uIFVpbnQzMigpIHsKLSAgfQotCi0gIFVpbnQzMi5lbmNvZGVkU2l6ZSA9IDQ7Ci0K
LSAgVWludDMyLmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICByZXR1cm4gZGVjb2Rl
ci5yZWFkVWludDMyKCk7Ci0gIH07Ci0KLSAgVWludDMyLmVuY29kZSA9IGZ1bmN0aW9uKGVuY29k
ZXIsIHZhbCkgewotICAgIGVuY29kZXIud3JpdGVVaW50MzIodmFsKTsKLSAgfTsKLQotICBmdW5j
dGlvbiBJbnQ2NCgpIHsKLSAgfQotCi0gIEludDY0LmVuY29kZWRTaXplID0gODsKLQotICBJbnQ2
NC5kZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgcmV0dXJuIGRlY29kZXIucmVhZElu
dDY0KCk7Ci0gIH07Ci0KLSAgSW50NjQuZW5jb2RlID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7
Ci0gICAgZW5jb2Rlci53cml0ZUludDY0KHZhbCk7Ci0gIH07Ci0KLSAgZnVuY3Rpb24gVWludDY0
KCkgewotICB9Ci0KLSAgVWludDY0LmVuY29kZWRTaXplID0gODsKLQotICBVaW50NjQuZGVjb2Rl
ID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHJldHVybiBkZWNvZGVyLnJlYWRVaW50NjQoKTsK
LSAgfTsKLQotICBVaW50NjQuZW5jb2RlID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAg
ZW5jb2Rlci53cml0ZVVpbnQ2NCh2YWwpOwotICB9OwotCi0gIGZ1bmN0aW9uIFN0cmluZygpIHsK
LSAgfTsKLQotICBTdHJpbmcuZW5jb2RlZFNpemUgPSA4OwotCi0gIFN0cmluZy5kZWNvZGUgPSBm
dW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgcmV0dXJuIGRlY29kZXIuZGVjb2RlU3RyaW5nUG9pbnRl
cigpOwotICB9OwotCi0gIFN0cmluZy5lbmNvZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2YWwpIHsK
LSAgICBlbmNvZGVyLmVuY29kZVN0cmluZ1BvaW50ZXIodmFsKTsKLSAgfTsKLQotICBmdW5jdGlv
biBOdWxsYWJsZVN0cmluZygpIHsKLSAgfQotCi0gIE51bGxhYmxlU3RyaW5nLmVuY29kZWRTaXpl
ID0gU3RyaW5nLmVuY29kZWRTaXplOwotCi0gIE51bGxhYmxlU3RyaW5nLmRlY29kZSA9IFN0cmlu
Zy5kZWNvZGU7Ci0KLSAgTnVsbGFibGVTdHJpbmcuZW5jb2RlID0gU3RyaW5nLmVuY29kZTsKLQot
ICBmdW5jdGlvbiBGbG9hdCgpIHsKLSAgfQotCi0gIEZsb2F0LmVuY29kZWRTaXplID0gNDsKLQot
ICBGbG9hdC5kZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgcmV0dXJuIGRlY29kZXIu
cmVhZEZsb2F0KCk7Ci0gIH07Ci0KLSAgRmxvYXQuZW5jb2RlID0gZnVuY3Rpb24oZW5jb2Rlciwg
dmFsKSB7Ci0gICAgZW5jb2Rlci53cml0ZUZsb2F0KHZhbCk7Ci0gIH07Ci0KLSAgZnVuY3Rpb24g
RG91YmxlKCkgewotICB9Ci0KLSAgRG91YmxlLmVuY29kZWRTaXplID0gODsKLQotICBEb3VibGUu
ZGVjb2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHJldHVybiBkZWNvZGVyLnJlYWREb3Vi
bGUoKTsKLSAgfTsKLQotICBEb3VibGUuZW5jb2RlID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7
Ci0gICAgZW5jb2Rlci53cml0ZURvdWJsZSh2YWwpOwotICB9OwotCi0gIGZ1bmN0aW9uIEVudW0o
Y2xzKSB7Ci0gICAgdGhpcy5jbHMgPSBjbHM7Ci0gIH0KLQotICBFbnVtLnByb3RvdHlwZS5lbmNv
ZGVkU2l6ZSA9IDQ7Ci0KLSAgRW51bS5wcm90b3R5cGUuZGVjb2RlID0gZnVuY3Rpb24oZGVjb2Rl
cikgewotICAgIHJldHVybiBkZWNvZGVyLnJlYWRJbnQzMigpOwotICB9OwotCi0gIEVudW0ucHJv
dG90eXBlLmVuY29kZSA9IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgIGVuY29kZXIud3Jp
dGVJbnQzMih2YWwpOwotICB9OwotCi0gIGZ1bmN0aW9uIFBvaW50ZXJUbyhjbHMpIHsKLSAgICB0
aGlzLmNscyA9IGNsczsKLSAgfQotCi0gIFBvaW50ZXJUby5wcm90b3R5cGUuZW5jb2RlZFNpemUg
PSA4OwotCi0gIFBvaW50ZXJUby5wcm90b3R5cGUuZGVjb2RlID0gZnVuY3Rpb24oZGVjb2Rlcikg
ewotICAgIHZhciBwb2ludGVyID0gZGVjb2Rlci5kZWNvZGVQb2ludGVyKCk7Ci0gICAgaWYgKCFw
b2ludGVyKSB7Ci0gICAgICByZXR1cm4gbnVsbDsKLSAgICB9Ci0gICAgcmV0dXJuIHRoaXMuY2xz
LmRlY29kZShkZWNvZGVyLmRlY29kZUFuZENyZWF0ZURlY29kZXIocG9pbnRlcikpOwotICB9Owot
Ci0gIFBvaW50ZXJUby5wcm90b3R5cGUuZW5jb2RlID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7
Ci0gICAgaWYgKCF2YWwpIHsKLSAgICAgIGVuY29kZXIuZW5jb2RlUG9pbnRlcih2YWwpOwotICAg
ICAgcmV0dXJuOwotICAgIH0KLSAgICB2YXIgb2JqZWN0RW5jb2RlciA9IGVuY29kZXIuY3JlYXRl
QW5kRW5jb2RlRW5jb2Rlcih0aGlzLmNscy5lbmNvZGVkU2l6ZSk7Ci0gICAgdGhpcy5jbHMuZW5j
b2RlKG9iamVjdEVuY29kZXIsIHZhbCk7Ci0gIH07Ci0KLSAgZnVuY3Rpb24gTnVsbGFibGVQb2lu
dGVyVG8oY2xzKSB7Ci0gICAgUG9pbnRlclRvLmNhbGwodGhpcywgY2xzKTsKLSAgfQotCi0gIE51
bGxhYmxlUG9pbnRlclRvLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoUG9pbnRlclRvLnByb3Rv
dHlwZSk7Ci0KLSAgZnVuY3Rpb24gQXJyYXlPZihjbHMsIGxlbmd0aCkgewotICAgIHRoaXMuY2xz
ID0gY2xzOwotICAgIHRoaXMubGVuZ3RoID0gbGVuZ3RoIHx8IDA7Ci0gIH0KLQotICBBcnJheU9m
LnByb3RvdHlwZS5lbmNvZGVkU2l6ZSA9IDg7Ci0KLSAgQXJyYXlPZi5wcm90b3R5cGUuZGltZW5z
aW9ucyA9IGZ1bmN0aW9uKCkgewotICAgIHJldHVybiBbdGhpcy5sZW5ndGhdLmNvbmNhdCgKLSAg
ICAgICh0aGlzLmNscyBpbnN0YW5jZW9mIEFycmF5T2YpID8gdGhpcy5jbHMuZGltZW5zaW9ucygp
IDogW10pOwotICB9Ci0KLSAgQXJyYXlPZi5wcm90b3R5cGUuZGVjb2RlID0gZnVuY3Rpb24oZGVj
b2RlcikgewotICAgIHJldHVybiBkZWNvZGVyLmRlY29kZUFycmF5UG9pbnRlcih0aGlzLmNscyk7
Ci0gIH07Ci0KLSAgQXJyYXlPZi5wcm90b3R5cGUuZW5jb2RlID0gZnVuY3Rpb24oZW5jb2Rlciwg
dmFsKSB7Ci0gICAgZW5jb2Rlci5lbmNvZGVBcnJheVBvaW50ZXIodGhpcy5jbHMsIHZhbCk7Ci0g
IH07Ci0KLSAgZnVuY3Rpb24gTnVsbGFibGVBcnJheU9mKGNscykgewotICAgIEFycmF5T2YuY2Fs
bCh0aGlzLCBjbHMpOwotICB9Ci0KLSAgTnVsbGFibGVBcnJheU9mLnByb3RvdHlwZSA9IE9iamVj
dC5jcmVhdGUoQXJyYXlPZi5wcm90b3R5cGUpOwotCi0gIGZ1bmN0aW9uIEhhbmRsZSgpIHsKLSAg
fQotCi0gIEhhbmRsZS5lbmNvZGVkU2l6ZSA9IDQ7Ci0KLSAgSGFuZGxlLmRlY29kZSA9IGZ1bmN0
aW9uKGRlY29kZXIpIHsKLSAgICByZXR1cm4gZGVjb2Rlci5kZWNvZGVIYW5kbGUoKTsKLSAgfTsK
LQotICBIYW5kbGUuZW5jb2RlID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAgZW5jb2Rl
ci5lbmNvZGVIYW5kbGUodmFsKTsKLSAgfTsKLQotICBmdW5jdGlvbiBOdWxsYWJsZUhhbmRsZSgp
IHsKLSAgfQotCi0gIE51bGxhYmxlSGFuZGxlLmVuY29kZWRTaXplID0gSGFuZGxlLmVuY29kZWRT
aXplOwotCi0gIE51bGxhYmxlSGFuZGxlLmRlY29kZSA9IEhhbmRsZS5kZWNvZGU7Ci0KLSAgTnVs
bGFibGVIYW5kbGUuZW5jb2RlID0gSGFuZGxlLmVuY29kZTsKLQotICBmdW5jdGlvbiBJbnRlcmZh
Y2UoY2xzKSB7Ci0gICAgdGhpcy5jbHMgPSBjbHM7Ci0gIH0KLQotICBJbnRlcmZhY2UucHJvdG90
eXBlLmVuY29kZWRTaXplID0gODsKLQotICBJbnRlcmZhY2UucHJvdG90eXBlLmRlY29kZSA9IGZ1
bmN0aW9uKGRlY29kZXIpIHsKLSAgICB2YXIgaW50ZXJmYWNlUHRySW5mbyA9IG5ldyBtb2pvLklu
dGVyZmFjZVB0ckluZm8oCi0gICAgICAgIGRlY29kZXIuZGVjb2RlSGFuZGxlKCksIGRlY29kZXIu
cmVhZFVpbnQzMigpKTsKLSAgICB2YXIgaW50ZXJmYWNlUHRyID0gbmV3IHRoaXMuY2xzKCk7Ci0g
ICAgaW50ZXJmYWNlUHRyLnB0ci5iaW5kKGludGVyZmFjZVB0ckluZm8pOwotICAgIHJldHVybiBp
bnRlcmZhY2VQdHI7Ci0gIH07Ci0KLSAgSW50ZXJmYWNlLnByb3RvdHlwZS5lbmNvZGUgPSBmdW5j
dGlvbihlbmNvZGVyLCB2YWwpIHsKLSAgICB2YXIgaW50ZXJmYWNlUHRySW5mbyA9Ci0gICAgICAg
IHZhbCA/IHZhbC5wdHIucGFzc0ludGVyZmFjZSgpIDogbmV3IG1vam8uSW50ZXJmYWNlUHRySW5m
byhudWxsLCAwKTsKLSAgICBlbmNvZGVyLmVuY29kZUhhbmRsZShpbnRlcmZhY2VQdHJJbmZvLmhh
bmRsZSk7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMihpbnRlcmZhY2VQdHJJbmZvLnZlcnNpb24p
OwotICB9OwotCi0gIGZ1bmN0aW9uIE51bGxhYmxlSW50ZXJmYWNlKGNscykgewotICAgIEludGVy
ZmFjZS5jYWxsKHRoaXMsIGNscyk7Ci0gIH0KLQotICBOdWxsYWJsZUludGVyZmFjZS5wcm90b3R5
cGUgPSBPYmplY3QuY3JlYXRlKEludGVyZmFjZS5wcm90b3R5cGUpOwotCi0gIGZ1bmN0aW9uIEFz
c29jaWF0ZWRJbnRlcmZhY2VQdHJJbmZvKCkgewotICB9Ci0KLSAgQXNzb2NpYXRlZEludGVyZmFj
ZVB0ckluZm8ucHJvdG90eXBlLmVuY29kZWRTaXplID0gODsKLQotICBBc3NvY2lhdGVkSW50ZXJm
YWNlUHRySW5mby5kZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgcmV0dXJuIG5ldyBt
b2pvLkFzc29jaWF0ZWRJbnRlcmZhY2VQdHJJbmZvKAotICAgICAgZGVjb2Rlci5kZWNvZGVBc3Nv
Y2lhdGVkRW5kcG9pbnRIYW5kbGUoKSwgZGVjb2Rlci5yZWFkVWludDMyKCkpOwotICB9OwotCi0g
IEFzc29jaWF0ZWRJbnRlcmZhY2VQdHJJbmZvLmVuY29kZSA9IGZ1bmN0aW9uKGVuY29kZXIsIHZh
bCkgewotICAgIHZhciBhc3NvY2lhdGVkaW50ZXJmYWNlUHRySW5mbyA9Ci0gICAgICAgIHZhbCA/
IHZhbCA6IG5ldyBtb2pvLkFzc29jaWF0ZWRJbnRlcmZhY2VQdHJJbmZvKG51bGwsIDApOwotICAg
IGVuY29kZXIuZW5jb2RlQXNzb2NpYXRlZEVuZHBvaW50SGFuZGxlKAotICAgICAgICBhc3NvY2lh
dGVkaW50ZXJmYWNlUHRySW5mby5pbnRlcmZhY2VFbmRwb2ludEhhbmRsZSk7Ci0gICAgZW5jb2Rl
ci53cml0ZVVpbnQzMihhc3NvY2lhdGVkaW50ZXJmYWNlUHRySW5mby52ZXJzaW9uKTsKLSAgfTsK
LQotICBmdW5jdGlvbiBOdWxsYWJsZUFzc29jaWF0ZWRJbnRlcmZhY2VQdHJJbmZvKCkgewotICB9
Ci0KLSAgTnVsbGFibGVBc3NvY2lhdGVkSW50ZXJmYWNlUHRySW5mby5lbmNvZGVkU2l6ZSA9Ci0g
ICAgICBBc3NvY2lhdGVkSW50ZXJmYWNlUHRySW5mby5lbmNvZGVkU2l6ZTsKLQotICBOdWxsYWJs
ZUFzc29jaWF0ZWRJbnRlcmZhY2VQdHJJbmZvLmRlY29kZSA9Ci0gICAgICBBc3NvY2lhdGVkSW50
ZXJmYWNlUHRySW5mby5kZWNvZGU7Ci0KLSAgTnVsbGFibGVBc3NvY2lhdGVkSW50ZXJmYWNlUHRy
SW5mby5lbmNvZGUgPQotICAgICAgQXNzb2NpYXRlZEludGVyZmFjZVB0ckluZm8uZW5jb2RlOwot
Ci0gIGZ1bmN0aW9uIEludGVyZmFjZVJlcXVlc3QoKSB7Ci0gIH0KLQotICBJbnRlcmZhY2VSZXF1
ZXN0LmVuY29kZWRTaXplID0gNDsKLQotICBJbnRlcmZhY2VSZXF1ZXN0LmRlY29kZSA9IGZ1bmN0
aW9uKGRlY29kZXIpIHsKLSAgICByZXR1cm4gbmV3IG1vam8uSW50ZXJmYWNlUmVxdWVzdChkZWNv
ZGVyLmRlY29kZUhhbmRsZSgpKTsKLSAgfTsKLQotICBJbnRlcmZhY2VSZXF1ZXN0LmVuY29kZSA9
IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgIGVuY29kZXIuZW5jb2RlSGFuZGxlKHZhbCA/
IHZhbC5oYW5kbGUgOiBudWxsKTsKLSAgfTsKLQotICBmdW5jdGlvbiBOdWxsYWJsZUludGVyZmFj
ZVJlcXVlc3QoKSB7Ci0gIH0KLQotICBOdWxsYWJsZUludGVyZmFjZVJlcXVlc3QuZW5jb2RlZFNp
emUgPSBJbnRlcmZhY2VSZXF1ZXN0LmVuY29kZWRTaXplOwotCi0gIE51bGxhYmxlSW50ZXJmYWNl
UmVxdWVzdC5kZWNvZGUgPSBJbnRlcmZhY2VSZXF1ZXN0LmRlY29kZTsKLQotICBOdWxsYWJsZUlu
dGVyZmFjZVJlcXVlc3QuZW5jb2RlID0gSW50ZXJmYWNlUmVxdWVzdC5lbmNvZGU7Ci0KLSAgZnVu
Y3Rpb24gQXNzb2NpYXRlZEludGVyZmFjZVJlcXVlc3QoKSB7Ci0gIH0KLQotICBBc3NvY2lhdGVk
SW50ZXJmYWNlUmVxdWVzdC5kZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgdmFyIGhh
bmRsZSA9IGRlY29kZXIuZGVjb2RlQXNzb2NpYXRlZEVuZHBvaW50SGFuZGxlKCk7Ci0gICAgcmV0
dXJuIG5ldyBtb2pvLkFzc29jaWF0ZWRJbnRlcmZhY2VSZXF1ZXN0KGhhbmRsZSk7Ci0gIH07Ci0K
LSAgQXNzb2NpYXRlZEludGVyZmFjZVJlcXVlc3QuZW5jb2RlID0gZnVuY3Rpb24oZW5jb2Rlciwg
dmFsKSB7Ci0gICAgZW5jb2Rlci5lbmNvZGVBc3NvY2lhdGVkRW5kcG9pbnRIYW5kbGUoCi0gICAg
ICAgIHZhbCA/IHZhbC5pbnRlcmZhY2VFbmRwb2ludEhhbmRsZSA6IG51bGwpOwotICB9OwotCi0g
IEFzc29jaWF0ZWRJbnRlcmZhY2VSZXF1ZXN0LmVuY29kZWRTaXplID0gNDsKLQotICBmdW5jdGlv
biBOdWxsYWJsZUFzc29jaWF0ZWRJbnRlcmZhY2VSZXF1ZXN0KCkgewotICB9Ci0KLSAgTnVsbGFi
bGVBc3NvY2lhdGVkSW50ZXJmYWNlUmVxdWVzdC5lbmNvZGVkU2l6ZSA9Ci0gICAgICBBc3NvY2lh
dGVkSW50ZXJmYWNlUmVxdWVzdC5lbmNvZGVkU2l6ZTsKLQotICBOdWxsYWJsZUFzc29jaWF0ZWRJ
bnRlcmZhY2VSZXF1ZXN0LmRlY29kZSA9Ci0gICAgICBBc3NvY2lhdGVkSW50ZXJmYWNlUmVxdWVz
dC5kZWNvZGU7Ci0KLSAgTnVsbGFibGVBc3NvY2lhdGVkSW50ZXJmYWNlUmVxdWVzdC5lbmNvZGUg
PQotICAgICAgQXNzb2NpYXRlZEludGVyZmFjZVJlcXVlc3QuZW5jb2RlOwotCi0gIGZ1bmN0aW9u
IE1hcE9mKGtleUNsYXNzLCB2YWx1ZUNsYXNzKSB7Ci0gICAgdGhpcy5rZXlDbGFzcyA9IGtleUNs
YXNzOwotICAgIHRoaXMudmFsdWVDbGFzcyA9IHZhbHVlQ2xhc3M7Ci0gIH0KLQotICBNYXBPZi5w
cm90b3R5cGUuZW5jb2RlZFNpemUgPSA4OwotCi0gIE1hcE9mLnByb3RvdHlwZS5kZWNvZGUgPSBm
dW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgcmV0dXJuIGRlY29kZXIuZGVjb2RlTWFwUG9pbnRlcih0
aGlzLmtleUNsYXNzLCB0aGlzLnZhbHVlQ2xhc3MpOwotICB9OwotCi0gIE1hcE9mLnByb3RvdHlw
ZS5lbmNvZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2YWwpIHsKLSAgICBlbmNvZGVyLmVuY29kZU1h
cFBvaW50ZXIodGhpcy5rZXlDbGFzcywgdGhpcy52YWx1ZUNsYXNzLCB2YWwpOwotICB9OwotCi0g
IGZ1bmN0aW9uIE51bGxhYmxlTWFwT2Yoa2V5Q2xhc3MsIHZhbHVlQ2xhc3MpIHsKLSAgICBNYXBP
Zi5jYWxsKHRoaXMsIGtleUNsYXNzLCB2YWx1ZUNsYXNzKTsKLSAgfQotCi0gIE51bGxhYmxlTWFw
T2YucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShNYXBPZi5wcm90b3R5cGUpOwotCi0gIGludGVy
bmFsLmFsaWduID0gYWxpZ247Ci0gIGludGVybmFsLmlzQWxpZ25lZCA9IGlzQWxpZ25lZDsKLSAg
aW50ZXJuYWwuTWVzc2FnZSA9IE1lc3NhZ2U7Ci0gIGludGVybmFsLk1lc3NhZ2VWMEJ1aWxkZXIg
PSBNZXNzYWdlVjBCdWlsZGVyOwotICBpbnRlcm5hbC5NZXNzYWdlVjFCdWlsZGVyID0gTWVzc2Fn
ZVYxQnVpbGRlcjsKLSAgaW50ZXJuYWwuTWVzc2FnZVYyQnVpbGRlciA9IE1lc3NhZ2VWMkJ1aWxk
ZXI7Ci0gIGludGVybmFsLk1lc3NhZ2VSZWFkZXIgPSBNZXNzYWdlUmVhZGVyOwotICBpbnRlcm5h
bC5rQXJyYXlIZWFkZXJTaXplID0ga0FycmF5SGVhZGVyU2l6ZTsKLSAgaW50ZXJuYWwua01hcFN0
cnVjdFBheWxvYWRTaXplID0ga01hcFN0cnVjdFBheWxvYWRTaXplOwotICBpbnRlcm5hbC5rU3Ry
dWN0SGVhZGVyU2l6ZSA9IGtTdHJ1Y3RIZWFkZXJTaXplOwotICBpbnRlcm5hbC5rRW5jb2RlZElu
dmFsaWRIYW5kbGVWYWx1ZSA9IGtFbmNvZGVkSW52YWxpZEhhbmRsZVZhbHVlOwotICBpbnRlcm5h
bC5rTWVzc2FnZVYwSGVhZGVyU2l6ZSA9IGtNZXNzYWdlVjBIZWFkZXJTaXplOwotICBpbnRlcm5h
bC5rTWVzc2FnZVYxSGVhZGVyU2l6ZSA9IGtNZXNzYWdlVjFIZWFkZXJTaXplOwotICBpbnRlcm5h
bC5rTWVzc2FnZVYySGVhZGVyU2l6ZSA9IGtNZXNzYWdlVjJIZWFkZXJTaXplOwotICBpbnRlcm5h
bC5rTWVzc2FnZVBheWxvYWRJbnRlcmZhY2VJZHNQb2ludGVyT2Zmc2V0ID0KLSAgICAgIGtNZXNz
YWdlUGF5bG9hZEludGVyZmFjZUlkc1BvaW50ZXJPZmZzZXQ7Ci0gIGludGVybmFsLmtNZXNzYWdl
RXhwZWN0c1Jlc3BvbnNlID0ga01lc3NhZ2VFeHBlY3RzUmVzcG9uc2U7Ci0gIGludGVybmFsLmtN
ZXNzYWdlSXNSZXNwb25zZSA9IGtNZXNzYWdlSXNSZXNwb25zZTsKLSAgaW50ZXJuYWwuSW50OCA9
IEludDg7Ci0gIGludGVybmFsLlVpbnQ4ID0gVWludDg7Ci0gIGludGVybmFsLkludDE2ID0gSW50
MTY7Ci0gIGludGVybmFsLlVpbnQxNiA9IFVpbnQxNjsKLSAgaW50ZXJuYWwuSW50MzIgPSBJbnQz
MjsKLSAgaW50ZXJuYWwuVWludDMyID0gVWludDMyOwotICBpbnRlcm5hbC5JbnQ2NCA9IEludDY0
OwotICBpbnRlcm5hbC5VaW50NjQgPSBVaW50NjQ7Ci0gIGludGVybmFsLkZsb2F0ID0gRmxvYXQ7
Ci0gIGludGVybmFsLkRvdWJsZSA9IERvdWJsZTsKLSAgaW50ZXJuYWwuU3RyaW5nID0gU3RyaW5n
OwotICBpbnRlcm5hbC5FbnVtID0gRW51bTsKLSAgaW50ZXJuYWwuTnVsbGFibGVTdHJpbmcgPSBO
dWxsYWJsZVN0cmluZzsKLSAgaW50ZXJuYWwuUG9pbnRlclRvID0gUG9pbnRlclRvOwotICBpbnRl
cm5hbC5OdWxsYWJsZVBvaW50ZXJUbyA9IE51bGxhYmxlUG9pbnRlclRvOwotICBpbnRlcm5hbC5B
cnJheU9mID0gQXJyYXlPZjsKLSAgaW50ZXJuYWwuTnVsbGFibGVBcnJheU9mID0gTnVsbGFibGVB
cnJheU9mOwotICBpbnRlcm5hbC5QYWNrZWRCb29sID0gUGFja2VkQm9vbDsKLSAgaW50ZXJuYWwu
SGFuZGxlID0gSGFuZGxlOwotICBpbnRlcm5hbC5OdWxsYWJsZUhhbmRsZSA9IE51bGxhYmxlSGFu
ZGxlOwotICBpbnRlcm5hbC5JbnRlcmZhY2UgPSBJbnRlcmZhY2U7Ci0gIGludGVybmFsLk51bGxh
YmxlSW50ZXJmYWNlID0gTnVsbGFibGVJbnRlcmZhY2U7Ci0gIGludGVybmFsLkludGVyZmFjZVJl
cXVlc3QgPSBJbnRlcmZhY2VSZXF1ZXN0OwotICBpbnRlcm5hbC5OdWxsYWJsZUludGVyZmFjZVJl
cXVlc3QgPSBOdWxsYWJsZUludGVyZmFjZVJlcXVlc3Q7Ci0gIGludGVybmFsLkFzc29jaWF0ZWRJ
bnRlcmZhY2VQdHJJbmZvID0gQXNzb2NpYXRlZEludGVyZmFjZVB0ckluZm87Ci0gIGludGVybmFs
Lk51bGxhYmxlQXNzb2NpYXRlZEludGVyZmFjZVB0ckluZm8gPQotICAgICAgTnVsbGFibGVBc3Nv
Y2lhdGVkSW50ZXJmYWNlUHRySW5mbzsKLSAgaW50ZXJuYWwuQXNzb2NpYXRlZEludGVyZmFjZVJl
cXVlc3QgPSBBc3NvY2lhdGVkSW50ZXJmYWNlUmVxdWVzdDsKLSAgaW50ZXJuYWwuTnVsbGFibGVB
c3NvY2lhdGVkSW50ZXJmYWNlUmVxdWVzdCA9Ci0gICAgICBOdWxsYWJsZUFzc29jaWF0ZWRJbnRl
cmZhY2VSZXF1ZXN0OwotICBpbnRlcm5hbC5NYXBPZiA9IE1hcE9mOwotICBpbnRlcm5hbC5OdWxs
YWJsZU1hcE9mID0gTnVsbGFibGVNYXBPZjsKLX0pKCk7Ci0vLyBDb3B5cmlnaHQgMjAxNCBUaGUg
Q2hyb21pdW0gQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLS8vIFVzZSBvZiB0aGlzIHNv
dXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUK
LS8vIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCi0KLShmdW5jdGlvbigpIHsKLSAgdmFyIGlu
dGVybmFsID0gbW9qby5pbnRlcm5hbDsKLQotICBmdW5jdGlvbiBDb25uZWN0b3IoaGFuZGxlKSB7
Ci0gICAgaWYgKCEoaGFuZGxlIGluc3RhbmNlb2YgTW9qb0hhbmRsZSkpCi0gICAgICB0aHJvdyBu
ZXcgRXJyb3IoIkNvbm5lY3Rvcjogbm90IGEgaGFuZGxlICIgKyBoYW5kbGUpOwotICAgIHRoaXMu
aGFuZGxlXyA9IGhhbmRsZTsKLSAgICB0aGlzLmRyb3BXcml0ZXNfID0gZmFsc2U7Ci0gICAgdGhp
cy5lcnJvcl8gPSBmYWxzZTsKLSAgICB0aGlzLmluY29taW5nUmVjZWl2ZXJfID0gbnVsbDsKLSAg
ICB0aGlzLnJlYWRXYXRjaGVyXyA9IG51bGw7Ci0gICAgdGhpcy5lcnJvckhhbmRsZXJfID0gbnVs
bDsKLSAgICB0aGlzLnBhdXNlZF8gPSBmYWxzZTsKLQotICAgIHRoaXMud2FpdFRvUmVhZE1vcmUo
KTsKLSAgfQotCi0gIENvbm5lY3Rvci5wcm90b3R5cGUuY2xvc2UgPSBmdW5jdGlvbigpIHsKLSAg
ICB0aGlzLmNhbmNlbFdhaXQoKTsKLSAgICBpZiAodGhpcy5oYW5kbGVfICE9IG51bGwpIHsKLSAg
ICAgIHRoaXMuaGFuZGxlXy5jbG9zZSgpOwotICAgICAgdGhpcy5oYW5kbGVfID0gbnVsbDsKLSAg
ICB9Ci0gIH07Ci0KLSAgQ29ubmVjdG9yLnByb3RvdHlwZS5wYXVzZUluY29taW5nTWV0aG9kQ2Fs
bFByb2Nlc3NpbmcgPSBmdW5jdGlvbigpIHsKLSAgICBpZiAodGhpcy5wYXVzZWRfKSB7Ci0gICAg
ICByZXR1cm47Ci0gICAgfQotICAgIHRoaXMucGF1c2VkXz0gdHJ1ZTsKLSAgICB0aGlzLmNhbmNl
bFdhaXQoKTsKLSAgfTsKLQotICBDb25uZWN0b3IucHJvdG90eXBlLnJlc3VtZUluY29taW5nTWV0
aG9kQ2FsbFByb2Nlc3NpbmcgPSBmdW5jdGlvbigpIHsKLSAgICBpZiAoIXRoaXMucGF1c2VkXykg
ewotICAgICAgcmV0dXJuOwotICAgIH0KLSAgICB0aGlzLnBhdXNlZF89IGZhbHNlOwotICAgIHRo
aXMud2FpdFRvUmVhZE1vcmUoKTsKLSAgfTsKLQotICBDb25uZWN0b3IucHJvdG90eXBlLmFjY2Vw
dCA9IGZ1bmN0aW9uKG1lc3NhZ2UpIHsKLSAgICBpZiAodGhpcy5lcnJvcl8pCi0gICAgICByZXR1
cm4gZmFsc2U7Ci0KLSAgICBpZiAodGhpcy5kcm9wV3JpdGVzXykKLSAgICAgIHJldHVybiB0cnVl
OwotCi0gICAgdmFyIHJlc3VsdCA9IHRoaXMuaGFuZGxlXy53cml0ZU1lc3NhZ2UoCi0gICAgICAg
IG5ldyBVaW50OEFycmF5KG1lc3NhZ2UuYnVmZmVyLmFycmF5QnVmZmVyKSwgbWVzc2FnZS5oYW5k
bGVzKTsKLSAgICBzd2l0Y2ggKHJlc3VsdCkgewotICAgICAgY2FzZSBNb2pvLlJFU1VMVF9PSzoK
LSAgICAgICAgLy8gVGhlIGhhbmRsZXMgd2VyZSBzdWNjZXNzZnVsbHkgdHJhbnNmZXJyZWQsIHNv
IHdlIGRvbid0IG93biB0aGVtCi0gICAgICAgIC8vIGFueW1vcmUuCi0gICAgICAgIG1lc3NhZ2Uu
aGFuZGxlcyA9IFtdOwotICAgICAgICBicmVhazsKLSAgICAgIGNhc2UgTW9qby5SRVNVTFRfRkFJ
TEVEX1BSRUNPTkRJVElPTjoKLSAgICAgICAgLy8gVGhlcmUncyBubyBwb2ludCBpbiBjb250aW51
aW5nIHRvIHdyaXRlIHRvIHRoaXMgcGlwZSBzaW5jZSB0aGUgb3RoZXIKLSAgICAgICAgLy8gZW5k
IGlzIGdvbmUuIEF2b2lkIHdyaXRpbmcgYW55IGZ1dHVyZSBtZXNzYWdlcy4gSGlkZSB3cml0ZSBm
YWlsdXJlcwotICAgICAgICAvLyBmcm9tIHRoZSBjYWxsZXIgc2luY2Ugd2UnZCBsaWtlIHRoZW0g
dG8gY29udGludWUgY29uc3VtaW5nIGFueQotICAgICAgICAvLyBiYWNrbG9nIG9mIGluY29taW5n
IG1lc3NhZ2VzIGJlZm9yZSByZWdhcmRpbmcgdGhlIG1lc3NhZ2UgcGlwZSBhcwotICAgICAgICAv
LyBjbG9zZWQuCi0gICAgICAgIHRoaXMuZHJvcFdyaXRlc18gPSB0cnVlOwotICAgICAgICBicmVh
azsKLSAgICAgIGRlZmF1bHQ6Ci0gICAgICAgIC8vIFRoaXMgcGFydGljdWxhciB3cml0ZSB3YXMg
cmVqZWN0ZWQsIHByZXN1bWFibHkgYmVjYXVzZSBvZiBiYWQgaW5wdXQuCi0gICAgICAgIC8vIFRo
ZSBwaXBlIGlzIG5vdCBuZWNlc3NhcmlseSBpbiBhIGJhZCBzdGF0ZS4KLSAgICAgICAgcmV0dXJu
IGZhbHNlOwotICAgIH0KLSAgICByZXR1cm4gdHJ1ZTsKLSAgfTsKLQotICBDb25uZWN0b3IucHJv
dG90eXBlLnNldEluY29taW5nUmVjZWl2ZXIgPSBmdW5jdGlvbihyZWNlaXZlcikgewotICAgIHRo
aXMuaW5jb21pbmdSZWNlaXZlcl8gPSByZWNlaXZlcjsKLSAgfTsKLQotICBDb25uZWN0b3IucHJv
dG90eXBlLnNldEVycm9ySGFuZGxlciA9IGZ1bmN0aW9uKGhhbmRsZXIpIHsKLSAgICB0aGlzLmVy
cm9ySGFuZGxlcl8gPSBoYW5kbGVyOwotICB9OwotCi0gIENvbm5lY3Rvci5wcm90b3R5cGUucmVh
ZE1vcmVfID0gZnVuY3Rpb24ocmVzdWx0KSB7Ci0gICAgZm9yICg7OykgewotICAgICAgaWYgKHRo
aXMucGF1c2VkXykgewotICAgICAgICByZXR1cm47Ci0gICAgICB9Ci0KLSAgICAgIHZhciByZWFk
ID0gdGhpcy5oYW5kbGVfLnJlYWRNZXNzYWdlKCk7Ci0gICAgICBpZiAodGhpcy5oYW5kbGVfID09
IG51bGwpIC8vIFRoZSBjb25uZWN0b3IgaGFzIGJlZW4gY2xvc2VkLgotICAgICAgICByZXR1cm47
Ci0gICAgICBpZiAocmVhZC5yZXN1bHQgPT0gTW9qby5SRVNVTFRfU0hPVUxEX1dBSVQpCi0gICAg
ICAgIHJldHVybjsKLSAgICAgIGlmIChyZWFkLnJlc3VsdCAhPSBNb2pvLlJFU1VMVF9PSykgewot
ICAgICAgICB0aGlzLmhhbmRsZUVycm9yKHJlYWQucmVzdWx0ICE9PSBNb2pvLlJFU1VMVF9GQUlM
RURfUFJFQ09ORElUSU9OLAotICAgICAgICAgICAgZmFsc2UpOwotICAgICAgICByZXR1cm47Ci0g
ICAgICB9Ci0gICAgICB2YXIgbWVzc2FnZUJ1ZmZlciA9IG5ldyBpbnRlcm5hbC5CdWZmZXIocmVh
ZC5idWZmZXIpOwotICAgICAgdmFyIG1lc3NhZ2UgPSBuZXcgaW50ZXJuYWwuTWVzc2FnZShtZXNz
YWdlQnVmZmVyLCByZWFkLmhhbmRsZXMpOwotICAgICAgdmFyIHJlY2VpdmVyUmVzdWx0ID0gdGhp
cy5pbmNvbWluZ1JlY2VpdmVyXyAmJgotICAgICAgICAgIHRoaXMuaW5jb21pbmdSZWNlaXZlcl8u
YWNjZXB0KG1lc3NhZ2UpOwotCi0gICAgICAvLyBIYW5kbGUgaW52YWxpZCBpbmNvbWluZyBtZXNz
YWdlLgotICAgICAgaWYgKCFpbnRlcm5hbC5pc1Rlc3RpbmdNb2RlKCkgJiYgIXJlY2VpdmVyUmVz
dWx0KSB7Ci0gICAgICAgIC8vIFRPRE8oeXpzaGVuKTogQ29uc2lkZXIgbm90aWZ5aW5nIHRoZSBl
bWJlZGRlci4KLSAgICAgICAgdGhpcy5oYW5kbGVFcnJvcih0cnVlLCBmYWxzZSk7Ci0gICAgICB9
Ci0gICAgfQotICB9OwotCi0gIENvbm5lY3Rvci5wcm90b3R5cGUuY2FuY2VsV2FpdCA9IGZ1bmN0
aW9uKCkgewotICAgIGlmICh0aGlzLnJlYWRXYXRjaGVyXykgewotICAgICAgdGhpcy5yZWFkV2F0
Y2hlcl8uY2FuY2VsKCk7Ci0gICAgICB0aGlzLnJlYWRXYXRjaGVyXyA9IG51bGw7Ci0gICAgfQot
ICB9OwotCi0gIENvbm5lY3Rvci5wcm90b3R5cGUud2FpdFRvUmVhZE1vcmUgPSBmdW5jdGlvbigp
IHsKLSAgICBpZiAodGhpcy5oYW5kbGVfKSB7Ci0gICAgICB0aGlzLnJlYWRXYXRjaGVyXyA9IHRo
aXMuaGFuZGxlXy53YXRjaCh7cmVhZGFibGU6IHRydWV9LAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5yZWFkTW9yZV8uYmluZCh0aGlzKSk7Ci0gICAg
fQotICB9OwotCi0gIENvbm5lY3Rvci5wcm90b3R5cGUuaGFuZGxlRXJyb3IgPSBmdW5jdGlvbihm
b3JjZVBpcGVSZXNldCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGZvcmNlQXN5bmNIYW5kbGVyKSB7Ci0gICAgaWYgKHRoaXMuZXJyb3JfIHx8IHRoaXMuaGFu
ZGxlXyA9PT0gbnVsbCkgewotICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIGlmICh0aGlzLnBh
dXNlZF8pIHsKLSAgICAgIC8vIEVuZm9yY2UgY2FsbGluZyB0aGUgZXJyb3IgaGFuZGxlciBhc3lu
Y2hyb25vdXNseSBpZiB0aGUgdXNlciBoYXMKLSAgICAgIC8vIHBhdXNlZCByZWNlaXZpbmcgbWVz
c2FnZXMuIFdlIG5lZWQgdG8gd2FpdCB1bnRpbCB0aGUgdXNlciBzdGFydHMKLSAgICAgIC8vIHJl
Y2VpdmluZyBtZXNzYWdlcyBhZ2Fpbi4KLSAgICAgIGZvcmNlQXN5bmNIYW5kbGVyID0gdHJ1ZTsK
LSAgICB9Ci0KLSAgICBpZiAoIWZvcmNlUGlwZVJlc2V0ICYmIGZvcmNlQXN5bmNIYW5kbGVyKSB7
Ci0gICAgICBmb3JjZVBpcGVSZXNldCA9IHRydWU7Ci0gICAgfQotCi0gICAgdGhpcy5jYW5jZWxX
YWl0KCk7Ci0gICAgaWYgKGZvcmNlUGlwZVJlc2V0KSB7Ci0gICAgICB0aGlzLmhhbmRsZV8uY2xv
c2UoKTsKLSAgICAgIHZhciBkdW1teVBpcGUgPSBNb2pvLmNyZWF0ZU1lc3NhZ2VQaXBlKCk7Ci0g
ICAgICB0aGlzLmhhbmRsZV8gPSBkdW1teVBpcGUuaGFuZGxlMDsKLSAgICB9Ci0KLSAgICBpZiAo
Zm9yY2VBc3luY0hhbmRsZXIpIHsKLSAgICAgIGlmICghdGhpcy5wYXVzZWRfKSB7Ci0gICAgICAg
IHRoaXMud2FpdFRvUmVhZE1vcmUoKTsKLSAgICAgIH0KLSAgICB9IGVsc2UgewotICAgICAgdGhp
cy5lcnJvcl8gPSB0cnVlOwotICAgICAgaWYgKHRoaXMuZXJyb3JIYW5kbGVyXykgewotICAgICAg
ICB0aGlzLmVycm9ySGFuZGxlcl8ub25FcnJvcigpOwotICAgICAgfQotICAgIH0KLSAgfTsKLQot
ICBpbnRlcm5hbC5Db25uZWN0b3IgPSBDb25uZWN0b3I7Ci19KSgpOwotLy8gQ29weXJpZ2h0IDIw
MTYgVGhlIENocm9taXVtIEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0vLyBVc2Ugb2Yg
dGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlIHRoYXQg
Y2FuIGJlCi0vLyBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgotCi0oZnVuY3Rpb24oKSB7Ci0g
IHZhciBpbnRlcm5hbCA9IG1vam8uaW50ZXJuYWw7Ci0KLSAgLy8gQ29uc3RhbnRzIC0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K
LSAgdmFyIGtJbnRlcmZhY2VJZE5hbWVzcGFjZU1hc2sgPSAweDgwMDAwMDAwOwotICB2YXIga01h
c3RlckludGVyZmFjZUlkID0gMHgwMDAwMDAwMDsKLSAgdmFyIGtJbnZhbGlkSW50ZXJmYWNlSWQg
PSAweEZGRkZGRkZGOwotCi0gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotCi0gIGZ1bmN0aW9uIElu
dGVyZmFjZVB0ckluZm8oaGFuZGxlLCB2ZXJzaW9uKSB7Ci0gICAgdGhpcy5oYW5kbGUgPSBoYW5k
bGU7Ci0gICAgdGhpcy52ZXJzaW9uID0gdmVyc2lvbjsKLSAgfQotCi0gIEludGVyZmFjZVB0cklu
Zm8ucHJvdG90eXBlLmlzVmFsaWQgPSBmdW5jdGlvbigpIHsKLSAgICByZXR1cm4gdGhpcy5oYW5k
bGUgaW5zdGFuY2VvZiBNb2pvSGFuZGxlOwotICB9OwotCi0gIEludGVyZmFjZVB0ckluZm8ucHJv
dG90eXBlLmNsb3NlID0gZnVuY3Rpb24oKSB7Ci0gICAgaWYgKCF0aGlzLmlzVmFsaWQoKSkKLSAg
ICAgIHJldHVybjsKLQotICAgIHRoaXMuaGFuZGxlLmNsb3NlKCk7Ci0gICAgdGhpcy5oYW5kbGUg
PSBudWxsOwotICAgIHRoaXMudmVyc2lvbiA9IDA7Ci0gIH07Ci0KLSAgZnVuY3Rpb24gQXNzb2Np
YXRlZEludGVyZmFjZVB0ckluZm8oaW50ZXJmYWNlRW5kcG9pbnRIYW5kbGUsIHZlcnNpb24pIHsK
LSAgICB0aGlzLmludGVyZmFjZUVuZHBvaW50SGFuZGxlID0gaW50ZXJmYWNlRW5kcG9pbnRIYW5k
bGU7Ci0gICAgdGhpcy52ZXJzaW9uID0gdmVyc2lvbjsKLSAgfQotCi0gIEFzc29jaWF0ZWRJbnRl
cmZhY2VQdHJJbmZvLnByb3RvdHlwZS5pc1ZhbGlkID0gZnVuY3Rpb24oKSB7Ci0gICAgcmV0dXJu
IHRoaXMuaW50ZXJmYWNlRW5kcG9pbnRIYW5kbGUuaXNWYWxpZCgpOwotICB9OwotCi0gIC8vIC0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLQotCi0gIGZ1bmN0aW9uIEludGVyZmFjZVJlcXVlc3QoaGFuZGxlKSB7
Ci0gICAgdGhpcy5oYW5kbGUgPSBoYW5kbGU7Ci0gIH0KLQotICBJbnRlcmZhY2VSZXF1ZXN0LnBy
b3RvdHlwZS5pc1ZhbGlkID0gZnVuY3Rpb24oKSB7Ci0gICAgcmV0dXJuIHRoaXMuaGFuZGxlIGlu
c3RhbmNlb2YgTW9qb0hhbmRsZTsKLSAgfTsKLQotICBJbnRlcmZhY2VSZXF1ZXN0LnByb3RvdHlw
ZS5jbG9zZSA9IGZ1bmN0aW9uKCkgewotICAgIGlmICghdGhpcy5pc1ZhbGlkKCkpCi0gICAgICBy
ZXR1cm47Ci0KLSAgICB0aGlzLmhhbmRsZS5jbG9zZSgpOwotICAgIHRoaXMuaGFuZGxlID0gbnVs
bDsKLSAgfTsKLQotICBmdW5jdGlvbiBBc3NvY2lhdGVkSW50ZXJmYWNlUmVxdWVzdChpbnRlcmZh
Y2VFbmRwb2ludEhhbmRsZSkgewotICAgIHRoaXMuaW50ZXJmYWNlRW5kcG9pbnRIYW5kbGUgPSBp
bnRlcmZhY2VFbmRwb2ludEhhbmRsZTsKLSAgfQotCi0gIEFzc29jaWF0ZWRJbnRlcmZhY2VSZXF1
ZXN0LnByb3RvdHlwZS5pc1ZhbGlkID0gZnVuY3Rpb24oKSB7Ci0gICAgcmV0dXJuIHRoaXMuaW50
ZXJmYWNlRW5kcG9pbnRIYW5kbGUuaXNWYWxpZCgpOwotICB9OwotCi0gIEFzc29jaWF0ZWRJbnRl
cmZhY2VSZXF1ZXN0LnByb3RvdHlwZS5yZXNldFdpdGhSZWFzb24gPSBmdW5jdGlvbihyZWFzb24p
IHsKLSAgICB0aGlzLmludGVyZmFjZUVuZHBvaW50SGFuZGxlLnJlc2V0KHJlYXNvbik7Ci0gIH07
Ci0KLSAgZnVuY3Rpb24gaXNNYXN0ZXJJbnRlcmZhY2VJZChpbnRlcmZhY2VJZCkgewotICAgIHJl
dHVybiBpbnRlcmZhY2VJZCA9PT0ga01hc3RlckludGVyZmFjZUlkOwotICB9Ci0KLSAgZnVuY3Rp
b24gaXNWYWxpZEludGVyZmFjZUlkKGludGVyZmFjZUlkKSB7Ci0gICAgcmV0dXJuIGludGVyZmFj
ZUlkICE9PSBrSW52YWxpZEludGVyZmFjZUlkOwotICB9Ci0KLSAgbW9qby5JbnRlcmZhY2VQdHJJ
bmZvID0gSW50ZXJmYWNlUHRySW5mbzsKLSAgbW9qby5JbnRlcmZhY2VSZXF1ZXN0ID0gSW50ZXJm
YWNlUmVxdWVzdDsKLSAgbW9qby5Bc3NvY2lhdGVkSW50ZXJmYWNlUHRySW5mbyA9IEFzc29jaWF0
ZWRJbnRlcmZhY2VQdHJJbmZvOwotICBtb2pvLkFzc29jaWF0ZWRJbnRlcmZhY2VSZXF1ZXN0ID0g
QXNzb2NpYXRlZEludGVyZmFjZVJlcXVlc3Q7Ci0gIGludGVybmFsLmlzTWFzdGVySW50ZXJmYWNl
SWQgPSBpc01hc3RlckludGVyZmFjZUlkOwotICBpbnRlcm5hbC5pc1ZhbGlkSW50ZXJmYWNlSWQg
PSBpc1ZhbGlkSW50ZXJmYWNlSWQ7Ci0gIGludGVybmFsLmtJbnZhbGlkSW50ZXJmYWNlSWQgPSBr
SW52YWxpZEludGVyZmFjZUlkOwotICBpbnRlcm5hbC5rTWFzdGVySW50ZXJmYWNlSWQgPSBrTWFz
dGVySW50ZXJmYWNlSWQ7Ci0gIGludGVybmFsLmtJbnRlcmZhY2VJZE5hbWVzcGFjZU1hc2sgPSBr
SW50ZXJmYWNlSWROYW1lc3BhY2VNYXNrOwotfSkoKTsKLS8vIENvcHlyaWdodCAyMDE3IFRoZSBD
aHJvbWl1bSBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotLy8gVXNlIG9mIHRoaXMgc291
cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQot
Ly8gZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KLQotKGZ1bmN0aW9uKCkgewotICB2YXIgaW50
ZXJuYWwgPSBtb2pvLmludGVybmFsOwotCi0gIGZ1bmN0aW9uIHZhbGlkYXRlQ29udHJvbFJlcXVl
c3RXaXRoUmVzcG9uc2UobWVzc2FnZSkgewotICAgIHZhciBtZXNzYWdlVmFsaWRhdG9yID0gbmV3
IGludGVybmFsLlZhbGlkYXRvcihtZXNzYWdlKTsKLSAgICB2YXIgZXJyb3IgPSBtZXNzYWdlVmFs
aWRhdG9yLnZhbGlkYXRlTWVzc2FnZUlzUmVxdWVzdEV4cGVjdGluZ1Jlc3BvbnNlKCk7Ci0gICAg
aWYgKGVycm9yICE9PSBpbnRlcm5hbC52YWxpZGF0aW9uRXJyb3IuTk9ORSkgewotICAgICAgdGhy
b3cgZXJyb3I7Ci0gICAgfQotCi0gICAgaWYgKG1lc3NhZ2UuZ2V0TmFtZSgpICE9IG1vam8uaW50
ZXJmYWNlQ29udHJvbDIua1J1bk1lc3NhZ2VJZCkgewotICAgICAgdGhyb3cgbmV3IEVycm9yKCJD
b250cm9sIG1lc3NhZ2UgbmFtZSBpcyBub3Qga1J1bk1lc3NhZ2VJZCIpOwotICAgIH0KLQotICAg
IC8vIFZhbGlkYXRlIHBheWxvYWQuCi0gICAgZXJyb3IgPSBtb2pvLmludGVyZmFjZUNvbnRyb2wy
LlJ1bk1lc3NhZ2VQYXJhbXMudmFsaWRhdGUobWVzc2FnZVZhbGlkYXRvciwKLSAgICAgICAgbWVz
c2FnZS5nZXRIZWFkZXJOdW1CeXRlcygpKTsKLSAgICBpZiAoZXJyb3IgIT0gaW50ZXJuYWwudmFs
aWRhdGlvbkVycm9yLk5PTkUpIHsKLSAgICAgIHRocm93IGVycm9yOwotICAgIH0KLSAgfQotCi0g
IGZ1bmN0aW9uIHZhbGlkYXRlQ29udHJvbFJlcXVlc3RXaXRob3V0UmVzcG9uc2UobWVzc2FnZSkg
ewotICAgIHZhciBtZXNzYWdlVmFsaWRhdG9yID0gbmV3IGludGVybmFsLlZhbGlkYXRvcihtZXNz
YWdlKTsKLSAgICB2YXIgZXJyb3IgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlTWVzc2FnZUlz
UmVxdWVzdFdpdGhvdXRSZXNwb25zZSgpOwotICAgIGlmIChlcnJvciAhPSBpbnRlcm5hbC52YWxp
ZGF0aW9uRXJyb3IuTk9ORSkgewotICAgICAgdGhyb3cgZXJyb3I7Ci0gICAgfQotCi0gICAgaWYg
KG1lc3NhZ2UuZ2V0TmFtZSgpICE9IG1vam8uaW50ZXJmYWNlQ29udHJvbDIua1J1bk9yQ2xvc2VQ
aXBlTWVzc2FnZUlkKSB7Ci0gICAgICB0aHJvdyBuZXcgRXJyb3IoIkNvbnRyb2wgbWVzc2FnZSBu
YW1lIGlzIG5vdCBrUnVuT3JDbG9zZVBpcGVNZXNzYWdlSWQiKTsKLSAgICB9Ci0KLSAgICAvLyBW
YWxpZGF0ZSBwYXlsb2FkLgotICAgIGVycm9yID0gbW9qby5pbnRlcmZhY2VDb250cm9sMi5SdW5P
ckNsb3NlUGlwZU1lc3NhZ2VQYXJhbXMudmFsaWRhdGUoCi0gICAgICAgIG1lc3NhZ2VWYWxpZGF0
b3IsIG1lc3NhZ2UuZ2V0SGVhZGVyTnVtQnl0ZXMoKSk7Ci0gICAgaWYgKGVycm9yICE9IGludGVy
bmFsLnZhbGlkYXRpb25FcnJvci5OT05FKSB7Ci0gICAgICB0aHJvdyBlcnJvcjsKLSAgICB9Ci0g
IH0KLQotICBmdW5jdGlvbiBydW5PckNsb3NlUGlwZShtZXNzYWdlLCBpbnRlcmZhY2VWZXJzaW9u
KSB7Ci0gICAgdmFyIHJlYWRlciA9IG5ldyBpbnRlcm5hbC5NZXNzYWdlUmVhZGVyKG1lc3NhZ2Up
OwotICAgIHZhciBydW5PckNsb3NlUGlwZU1lc3NhZ2VQYXJhbXMgPSByZWFkZXIuZGVjb2RlU3Ry
dWN0KAotICAgICAgICBtb2pvLmludGVyZmFjZUNvbnRyb2wyLlJ1bk9yQ2xvc2VQaXBlTWVzc2Fn
ZVBhcmFtcyk7Ci0gICAgcmV0dXJuIGludGVyZmFjZVZlcnNpb24gPj0KLSAgICAgICAgcnVuT3JD
bG9zZVBpcGVNZXNzYWdlUGFyYW1zLmlucHV0LnJlcXVpcmVWZXJzaW9uLnZlcnNpb247Ci0gIH0K
LQotICBmdW5jdGlvbiBydW4obWVzc2FnZSwgcmVzcG9uZGVyLCBpbnRlcmZhY2VWZXJzaW9uKSB7
Ci0gICAgdmFyIHJlYWRlciA9IG5ldyBpbnRlcm5hbC5NZXNzYWdlUmVhZGVyKG1lc3NhZ2UpOwot
ICAgIHZhciBydW5NZXNzYWdlUGFyYW1zID0KLSAgICAgICAgcmVhZGVyLmRlY29kZVN0cnVjdCht
b2pvLmludGVyZmFjZUNvbnRyb2wyLlJ1bk1lc3NhZ2VQYXJhbXMpOwotICAgIHZhciBydW5PdXRw
dXQgPSBudWxsOwotCi0gICAgaWYgKHJ1bk1lc3NhZ2VQYXJhbXMuaW5wdXQucXVlcnlWZXJzaW9u
KSB7Ci0gICAgICBydW5PdXRwdXQgPSBuZXcgbW9qby5pbnRlcmZhY2VDb250cm9sMi5SdW5PdXRw
dXQoKTsKLSAgICAgIHJ1bk91dHB1dC5xdWVyeVZlcnNpb25SZXN1bHQgPSBuZXcKLSAgICAgICAg
ICBtb2pvLmludGVyZmFjZUNvbnRyb2wyLlF1ZXJ5VmVyc2lvblJlc3VsdCgKLSAgICAgICAgICAg
ICAgeyd2ZXJzaW9uJzogaW50ZXJmYWNlVmVyc2lvbn0pOwotICAgIH0KLQotICAgIHZhciBydW5S
ZXNwb25zZU1lc3NhZ2VQYXJhbXMgPSBuZXcKLSAgICAgICAgbW9qby5pbnRlcmZhY2VDb250cm9s
Mi5SdW5SZXNwb25zZU1lc3NhZ2VQYXJhbXMoKTsKLSAgICBydW5SZXNwb25zZU1lc3NhZ2VQYXJh
bXMub3V0cHV0ID0gcnVuT3V0cHV0OwotCi0gICAgdmFyIG1lc3NhZ2VOYW1lID0gbW9qby5pbnRl
cmZhY2VDb250cm9sMi5rUnVuTWVzc2FnZUlkOwotICAgIHZhciBwYXlsb2FkU2l6ZSA9Ci0gICAg
ICAgIG1vam8uaW50ZXJmYWNlQ29udHJvbDIuUnVuUmVzcG9uc2VNZXNzYWdlUGFyYW1zLmVuY29k
ZWRTaXplOwotICAgIHZhciByZXF1ZXN0SUQgPSByZWFkZXIucmVxdWVzdElEOwotICAgIHZhciBi
dWlsZGVyID0gbmV3IGludGVybmFsLk1lc3NhZ2VWMUJ1aWxkZXIobWVzc2FnZU5hbWUsCi0gICAg
ICAgIHBheWxvYWRTaXplLCBpbnRlcm5hbC5rTWVzc2FnZUlzUmVzcG9uc2UsIHJlcXVlc3RJRCk7
Ci0gICAgYnVpbGRlci5lbmNvZGVTdHJ1Y3QobW9qby5pbnRlcmZhY2VDb250cm9sMi5SdW5SZXNw
b25zZU1lc3NhZ2VQYXJhbXMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgcnVuUmVzcG9uc2VN
ZXNzYWdlUGFyYW1zKTsKLSAgICByZXNwb25kZXIuYWNjZXB0KGJ1aWxkZXIuZmluaXNoKCkpOwot
ICAgIHJldHVybiB0cnVlOwotICB9Ci0KLSAgZnVuY3Rpb24gaXNJbnRlcmZhY2VDb250cm9sTWVz
c2FnZShtZXNzYWdlKSB7Ci0gICAgcmV0dXJuIG1lc3NhZ2UuZ2V0TmFtZSgpID09IG1vam8uaW50
ZXJmYWNlQ29udHJvbDIua1J1bk1lc3NhZ2VJZCB8fAotICAgICAgICAgICBtZXNzYWdlLmdldE5h
bWUoKSA9PSBtb2pvLmludGVyZmFjZUNvbnRyb2wyLmtSdW5PckNsb3NlUGlwZU1lc3NhZ2VJZDsK
LSAgfQotCi0gIGZ1bmN0aW9uIENvbnRyb2xNZXNzYWdlSGFuZGxlcihpbnRlcmZhY2VWZXJzaW9u
KSB7Ci0gICAgdGhpcy5pbnRlcmZhY2VWZXJzaW9uXyA9IGludGVyZmFjZVZlcnNpb247Ci0gIH0K
LQotICBDb250cm9sTWVzc2FnZUhhbmRsZXIucHJvdG90eXBlLmFjY2VwdCA9IGZ1bmN0aW9uKG1l
c3NhZ2UpIHsKLSAgICB2YWxpZGF0ZUNvbnRyb2xSZXF1ZXN0V2l0aG91dFJlc3BvbnNlKG1lc3Nh
Z2UpOwotICAgIHJldHVybiBydW5PckNsb3NlUGlwZShtZXNzYWdlLCB0aGlzLmludGVyZmFjZVZl
cnNpb25fKTsKLSAgfTsKLQotICBDb250cm9sTWVzc2FnZUhhbmRsZXIucHJvdG90eXBlLmFjY2Vw
dFdpdGhSZXNwb25kZXIgPSBmdW5jdGlvbihtZXNzYWdlLAotICAgICAgcmVzcG9uZGVyKSB7Ci0g
ICAgdmFsaWRhdGVDb250cm9sUmVxdWVzdFdpdGhSZXNwb25zZShtZXNzYWdlKTsKLSAgICByZXR1
cm4gcnVuKG1lc3NhZ2UsIHJlc3BvbmRlciwgdGhpcy5pbnRlcmZhY2VWZXJzaW9uXyk7Ci0gIH07
Ci0KLSAgaW50ZXJuYWwuQ29udHJvbE1lc3NhZ2VIYW5kbGVyID0gQ29udHJvbE1lc3NhZ2VIYW5k
bGVyOwotICBpbnRlcm5hbC5pc0ludGVyZmFjZUNvbnRyb2xNZXNzYWdlID0gaXNJbnRlcmZhY2VD
b250cm9sTWVzc2FnZTsKLX0pKCk7Ci0vLyBDb3B5cmlnaHQgMjAxNyBUaGUgQ2hyb21pdW0gQXV0
aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLS8vIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlz
IGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKLS8vIGZvdW5kIGlu
IHRoZSBMSUNFTlNFIGZpbGUuCi0KLShmdW5jdGlvbigpIHsKLSAgdmFyIGludGVybmFsID0gbW9q
by5pbnRlcm5hbDsKLQotICBmdW5jdGlvbiBjb25zdHJ1Y3RSdW5PckNsb3NlUGlwZU1lc3NhZ2Uo
cnVuT3JDbG9zZVBpcGVJbnB1dCkgewotICAgIHZhciBydW5PckNsb3NlUGlwZU1lc3NhZ2VQYXJh
bXMgPSBuZXcKLSAgICAgICAgbW9qby5pbnRlcmZhY2VDb250cm9sMi5SdW5PckNsb3NlUGlwZU1l
c3NhZ2VQYXJhbXMoKTsKLSAgICBydW5PckNsb3NlUGlwZU1lc3NhZ2VQYXJhbXMuaW5wdXQgPSBy
dW5PckNsb3NlUGlwZUlucHV0OwotCi0gICAgdmFyIG1lc3NhZ2VOYW1lID0gbW9qby5pbnRlcmZh
Y2VDb250cm9sMi5rUnVuT3JDbG9zZVBpcGVNZXNzYWdlSWQ7Ci0gICAgdmFyIHBheWxvYWRTaXpl
ID0KLSAgICAgICAgbW9qby5pbnRlcmZhY2VDb250cm9sMi5SdW5PckNsb3NlUGlwZU1lc3NhZ2VQ
YXJhbXMuZW5jb2RlZFNpemU7Ci0gICAgdmFyIGJ1aWxkZXIgPSBuZXcgaW50ZXJuYWwuTWVzc2Fn
ZVYwQnVpbGRlcihtZXNzYWdlTmFtZSwgcGF5bG9hZFNpemUpOwotICAgIGJ1aWxkZXIuZW5jb2Rl
U3RydWN0KG1vam8uaW50ZXJmYWNlQ29udHJvbDIuUnVuT3JDbG9zZVBpcGVNZXNzYWdlUGFyYW1z
LAotICAgICAgICAgICAgICAgICAgICAgICAgIHJ1bk9yQ2xvc2VQaXBlTWVzc2FnZVBhcmFtcyk7
Ci0gICAgdmFyIG1lc3NhZ2UgPSBidWlsZGVyLmZpbmlzaCgpOwotICAgIHJldHVybiBtZXNzYWdl
OwotICB9Ci0KLSAgZnVuY3Rpb24gdmFsaWRhdGVDb250cm9sUmVzcG9uc2UobWVzc2FnZSkgewot
ICAgIHZhciBtZXNzYWdlVmFsaWRhdG9yID0gbmV3IGludGVybmFsLlZhbGlkYXRvcihtZXNzYWdl
KTsKLSAgICB2YXIgZXJyb3IgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlTWVzc2FnZUlzUmVz
cG9uc2UoKTsKLSAgICBpZiAoZXJyb3IgIT0gaW50ZXJuYWwudmFsaWRhdGlvbkVycm9yLk5PTkUp
IHsKLSAgICAgIHRocm93IGVycm9yOwotICAgIH0KLQotICAgIGlmIChtZXNzYWdlLmdldE5hbWUo
KSAhPSBtb2pvLmludGVyZmFjZUNvbnRyb2wyLmtSdW5NZXNzYWdlSWQpIHsKLSAgICAgIHRocm93
IG5ldyBFcnJvcigiQ29udHJvbCBtZXNzYWdlIG5hbWUgaXMgbm90IGtSdW5NZXNzYWdlSWQiKTsK
LSAgICB9Ci0KLSAgICAvLyBWYWxpZGF0ZSBwYXlsb2FkLgotICAgIGVycm9yID0gbW9qby5pbnRl
cmZhY2VDb250cm9sMi5SdW5SZXNwb25zZU1lc3NhZ2VQYXJhbXMudmFsaWRhdGUoCi0gICAgICAg
IG1lc3NhZ2VWYWxpZGF0b3IsIG1lc3NhZ2UuZ2V0SGVhZGVyTnVtQnl0ZXMoKSk7Ci0gICAgaWYg
KGVycm9yICE9IGludGVybmFsLnZhbGlkYXRpb25FcnJvci5OT05FKSB7Ci0gICAgICB0aHJvdyBl
cnJvcjsKLSAgICB9Ci0gIH0KLQotICBmdW5jdGlvbiBhY2NlcHRSdW5SZXNwb25zZShtZXNzYWdl
KSB7Ci0gICAgdmFsaWRhdGVDb250cm9sUmVzcG9uc2UobWVzc2FnZSk7Ci0KLSAgICB2YXIgcmVh
ZGVyID0gbmV3IGludGVybmFsLk1lc3NhZ2VSZWFkZXIobWVzc2FnZSk7Ci0gICAgdmFyIHJ1blJl
c3BvbnNlTWVzc2FnZVBhcmFtcyA9IHJlYWRlci5kZWNvZGVTdHJ1Y3QoCi0gICAgICAgIG1vam8u
aW50ZXJmYWNlQ29udHJvbDIuUnVuUmVzcG9uc2VNZXNzYWdlUGFyYW1zKTsKLQotICAgIHJldHVy
biBQcm9taXNlLnJlc29sdmUocnVuUmVzcG9uc2VNZXNzYWdlUGFyYW1zKTsKLSAgfQotCi0gLyoq
Ci0gICogU2VuZHMgdGhlIGdpdmVuIHJ1biBtZXNzYWdlIHRocm91Z2ggdGhlIHJlY2VpdmVyLgot
ICAqIEFjY2VwdHMgdGhlIHJlc3BvbnNlIG1lc3NhZ2UgZnJvbSB0aGUgcmVjZWl2ZXIgYW5kIGRl
Y29kZXMgdGhlIG1lc3NhZ2UKLSAgKiBzdHJ1Y3QgdG8gUnVuUmVzcG9uc2VNZXNzYWdlUGFyYW1z
LgotICAqCi0gICogQHBhcmFtICB7Um91dGVyfSByZWNlaXZlci4KLSAgKiBAcGFyYW0gIHtSdW5N
ZXNzYWdlUGFyYW1zfSBydW5NZXNzYWdlUGFyYW1zIHRvIGJlIHNlbnQgdmlhIGEgbWVzc2FnZS4K
LSAgKiBAcmV0dXJuIHtQcm9taXNlfSB0aGF0IHJlc29sdmVzIHRvIGEgUnVuUmVzcG9uc2VNZXNz
YWdlUGFyYW1zLgotICAqLwotICBmdW5jdGlvbiBzZW5kUnVuTWVzc2FnZShyZWNlaXZlciwgcnVu
TWVzc2FnZVBhcmFtcykgewotICAgIHZhciBtZXNzYWdlTmFtZSA9IG1vam8uaW50ZXJmYWNlQ29u
dHJvbDIua1J1bk1lc3NhZ2VJZDsKLSAgICB2YXIgcGF5bG9hZFNpemUgPSBtb2pvLmludGVyZmFj
ZUNvbnRyb2wyLlJ1bk1lc3NhZ2VQYXJhbXMuZW5jb2RlZFNpemU7Ci0gICAgLy8gfHJlcXVlc3RJ
RHwgaXMgc2V0IHRvIDAsIGJ1dCBpcyBsYXRlciBwcm9wZXJseSBzZXQgYnkgUm91dGVyLgotICAg
IHZhciBidWlsZGVyID0gbmV3IGludGVybmFsLk1lc3NhZ2VWMUJ1aWxkZXIobWVzc2FnZU5hbWUs
Ci0gICAgICAgIHBheWxvYWRTaXplLCBpbnRlcm5hbC5rTWVzc2FnZUV4cGVjdHNSZXNwb25zZSwg
MCk7Ci0gICAgYnVpbGRlci5lbmNvZGVTdHJ1Y3QobW9qby5pbnRlcmZhY2VDb250cm9sMi5SdW5N
ZXNzYWdlUGFyYW1zLAotICAgICAgICAgICAgICAgICAgICAgICAgIHJ1bk1lc3NhZ2VQYXJhbXMp
OwotICAgIHZhciBtZXNzYWdlID0gYnVpbGRlci5maW5pc2goKTsKLQotICAgIHJldHVybiByZWNl
aXZlci5hY2NlcHRBbmRFeHBlY3RSZXNwb25zZShtZXNzYWdlKS50aGVuKGFjY2VwdFJ1blJlc3Bv
bnNlKTsKLSAgfQotCi0gIGZ1bmN0aW9uIENvbnRyb2xNZXNzYWdlUHJveHkocmVjZWl2ZXIpIHsK
LSAgICB0aGlzLnJlY2VpdmVyXyA9IHJlY2VpdmVyOwotICB9Ci0KLSAgQ29udHJvbE1lc3NhZ2VQ
cm94eS5wcm90b3R5cGUucXVlcnlWZXJzaW9uID0gZnVuY3Rpb24oKSB7Ci0gICAgdmFyIHJ1bk1l
c3NhZ2VQYXJhbXMgPSBuZXcgbW9qby5pbnRlcmZhY2VDb250cm9sMi5SdW5NZXNzYWdlUGFyYW1z
KCk7Ci0gICAgcnVuTWVzc2FnZVBhcmFtcy5pbnB1dCA9IG5ldyBtb2pvLmludGVyZmFjZUNvbnRy
b2wyLlJ1bklucHV0KCk7Ci0gICAgcnVuTWVzc2FnZVBhcmFtcy5pbnB1dC5xdWVyeVZlcnNpb24g
PQotICAgICAgICBuZXcgbW9qby5pbnRlcmZhY2VDb250cm9sMi5RdWVyeVZlcnNpb24oKTsKLQot
ICAgIHJldHVybiBzZW5kUnVuTWVzc2FnZSh0aGlzLnJlY2VpdmVyXywgcnVuTWVzc2FnZVBhcmFt
cykudGhlbihmdW5jdGlvbigKLSAgICAgICAgcnVuUmVzcG9uc2VNZXNzYWdlUGFyYW1zKSB7Ci0g
ICAgICByZXR1cm4gcnVuUmVzcG9uc2VNZXNzYWdlUGFyYW1zLm91dHB1dC5xdWVyeVZlcnNpb25S
ZXN1bHQudmVyc2lvbjsKLSAgICB9KTsKLSAgfTsKLQotICBDb250cm9sTWVzc2FnZVByb3h5LnBy
b3RvdHlwZS5yZXF1aXJlVmVyc2lvbiA9IGZ1bmN0aW9uKHZlcnNpb24pIHsKLSAgICB2YXIgcnVu
T3JDbG9zZVBpcGVJbnB1dCA9IG5ldyBtb2pvLmludGVyZmFjZUNvbnRyb2wyLlJ1bk9yQ2xvc2VQ
aXBlSW5wdXQoKTsKLSAgICBydW5PckNsb3NlUGlwZUlucHV0LnJlcXVpcmVWZXJzaW9uID0KLSAg
ICAgICAgbmV3IG1vam8uaW50ZXJmYWNlQ29udHJvbDIuUmVxdWlyZVZlcnNpb24oeyd2ZXJzaW9u
JzogdmVyc2lvbn0pOwotICAgIHZhciBtZXNzYWdlID0gY29uc3RydWN0UnVuT3JDbG9zZVBpcGVN
ZXNzYWdlKHJ1bk9yQ2xvc2VQaXBlSW5wdXQpOwotICAgIHRoaXMucmVjZWl2ZXJfLmFjY2VwdCht
ZXNzYWdlKTsKLSAgfTsKLQotICBpbnRlcm5hbC5Db250cm9sTWVzc2FnZVByb3h5ID0gQ29udHJv
bE1lc3NhZ2VQcm94eTsKLX0pKCk7Ci0vLyBDb3B5cmlnaHQgMjAxNyBUaGUgQ2hyb21pdW0gQXV0
aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLS8vIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlz
IGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKLS8vIGZvdW5kIGlu
IHRoZSBMSUNFTlNFIGZpbGUuCi0KLShmdW5jdGlvbigpIHsKLSAgdmFyIGludGVybmFsID0gbW9q
by5pbnRlcm5hbDsKLQotICBmdW5jdGlvbiBJbnRlcmZhY2VFbmRwb2ludENsaWVudChpbnRlcmZh
Y2VFbmRwb2ludEhhbmRsZSwgcmVjZWl2ZXIsCi0gICAgICBpbnRlcmZhY2VWZXJzaW9uKSB7Ci0g
ICAgdGhpcy5jb250cm9sbGVyXyA9IG51bGw7Ci0gICAgdGhpcy5lbmNvdW50ZXJlZEVycm9yXyA9
IGZhbHNlOwotICAgIHRoaXMuaGFuZGxlXyA9IGludGVyZmFjZUVuZHBvaW50SGFuZGxlOwotICAg
IHRoaXMuaW5jb21pbmdSZWNlaXZlcl8gPSByZWNlaXZlcjsKLQotICAgIGlmIChpbnRlcmZhY2VW
ZXJzaW9uICE9PSB1bmRlZmluZWQpIHsKLSAgICAgIHRoaXMuY29udHJvbE1lc3NhZ2VIYW5kbGVy
XyA9IG5ldyBpbnRlcm5hbC5Db250cm9sTWVzc2FnZUhhbmRsZXIoCi0gICAgICAgICAgaW50ZXJm
YWNlVmVyc2lvbik7Ci0gICAgfSBlbHNlIHsKLSAgICAgIHRoaXMuY29udHJvbE1lc3NhZ2VQcm94
eV8gPSBuZXcgaW50ZXJuYWwuQ29udHJvbE1lc3NhZ2VQcm94eSh0aGlzKTsKLSAgICB9Ci0KLSAg
ICB0aGlzLm5leHRSZXF1ZXN0SURfID0gMDsKLSAgICB0aGlzLmNvbXBsZXRlcnNfID0gbmV3IE1h
cCgpOwotICAgIHRoaXMucGF5bG9hZFZhbGlkYXRvcnNfID0gW107Ci0gICAgdGhpcy5jb25uZWN0
aW9uRXJyb3JIYW5kbGVyXyA9IG51bGw7Ci0KLSAgICBpZiAoaW50ZXJmYWNlRW5kcG9pbnRIYW5k
bGUucGVuZGluZ0Fzc29jaWF0aW9uKCkpIHsKLSAgICAgIGludGVyZmFjZUVuZHBvaW50SGFuZGxl
LnNldEFzc29jaWF0aW9uRXZlbnRIYW5kbGVyKAotICAgICAgICAgIHRoaXMub25Bc3NvY2lhdGlv
bkV2ZW50LmJpbmQodGhpcykpOwotICAgIH0gZWxzZSB7Ci0gICAgICB0aGlzLmluaXRDb250cm9s
bGVySWZOZWNlc3NhcnlfKCk7Ci0gICAgfQotICB9Ci0KLSAgSW50ZXJmYWNlRW5kcG9pbnRDbGll
bnQucHJvdG90eXBlLmluaXRDb250cm9sbGVySWZOZWNlc3NhcnlfID0gZnVuY3Rpb24oKSB7Ci0g
ICAgaWYgKHRoaXMuY29udHJvbGxlcl8gfHwgdGhpcy5oYW5kbGVfLnBlbmRpbmdBc3NvY2lhdGlv
bigpKSB7Ci0gICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgdGhpcy5jb250cm9sbGVyXyA9IHRo
aXMuaGFuZGxlXy5ncm91cENvbnRyb2xsZXIoKS5hdHRhY2hFbmRwb2ludENsaWVudCgKLSAgICAg
ICAgdGhpcy5oYW5kbGVfLCB0aGlzKTsKLSAgfTsKLQotICBJbnRlcmZhY2VFbmRwb2ludENsaWVu
dC5wcm90b3R5cGUub25Bc3NvY2lhdGlvbkV2ZW50ID0gZnVuY3Rpb24oCi0gICAgICBhc3NvY2lh
dGlvbkV2ZW50KSB7Ci0gICAgaWYgKGFzc29jaWF0aW9uRXZlbnQgPT09IGludGVybmFsLkFzc29j
aWF0aW9uRXZlbnQuQVNTT0NJQVRFRCkgewotICAgICAgdGhpcy5pbml0Q29udHJvbGxlcklmTmVj
ZXNzYXJ5XygpOwotICAgIH0gZWxzZSBpZiAoYXNzb2NpYXRpb25FdmVudCA9PT0KLSAgICAgICAg
ICBpbnRlcm5hbC5Bc3NvY2lhdGlvbkV2ZW50LlBFRVJfQ0xPU0VEX0JFRk9SRV9BU1NPQ0lBVElP
TikgewotICAgICAgc2V0VGltZW91dCh0aGlzLm5vdGlmeUVycm9yLmJpbmQodGhpcywgdGhpcy5o
YW5kbGVfLmRpc2Nvbm5lY3RSZWFzb24oKSksCi0gICAgICAgICAgICAgICAgIDApOwotICAgIH0K
LSAgfTsKLQotICBJbnRlcmZhY2VFbmRwb2ludENsaWVudC5wcm90b3R5cGUucGFzc0hhbmRsZSA9
IGZ1bmN0aW9uKCkgewotICAgIGlmICghdGhpcy5oYW5kbGVfLmlzVmFsaWQoKSkgewotICAgICAg
cmV0dXJuIG5ldyBpbnRlcm5hbC5JbnRlcmZhY2VFbmRwb2ludEhhbmRsZSgpOwotICAgIH0KLQot
ICAgIC8vIFVzZWQgdG8gY2xlYXIgdGhlIHByZXZpb3VzbHkgc2V0IGNhbGxiYWNrLgotICAgIHRo
aXMuaGFuZGxlXy5zZXRBc3NvY2lhdGlvbkV2ZW50SGFuZGxlcih1bmRlZmluZWQpOwotCi0gICAg
aWYgKHRoaXMuY29udHJvbGxlcl8pIHsKLSAgICAgIHRoaXMuY29udHJvbGxlcl8gPSBudWxsOwot
ICAgICAgdGhpcy5oYW5kbGVfLmdyb3VwQ29udHJvbGxlcigpLmRldGFjaEVuZHBvaW50Q2xpZW50
KHRoaXMuaGFuZGxlXyk7Ci0gICAgfQotICAgIHZhciBoYW5kbGUgPSB0aGlzLmhhbmRsZV87Ci0g
ICAgdGhpcy5oYW5kbGVfID0gbnVsbDsKLSAgICByZXR1cm4gaGFuZGxlOwotICB9OwotCi0gIElu
dGVyZmFjZUVuZHBvaW50Q2xpZW50LnByb3RvdHlwZS5jbG9zZSA9IGZ1bmN0aW9uKHJlYXNvbikg
ewotICAgIHZhciBoYW5kbGUgPSB0aGlzLnBhc3NIYW5kbGUoKTsKLSAgICBoYW5kbGUucmVzZXQo
cmVhc29uKTsKLSAgfTsKLQotICBJbnRlcmZhY2VFbmRwb2ludENsaWVudC5wcm90b3R5cGUuYWNj
ZXB0ID0gZnVuY3Rpb24obWVzc2FnZSkgewotICAgIGlmIChtZXNzYWdlLmFzc29jaWF0ZWRFbmRw
b2ludEhhbmRsZXMubGVuZ3RoID4gMCkgewotICAgICAgbWVzc2FnZS5zZXJpYWxpemVBc3NvY2lh
dGVkRW5kcG9pbnRIYW5kbGVzKAotICAgICAgICAgIHRoaXMuaGFuZGxlXy5ncm91cENvbnRyb2xs
ZXIoKSk7Ci0gICAgfQotCi0gICAgaWYgKHRoaXMuZW5jb3VudGVyZWRFcnJvcl8pIHsKLSAgICAg
IHJldHVybiBmYWxzZTsKLSAgICB9Ci0KLSAgICB0aGlzLmluaXRDb250cm9sbGVySWZOZWNlc3Nh
cnlfKCk7Ci0gICAgcmV0dXJuIHRoaXMuY29udHJvbGxlcl8uc2VuZE1lc3NhZ2UobWVzc2FnZSk7
Ci0gIH07Ci0KLSAgSW50ZXJmYWNlRW5kcG9pbnRDbGllbnQucHJvdG90eXBlLmFjY2VwdEFuZEV4
cGVjdFJlc3BvbnNlID0gZnVuY3Rpb24oCi0gICAgICBtZXNzYWdlKSB7Ci0gICAgaWYgKG1lc3Nh
Z2UuYXNzb2NpYXRlZEVuZHBvaW50SGFuZGxlcy5sZW5ndGggPiAwKSB7Ci0gICAgICBtZXNzYWdl
LnNlcmlhbGl6ZUFzc29jaWF0ZWRFbmRwb2ludEhhbmRsZXMoCi0gICAgICAgICAgdGhpcy5oYW5k
bGVfLmdyb3VwQ29udHJvbGxlcigpKTsKLSAgICB9Ci0KLSAgICBpZiAodGhpcy5lbmNvdW50ZXJl
ZEVycm9yXykgewotICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KCk7Ci0gICAgfQotCi0gICAg
dGhpcy5pbml0Q29udHJvbGxlcklmTmVjZXNzYXJ5XygpOwotCi0gICAgLy8gUmVzZXJ2ZSAwIGlu
IGNhc2Ugd2Ugd2FudCBpdCB0byBjb252ZXkgc3BlY2lhbCBtZWFuaW5nIGluIHRoZSBmdXR1cmUu
Ci0gICAgdmFyIHJlcXVlc3RJRCA9IHRoaXMubmV4dFJlcXVlc3RJRF8rKzsKLSAgICBpZiAocmVx
dWVzdElEID09PSAwKQotICAgICAgcmVxdWVzdElEID0gdGhpcy5uZXh0UmVxdWVzdElEXysrOwot
Ci0gICAgbWVzc2FnZS5zZXRSZXF1ZXN0SUQocmVxdWVzdElEKTsKLSAgICB2YXIgcmVzdWx0ID0g
dGhpcy5jb250cm9sbGVyXy5zZW5kTWVzc2FnZShtZXNzYWdlKTsKLSAgICBpZiAoIXJlc3VsdCkK
LSAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdChFcnJvcigiQ29ubmVjdGlvbiBlcnJvciIpKTsK
LQotICAgIHZhciBjb21wbGV0ZXIgPSB7fTsKLSAgICB0aGlzLmNvbXBsZXRlcnNfLnNldChyZXF1
ZXN0SUQsIGNvbXBsZXRlcik7Ci0gICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29s
dmUsIHJlamVjdCkgewotICAgICAgY29tcGxldGVyLnJlc29sdmUgPSByZXNvbHZlOwotICAgICAg
Y29tcGxldGVyLnJlamVjdCA9IHJlamVjdDsKLSAgICB9KTsKLSAgfTsKLQotICBJbnRlcmZhY2VF
bmRwb2ludENsaWVudC5wcm90b3R5cGUuc2V0UGF5bG9hZFZhbGlkYXRvcnMgPSBmdW5jdGlvbigK
LSAgICAgIHBheWxvYWRWYWxpZGF0b3JzKSB7Ci0gICAgdGhpcy5wYXlsb2FkVmFsaWRhdG9yc18g
PSBwYXlsb2FkVmFsaWRhdG9yczsKLSAgfTsKLQotICBJbnRlcmZhY2VFbmRwb2ludENsaWVudC5w
cm90b3R5cGUuc2V0SW5jb21pbmdSZWNlaXZlciA9IGZ1bmN0aW9uKHJlY2VpdmVyKSB7Ci0gICAg
dGhpcy5pbmNvbWluZ1JlY2VpdmVyXyA9IHJlY2VpdmVyOwotICB9OwotCi0gIEludGVyZmFjZUVu
ZHBvaW50Q2xpZW50LnByb3RvdHlwZS5zZXRDb25uZWN0aW9uRXJyb3JIYW5kbGVyID0gZnVuY3Rp
b24oCi0gICAgICBoYW5kbGVyKSB7Ci0gICAgdGhpcy5jb25uZWN0aW9uRXJyb3JIYW5kbGVyXyA9
IGhhbmRsZXI7Ci0gIH07Ci0KLSAgSW50ZXJmYWNlRW5kcG9pbnRDbGllbnQucHJvdG90eXBlLmhh
bmRsZUluY29taW5nTWVzc2FnZSA9IGZ1bmN0aW9uKG1lc3NhZ2UsCi0gICAgICBtZXNzYWdlVmFs
aWRhdG9yKSB7Ci0gICAgdmFyIG5vRXJyb3IgPSBpbnRlcm5hbC52YWxpZGF0aW9uRXJyb3IuTk9O
RTsKLSAgICB2YXIgZXJyID0gbm9FcnJvcjsKLSAgICBmb3IgKHZhciBpID0gMDsgZXJyID09PSBu
b0Vycm9yICYmIGkgPCB0aGlzLnBheWxvYWRWYWxpZGF0b3JzXy5sZW5ndGg7ICsraSkKLSAgICAg
IGVyciA9IHRoaXMucGF5bG9hZFZhbGlkYXRvcnNfW2ldKG1lc3NhZ2VWYWxpZGF0b3IpOwotCi0g
ICAgaWYgKGVyciA9PSBub0Vycm9yKSB7Ci0gICAgICByZXR1cm4gdGhpcy5oYW5kbGVWYWxpZElu
Y29taW5nTWVzc2FnZV8obWVzc2FnZSk7Ci0gICAgfSBlbHNlIHsKLSAgICAgIGludGVybmFsLnJl
cG9ydFZhbGlkYXRpb25FcnJvcihlcnIpOwotICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0KLSAg
fTsKLQotICBJbnRlcmZhY2VFbmRwb2ludENsaWVudC5wcm90b3R5cGUuaGFuZGxlVmFsaWRJbmNv
bWluZ01lc3NhZ2VfID0gZnVuY3Rpb24oCi0gICAgICBtZXNzYWdlKSB7Ci0gICAgaWYgKGludGVy
bmFsLmlzVGVzdGluZ01vZGUoKSkgewotICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfQotCi0gICAg
aWYgKHRoaXMuZW5jb3VudGVyZWRFcnJvcl8pIHsKLSAgICAgIHJldHVybiBmYWxzZTsKLSAgICB9
Ci0KLSAgICB2YXIgb2sgPSBmYWxzZTsKLQotICAgIGlmIChtZXNzYWdlLmV4cGVjdHNSZXNwb25z
ZSgpKSB7Ci0gICAgICBpZiAoaW50ZXJuYWwuaXNJbnRlcmZhY2VDb250cm9sTWVzc2FnZShtZXNz
YWdlKSAmJgotICAgICAgICAgIHRoaXMuY29udHJvbE1lc3NhZ2VIYW5kbGVyXykgewotICAgICAg
ICBvayA9IHRoaXMuY29udHJvbE1lc3NhZ2VIYW5kbGVyXy5hY2NlcHRXaXRoUmVzcG9uZGVyKG1l
c3NhZ2UsIHRoaXMpOwotICAgICAgfSBlbHNlIGlmICh0aGlzLmluY29taW5nUmVjZWl2ZXJfKSB7
Ci0gICAgICAgIG9rID0gdGhpcy5pbmNvbWluZ1JlY2VpdmVyXy5hY2NlcHRXaXRoUmVzcG9uZGVy
KG1lc3NhZ2UsIHRoaXMpOwotICAgICAgfQotICAgIH0gZWxzZSBpZiAobWVzc2FnZS5pc1Jlc3Bv
bnNlKCkpIHsKLSAgICAgIHZhciByZWFkZXIgPSBuZXcgaW50ZXJuYWwuTWVzc2FnZVJlYWRlciht
ZXNzYWdlKTsKLSAgICAgIHZhciByZXF1ZXN0SUQgPSByZWFkZXIucmVxdWVzdElEOwotICAgICAg
dmFyIGNvbXBsZXRlciA9IHRoaXMuY29tcGxldGVyc18uZ2V0KHJlcXVlc3RJRCk7Ci0gICAgICBp
ZiAoY29tcGxldGVyKSB7Ci0gICAgICAgIHRoaXMuY29tcGxldGVyc18uZGVsZXRlKHJlcXVlc3RJ
RCk7Ci0gICAgICAgIGNvbXBsZXRlci5yZXNvbHZlKG1lc3NhZ2UpOwotICAgICAgICBvayA9IHRy
dWU7Ci0gICAgICB9IGVsc2UgewotICAgICAgICBjb25zb2xlLmxvZygiVW5leHBlY3RlZCByZXNw
b25zZSB3aXRoIHJlcXVlc3QgSUQ6ICIgKyByZXF1ZXN0SUQpOwotICAgICAgfQotICAgIH0gZWxz
ZSB7Ci0gICAgICBpZiAoaW50ZXJuYWwuaXNJbnRlcmZhY2VDb250cm9sTWVzc2FnZShtZXNzYWdl
KSAmJgotICAgICAgICAgIHRoaXMuY29udHJvbE1lc3NhZ2VIYW5kbGVyXykgewotICAgICAgICBv
ayA9IHRoaXMuY29udHJvbE1lc3NhZ2VIYW5kbGVyXy5hY2NlcHQobWVzc2FnZSk7Ci0gICAgICB9
IGVsc2UgaWYgKHRoaXMuaW5jb21pbmdSZWNlaXZlcl8pIHsKLSAgICAgICAgb2sgPSB0aGlzLmlu
Y29taW5nUmVjZWl2ZXJfLmFjY2VwdChtZXNzYWdlKTsKLSAgICAgIH0KLSAgICB9Ci0gICAgcmV0
dXJuIG9rOwotICB9OwotCi0gIEludGVyZmFjZUVuZHBvaW50Q2xpZW50LnByb3RvdHlwZS5ub3Rp
ZnlFcnJvciA9IGZ1bmN0aW9uKHJlYXNvbikgewotICAgIGlmICh0aGlzLmVuY291bnRlcmVkRXJy
b3JfKSB7Ci0gICAgICByZXR1cm47Ci0gICAgfQotICAgIHRoaXMuZW5jb3VudGVyZWRFcnJvcl8g
PSB0cnVlOwotCi0gICAgdGhpcy5jb21wbGV0ZXJzXy5mb3JFYWNoKGZ1bmN0aW9uKHZhbHVlKSB7
Ci0gICAgICB2YWx1ZS5yZWplY3QoKTsKLSAgICB9KTsKLSAgICB0aGlzLmNvbXBsZXRlcnNfLmNs
ZWFyKCk7ICAvLyBEcm9wIGFueSByZXNwb25kZXJzLgotCi0gICAgaWYgKHRoaXMuY29ubmVjdGlv
bkVycm9ySGFuZGxlcl8pIHsKLSAgICAgIHRoaXMuY29ubmVjdGlvbkVycm9ySGFuZGxlcl8ocmVh
c29uKTsKLSAgICB9Ci0gIH07Ci0KLSAgSW50ZXJmYWNlRW5kcG9pbnRDbGllbnQucHJvdG90eXBl
LnF1ZXJ5VmVyc2lvbiA9IGZ1bmN0aW9uKCkgewotICAgIHJldHVybiB0aGlzLmNvbnRyb2xNZXNz
YWdlUHJveHlfLnF1ZXJ5VmVyc2lvbigpOwotICB9OwotCi0gIEludGVyZmFjZUVuZHBvaW50Q2xp
ZW50LnByb3RvdHlwZS5yZXF1aXJlVmVyc2lvbiA9IGZ1bmN0aW9uKHZlcnNpb24pIHsKLSAgICB0
aGlzLmNvbnRyb2xNZXNzYWdlUHJveHlfLnJlcXVpcmVWZXJzaW9uKHZlcnNpb24pOwotICB9Owot
Ci0gIEludGVyZmFjZUVuZHBvaW50Q2xpZW50LnByb3RvdHlwZS5nZXRFbmNvdW50ZXJlZEVycm9y
ID0gZnVuY3Rpb24oKSB7Ci0gICAgcmV0dXJuIHRoaXMuZW5jb3VudGVyZWRFcnJvcl87Ci0gIH07
Ci0KLSAgaW50ZXJuYWwuSW50ZXJmYWNlRW5kcG9pbnRDbGllbnQgPSBJbnRlcmZhY2VFbmRwb2lu
dENsaWVudDsKLX0pKCk7Ci0vLyBDb3B5cmlnaHQgMjAxNyBUaGUgQ2hyb21pdW0gQXV0aG9ycy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KLS8vIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVy
bmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKLS8vIGZvdW5kIGluIHRoZSBM
SUNFTlNFIGZpbGUuCi0KLShmdW5jdGlvbigpIHsKLSAgdmFyIGludGVybmFsID0gbW9qby5pbnRl
cm5hbDsKLQotICB2YXIgQXNzb2NpYXRpb25FdmVudCA9IHsKLSAgICAvLyBUaGUgaW50ZXJmYWNl
IGhhcyBiZWVuIGFzc29jaWF0ZWQgd2l0aCBhIG1lc3NhZ2UgcGlwZS4KLSAgICBBU1NPQ0lBVEVE
OiAnYXNzb2NpYXRlZCcsCi0gICAgLy8gVGhlIHBlZXIgb2YgdGhpcyBvYmplY3QgaGFzIGJlZW4g
Y2xvc2VkIGJlZm9yZSBhc3NvY2lhdGlvbi4KLSAgICBQRUVSX0NMT1NFRF9CRUZPUkVfQVNTT0NJ
QVRJT046ICdwZWVyX2Nsb3NlZF9iZWZvcmVfYXNzb2NpYXRpb24nCi0gIH07Ci0KLSAgZnVuY3Rp
b24gU3RhdGUoaW50ZXJmYWNlSWQsIGFzc29jaWF0ZWRHcm91cENvbnRyb2xsZXIpIHsKLSAgICBp
ZiAoaW50ZXJmYWNlSWQgPT09IHVuZGVmaW5lZCkgewotICAgICAgaW50ZXJmYWNlSWQgPSBpbnRl
cm5hbC5rSW52YWxpZEludGVyZmFjZUlkOwotICAgIH0KLQotICAgIHRoaXMuaW50ZXJmYWNlSWQg
PSBpbnRlcmZhY2VJZDsKLSAgICB0aGlzLmFzc29jaWF0ZWRHcm91cENvbnRyb2xsZXIgPSBhc3Nv
Y2lhdGVkR3JvdXBDb250cm9sbGVyOwotICAgIHRoaXMucGVuZGluZ0Fzc29jaWF0aW9uID0gZmFs
c2U7Ci0gICAgdGhpcy5kaXNjb25uZWN0UmVhc29uID0gbnVsbDsKLSAgICB0aGlzLnBlZXJTdGF0
ZV8gPSBudWxsOwotICAgIHRoaXMuYXNzb2NpYXRpb25FdmVudEhhbmRsZXJfID0gbnVsbDsKLSAg
fQotCi0gIFN0YXRlLnByb3RvdHlwZS5pbml0UGVuZGluZ1N0YXRlID0gZnVuY3Rpb24ocGVlcikg
ewotICAgIHRoaXMucGVuZGluZ0Fzc29jaWF0aW9uID0gdHJ1ZTsKLSAgICB0aGlzLnBlZXJTdGF0
ZV8gPSBwZWVyOwotICB9OwotCi0gIFN0YXRlLnByb3RvdHlwZS5pc1ZhbGlkID0gZnVuY3Rpb24o
KSB7Ci0gICAgcmV0dXJuIHRoaXMucGVuZGluZ0Fzc29jaWF0aW9uIHx8Ci0gICAgICAgIGludGVy
bmFsLmlzVmFsaWRJbnRlcmZhY2VJZCh0aGlzLmludGVyZmFjZUlkKTsKLSAgfTsKLQotICBTdGF0
ZS5wcm90b3R5cGUuY2xvc2UgPSBmdW5jdGlvbihkaXNjb25uZWN0UmVhc29uKSB7Ci0gICAgdmFy
IGNhY2hlZEdyb3VwQ29udHJvbGxlcjsKLSAgICB2YXIgY2FjaGVkUGVlclN0YXRlOwotICAgIHZh
ciBjYWNoZWRJZCA9IGludGVybmFsLmtJbnZhbGlkSW50ZXJmYWNlSWQ7Ci0KLSAgICBpZiAoIXRo
aXMucGVuZGluZ0Fzc29jaWF0aW9uKSB7Ci0gICAgICBpZiAoaW50ZXJuYWwuaXNWYWxpZEludGVy
ZmFjZUlkKHRoaXMuaW50ZXJmYWNlSWQpKSB7Ci0gICAgICAgIGNhY2hlZEdyb3VwQ29udHJvbGxl
ciA9IHRoaXMuYXNzb2NpYXRlZEdyb3VwQ29udHJvbGxlcjsKLSAgICAgICAgdGhpcy5hc3NvY2lh
dGVkR3JvdXBDb250cm9sbGVyID0gbnVsbDsKLSAgICAgICAgY2FjaGVkSWQgPSB0aGlzLmludGVy
ZmFjZUlkOwotICAgICAgICB0aGlzLmludGVyZmFjZUlkID0gaW50ZXJuYWwua0ludmFsaWRJbnRl
cmZhY2VJZDsKLSAgICAgIH0KLSAgICB9IGVsc2UgewotICAgICAgdGhpcy5wZW5kaW5nQXNzb2Np
YXRpb24gPSBmYWxzZTsKLSAgICAgIGNhY2hlZFBlZXJTdGF0ZSA9IHRoaXMucGVlclN0YXRlXzsK
LSAgICAgIHRoaXMucGVlclN0YXRlXyA9IG51bGw7Ci0gICAgfQotCi0gICAgaWYgKGNhY2hlZEdy
b3VwQ29udHJvbGxlcikgewotICAgICAgY2FjaGVkR3JvdXBDb250cm9sbGVyLmNsb3NlRW5kcG9p
bnRIYW5kbGUoY2FjaGVkSWQsCi0gICAgICAgICAgZGlzY29ubmVjdFJlYXNvbik7Ci0gICAgfSBl
bHNlIGlmIChjYWNoZWRQZWVyU3RhdGUpIHsKLSAgICAgIGNhY2hlZFBlZXJTdGF0ZS5vblBlZXJD
bG9zZWRCZWZvcmVBc3NvY2lhdGlvbihkaXNjb25uZWN0UmVhc29uKTsKLSAgICB9Ci0gIH07Ci0K
LSAgU3RhdGUucHJvdG90eXBlLnJ1bkFzc29jaWF0aW9uRXZlbnRIYW5kbGVyID0gZnVuY3Rpb24o
YXNzb2NpYXRpb25FdmVudCkgewotICAgIGlmICh0aGlzLmFzc29jaWF0aW9uRXZlbnRIYW5kbGVy
XykgewotICAgICAgdmFyIGhhbmRsZXIgPSB0aGlzLmFzc29jaWF0aW9uRXZlbnRIYW5kbGVyXzsK
LSAgICAgIHRoaXMuYXNzb2NpYXRpb25FdmVudEhhbmRsZXJfID0gbnVsbDsKLSAgICAgIGhhbmRs
ZXIoYXNzb2NpYXRpb25FdmVudCk7Ci0gICAgfQotICB9OwotCi0gIFN0YXRlLnByb3RvdHlwZS5z
ZXRBc3NvY2lhdGlvbkV2ZW50SGFuZGxlciA9IGZ1bmN0aW9uKGhhbmRsZXIpIHsKLSAgICBpZiAo
IXRoaXMucGVuZGluZ0Fzc29jaWF0aW9uICYmCi0gICAgICAgICFpbnRlcm5hbC5pc1ZhbGlkSW50
ZXJmYWNlSWQodGhpcy5pbnRlcmZhY2VJZCkpIHsKLSAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAg
ICBpZiAoIWhhbmRsZXIpIHsKLSAgICAgIHRoaXMuYXNzb2NpYXRpb25FdmVudEhhbmRsZXJfID0g
bnVsbDsKLSAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICB0aGlzLmFzc29jaWF0aW9uRXZlbnRI
YW5kbGVyXyA9IGhhbmRsZXI7Ci0gICAgaWYgKCF0aGlzLnBlbmRpbmdBc3NvY2lhdGlvbikgewot
ICAgICAgc2V0VGltZW91dCh0aGlzLnJ1bkFzc29jaWF0aW9uRXZlbnRIYW5kbGVyLmJpbmQodGhp
cywKLSAgICAgICAgICBBc3NvY2lhdGlvbkV2ZW50LkFTU09DSUFURUQpLCAwKTsKLSAgICB9IGVs
c2UgaWYgKCF0aGlzLnBlZXJTdGF0ZV8pIHsKLSAgICAgIHNldFRpbWVvdXQodGhpcy5ydW5Bc3Nv
Y2lhdGlvbkV2ZW50SGFuZGxlci5iaW5kKHRoaXMsCi0gICAgICAgICAgQXNzb2NpYXRpb25FdmVu
dC5QRUVSX0NMT1NFRF9CRUZPUkVfQVNTT0NJQVRJT04pLCAwKTsKLSAgICB9Ci0gIH07Ci0KLSAg
U3RhdGUucHJvdG90eXBlLm5vdGlmeUFzc29jaWF0aW9uID0gZnVuY3Rpb24oaW50ZXJmYWNlSWQs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBlZXJHcm91
cENvbnRyb2xsZXIpIHsKLSAgICB2YXIgY2FjaGVkUGVlclN0YXRlID0gdGhpcy5wZWVyU3RhdGVf
OwotICAgIHRoaXMucGVlclN0YXRlXyA9IG51bGw7Ci0KLSAgICB0aGlzLnBlbmRpbmdBc3NvY2lh
dGlvbiA9IGZhbHNlOwotCi0gICAgaWYgKGNhY2hlZFBlZXJTdGF0ZSkgewotICAgICAgY2FjaGVk
UGVlclN0YXRlLm9uQXNzb2NpYXRlZChpbnRlcmZhY2VJZCwgcGVlckdyb3VwQ29udHJvbGxlcik7
Ci0gICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9Ci0gICAgcmV0dXJuIGZhbHNlOwotICB9OwotCi0g
IFN0YXRlLnByb3RvdHlwZS5vbkFzc29jaWF0ZWQgPSBmdW5jdGlvbihpbnRlcmZhY2VJZCwKLSAg
ICAgIGFzc29jaWF0ZWRHcm91cENvbnRyb2xsZXIpIHsKLSAgICBpZiAoIXRoaXMucGVuZGluZ0Fz
c29jaWF0aW9uKSB7Ci0gICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgdGhpcy5wZW5kaW5nQXNz
b2NpYXRpb24gPSBmYWxzZTsKLSAgICB0aGlzLnBlZXJTdGF0ZV8gPSBudWxsOwotICAgIHRoaXMu
aW50ZXJmYWNlSWQgPSBpbnRlcmZhY2VJZDsKLSAgICB0aGlzLmFzc29jaWF0ZWRHcm91cENvbnRy
b2xsZXIgPSBhc3NvY2lhdGVkR3JvdXBDb250cm9sbGVyOwotICAgIHRoaXMucnVuQXNzb2NpYXRp
b25FdmVudEhhbmRsZXIoQXNzb2NpYXRpb25FdmVudC5BU1NPQ0lBVEVEKTsKLSAgfTsKLQotICBT
dGF0ZS5wcm90b3R5cGUub25QZWVyQ2xvc2VkQmVmb3JlQXNzb2NpYXRpb24gPSBmdW5jdGlvbihk
aXNjb25uZWN0UmVhc29uKSB7Ci0gICAgaWYgKCF0aGlzLnBlbmRpbmdBc3NvY2lhdGlvbikgewot
ICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIHRoaXMucGVlclN0YXRlXyA9IG51bGw7Ci0gICAg
dGhpcy5kaXNjb25uZWN0UmVhc29uID0gZGlzY29ubmVjdFJlYXNvbjsKLQotICAgIHRoaXMucnVu
QXNzb2NpYXRpb25FdmVudEhhbmRsZXIoCi0gICAgICAgIEFzc29jaWF0aW9uRXZlbnQuUEVFUl9D
TE9TRURfQkVGT1JFX0FTU09DSUFUSU9OKTsKLSAgfTsKLQotICBmdW5jdGlvbiBjcmVhdGVQYWly
UGVuZGluZ0Fzc29jaWF0aW9uKCkgewotICAgIHZhciBoYW5kbGUwID0gbmV3IEludGVyZmFjZUVu
ZHBvaW50SGFuZGxlKCk7Ci0gICAgdmFyIGhhbmRsZTEgPSBuZXcgSW50ZXJmYWNlRW5kcG9pbnRI
YW5kbGUoKTsKLSAgICBoYW5kbGUwLnN0YXRlXy5pbml0UGVuZGluZ1N0YXRlKGhhbmRsZTEuc3Rh
dGVfKTsKLSAgICBoYW5kbGUxLnN0YXRlXy5pbml0UGVuZGluZ1N0YXRlKGhhbmRsZTAuc3RhdGVf
KTsKLSAgICByZXR1cm4ge2hhbmRsZTA6IGhhbmRsZTAsIGhhbmRsZTE6IGhhbmRsZTF9OwotICB9
Ci0KLSAgZnVuY3Rpb24gSW50ZXJmYWNlRW5kcG9pbnRIYW5kbGUoaW50ZXJmYWNlSWQsIGFzc29j
aWF0ZWRHcm91cENvbnRyb2xsZXIpIHsKLSAgICB0aGlzLnN0YXRlXyA9IG5ldyBTdGF0ZShpbnRl
cmZhY2VJZCwgYXNzb2NpYXRlZEdyb3VwQ29udHJvbGxlcik7Ci0gIH0KLQotICBJbnRlcmZhY2VF
bmRwb2ludEhhbmRsZS5wcm90b3R5cGUuaXNWYWxpZCA9IGZ1bmN0aW9uKCkgewotICAgIHJldHVy
biB0aGlzLnN0YXRlXy5pc1ZhbGlkKCk7Ci0gIH07Ci0KLSAgSW50ZXJmYWNlRW5kcG9pbnRIYW5k
bGUucHJvdG90eXBlLnBlbmRpbmdBc3NvY2lhdGlvbiA9IGZ1bmN0aW9uKCkgewotICAgIHJldHVy
biB0aGlzLnN0YXRlXy5wZW5kaW5nQXNzb2NpYXRpb247Ci0gIH07Ci0KLSAgSW50ZXJmYWNlRW5k
cG9pbnRIYW5kbGUucHJvdG90eXBlLmlkID0gZnVuY3Rpb24oKSB7Ci0gICAgcmV0dXJuIHRoaXMu
c3RhdGVfLmludGVyZmFjZUlkOwotICB9OwotCi0gIEludGVyZmFjZUVuZHBvaW50SGFuZGxlLnBy
b3RvdHlwZS5ncm91cENvbnRyb2xsZXIgPSBmdW5jdGlvbigpIHsKLSAgICByZXR1cm4gdGhpcy5z
dGF0ZV8uYXNzb2NpYXRlZEdyb3VwQ29udHJvbGxlcjsKLSAgfTsKLQotICBJbnRlcmZhY2VFbmRw
b2ludEhhbmRsZS5wcm90b3R5cGUuZGlzY29ubmVjdFJlYXNvbiA9IGZ1bmN0aW9uKCkgewotICAg
IHJldHVybiB0aGlzLnN0YXRlXy5kaXNjb25uZWN0UmVhc29uOwotICB9OwotCi0gIEludGVyZmFj
ZUVuZHBvaW50SGFuZGxlLnByb3RvdHlwZS5zZXRBc3NvY2lhdGlvbkV2ZW50SGFuZGxlciA9IGZ1
bmN0aW9uKAotICAgICAgaGFuZGxlcikgewotICAgIHRoaXMuc3RhdGVfLnNldEFzc29jaWF0aW9u
RXZlbnRIYW5kbGVyKGhhbmRsZXIpOwotICB9OwotCi0gIEludGVyZmFjZUVuZHBvaW50SGFuZGxl
LnByb3RvdHlwZS5ub3RpZnlBc3NvY2lhdGlvbiA9IGZ1bmN0aW9uKGludGVyZmFjZUlkLAotICAg
ICAgcGVlckdyb3VwQ29udHJvbGxlcikgewotICAgIHJldHVybiB0aGlzLnN0YXRlXy5ub3RpZnlB
c3NvY2lhdGlvbihpbnRlcmZhY2VJZCwgcGVlckdyb3VwQ29udHJvbGxlcik7Ci0gIH07Ci0KLSAg
SW50ZXJmYWNlRW5kcG9pbnRIYW5kbGUucHJvdG90eXBlLnJlc2V0ID0gZnVuY3Rpb24ocmVhc29u
KSB7Ci0gICAgdGhpcy5zdGF0ZV8uY2xvc2UocmVhc29uKTsKLSAgICB0aGlzLnN0YXRlXyA9IG5l
dyBTdGF0ZSgpOwotICB9OwotCi0gIGludGVybmFsLkFzc29jaWF0aW9uRXZlbnQgPSBBc3NvY2lh
dGlvbkV2ZW50OwotICBpbnRlcm5hbC5JbnRlcmZhY2VFbmRwb2ludEhhbmRsZSA9IEludGVyZmFj
ZUVuZHBvaW50SGFuZGxlOwotICBpbnRlcm5hbC5jcmVhdGVQYWlyUGVuZGluZ0Fzc29jaWF0aW9u
ID0gY3JlYXRlUGFpclBlbmRpbmdBc3NvY2lhdGlvbjsKLX0pKCk7Ci0vLyBDb3B5cmlnaHQgMjAx
NyBUaGUgQ2hyb21pdW0gQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLS8vIFVzZSBvZiB0
aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UgdGhhdCBj
YW4gYmUKLS8vIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCi0KLShmdW5jdGlvbigpIHsKLSAg
dmFyIGludGVybmFsID0gbW9qby5pbnRlcm5hbDsKLQotICBmdW5jdGlvbiB2YWxpZGF0ZUNvbnRy
b2xSZXF1ZXN0V2l0aG91dFJlc3BvbnNlKG1lc3NhZ2UpIHsKLSAgICB2YXIgbWVzc2FnZVZhbGlk
YXRvciA9IG5ldyBpbnRlcm5hbC5WYWxpZGF0b3IobWVzc2FnZSk7Ci0gICAgdmFyIGVycm9yID0g
bWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZU1lc3NhZ2VJc1JlcXVlc3RXaXRob3V0UmVzcG9uc2Uo
KTsKLSAgICBpZiAoZXJyb3IgIT0gaW50ZXJuYWwudmFsaWRhdGlvbkVycm9yLk5PTkUpIHsKLSAg
ICAgIHRocm93IGVycm9yOwotICAgIH0KLQotICAgIGlmIChtZXNzYWdlLmdldE5hbWUoKSAhPSBt
b2pvLnBpcGVDb250cm9sMi5rUnVuT3JDbG9zZVBpcGVNZXNzYWdlSWQpIHsKLSAgICAgIHRocm93
IG5ldyBFcnJvcigiQ29udHJvbCBtZXNzYWdlIG5hbWUgaXMgbm90IGtSdW5PckNsb3NlUGlwZU1l
c3NhZ2VJZCIpOwotICAgIH0KLQotICAgIC8vIFZhbGlkYXRlIHBheWxvYWQuCi0gICAgZXJyb3Ig
PSBtb2pvLnBpcGVDb250cm9sMi5SdW5PckNsb3NlUGlwZU1lc3NhZ2VQYXJhbXMudmFsaWRhdGUo
Ci0gICAgICAgIG1lc3NhZ2VWYWxpZGF0b3IsIG1lc3NhZ2UuZ2V0SGVhZGVyTnVtQnl0ZXMoKSk7
Ci0gICAgaWYgKGVycm9yICE9IGludGVybmFsLnZhbGlkYXRpb25FcnJvci5OT05FKSB7Ci0gICAg
ICB0aHJvdyBlcnJvcjsKLSAgICB9Ci0gIH0KLQotICBmdW5jdGlvbiBydW5PckNsb3NlUGlwZSht
ZXNzYWdlLCBkZWxlZ2F0ZSkgewotICAgIHZhciByZWFkZXIgPSBuZXcgaW50ZXJuYWwuTWVzc2Fn
ZVJlYWRlcihtZXNzYWdlKTsKLSAgICB2YXIgcnVuT3JDbG9zZVBpcGVNZXNzYWdlUGFyYW1zID0g
cmVhZGVyLmRlY29kZVN0cnVjdCgKLSAgICAgICAgbW9qby5waXBlQ29udHJvbDIuUnVuT3JDbG9z
ZVBpcGVNZXNzYWdlUGFyYW1zKTsKLSAgICB2YXIgZXZlbnQgPSBydW5PckNsb3NlUGlwZU1lc3Nh
Z2VQYXJhbXMuaW5wdXQKLSAgICAgICAgLnBlZXJBc3NvY2lhdGVkRW5kcG9pbnRDbG9zZWRFdmVu
dDsKLSAgICByZXR1cm4gZGVsZWdhdGUub25QZWVyQXNzb2NpYXRlZEVuZHBvaW50Q2xvc2VkKGV2
ZW50LmlkLAotICAgICAgICBldmVudC5kaXNjb25uZWN0UmVhc29uKTsKLSAgfQotCi0gIGZ1bmN0
aW9uIGlzUGlwZUNvbnRyb2xNZXNzYWdlKG1lc3NhZ2UpIHsKLSAgICByZXR1cm4gIWludGVybmFs
LmlzVmFsaWRJbnRlcmZhY2VJZChtZXNzYWdlLmdldEludGVyZmFjZUlkKCkpOwotICB9Ci0KLSAg
ZnVuY3Rpb24gUGlwZUNvbnRyb2xNZXNzYWdlSGFuZGxlcihkZWxlZ2F0ZSkgewotICAgIHRoaXMu
ZGVsZWdhdGVfID0gZGVsZWdhdGU7Ci0gIH0KLQotICBQaXBlQ29udHJvbE1lc3NhZ2VIYW5kbGVy
LnByb3RvdHlwZS5hY2NlcHQgPSBmdW5jdGlvbihtZXNzYWdlKSB7Ci0gICAgdmFsaWRhdGVDb250
cm9sUmVxdWVzdFdpdGhvdXRSZXNwb25zZShtZXNzYWdlKTsKLSAgICByZXR1cm4gcnVuT3JDbG9z
ZVBpcGUobWVzc2FnZSwgdGhpcy5kZWxlZ2F0ZV8pOwotICB9OwotCi0gIGludGVybmFsLlBpcGVD
b250cm9sTWVzc2FnZUhhbmRsZXIgPSBQaXBlQ29udHJvbE1lc3NhZ2VIYW5kbGVyOwotICBpbnRl
cm5hbC5pc1BpcGVDb250cm9sTWVzc2FnZSA9IGlzUGlwZUNvbnRyb2xNZXNzYWdlOwotfSkoKTsK
LS8vIENvcHlyaWdodCAyMDE3IFRoZSBDaHJvbWl1bSBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgotLy8gVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5
bGUgbGljZW5zZSB0aGF0IGNhbiBiZQotLy8gZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KLQot
KGZ1bmN0aW9uKCkgewotICB2YXIgaW50ZXJuYWwgPSBtb2pvLmludGVybmFsOwotCi0gIGZ1bmN0
aW9uIGNvbnN0cnVjdFJ1bk9yQ2xvc2VQaXBlTWVzc2FnZShydW5PckNsb3NlUGlwZUlucHV0KSB7
Ci0gICAgdmFyIHJ1bk9yQ2xvc2VQaXBlTWVzc2FnZVBhcmFtcyA9IG5ldwotICAgICAgICBtb2pv
LnBpcGVDb250cm9sMi5SdW5PckNsb3NlUGlwZU1lc3NhZ2VQYXJhbXMoKTsKLSAgICBydW5PckNs
b3NlUGlwZU1lc3NhZ2VQYXJhbXMuaW5wdXQgPSBydW5PckNsb3NlUGlwZUlucHV0OwotCi0gICAg
dmFyIG1lc3NhZ2VOYW1lID0gbW9qby5waXBlQ29udHJvbDIua1J1bk9yQ2xvc2VQaXBlTWVzc2Fn
ZUlkOwotICAgIHZhciBwYXlsb2FkU2l6ZSA9Ci0gICAgICAgIG1vam8ucGlwZUNvbnRyb2wyLlJ1
bk9yQ2xvc2VQaXBlTWVzc2FnZVBhcmFtcy5lbmNvZGVkU2l6ZTsKLQotICAgIHZhciBidWlsZGVy
ID0gbmV3IGludGVybmFsLk1lc3NhZ2VWMEJ1aWxkZXIobWVzc2FnZU5hbWUsIHBheWxvYWRTaXpl
KTsKLSAgICBidWlsZGVyLmVuY29kZVN0cnVjdChtb2pvLnBpcGVDb250cm9sMi5SdW5PckNsb3Nl
UGlwZU1lc3NhZ2VQYXJhbXMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgcnVuT3JDbG9zZVBp
cGVNZXNzYWdlUGFyYW1zKTsKLSAgICB2YXIgbWVzc2FnZSA9IGJ1aWxkZXIuZmluaXNoKCk7Ci0g
ICAgbWVzc2FnZS5zZXRJbnRlcmZhY2VJZChpbnRlcm5hbC5rSW52YWxpZEludGVyZmFjZUlkKTsK
LSAgICByZXR1cm4gbWVzc2FnZTsKLSAgfQotCi0gIGZ1bmN0aW9uIFBpcGVDb250cm9sTWVzc2Fn
ZVByb3h5KHJlY2VpdmVyKSB7Ci0gICAgdGhpcy5yZWNlaXZlcl8gPSByZWNlaXZlcjsKLSAgfQot
Ci0gIFBpcGVDb250cm9sTWVzc2FnZVByb3h5LnByb3RvdHlwZS5ub3RpZnlQZWVyRW5kcG9pbnRD
bG9zZWQgPSBmdW5jdGlvbigKLSAgICAgIGludGVyZmFjZUlkLCByZWFzb24pIHsKLSAgICB2YXIg
bWVzc2FnZSA9IHRoaXMuY29uc3RydWN0UGVlckVuZHBvaW50Q2xvc2VkTWVzc2FnZShpbnRlcmZh
Y2VJZCwgcmVhc29uKTsKLSAgICB0aGlzLnJlY2VpdmVyXy5hY2NlcHQobWVzc2FnZSk7Ci0gIH07
Ci0KLSAgUGlwZUNvbnRyb2xNZXNzYWdlUHJveHkucHJvdG90eXBlLmNvbnN0cnVjdFBlZXJFbmRw
b2ludENsb3NlZE1lc3NhZ2UgPQotICAgICAgZnVuY3Rpb24oaW50ZXJmYWNlSWQsIHJlYXNvbikg
ewotICAgIHZhciBldmVudCA9IG5ldyBtb2pvLnBpcGVDb250cm9sMi5QZWVyQXNzb2NpYXRlZEVu
ZHBvaW50Q2xvc2VkRXZlbnQoKTsKLSAgICBldmVudC5pZCA9IGludGVyZmFjZUlkOwotICAgIGlm
IChyZWFzb24pIHsKLSAgICAgIGV2ZW50LmRpc2Nvbm5lY3RSZWFzb24gPSBuZXcgbW9qby5waXBl
Q29udHJvbDIuRGlzY29ubmVjdFJlYXNvbih7Ci0gICAgICAgICAgY3VzdG9tUmVhc29uOiByZWFz
b24uY3VzdG9tUmVhc29uLAotICAgICAgICAgIGRlc2NyaXB0aW9uOiByZWFzb24uZGVzY3JpcHRp
b259KTsKLSAgICB9Ci0gICAgdmFyIHJ1bk9yQ2xvc2VQaXBlSW5wdXQgPSBuZXcgbW9qby5waXBl
Q29udHJvbDIuUnVuT3JDbG9zZVBpcGVJbnB1dCgpOwotICAgIHJ1bk9yQ2xvc2VQaXBlSW5wdXQu
cGVlckFzc29jaWF0ZWRFbmRwb2ludENsb3NlZEV2ZW50ID0gZXZlbnQ7Ci0gICAgcmV0dXJuIGNv
bnN0cnVjdFJ1bk9yQ2xvc2VQaXBlTWVzc2FnZShydW5PckNsb3NlUGlwZUlucHV0KTsKLSAgfTsK
LQotICBpbnRlcm5hbC5QaXBlQ29udHJvbE1lc3NhZ2VQcm94eSA9IFBpcGVDb250cm9sTWVzc2Fn
ZVByb3h5OwotfSkoKTsKLS8vIENvcHlyaWdodCAyMDE0IFRoZSBDaHJvbWl1bSBBdXRob3JzLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgotLy8gVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJu
ZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQotLy8gZm91bmQgaW4gdGhlIExJ
Q0VOU0UgZmlsZS4KLQotKGZ1bmN0aW9uKCkgewotICB2YXIgaW50ZXJuYWwgPSBtb2pvLmludGVy
bmFsOwotCi0gIC8qKgotICAgKiBUaGUgc3RhdGUgb2YgfGVuZHBvaW50fC4gSWYgYm90aCB0aGUg
ZW5kcG9pbnQgYW5kIGl0cyBwZWVyIGhhdmUgYmVlbgotICAgKiBjbG9zZWQsIHJlbW92ZXMgaXQg
ZnJvbSB8ZW5kcG9pbnRzX3wuCi0gICAqIEBlbnVtIHtzdHJpbmd9Ci0gICAqLwotICB2YXIgRW5k
cG9pbnRTdGF0ZVVwZGF0ZVR5cGUgPSB7Ci0gICAgRU5EUE9JTlRfQ0xPU0VEOiAnZW5kcG9pbnRf
Y2xvc2VkJywKLSAgICBQRUVSX0VORFBPSU5UX0NMT1NFRDogJ3BlZXJfZW5kcG9pbnRfY2xvc2Vk
JwotICB9OwotCi0gIGZ1bmN0aW9uIGNoZWNrKGNvbmRpdGlvbiwgb3V0cHV0KSB7Ci0gICAgaWYg
KCFjb25kaXRpb24pIHsKLSAgICAgIC8vIHRlc3RoYXJuZXNzLmpzIGRvZXMgbm90IHJldGhyb3cg
ZXJyb3JzIHNvIHRoZSBlcnJvciBzdGFjayBuZWVkcyB0byBiZQotICAgICAgLy8gaW5jbHVkZWQg
YXMgYSBzdHJpbmcgaW4gdGhlIGVycm9yIHdlIHRocm93IGZvciBkZWJ1Z2dpbmcgbGF5b3V0IHRl
c3RzLgotICAgICAgdGhyb3cgbmV3IEVycm9yKChuZXcgRXJyb3IoKSkuc3RhY2spOwotICAgIH0K
LSAgfQotCi0gIGZ1bmN0aW9uIEludGVyZmFjZUVuZHBvaW50KHJvdXRlciwgaW50ZXJmYWNlSWQp
IHsKLSAgICB0aGlzLnJvdXRlcl8gPSByb3V0ZXI7Ci0gICAgdGhpcy5pZCA9IGludGVyZmFjZUlk
OwotICAgIHRoaXMuY2xvc2VkID0gZmFsc2U7Ci0gICAgdGhpcy5wZWVyQ2xvc2VkID0gZmFsc2U7
Ci0gICAgdGhpcy5oYW5kbGVDcmVhdGVkID0gZmFsc2U7Ci0gICAgdGhpcy5kaXNjb25uZWN0UmVh
c29uID0gbnVsbDsKLSAgICB0aGlzLmNsaWVudCA9IG51bGw7Ci0gIH0KLQotICBJbnRlcmZhY2VF
bmRwb2ludC5wcm90b3R5cGUuc2VuZE1lc3NhZ2UgPSBmdW5jdGlvbihtZXNzYWdlKSB7Ci0gICAg
bWVzc2FnZS5zZXRJbnRlcmZhY2VJZCh0aGlzLmlkKTsKLSAgICByZXR1cm4gdGhpcy5yb3V0ZXJf
LmNvbm5lY3Rvcl8uYWNjZXB0KG1lc3NhZ2UpOwotICB9OwotCi0gIGZ1bmN0aW9uIFJvdXRlciho
YW5kbGUsIHNldEludGVyZmFjZUlkTmFtZXNwYWNlQml0KSB7Ci0gICAgaWYgKCEoaGFuZGxlIGlu
c3RhbmNlb2YgTW9qb0hhbmRsZSkpIHsKLSAgICAgIHRocm93IG5ldyBFcnJvcigiUm91dGVyIGNv
bnN0cnVjdG9yOiBOb3QgYSBoYW5kbGUiKTsKLSAgICB9Ci0gICAgaWYgKHNldEludGVyZmFjZUlk
TmFtZXNwYWNlQml0ID09PSB1bmRlZmluZWQpIHsKLSAgICAgIHNldEludGVyZmFjZUlkTmFtZXNw
YWNlQml0ID0gZmFsc2U7Ci0gICAgfQotCi0gICAgdGhpcy5jb25uZWN0b3JfID0gbmV3IGludGVy
bmFsLkNvbm5lY3RvcihoYW5kbGUpOwotCi0gICAgdGhpcy5jb25uZWN0b3JfLnNldEluY29taW5n
UmVjZWl2ZXIoewotICAgICAgICBhY2NlcHQ6IHRoaXMuYWNjZXB0LmJpbmQodGhpcyksCi0gICAg
fSk7Ci0gICAgdGhpcy5jb25uZWN0b3JfLnNldEVycm9ySGFuZGxlcih7Ci0gICAgICAgIG9uRXJy
b3I6IHRoaXMub25QaXBlQ29ubmVjdGlvbkVycm9yLmJpbmQodGhpcyksCi0gICAgfSk7Ci0KLSAg
ICB0aGlzLnNldEludGVyZmFjZUlkTmFtZXNwYWNlQml0XyA9IHNldEludGVyZmFjZUlkTmFtZXNw
YWNlQml0OwotICAgIC8vIHxjYWNoZWRNZXNzYWdlRGF0YXwgY2FjaGVzIGluZm9tYXRpb24gYWJv
dXQgYSBtZXNzYWdlLCBzbyBpdCBjYW4gYmUKLSAgICAvLyBwcm9jZXNzZWQgbGF0ZXIgaWYgYSBj
bGllbnQgaXMgbm90IHlldCBhdHRhY2hlZCB0byB0aGUgdGFyZ2V0IGVuZHBvaW50LgotICAgIHRo
aXMuY2FjaGVkTWVzc2FnZURhdGEgPSBudWxsOwotICAgIHRoaXMuY29udHJvbE1lc3NhZ2VIYW5k
bGVyXyA9IG5ldyBpbnRlcm5hbC5QaXBlQ29udHJvbE1lc3NhZ2VIYW5kbGVyKHRoaXMpOwotICAg
IHRoaXMuY29udHJvbE1lc3NhZ2VQcm94eV8gPQotICAgICAgICBuZXcgaW50ZXJuYWwuUGlwZUNv
bnRyb2xNZXNzYWdlUHJveHkodGhpcy5jb25uZWN0b3JfKTsKLSAgICB0aGlzLm5leHRJbnRlcmZh
Y2VJZFZhbHVlXyA9IDE7Ci0gICAgdGhpcy5lbmNvdW50ZXJlZEVycm9yXyA9IGZhbHNlOwotICAg
IHRoaXMuZW5kcG9pbnRzXyA9IG5ldyBNYXAoKTsKLSAgfQotCi0gIFJvdXRlci5wcm90b3R5cGUu
YXNzb2NpYXRlSW50ZXJmYWNlID0gZnVuY3Rpb24oaGFuZGxlVG9TZW5kKSB7Ci0gICAgaWYgKCFo
YW5kbGVUb1NlbmQucGVuZGluZ0Fzc29jaWF0aW9uKCkpIHsKLSAgICAgIHJldHVybiBpbnRlcm5h
bC5rSW52YWxpZEludGVyZmFjZUlkOwotICAgIH0KLQotICAgIHZhciBpZCA9IDA7Ci0gICAgZG8g
ewotICAgICAgaWYgKHRoaXMubmV4dEludGVyZmFjZUlkVmFsdWVfID49IGludGVybmFsLmtJbnRl
cmZhY2VJZE5hbWVzcGFjZU1hc2spIHsKLSAgICAgICAgdGhpcy5uZXh0SW50ZXJmYWNlSWRWYWx1
ZV8gPSAxOwotICAgICAgfQotICAgICAgaWQgPSB0aGlzLm5leHRJbnRlcmZhY2VJZFZhbHVlXysr
OwotICAgICAgaWYgKHRoaXMuc2V0SW50ZXJmYWNlSWROYW1lc3BhY2VCaXRfKSB7Ci0gICAgICAg
IGlkICs9IGludGVybmFsLmtJbnRlcmZhY2VJZE5hbWVzcGFjZU1hc2s7Ci0gICAgICB9Ci0gICAg
fSB3aGlsZSAodGhpcy5lbmRwb2ludHNfLmhhcyhpZCkpOwotCi0gICAgdmFyIGVuZHBvaW50ID0g
bmV3IEludGVyZmFjZUVuZHBvaW50KHRoaXMsIGlkKTsKLSAgICB0aGlzLmVuZHBvaW50c18uc2V0
KGlkLCBlbmRwb2ludCk7Ci0gICAgaWYgKHRoaXMuZW5jb3VudGVyZWRFcnJvcl8pIHsKLSAgICAg
IHRoaXMudXBkYXRlRW5kcG9pbnRTdGF0ZU1heVJlbW92ZShlbmRwb2ludCwKLSAgICAgICAgICBF
bmRwb2ludFN0YXRlVXBkYXRlVHlwZS5QRUVSX0VORFBPSU5UX0NMT1NFRCk7Ci0gICAgfQotICAg
IGVuZHBvaW50LmhhbmRsZUNyZWF0ZWQgPSB0cnVlOwotCi0gICAgaWYgKCFoYW5kbGVUb1NlbmQu
bm90aWZ5QXNzb2NpYXRpb24oaWQsIHRoaXMpKSB7Ci0gICAgICAvLyBUaGUgcGVlciBoYW5kbGUg
b2YgfGhhbmRsZVRvU2VuZHwsIHdoaWNoIGlzIHN1cHBvc2VkIHRvIGpvaW4gdGhpcwotICAgICAg
Ly8gYXNzb2NpYXRlZCBncm91cCwgaGFzIGJlZW4gY2xvc2VkLgotICAgICAgdGhpcy51cGRhdGVF
bmRwb2ludFN0YXRlTWF5UmVtb3ZlKGVuZHBvaW50LAotICAgICAgICAgIEVuZHBvaW50U3RhdGVV
cGRhdGVUeXBlLkVORFBPSU5UX0NMT1NFRCk7Ci0KLSAgICAgIHBpcGVDb250cm9sTWVzc2FnZXBy
b3h5Lm5vdGlmeVBlZXJFbmRwb2ludENsb3NlZChpZCwKLSAgICAgICAgICBoYW5kbGVUb1NlbmQu
ZGlzY29ubmVjdFJlYXNvbigpKTsKLSAgICB9Ci0KLSAgICByZXR1cm4gaWQ7Ci0gIH07Ci0KLSAg
Um91dGVyLnByb3RvdHlwZS5hdHRhY2hFbmRwb2ludENsaWVudCA9IGZ1bmN0aW9uKAotICAgICAg
aW50ZXJmYWNlRW5kcG9pbnRIYW5kbGUsIGludGVyZmFjZUVuZHBvaW50Q2xpZW50KSB7Ci0gICAg
Y2hlY2soaW50ZXJuYWwuaXNWYWxpZEludGVyZmFjZUlkKGludGVyZmFjZUVuZHBvaW50SGFuZGxl
LmlkKCkpKTsKLSAgICBjaGVjayhpbnRlcmZhY2VFbmRwb2ludENsaWVudCk7Ci0KLSAgICB2YXIg
ZW5kcG9pbnQgPSB0aGlzLmVuZHBvaW50c18uZ2V0KGludGVyZmFjZUVuZHBvaW50SGFuZGxlLmlk
KCkpOwotICAgIGNoZWNrKGVuZHBvaW50KTsKLSAgICBjaGVjayghZW5kcG9pbnQuY2xpZW50KTsK
LSAgICBjaGVjayghZW5kcG9pbnQuY2xvc2VkKTsKLSAgICBlbmRwb2ludC5jbGllbnQgPSBpbnRl
cmZhY2VFbmRwb2ludENsaWVudDsKLQotICAgIGlmIChlbmRwb2ludC5wZWVyQ2xvc2VkKSB7Ci0g
ICAgICBzZXRUaW1lb3V0KGVuZHBvaW50LmNsaWVudC5ub3RpZnlFcnJvci5iaW5kKGVuZHBvaW50
LmNsaWVudCksIDApOwotICAgIH0KLQotICAgIGlmICh0aGlzLmNhY2hlZE1lc3NhZ2VEYXRhICYm
IGludGVyZmFjZUVuZHBvaW50SGFuZGxlLmlkKCkgPT09Ci0gICAgICAgIHRoaXMuY2FjaGVkTWVz
c2FnZURhdGEubWVzc2FnZS5nZXRJbnRlcmZhY2VJZCgpKSB7Ci0gICAgICBzZXRUaW1lb3V0KChm
dW5jdGlvbigpIHsKLSAgICAgICAgaWYgKCF0aGlzLmNhY2hlZE1lc3NhZ2VEYXRhKSB7Ci0gICAg
ICAgICAgcmV0dXJuOwotICAgICAgICB9Ci0KLSAgICAgICAgdmFyIHRhcmdldEVuZHBvaW50ID0g
dGhpcy5lbmRwb2ludHNfLmdldCgKLSAgICAgICAgICAgIHRoaXMuY2FjaGVkTWVzc2FnZURhdGEu
bWVzc2FnZS5nZXRJbnRlcmZhY2VJZCgpKTsKLSAgICAgICAgLy8gQ2hlY2sgdGhhdCB0aGUgdGFy
Z2V0IGVuZHBvaW50J3MgY2xpZW50IHN0aWxsIGV4aXN0cy4KLSAgICAgICAgaWYgKHRhcmdldEVu
ZHBvaW50ICYmIHRhcmdldEVuZHBvaW50LmNsaWVudCkgewotICAgICAgICAgIHZhciBtZXNzYWdl
ID0gdGhpcy5jYWNoZWRNZXNzYWdlRGF0YS5tZXNzYWdlOwotICAgICAgICAgIHZhciBtZXNzYWdl
VmFsaWRhdG9yID0gdGhpcy5jYWNoZWRNZXNzYWdlRGF0YS5tZXNzYWdlVmFsaWRhdG9yOwotICAg
ICAgICAgIHRoaXMuY2FjaGVkTWVzc2FnZURhdGEgPSBudWxsOwotICAgICAgICAgIHRoaXMuY29u
bmVjdG9yXy5yZXN1bWVJbmNvbWluZ01ldGhvZENhbGxQcm9jZXNzaW5nKCk7Ci0gICAgICAgICAg
dmFyIG9rID0gZW5kcG9pbnQuY2xpZW50LmhhbmRsZUluY29taW5nTWVzc2FnZShtZXNzYWdlLAot
ICAgICAgICAgICAgICBtZXNzYWdlVmFsaWRhdG9yKTsKLQotICAgICAgICAgIC8vIEhhbmRsZSBp
bnZhbGlkIGNhY2hlZCBpbmNvbWluZyBtZXNzYWdlLgotICAgICAgICAgIGlmICghaW50ZXJuYWwu
aXNUZXN0aW5nTW9kZSgpICYmICFvaykgewotICAgICAgICAgICAgdGhpcy5jb25uZWN0b3JfLmhh
bmRsZUVycm9yKHRydWUsIHRydWUpOwotICAgICAgICAgIH0KLSAgICAgICAgfQotICAgICAgfSku
YmluZCh0aGlzKSwgMCk7Ci0gICAgfQotCi0gICAgcmV0dXJuIGVuZHBvaW50OwotICB9OwotCi0g
IFJvdXRlci5wcm90b3R5cGUuZGV0YWNoRW5kcG9pbnRDbGllbnQgPSBmdW5jdGlvbigKLSAgICAg
IGludGVyZmFjZUVuZHBvaW50SGFuZGxlKSB7Ci0gICAgY2hlY2soaW50ZXJuYWwuaXNWYWxpZElu
dGVyZmFjZUlkKGludGVyZmFjZUVuZHBvaW50SGFuZGxlLmlkKCkpKTsKLSAgICB2YXIgZW5kcG9p
bnQgPSB0aGlzLmVuZHBvaW50c18uZ2V0KGludGVyZmFjZUVuZHBvaW50SGFuZGxlLmlkKCkpOwot
ICAgIGNoZWNrKGVuZHBvaW50KTsKLSAgICBjaGVjayhlbmRwb2ludC5jbGllbnQpOwotICAgIGNo
ZWNrKCFlbmRwb2ludC5jbG9zZWQpOwotCi0gICAgZW5kcG9pbnQuY2xpZW50ID0gbnVsbDsKLSAg
fTsKLQotICBSb3V0ZXIucHJvdG90eXBlLmNyZWF0ZUxvY2FsRW5kcG9pbnRIYW5kbGUgPSBmdW5j
dGlvbigKLSAgICAgIGludGVyZmFjZUlkKSB7Ci0gICAgaWYgKCFpbnRlcm5hbC5pc1ZhbGlkSW50
ZXJmYWNlSWQoaW50ZXJmYWNlSWQpKSB7Ci0gICAgICByZXR1cm4gbmV3IGludGVybmFsLkludGVy
ZmFjZUVuZHBvaW50SGFuZGxlKCk7Ci0gICAgfQotCi0gICAgdmFyIGVuZHBvaW50ID0gdGhpcy5l
bmRwb2ludHNfLmdldChpbnRlcmZhY2VJZCk7Ci0KLSAgICBpZiAoIWVuZHBvaW50KSB7Ci0gICAg
ICBlbmRwb2ludCA9IG5ldyBJbnRlcmZhY2VFbmRwb2ludCh0aGlzLCBpbnRlcmZhY2VJZCk7Ci0g
ICAgICB0aGlzLmVuZHBvaW50c18uc2V0KGludGVyZmFjZUlkLCBlbmRwb2ludCk7Ci0KLSAgICAg
IGNoZWNrKCFlbmRwb2ludC5oYW5kbGVDcmVhdGVkKTsKLQotICAgICAgaWYgKHRoaXMuZW5jb3Vu
dGVyZWRFcnJvcl8pIHsKLSAgICAgICAgdGhpcy51cGRhdGVFbmRwb2ludFN0YXRlTWF5UmVtb3Zl
KGVuZHBvaW50LAotICAgICAgICAgICAgRW5kcG9pbnRTdGF0ZVVwZGF0ZVR5cGUuUEVFUl9FTkRQ
T0lOVF9DTE9TRUQpOwotICAgICAgfQotICAgIH0gZWxzZSB7Ci0gICAgICAvLyBJZiB0aGUgZW5k
cG9pbnQgYWxyZWFkeSBleGlzdCwgaXQgaXMgYmVjYXVzZSB3ZSBoYXZlIHJlY2VpdmVkIGEKLSAg
ICAgIC8vIG5vdGlmaWNhdGlvbiB0aGF0IHRoZSBwZWVyIGVuZHBvaW50IGhhcyBjbG9zZWQuCi0g
ICAgICBjaGVjayghZW5kcG9pbnQuY2xvc2VkKTsKLSAgICAgIGNoZWNrKGVuZHBvaW50LnBlZXJD
bG9zZWQpOwotCi0gICAgICBpZiAoZW5kcG9pbnQuaGFuZGxlQ3JlYXRlZCkgewotICAgICAgICBy
ZXR1cm4gbmV3IGludGVybmFsLkludGVyZmFjZUVuZHBvaW50SGFuZGxlKCk7Ci0gICAgICB9Ci0g
ICAgfQotCi0gICAgZW5kcG9pbnQuaGFuZGxlQ3JlYXRlZCA9IHRydWU7Ci0gICAgcmV0dXJuIG5l
dyBpbnRlcm5hbC5JbnRlcmZhY2VFbmRwb2ludEhhbmRsZShpbnRlcmZhY2VJZCwgdGhpcyk7Ci0g
IH07Ci0KLSAgUm91dGVyLnByb3RvdHlwZS5hY2NlcHQgPSBmdW5jdGlvbihtZXNzYWdlKSB7Ci0g
ICAgdmFyIG1lc3NhZ2VWYWxpZGF0b3IgPSBuZXcgaW50ZXJuYWwuVmFsaWRhdG9yKG1lc3NhZ2Up
OwotICAgIHZhciBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlTWVzc2FnZUhlYWRlcigp
OwotCi0gICAgdmFyIG9rID0gZmFsc2U7Ci0gICAgaWYgKGVyciAhPT0gaW50ZXJuYWwudmFsaWRh
dGlvbkVycm9yLk5PTkUpIHsKLSAgICAgIGludGVybmFsLnJlcG9ydFZhbGlkYXRpb25FcnJvcihl
cnIpOwotICAgIH0gZWxzZSBpZiAobWVzc2FnZS5kZXNlcmlhbGl6ZUFzc29jaWF0ZWRFbmRwb2lu
dEhhbmRsZXModGhpcykpIHsKLSAgICAgIGlmIChpbnRlcm5hbC5pc1BpcGVDb250cm9sTWVzc2Fn
ZShtZXNzYWdlKSkgewotICAgICAgICBvayA9IHRoaXMuY29udHJvbE1lc3NhZ2VIYW5kbGVyXy5h
Y2NlcHQobWVzc2FnZSk7Ci0gICAgICB9IGVsc2UgewotICAgICAgICB2YXIgaW50ZXJmYWNlSWQg
PSBtZXNzYWdlLmdldEludGVyZmFjZUlkKCk7Ci0gICAgICAgIHZhciBlbmRwb2ludCA9IHRoaXMu
ZW5kcG9pbnRzXy5nZXQoaW50ZXJmYWNlSWQpOwotICAgICAgICBpZiAoIWVuZHBvaW50IHx8IGVu
ZHBvaW50LmNsb3NlZCkgewotICAgICAgICAgIHJldHVybiB0cnVlOwotICAgICAgICB9Ci0KLSAg
ICAgICAgaWYgKCFlbmRwb2ludC5jbGllbnQpIHsKLSAgICAgICAgICAvLyBXZSBuZWVkIHRvIHdh
aXQgdW50aWwgYSBjbGllbnQgaXMgYXR0YWNoZWQgaW4gb3JkZXIgdG8gZGlzcGF0Y2gKLSAgICAg
ICAgICAvLyBmdXJ0aGVyIG1lc3NhZ2VzLgotICAgICAgICAgIHRoaXMuY2FjaGVkTWVzc2FnZURh
dGEgPSB7bWVzc2FnZTogbWVzc2FnZSwKLSAgICAgICAgICAgICAgbWVzc2FnZVZhbGlkYXRvcjog
bWVzc2FnZVZhbGlkYXRvcn07Ci0gICAgICAgICAgdGhpcy5jb25uZWN0b3JfLnBhdXNlSW5jb21p
bmdNZXRob2RDYWxsUHJvY2Vzc2luZygpOwotICAgICAgICAgIHJldHVybiB0cnVlOwotICAgICAg
ICB9Ci0gICAgICAgIG9rID0gZW5kcG9pbnQuY2xpZW50LmhhbmRsZUluY29taW5nTWVzc2FnZSht
ZXNzYWdlLCBtZXNzYWdlVmFsaWRhdG9yKTsKLSAgICAgIH0KLSAgICB9Ci0gICAgcmV0dXJuIG9r
OwotICB9OwotCi0gIFJvdXRlci5wcm90b3R5cGUuY2xvc2UgPSBmdW5jdGlvbigpIHsKLSAgICB0
aGlzLmNvbm5lY3Rvcl8uY2xvc2UoKTsKLSAgICAvLyBDbG9zaW5nIHRoZSBtZXNzYWdlIHBpcGUg
d29uJ3QgdHJpZ2dlciBjb25uZWN0aW9uIGVycm9yIGhhbmRsZXIuCi0gICAgLy8gRXhwbGljaXRs
eSBjYWxsIG9uUGlwZUNvbm5lY3Rpb25FcnJvcigpIHNvIHRoYXQgYXNzb2NpYXRlZCBlbmRwb2lu
dHMKLSAgICAvLyB3aWxsIGdldCBub3RpZmllZC4KLSAgICB0aGlzLm9uUGlwZUNvbm5lY3Rpb25F
cnJvcigpOwotICB9OwotCi0gIFJvdXRlci5wcm90b3R5cGUub25QZWVyQXNzb2NpYXRlZEVuZHBv
aW50Q2xvc2VkID0gZnVuY3Rpb24oaW50ZXJmYWNlSWQsCi0gICAgICByZWFzb24pIHsKLSAgICBj
aGVjayghaW50ZXJuYWwuaXNNYXN0ZXJJbnRlcmZhY2VJZChpbnRlcmZhY2VJZCkgfHwgcmVhc29u
KTsKLQotICAgIHZhciBlbmRwb2ludCA9IHRoaXMuZW5kcG9pbnRzXy5nZXQoaW50ZXJmYWNlSWQp
OwotICAgIGlmICghZW5kcG9pbnQpIHsKLSAgICAgIGVuZHBvaW50ID0gbmV3IEludGVyZmFjZUVu
ZHBvaW50KHRoaXMsIGludGVyZmFjZUlkKTsKLSAgICAgIHRoaXMuZW5kcG9pbnRzXy5zZXQoaW50
ZXJmYWNlSWQsIGVuZHBvaW50KTsKLSAgICB9Ci0KLSAgICBpZiAocmVhc29uKSB7Ci0gICAgICBl
bmRwb2ludC5kaXNjb25uZWN0UmVhc29uID0gcmVhc29uOwotICAgIH0KLQotICAgIGlmICghZW5k
cG9pbnQucGVlckNsb3NlZCkgewotICAgICAgaWYgKGVuZHBvaW50LmNsaWVudCkgewotICAgICAg
ICBzZXRUaW1lb3V0KGVuZHBvaW50LmNsaWVudC5ub3RpZnlFcnJvci5iaW5kKGVuZHBvaW50LmNs
aWVudCwgcmVhc29uKSwKLSAgICAgICAgICAgICAgICAgICAwKTsKLSAgICAgIH0KLSAgICAgIHRo
aXMudXBkYXRlRW5kcG9pbnRTdGF0ZU1heVJlbW92ZShlbmRwb2ludCwKLSAgICAgICAgICBFbmRw
b2ludFN0YXRlVXBkYXRlVHlwZS5QRUVSX0VORFBPSU5UX0NMT1NFRCk7Ci0gICAgfQotICAgIHJl
dHVybiB0cnVlOwotICB9OwotCi0gIFJvdXRlci5wcm90b3R5cGUub25QaXBlQ29ubmVjdGlvbkVy
cm9yID0gZnVuY3Rpb24oKSB7Ci0gICAgdGhpcy5lbmNvdW50ZXJlZEVycm9yXyA9IHRydWU7Ci0K
LSAgICBmb3IgKHZhciBlbmRwb2ludCBvZiB0aGlzLmVuZHBvaW50c18udmFsdWVzKCkpIHsKLSAg
ICAgIGlmIChlbmRwb2ludC5jbGllbnQpIHsKLSAgICAgICAgc2V0VGltZW91dCgKLSAgICAgICAg
ICAgIGVuZHBvaW50LmNsaWVudC5ub3RpZnlFcnJvci5iaW5kKAotICAgICAgICAgICAgICAgIGVu
ZHBvaW50LmNsaWVudCwgZW5kcG9pbnQuZGlzY29ubmVjdFJlYXNvbiksCi0gICAgICAgICAgICAw
KTsKLSAgICAgIH0KLSAgICAgIHRoaXMudXBkYXRlRW5kcG9pbnRTdGF0ZU1heVJlbW92ZShlbmRw
b2ludCwKLSAgICAgICAgICBFbmRwb2ludFN0YXRlVXBkYXRlVHlwZS5QRUVSX0VORFBPSU5UX0NM
T1NFRCk7Ci0gICAgfQotICB9OwotCi0gIFJvdXRlci5wcm90b3R5cGUuY2xvc2VFbmRwb2ludEhh
bmRsZSA9IGZ1bmN0aW9uKGludGVyZmFjZUlkLCByZWFzb24pIHsKLSAgICBpZiAoIWludGVybmFs
LmlzVmFsaWRJbnRlcmZhY2VJZChpbnRlcmZhY2VJZCkpIHsKLSAgICAgIHJldHVybjsKLSAgICB9
Ci0gICAgdmFyIGVuZHBvaW50ID0gdGhpcy5lbmRwb2ludHNfLmdldChpbnRlcmZhY2VJZCk7Ci0g
ICAgY2hlY2soZW5kcG9pbnQpOwotICAgIGNoZWNrKCFlbmRwb2ludC5jbGllbnQpOwotICAgIGNo
ZWNrKCFlbmRwb2ludC5jbG9zZWQpOwotCi0gICAgdGhpcy51cGRhdGVFbmRwb2ludFN0YXRlTWF5
UmVtb3ZlKGVuZHBvaW50LAotICAgICAgICBFbmRwb2ludFN0YXRlVXBkYXRlVHlwZS5FTkRQT0lO
VF9DTE9TRUQpOwotCi0gICAgaWYgKCFpbnRlcm5hbC5pc01hc3RlckludGVyZmFjZUlkKGludGVy
ZmFjZUlkKSB8fCByZWFzb24pIHsKLSAgICAgIHRoaXMuY29udHJvbE1lc3NhZ2VQcm94eV8ubm90
aWZ5UGVlckVuZHBvaW50Q2xvc2VkKGludGVyZmFjZUlkLCByZWFzb24pOwotICAgIH0KLQotICAg
IGlmICh0aGlzLmNhY2hlZE1lc3NhZ2VEYXRhICYmIGludGVyZmFjZUlkID09PQotICAgICAgICB0
aGlzLmNhY2hlZE1lc3NhZ2VEYXRhLm1lc3NhZ2UuZ2V0SW50ZXJmYWNlSWQoKSkgewotICAgICAg
dGhpcy5jYWNoZWRNZXNzYWdlRGF0YSA9IG51bGw7Ci0gICAgICB0aGlzLmNvbm5lY3Rvcl8ucmVz
dW1lSW5jb21pbmdNZXRob2RDYWxsUHJvY2Vzc2luZygpOwotICAgIH0KLSAgfTsKLQotICBSb3V0
ZXIucHJvdG90eXBlLnVwZGF0ZUVuZHBvaW50U3RhdGVNYXlSZW1vdmUgPSBmdW5jdGlvbihlbmRw
b2ludCwKLSAgICAgIGVuZHBvaW50U3RhdGVVcGRhdGVUeXBlKSB7Ci0gICAgaWYgKGVuZHBvaW50
U3RhdGVVcGRhdGVUeXBlID09PSBFbmRwb2ludFN0YXRlVXBkYXRlVHlwZS5FTkRQT0lOVF9DTE9T
RUQpIHsKLSAgICAgIGVuZHBvaW50LmNsb3NlZCA9IHRydWU7Ci0gICAgfSBlbHNlIHsKLSAgICAg
IGVuZHBvaW50LnBlZXJDbG9zZWQgPSB0cnVlOwotICAgIH0KLSAgICBpZiAoZW5kcG9pbnQuY2xv
c2VkICYmIGVuZHBvaW50LnBlZXJDbG9zZWQpIHsKLSAgICAgIHRoaXMuZW5kcG9pbnRzXy5kZWxl
dGUoZW5kcG9pbnQuaWQpOwotICAgIH0KLSAgfTsKLQotICBpbnRlcm5hbC5Sb3V0ZXIgPSBSb3V0
ZXI7Ci19KSgpOwotLy8gQ29weXJpZ2h0IDIwMTQgVGhlIENocm9taXVtIEF1dGhvcnMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCi0vLyBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBi
eSBhIEJTRC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCi0vLyBmb3VuZCBpbiB0aGUgTElDRU5T
RSBmaWxlLgotCi0vKioKLSAqIERlZmluZXMgZnVuY3Rpb25zIGZvciB0cmFuc2xhdGluZyBiZXR3
ZWVuIEphdmFTY3JpcHQgc3RyaW5ncyBhbmQgVVRGOCBzdHJpbmdzCi0gKiBzdG9yZWQgaW4gQXJy
YXlCdWZmZXJzLiBUaGVyZSBpcyBtdWNoIHJvb20gZm9yIG9wdGltaXphdGlvbiBpbiB0aGlzIGNv
ZGUgaWYKLSAqIGl0IHByb3ZlcyBuZWNlc3NhcnkuCi0gKi8KLShmdW5jdGlvbigpIHsKLSAgdmFy
IGludGVybmFsID0gbW9qby5pbnRlcm5hbDsKLQotICAvKioKLSAgICogRGVjb2RlcyB0aGUgVVRG
OCBzdHJpbmcgZnJvbSB0aGUgZ2l2ZW4gYnVmZmVyLgotICAgKiBAcGFyYW0ge0FycmF5QnVmZmVy
Vmlld30gYnVmZmVyIFRoZSBidWZmZXIgY29udGFpbmluZyBVVEY4IHN0cmluZyBkYXRhLgotICAg
KiBAcmV0dXJuIHtzdHJpbmd9IFRoZSBjb3JyZXNwb25kaW5nIEphdmFTY3JpcHQgc3RyaW5nLgot
ICAgKi8KLSAgZnVuY3Rpb24gZGVjb2RlVXRmOFN0cmluZyhidWZmZXIpIHsKLSAgICByZXR1cm4g
ZGVjb2RlVVJJQ29tcG9uZW50KGVzY2FwZShTdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGws
IGJ1ZmZlcikpKTsKLSAgfQotCi0gIC8qKgotICAgKiBFbmNvZGVzIHRoZSBnaXZlbiBKYXZhU2Ny
aXB0IHN0cmluZyBpbnRvIFVURjguCi0gICAqIEBwYXJhbSB7c3RyaW5nfSBzdHIgVGhlIHN0cmlu
ZyB0byBlbmNvZGUuCi0gICAqIEBwYXJhbSB7QXJyYXlCdWZmZXJWaWV3fSBvdXRwdXRCdWZmZXIg
VGhlIGJ1ZmZlciB0byBjb250YWluIHRoZSByZXN1bHQuCi0gICAqIFNob3VsZCBiZSBwcmUtYWxs
b2NhdGVkIHRvIGhvbGQgZW5vdWdoIHNwYWNlLiBVc2UgfHV0ZjhMZW5ndGh8IHRvIGRldGVybWlu
ZQotICAgKiBob3cgbXVjaCBzcGFjZSBpcyByZXF1aXJlZC4KLSAgICogQHJldHVybiB7bnVtYmVy
fSBUaGUgbnVtYmVyIG9mIGJ5dGVzIHdyaXR0ZW4gdG8gfG91dHB1dEJ1ZmZlcnwuCi0gICAqLwot
ICBmdW5jdGlvbiBlbmNvZGVVdGY4U3RyaW5nKHN0ciwgb3V0cHV0QnVmZmVyKSB7Ci0gICAgdmFy
IHV0ZjhTdHJpbmcgPSB1bmVzY2FwZShlbmNvZGVVUklDb21wb25lbnQoc3RyKSk7Ci0gICAgaWYg
KG91dHB1dEJ1ZmZlci5sZW5ndGggPCB1dGY4U3RyaW5nLmxlbmd0aCkKLSAgICAgIHRocm93IG5l
dyBFcnJvcigiQnVmZmVyIHRvbyBzbWFsbCBmb3IgZW5jb2RlVXRmOFN0cmluZyIpOwotICAgIGZv
ciAodmFyIGkgPSAwOyBpIDwgb3V0cHV0QnVmZmVyLmxlbmd0aCAmJiBpIDwgdXRmOFN0cmluZy5s
ZW5ndGg7IGkrKykKLSAgICAgIG91dHB1dEJ1ZmZlcltpXSA9IHV0ZjhTdHJpbmcuY2hhckNvZGVB
dChpKTsKLSAgICByZXR1cm4gaTsKLSAgfQotCi0gIC8qKgotICAgKiBSZXR1cm5zIHRoZSBudW1i
ZXIgb2YgYnl0ZXMgdGhhdCBhIFVURjggZW5jb2Rpbmcgb2YgdGhlIEphdmFTY3JpcHQgc3RyaW5n
Ci0gICAqIHxzdHJ8IHdvdWxkIG9jY3VweS4KLSAgICovCi0gIGZ1bmN0aW9uIHV0ZjhMZW5ndGgo
c3RyKSB7Ci0gICAgdmFyIHV0ZjhTdHJpbmcgPSB1bmVzY2FwZShlbmNvZGVVUklDb21wb25lbnQo
c3RyKSk7Ci0gICAgcmV0dXJuIHV0ZjhTdHJpbmcubGVuZ3RoOwotICB9Ci0KLSAgaW50ZXJuYWwu
ZGVjb2RlVXRmOFN0cmluZyA9IGRlY29kZVV0ZjhTdHJpbmc7Ci0gIGludGVybmFsLmVuY29kZVV0
ZjhTdHJpbmcgPSBlbmNvZGVVdGY4U3RyaW5nOwotICBpbnRlcm5hbC51dGY4TGVuZ3RoID0gdXRm
OExlbmd0aDsKLX0pKCk7Ci0vLyBDb3B5cmlnaHQgMjAxNCBUaGUgQ2hyb21pdW0gQXV0aG9ycy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KLS8vIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVy
bmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKLS8vIGZvdW5kIGluIHRoZSBM
SUNFTlNFIGZpbGUuCi0KLShmdW5jdGlvbigpIHsKLSAgdmFyIGludGVybmFsID0gbW9qby5pbnRl
cm5hbDsKLQotICB2YXIgdmFsaWRhdGlvbkVycm9yID0gewotICAgIE5PTkU6ICdWQUxJREFUSU9O
X0VSUk9SX05PTkUnLAotICAgIE1JU0FMSUdORURfT0JKRUNUOiAnVkFMSURBVElPTl9FUlJPUl9N
SVNBTElHTkVEX09CSkVDVCcsCi0gICAgSUxMRUdBTF9NRU1PUllfUkFOR0U6ICdWQUxJREFUSU9O
X0VSUk9SX0lMTEVHQUxfTUVNT1JZX1JBTkdFJywKLSAgICBVTkVYUEVDVEVEX1NUUlVDVF9IRUFE
RVI6ICdWQUxJREFUSU9OX0VSUk9SX1VORVhQRUNURURfU1RSVUNUX0hFQURFUicsCi0gICAgVU5F
WFBFQ1RFRF9BUlJBWV9IRUFERVI6ICdWQUxJREFUSU9OX0VSUk9SX1VORVhQRUNURURfQVJSQVlf
SEVBREVSJywKLSAgICBJTExFR0FMX0hBTkRMRTogJ1ZBTElEQVRJT05fRVJST1JfSUxMRUdBTF9I
QU5ETEUnLAotICAgIFVORVhQRUNURURfSU5WQUxJRF9IQU5ETEU6ICdWQUxJREFUSU9OX0VSUk9S
X1VORVhQRUNURURfSU5WQUxJRF9IQU5ETEUnLAotICAgIElMTEVHQUxfUE9JTlRFUjogJ1ZBTElE
QVRJT05fRVJST1JfSUxMRUdBTF9QT0lOVEVSJywKLSAgICBVTkVYUEVDVEVEX05VTExfUE9JTlRF
UjogJ1ZBTElEQVRJT05fRVJST1JfVU5FWFBFQ1RFRF9OVUxMX1BPSU5URVInLAotICAgIElMTEVH
QUxfSU5URVJGQUNFX0lEOiAnVkFMSURBVElPTl9FUlJPUl9JTExFR0FMX0lOVEVSRkFDRV9JRCcs
Ci0gICAgVU5FWFBFQ1RFRF9JTlZBTElEX0lOVEVSRkFDRV9JRDoKLSAgICAgICAgJ1ZBTElEQVRJ
T05fRVJST1JfVU5FWFBFQ1RFRF9JTlZBTElEX0lOVEVSRkFDRV9JRCcsCi0gICAgTUVTU0FHRV9I
RUFERVJfSU5WQUxJRF9GTEFHUzoKLSAgICAgICAgJ1ZBTElEQVRJT05fRVJST1JfTUVTU0FHRV9I
RUFERVJfSU5WQUxJRF9GTEFHUycsCi0gICAgTUVTU0FHRV9IRUFERVJfTUlTU0lOR19SRVFVRVNU
X0lEOgotICAgICAgICAnVkFMSURBVElPTl9FUlJPUl9NRVNTQUdFX0hFQURFUl9NSVNTSU5HX1JF
UVVFU1RfSUQnLAotICAgIERJRkZFUkVOVF9TSVpFRF9BUlJBWVNfSU5fTUFQOgotICAgICAgICAn
VkFMSURBVElPTl9FUlJPUl9ESUZGRVJFTlRfU0laRURfQVJSQVlTX0lOX01BUCcsCi0gICAgSU5W
QUxJRF9VTklPTl9TSVpFOiAnVkFMSURBVElPTl9FUlJPUl9JTlZBTElEX1VOSU9OX1NJWkUnLAot
ICAgIFVORVhQRUNURURfTlVMTF9VTklPTjogJ1ZBTElEQVRJT05fRVJST1JfVU5FWFBFQ1RFRF9O
VUxMX1VOSU9OJywKLSAgICBVTktOT1dOX0VOVU1fVkFMVUU6ICdWQUxJREFUSU9OX0VSUk9SX1VO
S05PV05fRU5VTV9WQUxVRScsCi0gIH07Ci0KLSAgdmFyIE5VTExfTU9KT19QT0lOVEVSID0gIk5V
TExfTU9KT19QT0lOVEVSIjsKLSAgdmFyIGdWYWxpZGF0aW9uRXJyb3JPYnNlcnZlciA9IG51bGw7
Ci0KLSAgZnVuY3Rpb24gcmVwb3J0VmFsaWRhdGlvbkVycm9yKGVycm9yKSB7Ci0gICAgaWYgKGdW
YWxpZGF0aW9uRXJyb3JPYnNlcnZlcikgewotICAgICAgZ1ZhbGlkYXRpb25FcnJvck9ic2VydmVy
Lmxhc3RFcnJvciA9IGVycm9yOwotICAgIH0gZWxzZSB7Ci0gICAgICBjb25zb2xlLndhcm4oJ0lu
dmFsaWQgbWVzc2FnZTogJyArIGVycm9yKTsKLSAgICB9Ci0gIH0KLQotICB2YXIgVmFsaWRhdGlv
bkVycm9yT2JzZXJ2ZXJGb3JUZXN0aW5nID0gKGZ1bmN0aW9uKCkgewotICAgIGZ1bmN0aW9uIE9i
c2VydmVyKCkgewotICAgICAgdGhpcy5sYXN0RXJyb3IgPSB2YWxpZGF0aW9uRXJyb3IuTk9ORTsK
LSAgICB9Ci0KLSAgICBPYnNlcnZlci5wcm90b3R5cGUucmVzZXQgPSBmdW5jdGlvbigpIHsKLSAg
ICAgIHRoaXMubGFzdEVycm9yID0gdmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gICAgfTsKLQotICAg
IHJldHVybiB7Ci0gICAgICBnZXRJbnN0YW5jZTogZnVuY3Rpb24oKSB7Ci0gICAgICAgIGlmICgh
Z1ZhbGlkYXRpb25FcnJvck9ic2VydmVyKSB7Ci0gICAgICAgICAgZ1ZhbGlkYXRpb25FcnJvck9i
c2VydmVyID0gbmV3IE9ic2VydmVyKCk7Ci0gICAgICAgIH0KLSAgICAgICAgcmV0dXJuIGdWYWxp
ZGF0aW9uRXJyb3JPYnNlcnZlcjsKLSAgICAgIH0KLSAgICB9OwotICB9KSgpOwotCi0gIGZ1bmN0
aW9uIGlzVGVzdGluZ01vZGUoKSB7Ci0gICAgcmV0dXJuIEJvb2xlYW4oZ1ZhbGlkYXRpb25FcnJv
ck9ic2VydmVyKTsKLSAgfQotCi0gIGZ1bmN0aW9uIGNsZWFyVGVzdGluZ01vZGUoKSB7Ci0gICAg
Z1ZhbGlkYXRpb25FcnJvck9ic2VydmVyID0gbnVsbDsKLSAgfQotCi0gIGZ1bmN0aW9uIGlzRW51
bUNsYXNzKGNscykgewotICAgIHJldHVybiBjbHMgaW5zdGFuY2VvZiBpbnRlcm5hbC5FbnVtOwot
ICB9Ci0KLSAgZnVuY3Rpb24gaXNTdHJpbmdDbGFzcyhjbHMpIHsKLSAgICByZXR1cm4gY2xzID09
PSBpbnRlcm5hbC5TdHJpbmcgfHwgY2xzID09PSBpbnRlcm5hbC5OdWxsYWJsZVN0cmluZzsKLSAg
fQotCi0gIGZ1bmN0aW9uIGlzSGFuZGxlQ2xhc3MoY2xzKSB7Ci0gICAgcmV0dXJuIGNscyA9PT0g
aW50ZXJuYWwuSGFuZGxlIHx8IGNscyA9PT0gaW50ZXJuYWwuTnVsbGFibGVIYW5kbGU7Ci0gIH0K
LQotICBmdW5jdGlvbiBpc0ludGVyZmFjZUNsYXNzKGNscykgewotICAgIHJldHVybiBjbHMgaW5z
dGFuY2VvZiBpbnRlcm5hbC5JbnRlcmZhY2U7Ci0gIH0KLQotICBmdW5jdGlvbiBpc0ludGVyZmFj
ZVJlcXVlc3RDbGFzcyhjbHMpIHsKLSAgICByZXR1cm4gY2xzID09PSBpbnRlcm5hbC5JbnRlcmZh
Y2VSZXF1ZXN0IHx8Ci0gICAgICAgIGNscyA9PT0gaW50ZXJuYWwuTnVsbGFibGVJbnRlcmZhY2VS
ZXF1ZXN0OwotICB9Ci0KLSAgZnVuY3Rpb24gaXNBc3NvY2lhdGVkSW50ZXJmYWNlQ2xhc3MoY2xz
KSB7Ci0gICAgcmV0dXJuIGNscyA9PT0gaW50ZXJuYWwuQXNzb2NpYXRlZEludGVyZmFjZVB0cklu
Zm8gfHwKLSAgICAgICAgY2xzID09PSBpbnRlcm5hbC5OdWxsYWJsZUFzc29jaWF0ZWRJbnRlcmZh
Y2VQdHJJbmZvOwotICB9Ci0KLSAgZnVuY3Rpb24gaXNBc3NvY2lhdGVkSW50ZXJmYWNlUmVxdWVz
dENsYXNzKGNscykgewotICAgIHJldHVybiBjbHMgPT09IGludGVybmFsLkFzc29jaWF0ZWRJbnRl
cmZhY2VSZXF1ZXN0IHx8Ci0gICAgICAgIGNscyA9PT0gaW50ZXJuYWwuTnVsbGFibGVBc3NvY2lh
dGVkSW50ZXJmYWNlUmVxdWVzdDsKLSAgfQotCi0gIGZ1bmN0aW9uIGlzTnVsbGFibGUodHlwZSkg
ewotICAgIHJldHVybiB0eXBlID09PSBpbnRlcm5hbC5OdWxsYWJsZVN0cmluZyB8fAotICAgICAg
ICB0eXBlID09PSBpbnRlcm5hbC5OdWxsYWJsZUhhbmRsZSB8fAotICAgICAgICB0eXBlID09PSBp
bnRlcm5hbC5OdWxsYWJsZUFzc29jaWF0ZWRJbnRlcmZhY2VQdHJJbmZvIHx8Ci0gICAgICAgIHR5
cGUgPT09IGludGVybmFsLk51bGxhYmxlQXNzb2NpYXRlZEludGVyZmFjZVJlcXVlc3QgfHwKLSAg
ICAgICAgdHlwZSA9PT0gaW50ZXJuYWwuTnVsbGFibGVJbnRlcmZhY2UgfHwKLSAgICAgICAgdHlw
ZSA9PT0gaW50ZXJuYWwuTnVsbGFibGVJbnRlcmZhY2VSZXF1ZXN0IHx8Ci0gICAgICAgIHR5cGUg
aW5zdGFuY2VvZiBpbnRlcm5hbC5OdWxsYWJsZUFycmF5T2YgfHwKLSAgICAgICAgdHlwZSBpbnN0
YW5jZW9mIGludGVybmFsLk51bGxhYmxlUG9pbnRlclRvOwotICB9Ci0KLSAgZnVuY3Rpb24gVmFs
aWRhdG9yKG1lc3NhZ2UpIHsKLSAgICB0aGlzLm1lc3NhZ2UgPSBtZXNzYWdlOwotICAgIHRoaXMu
b2Zmc2V0ID0gMDsKLSAgICB0aGlzLmhhbmRsZUluZGV4ID0gMDsKLSAgICB0aGlzLmFzc29jaWF0
ZWRFbmRwb2ludEhhbmRsZUluZGV4ID0gMDsKLSAgICB0aGlzLnBheWxvYWRJbnRlcmZhY2VJZHMg
PSBudWxsOwotICAgIHRoaXMub2Zmc2V0TGltaXQgPSB0aGlzLm1lc3NhZ2UuYnVmZmVyLmJ5dGVM
ZW5ndGg7Ci0gIH0KLQotICBPYmplY3QuZGVmaW5lUHJvcGVydHkoVmFsaWRhdG9yLnByb3RvdHlw
ZSwgImhhbmRsZUluZGV4TGltaXQiLCB7Ci0gICAgZ2V0OiBmdW5jdGlvbigpIHsgcmV0dXJuIHRo
aXMubWVzc2FnZS5oYW5kbGVzLmxlbmd0aDsgfQotICB9KTsKLQotICBPYmplY3QuZGVmaW5lUHJv
cGVydHkoVmFsaWRhdG9yLnByb3RvdHlwZSwgImFzc29jaWF0ZWRIYW5kbGVJbmRleExpbWl0Iiwg
ewotICAgIGdldDogZnVuY3Rpb24oKSB7Ci0gICAgICByZXR1cm4gdGhpcy5wYXlsb2FkSW50ZXJm
YWNlSWRzID8gdGhpcy5wYXlsb2FkSW50ZXJmYWNlSWRzLmxlbmd0aCA6IDA7Ci0gICAgfQotICB9
KTsKLQotICAvLyBUcnVlIGlmIHdlIGNhbiBzYWZlbHkgYWxsb2NhdGUgYSBibG9jayBvZiBieXRl
cyBmcm9tIHN0YXJ0IHRvCi0gIC8vIHRvIHN0YXJ0ICsgbnVtQnl0ZXMuCi0gIFZhbGlkYXRvci5w
cm90b3R5cGUuaXNWYWxpZFJhbmdlID0gZnVuY3Rpb24oc3RhcnQsIG51bUJ5dGVzKSB7Ci0gICAg
Ly8gT25seSBwb3NpdGl2ZSBKYXZhU2NyaXB0IGludGVnZXJzIHRoYXQgYXJlIGxlc3MgdGhhbiAy
XjUzCi0gICAgLy8gKE51bWJlci5NQVhfU0FGRV9JTlRFR0VSKSBjYW4gYmUgcmVwcmVzZW50ZWQg
ZXhhY3RseS4KLSAgICBpZiAoc3RhcnQgPCB0aGlzLm9mZnNldCB8fCBudW1CeXRlcyA8PSAwIHx8
Ci0gICAgICAgICFOdW1iZXIuaXNTYWZlSW50ZWdlcihzdGFydCkgfHwKLSAgICAgICAgIU51bWJl
ci5pc1NhZmVJbnRlZ2VyKG51bUJ5dGVzKSkKLSAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIHZh
ciBuZXdPZmZzZXQgPSBzdGFydCArIG51bUJ5dGVzOwotICAgIGlmICghTnVtYmVyLmlzU2FmZUlu
dGVnZXIobmV3T2Zmc2V0KSB8fCBuZXdPZmZzZXQgPiB0aGlzLm9mZnNldExpbWl0KQotICAgICAg
cmV0dXJuIGZhbHNlOwotCi0gICAgcmV0dXJuIHRydWU7Ci0gIH07Ci0KLSAgVmFsaWRhdG9yLnBy
b3RvdHlwZS5jbGFpbVJhbmdlID0gZnVuY3Rpb24oc3RhcnQsIG51bUJ5dGVzKSB7Ci0gICAgaWYg
KHRoaXMuaXNWYWxpZFJhbmdlKHN0YXJ0LCBudW1CeXRlcykpIHsKLSAgICAgIHRoaXMub2Zmc2V0
ID0gc3RhcnQgKyBudW1CeXRlczsKLSAgICAgIHJldHVybiB0cnVlOwotICAgIH0KLSAgICByZXR1
cm4gZmFsc2U7Ci0gIH07Ci0KLSAgVmFsaWRhdG9yLnByb3RvdHlwZS5jbGFpbUhhbmRsZSA9IGZ1
bmN0aW9uKGluZGV4KSB7Ci0gICAgaWYgKGluZGV4ID09PSBpbnRlcm5hbC5rRW5jb2RlZEludmFs
aWRIYW5kbGVWYWx1ZSkKLSAgICAgIHJldHVybiB0cnVlOwotCi0gICAgaWYgKGluZGV4IDwgdGhp
cy5oYW5kbGVJbmRleCB8fCBpbmRleCA+PSB0aGlzLmhhbmRsZUluZGV4TGltaXQpCi0gICAgICBy
ZXR1cm4gZmFsc2U7Ci0KLSAgICAvLyBUaGlzIGlzIHNhZmUgYmVjYXVzZSBoYW5kbGUgaW5kaWNl
cyBhcmUgdWludDMyLgotICAgIHRoaXMuaGFuZGxlSW5kZXggPSBpbmRleCArIDE7Ci0gICAgcmV0
dXJuIHRydWU7Ci0gIH07Ci0KLSAgVmFsaWRhdG9yLnByb3RvdHlwZS5jbGFpbUFzc29jaWF0ZWRF
bmRwb2ludEhhbmRsZSA9IGZ1bmN0aW9uKGluZGV4KSB7Ci0gICAgaWYgKGluZGV4ID09PSBpbnRl
cm5hbC5rRW5jb2RlZEludmFsaWRIYW5kbGVWYWx1ZSkgewotICAgICAgcmV0dXJuIHRydWU7Ci0g
ICAgfQotCi0gICAgaWYgKGluZGV4IDwgdGhpcy5hc3NvY2lhdGVkRW5kcG9pbnRIYW5kbGVJbmRl
eCB8fAotICAgICAgICBpbmRleCA+PSB0aGlzLmFzc29jaWF0ZWRIYW5kbGVJbmRleExpbWl0KSB7
Ci0gICAgICByZXR1cm4gZmFsc2U7Ci0gICAgfQotCi0gICAgLy8gVGhpcyBpcyBzYWZlIGJlY2F1
c2UgaGFuZGxlIGluZGljZXMgYXJlIHVpbnQzMi4KLSAgICB0aGlzLmFzc29jaWF0ZWRFbmRwb2lu
dEhhbmRsZUluZGV4ID0gaW5kZXggKyAxOwotICAgIHJldHVybiB0cnVlOwotICB9OwotCi0gIFZh
bGlkYXRvci5wcm90b3R5cGUudmFsaWRhdGVFbnVtID0gZnVuY3Rpb24ob2Zmc2V0LCBlbnVtQ2xh
c3MpIHsKLSAgICAvLyBOb3RlOiBBc3N1bWVzIHRoYXQgZW51bXMgYXJlIGFsd2F5cyAzMiBiaXRz
ISBCdXQgdGhpcyBtYXRjaGVzCi0gICAgLy8gbW9qb206OmdlbmVyYXRlOjpwYWNrOjpQYWNrZWRG
aWVsZDo6R2V0U2l6ZUZvcktpbmQsIHNvIGl0IHNob3VsZCBiZSBva2F5LgotICAgIHZhciB2YWx1
ZSA9IHRoaXMubWVzc2FnZS5idWZmZXIuZ2V0SW50MzIob2Zmc2V0KTsKLSAgICByZXR1cm4gZW51
bUNsYXNzLnZhbGlkYXRlKHZhbHVlKTsKLSAgfQotCi0gIFZhbGlkYXRvci5wcm90b3R5cGUudmFs
aWRhdGVIYW5kbGUgPSBmdW5jdGlvbihvZmZzZXQsIG51bGxhYmxlKSB7Ci0gICAgdmFyIGluZGV4
ID0gdGhpcy5tZXNzYWdlLmJ1ZmZlci5nZXRVaW50MzIob2Zmc2V0KTsKLQotICAgIGlmIChpbmRl
eCA9PT0gaW50ZXJuYWwua0VuY29kZWRJbnZhbGlkSGFuZGxlVmFsdWUpCi0gICAgICByZXR1cm4g
bnVsbGFibGUgPwotICAgICAgICAgIHZhbGlkYXRpb25FcnJvci5OT05FIDogdmFsaWRhdGlvbkVy
cm9yLlVORVhQRUNURURfSU5WQUxJRF9IQU5ETEU7Ci0KLSAgICBpZiAoIXRoaXMuY2xhaW1IYW5k
bGUoaW5kZXgpKQotICAgICAgcmV0dXJuIHZhbGlkYXRpb25FcnJvci5JTExFR0FMX0hBTkRMRTsK
LQotICAgIHJldHVybiB2YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQotICBWYWxpZGF0b3Iu
cHJvdG90eXBlLnZhbGlkYXRlQXNzb2NpYXRlZEVuZHBvaW50SGFuZGxlID0gZnVuY3Rpb24ob2Zm
c2V0LAotICAgICAgbnVsbGFibGUpIHsKLSAgICB2YXIgaW5kZXggPSB0aGlzLm1lc3NhZ2UuYnVm
ZmVyLmdldFVpbnQzMihvZmZzZXQpOwotCi0gICAgaWYgKGluZGV4ID09PSBpbnRlcm5hbC5rRW5j
b2RlZEludmFsaWRIYW5kbGVWYWx1ZSkgewotICAgICAgcmV0dXJuIG51bGxhYmxlID8gdmFsaWRh
dGlvbkVycm9yLk5PTkUgOgotICAgICAgICAgIHZhbGlkYXRpb25FcnJvci5VTkVYUEVDVEVEX0lO
VkFMSURfSU5URVJGQUNFX0lEOwotICAgIH0KLQotICAgIGlmICghdGhpcy5jbGFpbUFzc29jaWF0
ZWRFbmRwb2ludEhhbmRsZShpbmRleCkpIHsKLSAgICAgIHJldHVybiB2YWxpZGF0aW9uRXJyb3Iu
SUxMRUdBTF9JTlRFUkZBQ0VfSUQ7Ci0gICAgfQotCi0gICAgcmV0dXJuIHZhbGlkYXRpb25FcnJv
ci5OT05FOwotICB9OwotCi0gIFZhbGlkYXRvci5wcm90b3R5cGUudmFsaWRhdGVJbnRlcmZhY2Ug
PSBmdW5jdGlvbihvZmZzZXQsIG51bGxhYmxlKSB7Ci0gICAgcmV0dXJuIHRoaXMudmFsaWRhdGVI
YW5kbGUob2Zmc2V0LCBudWxsYWJsZSk7Ci0gIH07Ci0KLSAgVmFsaWRhdG9yLnByb3RvdHlwZS52
YWxpZGF0ZUludGVyZmFjZVJlcXVlc3QgPSBmdW5jdGlvbihvZmZzZXQsIG51bGxhYmxlKSB7Ci0g
ICAgcmV0dXJuIHRoaXMudmFsaWRhdGVIYW5kbGUob2Zmc2V0LCBudWxsYWJsZSk7Ci0gIH07Ci0K
LSAgVmFsaWRhdG9yLnByb3RvdHlwZS52YWxpZGF0ZUFzc29jaWF0ZWRJbnRlcmZhY2UgPSBmdW5j
dGlvbihvZmZzZXQsCi0gICAgICBudWxsYWJsZSkgewotICAgIHJldHVybiB0aGlzLnZhbGlkYXRl
QXNzb2NpYXRlZEVuZHBvaW50SGFuZGxlKG9mZnNldCwgbnVsbGFibGUpOwotICB9OwotCi0gIFZh
bGlkYXRvci5wcm90b3R5cGUudmFsaWRhdGVBc3NvY2lhdGVkSW50ZXJmYWNlUmVxdWVzdCA9IGZ1
bmN0aW9uKAotICAgICAgb2Zmc2V0LCBudWxsYWJsZSkgewotICAgIHJldHVybiB0aGlzLnZhbGlk
YXRlQXNzb2NpYXRlZEVuZHBvaW50SGFuZGxlKG9mZnNldCwgbnVsbGFibGUpOwotICB9OwotCi0g
IFZhbGlkYXRvci5wcm90b3R5cGUudmFsaWRhdGVTdHJ1Y3RIZWFkZXIgPSBmdW5jdGlvbihvZmZz
ZXQsIG1pbk51bUJ5dGVzKSB7Ci0gICAgaWYgKCFpbnRlcm5hbC5pc0FsaWduZWQob2Zmc2V0KSkK
LSAgICAgIHJldHVybiB2YWxpZGF0aW9uRXJyb3IuTUlTQUxJR05FRF9PQkpFQ1Q7Ci0KLSAgICBp
ZiAoIXRoaXMuaXNWYWxpZFJhbmdlKG9mZnNldCwgaW50ZXJuYWwua1N0cnVjdEhlYWRlclNpemUp
KQotICAgICAgcmV0dXJuIHZhbGlkYXRpb25FcnJvci5JTExFR0FMX01FTU9SWV9SQU5HRTsKLQot
ICAgIHZhciBudW1CeXRlcyA9IHRoaXMubWVzc2FnZS5idWZmZXIuZ2V0VWludDMyKG9mZnNldCk7
Ci0KLSAgICBpZiAobnVtQnl0ZXMgPCBtaW5OdW1CeXRlcykKLSAgICAgIHJldHVybiB2YWxpZGF0
aW9uRXJyb3IuVU5FWFBFQ1RFRF9TVFJVQ1RfSEVBREVSOwotCi0gICAgaWYgKCF0aGlzLmNsYWlt
UmFuZ2Uob2Zmc2V0LCBudW1CeXRlcykpCi0gICAgICByZXR1cm4gdmFsaWRhdGlvbkVycm9yLklM
TEVHQUxfTUVNT1JZX1JBTkdFOwotCi0gICAgcmV0dXJuIHZhbGlkYXRpb25FcnJvci5OT05FOwot
ICB9OwotCi0gIFZhbGlkYXRvci5wcm90b3R5cGUudmFsaWRhdGVTdHJ1Y3RWZXJzaW9uID0gZnVu
Y3Rpb24ob2Zmc2V0LCB2ZXJzaW9uU2l6ZXMpIHsKLSAgICB2YXIgbnVtQnl0ZXMgPSB0aGlzLm1l
c3NhZ2UuYnVmZmVyLmdldFVpbnQzMihvZmZzZXQpOwotICAgIHZhciB2ZXJzaW9uID0gdGhpcy5t
ZXNzYWdlLmJ1ZmZlci5nZXRVaW50MzIob2Zmc2V0ICsgNCk7Ci0KLSAgICBpZiAodmVyc2lvbiA8
PSB2ZXJzaW9uU2l6ZXNbdmVyc2lvblNpemVzLmxlbmd0aCAtIDFdLnZlcnNpb24pIHsKLSAgICAg
IC8vIFNjYW4gaW4gcmV2ZXJzZSBvcmRlciB0byBvcHRpbWl6ZSBmb3IgbW9yZSByZWNlbnQgdmVy
c2lvblNpemVzLgotICAgICAgZm9yICh2YXIgaSA9IHZlcnNpb25TaXplcy5sZW5ndGggLSAxOyBp
ID49IDA7IC0taSkgewotICAgICAgICBpZiAodmVyc2lvbiA+PSB2ZXJzaW9uU2l6ZXNbaV0udmVy
c2lvbikgewotICAgICAgICAgIGlmIChudW1CeXRlcyA9PSB2ZXJzaW9uU2l6ZXNbaV0ubnVtQnl0
ZXMpCi0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgICByZXR1cm4gdmFsaWRhdGlvbkVycm9y
LlVORVhQRUNURURfU1RSVUNUX0hFQURFUjsKLSAgICAgICAgfQotICAgICAgfQotICAgIH0gZWxz
ZSBpZiAobnVtQnl0ZXMgPCB2ZXJzaW9uU2l6ZXNbdmVyc2lvblNpemVzLmxlbmd0aC0xXS5udW1C
eXRlcykgewotICAgICAgcmV0dXJuIHZhbGlkYXRpb25FcnJvci5VTkVYUEVDVEVEX1NUUlVDVF9I
RUFERVI7Ci0gICAgfQotCi0gICAgcmV0dXJuIHZhbGlkYXRpb25FcnJvci5OT05FOwotICB9Owot
Ci0gIFZhbGlkYXRvci5wcm90b3R5cGUuaXNGaWVsZEluU3RydWN0VmVyc2lvbiA9IGZ1bmN0aW9u
KG9mZnNldCwgZmllbGRWZXJzaW9uKSB7Ci0gICAgdmFyIHN0cnVjdFZlcnNpb24gPSB0aGlzLm1l
c3NhZ2UuYnVmZmVyLmdldFVpbnQzMihvZmZzZXQgKyA0KTsKLSAgICByZXR1cm4gZmllbGRWZXJz
aW9uIDw9IHN0cnVjdFZlcnNpb247Ci0gIH07Ci0KLSAgVmFsaWRhdG9yLnByb3RvdHlwZS52YWxp
ZGF0ZU1lc3NhZ2VIZWFkZXIgPSBmdW5jdGlvbigpIHsKLSAgICB2YXIgZXJyID0gdGhpcy52YWxp
ZGF0ZVN0cnVjdEhlYWRlcigwLCBpbnRlcm5hbC5rTWVzc2FnZVYwSGVhZGVyU2l6ZSk7Ci0gICAg
aWYgKGVyciAhPSB2YWxpZGF0aW9uRXJyb3IuTk9ORSkgewotICAgICAgcmV0dXJuIGVycjsKLSAg
ICB9Ci0KLSAgICB2YXIgbnVtQnl0ZXMgPSB0aGlzLm1lc3NhZ2UuZ2V0SGVhZGVyTnVtQnl0ZXMo
KTsKLSAgICB2YXIgdmVyc2lvbiA9IHRoaXMubWVzc2FnZS5nZXRIZWFkZXJWZXJzaW9uKCk7Ci0K
LSAgICB2YXIgdmFsaWRWZXJzaW9uQW5kTnVtQnl0ZXMgPQotICAgICAgICAodmVyc2lvbiA9PSAw
ICYmIG51bUJ5dGVzID09IGludGVybmFsLmtNZXNzYWdlVjBIZWFkZXJTaXplKSB8fAotICAgICAg
ICAodmVyc2lvbiA9PSAxICYmIG51bUJ5dGVzID09IGludGVybmFsLmtNZXNzYWdlVjFIZWFkZXJT
aXplKSB8fAotICAgICAgICAodmVyc2lvbiA9PSAyICYmIG51bUJ5dGVzID09IGludGVybmFsLmtN
ZXNzYWdlVjJIZWFkZXJTaXplKSB8fAotICAgICAgICAodmVyc2lvbiA+IDIgJiYgbnVtQnl0ZXMg
Pj0gaW50ZXJuYWwua01lc3NhZ2VWMkhlYWRlclNpemUpOwotCi0gICAgaWYgKCF2YWxpZFZlcnNp
b25BbmROdW1CeXRlcykgewotICAgICAgcmV0dXJuIHZhbGlkYXRpb25FcnJvci5VTkVYUEVDVEVE
X1NUUlVDVF9IRUFERVI7Ci0gICAgfQotCi0gICAgdmFyIGV4cGVjdHNSZXNwb25zZSA9IHRoaXMu
bWVzc2FnZS5leHBlY3RzUmVzcG9uc2UoKTsKLSAgICB2YXIgaXNSZXNwb25zZSA9IHRoaXMubWVz
c2FnZS5pc1Jlc3BvbnNlKCk7Ci0KLSAgICBpZiAodmVyc2lvbiA9PSAwICYmIChleHBlY3RzUmVz
cG9uc2UgfHwgaXNSZXNwb25zZSkpIHsKLSAgICAgIHJldHVybiB2YWxpZGF0aW9uRXJyb3IuTUVT
U0FHRV9IRUFERVJfTUlTU0lOR19SRVFVRVNUX0lEOwotICAgIH0KLQotICAgIGlmIChpc1Jlc3Bv
bnNlICYmIGV4cGVjdHNSZXNwb25zZSkgewotICAgICAgcmV0dXJuIHZhbGlkYXRpb25FcnJvci5N
RVNTQUdFX0hFQURFUl9JTlZBTElEX0ZMQUdTOwotICAgIH0KLQotICAgIGlmICh2ZXJzaW9uIDwg
MikgewotICAgICAgcmV0dXJuIHZhbGlkYXRpb25FcnJvci5OT05FOwotICAgIH0KLQotICAgIHZh
ciBlcnIgPSB0aGlzLnZhbGlkYXRlQXJyYXlQb2ludGVyKAotICAgICAgICBpbnRlcm5hbC5rTWVz
c2FnZVBheWxvYWRJbnRlcmZhY2VJZHNQb2ludGVyT2Zmc2V0LAotICAgICAgICBpbnRlcm5hbC5V
aW50MzIuZW5jb2RlZFNpemUsIGludGVybmFsLlVpbnQzMiwgdHJ1ZSwgWzBdLCAwKTsKLQotICAg
IGlmIChlcnIgIT0gdmFsaWRhdGlvbkVycm9yLk5PTkUpIHsKLSAgICAgIHJldHVybiBlcnI7Ci0g
ICAgfQotCi0gICAgdGhpcy5wYXlsb2FkSW50ZXJmYWNlSWRzID0gdGhpcy5tZXNzYWdlLmdldFBh
eWxvYWRJbnRlcmZhY2VJZHMoKTsKLSAgICBpZiAodGhpcy5wYXlsb2FkSW50ZXJmYWNlSWRzKSB7
Ci0gICAgICBmb3IgKHZhciBpbnRlcmZhY2VJZCBvZiB0aGlzLnBheWxvYWRJbnRlcmZhY2VJZHMp
IHsKLSAgICAgICAgaWYgKCFpbnRlcm5hbC5pc1ZhbGlkSW50ZXJmYWNlSWQoaW50ZXJmYWNlSWQp
IHx8Ci0gICAgICAgICAgICBpbnRlcm5hbC5pc01hc3RlckludGVyZmFjZUlkKGludGVyZmFjZUlk
KSkgewotICAgICAgICAgIHJldHVybiB2YWxpZGF0aW9uRXJyb3IuSUxMRUdBTF9JTlRFUkZBQ0Vf
SUQ7Ci0gICAgICAgIH0KLSAgICAgIH0KLSAgICB9Ci0KLSAgICAvLyBTZXQgb2Zmc2V0IHRvIHRo
ZSBzdGFydCBvZiB0aGUgcGF5bG9hZCBhbmQgb2Zmc2V0TGltaXQgdG8gdGhlIHN0YXJ0IG9mCi0g
ICAgLy8gdGhlIHBheWxvYWQgaW50ZXJmYWNlIElkcyBzbyB0aGF0IHBheWxvYWQgY2FuIGJlIHZh
bGlkYXRlZCB1c2luZyB0aGUKLSAgICAvLyBzYW1lIG1lc3NhZ2VWYWxpZGF0b3IuCi0gICAgdGhp
cy5vZmZzZXQgPSB0aGlzLm1lc3NhZ2UuZ2V0SGVhZGVyTnVtQnl0ZXMoKTsKLSAgICB0aGlzLm9m
ZnNldExpbWl0ID0gdGhpcy5kZWNvZGVQb2ludGVyKAotICAgICAgICBpbnRlcm5hbC5rTWVzc2Fn
ZVBheWxvYWRJbnRlcmZhY2VJZHNQb2ludGVyT2Zmc2V0KTsKLQotICAgIHJldHVybiB2YWxpZGF0
aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQotICBWYWxpZGF0b3IucHJvdG90eXBlLnZhbGlkYXRlTWVz
c2FnZUlzUmVxdWVzdFdpdGhvdXRSZXNwb25zZSA9IGZ1bmN0aW9uKCkgewotICAgIGlmICh0aGlz
Lm1lc3NhZ2UuaXNSZXNwb25zZSgpIHx8IHRoaXMubWVzc2FnZS5leHBlY3RzUmVzcG9uc2UoKSkg
ewotICAgICAgcmV0dXJuIHZhbGlkYXRpb25FcnJvci5NRVNTQUdFX0hFQURFUl9JTlZBTElEX0ZM
QUdTOwotICAgIH0KLSAgICByZXR1cm4gdmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gIH07Ci0KLSAg
VmFsaWRhdG9yLnByb3RvdHlwZS52YWxpZGF0ZU1lc3NhZ2VJc1JlcXVlc3RFeHBlY3RpbmdSZXNw
b25zZSA9IGZ1bmN0aW9uKCkgewotICAgIGlmICh0aGlzLm1lc3NhZ2UuaXNSZXNwb25zZSgpIHx8
ICF0aGlzLm1lc3NhZ2UuZXhwZWN0c1Jlc3BvbnNlKCkpIHsKLSAgICAgIHJldHVybiB2YWxpZGF0
aW9uRXJyb3IuTUVTU0FHRV9IRUFERVJfSU5WQUxJRF9GTEFHUzsKLSAgICB9Ci0gICAgcmV0dXJu
IHZhbGlkYXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIFZhbGlkYXRvci5wcm90b3R5cGUudmFs
aWRhdGVNZXNzYWdlSXNSZXNwb25zZSA9IGZ1bmN0aW9uKCkgewotICAgIGlmICh0aGlzLm1lc3Nh
Z2UuZXhwZWN0c1Jlc3BvbnNlKCkgfHwgIXRoaXMubWVzc2FnZS5pc1Jlc3BvbnNlKCkpIHsKLSAg
ICAgIHJldHVybiB2YWxpZGF0aW9uRXJyb3IuTUVTU0FHRV9IRUFERVJfSU5WQUxJRF9GTEFHUzsK
LSAgICB9Ci0gICAgcmV0dXJuIHZhbGlkYXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIC8vIFJl
dHVybnMgdGhlIG1lc3NhZ2UuYnVmZmVyIHJlbGF0aXZlIG9mZnNldCB0aGlzIHBvaW50ZXIgInBv
aW50cyB0byIsCi0gIC8vIE5VTExfTU9KT19QT0lOVEVSIGlmIHRoZSBwb2ludGVyIHJlcHJlc2Vu
dHMgYSBudWxsLCBvciBKUyBudWxsIGlmIHRoZQotICAvLyBwb2ludGVyJ3MgdmFsdWUgaXMgbm90
IHZhbGlkLgotICBWYWxpZGF0b3IucHJvdG90eXBlLmRlY29kZVBvaW50ZXIgPSBmdW5jdGlvbihv
ZmZzZXQpIHsKLSAgICB2YXIgcG9pbnRlclZhbHVlID0gdGhpcy5tZXNzYWdlLmJ1ZmZlci5nZXRV
aW50NjQob2Zmc2V0KTsKLSAgICBpZiAocG9pbnRlclZhbHVlID09PSAwKQotICAgICAgcmV0dXJu
IE5VTExfTU9KT19QT0lOVEVSOwotICAgIHZhciBidWZmZXJPZmZzZXQgPSBvZmZzZXQgKyBwb2lu
dGVyVmFsdWU7Ci0gICAgcmV0dXJuIE51bWJlci5pc1NhZmVJbnRlZ2VyKGJ1ZmZlck9mZnNldCkg
PyBidWZmZXJPZmZzZXQgOiBudWxsOwotICB9OwotCi0gIFZhbGlkYXRvci5wcm90b3R5cGUuZGVj
b2RlVW5pb25TaXplID0gZnVuY3Rpb24ob2Zmc2V0KSB7Ci0gICAgcmV0dXJuIHRoaXMubWVzc2Fn
ZS5idWZmZXIuZ2V0VWludDMyKG9mZnNldCk7Ci0gIH07Ci0KLSAgVmFsaWRhdG9yLnByb3RvdHlw
ZS5kZWNvZGVVbmlvblRhZyA9IGZ1bmN0aW9uKG9mZnNldCkgewotICAgIHJldHVybiB0aGlzLm1l
c3NhZ2UuYnVmZmVyLmdldFVpbnQzMihvZmZzZXQgKyA0KTsKLSAgfTsKLQotICBWYWxpZGF0b3Iu
cHJvdG90eXBlLnZhbGlkYXRlQXJyYXlQb2ludGVyID0gZnVuY3Rpb24oCi0gICAgICBvZmZzZXQs
IGVsZW1lbnRTaXplLCBlbGVtZW50VHlwZSwgbnVsbGFibGUsIGV4cGVjdGVkRGltZW5zaW9uU2l6
ZXMsCi0gICAgICBjdXJyZW50RGltZW5zaW9uKSB7Ci0gICAgdmFyIGFycmF5T2Zmc2V0ID0gdGhp
cy5kZWNvZGVQb2ludGVyKG9mZnNldCk7Ci0gICAgaWYgKGFycmF5T2Zmc2V0ID09PSBudWxsKQot
ICAgICAgcmV0dXJuIHZhbGlkYXRpb25FcnJvci5JTExFR0FMX1BPSU5URVI7Ci0KLSAgICBpZiAo
YXJyYXlPZmZzZXQgPT09IE5VTExfTU9KT19QT0lOVEVSKQotICAgICAgcmV0dXJuIG51bGxhYmxl
ID8KLSAgICAgICAgICB2YWxpZGF0aW9uRXJyb3IuTk9ORSA6IHZhbGlkYXRpb25FcnJvci5VTkVY
UEVDVEVEX05VTExfUE9JTlRFUjsKLQotICAgIHJldHVybiB0aGlzLnZhbGlkYXRlQXJyYXkoYXJy
YXlPZmZzZXQsIGVsZW1lbnRTaXplLCBlbGVtZW50VHlwZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGV4cGVjdGVkRGltZW5zaW9uU2l6ZXMsIGN1cnJlbnREaW1lbnNpb24pOwotICB9
OwotCi0gIFZhbGlkYXRvci5wcm90b3R5cGUudmFsaWRhdGVTdHJ1Y3RQb2ludGVyID0gZnVuY3Rp
b24oCi0gICAgICBvZmZzZXQsIHN0cnVjdENsYXNzLCBudWxsYWJsZSkgewotICAgIHZhciBzdHJ1
Y3RPZmZzZXQgPSB0aGlzLmRlY29kZVBvaW50ZXIob2Zmc2V0KTsKLSAgICBpZiAoc3RydWN0T2Zm
c2V0ID09PSBudWxsKQotICAgICAgcmV0dXJuIHZhbGlkYXRpb25FcnJvci5JTExFR0FMX1BPSU5U
RVI7Ci0KLSAgICBpZiAoc3RydWN0T2Zmc2V0ID09PSBOVUxMX01PSk9fUE9JTlRFUikKLSAgICAg
IHJldHVybiBudWxsYWJsZSA/Ci0gICAgICAgICAgdmFsaWRhdGlvbkVycm9yLk5PTkUgOiB2YWxp
ZGF0aW9uRXJyb3IuVU5FWFBFQ1RFRF9OVUxMX1BPSU5URVI7Ci0KLSAgICByZXR1cm4gc3RydWN0
Q2xhc3MudmFsaWRhdGUodGhpcywgc3RydWN0T2Zmc2V0KTsKLSAgfTsKLQotICBWYWxpZGF0b3Iu
cHJvdG90eXBlLnZhbGlkYXRlVW5pb24gPSBmdW5jdGlvbigKLSAgICAgIG9mZnNldCwgdW5pb25D
bGFzcywgbnVsbGFibGUpIHsKLSAgICB2YXIgc2l6ZSA9IHRoaXMubWVzc2FnZS5idWZmZXIuZ2V0
VWludDMyKG9mZnNldCk7Ci0gICAgaWYgKHNpemUgPT0gMCkgewotICAgICAgcmV0dXJuIG51bGxh
YmxlID8KLSAgICAgICAgICB2YWxpZGF0aW9uRXJyb3IuTk9ORSA6IHZhbGlkYXRpb25FcnJvci5V
TkVYUEVDVEVEX05VTExfVU5JT047Ci0gICAgfQotCi0gICAgcmV0dXJuIHVuaW9uQ2xhc3MudmFs
aWRhdGUodGhpcywgb2Zmc2V0KTsKLSAgfTsKLQotICBWYWxpZGF0b3IucHJvdG90eXBlLnZhbGlk
YXRlTmVzdGVkVW5pb24gPSBmdW5jdGlvbigKLSAgICAgIG9mZnNldCwgdW5pb25DbGFzcywgbnVs
bGFibGUpIHsKLSAgICB2YXIgdW5pb25PZmZzZXQgPSB0aGlzLmRlY29kZVBvaW50ZXIob2Zmc2V0
KTsKLSAgICBpZiAodW5pb25PZmZzZXQgPT09IG51bGwpCi0gICAgICByZXR1cm4gdmFsaWRhdGlv
bkVycm9yLklMTEVHQUxfUE9JTlRFUjsKLQotICAgIGlmICh1bmlvbk9mZnNldCA9PT0gTlVMTF9N
T0pPX1BPSU5URVIpCi0gICAgICByZXR1cm4gbnVsbGFibGUgPwotICAgICAgICAgIHZhbGlkYXRp
b25FcnJvci5OT05FIDogdmFsaWRhdGlvbkVycm9yLlVORVhQRUNURURfTlVMTF9VTklPTjsKLQot
ICAgIHJldHVybiB0aGlzLnZhbGlkYXRlVW5pb24odW5pb25PZmZzZXQsIHVuaW9uQ2xhc3MsIG51
bGxhYmxlKTsKLSAgfTsKLQotICAvLyBUaGlzIG1ldGhvZCBhc3N1bWVzIHRoYXQgdGhlIGFycmF5
IGF0IGFycmF5UG9pbnRlck9mZnNldCBoYXMKLSAgLy8gYmVlbiB2YWxpZGF0ZWQuCi0KLSAgVmFs
aWRhdG9yLnByb3RvdHlwZS5hcnJheUxlbmd0aCA9IGZ1bmN0aW9uKGFycmF5UG9pbnRlck9mZnNl
dCkgewotICAgIHZhciBhcnJheU9mZnNldCA9IHRoaXMuZGVjb2RlUG9pbnRlcihhcnJheVBvaW50
ZXJPZmZzZXQpOwotICAgIHJldHVybiB0aGlzLm1lc3NhZ2UuYnVmZmVyLmdldFVpbnQzMihhcnJh
eU9mZnNldCArIDQpOwotICB9OwotCi0gIFZhbGlkYXRvci5wcm90b3R5cGUudmFsaWRhdGVNYXBQ
b2ludGVyID0gZnVuY3Rpb24oCi0gICAgICBvZmZzZXQsIG1hcElzTnVsbGFibGUsIGtleUNsYXNz
LCB2YWx1ZUNsYXNzLCB2YWx1ZUlzTnVsbGFibGUpIHsKLSAgICAvLyBWYWxpZGF0ZSB0aGUgaW1w
bGljaXQgbWFwIHN0cnVjdDoKLSAgICAvLyBzdHJ1Y3Qge2FycmF5PGtleUNsYXNzPiBrZXlzOyBh
cnJheTx2YWx1ZUNsYXNzPiB2YWx1ZXN9OwotICAgIHZhciBzdHJ1Y3RPZmZzZXQgPSB0aGlzLmRl
Y29kZVBvaW50ZXIob2Zmc2V0KTsKLSAgICBpZiAoc3RydWN0T2Zmc2V0ID09PSBudWxsKQotICAg
ICAgcmV0dXJuIHZhbGlkYXRpb25FcnJvci5JTExFR0FMX1BPSU5URVI7Ci0KLSAgICBpZiAoc3Ry
dWN0T2Zmc2V0ID09PSBOVUxMX01PSk9fUE9JTlRFUikKLSAgICAgIHJldHVybiBtYXBJc051bGxh
YmxlID8KLSAgICAgICAgICB2YWxpZGF0aW9uRXJyb3IuTk9ORSA6IHZhbGlkYXRpb25FcnJvci5V
TkVYUEVDVEVEX05VTExfUE9JTlRFUjsKLQotICAgIHZhciBtYXBFbmNvZGVkU2l6ZSA9IGludGVy
bmFsLmtTdHJ1Y3RIZWFkZXJTaXplICsKLSAgICAgICAgICAgICAgICAgICAgICAgICBpbnRlcm5h
bC5rTWFwU3RydWN0UGF5bG9hZFNpemU7Ci0gICAgdmFyIGVyciA9IHRoaXMudmFsaWRhdGVTdHJ1
Y3RIZWFkZXIoc3RydWN0T2Zmc2V0LCBtYXBFbmNvZGVkU2l6ZSk7Ci0gICAgaWYgKGVyciAhPT0g
dmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICAvLyBWYWxp
ZGF0ZSB0aGUga2V5cyBhcnJheS4KLSAgICB2YXIga2V5c0FycmF5UG9pbnRlck9mZnNldCA9IHN0
cnVjdE9mZnNldCArIGludGVybmFsLmtTdHJ1Y3RIZWFkZXJTaXplOwotICAgIGVyciA9IHRoaXMu
dmFsaWRhdGVBcnJheVBvaW50ZXIoCi0gICAgICAgIGtleXNBcnJheVBvaW50ZXJPZmZzZXQsIGtl
eUNsYXNzLmVuY29kZWRTaXplLCBrZXlDbGFzcywgZmFsc2UsIFswXSwgMCk7Ci0gICAgaWYgKGVy
ciAhPT0gdmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICAv
LyBWYWxpZGF0ZSB0aGUgdmFsdWVzIGFycmF5LgotICAgIHZhciB2YWx1ZXNBcnJheVBvaW50ZXJP
ZmZzZXQgPSBrZXlzQXJyYXlQb2ludGVyT2Zmc2V0ICsgODsKLSAgICB2YXIgdmFsdWVzQXJyYXlE
aW1lbnNpb25zID0gWzBdOyAvLyBWYWxpZGF0ZSB0aGUgYWN0dWFsIGxlbmd0aCBiZWxvdy4KLSAg
ICBpZiAodmFsdWVDbGFzcyBpbnN0YW5jZW9mIGludGVybmFsLkFycmF5T2YpCi0gICAgICB2YWx1
ZXNBcnJheURpbWVuc2lvbnMgPQotICAgICAgICAgIHZhbHVlc0FycmF5RGltZW5zaW9ucy5jb25j
YXQodmFsdWVDbGFzcy5kaW1lbnNpb25zKCkpOwotICAgIHZhciBlcnIgPSB0aGlzLnZhbGlkYXRl
QXJyYXlQb2ludGVyKHZhbHVlc0FycmF5UG9pbnRlck9mZnNldCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZUNsYXNzLmVuY29kZWRTaXplLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlQ2xhc3MsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVJc051bGxhYmxlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlc0FycmF5RGltZW5zaW9ucywKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwKTsKLSAgICBpZiAoZXJyICE9PSB2
YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIC8vIFZhbGlk
YXRlIHRoZSBsZW5ndGhzIG9mIHRoZSBrZXlzIGFuZCB2YWx1ZXMgYXJyYXlzLgotICAgIHZhciBr
ZXlzQXJyYXlMZW5ndGggPSB0aGlzLmFycmF5TGVuZ3RoKGtleXNBcnJheVBvaW50ZXJPZmZzZXQp
OwotICAgIHZhciB2YWx1ZXNBcnJheUxlbmd0aCA9IHRoaXMuYXJyYXlMZW5ndGgodmFsdWVzQXJy
YXlQb2ludGVyT2Zmc2V0KTsKLSAgICBpZiAoa2V5c0FycmF5TGVuZ3RoICE9IHZhbHVlc0FycmF5
TGVuZ3RoKQotICAgICAgcmV0dXJuIHZhbGlkYXRpb25FcnJvci5ESUZGRVJFTlRfU0laRURfQVJS
QVlTX0lOX01BUDsKLQotICAgIHJldHVybiB2YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQot
ICBWYWxpZGF0b3IucHJvdG90eXBlLnZhbGlkYXRlU3RyaW5nUG9pbnRlciA9IGZ1bmN0aW9uKG9m
ZnNldCwgbnVsbGFibGUpIHsKLSAgICByZXR1cm4gdGhpcy52YWxpZGF0ZUFycmF5UG9pbnRlcigK
LSAgICAgICAgb2Zmc2V0LCBpbnRlcm5hbC5VaW50OC5lbmNvZGVkU2l6ZSwgaW50ZXJuYWwuVWlu
dDgsIG51bGxhYmxlLCBbMF0sIDApOwotICB9OwotCi0gIC8vIFNpbWlsYXIgdG8gQXJyYXlfRGF0
YTxUPjo6VmFsaWRhdGUoKQotICAvLyBtb2pvL3B1YmxpYy9jcHAvYmluZGluZ3MvbGliL2FycmF5
X2ludGVybmFsLmgKLQotICBWYWxpZGF0b3IucHJvdG90eXBlLnZhbGlkYXRlQXJyYXkgPQotICAg
ICAgZnVuY3Rpb24gKG9mZnNldCwgZWxlbWVudFNpemUsIGVsZW1lbnRUeXBlLCBleHBlY3RlZERp
bWVuc2lvblNpemVzLAotICAgICAgICAgICAgICAgIGN1cnJlbnREaW1lbnNpb24pIHsKLSAgICBp
ZiAoIWludGVybmFsLmlzQWxpZ25lZChvZmZzZXQpKQotICAgICAgcmV0dXJuIHZhbGlkYXRpb25F
cnJvci5NSVNBTElHTkVEX09CSkVDVDsKLQotICAgIGlmICghdGhpcy5pc1ZhbGlkUmFuZ2Uob2Zm
c2V0LCBpbnRlcm5hbC5rQXJyYXlIZWFkZXJTaXplKSkKLSAgICAgIHJldHVybiB2YWxpZGF0aW9u
RXJyb3IuSUxMRUdBTF9NRU1PUllfUkFOR0U7Ci0KLSAgICB2YXIgbnVtQnl0ZXMgPSB0aGlzLm1l
c3NhZ2UuYnVmZmVyLmdldFVpbnQzMihvZmZzZXQpOwotICAgIHZhciBudW1FbGVtZW50cyA9IHRo
aXMubWVzc2FnZS5idWZmZXIuZ2V0VWludDMyKG9mZnNldCArIDQpOwotCi0gICAgLy8gTm90ZTog
dGhpcyBjb21wdXRhdGlvbiBpcyAic2FmZSIgYmVjYXVzZSBlbGVtZW50U2l6ZSA8PSA4IGFuZAot
ICAgIC8vIG51bUVsZW1lbnRzIGlzIGEgdWludDMyLgotICAgIHZhciBlbGVtZW50c1RvdGFsU2l6
ZSA9IChlbGVtZW50VHlwZSA9PT0gaW50ZXJuYWwuUGFja2VkQm9vbCkgPwotICAgICAgICBNYXRo
LmNlaWwobnVtRWxlbWVudHMgLyA4KSA6IChlbGVtZW50U2l6ZSAqIG51bUVsZW1lbnRzKTsKLQot
ICAgIGlmIChudW1CeXRlcyA8IGludGVybmFsLmtBcnJheUhlYWRlclNpemUgKyBlbGVtZW50c1Rv
dGFsU2l6ZSkKLSAgICAgIHJldHVybiB2YWxpZGF0aW9uRXJyb3IuVU5FWFBFQ1RFRF9BUlJBWV9I
RUFERVI7Ci0KLSAgICBpZiAoZXhwZWN0ZWREaW1lbnNpb25TaXplc1tjdXJyZW50RGltZW5zaW9u
XSAhPSAwICYmCi0gICAgICAgIG51bUVsZW1lbnRzICE9IGV4cGVjdGVkRGltZW5zaW9uU2l6ZXNb
Y3VycmVudERpbWVuc2lvbl0pIHsKLSAgICAgIHJldHVybiB2YWxpZGF0aW9uRXJyb3IuVU5FWFBF
Q1RFRF9BUlJBWV9IRUFERVI7Ci0gICAgfQotCi0gICAgaWYgKCF0aGlzLmNsYWltUmFuZ2Uob2Zm
c2V0LCBudW1CeXRlcykpCi0gICAgICByZXR1cm4gdmFsaWRhdGlvbkVycm9yLklMTEVHQUxfTUVN
T1JZX1JBTkdFOwotCi0gICAgLy8gVmFsaWRhdGUgdGhlIGFycmF5J3MgZWxlbWVudHMgaWYgdGhl
eSBhcmUgcG9pbnRlcnMgb3IgaGFuZGxlcy4KLQotICAgIHZhciBlbGVtZW50c09mZnNldCA9IG9m
ZnNldCArIGludGVybmFsLmtBcnJheUhlYWRlclNpemU7Ci0gICAgdmFyIG51bGxhYmxlID0gaXNO
dWxsYWJsZShlbGVtZW50VHlwZSk7Ci0KLSAgICBpZiAoaXNIYW5kbGVDbGFzcyhlbGVtZW50VHlw
ZSkpCi0gICAgICByZXR1cm4gdGhpcy52YWxpZGF0ZUhhbmRsZUVsZW1lbnRzKGVsZW1lbnRzT2Zm
c2V0LCBudW1FbGVtZW50cywgbnVsbGFibGUpOwotICAgIGlmIChpc0ludGVyZmFjZUNsYXNzKGVs
ZW1lbnRUeXBlKSkKLSAgICAgIHJldHVybiB0aGlzLnZhbGlkYXRlSW50ZXJmYWNlRWxlbWVudHMo
Ci0gICAgICAgICAgZWxlbWVudHNPZmZzZXQsIG51bUVsZW1lbnRzLCBudWxsYWJsZSk7Ci0gICAg
aWYgKGlzSW50ZXJmYWNlUmVxdWVzdENsYXNzKGVsZW1lbnRUeXBlKSkKLSAgICAgIHJldHVybiB0
aGlzLnZhbGlkYXRlSW50ZXJmYWNlUmVxdWVzdEVsZW1lbnRzKAotICAgICAgICAgIGVsZW1lbnRz
T2Zmc2V0LCBudW1FbGVtZW50cywgbnVsbGFibGUpOwotICAgIGlmIChpc0Fzc29jaWF0ZWRJbnRl
cmZhY2VDbGFzcyhlbGVtZW50VHlwZSkpCi0gICAgICByZXR1cm4gdGhpcy52YWxpZGF0ZUFzc29j
aWF0ZWRJbnRlcmZhY2VFbGVtZW50cygKLSAgICAgICAgICBlbGVtZW50c09mZnNldCwgbnVtRWxl
bWVudHMsIG51bGxhYmxlKTsKLSAgICBpZiAoaXNBc3NvY2lhdGVkSW50ZXJmYWNlUmVxdWVzdENs
YXNzKGVsZW1lbnRUeXBlKSkKLSAgICAgIHJldHVybiB0aGlzLnZhbGlkYXRlQXNzb2NpYXRlZElu
dGVyZmFjZVJlcXVlc3RFbGVtZW50cygKLSAgICAgICAgICBlbGVtZW50c09mZnNldCwgbnVtRWxl
bWVudHMsIG51bGxhYmxlKTsKLSAgICBpZiAoaXNTdHJpbmdDbGFzcyhlbGVtZW50VHlwZSkpCi0g
ICAgICByZXR1cm4gdGhpcy52YWxpZGF0ZUFycmF5RWxlbWVudHMoCi0gICAgICAgICAgZWxlbWVu
dHNPZmZzZXQsIG51bUVsZW1lbnRzLCBpbnRlcm5hbC5VaW50OCwgbnVsbGFibGUsIFswXSwgMCk7
Ci0gICAgaWYgKGVsZW1lbnRUeXBlIGluc3RhbmNlb2YgaW50ZXJuYWwuUG9pbnRlclRvKQotICAg
ICAgcmV0dXJuIHRoaXMudmFsaWRhdGVTdHJ1Y3RFbGVtZW50cygKLSAgICAgICAgICBlbGVtZW50
c09mZnNldCwgbnVtRWxlbWVudHMsIGVsZW1lbnRUeXBlLmNscywgbnVsbGFibGUpOwotICAgIGlm
IChlbGVtZW50VHlwZSBpbnN0YW5jZW9mIGludGVybmFsLkFycmF5T2YpCi0gICAgICByZXR1cm4g
dGhpcy52YWxpZGF0ZUFycmF5RWxlbWVudHMoCi0gICAgICAgICAgZWxlbWVudHNPZmZzZXQsIG51
bUVsZW1lbnRzLCBlbGVtZW50VHlwZS5jbHMsIG51bGxhYmxlLAotICAgICAgICAgIGV4cGVjdGVk
RGltZW5zaW9uU2l6ZXMsIGN1cnJlbnREaW1lbnNpb24gKyAxKTsKLSAgICBpZiAoaXNFbnVtQ2xh
c3MoZWxlbWVudFR5cGUpKQotICAgICAgcmV0dXJuIHRoaXMudmFsaWRhdGVFbnVtRWxlbWVudHMo
ZWxlbWVudHNPZmZzZXQsIG51bUVsZW1lbnRzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgZWxlbWVudFR5cGUuY2xzKTsKLQotICAgIHJldHVybiB2YWxpZGF0aW9uRXJy
b3IuTk9ORTsKLSAgfTsKLQotICAvLyBOb3RlOiB0aGUgfG9mZnNldCArIGkgKiBlbGVtZW50U2l6
ZXwgY29tcHV0YXRpb24gaW4gdGhlIHZhbGlkYXRlRm9vRWxlbWVudHMKLSAgLy8gbWV0aG9kcyBi
ZWxvdyBpcyAic2FmZSIgYmVjYXVzZSBlbGVtZW50U2l6ZSA8PSA4LCBvZmZzZXQgYW5kCi0gIC8v
IG51bUVsZW1lbnRzIGFyZSB1aW50MzIsIGFuZCAwIDw9IGkgPCBudW1FbGVtZW50cy4KLQotICBW
YWxpZGF0b3IucHJvdG90eXBlLnZhbGlkYXRlSGFuZGxlRWxlbWVudHMgPQotICAgICAgZnVuY3Rp
b24ob2Zmc2V0LCBudW1FbGVtZW50cywgbnVsbGFibGUpIHsKLSAgICB2YXIgZWxlbWVudFNpemUg
PSBpbnRlcm5hbC5IYW5kbGUuZW5jb2RlZFNpemU7Ci0gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBu
dW1FbGVtZW50czsgaSsrKSB7Ci0gICAgICB2YXIgZWxlbWVudE9mZnNldCA9IG9mZnNldCArIGkg
KiBlbGVtZW50U2l6ZTsKLSAgICAgIHZhciBlcnIgPSB0aGlzLnZhbGlkYXRlSGFuZGxlKGVsZW1l
bnRPZmZzZXQsIG51bGxhYmxlKTsKLSAgICAgIGlmIChlcnIgIT0gdmFsaWRhdGlvbkVycm9yLk5P
TkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0gICAgfQotICAgIHJldHVybiB2YWxpZGF0aW9uRXJy
b3IuTk9ORTsKLSAgfTsKLQotICBWYWxpZGF0b3IucHJvdG90eXBlLnZhbGlkYXRlSW50ZXJmYWNl
RWxlbWVudHMgPQotICAgICAgZnVuY3Rpb24ob2Zmc2V0LCBudW1FbGVtZW50cywgbnVsbGFibGUp
IHsKLSAgICB2YXIgZWxlbWVudFNpemUgPSBpbnRlcm5hbC5JbnRlcmZhY2UucHJvdG90eXBlLmVu
Y29kZWRTaXplOwotICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbnVtRWxlbWVudHM7IGkrKykgewot
ICAgICAgdmFyIGVsZW1lbnRPZmZzZXQgPSBvZmZzZXQgKyBpICogZWxlbWVudFNpemU7Ci0gICAg
ICB2YXIgZXJyID0gdGhpcy52YWxpZGF0ZUludGVyZmFjZShlbGVtZW50T2Zmc2V0LCBudWxsYWJs
ZSk7Ci0gICAgICBpZiAoZXJyICE9IHZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1
cm4gZXJyOwotICAgIH0KLSAgICByZXR1cm4gdmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gIH07Ci0K
LSAgVmFsaWRhdG9yLnByb3RvdHlwZS52YWxpZGF0ZUludGVyZmFjZVJlcXVlc3RFbGVtZW50cyA9
Ci0gICAgICBmdW5jdGlvbihvZmZzZXQsIG51bUVsZW1lbnRzLCBudWxsYWJsZSkgewotICAgIHZh
ciBlbGVtZW50U2l6ZSA9IGludGVybmFsLkludGVyZmFjZVJlcXVlc3QuZW5jb2RlZFNpemU7Ci0g
ICAgZm9yICh2YXIgaSA9IDA7IGkgPCBudW1FbGVtZW50czsgaSsrKSB7Ci0gICAgICB2YXIgZWxl
bWVudE9mZnNldCA9IG9mZnNldCArIGkgKiBlbGVtZW50U2l6ZTsKLSAgICAgIHZhciBlcnIgPSB0
aGlzLnZhbGlkYXRlSW50ZXJmYWNlUmVxdWVzdChlbGVtZW50T2Zmc2V0LCBudWxsYWJsZSk7Ci0g
ICAgICBpZiAoZXJyICE9IHZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJy
OwotICAgIH0KLSAgICByZXR1cm4gdmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gIH07Ci0KLSAgVmFs
aWRhdG9yLnByb3RvdHlwZS52YWxpZGF0ZUFzc29jaWF0ZWRJbnRlcmZhY2VFbGVtZW50cyA9Ci0g
ICAgICBmdW5jdGlvbihvZmZzZXQsIG51bUVsZW1lbnRzLCBudWxsYWJsZSkgewotICAgIHZhciBl
bGVtZW50U2l6ZSA9IGludGVybmFsLkFzc29jaWF0ZWRJbnRlcmZhY2VQdHJJbmZvLnByb3RvdHlw
ZS5lbmNvZGVkU2l6ZTsKLSAgICBmb3IgKHZhciBpID0gMDsgaSA8IG51bUVsZW1lbnRzOyBpKysp
IHsKLSAgICAgIHZhciBlbGVtZW50T2Zmc2V0ID0gb2Zmc2V0ICsgaSAqIGVsZW1lbnRTaXplOwot
ICAgICAgdmFyIGVyciA9IHRoaXMudmFsaWRhdGVBc3NvY2lhdGVkSW50ZXJmYWNlKGVsZW1lbnRP
ZmZzZXQsIG51bGxhYmxlKTsKLSAgICAgIGlmIChlcnIgIT0gdmFsaWRhdGlvbkVycm9yLk5PTkUp
IHsKLSAgICAgICAgcmV0dXJuIGVycjsKLSAgICAgIH0KLSAgICB9Ci0gICAgcmV0dXJuIHZhbGlk
YXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIFZhbGlkYXRvci5wcm90b3R5cGUudmFsaWRhdGVB
c3NvY2lhdGVkSW50ZXJmYWNlUmVxdWVzdEVsZW1lbnRzID0KLSAgICAgIGZ1bmN0aW9uKG9mZnNl
dCwgbnVtRWxlbWVudHMsIG51bGxhYmxlKSB7Ci0gICAgdmFyIGVsZW1lbnRTaXplID0gaW50ZXJu
YWwuQXNzb2NpYXRlZEludGVyZmFjZVJlcXVlc3QuZW5jb2RlZFNpemU7Ci0gICAgZm9yICh2YXIg
aSA9IDA7IGkgPCBudW1FbGVtZW50czsgaSsrKSB7Ci0gICAgICB2YXIgZWxlbWVudE9mZnNldCA9
IG9mZnNldCArIGkgKiBlbGVtZW50U2l6ZTsKLSAgICAgIHZhciBlcnIgPSB0aGlzLnZhbGlkYXRl
QXNzb2NpYXRlZEludGVyZmFjZVJlcXVlc3QoZWxlbWVudE9mZnNldCwKLSAgICAgICAgICBudWxs
YWJsZSk7Ci0gICAgICBpZiAoZXJyICE9IHZhbGlkYXRpb25FcnJvci5OT05FKSB7Ci0gICAgICAg
IHJldHVybiBlcnI7Ci0gICAgICB9Ci0gICAgfQotICAgIHJldHVybiB2YWxpZGF0aW9uRXJyb3Iu
Tk9ORTsKLSAgfTsKLQotICAvLyBUaGUgZWxlbWVudENsYXNzIHBhcmFtZXRlciBpcyB0aGUgZWxl
bWVudCB0eXBlIG9mIHRoZSBlbGVtZW50IGFycmF5cy4KLSAgVmFsaWRhdG9yLnByb3RvdHlwZS52
YWxpZGF0ZUFycmF5RWxlbWVudHMgPQotICAgICAgZnVuY3Rpb24ob2Zmc2V0LCBudW1FbGVtZW50
cywgZWxlbWVudENsYXNzLCBudWxsYWJsZSwKLSAgICAgICAgICAgICAgIGV4cGVjdGVkRGltZW5z
aW9uU2l6ZXMsIGN1cnJlbnREaW1lbnNpb24pIHsKLSAgICB2YXIgZWxlbWVudFNpemUgPSBpbnRl
cm5hbC5Qb2ludGVyVG8ucHJvdG90eXBlLmVuY29kZWRTaXplOwotICAgIGZvciAodmFyIGkgPSAw
OyBpIDwgbnVtRWxlbWVudHM7IGkrKykgewotICAgICAgdmFyIGVsZW1lbnRPZmZzZXQgPSBvZmZz
ZXQgKyBpICogZWxlbWVudFNpemU7Ci0gICAgICB2YXIgZXJyID0gdGhpcy52YWxpZGF0ZUFycmF5
UG9pbnRlcigKLSAgICAgICAgICBlbGVtZW50T2Zmc2V0LCBlbGVtZW50Q2xhc3MuZW5jb2RlZFNp
emUsIGVsZW1lbnRDbGFzcywgbnVsbGFibGUsCi0gICAgICAgICAgZXhwZWN0ZWREaW1lbnNpb25T
aXplcywgY3VycmVudERpbWVuc2lvbik7Ci0gICAgICBpZiAoZXJyICE9IHZhbGlkYXRpb25FcnJv
ci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotICAgIH0KLSAgICByZXR1cm4gdmFsaWRhdGlv
bkVycm9yLk5PTkU7Ci0gIH07Ci0KLSAgVmFsaWRhdG9yLnByb3RvdHlwZS52YWxpZGF0ZVN0cnVj
dEVsZW1lbnRzID0KLSAgICAgIGZ1bmN0aW9uKG9mZnNldCwgbnVtRWxlbWVudHMsIHN0cnVjdENs
YXNzLCBudWxsYWJsZSkgewotICAgIHZhciBlbGVtZW50U2l6ZSA9IGludGVybmFsLlBvaW50ZXJU
by5wcm90b3R5cGUuZW5jb2RlZFNpemU7Ci0gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBudW1FbGVt
ZW50czsgaSsrKSB7Ci0gICAgICB2YXIgZWxlbWVudE9mZnNldCA9IG9mZnNldCArIGkgKiBlbGVt
ZW50U2l6ZTsKLSAgICAgIHZhciBlcnIgPQotICAgICAgICAgIHRoaXMudmFsaWRhdGVTdHJ1Y3RQ
b2ludGVyKGVsZW1lbnRPZmZzZXQsIHN0cnVjdENsYXNzLCBudWxsYWJsZSk7Ci0gICAgICBpZiAo
ZXJyICE9IHZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotICAgIH0K
LSAgICByZXR1cm4gdmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gIH07Ci0KLSAgVmFsaWRhdG9yLnBy
b3RvdHlwZS52YWxpZGF0ZUVudW1FbGVtZW50cyA9Ci0gICAgICBmdW5jdGlvbihvZmZzZXQsIG51
bUVsZW1lbnRzLCBlbnVtQ2xhc3MpIHsKLSAgICB2YXIgZWxlbWVudFNpemUgPSBpbnRlcm5hbC5F
bnVtLnByb3RvdHlwZS5lbmNvZGVkU2l6ZTsKLSAgICBmb3IgKHZhciBpID0gMDsgaSA8IG51bUVs
ZW1lbnRzOyBpKyspIHsKLSAgICAgIHZhciBlbGVtZW50T2Zmc2V0ID0gb2Zmc2V0ICsgaSAqIGVs
ZW1lbnRTaXplOwotICAgICAgdmFyIGVyciA9IHRoaXMudmFsaWRhdGVFbnVtKGVsZW1lbnRPZmZz
ZXQsIGVudW1DbGFzcyk7Ci0gICAgICBpZiAoZXJyICE9IHZhbGlkYXRpb25FcnJvci5OT05FKQot
ICAgICAgICByZXR1cm4gZXJyOwotICAgIH0KLSAgICByZXR1cm4gdmFsaWRhdGlvbkVycm9yLk5P
TkU7Ci0gIH07Ci0KLSAgaW50ZXJuYWwudmFsaWRhdGlvbkVycm9yID0gdmFsaWRhdGlvbkVycm9y
OwotICBpbnRlcm5hbC5WYWxpZGF0b3IgPSBWYWxpZGF0b3I7Ci0gIGludGVybmFsLlZhbGlkYXRp
b25FcnJvck9ic2VydmVyRm9yVGVzdGluZyA9Ci0gICAgICBWYWxpZGF0aW9uRXJyb3JPYnNlcnZl
ckZvclRlc3Rpbmc7Ci0gIGludGVybmFsLnJlcG9ydFZhbGlkYXRpb25FcnJvciA9IHJlcG9ydFZh
bGlkYXRpb25FcnJvcjsKLSAgaW50ZXJuYWwuaXNUZXN0aW5nTW9kZSA9IGlzVGVzdGluZ01vZGU7
Ci0gIGludGVybmFsLmNsZWFyVGVzdGluZ01vZGUgPSBjbGVhclRlc3RpbmdNb2RlOwotfSkoKTsK
LS8vIENvcHlyaWdodCAyMDE0IFRoZSBDaHJvbWl1bSBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgotLy8gVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5
bGUgbGljZW5zZSB0aGF0IGNhbiBiZQotLy8gZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KLQot
Ci0ndXNlIHN0cmljdCc7Ci0KLShmdW5jdGlvbigpIHsKLSAgdmFyIG1vam9tSWQgPSAnbW9qby9w
dWJsaWMvaW50ZXJmYWNlcy9iaW5kaW5ncy9uZXdfYmluZGluZ3MvaW50ZXJmYWNlX2NvbnRyb2xf
bWVzc2FnZXMubW9qb20nOwotICBpZiAobW9qby5pbnRlcm5hbC5pc01vam9tTG9hZGVkKG1vam9t
SWQpKSB7Ci0gICAgY29uc29sZS53YXJuKCdUaGUgZm9sbG93aW5nIG1vam9tIGlzIGxvYWRlZCBt
dWx0aXBsZSB0aW1lczogJyArIG1vam9tSWQpOwotICAgIHJldHVybjsKLSAgfQotICBtb2pvLmlu
dGVybmFsLm1hcmtNb2pvbUxvYWRlZChtb2pvbUlkKTsKLQotICAvLyBUT0RPKHl6c2hlbik6IERl
ZmluZSB0aGVzZSBhbGlhc2VzIHRvIG1pbmltaXplIHRoZSBkaWZmZXJlbmNlcyBiZXR3ZWVuIHRo
ZQotICAvLyBvbGQvbmV3IG1vZGVzLiBSZW1vdmUgdGhlbSB3aGVuIHRoZSBvbGQgbW9kZSBnb2Vz
IGF3YXkuCi0gIHZhciBiaW5kaW5ncyA9IG1vam87Ci0gIHZhciBhc3NvY2lhdGVkQmluZGluZ3Mg
PSBtb2pvOwotICB2YXIgY29kZWMgPSBtb2pvLmludGVybmFsOwotICB2YXIgdmFsaWRhdG9yID0g
bW9qby5pbnRlcm5hbDsKLQotICB2YXIgZXhwb3J0cyA9IG1vam8uaW50ZXJuYWwuZXhwb3NlTmFt
ZXNwYWNlKCdtb2pvLmludGVyZmFjZUNvbnRyb2wyJyk7Ci0KLQotICB2YXIga1J1bk1lc3NhZ2VJ
ZCA9IDB4RkZGRkZGRkY7Ci0gIHZhciBrUnVuT3JDbG9zZVBpcGVNZXNzYWdlSWQgPSAweEZGRkZG
RkZFOwotCi0gIGZ1bmN0aW9uIFJ1bk1lc3NhZ2VQYXJhbXModmFsdWVzKSB7Ci0gICAgdGhpcy5p
bml0RGVmYXVsdHNfKCk7Ci0gICAgdGhpcy5pbml0RmllbGRzXyh2YWx1ZXMpOwotICB9Ci0KLQot
ICBSdW5NZXNzYWdlUGFyYW1zLnByb3RvdHlwZS5pbml0RGVmYXVsdHNfID0gZnVuY3Rpb24oKSB7
Ci0gICAgdGhpcy5pbnB1dCA9IG51bGw7Ci0gIH07Ci0gIFJ1bk1lc3NhZ2VQYXJhbXMucHJvdG90
eXBlLmluaXRGaWVsZHNfID0gZnVuY3Rpb24oZmllbGRzKSB7Ci0gICAgZm9yKHZhciBmaWVsZCBp
biBmaWVsZHMpIHsKLSAgICAgICAgaWYgKHRoaXMuaGFzT3duUHJvcGVydHkoZmllbGQpKQotICAg
ICAgICAgIHRoaXNbZmllbGRdID0gZmllbGRzW2ZpZWxkXTsKLSAgICB9Ci0gIH07Ci0KLSAgUnVu
TWVzc2FnZVBhcmFtcy52YWxpZGF0ZSA9IGZ1bmN0aW9uKG1lc3NhZ2VWYWxpZGF0b3IsIG9mZnNl
dCkgewotICAgIHZhciBlcnI7Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0
cnVjdEhlYWRlcihvZmZzZXQsIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplKTsKLSAgICBpZiAoZXJy
ICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7
Ci0KLSAgICB2YXIga1ZlcnNpb25TaXplcyA9IFsKLSAgICAgIHt2ZXJzaW9uOiAwLCBudW1CeXRl
czogMjR9Ci0gICAgXTsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0
VmVyc2lvbihvZmZzZXQsIGtWZXJzaW9uU2l6ZXMpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRv
ci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0gICAgLy8g
dmFsaWRhdGUgUnVuTWVzc2FnZVBhcmFtcy5pbnB1dAotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0
b3IudmFsaWRhdGVVbmlvbihvZmZzZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDAsIFJ1
bklucHV0LCBmYWxzZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJv
ci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgcmV0dXJuIHZhbGlkYXRvci52YWxp
ZGF0aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQotICBSdW5NZXNzYWdlUGFyYW1zLmVuY29kZWRTaXpl
ID0gY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyAxNjsKLQotICBSdW5NZXNzYWdlUGFyYW1zLmRl
Y29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIHZhciB2YWwg
PSBuZXcgUnVuTWVzc2FnZVBhcmFtcygpOwotICAgIHZhciBudW1iZXJPZkJ5dGVzID0gZGVjb2Rl
ci5yZWFkVWludDMyKCk7Ci0gICAgdmFyIHZlcnNpb24gPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsK
LSAgICB2YWwuaW5wdXQgPSBkZWNvZGVyLmRlY29kZVN0cnVjdChSdW5JbnB1dCk7Ci0gICAgcmV0
dXJuIHZhbDsKLSAgfTsKLQotICBSdW5NZXNzYWdlUGFyYW1zLmVuY29kZSA9IGZ1bmN0aW9uKGVu
Y29kZXIsIHZhbCkgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMihS
dW5NZXNzYWdlUGFyYW1zLmVuY29kZWRTaXplKTsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKDAp
OwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KFJ1bklucHV0LCB2YWwuaW5wdXQpOwotICB9Owot
ICBmdW5jdGlvbiBSdW5SZXNwb25zZU1lc3NhZ2VQYXJhbXModmFsdWVzKSB7Ci0gICAgdGhpcy5p
bml0RGVmYXVsdHNfKCk7Ci0gICAgdGhpcy5pbml0RmllbGRzXyh2YWx1ZXMpOwotICB9Ci0KLQot
ICBSdW5SZXNwb25zZU1lc3NhZ2VQYXJhbXMucHJvdG90eXBlLmluaXREZWZhdWx0c18gPSBmdW5j
dGlvbigpIHsKLSAgICB0aGlzLm91dHB1dCA9IG51bGw7Ci0gIH07Ci0gIFJ1blJlc3BvbnNlTWVz
c2FnZVBhcmFtcy5wcm90b3R5cGUuaW5pdEZpZWxkc18gPSBmdW5jdGlvbihmaWVsZHMpIHsKLSAg
ICBmb3IodmFyIGZpZWxkIGluIGZpZWxkcykgewotICAgICAgICBpZiAodGhpcy5oYXNPd25Qcm9w
ZXJ0eShmaWVsZCkpCi0gICAgICAgICAgdGhpc1tmaWVsZF0gPSBmaWVsZHNbZmllbGRdOwotICAg
IH0KLSAgfTsKLQotICBSdW5SZXNwb25zZU1lc3NhZ2VQYXJhbXMudmFsaWRhdGUgPSBmdW5jdGlv
bihtZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsKLSAgICB2YXIgZXJyOwotICAgIGVyciA9IG1l
c3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RIZWFkZXIob2Zmc2V0LCBjb2RlYy5rU3RydWN0
SGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5O
T05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgdmFyIGtWZXJzaW9uU2l6ZXMgPSBbCi0g
ICAgICB7dmVyc2lvbjogMCwgbnVtQnl0ZXM6IDI0fQotICAgIF07Ci0gICAgZXJyID0gbWVzc2Fn
ZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFZlcnNpb24ob2Zmc2V0LCBrVmVyc2lvblNpemVzKTsK
LSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAg
IHJldHVybiBlcnI7Ci0KLQotICAgIC8vIHZhbGlkYXRlIFJ1blJlc3BvbnNlTWVzc2FnZVBhcmFt
cy5vdXRwdXQKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlVW5pb24ob2Zmc2V0
ICsgY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyAwLCBSdW5PdXRwdXQsIHRydWUpOwotICAgIGlm
IChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJu
IGVycjsKLQotICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gIH07
Ci0KLSAgUnVuUmVzcG9uc2VNZXNzYWdlUGFyYW1zLmVuY29kZWRTaXplID0gY29kZWMua1N0cnVj
dEhlYWRlclNpemUgKyAxNjsKLQotICBSdW5SZXNwb25zZU1lc3NhZ2VQYXJhbXMuZGVjb2RlID0g
ZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgdmFyIHZhbCA9IG5ldyBS
dW5SZXNwb25zZU1lc3NhZ2VQYXJhbXMoKTsKLSAgICB2YXIgbnVtYmVyT2ZCeXRlcyA9IGRlY29k
ZXIucmVhZFVpbnQzMigpOwotICAgIHZhciB2ZXJzaW9uID0gZGVjb2Rlci5yZWFkVWludDMyKCk7
Ci0gICAgdmFsLm91dHB1dCA9IGRlY29kZXIuZGVjb2RlU3RydWN0KFJ1bk91dHB1dCk7Ci0gICAg
cmV0dXJuIHZhbDsKLSAgfTsKLQotICBSdW5SZXNwb25zZU1lc3NhZ2VQYXJhbXMuZW5jb2RlID0g
ZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICBlbmNvZGVyLndy
aXRlVWludDMyKFJ1blJlc3BvbnNlTWVzc2FnZVBhcmFtcy5lbmNvZGVkU2l6ZSk7Ci0gICAgZW5j
b2Rlci53cml0ZVVpbnQzMigwKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdChSdW5PdXRwdXQs
IHZhbC5vdXRwdXQpOwotICB9OwotICBmdW5jdGlvbiBRdWVyeVZlcnNpb24odmFsdWVzKSB7Ci0g
ICAgdGhpcy5pbml0RGVmYXVsdHNfKCk7Ci0gICAgdGhpcy5pbml0RmllbGRzXyh2YWx1ZXMpOwot
ICB9Ci0KLQotICBRdWVyeVZlcnNpb24ucHJvdG90eXBlLmluaXREZWZhdWx0c18gPSBmdW5jdGlv
bigpIHsKLSAgfTsKLSAgUXVlcnlWZXJzaW9uLnByb3RvdHlwZS5pbml0RmllbGRzXyA9IGZ1bmN0
aW9uKGZpZWxkcykgewotICAgIGZvcih2YXIgZmllbGQgaW4gZmllbGRzKSB7Ci0gICAgICAgIGlm
ICh0aGlzLmhhc093blByb3BlcnR5KGZpZWxkKSkKLSAgICAgICAgICB0aGlzW2ZpZWxkXSA9IGZp
ZWxkc1tmaWVsZF07Ci0gICAgfQotICB9OwotCi0gIFF1ZXJ5VmVyc2lvbi52YWxpZGF0ZSA9IGZ1
bmN0aW9uKG1lc3NhZ2VWYWxpZGF0b3IsIG9mZnNldCkgewotICAgIHZhciBlcnI7Ci0gICAgZXJy
ID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdEhlYWRlcihvZmZzZXQsIGNvZGVjLmtT
dHJ1Y3RIZWFkZXJTaXplKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVy
cm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICB2YXIga1ZlcnNpb25TaXplcyA9
IFsKLSAgICAgIHt2ZXJzaW9uOiAwLCBudW1CeXRlczogOH0KLSAgICBdOwotICAgIGVyciA9IG1l
c3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RWZXJzaW9uKG9mZnNldCwga1ZlcnNpb25TaXpl
cyk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAg
ICAgICByZXR1cm4gZXJyOwotCi0gICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3Iu
Tk9ORTsKLSAgfTsKLQotICBRdWVyeVZlcnNpb24uZW5jb2RlZFNpemUgPSBjb2RlYy5rU3RydWN0
SGVhZGVyU2l6ZSArIDA7Ci0KLSAgUXVlcnlWZXJzaW9uLmRlY29kZSA9IGZ1bmN0aW9uKGRlY29k
ZXIpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIHZhciB2YWwgPSBuZXcgUXVlcnlWZXJzaW9uKCk7
Ci0gICAgdmFyIG51bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YXIg
dmVyc2lvbiA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHJldHVybiB2YWw7Ci0gIH07Ci0K
LSAgUXVlcnlWZXJzaW9uLmVuY29kZSA9IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgIHZh
ciBwYWNrZWQ7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMihRdWVyeVZlcnNpb24uZW5jb2RlZFNp
emUpOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoMCk7Ci0gIH07Ci0gIGZ1bmN0aW9uIFF1ZXJ5
VmVyc2lvblJlc3VsdCh2YWx1ZXMpIHsKLSAgICB0aGlzLmluaXREZWZhdWx0c18oKTsKLSAgICB0
aGlzLmluaXRGaWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0gIFF1ZXJ5VmVyc2lvblJlc3VsdC5w
cm90b3R5cGUuaW5pdERlZmF1bHRzXyA9IGZ1bmN0aW9uKCkgewotICAgIHRoaXMudmVyc2lvbiA9
IDA7Ci0gIH07Ci0gIFF1ZXJ5VmVyc2lvblJlc3VsdC5wcm90b3R5cGUuaW5pdEZpZWxkc18gPSBm
dW5jdGlvbihmaWVsZHMpIHsKLSAgICBmb3IodmFyIGZpZWxkIGluIGZpZWxkcykgewotICAgICAg
ICBpZiAodGhpcy5oYXNPd25Qcm9wZXJ0eShmaWVsZCkpCi0gICAgICAgICAgdGhpc1tmaWVsZF0g
PSBmaWVsZHNbZmllbGRdOwotICAgIH0KLSAgfTsKLQotICBRdWVyeVZlcnNpb25SZXN1bHQudmFs
aWRhdGUgPSBmdW5jdGlvbihtZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsKLSAgICB2YXIgZXJy
OwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RIZWFkZXIob2Zmc2V0
LCBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZh
bGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgdmFyIGtWZXJz
aW9uU2l6ZXMgPSBbCi0gICAgICB7dmVyc2lvbjogMCwgbnVtQnl0ZXM6IDE2fQotICAgIF07Ci0g
ICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFZlcnNpb24ob2Zmc2V0LCBr
VmVyc2lvblNpemVzKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9y
Lk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotICAgIHJldHVybiB2YWxpZGF0b3IudmFs
aWRhdGlvbkVycm9yLk5PTkU7Ci0gIH07Ci0KLSAgUXVlcnlWZXJzaW9uUmVzdWx0LmVuY29kZWRT
aXplID0gY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyA4OwotCi0gIFF1ZXJ5VmVyc2lvblJlc3Vs
dC5kZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICB2YXIg
dmFsID0gbmV3IFF1ZXJ5VmVyc2lvblJlc3VsdCgpOwotICAgIHZhciBudW1iZXJPZkJ5dGVzID0g
ZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFyIHZlcnNpb24gPSBkZWNvZGVyLnJlYWRVaW50
MzIoKTsKLSAgICB2YWwudmVyc2lvbiA9IGRlY29kZXIuZGVjb2RlU3RydWN0KGNvZGVjLlVpbnQz
Mik7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNv
ZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIHJldHVybiB2YWw7Ci0gIH07
Ci0KLSAgUXVlcnlWZXJzaW9uUmVzdWx0LmVuY29kZSA9IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkg
ewotICAgIHZhciBwYWNrZWQ7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMihRdWVyeVZlcnNpb25S
ZXN1bHQuZW5jb2RlZFNpemUpOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoMCk7Ci0gICAgZW5j
b2Rlci5lbmNvZGVTdHJ1Y3QoY29kZWMuVWludDMyLCB2YWwudmVyc2lvbik7Ci0gICAgZW5jb2Rl
ci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0g
ICAgZW5jb2Rlci5za2lwKDEpOwotICB9OwotICBmdW5jdGlvbiBGbHVzaEZvclRlc3RpbmcodmFs
dWVzKSB7Ci0gICAgdGhpcy5pbml0RGVmYXVsdHNfKCk7Ci0gICAgdGhpcy5pbml0RmllbGRzXyh2
YWx1ZXMpOwotICB9Ci0KLQotICBGbHVzaEZvclRlc3RpbmcucHJvdG90eXBlLmluaXREZWZhdWx0
c18gPSBmdW5jdGlvbigpIHsKLSAgfTsKLSAgRmx1c2hGb3JUZXN0aW5nLnByb3RvdHlwZS5pbml0
RmllbGRzXyA9IGZ1bmN0aW9uKGZpZWxkcykgewotICAgIGZvcih2YXIgZmllbGQgaW4gZmllbGRz
KSB7Ci0gICAgICAgIGlmICh0aGlzLmhhc093blByb3BlcnR5KGZpZWxkKSkKLSAgICAgICAgICB0
aGlzW2ZpZWxkXSA9IGZpZWxkc1tmaWVsZF07Ci0gICAgfQotICB9OwotCi0gIEZsdXNoRm9yVGVz
dGluZy52YWxpZGF0ZSA9IGZ1bmN0aW9uKG1lc3NhZ2VWYWxpZGF0b3IsIG9mZnNldCkgewotICAg
IHZhciBlcnI7Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdEhlYWRl
cihvZmZzZXQsIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplKTsKLSAgICBpZiAoZXJyICE9PSB2YWxp
ZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICB2
YXIga1ZlcnNpb25TaXplcyA9IFsKLSAgICAgIHt2ZXJzaW9uOiAwLCBudW1CeXRlczogOH0KLSAg
ICBdOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RWZXJzaW9uKG9m
ZnNldCwga1ZlcnNpb25TaXplcyk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRp
b25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgcmV0dXJuIHZhbGlkYXRv
ci52YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQotICBGbHVzaEZvclRlc3RpbmcuZW5jb2Rl
ZFNpemUgPSBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDA7Ci0KLSAgRmx1c2hGb3JUZXN0aW5n
LmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIHZhciB2
YWwgPSBuZXcgRmx1c2hGb3JUZXN0aW5nKCk7Ci0gICAgdmFyIG51bWJlck9mQnl0ZXMgPSBkZWNv
ZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YXIgdmVyc2lvbiA9IGRlY29kZXIucmVhZFVpbnQzMigp
OwotICAgIHJldHVybiB2YWw7Ci0gIH07Ci0KLSAgRmx1c2hGb3JUZXN0aW5nLmVuY29kZSA9IGZ1
bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgZW5jb2Rlci53cml0
ZVVpbnQzMihGbHVzaEZvclRlc3RpbmcuZW5jb2RlZFNpemUpOwotICAgIGVuY29kZXIud3JpdGVV
aW50MzIoMCk7Ci0gIH07Ci0gIGZ1bmN0aW9uIFJ1bk9yQ2xvc2VQaXBlTWVzc2FnZVBhcmFtcyh2
YWx1ZXMpIHsKLSAgICB0aGlzLmluaXREZWZhdWx0c18oKTsKLSAgICB0aGlzLmluaXRGaWVsZHNf
KHZhbHVlcyk7Ci0gIH0KLQotCi0gIFJ1bk9yQ2xvc2VQaXBlTWVzc2FnZVBhcmFtcy5wcm90b3R5
cGUuaW5pdERlZmF1bHRzXyA9IGZ1bmN0aW9uKCkgewotICAgIHRoaXMuaW5wdXQgPSBudWxsOwot
ICB9OwotICBSdW5PckNsb3NlUGlwZU1lc3NhZ2VQYXJhbXMucHJvdG90eXBlLmluaXRGaWVsZHNf
ID0gZnVuY3Rpb24oZmllbGRzKSB7Ci0gICAgZm9yKHZhciBmaWVsZCBpbiBmaWVsZHMpIHsKLSAg
ICAgICAgaWYgKHRoaXMuaGFzT3duUHJvcGVydHkoZmllbGQpKQotICAgICAgICAgIHRoaXNbZmll
bGRdID0gZmllbGRzW2ZpZWxkXTsKLSAgICB9Ci0gIH07Ci0KLSAgUnVuT3JDbG9zZVBpcGVNZXNz
YWdlUGFyYW1zLnZhbGlkYXRlID0gZnVuY3Rpb24obWVzc2FnZVZhbGlkYXRvciwgb2Zmc2V0KSB7
Ci0gICAgdmFyIGVycjsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0
SGVhZGVyKG9mZnNldCwgY29kZWMua1N0cnVjdEhlYWRlclNpemUpOwotICAgIGlmIChlcnIgIT09
IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQot
ICAgIHZhciBrVmVyc2lvblNpemVzID0gWwotICAgICAge3ZlcnNpb246IDAsIG51bUJ5dGVzOiAy
NH0KLSAgICBdOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RWZXJz
aW9uKG9mZnNldCwga1ZlcnNpb25TaXplcyk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZh
bGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0KLSAgICAvLyB2YWxp
ZGF0ZSBSdW5PckNsb3NlUGlwZU1lc3NhZ2VQYXJhbXMuaW5wdXQKLSAgICBlcnIgPSBtZXNzYWdl
VmFsaWRhdG9yLnZhbGlkYXRlVW5pb24ob2Zmc2V0ICsgY29kZWMua1N0cnVjdEhlYWRlclNpemUg
KyAwLCBSdW5PckNsb3NlUGlwZUlucHV0LCBmYWxzZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRh
dG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgcmV0
dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQotICBSdW5PckNsb3Nl
UGlwZU1lc3NhZ2VQYXJhbXMuZW5jb2RlZFNpemUgPSBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSAr
IDE2OwotCi0gIFJ1bk9yQ2xvc2VQaXBlTWVzc2FnZVBhcmFtcy5kZWNvZGUgPSBmdW5jdGlvbihk
ZWNvZGVyKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICB2YXIgdmFsID0gbmV3IFJ1bk9yQ2xvc2VQ
aXBlTWVzc2FnZVBhcmFtcygpOwotICAgIHZhciBudW1iZXJPZkJ5dGVzID0gZGVjb2Rlci5yZWFk
VWludDMyKCk7Ci0gICAgdmFyIHZlcnNpb24gPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2
YWwuaW5wdXQgPSBkZWNvZGVyLmRlY29kZVN0cnVjdChSdW5PckNsb3NlUGlwZUlucHV0KTsKLSAg
ICByZXR1cm4gdmFsOwotICB9OwotCi0gIFJ1bk9yQ2xvc2VQaXBlTWVzc2FnZVBhcmFtcy5lbmNv
ZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2YWwpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIGVuY29k
ZXIud3JpdGVVaW50MzIoUnVuT3JDbG9zZVBpcGVNZXNzYWdlUGFyYW1zLmVuY29kZWRTaXplKTsK
LSAgICBlbmNvZGVyLndyaXRlVWludDMyKDApOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KFJ1
bk9yQ2xvc2VQaXBlSW5wdXQsIHZhbC5pbnB1dCk7Ci0gIH07Ci0gIGZ1bmN0aW9uIFJlcXVpcmVW
ZXJzaW9uKHZhbHVlcykgewotICAgIHRoaXMuaW5pdERlZmF1bHRzXygpOwotICAgIHRoaXMuaW5p
dEZpZWxkc18odmFsdWVzKTsKLSAgfQotCi0KLSAgUmVxdWlyZVZlcnNpb24ucHJvdG90eXBlLmlu
aXREZWZhdWx0c18gPSBmdW5jdGlvbigpIHsKLSAgICB0aGlzLnZlcnNpb24gPSAwOwotICB9Owot
ICBSZXF1aXJlVmVyc2lvbi5wcm90b3R5cGUuaW5pdEZpZWxkc18gPSBmdW5jdGlvbihmaWVsZHMp
IHsKLSAgICBmb3IodmFyIGZpZWxkIGluIGZpZWxkcykgewotICAgICAgICBpZiAodGhpcy5oYXNP
d25Qcm9wZXJ0eShmaWVsZCkpCi0gICAgICAgICAgdGhpc1tmaWVsZF0gPSBmaWVsZHNbZmllbGRd
OwotICAgIH0KLSAgfTsKLQotICBSZXF1aXJlVmVyc2lvbi52YWxpZGF0ZSA9IGZ1bmN0aW9uKG1l
c3NhZ2VWYWxpZGF0b3IsIG9mZnNldCkgewotICAgIHZhciBlcnI7Ci0gICAgZXJyID0gbWVzc2Fn
ZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdEhlYWRlcihvZmZzZXQsIGNvZGVjLmtTdHJ1Y3RIZWFk
ZXJTaXplKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUp
Ci0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICB2YXIga1ZlcnNpb25TaXplcyA9IFsKLSAgICAg
IHt2ZXJzaW9uOiAwLCBudW1CeXRlczogMTZ9Ci0gICAgXTsKLSAgICBlcnIgPSBtZXNzYWdlVmFs
aWRhdG9yLnZhbGlkYXRlU3RydWN0VmVyc2lvbihvZmZzZXQsIGtWZXJzaW9uU2l6ZXMpOwotICAg
IGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0
dXJuIGVycjsKLQotCi0gICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORTsK
LSAgfTsKLQotICBSZXF1aXJlVmVyc2lvbi5lbmNvZGVkU2l6ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFk
ZXJTaXplICsgODsKLQotICBSZXF1aXJlVmVyc2lvbi5kZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVy
KSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICB2YXIgdmFsID0gbmV3IFJlcXVpcmVWZXJzaW9uKCk7
Ci0gICAgdmFyIG51bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YXIg
dmVyc2lvbiA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhbC52ZXJzaW9uID0gZGVjb2Rl
ci5kZWNvZGVTdHJ1Y3QoY29kZWMuVWludDMyKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAg
ZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAo
MSk7Ci0gICAgcmV0dXJuIHZhbDsKLSAgfTsKLQotICBSZXF1aXJlVmVyc2lvbi5lbmNvZGUgPSBm
dW5jdGlvbihlbmNvZGVyLCB2YWwpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIGVuY29kZXIud3Jp
dGVVaW50MzIoUmVxdWlyZVZlcnNpb24uZW5jb2RlZFNpemUpOwotICAgIGVuY29kZXIud3JpdGVV
aW50MzIoMCk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3QoY29kZWMuVWludDMyLCB2YWwudmVy
c2lvbik7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBl
bmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICB9OwotCi0gIGZ1bmN0aW9u
IFJ1bklucHV0KHZhbHVlKSB7Ci0gICAgdGhpcy5pbml0RGVmYXVsdF8oKTsKLSAgICB0aGlzLmlu
aXRWYWx1ZV8odmFsdWUpOwotICB9Ci0gIAotICAKLSAgUnVuSW5wdXQuVGFncyA9IHsKLSAgICBx
dWVyeVZlcnNpb246IDAsCi0gICAgZmx1c2hGb3JUZXN0aW5nOiAxLAotICB9OwotICAKLSAgUnVu
SW5wdXQucHJvdG90eXBlLmluaXREZWZhdWx0XyA9IGZ1bmN0aW9uKCkgewotICAgIHRoaXMuJGRh
dGEgPSBudWxsOwotICAgIHRoaXMuJHRhZyA9IHVuZGVmaW5lZDsKLSAgfQotICAKLSAgUnVuSW5w
dXQucHJvdG90eXBlLmluaXRWYWx1ZV8gPSBmdW5jdGlvbih2YWx1ZSkgewotICAgIGlmICh2YWx1
ZSA9PSB1bmRlZmluZWQpIHsKLSAgICAgIHJldHVybjsKLSAgICB9Ci0gIAotICAgIHZhciBrZXlz
ID0gT2JqZWN0LmtleXModmFsdWUpOwotICAgIGlmIChrZXlzLmxlbmd0aCA9PSAwKSB7Ci0gICAg
ICByZXR1cm47Ci0gICAgfQotICAKLSAgICBpZiAoa2V5cy5sZW5ndGggPiAxKSB7Ci0gICAgICB0
aHJvdyBuZXcgVHlwZUVycm9yKCJZb3UgbWF5IHNldCBvbmx5IG9uZSBtZW1iZXIgb24gYSB1bmlv
bi4iKTsKLSAgICB9Ci0gIAotICAgIHZhciBmaWVsZHMgPSBbCi0gICAgICAgICJxdWVyeVZlcnNp
b24iLAotICAgICAgICAiZmx1c2hGb3JUZXN0aW5nIiwKLSAgICBdOwotICAKLSAgICBpZiAoZmll
bGRzLmluZGV4T2Yoa2V5c1swXSkgPCAwKSB7Ci0gICAgICB0aHJvdyBuZXcgUmVmZXJlbmNlRXJy
b3Ioa2V5c1swXSArICIgaXMgbm90IGEgUnVuSW5wdXQgbWVtYmVyLiIpOwotICAKLSAgICB9Ci0g
IAotICAgIHRoaXNba2V5c1swXV0gPSB2YWx1ZVtrZXlzWzBdXTsKLSAgfQotICBPYmplY3QuZGVm
aW5lUHJvcGVydHkoUnVuSW5wdXQucHJvdG90eXBlLCAicXVlcnlWZXJzaW9uIiwgewotICAgIGdl
dDogZnVuY3Rpb24oKSB7Ci0gICAgICBpZiAodGhpcy4kdGFnICE9IFJ1bklucHV0LlRhZ3MucXVl
cnlWZXJzaW9uKSB7Ci0gICAgICAgIHRocm93IG5ldyBSZWZlcmVuY2VFcnJvcigKLSAgICAgICAg
ICAgICJSdW5JbnB1dC5xdWVyeVZlcnNpb24gaXMgbm90IGN1cnJlbnRseSBzZXQuIik7Ci0gICAg
ICB9Ci0gICAgICByZXR1cm4gdGhpcy4kZGF0YTsKLSAgICB9LAotICAKLSAgICBzZXQ6IGZ1bmN0
aW9uKHZhbHVlKSB7Ci0gICAgICB0aGlzLiR0YWcgPSBSdW5JbnB1dC5UYWdzLnF1ZXJ5VmVyc2lv
bjsKLSAgICAgIHRoaXMuJGRhdGEgPSB2YWx1ZTsKLSAgICB9Ci0gIH0pOwotICBPYmplY3QuZGVm
aW5lUHJvcGVydHkoUnVuSW5wdXQucHJvdG90eXBlLCAiZmx1c2hGb3JUZXN0aW5nIiwgewotICAg
IGdldDogZnVuY3Rpb24oKSB7Ci0gICAgICBpZiAodGhpcy4kdGFnICE9IFJ1bklucHV0LlRhZ3Mu
Zmx1c2hGb3JUZXN0aW5nKSB7Ci0gICAgICAgIHRocm93IG5ldyBSZWZlcmVuY2VFcnJvcigKLSAg
ICAgICAgICAgICJSdW5JbnB1dC5mbHVzaEZvclRlc3RpbmcgaXMgbm90IGN1cnJlbnRseSBzZXQu
Iik7Ci0gICAgICB9Ci0gICAgICByZXR1cm4gdGhpcy4kZGF0YTsKLSAgICB9LAotICAKLSAgICBz
ZXQ6IGZ1bmN0aW9uKHZhbHVlKSB7Ci0gICAgICB0aGlzLiR0YWcgPSBSdW5JbnB1dC5UYWdzLmZs
dXNoRm9yVGVzdGluZzsKLSAgICAgIHRoaXMuJGRhdGEgPSB2YWx1ZTsKLSAgICB9Ci0gIH0pOwot
ICAKLSAgCi0gICAgUnVuSW5wdXQuZW5jb2RlID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0g
ICAgICBpZiAodmFsID09IG51bGwpIHsKLSAgICAgICAgZW5jb2Rlci53cml0ZVVpbnQ2NCgwKTsK
LSAgICAgICAgZW5jb2Rlci53cml0ZVVpbnQ2NCgwKTsKLSAgICAgICAgcmV0dXJuOwotICAgICAg
fQotICAgICAgaWYgKHZhbC4kdGFnID09IHVuZGVmaW5lZCkgewotICAgICAgICB0aHJvdyBuZXcg
VHlwZUVycm9yKCJDYW5ub3QgZW5jb2RlIHVuaW9ucyB3aXRoIGFuIHVua25vd24gbWVtYmVyIHNl
dC4iKTsKLSAgICAgIH0KLSAgICAKLSAgICAgIGVuY29kZXIud3JpdGVVaW50MzIoMTYpOwotICAg
ICAgZW5jb2Rlci53cml0ZVVpbnQzMih2YWwuJHRhZyk7Ci0gICAgICBzd2l0Y2ggKHZhbC4kdGFn
KSB7Ci0gICAgICAgIGNhc2UgUnVuSW5wdXQuVGFncy5xdWVyeVZlcnNpb246Ci0gICAgICAgICAg
ZW5jb2Rlci5lbmNvZGVTdHJ1Y3RQb2ludGVyKFF1ZXJ5VmVyc2lvbiwgdmFsLnF1ZXJ5VmVyc2lv
bik7Ci0gICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgUnVuSW5wdXQuVGFncy5mbHVzaEZv
clRlc3Rpbmc6Ci0gICAgICAgICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3RQb2ludGVyKEZsdXNoRm9y
VGVzdGluZywgdmFsLmZsdXNoRm9yVGVzdGluZyk7Ci0gICAgICAgICAgYnJlYWs7Ci0gICAgICB9
Ci0gICAgICBlbmNvZGVyLmFsaWduKCk7Ci0gICAgfTsKLSAgCi0gIAotICAgIFJ1bklucHV0LmRl
Y29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICAgIHZhciBzaXplID0gZGVjb2Rlci5yZWFk
VWludDMyKCk7Ci0gICAgICBpZiAoc2l6ZSA9PSAwKSB7Ci0gICAgICAgIGRlY29kZXIucmVhZFVp
bnQzMigpOwotICAgICAgICBkZWNvZGVyLnJlYWRVaW50NjQoKTsKLSAgICAgICAgcmV0dXJuIG51
bGw7Ci0gICAgICB9Ci0gICAgCi0gICAgICB2YXIgcmVzdWx0ID0gbmV3IFJ1bklucHV0KCk7Ci0g
ICAgICB2YXIgdGFnID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgICBzd2l0Y2ggKHRhZykg
ewotICAgICAgICBjYXNlIFJ1bklucHV0LlRhZ3MucXVlcnlWZXJzaW9uOgotICAgICAgICAgIHJl
c3VsdC5xdWVyeVZlcnNpb24gPSBkZWNvZGVyLmRlY29kZVN0cnVjdFBvaW50ZXIoUXVlcnlWZXJz
aW9uKTsKLSAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSBSdW5JbnB1dC5UYWdzLmZsdXNo
Rm9yVGVzdGluZzoKLSAgICAgICAgICByZXN1bHQuZmx1c2hGb3JUZXN0aW5nID0gZGVjb2Rlci5k
ZWNvZGVTdHJ1Y3RQb2ludGVyKEZsdXNoRm9yVGVzdGluZyk7Ci0gICAgICAgICAgYnJlYWs7Ci0g
ICAgICB9Ci0gICAgICBkZWNvZGVyLmFsaWduKCk7Ci0gICAgCi0gICAgICByZXR1cm4gcmVzdWx0
OwotICAgIH07Ci0gIAotICAKLSAgICBSdW5JbnB1dC52YWxpZGF0ZSA9IGZ1bmN0aW9uKG1lc3Nh
Z2VWYWxpZGF0b3IsIG9mZnNldCkgewotICAgICAgdmFyIHNpemUgPSBtZXNzYWdlVmFsaWRhdG9y
LmRlY29kZVVuaW9uU2l6ZShvZmZzZXQpOwotICAgICAgaWYgKHNpemUgIT0gMTYpIHsKLSAgICAg
ICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuSU5WQUxJRF9VTklPTl9TSVpFOwot
ICAgICAgfQotICAgIAotICAgICAgdmFyIHRhZyA9IG1lc3NhZ2VWYWxpZGF0b3IuZGVjb2RlVW5p
b25UYWcob2Zmc2V0KTsKLSAgICAgIHZhciBkYXRhX29mZnNldCA9IG9mZnNldCArIDg7Ci0gICAg
ICB2YXIgZXJyOwotICAgICAgc3dpdGNoICh0YWcpIHsKLSAgICAgICAgY2FzZSBSdW5JbnB1dC5U
YWdzLnF1ZXJ5VmVyc2lvbjoKLSAgICAgICAgICAKLSAgICAKLSAgICAvLyB2YWxpZGF0ZSBSdW5J
bnB1dC5xdWVyeVZlcnNpb24KLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3Ry
dWN0UG9pbnRlcihkYXRhX29mZnNldCwgUXVlcnlWZXJzaW9uLCBmYWxzZSk7Ci0gICAgaWYgKGVy
ciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJy
OwotICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlIFJ1bklucHV0LlRhZ3MuZmx1c2hGb3JU
ZXN0aW5nOgotICAgICAgICAgIAotICAgIAotICAgIC8vIHZhbGlkYXRlIFJ1bklucHV0LmZsdXNo
Rm9yVGVzdGluZwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RQb2lu
dGVyKGRhdGFfb2Zmc2V0LCBGbHVzaEZvclRlc3RpbmcsIGZhbHNlKTsKLSAgICBpZiAoZXJyICE9
PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0g
ICAgICAgICAgYnJlYWs7Ci0gICAgICB9Ci0gICAgCi0gICAgICByZXR1cm4gdmFsaWRhdG9yLnZh
bGlkYXRpb25FcnJvci5OT05FOwotICAgIH07Ci0gIAotICBSdW5JbnB1dC5lbmNvZGVkU2l6ZSA9
IDE2OwotCi0gIGZ1bmN0aW9uIFJ1bk91dHB1dCh2YWx1ZSkgewotICAgIHRoaXMuaW5pdERlZmF1
bHRfKCk7Ci0gICAgdGhpcy5pbml0VmFsdWVfKHZhbHVlKTsKLSAgfQotICAKLSAgCi0gIFJ1bk91
dHB1dC5UYWdzID0gewotICAgIHF1ZXJ5VmVyc2lvblJlc3VsdDogMCwKLSAgfTsKLSAgCi0gIFJ1
bk91dHB1dC5wcm90b3R5cGUuaW5pdERlZmF1bHRfID0gZnVuY3Rpb24oKSB7Ci0gICAgdGhpcy4k
ZGF0YSA9IG51bGw7Ci0gICAgdGhpcy4kdGFnID0gdW5kZWZpbmVkOwotICB9Ci0gIAotICBSdW5P
dXRwdXQucHJvdG90eXBlLmluaXRWYWx1ZV8gPSBmdW5jdGlvbih2YWx1ZSkgewotICAgIGlmICh2
YWx1ZSA9PSB1bmRlZmluZWQpIHsKLSAgICAgIHJldHVybjsKLSAgICB9Ci0gIAotICAgIHZhciBr
ZXlzID0gT2JqZWN0LmtleXModmFsdWUpOwotICAgIGlmIChrZXlzLmxlbmd0aCA9PSAwKSB7Ci0g
ICAgICByZXR1cm47Ci0gICAgfQotICAKLSAgICBpZiAoa2V5cy5sZW5ndGggPiAxKSB7Ci0gICAg
ICB0aHJvdyBuZXcgVHlwZUVycm9yKCJZb3UgbWF5IHNldCBvbmx5IG9uZSBtZW1iZXIgb24gYSB1
bmlvbi4iKTsKLSAgICB9Ci0gIAotICAgIHZhciBmaWVsZHMgPSBbCi0gICAgICAgICJxdWVyeVZl
cnNpb25SZXN1bHQiLAotICAgIF07Ci0gIAotICAgIGlmIChmaWVsZHMuaW5kZXhPZihrZXlzWzBd
KSA8IDApIHsKLSAgICAgIHRocm93IG5ldyBSZWZlcmVuY2VFcnJvcihrZXlzWzBdICsgIiBpcyBu
b3QgYSBSdW5PdXRwdXQgbWVtYmVyLiIpOwotICAKLSAgICB9Ci0gIAotICAgIHRoaXNba2V5c1sw
XV0gPSB2YWx1ZVtrZXlzWzBdXTsKLSAgfQotICBPYmplY3QuZGVmaW5lUHJvcGVydHkoUnVuT3V0
cHV0LnByb3RvdHlwZSwgInF1ZXJ5VmVyc2lvblJlc3VsdCIsIHsKLSAgICBnZXQ6IGZ1bmN0aW9u
KCkgewotICAgICAgaWYgKHRoaXMuJHRhZyAhPSBSdW5PdXRwdXQuVGFncy5xdWVyeVZlcnNpb25S
ZXN1bHQpIHsKLSAgICAgICAgdGhyb3cgbmV3IFJlZmVyZW5jZUVycm9yKAotICAgICAgICAgICAg
IlJ1bk91dHB1dC5xdWVyeVZlcnNpb25SZXN1bHQgaXMgbm90IGN1cnJlbnRseSBzZXQuIik7Ci0g
ICAgICB9Ci0gICAgICByZXR1cm4gdGhpcy4kZGF0YTsKLSAgICB9LAotICAKLSAgICBzZXQ6IGZ1
bmN0aW9uKHZhbHVlKSB7Ci0gICAgICB0aGlzLiR0YWcgPSBSdW5PdXRwdXQuVGFncy5xdWVyeVZl
cnNpb25SZXN1bHQ7Ci0gICAgICB0aGlzLiRkYXRhID0gdmFsdWU7Ci0gICAgfQotICB9KTsKLSAg
Ci0gIAotICAgIFJ1bk91dHB1dC5lbmNvZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2YWwpIHsKLSAg
ICAgIGlmICh2YWwgPT0gbnVsbCkgewotICAgICAgICBlbmNvZGVyLndyaXRlVWludDY0KDApOwot
ICAgICAgICBlbmNvZGVyLndyaXRlVWludDY0KDApOwotICAgICAgICByZXR1cm47Ci0gICAgICB9
Ci0gICAgICBpZiAodmFsLiR0YWcgPT0gdW5kZWZpbmVkKSB7Ci0gICAgICAgIHRocm93IG5ldyBU
eXBlRXJyb3IoIkNhbm5vdCBlbmNvZGUgdW5pb25zIHdpdGggYW4gdW5rbm93biBtZW1iZXIgc2V0
LiIpOwotICAgICAgfQotICAgIAotICAgICAgZW5jb2Rlci53cml0ZVVpbnQzMigxNik7Ci0gICAg
ICBlbmNvZGVyLndyaXRlVWludDMyKHZhbC4kdGFnKTsKLSAgICAgIHN3aXRjaCAodmFsLiR0YWcp
IHsKLSAgICAgICAgY2FzZSBSdW5PdXRwdXQuVGFncy5xdWVyeVZlcnNpb25SZXN1bHQ6Ci0gICAg
ICAgICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3RQb2ludGVyKFF1ZXJ5VmVyc2lvblJlc3VsdCwgdmFs
LnF1ZXJ5VmVyc2lvblJlc3VsdCk7Ci0gICAgICAgICAgYnJlYWs7Ci0gICAgICB9Ci0gICAgICBl
bmNvZGVyLmFsaWduKCk7Ci0gICAgfTsKLSAgCi0gIAotICAgIFJ1bk91dHB1dC5kZWNvZGUgPSBm
dW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgICB2YXIgc2l6ZSA9IGRlY29kZXIucmVhZFVpbnQzMigp
OwotICAgICAgaWYgKHNpemUgPT0gMCkgewotICAgICAgICBkZWNvZGVyLnJlYWRVaW50MzIoKTsK
LSAgICAgICAgZGVjb2Rlci5yZWFkVWludDY0KCk7Ci0gICAgICAgIHJldHVybiBudWxsOwotICAg
ICAgfQotICAgIAotICAgICAgdmFyIHJlc3VsdCA9IG5ldyBSdW5PdXRwdXQoKTsKLSAgICAgIHZh
ciB0YWcgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICAgIHN3aXRjaCAodGFnKSB7Ci0gICAg
ICAgIGNhc2UgUnVuT3V0cHV0LlRhZ3MucXVlcnlWZXJzaW9uUmVzdWx0OgotICAgICAgICAgIHJl
c3VsdC5xdWVyeVZlcnNpb25SZXN1bHQgPSBkZWNvZGVyLmRlY29kZVN0cnVjdFBvaW50ZXIoUXVl
cnlWZXJzaW9uUmVzdWx0KTsKLSAgICAgICAgICBicmVhazsKLSAgICAgIH0KLSAgICAgIGRlY29k
ZXIuYWxpZ24oKTsKLSAgICAKLSAgICAgIHJldHVybiByZXN1bHQ7Ci0gICAgfTsKLSAgCi0gIAot
ICAgIFJ1bk91dHB1dC52YWxpZGF0ZSA9IGZ1bmN0aW9uKG1lc3NhZ2VWYWxpZGF0b3IsIG9mZnNl
dCkgewotICAgICAgdmFyIHNpemUgPSBtZXNzYWdlVmFsaWRhdG9yLmRlY29kZVVuaW9uU2l6ZShv
ZmZzZXQpOwotICAgICAgaWYgKHNpemUgIT0gMTYpIHsKLSAgICAgICAgcmV0dXJuIHZhbGlkYXRv
ci52YWxpZGF0aW9uRXJyb3IuSU5WQUxJRF9VTklPTl9TSVpFOwotICAgICAgfQotICAgIAotICAg
ICAgdmFyIHRhZyA9IG1lc3NhZ2VWYWxpZGF0b3IuZGVjb2RlVW5pb25UYWcob2Zmc2V0KTsKLSAg
ICAgIHZhciBkYXRhX29mZnNldCA9IG9mZnNldCArIDg7Ci0gICAgICB2YXIgZXJyOwotICAgICAg
c3dpdGNoICh0YWcpIHsKLSAgICAgICAgY2FzZSBSdW5PdXRwdXQuVGFncy5xdWVyeVZlcnNpb25S
ZXN1bHQ6Ci0gICAgICAgICAgCi0gICAgCi0gICAgLy8gdmFsaWRhdGUgUnVuT3V0cHV0LnF1ZXJ5
VmVyc2lvblJlc3VsdAotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RQ
b2ludGVyKGRhdGFfb2Zmc2V0LCBRdWVyeVZlcnNpb25SZXN1bHQsIGZhbHNlKTsKLSAgICBpZiAo
ZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBl
cnI7Ci0gICAgICAgICAgYnJlYWs7Ci0gICAgICB9Ci0gICAgCi0gICAgICByZXR1cm4gdmFsaWRh
dG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwotICAgIH07Ci0gIAotICBSdW5PdXRwdXQuZW5jb2Rl
ZFNpemUgPSAxNjsKLQotICBmdW5jdGlvbiBSdW5PckNsb3NlUGlwZUlucHV0KHZhbHVlKSB7Ci0g
ICAgdGhpcy5pbml0RGVmYXVsdF8oKTsKLSAgICB0aGlzLmluaXRWYWx1ZV8odmFsdWUpOwotICB9
Ci0gIAotICAKLSAgUnVuT3JDbG9zZVBpcGVJbnB1dC5UYWdzID0gewotICAgIHJlcXVpcmVWZXJz
aW9uOiAwLAotICB9OwotICAKLSAgUnVuT3JDbG9zZVBpcGVJbnB1dC5wcm90b3R5cGUuaW5pdERl
ZmF1bHRfID0gZnVuY3Rpb24oKSB7Ci0gICAgdGhpcy4kZGF0YSA9IG51bGw7Ci0gICAgdGhpcy4k
dGFnID0gdW5kZWZpbmVkOwotICB9Ci0gIAotICBSdW5PckNsb3NlUGlwZUlucHV0LnByb3RvdHlw
ZS5pbml0VmFsdWVfID0gZnVuY3Rpb24odmFsdWUpIHsKLSAgICBpZiAodmFsdWUgPT0gdW5kZWZp
bmVkKSB7Ci0gICAgICByZXR1cm47Ci0gICAgfQotICAKLSAgICB2YXIga2V5cyA9IE9iamVjdC5r
ZXlzKHZhbHVlKTsKLSAgICBpZiAoa2V5cy5sZW5ndGggPT0gMCkgewotICAgICAgcmV0dXJuOwot
ICAgIH0KLSAgCi0gICAgaWYgKGtleXMubGVuZ3RoID4gMSkgewotICAgICAgdGhyb3cgbmV3IFR5
cGVFcnJvcigiWW91IG1heSBzZXQgb25seSBvbmUgbWVtYmVyIG9uIGEgdW5pb24uIik7Ci0gICAg
fQotICAKLSAgICB2YXIgZmllbGRzID0gWwotICAgICAgICAicmVxdWlyZVZlcnNpb24iLAotICAg
IF07Ci0gIAotICAgIGlmIChmaWVsZHMuaW5kZXhPZihrZXlzWzBdKSA8IDApIHsKLSAgICAgIHRo
cm93IG5ldyBSZWZlcmVuY2VFcnJvcihrZXlzWzBdICsgIiBpcyBub3QgYSBSdW5PckNsb3NlUGlw
ZUlucHV0IG1lbWJlci4iKTsKLSAgCi0gICAgfQotICAKLSAgICB0aGlzW2tleXNbMF1dID0gdmFs
dWVba2V5c1swXV07Ci0gIH0KLSAgT2JqZWN0LmRlZmluZVByb3BlcnR5KFJ1bk9yQ2xvc2VQaXBl
SW5wdXQucHJvdG90eXBlLCAicmVxdWlyZVZlcnNpb24iLCB7Ci0gICAgZ2V0OiBmdW5jdGlvbigp
IHsKLSAgICAgIGlmICh0aGlzLiR0YWcgIT0gUnVuT3JDbG9zZVBpcGVJbnB1dC5UYWdzLnJlcXVp
cmVWZXJzaW9uKSB7Ci0gICAgICAgIHRocm93IG5ldyBSZWZlcmVuY2VFcnJvcigKLSAgICAgICAg
ICAgICJSdW5PckNsb3NlUGlwZUlucHV0LnJlcXVpcmVWZXJzaW9uIGlzIG5vdCBjdXJyZW50bHkg
c2V0LiIpOwotICAgICAgfQotICAgICAgcmV0dXJuIHRoaXMuJGRhdGE7Ci0gICAgfSwKLSAgCi0g
ICAgc2V0OiBmdW5jdGlvbih2YWx1ZSkgewotICAgICAgdGhpcy4kdGFnID0gUnVuT3JDbG9zZVBp
cGVJbnB1dC5UYWdzLnJlcXVpcmVWZXJzaW9uOwotICAgICAgdGhpcy4kZGF0YSA9IHZhbHVlOwot
ICAgIH0KLSAgfSk7Ci0gIAotICAKLSAgICBSdW5PckNsb3NlUGlwZUlucHV0LmVuY29kZSA9IGZ1
bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgICAgaWYgKHZhbCA9PSBudWxsKSB7Ci0gICAgICAg
IGVuY29kZXIud3JpdGVVaW50NjQoMCk7Ci0gICAgICAgIGVuY29kZXIud3JpdGVVaW50NjQoMCk7
Ci0gICAgICAgIHJldHVybjsKLSAgICAgIH0KLSAgICAgIGlmICh2YWwuJHRhZyA9PSB1bmRlZmlu
ZWQpIHsKLSAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGVuY29kZSB1bmlvbnMg
d2l0aCBhbiB1bmtub3duIG1lbWJlciBzZXQuIik7Ci0gICAgICB9Ci0gICAgCi0gICAgICBlbmNv
ZGVyLndyaXRlVWludDMyKDE2KTsKLSAgICAgIGVuY29kZXIud3JpdGVVaW50MzIodmFsLiR0YWcp
OwotICAgICAgc3dpdGNoICh2YWwuJHRhZykgewotICAgICAgICBjYXNlIFJ1bk9yQ2xvc2VQaXBl
SW5wdXQuVGFncy5yZXF1aXJlVmVyc2lvbjoKLSAgICAgICAgICBlbmNvZGVyLmVuY29kZVN0cnVj
dFBvaW50ZXIoUmVxdWlyZVZlcnNpb24sIHZhbC5yZXF1aXJlVmVyc2lvbik7Ci0gICAgICAgICAg
YnJlYWs7Ci0gICAgICB9Ci0gICAgICBlbmNvZGVyLmFsaWduKCk7Ci0gICAgfTsKLSAgCi0gIAot
ICAgIFJ1bk9yQ2xvc2VQaXBlSW5wdXQuZGVjb2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAg
ICAgdmFyIHNpemUgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICAgIGlmIChzaXplID09IDAp
IHsKLSAgICAgICAgZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgICAgIGRlY29kZXIucmVhZFVp
bnQ2NCgpOwotICAgICAgICByZXR1cm4gbnVsbDsKLSAgICAgIH0KLSAgICAKLSAgICAgIHZhciBy
ZXN1bHQgPSBuZXcgUnVuT3JDbG9zZVBpcGVJbnB1dCgpOwotICAgICAgdmFyIHRhZyA9IGRlY29k
ZXIucmVhZFVpbnQzMigpOwotICAgICAgc3dpdGNoICh0YWcpIHsKLSAgICAgICAgY2FzZSBSdW5P
ckNsb3NlUGlwZUlucHV0LlRhZ3MucmVxdWlyZVZlcnNpb246Ci0gICAgICAgICAgcmVzdWx0LnJl
cXVpcmVWZXJzaW9uID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3RQb2ludGVyKFJlcXVpcmVWZXJzaW9u
KTsKLSAgICAgICAgICBicmVhazsKLSAgICAgIH0KLSAgICAgIGRlY29kZXIuYWxpZ24oKTsKLSAg
ICAKLSAgICAgIHJldHVybiByZXN1bHQ7Ci0gICAgfTsKLSAgCi0gIAotICAgIFJ1bk9yQ2xvc2VQ
aXBlSW5wdXQudmFsaWRhdGUgPSBmdW5jdGlvbihtZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsK
LSAgICAgIHZhciBzaXplID0gbWVzc2FnZVZhbGlkYXRvci5kZWNvZGVVbmlvblNpemUob2Zmc2V0
KTsKLSAgICAgIGlmIChzaXplICE9IDE2KSB7Ci0gICAgICAgIHJldHVybiB2YWxpZGF0b3IudmFs
aWRhdGlvbkVycm9yLklOVkFMSURfVU5JT05fU0laRTsKLSAgICAgIH0KLSAgICAKLSAgICAgIHZh
ciB0YWcgPSBtZXNzYWdlVmFsaWRhdG9yLmRlY29kZVVuaW9uVGFnKG9mZnNldCk7Ci0gICAgICB2
YXIgZGF0YV9vZmZzZXQgPSBvZmZzZXQgKyA4OwotICAgICAgdmFyIGVycjsKLSAgICAgIHN3aXRj
aCAodGFnKSB7Ci0gICAgICAgIGNhc2UgUnVuT3JDbG9zZVBpcGVJbnB1dC5UYWdzLnJlcXVpcmVW
ZXJzaW9uOgotICAgICAgICAgIAotICAgIAotICAgIC8vIHZhbGlkYXRlIFJ1bk9yQ2xvc2VQaXBl
SW5wdXQucmVxdWlyZVZlcnNpb24KLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRl
U3RydWN0UG9pbnRlcihkYXRhX29mZnNldCwgUmVxdWlyZVZlcnNpb24sIGZhbHNlKTsKLSAgICBp
ZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVy
biBlcnI7Ci0gICAgICAgICAgYnJlYWs7Ci0gICAgICB9Ci0gICAgCi0gICAgICByZXR1cm4gdmFs
aWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwotICAgIH07Ci0gIAotICBSdW5PckNsb3NlUGlw
ZUlucHV0LmVuY29kZWRTaXplID0gMTY7Ci0gIGV4cG9ydHMua1J1bk1lc3NhZ2VJZCA9IGtSdW5N
ZXNzYWdlSWQ7Ci0gIGV4cG9ydHMua1J1bk9yQ2xvc2VQaXBlTWVzc2FnZUlkID0ga1J1bk9yQ2xv
c2VQaXBlTWVzc2FnZUlkOwotICBleHBvcnRzLlJ1bk1lc3NhZ2VQYXJhbXMgPSBSdW5NZXNzYWdl
UGFyYW1zOwotICBleHBvcnRzLlJ1blJlc3BvbnNlTWVzc2FnZVBhcmFtcyA9IFJ1blJlc3BvbnNl
TWVzc2FnZVBhcmFtczsKLSAgZXhwb3J0cy5RdWVyeVZlcnNpb24gPSBRdWVyeVZlcnNpb247Ci0g
IGV4cG9ydHMuUXVlcnlWZXJzaW9uUmVzdWx0ID0gUXVlcnlWZXJzaW9uUmVzdWx0OwotICBleHBv
cnRzLkZsdXNoRm9yVGVzdGluZyA9IEZsdXNoRm9yVGVzdGluZzsKLSAgZXhwb3J0cy5SdW5PckNs
b3NlUGlwZU1lc3NhZ2VQYXJhbXMgPSBSdW5PckNsb3NlUGlwZU1lc3NhZ2VQYXJhbXM7Ci0gIGV4
cG9ydHMuUmVxdWlyZVZlcnNpb24gPSBSZXF1aXJlVmVyc2lvbjsKLSAgZXhwb3J0cy5SdW5JbnB1
dCA9IFJ1bklucHV0OwotICBleHBvcnRzLlJ1bk91dHB1dCA9IFJ1bk91dHB1dDsKLSAgZXhwb3J0
cy5SdW5PckNsb3NlUGlwZUlucHV0ID0gUnVuT3JDbG9zZVBpcGVJbnB1dDsKLX0pKCk7Ly8gQ29w
eXJpZ2h0IDIwMTQgVGhlIENocm9taXVtIEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0v
LyBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNl
bnNlIHRoYXQgY2FuIGJlCi0vLyBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgotCi0KLSd1c2Ug
c3RyaWN0JzsKLQotKGZ1bmN0aW9uKCkgewotICB2YXIgbW9qb21JZCA9ICdtb2pvL3B1YmxpYy9p
bnRlcmZhY2VzL2JpbmRpbmdzL25ld19iaW5kaW5ncy9waXBlX2NvbnRyb2xfbWVzc2FnZXMubW9q
b20nOwotICBpZiAobW9qby5pbnRlcm5hbC5pc01vam9tTG9hZGVkKG1vam9tSWQpKSB7Ci0gICAg
Y29uc29sZS53YXJuKCdUaGUgZm9sbG93aW5nIG1vam9tIGlzIGxvYWRlZCBtdWx0aXBsZSB0aW1l
czogJyArIG1vam9tSWQpOwotICAgIHJldHVybjsKLSAgfQotICBtb2pvLmludGVybmFsLm1hcmtN
b2pvbUxvYWRlZChtb2pvbUlkKTsKLQotICAvLyBUT0RPKHl6c2hlbik6IERlZmluZSB0aGVzZSBh
bGlhc2VzIHRvIG1pbmltaXplIHRoZSBkaWZmZXJlbmNlcyBiZXR3ZWVuIHRoZQotICAvLyBvbGQv
bmV3IG1vZGVzLiBSZW1vdmUgdGhlbSB3aGVuIHRoZSBvbGQgbW9kZSBnb2VzIGF3YXkuCi0gIHZh
ciBiaW5kaW5ncyA9IG1vam87Ci0gIHZhciBhc3NvY2lhdGVkQmluZGluZ3MgPSBtb2pvOwotICB2
YXIgY29kZWMgPSBtb2pvLmludGVybmFsOwotICB2YXIgdmFsaWRhdG9yID0gbW9qby5pbnRlcm5h
bDsKLQotICB2YXIgZXhwb3J0cyA9IG1vam8uaW50ZXJuYWwuZXhwb3NlTmFtZXNwYWNlKCdtb2pv
LnBpcGVDb250cm9sMicpOwotCi0KLSAgdmFyIGtSdW5PckNsb3NlUGlwZU1lc3NhZ2VJZCA9IDB4
RkZGRkZGRkU7Ci0KLSAgZnVuY3Rpb24gUnVuT3JDbG9zZVBpcGVNZXNzYWdlUGFyYW1zKHZhbHVl
cykgewotICAgIHRoaXMuaW5pdERlZmF1bHRzXygpOwotICAgIHRoaXMuaW5pdEZpZWxkc18odmFs
dWVzKTsKLSAgfQotCi0KLSAgUnVuT3JDbG9zZVBpcGVNZXNzYWdlUGFyYW1zLnByb3RvdHlwZS5p
bml0RGVmYXVsdHNfID0gZnVuY3Rpb24oKSB7Ci0gICAgdGhpcy5pbnB1dCA9IG51bGw7Ci0gIH07
Ci0gIFJ1bk9yQ2xvc2VQaXBlTWVzc2FnZVBhcmFtcy5wcm90b3R5cGUuaW5pdEZpZWxkc18gPSBm
dW5jdGlvbihmaWVsZHMpIHsKLSAgICBmb3IodmFyIGZpZWxkIGluIGZpZWxkcykgewotICAgICAg
ICBpZiAodGhpcy5oYXNPd25Qcm9wZXJ0eShmaWVsZCkpCi0gICAgICAgICAgdGhpc1tmaWVsZF0g
PSBmaWVsZHNbZmllbGRdOwotICAgIH0KLSAgfTsKLQotICBSdW5PckNsb3NlUGlwZU1lc3NhZ2VQ
YXJhbXMudmFsaWRhdGUgPSBmdW5jdGlvbihtZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsKLSAg
ICB2YXIgZXJyOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RIZWFk
ZXIob2Zmc2V0LCBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFs
aWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAg
dmFyIGtWZXJzaW9uU2l6ZXMgPSBbCi0gICAgICB7dmVyc2lvbjogMCwgbnVtQnl0ZXM6IDI0fQot
ICAgIF07Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFZlcnNpb24o
b2Zmc2V0LCBrVmVyc2lvblNpemVzKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRh
dGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotICAgIC8vIHZhbGlkYXRl
IFJ1bk9yQ2xvc2VQaXBlTWVzc2FnZVBhcmFtcy5pbnB1dAotICAgIGVyciA9IG1lc3NhZ2VWYWxp
ZGF0b3IudmFsaWRhdGVVbmlvbihvZmZzZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDAs
IFJ1bk9yQ2xvc2VQaXBlSW5wdXQsIGZhbHNlKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3Iu
dmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICByZXR1cm4g
dmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIFJ1bk9yQ2xvc2VQaXBl
TWVzc2FnZVBhcmFtcy5lbmNvZGVkU2l6ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgMTY7
Ci0KLSAgUnVuT3JDbG9zZVBpcGVNZXNzYWdlUGFyYW1zLmRlY29kZSA9IGZ1bmN0aW9uKGRlY29k
ZXIpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIHZhciB2YWwgPSBuZXcgUnVuT3JDbG9zZVBpcGVN
ZXNzYWdlUGFyYW1zKCk7Ci0gICAgdmFyIG51bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50
MzIoKTsKLSAgICB2YXIgdmVyc2lvbiA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhbC5p
bnB1dCA9IGRlY29kZXIuZGVjb2RlU3RydWN0KFJ1bk9yQ2xvc2VQaXBlSW5wdXQpOwotICAgIHJl
dHVybiB2YWw7Ci0gIH07Ci0KLSAgUnVuT3JDbG9zZVBpcGVNZXNzYWdlUGFyYW1zLmVuY29kZSA9
IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgZW5jb2Rlci53
cml0ZVVpbnQzMihSdW5PckNsb3NlUGlwZU1lc3NhZ2VQYXJhbXMuZW5jb2RlZFNpemUpOwotICAg
IGVuY29kZXIud3JpdGVVaW50MzIoMCk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3QoUnVuT3JD
bG9zZVBpcGVJbnB1dCwgdmFsLmlucHV0KTsKLSAgfTsKLSAgZnVuY3Rpb24gRGlzY29ubmVjdFJl
YXNvbih2YWx1ZXMpIHsKLSAgICB0aGlzLmluaXREZWZhdWx0c18oKTsKLSAgICB0aGlzLmluaXRG
aWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0gIERpc2Nvbm5lY3RSZWFzb24ucHJvdG90eXBlLmlu
aXREZWZhdWx0c18gPSBmdW5jdGlvbigpIHsKLSAgICB0aGlzLmN1c3RvbVJlYXNvbiA9IDA7Ci0g
ICAgdGhpcy5kZXNjcmlwdGlvbiA9IG51bGw7Ci0gIH07Ci0gIERpc2Nvbm5lY3RSZWFzb24ucHJv
dG90eXBlLmluaXRGaWVsZHNfID0gZnVuY3Rpb24oZmllbGRzKSB7Ci0gICAgZm9yKHZhciBmaWVs
ZCBpbiBmaWVsZHMpIHsKLSAgICAgICAgaWYgKHRoaXMuaGFzT3duUHJvcGVydHkoZmllbGQpKQot
ICAgICAgICAgIHRoaXNbZmllbGRdID0gZmllbGRzW2ZpZWxkXTsKLSAgICB9Ci0gIH07Ci0KLSAg
RGlzY29ubmVjdFJlYXNvbi52YWxpZGF0ZSA9IGZ1bmN0aW9uKG1lc3NhZ2VWYWxpZGF0b3IsIG9m
ZnNldCkgewotICAgIHZhciBlcnI7Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0
ZVN0cnVjdEhlYWRlcihvZmZzZXQsIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplKTsKLSAgICBpZiAo
ZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBl
cnI7Ci0KLSAgICB2YXIga1ZlcnNpb25TaXplcyA9IFsKLSAgICAgIHt2ZXJzaW9uOiAwLCBudW1C
eXRlczogMjR9Ci0gICAgXTsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3Ry
dWN0VmVyc2lvbihvZmZzZXQsIGtWZXJzaW9uU2l6ZXMpOwotICAgIGlmIChlcnIgIT09IHZhbGlk
YXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0KLSAg
ICAKLSAgICAvLyB2YWxpZGF0ZSBEaXNjb25uZWN0UmVhc29uLmRlc2NyaXB0aW9uCi0gICAgZXJy
ID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cmluZ1BvaW50ZXIob2Zmc2V0ICsgY29kZWMu
a1N0cnVjdEhlYWRlclNpemUgKyA4LCBmYWxzZSkKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3Iu
dmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICByZXR1cm4g
dmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIERpc2Nvbm5lY3RSZWFz
b24uZW5jb2RlZFNpemUgPSBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDE2OwotCi0gIERpc2Nv
bm5lY3RSZWFzb24uZGVjb2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHZhciBwYWNrZWQ7
Ci0gICAgdmFyIHZhbCA9IG5ldyBEaXNjb25uZWN0UmVhc29uKCk7Ci0gICAgdmFyIG51bWJlck9m
Qnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YXIgdmVyc2lvbiA9IGRlY29kZXIu
cmVhZFVpbnQzMigpOwotICAgIHZhbC5jdXN0b21SZWFzb24gPSBkZWNvZGVyLmRlY29kZVN0cnVj
dChjb2RlYy5VaW50MzIpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAo
MSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICB2YWwu
ZGVzY3JpcHRpb24gPSBkZWNvZGVyLmRlY29kZVN0cnVjdChjb2RlYy5TdHJpbmcpOwotICAgIHJl
dHVybiB2YWw7Ci0gIH07Ci0KLSAgRGlzY29ubmVjdFJlYXNvbi5lbmNvZGUgPSBmdW5jdGlvbihl
bmNvZGVyLCB2YWwpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIo
RGlzY29ubmVjdFJlYXNvbi5lbmNvZGVkU2l6ZSk7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMigw
KTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdChjb2RlYy5VaW50MzIsIHZhbC5jdXN0b21SZWFz
b24pOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5j
b2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0
cnVjdChjb2RlYy5TdHJpbmcsIHZhbC5kZXNjcmlwdGlvbik7Ci0gIH07Ci0gIGZ1bmN0aW9uIFBl
ZXJBc3NvY2lhdGVkRW5kcG9pbnRDbG9zZWRFdmVudCh2YWx1ZXMpIHsKLSAgICB0aGlzLmluaXRE
ZWZhdWx0c18oKTsKLSAgICB0aGlzLmluaXRGaWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0gIFBl
ZXJBc3NvY2lhdGVkRW5kcG9pbnRDbG9zZWRFdmVudC5wcm90b3R5cGUuaW5pdERlZmF1bHRzXyA9
IGZ1bmN0aW9uKCkgewotICAgIHRoaXMuaWQgPSAwOwotICAgIHRoaXMuZGlzY29ubmVjdFJlYXNv
biA9IG51bGw7Ci0gIH07Ci0gIFBlZXJBc3NvY2lhdGVkRW5kcG9pbnRDbG9zZWRFdmVudC5wcm90
b3R5cGUuaW5pdEZpZWxkc18gPSBmdW5jdGlvbihmaWVsZHMpIHsKLSAgICBmb3IodmFyIGZpZWxk
IGluIGZpZWxkcykgewotICAgICAgICBpZiAodGhpcy5oYXNPd25Qcm9wZXJ0eShmaWVsZCkpCi0g
ICAgICAgICAgdGhpc1tmaWVsZF0gPSBmaWVsZHNbZmllbGRdOwotICAgIH0KLSAgfTsKLQotICBQ
ZWVyQXNzb2NpYXRlZEVuZHBvaW50Q2xvc2VkRXZlbnQudmFsaWRhdGUgPSBmdW5jdGlvbihtZXNz
YWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsKLSAgICB2YXIgZXJyOwotICAgIGVyciA9IG1lc3NhZ2VW
YWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RIZWFkZXIob2Zmc2V0LCBjb2RlYy5rU3RydWN0SGVhZGVy
U2l6ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQot
ICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgdmFyIGtWZXJzaW9uU2l6ZXMgPSBbCi0gICAgICB7
dmVyc2lvbjogMCwgbnVtQnl0ZXM6IDI0fQotICAgIF07Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlk
YXRvci52YWxpZGF0ZVN0cnVjdFZlcnNpb24ob2Zmc2V0LCBrVmVyc2lvblNpemVzKTsKLSAgICBp
ZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVy
biBlcnI7Ci0KLQotCi0gICAgCi0gICAgLy8gdmFsaWRhdGUgUGVlckFzc29jaWF0ZWRFbmRwb2lu
dENsb3NlZEV2ZW50LmRpc2Nvbm5lY3RSZWFzb24KLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9y
LnZhbGlkYXRlU3RydWN0UG9pbnRlcihvZmZzZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSAr
IDgsIERpc2Nvbm5lY3RSZWFzb24sIHRydWUpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52
YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHJldHVybiB2
YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gIH07Ci0KLSAgUGVlckFzc29jaWF0ZWRF
bmRwb2ludENsb3NlZEV2ZW50LmVuY29kZWRTaXplID0gY29kZWMua1N0cnVjdEhlYWRlclNpemUg
KyAxNjsKLQotICBQZWVyQXNzb2NpYXRlZEVuZHBvaW50Q2xvc2VkRXZlbnQuZGVjb2RlID0gZnVu
Y3Rpb24oZGVjb2RlcikgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgdmFyIHZhbCA9IG5ldyBQZWVy
QXNzb2NpYXRlZEVuZHBvaW50Q2xvc2VkRXZlbnQoKTsKLSAgICB2YXIgbnVtYmVyT2ZCeXRlcyA9
IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhciB2ZXJzaW9uID0gZGVjb2Rlci5yZWFkVWlu
dDMyKCk7Ci0gICAgdmFsLmlkID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoY29kZWMuVWludDMyKTsK
LSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIu
c2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgdmFsLmRpc2Nvbm5lY3RSZWFzb24g
PSBkZWNvZGVyLmRlY29kZVN0cnVjdFBvaW50ZXIoRGlzY29ubmVjdFJlYXNvbik7Ci0gICAgcmV0
dXJuIHZhbDsKLSAgfTsKLQotICBQZWVyQXNzb2NpYXRlZEVuZHBvaW50Q2xvc2VkRXZlbnQuZW5j
b2RlID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICBlbmNv
ZGVyLndyaXRlVWludDMyKFBlZXJBc3NvY2lhdGVkRW5kcG9pbnRDbG9zZWRFdmVudC5lbmNvZGVk
U2l6ZSk7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMigwKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0
cnVjdChjb2RlYy5VaW50MzIsIHZhbC5pZCk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVu
Y29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEp
OwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0UG9pbnRlcihEaXNjb25uZWN0UmVhc29uLCB2YWwu
ZGlzY29ubmVjdFJlYXNvbik7Ci0gIH07Ci0KLSAgZnVuY3Rpb24gUnVuT3JDbG9zZVBpcGVJbnB1
dCh2YWx1ZSkgewotICAgIHRoaXMuaW5pdERlZmF1bHRfKCk7Ci0gICAgdGhpcy5pbml0VmFsdWVf
KHZhbHVlKTsKLSAgfQotICAKLSAgCi0gIFJ1bk9yQ2xvc2VQaXBlSW5wdXQuVGFncyA9IHsKLSAg
ICBwZWVyQXNzb2NpYXRlZEVuZHBvaW50Q2xvc2VkRXZlbnQ6IDAsCi0gIH07Ci0gIAotICBSdW5P
ckNsb3NlUGlwZUlucHV0LnByb3RvdHlwZS5pbml0RGVmYXVsdF8gPSBmdW5jdGlvbigpIHsKLSAg
ICB0aGlzLiRkYXRhID0gbnVsbDsKLSAgICB0aGlzLiR0YWcgPSB1bmRlZmluZWQ7Ci0gIH0KLSAg
Ci0gIFJ1bk9yQ2xvc2VQaXBlSW5wdXQucHJvdG90eXBlLmluaXRWYWx1ZV8gPSBmdW5jdGlvbih2
YWx1ZSkgewotICAgIGlmICh2YWx1ZSA9PSB1bmRlZmluZWQpIHsKLSAgICAgIHJldHVybjsKLSAg
ICB9Ci0gIAotICAgIHZhciBrZXlzID0gT2JqZWN0LmtleXModmFsdWUpOwotICAgIGlmIChrZXlz
Lmxlbmd0aCA9PSAwKSB7Ci0gICAgICByZXR1cm47Ci0gICAgfQotICAKLSAgICBpZiAoa2V5cy5s
ZW5ndGggPiAxKSB7Ci0gICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCJZb3UgbWF5IHNldCBvbmx5
IG9uZSBtZW1iZXIgb24gYSB1bmlvbi4iKTsKLSAgICB9Ci0gIAotICAgIHZhciBmaWVsZHMgPSBb
Ci0gICAgICAgICJwZWVyQXNzb2NpYXRlZEVuZHBvaW50Q2xvc2VkRXZlbnQiLAotICAgIF07Ci0g
IAotICAgIGlmIChmaWVsZHMuaW5kZXhPZihrZXlzWzBdKSA8IDApIHsKLSAgICAgIHRocm93IG5l
dyBSZWZlcmVuY2VFcnJvcihrZXlzWzBdICsgIiBpcyBub3QgYSBSdW5PckNsb3NlUGlwZUlucHV0
IG1lbWJlci4iKTsKLSAgCi0gICAgfQotICAKLSAgICB0aGlzW2tleXNbMF1dID0gdmFsdWVba2V5
c1swXV07Ci0gIH0KLSAgT2JqZWN0LmRlZmluZVByb3BlcnR5KFJ1bk9yQ2xvc2VQaXBlSW5wdXQu
cHJvdG90eXBlLCAicGVlckFzc29jaWF0ZWRFbmRwb2ludENsb3NlZEV2ZW50IiwgewotICAgIGdl
dDogZnVuY3Rpb24oKSB7Ci0gICAgICBpZiAodGhpcy4kdGFnICE9IFJ1bk9yQ2xvc2VQaXBlSW5w
dXQuVGFncy5wZWVyQXNzb2NpYXRlZEVuZHBvaW50Q2xvc2VkRXZlbnQpIHsKLSAgICAgICAgdGhy
b3cgbmV3IFJlZmVyZW5jZUVycm9yKAotICAgICAgICAgICAgIlJ1bk9yQ2xvc2VQaXBlSW5wdXQu
cGVlckFzc29jaWF0ZWRFbmRwb2ludENsb3NlZEV2ZW50IGlzIG5vdCBjdXJyZW50bHkgc2V0LiIp
OwotICAgICAgfQotICAgICAgcmV0dXJuIHRoaXMuJGRhdGE7Ci0gICAgfSwKLSAgCi0gICAgc2V0
OiBmdW5jdGlvbih2YWx1ZSkgewotICAgICAgdGhpcy4kdGFnID0gUnVuT3JDbG9zZVBpcGVJbnB1
dC5UYWdzLnBlZXJBc3NvY2lhdGVkRW5kcG9pbnRDbG9zZWRFdmVudDsKLSAgICAgIHRoaXMuJGRh
dGEgPSB2YWx1ZTsKLSAgICB9Ci0gIH0pOwotICAKLSAgCi0gICAgUnVuT3JDbG9zZVBpcGVJbnB1
dC5lbmNvZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2YWwpIHsKLSAgICAgIGlmICh2YWwgPT0gbnVs
bCkgewotICAgICAgICBlbmNvZGVyLndyaXRlVWludDY0KDApOwotICAgICAgICBlbmNvZGVyLndy
aXRlVWludDY0KDApOwotICAgICAgICByZXR1cm47Ci0gICAgICB9Ci0gICAgICBpZiAodmFsLiR0
YWcgPT0gdW5kZWZpbmVkKSB7Ci0gICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBl
bmNvZGUgdW5pb25zIHdpdGggYW4gdW5rbm93biBtZW1iZXIgc2V0LiIpOwotICAgICAgfQotICAg
IAotICAgICAgZW5jb2Rlci53cml0ZVVpbnQzMigxNik7Ci0gICAgICBlbmNvZGVyLndyaXRlVWlu
dDMyKHZhbC4kdGFnKTsKLSAgICAgIHN3aXRjaCAodmFsLiR0YWcpIHsKLSAgICAgICAgY2FzZSBS
dW5PckNsb3NlUGlwZUlucHV0LlRhZ3MucGVlckFzc29jaWF0ZWRFbmRwb2ludENsb3NlZEV2ZW50
OgotICAgICAgICAgIGVuY29kZXIuZW5jb2RlU3RydWN0UG9pbnRlcihQZWVyQXNzb2NpYXRlZEVu
ZHBvaW50Q2xvc2VkRXZlbnQsIHZhbC5wZWVyQXNzb2NpYXRlZEVuZHBvaW50Q2xvc2VkRXZlbnQp
OwotICAgICAgICAgIGJyZWFrOwotICAgICAgfQotICAgICAgZW5jb2Rlci5hbGlnbigpOwotICAg
IH07Ci0gIAotICAKLSAgICBSdW5PckNsb3NlUGlwZUlucHV0LmRlY29kZSA9IGZ1bmN0aW9uKGRl
Y29kZXIpIHsKLSAgICAgIHZhciBzaXplID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgICBp
ZiAoc2l6ZSA9PSAwKSB7Ci0gICAgICAgIGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgICAgICBk
ZWNvZGVyLnJlYWRVaW50NjQoKTsKLSAgICAgICAgcmV0dXJuIG51bGw7Ci0gICAgICB9Ci0gICAg
Ci0gICAgICB2YXIgcmVzdWx0ID0gbmV3IFJ1bk9yQ2xvc2VQaXBlSW5wdXQoKTsKLSAgICAgIHZh
ciB0YWcgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICAgIHN3aXRjaCAodGFnKSB7Ci0gICAg
ICAgIGNhc2UgUnVuT3JDbG9zZVBpcGVJbnB1dC5UYWdzLnBlZXJBc3NvY2lhdGVkRW5kcG9pbnRD
bG9zZWRFdmVudDoKLSAgICAgICAgICByZXN1bHQucGVlckFzc29jaWF0ZWRFbmRwb2ludENsb3Nl
ZEV2ZW50ID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3RQb2ludGVyKFBlZXJBc3NvY2lhdGVkRW5kcG9p
bnRDbG9zZWRFdmVudCk7Ci0gICAgICAgICAgYnJlYWs7Ci0gICAgICB9Ci0gICAgICBkZWNvZGVy
LmFsaWduKCk7Ci0gICAgCi0gICAgICByZXR1cm4gcmVzdWx0OwotICAgIH07Ci0gIAotICAKLSAg
ICBSdW5PckNsb3NlUGlwZUlucHV0LnZhbGlkYXRlID0gZnVuY3Rpb24obWVzc2FnZVZhbGlkYXRv
ciwgb2Zmc2V0KSB7Ci0gICAgICB2YXIgc2l6ZSA9IG1lc3NhZ2VWYWxpZGF0b3IuZGVjb2RlVW5p
b25TaXplKG9mZnNldCk7Ci0gICAgICBpZiAoc2l6ZSAhPSAxNikgewotICAgICAgICByZXR1cm4g
dmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5JTlZBTElEX1VOSU9OX1NJWkU7Ci0gICAgICB9Ci0g
ICAgCi0gICAgICB2YXIgdGFnID0gbWVzc2FnZVZhbGlkYXRvci5kZWNvZGVVbmlvblRhZyhvZmZz
ZXQpOwotICAgICAgdmFyIGRhdGFfb2Zmc2V0ID0gb2Zmc2V0ICsgODsKLSAgICAgIHZhciBlcnI7
Ci0gICAgICBzd2l0Y2ggKHRhZykgewotICAgICAgICBjYXNlIFJ1bk9yQ2xvc2VQaXBlSW5wdXQu
VGFncy5wZWVyQXNzb2NpYXRlZEVuZHBvaW50Q2xvc2VkRXZlbnQ6Ci0gICAgICAgICAgCi0gICAg
Ci0gICAgLy8gdmFsaWRhdGUgUnVuT3JDbG9zZVBpcGVJbnB1dC5wZWVyQXNzb2NpYXRlZEVuZHBv
aW50Q2xvc2VkRXZlbnQKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0
UG9pbnRlcihkYXRhX29mZnNldCwgUGVlckFzc29jaWF0ZWRFbmRwb2ludENsb3NlZEV2ZW50LCBm
YWxzZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQot
ICAgICAgICByZXR1cm4gZXJyOwotICAgICAgICAgIGJyZWFrOwotICAgICAgfQotICAgIAotICAg
ICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAgICB9OwotICAKLSAg
UnVuT3JDbG9zZVBpcGVJbnB1dC5lbmNvZGVkU2l6ZSA9IDE2OwotICBleHBvcnRzLmtSdW5PckNs
b3NlUGlwZU1lc3NhZ2VJZCA9IGtSdW5PckNsb3NlUGlwZU1lc3NhZ2VJZDsKLSAgZXhwb3J0cy5S
dW5PckNsb3NlUGlwZU1lc3NhZ2VQYXJhbXMgPSBSdW5PckNsb3NlUGlwZU1lc3NhZ2VQYXJhbXM7
Ci0gIGV4cG9ydHMuRGlzY29ubmVjdFJlYXNvbiA9IERpc2Nvbm5lY3RSZWFzb247Ci0gIGV4cG9y
dHMuUGVlckFzc29jaWF0ZWRFbmRwb2ludENsb3NlZEV2ZW50ID0gUGVlckFzc29jaWF0ZWRFbmRw
b2ludENsb3NlZEV2ZW50OwotICBleHBvcnRzLlJ1bk9yQ2xvc2VQaXBlSW5wdXQgPSBSdW5PckNs
b3NlUGlwZUlucHV0OwotfSkoKTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy9jaHJvbWl1bS9tb2pvX2JpbmRpbmdzLmpzLmhlYWRlcnMgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS9tb2pvX2JpbmRpbmdz
LmpzLmhlYWRlcnMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY4MDVjMzIzZGY1YTk3
NTIzMTY0OGI4MzBlMzNjZTE4M2MzY2JiZDMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vbW9qb19iaW5kaW5ncy5qcy5oZWFkZXJzCisrKyAvZGV2
L251bGwKQEAgLTEgKzAsMCBAQAotQ29udGVudC1UeXBlOiB0ZXh0L2phdmFzY3JpcHQ7IGNoYXJz
ZXQ9dXRmLTgKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL3N0cmluZzE2Lm1vam9tLmpzIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vc3Ry
aW5nMTYubW9qb20uanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDA1ODk1NmJmMTY5
NjhhMzFhZDcwOWJjMWJiZDQ3NjY0OTBhMTNiOTAuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vc3RyaW5nMTYubW9qb20uanMKKysrIC9kZXYvbnVs
bApAQCAtMSwxNTkgKzAsMCBAQAotLy8gQ29weXJpZ2h0IDIwMTQgVGhlIENocm9taXVtIEF1dGhv
cnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0vLyBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBn
b3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCi0vLyBmb3VuZCBpbiB0
aGUgTElDRU5TRSBmaWxlLgotCi0KLSd1c2Ugc3RyaWN0JzsKLWlmICgodHlwZW9mIG1vam8gIT09
ICd1bmRlZmluZWQnKSAgJiYgbW9qby5pbnRlcm5hbCAmJiBtb2pvLmNvbmZpZykgewotCi0oZnVu
Y3Rpb24oKSB7Ci0gIHZhciBtb2pvbUlkID0gJ21vam8vY29tbW9uL3N0cmluZzE2Lm1vam9tJzsK
LSAgaWYgKG1vam8uaW50ZXJuYWwuaXNNb2pvbUxvYWRlZChtb2pvbUlkKSkgewotICAgIGNvbnNv
bGUud2FybignVGhlIGZvbGxvd2luZyBtb2pvbSBpcyBsb2FkZWQgbXVsdGlwbGUgdGltZXM6ICcg
KyBtb2pvbUlkKTsKLSAgICByZXR1cm47Ci0gIH0KLSAgbW9qby5pbnRlcm5hbC5tYXJrTW9qb21M
b2FkZWQobW9qb21JZCk7Ci0KLSAgLy8gVE9ETyh5enNoZW4pOiBEZWZpbmUgdGhlc2UgYWxpYXNl
cyB0byBtaW5pbWl6ZSB0aGUgZGlmZmVyZW5jZXMgYmV0d2VlbiB0aGUKLSAgLy8gb2xkL25ldyBt
b2Rlcy4gUmVtb3ZlIHRoZW0gd2hlbiB0aGUgb2xkIG1vZGUgZ29lcyBhd2F5LgotICB2YXIgYmlu
ZGluZ3MgPSBtb2pvOwotICB2YXIgYXNzb2NpYXRlZEJpbmRpbmdzID0gbW9qbzsKLSAgdmFyIGNv
ZGVjID0gbW9qby5pbnRlcm5hbDsKLSAgdmFyIHZhbGlkYXRvciA9IG1vam8uaW50ZXJuYWw7Ci0K
LSAgdmFyIGV4cG9ydHMgPSBtb2pvLmludGVybmFsLmV4cG9zZU5hbWVzcGFjZSgnbW9qby5jb21t
b24ubW9qb20nKTsKLQotCi0KLSAgZnVuY3Rpb24gU3RyaW5nMTYodmFsdWVzKSB7Ci0gICAgdGhp
cy5pbml0RGVmYXVsdHNfKCk7Ci0gICAgdGhpcy5pbml0RmllbGRzXyh2YWx1ZXMpOwotICB9Ci0K
LQotICBTdHJpbmcxNi5wcm90b3R5cGUuaW5pdERlZmF1bHRzXyA9IGZ1bmN0aW9uKCkgewotICAg
IHRoaXMuZGF0YSA9IG51bGw7Ci0gIH07Ci0gIFN0cmluZzE2LnByb3RvdHlwZS5pbml0RmllbGRz
XyA9IGZ1bmN0aW9uKGZpZWxkcykgewotICAgIGZvcih2YXIgZmllbGQgaW4gZmllbGRzKSB7Ci0g
ICAgICAgIGlmICh0aGlzLmhhc093blByb3BlcnR5KGZpZWxkKSkKLSAgICAgICAgICB0aGlzW2Zp
ZWxkXSA9IGZpZWxkc1tmaWVsZF07Ci0gICAgfQotICB9OwotCi0gIFN0cmluZzE2LnZhbGlkYXRl
ID0gZnVuY3Rpb24obWVzc2FnZVZhbGlkYXRvciwgb2Zmc2V0KSB7Ci0gICAgdmFyIGVycjsKLSAg
ICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0SGVhZGVyKG9mZnNldCwgY29k
ZWMua1N0cnVjdEhlYWRlclNpemUpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0
aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHZhciBrVmVyc2lvblNp
emVzID0gWwotICAgICAge3ZlcnNpb246IDAsIG51bUJ5dGVzOiAxNn0KLSAgICBdOwotICAgIGVy
ciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RWZXJzaW9uKG9mZnNldCwga1ZlcnNp
b25TaXplcyk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05F
KQotICAgICAgICByZXR1cm4gZXJyOwotCi0KLSAgICAKLSAgICAvLyB2YWxpZGF0ZSBTdHJpbmcx
Ni5kYXRhCi0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZUFycmF5UG9pbnRlcihv
ZmZzZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDAsIDIsIGNvZGVjLlVpbnQxNiwgZmFs
c2UsIFswXSwgMCk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5O
T05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0
aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQotICBTdHJpbmcxNi5lbmNvZGVkU2l6ZSA9IGNvZGVjLmtT
dHJ1Y3RIZWFkZXJTaXplICsgODsKLQotICBTdHJpbmcxNi5kZWNvZGUgPSBmdW5jdGlvbihkZWNv
ZGVyKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICB2YXIgdmFsID0gbmV3IFN0cmluZzE2KCk7Ci0g
ICAgdmFyIG51bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YXIgdmVy
c2lvbiA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhbC5kYXRhID0gZGVjb2Rlci5kZWNv
ZGVBcnJheVBvaW50ZXIoY29kZWMuVWludDE2KTsKLSAgICByZXR1cm4gdmFsOwotICB9OwotCi0g
IFN0cmluZzE2LmVuY29kZSA9IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgIHZhciBwYWNr
ZWQ7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMihTdHJpbmcxNi5lbmNvZGVkU2l6ZSk7Ci0gICAg
ZW5jb2Rlci53cml0ZVVpbnQzMigwKTsKLSAgICBlbmNvZGVyLmVuY29kZUFycmF5UG9pbnRlcihj
b2RlYy5VaW50MTYsIHZhbC5kYXRhKTsKLSAgfTsKLSAgZXhwb3J0cy5TdHJpbmcxNiA9IFN0cmlu
ZzE2OwotfSkoKTsKLX0KLQotaWYgKCh0eXBlb2YgbW9qbyA9PT0gJ3VuZGVmaW5lZCcpIHx8ICFt
b2pvLmludGVybmFsIHx8ICFtb2pvLmNvbmZpZykgewotCi1kZWZpbmUoIm1vam8vY29tbW9uL3N0
cmluZzE2Lm1vam9tIiwgWwotICAgICJtb2pvL3B1YmxpYy9qcy9hc3NvY2lhdGVkX2JpbmRpbmdz
IiwKLSAgICAibW9qby9wdWJsaWMvanMvYmluZGluZ3MiLAotICAgICJtb2pvL3B1YmxpYy9qcy9j
b2RlYyIsCi0gICAgIm1vam8vcHVibGljL2pzL2NvcmUiLAotICAgICJtb2pvL3B1YmxpYy9qcy92
YWxpZGF0b3IiLAotXSwgZnVuY3Rpb24oYXNzb2NpYXRlZEJpbmRpbmdzLCBiaW5kaW5ncywgY29k
ZWMsIGNvcmUsIHZhbGlkYXRvcikgewotICB2YXIgZXhwb3J0cyA9IHt9OwotCi0gIGZ1bmN0aW9u
IFN0cmluZzE2KHZhbHVlcykgewotICAgIHRoaXMuaW5pdERlZmF1bHRzXygpOwotICAgIHRoaXMu
aW5pdEZpZWxkc18odmFsdWVzKTsKLSAgfQotCi0KLSAgU3RyaW5nMTYucHJvdG90eXBlLmluaXRE
ZWZhdWx0c18gPSBmdW5jdGlvbigpIHsKLSAgICB0aGlzLmRhdGEgPSBudWxsOwotICB9OwotICBT
dHJpbmcxNi5wcm90b3R5cGUuaW5pdEZpZWxkc18gPSBmdW5jdGlvbihmaWVsZHMpIHsKLSAgICBm
b3IodmFyIGZpZWxkIGluIGZpZWxkcykgewotICAgICAgICBpZiAodGhpcy5oYXNPd25Qcm9wZXJ0
eShmaWVsZCkpCi0gICAgICAgICAgdGhpc1tmaWVsZF0gPSBmaWVsZHNbZmllbGRdOwotICAgIH0K
LSAgfTsKLQotICBTdHJpbmcxNi52YWxpZGF0ZSA9IGZ1bmN0aW9uKG1lc3NhZ2VWYWxpZGF0b3Is
IG9mZnNldCkgewotICAgIHZhciBlcnI7Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxp
ZGF0ZVN0cnVjdEhlYWRlcihvZmZzZXQsIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplKTsKLSAgICBp
ZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVy
biBlcnI7Ci0KLSAgICB2YXIga1ZlcnNpb25TaXplcyA9IFsKLSAgICAgIHt2ZXJzaW9uOiAwLCBu
dW1CeXRlczogMTZ9Ci0gICAgXTsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRl
U3RydWN0VmVyc2lvbihvZmZzZXQsIGtWZXJzaW9uU2l6ZXMpOwotICAgIGlmIChlcnIgIT09IHZh
bGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0g
ICAgCi0gICAgLy8gdmFsaWRhdGUgU3RyaW5nMTYuZGF0YQotICAgIGVyciA9IG1lc3NhZ2VWYWxp
ZGF0b3IudmFsaWRhdGVBcnJheVBvaW50ZXIob2Zmc2V0ICsgY29kZWMua1N0cnVjdEhlYWRlclNp
emUgKyAwLCAyLCBjb2RlYy5VaW50MTYsIGZhbHNlLCBbMF0sIDApOwotICAgIGlmIChlcnIgIT09
IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQot
ICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gIH07Ci0KLSAgU3Ry
aW5nMTYuZW5jb2RlZFNpemUgPSBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDg7Ci0KLSAgU3Ry
aW5nMTYuZGVjb2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHZhciBwYWNrZWQ7Ci0gICAg
dmFyIHZhbCA9IG5ldyBTdHJpbmcxNigpOwotICAgIHZhciBudW1iZXJPZkJ5dGVzID0gZGVjb2Rl
ci5yZWFkVWludDMyKCk7Ci0gICAgdmFyIHZlcnNpb24gPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsK
LSAgICB2YWwuZGF0YSA9IGRlY29kZXIuZGVjb2RlQXJyYXlQb2ludGVyKGNvZGVjLlVpbnQxNik7
Ci0gICAgcmV0dXJuIHZhbDsKLSAgfTsKLQotICBTdHJpbmcxNi5lbmNvZGUgPSBmdW5jdGlvbihl
bmNvZGVyLCB2YWwpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIo
U3RyaW5nMTYuZW5jb2RlZFNpemUpOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoMCk7Ci0gICAg
ZW5jb2Rlci5lbmNvZGVBcnJheVBvaW50ZXIoY29kZWMuVWludDE2LCB2YWwuZGF0YSk7Ci0gIH07
Ci0gIGV4cG9ydHMuU3RyaW5nMTYgPSBTdHJpbmcxNjsKLQotICByZXR1cm4gZXhwb3J0czsKLX0p
OwotfQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL3N0cmlu
ZzE2Lm1vam9tLmpzLmhlYWRlcnMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS9zdHJpbmcxNi5tb2pvbS5qcy5oZWFkZXJzCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2ODA1YzMyM2RmNWE5NzUyMzE2NDhiODMwZTMz
Y2UxODNjM2NiYmQzLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L2Nocm9taXVtL3N0cmluZzE2Lm1vam9tLmpzLmhlYWRlcnMKKysrIC9kZXYvbnVsbApAQCAtMSAr
MCwwIEBACi1Db250ZW50LVR5cGU6IHRleHQvamF2YXNjcmlwdDsgY2hhcnNldD11dGYtOApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvY2hyb21pdW0vdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS93M2MtaW1wb3J0LmxvZwpkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTA1OTRkNGM4ZmUyOGNkYjdlMmFmMTMxZGQwMmU4
MTVhM2QxZmQ5OS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9j
aHJvbWl1bS93M2MtaW1wb3J0LmxvZworKysgL2Rldi9udWxsCkBAIC0xLDI5ICswLDAgQEAKLVRo
ZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBv
c2l0b3J5LgotRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1J
bnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6Ci0JaHR0cHM6
Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMKLQotVGhlbiBydW4gdGhlIFRvb2xz
L1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKLQotRG8gTk9U
IG1vZGlmeSBvciByZW1vdmUgdGhpcyBmaWxlLgotCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLVByb3BlcnRp
ZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKLU5vbmUKLVByb3BlcnR5IHZhbHVlcyByZXF1
aXJpbmcgdmVuZG9yIHByZWZpeGVzOgotTm9uZQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1MaXN0IG9mIGZp
bGVzOgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL2Nocm9taXVtL1JFQURNRS5tZAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL2Nob29zZXJfc2VydmljZS5tb2pvbS5qcwot
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2No
cm9taXVtL2Nob29zZXJfc2VydmljZS5tb2pvbS5qcy5oZWFkZXJzCi0vTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vZGV2aWNlLm1v
am9tLmpzCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvY2hyb21pdW0vZGV2aWNlLm1vam9tLmpzLmhlYWRlcnMKLS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS9kZXZpY2VfbWFu
YWdlci5tb2pvbS5qcwotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL2Nocm9taXVtL2RldmljZV9tYW5hZ2VyLm1vam9tLmpzLmhlYWRlcnMKLS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJv
bWl1bS9tb2pvX2JpbmRpbmdzLmpzCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vbW9qb19iaW5kaW5ncy5qcy5oZWFkZXJzCi0v
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hy
b21pdW0vc3RyaW5nMTYubW9qb20uanMKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS9zdHJpbmcxNi5tb2pvbS5qcy5oZWFkZXJz
Ci0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
Y2hyb21pdW0vd2VidXNiLXRlc3QuanMKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS93ZWJ1c2ItdGVzdC5qcy5oZWFkZXJzCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy9jaHJvbWl1bS93ZWJ1c2ItdGVzdC5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL3dlYnVzYi10ZXN0LmpzCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwOGM4MjU0N2VkODk0NGYwNmZkZmEzMjMyMzIw
NzRlNDg0NjQyZjQzLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L2Nocm9taXVtL3dlYnVzYi10ZXN0LmpzCisrKyAvZGV2L251bGwKQEAgLTEsNTQxICswLDAgQEAK
LSd1c2Ugc3RyaWN0JzsKLQotLy8gVGhpcyBwb2x5ZmlsbCBsaWJyYXJ5IGltcGxlbWVudHMgdGhl
IFdlYlVTQiBUZXN0IEFQSSBhcyBzcGVjaWZpZWQgaGVyZToKLS8vIGh0dHBzOi8vd2ljZy5naXRo
dWIuaW8vd2VidXNiL3Rlc3QvCi0KLSgoKSA9PiB7Ci0KLS8vIFRoZXNlIHZhcmlhYmxlcyBhcmUg
bG9naWNhbGx5IG1lbWJlcnMgb2YgdGhlIFVTQlRlc3QgY2xhc3MgYnV0IGFyZSBkZWZpbmVkCi0v
LyBoZXJlIHRvIGhpZGUgdGhlbSBmcm9tIGJlaW5nIHZpc2libGUgYXMgZmllbGRzIG9mIG5hdmln
YXRvci51c2IudGVzdC4KLWxldCBpbnRlcm5hbCA9IHsKLSAgaW50aWFsaXplZDogZmFsc2UsCi0K
LSAgZGV2aWNlTWFuYWdlcjogbnVsbCwKLSAgZGV2aWNlTWFuYWdlckludGVyY2VwdG9yOiBudWxs
LAotICBkZXZpY2VNYW5hZ2VyQ3Jvc3NGcmFtZVByb3h5OiBudWxsLAotCi0gIGNob29zZXI6IG51
bGwsCi0gIGNob29zZXJJbnRlcmNlcHRvcjogbnVsbCwKLSAgY2hvb3NlckNyb3NzRnJhbWVQcm94
eTogbnVsbCwKLX07Ci0KLS8vIENvbnZlcnRzIGFuIEVDTUFTY3JpcHQgU3RyaW5nIG9iamVjdCB0
byBhbiBpbnN0YW5jZSBvZgotLy8gbW9qby5jb21tb24ubW9qb20uU3RyaW5nMTYuCi1mdW5jdGlv
biBtb2pvU3RyaW5nMTZUb1N0cmluZyhzdHJpbmcxNikgewotICByZXR1cm4gU3RyaW5nLmZyb21D
aGFyQ29kZS5hcHBseShudWxsLCBzdHJpbmcxNi5kYXRhKTsKLX0KLQotLy8gQ29udmVydHMgYW4g
aW5zdGFuY2Ugb2YgbW9qby5jb21tb24ubW9qb20uU3RyaW5nMTYgdG8gYW4gRUNNQVNjcmlwdCBT
dHJpbmcuCi1mdW5jdGlvbiBzdHJpbmdUb01vam9TdHJpbmcxNihzdHJpbmcpIHsKLSAgbGV0IGFy
cmF5ID0gbmV3IEFycmF5KHN0cmluZy5sZW5ndGgpOwotICBmb3IgKHZhciBpID0gMDsgaSA8IHN0
cmluZy5sZW5ndGg7ICsraSkgewotICAgIGFycmF5W2ldID0gc3RyaW5nLmNoYXJDb2RlQXQoaSk7
Ci0gIH0KLSAgcmV0dXJuIHsgZGF0YTogYXJyYXkgfQotfQotCi1mdW5jdGlvbiBmYWtlRGV2aWNl
SW5pdFRvRGV2aWNlSW5mbyhndWlkLCBpbml0KSB7Ci0gIGxldCBkZXZpY2VJbmZvID0gewotICAg
IGd1aWQ6IGd1aWQgKyAiIiwKLSAgICB1c2JWZXJzaW9uTWFqb3I6IGluaXQudXNiVmVyc2lvbk1h
am9yLAotICAgIHVzYlZlcnNpb25NaW5vcjogaW5pdC51c2JWZXJzaW9uTWlub3IsCi0gICAgdXNi
VmVyc2lvblN1Ym1pbm9yOiBpbml0LnVzYlZlcnNpb25TdWJtaW5vciwKLSAgICBjbGFzc0NvZGU6
IGluaXQuZGV2aWNlQ2xhc3MsCi0gICAgc3ViY2xhc3NDb2RlOiBpbml0LmRldmljZVN1YmNsYXNz
LAotICAgIHByb3RvY29sQ29kZTogaW5pdC5kZXZpY2VQcm90b2NvbCwKLSAgICB2ZW5kb3JJZDog
aW5pdC52ZW5kb3JJZCwKLSAgICBwcm9kdWN0SWQ6IGluaXQucHJvZHVjdElkLAotICAgIGRldmlj
ZVZlcnNpb25NYWpvcjogaW5pdC5kZXZpY2VWZXJzaW9uTWFqb3IsCi0gICAgZGV2aWNlVmVyc2lv
bk1pbm9yOiBpbml0LmRldmljZVZlcnNpb25NaW5vciwKLSAgICBkZXZpY2VWZXJzaW9uU3VibWlu
b3I6IGluaXQuZGV2aWNlVmVyc2lvblN1Ym1pbm9yLAotICAgIG1hbnVmYWN0dXJlck5hbWU6IHN0
cmluZ1RvTW9qb1N0cmluZzE2KGluaXQubWFudWZhY3R1cmVyTmFtZSksCi0gICAgcHJvZHVjdE5h
bWU6IHN0cmluZ1RvTW9qb1N0cmluZzE2KGluaXQucHJvZHVjdE5hbWUpLAotICAgIHNlcmlhbE51
bWJlcjogc3RyaW5nVG9Nb2pvU3RyaW5nMTYoaW5pdC5zZXJpYWxOdW1iZXIpLAotICAgIGFjdGl2
ZUNvbmZpZ3VyYXRpb246IGluaXQuYWN0aXZlQ29uZmlndXJhdGlvblZhbHVlLAotICAgIGNvbmZp
Z3VyYXRpb25zOiBbXQotICB9OwotICBpbml0LmNvbmZpZ3VyYXRpb25zLmZvckVhY2goY29uZmln
ID0+IHsKLSAgICB2YXIgY29uZmlnSW5mbyA9IHsKLSAgICAgIGNvbmZpZ3VyYXRpb25WYWx1ZTog
Y29uZmlnLmNvbmZpZ3VyYXRpb25WYWx1ZSwKLSAgICAgIGNvbmZpZ3VyYXRpb25OYW1lOiBzdHJp
bmdUb01vam9TdHJpbmcxNihjb25maWcuY29uZmlndXJhdGlvbk5hbWUpLAotICAgICAgaW50ZXJm
YWNlczogW10KLSAgICB9OwotICAgIGNvbmZpZy5pbnRlcmZhY2VzLmZvckVhY2goaWZhY2UgPT4g
ewotICAgICAgdmFyIGludGVyZmFjZUluZm8gPSB7Ci0gICAgICAgIGludGVyZmFjZU51bWJlcjog
aWZhY2UuaW50ZXJmYWNlTnVtYmVyLAotICAgICAgICBhbHRlcm5hdGVzOiBbXQotICAgICAgfTsK
LSAgICAgIGlmYWNlLmFsdGVybmF0ZXMuZm9yRWFjaChhbHRlcm5hdGUgPT4gewotICAgICAgICB2
YXIgYWx0ZXJuYXRlSW5mbyA9IHsKLSAgICAgICAgICBhbHRlcm5hdGVTZXR0aW5nOiBhbHRlcm5h
dGUuYWx0ZXJuYXRlU2V0dGluZywKLSAgICAgICAgICBjbGFzc0NvZGU6IGFsdGVybmF0ZS5pbnRl
cmZhY2VDbGFzcywKLSAgICAgICAgICBzdWJjbGFzc0NvZGU6IGFsdGVybmF0ZS5pbnRlcmZhY2VT
dWJjbGFzcywKLSAgICAgICAgICBwcm90b2NvbENvZGU6IGFsdGVybmF0ZS5pbnRlcmZhY2VQcm90
b2NvbCwKLSAgICAgICAgICBpbnRlcmZhY2VOYW1lOiBzdHJpbmdUb01vam9TdHJpbmcxNihhbHRl
cm5hdGUuaW50ZXJmYWNlTmFtZSksCi0gICAgICAgICAgZW5kcG9pbnRzOiBbXQotICAgICAgICB9
OwotICAgICAgICBhbHRlcm5hdGUuZW5kcG9pbnRzLmZvckVhY2goZW5kcG9pbnQgPT4gewotICAg
ICAgICAgIHZhciBlbmRwb2ludEluZm8gPSB7Ci0gICAgICAgICAgICBlbmRwb2ludE51bWJlcjog
ZW5kcG9pbnQuZW5kcG9pbnROdW1iZXIsCi0gICAgICAgICAgICBwYWNrZXRTaXplOiBlbmRwb2lu
dC5wYWNrZXRTaXplLAotICAgICAgICAgIH07Ci0gICAgICAgICAgc3dpdGNoIChlbmRwb2ludC5k
aXJlY3Rpb24pIHsKLSAgICAgICAgICBjYXNlICJpbiI6Ci0gICAgICAgICAgICBlbmRwb2ludElu
Zm8uZGlyZWN0aW9uID0gZGV2aWNlLm1vam9tLlVzYlRyYW5zZmVyRGlyZWN0aW9uLklOQk9VTkQ7
Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgICBjYXNlICJvdXQiOgotICAgICAgICAgICAg
ZW5kcG9pbnRJbmZvLmRpcmVjdGlvbiA9IGRldmljZS5tb2pvbS5Vc2JUcmFuc2ZlckRpcmVjdGlv
bi5PVVRCT1VORDsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgIH0KLSAgICAgICAgICBz
d2l0Y2ggKGVuZHBvaW50LnR5cGUpIHsKLSAgICAgICAgICBjYXNlICJidWxrIjoKLSAgICAgICAg
ICAgIGVuZHBvaW50SW5mby50eXBlID0gZGV2aWNlLm1vam9tLlVzYlRyYW5zZmVyVHlwZS5CVUxL
OwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgY2FzZSAiaW50ZXJydXB0IjoKLSAgICAg
ICAgICAgIGVuZHBvaW50SW5mby50eXBlID0gZGV2aWNlLm1vam9tLlVzYlRyYW5zZmVyVHlwZS5J
TlRFUlJVUFQ7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgICBjYXNlICJpc29jaHJvbm91
cyI6Ci0gICAgICAgICAgICBlbmRwb2ludEluZm8udHlwZSA9IGRldmljZS5tb2pvbS5Vc2JUcmFu
c2ZlclR5cGUuSVNPQ0hST05PVVM7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgICB9Ci0g
ICAgICAgICAgYWx0ZXJuYXRlSW5mby5lbmRwb2ludHMucHVzaChlbmRwb2ludEluZm8pOwotICAg
ICAgICB9KTsKLSAgICAgICAgaW50ZXJmYWNlSW5mby5hbHRlcm5hdGVzLnB1c2goYWx0ZXJuYXRl
SW5mbyk7Ci0gICAgICB9KTsKLSAgICAgIGNvbmZpZ0luZm8uaW50ZXJmYWNlcy5wdXNoKGludGVy
ZmFjZUluZm8pOwotICAgIH0pOwotICAgIGRldmljZUluZm8uY29uZmlndXJhdGlvbnMucHVzaChj
b25maWdJbmZvKTsKLSAgfSk7Ci0gIHJldHVybiBkZXZpY2VJbmZvOwotfQotCi1mdW5jdGlvbiBj
b252ZXJ0TW9qb0RldmljZUZpbHRlcnMoaW5wdXQpIHsKLSAgbGV0IG91dHB1dCA9IFtdOwotICBp
bnB1dC5mb3JFYWNoKGZpbHRlciA9PiB7Ci0gICAgb3V0cHV0LnB1c2goY29udmVydE1vam9EZXZp
Y2VGaWx0ZXIoZmlsdGVyKSk7Ci0gIH0pOwotICByZXR1cm4gb3V0cHV0OwotfQotCi1mdW5jdGlv
biBjb252ZXJ0TW9qb0RldmljZUZpbHRlcihpbnB1dCkgewotICBsZXQgb3V0cHV0ID0ge307Ci0g
IGlmIChpbnB1dC5oYXNWZW5kb3JJZCkKLSAgICBvdXRwdXQudmVuZG9ySWQgPSBpbnB1dC52ZW5k
b3JJZDsKLSAgaWYgKGlucHV0Lmhhc1Byb2R1Y3RJZCkKLSAgICBvdXRwdXQucHJvZHVjdElkID0g
aW5wdXQucHJvZHVjdElkOwotICBpZiAoaW5wdXQuaGFzQ2xhc3NDb2RlKQotICAgIG91dHB1dC5j
bGFzc0NvZGUgPSBpbnB1dC5jbGFzc0NvZGU7Ci0gIGlmIChpbnB1dC5oYXNTdWJjbGFzc0NvZGUp
Ci0gICAgb3V0cHV0LnN1YmNsYXNzQ29kZSA9IGlucHV0LnN1YmNsYXNzQ29kZTsKLSAgaWYgKGlu
cHV0Lmhhc1Byb3RvY29sQ29kZSkKLSAgICBvdXRwdXQucHJvdG9jb2xDb2RlID0gaW5wdXQucHJv
dG9jb2xDb2RlOwotICBpZiAoaW5wdXQuc2VyaWFsTnVtYmVyKQotICAgIG91dHB1dC5zZXJpYWxO
dW1iZXIgPSBtb2pvU3RyaW5nMTZUb1N0cmluZyhpbnB1dC5zZXJpYWxOdW1iZXIpOwotICByZXR1
cm4gb3V0cHV0OwotfQotCi1jbGFzcyBGYWtlRGV2aWNlIHsKLSAgY29uc3RydWN0b3IoZGV2aWNl
SW5pdCkgewotICAgIHRoaXMuaW5mb18gPSBkZXZpY2VJbml0OwotICAgIHRoaXMub3BlbmVkXyA9
IGZhbHNlOwotICAgIHRoaXMuY3VycmVudENvbmZpZ3VyYXRpb25fID0gbnVsbDsKLSAgICB0aGlz
LmNsYWltZWRJbnRlcmZhY2VzXyA9IG5ldyBNYXAoKTsKLSAgfQotCi0gIGdldENvbmZpZ3VyYXRp
b24oKSB7Ci0gICAgaWYgKHRoaXMuY3VycmVudENvbmZpZ3VyYXRpb25fKSB7Ci0gICAgICByZXR1
cm4gUHJvbWlzZS5yZXNvbHZlKHsKLSAgICAgICAgICB2YWx1ZTogdGhpcy5jdXJyZW50Q29uZmln
dXJhdGlvbl8uY29uZmlndXJhdGlvblZhbHVlIH0pOwotICAgIH0gZWxzZSB7Ci0gICAgICByZXR1
cm4gUHJvbWlzZS5yZXNvbHZlKHsgdmFsdWU6IDAgfSk7Ci0gICAgfQotICB9Ci0KLSAgb3Blbigp
IHsKLSAgICBhc3NlcnRfZmFsc2UodGhpcy5vcGVuZWRfKTsKLSAgICB0aGlzLm9wZW5lZF8gPSB0
cnVlOwotICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoeyBlcnJvcjogZGV2aWNlLm1vam9tLlVz
Yk9wZW5EZXZpY2VFcnJvci5PSyB9KTsKLSAgfQotCi0gIGNsb3NlKCkgewotICAgIGFzc2VydF90
cnVlKHRoaXMub3BlbmVkXyk7Ci0gICAgdGhpcy5vcGVuZWRfID0gZmFsc2U7Ci0gICAgcmV0dXJu
IFByb21pc2UucmVzb2x2ZSgpOwotICB9Ci0KLSAgc2V0Q29uZmlndXJhdGlvbih2YWx1ZSkgewot
ICAgIGFzc2VydF90cnVlKHRoaXMub3BlbmVkXyk7Ci0KLSAgICBsZXQgc2VsZWN0ZWRDb25maWd1
cmF0aW9uID0gdGhpcy5pbmZvXy5jb25maWd1cmF0aW9ucy5maW5kKAotICAgICAgICBjb25maWd1
cmF0aW9uID0+IGNvbmZpZ3VyYXRpb24uY29uZmlndXJhdGlvblZhbHVlID09IHZhbHVlKTsKLSAg
ICAvLyBCbGluayBzaG91bGQgbmV2ZXIgcmVxdWVzdCBhbiBpbnZhbGlkIGNvbmZpZ3VyYXRpb24u
Ci0gICAgYXNzZXJ0X25vdF9lcXVhbHMoc2VsZWN0ZWRDb25maWd1cmF0aW9uLCB1bmRlZmluZWQp
OwotICAgIHRoaXMuY3VycmVudENvbmZpZ3VyYXRpb25fID0gc2VsZWN0ZWRDb25maWd1cmF0aW9u
OwotICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoeyBzdWNjZXNzOiB0cnVlIH0pOwotICB9Ci0K
LSAgY2xhaW1JbnRlcmZhY2UoaW50ZXJmYWNlTnVtYmVyKSB7Ci0gICAgYXNzZXJ0X3RydWUodGhp
cy5vcGVuZWRfKTsKLSAgICBhc3NlcnRfZmFsc2UodGhpcy5jdXJyZW50Q29uZmlndXJhdGlvbl8g
PT0gbnVsbCwgJ2RldmljZSBjb25maWd1cmVkJyk7Ci0gICAgYXNzZXJ0X2ZhbHNlKHRoaXMuY2xh
aW1lZEludGVyZmFjZXNfLmhhcyhpbnRlcmZhY2VOdW1iZXIpLAotICAgICAgICAgICAgICAgICAn
aW50ZXJmYWNlIGFscmVhZHkgY2xhaW1lZCcpOwotCi0gICAgLy8gQmxpbmsgc2hvdWxkIG5ldmVy
IHJlcXVlc3QgYW4gaW52YWxpZCBpbnRlcmZhY2UuCi0gICAgYXNzZXJ0X3RydWUodGhpcy5jdXJy
ZW50Q29uZmlndXJhdGlvbl8uaW50ZXJmYWNlcy5zb21lKAotICAgICAgICAgICAgaWZhY2UgPT4g
aWZhY2UuaW50ZXJmYWNlTnVtYmVyID09IGludGVyZmFjZU51bWJlcikpOwotICAgIHRoaXMuY2xh
aW1lZEludGVyZmFjZXNfLnNldChpbnRlcmZhY2VOdW1iZXIsIDApOwotICAgIHJldHVybiBQcm9t
aXNlLnJlc29sdmUoeyBzdWNjZXNzOiB0cnVlIH0pOwotICB9Ci0KLSAgcmVsZWFzZUludGVyZmFj
ZShpbnRlcmZhY2VOdW1iZXIpIHsKLSAgICBhc3NlcnRfdHJ1ZSh0aGlzLm9wZW5lZF8pOwotICAg
IGFzc2VydF9mYWxzZSh0aGlzLmN1cnJlbnRDb25maWd1cmF0aW9uXyA9PSBudWxsLCAnZGV2aWNl
IGNvbmZpZ3VyZWQnKTsKLSAgICBhc3NlcnRfdHJ1ZSh0aGlzLmNsYWltZWRJbnRlcmZhY2VzXy5o
YXMoaW50ZXJmYWNlTnVtYmVyKSk7Ci0gICAgdGhpcy5jbGFpbWVkSW50ZXJmYWNlc18uZGVsZXRl
KGludGVyZmFjZU51bWJlcik7Ci0gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh7IHN1Y2Nlc3M6
IHRydWUgfSk7Ci0gIH0KLQotICBzZXRJbnRlcmZhY2VBbHRlcm5hdGVTZXR0aW5nKGludGVyZmFj
ZU51bWJlciwgYWx0ZXJuYXRlU2V0dGluZykgewotICAgIGFzc2VydF90cnVlKHRoaXMub3BlbmVk
Xyk7Ci0gICAgYXNzZXJ0X2ZhbHNlKHRoaXMuY3VycmVudENvbmZpZ3VyYXRpb25fID09IG51bGws
ICdkZXZpY2UgY29uZmlndXJlZCcpOwotICAgIGFzc2VydF90cnVlKHRoaXMuY2xhaW1lZEludGVy
ZmFjZXNfLmhhcyhpbnRlcmZhY2VOdW1iZXIpKTsKLQotICAgIGxldCBpZmFjZSA9IHRoaXMuY3Vy
cmVudENvbmZpZ3VyYXRpb25fLmludGVyZmFjZXMuZmluZCgKLSAgICAgICAgaWZhY2UgPT4gaWZh
Y2UuaW50ZXJmYWNlTnVtYmVyID09IGludGVyZmFjZU51bWJlcik7Ci0gICAgLy8gQmxpbmsgc2hv
dWxkIG5ldmVyIHJlcXVlc3QgYW4gaW52YWxpZCBpbnRlcmZhY2Ugb3IgYWx0ZXJuYXRlLgotICAg
IGFzc2VydF9mYWxzZShpZmFjZSA9PSB1bmRlZmluZWQpOwotICAgIGFzc2VydF90cnVlKGlmYWNl
LmFsdGVybmF0ZXMuc29tZSgKLSAgICAgICAgeCA9PiB4LmFsdGVybmF0ZVNldHRpbmcgPT0gYWx0
ZXJuYXRlU2V0dGluZykpOwotICAgIHRoaXMuY2xhaW1lZEludGVyZmFjZXNfLnNldChpbnRlcmZh
Y2VOdW1iZXIsIGFsdGVybmF0ZVNldHRpbmcpOwotICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUo
eyBzdWNjZXNzOiB0cnVlIH0pOwotICB9Ci0KLSAgcmVzZXQoKSB7Ci0gICAgYXNzZXJ0X3RydWUo
dGhpcy5vcGVuZWRfKTsKLSAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHsgc3VjY2VzczogdHJ1
ZSB9KTsKLSAgfQotCi0gIGNsZWFySGFsdChlbmRwb2ludCkgewotICAgIGFzc2VydF90cnVlKHRo
aXMub3BlbmVkXyk7Ci0gICAgYXNzZXJ0X2ZhbHNlKHRoaXMuY3VycmVudENvbmZpZ3VyYXRpb25f
ID09IG51bGwsICdkZXZpY2UgY29uZmlndXJlZCcpOwotICAgIC8vIFRPRE8ocmVpbGx5Zyk6IEFz
c2VydCB0aGF0IGVuZHBvaW50IGlzIHZhbGlkLgotICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUo
eyBzdWNjZXNzOiB0cnVlIH0pOwotICB9Ci0KLSAgY29udHJvbFRyYW5zZmVySW4ocGFyYW1zLCBs
ZW5ndGgsIHRpbWVvdXQpIHsKLSAgICBhc3NlcnRfdHJ1ZSh0aGlzLm9wZW5lZF8pOwotICAgIGFz
c2VydF9mYWxzZSh0aGlzLmN1cnJlbnRDb25maWd1cmF0aW9uXyA9PSBudWxsLCAnZGV2aWNlIGNv
bmZpZ3VyZWQnKTsKLSAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHsKLSAgICAgIHN0YXR1czog
ZGV2aWNlLm1vam9tLlVzYlRyYW5zZmVyU3RhdHVzLk9LLAotICAgICAgZGF0YTogW2xlbmd0aCA+
PiA4LCBsZW5ndGggJiAweGZmLCBwYXJhbXMucmVxdWVzdCwgcGFyYW1zLnZhbHVlID4+IDgsCi0g
ICAgICAgICAgICAgcGFyYW1zLnZhbHVlICYgMHhmZiwgcGFyYW1zLmluZGV4ID4+IDgsIHBhcmFt
cy5pbmRleCAmIDB4ZmZdCi0gICAgfSk7Ci0gIH0KLQotICBjb250cm9sVHJhbnNmZXJPdXQocGFy
YW1zLCBkYXRhLCB0aW1lb3V0KSB7Ci0gICAgYXNzZXJ0X3RydWUodGhpcy5vcGVuZWRfKTsKLSAg
ICBhc3NlcnRfZmFsc2UodGhpcy5jdXJyZW50Q29uZmlndXJhdGlvbl8gPT0gbnVsbCwgJ2Rldmlj
ZSBjb25maWd1cmVkJyk7Ci0gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh7Ci0gICAgICBzdGF0
dXM6IGRldmljZS5tb2pvbS5Vc2JUcmFuc2ZlclN0YXR1cy5PSywKLSAgICAgIGJ5dGVzV3JpdHRl
bjogZGF0YS5ieXRlTGVuZ3RoCi0gICAgfSk7Ci0gIH0KLQotICBnZW5lcmljVHJhbnNmZXJJbihl
bmRwb2ludE51bWJlciwgbGVuZ3RoLCB0aW1lb3V0KSB7Ci0gICAgYXNzZXJ0X3RydWUodGhpcy5v
cGVuZWRfKTsKLSAgICBhc3NlcnRfZmFsc2UodGhpcy5jdXJyZW50Q29uZmlndXJhdGlvbl8gPT0g
bnVsbCwgJ2RldmljZSBjb25maWd1cmVkJyk7Ci0gICAgLy8gVE9ETyhyZWlsbHlnKTogQXNzZXJ0
IHRoYXQgZW5kcG9pbnQgaXMgdmFsaWQuCi0gICAgbGV0IGRhdGEgPSBuZXcgQXJyYXkobGVuZ3Ro
KTsKLSAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxlbmd0aDsgKytpKQotICAgICAgZGF0YVtpXSA9
IGkgJiAweGZmOwotICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoewotICAgICAgc3RhdHVzOiBk
ZXZpY2UubW9qb20uVXNiVHJhbnNmZXJTdGF0dXMuT0ssCi0gICAgICBkYXRhOiBkYXRhCi0gICAg
fSk7Ci0gIH0KLQotICBnZW5lcmljVHJhbnNmZXJPdXQoZW5kcG9pbnROdW1iZXIsIGRhdGEsIHRp
bWVvdXQpIHsKLSAgICBhc3NlcnRfdHJ1ZSh0aGlzLm9wZW5lZF8pOwotICAgIGFzc2VydF9mYWxz
ZSh0aGlzLmN1cnJlbnRDb25maWd1cmF0aW9uXyA9PSBudWxsLCAnZGV2aWNlIGNvbmZpZ3VyZWQn
KTsKLSAgICAvLyBUT0RPKHJlaWxseWcpOiBBc3NlcnQgdGhhdCBlbmRwb2ludCBpcyB2YWxpZC4K
LSAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHsKLSAgICAgIHN0YXR1czogZGV2aWNlLm1vam9t
LlVzYlRyYW5zZmVyU3RhdHVzLk9LLAotICAgICAgYnl0ZXNXcml0dGVuOiBkYXRhLmJ5dGVMZW5n
dGgKLSAgICB9KTsKLSAgfQotCi0gIGlzb2Nocm9ub3VzVHJhbnNmZXJJbihlbmRwb2ludE51bWJl
ciwgcGFja2V0TGVuZ3RocywgdGltZW91dCkgewotICAgIGFzc2VydF90cnVlKHRoaXMub3BlbmVk
Xyk7Ci0gICAgYXNzZXJ0X2ZhbHNlKHRoaXMuY3VycmVudENvbmZpZ3VyYXRpb25fID09IG51bGws
ICdkZXZpY2UgY29uZmlndXJlZCcpOwotICAgIC8vIFRPRE8ocmVpbGx5Zyk6IEFzc2VydCB0aGF0
IGVuZHBvaW50IGlzIHZhbGlkLgotICAgIGxldCBkYXRhID0gbmV3IEFycmF5KHBhY2tldExlbmd0
aHMucmVkdWNlKChhLCBiKSA9PiBhICsgYiwgMCkpOwotICAgIGxldCBkYXRhT2Zmc2V0ID0gMDsK
LSAgICBsZXQgcGFja2V0cyA9IG5ldyBBcnJheShwYWNrZXRMZW5ndGhzLmxlbmd0aCk7Ci0gICAg
Zm9yIChsZXQgaSA9IDA7IGkgPCBwYWNrZXRMZW5ndGhzLmxlbmd0aDsgKytpKSB7Ci0gICAgICBm
b3IgKGxldCBqID0gMDsgaiA8IHBhY2tldExlbmd0aHNbaV07ICsraikKLSAgICAgICAgZGF0YVtk
YXRhT2Zmc2V0KytdID0gaiAmIDB4ZmY7Ci0gICAgICBwYWNrZXRzW2ldID0gewotICAgICAgICBs
ZW5ndGg6IHBhY2tldExlbmd0aHNbaV0sCi0gICAgICAgIHRyYW5zZmVycmVkTGVuZ3RoOiBwYWNr
ZXRMZW5ndGhzW2ldLAotICAgICAgICBzdGF0dXM6IGRldmljZS5tb2pvbS5Vc2JUcmFuc2ZlclN0
YXR1cy5PSwotICAgICAgfTsKLSAgICB9Ci0gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh7IGRh
dGE6IGRhdGEsIHBhY2tldHM6IHBhY2tldHMgfSk7Ci0gIH0KLQotICBpc29jaHJvbm91c1RyYW5z
ZmVyT3V0KGVuZHBvaW50TnVtYmVyLCBkYXRhLCBwYWNrZXRMZW5ndGhzLCB0aW1lb3V0KSB7Ci0g
ICAgYXNzZXJ0X3RydWUodGhpcy5vcGVuZWRfKTsKLSAgICBhc3NlcnRfZmFsc2UodGhpcy5jdXJy
ZW50Q29uZmlndXJhdGlvbl8gPT0gbnVsbCwgJ2RldmljZSBjb25maWd1cmVkJyk7Ci0gICAgLy8g
VE9ETyhyZWlsbHlnKTogQXNzZXJ0IHRoYXQgZW5kcG9pbnQgaXMgdmFsaWQuCi0gICAgbGV0IHBh
Y2tldHMgPSBuZXcgQXJyYXkocGFja2V0TGVuZ3Rocy5sZW5ndGgpOwotICAgIGZvciAobGV0IGkg
PSAwOyBpIDwgcGFja2V0TGVuZ3Rocy5sZW5ndGg7ICsraSkgewotICAgICAgcGFja2V0c1tpXSA9
IHsKLSAgICAgICAgbGVuZ3RoOiBwYWNrZXRMZW5ndGhzW2ldLAotICAgICAgICB0cmFuc2ZlcnJl
ZExlbmd0aDogcGFja2V0TGVuZ3Roc1tpXSwKLSAgICAgICAgc3RhdHVzOiBkZXZpY2UubW9qb20u
VXNiVHJhbnNmZXJTdGF0dXMuT0sKLSAgICAgIH07Ci0gICAgfQotICAgIHJldHVybiBQcm9taXNl
LnJlc29sdmUoeyBwYWNrZXRzOiBwYWNrZXRzIH0pOwotICB9Ci19Ci0KLWNsYXNzIEZha2VEZXZp
Y2VNYW5hZ2VyIHsKLSAgY29uc3RydWN0b3IoKSB7Ci0gICAgdGhpcy5iaW5kaW5nU2V0XyA9IG5l
dyBtb2pvLkJpbmRpbmdTZXQoZGV2aWNlLm1vam9tLlVzYkRldmljZU1hbmFnZXIpOwotICAgIHRo
aXMuZGV2aWNlc18gPSBuZXcgTWFwKCk7Ci0gICAgdGhpcy5kZXZpY2VzQnlHdWlkXyA9IG5ldyBN
YXAoKTsKLSAgICB0aGlzLmNsaWVudF8gPSBudWxsOwotICAgIHRoaXMubmV4dEd1aWRfID0gMDsK
LSAgfQotCi0gIGFkZEJpbmRpbmcoaGFuZGxlKSB7Ci0gICAgdGhpcy5iaW5kaW5nU2V0Xy5hZGRC
aW5kaW5nKHRoaXMsIGhhbmRsZSk7Ci0gIH0KLQotICBhZGREZXZpY2UoZmFrZURldmljZSwgaW5m
bykgewotICAgIGxldCBkZXZpY2UgPSB7Ci0gICAgICBmYWtlRGV2aWNlOiBmYWtlRGV2aWNlLAot
ICAgICAgZ3VpZDogKHRoaXMubmV4dEd1aWRfKyspLnRvU3RyaW5nKCksCi0gICAgICBpbmZvOiBp
bmZvLAotICAgICAgYmluZGluZ0FycmF5OiBbXQotICAgIH07Ci0gICAgdGhpcy5kZXZpY2VzXy5z
ZXQoZmFrZURldmljZSwgZGV2aWNlKTsKLSAgICB0aGlzLmRldmljZXNCeUd1aWRfLnNldChkZXZp
Y2UuZ3VpZCwgZGV2aWNlKTsKLSAgICBpZiAodGhpcy5jbGllbnRfKQotICAgICAgdGhpcy5jbGll
bnRfLm9uRGV2aWNlQWRkZWQoZmFrZURldmljZUluaXRUb0RldmljZUluZm8oZGV2aWNlLmd1aWQs
IGluZm8pKTsKLSAgfQotCi0gIHJlbW92ZURldmljZShmYWtlRGV2aWNlKSB7Ci0gICAgbGV0IGRl
dmljZSA9IHRoaXMuZGV2aWNlc18uZ2V0KGZha2VEZXZpY2UpOwotICAgIGlmICghZGV2aWNlKQot
ICAgICAgdGhyb3cgbmV3IEVycm9yKCdDYW5ub3QgcmVtb3ZlIHVua25vd24gZGV2aWNlLicpOwot
Ci0gICAgZm9yICh2YXIgYmluZGluZyBvZiBkZXZpY2UuYmluZGluZ0FycmF5KQotICAgICAgYmlu
ZGluZy5jbG9zZSgpOwotICAgIHRoaXMuZGV2aWNlc18uZGVsZXRlKGRldmljZS5mYWtlRGV2aWNl
KTsKLSAgICB0aGlzLmRldmljZXNCeUd1aWRfLmRlbGV0ZShkZXZpY2UuZ3VpZCk7Ci0gICAgaWYg
KHRoaXMuY2xpZW50XykgewotICAgICAgdGhpcy5jbGllbnRfLm9uRGV2aWNlUmVtb3ZlZCgKLSAg
ICAgICAgICBmYWtlRGV2aWNlSW5pdFRvRGV2aWNlSW5mbyhkZXZpY2UuZ3VpZCwgZGV2aWNlLmlu
Zm8pKTsKLSAgICB9Ci0gIH0KLQotICByZW1vdmVBbGxEZXZpY2VzKCkgewotICAgIHRoaXMuZGV2
aWNlc18uZm9yRWFjaChkZXZpY2UgPT4gewotICAgICAgZm9yICh2YXIgYmluZGluZyBvZiBkZXZp
Y2UuYmluZGluZ0FycmF5KQotICAgICAgICBiaW5kaW5nLmNsb3NlKCk7Ci0gICAgICB0aGlzLmNs
aWVudF8ub25EZXZpY2VSZW1vdmVkKAotICAgICAgICAgIGZha2VEZXZpY2VJbml0VG9EZXZpY2VJ
bmZvKGRldmljZS5ndWlkLCBkZXZpY2UuaW5mbykpOwotICAgIH0pOwotICAgIHRoaXMuZGV2aWNl
c18uY2xlYXIoKTsKLSAgICB0aGlzLmRldmljZXNCeUd1aWRfLmNsZWFyKCk7Ci0gIH0KLQotICBn
ZXREZXZpY2VzKG9wdGlvbnMpIHsKLSAgICBsZXQgZGV2aWNlcyA9IFtdOwotICAgIHRoaXMuZGV2
aWNlc18uZm9yRWFjaChkZXZpY2UgPT4gewotICAgICAgZGV2aWNlcy5wdXNoKGZha2VEZXZpY2VJ
bml0VG9EZXZpY2VJbmZvKGRldmljZS5ndWlkLCBkZXZpY2UuaW5mbykpOwotICAgIH0pOwotICAg
IHJldHVybiBQcm9taXNlLnJlc29sdmUoeyByZXN1bHRzOiBkZXZpY2VzIH0pOwotICB9Ci0KLSAg
Z2V0RGV2aWNlKGd1aWQsIHJlcXVlc3QpIHsKLSAgICBsZXQgZGV2aWNlID0gdGhpcy5kZXZpY2Vz
QnlHdWlkXy5nZXQoZ3VpZCk7Ci0gICAgaWYgKGRldmljZSkgewotICAgICAgbGV0IGJpbmRpbmcg
PSBuZXcgbW9qby5CaW5kaW5nKAotICAgICAgICAgIHdpbmRvdy5kZXZpY2UubW9qb20uVXNiRGV2
aWNlLCBuZXcgRmFrZURldmljZShkZXZpY2UuaW5mbyksIHJlcXVlc3QpOwotICAgICAgYmluZGlu
Zy5zZXRDb25uZWN0aW9uRXJyb3JIYW5kbGVyKCgpID0+IHsKLSAgICAgICAgaWYgKGRldmljZS5m
YWtlRGV2aWNlLm9uY2xvc2UpCi0gICAgICAgICAgZGV2aWNlLmZha2VEZXZpY2Uub25jbG9zZSgp
OwotICAgICAgfSk7Ci0gICAgICBkZXZpY2UuYmluZGluZ0FycmF5LnB1c2goYmluZGluZyk7Ci0g
ICAgfSBlbHNlIHsKLSAgICAgIHJlcXVlc3QuY2xvc2UoKTsKLSAgICB9Ci0gIH0KLQotICBzZXRD
bGllbnQoY2xpZW50KSB7Ci0gICAgdGhpcy5jbGllbnRfID0gY2xpZW50OwotICB9Ci19Ci0KLWNs
YXNzIFVTQkRldmljZVJlcXVlc3RFdmVudCB7Ci0gIGNvbnN0cnVjdG9yKGRldmljZUZpbHRlcnMs
IHJlc29sdmUpIHsKLSAgICB0aGlzLmZpbHRlcnMgPSBjb252ZXJ0TW9qb0RldmljZUZpbHRlcnMo
ZGV2aWNlRmlsdGVycyk7Ci0gICAgdGhpcy5yZXNvbHZlRnVuY18gPSByZXNvbHZlOwotICB9Ci0K
LSAgcmVzcG9uZFdpdGgodmFsdWUpIHsKLSAgICAvLyBXYWl0IHVudGlsIHx2YWx1ZXwgcmVzb2x2
ZXMgKGlmIGl0IGlzIGEgUHJvbWlzZSkuIFRoaXMgZnVuY3Rpb24gcmV0dXJucwotICAgIC8vIG5v
IHZhbHVlLgotICAgIFByb21pc2UucmVzb2x2ZSh2YWx1ZSkudGhlbihmYWtlRGV2aWNlID0+IHsK
LSAgICAgIGxldCBkZXZpY2UgPSBpbnRlcm5hbC5kZXZpY2VNYW5hZ2VyLmRldmljZXNfLmdldChm
YWtlRGV2aWNlKTsKLSAgICAgIGxldCByZXN1bHQgPSBudWxsOwotICAgICAgaWYgKGRldmljZSkg
ewotICAgICAgICByZXN1bHQgPSBmYWtlRGV2aWNlSW5pdFRvRGV2aWNlSW5mbyhkZXZpY2UuZ3Vp
ZCwgZGV2aWNlLmluZm8pOwotICAgICAgfQotICAgICAgdGhpcy5yZXNvbHZlRnVuY18oeyByZXN1
bHQ6IHJlc3VsdCB9KTsKLSAgICB9LCAoKSA9PiB7Ci0gICAgICB0aGlzLnJlc29sdmVGdW5jXyh7
IHJlc3VsdDogbnVsbCB9KTsKLSAgICB9KTsKLSAgfQotfQotCi1jbGFzcyBGYWtlQ2hvb3NlclNl
cnZpY2UgewotICBjb25zdHJ1Y3RvcigpIHsKLSAgICB0aGlzLmJpbmRpbmdTZXRfID0gbmV3IG1v
am8uQmluZGluZ1NldChkZXZpY2UubW9qb20uVXNiQ2hvb3NlclNlcnZpY2UpOwotICB9Ci0KLSAg
YWRkQmluZGluZyhoYW5kbGUpIHsKLSAgICB0aGlzLmJpbmRpbmdTZXRfLmFkZEJpbmRpbmcodGhp
cywgaGFuZGxlKTsKLSAgfQotCi0gIGdldFBlcm1pc3Npb24oZGV2aWNlRmlsdGVycykgewotICAg
IHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKLSAgICAgIGlmIChuYXZpZ2F0b3IudXNi
LnRlc3Qub25yZXF1ZXN0ZGV2aWNlKSB7Ci0gICAgICAgIG5hdmlnYXRvci51c2IudGVzdC5vbnJl
cXVlc3RkZXZpY2UoCi0gICAgICAgICAgICBuZXcgVVNCRGV2aWNlUmVxdWVzdEV2ZW50KGRldmlj
ZUZpbHRlcnMsIHJlc29sdmUpKTsKLSAgICAgIH0gZWxzZSB7Ci0gICAgICAgIHJlc29sdmUoeyBy
ZXN1bHQ6IG51bGwgfSk7Ci0gICAgICB9Ci0gICAgfSk7Ci0gIH0KLX0KLQotLy8gVW5saWtlIEZh
a2VEZXZpY2UgdGhpcyBjbGFzcyBpcyBleHBvcnRlZCB0byBjYWxsZXJzIG9mIFVTQlRlc3QuYWRk
RmFrZURldmljZS4KLWNsYXNzIEZha2VVU0JEZXZpY2UgewotICBjb25zdHJ1Y3RvcigpIHsKLSAg
ICB0aGlzLm9uY2xvc2UgPSBudWxsOwotICB9Ci0KLSAgZGlzY29ubmVjdCgpIHsKLSAgICBzZXRU
aW1lb3V0KCgpID0+IGludGVybmFsLmRldmljZU1hbmFnZXIucmVtb3ZlRGV2aWNlKHRoaXMpLCAw
KTsKLSAgfQotfQotCi0vLyBBIGhlbHBlciBmb3IgZm9yd2FyZGluZyBNb2pvSGFuZGxlIGluc3Rh
bmNlcyBmcm9tIG9uZSBmcmFtZSB0byBhbm90aGVyLgotY2xhc3MgQ3Jvc3NGcmFtZUhhbmRsZVBy
b3h5IHsKLSAgY29uc3RydWN0b3IoY2FsbGJhY2spIHsKLSAgICBsZXQge2hhbmRsZTAsIGhhbmRs
ZTF9ID0gTW9qby5jcmVhdGVNZXNzYWdlUGlwZSgpOwotICAgIHRoaXMuc2VuZGVyXyA9IGhhbmRs
ZTA7Ci0gICAgdGhpcy5yZWNlaXZlcl8gPSBoYW5kbGUxOwotICAgIHRoaXMucmVjZWl2ZXJfLndh
dGNoKHtyZWFkYWJsZTogdHJ1ZX0sICgpID0+IHsKLSAgICAgIGxldCBtZXNzYWdlID0gdGhpcy5y
ZWNlaXZlcl8ucmVhZE1lc3NhZ2UoKTsKLSAgICAgIGFzc2VydF9lcXVhbHMobWVzc2FnZS5idWZm
ZXIuYnl0ZUxlbmd0aCwgMCk7Ci0gICAgICBhc3NlcnRfZXF1YWxzKG1lc3NhZ2UuaGFuZGxlcy5s
ZW5ndGgsIDEpOwotICAgICAgY2FsbGJhY2sobWVzc2FnZS5oYW5kbGVzWzBdKTsKLSAgICB9KTsK
LSAgfQotCi0gIGZvcndhcmRIYW5kbGUoaGFuZGxlKSB7Ci0gICAgdGhpcy5zZW5kZXJfLndyaXRl
TWVzc2FnZShuZXcgQXJyYXlCdWZmZXIsIFtoYW5kbGVdKTsKLSAgfQotfQotCi1jbGFzcyBVU0JU
ZXN0IHsKLSAgY29uc3RydWN0b3IoKSB7Ci0gICAgdGhpcy5vbnJlcXVlc3RkZXZpY2UgPSB1bmRl
ZmluZWQ7Ci0gIH0KLQotICBhc3luYyBpbml0aWFsaXplKCkgewotICAgIGlmIChpbnRlcm5hbC5p
bml0aWFsaXplZCkKLSAgICAgIHJldHVybjsKLQotICAgIGludGVybmFsLmRldmljZU1hbmFnZXIg
PSBuZXcgRmFrZURldmljZU1hbmFnZXIoKTsKLSAgICBpbnRlcm5hbC5kZXZpY2VNYW5hZ2VySW50
ZXJjZXB0b3IgPQotICAgICAgICBuZXcgTW9qb0ludGVyZmFjZUludGVyY2VwdG9yKGRldmljZS5t
b2pvbS5Vc2JEZXZpY2VNYW5hZ2VyLm5hbWUpOwotICAgIGludGVybmFsLmRldmljZU1hbmFnZXJJ
bnRlcmNlcHRvci5vbmludGVyZmFjZXJlcXVlc3QgPQotICAgICAgICBlID0+IGludGVybmFsLmRl
dmljZU1hbmFnZXIuYWRkQmluZGluZyhlLmhhbmRsZSk7Ci0gICAgaW50ZXJuYWwuZGV2aWNlTWFu
YWdlckludGVyY2VwdG9yLnN0YXJ0KCk7Ci0gICAgaW50ZXJuYWwuZGV2aWNlTWFuYWdlckNyb3Nz
RnJhbWVQcm94eSA9IG5ldyBDcm9zc0ZyYW1lSGFuZGxlUHJveHkoCi0gICAgICAgIGhhbmRsZSA9
PiBpbnRlcm5hbC5kZXZpY2VNYW5hZ2VyLmFkZEJpbmRpbmcoaGFuZGxlKSk7Ci0KLSAgICBpbnRl
cm5hbC5jaG9vc2VyID0gbmV3IEZha2VDaG9vc2VyU2VydmljZSgpOwotICAgIGludGVybmFsLmNo
b29zZXJJbnRlcmNlcHRvciA9Ci0gICAgICAgIG5ldyBNb2pvSW50ZXJmYWNlSW50ZXJjZXB0b3Io
ZGV2aWNlLm1vam9tLlVzYkNob29zZXJTZXJ2aWNlLm5hbWUpOwotICAgIGludGVybmFsLmNob29z
ZXJJbnRlcmNlcHRvci5vbmludGVyZmFjZXJlcXVlc3QgPQotICAgICAgICBlID0+IGludGVybmFs
LmNob29zZXIuYWRkQmluZGluZyhlLmhhbmRsZSk7Ci0gICAgaW50ZXJuYWwuY2hvb3NlckludGVy
Y2VwdG9yLnN0YXJ0KCk7Ci0gICAgaW50ZXJuYWwuY2hvb3NlckNyb3NzRnJhbWVQcm94eSA9IG5l
dyBDcm9zc0ZyYW1lSGFuZGxlUHJveHkoCi0gICAgICAgIGhhbmRsZSA9PiBpbnRlcm5hbC5jaG9v
c2VyLmFkZEJpbmRpbmcoaGFuZGxlKSk7Ci0KLSAgICAvLyBXYWl0IGZvciBhIGNhbGwgdG8gR2V0
RGV2aWNlcygpIHRvIHBhc3MgYmV0d2VlbiB0aGUgcmVuZGVyZXIgYW5kIHRoZQotICAgIC8vIG1v
Y2sgaW4gb3JkZXIgdG8gZXN0YWJsaXNoIHRoYXQgZXZlcnl0aGluZyBpcyBzZXQgdXAuCi0gICAg
YXdhaXQgbmF2aWdhdG9yLnVzYi5nZXREZXZpY2VzKCk7Ci0gICAgaW50ZXJuYWwuaW5pdGlhbGl6
ZWQgPSB0cnVlOwotICB9Ci0KLSAgYXN5bmMgYXR0YWNoVG9XaW5kb3cob3RoZXJXaW5kb3cpIHsK
LSAgICBpZiAoIWludGVybmFsLmluaXRpYWxpemVkKQotICAgICAgdGhyb3cgbmV3IEVycm9yKCdD
YWxsIGluaXRpYWxpemUoKSBiZWZvcmUgYXR0YWNoVG9XaW5kb3coKS4nKTsKLQotICAgIG90aGVy
V2luZG93LmRldmljZU1hbmFnZXJJbnRlcmNlcHRvciA9Ci0gICAgICAgIG5ldyBvdGhlcldpbmRv
dy5Nb2pvSW50ZXJmYWNlSW50ZXJjZXB0b3IoCi0gICAgICAgICAgICBkZXZpY2UubW9qb20uVXNi
RGV2aWNlTWFuYWdlci5uYW1lKTsKLSAgICBvdGhlcldpbmRvdy5kZXZpY2VNYW5hZ2VySW50ZXJj
ZXB0b3Iub25pbnRlcmZhY2VyZXF1ZXN0ID0KLSAgICAgICAgZSA9PiBpbnRlcm5hbC5kZXZpY2VN
YW5hZ2VyQ3Jvc3NGcmFtZVByb3h5LmZvcndhcmRIYW5kbGUoZS5oYW5kbGUpOwotICAgIG90aGVy
V2luZG93LmRldmljZU1hbmFnZXJJbnRlcmNlcHRvci5zdGFydCgpOwotCi0gICAgb3RoZXJXaW5k
b3cuY2hvb3NlckludGVyY2VwdG9yID0KLSAgICAgICAgbmV3IG90aGVyV2luZG93Lk1vam9JbnRl
cmZhY2VJbnRlcmNlcHRvcigKLSAgICAgICAgICAgIGRldmljZS5tb2pvbS5Vc2JDaG9vc2VyU2Vy
dmljZS5uYW1lKTsKLSAgICBvdGhlcldpbmRvdy5jaG9vc2VySW50ZXJjZXB0b3Iub25pbnRlcmZh
Y2VyZXF1ZXN0ID0KLSAgICAgICAgZSA9PiBpbnRlcm5hbC5jaG9vc2VyQ3Jvc3NGcmFtZVByb3h5
LmZvcndhcmRIYW5kbGUoZS5oYW5kbGUpOwotICAgIG90aGVyV2luZG93LmNob29zZXJJbnRlcmNl
cHRvci5zdGFydCgpOwotCi0gICAgLy8gV2FpdCBmb3IgYSBjYWxsIHRvIEdldERldmljZXMoKSB0
byBwYXNzIGJldHdlZW4gdGhlIHJlbmRlcmVyIGFuZCB0aGUKLSAgICAvLyBtb2NrIGluIG9yZGVy
IHRvIGVzdGFibGlzaCB0aGF0IGV2ZXJ5dGhpbmcgaXMgc2V0IHVwLgotICAgIGF3YWl0IG90aGVy
V2luZG93Lm5hdmlnYXRvci51c2IuZ2V0RGV2aWNlcygpOwotICB9Ci0KLSAgYWRkRmFrZURldmlj
ZShkZXZpY2VJbml0KSB7Ci0gICAgaWYgKCFpbnRlcm5hbC5pbml0aWFsaXplZCkKLSAgICAgIHRo
cm93IG5ldyBFcnJvcignQ2FsbCBpbml0aWFsaXplKCkgYmVmb3JlIGFkZEZha2VEZXZpY2UoKS4n
KTsKLQotICAgIC8vIHxhZGREZXZpY2V8IGFuZCB8cmVtb3ZlRGV2aWNlfCBhcmUgY2FsbGVkIGlu
IGEgc2V0VGltZW91dCBjYWxsYmFjayBzbwotICAgIC8vIHRoYXQgdGVzdHMgZG8gbm90IHJlbHkg
b24gdGhlIGRldmljZSBiZWluZyBpbW1lZGlhdGVseSBhdmFpbGFibGUgd2hpY2gKLSAgICAvLyBt
YXkgbm90IGJlIHRydWUgZm9yIGFsbCBpbXBsZW1lbnRhdGlvbnMgb2YgdGhpcyB0ZXN0IEFQSS4K
LSAgICBsZXQgZmFrZURldmljZSA9IG5ldyBGYWtlVVNCRGV2aWNlKCk7Ci0gICAgc2V0VGltZW91
dCgKLSAgICAgICAgKCkgPT4gaW50ZXJuYWwuZGV2aWNlTWFuYWdlci5hZGREZXZpY2UoZmFrZURl
dmljZSwgZGV2aWNlSW5pdCksIDApOwotICAgIHJldHVybiBmYWtlRGV2aWNlOwotICB9Ci0KLSAg
cmVzZXQoKSB7Ci0gICAgaWYgKCFpbnRlcm5hbC5pbml0aWFsaXplZCkKLSAgICAgIHRocm93IG5l
dyBFcnJvcignQ2FsbCBpbml0aWFsaXplKCkgYmVmb3JlIHJlc2V0KCkuJyk7Ci0KLSAgICAvLyBS
ZXNldCB0aGUgbW9ja3MgaW4gYSBzZXRUaW1lb3V0IGNhbGxiYWNrIHNvIHRoYXQgdGVzdHMgZG8g
bm90IHJlbHkgb24KLSAgICAvLyB0aGUgZmFjdCB0aGF0IHRoaXMgcG9seWZpbGwgY2FuIGRvIHRo
aXMgc3luY2hyb25vdXNseS4KLSAgICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7Ci0g
ICAgICBzZXRUaW1lb3V0KCgpID0+IHsKLSAgICAgICAgaW50ZXJuYWwuZGV2aWNlTWFuYWdlci5y
ZW1vdmVBbGxEZXZpY2VzKCk7Ci0gICAgICAgIHJlc29sdmUoKTsKLSAgICAgIH0sIDApOwotICAg
IH0pOwotICB9Ci19Ci0KLW5hdmlnYXRvci51c2IudGVzdCA9IG5ldyBVU0JUZXN0KCk7Ci0KLX0p
KCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy9jaHJvbWl1bS93ZWJ1c2ItdGVzdC5qcy5oZWFkZXJzIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vd2Vi
dXNiLXRlc3QuanMuaGVhZGVycwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjgwNWMz
MjNkZjVhOTc1MjMxNjQ4YjgzMGUzM2NlMTgzYzNjYmJkMy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS93ZWJ1c2ItdGVzdC5qcy5oZWFkZXJzCisr
KyAvZGV2L251bGwKQEAgLTEgKzAsMCBAQAotQ29udGVudC1UeXBlOiB0ZXh0L2phdmFzY3JpcHQ7
IGNoYXJzZXQ9dXRmLTgKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2RvY3MvYXBpLm1kIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZG9jcy9hcGkubWQKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM3YTg5MWU5MWVkZDI5YWI3MDFjN2U5ODAxYTkwN2VlYTlm
ZGQ3YmEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZG9jcy9h
cGkubWQKKysrIC9kZXYvbnVsbApAQCAtMSw3MDQgKzAsMCBAQAotIyMgSW50cm9kdWN0aW9uICMj
Ci0KLXRlc3RoYXJuZXNzLmpzIHByb3ZpZGVzIGEgZnJhbWV3b3JrIGZvciB3cml0aW5nIHRlc3Rj
YXNlcy4gSXQgaXMgaW50ZW5kZWQgdG8KLXByb3ZpZGUgYSBjb252ZW5pZW50IEFQSSBmb3IgbWFr
aW5nIGNvbW1vbiBhc3NlcnRpb25zLCBhbmQgdG8gd29yayBib3RoCi1mb3IgdGVzdGluZyBzeW5j
aHJvbm91cyBhbmQgYXN5bmNocm9ub3VzIERPTSBmZWF0dXJlcyBpbiBhIHdheSB0aGF0Ci1wcm9t
b3RlcyBjbGVhciwgcm9idXN0LCB0ZXN0cy4KLQotIyMgQmFzaWMgVXNhZ2UgIyMKLQotVGhlIHRl
c3QgaGFybmVzcyBzY3JpcHQgY2FuIGJlIHVzZWQgZnJvbSBIVE1MIG9yIFNWRyBkb2N1bWVudHMg
YW5kIHdlYiB3b3JrZXIKLXNjcmlwdHMuCi0KLUZyb20gYW4gSFRNTCBvciBTVkcgZG9jdW1lbnQs
IHN0YXJ0IGJ5IGltcG9ydGluZyBib3RoIGB0ZXN0aGFybmVzcy5qc2AgYW5kCi1gdGVzdGhhcm5l
c3NyZXBvcnQuanNgIHNjcmlwdHMgaW50byB0aGUgZG9jdW1lbnQ6Ci0KLWBgYGh0bWwKLTxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLWBgYAotCi1SZWZl
ciB0byB0aGUgW1dlYiBXb3JrZXJzXSgjd2ViLXdvcmtlcnMpIHNlY3Rpb24gZm9yIGRldGFpbHMg
YW5kIGFuIGV4YW1wbGUgb24KLXRlc3Rpbmcgd2l0aGluIGEgd2ViIHdvcmtlci4KLQotV2l0aGlu
IGVhY2ggZmlsZSBvbmUgbWF5IGRlZmluZSBvbmUgb3IgbW9yZSB0ZXN0cy4gRWFjaCB0ZXN0IGlz
IGF0b21pYyBpbiB0aGUKLXNlbnNlIHRoYXQgYSBzaW5nbGUgdGVzdCBoYXMgYSBzaW5nbGUgcmVz
dWx0IChgUEFTU2AvYEZBSUxgL2BUSU1FT1VUYC9gTk9UUlVOYCkuCi1XaXRoaW4gZWFjaCB0ZXN0
IG9uZSBtYXkgaGF2ZSBhIG51bWJlciBvZiBhc3NlcnRzLiBUaGUgdGVzdCBmYWlscyBhdCB0aGUg
Zmlyc3QKLWZhaWxpbmcgYXNzZXJ0LCBhbmQgdGhlIHJlbWFpbmRlciBvZiB0aGUgdGVzdCBpcyAo
dHlwaWNhbGx5KSBub3QgcnVuLgotCi1JZiB0aGUgZmlsZSBjb250YWluaW5nIHRoZSB0ZXN0cyBp
cyBhIEhUTUwgZmlsZSwgYSB0YWJsZSBjb250YWluaW5nIHRoZSB0ZXN0Ci1yZXN1bHRzIHdpbGwg
YmUgYWRkZWQgdG8gdGhlIGRvY3VtZW50IGFmdGVyIGFsbCB0ZXN0cyBoYXZlIHJ1bi4gQnkgZGVm
YXVsdCB0aGlzCi13aWxsIGJlIGFkZGVkIHRvIGEgYGRpdmAgZWxlbWVudCB3aXRoIGBpZD1sb2dg
IGlmIGl0IGV4aXN0cywgb3IgYSBuZXcgYGRpdmAKLWVsZW1lbnQgYXBwZW5kZWQgdG8gYGRvY3Vt
ZW50LmJvZHlgIGlmIGl0IGRvZXMgbm90LgotCi1OT1RFOiBCeSBkZWZhdWx0IHRlc3RzIG11c3Qg
YmUgY3JlYXRlZCBiZWZvcmUgdGhlIGxvYWQgZXZlbnQgZmlyZXMuIEZvciB3YXlzCi10byBjcmVh
dGUgdGVzdHMgYWZ0ZXIgdGhlIGxvYWQgZXZlbnQsIHNlZSAiRGV0ZXJtaW5pbmcgd2hlbiBhbGwg
dGVzdHMKLWFyZSBjb21wbGV0ZSIsIGJlbG93LgotCi0jIyBTeW5jaHJvbm91cyBUZXN0cyAjIwot
Ci1UbyBjcmVhdGUgYSBzeW5jaHJvbm91cyB0ZXN0IHVzZSB0aGUgYHRlc3QoKWAgZnVuY3Rpb246
Ci0KLWBgYGpzCi10ZXN0KHRlc3RfZnVuY3Rpb24sIG5hbWUsIHByb3BlcnRpZXMpCi1gYGAKLQot
YHRlc3RfZnVuY3Rpb25gIGlzIGEgZnVuY3Rpb24gdGhhdCBjb250YWlucyB0aGUgY29kZSB0byB0
ZXN0LiBGb3IgZXhhbXBsZSBhCi10cml2aWFsIHRlc3QgZm9yIHRoZSBET00KLVtgaGFzRmVhdHVy
ZSgpYF0oaHR0cHM6Ly9kb20uc3BlYy53aGF0d2cub3JnLyNkb20tZG9taW1wbGVtZW50YXRpb24t
aGFzZmVhdHVyZSkKLW1ldGhvZCAod2hpY2ggaXMgZGVmaW5lZCB0byBhbHdheXMgcmV0dXJuIHRy
dWUpIHdvdWxkIGJlOgotCi1gYGBqcwotdGVzdChmdW5jdGlvbigpIHsKLSAgYXNzZXJ0X3RydWUo
ZG9jdW1lbnQuaW1wbGVtZW50YXRpb24uaGFzRmVhdHVyZSgpKTsKLX0sICJoYXNGZWF0dXJlKCkg
d2l0aCBubyBhcmd1bWVudHMiKQotYGBgCi0KLVRoZSBmdW5jdGlvbiBwYXNzZWQgaW4gaXMgcnVu
IGluIHRoZSBgdGVzdCgpYCBjYWxsLgotCi1gcHJvcGVydGllc2AgaXMgYSBqYXZhc2NyaXB0IG9i
amVjdCBmb3IgcGFzc2luZyBleHRyYSBvcHRpb25zIHRvIHRoZQotdGVzdC4gQ3VycmVudGx5IGl0
IGlzIG9ubHkgdXNlZCB0byBwcm92aWRlIHRlc3Qtc3BlY2lmaWMKLW1ldGFkYXRhLCBhcyBkZXNj
cmliZWQgaW4gdGhlIFttZXRhZGF0YV0oI21ldGFkYXRhKSBzZWN0aW9uIGJlbG93LgotCi0jIyBB
c3luY2hyb25vdXMgVGVzdHMgIyMKLQotVGVzdGluZyBhc3luY2hyb25vdXMgZmVhdHVyZXMgaXMg
c29tZXdoYXQgbW9yZSBjb21wbGV4IHNpbmNlIHRoZSByZXN1bHQgb2YKLWEgdGVzdCBtYXkgZGVw
ZW5kIG9uIG9uZSBvciBtb3JlIGV2ZW50cyBvciBvdGhlciBjYWxsYmFja3MuIFRoZSBBUEkgcHJv
dmlkZWQKLWZvciB0ZXN0aW5nIHRoZXNlIGZlYXR1cmVzIGlzIGludGVuZGVkIHRvIGJlIHJhdGhl
ciBsb3ctbGV2ZWwgYnV0IGhvcGVmdWxseQotYXBwbGljYWJsZSB0byBtYW55IHNpdHVhdGlvbnMu
Ci0KLVRvIGNyZWF0ZSBhIHRlc3QsIG9uZSBzdGFydHMgYnkgZ2V0dGluZyBhIGBUZXN0YCBvYmpl
Y3QgdXNpbmcgYGFzeW5jX3Rlc3RgOgotCi1gYGBqcwotYXN5bmNfdGVzdChuYW1lLCBwcm9wZXJ0
aWVzKQotYGBgCi0KLWUuZy4KLQotYGBganMKLXZhciB0ID0gYXN5bmNfdGVzdCgiRE9NQ29udGVu
dExvYWRlZCIpCi1gYGAKLQotQXNzZXJ0aW9ucyBjYW4gYmUgYWRkZWQgdG8gdGhlIHRlc3QgYnkg
Y2FsbGluZyB0aGUgc3RlcCBtZXRob2Qgb2YgdGhlIHRlc3QKLW9iamVjdCB3aXRoIGEgZnVuY3Rp
b24gY29udGFpbmluZyB0aGUgdGVzdCBhc3NlcnRpb25zOgotCi1gYGBqcwotZG9jdW1lbnQuYWRk
RXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsIGZ1bmN0aW9uKCkgewotICB0LnN0ZXAo
ZnVuY3Rpb24oKSB7Ci0gICAgYXNzZXJ0X3RydWUoZS5idWJibGVzLCAiYnViYmxlcyBzaG91bGQg
YmUgdHJ1ZSIpOwotICB9KTsKLX0pOwotYGBgCi0KLVdoZW4gYWxsIHRoZSBzdGVwcyBhcmUgY29t
cGxldGUsIHRoZSBgZG9uZSgpYCBtZXRob2QgbXVzdCBiZSBjYWxsZWQ6Ci0KLWBgYGpzCi10LmRv
bmUoKTsKLWBgYAotCi1BcyBhIGNvbnZlbmllbmNlLCBgYXN5bmNfdGVzdGAgY2FuIGFsc28gdGFr
ZXMgYSBmdW5jdGlvbiBhcyBmaXJzdCBhcmd1bWVudC4KLVRoaXMgZnVuY3Rpb24gaXMgY2FsbGVk
IHdpdGggdGhlIHRlc3Qgb2JqZWN0IGFzIGJvdGggaXRzIGB0aGlzYCBvYmplY3QgYW5kCi1maXJz
dCBhcmd1bWVudC4gVGhlIGFib3ZlIGV4YW1wbGUgY2FuIGJlIHJld3JpdHRlbiBhczoKLQotYGBg
anMKLWFzeW5jX3Rlc3QoZnVuY3Rpb24odCkgewotICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVy
KCJET01Db250ZW50TG9hZGVkIiwgZnVuY3Rpb24oKSB7Ci0gICAgdC5zdGVwKGZ1bmN0aW9uKCkg
ewotICAgICAgYXNzZXJ0X3RydWUoZS5idWJibGVzLCAiYnViYmxlcyBzaG91bGQgYmUgdHJ1ZSIp
OwotICAgIH0pOwotICAgIHQuZG9uZSgpOwotICB9KTsKLX0sICJET01Db250ZW50TG9hZGVkIik7
Ci1gYGAKLQotd2hpY2ggYXZvaWRzIGNsdXR0ZXJpbmcgdGhlIGdsb2JhbCBzY29wZSB3aXRoIHJl
ZmVyZW5jZXMgdG8gYXN5bmMKLXRlc3RzIGluc3RhbmNlcy4KLQotVGhlIHByb3BlcnRpZXMgYXJn
dW1lbnQgaXMgaWRlbnRpY2FsIHRvIHRoYXQgZm9yIGB0ZXN0KClgLgotCi1JbiBtYW55IGNhc2Vz
IGl0IGlzIGNvbnZlbmllbnQgdG8gcnVuIGEgc3RlcCBpbiByZXNwb25zZSB0byBhbiBldmVudCBv
ciBhCi1jYWxsYmFjay4gQSBjb252ZW5pZW50IG1ldGhvZCBvZiBkb2luZyB0aGlzIGlzIHRocm91
Z2ggdGhlIGBzdGVwX2Z1bmNgIG1ldGhvZAotd2hpY2ggcmV0dXJucyBhIGZ1bmN0aW9uIHRoYXQs
IHdoZW4gY2FsbGVkIHJ1bnMgYSB0ZXN0IHN0ZXAuIEZvciBleGFtcGxlCi0KLWBgYGpzCi1kb2N1
bWVudC5hZGRFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIiwgdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24oKSB7Ci0gIGFzc2VydF90cnVlKGUuYnViYmxlcywgImJ1YmJsZXMgc2hvdWxkIGJlIHRy
dWUiKTsKLSAgdC5kb25lKCk7Ci19KTsKLWBgYAotCi1BcyBhIGZ1cnRoZXIgY29udmVuaWVuY2Us
IHRoZSBgc3RlcF9mdW5jYCB0aGF0IGNhbGxzIGBkb25lKClgIGNhbiBpbnN0ZWFkCi11c2UgYHN0
ZXBfZnVuY19kb25lYCwgYXMgZm9sbG93czoKLQotYGBganMKLWRvY3VtZW50LmFkZEV2ZW50TGlz
dGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLCB0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uKCkgewot
ICBhc3NlcnRfdHJ1ZShlLmJ1YmJsZXMsICJidWJibGVzIHNob3VsZCBiZSB0cnVlIik7Ci19KTsK
LWBgYAotCi1Gb3IgYXN5bmNocm9ub3VzIGNhbGxiYWNrcyB0aGF0IHNob3VsZCBuZXZlciBleGVj
dXRlLCBgdW5yZWFjaGVkX2Z1bmNgIGNhbgotYmUgdXNlZC4gRm9yIGV4YW1wbGU6Ci0KLWBgYGpz
Ci1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExv
YWRlZCIsCi0gIHQudW5yZWFjaGVkX2Z1bmMoIkRPTUNvbnRlbnRMb2FkZWQgc2hvdWxkIG5vdCBi
ZSBmaXJlZCBvbiB0aGUgZG9jdW1lbnQgZWxlbWVudCIpKTsKLWBgYAotCi1LZWVwIGluIG1pbmQg
dGhhdCBvdGhlciB0ZXN0cyBjb3VsZCBzdGFydCBleGVjdXRpbmcgYmVmb3JlIGFuIEFzeW5jaHJv
bm91cwotVGVzdCBpcyBmaW5pc2hlZC4KLQotIyMgUHJvbWlzZSBUZXN0cyAjIwotCi1gcHJvbWlz
ZV90ZXN0YCBjYW4gYmUgdXNlZCB0byB0ZXN0IEFQSXMgdGhhdCBhcmUgYmFzZWQgb24gUHJvbWlz
ZXM6Ci0KLWBgYGpzCi1wcm9taXNlX3Rlc3QodGVzdF9mdW5jdGlvbiwgbmFtZSwgcHJvcGVydGll
cykKLWBgYAotCi1gdGVzdF9mdW5jdGlvbmAgaXMgYSBmdW5jdGlvbiB0aGF0IHJlY2VpdmVzIGEg
dGVzdCBhcyBhbiBhcmd1bWVudCBhbmQgcmV0dXJucyBhCi1wcm9taXNlLiBUaGUgdGVzdCBjb21w
bGV0ZXMgd2hlbiB0aGUgcmV0dXJuZWQgcHJvbWlzZSByZXNvbHZlcy4gVGhlIHRlc3QgZmFpbHMK
LWlmIHRoZSByZXR1cm5lZCBwcm9taXNlIHJlamVjdHMuCi0KLUUuZy46Ci0KLWBgYGpzCi1mdW5j
dGlvbiBmb28oKSB7Ci0gIHJldHVybiBQcm9taXNlLnJlc29sdmUoImZvbyIpOwotfQotCi1wcm9t
aXNlX3Rlc3QoZnVuY3Rpb24oKSB7Ci0gIHJldHVybiBmb28oKQotICAgIC50aGVuKGZ1bmN0aW9u
KHJlc3VsdCkgewotICAgICAgYXNzZXJ0X2VxdWFscyhyZXN1bHQsICJmb28iLCAiZm9vIHNob3Vs
ZCByZXR1cm4gJ2ZvbyciKTsKLSAgICB9KTsKLX0sICJTaW1wbGUgZXhhbXBsZSIpOwotYGBgCi0K
LUluIHRoZSBleGFtcGxlIGFib3ZlLCBgZm9vKClgIHJldHVybnMgYSBQcm9taXNlIHRoYXQgcmVz
b2x2ZXMgd2l0aCB0aGUgc3RyaW5nCi0iZm9vIi4gVGhlIGB0ZXN0X2Z1bmN0aW9uYCBwYXNzZWQg
aW50byBgcHJvbWlzZV90ZXN0YCBpbnZva2VzIGBmb29gIGFuZCBhdHRhY2hlcwotYSByZXNvbHZl
IHJlYWN0aW9uIHRoYXQgdmVyaWZpZXMgdGhlIHJldHVybmVkIHZhbHVlLgotCi1Ob3RlIHRoYXQg
aW4gdGhlIHByb21pc2UgY2hhaW4gY29uc3RydWN0ZWQgaW4gYHRlc3RfZnVuY3Rpb25gIGFzc2Vy
dGlvbnMgZG9uJ3QKLW5lZWQgdG8gd3JhcHBlZCBpbiBgc3RlcGAgb3IgYHN0ZXBfZnVuY2AgY2Fs
bHMuCi0KLVVubGlrZSBBc3luY2hyb25vdXMgVGVzdHMsIFByb21pc2UgVGVzdHMgZG9uJ3Qgc3Rh
cnQgcnVubmluZyB1bnRpbCBhZnRlciB0aGUKLXByZXZpb3VzIFByb21pc2UgVGVzdCBmaW5pc2hl
cy4KLQotYHByb21pc2VfcmVqZWN0c2AgY2FuIGJlIHVzZWQgdG8gdGVzdCBQcm9taXNlcyB0aGF0
IG5lZWQgdG8gcmVqZWN0OgotCi1gYGBqcwotcHJvbWlzZV9yZWplY3RzKHRlc3Rfb2JqZWN0LCBj
b2RlLCBwcm9taXNlLCBkZXNjcmlwdGlvbikKLWBgYAotCi1UaGUgYGNvZGVgIGFyZ3VtZW50IGlz
IGVxdWl2YWxlbnQgdG8gdGhlIHNhbWUgYXJndW1lbnQgdG8gdGhlIGBhc3NlcnRfdGhyb3dzYAot
ZnVuY3Rpb24uCi0KLUhlcmUncyBhbiBleGFtcGxlIHdoZXJlIHRoZSBgYmFyKClgIGZ1bmN0aW9u
IHJldHVybnMgYSBQcm9taXNlIHRoYXQgcmVqZWN0cwotd2l0aCBhIFR5cGVFcnJvcjoKLQotYGBg
anMKLWZ1bmN0aW9uIGJhcigpIHsKLSAgcmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyBUeXBlRXJy
b3IoKSk7Ci19Ci0KLXByb21pc2VfdGVzdChmdW5jdGlvbih0KSB7Ci0gIHJldHVybiBwcm9taXNl
X3JlamVjdHModCwgbmV3IFR5cGVFcnJvcigpLCBiYXIoKSk7Ci19LCAiQW5vdGhlciBleGFtcGxl
Iik7Ci1gYGAKLQotYEV2ZW50V2F0Y2hlcmAgaXMgYSBjb25zdHJ1Y3RvciBmdW5jdGlvbiB0aGF0
IGFsbG93cyBET00gZXZlbnRzIHRvIGJlIGhhbmRsZWQKLXVzaW5nIFByb21pc2VzLCB3aGljaCBj
YW4gbWFrZSBpdCBhIGxvdCBlYXNpZXIgdG8gdGVzdCBhIHZlcnkgc3BlY2lmaWMgc2VyaWVzCi1v
ZiBldmVudHMsIGluY2x1ZGluZyBlbnN1cmluZyB0aGF0IHVuZXhwZWN0ZWQgZXZlbnRzIGFyZSBu
b3QgZmlyZWQgYXQgYW55IHBvaW50LgotCi1IZXJlJ3MgYW4gZXhhbXBsZSBvZiBob3cgdG8gdXNl
IGBFdmVudFdhdGNoZXJgOgotCi1gYGBqcwotdmFyIHQgPSBhc3luY190ZXN0KCJFdmVudCBvcmRl
ciBvbiBhbmltYXRpb24gc3RhcnQiKTsKLQotdmFyIGFuaW1hdGlvbiA9IHdhdGNoZWROb2RlLmdl
dEFuaW1hdGlvbnMoKVswXTsKLXZhciBldmVudFdhdGNoZXIgPSBuZXcgRXZlbnRXYXRjaGVyKHQs
IHdhdGNoZWROb2RlLCBbJ2FuaW1hdGlvbnN0YXJ0JywKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FuaW1hdGlvbml0ZXJhdGlvbicsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhbmltYXRp
b25lbmQnXSk7Ci0KLWV2ZW50V2F0Y2hlci53YWl0X2ZvcignYW5pbWF0aW9uc3RhcnQnKS50aGVu
KHQuc3RlcF9mdW5jKGZ1bmN0aW9uKCkgewotICBhc3NlcnRFeHBlY3RlZFN0YXRlQXRTdGFydE9m
QW5pbWF0aW9uKCk7Ci0gIGFuaW1hdGlvbi5jdXJyZW50VGltZSA9IEVORF9USU1FOyAvLyBza2lw
IHRvIGVuZAotICAvLyBXZSBleHBlY3QgdHdvIGFuaW1hdGlvbml0ZXJhdGlvbiBldmVudHMgdGhl
biBhbiBhbmltYXRpb25lbmQgZXZlbnQgb24KLSAgLy8gc2tpcHBpbmcgdG8gdGhlIGVuZCBvZiB0
aGUgYW5pbWF0aW9uLgotICByZXR1cm4gZXZlbnRXYXRjaGVyLndhaXRfZm9yKFsnYW5pbWF0aW9u
aXRlcmF0aW9uJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FuaW1hdGlvbml0
ZXJhdGlvbicsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhbmltYXRpb25lbmQn
XSk7Ci19KSkudGhlbih0LnN0ZXBfZnVuYyhmdW5jdGlvbigpIHsKLSAgYXNzZXJ0RXhwZWN0ZWRT
dGF0ZUF0RW5kT2ZBbmltYXRpb24oKTsKLSAgdC5kb25lKCk7Ci19KSk7Ci1gYGAKLQotYHdhaXRf
Zm9yYCBlaXRoZXIgdGFrZXMgdGhlIG5hbWUgb2YgYSBzaW5nbGUgZXZlbnQgYW5kIHJldHVybnMg
YSBQcm9taXNlIHRoYXQKLXdpbGwgcmVzb2x2ZSBhZnRlciB0aGF0IGV2ZW50IGlzIGZpcmVkIGF0
IHRoZSB3YXRjaGVkIG5vZGUsIG9yIGVsc2UgaXQgdGFrZXMgYW4KLWFycmF5IG9mIHRoZSBuYW1l
cyBvZiBhIHNlcmllcyBvZiBldmVudHMgYW5kIHJldHVybnMgYSBQcm9taXNlIHRoYXQgd2lsbAot
cmVzb2x2ZSBhZnRlciB0aGF0IHNwZWNpZmljIHNlcmllcyBvZiBldmVudHMgaGFzIGJlZW4gZmly
ZWQgYXQgdGhlIHdhdGNoZWQgbm9kZS4KLQotYEV2ZW50V2F0Y2hlcmAgd2lsbCBhc3NlcnQgaWYg
YW4gZXZlbnQgb2NjdXJzIHdoaWxlIHRoZXJlIGlzIG5vIGB3YWl0X2ZvcmAoKQotY3JlYXRlZCBQ
cm9taXNlIHdhaXRpbmcgdG8gYmUgZnVsZmlsbGVkLCBvciBpZiB0aGUgZXZlbnQgaXMgb2YgYSBk
aWZmZXJlbnQgdHlwZQotdG8gdGhlIHR5cGUgY3VycmVudGx5IGV4cGVjdGVkLiBUaGlzIGVuc3Vy
ZXMgdGhhdCBvbmx5IHRoZSBldmVudHMgdGhhdCBhcmUKLWV4cGVjdGVkIG9jY3VyLCBpbiB0aGUg
Y29ycmVjdCBvcmRlciwgYW5kIHdpdGggdGhlIGNvcnJlY3QgdGltaW5nLgotCi0jIyBTaW5nbGUg
UGFnZSBUZXN0cyAjIwotCi1Tb21ldGltZXMsIHBhcnRpY3VsYXJseSB3aGVuIGRlYWxpbmcgd2l0
aCBhc3luY2hyb25vdXMgYmVoYXZpb3VyLAotaGF2aW5nIGV4YWN0bHkgb25lIHRlc3QgcGVyIHBh
Z2UgaXMgZGVzaXJhYmxlLCBhbmQgdGhlIG92ZXJoZWFkIG9mCi13cmFwcGluZyBldmVyeXRoaW5n
IGluIGZ1bmN0aW9ucyBmb3IgaXNvbGF0aW9uIGJlY29tZXMKLWJ1cmRlbnNvbWUuIEZvciB0aGVz
ZSBjYXNlcyBgdGVzdGhhcm5lc3MuanNgIHN1cHBvcnQgInNpbmdsZSBwYWdlCi10ZXN0cyIuCi0K
LUluIG9yZGVyIGZvciBhIHRlc3QgdG8gYmUgaW50ZXJwcmV0ZWQgYXMgYSBzaW5nbGUgcGFnZSB0
ZXN0LCB0aGVuCi1pdCBtdXN0IHNpbXBseSBub3QgY2FsbCBgdGVzdCgpYCBvciBgYXN5bmNfdGVz
dCgpYCBhbnl3aGVyZSBvbiB0aGUgcGFnZSwgYW5kCi1tdXN0IGNhbGwgdGhlIGBkb25lKClgIGZ1
bmN0aW9uIHRvIGluZGljYXRlIHRoYXQgdGhlIHRlc3QgaXMgY29tcGxldGUuIEFsbAotdGhlIGBh
c3NlcnRfKmAgZnVuY3Rpb25zIGFyZSBhdmFsaWFibGUgYXMgbm9ybWFsLCBidXQgYXJlIGNhbGxl
ZCB3aXRob3V0Ci10aGUgbm9ybWFsIHN0ZXAgZnVuY3Rpb24gd3JhcHBlci4gRm9yIGV4YW1wbGU6
Ci0KLWBgYGh0bWwKLTwhZG9jdHlwZSBodG1sPgotPHRpdGxlPkJhc2ljIGRvY3VtZW50LmJvZHkg
dGVzdDwvdGl0bGU+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9z
Y3JpcHQ+Ci08Ym9keT4KLSAgPHNjcmlwdD4KLSAgICBhc3NlcnRfZXF1YWxzKGRvY3VtZW50LmJv
ZHksIGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJib2R5IilbMF0pCi0gICAgZG9uZSgp
Ci0gPC9zY3JpcHQ+Ci1gYGAKLQotVGhlIHRlc3QgdGl0bGUgZm9yIHNpbmdsZSBwYWdlIHRlc3Rz
IGlzIGFsd2F5cyB0YWtlbiBmcm9tIGBkb2N1bWVudC50aXRsZWAuCi0KLSMjIE1ha2luZyBhc3Nl
cnRpb25zICMjCi0KLUZ1bmN0aW9ucyBmb3IgbWFraW5nIGFzc2VydGlvbnMgc3RhcnQgYGFzc2Vy
dF9gLiBUaGUgZnVsbCBsaXN0IG9mCi1hc3NlcnRzIGF2YWxpYWJsZSBpcyBkb2N1bWVudGVkIGlu
IHRoZSBbYXNzZXJ0c10oI2xpc3Qtb2YtYXNzZXJ0aW9ucykgc2VjdGlvbgotYmVsb3cuIFRoZSBn
ZW5lcmFsIHNpZ25hdHVyZSBpcwotCi1gYGBqcwotYXNzZXJ0X3NvbWV0aGluZyhhY3R1YWwsIGV4
cGVjdGVkLCBkZXNjcmlwdGlvbikKLWBgYAotCi1hbHRob3VnaCBub3QgYWxsIGFzc2VydGlvbnMg
cHJlY2lzZWx5IG1hdGNoIHRoaXMgcGF0dGVybiBlLmcuIGBhc3NlcnRfdHJ1ZWAKLW9ubHkgdGFr
ZXMgYGFjdHVhbGAgYW5kIGBkZXNjcmlwdGlvbmAgYXMgYXJndW1lbnRzLgotCi1UaGUgZGVzY3Jp
cHRpb24gcGFyYW1ldGVyIGlzIHVzZWQgdG8gcHJlc2VudCBtb3JlIHVzZWZ1bCBlcnJvciBtZXNz
YWdlcyB3aGVuCi1hIHRlc3QgZmFpbHMKLQotTk9URTogQWxsIGFzc2VydHMgbXVzdCBiZSBsb2Nh
dGVkIGluIGEgYHRlc3QoKWAgb3IgYSBzdGVwIG9mIGFuCi1gYXN5bmNfdGVzdCgpYCwgdW5sZXNz
IHRoZSB0ZXN0IGlzIGEgc2luZ2xlIHBhZ2UgdGVzdC4gQXNzZXJ0cyBvdXRzaWRlCi10aGVzZSBw
bGFjZXMgd29uJ3QgYmUgZGV0ZWN0ZWQgY29ycmVjdGx5IGJ5IHRoZSBoYXJuZXNzIGFuZCBtYXkg
Y2F1c2UKLXVuZXhwZWN0ZWQgZXhjZXB0aW9ucyB0aGF0IHdpbGwgbGVhZCB0byBhbiBlcnJvciBp
biB0aGUgaGFybmVzcy4KLQotIyMgQ2xlYW51cCAjIwotCi1PY2Nhc2lvbmFsbHkgdGVzdHMgbWF5
IGNyZWF0ZSBzdGF0ZSB0aGF0IHdpbGwgcGVyc2lzdCBiZXlvbmQgdGhlIHRlc3QgaXRzZWxmLgot
SW4gb3JkZXIgdG8gZW5zdXJlIHRoYXQgdGVzdHMgYXJlIGluZGVwZW5kZW50LCBzdWNoIHN0YXRl
IHNob3VsZCBiZSBjbGVhbmVkCi11cCBvbmNlIHRoZSB0ZXN0IGhhcyBhIHJlc3VsdC4gVGhpcyBj
YW4gYmUgYWNoaWV2ZWQgYnkgYWRkaW5nIGNsZWFudXAKLWNhbGxiYWNrcyB0byB0aGUgdGVzdC4g
U3VjaCBjYWxsYmFja3MgYXJlIHJlZ2lzdGVyZWQgdXNpbmcgdGhlIGBhZGRfY2xlYW51cGAKLWZ1
bmN0aW9uIG9uIHRoZSB0ZXN0IG9iamVjdC4gQWxsIHJlZ2lzdGVyZWQgY2FsbGJhY2tzIHdpbGwg
YmUgcnVuIGFzIHNvb24gYXMKLXRoZSB0ZXN0IHJlc3VsdCBpcyBrbm93bi4gRm9yIGV4YW1wbGUK
LQotYGBganMKLSAgdGVzdChmdW5jdGlvbigpIHsKLSAgICB2YXIgZWxlbWVudCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwotICAgIGVsZW1lbnQuc2V0QXR0cmlidXRlKCJpZCIsICJu
dWxsIik7Ci0gICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChlbGVtZW50KTsKLSAgICB0aGlz
LmFkZF9jbGVhbnVwKGZ1bmN0aW9uKCkgeyBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGVsZW1l
bnQpIH0pOwotICAgIGFzc2VydF9lcXVhbHMoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQobnVsbCks
IGVsZW1lbnQpOwotICB9LCAiQ2FsbGluZyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCB3aXRoIGEg
bnVsbCBhcmd1bWVudC4iKTsKLWBgYAotCi0jIyBUaW1lb3V0cyBpbiBUZXN0cyAjIwotCi1JbiBn
ZW5lcmFsIHRoZSB1c2Ugb2YgdGltZW91dHMgaW4gdGVzdHMgaXMgZGlzY291cmFnZWQgYmVjYXVz
ZSB0aGlzIGlzCi1hbiBvYnNlcnZlZCBzb3VyY2Ugb2YgaW5zdGFiaWxpdHkgaW4gcmVhbCB0ZXN0
cyB3aGVuIHJ1biBvbiBDSQotaW5mcmFzdHJ1Y3R1cmUuIEluIHBhcnRpY3VsYXIgaWYgYSB0ZXN0
IHNob3VsZCBmYWlsIHdoZW4gc29tZXRoaW5nCi1kb2Vzbid0IGhhcHBlbiwgaXQgaXMgZ29vZCBw
cmFjdGljZSB0byBzaW1wbHkgbGV0IHRoZSB0ZXN0IHJ1biB0byB0aGUKLWZ1bGwgdGltZW91dCBy
YXRoZXIgdGhhbiB0cnlpbmcgdG8gZ3Vlc3MgYW4gYXBwcm9wcmlhdGUgc2hvcnRlcgotdGltZW91
dCB0byB1c2UuCi0KLUluIG90aGVyIGNhc2VzIGl0IG1heSBiZSBuZWNlc3NhcnkgdG8gdXNlIGEg
dGltZW91dCAoZS5nLiwgZm9yIGEgdGVzdAotdGhhdCBvbmx5IHBhc3NlcyBpZiBzb21lIGV2ZW50
IGlzICpub3QqIGZpcmVkKS4gSW4gdGhpcyBjYXNlIGl0IGlzCi0qbm90KiBwZXJtaXR0ZWQgdG8g
dXNlIHRoZSBzdGFuZGFyZCBgc2V0VGltZW91dGAgZnVuY3Rpb24uIEluc3RlYWQgb25lCi1tdXN0
IHVzZSB0aGUgYHN0ZXBfdGltZW91dGAgZnVuY3Rpb246Ci0KLWBgYGpzCi1hc3luY190ZXN0KGZ1
bmN0aW9uKHQpIHsKLSAgdmFyIGdvdEV2ZW50ID0gZmFsc2U7Ci0gIGRvY3VtZW50LmFkZEV2ZW50
TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLCB0LnN0ZXBfZnVuYyhmdW5jdGlvbigpIHsKLSAg
ICBhc3NlcnRfZmFsc2UoZ290RXZlbnQsICJVbmV4cGVjdGVkIERPTUNvbnRlbnRMb2FkZWQgZXZl
bnQiKTsKLSAgICBnb3RFdmVudCA9IHRydWU7Ci0gICAgdC5zdGVwX3RpbWVvdXQoZnVuY3Rpb24o
KSB7IHQuZG9uZSgpOyB9LCAyMDAwKTsKLSAgfSk7Ci19LCAiT25seSBvbmUgRE9NQ29udGVudExv
YWRlZCIpOwotYGBgCi0KLVRoZSBkaWZmZXJlbmNlIGJldHdlZW4gYHNldFRpbWVvdXRgIGFuZCBg
c3RlcF90aW1lb3V0YCBpcyB0aGF0IHRoZQotbGF0dGVyIHRha2VzIGFjY291bnQgb2YgdGhlIHRp
bWVvdXQgbXVsdGlwbGllciB3aGVuIGNvbXB1dGluZyB0aGUKLWRlbGF5OyBlLmcuLCBpbiB0aGUg
YWJvdmUgY2FzZSBhIHRpbWVvdXQgbXVsdGlwbGllciBvZiAyIHdvdWxkIGNhdXNlIGEKLXBhdXNl
IG9mIDQwMDBtcyBiZWZvcmUgY2FsbGluZyB0aGUgY2FsbGJhY2suIFRoaXMgbWFrZXMgaXQgbGVz
cyBsaWtlbHkKLXRvIHByb2R1Y2UgdW5zdGFibGUgcmVzdWx0cyBpbiBzbG93IGNvbmZpZ3VyYXRp
b25zLgotCi1Ob3RlIHRoYXQgdGltZW91dHMgZ2VuZXJhbGx5IG5lZWQgdG8gYmUgYSBmZXcgc2Vj
b25kcyBsb25nIGluIG9yZGVyIHRvCi1wcm9kdWNlIHN0YWJsZSByZXN1bHRzIGluIGFsbCB0ZXN0
IGVudmlyb25tZW50cy4KLQotRm9yIHNpbmdsZS1wYWdlIHRlc3RzLCBgc3RlcF90aW1lb3V0YCBp
cyBhbHNvIGF2YWlsYWJsZSBhcyBhIGdsb2JhbAotZnVuY3Rpb24uCi0KLSMjIEhhcm5lc3MgVGlt
ZW91dCAjIwotCi1UaGUgb3ZlcmFsbCBoYXJuZXNzIGFkbWl0cyB0d28gdGltZW91dCB2YWx1ZXMg
YCJub3JtYWwiYCAodGhlCi1kZWZhdWx0KSBhbmQgYCJsb25nImAsIHVzZWQgZm9yIHRlc3RzIHdo
aWNoIGhhdmUgYW4gdW51c3VhbGx5IGxvbmcKLXJ1bnRpbWUuIEFmdGVyIHRoZSB0aW1lb3V0IGlz
IHJlYWNoZWQsIHRoZSBoYXJuZXNzIHdpbGwgc3RvcAotd2FpdGluZyBmb3IgZnVydGhlciBhc3lu
YyB0ZXN0cyB0byBjb21wbGV0ZS4gQnkgZGVmYXVsdCB0aGUKLXRpbWVvdXRzIGFyZSBzZXQgdG8g
MTBzIGFuZCA2MHMsIHJlc3BlY3RpdmVseSwgYnV0IG1heSBiZSBjaGFuZ2VkCi13aGVuIHRoZSB0
ZXN0IGlzIHJ1biBvbiBoYXJkd2FyZSB3aXRoIGRpZmZlcmVudCBwZXJmb3JtYW5jZQotY2hhcmFj
dGVyaXN0aWNzIHRvIGEgY29tbW9uIGRlc2t0b3AgY29tcHV0ZXIuICBJbiBvcmRlciB0byBvcHQt
aW4KLXRvIHRoZSBsb25nZXIgdGVzdCB0aW1lb3V0LCB0aGUgdGVzdCBtdXN0IHNwZWNpZnkgYSBt
ZXRhIGVsZW1lbnQ6Ci0KLWBgYGh0bWwKLTxtZXRhIG5hbWU9InRpbWVvdXQiIGNvbnRlbnQ9Imxv
bmciPgotYGBgCi0KLU9jY2FzaW9uYWxseSB0ZXN0cyBtYXkgaGF2ZSBhIHJhY2UgYmV0d2VlbiB0
aGUgaGFybmVzcyB0aW1pbmcgb3V0IGFuZAotYSBwYXJ0aWN1bGFyIHRlc3QgZmFpbGluZzsgdHlw
aWNhbGx5IHdoZW4gdGhlIHRlc3Qgd2FpdHMgZm9yIHNvbWUgZXZlbnQKLXRoYXQgbmV2ZXIgb2Nj
dXJzLiBJbiB0aGlzIGNhc2UgaXQgaXMgcG9zc2libGUgdG8gdXNlIGB0ZXN0LmZvcmNlX3RpbWVv
dXQoKWAKLWluIHBsYWNlIG9mIGBhc3NlcnRfdW5yZWFjaGVkKClgLCB0byBpbW1lZGlhdGVseSBm
YWlsIHRoZSB0ZXN0IGJ1dCB3aXRoIGEKLXN0YXR1cyBvZiBgVElNRU9VVGAuIFRoaXMgc2hvdWxk
IG9ubHkgYmUgdXNlZCBhcyBhIGxhc3QgcmVzb3J0IHdoZW4gaXQgaXMKLW5vdCBwb3NzaWJsZSB0
byBtYWtlIHRoZSB0ZXN0IHJlbGlhYmxlIGluIHNvbWUgb3RoZXIgd2F5LgotCi0jIyBTZXR1cCAj
IwotCi1Tb21ldGltZXMgdGVzdHMgcmVxdWlyZSBub24tdHJpdmlhbCBzZXR1cCB0aGF0IG1heSBm
YWlsLiBGb3IgdGhpcyBwdXJwb3NlCi10aGVyZSBpcyBhIGBzZXR1cCgpYCBmdW5jdGlvbiwgdGhh
dCBtYXkgYmUgY2FsbGVkIHdpdGggb25lIG9yIHR3byBhcmd1bWVudHMuCi1UaGUgdHdvIGFyZ3Vt
ZW50IHZlcnNpb24gaXM6Ci0KLWBgYGpzCi1zZXR1cChmdW5jLCBwcm9wZXJ0aWVzKQotYGBgCi0K
LVRoZSBvbmUgYXJndW1lbnQgdmVyc2lvbnMgbWF5IG9taXQgZWl0aGVyIGFyZ3VtZW50LgotZnVu
YyBpcyBhIGZ1bmN0aW9uIHRvIGJlIHJ1biBzeW5jaHJvbm91c2x5LiBgc2V0dXAoKWAgYmVjb21l
cyBhIG5vLW9wIG9uY2UKLWFueSB0ZXN0cyBoYXZlIHJldHVybmVkIHJlc3VsdHMuIFByb3BlcnRp
ZXMgYXJlIGdsb2JhbCBwcm9wZXJ0aWVzIG9mIHRoZSB0ZXN0Ci1oYXJuZXNzLiBDdXJyZW50bHkg
cmVjb2duaXNlZCBwcm9wZXJ0aWVzIGFyZToKLQotYGV4cGxpY2l0X2RvbmVgIC0gV2FpdCBmb3Ig
YW4gZXhwbGljaXQgY2FsbCB0byBkb25lKCkgYmVmb3JlIGRlY2xhcmluZyBhbGwKLXRlc3RzIGNv
bXBsZXRlIChzZWUgYmVsb3c7IGltcGxpY2l0bHkgdHJ1ZSBmb3Igc2luZ2xlIHBhZ2UgdGVzdHMp
Ci0KLWBvdXRwdXRfZG9jdW1lbnRgIC0gVGhlIGRvY3VtZW50IHRvIHdoaWNoIHJlc3VsdHMgc2hv
dWxkIGJlIGxvZ2dlZC4gQnkgZGVmYXVsdAotdGhpcyBpcyB0aGUgY3VycmVudCBkb2N1bWVudCBi
dXQgY291bGQgYmUgYW4gYW5jZXN0b3IgZG9jdW1lbnQgaW4gc29tZSBjYXNlcwotZS5nLiBhIFNW
RyB0ZXN0IGxvYWRlZCBpbiBhbiBIVE1MIHdyYXBwZXIKLQotYGV4cGxpY2l0X3RpbWVvdXRgIC0g
ZGlzYWJsZSBmaWxlIHRpbWVvdXQ7IG9ubHkgc3RvcCB3YWl0aW5nIGZvciByZXN1bHRzCi13aGVu
IHRoZSBgdGltZW91dCgpYCBmdW5jdGlvbiBpcyBjYWxsZWQgKHR5cGljYWxseSBmb3IgdXNlIHdo
ZW4gaW50ZWdyYXRpbmcKLXdpdGggc29tZSBleGlzdGluZyB0ZXN0IGZyYW1ld29yayB0aGF0IGhh
cyBpdHMgb3duIHRpbWVvdXQgbWVjaGFuaXNtKS4KLQotYGFsbG93X3VuY2F1Z2h0X2V4Y2VwdGlv
bmAgLSBkb24ndCB0cmVhdCBhbiB1bmNhdWdodCBleGNlcHRpb24gYXMgYW4gZXJyb3I7Ci1uZWVk
ZWQgd2hlbiBlLmcuIHRlc3RpbmcgdGhlIGB3aW5kb3cub25lcnJvcmAgaGFuZGxlci4KLQotYHRp
bWVvdXRfbXVsdGlwbGllcmAgLSBNdWx0aXBsaWVyIHRvIGFwcGx5IHRvIHBlci10ZXN0IHRpbWVv
dXRzLgotCi0jIyBEZXRlcm1pbmluZyB3aGVuIGFsbCB0ZXN0cyBhcmUgY29tcGxldGUgIyMKLQot
QnkgZGVmYXVsdCB0aGUgdGVzdCBoYXJuZXNzIHdpbGwgYXNzdW1lIHRoZXJlIGFyZSBubyBtb3Jl
IHJlc3VsdHMgdG8gY29tZQotd2hlbjoKLQotIDEuIFRoZXJlIGFyZSBubyBgVGVzdGAgb2JqZWN0
cyB0aGF0IGhhdmUgYmVlbiBjcmVhdGVkIGJ1dCBub3QgY29tcGxldGVkCi0gMi4gVGhlIGxvYWQg
ZXZlbnQgb24gdGhlIGRvY3VtZW50IGhhcyBmaXJlZAotCi1UaGlzIGJlaGF2aW91ciBjYW4gYmUg
b3ZlcnJpZGRlbiBieSBzZXR0aW5nIHRoZSBgZXhwbGljaXRfZG9uZWAgcHJvcGVydHkgdG8KLXRy
dWUgaW4gYSBjYWxsIHRvIGBzZXR1cCgpYC4gSWYgYGV4cGxpY2l0X2RvbmVgIGlzIHRydWUsIHRo
ZSB0ZXN0IGhhcm5lc3Mgd2lsbAotbm90IGFzc3VtZSBpdCBpcyBkb25lIHVudGlsIHRoZSBnbG9i
YWwgYGRvbmUoKWAgZnVuY3Rpb24gaXMgY2FsbGVkLiBPbmNlIGBkb25lKClgCi1pcyBjYWxsZWQs
IHRoZSB0d28gY29uZGl0aW9ucyBhYm92ZSBhcHBseSBsaWtlIG5vcm1hbC4KLQotRGVkaWNhdGVk
IGFuZCBzaGFyZWQgd29ya2VycyBkb24ndCBoYXZlIGFuIGV2ZW50IHRoYXQgY29ycmVzcG9uZHMg
dG8gdGhlIGBsb2FkYAotZXZlbnQgaW4gYSBkb2N1bWVudC4gVGhlcmVmb3JlIHRoZXNlIHdvcmtl
ciB0ZXN0cyBhbHdheXMgYmVoYXZlIGFzIGlmIHRoZQotYGV4cGxpY2l0X2RvbmVgIHByb3BlcnR5
IGlzIHNldCB0byB0cnVlLiBTZXJ2aWNlIHdvcmtlcnMgZGVwZW5kIG9uIHRoZQotW2luc3RhbGxd
KGh0dHBzOi8vc2xpZ2h0bHlvZmYuZ2l0aHViLmlvL1NlcnZpY2VXb3JrZXIvc3BlYy9zZXJ2aWNl
X3dvcmtlci9pbmRleC5odG1sI3NlcnZpY2Utd29ya2VyLWdsb2JhbC1zY29wZS1pbnN0YWxsLWV2
ZW50KQotZXZlbnQgd2hpY2ggaXMgZmlyZWQgZm9sbG93aW5nIHRoZSBjb21wbGV0aW9uIG9mIFty
dW5uaW5nIHRoZQotd29ya2VyXShodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFn
ZS93b3JrZXJzLmh0bWwjcnVuLWEtd29ya2VyKS4KLQotIyMgR2VuZXJhdGluZyB0ZXN0cyAjIwot
Ci1UaGVyZSBhcmUgc2NlbmFyaW9zIGluIHdoaWNoIGlzIGlzIGRlc2lyYWJsZSB0byBjcmVhdGUg
YSBsYXJnZSBudW1iZXIgb2YKLShzeW5jaHJvbm91cykgdGVzdHMgdGhhdCBhcmUgaW50ZXJuYWxs
eSBzaW1pbGFyIGJ1dCB2YXJ5IGluIHRoZSBwYXJhbWV0ZXJzCi11c2VkLiBUbyBtYWtlIHRoaXMg
ZWFzaWVyLCB0aGUgYGdlbmVyYXRlX3Rlc3RzYCBmdW5jdGlvbiBhbGxvd3MgYSBzaW5nbGUKLWZ1
bmN0aW9uIHRvIGJlIGNhbGxlZCB3aXRoIGVhY2ggc2V0IG9mIHBhcmFtZXRlcnMgaW4gYSBsaXN0
OgotCi1gYGBqcwotZ2VuZXJhdGVfdGVzdHModGVzdF9mdW5jdGlvbiwgcGFyYW1ldGVyX2xpc3Rz
LCBwcm9wZXJ0aWVzKQotYGBgCi0KLUZvciBleGFtcGxlOgotCi1gYGBqcwotZ2VuZXJhdGVfdGVz
dHMoYXNzZXJ0X2VxdWFscywgWwotICAgIFsiU3VtIG9uZSBhbmQgb25lIiwgMSsxLCAyXSwKLSAg
ICBbIlN1bSBvbmUgYW5kIHplcm8iLCAxKzAsIDFdCi0gICAgXSkKLWBgYAotCi1JcyBlcXVpdmFs
ZW50IHRvOgotCi1gYGBqcwotdGVzdChmdW5jdGlvbigpIHthc3NlcnRfZXF1YWxzKDErMSwgMil9
LCAiU3VtIG9uZSBhbmQgb25lIikKLXRlc3QoZnVuY3Rpb24oKSB7YXNzZXJ0X2VxdWFscygxKzAs
IDEpfSwgIlN1bSBvbmUgYW5kIHplcm8iKQotYGBgCi0KLU5vdGUgdGhhdCB0aGUgZmlyc3QgaXRl
bSBpbiBlYWNoIHBhcmFtZXRlciBsaXN0IGNvcnJlc3BvbmRzIHRvIHRoZSBuYW1lIG9mCi10aGUg
dGVzdC4KLQotVGhlIHByb3BlcnRpZXMgYXJndW1lbnQgaXMgaWRlbnRpY2FsIHRvIHRoYXQgZm9y
IGB0ZXN0KClgLiBUaGlzIG1heSBiZSBhCi1zaW5nbGUgb2JqZWN0ICh1c2VkIGZvciBhbGwgZ2Vu
ZXJhdGVkIHRlc3RzKSBvciBhbiBhcnJheS4KLQotIyMgQ2FsbGJhY2sgQVBJICMjCi0KLVRoZSBm
cmFtZXdvcmsgcHJvdmlkZXMgY2FsbGJhY2tzIGNvcnJlc3BvbmRpbmcgdG8gNCBldmVudHM6Ci0K
LSAqIGBzdGFydGAgLSB0cmlnZ2VyZWQgd2hlbiB0aGUgZmlyc3QgVGVzdCBpcyBjcmVhdGVkCi0g
KiBgdGVzdF9zdGF0ZWAgLSB0cmlnZ2VyZWQgd2hlbiBhIHRlc3Qgc3RhdGUgY2hhbmdlcwotICog
YHJlc3VsdGAgLSB0cmlnZ2VyZWQgd2hlbiBhIHRlc3QgcmVzdWx0IGlzIHJlY2VpdmVkCi0gKiBg
Y29tcGxldGVgIC0gdHJpZ2dlcmVkIHdoZW4gYWxsIHJlc3VsdHMgYXJlIHJlY2VpdmVkCi0KLVRo
ZSBwYWdlIGRlZmluaW5nIHRoZSB0ZXN0cyBtYXkgYWRkIGNhbGxiYWNrcyBmb3IgdGhlc2UgZXZl
bnRzIGJ5IGNhbGxpbmcKLXRoZSBmb2xsb3dpbmcgbWV0aG9kczoKLQotICBgYWRkX3N0YXJ0X2Nh
bGxiYWNrKGNhbGxiYWNrKWAgLSBjYWxsYmFjayBjYWxsZWQgd2l0aCBubyBhcmd1bWVudHMKLQot
ICBgYWRkX3Rlc3Rfc3RhdGVfY2FsbGJhY2soY2FsbGJhY2spYCAtIGNhbGxiYWNrIGNhbGxlZCB3
aXRoIGEgdGVzdCBhcmd1bWVudAotCi0gIGBhZGRfcmVzdWx0X2NhbGxiYWNrKGNhbGxiYWNrKWAg
LSBjYWxsYmFjayBjYWxsZWQgd2l0aCBhIHRlc3QgYXJndW1lbnQKLQotICBgYWRkX2NvbXBsZXRp
b25fY2FsbGJhY2soY2FsbGJhY2spYCAtIGNhbGxiYWNrIGNhbGxlZCB3aXRoIGFuIGFycmF5IG9m
IHRlc3RzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIGEgc3Rh
dHVzIG9iamVjdAotCi1UZXN0cyBoYXZlIHRoZSBmb2xsb3dpbmcgcHJvcGVydGllczoKLQotICAq
IGBzdGF0dXNgIC0gQSBzdGF0dXMgY29kZS4gVGhpcyBjYW4gYmUgY29tcGFyZWQgdG8gdGhlIGBQ
QVNTYCwgYEZBSUxgLAotICAgICAgICAgICAgICAgYFRJTUVPVVRgIGFuZCBgTk9UUlVOYCBwcm9w
ZXJ0aWVzIG9uIHRoZSB0ZXN0IG9iamVjdAotCi0gICogYG1lc3NhZ2VgIC0gQSBtZXNzYWdlIGlu
ZGljYXRpbmcgdGhlIHJlYXNvbiBmb3IgZmFpbHVyZS4gSW4gdGhlIGZ1dHVyZSB0aGlzCi0gICAg
ICAgICAgICAgICAgd2lsbCBhbHdheXMgYmUgYSBzdHJpbmcKLQotIFRoZSBzdGF0dXMgb2JqZWN0
IGdpdmVzIHRoZSBvdmVyYWxsIHN0YXR1cyBvZiB0aGUgaGFybmVzcy4gSXQgaGFzIHRoZQotIGZv
bGxvd2luZyBwcm9wZXJ0aWVzOgotCi0gKiBgc3RhdHVzYCAtIENhbiBiZSBjb21wYXJlZCB0byB0
aGUgYE9LYCwgYEVSUk9SYCBhbmQgYFRJTUVPVVRgIHByb3BlcnRpZXMKLQotICogYG1lc3NhZ2Vg
IC0gQW4gZXJyb3IgbWVzc2FnZSBzZXQgd2hlbiB0aGUgc3RhdHVzIGlzIGBFUlJPUmAKLQotIyMg
RXh0ZXJuYWwgQVBJICMjCi0KLUluIG9yZGVyIHRvIGNvbGxlY3QgdGhlIHJlc3VsdHMgb2YgbXVs
dGlwbGUgcGFnZXMgY29udGFpbmluZyB0ZXN0cywgdGhlIHRlc3QKLWhhcm5lc3Mgd2lsbCwgd2hl
biBsb2FkZWQgaW4gYSBuZXN0ZWQgYnJvd3NpbmcgY29udGV4dCwgYXR0ZW1wdCB0byBjYWxsCi1j
ZXJ0YWluIGZ1bmN0aW9ucyBpbiBlYWNoIGFuY2VzdG9yIGFuZCBvcGVuZXIgYnJvd3NpbmcgY29u
dGV4dDoKLQotICogc3RhcnQgLSBgc3RhcnRfY2FsbGJhY2tgCi0gKiB0ZXN0XF9zdGF0ZSAtIGB0
ZXN0X3N0YXRlX2NhbGxiYWNrYAotICogcmVzdWx0IC0gYHJlc3VsdF9jYWxsYmFja2AKLSAqIGNv
bXBsZXRlIC0gYGNvbXBsZXRpb25fY2FsbGJhY2tgCi0KLVRoZXNlIGFyZSBnaXZlbiB0aGUgc2Ft
ZSBhcmd1bWVudHMgYXMgdGhlIGNvcnJlc3BvbmRpbmcgaW50ZXJuYWwgY2FsbGJhY2tzCi1kZXNj
cmliZWQgYWJvdmUuCi0KLSMjIEV4dGVybmFsIEFQSSB0aHJvdWdoIGNyb3NzLWRvY3VtZW50IG1l
c3NhZ2luZyAjIwotCi1XaGVyZSBzdXBwb3J0ZWQsIHRoZSB0ZXN0IGhhcm5lc3Mgd2lsbCBhbHNv
IHNlbmQgbWVzc2FnZXMgdXNpbmcgY3Jvc3MtZG9jdW1lbnQKLW1lc3NhZ2luZyB0byBlYWNoIGFu
Y2VzdG9yIGFuZCBvcGVuZXIgYnJvd3NpbmcgY29udGV4dC4gU2luY2UgaXQgdXNlcyB0aGUKLXdp
bGRjYXJkIGtleXdvcmQgKFwqKSwgY3Jvc3Mtb3JpZ2luIGNvbW11bmljYXRpb24gaXMgZW5hYmxl
ZCBhbmQgc2NyaXB0IG9uCi1kaWZmZXJlbnQgb3JpZ2lucyBjYW4gY29sbGVjdCB0aGUgcmVzdWx0
cy4KLQotVGhpcyBBUEkgZm9sbG93cyBzaW1pbGFyIGNvbnZlbnRpb25zIGFzIHRob3NlIGRlc2Ny
aWJlZCBhYm92ZSBvbmx5IHNsaWdodGx5Ci1tb2RpZmllZCB0byBhY2NvbW1vZGF0ZSBtZXNzYWdl
IGV2ZW50IEFQSS4gRWFjaCBtZXNzYWdlIGlzIHNlbnQgYnkgdGhlIGhhcm5lc3MKLWlzIHBhc3Nl
ZCBhIHNpbmdsZSB2YW5pbGxhIG9iamVjdCwgYXZhaWxhYmxlIGFzIHRoZSBgZGF0YWAgcHJvcGVy
dHkgb2YgdGhlIGV2ZW50Ci1vYmplY3QuIFRoZXNlIG9iamVjdHMgYXJlIHN0cnVjdHVyZWQgYXMg
Zm9sbG93czoKLQotICogc3RhcnQgLSBgeyB0eXBlOiAic3RhcnQiIH1gCi0gKiB0ZXN0XF9zdGF0
ZSAtIGB7IHR5cGU6ICJ0ZXN0X3N0YXRlIiwgdGVzdDogVGVzdCB9YAotICogcmVzdWx0IC0gYHsg
dHlwZTogInJlc3VsdCIsIHRlc3Q6IFRlc3QgfWAKLSAqIGNvbXBsZXRlIC0gYHsgdHlwZTogImNv
bXBsZXRlIiwgdGVzdHM6IFtUZXN0LCAuLi5dLCBzdGF0dXM6IFRlc3RzU3RhdHVzIH1gCi0KLSMj
IFdlYiBXb3JrZXJzICMjCi0KLVRoZSBgdGVzdGhhcm5lc3MuanNgIHNjcmlwdCBjYW4gYmUgdXNl
ZCBmcm9tIHdpdGhpbiBbZGVkaWNhdGVkIHdvcmtlcnMsIHNoYXJlZAotd29ya2Vyc10oaHR0cHM6
Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2Uvd29ya2Vycy5odG1sKSBhbmQgW3NlcnZp
Y2UKLXdvcmtlcnNdKGh0dHBzOi8vc2xpZ2h0bHlvZmYuZ2l0aHViLmlvL1NlcnZpY2VXb3JrZXIv
c3BlYy9zZXJ2aWNlX3dvcmtlci8pLgotCi1UZXN0aW5nIGZyb20gYSB3b3JrZXIgc2NyaXB0IGlz
IGRpZmZlcmVudCBmcm9tIHRlc3RpbmcgZnJvbSBhbiBIVE1MIGRvY3VtZW50IGluCi1zZXZlcmFs
IHdheXM6Ci0KLSogV29ya2VycyBoYXZlIG5vIHJlcG9ydGluZyBjYXBhYmlsaXR5IHNpbmNlIHRo
ZXkgYXJlIHJ1bmluZyBpbiB0aGUgYmFja2dyb3VuZC4KLSAgSGVuY2UgdGhleSByZWx5IG9uIGB0
ZXN0aGFybmVzcy5qc2AgcnVubmluZyBpbiBhIGNvbXBhbmlvbiBjbGllbnQgSFRNTCBkb2N1bWVu
dAotICBmb3IgcmVwb3J0aW5nLgotCi0qIFNoYXJlZCBhbmQgc2VydmljZSB3b3JrZXJzIGRvIG5v
dCBoYXZlIGEgdW5pcXVlIGNsaWVudCBkb2N1bWVudCBzaW5jZSB0aGVyZQotICBjb3VsZCBiZSBt
b3JlIHRoYW4gb25lIGRvY3VtZW50IHRoYXQgY29tbXVuaWNhdGVzIHdpdGggdGhlc2Ugd29ya2Vy
cy4gU28gYQotICBjbGllbnQgZG9jdW1lbnQgbmVlZHMgdG8gZXhwbGljaXRseSBjb25uZWN0IHRv
IGEgd29ya2VyIGFuZCBmZXRjaCB0ZXN0IHJlc3VsdHMKLSAgZnJvbSBpdCB1c2luZyBgZmV0Y2hf
dGVzdHNfZnJvbV93b3JrZXJgLiBUaGlzIGlzIHRydWUgZXZlbiBmb3IgYSBkZWRpY2F0ZWQKLSAg
d29ya2VyLiBPbmNlIGNvbm5lY3RlZCwgdGhlIGluZGl2aWR1YWwgdGVzdHMgcnVubmluZyBpbiB0
aGUgd29ya2VyIChvciB0aG9zZQotICB0aGF0IGhhdmUgYWxyZWFkeSBydW4gdG8gY29tcGxldGlv
bikgd2lsbCBiZSBhdXRvbWF0aWNhbGx5IHJlZmxlY3RlZCBpbiB0aGUKLSAgY2xpZW50IGRvY3Vt
ZW50LgotCi0qIFRoZSBjbGllbnQgZG9jdW1lbnQgY29udHJvbHMgdGhlIHRpbWVvdXQgb2YgdGhl
IHRlc3RzLiBBbGwgd29ya2VyIHNjcmlwdHMgYWN0Ci0gIGFzIGlmIHRoZXkgd2VyZSBzdGFydGVk
IHdpdGggdGhlIGBleHBsaWNpdF90aW1lb3V0YCBvcHRpb24gKHNlZSB0aGUgW0hhcm5lc3MKLSAg
dGltZW91dF0oI2hhcm5lc3MtdGltZW91dCkgc2VjdGlvbikuCi0KLSogRGVkaWNhdGVkIGFuZCBz
aGFyZWQgd29ya2VycyBkb24ndCBoYXZlIGFuIGVxdWl2YWxlbnQgb2YgYW4gYG9ubG9hZGAgZXZl
bnQuCi0gIFRodXMgdGhlIHRlc3QgaGFybmVzcyBoYXMgbm8gd2F5IHRvIGtub3cgd2hlbiBhbGwg
dGVzdHMgaGF2ZSBjb21wbGV0ZWQgKHNlZQotICBbRGV0ZXJtaW5pbmcgd2hlbiBhbGwgdGVzdHMg
YXJlCi0gIGNvbXBsZXRlXSgjZGV0ZXJtaW5pbmctd2hlbi1hbGwtdGVzdHMtYXJlLWNvbXBsZXRl
KSkuIFNvIHRoZXNlIHdvcmtlciB0ZXN0cwotICBiZWhhdmUgYXMgaWYgdGhleSB3ZXJlIHN0YXJ0
ZWQgd2l0aCB0aGUgYGV4cGxpY2l0X2RvbmVgIG9wdGlvbi4gU2VydmljZQotICB3b3JrZXJzIGRl
cGVuZCBvbiB0aGUKLSAgW29uaW5zdGFsbF0oaHR0cHM6Ly9zbGlnaHRseW9mZi5naXRodWIuaW8v
U2VydmljZVdvcmtlci9zcGVjL3NlcnZpY2Vfd29ya2VyL2luZGV4Lmh0bWwjc2VydmljZS13b3Jr
ZXItZ2xvYmFsLXNjb3BlLWluc3RhbGwtZXZlbnQpCi0gIGV2ZW50IGFuZCBkb24ndCByZXF1aXJl
IGFuIGV4cGxpY2l0IGBkb25lYCBjYWxsLgotCi1IZXJlJ3MgYW4gZXhhbXBsZSB0aGF0IHVzZXMg
YSBkZWRpY2F0ZWQgd29ya2VyLgotCi1gd29ya2VyLmpzYDoKLQotYGBganMKLWltcG9ydFNjcmlw
dHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLQotdGVzdChmdW5jdGlvbih0KSB7Ci0g
IGFzc2VydF90cnVlKHRydWUsICJ0cnVlIGlzIHRydWUiKTsKLX0sICJTaW1wbGUgdGVzdCIpOwot
Ci0vLyBkb25lKCkgaXMgbmVlZGVkIGJlY2F1c2UgdGhlIHRlc3RoYXJuZXNzIGlzIHJ1bm5pbmcg
YXMgaWYgZXhwbGljaXRfZG9uZQotLy8gd2FzIHNwZWNpZmllZC4KLWRvbmUoKTsKLWBgYAotCi1g
dGVzdC5odG1sYDoKLQotYGBgaHRtbAotPCFET0NUWVBFIGh0bWw+Ci08dGl0bGU+U2ltcGxlIHRl
c3Q8L3RpdGxlPgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2Ny
aXB0PgotPGRpdiBpZD0ibG9nIj48L2Rpdj4KLTxzY3JpcHQ+Ci0KLWZldGNoX3Rlc3RzX2Zyb21f
d29ya2VyKG5ldyBXb3JrZXIoIndvcmtlci5qcyIpKTsKLQotPC9zY3JpcHQ+Ci1gYGAKLQotVGhl
IGFyZ3VtZW50IHRvIHRoZSBgZmV0Y2hfdGVzdHNfZnJvbV93b3JrZXJgIGZ1bmN0aW9uIGNhbiBi
ZSBhCi1bYFdvcmtlcmBdKGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL3dv
cmtlcnMuaHRtbCNkZWRpY2F0ZWQtd29ya2Vycy1hbmQtdGhlLXdvcmtlci1pbnRlcmZhY2UpLAot
YSBbYFNoYXJlZFdvcmtlcmBdKGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdl
L3dvcmtlcnMuaHRtbCNzaGFyZWQtd29ya2Vycy1hbmQtdGhlLXNoYXJlZHdvcmtlci1pbnRlcmZh
Y2UpCi1vciBhIFtgU2VydmljZVdvcmtlcmBdKGh0dHBzOi8vc2xpZ2h0bHlvZmYuZ2l0aHViLmlv
L1NlcnZpY2VXb3JrZXIvc3BlYy9zZXJ2aWNlX3dvcmtlci8jc2VydmljZS13b3JrZXItb2JqKS4K
LU9uY2UgY2FsbGVkLCB0aGUgY29udGFpbmluZyBkb2N1bWVudCBmZXRjaGVzIGFsbCB0aGUgdGVz
dHMgZnJvbSB0aGUgd29ya2VyIGFuZAotYmVoYXZlcyBhcyBpZiB0aG9zZSB0ZXN0cyB3ZXJlIHJ1
bm5pbmcgaW4gdGhlIGNvbnRhaW5pbmcgZG9jdW1lbnQgaXRzZWxmLgotCi0jIyBMaXN0IG9mIEFz
c2VydGlvbnMgIyMKLQotIyMjIGBhc3NlcnRfdHJ1ZShhY3R1YWwsIGRlc2NyaXB0aW9uKWAKLWFz
c2VydHMgdGhhdCBgYWN0dWFsYCBpcyBzdHJpY3RseSB0cnVlCi0KLSMjIyBgYXNzZXJ0X2ZhbHNl
KGFjdHVhbCwgZGVzY3JpcHRpb24pYAotYXNzZXJ0cyB0aGF0IGBhY3R1YWxgIGlzIHN0cmljdGx5
IGZhbHNlCi0KLSMjIyBgYXNzZXJ0X2VxdWFscyhhY3R1YWwsIGV4cGVjdGVkLCBkZXNjcmlwdGlv
bilgCi1hc3NlcnRzIHRoYXQgYGFjdHVhbGAgaXMgdGhlIHNhbWUgdmFsdWUgYXMgYGV4cGVjdGVk
YAotCi0jIyMgYGFzc2VydF9ub3RfZXF1YWxzKGFjdHVhbCwgZXhwZWN0ZWQsIGRlc2NyaXB0aW9u
KWAKLWFzc2VydHMgdGhhdCBgYWN0dWFsYCBpcyBhIGRpZmZlcmVudCB2YWx1ZSB0byBgZXhwZWN0
ZWRgLgotVGhpcyBtZWFucyB0aGF0IGBleHBlY3RlZGAgaXMgYSBtaXNub21lci4KLQotIyMjIGBh
c3NlcnRfaW5fYXJyYXkoYWN0dWFsLCBleHBlY3RlZCwgZGVzY3JpcHRpb24pYAotYXNzZXJ0cyB0
aGF0IGBleHBlY3RlZGAgaXMgYW4gQXJyYXksIGFuZCBgYWN0dWFsYCBpcyBlcXVhbCB0byBvbmUg
b2YgdGhlCi1tZW1iZXJzIGkuZS4gYGV4cGVjdGVkLmluZGV4T2YoYWN0dWFsKSAhPSAtMWAKLQot
IyMjIGBhc3NlcnRfYXJyYXlfZXF1YWxzKGFjdHVhbCwgZXhwZWN0ZWQsIGRlc2NyaXB0aW9uKWAK
LWFzc2VydHMgdGhhdCBgYWN0dWFsYCBhbmQgYGV4cGVjdGVkYCBoYXZlIHRoZSBzYW1lCi1sZW5n
dGggYW5kIHRoZSB2YWx1ZSBvZiBlYWNoIGluZGV4ZWQgcHJvcGVydHkgaW4gYGFjdHVhbGAgaXMg
dGhlIHN0cmljdGx5IGVxdWFsCi10byB0aGUgY29ycmVzcG9uZGluZyBwcm9wZXJ0eSB2YWx1ZSBp
biBgZXhwZWN0ZWRgCi0KLSMjIyBgYXNzZXJ0X2FwcHJveF9lcXVhbHMoYWN0dWFsLCBleHBlY3Rl
ZCwgZXBzaWxvbiwgZGVzY3JpcHRpb24pYAotYXNzZXJ0cyB0aGF0IGBhY3R1YWxgIGlzIGEgbnVt
YmVyIHdpdGhpbiDCsWBlcHNpbG9uYCBvZiBgZXhwZWN0ZWRgCi0KLSMjIyBgYXNzZXJ0X2xlc3Nf
dGhhbihhY3R1YWwsIGV4cGVjdGVkLCBkZXNjcmlwdGlvbilgCi1hc3NlcnRzIHRoYXQgYGFjdHVh
bGAgaXMgYSBudW1iZXIgbGVzcyB0aGFuIGBleHBlY3RlZGAKLQotIyMjIGBhc3NlcnRfZ3JlYXRl
cl90aGFuKGFjdHVhbCwgZXhwZWN0ZWQsIGRlc2NyaXB0aW9uKWAKLWFzc2VydHMgdGhhdCBgYWN0
dWFsYCBpcyBhIG51bWJlciBncmVhdGVyIHRoYW4gYGV4cGVjdGVkYAotCi0jIyMgYGFzc2VydF9i
ZXR3ZWVuX2V4Y2x1c2l2ZShhY3R1YWwsIGxvd2VyLCB1cHBlciwgZGVzY3JpcHRpb25gCi1hc3Nl
cnRzIHRoYXQgYGFjdHVhbGAgaXMgYSBudW1iZXIgYmV0d2VlbiBgbG93ZXJgIGFuZCBgdXBwZXJg
IGJ1dCBub3QKLWVxdWFsIHRvIGVpdGhlciBvZiB0aGVtCi0KLSMjIyBgYXNzZXJ0X2xlc3NfdGhh
bl9lcXVhbChhY3R1YWwsIGV4cGVjdGVkLCBkZXNjcmlwdGlvbilgCi1hc3NlcnRzIHRoYXQgYGFj
dHVhbGAgaXMgYSBudW1iZXIgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIGBleHBlY3RlZGAKLQotIyMj
IGBhc3NlcnRfZ3JlYXRlcl90aGFuX2VxdWFsKGFjdHVhbCwgZXhwZWN0ZWQsIGRlc2NyaXB0aW9u
KWAKLWFzc2VydHMgdGhhdCBgYWN0dWFsYCBpcyBhIG51bWJlciBncmVhdGVyIHRoYW4gb3IgZXF1
YWwgdG8gYGV4cGVjdGVkYAotCi0jIyMgYGFzc2VydF9iZXR3ZWVuX2luY2x1c2l2ZShhY3R1YWws
IGxvd2VyLCB1cHBlciwgZGVzY3JpcHRpb25gCi1hc3NlcnRzIHRoYXQgYGFjdHVhbGAgaXMgYSBu
dW1iZXIgYmV0d2VlbiBgbG93ZXJgIGFuZCBgdXBwZXJgIG9yCi1lcXVhbCB0byBlaXRoZXIgb2Yg
dGhlbQotCi0jIyMgYGFzc2VydF9yZWdleHBfbWF0Y2goYWN0dWFsLCBleHBlY3RlZCwgZGVzY3Jp
cHRpb24pYAotYXNzZXJ0cyB0aGF0IGBhY3R1YWxgIG1hdGNoZXMgdGhlIHJlZ2V4cCBgZXhwZWN0
ZWRgCi0KLSMjIyBgYXNzZXJ0X2NsYXNzX3N0cmluZyhvYmplY3QsIGNsYXNzX25hbWUsIGRlc2Ny
aXB0aW9uKWAKLWFzc2VydHMgdGhhdCB0aGUgY2xhc3Mgc3RyaW5nIG9mIGBvYmplY3RgIGFzIHJl
dHVybmVkIGluCi1gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZ2AgaXMgZXF1YWwgdG8gYGNsYXNz
X25hbWVgLgotCi0jIyMgYGFzc2VydF9vd25fcHJvcGVydHkob2JqZWN0LCBwcm9wZXJ0eV9uYW1l
LCBkZXNjcmlwdGlvbilgCi1hc3NlcnQgdGhhdCBvYmplY3QgaGFzIG93biBwcm9wZXJ0eSBgcHJv
cGVydHlfbmFtZWAKLQotIyMjIGBhc3NlcnRfaW5oZXJpdHMob2JqZWN0LCBwcm9wZXJ0eV9uYW1l
LCBkZXNjcmlwdGlvbilgCi1hc3NlcnQgdGhhdCBvYmplY3QgZG9lcyBub3QgaGF2ZSBhbiBvd24g
cHJvcGVydHkgbmFtZWQKLWBwcm9wZXJ0eV9uYW1lYCBidXQgdGhhdCBgcHJvcGVydHlfbmFtZWAg
aXMgcHJlc2VudCBpbiB0aGUgcHJvdG90eXBlCi1jaGFpbiBmb3Igb2JqZWN0Ci0KLSMjIyBgYXNz
ZXJ0X2lkbF9hdHRyaWJ1dGUob2JqZWN0LCBhdHRyaWJ1dGVfbmFtZSwgZGVzY3JpcHRpb24pYAot
YXNzZXJ0IHRoYXQgYW4gb2JqZWN0IHRoYXQgaXMgYW4gaW5zdGFuY2Ugb2Ygc29tZSBpbnRlcmZh
Y2UgaGFzIHRoZQotYXR0cmlidXRlIGF0dHJpYnV0ZV9uYW1lIGZvbGxvd2luZyB0aGUgY29uZGl0
aW9ucyBzcGVjaWZpZWQgYnkgV2ViSURMCi0KLSMjIyBgYXNzZXJ0X3JlYWRvbmx5KG9iamVjdCwg
cHJvcGVydHlfbmFtZSwgZGVzY3JpcHRpb24pYAotYXNzZXJ0IHRoYXQgcHJvcGVydHkgYHByb3Bl
cnR5X25hbWVgIG9uIG9iamVjdCBpcyByZWFkb25seQotCi0jIyMgYGFzc2VydF90aHJvd3MoY29k
ZSwgZnVuYywgZGVzY3JpcHRpb24pYAotYGNvZGVgIC0gdGhlIGV4cGVjdGVkIGV4Y2VwdGlvbi4g
VGhpcyBjYW4gdGFrZSBzZXZlcmFsIGZvcm1zOgotCi0gICogc3RyaW5nIC0gdGhlIHRocm93biBl
eGNlcHRpb24gbXVzdCBiZSBhIERPTUV4Y2VwdGlvbiB3aXRoIHRoZSBnaXZlbgotICAgICAgICAg
ICAgIG5hbWUsIGUuZy4sICJUaW1lb3V0RXJyb3IiIChmb3IgY29tcGF0aWJpbGl0eSB3aXRoIGV4
aXN0aW5nCi0gICAgICAgICAgICAgdGVzdHMsIGEgY29uc3RhbnQgaXMgYWxzbyBzdXBwb3J0ZWQs
IGUuZy4sICJUSU1FT1VUX0VSUiIpCi0gICogb2JqZWN0IC0gdGhlIHRocm93biBleGNlcHRpb24g
bXVzdCBoYXZlIGEgcHJvcGVydHkgY2FsbGVkICJuYW1lIiB0aGF0Ci0gICAgICAgICAgICAgbWF0
Y2hlcyBjb2RlLm5hbWUKLSAgKiBudWxsIC0gICBhbGxvdyBhbnkgZXhjZXB0aW9uIChpbiBnZW5l
cmFsLCBvbmUgb2YgdGhlIG9wdGlvbnMgYWJvdmUKLSAgICAgICAgICAgICBzaG91bGQgYmUgdXNl
ZCkKLQotYGZ1bmNgIC0gYSBmdW5jdGlvbiB0aGF0IHNob3VsZCB0aHJvdwotCi0jIyMgYGFzc2Vy
dF91bnJlYWNoZWQoZGVzY3JpcHRpb24pYAotYXNzZXJ0cyBpZiBjYWxsZWQuIFVzZWQgdG8gZW5z
dXJlIHRoYXQgc29tZSBjb2RlcGF0aCBpcyAqbm90KiB0YWtlbiBlLmcuCi1hbiBldmVudCBkb2Vz
IG5vdCBmaXJlLgotCi0jIyMgYGFzc2VydF9hbnkoYXNzZXJ0X2Z1bmMsIGFjdHVhbCwgZXhwZWN0
ZWRfYXJyYXksIGV4dHJhX2FyZ18xLCAuLi4gZXh0cmFfYXJnX04pYAotYXNzZXJ0cyB0aGF0IG9u
ZSBgYXNzZXJ0X2Z1bmMoYWN0dWFsLCBleHBlY3RlZF9hcnJheV9OLCBleHRyYV9hcmcxLCAuLi4s
IGV4dHJhX2FyZ19OKWAKLSAgaXMgdHJ1ZSBmb3Igc29tZSBgZXhwZWN0ZWRfYXJyYXlfTmAgaW4g
YGV4cGVjdGVkX2FycmF5YC4gVGhpcyBvbmx5IHdvcmtzIGZvciBgYXNzZXJ0X2Z1bmNgCi0gIHdp
dGggc2lnbmF0dXJlIGBhc3NlcnRfZnVuYyhhY3R1YWwsIGV4cGVjdGVkLCBhcmdzXzEsIC4uLiwg
YXJnc19OKWAuIE5vdGUgdGhhdCB0ZXN0cwotICB3aXRoIG11bHRpcGxlIGFsbG93ZWQgcGFzcyBj
b25kaXRpb25zIGFyZSBiYWQgcHJhY3RpY2UgdW5sZXNzIHRoZSBzcGVjIHNwZWNpZmljYWxseQot
ICBhbGxvd3MgbXVsdGlwbGUgYmVoYXZpb3Vycy4gVGVzdCBhdXRob3JzIHNob3VsZCBub3QgdXNl
IHRoaXMgbWV0aG9kIHNpbXBseSB0byBoaWRlCi0gIFVBIGJ1Z3MuCi0KLSMjIyBgYXNzZXJ0X2V4
aXN0cyhvYmplY3QsIHByb3BlcnR5X25hbWUsIGRlc2NyaXB0aW9uKWAKLSoqZGVwcmVjYXRlZCoq
Ci1hc3NlcnRzIHRoYXQgb2JqZWN0IGhhcyBhbiBvd24gcHJvcGVydHkgYHByb3BlcnR5X25hbWVg
Ci0KLSMjIyBgYXNzZXJ0X25vdF9leGlzdHMob2JqZWN0LCBwcm9wZXJ0eV9uYW1lLCBkZXNjcmlw
dGlvbilgCi0qKmRlcHJlY2F0ZWQqKgotYXNzZXJ0IHRoYXQgb2JqZWN0IGRvZXMgbm90IGhhdmUg
b3duIHByb3BlcnR5IGBwcm9wZXJ0eV9uYW1lYAotCi0jIyBNZXRhZGF0YSAjIwotCi1JdCBpcyBw
b3NzaWJsZSB0byBhZGQgb3B0aW9uYWwgbWV0YWRhdGEgdG8gdGVzdHM7IHRoaXMgY2FuIGJlIGRv
bmUgaW4KLW9uZSBvZiB0d28gd2F5czsgZWl0aGVyIGJ5IGFkZGluZyBgPG1ldGE+YCBlbGVtZW50
cyB0byB0aGUgaGVhZCBvZiB0aGUKLWRvY3VtZW50IGNvbnRhaW5pbmcgdGhlIHRlc3RzLCBvciBi
eSBhZGRpbmcgdGhlIG1ldGFkYXRhIHRvIGluZGl2aWR1YWwKLWBbYXN5bmNfXXRlc3RgIGNhbGxz
LCBhcyBwcm9wZXJ0aWVzLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZG9jcy9pZGxoYXJuZXNzLm1kIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZG9jcy9pZGxoYXJu
ZXNzLm1kCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxNDEwNzdiM2E3MmE3YTBlNWJl
YjkyYTMxOTgxNDIxOTY2YmI3ZTU4Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL2RvY3MvaWRsaGFybmVzcy5tZAorKysgL2Rldi9udWxsCkBAIC0xLDEyOCArMCww
IEBACi0jIyBJbnRyb2R1Y3Rpb24gIyMKLQotYGlkbGhhcm5lc3MuanNgIGF1dG9tYXRpY2FsbHkg
Z2VuZXJhdGVzIGJyb3dzZXIgdGVzdHMgZm9yIFdlYklETCBpbnRlcmZhY2VzLCB1c2luZwotdGhl
IHRlc3RoYXJuZXNzLmpzIGZyYW1ld29yay4gIFRvIHVzZSwgZmlyc3QgaW5jbHVkZSB0aGUgZm9s
bG93aW5nOgotCi1gYGBodG1sCi08c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Pjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcz48
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvV2ViSURMUGFyc2VyLmpzPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9L3Jlc291cmNlcy9pZGxoYXJuZXNzLmpzPjwvc2NyaXB0PgotYGBgCi0K
LVRoZW4geW91J2xsIG5lZWQgc29tZSB0eXBlIG9mIElETHMuICBIZXJlJ3Mgc29tZSBzY3JpcHQg
dGhhdCBjYW4gYmUgcnVuIG9uIGEKLXNwZWMgd3JpdHRlbiBpbiBIVE1MLCB3aGljaCB3aWxsIGdy
YWIgYWxsIHRoZSBlbGVtZW50cyB3aXRoIGBjbGFzcz0iaWRsImAsCi1jb25jYXRlbmF0ZSB0aGVt
LCBhbmQgcmVwbGFjZSB0aGUgYm9keSBzbyB5b3UgY2FuIGNvcHktcGFzdGU6Ci0KLWBgYGpzCi12
YXIgcyA9ICIiOwotW10uZm9yRWFjaC5jYWxsKGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05h
bWUoImlkbCIpLCBmdW5jdGlvbihpZGwpIHsKLSAgLy9odHRwczovL3d3dy53My5vcmcvQnVncy9Q
dWJsaWMvc2hvd19idWcuY2dpP2lkPTE0OTE0Ci0gIGlmICghaWRsLmNsYXNzTGlzdC5jb250YWlu
cygiZXh0cmFjdCIpKQotICB7Ci0gICAgcyArPSBpZGwudGV4dENvbnRlbnQgKyAiXG5cbiI7Ci0g
IH0KLX0pOwotZG9jdW1lbnQuYm9keS5pbm5lckhUTUwgPSAnPHByZT48L3ByZT4nOwotZG9jdW1l
bnQuYm9keS5maXJzdENoaWxkLnRleHRDb250ZW50ID0gczsKLWBgYAotCi1PbmNlIHlvdSBoYXZl
IHRoYXQsIHB1dCBpdCBpbiB5b3VyIHNjcmlwdCBzb21laG93LiAgVGhlIGVhc2llc3Qgd2F5IGlz
IHRvCi1lbWJlZCBpdCBsaXRlcmFsbHkgaW4gYW4gSFRNTCBmaWxlIHdpdGggYDxzY3JpcHQgdHlw
ZT10ZXh0L3BsYWluPmAgb3Igc2ltaWxhciwKLXNvIHRoYXQgeW91IGRvbid0IGhhdmUgdG8gZG8g
YW55IGVzY2FwaW5nLiAgQW5vdGhlciBwb3NzaWJpbGl0eSBpcyB0byBwdXQgaXQKLWluIGEgc2Vw
YXJhdGUgLmlkbCBmaWxlIHRoYXQncyBmZXRjaGVkIHZpYSBYSFIgb3Igc2ltaWxhci4gIFNhbXBs
ZSB1c2FnZToKLQotYGBganMKLXZhciBpZGxfYXJyYXkgPSBuZXcgSWRsQXJyYXkoKTsKLWlkbF9h
cnJheS5hZGRfdW50ZXN0ZWRfaWRscygiaW50ZXJmYWNlIE5vZGUgeyByZWFkb25seSBhdHRyaWJ1
dGUgRE9NU3RyaW5nIG5vZGVOYW1lOyB9OyIpOwotaWRsX2FycmF5LmFkZF9pZGxzKCJpbnRlcmZh
Y2UgRG9jdW1lbnQgOiBOb2RlIHsgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBVUkw7IH07
Iik7Ci1pZGxfYXJyYXkuYWRkX29iamVjdHMoe0RvY3VtZW50OiBbImRvY3VtZW50Il19KTsKLWlk
bF9hcnJheS50ZXN0KCk7Ci1gYGAKLQotVGhpcyB0ZXN0cyB0aGF0IGB3aW5kb3cuRG9jdW1lbnRg
IGV4aXN0cyBhbmQgbWVldHMgYWxsIHRoZSByZXF1aXJlbWVudHMgb2YKLVdlYklETC4gIEl0IGFs
c28gdGVzdHMgdGhhdCB3aW5kb3cuZG9jdW1lbnQgKHRoZSByZXN1bHQgb2YgZXZhbHVhdGluZyB0
aGUKLXN0cmluZyAiZG9jdW1lbnQiKSBoYXMgVVJMIGFuZCBub2RlTmFtZSBwcm9wZXJ0aWVzIHRo
YXQgYmVoYXZlIGFzIHRoZXkKLXNob3VsZCwgYW5kIG90aGVyd2lzZSBtZWV0cyBXZWJJREwncyBy
ZXF1aXJlbWVudHMgZm9yIGFuIG9iamVjdCB3aG9zZQotcHJpbWFyeSBpbnRlcmZhY2UgaXMgRG9j
dW1lbnQuICBJdCBkb2VzIG5vdCB0ZXN0IHRoYXQgd2luZG93Lk5vZGUgZXhpc3RzLAotd2hpY2gg
aXMgd2hhdCB5b3Ugd2FudCBpZiB0aGUgTm9kZSBpbnRlcmZhY2UgaXMgYWxyZWFkeSB0ZXN0ZWQg
aW4gc29tZSBvdGhlcgotc3BlY2lmaWNhdGlvbidzIHN1aXRlIGFuZCB5b3VyIHNwZWNpZmljYXRp
b24gb25seSBleHRlbmRzIG9yIHJlZmVycyB0byBpdC4KLU9mIGNvdXJzZSwgZWFjaCBJREwgc3Ry
aW5nIGNhbiBkZWZpbmUgbWFueSBkaWZmZXJlbnQgdGhpbmdzLCBhbmQgY2FsbHMgdG8KLWFkZF9v
YmplY3RzKCkgY2FuIHJlZ2lzdGVyIG1hbnkgZGlmZmVyZW50IG9iamVjdHMgZm9yIGRpZmZlcmVu
dCBpbnRlcmZhY2VzOgotdGhpcyBpcyBhIHZlcnkgc2ltcGxlIGV4YW1wbGUuCi0KLSMjIFB1Ymxp
YyBtZXRob2RzIG9mIElkbEFycmF5ICMjCi0KLUlkbEFycmF5IG9iamVjdHMgY2FuIGJlIG9idGFp
bmVkIHdpdGggYG5ldyBJZGxBcnJheSgpYC4gIEFueXRoaW5nIG5vdAotZG9jdW1lbnRlZCBpbiB0
aGlzIHNlY3Rpb24gc2hvdWxkIGJlIGNvbnNpZGVyZWQgYW4gaW1wbGVtZW50YXRpb24gZGV0YWls
LAotYW5kIG91dHNpZGUgY2FsbGVycyBzaG91bGQgbm90IHVzZSBpdC4KLQotIyMjIGBhZGRfaWRs
cyhpZGxfc3RyaW5nKWAKLSAgUGFyc2VzIGBpZGxfc3RyaW5nYCAodGhyb3dpbmcgb24gcGFyc2Ug
ZXJyb3IpIGFuZCBhZGRzIHRoZSByZXN1bHRzIHRvIHRoZQotICBJZGxBcnJheS4gIEFsbCB0aGUg
ZGVmaW5pdGlvbnMgd2lsbCBiZSB0ZXN0ZWQgd2hlbiB5b3UgcnVuIHRlc3QoKS4gIElmCi0gIHNv
bWUgb2YgdGhlIGRlZmluaXRpb25zIHJlZmVyIHRvIG90aGVyIGRlZmluaXRpb25zLCB0aG9zZSBt
dXN0IGJlIHByZXNlbnQKLSAgdG9vLiAgRm9yIGluc3RhbmNlLCBpZiBgaWRsX3N0cmluZ2Agc2F5
cyB0aGF0IGBEb2N1bWVudGAgaW5oZXJpdHMgZnJvbSBgTm9kZWAsCi0gIHRoZSBgTm9kZWAgaW50
ZXJmYWNlIG11c3QgYWxzbyBoYXZlIGJlZW4gcHJvdmlkZWQgaW4gc29tZSBjYWxsIHRvIGBhZGRf
aWRscygpYAotICBvciBgYWRkX3VudGVzdGVkX2lkbHMoKWAuCi0KLSMjIyBgYWRkX3VudGVzdGVk
X2lkbHMoaWRsX3N0cmluZylgCi0gIExpa2UgYGFkZF9pZGxzKClgLCBidXQgdGhlIGRlZmluaXRp
b25zIHdpbGwgbm90IGJlIHRlc3RlZC4gIElmIGFuIHVudGVzdGVkCi0gIGludGVyZmFjZSBpcyBh
ZGRlZCBhbmQgdGhlbiBleHRlbmRlZCB3aXRoIGEgdGVzdGVkIHBhcnRpYWwgaW50ZXJmYWNlLCB0
aGUKLSAgbWVtYmVycyBvZiB0aGUgcGFydGlhbCBpbnRlcmZhY2Ugd2lsbCBzdGlsbCBiZSB0ZXN0
ZWQuICBBbHNvLCBhbGwgdGhlCi0gIG1lbWJlcnMgd2lsbCBzdGlsbCBiZSB0ZXN0ZWQgZm9yIG9i
amVjdHMgYWRkZWQgd2l0aCBgYWRkX29iamVjdHMoKWAsIGJlY2F1c2UKLSAgeW91IHByb2JhYmx5
IHdhbnQgdG8gdGVzdCB0aGF0IChmb3IgaW5zdGFuY2UpIHdpbmRvdy5kb2N1bWVudCBoYXMgYWxs
IHRoZQotICBwcm9wZXJ0aWVzIGZyb20gYE5vZGVgLCBub3QganVzdCBgRG9jdW1lbnRgLCBldmVu
IGlmIHRoZSBgTm9kZWAgaW50ZXJmYWNlIGl0c2VsZgotICBpcyB0ZXN0ZWQgaW4gYSBkaWZmZXJl
bnQgdGVzdCBzdWl0ZS4KLQotIyMjIGBhZGRfb2JqZWN0cyhkaWN0KWAKLSAgYGRpY3RgIHNob3Vs
ZCBiZSBhbiBvYmplY3Qgd2hvc2Uga2V5cyBhcmUgdGhlIG5hbWVzIG9mIGludGVyZmFjZXMgb3IK
LSAgZXhjZXB0aW9ucywgYW5kIHdob3NlIHZhbHVlcyBhcmUgYXJyYXlzIG9mIHN0cmluZ3MuICBX
aGVuIGFuIGludGVyZmFjZSBvcgotICBleGNlcHRpb24gaXMgdGVzdGVkLCBldmVyeSBzdHJpbmcg
cmVnaXN0ZXJlZCBmb3IgaXQgd2l0aCBgYWRkX29iamVjdHMoKWAKLSAgd2lsbCBiZSBldmFsdWF0
ZWQsIGFuZCB0ZXN0cyB3aWxsIGJlIHJ1biBvbiB0aGUgcmVzdWx0IHRvIHZlcmlmeSB0aGF0IGl0
Ci0gIGNvcnJlY3RseSBpbXBsZW1lbnRzIHRoYXQgaW50ZXJmYWNlIG9yIGV4Y2VwdGlvbi4gIFRo
aXMgaXMgdGhlIG9ubHkgd2F5IHRvCi0gIHRlc3QgYW55dGhpbmcgYWJvdXQgYFtOb0ludGVyZmFj
ZU9iamVjdF1gIGludGVyZmFjZXMsIGFuZCB0aGVyZSBhcmUgbWFueQotICB0ZXN0cyB0aGF0IGNh
bid0IGJlIHJ1biBvbiBhbnkgaW50ZXJmYWNlIHdpdGhvdXQgYW4gb2JqZWN0IHRvIGZpZGRsZSB3
aXRoLgotCi0gIFRoZSBpbnRlcmZhY2UgaGFzIHRvIGJlIHRoZSAqcHJpbWFyeSogaW50ZXJmYWNl
IG9mIGFsbCB0aGUgb2JqZWN0cwotICBwcm92aWRlZC4gIEZvciBleGFtcGxlLCBkb24ndCBwYXNz
IGB7Tm9kZTogWyJkb2N1bWVudCJdfWAsIGJ1dCByYXRoZXIKLSAgYHtEb2N1bWVudDogWyJkb2N1
bWVudCJdfWAuICBBc3N1bWluZyB0aGUgYERvY3VtZW50YCBpbnRlcmZhY2Ugd2FzIGRlY2xhcmVk
IHRvCi0gIGluaGVyaXQgZnJvbSBgTm9kZWAsIHRoaXMgd2lsbCBhdXRvbWF0aWNhbGx5IHRlc3Qg
dGhhdCBkb2N1bWVudCBpbXBsZW1lbnRzCi0gIHRoZSBgTm9kZWAgaW50ZXJmYWNlIHRvby4KLQot
ICBXYXJuaW5nOiBtZXRob2RzIHdpbGwgYmUgY2FsbGVkIG9uIGFueSBwcm92aWRlZCBvYmplY3Rz
LCBpbiBhIG1hbm5lciB0aGF0Ci0gIFdlYklETCByZXF1aXJlcyBiZSBzYWZlLiAgRm9yIGluc3Rh
bmNlLCBpZiBhIG1ldGhvZCBoYXMgbWFuZGF0b3J5Ci0gIGFyZ3VtZW50cywgdGhlIHRlc3Qgc3Vp
dGUgd2lsbCB0cnkgY2FsbGluZyBpdCB3aXRoIHRvbyBmZXcgYXJndW1lbnRzIHRvCi0gIHNlZSBp
ZiBpdCB0aHJvd3MgYW4gZXhjZXB0aW9uLiAgSWYgYW4gaW1wbGVtZW50YXRpb24gaW5jb3JyZWN0
bHkgcnVucyB0aGUKLSAgZnVuY3Rpb24gaW5zdGVhZCBvZiB0aHJvd2luZywgdGhpcyBtaWdodCBo
YXZlIHNpZGUgZWZmZWN0cywgcG9zc2libHkgZXZlbgotICBwcmV2ZW50aW5nIHRoZSB0ZXN0IHN1
aXRlIGZyb20gcnVubmluZyBjb3JyZWN0bHkuCi0KLSMjIyBgcHJldmVudF9tdWx0aXBsZV90ZXN0
aW5nKG5hbWUpYAotICBUaGlzIGlzIGEgbmljaGUgbWV0aG9kIGZvciB1c2UgaW4gY2FzZSB5b3Un
cmUgdGVzdGluZyBtYW55IG9iamVjdHMgdGhhdAotICBpbXBsZW1lbnQgdGhlIHNhbWUgaW50ZXJm
YWNlcywgYW5kIGRvbid0IHdhbnQgdG8gcmV0ZXN0IHRoZSBzYW1lCi0gIGludGVyZmFjZXMgZXZl
cnkgc2luZ2xlIHRpbWUuICBGb3IgaW5zdGFuY2UsIEhUTUwgZGVmaW5lcyBtYW55IGludGVyZmFj
ZXMKLSAgdGhhdCBhbGwgaW5oZXJpdCBmcm9tIGBIVE1MRWxlbWVudGAsIHNvIHRoZSBIVE1MIHRl
c3Qgc3VpdGUgaGFzIHNvbWV0aGluZwotICBsaWtlCi0KLWBgYGpzCi0uYWRkX29iamVjdHMoewot
ICBIVE1MSHRtbEVsZW1lbnQ6IFsnZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50J10sCi0gIEhUTUxI
ZWFkRWxlbWVudDogWydkb2N1bWVudC5oZWFkJ10sCi0gIEhUTUxCb2R5RWxlbWVudDogWydkb2N1
bWVudC5ib2R5J10sCi0gIC4uLgotfSkKLWBgYAotCi0gIGFuZCBzbyBvbiBmb3IgZG96ZW5zIG9m
IGVsZW1lbnQgdHlwZXMuICBUaGlzIHdvdWxkIG1lYW4gdGhhdCBpdCB3b3VsZAotICByZXRlc3Qg
dGhhdCBlYWNoIGFuZCBldmVyeSBvbmUgb2YgdGhvc2UgZWxlbWVudHMgaW1wbGVtZW50cyBgSFRN
TEVsZW1lbnRgLAotICBgRWxlbWVudGAsIGFuZCBgTm9kZWAsIHdoaWNoIHdvdWxkIGJlIHRob3Vz
YW5kcyBvZiBiYXNpY2FsbHkgcmVkdW5kYW50IHRlc3RzLgotICBUaGUgdGVzdCBzdWl0ZSB0aGVy
ZWZvcmUgY2FsbHMgYHByZXZlbnRfbXVsdGlwbGVfdGVzdGluZygiSFRNTEVsZW1lbnQiKWAuCi0g
IFRoaXMgbWVhbnMgdGhhdCBvbmNlIG9uZSBvYmplY3QgaGFzIGJlZW4gdGVzdGVkIHRvIGltcGxl
bWVudCBgSFRNTEVsZW1lbnRgCi0gIGFuZCBpdHMgYW5jZXN0b3JzLCBubyBvdGhlciBvYmplY3Qg
d2lsbCBiZS4gIFRodXMgaW4gdGhlIGV4YW1wbGUgY29kZQotICBhYm92ZSwgdGhlIGhhcm5lc3Mg
d291bGQgdGVzdCB0aGF0IGBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnRgIGNvcnJlY3RseQotICBp
bXBsZW1lbnRzIGBIVE1MSHRtbEVsZW1lbnRgLCBgSFRNTEVsZW1lbnRgLCBgRWxlbWVudGAsIGFu
ZCBgTm9kZWA7IGJ1dAotICBgZG9jdW1lbnQuaGVhZGAgd291bGQgb25seSBiZSB0ZXN0ZWQgZm9y
IGBIVE1MSGVhZEVsZW1lbnRgLCBhbmQgc28gb24gZm9yCi0gIGZ1cnRoZXIgb2JqZWN0cy4KLQot
IyMjIGB0ZXN0KClgCi0gIFJ1biBhbGwgdGVzdHMuICBUaGlzIHNob3VsZCBiZSBjYWxsZWQgYWZ0
ZXIgeW91J3ZlIGNhbGxlZCBhbGwgb3RoZXIKLSAgbWV0aG9kcyB0byBhZGQgSURMcyBhbmQgb2Jq
ZWN0cy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL2RvY3MvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9kb2NzL3czYy1pbXBvcnQubG9nCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5N2RiZWUzZjQyYTk2MzFmMDBlNjI1ZDM3OWMx
M2Y3MzA5NDI4ODU1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L2RvY3MvdzNjLWltcG9ydC5sb2cKKysrIC9kZXYvbnVsbApAQCAtMSwxOSArMCwwIEBACi1UaGUg
dGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3Np
dG9yeS4KLURvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5z
dGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXM0MgQ1NTIG9yIFdQVCBnaXRodWI6
Ci0JaHR0cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy10ZXN0Ci0JaHR0cHM6Ly9naXRodWIuY29t
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMKLQotVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1w
b3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKLQotRG8gTk9UIG1vZGlmeSBvciBy
ZW1vdmUgdGhpcyBmaWxlLgotCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLVByb3BlcnRpZXMgcmVxdWlyaW5n
IHZlbmRvciBwcmVmaXhlczoKLU5vbmUKLVByb3BlcnR5IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9y
IHByZWZpeGVzOgotTm9uZQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1MaXN0IG9mIGZpbGVzOgotL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2RvY3MvYXBp
Lm1kCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvZG9jcy9pZGxoYXJuZXNzLm1kCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy9hcGlzYW1wbGUtZXJyb3It
d29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2FtcGxlLWVycm9yLXdvcmtlci5qcwpkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggOWJmZTBhNmYzNDNkNWVhMjVhOTVkYTJkYzgxZDIzMzRiNjdhNDgx
Mi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy9h
cGlzYW1wbGUtZXJyb3Itd29ya2VyLmpzCisrKyAvZGV2L251bGwKQEAgLTEsMyArMCwwIEBACi1p
bXBvcnRTY3JpcHRzKCIuLi90ZXN0aGFybmVzcy5qcyIpOwotCi10aHJvdyBuZXcgRXJyb3IoIlRo
aXMgZmFpbHVyZSBpcyBleHBlY3RlZC4iKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBsZS13
b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy9leGFtcGxlcy9hcGlzYW1wbGUtd29ya2VyLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCBiMWQwODYzMTRjYzk4MWEyNTY5ZDE0NjJiNWNlMmE3Y2Q3OWQ3NTA3Li4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBs
ZS13b3JrZXIuanMKKysrIC9kZXYvbnVsbApAQCAtMSwzNCArMCwwIEBACi1pbXBvcnRTY3JpcHRz
KCIuLi90ZXN0aGFybmVzcy5qcyIpOwotCi10ZXN0KAotICAgIGZ1bmN0aW9uKHRlc3QpIHsKLSAg
ICAgICAgYXNzZXJ0X3RydWUodHJ1ZSwgIlRydWUgaXMgdHJ1ZSIpOwotICAgIH0sCi0gICAgIldv
cmtlciB0ZXN0IHRoYXQgY29tcGxldGVzIHN1Y2Nlc3NmdWxseSIpOwotCi10ZXN0KAotICAgIGZ1
bmN0aW9uKHRlc3QpIHsKLSAgICAgICAgYXNzZXJ0X3RydWUoZmFsc2UsICJGYWlsaW5nIHRlc3Qi
KTsKLSAgICB9LAotICAgICJXb3JrZXIgdGVzdCB0aGF0IGZhaWxzICgnRkFJTCcpIik7Ci0KLWFz
eW5jX3Rlc3QoCi0gICAgZnVuY3Rpb24odGVzdCkgewotICAgICAgICBhc3NlcnRfdHJ1ZSh0cnVl
LCAiVHJ1ZSBpcyB0cnVlIik7Ci0gICAgfSwKLSAgICAiV29ya2VyIHRlc3QgdGhhdCB0aW1lcyBv
dXQgKCdUSU1FT1VUJykiKTsKLQotYXN5bmNfdGVzdCgiV29ya2VyIHRlc3QgdGhhdCBkb2Vzbid0
IHJ1biAoJ05PVCBSVU4nKSIpOwotCi1hc3luY190ZXN0KAotICAgIGZ1bmN0aW9uKHRlc3QpIHsK
LSAgICAgICAgc2VsZi5zZXRUaW1lb3V0KAotICAgICAgICAgICAgZnVuY3Rpb24oKSB7Ci0gICAg
ICAgICAgICAgICAgdGVzdC5kb25lKCk7Ci0gICAgICAgICAgICB9LAotICAgICAgICAgICAgMCk7
Ci0gICAgfSwKLSAgICAiV29ya2VyIGFzeW5jX3Rlc3QgdGhhdCBjb21wbGV0ZXMgc3VjY2Vzc2Z1
bGx5Iik7Ci0KLS8vIEFuIGV4cGxpY2l0IGRvbmUoKSBpcyByZXF1aXJlZCBmb3IgZGVkaWNhdGVk
IGFuZCBzaGFyZWQgd2ViIHdvcmtlcnMuCi1kb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy9hcGlz
YW1wbGUuaHRtIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2FtcGxlLmh0bQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggNTA0YTM0M2FjZGJiYzg3ZWE1Y2EyMWQ3ODVjNTFiMGJhNTNiMzFkZi4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy9hcGlzYW1wbGUuaHRt
CisrKyAvZGV2L251bGwKQEAgLTEsMTc1ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPg0KLTxodG1s
Pg0KLTxoZWFkPg0KLTx0aXRsZT5TYW1wbGUgSFRNTDUgQVBJIFRlc3RzPC90aXRsZT4NCi08bWV0
YSBuYW1lPSJ0aW1lb3V0IiBjb250ZW50PSI2MDAwIj4NCi08L2hlYWQ+DQotPGJvZHkgb25sb2Fk
PSJsb2FkX3Rlc3RfYXR0ci5kb25lKCkiPg0KLTxoMT5TYW1wbGUgSFRNTDUgQVBJIFRlc3RzPC9o
MT4NCi08ZGl2IGlkPSJsb2ciPjwvZGl2Pg0KLTxzY3JpcHQgc3JjPSIuLi90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+DQotPHNjcmlwdCBzcmM9Ii4uL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4NCi08c2NyaXB0Pg0KLSAgICBzZXR1cF9ydW4gPSBmYWxzZTsNCi0gICAgc2V0dXAoZnVu
Y3Rpb24oKSB7DQotICAgICAgICAgICAgc2V0dXBfcnVuID0gdHJ1ZTsNCi0gICAgICAgICAgfSk7
DQotICAgIHRlc3QoZnVuY3Rpb24oKSB7YXNzZXJ0X3RydWUoc2V0dXBfcnVuKX0sICJTZXR1cCBm
dW5jdGlvbiByYW4iKTsNCi0NCi0gICAgLy8gVHdvIGV4YW1wbGVzIGZvciB0ZXN0aW5nIGV2ZW50
cyBmcm9tIGhhbmRsZXIgYW5kIGF0dHJpYnV0ZXMNCi0gICAgdmFyIGxvYWRfdGVzdF9ldmVudCA9
IGFzeW5jX3Rlc3QoIndpbmRvdyBvbmxvYWQgZXZlbnQgZmlyZXMgd2hlbiBzZXQgZnJvbSB0aGUg
aGFuZGxlciIpOw0KLQ0KLSAgICBmdW5jdGlvbiB3aW5kb3dMb2FkKCkNCi0gICAgew0KLSAgICAg
ICAgbG9hZF90ZXN0X2V2ZW50LmRvbmUoKTsNCi0gICAgfQ0KLSAgICBvbl9ldmVudCh3aW5kb3cs
ICJsb2FkIiwgd2luZG93TG9hZCk7DQotDQotICAgIC8vIHNlZSB0aGUgYm9keSBvbmxvYWQgYmVs
b3cNCi0gICAgdmFyIGxvYWRfdGVzdF9hdHRyID0gYXN5bmNfdGVzdCgiYm9keSBlbGVtZW50IGZp
cmVzIHRoZSBvbmxvYWQgZXZlbnQgc2V0IGZyb20gdGhlIGF0dHJpYnV0ZSIpOw0KLTwvc2NyaXB0
Pg0KLTxzY3JpcHQ+DQotICAgIGZ1bmN0aW9uIGJvZHlFbGVtZW50KCkNCi0gICAgew0KLSAgICAg
ICAgYXNzZXJ0X2VxdWFscyhkb2N1bWVudC5ib2R5LCBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFn
TmFtZSgiYm9keSIpWzBdKTsNCi0gICAgfQ0KLSAgICB0ZXN0KGJvZHlFbGVtZW50LCAiZG9jdW1l
bnQuYm9keSBzaG91bGQgYmUgdGhlIGZpcnN0IGJvZHkgZWxlbWVudCBpbiB0aGUgZG9jdW1lbnQi
KTsNCi0NCi0gICAgdGVzdChmdW5jdGlvbigpIHsNCi0gICAgICAgIGFzc2VydF9lcXVhbHMoMSwx
KTsNCi0gICAgICAgIGFzc2VydF9lcXVhbHMoTmFOLCBOYU4sICJOYU4gY2FzZSIpOw0KLSAgICAg
ICAgYXNzZXJ0X2VxdWFscygwLCAwLCAiWmVybyBjYXNlIik7DQotICAgIH0sICJhc3NlcnRfZXF1
YWxzIHRlc3RzIikNCi0NCi0gICAgdGVzdChmdW5jdGlvbigpIHsNCi0gICAgICAgIGFzc2VydF9l
cXVhbHMoLTAsIDAsICJaZXJvIGNhc2UiKTsNCi0gICAgfSwgImFzc2VydF9lcXVhbHMgdGVzdHMg
ZXhwZWN0ZWQgdG8gZmFpbCIpDQotDQotICAgIHRlc3QoZnVuY3Rpb24oKSB7DQotICAgICAgICBh
c3NlcnRfbm90X2VxdWFscyh7fSwge30sICJvYmplY3QgY2FzZSIpOw0KLSAgICAgICAgYXNzZXJ0
X25vdF9lcXVhbHMoLTAsIDAsICJaZXJvIGNhc2UiKTsNCi0gICAgfSwgImFzc2VydF9ub3RfZXF1
YWxzIHRlc3RzIikNCi0NCi0gICAgZnVuY3Rpb24gdGVzdEFzc2VydFBhc3MoKQ0KLSAgICB7DQot
ICAgICAgICBhc3NlcnRfdHJ1ZSh0cnVlKTsNCi0gICAgfQ0KLSAgICB0ZXN0KHRlc3RBc3NlcnRQ
YXNzLCAiYXNzZXJ0X3RydWUgZXhwZWN0ZWQgdG8gcGFzcyIpOw0KLQ0KLSAgICBmdW5jdGlvbiB0
ZXN0QXNzZXJ0RmFsc2UoKQ0KLSAgICB7DQotICAgICAgICBhc3NlcnRfdHJ1ZShmYWxzZSwgImZh
bHNlIHNob3VsZCBub3QgYmUgdHJ1ZSIpOw0KLSAgICB9DQotICAgIHRlc3QodGVzdEFzc2VydEZh
bHNlLCAiYXNzZXJ0X3RydWUgZXhwZWN0ZWQgdG8gZmFpbCIpOw0KLQ0KLSAgICBmdW5jdGlvbiBi
YXNpY0Fzc2VydEFycmF5RXF1YWxzKCkNCi0gICAgew0KLSAgICAgICAgYXNzZXJ0X2FycmF5X2Vx
dWFscyhbMSwgTmFOXSwgWzEsIE5hTl0sICJbMSwgTmFOXSBpcyBlcXVhbCB0byBbMSwgTmFOXSIp
Ow0KLSAgICB9DQotICAgIHRlc3QoYmFzaWNBc3NlcnRBcnJheUVxdWFscywgImJhc2ljIGFzc2Vy
dF9hcnJheV9lcXVhbHMgdGVzdCIpOw0KLQ0KLSAgICBmdW5jdGlvbiBiYXNpY0Fzc2VydE9iamVj
dEVxdWFscygpDQotICAgIHsNCi0gICAgICAgIGFzc2VydF9vYmplY3RfZXF1YWxzKFsxLCAyLCBb
MSwgMl1dLCB7IDA6IDEsIDE6IDIsIDI6IHsgMDogMSwgMTogMn0gfSwgImFycmF5IGlzIGVxdWFs
IHRvIG9iamVjdCIpDQotICAgIH0NCi0gICAgdGVzdChiYXNpY0Fzc2VydE9iamVjdEVxdWFscywg
ImJhc2ljIGFzc2VydF9vYmplY3RfZXF1YWxzIHRlc3QiKTsNCi0NCi0gICAgZnVuY3Rpb24gYmFz
aWNBc3NlcnRBcHByb3hFcXVhbHMoKQ0KLSAgICB7DQotICAgICAgICBhc3NlcnRfYXBwcm94X2Vx
dWFscygxMCwgMTEsIDEsICIxMCBpcyBhcHByb3hpbWF0ZWx5ICgrLy0gMSkgMTEiKQ0KLSAgICB9
DQotICAgIHRlc3QoYmFzaWNBc3NlcnRBcHByb3hFcXVhbHMsICJiYXNpYyBhc3NlcnRfYXBwcm94
X2VxdWFscyB0ZXN0Iik7DQotDQotICAgIGZ1bmN0aW9uIGJhc2ljQXNzZXJ0TGVzc1RoYW4oKQ0K
LSAgICB7DQotICAgICAgICBhc3NlcnRfbGVzc190aGFuKDEwLCAxMSwgIjEwIGlzIGxlc3MgdGhh
biAxMSIpDQotICAgIH0NCi0gICAgdGVzdChiYXNpY0Fzc2VydEFwcHJveEVxdWFscywgImJhc2lj
IGFzc2VydF9sZXNzX3RoYW4gdGVzdCIpOw0KLQ0KLSAgICBmdW5jdGlvbiBiYXNpY0Fzc2VydEdy
ZWF0ZXJUaGFuKCkNCi0gICAgew0KLSAgICAgICAgYXNzZXJ0X2dyZWF0ZXJfdGhhbigxMCwgMTEs
ICIxMCBpcyBub3QgZ3JlYXRlciB0aGFuIDExIik7DQotICAgIH0NCi0gICAgdGVzdChiYXNpY0Fz
c2VydEdyZWF0ZXJUaGFuLCAiYXNzZXJ0X2dyZWF0ZXJfdGhhbiBleHBlY3RlZCB0byBmYWlsIik7
DQotDQotICAgIGZ1bmN0aW9uIGJhc2ljQXNzZXJ0R3JlYXRlclRoYW5FcXVhbCgpDQotICAgIHsN
Ci0gICAgICAgIGFzc2VydF9ncmVhdGVyX3RoYW5fZXF1YWwoMTAsIDEwLCAiMTAgaXMgZ3JlYXRl
ciB0aGFuIG9yIGVxdWFsIHRvIDEwIikNCi0gICAgfQ0KLSAgICB0ZXN0KGJhc2ljQXNzZXJ0R3Jl
YXRlclRoYW5FcXVhbCwgImJhc2ljIGFzc2VydF9ncmVhdGVyX3RoYW5fZXF1YWwgdGVzdCIpOw0K
LQ0KLSAgICBmdW5jdGlvbiBiYXNpY0Fzc2VydExlc3NUaGFuRXF1YWwoKQ0KLSAgICB7DQotICAg
ICAgICBhc3NlcnRfZ3JlYXRlcl90aGFuX2VxdWFsKCcxMCcsIDEwLCAiJzEwJyBpcyBub3QgYSBu
dW1iZXIiKQ0KLSAgICB9DQotICAgIHRlc3QoYmFzaWNBc3NlcnRMZXNzVGhhbkVxdWFsLCAiYXNz
ZXJ0X2xlc3NfdGhhbl9lcXVhbCBleHBlY3RlZCB0byBmYWlsIik7DQotDQotICAgIGZ1bmN0aW9u
IHRlc3RBc3NlcnRJbmhlcml0cygpIHsNCi0gICAgICAgIHZhciBBID0gZnVuY3Rpb24oKXt0aGlz
LmEgPSAiYSJ9DQotICAgICAgICBBLnByb3RvdHlwZSA9IHtiOiJiIn0NCi0gICAgICAgIHZhciBh
ID0gbmV3IEEoKTsNCi0gICAgICAgIGFzc2VydF9leGlzdHMoYSwgImEiKTsNCi0gICAgICAgIGFz
c2VydF9ub3RfZXhpc3RzKGEsICJiIik7DQotICAgICAgICBhc3NlcnRfaW5oZXJpdHMoYSwgImIi
KTsNCi0gICAgfQ0KLSAgICB0ZXN0KHRlc3RBc3NlcnRJbmhlcml0cywgInRlc3QgZm9yIGFzc2Vy
dFtfbm90XV9leGlzdHMgYW5kIGluc2VydF9pbmhlcml0cyIpDQotDQotICAgIHRlc3QoZnVuY3Rp
b24oKQ0KLSAgICB7DQotICAgICAgICB2YXIgYSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImEi
KQ0KLSAgICAgICAgdmFyIGIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJiIikNCi0gICAgICAg
IGFzc2VydF90aHJvd3MoIk5PVF9GT1VORF9FUlIiLCBmdW5jdGlvbigpe2EucmVtb3ZlQ2hpbGQo
Yil9KTsNCi0gICAgfSwgIlRlc3QgdGhyb3cgRE9NIGV4Y2VwdGlvbiIpDQotDQotICAgIHRlc3Qo
ZnVuY3Rpb24oKQ0KLSAgICB7DQotICAgICAgICB2YXIgYSA9IGRvY3VtZW50LmNyZWF0ZVRleHRO
b2RlKCJhIikNCi0gICAgICAgIHZhciBiID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYiIpDQot
ICAgICAgICBhc3NlcnRfdGhyb3dzKCJOT1RfRk9VTkRfRVJSIiwgZnVuY3Rpb24oKXthLmFwcGVu
ZENoaWxkKGIpfSk7DQotICAgIH0sICJUZXN0IHRocm93IERPTSBleGNlcHRpb24gZXhwZWN0ZWQg
dG8gZmFpbCIpDQotDQotICAgIHRlc3QoZnVuY3Rpb24oKQ0KLSAgICB7DQotICAgICAgICB2YXIg
ZSA9IHtjb2RlOjAsIG5hbWU6IlRFU1RfRVJSIiwgVEVTVF9FUlI6MH0NCi0gICAgICAgIGFzc2Vy
dF90aHJvd3MoIlRFU1RfRVJSIiwgZnVuY3Rpb24oKSB7dGhyb3cgZX0pOw0KLSAgICB9LCAiVGVz
dCBhc3NlcnRfdGhyb3dzIHdpdGggbm9uLURPTS1leGNlcHRpb24gZXhwZWN0ZWQgdG8gRmFpbCIp
Ow0KLQ0KLSAgICB2YXIgdCA9IGFzeW5jX3Rlc3QoIlRlc3Qgc3RlcF9mdW5jIikNCi0gICAgc2V0
VGltZW91dCgNCi0gICAgICB0LnN0ZXBfZnVuYygNCi0gICAgICAgIGZ1bmN0aW9uICgpIHsNCi0g
ICAgICAgICAgYXNzZXJ0X3RydWUodHJ1ZSk7IHQuZG9uZSgpOw0KLSAgICAgICAgfSksIDApOw0K
LQ0KLSAgICBhc3luY190ZXN0KGZ1bmN0aW9uKHQpIHsNCi0gICAgICAgIHNldFRpbWVvdXQodC5z
dGVwX2Z1bmMoZnVuY3Rpb24gKCl7YXNzZXJ0X3RydWUodHJ1ZSk7IHQuZG9uZSgpO30pLCAwKTsN
Ci0gICAgfSwgIlRlc3QgYXN5bmMgdGVzdCB3aXRoIGNhbGxiYWNrIik7DQotDQotICAgIGFzeW5j
X3Rlc3QoZnVuY3Rpb24oKSB7DQotICAgICAgICBzZXRUaW1lb3V0KHRoaXMuc3RlcF9mdW5jKGZ1
bmN0aW9uICgpe2Fzc2VydF90cnVlKHRydWUpOyB0aGlzLmRvbmUoKTt9KSwgMCk7DQotICAgIH0s
ICJUZXN0IGFzeW5jIHRlc3Qgd2l0aCBjYWxsYmFjayBhbmQgYHRoaXNgIG9iai4iKTsNCi0NCi0g
ICAgYXN5bmNfdGVzdCgidGVzdCBzaG91bGQgdGltZW91dCAoZmFpbCkgd2l0aCB0aGUgZGVmYXVs
dCBvZiAyIHNlY29uZHMiKS5zdGVwKGZ1bmN0aW9uKCl7fSk7DQotDQotICAgIGFzeW5jX3Rlc3Qo
InRlc3Qgc2hvdWxkIHRpbWVvdXQgKGZhaWwpIHdpdGggYSBjdXN0b20gc2V0IHRpbWVvdXQgdmFs
dWUgb2YgMSBzZWNvbmQiLA0KLSAgICAgICAgICAgICAgIHt0aW1lb3V0OjEwMDB9KS5zdGVwKGZ1
bmN0aW9uKCl7fSk7DQotDQotICAgIGFzeW5jX3Rlc3QoImFzeW5jIHRlc3QgdGhhdCBpcyBuZXZl
ciBzdGFydGVkLCBzaG91bGQgaGF2ZSBzdGF0dXMgTm90IFJ1biIsIHt0aW1lb3V0OjEwMDB9KTsN
Ci0NCi0NCi0gICAgdGVzdChmdW5jdGlvbih0KSB7DQotICAgICAgICAgICAgIHdpbmRvdy5nbG9i
YWwgPSAxOw0KLSAgICAgICAgICAgICB0LmFkZF9jbGVhbnVwKGZ1bmN0aW9uKCkge2RlbGV0ZSB3
aW5kb3cuZ2xvYmFsfSk7DQotICAgICAgICAgICAgIGFzc2VydF9lcXVhbHMod2luZG93Lmdsb2Jh
bCwgMSk7DQotICAgICAgICAgfSwNCi0gICAgICAgICAiVGVzdCB0aGF0IGRlZmluZXMgYSBnbG9i
YWwgYW5kIGNsZWFucyBpdCB1cCIpOw0KLQ0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkge2Fzc2VydF9l
cXVhbHMod2luZG93Lmdsb2JhbCwgdW5kZWZpbmVkKX0sDQotICAgICAgICAgIlRlc3QgdGhhdCBj
bGVhbnVwIGhhbmRsZXJzIGZyb20gcHJldmlvdXMgdGVzdCByYW4iKTsNCi0NCi08L3NjcmlwdD4N
Ci08L2JvZHk+DQotPC9odG1sPg0KLQ0KLQ0KLQ0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBs
ZTEwLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy9leGFtcGxlcy9hcGlzYW1wbGUxMC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCA2OTgxMGZlMTZjZjZiZmI1ZWExNjlmNDk5ODY3MzhmMDhkMTFkYzI2Li4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBsZTEw
Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxMTkgKzAsMCBAQAotPCFET0NUWVBFIEhUTUw+Ci08
aHRtbD4KLTxoZWFkPgotPHRpdGxlPkFzeW5jIFRlc3RzIGFuZCBQcm9taXNlczwvdGl0bGU+Ci08
L2hlYWQ+Ci08Ym9keT4KLTxoMT5Bc3luYyBUZXN0cyBhbmQgUHJvbWlzZXM8L2gxPgotPHA+VGhp
cyB0ZXN0IGFzc3VtZXMgRUNNQVNjcmlwdCA2IFByb21pc2Ugc3VwcG9ydC4gU29tZSBmYWlsdXJl
cyBhcmUgZXhwZWN0ZWQuPC9wPgotPGRpdiBpZD0ibG9nIj48L2Rpdj4KLTxzY3JpcHQgc3JjPSIu
Li90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLQotdGVzdChmdW5jdGlvbigpIHsKLSAgdmFy
IHAgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHt9KTsKLSAgYXNzZXJ0
X3RydWUoJ3RoZW4nIGluIHApOwotICBhc3NlcnRfZXF1YWxzKHR5cGVvZiBQcm9taXNlLnJlc29s
dmUsICdmdW5jdGlvbicpOwotICBhc3NlcnRfZXF1YWxzKHR5cGVvZiBQcm9taXNlLnJlamVjdCwg
J2Z1bmN0aW9uJyk7Ci19LCAiUHJvbWlzZXMgYXJlIHN1cHBvcnRlZCBpbiB5b3VyIGJyb3dzZXIi
KTsKLQotKGZ1bmN0aW9uKCkgewotICB2YXIgdCA9IGFzeW5jX3Rlc3QoIlByb21pc2UgcmVzb2x1
dGlvbiIpOwotICB0LnN0ZXAoZnVuY3Rpb24oKSB7Ci0gICAgUHJvbWlzZS5yZXNvbHZlKCd4Jyku
dGhlbigKLSAgICAgIHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHZhbHVlKSB7Ci0gICAgICAgIGFzc2Vy
dF9lcXVhbHModmFsdWUsICd4Jyk7Ci0gICAgICAgIHQuZG9uZSgpOwotICAgICAgfSksCi0gICAg
ICB0LnVucmVhY2hlZF9mdW5jKCdQcm9taXNlIHNob3VsZCBub3QgcmVqZWN0JykKLSAgICApOwot
ICB9KTsKLX0oKSk7Ci0KLShmdW5jdGlvbigpIHsKLSAgdmFyIHQgPSBhc3luY190ZXN0KCJQcm9t
aXNlIHJlamVjdGlvbiIpOwotICB0LnN0ZXAoZnVuY3Rpb24oKSB7Ci0gICAgUHJvbWlzZS5yZWpl
Y3QoRXJyb3IoJ2ZhaWwnKSkudGhlbigKLSAgICAgIHQudW5yZWFjaGVkX2Z1bmMoJ1Byb21pc2Ug
c2hvdWxkIHJlamVjdCcpLAotICAgICAgdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Ci0g
ICAgICAgIGFzc2VydF90cnVlKHJlYXNvbiBpbnN0YW5jZW9mIEVycm9yKTsKLSAgICAgICAgYXNz
ZXJ0X2VxdWFscyhyZWFzb24ubWVzc2FnZSwgJ2ZhaWwnKTsKLSAgICAgICAgdC5kb25lKCk7Ci0g
ICAgICB9KQotICAgICk7Ci0gIH0pOwotfSgpKTsKLQotKGZ1bmN0aW9uKCkgewotICB2YXIgdCA9
IGFzeW5jX3Rlc3QoIlByb21pc2VzIHJlc29sdXRpb24gY2hhaW5pbmciKTsKLSAgdC5zdGVwKGZ1
bmN0aW9uKCkgewotICAgIHZhciByZXNvbHV0aW9ucyA9IFtdOwotICAgIFByb21pc2UucmVzb2x2
ZSgnYScpLnRoZW4oCi0gICAgICB0LnN0ZXBfZnVuYyhmdW5jdGlvbih2YWx1ZSkgewotICAgICAg
ICByZXNvbHV0aW9ucy5wdXNoKHZhbHVlKTsKLSAgICAgICAgcmV0dXJuICdiJzsKLSAgICAgIH0p
Ci0gICAgKS50aGVuKAotICAgICAgdC5zdGVwX2Z1bmMoZnVuY3Rpb24odmFsdWUpIHsKLSAgICAg
ICAgcmVzb2x1dGlvbnMucHVzaCh2YWx1ZSk7Ci0gICAgICAgIHJldHVybiAnYyc7Ci0gICAgICB9
KQotICAgICkudGhlbigKLSAgICAgIHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHZhbHVlKSB7Ci0gICAg
ICAgIHJlc29sdXRpb25zLnB1c2godmFsdWUpOwotCi0gICAgICAgIGFzc2VydF9hcnJheV9lcXVh
bHMocmVzb2x1dGlvbnMsIFsnYScsICdiJywgJ2MnXSk7Ci0gICAgICAgIHQuZG9uZSgpOwotICAg
ICAgfSkKLSAgICApLmNhdGNoKAotICAgICAgdC51bnJlYWNoZWRfZnVuYygncHJvbWlzZSBzaG91
bGQgbm90IGhhdmUgcmVqZWN0ZWQnKQotICAgICk7Ci0gIH0pOwotfSgpKTsKLQotKGZ1bmN0aW9u
KCkgewotICB2YXIgdCA9IGFzeW5jX3Rlc3QoIlVzZSBvZiBzdGVwX2Z1bmMgd2l0aCBQcm9taXNl
cyIpOwotICB0LnN0ZXAoZnVuY3Rpb24oKSB7Ci0gICAgdmFyIHJlc29sdXRpb25zID0gW107Ci0g
ICAgUHJvbWlzZS5yZXNvbHZlKCd4JykudGhlbigKLSAgICAgIHQuc3RlcF9mdW5jX2RvbmUoKSwK
LSAgICAgIHQudW5yZWFjaGVkX2Z1bmMoJ1Byb21pc2Ugc2hvdWxkIG5vdCBoYXZlIHJlamVjdGVk
JykKLSAgICApOwotICB9KTsKLX0oKSk7Ci0KLShmdW5jdGlvbigpIHsKLSAgdmFyIHQgPSBhc3lu
Y190ZXN0KCJQcm9taXNlcyBhbmQgdGVzdCBhc3NlcnRpb24gZmFpbHVyZXMgKHNob3VsZCBmYWls
KSIpOwotICB0LnN0ZXAoZnVuY3Rpb24oKSB7Ci0gICAgdmFyIHJlc29sdXRpb25zID0gW107Ci0g
ICAgUHJvbWlzZS5yZXNvbHZlKCd4JykudGhlbigKLSAgICAgIHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHZhbHVlKSB7Ci0gICAgICAgIGFzc2VydF90cnVlKGZhbHNlLCAnVGhpcyBmYWlsdXJlIGlzIGV4
cGVjdGVkJyk7Ci0gICAgICB9KQotICAgICkudGhlbigKLSAgICAgIHQudW5yZWFjaGVkX2Z1bmMo
J1Byb21pc2Ugc2hvdWxkIG5vdCBoYXZlIHJlc29sdmVkJykKLSAgICApLmNhdGNoKAotICAgICAg
dC51bnJlYWNoZWRfZnVuYygnUHJvbWlzZSBzaG91bGQgbm90IGhhdmUgcmVqZWN0ZWQnKQotICAg
ICk7Ci0gIH0pOwotfSgpKTsKLQotKGZ1bmN0aW9uKCkgewotICB2YXIgdCA9IGFzeW5jX3Rlc3Qo
IlVzZSBvZiB1bnJlYWNoZWRfZnVuYyB3aXRoIFByb21pc2VzIChzaG91bGQgZmFpbCkiKTsKLSAg
dC5zdGVwKGZ1bmN0aW9uKCkgewotICAgIHZhciByZXNvbHV0aW9ucyA9IFtdOwotICAgIHZhciBy
OwotICAgIHZhciBwID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7Ci0g
ICAgICAvLyBSZWplY3QgaW5zdGVhZCBvZiByZXNvbHZlLCB0byBkZW1vbnN0cmF0ZSBmYWlsdXJl
LgotICAgICAgcmVqZWN0KDEyMyk7Ci0gICAgfSk7Ci0gICAgcC50aGVuKAotICAgICAgZnVuY3Rp
b24odmFsdWUpIHsKLSAgICAgICAgYXNzZXJ0X2VxdWFscyh2YWx1ZSwgMTIzLCAnVGhpcyBzaG91
bGQgbm90IGFjdHVhbGx5IGhhcHBlbicpOwotICAgICAgfSwKLSAgICAgIHQudW5yZWFjaGVkX2Z1
bmMoJ1RoaXMgZmFpbHVyZSBpcyBleHBlY3RlZCcpCi0gICAgKTsKLSAgfSk7Ci19KCkpOwotPC9z
Y3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy9hcGlzYW1wbGUxMS5odG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2Ft
cGxlMTEuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzJlODk4NGMzZjE2NDA3
OTI5ZDAzNzkyODI5MWU5YTg3MjJmOTFhYy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy9leGFtcGxlcy9hcGlzYW1wbGUxMS5odG1sCisrKyAvZGV2L251bGwKQEAg
LTEsOTkgKzAsMCBAQAotPCFET0NUWVBFIEhUTUw+Ci08aHRtbD4KLTxoZWFkPgotPHRpdGxlPkV4
YW1wbGUgd2l0aCBpZnJhbWUgdGhhdCBub3RpZmllcyBjb250YWluaW5nIGRvY3VtZW50IHZpYSBj
YWxsYmFja3M8L3RpdGxlPgotPHNjcmlwdCBzcmM9Ii4uL3Rlc3RoYXJuZXNzLmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPSIuLi90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08L2hl
YWQ+Ci08Ym9keSBvbmxvYWQ9InN0YXJ0X3Rlc3RfaW5faWZyYW1lKCkiPgotPGgxPkNhbGxiYWNr
cyBGcm9tIFRlc3RzIFJ1bm5pbmcgSW4gQW4gSUZSQU1FPC9oMT4KLTxwPkEgdGVzdCBpcyBydW4g
aW5zaWRlIGFuIDx0dD5pZnJhbWU8L3R0PiB3aXRoIGEgc2FtZSBvcmlnaW4gZG9jdW1lbnQuIFRo
ZQotY29udGFpbmluZyBkb2N1bWVudCBzaG91bGQgcmVjZWl2ZSBjYWxsYmFja3MgYXMgdGhlIHRl
c3RzIHByb2dyZXNzIGluc2lkZSB0aGUKLTx0dD5pZnJhbWU8L3R0Pi4gQSBzaW5nbGUgcGFzc2lu
ZyB0ZXN0IGlzIGV4cGVjdGVkIGluIHRoZSBzdW1tYXJ5IGJlbG93LgotPGRpdiBpZD0ibG9nIj48
L2Rpdj4KLQotPHNjcmlwdD4KLXZhciBjYWxsYmFja3MgPSBbXTsKLXZhciBTVEFSVCA9IDEKLXZh
ciBURVNUX1NUQVRFID0gMgotdmFyIFJFU1VMVCA9IDMKLXZhciBDT01QTEVUSU9OID0gNAotdmFy
IHRlc3RfY29tcGxldGUgPSBmYWxzZTsKLQotc2V0dXAoe2V4cGxpY2l0X2RvbmU6IHRydWV9KTsK
LQotLy8gVGhlIGZvbGxvd2luZyBjYWxsYmFja3MgYXJlIGNhbGxlZCBmb3IgdGVzdHMgaW4gdGhp
cyBkb2N1bWVudCBhcyB3ZWxsIGFzIHRoZQotLy8gdGVzdHMgaW4gdGhlIElGUkFNRS4gQ3VycmVu
dGx5LCBjYWxsYmFja3MgaW52b2tlZCBmcm9tIHRoaXMgZG9jdW1lbnQgYW5kIGFueQotLy8gY2hp
bGQgZG9jdW1lbnQgYXJlIGluZGlzdGluZ3Vpc2hhYmxlIGZyb20gZWFjaCBvdGhlci4KLQotZnVu
Y3Rpb24gc3RhcnRfY2FsbGJhY2socHJvcGVydGllcykgewotICAgIGNhbGxiYWNrcy5wdXNoKFNU
QVJUKTsKLX0KLQotZnVuY3Rpb24gdGVzdF9zdGF0ZV9jYWxsYmFjayh0ZXN0KSB7Ci0gICAgY2Fs
bGJhY2tzLnB1c2goVEVTVF9TVEFURSk7Ci19Ci0KLWZ1bmN0aW9uIHJlc3VsdF9jYWxsYmFjayh0
ZXN0KSB7Ci0gICAgY2FsbGJhY2tzLnB1c2goUkVTVUxUKTsKLX0KLQotZnVuY3Rpb24gY29tcGxl
dGlvbl9jYWxsYmFjayh0ZXN0cywgc3RhdHVzKSB7Ci0gICAgaWYgKHRlc3RfY29tcGxldGUpIHsK
LSAgICAgICAgcmV0dXJuOwotICAgIH0KLSAgICB0ZXN0X2NvbXBsZXRlID0gdHJ1ZTsKLSAgICBj
YWxsYmFja3MucHVzaChDT01QTEVUSU9OKTsKLSAgICB2ZXJpZnlfcmVjZWl2ZWRfY2FsbGJhY2tz
KCk7Ci0gICAgZG9uZSgpOwotfQotCi1mdW5jdGlvbiB2ZXJpZnlfcmVjZWl2ZWRfY2FsbGJhY2tz
KCkgewotICAgIHZhciBjb3B5X29mX2NhbGxiYWNrcyA9IGNhbGxiYWNrcy5zbGljZSgwKTsKLQot
ICAgIC8vIE5vdGUgdGhhdCB5b3UgY2FuJ3QgcnVuIHRlc3QgYXNzZXJ0aW9ucyBkaXJlY3RseSBp
biBhIGNhbGxiYWNrIGV2ZW4gaWYKLSAgICAvLyB0aGlzIGlzIGEgZmlsZSB0ZXN0LiBXaGVuIHRo
ZSBjYWxsYmFjayBpcyBpbnZva2VkIGZyb20gYSBzYW1lLW9yaWdpbiBjaGlsZAotICAgIC8vIHBh
Z2UsIHRoZSBjYWxsc3RhY2sgcmVhY2hlcyBpbnRvIHRoZSBjYWxsaW5nIGNoaWxkIGRvY3VtZW50
LiBBbnkKLSAgICAvLyBleGNlcHRpb24gdGhyb3duIGluIGEgY2FsbGJhY2sgd2lsbCBiZSBoYW5k
bGVkIGJ5IHRoZSBjaGlsZCByYXRoZXIgdGhhbgotICAgIC8vIHRoaXMgZG9jdW1lbnQuCi0gICAg
dGVzdCgKLSAgICAgICAgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAvLyBjYWxsYmFja3MgbGlz
dCBzaG91bGQgbG9vayBsaWtlOgotICAgICAgICAgICAgLy8gICAgIFNUQVJUIDEqKFRFU1RfU1RB
VEUpIFJFU1VMVCBDT01QTEVUSU9OCi0gICAgICAgICAgICBhc3NlcnRfZXF1YWxzKGNvcHlfb2Zf
Y2FsbGJhY2tzLnNoaWZ0KCksIFNUQVJULAotICAgICAgICAgICAgICAgICAgICAgICAgICAiVGhl
IGZpcnN0IHJlY2VpdmVkIGNhbGxiYWNrIHNob3VsZCBiZSAnc3RhcnRfY2FsbGJhY2snLiIpOwot
ICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhjb3B5X29mX2NhbGxiYWNrcy5zaGlmdCgpLCBURVNU
X1NUQVRFLAotICAgICAgICAgICAgICAgICAgICAgICAgICAiJ3Rlc3Rfc3RhdGVfY2FsbGJhY2sn
IHNob3VsZCBiZSByZWNlaXZlZCBiZWZvcmUgYW55ICIgKwotICAgICAgICAgICAgICAgICAgICAg
ICAgICAicmVzdWx0IG9yIGNvbXBsZXRpb24gY2FsbGJhY2tzLiIpOwotICAgICAgICAgICAgd2hp
bGUoY29weV9vZl9jYWxsYmFja3MubGVuZ3RoID4gMCkgewotICAgICAgICAgICAgICAgIHZhciBj
YWxsYmFjayA9IGNvcHlfb2ZfY2FsbGJhY2tzLnNoaWZ0KCk7Ci0gICAgICAgICAgICAgICAgaWYg
KGNhbGxiYWNrICE9IFRFU1RfU1RBVEUpIHsKLSAgICAgICAgICAgICAgICAgICAgY29weV9vZl9j
YWxsYmFja3MudW5zaGlmdChjYWxsYmFjayk7Ci0gICAgICAgICAgICAgICAgICAgIGJyZWFrOwot
ICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGFzc2VydF9lcXVh
bHMoY29weV9vZl9jYWxsYmFja3Muc2hpZnQoKSwgUkVTVUxULAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAiJ3Rlc3Rfc3RhdGVfY2FsbGJhY2snIHNob3VsZCBiZSBmb2xsb3dlZCBieSAncmVz
dWx0X2NhbGxiYWNrJy4iKTsKLSAgICAgICAgICAgIGFzc2VydF9lcXVhbHMoY29weV9vZl9jYWxs
YmFja3Muc2hpZnQoKSwgQ09NUExFVElPTiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIkZp
bmFsICdyZXN1bHRfY2FsbGJhY2snIHNob3VsZCBiZSBmb2xsb3dlZCBieSAnY29tcGxldGlvbl9j
YWxsYmFjaycuIik7Ci0gICAgICAgICAgICBhc3NlcnRfZXF1YWxzKGNvcHlfb2ZfY2FsbGJhY2tz
Lmxlbmd0aCwgMCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIidjb21wbGV0aW9uX2NhbGxi
YWNrJyBzaG91bGQgYmUgdGhlIGxhc3QgY2FsbGJhY2suIik7Ci0gICAgICAgIH0pOwotfQotCi1m
dW5jdGlvbiBzdGFydF90ZXN0X2luX2lmcmFtZSgpIHsKLSAgICAvLyBUaGlzIGRvY3VtZW50IGlz
IGdvaW5nIHRvIGNsZWFyIGFueSByZWNlaXZlZCBjYWxsYmFja3MgYW5kIG1haW50YWluCi0gICAg
Ly8gcmFkaW8gc2lsZW5jZSB1bnRpbCB0aGUgdGVzdCBpbiB0aGUgaWZyYW1lIHJ1bnMgdG8gY29t
cGxldGlvbi4gVGhlCi0gICAgLy8gY29tcGxldGlvbl9jYWxsYmFjaygpIHdpbGwgdGhlbiBjb21w
bGV0ZSB0aGUgdGVzdGluZyBvbiB0aGlzIGRvY3VtZW50LgotICAgIGNhbGxiYWNrcy5sZW5ndGgg
PSAwOwotICAgIHZhciBpZnJhbWUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKTsK
LSAgICAvLyBhcGlzYW1wbGU2Lmh0bWwgaGFzIGEgc2luZ2xlIHRlc3QuCi0gICAgaWZyYW1lLnNy
YyA9ICJhcGlzYW1wbGU2Lmh0bWwiOwotICAgIGlmcmFtZS5zdHlsZS5zZXRQcm9wZXJ0eSgiZGlz
cGxheSIsICJub25lIik7Ci0gICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRhcmdldCIpLmFw
cGVuZENoaWxkKGlmcmFtZSk7Ci19Ci08L3NjcmlwdD4KLQotPGRpdiBpZD0idGFyZ2V0Ij4KLTwv
ZGl2PgotPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2FtcGxlMTIuaHRtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVz
L2FwaXNhbXBsZTEyLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGIzOWE2MWE2
ZjI5MjQ0MGQxYTA3YjQ4ZDg5YjZlMzhhYWIyOTU0ZjcuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2FtcGxlMTIuaHRtbAorKysgL2Rldi9u
dWxsCkBAIC0xLDY3ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLTx0
aXRsZT5FeGFtcGxlIHdpdGggaWZyYW1lIHRoYXQgbm90aWZpZXMgY29udGFpbmluZyBkb2N1bWVu
dCB2aWEgY3Jvc3MgZG9jdW1lbnQgbWVzc2FnaW5nPC90aXRsZT4KLTxzY3JpcHQgc3JjPSIuLi90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vdGVzdGhhcm5lc3NyZXBv
cnQuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08aDE+Tm90aWZpY2F0aW9ucyBGcm9t
IFRlc3RzIFJ1bm5pbmcgSW4gQW4gSUZSQU1FPC9oMT4KLTxwPkEgdGVzdCBpcyBydW4gaW5zaWRl
IGFuIDx0dD5pZnJhbWU8L3R0PiB3aXRoIGEgc2FtZSBvcmlnaW4gZG9jdW1lbnQuIFRoZQotY29u
dGFpbmluZyBkb2N1bWVudCBzaG91bGQgcmVjZWl2ZSBtZXNzYWdlcyB2aWEgPHR0PnBvc3RNZXNz
YWdlPC90dD4vCi08dHQ+b25tZXNzYWdlPC90dD4gYXMgdGhlIHRlc3RzIHByb2dyZXNzIGluc2lk
ZSB0aGUgPHR0PmlmcmFtZTwvdHQ+LiBBIHNpbmdsZQotcGFzc2luZyB0ZXN0IGlzIGV4cGVjdGVk
IGluIHRoZSBzdW1tYXJ5IGJlbG93LgotPC9wPgotPGRpdiBpZD0ibG9nIj48L2Rpdj4KLQotPHNj
cmlwdD4KLXZhciB0ID0gYXN5bmNfdGVzdCgiQ29udGFpbmluZyBkb2N1bWVudCByZWNlaXZlcyBt
ZXNzYWdlcyIpOwotdmFyIHN0YXJ0X3JlY2VpdmVkID0gZmFsc2U7Ci12YXIgcmVzdWx0X3JlY2Vp
dmVkID0gZmFsc2U7Ci12YXIgY29tcGxldGlvbl9yZWNlaXZlZCA9IGZhbHNlOwotCi0vLyBUaGVz
ZSBhcmUgdGhlIG1lc3NhZ2VzIHRoYXQgYXJlIGV4cGVjdGVkIHRvIGJlIHNlZW4gd2hpbGUgcnVu
bmluZyB0aGUgdGVzdHMKLS8vIGluIHRoZSBJRlJBTUUuCi12YXIgZXhwZWN0ZWRfbWVzc2FnZXMg
PSBbCi0gICAgdC5zdGVwX2Z1bmMoCi0gICAgICAgIGZ1bmN0aW9uKG1lc3NhZ2UpIHsKLSAgICAg
ICAgICAgIGFzc2VydF9lcXVhbHMobWVzc2FnZS5kYXRhLnR5cGUsICJzdGFydCIpOwotICAgICAg
ICAgICAgYXNzZXJ0X293bl9wcm9wZXJ0eShtZXNzYWdlLmRhdGEsICJwcm9wZXJ0aWVzIik7Ci0g
ICAgICAgIH0pLAotCi0gICAgdC5zdGVwX2Z1bmMoCi0gICAgICAgIGZ1bmN0aW9uKG1lc3NhZ2Up
IHsKLSAgICAgICAgICAgIGFzc2VydF9lcXVhbHMobWVzc2FnZS5kYXRhLnR5cGUsICJ0ZXN0X3N0
YXRlIik7Ci0gICAgICAgICAgICBhc3NlcnRfZXF1YWxzKG1lc3NhZ2UuZGF0YS50ZXN0LnN0YXR1
cywgbWVzc2FnZS5kYXRhLnRlc3QuTk9UUlVOKTsKLSAgICAgICAgfSksCi0KLSAgICB0LnN0ZXBf
ZnVuYygKLSAgICAgICAgZnVuY3Rpb24obWVzc2FnZSkgewotICAgICAgICAgICAgYXNzZXJ0X2Vx
dWFscyhtZXNzYWdlLmRhdGEudHlwZSwgInJlc3VsdCIpOwotICAgICAgICAgICAgYXNzZXJ0X2Vx
dWFscyhtZXNzYWdlLmRhdGEudGVzdC5zdGF0dXMsIG1lc3NhZ2UuZGF0YS50ZXN0LlBBU1MpOwot
ICAgICAgICB9KSwKLQotICAgIHQuc3RlcF9mdW5jKAotICAgICAgICBmdW5jdGlvbihtZXNzYWdl
KSB7Ci0gICAgICAgICAgICBhc3NlcnRfZXF1YWxzKG1lc3NhZ2UuZGF0YS50eXBlLCAiY29tcGxl
dGUiKTsKLSAgICAgICAgICAgIGFzc2VydF9lcXVhbHMobWVzc2FnZS5kYXRhLnRlc3RzLmxlbmd0
aCwgMSk7Ci0gICAgICAgICAgICBhc3NlcnRfZXF1YWxzKG1lc3NhZ2UuZGF0YS50ZXN0c1swXS5z
dGF0dXMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UuZGF0YS50ZXN0c1swXS5Q
QVNTKTsKLSAgICAgICAgICAgIGFzc2VydF9lcXVhbHMobWVzc2FnZS5kYXRhLnN0YXR1cy5zdGF0
dXMsIG1lc3NhZ2UuZGF0YS5zdGF0dXMuT0spOwotICAgICAgICAgICAgdC5kb25lKCk7Ci0gICAg
ICAgIH0pLAotCi0gICAgdC51bnJlYWNoZWRfZnVuYygiVG9vIG1hbnkgbWVzc2FnZXMgcmVjZWl2
ZWQiKQotXTsKLQotb25fZXZlbnQod2luZG93LAotICAgICAgICAgIm1lc3NhZ2UiLAotICAgICAg
ICAgZnVuY3Rpb24obWVzc2FnZSkgewotICAgICAgICAgICAgIHZhciBoYW5kbGVyID0gZXhwZWN0
ZWRfbWVzc2FnZXMuc2hpZnQoKTsKLSAgICAgICAgICAgICBoYW5kbGVyKG1lc3NhZ2UpOwotICAg
ICAgICAgfSk7Ci08L3NjcmlwdD4KLTxpZnJhbWUgc3JjPSJhcGlzYW1wbGU2Lmh0bWwiIHN0eWxl
PSJkaXNwbGF5Om5vbmUiPgotICA8IS0tICBhcGlzYW1wbGU2IGltcGxlbWVudHMgYSBmaWxlX2lz
X3Rlc3QgdGVzdC4gIC0tPgotPC9pZnJhbWU+Ci08L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy9h
cGlzYW1wbGUxMy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2FtcGxlMTMuaHRtbApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggZjZjZjBlZWM4MzE4NmUwYTkxZDA1MGJkN2Y3ZjcyODgzMjFhNjZmYy4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy9hcGlz
YW1wbGUxMy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTMyICswLDAgQEAKLTwhRE9DVFlQRSBI
VE1MPgotPGh0bWw+Ci08aGVhZD4KLTx0aXRsZT5Qcm9taXNlIFRlc3RzPC90aXRsZT4KLTwvaGVh
ZD4KLTxib2R5PgotPGgxPlByb21pc2UgVGVzdHM8L2gxPgotPHA+VGhpcyB0ZXN0IGRlbW9uc3Ry
YXRlcyB0aGUgdXNlIG9mIDx0dD5wcm9taXNlX3Rlc3Q8L3R0Pi4gQXNzdW1lcyBFQ01BU2NyaXB0
IDYKLVByb21pc2Ugc3VwcG9ydC4gU29tZSBmYWlsdXJlcyBhcmUgZXhwZWN0ZWQuPC9wPgotPGRp
diBpZD0ibG9nIj48L2Rpdj4KLTxzY3JpcHQgc3JjPSIuLi90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0IHNyYz0iLi4vdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNj
cmlwdD4KLXRlc3QoCi0gICAgZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBwID0gbmV3IFByb21p
c2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KXt9KTsKLSAgICAgICAgYXNzZXJ0X3RydWUoInRo
ZW4iIGluIHApOwotICAgICAgICBhc3NlcnRfZXF1YWxzKHR5cGVvZiBQcm9taXNlLnJlc29sdmUs
ICJmdW5jdGlvbiIpOwotICAgICAgICBhc3NlcnRfZXF1YWxzKHR5cGVvZiBQcm9taXNlLnJlamVj
dCwgImZ1bmN0aW9uIik7Ci0gICAgfSwKLSAgICAiUHJvbWlzZXMgYXJlIHN1cHBvcnRlZCBpbiB5
b3VyIGJyb3dzZXIiKTsKLQotcHJvbWlzZV90ZXN0KAotICAgIGZ1bmN0aW9uKCkgewotICAgICAg
ICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCJ4IikKLSAgICAgICAgICAgIC50aGVuKAotICAgICAg
ICAgICAgICAgIGZ1bmN0aW9uKHZhbHVlKSB7Ci0gICAgICAgICAgICAgICAgICAgIGFzc2VydF9l
cXVhbHModmFsdWUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIngiLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJGdWxmaWxsZWQgcHJvbWlzZSBzaG91bGQg
cGFzcyByZXN1bHQgdG8gIiArCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImZ1
bGZpbGwgcmVhY3Rpb24uIik7Ci0gICAgICAgICAgICAgICAgfSk7Ci0gICAgfSwKLSAgICAiUHJv
bWlzZSBmdWxmaWxsbWVudCB3aXRoIHJlc3VsdCIpOwotCi1wcm9taXNlX3Rlc3QoCi0gICAgZnVu
Y3Rpb24odCkgewotICAgICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QobmV3IEVycm9yKCJmYWls
IikpCi0gICAgICAgICAgICAudGhlbih0LnVucmVhY2hlZF9mdW5jKCJQcm9taXNlIHNob3VsZCBy
ZWplY3QiKSwKLSAgICAgICAgICAgICAgICBmdW5jdGlvbihyZWFzb24pIHsKLSAgICAgICAgICAg
ICAgICAgICAgYXNzZXJ0X3RydWUoCi0gICAgICAgICAgICAgICAgICAgICAgICByZWFzb24gaW5z
dGFuY2VvZiBFcnJvciwKLSAgICAgICAgICAgICAgICAgICAgICAgICJSZWplY3RlZCBwcm9taXNl
IHNob3VsZCBwYXNzIHJlYXNvbiB0byBmdWxmaWxsIHJlYWN0aW9uLiIpOwotICAgICAgICAgICAg
ICAgICAgICBhc3NlcnRfZXF1YWxzKAotICAgICAgICAgICAgICAgICAgICAgICAgcmVhc29uLm1l
c3NhZ2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZmFpbCIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAiUmVqZWN0ZWQgcHJvbWlzZSBzaG91bGQgcGFzcyByZWFzb24gdG8gcmVqZWN0IHJl
YWN0aW9uLiIpOwotICAgICAgICAgICAgICAgIH0pOwotICAgIH0sCi0gICAgIlByb21pc2UgcmVq
ZWN0aW9uIHdpdGggcmVzdWx0Iik7Ci0KLXByb21pc2VfdGVzdCgKLSAgICBmdW5jdGlvbigpIHsK
LSAgICAgICAgdmFyIHJlc29sdXRpb25zID0gW107Ci0gICAgICAgIHJldHVybiBQcm9taXNlLnJl
c29sdmUoImEiKQotICAgICAgICAgICAgLnRoZW4oCi0gICAgICAgICAgICAgICAgZnVuY3Rpb24o
dmFsdWUpIHsKLSAgICAgICAgICAgICAgICAgICAgcmVzb2x1dGlvbnMucHVzaCh2YWx1ZSk7Ci0g
ICAgICAgICAgICAgICAgICAgIHJldHVybiAiYiI7Ci0gICAgICAgICAgICAgICAgfSkKLSAgICAg
ICAgICAgIC50aGVuKAotICAgICAgICAgICAgICAgIGZ1bmN0aW9uKHZhbHVlKSB7Ci0gICAgICAg
ICAgICAgICAgICAgIHJlc29sdXRpb25zLnB1c2godmFsdWUpOwotICAgICAgICAgICAgICAgICAg
ICByZXR1cm4gImMiOwotICAgICAgICAgICAgICAgIH0pCi0gICAgICAgICAgICAudGhlbigKLSAg
ICAgICAgICAgICAgICBmdW5jdGlvbih2YWx1ZSkgewotICAgICAgICAgICAgICAgICAgICByZXNv
bHV0aW9ucy5wdXNoKHZhbHVlKTsKLSAgICAgICAgICAgICAgICAgICAgYXNzZXJ0X2FycmF5X2Vx
dWFscyhyZXNvbHV0aW9ucywgWyJhIiwgImIiLCAiYyJdKTsKLSAgICAgICAgICAgICAgICB9KTsK
LSAgICB9LAotICAgICJDaGFpbiBvZiBwcm9taXNlIHJlc29sdXRpb25zIik7Ci0KLXByb21pc2Vf
dGVzdCgKLSAgICBmdW5jdGlvbih0KSB7Ci0gICAgICAgIHZhciByZXNvbHV0aW9ucyA9IFtdOwot
ICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCJ4IikKLSAgICAgICAgICAgIC50aGVuKAot
ICAgICAgICAgICAgICAgIGZ1bmN0aW9uKHZhbHVlKSB7Ci0gICAgICAgICAgICAgICAgICAgIGFz
c2VydF90cnVlKGZhbHNlLCAiRXhwZWN0ZWQgZmFpbHVyZS4iKTsKLSAgICAgICAgICAgICAgICB9
KQotICAgICAgICAgICAgLnRoZW4odC51bnJlYWNoZWRfZnVuYygiVU5FWFBFQ1RFRCBGQUlMVVJF
OiBQcm9taXNlIHNob3VsZCBub3QgaGF2ZSByZXNvbHZlZC4iKSk7Ci0gICAgfSwKLSAgICAiQXNz
ZXJ0aW9uIGZhaWx1cmUgaW4gYSBmdWxmaWxsIHJlYWN0aW9uIChzaG91bGQgRkFJTCB3aXRoIGFu
IGV4cGVjdGVkIGZhaWx1cmUpIik7Ci0KLXByb21pc2VfdGVzdCgKLSAgICBmdW5jdGlvbih0KSB7
Ci0gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgKLSAgICAgICAgICAgICAgICBmdW5jdGlvbihy
ZXNvbHZlLCByZWplY3QpIHsKLSAgICAgICAgICAgICAgICAgICAgcmVqZWN0KDEyMyk7Ci0gICAg
ICAgICAgICAgICAgfSkKLSAgICAgICAgICAgIC50aGVuKHQudW5yZWFjaGVkX2Z1bmMoIlVORVhQ
RUNURUQgRkFJTFVSRTogRnVsZmlsbCByZWFjdGlvbiByZWFjaGVkIGFmdGVyIHJlamVjdGlvbi4i
KSwKLSAgICAgICAgICAgICAgICAgIHQudW5yZWFjaGVkX2Z1bmMoIkV4cGVjdGVkIGZhaWx1cmUu
IikpOwotICAgIH0sCi0gICAgInVucmVhY2hlZF9mdW5jIGFzIHJlYWN0b3IgKHNob3VsZCBGQUlM
IHdpdGggYW4gZXhwZWN0ZWQgZmFpbHVyZSkiKTsKLQotcHJvbWlzZV90ZXN0KAotICAgIGZ1bmN0
aW9uKCkgewotICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9LAotICAgICJwcm9taXNlX3Rlc3Qg
d2l0aCBmdW5jdGlvbiB0aGF0IGRvZXNuJ3QgcmV0dXJuIGEgUHJvbWlzZSIpOwotCi1wcm9taXNl
X3Rlc3QoZnVuY3Rpb24oKXt9LAotICAgICAgICAgICAgICJwcm9taXNlX3Rlc3Qgd2l0aCBmdW5j
dGlvbiB0aGF0IGRvZXNuJ3QgcmV0dXJuIGFueXRoaW5nIik7Ci0KLXByb21pc2VfdGVzdCgKLSAg
ICBmdW5jdGlvbigpIHsKLSAgICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KCJFeHBlY3RlZCBy
ZWplY3Rpb24iKTsKLSAgICB9LAotICAgICJwcm9taXNlX3Rlc3Qgd2l0aCB1bmhhbmRsZWQgcmVq
ZWN0aW9uIChzaG91bGQgRkFJTCkiKTsKLQotcHJvbWlzZV90ZXN0KAotICAgIGZ1bmN0aW9uKCkg
ewotICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKDEwKQotICAgICAgICAgICAgLnRoZW4o
Ci0gICAgICAgICAgICAgICAgZnVuY3Rpb24odmFsdWUpIHsKLSAgICAgICAgICAgICAgICAgICAg
dGhyb3cgRXJyb3IoIkV4cGVjdGVkIGV4Y2VwdGlvbi4iKTsKLSAgICAgICAgICAgICAgICB9KTsK
LSAgICB9LAotICAgICJwcm9taXNlX3Rlc3Qgd2l0aCB1bmhhbmRsZWQgZXhjZXB0aW9uIGluIGZ1
bGZpbGwgcmVhY3Rpb24gKHNob3VsZCBGQUlMKSIpOwotCi1wcm9taXNlX3Rlc3QoCi0gICAgZnVu
Y3Rpb24odCkgewotICAgICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QoMTApCi0gICAgICAgICAg
ICAudGhlbigKLSAgICAgICAgICAgICAgICB0LnVucmVhY2hlZF9mdW5jKCJVTkVYUEVDVEVEIEZB
SUxVUkU6IEZ1bGZpbGwgcmVhY3Rpb24gcmVhY2hlZCBhZnRlciByZWplY3Rpb24uIiksCi0gICAg
ICAgICAgICAgICAgZnVuY3Rpb24odmFsdWUpIHsKLSAgICAgICAgICAgICAgICAgICAgdGhyb3cg
RXJyb3IoIkV4cGVjdGVkIGV4Y2VwdGlvbi4iKTsKLSAgICAgICAgICAgICAgICB9KTsKLSAgICB9
LAotICAgICJwcm9taXNlX3Rlc3Qgd2l0aCB1bmhhbmRsZWQgZXhjZXB0aW9uIGluIHJlamVjdCBy
ZWFjdGlvbiAoc2hvdWxkIEZBSUwpIik7Ci08L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2Fw
aXNhbXBsZTE0Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy9leGFtcGxlcy9hcGlzYW1wbGUxNC5odG1sCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCA4OTgwM2YwYmI2YTM3YThjYjlmNTQ2OGQ5MDQ1MzBkMzM1OTc3MzRiLi4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNh
bXBsZTE0Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwyOSArMCwwIEBACi08IURPQ1RZUEUgSFRN
TD4KLTxodG1sPgotPGhlYWQ+Ci08dGl0bGU+RGVkaWNhdGVkIFdvcmtlciBUZXN0czwvdGl0bGU+
Ci08c2NyaXB0IHNyYz0iLi4vdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
Ii4uL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGgx
PkRlZGljYXRlZCBXZWIgV29ya2VyIFRlc3RzPC9oMT4KLTxwPkRlbW9uc3RyYXRlcyBydW5uaW5n
IDx0dD50ZXN0aGFybmVzczwvdHQ+IGJhc2VkIHRlc3RzIGluc2lkZSBhIGRlZGljYXRlZCB3ZWIg
d29ya2VyLgotPHA+VGhlIHRlc3QgaGFybmVzcyBpcyBleHBlY3RlZCB0byBmYWlsIGR1ZSB0byBh
biB1bmNhdWdodCBleGNlcHRpb24gaW4gb25lIHdvcmtlci48L3A+Ci08ZGl2IGlkPSJsb2ciPjwv
ZGl2PgotCi08c2NyaXB0PgotdGVzdChmdW5jdGlvbih0KSB7Ci0gICAgICAgIGFzc2VydF90cnVl
KCJXb3JrZXIiIGluIHNlbGYsICJCcm93c2VyIHNob3VsZCBzdXBwb3J0IFdvcmtlcnMiKTsKLSAg
ICB9LAotICAgICJCcm93c2VyIHN1cHBvcnRzIFdvcmtlcnMiKTsKLQotZmV0Y2hfdGVzdHNfZnJv
bV93b3JrZXIobmV3IFdvcmtlcigiYXBpc2FtcGxlLXdvcmtlci5qcyIpKTsKLQotZmV0Y2hfdGVz
dHNfZnJvbV93b3JrZXIobmV3IFdvcmtlcigiYXBpc2FtcGxlLWVycm9yLXdvcmtlci5qcyIpKTsK
LQotdGVzdChmdW5jdGlvbih0KSB7Ci0gICAgICAgIGFzc2VydF9mYWxzZShmYWxzZSwgIkZhbHNl
IGlzIGZhbHNlIik7Ci0gICAgfSwKLSAgICAiVGVzdCBydW5uaW5nIG9uIG1haW4gZG9jdW1lbnQu
Iik7Ci08L3NjcmlwdD4KLTwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBsZTE1Lmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy9leGFtcGxlcy9hcGlzYW1wbGUxNS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCA2MzFkMTkyMmJhYzg4Y2NjNTAyNGU1ZjY0M2M1YWU4NGU4MWRhN2U4Li4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBsZTE1Lmh0bWwK
KysrIC9kZXYvbnVsbApAQCAtMSwyNiArMCwwIEBACi08IURPQ1RZUEUgSFRNTD4KLTxodG1sPgot
PGhlYWQ+Ci08dGl0bGU+RXhhbXBsZSB3aXRoIGEgc2hhcmVkIHdvcmtlcjwvdGl0bGU+Ci08c2Ny
aXB0IHNyYz0iLi4vdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGgxPlNoYXJl
ZCBXZWIgV29ya2VyIFRlc3RzPC9oMT4KLTxwPkRlbW9uc3RyYXRlcyBydW5uaW5nIDx0dD50ZXN0
aGFybmVzczwvdHQ+IGJhc2VkIHRlc3RzIGluc2lkZSBhIHNoYXJlZCB3b3JrZXIuCi08cD5UaGUg
dGVzdCBoYXJuZXNzIHNob3VsZCB0aW1lIG91dCBkdWUgdG8gb25lIG9mIHRoZSB0ZXN0cyBpbiB0
aGUgd29ya2VyIHRpbWluZyBvdXQuCi08cD5UaGlzIHRlc3QgYXNzdW1lcyB0aGF0IHRoZSBicm93
c2VyIHN1cHBvcnRzIDxhIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL3dvcmtlcnMvI3NoYXJl
ZC13b3JrZXJzLWFuZC10aGUtc2hhcmVkd29ya2VyLWludGVyZmFjZSI+c2hhcmVkIHdlYiB3b3Jr
ZXJzPC9hPi4KLTxkaXYgaWQ9ImxvZyI+PC9kaXY+Ci0KLTxzY3JpcHQ+Ci10ZXN0KAotICAgIGZ1
bmN0aW9uKHQpIHsKLSAgICAgICAgYXNzZXJ0X3RydWUoIlNoYXJlZFdvcmtlciIgaW4gc2VsZiwK
LSAgICAgICAgICAgICAgICAgICAgIkJyb3dzZXIgc2hvdWxkIHN1cHBvcnQgU2hhcmVkV29ya2Vy
cyIpOwotICAgIH0sCi0gICAgIkJyb3dzZXIgc3VwcG9ydHMgU2hhcmVkV29ya2VycyIpOwotCi1m
ZXRjaF90ZXN0c19mcm9tX3dvcmtlcihuZXcgU2hhcmVkV29ya2VyKCJhcGlzYW1wbGUtd29ya2Vy
LmpzIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk15IHNoYXJl
ZCB3b3JrZXIiKSk7Ci08L3NjcmlwdD4KLTwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNh
bXBsZTE2Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy9leGFtcGxlcy9hcGlzYW1wbGUxNi5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCBkODU5ZDk0YmY2Y2JjMDk1ZGZjOWQ3YTE0ODI2OWY3M2RlYTkyNTZmLi4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBs
ZTE2Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw2MiArMCwwIEBACi08IURPQ1RZUEUgSFRNTD4K
LTxodG1sPgotPGhlYWQ+Ci08dGl0bGU+RXhhbXBsZSB3aXRoIGEgc2VydmljZSB3b3JrZXI8L3Rp
dGxlPgotPHNjcmlwdCBzcmM9Ii4uL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIuLi90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4K
LTxoMT5TZXJ2aWNlIFdvcmtlciBUZXN0czwvaDE+Ci08cD5EZW1vbnN0cmF0ZXMgcnVubmluZyA8
dHQ+dGVzdGhhcm5lc3M8L3R0PiBiYXNlZCB0ZXN0cyBpbnNpZGUgYSBzZXJ2aWNlIHdvcmtlci4K
LTxwPlRoZSB0ZXN0IGhhcm5lc3Mgc2hvdWxkIHRpbWUgb3V0IGR1ZSB0byBvbmUgb2YgdGhlIHRl
c3RzIGluc2lkZSB0aGUgd29ya2VyIHRpbWluZyBvdXQuCi08cD5UaGlzIHRlc3QgYXNzdW1lcyB0
aGF0IHRoZSBicm93c2VyIHN1cHBvcnRzIDxhIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL3Nl
cnZpY2Utd29ya2Vycy8iPlNlcnZpY2VXb3JrZXJzPC9hPi4KLTxkaXYgaWQ9ImxvZyI+PC9kaXY+
Ci0KLTxzY3JpcHQ+Ci10ZXN0KAotICAgIGZ1bmN0aW9uKHQpIHsKLSAgICAgICAgYXNzZXJ0X3Ry
dWUoInNlcnZpY2VXb3JrZXIiIGluIG5hdmlnYXRvciwKLSAgICAgICAgICAgICAgICAgICAgIm5h
dmlnYXRvci5zZXJ2aWNlV29ya2VyIGV4aXN0cyIpOwotICAgIH0sCi0gICAgIkJyb3dzZXIgc3Vw
cG9ydHMgU2VydmljZVdvcmtlciIpOwotCi1wcm9taXNlX3Rlc3QoCi0gICAgZnVuY3Rpb24oKSB7
Ci0gICAgICAgIC8vIFNpbmNlIHRoZSBzZXJ2aWNlIHdvcmtlciByZWdpc3RyYXRpb24gY291bGQg
YmUgaW4gYW4gaW5kZXRlcm1pbmF0ZQotICAgICAgICAvLyBzdGF0ZSAoZHVlIHRvLCBmb3IgZXhh
bXBsZSwgYSBwcmV2aW91cyB0ZXN0IHJ1biBmYWlsaW5nKSwgd2Ugc3RhcnQgYnkKLSAgICAgICAg
Ly8gdW5yZWdzdGVyaW5nIG91ciBzZXJ2aWNlIHdvcmtlciBhbmQgdGhlbiByZWdpc3RlcmluZyBp
dCBhZ2Fpbi4KLSAgICAgICAgdmFyIHNjb3BlID0gIi9zZXJ2aWNlLXdvcmtlci1zY29wZSI7Ci0g
ICAgICAgIHZhciB3b3JrZXJfdXJsID0gImFwaXNhbXBsZS13b3JrZXIuanMiOwotCi0gICAgICAg
IHJldHVybiBuYXZpZ2F0b3Iuc2VydmljZVdvcmtlci5yZWdpc3Rlcih3b3JrZXJfdXJsLCB7c2Nv
cGU6IHNjb3BlfSkKLSAgICAgICAgICAgIC50aGVuKAotICAgICAgICAgICAgICAgIGZ1bmN0aW9u
KHJlZ2lzdHJhdGlvbikgewotICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVnaXN0cmF0aW9u
LnVucmVnaXN0ZXIoKTsKLSAgICAgICAgICAgICAgICB9KQotICAgICAgICAgICAgLnRoZW4oCi0g
ICAgICAgICAgICAgICAgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgICAgIHJldHVybiBu
YXZpZ2F0b3Iuc2VydmljZVdvcmtlci5yZWdpc3Rlcih3b3JrZXJfdXJsLCB7c2NvcGU6IHNjb3Bl
fSk7Ci0gICAgICAgICAgICAgICAgfSkKLSAgICAgICAgICAgIC50aGVuKAotICAgICAgICAgICAg
ICAgIGZ1bmN0aW9uKHJlZ2lzdHJhdGlvbikgewotICAgICAgICAgICAgICAgICAgICBhZGRfY29t
cGxldGlvbl9jYWxsYmFjaygKLSAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uKCkgewot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZ2lzdHJhdGlvbi51bnJlZ2lzdGVyKCk7Ci0g
ICAgICAgICAgICAgICAgICAgICAgICB9KTsKLQotICAgICAgICAgICAgICAgICAgICByZXR1cm4g
bmV3IFByb21pc2UoCi0gICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbihyZXNvbHZlKSB7
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVnaXN0cmF0aW9uLmFkZEV2ZW50TGlzdGVu
ZXIoInVwZGF0ZWZvdW5kIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rp
b24oKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNvbHZlKHJlZ2lz
dHJhdGlvbi5pbnN0YWxsaW5nKTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7
Ci0gICAgICAgICAgICAgICAgICAgICAgICB9KTsKLSAgICAgICAgICAgICAgICB9KQotICAgICAg
ICAgICAgLnRoZW4oCi0gICAgICAgICAgICAgICAgZnVuY3Rpb24od29ya2VyKSB7Ci0gICAgICAg
ICAgICAgICAgICAgIGZldGNoX3Rlc3RzX2Zyb21fd29ya2VyKHdvcmtlcik7Ci0gICAgICAgICAg
ICAgICAgfSk7Ci0gICAgfSwKLSAgICAiUmVnaXN0ZXIgU2VydmljZVdvcmtlciIpOwotPC9zY3Jp
cHQ+Ci08L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy9hcGlzYW1wbGUxNy5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZXMv
YXBpc2FtcGxlMTcuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzI3YzQxN2I4
ZmI0NWEyY2FhMDVlMmViMjM4NjJmZDI4ODYwMjZiZi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy9hcGlzYW1wbGUxNy5odG1sCisrKyAvZGV2L251
bGwKQEAgLTEsNTkgKzAsMCBAQAotPCFET0NUWVBFIEhUTUw+Ci08aHRtbD4KLTxoZWFkPgotPHRp
dGxlPlNhbXBsZSBmb3IgdXNpbmcgZ2VuZXJhdGVfdGVzdHMgdG8gY3JlYXRlIGEgc2VyaWVzIG9m
IHRlc3RzIHRoYXQgc2hhcmUgdGhlIHNhbWUgY2FsbGJhY2suPC90aXRsZT4KLTxzY3JpcHQgc3Jj
PSIuLi90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08c2NyaXB0PgotLy8gZ2Vu
ZXJhdGVfdGVzdHMgdGFrZXMgYW4gYXJyYXkgb2YgYXJyYXlzIHRoYXQgZGVmaW5lIHRlc3RzCi0v
LyBidXQgbGV0cyBwYXNzIGl0IGFuIGVtcHR5IGFycmF5IGFuZCB2ZXJpZnkgaXQgZG9lcyBub3Ro
aW5nLgotZnVuY3Rpb24gbnVsbF9jYWxsYmFjaygpIHsKLQl0aHJvdyAibnVsbF9jYWxsYmFjayBz
aG91bGQgbm90IGJlIGNhbGxlZC4iOwotfQotZ2VuZXJhdGVfdGVzdHMobnVsbF9jYWxsYmFjaywg
W10pOwotCi0vLyBHZW5lcmF0ZSAzIHRlc3RzIHNwZWNpZnlpbmcgdGhlIG5hbWUgYW5kIG9uZSBw
YXJhbWV0ZXIKLWZ1bmN0aW9uIHZhbGlkYXRlX2FyZ3VtZW50cyhhcmcxKSB7Ci0JYXNzZXJ0X2Vx
dWFscyhhcmcxLCAxLCAiRW5zdXJlIHRoYXQgd2UgZ2V0IG91ciBleHBlY3RlZCBhcmd1bWVudCIp
OwotfQotZ2VuZXJhdGVfdGVzdHModmFsaWRhdGVfYXJndW1lbnRzLCBbCi0JWyJmaXJzdCB0ZXN0
IiwgMV0sCi0JWyJzZWNvbmQgdGVzdCIsIDFdLAotCVsidGhpcmQgdGVzdCIsIDFdLAotXSk7Ci0K
LS8vIEdlbmVyYXRlIGEgdGVzdCBwYXNzaW5nIGluIGEgcHJvcGVydGllcyBvYmplY3QgdGhhdCBp
cyBzaGFyZWQgYWNyb3NzIHRlc3RzLgotZnVuY3Rpb24gdmFsaWRhdGVfcHJvcGVydGllcygpIHsK
LQlhc3NlcnRfdHJ1ZSh0aGlzLnByb3BlcnRpZXMuc2VudGluZWwsICJFbnN1cmUgdGhhdCB3ZSBn
b3QgdGhlIHJpZ2h0IHByb3BlcnRpZXMgb2JqZWN0LiIpOwotfQotZ2VuZXJhdGVfdGVzdHModmFs
aWRhdGVfcHJvcGVydGllcywgW1sic2VudGluZWwgY2hlY2sgMSJdLCBbInNlbnRpbmVsIGNoZWNr
IDIiXV0sIHtzZW50aW5lbDogdHJ1ZX0pOwotCi0vLyBHZW5lcmF0ZSBhIHRlc3QgcGFzc2luZyBp
biBhIHByb3BlcnRpZXMgb2JqZWN0IHRoYXQgaXMgc2hhcmVkIGFjcm9zcyB0ZXN0cy4KLWZ1bmN0
aW9uIHZhbGlkYXRlX3NlcGFyYXRlX3Byb3BlcnRpZXMoKSB7Ci0JaWYgKHRoaXMubmFtZSA9PT0g
InNlbnRpbmVsIGNoZWNrIDEgdW5pcXVlIHByb3BlcnRpZXMiKSB7Ci0JCWFzc2VydF90cnVlKHRo
aXMucHJvcGVydGllcy5zZW50aW5lbCwgIkVuc3VyZSB0aGF0IHdlIGdvdCB0aGUgcmlnaHQgcHJv
cGVydGllcyBvYmplY3QuIEV4cGVjdCBzZW50aW5lbDogdHJ1ZS4iKTsKLQl9Ci0JZWxzZSB7Ci0J
CWFzc2VydF9mYWxzZSh0aGlzLnByb3BlcnRpZXMuc2VudGluZWwsICJFbnN1cmUgdGhhdCB3ZSBn
b3QgdGhlIHJpZ2h0IHByb3BlcnRpZXMgb2JqZWN0LiBFeHBlY3Qgc2VudGluZWw6IGZhbHNlLiIp
OwotCX0KLX0KLWdlbmVyYXRlX3Rlc3RzKHZhbGlkYXRlX3NlcGFyYXRlX3Byb3BlcnRpZXMsIFtb
InNlbnRpbmVsIGNoZWNrIDEgdW5pcXVlIHByb3BlcnRpZXMiXSwgWyJzZW50aW5lbCBjaGVjayAy
IHVuaXF1ZSBwcm9wZXJ0aWVzIl1dLCBbe3NlbnRpbmVsOiB0cnVlfSwge3NlbnRpbmVsOiBmYWxz
ZX1dKTsKLQotLy8gRmluYWxseSBnZW5lcmF0ZSBhIGNvbXBsaWNhdGVkIHNldCBvZiB0ZXN0cyBm
cm9tIGFub3RoZXIgZGF0YSBzb3VyY2UKLXZhciBsZXR0ZXJzID0gWyJhIiwgImIiLCAiYyIsICJk
IiwgImUiLCAiZiJdOwotdmFyIG51bWJlcnMgPSBbMCwgMSwgMiwgMywgNCwgNV07Ci1mdW5jdGlv
biB2YWxpZGF0ZV9yZWxhdGVkX2FyZ3VtZW50cyhhcmcxLCBhcmcyKSB7Ci0JYXNzZXJ0X2VxdWFs
cyhhcmcxLmNoYXJDb2RlQXQoMCkgLSAiYSIuY2hhckNvZGVBdCgwKSwgYXJnMiwgIkVuc3VyZSB0
aGF0IHdlIGNhbiBtYXAgbGV0dGVycyB0byBudW1iZXJzLiIpOwotfQotZnVuY3Rpb24gZm9ybWF0
X2FzX3Rlc3QobGV0dGVyLCBpbmRleCwgbGV0dGVycykgewotCXJldHVybiBbIlRlc3QgdG8gbWFw
ICIgKyBsZXR0ZXIgKyAiIHRvICIgKyBudW1iZXJzW2luZGV4XSwgbGV0dGVyLCBudW1iZXJzW2lu
ZGV4XV07Ci19Ci1nZW5lcmF0ZV90ZXN0cyh2YWxpZGF0ZV9yZWxhdGVkX2FyZ3VtZW50cywgbGV0
dGVycy5tYXAoZm9ybWF0X2FzX3Rlc3QpKTsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgot
Ci0KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2FtcGxlMTguaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBs
ZTE4Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDk1MGExNTBhNmMwZjRjYTE1
NTRiN2FlZTFkNTVkMGQ0YjU5YjVhMzYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2FtcGxlMTguaHRtbAorKysgL2Rldi9udWxsCkBAIC0x
LDI2ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLTx0aXRsZT5FeGFt
cGxlIHdpdGggaWZyYW1lIHRoYXQgY29uc29saWRhdGVzIGVycm9ycyB2aWEgZmV0Y2hfdGVzdHNf
ZnJvbV93aW5kb3c8L3RpdGxlPgotPHNjcmlwdCBzcmM9Ii4uL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSIuLi90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0PgotdmFyIHBhcmVudF90ZXN0ID0gYXN5bmNfdGVzdCgiVGVzdCBleGVjdXRpbmcgaW4g
cGFyZW50IGNvbnRleHQiKTsKLTwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgb25sb2FkPSJwYXJl
bnRfdGVzdC5kb25lKCkiPgotPGgxPkZldGNoaW5nIFRlc3RzIEZyb20gYSBDaGlsZCBDb250ZXh0
PC9oMT4KLTxwPlRoaXMgdGVzdCBkZW1vbnN0cmF0ZXMgdGhlIHVzZSBvZiA8dHQ+ZmV0Y2hfdGVz
dHNfZnJvbV93aW5kb3c8L3R0PiB0byBwdWxsCi10ZXN0cyBmcm9tIGFuIDx0dD5pZnJhbWU8L3R0
PiBpbnRvIHRoZSBwcmltYXJ5IGRvY3VtZW50LjwvcD4KLTxwPlRoZSB0ZXN0IHN1aXRlIGlzIGV4
cGVjdGVkIHRvIGZhaWwgZHVlIHRvIGFuIHVuaGFuZGxlZCBleGNlcHRpb24gaW4gdGhlCi1jaGls
ZCBjb250ZXh0LjwvcD4KLTxkaXYgaWQ9ImxvZyI+PC9kaXY+Ci0KLTxpZnJhbWUgaWQ9ImNoaWxk
Q29udGV4dCIgc3JjPSJhcGlzYW1wbGU0Lmh0bSIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+PC9pZnJh
bWU+Ci08IS0tICBhcGlzYW1wbGU0IGlzIGEgZmFpbGluZyBzdWl0ZSBkdWUgdG8gYW4gdW5oYW5k
bGVkIEVycm9yLiAgLS0+Ci0KLTxzY3JpcHQ+Ci0JdmFyIGNoaWxkQ29udGV4dCA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjaGlsZENvbnRleHQiKTsKLQlmZXRjaF90ZXN0c19mcm9tX3dpbmRv
dyhjaGlsZENvbnRleHQuY29udGVudFdpbmRvdyk7Ci08L3NjcmlwdD4KLTwvYm9keT4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy9hcGlzYW1wbGUxOS5odG1s
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
ZXhhbXBsZXMvYXBpc2FtcGxlMTkuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
N2JjYTEzNGFiMjIzZTRkZTM3ZTEwYjc3MThjNjY2MWJhZjA3YmMwNC4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy9hcGlzYW1wbGUxOS5odG1sCisr
KyAvZGV2L251bGwKQEAgLTEsMjYgKzAsMCBAQAotPCFET0NUWVBFIEhUTUw+Ci08aHRtbD4KLTxo
ZWFkPgotPHRpdGxlPkV4YW1wbGUgd2l0aCBpZnJhbWUgdGhhdCBjb25zb2xpZGF0ZXMgdGVzdHMg
dmlhIGZldGNoX3Rlc3RzX2Zyb21fd2luZG93PC90aXRsZT4KLTxzY3JpcHQgc3JjPSIuLi90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLXZhciBwYXJlbnRfdGVzdCA9IGFzeW5jX3Rlc3QoIlRl
c3QgZXhlY3V0aW5nIGluIHBhcmVudCBjb250ZXh0Iik7Ci08L3NjcmlwdD4KLTwvaGVhZD4KLTxi
b2R5IG9ubG9hZD0icGFyZW50X3Rlc3QuZG9uZSgpIj4KLTxoMT5GZXRjaGluZyBUZXN0cyBGcm9t
IGEgQ2hpbGQgQ29udGV4dDwvaDE+Ci08cD5UaGlzIHRlc3QgZGVtb25zdHJhdGVzIHRoZSB1c2Ug
b2YgPHR0PmZldGNoX3Rlc3RzX2Zyb21fd2luZG93PC90dD4gdG8gcHVsbAotdGVzdHMgZnJvbSBh
biA8dHQ+aWZyYW1lPC90dD4gaW50byB0aGUgcHJpbWFyeSBkb2N1bWVudC48L3A+Ci08cD5UaGUg
dGVzdCBzdWl0ZSB3aWxsIG5vdCBjb21wbGV0ZSB1bnRpbCB0ZXN0cyBpbiB0aGUgY2hpbGQgY29u
dGV4dCBoYXZlIGZpbmlzaGVkCi1leGVjdXRpbmc8L3A+Ci08ZGl2IGlkPSJsb2ciPjwvZGl2Pgot
Ci08aWZyYW1lIGlkPSJjaGlsZENvbnRleHQiIHNyYz0iYXBpc2FtcGxlMTAuaHRtbCIgc3R5bGU9
ImRpc3BsYXk6bm9uZSI+PC9pZnJhbWU+Ci08IS0tICBhcGlzYW1wbGUxMCBoYXMgYXN5bmMgdGVz
dHMgd2l0aCBwcm9taXNlcyAgLS0+Ci0KLTxzY3JpcHQ+Ci0JdmFyIGNoaWxkQ29udGV4dCA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjaGlsZENvbnRleHQiKTsKLQlmZXRjaF90ZXN0c19mcm9t
X3dpbmRvdyhjaGlsZENvbnRleHQuY29udGVudFdpbmRvdyk7Ci08L3NjcmlwdD4KLTwvYm9keT4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy9hcGlzYW1wbGUy
Lmh0bSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL2V4YW1wbGVzL2FwaXNhbXBsZTIuaHRtCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCA0YTRjMTZiNGRmYWJjNGQyY2I3MDQxNzkzOTlhYWZiYzMxNjA2ODQzLi4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBsZTIuaHRtCisr
KyAvZGV2L251bGwKQEAgLTEsMTkgKzAsMCBAQAotPCFET0NUWVBFIEhUTUw+Ci08aHRtbD4KLTxo
ZWFkPgotPHRpdGxlPlNhbXBsZSBIVE1MNSBBUEkgVGVzdHM8L3RpdGxlPgotPC9oZWFkPgotPGJv
ZHkgb25sb2FkPSJsb2FkX3Rlc3RfYXR0ci5kb25lKCkiPgotPGgxPlNhbXBsZSBIVE1MNSBBUEkg
VGVzdHM8L2gxPgotPHA+VGhlcmUgc2hvdWxkIGJlIHR3byByZXN1bHRzPC9wPgotPGRpdiBpZD0i
bG9nIj48L2Rpdj4KLTxzY3JpcHQgc3JjPSIuLi90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0iLi4vdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4K
LXNldHVwKHtleHBsaWNpdF9kb25lOnRydWV9KQotdGVzdChmdW5jdGlvbigpIHthc3NlcnRfdHJ1
ZSh0cnVlKX0sICJUZXN0IGRlZmluZWQgYmVmb3JlIG9ubG9hZCIpOwotCi1vbmxvYWQgPSBmdW5j
dGlvbigpIHt0ZXN0KGZ1bmN0aW9uICgpe2Fzc2VydF90cnVlKHRydWUpfSwgIlRlc3QgZGVmaW5l
ZCBhZnRlciBvbmxvYWQiKTsKLWRvbmUoKTsKLX0KLTwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZXhhbXBs
ZXMvYXBpc2FtcGxlMy5odG0gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy9hcGlzYW1wbGUzLmh0bQpkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggNGRiYmY5YTg3MWJkNDIyNTI5MjEwNDMzZjdhZjAzNTEyMzdkNzA3ZS4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy9hcGlz
YW1wbGUzLmh0bQorKysgL2Rldi9udWxsCkBAIC0xLDE3ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1M
PgotPGh0bWw+Ci08aGVhZD4KLTx0aXRsZT5TYW1wbGUgSFRNTDUgQVBJIFRlc3RzPC90aXRsZT4K
LTwvaGVhZD4KLTxzY3JpcHQgc3JjPSIuLi90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci0KLTxi
b2R5IG9ubG9hZD0ibG9hZF90ZXN0X2F0dHIuZG9uZSgpIj4KLTxoMT5TYW1wbGUgSFRNTDUgQVBJ
IFRlc3RzPC9oMT4KLTxkaXYgaWQ9ImxvZyI+PC9kaXY+Ci08c2NyaXB0Pgotc2V0dXAoe2V4cGxp
Y2l0X3RpbWVvdXQ6dHJ1ZX0pOwotdmFyIHQgPSBhc3luY190ZXN0KCJUaGlzIHRlc3Qgc2hvdWxk
IGdpdmUgYSBzdGF0dXMgb2YgJ05vdCBSdW4nIHdpdGhvdXQgYSBkZWxheSIpOwotdGltZW91dCgp
OwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy9hcGlzYW1w
bGU0Lmh0bSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBsZTQuaHRtCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCBjOGZiYmRlZDY5NWZkNjVkNDZjNjA0OTM2ZGE4YzlhODNkNTg4NDQyLi4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBsZTQuaHRt
CisrKyAvZGV2L251bGwKQEAgLTEsMTYgKzAsMCBAQAotPCFET0NUWVBFIEhUTUw+Ci08aHRtbD4K
LTxoZWFkPgotPHRpdGxlPkhhcm5lc3MgSGFuZGxpbmcgVW5jYXVnaHQgRXhjZXB0aW9uPC90aXRs
ZT4KLTwvaGVhZD4KLTxzY3JpcHQgc3JjPSIuLi90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci0K
LTxib2R5PgotPGgxPkhhcm5lc3MgSGFuZGxpbmcgVW5jYXVnaHQgRXhjZXB0aW9uPC9oMT4KLTxk
aXYgaWQ9ImxvZyI+PC9kaXY+Ci08c2NyaXB0PgotdmFyIHQgPSBhc3luY190ZXN0KCJUaGlzIHNo
b3VsZCBzaG93IGEgaGFybmVzcyBzdGF0dXMgb2YgJ0Vycm9yJyBhbmQgYSB0ZXN0IHN0YXR1cyBv
ZiAnTm90IFJ1biciKTsKLXRocm93IG5ldyBFcnJvcigiRXhhbXBsZSBFcnJvciIpOwotPC9zY3Jp
cHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy9hcGlzYW1wbGU1Lmh0bSBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4
YW1wbGVzL2FwaXNhbXBsZTUuaHRtCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzZWRm
NjAyYTFlNmU3NTJjMDAzNTQ0NGIzMGI4ZTdhZTlmOWNkNjM3Li4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBsZTUuaHRtCisrKyAvZGV2
L251bGwKQEAgLTEsMTggKzAsMCBAQAotPCFET0NUWVBFIEhUTUw+Ci08aHRtbD4KLTxoZWFkPgot
PHRpdGxlPkhhcm5lc3MgSWdub3JpbmcgVW5jYXVnaHQgRXhjZXB0aW9uPC90aXRsZT4KLTwvaGVh
ZD4KLTxzY3JpcHQgc3JjPSIuLi90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci0KLTxib2R5Pgot
PGgxPkhhcm5lc3MgSWdub3JpbmcgVW5jYXVnaHQgRXhjZXB0aW9uPC9oMT4KLTxkaXYgaWQ9Imxv
ZyI+PC9kaXY+Ci08c2NyaXB0Pgotc2V0dXAoe2FsbG93X3VuY2F1Z2h0X2V4Y2VwdGlvbjp0cnVl
fSk7Ci12YXIgdCA9IGFzeW5jX3Rlc3QoInNldHVwKHthbGxvd191bmNhdWdodF9leGNlcHRpb246
dHJ1ZX0pIHNob3VsZCBhbGxvdyB0ZXN0cyB0byBwYXNzIGV2ZW4gaWYgdGhlcmUgaXMgYW4gZXhj
ZXB0aW9uIik7Ci1vbmVycm9yID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24oKSB7dC5kb25lKCl9KTsK
LXRocm93IG5ldyBFcnJvcigiRXhhbXBsZSBFcnJvciIpOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy9hcGlzYW1wbGU2Lmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy9hcGlzYW1w
bGU2Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDc0NTljNTRkNTcyMDhjNWNl
ZmFjZGUyMDdlZTc4YjI2ZmI0YTEzYTYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2FtcGxlNi5odG1sCisrKyAvZGV2L251bGwKQEAgLTEs
MTAgKzAsMCBAQAotPCFET0NUWVBFIEhUTUw+Ci08dGl0bGU+RXhhbXBsZSB3aXRoIGZpbGVfaXNf
dGVzdDwvdGl0bGU+Ci08c2NyaXB0IHNyYz0iLi4vdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdCBzcmM9Ii4uL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+
Ci1vbmxvYWQgPSBmdW5jdGlvbigpIHsKLSAgYXNzZXJ0X3RydWUodHJ1ZSk7Ci0gIGRvbmUoKTsK
LX0KLTwvc2NyaXB0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1w
bGVzL2FwaXNhbXBsZTcuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBsZTcuaHRtbApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggNjg4NWY1MmY4YTUzYWZmMjI4YjA5N2RlZjZmMzYxMWU1NGFjZmJj
NS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy9h
cGlzYW1wbGU3Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxMCArMCwwIEBACi08IURPQ1RZUEUg
SFRNTD4KLTx0aXRsZT5FeGFtcGxlIHdpdGggZmlsZV9pc190ZXN0IChzaG91bGQgZmFpbCk8L3Rp
dGxlPgotPHNjcmlwdCBzcmM9Ii4uL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIuLi90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0Pgotb25sb2Fk
ID0gZnVuY3Rpb24oKSB7Ci0gIGFzc2VydF90cnVlKGZhbHNlKTsKLSAgZG9uZSgpOwotfQotPC9z
Y3JpcHQ+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZXMvYXBp
c2FtcGxlOC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2FtcGxlOC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCA3MDg1M2Q5YzZjNTkyMzYwZjhjNjdhN2IzNTNmNjE4YjQ4YTdhZTcxLi4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBs
ZTguaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDggKzAsMCBAQAotPCFET0NUWVBFIEhUTUw+Ci08
dGl0bGU+RXhhbXBsZSBzaW5nbGUgcGFnZSB0ZXN0IHdpdGggbm8gYm9keTwvdGl0bGU+Ci08c2Ny
aXB0IHNyYz0iLi4vdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci1hc3NlcnRfdHJ1ZSh0cnVl
KTsKLWRvbmUoKTsKLTwvc2NyaXB0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL2V4YW1wbGVzL2FwaXNhbXBsZTkuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBsZTkuaHRtbApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjg0NDMzZGQxOTg5YzdmYjA5N2U4OWEzYmY2ODJm
MmVjMjg0ODdiMy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9l
eGFtcGxlcy9hcGlzYW1wbGU5Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw3ICswLDAgQEAKLTwh
RE9DVFlQRSBIVE1MPgotPHRpdGxlPkV4YW1wbGUgc2luZ2xlIHBhZ2UgdGVzdCB3aXRoIG5vIGFz
c2VydHM8L3RpdGxlPgotPHNjcmlwdCBzcmM9Ii4uL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIuLi90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
PgotZG9uZSgpOwotPC9zY3JpcHQ+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvZXhhbXBsZXMvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy93M2MtaW1wb3J0LmxvZwpkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDc0NWZiNTg0NDY2ZjVjNWVmMzZkZTRlZWNhNDNmNmQ0
Mjc5YTVhMi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9leGFt
cGxlcy93M2MtaW1wb3J0LmxvZworKysgL2Rldi9udWxsCkBAIC0xLDM3ICswLDAgQEAKLVRoZSB0
ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0
b3J5LgotRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0
ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9n
aXRodWIuY29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMKLQotVGhlbiBydW4gdGhlIFRvb2xzL1Nj
cmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKLQotRG8gTk9UIG1v
ZGlmeSBvciByZW1vdmUgdGhpcyBmaWxlLgotCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLVByb3BlcnRpZXMg
cmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKLU5vbmUKLVByb3BlcnR5IHZhbHVlcyByZXF1aXJp
bmcgdmVuZG9yIHByZWZpeGVzOgotTm9uZQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1MaXN0IG9mIGZpbGVz
OgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L2V4YW1wbGVzL2FwaXNhbXBsZS1lcnJvci13b3JrZXIuanMKLS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy9hcGlzYW1wbGUtd29y
a2VyLmpzCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvZXhhbXBsZXMvYXBpc2FtcGxlLmh0bQotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBsZTEwLmh0bWwKLS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9leGFt
cGxlcy9hcGlzYW1wbGUxMS5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2FtcGxlMTIuaHRtbAotL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2Fw
aXNhbXBsZTEzLmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy9leGFtcGxlcy9hcGlzYW1wbGUxNC5odG1sCi0vTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2FtcGxl
MTUuaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBsZTE2Lmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy9hcGlzYW1wbGUxNy5odG1s
Ci0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
ZXhhbXBsZXMvYXBpc2FtcGxlMTguaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBsZTE5Lmh0bWwKLS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9leGFtcGxl
cy9hcGlzYW1wbGUyLmh0bQotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBsZTMuaHRtCi0vTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2FtcGxl
NC5odG0KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy9leGFtcGxlcy9hcGlzYW1wbGU1Lmh0bQotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBsZTYuaHRtbAotL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1w
bGVzL2FwaXNhbXBsZTcuaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBsZTguaHRtbAotL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNh
bXBsZTkuaHRtbApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvaWRsaGFybmVzcy5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2lkbGhhcm5lc3MuanMKaW5kZXggZjY4
YWQxZGQ3ZDgxZTU0YmVhNWY5MDA0Mjg0ZWZmNDlhNzEzYTMyZS4uN2QxMzczZWYzNDExMGRkNTFj
N2UzYmU1MTgxZWRlNmJhNWUzY2VlMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvaWRsaGFybmVzcy5qcworKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9pZGxoYXJu
ZXNzLmpzCkBAIC0yMzYsNyArMjM2LDExIEBAIElkbEFycmF5LnByb3RvdHlwZS5pc19leGNsdWRl
ZF9ieV9vcHRpb25zID0gZnVuY3Rpb24gKG5hbWUsIG9wdGlvbnMpCiAKIElkbEFycmF5LnByb3Rv
dHlwZS5hZGRfZGVwZW5kZW5jeV9pZGxzID0gZnVuY3Rpb24ocmF3X2lkbHMsIG9wdGlvbnMpCiB7
Ci0gICAgY29uc3QgcGFyc2VkX2lkbHMgPSBXZWJJREwyLnBhcnNlKHJhd19pZGxzKTsKKyAgICBy
ZXR1cm4gdGhpcy5pbnRlcm5hbF9hZGRfZGVwZW5kZW5jeV9pZGxzKFdlYklETDIucGFyc2UocmF3
X2lkbHMpLCBvcHRpb25zKTsKK307CisKK0lkbEFycmF5LnByb3RvdHlwZS5pbnRlcm5hbF9hZGRf
ZGVwZW5kZW5jeV9pZGxzID0gZnVuY3Rpb24ocGFyc2VkX2lkbHMsIG9wdGlvbnMpCit7CiAgICAg
Y29uc3QgbmV3X29wdGlvbnMgPSB7IG9ubHk6IFtdIH0KIAogICAgIGNvbnN0IGFsbF9kZXBzID0g
bmV3IFNldCgpOwpAQCAtODA0LDEwICs4MDgsMjAgQEAgSWRsQXJyYXkucHJvdG90eXBlLnRlc3Qg
PSBmdW5jdGlvbigpCiAgICAgICAgICAgICBpZiAoISh0aGlzLm1lbWJlcnNbbGhzXSBpbnN0YW5j
ZW9mIElkbEludGVyZmFjZSkpIHRocm93IGVyclN0ciArIGxocyArICIgaXMgbm90IGFuIGludGVy
ZmFjZS4iOwogICAgICAgICAgICAgaWYgKCEocmhzIGluIHRoaXMubWVtYmVycykpIHRocm93IGVy
clN0ciArIHJocyArICIgaXMgdW5kZWZpbmVkLiI7CiAgICAgICAgICAgICBpZiAoISh0aGlzLm1l
bWJlcnNbcmhzXSBpbnN0YW5jZW9mIElkbEludGVyZmFjZSkpIHRocm93IGVyclN0ciArIHJocyAr
ICIgaXMgbm90IGFuIGludGVyZmFjZS4iOwotICAgICAgICAgICAgdGhpcy5tZW1iZXJzW3Joc10u
bWVtYmVycy5mb3JFYWNoKGZ1bmN0aW9uKG1lbWJlcikKLSAgICAgICAgICAgIHsKLSAgICAgICAg
ICAgICAgICB0aGlzLm1lbWJlcnNbbGhzXS5tZW1iZXJzLnB1c2gobmV3IElkbEludGVyZmFjZU1l
bWJlcihtZW1iZXIpKTsKLSAgICAgICAgICAgIH0uYmluZCh0aGlzKSk7CisKKyAgICAgICAgICAg
IGlmICh0aGlzLm1lbWJlcnNbcmhzXS5tZW1iZXJzLmxlbmd0aCkgeworICAgICAgICAgICAgICAg
IHRlc3QoZnVuY3Rpb24gKCkgeworICAgICAgICAgICAgICAgICAgICB2YXIgY2xhc2ggPSB0aGlz
Lm1lbWJlcnNbcmhzXS5tZW1iZXJzLmZpbmQoZnVuY3Rpb24obWVtYmVyKSB7CisgICAgICAgICAg
ICAgICAgICAgICAgICByZXR1cm4gdGhpcy5tZW1iZXJzW2xoc10ubWVtYmVycy5maW5kKGZ1bmN0
aW9uKG0pIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5hcmVfZHVw
bGljYXRlX21lbWJlcnMobSwgbWVtYmVyKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIH0uYmlu
ZCh0aGlzKSk7CisgICAgICAgICAgICAgICAgICAgIH0uYmluZCh0aGlzKSk7CisgICAgICAgICAg
ICAgICAgICAgIHRoaXMubWVtYmVyc1tyaHNdLm1lbWJlcnMuZm9yRWFjaChmdW5jdGlvbihtZW1i
ZXIpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubWVtYmVyc1tsaHNdLm1lbWJlcnMu
cHVzaChuZXcgSWRsSW50ZXJmYWNlTWVtYmVyKG1lbWJlcikpOworICAgICAgICAgICAgICAgICAg
ICB9LmJpbmQodGhpcykpOworICAgICAgICAgICAgICAgICAgICBhc3NlcnRfdHJ1ZSghY2xhc2gs
ICJtZW1iZXIgIiArIChjbGFzaCAmJiBjbGFzaC5uYW1lKSArICIgaXMgdW5pcXVlIik7CisgICAg
ICAgICAgICAgICAgfS5iaW5kKHRoaXMpLCBsaHMgKyAiIGltcGxlbWVudHMgIiArIHJocyArICI6
IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlIik7CisgICAgICAgICAgICB9CiAgICAgICAgIH0uYmlu
ZCh0aGlzKSk7CiAgICAgfQogICAgIHRoaXNbImltcGxlbWVudHMiXSA9IHt9OwpAQCAtODIxLDEw
ICs4MzUsMjMgQEAgSWRsQXJyYXkucHJvdG90eXBlLnRlc3QgPSBmdW5jdGlvbigpCiAgICAgICAg
ICAgICBpZiAoISh0aGlzLm1lbWJlcnNbbGhzXSBpbnN0YW5jZW9mIElkbEludGVyZmFjZSkpIHRo
cm93IGVyclN0ciArIGxocyArICIgaXMgbm90IGFuIGludGVyZmFjZS4iOwogICAgICAgICAgICAg
aWYgKCEocmhzIGluIHRoaXMubWVtYmVycykpIHRocm93IGVyclN0ciArIHJocyArICIgaXMgdW5k
ZWZpbmVkLiI7CiAgICAgICAgICAgICBpZiAoISh0aGlzLm1lbWJlcnNbcmhzXSBpbnN0YW5jZW9m
IElkbEludGVyZmFjZSkpIHRocm93IGVyclN0ciArIHJocyArICIgaXMgbm90IGFuIGludGVyZmFj
ZS4iOwotICAgICAgICAgICAgdGhpcy5tZW1iZXJzW3Joc10ubWVtYmVycy5mb3JFYWNoKGZ1bmN0
aW9uKG1lbWJlcikKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICB0aGlzLm1lbWJlcnNb
bGhzXS5tZW1iZXJzLnB1c2gobmV3IElkbEludGVyZmFjZU1lbWJlcihtZW1iZXIpKTsKLSAgICAg
ICAgICAgIH0uYmluZCh0aGlzKSk7CisKKyAgICAgICAgICAgIGlmICh0aGlzLm1lbWJlcnNbcmhz
XS5tZW1iZXJzLmxlbmd0aCkgeworICAgICAgICAgICAgICAgIHRlc3QoZnVuY3Rpb24gKCkgewor
ICAgICAgICAgICAgICAgICAgICB2YXIgY2xhc2ggPSB0aGlzLm1lbWJlcnNbcmhzXS5tZW1iZXJz
LmZpbmQoZnVuY3Rpb24obWVtYmVyKSB7CisgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4g
dGhpcy5tZW1iZXJzW2xoc10ubWVtYmVycy5maW5kKGZ1bmN0aW9uKG0pIHsKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5hcmVfZHVwbGljYXRlX21lbWJlcnMobSwgbWVt
YmVyKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIH0uYmluZCh0aGlzKSk7CisgICAgICAgICAg
ICAgICAgICAgIH0uYmluZCh0aGlzKSk7CisgICAgICAgICAgICAgICAgICAgIHRoaXMubWVtYmVy
c1tyaHNdLm1lbWJlcnMuZm9yRWFjaChmdW5jdGlvbihtZW1iZXIpIHsKKyAgICAgICAgICAgICAg
ICAgICAgICAgIGFzc2VydF90cnVlKAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMu
bWVtYmVyc1tsaHNdLm1lbWJlcnMuZXZlcnkobSA9PiAhdGhpcy5hcmVfZHVwbGljYXRlX21lbWJl
cnMobSwgbWVtYmVyKSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1lbWJlciAiICsg
bWVtYmVyLm5hbWUgKyAiIGlzIHVuaXF1ZSIpOworICAgICAgICAgICAgICAgICAgICAgICAgdGhp
cy5tZW1iZXJzW2xoc10ubWVtYmVycy5wdXNoKG5ldyBJZGxJbnRlcmZhY2VNZW1iZXIobWVtYmVy
KSk7CisgICAgICAgICAgICAgICAgICAgIH0uYmluZCh0aGlzKSk7CisgICAgICAgICAgICAgICAg
ICAgIGFzc2VydF90cnVlKCFjbGFzaCwgIm1lbWJlciAiICsgKGNsYXNoICYmIGNsYXNoLm5hbWUp
ICsgIiBpcyB1bmlxdWUiKTsKKyAgICAgICAgICAgICAgICB9LmJpbmQodGhpcyksIGxocyArICIg
aW5jbHVkZXMgIiArIHJocyArICI6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlIik7CisgICAgICAg
ICAgICB9CiAgICAgICAgIH0uYmluZCh0aGlzKSk7CiAgICAgfQogICAgIHRoaXNbImluY2x1ZGVz
Il0gPSB7fTsKQEAgLTg4NiwyNCArOTEzLDI3IEBAIElkbEFycmF5LnByb3RvdHlwZS5jb2xsYXBz
ZV9wYXJ0aWFscyA9IGZ1bmN0aW9uKCkKICAgICAgICAgICAgICAgICB8fCB0aGlzLm1lbWJlcnNb
cGFyc2VkX2lkbC5uYW1lXSBpbnN0YW5jZW9mIElkbERpY3Rpb25hcnkKICAgICAgICAgICAgICAg
ICB8fCB0aGlzLm1lbWJlcnNbcGFyc2VkX2lkbC5uYW1lXSBpbnN0YW5jZW9mIElkbE5hbWVzcGFj
ZSk7CiAKKyAgICAgICAgLy8gRW5zdXJlIHVuaXF1ZSB0ZXN0IG5hbWUgaW4gY2FzZSBvZiBtdWx0
aXBsZSBwYXJ0aWFscy4KICAgICAgICAgbGV0IHBhcnRpYWxUZXN0TmFtZSA9IHBhcnNlZF9pZGwu
bmFtZTsKLSAgICAgICAgaWYgKCFwYXJzZWRfaWRsLnVudGVzdGVkKSB7Ci0gICAgICAgICAgICAv
LyBFbnN1cmUgdW5pcXVlIHRlc3QgbmFtZSBpbiBjYXNlIG9mIG11bHRpcGxlIHBhcnRpYWxzLgot
ICAgICAgICAgICAgbGV0IHBhcnRpYWxUZXN0Q291bnQgPSAxOwotICAgICAgICAgICAgaWYgKHRl
c3RlZFBhcnRpYWxzLmhhcyhwYXJzZWRfaWRsLm5hbWUpKSB7Ci0gICAgICAgICAgICAgICAgcGFy
dGlhbFRlc3RDb3VudCArPSB0ZXN0ZWRQYXJ0aWFscy5nZXQocGFyc2VkX2lkbC5uYW1lKTsKLSAg
ICAgICAgICAgICAgICBwYXJ0aWFsVGVzdE5hbWUgPSBgJHtwYXJ0aWFsVGVzdE5hbWV9WyR7cGFy
dGlhbFRlc3RDb3VudH1dYDsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIHRlc3RlZFBhcnRp
YWxzLnNldChwYXJzZWRfaWRsLm5hbWUsIHBhcnRpYWxUZXN0Q291bnQpOworICAgICAgICBsZXQg
cGFydGlhbFRlc3RDb3VudCA9IDE7CisgICAgICAgIGlmICh0ZXN0ZWRQYXJ0aWFscy5oYXMocGFy
c2VkX2lkbC5uYW1lKSkgeworICAgICAgICAgICAgcGFydGlhbFRlc3RDb3VudCArPSB0ZXN0ZWRQ
YXJ0aWFscy5nZXQocGFyc2VkX2lkbC5uYW1lKTsKKyAgICAgICAgICAgIHBhcnRpYWxUZXN0TmFt
ZSA9IGAke3BhcnRpYWxUZXN0TmFtZX1bJHtwYXJ0aWFsVGVzdENvdW50fV1gOworICAgICAgICB9
CisgICAgICAgIHRlc3RlZFBhcnRpYWxzLnNldChwYXJzZWRfaWRsLm5hbWUsIHBhcnRpYWxUZXN0
Q291bnQpOwogCisgICAgICAgIGlmICghcGFyc2VkX2lkbC51bnRlc3RlZCkgewogICAgICAgICAg
ICAgdGVzdChmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgYXNzZXJ0X3RydWUob3JpZ2lu
YWxFeGlzdHMsIGBPcmlnaW5hbCAke3BhcnNlZF9pZGwudHlwZX0gc2hvdWxkIGJlIGRlZmluZWRg
KTsKIAotICAgICAgICAgICAgICAgIHZhciBleHBlY3RlZCA9IElkbEludGVyZmFjZTsKKyAgICAg
ICAgICAgICAgICB2YXIgZXhwZWN0ZWQ7CiAgICAgICAgICAgICAgICAgc3dpdGNoIChwYXJzZWRf
aWRsLnR5cGUpIHsKLSAgICAgICAgICAgICAgICAgICAgY2FzZSAnaW50ZXJmYWNlJzogZXhwZWN0
ZWQgPSBJZGxJbnRlcmZhY2U7IGJyZWFrOwogICAgICAgICAgICAgICAgICAgICBjYXNlICdkaWN0
aW9uYXJ5JzogZXhwZWN0ZWQgPSBJZGxEaWN0aW9uYXJ5OyBicmVhazsKICAgICAgICAgICAgICAg
ICAgICAgY2FzZSAnbmFtZXNwYWNlJzogZXhwZWN0ZWQgPSBJZGxOYW1lc3BhY2U7IGJyZWFrOwor
ICAgICAgICAgICAgICAgICAgICBjYXNlICdpbnRlcmZhY2UnOgorICAgICAgICAgICAgICAgICAg
ICBjYXNlICdpbnRlcmZhY2UgbWl4aW4nOgorICAgICAgICAgICAgICAgICAgICBkZWZhdWx0Ogor
ICAgICAgICAgICAgICAgICAgICAgICAgZXhwZWN0ZWQgPSBJZGxJbnRlcmZhY2U7IGJyZWFrOwog
ICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICBhc3NlcnRfdHJ1ZSgKICAgICAgICAg
ICAgICAgICAgICAgZXhwZWN0ZWQucHJvdG90eXBlLmlzUHJvdG90eXBlT2YodGhpcy5tZW1iZXJz
W3BhcnNlZF9pZGwubmFtZV0pLApAQCAtOTQ5LDE0ICs5NzksMzYgQEAgSWRsQXJyYXkucHJvdG90
eXBlLmNvbGxhcHNlX3BhcnRpYWxzID0gZnVuY3Rpb24oKQogICAgICAgICAgICAgICAgIHRoaXMu
bWVtYmVyc1twYXJzZWRfaWRsLm5hbWVdLmV4dEF0dHJzLnB1c2goZXh0QXR0cik7CiAgICAgICAg
ICAgICB9LmJpbmQodGhpcykpOwogICAgICAgICB9Ci0gICAgICAgIHBhcnNlZF9pZGwubWVtYmVy
cy5mb3JFYWNoKGZ1bmN0aW9uKG1lbWJlcikKLSAgICAgICAgewotICAgICAgICAgICAgdGhpcy5t
ZW1iZXJzW3BhcnNlZF9pZGwubmFtZV0ubWVtYmVycy5wdXNoKG5ldyBJZGxJbnRlcmZhY2VNZW1i
ZXIobWVtYmVyKSk7Ci0gICAgICAgIH0uYmluZCh0aGlzKSk7CisgICAgICAgIGlmIChwYXJzZWRf
aWRsLm1lbWJlcnMubGVuZ3RoKSB7CisgICAgICAgICAgICB0ZXN0KGZ1bmN0aW9uICgpIHsKKyAg
ICAgICAgICAgICAgICB2YXIgY2xhc2ggPSBwYXJzZWRfaWRsLm1lbWJlcnMuZmluZChmdW5jdGlv
bihtZW1iZXIpIHsKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMubWVtYmVyc1twYXJz
ZWRfaWRsLm5hbWVdLm1lbWJlcnMuZmluZChmdW5jdGlvbihtKSB7CisgICAgICAgICAgICAgICAg
ICAgICAgICByZXR1cm4gdGhpcy5hcmVfZHVwbGljYXRlX21lbWJlcnMobSwgbWVtYmVyKTsKKyAg
ICAgICAgICAgICAgICAgICAgfS5iaW5kKHRoaXMpKTsKKyAgICAgICAgICAgICAgICB9LmJpbmQo
dGhpcykpOworICAgICAgICAgICAgICAgIHBhcnNlZF9pZGwubWVtYmVycy5mb3JFYWNoKGZ1bmN0
aW9uKG1lbWJlcikKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgIHRoaXMu
bWVtYmVyc1twYXJzZWRfaWRsLm5hbWVdLm1lbWJlcnMucHVzaChuZXcgSWRsSW50ZXJmYWNlTWVt
YmVyKG1lbWJlcikpOworICAgICAgICAgICAgICAgIH0uYmluZCh0aGlzKSk7CisgICAgICAgICAg
ICAgICAgYXNzZXJ0X3RydWUoIWNsYXNoLCAibWVtYmVyICIgKyAoY2xhc2ggJiYgY2xhc2gubmFt
ZSkgKyAiIGlzIHVuaXF1ZSIpOworICAgICAgICAgICAgfS5iaW5kKHRoaXMpLCBgUGFydGlhbCAk
e3BhcnNlZF9pZGwudHlwZX0gJHtwYXJ0aWFsVGVzdE5hbWV9OiBtZW1iZXIgbmFtZXMgYXJlIHVu
aXF1ZWApOworICAgICAgICB9CiAgICAgfS5iaW5kKHRoaXMpKTsKICAgICB0aGlzLnBhcnRpYWxz
ID0gW107CiB9CiAKK0lkbEFycmF5LnByb3RvdHlwZS5hcmVfZHVwbGljYXRlX21lbWJlcnMgPSBm
dW5jdGlvbihtMSwgbTIpIHsKKyAgICBpZiAobTEubmFtZSAhPT0gbTIubmFtZSkgeworICAgICAg
ICByZXR1cm4gZmFsc2U7CisgICAgfQorICAgIGlmIChtMS50eXBlID09PSAnb3BlcmF0aW9uJyAm
JiBtMi50eXBlID09PSAnb3BlcmF0aW9uJworICAgICAgICAmJiBtMS5hcmd1bWVudHMubGVuZ3Ro
ICE9PSBtMi5hcmd1bWVudHMubGVuZ3RoKSB7CisgICAgICAgIC8vIE1ldGhvZCBvdmVybG9hZC4g
VE9ETzogRGVlcCBjb21wYXJpc29uIG9mIGFyZ3VtZW50cy4KKyAgICAgICAgcmV0dXJuIGZhbHNl
OworICAgIH0KKyAgICByZXR1cm4gdHJ1ZTsKK30KKwogSWRsQXJyYXkucHJvdG90eXBlLmFzc2Vy
dF90eXBlX2lzID0gZnVuY3Rpb24odmFsdWUsIHR5cGUpCiB7CiAgICAgaWYgKHR5cGUuaWRsVHlw
ZSBpbiB0aGlzLm1lbWJlcnMKQEAgLTMyOTcsMTYgKzMzNDksMzAgQEAgZnVuY3Rpb24gaWRsX3Rl
c3Qoc3JjcywgZGVwcywgaWRsX3NldHVwX2Z1bmMpIHsKICAgICAgICAgc3JjcyA9IChzcmNzIGlu
c3RhbmNlb2YgQXJyYXkpID8gc3JjcyA6IFtzcmNzXSB8fCBbXTsKICAgICAgICAgZGVwcyA9IChk
ZXBzIGluc3RhbmNlb2YgQXJyYXkpID8gZGVwcyA6IFtkZXBzXSB8fCBbXTsKICAgICAgICAgdmFy
IHNldHVwX2Vycm9yID0gbnVsbDsKKyAgICAgICAgY29uc3QgdmFsaWRhdGlvbklnbm9yZWQgPSBb
CisgICAgICAgICAgICAiY29uc3RydWN0b3ItbWVtYmVyIiwKKyAgICAgICAgICAgICJkaWN0LWFy
Zy1kZWZhdWx0IiwKKyAgICAgICAgICAgICJyZXF1aXJlLWV4cG9zZWQiCisgICAgICAgIF07CiAg
ICAgICAgIHJldHVybiBQcm9taXNlLmFsbCgKLSAgICAgICAgICAgIHNyY3MuY29uY2F0KGRlcHMp
Lm1hcChmdW5jdGlvbihzcGVjKSB7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIGZldGNoX3NwZWMo
c3BlYyk7Ci0gICAgICAgICAgICB9KSkKLSAgICAgICAgICAgIC50aGVuKGZ1bmN0aW9uKGlkbHMp
IHsKKyAgICAgICAgICAgIHNyY3MuY29uY2F0KGRlcHMpLm1hcChmZXRjaF9zcGVjKSkKKyAgICAg
ICAgICAgIC50aGVuKGZ1bmN0aW9uKHJlc3VsdHMpIHsKKyAgICAgICAgICAgICAgICBjb25zdCBh
c3RBcnJheSA9IHJlc3VsdHMubWFwKHJlc3VsdCA9PgorICAgICAgICAgICAgICAgICAgICBXZWJJ
REwyLnBhcnNlKHJlc3VsdC5pZGwsIHsgc291cmNlTmFtZTogcmVzdWx0LnNwZWMgfSkKKyAgICAg
ICAgICAgICAgICApOworICAgICAgICAgICAgICAgIHRlc3QoKCkgPT4geworICAgICAgICAgICAg
ICAgICAgICBjb25zdCB2YWxpZGF0aW9ucyA9IFdlYklETDIudmFsaWRhdGUoYXN0QXJyYXkpCisg
ICAgICAgICAgICAgICAgICAgICAgICAuZmlsdGVyKHYgPT4gIXZhbGlkYXRpb25JZ25vcmVkLmlu
Y2x1ZGVzKHYucnVsZU5hbWUpKTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHZhbGlkYXRpb25z
Lmxlbmd0aCkgeworICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbWVzc2FnZSA9IHZhbGlk
YXRpb25zLm1hcCh2ID0+IHYubWVzc2FnZSkuam9pbigiXG5cbiIpOworICAgICAgICAgICAgICAg
ICAgICAgICAgdGhyb3cgbmV3IEVycm9yKG1lc3NhZ2UpOworICAgICAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICAgICAgfSwgImlkbF90ZXN0IHZhbGlkYXRpb24iKTsKICAgICAgICAgICAg
ICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHNyY3MubGVuZ3RoOyBpKyspIHsKLSAgICAgICAgICAg
ICAgICAgICAgaWRsX2FycmF5LmFkZF9pZGxzKGlkbHNbaV0pOworICAgICAgICAgICAgICAgICAg
ICBpZGxfYXJyYXkuaW50ZXJuYWxfYWRkX2lkbHMoYXN0QXJyYXlbaV0pOwogICAgICAgICAgICAg
ICAgIH0KICAgICAgICAgICAgICAgICBmb3IgKHZhciBpID0gc3Jjcy5sZW5ndGg7IGkgPCBzcmNz
Lmxlbmd0aCArIGRlcHMubGVuZ3RoOyBpKyspIHsKLSAgICAgICAgICAgICAgICAgICAgaWRsX2Fy
cmF5LmFkZF9kZXBlbmRlbmN5X2lkbHMoaWRsc1tpXSk7CisgICAgICAgICAgICAgICAgICAgIGlk
bF9hcnJheS5pbnRlcm5hbF9hZGRfZGVwZW5kZW5jeV9pZGxzKGFzdEFycmF5W2ldKTsKICAgICAg
ICAgICAgICAgICB9CiAgICAgICAgICAgICB9KQogICAgICAgICAgICAgLnRoZW4oZnVuY3Rpb24o
KSB7CkBAIC0zMzQxLDYgKzM0MDcsNiBAQCBmdW5jdGlvbiBmZXRjaF9zcGVjKHNwZWMpIHsKICAg
ICAgICAgICAgIHRocm93IG5ldyBJZGxIYXJuZXNzRXJyb3IoIkVycm9yIGZldGNoaW5nICIgKyB1
cmwgKyAiLiIpOwogICAgICAgICB9CiAgICAgICAgIHJldHVybiByLnRleHQoKTsKLSAgICB9KTsK
KyAgICB9KS50aGVuKGlkbCA9PiAoeyBzcGVjLCBpZGwgfSkpOwogfQogLy8gdmltOiBzZXQgZXhw
YW5kdGFiIHNoaWZ0d2lkdGg9NCB0YWJzdG9wPTQgZm9sZG1hcmtlcj1AeyxAfSBmb2xkbWV0aG9k
PW1hcmtlcjoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3JlYWRtZS5tZCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3JlYWRtZS5tZAppbmRleCA4NTgzZDVmOGQ1YjQ0
OWI4MmQzMTFlMGU0N2I2ZTgxMjZjZTE2ZGQ1Li4wOWE2MmZiZDdiZmQ3YzU4ZDNkZWQwMTE1YmQw
ZWUxZWZiMDRmOGM1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy9yZWFkbWUubWQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvcmVhZG1lLm1kCkBAIC0xLDIyICsx
LDE0IEBACi0jIyBJbnRyb2R1Y3Rpb24gIyMKKyMgUmVzb3VyY2VzCiAKLXRlc3RoYXJuZXNzLmpz
IHByb3ZpZGVzIGEgZnJhbWV3b3JrIGZvciB3cml0aW5nIGxvdy1sZXZlbCB0ZXN0cyBvZgotYnJv
d3NlciBmdW5jdGlvbmFsaXR5IGluIGphdmFzY3JpcHQuIEl0IHByb3ZpZGVzIGEgY29udmVuaWVu
dCBBUEkgZm9yCi1tYWtpbmcgYXNzZXJ0aW9ucyBhbmQgaXMgaW50ZW5kZWQgdG8gd29yayBmb3Ig
Ym90aCBzaW1wbGUgc3luY2hyb25vdXMKLXRlc3RzIGFuZCBmb3IgdGVzdHMgb2YgYXN5bmNocm9u
b3VzIGJlaGF2aW91ci4KLQotIyMgR2V0dGluZyBTdGFydGVkICMjCi0KLVRvIHVzZSB0ZXN0aGFy
bmVzcy5qcyB5b3UgbXVzdCBpbmNsdWRlIHR3byBzY3JpcHRzLCBpbiB0aGUgb3JkZXIgZ2l2ZW46
CitUaGlzIGRpcmVjdG9yeSBjb250YWlucyB1dGlsaXRpZXMgaW50ZW5kZWQgZm9yIHVzZSBieSB0
ZXN0cyBhbmQgbWFpbnRhaW5lZCBhcyBwcm9qZWN0IGluZnJhc3RydWN0dXJlLgorSXQgZG9lcyBu
b3QgY29udGFpbiB0ZXN0cy4KIAotYGBgIGh0bWwKLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLWBgYAorIyMgYHRlc3RoYXJuZXNzLmpzYAogCi0jIyBG
dWxsIGRvY3VtZW50YXRpb24gIyMKLQotRnVsbCB1c2VyIGRvY3VtZW50YXRpb24gZm9yIHRoZSBB
UEkgaXMgYXQgW2h0dHA6Ly93ZWItcGxhdGZvcm0tdGVzdHMub3JnL3dyaXRpbmctdGVzdHMvdGVz
dGhhcm5lc3MtYXBpLmh0bWxdKGh0dHA6Ly93ZWItcGxhdGZvcm0tdGVzdHMub3JnL3dyaXRpbmct
dGVzdHMvdGVzdGhhcm5lc3MtYXBpLmh0bWwpLgorYHRlc3RoYXJuZXNzLmpzYCBpcyBhIGZyYW1l
d29yayBmb3Igd3JpdGluZyBsb3ctbGV2ZWwgdGVzdHMgb2YKK2Jyb3dzZXIgZnVuY3Rpb25hbGl0
eSBpbiBqYXZhc2NyaXB0LiBJdCBwcm92aWRlcyBhIGNvbnZlbmllbnQgQVBJIGZvcgorbWFraW5n
IGFzc2VydGlvbnMgYW5kIGlzIGludGVuZGVkIHRvIHdvcmsgZm9yIGJvdGggc2ltcGxlIHN5bmNo
cm9ub3VzCit0ZXN0cywgYW5kIHRlc3RzIG9mIGFzeW5jaHJvbm91cyBiZWhhdmlvdXIuCiAKLVlv
dSBjYW4gYWxzbyByZWFkIGEgdHV0b3JpYWwgb24gCi1bVXNpbmcgdGVzdGhhcm5lc3MuanNdKGh0
dHA6Ly9kYXJvYmluLmdpdGh1Yi5jb20vdGVzdC1oYXJuZXNzLXR1dG9yaWFsL2RvY3MvdXNpbmct
dGVzdGhhcm5lc3MuaHRtbCkuCitDb21wbGV0ZSBkb2N1bWVudGF0aW9uIGlzIGF2YWlsYWJsZSBp
biB0aGUgYGRvY3MvYCBkaXJlY3Rvcnkgb2YgdGhpcyByZXBvc2l0b3J5CithbmQgb24gdGhlIHdl
YiBhdCBodHRwczovL3dlYi1wbGF0Zm9ybS10ZXN0cy5vcmcvd3JpdGluZy10ZXN0cy8uCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy9zcmloYXJuZXNzLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvc3JpaGFybmVzcy5qcwppbmRleCA5ZDdmYTc2YTdkNjVmNjNjZThh
Mzg0NDkyMDM4OGZmYjM5YjgzYmMzLi5mMGQyODRlNTdiOTQxMWQ5YzYwNTYwODBiYTg3NDllOGY1
NjcxYjM5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy9zcmloYXJuZXNzLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3NyaWhhcm5lc3MuanMKQEAgLTMyLDYg
KzMyLDEwNSBAQCBTUklTY3JpcHRUZXN0LnByb3RvdHlwZS5leGVjdXRlID0gZnVuY3Rpb24oKSB7
CiAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChlKTsKIH07CiAKK2Z1bmN0aW9uIHNldF9l
eHRyYV9hdHRyaWJ1dGVzKGVsZW1lbnQsIGF0dHJzKSB7CisgIC8vIEFwcGx5IHRoZSByZXN0IG9m
IHRoZSBhdHRyaWJ1dGVzLCBpZiBhbnkuCisgIGZvciAoY29uc3QgW2F0dHJfbmFtZSwgYXR0cl92
YWxdIG9mIE9iamVjdC5lbnRyaWVzKGF0dHJzKSkgeworICAgIGVsZW1lbnRbYXR0cl9uYW1lXSA9
IGF0dHJfdmFsOworICB9Cit9CisKK2Z1bmN0aW9uIGJ1aWxkRWxlbWVudEZyb21EZXN0aW5hdGlv
bihyZXNvdXJjZV91cmwsIGRlc3RpbmF0aW9uLCBhdHRycykgeworICAvLyBBc3NlcnQ6IHxkZXN0
aW5hdGlvbnwgaXMgYSB2YWxpZCBkZXN0aW5hdGlvbi4KKyAgbGV0IGVsZW1lbnQ7CisKKyAgLy8g
VGhlIGJlbG93IHN3aXRjaCBpcyByZXNwb25zaWJsZSBmb3I6CisgIC8vICAgMS4gQ3JlYXRpbmcg
dGhlIGNvcnJlY3Qgc3VicmVzb3VyY2UgZWxlbWVudAorICAvLyAgIDIuIFNldHRpbmcgc2FpZCBl
bGVtZW50J3MgaHJlZiwgc3JjLCBvciBmZXRjaC1pbnN0aWdhdGluZyBwcm9wZXJ0eQorICAvLyAg
ICAgIGFwcHJvcHJpYXRlbHkuCisgIHN3aXRjaCAoZGVzdGluYXRpb24pIHsKKyAgICBjYXNlICJz
Y3JpcHQiOgorICAgICAgZWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoZGVzdGluYXRp
b24pOworICAgICAgc2V0X2V4dHJhX2F0dHJpYnV0ZXMoZWxlbWVudCwgYXR0cnMpOworICAgICAg
ZWxlbWVudC5zcmMgPSByZXNvdXJjZV91cmw7CisgICAgICBicmVhazsKKyAgICBjYXNlICJzdHls
ZSI6CisgICAgICBlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnbGluaycpOworICAg
ICAgc2V0X2V4dHJhX2F0dHJpYnV0ZXMoZWxlbWVudCwgYXR0cnMpOworICAgICAgZWxlbWVudC5y
ZWwgPSAnc3R5bGVzaGVldCc7CisgICAgICBlbGVtZW50LmhyZWYgPSByZXNvdXJjZV91cmw7Cisg
ICAgICBicmVhazsKKyAgICBjYXNlICJpbWFnZSI6CisgICAgICBlbGVtZW50ID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgnaW1nJyk7CisgICAgICBzZXRfZXh0cmFfYXR0cmlidXRlcyhlbGVtZW50
LCBhdHRycyk7CisgICAgICBlbGVtZW50LnNyYyA9IHJlc291cmNlX3VybDsKKyAgICAgIGJyZWFr
OworICAgIGRlZmF1bHQ6CisgICAgICBhc3NlcnRfdW5yZWFjaGVkKCJJTlZBTElEIERFU1RJTkFU
SU9OIik7CisgIH0KKworICByZXR1cm4gZWxlbWVudDsKK30KKworY29uc3QgU1JJUHJlbG9hZFRl
c3QgPSAocHJlbG9hZF9zcmlfc3VjY2Vzcywgc3VicmVzb3VyY2Vfc3JpX3N1Y2Nlc3MsIG5hbWUs
CisgICAgICAgICAgICAgICAgICAgICAgICBkZXN0aW5hdGlvbiwgcmVzb3VyY2VfdXJsLCBsaW5r
X2F0dHJzLAorICAgICAgICAgICAgICAgICAgICAgICAgc3VicmVzb3VyY2VfYXR0cnMpID0+IHsK
KyAgY29uc3QgdGVzdCA9IGFzeW5jX3Rlc3QobmFtZSk7CisgIGNvbnN0IGxpbmsgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCdsaW5rJyk7CisKKyAgLy8gRWFybHktZmFpbCBpbiBVQXMgdGhhdCBk
byBub3Qgc3VwcG9ydCBgcHJlbG9hZGAgbGlua3MuCisgIHRlc3Quc3RlcF9mdW5jKCgpID0+IHsK
KyAgICBhc3NlcnRfdHJ1ZShsaW5rLnJlbExpc3Quc3VwcG9ydHMoJ3ByZWxvYWQnKSwKKyAgICAg
ICJUaGlzIHRlc3QgaXMgYXV0b21hdGljYWxseSBmYWlsaW5nIGJlY2F1c2UgdGhlIGJyb3dzZXIg
ZG9lcyBub3QiICsKKyAgICAgICJzdXBwb3J0IGBwcmVsb2FkYCBsaW5rcy4iKTsKKyAgfSkoKTsK
KworICAvLyBCdWlsZCB1cCB0aGUgbGluay4KKyAgbGluay5yZWwgPSAncHJlbG9hZCc7CisgIGxp
bmsuYXMgPSBkZXN0aW5hdGlvbjsKKyAgbGluay5ocmVmID0gcmVzb3VyY2VfdXJsOworICBmb3Ig
KGNvbnN0IFthdHRyX25hbWUsIGF0dHJfdmFsXSBvZiBPYmplY3QuZW50cmllcyhsaW5rX2F0dHJz
KSkgeworICAgIGxpbmtbYXR0cl9uYW1lXSA9IGF0dHJfdmFsOyAvLyBUaGlzIG1heSBvdmVycmlk
ZSBgcmVsYCB0byBtb2R1bGVwcmVsb2FkLgorICB9CisKKyAgLy8gUHJlbG9hZCArIHN1YnJlc291
cmNlIHN1Y2Nlc3MgYW5kIGZhaWx1cmUgbG9hZGluZyBmdW5jdGlvbnMuCisgIGNvbnN0IHZhbGlk
X3ByZWxvYWRfZmFpbGVkID0gdGVzdC5zdGVwX2Z1bmMoKCkgPT4KKyAgICB7IGFzc2VydF91bnJl
YWNoZWQoIlZhbGlkIHByZWxvYWQgZmlyZWQgZXJyb3IgaGFuZGxlci4iKSB9KTsKKyAgY29uc3Qg
aW52YWxpZF9wcmVsb2FkX3N1Y2NlZWRlZCA9IHRlc3Quc3RlcF9mdW5jKCgpID0+CisgICAgeyBh
c3NlcnRfdW5yZWFjaGVkKCJJbnZhbGlkIHByZWxvYWQgbG9hZCBzdWNjZWVkZWQuIikgfSk7Cisg
IGNvbnN0IHZhbGlkX3N1YnJlc291cmNlX2ZhaWxlZCA9IHRlc3Quc3RlcF9mdW5jKCgpID0+Cisg
ICAgeyBhc3NlcnRfdW5yZWFjaGVkKCJWYWxpZCBzdWJyZXNvdXJjZSBmaXJlZCBlcnJvciBoYW5k
bGVyLiIpIH0pOworICBjb25zdCBpbnZhbGlkX3N1YnJlc291cmNlX3N1Y2NlZWRlZCA9IHRlc3Qu
c3RlcF9mdW5jKCgpID0+CisgICAgeyBhc3NlcnRfdW5yZWFjaGVkKCJJbnZhbGlkIHN1YnJlc291
cmNlIGxvYWQgc3VjY2VlZGVkLiIpIH0pOworICBjb25zdCBzdWJyZXNvdXJjZV9wYXNzID0gdGVz
dC5zdGVwX2Z1bmMoKCkgPT4geyB0ZXN0LmRvbmUoKTsgfSk7CisgIGNvbnN0IHByZWxvYWRfcGFz
cyA9IHRlc3Quc3RlcF9mdW5jKCgpID0+IHsKKyAgICBjb25zdCBzdWJyZXNvdXJjZV9lbGVtZW50
ID0gYnVpbGRFbGVtZW50RnJvbURlc3RpbmF0aW9uKAorICAgICAgcmVzb3VyY2VfdXJsLAorICAg
ICAgZGVzdGluYXRpb24sCisgICAgICBzdWJyZXNvdXJjZV9hdHRycworICAgICk7CisKKyAgICBp
ZiAoc3VicmVzb3VyY2Vfc3JpX3N1Y2Nlc3MpIHsKKyAgICAgIHN1YnJlc291cmNlX2VsZW1lbnQu
b25sb2FkID0gc3VicmVzb3VyY2VfcGFzczsKKyAgICAgIHN1YnJlc291cmNlX2VsZW1lbnQub25l
cnJvciA9IHZhbGlkX3N1YnJlc291cmNlX2ZhaWxlZDsKKyAgICB9IGVsc2UgeworICAgICAgc3Vi
cmVzb3VyY2VfZWxlbWVudC5vbmxvYWQgPSBpbnZhbGlkX3N1YnJlc291cmNlX3N1Y2NlZWRlZDsK
KyAgICAgIHN1YnJlc291cmNlX2VsZW1lbnQub25lcnJvciA9IHN1YnJlc291cmNlX3Bhc3M7Cisg
ICAgfQorCisgICAgZG9jdW1lbnQuYm9keS5hcHBlbmQoc3VicmVzb3VyY2VfZWxlbWVudCk7Cisg
IH0pOworCisgIGlmIChwcmVsb2FkX3NyaV9zdWNjZXNzKSB7CisgICAgbGluay5vbmxvYWQgPSBw
cmVsb2FkX3Bhc3M7CisgICAgbGluay5vbmVycm9yID0gdmFsaWRfcHJlbG9hZF9mYWlsZWQ7Cisg
IH0gZWxzZSB7CisgICAgbGluay5vbmxvYWQgPSBpbnZhbGlkX3ByZWxvYWRfc3VjY2VlZGVkOwor
ICAgIGxpbmsub25lcnJvciA9IHByZWxvYWRfcGFzczsKKyAgfQorCisgIGRvY3VtZW50LmhlYWQu
YXBwZW5kKGxpbmspOworfQorCiAvLyA8bGluaz4gdGVzdHMKIC8vIFN0eWxlIHRlc3RzIG11c3Qg
YmUgZG9uZSBzeW5jaHJvbm91c2x5IGJlY2F1c2UgdGhleSByZWx5IG9uIHRoZSBwcmVzZW5jZQog
Ly8gYW5kIGFic2VuY2Ugb2YgZ2xvYmFsIHN0eWxlLCB3aGljaCBjYW4gYWZmZWN0IGxhdGVyIHRl
c3RzLiBUaHVzLCBpbnN0ZWFkCkBAIC02Myw2ICsxNjIsOCBAQCBTUklTdHlsZVRlc3QucHJvdG90
eXBlLmV4ZWN1dGUgPSBmdW5jdGlvbigpIHsKICAgICB2YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgiZGl2Iik7CiAgICAgZGl2LmNsYXNzTmFtZSA9ICJ0ZXN0ZGl2IjsKICAgICB2YXIg
ZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImxpbmsiKTsKKworICAgIC8vIFRoZSBsaW5rIHJl
bGF0aW9uIGlzIGd1YXJhbnRlZWQgdG8gbm90IGJlICJwcmVsb2FkIiBvciAibW9kdWxlcHJlbG9h
ZCIuCiAgICAgdGhpcy5hdHRycy5yZWwgPSB0aGlzLmF0dHJzLnJlbCB8fCAic3R5bGVzaGVldCI7
CiAgICAgZm9yICh2YXIga2V5IGluIHRoaXMuYXR0cnMpIHsKICAgICAgICAgaWYgKHRoaXMuYXR0
cnMuaGFzT3duUHJvcGVydHkoa2V5KSkgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC9SRUFETUUubWQgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L1JF
QURNRS5tZApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTAxMDUxNmFkOGVlOTczOWEw
NmUzZDRmMDZjYjQwZjhhN2VkMGUxZi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy90ZXN0L1JFQURNRS5tZAorKysgL2Rldi9udWxsCkBAIC0xLDY3ICswLDAgQEAK
LSMgYHRlc3RoYXJuZXNzLmpzYCB0ZXN0IHN1aXRlCi0KLVRoZSB0ZXN0IHN1aXRlIGZvciB0aGUg
YHRlc3RoYXJuZXNzLmpzYCB0ZXN0aW5nIGZyYW1ld29yay4KLQotIyMgRXhlY3V0aW5nIFRlc3Rz
Ci0KLUluc3RhbGwgdGhlIGZvbGxvd2luZyBkZXBlbmRlbmNpZXM6Ci0KLS0gW1B5dGhvbiAyLjdd
KGh0dHBzOi8vd3d3LnB5dGhvbi5vcmcvKQotLSBbdGhlIHRveCBQeXRob24gcGFja2FnZV0oaHR0
cHM6Ly90b3gucmVhZHRoZWRvY3MuaW8vZW4vbGF0ZXN0LykKLS0gW3RoZSBNb3ppbGxhIEZpcmVm
b3ggd2ViIGJyb3dzZXJdKGh0dHBzOi8vbW96aWxsYS5vcmcvZmlyZWZveCkKLS0gW3RoZSBHZWNr
b0RyaXZlciBzZXJ2ZXJdKGh0dHBzOi8vZ2l0aHViLmNvbS9tb3ppbGxhL2dlY2tvZHJpdmVyKQot
Ci1PbmNlIHRoZXNlIGRlcGVuZGVuY2llcyBhcmUgc2F0aXNmaWVkLCB0aGUgdGVzdHMgbWF5IGJl
IHJ1biBmcm9tIGEgY29tbWFuZCBsaW5lCi1ieSBleGVjdXRpbmcgdGhlIGZvbGxvd2luZyBjb21t
YW5kIGZyb20gdGhpcyBkaXJlY3Rvcnk6Ci0KLSAgICB0b3gKLQotQ3VycmVudGx5LCB0aGUgdGVz
dHMgc2hvdWxkIGJlIHJ1biB3aXRoIEZpcmVmb3ggTmlnaHRseS4KLQotSW4gb3JkZXIgdG8gc3Bl
Y2lmeSB0aGUgcGF0aCB0byBGaXJlZm94IE5pZ2h0bHksIHVzZSB0aGUgZm9sbG93aW5nIGNvbW1h
bmQtbGluZSBvcHRpb246Ci0KLSAgICB0b3ggLS0gLS1iaW5hcnk9L3BhdGgvdG8vRmlyZWZveE5p
Z2h0bHkKLQotIyMgQXV0aG9yaW5nIFRlc3RzCi0KLVRlc3QgY2FzZXMgYXJlIGV4cHJlc3NlZCBh
cyBgLmh0bWxgIGZpbGVzIGxvY2F0ZWQgd2l0aGluIHRoZSBgdGVzdHMvYAotc3ViLWRpcmVjdG9y
eS4gRWFjaCB0ZXN0IHNob3VsZCBpbmNsdWRlIHRoZSBgdGVzdGhhcm5lc3MuanNgIGxpYnJhcnkg
d2l0aCB0aGUKLWZvbGxvd2luZyBtYXJrdXA6Ci0KLSAgICA8c2NyaXB0IHNyYz0iLi4vLi4vdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgotICAgIDxzY3JpcHQgc3JjPSIuLi8uLi90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci0KLVRoaXMgc2hvdWxkIGJlIGZvbGxvd2VkIGJ5IG9uZSBv
ciBtb3JlIGA8c2NyaXB0PmAgdGFncyB0aGF0IGludGVyZmFjZSB3aXRoIHRoZQotYHRlc3RoYXJu
ZXNzLmpzYCBBUEkgaW4gc29tZSB3YXkuIEZvciBleGFtcGxlOgotCi0gICAgPHNjcmlwdD4KLSAg
ICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICAxID0gMTsKLSAgICAgIH0sICdUaGlzIHRlc3Qg
aXMgZXhwZWN0ZWQgdG8gZmFpbC4nKTsKLSAgICA8L3NjcmlwdD4KLQotRmluYWxseSwgZWFjaCB0
ZXN0IG1heSBpbmNsdWRlIGEgc3VtbWFyeSBvZiB0aGUgZXhwZWN0ZWQgcmVzdWx0cyBhcyBhIEpT
T04KLXN0cmluZyB3aXRoaW4gYSBgPHNjcmlwdD5gIHRhZyB3aXRoIGFuIGBpZGAgb2YgYCJleHBl
Y3RlZCJgLCBlLmcuOgotCi0gICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2pzb24iIGlkPSJleHBlY3Rl
ZCI+Ci0gICAgewotICAgICAgInN1bW1hcml6ZWRfc3RhdHVzIjogewotICAgICAgICAibWVzc2Fn
ZSI6IG51bGwsCi0gICAgICAgICJzdGFjayI6IG51bGwsCi0gICAgICAgICJzdGF0dXNfc3RyaW5n
IjogIk9LIgotICAgICAgfSwKLSAgICAgICJzdW1tYXJpemVkX3Rlc3RzIjogWwotICAgICAgICB7
Ci0gICAgICAgICAgIm1lc3NhZ2UiOiAiUmVmZXJlbmNlRXJyb3I6IGludmFsaWQgYXNzaWdubWVu
dCBsZWZ0LWhhbmQgc2lkZSIsCi0gICAgICAgICAgIm5hbWUiOiAiU2FtcGxlIEhUTUw1IEFQSSBU
ZXN0cyIsCi0gICAgICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICAgICAic3RhY2siOiAi
KGltcGxlbWVudGF0aW9uLWRlZmluZWQpIiwKLSAgICAgICAgICAic3RhdHVzX3N0cmluZyI6ICJG
QUlMIgotICAgICAgICB9Ci0gICAgICBdLAotICAgICAgInR5cGUiOiAiY29tcGxldGUiCi0gICAg
fQotICAgIDwvc2NyaXB0PgotCi1UaGlzIGlzIHVzZWZ1bCB0byB0ZXN0LCBmb3IgZXhhbXBsZSwg
d2hldGhlciBhc3NlcmF0aW9ucyB0aGF0IHNob3VsZCBmYWlsIG9yCi10aHJvdyBhY3R1YWxseSBk
by4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L2NvbmZpZy50ZXN0
Lmpzb24gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy90ZXN0L2NvbmZpZy50ZXN0Lmpzb24KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IGRmNjY0ZmFmNDRiYWQwNjk2NDY0ZDJhZDM5N2QxMjM1NzYwNjNmZjYuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC9jb25maWcudGVzdC5qc29uCisrKyAv
ZGV2L251bGwKQEAgLTEsMjcgKzAsMCBAQAoteyJob3N0IjogIndlYi1wbGF0Zm9ybS50ZXN0IiwK
LSAiZG9jX3Jvb3QiOiBudWxsLAotICJ3c19kb2Nfcm9vdCI6IG51bGwsCi0gImV4dGVybmFsX2hv
c3QiOiBudWxsLAotICJwb3J0cyI6eyJodHRwIjpbODAwMCwgImF1dG8iXSwKLSAgICAgICAgICAi
aHR0cHMiOls5MDAzXSwKLSAgICAgICAgICAid3MiOlsiYXV0byJdLAotICAgICAgICAgICJ3c3Mi
OlsiYXV0byJdfSwKLSAiY2hlY2tfc3ViZG9tYWlucyI6IHRydWUsCi0gImxvZ19sZXZlbCI6ImRl
YnVnIiwKLSAiYmluZF9ob3N0bmFtZSI6IHRydWUsCi0gInNzbCI6IHsidHlwZSI6ICJvcGVuc3Ns
IiwKLSAgICAgICAgICJlbmNyeXB0X2FmdGVyX2Nvbm5lY3QiOiBmYWxzZSwKLSAgICAgICAgICJv
cGVuc3NsIjogewotICAgICAgICAgICAgICJvcGVuc3NsX2JpbmFyeSI6ICJvcGVuc3NsIiwKLSAg
ICAgICAgICAgICAiYmFzZV9wYXRoIjogIl9jZXJ0cyIsCi0gICAgICAgICAgICAgImZvcmNlX3Jl
Z2VuZXJhdGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAiYmFzZV9jb25mX3BhdGgiOiBudWxsCi0g
ICAgICAgICB9LAotICAgICAgICAgInByZWdlbmVyYXRlZCI6IHsKLSAgICAgICAgICAgICAiaG9z
dF9rZXlfcGF0aCI6IG51bGwsCi0gICAgICAgICAgICAgImhvc3RfY2VydF9wYXRoIjogbnVsbAot
ICAgICAgICAgfSwKLSAgICAgICAgICJub25lIjoge30KLSAgICAgICAgfSwKLSAiYWxpYXNlcyI6
IFtdCi19CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy90ZXN0L2NvbmZ0ZXN0LnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC9jb25mdGVzdC5weQpkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDQ3Y2ExY2FlZDI3Yzc0M2FkYzNlOWU1NmE2NWE3YjEz
MGI4ZTM5Yy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0
L2NvbmZ0ZXN0LnB5CisrKyAvZGV2L251bGwKQEAgLTEsMTM3ICswLDAgQEAKLWltcG9ydCBpbwot
aW1wb3J0IGpzb24KLWltcG9ydCBvcwotCi1pbXBvcnQgaHRtbDVsaWIKLWltcG9ydCBweXRlc3QK
LWZyb20gc2VsZW5pdW0gaW1wb3J0IHdlYmRyaXZlcgotCi1mcm9tIHdwdHNlcnZlciBpbXBvcnQg
V1BUU2VydmVyCi0KLUVOQyA9ICd1dGY4JwotSEVSRSA9IG9zLnBhdGguZGlybmFtZShvcy5wYXRo
LmFic3BhdGgoX19maWxlX18pKQotV1BUX1JPT1QgPSBvcy5wYXRoLm5vcm1wYXRoKG9zLnBhdGgu
am9pbihIRVJFLCAnLi4nLCAnLi4nKSkKLUhBUk5FU1MgPSBvcy5wYXRoLmpvaW4oSEVSRSwgJ2hh
cm5lc3MuaHRtbCcpCi0KLWRlZiBweXRlc3RfYWRkb3B0aW9uKHBhcnNlcik6Ci0gICAgcGFyc2Vy
LmFkZG9wdGlvbigiLS1iaW5hcnkiLCBhY3Rpb249InN0b3JlIiwgZGVmYXVsdD1Ob25lLCBoZWxw
PSJwYXRoIHRvIGJyb3dzZXIgYmluYXJ5IikKLQotZGVmIHB5dGVzdF9jb2xsZWN0X2ZpbGUocGF0
aCwgcGFyZW50KToKLSAgICBpZiBwYXRoLmV4dC5sb3dlcigpID09ICcuaHRtbCc6Ci0gICAgICAg
IHJldHVybiBIVE1MSXRlbShzdHIocGF0aCksIHBhcmVudCkKLQotZGVmIHB5dGVzdF9jb25maWd1
cmUoY29uZmlnKToKLSAgICBjb25maWcuZHJpdmVyID0gd2ViZHJpdmVyLkZpcmVmb3goZmlyZWZv
eF9iaW5hcnk9Y29uZmlnLmdldG9wdGlvbigiLS1iaW5hcnkiKSkKLSAgICBjb25maWcuc2VydmVy
ID0gV1BUU2VydmVyKFdQVF9ST09UKQotICAgIGNvbmZpZy5zZXJ2ZXIuc3RhcnQoKQotICAgIGNv
bmZpZy5hZGRfY2xlYW51cChsYW1iZGE6IGNvbmZpZy5zZXJ2ZXIuc3RvcCgpKQotICAgIGNvbmZp
Zy5hZGRfY2xlYW51cChsYW1iZGE6IGNvbmZpZy5kcml2ZXIucXVpdCgpKQotCi1jbGFzcyBIVE1M
SXRlbShweXRlc3QuSXRlbSwgcHl0ZXN0LkNvbGxlY3Rvcik6Ci0gICAgZGVmIF9faW5pdF9fKHNl
bGYsIGZpbGVuYW1lLCBwYXJlbnQpOgotICAgICAgICBzZWxmLmZpbGVuYW1lID0gZmlsZW5hbWUK
LSAgICAgICAgd2l0aCBpby5vcGVuKGZpbGVuYW1lLCBlbmNvZGluZz1FTkMpIGFzIGY6Ci0gICAg
ICAgICAgICBtYXJrdXAgPSBmLnJlYWQoKQotCi0gICAgICAgIHBhcnNlZCA9IGh0bWw1bGliLnBh
cnNlKG1hcmt1cCwgbmFtZXNwYWNlSFRNTEVsZW1lbnRzPUZhbHNlKQotICAgICAgICBuYW1lID0g
Tm9uZQotICAgICAgICBzZWxmLmV4cGVjdGVkID0gTm9uZQotCi0gICAgICAgIGZvciBlbGVtZW50
IGluIHBhcnNlZC5nZXRpdGVyYXRvcigpOgotICAgICAgICAgICAgaWYgbm90IG5hbWUgYW5kIGVs
ZW1lbnQudGFnID09ICd0aXRsZSc6Ci0gICAgICAgICAgICAgICAgbmFtZSA9IGVsZW1lbnQudGV4
dAotICAgICAgICAgICAgICAgIGNvbnRpbnVlCi0gICAgICAgICAgICBpZiBlbGVtZW50LmF0dHJp
Yi5nZXQoJ2lkJykgPT0gJ2V4cGVjdGVkJzoKLSAgICAgICAgICAgICAgICBzZWxmLmV4cGVjdGVk
ID0ganNvbi5sb2Fkcyh1bmljb2RlKGVsZW1lbnQudGV4dCkpCi0gICAgICAgICAgICAgICAgY29u
dGludWUKLQotICAgICAgICBpZiBub3QgbmFtZToKLSAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJy
b3IoJ05vIG5hbWUgZm91bmQgaW4gZmlsZTogJXMnICUgZmlsZW5hbWUpCi0KLSAgICAgICAgc3Vw
ZXIoSFRNTEl0ZW0sIHNlbGYpLl9faW5pdF9fKG5hbWUsIHBhcmVudCkKLQotCi0gICAgZGVmIHJl
cG9ydGluZm8oc2VsZik6Ci0gICAgICAgIHJldHVybiBzZWxmLmZzcGF0aCwgTm9uZSwgc2VsZi5m
aWxlbmFtZQotCi0gICAgZGVmIHJlcHJfZmFpbHVyZShzZWxmLCBleGNpbmZvKToKLSAgICAgICAg
cmV0dXJuIHB5dGVzdC5Db2xsZWN0b3IucmVwcl9mYWlsdXJlKHNlbGYsIGV4Y2luZm8pCi0KLSAg
ICBkZWYgcnVudGVzdChzZWxmKToKLSAgICAgICAgZHJpdmVyID0gc2VsZi5zZXNzaW9uLmNvbmZp
Zy5kcml2ZXIKLSAgICAgICAgc2VydmVyID0gc2VsZi5zZXNzaW9uLmNvbmZpZy5zZXJ2ZXIKLQot
ICAgICAgICBkcml2ZXIuZ2V0KHNlcnZlci51cmwoSEFSTkVTUykpCi0KLSAgICAgICAgYWN0dWFs
ID0gZHJpdmVyLmV4ZWN1dGVfYXN5bmNfc2NyaXB0KCdydW5UZXN0KCIlcyIsICJmb28iLCBhcmd1
bWVudHNbMF0pJyAlIHNlcnZlci51cmwoc3RyKHNlbGYuZmlsZW5hbWUpKSkKLQotICAgICAgICAj
IFRlc3Qgb2JqZWN0IG9yZGVyaW5nIGlzIG5vdCBndWFyYW50ZWVkLiBUaGlzIHdlYWsgYXNzZXJ0
aW9uIHZlcmlmaWVzCi0gICAgICAgICMgdGhhdCB0aGUgaW5kaWNlcyBhcmUgdW5pcXVlIGFuZCBz
ZXF1ZW50aWFsCi0gICAgICAgIGluZGljZXMgPSBbdGVzdF9vYmouZ2V0KCdpbmRleCcpIGZvciB0
ZXN0X29iaiBpbiBhY3R1YWxbJ3Rlc3RzJ11dCi0gICAgICAgIHNlbGYuX2Fzc2VydF9zZXF1ZW5j
ZShpbmRpY2VzKQotCi0gICAgICAgIHN1bW1hcml6ZWQgPSB7fQotICAgICAgICBzdW1tYXJpemVk
W3Unc3VtbWFyaXplZF9zdGF0dXMnXSA9IHNlbGYuX3N1bW1hcml6ZV9zdGF0dXMoYWN0dWFsWydz
dGF0dXMnXSkKLSAgICAgICAgc3VtbWFyaXplZFt1J3N1bW1hcml6ZWRfdGVzdHMnXSA9IFsKLSAg
ICAgICAgICAgIHNlbGYuX3N1bW1hcml6ZV90ZXN0KHRlc3QpIGZvciB0ZXN0IGluIGFjdHVhbFsn
dGVzdHMnXV0KLSAgICAgICAgc3VtbWFyaXplZFt1J3N1bW1hcml6ZWRfdGVzdHMnXS5zb3J0KGtl
eT1sYW1iZGEgdGVzdF9vYmo6IHRlc3Rfb2JqLmdldCgnbmFtZScpKQotICAgICAgICBzdW1tYXJp
emVkW3UndHlwZSddID0gYWN0dWFsWyd0eXBlJ10KLQotICAgICAgICBpZiBub3Qgc2VsZi5leHBl
Y3RlZDoKLSAgICAgICAgICAgIGFzc2VydCBzdW1tYXJpemVkW3Unc3VtbWFyaXplZF9zdGF0dXMn
XVt1J3N0YXR1c19zdHJpbmcnXSA9PSB1J09LJywgc3VtbWFyaXplZFt1J3N1bW1hcml6ZWRfc3Rh
dHVzJ11bdSdtZXNzYWdlJ10KLSAgICAgICAgICAgIGZvciB0ZXN0IGluIHN1bW1hcml6ZWRbdSdz
dW1tYXJpemVkX3Rlc3RzJ106Ci0gICAgICAgICAgICAgICAgbXNnID0gIiVzXG4lczpcbiVzIiAl
ICh0ZXN0W3UnbmFtZSddLCB0ZXN0W3UnbWVzc2FnZSddLCB0ZXN0W3Unc3RhY2snXSkKLSAgICAg
ICAgICAgICAgICBhc3NlcnQgdGVzdFt1J3N0YXR1c19zdHJpbmcnXSA9PSB1J1BBU1MnLCBtc2cK
LSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIGFzc2VydCBzdW1tYXJpemVkID09IHNlbGYuZXhw
ZWN0ZWQKLQotICAgIEBzdGF0aWNtZXRob2QKLSAgICBkZWYgX2Fzc2VydF9zZXF1ZW5jZShudW1z
KToKLSAgICAgICAgYXNzZXJ0IG51bXMgPT0gcmFuZ2UoMSwgbnVtc1stMV0gKyAxKQotCi0gICAg
QHN0YXRpY21ldGhvZAotICAgIGRlZiBfc2NydWJfc3RhY2sodGVzdF9vYmopOgotICAgICAgICBj
b3B5ID0gZGljdCh0ZXN0X29iaikKLQotICAgICAgICBhc3NlcnQgJ3N0YWNrJyBpbiBjb3B5Ci0K
LSAgICAgICAgaWYgY29weVsnc3RhY2snXSBpcyBub3QgTm9uZToKLSAgICAgICAgICAgIGNvcHlb
J3N0YWNrJ10gPSB1JyhpbXBsZW1lbnRhdGlvbi1kZWZpbmVkKScKLQotICAgICAgICByZXR1cm4g
Y29weQotCi0gICAgQHN0YXRpY21ldGhvZAotICAgIGRlZiBfZXhwYW5kX3N0YXR1cyhzdGF0dXNf
b2JqKToKLSAgICAgICAgZm9yIGtleSwgdmFsdWUgaW4gW2l0ZW0gZm9yIGl0ZW0gaW4gc3RhdHVz
X29iai5pdGVtcygpXToKLSAgICAgICAgICAgICMgSW4gInN0YXR1cyIgYW5kICJ0ZXN0IiBvYmpl
Y3RzLCB0aGUgInN0YXR1cyIgdmFsdWUgZW51bQotICAgICAgICAgICAgIyBkZWZpbml0aW9ucyBh
cmUgaW50ZXJzcGVyc2VkIHdpdGggcHJvcGVydGllcyBmb3IgdW5yZWxhdGVkCi0gICAgICAgICAg
ICAjIG1ldGFkYXRhLiBUaGUgZm9sbG93aW5nIGNvbmRpdGlvbiBpcyBhIGJlc3QtZWZmb3J0IGF0
dGVtcHQgdG8KLSAgICAgICAgICAgICMgaWdub3JlIG5vbi1lbnVtIHByb3BlcnRpZXMuCi0gICAg
ICAgICAgICBpZiBrZXkgIT0ga2V5LnVwcGVyKCkgb3Igbm90IGlzaW5zdGFuY2UodmFsdWUsIGlu
dCk6Ci0gICAgICAgICAgICAgICAgY29udGludWUKLQotICAgICAgICAgICAgZGVsIHN0YXR1c19v
Ympba2V5XQotCi0gICAgICAgICAgICBpZiBzdGF0dXNfb2JqWydzdGF0dXMnXSA9PSB2YWx1ZToK
LSAgICAgICAgICAgICAgICBzdGF0dXNfb2JqW3Unc3RhdHVzX3N0cmluZyddID0ga2V5Ci0KLSAg
ICAgICAgZGVsIHN0YXR1c19vYmpbJ3N0YXR1cyddCi0KLSAgICAgICAgcmV0dXJuIHN0YXR1c19v
YmoKLQotICAgIEBzdGF0aWNtZXRob2QKLSAgICBkZWYgX3N1bW1hcml6ZV90ZXN0KHRlc3Rfb2Jq
KToKLSAgICAgICAgZGVsIHRlc3Rfb2JqWydpbmRleCddCi0KLSAgICAgICAgYXNzZXJ0ICdwaGFz
ZScgaW4gdGVzdF9vYmoKLSAgICAgICAgYXNzZXJ0ICdwaGFzZXMnIGluIHRlc3Rfb2JqCi0gICAg
ICAgIGFzc2VydCAnQ09NUExFVEUnIGluIHRlc3Rfb2JqWydwaGFzZXMnXQotICAgICAgICBhc3Nl
cnQgdGVzdF9vYmpbJ3BoYXNlJ10gPT0gdGVzdF9vYmpbJ3BoYXNlcyddWydDT01QTEVURSddCi0g
ICAgICAgIGRlbCB0ZXN0X29ialsncGhhc2VzJ10KLSAgICAgICAgZGVsIHRlc3Rfb2JqWydwaGFz
ZSddCi0KLSAgICAgICAgcmV0dXJuIEhUTUxJdGVtLl9leHBhbmRfc3RhdHVzKEhUTUxJdGVtLl9z
Y3J1Yl9zdGFjayh0ZXN0X29iaikpCi0KLSAgICBAc3RhdGljbWV0aG9kCi0gICAgZGVmIF9zdW1t
YXJpemVfc3RhdHVzKHN0YXR1c19vYmopOgotICAgICAgICByZXR1cm4gSFRNTEl0ZW0uX2V4cGFu
ZF9zdGF0dXMoSFRNTEl0ZW0uX3NjcnViX3N0YWNrKHN0YXR1c19vYmopKQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVz
dC9oYXJuZXNzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy90ZXN0L2hhcm5lc3MuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggNWVlMGYyODVlODNiYzdjMTEwZGI2MWQzNTU0ZjJmMTg2YzIwNGVkZi4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L2hhcm5lc3MuaHRtbAorKysg
L2Rldi9udWxsCkBAIC0xLDI2ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci0gIDxo
ZWFkPgotICAgIDxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9o
dG1sOyBjaGFyc2V0PXV0Zi04Ij4KLSAgPC9oZWFkPgotICA8Ym9keT4KLSAgICA8c2NyaXB0Pgot
ZnVuY3Rpb24gcnVuVGVzdCh1cmwsIGlkLCBkb25lKSB7Ci0gIHZhciBjaGlsZDsKLQotICBmdW5j
dGlvbiBvbk1lc3NhZ2UoZXZlbnQpIHsKLSAgICBpZiAoIWV2ZW50LmRhdGEgfHwgZXZlbnQuZGF0
YS50eXBlICE9PSAnY29tcGxldGUnKSB7Ci0gICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgd2lu
ZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21lc3NhZ2UnLCBvbk1lc3NhZ2UpOwotICAgIGNoaWxk
LmNsb3NlKCk7Ci0gICAgZG9uZShldmVudC5kYXRhKTsKLSAgfQotICB3aW5kb3cuYWRkRXZlbnRM
aXN0ZW5lcignbWVzc2FnZScsIG9uTWVzc2FnZSk7Ci0KLSAgd2luZG93LmNoaWxkID0gY2hpbGQg
PSB3aW5kb3cub3Blbih1cmwsIGlkKTsKLX0KLSAgICA8L3NjcmlwdD4KLSAgPC9ib2R5PgotPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9hZGRfY2xlYW51cC5odG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9hZGRf
Y2xlYW51cC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkNDdlN2ZmMjRiNzc0
NTAyNWUzNDZhM2Y0NjRkMmE0ZjRmMTgxMDE4Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvYWRkX2NsZWFudXAuaHRtbAorKysgL2Rldi9udWxs
CkBAIC0xLDk2ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLTx0aXRs
ZT5UZXN0I2FkZF9jbGVhbnVwPC90aXRsZT4KLTxzY3JpcHQgc3JjPSIuLi8uLi90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08ZGl2IGlkPSJsb2ciPjwvZGl2PgotPHNjcmlw
dD4KLSJ1c2Ugc3RyaWN0IjsKLQotdmFyIGxvZ19zeW5jOwotdGVzdChmdW5jdGlvbih0KSB7Ci0g
IGxvZ19zeW5jID0gIiI7Ci0gIHQuYWRkX2NsZWFudXAoZnVuY3Rpb24oKSB7IGxvZ19zeW5jICs9
ICIxIjsgfSk7Ci0gIHQuYWRkX2NsZWFudXAoZnVuY3Rpb24oKSB7IGxvZ19zeW5jICs9ICIyIjsg
fSk7Ci0gIHQuYWRkX2NsZWFudXAoZnVuY3Rpb24oKSB7IGxvZ19zeW5jICs9ICIzIjsgfSk7Ci0g
IHQuYWRkX2NsZWFudXAoZnVuY3Rpb24oKSB7IGxvZ19zeW5jICs9ICI0IjsgfSk7Ci0gIHQuYWRk
X2NsZWFudXAoZnVuY3Rpb24oKSB7IGxvZ19zeW5jICs9ICI1IjsgfSk7Ci0gIGxvZ19zeW5jICs9
ICIwIjsKLX0sICJwcm9iZSBzeW5jaHJvbm91cyIpOwotCi10ZXN0KGZ1bmN0aW9uKCkgewotICBp
ZiAobG9nX3N5bmMgIT09ICIwMTIzNDUiKSB7Ci0gICAgdGhyb3cgbmV3IEVycm9yKCJFeHBlY3Rl
ZDogJzAxMjM0NScuIEFjdHVhbDogJyIgKyBsb2dfc3luYyArICInLiIpOwotICB9Ci19LCAiQ2xl
YW51cCBtZXRob2RzIGFyZSBpbnZva2VkIGV4YWN0bHkgb25jZSBhbmQgaW4gdGhlIGV4cGVjdGVk
IHNlcXVlbmNlLiIpOwotCi12YXIgY29tcGxldGUsIGxvZ19hc3luYzsKLWFzeW5jX3Rlc3QoZnVu
Y3Rpb24odCkgewotICBjb21wbGV0ZSA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKCkgewotICAgIGlm
IChsb2dfYXN5bmMgIT09ICIwMTIiKSB7Ci0gICAgICB0aHJvdyBuZXcgRXJyb3IoIkV4cGVjdGVk
OiAnMDEyJy4gQWN0dWFsOiAnIiArIGxvZ19hc3luYyArICInLiIpOwotICAgIH0KLQotICAgIHQu
ZG9uZSgpOwotICB9KTsKLX0sICJDbGVhbnVwIG1ldGhvZHMgYXJlIGludm9rZWQgZm9sbG93aW5n
IHRoZSBjb21wbGV0aW9uIG9mIGFzeW5jaHJvbm91cyB0ZXN0cyIpOwotCi1hc3luY190ZXN0KGZ1
bmN0aW9uKHQpIHsKLSAgbG9nX2FzeW5jID0gIiI7Ci0gIHQuYWRkX2NsZWFudXAoZnVuY3Rpb24o
KSB7IGxvZ19hc3luYyArPSAiMSI7IH0pOwotCi0gIHNldFRpbWVvdXQodC5zdGVwX2Z1bmMoZnVu
Y3Rpb24oKSB7Ci0gICAgdC5hZGRfY2xlYW51cChmdW5jdGlvbigpIHsKLSAgICAgIGxvZ19hc3lu
YyArPSAiMiI7Ci0gICAgICBjb21wbGV0ZSgpOwotICAgIH0pOwotICAgIGxvZ19hc3luYyArPSAi
MCI7Ci0gICAgdC5kb25lKCk7Ci0gIH0pLCAwKTsKLX0sICJwcm9iZSBhc3luY2hyb25vdXMiKTsK
LTwvc2NyaXB0PgotPHNjcmlwdCB0eXBlPSJ0ZXh0L2pzb24iIGlkPSJleHBlY3RlZCI+Ci17Ci0g
ICJzdW1tYXJpemVkX3N0YXR1cyI6IHsKLSAgICAic3RhdHVzX3N0cmluZyI6ICJPSyIsCi0gICAg
Im1lc3NhZ2UiOiBudWxsLAotICAgICJzdGFjayI6IG51bGwKLSAgfSwKLSAgInN1bW1hcml6ZWRf
dGVzdHMiOiBbCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAi
bmFtZSI6ICJDbGVhbnVwIG1ldGhvZHMgYXJlIGludm9rZWQgZXhhY3RseSBvbmNlIGFuZCBpbiB0
aGUgZXhwZWN0ZWQgc2VxdWVuY2UuIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAi
bWVzc2FnZSI6IG51bGwsCi0gICAgICAic3RhY2siOiBudWxsCi0gICAgfSwKLSAgICB7Ci0gICAg
ICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1lIjogIkNsZWFudXAgbWV0aG9k
cyBhcmUgaW52b2tlZCBmb2xsb3dpbmcgdGhlIGNvbXBsZXRpb24gb2YgYXN5bmNocm9ub3VzIHRl
c3RzIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6IG51bGwsCi0g
ICAgICAic3RhY2siOiBudWxsCi0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6
ICJQQVNTIiwKLSAgICAgICJuYW1lIjogInByb2JlIGFzeW5jaHJvbm91cyIsCi0gICAgICAicHJv
cGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgInN0YWNrIjogbnVs
bAotICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAi
bmFtZSI6ICJwcm9iZSBzeW5jaHJvbm91cyIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAg
ICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgInN0YWNrIjogbnVsbAotICAgIH0KLSAgXSwKLSAg
InR5cGUiOiAiY29tcGxldGUiCi19Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3Rlc3QvdGVzdHMvYWRkX2NsZWFudXBfY291bnQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvYWRkX2NsZWFu
dXBfY291bnQuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTA3OWM5Yjg3OWJi
Mzc0NGJjZTM1MTk3NGMyZDQzMDIxYzUyNGFhMy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2FkZF9jbGVhbnVwX2NvdW50Lmh0bWwKKysrIC9k
ZXYvbnVsbApAQCAtMSw0MSArMCwwIEBACi08IURPQ1RZUEUgSFRNTD4KLTxodG1sPgotPGhlYWQ+
Ci08dGl0bGU+VGVzdCNhZGRfY2xlYW51cCByZXBvcnRlZCBjb3VudDwvdGl0bGU+Ci08c2NyaXB0
IHNyYz0iLi4vLi4vdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4u
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGRpdiBp
ZD0ibG9nIj48L2Rpdj4KLQotPHNjcmlwdD4KLXByb21pc2VfdGVzdChmdW5jdGlvbih0KSB7Ci0g
ICAgdC5hZGRfY2xlYW51cChmdW5jdGlvbigpIHt9KTsKLSAgICB0LmFkZF9jbGVhbnVwKGZ1bmN0
aW9uKCkge30pOwotICAgIHQuYWRkX2NsZWFudXAoZnVuY3Rpb24oKSB7IHRocm93IG5ldyBFcnJv
cigpOyB9KTsKLSAgICBuZXcgRXZlbnRXYXRjaGVyKHQsIGRvY3VtZW50LmJvZHksIFtdKTsKLQot
ICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTsKLX0sICd0ZXN0IHdpdGggMyB1c2VyLWRlZmlu
ZWQgY2xlYW51cCBmdW5jdGlvbnMnKTsKLTwvc2NyaXB0PgotPHNjcmlwdCB0eXBlPSJ0ZXh0L2pz
b24iIGlkPSJleHBlY3RlZCI+Ci17Ci0gICJzdW1tYXJpemVkX3N0YXR1cyI6IHsKLSAgICAic3Rh
dHVzX3N0cmluZyI6ICJFUlJPUiIsCi0gICAgIm1lc3NhZ2UiOiAiVGVzdCBuYW1lZCAndGVzdCB3
aXRoIDMgdXNlci1kZWZpbmVkIGNsZWFudXAgZnVuY3Rpb25zJyBzcGVjaWZpZWQgMyAnY2xlYW51
cCcgZnVuY3Rpb25zLCBhbmQgMSBmYWlsZWQuIiwKLSAgICAic3RhY2siOiBudWxsCi0gIH0sCi0g
ICJzdW1tYXJpemVkX3Rlc3RzIjogWwotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBB
U1MiLAotICAgICAgIm5hbWUiOiAidGVzdCB3aXRoIDMgdXNlci1kZWZpbmVkIGNsZWFudXAgZnVu
Y3Rpb25zIiwKLSAgICAgICJzdGFjayI6IG51bGwsCi0gICAgICAibWVzc2FnZSI6IG51bGwsCi0g
ICAgICAicHJvcGVydGllcyI6IHt9Ci0gICAgfQotICBdLAotICAidHlwZSI6ICJjb21wbGV0ZSIK
LX0KLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9hZGRf
Y2xlYW51cF9lcnIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvYWRkX2NsZWFudXBfZXJyLmh0bWwKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY2ZWZiMDc3MzM3MzlkNTY5NjhkZGE5ODdlM2FiZmI3MDFi
MGYxOTcuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90
ZXN0cy9hZGRfY2xlYW51cF9lcnIuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDQ4ICswLDAgQEAK
LTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLTx0aXRsZT5UZXN0I2FkZF9jbGVhbnVw
OiBlcnJvcjwvdGl0bGU+Ci08c2NyaXB0IHNyYz0iLi4vLi4vdGVzdGhhcm5lc3MuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
LTwvaGVhZD4KLTxib2R5PgotPGRpdiBpZD0ibG9nIj48L2Rpdj4KLTxzY3JpcHQ+Ci0idXNlIHN0
cmljdCI7Ci0KLXRlc3QoZnVuY3Rpb24odCkgewotICB0LmFkZF9jbGVhbnVwKGZ1bmN0aW9uKCkg
ewotICAgIHRocm93IG5ldyBFcnJvcignZXhjZXB0aW9uIGluIGNsZWFudXAgZnVuY3Rpb24nKTsK
LSAgfSk7Ci19LCAiRXhjZXB0aW9uIGluIGNsZWFudXAgZnVuY3Rpb24gY2F1c2VzIGhhcm5lc3Mg
ZmFpbHVyZS4iKTsKLQotdGVzdChmdW5jdGlvbigpIHt9LCAiVGhpcyB0ZXN0IHNob3VsZCBub3Qg
YmUgcnVuLiIpOwotPC9zY3JpcHQ+Ci08c2NyaXB0IHR5cGU9InRleHQvanNvbiIgaWQ9ImV4cGVj
dGVkIj4KLXsKLSAgInN1bW1hcml6ZWRfc3RhdHVzIjogewotICAgICJzdGF0dXNfc3RyaW5nIjog
IkVSUk9SIiwKLSAgICAibWVzc2FnZSI6ICJUZXN0IG5hbWVkICdFeGNlcHRpb24gaW4gY2xlYW51
cCBmdW5jdGlvbiBjYXVzZXMgaGFybmVzcyBmYWlsdXJlLicgc3BlY2lmaWVkIDEgJ2NsZWFudXAn
IGZ1bmN0aW9uLCBhbmQgMSBmYWlsZWQuIiwKLSAgICAic3RhY2siOiBudWxsCi0gIH0sCi0gICJz
dW1tYXJpemVkX3Rlc3RzIjogWwotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1Mi
LAotICAgICAgIm5hbWUiOiAiRXhjZXB0aW9uIGluIGNsZWFudXAgZnVuY3Rpb24gY2F1c2VzIGhh
cm5lc3MgZmFpbHVyZS4iLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdl
IjogbnVsbCwKLSAgICAgICJzdGFjayI6IG51bGwKLSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0
dXNfc3RyaW5nIjogIk5PVFJVTiIsCi0gICAgICAibmFtZSI6ICJUaGlzIHRlc3Qgc2hvdWxkIG5v
dCBiZSBydW4uIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6IG51
bGwsCi0gICAgICAic3RhY2siOiBudWxsCi0gICAgfQotICBdLAotICAidHlwZSI6ICJjb21wbGV0
ZSIKLX0KLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9h
ZGRfY2xlYW51cF9lcnJfbXVsdGkuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvYWRkX2NsZWFudXBfZXJyX211bHRp
Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGI2MDY2OGMwMjkwOGJkODYxN2U3
OGFlOTQyMDYwNTgyN2IwZGJiNzYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvdGVzdC90ZXN0cy9hZGRfY2xlYW51cF9lcnJfbXVsdGkuaHRtbAorKysgL2Rldi9u
dWxsCkBAIC0xLDU1ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLTx0
aXRsZT5UZXN0I2FkZF9jbGVhbnVwOiBtdWx0aXBsZSBmdW5jdGlvbnMgd2l0aCBvbmUgaW4gZXJy
b3I8L3RpdGxlPgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIuLi8uLi90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08L2hl
YWQ+Ci08Ym9keT4KLTxkaXYgaWQ9ImxvZyI+PC9kaXY+Ci0KLTxzY3JpcHQ+Ci0idXNlIHN0cmlj
dCI7Ci0KLXRlc3QoZnVuY3Rpb24odCkgewotICAgIHQuYWRkX2NsZWFudXAoZnVuY3Rpb24oKSB7
Ci0gICAgICB0aHJvdyBuZXcgRXJyb3IoImV4Y2VwdGlvbiBpbiBjbGVhbnVwIGZ1bmN0aW9uIik7
Ci0gICAgfSk7Ci0KLSAgICAvLyBUaGUgZm9sbG93aW5nIGNsZWFudXAgZnVuY3Rpb24gZGVmaW5l
cyBhIHRlc3Qgc28gdGhhdCB0aGUgcmVwb3J0ZWQKLSAgICAvLyBkYXRhIGRlbW9uc3RyYXRlcyB0
aGUgaW50ZW5kZWQgcnVuLXRpbWUgYmVoYXZpb3IsIGkuZS4gdGhhdAotICAgIC8vIGB0ZXN0aGFy
bmVzcy5qc2AgaW52b2tlcyBhbGwgY2xlYW51cCBmdW5jdGlvbnMgZXZlbiB3aGVuIG9uZSBvciBt
b3JlCi0gICAgLy8gdGhyb3cgZXJyb3JzLgotICAgIHQuYWRkX2NsZWFudXAoZnVuY3Rpb24oKSB7
Ci0gICAgICB0ZXN0KGZ1bmN0aW9uKCkge30sICJWZXJpZmljYXRpb24gdGVzdCIpOwotICAgIH0p
OwotICB9LCAiVGVzdCB3aXRoIG11bHRpcGxlIGNsZWFudXAgZnVuY3Rpb25zIik7Ci08L3Njcmlw
dD4KLTxzY3JpcHQgdHlwZT0idGV4dC9qc29uIiBpZD0iZXhwZWN0ZWQiPgotewotICAic3VtbWFy
aXplZF9zdGF0dXMiOiB7Ci0gICAgInN0YXR1c19zdHJpbmciOiAiRVJST1IiLAotICAgICJtZXNz
YWdlIjogIlRlc3QgbmFtZWQgJ1Rlc3Qgd2l0aCBtdWx0aXBsZSBjbGVhbnVwIGZ1bmN0aW9ucycg
c3BlY2lmaWVkIDIgJ2NsZWFudXAnIGZ1bmN0aW9ucywgYW5kIDEgZmFpbGVkLiIsCi0gICAgInN0
YWNrIjogbnVsbAotICB9LAotICAic3VtbWFyaXplZF90ZXN0cyI6IFsKLSAgICB7Ci0gICAgICAi
c3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1lIjogIlRlc3Qgd2l0aCBtdWx0aXBs
ZSBjbGVhbnVwIGZ1bmN0aW9ucyIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1l
c3NhZ2UiOiBudWxsLAotICAgICAgInN0YWNrIjogbnVsbAotICAgIH0sCi0gICAgewotICAgICAg
InN0YXR1c19zdHJpbmciOiAiTk9UUlVOIiwKLSAgICAgICJuYW1lIjogIlZlcmlmaWNhdGlvbiB0
ZXN0IiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6IG51bGwsCi0g
ICAgICAic3RhY2siOiBudWxsCi0gICAgfQotICBdLAotICAidHlwZSI6ICJjb21wbGV0ZSIKLX0K
LTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9hcGktdGVz
dHMtMS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvdGVzdC90ZXN0cy9hcGktdGVzdHMtMS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCA1M2Q5MWM0NzlhMmM3YWEyZGRiNzZkZGVkNGNlZjI1OTBkYzNmZTE1Li4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvYXBpLXRl
c3RzLTEuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDQ2MiArMCwwIEBACi08IURPQ1RZUEUgSFRN
TD4NCi08aHRtbD4NCi08aGVhZD4NCi08dGl0bGU+U2FtcGxlIEhUTUw1IEFQSSBUZXN0czwvdGl0
bGU+DQotPG1ldGEgbmFtZT0idGltZW91dCIgY29udGVudD0iNjAwMCI+DQotPC9oZWFkPg0KLTxi
b2R5IG9ubG9hZD0ibG9hZF90ZXN0X2F0dHIuZG9uZSgpIj4NCi08aDE+U2FtcGxlIEhUTUw1IEFQ
SSBUZXN0czwvaDE+DQotPGRpdiBpZD0ibG9nIj48L2Rpdj4NCi08c2NyaXB0IHNyYz0iLi4vLi4v
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pg0KLTxzY3JpcHQgc3JjPSIuLi8uLi90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+DQotPHNjcmlwdD4NCi0gICAgc2V0dXBfcnVuID0gZmFsc2U7
DQotICAgIHNldHVwKGZ1bmN0aW9uKCkgew0KLSAgICAgICAgICAgIHNldHVwX3J1biA9IHRydWU7
DQotICAgICAgICAgIH0pOw0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkge2Fzc2VydF90cnVlKHNldHVw
X3J1bil9LCAiU2V0dXAgZnVuY3Rpb24gcmFuIik7DQotDQotICAgIC8vIFR3byBleGFtcGxlcyBm
b3IgdGVzdGluZyBldmVudHMgZnJvbSBoYW5kbGVyIGFuZCBhdHRyaWJ1dGVzDQotICAgIHZhciBs
b2FkX3Rlc3RfZXZlbnQgPSBhc3luY190ZXN0KCJ3aW5kb3cgb25sb2FkIGV2ZW50IGZpcmVzIHdo
ZW4gc2V0IGZyb20gdGhlIGhhbmRsZXIiKTsNCi0NCi0gICAgZnVuY3Rpb24gd2luZG93TG9hZCgp
DQotICAgIHsNCi0gICAgICAgIGxvYWRfdGVzdF9ldmVudC5kb25lKCk7DQotICAgIH0NCi0gICAg
b25fZXZlbnQod2luZG93LCAibG9hZCIsIHdpbmRvd0xvYWQpOw0KLQ0KLSAgICAvLyBzZWUgdGhl
IGJvZHkgb25sb2FkIGJlbG93DQotICAgIHZhciBsb2FkX3Rlc3RfYXR0ciA9IGFzeW5jX3Rlc3Qo
ImJvZHkgZWxlbWVudCBmaXJlcyB0aGUgb25sb2FkIGV2ZW50IHNldCBmcm9tIHRoZSBhdHRyaWJ1
dGUiKTsNCi08L3NjcmlwdD4NCi08c2NyaXB0Pg0KLSAgICBmdW5jdGlvbiBib2R5RWxlbWVudCgp
DQotICAgIHsNCi0gICAgICAgIGFzc2VydF9lcXVhbHMoZG9jdW1lbnQuYm9keSwgZG9jdW1lbnQu
Z2V0RWxlbWVudHNCeVRhZ05hbWUoImJvZHkiKVswXSk7DQotICAgIH0NCi0gICAgdGVzdChib2R5
RWxlbWVudCwgImRvY3VtZW50LmJvZHkgc2hvdWxkIGJlIHRoZSBmaXJzdCBib2R5IGVsZW1lbnQg
aW4gdGhlIGRvY3VtZW50Iik7DQotDQotICAgIHRlc3QoZnVuY3Rpb24oKSB7DQotICAgICAgICBh
c3NlcnRfZXF1YWxzKDEsMSk7DQotICAgICAgICBhc3NlcnRfZXF1YWxzKE5hTiwgTmFOLCAiTmFO
IGNhc2UiKTsNCi0gICAgICAgIGFzc2VydF9lcXVhbHMoMCwgMCwgIlplcm8gY2FzZSIpOw0KLSAg
ICB9LCAiYXNzZXJ0X2VxdWFscyB0ZXN0cyIpDQotDQotICAgIHRlc3QoZnVuY3Rpb24oKSB7DQot
ICAgICAgICBhc3NlcnRfZXF1YWxzKC0wLCAwLCAiWmVybyBjYXNlIik7DQotICAgIH0sICJhc3Nl
cnRfZXF1YWxzIHRlc3RzIGV4cGVjdGVkIHRvIGZhaWwiKQ0KLQ0KLSAgICB0ZXN0KGZ1bmN0aW9u
KCkgew0KLSAgICAgICAgYXNzZXJ0X25vdF9lcXVhbHMoe30sIHt9LCAib2JqZWN0IGNhc2UiKTsN
Ci0gICAgICAgIGFzc2VydF9ub3RfZXF1YWxzKC0wLCAwLCAiWmVybyBjYXNlIik7DQotICAgIH0s
ICJhc3NlcnRfbm90X2VxdWFscyB0ZXN0cyIpDQotDQotICAgIGZ1bmN0aW9uIHRlc3RBc3NlcnRQ
YXNzKCkNCi0gICAgew0KLSAgICAgICAgYXNzZXJ0X3RydWUodHJ1ZSk7DQotICAgIH0NCi0gICAg
dGVzdCh0ZXN0QXNzZXJ0UGFzcywgImFzc2VydF90cnVlIGV4cGVjdGVkIHRvIHBhc3MiKTsNCi0N
Ci0gICAgZnVuY3Rpb24gdGVzdEFzc2VydEZhbHNlKCkNCi0gICAgew0KLSAgICAgICAgYXNzZXJ0
X3RydWUoZmFsc2UsICJmYWxzZSBzaG91bGQgbm90IGJlIHRydWUiKTsNCi0gICAgfQ0KLSAgICB0
ZXN0KHRlc3RBc3NlcnRGYWxzZSwgImFzc2VydF90cnVlIGV4cGVjdGVkIHRvIGZhaWwiKTsNCi0N
Ci0gICAgZnVuY3Rpb24gYmFzaWNBc3NlcnRBcnJheUVxdWFscygpDQotICAgIHsNCi0gICAgICAg
IGFzc2VydF9hcnJheV9lcXVhbHMoWzEsIE5hTl0sIFsxLCBOYU5dLCAiWzEsIE5hTl0gaXMgZXF1
YWwgdG8gWzEsIE5hTl0iKTsNCi0gICAgfQ0KLSAgICB0ZXN0KGJhc2ljQXNzZXJ0QXJyYXlFcXVh
bHMsICJiYXNpYyBhc3NlcnRfYXJyYXlfZXF1YWxzIHRlc3QiKTsNCi0NCi0gICAgZnVuY3Rpb24g
YXNzZXJ0QXJyYXlFcXVhbHNVbmRlZmluZWQoKQ0KLSAgICB7DQotICAgICAgICBhc3NlcnRfYXJy
YXlfZXF1YWxzKHVuZGVmaW5lZCwgWzFdLCAidW5kZWZpbmVkIGVxdWFscyBbMV0/Iik7DQotICAg
IH0NCi0gICAgdGVzdChhc3NlcnRBcnJheUVxdWFsc1VuZGVmaW5lZCwgImFzc2VydF9hcnJheV9l
cXVhbHMgd2l0aCBmaXJzdCBwYXJhbSB1bmRlZmluZWQiKTsNCi0NCi0gICAgZnVuY3Rpb24gYXNz
ZXJ0QXJyYXlFcXVhbHNUcnVlKCkNCi0gICAgew0KLSAgICAgICAgYXNzZXJ0X2FycmF5X2VxdWFs
cyh0cnVlLCBbMV0sICJ0cnVlIGVxdWFscyBbMV0/Iik7DQotICAgIH0NCi0gICAgdGVzdChhc3Nl
cnRBcnJheUVxdWFsc1RydWUsICJhc3NlcnRfYXJyYXlfZXF1YWxzIHdpdGggZmlyc3QgcGFyYW0g
dHJ1ZSIpOw0KLQ0KLSAgICBmdW5jdGlvbiBhc3NlcnRBcnJheUVxdWFsc0ZhbHNlKCkNCi0gICAg
ew0KLSAgICAgICAgYXNzZXJ0X2FycmF5X2VxdWFscyhmYWxzZSwgWzFdLCAiZmFsc2UgZXF1YWxz
IFsxXT8iKTsNCi0gICAgfQ0KLSAgICB0ZXN0KGFzc2VydEFycmF5RXF1YWxzRmFsc2UsICJhc3Nl
cnRfYXJyYXlfZXF1YWxzIHdpdGggZmlyc3QgcGFyYW0gZmFsc2UiKTsNCi0NCi0gICAgZnVuY3Rp
b24gYXNzZXJ0QXJyYXlFcXVhbHNOdWxsKCkNCi0gICAgew0KLSAgICAgICAgYXNzZXJ0X2FycmF5
X2VxdWFscyhudWxsLCBbMV0sICJudWxsIGVxdWFscyBbMV0/Iik7DQotICAgIH0NCi0gICAgdGVz
dChhc3NlcnRBcnJheUVxdWFsc051bGwsICJhc3NlcnRfYXJyYXlfZXF1YWxzIHdpdGggZmlyc3Qg
cGFyYW0gbnVsbCIpOw0KLQ0KLSAgICBmdW5jdGlvbiBhc3NlcnRBcnJheUVxdWFsc051bWVyaWMo
KQ0KLSAgICB7DQotICAgICAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKDEsIFsxXSwgIjEgZXF1YWxz
IFsxXT8iKTsNCi0gICAgfQ0KLSAgICB0ZXN0KGFzc2VydEFycmF5RXF1YWxzTnVtZXJpYywgImFz
c2VydF9hcnJheV9lcXVhbHMgd2l0aCBmaXJzdCBwYXJhbSAxIik7DQotDQotICAgIGZ1bmN0aW9u
IGJhc2ljQXNzZXJ0T2JqZWN0RXF1YWxzKCkNCi0gICAgew0KLSAgICAgICAgYXNzZXJ0X29iamVj
dF9lcXVhbHMoWzEsIDIsIFsxLCAyXV0sIHsgMDogMSwgMTogMiwgMjogeyAwOiAxLCAxOiAyfSB9
LCAiYXJyYXkgaXMgZXF1YWwgdG8gb2JqZWN0IikNCi0gICAgfQ0KLSAgICB0ZXN0KGJhc2ljQXNz
ZXJ0T2JqZWN0RXF1YWxzLCAiYmFzaWMgYXNzZXJ0X29iamVjdF9lcXVhbHMgdGVzdCIpOw0KLQ0K
LSAgICBmdW5jdGlvbiBiYXNpY0Fzc2VydEFycmF5QXBwcm94RXF1YWxzKCkNCi0gICAgew0KLSAg
ICAgICAgYXNzZXJ0X2FycmF5X2FwcHJveF9lcXVhbHMoWzEwLCAxMV0sIFsxMSwgMTBdLCAxLCAi
WzEwLCAxMV0gaXMgYXBwcm94aW1hdGVseSAoKy8tIDEpIFsxMSwgMTBdIikNCi0gICAgfQ0KLSAg
ICB0ZXN0KGJhc2ljQXNzZXJ0QXJyYXlBcHByb3hFcXVhbHMsICJiYXNpYyBhc3NlcnRfYXJyYXlf
YXBwcm94X2VxdWFscyB0ZXN0Iik7DQotDQotICAgIGZ1bmN0aW9uIGJhc2ljQXNzZXJ0QXBwcm94
RXF1YWxzKCkNCi0gICAgew0KLSAgICAgICAgYXNzZXJ0X2FwcHJveF9lcXVhbHMoMTAsIDExLCAx
LCAiMTAgaXMgYXBwcm94aW1hdGVseSAoKy8tIDEpIDExIikNCi0gICAgfQ0KLSAgICB0ZXN0KGJh
c2ljQXNzZXJ0QXBwcm94RXF1YWxzLCAiYmFzaWMgYXNzZXJ0X2FwcHJveF9lcXVhbHMgdGVzdCIp
Ow0KLQ0KLSAgICBmdW5jdGlvbiBiYXNpY0Fzc2VydExlc3NUaGFuKCkNCi0gICAgew0KLSAgICAg
ICAgYXNzZXJ0X2xlc3NfdGhhbigxMCwgMTEsICIxMCBpcyBsZXNzIHRoYW4gMTEiKQ0KLSAgICB9
DQotICAgIHRlc3QoYmFzaWNBc3NlcnRBcHByb3hFcXVhbHMsICJiYXNpYyBhc3NlcnRfbGVzc190
aGFuIHRlc3QiKTsNCi0NCi0gICAgZnVuY3Rpb24gYmFzaWNBc3NlcnRHcmVhdGVyVGhhbigpDQot
ICAgIHsNCi0gICAgICAgIGFzc2VydF9ncmVhdGVyX3RoYW4oMTAsIDExLCAiMTAgaXMgbm90IGdy
ZWF0ZXIgdGhhbiAxMSIpOw0KLSAgICB9DQotICAgIHRlc3QoYmFzaWNBc3NlcnRHcmVhdGVyVGhh
biwgImFzc2VydF9ncmVhdGVyX3RoYW4gZXhwZWN0ZWQgdG8gZmFpbCIpOw0KLQ0KLSAgICBmdW5j
dGlvbiBiYXNpY0Fzc2VydEdyZWF0ZXJUaGFuRXF1YWwoKQ0KLSAgICB7DQotICAgICAgICBhc3Nl
cnRfZ3JlYXRlcl90aGFuX2VxdWFsKDEwLCAxMCwgIjEwIGlzIGdyZWF0ZXIgdGhhbiBvciBlcXVh
bCB0byAxMCIpDQotICAgIH0NCi0gICAgdGVzdChiYXNpY0Fzc2VydEdyZWF0ZXJUaGFuRXF1YWws
ICJiYXNpYyBhc3NlcnRfZ3JlYXRlcl90aGFuX2VxdWFsIHRlc3QiKTsNCi0NCi0gICAgZnVuY3Rp
b24gYmFzaWNBc3NlcnRMZXNzVGhhbkVxdWFsKCkNCi0gICAgew0KLSAgICAgICAgYXNzZXJ0X2dy
ZWF0ZXJfdGhhbl9lcXVhbCgnMTAnLCAxMCwgIicxMCcgaXMgbm90IGEgbnVtYmVyIikNCi0gICAg
fQ0KLSAgICB0ZXN0KGJhc2ljQXNzZXJ0TGVzc1RoYW5FcXVhbCwgImFzc2VydF9sZXNzX3RoYW5f
ZXF1YWwgZXhwZWN0ZWQgdG8gZmFpbCIpOw0KLQ0KLSAgICBmdW5jdGlvbiB0ZXN0QXNzZXJ0SW5o
ZXJpdHMoKSB7DQotICAgICAgICB2YXIgQSA9IGZ1bmN0aW9uKCl7dGhpcy5hID0gImEifQ0KLSAg
ICAgICAgQS5wcm90b3R5cGUgPSB7YjoiYiJ9DQotICAgICAgICB2YXIgYSA9IG5ldyBBKCk7DQot
ICAgICAgICBhc3NlcnRfZXhpc3RzKGEsICJhIik7DQotICAgICAgICBhc3NlcnRfbm90X2V4aXN0
cyhhLCAiYiIpOw0KLSAgICAgICAgYXNzZXJ0X2luaGVyaXRzKGEsICJiIik7DQotICAgIH0NCi0g
ICAgdGVzdCh0ZXN0QXNzZXJ0SW5oZXJpdHMsICJ0ZXN0IGZvciBhc3NlcnRbX25vdF1fZXhpc3Rz
IGFuZCBpbnNlcnRfaW5oZXJpdHMiKQ0KLQ0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkNCi0gICAgew0K
LSAgICAgICAgdmFyIGEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJhIikNCi0gICAgICAgIHZh
ciBiID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYiIpDQotICAgICAgICBhc3NlcnRfdGhyb3dz
KCJOT1RfRk9VTkRfRVJSIiwgZnVuY3Rpb24gKCkge2EucmVtb3ZlQ2hpbGQoYil9KTsNCi0gICAg
fSwgIlRlc3QgdGhyb3cgRE9NIGV4Y2VwdGlvbiIpDQotDQotICAgIHRlc3QoZnVuY3Rpb24oKQ0K
LSAgICB7DQotICAgICAgICB2YXIgYSA9IGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCJhIikNCi0g
ICAgICAgIHZhciBiID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYiIpDQotICAgICAgICBhc3Nl
cnRfdGhyb3dzKCJOT1RfRk9VTkRfRVJSIiwgZnVuY3Rpb24gKCkge2EuYXBwZW5kQ2hpbGQoYil9
KTsNCi0gICAgfSwgIlRlc3QgdGhyb3cgRE9NIGV4Y2VwdGlvbiBleHBlY3RlZCB0byBmYWlsIikN
Ci0NCi0gICAgdGVzdChmdW5jdGlvbigpDQotICAgIHsNCi0gICAgICAgIHZhciBlID0ge2NvZGU6
MCwgbmFtZToiVEVTVF9FUlIiLCBURVNUX0VSUjowfQ0KLSAgICAgICAgYXNzZXJ0X3Rocm93cygi
VEVTVF9FUlIiLCBmdW5jdGlvbigpIHt0aHJvdyBlfSk7DQotICAgIH0sICJUZXN0IGFzc2VydF90
aHJvd3Mgd2l0aCBub24tRE9NLWV4Y2VwdGlvbiBleHBlY3RlZCB0byBGYWlsIik7DQotDQotICAg
IHZhciB0ID0gYXN5bmNfdGVzdCgiVGVzdCBzdGVwX2Z1bmMiKQ0KLSAgICBzZXRUaW1lb3V0KA0K
LSAgICAgIHQuc3RlcF9mdW5jKA0KLSAgICAgICAgZnVuY3Rpb24gKCkgew0KLSAgICAgICAgICBh
c3NlcnRfdHJ1ZSh0cnVlKTsgdC5kb25lKCk7DQotICAgICAgICB9KSwgMCk7DQotDQotICAgIGFz
eW5jX3Rlc3QoZnVuY3Rpb24odCkgew0KLSAgICAgICAgc2V0VGltZW91dCh0LnN0ZXBfZnVuYyhm
dW5jdGlvbiAoKXthc3NlcnRfdHJ1ZSh0cnVlKTsgdC5kb25lKCk7fSksIDApOw0KLSAgICB9LCAi
VGVzdCBhc3luYyB0ZXN0IHdpdGggY2FsbGJhY2siKTsNCi0NCi0gICAgYXN5bmNfdGVzdChmdW5j
dGlvbigpIHsNCi0gICAgICAgIHNldFRpbWVvdXQodGhpcy5zdGVwX2Z1bmMoZnVuY3Rpb24gKCl7
YXNzZXJ0X3RydWUodHJ1ZSk7IHRoaXMuZG9uZSgpO30pLCAwKTsNCi0gICAgfSwgIlRlc3QgYXN5
bmMgdGVzdCB3aXRoIGNhbGxiYWNrIGFuZCBgdGhpc2Agb2JqLiIpOw0KLQ0KLSAgICBhc3luY190
ZXN0KCJ0ZXN0IHNob3VsZCB0aW1lb3V0IChmYWlsKSB3aXRoIHRoZSBkZWZhdWx0IG9mIDIgc2Vj
b25kcyIpLnN0ZXAoZnVuY3Rpb24oKXt9KTsNCi0NCi0gICAgYXN5bmNfdGVzdCgidGVzdCBzaG91
bGQgdGltZW91dCAoZmFpbCkgd2l0aCBhIGN1c3RvbSBzZXQgdGltZW91dCB2YWx1ZSBvZiAxIHNl
Y29uZCIsDQotICAgICAgICAgICAgICAge3RpbWVvdXQ6MTAwMH0pLnN0ZXAoZnVuY3Rpb24oKXt9
KTsNCi0NCi0gICAgYXN5bmNfdGVzdCgiYXN5bmMgdGVzdCB0aGF0IGlzIG5ldmVyIHN0YXJ0ZWQs
IHNob3VsZCBoYXZlIHN0YXR1cyBOb3QgUnVuIiwge3RpbWVvdXQ6MTAwMH0pOw0KLQ0KLQ0KLSAg
ICB0ZXN0KGZ1bmN0aW9uKHQpIHsNCi0gICAgICAgICAgICAgd2luZG93Lmdsb2JhbCA9IDE7DQot
ICAgICAgICAgICAgIHQuYWRkX2NsZWFudXAoZnVuY3Rpb24oKSB7ZGVsZXRlIHdpbmRvdy5nbG9i
YWx9KTsNCi0gICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyh3aW5kb3cuZ2xvYmFsLCAxKTsNCi0g
ICAgICAgICB9LA0KLSAgICAgICAgICJUZXN0IHRoYXQgZGVmaW5lcyBhIGdsb2JhbCBhbmQgY2xl
YW5zIGl0IHVwIik7DQotDQotICAgIHRlc3QoZnVuY3Rpb24oKSB7YXNzZXJ0X2VxdWFscyh3aW5k
b3cuZ2xvYmFsLCB1bmRlZmluZWQpfSwNCi0gICAgICAgICAiVGVzdCB0aGF0IGNsZWFudXAgaGFu
ZGxlcnMgZnJvbSBwcmV2aW91cyB0ZXN0IHJhbiIpOw0KLQ0KLTwvc2NyaXB0Pg0KLTxzY3JpcHQg
dHlwZT0idGV4dC9qc29uIiBpZD0iZXhwZWN0ZWQiPg0KLXsNCi0gICJzdW1tYXJpemVkX3N0YXR1
cyI6IHsNCi0gICAgInN0YXR1c19zdHJpbmciOiAiVElNRU9VVCIsDQotICAgICJtZXNzYWdlIjog
bnVsbCwNCi0gICAgInN0YWNrIjogbnVsbA0KLSAgfSwNCi0gICJzdW1tYXJpemVkX3Rlc3RzIjog
Ww0KLSAgICB7DQotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsIA0KLSAgICAgICJuYW1l
IjogIlNldHVwIGZ1bmN0aW9uIHJhbiIsIA0KLSAgICAgICJzdGFjayI6IG51bGwsIA0KLSAgICAg
ICJtZXNzYWdlIjogbnVsbCwgDQotICAgICAgInByb3BlcnRpZXMiOiB7fQ0KLSAgICB9LCANCi0g
ICAgew0KLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIkZBSUwiLCANCi0gICAgICAibmFtZSI6ICJU
ZXN0IGFzc2VydF90aHJvd3Mgd2l0aCBub24tRE9NLWV4Y2VwdGlvbiBleHBlY3RlZCB0byBGYWls
IiwgDQotICAgICAgInN0YWNrIjogIihpbXBsZW1lbnRhdGlvbi1kZWZpbmVkKSIsIA0KLSAgICAg
ICJtZXNzYWdlIjogIlRlc3QgYnVnOiB1bnJlY29nbml6ZWQgRE9NRXhjZXB0aW9uIGNvZGUgXCJU
RVNUX0VSUlwiIHBhc3NlZCB0byBhc3NlcnRfdGhyb3dzKCkiLCANCi0gICAgICAicHJvcGVydGll
cyI6IHt9DQotICAgIH0sIA0KLSAgICB7DQotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIs
IA0KLSAgICAgICJuYW1lIjogIlRlc3QgYXN5bmMgdGVzdCB3aXRoIGNhbGxiYWNrIiwgDQotICAg
ICAgInN0YWNrIjogbnVsbCwgDQotICAgICAgIm1lc3NhZ2UiOiBudWxsLCANCi0gICAgICAicHJv
cGVydGllcyI6IHt9DQotICAgIH0sIA0KLSAgICB7DQotICAgICAgInN0YXR1c19zdHJpbmciOiAi
UEFTUyIsIA0KLSAgICAgICJuYW1lIjogIlRlc3QgYXN5bmMgdGVzdCB3aXRoIGNhbGxiYWNrIGFu
ZCBgdGhpc2Agb2JqLiIsIA0KLSAgICAgICJzdGFjayI6IG51bGwsIA0KLSAgICAgICJtZXNzYWdl
IjogbnVsbCwgDQotICAgICAgInByb3BlcnRpZXMiOiB7fQ0KLSAgICB9LCANCi0gICAgew0KLSAg
ICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLCANCi0gICAgICAibmFtZSI6ICJUZXN0IHN0ZXBf
ZnVuYyIsIA0KLSAgICAgICJzdGFjayI6IG51bGwsIA0KLSAgICAgICJtZXNzYWdlIjogbnVsbCwg
DQotICAgICAgInByb3BlcnRpZXMiOiB7fQ0KLSAgICB9LCANCi0gICAgew0KLSAgICAgICJzdGF0
dXNfc3RyaW5nIjogIlBBU1MiLCANCi0gICAgICAibmFtZSI6ICJUZXN0IHRoYXQgY2xlYW51cCBo
YW5kbGVycyBmcm9tIHByZXZpb3VzIHRlc3QgcmFuIiwgDQotICAgICAgInN0YWNrIjogbnVsbCwg
DQotICAgICAgIm1lc3NhZ2UiOiBudWxsLCANCi0gICAgICAicHJvcGVydGllcyI6IHt9DQotICAg
IH0sIA0KLSAgICB7DQotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsIA0KLSAgICAgICJu
YW1lIjogIlRlc3QgdGhhdCBkZWZpbmVzIGEgZ2xvYmFsIGFuZCBjbGVhbnMgaXQgdXAiLCANCi0g
ICAgICAic3RhY2siOiBudWxsLCANCi0gICAgICAibWVzc2FnZSI6IG51bGwsIA0KLSAgICAgICJw
cm9wZXJ0aWVzIjoge30NCi0gICAgfSwgDQotICAgIHsNCi0gICAgICAic3RhdHVzX3N0cmluZyI6
ICJQQVNTIiwgDQotICAgICAgIm5hbWUiOiAiVGVzdCB0aHJvdyBET00gZXhjZXB0aW9uIiwgDQot
ICAgICAgInN0YWNrIjogbnVsbCwgDQotICAgICAgIm1lc3NhZ2UiOiBudWxsLCANCi0gICAgICAi
cHJvcGVydGllcyI6IHt9DQotICAgIH0sIA0KLSAgICB7DQotICAgICAgInN0YXR1c19zdHJpbmci
OiAiRkFJTCIsIA0KLSAgICAgICJuYW1lIjogIlRlc3QgdGhyb3cgRE9NIGV4Y2VwdGlvbiBleHBl
Y3RlZCB0byBmYWlsIiwgDQotICAgICAgInN0YWNrIjogIihpbXBsZW1lbnRhdGlvbi1kZWZpbmVk
KSIsIA0KLSAgICAgICJtZXNzYWdlIjogImFzc2VydF90aHJvd3M6IGZ1bmN0aW9uIFwiZnVuY3Rp
b24gKCkge2EuYXBwZW5kQ2hpbGQoYil9XCIgdGhyZXcgb2JqZWN0IFwiSGllcmFyY2h5UmVxdWVz
dEVycm9yOiBOb2RlIGNhbm5vdCBiZSBpbnNlcnRlZCBhdCB0aGUgc3BlY2lmaWVkIHBvaW50IGlu
IHRoZSBoaWVyYXJjaHlcIiB0aGF0IGlzIG5vdCBhIERPTUV4Y2VwdGlvbiBOT1RfRk9VTkRfRVJS
OiBwcm9wZXJ0eSBcImNvZGVcIiBpcyBlcXVhbCB0byAzLCBleHBlY3RlZCA4IiwgDQotICAgICAg
InByb3BlcnRpZXMiOiB7fQ0KLSAgICB9LCANCi0gICAgew0KLSAgICAgICJzdGF0dXNfc3RyaW5n
IjogIkZBSUwiLCANCi0gICAgICAibmFtZSI6ICJhc3NlcnRfYXJyYXlfZXF1YWxzIHdpdGggZmly
c3QgcGFyYW0gMSIsIA0KLSAgICAgICJzdGFjayI6ICIoaW1wbGVtZW50YXRpb24tZGVmaW5lZCki
LCANCi0gICAgICAibWVzc2FnZSI6ICJhc3NlcnRfYXJyYXlfZXF1YWxzOiAxIGVxdWFscyBbMV0/
IHZhbHVlIGlzIDEsIGV4cGVjdGVkIGFycmF5IiwgDQotICAgICAgInByb3BlcnRpZXMiOiB7fQ0K
LSAgICB9LCANCi0gICAgew0KLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIkZBSUwiLCANCi0gICAg
ICAibmFtZSI6ICJhc3NlcnRfYXJyYXlfZXF1YWxzIHdpdGggZmlyc3QgcGFyYW0gZmFsc2UiLCAN
Ci0gICAgICAic3RhY2siOiAiKGltcGxlbWVudGF0aW9uLWRlZmluZWQpIiwgDQotICAgICAgIm1l
c3NhZ2UiOiAiYXNzZXJ0X2FycmF5X2VxdWFsczogZmFsc2UgZXF1YWxzIFsxXT8gdmFsdWUgaXMg
ZmFsc2UsIGV4cGVjdGVkIGFycmF5IiwgDQotICAgICAgInByb3BlcnRpZXMiOiB7fQ0KLSAgICB9
LCANCi0gICAgew0KLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIkZBSUwiLCANCi0gICAgICAibmFt
ZSI6ICJhc3NlcnRfYXJyYXlfZXF1YWxzIHdpdGggZmlyc3QgcGFyYW0gbnVsbCIsIA0KLSAgICAg
ICJzdGFjayI6ICIoaW1wbGVtZW50YXRpb24tZGVmaW5lZCkiLCANCi0gICAgICAibWVzc2FnZSI6
ICJhc3NlcnRfYXJyYXlfZXF1YWxzOiBudWxsIGVxdWFscyBbMV0/IHZhbHVlIGlzIG51bGwsIGV4
cGVjdGVkIGFycmF5IiwgDQotICAgICAgInByb3BlcnRpZXMiOiB7fQ0KLSAgICB9LCANCi0gICAg
ew0KLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIkZBSUwiLCANCi0gICAgICAibmFtZSI6ICJhc3Nl
cnRfYXJyYXlfZXF1YWxzIHdpdGggZmlyc3QgcGFyYW0gdHJ1ZSIsIA0KLSAgICAgICJzdGFjayI6
ICIoaW1wbGVtZW50YXRpb24tZGVmaW5lZCkiLCANCi0gICAgICAibWVzc2FnZSI6ICJhc3NlcnRf
YXJyYXlfZXF1YWxzOiB0cnVlIGVxdWFscyBbMV0/IHZhbHVlIGlzIHRydWUsIGV4cGVjdGVkIGFy
cmF5IiwgDQotICAgICAgInByb3BlcnRpZXMiOiB7fQ0KLSAgICB9LCANCi0gICAgew0KLSAgICAg
ICJzdGF0dXNfc3RyaW5nIjogIkZBSUwiLCANCi0gICAgICAibmFtZSI6ICJhc3NlcnRfYXJyYXlf
ZXF1YWxzIHdpdGggZmlyc3QgcGFyYW0gdW5kZWZpbmVkIiwgDQotICAgICAgInN0YWNrIjogIihp
bXBsZW1lbnRhdGlvbi1kZWZpbmVkKSIsIA0KLSAgICAgICJtZXNzYWdlIjogImFzc2VydF9hcnJh
eV9lcXVhbHM6IHVuZGVmaW5lZCBlcXVhbHMgWzFdPyB2YWx1ZSBpcyB1bmRlZmluZWQsIGV4cGVj
dGVkIGFycmF5IiwgDQotICAgICAgInByb3BlcnRpZXMiOiB7fQ0KLSAgICB9LCANCi0gICAgew0K
LSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLCANCi0gICAgICAibmFtZSI6ICJhc3NlcnRf
ZXF1YWxzIHRlc3RzIiwgDQotICAgICAgInN0YWNrIjogbnVsbCwgDQotICAgICAgIm1lc3NhZ2Ui
OiBudWxsLCANCi0gICAgICAicHJvcGVydGllcyI6IHt9DQotICAgIH0sIA0KLSAgICB7DQotICAg
ICAgInN0YXR1c19zdHJpbmciOiAiRkFJTCIsIA0KLSAgICAgICJuYW1lIjogImFzc2VydF9lcXVh
bHMgdGVzdHMgZXhwZWN0ZWQgdG8gZmFpbCIsIA0KLSAgICAgICJzdGFjayI6ICIoaW1wbGVtZW50
YXRpb24tZGVmaW5lZCkiLCANCi0gICAgICAibWVzc2FnZSI6ICJhc3NlcnRfZXF1YWxzOiBaZXJv
IGNhc2UgZXhwZWN0ZWQgMCBidXQgZ290IC0wIiwgDQotICAgICAgInByb3BlcnRpZXMiOiB7fQ0K
LSAgICB9LCANCi0gICAgew0KLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIkZBSUwiLCANCi0gICAg
ICAibmFtZSI6ICJhc3NlcnRfZ3JlYXRlcl90aGFuIGV4cGVjdGVkIHRvIGZhaWwiLCANCi0gICAg
ICAic3RhY2siOiAiKGltcGxlbWVudGF0aW9uLWRlZmluZWQpIiwgDQotICAgICAgIm1lc3NhZ2Ui
OiAiYXNzZXJ0X2dyZWF0ZXJfdGhhbjogMTAgaXMgbm90IGdyZWF0ZXIgdGhhbiAxMSBleHBlY3Rl
ZCBhIG51bWJlciBncmVhdGVyIHRoYW4gMTEgYnV0IGdvdCAxMCIsIA0KLSAgICAgICJwcm9wZXJ0
aWVzIjoge30NCi0gICAgfSwgDQotICAgIHsNCi0gICAgICAic3RhdHVzX3N0cmluZyI6ICJGQUlM
IiwgDQotICAgICAgIm5hbWUiOiAiYXNzZXJ0X2xlc3NfdGhhbl9lcXVhbCBleHBlY3RlZCB0byBm
YWlsIiwgDQotICAgICAgInN0YWNrIjogIihpbXBsZW1lbnRhdGlvbi1kZWZpbmVkKSIsIA0KLSAg
ICAgICJtZXNzYWdlIjogImFzc2VydF9ncmVhdGVyX3RoYW5fZXF1YWw6ICcxMCcgaXMgbm90IGEg
bnVtYmVyIGV4cGVjdGVkIGEgbnVtYmVyIGJ1dCBnb3QgYSBcInN0cmluZ1wiIiwgDQotICAgICAg
InByb3BlcnRpZXMiOiB7fQ0KLSAgICB9LCANCi0gICAgew0KLSAgICAgICJzdGF0dXNfc3RyaW5n
IjogIlBBU1MiLCANCi0gICAgICAibmFtZSI6ICJhc3NlcnRfbm90X2VxdWFscyB0ZXN0cyIsIA0K
LSAgICAgICJzdGFjayI6IG51bGwsIA0KLSAgICAgICJtZXNzYWdlIjogbnVsbCwgDQotICAgICAg
InByb3BlcnRpZXMiOiB7fQ0KLSAgICB9LCANCi0gICAgew0KLSAgICAgICJzdGF0dXNfc3RyaW5n
IjogIkZBSUwiLCANCi0gICAgICAibmFtZSI6ICJhc3NlcnRfdHJ1ZSBleHBlY3RlZCB0byBmYWls
IiwgDQotICAgICAgInN0YWNrIjogIihpbXBsZW1lbnRhdGlvbi1kZWZpbmVkKSIsIA0KLSAgICAg
ICJtZXNzYWdlIjogImFzc2VydF90cnVlOiBmYWxzZSBzaG91bGQgbm90IGJlIHRydWUgZXhwZWN0
ZWQgdHJ1ZSBnb3QgZmFsc2UiLCANCi0gICAgICAicHJvcGVydGllcyI6IHt9DQotICAgIH0sIA0K
LSAgICB7DQotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsIA0KLSAgICAgICJuYW1lIjog
ImFzc2VydF90cnVlIGV4cGVjdGVkIHRvIHBhc3MiLCANCi0gICAgICAic3RhY2siOiBudWxsLCAN
Ci0gICAgICAibWVzc2FnZSI6IG51bGwsIA0KLSAgICAgICJwcm9wZXJ0aWVzIjoge30NCi0gICAg
fSwgDQotICAgIHsNCi0gICAgICAic3RhdHVzX3N0cmluZyI6ICJOT1RSVU4iLCANCi0gICAgICAi
bmFtZSI6ICJhc3luYyB0ZXN0IHRoYXQgaXMgbmV2ZXIgc3RhcnRlZCwgc2hvdWxkIGhhdmUgc3Rh
dHVzIE5vdCBSdW4iLCANCi0gICAgICAic3RhY2siOiBudWxsLCANCi0gICAgICAibWVzc2FnZSI6
IG51bGwsIA0KLSAgICAgICJwcm9wZXJ0aWVzIjogew0KLSAgICAgICAgInRpbWVvdXQiOiAxMDAw
DQotICAgICAgfQ0KLSAgICB9LCANCi0gICAgew0KLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBB
U1MiLA0KLSAgICAgICJuYW1lIjogImJhc2ljIGFzc2VydF9hcHByb3hfZXF1YWxzIHRlc3QiLA0K
LSAgICAgICJzdGFjayI6IG51bGwsDQotICAgICAgIm1lc3NhZ2UiOiBudWxsLA0KLSAgICAgICJw
cm9wZXJ0aWVzIjoge30NCi0gICAgfSwNCi0gICAgew0KLSAgICAgICJzdGF0dXNfc3RyaW5nIjog
IlBBU1MiLA0KLSAgICAgICJuYW1lIjogImJhc2ljIGFzc2VydF9hcnJheV9hcHByb3hfZXF1YWxz
IHRlc3QiLA0KLSAgICAgICJzdGFjayI6IG51bGwsDQotICAgICAgIm1lc3NhZ2UiOiBudWxsLA0K
LSAgICAgICJwcm9wZXJ0aWVzIjoge30NCi0gICAgfSwNCi0gICAgew0KLSAgICAgICJzdGF0dXNf
c3RyaW5nIjogIlBBU1MiLCANCi0gICAgICAibmFtZSI6ICJiYXNpYyBhc3NlcnRfYXJyYXlfZXF1
YWxzIHRlc3QiLCANCi0gICAgICAic3RhY2siOiBudWxsLCANCi0gICAgICAibWVzc2FnZSI6IG51
bGwsIA0KLSAgICAgICJwcm9wZXJ0aWVzIjoge30NCi0gICAgfSwgDQotICAgIHsNCi0gICAgICAi
c3RhdHVzX3N0cmluZyI6ICJQQVNTIiwgDQotICAgICAgIm5hbWUiOiAiYmFzaWMgYXNzZXJ0X2dy
ZWF0ZXJfdGhhbl9lcXVhbCB0ZXN0IiwgDQotICAgICAgInN0YWNrIjogbnVsbCwgDQotICAgICAg
Im1lc3NhZ2UiOiBudWxsLCANCi0gICAgICAicHJvcGVydGllcyI6IHt9DQotICAgIH0sIA0KLSAg
ICB7DQotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsIA0KLSAgICAgICJuYW1lIjogImJh
c2ljIGFzc2VydF9sZXNzX3RoYW4gdGVzdCIsIA0KLSAgICAgICJzdGFjayI6IG51bGwsIA0KLSAg
ICAgICJtZXNzYWdlIjogbnVsbCwgDQotICAgICAgInByb3BlcnRpZXMiOiB7fQ0KLSAgICB9LCAN
Ci0gICAgew0KLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLCANCi0gICAgICAibmFtZSI6
ICJiYXNpYyBhc3NlcnRfb2JqZWN0X2VxdWFscyB0ZXN0IiwgDQotICAgICAgInN0YWNrIjogbnVs
bCwgDQotICAgICAgIm1lc3NhZ2UiOiBudWxsLCANCi0gICAgICAicHJvcGVydGllcyI6IHt9DQot
ICAgIH0sIA0KLSAgICB7DQotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsIA0KLSAgICAg
ICJuYW1lIjogImJvZHkgZWxlbWVudCBmaXJlcyB0aGUgb25sb2FkIGV2ZW50IHNldCBmcm9tIHRo
ZSBhdHRyaWJ1dGUiLCANCi0gICAgICAic3RhY2siOiBudWxsLCANCi0gICAgICAibWVzc2FnZSI6
IG51bGwsIA0KLSAgICAgICJwcm9wZXJ0aWVzIjoge30NCi0gICAgfSwgDQotICAgIHsNCi0gICAg
ICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwgDQotICAgICAgIm5hbWUiOiAiZG9jdW1lbnQuYm9k
eSBzaG91bGQgYmUgdGhlIGZpcnN0IGJvZHkgZWxlbWVudCBpbiB0aGUgZG9jdW1lbnQiLCANCi0g
ICAgICAic3RhY2siOiBudWxsLCANCi0gICAgICAibWVzc2FnZSI6IG51bGwsIA0KLSAgICAgICJw
cm9wZXJ0aWVzIjoge30NCi0gICAgfSwgDQotICAgIHsNCi0gICAgICAic3RhdHVzX3N0cmluZyI6
ICJQQVNTIiwgDQotICAgICAgIm5hbWUiOiAidGVzdCBmb3IgYXNzZXJ0W19ub3RdX2V4aXN0cyBh
bmQgaW5zZXJ0X2luaGVyaXRzIiwgDQotICAgICAgInN0YWNrIjogbnVsbCwgDQotICAgICAgIm1l
c3NhZ2UiOiBudWxsLCANCi0gICAgICAicHJvcGVydGllcyI6IHt9DQotICAgIH0sIA0KLSAgICB7
DQotICAgICAgInN0YXR1c19zdHJpbmciOiAiVElNRU9VVCIsIA0KLSAgICAgICJuYW1lIjogInRl
c3Qgc2hvdWxkIHRpbWVvdXQgKGZhaWwpIHdpdGggYSBjdXN0b20gc2V0IHRpbWVvdXQgdmFsdWUg
b2YgMSBzZWNvbmQiLCANCi0gICAgICAic3RhY2siOiBudWxsLCANCi0gICAgICAibWVzc2FnZSI6
ICJUZXN0IHRpbWVkIG91dCIsIA0KLSAgICAgICJwcm9wZXJ0aWVzIjogew0KLSAgICAgICAgInRp
bWVvdXQiOiAxMDAwDQotICAgICAgfQ0KLSAgICB9LCANCi0gICAgew0KLSAgICAgICJzdGF0dXNf
c3RyaW5nIjogIlRJTUVPVVQiLCANCi0gICAgICAibmFtZSI6ICJ0ZXN0IHNob3VsZCB0aW1lb3V0
IChmYWlsKSB3aXRoIHRoZSBkZWZhdWx0IG9mIDIgc2Vjb25kcyIsIA0KLSAgICAgICJzdGFjayI6
IG51bGwsIA0KLSAgICAgICJtZXNzYWdlIjogIlRlc3QgdGltZWQgb3V0IiwgDQotICAgICAgInBy
b3BlcnRpZXMiOiB7fQ0KLSAgICB9LCANCi0gICAgew0KLSAgICAgICJzdGF0dXNfc3RyaW5nIjog
IlBBU1MiLCANCi0gICAgICAibmFtZSI6ICJ3aW5kb3cgb25sb2FkIGV2ZW50IGZpcmVzIHdoZW4g
c2V0IGZyb20gdGhlIGhhbmRsZXIiLCANCi0gICAgICAic3RhY2siOiBudWxsLCANCi0gICAgICAi
bWVzc2FnZSI6IG51bGwsIA0KLSAgICAgICJwcm9wZXJ0aWVzIjoge30NCi0gICAgfQ0KLSAgXSwN
Ci0gICJ0eXBlIjogImNvbXBsZXRlIg0KLX0NCi08L3NjcmlwdD4NCi08L2JvZHk+DQotPC9odG1s
Pg0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvYXBpLXRlc3RzLTIuaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvYXBpLXRl
c3RzLTIuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTlmYTViZTljODU5ZTE0
MmI1OWMxMmNhZDg5ZGRmMjk2OWNkOTI4OS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2FwaS10ZXN0cy0yLmh0bWwKKysrIC9kZXYvbnVsbApA
QCAtMSw0NyArMCwwIEBACi08IURPQ1RZUEUgSFRNTD4KLTxodG1sPgotPGhlYWQ+Ci08dGl0bGU+
U2FtcGxlIEhUTUw1IEFQSSBUZXN0czwvdGl0bGU+Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9Imxv
YWRfdGVzdF9hdHRyLmRvbmUoKSI+Ci08aDE+U2FtcGxlIEhUTUw1IEFQSSBUZXN0czwvaDE+Ci08
cD5UaGVyZSBzaG91bGQgYmUgdHdvIHJlc3VsdHM8L3A+Ci08ZGl2IGlkPSJsb2ciPjwvZGl2Pgot
PHNjcmlwdCBzcmM9Ii4uLy4uL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIuLi8uLi90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0Pgotc2V0dXAo
e2V4cGxpY2l0X2RvbmU6dHJ1ZX0pCi10ZXN0KGZ1bmN0aW9uKCkge2Fzc2VydF90cnVlKHRydWUp
fSwgIlRlc3QgZGVmaW5lZCBiZWZvcmUgb25sb2FkIik7Ci0KLW9ubG9hZCA9IGZ1bmN0aW9uKCkg
e3Rlc3QoZnVuY3Rpb24gKCl7YXNzZXJ0X3RydWUodHJ1ZSl9LCAiVGVzdCBkZWZpbmVkIGFmdGVy
IG9ubG9hZCIpOwotZG9uZSgpOwotfQotPC9zY3JpcHQ+Ci08c2NyaXB0IHR5cGU9InRleHQvanNv
biIgaWQ9ImV4cGVjdGVkIj4KLXsKLSAgInN1bW1hcml6ZWRfc3RhdHVzIjogewotICAgICJzdGF0
dXNfc3RyaW5nIjogIk9LIiwKLSAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgInN0YWNrIjogbnVs
bAotICB9LAotICAic3VtbWFyaXplZF90ZXN0cyI6IFsKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0
cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1lIjogIlRlc3QgZGVmaW5lZCBhZnRlciBvbmxvYWQi
LAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAg
ICJzdGFjayI6IG51bGwKLSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBB
U1MiLAotICAgICAgIm5hbWUiOiAiVGVzdCBkZWZpbmVkIGJlZm9yZSBvbmxvYWQiLAotICAgICAg
InByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICJzdGFjayI6
IG51bGwKLSAgICB9Ci0gIF0sCi0gICJ0eXBlIjogImNvbXBsZXRlIgotfQotPC9zY3JpcHQ+Ci08
L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2FwaS10ZXN0cy0zLmh0bWwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0
L3Rlc3RzL2FwaS10ZXN0cy0zLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGZi
NTcxYzhlZTg1NzA4Zjc2N2FlMjQyMTY2Yzg1MmM0MWQzODlmYzcuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9hcGktdGVzdHMtMy5odG1sCisr
KyAvZGV2L251bGwKQEAgLTEsMzYgKzAsMCBAQAotPCFET0NUWVBFIEhUTUw+Ci08aHRtbD4KLTxo
ZWFkPgotPHRpdGxlPlNhbXBsZSBIVE1MNSBBUEkgVGVzdHM8L3RpdGxlPgotPC9oZWFkPgotPHNj
cmlwdCBzcmM9Ii4uLy4uL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLQotPGJvZHkgb25sb2Fk
PSJsb2FkX3Rlc3RfYXR0ci5kb25lKCkiPgotPGgxPlNhbXBsZSBIVE1MNSBBUEkgVGVzdHM8L2gx
PgotPGRpdiBpZD0ibG9nIj48L2Rpdj4KLTxzY3JpcHQ+Ci1zZXR1cCh7ZXhwbGljaXRfdGltZW91
dDp0cnVlfSk7Ci12YXIgdCA9IGFzeW5jX3Rlc3QoIlRoaXMgdGVzdCBzaG91bGQgZ2l2ZSBhIHN0
YXR1cyBvZiAnTm90IFJ1bicgd2l0aG91dCBhIGRlbGF5Iik7Ci10aW1lb3V0KCk7Ci08L3Njcmlw
dD4KLTxzY3JpcHQgdHlwZT0idGV4dC9qc29uIiBpZD0iZXhwZWN0ZWQiPgotewotICAic3VtbWFy
aXplZF9zdGF0dXMiOiB7Ci0gICAgInN0YXR1c19zdHJpbmciOiAiVElNRU9VVCIsCi0gICAgIm1l
c3NhZ2UiOiBudWxsLAotICAgICJzdGFjayI6IG51bGwKLSAgfSwKLSAgInN1bW1hcml6ZWRfdGVz
dHMiOiBbCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiTk9UUlVOIiwKLSAgICAgICJu
YW1lIjogIlRoaXMgdGVzdCBzaG91bGQgZ2l2ZSBhIHN0YXR1cyBvZiAnTm90IFJ1bicgd2l0aG91
dCBhIGRlbGF5IiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6IG51
bGwsCi0gICAgICAic3RhY2siOiBudWxsCi0gICAgfQotICBdLAotICAidHlwZSI6ICJjb21wbGV0
ZSIKLX0KLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9n
ZW5lcmF0ZS1jYWxsYmFjay5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9nZW5lcmF0ZS1jYWxsYmFjay5odG1sCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhNzJhZDYyYTU5ZjU0MmE0YzE1OTUwODMxNWEz
NWU2NDgxYjBmOTc0Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3Rlc3QvdGVzdHMvZ2VuZXJhdGUtY2FsbGJhY2suaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDE2
NyArMCwwIEBACi08IURPQ1RZUEUgSFRNTD4KLTxodG1sPgotPGhlYWQ+Ci08dGl0bGU+U2FtcGxl
IGZvciB1c2luZyBnZW5lcmF0ZV90ZXN0cyB0byBjcmVhdGUgYSBzZXJpZXMgb2YgdGVzdHMgdGhh
dCBzaGFyZSB0aGUgc2FtZSBjYWxsYmFjay48L3RpdGxlPgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxzY3JpcHQ+Ci0vLyBnZW5lcmF0
ZV90ZXN0cyB0YWtlcyBhbiBhcnJheSBvZiBhcnJheXMgdGhhdCBkZWZpbmUgdGVzdHMKLS8vIGJ1
dCBsZXRzIHBhc3MgaXQgYW4gZW1wdHkgYXJyYXkgYW5kIHZlcmlmeSBpdCBkb2VzIG5vdGhpbmcu
Ci1mdW5jdGlvbiBudWxsX2NhbGxiYWNrKCkgewotCXRocm93ICJudWxsX2NhbGxiYWNrIHNob3Vs
ZCBub3QgYmUgY2FsbGVkLiI7Ci19Ci1nZW5lcmF0ZV90ZXN0cyhudWxsX2NhbGxiYWNrLCBbXSk7
Ci0KLS8vIEdlbmVyYXRlIDMgdGVzdHMgc3BlY2lmeWluZyB0aGUgbmFtZSBhbmQgb25lIHBhcmFt
ZXRlcgotZnVuY3Rpb24gdmFsaWRhdGVfYXJndW1lbnRzKGFyZzEpIHsKLQlhc3NlcnRfZXF1YWxz
KGFyZzEsIDEsICJFbnN1cmUgdGhhdCB3ZSBnZXQgb3VyIGV4cGVjdGVkIGFyZ3VtZW50Iik7Ci19
Ci1nZW5lcmF0ZV90ZXN0cyh2YWxpZGF0ZV9hcmd1bWVudHMsIFsKLQlbImZpcnN0IHRlc3QiLCAx
XSwKLQlbInNlY29uZCB0ZXN0IiwgMV0sCi0JWyJ0aGlyZCB0ZXN0IiwgMV0sCi1dKTsKLQotLy8g
R2VuZXJhdGUgYSB0ZXN0IHBhc3NpbmcgaW4gYSBwcm9wZXJ0aWVzIG9iamVjdCB0aGF0IGlzIHNo
YXJlZCBhY3Jvc3MgdGVzdHMuCi1mdW5jdGlvbiB2YWxpZGF0ZV9wcm9wZXJ0aWVzKCkgewotCWFz
c2VydF90cnVlKHRoaXMucHJvcGVydGllcy5zZW50aW5lbCwgIkVuc3VyZSB0aGF0IHdlIGdvdCB0
aGUgcmlnaHQgcHJvcGVydGllcyBvYmplY3QuIik7Ci19Ci1nZW5lcmF0ZV90ZXN0cyh2YWxpZGF0
ZV9wcm9wZXJ0aWVzLCBbWyJzZW50aW5lbCBjaGVjayAxIl0sIFsic2VudGluZWwgY2hlY2sgMiJd
XSwge3NlbnRpbmVsOiB0cnVlfSk7Ci0KLS8vIEdlbmVyYXRlIGEgdGVzdCBwYXNzaW5nIGluIGEg
cHJvcGVydGllcyBvYmplY3QgdGhhdCBpcyBzaGFyZWQgYWNyb3NzIHRlc3RzLgotZnVuY3Rpb24g
dmFsaWRhdGVfc2VwYXJhdGVfcHJvcGVydGllcygpIHsKLQlpZiAodGhpcy5uYW1lID09PSAic2Vu
dGluZWwgY2hlY2sgMSB1bmlxdWUgcHJvcGVydGllcyIpIHsKLQkJYXNzZXJ0X3RydWUodGhpcy5w
cm9wZXJ0aWVzLnNlbnRpbmVsLCAiRW5zdXJlIHRoYXQgd2UgZ290IHRoZSByaWdodCBwcm9wZXJ0
aWVzIG9iamVjdC4gRXhwZWN0IHNlbnRpbmVsOiB0cnVlLiIpOwotCX0KLQllbHNlIHsKLQkJYXNz
ZXJ0X2ZhbHNlKHRoaXMucHJvcGVydGllcy5zZW50aW5lbCwgIkVuc3VyZSB0aGF0IHdlIGdvdCB0
aGUgcmlnaHQgcHJvcGVydGllcyBvYmplY3QuIEV4cGVjdCBzZW50aW5lbDogZmFsc2UuIik7Ci0J
fQotfQotZ2VuZXJhdGVfdGVzdHModmFsaWRhdGVfc2VwYXJhdGVfcHJvcGVydGllcywgW1sic2Vu
dGluZWwgY2hlY2sgMSB1bmlxdWUgcHJvcGVydGllcyJdLCBbInNlbnRpbmVsIGNoZWNrIDIgdW5p
cXVlIHByb3BlcnRpZXMiXV0sIFt7c2VudGluZWw6IHRydWV9LCB7c2VudGluZWw6IGZhbHNlfV0p
OwotCi0vLyBGaW5hbGx5IGdlbmVyYXRlIGEgY29tcGxpY2F0ZWQgc2V0IG9mIHRlc3RzIGZyb20g
YW5vdGhlciBkYXRhIHNvdXJjZQotdmFyIGxldHRlcnMgPSBbImEiLCAiYiIsICJjIiwgImQiLCAi
ZSIsICJmIl07Ci12YXIgbnVtYmVycyA9IFswLCAxLCAyLCAzLCA0LCA1XTsKLWZ1bmN0aW9uIHZh
bGlkYXRlX3JlbGF0ZWRfYXJndW1lbnRzKGFyZzEsIGFyZzIpIHsKLQlhc3NlcnRfZXF1YWxzKGFy
ZzEuY2hhckNvZGVBdCgwKSAtICJhIi5jaGFyQ29kZUF0KDApLCBhcmcyLCAiRW5zdXJlIHRoYXQg
d2UgY2FuIG1hcCBsZXR0ZXJzIHRvIG51bWJlcnMuIik7Ci19Ci1mdW5jdGlvbiBmb3JtYXRfYXNf
dGVzdChsZXR0ZXIsIGluZGV4LCBsZXR0ZXJzKSB7Ci0JcmV0dXJuIFsiVGVzdCB0byBtYXAgIiAr
IGxldHRlciArICIgdG8gIiArIG51bWJlcnNbaW5kZXhdLCBsZXR0ZXIsIG51bWJlcnNbaW5kZXhd
XTsKLX0KLWdlbmVyYXRlX3Rlc3RzKHZhbGlkYXRlX3JlbGF0ZWRfYXJndW1lbnRzLCBsZXR0ZXJz
Lm1hcChmb3JtYXRfYXNfdGVzdCkpOwotPC9zY3JpcHQ+Ci08c2NyaXB0IHR5cGU9InRleHQvanNv
biIgaWQ9ImV4cGVjdGVkIj4KLXsKLSAgInN1bW1hcml6ZWRfc3RhdHVzIjogewotICAgICJzdGF0
dXNfc3RyaW5nIjogIk9LIiwKLSAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgInN0YWNrIjogbnVs
bAotICB9LAotICAic3VtbWFyaXplZF90ZXN0cyI6IFsKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0
cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1lIjogIlRlc3QgdG8gbWFwIGEgdG8gMCIsCi0gICAg
ICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgInN0YWNr
IjogbnVsbAotICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0g
ICAgICAibmFtZSI6ICJUZXN0IHRvIG1hcCBiIHRvIDEiLAotICAgICAgInByb3BlcnRpZXMiOiB7
fSwKLSAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICJzdGFjayI6IG51bGwKLSAgICB9LAot
ICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUiOiAiVGVz
dCB0byBtYXAgYyB0byAyIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2Fn
ZSI6IG51bGwsCi0gICAgICAic3RhY2siOiBudWxsCi0gICAgfSwKLSAgICB7Ci0gICAgICAic3Rh
dHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1lIjogIlRlc3QgdG8gbWFwIGQgdG8gMyIs
Ci0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAg
InN0YWNrIjogbnVsbAotICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFT
UyIsCi0gICAgICAibmFtZSI6ICJUZXN0IHRvIG1hcCBlIHRvIDQiLAotICAgICAgInByb3BlcnRp
ZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICJzdGFjayI6IG51bGwKLSAg
ICB9LAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUi
OiAiVGVzdCB0byBtYXAgZiB0byA1IiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAi
bWVzc2FnZSI6IG51bGwsCi0gICAgICAic3RhY2siOiBudWxsCi0gICAgfSwKLSAgICB7Ci0gICAg
ICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1lIjogImZpcnN0IHRlc3QiLAot
ICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICJz
dGFjayI6IG51bGwKLSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1Mi
LAotICAgICAgIm5hbWUiOiAic2Vjb25kIHRlc3QiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwK
LSAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICJzdGFjayI6IG51bGwKLSAgICB9LAotICAg
IHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUiOiAic2VudGlu
ZWwgY2hlY2sgMSIsCi0gICAgICAicHJvcGVydGllcyI6IHsKLSAgICAgICAgInNlbnRpbmVsIjog
dHJ1ZQotICAgICAgfSwKLSAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICJzdGFjayI6IG51
bGwKLSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAg
Im5hbWUiOiAic2VudGluZWwgY2hlY2sgMSB1bmlxdWUgcHJvcGVydGllcyIsCi0gICAgICAicHJv
cGVydGllcyI6IHsKLSAgICAgICAgInNlbnRpbmVsIjogdHJ1ZQotICAgICAgfSwKLSAgICAgICJt
ZXNzYWdlIjogbnVsbCwKLSAgICAgICJzdGFjayI6IG51bGwKLSAgICB9LAotICAgIHsKLSAgICAg
ICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUiOiAic2VudGluZWwgY2hlY2sg
MiIsCi0gICAgICAicHJvcGVydGllcyI6IHsKLSAgICAgICAgInNlbnRpbmVsIjogdHJ1ZQotICAg
ICAgfSwKLSAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICJzdGFjayI6IG51bGwKLSAgICB9
LAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUiOiAi
c2VudGluZWwgY2hlY2sgMiB1bmlxdWUgcHJvcGVydGllcyIsCi0gICAgICAicHJvcGVydGllcyI6
IHsKLSAgICAgICAgInNlbnRpbmVsIjogZmFsc2UKLSAgICAgIH0sCi0gICAgICAibWVzc2FnZSI6
IG51bGwsCi0gICAgICAic3RhY2siOiBudWxsCi0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVz
X3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1lIjogInRoaXJkIHRlc3QiLAotICAgICAgInBy
b3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICJzdGFjayI6IG51
bGwKLSAgICB9Ci0gIF0sCi0gICJ0eXBlIjogImNvbXBsZXRlIgotfQotPC9zY3JpcHQ+Ci08L2Jv
ZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2lkbGhhcm5lc3MvSWRsQXJyYXkvaXNf
anNvbl90eXBlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2lkbGhhcm5lc3MvSWRsQXJyYXkvaXNfanNvbl90eXBl
Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQyZjlkZDUyYzI5ZWEwMTViZTVm
Y2I4NjYzNWNiNzRlYmZmMDk3Y2IuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvdGVzdC90ZXN0cy9pZGxoYXJuZXNzL0lkbEFycmF5L2lzX2pzb25fdHlwZS5odG1s
CisrKyAvZGV2L251bGwKQEAgLTEsMTk1ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+
Ci08aGVhZD4KLTx0aXRsZT5JZGxBcnJheS5wcm90b3R5cGUuaXNfanNvbl90eXBlKCk8L3RpdGxl
PgotPC9oZWFkPgotPGJvZHk+Ci08ZGl2IGlkPSJsb2ciPjwvZGl2PgotPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvV2ViSURMUGFyc2VyLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL2lk
bGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uL2hlbHBlci5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0PgotICAgICJ1c2Ugc3RyaWN0IjsKLQotICAgIHRlc3QoZnVuY3Rpb24oKSB7
Ci0gICAgICAgIHZhciBpZGwgPSBuZXcgSWRsQXJyYXkoKTsKLSAgICAgICAgYXNzZXJ0X3RydWUo
aWRsLmlzX2pzb25fdHlwZSh0eXBlRnJvbSgiRE9NU3RyaW5nIikpKTsKLSAgICAgICAgYXNzZXJ0
X3RydWUoaWRsLmlzX2pzb25fdHlwZSh0eXBlRnJvbSgiQnl0ZVN0cmluZyIpKSk7Ci0gICAgICAg
IGFzc2VydF90cnVlKGlkbC5pc19qc29uX3R5cGUodHlwZUZyb20oIlVTVlN0cmluZyIpKSk7Ci0g
ICAgICAgIGlkbC5hZGRfdW50ZXN0ZWRfaWRscygnZW51bSBCYXJFbnVtIHsgImEiLCAiYiIsICJj
IiB9OycpOwotICAgICAgICBhc3NlcnRfdHJ1ZShpZGwuaXNfanNvbl90eXBlKHR5cGVGcm9tKCJC
YXJFbnVtIikpKTsKLSAgICB9LCAnc2hvdWxkIHJldHVybiB0cnVlIGZvciBhbGwgc3RyaW5nIHR5
cGVzJyk7Ci0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgaWRsID0gbmV3IElk
bEFycmF5KCk7Ci0gICAgICAgIGFzc2VydF9mYWxzZShpZGwuaXNfanNvbl90eXBlKHR5cGVGcm9t
KCJFcnJvciIpKSk7Ci0gICAgICAgIGFzc2VydF9mYWxzZShpZGwuaXNfanNvbl90eXBlKHR5cGVG
cm9tKCJET01FeGNlcHRpb24iKSkpOwotICAgIH0sICdzaG91bGQgcmV0dXJuIGZhbHNlIGZvciBh
bGwgZXhjZXB0aW9uIHR5cGVzJyk7Ci0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICB2
YXIgaWRsID0gbmV3IElkbEFycmF5KCk7Ci0gICAgICAgIGFzc2VydF9mYWxzZShpZGwuaXNfanNv
bl90eXBlKHR5cGVGcm9tKCJJbnQ4QXJyYXkiKSkpOwotICAgICAgICBhc3NlcnRfZmFsc2UoaWRs
LmlzX2pzb25fdHlwZSh0eXBlRnJvbSgiSW50MTZBcnJheSIpKSk7Ci0gICAgICAgIGFzc2VydF9m
YWxzZShpZGwuaXNfanNvbl90eXBlKHR5cGVGcm9tKCJJbnQzMkFycmF5IikpKTsKLSAgICAgICAg
YXNzZXJ0X2ZhbHNlKGlkbC5pc19qc29uX3R5cGUodHlwZUZyb20oIlVpbnQ4QXJyYXkiKSkpOwot
ICAgICAgICBhc3NlcnRfZmFsc2UoaWRsLmlzX2pzb25fdHlwZSh0eXBlRnJvbSgiVWludDE2QXJy
YXkiKSkpOwotICAgICAgICBhc3NlcnRfZmFsc2UoaWRsLmlzX2pzb25fdHlwZSh0eXBlRnJvbSgi
VWludDMyQXJyYXkiKSkpOwotICAgICAgICBhc3NlcnRfZmFsc2UoaWRsLmlzX2pzb25fdHlwZSh0
eXBlRnJvbSgiVWludDhDbGFtcGVkQXJyYXkiKSkpOwotICAgICAgICBhc3NlcnRfZmFsc2UoaWRs
LmlzX2pzb25fdHlwZSh0eXBlRnJvbSgiRmxvYXQzMkFycmF5IikpKTsKLSAgICAgICAgYXNzZXJ0
X2ZhbHNlKGlkbC5pc19qc29uX3R5cGUodHlwZUZyb20oIkFycmF5QnVmZmVyIikpKTsKLSAgICAg
ICAgYXNzZXJ0X2ZhbHNlKGlkbC5pc19qc29uX3R5cGUodHlwZUZyb20oIkRhdGFWaWV3IikpKTsK
LSAgICB9LCAnc2hvdWxkIHJldHVybiBmYWxzZSBmb3IgYWxsIGJ1ZmZlciBzb3VyY2UgdHlwZXMn
KTsKLQotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBpZGwgPSBuZXcgSWRsQXJy
YXkoKTsKLSAgICAgICAgYXNzZXJ0X3RydWUoaWRsLmlzX2pzb25fdHlwZSh0eXBlRnJvbSgiYm9v
bGVhbiIpKSk7Ci0gICAgfSwgJ3Nob3VsZCByZXR1cm4gdHJ1ZSBmb3IgYm9vbGVhbicpOwotCi0g
ICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIGlkbCA9IG5ldyBJZGxBcnJheSgpOwot
ICAgICAgICBhc3NlcnRfdHJ1ZShpZGwuaXNfanNvbl90eXBlKHR5cGVGcm9tKCJieXRlIikpKTsK
LSAgICAgICAgYXNzZXJ0X3RydWUoaWRsLmlzX2pzb25fdHlwZSh0eXBlRnJvbSgib2N0ZXQiKSkp
OwotICAgICAgICBhc3NlcnRfdHJ1ZShpZGwuaXNfanNvbl90eXBlKHR5cGVGcm9tKCJzaG9ydCIp
KSk7Ci0gICAgICAgIGFzc2VydF90cnVlKGlkbC5pc19qc29uX3R5cGUodHlwZUZyb20oInVuc2ln
bmVkIHNob3J0IikpKTsKLSAgICAgICAgYXNzZXJ0X3RydWUoaWRsLmlzX2pzb25fdHlwZSh0eXBl
RnJvbSgibG9uZyIpKSk7Ci0gICAgICAgIGFzc2VydF90cnVlKGlkbC5pc19qc29uX3R5cGUodHlw
ZUZyb20oInVuc2lnbmVkIGxvbmciKSkpOwotICAgICAgICBhc3NlcnRfdHJ1ZShpZGwuaXNfanNv
bl90eXBlKHR5cGVGcm9tKCJsb25nIGxvbmciKSkpOwotICAgICAgICBhc3NlcnRfdHJ1ZShpZGwu
aXNfanNvbl90eXBlKHR5cGVGcm9tKCJ1bnNpZ25lZCBsb25nIGxvbmciKSkpOwotICAgICAgICBh
c3NlcnRfdHJ1ZShpZGwuaXNfanNvbl90eXBlKHR5cGVGcm9tKCJmbG9hdCIpKSk7Ci0gICAgICAg
IGFzc2VydF90cnVlKGlkbC5pc19qc29uX3R5cGUodHlwZUZyb20oInVucmVzdHJpY3RlZCBmbG9h
dCIpKSk7Ci0gICAgICAgIGFzc2VydF90cnVlKGlkbC5pc19qc29uX3R5cGUodHlwZUZyb20oImRv
dWJsZSIpKSk7Ci0gICAgICAgIGFzc2VydF90cnVlKGlkbC5pc19qc29uX3R5cGUodHlwZUZyb20o
InVucmVzdHJpY3RlZCBkb3VibGUiKSkpOwotICAgIH0sICdzaG91bGQgcmV0dXJuIHRydWUgZm9y
IGFsbCBudW1lcmljIHR5cGVzJyk7Ci0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICB2
YXIgaWRsID0gbmV3IElkbEFycmF5KCk7Ci0gICAgICAgIGFzc2VydF9mYWxzZShpZGwuaXNfanNv
bl90eXBlKHR5cGVGcm9tKCJQcm9taXNlPERPTVN0cmluZz4iKSkpOwotICAgIH0sICdzaG91bGQg
cmV0dXJuIGZhbHNlIGZvciBwcm9taXNlcycpOwotCi0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAg
ICAgICAgdmFyIGlkbCA9IG5ldyBJZGxBcnJheSgpOwotICAgICAgICBhc3NlcnRfZmFsc2UoaWRs
LmlzX2pzb25fdHlwZSh0eXBlRnJvbSgic2VxdWVuY2U8RE9NRXhjZXB0aW9uPiIpKSk7Ci0gICAg
ICAgIGFzc2VydF90cnVlKGlkbC5pc19qc29uX3R5cGUodHlwZUZyb20oInNlcXVlbmNlPERPTVN0
cmluZz4iKSkpOwotICAgIH0sICdzaG91bGQgaGFuZGxlIHNlcXVlbmNlcyBhY2NvcmRpbmcgdG8g
dGhlaXIgaW5uZXIgdHlwZXMnKTsKLSAgICAKLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAg
ICB2YXIgaWRsID0gbmV3IElkbEFycmF5KCk7Ci0gICAgICAgIGFzc2VydF9mYWxzZShpZGwuaXNf
anNvbl90eXBlKHR5cGVGcm9tKCJGcm96ZW5BcnJheTxET01FeGNlcHRpb24+IikpKTsKLSAgICAg
ICAgYXNzZXJ0X3RydWUoaWRsLmlzX2pzb25fdHlwZSh0eXBlRnJvbSgiRnJvemVuQXJyYXk8RE9N
U3RyaW5nPiIpKSk7Ci0gICAgfSwgJ3Nob3VsZCBoYW5kbGUgZnJvemVuIGFycmF5cyBhY2NvcmRp
bmcgdG8gdGhlaXIgaW5uZXIgdHlwZXMnKTsKLQotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAg
ICAgIHZhciBpZGwgPSBuZXcgSWRsQXJyYXkoKTsKLSAgICAgICAgYXNzZXJ0X3RydWUoaWRsLmlz
X2pzb25fdHlwZSh0eXBlRnJvbSgicmVjb3JkPERPTVN0cmluZywgRE9NU3RyaW5nPiIpKSk7Ci0g
ICAgICAgIGFzc2VydF9mYWxzZShpZGwuaXNfanNvbl90eXBlKHR5cGVGcm9tKCJyZWNvcmQ8RE9N
U3RyaW5nLCBFcnJvcj4iKSkpOwotICAgIH0sICdzaG91bGQgaGFuZGxlIHJlY29yZHMgYWNjb3Jk
aW5nIHRvIHRoZWlyIGlubmVyIHR5cGVzJyk7Ci0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAg
ICAgICB2YXIgaWRsID0gbmV3IElkbEFycmF5KCk7Ci0gICAgICAgIGFzc2VydF90cnVlKGlkbC5p
c19qc29uX3R5cGUodHlwZUZyb20oIm9iamVjdCIpKSk7Ci0gICAgfSwgJ3Nob3VsZCByZXR1cm4g
dHJ1ZSBmb3Igb2JqZWN0IHR5cGUnKTsKLQotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAg
IHZhciBpZGwgPSBuZXcgSWRsQXJyYXkoKTsKLSAgICAgICAgYXNzZXJ0X2ZhbHNlKGlkbC5pc19q
c29uX3R5cGUodHlwZUZyb20oImFueSIpKSk7Ci0gICAgfSwgJ3Nob3VsZCByZXR1cm4gZmFsc2Ug
Zm9yIGFueSB0eXBlJyk7Ci0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgaWRs
ID0gbmV3IElkbEFycmF5KCk7Ci0gICAgICAgIGlkbC5hZGRfdW50ZXN0ZWRfaWRscygnZGljdGlv
bmFyeSBGb28geyBET01TdHJpbmcgZm9vOyB9OyBkaWN0aW9uYXJ5IEJhciA6IEZvbyB7IERPTVN0
cmluZyBiYXI7IH07Jyk7Ci0gICAgICAgIGFzc2VydF90cnVlKGlkbC5pc19qc29uX3R5cGUodHlw
ZUZyb20oIkZvbyIpKSk7Ci0gICAgICAgIGFzc2VydF90cnVlKGlkbC5pc19qc29uX3R5cGUodHlw
ZUZyb20oIkJhciIpKSk7Ci0gICAgfSwgJ3Nob3VsZCByZXR1cm4gdHJ1ZSBmb3IgZGljdGlvbmFy
aWVzIHdob3NlIG1lbWJlcnMgYXJlIGFsbCBKU09OIHR5cGVzJyk7Ci0KLSAgICB0ZXN0KGZ1bmN0
aW9uKCkgewotICAgICAgICB2YXIgaWRsID0gbmV3IElkbEFycmF5KCk7Ci0gICAgICAgIGlkbC5h
ZGRfdW50ZXN0ZWRfaWRscygnZGljdGlvbmFyeSBGb28geyB9OycpOwotICAgICAgICBhc3NlcnRf
dHJ1ZShpZGwuaXNfanNvbl90eXBlKHR5cGVGcm9tKCJGb28iKSkpOwotICAgIH0sICdzaG91bGQg
cmV0dXJuIHRydWUgZm9yIGRpY3Rpb25hcmllcyB3aGljaCBoYXZlIG5vIG1lbWJlcnMnKTsKLQot
ICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBpZGwgPSBuZXcgSWRsQXJyYXkoKTsK
LSAgICAgICAgaWRsLmFkZF91bnRlc3RlZF9pZGxzKCdkaWN0aW9uYXJ5IEZvb0JhciB7IERPTVN0
cmluZyBhOyBFcnJvciBiOyB9OyBkaWN0aW9uYXJ5IEJheiA6IEZvb0JhciB7fTsnKTsKLSAgICAg
ICAgYXNzZXJ0X2ZhbHNlKGlkbC5pc19qc29uX3R5cGUodHlwZUZyb20oIkZvb0JhciIpKSk7Ci0g
ICAgICAgIGFzc2VydF9mYWxzZShpZGwuaXNfanNvbl90eXBlKHR5cGVGcm9tKCJCYXoiKSkpOwot
ICAgIH0sICdzaG91bGQgcmV0dXJuIGZhbHNlIGZvciBkaWN0aW9uYXJpZXMgd2hvc2UgbWVtYmVy
cyBhcmUgbm90IGFsbCBKU09OIHR5cGVzJyk7Ci0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAg
ICAgICB2YXIgaWRsID0gbmV3IElkbEFycmF5KCk7Ci0gICAgICAgIGlkbC5hZGRfdW50ZXN0ZWRf
aWRscygnaW50ZXJmYWNlIEZvbyB7IERPTVN0cmluZyB0b0pTT04oKTsgfTsnKTsKLSAgICAgICAg
YXNzZXJ0X3RydWUoaWRsLmlzX2pzb25fdHlwZSh0eXBlRnJvbSgiRm9vIikpKTsKLSAgICB9LCAn
c2hvdWxkIHJldHVybiB0cnVlIGZvciBpbnRlcmZhY2VzIHdoaWNoIGRlY2xhcmUgYSB0b0pTT04g
b3BlcmF0aW9uJyk7Ci0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgaWRsID0g
bmV3IElkbEFycmF5KCk7Ci0gICAgICAgIGlkbC5hZGRfdW50ZXN0ZWRfaWRscygnaW50ZXJmYWNl
IEZvbyB7IERPTVN0cmluZyB0b0pTT04oKTsgfTsgaW50ZXJmYWNlIEJhciA6IEZvbyB7IH07Jyk7
Ci0gICAgICAgIGFzc2VydF90cnVlKGlkbC5pc19qc29uX3R5cGUodHlwZUZyb20oIkJhciIpKSk7
Ci0gICAgfSwgJ3Nob3VsZCByZXR1cm4gdHJ1ZSBmb3IgaW50ZXJmYWNlcyB3aGljaCBpbmhlcml0
IGZyb20gYW4gaW50ZXJmYWNlIHdoaWNoIGRlY2xhcmVzIGEgdG9KU09OIG9wZXJhdGlvbicpOwot
Ci0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIGlkbCA9IG5ldyBJZGxBcnJheSgp
OwotICAgICAgICBpZGwuYWRkX3VudGVzdGVkX2lkbHMoJ2ludGVyZmFjZSBGb28geyB9OyBpbnRl
cmZhY2UgQmFyIHsgRE9NU3RyaW5nIHRvSlNPTigpOyB9OyBGb28gaW1wbGVtZW50cyBCYXI7Jyk7
Ci0gICAgICAgIGFzc2VydF90cnVlKGlkbC5pc19qc29uX3R5cGUodHlwZUZyb20oIkZvbyIpKSk7
Ci0gICAgfSwgJ3Nob3VsZCByZXR1cm4gdHJ1ZSBmb3IgaW50ZXJmYWNlcyB3aGljaCBtaXhpbiBh
biBpbnRlcmZhY2Ugd2hpY2ggZGVjbGFyZSBhIHRvSlNPTiBvcGVyYXRpb24nKTsKLQotLy8gICAg
dGVzdChmdW5jdGlvbigpIHsKLS8vICAgICAgICB2YXIgaWRsID0gbmV3IElkbEFycmF5KCk7Ci0v
LyAgICAgICAgaWRsLmFkZF91bnRlc3RlZF9pZGxzKCdpbnRlcmZhY2UgRm9vIHsgfTsgaW50ZXJm
YWNlIEJhciB7IH07IGludGVyZmFjZSBCYXogeyBET01TdHJpbmcgdG9KU09OKCk7IH07IEZvbyBp
bXBsZW1lbnRzIEJhcjsgQmFyIGltcGxlbWVudHMgQmF6OycpOwotLy8gICAgICAgIGFzc2VydF90
cnVlKGlkbC5pc19qc29uX3R5cGUodHlwZUZyb20oIkZvbyIpKSk7Ci0vLyAgICB9LCAnc2hvdWxk
IHJldHVybiB0cnVlIGZvciBpbnRlcmZhY2VzIHdoaWNoIG1peGluIGFuIGludGVyZmFjZSB3aGlj
aCBpdHNlbGYgbWl4ZXMgaW4gYW4gaW50ZXJmYWNlIHdoaWNoIGRlY2xhcmVzIGEgdG9KU09OIG9w
ZXJhdGlvbicpOwotCi0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIGlkbCA9IG5l
dyBJZGxBcnJheSgpOwotICAgICAgICBpZGwuYWRkX3VudGVzdGVkX2lkbHMoJ2ludGVyZmFjZSBG
b28geyB9OycpOwotICAgICAgICBhc3NlcnRfZmFsc2UoaWRsLmlzX2pzb25fdHlwZSh0eXBlRnJv
bSgiRm9vIikpKTsKLSAgICB9LCAnc2hvdWxkIHJldHVybiBmYWxzZSBmb3IgaW50ZXJmYWNlcyB3
aGljaCBkbyBub3QgZGVjbGFyZSBhIHRvSlNPTiBvcGVyYXRpb24nKTsKLQotICAgIHRlc3QoZnVu
Y3Rpb24oKSB7Ci0gICAgICAgIHZhciBpZGwgPSBuZXcgSWRsQXJyYXkoKTsKLSAgICAgICAgaWRs
LmFkZF91bnRlc3RlZF9pZGxzKCdpbnRlcmZhY2UgRm9vIHsgb2JqZWN0IHRvSlNPTigpOyB9Oycp
OwotICAgICAgICBhc3NlcnRfdHJ1ZShpZGwuaXNfanNvbl90eXBlKHR5cGVGcm9tKCIoRm9vIG9y
IERPTVN0cmluZykiKSkpOwotICAgIH0sICdzaG91bGQgcmV0dXJuIHRydWUgZm9yIHVuaW9uIHR5
cGVzIHdob3NlIG1lbWJlciB0eXBlcyBhcmUgSlNPTiB0eXBlcycpOwotCi0gICAgdGVzdChmdW5j
dGlvbigpIHsKLSAgICAgICAgdmFyIGlkbCA9IG5ldyBJZGxBcnJheSgpOwotICAgICAgICBhc3Nl
cnRfZmFsc2UoaWRsLmlzX2pzb25fdHlwZSh0eXBlRnJvbSgiKERhdGFWaWV3IG9yIERPTVN0cmlu
ZykiKSkpOwotICAgIH0sICdzaG91bGQgcmV0dXJuIGZhbHNlIGZvciB1bmlvbiB0eXBlcyB3aG9z
ZSBtZW1iZXIgdHlwZXMgYXJlIG5vdCBhbGwgSlNPTiB0eXBlcycpOwotCi0gICAgdGVzdChmdW5j
dGlvbigpIHsKLSAgICAgICAgdmFyIGlkbCA9IG5ldyBJZGxBcnJheSgpOwotICAgICAgICBhc3Nl
cnRfdHJ1ZShpZGwuaXNfanNvbl90eXBlKHR5cGVGcm9tKCJET01TdHJpbmc/IikpKTsKLSAgICAg
ICAgYXNzZXJ0X2ZhbHNlKGlkbC5pc19qc29uX3R5cGUodHlwZUZyb20oIkRhdGFWaWV3PyIpKSk7
Ci0gICAgfSwgJ3Nob3VsZCBjb25zaWRlciB0aGUgaW5uZXIgdHlwZXMgb2YgbnVsbGFibGUgdHlw
ZXMnKTsKLQotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBpZGwgPSBuZXcgSWRs
QXJyYXkoKTsKLSAgICAgICAgYXNzZXJ0X3RydWUoaWRsLmlzX2pzb25fdHlwZSh0eXBlRnJvbSgi
W1hBdHRyXSBsb25nIikpKTsKLSAgICAgICAgYXNzZXJ0X2ZhbHNlKGlkbC5pc19qc29uX3R5cGUo
dHlwZUZyb20oIltYQXR0cl0gRGF0YVZpZXciKSkpOwotICAgIH0sICdzaG91bGQgY29uc2lkZXIg
dGhlIGlubmVyIHR5cGVzIG9mIGFubm90YXRlZCB0eXBlcy4nKTsKLQotICAgIHRlc3QoZnVuY3Rp
b24oKSB7Ci0gICAgICAgIHZhciBpZGwgPSBuZXcgSWRsQXJyYXkoKTsKLSAgICAgICAgYXNzZXJ0
X3Rocm93cyhuZXcgRXJyb3IoKSwgXyA9PiBpZGwuaXNfanNvbl90eXBlKHR5cGVGcm9tKCJGb28i
KSkpOwotICAgIH0sICJzaG91bGQgdGhyb3cgaWYgaXQgcmVmZXJlbmNlcyBhIGRpY3Rpb25hcnks
IGVudW0gb3IgaW50ZXJmYWNlIHdoaWNoIHdhc24ndCBhZGRlZCB0byB0aGUgSWRsQXJyYXkiKTsK
LQotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBpZGwgPSBuZXcgSWRsQXJyYXko
KTsKLSAgICAgICAgaWRsLmFkZF91bnRlc3RlZF9pZGxzKCdpbnRlcmZhY2UgRm9vIDogQmFyIHsg
fTsnKTsKLSAgICAgICAgYXNzZXJ0X3Rocm93cyhuZXcgRXJyb3IoKSwgXyA9PiBpZGwuaXNfanNv
bl90eXBlKHR5cGVGcm9tKCJGb28iKSkpOwotICAgIH0sICJzaG91bGQgdGhyb3cgZm9yIGludGVy
ZmFjZXMgd2hpY2ggaW5oZXJpdCBmcm9tIGFub3RoZXIgaW50ZXJmYWNlIHdoaWNoIHdhc24ndCBh
ZGRlZCB0byB0aGUgSWRsQXJyYXkiKTsKLQotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAg
IHZhciBpZGwgPSBuZXcgSWRsQXJyYXkoKTsKLSAgICAgICAgYXNzZXJ0X3RydWUoaWRsLmlzX2pz
b25fdHlwZSh0eXBlZGVmRnJvbSgidHlwZWRlZiBkb3VibGUgRE9NSGlnaFJlc1RpbWVTdGFtcDsi
KS5pZGxUeXBlKSk7Ci0gICAgfSwgJ3Nob3VsZCByZXR1cm4gdHJ1ZSBmb3IgdHlwZWRlZnMgd2hv
c2Ugc291cmNlIHR5cGUgaXMgYSBKU09OIHR5cGUnKTsKLQotICAgIHRlc3QoZnVuY3Rpb24oKSB7
Ci0gICAgICAgIHZhciBpZGwgPSBuZXcgSWRsQXJyYXkoKTsKLSAgICAgICAgYXNzZXJ0X2ZhbHNl
KGlkbC5pc19qc29uX3R5cGUodHlwZWRlZkZyb20oInR5cGVkZWYgRGF0YVZpZXcgRE9NSGlnaFJl
c1RpbWVTdGFtcDsiKS5pZGxUeXBlKSk7Ci0gICAgfSwgJ3Nob3VsZCByZXR1cm4gZmFsc2UgZm9y
IHR5cGVkZWZzIHdob3NlIHNvdXJjZSB0eXBlIGlzIG5vdCBhIEpTT04gdHlwZScpOwotPC9zY3Jp
cHQ+Ci08L2JvZHk+Ci08L2h0bWw+Ci0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRsaGFybmVzcy9J
ZGxBcnJheS93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRsaGFybmVzcy9JZGxBcnJheS93M2Mt
aW1wb3J0LmxvZwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNGU4OTkwYjBmZDdiYzJi
ZTk4ZDc4ZTAzM2NlYWM5MWQyZWNiZDAzOC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2lkbGhhcm5lc3MvSWRsQXJyYXkvdzNjLWltcG9ydC5s
b2cKKysrIC9kZXYvbnVsbApAQCAtMSwxNyArMCwwIEBACi1UaGUgdGVzdHMgaW4gdGhpcyBkaXJl
Y3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KLURvIE5PVCBtb2Rp
ZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVhZCwgY3JlYXRlIGEgcHVs
bCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzCi0KLVRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2Mt
dGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0Ci0KLURvIE5PVCBtb2RpZnkgb3IgcmVtb3ZlIHRo
aXMgZmlsZS4KLQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1Qcm9wZXJ0aWVzIHJlcXVpcmluZyB2ZW5kb3Ig
cHJlZml4ZXM6Ci1Ob25lCi1Qcm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhl
czoKLU5vbmUKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotTGlzdCBvZiBmaWxlczoKLS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2lkbGhh
cm5lc3MvSWRsQXJyYXkvaXNfanNvbl90eXBlLmh0bWwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRs
aGFybmVzcy9JZGxEaWN0aW9uYXJ5L2dldF9pbmhlcml0YW5jZV9zdGFjay5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0
cy9pZGxoYXJuZXNzL0lkbERpY3Rpb25hcnkvZ2V0X2luaGVyaXRhbmNlX3N0YWNrLmh0bWwKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDgzODYzZmI4ZDc2YTc5ZjI5ZmUxY2FkNzY4NjU3
ODBmZWU0YzA3YmQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
dGVzdC90ZXN0cy9pZGxoYXJuZXNzL0lkbERpY3Rpb25hcnkvZ2V0X2luaGVyaXRhbmNlX3N0YWNr
Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwzNSArMCwwIEBACi08IURPQ1RZUEUgSFRNTD4KLTxo
dG1sPgotPGhlYWQ+Ci08dGl0bGU+SWRsRGljdGlvbmFyeS5wcm90b3R5cGUuZ2V0X2luaGVyaXRh
bmNlX3N0YWNrKCk8L3RpdGxlPgotPC9oZWFkPgotPGJvZHk+Ci08ZGl2IGlkPSJsb2ciPjwvZGl2
PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvV2ViSURMUGFyc2VyLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL2lkbGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4u
L2hlbHBlci5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotICAgICJ1c2Ugc3RyaWN0IjsKLSAgICB0
ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgc3RhY2sgPSBkaWN0aW9uYXJ5RnJvbSgnZGlj
dGlvbmFyeSBBIHsgfTsnKS5nZXRfaW5oZXJpdGFuY2Vfc3RhY2soKTsKLSAgICAgICAgYXNzZXJ0
X2FycmF5X2VxdWFscyhzdGFjay5tYXAoZCA9PiBkLm5hbWUpLCBbIkEiXSk7Ci0gICAgfSwgJ3No
b3VsZCByZXR1cm4gYW4gYXJyYXkgdGhhdCBpbmNsdWRlcyBpdHNlbGYuJyk7Ci0gICAgCi0gICAg
dGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIGQgPSBkaWN0aW9uYXJ5RnJvbSgnZGljdGlv
bmFyeSBBIDogQiB7IH07Jyk7Ci0gICAgICAgIGFzc2VydF90aHJvd3MobmV3IEVycm9yKCksIF8g
PT4gZC5nZXRfaW5oZXJpdGFuY2Vfc3RhY2soKSk7Ci0gICAgfSwgInNob3VsZCB0aHJvdyBmb3Ig
ZGljdGlvbmFyaWVzIHdoaWNoIGluaGVyaXQgZnJvbSBhbm90aGVyIGRpY3Rpb25hcnkgd2hpY2gg
d2Fzbid0IGFkZGVkIHRvIHRoZSBJZGxBcnJheSIpOwotICAgIAotICAgIHRlc3QoZnVuY3Rpb24o
KSB7Ci0gICAgICAgIHZhciBpZGwgPSBuZXcgSWRsQXJyYXkoKTsKLSAgICAgICAgaWRsLmFkZF9p
ZGxzKCdkaWN0aW9uYXJ5IEEgOiBCIHsgfTsnKTsKLSAgICAgICAgaWRsLmFkZF91bnRlc3RlZF9p
ZGxzKCdkaWN0aW9uYXJ5IEIgOiBDIHsgfTsgZGljdGlvbmFyeSBDIHsgfTsnKTsKLSAgICAgICAg
dmFyIEEgPSBpZGwubWVtYmVyc1siQSJdOwotICAgICAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKEEu
Z2V0X2luaGVyaXRhbmNlX3N0YWNrKCkubWFwKGQgPT4gZC5uYW1lKSwgWyJBIiwgIkIiLCAiQyJd
KTsKLSAgICB9LCAnc2hvdWxkIHJldHVybiBhbiBhcnJheSBvZiBpbmhlcml0ZWQgZGljdGlvbmFy
aWVzIGluIG9yZGVyIG9mIGluaGVyaXRhbmNlLCBzdGFydGluZyB3aXRoIGl0c2VsZi4nKTsKLTwv
c2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2lkbGhhcm5l
c3MvSWRsRGljdGlvbmFyeS93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRsaGFybmVzcy9JZGxE
aWN0aW9uYXJ5L3czYy1pbXBvcnQubG9nCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBj
OWY3MzU4YTVmYjRlZmQ2ZTNkODkyYzkxNDg5MDYzNzZiM2YzN2U5Li4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRsaGFybmVzcy9JZGxEaWN0
aW9uYXJ5L3czYy1pbXBvcnQubG9nCisrKyAvZGV2L251bGwKQEAgLTEsMTcgKzAsMCBAQAotVGhl
IHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9z
aXRvcnkuCi1EbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUlu
c3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKLQlodHRwczov
L2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cwotCi1UaGVuIHJ1biB0aGUgVG9vbHMv
U2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydAotCi1EbyBOT1Qg
bW9kaWZ5IG9yIHJlbW92ZSB0aGlzIGZpbGUuCi0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotUHJvcGVydGll
cyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgotTm9uZQotUHJvcGVydHkgdmFsdWVzIHJlcXVp
cmluZyB2ZW5kb3IgcHJlZml4ZXM6Ci1Ob25lCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLUxpc3Qgb2YgZmls
ZXM6Ci0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvdGVzdC90ZXN0cy9pZGxoYXJuZXNzL0lkbERpY3Rpb25hcnkvZ2V0X2luaGVyaXRhbmNlX3N0
YWNrLmh0bWwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRsaGFybmVzcy9JZGxJbnRlcmZhY2UvZGVm
YXVsdF90b19qc29uX29wZXJhdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9pZGxoYXJuZXNzL0lkbEludGVy
ZmFjZS9kZWZhdWx0X3RvX2pzb25fb3BlcmF0aW9uLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IGE3N2VlM2U3ZjFmZGIzMTIxNzAzNTZiNzRlYmRkMWVkYjY5OGEyNTEuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9pZGxoYXJu
ZXNzL0lkbEludGVyZmFjZS9kZWZhdWx0X3RvX2pzb25fb3BlcmF0aW9uLmh0bWwKKysrIC9kZXYv
bnVsbApAQCAtMSwxODkgKzAsMCBAQAotPCFET0NUWVBFIEhUTUw+Ci08aHRtbD4KLTxoZWFkPgot
PHRpdGxlPklkbERpY3Rpb25hcnkucHJvdG90eXBlLmRlZmF1bHRfdG9fanNvbl9vcGVyYXRpb24o
KTwvdGl0bGU+Ci08L2hlYWQ+Ci08Ym9keT4KLTxkaXYgaWQ9ImxvZyI+PC9kaXY+Ci08c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy9XZWJJRExQYXJzZXIuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvaWRsaGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vaGVscGVyLmpz
Ij48L3NjcmlwdD4KLTxwcmUgaWQ9ZnJhZ21lbnRzPgotICAgIGludGVyZmFjZSBBIDogQiB7Ci0g
ICAgICBhdHRyaWJ1dGUgRE9NU3RyaW5nIGE7Ci0gICAgfTsKLQotICAgIGludGVyZmFjZSBCIDog
QyB7Ci0gICAgICBbRGVmYXVsdF0gb2JqZWN0IHRvSlNPTigpOwotICAgICAgYXR0cmlidXRlIGxv
bmcgYjsKLSAgICB9OwotCi0gICAgaW50ZXJmYWNlIEMgewotICAgICAgYXR0cmlidXRlIERPTVN0
cmluZyBjOwotICAgIH07Ci0KLSAgICBpbnRlcmZhY2UgRCA6IEUgewotICAgICAgW0RlZmF1bHRd
IG9iamVjdCB0b0pTT04oKTsKLSAgICAgIGF0dHJpYnV0ZSBmbG9hdCBkOwotICAgIH07Ci0KLSAg
ICBpbnRlcmZhY2UgRSA6IEYgewotICAgICAgYXR0cmlidXRlIERPTVN0cmluZyBlOwotICAgIH07
Ci0KLSAgICBpbnRlcmZhY2UgRiB7Ci0gICAgICBbRGVmYXVsdF0gb2JqZWN0IHRvSlNPTigpOwot
ICAgICAgYXR0cmlidXRlIHVucmVzdHJpY3RlZCBkb3VibGUgZjsKLSAgICB9OwotCi0gICAgaW50
ZXJmYWNlIEcgewotICAgICAgW0RlZmF1bHRdIG9iamVjdCB0b0pTT04oKTsKLSAgICAgIGF0dHJp
YnV0ZSBvY3RldCBnOwotICAgIH07Ci0KLSAgICBpbnRlcmZhY2UgSCB7Ci0gICAgICBbRGVmYXVs
dF0gb2JqZWN0IHRvSlNPTigpOwotICAgICAgYXR0cmlidXRlIERPTVN0cmluZyBoOwotICAgIH07
Ci0KLSAgICBpbnRlcmZhY2UgSSB7Ci0gICAgICBbRGVmYXVsdF0gb2JqZWN0IHRvSlNPTigpOwot
ICAgICAgYXR0cmlidXRlIGJvb2xlYW4gaTsKLSAgICB9OwotCi0gICAgaW50ZXJmYWNlIEogewot
ICAgICAgW0RlZmF1bHRdIG9iamVjdCB0b0pTT04oKTsKLSAgICAgIGF0dHJpYnV0ZSBEIGo7Ci0g
ICAgfTsKLQotICAgIEEgaW1wbGVtZW50cyBHOwotICAgIEEgaW1wbGVtZW50cyBIOwotICAgIEIg
aW1wbGVtZW50cyBEOwotICAgIEUgaW1wbGVtZW50cyBJOwotICAgIEggaW1wbGVtZW50cyBKOwot
PC9wcmU+Ci08c2NyaXB0PgotICAgICJ1c2Ugc3RyaWN0IjsKLSAgICB0ZXN0KGZ1bmN0aW9uKCkg
ewotICAgICAgICB2YXIgbWFwID0gaW50ZXJmYWNlRnJvbSgnaW50ZXJmYWNlIEEgeyBbRGVmYXVs
dF0gb2JqZWN0IHRvSlNPTigpOyB9OycpLmRlZmF1bHRfdG9fanNvbl9vcGVyYXRpb24oKTsKLSAg
ICAgICAgYXNzZXJ0X2VxdWFscyhtYXAuc2l6ZSwgMCk7Ci0gICAgfSwgJ3Nob3VsZCByZXR1cm4g
YW4gZW1wdHkgbWFwIHdoZW4gdGhlcmUgYXJlIG5vIGF0dHJpYnV0ZXMnKTsKLQotICAgIHRlc3Qo
ZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciByID0gaW50ZXJmYWNlRnJvbSgnaW50ZXJmYWNlIEEg
eyB9OycpLmRlZmF1bHRfdG9fanNvbl9vcGVyYXRpb24oKTsKLSAgICAgICAgYXNzZXJ0X2VxdWFs
cyhyLCBudWxsKTsKLSAgICB9LCAnc2hvdWxkIHJldHVybiBudWxsIHdoZW4gdGhlcmUgaXMgbm8g
dG9KU09OIG1ldGhvZCcpOwotCi0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIHIg
PSBpbnRlcmZhY2VGcm9tKCdpbnRlcmZhY2UgQSB7IERPTVN0cmluZyB0b0pTT04oKTsgfTsnKS5k
ZWZhdWx0X3RvX2pzb25fb3BlcmF0aW9uKCk7Ci0gICAgICAgIGFzc2VydF9lcXVhbHMociwgbnVs
bCk7Ci0gICAgfSwgJ3Nob3VsZCByZXR1cm4gbnVsbCB3aGVuIHRoZXJlIGlzIGEgdG9KU09OIG1l
dGhvZCBidXQgaXQgZG9lcyBub3QgaGF2ZSB0aGUgW0RlZmF1bHRdIGV4dGVuZGVkIGF0dHJpYnV0
ZScpOwotCi0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIGNvbnRleHQgPSBuZXcg
SWRsQXJyYXkoKTsKLSAgICAgICAgY29udGV4dC5hZGRfaWRscygiaW50ZXJmYWNlIEEgOiBCIHsg
RE9NU3RyaW5nIHRvSlNPTigpOyB9OyIpOwotICAgICAgICBjb250ZXh0LmFkZF9pZGxzKCJpbnRl
cmZhY2UgQiB7IFtEZWZhdWx0XSBvYmplY3QgdG9KU09OKCk7IH07Iik7Ci0gICAgICAgIHZhciBy
ID0gY29udGV4dC5tZW1iZXJzLkEuZGVmYXVsdF90b19qc29uX29wZXJhdGlvbigpOwotICAgICAg
ICBhc3NlcnRfZXF1YWxzKHIsIG51bGwpOwotICAgIH0sICdzaG91bGQgcmV0dXJuIG51bGwgd2hl
biB0aGVyZSBpcyBhIHRvSlNPTiBtZXRob2QgYnV0IGl0IGRvZXMgbm90IGhhdmUgdGhlIFtEZWZh
dWx0XSBleHRlbmRlZCBhdHRyaWJ1dGUgZXZlbiBpZiB0aGlzIGV4dGVuZGVkIGF0dHJpYnV0ZSBl
eGlzdHMgb24gaW5oZXJpdGVkIGludGVyZmFjZXMnKTsKLQotICAgIHRlc3QoZnVuY3Rpb24oKSB7
Ci0gICAgICAgIHZhciBtYXAgPSBpbnRlcmZhY2VGcm9tKCdpbnRlcmZhY2UgQSB7IFtEZWZhdWx0
XSBvYmplY3QgdG9KU09OKCk7IHN0YXRpYyBhdHRyaWJ1dGUgRE9NU3RyaW5nIGZvbzsgfTsnKS5k
ZWZhdWx0X3RvX2pzb25fb3BlcmF0aW9uKCk7Ci0gICAgICAgIGFzc2VydF9lcXVhbHMobWFwLnNp
emUsIDApOwotICAgIH0sICdzaG91bGQgbm90IGluY2x1ZGUgc3RhdGljIGF0dHJpYnV0ZXMnKTsK
LQotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBtYXAgPSBpbnRlcmZhY2VGcm9t
KCdpbnRlcmZhY2UgQSB7IFtEZWZhdWx0XSBvYmplY3QgdG9KU09OKCk7IGF0dHJpYnV0ZSBQcm9t
aXNlPERPTVN0cmluZz4gYmFyOyB9OycpLmRlZmF1bHRfdG9fanNvbl9vcGVyYXRpb24oKTsKLSAg
ICAgICAgYXNzZXJ0X2VxdWFscyhtYXAuc2l6ZSwgMCk7Ci0gICAgfSwgJ3Nob3VsZCBub3QgaW5j
bHVkZSBhdHRyaWJ1dGVzIHdoaWNoIGFyZSBub3QgSlNPTiB0eXBlcycpOwotCi0gICAgdGVzdChm
dW5jdGlvbigpIHsKLSAgICAgICAgdmFyIG1hcCA9IGludGVyZmFjZUZyb20oJ2ludGVyZmFjZSBB
IHsgW0RlZmF1bHRdIG9iamVjdCB0b0pTT04oKTsgRE9NU3RyaW5nIGJhcigpOyB9OycpLmRlZmF1
bHRfdG9fanNvbl9vcGVyYXRpb24oKTsKLSAgICAgICAgYXNzZXJ0X2VxdWFscyhtYXAuc2l6ZSwg
MCk7Ci0gICAgfSwgJ3Nob3VsZCBub3QgaW5jbHVkZSBvcGVyYXRpb25zJyk7Ci0KLSAgICB0ZXN0
KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgbWFwID0gaW50ZXJmYWNlRnJvbSgnaW50ZXJmYWNl
IEEgeyBbRGVmYXVsdF0gb2JqZWN0IHRvSlNPTigpOyBhdHRyaWJ1dGUgRE9NU3RyaW5nIGJhcjsg
fTsnKS5kZWZhdWx0X3RvX2pzb25fb3BlcmF0aW9uKCk7Ci0gICAgICAgIGFzc2VydF9lcXVhbHMo
bWFwLnNpemUsIDEpOwotICAgICAgICBhc3NlcnRfdHJ1ZShtYXAuaGFzKCJiYXIiKSk7Ci0gICAg
ICAgIGFzc2VydF9lcXVhbHMobWFwLmdldCgiYmFyIikuaWRsVHlwZSwgIkRPTVN0cmluZyIpOwot
ICAgIH0sICdzaG91bGQgcmV0dXJuIGEgbWFwIHdob3NlIGtleS92YWx1ZSBwYWlyIHJlcHJlc2Vu
dCB0aGUgaWRlbnRpZmllciBhbmQgSURMIHR5cGUgb2YgdmFsaWQgYXR0cmlidXRlcycpOwotCi0g
ICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIGNvbnRleHQgPSBuZXcgSWRsQXJyYXko
KTsKLSAgICAgICAgY29udGV4dC5hZGRfaWRscygiaW50ZXJmYWNlIEEgOiBCIHsgW0RlZmF1bHRd
IG9iamVjdCB0b0pTT04oKTsgYXR0cmlidXRlIERPTVN0cmluZyBhOyB9OyIpOwotICAgICAgICBj
b250ZXh0LmFkZF9pZGxzKCJpbnRlcmZhY2UgQiB7IFtEZWZhdWx0XSBvYmplY3QgdG9KU09OKCk7
IGF0dHJpYnV0ZSBsb25nIGI7IH07Iik7Ci0gICAgICAgIHZhciBtYXAgPSBjb250ZXh0Lm1lbWJl
cnMuQS5kZWZhdWx0X3RvX2pzb25fb3BlcmF0aW9uKCk7Ci0gICAgICAgIGFzc2VydF9hcnJheV9l
cXVhbHMoWy4uLm1hcC5rZXlzKCldLCBbImIiLCAiYSJdKTsKLSAgICAgICAgYXNzZXJ0X2FycmF5
X2VxdWFscyhbLi4ubWFwLnZhbHVlcygpXS5tYXAodiA9PiB2LmlkbFR5cGUpLCBbImxvbmciLCAi
RE9NU3RyaW5nIl0pOwotICAgIH0sICdzaG91bGQgcmV0dXJuIGEgcHJvcGVybHkgb3JkZXJlZCBt
YXAgdGhhdCBjb250YWlucyBJREwgdHlwZXMgb2YgdmFsaWQgYXR0cmlidXRlcyBmb3IgaW5oZXJp
dGVkIGludGVyZmFjZXMnKTsKLQotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBj
b250ZXh0ID0gbmV3IElkbEFycmF5KCk7Ci0gICAgICAgIGNvbnRleHQuYWRkX2lkbHMoImludGVy
ZmFjZSBBIDogQiB7IGF0dHJpYnV0ZSBET01TdHJpbmcgYTsgfTsiKTsKLSAgICAgICAgY29udGV4
dC5hZGRfaWRscygiaW50ZXJmYWNlIEIgeyBbRGVmYXVsdF0gb2JqZWN0IHRvSlNPTigpOyBhdHRy
aWJ1dGUgbG9uZyBiOyB9OyIpOwotICAgICAgICB2YXIgbWFwID0gY29udGV4dC5tZW1iZXJzLkEu
ZGVmYXVsdF90b19qc29uX29wZXJhdGlvbigpOwotICAgICAgICBhc3NlcnRfZXF1YWxzKG1hcC5z
aXplLCAxKTsKLSAgICAgICAgYXNzZXJ0X3RydWUobWFwLmhhcygiYiIpKTsKLSAgICAgICAgYXNz
ZXJ0X2VxdWFscyhtYXAuZ2V0KCJiIikuaWRsVHlwZSwgImxvbmciKTsKLSAgICAgICAgYXNzZXJ0
X2FycmF5X2VxdWFscyhbLi4ubWFwLmtleXMoKV0sIFsiYiJdKTsKLSAgICB9LCAnc2hvdWxkIG5v
dCBpbmNsdWRlIGF0dHJpYnV0ZXMgb2YgdGhlIGN1cnJlbnQgaW50ZXJmYWNlIHdoZW4gdGhlIFtE
ZWZhdWx0XSB0b0pTT04gbWV0aG9kIGluIGluaGVyaXRlZCcpOwotCi0gICAgdGVzdChmdW5jdGlv
bigpIHsKLSAgICAgICAgdmFyIGNvbnRleHQgPSBuZXcgSWRsQXJyYXkoKTsKLSAgICAgICAgY29u
dGV4dC5hZGRfaWRscygiaW50ZXJmYWNlIEEgOiBCIHsgW0RlZmF1bHRdIG9iamVjdCB0b0pTT04o
KTsgfTsiKTsKLSAgICAgICAgY29udGV4dC5hZGRfaWRscygiaW50ZXJmYWNlIEIgOiBDIHsgW0Rl
ZmF1bHRdIG9iamVjdCB0b0pTT04oKTsgYXR0cmlidXRlIERPTVN0cmluZyBmb287IH07Iik7Ci0g
ICAgICAgIGNvbnRleHQuYWRkX2lkbHMoImludGVyZmFjZSBDIHsgW0RlZmF1bHRdIG9iamVjdCB0
b0pTT04oKTsgYXR0cmlidXRlIGxvbmcgZm9vOyB9OyIpOwotICAgICAgICB2YXIgbWFwID0gY29u
dGV4dC5tZW1iZXJzLkEuZGVmYXVsdF90b19qc29uX29wZXJhdGlvbigpOwotICAgICAgICBhc3Nl
cnRfZXF1YWxzKG1hcC5zaXplLCAxKTsKLSAgICAgICAgYXNzZXJ0X3RydWUobWFwLmhhcygiZm9v
IikpOwotICAgICAgICBhc3NlcnRfZXF1YWxzKG1hcC5nZXQoImZvbyIpLmlkbFR5cGUsICJET01T
dHJpbmciKTsKLSAgICB9LCAnYXR0cmlidXRlcyBkZWNsYXJlZCBmdXJ0aGVyIGF3YXkgaW4gdGhl
IGluaGVyaXRhbmNlIGhpZXJhcmNoeSBzaG91bGQgYmUgbWFza2VkIGJ5IGF0dHJpYnV0ZXMgZGVj
bGFyZWQgY2xvc2VyJyk7Ci0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgY29u
dGV4dCA9IG5ldyBJZGxBcnJheSgpOwotICAgICAgICBjb250ZXh0LmFkZF9pZGxzKCJpbnRlcmZh
Y2UgQSA6IEIgeyBbRGVmYXVsdF0gb2JqZWN0IHRvSlNPTigpOyBhdHRyaWJ1dGUgRE9NU3RyaW5n
IGE7IH07Iik7Ci0gICAgICAgIGNvbnRleHQuYWRkX2lkbHMoImludGVyZmFjZSBCIHsgb2JqZWN0
IHRvSlNPTigpOyBhdHRyaWJ1dGUgbG9uZyBiOyB9OyIpOwotICAgICAgICB2YXIgbWFwID0gY29u
dGV4dC5tZW1iZXJzLkEuZGVmYXVsdF90b19qc29uX29wZXJhdGlvbigpOwotICAgICAgICBhc3Nl
cnRfZXF1YWxzKG1hcC5zaXplLCAxKTsKLSAgICAgICAgYXNzZXJ0X3RydWUobWFwLmhhcygiYSIp
KTsKLSAgICAgICAgYXNzZXJ0X2ZhbHNlKG1hcC5oYXMoImIiKSk7Ci0gICAgICAgIGFzc2VydF9l
cXVhbHMobWFwLmdldCgiYSIpLmlkbFR5cGUsICJET01TdHJpbmciKTsKLSAgICB9LCAnc2hvdWxk
IHJldHVybiBhbiBvcmRlcmVkIG1hcCB0aGF0IGlnbm9yZXMgYXR0cmlidXRlcyBvZiBpbmhlcml0
ZWQgaW50ZXJmYWNlcyB3aGljaCBkbyBub3QgZGVjbGFyZSBhIFtEZWZhdWx0XSB0b0pTT04gb3Bl
cmF0aW9uLicpOwotCi0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIGNvbnRleHQg
PSBuZXcgSWRsQXJyYXkoKTsKLSAgICAgICAgY29udGV4dC5hZGRfaWRscygiaW50ZXJmYWNlIEEg
eyBbRGVmYXVsdF0gb2JqZWN0IHRvSlNPTigpOyBhdHRyaWJ1dGUgRE9NU3RyaW5nIGE7IH07Iik7
Ci0gICAgICAgIGNvbnRleHQuYWRkX2lkbHMoImludGVyZmFjZSBOIHsgW0RlZmF1bHRdIG9iamVj
dCB0b0pTT04oKTsgYXR0cmlidXRlIGxvbmcgbjsgfTsiKTsKLSAgICAgICAgY29udGV4dC5hZGRf
aWRscygiQSBpbXBsZW1lbnRzIE47Iik7Ci0gICAgICAgIHZhciBtYXAgPSBjb250ZXh0Lm1lbWJl
cnMuQS5kZWZhdWx0X3RvX2pzb25fb3BlcmF0aW9uKCk7Ci0gICAgICAgIGFzc2VydF9hcnJheV9l
cXVhbHMoWy4uLm1hcC5rZXlzKCldLCBbImEiLCAibiJdKTsKLSAgICAgICAgYXNzZXJ0X2FycmF5
X2VxdWFscyhbLi4ubWFwLnZhbHVlcygpXS5tYXAodiA9PiB2LmlkbFR5cGUpLCBbIkRPTVN0cmlu
ZyIsICJsb25nIl0pOwotICAgIH0sICdzaG91bGQgcmV0dXJuIGEgcHJvcGVybHkgb3JkZXJlZCBt
YXAgdGhhdCBhY2NvdW50cyBmb3IgbWl4ZWQtaW4gaW50ZXJmYWNlcyB3aGljaCBkZWNsYXJlIGEg
W0RlZmF1bHRdIHRvSlNPTiBvcGVyYXRpb24uJyk7Ci0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewot
ICAgICAgICB2YXIgY29udGV4dCA9IG5ldyBJZGxBcnJheSgpOwotICAgICAgICBjb250ZXh0LmFk
ZF9pZGxzKCJpbnRlcmZhY2UgQSB7IFtEZWZhdWx0XSBvYmplY3QgdG9KU09OKCk7IGF0dHJpYnV0
ZSBET01TdHJpbmcgYTsgfTsiKTsKLSAgICAgICAgY29udGV4dC5hZGRfaWRscygiaW50ZXJmYWNl
IE4geyBhdHRyaWJ1dGUgbG9uZyBuOyB9OyIpOwotICAgICAgICBjb250ZXh0LmFkZF9pZGxzKCJB
IGltcGxlbWVudHMgTjsiKTsKLSAgICAgICAgdmFyIG1hcCA9IGNvbnRleHQubWVtYmVycy5BLmRl
ZmF1bHRfdG9fanNvbl9vcGVyYXRpb24oKTsKLSAgICAgICAgYXNzZXJ0X2VxdWFscyhtYXAuc2l6
ZSwgMSk7Ci0gICAgICAgIGFzc2VydF90cnVlKG1hcC5oYXMoImEiKSk7Ci0gICAgICAgIGFzc2Vy
dF9mYWxzZShtYXAuaGFzKCJuIikpOwotICAgICAgICBhc3NlcnRfZXF1YWxzKG1hcC5nZXQoImEi
KS5pZGxUeXBlLCAiRE9NU3RyaW5nIik7Ci0gICAgfSwgJ3Nob3VsZCByZXR1cm4gYSBwcm9wZXJs
eSBvcmRlcmVkIG1hcCB0aGF0IGlnbm9yZXMgbWl4ZWQtaW4gaW50ZXJmYWNlcyB3aGljaCBkbyBu
b3QgZGVjbGFyZSBhIFtEZWZhdWx0XSB0b0pTT04gb3BlcmF0aW9uLicpOwotCi0KLSAgICB0ZXN0
KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgY29udGV4dCA9IG5ldyBJZGxBcnJheSgpOwotICAg
ICAgICBjb250ZXh0LmFkZF9pZGxzKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmcmFnbWVudHMn
KS50ZXh0Q29udGVudCk7Ci0gICAgICAgIHZhciBtYXAgPSBjb250ZXh0Lm1lbWJlcnMuQS5kZWZh
dWx0X3RvX2pzb25fb3BlcmF0aW9uKCk7Ci0gICAgICAgIGFzc2VydF9hcnJheV9lcXVhbHMoWy4u
Lm1hcC5rZXlzKCldLCBbImIiLCAiZiIsICJpIiwgImQiLCAiZyIsICJoIiwgImoiXSk7Ci0gICAg
ICAgIGFzc2VydF9hcnJheV9lcXVhbHMoWy4uLm1hcC52YWx1ZXMoKV0ubWFwKHYgPT4gdi5pZGxU
eXBlKSwgWyJsb25nIiwgInVucmVzdHJpY3RlZCBkb3VibGUiLCAiYm9vbGVhbiIsICJmbG9hdCIs
ICJvY3RldCIsICJET01TdHJpbmciLCAiRCJdKTsKLSAgICB9LCAnc2hvdWxkIHJldHVybiBhIHBy
b3Blcmx5IG9yZGVyZWQgbWFwIG9mIG5hbWUvdHlwZSBwYWlycyBoYW5kbGluZyBpbmhlcml0ZWQg
YW5kIGNvbnNlcXVlbnRpYWwgaW50ZXJmYWNlcyBhcyBzcGVjaWZpZWQuJyk7Ci08L3NjcmlwdD4K
LTwvYm9keT4KLTwvaHRtbD4KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9pZGxoYXJuZXNzL0lkbElu
dGVyZmFjZS9nZXRfaW5oZXJpdGFuY2Vfc3RhY2suaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRsaGFybmVzcy9J
ZGxJbnRlcmZhY2UvZ2V0X2luaGVyaXRhbmNlX3N0YWNrLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IGMxZDYxNDE1Njc2OWU5NDVlMWZlYzk4YzdiOTNmYTdhNDQwNzY4NzYuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9pZGxo
YXJuZXNzL0lkbEludGVyZmFjZS9nZXRfaW5oZXJpdGFuY2Vfc3RhY2suaHRtbAorKysgL2Rldi9u
dWxsCkBAIC0xLDM1ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLTx0
aXRsZT5JZGxJbnRlcmZhY2UucHJvdG90eXBlLmdldF9pbmhlcml0YW5jZV9zdGFjaygpPC90aXRs
ZT4KLTwvaGVhZD4KLTxib2R5PgotPGRpdiBpZD0ibG9nIj48L2Rpdj4KLTxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL1dlYklETFBhcnNlci5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9p
ZGxoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi9oZWxwZXIuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdD4KLSAgICAidXNlIHN0cmljdCI7Ci0gICAgdGVzdChmdW5jdGlvbigpIHsK
LSAgICAgICAgdmFyIHN0YWNrID0gaW50ZXJmYWNlRnJvbSgnaW50ZXJmYWNlIEEgeyB9OycpLmdl
dF9pbmhlcml0YW5jZV9zdGFjaygpOwotICAgICAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKHN0YWNr
Lm1hcChpID0+IGkubmFtZSksIFsiQSJdKTsKLSAgICB9LCAnc2hvdWxkIHJldHVybiBhbiBhcnJh
eSB0aGF0IGluY2x1ZGVzIGl0c2VsZi4nKTsKLSAgICAKLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewot
ICAgICAgICB2YXIgaSA9IGludGVyZmFjZUZyb20oJ2ludGVyZmFjZSBBIDogQiB7IH07Jyk7Ci0g
ICAgICAgIGFzc2VydF90aHJvd3MobmV3IEVycm9yKCksIF8gPT4gaS5nZXRfaW5oZXJpdGFuY2Vf
c3RhY2soKSk7Ci0gICAgfSwgInNob3VsZCB0aHJvdyBmb3IgaW50ZXJmYWNlcyB3aGljaCBpbmhl
cml0IGZyb20gYW5vdGhlciBpbnRlcmZhY2Ugd2hpY2ggd2Fzbid0IGFkZGVkIHRvIHRoZSBJZGxB
cnJheSIpOwotICAgIAotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBpZGwgPSBu
ZXcgSWRsQXJyYXkoKTsKLSAgICAgICAgaWRsLmFkZF9pZGxzKCdpbnRlcmZhY2UgQSA6IEIgeyB9
OycpOwotICAgICAgICBpZGwuYWRkX3VudGVzdGVkX2lkbHMoJ2ludGVyZmFjZSBCIDogQyB7IH07
IGludGVyZmFjZSBDIHsgfTsnKTsKLSAgICAgICAgdmFyIEEgPSBpZGwubWVtYmVyc1siQSJdOwot
ICAgICAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKEEuZ2V0X2luaGVyaXRhbmNlX3N0YWNrKCkubWFw
KGkgPT4gaS5uYW1lKSwgWyJBIiwgIkIiLCAiQyJdKTsKLSAgICB9LCAnc2hvdWxkIHJldHVybiBh
biBhcnJheSBvZiBpbmhlcml0ZWQgaW50ZXJmYWNlcyBpbiBvcmRlciBvZiBpbmhlcml0YW5jZSwg
c3RhcnRpbmcgd2l0aCBpdHNlbGYuJyk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KLQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvdGVzdC90ZXN0cy9pZGxoYXJuZXNzL0lkbEludGVyZmFjZS9oYXNfZGVmYXVsdF90
b19qc29uX3JlZ3VsYXJfb3BlcmF0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2lkbGhhcm5lc3MvSWRsSW50
ZXJmYWNlL2hhc19kZWZhdWx0X3RvX2pzb25fcmVndWxhcl9vcGVyYXRpb24uaHRtbApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTQ5OGEzYTdiY2VlNTUwNGQ0MmRjNzM4YmI0YTY5ZTAx
YmNhNGFhZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0
L3Rlc3RzL2lkbGhhcm5lc3MvSWRsSW50ZXJmYWNlL2hhc19kZWZhdWx0X3RvX2pzb25fcmVndWxh
cl9vcGVyYXRpb24uaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDQ3ICswLDAgQEAKLTwhRE9DVFlQ
RSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLTx0aXRsZT5JZGxJbnRlcmZhY2UucHJvdG90eXBlLmhh
c19kZWZhdWx0X3RvX2pzb25fcmVndWxhcl9vcGVyYXRpb24oKTwvdGl0bGU+Ci08L2hlYWQ+Ci08
Ym9keT4KLTxkaXYgaWQ9ImxvZyI+PC9kaXY+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9XZWJJRExQYXJz
ZXIuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvaWRsaGFybmVzcy5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vaGVscGVyLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+
Ci0gICAgInVzZSBzdHJpY3QiOwotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBp
ID0gaW50ZXJmYWNlRnJvbSgnaW50ZXJmYWNlIEEgeyB9OycpOwotICAgICAgICBhc3NlcnRfZmFs
c2UoaS5oYXNfZGVmYXVsdF90b19qc29uX3JlZ3VsYXJfb3BlcmF0aW9uKCkpOwotICAgIH0sICdz
aG91bGQgcmV0dXJuIGZhbHNlIHdoZW4gdGhlIGludGVyZmFjZSBkZWNsYXJlcyBubyB0b0pTT04g
b3BlcmF0aW9uLicpOwotCi0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIGkgPSBp
bnRlcmZhY2VGcm9tKCdpbnRlcmZhY2UgQSB7IHN0YXRpYyBvYmplY3QgdG9KU09OKCk7IH07Jyk7
Ci0gICAgICAgIGFzc2VydF9mYWxzZShpLmhhc19kZWZhdWx0X3RvX2pzb25fcmVndWxhcl9vcGVy
YXRpb24oKSk7Ci0gICAgfSwgJ3Nob3VsZCByZXR1cm4gZmFsc2Ugd2hlbiB0aGUgaW50ZXJmYWNl
IGRlY2xhcmVzIGEgc3RhdGljIHRvSlNPTiBvcGVyYXRpb24uJyk7Ci0KLSAgICB0ZXN0KGZ1bmN0
aW9uKCkgewotICAgICAgICB2YXIgaSA9IGludGVyZmFjZUZyb20oJ2ludGVyZmFjZSBBIHsgb2Jq
ZWN0IHRvSlNPTigpOyB9OycpOwotICAgICAgICBhc3NlcnRfZmFsc2UoaS5oYXNfZGVmYXVsdF90
b19qc29uX3JlZ3VsYXJfb3BlcmF0aW9uKCkpOwotICAgIH0sICdzaG91bGQgcmV0dXJuIGZhbHNl
IHdoZW4gdGhlIGludGVyZmFjZSBkZWNsYXJlcyBhIHJlZ3VsYXIgdG9KU09OIG9wZXJhdGlvbiB3
aXRoIG5vIGV4dGVuZGVkIGF0dHJpYnV0ZS4nKTsKLQotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0g
ICAgICAgIHZhciBpID0gaW50ZXJmYWNlRnJvbSgnaW50ZXJmYWNlIEEgeyBbeF0gb2JqZWN0IHRv
SlNPTigpOyB9OycpOwotICAgICAgICBhc3NlcnRfZmFsc2UoaS5oYXNfZGVmYXVsdF90b19qc29u
X3JlZ3VsYXJfb3BlcmF0aW9uKCkpOwotICAgIH0sICdzaG91bGQgcmV0dXJuIGZhbHNlIHdoZW4g
dGhlIGludGVyZmFjZSBkZWNsYXJlcyBhIHJlZ3VsYXIgdG9KU09OIG9wZXJhdGlvbiB3aXRoIGFu
b3RoZXIgZXh0ZW50ZWQgYXR0cmlidXRlLicpOwotCi0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAg
ICAgICAgdmFyIGkgPSBpbnRlcmZhY2VGcm9tKCdpbnRlcmZhY2UgQSB7IFtEZWZhdWx0XSBvYmpl
Y3QgdG9KU09OKCk7IH07Jyk7Ci0gICAgICAgIGFzc2VydF90cnVlKGkuaGFzX2RlZmF1bHRfdG9f
anNvbl9yZWd1bGFyX29wZXJhdGlvbigpKTsKLSAgICB9LCAnc2hvdWxkIHJldHVybiB0cnVlIHdo
ZW4gdGhlIGludGVyZmFjZSBkZWNsYXJlcyBhIHJlZ3VsYXIgdG9KU09OIG9wZXJhdGlvbiB3aXRo
IHRoZSBbRGVmYXVsdF0gZXh0ZW50ZWQgYXR0cmlidXRlLicpOwotCi0gICAgdGVzdChmdW5jdGlv
bigpIHsKLSAgICAgICAgdmFyIGkgPSBpbnRlcmZhY2VGcm9tKCdpbnRlcmZhY2UgQSB7IFtBdHRy
LCBBbm90aGVyQXR0ciwgRGVmYXVsdF0gb2JqZWN0IHRvSlNPTigpOyB9OycpOwotICAgICAgICBh
c3NlcnRfdHJ1ZShpLmhhc19kZWZhdWx0X3RvX2pzb25fcmVndWxhcl9vcGVyYXRpb24oKSk7Ci0g
ICAgfSwgJ3Nob3VsZCByZXR1cm4gdHJ1ZSB3aGVuIHRoZSBpbnRlcmZhY2UgZGVjbGFyZXMgYSBy
ZWd1bGFyIHRvSlNPTiBvcGVyYXRpb24gd2l0aCBtdWx0aXBsZSBleHRlbmRlZCBhdHRyaWJ1dGVz
LCBpbmNsdWRpbmcgW0RlZmF1bHRdLicpOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+Ci0K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRsaGFybmVzcy9JZGxJbnRlcmZhY2UvaGFzX3RvX2pzb25f
cmVndWxhcl9vcGVyYXRpb24uaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRsaGFybmVzcy9JZGxJbnRlcmZhY2Uv
aGFzX3RvX2pzb25fcmVndWxhcl9vcGVyYXRpb24uaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggYTRiNGU5MWI1MzhjYzZmOWVlODlhNTg0ZGJiODIyNDg4OWQwODA3MS4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2lkbGhhcm5l
c3MvSWRsSW50ZXJmYWNlL2hhc190b19qc29uX3JlZ3VsYXJfb3BlcmF0aW9uLmh0bWwKKysrIC9k
ZXYvbnVsbApAQCAtMSwzMiArMCwwIEBACi08IURPQ1RZUEUgSFRNTD4KLTxodG1sPgotPGhlYWQ+
Ci08dGl0bGU+SWRsSW50ZXJmYWNlLnByb3RvdHlwZS5oYXNfdG9fanNvbl9yZWd1bGFyX29wZXJh
dGlvbigpPC90aXRsZT4KLTwvaGVhZD4KLTxib2R5PgotPGRpdiBpZD0ibG9nIj48L2Rpdj4KLTxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL1dlYklETFBhcnNlci5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy9pZGxoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi9oZWxw
ZXIuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLSAgICAidXNlIHN0cmljdCI7Ci0gICAgdGVzdChm
dW5jdGlvbigpIHsKLSAgICAgICAgdmFyIGkgPSBpbnRlcmZhY2VGcm9tKCdpbnRlcmZhY2UgQSB7
IH07Jyk7Ci0gICAgICAgIGFzc2VydF9mYWxzZShpLmhhc190b19qc29uX3JlZ3VsYXJfb3BlcmF0
aW9uKCkpOwotICAgIH0sICdzaG91bGQgcmV0dXJuIGZhbHNlIHdoZW4gdGhlIGludGVyZmFjZSBk
ZWNsYXJlcyBubyB0b0pTT04gb3BlcmF0aW9uLicpOwotICAgIAotICAgIHRlc3QoZnVuY3Rpb24o
KSB7Ci0gICAgICAgIHZhciBpID0gaW50ZXJmYWNlRnJvbSgnaW50ZXJmYWNlIEEgeyBzdGF0aWMg
b2JqZWN0IHRvSlNPTigpOyB9OycpOwotICAgICAgICBhc3NlcnRfZmFsc2UoaS5oYXNfdG9fanNv
bl9yZWd1bGFyX29wZXJhdGlvbigpKTsKLSAgICB9LCAnc2hvdWxkIHJldHVybiBmYWxzZSB3aGVu
IHRoZSBpbnRlcmZhY2UgZGVjbGFyZXMgYSBzdGF0aWMgdG9KU09OIG9wZXJhdGlvbi4nKTsKLSAg
ICAKLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgaSA9IGludGVyZmFjZUZyb20o
J2ludGVyZmFjZSBBIHsgb2JqZWN0IHRvSlNPTigpOyB9OycpOwotICAgICAgICBhc3NlcnRfdHJ1
ZShpLmhhc190b19qc29uX3JlZ3VsYXJfb3BlcmF0aW9uKCkpOwotICAgIH0sICdzaG91bGQgcmV0
dXJuIHRydWUgd2hlbiB0aGUgaW50ZXJmYWNlIGRlY2xhcmVzIGEgcmVndWxhciB0b0pTT04gb3Bl
cmF0aW9uLicpOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+Ci0KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3Qv
dGVzdHMvaWRsaGFybmVzcy9JZGxJbnRlcmZhY2UvdGVzdF9pbW11dGFibGVfcHJvdG90eXBlLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy90ZXN0L3Rlc3RzL2lkbGhhcm5lc3MvSWRsSW50ZXJmYWNlL3Rlc3RfaW1tdXRhYmxlX3Byb3Rv
dHlwZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxNjIxNGM0ZDI0Zjk4NjQ4
MzAzYjdlOTFkNWViNmIxYWE4NmE2NTk3Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRsaGFybmVzcy9JZGxJbnRlcmZhY2UvdGVzdF9pbW11
dGFibGVfcHJvdG90eXBlLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwzMjEgKzAsMCBAQAotPCFE
T0NUWVBFIEhUTUw+Ci08aHRtbD4KLTxoZWFkPgotICA8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Ci0g
IDx0aXRsZT5pZGxoYXJuZXNzOiBJbW11dGFibGUgcHJvdG90eXBlczwvdGl0bGU+Ci0gIDxzY3Jp
cHQgc3JjPSIuLi8uLi8uLi8uLi90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci0gIDxzY3JpcHQg
c3JjPSIuLi8uLi8uLi8uLi90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci0gIDxzY3Jp
cHQgc3JjPSIuLi8uLi8uLi8uLi9XZWJJRExQYXJzZXIuanMiPjwvc2NyaXB0PgotICA8c2NyaXB0
IHNyYz0iLi4vLi4vLi4vLi4vaWRsaGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9k
eT4KLTxzY3JpcHQ+Ci0idXNlIHN0cmljdHQiOwotCi1PYmplY3QuZGVmaW5lUHJvcGVydHkod2lu
ZG93LCAiRm9vIiwgewotICAgIGVudW1lcmFibGU6IGZhbHNlLAotICAgIHdyaXRhYmxlOiB0cnVl
LAotICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSwKLSAgICB2YWx1ZTogZnVuY3Rpb24gRm9vKCkge30K
LSAgfSk7Ci1PYmplY3QuZGVmaW5lUHJvcGVydHkod2luZG93LkZvbywgInByb3RvdHlwZSIsIHsK
LSAgICB3cml0YWJsZTogZmFsc2UsCi0gICAgdmFsdWU6IHdpbmRvdy5Gb28ucHJvdG90eXBlCi0g
IH0pOwotRm9vLnByb3RvdHlwZVtTeW1ib2wudG9TdHJpbmdUYWddID0gIkZvbyI7Ci0KLXZhciBp
ZGxBcnJheSA9IG5ldyBJZGxBcnJheSgpOwotaWRsQXJyYXkuYWRkX3VudGVzdGVkX2lkbHMoImlu
dGVyZmFjZSBFdmVudFRhcmdldCB7fTsiKTsKLWlkbEFycmF5LmFkZF9pZGxzKAotICAgICJbR2xv
YmFsPVdpbmRvdywgRXhwb3NlZD1XaW5kb3ddXG4iICsKLSAgICAiaW50ZXJmYWNlIFdpbmRvdyA6
IEV2ZW50VGFyZ2V0IHt9O1xuIiArCi0KLSAgICAiW0dsb2JhbD1XaW5kb3csIEV4cG9zZWQ9V2lu
ZG93LCBDb25zdHJ1Y3RvcigpXVxuIiArCi0JImludGVyZmFjZSBGb28ge307IgotICApOwotaWRs
QXJyYXkuYWRkX29iamVjdHMoewotICBGb286IFsibmV3IEZvbygpIl0sCi0gIFdpbmRvdzogWyJ3
aW5kb3ciXQotfSk7Ci1pZGxBcnJheS50ZXN0KCk7Ci08L3NjcmlwdD4KLTxzY3JpcHQgdHlwZT0i
dGV4dC9qc29uIiBpZD0iZXhwZWN0ZWQiPgotewotICAgICJzdW1tYXJpemVkX3N0YXR1cyI6IHsK
LSAgICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgICAic3RhdHVzX3N0cmluZyI6ICJPSyIs
Ci0gICAgICAgICJzdGFjayI6IG51bGwKLSAgICB9LAotICAgICJzdW1tYXJpemVkX3Rlc3RzIjog
WwotICAgICAgICB7Ci0gICAgICAgICAgICAibmFtZSI6ICJGb28gaW50ZXJmYWNlIG9iamVjdCBs
ZW5ndGgiLAotICAgICAgICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAgICAg
ICAicHJvcGVydGllcyI6IHt9LAotICAgICAgICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAg
ICAgICAgInN0YWNrIjogbnVsbAotICAgICAgICB9LAotICAgICAgICB7Ci0gICAgICAgICAgICAi
bmFtZSI6ICJGb28gaW50ZXJmYWNlIG9iamVjdCBuYW1lIiwKLSAgICAgICAgICAgICJzdGF0dXNf
c3RyaW5nIjogIlBBU1MiLAotICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICAg
ICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICAgICAgICJzdGFjayI6IG51bGwKLSAgICAgICAg
fSwKLSAgICAgICAgewotICAgICAgICAgICAgIm5hbWUiOiAiRm9vIGludGVyZmFjZTogZXhpc3Rl
bmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QiLAotICAgICAgICAgICAgInN0
YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAgICAgICAicHJvcGVydGllcyI6IHt9LAotICAg
ICAgICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgICAgICAgInN0YWNrIjogbnVsbAotICAg
ICAgICB9LAotICAgICAgICB7Ci0gICAgICAgICAgICAibmFtZSI6ICJGb28gaW50ZXJmYWNlOiBl
eGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QiLAot
ICAgICAgICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAgICAgICAicHJvcGVy
dGllcyI6IHt9LAotICAgICAgICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgICAgICAgInN0
YWNrIjogbnVsbAotICAgICAgICB9LAotICAgICAgICB7Ci0gICAgICAgICAgICAibmFtZSI6ICJG
b28gaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3Rv
dHlwZSBvYmplY3QncyBcImNvbnN0cnVjdG9yXCIgcHJvcGVydHkiLAotICAgICAgICAgICAgInN0
YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAgICAgICAicHJvcGVydGllcyI6IHt9LAotICAg
ICAgICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgICAgICAgInN0YWNrIjogbnVsbAotICAg
ICAgICB9LAotICAgICAgICB7Ci0gICAgICAgICAgICAibmFtZSI6ICJGb28gaW50ZXJmYWNlOiBp
bnRlcm5hbCBbW1NldFByb3RvdHlwZU9mXV0gbWV0aG9kIG9mIGdsb2JhbCBwbGF0Zm9ybSBvYmpl
Y3QgLSBzZXR0aW5nIHRvIGEgbmV3IHZhbHVlIHZpYSBPYmplY3Quc2V0UHJvdG90eXBlT2Ygc2hv
dWxkIHRocm93IGEgVHlwZUVycm9yIiwKLSAgICAgICAgICAgICJzdGF0dXNfc3RyaW5nIjogIkZB
SUwiLAotICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICAgICAgICJtZXNzYWdl
IjogImFzc2VydF90aHJvd3M6IGZ1bmN0aW9uIFwiZnVuY3Rpb24oKSB7XG4gICAgICAgICAgICBP
YmplY3Quc2V0UHJvdG90eXBlT2Yob2JqLCBuZXdWYWx1ZSk7XG4gICAgICAgIH1cIiBkaWQgbm90
IHRocm93IiwKLSAgICAgICAgICAgICJzdGFjayI6ICIoaW1wbGVtZW50YXRpb24tZGVmaW5lZCki
Ci0gICAgICAgIH0sCi0gICAgICAgIHsKLSAgICAgICAgICAgICJuYW1lIjogIkZvbyBpbnRlcmZh
Y2U6IGludGVybmFsIFtbU2V0UHJvdG90eXBlT2ZdXSBtZXRob2Qgb2YgZ2xvYmFsIHBsYXRmb3Jt
IG9iamVjdCAtIHNldHRpbmcgdG8gYSBuZXcgdmFsdWUgdmlhIFJlZmxlY3Quc2V0UHJvdG90eXBl
T2Ygc2hvdWxkIHJldHVybiBmYWxzZSIsCi0gICAgICAgICAgICAic3RhdHVzX3N0cmluZyI6ICJG
QUlMIiwKLSAgICAgICAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAgICAgICAibWVzc2Fn
ZSI6ICJhc3NlcnRfZmFsc2U6IGV4cGVjdGVkIGZhbHNlIGdvdCB0cnVlIiwKLSAgICAgICAgICAg
ICJzdGFjayI6ICIoaW1wbGVtZW50YXRpb24tZGVmaW5lZCkiCi0gICAgICAgIH0sCi0gICAgICAg
IHsKLSAgICAgICAgICAgICJuYW1lIjogIkZvbyBpbnRlcmZhY2U6IGludGVybmFsIFtbU2V0UHJv
dG90eXBlT2ZdXSBtZXRob2Qgb2YgZ2xvYmFsIHBsYXRmb3JtIG9iamVjdCAtIHNldHRpbmcgdG8g
YSBuZXcgdmFsdWUgdmlhIF9fcHJvdG9fXyBzaG91bGQgdGhyb3cgYSBUeXBlRXJyb3IiLAotICAg
ICAgICAgICAgInN0YXR1c19zdHJpbmciOiAiRkFJTCIsCi0gICAgICAgICAgICAicHJvcGVydGll
cyI6IHt9LAotICAgICAgICAgICAgIm1lc3NhZ2UiOiAiYXNzZXJ0X3Rocm93czogZnVuY3Rpb24g
XCJmdW5jdGlvbigpIHtcbiAgICAgICAgICAgIG9iai5fX3Byb3RvX18gPSBuZXdWYWx1ZTtcbiAg
ICAgICAgfVwiIGRpZCBub3QgdGhyb3ciLAotICAgICAgICAgICAgInN0YWNrIjogIihpbXBsZW1l
bnRhdGlvbi1kZWZpbmVkKSIKLSAgICAgICAgfSwKLSAgICAgICAgewotICAgICAgICAgICAgIm5h
bWUiOiAiRm9vIGludGVyZmFjZTogaW50ZXJuYWwgW1tTZXRQcm90b3R5cGVPZl1dIG1ldGhvZCBv
ZiBnbG9iYWwgcGxhdGZvcm0gb2JqZWN0IC0gc2V0dGluZyB0byBpdHMgb3JpZ2luYWwgdmFsdWUg
dmlhIE9iamVjdC5zZXRQcm90b3R5cGVPZiBzaG91bGQgbm90IHRocm93IiwKLSAgICAgICAgICAg
ICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7fSwK
LSAgICAgICAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICAgICAgICJzdGFjayI6IG51bGwK
LSAgICAgICAgfSwKLSAgICAgICAgewotICAgICAgICAgICAgIm5hbWUiOiAiRm9vIGludGVyZmFj
ZTogaW50ZXJuYWwgW1tTZXRQcm90b3R5cGVPZl1dIG1ldGhvZCBvZiBnbG9iYWwgcGxhdGZvcm0g
b2JqZWN0IC0gc2V0dGluZyB0byBpdHMgb3JpZ2luYWwgdmFsdWUgdmlhIFJlZmxlY3Quc2V0UHJv
dG90eXBlT2Ygc2hvdWxkIHJldHVybiB0cnVlIiwKLSAgICAgICAgICAgICJzdGF0dXNfc3RyaW5n
IjogIlBBU1MiLAotICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICAgICAgICJt
ZXNzYWdlIjogbnVsbCwKLSAgICAgICAgICAgICJzdGFjayI6IG51bGwKLSAgICAgICAgfSwKLSAg
ICAgICAgewotICAgICAgICAgICAgIm5hbWUiOiAiRm9vIGludGVyZmFjZTogaW50ZXJuYWwgW1tT
ZXRQcm90b3R5cGVPZl1dIG1ldGhvZCBvZiBnbG9iYWwgcGxhdGZvcm0gb2JqZWN0IC0gc2V0dGlu
ZyB0byBpdHMgb3JpZ2luYWwgdmFsdWUgdmlhIF9fcHJvdG9fXyBzaG91bGQgbm90IHRocm93IiwK
LSAgICAgICAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgICAgICAgInByb3Bl
cnRpZXMiOiB7fSwKLSAgICAgICAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICAgICAgICJz
dGFjayI6IG51bGwKLSAgICAgICAgfSwKLSAgICAgICAgewotICAgICAgICAgICAgIm5hbWUiOiAi
Rm9vIGludGVyZmFjZTogaW50ZXJuYWwgW1tTZXRQcm90b3R5cGVPZl1dIG1ldGhvZCBvZiBpbnRl
cmZhY2UgcHJvdG90eXBlIG9iamVjdCAtIHNldHRpbmcgdG8gYSBuZXcgdmFsdWUgdmlhIE9iamVj
dC5zZXRQcm90b3R5cGVPZiBzaG91bGQgdGhyb3cgYSBUeXBlRXJyb3IiLAotICAgICAgICAgICAg
InN0YXR1c19zdHJpbmciOiAiRkFJTCIsCi0gICAgICAgICAgICAicHJvcGVydGllcyI6IHt9LAot
ICAgICAgICAgICAgIm1lc3NhZ2UiOiAiYXNzZXJ0X3Rocm93czogZnVuY3Rpb24gXCJmdW5jdGlv
bigpIHtcbiAgICAgICAgICAgIE9iamVjdC5zZXRQcm90b3R5cGVPZihvYmosIG5ld1ZhbHVlKTtc
biAgICAgICAgfVwiIGRpZCBub3QgdGhyb3ciLAotICAgICAgICAgICAgInN0YWNrIjogIihpbXBs
ZW1lbnRhdGlvbi1kZWZpbmVkKSIKLSAgICAgICAgfSwKLSAgICAgICAgewotICAgICAgICAgICAg
Im5hbWUiOiAiRm9vIGludGVyZmFjZTogaW50ZXJuYWwgW1tTZXRQcm90b3R5cGVPZl1dIG1ldGhv
ZCBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCAtIHNldHRpbmcgdG8gYSBuZXcgdmFsdWUg
dmlhIFJlZmxlY3Quc2V0UHJvdG90eXBlT2Ygc2hvdWxkIHJldHVybiBmYWxzZSIsCi0gICAgICAg
ICAgICAic3RhdHVzX3N0cmluZyI6ICJGQUlMIiwKLSAgICAgICAgICAgICJwcm9wZXJ0aWVzIjog
e30sCi0gICAgICAgICAgICAibWVzc2FnZSI6ICJhc3NlcnRfZmFsc2U6IGV4cGVjdGVkIGZhbHNl
IGdvdCB0cnVlIiwKLSAgICAgICAgICAgICJzdGFjayI6ICIoaW1wbGVtZW50YXRpb24tZGVmaW5l
ZCkiCi0gICAgICAgIH0sCi0gICAgICAgIHsKLSAgICAgICAgICAgICJuYW1lIjogIkZvbyBpbnRl
cmZhY2U6IGludGVybmFsIFtbU2V0UHJvdG90eXBlT2ZdXSBtZXRob2Qgb2YgaW50ZXJmYWNlIHBy
b3RvdHlwZSBvYmplY3QgLSBzZXR0aW5nIHRvIGEgbmV3IHZhbHVlIHZpYSBfX3Byb3RvX18gc2hv
dWxkIHRocm93IGEgVHlwZUVycm9yIiwKLSAgICAgICAgICAgICJzdGF0dXNfc3RyaW5nIjogIkZB
SUwiLAotICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICAgICAgICJtZXNzYWdl
IjogImFzc2VydF90aHJvd3M6IGZ1bmN0aW9uIFwiZnVuY3Rpb24oKSB7XG4gICAgICAgICAgICBv
YmouX19wcm90b19fID0gbmV3VmFsdWU7XG4gICAgICAgIH1cIiBkaWQgbm90IHRocm93IiwKLSAg
ICAgICAgICAgICJzdGFjayI6ICIoaW1wbGVtZW50YXRpb24tZGVmaW5lZCkiCi0gICAgICAgIH0s
Ci0gICAgICAgIHsKLSAgICAgICAgICAgICJuYW1lIjogIkZvbyBpbnRlcmZhY2U6IGludGVybmFs
IFtbU2V0UHJvdG90eXBlT2ZdXSBtZXRob2Qgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3Qg
LSBzZXR0aW5nIHRvIGl0cyBvcmlnaW5hbCB2YWx1ZSB2aWEgT2JqZWN0LnNldFByb3RvdHlwZU9m
IHNob3VsZCBub3QgdGhyb3ciLAotICAgICAgICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIs
Ci0gICAgICAgICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgICAgICAgIm1lc3NhZ2UiOiBu
dWxsLAotICAgICAgICAgICAgInN0YWNrIjogbnVsbAotICAgICAgICB9LAotICAgICAgICB7Ci0g
ICAgICAgICAgICAibmFtZSI6ICJGb28gaW50ZXJmYWNlOiBpbnRlcm5hbCBbW1NldFByb3RvdHlw
ZU9mXV0gbWV0aG9kIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IC0gc2V0dGluZyB0byBp
dHMgb3JpZ2luYWwgdmFsdWUgdmlhIFJlZmxlY3Quc2V0UHJvdG90eXBlT2Ygc2hvdWxkIHJldHVy
biB0cnVlIiwKLSAgICAgICAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgICAg
ICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAg
ICAgICAgICJzdGFjayI6IG51bGwKLSAgICAgICAgfSwKLSAgICAgICAgewotICAgICAgICAgICAg
Im5hbWUiOiAiRm9vIGludGVyZmFjZTogaW50ZXJuYWwgW1tTZXRQcm90b3R5cGVPZl1dIG1ldGhv
ZCBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCAtIHNldHRpbmcgdG8gaXRzIG9yaWdpbmFs
IHZhbHVlIHZpYSBfX3Byb3RvX18gc2hvdWxkIG5vdCB0aHJvdyIsCi0gICAgICAgICAgICAic3Rh
dHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAg
ICAgICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAgICAgICAic3RhY2siOiBudWxsCi0gICAg
ICAgIH0sCi0gICAgICAgIHsKLSAgICAgICAgICAgICJuYW1lIjogIkZvbyBtdXN0IGJlIHByaW1h
cnkgaW50ZXJmYWNlIG9mIG5ldyBGb28oKSIsCi0gICAgICAgICAgICAic3RhdHVzX3N0cmluZyI6
ICJQQVNTIiwKLSAgICAgICAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAgICAgICAibWVz
c2FnZSI6IG51bGwsCi0gICAgICAgICAgICAic3RhY2siOiBudWxsCi0gICAgICAgIH0sCi0gICAg
ICAgIHsKLSAgICAgICAgICAgICJuYW1lIjogIlN0cmluZ2lmaWNhdGlvbiBvZiBuZXcgRm9vKCki
LAotICAgICAgICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAgICAgICAicHJv
cGVydGllcyI6IHt9LAotICAgICAgICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgICAgICAg
InN0YWNrIjogbnVsbAotICAgICAgICB9LAotICAgICAgICB7Ci0gICAgICAgICAgICAibmFtZSI6
ICJTdHJpbmdpZmljYXRpb24gb2Ygd2luZG93IiwKLSAgICAgICAgICAgICJzdGF0dXNfc3RyaW5n
IjogIlBBU1MiLAotICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICAgICAgICJt
ZXNzYWdlIjogbnVsbCwKLSAgICAgICAgICAgICJzdGFjayI6IG51bGwKLSAgICAgICAgfSwKLSAg
ICAgICAgewotICAgICAgICAgICAgIm5hbWUiOiAiV2luZG93IGludGVyZmFjZSBvYmplY3QgbGVu
Z3RoIiwKLSAgICAgICAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgICAgICAg
InByb3BlcnRpZXMiOiB7fSwKLSAgICAgICAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICAg
ICAgICJzdGFjayI6IG51bGwKLSAgICAgICAgfSwKLSAgICAgICAgewotICAgICAgICAgICAgIm5h
bWUiOiAiV2luZG93IGludGVyZmFjZSBvYmplY3QgbmFtZSIsCi0gICAgICAgICAgICAic3RhdHVz
X3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAg
ICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAgICAgICAic3RhY2siOiBudWxsCi0gICAgICAg
IH0sCi0gICAgICAgIHsKLSAgICAgICAgICAgICJuYW1lIjogIldpbmRvdyBpbnRlcmZhY2U6IGV4
aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IiwKLSAgICAgICAgICAg
ICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7fSwK
LSAgICAgICAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICAgICAgICJzdGFjayI6IG51bGwK
LSAgICAgICAgfSwKLSAgICAgICAgewotICAgICAgICAgICAgIm5hbWUiOiAiV2luZG93IGludGVy
ZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2Jq
ZWN0IiwKLSAgICAgICAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgICAgICAg
InByb3BlcnRpZXMiOiB7fSwKLSAgICAgICAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICAg
ICAgICJzdGFjayI6IG51bGwKLSAgICAgICAgfSwKLSAgICAgICAgewotICAgICAgICAgICAgIm5h
bWUiOiAiV2luZG93IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVy
ZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgXCJjb25zdHJ1Y3RvclwiIHByb3BlcnR5IiwKLSAgICAg
ICAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgICAgICAgInByb3BlcnRpZXMi
OiB7fSwKLSAgICAgICAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICAgICAgICJzdGFjayI6
IG51bGwKLSAgICAgICAgfSwKLSAgICAgICAgewotICAgICAgICAgICAgIm5hbWUiOiAiV2luZG93
IGludGVyZmFjZTogaW50ZXJuYWwgW1tTZXRQcm90b3R5cGVPZl1dIG1ldGhvZCBvZiBnbG9iYWwg
cGxhdGZvcm0gb2JqZWN0IC0gc2V0dGluZyB0byBhIG5ldyB2YWx1ZSB2aWEgT2JqZWN0LnNldFBy
b3RvdHlwZU9mIHNob3VsZCB0aHJvdyBhIFR5cGVFcnJvciIsCi0gICAgICAgICAgICAic3RhdHVz
X3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAg
ICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAgICAgICAic3RhY2siOiBudWxsCi0gICAgICAg
IH0sCi0gICAgICAgIHsKLSAgICAgICAgICAgICJuYW1lIjogIldpbmRvdyBpbnRlcmZhY2U6IGlu
dGVybmFsIFtbU2V0UHJvdG90eXBlT2ZdXSBtZXRob2Qgb2YgZ2xvYmFsIHBsYXRmb3JtIG9iamVj
dCAtIHNldHRpbmcgdG8gYSBuZXcgdmFsdWUgdmlhIFJlZmxlY3Quc2V0UHJvdG90eXBlT2Ygc2hv
dWxkIHJldHVybiBmYWxzZSIsCi0gICAgICAgICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwK
LSAgICAgICAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAgICAgICAibWVzc2FnZSI6IG51
bGwsCi0gICAgICAgICAgICAic3RhY2siOiBudWxsCi0gICAgICAgIH0sCi0gICAgICAgIHsKLSAg
ICAgICAgICAgICJuYW1lIjogIldpbmRvdyBpbnRlcmZhY2U6IGludGVybmFsIFtbU2V0UHJvdG90
eXBlT2ZdXSBtZXRob2Qgb2YgZ2xvYmFsIHBsYXRmb3JtIG9iamVjdCAtIHNldHRpbmcgdG8gYSBu
ZXcgdmFsdWUgdmlhIF9fcHJvdG9fXyBzaG91bGQgdGhyb3cgYSBUeXBlRXJyb3IiLAotICAgICAg
ICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAgICAgICAicHJvcGVydGllcyI6
IHt9LAotICAgICAgICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgICAgICAgInN0YWNrIjog
bnVsbAotICAgICAgICB9LAotICAgICAgICB7Ci0gICAgICAgICAgICAibmFtZSI6ICJXaW5kb3cg
aW50ZXJmYWNlOiBpbnRlcm5hbCBbW1NldFByb3RvdHlwZU9mXV0gbWV0aG9kIG9mIGdsb2JhbCBw
bGF0Zm9ybSBvYmplY3QgLSBzZXR0aW5nIHRvIGl0cyBvcmlnaW5hbCB2YWx1ZSB2aWEgT2JqZWN0
LnNldFByb3RvdHlwZU9mIHNob3VsZCBub3QgdGhyb3ciLAotICAgICAgICAgICAgInN0YXR1c19z
dHJpbmciOiAiUEFTUyIsCi0gICAgICAgICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgICAg
ICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgICAgICAgInN0YWNrIjogbnVsbAotICAgICAgICB9
LAotICAgICAgICB7Ci0gICAgICAgICAgICAibmFtZSI6ICJXaW5kb3cgaW50ZXJmYWNlOiBpbnRl
cm5hbCBbW1NldFByb3RvdHlwZU9mXV0gbWV0aG9kIG9mIGdsb2JhbCBwbGF0Zm9ybSBvYmplY3Qg
LSBzZXR0aW5nIHRvIGl0cyBvcmlnaW5hbCB2YWx1ZSB2aWEgUmVmbGVjdC5zZXRQcm90b3R5cGVP
ZiBzaG91bGQgcmV0dXJuIHRydWUiLAotICAgICAgICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFT
UyIsCi0gICAgICAgICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgICAgICAgIm1lc3NhZ2Ui
OiBudWxsLAotICAgICAgICAgICAgInN0YWNrIjogbnVsbAotICAgICAgICB9LAotICAgICAgICB7
Ci0gICAgICAgICAgICAibmFtZSI6ICJXaW5kb3cgaW50ZXJmYWNlOiBpbnRlcm5hbCBbW1NldFBy
b3RvdHlwZU9mXV0gbWV0aG9kIG9mIGdsb2JhbCBwbGF0Zm9ybSBvYmplY3QgLSBzZXR0aW5nIHRv
IGl0cyBvcmlnaW5hbCB2YWx1ZSB2aWEgX19wcm90b19fIHNob3VsZCBub3QgdGhyb3ciLAotICAg
ICAgICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAgICAgICAicHJvcGVydGll
cyI6IHt9LAotICAgICAgICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgICAgICAgInN0YWNr
IjogbnVsbAotICAgICAgICB9LAotICAgICAgICB7Ci0gICAgICAgICAgICAibmFtZSI6ICJXaW5k
b3cgaW50ZXJmYWNlOiBpbnRlcm5hbCBbW1NldFByb3RvdHlwZU9mXV0gbWV0aG9kIG9mIGludGVy
ZmFjZSBwcm90b3R5cGUgb2JqZWN0IC0gc2V0dGluZyB0byBhIG5ldyB2YWx1ZSB2aWEgT2JqZWN0
LnNldFByb3RvdHlwZU9mIHNob3VsZCB0aHJvdyBhIFR5cGVFcnJvciIsCi0gICAgICAgICAgICAi
c3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0g
ICAgICAgICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAgICAgICAic3RhY2siOiBudWxsCi0g
ICAgICAgIH0sCi0gICAgICAgIHsKLSAgICAgICAgICAgICJuYW1lIjogIldpbmRvdyBpbnRlcmZh
Y2U6IGludGVybmFsIFtbU2V0UHJvdG90eXBlT2ZdXSBtZXRob2Qgb2YgaW50ZXJmYWNlIHByb3Rv
dHlwZSBvYmplY3QgLSBzZXR0aW5nIHRvIGEgbmV3IHZhbHVlIHZpYSBSZWZsZWN0LnNldFByb3Rv
dHlwZU9mIHNob3VsZCByZXR1cm4gZmFsc2UiLAotICAgICAgICAgICAgInN0YXR1c19zdHJpbmci
OiAiUEFTUyIsCi0gICAgICAgICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgICAgICAgIm1l
c3NhZ2UiOiBudWxsLAotICAgICAgICAgICAgInN0YWNrIjogbnVsbAotICAgICAgICB9LAotICAg
ICAgICB7Ci0gICAgICAgICAgICAibmFtZSI6ICJXaW5kb3cgaW50ZXJmYWNlOiBpbnRlcm5hbCBb
W1NldFByb3RvdHlwZU9mXV0gbWV0aG9kIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IC0g
c2V0dGluZyB0byBhIG5ldyB2YWx1ZSB2aWEgX19wcm90b19fIHNob3VsZCB0aHJvdyBhIFR5cGVF
cnJvciIsCi0gICAgICAgICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICAgICAg
ICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAgICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAg
ICAgICAic3RhY2siOiBudWxsCi0gICAgICAgIH0sCi0gICAgICAgIHsKLSAgICAgICAgICAgICJu
YW1lIjogIldpbmRvdyBpbnRlcmZhY2U6IGludGVybmFsIFtbU2V0UHJvdG90eXBlT2ZdXSBtZXRo
b2Qgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgLSBzZXR0aW5nIHRvIGl0cyBvcmlnaW5h
bCB2YWx1ZSB2aWEgT2JqZWN0LnNldFByb3RvdHlwZU9mIHNob3VsZCBub3QgdGhyb3ciLAotICAg
ICAgICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAgICAgICAicHJvcGVydGll
cyI6IHt9LAotICAgICAgICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgICAgICAgInN0YWNr
IjogbnVsbAotICAgICAgICB9LAotICAgICAgICB7Ci0gICAgICAgICAgICAibmFtZSI6ICJXaW5k
b3cgaW50ZXJmYWNlOiBpbnRlcm5hbCBbW1NldFByb3RvdHlwZU9mXV0gbWV0aG9kIG9mIGludGVy
ZmFjZSBwcm90b3R5cGUgb2JqZWN0IC0gc2V0dGluZyB0byBpdHMgb3JpZ2luYWwgdmFsdWUgdmlh
IFJlZmxlY3Quc2V0UHJvdG90eXBlT2Ygc2hvdWxkIHJldHVybiB0cnVlIiwKLSAgICAgICAgICAg
ICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7fSwK
LSAgICAgICAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICAgICAgICJzdGFjayI6IG51bGwK
LSAgICAgICAgfSwKLSAgICAgICAgewotICAgICAgICAgICAgIm5hbWUiOiAiV2luZG93IGludGVy
ZmFjZTogaW50ZXJuYWwgW1tTZXRQcm90b3R5cGVPZl1dIG1ldGhvZCBvZiBpbnRlcmZhY2UgcHJv
dG90eXBlIG9iamVjdCAtIHNldHRpbmcgdG8gaXRzIG9yaWdpbmFsIHZhbHVlIHZpYSBfX3Byb3Rv
X18gc2hvdWxkIG5vdCB0aHJvdyIsCi0gICAgICAgICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNT
IiwKLSAgICAgICAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAgICAgICAibWVzc2FnZSI6
IG51bGwsCi0gICAgICAgICAgICAic3RhY2siOiBudWxsCi0gICAgICAgIH0sCi0gICAgICAgIHsK
LSAgICAgICAgICAgICJuYW1lIjogIldpbmRvdyBtdXN0IGJlIHByaW1hcnkgaW50ZXJmYWNlIG9m
IHdpbmRvdyIsCi0gICAgICAgICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICAg
ICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAgICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAg
ICAgICAgICAic3RhY2siOiBudWxsCi0gICAgICAgIH0KLSAgICBdLAotICAgICJ0eXBlIjogImNv
bXBsZXRlIgotfQotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rl
c3RzL2lkbGhhcm5lc3MvSWRsSW50ZXJmYWNlL3Rlc3RfcHJpbWFyeV9pbnRlcmZhY2Vfb2YuaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3Rlc3QvdGVzdHMvaWRsaGFybmVzcy9JZGxJbnRlcmZhY2UvdGVzdF9wcmltYXJ5X2ludGVyZmFj
ZV9vZi5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4NTkzNDBhMjM2MjJjOGZk
YTExMDNhZDQzMDdmMWFjODU1MjMxNmVlLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRsaGFybmVzcy9JZGxJbnRlcmZhY2UvdGVzdF9wcmlt
YXJ5X2ludGVyZmFjZV9vZi5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTExICswLDAgQEAKLTwh
RE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLSAgPG1ldGEgY2hhcnNldD0idXRmLTgiPgot
ICA8dGl0bGU+aWRsaGFybmVzczogUHJpbWFyeSBpbnRlcmZhY2U8L3RpdGxlPgotICA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci0gIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLSAgPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvV2ViSURMUGFyc2VyLmpzIj48L3NjcmlwdD4KLSAgPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvaWRsaGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxw
PlZlcmlmeSB0aGUgc2VyaWVzIG9mIHN1Yi10ZXN0cyB0aGF0IGFyZSBleGVjdXRlZCBmb3IgInRl
c3RlZCIgaW50ZXJmYWNlCi1vYmplY3RzIGJ1dCBza2lwcGVkIGZvciAidW50ZXN0ZWQiIGludGVy
ZmFjZSBvYmplY3RzLjwvcD4KLTxzY3JpcHQ+Ci0idXNlIHN0cmljdCI7Ci0KLWZ1bmN0aW9uIEZv
b1BhcmVudCgpIHt9Ci1PYmplY3QuZGVmaW5lUHJvcGVydHkod2luZG93LCAiRm9vIiwgewotICAg
IGVudW1lcmFibGU6IGZhbHNlLAotICAgIHdyaXRhYmxlOiB0cnVlLAotICAgIGNvbmZpZ3VyYWJs
ZTogdHJ1ZSwKLSAgICB2YWx1ZTogZnVuY3Rpb24gRm9vKCkge30KLSAgfSk7Ci1PYmplY3QuZGVm
aW5lUHJvcGVydHkod2luZG93LkZvbywgInByb3RvdHlwZSIsIHsKLSAgICB3cml0YWJsZTogZmFs
c2UsCi0gICAgdmFsdWU6IG5ldyBGb29QYXJlbnQoKQotICB9KTsKLU9iamVjdC5kZWZpbmVQcm9w
ZXJ0eSh3aW5kb3cuRm9vLnByb3RvdHlwZSwgImNvbnN0cnVjdG9yIiwgewotICAgIGVudW1lcmFi
bGU6IGZhbHNlLAotICAgIHdyaXRhYmxlOiB0cnVlLAotICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSwK
LSAgICB2YWx1ZTogd2luZG93LkZvbwotICB9KTsKLUZvby5fX3Byb3RvX18gPSBGb29QYXJlbnQ7
Ci1Gb28ucHJvdG90eXBlW1N5bWJvbC50b1N0cmluZ1RhZ10gPSAiRm9vIjsKLQotdmFyIGlkbEFy
cmF5ID0gbmV3IElkbEFycmF5KCk7Ci1pZGxBcnJheS5hZGRfdW50ZXN0ZWRfaWRscygiaW50ZXJm
YWNlIEZvb1BhcmVudCB7fTsiKTsKLWlkbEFycmF5LmFkZF9pZGxzKAotICAgICJbQ29uc3RydWN0
b3IoKV1cbiIgKwotICAgICJpbnRlcmZhY2UgRm9vIDogRm9vUGFyZW50IHt9OyIKLSAgKTsKLWlk
bEFycmF5LmFkZF9vYmplY3RzKHsKLSAgRm9vOiBbIm5ldyBGb28oKSJdLAotICBGb29QYXJlbnQ6
IFsibmV3IEZvb1BhcmVudCgpIl0KLX0pOwotaWRsQXJyYXkudGVzdCgpOwotPC9zY3JpcHQ+Ci08
c2NyaXB0IHR5cGU9InRleHQvanNvbiIgaWQ9ImV4cGVjdGVkIj4KLXsKLSAgInN1bW1hcml6ZWRf
c3RhdHVzIjogewotICAgICJzdGF0dXNfc3RyaW5nIjogIk9LIiwKLSAgICAibWVzc2FnZSI6IG51
bGwsCi0gICAgInN0YWNrIjogbnVsbAotICB9LAotICAic3VtbWFyaXplZF90ZXN0cyI6IFsKLSAg
ICB7Ci0gICAgICAibmFtZSI6ICJGb28gaW50ZXJmYWNlIG9iamVjdCBsZW5ndGgiLAotICAgICAg
InN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAg
Im1lc3NhZ2UiOiBudWxsLAotICAgICAgInN0YWNrIjogbnVsbAotICAgIH0sCi0gICAgewotICAg
ICAgIm5hbWUiOiAiRm9vIGludGVyZmFjZSBvYmplY3QgbmFtZSIsCi0gICAgICAic3RhdHVzX3N0
cmluZyI6ICJQQVNTIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6
IG51bGwsCi0gICAgICAic3RhY2siOiBudWxsCi0gICAgfSwKLSAgICB7Ci0gICAgICAibmFtZSI6
ICJGb28gaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9i
amVjdCIsCi0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJwcm9wZXJ0aWVz
Ijoge30sCi0gICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAic3RhY2siOiBudWxsCi0gICAg
fSwKLSAgICB7Ci0gICAgICAibmFtZSI6ICJGb28gaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHBy
b3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QiLAotICAgICAgInN0YXR1c19z
dHJpbmciOiAiUEFTUyIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2Ui
OiBudWxsLAotICAgICAgInN0YWNrIjogbnVsbAotICAgIH0sCi0gICAgewotICAgICAgIm5hbWUi
OiAiRm9vIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBw
cm90b3R5cGUgb2JqZWN0J3MgXCJjb25zdHJ1Y3RvclwiIHByb3BlcnR5IiwKLSAgICAgICJzdGF0
dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNz
YWdlIjogbnVsbCwKLSAgICAgICJzdGFjayI6IG51bGwKLSAgICB9LAotICAgIHsKLSAgICAgICJu
YW1lIjogIkZvbyBtdXN0IGJlIHByaW1hcnkgaW50ZXJmYWNlIG9mIG5ldyBGb28oKSIsCi0gICAg
ICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAg
ICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAic3RhY2siOiBudWxsCi0gICAgfSwKLSAgICB7Ci0g
ICAgICAibmFtZSI6ICJTdHJpbmdpZmljYXRpb24gb2YgbmV3IEZvbygpIiwKLSAgICAgICJzdGF0
dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNz
YWdlIjogbnVsbCwKLSAgICAgICJzdGFjayI6IG51bGwKLSAgICB9Ci0gIF0sCi0gICJ0eXBlIjog
ImNvbXBsZXRlIgotfQotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0
L3Rlc3RzL2lkbGhhcm5lc3MvSWRsSW50ZXJmYWNlL3Rlc3RfdG9fanNvbl9vcGVyYXRpb24uaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3Rlc3QvdGVzdHMvaWRsaGFybmVzcy9JZGxJbnRlcmZhY2UvdGVzdF90b19qc29uX29wZXJhdGlv
bi5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxOGZjMzE5M2ZmOGJlMDZmYjcy
NDMxOTE0OGFjOGRkMTU3Njc4NGNkLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRsaGFybmVzcy9JZGxJbnRlcmZhY2UvdGVzdF90b19qc29u
X29wZXJhdGlvbi5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTkwICswLDAgQEAKLTwhRE9DVFlQ
RSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLSAgPG1ldGEgY2hhcnNldD0idXRmLTgiPgotICA8dGl0
bGU+SWRsSW50ZXJmYWNlLnByb3RvdHlwZS50ZXN0X3RvX2pzb25fb3BlcmF0aW9uKCk8L3RpdGxl
PgotICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci0g
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
LSAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvV2ViSURMUGFyc2VyLmpzIj48L3NjcmlwdD4KLSAg
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvaWRsaGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci0gIDxzY3Jp
cHQgc3JjPSIuLi9oZWxwZXIuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08c2NyaXB0
PgotICAgICJ1c2Ugc3RyaWN0IjsKLSAgICBmdW5jdGlvbiB3cmFwKG9iaikgewotICAgICAgICBm
dW5jdGlvbiBGKG9iaikgewotICAgICAgICAgICAgdGhpcy5fb2JqID0gb2JqOwotICAgICAgICB9
Ci0KLSAgICAgICAgRi5wcm90b3R5cGUudG9KU09OID0gZnVuY3Rpb24oKSB7Ci0gICAgICAgICAg
ICByZXR1cm4gdGhpcy5fb2JqOwotICAgICAgICB9Ci0KLSAgICAgICAgcmV0dXJuIG5ldyBGKG9i
aik7Ci0gICAgfQotCi0gICAgdmFyIGksIG9iajsKLSAgICBpID0gaW50ZXJmYWNlRnJvbSgiaW50
ZXJmYWNlIEEgeyBbRGVmYXVsdF0gb2JqZWN0IHRvSlNPTigpOyBhdHRyaWJ1dGUgbG9uZyBmb287
IH07Iik7Ci0gICAgaS50ZXN0X3RvX2pzb25fb3BlcmF0aW9uKHdyYXAoeyBmb286IDEyMyB9KSwg
aS5tZW1iZXJzWzBdKTsKLQotICAgIC8vIHNob3VsZCBmYWlsICh3cm9uZyB0eXBlKQotICAgIGkg
PSBpbnRlcmZhY2VGcm9tKCJpbnRlcmZhY2UgQiB7IFtEZWZhdWx0XSBvYmplY3QgdG9KU09OKCk7
IGF0dHJpYnV0ZSBsb25nIGZvbzsgfTsiKTsKLSAgICBpLnRlc3RfdG9fanNvbl9vcGVyYXRpb24o
d3JhcCh7IGZvbzogImEgdmFsdWUiIH0pLCBpLm1lbWJlcnNbMF0pOwotCi0gICAgLy8gc2hvdWxk
IGhhbmRsZSBleHRyYW5lb3VzIGF0dHJpYnV0ZXMgKGUuZy4gZnJvbSBhbiBleHRlbnNpb24gc3Bl
Y2lmaWNhdGlvbikKLSAgICBpID0gaW50ZXJmYWNlRnJvbSgiaW50ZXJmYWNlIEMgeyBbRGVmYXVs
dF0gb2JqZWN0IHRvSlNPTigpOyBhdHRyaWJ1dGUgbG9uZyBmb287IH07Iik7Ci0gICAgaS50ZXN0
X3RvX2pzb25fb3BlcmF0aW9uKHdyYXAoeyBmb286IDEyMywgYmFyOiA0NTYgfSksIGkubWVtYmVy
c1swXSk7Ci0KLSAgICAvLyBzaG91bGQgZmFpbCAobWlzc2luZyBwcm9wZXJ0eSkKLSAgICBpID0g
aW50ZXJmYWNlRnJvbSgiaW50ZXJmYWNlIEQgeyBbRGVmYXVsdF0gb2JqZWN0IHRvSlNPTigpOyBh
dHRyaWJ1dGUgbG9uZyBmb287IH07Iik7Ci0gICAgaS50ZXN0X3RvX2pzb25fb3BlcmF0aW9uKHdy
YXAoeyB9KSwgaS5tZW1iZXJzWzBdKTsKLQotICAgIC8vIHNob3VsZCBmYWlsIChzaG91bGQgYmUg
d3JpdGFibGUpCi0gICAgb2JqID0gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoe30sIHsgZm9vOiB7
Ci0gICAgICAgIHdyaXRhYmxlOiBmYWxzZSwKLSAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwKLSAg
ICAgICAgY29uZmlndXJhYmxlOiB0cnVlLAotICAgICAgICB2YWx1ZTogMTIzCi0gICAgfX0pOwot
ICAgIGkgPSBpbnRlcmZhY2VGcm9tKCJpbnRlcmZhY2UgRiB7IFtEZWZhdWx0XSBvYmplY3QgdG9K
U09OKCk7IGF0dHJpYnV0ZSBsb25nIGZvbzsgfTsiKTsKLSAgICBpLnRlc3RfdG9fanNvbl9vcGVy
YXRpb24od3JhcChvYmopLCBpLm1lbWJlcnNbMF0pOwotCi0gICAgLy8gc2hvdWxkIGZhaWwgKHNo
b3VsZCBiZSBlbnVtZXJhYmxlKQotICAgIG9iaiA9IE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKHt9
LCB7IGZvbzogewotICAgICAgICB3cml0YWJsZTogdHJ1ZSwKLSAgICAgICAgZW51bWVyYWJsZTog
ZmFsc2UsCi0gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSwKLSAgICAgICAgdmFsdWU6IDEyMwot
ICAgIH19KTsKLSAgICBpID0gaW50ZXJmYWNlRnJvbSgiaW50ZXJmYWNlIEcgeyBbRGVmYXVsdF0g
b2JqZWN0IHRvSlNPTigpOyBhdHRyaWJ1dGUgbG9uZyBmb287IH07Iik7Ci0gICAgaS50ZXN0X3Rv
X2pzb25fb3BlcmF0aW9uKHdyYXAob2JqKSwgaS5tZW1iZXJzWzBdKTsKLQotICAgIC8vIHNob3Vs
ZCBmYWlsIChzaG91bGQgYmUgY29uZmlndXJhYmxlKQotICAgIG9iaiA9IE9iamVjdC5kZWZpbmVQ
cm9wZXJ0aWVzKHt9LCB7IGZvbzogewotICAgICAgICB3cml0YWJsZTogdHJ1ZSwKLSAgICAgICAg
ZW51bWVyYWJsZTogdHJ1ZSwKLSAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZSwKLSAgICAgICAg
dmFsdWU6IDEyMwotICAgIH19KTsKLSAgICBpID0gaW50ZXJmYWNlRnJvbSgiaW50ZXJmYWNlIEgg
eyBbRGVmYXVsdF0gb2JqZWN0IHRvSlNPTigpOyBhdHRyaWJ1dGUgbG9uZyBmb287IH07Iik7Ci0g
ICAgaS50ZXN0X3RvX2pzb25fb3BlcmF0aW9uKHdyYXAob2JqKSwgaS5tZW1iZXJzWzBdKTsKLQot
ICAgIHZhciBpZGwgPSBuZXcgSWRsQXJyYXkoKTsKLSAgICBpZGwuYWRkX2lkbHMoImludGVyZmFj
ZSBJIDogSiB7IFtEZWZhdWx0XSBvYmplY3QgdG9KU09OKCk7IGF0dHJpYnV0ZSBsb25nIGZvbzsg
fTsiKTsKLSAgICBpZGwuYWRkX2lkbHMoImludGVyZmFjZSBKIHsgW0RlZmF1bHRdIG9iamVjdCB0
b0pTT04oKTsgYXR0cmlidXRlIERPTVN0cmluZyBmb287fTsiKTsKLSAgICB2YXIgaSA9IGlkbC5t
ZW1iZXJzLkk7Ci0gICAgaS50ZXN0X3RvX2pzb25fb3BlcmF0aW9uKHdyYXAoeyBmb286IDEyMyB9
KSwgaS5tZW1iZXJzWzBdKTsKLQotICAgIGkgPSBpbnRlcmZhY2VGcm9tKCJpbnRlcmZhY2UgSyB7
IFtEZWZhdWx0XSBvYmplY3QgdG9KU09OKCk7IH07Iik7Ci0gICAgaS50ZXN0X3RvX2pzb25fb3Bl
cmF0aW9uKHdyYXAoe30pLCBpLm1lbWJlcnNbMF0pOwotCi0gICAgaSA9IGludGVyZmFjZUZyb20o
ImludGVyZmFjZSBMIHsgRE9NU3RyaW5nIHRvSlNPTigpOyB9OyIpOwotICAgIGkudGVzdF90b19q
c29uX29wZXJhdGlvbih3cmFwKCJhIHN0cmluZyIpLCBpLm1lbWJlcnNbMF0pOwotCi0gICAgLy8g
c2hvdWxkIGZhaWwgKHdyb25nIG91dHB1dCB0eXBlKQotICAgIGkgPSBpbnRlcmZhY2VGcm9tKCJp
bnRlcmZhY2UgTSB7IERPTVN0cmluZyB0b0pTT04oKTsgfTsiKTsKLSAgICBpLnRlc3RfdG9fanNv
bl9vcGVyYXRpb24od3JhcCh7fSksIGkubWVtYmVyc1swXSk7Ci0KLSAgICAvLyBzaG91bGQgZmFp
bCAobm90IGFuIElETCB0eXBlKQotICAgIGkgPSBpbnRlcmZhY2VGcm9tKCJpbnRlcmZhY2UgTiB7
IERPTUV4Y2VwdGlvbiB0b0pTT04oKTsgfTsiKTsKLSAgICBpLnRlc3RfdG9fanNvbl9vcGVyYXRp
b24od3JhcCh7fSksIGkubWVtYmVyc1swXSk7Ci08L3NjcmlwdD4KLTxzY3JpcHQgdHlwZT0idGV4
dC9qc29uIiBpZD0iZXhwZWN0ZWQiPgotICAgIHsKLSAgICAgICAgInN1bW1hcml6ZWRfc3RhdHVz
IjogewotICAgICAgICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgICAgICAgInN0YWNrIjog
bnVsbCwKLSAgICAgICAgICAgICJzdGF0dXNfc3RyaW5nIjogIk9LIgotICAgICAgICB9LAotICAg
ICAgICAic3VtbWFyaXplZF90ZXN0cyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAg
ICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiVGVzdCBkZWZhdWx0
IHRvSlNPTiBvcGVyYXRpb24gb2YgQSIsCi0gICAgICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7
fSwKLSAgICAgICAgICAgICAgICAic3RhY2siOiBudWxsLAotICAgICAgICAgICAgICAgICJzdGF0
dXNfc3RyaW5nIjogIlBBU1MiCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAg
ICAgICAgICAgICJtZXNzYWdlIjogImFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIFwibnVtYmVyXCIg
YnV0IGdvdCBcInN0cmluZ1wiIiwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJUZXN0IGRlZmF1
bHQgdG9KU09OIG9wZXJhdGlvbiBvZiBCIiwKLSAgICAgICAgICAgICAgICAicHJvcGVydGllcyI6
IHt9LAotICAgICAgICAgICAgICAgICJzdGFjayI6ICIoaW1wbGVtZW50YXRpb24tZGVmaW5lZCki
LAotICAgICAgICAgICAgICAgICJzdGF0dXNfc3RyaW5nIjogIkZBSUwiCi0gICAgICAgICAgICB9
LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAg
ICAgICAgICAgICAibmFtZSI6ICJUZXN0IGRlZmF1bHQgdG9KU09OIG9wZXJhdGlvbiBvZiBDIiwK
LSAgICAgICAgICAgICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgICAgICAgICAgICJzdGFj
ayI6IG51bGwsCi0gICAgICAgICAgICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIKLSAgICAg
ICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgIm1lc3NhZ2UiOiAiYXNz
ZXJ0X3RydWU6IHByb3BlcnR5IFwiZm9vXCIgc2hvdWxkIGJlIHByZXNlbnQgaW4gdGhlIG91dHB1
dCBvZiBELnByb3RvdHlwZS50b0pTT04oKSBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZSIsCi0gICAg
ICAgICAgICAgICAgIm5hbWUiOiAiVGVzdCBkZWZhdWx0IHRvSlNPTiBvcGVyYXRpb24gb2YgRCIs
Ci0gICAgICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICAgICAgICAgICAic3Rh
Y2siOiAiKGltcGxlbWVudGF0aW9uLWRlZmluZWQpIiwKLSAgICAgICAgICAgICAgICAic3RhdHVz
X3N0cmluZyI6ICJGQUlMIgotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAg
ICAgICAgICAibWVzc2FnZSI6ICJhc3NlcnRfdHJ1ZTogcHJvcGVydHkgZm9vIHNob3VsZCBiZSB3
cml0YWJsZSBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZSIsCi0gICAgICAgICAgICAgICAgIm5hbWUi
OiAiVGVzdCBkZWZhdWx0IHRvSlNPTiBvcGVyYXRpb24gb2YgRiIsCi0gICAgICAgICAgICAgICAg
InByb3BlcnRpZXMiOiB7fSwKLSAgICAgICAgICAgICAgICAic3RhY2siOiAiKGltcGxlbWVudGF0
aW9uLWRlZmluZWQpIiwKLSAgICAgICAgICAgICAgICAic3RhdHVzX3N0cmluZyI6ICJGQUlMIgot
ICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAibWVzc2FnZSI6
ICJhc3NlcnRfdHJ1ZTogcHJvcGVydHkgZm9vIHNob3VsZCBiZSBlbnVtZXJhYmxlIGV4cGVjdGVk
IHRydWUgZ290IGZhbHNlIiwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJUZXN0IGRlZmF1bHQg
dG9KU09OIG9wZXJhdGlvbiBvZiBHIiwKLSAgICAgICAgICAgICAgICAicHJvcGVydGllcyI6IHt9
LAotICAgICAgICAgICAgICAgICJzdGFjayI6ICIoaW1wbGVtZW50YXRpb24tZGVmaW5lZCkiLAot
ICAgICAgICAgICAgICAgICJzdGF0dXNfc3RyaW5nIjogIkZBSUwiCi0gICAgICAgICAgICB9LAot
ICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJtZXNzYWdlIjogImFzc2VydF90cnVlOiBw
cm9wZXJ0eSBmb28gc2hvdWxkIGJlIGNvbmZpZ3VyYWJsZSBleHBlY3RlZCB0cnVlIGdvdCBmYWxz
ZSIsCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiVGVzdCBkZWZhdWx0IHRvSlNPTiBvcGVyYXRp
b24gb2YgSCIsCi0gICAgICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICAgICAg
ICAgICAic3RhY2siOiAiKGltcGxlbWVudGF0aW9uLWRlZmluZWQpIiwKLSAgICAgICAgICAgICAg
ICAic3RhdHVzX3N0cmluZyI6ICJGQUlMIgotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsK
LSAgICAgICAgICAgICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAgICAgICAgICAgIm5hbWUi
OiAiVGVzdCBkZWZhdWx0IHRvSlNPTiBvcGVyYXRpb24gb2YgSSIsCi0gICAgICAgICAgICAgICAg
InByb3BlcnRpZXMiOiB7fSwKLSAgICAgICAgICAgICAgICAic3RhY2siOiBudWxsLAotICAgICAg
ICAgICAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiCi0gICAgICAgICAgICB9LAotICAgICAg
ICAgICAgewotICAgICAgICAgICAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICAgICAgICAg
ICAibmFtZSI6ICJUZXN0IGRlZmF1bHQgdG9KU09OIG9wZXJhdGlvbiBvZiBLIiwKLSAgICAgICAg
ICAgICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgICAgICAgICAgICJzdGFjayI6IG51bGws
Ci0gICAgICAgICAgICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIKLSAgICAgICAgICAgIH0s
Ci0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAg
ICAgICAgICAgICJuYW1lIjogIlRlc3QgdG9KU09OIG9wZXJhdGlvbiBvZiBMIiwKLSAgICAgICAg
ICAgICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgICAgICAgICAgICJzdGFjayI6IG51bGws
Ci0gICAgICAgICAgICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIKLSAgICAgICAgICAgIH0s
Ci0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgIm1lc3NhZ2UiOiAiYXNzZXJ0X2VxdWFs
czogZXhwZWN0ZWQgXCJzdHJpbmdcIiBidXQgZ290IFwib2JqZWN0XCIiLAotICAgICAgICAgICAg
ICAgICJuYW1lIjogIlRlc3QgdG9KU09OIG9wZXJhdGlvbiBvZiBNIiwKLSAgICAgICAgICAgICAg
ICAicHJvcGVydGllcyI6IHt9LAotICAgICAgICAgICAgICAgICJzdGFjayI6ICIoaW1wbGVtZW50
YXRpb24tZGVmaW5lZCkiLAotICAgICAgICAgICAgICAgICJzdGF0dXNfc3RyaW5nIjogIkZBSUwi
Ci0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJtZXNzYWdl
IjogImFzc2VydF90cnVlOiB7XCJzZXF1ZW5jZVwiOmZhbHNlLFwiZ2VuZXJpY1wiOm51bGwsXCJu
dWxsYWJsZVwiOmZhbHNlLFwiYXJyYXlcIjpmYWxzZSxcInVuaW9uXCI6ZmFsc2UsXCJpZGxUeXBl
XCI6XCJET01FeGNlcHRpb25cIn0gaXMgbm90IGFuIGFwcHJvcHJpYXRlIHJldHVybiB2YWx1ZSBm
b3IgdGhlIHRvSlNPTiBvcGVyYXRpb24gb2YgTiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZSIsCi0g
ICAgICAgICAgICAgICAgIm5hbWUiOiAiVGVzdCB0b0pTT04gb3BlcmF0aW9uIG9mIE4iLAotICAg
ICAgICAgICAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAgICAgICAgICAgInN0YWNrIjog
IihpbXBsZW1lbnRhdGlvbi1kZWZpbmVkKSIsCi0gICAgICAgICAgICAgICAgInN0YXR1c19zdHJp
bmciOiAiRkFJTCIKLSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgInR5cGUiOiAi
Y29tcGxldGUiCi0gICAgfQotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9pZGxoYXJuZXNzL0lkbEludGVy
ZmFjZS90cmF2ZXJzZV9pbmhlcml0ZWRfYW5kX2NvbnNlcXVlbnRpYWxfaW50ZXJmYWNlcy5odG1s
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
dGVzdC90ZXN0cy9pZGxoYXJuZXNzL0lkbEludGVyZmFjZS90cmF2ZXJzZV9pbmhlcml0ZWRfYW5k
X2NvbnNlcXVlbnRpYWxfaW50ZXJmYWNlcy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAxYTE5MjkxOWFmOGQ3Y2U4N2U3YzI3MTkyMmNkZTJlNDI0MjFiZTg5Li4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRsaGFybmVzcy9J
ZGxJbnRlcmZhY2UvdHJhdmVyc2VfaW5oZXJpdGVkX2FuZF9jb25zZXF1ZW50aWFsX2ludGVyZmFj
ZXMuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDY1ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgot
PGh0bWw+Ci08aGVhZD4KLTx0aXRsZT5JZGxEaWN0aW9uYXJ5LnByb3RvdHlwZS50cmF2ZXJzZV9p
bmhlcml0ZWRfYW5kX2NvbnNlcXVlbnRpYWxfaW50ZXJmYWNlcygpPC90aXRsZT4KLTwvaGVhZD4K
LTxib2R5PgotPGRpdiBpZD0ibG9nIj48L2Rpdj4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL1dlYklETFBh
cnNlci5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9pZGxoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi9oZWxwZXIuanMiPjwvc2NyaXB0PgotPHByZSBp
ZD1mcmFnbWVudHM+Ci0gICAgaW50ZXJmYWNlIEEgOiBCIHsgfTsKLSAgICBpbnRlcmZhY2UgQiA6
IEMgeyB9OwotICAgIGludGVyZmFjZSBDIHsgfTsKLSAgICBpbnRlcmZhY2UgRCA6IEUgeyB9Owot
ICAgIGludGVyZmFjZSBFIDogRiB7IH07Ci0gICAgaW50ZXJmYWNlIEYgeyB9OwotICAgIGludGVy
ZmFjZSBHIHsgfTsKLSAgICBpbnRlcmZhY2UgSCB7IH07Ci0gICAgaW50ZXJmYWNlIEkgeyB9Owot
ICAgIGludGVyZmFjZSBKIHsgfTsKLQotICAgIEEgaW1wbGVtZW50cyBHOwotICAgIEEgaW1wbGVt
ZW50cyBIOwotICAgIEIgaW1wbGVtZW50cyBEOwotICAgIEUgaW1wbGVtZW50cyBJOwotICAgIEgg
aW1wbGVtZW50cyBKOwotPC9wcmU+Ci08c2NyaXB0PgotICAgICJ1c2Ugc3RyaWN0IjsKLSAgICB0
ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgaW50ZXJmYWNlcyA9IFtdOwotICAgICAgICBp
bnRlcmZhY2VGcm9tKCdpbnRlcmZhY2UgQSB7IH07JykudHJhdmVyc2VfaW5oZXJpdGVkX2FuZF9j
b25zZXF1ZW50aWFsX2ludGVyZmFjZXMoZnVuY3Rpb24oaSkgewotICAgICAgICAgICAgaW50ZXJm
YWNlcy5wdXNoKGkubmFtZSk7Ci0gICAgICAgIH0pOwotICAgICAgICBhc3NlcnRfYXJyYXlfZXF1
YWxzKGludGVyZmFjZXMsIFsiQSJdKTsKLSAgICB9LCAnc2hvdWxkIHJldHVybiBhbiBhcnJheSB0
aGF0IGluY2x1ZGVzIGl0c2VsZi4nKTsKLSAgICAKLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAg
ICAgICB2YXIgY29udGV4dCA9IG5ldyBJZGxBcnJheSgpOwotICAgICAgICBjb250ZXh0LmFkZF9p
ZGxzKCJpbnRlcmZhY2UgQSB7IH07IEEgaW1wbGVtZW50cyBCOyIpOwotICAgICAgICBhc3NlcnRf
dGhyb3dzKG5ldyBFcnJvcigpLCBfID0+IGNvbnRleHQubWVtYmVyc1siQSJdLnRyYXZlcnNlX2lu
aGVyaXRlZF9hbmRfY29uc2VxdWVudGlhbF9pbnRlcmZhY2VzKGZ1bmN0aW9uKCkge30pKTsKLSAg
ICB9LCAic2hvdWxkIHRocm93IGZvciBpbnRlcmZhY2VzIHdoaWNoIGFyZSBleHRlbmRlZCBieSBh
bm90aGVyIGludGVyZmFjZSB3aGljaCB3YXNuJ3QgYWRkZWQgdG8gdGhlIElkbEFycmF5LiIpOwot
Ci0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIGNvbnRleHQgPSBuZXcgSWRsQXJy
YXkoKTsKLSAgICAgICAgY29udGV4dC5hZGRfaWRscygiaW50ZXJmYWNlIEEgeyB9OyIpOwotICAg
ICAgICBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgXyA9PiBjb250ZXh0Lm1lbWJlcnNb
IkEiXS50cmF2ZXJzZV9pbmhlcml0ZWRfYW5kX2NvbnNlcXVlbnRpYWxfaW50ZXJmYWNlcygpKTsK
LSAgICB9LCAic2hvdWxkIHRocm93IGlmIG5vdCBwYXNzZWQgYSBjYWxsYmFjayIpOwotICAgIAot
ICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBjb250ZXh0ID0gbmV3IElkbEFycmF5
KCk7Ci0gICAgICAgIGNvbnRleHQuYWRkX2lkbHMoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Zy
YWdtZW50cycpLnRleHRDb250ZW50KTsKLSAgICAgICAgdmFyIGludGVyZmFjZXMgPSBbXTsKLSAg
ICAgICAgY29udGV4dC5tZW1iZXJzWyJBIl0udHJhdmVyc2VfaW5oZXJpdGVkX2FuZF9jb25zZXF1
ZW50aWFsX2ludGVyZmFjZXMoZnVuY3Rpb24oaSkgewotICAgICAgICAgICAgaW50ZXJmYWNlcy5w
dXNoKGkubmFtZSk7Ci0gICAgICAgIH0pOwotICAgICAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKGlu
dGVyZmFjZXMsIFsiQyIsICJCIiwgIkYiLCAiRSIsICJJIiwgIkQiLCAiQSIsICJHIiwgIkgiLCAi
SiJdKTsKLSAgICB9LCAnc2hvdWxkIHJldHVybiBhbiBhcnJheSB0aGF0IGluY2x1ZGVzIHRoZSBp
ZGVudGlmaWVyIG9mIHRoZSBpbnRlcmZhY2VzIGluIHRoZSBjb3JyZWN0IG9yZGVyLicpOwotPC9z
Y3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+Ci0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRsaGFybmVz
cy9JZGxJbnRlcmZhY2UvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2lkbGhhcm5lc3MvSWRsSW50
ZXJmYWNlL3czYy1pbXBvcnQubG9nCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3NWFl
MzIxNjdkMTZkNTIxZWI2NmE1NjdhYjRjOGJmNjZmNGRmZTQ1Li4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRsaGFybmVzcy9JZGxJbnRlcmZh
Y2UvdzNjLWltcG9ydC5sb2cKKysrIC9kZXYvbnVsbApAQCAtMSwyNCArMCwwIEBACi1UaGUgdGVz
dHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9y
eS4KLURvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVh
ZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0
aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCi0KLVRoZW4gcnVuIHRoZSBUb29scy9TY3Jp
cHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0Ci0KLURvIE5PVCBtb2Rp
Znkgb3IgcmVtb3ZlIHRoaXMgZmlsZS4KLQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1Qcm9wZXJ0aWVzIHJl
cXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6Ci1Ob25lCi1Qcm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5n
IHZlbmRvciBwcmVmaXhlczoKLU5vbmUKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotTGlzdCBvZiBmaWxlczoK
LS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90
ZXN0L3Rlc3RzL2lkbGhhcm5lc3MvSWRsSW50ZXJmYWNlL2RlZmF1bHRfdG9fanNvbl9vcGVyYXRp
b24uaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3Rlc3QvdGVzdHMvaWRsaGFybmVzcy9JZGxJbnRlcmZhY2UvZ2V0X2luaGVyaXRhbmNl
X3N0YWNrLmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy90ZXN0L3Rlc3RzL2lkbGhhcm5lc3MvSWRsSW50ZXJmYWNlL2hhc19kZWZhdWx0
X3RvX2pzb25fcmVndWxhcl9vcGVyYXRpb24uaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRsaGFybmVzcy9JZGxJ
bnRlcmZhY2UvaGFzX3RvX2pzb25fcmVndWxhcl9vcGVyYXRpb24uaHRtbAotL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRs
aGFybmVzcy9JZGxJbnRlcmZhY2UvdGVzdF9pbW11dGFibGVfcHJvdG90eXBlLmh0bWwKLS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rl
c3RzL2lkbGhhcm5lc3MvSWRsSW50ZXJmYWNlL3Rlc3RfcHJpbWFyeV9pbnRlcmZhY2Vfb2YuaHRt
bAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3Rlc3QvdGVzdHMvaWRsaGFybmVzcy9JZGxJbnRlcmZhY2UvdGVzdF90b19qc29uX29wZXJhdGlv
bi5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvdGVzdC90ZXN0cy9pZGxoYXJuZXNzL0lkbEludGVyZmFjZS90cmF2ZXJzZV9pbmhlcml0
ZWRfYW5kX2NvbnNlcXVlbnRpYWxfaW50ZXJmYWNlcy5odG1sCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3Rz
L2lkbGhhcm5lc3MvSWRsSW50ZXJmYWNlTWVtYmVyL2lzX3RvX2pzb25fcmVndWxhcl9vcGVyYXRp
b24uaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3Rlc3QvdGVzdHMvaWRsaGFybmVzcy9JZGxJbnRlcmZhY2VNZW1iZXIvaXNfdG9fanNv
bl9yZWd1bGFyX29wZXJhdGlvbi5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBh
YzkyM2RkNWE4Zjk5ZGVmOThmODc0ZTQ1MWE1YmE3N2QxMmQ1ZjY3Li4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRsaGFybmVzcy9JZGxJbnRl
cmZhY2VNZW1iZXIvaXNfdG9fanNvbl9yZWd1bGFyX29wZXJhdGlvbi5odG1sCisrKyAvZGV2L251
bGwKQEAgLTEsNDIgKzAsMCBAQAotPCFET0NUWVBFIEhUTUw+Ci08aHRtbD4KLTxoZWFkPgotPHRp
dGxlPklkbEludGVyZmFjZU1lbWJlci5wcm90b3R5cGUuaXNfdG9fanNvbl9yZWd1bGFyX29wZXJh
dGlvbigpPC90aXRsZT4KLTwvaGVhZD4KLTxib2R5PgotPGRpdiBpZD0ibG9nIj48L2Rpdj4KLTxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL1dlYklETFBhcnNlci5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy9pZGxoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi9oZWxw
ZXIuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLSAgICAidXNlIHN0cmljdCI7Ci0gICAgdGVzdChm
dW5jdGlvbigpIHsKLSAgICAgICAgdmFyIG0gPSBtZW1iZXJGcm9tKCJyZWFkb25seSBhdHRyaWJ1
dGUgRE9NU3RyaW5nIGZvbyIpOwotICAgICAgICBhc3NlcnRfZmFsc2UobS5pc190b19qc29uX3Jl
Z3VsYXJfb3BlcmF0aW9uKCkpOwotICAgIH0sICdzaG91bGQgcmV0dXJuIGZhbHNlIHdoZW4gbWVt
YmVyIGlzIGFuIGF0dHJpYnV0ZS4nKTsKLQotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAg
IHZhciBtID0gbWVtYmVyRnJvbSgic3RhdGljIHZvaWQgZm9vKCkiKTsKLSAgICAgICAgYXNzZXJ0
X2ZhbHNlKG0uaXNfdG9fanNvbl9yZWd1bGFyX29wZXJhdGlvbigpKTsKLSAgICB9LCAnc2hvdWxk
IHJldHVybiBmYWxzZSB3aGVuIG1lbWJlciBpcyBhIHN0YXRpYyBvcGVyYXRpb24uJyk7Ci0KLSAg
ICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgbSA9IG1lbWJlckZyb20oInN0YXRpYyBv
YmplY3QgdG9KU09OKCkiKTsKLSAgICAgICAgYXNzZXJ0X2ZhbHNlKG0uaXNfdG9fanNvbl9yZWd1
bGFyX29wZXJhdGlvbigpKTsKLSAgICB9LCAnc2hvdWxkIHJldHVybiBmYWxzZSB3aGVuIG1lbWJl
ciBpcyBhIHN0YXRpYyB0b0pTT04gb3BlcmF0aW9uLicpOwotCi0gICAgdGVzdChmdW5jdGlvbigp
IHsKLSAgICAgICAgdmFyIG0gPSBtZW1iZXJGcm9tKCJvYmplY3QgdG9KU09OKCkiKTsKLSAgICAg
ICAgYXNzZXJ0X3RydWUobS5pc190b19qc29uX3JlZ3VsYXJfb3BlcmF0aW9uKCkpOwotICAgIH0s
ICdzaG91bGQgcmV0dXJuIHRydWUgd2hlbiBtZW1iZXIgaXMgYSByZWd1bGFyIHRvSlNPTiBvcGVy
YXRpb24uJyk7Ci0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgbSA9IG1lbWJl
ckZyb20oIltGb29dIG9iamVjdCB0b0pTT04oKSIpOwotICAgICAgICBhc3NlcnRfdHJ1ZShtLmlz
X3RvX2pzb25fcmVndWxhcl9vcGVyYXRpb24oKSk7Ci0gICAgfSwgJ3Nob3VsZCByZXR1cm4gdHJ1
ZSB3aGVuIG1lbWJlciBpcyBhIHJlZ3VsYXIgdG9KU09OIG9wZXJhdGlvbiB3aXRoIGV4dGVuc2li
bGUgYXR0cmlidXRlcy4nKTsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgotCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy90ZXN0L3Rlc3RzL2lkbGhhcm5lc3MvSWRsSW50ZXJmYWNlTWVtYmVyL3czYy1pbXBvcnQubG9n
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
dGVzdC90ZXN0cy9pZGxoYXJuZXNzL0lkbEludGVyZmFjZU1lbWJlci93M2MtaW1wb3J0LmxvZwpk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDQ3M2RjZTc1MDc5YWQ2ODgwOWIyN2VhYzJh
OGZlNWMyOGM3MTU1My4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy90ZXN0L3Rlc3RzL2lkbGhhcm5lc3MvSWRsSW50ZXJmYWNlTWVtYmVyL3czYy1pbXBvcnQubG9n
CisrKyAvZGV2L251bGwKQEAgLTEsMTcgKzAsMCBAQAotVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0
b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCi1EbyBOT1QgbW9kaWZ5
IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQsIGNyZWF0ZSBhIHB1bGwg
cmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cwotCi1UaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRl
c3RzIGluIFdlYktpdCB0byByZWltcG9ydAotCi1EbyBOT1QgbW9kaWZ5IG9yIHJlbW92ZSB0aGlz
IGZpbGUuCi0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotUHJvcGVydGllcyByZXF1aXJpbmcgdmVuZG9yIHBy
ZWZpeGVzOgotTm9uZQotUHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6
Ci1Ob25lCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLUxpc3Qgb2YgZmlsZXM6Ci0vTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9pZGxoYXJu
ZXNzL0lkbEludGVyZmFjZU1lbWJlci9pc190b19qc29uX3JlZ3VsYXJfb3BlcmF0aW9uLmh0bWwK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRsaGFybmVzcy9PV05FUlMgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2lkbGhhcm5l
c3MvT1dORVJTCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzN2U4MDk1MDE3Y2RhOWE3
NzA1ODBkNjVkOGJhYjUwN2FlYTUxYTMxLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRsaGFybmVzcy9PV05FUlMKKysrIC9kZXYvbnVsbApA
QCAtMSArMCwwIEBACi1AdG9iaWUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRsaGFybmVzcy9iYXNp
Yy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvdGVzdC90ZXN0cy9pZGxoYXJuZXNzL2Jhc2ljLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IGRhM2MzZmFhYTFjMjBhOTY0MGRhODAxZTY5NWMzNDk0OTczNWQ1MDguLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9pZGxo
YXJuZXNzL2Jhc2ljLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwzNSArMCwwIEBACi08IURPQ1RZ
UEUgSFRNTD4KLTxodG1sPgotPGhlYWQ+Ci08dGl0bGU+aWRsaGFybmVzcyBiYXNpYzwvdGl0bGU+
Ci08L2hlYWQ+Ci08Ym9keT4KLTxkaXYgaWQ9ImxvZyI+PC9kaXY+Ci08c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy9XZWJJRExQYXJzZXIuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvaWRs
aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotICAgICJ1c2Ugc3RyaWN0IjsKLSAgICB0
ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICBhc3NlcnRfdHJ1ZSgiSWRsQXJyYXkiIGluIHdpbmRv
dyk7Ci0gICAgfSwgJ0lkbEFycmF5IGNvbnN0cnVjdG9yIHNob3VsZCBiZSBhIGdsb2JhbCBvYmpl
Y3QnKTsKLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICBhc3NlcnRfdHJ1ZShuZXcgSWRs
QXJyYXkoKSBpbnN0YW5jZW9mIElkbEFycmF5KTsKLSAgICB9LCAnSWRsQXJyYXkgY29uc3RydWN0
b3Igc2hvdWxkIGJlIGNvbnN0cnVjdGlibGUnKTsKLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAg
ICAgICBhc3NlcnRfdHJ1ZSgiV2ViSURMMiIgaW4gd2luZG93KTsKLSAgICB9LCAnV2ViSURMMiBu
YW1lc3BhY2Ugc2hvdWxkIGJlIGEgZ2xvYmFsIG9iamVjdCcpOwotICAgIHRlc3QoZnVuY3Rpb24o
KSB7Ci0gICAgICAgIGFzc2VydF9lcXVhbHModHlwZW9mIFdlYklETDIucGFyc2UsICJmdW5jdGlv
biIpOwotICAgIH0sICdXZWJJREwyIG5hbWVzcGFjZSBzaG91bGQgaGF2ZSBhIHBhcnNlIG1ldGhv
ZCcpOwotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIGFzc2VydF90aHJvd3MobmV3IFR5
cGVFcnJvcigpLCBmdW5jdGlvbigpIHsgIFdlYklETDIucGFyc2UoIkknbSBhIHN5bnRheCBlcnJv
ciIpOyB9KTsKLSAgICB9LCAnV2ViSURMMiBwYXJzZSBtZXRob2Qgc2hvdWxkIGJhaWwgb24gaW5j
b3JyZWN0IFdlYklETCcpOwotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIGFzc2VydF9l
cXVhbHModHlwZW9mIFdlYklETDIucGFyc2UoImludGVyZmFjZSBGb28ge307IiksICJvYmplY3Qi
KTsKLSAgICB9LCAnV2ViSURMMiBwYXJzZSBtZXRob2Qgc2hvdWxkIHByb2R1Y2UgYW4gQVNUIGZv
ciBjb3JyZWN0IFdlYklETCcpOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+Ci0KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3Rlc3QvdGVzdHMvaWRsaGFybmVzcy9oZWxwZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2lkbGhhcm5lc3Mv
aGVscGVyLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyYjczNTI3ZmYyYmVjZWRm
YTdkMTkxZDdkODJlNzZjMWMzNzhmZjI1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRsaGFybmVzcy9oZWxwZXIuanMKKysrIC9kZXYvbnVs
bApAQCAtMSwyNCArMCwwIEBACi0idXNlIHN0cmljdCI7Ci0KLXZhciB0eXBlZGVmRnJvbSA9IGlu
dGVyZmFjZUZyb207Ci12YXIgZGljdGlvbmFyeUZyb20gPSBpbnRlcmZhY2VGcm9tOwotZnVuY3Rp
b24gaW50ZXJmYWNlRnJvbShpKSB7Ci0gICAgdmFyIGlkbCA9IG5ldyBJZGxBcnJheSgpOwotICAg
IGlkbC5hZGRfaWRscyhpKTsKLSAgICBmb3IgKHZhciBwcm9wIGluIGlkbC5tZW1iZXJzKSB7Ci0g
ICAgICAgIHJldHVybiBpZGwubWVtYmVyc1twcm9wXTsKLSAgICB9Ci19Ci0KLWZ1bmN0aW9uIG1l
bWJlckZyb20obSkgewotICAgIHZhciBpZGwgPSBuZXcgSWRsQXJyYXkoKTsKLSAgICBpZGwuYWRk
X2lkbHMoJ2ludGVyZmFjZSBBIHsgJyArIG0gKyAnOyB9OycpOwotICAgIHJldHVybiBpZGwubWVt
YmVyc1siQSJdLm1lbWJlcnNbMF07Ci19Ci0KLWZ1bmN0aW9uIHR5cGVGcm9tKHR5cGUpIHsKLSAg
ICB2YXIgYXN0ID0gV2ViSURMMi5wYXJzZSgnaW50ZXJmYWNlIEZvbyB7ICcgKyB0eXBlICsgJyBh
KCk7IH07Jyk7Ci0gICAgYXN0ID0gYXN0WzBdOyAvLyBnZXQgdGhlIGZpcnN0IGZyYWdtZW50Ci0g
ICAgYXN0ID0gYXN0Lm1lbWJlcnNbMF07IC8vIGdldCB0aGUgZmlyc3QgbWVtYmVyCi0gICAgcmV0
dXJuIGFzdC5pZGxUeXBlOyAvLyBnZXQgdGhlIHR5cGUgb2YgdGhlIGZpcnN0IGZpZWxkCi19CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy90ZXN0L3Rlc3RzL2lkbGhhcm5lc3MvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2lk
bGhhcm5lc3MvdzNjLWltcG9ydC5sb2cKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM3
ZjczMDVlYmVmYzdjYjc0MTA3Yjc5YTk2YjY3ZGFmNmI5MzQ5M2IuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9pZGxoYXJuZXNzL3czYy1pbXBv
cnQubG9nCisrKyAvZGV2L251bGwKQEAgLTEsMTkgKzAsMCBAQAotVGhlIHRlc3RzIGluIHRoaXMg
ZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCi1EbyBOT1Qg
bW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQsIGNyZWF0ZSBh
IHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20vdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cwotCi1UaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQt
dzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydAotCi1EbyBOT1QgbW9kaWZ5IG9yIHJlbW92
ZSB0aGlzIGZpbGUuCi0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotUHJvcGVydGllcyByZXF1aXJpbmcgdmVu
ZG9yIHByZWZpeGVzOgotTm9uZQotUHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJl
Zml4ZXM6Ci1Ob25lCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLUxpc3Qgb2YgZmlsZXM6Ci0vTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9p
ZGxoYXJuZXNzL09XTkVSUwotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRsaGFybmVzcy9iYXNpYy5odG1sCi0vTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0
cy9pZGxoYXJuZXNzL2hlbHBlci5qcwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9pZnJhbWUtY2FsbGJh
Y2suaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3Rlc3QvdGVzdHMvaWZyYW1lLWNhbGxiYWNrLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDFhOGIyY2JjMDBmZmM5ZjZkNDhhZjNmNzExZWIwY2M4MGY5ZWM1N2UuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9pZnJh
bWUtY2FsbGJhY2suaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDExOCArMCwwIEBACi08IURPQ1RZ
UEUgSFRNTD4KLTxodG1sPgotPGhlYWQ+Ci08dGl0bGU+RXhhbXBsZSB3aXRoIGlmcmFtZSB0aGF0
IG5vdGlmaWVzIGNvbnRhaW5pbmcgZG9jdW1lbnQgdmlhIGNhbGxiYWNrczwvdGl0bGU+Ci08c2Ny
aXB0IHNyYz0iLi4vLi4vdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IG9ubG9h
ZD0ic3RhcnRfdGVzdF9pbl9pZnJhbWUoKSI+Ci08aDE+Q2FsbGJhY2tzIEZyb20gVGVzdHMgUnVu
bmluZyBJbiBBbiBJRlJBTUU8L2gxPgotPHA+QSB0ZXN0IGlzIHJ1biBpbnNpZGUgYW4gPHR0Pmlm
cmFtZTwvdHQ+IHdpdGggYSBzYW1lIG9yaWdpbiBkb2N1bWVudC4gVGhlCi1jb250YWluaW5nIGRv
Y3VtZW50IHNob3VsZCByZWNlaXZlIGNhbGxiYWNrcyBhcyB0aGUgdGVzdHMgcHJvZ3Jlc3MgaW5z
aWRlIHRoZQotPHR0PmlmcmFtZTwvdHQ+LiBBIHNpbmdsZSBwYXNzaW5nIHRlc3QgaXMgZXhwZWN0
ZWQgaW4gdGhlIHN1bW1hcnkgYmVsb3cuCi08ZGl2IGlkPSJsb2ciPjwvZGl2PgotCi08c2NyaXB0
PgotdmFyIGNhbGxiYWNrcyA9IFtdOwotdmFyIFNUQVJUID0gMQotdmFyIFRFU1RfU1RBVEUgPSAy
Ci12YXIgUkVTVUxUID0gMwotdmFyIENPTVBMRVRJT04gPSA0Ci12YXIgdGVzdF9jb21wbGV0ZSA9
IGZhbHNlOwotCi1zZXR1cCh7ZXhwbGljaXRfZG9uZTogdHJ1ZX0pOwotCi0vLyBUaGUgZm9sbG93
aW5nIGNhbGxiYWNrcyBhcmUgY2FsbGVkIGZvciB0ZXN0cyBpbiB0aGlzIGRvY3VtZW50IGFzIHdl
bGwgYXMgdGhlCi0vLyB0ZXN0cyBpbiB0aGUgSUZSQU1FLiBDdXJyZW50bHksIGNhbGxiYWNrcyBp
bnZva2VkIGZyb20gdGhpcyBkb2N1bWVudCBhbmQgYW55Ci0vLyBjaGlsZCBkb2N1bWVudCBhcmUg
aW5kaXN0aW5ndWlzaGFibGUgZnJvbSBlYWNoIG90aGVyLgotCi1mdW5jdGlvbiBzdGFydF9jYWxs
YmFjayhwcm9wZXJ0aWVzKSB7Ci0gICAgY2FsbGJhY2tzLnB1c2goU1RBUlQpOwotfQotCi1mdW5j
dGlvbiB0ZXN0X3N0YXRlX2NhbGxiYWNrKHRlc3QpIHsKLSAgICBjYWxsYmFja3MucHVzaChURVNU
X1NUQVRFKTsKLX0KLQotZnVuY3Rpb24gcmVzdWx0X2NhbGxiYWNrKHRlc3QpIHsKLSAgICBjYWxs
YmFja3MucHVzaChSRVNVTFQpOwotfQotCi1mdW5jdGlvbiBjb21wbGV0aW9uX2NhbGxiYWNrKHRl
c3RzLCBzdGF0dXMpIHsKLSAgICBpZiAodGVzdF9jb21wbGV0ZSkgewotICAgICAgICByZXR1cm47
Ci0gICAgfQotICAgIHRlc3RfY29tcGxldGUgPSB0cnVlOwotICAgIGNhbGxiYWNrcy5wdXNoKENP
TVBMRVRJT04pOwotICAgIHZlcmlmeV9yZWNlaXZlZF9jYWxsYmFja3MoKTsKLSAgICBkb25lKCk7
Ci19Ci0KLWZ1bmN0aW9uIHZlcmlmeV9yZWNlaXZlZF9jYWxsYmFja3MoKSB7Ci0gICAgdmFyIGNv
cHlfb2ZfY2FsbGJhY2tzID0gY2FsbGJhY2tzLnNsaWNlKDApOwotCi0gICAgLy8gTm90ZSB0aGF0
IHlvdSBjYW4ndCBydW4gdGVzdCBhc3NlcnRpb25zIGRpcmVjdGx5IGluIGEgY2FsbGJhY2sgZXZl
biBpZgotICAgIC8vIHRoaXMgaXMgYSBmaWxlIHRlc3QuIFdoZW4gdGhlIGNhbGxiYWNrIGlzIGlu
dm9rZWQgZnJvbSBhIHNhbWUtb3JpZ2luIGNoaWxkCi0gICAgLy8gcGFnZSwgdGhlIGNhbGxzdGFj
ayByZWFjaGVzIGludG8gdGhlIGNhbGxpbmcgY2hpbGQgZG9jdW1lbnQuIEFueQotICAgIC8vIGV4
Y2VwdGlvbiB0aHJvd24gaW4gYSBjYWxsYmFjayB3aWxsIGJlIGhhbmRsZWQgYnkgdGhlIGNoaWxk
IHJhdGhlciB0aGFuCi0gICAgLy8gdGhpcyBkb2N1bWVudC4KLSAgICB0ZXN0KAotICAgICAgICBm
dW5jdGlvbigpIHsKLSAgICAgICAgICAgIC8vIGNhbGxiYWNrcyBsaXN0IHNob3VsZCBsb29rIGxp
a2U6Ci0gICAgICAgICAgICAvLyAgICAgU1RBUlQgMSooVEVTVF9TVEFURSkgUkVTVUxUIENPTVBM
RVRJT04KLSAgICAgICAgICAgIGFzc2VydF9lcXVhbHMoY29weV9vZl9jYWxsYmFja3Muc2hpZnQo
KSwgU1RBUlQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICJUaGUgZmlyc3QgcmVjZWl2ZWQg
Y2FsbGJhY2sgc2hvdWxkIGJlICdzdGFydF9jYWxsYmFjaycuIik7Ci0gICAgICAgICAgICBhc3Nl
cnRfZXF1YWxzKGNvcHlfb2ZfY2FsbGJhY2tzLnNoaWZ0KCksIFRFU1RfU1RBVEUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICIndGVzdF9zdGF0ZV9jYWxsYmFjaycgc2hvdWxkIGJlIHJlY2Vp
dmVkIGJlZm9yZSBhbnkgIiArCi0gICAgICAgICAgICAgICAgICAgICAgICAgICJyZXN1bHQgb3Ig
Y29tcGxldGlvbiBjYWxsYmFja3MuIik7Ci0gICAgICAgICAgICB3aGlsZShjb3B5X29mX2NhbGxi
YWNrcy5sZW5ndGggPiAwKSB7Ci0gICAgICAgICAgICAgICAgdmFyIGNhbGxiYWNrID0gY29weV9v
Zl9jYWxsYmFja3Muc2hpZnQoKTsKLSAgICAgICAgICAgICAgICBpZiAoY2FsbGJhY2sgIT0gVEVT
VF9TVEFURSkgewotICAgICAgICAgICAgICAgICAgICBjb3B5X29mX2NhbGxiYWNrcy51bnNoaWZ0
KGNhbGxiYWNrKTsKLSAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAg
fQotICAgICAgICAgICAgfQotICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhjb3B5X29mX2NhbGxi
YWNrcy5zaGlmdCgpLCBSRVNVTFQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICIndGVzdF9z
dGF0ZV9jYWxsYmFjaycgc2hvdWxkIGJlIGZvbGxvd2VkIGJ5ICdyZXN1bHRfY2FsbGJhY2snLiIp
OwotICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhjb3B5X29mX2NhbGxiYWNrcy5zaGlmdCgpLCBD
T01QTEVUSU9OLAotICAgICAgICAgICAgICAgICAgICAgICAgICAiRmluYWwgJ3Jlc3VsdF9jYWxs
YmFjaycgc2hvdWxkIGJlIGZvbGxvd2VkIGJ5ICdjb21wbGV0aW9uX2NhbGxiYWNrJy4iKTsKLSAg
ICAgICAgICAgIGFzc2VydF9lcXVhbHMoY29weV9vZl9jYWxsYmFja3MubGVuZ3RoLCAwLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAiJ2NvbXBsZXRpb25fY2FsbGJhY2snIHNob3VsZCBiZSB0
aGUgbGFzdCBjYWxsYmFjay4iKTsKLSAgICAgICAgfSk7Ci19Ci0KLWZ1bmN0aW9uIHN0YXJ0X3Rl
c3RfaW5faWZyYW1lKCkgewotICAgIC8vIFRoaXMgZG9jdW1lbnQgaXMgZ29pbmcgdG8gY2xlYXIg
YW55IHJlY2VpdmVkIGNhbGxiYWNrcyBhbmQgbWFpbnRhaW4KLSAgICAvLyByYWRpbyBzaWxlbmNl
IHVudGlsIHRoZSB0ZXN0IGluIHRoZSBpZnJhbWUgcnVucyB0byBjb21wbGV0aW9uLiBUaGUKLSAg
ICAvLyBjb21wbGV0aW9uX2NhbGxiYWNrKCkgd2lsbCB0aGVuIGNvbXBsZXRlIHRoZSB0ZXN0aW5n
IG9uIHRoaXMgZG9jdW1lbnQuCi0gICAgY2FsbGJhY2tzLmxlbmd0aCA9IDA7Ci0gICAgdmFyIGlm
cmFtZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlmcmFtZSIpOwotICAgIC8vIHNpbmdsZS1w
YWdlLXRlc3QtcGFzcy5odG1sIGhhcyBhIHNpbmdsZSB0ZXN0LgotICAgIGlmcmFtZS5zcmMgPSAi
c2luZ2xlLXBhZ2UtdGVzdC1wYXNzLmh0bWwiOwotICAgIGlmcmFtZS5zdHlsZS5zZXRQcm9wZXJ0
eSgiZGlzcGxheSIsICJub25lIik7Ci0gICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRhcmdl
dCIpLmFwcGVuZENoaWxkKGlmcmFtZSk7Ci19Ci08L3NjcmlwdD4KLQotPGRpdiBpZD0idGFyZ2V0
Ij4KLTwvZGl2PgotPHNjcmlwdCB0eXBlPSJ0ZXh0L2pzb24iIGlkPSJleHBlY3RlZCI+Ci17Ci0g
ICJzdW1tYXJpemVkX3N0YXR1cyI6IHsKLSAgICAic3RhdHVzX3N0cmluZyI6ICJPSyIsCi0gICAg
Im1lc3NhZ2UiOiBudWxsLAotICAgICJzdGFjayI6IG51bGwKLSAgfSwKLSAgInN1bW1hcml6ZWRf
dGVzdHMiOiBbCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAi
bmFtZSI6ICJFeGFtcGxlIHdpdGggaWZyYW1lIHRoYXQgbm90aWZpZXMgY29udGFpbmluZyBkb2N1
bWVudCB2aWEgY2FsbGJhY2tzIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVz
c2FnZSI6IG51bGwsCi0gICAgICAic3RhY2siOiBudWxsCi0gICAgfQotICBdLAotICAidHlwZSI6
ICJjb21wbGV0ZSIKLX0KLTwvc2NyaXB0PgotPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9p
ZnJhbWUtY29uc29saWRhdGUtZXJyb3JzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2lmcmFtZS1jb25zb2xpZGF0
ZS1lcnJvcnMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZmQyMGQ0ZjcxZjU5
MjNkZTkzNGMxM2JkNDgyMjU2NTNmZGJkMGE1My4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2lmcmFtZS1jb25zb2xpZGF0ZS1lcnJvcnMuaHRt
bAorKysgL2Rldi9udWxsCkBAIC0xLDQ2ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+
Ci08aGVhZD4KLTx0aXRsZT5FeGFtcGxlIHdpdGggaWZyYW1lIHRoYXQgY29uc29saWRhdGVzIGVy
cm9ycyB2aWEgZmV0Y2hfdGVzdHNfZnJvbV93aW5kb3c8L3RpdGxlPgotPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotdmFyIHBhcmVudF90ZXN0ID0gYXN5
bmNfdGVzdCgiVGVzdCBleGVjdXRpbmcgaW4gcGFyZW50IGNvbnRleHQiKTsKLTwvc2NyaXB0Pgot
PC9oZWFkPgotPGJvZHkgb25sb2FkPSJwYXJlbnRfdGVzdC5kb25lKCkiPgotPGgxPkZldGNoaW5n
IFRlc3RzIEZyb20gYSBDaGlsZCBDb250ZXh0PC9oMT4KLTxwPlRoaXMgdGVzdCBkZW1vbnN0cmF0
ZXMgdGhlIHVzZSBvZiA8dHQ+ZmV0Y2hfdGVzdHNfZnJvbV93aW5kb3c8L3R0PiB0byBwdWxsCi10
ZXN0cyBmcm9tIGFuIDx0dD5pZnJhbWU8L3R0PiBpbnRvIHRoZSBwcmltYXJ5IGRvY3VtZW50Ljwv
cD4KLTxwPlRoZSB0ZXN0IHN1aXRlIGlzIGV4cGVjdGVkIHRvIGZhaWwgZHVlIHRvIGFuIHVuaGFu
ZGxlZCBleGNlcHRpb24gaW4gdGhlCi1jaGlsZCBjb250ZXh0LjwvcD4KLTxkaXYgaWQ9ImxvZyI+
PC9kaXY+Ci0KLTxpZnJhbWUgaWQ9ImNoaWxkQ29udGV4dCIgc3JjPSJ1bmNhdWdodC1leGNlcHRp
b24taGFuZGxlLmh0bWwiIHN0eWxlPSJkaXNwbGF5Om5vbmUiPjwvaWZyYW1lPgotPCEtLSBhcGlz
YW1wbGU0Lmh0bWwgaXMgYSBmYWlsaW5nIHN1aXRlIGR1ZSB0byBhbiB1bmhhbmRsZWQgRXJyb3Iu
IC0tPgotCi08c2NyaXB0PgotCXZhciBjaGlsZENvbnRleHQgPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY2hpbGRDb250ZXh0Iik7Ci0JZmV0Y2hfdGVzdHNfZnJvbV93aW5kb3coY2hpbGRDb250
ZXh0LmNvbnRlbnRXaW5kb3cpOwotPC9zY3JpcHQ+Ci08c2NyaXB0IHR5cGU9InRleHQvanNvbiIg
aWQ9ImV4cGVjdGVkIj4KLXsKLSAgInN1bW1hcml6ZWRfc3RhdHVzIjogewotICAgICJzdGF0dXNf
c3RyaW5nIjogIkVSUk9SIiwKLSAgICAibWVzc2FnZSI6ICJFcnJvciBpbiByZW1vdGU6IEVycm9y
OiBFeGFtcGxlIEVycm9yIiwKLSAgICAic3RhY2siOiBudWxsCi0gIH0sCi0gICJzdW1tYXJpemVk
X3Rlc3RzIjogWwotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAg
Im5hbWUiOiAiVGVzdCBleGVjdXRpbmcgaW4gcGFyZW50IGNvbnRleHQiLAotICAgICAgInByb3Bl
cnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICJzdGFjayI6IG51bGwK
LSAgICB9Ci0gIF0sCi0gICJ0eXBlIjogImNvbXBsZXRlIgotfQotPC9zY3JpcHQ+Ci08L2JvZHk+
Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2lmcmFtZS1jb25zb2xpZGF0ZS10ZXN0cy5o
dG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvdGVzdC90ZXN0cy9pZnJhbWUtY29uc29saWRhdGUtdGVzdHMuaHRtbApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggOTBjNWY4ZWNlOWY2NjM2NThlZjcxZGViYTU1NmEwNjJlMTZhZTZm
My4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3Rz
L2lmcmFtZS1jb25zb2xpZGF0ZS10ZXN0cy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsOTUgKzAs
MCBAQAotPCFET0NUWVBFIEhUTUw+Ci08aHRtbD4KLTxoZWFkPgotPHRpdGxlPkV4YW1wbGUgd2l0
aCBpZnJhbWUgdGhhdCBjb25zb2xpZGF0ZXMgdGVzdHMgdmlhIGZldGNoX3Rlc3RzX2Zyb21fd2lu
ZG93PC90aXRsZT4KLTxzY3JpcHQgc3JjPSIuLi8uLi90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0IHNyYz0iLi4vLi4vdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNj
cmlwdD4KLXZhciBwYXJlbnRfdGVzdCA9IGFzeW5jX3Rlc3QoIlRlc3QgZXhlY3V0aW5nIGluIHBh
cmVudCBjb250ZXh0Iik7Ci08L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0icGFyZW50
X3Rlc3QuZG9uZSgpIj4KLTxoMT5GZXRjaGluZyBUZXN0cyBGcm9tIGEgQ2hpbGQgQ29udGV4dDwv
aDE+Ci08cD5UaGlzIHRlc3QgZGVtb25zdHJhdGVzIHRoZSB1c2Ugb2YgPHR0PmZldGNoX3Rlc3Rz
X2Zyb21fd2luZG93PC90dD4gdG8gcHVsbAotdGVzdHMgZnJvbSBhbiA8dHQ+aWZyYW1lPC90dD4g
aW50byB0aGUgcHJpbWFyeSBkb2N1bWVudC48L3A+Ci08cD5UaGUgdGVzdCBzdWl0ZSB3aWxsIG5v
dCBjb21wbGV0ZSB1bnRpbCB0ZXN0cyBpbiB0aGUgY2hpbGQgY29udGV4dCBoYXZlIGZpbmlzaGVk
Ci1leGVjdXRpbmc8L3A+Ci08ZGl2IGlkPSJsb2ciPjwvZGl2PgotCi08aWZyYW1lIGlkPSJjaGls
ZENvbnRleHQiIHNyYz0icHJvbWlzZS1hc3luYy5odG1sIiBzdHlsZT0iZGlzcGxheTpub25lIj48
L2lmcmFtZT4KLTwhLS0gcHJvbWlzZS1hc3luYy5odG1sIGhhcyBhc3luYyB0ZXN0cyB3aXRoIHBy
b21pc2VzIC0tPgotCi08c2NyaXB0PgotCXZhciBjaGlsZENvbnRleHQgPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY2hpbGRDb250ZXh0Iik7Ci0JZmV0Y2hfdGVzdHNfZnJvbV93aW5kb3coY2hp
bGRDb250ZXh0LmNvbnRlbnRXaW5kb3cpOwotPC9zY3JpcHQ+Ci08c2NyaXB0IHR5cGU9InRleHQv
anNvbiIgaWQ9ImV4cGVjdGVkIj4KLXsKLSAgInN1bW1hcml6ZWRfc3RhdHVzIjogewotICAgICJz
dGF0dXNfc3RyaW5nIjogIk9LIiwKLSAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgInN0YWNrIjog
bnVsbAotICB9LAotICAic3VtbWFyaXplZF90ZXN0cyI6IFsKLSAgICB7Ci0gICAgICAic3RhdHVz
X3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1lIjogIlByb21pc2UgcmVqZWN0aW9uIiwKLSAg
ICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAic3Rh
Y2siOiBudWxsCi0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwK
LSAgICAgICJuYW1lIjogIlByb21pc2UgcmVzb2x1dGlvbiIsCi0gICAgICAicHJvcGVydGllcyI6
IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgInN0YWNrIjogbnVsbAotICAgIH0s
Ci0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiRkFJTCIsCi0gICAgICAibmFtZSI6ICJQ
cm9taXNlcyBhbmQgdGVzdCBhc3NlcnRpb24gZmFpbHVyZXMgKHNob3VsZCBmYWlsKSIsCi0gICAg
ICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiAiYXNzZXJ0X3RydWU6IFRoaXMg
ZmFpbHVyZSBpcyBleHBlY3RlZCBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZSIsCi0gICAgICAic3Rh
Y2siOiAiKGltcGxlbWVudGF0aW9uLWRlZmluZWQpIgotICAgIH0sCi0gICAgewotICAgICAgInN0
YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJQcm9taXNlcyBhcmUgc3VwcG9y
dGVkIGluIHlvdXIgYnJvd3NlciIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1l
c3NhZ2UiOiBudWxsLAotICAgICAgInN0YWNrIjogbnVsbAotICAgIH0sCi0gICAgewotICAgICAg
InN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJQcm9taXNlcyByZXNvbHV0
aW9uIGNoYWluaW5nIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6
IG51bGwsCi0gICAgICAic3RhY2siOiBudWxsCi0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVz
X3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1lIjogIlRlc3QgZXhlY3V0aW5nIGluIHBhcmVu
dCBjb250ZXh0IiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6IG51
bGwsCi0gICAgICAic3RhY2siOiBudWxsCi0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0
cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1lIjogIlVzZSBvZiBzdGVwX2Z1bmMgd2l0aCBQcm9t
aXNlcyIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsLAot
ICAgICAgInN0YWNrIjogbnVsbAotICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmci
OiAiRkFJTCIsCi0gICAgICAibmFtZSI6ICJVc2Ugb2YgdW5yZWFjaGVkX2Z1bmMgd2l0aCBQcm9t
aXNlcyAoc2hvdWxkIGZhaWwpIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVz
c2FnZSI6ICJhc3NlcnRfdW5yZWFjaGVkOiBUaGlzIGZhaWx1cmUgaXMgZXhwZWN0ZWQgUmVhY2hl
ZCB1bnJlYWNoYWJsZSBjb2RlIiwKLSAgICAgICJzdGFjayI6ICIoaW1wbGVtZW50YXRpb24tZGVm
aW5lZCkiCi0gICAgfQotICBdLAotICAidHlwZSI6ICJjb21wbGV0ZSIKLX0KLTwvc2NyaXB0Pgot
PC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9pZnJhbWUtbXNnLmh0bWwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0
L3Rlc3RzL2lmcmFtZS1tc2cuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTNh
M2ZmZjkyNGY5OTUxZTBlMzBmMjliMWU3MzRhMmVlMDFjZWUyOC4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2lmcmFtZS1tc2cuaHRtbAorKysg
L2Rldi9udWxsCkBAIC0xLDg2ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVh
ZD4KLTx0aXRsZT5FeGFtcGxlIHdpdGggaWZyYW1lIHRoYXQgbm90aWZpZXMgY29udGFpbmluZyBk
b2N1bWVudCB2aWEgY3Jvc3MgZG9jdW1lbnQgbWVzc2FnaW5nPC90aXRsZT4KLTxzY3JpcHQgc3Jj
PSIuLi8uLi90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vdGVz
dGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08aDE+Tm90aWZp
Y2F0aW9ucyBGcm9tIFRlc3RzIFJ1bm5pbmcgSW4gQW4gSUZSQU1FPC9oMT4KLTxwPkEgdGVzdCBp
cyBydW4gaW5zaWRlIGFuIDx0dD5pZnJhbWU8L3R0PiB3aXRoIGEgc2FtZSBvcmlnaW4gZG9jdW1l
bnQuIFRoZQotY29udGFpbmluZyBkb2N1bWVudCBzaG91bGQgcmVjZWl2ZSBtZXNzYWdlcyB2aWEg
PHR0PnBvc3RNZXNzYWdlPC90dD4vCi08dHQ+b25tZXNzYWdlPC90dD4gYXMgdGhlIHRlc3RzIHBy
b2dyZXNzIGluc2lkZSB0aGUgPHR0PmlmcmFtZTwvdHQ+LiBBIHNpbmdsZQotcGFzc2luZyB0ZXN0
IGlzIGV4cGVjdGVkIGluIHRoZSBzdW1tYXJ5IGJlbG93LgotPC9wPgotPGRpdiBpZD0ibG9nIj48
L2Rpdj4KLQotPHNjcmlwdD4KLXZhciB0ID0gYXN5bmNfdGVzdCgiQ29udGFpbmluZyBkb2N1bWVu
dCByZWNlaXZlcyBtZXNzYWdlcyIpOwotdmFyIHN0YXJ0X3JlY2VpdmVkID0gZmFsc2U7Ci12YXIg
cmVzdWx0X3JlY2VpdmVkID0gZmFsc2U7Ci12YXIgY29tcGxldGlvbl9yZWNlaXZlZCA9IGZhbHNl
OwotCi0vLyBUaGVzZSBhcmUgdGhlIG1lc3NhZ2VzIHRoYXQgYXJlIGV4cGVjdGVkIHRvIGJlIHNl
ZW4gd2hpbGUgcnVubmluZyB0aGUgdGVzdHMKLS8vIGluIHRoZSBJRlJBTUUuCi12YXIgZXhwZWN0
ZWRfbWVzc2FnZXMgPSBbCi0gICAgdC5zdGVwX2Z1bmMoCi0gICAgICAgIGZ1bmN0aW9uKG1lc3Nh
Z2UpIHsKLSAgICAgICAgICAgIGFzc2VydF9lcXVhbHMobWVzc2FnZS5kYXRhLnR5cGUsICJzdGFy
dCIpOwotICAgICAgICAgICAgYXNzZXJ0X293bl9wcm9wZXJ0eShtZXNzYWdlLmRhdGEsICJwcm9w
ZXJ0aWVzIik7Ci0gICAgICAgIH0pLAotCi0gICAgdC5zdGVwX2Z1bmMoCi0gICAgICAgIGZ1bmN0
aW9uKG1lc3NhZ2UpIHsKLSAgICAgICAgICAgIGFzc2VydF9lcXVhbHMobWVzc2FnZS5kYXRhLnR5
cGUsICJ0ZXN0X3N0YXRlIik7Ci0gICAgICAgICAgICBhc3NlcnRfZXF1YWxzKG1lc3NhZ2UuZGF0
YS50ZXN0LnN0YXR1cywgbWVzc2FnZS5kYXRhLnRlc3QuTk9UUlVOKTsKLSAgICAgICAgfSksCi0K
LSAgICB0LnN0ZXBfZnVuYygKLSAgICAgICAgZnVuY3Rpb24obWVzc2FnZSkgewotICAgICAgICAg
ICAgYXNzZXJ0X2VxdWFscyhtZXNzYWdlLmRhdGEudHlwZSwgInJlc3VsdCIpOwotICAgICAgICAg
ICAgYXNzZXJ0X2VxdWFscyhtZXNzYWdlLmRhdGEudGVzdC5zdGF0dXMsIG1lc3NhZ2UuZGF0YS50
ZXN0LlBBU1MpOwotICAgICAgICB9KSwKLQotICAgIHQuc3RlcF9mdW5jKAotICAgICAgICBmdW5j
dGlvbihtZXNzYWdlKSB7Ci0gICAgICAgICAgICBhc3NlcnRfZXF1YWxzKG1lc3NhZ2UuZGF0YS50
eXBlLCAiY29tcGxldGUiKTsKLSAgICAgICAgICAgIGFzc2VydF9lcXVhbHMobWVzc2FnZS5kYXRh
LnRlc3RzLmxlbmd0aCwgMSk7Ci0gICAgICAgICAgICBhc3NlcnRfZXF1YWxzKG1lc3NhZ2UuZGF0
YS50ZXN0c1swXS5zdGF0dXMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UuZGF0
YS50ZXN0c1swXS5QQVNTKTsKLSAgICAgICAgICAgIGFzc2VydF9lcXVhbHMobWVzc2FnZS5kYXRh
LnN0YXR1cy5zdGF0dXMsIG1lc3NhZ2UuZGF0YS5zdGF0dXMuT0spOwotICAgICAgICAgICAgdC5k
b25lKCk7Ci0gICAgICAgIH0pLAotCi0gICAgdC51bnJlYWNoZWRfZnVuYygiVG9vIG1hbnkgbWVz
c2FnZXMgcmVjZWl2ZWQiKQotXTsKLQotb25fZXZlbnQod2luZG93LAotICAgICAgICAgIm1lc3Nh
Z2UiLAotICAgICAgICAgZnVuY3Rpb24obWVzc2FnZSkgewotICAgICAgICAgICAgIHZhciBoYW5k
bGVyID0gZXhwZWN0ZWRfbWVzc2FnZXMuc2hpZnQoKTsKLSAgICAgICAgICAgICBoYW5kbGVyKG1l
c3NhZ2UpOwotICAgICAgICAgfSk7Ci08L3NjcmlwdD4KLTxpZnJhbWUgc3JjPSJzaW5nbGUtcGFn
ZS10ZXN0LXBhc3MuaHRtbCIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+Ci0gIDwhLS0gc2luZ2xlLXBh
Z2UtdGVzdC1wYXNzLmh0bWwgaW1wbGVtZW50cyBhIGZpbGVfaXNfdGVzdCB0ZXN0LiAtLT4KLTwv
aWZyYW1lPgotPHNjcmlwdCB0eXBlPSJ0ZXh0L2pzb24iIGlkPSJleHBlY3RlZCI+Ci17Ci0gICJz
dW1tYXJpemVkX3N0YXR1cyI6IHsKLSAgICAic3RhdHVzX3N0cmluZyI6ICJPSyIsCi0gICAgIm1l
c3NhZ2UiOiBudWxsLAotICAgICJzdGFjayI6IG51bGwKLSAgfSwKLSAgInN1bW1hcml6ZWRfdGVz
dHMiOiBbCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFt
ZSI6ICJDb250YWluaW5nIGRvY3VtZW50IHJlY2VpdmVzIG1lc3NhZ2VzIiwKLSAgICAgICJwcm9w
ZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAic3RhY2siOiBudWxs
Ci0gICAgfQotICBdLAotICAidHlwZSI6ICJjb21wbGV0ZSIKLX0KLTwvc2NyaXB0PgotPC9ib2R5
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9vcmRlci5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9vcmRlci5odG1sCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkMjBlYjZiMWFkMDg5YjZlNDFmMzE2OTk5OGIz
ZGQ2Y2I1NzVkOWFmLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3Rlc3QvdGVzdHMvb3JkZXIuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDM5ICswLDAgQEAKLTwh
RE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLTx0aXRsZT5PcmRlcmluZzwvdGl0bGU+Ci08
bWV0YSBuYW1lPSJ0aW1lb3V0IiBjb250ZW50PSI2MDAwIj4KLTwvaGVhZD4KLTxib2R5PgotPGRp
diBpZD0ibG9nIj48L2Rpdj4KLTxzY3JpcHQgc3JjPSIuLi8uLi90ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgotPHNjcmlwdD4KLXRlc3QoZnVuY3Rpb24oKSB7fSwgJ3NlY29uZCcpOwotdGVzdChmdW5jdGlv
bigpIHt9LCAnZmlyc3QnKTsKLTwvc2NyaXB0PgotPHNjcmlwdCB0eXBlPSJ0ZXh0L2pzb24iIGlk
PSJleHBlY3RlZCI+Ci17Ci0gICJzdW1tYXJpemVkX3N0YXR1cyI6IHsKLSAgICAic3RhdHVzX3N0
cmluZyI6ICJPSyIsCi0gICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICJzdGFjayI6IG51bGwKLSAg
fSwKLSAgInN1bW1hcml6ZWRfdGVzdHMiOiBbewotICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1Mi
LAotICAgICJuYW1lIjogImZpcnN0IiwKLSAgICAic3RhY2siOiBudWxsLAotICAgICJtZXNzYWdl
IjogbnVsbCwKLSAgICAicHJvcGVydGllcyI6IHt9Ci0gIH0sIHsKLSAgICAic3RhdHVzX3N0cmlu
ZyI6ICJQQVNTIiwKLSAgICAibmFtZSI6ICJzZWNvbmQiLAotICAgICJzdGFjayI6IG51bGwsCi0g
ICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICJwcm9wZXJ0aWVzIjoge30KLSAgfV0sCi0gICJ0eXBl
IjogImNvbXBsZXRlIgotfQotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90
ZXN0L3Rlc3RzL3Byb21pc2UtYXN5bmMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvcHJvbWlzZS1hc3luYy5odG1s
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4OGI2OTcyYTYwYTI0NzNiZjEyMGNlMGE0
OGUwZjMxY2Q3OTUwNWNhLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3Rlc3QvdGVzdHMvcHJvbWlzZS1hc3luYy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTgw
ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLTx0aXRsZT5Bc3luYyBU
ZXN0cyBhbmQgUHJvbWlzZXM8L3RpdGxlPgotPC9oZWFkPgotPGJvZHk+Ci08aDE+QXN5bmMgVGVz
dHMgYW5kIFByb21pc2VzPC9oMT4KLTxwPlRoaXMgdGVzdCBhc3N1bWVzIEVDTUFTY3JpcHQgNiBQ
cm9taXNlIHN1cHBvcnQuIFNvbWUgZmFpbHVyZXMgYXJlIGV4cGVjdGVkLjwvcD4KLTxkaXYgaWQ9
ImxvZyI+PC9kaXY+Ci08c2NyaXB0IHNyYz0iLi4vLi4vdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQ+Ci0KLXRlc3QoZnVuY3Rpb24oKSB7Ci0gIHZhciBwID0gbmV3IFByb21pc2UoZnVuY3Rp
b24ocmVzb2x2ZSwgcmVqZWN0KSB7fSk7Ci0gIGFzc2VydF90cnVlKCd0aGVuJyBpbiBwKTsKLSAg
YXNzZXJ0X2VxdWFscyh0eXBlb2YgUHJvbWlzZS5yZXNvbHZlLCAnZnVuY3Rpb24nKTsKLSAgYXNz
ZXJ0X2VxdWFscyh0eXBlb2YgUHJvbWlzZS5yZWplY3QsICdmdW5jdGlvbicpOwotfSwgIlByb21p
c2VzIGFyZSBzdXBwb3J0ZWQgaW4geW91ciBicm93c2VyIik7Ci0KLShmdW5jdGlvbigpIHsKLSAg
dmFyIHQgPSBhc3luY190ZXN0KCJQcm9taXNlIHJlc29sdXRpb24iKTsKLSAgdC5zdGVwKGZ1bmN0
aW9uKCkgewotICAgIFByb21pc2UucmVzb2x2ZSgneCcpLnRoZW4oCi0gICAgICB0LnN0ZXBfZnVu
YyhmdW5jdGlvbih2YWx1ZSkgewotICAgICAgICBhc3NlcnRfZXF1YWxzKHZhbHVlLCAneCcpOwot
ICAgICAgICB0LmRvbmUoKTsKLSAgICAgIH0pLAotICAgICAgdC51bnJlYWNoZWRfZnVuYygnUHJv
bWlzZSBzaG91bGQgbm90IHJlamVjdCcpCi0gICAgKTsKLSAgfSk7Ci19KCkpOwotCi0oZnVuY3Rp
b24oKSB7Ci0gIHZhciB0ID0gYXN5bmNfdGVzdCgiUHJvbWlzZSByZWplY3Rpb24iKTsKLSAgdC5z
dGVwKGZ1bmN0aW9uKCkgewotICAgIFByb21pc2UucmVqZWN0KEVycm9yKCdmYWlsJykpLnRoZW4o
Ci0gICAgICB0LnVucmVhY2hlZF9mdW5jKCdQcm9taXNlIHNob3VsZCByZWplY3QnKSwKLSAgICAg
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewotICAgICAgICBhc3NlcnRfdHJ1ZShyZWFz
b24gaW5zdGFuY2VvZiBFcnJvcik7Ci0gICAgICAgIGFzc2VydF9lcXVhbHMocmVhc29uLm1lc3Nh
Z2UsICdmYWlsJyk7Ci0gICAgICAgIHQuZG9uZSgpOwotICAgICAgfSkKLSAgICApOwotICB9KTsK
LX0oKSk7Ci0KLShmdW5jdGlvbigpIHsKLSAgdmFyIHQgPSBhc3luY190ZXN0KCJQcm9taXNlcyBy
ZXNvbHV0aW9uIGNoYWluaW5nIik7Ci0gIHQuc3RlcChmdW5jdGlvbigpIHsKLSAgICB2YXIgcmVz
b2x1dGlvbnMgPSBbXTsKLSAgICBQcm9taXNlLnJlc29sdmUoJ2EnKS50aGVuKAotICAgICAgdC5z
dGVwX2Z1bmMoZnVuY3Rpb24odmFsdWUpIHsKLSAgICAgICAgcmVzb2x1dGlvbnMucHVzaCh2YWx1
ZSk7Ci0gICAgICAgIHJldHVybiAnYic7Ci0gICAgICB9KQotICAgICkudGhlbigKLSAgICAgIHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHZhbHVlKSB7Ci0gICAgICAgIHJlc29sdXRpb25zLnB1c2godmFs
dWUpOwotICAgICAgICByZXR1cm4gJ2MnOwotICAgICAgfSkKLSAgICApLnRoZW4oCi0gICAgICB0
LnN0ZXBfZnVuYyhmdW5jdGlvbih2YWx1ZSkgewotICAgICAgICByZXNvbHV0aW9ucy5wdXNoKHZh
bHVlKTsKLQotICAgICAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKHJlc29sdXRpb25zLCBbJ2EnLCAn
YicsICdjJ10pOwotICAgICAgICB0LmRvbmUoKTsKLSAgICAgIH0pCi0gICAgKS5jYXRjaCgKLSAg
ICAgIHQudW5yZWFjaGVkX2Z1bmMoJ3Byb21pc2Ugc2hvdWxkIG5vdCBoYXZlIHJlamVjdGVkJykK
LSAgICApOwotICB9KTsKLX0oKSk7Ci0KLShmdW5jdGlvbigpIHsKLSAgdmFyIHQgPSBhc3luY190
ZXN0KCJVc2Ugb2Ygc3RlcF9mdW5jIHdpdGggUHJvbWlzZXMiKTsKLSAgdC5zdGVwKGZ1bmN0aW9u
KCkgewotICAgIHZhciByZXNvbHV0aW9ucyA9IFtdOwotICAgIFByb21pc2UucmVzb2x2ZSgneCcp
LnRoZW4oCi0gICAgICB0LnN0ZXBfZnVuY19kb25lKCksCi0gICAgICB0LnVucmVhY2hlZF9mdW5j
KCdQcm9taXNlIHNob3VsZCBub3QgaGF2ZSByZWplY3RlZCcpCi0gICAgKTsKLSAgfSk7Ci19KCkp
OwotCi0oZnVuY3Rpb24oKSB7Ci0gIHZhciB0ID0gYXN5bmNfdGVzdCgiUHJvbWlzZXMgYW5kIHRl
c3QgYXNzZXJ0aW9uIGZhaWx1cmVzIChzaG91bGQgZmFpbCkiKTsKLSAgdC5zdGVwKGZ1bmN0aW9u
KCkgewotICAgIHZhciByZXNvbHV0aW9ucyA9IFtdOwotICAgIFByb21pc2UucmVzb2x2ZSgneCcp
LnRoZW4oCi0gICAgICB0LnN0ZXBfZnVuYyhmdW5jdGlvbih2YWx1ZSkgewotICAgICAgICBhc3Nl
cnRfdHJ1ZShmYWxzZSwgJ1RoaXMgZmFpbHVyZSBpcyBleHBlY3RlZCcpOwotICAgICAgfSkKLSAg
ICApLnRoZW4oCi0gICAgICB0LnVucmVhY2hlZF9mdW5jKCdQcm9taXNlIHNob3VsZCBub3QgaGF2
ZSByZXNvbHZlZCcpCi0gICAgKS5jYXRjaCgKLSAgICAgIHQudW5yZWFjaGVkX2Z1bmMoJ1Byb21p
c2Ugc2hvdWxkIG5vdCBoYXZlIHJlamVjdGVkJykKLSAgICApOwotICB9KTsKLX0oKSk7Ci0KLShm
dW5jdGlvbigpIHsKLSAgdmFyIHQgPSBhc3luY190ZXN0KCJVc2Ugb2YgdW5yZWFjaGVkX2Z1bmMg
d2l0aCBQcm9taXNlcyAoc2hvdWxkIGZhaWwpIik7Ci0gIHQuc3RlcChmdW5jdGlvbigpIHsKLSAg
ICB2YXIgcmVzb2x1dGlvbnMgPSBbXTsKLSAgICB2YXIgcjsKLSAgICB2YXIgcCA9IG5ldyBQcm9t
aXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewotICAgICAgLy8gUmVqZWN0IGluc3RlYWQg
b2YgcmVzb2x2ZSwgdG8gZGVtb25zdHJhdGUgZmFpbHVyZS4KLSAgICAgIHJlamVjdCgxMjMpOwot
ICAgIH0pOwotICAgIHAudGhlbigKLSAgICAgIGZ1bmN0aW9uKHZhbHVlKSB7Ci0gICAgICAgIGFz
c2VydF9lcXVhbHModmFsdWUsIDEyMywgJ1RoaXMgc2hvdWxkIG5vdCBhY3R1YWxseSBoYXBwZW4n
KTsKLSAgICAgIH0sCi0gICAgICB0LnVucmVhY2hlZF9mdW5jKCdUaGlzIGZhaWx1cmUgaXMgZXhw
ZWN0ZWQnKQotICAgICk7Ci0gIH0pOwotfSgpKTsKLTwvc2NyaXB0PgotPHNjcmlwdCB0eXBlPSJ0
ZXh0L2pzb24iIGlkPSJleHBlY3RlZCI+Ci17Ci0gICJzdW1tYXJpemVkX3N0YXR1cyI6IHsKLSAg
ICAic3RhdHVzX3N0cmluZyI6ICJPSyIsCi0gICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICJzdGFj
ayI6IG51bGwKLSAgfSwKLSAgInN1bW1hcml6ZWRfdGVzdHMiOiBbCi0gICAgewotICAgICAgInN0
YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJQcm9taXNlIHJlamVjdGlvbiIs
Ci0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAg
InN0YWNrIjogbnVsbAotICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFT
UyIsCi0gICAgICAibmFtZSI6ICJQcm9taXNlIHJlc29sdXRpb24iLAotICAgICAgInByb3BlcnRp
ZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICJzdGFjayI6IG51bGwKLSAg
ICB9LAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIkZBSUwiLAotICAgICAgIm5hbWUi
OiAiUHJvbWlzZXMgYW5kIHRlc3QgYXNzZXJ0aW9uIGZhaWx1cmVzIChzaG91bGQgZmFpbCkiLAot
ICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogImFzc2VydF90cnVlOiBU
aGlzIGZhaWx1cmUgaXMgZXhwZWN0ZWQgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UiLAotICAgICAg
InN0YWNrIjogIihpbXBsZW1lbnRhdGlvbi1kZWZpbmVkKSIKLSAgICB9LAotICAgIHsKLSAgICAg
ICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUiOiAiUHJvbWlzZXMgYXJlIHN1
cHBvcnRlZCBpbiB5b3VyIGJyb3dzZXIiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAg
ICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICJzdGFjayI6IG51bGwKLSAgICB9LAotICAgIHsKLSAg
ICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUiOiAiUHJvbWlzZXMgcmVz
b2x1dGlvbiBjaGFpbmluZyIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3Nh
Z2UiOiBudWxsLAotICAgICAgInN0YWNrIjogbnVsbAotICAgIH0sCi0gICAgewotICAgICAgInN0
YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJVc2Ugb2Ygc3RlcF9mdW5jIHdp
dGggUHJvbWlzZXMiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjog
bnVsbCwKLSAgICAgICJzdGFjayI6IG51bGwKLSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0dXNf
c3RyaW5nIjogIkZBSUwiLAotICAgICAgIm5hbWUiOiAiVXNlIG9mIHVucmVhY2hlZF9mdW5jIHdp
dGggUHJvbWlzZXMgKHNob3VsZCBmYWlsKSIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAg
ICAgIm1lc3NhZ2UiOiAiYXNzZXJ0X3VucmVhY2hlZDogVGhpcyBmYWlsdXJlIGlzIGV4cGVjdGVk
IFJlYWNoZWQgdW5yZWFjaGFibGUgY29kZSIsCi0gICAgICAic3RhY2siOiAiKGltcGxlbWVudGF0
aW9uLWRlZmluZWQpIgotICAgIH0KLSAgXSwKLSAgInR5cGUiOiAiY29tcGxldGUiCi19Ci08L3Nj
cmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvcHJvbWlzZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9wcm9taXNl
Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDYxZWYxNWRlZDk4NDg5N2Y4Mzky
OGU4OTY3Y2ZkYjBlM2YzZTNjNTEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvdGVzdC90ZXN0cy9wcm9taXNlLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwyMjEg
KzAsMCBAQAotPCFET0NUWVBFIEhUTUw+Ci08aHRtbD4KLTxoZWFkPgotPHRpdGxlPlByb21pc2Ug
VGVzdHM8L3RpdGxlPgotPC9oZWFkPgotPGJvZHk+Ci08aDE+UHJvbWlzZSBUZXN0czwvaDE+Ci08
cD5UaGlzIHRlc3QgZGVtb25zdHJhdGVzIHRoZSB1c2Ugb2YgPHR0PnByb21pc2VfdGVzdDwvdHQ+
LiBBc3N1bWVzIEVDTUFTY3JpcHQgNgotUHJvbWlzZSBzdXBwb3J0LiBTb21lIGZhaWx1cmVzIGFy
ZSBleHBlY3RlZC48L3A+Ci08ZGl2IGlkPSJsb2ciPjwvZGl2PgotPHNjcmlwdCBzcmM9Ii4uLy4u
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotdGVzdCgKLSAgICBmdW5jdGlvbigpIHsK
LSAgICAgICAgdmFyIHAgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3Qpe30p
OwotICAgICAgICBhc3NlcnRfdHJ1ZSgidGhlbiIgaW4gcCk7Ci0gICAgICAgIGFzc2VydF9lcXVh
bHModHlwZW9mIFByb21pc2UucmVzb2x2ZSwgImZ1bmN0aW9uIik7Ci0gICAgICAgIGFzc2VydF9l
cXVhbHModHlwZW9mIFByb21pc2UucmVqZWN0LCAiZnVuY3Rpb24iKTsKLSAgICB9LAotICAgICJQ
cm9taXNlcyBhcmUgc3VwcG9ydGVkIGluIHlvdXIgYnJvd3NlciIpOwotCi1wcm9taXNlX3Rlc3Qo
Ci0gICAgZnVuY3Rpb24oKSB7Ci0gICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoIngiKQot
ICAgICAgICAgICAgLnRoZW4oCi0gICAgICAgICAgICAgICAgZnVuY3Rpb24odmFsdWUpIHsKLSAg
ICAgICAgICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyh2YWx1ZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAieCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IkZ1bGZpbGxlZCBwcm9taXNlIHNob3VsZCBwYXNzIHJlc3VsdCB0byAiICsKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAiZnVsZmlsbCByZWFjdGlvbi4iKTsKLSAgICAgICAgICAg
ICAgICB9KTsKLSAgICB9LAotICAgICJQcm9taXNlIGZ1bGZpbGxtZW50IHdpdGggcmVzdWx0Iik7
Ci0KLXByb21pc2VfdGVzdCgKLSAgICBmdW5jdGlvbih0KSB7Ci0gICAgICAgIHJldHVybiBQcm9t
aXNlLnJlamVjdChuZXcgRXJyb3IoImZhaWwiKSkKLSAgICAgICAgICAgIC50aGVuKHQudW5yZWFj
aGVkX2Z1bmMoIlByb21pc2Ugc2hvdWxkIHJlamVjdCIpLAotICAgICAgICAgICAgICAgIGZ1bmN0
aW9uKHJlYXNvbikgewotICAgICAgICAgICAgICAgICAgICBhc3NlcnRfdHJ1ZSgKLSAgICAgICAg
ICAgICAgICAgICAgICAgIHJlYXNvbiBpbnN0YW5jZW9mIEVycm9yLAotICAgICAgICAgICAgICAg
ICAgICAgICAgIlJlamVjdGVkIHByb21pc2Ugc2hvdWxkIHBhc3MgcmVhc29uIHRvIGZ1bGZpbGwg
cmVhY3Rpb24uIik7Ci0gICAgICAgICAgICAgICAgICAgIGFzc2VydF9lcXVhbHMoCi0gICAgICAg
ICAgICAgICAgICAgICAgICByZWFzb24ubWVzc2FnZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJmYWlsIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJSZWplY3RlZCBwcm9taXNlIHNob3Vs
ZCBwYXNzIHJlYXNvbiB0byByZWplY3QgcmVhY3Rpb24uIik7Ci0gICAgICAgICAgICAgICAgfSk7
Ci0gICAgfSwKLSAgICAiUHJvbWlzZSByZWplY3Rpb24gd2l0aCByZXN1bHQiKTsKLQotcHJvbWlz
ZV90ZXN0KAotICAgIGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgcmVzb2x1dGlvbnMgPSBbXTsK
LSAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgiYSIpCi0gICAgICAgICAgICAudGhlbigK
LSAgICAgICAgICAgICAgICBmdW5jdGlvbih2YWx1ZSkgewotICAgICAgICAgICAgICAgICAgICBy
ZXNvbHV0aW9ucy5wdXNoKHZhbHVlKTsKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuICJiIjsK
LSAgICAgICAgICAgICAgICB9KQotICAgICAgICAgICAgLnRoZW4oCi0gICAgICAgICAgICAgICAg
ZnVuY3Rpb24odmFsdWUpIHsKLSAgICAgICAgICAgICAgICAgICAgcmVzb2x1dGlvbnMucHVzaCh2
YWx1ZSk7Ci0gICAgICAgICAgICAgICAgICAgIHJldHVybiAiYyI7Ci0gICAgICAgICAgICAgICAg
fSkKLSAgICAgICAgICAgIC50aGVuKAotICAgICAgICAgICAgICAgIGZ1bmN0aW9uKHZhbHVlKSB7
Ci0gICAgICAgICAgICAgICAgICAgIHJlc29sdXRpb25zLnB1c2godmFsdWUpOwotICAgICAgICAg
ICAgICAgICAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKHJlc29sdXRpb25zLCBbImEiLCAiYiIsICJj
Il0pOwotICAgICAgICAgICAgICAgIH0pOwotICAgIH0sCi0gICAgIkNoYWluIG9mIHByb21pc2Ug
cmVzb2x1dGlvbnMiKTsKLQotcHJvbWlzZV90ZXN0KAotICAgIGZ1bmN0aW9uKHQpIHsKLSAgICAg
ICAgdmFyIHJlc29sdXRpb25zID0gW107Ci0gICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUo
IngiKQotICAgICAgICAgICAgLnRoZW4oCi0gICAgICAgICAgICAgICAgZnVuY3Rpb24odmFsdWUp
IHsKLSAgICAgICAgICAgICAgICAgICAgYXNzZXJ0X3RydWUoZmFsc2UsICJFeHBlY3RlZCBmYWls
dXJlLiIpOwotICAgICAgICAgICAgICAgIH0pCi0gICAgICAgICAgICAudGhlbih0LnVucmVhY2hl
ZF9mdW5jKCJVTkVYUEVDVEVEIEZBSUxVUkU6IFByb21pc2Ugc2hvdWxkIG5vdCBoYXZlIHJlc29s
dmVkLiIpKTsKLSAgICB9LAotICAgICJBc3NlcnRpb24gZmFpbHVyZSBpbiBhIGZ1bGZpbGwgcmVh
Y3Rpb24gKHNob3VsZCBGQUlMIHdpdGggYW4gZXhwZWN0ZWQgZmFpbHVyZSkiKTsKLQotcHJvbWlz
ZV90ZXN0KAotICAgIGZ1bmN0aW9uKHQpIHsKLSAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKAot
ICAgICAgICAgICAgICAgIGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewotICAgICAgICAgICAg
ICAgICAgICByZWplY3QoMTIzKTsKLSAgICAgICAgICAgICAgICB9KQotICAgICAgICAgICAgLnRo
ZW4odC51bnJlYWNoZWRfZnVuYygiVU5FWFBFQ1RFRCBGQUlMVVJFOiBGdWxmaWxsIHJlYWN0aW9u
IHJlYWNoZWQgYWZ0ZXIgcmVqZWN0aW9uLiIpLAotICAgICAgICAgICAgICAgICAgdC51bnJlYWNo
ZWRfZnVuYygiRXhwZWN0ZWQgZmFpbHVyZS4iKSk7Ci0gICAgfSwKLSAgICAidW5yZWFjaGVkX2Z1
bmMgYXMgcmVhY3RvciAoc2hvdWxkIEZBSUwgd2l0aCBhbiBleHBlY3RlZCBmYWlsdXJlKSIpOwot
Ci1wcm9taXNlX3Rlc3QoCi0gICAgZnVuY3Rpb24oKSB7Ci0gICAgICAgIHJldHVybiB0cnVlOwot
ICAgIH0sCi0gICAgInByb21pc2VfdGVzdCB3aXRoIGZ1bmN0aW9uIHRoYXQgZG9lc24ndCByZXR1
cm4gYSBQcm9taXNlIik7Ci0KLXByb21pc2VfdGVzdChmdW5jdGlvbigpe30sCi0gICAgICAgICAg
ICAgInByb21pc2VfdGVzdCB3aXRoIGZ1bmN0aW9uIHRoYXQgZG9lc24ndCByZXR1cm4gYW55dGhp
bmciKTsKLQotcHJvbWlzZV90ZXN0KAotICAgIGZ1bmN0aW9uKCkgewotICAgICAgICByZXR1cm4g
UHJvbWlzZS5yZWplY3QoIkV4cGVjdGVkIHJlamVjdGlvbiIpOwotICAgIH0sCi0gICAgInByb21p
c2VfdGVzdCB3aXRoIHVuaGFuZGxlZCByZWplY3Rpb24gKHNob3VsZCBGQUlMKSIpOwotCi1wcm9t
aXNlX3Rlc3QoCi0gICAgZnVuY3Rpb24oKSB7Ci0gICAgICAgIHJldHVybiBQcm9taXNlLnJlc29s
dmUoMTApCi0gICAgICAgICAgICAudGhlbigKLSAgICAgICAgICAgICAgICBmdW5jdGlvbih2YWx1
ZSkgewotICAgICAgICAgICAgICAgICAgICB0aHJvdyBFcnJvcigiRXhwZWN0ZWQgZXhjZXB0aW9u
LiIpOwotICAgICAgICAgICAgICAgIH0pOwotICAgIH0sCi0gICAgInByb21pc2VfdGVzdCB3aXRo
IHVuaGFuZGxlZCBleGNlcHRpb24gaW4gZnVsZmlsbCByZWFjdGlvbiAoc2hvdWxkIEZBSUwpIik7
Ci0KLXByb21pc2VfdGVzdCgKLSAgICBmdW5jdGlvbih0KSB7Ci0gICAgICAgIHJldHVybiBQcm9t
aXNlLnJlamVjdCgxMCkKLSAgICAgICAgICAgIC50aGVuKAotICAgICAgICAgICAgICAgIHQudW5y
ZWFjaGVkX2Z1bmMoIlVORVhQRUNURUQgRkFJTFVSRTogRnVsZmlsbCByZWFjdGlvbiByZWFjaGVk
IGFmdGVyIHJlamVjdGlvbi4iKSwKLSAgICAgICAgICAgICAgICBmdW5jdGlvbih2YWx1ZSkgewot
ICAgICAgICAgICAgICAgICAgICB0aHJvdyBFcnJvcigiRXhwZWN0ZWQgZXhjZXB0aW9uLiIpOwot
ICAgICAgICAgICAgICAgIH0pOwotICAgIH0sCi0gICAgInByb21pc2VfdGVzdCB3aXRoIHVuaGFu
ZGxlZCBleGNlcHRpb24gaW4gcmVqZWN0IHJlYWN0aW9uIChzaG91bGQgRkFJTCkiKTsKLTwvc2Ny
aXB0PgotPHNjcmlwdCB0eXBlPSJ0ZXh0L2pzb24iIGlkPSJleHBlY3RlZCI+Ci17Ci0gICJzdW1t
YXJpemVkX3N0YXR1cyI6IHsKLSAgICAic3RhdHVzX3N0cmluZyI6ICJPSyIsCi0gICAgIm1lc3Nh
Z2UiOiBudWxsLAotICAgICJzdGFjayI6IG51bGwKLSAgfSwKLSAgInN1bW1hcml6ZWRfdGVzdHMi
OiBbCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiRkFJTCIsCi0gICAgICAibmFtZSI6
ICJBc3NlcnRpb24gZmFpbHVyZSBpbiBhIGZ1bGZpbGwgcmVhY3Rpb24gKHNob3VsZCBGQUlMIHdp
dGggYW4gZXhwZWN0ZWQgZmFpbHVyZSkiLAotICAgICAgInN0YWNrIjogIihpbXBsZW1lbnRhdGlv
bi1kZWZpbmVkKSIsCi0gICAgICAibWVzc2FnZSI6ICJhc3NlcnRfdHJ1ZTogRXhwZWN0ZWQgZmFp
bHVyZS4gZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UiLAotICAgICAgInByb3BlcnRpZXMiOiB7fQot
ICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFt
ZSI6ICJDaGFpbiBvZiBwcm9taXNlIHJlc29sdXRpb25zIiwKLSAgICAgICJzdGFjayI6IG51bGws
Ci0gICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAicHJvcGVydGllcyI6IHt9Ci0gICAgfSwK
LSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1lIjogIlBy
b21pc2UgZnVsZmlsbG1lbnQgd2l0aCByZXN1bHQiLAotICAgICAgInN0YWNrIjogbnVsbCwKLSAg
ICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30KLSAgICB9LAotICAg
IHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUiOiAiUHJvbWlz
ZSByZWplY3Rpb24gd2l0aCByZXN1bHQiLAotICAgICAgInN0YWNrIjogbnVsbCwKLSAgICAgICJt
ZXNzYWdlIjogbnVsbCwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30KLSAgICB9LAotICAgIHsKLSAg
ICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUiOiAiUHJvbWlzZXMgYXJl
IHN1cHBvcnRlZCBpbiB5b3VyIGJyb3dzZXIiLAotICAgICAgInN0YWNrIjogbnVsbCwKLSAgICAg
ICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30KLSAgICB9LAotICAgIHsK
LSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUiOiAicHJvbWlzZV90
ZXN0IHdpdGggZnVuY3Rpb24gdGhhdCBkb2Vzbid0IHJldHVybiBhIFByb21pc2UiLAotICAgICAg
InN0YWNrIjogbnVsbCwKLSAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICJwcm9wZXJ0aWVz
Ijoge30KLSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIkZBSUwiLAotICAg
ICAgIm5hbWUiOiAicHJvbWlzZV90ZXN0IHdpdGggZnVuY3Rpb24gdGhhdCBkb2Vzbid0IHJldHVy
biBhbnl0aGluZyIsCi0gICAgICAic3RhY2siOiAiKGltcGxlbWVudGF0aW9uLWRlZmluZWQpIiwK
LSAgICAgICJtZXNzYWdlIjogImFzc2VydF9ub3RfZXF1YWxzOiBnb3QgZGlzYWxsb3dlZCB2YWx1
ZSB1bmRlZmluZWQiLAotICAgICAgInByb3BlcnRpZXMiOiB7fQotICAgIH0sCi0gICAgewotICAg
ICAgInN0YXR1c19zdHJpbmciOiAiRkFJTCIsCi0gICAgICAibmFtZSI6ICJwcm9taXNlX3Rlc3Qg
d2l0aCB1bmhhbmRsZWQgZXhjZXB0aW9uIGluIGZ1bGZpbGwgcmVhY3Rpb24gKHNob3VsZCBGQUlM
KSIsCi0gICAgICAic3RhY2siOiAiKGltcGxlbWVudGF0aW9uLWRlZmluZWQpIiwKLSAgICAgICJt
ZXNzYWdlIjogInByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBv
YmplY3QgXCJFcnJvcjogRXhwZWN0ZWQgZXhjZXB0aW9uLlwiIiwKLSAgICAgICJwcm9wZXJ0aWVz
Ijoge30KLSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIkZBSUwiLAotICAg
ICAgIm5hbWUiOiAicHJvbWlzZV90ZXN0IHdpdGggdW5oYW5kbGVkIGV4Y2VwdGlvbiBpbiByZWpl
Y3QgcmVhY3Rpb24gKHNob3VsZCBGQUlMKSIsCi0gICAgICAic3RhY2siOiAiKGltcGxlbWVudGF0
aW9uLWRlZmluZWQpIiwKLSAgICAgICJtZXNzYWdlIjogInByb21pc2VfdGVzdDogVW5oYW5kbGVk
IHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgXCJFcnJvcjogRXhwZWN0ZWQgZXhjZXB0aW9u
LlwiIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30KLSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0
dXNfc3RyaW5nIjogIkZBSUwiLAotICAgICAgIm5hbWUiOiAicHJvbWlzZV90ZXN0IHdpdGggdW5o
YW5kbGVkIHJlamVjdGlvbiAoc2hvdWxkIEZBSUwpIiwKLSAgICAgICJzdGFjayI6ICIoaW1wbGVt
ZW50YXRpb24tZGVmaW5lZCkiLAotICAgICAgIm1lc3NhZ2UiOiAicHJvbWlzZV90ZXN0OiBVbmhh
bmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IFwiRXhwZWN0ZWQgcmVqZWN0aW9uXCIiLAotICAg
ICAgInByb3BlcnRpZXMiOiB7fQotICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmci
OiAiRkFJTCIsCi0gICAgICAibmFtZSI6ICJ1bnJlYWNoZWRfZnVuYyBhcyByZWFjdG9yIChzaG91
bGQgRkFJTCB3aXRoIGFuIGV4cGVjdGVkIGZhaWx1cmUpIiwKLSAgICAgICJzdGFjayI6ICIoaW1w
bGVtZW50YXRpb24tZGVmaW5lZCkiLAotICAgICAgIm1lc3NhZ2UiOiAiYXNzZXJ0X3VucmVhY2hl
ZDogRXhwZWN0ZWQgZmFpbHVyZS4gUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlIiwKLSAgICAgICJw
cm9wZXJ0aWVzIjoge30KLSAgICB9Ci0gIF0sCi0gICJ0eXBlIjogImNvbXBsZXRlIgotfQotPC9z
Y3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL3NpbmdsZS1wYWdlLXRlc3QtZmFpbC5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVz
dC90ZXN0cy9zaW5nbGUtcGFnZS10ZXN0LWZhaWwuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggYTFmODgxMDczODJhNzk0Njc3YzA4MDMzNTJmMzIxZGE2NmMzNzZhNi4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL3NpbmdsZS1w
YWdlLXRlc3QtZmFpbC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMjkgKzAsMCBAQAotPCFET0NU
WVBFIEhUTUw+Ci08dGl0bGU+RXhhbXBsZSB3aXRoIGZpbGVfaXNfdGVzdCAoc2hvdWxkIGZhaWwp
PC90aXRsZT4KLTxzY3JpcHQgc3JjPSIuLi8uLi90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0iLi4vLi4vdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlw
dD4KLW9ubG9hZCA9IGZ1bmN0aW9uKCkgewotICBhc3NlcnRfdHJ1ZShmYWxzZSk7Ci0gIGRvbmUo
KTsKLX0KLTwvc2NyaXB0PgotPHNjcmlwdCB0eXBlPSJ0ZXh0L2pzb24iIGlkPSJleHBlY3RlZCI+
Ci17Ci0gICJzdW1tYXJpemVkX3N0YXR1cyI6IHsKLSAgICAic3RhdHVzX3N0cmluZyI6ICJPSyIs
Ci0gICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICJzdGFjayI6IG51bGwKLSAgfSwKLSAgInN1bW1h
cml6ZWRfdGVzdHMiOiBbCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiRkFJTCIsCi0g
ICAgICAibmFtZSI6ICJFeGFtcGxlIHdpdGggZmlsZV9pc190ZXN0IChzaG91bGQgZmFpbCkiLAot
ICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogInVuY2F1Z2h0IGV4Y2Vw
dGlvbjogRXJyb3I6IGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZSIsCi0gICAg
ICAic3RhY2siOiAiKGltcGxlbWVudGF0aW9uLWRlZmluZWQpIgotICAgIH0KLSAgXSwKLSAgInR5
cGUiOiAiY29tcGxldGUiCi19Ci08L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvc2luZ2xl
LXBhZ2UtdGVzdC1uby1hc3NlcnRpb25zLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL3NpbmdsZS1wYWdlLXRlc3Qt
bm8tYXNzZXJ0aW9ucy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzNDAyYTQ2
OWNmODU4MjkxZGY1YWUxYTBiMDliYTkzOWQyMjRhNzJhLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvc2luZ2xlLXBhZ2UtdGVzdC1uby1hc3Nl
cnRpb25zLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwyNiArMCwwIEBACi08IURPQ1RZUEUgSFRN
TD4KLTx0aXRsZT5FeGFtcGxlIHNpbmdsZSBwYWdlIHRlc3Qgd2l0aCBubyBhc3NlcnRzPC90aXRs
ZT4KLTxzY3JpcHQgc3JjPSIuLi8uLi90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0iLi4vLi4vdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLWRv
bmUoKTsKLTwvc2NyaXB0PgotPHNjcmlwdCB0eXBlPSJ0ZXh0L2pzb24iIGlkPSJleHBlY3RlZCI+
Ci17Ci0gICJzdW1tYXJpemVkX3N0YXR1cyI6IHsKLSAgICAic3RhdHVzX3N0cmluZyI6ICJPSyIs
Ci0gICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICJzdGFjayI6IG51bGwKLSAgfSwKLSAgInN1bW1h
cml6ZWRfdGVzdHMiOiBbCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0g
ICAgICAibmFtZSI6ICJFeGFtcGxlIHNpbmdsZSBwYWdlIHRlc3Qgd2l0aCBubyBhc3NlcnRzIiwK
LSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAi
c3RhY2siOiBudWxsCi0gICAgfQotICBdLAotICAidHlwZSI6ICJjb21wbGV0ZSIKLX0KLTwvc2Ny
aXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9zaW5nbGUtcGFnZS10ZXN0LW5vLWJvZHkuaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rl
c3QvdGVzdHMvc2luZ2xlLXBhZ2UtdGVzdC1uby1ib2R5Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDA2NTA5MWE5M2U4MGQxYjViMDMyODY5YzFiN2Y2M2Y5OTU1ZjM1ZjMuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9zaW5n
bGUtcGFnZS10ZXN0LW5vLWJvZHkuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDI3ICswLDAgQEAK
LTwhRE9DVFlQRSBIVE1MPgotPHRpdGxlPkV4YW1wbGUgc2luZ2xlIHBhZ2UgdGVzdCB3aXRoIG5v
IGJvZHk8L3RpdGxlPgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Rlc3RoYXJuZXNzLmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPSIuLi8uLi90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0PgotYXNzZXJ0X3RydWUodHJ1ZSk7Ci1kb25lKCk7Ci08L3NjcmlwdD4KLTxzY3JpcHQg
dHlwZT0idGV4dC9qc29uIiBpZD0iZXhwZWN0ZWQiPgotewotICAic3VtbWFyaXplZF9zdGF0dXMi
OiB7Ci0gICAgInN0YXR1c19zdHJpbmciOiAiT0siLAotICAgICJtZXNzYWdlIjogbnVsbCwKLSAg
ICAic3RhY2siOiBudWxsCi0gIH0sCi0gICJzdW1tYXJpemVkX3Rlc3RzIjogWwotICAgIHsKLSAg
ICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUiOiAiRXhhbXBsZSBzaW5n
bGUgcGFnZSB0ZXN0IHdpdGggbm8gYm9keSIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAg
ICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgInN0YWNrIjogbnVsbAotICAgIH0KLSAgXSwKLSAg
InR5cGUiOiAiY29tcGxldGUiCi19Ci08L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvc2lu
Z2xlLXBhZ2UtdGVzdC1wYXNzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL3NpbmdsZS1wYWdlLXRlc3QtcGFzcy5o
dG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzMWU0ZTY0OTQ3MWMxYzJhZTA4MjBj
NzgxNDQ0ZWU5MWQxZDU0ZTFjLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3Rlc3QvdGVzdHMvc2luZ2xlLXBhZ2UtdGVzdC1wYXNzLmh0bWwKKysrIC9kZXYvbnVs
bApAQCAtMSwyOSArMCwwIEBACi08IURPQ1RZUEUgSFRNTD4KLTx0aXRsZT5FeGFtcGxlIHdpdGgg
ZmlsZV9pc190ZXN0PC90aXRsZT4KLTxzY3JpcHQgc3JjPSIuLi8uLi90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdD4KLW9ubG9hZCA9IGZ1bmN0aW9uKCkgewotICBhc3NlcnRfdHJ1ZSh0cnVl
KTsKLSAgZG9uZSgpOwotfQotPC9zY3JpcHQ+Ci08c2NyaXB0IHR5cGU9InRleHQvanNvbiIgaWQ9
ImV4cGVjdGVkIj4KLXsKLSAgInN1bW1hcml6ZWRfc3RhdHVzIjogewotICAgICJzdGF0dXNfc3Ry
aW5nIjogIk9LIiwKLSAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgInN0YWNrIjogbnVsbAotICB9
LAotICAic3VtbWFyaXplZF90ZXN0cyI6IFsKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6
ICJQQVNTIiwKLSAgICAgICJuYW1lIjogIkV4YW1wbGUgd2l0aCBmaWxlX2lzX3Rlc3QiLAotICAg
ICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICJzdGFj
ayI6IG51bGwKLSAgICB9Ci0gIF0sCi0gICJ0eXBlIjogImNvbXBsZXRlIgotfQotPC9zY3JpcHQ+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy90ZXN0L3Rlc3RzL3VuY2F1Z2h0LWV4Y2VwdGlvbi1oYW5kbGUuaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3Qv
dGVzdHMvdW5jYXVnaHQtZXhjZXB0aW9uLWhhbmRsZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCA3ZDgyNDRiZjFjZWY0ZTQ1ODkxMjY4ODQ2NTMzOWRkNzNmOWViYWY0Li4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvdW5jYXVn
aHQtZXhjZXB0aW9uLWhhbmRsZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMzUgKzAsMCBAQAot
PCFET0NUWVBFIEhUTUw+Ci08aHRtbD4KLTxoZWFkPgotPHRpdGxlPkhhcm5lc3MgSGFuZGxpbmcg
VW5jYXVnaHQgRXhjZXB0aW9uPC90aXRsZT4KLTwvaGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci0KLTxib2R5PgotPGgxPkhhcm5lc3MgSGFuZGxpbmcg
VW5jYXVnaHQgRXhjZXB0aW9uPC9oMT4KLTxkaXYgaWQ9ImxvZyI+PC9kaXY+Ci08c2NyaXB0Pgot
dmFyIHQgPSBhc3luY190ZXN0KCJUaGlzIHNob3VsZCBzaG93IGEgaGFybmVzcyBzdGF0dXMgb2Yg
J0Vycm9yJyBhbmQgYSB0ZXN0IHN0YXR1cyBvZiAnTm90IFJ1biciKTsKLXRocm93IG5ldyBFcnJv
cigiRXhhbXBsZSBFcnJvciIpOwotPC9zY3JpcHQ+Ci08c2NyaXB0IHR5cGU9InRleHQvanNvbiIg
aWQ9ImV4cGVjdGVkIj4KLXsKLSAgInN1bW1hcml6ZWRfc3RhdHVzIjogewotICAgICJzdGF0dXNf
c3RyaW5nIjogIkVSUk9SIiwKLSAgICAibWVzc2FnZSI6ICJFcnJvcjogRXhhbXBsZSBFcnJvciIs
Ci0gICAgInN0YWNrIjogIihpbXBsZW1lbnRhdGlvbi1kZWZpbmVkKSIKLSAgfSwKLSAgInN1bW1h
cml6ZWRfdGVzdHMiOiBbCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiTk9UUlVOIiwK
LSAgICAgICJuYW1lIjogIlRoaXMgc2hvdWxkIHNob3cgYSBoYXJuZXNzIHN0YXR1cyBvZiAnRXJy
b3InIGFuZCBhIHRlc3Qgc3RhdHVzIG9mICdOb3QgUnVuJyIsCi0gICAgICAicHJvcGVydGllcyI6
IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgInN0YWNrIjogbnVsbAotICAgIH0K
LSAgXSwKLSAgInR5cGUiOiAiY29tcGxldGUiCi19Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvdW5jYXVnaHQtZXhjZXB0aW9uLWlnbm9yZS5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVz
dC90ZXN0cy91bmNhdWdodC1leGNlcHRpb24taWdub3JlLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDlmNDVkZGI0N2Y1NWMzMDk4YjBmYWJlOTJlNzNmOGZkNzA3NTg4MWEuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy91bmNh
dWdodC1leGNlcHRpb24taWdub3JlLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwzNyArMCwwIEBA
Ci08IURPQ1RZUEUgSFRNTD4KLTxodG1sPgotPGhlYWQ+Ci08dGl0bGU+SGFybmVzcyBJZ25vcmlu
ZyBVbmNhdWdodCBFeGNlcHRpb248L3RpdGxlPgotPC9oZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4u
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLQotPGJvZHk+Ci08aDE+SGFybmVzcyBJZ25vcmlu
ZyBVbmNhdWdodCBFeGNlcHRpb248L2gxPgotPGRpdiBpZD0ibG9nIj48L2Rpdj4KLTxzY3JpcHQ+
Ci1zZXR1cCh7YWxsb3dfdW5jYXVnaHRfZXhjZXB0aW9uOnRydWV9KTsKLXZhciB0ID0gYXN5bmNf
dGVzdCgic2V0dXAoe2FsbG93X3VuY2F1Z2h0X2V4Y2VwdGlvbjp0cnVlfSkgc2hvdWxkIGFsbG93
IHRlc3RzIHRvIHBhc3MgZXZlbiBpZiB0aGVyZSBpcyBhbiBleGNlcHRpb24iKTsKLW9uZXJyb3Ig
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbigpIHt0LmRvbmUoKX0pOwotdGhyb3cgbmV3IEVycm9yKCJF
eGFtcGxlIEVycm9yIik7Ci08L3NjcmlwdD4KLTxzY3JpcHQgdHlwZT0idGV4dC9qc29uIiBpZD0i
ZXhwZWN0ZWQiPgotewotICAic3VtbWFyaXplZF9zdGF0dXMiOiB7Ci0gICAgInN0YXR1c19zdHJp
bmciOiAiT0siLAotICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAic3RhY2siOiBudWxsCi0gIH0s
Ci0gICJzdW1tYXJpemVkX3Rlc3RzIjogWwotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjog
IlBBU1MiLAotICAgICAgIm5hbWUiOiAic2V0dXAoe2FsbG93X3VuY2F1Z2h0X2V4Y2VwdGlvbjp0
cnVlfSkgc2hvdWxkIGFsbG93IHRlc3RzIHRvIHBhc3MgZXZlbiBpZiB0aGVyZSBpcyBhbiBleGNl
cHRpb24iLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogbnVsbCwK
LSAgICAgICJzdGFjayI6IG51bGwKLSAgICB9Ci0gIF0sCi0gICJ0eXBlIjogImNvbXBsZXRlIgot
fQotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL3czYy1p
bXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvdGVzdC90ZXN0cy93M2MtaW1wb3J0LmxvZwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggYWI3MTU0Njc5ZTNmOWJhNzkwNGExNDdmZGYyMmIzMjFhNWFhNjMyMy4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL3czYy1pbXBv
cnQubG9nCisrKyAvZGV2L251bGwKQEAgLTEsNDIgKzAsMCBAQAotVGhlIHRlc3RzIGluIHRoaXMg
ZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCi1EbyBOT1Qg
bW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQsIGNyZWF0ZSBh
IHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20vdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cwotCi1UaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQt
dzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydAotCi1EbyBOT1QgbW9kaWZ5IG9yIHJlbW92
ZSB0aGlzIGZpbGUuCi0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotUHJvcGVydGllcyByZXF1aXJpbmcgdmVu
ZG9yIHByZWZpeGVzOgotTm9uZQotUHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJl
Zml4ZXM6Ci1Ob25lCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLUxpc3Qgb2YgZmlsZXM6Ci0vTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9h
ZGRfY2xlYW51cC5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9hZGRfY2xlYW51cF9jb3VudC5odG1sCi0vTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0
cy9hZGRfY2xlYW51cF9lcnIuaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvYWRkX2NsZWFudXBfZXJyX211bHRpLmh0
bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy90ZXN0L3Rlc3RzL2FwaS10ZXN0cy0xLmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2FwaS10ZXN0cy0yLmh0bWwK
LS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90
ZXN0L3Rlc3RzL2FwaS10ZXN0cy0zLmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2dlbmVyYXRlLWNhbGxiYWNrLmh0
bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy90ZXN0L3Rlc3RzL2lmcmFtZS1jYWxsYmFjay5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9pZnJhbWUtY29uc29s
aWRhdGUtZXJyb3JzLmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2lmcmFtZS1jb25zb2xpZGF0ZS10ZXN0cy5odG1s
Ci0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
dGVzdC90ZXN0cy9pZnJhbWUtbXNnLmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL29yZGVyLmh0bWwKLS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3Rz
L3Byb21pc2UtYXN5bmMuaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvcHJvbWlzZS5odG1sCi0vTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9zaW5n
bGUtcGFnZS10ZXN0LWZhaWwuaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvc2luZ2xlLXBhZ2UtdGVzdC1uby1hc3Nl
cnRpb25zLmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy90ZXN0L3Rlc3RzL3NpbmdsZS1wYWdlLXRlc3Qtbm8tYm9keS5odG1sCi0vTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90
ZXN0cy9zaW5nbGUtcGFnZS10ZXN0LXBhc3MuaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvdW5jYXVnaHQtZXhjZXB0
aW9uLWhhbmRsZS5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy91bmNhdWdodC1leGNlcHRpb24taWdub3JlLmh0bWwK
LS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90
ZXN0L3Rlc3RzL3dvcmtlci1kZWRpY2F0ZWQuaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvd29ya2VyLWVycm9yLmpz
Ci0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
dGVzdC90ZXN0cy93b3JrZXItc2VydmljZS5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy93b3JrZXItc2hhcmVkLmh0
bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy90ZXN0L3Rlc3RzL3dvcmtlci5qcwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy93b3JrZXItZGVkaWNh
dGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy90ZXN0L3Rlc3RzL3dvcmtlci1kZWRpY2F0ZWQuaHRtbApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMGNhM2U0ZDE0NWE2NDQ3MWU4ZDBmOWJhZmQ2N2EzMzcxYjM3YzZlOC4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL3dv
cmtlci1kZWRpY2F0ZWQuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDk3ICswLDAgQEAKLTwhRE9D
VFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLTx0aXRsZT5EZWRpY2F0ZWQgV29ya2VyIFRlc3Rz
PC90aXRsZT4KLTxzY3JpcHQgc3JjPSIuLi8uLi90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0iLi4vLi4vdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPC9oZWFk
PgotPGJvZHk+Ci08aDE+RGVkaWNhdGVkIFdlYiBXb3JrZXIgVGVzdHM8L2gxPgotPHA+RGVtb25z
dHJhdGVzIHJ1bm5pbmcgPHR0PnRlc3RoYXJuZXNzPC90dD4gYmFzZWQgdGVzdHMgaW5zaWRlIGEg
ZGVkaWNhdGVkIHdlYiB3b3JrZXIuCi08cD5UaGUgdGVzdCBoYXJuZXNzIGlzIGV4cGVjdGVkIHRv
IGZhaWwgZHVlIHRvIGFuIHVuY2F1Z2h0IGV4Y2VwdGlvbiBpbiBvbmUgd29ya2VyLjwvcD4KLTxk
aXYgaWQ9ImxvZyI+PC9kaXY+Ci0KLTxzY3JpcHQ+Ci10ZXN0KGZ1bmN0aW9uKHQpIHsKLSAgICAg
ICAgYXNzZXJ0X3RydWUoIldvcmtlciIgaW4gc2VsZiwgIkJyb3dzZXIgc2hvdWxkIHN1cHBvcnQg
V29ya2VycyIpOwotICAgIH0sCi0gICAgIkJyb3dzZXIgc3VwcG9ydHMgV29ya2VycyIpOwotCi1m
ZXRjaF90ZXN0c19mcm9tX3dvcmtlcihuZXcgV29ya2VyKCJ3b3JrZXIuanMiKSk7Ci0KLWZldGNo
X3Rlc3RzX2Zyb21fd29ya2VyKG5ldyBXb3JrZXIoIndvcmtlci1lcnJvci5qcyIpKTsKLQotdGVz
dChmdW5jdGlvbih0KSB7Ci0gICAgICAgIGFzc2VydF9mYWxzZShmYWxzZSwgIkZhbHNlIGlzIGZh
bHNlIik7Ci0gICAgfSwKLSAgICAiVGVzdCBydW5uaW5nIG9uIG1haW4gZG9jdW1lbnQuIik7Ci08
L3NjcmlwdD4KLTxzY3JpcHQgdHlwZT0idGV4dC9qc29uIiBpZD0iZXhwZWN0ZWQiPgotewotICAi
c3VtbWFyaXplZF9zdGF0dXMiOiB7Ci0gICAgInN0YXR1c19zdHJpbmciOiAiRVJST1IiLAotICAg
ICJtZXNzYWdlIjogIkVycm9yOiBUaGlzIGZhaWx1cmUgaXMgZXhwZWN0ZWQuIiwKLSAgICAic3Rh
Y2siOiAiKGltcGxlbWVudGF0aW9uLWRlZmluZWQpIgotICB9LAotICAic3VtbWFyaXplZF90ZXN0
cyI6IFsKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1l
IjogIkJyb3dzZXIgc3VwcG9ydHMgV29ya2VycyIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAot
ICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgInN0YWNrIjogbnVsbAotICAgIH0sCi0gICAg
ewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJUZXN0IHJ1
bm5pbmcgb24gbWFpbiBkb2N1bWVudC4iLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAg
ICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICJzdGFjayI6IG51bGwKLSAgICB9LAotICAgIHsKLSAg
ICAgICJzdGF0dXNfc3RyaW5nIjogIkZBSUwiLAotICAgICAgIm5hbWUiOiAiVW50aXRsZWQiLAot
ICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogIkVycm9yOiBUaGlzIGZh
aWx1cmUgaXMgZXhwZWN0ZWQuIiwKLSAgICAgICJzdGFjayI6ICIoaW1wbGVtZW50YXRpb24tZGVm
aW5lZCkiCi0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAg
ICAgICJuYW1lIjogIldvcmtlciBhc3luY190ZXN0IHRoYXQgY29tcGxldGVzIHN1Y2Nlc3NmdWxs
eSIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAg
ICAgInN0YWNrIjogbnVsbAotICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAi
UEFTUyIsCi0gICAgICAibmFtZSI6ICJXb3JrZXIgdGVzdCB0aGF0IGNvbXBsZXRlcyBzdWNjZXNz
ZnVsbHkiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogbnVsbCwK
LSAgICAgICJzdGFjayI6IG51bGwKLSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5n
IjogIk5PVFJVTiIsCi0gICAgICAibmFtZSI6ICJXb3JrZXIgdGVzdCB0aGF0IGRvZXNuJ3QgcnVu
ICgnTk9UIFJVTicpIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6
IG51bGwsCi0gICAgICAic3RhY2siOiBudWxsCi0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVz
X3N0cmluZyI6ICJGQUlMIiwKLSAgICAgICJuYW1lIjogIldvcmtlciB0ZXN0IHRoYXQgZmFpbHMg
KCdGQUlMJykiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogImFz
c2VydF90cnVlOiBGYWlsaW5nIHRlc3QgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UiLAotICAgICAg
InN0YWNrIjogIihpbXBsZW1lbnRhdGlvbi1kZWZpbmVkKSIKLSAgICB9LAotICAgIHsKLSAgICAg
ICJzdGF0dXNfc3RyaW5nIjogIlRJTUVPVVQiLAotICAgICAgIm5hbWUiOiAiV29ya2VyIHRlc3Qg
dGhhdCB0aW1lcyBvdXQgKCdUSU1FT1VUJykiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAg
ICAgICJtZXNzYWdlIjogIlRlc3QgdGltZWQgb3V0IiwKLSAgICAgICJzdGFjayI6IG51bGwKLSAg
ICB9Ci0gIF0sCi0gICJ0eXBlIjogImNvbXBsZXRlIgotfQotPC9zY3JpcHQ+Ci08L2JvZHk+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy90ZXN0L3Rlc3RzL3dvcmtlci1lcnJvci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvd29ya2VyLWVycm9y
LmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhMjVmMGRiMTg4YjA2OWFlN2QzMGM1
OTg2Nzg0ZjdmYWRlZDY0NTMyLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3Rlc3QvdGVzdHMvd29ya2VyLWVycm9yLmpzCisrKyAvZGV2L251bGwKQEAgLTEsMyAr
MCwwIEBACi1pbXBvcnRTY3JpcHRzKCIuLi8uLi90ZXN0aGFybmVzcy5qcyIpOwotCi10aHJvdyBu
ZXcgRXJyb3IoIlRoaXMgZmFpbHVyZSBpcyBleHBlY3RlZC4iKTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVz
dHMvd29ya2VyLXNlcnZpY2UuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvd29ya2VyLXNlcnZpY2UuaHRtbApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDE4ZjZkNzJiYjE2ZjIzNzM0NTQ4MzVkYWViOWY2
ZjI3Y2E4Yzk4OS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90
ZXN0L3Rlc3RzL3dvcmtlci1zZXJ2aWNlLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxMjMgKzAs
MCBAQAotPCFET0NUWVBFIEhUTUw+Ci08aHRtbD4KLTxoZWFkPgotPHRpdGxlPkV4YW1wbGUgd2l0
aCBhIHNlcnZpY2Ugd29ya2VyPC90aXRsZT4KLTxzY3JpcHQgc3JjPSIuLi8uLi90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08aDE+U2VydmljZSBXb3JrZXIgVGVzdHM8L2gx
PgotPHA+RGVtb25zdHJhdGVzIHJ1bm5pbmcgPHR0PnRlc3RoYXJuZXNzPC90dD4gYmFzZWQgdGVz
dHMgaW5zaWRlIGEgc2VydmljZSB3b3JrZXIuCi08cD5UaGUgdGVzdCBoYXJuZXNzIHNob3VsZCB0
aW1lIG91dCBkdWUgdG8gb25lIG9mIHRoZSB0ZXN0cyBpbnNpZGUgdGhlIHdvcmtlciB0aW1pbmcg
b3V0LgotPHA+VGhpcyB0ZXN0IGFzc3VtZXMgdGhhdCB0aGUgYnJvd3NlciBzdXBwb3J0cyA8YSBo
cmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi9zZXJ2aWNlLXdvcmtlcnMvIj5TZXJ2aWNlV29ya2Vy
czwvYT4uCi08ZGl2IGlkPSJsb2ciPjwvZGl2PgotCi08c2NyaXB0PgotdGVzdCgKLSAgICBmdW5j
dGlvbih0KSB7Ci0gICAgICAgIGFzc2VydF90cnVlKCJzZXJ2aWNlV29ya2VyIiBpbiBuYXZpZ2F0
b3IsCi0gICAgICAgICAgICAgICAgICAgICJuYXZpZ2F0b3Iuc2VydmljZVdvcmtlciBleGlzdHMi
KTsKLSAgICB9LAotICAgICJCcm93c2VyIHN1cHBvcnRzIFNlcnZpY2VXb3JrZXIiKTsKLQotcHJv
bWlzZV90ZXN0KAotICAgIGZ1bmN0aW9uKCkgewotICAgICAgICAvLyBTaW5jZSB0aGUgc2Vydmlj
ZSB3b3JrZXIgcmVnaXN0cmF0aW9uIGNvdWxkIGJlIGluIGFuIGluZGV0ZXJtaW5hdGUKLSAgICAg
ICAgLy8gc3RhdGUgKGR1ZSB0bywgZm9yIGV4YW1wbGUsIGEgcHJldmlvdXMgdGVzdCBydW4gZmFp
bGluZyksIHdlIHN0YXJ0IGJ5Ci0gICAgICAgIC8vIHVucmVnc3RlcmluZyBvdXIgc2VydmljZSB3
b3JrZXIgYW5kIHRoZW4gcmVnaXN0ZXJpbmcgaXQgYWdhaW4uCi0gICAgICAgIHZhciBzY29wZSA9
ICJzZXJ2aWNlLXdvcmtlci1zY29wZSI7Ci0gICAgICAgIHZhciB3b3JrZXJfdXJsID0gIndvcmtl
ci5qcyI7Ci0KLSAgICAgICAgcmV0dXJuIG5hdmlnYXRvci5zZXJ2aWNlV29ya2VyLnJlZ2lzdGVy
KHdvcmtlcl91cmwsIHtzY29wZTogc2NvcGV9KQotICAgICAgICAgICAgLnRoZW4oCi0gICAgICAg
ICAgICAgICAgZnVuY3Rpb24ocmVnaXN0cmF0aW9uKSB7Ci0gICAgICAgICAgICAgICAgICAgIHJl
dHVybiByZWdpc3RyYXRpb24udW5yZWdpc3RlcigpOwotICAgICAgICAgICAgICAgIH0pCi0gICAg
ICAgICAgICAudGhlbigKLSAgICAgICAgICAgICAgICBmdW5jdGlvbigpIHsKLSAgICAgICAgICAg
ICAgICAgICAgcmV0dXJuIG5hdmlnYXRvci5zZXJ2aWNlV29ya2VyLnJlZ2lzdGVyKHdvcmtlcl91
cmwsIHtzY29wZTogc2NvcGV9KTsKLSAgICAgICAgICAgICAgICB9KQotICAgICAgICAgICAgLnRo
ZW4oCi0gICAgICAgICAgICAgICAgZnVuY3Rpb24ocmVnaXN0cmF0aW9uKSB7Ci0gICAgICAgICAg
ICAgICAgICAgIGFkZF9jb21wbGV0aW9uX2NhbGxiYWNrKAotICAgICAgICAgICAgICAgICAgICAg
ICAgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVnaXN0cmF0aW9u
LnVucmVnaXN0ZXIoKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIH0pOwotCi0gICAgICAgICAg
ICAgICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgKLSAgICAgICAgICAgICAgICAgICAgICAgIGZ1
bmN0aW9uKHJlc29sdmUpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWdpc3RyYXRp
b24uYWRkRXZlbnRMaXN0ZW5lcigidXBkYXRlZm91bmQiLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHJlc29sdmUocmVnaXN0cmF0aW9uLmluc3RhbGxpbmcpOwotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB9KTsKLSAgICAgICAgICAgICAgICAgICAgICAgIH0pOwotICAgICAgICAg
ICAgICAgIH0pCi0gICAgICAgICAgICAudGhlbigKLSAgICAgICAgICAgICAgICBmdW5jdGlvbih3
b3JrZXIpIHsKLSAgICAgICAgICAgICAgICAgICAgZmV0Y2hfdGVzdHNfZnJvbV93b3JrZXIod29y
a2VyKTsKLSAgICAgICAgICAgICAgICB9KTsKLSAgICB9LAotICAgICJSZWdpc3RlciBTZXJ2aWNl
V29ya2VyIik7Ci08L3NjcmlwdD4KLTxzY3JpcHQgdHlwZT0idGV4dC9qc29uIiBpZD0iZXhwZWN0
ZWQiPgotewotICAic3VtbWFyaXplZF9zdGF0dXMiOiB7Ci0gICAgInN0YXR1c19zdHJpbmciOiAi
VElNRU9VVCIsCi0gICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICJzdGFjayI6IG51bGwKLSAgfSwK
LSAgInN1bW1hcml6ZWRfdGVzdHMiOiBbCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAi
UEFTUyIsCi0gICAgICAibmFtZSI6ICJCcm93c2VyIHN1cHBvcnRzIFNlcnZpY2VXb3JrZXIiLAot
ICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICJz
dGFjayI6IG51bGwKLSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1Mi
LAotICAgICAgIm5hbWUiOiAiUmVnaXN0ZXIgU2VydmljZVdvcmtlciIsCi0gICAgICAicHJvcGVy
dGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgInN0YWNrIjogbnVsbAot
ICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFt
ZSI6ICJXb3JrZXIgYXN5bmNfdGVzdCB0aGF0IGNvbXBsZXRlcyBzdWNjZXNzZnVsbHkiLAotICAg
ICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICJzdGFj
ayI6IG51bGwKLSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAot
ICAgICAgIm5hbWUiOiAiV29ya2VyIHRlc3QgdGhhdCBjb21wbGV0ZXMgc3VjY2Vzc2Z1bGx5IiwK
LSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAi
c3RhY2siOiBudWxsCi0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJOT1RS
VU4iLAotICAgICAgIm5hbWUiOiAiV29ya2VyIHRlc3QgdGhhdCBkb2Vzbid0IHJ1biAoJ05PVCBS
VU4nKSIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsLAot
ICAgICAgInN0YWNrIjogbnVsbAotICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmci
OiAiRkFJTCIsCi0gICAgICAibmFtZSI6ICJXb3JrZXIgdGVzdCB0aGF0IGZhaWxzICgnRkFJTCcp
IiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6ICJhc3NlcnRfdHJ1
ZTogRmFpbGluZyB0ZXN0IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlIiwKLSAgICAgICJzdGFjayI6
ICIoaW1wbGVtZW50YXRpb24tZGVmaW5lZCkiCi0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVz
X3N0cmluZyI6ICJUSU1FT1VUIiwKLSAgICAgICJuYW1lIjogIldvcmtlciB0ZXN0IHRoYXQgdGlt
ZXMgb3V0ICgnVElNRU9VVCcpIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVz
c2FnZSI6ICJUZXN0IHRpbWVkIG91dCIsCi0gICAgICAic3RhY2siOiBudWxsCi0gICAgfQotICBd
LAotICAidHlwZSI6ICJjb21wbGV0ZSIKLX0KLTwvc2NyaXB0PgotPC9ib2R5PgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
dGVzdC90ZXN0cy93b3JrZXItc2hhcmVkLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL3dvcmtlci1zaGFyZWQuaHRt
bApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTU2MDFkZTAzODY5MTc1NDAwMWM5NWM2
OWNiYmE2NGE4NTFlYWUyZC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy90ZXN0L3Rlc3RzL3dvcmtlci1zaGFyZWQuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDgw
ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLTx0aXRsZT5FeGFtcGxl
IHdpdGggYSBzaGFyZWQgd29ya2VyPC90aXRsZT4KLTxzY3JpcHQgc3JjPSIuLi8uLi90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08aDE+U2hhcmVkIFdlYiBXb3JrZXIgVGVz
dHM8L2gxPgotPHA+RGVtb25zdHJhdGVzIHJ1bm5pbmcgPHR0PnRlc3RoYXJuZXNzPC90dD4gYmFz
ZWQgdGVzdHMgaW5zaWRlIGEgc2hhcmVkIHdvcmtlci4KLTxwPlRoZSB0ZXN0IGhhcm5lc3Mgc2hv
dWxkIHRpbWUgb3V0IGR1ZSB0byBvbmUgb2YgdGhlIHRlc3RzIGluIHRoZSB3b3JrZXIgdGltaW5n
IG91dC4KLTxwPlRoaXMgdGVzdCBhc3N1bWVzIHRoYXQgdGhlIGJyb3dzZXIgc3VwcG9ydHMgPGEg
aHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvd29ya2Vycy8jc2hhcmVkLXdvcmtlcnMtYW5kLXRo
ZS1zaGFyZWR3b3JrZXItaW50ZXJmYWNlIj5zaGFyZWQgd2ViIHdvcmtlcnM8L2E+LgotPGRpdiBp
ZD0ibG9nIj48L2Rpdj4KLQotPHNjcmlwdD4KLXRlc3QoCi0gICAgZnVuY3Rpb24odCkgewotICAg
ICAgICBhc3NlcnRfdHJ1ZSgiU2hhcmVkV29ya2VyIiBpbiBzZWxmLAotICAgICAgICAgICAgICAg
ICAgICAiQnJvd3NlciBzaG91bGQgc3VwcG9ydCBTaGFyZWRXb3JrZXJzIik7Ci0gICAgfSwKLSAg
ICAiQnJvd3NlciBzdXBwb3J0cyBTaGFyZWRXb3JrZXJzIik7Ci0KLWZldGNoX3Rlc3RzX2Zyb21f
d29ya2VyKG5ldyBTaGFyZWRXb3JrZXIoIndvcmtlci5qcyIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJNeSBzaGFyZWQgd29ya2VyIikpOwotPC9zY3JpcHQ+Ci08
c2NyaXB0IHR5cGU9InRleHQvanNvbiIgaWQ9ImV4cGVjdGVkIj4KLXsKLSAgInN1bW1hcml6ZWRf
c3RhdHVzIjogewotICAgICJzdGF0dXNfc3RyaW5nIjogIlRJTUVPVVQiLAotICAgICJtZXNzYWdl
IjogbnVsbCwKLSAgICAic3RhY2siOiBudWxsCi0gIH0sCi0gICJzdW1tYXJpemVkX3Rlc3RzIjog
WwotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUiOiAi
QnJvd3NlciBzdXBwb3J0cyBTaGFyZWRXb3JrZXJzIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30s
Ci0gICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAic3RhY2siOiBudWxsCi0gICAgfSwKLSAg
ICB7Ci0gICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAibmFtZSI6ICJXb3JrZXIgYXN5bmNf
dGVzdCB0aGF0IGNvbXBsZXRlcyBzdWNjZXNzZnVsbHkiLAotICAgICAgInByb3BlcnRpZXMiOiB7
fSwKLSAgICAgICJzdGFjayI6IG51bGwsCi0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIgot
ICAgIH0sCi0gICAgewotICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgIm5hbWUiOiAiV29y
a2VyIHRlc3QgdGhhdCBjb21wbGV0ZXMgc3VjY2Vzc2Z1bGx5IiwKLSAgICAgICJwcm9wZXJ0aWVz
Ijoge30sCi0gICAgICAic3RhY2siOiBudWxsLAotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFT
UyIKLSAgICB9LAotICAgIHsKLSAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICJuYW1lIjog
IldvcmtlciB0ZXN0IHRoYXQgZG9lc24ndCBydW4gKCdOT1QgUlVOJykiLAotICAgICAgInByb3Bl
cnRpZXMiOiB7fSwKLSAgICAgICJzdGFjayI6IG51bGwsCi0gICAgICAic3RhdHVzX3N0cmluZyI6
ICJOT1RSVU4iCi0gICAgfSwKLSAgICB7Ci0gICAgICAibWVzc2FnZSI6ICJhc3NlcnRfdHJ1ZTog
RmFpbGluZyB0ZXN0IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlIiwKLSAgICAgICJuYW1lIjogIldv
cmtlciB0ZXN0IHRoYXQgZmFpbHMgKCdGQUlMJykiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwK
LSAgICAgICJzdGFjayI6ICIoaW1wbGVtZW50YXRpb24tZGVmaW5lZCkiLAotICAgICAgInN0YXR1
c19zdHJpbmciOiAiRkFJTCIKLSAgICB9LAotICAgIHsKLSAgICAgICJtZXNzYWdlIjogIlRlc3Qg
dGltZWQgb3V0IiwKLSAgICAgICJuYW1lIjogIldvcmtlciB0ZXN0IHRoYXQgdGltZXMgb3V0ICgn
VElNRU9VVCcpIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAic3RhY2siOiBudWxs
LAotICAgICAgInN0YXR1c19zdHJpbmciOiAiVElNRU9VVCIKLSAgICB9Ci0gIF0sCi0gICJ0eXBl
IjogImNvbXBsZXRlIgotfQotPC9zY3JpcHQ+Ci08L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3Rz
L3dvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3Rlc3QvdGVzdHMvd29ya2VyLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCBhMjU2MjFhYzFlNDA1Zjk1N2YzZDgzMmRhZmEzMmE1YTEyMTQ4NTQxLi4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvd29ya2VyLmpzCisr
KyAvZGV2L251bGwKQEAgLTEsMzQgKzAsMCBAQAotaW1wb3J0U2NyaXB0cygiLi4vLi4vdGVzdGhh
cm5lc3MuanMiKTsKLQotdGVzdCgKLSAgICBmdW5jdGlvbih0ZXN0KSB7Ci0gICAgICAgIGFzc2Vy
dF90cnVlKHRydWUsICJUcnVlIGlzIHRydWUiKTsKLSAgICB9LAotICAgICJXb3JrZXIgdGVzdCB0
aGF0IGNvbXBsZXRlcyBzdWNjZXNzZnVsbHkiKTsKLQotdGVzdCgKLSAgICBmdW5jdGlvbih0ZXN0
KSB7Ci0gICAgICAgIGFzc2VydF90cnVlKGZhbHNlLCAiRmFpbGluZyB0ZXN0Iik7Ci0gICAgfSwK
LSAgICAiV29ya2VyIHRlc3QgdGhhdCBmYWlscyAoJ0ZBSUwnKSIpOwotCi1hc3luY190ZXN0KAot
ICAgIGZ1bmN0aW9uKHRlc3QpIHsKLSAgICAgICAgYXNzZXJ0X3RydWUodHJ1ZSwgIlRydWUgaXMg
dHJ1ZSIpOwotICAgIH0sCi0gICAgIldvcmtlciB0ZXN0IHRoYXQgdGltZXMgb3V0ICgnVElNRU9V
VCcpIik7Ci0KLWFzeW5jX3Rlc3QoIldvcmtlciB0ZXN0IHRoYXQgZG9lc24ndCBydW4gKCdOT1Qg
UlVOJykiKTsKLQotYXN5bmNfdGVzdCgKLSAgICBmdW5jdGlvbih0ZXN0KSB7Ci0gICAgICAgIHNl
bGYuc2V0VGltZW91dCgKLSAgICAgICAgICAgIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAg
IHRlc3QuZG9uZSgpOwotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIDApOwotICAgIH0sCi0g
ICAgIldvcmtlciBhc3luY190ZXN0IHRoYXQgY29tcGxldGVzIHN1Y2Nlc3NmdWxseSIpOwotCi0v
LyBBbiBleHBsaWNpdCBkb25lKCkgaXMgcmVxdWlyZWQgZm9yIGRlZGljYXRlZCBhbmQgc2hhcmVk
IHdlYiB3b3JrZXJzLgotZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90b3guaW5pIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90b3guaW5p
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0ZjQ1NjQwNDc5ZjFiYmI4NjYwYjkzNWNk
MmRiNzhjNTFkNDA0ZDU3Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3Rlc3QvdG94LmluaQorKysgL2Rldi9udWxsCkBAIC0xLDEzICswLDAgQEAKLVt0b3hdCi1z
a2lwc2Rpc3Q9VHJ1ZQotCi1bdGVzdGVudl0KLXBhc3NlbnY9RElTUExBWSAjIE5lY2Vzc2FyeSBm
b3IgdGhlIHNwYXduZWQgR2Vja29Ecml2ZXIgcHJvY2VzcyB0byBjb25uZWN0IHRvCi0gICAgICAg
ICAgICAgICAgIyB0aGUgYXBwcm9wcmlhdGUgZGlzcGxheS4KLWRlcHMgPQotICBodG1sNWxpYgot
ICBweXRlc3Q+PTIuOQotICBweXZpcnR1YWxkaXNwbGF5Ci0gIHNlbGVuaXVtCi0KLWNvbW1hbmRz
ID0gcHl0ZXN0IHtwb3NhcmdzfSAtdnYgdGVzdHMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdzNjLWltcG9ydC5s
b2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy90ZXN0L3czYy1pbXBvcnQubG9nCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyNmVj
ZGEwZWQyZjdiMGRiMTdjNDBlZjAzNWM3NjMxNTFjNzJiYzkyLi4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdzNjLWltcG9ydC5sb2cKKysrIC9kZXYvbnVs
bApAQCAtMSwyMiArMCwwIEBACi1UaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBv
cnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KLURvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMg
ZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRo
ZSBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
Ci0KLVRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0
IHRvIHJlaW1wb3J0Ci0KLURvIE5PVCBtb2RpZnkgb3IgcmVtb3ZlIHRoaXMgZmlsZS4KLQotLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tCi1Qcm9wZXJ0aWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6Ci1Ob25l
Ci1Qcm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKLU5vbmUKLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLQotTGlzdCBvZiBmaWxlczoKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L1JFQURNRS5tZAotL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvY29uZmlnLnRlc3Qu
anNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3Rlc3QvY29uZnRlc3QucHkKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L2hhcm5lc3MuaHRtbAotL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdG94LmluaQotL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3Qvd3B0
c2VydmVyLnB5CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3dwdHNlcnZlci5weSBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3Qvd3B0c2VydmVyLnB5CmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiMDZmM2U4MTc0NWVmMTI1NjFjOGExNzJiYjgy
N2I0ZTY4MjhiMmI2Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3Rlc3Qvd3B0c2VydmVyLnB5CisrKyAvZGV2L251bGwKQEAgLTEsNDggKzAsMCBAQAotaW1wb3J0
IGpzb24KLWltcG9ydCBvcwotaW1wb3J0IHNzbAotaW1wb3J0IHN1YnByb2Nlc3MKLWltcG9ydCB1
cmxsaWIyCi0KLV9DT05GSUdfRklMRSA9IG9zLnBhdGguam9pbihvcy5wYXRoLmRpcm5hbWUob3Mu
cGF0aC5hYnNwYXRoKF9fZmlsZV9fKSksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Nv
bmZpZy50ZXN0Lmpzb24nKQotCi13aXRoIG9wZW4oX0NPTkZJR19GSUxFLCAncicpIGFzIGNvbmZp
Z19oYW5kbGU6Ci0gICAgY29uZmlnID0ganNvbi5sb2Fkcyhjb25maWdfaGFuZGxlLnJlYWQoKSkK
LSAgICBob3N0ID0gY29uZmlnWyJob3N0Il0KLSAgICBwb3J0ID0gY29uZmlnWyJwb3J0cyJdWyJo
dHRwcyJdWzBdCi0KLWNsYXNzIFdQVFNlcnZlcihvYmplY3QpOgotICAgIGJhc2VfdXJsID0gJ2h0
dHBzOi8vJXM6JXMnICUgKGhvc3QsIHBvcnQpCi0KLSAgICBkZWYgX19pbml0X18oc2VsZiwgd3B0
X3Jvb3QpOgotICAgICAgICBzZWxmLndwdF9yb290ID0gd3B0X3Jvb3QKLQotICAgIGRlZiBzdGFy
dChzZWxmKToKLSAgICAgICAgc2VsZi5kZXZudWxsID0gb3Blbihvcy5kZXZudWxsLCAndycpCi0g
ICAgICAgIHNlbGYucHJvYyA9IHN1YnByb2Nlc3MuUG9wZW4oCi0gICAgICAgICAgICBbb3MucGF0
aC5qb2luKHNlbGYud3B0X3Jvb3QsICd3cHQnKSwgJ3NlcnZlJywgJy0tY29uZmlnPScgKyBfQ09O
RklHX0ZJTEVdLAotICAgICAgICAgICAgc3Rkb3V0PXNlbGYuZGV2bnVsbCwKLSAgICAgICAgICAg
IHN0ZGVycj1zZWxmLmRldm51bGwsCi0gICAgICAgICAgICBjd2Q9c2VsZi53cHRfcm9vdCkKLSAg
ICAgICAgY29udGV4dCA9IHNzbC5TU0xDb250ZXh0KHNzbC5QUk9UT0NPTF9UTFN2MSkKLSAgICAg
ICAgY29udGV4dC52ZXJpZnlfbW9kZSA9IHNzbC5DRVJUX05PTkUKLSAgICAgICAgY29udGV4dC5j
aGVja19ob3N0bmFtZSA9IEZhbHNlCi0KLSAgICAgICAgd2hpbGUgVHJ1ZToKLSAgICAgICAgICAg
IGlmIHNlbGYucHJvYy5wb2xsKCkgIT0gTm9uZToKLSAgICAgICAgICAgICAgICByYWlzZSBFeGNl
cHRpb24oJ0NvdWxkIG5vdCBzdGFydCB3cHRzZXJ2ZS4nKQotCi0gICAgICAgICAgICB0cnk6Ci0g
ICAgICAgICAgICAgICAgdXJsbGliMi51cmxvcGVuKHNlbGYuYmFzZV91cmwsIHRpbWVvdXQ9MSwg
Y29udGV4dD1jb250ZXh0KQotICAgICAgICAgICAgICAgIGJyZWFrCi0gICAgICAgICAgICBleGNl
cHQgdXJsbGliMi5VUkxFcnJvciBhcyBlOgotICAgICAgICAgICAgICAgIHBhc3MKLQotICAgIGRl
ZiBzdG9wKHNlbGYpOgotICAgICAgICBzZWxmLnByb2Mua2lsbCgpCi0gICAgICAgIHNlbGYucHJv
Yy53YWl0KCkKLSAgICAgICAgc2VsZi5kZXZudWxsLmNsb3NlKCkKLQotICAgIGRlZiB1cmwoc2Vs
ZiwgYWJzX3BhdGgpOgotICAgICAgICByZXR1cm4gc2VsZi5iYXNlX3VybCArICcvJyArIG9zLnBh
dGgucmVscGF0aChhYnNfcGF0aCwgc2VsZi53cHRfcm9vdCkKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3Rkcml2ZXIt
YWN0aW9ucy5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3Rlc3Rkcml2ZXItYWN0aW9ucy5qcwppbmRleCA0M2Q4YjFkZjAwYWU0YzJmMzYx
MTRmNTg2OTVhNTMxNGRiZDQxZDYwLi5kM2RjMDBiNGQwZjAwMjY3MDI1OGU1NmQ1OWQzMzA2MWY0
ZmM1Nzc1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy90ZXN0ZHJpdmVyLWFjdGlvbnMuanMKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdGRyaXZlci1hY3Rp
b25zLmpzCkBAIC0zLDggKzMsMTAgQEAKIAogICAvKioKICAgICogQnVpbGRlciBmb3IgY3JlYXRp
bmcgYSBzZXF1ZW5jZSBvZiBhY3Rpb25zCisgICAqIFRoZSBkZWZhdWx0IHRpY2sgZHVyYXRpb24g
aXMgc2V0IHRvIDE2bXMsIHdoaWNoIGlzIG9uZSBmcmFtZSB0aW1lIGJhc2VkIG9uCisgICAqIDYw
SHogZGlzcGxheS4KICAgICovCi0gIGZ1bmN0aW9uIEFjdGlvbnMoKSB7CisgIGZ1bmN0aW9uIEFj
dGlvbnMoZGVmYXVsdFRpY2tEdXJhdGlvbj0xNikgewogICAgIHRoaXMuc291cmNlVHlwZXMgPSBu
ZXcgTWFwKFtbImtleSIsIEtleVNvdXJjZV0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFsicG9pbnRlciIsIFBvaW50ZXJTb3VyY2VdLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBbIm5vbmUiLCBHZW5lcmFsU291cmNlXV0pOwpAQCAtMTksNiArMjEsNyBAQAogICAg
IH0KICAgICB0aGlzLmNyZWF0ZVNvdXJjZSgibm9uZSIpOwogICAgIHRoaXMudGlja0lkeCA9IDA7
CisgICAgdGhpcy5kZWZhdWx0VGlja0R1cmF0aW9uID0gZGVmYXVsdFRpY2tEdXJhdGlvbjsKICAg
fQogCiAgIEFjdGlvbnMucHJvdG90eXBlID0gewpAQCAtNDAsNyArNDMsNyBAQAogICAgICAgbGV0
IGFjdGlvbnMgPSBbXTsKICAgICAgIGZvciAobGV0IFtzb3VyY2VUeXBlLCBzb3VyY2VOYW1lXSBv
ZiB0aGlzLnNvdXJjZU9yZGVyKSB7CiAgICAgICAgIGxldCBzb3VyY2UgPSB0aGlzLnNvdXJjZXMu
Z2V0KHNvdXJjZVR5cGUpLmdldChzb3VyY2VOYW1lKTsKLSAgICAgICAgbGV0IHNlcmlhbGl6ZWQg
PSBzb3VyY2Uuc2VyaWFsaXplKHRoaXMudGlja0lkeCArIDEpOworICAgICAgICBsZXQgc2VyaWFs
aXplZCA9IHNvdXJjZS5zZXJpYWxpemUodGhpcy50aWNrSWR4ICsgMSwgdGhpcy5kZWZhdWx0VGlj
a0R1cmF0aW9uKTsKICAgICAgICAgaWYgKHNlcmlhbGl6ZWQpIHsKICAgICAgICAgICBzZXJpYWxp
emVkLmlkID0gc291cmNlTmFtZTsKICAgICAgICAgICBhY3Rpb25zLnB1c2goc2VyaWFsaXplZCk7
CkBAIC0xOTIsMTAgKzE5NSwxNiBAQAogICAgICAqIEFkZCBhIHBhdXNlIHRvIHRoZSBjdXJyZW50
IHRpY2sKICAgICAgKgogICAgICAqIEBwYXJhbSB7TnVtYmVyP30gZHVyYXRpb24gLSBNaW5pbXVt
IGxlbmd0aCBvZiB0aGUgdGljayBpbiBtcy4KKyAgICAgKiBAcGFyYW0ge1N0cmluZ30gc291cmNl
VHlwZSAtIHNvdXJjZSB0eXBlCisgICAgICogQHBhcmFtIHtTdHJpbmc/fSBzb3VyY2VOYW1lIC0g
TmFtZWQga2V5IG9yIHBvaW50ZXIgc291cmNlIHRvIHVzZSBvciBudWxsIGZvciB0aGUgZGVmYXVs
dAorICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleSBvciBwb2ludGVyIHNv
dXJjZQogICAgICAqIEByZXR1cm5zIHtBY3Rpb25zfQogICAgICAqLwotICAgIHBhdXNlOiBmdW5j
dGlvbihkdXJhdGlvbikgewotICAgICAgdGhpcy5nZXRTb3VyY2UoIm5vbmUiKS5hZGRQYXVzZSh0
aGlzLCBkdXJhdGlvbik7CisgICAgcGF1c2U6IGZ1bmN0aW9uKGR1cmF0aW9uPTAsIHNvdXJjZVR5
cGU9Im5vbmUiLCB7c291cmNlTmFtZT1udWxsfT17fSkgeworICAgICAgaWYgKHNvdXJjZVR5cGU9
PSJub25lIikKKyAgICAgICAgdGhpcy5nZXRTb3VyY2UoIm5vbmUiKS5hZGRQYXVzZSh0aGlzLCBk
dXJhdGlvbik7CisgICAgICBlbHNlCisgICAgICAgIHRoaXMuZ2V0U291cmNlKHNvdXJjZVR5cGUs
IHNvdXJjZU5hbWUpLmFkZFBhdXNlKHRoaXMsIGR1cmF0aW9uKTsKICAgICAgIHJldHVybiB0aGlz
OwogICAgIH0sCiAKQEAgLTI3OCwxNyArMjg3LDE0IEBACiAgIH0KIAogICBHZW5lcmFsU291cmNl
LnByb3RvdHlwZSA9IHsKLSAgICBzZXJpYWxpemU6IGZ1bmN0aW9uKHRpY2tDb3VudCkgewotICAg
ICAgaWYgKCF0aGlzLmFjdGlvbnMuc2l6ZSkgewotICAgICAgICByZXR1cm4gdW5kZWZpbmVkOwot
ICAgICAgfQorICAgIHNlcmlhbGl6ZTogZnVuY3Rpb24odGlja0NvdW50LCBkZWZhdWx0VGlja0R1
cmF0aW9uKSB7CiAgICAgICBsZXQgYWN0aW9ucyA9IFtdOwogICAgICAgbGV0IGRhdGEgPSB7InR5
cGUiOiAibm9uZSIsICJhY3Rpb25zIjogYWN0aW9uc307CiAgICAgICBmb3IgKGxldCBpPTA7IGk8
dGlja0NvdW50OyBpKyspIHsKICAgICAgICAgaWYgKHRoaXMuYWN0aW9ucy5oYXMoaSkpIHsKICAg
ICAgICAgICBhY3Rpb25zLnB1c2godGhpcy5hY3Rpb25zLmdldChpKSk7CiAgICAgICAgIH0gZWxz
ZSB7Ci0gICAgICAgICAgYWN0aW9ucy5wdXNoKHsidHlwZSI6ICJwYXVzZSJ9KTsKKyAgICAgICAg
ICBhY3Rpb25zLnB1c2goeyJ0eXBlIjogInBhdXNlIiwgZHVyYXRpb246IGRlZmF1bHRUaWNrRHVy
YXRpb259KTsKICAgICAgICAgfQogICAgICAgfQogICAgICAgcmV0dXJuIGRhdGE7CkBAIC0zMzks
NiArMzQ1LDE0IEBACiAgICAgICB9CiAgICAgICB0aGlzLmFjdGlvbnMuc2V0KHRpY2ssIHt0eXBl
OiAia2V5VXAiLCB2YWx1ZToga2V5fSk7CiAgICAgfSwKKworICAgIGFkZFBhdXNlOiBmdW5jdGlv
bihhY3Rpb25zLCBkdXJhdGlvbikgeworICAgICAgbGV0IHRpY2sgPSBhY3Rpb25zLnRpY2tJZHg7
CisgICAgICBpZiAodGhpcy5hY3Rpb25zLmhhcyh0aWNrKSkgeworICAgICAgICB0aWNrID0gYWN0
aW9ucy5hZGRUaWNrKCkudGlja0lkeDsKKyAgICAgIH0KKyAgICAgIHRoaXMuYWN0aW9ucy5zZXQo
dGljaywge3R5cGU6ICJwYXVzZSIsIGR1cmF0aW9uOiBkdXJhdGlvbn0pOworICAgIH0sCiAgIH07
CiAKICAgZnVuY3Rpb24gUG9pbnRlclNvdXJjZShwYXJhbWV0ZXJzPXtwb2ludGVyVHlwZTogIm1v
dXNlIn0pIHsKQEAgLTM5Myw2ICs0MDcsMTQgQEAKICAgICAgICAgdGhpcy5hY3Rpb25zLmdldCh0
aWNrKS5kdXJhdGlvbiA9IGR1cmF0aW9uOwogICAgICAgfQogICAgIH0sCisKKyAgICBhZGRQYXVz
ZTogZnVuY3Rpb24oYWN0aW9ucywgZHVyYXRpb24pIHsKKyAgICAgIGxldCB0aWNrID0gYWN0aW9u
cy50aWNrSWR4OworICAgICAgaWYgKHRoaXMuYWN0aW9ucy5oYXModGljaykpIHsKKyAgICAgICAg
dGljayA9IGFjdGlvbnMuYWRkVGljaygpLnRpY2tJZHg7CisgICAgICB9CisgICAgICB0aGlzLmFj
dGlvbnMuc2V0KHRpY2ssIHt0eXBlOiAicGF1c2UiLCBkdXJhdGlvbjogZHVyYXRpb259KTsKKyAg
ICB9LAogICB9OwogCiAgIHRlc3RfZHJpdmVyLkFjdGlvbnMgPSBBY3Rpb25zOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
dGVzdGRyaXZlci12ZW5kb3IuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0ZHJpdmVyLXZlbmRvci5qcwppbmRleCBmNTk0ZDM1MTA0
NzZlNjYxOTQyNzdkNjEyNDQ4MGIyYzMxMDgwNzQ2Li5lNjlkZTI5YmIyZDFkNjQzNGI4YjI5YWU3
NzVhZDhjMmU0OGM1MzkxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0ZHJpdmVyLXZlbmRvci5qcworKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0ZHJp
dmVyLXZlbmRvci5qcwpAQCAtMSwyNTEgKzAsMCBAQAotCi1jb25zdCBpc0RlYnVnID0gZmFsc2U7
Ci0KLWZ1bmN0aW9uIGxvZ0RlYnVnKGNhbGxiYWNrKQotewotICAgIGlmIChpc0RlYnVnKQotICAg
ICAgICBjb25zb2xlLmxvZyhjYWxsYmFjaygpKTsKLX0KLQotZnVuY3Rpb24gZGlzcGF0Y2hNb3Vz
ZUFjdGlvbnMoYWN0aW9ucykKLXsKLSAgICBpZiAoIXdpbmRvdy5ldmVudFNlbmRlcikKLSAgICAg
ICAgcmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyBFcnJvcigid2luZG93LmV2ZW50U2VuZGVyIGlz
IHVuZGVmaW5lZC4iKSk7Ci0KLSAgICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7Ci0g
ICAgICAgIHNldFRpbWVvdXQoKCkgPT4gewotICAgICAgICAgICAgZXZlbnRTZW5kZXIuZHJhZ01v
ZGUgPSBmYWxzZTsKLQotICAgICAgICAgICAgZm9yIChsZXQgYWN0aW9uIG9mIGFjdGlvbnMpIHsK
LSAgICAgICAgICAgICAgICBzd2l0Y2ggKGFjdGlvbi50eXBlKSB7Ci0gICAgICAgICAgICAgICAg
Y2FzZSAicG9pbnRlck1vdmUiOgotICAgICAgICAgICAgICAgICAgICBsZXQgb3JpZ2luID0geyB4
OiAwLCB5OiAwIH07Ci0gICAgICAgICAgICAgICAgICAgIGlmIChhY3Rpb24ub3JpZ2luIGluc3Rh
bmNlb2YgRWxlbWVudCkgewotICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgYm91bmRzID0g
YWN0aW9uLm9yaWdpbi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTsKLSAgICAgICAgICAgICAgICAg
ICAgICAgIGxvZ0RlYnVnKCgpID0+IGAke2FjdGlvbi5vcmlnaW4uaWR9IFske2JvdW5kcy5sZWZ0
fSwgJHtib3VuZHMudG9wfSwgJHtib3VuZHMud2lkdGh9LCAke2JvdW5kcy5oZWlnaHR9XWApOwot
ICAgICAgICAgICAgICAgICAgICAgICAgb3JpZ2luLnggPSBib3VuZHMubGVmdCArIDE7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICBvcmlnaW4ueSA9IGJvdW5kcy50b3AgKyAxOwotICAgICAgICAg
ICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgIGxvZ0RlYnVnKCgpID0+IGBldmVudFNl
bmRlci5tb3VzZU1vdmVUbygke2FjdGlvbi54ICsgb3JpZ2luLnh9LCAke2FjdGlvbi55ICsgb3Jp
Z2luLnl9KWApOwotICAgICAgICAgICAgICAgICAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbyhh
Y3Rpb24ueCArIG9yaWdpbi54LCBhY3Rpb24ueSArIG9yaWdpbi55KTsKLSAgICAgICAgICAgICAg
ICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgY2FzZSAicG9pbnRlckRvd24iOgotICAgICAg
ICAgICAgICAgICAgICBsb2dEZWJ1ZygoKSA9PiBgZXZlbnRTZW5kZXIubW91c2VEb3duKClgKTsK
LSAgICAgICAgICAgICAgICAgICAgZXZlbnRTZW5kZXIubW91c2VEb3duKGFjdGlvbi5idXR0b24p
OwotICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgICAgICBjYXNlICJwb2lu
dGVyVXAiOgotICAgICAgICAgICAgICAgICAgICBsb2dEZWJ1ZygoKSA9PiBgZXZlbnRTZW5kZXIu
bW91c2VVcCgpYCk7Ci0gICAgICAgICAgICAgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlVXAoYWN0
aW9uLmJ1dHRvbik7Ci0gICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgICAg
IGRlZmF1bHQ6Ci0gICAgICAgICAgICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdChuZXcg
RXJyb3IoYFVua25vd24gYWN0aW9uIHR5cGUgIiR7YWN0aW9uLnR5cGV9Ii5gKSk7Ci0gICAgICAg
ICAgICAgICAgfQotICAgICAgICAgICAgfQotICAgICAgICAgICAgcmVzb2x2ZSgpOwotICAgICAg
ICB9KTsKLSAgICB9KTsKLX0KLQotZnVuY3Rpb24gZGlzcGF0Y2hUb3VjaEFjdGlvbnMoYWN0aW9u
cywgb3B0aW9ucyA9IHsgaW5zZXJ0UGF1c2VBZnRlclBvaW50ZXJVcDogZmFsc2UgfSkKLXsKLSAg
ICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyIHx8IHR5cGVvZiB3aW5kb3cudGVzdFJ1bm5lci5ydW5V
SVNjcmlwdCAhPT0gImZ1bmN0aW9uIikKLSAgICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KG5l
dyBFcnJvcigid2luZG93LnRlc3RSdW5uZXIucnVuVUlTY3JpcHQoKSBpcyB1bmRlZmluZWQuIikp
OwotCi0gICAgbGV0IHggPSAwOwotICAgIGxldCB5ID0gMDsKLSAgICBsZXQgdGltZU9mZnNldCA9
IDA7Ci0gICAgbGV0IHBvaW50ZXJEb3duID0gZmFsc2U7Ci0gICAgbGV0IGlkID0gMTsKLQotICAg
IGNvbnN0IGV2ZW50cyA9IFtdOwotICAgIGZvciAobGV0IGFjdGlvbiBvZiBhY3Rpb25zKSB7Ci0g
ICAgICAgIGNvbnN0IHRvdWNoID0gewotICAgICAgICAgICAgaW5wdXRUeXBlIDogImZpbmdlciIs
Ci0gICAgICAgICAgICBpZCwKLSAgICAgICAgICAgIHggOiBhY3Rpb24ueCwKLSAgICAgICAgICAg
IHkgOiBhY3Rpb24ueSwKLSAgICAgICAgICAgIHByZXNzdXJlIDogMAotICAgICAgICB9OwotCi0g
ICAgICAgIGNvbnN0IGNvbW1hbmQgPSB7Ci0gICAgICAgICAgICBpbnB1dFR5cGUgOiAiaGFuZCIs
Ci0gICAgICAgICAgICBjb29yZGluYXRlU3BhY2UgOiAiY29udGVudCIsCi0gICAgICAgICAgICB0
b3VjaGVzIDogW3RvdWNoXSwKLSAgICAgICAgICAgIHRpbWVPZmZzZXQKLSAgICAgICAgfTsKLQot
ICAgICAgICBsZXQgdGltZU9mZnNldEluY3JlYXNlID0gMC4wNTsKLQotICAgICAgICBzd2l0Y2gg
KGFjdGlvbi50eXBlKSB7Ci0gICAgICAgIGNhc2UgInBvaW50ZXJNb3ZlIjoKLSAgICAgICAgICAg
IHRvdWNoLnBoYXNlID0gIm1vdmVkIjsKLSAgICAgICAgICAgIGlmIChhY3Rpb24ub3JpZ2luIGlu
c3RhbmNlb2YgRWxlbWVudCkgewotICAgICAgICAgICAgICAgIGNvbnN0IGJvdW5kcyA9IGFjdGlv
bi5vcmlnaW4uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7Ci0gICAgICAgICAgICAgICAgdG91Y2gu
eCArPSBib3VuZHMubGVmdCArIDE7Ci0gICAgICAgICAgICAgICAgdG91Y2gueSArPSBib3VuZHMu
dG9wICsgMTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNl
ICJwb2ludGVyRG93biI6Ci0gICAgICAgICAgICBwb2ludGVyRG93biA9IHRydWU7Ci0gICAgICAg
ICAgICB0b3VjaC5waGFzZSA9ICJiZWdhbiI7Ci0gICAgICAgICAgICBpZiAoYWN0aW9uLnggPT09
IHVuZGVmaW5lZCkKLSAgICAgICAgICAgICAgICB0b3VjaC54ID0geDsKLSAgICAgICAgICAgIGlm
IChhY3Rpb24ueSA9PT0gdW5kZWZpbmVkKQotICAgICAgICAgICAgICAgIHRvdWNoLnkgPSB5Owot
ICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgInBvaW50ZXJVcCI6Ci0gICAgICAgICAg
ICBwb2ludGVyRG93biA9IGZhbHNlOwotICAgICAgICAgICAgdG91Y2gucGhhc2UgPSAiZW5kZWQi
OwotICAgICAgICAgICAgdG91Y2gueCA9IHg7Ci0gICAgICAgICAgICB0b3VjaC55ID0geTsKLSAg
ICAgICAgICAgIGlkKys7Ci0gICAgICAgICAgICAvLyBXZSBuZWVkIHRvIGFkZCBhIHBhdXNlIGFm
dGVyIGEgcG9pbnRlciB1cCB0byBlbnN1cmUgdGhhdCBhIHN1YnNlcXVlbnQgdGFwIG1heSBiZSBy
ZWNvZ25pemVkIGFzIHN1Y2guCi0gICAgICAgICAgICBpZiAob3B0aW9ucy5pbnNlcnRQYXVzZUFm
dGVyUG9pbnRlclVwKQotICAgICAgICAgICAgICAgIHRpbWVPZmZzZXRJbmNyZWFzZSA9IDAuNTsK
LSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlICJwYXVzZSI6Ci0gICAgICAgICAgICB0
aW1lT2Zmc2V0SW5jcmVhc2UgPSBhY3Rpb24uZHVyYXRpb24gLyAxMDAwOwotICAgICAgICAgICAg
dG91Y2gucGhhc2UgPSAic3RhdGlvbmFyeSI7Ci0gICAgICAgICAgICBpZiAoIXBvaW50ZXJEb3du
KQotICAgICAgICAgICAgICAgIGlkKys7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgZGVm
YXVsdDoKLSAgICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdChuZXcgRXJyb3IoYFVua25v
d24gYWN0aW9uIHR5cGUgIiR7YWN0aW9uLnR5cGV9Ii5gKSk7Ci0gICAgICAgIH0KLQotICAgICAg
ICB4ID0gdG91Y2gueDsKLSAgICAgICAgeSA9IHRvdWNoLnk7Ci0KLSAgICAgICAgaWYgKCFwb2lu
dGVyRG93biAmJiB0b3VjaC5waGFzZSA9PSAibW92ZWQiKQotICAgICAgICAgICAgY29udGludWU7
Ci0KLSAgICAgICAgdGltZU9mZnNldCArPSB0aW1lT2Zmc2V0SW5jcmVhc2U7Ci0KLSAgICAgICAg
ZXZlbnRzLnB1c2goY29tbWFuZCk7Ci0gICAgfQotCi0gICAgY29uc3Qgc3RyZWFtID0gSlNPTi5z
dHJpbmdpZnkoeyBldmVudHMgfSk7Ci0gICAgbG9nRGVidWcoKCkgPT4gc3RyZWFtKTsKLQotICAg
IHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHRlc3RSdW5uZXIucnVuVUlTY3JpcHQoYChm
dW5jdGlvbigpIHsKLSAgICAgICAgKGZ1bmN0aW9uKCkgeyB1aUNvbnRyb2xsZXIuc2VuZEV2ZW50
U3RyZWFtKCcke3N0cmVhbX0nKSB9KSgpOwotICAgICAgICB1aUNvbnRyb2xsZXIudWlTY3JpcHRD
b21wbGV0ZSgpOwotICAgIH0pKCk7YCwgcmVzb2x2ZSkpOwotfQotCi1pZiAod2luZG93LnRlc3Rf
ZHJpdmVyX2ludGVybmFsID09PSB1bmRlZmluZWQpCi0gICAgd2luZG93LnRlc3RfZHJpdmVyX2lu
dGVybmFsID0geyB9OwotCi13aW5kb3cudGVzdF9kcml2ZXJfaW50ZXJuYWwuc2VuZF9rZXlzID0g
ZnVuY3Rpb24oZWxlbWVudCwga2V5cykKLXsKLSAgICBpZiAoIXdpbmRvdy5ldmVudFNlbmRlcikK
LSAgICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyBFcnJvcigid2luZG93LmV2ZW50U2Vu
ZGVyIGlzIHVuZGVmaW5lZC4iKSk7Ci0KLSAgICAvLyBodHRwczovL3NlbGVuaXVtaHEuZ2l0aHVi
LmlvL3NlbGVuaXVtL2RvY3MvYXBpL3B5L3dlYmRyaXZlci9zZWxlbml1bS53ZWJkcml2ZXIuY29t
bW9uLmtleXMuaHRtbAotICAgIC8vIEZJWE1FOiBBZGQgbW9yZSBjYXNlcy4KLSAgICAvLyBGSVhN
RTogQWRkIHRoZSBzdXBwb3J0IGZvciBtb2RpZmllciBrZXlzLgotICAgIGNvbnN0IFNlbGVuaXVt
Q2hhckNvZGVUb0V2ZW50U2VuZGVyS2V5ID0gewotICAgICAgICAweEUwMDM6ICdkZWxldGUnLAot
ICAgICAgICAweEUwMDQ6ICdcdCcsCi0gICAgICAgIDB4RTAwRDogJyAnLAotICAgICAgICAweEUw
MTI6ICdsZWZ0QXJyb3cnLAotICAgICAgICAweEUwMTM6ICd1cEFycm93JywKLSAgICAgICAgMHhF
MDE0OiAncmlnaHRBcnJvdycsCi0gICAgICAgIDB4RTAxNTogJ2Rvd25BcnJvdycsCi0gICAgfTsK
LQotICAgIGZ1bmN0aW9uIGNvbnZlcnRTZWxlbml1bUtleUNvZGUoa2V5KQotICAgIHsKLSAgICAg
ICAgY29uc3QgY29kZSA9IGtleS5jaGFyQ29kZUF0KDApOwotICAgICAgICByZXR1cm4gU2VsZW5p
dW1DaGFyQ29kZVRvRXZlbnRTZW5kZXJLZXlbY29kZV0gfHwga2V5OwotICAgIH0KLQotICAgIGNv
bnN0IGtleUxpc3QgPSBbXTsKLSAgICBmb3IgKGNvbnN0IGtleSBvZiBrZXlzKQotICAgICAgICBr
ZXlMaXN0LnB1c2goY29udmVydFNlbGVuaXVtS2V5Q29kZShrZXkpKTsKLQotICAgIGlmICh0ZXN0
UnVubmVyLmlzSU9TRmFtaWx5ICYmIHRlc3RSdW5uZXIuaXNXZWJLaXQyKSB7Ci0gICAgICAgIHJl
dHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4gewotICAgICAgICAgICAgdGVzdFJ1bm5lci5y
dW5VSVNjcmlwdChgCi0gICAgICAgICAgICAgICAgY29uc3Qga2V5TGlzdCA9IEpTT04ucGFyc2Uo
JyR7SlNPTi5zdHJpbmdpZnkoa2V5TGlzdCl9Jyk7Ci0gICAgICAgICAgICAgICAgZm9yIChjb25z
dCBrZXkgb2Yga2V5TGlzdCkKLSAgICAgICAgICAgICAgICAgICAgdWlDb250cm9sbGVyLmtleURv
d24oa2V5KTtgLCByZXNvbHZlKTsKLSAgICAgICAgfSk7Ci0gICAgfQotCi0gICAgZm9yIChjb25z
dCBrZXkgb2Yga2V5TGlzdCkKLSAgICAgICAgZXZlbnRTZW5kZXIua2V5RG93bihrZXkpOwotICAg
IHJldHVybiBQcm9taXNlLnJlc29sdmUoKTsKLX0KLQotd2luZG93LnRlc3RfZHJpdmVyX2ludGVy
bmFsLmNsaWNrID0gZnVuY3Rpb24gKGVsZW1lbnQsIGNvb3JkcykKLXsKLSAgICBpZiAoIXdpbmRv
dy50ZXN0UnVubmVyKQotICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7Ci0KLSAgICBp
ZiAoIXdpbmRvdy5ldmVudFNlbmRlcikKLSAgICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KG5l
dyBFcnJvcigid2luZG93LmV2ZW50U2VuZGVyIGlzIHVuZGVmaW5lZC4iKSk7Ci0KLSAgICBpZiAo
dGVzdFJ1bm5lci5pc0lPU0ZhbWlseSAmJiB0ZXN0UnVubmVyLmlzV2ViS2l0MikgewotICAgICAg
ICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHsKLSAgICAgICAgICAgIHRlc3RSdW5u
ZXIucnVuVUlTY3JpcHQoYAotICAgICAgICAgICAgICAgIHVpQ29udHJvbGxlci5zaW5nbGVUYXBB
dFBvaW50KCR7Y29vcmRzLnh9LCAke2Nvb3Jkcy55fSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAg
ICAgICAgICAgIHVpQ29udHJvbGxlci51aVNjcmlwdENvbXBsZXRlKCk7Ci0gICAgICAgICAgICAg
ICAgfSk7YCwgcmVzb2x2ZSk7Ci0gICAgICAgIH0pOwotICAgIH0KLQotICAgIGV2ZW50U2VuZGVy
Lm1vdXNlTW92ZVRvKGNvb3Jkcy54LCBjb29yZHMueSk7Ci0gICAgZXZlbnRTZW5kZXIubW91c2VE
b3duKCk7Ci0gICAgZXZlbnRTZW5kZXIubW91c2VVcCgpOwotCi0gICAgcmV0dXJuIFByb21pc2Uu
cmVzb2x2ZSgpOwotfQotCi13aW5kb3cudGVzdF9kcml2ZXJfaW50ZXJuYWwuYWN0aW9uX3NlcXVl
bmNlID0gZnVuY3Rpb24oc291cmNlcykKLXsKLSAgICAvLyBodHRwczovL3czYy5naXRodWIuaW8v
d2ViZHJpdmVyLyNwcm9jZXNzaW5nLWFjdGlvbnMgICAgCi0KLSAgICBsZXQgbm9uZVNvdXJjZTsK
LSAgICBsZXQgcG9pbnRlclNvdXJjZTsKLSAgICBmb3IgKGxldCBzb3VyY2Ugb2Ygc291cmNlcykg
ewotICAgICAgICBzd2l0Y2ggKHNvdXJjZS50eXBlKSB7Ci0gICAgICAgIGNhc2UgIm5vbmUiOgot
ICAgICAgICAgICAgbm9uZVNvdXJjZSA9IHNvdXJjZTsKLSAgICAgICAgICAgIGJyZWFrOwotICAg
ICAgICBjYXNlICJwb2ludGVyIjoKLSAgICAgICAgICAgIHBvaW50ZXJTb3VyY2UgPSBzb3VyY2U7
Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgIHJldHVy
biBQcm9taXNlLnJlamVjdChuZXcgRXJyb3IoYFVua25vd24gc291cmNlIHR5cGUgIiR7YWN0aW9u
LnR5cGV9Ii5gKSk7Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICBpZiAoIXBvaW50ZXJTb3VyY2Up
Ci0gICAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdChuZXcgRXJyb3IoYFVua25vd24gcG9pbnRl
ciB0eXBlIHBvaW50ZXIgdHlwZSAiJHthY3Rpb24ucGFyYW1ldGVycy5wb2ludGVyVHlwZX0iLmAp
KTsKLQotICAgIGNvbnN0IHBvaW50ZXJUeXBlID0gcG9pbnRlclNvdXJjZS5wYXJhbWV0ZXJzLnBv
aW50ZXJUeXBlOwotICAgIGlmIChwb2ludGVyVHlwZSAhPT0gIm1vdXNlIiAmJiBwb2ludGVyVHlw
ZSAhPT0gInRvdWNoIikKLSAgICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyBFcnJvcihg
VW5rbm93biBwb2ludGVyIHR5cGUgIiR7cG9pbnRlclR5cGV9Ii5gKSk7Ci0KLSAgICAvLyBJZiB3
ZSBoYXZlIGEgIm5vbmUiIHNvdXJjZSwgbGV0J3MgaW5qZWN0IGFueSBwYXVzZSB3aXRoIG5vbi16
ZXJvIGR1cmF0aW9ucyBpbnRvIHRoZSBwb2ludGVyIHNvdXJjZQotICAgIC8vIGFmdGVyIHRoZSBt
YXRjaGluZyBhY3Rpb24gaW4gdGhlIHBvaW50ZXIgc291cmNlLgotICAgIGlmIChub25lU291cmNl
KSB7Ci0gICAgICAgIGxldCBpbmplY3RlZEFjdGlvbnMgPSAwOwotICAgICAgICBub25lU291cmNl
LmFjdGlvbnMuZm9yRWFjaCgoYWN0aW9uLCBpbmRleCkgPT4gewotICAgICAgICAgICAgaWYgKGFj
dGlvbi5kdXJhdGlvbiA+IDApIHsKLSAgICAgICAgICAgICAgICBwb2ludGVyU291cmNlLmFjdGlv
bnMuc3BsaWNlKGluZGV4ICsgaW5qZWN0ZWRBY3Rpb25zICsgMSwgMCwgYWN0aW9uKTsKLSAgICAg
ICAgICAgICAgICBpbmplY3RlZEFjdGlvbnMrKzsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfSk7
Ci0gICAgfQotCi0gICAgbG9nRGVidWcoKCkgPT4gSlNPTi5zdHJpbmdpZnkocG9pbnRlclNvdXJj
ZSkpOwotCi0gICAgaWYgKHBvaW50ZXJUeXBlID09PSAidG91Y2giKQotICAgICAgICByZXR1cm4g
ZGlzcGF0Y2hUb3VjaEFjdGlvbnMocG9pbnRlclNvdXJjZS5hY3Rpb25zKTsKLSAgICBpZiAodGVz
dFJ1bm5lci5pc0lPU0ZhbWlseSAmJiAiY3JlYXRlVG91Y2giIGluIGRvY3VtZW50KQotICAgICAg
ICByZXR1cm4gZGlzcGF0Y2hUb3VjaEFjdGlvbnMocG9pbnRlclNvdXJjZS5hY3Rpb25zLCB7IGlu
c2VydFBhdXNlQWZ0ZXJQb2ludGVyVXA6IHRydWUgfSk7Ci0gICAgaWYgKHBvaW50ZXJUeXBlID09
PSAibW91c2UiKQotICAgICAgICByZXR1cm4gZGlzcGF0Y2hNb3VzZUFjdGlvbnMocG9pbnRlclNv
dXJjZS5hY3Rpb25zKTsKLX07CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0ZHJpdmVyLXZlbmRvci5qcy5oZWFkZXJz
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
dGVzdGRyaXZlci12ZW5kb3IuanMuaGVhZGVycwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41ZThmNjQwYzY2NTlkMTc2
ZWFjYTRjNzFjYzE3OThiNzI4NTU0MGI3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdGRyaXZlci12ZW5k
b3IuanMuaGVhZGVycwpAQCAtMCwwICsxLDIgQEAKK0NvbnRlbnQtVHlwZTogdGV4dC9qYXZhc2Ny
aXB0OyBjaGFyc2V0PXV0Zi04CitDYWNoZS1Db250cm9sOiBtYXgtYWdlPTM2MDAKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3Rlc3Rkcml2ZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy90ZXN0ZHJpdmVyLmpzCmluZGV4IDAzMWJlMWI3ZTU1MDE2NThkNDEyYWVj
YzZmMGNiYTU2YjM0NDQ2MDEuLmJkMzhlM2UwMDZhZmVjOTRjMjMwMDVjYjE3MjVjNmQ0YTZlOWJi
ZTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3Rlc3Rkcml2ZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdGRyaXZlci5qcwpAQCAtMjA4LDcgKzIw
OCwxMjYgQEAKICAgICAgICAgICovCiAgICAgICAgIGdlbmVyYXRlX3Rlc3RfcmVwb3J0OiBmdW5j
dGlvbihtZXNzYWdlKSB7CiAgICAgICAgICAgICByZXR1cm4gd2luZG93LnRlc3RfZHJpdmVyX2lu
dGVybmFsLmdlbmVyYXRlX3Rlc3RfcmVwb3J0KG1lc3NhZ2UpOwotICAgICAgICB9CisgICAgICAg
IH0sCisKKyAgICAgICAgLyoqCisgICAgICAgICAqIENyZWF0ZXMgYSB2aXJ0dWFsIGF1dGhlbnRp
Y2F0b3IKKyAgICAgICAgICoKKyAgICAgICAgICogVGhpcyBmdW5jdGlvbiBjcmVhdGVzIGEgdmly
dHVhbCBhdXRoZW50aWNhdG9yIGZvciB1c2Ugd2l0aCB0aGUgVTJGCisgICAgICAgICAqIGFuZCBX
ZWJBdXRobiBBUElzIGFzIGRlc2NyaWJlZCBpbiB7QGxpbmsKKyAgICAgICAgICogaHR0cHM6Ly93
M2MuZ2l0aHViLmlvL3dlYmF1dGhuLyNzY3RuLWF1dG9tYXRpb24tYWRkLXZpcnR1YWwtYXV0aGVu
dGljYXRvcn0KKyAgICAgICAgICoKKyAgICAgICAgICogQHBhcmFtIHtPYmplY3R9IGNvbmZpZyAt
IGFuIFtBdXRoZW50aWNhdG9yIENvbmZpZ3VyYXRpb25de0BsaW5rCisgICAgICAgICAqICAgICAg
ICAgICAgICAgICAgICAgICAgICBodHRwczovL3czYy5naXRodWIuaW8vd2ViYXV0aG4vI2F1dGhl
bnRpY2F0b3ItY29uZmlndXJhdGlvbn0KKyAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAg
ICAgIG9iamVjdAorICAgICAgICAgKiBAcmV0dXJucyB7UHJvbWlzZX0gZnVsZmlsbGVkIGFmdGVy
IHRoZSBhdXRoZW50aWNhdG9yIGlzIGFkZGVkLCBvcgorICAgICAgICAgKiAgICAgICAgICAgICAg
ICAgICAgcmVqZWN0ZWQgaW4gdGhlIGNhc2VzIHRoZSBXZWJEcml2ZXIgY29tbWFuZAorICAgICAg
ICAgKiAgICAgICAgICAgICAgICAgICAgZXJyb3JzLiBSZXR1cm5zIHRoZSBJRCBvZiB0aGUgYXV0
aGVudGljYXRvcgorICAgICAgICAgKi8KKyAgICAgICAgYWRkX3ZpcnR1YWxfYXV0aGVudGljYXRv
cjogZnVuY3Rpb24oY29uZmlnKSB7CisgICAgICAgICAgICByZXR1cm4gd2luZG93LnRlc3RfZHJp
dmVyX2ludGVybmFsLmFkZF92aXJ0dWFsX2F1dGhlbnRpY2F0b3IoY29uZmlnKTsKKyAgICAgICAg
fSwKKworICAgICAgICAvKioKKyAgICAgICAgICogUmVtb3ZlcyBhIHZpcnR1YWwgYXV0aGVudGlj
YXRvcgorICAgICAgICAgKgorICAgICAgICAgKiBUaGlzIGZ1bmN0aW9uIHJlbW92ZXMgYSB2aXJ0
dWFsIGF1dGhlbnRpY2F0b3IgdGhhdCBoYXMgYmVlbiBjcmVhdGVkCisgICAgICAgICAqIGJ5IGFk
ZF92aXJ0dWFsX2F1dGhlbnRpY2F0b3IKKyAgICAgICAgICogaHR0cHM6Ly93M2MuZ2l0aHViLmlv
L3dlYmF1dGhuLyNzY3RuLWF1dG9tYXRpb24tcmVtb3ZlLXZpcnR1YWwtYXV0aGVudGljYXRvcgor
ICAgICAgICAgKgorICAgICAgICAgKiBAcGFyYW0ge1N0cmluZ30gYXV0aGVudGljYXRvcl9pZCAt
IHRoZSBJRCBvZiB0aGUgYXV0aGVudGljYXRvciB0byBiZQorICAgICAgICAgKiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHJlbW92ZWQuCisgICAgICAgICAqCisgICAgICAgICAq
IEByZXR1cm5zIHtQcm9taXNlfSBmdWxmaWxsZWQgYWZ0ZXIgdGhlIGF1dGhlbnRpY2F0b3IgaXMg
cmVtb3ZlZCwgb3IKKyAgICAgICAgICogICAgICAgICAgICAgICAgICAgIHJlamVjdGVkIGluIHRo
ZSBjYXNlcyB0aGUgV2ViRHJpdmVyIGNvbW1hbmQKKyAgICAgICAgICogICAgICAgICAgICAgICAg
ICAgIGVycm9ycworICAgICAgICAgKi8KKyAgICAgICAgcmVtb3ZlX3ZpcnR1YWxfYXV0aGVudGlj
YXRvcjogZnVuY3Rpb24oYXV0aGVudGljYXRvcl9pZCkgeworICAgICAgICAgICAgcmV0dXJuIHdp
bmRvdy50ZXN0X2RyaXZlcl9pbnRlcm5hbC5yZW1vdmVfdmlydHVhbF9hdXRoZW50aWNhdG9yKGF1
dGhlbnRpY2F0b3JfaWQpOworICAgICAgICB9LAorCisgICAgICAgIC8qKgorICAgICAgICAgKiBB
ZGRzIGEgY3JlZGVudGlhbCB0byBhIHZpcnR1YWwgYXV0aGVudGljYXRvcgorICAgICAgICAgKgor
ICAgICAgICAgKiBodHRwczovL3czYy5naXRodWIuaW8vd2ViYXV0aG4vI3NjdG4tYXV0b21hdGlv
bi1hZGQtY3JlZGVudGlhbAorICAgICAgICAgKgorICAgICAgICAgKiBAcGFyYW0ge1N0cmluZ30g
YXV0aGVudGljYXRvcl9pZCAtIHRoZSBJRCBvZiB0aGUgYXV0aGVudGljYXRvcgorICAgICAgICAg
KiBAcGFyYW0ge09iamVjdH0gY3JlZGVudGlhbCAtIEEgW0NyZWRlbnRpYWwgUGFyYW1ldGVyc117
QGxpbmsKKyAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBodHRwczovL3cz
Yy5naXRodWIuaW8vd2ViYXV0aG4vI2NyZWRlbnRpYWwtcGFyYW1ldGVyc30KKyAgICAgICAgICog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmplY3QKKyAgICAgICAgICoKKyAgICAgICAg
ICogQHJldHVybnMge1Byb21pc2V9IGZ1bGZpbGxlZCBhZnRlciB0aGUgY3JlZGVudGlhbCBpcyBh
ZGRlZCwgb3IKKyAgICAgICAgICogICAgICAgICAgICAgICAgICAgIHJlamVjdGVkIGluIHRoZSBj
YXNlcyB0aGUgV2ViRHJpdmVyIGNvbW1hbmQKKyAgICAgICAgICogICAgICAgICAgICAgICAgICAg
IGVycm9ycworICAgICAgICAgKi8KKyAgICAgICAgYWRkX2NyZWRlbnRpYWw6IGZ1bmN0aW9uKGF1
dGhlbnRpY2F0b3JfaWQsIGNyZWRlbnRpYWwpIHsKKyAgICAgICAgICAgIHJldHVybiB3aW5kb3cu
dGVzdF9kcml2ZXJfaW50ZXJuYWwuYWRkX2NyZWRlbnRpYWwoYXV0aGVudGljYXRvcl9pZCwgY3Jl
ZGVudGlhbCk7CisgICAgICAgIH0sCisKKyAgICAgICAgLyoqCisgICAgICAgICAqIEdldHMgYWxs
IHRoZSBjcmVkZW50aWFscyBzdG9yZWQgaW4gYW4gYXV0aGVudGljYXRvcgorICAgICAgICAgKgor
ICAgICAgICAgKiBUaGlzIGZ1bmN0aW9uIHJldHJpZXZlcyBhbGwgdGhlIGNyZWRlbnRpYWxzIChh
ZGRlZCB2aWEgdGhlIFUyRiBBUEksCisgICAgICAgICAqIFdlYkF1dGhuLCBvciB0aGUgYWRkX2Ny
ZWRlbnRpYWwgZnVuY3Rpb24pIHN0b3JlZCBpbiBhIHZpcnR1YWwKKyAgICAgICAgICogYXV0aGVu
dGljYXRvcgorICAgICAgICAgKiBodHRwczovL3czYy5naXRodWIuaW8vd2ViYXV0aG4vI3NjdG4t
YXV0b21hdGlvbi1nZXQtY3JlZGVudGlhbHMKKyAgICAgICAgICoKKyAgICAgICAgICogQHBhcmFt
IHtTdHJpbmd9IGF1dGhlbnRpY2F0b3JfaWQgLSB0aGUgSUQgb2YgdGhlIGF1dGhlbnRpY2F0b3IK
KyAgICAgICAgICoKKyAgICAgICAgICogQHJldHVybnMge1Byb21pc2V9IGZ1bGZpbGxlZCBhZnRl
ciB0aGUgY3JlZGVudGlhbHMgYXJlIHJldHVybmVkLCBvcgorICAgICAgICAgKiAgICAgICAgICAg
ICAgICAgICAgcmVqZWN0ZWQgaW4gdGhlIGNhc2VzIHRoZSBXZWJEcml2ZXIgY29tbWFuZAorICAg
ICAgICAgKiAgICAgICAgICAgICAgICAgICAgZXJyb3JzLiBSZXR1cm5zIGFuIGFycmF5IG9mIFtD
cmVkZW50aWFsCisgICAgICAgICAqICAgICAgICAgICAgICAgICAgICBQYXJhbWV0ZXJzXXtAbGlu
aworICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3dl
YmF1dGhuLyNjcmVkZW50aWFsLXBhcmFtZXRlcnN9CisgICAgICAgICAqLworICAgICAgICBnZXRf
Y3JlZGVudGlhbHM6IGZ1bmN0aW9uKGF1dGhlbnRpY2F0b3JfaWQpIHsKKyAgICAgICAgICAgIHJl
dHVybiB3aW5kb3cudGVzdF9kcml2ZXJfaW50ZXJuYWwuZ2V0X2NyZWRlbnRpYWxzKGF1dGhlbnRp
Y2F0b3JfaWQpOworICAgICAgICB9LAorCisgICAgICAgIC8qKgorICAgICAgICAgKiBSZW1vdmUg
YSBjcmVkZW50aWFsIHN0b3JlZCBpbiBhbiBhdXRoZW50aWNhdG9yCisgICAgICAgICAqCisgICAg
ICAgICAqIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby93ZWJhdXRobi8jc2N0bi1hdXRvbWF0aW9uLXJl
bW92ZS1jcmVkZW50aWFsCisgICAgICAgICAqCisgICAgICAgICAqIEBwYXJhbSB7U3RyaW5nfSBh
dXRoZW50aWNhdG9yX2lkIC0gdGhlIElEIG9mIHRoZSBhdXRoZW50aWNhdG9yCisgICAgICAgICAq
IEBwYXJhbSB7U3RyaW5nfSBjcmVkZW50aWFsX2lkIC0gdGhlIElEIG9mIHRoZSBjcmVkZW50aWFs
CisgICAgICAgICAqCisgICAgICAgICAqIEByZXR1cm5zIHtQcm9taXNlfSBmdWxmaWxsZWQgYWZ0
ZXIgdGhlIGNyZWRlbnRpYWwgaXMgcmVtb3ZlZCwgb3IKKyAgICAgICAgICogICAgICAgICAgICAg
ICAgICAgIHJlamVjdGVkIGluIHRoZSBjYXNlcyB0aGUgV2ViRHJpdmVyIGNvbW1hbmQKKyAgICAg
ICAgICogICAgICAgICAgICAgICAgICAgIGVycm9ycy4KKyAgICAgICAgICovCisgICAgICAgIHJl
bW92ZV9jcmVkZW50aWFsOiBmdW5jdGlvbihhdXRoZW50aWNhdG9yX2lkLCBjcmVkZW50aWFsX2lk
KSB7CisgICAgICAgICAgICByZXR1cm4gd2luZG93LnRlc3RfZHJpdmVyX2ludGVybmFsLnJlbW92
ZV9jcmVkZW50aWFsKGF1dGhlbnRpY2F0b3JfaWQsIGNyZWRlbnRpYWxfaWQpOworICAgICAgICB9
LAorCisgICAgICAgIC8qKgorICAgICAgICAgKiBSZW1vdmVzIGFsbCB0aGUgY3JlZGVudGlhbHMg
c3RvcmVkIGluIGEgdmlydHVhbCBhdXRoZW50aWNhdG9yCisgICAgICAgICAqCisgICAgICAgICAq
IGh0dHBzOi8vdzNjLmdpdGh1Yi5pby93ZWJhdXRobi8jc2N0bi1hdXRvbWF0aW9uLXJlbW92ZS1h
bGwtY3JlZGVudGlhbHMKKyAgICAgICAgICoKKyAgICAgICAgICogQHBhcmFtIHtTdHJpbmd9IGF1
dGhlbnRpY2F0b3JfaWQgLSB0aGUgSUQgb2YgdGhlIGF1dGhlbnRpY2F0b3IKKyAgICAgICAgICoK
KyAgICAgICAgICogQHJldHVybnMge1Byb21pc2V9IGZ1bGZpbGxlZCBhZnRlciB0aGUgY3JlZGVu
dGlhbHMgYXJlIHJlbW92ZWQsIG9yCisgICAgICAgICAqICAgICAgICAgICAgICAgICAgICByZWpl
Y3RlZCBpbiB0aGUgY2FzZXMgdGhlIFdlYkRyaXZlciBjb21tYW5kCisgICAgICAgICAqICAgICAg
ICAgICAgICAgICAgICBlcnJvcnMuCisgICAgICAgICAqLworICAgICAgICByZW1vdmVfYWxsX2Ny
ZWRlbnRpYWxzOiBmdW5jdGlvbihhdXRoZW50aWNhdG9yX2lkKSB7CisgICAgICAgICAgICByZXR1
cm4gd2luZG93LnRlc3RfZHJpdmVyX2ludGVybmFsLnJlbW92ZV9hbGxfY3JlZGVudGlhbHMoYXV0
aGVudGljYXRvcl9pZCk7CisgICAgICAgIH0sCisKKyAgICAgICAgLyoqCisgICAgICAgICAqIFNl
dHMgdGhlIFVzZXIgVmVyaWZpZWQgZmxhZyBvbiBhbiBhdXRoZW50aWNhdG9yCisgICAgICAgICAq
CisgICAgICAgICAqIFNldHMgd2hldGhlciByZXF1ZXN0cyByZXF1aXJpbmcgdXNlciB2ZXJpZmlj
YXRpb24gd2lsbCBzdWNjZWVkIG9yCisgICAgICAgICAqIGZhaWwgb24gYSBnaXZlbiB2aXJ0dWFs
IGF1dGhlbnRpY2F0b3IKKyAgICAgICAgICogaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3dlYmF1dGhu
LyNzY3RuLWF1dG9tYXRpb24tc2V0LXVzZXItdmVyaWZpZWQKKyAgICAgICAgICoKKyAgICAgICAg
ICogQHBhcmFtIHtTdHJpbmd9IGF1dGhlbnRpY2F0b3JfaWQgLSB0aGUgSUQgb2YgdGhlIGF1dGhl
bnRpY2F0b3IKKyAgICAgICAgICogQHBhcmFtIHtib29sZWFufSB1diAtIHRoZSBVc2VyIFZlcmlm
aWVkIGZsYWcKKyAgICAgICAgICovCisgICAgICAgIHNldF91c2VyX3ZlcmlmaWVkOiBmdW5jdGlv
bihhdXRoZW50aWNhdG9yX2lkLCB1dikgeworICAgICAgICAgICAgcmV0dXJuIHdpbmRvdy50ZXN0
X2RyaXZlcl9pbnRlcm5hbC5zZXRfdXNlcl92ZXJpZmllZChhdXRoZW50aWNhdG9yX2lkLCB1dik7
CisgICAgICAgIH0sCiAgICAgfTsKIAogICAgIHdpbmRvdy50ZXN0X2RyaXZlcl9pbnRlcm5hbCA9
IHsKQEAgLTMwNiw2ICs0MjUsMTA1IEBACiAgICAgICAgICAqLwogICAgICAgICBnZW5lcmF0ZV90
ZXN0X3JlcG9ydDogZnVuY3Rpb24obWVzc2FnZSkgewogICAgICAgICAgICAgcmV0dXJuIFByb21p
c2UucmVqZWN0KG5ldyBFcnJvcigidW5pbXBsZW1lbnRlZCIpKTsKLSAgICAgICAgfQorICAgICAg
ICB9LAorCisgICAgICAgIC8qKgorICAgICAgICAgKiBDcmVhdGVzIGEgdmlydHVhbCBhdXRoZW50
aWNhdG9yCisgICAgICAgICAqCisgICAgICAgICAqIEBwYXJhbSB7T2JqZWN0fSBjb25maWcgLSB0
aGUgYXV0aGVudGljYXRvciBjb25maWd1cmF0aW9uCisgICAgICAgICAqIEByZXR1cm5zIHtQcm9t
aXNlfSBmdWxmaWxsZWQgYWZ0ZXIgdGhlIGF1dGhlbnRpY2F0b3IgaXMgYWRkZWQsIG9yCisgICAg
ICAgICAqICAgICAgICAgICAgICAgICAgICByZWplY3RlZCBpbiB0aGUgY2FzZXMgdGhlIFdlYkRy
aXZlciBjb21tYW5kCisgICAgICAgICAqICAgICAgICAgICAgICAgICAgICBlcnJvcnMuCisgICAg
ICAgICAqLworICAgICAgICBhZGRfdmlydHVhbF9hdXRoZW50aWNhdG9yOiBmdW5jdGlvbihjb25m
aWcpIHsKKyAgICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdChuZXcgRXJyb3IoInVuaW1w
bGVtZW50ZWQiKSk7CisgICAgICAgIH0sCisKKyAgICAgICAgLyoqCisgICAgICAgICAqIFJlbW92
ZXMgYSB2aXJ0dWFsIGF1dGhlbnRpY2F0b3IKKyAgICAgICAgICoKKyAgICAgICAgICogQHBhcmFt
IHtTdHJpbmd9IGF1dGhlbnRpY2F0b3JfaWQgLSB0aGUgSUQgb2YgdGhlIGF1dGhlbnRpY2F0b3Ig
dG8gYmUKKyAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZW1v
dmVkLgorICAgICAgICAgKgorICAgICAgICAgKiBAcmV0dXJucyB7UHJvbWlzZX0gZnVsZmlsbGVk
IGFmdGVyIHRoZSBhdXRoZW50aWNhdG9yIGlzIHJlbW92ZWQsIG9yCisgICAgICAgICAqICAgICAg
ICAgICAgICAgICAgICByZWplY3RlZCBpbiB0aGUgY2FzZXMgdGhlIFdlYkRyaXZlciBjb21tYW5k
CisgICAgICAgICAqICAgICAgICAgICAgICAgICAgICBlcnJvcnMKKyAgICAgICAgICovCisgICAg
ICAgIHJlbW92ZV92aXJ0dWFsX2F1dGhlbnRpY2F0b3I6IGZ1bmN0aW9uKGF1dGhlbnRpY2F0b3Jf
aWQpIHsKKyAgICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdChuZXcgRXJyb3IoInVuaW1w
bGVtZW50ZWQiKSk7CisgICAgICAgIH0sCisKKyAgICAgICAgLyoqCisgICAgICAgICAqIEFkZHMg
YSBjcmVkZW50aWFsIHRvIGEgdmlydHVhbCBhdXRoZW50aWNhdG9yCisgICAgICAgICAqCisgICAg
ICAgICAqIEBwYXJhbSB7U3RyaW5nfSBhdXRoZW50aWNhdG9yX2lkIC0gdGhlIElEIG9mIHRoZSBh
dXRoZW50aWNhdG9yCisgICAgICAgICAqIEBwYXJhbSB7T2JqZWN0fSBjcmVkZW50aWFsIC0gQSBb
Q3JlZGVudGlhbCBQYXJhbWV0ZXJzXXtAbGluaworICAgICAgICAgKiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby93ZWJhdXRobi8jY3JlZGVudGlhbC1w
YXJhbWV0ZXJzfQorICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iamVj
dAorICAgICAgICAgKgorICAgICAgICAgKiBAcmV0dXJucyB7UHJvbWlzZX0gZnVsZmlsbGVkIGFm
dGVyIHRoZSBjcmVkZW50aWFsIGlzIGFkZGVkLCBvcgorICAgICAgICAgKiAgICAgICAgICAgICAg
ICAgICAgcmVqZWN0ZWQgaW4gdGhlIGNhc2VzIHRoZSBXZWJEcml2ZXIgY29tbWFuZAorICAgICAg
ICAgKiAgICAgICAgICAgICAgICAgICAgZXJyb3JzCisgICAgICAgICAqCisgICAgICAgICAqLwor
ICAgICAgICBhZGRfY3JlZGVudGlhbDogZnVuY3Rpb24oYXV0aGVudGljYXRvcl9pZCwgY3JlZGVu
dGlhbCkgeworICAgICAgICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyBFcnJvcigidW5p
bXBsZW1lbnRlZCIpKTsKKyAgICAgICAgfSwKKworICAgICAgICAvKioKKyAgICAgICAgICogR2V0
cyBhbGwgdGhlIGNyZWRlbnRpYWxzIHN0b3JlZCBpbiBhbiBhdXRoZW50aWNhdG9yCisgICAgICAg
ICAqCisgICAgICAgICAqIEBwYXJhbSB7U3RyaW5nfSBhdXRoZW50aWNhdG9yX2lkIC0gdGhlIElE
IG9mIHRoZSBhdXRoZW50aWNhdG9yCisgICAgICAgICAqCisgICAgICAgICAqIEByZXR1cm5zIHtQ
cm9taXNlfSBmdWxmaWxsZWQgYWZ0ZXIgdGhlIGNyZWRlbnRpYWxzIGFyZSByZXR1cm5lZCwgb3IK
KyAgICAgICAgICogICAgICAgICAgICAgICAgICAgIHJlamVjdGVkIGluIHRoZSBjYXNlcyB0aGUg
V2ViRHJpdmVyIGNvbW1hbmQKKyAgICAgICAgICogICAgICAgICAgICAgICAgICAgIGVycm9ycy4g
UmV0dXJucyBhbiBhcnJheSBvZiBbQ3JlZGVudGlhbAorICAgICAgICAgKiAgICAgICAgICAgICAg
ICAgICAgUGFyYW1ldGVyc117QGxpbmsKKyAgICAgICAgICogICAgICAgICAgICAgICAgICAgIGh0
dHBzOi8vdzNjLmdpdGh1Yi5pby93ZWJhdXRobi8jY3JlZGVudGlhbC1wYXJhbWV0ZXJzfQorICAg
ICAgICAgKgorICAgICAgICAgKi8KKyAgICAgICAgZ2V0X2NyZWRlbnRpYWxzOiBmdW5jdGlvbihh
dXRoZW50aWNhdG9yX2lkKSB7CisgICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QobmV3
IEVycm9yKCJ1bmltcGxlbWVudGVkIikpOworICAgICAgICB9LAorCisgICAgICAgIC8qKgorICAg
ICAgICAgKiBSZW1vdmUgYSBjcmVkZW50aWFsIHN0b3JlZCBpbiBhbiBhdXRoZW50aWNhdG9yCisg
ICAgICAgICAqCisgICAgICAgICAqIEBwYXJhbSB7U3RyaW5nfSBhdXRoZW50aWNhdG9yX2lkIC0g
dGhlIElEIG9mIHRoZSBhdXRoZW50aWNhdG9yCisgICAgICAgICAqIEBwYXJhbSB7U3RyaW5nfSBj
cmVkZW50aWFsX2lkIC0gdGhlIElEIG9mIHRoZSBjcmVkZW50aWFsCisgICAgICAgICAqCisgICAg
ICAgICAqIEByZXR1cm5zIHtQcm9taXNlfSBmdWxmaWxsZWQgYWZ0ZXIgdGhlIGNyZWRlbnRpYWwg
aXMgcmVtb3ZlZCwgb3IKKyAgICAgICAgICogICAgICAgICAgICAgICAgICAgIHJlamVjdGVkIGlu
IHRoZSBjYXNlcyB0aGUgV2ViRHJpdmVyIGNvbW1hbmQKKyAgICAgICAgICogICAgICAgICAgICAg
ICAgICAgIGVycm9ycy4KKyAgICAgICAgICoKKyAgICAgICAgICovCisgICAgICAgIHJlbW92ZV9j
cmVkZW50aWFsOiBmdW5jdGlvbihhdXRoZW50aWNhdG9yX2lkLCBjcmVkZW50aWFsX2lkKSB7Cisg
ICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QobmV3IEVycm9yKCJ1bmltcGxlbWVudGVk
IikpOworICAgICAgICB9LAorCisgICAgICAgIC8qKgorICAgICAgICAgKiBSZW1vdmVzIGFsbCB0
aGUgY3JlZGVudGlhbHMgc3RvcmVkIGluIGEgdmlydHVhbCBhdXRoZW50aWNhdG9yCisgICAgICAg
ICAqCisgICAgICAgICAqIEBwYXJhbSB7U3RyaW5nfSBhdXRoZW50aWNhdG9yX2lkIC0gdGhlIElE
IG9mIHRoZSBhdXRoZW50aWNhdG9yCisgICAgICAgICAqCisgICAgICAgICAqIEByZXR1cm5zIHtQ
cm9taXNlfSBmdWxmaWxsZWQgYWZ0ZXIgdGhlIGNyZWRlbnRpYWxzIGFyZSByZW1vdmVkLCBvcgor
ICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgcmVqZWN0ZWQgaW4gdGhlIGNhc2VzIHRoZSBX
ZWJEcml2ZXIgY29tbWFuZAorICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgZXJyb3JzLgor
ICAgICAgICAgKgorICAgICAgICAgKi8KKyAgICAgICAgcmVtb3ZlX2FsbF9jcmVkZW50aWFsczog
ZnVuY3Rpb24oYXV0aGVudGljYXRvcl9pZCkgeworICAgICAgICAgICAgcmV0dXJuIFByb21pc2Uu
cmVqZWN0KG5ldyBFcnJvcigidW5pbXBsZW1lbnRlZCIpKTsKKyAgICAgICAgfSwKKworICAgICAg
ICAvKioKKyAgICAgICAgICogU2V0cyB0aGUgVXNlciBWZXJpZmllZCBmbGFnIG9uIGFuIGF1dGhl
bnRpY2F0b3IKKyAgICAgICAgICoKKyAgICAgICAgICogQHBhcmFtIHtTdHJpbmd9IGF1dGhlbnRp
Y2F0b3JfaWQgLSB0aGUgSUQgb2YgdGhlIGF1dGhlbnRpY2F0b3IKKyAgICAgICAgICogQHBhcmFt
IHtib29sZWFufSB1diAtIHRoZSBVc2VyIFZlcmlmaWVkIGZsYWcKKyAgICAgICAgICoKKyAgICAg
ICAgICovCisgICAgICAgIHNldF91c2VyX3ZlcmlmaWVkOiBmdW5jdGlvbihhdXRoZW50aWNhdG9y
X2lkLCB1dikgeworICAgICAgICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyBFcnJvcigi
dW5pbXBsZW1lbnRlZCIpKTsKKyAgICAgICAgfSwKICAgICB9OwogfSkoKTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rl
c3Rkcml2ZXIuanMuaGVhZGVycyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3Rkcml2ZXIuanMuaGVhZGVycwpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41ZThm
NjQwYzY2NTlkMTc2ZWFjYTRjNzFjYzE3OThiNzI4NTU0MGI3Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVz
dGRyaXZlci5qcy5oZWFkZXJzCkBAIC0wLDAgKzEsMiBAQAorQ29udGVudC1UeXBlOiB0ZXh0L2ph
dmFzY3JpcHQ7IGNoYXJzZXQ9dXRmLTgKK0NhY2hlLUNvbnRyb2w6IG1heC1hZ2U9MzYwMApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcwppbmRleCAxNTU5MTA0MmFhNGNiMGZk
ZDc1ZmUzYmY1NmI5YmRmYjYzZmQxNjFkLi5mMjg5ZTc3OTcyMDFkN2Q5ZmE1NjljMjg2NDY0OTU3
MWJkNTBiNTRjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcwpAQCAt
NTM4LDggKzUzOCwxMiBAQCBwb2xpY2llcyBhbmQgY29udHJpYnV0aW9uIGZvcm1zIFszXS4KICAg
ICAgKi8KICAgICBmdW5jdGlvbiB0ZXN0KGZ1bmMsIG5hbWUsIHByb3BlcnRpZXMpCiAgICAgewor
ICAgICAgICBpZiAodGVzdHMucHJvbWlzZV9zZXR1cF9jYWxsZWQpIHsKKyAgICAgICAgICAgIHRl
c3RzLnN0YXR1cy5zdGF0dXMgPSB0ZXN0cy5zdGF0dXMuRVJST1I7CisgICAgICAgICAgICB0ZXN0
cy5zdGF0dXMubWVzc2FnZSA9ICdgdGVzdGAgaW52b2tlZCBhZnRlciBgcHJvbWlzZV9zZXR1cGAn
OworICAgICAgICAgICAgdGVzdHMuY29tcGxldGUoKTsKKyAgICAgICAgfQogICAgICAgICB2YXIg
dGVzdF9uYW1lID0gbmFtZSA/IG5hbWUgOiB0ZXN0X2Vudmlyb25tZW50Lm5leHRfZGVmYXVsdF90
ZXN0X25hbWUoKTsKLSAgICAgICAgcHJvcGVydGllcyA9IHByb3BlcnRpZXMgPyBwcm9wZXJ0aWVz
IDoge307CiAgICAgICAgIHZhciB0ZXN0X29iaiA9IG5ldyBUZXN0KHRlc3RfbmFtZSwgcHJvcGVy
dGllcyk7CiAgICAgICAgIHZhciB2YWx1ZSA9IHRlc3Rfb2JqLnN0ZXAoZnVuYywgdGVzdF9vYmos
IHRlc3Rfb2JqKTsKIApAQCAtNTY0LDEzICs1NjgsMTcgQEAgcG9saWNpZXMgYW5kIGNvbnRyaWJ1
dGlvbiBmb3JtcyBbM10uCiAKICAgICBmdW5jdGlvbiBhc3luY190ZXN0KGZ1bmMsIG5hbWUsIHBy
b3BlcnRpZXMpCiAgICAgeworICAgICAgICBpZiAodGVzdHMucHJvbWlzZV9zZXR1cF9jYWxsZWQp
IHsKKyAgICAgICAgICAgIHRlc3RzLnN0YXR1cy5zdGF0dXMgPSB0ZXN0cy5zdGF0dXMuRVJST1I7
CisgICAgICAgICAgICB0ZXN0cy5zdGF0dXMubWVzc2FnZSA9ICdgYXN5bmNfdGVzdGAgaW52b2tl
ZCBhZnRlciBgcHJvbWlzZV9zZXR1cGAnOworICAgICAgICAgICAgdGVzdHMuY29tcGxldGUoKTsK
KyAgICAgICAgfQogICAgICAgICBpZiAodHlwZW9mIGZ1bmMgIT09ICJmdW5jdGlvbiIpIHsKICAg
ICAgICAgICAgIHByb3BlcnRpZXMgPSBuYW1lOwogICAgICAgICAgICAgbmFtZSA9IGZ1bmM7CiAg
ICAgICAgICAgICBmdW5jID0gbnVsbDsKICAgICAgICAgfQogICAgICAgICB2YXIgdGVzdF9uYW1l
ID0gbmFtZSA/IG5hbWUgOiB0ZXN0X2Vudmlyb25tZW50Lm5leHRfZGVmYXVsdF90ZXN0X25hbWUo
KTsKLSAgICAgICAgcHJvcGVydGllcyA9IHByb3BlcnRpZXMgPyBwcm9wZXJ0aWVzIDoge307CiAg
ICAgICAgIHZhciB0ZXN0X29iaiA9IG5ldyBUZXN0KHRlc3RfbmFtZSwgcHJvcGVydGllcyk7CiAg
ICAgICAgIGlmIChmdW5jKSB7CiAgICAgICAgICAgICB0ZXN0X29iai5zdGVwKGZ1bmMsIHRlc3Rf
b2JqLCB0ZXN0X29iaik7CkBAIC01NzksNyArNTg3LDEzIEBAIHBvbGljaWVzIGFuZCBjb250cmli
dXRpb24gZm9ybXMgWzNdLgogICAgIH0KIAogICAgIGZ1bmN0aW9uIHByb21pc2VfdGVzdChmdW5j
LCBuYW1lLCBwcm9wZXJ0aWVzKSB7Ci0gICAgICAgIHZhciB0ZXN0ID0gYXN5bmNfdGVzdChuYW1l
LCBwcm9wZXJ0aWVzKTsKKyAgICAgICAgaWYgKHR5cGVvZiBmdW5jICE9PSAiZnVuY3Rpb24iKSB7
CisgICAgICAgICAgICBwcm9wZXJ0aWVzID0gbmFtZTsKKyAgICAgICAgICAgIG5hbWUgPSBmdW5j
OworICAgICAgICAgICAgZnVuYyA9IG51bGw7CisgICAgICAgIH0KKyAgICAgICAgdmFyIHRlc3Rf
bmFtZSA9IG5hbWUgPyBuYW1lIDogdGVzdF9lbnZpcm9ubWVudC5uZXh0X2RlZmF1bHRfdGVzdF9u
YW1lKCk7CisgICAgICAgIHZhciB0ZXN0ID0gbmV3IFRlc3QodGVzdF9uYW1lLCBwcm9wZXJ0aWVz
KTsKICAgICAgICAgdGVzdC5faXNfcHJvbWlzZV90ZXN0ID0gdHJ1ZTsKIAogICAgICAgICAvLyBJ
ZiB0aGVyZSBpcyBubyBwcm9taXNlIHRlc3RzIHF1ZXVlIG1ha2Ugb25lLgpAQCAtNjMwLDYgKzY0
NCwyNyBAQCBwb2xpY2llcyBhbmQgY29udHJpYnV0aW9uIGZvcm1zIFszXS4KICAgICAgICAgfSk7
CiAgICAgfQogCisgICAgZnVuY3Rpb24gcHJvbWlzZV9yZWplY3RzX2pzKHRlc3QsIGV4cGVjdGVk
LCBwcm9taXNlLCBkZXNjcmlwdGlvbikgeworICAgICAgICByZXR1cm4gcHJvbWlzZS50aGVuKHRl
c3QudW5yZWFjaGVkX2Z1bmMoIlNob3VsZCBoYXZlIHJlamVjdGVkOiAiICsgZGVzY3JpcHRpb24p
KS5jYXRjaChmdW5jdGlvbihlKSB7CisgICAgICAgICAgICBhc3NlcnRfdGhyb3dzX2pzX2ltcGwo
ZXhwZWN0ZWQsIGZ1bmN0aW9uKCkgeyB0aHJvdyBlIH0sCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgZGVzY3JpcHRpb24sICJwcm9taXNlX3JlamVjdF9qcyIpOworICAgICAgICB9
KTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBwcm9taXNlX3JlamVjdHNfZG9tKHRlc3QsIGV4cGVj
dGVkLCBwcm9taXNlLCBkZXNjcmlwdGlvbikgeworICAgICAgICByZXR1cm4gcHJvbWlzZS50aGVu
KHRlc3QudW5yZWFjaGVkX2Z1bmMoIlNob3VsZCBoYXZlIHJlamVjdGVkOiAiICsgZGVzY3JpcHRp
b24pKS5jYXRjaChmdW5jdGlvbihlKSB7CisgICAgICAgICAgICBhc3NlcnRfdGhyb3dzX2RvbV9p
bXBsKGV4cGVjdGVkLCBmdW5jdGlvbigpIHsgdGhyb3cgZSB9LAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbiwgInByb21pc2VfcmVqZWN0c19kb20iKTsKKyAg
ICAgICAgfSk7CisgICAgfQorCisgICAgZnVuY3Rpb24gcHJvbWlzZV9yZWplY3RzX2V4YWN0bHko
dGVzdCwgZXhwZWN0ZWQsIHByb21pc2UsIGRlc2NyaXB0aW9uKSB7CisgICAgICAgIHJldHVybiBw
cm9taXNlLnRoZW4odGVzdC51bnJlYWNoZWRfZnVuYygiU2hvdWxkIGhhdmUgcmVqZWN0ZWQ6ICIg
KyBkZXNjcmlwdGlvbikpLmNhdGNoKGZ1bmN0aW9uKGUpIHsKKyAgICAgICAgICAgIGFzc2VydF90
aHJvd3NfZXhhY3RseV9pbXBsKGV4cGVjdGVkLCBmdW5jdGlvbigpIHsgdGhyb3cgZSB9LAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb24sICJwcm9taXNl
X3JlamVjdHNfZXhhY3RseSIpOworICAgICAgICB9KTsKKyAgICB9CisKICAgICAvKioKICAgICAg
KiBUaGlzIGNvbnN0cnVjdG9yIGhlbHBlciBhbGxvd3MgRE9NIGV2ZW50cyB0byBiZSBoYW5kbGVk
IHVzaW5nIFByb21pc2VzLAogICAgICAqIHdoaWNoIGNhbiBtYWtlIGl0IGEgbG90IGVhc2llciB0
byB0ZXN0IGEgdmVyeSBzcGVjaWZpYyBzZXJpZXMgb2YgZXZlbnRzLApAQCAtNzY5LDkgKzgwNCw1
NiBAQCBwb2xpY2llcyBhbmQgY29udHJpYnV0aW9uIGZvcm1zIFszXS4KICAgICAgICAgdGVzdF9l
bnZpcm9ubWVudC5vbl9uZXdfaGFybmVzc19wcm9wZXJ0aWVzKHByb3BlcnRpZXMpOwogICAgIH0K
IAorICAgIGZ1bmN0aW9uIHByb21pc2Vfc2V0dXAoZnVuYywgbWF5YmVfcHJvcGVydGllcykKKyAg
ICB7CisgICAgICAgIGlmICh0eXBlb2YgZnVuYyAhPT0gImZ1bmN0aW9uIikgeworICAgICAgICAg
ICAgdGVzdHMuc2V0X3N0YXR1cyh0ZXN0cy5zdGF0dXMuRVJST1IsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJwcm9taXNlX3Rlc3QgaW52b2tlZCB3aXRob3V0IGEgZnVuY3Rpb24iKTsK
KyAgICAgICAgICAgIHRlc3RzLmNvbXBsZXRlKCk7CisgICAgICAgICAgICByZXR1cm47CisgICAg
ICAgIH0KKyAgICAgICAgdGVzdHMucHJvbWlzZV9zZXR1cF9jYWxsZWQgPSB0cnVlOworCisgICAg
ICAgIGlmICghdGVzdHMucHJvbWlzZV90ZXN0cykgeworICAgICAgICAgICAgdGVzdHMucHJvbWlz
ZV90ZXN0cyA9IFByb21pc2UucmVzb2x2ZSgpOworICAgICAgICB9CisKKyAgICAgICAgdGVzdHMu
cHJvbWlzZV90ZXN0cyA9IHRlc3RzLnByb21pc2VfdGVzdHMKKyAgICAgICAgICAgIC50aGVuKGZ1
bmN0aW9uKCkKKyAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICB2YXIg
cHJvcGVydGllcyA9IG1heWJlX3Byb3BlcnRpZXMgfHwge307CisgICAgICAgICAgICAgICAgICAg
ICAgdmFyIHJlc3VsdDsKKworICAgICAgICAgICAgICAgICAgICAgIHRlc3RzLnNldHVwKG51bGws
IHByb3BlcnRpZXMpOworICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdCA9IGZ1bmMoKTsKKyAg
ICAgICAgICAgICAgICAgICAgICB0ZXN0X2Vudmlyb25tZW50Lm9uX25ld19oYXJuZXNzX3Byb3Bl
cnRpZXMocHJvcGVydGllcyk7CisKKyAgICAgICAgICAgICAgICAgICAgICBpZiAoIXJlc3VsdCB8
fCB0eXBlb2YgcmVzdWx0LnRoZW4gIT09ICJmdW5jdGlvbiIpIHsKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgdGhyb3cgIk5vbi10aGVuYWJsZSByZXR1cm5lZCBieSBmdW5jdGlvbiBwYXNzZWQg
dG8gYHByb21pc2Vfc2V0dXBgIjsKKyAgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICAgICAgICAgICAgICAgIH0pCisgICAgICAg
ICAgICAuY2F0Y2goZnVuY3Rpb24oZSkKKyAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAg
ICAgICAgICAgICAgIHRlc3RzLnNldF9zdGF0dXModGVzdHMuc3RhdHVzLkVSUk9SLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0cmluZyhlKSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlICYmIGUuc3RhY2spOworICAgICAgICAgICAg
ICAgICAgICAgICB0ZXN0cy5jb21wbGV0ZSgpOworICAgICAgICAgICAgICAgICAgIH0pOworICAg
IH0KKwogICAgIGZ1bmN0aW9uIGRvbmUoKSB7CiAgICAgICAgIGlmICh0ZXN0cy50ZXN0cy5sZW5n
dGggPT09IDApIHsKLSAgICAgICAgICAgIHRlc3RzLnNldF9maWxlX2lzX3Rlc3QoKTsKKyAgICAg
ICAgICAgIC8vIGBkb25lYCBpcyBpbnZva2VkIGFmdGVyIGhhbmRsaW5nIHVuY2F1Z2h0IGV4Y2Vw
dGlvbnMsIHNvIGlmIHRoZQorICAgICAgICAgICAgLy8gaGFybmVzcyBzdGF0dXMgaXMgYWxyZWFk
eSBzZXQsIHRoZSBjb3JyZXNwb25kaW5nIG1lc3NhZ2UgaXMgbW9yZQorICAgICAgICAgICAgLy8g
ZGVzY3JpcHRpdmUgdGhhbiB0aGUgZ2VuZXJpYyBtZXNzYWdlIGRlZmluZWQgaGVyZS4KKyAgICAg
ICAgICAgIGlmICh0ZXN0cy5zdGF0dXMuc3RhdHVzID09PSBudWxsKSB7CisgICAgICAgICAgICAg
ICAgdGVzdHMuc3RhdHVzLnN0YXR1cyA9IHRlc3RzLnN0YXR1cy5FUlJPUjsKKyAgICAgICAgICAg
ICAgICB0ZXN0cy5zdGF0dXMubWVzc2FnZSA9ICJkb25lKCkgd2FzIGNhbGxlZCB3aXRob3V0IGZp
cnN0IGRlZmluaW5nIGFueSB0ZXN0cyI7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIHRl
c3RzLmNvbXBsZXRlKCk7CisgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KICAgICAgICAg
aWYgKHRlc3RzLmZpbGVfaXNfdGVzdCkgewogICAgICAgICAgICAgLy8gZmlsZSBpcyB0ZXN0IGZp
bGVzIG5ldmVyIGhhdmUgYXN5bmNocm9ub3VzIGNsZWFudXAgbG9naWMsCkBAIC03OTQsNiArODc2
LDEyIEBAIHBvbGljaWVzIGFuZCBjb250cmlidXRpb24gZm9ybXMgWzNdLgogICAgICAgICAgICAg
ICAgIH0pOwogICAgIH0KIAorICAgIC8qCisgICAgICogUmVnaXN0ZXIgYSBmdW5jdGlvbiBhcyBh
IERPTSBldmVudCBsaXN0ZW5lciB0byB0aGUgZ2l2ZW4gb2JqZWN0IGZvciB0aGUKKyAgICAgKiBl
dmVudCBidWJibGluZyBwaGFzZS4KKyAgICAgKgorICAgICAqIFRoaXMgZnVuY3Rpb24gd2FzIGRl
cHJlY2F0ZWQgaW4gTm92ZW1iZXIgb2YgMjAxOS4KKyAgICAgKi8KICAgICBmdW5jdGlvbiBvbl9l
dmVudChvYmplY3QsIGV2ZW50LCBjYWxsYmFjaykKICAgICB7CiAgICAgICAgIG9iamVjdC5hZGRF
dmVudExpc3RlbmVyKGV2ZW50LCBjYWxsYmFjaywgZmFsc2UpOwpAQCAtODExLDggKzg5OSwxMiBA
QCBwb2xpY2llcyBhbmQgY29udHJpYnV0aW9uIGZvcm1zIFszXS4KICAgICBleHBvc2UoYXN5bmNf
dGVzdCwgJ2FzeW5jX3Rlc3QnKTsKICAgICBleHBvc2UocHJvbWlzZV90ZXN0LCAncHJvbWlzZV90
ZXN0Jyk7CiAgICAgZXhwb3NlKHByb21pc2VfcmVqZWN0cywgJ3Byb21pc2VfcmVqZWN0cycpOwor
ICAgIGV4cG9zZShwcm9taXNlX3JlamVjdHNfanMsICdwcm9taXNlX3JlamVjdHNfanMnKTsKKyAg
ICBleHBvc2UocHJvbWlzZV9yZWplY3RzX2RvbSwgJ3Byb21pc2VfcmVqZWN0c19kb20nKTsKKyAg
ICBleHBvc2UocHJvbWlzZV9yZWplY3RzX2V4YWN0bHksICdwcm9taXNlX3JlamVjdHNfZXhhY3Rs
eScpOwogICAgIGV4cG9zZShnZW5lcmF0ZV90ZXN0cywgJ2dlbmVyYXRlX3Rlc3RzJyk7CiAgICAg
ZXhwb3NlKHNldHVwLCAnc2V0dXAnKTsKKyAgICBleHBvc2UocHJvbWlzZV9zZXR1cCwgJ3Byb21p
c2Vfc2V0dXAnKTsKICAgICBleHBvc2UoZG9uZSwgJ2RvbmUnKTsKICAgICBleHBvc2Uob25fZXZl
bnQsICdvbl9ldmVudCcpOwogICAgIGV4cG9zZShzdGVwX3RpbWVvdXQsICdzdGVwX3RpbWVvdXQn
KTsKQEAgLTEyNzAsOCArMTM2MiwxMSBAQCBwb2xpY2llcyBhbmQgY29udHJpYnV0aW9uIGZvcm1z
IFszXS4KICAgICBleHBvc2UoYXNzZXJ0X3JlZ2V4cF9tYXRjaCwgImFzc2VydF9yZWdleHBfbWF0
Y2giKTsKIAogICAgIGZ1bmN0aW9uIGFzc2VydF9jbGFzc19zdHJpbmcob2JqZWN0LCBjbGFzc19z
dHJpbmcsIGRlc2NyaXB0aW9uKSB7Ci0gICAgICAgIGFzc2VydF9lcXVhbHMoe30udG9TdHJpbmcu
Y2FsbChvYmplY3QpLCAiW29iamVjdCAiICsgY2xhc3Nfc3RyaW5nICsgIl0iLAotICAgICAgICAg
ICAgICAgICAgICAgIGRlc2NyaXB0aW9uKTsKKyAgICAgICAgdmFyIGFjdHVhbCA9IHt9LnRvU3Ry
aW5nLmNhbGwob2JqZWN0KTsKKyAgICAgICAgdmFyIGV4cGVjdGVkID0gIltvYmplY3QgIiArIGNs
YXNzX3N0cmluZyArICJdIjsKKyAgICAgICAgYXNzZXJ0KHNhbWVfdmFsdWUoYWN0dWFsLCBleHBl
Y3RlZCksICJhc3NlcnRfY2xhc3Nfc3RyaW5nIiwgZGVzY3JpcHRpb24sCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXhwZWN0ZWQgJHtleHBlY3RlZH0gYnV0
IGdvdCAke2FjdHVhbH0iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAge2V4cGVjdGVkOmV4cGVjdGVkLCBhY3R1YWw6YWN0dWFsfSk7CiAgICAgfQogICAgIGV4
cG9zZShhc3NlcnRfY2xhc3Nfc3RyaW5nLCAiYXNzZXJ0X2NsYXNzX3N0cmluZyIpOwogCkBAIC0x
NDgyLDYgKzE1NzcsMjc2IEBAIHBvbGljaWVzIGFuZCBjb250cmlidXRpb24gZm9ybXMgWzNdLgog
ICAgIH0KICAgICBleHBvc2UoYXNzZXJ0X3Rocm93cywgImFzc2VydF90aHJvd3MiKTsKIAorICAg
IC8qKgorICAgICAqIEFzc2VydCBhIEpTIEVycm9yIHdpdGggdGhlIGV4cGVjdGVkIGNvbnN0cnVj
dG9yIGlzIHRocm93bi4KKyAgICAgKgorICAgICAqIEBwYXJhbSB7b2JqZWN0fSBjb25zdHJ1Y3Rv
ciBUaGUgZXhwZWN0ZWQgZXhjZXB0aW9uIGNvbnN0cnVjdG9yLgorICAgICAqIEBwYXJhbSB7RnVu
Y3Rpb259IGZ1bmMgRnVuY3Rpb24gd2hpY2ggc2hvdWxkIHRocm93LgorICAgICAqIEBwYXJhbSB7
c3RyaW5nfSBkZXNjcmlwdGlvbiBFcnJvciBkZXNjcmlwdGlvbiBmb3IgdGhlIGNhc2UgdGhhdCB0
aGUgZXJyb3IgaXMgbm90IHRocm93bi4KKyAgICAgKi8KKyAgICBmdW5jdGlvbiBhc3NlcnRfdGhy
b3dzX2pzKGNvbnN0cnVjdG9yLCBmdW5jLCBkZXNjcmlwdGlvbikKKyAgICB7CisgICAgICAgIGFz
c2VydF90aHJvd3NfanNfaW1wbChjb25zdHJ1Y3RvciwgZnVuYywgZGVzY3JpcHRpb24sCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAiYXNzZXJ0X3Rocm93c19qcyIpOworICAgIH0KKyAg
ICBleHBvc2UoYXNzZXJ0X3Rocm93c19qcywgImFzc2VydF90aHJvd3NfanMiKTsKKworICAgIC8q
KgorICAgICAqIExpa2UgYXNzZXJ0X3Rocm93c19qcyBidXQgYWxsb3dzIHNwZWNpZnlpbmcgdGhl
IGFzc2VydGlvbiB0eXBlCisgICAgICogKGFzc2VydF90aHJvd3NfanMgb3IgcHJvbWlzZV9yZWpl
Y3RzX2pzLCBpbiBwcmFjdGljZSkuCisgICAgICovCisgICAgZnVuY3Rpb24gYXNzZXJ0X3Rocm93
c19qc19pbXBsKGNvbnN0cnVjdG9yLCBmdW5jLCBkZXNjcmlwdGlvbiwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgYXNzZXJ0aW9uX3R5cGUpCisgICAgeworICAgICAgICB0cnkg
eworICAgICAgICAgICAgZnVuYy5jYWxsKHRoaXMpOworICAgICAgICAgICAgYXNzZXJ0KGZhbHNl
LCBhc3NlcnRpb25fdHlwZSwgZGVzY3JpcHRpb24sCisgICAgICAgICAgICAgICAgICAgIiR7ZnVu
Y30gZGlkIG5vdCB0aHJvdyIsIHtmdW5jOmZ1bmN9KTsKKyAgICAgICAgfSBjYXRjaCAoZSkgewor
ICAgICAgICAgICAgaWYgKGUgaW5zdGFuY2VvZiBBc3NlcnRpb25FcnJvcikgeworICAgICAgICAg
ICAgICAgIHRocm93IGU7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIC8vIEJhc2ljIHNh
bml0eS1jaGVja3Mgb24gdGhlIHRocm93biBleGNlcHRpb24uCisgICAgICAgICAgICBhc3NlcnQo
dHlwZW9mIGUgPT09ICJvYmplY3QiLAorICAgICAgICAgICAgICAgICAgIGFzc2VydGlvbl90eXBl
LCBkZXNjcmlwdGlvbiwKKyAgICAgICAgICAgICAgICAgICAiJHtmdW5jfSB0aHJldyAke2V9IHdp
dGggdHlwZSAke3R5cGV9LCBub3QgYW4gb2JqZWN0IiwKKyAgICAgICAgICAgICAgICAgICB7ZnVu
YzpmdW5jLCBlOmUsIHR5cGU6dHlwZW9mIGV9KTsKKworICAgICAgICAgICAgYXNzZXJ0KGUgIT09
IG51bGwsCisgICAgICAgICAgICAgICAgICAgYXNzZXJ0aW9uX3R5cGUsIGRlc2NyaXB0aW9uLAor
ICAgICAgICAgICAgICAgICAgICIke2Z1bmN9IHRocmV3IG51bGwsIG5vdCBhbiBvYmplY3QiLAor
ICAgICAgICAgICAgICAgICAgIHtmdW5jOmZ1bmN9KTsKKworICAgICAgICAgICAgLy8gQmFzaWMg
c2FuaXR5LWNoZWNrIG9uIHRoZSBwYXNzZWQtaW4gY29uc3RydWN0b3IKKyAgICAgICAgICAgIGFz
c2VydCh0eXBlb2YgY29uc3RydWN0b3IgPT0gImZ1bmN0aW9uIiwKKyAgICAgICAgICAgICAgICAg
ICBhc3NlcnRpb25fdHlwZSwgZGVzY3JpcHRpb24sCisgICAgICAgICAgICAgICAgICAgIiR7Y29u
c3RydWN0b3J9IGlzIG5vdCBhIGNvbnN0cnVjdG9yIiwKKyAgICAgICAgICAgICAgICAgICB7Y29u
c3RydWN0b3I6Y29uc3RydWN0b3J9KTsKKyAgICAgICAgICAgIHZhciBvYmogPSBjb25zdHJ1Y3Rv
cjsKKyAgICAgICAgICAgIHdoaWxlIChvYmopIHsKKyAgICAgICAgICAgICAgICBpZiAodHlwZW9m
IG9iaiA9PT0gImZ1bmN0aW9uIiAmJgorICAgICAgICAgICAgICAgICAgICBvYmoubmFtZSA9PT0g
IkVycm9yIikgeworICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICAgICAgb2JqID0gT2JqZWN0LmdldFByb3RvdHlwZU9mKG9iaik7CisgICAg
ICAgICAgICB9CisgICAgICAgICAgICBhc3NlcnQob2JqICE9IG51bGwsCisgICAgICAgICAgICAg
ICAgICAgYXNzZXJ0aW9uX3R5cGUsIGRlc2NyaXB0aW9uLAorICAgICAgICAgICAgICAgICAgICIk
e2NvbnN0cnVjdG9yfSBpcyBub3QgYW4gRXJyb3Igc3VidHlwZSIsCisgICAgICAgICAgICAgICAg
ICAge2NvbnN0cnVjdG9yOmNvbnN0cnVjdG9yfSk7CisKKyAgICAgICAgICAgIC8vIEFuZCBjaGVj
a2luZyB0aGF0IG91ciBleGNlcHRpb24gaXMgcmVhc29uYWJsZQorICAgICAgICAgICAgYXNzZXJ0
KGUuY29uc3RydWN0b3IgPT09IGNvbnN0cnVjdG9yICYmCisgICAgICAgICAgICAgICAgICAgZS5u
YW1lID09PSBjb25zdHJ1Y3Rvci5uYW1lLAorICAgICAgICAgICAgICAgICAgIGFzc2VydGlvbl90
eXBlLCBkZXNjcmlwdGlvbiwKKyAgICAgICAgICAgICAgICAgICAiJHtmdW5jfSB0aHJldyAke2Fj
dHVhbH0gKCR7YWN0dWFsX25hbWV9KSBleHBlY3RlZCBpbnN0YW5jZSBvZiAke2V4cGVjdGVkfSAo
JHtleHBlY3RlZF9uYW1lfSkiLAorICAgICAgICAgICAgICAgICAgIHtmdW5jOmZ1bmMsIGFjdHVh
bDplLCBhY3R1YWxfbmFtZTplLm5hbWUsCisgICAgICAgICAgICAgICAgICAgIGV4cGVjdGVkOmNv
bnN0cnVjdG9yLAorICAgICAgICAgICAgICAgICAgICBleHBlY3RlZF9uYW1lOmNvbnN0cnVjdG9y
Lm5hbWV9KTsKKyAgICAgICAgfQorICAgIH0KKworICAgIC8qKgorICAgICAqIEFzc2VydCBhIERP
TUV4Y2VwdGlvbiB3aXRoIHRoZSBleHBlY3RlZCB0eXBlIGlzIHRocm93bi4KKyAgICAgKgorICAg
ICAqIEBwYXJhbSB7bnVtYmVyfHN0cmluZ30gdHlwZSBUaGUgZXhwZWN0ZWQgZXhjZXB0aW9uIG5h
bWUgb3IgY29kZS4gIFNlZSB0aGUKKyAgICAgKiAgICAgICAgdGFibGUgb2YgbmFtZXMgYW5kIGNv
ZGVzIGF0CisgICAgICogICAgICAgIGh0dHBzOi8vaGV5Y2FtLmdpdGh1Yi5pby93ZWJpZGwvI2Rm
bi1lcnJvci1uYW1lcy10YWJsZQorICAgICAqICAgICAgICBJZiBhIG51bWJlciBpcyBwYXNzZWQg
aXQgc2hvdWxkIGJlIG9uZSBvZiB0aGUgbnVtZXJpYyBjb2RlIHZhbHVlcworICAgICAqICAgICAg
ICBpbiB0aGF0IHRhYmxlIChlLmcuIDMsIDQsIGV0YykuICBJZiBhIHN0cmluZyBpcyBwYXNzZWQg
aXQgY2FuCisgICAgICogICAgICAgIGVpdGhlciBiZSBhbiBleGNlcHRpb24gbmFtZSAoZS5nLiAi
SGllcmFyY2h5UmVxdWVzdEVycm9yIiwKKyAgICAgKiAgICAgICAgIldyb25nRG9jdW1lbnRFcnJv
ciIpIG9yIHRoZSBuYW1lIG9mIHRoZSBjb3JyZXNwb25kaW5nIGVycm9yIGNvZGUKKyAgICAgKiAg
ICAgICAgKGUuZy4gIkhJRVJBUkNIWV9SRVFVRVNUX0VSUiIsICJXUk9OR19ET0NVTUVOVF9FUlIi
KS4KKyAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBmdW5jIEZ1bmN0aW9uIHdoaWNoIHNob3VsZCB0
aHJvdy4KKyAgICAgKiBAcGFyYW0ge3N0cmluZ30gZGVzY3JpcHRpb24gRXJyb3IgZGVzY3JpcHRp
b24gZm9yIHRoZSBjYXNlIHRoYXQgdGhlIGVycm9yIGlzIG5vdCB0aHJvd24uCisgICAgICovCisg
ICAgZnVuY3Rpb24gYXNzZXJ0X3Rocm93c19kb20odHlwZSwgZnVuYywgZGVzY3JpcHRpb24pCisg
ICAgeworICAgICAgICBhc3NlcnRfdGhyb3dzX2RvbV9pbXBsKHR5cGUsIGZ1bmMsIGRlc2NyaXB0
aW9uLCAiYXNzZXJ0X3Rocm93c19kb20iKQorICAgIH0KKyAgICBleHBvc2UoYXNzZXJ0X3Rocm93
c19kb20sICJhc3NlcnRfdGhyb3dzX2RvbSIpOworCisgICAgLyoqCisgICAgICogTGlrZSBhc3Nl
cnRfdGhyb3dzX2RvbSBidXQgYWxsb3dzIHNwZWNpZnlpbmcgdGhlIGFzc2VydGlvbiB0eXBlCisg
ICAgICogKGFzc2VydF90aHJvd3NfZG9tIG9yIHByb21pc2VfcmVqZWN0c19kb20sIGluIHByYWN0
aWNlKS4KKyAgICAgKi8KKyAgICBmdW5jdGlvbiBhc3NlcnRfdGhyb3dzX2RvbV9pbXBsKHR5cGUs
IGZ1bmMsIGRlc2NyaXB0aW9uLCBhc3NlcnRpb25fdHlwZSkKKyAgICB7CisgICAgICAgIHRyeSB7
CisgICAgICAgICAgICBmdW5jLmNhbGwodGhpcyk7CisgICAgICAgICAgICBhc3NlcnQoZmFsc2Us
IGFzc2VydGlvbl90eXBlLCBkZXNjcmlwdGlvbiwKKyAgICAgICAgICAgICAgICAgICAiJHtmdW5j
fSBkaWQgbm90IHRocm93Iiwge2Z1bmM6ZnVuY30pOworICAgICAgICB9IGNhdGNoIChlKSB7Cisg
ICAgICAgICAgICBpZiAoZSBpbnN0YW5jZW9mIEFzc2VydGlvbkVycm9yKSB7CisgICAgICAgICAg
ICAgICAgdGhyb3cgZTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgYXNzZXJ0KHR5cGVv
ZiBlID09PSAib2JqZWN0IiwKKyAgICAgICAgICAgICAgICAgICBhc3NlcnRpb25fdHlwZSwgZGVz
Y3JpcHRpb24sCisgICAgICAgICAgICAgICAgICAgIiR7ZnVuY30gdGhyZXcgJHtlfSB3aXRoIHR5
cGUgJHt0eXBlfSwgbm90IGFuIG9iamVjdCIsCisgICAgICAgICAgICAgICAgICAge2Z1bmM6ZnVu
YywgZTplLCB0eXBlOnR5cGVvZiBlfSk7CisKKyAgICAgICAgICAgIGFzc2VydChlICE9PSBudWxs
LAorICAgICAgICAgICAgICAgICAgIGFzc2VydGlvbl90eXBlLCBkZXNjcmlwdGlvbiwKKyAgICAg
ICAgICAgICAgICAgICAiJHtmdW5jfSB0aHJldyBudWxsLCBub3QgYW4gb2JqZWN0IiwKKyAgICAg
ICAgICAgICAgICAgICB7ZnVuYzpmdW5jfSk7CisKKyAgICAgICAgICAgIC8vIFNhbml0eS1jaGVj
ayBvdXIgdHlwZQorICAgICAgICAgICAgYXNzZXJ0KHR5cGVvZiB0eXBlID09ICJudW1iZXIiIHx8
CisgICAgICAgICAgICAgICAgICAgdHlwZW9mIHR5cGUgPT0gInN0cmluZyIsCisgICAgICAgICAg
ICAgICAgICAgYXNzZXJ0aW9uX3R5cGUsIGRlc2NyaXB0aW9uLAorICAgICAgICAgICAgICAgICAg
ICIke3R5cGV9IGlzIG5vdCBhIG51bWJlciBvciBzdHJpbmciLAorICAgICAgICAgICAgICAgICAg
IHt0eXBlOnR5cGV9KTsKKworICAgICAgICAgICAgdmFyIGNvZGVuYW1lX25hbWVfbWFwID0gewor
ICAgICAgICAgICAgICAgIElOREVYX1NJWkVfRVJSOiAnSW5kZXhTaXplRXJyb3InLAorICAgICAg
ICAgICAgICAgIEhJRVJBUkNIWV9SRVFVRVNUX0VSUjogJ0hpZXJhcmNoeVJlcXVlc3RFcnJvcics
CisgICAgICAgICAgICAgICAgV1JPTkdfRE9DVU1FTlRfRVJSOiAnV3JvbmdEb2N1bWVudEVycm9y
JywKKyAgICAgICAgICAgICAgICBJTlZBTElEX0NIQVJBQ1RFUl9FUlI6ICdJbnZhbGlkQ2hhcmFj
dGVyRXJyb3InLAorICAgICAgICAgICAgICAgIE5PX01PRElGSUNBVElPTl9BTExPV0VEX0VSUjog
J05vTW9kaWZpY2F0aW9uQWxsb3dlZEVycm9yJywKKyAgICAgICAgICAgICAgICBOT1RfRk9VTkRf
RVJSOiAnTm90Rm91bmRFcnJvcicsCisgICAgICAgICAgICAgICAgTk9UX1NVUFBPUlRFRF9FUlI6
ICdOb3RTdXBwb3J0ZWRFcnJvcicsCisgICAgICAgICAgICAgICAgSU5VU0VfQVRUUklCVVRFX0VS
UjogJ0luVXNlQXR0cmlidXRlRXJyb3InLAorICAgICAgICAgICAgICAgIElOVkFMSURfU1RBVEVf
RVJSOiAnSW52YWxpZFN0YXRlRXJyb3InLAorICAgICAgICAgICAgICAgIFNZTlRBWF9FUlI6ICdT
eW50YXhFcnJvcicsCisgICAgICAgICAgICAgICAgSU5WQUxJRF9NT0RJRklDQVRJT05fRVJSOiAn
SW52YWxpZE1vZGlmaWNhdGlvbkVycm9yJywKKyAgICAgICAgICAgICAgICBOQU1FU1BBQ0VfRVJS
OiAnTmFtZXNwYWNlRXJyb3InLAorICAgICAgICAgICAgICAgIElOVkFMSURfQUNDRVNTX0VSUjog
J0ludmFsaWRBY2Nlc3NFcnJvcicsCisgICAgICAgICAgICAgICAgVFlQRV9NSVNNQVRDSF9FUlI6
ICdUeXBlTWlzbWF0Y2hFcnJvcicsCisgICAgICAgICAgICAgICAgU0VDVVJJVFlfRVJSOiAnU2Vj
dXJpdHlFcnJvcicsCisgICAgICAgICAgICAgICAgTkVUV09SS19FUlI6ICdOZXR3b3JrRXJyb3In
LAorICAgICAgICAgICAgICAgIEFCT1JUX0VSUjogJ0Fib3J0RXJyb3InLAorICAgICAgICAgICAg
ICAgIFVSTF9NSVNNQVRDSF9FUlI6ICdVUkxNaXNtYXRjaEVycm9yJywKKyAgICAgICAgICAgICAg
ICBRVU9UQV9FWENFRURFRF9FUlI6ICdRdW90YUV4Y2VlZGVkRXJyb3InLAorICAgICAgICAgICAg
ICAgIFRJTUVPVVRfRVJSOiAnVGltZW91dEVycm9yJywKKyAgICAgICAgICAgICAgICBJTlZBTElE
X05PREVfVFlQRV9FUlI6ICdJbnZhbGlkTm9kZVR5cGVFcnJvcicsCisgICAgICAgICAgICAgICAg
REFUQV9DTE9ORV9FUlI6ICdEYXRhQ2xvbmVFcnJvcicKKyAgICAgICAgICAgIH07CisKKyAgICAg
ICAgICAgIHZhciBuYW1lX2NvZGVfbWFwID0geworICAgICAgICAgICAgICAgIEluZGV4U2l6ZUVy
cm9yOiAxLAorICAgICAgICAgICAgICAgIEhpZXJhcmNoeVJlcXVlc3RFcnJvcjogMywKKyAgICAg
ICAgICAgICAgICBXcm9uZ0RvY3VtZW50RXJyb3I6IDQsCisgICAgICAgICAgICAgICAgSW52YWxp
ZENoYXJhY3RlckVycm9yOiA1LAorICAgICAgICAgICAgICAgIE5vTW9kaWZpY2F0aW9uQWxsb3dl
ZEVycm9yOiA3LAorICAgICAgICAgICAgICAgIE5vdEZvdW5kRXJyb3I6IDgsCisgICAgICAgICAg
ICAgICAgTm90U3VwcG9ydGVkRXJyb3I6IDksCisgICAgICAgICAgICAgICAgSW5Vc2VBdHRyaWJ1
dGVFcnJvcjogMTAsCisgICAgICAgICAgICAgICAgSW52YWxpZFN0YXRlRXJyb3I6IDExLAorICAg
ICAgICAgICAgICAgIFN5bnRheEVycm9yOiAxMiwKKyAgICAgICAgICAgICAgICBJbnZhbGlkTW9k
aWZpY2F0aW9uRXJyb3I6IDEzLAorICAgICAgICAgICAgICAgIE5hbWVzcGFjZUVycm9yOiAxNCwK
KyAgICAgICAgICAgICAgICBJbnZhbGlkQWNjZXNzRXJyb3I6IDE1LAorICAgICAgICAgICAgICAg
IFR5cGVNaXNtYXRjaEVycm9yOiAxNywKKyAgICAgICAgICAgICAgICBTZWN1cml0eUVycm9yOiAx
OCwKKyAgICAgICAgICAgICAgICBOZXR3b3JrRXJyb3I6IDE5LAorICAgICAgICAgICAgICAgIEFi
b3J0RXJyb3I6IDIwLAorICAgICAgICAgICAgICAgIFVSTE1pc21hdGNoRXJyb3I6IDIxLAorICAg
ICAgICAgICAgICAgIFF1b3RhRXhjZWVkZWRFcnJvcjogMjIsCisgICAgICAgICAgICAgICAgVGlt
ZW91dEVycm9yOiAyMywKKyAgICAgICAgICAgICAgICBJbnZhbGlkTm9kZVR5cGVFcnJvcjogMjQs
CisgICAgICAgICAgICAgICAgRGF0YUNsb25lRXJyb3I6IDI1LAorCisgICAgICAgICAgICAgICAg
RW5jb2RpbmdFcnJvcjogMCwKKyAgICAgICAgICAgICAgICBOb3RSZWFkYWJsZUVycm9yOiAwLAor
ICAgICAgICAgICAgICAgIFVua25vd25FcnJvcjogMCwKKyAgICAgICAgICAgICAgICBDb25zdHJh
aW50RXJyb3I6IDAsCisgICAgICAgICAgICAgICAgRGF0YUVycm9yOiAwLAorICAgICAgICAgICAg
ICAgIFRyYW5zYWN0aW9uSW5hY3RpdmVFcnJvcjogMCwKKyAgICAgICAgICAgICAgICBSZWFkT25s
eUVycm9yOiAwLAorICAgICAgICAgICAgICAgIFZlcnNpb25FcnJvcjogMCwKKyAgICAgICAgICAg
ICAgICBPcGVyYXRpb25FcnJvcjogMCwKKyAgICAgICAgICAgICAgICBOb3RBbGxvd2VkRXJyb3I6
IDAKKyAgICAgICAgICAgIH07CisKKyAgICAgICAgICAgIHZhciBjb2RlX25hbWVfbWFwID0ge307
CisgICAgICAgICAgICBmb3IgKHZhciBrZXkgaW4gbmFtZV9jb2RlX21hcCkgeworICAgICAgICAg
ICAgICAgIGlmIChuYW1lX2NvZGVfbWFwW2tleV0gPiAwKSB7CisgICAgICAgICAgICAgICAgICAg
IGNvZGVfbmFtZV9tYXBbbmFtZV9jb2RlX21hcFtrZXldXSA9IGtleTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIHZhciByZXF1aXJlZF9wcm9wcyA9IHt9
OworICAgICAgICAgICAgdmFyIG5hbWU7CisKKyAgICAgICAgICAgIGlmICh0eXBlb2YgdHlwZSA9
PT0gIm51bWJlciIpIHsKKyAgICAgICAgICAgICAgICBpZiAodHlwZSA9PT0gMCkgeworICAgICAg
ICAgICAgICAgICAgICB0aHJvdyBuZXcgQXNzZXJ0aW9uRXJyb3IoJ1Rlc3QgYnVnOiBhbWJpZ3Vv
dXMgRE9NRXhjZXB0aW9uIGNvZGUgMCBwYXNzZWQgdG8gYXNzZXJ0X3Rocm93c19kb20oKScpOwor
ICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoISh0eXBlIGluIGNvZGVfbmFtZV9tYXApKSB7Cisg
ICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBBc3NlcnRpb25FcnJvcignVGVzdCBidWc6IHVu
cmVjb2duaXplZCBET01FeGNlcHRpb24gY29kZSAiJyArIHR5cGUgKyAnIiBwYXNzZWQgdG8gYXNz
ZXJ0X3Rocm93c19kb20oKScpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBu
YW1lID0gY29kZV9uYW1lX21hcFt0eXBlXTsKKyAgICAgICAgICAgICAgICByZXF1aXJlZF9wcm9w
cy5jb2RlID0gdHlwZTsKKyAgICAgICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIHR5cGUgPT09ICJz
dHJpbmciKSB7CisgICAgICAgICAgICAgICAgbmFtZSA9IHR5cGUgaW4gY29kZW5hbWVfbmFtZV9t
YXAgPyBjb2RlbmFtZV9uYW1lX21hcFt0eXBlXSA6IHR5cGU7CisgICAgICAgICAgICAgICAgaWYg
KCEobmFtZSBpbiBuYW1lX2NvZGVfbWFwKSkgeworICAgICAgICAgICAgICAgICAgICB0aHJvdyBu
ZXcgQXNzZXJ0aW9uRXJyb3IoJ1Rlc3QgYnVnOiB1bnJlY29nbml6ZWQgRE9NRXhjZXB0aW9uIGNv
ZGUgbmFtZSBvciBuYW1lICInICsgdHlwZSArICciIHBhc3NlZCB0byBhc3NlcnRfdGhyb3dzX2Rv
bSgpJyk7CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgcmVxdWlyZWRfcHJv
cHMuY29kZSA9IG5hbWVfY29kZV9tYXBbbmFtZV07CisgICAgICAgICAgICB9CisKKyAgICAgICAg
ICAgIGlmIChyZXF1aXJlZF9wcm9wcy5jb2RlID09PSAwIHx8CisgICAgICAgICAgICAgICAoIm5h
bWUiIGluIGUgJiYKKyAgICAgICAgICAgICAgICBlLm5hbWUgIT09IGUubmFtZS50b1VwcGVyQ2Fz
ZSgpICYmCisgICAgICAgICAgICAgICAgZS5uYW1lICE9PSAiRE9NRXhjZXB0aW9uIikpIHsKKyAg
ICAgICAgICAgICAgICAvLyBOZXcgc3R5bGUgZXhjZXB0aW9uOiBhbHNvIHRlc3QgdGhlIG5hbWUg
cHJvcGVydHkuCisgICAgICAgICAgICAgICAgcmVxdWlyZWRfcHJvcHMubmFtZSA9IG5hbWU7Cisg
ICAgICAgICAgICB9CisKKyAgICAgICAgICAgIC8vV2UnZCBsaWtlIHRvIHRlc3QgdGhhdCBlIGlu
c3RhbmNlb2YgdGhlIGFwcHJvcHJpYXRlIGludGVyZmFjZSwKKyAgICAgICAgICAgIC8vYnV0IHdl
IGNhbid0LCBiZWNhdXNlIHdlIGRvbid0IGtub3cgd2hhdCB3aW5kb3cgaXQgd2FzIGNyZWF0ZWQK
KyAgICAgICAgICAgIC8vaW4uICBJdCBtaWdodCBiZSBhbiBpbnN0YW5jZW9mIHRoZSBhcHByb3By
aWF0ZSBpbnRlcmZhY2Ugb24gc29tZQorICAgICAgICAgICAgLy91bmtub3duIG90aGVyIHdpbmRv
dy4gIFRPRE86IFdvcmsgYXJvdW5kIHRoaXMgc29tZWhvdz8gIE1heWJlIGhhdmUKKyAgICAgICAg
ICAgIC8vdGhlIGZpcnN0IGFyZyBqdXN0IGJlIGEgRE9NRXhjZXB0aW9uIHdpdGggdGhlIHJpZ2h0
IG5hbWUgaW5zdGVhZAorICAgICAgICAgICAgLy9vZiB0aGUgc3RyaW5nLW9yLWNvZGUgdGhpbmcg
d2UgaGF2ZSBub3c/CisKKyAgICAgICAgICAgIGZvciAodmFyIHByb3AgaW4gcmVxdWlyZWRfcHJv
cHMpIHsKKyAgICAgICAgICAgICAgICBhc3NlcnQocHJvcCBpbiBlICYmIGVbcHJvcF0gPT0gcmVx
dWlyZWRfcHJvcHNbcHJvcF0sCisgICAgICAgICAgICAgICAgICAgICAgIGFzc2VydGlvbl90eXBl
LCBkZXNjcmlwdGlvbiwKKyAgICAgICAgICAgICAgICAgICAgICAgIiR7ZnVuY30gdGhyZXcgJHtl
fSB0aGF0IGlzIG5vdCBhIERPTUV4Y2VwdGlvbiAiICsgdHlwZSArICI6IHByb3BlcnR5ICR7cHJv
cH0gaXMgZXF1YWwgdG8gJHthY3R1YWx9LCBleHBlY3RlZCAke2V4cGVjdGVkfSIsCisgICAgICAg
ICAgICAgICAgICAgICAgIHtmdW5jOmZ1bmMsIGU6ZSwgcHJvcDpwcm9wLCBhY3R1YWw6ZVtwcm9w
XSwgZXhwZWN0ZWQ6cmVxdWlyZWRfcHJvcHNbcHJvcF19KTsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgfQorICAgIH0KKworICAgIC8qKgorICAgICAqIEFzc2VydCB0aGUgcHJvdmlkZWQgdmFsdWUg
aXMgdGhyb3duLgorICAgICAqCisgICAgICogQHBhcmFtIHt2YWx1ZX0gZXhjZXB0aW9uIFRoZSBl
eHBlY3RlZCBleGNlcHRpb24uCisgICAgICogQHBhcmFtIHtGdW5jdGlvbn0gZnVuYyBGdW5jdGlv
biB3aGljaCBzaG91bGQgdGhyb3cuCisgICAgICogQHBhcmFtIHtzdHJpbmd9IGRlc2NyaXB0aW9u
IEVycm9yIGRlc2NyaXB0aW9uIGZvciB0aGUgY2FzZSB0aGF0IHRoZSBlcnJvciBpcyBub3QgdGhy
b3duLgorICAgICAqLworICAgIGZ1bmN0aW9uIGFzc2VydF90aHJvd3NfZXhhY3RseShleGNlcHRp
b24sIGZ1bmMsIGRlc2NyaXB0aW9uKQorICAgIHsKKyAgICAgICAgYXNzZXJ0X3Rocm93c19leGFj
dGx5X2ltcGwoZXhjZXB0aW9uLCBmdW5jLCBkZXNjcmlwdGlvbiwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgImFzc2VydF90aHJvd3NfZXhhY3RseSIpOworICAgIH0KKyAgICBl
eHBvc2UoYXNzZXJ0X3Rocm93c19leGFjdGx5LCAiYXNzZXJ0X3Rocm93c19leGFjdGx5Iik7CisK
KyAgICAvKioKKyAgICAgKiBMaWtlIGFzc2VydF90aHJvd3NfZXhhY3RseSBidXQgYWxsb3dzIHNw
ZWNpZnlpbmcgdGhlIGFzc2VydGlvbiB0eXBlCisgICAgICogKGFzc2VydF90aHJvd3NfZXhhY3Rs
eSBvciBwcm9taXNlX3JlamVjdHNfZXhhY3RseSwgaW4gcHJhY3RpY2UpLgorICAgICAqLworICAg
IGZ1bmN0aW9uIGFzc2VydF90aHJvd3NfZXhhY3RseV9pbXBsKGV4Y2VwdGlvbiwgZnVuYywgZGVz
Y3JpcHRpb24sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXNzZXJ0
aW9uX3R5cGUpCisgICAgeworICAgICAgICB0cnkgeworICAgICAgICAgICAgZnVuYy5jYWxsKHRo
aXMpOworICAgICAgICAgICAgYXNzZXJ0KGZhbHNlLCBhc3NlcnRpb25fdHlwZSwgZGVzY3JpcHRp
b24sCisgICAgICAgICAgICAgICAgICAgIiR7ZnVuY30gZGlkIG5vdCB0aHJvdyIsIHtmdW5jOmZ1
bmN9KTsKKyAgICAgICAgfSBjYXRjaCAoZSkgeworICAgICAgICAgICAgaWYgKGUgaW5zdGFuY2Vv
ZiBBc3NlcnRpb25FcnJvcikgeworICAgICAgICAgICAgICAgIHRocm93IGU7CisgICAgICAgICAg
ICB9CisKKyAgICAgICAgICAgIGFzc2VydChzYW1lX3ZhbHVlKGUsIGV4Y2VwdGlvbiksIGFzc2Vy
dGlvbl90eXBlLCBkZXNjcmlwdGlvbiwKKyAgICAgICAgICAgICAgICAgICAiJHtmdW5jfSB0aHJl
dyAke2V9IGJ1dCB3ZSBleHBlY3RlZCBpdCB0byB0aHJvdyAke2V4Y2VwdGlvbn0iLAorICAgICAg
ICAgICAgICAgICAgIHtmdW5jOmZ1bmMsIGU6ZSwgZXhjZXB0aW9uOmV4Y2VwdGlvbn0pOworICAg
ICAgICB9CisgICAgfQorCiAgICAgZnVuY3Rpb24gYXNzZXJ0X3VucmVhY2hlZChkZXNjcmlwdGlv
bikgewogICAgICAgICAgYXNzZXJ0KGZhbHNlLCAiYXNzZXJ0X3VucmVhY2hlZCIsIGRlc2NyaXB0
aW9uLAogICAgICAgICAgICAgICAgICJSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUiKTsKQEAgLTE1
MDksNiArMTg3NCwxMyBAQCBwb2xpY2llcyBhbmQgY29udHJpYnV0aW9uIGZvcm1zIFszXS4KICAg
ICB9CiAgICAgZXhwb3NlKGFzc2VydF9hbnksICJhc3NlcnRfYW55Iik7CiAKKyAgICBmdW5jdGlv
biBhc3NlcnRfcHJlY29uZGl0aW9uKHByZWNvbmRpdGlvbiwgZGVzY3JpcHRpb24pIHsKKyAgICAg
ICAgaWYgKCFwcmVjb25kaXRpb24pIHsKKyAgICAgICAgICAgIHRocm93IG5ldyBQcmVjb25kaXRp
b25GYWlsZWRFcnJvcihkZXNjcmlwdGlvbik7CisgICAgICAgIH0KKyAgICB9CisgICAgZXhwb3Nl
KGFzc2VydF9wcmVjb25kaXRpb24sICJhc3NlcnRfcHJlY29uZGl0aW9uIik7CisKICAgICBmdW5j
dGlvbiBUZXN0KG5hbWUsIHByb3BlcnRpZXMpCiAgICAgewogICAgICAgICBpZiAodGVzdHMuZmls
ZV9pc190ZXN0ICYmIHRlc3RzLnRlc3RzLmxlbmd0aCkgewpAQCAtMTUyMyw3ICsxODk1LDcgQEAg
cG9saWNpZXMgYW5kIGNvbnRyaWJ1dGlvbiBmb3JtcyBbM10uCiAgICAgICAgIHRoaXMudGltZW91
dF9pZCA9IG51bGw7CiAgICAgICAgIHRoaXMuaW5kZXggPSBudWxsOwogCi0gICAgICAgIHRoaXMu
cHJvcGVydGllcyA9IHByb3BlcnRpZXM7CisgICAgICAgIHRoaXMucHJvcGVydGllcyA9IHByb3Bl
cnRpZXMgfHwge307CiAgICAgICAgIHRoaXMudGltZW91dF9sZW5ndGggPSBzZXR0aW5ncy50ZXN0
X3RpbWVvdXQ7CiAgICAgICAgIGlmICh0aGlzLnRpbWVvdXRfbGVuZ3RoICE9PSBudWxsKSB7CiAg
ICAgICAgICAgICB0aGlzLnRpbWVvdXRfbGVuZ3RoICo9IHRlc3RzLnRpbWVvdXRfbXVsdGlwbGll
cjsKQEAgLTE1NTMsNyArMTkyNSw4IEBAIHBvbGljaWVzIGFuZCBjb250cmlidXRpb24gZm9ybXMg
WzNdLgogICAgICAgICBQQVNTOjAsCiAgICAgICAgIEZBSUw6MSwKICAgICAgICAgVElNRU9VVDoy
LAotICAgICAgICBOT1RSVU46MworICAgICAgICBOT1RSVU46MywKKyAgICAgICAgUFJFQ09ORElU
SU9OX0ZBSUxFRDo0CiAgICAgfTsKIAogICAgIFRlc3QucHJvdG90eXBlID0gbWVyZ2Uoe30sIFRl
c3Quc3RhdHVzZXMpOwpAQCAtMTYxMywxMCArMTk4NiwxMSBAQCBwb2xpY2llcyBhbmQgY29udHJp
YnV0aW9uIGZvcm1zIFszXS4KICAgICAgICAgICAgIGlmICh0aGlzLnBoYXNlID49IHRoaXMucGhh
c2VzLkhBU19SRVNVTFQpIHsKICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICB9
CisgICAgICAgICAgICB2YXIgc3RhdHVzID0gZSBpbnN0YW5jZW9mIFByZWNvbmRpdGlvbkZhaWxl
ZEVycm9yID8gdGhpcy5QUkVDT05ESVRJT05fRkFJTEVEIDogdGhpcy5GQUlMOwogICAgICAgICAg
ICAgdmFyIG1lc3NhZ2UgPSBTdHJpbmcoKHR5cGVvZiBlID09PSAib2JqZWN0IiAmJiBlICE9PSBu
dWxsKSA/IGUubWVzc2FnZSA6IGUpOwogICAgICAgICAgICAgdmFyIHN0YWNrID0gZS5zdGFjayA/
IGUuc3RhY2sgOiBudWxsOwogCi0gICAgICAgICAgICB0aGlzLnNldF9zdGF0dXModGhpcy5GQUlM
LCBtZXNzYWdlLCBzdGFjayk7CisgICAgICAgICAgICB0aGlzLnNldF9zdGF0dXMoc3RhdHVzLCBt
ZXNzYWdlLCBzdGFjayk7CiAgICAgICAgICAgICB0aGlzLnBoYXNlID0gdGhpcy5waGFzZXMuSEFT
X1JFU1VMVDsKICAgICAgICAgICAgIHRoaXMuZG9uZSgpOwogICAgICAgICB9CkBAIC0yMDg3LDcg
KzI0NjEsOCBAQCBwb2xpY2llcyBhbmQgY29udHJpYnV0aW9uIGZvcm1zIFszXS4KICAgICBUZXN0
c1N0YXR1cy5zdGF0dXNlcyA9IHsKICAgICAgICAgT0s6MCwKICAgICAgICAgRVJST1I6MSwKLSAg
ICAgICAgVElNRU9VVDoyCisgICAgICAgIFRJTUVPVVQ6MiwKKyAgICAgICAgUFJFQ09ORElUSU9O
X0ZBSUxFRDozCiAgICAgfTsKIAogICAgIFRlc3RzU3RhdHVzLnByb3RvdHlwZSA9IG1lcmdlKHt9
LCBUZXN0c1N0YXR1cy5zdGF0dXNlcyk7CkBAIC0yMTI4LDYgKzI1MDMsMTAgQEAgcG9saWNpZXMg
YW5kIGNvbnRyaWJ1dGlvbiBmb3JtcyBbM10uCiAgICAgICAgIHRoaXMuYWxsb3dfdW5jYXVnaHRf
ZXhjZXB0aW9uID0gZmFsc2U7CiAKICAgICAgICAgdGhpcy5maWxlX2lzX3Rlc3QgPSBmYWxzZTsK
KyAgICAgICAgLy8gVGhpcyB2YWx1ZSBpcyBsYXppbHkgaW5pdGlhbGl6ZWQgaW4gb3JkZXIgdG8g
YXZvaWQgaW50cm9kdWNpbmcgYQorICAgICAgICAvLyBkZXBlbmRlbmN5IG9uIEVDTUFTY3JpcHQg
MjAxNSBQcm9taXNlcyB0byBhbGwgdGVzdHMuCisgICAgICAgIHRoaXMucHJvbWlzZV90ZXN0cyA9
IG51bGw7CisgICAgICAgIHRoaXMucHJvbWlzZV9zZXR1cF9jYWxsZWQgPSBmYWxzZTsKIAogICAg
ICAgICB0aGlzLnRpbWVvdXRfbXVsdGlwbGllciA9IDE7CiAgICAgICAgIHRoaXMudGltZW91dF9s
ZW5ndGggPSB0ZXN0X2Vudmlyb25tZW50LnRlc3RfdGltZW91dCgpOwpAQCAtMjE3OCw2ICsyNTU3
LDggQEAgcG9saWNpZXMgYW5kIGNvbnRyaWJ1dGlvbiBmb3JtcyBbM10uCiAgICAgICAgICAgICAg
ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgIGNsZWFyVGltZW91dCh0aGlzLnRpbWVv
dXRfaWQpOwogICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfSBlbHNlIGlm
IChwID09ICJzaW5nbGVfdGVzdCIgJiYgdmFsdWUpIHsKKyAgICAgICAgICAgICAgICAgICAgdGhp
cy5zZXRfZmlsZV9pc190ZXN0KCk7CiAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChwID09ICJ0
aW1lb3V0X211bHRpcGxpZXIiKSB7CiAgICAgICAgICAgICAgICAgICAgIHRoaXMudGltZW91dF9t
dWx0aXBsaWVyID0gdmFsdWU7CiAgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLnRpbWVvdXRf
bGVuZ3RoKSB7CkBAIC0yMTkxLDkgKzI1NzIsMTAgQEAgcG9saWNpZXMgYW5kIGNvbnRyaWJ1dGlv
biBmb3JtcyBbM10uCiAgICAgICAgICAgICB0cnkgewogICAgICAgICAgICAgICAgIGZ1bmMoKTsK
ICAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsKLSAgICAgICAgICAgICAgICB0aGlzLnN0YXR1cy5z
dGF0dXMgPSB0aGlzLnN0YXR1cy5FUlJPUjsKKyAgICAgICAgICAgICAgICB0aGlzLnN0YXR1cy5z
dGF0dXMgPSBlIGluc3RhbmNlb2YgUHJlY29uZGl0aW9uRmFpbGVkRXJyb3IgPyB0aGlzLnN0YXR1
cy5QUkVDT05ESVRJT05fRkFJTEVEIDogdGhpcy5zdGF0dXMuRVJST1I7CiAgICAgICAgICAgICAg
ICAgdGhpcy5zdGF0dXMubWVzc2FnZSA9IFN0cmluZyhlKTsKICAgICAgICAgICAgICAgICB0aGlz
LnN0YXR1cy5zdGFjayA9IGUuc3RhY2sgPyBlLnN0YWNrIDogbnVsbDsKKyAgICAgICAgICAgICAg
ICB0aGlzLmNvbXBsZXRlKCk7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICAgICAgdGhp
cy5zZXRfdGltZW91dCgpOwpAQCAtMjc0OCwxMiArMzEzMCwxNCBAQCBwb2xpY2llcyBhbmQgY29u
dHJpYnV0aW9uIGZvcm1zIFszXS4KICAgICAgICAgc3RhdHVzX3RleHRfaGFybmVzc1toYXJuZXNz
X3N0YXR1cy5PS10gPSAiT0siOwogICAgICAgICBzdGF0dXNfdGV4dF9oYXJuZXNzW2hhcm5lc3Nf
c3RhdHVzLkVSUk9SXSA9ICJFcnJvciI7CiAgICAgICAgIHN0YXR1c190ZXh0X2hhcm5lc3NbaGFy
bmVzc19zdGF0dXMuVElNRU9VVF0gPSAiVGltZW91dCI7CisgICAgICAgIHN0YXR1c190ZXh0X2hh
cm5lc3NbaGFybmVzc19zdGF0dXMuUFJFQ09ORElUSU9OX0ZBSUxFRF0gPSAiUHJlY29uZGl0aW9u
IEZhaWxlZCI7CiAKICAgICAgICAgdmFyIHN0YXR1c190ZXh0ID0ge307CiAgICAgICAgIHN0YXR1
c190ZXh0W1Rlc3QucHJvdG90eXBlLlBBU1NdID0gIlBhc3MiOwogICAgICAgICBzdGF0dXNfdGV4
dFtUZXN0LnByb3RvdHlwZS5GQUlMXSA9ICJGYWlsIjsKICAgICAgICAgc3RhdHVzX3RleHRbVGVz
dC5wcm90b3R5cGUuVElNRU9VVF0gPSAiVGltZW91dCI7CiAgICAgICAgIHN0YXR1c190ZXh0W1Rl
c3QucHJvdG90eXBlLk5PVFJVTl0gPSAiTm90IFJ1biI7CisgICAgICAgIHN0YXR1c190ZXh0W1Rl
c3QucHJvdG90eXBlLlBSRUNPTkRJVElPTl9GQUlMRURdID0gIlByZWNvbmRpdGlvbiBGYWlsZWQi
OwogCiAgICAgICAgIHZhciBzdGF0dXNfbnVtYmVyID0ge307CiAgICAgICAgIGZvckVhY2godGVz
dHMsCkBAIC0zMDczLDkgKzM0NTcsNiBAQCBwb2xpY2llcyBhbmQgY29udHJpYnV0aW9uIGZvcm1z
IFszXS4KICAgICAgKi8KICAgICBmdW5jdGlvbiBhc3NlcnQoZXhwZWN0ZWRfdHJ1ZSwgZnVuY3Rp
b25fbmFtZSwgZGVzY3JpcHRpb24sIGVycm9yLCBzdWJzdGl0dXRpb25zKQogICAgIHsKLSAgICAg
ICAgaWYgKHRlc3RzLnRlc3RzLmxlbmd0aCA9PT0gMCkgewotICAgICAgICAgICAgdGVzdHMuc2V0
X2ZpbGVfaXNfdGVzdCgpOwotICAgICAgICB9CiAgICAgICAgIGlmIChleHBlY3RlZF90cnVlICE9
PSB0cnVlKSB7CiAgICAgICAgICAgICB2YXIgbXNnID0gbWFrZV9tZXNzYWdlKGZ1bmN0aW9uX25h
bWUsIGRlc2NyaXB0aW9uLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJv
ciwgc3Vic3RpdHV0aW9ucyk7CkBAIC0zMTM4LDYgKzM1MTksMTMgQEAgcG9saWNpZXMgYW5kIGNv
bnRyaWJ1dGlvbiBmb3JtcyBbM10uCiAgICAgICAgIHJldHVybiBsaW5lcy5zbGljZShpKS5qb2lu
KCJcbiIpOwogICAgIH0KIAorICAgIGZ1bmN0aW9uIFByZWNvbmRpdGlvbkZhaWxlZEVycm9yKG1l
c3NhZ2UpCisgICAgeworICAgICAgICBBc3NlcnRpb25FcnJvci5jYWxsKHRoaXMsIG1lc3NhZ2Up
OworICAgIH0KKyAgICBQcmVjb25kaXRpb25GYWlsZWRFcnJvci5wcm90b3R5cGUgPSBPYmplY3Qu
Y3JlYXRlKEFzc2VydGlvbkVycm9yLnByb3RvdHlwZSk7CisgICAgZXhwb3NlKFByZWNvbmRpdGlv
bkZhaWxlZEVycm9yLCAiUHJlY29uZGl0aW9uRmFpbGVkRXJyb3IiKTsKKwogICAgIGZ1bmN0aW9u
IG1ha2VfbWVzc2FnZShmdW5jdGlvbl9uYW1lLCBkZXNjcmlwdGlvbiwgZXJyb3IsIHN1YnN0aXR1
dGlvbnMpCiAgICAgewogICAgICAgICBmb3IgKHZhciBwIGluIHN1YnN0aXR1dGlvbnMpIHsKQEAg
LTMzNjUsMzggKzM3NTMsNTYgQEAgcG9saWNpZXMgYW5kIGNvbnRyaWJ1dGlvbiBmb3JtcyBbM10u
CiAgICAgdmFyIHRlc3RzID0gbmV3IFRlc3RzKCk7CiAKICAgICBpZiAoZ2xvYmFsX3Njb3BlLmFk
ZEV2ZW50TGlzdGVuZXIpIHsKLSAgICAgICAgdmFyIGVycm9yX2hhbmRsZXIgPSBmdW5jdGlvbihl
KSB7Ci0gICAgICAgICAgICBpZiAodGVzdHMudGVzdHMubGVuZ3RoID09PSAwICYmICF0ZXN0cy5h
bGxvd191bmNhdWdodF9leGNlcHRpb24pIHsKLSAgICAgICAgICAgICAgICB0ZXN0cy5zZXRfZmls
ZV9pc190ZXN0KCk7Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIHZhciBzdGFjazsKLSAg
ICAgICAgICAgIGlmIChlLmVycm9yICYmIGUuZXJyb3Iuc3RhY2spIHsKLSAgICAgICAgICAgICAg
ICBzdGFjayA9IGUuZXJyb3Iuc3RhY2s7Ci0gICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAg
ICAgICAgIHN0YWNrID0gZS5maWxlbmFtZSArICI6IiArIGUubGluZW5vICsgIjoiICsgZS5jb2xu
bzsKLSAgICAgICAgICAgIH0KLQorICAgICAgICB2YXIgZXJyb3JfaGFuZGxlciA9IGZ1bmN0aW9u
KGVycm9yLCBtZXNzYWdlLCBzdGFjaykgeworICAgICAgICAgICAgdmFyIHByZWNvbmRpdGlvbl9m
YWlsZWQgPSBlcnJvciBpbnN0YW5jZW9mIFByZWNvbmRpdGlvbkZhaWxlZEVycm9yOwogICAgICAg
ICAgICAgaWYgKHRlc3RzLmZpbGVfaXNfdGVzdCkgewogICAgICAgICAgICAgICAgIHZhciB0ZXN0
ID0gdGVzdHMudGVzdHNbMF07CiAgICAgICAgICAgICAgICAgaWYgKHRlc3QucGhhc2UgPj0gdGVz
dC5waGFzZXMuSEFTX1JFU1VMVCkgewogICAgICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAg
ICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIHRlc3Quc2V0X3N0YXR1cyh0ZXN0LkZBSUws
IGUubWVzc2FnZSwgc3RhY2spOworICAgICAgICAgICAgICAgIHZhciBzdGF0dXMgPSBwcmVjb25k
aXRpb25fZmFpbGVkID8gdGVzdC5QUkVDT05ESVRJT05fRkFJTEVEIDogdGVzdC5GQUlMOworICAg
ICAgICAgICAgICAgIHRlc3Quc2V0X3N0YXR1cyhzdGF0dXMsIG1lc3NhZ2UsIHN0YWNrKTsKICAg
ICAgICAgICAgICAgICB0ZXN0LnBoYXNlID0gdGVzdC5waGFzZXMuSEFTX1JFU1VMVDsKLSAgICAg
ICAgICAgICAgICAvLyBUaGUgZm9sbG93aW5nIGZ1bmN0aW9uIGludm9jYXRpb24gaXMgc3VwZXJm
bHVvdXMuCi0gICAgICAgICAgICAgICAgLy8gVE9ETzogUmVtb3ZlLgotICAgICAgICAgICAgICAg
IHRlc3QuZG9uZSgpOwogICAgICAgICAgICAgfSBlbHNlIGlmICghdGVzdHMuYWxsb3dfdW5jYXVn
aHRfZXhjZXB0aW9uKSB7Ci0gICAgICAgICAgICAgICAgdGVzdHMuc3RhdHVzLnN0YXR1cyA9IHRl
c3RzLnN0YXR1cy5FUlJPUjsKLSAgICAgICAgICAgICAgICB0ZXN0cy5zdGF0dXMubWVzc2FnZSA9
IGUubWVzc2FnZTsKKyAgICAgICAgICAgICAgICB2YXIgc3RhdHVzID0gcHJlY29uZGl0aW9uX2Zh
aWxlZCA/IHRlc3RzLnN0YXR1cy5QUkVDT05ESVRJT05fRkFJTEVEIDogdGVzdHMuc3RhdHVzLkVS
Uk9SOworICAgICAgICAgICAgICAgIHRlc3RzLnN0YXR1cy5zdGF0dXMgPSBzdGF0dXM7CisgICAg
ICAgICAgICAgICAgdGVzdHMuc3RhdHVzLm1lc3NhZ2UgPSBtZXNzYWdlOwogICAgICAgICAgICAg
ICAgIHRlc3RzLnN0YXR1cy5zdGFjayA9IHN0YWNrOwogICAgICAgICAgICAgfQotICAgICAgICAg
ICAgZG9uZSgpOworCisgICAgICAgICAgICAvLyBEbyBub3QgdHJhbnNpdGlvbiB0byB0aGUgImNv
bXBsZXRlIiBwaGFzZSBpZiB0aGUgdGVzdCBoYXMgYmVlbgorICAgICAgICAgICAgLy8gY29uZmln
dXJlZCB0byBhbGxvdyB1bmNhdWdodCBleGNlcHRpb25zLiBUaGlzIGdpdmVzIHRoZSB0ZXN0IGFu
CisgICAgICAgICAgICAvLyBvcHBvcnR1bml0eSB0byBkZWZpbmUgc3VidGVzdHMgYmFzZWQgb24g
dGhlIGV4Y2VwdGlvbiByZXBvcnRpbmcKKyAgICAgICAgICAgIC8vIGJlaGF2aW9yLgorICAgICAg
ICAgICAgaWYgKCF0ZXN0cy5hbGxvd191bmNhdWdodF9leGNlcHRpb24pIHsKKyAgICAgICAgICAg
ICAgICBkb25lKCk7CisgICAgICAgICAgICB9CiAgICAgICAgIH07CiAKLSAgICAgICAgYWRkRXZl
bnRMaXN0ZW5lcigiZXJyb3IiLCBlcnJvcl9oYW5kbGVyLCBmYWxzZSk7Ci0gICAgICAgIGFkZEV2
ZW50TGlzdGVuZXIoInVuaGFuZGxlZHJlamVjdGlvbiIsIGZ1bmN0aW9uKGUpeyBlcnJvcl9oYW5k
bGVyKGUucmVhc29uKTsgfSwgZmFsc2UpOworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJlcnJv
ciIsIGZ1bmN0aW9uKGUpIHsKKyAgICAgICAgICAgIHZhciBtZXNzYWdlID0gZS5tZXNzYWdlOwor
ICAgICAgICAgICAgdmFyIHN0YWNrOworICAgICAgICAgICAgaWYgKGUuZXJyb3IgJiYgZS5lcnJv
ci5zdGFjaykgeworICAgICAgICAgICAgICAgIHN0YWNrID0gZS5lcnJvci5zdGFjazsKKyAgICAg
ICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgc3RhY2sgPSBlLmZpbGVuYW1lICsgIjoi
ICsgZS5saW5lbm8gKyAiOiIgKyBlLmNvbG5vOworICAgICAgICAgICAgfQorICAgICAgICAgICAg
ZXJyb3JfaGFuZGxlcihlLmVycm9yLCBtZXNzYWdlLCBzdGFjayk7CisgICAgICAgIH0sIGZhbHNl
KTsKKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJ1bmhhbmRsZWRyZWplY3Rpb24iLCBmdW5j
dGlvbihlKSB7CisgICAgICAgICAgICB2YXIgbWVzc2FnZTsKKyAgICAgICAgICAgIGlmIChlLnJl
YXNvbiAmJiBlLnJlYXNvbi5tZXNzYWdlKSB7CisgICAgICAgICAgICAgICAgbWVzc2FnZSA9ICJV
bmhhbmRsZWQgcmVqZWN0aW9uOiAiICsgZS5yZWFzb24ubWVzc2FnZTsKKyAgICAgICAgICAgIH0g
ZWxzZSB7CisgICAgICAgICAgICAgICAgbWVzc2FnZSA9ICJVbmhhbmRsZWQgcmVqZWN0aW9uIjsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHZhciBzdGFjazsKKyAgICAgICAgICAgIGlmIChl
LnJlYXNvbiAmJiBlLnJlYXNvbi5zdGFjaykgeworICAgICAgICAgICAgICAgIHN0YWNrID0gZS5y
ZWFzb24uc3RhY2s7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBlcnJvcl9oYW5kbGVyKGUu
cmVhc29uLCBtZXNzYWdlLCBzdGFjayk7CisgICAgICAgIH0sIGZhbHNlKTsKICAgICB9CiAKICAg
ICB0ZXN0X2Vudmlyb25tZW50Lm9uX3Rlc3RzX3JlYWR5KCk7CkBAIC0zNDMzLDcgKzM4MzksNyBA
QCB0YWJsZSNyZXN1bHRzIHtcCiBcCiB0YWJsZSNyZXN1bHRzIHRoOmZpcnN0LWNoaWxkLFwKIHRh
YmxlI3Jlc3VsdHMgdGQ6Zmlyc3QtY2hpbGQge1wKLSAgICB3aWR0aDo0ZW07XAorICAgIHdpZHRo
OjhlbTtcCiB9XAogXAogdGFibGUjcmVzdWx0cyB0aDpsYXN0LWNoaWxkLFwKQEAgLTM0NzQsNyAr
Mzg4MCwxMSBAQCB0ci5ub3RydW4gPiB0ZDpmaXJzdC1jaGlsZCB7XAogICAgIGNvbG9yOmJsdWU7
XAogfVwKIFwKLS5wYXNzID4gdGQ6Zmlyc3QtY2hpbGQsIC5mYWlsID4gdGQ6Zmlyc3QtY2hpbGQs
IC50aW1lb3V0ID4gdGQ6Zmlyc3QtY2hpbGQsIC5ub3RydW4gPiB0ZDpmaXJzdC1jaGlsZCB7XAor
dHIucHJlY29uZGl0aW9uZmFpbGVkID4gdGQ6Zmlyc3QtY2hpbGQge1wKKyAgICBjb2xvcjpibHVl
O1wKK31cCitcCisucGFzcyA+IHRkOmZpcnN0LWNoaWxkLCAuZmFpbCA+IHRkOmZpcnN0LWNoaWxk
LCAudGltZW91dCA+IHRkOmZpcnN0LWNoaWxkLCAubm90cnVuID4gdGQ6Zmlyc3QtY2hpbGQsIC5w
cmVjb25kaXRpb25mYWlsZWQgPiB0ZDpmaXJzdC1jaGlsZCB7XAogICAgIGZvbnQtdmFyaWFudDpz
bWFsbC1jYXBzO1wKIH1cCiBcCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcy5oZWFkZXJz
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMuaGVhZGVycwppbmRleCA2ODA1YzMyM2RmNWE5NzUyMzE2NDhi
ODMwZTMzY2UxODNjM2NiYmQzLi41ZThmNjQwYzY2NTlkMTc2ZWFjYTRjNzFjYzE3OThiNzI4NTU0
MGI3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcy5oZWFkZXJzCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzLmhlYWRlcnMKQEAgLTEgKzEsMiBAQAogQ29udGVudC1UeXBlOiB0ZXh0L2phdmFz
Y3JpcHQ7IGNoYXJzZXQ9dXRmLTgKK0NhY2hlLUNvbnRyb2w6IG1heC1hZ2U9MzYwMApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93M2MtaW1wb3J0LmxvZwppbmRleCBlY2FiNjhjMWJlOGY0MjRjYWUy
ZTVmMWJlMGI1MDEwZDk5YzAyYTZhLi4yOWUyZGQ1N2EyYzkyZWVlZjVlZDM5NjUwNmU1NDViMmUw
NGJlZmY0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93M2MtaW1wb3J0LmxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93M2MtaW1wb3J0LmxvZwpAQCAtMSw3
ICsxLDcgQEAKIFRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20g
dGhlIFczQyByZXBvc2l0b3J5LgogRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBp
biBXZWJLaXQuCiBJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRo
dWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMKKwlodHRwczov
L2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdAogCiBUaGVuIHJ1biB0aGUgVG9vbHMv
U2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydAogCkBAIC0xNiwx
MSArMTYsMTggQEAgTm9uZQogTGlzdCBvZiBmaWxlczoKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy8uaHRhY2Nlc3MKIC9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9MSUNFTlNFCi0vTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvT1dORVJTCisv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvTUVU
QS55bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy9TVkdBbmltYXRpb25UZXN0Q2FzZS10ZXN0aGFybmVzcy5qcworL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2NoZWNrLWxheW91dC10aC5q
cwogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L2lkbGhhcm5lc3MuanMKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy9pZGxoYXJuZXNzLmpzLmhlYWRlcnMKIC9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9yZWFkbWUubWQKIC9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9zcmloYXJuZXNzLmpz
CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
dGVzdGRyaXZlci1hY3Rpb25zLmpzCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdGRyaXZlci12ZW5kb3IuanMKKy9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0ZHJpdmVyLXZlbmRv
ci5qcy5oZWFkZXJzCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvdGVzdGRyaXZlci5qcworL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3Rkcml2ZXIuanMuaGVhZGVycwogL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmNzcy5oZWFkZXJzCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcy5oZWFkZXJzCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL0NIQU5HRUxPRy5tZCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvQ0hBTkdFTE9HLm1kCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCA5MWUyMjI3NWUwNzAwZTFmNTUzMTQ4YzdmNTQxNGQ3Y2NhZjBmZTMz
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvQ0hB
TkdFTE9HLm1kCisrKyAvZGV2L251bGwKQEAgLTEsMjkyICswLDAgQEAKLSMgQ2hhbmdlIExvZwot
Ci0jIyBbdjEwLjIuMV0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL3RyZWUvdjEw
LjIuMSkgKDIwMTgtMDMtMDkpCi1bRnVsbCBDaGFuZ2Vsb2ddKGh0dHBzOi8vZ2l0aHViLmNvbS93
M2Mvd2ViaWRsMi5qcy9jb21wYXJlL3YxMC4yLjAuLi52MTAuMi4xKQotCi0qKk1lcmdlZCBwdWxs
IHJlcXVlc3RzOioqCi0KLS0gT3B0aW1pc2UgdG9rZW5pc2F0aW9uIGFuZCB3aGl0ZXNwYWNlIHNr
aXBwaW5nIFtcIzEzOV0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL3B1bGwvMTM5
KSAoW3JpY2VhXShodHRwczovL2dpdGh1Yi5jb20vcmljZWEpKQotLSByZWZhY3Rvcjogc21hbGwg
c3ludGF4IGNoYW5nZXMgW1wjMTM3XShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMv
cHVsbC8xMzcpIChbc2FzY2hhbmF6XShodHRwczovL2dpdGh1Yi5jb20vc2FzY2hhbmF6KSkKLQot
IyMgW3YxMC4yLjBdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy90cmVlL3YxMC4y
LjApICgyMDE4LTAxLTMwKQotW0Z1bGwgQ2hhbmdlbG9nXShodHRwczovL2dpdGh1Yi5jb20vdzNj
L3dlYmlkbDIuanMvY29tcGFyZS92MTAuMS4wLi4udjEwLjIuMCkKLQotKipNZXJnZWQgcHVsbCBy
ZXF1ZXN0czoqKgotCi0tIFR5cGUgb24gdW5pb24gaWRsVHlwZSBbXCMxMzVdKGh0dHBzOi8vZ2l0
aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9wdWxsLzEzNSkgKFtzYXNjaGFuYXpdKGh0dHBzOi8vZ2l0
aHViLmNvbS9zYXNjaGFuYXopKQotLSBmZWF0OiBhZGQgYXJndW1lbnQvcmV0dXJuIHR5cGUgW1wj
MTM0XShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvcHVsbC8xMzQpIChbc2FzY2hh
bmF6XShodHRwczovL2dpdGh1Yi5jb20vc2FzY2hhbmF6KSkKLS0gZmVhdDogYWRkIGRpY3Rpb25h
cnkvdHlwZWRlZi10eXBlIFtcIzEzM10oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpz
L3B1bGwvMTMzKSAoW3Nhc2NoYW5hel0oaHR0cHM6Ly9naXRodWIuY29tL3Nhc2NoYW5heikpCi0t
IGZlYXQ6IGFkZCBjb25zdC10eXBlIGZvciBpZGxUeXBlcyAgW1wjMTMyXShodHRwczovL2dpdGh1
Yi5jb20vdzNjL3dlYmlkbDIuanMvcHVsbC8xMzIpIChbc2FzY2hhbmF6XShodHRwczovL2dpdGh1
Yi5jb20vc2FzY2hhbmF6KSkKLS0gZmVhdDogYWRkIHR5cGVzIG9uIGlkbFR5cGVzIFtcIzEzMV0o
aHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL3B1bGwvMTMxKSAoW3Nhc2NoYW5hel0o
aHR0cHM6Ly9naXRodWIuY29tL3Nhc2NoYW5heikpCi0tIEF1dG8gYWNxdWlzaXRpb24gZm9yIHBh
cnNlciByZXN1bHQgY2hhbmdlcyBbXCMxMzBdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRs
Mi5qcy9wdWxsLzEzMCkgKFtzYXNjaGFuYXpdKGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNjaGFuYXop
KQotCi0jIyBbdjEwLjEuMF0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL3RyZWUv
djEwLjEuMCkgKDIwMTgtMDEtMTkpCi1bRnVsbCBDaGFuZ2Vsb2ddKGh0dHBzOi8vZ2l0aHViLmNv
bS93M2Mvd2ViaWRsMi5qcy9jb21wYXJlL3YxMC4wLjAuLi52MTAuMS4wKQotCi0qKkNsb3NlZCBp
c3N1ZXM6KioKLQotLSBTdXBwb3J0IGByYWlzZXNgIGFuZCBgc2V0cmFpc2VzYCBbXCMxMjhdKGh0
dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9pc3N1ZXMvMTI4KQotLSBTdXBwb3J0IGBs
ZWdhY3ljYWxsZXJgIFtcIzEyN10oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL2lz
c3Vlcy8xMjcpCi0tIEltcHJvdmUgIk5vIHNlbWljb2xvbiBhZnRlciBlbnVtIiBtZXNzYWdlIFtc
IzExOV0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL2lzc3Vlcy8xMTkpCi0KLSoq
TWVyZ2VkIHB1bGwgcmVxdWVzdHM6KioKLQotLSBMZXQgZXJyb3IgbWVzc2FnZXMgaW5jbHVkZSB0
aGUgY3VycmVudCBkZWZpbml0aW9uIG5hbWUgW1wjMTI5XShodHRwczovL2dpdGh1Yi5jb20vdzNj
L3dlYmlkbDIuanMvcHVsbC8xMjkpIChbc2FzY2hhbmF6XShodHRwczovL2dpdGh1Yi5jb20vc2Fz
Y2hhbmF6KSkKLQotIyMgW3YxMC4wLjBdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5q
cy90cmVlL3YxMC4wLjApICgyMDE3LTEyLTIwKQotW0Z1bGwgQ2hhbmdlbG9nXShodHRwczovL2dp
dGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvY29tcGFyZS92OS4wLjAuLi52MTAuMC4wKQotCi0qKkNs
b3NlZCBpc3N1ZXM6KioKLQotLSAgQWx3YXlzIHJldHVybiBhbiBhcnJheSBmb3IgaWRsVHlwZSwg
ZXRjLiBbXCMxMTNdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9pc3N1ZXMvMTEz
KQotLSBNYWludGFpbiB3cml0ZXIuanMgb3Igbm90PyBbXCMxMDldKGh0dHBzOi8vZ2l0aHViLmNv
bS93M2Mvd2ViaWRsMi5qcy9pc3N1ZXMvMTA5KQotCi0qKk1lcmdlZCBwdWxsIHJlcXVlc3RzOioq
Ci0KLS0gUmVtb3ZlIHR5cGVFeHRBdHRycyBmcm9tIGRvY3MgW1wjMTI0XShodHRwczovL2dpdGh1
Yi5jb20vdzNjL3dlYmlkbDIuanMvcHVsbC8xMjQpIChbc2FzY2hhbmF6XShodHRwczovL2dpdGh1
Yi5jb20vc2FzY2hhbmF6KSkKLS0gUmVtb3ZlIGl0ZXJhdG9yIGRvY3VtZW50YXRpb24gW1wjMTIz
XShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvcHVsbC8xMjMpIChbc2FzY2hhbmF6
XShodHRwczovL2dpdGh1Yi5jb20vc2FzY2hhbmF6KSkKLS0gTWFpbnRhaW4gd3JpdGVyLmpzIFtc
IzEyMl0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL3B1bGwvMTIyKSAoW3Nhc2No
YW5hel0oaHR0cHM6Ly9naXRodWIuY29tL3Nhc2NoYW5heikpCi0tIEJSRUFLSU5HIENIQU5HRTog
cmVtb3ZlIGRlcHJlY2F0ZWQgaXRlcmF0b3Igb3BlcmF0aW9uIFtcIzEyMV0oaHR0cHM6Ly9naXRo
dWIuY29tL3czYy93ZWJpZGwyLmpzL3B1bGwvMTIxKSAoW3Nhc2NoYW5hel0oaHR0cHM6Ly9naXRo
dWIuY29tL3Nhc2NoYW5heikpCi0tIFVzZSBmb3Itb2Ygb24gdGVzdHMgW1wjMTIwXShodHRwczov
L2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvcHVsbC8xMjApIChbc2FzY2hhbmF6XShodHRwczov
L2dpdGh1Yi5jb20vc2FzY2hhbmF6KSkKLS0gZG9jc1woUkVBRE1FXCk6IGl0ZXJhYmxlcyBpbGRU
eXBlIGlzIGFsd2F5cyBhcnJheSBbXCMxMThdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRs
Mi5qcy9wdWxsLzExOCkgKFttYXJjb3NjYWNlcmVzXShodHRwczovL2dpdGh1Yi5jb20vbWFyY29z
Y2FjZXJlcykpCi0KLSMjIFt2OS4wLjBdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5q
cy90cmVlL3Y5LjAuMCkgKDIwMTctMTEtMzApCi1bRnVsbCBDaGFuZ2Vsb2ddKGh0dHBzOi8vZ2l0
aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9jb21wYXJlL3Y4LjEuMC4uLnY5LjAuMCkKLQotKipDbG9z
ZWQgaXNzdWVzOioqCi0KLS0gQ29kZSBxdWFsaXR5IFtcIzExNl0oaHR0cHM6Ly9naXRodWIuY29t
L3czYy93ZWJpZGwyLmpzL2lzc3Vlcy8xMTYpCi0tIFVuYWJsZSB0byBwYXJzZSBIVE1MQWxsQ29s
bGVjdGlvbiBpbnRlcmZhY2UgW1wjMTE0XShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIu
anMvaXNzdWVzLzExNCkKLS0gQWRkIHN1cHBvcnQgZm9yIG1peGluIHN5bnRheCBbXCMxMTJdKGh0
dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9pc3N1ZXMvMTEyKQotLSBXaGl0ZXNwYWNl
IGlzc3VlcyBbXCMxMTFdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9pc3N1ZXMv
MTExKQotCi0qKk1lcmdlZCBwdWxsIHJlcXVlc3RzOioqCi0KLS0gQ29uc2lzdGVudCBhcnJheSB0
eXBlIGZvciBpdGVyYWJsZS5pZGxUeXBlIFtcIzExN10oaHR0cHM6Ly9naXRodWIuY29tL3czYy93
ZWJpZGwyLmpzL3B1bGwvMTE3KSAoW3Nhc2NoYW5hel0oaHR0cHM6Ly9naXRodWIuY29tL3Nhc2No
YW5heikpCi0tICBSZXZlcnQgImNob3JlOiBkcm9wIE5vZGUgNiBzdXBwb3J0IFwoXCMxMDJcKSIg
W1wjMTE1XShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvcHVsbC8xMTUpIChbVGlt
b3RoeUd1XShodHRwczovL2dpdGh1Yi5jb20vVGltb3RoeUd1KSkKLQotIyMgW3Y4LjEuMF0oaHR0
cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL3RyZWUvdjguMS4wKSAoMjAxNy0xMS0wMykK
LVtGdWxsIENoYW5nZWxvZ10oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL2NvbXBh
cmUvdjguMC4xLi4udjguMS4wKQotCi0qKkNsb3NlZCBpc3N1ZXM6KioKLQotLSBFeHRlbmRlZCBB
dHRyaWJ1dGVzIGByaHNgIHNob3VsZCBhbHdheXMgYmUgdGhlcmUgW1wjOTZdKGh0dHBzOi8vZ2l0
aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9pc3N1ZXMvOTYpCi0KLSoqTWVyZ2VkIHB1bGwgcmVxdWVz
dHM6KioKLQotLSBBbHdheXMgYWRkIHJocyBwcm9wZXJ0eSBbXCMxMTBdKGh0dHBzOi8vZ2l0aHVi
LmNvbS93M2Mvd2ViaWRsMi5qcy9wdWxsLzExMCkgKFtzYXNjaGFuYXpdKGh0dHBzOi8vZ2l0aHVi
LmNvbS9zYXNjaGFuYXopKQotCi0jIyBbdjguMC4xXShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dl
YmlkbDIuanMvdHJlZS92OC4wLjEpICgyMDE3LTExLTAzKQotW0Z1bGwgQ2hhbmdlbG9nXShodHRw
czovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvY29tcGFyZS92OC4wLjAuLi52OC4wLjEpCi0K
LSoqRml4ZWQgYnVnczoqKgotCi0tIENvbW1lbnQgb3JkZXIgcGFyc2luZyBidWcgIFtcIzEwN10o
aHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL2lzc3Vlcy8xMDcpCi0KLSoqTWVyZ2Vk
IHB1bGwgcmVxdWVzdHM6KioKLQotLSBSZW1vdmUgbSBwb3N0Zml4IGZyb20gYWxsXF93c1woXCkg
W1wjMTA4XShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvcHVsbC8xMDgpIChbc2Fz
Y2hhbmF6XShodHRwczovL2dpdGh1Yi5jb20vc2FzY2hhbmF6KSkKLQotIyMgW3Y4LjAuMF0oaHR0
cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL3RyZWUvdjguMC4wKSAoMjAxNy0xMS0wMykK
LVtGdWxsIENoYW5nZWxvZ10oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL2NvbXBh
cmUvdjcuMC4wLi4udjguMC4wKQotCi0qKkNsb3NlZCBpc3N1ZXM6KioKLQotLSBSZW1vdmUgY3Jl
YXRvcnMgc3VwcG9ydCBbXCMxMDBdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9p
c3N1ZXMvMTAwKQotLSBBZGQgbWl4aW4gc3VwcG9ydCBbXCM5Ml0oaHR0cHM6Ly9naXRodWIuY29t
L3czYy93ZWJpZGwyLmpzL2lzc3Vlcy85MikKLQotKipNZXJnZWQgcHVsbCByZXF1ZXN0czoqKgot
Ci0tIFN1cHBvcnQgbWl4aW5zICsgaW5jbHVkZXMgc3RhdGVtZW50cyBbXCMxMDVdKGh0dHBzOi8v
Z2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9wdWxsLzEwNSkgKFtzYXNjaGFuYXpdKGh0dHBzOi8v
Z2l0aHViLmNvbS9zYXNjaGFuYXopKQotLSBjaG9yZTogZHJvcCBOb2RlIDYgc3VwcG9ydCBbXCMx
MDJdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9wdWxsLzEwMikgKFttYXJjb3Nj
YWNlcmVzXShodHRwczovL2dpdGh1Yi5jb20vbWFyY29zY2FjZXJlcykpCi0tIEJSRUFLSU5HIENI
QU5HRTogZHJvcCBjcmVhdG9yIHN1cHBvcnQgW1wjMTAxXShodHRwczovL2dpdGh1Yi5jb20vdzNj
L3dlYmlkbDIuanMvcHVsbC8xMDEpIChbc2FzY2hhbmF6XShodHRwczovL2dpdGh1Yi5jb20vc2Fz
Y2hhbmF6KSkKLS0gTm9ybWFsaXplIHNvbWUgd2hpdGVzcGFjZSB0byBwYXNzIHdwdCdzIGxpbnQg
W1wjOTldKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9wdWxsLzk5KSAoW2Zvb2xp
cF0oaHR0cHM6Ly9naXRodWIuY29tL2Zvb2xpcCkpCi0KLSMjIFt2Ny4wLjBdKGh0dHBzOi8vZ2l0
aHViLmNvbS93M2Mvd2ViaWRsMi5qcy90cmVlL3Y3LjAuMCkgKDIwMTctMTAtMjcpCi1bRnVsbCBD
aGFuZ2Vsb2ddKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9jb21wYXJlL3Y2LjEu
MC4uLnY3LjAuMCkKLQotKipDbG9zZWQgaXNzdWVzOioqCi0KLS0gVHlwZSBjb252ZXJzaW9uIG9u
IGRlZmF1bHQgdmFsdWVzIGlzIGRlc3RydWN0aXZlICBbXCM5NF0oaHR0cHM6Ly9naXRodWIuY29t
L3czYy93ZWJpZGwyLmpzL2lzc3Vlcy85NCkKLS0gZXh0ZW5kZWQgYXR0cmlidXRlIHN0cnVjdHVy
ZSBtaXNzaW5nIHR5cGUgW1wjODldKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9p
c3N1ZXMvODkpCi0KLSoqTWVyZ2VkIHB1bGwgcmVxdWVzdHM6KioKLQotLSAgQlJFQUtJTkcgQ0hB
TkdFOiBhcmd1bWVudCArIGRlZmF1bHQgdHlwZXMgc2hvdWxkIGJlIHN0cmluZyBbXCM5NV0oaHR0
cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL3B1bGwvOTUpIChbbWFyY29zY2FjZXJlc10o
aHR0cHM6Ly9naXRodWIuY29tL21hcmNvc2NhY2VyZXMpKQotCi0jIyBbdjYuMS4wXShodHRwczov
L2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvdHJlZS92Ni4xLjApICgyMDE3LTEwLTIzKQotW0Z1
bGwgQ2hhbmdlbG9nXShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvY29tcGFyZS92
Ni4wLjEuLi52Ni4xLjApCi0KLSoqTWVyZ2VkIHB1bGwgcmVxdWVzdHM6KioKLQotLSBmZWF0OiBn
aXZlIGV4dGVuZGVkIGF0dHJpYnV0ZXMgYSB0eXBlIFtcIzkwXShodHRwczovL2dpdGh1Yi5jb20v
dzNjL3dlYmlkbDIuanMvcHVsbC85MCkgKFttYXJjb3NjYWNlcmVzXShodHRwczovL2dpdGh1Yi5j
b20vbWFyY29zY2FjZXJlcykpCi0KLSMjIFt2Ni4wLjFdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mv
d2ViaWRsMi5qcy90cmVlL3Y2LjAuMSkgKDIwMTctMTAtMTgpCi1bRnVsbCBDaGFuZ2Vsb2ddKGh0
dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9jb21wYXJlL3Y2LjAuMC4uLnY2LjAuMSkK
LQotKipDbG9zZWQgaXNzdWVzOioqCi0KLS0gRW51bSB2YWx1ZXMgc2hvdWxkIGJlIG9iamVjdHMg
W1wjODZdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9pc3N1ZXMvODYpCi0KLSoq
TWVyZ2VkIHB1bGwgcmVxdWVzdHM6KioKLQotLSBVc2UgRVMyMDE1IHN5bnRheCBmb3IgdGVzdHMg
W1wjODhdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9wdWxsLzg4KSAoW3Nhc2No
YW5hel0oaHR0cHM6Ly9naXRodWIuY29tL3Nhc2NoYW5heikpCi0KLSMjIFt2Ni4wLjBdKGh0dHBz
Oi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy90cmVlL3Y2LjAuMCkgKDIwMTctMTAtMTcpCi1b
RnVsbCBDaGFuZ2Vsb2ddKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9jb21wYXJl
L3Y1LjAuMC4uLnY2LjAuMCkKLQotKipNZXJnZWQgcHVsbCByZXF1ZXN0czoqKgotCi0tIEJSRUFL
SU5HIENIQU5HRTogcmV0IGVudW0gdmFsdWUgYXMgb2JqZWN0IFtcIzg3XShodHRwczovL2dpdGh1
Yi5jb20vdzNjL3dlYmlkbDIuanMvcHVsbC84NykgKFttYXJjb3NjYWNlcmVzXShodHRwczovL2dp
dGh1Yi5jb20vbWFyY29zY2FjZXJlcykpCi0KLSMjIFt2NS4wLjBdKGh0dHBzOi8vZ2l0aHViLmNv
bS93M2Mvd2ViaWRsMi5qcy90cmVlL3Y1LjAuMCkgKDIwMTctMTAtMTcpCi1bRnVsbCBDaGFuZ2Vs
b2ddKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9jb21wYXJlL3Y0LjIuMC4uLnY1
LjAuMCkKLQotKipDbG9zZWQgaXNzdWVzOioqCi0KLS0gVW5hYmxlIHRvIHBhcnNlIGFubm90YXRl
ZCB0eXBlcyBpbiBnZW5lcmljcyBbXCM4M10oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwy
LmpzL2lzc3Vlcy84MykKLS0gRHJvcCBzdXBwb3J0IGZvciBOb2RlIDQsIG1vdmUgdG8gNiBMVFMg
W1wjODJdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9pc3N1ZXMvODIpCi0KLSoq
TWVyZ2VkIHB1bGwgcmVxdWVzdHM6KioKLQotLSBCUkVBS0lORyBDSEFOR0U6IFVzZSBFUzIwMTUg
c3ludGF4IFtcIzg0XShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvcHVsbC84NCkg
KFtzYXNjaGFuYXpdKGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNjaGFuYXopKQotCi0jIyBbdjQuMi4w
XShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvdHJlZS92NC4yLjApICgyMDE3LTEw
LTE2KQotW0Z1bGwgQ2hhbmdlbG9nXShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMv
Y29tcGFyZS92NC4xLjAuLi52NC4yLjApCi0KLSoqQ2xvc2VkIGlzc3VlczoqKgotCi0tIFJlbW92
ZSBsZWdhY3kgY2FsbGVyIHN1cHBvcnQgW1wjNzhdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2Vi
aWRsMi5qcy9pc3N1ZXMvNzgpCi0tIFNob3VsZCByZXBvcnQgZXJyb3IgZm9yIHVzaW5nIGR1cGxp
Y2F0ZSBuYW1lcyBbXCM3N10oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL2lzc3Vl
cy83NykKLQotKipNZXJnZWQgcHVsbCByZXF1ZXN0czoqKgotCi0tIENoZWNrIGR1cGxpY2F0ZWQg
bmFtZXMgW1wjODBdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9wdWxsLzgwKSAo
W3Nhc2NoYW5hel0oaHR0cHM6Ly9naXRodWIuY29tL3Nhc2NoYW5heikpCi0tIFJlbW92ZSBsZWdh
Y3ljYWxsZXIgW1wjNzldKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9wdWxsLzc5
KSAoW3Nhc2NoYW5hel0oaHR0cHM6Ly9naXRodWIuY29tL3Nhc2NoYW5heikpCi0tIEFkZCAic2Vx
dWVuY2UiIHByb3BlcnR5IHRvIElETCBUeXBlIEFTVCBkZWZpbml0aW9uIFtcIzc2XShodHRwczov
L2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvcHVsbC83NikgKFtsZXJvdWNoZV0oaHR0cHM6Ly9n
aXRodWIuY29tL2xlcm91Y2hlKSkKLQotIyMgW3Y0LjEuMF0oaHR0cHM6Ly9naXRodWIuY29tL3cz
Yy93ZWJpZGwyLmpzL3RyZWUvdjQuMS4wKSAoMjAxNy0wNy0wNCkKLVtGdWxsIENoYW5nZWxvZ10o
aHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL2NvbXBhcmUvdjQuMC4wLi4udjQuMS4w
KQotCi0qKkNsb3NlZCBpc3N1ZXM6KioKLQotLSBQYXJzaW5nIGVycm9yIGZvciBhbm5vbmF0ZWQg
aW5uZXIgdHlwZXMgb2YgZ2VuZXJpYyB0eXBlcyBbXCM3MV0oaHR0cHM6Ly9naXRodWIuY29tL3cz
Yy93ZWJpZGwyLmpzL2lzc3Vlcy83MSkKLQotKipNZXJnZWQgcHVsbCByZXF1ZXN0czoqKgotCi0t
IFN1cHBvcnQgVHlwZVdpdGhFeHRlbmRlZEF0dHJpYnV0ZXMgb24gZ2VuZXJpY3MgW1wjNzVdKGh0
dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9wdWxsLzc1KSAoW3Nhc2NoYW5hel0oaHR0
cHM6Ly9naXRodWIuY29tL3Nhc2NoYW5heikpCi0KLSMjIFt2NC4wLjBdKGh0dHBzOi8vZ2l0aHVi
LmNvbS93M2Mvd2ViaWRsMi5qcy90cmVlL3Y0LjAuMCkgKDIwMTctMDYtMjcpCi1bRnVsbCBDaGFu
Z2Vsb2ddKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9jb21wYXJlL3YzLjAuMi4u
LnY0LjAuMCkKLQotKipDbG9zZWQgaXNzdWVzOioqCi0KLS0gUmVtb3ZlIHNlcmlhbGl6ZXItcmVs
YXRlZCBwcm9kdWN0aW9ucyBbXCM3M10oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpz
L2lzc3Vlcy83MykKLS0gUmVjb3JkcyBkb24ndCBzZWVtIHRvIGJlIHdvcmtpbmcgcmlnaHQgW1wj
NzJdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9pc3N1ZXMvNzIpCi0tIERvY3Vt
ZW50IG5hbWVzcGFjZSBtZW1iZXIgb3V0cHV0IFtcIzU5XShodHRwczovL2dpdGh1Yi5jb20vdzNj
L3dlYmlkbDIuanMvaXNzdWVzLzU5KQotCi0qKk1lcmdlZCBwdWxsIHJlcXVlc3RzOioqCi0KLS0g
QlJFQUtJTkcgQ0hBTkdFOiByZW1vdmUgc2VyaWFsaXplcnMgXChjbG9zZXMgXCM3M1wpIFtcIzc0
XShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvcHVsbC83NCkgKFttYXJjb3NjYWNl
cmVzXShodHRwczovL2dpdGh1Yi5jb20vbWFyY29zY2FjZXJlcykpCi0tIEFkZCBkb2N1bWVudGF0
aW9uIGZvciBuYW1lc3BhY2VzIFtcIzcwXShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIu
anMvcHVsbC83MCkgKFtzYXNjaGFuYXpdKGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNjaGFuYXopKQot
Ci0jIyBbdjMuMC4yXShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvdHJlZS92My4w
LjIpICgyMDE3LTA1LTI5KQotW0Z1bGwgQ2hhbmdlbG9nXShodHRwczovL2dpdGh1Yi5jb20vdzNj
L3dlYmlkbDIuanMvY29tcGFyZS92My4wLjEuLi52My4wLjIpCi0KLSoqQ2xvc2VkIGlzc3Vlczoq
KgotCi0tIFdoaXRlc3BhY2UgaXNzdWVzIFtcIzY0XShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dl
YmlkbDIuanMvaXNzdWVzLzY0KQotCi0qKk1lcmdlZCBwdWxsIHJlcXVlc3RzOioqCi0KLS0gVGVz
dCBmb3IgbGF0ZXN0IExUUy9zdGFibGUgbm9kZSB2ZXJzaW9ucyBbXCM2OV0oaHR0cHM6Ly9naXRo
dWIuY29tL3czYy93ZWJpZGwyLmpzL3B1bGwvNjkpIChbc2FzY2hhbmF6XShodHRwczovL2dpdGh1
Yi5jb20vc2FzY2hhbmF6KSkKLQotIyMgW3YzLjAuMV0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93
ZWJpZGwyLmpzL3RyZWUvdjMuMC4xKSAoMjAxNy0wNS0xOCkKLVtGdWxsIENoYW5nZWxvZ10oaHR0
cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL2NvbXBhcmUvdjIuNC4wLi4udjMuMC4xKQot
Ci0qKkNsb3NlZCBpc3N1ZXM6KioKLQotLSBJcyBhcnJheSBzeW50YXggZGVhZD8gW1wjNjZdKGh0
dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9pc3N1ZXMvNjYpCi0tIFJlbW92ZSBleGNl
cHRpb25zIHN1cHBvcnQgW1wjNjVdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9p
c3N1ZXMvNjUpCi0KLSoqTWVyZ2VkIHB1bGwgcmVxdWVzdHM6KioKLQotLSBGaXggd2hpdGVzcGFj
ZSBlcnJvciBvbiBwYXJzaW5nIGV4dGVuZGVkIGF0dHJpYnV0ZXMgW1wjNjhdKGh0dHBzOi8vZ2l0
aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9wdWxsLzY4KSAoW3Nhc2NoYW5hel0oaHR0cHM6Ly9naXRo
dWIuY29tL3Nhc2NoYW5heikpCi0tIFJlbW92ZSBkZXByZWNhdGVkIElETCBhcnJheXMgYW5kIGV4
Y2VwdGlvbnMgW1wjNjddKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9wdWxsLzY3
KSAoW3Nhc2NoYW5hel0oaHR0cHM6Ly9naXRodWIuY29tL3Nhc2NoYW5heikpCi0KLSMjIFt2Mi40
LjBdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy90cmVlL3YyLjQuMCkgKDIwMTct
MDQtMTIpCi1bRnVsbCBDaGFuZ2Vsb2ddKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5q
cy9jb21wYXJlL3YyLjEuMC4uLnYyLjQuMCkKLQotKipDbG9zZWQgaXNzdWVzOioqCi0KLS0gQWRk
IHN1cHBvcnQgZm9yIEFubm90YXRlZCBUeXBlcyBbXCM2MF0oaHR0cHM6Ly9naXRodWIuY29tL3cz
Yy93ZWJpZGwyLmpzL2lzc3Vlcy82MCkKLS0gUXVlc3Rpb246IENvbnZlcnQgV2ViSURMIC1cPiBK
YXZhc2NyaXB0IFtcIzU2XShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvaXNzdWVz
LzU2KQotLSBHZXQgUm9iaW4gdG8gZ2l2ZSB1cyBwdXNoIHBlcm1pc3Npb25zIG9uIG5wbSBbXCM1
NF0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL2lzc3Vlcy81NCkKLS0gQWRkIHN1
cHBvcnQgZm9yIHJlY29yZHMgW1wjNTNdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5q
cy9pc3N1ZXMvNTMpCi0tIG1vZHVsZSBub3Qgc3VwcG9ydGVkPyBbXCM1Ml0oaHR0cHM6Ly9naXRo
dWIuY29tL3czYy93ZWJpZGwyLmpzL2lzc3Vlcy81MikKLS0gQWRkIHN1cHBvcnQgZm9yIG5hbWVz
cGFjZXMgW1wjNTFdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9pc3N1ZXMvNTEp
Ci0tIEV4cG9ydCBpcyBub3QgQU1EIGNvbXBhdGlibGUgW1wjNDhdKGh0dHBzOi8vZ2l0aHViLmNv
bS93M2Mvd2ViaWRsMi5qcy9pc3N1ZXMvNDgpCi0tIENhbid0IHJlcHJlc2VudCBsYXJnZSBjb25z
dGFudHMgW1wjMjFdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9pc3N1ZXMvMjEp
Ci0KLSoqTWVyZ2VkIHB1bGwgcmVxdWVzdHM6KioKLQotLSBVcGRhdGUgd2ViaWRsMi5qcyBbXCM2
M10oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL3B1bGwvNjMpIChbdHFldG9dKGh0
dHBzOi8vZ2l0aHViLmNvbS90cWV0bykpCi0tIFJlbW92ZSBzdXBwb3J0IGZvciBNYXBDbGFzcyBc
KG5vIGxvbmdlciB2YWxpZCBpbiBXZWJJRExcKSBbXCM2Ml0oaHR0cHM6Ly9naXRodWIuY29tL3cz
Yy93ZWJpZGwyLmpzL3B1bGwvNjIpIChbZG9udGNhbGxtZWRvbV0oaHR0cHM6Ly9naXRodWIuY29t
L2RvbnRjYWxsbWVkb20pKQotLSBBZGQgc3VwcG9ydCBmb3IgYW5ub3RhdGVkIHR5cGVzIFtcIzYx
XShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvcHVsbC82MSkgKFtkb250Y2FsbG1l
ZG9tXShodHRwczovL2dpdGh1Yi5jb20vZG9udGNhbGxtZWRvbSkpCi0tIFN1cHBvcnQgbmFtZXNw
YWNlcyBbXCM1OF0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL3B1bGwvNTgpIChb
c2FzY2hhbmF6XShodHRwczovL2dpdGh1Yi5jb20vc2FzY2hhbmF6KSkKLS0gQWRkIHN1cHBvcnQg
Zm9yIHJlY29yZHMgW1wjNTddKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9wdWxs
LzU3KSAoW1RpbW90aHlHdV0oaHR0cHM6Ly9naXRodWIuY29tL1RpbW90aHlHdSkpCi0tIFJlZmFj
dG9yIFtcIzUwXShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvcHVsbC81MCkgKFtt
YXJjb3NjYWNlcmVzXShodHRwczovL2dpdGh1Yi5jb20vbWFyY29zY2FjZXJlcykpCi0tIGZlYXRc
KGxpYlwpOiBhZGQgQU1EIGV4cG9ydCBzdXBwb3J0IFwoY2xvc2VzIFwjNDhcKSBbXCM0OV0oaHR0
cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL3B1bGwvNDkpIChbbWFyY29zY2FjZXJlc10o
aHR0cHM6Ly9naXRodWIuY29tL21hcmNvc2NhY2VyZXMpKQotCi0jIyBbdjIuMS4wXShodHRwczov
L2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvdHJlZS92Mi4xLjApICgyMDE2LTA4LTEyKQotKipD
bG9zZWQgaXNzdWVzOioqCi0KLS0gRXhjZXB0aW9uIHdoZW4gcGFyc2luZyB0ZXN0L3N5bnRheC9p
ZGwvdHlwZWRlZi53aWRsIFtcIzQ2XShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMv
aXNzdWVzLzQ2KQotLSBXcm9uZyBqc29uZGlmZnBhdGNoIGxvY2F0aW9uIFtcIzQyXShodHRwczov
L2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvaXNzdWVzLzQyKQotLSAnbnBtIGluc3RhbGwnIGZh
aWxzIG9uIGJ1aWxkaW5nIG1pY3JvdGltZSBbXCM0MF0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93
ZWJpZGwyLmpzL2lzc3Vlcy80MCkKLS0gQ2FuJ3QgcmVwcmVzZW50IHVuaW9uIHR5cGVzIGluIHR5
cGVkZWZzIFtcIzM4XShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvaXNzdWVzLzM4
KQotLSB0b2tlbmlzZVwoXCkgYXNzdW1lcyBhIHNwZWNpZmljIHByb3BlcnR5IGVudW1lcmF0aW9u
IG9yZGVyIFtcIzI3XShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvaXNzdWVzLzI3
KQotLSBBZGQgc3VwcG9ydCBmb3IgaXRlcmFibGVcPFw+LCBtYXBsaWtlXDxcPiwgc2V0bGlrZVw8
XD4gZGVjbGFyYXRpb25zIFtcIzI0XShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMv
aXNzdWVzLzI0KQotLSBXZWJJREwyIGZhaWxzIHRvIHBhcnNlIGBhdHRyaWJ1dGUgUHJvbWlzZVw8
RE9NU3RyaW5nXD5cW1xdIGJhemAgW1wjMTldKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRs
Mi5qcy9pc3N1ZXMvMTkpCi0tIFN1cHBvcnQgZm9yIEV4dGVuZGVkQXR0cmlidXRlSWRlbnRMaXN0
IFwoY3VycmVudCBlZGl0b3IncyBkcmFmdFwpIFtcIzE4XShodHRwczovL2dpdGh1Yi5jb20vdzNj
L3dlYmlkbDIuanMvaXNzdWVzLzE4KQotLSBObyBMaWNlbnNpbmcgSW5mb3JtYXRpb24gW1wjMTdd
KGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9pc3N1ZXMvMTcpCi0tIGhvdyB0byBy
ZWdlbmVyYXRlIHczYyBpZGwgZmlsZXMgPyBbXCMxNF0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93
ZWJpZGwyLmpzL2lzc3Vlcy8xNCkKLS0gV2hhdCBpcyBsaWIvd3JpdGVyLmpzIFtcIzEzXShodHRw
czovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvaXNzdWVzLzEzKQotLSBOdW1lcm91cyB0ZXN0
cyBhcmUgZmFpbGluZyBbXCM3XShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvaXNz
dWVzLzcpCi0tIEFkZCBzdXBwb3J0IGZvciBtaXNzaW5nIHR5cGVzIGluIFNlcnZpY2VXb3JrZXIg
W1wjNV0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL2lzc3Vlcy81KQotLSBIb3cg
Y2FuIEkgcGFyc2UganVzdCBhIGZ1bmN0aW9uPyBbXCMzXShodHRwczovL2dpdGh1Yi5jb20vdzNj
L3dlYmlkbDIuanMvaXNzdWVzLzMpCi0tIFBhcnNlciB0aHJvd3Mgb24gbnVsbGFibGUgYXJyYXkg
b2YgbnVsbGFibGUgYXJyYXkgW1wjMl0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpz
L2lzc3Vlcy8yKQotLSBQYXJzZXIgdGhyb3dzIG9uIG51bGxhYmxlIGFycmF5IG9mIGFueSBbXCMx
XShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvaXNzdWVzLzEpCi0KLSoqTWVyZ2Vk
IHB1bGwgcmVxdWVzdHM6KioKLQotLSBGaXggImRlZmF1bHQiOiB1bmRlZmluZWQgW1wjNDddKGh0
dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9wdWxsLzQ3KSAoW21rd3R5c10oaHR0cHM6
Ly9naXRodWIuY29tL21rd3R5cykpCi0tIFJlcGxhY2UgZXhwZWN0LmpzIHdpdGggZXhwY3QgW1wj
NDVdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9wdWxsLzQ1KSAoW2hhbHRvbl0o
aHR0cHM6Ly9naXRodWIuY29tL2hhbHRvbikpCi0tIENvcnJlY3QganNvbmRpZmZwYXRjaCBsb2Nh
dGlvbi4gW1wjNDRdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9wdWxsLzQ0KSAo
W2hhbHRvbl0oaHR0cHM6Ly9naXRodWIuY29tL2hhbHRvbikpCi0tIEJ1bXAgbWljcm90aW1lIHRv
IDIuMS4xIFtcIzQzXShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvcHVsbC80Mykg
KFtoYWx0b25dKGh0dHBzOi8vZ2l0aHViLmNvbS9oYWx0b24pKQotLSBFeHBhbmQgd3JpdGVyIHN1
cHBvcnQgW1wjMzldKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9wdWxsLzM5KSAo
W21hcmthbmRydXNdKGh0dHBzOi8vZ2l0aHViLmNvbS9tYXJrYW5kcnVzKSkKLS0gQWNjZXB0IHdp
ZGVyIFwoYnV0IHN0aWxsIGluY29tcGxldGVcKSBzZXQgb2YgYWxsb3dlZCBzeW50YXggZm9yIGV4
dGVuZGVkIGF0dHJpYnV0ZXMgW1wjMzddKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5q
cy9wdWxsLzM3KSAoW21sb2dhbl0oaHR0cHM6Ly9naXRodWIuY29tL21sb2dhbikpCi0tIEFkZCB0
ZXN0IGZvciBjYWxsYmFjayB3aXRoIG11bHRpcGxlIGFyZ3VtZW50cy4gW1wjMzZdKGh0dHBzOi8v
Z2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9wdWxsLzM2KSAoW3RvYmllXShodHRwczovL2dpdGh1
Yi5jb20vdG9iaWUpKQotLSBJdGVyYWJsZXMgW1wjMzRdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mv
d2ViaWRsMi5qcy9wdWxsLzM0KSAoW21vdGl6ODhdKGh0dHBzOi8vZ2l0aHViLmNvbS9tb3Rpejg4
KSkKLS0gQWxsb3cgdHJhaWxpbmcgY29tbWEgaW4gZW51bSB2YWx1ZSBsaXN0cywgcGVyIHNwZWMg
W1wjMzNdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9wdWxsLzMzKSAoW21vdGl6
ODhdKGh0dHBzOi8vZ2l0aHViLmNvbS9tb3Rpejg4KSkKLS0gQWxsb3cgdHlwZWRlZnMgd2l0aGlu
IGludGVyZmFjZXMgXChiZWhpbmQgYW4gb3B0LWluIGZsYWdcKSBbXCMzMl0oaHR0cHM6Ly9naXRo
dWIuY29tL3czYy93ZWJpZGwyLmpzL3B1bGwvMzIpIChbbW90aXo4OF0oaHR0cHM6Ly9naXRodWIu
Y29tL21vdGl6ODgpKQotLSBJbiBkcmFmdCBbXCMzMV0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93
ZWJpZGwyLmpzL3B1bGwvMzEpIChbb3RocmVlXShodHRwczovL2dpdGh1Yi5jb20vb3RocmVlKSkK
LS0gQWRkIHN1cHBvcnQgZm9yIGV4dGVuZGVkIGF0dHJpYnV0ZXMgaWRlbnRpZmllciBsaXN0cyBb
XCMyOV0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL3B1bGwvMjkpIChbdG9iaWVd
KGh0dHBzOi8vZ2l0aHViLmNvbS90b2JpZSkpCi0tIE1ha2UgYGF0dHJpYnV0ZSBQcm9taXNlXDxU
XD5cW1xdIGF0dHI7YCB3b3JrLiBbXCMyNl0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwy
LmpzL3B1bGwvMjYpIChbanlhc3NraW5dKGh0dHBzOi8vZ2l0aHViLmNvbS9qeWFzc2tpbikpCi0t
IFBhcnNlIHJlcXVpcmVkIGRpY3Rpb25hcnkgZmllbGRzLiBbXCMyNV0oaHR0cHM6Ly9naXRodWIu
Y29tL3czYy93ZWJpZGwyLmpzL3B1bGwvMjUpIChbanlhc3NraW5dKGh0dHBzOi8vZ2l0aHViLmNv
bS9qeWFzc2tpbikpCi0tIERlZmluZSB0aGUgV2ViSURMMiBwcm9wZXJ0eSBvbiBzZWxmIHJhdGhl
ciB0aGFuIHdpbmRvdy4gW1wjMjNdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9w
dWxsLzIzKSAoW01zMmdlcl0oaHR0cHM6Ly9naXRodWIuY29tL01zMmdlcikpCi0tIFRlYWNoIFdl
YklETDIgdG8gcGFyc2UgXFtcXSBkZWZhdWx0IHZhbHVlcy4gW1wjMjJdKGh0dHBzOi8vZ2l0aHVi
LmNvbS93M2Mvd2ViaWRsMi5qcy9wdWxsLzIyKSAoW2p5YXNza2luXShodHRwczovL2dpdGh1Yi5j
b20vanlhc3NraW4pKQotLSBTdXBwb3J0IElEIGxpc3QgaW4gZXh0ZW5kZWQgYXR0cmlidXRlcyBb
XCMyMF0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL3B1bGwvMjApIChbb3RocmVl
XShodHRwczovL2dpdGh1Yi5jb20vb3RocmVlKSkKLS0gTWFrZSBzdXJlIHRoYXQgYHNlcXVlbmNl
YCBwcm9wZXJ0eSBvZiBpZGwgdHlwZXMgaXMgc2V0IHRvIGZhbHNlIGlmIHRoZSB0eXBlIGlzIGFj
dHVhbGx5IGBzZXF1ZW5jZWAuIFtcIzE2XShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIu
anMvcHVsbC8xNikgKFt0b2JpZV0oaHR0cHM6Ly9naXRodWIuY29tL3RvYmllKSkKLS0gUGFyYW1l
dHJpemVkIFtcIzE1XShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvcHVsbC8xNSkg
KFt0b2JpZV0oaHR0cHM6Ly9naXRodWIuY29tL3RvYmllKSkKLS0gQWRkIHByb21pc2Ugc3VwcG9y
dCBbXCMxMl0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL3B1bGwvMTIpIChbdG9i
aWVdKGh0dHBzOi8vZ2l0aHViLmNvbS90b2JpZSkpCi0tIFJlbW92ZSBicm9rZW4gY292ZXJhZ2Ug
c3VwcG9ydCBmcm9tIHRyYXZpcyBmb3Igbm93LiBbXCMxMV0oaHR0cHM6Ly9naXRodWIuY29tL3cz
Yy93ZWJpZGwyLmpzL3B1bGwvMTEpIChbdG9iaWVdKGh0dHBzOi8vZ2l0aHViLmNvbS90b2JpZSkp
Ci0tIEFkZCBzdXBwb3J0IGZvciBcW01hcENsYXNzXCh0eXBlLCB0eXBlXClcXS4gW1wjMTBdKGh0
dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9wdWxsLzEwKSAoW3RvYmllXShodHRwczov
L2dpdGh1Yi5jb20vdG9iaWUpKQotLSBJbmNvcnBvcmF0ZSB0ZXN0cyBmcm9tIHdpZGxwcm9jXFsx
XF0gYW5kIHJlbW92ZSBkZXBlbmRlbmN5IG9uIHNhaWQgcHJvamVjdC4gW1wjOV0oaHR0cHM6Ly9n
aXRodWIuY29tL3czYy93ZWJpZGwyLmpzL3B1bGwvOSkgKFt0b2JpZV0oaHR0cHM6Ly9naXRodWIu
Y29tL3RvYmllKSkKLS0gUkVBRE1FIGluY29ycmVjdGx5IHJlY29tbWVuZGVkIHVwZGF0aW5nIHRo
ZSB3aWRscHJvYyBzdWJtb2R1bGUuIFtcIzhdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRs
Mi5qcy9wdWxsLzgpIChbdG9iaWVdKGh0dHBzOi8vZ2l0aHViLmNvbS90b2JpZSkpCi0tIEZpeCBi
dWcgd2hlcmUgaW5zdHJ1bWVudGVkIHZlcnNpb24gb2Ygd2ViaWRsMiB3YXMgbG9hZGVkLiBbXCM2
XShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvcHVsbC82KSAoW3RvYmllXShodHRw
czovL2dpdGh1Yi5jb20vdG9iaWUpKQotLSBVc2UgaHR0cHM6Ly8gaW5zdGVhZCBvZiBnaXQ6Ly8g
W1wjNF0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL3B1bGwvNCkgKFtNYW5pc2hl
YXJ0aF0oaHR0cHM6Ly9naXRodWIuY29tL01hbmlzaGVhcnRoKSkKLQotCi0KLVwqICpUaGlzIENo
YW5nZSBMb2cgd2FzIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGJ5IFtnaXRodWJfY2hhbmdlbG9n
X2dlbmVyYXRvcl0oaHR0cHM6Ly9naXRodWIuY29tL3NreXdpbmRlci9HaXRodWItQ2hhbmdlbG9n
LUdlbmVyYXRvcikqClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi9MSUNFTlNFIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi9MSUNFTlNFCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBm
ZDIxZDQzOWIwOWE4ZDA4ZDE1NjI1NTNlNDZiOWM5OTNjNDZjMTAzLi4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvTElDRU5TRQorKysgL2Rldi9udWxs
CkBAIC0xLDIxICswLDAgQEAKLVRoZSBNSVQgTGljZW5zZSAoTUlUKQotCi1Db3B5cmlnaHQgKGMp
IDIwMTQgUm9iaW4gQmVyam9uCi0KLVBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUg
b2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHkKLW9mIHRoaXMgc29mdHdh
cmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlICJTb2Z0d2FyZSIpLCB0
byBkZWFsCi1pbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdp
dGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzCi10byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2Us
IHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsCi1jb3BpZXMgb2Yg
dGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUg
aXMKLWZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnM6Ci0KLVRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90
aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbAotY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRp
b25zIG9mIHRoZSBTb2Z0d2FyZS4KLQotVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIs
IFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1IKLUlNUExJRUQsIElOQ0xV
RElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
LAotRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4g
SU4gTk8gRVZFTlQgU0hBTEwgVEhFCi1BVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJ
QUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSCi1MSUFCSUxJVFksIFdIRVRIRVIg
SU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9N
LAotT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBP
UiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKLVNPRlRXQVJFLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi9SRUFE
TUUubWQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL1JFQURNRS5tZApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWE4
ZjNmOGU5YzFkZmJlODk3ZThhNmQ4MjY3Y2Y4OWVjMDBjYjIwYS4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL1JFQURNRS5tZAorKysgL2Rldi9udWxs
CkBAIC0xLDYyOSArMCwwIEBACi0KLSMgV2ViSURMIDIKLQotWyFbTlBNIHZlcnNpb25dKGh0dHBz
Oi8vYmFkZ2UuZnVyeS5pby9qcy93ZWJpZGwyLnN2ZyldKGh0dHA6Ly9iYWRnZS5mdXJ5LmlvL2pz
L3dlYmlkbDIpCi0KLSMjIFB1cnBvc2UKLQotVGhpcyBpcyBhIHBhcnNlciBmb3IgdGhlIFtXZWJJ
RExdKGh0dHA6Ly9kZXYudzMub3JnLzIwMDYvd2ViYXBpL1dlYklETC8pIGxhbmd1YWdlLiBJZgot
eW91IGRvbid0IGtub3cgd2hhdCB0aGF0IGlzLCB0aGVuIHlvdSBwcm9iYWJseSBkb24ndCBuZWVk
IGl0LiBJdCBpcyBtZWFudCB0byBiZSB1c2VkCi1ib3RoIGluIE5vZGUgYW5kIGluIHRoZSBicm93
c2VyICh0aGUgcGFyc2VyIGxpa2VseSB3b3JrcyBpbiBvdGhlciBKUyBlbnZpcm9ubWVudHMsIGJ1
dAotbm90IHRoZSB0ZXN0IHN1aXRlKS4KLQotIyMgSW5zdGFsbGF0aW9uCi0KLUp1c3QgdGhlIHVz
dWFsLiBGb3IgTm9kZToKLQotYGBgQmFzaAotbnBtIGluc3RhbGwgd2ViaWRsMgotYGBgCi0KLUlu
IHRoZSBicm93c2VyOgotCi1gYGBIVE1MCi08c2NyaXB0IHNyYz0nd2ViaWRsMi5qcyc+PC9zY3Jp
cHQ+Ci1gYGAKLQotIyMgRG9jdW1lbnRhdGlvbgotCi1UaGUgQVBJIHRvIFdlYklETDIgaXMgdHJp
dmlhbDogeW91IHBhcnNlIGEgc3RyaW5nIG9mIFdlYklETCBhbmQgaXQgcmV0dXJucyBhIHN5bnRh
eCB0cmVlLgotCi0jIyMgUGFyc2luZwotCi1JbiBOb2RlLCB0aGF0IGhhcHBlbnMgd2l0aDoKLQot
YGBgSlMKLXZhciBXZWJJREwyID0gcmVxdWlyZSgid2ViaWRsMiIpOwotdmFyIHRyZWUgPSBXZWJJ
REwyLnBhcnNlKCJzdHJpbmcgb2YgV2ViSURMIik7Ci1gYGAKLQotSW4gdGhlIGJyb3dzZXI6Ci1g
YGBIVE1MCi08c2NyaXB0IHNyYz0nd2ViaWRsMi5qcyc+PC9zY3JpcHQ+Ci08c2NyaXB0PgotICB2
YXIgdHJlZSA9IFdlYklETDIucGFyc2UoInN0cmluZyBvZiBXZWJJREwiKTsKLTwvc2NyaXB0Pgot
YGBgCi0KLSMjIyBFcnJvcnMKLQotV2hlbiB0aGVyZSBpcyBhIHN5bnRheCBlcnJvciBpbiB0aGUg
V2ViSURMLCBpdCB0aHJvd3MgYW4gZXhjZXB0aW9uIG9iamVjdCB3aXRoIHRoZSBmb2xsb3dpbmcK
LXByb3BlcnRpZXM6Ci0KLSogYG1lc3NhZ2VgOiB0aGUgZXJyb3IgbWVzc2FnZQotKiBgbGluZWA6
IHRoZSBsaW5lIGF0IHdoaWNoIHRoZSBlcnJvciBvY2N1cnJlZC4KLSogYGlucHV0YDogYSBzaG9y
dCBwZWVrIGF0IHRoZSB0ZXh0IGF0IHRoZSBwb2ludCB3aGVyZSB0aGUgZXJyb3IgaGFwcGVuZWQK
LSogYHRva2Vuc2A6IHRoZSBmaXZlIHRva2VucyBhdCB0aGUgcG9pbnQgb2YgZXJyb3IsIGFzIHVu
ZGVyc3Rvb2QgYnkgdGhlIHRva2VuaXNlcgotICAodGhpcyBpcyB0aGUgc2FtZSBjb250ZW50IGFz
IGBpbnB1dGAsIGJ1dCBzZWVuIGZyb20gdGhlIHRva2VuaXNlcidzIHBvaW50IG9mIHZpZXcpCi0K
LVRoZSBleGNlcHRpb24gYWxzbyBoYXMgYSBgdG9TdHJpbmcoKWAgbWV0aG9kIHRoYXQgaG9wZWZ1
bGx5IHNob3VsZCBwcm9kdWNlIGEgZGVjZW50Ci1lcnJvciBtZXNzYWdlLgotCi0jIyMgQVNUIChB
YnN0cmFjdCBTeW50YXggVHJlZSkKLQotVGhlIGBwYXJzZSgpYCBtZXRob2QgcmV0dXJucyBhIHRy
ZWUgb2JqZWN0IHJlcHJlc2VudGluZyB0aGUgcGFyc2UgdHJlZSBvZiB0aGUgSURMLgotQ29tbWVu
dCBhbmQgd2hpdGUgc3BhY2UgYXJlIG5vdCByZXByZXNlbnRlZCBpbiB0aGUgQVNULgotCi1UaGUg
cm9vdCBvZiB0aGlzIG9iamVjdCBpcyBhbHdheXMgYW4gYXJyYXkgb2YgZGVmaW5pdGlvbnMgKHdo
ZXJlIGRlZmluaXRpb25zIGFyZQotYW55IG9mIGludGVyZmFjZXMsIGRpY3Rpb25hcmllcywgY2Fs
bGJhY2tzLCBldGMuIOKAlCBhbnl0aGluZyB0aGF0IGNhbiBvY2N1ciBhdCB0aGUgcm9vdAotb2Yg
dGhlIElETCkuCi0KLSMjIyBJREwgVHlwZQotCi1UaGlzIHN0cnVjdHVyZSBpcyB1c2VkIGluIG1h
bnkgb3RoZXIgcGxhY2VzIChvcGVyYXRpb24gcmV0dXJuIHR5cGVzLCBhcmd1bWVudCB0eXBlcywg
ZXRjLikuCi1JdCBjYXB0dXJlcyBhIFdlYklETCB0eXBlIHdpdGggYSBudW1iZXIgb2Ygb3B0aW9u
cy4gVHlwZXMgbG9vayBsaWtlIHRoaXMgYW5kIGFyZSB0eXBpY2FsbHkKLWF0dGFjaGVkIHRvIGEg
ZmllbGQgY2FsbGVkIGBpZGxUeXBlYDoKLQotYGBgSlMKLXsKLSAgInR5cGUiOiAiYXR0cmlidXRl
LXR5cGUiLAotICAiZ2VuZXJpYyI6IG51bGwsCi0gICJpZGxUeXBlIjogInVuc2lnbmVkIHNob3J0
IiwKLSAgIm51bGxhYmxlIjogZmFsc2UsCi0gICJ1bmlvbiI6IGZhbHNlLAotICAiZXh0QXR0cnMi
OiBbLi4uXQotfQotYGBgCi0KLVdoZXJlIHRoZSBmaWVsZHMgYXJlIGFzIGZvbGxvd3M6Ci0KLSog
YHR5cGVgOiBTdHJpbmcgaW5kaWNhdGluZyB3aGVyZSB0aGlzIHR5cGUgaXMgdXNlZC4gQ2FuIGJl
IGBudWxsYCBpZiBub3QgYXBwbGljYWJsZS4KLSogYGdlbmVyaWNgOiBTdHJpbmcgaW5kaWNhdGlu
ZyB0aGUgZ2VuZXJpYyB0eXBlIChlLmcuICJQcm9taXNlIiwgInNlcXVlbmNlIikuIGBudWxsYAot
ICBvdGhlcndpc2UuCi0qIGBpZGxUeXBlYDogQ2FuIGJlIGRpZmZlcmVudCB0aGluZ3MgZGVwZW5k
aW5nIG9uIGNvbnRleHQuIEluIG1vc3QgY2FzZXMsIHRoaXMgd2lsbCBqdXN0Ci0gIGJlIGEgc3Ry
aW5nIHdpdGggdGhlIHR5cGUgbmFtZS4gQnV0IHRoZSByZWFzb24gdGhpcyBmaWVsZCBpc24ndCBj
YWxsZWQgInR5cGVOYW1lIiBpcwotICBiZWNhdXNlIGl0IGNhbiB0YWtlIG1vcmUgY29tcGxleCB2
YWx1ZXMuIElmIHRoZSB0eXBlIGlzIGEgdW5pb24sIHRoZW4gdGhpcyBjb250YWlucyBhbgotICBh
cnJheSBvZiB0aGUgdHlwZXMgaXQgdW5pdGVzLiBJZiBpdCBpcyBhIGdlbmVyaWMgdHlwZSwgaXQg
Y29udGFpbnMgdGhlIElETCB0eXBlCi0gIGRlc2NyaXB0aW9uIGZvciB0aGUgdHlwZSBpbiB0aGUg
c2VxdWVuY2UsIHRoZSBldmVudHVhbCB2YWx1ZSBvZiB0aGUgcHJvbWlzZSwgZXRjLgotKiBgbnVs
bGFibGVgOiBCb29sZWFuIGluZGljYXRpbmcgd2hldGhlciB0aGlzIGlzIG51bGxhYmxlIG9yIG5v
dC4KLSogYHVuaW9uYDogQm9vbGVhbiBpbmRpY2F0aW5nIHdoZXRoZXIgdGhpcyBpcyBhIHVuaW9u
IHR5cGUgb3Igbm90LgotKiBgZXh0QXR0cnNgOiBBIGxpc3Qgb2YgW2V4dGVuZGVkIGF0dHJpYnV0
ZXNdKCNleHRlbmRlZC1hdHRyaWJ1dGVzKS4KLQotIyMjIEludGVyZmFjZQotCi1JbnRlcmZhY2Vz
IGxvb2sgbGlrZSB0aGlzOgotCi1gYGBKUwotewotICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAi
bmFtZSI6ICJBbmltYWwiLAotICAicGFydGlhbCI6IGZhbHNlLAotICAibWVtYmVycyI6IFsuLi5d
LAotICAiaW5oZXJpdGFuY2UiOiBudWxsLAotICAiZXh0QXR0cnMiOiBbLi4uXQotfSwgewotICAi
dHlwZSI6ICJpbnRlcmZhY2UiLAotICAibmFtZSI6ICJIdW1hbiIsCi0gICJwYXJ0aWFsIjogZmFs
c2UsCi0gICJtZW1iZXJzIjogWy4uLl0sCi0gICJpbmhlcml0YW5jZSI6ICJBbmltYWwiLAotICAi
ZXh0QXR0cnMiOiBbLi4uXQotfQotYGBgCi0KLVRoZSBmaWVsZHMgYXJlIGFzIGZvbGxvd3M6Ci0K
LSogYHR5cGVgOiBBbHdheXMgImludGVyZmFjZSIuCi0qIGBuYW1lYDogVGhlIG5hbWUgb2YgdGhl
IGludGVyZmFjZS4KLSogYHBhcnRpYWxgOiBBIGJvb2xlYW4gaW5kaWNhdGluZyB3aGV0aGVyIGl0
J3MgYSBwYXJ0aWFsIGludGVyZmFjZS4KLSogYG1lbWJlcnNgOiBBbiBhcnJheSBvZiBpbnRlcmZh
Y2UgbWVtYmVycyAoYXR0cmlidXRlcywgb3BlcmF0aW9ucywgZXRjLikuIEVtcHR5IGlmIHRoZXJl
IGFyZSBub25lLgotKiBgaW5oZXJpdGFuY2VgOiBBIHN0cmluZyBnaXZpbmcgdGhlIG5hbWUgb2Yg
YW4gaW50ZXJmYWNlIHRoaXMgb25lIGluaGVyaXRzIGZyb20sIGBudWxsYCBvdGhlcndpc2UuCi0g
ICoqTk9URSoqOiBJbiB2MSB0aGlzIHdhcyBhbiBhcnJheSwgYnV0IG11bHRpcGxlIGluaGVyaXRh
bmNlIGlzIG5vIGxvbmdlciBzdXBwb3J0ZWQgc28gdGhpcyBkaWRuJ3QgbWFrZQotICBzZW5zZS4K
LSogYGV4dEF0dHJzYDogQSBsaXN0IG9mIFtleHRlbmRlZCBhdHRyaWJ1dGVzXSgjZXh0ZW5kZWQt
YXR0cmlidXRlcykuCi0KLSMjIyBJbnRlcmZhY2UgbWl4aW5zCi0KLUludGVyZmFjZXMgbWl4aW5z
IGxvb2sgbGlrZSB0aGlzOgotCi1gYGBKUwotewotICAidHlwZSI6ICJpbnRlcmZhY2UgbWl4aW4i
LAotICAibmFtZSI6ICJBbmltYWwiLAotICAicGFydGlhbCI6IGZhbHNlLAotICAibWVtYmVycyI6
IFsuLi5dLAotICAiZXh0QXR0cnMiOiBbLi4uXQotfSwgewotICAidHlwZSI6ICJpbnRlcmZhY2Ug
bWl4aW4iLAotICAibmFtZSI6ICJIdW1hbiIsCi0gICJwYXJ0aWFsIjogZmFsc2UsCi0gICJtZW1i
ZXJzIjogWy4uLl0sCi0gICJleHRBdHRycyI6IFsuLi5dCi19Ci1gYGAKLQotVGhlIGZpZWxkcyBh
cmUgYXMgZm9sbG93czoKLQotKiBgdHlwZWA6IEFsd2F5cyAiaW50ZXJmYWNlIG1peGluIi4KLSog
YG5hbWVgOiBUaGUgbmFtZSBvZiB0aGUgaW50ZXJmYWNlIG1peGluLgotKiBgcGFydGlhbGA6IEEg
Ym9vbGVhbiBpbmRpY2F0aW5nIHdoZXRoZXIgaXQncyBhIHBhcnRpYWwgaW50ZXJmYWNlIG1peGlu
LgotKiBgbWVtYmVyc2A6IEFuIGFycmF5IG9mIGludGVyZmFjZSBtZW1iZXJzIChhdHRyaWJ1dGVz
LCBvcGVyYXRpb25zLCBldGMuKS4gRW1wdHkgaWYgdGhlcmUgYXJlIG5vbmUuCi0qIGBleHRBdHRy
c2A6IEEgbGlzdCBvZiBbZXh0ZW5kZWQgYXR0cmlidXRlc10oI2V4dGVuZGVkLWF0dHJpYnV0ZXMp
LgotCi0jIyMgTmFtZXNwYWNlCi0KLU5hbWVzcGFjZXMgbG9vayBsaWtlIHRoaXM6Ci0KLWBgYEpT
Ci17Ci0gICJ0eXBlIjogIm5hbWVzcGFjZSIsCi0gICJuYW1lIjogIkNvbnNvbGUiLAotICAicGFy
dGlhbCI6IGZhbHNlLAotICAibWVtYmVycyI6IFsuLi5dLAotICAiZXh0QXR0cnMiOiBbLi4uXQot
fQotYGBgCi0KLVRoZSBmaWVsZHMgYXJlIGFzIGZvbGxvd3M6Ci0KLSogYHR5cGVgOiBBbHdheXMg
Im5hbWVzcGFjZSIuCi0qIGBuYW1lYDogVGhlIG5hbWUgb2YgdGhlIG5hbWVzcGFjZS4KLSogYHBh
cnRpYWxgOiBBIGJvb2xlYW4gaW5kaWNhdGluZyB3aGV0aGVyIGl0J3MgYSBwYXJ0aWFsIG5hbWVz
cGFjZS4KLSogYG1lbWJlcnNgOiBBbiBhcnJheSBvZiBuYW1lc3BhY2UgbWVtYmVycyAoYXR0cmli
dXRlcyBhbmQgb3BlcmF0aW9ucykuIEVtcHR5IGlmIHRoZXJlIGFyZSBub25lLgotKiBgZXh0QXR0
cnNgOiBBIGxpc3Qgb2YgW2V4dGVuZGVkIGF0dHJpYnV0ZXNdKCNleHRlbmRlZC1hdHRyaWJ1dGVz
KS4KLQotIyMjIENhbGxiYWNrIEludGVyZmFjZXMKLQotVGhlc2UgYXJlIGNhcHR1cmVkIGJ5IHRo
ZSBzYW1lIHN0cnVjdHVyZSBhcyBbSW50ZXJmYWNlc10oI2ludGVyZmFjZSkgZXhjZXB0IHRoYXQK
LXRoZWlyIGB0eXBlYCBmaWVsZCBpcyAiY2FsbGJhY2sgaW50ZXJmYWNlIi4KLQotIyMjIENhbGxi
YWNrCi0KLUEgY2FsbGJhY2sgbG9va3MgbGlrZSB0aGlzOgotCi1gYGBKUwotewotICAidHlwZSI6
ICJjYWxsYmFjayIsCi0gICJuYW1lIjogIkFzeW5jT3BlcmF0aW9uQ2FsbGJhY2siLAotICAiaWRs
VHlwZSI6IHsKLSAgICAidHlwZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAgInNlcXVlbmNlIjogZmFs
c2UsCi0gICAgImdlbmVyaWMiOiBudWxsLAotICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICJ1
bmlvbiI6IGZhbHNlLAotICAgICJpZGxUeXBlIjogInZvaWQiLAotICAgICJleHRBdHRycyI6IFtd
Ci0gIH0sCi0gICJhcmd1bWVudHMiOiBbLi4uXSwKLSAgImV4dEF0dHJzIjogW10KLX0KLWBgYAot
Ci1UaGUgZmllbGRzIGFyZSBhcyBmb2xsb3dzOgotCi0qIGB0eXBlYDogQWx3YXlzICJjYWxsYmFj
ayIuCi0qIGBuYW1lYDogVGhlIG5hbWUgb2YgdGhlIGNhbGxiYWNrLgotKiBgaWRsVHlwZWA6IEFu
IFtJREwgVHlwZV0oI2lkbC10eXBlKSBkZXNjcmliaW5nIHdoYXQgdGhlIGNhbGxiYWNrIHJldHVy
bnMuCi0qIGBhcmd1bWVudHNgOiBBIGxpc3Qgb2YgW2FyZ3VtZW50c10oI2FyZ3VtZW50cyksIGFz
IGluIGZ1bmN0aW9uIHBhcmFtdGVycy4KLSogYGV4dEF0dHJzYDogQSBsaXN0IG9mIFtleHRlbmRl
ZCBhdHRyaWJ1dGVzXSgjZXh0ZW5kZWQtYXR0cmlidXRlcykuCi0KLSMjIyBEaWN0aW9uYXJ5Ci0K
LUEgZGljdGlvbmFyeSBsb29rcyBsaWtlIHRoaXM6Ci0KLWBgYEpTCi17Ci0gICJ0eXBlIjogImRp
Y3Rpb25hcnkiLAotICAibmFtZSI6ICJQYWludE9wdGlvbnMiLAotICAicGFydGlhbCI6IGZhbHNl
LAotICAibWVtYmVycyI6IFt7Ci0gICAgInR5cGUiOiAiZmllbGQiLAotICAgICJuYW1lIjogImZp
bGxQYXR0ZXJuIiwKLSAgICAicmVxdWlyZWQiOiBmYWxzZSwKLSAgICAiaWRsVHlwZSI6IHsKLSAg
ICAgICJ0eXBlIjogImRpY3Rpb25hcnktdHlwZSIsCi0gICAgICAic2VxdWVuY2UiOiBmYWxzZSwK
LSAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICJudWxsYWJsZSI6IHRydWUsCi0gICAgICAi
dW5pb24iOiBmYWxzZSwKLSAgICAgICJpZGxUeXBlIjogIkRPTVN0cmluZyIsCi0gICAgICAiZXh0
QXR0cnMiOiBbLi4uXQotICAgIH0sCi0gICAgImV4dEF0dHJzIjogW10sCi0gICAgImRlZmF1bHQi
OiB7Ci0gICAgICAidHlwZSI6ICJzdHJpbmciLAotICAgICAgInZhbHVlIjogImJsYWNrIgotICAg
IH0KLSAgfV0sCi0gICJpbmhlcml0YW5jZSI6IG51bGwsCi0gICJleHRBdHRycyI6IFtdCi19Ci1g
YGAKLQotVGhlIGZpZWxkcyBhcmUgYXMgZm9sbG93czoKLQotKiBgdHlwZWA6IEFsd2F5cyAiZGlj
dGlvbmFyeSIuCi0qIGBuYW1lYDogVGhlIGRpY3Rpb25hcnkgbmFtZS4KLSogYHBhcnRpYWxgOiBC
b29sZWFuIGluZGljYXRpbmcgd2hldGhlciBpdCdzIGEgcGFydGlhbCBkaWN0aW9uYXJ5LgotKiBg
bWVtYmVyc2A6IEFuIGFycmF5IG9mIG1lbWJlcnMgKHNlZSBiZWxvdykuCi0qIGBpbmhlcml0YW5j
ZWA6IEEgc3RyaW5nIGluZGljYXRpbmcgd2hpY2ggZGljdGlvbmFyeSBpcyBiZWluZyBpbmhlcml0
ZWQgZnJvbSwgYG51bGxgIG90aGVyd2lzZS4KLSogYGV4dEF0dHJzYDogQSBsaXN0IG9mIFtleHRl
bmRlZCBhdHRyaWJ1dGVzXSgjZXh0ZW5kZWQtYXR0cmlidXRlcykuCi0KLUFsbCB0aGUgbWVtYmVy
cyBhcmUgZmllbGRzIGFzIGZvbGxvd3M6Ci0KLSogYHR5cGVgOiBBbHdheXMgImZpZWxkIi4KLSog
YG5hbWVgOiBUaGUgbmFtZSBvZiB0aGUgZmllbGQuCi0qIGByZXF1aXJlZGA6IEJvb2xlYW4gaW5k
aWNhdGluZyB3aGV0aGVyIHRoaXMgaXMgYSBbcmVxdWlyZWRdKGh0dHBzOi8vaGV5Y2FtLmdpdGh1
Yi5pby93ZWJpZGwvI3JlcXVpcmVkLWRpY3Rpb25hcnktbWVtYmVyKSBmaWVsZC4KLSogYGlkbFR5
cGVgOiBBbiBbSURMIFR5cGVdKCNpZGwtdHlwZSkgZGVzY3JpYmluZyB3aGF0IGZpZWxkJ3MgdHlw
ZS4KLSogYGV4dEF0dHJzYDogQSBsaXN0IG9mIFtleHRlbmRlZCBhdHRyaWJ1dGVzXSgjZXh0ZW5k
ZWQtYXR0cmlidXRlcykuCi0qIGBkZWZhdWx0YDogQSBbZGVmYXVsdCB2YWx1ZV0oI2RlZmF1bHQt
YW5kLWNvbnN0LXZhbHVlcyksIGFic2VudCBpZiB0aGVyZSBpcyBub25lLgotCi0jIyMgRW51bQot
Ci1BbiBlbnVtIGxvb2tzIGxpa2UgdGhpczoKLQotYGBgSlMKLXsKLSAgInR5cGUiOiAiZW51bSIs
Ci0gICJuYW1lIjogIk1lYWxUeXBlIiwKLSAgInZhbHVlcyI6IFsKLSAgICB7ICJ0eXBlIjogInN0
cmluZyIsICJ2YWx1ZSI6ICJyaWNlIiB9LAotICAgIHsgInR5cGUiOiAic3RyaW5nIiwgInZhbHVl
IjogIm5vb2RsZXMiIH0sCi0gICAgeyAidHlwZSI6ICJzdHJpbmciLCAidmFsdWUiOiAib3RoZXIi
IH0KLSAgXSwKLSAgImV4dEF0dHJzIjogW10KLX0KLWBgYAotCi1UaGUgZmllbGRzIGFyZSBhcyBm
b2xsb3dzOgotCi0qIGB0eXBlYDogQWx3YXlzICJlbnVtIi4KLSogYG5hbWVgOiBUaGUgZW51bSdz
IG5hbWUuCi0qIGB2YWx1ZXNgOiBBbiBhcnJheSBvZiB2YWx1ZXMuCi0qIGBleHRBdHRyc2A6IEEg
bGlzdCBvZiBbZXh0ZW5kZWQgYXR0cmlidXRlc10oI2V4dGVuZGVkLWF0dHJpYnV0ZXMpLgotCi0j
IyMgVHlwZWRlZgotCi1BIHR5cGVkZWYgbG9va3MgbGlrZSB0aGlzOgotCi1gYGBKUwotewotICAi
dHlwZSI6ICJ0eXBlZGVmIiwKLSAgImlkbFR5cGUiOiB7Ci0gICAgInR5cGUiOiAidHlwZWRlZi10
eXBlIiwKLSAgICAic2VxdWVuY2UiOiB0cnVlLAotICAgICJnZW5lcmljIjogInNlcXVlbmNlIiwK
LSAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAidW5pb24iOiBmYWxzZSwKLSAgICAiaWRsVHlw
ZSI6IHsKLSAgICAgICJ0eXBlIjogInR5cGVkZWYtdHlwZSIsCi0gICAgICAic2VxdWVuY2UiOiBm
YWxzZSwKLSAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICJudWxsYWJsZSI6IGZhbHNlLAot
ICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAiaWRsVHlwZSI6ICJQb2ludCIsCi0gICAgICAi
ZXh0QXR0cnMiOiBbLi4uXQotICAgIH0sCi0gICAgImV4dEF0dHJzIjogWy4uLl0KLSAgfSwKLSAg
Im5hbWUiOiAiUG9pbnRTZXF1ZW5jZSIsCi0gICJleHRBdHRycyI6IFtdCi19Ci1gYGAKLQotCi1U
aGUgZmllbGRzIGFyZSBhcyBmb2xsb3dzOgotCi0qIGB0eXBlYDogQWx3YXlzICJ0eXBlZGVmIi4K
LSogYG5hbWVgOiBUaGUgdHlwZWRlZidzIG5hbWUuCi0qIGBpZGxUeXBlYDogQW4gW0lETCBUeXBl
XSgjaWRsLXR5cGUpIGRlc2NyaWJpbmcgd2hhdCB0eXBlZGVmJ3MgdHlwZS4KLSogYGV4dEF0dHJz
YDogQSBsaXN0IG9mIFtleHRlbmRlZCBhdHRyaWJ1dGVzXSgjZXh0ZW5kZWQtYXR0cmlidXRlcyku
Ci0KLSMjIyBJbXBsZW1lbnRzCi0KLUFuIGltcGxlbWVudHMgZGVmaW5pdGlvbiBsb29rcyBsaWtl
IHRoaXM6Ci0KLWBgYEpTCi17Ci0gICJ0eXBlIjogImltcGxlbWVudHMiLAotICAidGFyZ2V0Ijog
Ik5vZGUiLAotICAiaW1wbGVtZW50cyI6ICJFdmVudFRhcmdldCIsCi0gICJleHRBdHRycyI6IFtd
Ci19Ci1gYGAKLQotVGhlIGZpZWxkcyBhcmUgYXMgZm9sbG93czoKLQotKiBgdHlwZWA6IEFsd2F5
cyAiaW1wbGVtZW50cyIuCi0qIGB0YXJnZXRgOiBUaGUgaW50ZXJmYWNlIHRoYXQgaW1wbGVtZW50
cyBhbm90aGVyLgotKiBgaW1wbGVtZW50c2A6IFRoZSBpbnRlcmZhY2UgdGhhdCBpcyBiZWluZyBp
bXBsZW1lbnRlZCBieSB0aGUgdGFyZ2V0LgotKiBgZXh0QXR0cnNgOiBBIGxpc3Qgb2YgW2V4dGVu
ZGVkIGF0dHJpYnV0ZXNdKCNleHRlbmRlZC1hdHRyaWJ1dGVzKS4KLQotIyMjIEluY2x1ZGVzCi0K
LUFuIGluY2x1ZGVzIGRlZmluaXRpb24gbG9va3MgbGlrZSB0aGlzOgotCi1gYGBKUwotewotICAi
dHlwZSI6ICJpbmNsdWRlcyIsCi0gICJ0YXJnZXQiOiAiTm9kZSIsCi0gICJpbmNsdWRlcyI6ICJF
dmVudFRhcmdldCIsCi0gICJleHRBdHRycyI6IFtdCi19Ci1gYGAKLQotVGhlIGZpZWxkcyBhcmUg
YXMgZm9sbG93czoKLQotKiBgdHlwZWA6IEFsd2F5cyAiaW5jbHVkZXMiLgotKiBgdGFyZ2V0YDog
VGhlIGludGVyZmFjZSB0aGF0IGluY2x1ZGVzIGFuIGludGVyZmFjZSBtaXhpbi4KLSogYGluY2x1
ZGVzYDogVGhlIGludGVyZmFjZSBtaXhpbiB0aGF0IGlzIGJlaW5nIGluY2x1ZGVkIGJ5IHRoZSB0
YXJnZXQuCi0qIGBleHRBdHRyc2A6IEEgbGlzdCBvZiBbZXh0ZW5kZWQgYXR0cmlidXRlc10oI2V4
dGVuZGVkLWF0dHJpYnV0ZXMpLgotCi0jIyMgT3BlcmF0aW9uIE1lbWJlcgotCi1BbiBvcGVyYXRp
b24gbG9va3MgbGlrZSB0aGlzOgotYGBgSlMKLXsKLSAgInR5cGUiOiAib3BlcmF0aW9uIiwKLSAg
ImdldHRlciI6IGZhbHNlLAotICAic2V0dGVyIjogZmFsc2UsCi0gICJkZWxldGVyIjogZmFsc2Us
Ci0gICJzdGF0aWMiOiBmYWxzZSwKLSAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICJpZGxUeXBl
IjogewotICAgICJ0eXBlIjogInJldHVybi10eXBlIiwKLSAgICAic2VxdWVuY2UiOiBmYWxzZSwK
LSAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgInVuaW9u
IjogZmFsc2UsCi0gICAgImlkbFR5cGUiOiAidm9pZCIsCi0gICAgImV4dEF0dHJzIjogW10KLSAg
fSwKLSAgIm5hbWUiOiAiaW50ZXJzZWN0aW9uIiwKLSAgImFyZ3VtZW50cyI6IFt7Ci0gICAgIm9w
dGlvbmFsIjogZmFsc2UsCi0gICAgInZhcmlhZGljIjogdHJ1ZSwKLSAgICAiZXh0QXR0cnMiOiBb
XSwKLSAgICAiaWRsVHlwZSI6IHsKLSAgICAgICJ0eXBlIjogImFyZ3VtZW50LXR5cGUiLAotICAg
ICAgInNlcXVlbmNlIjogZmFsc2UsCi0gICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAibnVs
bGFibGUiOiBmYWxzZSwKLSAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgImlkbFR5cGUiOiAi
bG9uZyIsCi0gICAgICAiZXh0QXR0cnMiOiBbLi4uXQotICAgIH0sCi0gICAgIm5hbWUiOiAiaW50
cyIKLSAgfV0sCi0gICJleHRBdHRycyI6IFtdCi19Ci1gYGAKLQotVGhlIGZpZWxkcyBhcmUgYXMg
Zm9sbG93czoKLQotKiBgdHlwZWA6IEFsd2F5cyAib3BlcmF0aW9uIi4KLSogYGdldHRlcmA6IFRy
dWUgaWYgYSBnZXR0ZXIgb3BlcmF0aW9uLgotKiBgc2V0dGVyYDogVHJ1ZSBpZiBhIHNldHRlciBv
cGVyYXRpb24uCi0qIGBkZWxldGVyYDogVHJ1ZSBpZiBhIGRlbGV0ZXIgb3BlcmF0aW9uLgotKiBg
c3RhdGljYDogVHJ1ZSBpZiBhIHN0YXRpYyBvcGVyYXRpb24uCi0qIGBzdHJpbmdpZmllcmA6IFRy
dWUgaWYgYSBzdHJpbmdpZmllciBvcGVyYXRpb24uCi0qIGBpZGxUeXBlYDogQW4gW0lETCBUeXBl
XSgjaWRsLXR5cGUpIG9mIHdoYXQgdGhlIG9wZXJhdGlvbiByZXR1cm5zLiBJZiBhIHN0cmluZ2lm
aWVyLCBtYXkgYmUgYWJzZW50LgotKiBgbmFtZWA6IFRoZSBuYW1lIG9mIHRoZSBvcGVyYXRpb24u
IElmIGEgc3RyaW5naWZpZXIsIG1heSBiZSBgbnVsbGAuCi0qIGBhcmd1bWVudHNgOiBBbiBhcnJh
eSBvZiBbYXJndW1lbnRzXSgjYXJndW1lbnRzKSBmb3IgdGhlIG9wZXJhdGlvbi4KLSogYGV4dEF0
dHJzYDogQSBsaXN0IG9mIFtleHRlbmRlZCBhdHRyaWJ1dGVzXSgjZXh0ZW5kZWQtYXR0cmlidXRl
cykuCi0KLSMjIyBBdHRyaWJ1dGUgTWVtYmVyCi0KLUFuIGF0dHJpYnV0ZSBtZW1iZXIgbG9va3Mg
bGlrZSB0aGlzOgotCi1gYGBKUwotewotICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAic3RhdGlj
IjogZmFsc2UsCi0gICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAiaW5oZXJpdCI6IGZhbHNlLAot
ICAicmVhZG9ubHkiOiBmYWxzZSwKLSAgImlkbFR5cGUiOiB7Ci0gICAgInR5cGUiOiAiYXR0cmli
dXRlLXR5cGUiLAotICAgICJzZXF1ZW5jZSI6IGZhbHNlLAotICAgICJnZW5lcmljIjogbnVsbCwK
LSAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAidW5pb24iOiBmYWxzZSwKLSAgICAiaWRsVHlw
ZSI6ICJSZWdFeHAiLAotICAgICJleHRBdHRycyI6IFsuLi5dCi0gIH0sCi0gICJuYW1lIjogInJl
Z2V4cCIsCi0gICJleHRBdHRycyI6IFtdCi19Ci1gYGAKLQotVGhlIGZpZWxkcyBhcmUgYXMgZm9s
bG93czoKLQotKiBgdHlwZWA6IEFsd2F5cyAiYXR0cmlidXRlIi4KLSogYG5hbWVgOiBUaGUgYXR0
cmlidXRlJ3MgbmFtZS4KLSogYHN0YXRpY2A6IFRydWUgaWYgaXQncyBhIHN0YXRpYyBhdHRyaWJ1
dGUuCi0qIGBzdHJpbmdpZmllcmA6IFRydWUgaWYgaXQncyBhIHN0cmluZ2lmaWVyIGF0dHJpYnV0
ZS4KLSogYGluaGVyaXRgOiBUcnVlIGlmIGl0J3MgYW4gaW5oZXJpdCBhdHRyaWJ1dGUuCi0qIGBy
ZWFkb25seWA6IFRydWUgaWYgaXQncyBhIHJlYWQtb25seSBhdHRyaWJ1dGUuCi0qIGBpZGxUeXBl
YDogQW4gW0lETCBUeXBlXSgjaWRsLXR5cGUpIGZvciB0aGUgYXR0cmlidXRlLgotKiBgZXh0QXR0
cnNgOiBBIGxpc3Qgb2YgW2V4dGVuZGVkIGF0dHJpYnV0ZXNdKCNleHRlbmRlZC1hdHRyaWJ1dGVz
KS4KLQotIyMjIENvbnN0YW50IE1lbWJlcgotCi1BIGNvbnN0YW50IG1lbWJlciBsb29rcyBsaWtl
IHRoaXM6Ci0KLWBgYEpTCi17Ci0gICJ0eXBlIjogImNvbnN0IiwKLSAgIm51bGxhYmxlIjogZmFs
c2UsCi0gICJpZGxUeXBlIjogewotICAgICJ0eXBlIjogImNvbnN0LXR5cGUiLAotICAgICJzZXF1
ZW5jZSI6IGZhbHNlLAotICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAibnVsbGFibGUiOiBmYWxz
ZSwKLSAgICAidW5pb24iOiBmYWxzZSwKLSAgICAiaWRsVHlwZSI6ICJib29sZWFuIgotICAgICJl
eHRBdHRycyI6IFtdCi0gIH0sCi0gICJuYW1lIjogIkRFQlVHIiwKLSAgInZhbHVlIjogewotICAg
ICJ0eXBlIjogImJvb2xlYW4iLAotICAgICJ2YWx1ZSI6IGZhbHNlCi0gIH0sCi0gICJleHRBdHRy
cyI6IFtdCi19Ci1gYGAKLQotVGhlIGZpZWxkcyBhcmUgYXMgZm9sbG93czoKLQotKiBgdHlwZWA6
IEFsd2F5cyAiY29uc3QiLgotKiBgbnVsbGFibGVgOiBXaGV0aGVyIGl0cyB0eXBlIGlzIG51bGxh
YmxlLgotKiBgaWRsVHlwZWA6IEFuIFtJREwgVHlwZV0oI2lkbC10eXBlKSBvZiB0aGUgY29uc3Rh
bnQgdGhhdCByZXByZXNlbnRzIGEgc2ltcGxlIHR5cGUsIHRoZSB0eXBlIG5hbWUuCi0qIGBuYW1l
YDogVGhlIG5hbWUgb2YgdGhlIGNvbnN0YW50LgotKiBgdmFsdWVgOiBUaGUgY29uc3RhbnQgdmFs
dWUgYXMgZGVzY3JpYmVkIGJ5IFtDb25zdCBWYWx1ZXNdKCNkZWZhdWx0LWFuZC1jb25zdC12YWx1
ZXMpCi0qIGBleHRBdHRyc2A6IEEgbGlzdCBvZiBbZXh0ZW5kZWQgYXR0cmlidXRlc10oI2V4dGVu
ZGVkLWF0dHJpYnV0ZXMpLgotCi0jIyMgQXJndW1lbnRzCi0KLVRoZSBhcmd1bWVudHMgKGUuZy4g
Zm9yIGFuIG9wZXJhdGlvbikgbG9vayBsaWtlIHRoaXM6Ci0KLWBgYEpTCi17Ci0gICJhcmd1bWVu
dHMiOiBbewotICAgICJvcHRpb25hbCI6IGZhbHNlLAotICAgICJ2YXJpYWRpYyI6IHRydWUsCi0g
ICAgImV4dEF0dHJzIjogW10sCi0gICAgImlkbFR5cGUiOiB7Ci0gICAgICAidHlwZSI6ICJhcmd1
bWVudC10eXBlIiwKLSAgICAgICJzZXF1ZW5jZSI6IGZhbHNlLAotICAgICAgImdlbmVyaWMiOiBu
dWxsLAotICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAidW5pb24iOiBmYWxzZSwKLSAg
ICAgICJpZGxUeXBlIjogImxvbmciLAotICAgICAgImV4dEF0dHJzIjogWy4uLl0KLSAgICB9LAot
ICAgICJuYW1lIjogImludHMiCi0gIH1dCi19Ci1gYGAKLQotVGhlIGZpZWxkcyBhcmUgYXMgZm9s
bG93czoKLQotKiBgb3B0aW9uYWxgOiBUcnVlIGlmIHRoZSBhcmd1bWVudCBpcyBvcHRpb25hbC4K
LSogYHZhcmlhZGljYDogVHJ1ZSBpZiB0aGUgYXJndW1lbnQgaXMgdmFyaWFkaWMuCi0qIGBpZGxU
eXBlYDogQW4gW0lETCBUeXBlXSgjaWRsLXR5cGUpIGRlc2NyaWJpbmcgdGhlIHR5cGUgb2YgdGhl
IGFyZ3VtZW50LgotKiBgbmFtZWA6IFRoZSBhcmd1bWVudCdzIG5hbWUuCi0qIGBleHRBdHRyc2A6
IEEgbGlzdCBvZiBbZXh0ZW5kZWQgYXR0cmlidXRlc10oI2V4dGVuZGVkLWF0dHJpYnV0ZXMpLgot
Ci0jIyMgRXh0ZW5kZWQgQXR0cmlidXRlcwotCi1FeHRlbmRlZCBhdHRyaWJ1dGVzIGFyZSBhcnJh
eXMgb2YgaXRlbXMgdGhhdCBsb29rIGxpa2UgdGhpczoKLQotYGBgSlMKLXsKLSAgImV4dEF0dHJz
IjogW3sKLSAgICAibmFtZSI6ICJUcmVhdE51bGxBcyIsCi0gICAgImFyZ3VtZW50cyI6IG51bGws
Ci0gICAgInR5cGUiOiAiZXh0ZW5kZWQtYXR0cmlidXRlIiwKLSAgICAicmhzIjogewotICAgICAg
InR5cGUiOiAiaWRlbnRpZmllciIsCi0gICAgICAidmFsdWUiOiAiRW1wdHlTdHJpbmciCi0gICAg
fQotICB9XQotfQotYGBgCi0KLVRoZSBmaWVsZHMgYXJlIGFzIGZvbGxvd3M6Ci0KLSogYG5hbWVg
OiBUaGUgZXh0ZW5kZWQgYXR0cmlidXRlJ3MgbmFtZS4KLSogYGFyZ3VtZW50c2A6IElmIHRoZSBl
eHRlbmRlZCBhdHRyaWJ1dGUgdGFrZXMgYXJndW1lbnRzIChlLmcuIGBbRm9vKCldYCkgb3IgaWYK
LSAgaXRzIHJpZ2h0LWhhbmQgc2lkZSBkb2VzIChlLmcuIGBbTmFtZWRDb25zdHJ1Y3Rvcj1OYW1l
KERPTVN0cmluZyBibGFoKV1gKSB0aGV5Ci0gIGFyZSBsaXN0ZWQgaGVyZS4gTm90ZSB0aGF0IGFu
IGVtcHR5IGFyZ3VtZW50cyBsaXN0IHdpbGwgcHJvZHVjZSBhbiBlbXB0eSBhcnJheSwKLSAgd2hl
cmVhcyB0aGUgbGFjayB0aGVyZW9mIHdpbGwgeWllbGQgYSBgbnVsbGAuIElmIHRoZXJlIGlzIGFu
IGByaHNgIGZpZWxkIHRoZW4KLSAgdGhleSBhcmUgdGhlIHJpZ2h0LWhhbmQgc2lkZSdzIGFyZ3Vt
ZW50cywgb3RoZXJ3aXNlIHRoZXkgYXBwbHkgdG8gdGhlIGV4dGVuZGVkCi0gIGF0dHJpYnV0ZSBk
aXJlY3RseS4KLSogYHR5cGVgOiBBbHdheXMgYCJleHRlbmRlZC1hdHRyaWJ1dGUiYC4KLSogYHJo
c2A6IElmIHRoZXJlIGlzIGEgcmlnaHQtaGFuZCBzaWRlLCB0aGlzIHdpbGwgY2FwdHVyZSBpdHMg
YHR5cGVgICh3aGljaCBjYW4gYmUKLSAgImlkZW50aWZpZXIiIG9yICJpZGVudGlmaWVyLWxpc3Qi
KSBhbmQgaXRzIGB2YWx1ZWAuCi0KLSMjIyBEZWZhdWx0IGFuZCBDb25zdCBWYWx1ZXMKLQotRGlj
dGlvbmFyeSBmaWVsZHMgYW5kIG9wZXJhdGlvbiBhcmd1bWVudHMgY2FuIHRha2UgZGVmYXVsdCB2
YWx1ZXMsIGFuZCBjb25zdGFudHMgdGFrZQotdmFsdWVzLCBhbGwgb2Ygd2hpY2ggaGF2ZSB0aGUg
Zm9sbG93aW5nIGZpZWxkczoKLQotKiBgdHlwZWA6IE9uZSBvZiBzdHJpbmcsIG51bWJlciwgYm9v
bGVhbiwgbnVsbCwgSW5maW5pdHksIE5hTiwgb3Igc2VxdWVuY2UuCi0KLUZvciBzdHJpbmcsIG51
bWJlciwgYm9vbGVhbiwgYW5kIHNlcXVlbmNlOgotCi0qIGB2YWx1ZWA6IFRoZSB2YWx1ZSBvZiB0
aGUgZ2l2ZW4gdHlwZSwgYXMgYSBzdHJpbmcuIEZvciBzZXF1ZW5jZSwgdGhlIG9ubHkgcG9zc2li
bGUgdmFsdWUgaXMgYFtdYC4KLQotRm9yIEluZmluaXR5OgotCi0qIGBuZWdhdGl2ZWA6IEJvb2xl
YW4gaW5kaWNhdGluZyB3aGV0aGVyIHRoaXMgaXMgbmVnYXRpdmUgSW5maW5pdHkgb3Igbm90Lgot
Ci0jIyMgYGl0ZXJhYmxlPD5gLCBgbGVnYWN5aXRlcmFibGU8PmAsIGBtYXBsaWtlPD5gLCBgc2V0
bGlrZTw+YCBkZWNsYXJhdGlvbnMKLQotVGhlc2UgYXBwZWFyIGFzIG1lbWJlcnMgb2YgaW50ZXJm
YWNlcyB0aGF0IGxvb2sgbGlrZSB0aGlzOgotCi1gYGBKUwotewotICAidHlwZSI6ICJtYXBsaWtl
IiwgLy8gb3IgImxlZ2FjeWl0ZXJhYmxlIiAvICJpdGVyYWJsZSIgLyAic2V0bGlrZSIKLSAgImlk
bFR5cGUiOiAvKiBPbmUgb3IgdHdvIHR5cGVzICovICwKLSAgInJlYWRvbmx5IjogZmFsc2UsIC8v
IG9ubHkgZm9yIG1hcGxpa2UgYW5kIHNldGxpa2UKLSAgImV4dEF0dHJzIjogW10KLX0KLWBgYAot
Ci1UaGUgZmllbGRzIGFyZSBhcyBmb2xsb3dzOgotCi0qIGB0eXBlYDogQWx3YXlzIG9uZSBvZiAi
aXRlcmFibGUiLCAibGVnYWN5aXRlcmFibGUiLCAibWFwbGlrZSIgb3IgInNldGxpa2UiLgotKiBg
aWRsVHlwZWA6IEFuIGFycmF5IHdpdGggb25lIG9yIG1vcmUgW0lETCBUeXBlc10oI2lkbC10eXBl
KSByZXByZXNlbnRpbmcgdGhlIGRlY2xhcmVkIHR5cGUgYXJndW1lbnRzLgotKiBgcmVhZG9ubHlg
OiBXaGV0aGVyIHRoZSBtYXBsaWtlIG9yIHNldGxpa2UgaXMgZGVjbGFyZWQgYXMgcmVhZCBvbmx5
LgotKiBgZXh0QXR0cnNgOiBBIGxpc3Qgb2YgW2V4dGVuZGVkIGF0dHJpYnV0ZXNdKCNleHRlbmRl
ZC1hdHRyaWJ1dGVzKS4KLQotCi0jIyBUZXN0aW5nCi0KLSMjIyBSdW5uaW5nCi0KLVRoZSB0ZXN0
IHJ1bnMgd2l0aCBtb2NoYSBhbmQgZXhwZWN0LmpzLiBOb3JtYWxseSwgcnVubmluZyBtb2NoYSBp
biB0aGUgcm9vdCBkaXJlY3RvcnkKLXNob3VsZCBiZSBlbm91Z2ggb25jZSB5b3UncmUgc2V0IHVw
LgotCi0jIyMgQ292ZXJhZ2UKLQotQ3VycmVudCB0ZXN0IGNvdmVyYWdlLCBhcyBkb2N1bWVudGVk
IGluIGBjb3ZlcmFnZS5odG1sYCwgaXMgOTUlLiBZb3UgY2FuIHJ1biB5b3VyIG93bgotY292ZXJh
Z2UgYW5hbHlzaXMgd2l0aDoKLQotYGBgQmFzaAotanNjb3ZlcmFnZSBsaWIgbGliLWNvdgotYGBg
Ci0KLVRoYXQgd2lsbCBjcmVhdGUgdGhlIGxpYi1jb3YgZGlyZWN0b3J5IHdpdGggaW5zdHJ1bWVu
dGVkIGNvZGU7IHRoZSB0ZXN0IHN1aXRlIGtub3dzCi10byB1c2UgdGhhdCBpZiBuZWVkZWQuIFlv
dSBjYW4gdGhlbiBydW4gdGhlIHRlc3RzIHdpdGg6Ci0KLWBgYEJhc2gKLUpTQ09WPTEgbW9jaGEg
LS1yZXBvcnRlciBodG1sLWNvdiA+IGNvdmVyYWdlLmh0bWwKLWBgYAotCi1Ob3RlIHRoYXQgSSd2
ZSBiZWVuIGdldHRpbmcgd2VpcmRseSBvdmVyZXNjYXBlZCByZXN1bHRzIGZyb20gdGhlIGh0bWwt
Y292IHJlcG9ydGVyLAotc28geW91IG1pZ2h0IHdpc2ggdG8gdHJ5IHRoaXMgaW5zdGVhZDoKLQot
YGBgQmFzaAotSlNDT1Y9MSBtb2NoYSAgLS1yZXBvcnRlciBodG1sLWNvdiB8IHNlZCAicy8mbHQ7
LzwvZyIgfCBzZWQgInMvJmd0Oy8+L2ciIHwgc2VkICJzLyZxdW90Oy9cIi9nIiA+IGNvdmVyYWdl
Lmh0bWwKLWBgYAotIyMjIEJyb3dzZXIgdGVzdHMKLQotSW4gb3JkZXIgdG8gdGVzdCBpbiB0aGUg
YnJvd3NlciwgZ2V0IGluc2lkZSBgdGVzdC93ZWJgIGFuZCBydW4gYG1ha2Utd2ViLXRlc3RzLmpz
YC4gVGhpcwotd2lsbCBnZW5lcmF0ZSBhIGBicm93c2VyLXRlc3RzLmh0bWxgIGZpbGUgdGhhdCB5
b3UgY2FuIG9wZW4gaW4gYSBicm93c2VyLiBBcyBvZiB0aGlzCi13cml0aW5nIHRlc3RzIHBhc3Mg
aW4gdGhlIGxhdGVzdCBGaXJlZm94LCBDaHJvbWUsIE9wZXJhLCBhbmQgU2FmYXJpLiBUZXN0aW5n
IG9uIElFCi1hbmQgb2xkZXIgdmVyc2lvbnMgd2lsbCBoYXBwZW4gcHJvZ3Jlc3NpdmVseS4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvY2hlY2tlci9pbmRleC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi9jaGVja2VyL2luZGV4Lmh0
bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDk4OTdkODU3MmYyMmEwZTY2YmE2YzQ3
MDQ2MDZkOTRmYjY2YmJhNTkuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi9jaGVja2VyL2luZGV4Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw1NSAr
MCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08dGl0bGU+V2ViSURMIDIg
Q2hlY2tlcjwvdGl0bGU+Ci0KLTxzY3JpcHQgc3JjPScuLi9saWIvd2ViaWRsMi5qcyc+PC9zY3Jp
cHQ+Ci08c2NyaXB0PgotbGV0IHBhcnNlclJlc3VsdCA9IHVuZGVmaW5lZDsKLQotZnVuY3Rpb24g
Zm9ybWF0UGFyc2VyT3V0cHV0KCkgewotICBjb25zdCBvdXRwdXRFbCA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCd3ZWJpZGwtY2hlY2tlci1vdXRwdXQnKTsKLSAgaWYgKHBhcnNlclJlc3VsdCkg
ewotICAgIGNvbnN0IHByZXR0eVByaW50RWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncHJl
dHR5LXByaW50Jyk7Ci0gICAgb3V0cHV0RWwuaW5uZXJUZXh0ID0gSlNPTi5zdHJpbmdpZnkocGFy
c2VyUmVzdWx0LCBudWxsLCBwcmV0dHlQcmludEVsLmNoZWNrZWQgPyAyIDogbnVsbCk7Ci0gIH0g
ZWxzZSB7Ci0gICAgb3V0cHV0RWwuaW5uZXJUZXh0ID0gJyc7Ci0gIH0KLX0KLQotZnVuY3Rpb24g
Y2hlY2tXZWJJREwodGV4dFRvQ2hlY2spIHsKLSAgY29uc3QgdmFsaWRhdGlvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCd3ZWJpZGwtY2hlY2tlci12YWxpZGF0aW9uJyk7Ci0gIHBhcnNlclJl
c3VsdCA9IG51bGw7Ci0gIHRyeSB7Ci0gICAgcGFyc2VyUmVzdWx0ID0gV2ViSURMMi5wYXJzZSh0
ZXh0VG9DaGVjayk7Ci0gICAgdmFsaWRhdGlvbi5pbm5lclRleHQgPSAnV2ViSURMIHBhcnNlZCBz
dWNjZXNzZnVsbHkhJzsKLSAgfSBjYXRjaCAoZSkgewotICAgIHZhbGlkYXRpb24uaW5uZXJUZXh0
ID0gJ0V4Y2VwdGlvbiB3aGlsZSBwYXJzaW5nIFdlYklETC4gU2VlIEphdmFTY3JpcHQgY29uc29s
ZSBmb3IgbW9yZSBkZXRhaWxzLlxuXG4nICsgZS50b1N0cmluZygpOwotICAgIC8vIFBhc3MgaXQg
YWxvbmcgdG8gdGhlIEphdmFTY3JpcHQgY29uc29sZS4KLSAgICB0aHJvdyBlOwotICB9IGZpbmFs
bHkgewotICAgIGZvcm1hdFBhcnNlck91dHB1dCgpOwotICB9Ci19Ci08L3NjcmlwdD4KLTxzdHls
ZT4KLXRleHRhcmVhIHsKLSAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsKLX0KLTwvc3R5bGU+Ci08
L2hlYWQ+Ci08Ym9keT4KLTxoMj5XZWJJREwgQ2hlY2tlcjwvaDI+Ci08cD5UaGlzIGlzIGFuIG9u
bGluZSBjaGVja2VyIGZvciBXZWJJREwgYnVpbHQgb24gdGhlIDxhIGhyZWY9Imh0dHBzOi8vZ2l0
aHViLmNvbS93M2Mvd2ViaWRsMi5qcyI+d2ViaWRsMi5qczwvYT4gcHJvamVjdC48L3A+Ci08cD5F
bnRlciB5b3VyIFdlYklETCB0byBjaGVjayBiZWxvdzo8L3A+Ci08dGV4dGFyZWEgaWQ9J3dlYmlk
bC10by1jaGVjaycgcm93cz0nMjAnIGNvbHM9JzgwJz48L3RleHRhcmVhPgotPGJyPgotPGlucHV0
IHR5cGU9J2J1dHRvbicgdmFsdWU9J0NoZWNrIFdlYklETCcgb25jbGljaz0nY2hlY2tXZWJJREwo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIndlYmlkbC10by1jaGVjayIpLnZhbHVlKSc+Ci08cD5W
YWxpZGF0aW9uIHJlc3VsdHM6PC9wPgotPHRleHRhcmVhIGlkPSd3ZWJpZGwtY2hlY2tlci12YWxp
ZGF0aW9uJyByb3dzPScyMCcgY29scz0nODAnPjwvdGV4dGFyZWE+Ci08cD5QYXJzZXIgb3V0cHV0
OjwvcD4KLTx0ZXh0YXJlYSBpZD0nd2ViaWRsLWNoZWNrZXItb3V0cHV0JyByb3dzPScyMCcgY29s
cz0nODAnPjwvdGV4dGFyZWE+Ci08YnI+Ci08aW5wdXQgdHlwZT0nY2hlY2tib3gnIGlkPSdwcmV0
dHktcHJpbnQnIGNoZWNrZWQ9J3RydWUnIG9uY2hhbmdlPSdmb3JtYXRQYXJzZXJPdXRwdXQoKSc+
UHJldHR5IFByaW50Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL2NoZWNrZXIv
dzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL2NoZWNrZXIvdzNjLWltcG9ydC5sb2cKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDdhZmZjMjZkOTc1MDA3ZGM2MmI5ZDMzMWUzZmMyNTdjMDA0YTll
M2MuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi9j
aGVja2VyL3czYy1pbXBvcnQubG9nCisrKyAvZGV2L251bGwKQEAgLTEsMTcgKzAsMCBAQAotVGhl
IHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9z
aXRvcnkuCi1EbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUlu
c3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKLQlodHRwczov
L2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdAotCi1UaGVuIHJ1biB0aGUgVG9vbHMv
U2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydAotCi1EbyBOT1Qg
bW9kaWZ5IG9yIHJlbW92ZSB0aGlzIGZpbGUuCi0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotUHJvcGVydGll
cyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgotTm9uZQotUHJvcGVydHkgdmFsdWVzIHJlcXVp
cmluZyB2ZW5kb3IgcHJlZml4ZXM6Ci1Ob25lCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLUxpc3Qgb2YgZmls
ZXM6Ci0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi9jaGVja2VyL2luZGV4Lmh0bWwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvY292ZXJhZ2Uu
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvY292ZXJhZ2UuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
NDZlN2VkMzI0ZWMyYzgzMmVmYzJiOWFmODBmYTdjOTA4MmY2ODY0NS4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL2NvdmVyYWdlLmh0bWwKKysrIC9k
ZXYvbnVsbApAQCAtMSwzNDEgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+PGh0bWw+PGhlYWQ+PHRp
dGxlPkNvdmVyYWdlPC90aXRsZT48c2NyaXB0PgotCi1oZWFkaW5ncyA9IFtdOwotCi1vbmxvYWQg
PSBmdW5jdGlvbigpewotICBoZWFkaW5ncyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ2gy
Jyk7Ci19OwotCi1vbnNjcm9sbCA9IGZ1bmN0aW9uKGUpewotICB2YXIgaGVhZGluZyA9IGZpbmQo
d2luZG93LnNjcm9sbFkpOwotICBpZiAoIWhlYWRpbmcpIHJldHVybjsKLSAgdmFyIGxpbmtzID0g
ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnI21lbnUgYScpCi0gICAgLCBsaW5rOwotCi0gIGZv
ciAodmFyIGkgPSAwLCBsZW4gPSBsaW5rcy5sZW5ndGg7IGkgPCBsZW47ICsraSkgewotICAgIGxp
bmsgPSBsaW5rc1tpXTsKLSAgICBsaW5rLmNsYXNzTmFtZSA9IGxpbmsuZ2V0QXR0cmlidXRlKCdo
cmVmJykgPT0gJyMnICsgaGVhZGluZy5pZAotICAgICAgPyAnYWN0aXZlJwotICAgICAgOiAnJzsK
LSAgfQotfTsKLQotZnVuY3Rpb24gZmluZCh5KSB7Ci0gIHZhciBpID0gaGVhZGluZ3MubGVuZ3Ro
Ci0gICAgLCBoZWFkaW5nOwotCi0gIHdoaWxlIChpLS0pIHsKLSAgICBoZWFkaW5nID0gaGVhZGlu
Z3NbaV07Ci0gICAgaWYgKHkgPj0gaGVhZGluZy5vZmZzZXRUb3ApIHsKLSAgICAgIHJldHVybiBo
ZWFkaW5nOwotICAgIH0KLSAgfQotfQotPC9zY3JpcHQ+Ci08c3R5bGU+Ci0KLWJvZHkgewotICBm
b250OiAxNHB4LzEuNiAiSGVsdmV0aWNhIE5ldWUiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNl
cmlmOwotICBtYXJnaW46IDA7Ci0gIGNvbG9yOiAjMkMyQzJDOwotICBib3JkZXItdG9wOiAycHgg
c29saWQgI2RkZDsKLX0KLQotI2NvdmVyYWdlIHsKLSAgcGFkZGluZzogNjBweDsKLX0KLQotaDEg
YSB7Ci0gIGNvbG9yOiBpbmhlcml0OwotICBmb250LXdlaWdodDogaW5oZXJpdDsKLX0KLQotaDEg
YTpob3ZlciB7Ci0gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKLX0KLQotLm9ubG9hZCBoMSB7Ci0g
IG9wYWNpdHk6IDE7Ci19Ci0KLWgyIHsKLSAgd2lkdGg6IDgwJTsKLSAgbWFyZ2luLXRvcDogODBw
eDsKLSAgbWFyZ2luLWJvdHRvbTogMDsKLSAgZm9udC13ZWlnaHQ6IDEwMDsKLSAgbGV0dGVyLXNw
YWNpbmc6IDFweDsKLSAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlZWU7Ci19Ci0KLWEgewot
ICBjb2xvcjogIzhBNjM0MzsKLSAgZm9udC13ZWlnaHQ6IGJvbGQ7Ci0gIHRleHQtZGVjb3JhdGlv
bjogbm9uZTsKLX0KLQotYTpob3ZlciB7Ci0gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOwot
fQotCi11bCB7Ci0gIG1hcmdpbi10b3A6IDIwcHg7Ci0gIHBhZGRpbmc6IDAgMTVweDsKLSAgd2lk
dGg6IDEwMCU7Ci19Ci0KLXVsIGxpIHsKLSAgZmxvYXQ6IGxlZnQ7Ci0gIHdpZHRoOiA0MCU7Ci0g
IG1hcmdpbi10b3A6IDVweDsKLSAgbWFyZ2luLXJpZ2h0OiA2MHB4OwotICBsaXN0LXN0eWxlOiBu
b25lOwotICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VlZTsKLSAgcGFkZGluZzogNXB4IDA7
Ci0gIGZvbnQtc2l6ZTogMTJweDsKLX0KLQotdWw6OmFmdGVyIHsKLSAgY29udGVudDogJy4nOwot
ICBoZWlnaHQ6IDA7Ci0gIGRpc3BsYXk6IGJsb2NrOwotICB2aXNpYmlsaXR5OiBoaWRkZW47Ci0g
IGNsZWFyOiBib3RoOwotfQotCi1jb2RlIHsKLSAgZm9udDogMTJweCBtb25hY28sIG1vbm9zcGFj
ZTsKLX0KLQotcHJlIHsKLSAgbWFyZ2luOiAzMHB4OwotICBwYWRkaW5nOiAzMHB4OwotICBib3Jk
ZXI6IDFweCBzb2xpZCAjZWVlOwotICBib3JkZXItYm90dG9tLWNvbG9yOiAjZGRkOwotICAtd2Vi
a2l0LWJvcmRlci1yYWRpdXM6IDJweDsKLSAgLW1vei1ib3JkZXItcmFkaXVzOiAycHg7Ci0gIC13
ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAwIDEwcHggI2VlZTsKLSAgLW1vei1ib3gtc2hhZG93
OiBpbnNldCAwIDAgMTBweCAjZWVlOwotICBvdmVyZmxvdy14OiBhdXRvOwotfQotCi1pbWcgewot
ICBtYXJnaW46IDMwcHg7Ci0gIHBhZGRpbmc6IDFweDsKLSAgLXdlYmtpdC1ib3JkZXItcmFkaXVz
OiAzcHg7Ci0gIC1tb3otYm9yZGVyLXJhZGl1czogM3B4OwotICAtd2Via2l0LWJveC1zaGFkb3c6
IDAgM3B4IDEwcHggI2RlZGVkZSwgMCAxcHggNXB4ICM4ODg7Ci0gIC1tb3otYm94LXNoYWRvdzog
MCAzcHggMTBweCAjZGVkZWRlLCAwIDFweCA1cHggIzg4ODsKLSAgbWF4LXdpZHRoOiAxMDAlOwot
fQotCi1mb290ZXIgewotICBiYWNrZ3JvdW5kOiAjZWVlOwotICB3aWR0aDogMTAwJTsKLSAgcGFk
ZGluZzogNTBweCAwOwotICB0ZXh0LWFsaWduOiByaWdodDsKLSAgYm9yZGVyLXRvcDogMXB4IHNv
bGlkICNkZGQ7Ci19Ci0KLWZvb3RlciBzcGFuIHsKLSAgZGlzcGxheTogYmxvY2s7Ci0gIG1hcmdp
bi1yaWdodDogMzBweDsKLSAgY29sb3I6ICM4ODg7Ci0gIGZvbnQtc2l6ZTogMTJweDsKLX0KLQot
I21lbnUgewotICBwb3NpdGlvbjogZml4ZWQ7Ci0gIGZvbnQtc2l6ZTogMTJweDsKLSAgb3ZlcmZs
b3cteTogYXV0bzsKLSAgdG9wOiAwOwotICByaWdodDogMDsKLSAgbWFyZ2luOiAwOwotICBoZWln
aHQ6IDEwMCU7Ci0gIHBhZGRpbmc6IDE1cHggMDsKLSAgdGV4dC1hbGlnbjogcmlnaHQ7Ci0gIGJv
cmRlci1sZWZ0OiAxcHggc29saWQgI2VlZTsKLSAgLW1vei1ib3gtc2hhZG93OiAwIDAgMnB4ICM4
ODgKLSAgICAgLCBpbnNldCA1cHggMCAyMHB4IHJnYmEoMCwwLDAsLjUpCi0gICAgICwgaW5zZXQg
NXB4IDAgM3B4IHJnYmEoMCwwLDAsLjMpOwotICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMCAycHgg
Izg4OAotICAgICAsIGluc2V0IDVweCAwIDIwcHggcmdiYSgwLDAsMCwuNSkKLSAgICAgLCBpbnNl
dCA1cHggMCAzcHggcmdiYSgwLDAsMCwuMyk7Ci0gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFu
dGlhbGlhc2VkOwotICBiYWNrZ3JvdW5kOiB1cmwoImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJP
UncwS0dnb0FBQUFOU1VoRVVnQUFBR1lBQUFCbUNBTUFBQUFPQVJSUUFBQUJlbEJNVkVVakpTVTZP
enNoSXlNNU9qb3FLeTAyTmpnc0xTMDFOVFlqSkNVek5UVWdJU01sSlNjME5UVXZNREE2UER3bEp5
ZzFOallvS2lzMk5qWXJMUzAyT0RrcEt5dzBORFlyTEMwNE9Eb3ZMekE0T2pvME5EVXRMeTg2T2p3
akl5VTRPVG9zTFM4Mk9EZ3RMUzhoSXlRdk1URW5LQ29vS1Nzckt5MHFMQ3drSlNVbktDa3JMQ3dw
S2l3d01qSXhNek1xTEMwdExTMHBLaXNzTEMwME5UWXdNREl3TVRRcEt5c29LU292TURFdEx6QTJP
VGt4TXpVckt5d3ZMeThxS3lzek5UWTVPenNxS2l3Nk9qc3dNREV4TkRVb0tpb3pORFV2TURJeU5E
WTFOamcyTmprNU9Ub3pNelUwTmpZNE9Ea2lJeVVpSXlRNE9Ua3VNREVtS0Nvd01qUXdNVEVyTFM0
cUt5d3dNVE1oSWlNcEtpb3BLeTB0TGpBa0pTY3hORFF2THpFeE5EWXlORFFtS0NrNU9Uc2xKaWc1
T2pza0pTWXhNelFyTFM4Z0lTSXdNVElvS0NrMU5UVWxKU1VuSnlnd01EQTRPRGdpSWlNaElTSThQ
RHc2T2pvNU9Ua3BLU29qSXlRN096c3lNaklwS1Nzc0xDdzZPencxTmpscmZMYWtBQUFnMlVsRVFW
UjQyalI2aTNlYTZyWXZQZ0FOSUFoVlhoOFd2a1FsaW9VaUZsRmNCdEFtb2lSTmR6eHF1OXAwSjd2
cmRLMjl6dVBlZXg3N25udk8vMzVuMXIxbmRIUmt0STBqVE9hY3YvbDdsQ0JLNVVxVnBPaGEvWXht
V0s3QkM0VFFGS1ZYcmJZc25pbXF4dXVNVmxPUTBYbHRXalVkQ3dSSjFNK3RDMUt1ZE9zOXE2K2Rh
MmFkVWV3RzBTQzBTd0VMZkh0Z0RkczkzVkV1eWRFYmwzUU1XZU5vWWtSN2IvMHgxWlJvYkdJM21M
d3pBaGVQcVRBd2hnNmFvZ2pOc0d5Ny9qd1E0cmtkcWU3Q1dMeEY4azlMZk1WRnlSUzdWSnF0a3JX
OFZ0L2JrUjhGWkphbzE2aXBrbmJDM1l3MmxNN2xhTzZIQkVPYWRFWjJ0cGY2NWM0djhlM3U3RnlV
NnFiaU5OeUN1elhaNnBhd2dud2dtcnBUVC9RN3cyRVptaUlKMGR6V0RJN21oUTgwSWZSbk11Mmt6
QTVyNXIxcElGb2lhKy9kOTNIUllwMUdWOFRicmtXb1UvK2pkSTBGZjZ5R3dUalQxSG44Sis4bTFy
S3BHaVlQdU5pSG5NdE5NSXYrenBzazg0TVlUTlcxLytEcHdYTHZja2RPQ01Zb3dWTlBSRWUwUWxN
OHhSSFhYRmhjTkR6dXB3c1NtYjVwSCswdDBSUDJRaytRdEk3RjFRbTZKUkM2WlBCdFBxL2RxL2tI
K2p4dENsam45VElwVzZyUUlnbVNWeWo2bFBJQ0l3NE4vdGFrYTQxUEZVSW50aDBqZTkrak82S3Qx
RzQvYTdWMkxFZ0cwMkIwcEhWdUNacmdsdFNLTXVJbDVTeXVmVXY5bVl1UWkrbUZnemJCRXRGbzJn
K0RoNHNTVHJMTnU4SlBoMDBzUXlkcGIwMHRxWEJ2cVJON1E3a3F6Y25JeENHbnZadC9XbUphY29P
RU82RGNuOFFyZTAzcE9DU1F4Yk1PWFV1RE54OVN4dUx6NFcxSTE4Z3ZqVmlRNjd6VjByeGRXTDhU
ZS9UUWt1bzhTVFM0MURSNDhXN0w2WVAydVdJcWlVVjhyZDZHYmYvcm5lZ0taZUc4VHBBTTZhZmhH
emU5SkFPeGJManNuVVhFYnJaOXZMWWQ3TVQzMmNQRjVtS0t4bWp5N2h1YW9EOW42MkdPeG5pM2lJ
Snd2MEl6WkFaamRaa1V0b2xDTkxWZllaTmFxdUZqR3N6VlZmK0owdnJ6NENhd29LZEhuT3piME5N
SDdDREJPeWJmWU5KNHJmZU15Rk5qa0ZZVlR6TUZzODdyblBHWExVT2VOS1JWYzBMblU3L1VJZ2Vs
enN5M0NNdXRoMFlmdm5ZMHdzRDN2T0RVTDNlSmNLcUhRcG04eU0zWFpRV0p4TzZVbjlpWWxveXlM
cE93TjJvYkh5Nlc2Z2JwY2I0NFhteUMrbWcraXRBY2FwckdjcndaQ3FNai9HbXRLbjB6UHZwVHov
Q3YxZHcyMVh3UDNjUnVwZzNIM01GL1M3MWVUS2oxWXJkd0tkYzJNdzBmUm1iMnNGZjhsVzNhVTZK
YklaU0VQcXZYdmpNN0cvYUFweVhsWGVxS2ZNcTBnL1N1M3JVR0pQU1BydEdFbGdrbnJaTTN4VVhx
c0FQNnpNQ05WbjV1OGFKblNOcEp2MnVydTd0MmpmUnppVzIrR3VocWZsZFVOYlBrNzFvbHdvKzQ2
ZVBVbzFVM1dLay9lNVlLMDdGL3dHUmdjcE9EbVFuSWxWZUhDV0JFNHB1QmkyanEyOFVLcHFpTjEv
NFVPckd6NTlUTllyclFIdGQrMTFzRzQwQkdEK3BYZGVsTnFHT2c0TlhlOFc0ZWFjSlYvTlM5LzJV
bXR5bTZXUXF2ZXFSOXhkQ01FbHB4bmJrYWxNNFZmOXVhRWNXWmFLZHlpYkVJaldLeEpaUE45NW5p
Q0wzR2lhWHlzc0lySHhvTGtxa3pMQ1hVTE40Ni9mMmgzdFFKZ3lpcCtUazlFQWpKOWFKc2hxN3Q4
WDQ1YW93U0tzcE1TdlBmN3I5Ujh5eE5wdElhSFM1b3p1RW02bHVQREFwdWd5TlA4T2FxaVE0Qmph
ZXF1WEE1NFNMQzgzZUhJWTJyK0NacDQ0MDlYcXc4QWEyb0k3WGtDclFpK2luMHc1QXFGL2tMTnJj
VXorcWtsL2xBb2JZMWpTbng1T0pOaHlYSXozcWZORmxYYzBUS2FnbE53ZFdrV1l0OVFRMUtyNlc4
enVlMjFpTnJkSmsrTjVvQ3IyTzluRXRXS0M3SVM1Si96ZERFWXJtbkFZZmc2YWdDeStxY2d6N1pv
ZmVEYzRQYlVXU3Zrc2hXdUFjN09qaVV5TGtqK1JBdGRsd1hKY2p4ZHBrVFRIRGhLOGxCQ2k4K0p0
dkRWTDFXNmVsbU9NKytZUzBMdVNsYVAxb1V2QWVpVzNjRm52VHI4RWJUejF0c1NNWWRHZVplNDBz
Uld1NXVBZmo3cStab0t2MkZOUTBwNVhZMWxtbGNpZ0hacVRQcGFidWZFVnJOdU5QaTE2NXczdUNW
UUpIeUpxbVNKN1pIbmd1cXd0Q213VmlJSmlqajA0YmEySk5ZdEIreU9SZjVnZzEvOXQ5aXc0dlVw
ZXFpdW5TQWJmK0lCZGovYitpRzJxckh2dU5QMFZkLytUaFZaVC9scnZIWWpqZ0RiYnl4YXFnSE5N
MnVoeGExR1czVWVkWlloTU13TTRtUWhsdG91SytJVjROZGJJUU5NKzhZdjMxMVJaazlrVDR0aVlS
NExreUZjdVBwZGNqdWhVdUZxQkFXUlphMTFsY1ozZ0VCbFh5d3NOaHJ0K3BsSVNaUDVEbHNWOWw0
RWdZNkozeVpQVFVjTXJnYVdBVDNvSTc5ZVNiR0ViY0pwcjZCRDhreURpVnQrRzAvaFhvc1FONE5G
WEtsZldJZnNJczBCSE9EVm9rMS9JR25LRkhKWUlxdWg4WG8rMitia1FOVEdnV21OL2ZaMFkzM0xT
ajZscjFHeVY3bVdJS2c3WlRSWlBHdWhGL3pqUk5jUTFVUHRTWWduV1F4U3MweXJWaHdORGNkR01O
U05lMkpUM1d1emJBTTNIeWt5QWFqUzNVcGhmNlNUS0VxeExhczlFbm1uaEEvbHlqOVVqK0pvWTdT
VmdWbUdMbDQ2Um0ydTk4c2JrYXAybHpBZEtCRzRyNkxndWxRT1NTalF2MUdXZFEwanREVUsvbUFh
cU0xVXFqcHU0azNSdmZ2eHY3WVR4TFNLK3dOM0U1alZJem1GMjN1WjdoaUgvc1ZQNDlEN3R2b0tw
NFM4YjFMdXZSbGl2VkIvYWxnYmhjRklUWVZYdkRwTHpwRGZwbFIydUQ1VjRYSkZ4cGptSXBMYzlZ
NXNCMlRwQlJpeDdCbWU2R1pJcSswNnYzWHpOZVRjQTRvYlFJS3hyblQ0QzJKcE9xRDkyZGJtU1g4
TUdhemx5NUVzWlZNdlNVMWY0Ulp3eXU4aVFYYlZkZUxsWnJqdVRUMWpyWTF1azVjN2laN1Jzdmho
bHVxQWtxNEpwVlFBZzdSSkZ0U3UreGdKOFB2Nk8xajVEa0x4VDhta2JmeVJXNURyUW1HN2hpRElq
Q2dCc0FEYmp1b2Y2WUhMR2VWNmE1UTFTbXg5am9VWFBwZGFhRHg5N0EvV3EwMG9Ka2RSN1pZdVFS
ZlM1MzNKdHhPMWVyZHVxV09ZSXQzd2gwd3BiTHVDTklZa3d4YnN3YmlrQ1V1MkNEQ1MrUSs3cmdW
dGZSY20rU09jZEtQUmxaL3JFN3dOVlVFRTM5S1RTNXV2VUtOMVBVbmtsb1BreXpoeUdROHFrb3VF
akozSC9WWGRxRzZhc1NSaXczZWNNbEJ2RER0OGREaEJIWE13WjJDYWp6anI3Lzc2VCtJYXZxUFl2
ejZyNy8vRS8zWDMrTi8vaC8wUW96YmpQZ1BpaXI2OVAvOFgzLzlGL3l2OGIvODI3LysrOThXSXRQ
dTUvSHZ3ZDhZUGY1YnAvMi9sWC9ULytPZi8wTUovbFlUYStML0VmK2Q5dk4vMy8yVDZQLytqeVR6
dS9ldmY2VTd2eE43QjZwSmtSdEFGNmpVcjhJK1A4UnNQL3B0R2hmcUZrK3BRL0RnQXk2Tkp0UllK
ZFhtcDRnSzdXTHFMS0orTWFLaEdqT29qdkwrU25JV3JrcHkwU0xIRGU0UXV5TnphRUExNW1MTUNj
bUU4RW0rNEhkT2loVzQvWld1cHBKRW16ZUF3Y0R0djdNdUxjOXkyVjVhdHZ4WE5lM1M0RFVNdDUv
UXkyTE05a1NZS2lWV0J1S2xmcDRueFRudHB1VzAzSmJJbGtpUnZCWG1UMjNnMUkyT1llNklpelVI
UElxNnptNm1iZnNidGVLbWkvc2c5SitvY1FCTWN0R0ZPN2lsam84VFBOK3ozanh3NGRvK1p3ZnFv
Ujlka05US0h5TTMwNUdwVGtmaGNIZXhWa1BWR0ViVU9qdW85ZjBVTVBIQkZsR0V4MFNMdkp2VlJL
VHdXN1BTZXc1b1BtZStFNDIrZnJKYTljR3QybmpTM2RLNWtJaWYyZVliaHVTRVFYRXFNVmZVamhH
SXVpbjBHMC9XNWV6SnlKUXkzU3BNTGFpNE0wSlVXYjV1MWs5dG55NWJkMXBQd1lCcFF1RENYWmw2
MnhnNENkVkVBdGZsWEhzNkpLbVAvcEg2bU9sNzk2TGdvcGowbzhkNWtLaDAwaHhHM09TZEVFL1FC
bzlIZ3I4SkpxQWVMRHdKb2hHNWovREdoNjFSYy8rdGYyMi84a0VueEhOQ0VqbzBFbHZ2R2ZFU1pr
cW16MkJEY0tWMUgxYnVTa2hrZGc3cDFJTUdzMnMxN25ZanBibHJXdUUySzlXRU8vaGNScDVlOW9P
Ri9RQm1PYUR0Z2lsK29hVTZzelByZHdXNjVmT0IwS1VUc1ZVbjdMRlU3SjhlNmN4SklsOStGSHc1
TVFNenVRSis0b3hNSDNpVy81R0sraFd1RzBUK2dUTHMrZkFqZHRVZDU4VG1JVXEwNEVleVJDWUNq
a2xkb3cyMzRhSWdSNWJxd3J0Wm9zWis2WUVxQW1EcWF0SjlsV2FzejRJcXVLQUxQdGQ5MmhHSTNa
MkJkenpadWUrUkVsMU9tNERJV0QrUnJ0VVRPSkxJK1Mwakhvd1hYZEF4c0dMU2Q0MHpZTnVFVWxP
R2hyd0w2Yzd0Y090VU92cEpDUDdRQlFTMTlIK0d2Wm4wNWV3amxWTHorSUdLb0M5VHlmUWpMTUJO
bVhDdXFxdFRkT1N1a1pXNDhCMEhxZ1NUQ0JyQm5sRnZGNENHMlN1N3lGenFtSkZVUkszVW1UVDNy
dTA1MHIwcHRVcE1pbFluQkpXZmwyQnY2a1BsVXVFMWt4eHBkenVpOUF1YnNSMk4yYm9WU3U4MU91
bEF3QnFvU3IxTFowTExZT29teVpIbWpxblhsUDcyczhMbkRvdUVKanRvZEJ2ZEhhRzFqTXlTWU83
Y3JXZDkwTXBDUnlDRzE0dmI1SUU3QXJ1cHcveS9SY0NtL1RtM3pLNnpZajhQWU5hR2xkaVVma0Iv
TEhXY21mMmxWTSttd3lVMjdhMHFxMnRzY3JRL3Z6QmpOMjZEbm50SXJPeUdpenpYSzM1eUtRZFlu
VUFCa3lONHNhejNXRC92aUYrZUNjc1huSWFqZFdZSldhWUhSc3RJaXM5Q1MrdHFuRkdtejJqNXV6
ZnIzWjRwcnFnSzRYT1QvUHlmdHZqWnFJbThsaGtmeEo3T2wzQ0pGMXBpWUJHQUc4d3RBazU2RHJ3
MVl3bU9wY3orTmRma1NwU0xwbFJYTFhITDBScXVqNllXL2dhYnFnSzdEZ3I2Tnd0SDBCL0FON1hy
TitNVko2QW1YbVV1cW1RdWxyTk5ZUG1IMFJvRG9neWRPS0xvL1FiZllOQVJTUVFLSVNSQ3pSWFUr
cTlXV0pGTDNMWlc2dTM0Q2tlRzk3eEMwTk5HYUowYnZLNlNuWlMzelBza3I1RXR1Q2dqTVdSNW8y
eDVCcWhLbURXSlBSZTdKTUVPeVJiNXVVS2xIYUdWdHE1aXZTT2FTbGlTWHA5U1FtMnFrOE1SSmgx
ME1BcDlRUTJINXQ1OUo4cmppd1NadG9JZk1HamxMUFZOZFlsL0xCUjBBTzZXTEdEbWtMa0lQUkU0
NVk5TWZ0ZEFLL3lOdTFIbjZ0ek9RVGVzZ1ErOGZTekIxOXdPOTF2Q25PMjN2T1dRZHdKNjNTSnJZ
amRmS0ZXNlcyODFQS3MyazhpVDlhaTFjZ0o0c2EzeHFkdm10eFI4LytEMUI4QUtjMnUrNkpmdHJ5
UmhNV1NRdG9TQmdJeXlRR3l4Y25FTHVBYXNYTjEyb1NyaVU0Uk16MURENlJMMFRTVitvbTdpMVl0
K2pFRS9qbmF3TThjWC9VaE40bmtpdi93OWVBTHJ6TmhYdVFmT3pGTDBGaTZTakY3LzRRbjhyTFlC
b2E4NWN2Z0Fua0NFQlArSFBiRW5xdVZYQ1pzTVMveXpZdzJWcnU2MFAvK25KUFlLa3paRmptYnlr
elVvRXFWODM2VDVxM2ZQL0wzODNkRjgydHgxOC9BWmdaY3pNQWd5ZVdZS21TWklxdEhMK2UrTzRa
UmNxOVZJM2cvcVBlQ29pSzRwY2dFcWRiUzBTL0JlNTRzYlZRT3VKVlBOQmJsSWdoemVhc051N2gv
ZytTejFJZGhJNWxDd3ExblViM0ppNE9DSWNxUVpxdHFKNXc3clhyZy9EQTlJZ1ZtRUdoRGdHZWNF
d25DVEhmZlhjWHMwVjNPQ0VWellES1MxdnAvb1grbmcrNlhWVTg2VWpBNkZNTzJSWE9PT3JxWTFH
Z1B2ckFrOUhWL0JYdEN1NVJ1d0Y4cWdkR0RMc0JjdWk0RTMzeW1kQmlwMVg4dUt5aElXVDhxTlJE
c1h6K2d2TzlVaUVDMGQ4Ukc0VGYyeDhINHNsbGpnSHRDQmN4SExUV09ZSm01SC9mQ1BDek9nZjlx
Z09VeFRSWjBQYzZoYTV5THVMVlQ5bnR2SWE2Z2FjRTk5bUNvdmRVdW1UUWRSUDRSUHNTOTEyOWVF
ZTJ1U3Z2R2gwYlY0WTNRUFBoUFpNcWhaV1NNYTVSMEhjMVNHTzRJVk9RYzBGcmlybGliVFZmS1Jy
WWtEOGt6M2IrWDY1L1FrVU5hWmRyZGwzbUNhcDBIZjNZY0N3L0xpb3VKWU5icXo4OFVxZURZdjkz
eU83dnZYdGdsNFhDeUFPNE9Ea1k2Vys4MytMWlUvL3AzL3pYTkdHclVLQ2xDaU9uTDI3aUpaYk5X
REYwMlhYQU9lRmxCN0lhQURvTUgxWXFyK1VQOWJpeVpERWEvaUp0NE1EZUl6NkdLVGRMVkJmV0dW
dFJONGZkVDJyZ1JlWDhVWHdGMnpPcnJhZG00SjBueVRnZFBuYWkzUnZ6cFp2Q0tEVXFqT3dEL1FB
NkVEYU1DTGV3WDZRV1lWbkhZMXN4MWJkOG92WW5QbTFadlBIK3JFMjBsV2pPQ25aNjYveER0MFFB
bDE1RmpmQmNacCtpOU9VMFJOUFEwdDN4MnBTTldvOGVpWXVkd3NudVAxSHE2aUgxTEpDSnlua1lz
ZmdKMHAzcEY2U29RazJsK2pxRThDUGsremlHSlJTS2pzK1c1QU8xODV1bVBka1l6bEs0d2w3VEM5
Tnh5eURQN1pveVlWb1hpdVM2U2puSW5sTFdyd3oxaThiR1RLWFgwQVZRV2tTZklsZ2xXM3pSSlJK
OGJnNVZnRTZaRW5xTnU5QisrMEdOUXZEUUp2Rml6ZTRFU05LQkpQKzh2QTNMTTRBWDVTSUJxMDhN
b2IrN1FNVENaeDRud1AvNjQrNEJubFpDKzhXdGxQL0NYdzZ0MVB3TXdrSjNqaFAxRmlYTGhERi8z
STZGR1V6TzJEU2k5QUJ4S3l5TDlwYVp4U0V6NDBaQ1BRVG9EQUp1MTk1OWs3UWRiVnhnQjRpY3N1
MnM0enNUUEpoY0VEbytOMUdYNHpTay93cmlSaDhBcXdMNjI5NzJpOUhKSGQxeWRhTFhWenZLdk9m
R0d3NVJWY1VWTWlLWEZINEFQZGtRVS9kYzVCWDBZZktUTlpZWENXOW1iOGJjOG11Zm9RUDZCYmRR
bVQ5OVpqb1lmci9nbzRUZ1FYOUlEZ3p0aW03d3lGZUdNZmJOYWVxajhEenMzOHBnY3F3U3YyaGJx
QjNvU0dLV0t5K3Nlc1k3cDU3d0FIbGRxRTZORHVkay9XN3MvempySzRyWkZsRnZhR3huU1pkSGJj
MXk0N3FETjZ4a29LOE8zYmZyMmo0MWRsSlo3MXJCNGRsRHFhcFBGYThONnhCcnByVWR0ZW5VQ0h3
eEtOaHcxdXVUQmgrOXVVNDVrNFJFcFFBQk4yYkFPOURTTHFvSUwyNmdOcm9XZ3VwNXBVTXhIVU5T
cTRHeXo0N3ZCUHZpbHBvNWY5T1lJMmRkQXFUcW1ueFhFUnhRSjNVSzhmSGJWRTlIYWdIaTMrdHFO
Um9Oc0FyZG1BeEhBNUx3dFFvOVpBYU5LVVRsam5va2xqbzJ4OHNjcVZwRUVJUGMwMWZQQ2RIT0Nn
MERlV0J6OEQ1VFZBQWZ4OGFSSDVYMlpZTkkzZWJLRFpkZUorb0JEQXhtUnFKMzBFaDIvRGFlQXk1
ZGlWTk1wRURtWGlQRHNHVHpCTFh5OGVWRGRKb0lhZmd4L2d4TXlRaTQ1NFFyVzU2bkN5ZUVMZ1N1
Tk5FbVlrZmxGK3QzQ1pRT1ZSV2pLaEl1Q2NsbVFTbEFYVDMrNEpHRzc1QjR0LzVoUStsZE1QNExz
QVc2ejNYbVU2SUpKd3BuR1Zuc2dVWmhvWTFmWmx3VFI4d1NVN3hSZWpmMnVDeDlaNXRyVlRSUkpQ
OUtuRWIxMzRkRWllaWw2ZUNPR1dnYm9JN3hzcXNxTTk5amZKTFRlUGp5Z0tsSDJDVnh4c3NlOVFS
elRCRmpEL0tqcWl0ci9DQ1RCdC9TSjZuTHh6N2NLUDlwRnFCcHAwbE41eSthZEtOc1pqclB1cm9l
bVphdUg5YVRURkQzRUtIVzhTNTVYQkxGUUF0MWpneFRRQ1R3eG14L0p5ZnNaRE4xUnJvTjNWYXhw
U2VucElYN0srWmJMOFZkbFFEY0k0Q2J6ZzNRSkxhOXlWcU54VWVsdStFdHhMVnFlZWthQXZTSmtP
NnNTVnFiVWFqeHFoS3NoTnB2WnFvZUFwRjBrLzBQMGlra3dVY2Jkd2M0QTFlak43T28wTzE1a0c3
aFRNb0szaFpSQkNYN1lZZUxXMHd2Y1h4LzE4bi91Mzd5TGd6QllWQlV2T1JHbGkrc2ZSY1gvNzR1
RDZQNGhxKzd4dTU0VGxXSkxGelQ2M3V3VUR3dUVEZE9qSlFxeDdKVitaamFFQVBpN3QwTU1yUjRR
OFJrZjE4dXhENlJLMFJLaDBoTDhZVStEZUw5N2k0cGE1WlN5QWZYS3daUlMvOGdYY3hkWlhtNjJS
QkRqOFUzc044eDk1YjVQcFBzL21DQktZdnBhQTUwcE41Q3QvNDk5QUZUdHdRNXZnZVNoK05IcktJ
aTROVnB3TS9YelJhTmZKRDg1NmxQRTZNMjF6V1BndUZzSDdqYkxWeUVEZlJtdDRWd3JoQ0o1VlRZ
bWNTUGZHZ081Y2xmTit2YmFEWjdzYWtVNSsydloyV0NEWTAzMU54SmFyVnl0ZkREVnRpYWZjVEdP
MnJKL3Rhb0wzekNoTjJxbWp4b2ZjelRPWVFQUFZRUGgwSlZ0WWdkVVFJTmNTaU5FRXk1OFVkWVhY
MU1wV1VDRUJ4N0xiY0d0QW04WFdSUVRWT2FvVjN5U3JpNFJTaGhzL0IvMG00alg2T0F3WE92Y0Ew
OWJOU0c0Y3pFR3YvV2V5NlYvamJUQ05UVzZhd1hkTlRjQTFHc1BlMUU5ZlpkR2w3UjB2eW9WcElk
SnRmQzZkMzJOTkVycnZxL1IrZDY1VkcrWU93UlhwcFh4T0NZeUdOU2YxSzN4NlZ4QVcvdnR6NEVD
MVNnQ09TUGRONjJzTHNvSXp1RGZnOEd3WkFicXVWTzhISXVGUC9Ub1ZvZVVCN25ud01GMzVhMXdL
MXRJNmZrcnFGS2hRZGVKcHd5bHMwcEl5OEFaZGUzLzZMVVViRmFZSnRoeVVKU1Uva3FEWFRMUUVs
bm4wSnI0QjJSVmdoTnJtTm1vRW43cFhJZXNoUGd1WFZzdndvVGRtQ2xxNDlKSlUzTFdoSHlXVHJK
TDliUlA2Vkt2M3Rab0EvdGg3N3A1SncrK09FRU52eXZXeS9wTmVFeGlEVVZRYVhJUkdoOHh5U1pU
STM2eXVlRmFTWG8xdUpZMFJuWFlnRU9vV1dPSkhlYVZ1WC9iR05oSHNoMnlpbnpubC8rK05KY0U5
ajZmQlBSY0JkcTloYjhhd053OFU3Qmw2R003eDY5RURPSUliWC9ucForK2FtbEhSOUwvMzVtRS8y
U3M0Z2IweENjWTRWeVRGTFJFNzk2dkh5c0xBYW1xY3lPK2FGUXlKSURCTnNsYkgyL01yQXZaaVNF
SWVkYy9jcWptdjRmYmRhMnBYYnYrRjVhMnN6U3Nka205bm9pTlVSWHQ4ZWRVaEdVRjZmU1pXZDFJ
SmFYS0Z3RCs0OVI2ZUNYRDRCa2VmN2o5dFJ0Tk1WZ1c4QmhSei9RcHkxVG1lWWswZG95alpvSlNi
ZVBPUmVWSGdrRnNDRnVRSitMZ2M0QnhlQXNLL2NPaU5EUm1kTncwY3RZaG4vblE0OThkWUk1em56
R0xvSmkxcmF2N0NuODhyTDN3TGVQVnRESzVnbDc3VGtpM2dIRXNJQVEyK0lLZ2FyajdZOFcxSVF6
VjVWOU4rMFRqTHFiZzY4V2ZLY09tQkNPajNKa3dKaFZJa3dEaGMrSm9yWHVaRVBNRWgwdnZIM3g3
aXFmK1ZBd1hnZDRkaVppYUpEMXpITDlTbng2V2ZnNEl1Z3JleWhhYlFrY2lyK3k1WGdEdGR4M0F2
czdsa2VlQ0J3RHZab1RVQ1h4NVFyWmtjRXFXZllFaUVZUnMvRXBobVJBTFNOR1IxSWNsZ2RyNVZG
b0VMcHpGNCsrZjM1dzMvajB0NXVjVzNuMmNoNFBRQ0x1VVh1cHNQUlI3VUE1RmpTS3JNdFBjS0Fa
SmZhZ080bEdFN0ZIM1lLTWpvcnBLMFp4QXYraTJKa0podEFNV1dXRmVqNFJoUFIvY0ozRHh3b2ND
dlhEaTRTR1pVNGN1K0szMlhuZGlGV2dvcEFsKzBHQXBjd2YxWHZ5bUpjRnMzOWpFeElCTzR5VWpV
OU1FeEJMUVljOUgrVzcrSWdkRVNQUnBjaVQrcktaUGViVnRhVnErMUdZTy81eFRBTDNIQVNqTlRH
SWdNdmRqV2JnYzdKdmRFMXpJRnB1QzBVOUVTaVp5ekJpeHp4V3hqNEt3aDhNeTM0cStGSzNLTkx0
bXNBMXF5cm1LU05RT1hDUFVaZCtPTmVsQlR2Rm9VSS9DWXNxYS9SaHRLaXlNZjJDZ1NGcUVQazU5
WTN1cW5sWjhnRnBzd2ZTWXlrbzIzeVZaWXh6S0d4R200OVpxeGcxbDhvejVSYTlYYVJ3SGt1eGVw
bWd5aG0wU29OeTJLbGJjRXFLKzlRcVM5UE54OUlobTlVN2dzUjU1U1NKMUZCRE5ua3VXS3hJWjBT
RHBYdU9Hd1pkb1ViT01EUEhQNHZCQWd6MlZsU0VKQUhaR0pWYllJZzdsL0ZPNUtmSVZ2eEM4cFBQ
eE1HY05Nb2V2RkRlU3R0MmlxenRFMTBuMlRBNGRnSkg3NllTOUhEaEtIRDNpQ3g2aWVGWDg0QkFJ
M1FRbm5naDc2ZjVydVBRVmJyNXFabWNrLzVVakRjMjZsZnJPdlVCV3kwT2dsOGJDb09rTU9uczgx
VG5DM2N1VVM5S1c4KzlBK2ZlM1hZWk9GVVBHMXU1ZXBTU21ETHcwczVzMkYwVzMwQU5lbyt6SmtK
UXo5U1BaZ3p3WXBFb2t0b2ZoR1ZmbUxPQUIyMGJvQ2JXMVFXcS9OcEVUL2huTWVjdy91U3lBSDRO
SmMzRUNPVTRubmtLMWZqM1MvaTVkd2IzUjdrMDBBcVFRVXd0N0llMXFWMGFZL1ZRWDBKOGhMUHk3
ZUJOWE1IWVpZRE54SFoyUWg2QXVYSnhxK0FlUmVjL1ErSkxoWlY2aHBYd1FFenc3YmY1djl1VWYy
dnBxM3FsaG15MElJR1Rrd1lkQ2ZTQUZtcWJkbyszWHZEVERqRkpkZTBtYmVRTGNuMm4zMXhhQXFK
MGl4Ty9DTHNUNEk0RzREb25jVlRnUkdOQnRzQ2NqSVNXVCtvZVhaNEllZHcvOE9zSkkxYVBuTktM
WC82MFZ2Y1piOTR1YXNSeENrcWxQUTExdTFTYTJoSHZCODBXUUVOeFZ5empuczAvUGlFQnl5aWwy
MVRlNm9pc2szbU5DRU1yaG91Q0ZPM3lFWlRISE9DTXk5ZWIvNFRtaThjVmYzTGY3UDUzU1kyaFgz
UFNOMDMzQXMzRVRJTUxIV3VtV0VPOUpYSEEyeTJTSUJsSVBwTEdHMnF2TnNDSWxJcitCMVNXQXFS
S20ydzZCbGY3VSt6Q1NCd0pyZkhHNWk4SjVHYXgvY1Zvbk1sb243YUhKWC9nU3Z1Y0luY1JQOTNY
Q3FrdjdEOElGS0ZzTGlCZ0hxVXBYaEUzcFlqRWNWMWRrL0pEOXpGVkNmRWFRSVZYOEptZno3SUlv
ZmNCS1E0T2FHK0MzeEMydmVYOUNEK2lBRlhETmFHZzllVFZ4dmtiSlJKbFc0Tms5V2sxM2tuNjk2
aldwcFJEZS84cERyWU1POVp5eFo5OFJlS1N6OWtXS0xMeWsyekNaZ0FuaUNrTEpWWDNuMU05RFli
b215YWhXaXYvS2l4UklWOWhqL29Gejg3SStITHpuYlBUanBhK0QrYlpRbk11UnNsalRwdjkwdlFV
dC9wSzdqQ0ZuQTMwQi9qdHJvU0YyL20vZ3BXbjFhUXM1V2VBNmdoekY4U2RxV0kyMGZnaGRTZURP
Q1NDbUxnVGtmYUdnR0RtdzduSEZrUnpHdGFnNTdJSFMybmEwNkkrZ3pFcGhYbzF3L1p4MkJNL2pL
TDJuWm9GakhnZ3RGUWpZaThuU1ZSU1hJRTU4UlBiQk9iWGs3dXVJTDkrcnMvNVpvN3N1SkluRVV4
Z3NpWlpBV1MyNWlCdHBFaVplQmdEdGdoRW9BRTBzamNheU5xODVNNHRidS9MRjVoNTEzMzVQc0d6
UTA5Tzg3NSt2VVM4OWxrV015Tk9Gb2lwMlB1eVd5TVAvaVUyWElaZGZDQ0pORGplYkRvQkxRZHB5
N1FRWkM3czljMHdqSEplcnZRTkR1MmpXekJXNU1TQUpNcjdiUCtJdjkyQmtTL0dHZ3pqRW43TUYx
SVJLRnd3emJqYlM0L3NsR09taHg5Y1pyRnU3SFNFZWZvak52M3IwVWFLZktPV3pYc3ExekV1Z2J6
bE1ERnNhY1JKSkkvaUpsSzN2dGtaK1BMWklWTUZsS0EzMndicTJLZDVUMHVDTFoxQ1BrQWZDZHpr
ejJFWXNjakRjWnEyQVdmemlOMmNvdk40a1hFMWxRWFBQTFROTTF4eDN0YmllcGNPL3QzU1dtNHc4
N3FmaDk5U0wwWm5ZK0xLRlBMUGVYVk0ybUlJb1ZXdCs5TmswSTduWTRPNzlpR1lxeFo4UlZ6Mjg5
YW42TlZkSlduU0tadkpRQ0F1SE5pVmFEeFBBRm9IMzkydDl3b3Q1dDAvcW1VOTVlRVdOYlUydWRV
VzVzTjlKVnFjWWx2QUlmTGVZQzMzb1V6enhaZ1NrdHN2MjFtQTdVbHkxRkE1Vm5vSkZoNk4yNDRX
bXYzWUpHRnYvVENQcnlhdytaT1JscFpqUWRxLzJEWVhyM0Vac2tmZWQwRzYxUDA5aXBUS21sVFEx
MDY3Umc1K1BBazVGbFE5ZTBTV2JHZjJCLzA4a3F5bU9UTVZPem5zQUxISE5GSDRMRlJLbDJGL05P
aVlGbDlraE5IblN1OUFrNXNxMjZZbmwvaTJmZFRsZTI5WTF1Z3FtUjVZajRZVDlwdnNsRnlZQ2J3
MG1ORnI1clZRbTFMdmtHMjdRTXE5cGgzdDhmbW42cjZTUTRvU2JyNXR6K0oxa0lhd0d6RHhiNlZZ
T3Z2V2hvYkRUWGZCZU52M2I0YU5tNVhVaW5zQ0dxRzJxLzQ1bTMrTG9DT3NkZEZjZVloUngxVHNz
czlQTGRQZkpkRXJGTWpZZDNnZGRqaVAwK1hRamNSYWRaUDZid05MeVN2dW5GZjIwQ3p5NkpxZEVX
MmE5Nkt4ZFlkT3J5QnYxQmpidVVxMnlDSGVoKzZzazdmR21tUGk1MHBlLzFsNVR5UGU1b0hXOW9Q
bmhQc3dMeWYyVEZEZEN5WWxod0JDc3R2NUMxSHdsVzd4V29HVDlYWnQ0cVZqNVdyeUxQTExENmgv
NWNNTEVqV3pnQ2VBSUtOc0xhazkyYUJxQnNIbDRBSndsMk40amZ2YlNrQkV4R2ltdjBuRnZ2MDl1
RFNjUWJqeCt3NGtQUWpnamxXK2c5d3M5VkVKdkkyazhONlh4VnUwdUl3b3ZnVEZkdW5HMjRnQnRh
RGkreTFZTFF3Wjhtd2JpcDVmVmxPM2swbjBBRXIvRVRidHU4VmprbStuTlNpRWI3WC8zZk1qQkw1
QThQZGdHKy9GbmJleGJGRkV4bUVmZXRYQW5pc0VLeTV6NDRXVlBwUVpqU3kvanplR240eURSc0ZH
cWhoODdRUGFEQldobG8zN0lGYmUvQzB4eW5TOTFkMnRQL0FKb0pTMHNWRjZpd0FBQUFBRWxGVGtT
dVFtQ0MiKTsKLX0KLQotI21lbnU6OmFmdGVyIHsKLSAgZGlzcGxheTogYmxvY2s7Ci0gIGNvbnRl
bnQ6ICcnOwotICBwYWRkaW5nLXRvcDogODBweDsKLX0KLQotI2xvZ28gewotICBwb3NpdGlvbjog
Zml4ZWQ7Ci0gIGJvdHRvbTogMTBweDsKLSAgcmlnaHQ6IDEwcHg7Ci0gIGJhY2tncm91bmQ6IHJn
YmEoMjU1LDI1NSwyNTUsLjEpOwotICBmb250LXNpemU6IDExcHg7Ci0gIGRpc3BsYXk6IGJsb2Nr
OwotICB3aWR0aDogMjBweDsKLSAgaGVpZ2h0OiAyMHB4OwotICBsaW5lLWhlaWdodDogMjBweDsK
LSAgdGV4dC1hbGlnbjogY2VudGVyOwotICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDIwcHg7Ci0g
IC1tb3otYm9yZGVyLXJhZGl1czogMjBweDsKLSAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgM3B4
IHJnYmEoMCwwLDAsLjIpOwotICAtbW96LWJveC1zaGFkb3c6IDAgMCAzcHggcmdiYSgwLDAsMCwu
Mik7Ci0gIGNvbG9yOiBpbmhlcml0OwotfQotCi0jbWVudSBsaSBhIHsKLSAgZGlzcGxheTogYmxv
Y2s7Ci0gIGNvbG9yOiB3aGl0ZTsKLSAgcGFkZGluZzogMCAzNXB4IDAgMjVweDsKLSAgLXdlYmtp
dC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDMwMG1zOwotICAtbW96LXRyYW5zaXRpb246IGJhY2tn
cm91bmQgMzAwbXM7Ci19Ci0KLSNtZW51IGxpIHsKLSAgcG9zaXRpb246IHJlbGF0aXZlOwotICBs
aXN0LXN0eWxlOiBub25lOwotfQotCi0jbWVudSBhOmhvdmVyLAotI21lbnUgYS5hY3RpdmUgewot
ICB0ZXh0LWRlY29yYXRpb246IG5vbmU7Ci0gIGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUs
LjEpOwotfQotCi0jbWVudSBsaTpob3ZlciAuY292IHsKLSAgb3BhY2l0eTogMTsKLX0KLQotI21l
bnUgbGkgLmRpcm5hbWUgewotICBvcGFjaXR5OiAuNjA7Ci0gIHBhZGRpbmctcmlnaHQ6IDJweDsK
LX0KLQotI21lbnUgbGkgLmJhc2VuYW1lIHsKLSAgb3BhY2l0eTogMTsKLX0KLQotI21lbnUgLmNv
diB7Ci0gIGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsLjQpOwotICBwb3NpdGlvbjogYWJzb2x1dGU7
Ci0gIHRvcDogMDsKLSAgcmlnaHQ6IDhweDsKLSAgZm9udC1zaXplOiA5cHg7Ci0gIG9wYWNpdHk6
IC42OwotICB0ZXh0LWFsaWduOiBsZWZ0OwotICB3aWR0aDogMTdweDsKLSAgLXdlYmtpdC1ib3Jk
ZXItcmFkaXVzOiAxMHB4OwotICAtbW96LWJvcmRlci1yYWRpdXM6IDEwcHg7Ci0gIHBhZGRpbmc6
IDJweCAzcHg7Ci0gIHRleHQtYWxpZ246IGNlbnRlcjsKLX0KLQotI3N0YXRzOm50aC1jaGlsZCgy
bikgewotICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7Ci0gIG1hcmdpbi10b3A6IDE1cHg7Ci0gIGJv
cmRlcjogMXB4IHNvbGlkICNlZWU7Ci0gIHBhZGRpbmc6IDEwcHg7Ci0gIC13ZWJraXQtYm94LXNo
YWRvdzogaW5zZXQgMCAwIDJweCAjZWVlOwotICAtbW96LWJveC1zaGFkb3c6IGluc2V0IDAgMCAy
cHggI2VlZTsKLSAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA1cHg7Ci0gIC1tb3otYm9yZGVyLXJh
ZGl1czogNXB4OwotfQotCi0jc3RhdHMgZGl2IHsKLSAgZmxvYXQ6IGxlZnQ7Ci0gIHBhZGRpbmc6
IDAgNXB4OwotfQotCi0jc3RhdHM6OmFmdGVyIHsKLSAgZGlzcGxheTogYmxvY2s7Ci0gIGNvbnRl
bnQ6ICcnOwotICBjbGVhcjogYm90aDsKLX0KLQotI3N0YXRzIC5zbG9jOjphZnRlciB7Ci0gIGNv
bnRlbnQ6ICcgU0xPQyc7Ci0gIGNvbG9yOiAjYjZiNmI2OwotfQotCi0jc3RhdHMgLnBlcmNlbnRh
Z2U6OmFmdGVyIHsKLSAgY29udGVudDogJyBjb3ZlcmFnZSc7Ci0gIGNvbG9yOiAjYjZiNmI2Owot
fQotCi0jc3RhdHMgLmhpdHMsCi0jc3RhdHMgLm1pc3NlcyB7Ci0gIGRpc3BsYXk6IG5vbmU7Ci19
Ci0KLS5oaWdoIHsKLSAgY29sb3I6ICMwMGQ0YjQ7Ci19Ci0ubWVkaXVtIHsKLSAgY29sb3I6ICNl
ODdkMGQ7Ci19Ci0ubG93IHsKLSAgY29sb3I6ICNkNDA4MWE7Ci19Ci0udGVycmlibGUgewotICBj
b2xvcjogI2Q0MDgxYTsKLSAgZm9udC13ZWlnaHQ6IGJvbGQ7Ci19Ci0KLXRhYmxlIHsKLSAgd2lk
dGg6IDgwJTsKLSAgbWFyZ2luLXRvcDogMTBweDsKLSAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBz
ZTsKLSAgYm9yZGVyOiAxcHggc29saWQgI2NiY2JjYjsKLSAgY29sb3I6ICMzNjM2MzY7Ci0gIC13
ZWJraXQtYm9yZGVyLXJhZGl1czogM3B4OwotICAtbW96LWJvcmRlci1yYWRpdXM6IDNweDsKLX0K
LQotdGFibGUgdGhlYWQgewotICBkaXNwbGF5OiBub25lOwotfQotCi10YWJsZSB0ZC5saW5lLAot
dGFibGUgdGQuaGl0cyB7Ci0gIHdpZHRoOiAyMHB4OwotICBiYWNrZ3JvdW5kOiAjZWFlYWVhOwot
ICB0ZXh0LWFsaWduOiBjZW50ZXI7Ci0gIGZvbnQtc2l6ZTogMTFweDsKLSAgcGFkZGluZzogMCAx
MHB4OwotICBjb2xvcjogIzk0OTQ5NDsKLX0KLQotdGFibGUgdGQuaGl0cyB7Ci0gIHdpZHRoOiAx
MHB4OwotICBwYWRkaW5nOiAycHggNXB4OwotICBjb2xvcjogcmdiYSgwLDAsMCwuMik7Ci0gIGJh
Y2tncm91bmQ6ICNmMGYwZjA7Ci19Ci0KLXRyLm1pc3MgdGQubGluZSwKLXRyLm1pc3MgdGQuaGl0
cyB7Ci0gIGJhY2tncm91bmQ6ICNlNmMzYzc7Ci19Ci0KLXRyLm1pc3MgdGQgewotICBiYWNrZ3Jv
dW5kOiAjZjhkNWQ4OwotfQotCi10ZC5zb3VyY2UgewotICBwYWRkaW5nLWxlZnQ6IDE1cHg7Ci0g
IGxpbmUtaGVpZ2h0OiAxNXB4OwotICB3aGl0ZS1zcGFjZTogcHJlOwotICBmb250OiAxMnB4IG1v
bmFjbywgbW9ub3NwYWNlOwotfQotCi1jb2RlIC5jb21tZW50IHsgY29sb3I6ICNkZGQgfQotY29k
ZSAuaW5pdCB7IGNvbG9yOiAjMkY2RkFEIH0KLWNvZGUgLnN0cmluZyB7IGNvbG9yOiAjNTg5MEFE
IH0KLWNvZGUgLmtleXdvcmQgeyBjb2xvcjogIzhBNjM0MyB9Ci1jb2RlIC5udW1iZXIgeyBjb2xv
cjogIzJGNkZBRCB9Ci08L3N0eWxlPjwvaGVhZD48Ym9keT48ZGl2IGlkPSJjb3ZlcmFnZSI+PGgx
IGlkPSJvdmVydmlldyI+Q292ZXJhZ2U8L2gxPjxkaXYgaWQ9Im1lbnUiPjxsaT48YSBocmVmPSIj
b3ZlcnZpZXciPm92ZXJ2aWV3PC9hPjwvbGk+PGxpPjxzcGFuIGNsYXNzPSJjb3YgaGlnaCI+OTU8
L3NwYW4+PGEgaHJlZj0iI3dlYmlkbDIuanMiPjxzcGFuIGNsYXNzPSJiYXNlbmFtZSI+d2ViaWRs
Mi5qczwvc3Bhbj48L2E+PC9saT48YSBpZD0ibG9nbyIgaHJlZj0iaHR0cDovL3Zpc2lvbm1lZGlh
LmdpdGh1Yi5jb20vbW9jaGEvIj5tPC9hPjwvZGl2PjxkaXYgaWQ9InN0YXRzIiBjbGFzcz0iaGln
aCI+PGRpdiBjbGFzcz0icGVyY2VudGFnZSI+OTUlPC9kaXY+PGRpdiBjbGFzcz0ic2xvYyI+NTcy
PC9kaXY+PGRpdiBjbGFzcz0iaGl0cyI+NTQ4PC9kaXY+PGRpdiBjbGFzcz0ibWlzc2VzIj4yNDwv
ZGl2PjwvZGl2PjxkaXYgaWQ9ImZpbGVzIj48ZGl2IGNsYXNzPSJmaWxlIj48aDIgaWQ9IndlYmlk
bDIuanMiPndlYmlkbDIuanM8L2gyPjxkaXYgaWQ9InN0YXRzIiBjbGFzcz0iaGlnaCI+PGRpdiBj
bGFzcz0icGVyY2VudGFnZSI+OTUlPC9kaXY+PGRpdiBjbGFzcz0ic2xvYyI+NTcyPC9kaXY+PGRp
diBjbGFzcz0iaGl0cyI+NTQ4PC9kaXY+PGRpdiBjbGFzcz0ibWlzc2VzIj4yNDwvZGl2PjwvZGl2
Pjx0YWJsZSBpZD0ic291cmNlIj48dGhlYWQ+PHRyPjx0aD5MaW5lPC90aD48dGg+SGl0czwvdGg+
PHRoPlNvdXJjZTwvdGg+PC90cj48L3RoZWFkPjx0Ym9keT48dHI+PHRkIGNsYXNzPSJsaW5lIj4x
PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiA8L3RkPjwvdHI+
PHRyPjx0ZCBjbGFzcz0ibGluZSI+MjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFz
cz0ic291cmNlIj4gPC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4z
PC90ZD48dGQgY2xhc3M9ImhpdHMiPjE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj48c3BhbiBjbGFz
cz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0iayI+ZnVuY3Rpb248L3NwYW4+IDxzcGFuIGNsYXNz
PSJrIj4oKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFz
cz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj40PC90ZD48dGQgY2xhc3M9ImhpdHMiPjE8L3RkPjx0
ZCBjbGFzcz0ic291cmNlIj4gICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gdG9rZW5pc2Ug
PHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5mdW5jdGlvbjwvc3Bhbj4g
PHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+c3RyPHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFu
IGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0i
bGluZSI+NTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40NzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAg
ICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gdG9rZW5zIDxzcGFuIGNsYXNzPSJrIj49
PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+W108L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9
ImxpbmUiPjY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAg
ICAgICA8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gICByZSA8c3BhbiBjbGFzcz0iayI+PTwvc3Bh
bj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUi
Pjc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAg
ICAgICAgIDxzcGFuIGNsYXNzPSJzIj4iZmxvYXQiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj46PC9z
cGFuPiAgICAgICAgPHNwYW4gY2xhc3M9InMiPi9eLT8oKFswLTldK1wuWzAtOV0qfFswLTldKlwu
WzAtOV0rKShbRWVdWy0rXT9bMC05XSspP3xbMC05XStbRWVdWy0rXT9bMC05XSspLzwvc3Bhbj48
L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+ODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3Rk
Pjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4g
ICA8c3BhbiBjbGFzcz0icyI+ImludGVnZXIiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj46PC9zcGFu
PiAgICAgIDxzcGFuIGNsYXNzPSJzIj4vXi0/KDAoW1h4XVswLTlBLUZhLWZdK3xbMC03XSopfFsx
LTldWzAtOV0qKS88L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjk8L3RkPjx0
ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4g
Y2xhc3M9ImsiPiw8L3NwYW4+ICAgPHNwYW4gY2xhc3M9InMiPiJpZGVudGlmaWVyIjwvc3Bhbj48
c3BhbiBjbGFzcz0iayI+Ojwvc3Bhbj4gICA8c3BhbiBjbGFzcz0icyI+L15bQS1aX2Etel1bMC05
QS1aX2Etel0qLzwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+MTA8L3RkPjx0
ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4g
Y2xhc3M9ImsiPiw8L3NwYW4+ICAgPHNwYW4gY2xhc3M9InMiPiJzdHJpbmciPC9zcGFuPjxzcGFu
IGNsYXNzPSJrIj46PC9zcGFuPiAgICAgICA8c3BhbiBjbGFzcz0icyI+L14iW14iXSoiLzwvc3Bh
bj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+MTE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+
PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPiw8L3Nw
YW4+ICAgPHNwYW4gY2xhc3M9InMiPiJ3aGl0ZXNwYWNlIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+
Ojwvc3Bhbj4gICA8c3BhbiBjbGFzcz0icyI+L14oPzpbXHRcblxyIF0rfFtcdFxuXHIgXSooKFwv
XC8uKnxcL1wqKC58XG58XHIpKj9cKlwvKVtcdFxuXHIgXSopKSsvPC9zcGFuPjwvdGQ+PC90cj48
dHI+PHRkIGNsYXNzPSJsaW5lIj4xMjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFz
cz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gICA8c3BhbiBj
bGFzcz0icyI+Im90aGVyIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ojwvc3Bhbj4gICAgICAgIDxz
cGFuIGNsYXNzPSJzIj4vXlteXHRcblxyIDAtOUEtWl9hLXpdLzwvc3Bhbj48L3RkPjwvdHI+PHRy
Pjx0ZCBjbGFzcz0ibGluZSI+MTM8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9
InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PC90ZD48L3RyPjx0
cj48dGQgY2xhc3M9ImxpbmUiPjE0PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNz
PSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+ICAgdHlwZXMgPHNwYW4g
Y2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5bXTwvc3Bhbj48L3RkPjwvdHI+PHRy
Pjx0ZCBjbGFzcz0ibGluZSI+MTU8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9
InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNs
YXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjE2PC90ZD48dGQgY2xhc3M9ImhpdHMiPjMyOTwv
dGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmZvcjwvc3Bhbj4g
PHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gayA8c3Bh
biBjbGFzcz0iayI+aW48L3NwYW4+IHJlPHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IHR5cGVzPHNw
YW4gY2xhc3M9ImsiPi48L3NwYW4+cHVzaDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPms8c3BhbiBj
bGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJs
aW5lIj4xNzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40NzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAg
ICAgICAgPHNwYW4gY2xhc3M9ImsiPndoaWxlPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bh
bj5zdHI8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5sZW5ndGggPHNwYW4gY2xhc3M9ImsiPj48L3Nw
YW4+IDxzcGFuIGNsYXNzPSJzIj4wPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3Bh
biBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9
ImxpbmUiPjE4PC90ZD48dGQgY2xhc3M9ImhpdHMiPjI5MTQ8L3RkPjx0ZCBjbGFzcz0ic291cmNl
Ij4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiBtYXRjaGVkIDxzcGFuIGNs
YXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ZmFsc2U8L3NwYW4+PHNwYW4gY2xhc3M9
ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4x
OTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yOTE0PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAg
ICAgICAgPHNwYW4gY2xhc3M9ImsiPmZvcjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+
PHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gaSA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNw
YW4gY2xhc3M9InMiPjA8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IG4gPHNwYW4gY2xh
c3M9ImsiPj08L3NwYW4+IHR5cGVzPHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+bGVuZ3RoPHNwYW4g
Y2xhc3M9ImsiPjs8L3NwYW4+IGkgPHNwYW4gY2xhc3M9ImsiPjw8L3NwYW4+IG48c3BhbiBjbGFz
cz0iayI+Ozwvc3Bhbj4gaTxzcGFuIGNsYXNzPSJrIj4rKyk8L3NwYW4+IDxzcGFuIGNsYXNzPSJr
Ij57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MjA8
L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTMzMjU8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAg
ICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gdHlwZSA8c3BhbiBjbGFzcz0iayI+
PTwvc3Bhbj4gdHlwZXM8c3BhbiBjbGFzcz0iayI+Wzwvc3Bhbj5pPHNwYW4gY2xhc3M9ImsiPl07
PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MjE8L3Rk
Pjx0ZCBjbGFzcz0iaGl0cyI+MTMzMjU8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAg
ICAgICAgc3RyIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiBzdHI8c3BhbiBjbGFzcz0iayI+Ljwv
c3Bhbj5yZXBsYWNlPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+cmU8c3BhbiBjbGFzcz0iayI+Wzwv
c3Bhbj50eXBlPHNwYW4gY2xhc3M9ImsiPl0sPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ZnVuY3Rp
b248L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPnRvazxzcGFuIGNsYXNzPSJrIj4pPC9z
cGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8
dGQgY2xhc3M9ImxpbmUiPjIyPC90ZD48dGQgY2xhc3M9ImhpdHMiPjI5MTQ8L3RkPjx0ZCBjbGFz
cz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAgIHRva2VuczxzcGFuIGNsYXNzPSJrIj4uPC9z
cGFuPnB1c2g8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj4g
dHlwZTxzcGFuIGNsYXNzPSJrIj46PC9zcGFuPiB0eXBlPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+
IHZhbHVlPHNwYW4gY2xhc3M9ImsiPjo8L3NwYW4+IHRvayA8c3BhbiBjbGFzcz0iayI+fTwvc3Bh
bj48c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRk
IGNsYXNzPSJsaW5lIj4yMzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yOTE0PC90ZD48dGQgY2xhc3M9
InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICBtYXRjaGVkIDxzcGFuIGNsYXNzPSJrIj49PC9z
cGFuPiA8c3BhbiBjbGFzcz0iayI+dHJ1ZTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48
L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjI0PC90ZD48dGQgY2xh
c3M9ImhpdHMiPjI5MTQ8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAg
IDxzcGFuIGNsYXNzPSJrIj5yZXR1cm48L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iIjwvc3Bhbj48
c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+MjU8
L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAg
ICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3Rk
PjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjI2PC90ZD48dGQgY2xhc3M9
ImhpdHMiPjE2MjM5PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFu
IGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+bWF0Y2hlZDxzcGFu
IGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+YnJlYWs8L3NwYW4+PHNwYW4gY2xh
c3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjI3PC90ZD48dGQg
Y2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNs
YXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGlu
ZSI+Mjg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NTgyODwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAg
ICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3Nw
YW4+bWF0Y2hlZDxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+Y29udGlu
dWU8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0ibWlz
cyI+IDx0ZCBjbGFzcz0ibGluZSI+Mjk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MDwvdGQ+PHRkIGNs
YXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj50aHJvdzwvc3Bhbj4gPHNw
YW4gY2xhc3M9ImsiPm5ldzwvc3Bhbj4gRXJyb3I8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3Bh
biBjbGFzcz0icyI+IlRva2VuIHN0cmVhbSBub3QgcHJvZ3Jlc3NpbmciPC9zcGFuPjxzcGFuIGNs
YXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+MzA8L3RkPjx0
ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFz
cz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUi
PjMxPC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ3PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAg
ICA8c3BhbiBjbGFzcz0iayI+cmV0dXJuPC9zcGFuPiB0b2tlbnM8c3BhbiBjbGFzcz0iayI+Ozwv
c3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+MzI8L3RkPjx0ZCBjbGFzcz0iaGl0
cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjxz
cGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj4zMzwv
dGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgPC90ZD48L3Ry
Pjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4zNDwvdGQ+PHRkIGNsYXNzPSJoaXRz
Ij4xPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+
IHBhcnNlIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ZnVuY3Rpb248
L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPnRva2VuczxzcGFuIGNsYXNzPSJrIj4pPC9z
cGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8
dGQgY2xhc3M9ImxpbmUiPjM1PC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ3PC90ZD48dGQgY2xhc3M9
InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiBsaW5lIDxzcGFuIGNs
YXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+MTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+
Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjM2PC90
ZD48dGQgY2xhc3M9ImhpdHMiPjQ3PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICB0b2tl
bnMgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IHRva2VuczxzcGFuIGNsYXNzPSJrIj4uPC9zcGFu
PnNsaWNlPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0i
bGluZSI+Mzc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAg
ICAgICA8L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjM4PC90ZD48
dGQgY2xhc3M9ImhpdHMiPjQ3PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8c3BhbiBj
bGFzcz0iayI+dmFyPC9zcGFuPiBGTE9BVCA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4g
Y2xhc3M9InMiPiJmbG9hdCI8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjM5
PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNw
YW4gY2xhc3M9ImsiPiw8L3NwYW4+ICAgSU5UIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3Bh
biBjbGFzcz0icyI+ImludGVnZXIiPC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5l
Ij40MDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAg
IDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiAgIElEIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8
c3BhbiBjbGFzcz0icyI+ImlkZW50aWZpZXIiPC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNz
PSJsaW5lIj40MTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4g
ICAgICAgIDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiAgIFNUUiA8c3BhbiBjbGFzcz0iayI+PTwv
c3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJzdHJpbmciPC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNs
YXNzPSJsaW5lIj40MjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNl
Ij4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiAgIE9USEVSIDxzcGFuIGNsYXNzPSJr
Ij49PC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+Im90aGVyIjwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0
ZCBjbGFzcz0ibGluZSI+NDM8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNv
dXJjZSI+ICAgICAgICA8c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBj
bGFzcz0ibGluZSI+NDQ8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJj
ZSI+ICAgICAgICA8L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjQ1
PC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ3PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8
c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiBXZWJJRExQYXJzZUVycm9yIDxzcGFuIGNsYXNzPSJr
Ij49PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ZnVuY3Rpb248L3NwYW4+IDxzcGFuIGNsYXNzPSJr
Ij4oPC9zcGFuPnN0cjxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiBsaW5lPHNwYW4gY2xhc3M9Imsi
Piw8L3NwYW4+IGlucHV0PHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IHRva2VuczxzcGFuIGNsYXNz
PSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNz
PSJtaXNzIj4gPHRkIGNsYXNzPSJsaW5lIj40NjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4wPC90ZD48
dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnRoaXM8L3NwYW4+
PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+bWVzc2FnZSA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4g
c3RyPHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0ibWlzcyI+IDx0
ZCBjbGFzcz0ibGluZSI+NDc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MDwvdGQ+PHRkIGNsYXNzPSJz
b3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj50aGlzPC9zcGFuPjxzcGFuIGNsYXNz
PSJrIj4uPC9zcGFuPmxpbmUgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IGxpbmU8c3BhbiBjbGFz
cz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJtaXNzIj4gPHRkIGNsYXNzPSJsaW5l
Ij40ODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4wPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAg
ICAgICAgPHNwYW4gY2xhc3M9ImsiPnRoaXM8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+
aW5wdXQgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IGlucHV0PHNwYW4gY2xhc3M9ImsiPjs8L3Nw
YW4+PC90ZD48L3RyPjx0ciBjbGFzcz0ibWlzcyI+IDx0ZCBjbGFzcz0ibGluZSI+NDk8L3RkPjx0
ZCBjbGFzcz0iaGl0cyI+MDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFu
IGNsYXNzPSJrIj50aGlzPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnRva2VucyA8c3Bh
biBjbGFzcz0iayI+PTwvc3Bhbj4gdG9rZW5zPHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48
L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjUwPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRk
IGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PHNwYW4gY2xh
c3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5l
Ij41MTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40NzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAg
ICAgV2ViSURMUGFyc2VFcnJvcjxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnByb3RvdHlwZTxzcGFu
IGNsYXNzPSJrIj4uPC9zcGFuPnRvU3RyaW5nIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3Bh
biBjbGFzcz0iayI+ZnVuY3Rpb248L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oKTwvc3Bhbj4gPHNw
YW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0ibWlzcyI+IDx0ZCBjbGFz
cz0ibGluZSI+NTI8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2Ui
PiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5yZXR1cm48L3NwYW4+IDxzcGFuIGNsYXNzPSJr
Ij50aGlzPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPm1lc3NhZ2UgPHNwYW4gY2xhc3M9
ImsiPis8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iLCBsaW5lICI8L3NwYW4+IDxzcGFuIGNsYXNz
PSJrIj4rPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+dGhpczwvc3Bhbj48c3BhbiBjbGFzcz0iayI+
Ljwvc3Bhbj5saW5lIDxzcGFuIGNsYXNzPSJrIj4rPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+IiAo
dG9rZW5zOiAnIjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPis8L3NwYW4+IDxzcGFuIGNsYXNzPSJr
Ij50aGlzPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPmlucHV0IDxzcGFuIGNsYXNzPSJr
Ij4rPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+IicpPC9zcGFuPjxzcGFuIGNsYXNzPSJ0Ij5cbjwv
c3Bhbj48c3BhbiBjbGFzcz0icyI+Ijwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPis8L3NwYW4+PC90
ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjUzPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+
PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICBKU09OPHNwYW4gY2xhc3M9Imsi
Pi48L3NwYW4+c3RyaW5naWZ5PHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9Imsi
PnRoaXM8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+dG9rZW5zPHNwYW4gY2xhc3M9Imsi
Piw8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5udWxsPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4sPC9z
cGFuPiA8c3BhbiBjbGFzcz0icyI+NDwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90
ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjU0PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+
PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PHNwYW4g
Y2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjU1PC90ZD48
dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPC90ZD48L3Ry
Pjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj41NjwvdGQ+PHRkIGNsYXNzPSJoaXRz
Ij40NzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwv
c3Bhbj4gZXJyb3IgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5mdW5j
dGlvbjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+c3RyPHNwYW4gY2xhc3M9ImsiPik8
L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9Im1pc3Mi
PiA8dGQgY2xhc3M9ImxpbmUiPjU3PC90ZD48dGQgY2xhc3M9ImhpdHMiPjA8L3RkPjx0ZCBjbGFz
cz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiB0b2sgPHNw
YW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iIjwvc3Bhbj48c3BhbiBjbGFz
cz0iayI+LDwvc3Bhbj4gbnVtVG9rZW5zIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBj
bGFzcz0icyI+MDwvc3Bhbj48c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gbWF4VG9rZW5zIDxzcGFu
IGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+NTwvc3Bhbj48c3BhbiBjbGFzcz0i
ayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJtaXNzIj4gPHRkIGNsYXNzPSJsaW5lIj41
ODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4wPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAg
ICAgPHNwYW4gY2xhc3M9ImsiPndoaWxlPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5u
dW1Ub2tlbnMgPHNwYW4gY2xhc3M9ImsiPjw8L3NwYW4+IG1heFRva2VucyA8c3BhbiBjbGFzcz0i
ayI+JmFtcDsmYW1wOzwvc3Bhbj4gdG9rZW5zPHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+bGVuZ3Ro
IDxzcGFuIGNsYXNzPSJrIj4+PC9zcGFuPiBudW1Ub2tlbnM8c3BhbiBjbGFzcz0iayI+KTwvc3Bh
bj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0ibWlzcyI+IDx0
ZCBjbGFzcz0ibGluZSI+NTk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MDwvdGQ+PHRkIGNsYXNzPSJz
b3VyY2UiPiAgICAgICAgICAgICAgICB0b2sgPHNwYW4gY2xhc3M9ImsiPis9PC9zcGFuPiB0b2tl
bnM8c3BhbiBjbGFzcz0iayI+Wzwvc3Bhbj5udW1Ub2tlbnM8c3BhbiBjbGFzcz0iayI+XS48L3Nw
YW4+dmFsdWU8c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJtaXNz
Ij4gPHRkIGNsYXNzPSJsaW5lIj42MDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4wPC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIG51bVRva2VuczxzcGFuIGNsYXNzPSJrIj4rKzs8
L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjYxPC90ZD48dGQgY2xhc3M9Imhp
dHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj59
PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9Im1pc3MiPiA8dGQgY2xhc3M9ImxpbmUiPjYyPC90
ZD48dGQgY2xhc3M9ImhpdHMiPjA8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8
c3BhbiBjbGFzcz0iayI+dGhyb3c8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5uZXc8L3NwYW4+IFdl
YklETFBhcnNlRXJyb3I8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5zdHI8c3BhbiBjbGFzcz0iayI+
LDwvc3Bhbj4gbGluZTxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiB0b2s8c3BhbiBjbGFzcz0iayI+
LDwvc3Bhbj4gdG9rZW5zPHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+c2xpY2U8c3BhbiBjbGFzcz0i
ayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0icyI+MDwvc3Bhbj48c3BhbiBjbGFzcz0iayI+LDwvc3Bh
bj4gPHNwYW4gY2xhc3M9InMiPjU8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPikpOzwvc3Bhbj48L3Rk
PjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NjM8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48
dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48c3BhbiBj
bGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NjQ8L3RkPjx0
ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8L3RkPjwvdHI+
PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjY1PC90ZD48dGQgY2xhc3M9ImhpdHMi
PjQ3PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9z
cGFuPiBsYXN0X3Rva2VuIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+
bnVsbDwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFz
cz0ibGluZSI+NjY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+
ICAgICAgICA8L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjY3PC90
ZD48dGQgY2xhc3M9ImhpdHMiPjQ3PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8c3Bh
biBjbGFzcz0iayI+dmFyPC9zcGFuPiBjb25zdW1lIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8
c3BhbiBjbGFzcz0iayI+ZnVuY3Rpb248L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPnR5
cGU8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gdmFsdWU8c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4g
PHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNs
YXNzPSJsaW5lIj42ODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj44Nzc4PC90ZD48dGQgY2xhc3M9InNv
dXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0i
ayI+KCE8L3NwYW4+dG9rZW5zPHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+bGVuZ3RoIDxzcGFuIGNs
YXNzPSJrIj58fDwvc3Bhbj4gdG9rZW5zPHNwYW4gY2xhc3M9ImsiPls8L3NwYW4+PHNwYW4gY2xh
c3M9InMiPjA8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPl0uPC9zcGFuPnR5cGUgPHNwYW4gY2xhc3M9
ImsiPiE9PTwvc3Bhbj4gdHlwZTxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0i
ayI+cmV0dXJuPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xh
c3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+Njk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NTQ3MDwv
dGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bh
bj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPnR5cGVvZjwvc3Bhbj4g
dmFsdWUgPHNwYW4gY2xhc3M9ImsiPj09PTwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJ1bmRlZmlu
ZWQiPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+fHw8L3NwYW4+IHRva2VuczxzcGFuIGNsYXNzPSJr
Ij5bPC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4wPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj5dLjwvc3Bh
bj52YWx1ZSA8c3BhbiBjbGFzcz0iayI+PT09PC9zcGFuPiB2YWx1ZTxzcGFuIGNsYXNzPSJrIj4p
PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQi
PiA8dGQgY2xhc3M9ImxpbmUiPjcwPC90ZD48dGQgY2xhc3M9ImhpdHMiPjE3Mzg8L3RkPjx0ZCBj
bGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgIGxhc3RfdG9rZW4gPHNwYW4gY2xhc3M9Imsi
Pj08L3NwYW4+IHRva2VuczxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnNoaWZ0PHNwYW4gY2xhc3M9
ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUi
PjcxPC90ZD48dGQgY2xhc3M9ImhpdHMiPjE3Mzg8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAg
ICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5yZXR1cm48L3NwYW4+IGxhc3RfdG9rZW48c3Bh
biBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NzI8L3Rk
Pjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgIDxz
cGFuIGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj43Mzwv
dGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxzcGFu
IGNsYXNzPSJrIj59PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+
PHRkIGNsYXNzPSJsaW5lIj43NDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0i
c291cmNlIj4gICAgICAgIDwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGlu
ZSI+NzU8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDc8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAg
ICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IHdzIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFu
PiA8c3BhbiBjbGFzcz0iayI+ZnVuY3Rpb248L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oKTwvc3Bh
bj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRk
IGNsYXNzPSJsaW5lIj43NjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj42OTYxPC90ZD48dGQgY2xhc3M9
InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFz
cz0iayI+KCE8L3NwYW4+dG9rZW5zPHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+bGVuZ3RoPHNwYW4g
Y2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5yZXR1cm48L3NwYW4+PHNwYW4gY2xh
c3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjc3PC90ZD48dGQg
Y2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNs
YXNzPSJjIj4vLyBjb25zb2xlLmxvZygidG9rZW5zLmxlbmd0aCIsIHRva2Vucy5sZW5ndGgsIHRv
a2Vuc1swXSk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGlu
ZSI+Nzg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NjExNTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAg
ICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3Nw
YW4+dG9rZW5zPHNwYW4gY2xhc3M9ImsiPls8L3NwYW4+PHNwYW4gY2xhc3M9InMiPjA8L3NwYW4+
PHNwYW4gY2xhc3M9ImsiPl0uPC9zcGFuPnR5cGUgPHNwYW4gY2xhc3M9ImsiPj09PTwvc3Bhbj4g
PHNwYW4gY2xhc3M9InMiPiJ3aGl0ZXNwYWNlIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTwvc3Bh
bj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRk
IGNsYXNzPSJsaW5lIj43OTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xMTcyPC90ZD48dGQgY2xhc3M9
InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IHQgPHNw
YW4gY2xhc3M9ImsiPj08L3NwYW4+IHRva2VuczxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnNoaWZ0
PHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQg
Y2xhc3M9ImxpbmUiPjgwPC90ZD48dGQgY2xhc3M9ImhpdHMiPjIyOTQ8L3RkPjx0ZCBjbGFzcz0i
c291cmNlIj4gICAgICAgICAgICAgICAgdDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnZhbHVlPHNw
YW4gY2xhc3M9ImsiPi48L3NwYW4+cmVwbGFjZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFu
IGNsYXNzPSJzIj4vXG4vZzwvc3Bhbj48c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xh
c3M9ImsiPmZ1bmN0aW9uPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5tPHNwYW4gY2xh
c3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPiBsaW5lPHNwYW4gY2xhc3M9
ImsiPisrOzwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnJldHVybjwvc3Bhbj4gbTxzcGFuIGNsYXNz
PSJrIj47PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTs8
L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj44MTwvdGQ+
PHRkIGNsYXNzPSJoaXRzIj4xMTcyPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAg
ICAgIDxzcGFuIGNsYXNzPSJrIj5yZXR1cm48L3NwYW4+IHQ8c3BhbiBjbGFzcz0iayI+Ozwvc3Bh
bj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+ODI8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+
PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3Nw
YW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjgzPC90ZD48dGQgY2xhc3M9ImhpdHMi
PjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+
PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjg0
PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPC90
ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj44NTwvdGQ+PHRkIGNsYXNz
PSJoaXRzIj40NzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9Imsi
PnZhcjwvc3Bhbj4gYWxsX3dzIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0i
ayI+ZnVuY3Rpb248L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oKTwvc3Bhbj4gPHNwYW4gY2xhc3M9
ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj44
NjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj41MzY2PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAg
ICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gdCA8c3BhbiBjbGFzcz0iayI+PTwvc3Bh
bj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+IHR5cGU8c3BhbiBjbGFzcz0iayI+Ojwvc3Bhbj4g
PHNwYW4gY2xhc3M9InMiPiJ3aGl0ZXNwYWNlIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+LDwvc3Bh
bj4gdmFsdWU8c3BhbiBjbGFzcz0iayI+Ojwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiIiPC9zcGFu
PiA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwv
dHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjg3PC90ZD48dGQgY2xhc3M9Imhp
dHMiPjUzNjY8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0i
ayI+d2hpbGU8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj50
cnVlPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bh
bj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjg4PC90ZD48dGQg
Y2xhc3M9ImhpdHMiPjY1Mzg8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAg
PHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gdyA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gd3M8
c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBj
bGFzcz0ibGluZSI+ODk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTE5MDQ8L3RkPjx0ZCBjbGFzcz0i
c291cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBj
bGFzcz0iayI+KCE8L3NwYW4+dzxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0i
ayI+YnJlYWs8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFz
cz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj45MDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xMTcyPC90
ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIHQ8c3BhbiBjbGFzcz0iayI+Ljwv
c3Bhbj52YWx1ZSA8c3BhbiBjbGFzcz0iayI+Kz08L3NwYW4+IHc8c3BhbiBjbGFzcz0iayI+Ljwv
c3Bhbj52YWx1ZTxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNz
PSJsaW5lIj45MTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4g
ICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJo
aXQiPiA8dGQgY2xhc3M9ImxpbmUiPjkyPC90ZD48dGQgY2xhc3M9ImhpdHMiPjY1Mzg8L3RkPjx0
ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxz
cGFuIGNsYXNzPSJrIj4oPC9zcGFuPnQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj52YWx1ZTxzcGFu
IGNsYXNzPSJrIj4uPC9zcGFuPmxlbmd0aCA8c3BhbiBjbGFzcz0iayI+Pjwvc3Bhbj4gPHNwYW4g
Y2xhc3M9InMiPjA8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJr
Ij5yZXR1cm48L3NwYW4+IHQ8c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0
ZCBjbGFzcz0ibGluZSI+OTM8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNv
dXJjZSI+ICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwv
c3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+OTQ8L3RkPjx0ZCBjbGFzcz0iaGl0
cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8L3RkPjwvdHI+PHRyIGNsYXNzPSJo
aXQiPiA8dGQgY2xhc3M9ImxpbmUiPjk1PC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ3PC90ZD48dGQg
Y2xhc3M9InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiBpbnRlZ2Vy
X3R5cGUgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5mdW5jdGlvbjwv
c3Bhbj4gPHNwYW4gY2xhc3M9ImsiPigpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48
L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjk2PC90ZD48dGQgY2xh
c3M9ImhpdHMiPjI3MzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNs
YXNzPSJrIj52YXI8L3NwYW4+IHJldCA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xh
c3M9InMiPiIiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xh
c3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+OTc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MjczPC90
ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigp
Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjk4PC90
ZD48dGQgY2xhc3M9ImhpdHMiPjMxMjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAg
IDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+Y29uc3Vt
ZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPklEPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFu
IGNsYXNzPSJzIj4idW5zaWduZWQiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pKTwvc3Bhbj4gcmV0
IDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+InVuc2lnbmVkICI8L3Nw
YW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRk
IGNsYXNzPSJsaW5lIj45OTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yNzM8L3RkPjx0ZCBjbGFzcz0i
c291cmNlIj4gICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+
PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MTAwPC90ZD48dGQgY2xhc3M9
ImhpdHMiPjI4NzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNz
PSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+Y29uc3VtZTxzcGFuIGNsYXNz
PSJrIj4oPC9zcGFuPklEPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4i
c2hvcnQiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnJl
dHVybjwvc3Bhbj4gcmV0IDxzcGFuIGNsYXNzPSJrIj4rPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+
InNob3J0Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNz
PSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjEwMTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yNTk8L3Rk
Pjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+
IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPmNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5J
RDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+ImxvbmciPC9zcGFuPjxz
cGFuIGNsYXNzPSJrIj4pKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3Ry
Pjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4xMDI8L3RkPjx0ZCBjbGFzcz0iaGl0
cyI+NDE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgcmV0IDxzcGFuIGNs
YXNzPSJrIj4rPTwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJsb25nIjwvc3Bhbj48c3BhbiBjbGFz
cz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUi
PjEwMzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAg
ICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIg
Y2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MTA0PC90ZD48dGQgY2xhc3M9ImhpdHMiPjQz
PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5p
Zjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+Y29uc3VtZTxzcGFuIGNsYXNzPSJrIj4o
PC9zcGFuPklEPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4ibG9uZyI8
L3NwYW4+PHNwYW4gY2xhc3M9ImsiPikpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+cmV0dXJuPC9z
cGFuPiByZXQgPHNwYW4gY2xhc3M9ImsiPis8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iIGxvbmci
PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+
IDx0ZCBjbGFzcz0ibGluZSI+MTA1PC90ZD48dGQgY2xhc3M9ImhpdHMiPjM5PC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5yZXR1cm48L3NwYW4+
IHJldDxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5l
Ij4xMDY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAg
ICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4g
PHRkIGNsYXNzPSJsaW5lIj4xMDc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MjE4PC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBj
bGFzcz0iayI+KDwvc3Bhbj5yZXQ8c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gZXJyb3I8c3BhbiBj
bGFzcz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0icyI+IkZhaWxlZCB0byBwYXJzZSBpbnRlZ2Vy
IHR5cGUiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBj
bGFzcz0ibGluZSI+MTA4PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3Vy
Y2UiPiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3Nw
YW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjEwOTwvdGQ+PHRkIGNsYXNzPSJoaXRz
Ij48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDwvdGQ+PC90cj48dHIgY2xhc3M9Imhp
dCI+IDx0ZCBjbGFzcz0ibGluZSI+MTEwPC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ3PC90ZD48dGQg
Y2xhc3M9InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiBmbG9hdF90
eXBlIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ZnVuY3Rpb248L3Nw
YW4+IDxzcGFuIGNsYXNzPSJrIj4oKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90
ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4xMTE8L3RkPjx0ZCBjbGFz
cz0iaGl0cyI+MjE4PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xh
c3M9ImsiPnZhcjwvc3Bhbj4gcmV0IDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFz
cz0icyI+IiI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFz
cz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4xMTI8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MjE4PC90
ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigp
Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjExMzwv
dGQ+PHRkIGNsYXNzPSJoaXRzIj4yMjI8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAg
ICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPmNvbnN1
bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5JRDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3Bh
biBjbGFzcz0icyI+InVucmVzdHJpY3RlZCI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPikpPC9zcGFu
PiByZXQgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4idW5yZXN0cmlj
dGVkICI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0i
aGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4xMTQ8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MjE4PC90ZD48
dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwv
c3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjExNTwvdGQ+
PHRkIGNsYXNzPSJoaXRzIj4yNTc8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8
c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPmNvbnN1bWU8
c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5JRDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBj
bGFzcz0icyI+ImZsb2F0Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KSk8L3NwYW4+IDxzcGFuIGNs
YXNzPSJrIj5yZXR1cm48L3NwYW4+IHJldCA8c3BhbiBjbGFzcz0iayI+Kzwvc3Bhbj4gPHNwYW4g
Y2xhc3M9InMiPiJmbG9hdCI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3Ry
Pjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4xMTY8L3RkPjx0ZCBjbGFzcz0iaGl0
cyI+MTgyPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9Imsi
PmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5jb25zdW1lPHNwYW4gY2xhc3M9Imsi
Pig8L3NwYW4+SUQ8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJkb3Vi
bGUiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnJldHVy
bjwvc3Bhbj4gcmV0IDxzcGFuIGNsYXNzPSJrIj4rPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+ImRv
dWJsZSI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0i
aGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4xMTc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTc2PC90ZD48
dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8
c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5yZXQ8c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gZXJyb3I8
c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0icyI+IkZhaWxlZCB0byBwYXJzZSBm
bG9hdCB0eXBlIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0cj48
dGQgY2xhc3M9ImxpbmUiPjExODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0i
c291cmNlIj4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47
PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj4xMTk8L3RkPjx0ZCBjbGFzcz0i
aGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8L3RkPjwvdHI+PHRyIGNsYXNz
PSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjEyMDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40NzwvdGQ+
PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gcHJp
bWl0aXZlX3R5cGUgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5mdW5j
dGlvbjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPigpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwv
c3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjEyMTwvdGQ+
PHRkIGNsYXNzPSJoaXRzIj4yNzM8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8
c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiBudW1fdHlwZSA8c3BhbiBjbGFzcz0iayI+PTwvc3Bh
bj4gaW50ZWdlcl90eXBlPHNwYW4gY2xhc3M9ImsiPigpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+
fHw8L3NwYW4+IGZsb2F0X3R5cGU8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48
dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MTIyPC90ZD48dGQgY2xhc3M9ImhpdHMi
PjM3MDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5p
Zjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+bnVtX3R5cGU8c3BhbiBjbGFzcz0iayI+
KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnJldHVybjwvc3Bhbj4gbnVtX3R5cGU8c3BhbiBjbGFz
cz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUi
PjEyMzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xNzY8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAg
ICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xh
c3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MTI0PC90ZD48dGQgY2xhc3M9ImhpdHMiPjE4Njwv
dGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bh
bj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+Y29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFu
PklEPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iYm9vbGVhbiI8L3Nw
YW4+PHNwYW4gY2xhc3M9ImsiPikpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+cmV0dXJuPC9zcGFu
PiA8c3BhbiBjbGFzcz0icyI+ImJvb2xlYW4iPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFu
PjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MTI1PC90ZD48dGQg
Y2xhc3M9ImhpdHMiPjE2NzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFu
IGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+Y29uc3VtZTxzcGFu
IGNsYXNzPSJrIj4oPC9zcGFuPklEPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNz
PSJzIj4iYnl0ZSI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPikpPC9zcGFuPiA8c3BhbiBjbGFzcz0i
ayI+cmV0dXJuPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+ImJ5dGUiPC9zcGFuPjxzcGFuIGNsYXNz
PSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+
MTI2PC90ZD48dGQgY2xhc3M9ImhpdHMiPjE2ODwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAg
ICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+
Y29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPklEPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+
IDxzcGFuIGNsYXNzPSJzIj4ib2N0ZXQiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pKTwvc3Bhbj4g
PHNwYW4gY2xhc3M9ImsiPnJldHVybjwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJvY3RldCI8L3Nw
YW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUi
PjEyNzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAg
IDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90
cj48dHI+PHRkIGNsYXNzPSJsaW5lIj4xMjg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQg
Y2xhc3M9InNvdXJjZSI+ICAgICAgICA8L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xh
c3M9ImxpbmUiPjEyOTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40NzwvdGQ+PHRkIGNsYXNzPSJzb3Vy
Y2UiPiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gY29uc3RfdmFsdWUgPHNwYW4g
Y2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5mdW5jdGlvbjwvc3Bhbj4gPHNwYW4g
Y2xhc3M9ImsiPigpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRy
IGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjEzMDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4x
NzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwv
c3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+Y29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9z
cGFuPklEPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4idHJ1ZSI8L3Nw
YW4+PHNwYW4gY2xhc3M9ImsiPikpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+cmV0dXJuPC9zcGFu
PiA8c3BhbiBjbGFzcz0iayI+dHJ1ZTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3Rk
PjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjEzMTwvdGQ+PHRkIGNsYXNz
PSJoaXRzIj4xOTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNz
PSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+Y29uc3VtZTxzcGFuIGNsYXNz
PSJrIj4oPC9zcGFuPklEPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4i
ZmFsc2UiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnJl
dHVybjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPmZhbHNlPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47
PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MTMyPC90
ZD48dGQgY2xhc3M9ImhpdHMiPjE3PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAg
PHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5jb25zdW1l
PHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+SUQ8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4g
Y2xhc3M9InMiPiJudWxsIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KSk8L3NwYW4+IDxzcGFuIGNs
YXNzPSJrIj5yZXR1cm48L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5udWxsPC9zcGFuPjxzcGFuIGNs
YXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGlu
ZSI+MTMzPC90ZD48dGQgY2xhc3M9ImhpdHMiPjE0PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAg
ICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bh
bj5jb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+SUQ8c3BhbiBjbGFzcz0iayI+LDwvc3Bh
bj4gPHNwYW4gY2xhc3M9InMiPiJJbmZpbml0eSI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPikpPC9z
cGFuPiA8c3BhbiBjbGFzcz0iayI+cmV0dXJuPC9zcGFuPiBJbmZpbml0eTxzcGFuIGNsYXNzPSJr
Ij47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MTM0
PC90ZD48dGQgY2xhc3M9ImhpdHMiPjEzPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAg
ICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5jb25z
dW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+SUQ8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNw
YW4gY2xhc3M9InMiPiJOYU4iPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pKTwvc3Bhbj4gPHNwYW4g
Y2xhc3M9ImsiPnJldHVybjwvc3Bhbj4gTmFOPHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48
L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4xMzU8L3RkPjx0ZCBjbGFzcz0i
aGl0cyI+MTE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0i
ayI+dmFyPC9zcGFuPiByZXQgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IGNvbnN1bWU8c3BhbiBj
bGFzcz0iayI+KDwvc3Bhbj5GTE9BVDxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFz
cz0iayI+fHw8L3NwYW4+IGNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5JTlQ8c3BhbiBj
bGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJs
aW5lIj4xMzY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTk8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4g
ICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9z
cGFuPnJldDxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+cmV0dXJuPC9z
cGFuPiA8c3BhbiBjbGFzcz0icyI+MTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPio8L3NwYW4+IHJl
dDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnZhbHVlPHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90
ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4xMzc8L3RkPjx0ZCBjbGFz
cz0iaGl0cyI+MzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNz
PSJrIj52YXI8L3NwYW4+IHRvayA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gY29uc3VtZTxzcGFu
IGNsYXNzPSJrIj4oPC9zcGFuPk9USEVSPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNs
YXNzPSJzIj4iLSI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIg
Y2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MTM4PC90ZD48dGQgY2xhc3M9ImhpdHMiPjM8
L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3Nw
YW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPnRvazxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8
c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xh
c3M9ImxpbmUiPjEzOTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yPC90ZD48dGQgY2xhc3M9InNvdXJj
ZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9
ImsiPig8L3NwYW4+Y29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPklEPHNwYW4gY2xhc3M9
ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iSW5maW5pdHkiPC9zcGFuPjxzcGFuIGNsYXNz
PSJrIj4pKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnJldHVybjwvc3Bhbj4gPHNwYW4gY2xhc3M9
ImsiPi08L3NwYW4+SW5maW5pdHk8c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRy
IGNsYXNzPSJtaXNzIj4gPHRkIGNsYXNzPSJsaW5lIj4xNDA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+
MDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+
ZWxzZTwvc3Bhbj4gdG9rZW5zPHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+dW5zaGlmdDxzcGFuIGNs
YXNzPSJrIj4oPC9zcGFuPnRvazxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRy
Pjx0ZCBjbGFzcz0ibGluZSI+MTQxPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNz
PSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90cj48
dHI+PHRkIGNsYXNzPSJsaW5lIj4xNDI8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48c3BhbiBjbGFzcz0i
ayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+MTQzPC90ZD48dGQgY2xh
c3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPC90ZD48L3RyPjx0ciBj
bGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4xNDQ8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDc8
L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+
IHR5cGVfc3VmZml4IDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ZnVu
Y3Rpb248L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPm9iajxzcGFuIGNsYXNzPSJrIj4p
PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQi
PiA8dGQgY2xhc3M9ImxpbmUiPjE0NTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yNDk8L3RkPjx0ZCBj
bGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+d2hpbGU8L3NwYW4+IDxz
cGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj50cnVlPC9zcGFuPjxzcGFuIGNs
YXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNs
YXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjE0NjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yNjM8
L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9
ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUi
PjE0NzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yNjM8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAg
ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwv
c3Bhbj5jb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+T1RIRVI8c3BhbiBjbGFzcz0iayI+
LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiI/Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KSk8L3Nw
YW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0
ZCBjbGFzcz0ibGluZSI+MTQ4PC90ZD48dGQgY2xhc3M9ImhpdHMiPjExPC90ZD48dGQgY2xhc3M9
InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxz
cGFuIGNsYXNzPSJrIj4oPC9zcGFuPm9iajxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPm51bGxhYmxl
PHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IGVycm9yPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNw
YW4gY2xhc3M9InMiPiJDYW4ndCBudWxsYWJsZSBtb3JlIHRoYW4gb25jZSI8L3NwYW4+PHNwYW4g
Y2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0i
bGluZSI+MTQ5PC90ZD48dGQgY2xhc3M9ImhpdHMiPjExPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+
ICAgICAgICAgICAgICAgICAgICBvYmo8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5udWxsYWJsZSA8
c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnRydWU8L3NwYW4+PHNwYW4g
Y2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjE1MDwvdGQ+
PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAg
PHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNs
YXNzPSJsaW5lIj4xNTE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MjUyPC90ZD48dGQgY2xhc3M9InNv
dXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5lbHNlPC9zcGFuPiA8c3BhbiBj
bGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPmNvbnN1bWU8c3BhbiBj
bGFzcz0iayI+KDwvc3Bhbj5PVEhFUjxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFz
cz0icyI+IlsiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pKTwvc3Bhbj4gPHNwYW4gY2xhc3M9Imsi
Pns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4xNTI8
L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAg
ICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNs
YXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjE1MzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4zPC90
ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICBjb25zdW1lPHNwYW4gY2xh
c3M9ImsiPig8L3NwYW4+T1RIRVI8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9
InMiPiJdIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnx8
PC9zcGFuPiBlcnJvcjxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4iVW50
ZXJtaW5hdGVkIGFycmF5IHR5cGUiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3Rk
PjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjE1NDwvdGQ+PHRkIGNsYXNz
PSJoaXRzIj41PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICA8c3Bh
biBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oITwvc3Bhbj5vYmo8c3BhbiBj
bGFzcz0iayI+Ljwvc3Bhbj5hcnJheTxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiBvYmo8c3BhbiBj
bGFzcz0iayI+Ljwvc3Bhbj5hcnJheSA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xh
c3M9InMiPjE8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFz
cz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4xNTU8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTwvdGQ+
PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmVs
c2U8L3NwYW4+IG9iajxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPmFycmF5PHNwYW4gY2xhc3M9Imsi
PisrOzwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+MTU2PC90ZD48dGQgY2xh
c3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBj
bGFzcz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9Imxp
bmUiPjE1NzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yNDk8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4g
ICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmVsc2U8L3NwYW4+IDxzcGFuIGNsYXNzPSJr
Ij5yZXR1cm48L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQg
Y2xhc3M9ImxpbmUiPjE1ODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291
cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0
ZCBjbGFzcz0ibGluZSI+MTU5PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJz
b3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8
L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjE2MDwvdGQ+PHRkIGNsYXNzPSJo
aXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDwvdGQ+PC90cj48dHIgY2xhc3M9
ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MTYxPC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ3PC90ZD48
dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiBzaW5n
bGVfdHlwZSA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPmZ1bmN0aW9u
PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KCk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFu
PjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MTYyPC90ZD48dGQg
Y2xhc3M9ImhpdHMiPjI2MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFu
IGNsYXNzPSJrIj52YXI8L3NwYW4+IHByaW0gPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IHByaW1p
dGl2ZV90eXBlPHNwYW4gY2xhc3M9ImsiPigpPC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNz
PSJsaW5lIj4xNjM8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+
ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+ICAgcmV0IDxzcGFuIGNsYXNzPSJr
Ij49PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj4gc2VxdWVuY2U8c3BhbiBjbGFzcz0i
ayI+Ojwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPmZhbHNlPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4s
PC9zcGFuPiBudWxsYWJsZTxzcGFuIGNsYXNzPSJrIj46PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+
ZmFsc2U8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IGFycmF5PHNwYW4gY2xhc3M9Imsi
Pjo8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5mYWxzZTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+LDwv
c3Bhbj4gdW5pb248c3BhbiBjbGFzcz0iayI+Ojwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPmZhbHNl
PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0i
bGluZSI+MTY0PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAg
ICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9Imhp
dCI+IDx0ZCBjbGFzcz0ibGluZSI+MTY1PC90ZD48dGQgY2xhc3M9ImhpdHMiPjI2MTwvdGQ+PHRk
IGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNw
YW4gY2xhc3M9ImsiPig8L3NwYW4+cHJpbTxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBj
bGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9Imxp
bmUiPjE2NjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj45OTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAg
ICAgICAgICAgICAgICByZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5pZGxUeXBlIDxzcGFuIGNs
YXNzPSJrIj49PC9zcGFuPiBwcmltPHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0
cj48dGQgY2xhc3M9ImxpbmUiPjE2NzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFz
cz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+
PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjE2ODwvdGQ+PHRkIGNsYXNzPSJoaXRz
Ij4xNjI8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+
ZWxzZTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwv
c3Bhbj5jb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+SUQ8c3BhbiBjbGFzcz0iayI+LDwv
c3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJzZXF1ZW5jZSI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPikp
PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQi
PiA8dGQgY2xhc3M9ImxpbmUiPjE2OTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40PC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3Nw
YW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4xNzA8L3RkPjx0
ZCBjbGFzcz0iaGl0cyI+NDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8
c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oITwvc3Bhbj5jb25zdW1l
PHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+T1RIRVI8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNw
YW4gY2xhc3M9InMiPiI8Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KSk8L3NwYW4+IDxzcGFuIGNs
YXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9Im1pc3MiPiA8dGQgY2xhc3M9Imxp
bmUiPjE3MTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4wPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAg
ICAgICAgICAgICAgICAgICByZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5pZGxUeXBlIDxzcGFu
IGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+InNlcXVlbmNlIjwvc3Bhbj48c3Bh
biBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+MTcyPC90
ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAg
ICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+
MTczPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAg
ICAgICAgICA8c3BhbiBjbGFzcz0iayI+ZWxzZTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3Nw
YW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4xNzQ8L3RkPjx0
ZCBjbGFzcz0iaGl0cyI+NDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAg
ICAgcmV0PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+c2VxdWVuY2UgPHNwYW4gY2xhc3M9ImsiPj08
L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj50cnVlPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFu
PjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MTc1PC90ZD48dGQg
Y2xhc3M9ImhpdHMiPjQ8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAg
IHJldDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPmlkbFR5cGUgPHNwYW4gY2xhc3M9ImsiPj08L3Nw
YW4+IHR5cGU8c3BhbiBjbGFzcz0iayI+KCk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj58fDwvc3Bh
bj4gZXJyb3I8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0icyI+IkVycm9yIHBh
cnNpbmcgc2VxdWVuY2UgdHlwZSI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+
PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MTc2PC90ZD48dGQgY2xhc3M9
ImhpdHMiPjQ8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAgIGFsbF93
czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRk
IGNsYXNzPSJsaW5lIj4xNzc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDwvdGQ+PHRkIGNsYXNzPSJz
b3VyY2UiPiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3Bh
biBjbGFzcz0iayI+KCE8L3NwYW4+Y29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPk9USEVS
PHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iPiI8L3NwYW4+PHNwYW4g
Y2xhc3M9ImsiPikpPC9zcGFuPiBlcnJvcjxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNs
YXNzPSJzIj4iVW50ZXJtaW5hdGVkIHNlcXVlbmNlIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTs8
L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4xNzg8L3Rk
Pjx0ZCBjbGFzcz0iaGl0cyI+NDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAg
ICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNz
PSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjE3OTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj41PC90ZD48
dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8
L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPmNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwv
c3Bhbj5PVEhFUjxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+Ij8iPC9z
cGFuPjxzcGFuIGNsYXNzPSJrIj4pKTwvc3Bhbj4gcmV0PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+
bnVsbGFibGUgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj50cnVlPC9z
cGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0
ZCBjbGFzcz0ibGluZSI+MTgwPC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ8L3RkPjx0ZCBjbGFzcz0i
c291cmNlIj4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5yZXR1cm48L3NwYW4+
IHJldDxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5l
Ij4xODE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAg
ICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNz
PSJsaW5lIj4xODI8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+
ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xh
c3M9ImxpbmUiPjE4MzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNl
Ij4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+ZWxzZTwvc3Bhbj4gPHNwYW4gY2xhc3M9Imsi
Pns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4xODQ8
L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTU4PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAg
ICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IG5hbWUgPHNwYW4gY2xhc3M9ImsiPj08
L3NwYW4+IGNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5JRDxzcGFuIGNsYXNzPSJrIj4p
Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjE4NTwv
dGQ+PHRkIGNsYXNzPSJoaXRzIj4xNjk8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAg
ICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KCE8L3NwYW4+
bmFtZTxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+cmV0dXJuPC9zcGFu
PjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBj
bGFzcz0ibGluZSI+MTg2PC90ZD48dGQgY2xhc3M9ImhpdHMiPjE0NzwvdGQ+PHRkIGNsYXNzPSJz
b3VyY2UiPiAgICAgICAgICAgICAgICByZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5pZGxUeXBl
IDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiBuYW1lPHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+dmFs
dWU8c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+
MTg3PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAg
ICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0
ZCBjbGFzcz0ibGluZSI+MTg4PC90ZD48dGQgY2xhc3M9ImhpdHMiPjI0NjwvdGQ+PHRkIGNsYXNz
PSJzb3VyY2UiPiAgICAgICAgICAgIHR5cGVfc3VmZml4PHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+
cmV0PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0
ZCBjbGFzcz0ibGluZSI+MTg5PC90ZD48dGQgY2xhc3M9ImhpdHMiPjI0NjwvdGQ+PHRkIGNsYXNz
PSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xh
c3M9ImsiPig8L3NwYW4+cmV0PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+bnVsbGFibGUgPHNwYW4g
Y2xhc3M9ImsiPiZhbXA7JmFtcDs8L3NwYW4+IHJldDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPmlk
bFR5cGUgPHNwYW4gY2xhc3M9ImsiPj09PTwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJhbnkiPC9z
cGFuPjxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiBlcnJvcjxzcGFuIGNsYXNzPSJrIj4oPC9zcGFu
PjxzcGFuIGNsYXNzPSJzIj4iVHlwZSBhbnkgY2Fubm90IGJlIG1hZGUgbnVsbGFibGUiPC9zcGFu
PjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQg
Y2xhc3M9ImxpbmUiPjE5MDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yNDY8L3RkPjx0ZCBjbGFzcz0i
c291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+cmV0dXJuPC9zcGFuPiByZXQ8c3Bh
biBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+MTkxPC90
ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4g
Y2xhc3M9ImsiPn08L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48
dGQgY2xhc3M9ImxpbmUiPjE5MjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0i
c291cmNlIj4gICAgICAgIDwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGlu
ZSI+MTkzPC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ3PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAg
ICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiB1bmlvbl90eXBlIDxzcGFuIGNsYXNzPSJr
Ij49PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ZnVuY3Rpb248L3NwYW4+IDxzcGFuIGNsYXNzPSJr
Ij4oKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0i
aGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4xOTQ8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTE8L3RkPjx0
ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9z
cGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MTk1PC90ZD48
dGQgY2xhc3M9ImhpdHMiPjE5PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNw
YW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KCE8L3NwYW4+Y29uc3VtZTxz
cGFuIGNsYXNzPSJrIj4oPC9zcGFuPk9USEVSPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFu
IGNsYXNzPSJzIj4iKCI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPikpPC9zcGFuPiA8c3BhbiBjbGFz
cz0iayI+cmV0dXJuPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIg
Y2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MTk2PC90ZD48dGQgY2xhc3M9ImhpdHMiPjM8
L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9z
cGFuPiByZXQgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFu
PiBzZXF1ZW5jZTxzcGFuIGNsYXNzPSJrIj46PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ZmFsc2U8
L3NwYW4+PHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IG51bGxhYmxlPHNwYW4gY2xhc3M9ImsiPjo8
L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5mYWxzZTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+LDwvc3Bh
bj4gYXJyYXk8c3BhbiBjbGFzcz0iayI+Ojwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPmZhbHNlPC9z
cGFuPjxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiB1bmlvbjxzcGFuIGNsYXNzPSJrIj46PC9zcGFu
PiA8c3BhbiBjbGFzcz0iayI+dHJ1ZTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gaWRs
VHlwZTxzcGFuIGNsYXNzPSJrIj46PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+W108L3NwYW4+IDxz
cGFuIGNsYXNzPSJrIj59PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48
dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MTk3PC90ZD48dGQgY2xhc3M9ImhpdHMi
PjM8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFy
PC9zcGFuPiBmc3QgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IHR5cGU8c3BhbiBjbGFzcz0iayI+
KCk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj58fDwvc3Bhbj4gZXJyb3I8c3BhbiBjbGFzcz0iayI+
KDwvc3Bhbj48c3BhbiBjbGFzcz0icyI+IlVuaW9uIHR5cGUgd2l0aCBubyBjb250ZW50Ijwvc3Bh
bj48c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRk
IGNsYXNzPSJsaW5lIj4xOTg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MzwvdGQ+PHRkIGNsYXNzPSJz
b3VyY2UiPiAgICAgICAgICAgIHJldDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPmlkbFR5cGU8c3Bh
biBjbGFzcz0iayI+Ljwvc3Bhbj5wdXNoPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+ZnN0PHNwYW4g
Y2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0i
bGluZSI+MTk5PC90ZD48dGQgY2xhc3M9ImhpdHMiPjM8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4g
ICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+d2hpbGU8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4o
PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj50cnVlPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pPC9zcGFu
PiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQg
Y2xhc3M9ImxpbmUiPjIwMDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj43PC90ZD48dGQgY2xhc3M9InNv
dXJjZSI+ICAgICAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90
ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4yMDE8L3RkPjx0ZCBjbGFz
cz0iaGl0cyI+MTA8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4g
Y2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KCE8L3NwYW4+Y29uc3VtZTxzcGFu
IGNsYXNzPSJrIj4oPC9zcGFuPklEPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNz
PSJzIj4ib3IiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pKTwvc3Bhbj4gPHNwYW4gY2xhc3M9Imsi
PmJyZWFrPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9
ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MjAyPC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ8L3RkPjx0
ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bh
bj4gdHlwIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiB0eXBlPHNwYW4gY2xhc3M9ImsiPigpPC9z
cGFuPiA8c3BhbiBjbGFzcz0iayI+fHw8L3NwYW4+IGVycm9yPHNwYW4gY2xhc3M9ImsiPig8L3Nw
YW4+PHNwYW4gY2xhc3M9InMiPiJObyB0eXBlIGFmdGVyICdvcicgaW4gdW5pb24gdHlwZSI8L3Nw
YW4+PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0
ZCBjbGFzcz0ibGluZSI+MjAzPC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ8L3RkPjx0ZCBjbGFzcz0i
c291cmNlIj4gICAgICAgICAgICAgICAgcmV0PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+aWRsVHlw
ZTxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnB1c2g8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj50eXA8
c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjIw
NDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAg
ICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQg
Y2xhc3M9ImxpbmUiPjIwNTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4zPC90ZD48dGQgY2xhc3M9InNv
dXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0i
ayI+KCE8L3NwYW4+Y29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPk9USEVSPHNwYW4gY2xh
c3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iKSI8L3NwYW4+PHNwYW4gY2xhc3M9Imsi
PikpPC9zcGFuPiBlcnJvcjxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4i
VW50ZXJtaW5hdGVkIHVuaW9uIHR5cGUiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48
L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjIwNjwvdGQ+PHRkIGNs
YXNzPSJoaXRzIj4zPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgdHlwZV9zdWZm
aXg8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5yZXQ8c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90
ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4yMDc8L3RkPjx0ZCBjbGFz
cz0iaGl0cyI+MzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNz
PSJrIj5yZXR1cm48L3NwYW4+IHJldDxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48
dHI+PHRkIGNsYXNzPSJsaW5lIj4yMDg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48c3BhbiBjbGFzcz0i
ayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+MjA5PC90ZD48dGQgY2xh
c3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPC90ZD48L3RyPjx0ciBj
bGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4yMTA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDc8
L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+
IHR5cGUgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5mdW5jdGlvbjwv
c3Bhbj4gPHNwYW4gY2xhc3M9ImsiPigpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48
L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjIxMTwvdGQ+PHRkIGNs
YXNzPSJoaXRzIj4yNjE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBj
bGFzcz0iayI+cmV0dXJuPC9zcGFuPiBzaW5nbGVfdHlwZTxzcGFuIGNsYXNzPSJrIj4oKTwvc3Bh
bj4gPHNwYW4gY2xhc3M9ImsiPnx8PC9zcGFuPiB1bmlvbl90eXBlPHNwYW4gY2xhc3M9ImsiPigp
Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+MjEyPC90ZD48dGQgY2xhc3M9
ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08
L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9Imxp
bmUiPjIxMzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAg
ICAgIDwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MjE0PC90ZD48
dGQgY2xhc3M9ImhpdHMiPjQ3PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8c3BhbiBj
bGFzcz0iayI+dmFyPC9zcGFuPiBhcmd1bWVudCA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNw
YW4gY2xhc3M9ImsiPmZ1bmN0aW9uPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KCk8L3NwYW4+IDxz
cGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFz
cz0ibGluZSI+MjE1PC90ZD48dGQgY2xhc3M9ImhpdHMiPjc5PC90ZD48dGQgY2xhc3M9InNvdXJj
ZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gcmV0IDxzcGFuIGNsYXNz
PSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj4gb3B0aW9uYWw8c3BhbiBjbGFz
cz0iayI+Ojwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPmZhbHNlPC9zcGFuPjxzcGFuIGNsYXNzPSJr
Ij4sPC9zcGFuPiB2YXJpYWRpYzxzcGFuIGNsYXNzPSJrIj46PC9zcGFuPiA8c3BhbiBjbGFzcz0i
ayI+ZmFsc2U8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47
PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MjE2PC90
ZD48dGQgY2xhc3M9ImhpdHMiPjc5PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAg
cmV0PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+ZXh0QXR0cnMgPHNwYW4gY2xhc3M9ImsiPj08L3Nw
YW4+IGV4dGVuZGVkX2F0dHJzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRy
IGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjIxNzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj43
OTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJr
Ij4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4y
MTg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+Nzk8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAg
ICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPmNv
bnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5JRDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8
c3BhbiBjbGFzcz0icyI+Im9wdGlvbmFsIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KSk8L3NwYW4+
IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBj
bGFzcz0ibGluZSI+MjE5PC90ZD48dGQgY2xhc3M9ImhpdHMiPjI8L3RkPjx0ZCBjbGFzcz0ic291
cmNlIj4gICAgICAgICAgICAgICAgcmV0PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+b3B0aW9uYWwg
PHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj50cnVlPC9zcGFuPjxzcGFu
IGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0i
bGluZSI+MjIwPC90ZD48dGQgY2xhc3M9ImhpdHMiPjI8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4g
ICAgICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+
PHRyPjx0ZCBjbGFzcz0ibGluZSI+MjIxPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNs
YXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90
cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MjIyPC90ZD48dGQgY2xhc3M9Imhp
dHMiPjc5PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgcmV0PHNwYW4gY2xhc3M9
ImsiPi48L3NwYW4+dHlwZSA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gdHlwZTxzcGFuIGNsYXNz
PSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5l
Ij4yMjM8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+ODc8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAg
ICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oITwvc3Bh
bj5yZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj50eXBlPHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+
IDxzcGFuIGNsYXNzPSJrIj5yZXR1cm48L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90
ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4yMjQ8L3RkPjx0ZCBjbGFz
cz0iaGl0cyI+NzE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFz
cz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oITwvc3Bhbj5yZXQ8c3BhbiBjbGFzcz0i
ayI+Ljwvc3Bhbj5vcHRpb25hbDxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0i
ayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjIy
NTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj42OTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAg
ICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xh
c3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MjI2PC90ZD48dGQgY2xhc3M9ImhpdHMiPjY5PC90
ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwv
c3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+dG9rZW5zPHNwYW4gY2xhc3M9ImsiPi48L3Nw
YW4+bGVuZ3RoIDxzcGFuIGNsYXNzPSJrIj4+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPjM8L3Nw
YW4+IDxzcGFuIGNsYXNzPSJrIj4mYW1wOyZhbXA7PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNs
YXNzPSJsaW5lIj4yMjc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJj
ZSI+ICAgICAgICAgICAgICAgICAgICB0b2tlbnM8c3BhbiBjbGFzcz0iayI+Wzwvc3Bhbj48c3Bh
biBjbGFzcz0icyI+MDwvc3Bhbj48c3BhbiBjbGFzcz0iayI+XS48L3NwYW4+dHlwZSA8c3BhbiBj
bGFzcz0iayI+PT09PC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+Im90aGVyIjwvc3Bhbj4gPHNwYW4g
Y2xhc3M9ImsiPiZhbXA7JmFtcDs8L3NwYW4+IHRva2VuczxzcGFuIGNsYXNzPSJrIj5bPC9zcGFu
PjxzcGFuIGNsYXNzPSJzIj4wPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj5dLjwvc3Bhbj52YWx1ZSA8
c3BhbiBjbGFzcz0iayI+PT09PC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+Ii4iPC9zcGFuPiA8c3Bh
biBjbGFzcz0iayI+JmFtcDsmYW1wOzwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGlu
ZSI+MjI4PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAg
ICAgICAgICAgICAgICAgdG9rZW5zPHNwYW4gY2xhc3M9ImsiPls8L3NwYW4+PHNwYW4gY2xhc3M9
InMiPjE8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPl0uPC9zcGFuPnR5cGUgPHNwYW4gY2xhc3M9Imsi
Pj09PTwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJvdGhlciI8L3NwYW4+IDxzcGFuIGNsYXNzPSJr
Ij4mYW1wOyZhbXA7PC9zcGFuPiB0b2tlbnM8c3BhbiBjbGFzcz0iayI+Wzwvc3Bhbj48c3BhbiBj
bGFzcz0icyI+MTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+XS48L3NwYW4+dmFsdWUgPHNwYW4gY2xh
c3M9ImsiPj09PTwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiIuIjwvc3Bhbj4gPHNwYW4gY2xhc3M9
ImsiPiZhbXA7JmFtcDs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjIyOTwv
dGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAg
ICAgICAgIHRva2VuczxzcGFuIGNsYXNzPSJrIj5bPC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4yPC9z
cGFuPjxzcGFuIGNsYXNzPSJrIj5dLjwvc3Bhbj50eXBlIDxzcGFuIGNsYXNzPSJrIj49PT08L3Nw
YW4+IDxzcGFuIGNsYXNzPSJzIj4ib3RoZXIiPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+JmFtcDsm
YW1wOzwvc3Bhbj4gdG9rZW5zPHNwYW4gY2xhc3M9ImsiPls8L3NwYW4+PHNwYW4gY2xhc3M9InMi
PjI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPl0uPC9zcGFuPnZhbHVlIDxzcGFuIGNsYXNzPSJrIj49
PT08L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iLiI8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xh
c3M9ImxpbmUiPjIzMDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNl
Ij4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFz
cz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUi
PjIzMTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAg
ICAgICAgICAgICAgICB0b2tlbnM8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5zaGlmdDxzcGFuIGNs
YXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJs
aW5lIj4yMzI8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAg
ICAgICAgICAgICAgICAgICAgdG9rZW5zPHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+c2hpZnQ8c3Bh
biBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFz
cz0ibGluZSI+MjMzPC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ8L3RkPjx0ZCBjbGFzcz0ic291cmNl
Ij4gICAgICAgICAgICAgICAgICAgIHRva2VuczxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnNoaWZ0
PHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQg
Y2xhc3M9ImxpbmUiPjIzNDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40PC90ZD48dGQgY2xhc3M9InNv
dXJjZSI+ICAgICAgICAgICAgICAgICAgICByZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj52YXJp
YWRpYyA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnRydWU8L3NwYW4+
PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjIz
NTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAg
ICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9Imxp
bmUiPjIzNjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAg
ICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQi
PiA8dGQgY2xhc3M9ImxpbmUiPjIzNzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj43MTwvdGQ+PHRkIGNs
YXNzPSJzb3VyY2UiPiAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+
PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4yMzg8L3RkPjx0ZCBj
bGFzcz0iaGl0cyI+NzE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBj
bGFzcz0iayI+dmFyPC9zcGFuPiBuYW1lIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiBjb25zdW1l
PHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+SUQ8c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4g
Y2xhc3M9ImsiPnx8PC9zcGFuPiBlcnJvcjxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNs
YXNzPSJzIj4iTm8gbmFtZSBpbiBhcmd1bWVudCI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7PC9z
cGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MjM5PC90ZD48
dGQgY2xhc3M9ImhpdHMiPjcxPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgcmV0
PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+bmFtZSA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gbmFt
ZTxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnZhbHVlPHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90
ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4yNDA8L3RkPjx0ZCBjbGFz
cz0iaGl0cyI+NzE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFz
cz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPnJldDxzcGFuIGNsYXNzPSJr
Ij4uPC9zcGFuPm9wdGlvbmFsPHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJr
Ij57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MjQx
PC90ZD48dGQgY2xhc3M9ImhpdHMiPjI8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAg
ICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNz
PSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjI0MjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yPC90ZD48
dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIHJldDxzcGFuIGNsYXNzPSJrIj5bPC9z
cGFuPjxzcGFuIGNsYXNzPSJzIj4iZGVmYXVsdCI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPl08L3Nw
YW4+IDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiBkZWZhdWx0XzxzcGFuIGNsYXNzPSJrIj4oKTs8
L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjI0MzwvdGQ+PHRkIGNsYXNzPSJo
aXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+
fTwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjI0NDwv
dGQ+PHRkIGNsYXNzPSJoaXRzIj43MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAg
IDxzcGFuIGNsYXNzPSJrIj5yZXR1cm48L3NwYW4+IHJldDxzcGFuIGNsYXNzPSJrIj47PC9zcGFu
PjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj4yNDU8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+
PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48
c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+MjQ2
PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPC90
ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4yNDc8L3RkPjx0ZCBjbGFz
cz0iaGl0cyI+NDc8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxzcGFuIGNsYXNzPSJr
Ij52YXI8L3NwYW4+IGFyZ3VtZW50X2xpc3QgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFu
IGNsYXNzPSJrIj5mdW5jdGlvbjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPigpPC9zcGFuPiA8c3Bh
biBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9
ImxpbmUiPjI0ODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj41OTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2Ui
PiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IGFyZyA8c3BhbiBjbGFzcz0i
ayI+PTwvc3Bhbj4gYXJndW1lbnQ8c3BhbiBjbGFzcz0iayI+KCksPC9zcGFuPiByZXQgPHNwYW4g
Y2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5bXTs8L3NwYW4+PC90ZD48L3RyPjx0
ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4yNDk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+
Njc8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8
L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oITwvc3Bhbj5hcmc8c3BhbiBjbGFzcz0iayI+KTwvc3Bh
bj4gPHNwYW4gY2xhc3M9ImsiPnJldHVybjwvc3Bhbj4gcmV0PHNwYW4gY2xhc3M9ImsiPjs8L3Nw
YW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4yNTA8L3RkPjx0
ZCBjbGFzcz0iaGl0cyI+NTE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICByZXQ8
c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5wdXNoPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+YXJnPHNw
YW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFz
cz0ibGluZSI+MjUxPC90ZD48dGQgY2xhc3M9ImhpdHMiPjUxPC90ZD48dGQgY2xhc3M9InNvdXJj
ZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPndoaWxlPC9zcGFuPiA8c3BhbiBjbGFzcz0i
ayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0iayI+dHJ1ZTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTwv
c3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4g
PHRkIGNsYXNzPSJsaW5lIj4yNTI8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NzE8L3RkPjx0ZCBjbGFz
cz0ic291cmNlIj4gICAgICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bh
bj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjI1MzwvdGQ+PHRk
IGNsYXNzPSJoaXRzIj4xMjI8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAg
PHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KCE8L3NwYW4+Y29uc3Vt
ZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPk9USEVSPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxz
cGFuIGNsYXNzPSJzIj4iLCI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPikpPC9zcGFuPiA8c3BhbiBj
bGFzcz0iayI+cmV0dXJuPC9zcGFuPiByZXQ8c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwv
dHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjI1NDwvdGQ+PHRkIGNsYXNzPSJo
aXRzIj4yMDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICBhbGxfd3M8c3Bh
biBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFz
cz0ibGluZSI+MjU1PC90ZD48dGQgY2xhc3M9ImhpdHMiPjIwPC90ZD48dGQgY2xhc3M9InNvdXJj
ZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IG54dCA8c3BhbiBj
bGFzcz0iayI+PTwvc3Bhbj4gYXJndW1lbnQ8c3BhbiBjbGFzcz0iayI+KCk8L3NwYW4+IDxzcGFu
IGNsYXNzPSJrIj58fDwvc3Bhbj4gZXJyb3I8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3BhbiBj
bGFzcz0icyI+IlRyYWlsaW5nIGNvbW1hIGluIGFyZ3VtZW50cyBsaXN0Ijwvc3Bhbj48c3BhbiBj
bGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJs
aW5lIj4yNTY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MjA8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4g
ICAgICAgICAgICAgICAgcmV0PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+cHVzaDxzcGFuIGNsYXNz
PSJrIj4oPC9zcGFuPm54dDxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0
ZCBjbGFzcz0ibGluZSI+MjU3PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJz
b3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90cj48dHI+
PHRkIGNsYXNzPSJsaW5lIj4yNTg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9
InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+
Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+MjU5PC90ZD48dGQgY2xhc3M9
ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPC90ZD48L3RyPjx0ciBjbGFz
cz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4yNjA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDc8L3Rk
Pjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IHNp
bXBsZV9leHRlbmRlZF9hdHRyIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0i
ayI+ZnVuY3Rpb248L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oKTwvc3Bhbj4gPHNwYW4gY2xhc3M9
ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4y
NjE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTc8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAg
ICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9
ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MjYyPC90ZD48dGQgY2xhc3M9ImhpdHMiPjE3PC90ZD48
dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4g
bmFtZSA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gY29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9z
cGFuPklEPHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+
IDx0ZCBjbGFzcz0ibGluZSI+MjYzPC90ZD48dGQgY2xhc3M9ImhpdHMiPjE3PC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBj
bGFzcz0iayI+KCE8L3NwYW4+bmFtZTxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFz
cz0iayI+cmV0dXJuPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIg
Y2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MjY0PC90ZD48dGQgY2xhc3M9ImhpdHMiPjE3
PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwv
c3Bhbj4gcmV0IDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bh
bj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+MjY1PC90ZD48dGQgY2xhc3M9ImhpdHMi
PjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICBuYW1lPHNwYW4gY2xhc3M9
ImsiPjo8L3NwYW4+IG5hbWU8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj52YWx1ZTwvdGQ+PC90cj48
dHI+PHRkIGNsYXNzPSJsaW5lIj4yNjY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+ICAgPHNwYW4g
Y2xhc3M9InMiPiJhcmd1bWVudHMiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj46PC9zcGFuPiA8c3Bh
biBjbGFzcz0iayI+bnVsbDwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+MjY3
PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAg
IDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90
cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MjY4PC90ZD48dGQgY2xhc3M9Imhp
dHMiPjE3PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xh
c3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9Imxp
bmUiPjI2OTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xNzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAg
ICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IGVxIDxzcGFuIGNsYXNzPSJrIj49
PC9zcGFuPiBjb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+T1RIRVI8c3BhbiBjbGFzcz0i
ayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiI9Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTs8
L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4yNzA8L3Rk
Pjx0ZCBjbGFzcz0iaGl0cyI+MTc8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8
c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPmVxPHNwYW4g
Y2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIg
Y2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MjcxPC90ZD48dGQgY2xhc3M9ImhpdHMiPjU8
L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9
ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUi
PjI3MjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj41PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAg
ICAgICAgICAgIHJldDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnJocyA8c3BhbiBjbGFzcz0iayI+
PTwvc3Bhbj4gY29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPklEPHNwYW4gY2xhc3M9Imsi
Pik7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+Mjcz
PC90ZD48dGQgY2xhc3M9ImhpdHMiPjU8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAg
ICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KCE8L3NwYW4+
cmV0PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+cmhzPHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxz
cGFuIGNsYXNzPSJrIj5yZXR1cm48L3NwYW4+IGVycm9yPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+
PHNwYW4gY2xhc3M9InMiPiJObyByaWdodCBoYW5kIHNpZGUgdG8gZXh0ZW5kZWQgYXR0cmlidXRl
IGFzc2lnbm1lbnQiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRy
Pjx0ZCBjbGFzcz0ibGluZSI+Mjc0PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNz
PSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90cj48
dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+Mjc1PC90ZD48dGQgY2xhc3M9ImhpdHMi
PjE3PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9
ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUi
PjI3NjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xNzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAg
ICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+
Y29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPk9USEVSPHNwYW4gY2xhc3M9ImsiPiw8L3Nw
YW4+IDxzcGFuIGNsYXNzPSJzIj4iKCI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPikpPC9zcGFuPiA8
c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xh
c3M9ImxpbmUiPjI3NzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yPC90ZD48dGQgY2xhc3M9InNvdXJj
ZSI+ICAgICAgICAgICAgICAgIHJldDxzcGFuIGNsYXNzPSJrIj5bPC9zcGFuPjxzcGFuIGNsYXNz
PSJzIj4iYXJndW1lbnRzIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+XTwvc3Bhbj4gPHNwYW4gY2xh
c3M9ImsiPj08L3NwYW4+IGFyZ3VtZW50X2xpc3Q8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwv
dGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+Mjc4PC90ZD48dGQgY2xh
c3M9ImhpdHMiPjI8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgYWxsX3dz
PHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQg
Y2xhc3M9ImxpbmUiPjI3OTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yPC90ZD48dGQgY2xhc3M9InNv
dXJjZSI+ICAgICAgICAgICAgICAgIGNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5PVEhF
UjxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+IikiPC9zcGFuPjxzcGFu
IGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+fHw8L3NwYW4+IGVycm9yPHNwYW4g
Y2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9InMiPiJVbmNsb3NlZCBhcmd1bWVudCBpbiBl
eHRlbmRlZCBhdHRyaWJ1dGUiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwv
dHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+MjgwPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRk
IGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+
PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MjgxPC90ZD48dGQgY2xhc3M9
ImhpdHMiPjE3PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9
ImsiPnJldHVybjwvc3Bhbj4gcmV0PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0
cj48dGQgY2xhc3M9ImxpbmUiPjI4MjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFz
cz0ic291cmNlIj4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjxzcGFuIGNsYXNzPSJr
Ij47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj4yODM8L3RkPjx0ZCBjbGFz
cz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8L3RkPjwvdHI+PHRyPjx0
ZCBjbGFzcz0ibGluZSI+Mjg0PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJz
b3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9ImMiPi8vIE5vdGU6IHdlIHBhcnNlIHNvbWV0aGlu
ZyBzaW1wbGVyIHRoYW4gdGhlIG9mZmljaWFsIHN5bnRheC4gSXQncyBhbGwgdGhhdCBldmVyPC9z
cGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj4yODU8L3RkPjx0ZCBjbGFzcz0iaGl0
cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFzcz0iYyI+Ly8gc2Vl
bXMgdG8gYmUgdXNlZDwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9
ImxpbmUiPjI4NjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40NzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2Ui
PiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gZXh0ZW5kZWRfYXR0cnMgPHNwYW4g
Y2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5mdW5jdGlvbjwvc3Bhbj4gPHNwYW4g
Y2xhc3M9ImsiPigpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRy
IGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjI4NzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40
MTU8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFy
PC9zcGFuPiBlYXMgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5bXTs8
L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4yODg8L3Rk
Pjx0ZCBjbGFzcz0iaGl0cyI+NDE1PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAg
YWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQi
PiA8dGQgY2xhc3M9ImxpbmUiPjI4OTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj44MTU8L3RkPjx0ZCBj
bGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFu
IGNsYXNzPSJrIj4oITwvc3Bhbj5jb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+T1RIRVI8
c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJbIjwvc3Bhbj48c3BhbiBj
bGFzcz0iayI+KSk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5yZXR1cm48L3NwYW4+IGVhczxzcGFu
IGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0i
bGluZSI+MjkwPC90ZD48dGQgY2xhc3M9ImhpdHMiPjE1PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+
ICAgICAgICAgICAgZWFzPHNwYW4gY2xhc3M9ImsiPls8L3NwYW4+PHNwYW4gY2xhc3M9InMiPjA8
L3NwYW4+PHNwYW4gY2xhc3M9ImsiPl08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiBz
aW1wbGVfZXh0ZW5kZWRfYXR0cjxzcGFuIGNsYXNzPSJrIj4oKTwvc3Bhbj4gPHNwYW4gY2xhc3M9
ImsiPnx8PC9zcGFuPiBlcnJvcjxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJz
Ij4iRXh0ZW5kZWQgYXR0cmlidXRlIHdpdGggbm90IGNvbnRlbnQiPC9zcGFuPjxzcGFuIGNsYXNz
PSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUi
PjI5MTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xNTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAg
ICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFz
cz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4yOTI8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTU8L3Rk
Pjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+d2hpbGU8L3Nw
YW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPmNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bh
bj5PVEhFUjxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+IiwiPC9zcGFu
PjxzcGFuIGNsYXNzPSJrIj4pKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48
L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4yOTM8L3RkPjx0ZCBjbGFzcz0i
aGl0cyI+MjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICBhbGxfd3M8c3Bh
biBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFz
cz0ibGluZSI+Mjk0PC90ZD48dGQgY2xhc3M9ImhpdHMiPjI8L3RkPjx0ZCBjbGFzcz0ic291cmNl
Ij4gICAgICAgICAgICAgICAgZWFzPHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+cHVzaDxzcGFuIGNs
YXNzPSJrIj4oPC9zcGFuPnNpbXBsZV9leHRlbmRlZF9hdHRyPHNwYW4gY2xhc3M9ImsiPigpPC9z
cGFuPiA8c3BhbiBjbGFzcz0iayI+fHw8L3NwYW4+IGVycm9yPHNwYW4gY2xhc3M9ImsiPig8L3Nw
YW4+PHNwYW4gY2xhc3M9InMiPiJUcmFpbGluZyBjb21tYSBpbiBleHRlbmRlZCBhdHRyaWJ1dGUi
PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0
Ij4gPHRkIGNsYXNzPSJsaW5lIj4yOTU8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MjwvdGQ+PHRkIGNs
YXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9z
cGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj4yOTY8L3RkPjx0ZCBjbGFzcz0iaGl0
cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08
L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4yOTc8L3Rk
Pjx0ZCBjbGFzcz0iaGl0cyI+MTU8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICBj
b25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+T1RIRVI8c3BhbiBjbGFzcz0iayI+LDwvc3Bh
bj4gPHNwYW4gY2xhc3M9InMiPiJdIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNw
YW4gY2xhc3M9ImsiPnx8PC9zcGFuPiBlcnJvcjxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFu
IGNsYXNzPSJzIj4iTm8gZW5kIG9mIGV4dGVuZGVkIGF0dHJpYnV0ZSI8L3NwYW4+PHNwYW4gY2xh
c3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGlu
ZSI+Mjk4PC90ZD48dGQgY2xhc3M9ImhpdHMiPjE1PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAg
ICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnJldHVybjwvc3Bhbj4gZWFzPHNwYW4gY2xhc3M9Imsi
Pjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjI5OTwvdGQ+PHRkIGNsYXNz
PSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj59
PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJs
aW5lIj4zMDA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAg
ICAgICA8L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjMwMTwvdGQ+
PHRkIGNsYXNzPSJoaXRzIj40NzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4g
Y2xhc3M9ImsiPnZhcjwvc3Bhbj4gZGVmYXVsdF8gPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxz
cGFuIGNsYXNzPSJrIj5mdW5jdGlvbjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPigpPC9zcGFuPiA8
c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xh
c3M9ImxpbmUiPjMwMjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xMTwvdGQ+PHRkIGNsYXNzPSJzb3Vy
Y2UiPiAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3Ry
Pjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4zMDM8L3RkPjx0ZCBjbGFzcz0iaGl0
cyI+MTE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+
aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPmNvbnN1bWU8c3BhbiBjbGFzcz0iayI+
KDwvc3Bhbj5PVEhFUjxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+Ij0i
PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+
PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4zMDQ8L3RkPjx0ZCBj
bGFzcz0iaGl0cyI+NTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICBhbGxf
d3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0
ZCBjbGFzcz0ibGluZSI+MzA1PC90ZD48dGQgY2xhc3M9ImhpdHMiPjU8L3RkPjx0ZCBjbGFzcz0i
c291cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gZGVmIDxz
cGFuIGNsYXNzPSJrIj49PC9zcGFuPiBjb25zdF92YWx1ZTxzcGFuIGNsYXNzPSJrIj4oKTs8L3Nw
YW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4zMDY8L3RkPjx0
ZCBjbGFzcz0iaGl0cyI+NTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8
c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNs
YXNzPSJrIj50eXBlb2Y8L3NwYW4+IGRlZiA8c3BhbiBjbGFzcz0iayI+IT09PC9zcGFuPiA8c3Bh
biBjbGFzcz0icyI+InVuZGVmaW5lZCI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxz
cGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFz
cz0ibGluZSI+MzA3PC90ZD48dGQgY2xhc3M9ImhpdHMiPjM8L3RkPjx0ZCBjbGFzcz0ic291cmNl
Ij4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5yZXR1cm48L3NwYW4+IGRlZjxz
cGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj4zMDg8
L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAg
ICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5l
Ij4zMDk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAg
ICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5lbHNlPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwv
c3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjMxMDwvdGQ+
PHRkIGNsYXNzPSJoaXRzIj4yPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAg
ICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiBzdHIgPHNwYW4gY2xhc3M9ImsiPj08L3Nw
YW4+IGNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5TVFI8c3BhbiBjbGFzcz0iayI+KTwv
c3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnx8PC9zcGFuPiBlcnJvcjxzcGFuIGNsYXNzPSJrIj4oPC9z
cGFuPjxzcGFuIGNsYXNzPSJzIj4iTm8gdmFsdWUgZm9yIGRlZmF1bHQiPC9zcGFuPjxzcGFuIGNs
YXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9Imxp
bmUiPjMxMTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAg
ICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+cmV0dXJuPC9zcGFuPiBzdHI8c3BhbiBj
bGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+MzEyPC90ZD48
dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8
c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+MzEz
PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAg
IDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj4z
MTQ8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8
c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+
PHRyPjx0ZCBjbGFzcz0ibGluZSI+MzE1PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNs
YXNzPSJzb3VyY2UiPiAgICAgICAgPC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNz
PSJsaW5lIj4zMTY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDc8L3RkPjx0ZCBjbGFzcz0ic291cmNl
Ij4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IGNvbnN0XyA8c3BhbiBjbGFzcz0i
ayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPmZ1bmN0aW9uPC9zcGFuPiA8c3BhbiBjbGFzcz0i
ayI+KCk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9
ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MzE3PC90ZD48dGQgY2xhc3M9ImhpdHMiPjE4MDwvdGQ+
PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8
L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4zMTg8L3Rk
Pjx0ZCBjbGFzcz0iaGl0cyI+MzQ4PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAg
PHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KCE8L3NwYW4+Y29uc3Vt
ZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPklEPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFu
IGNsYXNzPSJzIj4iY29uc3QiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pKTwvc3Bhbj4gPHNwYW4g
Y2xhc3M9ImsiPnJldHVybjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+
PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjMxOTwvdGQ+PHRkIGNsYXNzPSJoaXRz
Ij4xMjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj52
YXI8L3NwYW4+IHJldCA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8
L3NwYW4+IHR5cGU8c3BhbiBjbGFzcz0iayI+Ojwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJjb25z
dCI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IG51bGxhYmxlPHNwYW4gY2xhc3M9Imsi
Pjo8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5mYWxzZTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPn08
L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4g
PHRkIGNsYXNzPSJsaW5lIj4zMjA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTI8L3RkPjx0ZCBjbGFz
cz0ic291cmNlIj4gICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwv
dGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MzIxPC90ZD48dGQgY2xh
c3M9ImhpdHMiPjEyPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xh
c3M9ImsiPnZhcjwvc3Bhbj4gdHlwIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiBwcmltaXRpdmVf
dHlwZTxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4g
PHRkIGNsYXNzPSJsaW5lIj4zMjI8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTI8L3RkPjx0ZCBjbGFz
cz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNs
YXNzPSJrIj4oITwvc3Bhbj50eXA8c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9
ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0ibWlzcyI+IDx0ZCBjbGFzcz0ibGluZSI+
MzIzPC90ZD48dGQgY2xhc3M9ImhpdHMiPjA8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAg
ICAgICAgICAgdHlwIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiBjb25zdW1lPHNwYW4gY2xhc3M9
ImsiPig8L3NwYW4+SUQ8c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnx8
PC9zcGFuPiBlcnJvcjxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4iTm8g
dHlwZSBmb3IgY29uc3QiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+
PHRyIGNsYXNzPSJtaXNzIj4gPHRkIGNsYXNzPSJsaW5lIj4zMjQ8L3RkPjx0ZCBjbGFzcz0iaGl0
cyI+MDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICB0eXAgPHNwYW4gY2xh
c3M9ImsiPj08L3NwYW4+IHR5cDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnZhbHVlPHNwYW4gY2xh
c3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjMyNTwvdGQ+PHRk
IGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBj
bGFzcz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9Imxp
bmUiPjMyNjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xMjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAg
ICAgICAgICAgIHJldDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPmlkbFR5cGUgPHNwYW4gY2xhc3M9
ImsiPj08L3NwYW4+IHR5cDxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xh
c3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MzI3PC90ZD48dGQgY2xhc3M9ImhpdHMiPjEyPC90
ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigp
Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjMyODwv
dGQ+PHRkIGNsYXNzPSJoaXRzIj4xMjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAg
IDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+Y29uc3Vt
ZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPk9USEVSPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxz
cGFuIGNsYXNzPSJzIj4iPyI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPikpPC9zcGFuPiA8c3BhbiBj
bGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9Imxp
bmUiPjMyOTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAg
ICAgICAgICAgICAgIHJldDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPm51bGxhYmxlIDxzcGFuIGNs
YXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+dHJ1ZTwvc3Bhbj48c3BhbiBjbGFzcz0i
ayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjMz
MDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAg
ICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQg
Y2xhc3M9ImxpbmUiPjMzMTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291
cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+PHRyIGNs
YXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjMzMjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xMjwv
dGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3Nw
YW4+IG5hbWUgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IGNvbnN1bWU8c3BhbiBjbGFzcz0iayI+
KDwvc3Bhbj5JRDxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+fHw8L3Nw
YW4+IGVycm9yPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9InMiPiJObyBuYW1l
IGZvciBjb25zdCI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIg
Y2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MzMzPC90ZD48dGQgY2xhc3M9ImhpdHMiPjEy
PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgcmV0PHNwYW4gY2xhc3M9ImsiPi48
L3NwYW4+bmFtZSA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gbmFtZTxzcGFuIGNsYXNzPSJrIj4u
PC9zcGFuPnZhbHVlPHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0i
aGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4zMzQ8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTI8L3RkPjx0
ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9z
cGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MzM1PC90ZD48
dGQgY2xhc3M9ImhpdHMiPjEyPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgY29u
c3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPk9USEVSPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+
IDxzcGFuIGNsYXNzPSJzIj4iPSI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFu
IGNsYXNzPSJrIj58fDwvc3Bhbj4gZXJyb3I8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3BhbiBj
bGFzcz0icyI+Ik5vIHZhbHVlIGFzc2lnbm1lbnQgZm9yIGNvbnN0Ijwvc3Bhbj48c3BhbiBjbGFz
cz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5l
Ij4zMzY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTI8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAg
ICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xh
c3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MzM3PC90ZD48dGQgY2xhc3M9ImhpdHMiPjEyPC90
ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bh
bj4gY250IDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiBjb25zdF92YWx1ZTxzcGFuIGNsYXNzPSJr
Ij4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4z
Mzg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MjQ8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAg
ICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxz
cGFuIGNsYXNzPSJrIj50eXBlb2Y8L3NwYW4+IGNudCA8c3BhbiBjbGFzcz0iayI+IT09PC9zcGFu
PiA8c3BhbiBjbGFzcz0icyI+InVuZGVmaW5lZCI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik8L3Nw
YW4+IHJldDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnZhbHVlIDxzcGFuIGNsYXNzPSJrIj49PC9z
cGFuPiBjbnQ8c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJtaXNz
Ij4gPHRkIGNsYXNzPSJsaW5lIj4zMzk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MDwvdGQ+PHRkIGNs
YXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5lbHNlPC9zcGFuPiBlcnJv
cjxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4iTm8gdmFsdWUgZm9yIGNv
bnN0Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0i
aGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4zNDA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTI8L3RkPjx0
ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9z
cGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MzQxPC90ZD48
dGQgY2xhc3M9ImhpdHMiPjEyPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgY29u
c3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPk9USEVSPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+
IDxzcGFuIGNsYXNzPSJzIj4iOyI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFu
IGNsYXNzPSJrIj58fDwvc3Bhbj4gZXJyb3I8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3BhbiBj
bGFzcz0icyI+IlVudGVybWluYXRlZCBjb25zdCI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7PC9z
cGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MzQyPC90ZD48
dGQgY2xhc3M9ImhpdHMiPjEyPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNw
YW4gY2xhc3M9ImsiPnJldHVybjwvc3Bhbj4gcmV0PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90
ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjM0MzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3Rk
Pjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjxzcGFu
IGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj4zNDQ8L3Rk
Pjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8L3RkPjwv
dHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjM0NTwvdGQ+PHRkIGNsYXNzPSJo
aXRzIj40NzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZh
cjwvc3Bhbj4gaW5oZXJpdGFuY2UgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNz
PSJrIj5mdW5jdGlvbjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPigpPC9zcGFuPiA8c3BhbiBjbGFz
cz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUi
PjM0NjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj44OTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAg
ICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFz
cz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4zNDc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+ODk8L3Rk
Pjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+
IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPmNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5P
VEhFUjxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+IjoiPC9zcGFuPjxz
cGFuIGNsYXNzPSJrIj4pKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3Ry
Pjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4zNDg8L3RkPjx0ZCBjbGFzcz0iaGl0
cyI+OTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICBhbGxfd3M8c3BhbiBj
bGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0i
bGluZSI+MzQ5PC90ZD48dGQgY2xhc3M9ImhpdHMiPjk8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4g
ICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gaW5oIDxzcGFuIGNsYXNz
PSJrIj49PC9zcGFuPiBjb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+SUQ8c3BhbiBjbGFz
cz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnx8PC9zcGFuPiBlcnJvciA8c3BhbiBjbGFz
cz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0icyI+Ik5vIHR5cGUgaW4gaW5oZXJpdGFuY2UiPC9z
cGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8
dGQgY2xhc3M9ImxpbmUiPjM1MDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj45PC90ZD48dGQgY2xhc3M9
InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5yZXR1cm48L3NwYW4+IGlu
aDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnZhbHVlPHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90
ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjM1MTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3Rk
Pjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48
L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+MzUyPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwv
dGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PHNw
YW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjM1Mzwv
dGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDwvdGQ+
PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MzU0PC90ZD48dGQgY2xhc3M9
ImhpdHMiPjQ3PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFzcz0iayI+
dmFyPC9zcGFuPiBvcGVyYXRpb25fcmVzdCA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4g
Y2xhc3M9ImsiPmZ1bmN0aW9uPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5yZXQ8c3Bh
biBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0
ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4zNTU8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+
NTY8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0i
ayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+
MzU2PC90ZD48dGQgY2xhc3M9ImhpdHMiPjU3PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAg
ICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KCE8L3NwYW4+
cmV0PHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IHJldCA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4g
PHNwYW4gY2xhc3M9ImsiPnt9PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90
cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MzU3PC90ZD48dGQgY2xhc3M9Imhp
dHMiPjU2PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9Imsi
PnZhcjwvc3Bhbj4gbmFtZSA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gY29uc3VtZTxzcGFuIGNs
YXNzPSJrIj4oPC9zcGFuPklEPHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIg
Y2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MzU4PC90ZD48dGQgY2xhc3M9ImhpdHMiPjU2
PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgcmV0PHNwYW4gY2xhc3M9ImsiPi48
L3NwYW4+bmFtZSA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gbmFtZSA8c3BhbiBjbGFzcz0iayI+
Pzwvc3Bhbj4gbmFtZTxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnZhbHVlIDxzcGFuIGNsYXNzPSJr
Ij46PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+bnVsbDwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwv
c3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjM1OTwvdGQ+
PHRkIGNsYXNzPSJoaXRzIj41NjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIGFs
bF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4g
PHRkIGNsYXNzPSJsaW5lIj4zNjA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NTY8L3RkPjx0ZCBjbGFz
cz0ic291cmNlIj4gICAgICAgICAgICBjb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+T1RI
RVI8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiIoIjwvc3Bhbj48c3Bh
biBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnx8PC9zcGFuPiBlcnJvcjxzcGFu
IGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4iSW52YWxpZCBvcGVyYXRpb24iPC9z
cGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8
dGQgY2xhc3M9ImxpbmUiPjM2MTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj41NjwvdGQ+PHRkIGNsYXNz
PSJzb3VyY2UiPiAgICAgICAgICAgIHJldDxzcGFuIGNsYXNzPSJrIj5bPC9zcGFuPjxzcGFuIGNs
YXNzPSJzIj4iYXJndW1lbnRzIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+XTwvc3Bhbj4gPHNwYW4g
Y2xhc3M9ImsiPj08L3NwYW4+IGFyZ3VtZW50X2xpc3Q8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFu
PjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MzYyPC90ZD48dGQg
Y2xhc3M9ImhpdHMiPjU2PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgYWxsX3dz
PHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQg
Y2xhc3M9ImxpbmUiPjM2MzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj41NjwvdGQ+PHRkIGNsYXNzPSJz
b3VyY2UiPiAgICAgICAgICAgIGNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5PVEhFUjxz
cGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+IikiPC9zcGFuPjxzcGFuIGNs
YXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+fHw8L3NwYW4+IGVycm9yPHNwYW4gY2xh
c3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9InMiPiJVbnRlcm1pbmF0ZWQgb3BlcmF0aW9uIjwv
c3Bhbj48c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4g
PHRkIGNsYXNzPSJsaW5lIj4zNjQ8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NTY8L3RkPjx0ZCBjbGFz
cz0ic291cmNlIj4gICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwv
dGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MzY1PC90ZD48dGQgY2xh
c3M9ImhpdHMiPjU2PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgY29uc3VtZTxz
cGFuIGNsYXNzPSJrIj4oPC9zcGFuPk9USEVSPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFu
IGNsYXNzPSJzIj4iOyI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNz
PSJrIj58fDwvc3Bhbj4gZXJyb3I8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0i
cyI+IlVudGVybWluYXRlZCBvcGVyYXRpb24iPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bh
bj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjM2NjwvdGQ+PHRk
IGNsYXNzPSJoaXRzIj41NjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFu
IGNsYXNzPSJrIj5yZXR1cm48L3NwYW4+IHJldDxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+
PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj4zNjc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48
dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48c3BhbiBj
bGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+MzY4PC90ZD48
dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPC90ZD48L3Ry
Pjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4zNjk8L3RkPjx0ZCBjbGFzcz0iaGl0
cyI+NDc8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8
L3NwYW4+IGNhbGxiYWNrIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+
ZnVuY3Rpb248L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oKTwvc3Bhbj4gPHNwYW4gY2xhc3M9Imsi
Pns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4zNzA8
L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTQ0PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAg
ICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJo
aXQiPiA8dGQgY2xhc3M9ImxpbmUiPjM3MTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xNDQ8L3RkPjx0
ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiBy
ZXQ8c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQg
Y2xhc3M9ImxpbmUiPjM3MjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yODY8L3RkPjx0ZCBjbGFzcz0i
c291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNz
PSJrIj4oITwvc3Bhbj5jb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+SUQ8c3BhbiBjbGFz
cz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJjYWxsYmFjayI8L3NwYW4+PHNwYW4gY2xh
c3M9ImsiPikpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+cmV0dXJuPC9zcGFuPjxzcGFuIGNsYXNz
PSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+
MzczPC90ZD48dGQgY2xhc3M9ImhpdHMiPjI8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAg
ICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9
ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+Mzc0PC90ZD48dGQgY2xhc3M9ImhpdHMiPjI8L3RkPjx0
ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiB0
b2sgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IGNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bh
bj5JRDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+ImludGVyZmFjZSI8
L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+
IDx0ZCBjbGFzcz0ibGluZSI+Mzc1PC90ZD48dGQgY2xhc3M9ImhpdHMiPjI8L3RkPjx0ZCBjbGFz
cz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNs
YXNzPSJrIj4oPC9zcGFuPnRvazxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0i
ayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjM3
NjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAg
ICAgICAgIHRva2VuczxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnVuc2hpZnQ8c3BhbiBjbGFzcz0i
ayI+KDwvc3Bhbj50b2s8c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFz
cz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4zNzc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTwvdGQ+
PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICByZXQgPHNwYW4gY2xhc3M9ImsiPj08
L3NwYW4+IGludGVyZmFjZV88c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIg
Y2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+Mzc4PC90ZD48dGQgY2xhc3M9ImhpdHMiPjE8
L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgcmV0PHNwYW4gY2xhc3M9Imsi
Pi48L3NwYW4+dHlwZSA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJj
YWxsYmFjayBpbnRlcmZhY2UiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90
cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+Mzc5PC90ZD48dGQgY2xhc3M9Imhp
dHMiPjE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9
ImsiPnJldHVybjwvc3Bhbj4gcmV0PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0
cj48dGQgY2xhc3M9ImxpbmUiPjM4MDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFz
cz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+
PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjM4MTwvdGQ+PHRkIGNsYXNzPSJoaXRz
Ij4xPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZh
cjwvc3Bhbj4gbmFtZSA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gY29uc3VtZTxzcGFuIGNsYXNz
PSJrIj4oPC9zcGFuPklEPHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj58
fDwvc3Bhbj4gZXJyb3I8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0icyI+Ik5v
IG5hbWUgZm9yIGNhbGxiYWNrIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48
L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4zODI8L3RkPjx0ZCBjbGFzcz0i
aGl0cyI+MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIHJldCA8c3BhbiBjbGFz
cz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+IHR5cGU8c3BhbiBjbGFzcz0i
ayI+Ojwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJjYWxsYmFjayI8L3NwYW4+PHNwYW4gY2xhc3M9
ImsiPiw8L3NwYW4+IG5hbWU8c3BhbiBjbGFzcz0iayI+Ojwvc3Bhbj4gbmFtZTxzcGFuIGNsYXNz
PSJrIj4uPC9zcGFuPnZhbHVlIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjxzcGFuIGNsYXNzPSJr
Ij47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+Mzgz
PC90ZD48dGQgY2xhc3M9ImhpdHMiPjE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAg
ICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9Imhp
dCI+IDx0ZCBjbGFzcz0ibGluZSI+Mzg0PC90ZD48dGQgY2xhc3M9ImhpdHMiPjE8L3RkPjx0ZCBj
bGFzcz0ic291cmNlIj4gICAgICAgICAgICBjb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+
T1RIRVI8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiI9Ijwvc3Bhbj48
c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnx8PC9zcGFuPiBlcnJvcjxz
cGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4iTm8gYXNzaWdubWVudCBpbiBj
YWxsYmFjayI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xh
c3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+Mzg1PC90ZD48dGQgY2xhc3M9ImhpdHMiPjE8L3Rk
Pjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7
PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+Mzg2PC90
ZD48dGQgY2xhc3M9ImhpdHMiPjE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICBy
ZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5pZGxUeXBlIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFu
PiByZXR1cm5fdHlwZTxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFz
cz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4zODc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTwvdGQ+
PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8
L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4zODg8L3Rk
Pjx0ZCBjbGFzcz0iaGl0cyI+MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIGNv
bnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5PVEhFUjxzcGFuIGNsYXNzPSJrIj4sPC9zcGFu
PiA8c3BhbiBjbGFzcz0icyI+IigiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3Bh
biBjbGFzcz0iayI+fHw8L3NwYW4+IGVycm9yPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4g
Y2xhc3M9InMiPiJObyBhcmd1bWVudHMgaW4gY2FsbGJhY2siPC9zcGFuPjxzcGFuIGNsYXNzPSJr
Ij4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjM4
OTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAg
ICAgcmV0PHNwYW4gY2xhc3M9ImsiPls8L3NwYW4+PHNwYW4gY2xhc3M9InMiPiJhcmd1bWVudHMi
PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj5dPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4g
YXJndW1lbnRfbGlzdDxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFz
cz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4zOTA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTwvdGQ+
PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8
L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4zOTE8L3Rk
Pjx0ZCBjbGFzcz0iaGl0cyI+MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIGNv
bnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5PVEhFUjxzcGFuIGNsYXNzPSJrIj4sPC9zcGFu
PiA8c3BhbiBjbGFzcz0icyI+IikiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3Bh
biBjbGFzcz0iayI+fHw8L3NwYW4+IGVycm9yPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4g
Y2xhc3M9InMiPiJVbnRlcm1pbmF0ZWQgY2FsbGJhY2siPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4p
Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjM5Mjwv
dGQ+PHRkIGNsYXNzPSJoaXRzIj4xPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAg
YWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQi
PiA8dGQgY2xhc3M9ImxpbmUiPjM5MzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xPC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+ICAgICAgICAgICAgY29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPk9U
SEVSPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iOyI8L3NwYW4+PHNw
YW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj58fDwvc3Bhbj4gZXJyb3I8c3Bh
biBjbGFzcz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0icyI+IlVudGVybWluYXRlZCBjYWxsYmFj
ayI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9Imhp
dCI+IDx0ZCBjbGFzcz0ibGluZSI+Mzk0PC90ZD48dGQgY2xhc3M9ImhpdHMiPjE8L3RkPjx0ZCBj
bGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+cmV0dXJuPC9zcGFuPiBy
ZXQ8c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+
Mzk1PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAg
PHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3Ry
Pjx0cj48dGQgY2xhc3M9ImxpbmUiPjM5NjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBj
bGFzcz0ic291cmNlIj4gPC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5l
Ij4zOTc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDc8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAg
ICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IGF0dHJpYnV0ZSA8c3BhbiBjbGFzcz0iayI+
PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPmZ1bmN0aW9uPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+
KCk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9Imhp
dCI+IDx0ZCBjbGFzcz0ibGluZSI+Mzk4PC90ZD48dGQgY2xhc3M9ImhpdHMiPjE1NDwvdGQ+PHRk
IGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3Nw
YW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4zOTk8L3RkPjx0
ZCBjbGFzcz0iaGl0cyI+MTU0PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNw
YW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gZ3JhYmJlZCA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4g
PHNwYW4gY2xhc3M9ImsiPltdPC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj40
MDA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAg
ICAgPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+ICAgcmV0IDxzcGFuIGNsYXNzPSJrIj49PC9zcGFu
PiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+
NDAxPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAg
ICAgICAgICB0eXBlPHNwYW4gY2xhc3M9ImsiPjo8L3NwYW4+ICAgICAgICAgICA8c3BhbiBjbGFz
cz0icyI+ImF0dHJpYnV0ZSI8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjQw
MjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAg
ICA8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gICA8c3BhbiBjbGFzcz0icyI+InN0YXRpYyI8L3Nw
YW4+PHNwYW4gY2xhc3M9ImsiPjo8L3NwYW4+ICAgICAgIDxzcGFuIGNsYXNzPSJrIj5mYWxzZTwv
c3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NDAzPC90ZD48dGQgY2xhc3M9Imhp
dHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj4s
PC9zcGFuPiAgIHN0cmluZ2lmaWVyPHNwYW4gY2xhc3M9ImsiPjo8L3NwYW4+ICAgIDxzcGFuIGNs
YXNzPSJrIj5mYWxzZTwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NDA0PC90
ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxz
cGFuIGNsYXNzPSJrIj4sPC9zcGFuPiAgIGluaGVyaXQ8c3BhbiBjbGFzcz0iayI+Ojwvc3Bhbj4g
ICAgICAgIDxzcGFuIGNsYXNzPSJrIj5mYWxzZTwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFz
cz0ibGluZSI+NDA1PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2Ui
PiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiAgIHJlYWRvbmx5PHNwYW4gY2xh
c3M9ImsiPjo8L3NwYW4+ICAgICAgIDxzcGFuIGNsYXNzPSJrIj5mYWxzZTwvc3Bhbj48L3RkPjwv
dHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NDA2PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRk
IGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjxzcGFu
IGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0i
bGluZSI+NDA3PC90ZD48dGQgY2xhc3M9ImhpdHMiPjE1NDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2Ui
PiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8
L3NwYW4+Y29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPklEPHNwYW4gY2xhc3M9ImsiPiw8
L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4ic3RhdGljIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KSk8
L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+
IDx0ZCBjbGFzcz0ibGluZSI+NDA4PC90ZD48dGQgY2xhc3M9ImhpdHMiPjI8L3RkPjx0ZCBjbGFz
cz0ic291cmNlIj4gICAgICAgICAgICAgICAgcmV0PHNwYW4gY2xhc3M9ImsiPls8L3NwYW4+PHNw
YW4gY2xhc3M9InMiPiJzdGF0aWMiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj5dPC9zcGFuPiA8c3Bh
biBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnRydWU8L3NwYW4+PHNwYW4gY2xh
c3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5l
Ij40MDk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAg
ICAgICAgICAgICBncmFiYmVkPHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+cHVzaDxzcGFuIGNsYXNz
PSJrIj4oPC9zcGFuPmxhc3RfdG9rZW48c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3Ry
Pjx0cj48dGQgY2xhc3M9ImxpbmUiPjQxMDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBj
bGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48L3RkPjwv
dHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjQxMTwvdGQ+PHRkIGNsYXNzPSJo
aXRzIj4xNTI8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0i
ayI+ZWxzZTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+
KDwvc3Bhbj5jb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+SUQ8c3BhbiBjbGFzcz0iayI+
LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJzdHJpbmdpZmllciI8L3NwYW4+PHNwYW4gY2xhc3M9
ImsiPikpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNz
PSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjQxMjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40PC90ZD48
dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIHJldDxzcGFuIGNsYXNzPSJrIj4uPC9z
cGFuPnN0cmluZ2lmaWVyIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+
dHJ1ZTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJo
aXQiPiA8dGQgY2xhc3M9ImxpbmUiPjQxMzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40PC90ZD48dGQg
Y2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIGdyYWJiZWQ8c3BhbiBjbGFzcz0iayI+Ljwv
c3Bhbj5wdXNoPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+bGFzdF90b2tlbjxzcGFuIGNsYXNzPSJr
Ij4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NDE0PC90ZD48dGQgY2xh
c3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNz
PSJrIj59PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+
NDE1PC90ZD48dGQgY2xhc3M9ImhpdHMiPjE1NDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAg
ICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IHcgPHNwYW4gY2xhc3M9ImsiPj08L3Nw
YW4+IGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0i
aGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj40MTY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTU5PC90ZD48
dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8
c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj53PHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IGdyYWJiZWQ8
c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5wdXNoPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+dzxzcGFu
IGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9
ImxpbmUiPjQxNzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xNTQ8L3RkPjx0ZCBjbGFzcz0ic291cmNl
Ij4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4o
PC9zcGFuPmNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5JRDxzcGFuIGNsYXNzPSJrIj4s
PC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+ImluaGVyaXQiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4p
KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0
Ij4gPHRkIGNsYXNzPSJsaW5lIj40MTg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTwvdGQ+PHRkIGNs
YXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxz
cGFuIGNsYXNzPSJrIj4oPC9zcGFuPnJldDxzcGFuIGNsYXNzPSJrIj5bPC9zcGFuPjxzcGFuIGNs
YXNzPSJzIj4ic3RhdGljIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+XTwvc3Bhbj4gPHNwYW4gY2xh
c3M9ImsiPnx8PC9zcGFuPiByZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5zdHJpbmdpZmllcjxz
cGFuIGNsYXNzPSJrIj4pPC9zcGFuPiBlcnJvcjxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFu
IGNsYXNzPSJzIj4iQ2Fubm90IGhhdmUgYSBzdGF0aWMgb3Igc3RyaW5naWZpZXIgaW5oZXJpdCI8
L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+
IDx0ZCBjbGFzcz0ibGluZSI+NDE5PC90ZD48dGQgY2xhc3M9ImhpdHMiPjE8L3RkPjx0ZCBjbGFz
cz0ic291cmNlIj4gICAgICAgICAgICAgICAgcmV0PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+aW5o
ZXJpdCA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnRydWU8L3NwYW4+
PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNs
YXNzPSJsaW5lIj40MjA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTwvdGQ+PHRkIGNsYXNzPSJzb3Vy
Y2UiPiAgICAgICAgICAgICAgICBncmFiYmVkPHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+cHVzaDxz
cGFuIGNsYXNzPSJrIj4oPC9zcGFuPmxhc3RfdG9rZW48c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+
PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj40MjE8L3RkPjx0ZCBj
bGFzcz0iaGl0cyI+MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3Bh
biBjbGFzcz0iayI+dmFyPC9zcGFuPiB3IDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiBhbGxfd3M8
c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBj
bGFzcz0ibGluZSI+NDIyPC90ZD48dGQgY2xhc3M9ImhpdHMiPjI8L3RkPjx0ZCBjbGFzcz0ic291
cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFz
cz0iayI+KDwvc3Bhbj53PHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IGdyYWJiZWQ8c3BhbiBjbGFz
cz0iayI+Ljwvc3Bhbj5wdXNoPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+dzxzcGFuIGNsYXNzPSJr
Ij4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NDIzPC90ZD48dGQgY2xh
c3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNz
PSJrIj59PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+
NDI0PC90ZD48dGQgY2xhc3M9ImhpdHMiPjE1NDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAg
ICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+
Y29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPklEPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+
IDxzcGFuIGNsYXNzPSJzIj4icmVhZG9ubHkiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pKTwvc3Bh
bj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRk
IGNsYXNzPSJsaW5lIj40MjU8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MzI8L3RkPjx0ZCBjbGFzcz0i
c291cmNlIj4gICAgICAgICAgICAgICAgcmV0PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+cmVhZG9u
bHkgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj50cnVlPC9zcGFuPjxz
cGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFz
cz0ibGluZSI+NDI2PC90ZD48dGQgY2xhc3M9ImhpdHMiPjMyPC90ZD48dGQgY2xhc3M9InNvdXJj
ZSI+ICAgICAgICAgICAgICAgIGdyYWJiZWQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5wdXNoPHNw
YW4gY2xhc3M9ImsiPig8L3NwYW4+bGFzdF90b2tlbjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48
L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjQyNzwvdGQ+PHRkIGNs
YXNzPSJoaXRzIj4zMjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3Bh
biBjbGFzcz0iayI+dmFyPC9zcGFuPiB3IDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiBhbGxfd3M8
c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBj
bGFzcz0ibGluZSI+NDI4PC90ZD48dGQgY2xhc3M9ImhpdHMiPjY0PC90ZD48dGQgY2xhc3M9InNv
dXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xh
c3M9ImsiPig8L3NwYW4+dzxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiBncmFiYmVkPHNwYW4gY2xh
c3M9ImsiPi48L3NwYW4+cHVzaDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPnc8c3BhbiBjbGFzcz0i
ayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjQyOTwvdGQ+PHRkIGNs
YXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFz
cz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUi
PjQzMDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xNTQ8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAg
ICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oITwvc3Bh
bj5jb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+SUQ8c3BhbiBjbGFzcz0iayI+LDwvc3Bh
bj4gPHNwYW4gY2xhc3M9InMiPiJhdHRyaWJ1dGUiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pKTwv
c3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4g
PHRkIGNsYXNzPSJsaW5lIj40MzE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NjA8L3RkPjx0ZCBjbGFz
cz0ic291cmNlIj4gICAgICAgICAgICAgICAgdG9rZW5zIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFu
PiBncmFiYmVkPHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+Y29uY2F0PHNwYW4gY2xhc3M9ImsiPig8
L3NwYW4+dG9rZW5zPHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9
ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NDMyPC90ZD48dGQgY2xhc3M9ImhpdHMiPjYwPC90ZD48
dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5yZXR1cm48
L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9Imxp
bmUiPjQzMzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAg
ICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQi
PiA8dGQgY2xhc3M9ImxpbmUiPjQzNDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj45NDwvdGQ+PHRkIGNs
YXNzPSJzb3VyY2UiPiAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+
PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj40MzU8L3RkPjx0ZCBj
bGFzcz0iaGl0cyI+OTQ8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICByZXQ8c3Bh
biBjbGFzcz0iayI+Ljwvc3Bhbj5pZGxUeXBlIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiB0eXBl
PHNwYW4gY2xhc3M9ImsiPigpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+fHw8L3NwYW4+IGVycm9y
PHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9InMiPiJObyB0eXBlIGluIGF0dHJp
YnV0ZSI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9
ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NDM2PC90ZD48dGQgY2xhc3M9ImhpdHMiPjk0PC90ZD48
dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8
c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5yZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5pZGxUeXBl
PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+c2VxdWVuY2U8c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4g
ZXJyb3I8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0icyI+IkF0dHJpYnV0ZXMg
Y2Fubm90IGFjY2VwdCBzZXF1ZW5jZSB0eXBlcyI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7PC9z
cGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NDM3PC90ZD48
dGQgY2xhc3M9ImhpdHMiPjk0PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgYWxs
X3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8
dGQgY2xhc3M9ImxpbmUiPjQzODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj45NDwvdGQ+PHRkIGNsYXNz
PSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IG5hbWUgPHNw
YW4gY2xhc3M9ImsiPj08L3NwYW4+IGNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5JRDxz
cGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+fHw8L3NwYW4+IGVycm9yPHNw
YW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9InMiPiJObyBuYW1lIGluIGF0dHJpYnV0
ZSI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9Imhp
dCI+IDx0ZCBjbGFzcz0ibGluZSI+NDM5PC90ZD48dGQgY2xhc3M9ImhpdHMiPjk0PC90ZD48dGQg
Y2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgcmV0PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+bmFt
ZSA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gbmFtZTxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnZh
bHVlPHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRk
IGNsYXNzPSJsaW5lIj40NDA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+OTQ8L3RkPjx0ZCBjbGFzcz0i
c291cmNlIj4gICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+
PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NDQxPC90ZD48dGQgY2xhc3M9
ImhpdHMiPjk0PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgY29uc3VtZTxzcGFu
IGNsYXNzPSJrIj4oPC9zcGFuPk9USEVSPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNs
YXNzPSJzIj4iOyI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJr
Ij58fDwvc3Bhbj4gZXJyb3I8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0icyI+
IlVudGVybWluYXRlZCBhdHRyaWJ1dGUiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48
L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjQ0MjwvdGQ+PHRkIGNs
YXNzPSJoaXRzIj45NDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNs
YXNzPSJrIj5yZXR1cm48L3NwYW4+IHJldDxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90
cj48dHI+PHRkIGNsYXNzPSJsaW5lIj40NDM8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQg
Y2xhc3M9InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48c3BhbiBjbGFz
cz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NDQ0PC90ZD48dGQg
Y2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPC90ZD48L3RyPjx0
ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj40NDU8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+
NDc8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3Nw
YW4+IHJldHVybl90eXBlIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+
ZnVuY3Rpb248L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oKTwvc3Bhbj4gPHNwYW4gY2xhc3M9Imsi
Pns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj40NDY8
L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NjE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAg
ICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiB0eXAgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+
IHR5cGU8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+
IDx0ZCBjbGFzcz0ibGluZSI+NDQ3PC90ZD48dGQgY2xhc3M9ImhpdHMiPjYxPC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBj
bGFzcz0iayI+KCE8L3NwYW4+dHlwPHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNz
PSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9Im1pc3MiPiA8dGQgY2xhc3M9ImxpbmUi
PjQ0ODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4wPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAg
ICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3Nw
YW4+Y29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPklEPHNwYW4gY2xhc3M9ImsiPiw8L3Nw
YW4+IDxzcGFuIGNsYXNzPSJzIj4idm9pZCI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPikpPC9zcGFu
PiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJtaXNzIj4gPHRk
IGNsYXNzPSJsaW5lIj40NDk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MDwvdGQ+PHRkIGNsYXNzPSJz
b3VyY2UiPiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnJldHVybjwvc3Bhbj4g
PHNwYW4gY2xhc3M9InMiPiJ2b2lkIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3Rk
PjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NDUwPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+
PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bh
bj48L3RkPjwvdHI+PHRyIGNsYXNzPSJtaXNzIj4gPHRkIGNsYXNzPSJsaW5lIj40NTE8L3RkPjx0
ZCBjbGFzcz0iaGl0cyI+MDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8
c3BhbiBjbGFzcz0iayI+ZWxzZTwvc3Bhbj4gZXJyb3I8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48
c3BhbiBjbGFzcz0icyI+Ik5vIHJldHVybiB0eXBlIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTs8
L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjQ1MjwvdGQ+PHRkIGNsYXNzPSJo
aXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+
fTwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjQ1Mzwv
dGQ+PHRkIGNsYXNzPSJoaXRzIj42MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAg
IDxzcGFuIGNsYXNzPSJrIj5yZXR1cm48L3NwYW4+IHR5cDxzcGFuIGNsYXNzPSJrIj47PC9zcGFu
PjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj40NTQ8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+
PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48
c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NDU1
PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPC90
ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj40NTY8L3RkPjx0ZCBjbGFz
cz0iaGl0cyI+NDc8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxzcGFuIGNsYXNzPSJr
Ij52YXI8L3NwYW4+IG9wZXJhdGlvbiA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xh
c3M9ImsiPmZ1bmN0aW9uPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KCk8L3NwYW4+IDxzcGFuIGNs
YXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGlu
ZSI+NDU3PC90ZD48dGQgY2xhc3M9ImhpdHMiPjYwPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAg
ICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNs
YXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjQ1ODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj42MDwv
dGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3Nw
YW4+IHJldCA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+
PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjQ1OTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48
L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgdHlwZTxzcGFuIGNsYXNzPSJr
Ij46PC9zcGFuPiAgICAgICAgICAgPHNwYW4gY2xhc3M9InMiPiJvcGVyYXRpb24iPC9zcGFuPjwv
dGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj40NjA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90
ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+
ICAgZ2V0dGVyPHNwYW4gY2xhc3M9ImsiPjo8L3NwYW4+ICAgICAgICAgPHNwYW4gY2xhc3M9Imsi
PmZhbHNlPC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj40NjE8L3RkPjx0ZCBj
bGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xh
c3M9ImsiPiw8L3NwYW4+ICAgc2V0dGVyPHNwYW4gY2xhc3M9ImsiPjo8L3NwYW4+ICAgICAgICAg
PHNwYW4gY2xhc3M9ImsiPmZhbHNlPC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5l
Ij40NjI8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAg
ICAgICAgPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+ICAgY3JlYXRvcjxzcGFuIGNsYXNzPSJrIj46
PC9zcGFuPiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmZhbHNlPC9zcGFuPjwvdGQ+PC90cj48dHI+
PHRkIGNsYXNzPSJsaW5lIj40NjM8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9
InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+ICAgZGVsZXRlcjxz
cGFuIGNsYXNzPSJrIj46PC9zcGFuPiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmZhbHNlPC9zcGFu
PjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj40NjQ8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+
PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPiw8L3Nw
YW4+ICAgbGVnYWN5Y2FsbGVyPHNwYW4gY2xhc3M9ImsiPjo8L3NwYW4+ICAgPHNwYW4gY2xhc3M9
ImsiPmZhbHNlPC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj40NjU8L3RkPjx0
ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4g
Y2xhc3M9ImsiPiw8L3NwYW4+ICAgPHNwYW4gY2xhc3M9InMiPiJzdGF0aWMiPC9zcGFuPjxzcGFu
IGNsYXNzPSJrIj46PC9zcGFuPiAgICAgICA8c3BhbiBjbGFzcz0iayI+ZmFsc2U8L3NwYW4+PC90
ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjQ2NjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3Rk
Pjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4g
ICBzdHJpbmdpZmllcjxzcGFuIGNsYXNzPSJrIj46PC9zcGFuPiAgICA8c3BhbiBjbGFzcz0iayI+
ZmFsc2U8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjQ2NzwvdGQ+PHRkIGNs
YXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFz
cz0iayI+fTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNz
PSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjQ2ODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj42MDwvdGQ+
PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj53aGlsZTwvc3Bh
bj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPnRydWU8L3NwYW4+PHNw
YW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48
dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NDY5PC90ZD48dGQgY2xhc3M9ImhpdHMi
Pjc4PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIGFsbF93czxzcGFuIGNs
YXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJs
aW5lIj40NzA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+ODc8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4g
ICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+
KDwvc3Bhbj5jb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+SUQ8c3BhbiBjbGFzcz0iayI+
LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJnZXR0ZXIiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4p
KTwvc3Bhbj4gcmV0PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+Z2V0dGVyIDxzcGFuIGNsYXNzPSJr
Ij49PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+dHJ1ZTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwv
c3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjQ3MTwvdGQ+
PHRkIGNsYXNzPSJoaXRzIj43NDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAg
ICA8c3BhbiBjbGFzcz0iayI+ZWxzZTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8
c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5jb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+SUQ8
c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJzZXR0ZXIiPC9zcGFuPjxz
cGFuIGNsYXNzPSJrIj4pKTwvc3Bhbj4gcmV0PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+c2V0dGVy
IDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+dHJ1ZTwvc3Bhbj48c3Bh
biBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9
ImxpbmUiPjQ3MjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj42NTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2Ui
PiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+ZWxzZTwvc3Bhbj4gPHNwYW4gY2xhc3M9
ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5jb25zdW1lPHNwYW4gY2xhc3M9
ImsiPig8L3NwYW4+SUQ8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJj
cmVhdG9yIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KSk8L3NwYW4+IHJldDxzcGFuIGNsYXNzPSJr
Ij4uPC9zcGFuPmNyZWF0b3IgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJr
Ij50cnVlPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9
ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NDczPC90ZD48dGQgY2xhc3M9ImhpdHMiPjY1PC90ZD48
dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5lbHNlPC9z
cGFuPiA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPmNv
bnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5JRDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8
c3BhbiBjbGFzcz0icyI+ImRlbGV0ZXIiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pKTwvc3Bhbj4g
cmV0PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+ZGVsZXRlciA8c3BhbiBjbGFzcz0iayI+PTwvc3Bh
bj4gPHNwYW4gY2xhc3M9ImsiPnRydWU8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90
ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj40NzQ8L3RkPjx0ZCBjbGFz
cz0iaGl0cyI+NjI8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4g
Y2xhc3M9ImsiPmVsc2U8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xh
c3M9ImsiPig8L3NwYW4+Y29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPklEPHNwYW4gY2xh
c3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4ibGVnYWN5Y2FsbGVyIjwvc3Bhbj48c3Bh
biBjbGFzcz0iayI+KSk8L3NwYW4+IHJldDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPmxlZ2FjeWNh
bGxlciA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnRydWU8L3NwYW4+
PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNs
YXNzPSJsaW5lIj40NzU8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NjA8L3RkPjx0ZCBjbGFzcz0ic291
cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmVsc2U8L3NwYW4+IDxzcGFuIGNs
YXNzPSJrIj5icmVhazwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRy
Pjx0ZCBjbGFzcz0ibGluZSI+NDc2PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNz
PSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90cj48
dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NDc3PC90ZD48dGQgY2xhc3M9ImhpdHMi
PjYwPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlm
PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5yZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bh
bj5nZXR0ZXIgPHNwYW4gY2xhc3M9ImsiPnx8PC9zcGFuPiByZXQ8c3BhbiBjbGFzcz0iayI+Ljwv
c3Bhbj5zZXR0ZXIgPHNwYW4gY2xhc3M9ImsiPnx8PC9zcGFuPiByZXQ8c3BhbiBjbGFzcz0iayI+
Ljwvc3Bhbj5jcmVhdG9yIDxzcGFuIGNsYXNzPSJrIj58fDwvc3Bhbj4gcmV0PHNwYW4gY2xhc3M9
ImsiPi48L3NwYW4+ZGVsZXRlciA8c3BhbiBjbGFzcz0iayI+fHw8L3NwYW4+IHJldDxzcGFuIGNs
YXNzPSJrIj4uPC9zcGFuPmxlZ2FjeWNhbGxlcjxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3Bh
biBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9
ImxpbmUiPjQ3ODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xNzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2Ui
PiAgICAgICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90
cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NDc5PC90ZD48dGQgY2xhc3M9Imhp
dHMiPjE3PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIHJldDxzcGFuIGNs
YXNzPSJrIj4uPC9zcGFuPmlkbFR5cGUgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IHJldHVybl90
eXBlPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8
dGQgY2xhc3M9ImxpbmUiPjQ4MDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xNzwvdGQ+PHRkIGNsYXNz
PSJzb3VyY2UiPiAgICAgICAgICAgICAgICBvcGVyYXRpb25fcmVzdDxzcGFuIGNsYXNzPSJrIj4o
PC9zcGFuPnJldDxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJo
aXQiPiA8dGQgY2xhc3M9ImxpbmUiPjQ4MTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xNzwvdGQ+PHRk
IGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+cmV0dXJuPC9z
cGFuPiByZXQ8c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0i
bGluZSI+NDgyPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAg
ICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9Imhp
dCI+IDx0ZCBjbGFzcz0ibGluZSI+NDgzPC90ZD48dGQgY2xhc3M9ImhpdHMiPjQzPC90ZD48dGQg
Y2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3Bh
biBjbGFzcz0iayI+KDwvc3Bhbj5jb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+SUQ8c3Bh
biBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJzdGF0aWMiPC9zcGFuPjxzcGFu
IGNsYXNzPSJrIj4pKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0
ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj40ODQ8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+
MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICByZXQ8c3BhbiBjbGFzcz0i
ayI+Wzwvc3Bhbj48c3BhbiBjbGFzcz0icyI+InN0YXRpYyI8L3NwYW4+PHNwYW4gY2xhc3M9Imsi
Pl08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+dHJ1ZTwv
c3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8
dGQgY2xhc3M9ImxpbmUiPjQ4NTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xPC90ZD48dGQgY2xhc3M9
InNvdXJjZSI+ICAgICAgICAgICAgICAgIHJldDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPmlkbFR5
cGUgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IHJldHVybl90eXBlPHNwYW4gY2xhc3M9ImsiPigp
Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjQ4Njwv
dGQ+PHRkIGNsYXNzPSJoaXRzIj4xPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAg
ICAgIG9wZXJhdGlvbl9yZXN0PHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+cmV0PHNwYW4gY2xhc3M9
ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+
NDg3PC90ZD48dGQgY2xhc3M9ImhpdHMiPjE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAg
ICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnJldHVybjwvc3Bhbj4gcmV0PHNwYW4gY2xhc3M9Imsi
Pjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjQ4ODwvdGQ+PHRkIGNsYXNz
PSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0i
ayI+fTwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjQ4
OTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40MjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAg
ICAgIDxzcGFuIGNsYXNzPSJrIj5lbHNlPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+
IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPmNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5J
RDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+InN0cmluZ2lmaWVyIjwv
c3Bhbj48c3BhbiBjbGFzcz0iayI+KSk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwv
dGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NDkwPC90ZD48dGQgY2xh
c3M9ImhpdHMiPjM8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgcmV0PHNw
YW4gY2xhc3M9ImsiPi48L3NwYW4+c3RyaW5naWZpZXIgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+
IDxzcGFuIGNsYXNzPSJrIj50cnVlPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+
PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NDkxPC90ZD48dGQgY2xhc3M9
ImhpdHMiPjM8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgYWxsX3dzPHNw
YW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xh
c3M9ImxpbmUiPjQ5MjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40PC90ZD48dGQgY2xhc3M9InNvdXJj
ZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9
ImsiPig8L3NwYW4+Y29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPk9USEVSPHNwYW4gY2xh
c3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iOyI8L3NwYW4+PHNwYW4gY2xhc3M9Imsi
PikpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+cmV0dXJuPC9zcGFuPiByZXQ8c3BhbiBjbGFzcz0i
ayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjQ5
MzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAg
ICAgICAgIHJldDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPmlkbFR5cGUgPHNwYW4gY2xhc3M9Imsi
Pj08L3NwYW4+IHJldHVybl90eXBlPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+
PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjQ5NDwvdGQ+PHRkIGNsYXNzPSJoaXRz
Ij4yPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIG9wZXJhdGlvbl9yZXN0
PHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+cmV0PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+
PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NDk1PC90ZD48dGQgY2xhc3M9
ImhpdHMiPjI8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4gY2xh
c3M9ImsiPnJldHVybjwvc3Bhbj4gcmV0PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3Ry
Pjx0cj48dGQgY2xhc3M9ImxpbmUiPjQ5NjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBj
bGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48L3RkPjwv
dHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjQ5NzwvdGQ+PHRkIGNsYXNzPSJo
aXRzIj4zOTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIHJldDxzcGFuIGNsYXNz
PSJrIj4uPC9zcGFuPmlkbFR5cGUgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IHJldHVybl90eXBl
PHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQg
Y2xhc3M9ImxpbmUiPjQ5ODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4zOTwvdGQ+PHRkIGNsYXNzPSJz
b3VyY2UiPiAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48
L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj40OTk8L3RkPjx0ZCBjbGFzcz0i
aGl0cyI+Mzk8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0i
ayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPmNvbnN1bWU8c3BhbiBjbGFzcz0i
ayI+KDwvc3Bhbj5JRDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+Iml0
ZXJhdG9yIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KSk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57
PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NTAwPC90
ZD48dGQgY2xhc3M9ImhpdHMiPjQ8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAg
ICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJo
aXQiPiA8dGQgY2xhc3M9ImxpbmUiPjUwMTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40PC90ZD48dGQg
Y2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIHJldDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFu
PnR5cGUgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iaXRlcmF0b3Ii
PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+
IDx0ZCBjbGFzcz0ibGluZSI+NTAyPC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ8L3RkPjx0ZCBjbGFz
cz0ic291cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3Bh
biBjbGFzcz0iayI+KDwvc3Bhbj5jb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+SUQ8c3Bh
biBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJvYmplY3QiPC9zcGFuPjxzcGFu
IGNsYXNzPSJrIj4pKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0
ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj41MDM8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+
MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAgcmV0PHNwYW4gY2xh
c3M9ImsiPi48L3NwYW4+aXRlcmF0b3JPYmplY3QgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxz
cGFuIGNsYXNzPSJzIj4ib2JqZWN0Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3Rk
PjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NTA0PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+
PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bh
bj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjUwNTwvdGQ+PHRk
IGNsYXNzPSJoaXRzIj4zPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxz
cGFuIGNsYXNzPSJrIj5lbHNlPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFu
IGNsYXNzPSJrIj4oPC9zcGFuPmNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5PVEhFUjxz
cGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+Ij0iPC9zcGFuPjxzcGFuIGNs
YXNzPSJrIj4pKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBj
bGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj41MDY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+Mjwv
dGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xh
c3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9Imxp
bmUiPjUwNzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAg
ICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiBuYW1lIDxzcGFuIGNs
YXNzPSJrIj49PC9zcGFuPiBjb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+SUQ8c3BhbiBj
bGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnx8PC9zcGFuPiBlcnJvcjxzcGFuIGNs
YXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4iTm8gcmlnaHQgaGFuZCBzaWRlIGluIGl0
ZXJhdG9yIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFz
cz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj41MDg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MjwvdGQ+
PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAgcmV0PHNwYW4gY2xhc3M9Imsi
Pi48L3NwYW4+aXRlcmF0b3JPYmplY3QgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IG5hbWU8c3Bh
biBjbGFzcz0iayI+Ljwvc3Bhbj52YWx1ZTxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90
cj48dHI+PHRkIGNsYXNzPSJsaW5lIj41MDk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQg
Y2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjwv
dGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NTEwPC90ZD48dGQgY2xh
c3M9ImhpdHMiPjQ8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgYWxsX3dz
PHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQg
Y2xhc3M9ImxpbmUiPjUxMTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40PC90ZD48dGQgY2xhc3M9InNv
dXJjZSI+ICAgICAgICAgICAgICAgIGNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5PVEhF
UjxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+IjsiPC9zcGFuPjxzcGFu
IGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+fHw8L3NwYW4+IGVycm9yPHNwYW4g
Y2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9InMiPiJVbnRlcm1pbmF0ZWQgaXRlcmF0b3Ii
PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQi
PiA8dGQgY2xhc3M9ImxpbmUiPjUxMjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40PC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5yZXR1cm48L3NwYW4+
IHJldDxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5l
Ij41MTM8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAg
ICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9Imxp
bmUiPjUxNDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAg
ICAgICAgICA8c3BhbiBjbGFzcz0iayI+ZWxzZTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3Nw
YW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj41MTU8L3RkPjx0
ZCBjbGFzcz0iaGl0cyI+MzU8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAg
b3BlcmF0aW9uX3Jlc3Q8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5yZXQ8c3BhbiBjbGFzcz0iayI+
KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj41MTY8
L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MzU8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAg
ICAgICAgPHNwYW4gY2xhc3M9ImsiPnJldHVybjwvc3Bhbj4gcmV0PHNwYW4gY2xhc3M9ImsiPjs8
L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjUxNzwvdGQ+PHRkIGNsYXNzPSJo
aXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+
fTwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NTE4PC90ZD48dGQgY2xhc3M9
ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08
L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9Imxp
bmUiPjUxOTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAg
ICAgIDwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NTIwPC90ZD48
dGQgY2xhc3M9ImhpdHMiPjQ3PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8c3BhbiBj
bGFzcz0iayI+dmFyPC9zcGFuPiBpZGVudGlmaWVycyA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4g
PHNwYW4gY2xhc3M9ImsiPmZ1bmN0aW9uPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5h
cnI8c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48
L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj41MjE8L3RkPjx0ZCBjbGFzcz0i
aGl0cyI+NTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJr
Ij53aGlsZTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPnRy
dWU8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFu
PjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NTIyPC90ZD48dGQg
Y2xhc3M9ImhpdHMiPjExPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIGFs
bF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4g
PHRkIGNsYXNzPSJsaW5lIj41MjM8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTE8L3RkPjx0ZCBjbGFz
cz0ic291cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3Bh
biBjbGFzcz0iayI+KDwvc3Bhbj5jb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+T1RIRVI8
c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiIsIjwvc3Bhbj48c3BhbiBj
bGFzcz0iayI+KSk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIg
Y2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NTI0PC90ZD48dGQgY2xhc3M9ImhpdHMiPjY8
L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAgIGFsbF93czxzcGFuIGNs
YXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJs
aW5lIj41MjU8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAg
ICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gbmFtZSA8c3BhbiBj
bGFzcz0iayI+PTwvc3Bhbj4gY29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPklEPHNwYW4g
Y2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj58fDwvc3Bhbj4gZXJyb3I8c3BhbiBj
bGFzcz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0icyI+IlRyYWlsaW5nIGNvbW1hIGluIGlkZW50
aWZpZXJzIGxpc3QiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRy
IGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjUyNjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj42
PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICBhcnI8c3BhbiBjbGFz
cz0iayI+Ljwvc3Bhbj5wdXNoPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+bmFtZTxzcGFuIGNsYXNz
PSJrIj4uPC9zcGFuPnZhbHVlPHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHI+
PHRkIGNsYXNzPSJsaW5lIj41Mjc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9
InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90
cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NTI4PC90ZD48dGQgY2xhc3M9Imhp
dHMiPjU8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9
ImsiPmVsc2U8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5icmVhazwvc3Bhbj48c3BhbiBjbGFzcz0i
ayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NTI5PC90ZD48dGQgY2xh
c3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNz
PSJrIj59PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj41MzA8L3RkPjx0ZCBj
bGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFzcz0i
ayI+fTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFz
cz0ibGluZSI+NTMxPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2Ui
PiAgICAgICAgPC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj41MzI8
L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDc8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxz
cGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IHNlcmlhbGlzZXIgPHNwYW4gY2xhc3M9ImsiPj08L3Nw
YW4+IDxzcGFuIGNsYXNzPSJrIj5mdW5jdGlvbjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPigpPC9z
cGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8
dGQgY2xhc3M9ImxpbmUiPjUzMzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xNjQ8L3RkPjx0ZCBjbGFz
cz0ic291cmNlIj4gICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwv
dGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NTM0PC90ZD48dGQgY2xh
c3M9ImhpdHMiPjMxODwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNs
YXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPighPC9zcGFuPmNvbnN1bWU8c3BhbiBj
bGFzcz0iayI+KDwvc3Bhbj5JRDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0i
cyI+InNlcmlhbGl6ZXIiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pKTwvc3Bhbj4gPHNwYW4gY2xh
c3M9ImsiPnJldHVybjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRy
IGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjUzNTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4x
MDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8
L3NwYW4+IHJldCA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3Nw
YW4+IHR5cGU8c3BhbiBjbGFzcz0iayI+Ojwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJzZXJpYWxp
emVyIjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3Nw
YW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj41MzY8L3RkPjx0
ZCBjbGFzcz0iaGl0cyI+MTA8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICBhbGxf
d3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0
ZCBjbGFzcz0ibGluZSI+NTM3PC90ZD48dGQgY2xhc3M9ImhpdHMiPjEwPC90ZD48dGQgY2xhc3M9
InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFz
cz0iayI+KDwvc3Bhbj5jb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+T1RIRVI8c3BhbiBj
bGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiI9Ijwvc3Bhbj48c3BhbiBjbGFzcz0i
ayI+KSk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9
ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NTM4PC90ZD48dGQgY2xhc3M9ImhpdHMiPjg8L3RkPjx0
ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigp
Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjUzOTwv
dGQ+PHRkIGNsYXNzPSJoaXRzIj44PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAg
ICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+Y29u
c3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPk9USEVSPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+
IDxzcGFuIGNsYXNzPSJzIj4ieyI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPikpPC9zcGFuPiA8c3Bh
biBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9
ImxpbmUiPjU0MDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj41PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+
ICAgICAgICAgICAgICAgICAgICByZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5wYXR0ZXJuTWFw
IDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+dHJ1ZTwvc3Bhbj48c3Bh
biBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9
ImxpbmUiPjU0MTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj41PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+
ICAgICAgICAgICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+
PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NTQyPC90ZD48dGQgY2xhc3M9
ImhpdHMiPjU8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAgIDxzcGFu
IGNsYXNzPSJrIj52YXI8L3NwYW4+IGlkIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiBjb25zdW1l
PHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+SUQ8c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48
L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj41NDM8L3RkPjx0ZCBjbGFzcz0i
aGl0cyI+NTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAgPHNwYW4g
Y2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5pZCA8c3BhbiBjbGFz
cz0iayI+JmFtcDsmYW1wOzwvc3Bhbj4gaWQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj52YWx1ZSA8
c3BhbiBjbGFzcz0iayI+PT09PC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+ImdldHRlciI8L3NwYW4+
PHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90
cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NTQ0PC90ZD48dGQgY2xhc3M9Imhp
dHMiPjE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAgICAgICByZXQ8
c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5uYW1lcyA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNw
YW4gY2xhc3M9ImsiPls8L3NwYW4+PHNwYW4gY2xhc3M9InMiPiJnZXR0ZXIiPC9zcGFuPjxzcGFu
IGNsYXNzPSJrIj5dOzwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NTQ1PC90
ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAg
ICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4g
PHRkIGNsYXNzPSJsaW5lIj41NDY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDwvdGQ+PHRkIGNsYXNz
PSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmVsc2U8L3NwYW4+
IDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+aWQgPHNw
YW4gY2xhc3M9ImsiPiZhbXA7JmFtcDs8L3NwYW4+IGlkPHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+
dmFsdWUgPHNwYW4gY2xhc3M9ImsiPj09PTwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJpbmhlcml0
Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+
PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj41NDc8L3RkPjx0ZCBj
bGFzcz0iaGl0cyI+MjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAg
ICAgIHJldDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPm5hbWVzIDxzcGFuIGNsYXNzPSJrIj49PC9z
cGFuPiA8c3BhbiBjbGFzcz0iayI+Wzwvc3Bhbj48c3BhbiBjbGFzcz0icyI+ImluaGVyaXQiPC9z
cGFuPjxzcGFuIGNsYXNzPSJrIj5dOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8
dGQgY2xhc3M9ImxpbmUiPjU0ODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yPC90ZD48dGQgY2xhc3M9
InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICAgICAgaWRlbnRpZmllcnM8c3BhbiBjbGFzcz0i
ayI+KDwvc3Bhbj5yZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5uYW1lczxzcGFuIGNsYXNzPSJr
Ij4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NTQ5PC90ZD48dGQgY2xh
c3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAgPHNw
YW4gY2xhc3M9ImsiPn08L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNz
PSJsaW5lIj41NTA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2Ui
PiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmVsc2U8L3NwYW4+IDxzcGFuIGNs
YXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+aWQ8c3BhbiBjbGFzcz0i
ayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0i
aGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj41NTE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MjwvdGQ+PHRk
IGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAgICAgIHJldDxzcGFuIGNsYXNzPSJr
Ij4uPC9zcGFuPm5hbWVzIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+
Wzwvc3Bhbj5pZDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnZhbHVlPHNwYW4gY2xhc3M9ImsiPl07
PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NTUyPC90
ZD48dGQgY2xhc3M9ImhpdHMiPjI8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAg
ICAgICAgICAgICBpZGVudGlmaWVyczxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPnJldDxzcGFuIGNs
YXNzPSJrIj4uPC9zcGFuPm5hbWVzPHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48
dHI+PHRkIGNsYXNzPSJsaW5lIj41NTM8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48
L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NTU0PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwv
dGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Imsi
PmVsc2U8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9
Im1pc3MiPiA8dGQgY2xhc3M9ImxpbmUiPjU1NTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4wPC90ZD48
dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICAgICAgcmV0PHNwYW4gY2xhc3M9
ImsiPi48L3NwYW4+bmFtZXMgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJr
Ij5bXTs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjU1NjwvdGQ+PHRkIGNs
YXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAgIDxz
cGFuIGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFz
cz0ibGluZSI+NTU3PC90ZD48dGQgY2xhc3M9ImhpdHMiPjU8L3RkPjx0ZCBjbGFzcz0ic291cmNl
Ij4gICAgICAgICAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90
ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj41NTg8L3RkPjx0ZCBjbGFz
cz0iaGl0cyI+NTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAgY29u
c3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPk9USEVSPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+
IDxzcGFuIGNsYXNzPSJzIj4ifSI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFu
IGNsYXNzPSJrIj58fDwvc3Bhbj4gZXJyb3I8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3BhbiBj
bGFzcz0icyI+IlVudGVybWluYXRlZCBzZXJpYWxpemVyIHBhdHRlcm4gbWFwIjwvc3Bhbj48c3Bh
biBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjU1OTwv
dGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAg
ICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRk
IGNsYXNzPSJsaW5lIj41NjA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MzwvdGQ+PHRkIGNsYXNzPSJz
b3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+ZWxzZTwvc3Bhbj4gPHNwYW4g
Y2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5jb25zdW1lPHNwYW4g
Y2xhc3M9ImsiPig8L3NwYW4+T1RIRVI8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xh
c3M9InMiPiJbIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KSk8L3NwYW4+IDxzcGFuIGNsYXNzPSJr
Ij57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NTYx
PC90ZD48dGQgY2xhc3M9ImhpdHMiPjI8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAg
ICAgICAgICAgIHJldDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnBhdHRlcm5MaXN0IDxzcGFuIGNs
YXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+dHJ1ZTwvc3Bhbj48c3BhbiBjbGFzcz0i
ayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjU2
MjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAg
ICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIg
Y2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NTYzPC90ZD48dGQgY2xhc3M9ImhpdHMiPjI8
L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJr
Ij52YXI8L3NwYW4+IGlkIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiBjb25zdW1lPHNwYW4gY2xh
c3M9ImsiPig8L3NwYW4+SUQ8c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBj
bGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj41NjQ8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+Mjwv
dGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Imsi
PmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5pZCA8c3BhbiBjbGFzcz0iayI+JmFt
cDsmYW1wOzwvc3Bhbj4gaWQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj52YWx1ZSA8c3BhbiBjbGFz
cz0iayI+PT09PC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+ImdldHRlciI8L3NwYW4+PHNwYW4gY2xh
c3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xh
c3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NTY1PC90ZD48dGQgY2xhc3M9ImhpdHMiPjE8L3Rk
Pjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAgICAgICByZXQ8c3BhbiBjbGFz
cz0iayI+Ljwvc3Bhbj5uYW1lcyA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9
ImsiPls8L3NwYW4+PHNwYW4gY2xhc3M9InMiPiJnZXR0ZXIiPC9zcGFuPjxzcGFuIGNsYXNzPSJr
Ij5dOzwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NTY2PC90ZD48dGQgY2xh
c3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAgPHNw
YW4gY2xhc3M9ImsiPn08L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNz
PSJsaW5lIj41Njc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2Ui
PiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmVsc2U8L3NwYW4+IDxzcGFuIGNs
YXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+aWQ8c3BhbiBjbGFzcz0i
ayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0i
aGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj41Njg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTwvdGQ+PHRk
IGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAgICAgIHJldDxzcGFuIGNsYXNzPSJr
Ij4uPC9zcGFuPm5hbWVzIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+
Wzwvc3Bhbj5pZDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnZhbHVlPHNwYW4gY2xhc3M9ImsiPl07
PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NTY5PC90
ZD48dGQgY2xhc3M9ImhpdHMiPjE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAg
ICAgICAgICAgICBpZGVudGlmaWVyczxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPnJldDxzcGFuIGNs
YXNzPSJrIj4uPC9zcGFuPm5hbWVzPHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48
dHI+PHRkIGNsYXNzPSJsaW5lIj41NzA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48
L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NTcxPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwv
dGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Imsi
PmVsc2U8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9
Im1pc3MiPiA8dGQgY2xhc3M9ImxpbmUiPjU3MjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4wPC90ZD48
dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICAgICAgcmV0PHNwYW4gY2xhc3M9
ImsiPi48L3NwYW4+bmFtZXMgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJr
Ij5bXTs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjU3MzwvdGQ+PHRkIGNs
YXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAgIDxz
cGFuIGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFz
cz0ibGluZSI+NTc0PC90ZD48dGQgY2xhc3M9ImhpdHMiPjI8L3RkPjx0ZCBjbGFzcz0ic291cmNl
Ij4gICAgICAgICAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90
ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj41NzU8L3RkPjx0ZCBjbGFz
cz0iaGl0cyI+MjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAgY29u
c3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPk9USEVSPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+
IDxzcGFuIGNsYXNzPSJzIj4iXSI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFu
IGNsYXNzPSJrIj58fDwvc3Bhbj4gZXJyb3I8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3BhbiBj
bGFzcz0icyI+IlVudGVybWluYXRlZCBzZXJpYWxpemVyIHBhdHRlcm4gbGlzdCI8L3NwYW4+PHNw
YW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj41NzY8
L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAg
ICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5l
Ij41Nzc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAg
ICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5lbHNlPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwv
c3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjU3ODwvdGQ+
PHRkIGNsYXNzPSJoaXRzIj4xPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAg
ICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiBuYW1lIDxzcGFuIGNsYXNzPSJrIj49PC9z
cGFuPiBjb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+SUQ8c3BhbiBjbGFzcz0iayI+KTwv
c3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnx8PC9zcGFuPiBlcnJvcjxzcGFuIGNsYXNzPSJrIj4oPC9z
cGFuPjxzcGFuIGNsYXNzPSJzIj4iSW52YWxpZCBzZXJpYWxpemVyIjwvc3Bhbj48c3BhbiBjbGFz
cz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5l
Ij41Nzk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAg
ICAgICAgICAgICAgICAgcmV0PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+bmFtZSA8c3BhbiBjbGFz
cz0iayI+PTwvc3Bhbj4gbmFtZTxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnZhbHVlPHNwYW4gY2xh
c3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjU4MDwvdGQ+PHRk
IGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgPHNw
YW4gY2xhc3M9ImsiPn08L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNz
PSJsaW5lIj41ODE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+ODwvdGQ+PHRkIGNsYXNzPSJzb3VyY2Ui
PiAgICAgICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90
cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NTgyPC90ZD48dGQgY2xhc3M9Imhp
dHMiPjg8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgY29uc3VtZTxzcGFu
IGNsYXNzPSJrIj4oPC9zcGFuPk9USEVSPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNs
YXNzPSJzIj4iOyI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJr
Ij58fDwvc3Bhbj4gZXJyb3I8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0icyI+
IlVudGVybWluYXRlZCBzZXJpYWxpemVyIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+
PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj41ODM8L3RkPjx0ZCBj
bGFzcz0iaGl0cyI+ODwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3Bh
biBjbGFzcz0iayI+cmV0dXJuPC9zcGFuPiByZXQ8c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3Rk
PjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NTg0PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+
PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjwv
dGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NTg1PC90ZD48dGQgY2xh
c3M9ImhpdHMiPjI8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFz
cz0iayI+ZWxzZTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0i
ayI+KDwvc3Bhbj5jb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+T1RIRVI8c3BhbiBjbGFz
cz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiI7Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+
KSk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNz
PSJsaW5lIj41ODY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+
ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjIj4vLyBub29wLCBqdXN0IHBhcnNpbmc8L3Nw
YW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjU4NzwvdGQ+PHRkIGNsYXNzPSJoaXRz
Ij48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwv
c3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NTg4PC90ZD48dGQgY2xhc3M9Imhp
dHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5l
bHNlPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJo
aXQiPiA8dGQgY2xhc3M9ImxpbmUiPjU4OTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xPC90ZD48dGQg
Y2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIHJldDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFu
PmlkbFR5cGUgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IHJldHVybl90eXBlPHNwYW4gY2xhc3M9
ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUi
PjU5MDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAg
ICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBj
bGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj41OTE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTwv
dGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICByZXQ8c3BhbiBjbGFzcz0iayI+
Ljwvc3Bhbj5vcGVyYXRpb24gPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IG9wZXJhdGlvbl9yZXN0
PHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+
NTkyPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAg
ICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0
ZCBjbGFzcz0ibGluZSI+NTkzPC90ZD48dGQgY2xhc3M9ImhpdHMiPjI8L3RkPjx0ZCBjbGFzcz0i
c291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+cmV0dXJuPC9zcGFuPiByZXQ8c3Bh
biBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NTk0PC90
ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4g
Y2xhc3M9ImsiPn08L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48
dGQgY2xhc3M9ImxpbmUiPjU5NTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0i
c291cmNlIj4gICAgICAgIDwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGlu
ZSI+NTk2PC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ3PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAg
ICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiBpbnRlcmZhY2VfIDxzcGFuIGNsYXNzPSJr
Ij49PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ZnVuY3Rpb248L3NwYW4+IDxzcGFuIGNsYXNzPSJr
Ij4oPC9zcGFuPmlzUGFydGlhbDxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0i
ayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjU5
NzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xNDQ8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAg
ICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9
ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NTk4PC90ZD48dGQgY2xhc3M9ImhpdHMiPjIxMDwvdGQ+
PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4g
PHNwYW4gY2xhc3M9ImsiPighPC9zcGFuPmNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5J
RDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+ImludGVyZmFjZSI8L3Nw
YW4+PHNwYW4gY2xhc3M9ImsiPikpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+cmV0dXJuPC9zcGFu
PjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBj
bGFzcz0ibGluZSI+NTk5PC90ZD48dGQgY2xhc3M9ImhpdHMiPjc4PC90ZD48dGQgY2xhc3M9InNv
dXJjZSI+ICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwv
dHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjYwMDwvdGQ+PHRkIGNsYXNzPSJo
aXRzIj43ODwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJr
Ij52YXI8L3NwYW4+IG5hbWUgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IGNvbnN1bWU8c3BhbiBj
bGFzcz0iayI+KDwvc3Bhbj5JRDxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0i
ayI+fHw8L3NwYW4+IGVycm9yPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9InMi
PiJObyBuYW1lIGZvciBpbnRlcmZhY2UiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48
L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjYwMTwvdGQ+PHRkIGNs
YXNzPSJoaXRzIj43ODwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNs
YXNzPSJrIj52YXI8L3NwYW4+IHJldCA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xh
c3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjYwMjwvdGQ+PHRk
IGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgdHlw
ZTxzcGFuIGNsYXNzPSJrIj46PC9zcGFuPiAgIDxzcGFuIGNsYXNzPSJzIj4iaW50ZXJmYWNlIjwv
c3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NjAzPC90ZD48dGQgY2xhc3M9Imhp
dHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj4s
PC9zcGFuPiAgIG5hbWU8c3BhbiBjbGFzcz0iayI+Ojwvc3Bhbj4gICBuYW1lPHNwYW4gY2xhc3M9
ImsiPi48L3NwYW4+dmFsdWU8L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NjA0PC90ZD48
dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFu
IGNsYXNzPSJrIj4sPC9zcGFuPiAgIHBhcnRpYWw8c3BhbiBjbGFzcz0iayI+Ojwvc3Bhbj4gICAg
PHNwYW4gY2xhc3M9ImsiPmZhbHNlPC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5l
Ij42MDU8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAg
ICAgICAgPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+ICAgbWVtYmVyczxzcGFuIGNsYXNzPSJrIj46
PC9zcGFuPiAgICA8c3BhbiBjbGFzcz0iayI+W108L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xh
c3M9ImxpbmUiPjYwNjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNl
Ij4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwv
c3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjYwNzwvdGQ+
PHRkIGNsYXNzPSJoaXRzIj4xNTU8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8
c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oITwvc3Bhbj5pc1BhcnRp
YWw8c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gcmV0PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+aW5o
ZXJpdGFuY2UgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IGluaGVyaXRhbmNlPHNwYW4gY2xhc3M9
ImsiPigpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+fHw8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5u
dWxsPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9Imhp
dCI+IDx0ZCBjbGFzcz0ibGluZSI+NjA4PC90ZD48dGQgY2xhc3M9ImhpdHMiPjc4PC90ZD48dGQg
Y2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bh
bj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjYwOTwvdGQ+PHRk
IGNsYXNzPSJoaXRzIj43ODwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIGNvbnN1
bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5PVEhFUjxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8
c3BhbiBjbGFzcz0icyI+InsiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBj
bGFzcz0iayI+fHw8L3NwYW4+IGVycm9yPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xh
c3M9InMiPiJCb2R5bGVzcyBpbnRlcmZhY2UiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bh
bj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjYxMDwvdGQ+PHRk
IGNsYXNzPSJoaXRzIj43ODwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFu
IGNsYXNzPSJrIj53aGlsZTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xh
c3M9ImsiPnRydWU8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJr
Ij57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NjEx
PC90ZD48dGQgY2xhc3M9ImhpdHMiPjI1MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAg
ICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xh
c3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NjEyPC90ZD48dGQgY2xhc3M9ImhpdHMiPjI1MTwv
dGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8
L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPmNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwv
c3Bhbj5PVEhFUjxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+In0iPC9z
cGFuPjxzcGFuIGNsYXNzPSJrIj4pKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90
ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj42MTM8L3RkPjx0ZCBjbGFz
cz0iaGl0cyI+Nzg8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAgIGFs
bF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4g
PHRkIGNsYXNzPSJsaW5lIj42MTQ8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+Nzg8L3RkPjx0ZCBjbGFz
cz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAgIGNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwv
c3Bhbj5PVEhFUjxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+IjsiPC9z
cGFuPjxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+fHw8L3NwYW4+IGVy
cm9yPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9InMiPiJNaXNzaW5nIHNlbWlj
b2xvbiBhZnRlciBpbnRlcmZhY2UiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3Rk
PjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjYxNTwvdGQ+PHRkIGNsYXNz
PSJoaXRzIj43ODwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAgPHNw
YW4gY2xhc3M9ImsiPnJldHVybjwvc3Bhbj4gcmV0PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90
ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjYxNjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3Rk
Pjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3Nw
YW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj42MTc8L3RkPjx0
ZCBjbGFzcz0iaGl0cyI+MTczPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAg
IDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IGVhIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiBl
eHRlbmRlZF9hdHRyczxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFz
cz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj42MTg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTczPC90
ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJr
Ij4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj42
MTk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTczPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAg
ICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IGNudCA8c3BhbiBjbGFzcz0iayI+
PTwvc3Bhbj4gY29uc3RfPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNs
YXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjYyMDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xNzM8
L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlm
PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5jbnQ8c3BhbiBjbGFzcz0iayI+KTwvc3Bh
bj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRk
IGNsYXNzPSJsaW5lIj42MjE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+OTwvdGQ+PHRkIGNsYXNzPSJz
b3VyY2UiPiAgICAgICAgICAgICAgICAgICAgY250PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+ZXh0
QXR0cnMgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IGVhPHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+
PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj42MjI8L3RkPjx0ZCBj
bGFzcz0iaGl0cyI+OTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAg
cmV0PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+bWVtYmVyczxzcGFuIGNsYXNzPSJrIj4uPC9zcGFu
PnB1c2g8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5jbnQ8c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+
PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj42MjM8L3RkPjx0ZCBj
bGFzcz0iaGl0cyI+OTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAg
PHNwYW4gY2xhc3M9ImsiPmNvbnRpbnVlPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwv
dGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj42MjQ8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90
ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9z
cGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NjI1PC90ZD48
dGQgY2xhc3M9ImhpdHMiPjE2NDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAg
ICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiBtZW0gPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+
IHNlcmlhbGlzZXI8c3BhbiBjbGFzcz0iayI+KCk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj58fDwv
c3Bhbj4gYXR0cmlidXRlPHNwYW4gY2xhc3M9ImsiPigpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+
fHw8L3NwYW4+IG9wZXJhdGlvbjxzcGFuIGNsYXNzPSJrIj4oKTwvc3Bhbj4gPHNwYW4gY2xhc3M9
ImsiPnx8PC9zcGFuPiBlcnJvcjxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJz
Ij4iVW5rbm93biBtZW1iZXIiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwv
dHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjYyNjwvdGQ+PHRkIGNsYXNzPSJo
aXRzIj4xNjQ8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgbWVtPHNwYW4g
Y2xhc3M9ImsiPi48L3NwYW4+ZXh0QXR0cnMgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IGVhPHNw
YW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNz
PSJsaW5lIj42Mjc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTY0PC90ZD48dGQgY2xhc3M9InNvdXJj
ZSI+ICAgICAgICAgICAgICAgIHJldDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPm1lbWJlcnM8c3Bh
biBjbGFzcz0iayI+Ljwvc3Bhbj5wdXNoPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+bWVtPHNwYW4g
Y2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj42Mjg8L3Rk
Pjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNw
YW4gY2xhc3M9ImsiPn08L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjYyOTwv
dGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxzcGFu
IGNsYXNzPSJrIj59PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+
PHRkIGNsYXNzPSJsaW5lIj42MzA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9
InNvdXJjZSI+ICAgICAgICA8L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9Imxp
bmUiPjYzMTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40NzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAg
ICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gcGFydGlhbCA8c3BhbiBjbGFzcz0iayI+
PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPmZ1bmN0aW9uPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+
KCk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9Imhp
dCI+IDx0ZCBjbGFzcz0ibGluZSI+NjMyPC90ZD48dGQgY2xhc3M9ImhpdHMiPjY2PC90ZD48dGQg
Y2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bh
bj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjYzMzwvdGQ+PHRk
IGNsYXNzPSJoaXRzIj4xMzA8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3Bh
biBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oITwvc3Bhbj5jb25zdW1lPHNw
YW4gY2xhc3M9ImsiPig8L3NwYW4+SUQ8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xh
c3M9InMiPiJwYXJ0aWFsIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KSk8L3NwYW4+IDxzcGFuIGNs
YXNzPSJrIj5yZXR1cm48L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0
ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj42MzQ8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+
MjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8
L3NwYW4+IHRoaW5nIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiBkaWN0aW9uYXJ5PHNwYW4gY2xh
c3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPnRydWU8L3NwYW4+PHNwYW4gY2xhc3M9Imsi
Pik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj58fDwvc3Bhbj4gaW50ZXJmYWNlXzxzcGFuIGNsYXNz
PSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj50cnVlPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4p
PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+fHw8L3NwYW4+IGVycm9yPHNwYW4gY2xhc3M9ImsiPig8
L3NwYW4+PHNwYW4gY2xhc3M9InMiPiJQYXJ0aWFsIGRvZXNuJ3QgYXBwbHkgdG8gYW55dGhpbmci
PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQi
PiA8dGQgY2xhc3M9ImxpbmUiPjYzNTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yPC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+ICAgICAgICAgICAgdGhpbmc8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5wYXJ0
aWFsIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+dHJ1ZTwvc3Bhbj48
c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xh
c3M9ImxpbmUiPjYzNjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yPC90ZD48dGQgY2xhc3M9InNvdXJj
ZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnJldHVybjwvc3Bhbj4gdGhpbmc8c3BhbiBj
bGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NjM3PC90ZD48
dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xh
c3M9ImsiPn08L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQg
Y2xhc3M9ImxpbmUiPjYzODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291
cmNlIj4gICAgICAgIDwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+
NjM5PC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ3PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAg
ICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiBkaWN0aW9uYXJ5IDxzcGFuIGNsYXNzPSJrIj49
PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ZnVuY3Rpb248L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4o
PC9zcGFuPmlzUGFydGlhbDxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+
ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjY0MDwv
dGQ+PHRkIGNsYXNzPSJoaXRzIj42NjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAg
IGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0
Ij4gPHRkIGNsYXNzPSJsaW5lIj42NDE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTI4PC90ZD48dGQg
Y2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3Bh
biBjbGFzcz0iayI+KCE8L3NwYW4+Y29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPklEPHNw
YW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iZGljdGlvbmFyeSI8L3NwYW4+
PHNwYW4gY2xhc3M9ImsiPikpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+cmV0dXJuPC9zcGFuPjxz
cGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFz
cz0ibGluZSI+NjQyPC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ8L3RkPjx0ZCBjbGFzcz0ic291cmNl
Ij4gICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48
dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NjQzPC90ZD48dGQgY2xhc3M9ImhpdHMi
PjQ8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFy
PC9zcGFuPiBuYW1lIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiBjb25zdW1lPHNwYW4gY2xhc3M9
ImsiPig8L3NwYW4+SUQ8c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnx8
PC9zcGFuPiBlcnJvcjxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4iTm8g
bmFtZSBmb3IgZGljdGlvbmFyeSI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+
PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NjQ0PC90ZD48dGQgY2xhc3M9
ImhpdHMiPjQ8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0i
ayI+dmFyPC9zcGFuPiByZXQgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJr
Ij57PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj42NDU8L3RkPjx0ZCBjbGFz
cz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIHR5cGU8c3Bh
biBjbGFzcz0iayI+Ojwvc3Bhbj4gICA8c3BhbiBjbGFzcz0icyI+ImRpY3Rpb25hcnkiPC9zcGFu
PjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj42NDY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+
PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPiw8L3Nw
YW4+ICAgbmFtZTxzcGFuIGNsYXNzPSJrIj46PC9zcGFuPiAgIG5hbWU8c3BhbiBjbGFzcz0iayI+
Ljwvc3Bhbj52YWx1ZTwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj42NDc8L3RkPjx0ZCBj
bGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xh
c3M9ImsiPiw8L3NwYW4+ICAgcGFydGlhbDxzcGFuIGNsYXNzPSJrIj46PC9zcGFuPiAgICA8c3Bh
biBjbGFzcz0iayI+ZmFsc2U8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjY0
ODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAg
ICA8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gICBtZW1iZXJzPHNwYW4gY2xhc3M9ImsiPjo8L3Nw
YW4+ICAgIDxzcGFuIGNsYXNzPSJrIj5bXTwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0i
bGluZSI+NjQ5PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAg
ICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFu
PjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NjUwPC90ZD48dGQg
Y2xhc3M9ImhpdHMiPjc8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBj
bGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oITwvc3Bhbj5pc1BhcnRpYWw8c3Bh
biBjbGFzcz0iayI+KTwvc3Bhbj4gcmV0PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+aW5oZXJpdGFu
Y2UgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IGluaGVyaXRhbmNlPHNwYW4gY2xhc3M9ImsiPigp
PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+fHw8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5udWxsPC9z
cGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0
ZCBjbGFzcz0ibGluZSI+NjUxPC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ8L3RkPjx0ZCBjbGFzcz0i
c291cmNlIj4gICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+
PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NjUyPC90ZD48dGQgY2xhc3M9
ImhpdHMiPjQ8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICBjb25zdW1lPHNwYW4g
Y2xhc3M9ImsiPig8L3NwYW4+T1RIRVI8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xh
c3M9InMiPiJ7Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9Imsi
Pnx8PC9zcGFuPiBlcnJvcjxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4i
Qm9keWxlc3MgZGljdGlvbmFyeSI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+
PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NjUzPC90ZD48dGQgY2xhc3M9
ImhpdHMiPjQ8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0i
ayI+d2hpbGU8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj50
cnVlPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bh
bj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjY1NDwvdGQ+PHRk
IGNsYXNzPSJoaXRzIj4xMzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICBh
bGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+
IDx0ZCBjbGFzcz0ibGluZSI+NjU1PC90ZD48dGQgY2xhc3M9ImhpdHMiPjEzPC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNw
YW4gY2xhc3M9ImsiPig8L3NwYW4+Y29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPk9USEVS
PHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4ifSI8L3NwYW4+PHNwYW4g
Y2xhc3M9ImsiPikpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRy
IGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjY1NjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40
PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICBhbGxfd3M8c3BhbiBj
bGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0i
bGluZSI+NjU3PC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4g
ICAgICAgICAgICAgICAgICAgIGNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5PVEhFUjxz
cGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+IjsiPC9zcGFuPjxzcGFuIGNs
YXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+fHw8L3NwYW4+IGVycm9yPHNwYW4gY2xh
c3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9InMiPiJNaXNzaW5nIHNlbWljb2xvbiBhZnRlciBk
aWN0aW9uYXJ5Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBj
bGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj42NTg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDwv
dGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Imsi
PnJldHVybjwvc3Bhbj4gcmV0PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48
dGQgY2xhc3M9ImxpbmUiPjY1OTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0i
c291cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PC90ZD48L3Ry
Pjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj42NjA8L3RkPjx0ZCBjbGFzcz0iaGl0
cyI+OTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0i
ayI+dmFyPC9zcGFuPiBlYSA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gZXh0ZW5kZWRfYXR0cnM8
c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBj
bGFzcz0ibGluZSI+NjYxPC90ZD48dGQgY2xhc3M9ImhpdHMiPjk8L3RkPjx0ZCBjbGFzcz0ic291
cmNlIj4gICAgICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3Rk
PjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjY2MjwvdGQ+PHRkIGNsYXNz
PSJoaXRzIj45PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNs
YXNzPSJrIj52YXI8L3NwYW4+IHR5cCA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gdHlwZTxzcGFu
IGNsYXNzPSJrIj4oKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnx8PC9zcGFuPiBlcnJvcjxzcGFu
IGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4iTm8gdHlwZSBmb3IgZGljdGlvbmFy
eSBtZW1iZXIiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNs
YXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjY2MzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj45PC90
ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJr
Ij4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj42
NjQ8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+OTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAg
ICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiBuYW1lIDxzcGFuIGNsYXNzPSJrIj49
PC9zcGFuPiBjb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+SUQ8c3BhbiBjbGFzcz0iayI+
KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnx8PC9zcGFuPiBlcnJvcjxzcGFuIGNsYXNzPSJrIj4o
PC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4iTm8gbmFtZSBmb3IgZGljdGlvbmFyeSBtZW1iZXIiPC9z
cGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8
dGQgY2xhc3M9ImxpbmUiPjY2NTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj45PC90ZD48dGQgY2xhc3M9
InNvdXJjZSI+ICAgICAgICAgICAgICAgIHJldDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPm1lbWJl
cnM8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5wdXNoPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNw
YW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjY2Njwv
dGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAg
ICAgICAgIHR5cGU8c3BhbiBjbGFzcz0iayI+Ojwvc3Bhbj4gICAgICAgPHNwYW4gY2xhc3M9InMi
PiJmaWVsZCI8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjY2NzwvdGQ+PHRk
IGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgPHNw
YW4gY2xhc3M9ImsiPiw8L3NwYW4+ICAgbmFtZTxzcGFuIGNsYXNzPSJrIj46PC9zcGFuPiAgICAg
ICBuYW1lPHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+dmFsdWU8L3RkPjwvdHI+PHRyPjx0ZCBjbGFz
cz0ibGluZSI+NjY4PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2Ui
PiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gICBpZGxUeXBlPHNwYW4g
Y2xhc3M9ImsiPjo8L3NwYW4+ICAgIHR5cDwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj42
Njk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAg
ICAgICAgIDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiAgIGV4dEF0dHJzPHNwYW4gY2xhc3M9Imsi
Pjo8L3NwYW4+ICAgZWE8L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NjcwPC90ZD48dGQg
Y2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3Bh
biBjbGFzcz0iayI+LDwvc3Bhbj4gICA8c3BhbiBjbGFzcz0icyI+ImRlZmF1bHQiPC9zcGFuPjxz
cGFuIGNsYXNzPSJrIj46PC9zcGFuPiAgZGVmYXVsdF88c3BhbiBjbGFzcz0iayI+KCk8L3NwYW4+
PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjY3MTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48
L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08
L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+
IDx0ZCBjbGFzcz0ibGluZSI+NjcyPC90ZD48dGQgY2xhc3M9ImhpdHMiPjk8L3RkPjx0ZCBjbGFz
cz0ic291cmNlIj4gICAgICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bh
bj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjY3MzwvdGQ+PHRk
IGNsYXNzPSJoaXRzIj45PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIGNv
bnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5PVEhFUjxzcGFuIGNsYXNzPSJrIj4sPC9zcGFu
PiA8c3BhbiBjbGFzcz0icyI+IjsiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3Bh
biBjbGFzcz0iayI+fHw8L3NwYW4+IGVycm9yPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4g
Y2xhc3M9InMiPiJVbnRlcm1pbmF0ZWQgZGljdGlvbmFyeSBtZW1iZXIiPC9zcGFuPjxzcGFuIGNs
YXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+Njc0PC90ZD48
dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFu
IGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj42NzU8L3Rk
Pjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8c3BhbiBj
bGFzcz0iayI+fTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0
ZCBjbGFzcz0ibGluZSI+Njc2PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJz
b3VyY2UiPiAgICAgICAgPC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5l
Ij42Nzc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDc8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAg
ICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IGV4Y2VwdGlvbiA8c3BhbiBjbGFzcz0iayI+
PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPmZ1bmN0aW9uPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+
KCk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9Imhp
dCI+IDx0ZCBjbGFzcz0ibGluZSI+Njc4PC90ZD48dGQgY2xhc3M9ImhpdHMiPjYxPC90ZD48dGQg
Y2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bh
bj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjY3OTwvdGQ+PHRk
IGNsYXNzPSJoaXRzIj4xMTM8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3Bh
biBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oITwvc3Bhbj5jb25zdW1lPHNw
YW4gY2xhc3M9ImsiPig8L3NwYW4+SUQ8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xh
c3M9InMiPiJleGNlcHRpb24iPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pKTwvc3Bhbj4gPHNwYW4g
Y2xhc3M9ImsiPnJldHVybjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+
PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjY4MDwvdGQ+PHRkIGNsYXNzPSJoaXRz
Ij45PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9
ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUi
PjY4MTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj45PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAg
ICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gbmFtZSA8c3BhbiBjbGFzcz0iayI+PTwv
c3Bhbj4gY29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPklEPHNwYW4gY2xhc3M9ImsiPik8
L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj58fDwvc3Bhbj4gZXJyb3I8c3BhbiBjbGFzcz0iayI+KDwv
c3Bhbj48c3BhbiBjbGFzcz0icyI+Ik5vIG5hbWUgZm9yIGV4Y2VwdGlvbiI8L3NwYW4+PHNwYW4g
Y2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0i
bGluZSI+NjgyPC90ZD48dGQgY2xhc3M9ImhpdHMiPjk8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4g
ICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiByZXQgPHNwYW4gY2xhc3M9Imsi
Pj08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNz
PSJsaW5lIj42ODM8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+
ICAgICAgICAgICAgICAgIHR5cGU8c3BhbiBjbGFzcz0iayI+Ojwvc3Bhbj4gICA8c3BhbiBjbGFz
cz0icyI+ImV4Y2VwdGlvbiI8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjY4
NDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAg
ICA8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gICBuYW1lPHNwYW4gY2xhc3M9ImsiPjo8L3NwYW4+
ICAgbmFtZTxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnZhbHVlPC90ZD48L3RyPjx0cj48dGQgY2xh
c3M9ImxpbmUiPjY4NTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNl
Ij4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gICBtZW1iZXJzPHNwYW4gY2xh
c3M9ImsiPjo8L3NwYW4+ICAgIDxzcGFuIGNsYXNzPSJrIj5bXTwvc3Bhbj48L3RkPjwvdHI+PHRy
Pjx0ZCBjbGFzcz0ibGluZSI+Njg2PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNz
PSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjxzcGFuIGNsYXNz
PSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+
Njg3PC90ZD48dGQgY2xhc3M9ImhpdHMiPjk8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAg
ICAgICByZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5pbmhlcml0YW5jZSA8c3BhbiBjbGFzcz0i
ayI+PTwvc3Bhbj4gaW5oZXJpdGFuY2U8c3BhbiBjbGFzcz0iayI+KCk8L3NwYW4+IDxzcGFuIGNs
YXNzPSJrIj58fDwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPm51bGw8L3NwYW4+PHNwYW4gY2xhc3M9
ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj42
ODg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+OTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAg
ICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0i
aGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj42ODk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+OTwvdGQ+PHRk
IGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIGNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bh
bj5PVEhFUjxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+InsiPC9zcGFu
PjxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+fHw8L3NwYW4+IGVycm9y
PHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9InMiPiJCb2R5bGVzcyBleGNlcHRp
b24iPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJo
aXQiPiA8dGQgY2xhc3M9ImxpbmUiPjY5MDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj45PC90ZD48dGQg
Y2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPndoaWxlPC9zcGFuPiA8
c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0iayI+dHJ1ZTwvc3Bhbj48c3BhbiBj
bGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBj
bGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj42OTE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTY8
L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9
ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUi
PjY5MjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xNjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAg
ICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9z
cGFuPmNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5PVEhFUjxzcGFuIGNsYXNzPSJrIj4s
PC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+In0iPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pKTwvc3Bh
bj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRk
IGNsYXNzPSJsaW5lIj42OTM8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+OTwvdGQ+PHRkIGNsYXNzPSJz
b3VyY2UiPiAgICAgICAgICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bh
bj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjY5NDwvdGQ+PHRk
IGNsYXNzPSJoaXRzIj45PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAg
ICBjb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+T1RIRVI8c3BhbiBjbGFzcz0iayI+LDwv
c3Bhbj4gPHNwYW4gY2xhc3M9InMiPiI7Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4g
PHNwYW4gY2xhc3M9ImsiPnx8PC9zcGFuPiBlcnJvcjxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxz
cGFuIGNsYXNzPSJzIj4iTWlzc2luZyBzZW1pY29sb24gYWZ0ZXIgZXhjZXB0aW9uIjwvc3Bhbj48
c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNs
YXNzPSJsaW5lIj42OTU8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+OTwvdGQ+PHRkIGNsYXNzPSJzb3Vy
Y2UiPiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnJldHVybjwvc3Bhbj4gcmV0
PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjY5
NjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAg
ICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4g
PHRkIGNsYXNzPSJsaW5lIj42OTc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NzwvdGQ+PHRkIGNsYXNz
PSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiBlYSA8
c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gZXh0ZW5kZWRfYXR0cnM8c3BhbiBjbGFzcz0iayI+KCk7
PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+Njk4PC90
ZD48dGQgY2xhc3M9ImhpdHMiPjc8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAg
ICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJo
aXQiPiA8dGQgY2xhc3M9ImxpbmUiPjY5OTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj43PC90ZD48dGQg
Y2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+
IGNudCA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gY29uc3RfPHNwYW4gY2xhc3M9ImsiPigpOzwv
c3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjcwMDwvdGQ+
PHRkIGNsYXNzPSJoaXRzIj43PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAg
IDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+Y250PHNw
YW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48
dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NzAxPC90ZD48dGQgY2xhc3M9ImhpdHMi
PjM8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAgIGNudDxzcGFuIGNs
YXNzPSJrIj4uPC9zcGFuPmV4dEF0dHJzIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiBlYTxzcGFu
IGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0i
bGluZSI+NzAyPC90ZD48dGQgY2xhc3M9ImhpdHMiPjM8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4g
ICAgICAgICAgICAgICAgICAgIHJldDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPm1lbWJlcnM8c3Bh
biBjbGFzcz0iayI+Ljwvc3Bhbj5wdXNoPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+Y250PHNwYW4g
Y2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj43MDM8L3Rk
Pjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAg
IDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj43
MDQ8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAg
ICAgICAgIDxzcGFuIGNsYXNzPSJrIj5lbHNlPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bh
bj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjcwNTwvdGQ+PHRk
IGNsYXNzPSJoaXRzIj40PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAg
ICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiB0eXAgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+
IHR5cGU8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+
IDx0ZCBjbGFzcz0ibGluZSI+NzA2PC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ8L3RkPjx0ZCBjbGFz
cz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8
L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj43MDc8L3Rk
Pjx0ZCBjbGFzcz0iaGl0cyI+NDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAg
ICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gbmFtZSA8c3BhbiBjbGFzcz0iayI+PTwv
c3Bhbj4gY29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPklEPHNwYW4gY2xhc3M9ImsiPik7
PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NzA4PC90
ZD48dGQgY2xhc3M9ImhpdHMiPjQ8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAg
ICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFz
cz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj43MDk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDwvdGQ+
PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlm
PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KCE8L3NwYW4+dHlwIDxzcGFuIGNsYXNzPSJrIj58fDwv
c3Bhbj4gPHNwYW4gY2xhc3M9ImsiPiE8L3NwYW4+bmFtZSA8c3BhbiBjbGFzcz0iayI+fHw8L3Nw
YW4+IDxzcGFuIGNsYXNzPSJrIj4hPC9zcGFuPmNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bh
bj5PVEhFUjxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+IjsiPC9zcGFu
PjxzcGFuIGNsYXNzPSJrIj4pKTwvc3Bhbj4gZXJyb3I8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48
c3BhbiBjbGFzcz0icyI+IlVua25vd24gbWVtYmVyIGluIGV4Y2VwdGlvbiBib2R5Ijwvc3Bhbj48
c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNs
YXNzPSJsaW5lIj43MTA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDwvdGQ+PHRkIGNsYXNzPSJzb3Vy
Y2UiPiAgICAgICAgICAgICAgICAgICAgcmV0PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+bWVtYmVy
czxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnB1c2g8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3Bh
biBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NzExPC90
ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAg
ICAgICAgICAgIHR5cGU8c3BhbiBjbGFzcz0iayI+Ojwvc3Bhbj4gICAgICAgPHNwYW4gY2xhc3M9
InMiPiJmaWVsZCI8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjcxMjwvdGQ+
PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAg
ICAgIDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiAgIG5hbWU8c3BhbiBjbGFzcz0iayI+Ojwvc3Bh
bj4gICAgICAgbmFtZTxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnZhbHVlPC90ZD48L3RyPjx0cj48
dGQgY2xhc3M9ImxpbmUiPjcxMzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0i
c291cmNlIj4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiAgIGlk
bFR5cGU8c3BhbiBjbGFzcz0iayI+Ojwvc3Bhbj4gICAgdHlwPC90ZD48L3RyPjx0cj48dGQgY2xh
c3M9ImxpbmUiPjcxNDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNl
Ij4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiAgIGV4dEF0dHJz
PHNwYW4gY2xhc3M9ImsiPjo8L3NwYW4+ICAgZWE8L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGlu
ZSI+NzE1PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAg
ICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7
PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj43MTY8L3RkPjx0ZCBjbGFzcz0i
aGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNz
PSJrIj59PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj43MTc8L3RkPjx0ZCBj
bGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xh
c3M9ImsiPn08L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjcxODwvdGQ+PHRk
IGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxzcGFuIGNsYXNz
PSJrIj59PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNs
YXNzPSJsaW5lIj43MTk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJj
ZSI+ICAgICAgICA8L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjcy
MDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40NzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAg
PHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gZW51bV8gPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+
IDxzcGFuIGNsYXNzPSJrIj5mdW5jdGlvbjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPigpPC9zcGFu
PiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQg
Y2xhc3M9ImxpbmUiPjcyMTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj41MjwvdGQ+PHRkIGNsYXNzPSJz
b3VyY2UiPiAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48
L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj43MjI8L3RkPjx0ZCBjbGFzcz0i
aGl0cyI+MTAzPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9
ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KCE8L3NwYW4+Y29uc3VtZTxzcGFuIGNsYXNz
PSJrIj4oPC9zcGFuPklEPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4i
ZW51bSI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPikpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+cmV0
dXJuPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9Imhp
dCI+IDx0ZCBjbGFzcz0ibGluZSI+NzIzPC90ZD48dGQgY2xhc3M9ImhpdHMiPjE8L3RkPjx0ZCBj
bGFzcz0ic291cmNlIj4gICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFu
PjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NzI0PC90ZD48dGQg
Y2xhc3M9ImhpdHMiPjE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBj
bGFzcz0iayI+dmFyPC9zcGFuPiBuYW1lIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiBjb25zdW1l
PHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+SUQ8c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4g
Y2xhc3M9ImsiPnx8PC9zcGFuPiBlcnJvcjxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNs
YXNzPSJzIj4iTm8gbmFtZSBmb3IgZW51bSI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFu
PjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NzI1PC90ZD48dGQg
Y2xhc3M9ImhpdHMiPjE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBj
bGFzcz0iayI+dmFyPC9zcGFuPiByZXQgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNs
YXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj43MjY8L3RkPjx0
ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIHR5
cGU8c3BhbiBjbGFzcz0iayI+Ojwvc3Bhbj4gICA8c3BhbiBjbGFzcz0icyI+ImVudW0iPC9zcGFu
PjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj43Mjc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+
PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPiw8L3Nw
YW4+ICAgbmFtZTxzcGFuIGNsYXNzPSJrIj46PC9zcGFuPiAgIG5hbWU8c3BhbiBjbGFzcz0iayI+
Ljwvc3Bhbj52YWx1ZTwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj43Mjg8L3RkPjx0ZCBj
bGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xh
c3M9ImsiPiw8L3NwYW4+ICAgdmFsdWVzPHNwYW4gY2xhc3M9ImsiPjo8L3NwYW4+IDxzcGFuIGNs
YXNzPSJrIj5bXTwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NzI5PC90ZD48
dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFu
IGNsYXNzPSJrIj59PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIg
Y2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NzMwPC90ZD48dGQgY2xhc3M9ImhpdHMiPjE8
L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+
KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NzMx
PC90ZD48dGQgY2xhc3M9ImhpdHMiPjE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAg
ICBjb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+T1RIRVI8c3BhbiBjbGFzcz0iayI+LDwv
c3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJ7Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4g
PHNwYW4gY2xhc3M9ImsiPnx8PC9zcGFuPiBlcnJvcjxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxz
cGFuIGNsYXNzPSJzIj4iTm8gY3VybHkgZm9yIGVudW0iPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4p
Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjczMjwv
dGQ+PHRkIGNsYXNzPSJoaXRzIj4xPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAg
PHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gc2F3X2NvbW1hIDxzcGFuIGNsYXNzPSJrIj49PC9z
cGFuPiA8c3BhbiBjbGFzcz0iayI+ZmFsc2U8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+
PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj43MzM8L3RkPjx0ZCBj
bGFzcz0iaGl0cyI+MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNs
YXNzPSJrIj53aGlsZTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9
ImsiPnRydWU8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57
PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NzM0PC90
ZD48dGQgY2xhc3M9ImhpdHMiPjQ8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAg
ICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJo
aXQiPiA8dGQgY2xhc3M9ImxpbmUiPjczNTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40PC90ZD48dGQg
Y2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4g
PHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+Y29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPk9U
SEVSPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4ifSI8L3NwYW4+PHNw
YW4gY2xhc3M9ImsiPikpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+
PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjczNjwvdGQ+PHRkIGNsYXNzPSJoaXRz
Ij4xPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICBhbGxfd3M8c3Bh
biBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFz
cz0ibGluZSI+NzM3PC90ZD48dGQgY2xhc3M9ImhpdHMiPjE8L3RkPjx0ZCBjbGFzcz0ic291cmNl
Ij4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xh
c3M9ImsiPig8L3NwYW4+c2F3X2NvbW1hPHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IGVycm9yPHNw
YW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9InMiPiJUcmFpbGluZyBjb21tYSBpbiBl
bnVtIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0i
aGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj43Mzg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTwvdGQ+PHRk
IGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAgY29uc3VtZTxzcGFuIGNsYXNzPSJr
Ij4oPC9zcGFuPk9USEVSPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4i
OyI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj58fDwvc3Bh
bj4gZXJyb3I8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0icyI+Ik5vIHNlbWlj
b2xvbiBhZnRlciBlbnVtIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3Ry
Pjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj43Mzk8L3RkPjx0ZCBjbGFzcz0iaGl0
cyI+MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xh
c3M9ImsiPnJldHVybjwvc3Bhbj4gcmV0PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3Ry
Pjx0cj48dGQgY2xhc3M9ImxpbmUiPjc0MDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBj
bGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PC90
ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj43NDE8L3RkPjx0ZCBjbGFz
cz0iaGl0cyI+MzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBj
bGFzcz0iayI+dmFyPC9zcGFuPiB2YWwgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IGNvbnN1bWU8
c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5TVFI8c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4g
Y2xhc3M9ImsiPnx8PC9zcGFuPiBlcnJvcjxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNs
YXNzPSJzIj4iVW5leHBlY3RlZCB2YWx1ZSBpbiBlbnVtIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+
KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj43NDI8
L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAg
ICAgICByZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj52YWx1ZXM8c3BhbiBjbGFzcz0iayI+Ljwv
c3Bhbj5wdXNoPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+dmFsPHNwYW4gY2xhc3M9ImsiPi48L3Nw
YW4+dmFsdWU8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5yZXBsYWNlPHNwYW4gY2xhc3M9ImsiPig8
L3NwYW4+PHNwYW4gY2xhc3M9InMiPi8iL2c8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+
IDxzcGFuIGNsYXNzPSJzIj4iIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KSk7PC9zcGFuPjwvdGQ+
PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NzQzPC90ZD48dGQgY2xhc3M9
ImhpdHMiPjM8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgYWxsX3dzPHNw
YW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xh
c3M9ImxpbmUiPjc0NDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4zPC90ZD48dGQgY2xhc3M9InNvdXJj
ZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9
ImsiPig8L3NwYW4+Y29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPk9USEVSPHNwYW4gY2xh
c3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iLCI8L3NwYW4+PHNwYW4gY2xhc3M9Imsi
PikpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJo
aXQiPiA8dGQgY2xhc3M9ImxpbmUiPjc0NTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yPC90ZD48dGQg
Y2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+
KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NzQ2
PC90ZD48dGQgY2xhc3M9ImhpdHMiPjI8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAg
ICAgICAgICAgIHNhd19jb21tYSA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9
ImsiPnRydWU8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQg
Y2xhc3M9ImxpbmUiPjc0NzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291
cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PC90ZD48L3RyPjx0
cj48dGQgY2xhc3M9ImxpbmUiPjc0ODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFz
cz0ic291cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmVsc2U8L3NwYW4+IDxz
cGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFz
cz0ibGluZSI+NzQ5PC90ZD48dGQgY2xhc3M9ImhpdHMiPjE8L3RkPjx0ZCBjbGFzcz0ic291cmNl
Ij4gICAgICAgICAgICAgICAgICAgIHNhd19jb21tYSA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4g
PHNwYW4gY2xhc3M9ImsiPmZhbHNlPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+
PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj43NTA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48
dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFu
PjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj43NTE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+
PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3Nw
YW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjc1MjwvdGQ+PHRkIGNsYXNzPSJoaXRz
Ij48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFu
PjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj43
NTM8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8
L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjc1NDwvdGQ+PHRkIGNs
YXNzPSJoaXRzIj40NzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9
ImsiPnZhcjwvc3Bhbj4gdHlwZWRlZiA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xh
c3M9ImsiPmZ1bmN0aW9uPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KCk8L3NwYW4+IDxzcGFuIGNs
YXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGlu
ZSI+NzU1PC90ZD48dGQgY2xhc3M9ImhpdHMiPjUxPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAg
ICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNs
YXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjc1NjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj45OTwv
dGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bh
bj4gPHNwYW4gY2xhc3M9ImsiPighPC9zcGFuPmNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bh
bj5JRDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+InR5cGVkZWYiPC9z
cGFuPjxzcGFuIGNsYXNzPSJrIj4pKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnJldHVybjwvc3Bh
bj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQg
Y2xhc3M9ImxpbmUiPjc1NzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4zPC90ZD48dGQgY2xhc3M9InNv
dXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gcmV0IDxzcGFuIGNs
YXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0
ZCBjbGFzcz0ibGluZSI+NzU4PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJz
b3VyY2UiPiAgICAgICAgICAgICAgICB0eXBlPHNwYW4gY2xhc3M9ImsiPjo8L3NwYW4+ICAgPHNw
YW4gY2xhc3M9InMiPiJ0eXBlZGVmIjwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGlu
ZSI+NzU5PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAg
ICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwv
dGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NzYwPC90ZD48dGQgY2xh
c3M9ImhpdHMiPjM8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICBhbGxfd3M8c3Bh
biBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFz
cz0ibGluZSI+NzYxPC90ZD48dGQgY2xhc3M9ImhpdHMiPjM8L3RkPjx0ZCBjbGFzcz0ic291cmNl
Ij4gICAgICAgICAgICByZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5leHRBdHRycyA8c3BhbiBj
bGFzcz0iayI+PTwvc3Bhbj4gZXh0ZW5kZWRfYXR0cnM8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFu
PjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NzYyPC90ZD48dGQg
Y2xhc3M9ImhpdHMiPjM8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICBhbGxfd3M8
c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBj
bGFzcz0ibGluZSI+NzYzPC90ZD48dGQgY2xhc3M9ImhpdHMiPjM8L3RkPjx0ZCBjbGFzcz0ic291
cmNlIj4gICAgICAgICAgICByZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5pZGxUeXBlIDxzcGFu
IGNsYXNzPSJrIj49PC9zcGFuPiB0eXBlPHNwYW4gY2xhc3M9ImsiPigpPC9zcGFuPiA8c3BhbiBj
bGFzcz0iayI+fHw8L3NwYW4+IGVycm9yPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xh
c3M9InMiPiJObyB0eXBlIGluIHR5cGVkZWYiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bh
bj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjc2NDwvdGQ+PHRk
IGNsYXNzPSJoaXRzIj4zPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgYWxsX3dz
PHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQg
Y2xhc3M9ImxpbmUiPjc2NTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4zPC90ZD48dGQgY2xhc3M9InNv
dXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gbmFtZSA8c3BhbiBj
bGFzcz0iayI+PTwvc3Bhbj4gY29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPklEPHNwYW4g
Y2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj58fDwvc3Bhbj4gZXJyb3I8c3BhbiBj
bGFzcz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0icyI+Ik5vIG5hbWUgaW4gdHlwZWRlZiI8L3Nw
YW4+PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0
ZCBjbGFzcz0ibGluZSI+NzY2PC90ZD48dGQgY2xhc3M9ImhpdHMiPjM8L3RkPjx0ZCBjbGFzcz0i
c291cmNlIj4gICAgICAgICAgICByZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5uYW1lIDxzcGFu
IGNsYXNzPSJrIj49PC9zcGFuPiBuYW1lPHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+dmFsdWU8c3Bh
biBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9
ImxpbmUiPjc2NzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4zPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+
ICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRy
IGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjc2ODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4z
PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgY29uc3VtZTxzcGFuIGNsYXNzPSJr
Ij4oPC9zcGFuPk9USEVSPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4i
OyI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj58fDwvc3Bh
bj4gZXJyb3I8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0icyI+IlVudGVybWlu
YXRlZCB0eXBlZGVmIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0
ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj43Njk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+
MzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5yZXR1
cm48L3NwYW4+IHJldDxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNs
YXNzPSJsaW5lIj43NzA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJj
ZSI+ICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bh
bj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NzcxPC90ZD48dGQgY2xhc3M9ImhpdHMi
PjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0
Ij4gPHRkIGNsYXNzPSJsaW5lIj43NzI8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDc8L3RkPjx0ZCBj
bGFzcz0ic291cmNlIj4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IGltcGxlbWVu
dHNfIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ZnVuY3Rpb248L3Nw
YW4+IDxzcGFuIGNsYXNzPSJrIj4oKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90
ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj43NzM8L3RkPjx0ZCBjbGFz
cz0iaGl0cyI+NDg8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICBhbGxfd3M8c3Bh
biBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFz
cz0ibGluZSI+Nzc0PC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ4PC90ZD48dGQgY2xhc3M9InNvdXJj
ZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gdGFyZ2V0IDxzcGFuIGNs
YXNzPSJrIj49PC9zcGFuPiBjb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+SUQ8c3BhbiBj
bGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJs
aW5lIj43NzU8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+OTU8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4g
ICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oITwv
c3Bhbj50YXJnZXQ8c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnJldHVy
bjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQi
PiA8dGQgY2xhc3M9ImxpbmUiPjc3NjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xPC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gdyA8c3Bh
biBjbGFzcz0iayI+PTwvc3Bhbj4gYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3Rk
PjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjc3NzwvdGQ+PHRkIGNsYXNz
PSJoaXRzIj4xPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9
ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5jb25zdW1lPHNwYW4gY2xhc3M9
ImsiPig8L3NwYW4+SUQ8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJp
bXBsZW1lbnRzIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KSk8L3NwYW4+IDxzcGFuIGNsYXNzPSJr
Ij57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+Nzc4
PC90ZD48dGQgY2xhc3M9ImhpdHMiPjE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAg
ICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gcmV0IDxzcGFuIGNsYXNzPSJrIj49PC9z
cGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGlu
ZSI+Nzc5PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAg
ICAgICAgICAgICAgICAgdHlwZTxzcGFuIGNsYXNzPSJrIj46PC9zcGFuPiAgIDxzcGFuIGNsYXNz
PSJzIj4iaW1wbGVtZW50cyI8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjc4
MDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAg
ICAgICAgPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+ICAgdGFyZ2V0PHNwYW4gY2xhc3M9ImsiPjo8
L3NwYW4+IHRhcmdldDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnZhbHVlPC90ZD48L3RyPjx0cj48
dGQgY2xhc3M9ImxpbmUiPjc4MTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0i
c291cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PHNwYW4gY2xh
c3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5l
Ij43ODI8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAg
ICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIg
Y2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NzgzPC90ZD48dGQgY2xhc3M9ImhpdHMiPjE8
L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZh
cjwvc3Bhbj4gaW1wIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiBjb25zdW1lPHNwYW4gY2xhc3M9
ImsiPig8L3NwYW4+SUQ8c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnx8
PC9zcGFuPiBlcnJvcjxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4iSW5j
b21wbGV0ZSBpbXBsZW1lbnRzIHN0YXRlbWVudCI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7PC9z
cGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+Nzg0PC90ZD48
dGQgY2xhc3M9ImhpdHMiPjE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAg
cmV0PHNwYW4gY2xhc3M9ImsiPls8L3NwYW4+PHNwYW4gY2xhc3M9InMiPiJpbXBsZW1lbnRzIjwv
c3Bhbj48c3BhbiBjbGFzcz0iayI+XTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IGlt
cDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnZhbHVlPHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90
ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj43ODU8L3RkPjx0ZCBjbGFz
cz0iaGl0cyI+MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICBhbGxfd3M8
c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBj
bGFzcz0ibGluZSI+Nzg2PC90ZD48dGQgY2xhc3M9ImhpdHMiPjE8L3RkPjx0ZCBjbGFzcz0ic291
cmNlIj4gICAgICAgICAgICAgICAgY29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPk9USEVS
PHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iOyI8L3NwYW4+PHNwYW4g
Y2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj58fDwvc3Bhbj4gZXJyb3I8c3BhbiBj
bGFzcz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0icyI+Ik5vIHRlcm1pbmF0aW5nIDsgZm9yIGlt
cGxlbWVudHMgc3RhdGVtZW50Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48
L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj43ODc8L3RkPjx0ZCBjbGFzcz0i
aGl0cyI+MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFz
cz0iayI+cmV0dXJuPC9zcGFuPiByZXQ8c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+
PHRyPjx0ZCBjbGFzcz0ibGluZSI+Nzg4PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNs
YXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90
cj48dHI+PHRkIGNsYXNzPSJsaW5lIj43ODk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQg
Y2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmVsc2U8L3NwYW4+IDxz
cGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj43OTA8
L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAg
ICAgIDxzcGFuIGNsYXNzPSJjIj4vLyByb2xsYmFjazwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNz
PSJtaXNzIj4gPHRkIGNsYXNzPSJsaW5lIj43OTE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MDwvdGQ+
PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICB0b2tlbnM8c3BhbiBjbGFzcz0iayI+
Ljwvc3Bhbj51bnNoaWZ0PHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+dzxzcGFuIGNsYXNzPSJrIj4p
Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJtaXNzIj4gPHRkIGNsYXNzPSJsaW5lIj43OTI8
L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAg
ICAgICB0b2tlbnM8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj51bnNoaWZ0PHNwYW4gY2xhc3M9Imsi
Pig8L3NwYW4+dGFyZ2V0PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRk
IGNsYXNzPSJsaW5lIj43OTM8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNv
dXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PC90ZD48L3RyPjx0cj48
dGQgY2xhc3M9ImxpbmUiPjc5NDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0i
c291cmNlIj4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47
PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj43OTU8L3RkPjx0ZCBjbGFzcz0i
aGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8L3RkPjwvdHI+PHRyIGNsYXNz
PSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjc5NjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40NzwvdGQ+
PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gZGVm
aW5pdGlvbiA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPmZ1bmN0aW9u
PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KCk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFu
PjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+Nzk3PC90ZD48dGQg
Y2xhc3M9ImhpdHMiPjE0NDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFu
IGNsYXNzPSJrIj5yZXR1cm48L3NwYW4+ICBjYWxsYmFjazxzcGFuIGNsYXNzPSJrIj4oKTwvc3Bh
bj4gICAgICA8c3BhbiBjbGFzcz0iayI+fHw8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9
ImxpbmUiPjc5ODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4g
ICAgICAgICAgICAgICAgICAgIGludGVyZmFjZV88c3BhbiBjbGFzcz0iayI+KCk8L3NwYW4+ICAg
IDxzcGFuIGNsYXNzPSJrIj58fDwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+
Nzk5PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAg
ICAgICAgICAgICAgcGFydGlhbDxzcGFuIGNsYXNzPSJrIj4oKTwvc3Bhbj4gICAgICAgPHNwYW4g
Y2xhc3M9ImsiPnx8PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj44MDA8L3Rk
Pjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAg
ICAgICBkaWN0aW9uYXJ5PHNwYW4gY2xhc3M9ImsiPigpPC9zcGFuPiAgICA8c3BhbiBjbGFzcz0i
ayI+fHw8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjgwMTwvdGQ+PHRkIGNs
YXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAgIGV4
Y2VwdGlvbjxzcGFuIGNsYXNzPSJrIj4oKTwvc3Bhbj4gICAgIDxzcGFuIGNsYXNzPSJrIj58fDwv
c3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+ODAyPC90ZD48dGQgY2xhc3M9Imhp
dHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAgZW51bV88c3Bh
biBjbGFzcz0iayI+KCk8L3NwYW4+ICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnx8PC9zcGFuPjwv
dGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj44MDM8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90
ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICB0eXBlZGVmPHNwYW4gY2xh
c3M9ImsiPigpPC9zcGFuPiAgICAgICA8c3BhbiBjbGFzcz0iayI+fHw8L3NwYW4+PC90ZD48L3Ry
Pjx0cj48dGQgY2xhc3M9ImxpbmUiPjgwNDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBj
bGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAgIGltcGxlbWVudHNfPHNwYW4gY2xhc3M9
ImsiPigpPC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj44MDU8L3RkPjx0ZCBj
bGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICA8
c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+ODA2
PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNw
YW4gY2xhc3M9ImsiPn08L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0
cj48dGQgY2xhc3M9ImxpbmUiPjgwNzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFz
cz0ic291cmNlIj4gICAgICAgIDwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0i
bGluZSI+ODA4PC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ3PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+
ICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiBkZWZpbml0aW9ucyA8c3BhbiBjbGFz
cz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPmZ1bmN0aW9uPC9zcGFuPiA8c3BhbiBjbGFz
cz0iayI+KCk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xh
c3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+ODA5PC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ3PC90
ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFu
PiA8c3BhbiBjbGFzcz0iayI+KCE8L3NwYW4+dG9rZW5zPHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+
bGVuZ3RoPHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5yZXR1cm48L3Nw
YW4+IDxzcGFuIGNsYXNzPSJrIj5bXTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4g
PHRkIGNsYXNzPSJsaW5lIj44MTA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDc8L3RkPjx0ZCBjbGFz
cz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiBkZWZzIDxz
cGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+W107PC9zcGFuPjwvdGQ+PC90
cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+ODExPC90ZD48dGQgY2xhc3M9Imhp
dHMiPjQ3PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9Imsi
PndoaWxlPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0iayI+dHJ1
ZTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+
PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj44MTI8L3RkPjx0ZCBj
bGFzcz0iaGl0cyI+MTQ0PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxz
cGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IGVhIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiBleHRl
bmRlZF9hdHRyczxzcGFuIGNsYXNzPSJrIj4oKTwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFz
cz0ibGluZSI+ODEzPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2Ui
PiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gICBkZWYgPHNwYW4gY2xh
c3M9ImsiPj08L3NwYW4+IGRlZmluaXRpb248c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+
PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+ODE0PC90ZD48dGQgY2xhc3M9
ImhpdHMiPjE0NDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBj
bGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oITwvc3Bhbj5kZWY8c3BhbiBjbGFz
cz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFz
cz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj44MTU8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDc8L3Rk
Pjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5p
Zjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+ZWE8c3BhbiBjbGFzcz0iayI+Ljwvc3Bh
bj5sZW5ndGg8c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gZXJyb3I8c3BhbiBjbGFzcz0iayI+KDwv
c3Bhbj48c3BhbiBjbGFzcz0icyI+IlN0cmF5IGV4dGVuZGVkIGF0dHJpYnV0ZXMiPC9zcGFuPjxz
cGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xh
c3M9ImxpbmUiPjgxNjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40NzwvdGQ+PHRkIGNsYXNzPSJzb3Vy
Y2UiPiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmJyZWFrPC9zcGFuPjxzcGFu
IGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj44MTc8L3Rk
Pjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAg
IDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBj
bGFzcz0ibGluZSI+ODE4PC90ZD48dGQgY2xhc3M9ImhpdHMiPjk3PC90ZD48dGQgY2xhc3M9InNv
dXJjZSI+ICAgICAgICAgICAgICAgIGRlZjxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPmV4dEF0dHJz
IDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiBlYTxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+
PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+ODE5PC90ZD48dGQgY2xhc3M9
ImhpdHMiPjk3PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIGRlZnM8c3Bh
biBjbGFzcz0iayI+Ljwvc3Bhbj5wdXNoPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+ZGVmPHNwYW4g
Y2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj44MjA8L3Rk
Pjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNw
YW4gY2xhc3M9ImsiPn08L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNz
PSJsaW5lIj44MjE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDc8L3RkPjx0ZCBjbGFzcz0ic291cmNl
Ij4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+cmV0dXJuPC9zcGFuPiBkZWZzPHNwYW4gY2xh
c3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjgyMjwvdGQ+PHRk
IGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxzcGFuIGNsYXNz
PSJrIj59PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9
ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+ODIzPC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ3PC90ZD48
dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiByZXMg
PHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IGRlZmluaXRpb25zPHNwYW4gY2xhc3M9ImsiPigpOzwv
c3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjgyNDwvdGQ+
PHRkIGNsYXNzPSJoaXRzIj40NzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4g
Y2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj50b2tlbnM8c3BhbiBj
bGFzcz0iayI+Ljwvc3Bhbj5sZW5ndGg8c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gZXJyb3I8c3Bh
biBjbGFzcz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0icyI+IlVucmVjb2duaXNlZCB0b2tlbnMi
PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQi
PiA8dGQgY2xhc3M9ImxpbmUiPjgyNTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40NzwvdGQ+PHRkIGNs
YXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnJldHVybjwvc3Bhbj4gcmVzPHNw
YW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjgyNjwv
dGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgPHNwYW4gY2xh
c3M9ImsiPn08L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQg
Y2xhc3M9ImxpbmUiPjgyNzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291
cmNlIj4gPC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj44Mjg8L3Rk
Pjx0ZCBjbGFzcz0iaGl0cyI+MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICA8c3BhbiBjbGFz
cz0iayI+dmFyPC9zcGFuPiBvYmogPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNz
PSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj44Mjk8L3RkPjx0ZCBj
bGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICBwYXJzZTxzcGFuIGNs
YXNzPSJrIj46PC9zcGFuPiAgPHNwYW4gY2xhc3M9ImsiPmZ1bmN0aW9uPC9zcGFuPiA8c3BhbiBj
bGFzcz0iayI+KDwvc3Bhbj5zdHI8c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9
ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj44
MzA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDc8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAg
ICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiB0b2tlbnMgPHNwYW4gY2xhc3M9ImsiPj08
L3NwYW4+IHRva2VuaXNlPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+c3RyPHNwYW4gY2xhc3M9Imsi
Pik7PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj44MzE8L3RkPjx0ZCBjbGFz
cz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9
ImMiPi8vIGNvbnNvbGUubG9nKHRva2Vucyk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9Imhp
dCI+IDx0ZCBjbGFzcz0ibGluZSI+ODMyPC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ3PC90ZD48dGQg
Y2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnJldHVybjwvc3Bhbj4g
cGFyc2U8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj50b2tlbnM8c3BhbiBjbGFzcz0iayI+KTs8L3Nw
YW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjgzMzwvdGQ+PHRkIGNsYXNzPSJoaXRz
Ij48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFu
PjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj44MzQ8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+
PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjxzcGFu
IGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0i
bGluZSI+ODM1PC90ZD48dGQgY2xhc3M9ImhpdHMiPjE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4g
ICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3Bh
biBjbGFzcz0iayI+dHlwZW9mPC9zcGFuPiBtb2R1bGUgPHNwYW4gY2xhc3M9ImsiPiE9PTwvc3Bh
bj4gPHNwYW4gY2xhc3M9InMiPiJ1bmRlZmluZWQiPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+JmFt
cDsmYW1wOzwvc3Bhbj4gbW9kdWxlPHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+ZXhwb3J0czxzcGFu
IGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRy
IGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjgzNjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4x
PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICBtb2R1bGU8c3BhbiBjbGFzcz0iayI+Ljwv
c3Bhbj5leHBvcnRzIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiBvYmo8c3BhbiBjbGFzcz0iayI+
Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+ODM3PC90ZD48dGQgY2xhc3M9
ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bh
bj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+ODM4PC90ZD48dGQgY2xhc3M9ImhpdHMi
PjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICA8c3BhbiBjbGFzcz0iayI+ZWxzZTwvc3Bhbj4g
PHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0ibWlzcyI+IDx0ZCBj
bGFzcz0ibGluZSI+ODM5PC90ZD48dGQgY2xhc3M9ImhpdHMiPjA8L3RkPjx0ZCBjbGFzcz0ic291
cmNlIj4gICAgICAgIHdpbmRvdzxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPldlYklETDIgPHNwYW4g
Y2xhc3M9ImsiPj08L3NwYW4+IG9iajxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48
dHI+PHRkIGNsYXNzPSJsaW5lIj44NDA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+ICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRk
IGNsYXNzPSJsaW5lIj44NDE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNv
dXJjZSI+PHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PHNwYW4gY2xhc3M9ImsiPigpKTs8L3NwYW4+
PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj48L2Rpdj48L2JvZHk+PC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi9pbmRleC5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvaW5kZXguanMKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDA5ZjllYjQ2YWE3OGY0ODY5MmVlM2Q5NzZkYWQzYTdiYjE3NGIx
NDguLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi9p
bmRleC5qcworKysgL2Rldi9udWxsCkBAIC0xICswLDAgQEAKLW1vZHVsZS5leHBvcnRzID0gcmVx
dWlyZSgiLi9saWIvd2ViaWRsMi5qcyIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi9saWIvUkVBRE1FLm1k
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi9saWIvUkVBRE1FLm1kCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFiZDU4MzI2OWQyOTI5YTE2YjFjN2Fk
MGM1OGZhYjZlOTliNzJhMTAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL2xpYi9SRUFETUUubWQK
QEAgLTAsMCArMSw0IEBACitUaGlzIGRpcmVjdG9yeSBjb250YWlucyBhIGJ1aWx0IHZlcnNpb24g
b2YgdGhlIFt3ZWJpZGwyLmpzIGxpYnJhcnldKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRs
Mi5qcykuCitJdCBpcyBidWlsdCBieSBydW5uaW5nIGBucG0gcnVuIGJ1aWxkLWRlYnVnYCBhdCB0
aGUgcm9vdCBvZiB0aGF0IHJlcG9zaXRvcnkuCisKK1RoZSBgd2ViaWRsMi5qcy5oZWFkZXJzYCBm
aWxlIGlzIGEgbG9jYWwgYWRkaXRpb24gdG8gZW5zdXJlIHRoZSBzY3JpcHQgaXMgaW50ZXJwcmV0
ZWQgYXMgVVRGLTguCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL2xpYi93M2MtaW1wb3J0LmxvZyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
bGliL3czYy1pbXBvcnQubG9nCmluZGV4IDBiYzlhYmJhMTkzMGM5NmQ0MmQwMjM3NDFhZjFlYTVj
NzU3YzE2YmQuLmRjYjg4OWYwMzNmMzUyZDQwNTYzYzdhOWVjYWU3MGUxNzQ5NmI2ODcgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvbGliL3czYy1pbXBvcnQubG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvbGliL3czYy1pbXBvcnQu
bG9nCkBAIC0xNCw2ICsxNCw2IEBAIFByb3BlcnR5IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9yIHBy
ZWZpeGVzOgogTm9uZQogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiBMaXN0IG9mIGZpbGVzOgorL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvbGli
L1JFQURNRS5tZAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvbGliL3dlYmlkbDIuanMKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL2xpYi93ZWJpZGwyLmpzLmhl
YWRlcnMKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL2xpYi93cml0ZXIuanMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvbGliL3dlYmlkbDIu
anMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL2xpYi93ZWJpZGwyLmpzCmluZGV4IGM2MGE0NTZjMzI0MTY1NWQwNWE3ZTQwZjgy
YjE5ZDg3MzVkMDE3ZDQuLjJhMTc0YzkyZWJlNjdkNjJiYzUyNzM1NTZmOWNjYTAzZGUzMzJkMDUg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvbGliL3dlYmlkbDIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi9saWIvd2ViaWRsMi5q
cwpAQCAtNTI0LDcgKzUyNCw3IEBAIGZ1bmN0aW9uIGxhc3RMaW5lKHRleHQpIHsKICAqIEBwYXJh
bSB7IlN5bnRheCIgfCAiVmFsaWRhdGlvbiJ9IGtpbmQgZXJyb3IgdHlwZQogICogQHBhcmFtIHtX
ZWJJREwyRXJyb3JPcHRpb25zfSBbb3B0aW9uc10KICAqLwotZnVuY3Rpb24gZXJyb3Ioc291cmNl
LCBwb3NpdGlvbiwgY3VycmVudCwgbWVzc2FnZSwga2luZCwgeyBsZXZlbCA9ICJlcnJvciIsIGF1
dG9maXggfSA9IHt9KSB7CitmdW5jdGlvbiBlcnJvcihzb3VyY2UsIHBvc2l0aW9uLCBjdXJyZW50
LCBtZXNzYWdlLCBraW5kLCB7IGxldmVsID0gImVycm9yIiwgYXV0b2ZpeCwgcnVsZU5hbWUgfSA9
IHt9KSB7CiAgIC8qKgogICAgKiBAcGFyYW0ge251bWJlcn0gY291bnQKICAgICovCkBAIC01NzQs
NiArNTc0LDcgQEAgZnVuY3Rpb24gZXJyb3Ioc291cmNlLCBwb3NpdGlvbiwgY3VycmVudCwgbWVz
c2FnZSwga2luZCwgeyBsZXZlbCA9ICJlcnJvciIsIGF1dG8KICAgICBsaW5lLAogICAgIHNvdXJj
ZU5hbWU6IHNvdXJjZS5uYW1lLAogICAgIGxldmVsLAorICAgIHJ1bGVOYW1lLAogICAgIGF1dG9m
aXgsCiAgICAgaW5wdXQ6IHN1YnNlcXVlbnRUZXh0LAogICAgIHRva2Vuczogc3Vic2VxdWVudFRv
a2VucwpAQCAtNTkxLDggKzU5Miw5IEBAIGZ1bmN0aW9uIHN5bnRheEVycm9yKHNvdXJjZSwgcG9z
aXRpb24sIGN1cnJlbnQsIG1lc3NhZ2UpIHsKICAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlIGVy
cm9yIG1lc3NhZ2UKICAqIEBwYXJhbSB7V2ViSURMMkVycm9yT3B0aW9uc30gW29wdGlvbnNdCiAg
Ki8KLWZ1bmN0aW9uIHZhbGlkYXRpb25FcnJvcihzb3VyY2UsIHRva2VuLCBjdXJyZW50LCBtZXNz
YWdlLCBvcHRpb25zKSB7Ci0gIHJldHVybiBlcnJvcihzb3VyY2UsIHRva2VuLmluZGV4LCBjdXJy
ZW50LCBtZXNzYWdlLCAiVmFsaWRhdGlvbiIsIG9wdGlvbnMpOworZnVuY3Rpb24gdmFsaWRhdGlv
bkVycm9yKHRva2VuLCBjdXJyZW50LCBydWxlTmFtZSwgbWVzc2FnZSwgb3B0aW9ucyA9IHt9KSB7
CisgIG9wdGlvbnMucnVsZU5hbWUgPSBydWxlTmFtZTsKKyAgcmV0dXJuIGVycm9yKGN1cnJlbnQu
c291cmNlLCB0b2tlbi5pbmRleCwgY3VycmVudCwgbWVzc2FnZSwgIlZhbGlkYXRpb24iLCBvcHRp
b25zKTsKIH0KIAogCkBAIC02MTIsNyArNjE0LDEwIEBAIF9fd2VicGFja19yZXF1aXJlX18ucihf
X3dlYnBhY2tfZXhwb3J0c19fKTsKIC8qIGhhcm1vbnkgZXhwb3J0IChiaW5kaW5nKSAqLyBfX3dl
YnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgInR5cGVfd2l0aF9leHRlbmRl
ZF9hdHRyaWJ1dGVzIiwgZnVuY3Rpb24oKSB7IHJldHVybiB0eXBlX3dpdGhfZXh0ZW5kZWRfYXR0
cmlidXRlczsgfSk7CiAvKiBoYXJtb255IGV4cG9ydCAoYmluZGluZykgKi8gX193ZWJwYWNrX3Jl
cXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sICJyZXR1cm5fdHlwZSIsIGZ1bmN0aW9uKCkg
eyByZXR1cm4gcmV0dXJuX3R5cGU7IH0pOwogLyogaGFybW9ueSBleHBvcnQgKGJpbmRpbmcpICov
IF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCAic3RyaW5naWZpZXIi
LCBmdW5jdGlvbigpIHsgcmV0dXJuIHN0cmluZ2lmaWVyOyB9KTsKKy8qIGhhcm1vbnkgZXhwb3J0
IChiaW5kaW5nKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywg
ImdldExhc3RJbmRlbnRhdGlvbiIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gZ2V0TGFzdEluZGVudGF0
aW9uOyB9KTsKKy8qIGhhcm1vbnkgZXhwb3J0IChiaW5kaW5nKSAqLyBfX3dlYnBhY2tfcmVxdWly
ZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgImdldE1lbWJlckluZGVudGF0aW9uIiwgZnVuY3Rp
b24oKSB7IHJldHVybiBnZXRNZW1iZXJJbmRlbnRhdGlvbjsgfSk7CiAvKiBoYXJtb255IGV4cG9y
dCAoYmluZGluZykgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18s
ICJhdXRvZml4QWRkRXhwb3NlZFdpbmRvdyIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gYXV0b2ZpeEFk
ZEV4cG9zZWRXaW5kb3c7IH0pOworLyogaGFybW9ueSBleHBvcnQgKGJpbmRpbmcpICovIF9fd2Vi
cGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCAiZ2V0Rmlyc3RUb2tlbiIsIGZ1
bmN0aW9uKCkgeyByZXR1cm4gZ2V0Rmlyc3RUb2tlbjsgfSk7CiAvKiBoYXJtb255IGltcG9ydCAq
LyB2YXIgX3R5cGVfanNfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfXyA9IF9fd2VicGFja19y
ZXF1aXJlX18oNSk7CiAvKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2FyZ3VtZW50X2pzX19XRUJQ
QUNLX0lNUE9SVEVEX01PRFVMRV8xX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDgpOwogLyogaGFy
bW9ueSBpbXBvcnQgKi8gdmFyIF90b2tlbl9qc19fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9f
ID0gX193ZWJwYWNrX3JlcXVpcmVfXygxMik7CkBAIC03ODksNiArNzk0LDMwIEBAIGZ1bmN0aW9u
IHN0cmluZ2lmaWVyKHRva2VuaXNlcikgewogICByZXR1cm4gbWVtYmVyOwogfQogCisvKioKKyAq
IEBwYXJhbSB7c3RyaW5nfSBzdHIKKyAqLworZnVuY3Rpb24gZ2V0TGFzdEluZGVudGF0aW9uKHN0
cikgeworICBjb25zdCBsaW5lcyA9IHN0ci5zcGxpdCgiXG4iKTsKKyAgLy8gdGhlIGZpcnN0IGxp
bmUgdmlzdWFsbHkgYmluZHMgdG8gdGhlIHByZWNlZGluZyB0b2tlbgorICBpZiAobGluZXMubGVu
Z3RoKSB7CisgICAgY29uc3QgbWF0Y2ggPSBsaW5lc1tsaW5lcy5sZW5ndGggLSAxXS5tYXRjaCgv
XlxzKy8pOworICAgIGlmIChtYXRjaCkgeworICAgICAgcmV0dXJuIG1hdGNoWzBdOworICAgIH0K
KyAgfQorICByZXR1cm4gIiI7Cit9CisKKy8qKgorICogQHBhcmFtIHtzdHJpbmd9IHBhcmVudFRy
aXZpYQorICovCitmdW5jdGlvbiBnZXRNZW1iZXJJbmRlbnRhdGlvbihwYXJlbnRUcml2aWEpIHsK
KyAgY29uc3QgaW5kZW50YXRpb24gPSBnZXRMYXN0SW5kZW50YXRpb24ocGFyZW50VHJpdmlhKTsK
KyAgY29uc3QgaW5kZW50Q2ggPSBpbmRlbnRhdGlvbi5pbmNsdWRlcygiXHQiKSA/ICJcdCIgOiAi
ICAiOworICByZXR1cm4gaW5kZW50YXRpb24gKyBpbmRlbnRDaDsKK30KKwogLyoqCiAgKiBAcGFy
YW0ge29iamVjdH0gZGVmCiAgKiBAcGFyYW0ge2ltcG9ydCgiLi9leHRlbmRlZC1hdHRyaWJ1dGVz
LmpzIikuRXh0ZW5kZWRBdHRyaWJ1dGVzfSBkZWYuZXh0QXR0cnMKQEAgLTgwNiwxMiArODM1LDI4
IEBAIGZ1bmN0aW9uIGF1dG9maXhBZGRFeHBvc2VkV2luZG93KGRlZikgewogICAgICAgZGVmLmV4
dEF0dHJzLnVuc2hpZnQoZXhwb3NlZCk7CiAgICAgfSBlbHNlIHsKICAgICAgIGRlZi5leHRBdHRy
cyA9IF9leHRlbmRlZF9hdHRyaWJ1dGVzX2pzX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX19b
IkV4dGVuZGVkQXR0cmlidXRlcyJdLnBhcnNlKG5ldyBfdG9rZW5pc2VyX2pzX19XRUJQQUNLX0lN
UE9SVEVEX01PRFVMRV82X19bIlRva2VuaXNlciJdKCJbRXhwb3NlZD1XaW5kb3ddIikpOwotICAg
ICAgZGVmLmV4dEF0dHJzLnRva2Vucy5vcGVuLnRyaXZpYSA9IGRlZi50b2tlbnMuYmFzZS50cml2
aWE7Ci0gICAgICBkZWYudG9rZW5zLmJhc2UudHJpdmlhID0gIiAiOworICAgICAgY29uc3QgdHJp
dmlhID0gZGVmLnRva2Vucy5iYXNlLnRyaXZpYTsKKyAgICAgIGRlZi5leHRBdHRycy50b2tlbnMu
b3Blbi50cml2aWEgPSB0cml2aWE7CisgICAgICBkZWYudG9rZW5zLmJhc2UudHJpdmlhID0gYFxu
JHtnZXRMYXN0SW5kZW50YXRpb24odHJpdmlhKX1gOwogICAgIH0KICAgfTsKIH0KIAorLyoqCisg
KiBHZXQgdGhlIGZpcnN0IHN5bnRheCB0b2tlbiBmb3IgdGhlIGdpdmVuIElETCBvYmplY3QuCisg
KiBAcGFyYW0geyp9IGRhdGEKKyAqLworZnVuY3Rpb24gZ2V0Rmlyc3RUb2tlbihkYXRhKSB7Cisg
IGlmIChkYXRhLmV4dEF0dHJzLmxlbmd0aCkgeworICAgIHJldHVybiBkYXRhLmV4dEF0dHJzLnRv
a2Vucy5vcGVuOworICB9CisgIGlmIChkYXRhLnR5cGUgPT09ICJvcGVyYXRpb24iKSB7CisgICAg
cmV0dXJuIGdldEZpcnN0VG9rZW4oZGF0YS5pZGxUeXBlKTsKKyAgfQorICBjb25zdCB0b2tlbnMg
PSBPYmplY3QudmFsdWVzKGRhdGEudG9rZW5zKS5zb3J0KCh4LCB5KSA9PiB4LmluZGV4IC0geS5p
bmRleCk7CisgIHJldHVybiB0b2tlbnNbMF07Cit9CisKIAogLyoqKi8gfSksCiAvKiA1ICovCkBA
IC05ODksNyArMTAzNCw3IEBAIGNsYXNzIFR5cGUgZXh0ZW5kcyBfYmFzZV9qc19fV0VCUEFDS19J
TVBPUlRFRF9NT0RVTEVfMF9fWyJCYXNlIl0gewogICAgICAgaWYgKHJlZmVyZW5jZSkgewogICAg
ICAgICBjb25zdCB0YXJnZXRUb2tlbiA9ICh0aGlzLnVuaW9uID8gcmVmZXJlbmNlIDogdGhpcyku
dG9rZW5zLmJhc2U7CiAgICAgICAgIGNvbnN0IG1lc3NhZ2UgPSBgTnVsbGFibGUgdW5pb24gY2Fu
bm90IGluY2x1ZGUgYSBkaWN0aW9uYXJ5IHR5cGVgOwotICAgICAgICB5aWVsZCBPYmplY3QoX2Vy
cm9yX2pzX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX19bInZhbGlkYXRpb25FcnJvciJdKSh0
aGlzLnNvdXJjZSwgdGFyZ2V0VG9rZW4sIHRoaXMsIG1lc3NhZ2UpOworICAgICAgICB5aWVsZCBP
YmplY3QoX2Vycm9yX2pzX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX19bInZhbGlkYXRpb25F
cnJvciJdKSh0YXJnZXRUb2tlbiwgdGhpcywgIm5vLW51bGxhYmxlLXVuaW9uLWRpY3QiLCBtZXNz
YWdlKTsKICAgICAgIH0KICAgICB9IGVsc2UgewogICAgICAgLy8gYWxsb3cgc29tZSBkaWN0aW9u
YXJ5CkBAIC0xMTQ4LDEwICsxMTkzLDEwIEBAIGNsYXNzIEFyZ3VtZW50IGV4dGVuZHMgX2Jhc2Vf
anNfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX1siQmFzZSJdIHsKICAgICBpZiAoT2JqZWN0
KF92YWxpZGF0b3JzX2hlbHBlcnNfanNfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzZfX1siaWRs
VHlwZUluY2x1ZGVzRGljdGlvbmFyeSJdKSh0aGlzLmlkbFR5cGUsIGRlZnMsIHsgdXNlTnVsbGFi
bGVJbm5lcjogdHJ1ZSB9KSkgewogICAgICAgaWYgKHRoaXMuaWRsVHlwZS5udWxsYWJsZSkgewog
ICAgICAgICBjb25zdCBtZXNzYWdlID0gYERpY3Rpb25hcnkgYXJndW1lbnRzIGNhbm5vdCBiZSBu
dWxsYWJsZS5gOwotICAgICAgICB5aWVsZCBPYmplY3QoX2Vycm9yX2pzX19XRUJQQUNLX0lNUE9S
VEVEX01PRFVMRV81X19bInZhbGlkYXRpb25FcnJvciJdKSh0aGlzLnNvdXJjZSwgdGhpcy50b2tl
bnMubmFtZSwgdGhpcywgbWVzc2FnZSk7CisgICAgICAgIHlpZWxkIE9iamVjdChfZXJyb3JfanNf
X1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzVfX1sidmFsaWRhdGlvbkVycm9yIl0pKHRoaXMudG9r
ZW5zLm5hbWUsIHRoaXMsICJuby1udWxsYWJsZS1kaWN0LWFyZyIsIG1lc3NhZ2UpOwogICAgICAg
fSBlbHNlIGlmICh0aGlzLm9wdGlvbmFsICYmICF0aGlzLmRlZmF1bHQpIHsKICAgICAgICAgY29u
c3QgbWVzc2FnZSA9IGBPcHRpb25hbCBkaWN0aW9uYXJ5IGFyZ3VtZW50cyBtdXN0IGhhdmUgYSBk
ZWZhdWx0IHZhbHVlIG9mIFxge31cYC5gOwotICAgICAgICB5aWVsZCBPYmplY3QoX2Vycm9yX2pz
X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV81X19bInZhbGlkYXRpb25FcnJvciJdKSh0aGlzLnNv
dXJjZSwgdGhpcy50b2tlbnMubmFtZSwgdGhpcywgbWVzc2FnZSwgeworICAgICAgICB5aWVsZCBP
YmplY3QoX2Vycm9yX2pzX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV81X19bInZhbGlkYXRpb25F
cnJvciJdKSh0aGlzLnRva2Vucy5uYW1lLCB0aGlzLCAiZGljdC1hcmctZGVmYXVsdCIsIG1lc3Nh
Z2UsIHsKICAgICAgICAgICBhdXRvZml4OiBhdXRvZml4T3B0aW9uYWxEaWN0aW9uYXJ5RGVmYXVs
dFZhbHVlKHRoaXMpCiAgICAgICAgIH0pOwogICAgICAgfQpAQCAtMTMxNSw3ICsxMzYwLDcgQEAg
Y2xhc3MgU2ltcGxlRXh0ZW5kZWRBdHRyaWJ1dGUgZXh0ZW5kcyBfYmFzZV9qc19fV0VCUEFDS19J
TVBPUlRFRF9NT0RVTEVfMF9fWyJCYXMKIHVuZGVzaXJhYmxlIGZlYXR1cmUgdGhhdCBtYXkgYmUg
cmVtb3ZlZCBmcm9tIFdlYiBJREwgaW4gdGhlIGZ1dHVyZS4gUmVmZXIgdG8gdGhlIFwKIFtyZWxl
dmFudCB1cHN0cmVhbSBQUl0oaHR0cHM6Ly9naXRodWIuY29tL2hleWNhbS93ZWJpZGwvcHVsbC82
MDkpIGZvciBtb3JlIFwKIGluZm9ybWF0aW9uLmA7Ci0gICAgICB5aWVsZCBPYmplY3QoX2Vycm9y
X2pzX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX19bInZhbGlkYXRpb25FcnJvciJdKSh0aGlz
LnNvdXJjZSwgdGhpcy50b2tlbnMubmFtZSwgdGhpcywgbWVzc2FnZSwgeyBsZXZlbDogIndhcm5p
bmciIH0pOworICAgICAgeWllbGQgT2JqZWN0KF9lcnJvcl9qc19fV0VCUEFDS19JTVBPUlRFRF9N
T0RVTEVfM19fWyJ2YWxpZGF0aW9uRXJyb3IiXSkodGhpcy50b2tlbnMubmFtZSwgdGhpcywgIm5v
LW5vaW50ZXJmYWNlb2JqZWN0IiwgbWVzc2FnZSwgeyBsZXZlbDogIndhcm5pbmciIH0pOwogICAg
IH0KICAgICBmb3IgKGNvbnN0IGFyZyBvZiB0aGlzLmFyZ3VtZW50cykgewogICAgICAgeWllbGQq
IGFyZy52YWxpZGF0ZShkZWZzKTsKQEAgLTE0NjQsNyArMTUwOSw3IEBAIGNsYXNzIE9wZXJhdGlv
biBleHRlbmRzIF9iYXNlX2pzX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19bIkJhc2UiXSB7
CiAgICp2YWxpZGF0ZShkZWZzKSB7CiAgICAgaWYgKCF0aGlzLm5hbWUgJiYgWyIiLCAic3RhdGlj
Il0uaW5jbHVkZXModGhpcy5zcGVjaWFsKSkgewogICAgICAgY29uc3QgbWVzc2FnZSA9IGBSZWd1
bGFyIG9yIHN0YXRpYyBvcGVyYXRpb25zIG11c3QgaGF2ZSBib3RoIGEgcmV0dXJuIHR5cGUgYW5k
IGFuIGlkZW50aWZpZXIuYDsKLSAgICAgIHlpZWxkIE9iamVjdChfZXJyb3JfanNfX1dFQlBBQ0tf
SU1QT1JURURfTU9EVUxFXzJfX1sidmFsaWRhdGlvbkVycm9yIl0pKHRoaXMuc291cmNlLCB0aGlz
LnRva2Vucy5vcGVuLCB0aGlzLCBtZXNzYWdlKTsKKyAgICAgIHlpZWxkIE9iamVjdChfZXJyb3Jf
anNfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX1sidmFsaWRhdGlvbkVycm9yIl0pKHRoaXMu
dG9rZW5zLm9wZW4sIHRoaXMsICJpbmNvbXBsZXRlLW9wIiwgbWVzc2FnZSk7CiAgICAgfQogICAg
IGlmICh0aGlzLmlkbFR5cGUpIHsKICAgICAgIHlpZWxkKiB0aGlzLmlkbFR5cGUudmFsaWRhdGUo
ZGVmcyk7CkBAIC0xNzYwLDYgKzE4MDUsOCBAQCBfX3dlYnBhY2tfcmVxdWlyZV9fLnIoX193ZWJw
YWNrX2V4cG9ydHNfXyk7CiAvKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2Vycm9yX2pzX19XRUJQ
QUNLX0lNUE9SVEVEX01PRFVMRV82X18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDMpOwogLyogaGFy
bW9ueSBpbXBvcnQgKi8gdmFyIF92YWxpZGF0b3JzX2ludGVyZmFjZV9qc19fV0VCUEFDS19JTVBP
UlRFRF9NT0RVTEVfN19fID0gX193ZWJwYWNrX3JlcXVpcmVfXygyMyk7CiAvKiBoYXJtb255IGlt
cG9ydCAqLyB2YXIgX2NvbnN0cnVjdG9yX2pzX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV84X18g
PSBfX3dlYnBhY2tfcmVxdWlyZV9fKDI0KTsKKy8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfdG9r
ZW5pc2VyX2pzX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV85X18gPSBfX3dlYnBhY2tfcmVxdWly
ZV9fKDIpOworCiAKIAogCkBAIC0xODE5LDEwICsxODY2LDIwIEBAIFRvIGZpeCwgYWRkLCBmb3Ig
ZXhhbXBsZSwgXGBbRXhwb3NlZD1XaW5kb3ddXGAuIFBsZWFzZSBhbHNvIGNvbnNpZGVyIGNhcmVm
dWxseSBcCiBpZiB5b3VyIGludGVyZmFjZSBzaG91bGQgYWxzbyBiZSBleHBvc2VkIGluIGEgV29y
a2VyIHNjb3BlLiBSZWZlciB0byB0aGUgXAogW1dlYklETCBzcGVjIHNlY3Rpb24gb24gRXhwb3Nl
ZF0oaHR0cHM6Ly9oZXljYW0uZ2l0aHViLmlvL3dlYmlkbC8jRXhwb3NlZCkgXAogZm9yIG1vcmUg
aW5mb3JtYXRpb24uYDsKLSAgICAgIHlpZWxkIE9iamVjdChfZXJyb3JfanNfX1dFQlBBQ0tfSU1Q
T1JURURfTU9EVUxFXzZfX1sidmFsaWRhdGlvbkVycm9yIl0pKHRoaXMuc291cmNlLCB0aGlzLnRv
a2Vucy5uYW1lLCB0aGlzLCBtZXNzYWdlLCB7CisgICAgICB5aWVsZCBPYmplY3QoX2Vycm9yX2pz
X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV82X19bInZhbGlkYXRpb25FcnJvciJdKSh0aGlzLnRv
a2Vucy5uYW1lLCB0aGlzLCAicmVxdWlyZS1leHBvc2VkIiwgbWVzc2FnZSwgewogICAgICAgICBh
dXRvZml4OiBPYmplY3QoX2hlbHBlcnNfanNfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzVfX1si
YXV0b2ZpeEFkZEV4cG9zZWRXaW5kb3ciXSkodGhpcykKICAgICAgIH0pOwogICAgIH0KKyAgICBj
b25zdCBjb25zdHJ1Y3RvcnMgPSB0aGlzLmV4dEF0dHJzLmZpbHRlcihleHRBdHRyID0+IGV4dEF0
dHIubmFtZSA9PT0gIkNvbnN0cnVjdG9yIik7CisgICAgZm9yIChjb25zdCBjb25zdHJ1Y3RvciBv
ZiBjb25zdHJ1Y3RvcnMpIHsKKyAgICAgIGNvbnN0IG1lc3NhZ2UgPSBgQ29uc3RydWN0b3JzIHNo
b3VsZCBub3cgYmUgcmVwcmVzZW50ZWQgYXMgYSBcYGNvbnN0cnVjdG9yKClcYCBvcGVyYXRpb24g
b24gdGhlIGludGVyZmFjZSBcCitpbnN0ZWFkIG9mIFxgW0NvbnN0cnVjdG9yXVxgIGV4dGVuZGVk
IGF0dHJpYnV0ZS4gUmVmZXIgdG8gdGhlIFwKK1tXZWJJREwgc3BlYyBzZWN0aW9uIG9uIGNvbnN0
cnVjdG9yIG9wZXJhdGlvbnNdKGh0dHBzOi8vaGV5Y2FtLmdpdGh1Yi5pby93ZWJpZGwvI2lkbC1j
b25zdHJ1Y3RvcnMpIFwKK2ZvciBtb3JlIGluZm9ybWF0aW9uLmA7CisgICAgICB5aWVsZCBPYmpl
Y3QoX2Vycm9yX2pzX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV82X19bInZhbGlkYXRpb25FcnJv
ciJdKShjb25zdHJ1Y3Rvci50b2tlbnMubmFtZSwgdGhpcywgImNvbnN0cnVjdG9yLW1lbWJlciIs
IG1lc3NhZ2UsIHsKKyAgICAgICAgYXV0b2ZpeDogYXV0b2ZpeENvbnN0cnVjdG9yKHRoaXMsIGNv
bnN0cnVjdG9yKQorICAgICAgfSk7CisgICAgfQogCiAgICAgeWllbGQqIHN1cGVyLnZhbGlkYXRl
KGRlZnMpOwogICAgIGlmICghdGhpcy5wYXJ0aWFsKSB7CkBAIC0xODMxLDYgKzE4ODgsMzcgQEAg
Zm9yIG1vcmUgaW5mb3JtYXRpb24uYDsKICAgfQogfQogCitmdW5jdGlvbiBhdXRvZml4Q29uc3Ry
dWN0b3IoaW50ZXJmYWNlRGVmLCBjb25zdHJ1Y3RvckV4dEF0dHIpIHsKKyAgcmV0dXJuICgpID0+
IHsKKyAgICBjb25zdCBpbmRlbnRhdGlvbiA9IE9iamVjdChfaGVscGVyc19qc19fV0VCUEFDS19J
TVBPUlRFRF9NT0RVTEVfNV9fWyJnZXRMYXN0SW5kZW50YXRpb24iXSkoaW50ZXJmYWNlRGVmLmV4
dEF0dHJzLnRva2Vucy5vcGVuLnRyaXZpYSk7CisgICAgY29uc3QgbWVtYmVySW5kZW50ID0gaW50
ZXJmYWNlRGVmLm1lbWJlcnMubGVuZ3RoID8KKyAgICAgIE9iamVjdChfaGVscGVyc19qc19fV0VC
UEFDS19JTVBPUlRFRF9NT0RVTEVfNV9fWyJnZXRMYXN0SW5kZW50YXRpb24iXSkoT2JqZWN0KF9o
ZWxwZXJzX2pzX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV81X19bImdldEZpcnN0VG9rZW4iXSko
aW50ZXJmYWNlRGVmLm1lbWJlcnNbMF0pLnRyaXZpYSkgOgorICAgICAgT2JqZWN0KF9oZWxwZXJz
X2pzX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV81X19bImdldE1lbWJlckluZGVudGF0aW9uIl0p
KGluZGVudGF0aW9uKTsKKyAgICBjb25zdCBjb25zdHJ1Y3Rvck9wID0gX2NvbnN0cnVjdG9yX2pz
X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV84X19bIkNvbnN0cnVjdG9yIl0ucGFyc2UobmV3IF90
b2tlbmlzZXJfanNfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzlfX1siVG9rZW5pc2VyIl0oYFxu
JHttZW1iZXJJbmRlbnR9Y29uc3RydWN0b3IoKTtgKSk7CisgICAgY29uc3RydWN0b3JPcC5leHRB
dHRycyA9IFtdOworICAgIGNvbnN0cnVjdG9yT3AuYXJndW1lbnRzID0gY29uc3RydWN0b3JFeHRB
dHRyLmFyZ3VtZW50czsKKworICAgIGNvbnN0IGV4aXN0aW5nSW5kZXggPSBpbnRlcmZhY2VEZWYu
bWVtYmVycy5maW5kSW5kZXgobSA9PiBtLnR5cGUgPT09ICJjb25zdHJ1Y3RvciIpOworICAgIGlu
dGVyZmFjZURlZi5tZW1iZXJzLnNwbGljZShleGlzdGluZ0luZGV4ICsgMSwgMCwgY29uc3RydWN0
b3JPcCk7CisKKyAgICBjb25zdCB7IGNsb3NlIH0gID0gaW50ZXJmYWNlRGVmLnRva2VuczsKKyAg
ICBpZiAoIWNsb3NlLnRyaXZpYS5pbmNsdWRlcygiXG4iKSkgeworICAgICAgY2xvc2UudHJpdmlh
ICs9IGBcbiR7aW5kZW50YXRpb259YDsKKyAgICB9CisKKyAgICBjb25zdCB7IGV4dEF0dHJzIH0g
PSBpbnRlcmZhY2VEZWY7CisgICAgY29uc3QgaW5kZXggPSBleHRBdHRycy5pbmRleE9mKGNvbnN0
cnVjdG9yRXh0QXR0cik7CisgICAgY29uc3QgcmVtb3ZlZCA9IGV4dEF0dHJzLnNwbGljZShpbmRl
eCwgMSk7CisgICAgaWYgKCFleHRBdHRycy5sZW5ndGgpIHsKKyAgICAgIGV4dEF0dHJzLnRva2Vu
cy5vcGVuID0gZXh0QXR0cnMudG9rZW5zLmNsb3NlID0gdW5kZWZpbmVkOworICAgIH0gZWxzZSBp
ZiAoZXh0QXR0cnMubGVuZ3RoID09PSBpbmRleCkgeworICAgICAgZXh0QXR0cnNbaW5kZXggLSAx
XS50b2tlbnMuc2VwYXJhdG9yID0gdW5kZWZpbmVkOworICAgIH0gZWxzZSBpZiAoIWV4dEF0dHJz
W2luZGV4XS50b2tlbnMubmFtZS50cml2aWEudHJpbSgpKSB7CisgICAgICBleHRBdHRyc1tpbmRl
eF0udG9rZW5zLm5hbWUudHJpdmlhID0gcmVtb3ZlZFswXS50b2tlbnMubmFtZS50cml2aWE7Cisg
ICAgfQorICB9OworfQorCiAKIC8qKiovIH0pLAogLyogMjAgKi8KQEAgLTIwNjYsNyArMjE1NCw3
IEBAIGZ1bmN0aW9uKiBjaGVja0ludGVyZmFjZU1lbWJlckR1cGxpY2F0aW9uKGRlZnMsIGkpIHsK
ICAgICAgIGNvbnN0IHsgbmFtZSB9ID0gYWRkaXRpb247CiAgICAgICBpZiAobmFtZSAmJiBleGlz
dGluZ3MuaGFzKG5hbWUpKSB7CiAgICAgICAgIGNvbnN0IG1lc3NhZ2UgPSBgVGhlIG9wZXJhdGlv
biAiJHtuYW1lfSIgaGFzIGFscmVhZHkgYmVlbiBkZWZpbmVkIGZvciB0aGUgYmFzZSBpbnRlcmZh
Y2UgIiR7YmFzZS5uYW1lfSIgZWl0aGVyIGluIGl0c2VsZiBvciBpbiBhIG1peGluYDsKLSAgICAg
ICAgeWllbGQgT2JqZWN0KF9lcnJvcl9qc19fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fWyJ2
YWxpZGF0aW9uRXJyb3IiXSkoZXh0LnNvdXJjZSwgYWRkaXRpb24udG9rZW5zLm5hbWUsIGV4dCwg
bWVzc2FnZSk7CisgICAgICAgIHlpZWxkIE9iamVjdChfZXJyb3JfanNfX1dFQlBBQ0tfSU1QT1JU
RURfTU9EVUxFXzBfX1sidmFsaWRhdGlvbkVycm9yIl0pKGFkZGl0aW9uLnRva2Vucy5uYW1lLCBl
eHQsICJuby1jcm9zcy1vdmVybG9hZCIsIG1lc3NhZ2UpOwogICAgICAgfQogICAgIH0KICAgfQpA
QCAtMjExMiw2ICsyMjAwLDE1IEBAIGNsYXNzIENvbnN0cnVjdG9yIGV4dGVuZHMgX2Jhc2VfanNf
X1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX1siQmFzZSJdIHsKICAgZ2V0IHR5cGUoKSB7CiAg
ICAgcmV0dXJuICJjb25zdHJ1Y3RvciI7CiAgIH0KKworICAqdmFsaWRhdGUoZGVmcykgeworICAg
IGlmICh0aGlzLmlkbFR5cGUpIHsKKyAgICAgIHlpZWxkKiB0aGlzLmlkbFR5cGUudmFsaWRhdGUo
ZGVmcyk7CisgICAgfQorICAgIGZvciAoY29uc3QgYXJndW1lbnQgb2YgdGhpcy5hcmd1bWVudHMp
IHsKKyAgICAgIHlpZWxkKiBhcmd1bWVudC52YWxpZGF0ZShkZWZzKTsKKyAgICB9CisgIH0KIH0K
IAogCkBAIC0yMjk0LDcgKzIzOTEsNyBAQCBUbyBmaXgsIGFkZCwgZm9yIGV4YW1wbGUsIFtFeHBv
c2VkPVdpbmRvd10uIFBsZWFzZSBhbHNvIGNvbnNpZGVyIGNhcmVmdWxseSBcCiBpZiB5b3VyIG5h
bWVzcGFjZSBzaG91bGQgYWxzbyBiZSBleHBvc2VkIGluIGEgV29ya2VyIHNjb3BlLiBSZWZlciB0
byB0aGUgXAogW1dlYklETCBzcGVjIHNlY3Rpb24gb24gRXhwb3NlZF0oaHR0cHM6Ly9oZXljYW0u
Z2l0aHViLmlvL3dlYmlkbC8jRXhwb3NlZCkgXAogZm9yIG1vcmUgaW5mb3JtYXRpb24uYDsKLSAg
ICAgIHlpZWxkIE9iamVjdChfZXJyb3JfanNfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzNfX1si
dmFsaWRhdGlvbkVycm9yIl0pKHRoaXMuc291cmNlLCB0aGlzLnRva2Vucy5uYW1lLCB0aGlzLCBt
ZXNzYWdlLCB7CisgICAgICB5aWVsZCBPYmplY3QoX2Vycm9yX2pzX19XRUJQQUNLX0lNUE9SVEVE
X01PRFVMRV8zX19bInZhbGlkYXRpb25FcnJvciJdKSh0aGlzLnRva2Vucy5uYW1lLCB0aGlzLCAi
cmVxdWlyZS1leHBvc2VkIiwgbWVzc2FnZSwgewogICAgICAgICBhdXRvZml4OiBPYmplY3QoX2hl
bHBlcnNfanNfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzRfX1siYXV0b2ZpeEFkZEV4cG9zZWRX
aW5kb3ciXSkodGhpcykKICAgICAgIH0pOwogICAgIH0KQEAgLTI2NTAsNyArMjc0Nyw2IEBAIGZ1
bmN0aW9uIHdyaXRlKGFzdCwgeyB0ZW1wbGF0ZXM6IHRzID0gdGVtcGxhdGVzIH0gPSB7fSkgewog
ICAgIGVudW06IGVudW1fLAogICAgICJlbnVtLXZhbHVlIjogZW51bV92YWx1ZSwKICAgICBpdGVy
YWJsZTogaXRlcmFibGVfbGlrZSwKLSAgICBsZWdhY3lpdGVyYWJsZTogaXRlcmFibGVfbGlrZSwK
ICAgICBtYXBsaWtlOiBpdGVyYWJsZV9saWtlLAogICAgIHNldGxpa2U6IGl0ZXJhYmxlX2xpa2Us
CiAgICAgImNhbGxiYWNrIGludGVyZmFjZSI6IGNvbnRhaW5lciwKQEAgLTI3NDEsNyArMjgzNyw3
IEBAIGZ1bmN0aW9uKiBjaGVja0R1cGxpY2F0ZWROYW1lcyh7IHVuaXF1ZSwgZHVwbGljYXRlcyB9
KSB7CiAgIGZvciAoY29uc3QgZHVwIG9mIGR1cGxpY2F0ZXMpIHsKICAgICBjb25zdCB7IG5hbWUg
fSA9IGR1cDsKICAgICBjb25zdCBtZXNzYWdlID0gYFRoZSBuYW1lICIke25hbWV9IiBvZiB0eXBl
ICIke3VuaXF1ZS5nZXQobmFtZSkudHlwZX0iIHdhcyBhbHJlYWR5IHNlZW5gOwotICAgIHlpZWxk
IE9iamVjdChfZXJyb3JfanNfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX1sidmFsaWRhdGlv
bkVycm9yIl0pKGR1cC5zb3VyY2UsIGR1cC50b2tlbnMubmFtZSwgZHVwLCBtZXNzYWdlKTsKKyAg
ICB5aWVsZCBPYmplY3QoX2Vycm9yX2pzX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19bInZh
bGlkYXRpb25FcnJvciJdKShkdXAudG9rZW5zLm5hbWUsIGR1cCwgIm5vLWR1cGxpY2F0ZSIsIG1l
c3NhZ2UpOwogICB9CiB9CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvbGliL3dyaXRlci5qcyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
bGliL3dyaXRlci5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjMwOTdhNmY4YTc0
ZTRjZGVhZjcxZjY4OGVjZTIwNDIzYzIzOGEwZC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL2xpYi93cml0ZXIuanMKKysrIC9kZXYvbnVsbApAQCAt
MSwyMjEgKzAsMCBAQAotInVzZSBzdHJpY3QiOwotCi0oKCkgPT4gewotICBmdW5jdGlvbiB3cml0
ZShhc3QsIG9wdCA9IHt9KSB7Ci0gICAgY29uc3Qgbm9vcCA9IHN0ciA9PiBzdHI7Ci0gICAgY29u
c3Qgb3B0TmFtZXMgPSAidHlwZSIuc3BsaXQoIiAiKTsKLSAgICBjb25zdCBjb250ZXh0ID0gW107
Ci0gICAgZm9yIChjb25zdCBvIG9mIG9wdE5hbWVzKSB7Ci0gICAgICBpZiAoIW9wdFtvXSkgb3B0
W29dID0gbm9vcDsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBsaXRlcmFsKGl0KSB7Ci0gICAgICBy
ZXR1cm4gaXQudmFsdWU7Ci0gICAgfTsKLSAgICBmdW5jdGlvbiB0eXBlKGl0KSB7Ci0gICAgICBp
ZiAodHlwZW9mIGl0ID09PSAic3RyaW5nIikgcmV0dXJuIG9wdC50eXBlKGl0KTsgLy8gWFhYIHNo
b3VsZCBtYWludGFpbiBzb21lIGNvbnRleHQKLSAgICAgIGxldCByZXQgPSBleHRlbmRlZF9hdHRy
aWJ1dGVzKGl0LmV4dEF0dHJzKTsKLSAgICAgIGlmIChpdC51bmlvbikgcmV0ICs9IGAoJHtpdC5p
ZGxUeXBlLm1hcCh0eXBlKS5qb2luKCIgb3IgIil9KWA7Ci0gICAgICBlbHNlIHsKLSAgICAgICAg
aWYgKGl0LmdlbmVyaWMpIHJldCArPSBgJHtpdC5nZW5lcmljfTxgOwotICAgICAgICBpZiAoQXJy
YXkuaXNBcnJheShpdC5pZGxUeXBlKSkgcmV0ICs9IGl0LmlkbFR5cGUubWFwKHR5cGUpLmpvaW4o
IiwgIik7Ci0gICAgICAgIGVsc2UgcmV0ICs9IHR5cGUoaXQuaWRsVHlwZSk7Ci0gICAgICAgIGlm
IChpdC5nZW5lcmljKSByZXQgKz0gIj4iOwotICAgICAgfQotICAgICAgaWYgKGl0Lm51bGxhYmxl
KSByZXQgKz0gIj8iOwotCi0gICAgICByZXR1cm4gcmV0OwotICAgIH07Ci0gICAgZnVuY3Rpb24g
Y29uc3RfdmFsdWUoaXQpIHsKLSAgICAgIGNvbnN0IHRwID0gaXQudHlwZTsKLSAgICAgIGlmICh0
cCA9PT0gImJvb2xlYW4iKSByZXR1cm4gaXQudmFsdWUgPyAidHJ1ZSIgOiAiZmFsc2UiOwotICAg
ICAgZWxzZSBpZiAodHAgPT09ICJudWxsIikgcmV0dXJuICJudWxsIjsKLSAgICAgIGVsc2UgaWYg
KHRwID09PSAiSW5maW5pdHkiKSByZXR1cm4gKGl0Lm5lZ2F0aXZlID8gIi0iIDogIiIpICsgIklu
ZmluaXR5IjsKLSAgICAgIGVsc2UgaWYgKHRwID09PSAiTmFOIikgcmV0dXJuICJOYU4iOwotICAg
ICAgZWxzZSBpZiAodHAgPT09ICJudW1iZXIiKSByZXR1cm4gaXQudmFsdWU7Ci0gICAgICBlbHNl
IGlmICh0cCA9PT0gInNlcXVlbmNlIikgcmV0dXJuICJbXSI7Ci0gICAgICBlbHNlIHJldHVybiBg
IiR7aXQudmFsdWV9ImA7Ci0gICAgfTsKLSAgICBmdW5jdGlvbiBhcmd1bWVudChhcmcpIHsKLSAg
ICAgIGxldCByZXQgPSBleHRlbmRlZF9hdHRyaWJ1dGVzKGFyZy5leHRBdHRycyk7Ci0gICAgICBp
ZiAoYXJnLm9wdGlvbmFsKSByZXQgKz0gIm9wdGlvbmFsICI7Ci0gICAgICByZXQgKz0gdHlwZShh
cmcuaWRsVHlwZSk7Ci0gICAgICBpZiAoYXJnLnZhcmlhZGljKSByZXQgKz0gIi4uLiI7Ci0gICAg
ICByZXQgKz0gYCAke2FyZy5lc2NhcGVkTmFtZX1gOwotICAgICAgaWYgKGFyZy5kZWZhdWx0KSBy
ZXQgKz0gYCA9ICR7Y29uc3RfdmFsdWUoYXJnLmRlZmF1bHQpfWA7Ci0gICAgICByZXR1cm4gcmV0
OwotICAgIH07Ci0gICAgZnVuY3Rpb24gbWFrZV9leHRfYXQoaXQpIHsKLSAgICAgIGNvbnRleHQu
dW5zaGlmdChpdCk7Ci0gICAgICBsZXQgcmV0ID0gaXQubmFtZTsKLSAgICAgIGlmIChpdC5yaHMp
IHsKLSAgICAgICAgaWYgKGl0LnJocy50eXBlID09PSAiaWRlbnRpZmllci1saXN0IikgcmV0ICs9
IGA9KCR7aXQucmhzLnZhbHVlLmpvaW4oIiwiKX0pYDsKLSAgICAgICAgZWxzZSByZXQgKz0gYD0k
e2l0LnJocy52YWx1ZX1gOwotICAgICAgfQotICAgICAgaWYgKGl0LmFyZ3VtZW50cykgcmV0ICs9
IGAoJHtpdC5hcmd1bWVudHMubGVuZ3RoID8gaXQuYXJndW1lbnRzLm1hcChhcmd1bWVudCkuam9p
bigiLCIpIDogIiJ9KWA7Ci0gICAgICBjb250ZXh0LnNoaWZ0KCk7IC8vIFhYWCBuZWVkIHRvIGFk
ZCBtb3JlIGNvbnRleHRzLCBidXQgbm90IG1vcmUgdGhhbiBuZWVkZWQgZm9yIFJlU3BlYwotICAg
ICAgcmV0dXJuIHJldDsKLSAgICB9OwotICAgIGZ1bmN0aW9uIGV4dGVuZGVkX2F0dHJpYnV0ZXMo
ZWF0cykgewotICAgICAgaWYgKCFlYXRzIHx8ICFlYXRzLmxlbmd0aCkgcmV0dXJuICIiOwotICAg
ICAgcmV0dXJuIGBbJHtlYXRzLm1hcChtYWtlX2V4dF9hdCkuam9pbigiLCAiKX1dYDsKLSAgICB9
OwotCi0gICAgY29uc3QgbW9kaWZpZXJzID0gImdldHRlciBzZXR0ZXIgZGVsZXRlciBzdHJpbmdp
ZmllciBzdGF0aWMiLnNwbGl0KCIgIik7Ci0gICAgZnVuY3Rpb24gb3BlcmF0aW9uKGl0KSB7Ci0g
ICAgICBsZXQgcmV0ID0gZXh0ZW5kZWRfYXR0cmlidXRlcyhpdC5leHRBdHRycyk7Ci0gICAgICBp
ZiAoaXQuc3RyaW5naWZpZXIgJiYgIWl0LmlkbFR5cGUpIHJldHVybiAic3RyaW5naWZpZXI7IjsK
LSAgICAgIGZvciAoY29uc3QgbW9kIG9mIG1vZGlmaWVycykgewotICAgICAgICBpZiAoaXRbbW9k
XSkgcmV0ICs9IG1vZCArICIgIjsKLSAgICAgIH0KLSAgICAgIHJldCArPSB0eXBlKGl0LmlkbFR5
cGUpICsgIiAiOwotICAgICAgaWYgKGl0Lm5hbWUpIHJldCArPSBpdC5lc2NhcGVkTmFtZTsKLSAg
ICAgIHJldCArPSBgKCR7aXQuYXJndW1lbnRzLm1hcChhcmd1bWVudCkuam9pbigiLCIpfSk7YDsK
LSAgICAgIHJldHVybiByZXQ7Ci0gICAgfTsKLQotICAgIGZ1bmN0aW9uIGF0dHJpYnV0ZShpdCkg
ewotICAgICAgbGV0IHJldCA9IGV4dGVuZGVkX2F0dHJpYnV0ZXMoaXQuZXh0QXR0cnMpOwotICAg
ICAgaWYgKGl0LnN0YXRpYykgcmV0ICs9ICJzdGF0aWMgIjsKLSAgICAgIGlmIChpdC5zdHJpbmdp
ZmllcikgcmV0ICs9ICJzdHJpbmdpZmllciAiOwotICAgICAgaWYgKGl0LmluaGVyaXQpIHJldCAr
PSAiaW5oZXJpdCAiOwotICAgICAgaWYgKGl0LnJlYWRvbmx5KSByZXQgKz0gInJlYWRvbmx5ICI7
Ci0gICAgICByZXQgKz0gYGF0dHJpYnV0ZSAke3R5cGUoaXQuaWRsVHlwZSl9ICR7aXQuZXNjYXBl
ZE5hbWV9O2A7Ci0gICAgICByZXR1cm4gcmV0OwotICAgIH07Ci0KLSAgICBmdW5jdGlvbiBpbnRl
cmZhY2VfKGl0KSB7Ci0gICAgICBsZXQgcmV0ID0gZXh0ZW5kZWRfYXR0cmlidXRlcyhpdC5leHRB
dHRycyk7Ci0gICAgICBpZiAoaXQucGFydGlhbCkgcmV0ICs9ICJwYXJ0aWFsICI7Ci0gICAgICBy
ZXQgKz0gYGludGVyZmFjZSAke2l0Lm5hbWV9IGA7Ci0gICAgICBpZiAoaXQuaW5oZXJpdGFuY2Up
IHJldCArPSBgOiAke2l0LmluaGVyaXRhbmNlfSBgOwotICAgICAgcmV0ICs9IGB7JHtpdGVyYXRl
KGl0Lm1lbWJlcnMpfX07YDsKLSAgICAgIHJldHVybiByZXQ7Ci0gICAgfTsKLQotICAgIGZ1bmN0
aW9uIGludGVyZmFjZV9taXhpbihpdCkgewotICAgICAgbGV0IHJldCA9IGV4dGVuZGVkX2F0dHJp
YnV0ZXMoaXQuZXh0QXR0cnMpOwotICAgICAgaWYgKGl0LnBhcnRpYWwpIHJldCArPSAicGFydGlh
bCAiOwotICAgICAgcmV0ICs9IGBpbnRlcmZhY2UgbWl4aW4gJHtpdC5uYW1lfSBgOwotICAgICAg
cmV0ICs9IGB7JHtpdGVyYXRlKGl0Lm1lbWJlcnMpfX07YDsKLSAgICAgIHJldHVybiByZXQ7Ci0g
ICAgfQotCi0gICAgZnVuY3Rpb24gbmFtZXNwYWNlKGl0KSB7Ci0gICAgICBsZXQgcmV0ID0gZXh0
ZW5kZWRfYXR0cmlidXRlcyhpdC5leHRBdHRycyk7Ci0gICAgICBpZiAoaXQucGFydGlhbCkgcmV0
ICs9ICJwYXJ0aWFsICI7Ci0gICAgICByZXQgKz0gYG5hbWVzcGFjZSAke2l0Lm5hbWV9IGA7Ci0g
ICAgICByZXQgKz0gYHske2l0ZXJhdGUoaXQubWVtYmVycyl9fTtgOwotICAgICAgcmV0dXJuIHJl
dDsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBkaWN0aW9uYXJ5KGl0KSB7Ci0gICAgICBsZXQgcmV0
ID0gZXh0ZW5kZWRfYXR0cmlidXRlcyhpdC5leHRBdHRycyk7Ci0gICAgICBpZiAoaXQucGFydGlh
bCkgcmV0ICs9ICJwYXJ0aWFsICI7Ci0gICAgICByZXQgKz0gYGRpY3Rpb25hcnkgJHtpdC5uYW1l
fSBgOwotICAgICAgaWYgKGl0LmluaGVyaXRhbmNlKSByZXQgKz0gYDogJHtpdC5pbmhlcml0YW5j
ZX0gYDsKLSAgICAgIHJldCArPSBgeyR7aXRlcmF0ZShpdC5tZW1iZXJzKX19O2A7Ci0gICAgICBy
ZXR1cm4gcmV0OwotICAgIH07Ci0gICAgZnVuY3Rpb24gZmllbGQoaXQpIHsKLSAgICAgIGxldCBy
ZXQgPSBleHRlbmRlZF9hdHRyaWJ1dGVzKGl0LmV4dEF0dHJzKTsKLSAgICAgIGlmIChpdC5yZXF1
aXJlZCkgcmV0ICs9ICJyZXF1aXJlZCAiOwotICAgICAgcmV0ICs9IGAke3R5cGUoaXQuaWRsVHlw
ZSl9ICR7aXQuZXNjYXBlZE5hbWV9YDsKLSAgICAgIGlmIChpdC5kZWZhdWx0KSByZXQgKz0gYCA9
ICR7Y29uc3RfdmFsdWUoaXQuZGVmYXVsdCl9YDsKLSAgICAgIHJldCArPSAiOyI7Ci0gICAgICBy
ZXR1cm4gcmV0OwotICAgIH07Ci0gICAgZnVuY3Rpb24gY29uc3RfKGl0KSB7Ci0gICAgICBjb25z
dCByZXQgPSBleHRlbmRlZF9hdHRyaWJ1dGVzKGl0LmV4dEF0dHJzKTsKLSAgICAgIHJldHVybiBg
JHtyZXR9Y29uc3QgJHt0eXBlKGl0LmlkbFR5cGUpfSR7aXQubnVsbGFibGUgPyAiPyIgOiAiIn0g
JHtpdC5uYW1lfSA9ICR7Y29uc3RfdmFsdWUoaXQudmFsdWUpfTtgOwotICAgIH07Ci0gICAgZnVu
Y3Rpb24gdHlwZWRlZihpdCkgewotICAgICAgbGV0IHJldCA9IGV4dGVuZGVkX2F0dHJpYnV0ZXMo
aXQuZXh0QXR0cnMpOwotICAgICAgcmV0ICs9IGB0eXBlZGVmICR7ZXh0ZW5kZWRfYXR0cmlidXRl
cyhpdC50eXBlRXh0QXR0cnMpfWA7Ci0gICAgICByZXR1cm4gYCR7cmV0fSR7dHlwZShpdC5pZGxU
eXBlKX0gJHtpdC5uYW1lfTtgOwotICAgIH07Ci0gICAgZnVuY3Rpb24gaW1wbGVtZW50c18oaXQp
IHsKLSAgICAgIGNvbnN0IHJldCA9IGV4dGVuZGVkX2F0dHJpYnV0ZXMoaXQuZXh0QXR0cnMpOwot
ICAgICAgcmV0dXJuIGAke3JldH0ke2l0LnRhcmdldH0gaW1wbGVtZW50cyAke2l0LmltcGxlbWVu
dHN9O2A7Ci0gICAgfTsKLSAgICBmdW5jdGlvbiBpbmNsdWRlcyhpdCkgewotICAgICAgY29uc3Qg
cmV0ID0gZXh0ZW5kZWRfYXR0cmlidXRlcyhpdC5leHRBdHRycyk7Ci0gICAgICByZXR1cm4gYCR7
cmV0fSR7aXQudGFyZ2V0fSBpbmNsdWRlcyAke2l0LmluY2x1ZGVzfTtgOwotICAgIH07Ci0gICAg
ZnVuY3Rpb24gY2FsbGJhY2soaXQpIHsKLSAgICAgIGNvbnN0IHJldCA9IGV4dGVuZGVkX2F0dHJp
YnV0ZXMoaXQuZXh0QXR0cnMpOwotICAgICAgcmV0dXJuIGAke3JldH1jYWxsYmFjayAke2l0Lm5h
bWV9ID0gJHt0eXBlKGl0LmlkbFR5cGUpfSgke2l0LmFyZ3VtZW50cy5tYXAoYXJndW1lbnQpLmpv
aW4oIiwiKX0pO2A7Ci0gICAgfTsKLSAgICBmdW5jdGlvbiBlbnVtXyhpdCkgewotICAgICAgbGV0
IHJldCA9IGV4dGVuZGVkX2F0dHJpYnV0ZXMoaXQuZXh0QXR0cnMpOwotICAgICAgcmV0ICs9IGBl
bnVtICR7aXQubmFtZX0ge2A7Ci0gICAgICBmb3IgKGNvbnN0IHYgb2YgaXQudmFsdWVzKSB7Ci0g
ICAgICAgIHJldCArPSBgIiR7di52YWx1ZX0iLGA7Ci0gICAgICB9Ci0gICAgICByZXR1cm4gcmV0
ICsgIn07IjsKLSAgICB9OwotICAgIGZ1bmN0aW9uIGl0ZXJhYmxlKGl0KSB7Ci0gICAgICByZXR1
cm4gYGl0ZXJhYmxlPCR7QXJyYXkuaXNBcnJheShpdC5pZGxUeXBlKSA/IGl0LmlkbFR5cGUubWFw
KHR5cGUpLmpvaW4oIiwgIikgOiB0eXBlKGl0LmlkbFR5cGUpfT47YDsKLSAgICB9OwotICAgIGZ1
bmN0aW9uIGxlZ2FjeWl0ZXJhYmxlKGl0KSB7Ci0gICAgICByZXR1cm4gYGxlZ2FjeWl0ZXJhYmxl
PCR7QXJyYXkuaXNBcnJheShpdC5pZGxUeXBlKSA/IGl0LmlkbFR5cGUubWFwKHR5cGUpLmpvaW4o
IiwgIikgOiB0eXBlKGl0LmlkbFR5cGUpfT47YDsKLSAgICB9OwotICAgIGZ1bmN0aW9uIG1hcGxp
a2UoaXQpIHsKLSAgICAgIHJldHVybiBgJHtpdC5yZWFkb25seSA/ICJyZWFkb25seSAiIDogIiJ9
bWFwbGlrZTwke2l0LmlkbFR5cGUubWFwKHR5cGUpLmpvaW4oIiwgIil9PjtgOwotICAgIH07Ci0g
ICAgZnVuY3Rpb24gc2V0bGlrZShpdCkgewotICAgICAgcmV0dXJuIGAke2l0LnJlYWRvbmx5ID8g
InJlYWRvbmx5ICIgOiAiIn1zZXRsaWtlPCR7dHlwZShpdC5pZGxUeXBlWzBdKX0+O2A7Ci0gICAg
fTsKLSAgICBmdW5jdGlvbiBjYWxsYmFja0ludGVyZmFjZShpdCkgewotICAgICAgcmV0dXJuIGBj
YWxsYmFjayAke2ludGVyZmFjZV8oaXQpfWA7Ci0gICAgfTsKLQotICAgIGNvbnN0IHRhYmxlID0g
ewotICAgICAgaW50ZXJmYWNlOiBpbnRlcmZhY2VfLAotICAgICAgImludGVyZmFjZSBtaXhpbiI6
IGludGVyZmFjZV9taXhpbiwKLSAgICAgIG5hbWVzcGFjZSwKLSAgICAgIG9wZXJhdGlvbiwKLSAg
ICAgIGF0dHJpYnV0ZSwKLSAgICAgIGRpY3Rpb25hcnksCi0gICAgICBmaWVsZCwKLSAgICAgIGNv
bnN0OiBjb25zdF8sCi0gICAgICB0eXBlZGVmLAotICAgICAgaW1wbGVtZW50czogaW1wbGVtZW50
c18sCi0gICAgICBpbmNsdWRlcywKLSAgICAgIGNhbGxiYWNrLAotICAgICAgZW51bTogZW51bV8s
Ci0gICAgICBpdGVyYWJsZSwKLSAgICAgIGxlZ2FjeWl0ZXJhYmxlLAotICAgICAgbWFwbGlrZSwK
LSAgICAgIHNldGxpa2UsCi0gICAgICAiY2FsbGJhY2sgaW50ZXJmYWNlIjogY2FsbGJhY2tJbnRl
cmZhY2UKLSAgICB9OwotICAgIGZ1bmN0aW9uIGRpc3BhdGNoKGl0KSB7Ci0gICAgICBjb25zdCBk
aXNwYXRjaGVyID0gdGFibGVbaXQudHlwZV07Ci0gICAgICBpZiAoIWRpc3BhdGNoZXIpIHsKLSAg
ICAgICAgdGhyb3cgbmV3IEVycm9yKGBUeXBlICIke2l0LnR5cGV9IiBpcyB1bnN1cHBvcnRlZGAp
Ci0gICAgICB9Ci0gICAgICByZXR1cm4gdGFibGVbaXQudHlwZV0oaXQpOwotICAgIH07Ci0gICAg
ZnVuY3Rpb24gaXRlcmF0ZSh0aGluZ3MpIHsKLSAgICAgIGlmICghdGhpbmdzKSByZXR1cm47Ci0g
ICAgICBsZXQgcmV0ID0gIiI7Ci0gICAgICBmb3IgKGNvbnN0IHRoaW5nIG9mIHRoaW5ncykgcmV0
ICs9IGRpc3BhdGNoKHRoaW5nKTsKLSAgICAgIHJldHVybiByZXQ7Ci0gICAgfTsKLSAgICByZXR1
cm4gaXRlcmF0ZShhc3QpOwotICB9OwotCi0KLSAgY29uc3Qgb2JqID0gewotICAgIHdyaXRlCi0g
IH07Ci0KLSAgaWYgKHR5cGVvZiBtb2R1bGUgIT09ICd1bmRlZmluZWQnICYmIHR5cGVvZiBtb2R1
bGUuZXhwb3J0cyAhPT0gJ3VuZGVmaW5lZCcpIHsKLSAgICBtb2R1bGUuZXhwb3J0cyA9IG9iajsK
LSAgfSBlbHNlIGlmICh0eXBlb2YgZGVmaW5lID09PSAnZnVuY3Rpb24nICYmIGRlZmluZS5hbWQp
IHsKLSAgICBkZWZpbmUoW10sICgpID0+IG9iaik7Ci0gIH0gZWxzZSB7Ci0gICAgKHNlbGYgfHwg
d2luZG93KS5XZWJJREwyV3JpdGVyID0gb2JqOwotICB9Ci19KSgpOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi9wYWNrYWdlLWxvY2suanNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvcGFja2FnZS1sb2NrLmpzb24KZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IGIwNTgxMDM3ZmU5NDM0MjNmNGYwOWJjZWFiYmVmMGY4ODI4ZDZm
YzMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi9w
YWNrYWdlLWxvY2suanNvbgorKysgL2Rldi9udWxsCkBAIC0xLDcwMCArMCwwIEBACi17Ci0gICJu
YW1lIjogIndlYmlkbDIiLAotICAidmVyc2lvbiI6ICIxMy4wLjMiLAotICAibG9ja2ZpbGVWZXJz
aW9uIjogMSwKLSAgInJlcXVpcmVzIjogdHJ1ZSwKLSAgImRlcGVuZGVuY2llcyI6IHsKLSAgICAi
QGJhYmVsL2NvZGUtZnJhbWUiOiB7Ci0gICAgICAidmVyc2lvbiI6ICI3LjAuMC1iZXRhLjQwIiwK
LSAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9AYmFiZWwvY29k
ZS1mcmFtZS8tL2NvZGUtZnJhbWUtNy4wLjAtYmV0YS40MC50Z3oiLAotICAgICAgImludGVncml0
eSI6ICJzaGE1MTItZVZYUVNidS9SaW1VNk9LY0syL2dESlZURmN4WEpJNHNIYklxdzJtaHdNWmVR
MmFzLzhBaFM5REdrRURvSE1CQk5KWjVCMFVTNjNsRjU2eCtLRGN4aUE9PSIsCi0gICAgICAiZGV2
IjogdHJ1ZSwKLSAgICAgICJyZXF1aXJlcyI6IHsKLSAgICAgICAgIkBiYWJlbC9oaWdobGlnaHQi
OiAiNy4wLjAtYmV0YS40MCIKLSAgICAgIH0KLSAgICB9LAotICAgICJAYmFiZWwvaGlnaGxpZ2h0
IjogewotICAgICAgInZlcnNpb24iOiAiNy4wLjAtYmV0YS40MCIsCi0gICAgICAicmVzb2x2ZWQi
OiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvQGJhYmVsL2hpZ2hsaWdodC8tL2hpZ2hsaWdo
dC03LjAuMC1iZXRhLjQwLnRneiIsCi0gICAgICAiaW50ZWdyaXR5IjogInNoYTUxMi1tT2hoVHJ6
aWVWNlZPN29kZ3pGR0ZhcGl3UkswZWk4UlpSaGZ6SGhiNmNwWDNRTThYWHVDTFhXak44cUJCN0pS
ZURkVVI4MFYzTEZmRnJHVVlldmhOZz09IiwKLSAgICAgICJkZXYiOiB0cnVlLAotICAgICAgInJl
cXVpcmVzIjogewotICAgICAgICAiY2hhbGsiOiAiXjIuMC4wIiwKLSAgICAgICAgImVzdXRpbHMi
OiAiXjIuMC4yIiwKLSAgICAgICAgImpzLXRva2VucyI6ICJeMy4wLjAiCi0gICAgICB9Ci0gICAg
fSwKLSAgICAiYW5zaS1yZWdleCI6IHsKLSAgICAgICJ2ZXJzaW9uIjogIjMuMC4wIiwKLSAgICAg
ICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9hbnNpLXJlZ2V4Ly0vYW5z
aS1yZWdleC0zLjAuMC50Z3oiLAotICAgICAgImludGVncml0eSI6ICJzaGExLTdRTVh3eUlHVDNs
R2JBS1dhOTIyQmFzMzJaZz0iLAotICAgICAgImRldiI6IHRydWUKLSAgICB9LAotICAgICJhbnNp
LXN0eWxlcyI6IHsKLSAgICAgICJ2ZXJzaW9uIjogIjMuMi4xIiwKLSAgICAgICJyZXNvbHZlZCI6
ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9hbnNpLXN0eWxlcy8tL2Fuc2ktc3R5bGVzLTMu
Mi4xLnRneiIsCi0gICAgICAiaW50ZWdyaXR5IjogInNoYTUxMi1WVDBaSTZrWlJkVGg4WXlKdzNT
TWJZbS91K05xZnNBeEVwV08wUGY5c3E4L2U5NFd4eE9wUEt4OUZSMUZseUN0T1ZETk9RKzhudGxx
RnhpUmMrcjVxQT09IiwKLSAgICAgICJkZXYiOiB0cnVlLAotICAgICAgInJlcXVpcmVzIjogewot
ICAgICAgICAiY29sb3ItY29udmVydCI6ICJeMS45LjAiCi0gICAgICB9Ci0gICAgfSwKLSAgICAi
YXJyLWRpZmYiOiB7Ci0gICAgICAidmVyc2lvbiI6ICIyLjAuMCIsCi0gICAgICAicmVzb2x2ZWQi
OiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvYXJyLWRpZmYvLS9hcnItZGlmZi0yLjAuMC50
Z3oiLAotICAgICAgImludGVncml0eSI6ICJzaGExLWp6dUNmNVZhaTlacGFYNUtRbGFzUE9yalZz
OD0iLAotICAgICAgImRldiI6IHRydWUsCi0gICAgICAicmVxdWlyZXMiOiB7Ci0gICAgICAgICJh
cnItZmxhdHRlbiI6ICJeMS4wLjEiCi0gICAgICB9Ci0gICAgfSwKLSAgICAiYXJyLWZsYXR0ZW4i
OiB7Ci0gICAgICAidmVyc2lvbiI6ICIxLjEuMCIsCi0gICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6
Ly9yZWdpc3RyeS5ucG1qcy5vcmcvYXJyLWZsYXR0ZW4vLS9hcnItZmxhdHRlbi0xLjEuMC50Z3oi
LAotICAgICAgImludGVncml0eSI6ICJzaGE1MTItTDNoS1Y1Ui9wNW84MVI3TzAySUdud3BEbWtw
NkU5ODJYaHRidXdTZTNPNHFPdE1NTXRvZGljQVNBMUNueTJVK2FDWGNOcG1sK200ZFBzdnNKM2ph
dGc9PSIsCi0gICAgICAiZGV2IjogdHJ1ZQotICAgIH0sCi0gICAgImFycmF5LXVuaXF1ZSI6IHsK
LSAgICAgICJ2ZXJzaW9uIjogIjAuMi4xIiwKLSAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3Jl
Z2lzdHJ5Lm5wbWpzLm9yZy9hcnJheS11bmlxdWUvLS9hcnJheS11bmlxdWUtMC4yLjEudGd6IiwK
LSAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1vZGw4eXZ5OEppWE1jUHJjNnphbERGaXdHbE09IiwK
LSAgICAgICJkZXYiOiB0cnVlCi0gICAgfSwKLSAgICAiYmFsYW5jZWQtbWF0Y2giOiB7Ci0gICAg
ICAidmVyc2lvbiI6ICIxLjAuMCIsCi0gICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3Ry
eS5ucG1qcy5vcmcvYmFsYW5jZWQtbWF0Y2gvLS9iYWxhbmNlZC1tYXRjaC0xLjAuMC50Z3oiLAot
ICAgICAgImludGVncml0eSI6ICJzaGExLWliVFJtYXNyN2tuZUZrNmdLNG5PUmkxeHQyYz0iLAot
ICAgICAgImRldiI6IHRydWUKLSAgICB9LAotICAgICJicmFjZS1leHBhbnNpb24iOiB7Ci0gICAg
ICAidmVyc2lvbiI6ICIxLjEuMTEiLAotICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0
cnkubnBtanMub3JnL2JyYWNlLWV4cGFuc2lvbi8tL2JyYWNlLWV4cGFuc2lvbi0xLjEuMTEudGd6
IiwKLSAgICAgICJpbnRlZ3JpdHkiOiAic2hhNTEyLWlDdVBIREZnckhYN0gydkVJLzV4cHowN3pT
SEIwMFRwdWdxaG1ZdFZtTU82NTE4bUN1Uk1vT1lGbGRFQmwwZzE4N3Vmb3pkYUhnV0tjWUZiNjFx
R2lBPT0iLAotICAgICAgImRldiI6IHRydWUsCi0gICAgICAicmVxdWlyZXMiOiB7Ci0gICAgICAg
ICJiYWxhbmNlZC1tYXRjaCI6ICJeMS4wLjAiLAotICAgICAgICAiY29uY2F0LW1hcCI6ICIwLjAu
MSIKLSAgICAgIH0KLSAgICB9LAotICAgICJicmFjZXMiOiB7Ci0gICAgICAidmVyc2lvbiI6ICIx
LjguNSIsCi0gICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvYnJh
Y2VzLy0vYnJhY2VzLTEuOC41LnRneiIsCi0gICAgICAiaW50ZWdyaXR5IjogInNoYTEtdW5lV0xo
TGYrV25XdDJjUjZSUzNONFY3OXFjPSIsCi0gICAgICAiZGV2IjogdHJ1ZSwKLSAgICAgICJyZXF1
aXJlcyI6IHsKLSAgICAgICAgImV4cGFuZC1yYW5nZSI6ICJeMS44LjEiLAotICAgICAgICAicHJl
c2VydmUiOiAiXjAuMi4wIiwKLSAgICAgICAgInJlcGVhdC1lbGVtZW50IjogIl4xLjEuMiIKLSAg
ICAgIH0KLSAgICB9LAotICAgICJicm93c2VyLXN0ZG91dCI6IHsKLSAgICAgICJ2ZXJzaW9uIjog
IjEuMy4xIiwKLSAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9i
cm93c2VyLXN0ZG91dC8tL2Jyb3dzZXItc3Rkb3V0LTEuMy4xLnRneiIsCi0gICAgICAiaW50ZWdy
aXR5IjogInNoYTUxMi1xaEFWSTErQXYyWDdxZWxPZkFJWXdYT05vb2Q2WGxaRS9mWGFCU21XL1Q1
U3pMQW1DZ3ppK2VpV0U3ZlV2YkhhZU5CUUgxM1VmdGpwWHhzZkxrTXBndz09IiwKLSAgICAgICJk
ZXYiOiB0cnVlCi0gICAgfSwKLSAgICAiY2hhbGsiOiB7Ci0gICAgICAidmVyc2lvbiI6ICIyLjMu
MiIsCi0gICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvY2hhbGsv
LS9jaGFsay0yLjMuMi50Z3oiLAotICAgICAgImludGVncml0eSI6ICJzaGE1MTItWk00ajIvbGQv
WVpEYzNNYThQZ043Z3lBaytrSE1NTXl6TE5yeUNQR2hXcnNmQXVEVmV1aWQ1YnBSRlREZ01IOUpC
SzJsQTRkeXlBa2taWUYvV2NxRFE9PSIsCi0gICAgICAiZGV2IjogdHJ1ZSwKLSAgICAgICJyZXF1
aXJlcyI6IHsKLSAgICAgICAgImFuc2ktc3R5bGVzIjogIl4zLjIuMSIsCi0gICAgICAgICJlc2Nh
cGUtc3RyaW5nLXJlZ2V4cCI6ICJeMS4wLjUiLAotICAgICAgICAic3VwcG9ydHMtY29sb3IiOiAi
XjUuMy4wIgotICAgICAgfQotICAgIH0sCi0gICAgImNvbG9yLWNvbnZlcnQiOiB7Ci0gICAgICAi
dmVyc2lvbiI6ICIxLjkuMSIsCi0gICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5u
cG1qcy5vcmcvY29sb3ItY29udmVydC8tL2NvbG9yLWNvbnZlcnQtMS45LjEudGd6IiwKLSAgICAg
ICJpbnRlZ3JpdHkiOiAic2hhNTEyLW1qR2FuSWl3UUpza0NDMThyUFI2T21yWjZmbTJMYzdQZUdG
WXdDbXk1SjM0d0M2RjFQemRHTDZ4ZU1mbWdpY2ZZY05MR3VWRkEzV3pYdElEQ1FTWnhRPT0iLAot
ICAgICAgImRldiI6IHRydWUsCi0gICAgICAicmVxdWlyZXMiOiB7Ci0gICAgICAgICJjb2xvci1u
YW1lIjogIl4xLjEuMSIKLSAgICAgIH0KLSAgICB9LAotICAgICJjb2xvci1uYW1lIjogewotICAg
ICAgInZlcnNpb24iOiAiMS4xLjMiLAotICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0
cnkubnBtanMub3JnL2NvbG9yLW5hbWUvLS9jb2xvci1uYW1lLTEuMS4zLnRneiIsCi0gICAgICAi
aW50ZWdyaXR5IjogInNoYTEtcDlCVmk5aWNRdmVWM1VJeWozUUlNY3BUdkNVPSIsCi0gICAgICAi
ZGV2IjogdHJ1ZQotICAgIH0sCi0gICAgImNvbW1hbmRlciI6IHsKLSAgICAgICJ2ZXJzaW9uIjog
IjIuMTEuMCIsCi0gICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcv
Y29tbWFuZGVyLy0vY29tbWFuZGVyLTIuMTEuMC50Z3oiLAotICAgICAgImludGVncml0eSI6ICJz
aGE1MTItYjA1NTN1WUE1WUFFR2d5WUlHWVJPektRN1g1UkFxZWRrZmppWnh3aTBrTDFnM2JPYUJO
TlpmWWt6dC9DTDB1bWdENXdjOUplYzJGYkI5OENqa01SdlE9PSIsCi0gICAgICAiZGV2IjogdHJ1
ZQotICAgIH0sCi0gICAgImNvbmNhdC1tYXAiOiB7Ci0gICAgICAidmVyc2lvbiI6ICIwLjAuMSIs
Ci0gICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvY29uY2F0LW1h
cC8tL2NvbmNhdC1tYXAtMC4wLjEudGd6IiwKLSAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS0yS2xy
MTMvV2pmZDVPbk1EYWp1ZzFVQmRSM3M9IiwKLSAgICAgICJkZXYiOiB0cnVlCi0gICAgfSwKLSAg
ICAiZGVidWciOiB7Ci0gICAgICAidmVyc2lvbiI6ICIzLjEuMCIsCi0gICAgICAicmVzb2x2ZWQi
OiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvZGVidWcvLS9kZWJ1Zy0zLjEuMC50Z3oiLAot
ICAgICAgImludGVncml0eSI6ICJzaGE1MTItT1g4WHFQNy8xYTljcWt4WXcyeVhzczE1ZjI2TktX
QnBEWFFkMC91Sy9LUHFkUWh4YlBhOTk0aG56amNFMlZxUXBEc2xmNTU3MjNjS1BVT0dTbU1ZM2c9
PSIsCi0gICAgICAiZGV2IjogdHJ1ZSwKLSAgICAgICJyZXF1aXJlcyI6IHsKLSAgICAgICAgIm1z
IjogIjIuMC4wIgotICAgICAgfQotICAgIH0sCi0gICAgImRpZmYiOiB7Ci0gICAgICAidmVyc2lv
biI6ICIzLjUuMCIsCi0gICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5v
cmcvZGlmZi8tL2RpZmYtMy41LjAudGd6IiwKLSAgICAgICJpbnRlZ3JpdHkiOiAic2hhNTEyLUE0
NnF0RmdkK2c3cERaaW5wbndpUkp0eGJDMWhwZ2YwdXpQM2lHODlzY0hrMEFVQzdBMVRHeGY1T2lp
T1V2L0pNWlI4R090OGhMOTAwaFYwYk95NXhBPT0iLAotICAgICAgImRldiI6IHRydWUKLSAgICB9
LAotICAgICJkaWZmLW1hdGNoLXBhdGNoIjogewotICAgICAgInZlcnNpb24iOiAiMS4wLjAiLAot
ICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2RpZmYtbWF0Y2gt
cGF0Y2gvLS9kaWZmLW1hdGNoLXBhdGNoLTEuMC4wLnRneiIsCi0gICAgICAiaW50ZWdyaXR5Ijog
InNoYTEtSE1QSU9ra05aL2xka2VPZmF0SHk0SWEyTUVnPSIsCi0gICAgICAiZGV2IjogdHJ1ZQot
ICAgIH0sCi0gICAgImVzY2FwZS1zdHJpbmctcmVnZXhwIjogewotICAgICAgInZlcnNpb24iOiAi
MS4wLjUiLAotICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2Vz
Y2FwZS1zdHJpbmctcmVnZXhwLy0vZXNjYXBlLXN0cmluZy1yZWdleHAtMS4wLjUudGd6IiwKLSAg
ICAgICJpbnRlZ3JpdHkiOiAic2hhMS1HMkhBVmlHUXFOLzJyanV5endJQXloTUxodFE9IiwKLSAg
ICAgICJkZXYiOiB0cnVlCi0gICAgfSwKLSAgICAiZXN1dGlscyI6IHsKLSAgICAgICJ2ZXJzaW9u
IjogIjIuMC4yIiwKLSAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9y
Zy9lc3V0aWxzLy0vZXN1dGlscy0yLjAuMi50Z3oiLAotICAgICAgImludGVncml0eSI6ICJzaGEx
LUNyOVBIS3BieXg5Nm5Zck1iZXBQcXFCTHJKcz0iLAotICAgICAgImRldiI6IHRydWUKLSAgICB9
LAotICAgICJleHBhbmQtYnJhY2tldHMiOiB7Ci0gICAgICAidmVyc2lvbiI6ICIwLjEuNSIsCi0g
ICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvZXhwYW5kLWJyYWNr
ZXRzLy0vZXhwYW5kLWJyYWNrZXRzLTAuMS41LnRneiIsCi0gICAgICAiaW50ZWdyaXR5IjogInNo
YTEtM3djb1RqUXFnSHpYTTZ4YTl5UVI1WUhSRjNzPSIsCi0gICAgICAiZGV2IjogdHJ1ZSwKLSAg
ICAgICJyZXF1aXJlcyI6IHsKLSAgICAgICAgImlzLXBvc2l4LWJyYWNrZXQiOiAiXjAuMS4wIgot
ICAgICAgfQotICAgIH0sCi0gICAgImV4cGFuZC1yYW5nZSI6IHsKLSAgICAgICJ2ZXJzaW9uIjog
IjEuOC4yIiwKLSAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9l
eHBhbmQtcmFuZ2UvLS9leHBhbmQtcmFuZ2UtMS44LjIudGd6IiwKLSAgICAgICJpbnRlZ3JpdHki
OiAic2hhMS1vcG52L1ROZjRuSWV1dWppVit4NVpFL0lVemM9IiwKLSAgICAgICJkZXYiOiB0cnVl
LAotICAgICAgInJlcXVpcmVzIjogewotICAgICAgICAiZmlsbC1yYW5nZSI6ICJeMi4xLjAiCi0g
ICAgICB9Ci0gICAgfSwKLSAgICAiZXhwZWN0IjogewotICAgICAgInZlcnNpb24iOiAiMjIuNC4w
IiwKLSAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9leHBlY3Qv
LS9leHBlY3QtMjIuNC4wLnRneiIsCi0gICAgICAiaW50ZWdyaXR5IjogInNoYTUxMi1GaXk4NjJq
VDNxYzcwaHdJSHd3Q0JOSVNtYXFCcmZXS0tydHF5TUo2aXdacis2S1h0Y25Ib2paRnRkNjNUUFJ2
Umw4RVFUSitZWFl5MmxLNi82dStIdz09IiwKLSAgICAgICJkZXYiOiB0cnVlLAotICAgICAgInJl
cXVpcmVzIjogewotICAgICAgICAiYW5zaS1zdHlsZXMiOiAiXjMuMi4wIiwKLSAgICAgICAgImpl
c3QtZGlmZiI6ICJeMjIuNC4wIiwKLSAgICAgICAgImplc3QtZ2V0LXR5cGUiOiAiXjIyLjEuMCIs
Ci0gICAgICAgICJqZXN0LW1hdGNoZXItdXRpbHMiOiAiXjIyLjQuMCIsCi0gICAgICAgICJqZXN0
LW1lc3NhZ2UtdXRpbCI6ICJeMjIuNC4wIiwKLSAgICAgICAgImplc3QtcmVnZXgtdXRpbCI6ICJe
MjIuMS4wIgotICAgICAgfQotICAgIH0sCi0gICAgImV4dGdsb2IiOiB7Ci0gICAgICAidmVyc2lv
biI6ICIwLjMuMiIsCi0gICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5v
cmcvZXh0Z2xvYi8tL2V4dGdsb2ItMC4zLjIudGd6IiwKLSAgICAgICJpbnRlZ3JpdHkiOiAic2hh
MS1MaGovUFM5SnF5ZGx6c2tDUHdFZHFvMkRTYUU9IiwKLSAgICAgICJkZXYiOiB0cnVlLAotICAg
ICAgInJlcXVpcmVzIjogewotICAgICAgICAiaXMtZXh0Z2xvYiI6ICJeMS4wLjAiCi0gICAgICB9
Ci0gICAgfSwKLSAgICAiZmlsZW5hbWUtcmVnZXgiOiB7Ci0gICAgICAidmVyc2lvbiI6ICIyLjAu
MSIsCi0gICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvZmlsZW5h
bWUtcmVnZXgvLS9maWxlbmFtZS1yZWdleC0yLjAuMS50Z3oiLAotICAgICAgImludGVncml0eSI6
ICJzaGExLXdjUzV2dVBnbHlYZHNRYTNYQjR3SCtMeGl5WT0iLAotICAgICAgImRldiI6IHRydWUK
LSAgICB9LAotICAgICJmaWxsLXJhbmdlIjogewotICAgICAgInZlcnNpb24iOiAiMi4yLjQiLAot
ICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2ZpbGwtcmFuZ2Uv
LS9maWxsLXJhbmdlLTIuMi40LnRneiIsCi0gICAgICAiaW50ZWdyaXR5IjogInNoYTUxMi1jbnJj
Q2JqMDErajJnVEc5MjFWWlBuSGJqbWRBZjhvUVYvaUdlVjJrWnhHU3lmWWpqVHlZNzlFcnNLMVdK
V01wdzZEYUFwRVg3MmJpbnFKRSsvZCs1UT09IiwKLSAgICAgICJkZXYiOiB0cnVlLAotICAgICAg
InJlcXVpcmVzIjogewotICAgICAgICAiaXMtbnVtYmVyIjogIl4yLjEuMCIsCi0gICAgICAgICJp
c29iamVjdCI6ICJeMi4wLjAiLAotICAgICAgICAicmFuZG9tYXRpYyI6ICJeMy4wLjAiLAotICAg
ICAgICAicmVwZWF0LWVsZW1lbnQiOiAiXjEuMS4yIiwKLSAgICAgICAgInJlcGVhdC1zdHJpbmci
OiAiXjEuNS4yIgotICAgICAgfQotICAgIH0sCi0gICAgImZvci1pbiI6IHsKLSAgICAgICJ2ZXJz
aW9uIjogIjEuMC4yIiwKLSAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpz
Lm9yZy9mb3ItaW4vLS9mb3ItaW4tMS4wLjIudGd6IiwKLSAgICAgICJpbnRlZ3JpdHkiOiAic2hh
MS1nUWFOS1ZxQlF1d0t4eWJHNGlBTU1QdHRYb0E9IiwKLSAgICAgICJkZXYiOiB0cnVlCi0gICAg
fSwKLSAgICAiZm9yLW93biI6IHsKLSAgICAgICJ2ZXJzaW9uIjogIjAuMS41IiwKLSAgICAgICJy
ZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9mb3Itb3duLy0vZm9yLW93bi0w
LjEuNS50Z3oiLAotICAgICAgImludGVncml0eSI6ICJzaGExLVVtWEdnYVR5bE5xNzhYeVZDYloy
T3FoRkVNND0iLAotICAgICAgImRldiI6IHRydWUsCi0gICAgICAicmVxdWlyZXMiOiB7Ci0gICAg
ICAgICJmb3ItaW4iOiAiXjEuMC4xIgotICAgICAgfQotICAgIH0sCi0gICAgImZzLnJlYWxwYXRo
IjogewotICAgICAgInZlcnNpb24iOiAiMS4wLjAiLAotICAgICAgInJlc29sdmVkIjogImh0dHBz
Oi8vcmVnaXN0cnkubnBtanMub3JnL2ZzLnJlYWxwYXRoLy0vZnMucmVhbHBhdGgtMS4wLjAudGd6
IiwKLSAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1GUVN0SlNNVmpLcEEyMG9uaDhzQlFSbVU2azg9
IiwKLSAgICAgICJkZXYiOiB0cnVlCi0gICAgfSwKLSAgICAiZ2xvYiI6IHsKLSAgICAgICJ2ZXJz
aW9uIjogIjcuMS4yIiwKLSAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpz
Lm9yZy9nbG9iLy0vZ2xvYi03LjEuMi50Z3oiLAotICAgICAgImludGVncml0eSI6ICJzaGE1MTIt
TUpUVWcxa2p1TGVRQ0orY2NFNFZwYTZrS1ZYa1BZSjJtT0NReVV1S0xjTFFzZHJNQ3BCUFVpOHFW
RTYrWXVhSmtvemVBOU51c1RBdzNoTHI4WGU1RVE9PSIsCi0gICAgICAiZGV2IjogdHJ1ZSwKLSAg
ICAgICJyZXF1aXJlcyI6IHsKLSAgICAgICAgImZzLnJlYWxwYXRoIjogIl4xLjAuMCIsCi0gICAg
ICAgICJpbmZsaWdodCI6ICJeMS4wLjQiLAotICAgICAgICAiaW5oZXJpdHMiOiAiMiIsCi0gICAg
ICAgICJtaW5pbWF0Y2giOiAiXjMuMC40IiwKLSAgICAgICAgIm9uY2UiOiAiXjEuMy4wIiwKLSAg
ICAgICAgInBhdGgtaXMtYWJzb2x1dGUiOiAiXjEuMC4wIgotICAgICAgfQotICAgIH0sCi0gICAg
Imdsb2ItYmFzZSI6IHsKLSAgICAgICJ2ZXJzaW9uIjogIjAuMy4wIiwKLSAgICAgICJyZXNvbHZl
ZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9nbG9iLWJhc2UvLS9nbG9iLWJhc2UtMC4z
LjAudGd6IiwKLSAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS0yN0ZrOWlJYkhBc2N6NEt1b3lpMGw5
OE9vOFE9IiwKLSAgICAgICJkZXYiOiB0cnVlLAotICAgICAgInJlcXVpcmVzIjogewotICAgICAg
ICAiZ2xvYi1wYXJlbnQiOiAiXjIuMC4wIiwKLSAgICAgICAgImlzLWdsb2IiOiAiXjIuMC4wIgot
ICAgICAgfQotICAgIH0sCi0gICAgImdsb2ItcGFyZW50IjogewotICAgICAgInZlcnNpb24iOiAi
Mi4wLjAiLAotICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2ds
b2ItcGFyZW50Ly0vZ2xvYi1wYXJlbnQtMi4wLjAudGd6IiwKLSAgICAgICJpbnRlZ3JpdHkiOiAi
c2hhMS1nVGc5Y3RzRlQ4elBVemJhcVFMeGd2YnR1eWc9IiwKLSAgICAgICJkZXYiOiB0cnVlLAot
ICAgICAgInJlcXVpcmVzIjogewotICAgICAgICAiaXMtZ2xvYiI6ICJeMi4wLjAiCi0gICAgICB9
Ci0gICAgfSwKLSAgICAiZ3Jvd2wiOiB7Ci0gICAgICAidmVyc2lvbiI6ICIxLjEwLjMiLAotICAg
ICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2dyb3dsLy0vZ3Jvd2wt
MS4xMC4zLnRneiIsCi0gICAgICAiaW50ZWdyaXR5IjogInNoYTUxMi1oS2xzYkE1VnUzeHNoMUNn
M0o3alNtWC9XYVc2QTVvQmVxek04OG9OYkNSUUZ6K3pVYVhtNnl4UzRSVnl0cDFzY0JvSnpTWWw0
WUFFT1FJdDZPOFYxUT09IiwKLSAgICAgICJkZXYiOiB0cnVlCi0gICAgfSwKLSAgICAiaGFzLWZs
YWciOiB7Ci0gICAgICAidmVyc2lvbiI6ICIzLjAuMCIsCi0gICAgICAicmVzb2x2ZWQiOiAiaHR0
cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvaGFzLWZsYWcvLS9oYXMtZmxhZy0zLjAuMC50Z3oiLAot
ICAgICAgImludGVncml0eSI6ICJzaGExLXRkUlUzQ0dacmlKV21mTkdmbG9IODdsVnV2MD0iLAot
ICAgICAgImRldiI6IHRydWUKLSAgICB9LAotICAgICJoZSI6IHsKLSAgICAgICJ2ZXJzaW9uIjog
IjEuMS4xIiwKLSAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9o
ZS8tL2hlLTEuMS4xLnRneiIsCi0gICAgICAiaW50ZWdyaXR5IjogInNoYTEtazBFUDBoc0FselVW
SDRob3d2Sng4MEorSS8wPSIsCi0gICAgICAiZGV2IjogdHJ1ZQotICAgIH0sCi0gICAgImluZmxp
Z2h0IjogewotICAgICAgInZlcnNpb24iOiAiMS4wLjYiLAotICAgICAgInJlc29sdmVkIjogImh0
dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2luZmxpZ2h0Ly0vaW5mbGlnaHQtMS4wLjYudGd6IiwK
LSAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1TYjFqTWRmUUxRd0p2SkVLRUhXNmdXVzFiZms9IiwK
LSAgICAgICJkZXYiOiB0cnVlLAotICAgICAgInJlcXVpcmVzIjogewotICAgICAgICAib25jZSI6
ICJeMS4zLjAiLAotICAgICAgICAid3JhcHB5IjogIjEiCi0gICAgICB9Ci0gICAgfSwKLSAgICAi
aW5oZXJpdHMiOiB7Ci0gICAgICAidmVyc2lvbiI6ICIyLjAuMyIsCi0gICAgICAicmVzb2x2ZWQi
OiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvaW5oZXJpdHMvLS9pbmhlcml0cy0yLjAuMy50
Z3oiLAotICAgICAgImludGVncml0eSI6ICJzaGExLVl6d3NnK1BhUXFVQzlTUm1BaVNBOUNDQ1lk
ND0iLAotICAgICAgImRldiI6IHRydWUKLSAgICB9LAotICAgICJpcy1idWZmZXIiOiB7Ci0gICAg
ICAidmVyc2lvbiI6ICIxLjEuNiIsCi0gICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3Ry
eS5ucG1qcy5vcmcvaXMtYnVmZmVyLy0vaXMtYnVmZmVyLTEuMS42LnRneiIsCi0gICAgICAiaW50
ZWdyaXR5IjogInNoYTUxMi1OY2RBTHdwWGtUbTVadnZiazdvd09VU3ZWdkJLRGdLUDUvZXdmWEV6
bm1RRmZzNFpSbWFuT2VLQlRqUlZqa2EzUUZvTjZYSis5RjNVU3FmSHFUYVU1dz09IiwKLSAgICAg
ICJkZXYiOiB0cnVlCi0gICAgfSwKLSAgICAiaXMtZG90ZmlsZSI6IHsKLSAgICAgICJ2ZXJzaW9u
IjogIjEuMC4zIiwKLSAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9y
Zy9pcy1kb3RmaWxlLy0vaXMtZG90ZmlsZS0xLjAuMy50Z3oiLAotICAgICAgImludGVncml0eSI6
ICJzaGExLXBxTHpMLzB0K3dUMXlpWHMwUGE0UFBlWW9lRT0iLAotICAgICAgImRldiI6IHRydWUK
LSAgICB9LAotICAgICJpcy1lcXVhbC1zaGFsbG93IjogewotICAgICAgInZlcnNpb24iOiAiMC4x
LjMiLAotICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2lzLWVx
dWFsLXNoYWxsb3cvLS9pcy1lcXVhbC1zaGFsbG93LTAuMS4zLnRneiIsCi0gICAgICAiaW50ZWdy
aXR5IjogInNoYTEtSWpnSmo4SWgzZ3ZQcGRucXhNUmRZNHFoeFRRPSIsCi0gICAgICAiZGV2Ijog
dHJ1ZSwKLSAgICAgICJyZXF1aXJlcyI6IHsKLSAgICAgICAgImlzLXByaW1pdGl2ZSI6ICJeMi4w
LjAiCi0gICAgICB9Ci0gICAgfSwKLSAgICAiaXMtZXh0ZW5kYWJsZSI6IHsKLSAgICAgICJ2ZXJz
aW9uIjogIjAuMS4xIiwKLSAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpz
Lm9yZy9pcy1leHRlbmRhYmxlLy0vaXMtZXh0ZW5kYWJsZS0wLjEuMS50Z3oiLAotICAgICAgImlu
dGVncml0eSI6ICJzaGExLVlyRVE0b21rY1VHT1BzTnFZWDFITGpBZC9Jaz0iLAotICAgICAgImRl
diI6IHRydWUKLSAgICB9LAotICAgICJpcy1leHRnbG9iIjogewotICAgICAgInZlcnNpb24iOiAi
MS4wLjAiLAotICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2lz
LWV4dGdsb2IvLS9pcy1leHRnbG9iLTEuMC4wLnRneiIsCi0gICAgICAiaW50ZWdyaXR5IjogInNo
YTEtckVhQmQ4U1VOQVdna3Z5UEtYWU1iL3hpQnNBPSIsCi0gICAgICAiZGV2IjogdHJ1ZQotICAg
IH0sCi0gICAgImlzLWdsb2IiOiB7Ci0gICAgICAidmVyc2lvbiI6ICIyLjAuMSIsCi0gICAgICAi
cmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvaXMtZ2xvYi8tL2lzLWdsb2It
Mi4wLjEudGd6IiwKLSAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS0wSmI1SnFQZTFXQVBQOS9aRVpq
TENJakMyR009IiwKLSAgICAgICJkZXYiOiB0cnVlLAotICAgICAgInJlcXVpcmVzIjogewotICAg
ICAgICAiaXMtZXh0Z2xvYiI6ICJeMS4wLjAiCi0gICAgICB9Ci0gICAgfSwKLSAgICAiaXMtbnVt
YmVyIjogewotICAgICAgInZlcnNpb24iOiAiMi4xLjAiLAotICAgICAgInJlc29sdmVkIjogImh0
dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2lzLW51bWJlci8tL2lzLW51bWJlci0yLjEuMC50Z3oi
LAotICAgICAgImludGVncml0eSI6ICJzaGExLUFmeTdzNU5HT2xTUEwwWnN6aGJlemtuYmtJOD0i
LAotICAgICAgImRldiI6IHRydWUsCi0gICAgICAicmVxdWlyZXMiOiB7Ci0gICAgICAgICJraW5k
LW9mIjogIl4zLjAuMiIKLSAgICAgIH0KLSAgICB9LAotICAgICJpcy1wb3NpeC1icmFja2V0Ijog
ewotICAgICAgInZlcnNpb24iOiAiMC4xLjEiLAotICAgICAgInJlc29sdmVkIjogImh0dHBzOi8v
cmVnaXN0cnkubnBtanMub3JnL2lzLXBvc2l4LWJyYWNrZXQvLS9pcy1wb3NpeC1icmFja2V0LTAu
MS4xLnRneiIsCi0gICAgICAiaW50ZWdyaXR5IjogInNoYTEtTXpUY2VYZERhT2t2QVc1dnZBcUk5
YzF1YThRPSIsCi0gICAgICAiZGV2IjogdHJ1ZQotICAgIH0sCi0gICAgImlzLXByaW1pdGl2ZSI6
IHsKLSAgICAgICJ2ZXJzaW9uIjogIjIuMC4wIiwKLSAgICAgICJyZXNvbHZlZCI6ICJodHRwczov
L3JlZ2lzdHJ5Lm5wbWpzLm9yZy9pcy1wcmltaXRpdmUvLS9pcy1wcmltaXRpdmUtMi4wLjAudGd6
IiwKLSAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1JSHVya1dPRW1jQjdLdDhrQ2tHb2NoQURSWFU9
IiwKLSAgICAgICJkZXYiOiB0cnVlCi0gICAgfSwKLSAgICAiaXNhcnJheSI6IHsKLSAgICAgICJ2
ZXJzaW9uIjogIjEuMC4wIiwKLSAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5w
bWpzLm9yZy9pc2FycmF5Ly0vaXNhcnJheS0xLjAuMC50Z3oiLAotICAgICAgImludGVncml0eSI6
ICJzaGExLXU1TmRTRmdzdWhhTUJvTkpWNlZLUGdjU1R4RT0iLAotICAgICAgImRldiI6IHRydWUK
LSAgICB9LAotICAgICJpc29iamVjdCI6IHsKLSAgICAgICJ2ZXJzaW9uIjogIjIuMS4wIiwKLSAg
ICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9pc29iamVjdC8tL2lz
b2JqZWN0LTIuMS4wLnRneiIsCi0gICAgICAiaW50ZWdyaXR5IjogInNoYTEtOEdWV0VKYWo4ZG91
OUdKeStCWElRTmgrRElrPSIsCi0gICAgICAiZGV2IjogdHJ1ZSwKLSAgICAgICJyZXF1aXJlcyI6
IHsKLSAgICAgICAgImlzYXJyYXkiOiAiMS4wLjAiCi0gICAgICB9Ci0gICAgfSwKLSAgICAiamVz
dC1kaWZmIjogewotICAgICAgInZlcnNpb24iOiAiMjIuNC4wIiwKLSAgICAgICJyZXNvbHZlZCI6
ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9qZXN0LWRpZmYvLS9qZXN0LWRpZmYtMjIuNC4w
LnRneiIsCi0gICAgICAiaW50ZWdyaXR5IjogInNoYTUxMi0rL3QyMFdtbmtPa0I4TU9hR2FQemlJ
OHpXS3hxdU12WXc0VWIrd096aTdBVWhtcEZYejQzYnVXU3hWb1pvNEo1Um5Db3pwR2JYMy9Gc3Nq
SjVLVjlOdz09IiwKLSAgICAgICJkZXYiOiB0cnVlLAotICAgICAgInJlcXVpcmVzIjogewotICAg
ICAgICAiY2hhbGsiOiAiXjIuMC4xIiwKLSAgICAgICAgImRpZmYiOiAiXjMuMi4wIiwKLSAgICAg
ICAgImplc3QtZ2V0LXR5cGUiOiAiXjIyLjEuMCIsCi0gICAgICAgICJwcmV0dHktZm9ybWF0Ijog
Il4yMi40LjAiCi0gICAgICB9Ci0gICAgfSwKLSAgICAiamVzdC1nZXQtdHlwZSI6IHsKLSAgICAg
ICJ2ZXJzaW9uIjogIjIyLjEuMCIsCi0gICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3Ry
eS5ucG1qcy5vcmcvamVzdC1nZXQtdHlwZS8tL2plc3QtZ2V0LXR5cGUtMjIuMS4wLnRneiIsCi0g
ICAgICAiaW50ZWdyaXR5IjogInNoYTUxMi1uRDk3SVZPbE5QNmZqSU41aTdqNVhSSCtoRnNITDdW
bGF1QmJ6UnZ1ZWFhVWU3MHVvaHJrejdwTC9OOGx4L0lBd1pSVEovL3dPZFZnaDg1T2dNN2czdz09
IiwKLSAgICAgICJkZXYiOiB0cnVlCi0gICAgfSwKLSAgICAiamVzdC1tYXRjaGVyLXV0aWxzIjog
ewotICAgICAgInZlcnNpb24iOiAiMjIuNC4wIiwKLSAgICAgICJyZXNvbHZlZCI6ICJodHRwczov
L3JlZ2lzdHJ5Lm5wbWpzLm9yZy9qZXN0LW1hdGNoZXItdXRpbHMvLS9qZXN0LW1hdGNoZXItdXRp
bHMtMjIuNC4wLnRneiIsCi0gICAgICAiaW50ZWdyaXR5IjogInNoYTUxMi0wM20zaXNzeFVYcFdN
d0RZVGZtTDhoUk5ld1VCMHlDUlRlWFBtK2VxMDU4clp4TEhEOWY1TnRTU085OENXSHFlNFV5SVNJ
eGQ5QW85aURWakhXZDJxZz09IiwKLSAgICAgICJkZXYiOiB0cnVlLAotICAgICAgInJlcXVpcmVz
IjogewotICAgICAgICAiY2hhbGsiOiAiXjIuMC4xIiwKLSAgICAgICAgImplc3QtZ2V0LXR5cGUi
OiAiXjIyLjEuMCIsCi0gICAgICAgICJwcmV0dHktZm9ybWF0IjogIl4yMi40LjAiCi0gICAgICB9
Ci0gICAgfSwKLSAgICAiamVzdC1tZXNzYWdlLXV0aWwiOiB7Ci0gICAgICAidmVyc2lvbiI6ICIy
Mi40LjAiLAotICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2pl
c3QtbWVzc2FnZS11dGlsLy0vamVzdC1tZXNzYWdlLXV0aWwtMjIuNC4wLnRneiIsCi0gICAgICAi
aW50ZWdyaXR5IjogInNoYTUxMi1leUNKQjBUM2hybHBGRjJGcVFvSUIwOTNPdWxQKzFxdkFUUW1E
M0lPZ0pnTUdxUEw2ZVl3OFRiQzVQL1ZDV1BxS2hHTDUxeHZqSUlob3c1ZVoyd0hGdz09IiwKLSAg
ICAgICJkZXYiOiB0cnVlLAotICAgICAgInJlcXVpcmVzIjogewotICAgICAgICAiQGJhYmVsL2Nv
ZGUtZnJhbWUiOiAiXjcuMC4wLWJldGEuMzUiLAotICAgICAgICAiY2hhbGsiOiAiXjIuMC4xIiwK
LSAgICAgICAgIm1pY3JvbWF0Y2giOiAiXjIuMy4xMSIsCi0gICAgICAgICJzbGFzaCI6ICJeMS4w
LjAiLAotICAgICAgICAic3RhY2stdXRpbHMiOiAiXjEuMC4xIgotICAgICAgfQotICAgIH0sCi0g
ICAgImplc3QtcmVnZXgtdXRpbCI6IHsKLSAgICAgICJ2ZXJzaW9uIjogIjIyLjEuMCIsCi0gICAg
ICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvamVzdC1yZWdleC11dGls
Ly0vamVzdC1yZWdleC11dGlsLTIyLjEuMC50Z3oiLAotICAgICAgImludGVncml0eSI6ICJzaGE1
MTItb24wTHFWUzZYZWg2OXN3M2QxUnVrVm51citsVk9sM3prbWIwUTU0RkhqOXdIb3E2ZGJ0V3Fi
M1RTbG5WVXl4MzZocWpKaGpncy9RTHFzMDdCenU3MlE9PSIsCi0gICAgICAiZGV2IjogdHJ1ZQot
ICAgIH0sCi0gICAgImpzLXRva2VucyI6IHsKLSAgICAgICJ2ZXJzaW9uIjogIjMuMC4yIiwKLSAg
ICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9qcy10b2tlbnMvLS9q
cy10b2tlbnMtMy4wLjIudGd6IiwKLSAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1tR2JmT1ZFQ0V3
NDQ5L21Xdk90bFJESUp3bHM9IiwKLSAgICAgICJkZXYiOiB0cnVlCi0gICAgfSwKLSAgICAianNv
bmRpZmZwYXRjaCI6IHsKLSAgICAgICJ2ZXJzaW9uIjogIjAuMy41IiwKLSAgICAgICJyZXNvbHZl
ZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9qc29uZGlmZnBhdGNoLy0vanNvbmRpZmZw
YXRjaC0wLjMuNS50Z3oiLAotICAgICAgImludGVncml0eSI6ICJzaGE1MTItdjdlYUdMRE1DSFhI
K2ZzSWFaaHB0RVVKbVM4RUpwdW5xN0lNNGNjNHZJVC9rU1JBa2FaNlpGNGViaU5jeVVlbEwwem5i
dmo2bzJCNUdoOXY3T2cwQlE9PSIsCi0gICAgICAiZGV2IjogdHJ1ZSwKLSAgICAgICJyZXF1aXJl
cyI6IHsKLSAgICAgICAgImNoYWxrIjogIl4yLjMuMCIsCi0gICAgICAgICJkaWZmLW1hdGNoLXBh
dGNoIjogIl4xLjAuMCIKLSAgICAgIH0KLSAgICB9LAotICAgICJraW5kLW9mIjogewotICAgICAg
InZlcnNpb24iOiAiMy4yLjIiLAotICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnku
bnBtanMub3JnL2tpbmQtb2YvLS9raW5kLW9mLTMuMi4yLnRneiIsCi0gICAgICAiaW50ZWdyaXR5
IjogInNoYTEtTWVvaHB6UzZ1YnV3OHlSbTJKT3VwUjVLUEdRPSIsCi0gICAgICAiZGV2IjogdHJ1
ZSwKLSAgICAgICJyZXF1aXJlcyI6IHsKLSAgICAgICAgImlzLWJ1ZmZlciI6ICJeMS4xLjUiCi0g
ICAgICB9Ci0gICAgfSwKLSAgICAibWF0aC1yYW5kb20iOiB7Ci0gICAgICAidmVyc2lvbiI6ICIx
LjAuMSIsCi0gICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvbWF0
aC1yYW5kb20vLS9tYXRoLXJhbmRvbS0xLjAuMS50Z3oiLAotICAgICAgImludGVncml0eSI6ICJz
aGExLWl6cXNXSXVLWnVTWFhqemVwbjk3c3lsZ0g2dz0iLAotICAgICAgImRldiI6IHRydWUKLSAg
ICB9LAotICAgICJtaWNyb21hdGNoIjogewotICAgICAgInZlcnNpb24iOiAiMi4zLjExIiwKLSAg
ICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9taWNyb21hdGNoLy0v
bWljcm9tYXRjaC0yLjMuMTEudGd6IiwKLSAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1obWQ4bDlG
eUN6WTBNZEJORFJVcE85T01GV1U9IiwKLSAgICAgICJkZXYiOiB0cnVlLAotICAgICAgInJlcXVp
cmVzIjogewotICAgICAgICAiYXJyLWRpZmYiOiAiXjIuMC4wIiwKLSAgICAgICAgImFycmF5LXVu
aXF1ZSI6ICJeMC4yLjEiLAotICAgICAgICAiYnJhY2VzIjogIl4xLjguMiIsCi0gICAgICAgICJl
eHBhbmQtYnJhY2tldHMiOiAiXjAuMS40IiwKLSAgICAgICAgImV4dGdsb2IiOiAiXjAuMy4xIiwK
LSAgICAgICAgImZpbGVuYW1lLXJlZ2V4IjogIl4yLjAuMCIsCi0gICAgICAgICJpcy1leHRnbG9i
IjogIl4xLjAuMCIsCi0gICAgICAgICJpcy1nbG9iIjogIl4yLjAuMSIsCi0gICAgICAgICJraW5k
LW9mIjogIl4zLjAuMiIsCi0gICAgICAgICJub3JtYWxpemUtcGF0aCI6ICJeMi4wLjEiLAotICAg
ICAgICAib2JqZWN0Lm9taXQiOiAiXjIuMC4wIiwKLSAgICAgICAgInBhcnNlLWdsb2IiOiAiXjMu
MC40IiwKLSAgICAgICAgInJlZ2V4LWNhY2hlIjogIl4wLjQuMiIKLSAgICAgIH0KLSAgICB9LAot
ICAgICJtaW5pbWF0Y2giOiB7Ci0gICAgICAidmVyc2lvbiI6ICIzLjAuNCIsCi0gICAgICAicmVz
b2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvbWluaW1hdGNoLy0vbWluaW1hdGNo
LTMuMC40LnRneiIsCi0gICAgICAiaW50ZWdyaXR5IjogInNoYTUxMi15SkhWUUVoeXFQTFVUZ3Q5
QjgzUFh1Nlczcng0TXZ2SHZTVXZUb29ncHdvR0RPVVEreURyUjBIUm90K3lPQ2RDTzd1NGhYM3BX
ZnQ2a1dCQmNxaDBVQT09IiwKLSAgICAgICJkZXYiOiB0cnVlLAotICAgICAgInJlcXVpcmVzIjog
ewotICAgICAgICAiYnJhY2UtZXhwYW5zaW9uIjogIl4xLjEuNyIKLSAgICAgIH0KLSAgICB9LAot
ICAgICJtaW5pbWlzdCI6IHsKLSAgICAgICJ2ZXJzaW9uIjogIjAuMC44IiwKLSAgICAgICJyZXNv
bHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9taW5pbWlzdC8tL21pbmltaXN0LTAu
MC44LnRneiIsCi0gICAgICAiaW50ZWdyaXR5IjogInNoYTEtaFgvS3Y4TTVmU1lsdUNLQ1l1aHFw
NkFSc0YwPSIsCi0gICAgICAiZGV2IjogdHJ1ZQotICAgIH0sCi0gICAgIm1rZGlycCI6IHsKLSAg
ICAgICJ2ZXJzaW9uIjogIjAuNS4xIiwKLSAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lz
dHJ5Lm5wbWpzLm9yZy9ta2RpcnAvLS9ta2RpcnAtMC41LjEudGd6IiwKLSAgICAgICJpbnRlZ3Jp
dHkiOiAic2hhMS1NQVYwT09yR3ozK01SMmZ6aGtqV2FYMTF5UU09IiwKLSAgICAgICJkZXYiOiB0
cnVlLAotICAgICAgInJlcXVpcmVzIjogewotICAgICAgICAibWluaW1pc3QiOiAiMC4wLjgiCi0g
ICAgICB9Ci0gICAgfSwKLSAgICAibW9jaGEiOiB7Ci0gICAgICAidmVyc2lvbiI6ICI1LjAuNCIs
Ci0gICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvbW9jaGEvLS9t
b2NoYS01LjAuNC50Z3oiLAotICAgICAgImludGVncml0eSI6ICJzaGE1MTItbk1PcEFQRm9zVTFC
NEl4MWpkaHg1ZTNxN1hPNTVpYzVhOGNnWXZXMjdDZXF1Y0VZK0JhYlMwa1VWTDFDdzFWNVB1Vkha
V2VOUldGTG1FUGV4bzc5VkE9PSIsCi0gICAgICAiZGV2IjogdHJ1ZSwKLSAgICAgICJyZXF1aXJl
cyI6IHsKLSAgICAgICAgImJyb3dzZXItc3Rkb3V0IjogIjEuMy4xIiwKLSAgICAgICAgImNvbW1h
bmRlciI6ICIyLjExLjAiLAotICAgICAgICAiZGVidWciOiAiMy4xLjAiLAotICAgICAgICAiZGlm
ZiI6ICIzLjUuMCIsCi0gICAgICAgICJlc2NhcGUtc3RyaW5nLXJlZ2V4cCI6ICIxLjAuNSIsCi0g
ICAgICAgICJnbG9iIjogIjcuMS4yIiwKLSAgICAgICAgImdyb3dsIjogIjEuMTAuMyIsCi0gICAg
ICAgICJoZSI6ICIxLjEuMSIsCi0gICAgICAgICJta2RpcnAiOiAiMC41LjEiLAotICAgICAgICAi
c3VwcG9ydHMtY29sb3IiOiAiNC40LjAiCi0gICAgICB9LAotICAgICAgImRlcGVuZGVuY2llcyI6
IHsKLSAgICAgICAgImhhcy1mbGFnIjogewotICAgICAgICAgICJ2ZXJzaW9uIjogIjIuMC4wIiwK
LSAgICAgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvaGFzLWZs
YWcvLS9oYXMtZmxhZy0yLjAuMC50Z3oiLAotICAgICAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS02
Q0I2OGN4N01OUkd6SEMzTkxYb3ZoajRqVkU9IiwKLSAgICAgICAgICAiZGV2IjogdHJ1ZQotICAg
ICAgICB9LAotICAgICAgICAic3VwcG9ydHMtY29sb3IiOiB7Ci0gICAgICAgICAgInZlcnNpb24i
OiAiNC40LjAiLAotICAgICAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpz
Lm9yZy9zdXBwb3J0cy1jb2xvci8tL3N1cHBvcnRzLWNvbG9yLTQuNC4wLnRneiIsCi0gICAgICAg
ICAgImludGVncml0eSI6ICJzaGE1MTItcktDMytEeVhXZ0swWkxLd21Sc3JreUhWWkFqTmtmemVl
aHVGV2RHR2NxR0RUWkZINzMrUkg2Uy9SREFBeGw5R3VzU2paU1VXWUxtVDlONXB6WEZPWFE9PSIs
Ci0gICAgICAgICAgImRldiI6IHRydWUsCi0gICAgICAgICAgInJlcXVpcmVzIjogewotICAgICAg
ICAgICAgImhhcy1mbGFnIjogIl4yLjAuMCIKLSAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICAg
IH0KLSAgICB9LAotICAgICJtcyI6IHsKLSAgICAgICJ2ZXJzaW9uIjogIjIuMC4wIiwKLSAgICAg
ICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9tcy8tL21zLTIuMC4wLnRn
eiIsCi0gICAgICAiaW50ZWdyaXR5IjogInNoYTEtVmdpdXJmd0F2bXdwQWQ5Zm1HRjRqZURWbDhn
PSIsCi0gICAgICAiZGV2IjogdHJ1ZQotICAgIH0sCi0gICAgIm5vcm1hbGl6ZS1wYXRoIjogewot
ICAgICAgInZlcnNpb24iOiAiMi4xLjEiLAotICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVn
aXN0cnkubnBtanMub3JnL25vcm1hbGl6ZS1wYXRoLy0vbm9ybWFsaXplLXBhdGgtMi4xLjEudGd6
IiwKLSAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1HcktMVlc0WmcyT293YWIzNXZvZ0UzL21ydGs9
IiwKLSAgICAgICJkZXYiOiB0cnVlLAotICAgICAgInJlcXVpcmVzIjogewotICAgICAgICAicmVt
b3ZlLXRyYWlsaW5nLXNlcGFyYXRvciI6ICJeMS4wLjEiCi0gICAgICB9Ci0gICAgfSwKLSAgICAi
b2JqZWN0Lm9taXQiOiB7Ci0gICAgICAidmVyc2lvbiI6ICIyLjAuMSIsCi0gICAgICAicmVzb2x2
ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvb2JqZWN0Lm9taXQvLS9vYmplY3Qub21p
dC0yLjAuMS50Z3oiLAotICAgICAgImludGVncml0eSI6ICJzaGExLUdweDBTQ256bmJ1RmpIYktO
WG11S2xUcjBmbz0iLAotICAgICAgImRldiI6IHRydWUsCi0gICAgICAicmVxdWlyZXMiOiB7Ci0g
ICAgICAgICJmb3Itb3duIjogIl4wLjEuNCIsCi0gICAgICAgICJpcy1leHRlbmRhYmxlIjogIl4w
LjEuMSIKLSAgICAgIH0KLSAgICB9LAotICAgICJvbmNlIjogewotICAgICAgInZlcnNpb24iOiAi
MS40LjAiLAotICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL29u
Y2UvLS9vbmNlLTEuNC4wLnRneiIsCi0gICAgICAiaW50ZWdyaXR5IjogInNoYTEtV0RzYXAzV1dI
VXNST3NGOW5GQzY3NTNYYTlFPSIsCi0gICAgICAiZGV2IjogdHJ1ZSwKLSAgICAgICJyZXF1aXJl
cyI6IHsKLSAgICAgICAgIndyYXBweSI6ICIxIgotICAgICAgfQotICAgIH0sCi0gICAgInBhcnNl
LWdsb2IiOiB7Ci0gICAgICAidmVyc2lvbiI6ICIzLjAuNCIsCi0gICAgICAicmVzb2x2ZWQiOiAi
aHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvcGFyc2UtZ2xvYi8tL3BhcnNlLWdsb2ItMy4wLjQu
dGd6IiwKLSAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1zc04yejdFZk5WRTdyZEZ6N3d1MjQ2T0lP
Unc9IiwKLSAgICAgICJkZXYiOiB0cnVlLAotICAgICAgInJlcXVpcmVzIjogewotICAgICAgICAi
Z2xvYi1iYXNlIjogIl4wLjMuMCIsCi0gICAgICAgICJpcy1kb3RmaWxlIjogIl4xLjAuMCIsCi0g
ICAgICAgICJpcy1leHRnbG9iIjogIl4xLjAuMCIsCi0gICAgICAgICJpcy1nbG9iIjogIl4yLjAu
MCIKLSAgICAgIH0KLSAgICB9LAotICAgICJwYXRoLWlzLWFic29sdXRlIjogewotICAgICAgInZl
cnNpb24iOiAiMS4wLjEiLAotICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBt
anMub3JnL3BhdGgtaXMtYWJzb2x1dGUvLS9wYXRoLWlzLWFic29sdXRlLTEuMC4xLnRneiIsCi0g
ICAgICAiaW50ZWdyaXR5IjogInNoYTEtRjB1U2FITlZOUCs4ZXM1cjlUcGFuaHRjWDE4PSIsCi0g
ICAgICAiZGV2IjogdHJ1ZQotICAgIH0sCi0gICAgInByZXNlcnZlIjogewotICAgICAgInZlcnNp
b24iOiAiMC4yLjAiLAotICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMu
b3JnL3ByZXNlcnZlLy0vcHJlc2VydmUtMC4yLjAudGd6IiwKLSAgICAgICJpbnRlZ3JpdHkiOiAi
c2hhMS1nVjdSOXV2R1dTYjRaYk1Rd0hFN3l6TVZ6a3M9IiwKLSAgICAgICJkZXYiOiB0cnVlCi0g
ICAgfSwKLSAgICAicHJldHR5LWZvcm1hdCI6IHsKLSAgICAgICJ2ZXJzaW9uIjogIjIyLjQuMCIs
Ci0gICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvcHJldHR5LWZv
cm1hdC8tL3ByZXR0eS1mb3JtYXQtMjIuNC4wLnRneiIsCi0gICAgICAiaW50ZWdyaXR5IjogInNo
YTUxMi1wdkN4UDJpT0RJSWs5YWRYbG80UzNHUmowQnJKaWlsNjhrQnlBYTFQcmdHOTdjMXRDbGg5
ZExNZ3AzWjZjSEZacmNsYUFCdDBVSDhQSWh3SHVGTHFZQT09IiwKLSAgICAgICJkZXYiOiB0cnVl
LAotICAgICAgInJlcXVpcmVzIjogewotICAgICAgICAiYW5zaS1yZWdleCI6ICJeMy4wLjAiLAot
ICAgICAgICAiYW5zaS1zdHlsZXMiOiAiXjMuMi4wIgotICAgICAgfQotICAgIH0sCi0gICAgInJh
bmRvbWF0aWMiOiB7Ci0gICAgICAidmVyc2lvbiI6ICIzLjAuMCIsCi0gICAgICAicmVzb2x2ZWQi
OiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvcmFuZG9tYXRpYy8tL3JhbmRvbWF0aWMtMy4w
LjAudGd6IiwKLSAgICAgICJpbnRlZ3JpdHkiOiAic2hhNTEyLVZkeEZPSUVZM21OTzVQdFNSa2ts
ZS9oUEpESHZRaEsyMW9hNzNLNHlBYzlxbXA2TjQyOWdBeUYxZ1pNT1RNZVMwL0FZemFWLzJUcmNl
ZitOYUlvblNBPT0iLAotICAgICAgImRldiI6IHRydWUsCi0gICAgICAicmVxdWlyZXMiOiB7Ci0g
ICAgICAgICJpcy1udW1iZXIiOiAiXjQuMC4wIiwKLSAgICAgICAgImtpbmQtb2YiOiAiXjYuMC4w
IiwKLSAgICAgICAgIm1hdGgtcmFuZG9tIjogIl4xLjAuMSIKLSAgICAgIH0sCi0gICAgICAiZGVw
ZW5kZW5jaWVzIjogewotICAgICAgICAiaXMtbnVtYmVyIjogewotICAgICAgICAgICJ2ZXJzaW9u
IjogIjQuMC4wIiwKLSAgICAgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1q
cy5vcmcvaXMtbnVtYmVyLy0vaXMtbnVtYmVyLTQuMC4wLnRneiIsCi0gICAgICAgICAgImludGVn
cml0eSI6ICJzaGE1MTItclNrbGNBSWxmMU9tRmR5QXFibldUTFZlbHNRNTh1dlo2NlMvWnlhd2pX
cUl2aVRXQ2pnMlB6Vkd3OFdVQStuTnVQVHFiNHdnQStOc3pySiswOExsZ1E9PSIsCi0gICAgICAg
ICAgImRldiI6IHRydWUKLSAgICAgICAgfSwKLSAgICAgICAgImtpbmQtb2YiOiB7Ci0gICAgICAg
ICAgInZlcnNpb24iOiAiNi4wLjIiLAotICAgICAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3Jl
Z2lzdHJ5Lm5wbWpzLm9yZy9raW5kLW9mLy0va2luZC1vZi02LjAuMi50Z3oiLAotICAgICAgICAg
ICJpbnRlZ3JpdHkiOiAic2hhNTEyLXM1a0xPY25IMFhxRE8rRnZ1YUxYOEREaloxOENHRms3Vnln
SDQwUW9LUFVRaFc0ZTJydk0wcndVcTB0OElRRE93WVNlTEswMVU5ME9qekJUbWUyUXFBPT0iLAot
ICAgICAgICAgICJkZXYiOiB0cnVlCi0gICAgICAgIH0KLSAgICAgIH0KLSAgICB9LAotICAgICJy
ZWdleC1jYWNoZSI6IHsKLSAgICAgICJ2ZXJzaW9uIjogIjAuNC40IiwKLSAgICAgICJyZXNvbHZl
ZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9yZWdleC1jYWNoZS8tL3JlZ2V4LWNhY2hl
LTAuNC40LnRneiIsCi0gICAgICAiaW50ZWdyaXR5IjogInNoYTUxMi1uVklad3RDamtDOVlndldr
cE01NUI1ckJoQllSWmhBYUpiZ2NGWVhYc0huYlo5VVpJOW5uVldZWnBCbENxdjlobzJlWnJ5UG5X
clpHc09kUHdWV1hXUT09IiwKLSAgICAgICJkZXYiOiB0cnVlLAotICAgICAgInJlcXVpcmVzIjog
ewotICAgICAgICAiaXMtZXF1YWwtc2hhbGxvdyI6ICJeMC4xLjMiCi0gICAgICB9Ci0gICAgfSwK
LSAgICAicmVtb3ZlLXRyYWlsaW5nLXNlcGFyYXRvciI6IHsKLSAgICAgICJ2ZXJzaW9uIjogIjEu
MS4wIiwKLSAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9yZW1v
dmUtdHJhaWxpbmctc2VwYXJhdG9yLy0vcmVtb3ZlLXRyYWlsaW5nLXNlcGFyYXRvci0xLjEuMC50
Z3oiLAotICAgICAgImludGVncml0eSI6ICJzaGExLXdrdk9LaWc2MnRXOFAxamcxSUpKdVNONTJP
OD0iLAotICAgICAgImRldiI6IHRydWUKLSAgICB9LAotICAgICJyZXBlYXQtZWxlbWVudCI6IHsK
LSAgICAgICJ2ZXJzaW9uIjogIjEuMS4yIiwKLSAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3Jl
Z2lzdHJ5Lm5wbWpzLm9yZy9yZXBlYXQtZWxlbWVudC8tL3JlcGVhdC1lbGVtZW50LTEuMS4yLnRn
eiIsCi0gICAgICAiaW50ZWdyaXR5IjogInNoYTEtN3dpYUY0MFVnN3F1VFpQcm1MVDU1T0VkbVFv
PSIsCi0gICAgICAiZGV2IjogdHJ1ZQotICAgIH0sCi0gICAgInJlcGVhdC1zdHJpbmciOiB7Ci0g
ICAgICAidmVyc2lvbiI6ICIxLjYuMSIsCi0gICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdp
c3RyeS5ucG1qcy5vcmcvcmVwZWF0LXN0cmluZy8tL3JlcGVhdC1zdHJpbmctMS42LjEudGd6IiwK
LSAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1qY3JrY09ISWlyd3RZQS8vU25kaWh0cDE1amM9IiwK
LSAgICAgICJkZXYiOiB0cnVlCi0gICAgfSwKLSAgICAic2xhc2giOiB7Ci0gICAgICAidmVyc2lv
biI6ICIxLjAuMCIsCi0gICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5v
cmcvc2xhc2gvLS9zbGFzaC0xLjAuMC50Z3oiLAotICAgICAgImludGVncml0eSI6ICJzaGExLXhC
OHZiRG44RnRITkY2MUxYWWxoRks1SERWVT0iLAotICAgICAgImRldiI6IHRydWUKLSAgICB9LAot
ICAgICJzdGFjay11dGlscyI6IHsKLSAgICAgICJ2ZXJzaW9uIjogIjEuMC4xIiwKLSAgICAgICJy
ZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9zdGFjay11dGlscy8tL3N0YWNr
LXV0aWxzLTEuMC4xLnRneiIsCi0gICAgICAiaW50ZWdyaXR5IjogInNoYTEtMVBNNnRVNk9PSGVM
REtYUDA3T3ZzUzIyaGlBPSIsCi0gICAgICAiZGV2IjogdHJ1ZQotICAgIH0sCi0gICAgInN1cHBv
cnRzLWNvbG9yIjogewotICAgICAgInZlcnNpb24iOiAiNS4zLjAiLAotICAgICAgInJlc29sdmVk
IjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL3N1cHBvcnRzLWNvbG9yLy0vc3VwcG9ydHMt
Y29sb3ItNS4zLjAudGd6IiwKLSAgICAgICJpbnRlZ3JpdHkiOiAic2hhNTEyLTBhUDAxTExJc2tq
S3MzbHE1MkVDMGFHQkFKaExxN0IyUmQ4SEMvRFIvUHROTnBjTGlsTm1IQzEyTytodTB1c1Fwbzd3
dEhOUnF0cmhCd3REYjArZE5nPT0iLAotICAgICAgImRldiI6IHRydWUsCi0gICAgICAicmVxdWly
ZXMiOiB7Ci0gICAgICAgICJoYXMtZmxhZyI6ICJeMy4wLjAiCi0gICAgICB9Ci0gICAgfSwKLSAg
ICAid3JhcHB5IjogewotICAgICAgInZlcnNpb24iOiAiMS4wLjIiLAotICAgICAgInJlc29sdmVk
IjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL3dyYXBweS8tL3dyYXBweS0xLjAuMi50Z3oi
LAotICAgICAgImludGVncml0eSI6ICJzaGExLXRTUTlqejdCcWpYeE5rWUZ2QTBRTnVNS3RwOD0i
LAotICAgICAgImRldiI6IHRydWUKLSAgICB9Ci0gIH0KLX0KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvcGFj
a2FnZS5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi9wYWNrYWdlLmpzb24KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDkyZmFjY2FmYTgxM2ZiNjA3ZjViZTczYTA3Y2RhN2Y3MDc5ZDYzZDUuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi9wYWNrYWdlLmpzb24KKysr
IC9kZXYvbnVsbApAQCAtMSwyNyArMCwwIEBACi17Ci0gICJuYW1lIjogIndlYmlkbDIiLAotICAi
ZGVzY3JpcHRpb24iOiAiQSBXZWJJREwgUGFyc2VyIiwKLSAgInZlcnNpb24iOiAiMTMuMC4zIiwK
LSAgImNvbnRyaWJ1dG9ycyI6IFsKLSAgICAiUm9iaW4gQmVyam9uIDxyb2JpbkBiZXJqb24uY29t
PiAoaHR0cHM6Ly9iZXJqb24uY29tKSIsCi0gICAgIk1hcmNvcyBDYWNlcmVzIDxtYXJjb3NAbWFy
Y29zYy5jb20+IChodHRwczovL21hcmNvc2MuY29tKSIsCi0gICAgIkthZ2FtaSBTYXNjaGEgUm9z
eWxpZ2h0IDxzYXNjaGFwbGFzQG91dGxvb2suY29tPiIsCi0gICAgIlRpbW90aHkgR3UgPHRpbW90
aHlndTk5QGdtYWlsLmNvbT4iCi0gIF0sCi0gICJsaWNlbnNlIjogIlczQyIsCi0gICJkZXBlbmRl
bmNpZXMiOiB7fSwKLSAgImRldkRlcGVuZGVuY2llcyI6IHsKLSAgICAiZXhwZWN0IjogIjIyLjQu
MCIsCi0gICAgImpzb25kaWZmcGF0Y2giOiAiMC4zLjUiLAotICAgICJtb2NoYSI6ICI1LjAuNCIK
LSAgfSwKLSAgInNjcmlwdHMiOiB7Ci0gICAgInRlc3QiOiAibW9jaGEiLAotICAgICJhY3F1aXJl
IjogIm5vZGUgdGVzdC91dGlsL2FjcXVpcmUuanMiCi0gIH0sCi0gICJyZXBvc2l0b3J5IjogImdp
dDovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMiLAotICAibWFpbiI6ICJpbmRleC5qcyIsCi0g
ICJmaWxlcyI6IFsKLSAgICAibGliLyoiCi0gIF0KLX0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9p
bnZhbGlkLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDE5YmJmMDA2ZTU3OWVmNTk5N2FlMjNjMDFkZWNmMjhjMGIwYWNiNjguLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQu
anMKKysrIC9kZXYvbnVsbApAQCAtMSwyMCArMCwwIEBACi0vLyBOT1RFUzoKLS8vICAtIHRoZSBl
cnJvcnMgYWN0dWFsbHkgc3RpbGwgbmVlZCB0byBiZSByZXZpZXdlZCB0byBjaGVjayB0aGF0IHRo
ZXkKLS8vICAgIGFyZSBmdWxseSBjb3JyZWN0IGludGVycHJldGF0aW9ucyBvZiB0aGUgSURMcwot
Ci0idXNlIHN0cmljdCI7Ci0KLWNvbnN0IHsgY29sbGVjdCB9ID0gcmVxdWlyZSgiLi91dGlsL2Nv
bGxlY3QiKTsKLWNvbnN0IGZzID0gcmVxdWlyZSgiZnMiKTsKLWNvbnN0IGV4cGVjdCA9IHJlcXVp
cmUoImV4cGVjdCIpOwotCi1kZXNjcmliZSgiUGFyc2VzIGFsbCBvZiB0aGUgaW52YWxpZCBJRExz
IHRvIGNoZWNrIHRoYXQgdGhleSBibG93IHVwIGNvcnJlY3RseSIsICgpID0+IHsKLSAgZm9yIChj
b25zdCB0ZXN0IG9mIGNvbGxlY3QoImludmFsaWQiLCB7IGV4cGVjdEVycm9yOiB0cnVlIH0pKSB7
Ci0gICAgaXQoYHNob3VsZCBwcm9kdWNlIHRoZSByaWdodCBlcnJvciBmb3IgJHt0ZXN0LnBhdGh9
YCwgKCkgPT4gewotICAgICAgY29uc3QgZXJyID0gdGVzdC5yZWFkSlNPTigpOwotICAgICAgZXhw
ZWN0KHRlc3QuZXJyb3IpLnRvQmVUcnV0aHkoKTsKLSAgICAgIGV4cGVjdCh0ZXN0LmVycm9yLm1l
c3NhZ2UpLnRvRXF1YWwoZXJyLm1lc3NhZ2UpOwotICAgICAgZXhwZWN0KHRlc3QuZXJyb3IubGlu
ZSkudG9FcXVhbChlcnIubGluZSk7Ci0gICAgfSk7Ci0gIH0KLX0pOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L2ludmFsaWQvaWRsL2FycmF5LndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvYXJy
YXkud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNThhODYxOGFiNjQ4NTc5MjQ3
YThjZDAwYWM5ZGM0YTU4NWZhZjZiOC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvYXJyYXkud2lkbAorKysgL2Rldi9u
dWxsCkBAIC0xLDYgKzAsMCBAQAotLy8gRXh0cmFjdGVkIGZyb20gaHR0cDovL2Rldi53My5vcmcv
MjAwNi93ZWJhcGkvV2ViSURMLyBvbiAyMDExLTA1LTA2Ci0vLyBUW10gaXMgcmVtb3ZlZCBieSBo
dHRwczovL2dpdGh1Yi5jb20vaGV5Y2FtL3dlYmlkbC9jb21taXQvMDc5Y2JiODYxYTk5ZTllODU3
YTNmMmExNjljMGJlZWI0OWNkMDIwYQotW0NvbnN0cnVjdG9yXQotaW50ZXJmYWNlIExvdHRlcnlS
ZXN1bHRzIHsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIHNob3J0W11bXSBudW1iZXJz
OwotfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
aW52YWxpZC9pZGwvY2FsbGVyLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvY2FsbGVyLndp
ZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI2ZmVkYzMzZjk0MDJjNjUxZWJkMTU2
MjlhOGZjYjcyMTIxMDIxMjAuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL2NhbGxlci53aWRsCisrKyAvZGV2L251bGwK
QEAgLTEsNyArMCwwIEBACi0vLyBFeHRyYWN0ZWQgZnJvbSBodHRwOi8vZGV2LnczLm9yZy8yMDA2
L3dlYmFwaS9XZWJJREwvIG9uIDIwMTEtMDUtMDYKLS8vIGxlZ2FjeWNhbGxlcnMgYXJlIHJlbW92
ZWQgYnkgaHR0cHM6Ly9naXRodWIuY29tL2hleWNhbS93ZWJpZGwvcHVsbC80MTIKLQotaW50ZXJm
YWNlIE51bWJlclF1YWRydXBsZXIgewotICAvLyBUaGlzIG9wZXJhdGlvbiBzaW1wbHkgcmV0dXJu
cyBmb3VyIHRpbWVzIHRoZSBnaXZlbiBudW1iZXIgeC4KLSAgbGVnYWN5Y2FsbGVyIGZsb2F0IGNv
bXB1dGUoZmxvYXQgeCk7Ci19OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9kaWN0LXJlcXVpcmVkLWRlZmF1bHQud2lkbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC9pbnZhbGlkL2lkbC9kaWN0LXJlcXVpcmVkLWRlZmF1bHQud2lkbApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggNDEyNDQ4ZDIyNjFmODgyYjExN2FiOGJiMDE3ZGI2YTQ0M2Uz
MGVlYi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3QvaW52YWxpZC9pZGwvZGljdC1yZXF1aXJlZC1kZWZhdWx0LndpZGwKKysrIC9kZXYvbnVs
bApAQCAtMSw1ICswLDAgQEAKLS8vIGh0dHBzOi8vaGV5Y2FtLmdpdGh1Yi5pby93ZWJpZGwvI3Jl
cXVpcmVkLWRpY3Rpb25hcnktbWVtYmVyCi0vLyAiQSByZXF1aXJlZCBkaWN0aW9uYXJ5IG1lbWJl
ciBtdXN0IG5vdCBoYXZlIGEgZGVmYXVsdCB2YWx1ZS4iCi1kaWN0aW9uYXJ5IERpY3QgewotICBy
ZXF1aXJlZCBsb25nIG1lbWJlciA9IDA7Ci19OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFs
aWQvaWRsL2R1cGxpY2F0ZS53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL2R1cGxpY2F0ZS53
aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0OTE2YWYzNDI3M2QzMGRkNzU3OWE5
YmUzNjJjNWY4ZGViNjVkZjM2Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9kdXBsaWNhdGUud2lkbAorKysgL2Rldi9u
dWxsCkBAIC0xLDUgKzAsMCBAQAotdHlwZWRlZiBpbnQgVGVzdDsKLQotaW50ZXJmYWNlIFRlc3Qg
ewotICB2b2lkIGZvbygpOwotfTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9l
bnVtLWVtcHR5LndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvZW51bS1lbXB0eS53aWRsCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3ZjE4OWViNjJjMWJkMmI2ZDcxMDUzMmI4MDQy
YTQ1OWQ3YmExYjFmLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9lbnVtLWVtcHR5LndpZGwKKysrIC9kZXYvbnVsbApA
QCAtMSArMCwwIEBACi1lbnVtIEVtcHR5IHt9OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFs
aWQvaWRsL2VudW0td28tY29tbWEud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9lbnVtLXdv
LWNvbW1hLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGViYzUzMDY1ZWRlZGVk
NjJkMjdjODdhZTNiMWI2NjE4NzRkM2M3MTUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL2VudW0td28tY29tbWEud2lk
bAorKysgL2Rldi9udWxsCkBAIC0xICswLDAgQEAKLWVudW0gTm9Db21tYSB7ICJ2YWx1ZTEiICJ2
YWx1ZTIiIH07CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvZW51bS53aWRsIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L2ludmFsaWQvaWRsL2VudW0ud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggYzM1NWMzMjUxYzAwODQzNTJhMzJjNTYwYTE3NGUwMGJkZWQwODEwOS4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9p
ZGwvZW51bS53aWRsCisrKyAvZGV2L251bGwKQEAgLTEgKzAsMCBAQAotZW51bSBmb28geyAxLCAy
LCAzfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
aW52YWxpZC9pZGwvZXhjZXB0aW9uLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvZXhjZXB0
aW9uLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGEwZWEyZTQ3ZTIwODMzNjQx
NDQwYjA5NWE5YjJkMmQwMmY0NTA0YjcuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL2V4Y2VwdGlvbi53aWRsCisrKyAv
ZGV2L251bGwKQEAgLTEsNiArMCwwIEBACi0vLyBFeHRyYWN0ZWQgZnJvbSBodHRwOi8vZGV2Lncz
Lm9yZy8yMDA2L3dlYmFwaS9XZWJJREwvIG9uIDIwMTEtMDUtMDYKLS8vIElETCBleGNlcHRpb25z
IGFyZSByZW1vdmVkIGJ5IGh0dHBzOi8vZ2l0aHViLmNvbS9oZXljYW0vd2ViaWRsL2NvbW1pdC81
MGUxNzJlYzA3OWRiMDczYzM3MjRjOWJlYWMxYjU3NmZiNWRiYzQ3Ci0KLWV4Y2VwdGlvbiBTb21l
RXhjZXB0aW9uIHsKLX07Ci0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9leHRh
dHRyLWVtcHR5LWlkcy53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL2V4dGF0dHItZW1wdHkt
aWRzLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDkzYzQ4YzNhZGU1ZmE0NDhj
ZGRkMzM5OWYwZDQxZGU1NjI2OGYyYWYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL2V4dGF0dHItZW1wdHktaWRzLndp
ZGwKKysrIC9kZXYvbnVsbApAQCAtMSwyICswLDAgQEAKLVtFeHBvc2VkPSgpXQotaW50ZXJmYWNl
IFVuZXhwb3NlZCB7fTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9pZC11bmRl
cnNjb3JlZC1udW1iZXIud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9pZC11bmRlcnNjb3Jl
ZC1udW1iZXIud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDAwMTIxZmQ1NGYy
ZjMxOTAzZmI3NTkyZjVkNmU0MzhiNjk3YTRmYi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvaWQtdW5kZXJzY29yZWQt
bnVtYmVyLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSArMCwwIEBACi1pbnRlcmZhY2UgXzAge307
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvaW1wbGVtZW50c19hbmRfaW5jbHVk
ZXNfd3Mud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9pbXBsZW1lbnRzX2FuZF9pbmNsdWRl
c193cy53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2NjY2ZGFlZDAwYzNlN2Q5
YjdmNjQ5NzAwMzBhMmQ0NmEzOGU0OTY3Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9pbXBsZW1lbnRzX2FuZF9pbmNs
dWRlc193cy53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsNCArMCwwIEBACi0vLyBUaGlzIGhpdHMg
dGhlIHVuc2hpZnRpbmcgb2Ygd2hpdGVzcGFjZSBpbiB0aGUgImltcGxlbWVudHMiIGFuZAotLy8g
ImluY2x1ZGVzIiBwcm9kdWN0aW9ucy4gSWYgdGhlcmUgaXMgYSBidWcgaW4gdGhhdCB3aGl0ZXNw
YWNlCi0vLyByb2xsYmFjaywgdGhlIHdyb25nIGV4Y2VwdGlvbiB3aWxsIGJlIHByb2R1Y2VkLgot
Zm9vYmFyOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL2l0ZXJhdG9yLndpZGwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvaXRlcmF0b3Iud2lkbApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggM2JmMWIzNmRlYzY3NTY1NmNiZmQ3ZWE0NjAzNjE3YjNkYjkxYmZjNi4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52
YWxpZC9pZGwvaXRlcmF0b3Iud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDM1ICswLDAgQEAKLWlu
dGVyZmFjZSBTZXNzaW9uTWFuYWdlciB7Ci0gIFNlc3Npb24gZ2V0U2Vzc2lvbkZvclVzZXIoRE9N
U3RyaW5nIHVzZXJuYW1lKTsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgc2Vz
c2lvbkNvdW50OwotCi0gIFNlc3Npb24gaXRlcmF0b3I7Ci19OwotCi1pbnRlcmZhY2UgU2Vzc2lv
biB7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgdXNlcm5hbWU7Ci0gIC8vIC4uLgot
fTsKLQotaW50ZXJmYWNlIFNlc3Npb25NYW5hZ2VyMiB7Ci0gIFNlc3Npb24yIGdldFNlc3Npb25G
b3JVc2VyKERPTVN0cmluZyB1c2VybmFtZSk7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25l
ZCBsb25nIHNlc3Npb25Db3VudDsKLQotICBTZXNzaW9uMiBpdGVyYXRvciA9IFNlc3Npb25JdGVy
YXRvcjsKLX07Ci0KLWludGVyZmFjZSBTZXNzaW9uMiB7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSBE
T01TdHJpbmcgdXNlcm5hbWU7Ci0gIC8vIC4uLgotfTsKLQotaW50ZXJmYWNlIFNlc3Npb25JdGVy
YXRvciB7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIHJlbWFpbmluZ1Nlc3Np
b25zOwotfTsKLQotICAgICBpbnRlcmZhY2UgTm9kZUxpc3QgewotICAgICAgIE5vZGUgaXRlcmF0
b3IgPSBOb2RlSXRlcmF0b3I7Ci0gICAgIH07Ci0KLSAgICAgaW50ZXJmYWNlIE5vZGVJdGVyYXRv
ciB7Ci0gICAgICAgTm9kZSBpdGVyYXRvciBvYmplY3Q7Ci0gICAgIH07ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL21hcGxpa2Ut
MXR5cGUud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9tYXBsaWtlLTF0eXBlLndpZGwKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGVmYjVjMTRmZmQ2MjZmNzcxOTI3N2VlMzg5MmZj
ZTVmYjY2NGVjNDUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL21hcGxpa2UtMXR5cGUud2lkbAorKysgL2Rldi9udWxs
CkBAIC0xLDMgKzAsMCBAQAotaW50ZXJmYWNlIE1hcExpa2VPbmVUeXBlIHsKLSAgbWFwbGlrZTxs
b25nPjsKLX0KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3QvaW52YWxpZC9pZGwvbW9kdWxlLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvbW9kdWxl
LndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGE0Yzc5ZmRmMTU1ZWE1NThhZWVh
YzUxMTMzNDVjMzAwNzQ1ZDYyODEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL21vZHVsZS53aWRsCisrKyAvZGV2L251
bGwKQEAgLTEsMjUgKzAsMCBAQAotLy8gRXh0cmFjdGVkIGZyb20gaHR0cDovL2Rldi53My5vcmcv
MjAwNi93ZWJhcGkvV2ViSURMLyBvbiAyMDExLTA1LTA2Ci1tb2R1bGUgZ2Z4IHsKLQotICBtb2R1
bGUgZ2VvbSB7Ci0gICAgaW50ZXJmYWNlIFNoYXBlIHsgLyogLi4uICovIH07Ci0gICAgaW50ZXJm
YWNlIFJlY3RhbmdsZSA6IFNoYXBlIHsgLyogLi4uICovIH07Ci0gICAgaW50ZXJmYWNlIFBhdGgg
OiBTaGFwZSB7IC8qIC4uLiAqLyB9OwotICB9OwotCi0gIGludGVyZmFjZSBHcmFwaGljc0NvbnRl
eHQgewotICAgIHZvaWQgZmlsbFNoYXBlKGdlb206OlNoYXBlIHMpOwotICAgIHZvaWQgc3Ryb2tl
U2hhcGUoZ2VvbTo6U2hhcGUgcyk7Ci0gIH07Ci19OwotCi1tb2R1bGUgZ3VpIHsKLQotICBpbnRl
cmZhY2UgV2lkZ2V0IHsgLyogLi4uICovICB9OwotCi0gIGludGVyZmFjZSBXaW5kb3cgOiBXaWRn
ZXQgewotICAgIGdmeDo6R3JhcGhpY3NDb250ZXh0IGdldEdyYXBoaWNzQ29udGV4dCgpOwotICB9
OwotCi0gIGludGVyZmFjZSBCdXR0b24gOiBXaWRnZXQgeyAvKiAuLi4gKi8gIH07Ci19OwpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lk
bC9uYW1lc3BhY2UtcmVhZHdyaXRlLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvbmFtZXNw
YWNlLXJlYWR3cml0ZS53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlMTg0MTMz
MjI4NDU4ZTkxY2ZmMmNjODhmY2YzZWU4N2ZmZjkyZTNmLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9uYW1lc3BhY2Ut
cmVhZHdyaXRlLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSwzICswLDAgQEAKLW5hbWVzcGFjZSBD
U1MgewotICBhdHRyaWJ1dGUgb2JqZWN0IHJlYWR3cml0ZTsKLX07CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3QvaW52YWxpZC9pZGwvbm8tc2VtaWNvbG9uLWNhbGxiYWNrLndpZGwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
aW52YWxpZC9pZGwvbm8tc2VtaWNvbG9uLWNhbGxiYWNrLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IGNiMjA1NTcxOGU1ZjA0NGE2NzE0MjQ1MzJlZWU2YWZlNTc3YmViYzIuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2lu
dmFsaWQvaWRsL25vLXNlbWljb2xvbi1jYWxsYmFjay53aWRsCisrKyAvZGV2L251bGwKQEAgLTEs
NyArMCwwIEBACi1jYWxsYmFjayBpbnRlcmZhY2UgTm9TZW1pY29sb24gewotICBhdHRyaWJ1dGUg
Ym9vbGVhbiBub1NlbWlDb2xvbjsKLX0KLQotZW51bSBZb3VOZWVkT25lIHsKLSAgInJlYWxseSIK
LX0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9uby1zZW1pY29sb24ud2lkbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9uby1zZW1pY29sb24ud2lkbApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMTBiYzcxNjI0OWIzZTFmYTQwZmFhY2I3Mjk4ZWUzYjFmN2I2NzNiZi4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
aW52YWxpZC9pZGwvbm8tc2VtaWNvbG9uLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSw3ICswLDAg
QEAKLXBhcnRpYWwgaW50ZXJmYWNlIE5vU2VtaWNvbG9uIHsKLSAgYXR0cmlidXRlIGJvb2xlYW4g
bm9TZW1pQ29sb247Ci19Ci0KLWVudW0gWW91TmVlZE9uZSB7Ci0gICJyZWFsbHkiCi19CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvbm9ubnVsbGFibGVhbnkud2lkbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC9pbnZhbGlkL2lkbC9ub25udWxsYWJsZWFueS53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAzODk1NzY1NTUyMzZkOTExY2E3YzZiN2JiYjU2NjA1ZmUwMTAxODE0Li4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZh
bGlkL2lkbC9ub25udWxsYWJsZWFueS53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsMyArMCwwIEBA
Ci1pbnRlcmZhY2UgTm9uTnVsbGFibGUgewotICBhdHRyaWJ1dGUgYW55PyBmb287Ci19OwpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lk
bC9ub25udWxsYWJsZW9iamVjdHMud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9ub25udWxs
YWJsZW9iamVjdHMud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmM4NzVmZjA0
YjUyMzEyYmM1NWY3MzczNDdlOTkyNGMyNjg0N2NkOC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvbm9ubnVsbGFibGVv
YmplY3RzLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSw2ICswLDAgQEAKLWludGVyZmFjZSBGb28g
e307Ci0KLWludGVyZmFjZSBOb25OdWxsYWJsZSB7Ci0gIGF0dHJpYnV0ZSBGb28/PwotICAgIGZv
bzsKLX07CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvcHJvbWlzZS1udWxsYWJs
ZS53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL3Byb21pc2UtbnVsbGFibGUud2lkbApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODk0ZDdjMDQ0YjJhNWI0ZTlkMzA0MjdjZDkxM2Rm
N2I3MDliZGZhNS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvcHJvbWlzZS1udWxsYWJsZS53aWRsCisrKyAvZGV2L251
bGwKQEAgLTEsNCArMCwwIEBACi1pbnRlcmZhY2UgWCB7Ci0gICAgYXR0cmlidXRlIFByb21pc2U8
dm9pZD4/Ci0gICAgICAgIHByb21pc2U7Ci19OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFs
aWQvaWRsL3Byb21pc2Utd2l0aC1leHRlbmRlZC1hdHRyaWJ1dGUud2lkbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9p
bnZhbGlkL2lkbC9wcm9taXNlLXdpdGgtZXh0ZW5kZWQtYXR0cmlidXRlLndpZGwKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDBjZTE3MWZlYzMzZTcyZDM2MTY4YWQwZDczMWM1MTk5YWRi
OGIwOGUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L2ludmFsaWQvaWRsL3Byb21pc2Utd2l0aC1leHRlbmRlZC1hdHRyaWJ1dGUud2lkbAor
KysgL2Rldi9udWxsCkBAIC0xLDMgKzAsMCBAQAotaW50ZXJmYWNlIEZvbyB7Ci0gIFByb21pc2U8
W1hBdHRyXSBET01TdHJpbmc+IGZvbyhhbnkgcGFyYW0pOwotfTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC9pbnZhbGlkL2lkbC9yYWlzZXMud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9yYWlz
ZXMud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZmY2NTUyMmYyYjMzNTU3ZTUy
MzY4NmViNjMzMmUxM2E3ZmQ0YTA3OS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvcmFpc2VzLndpZGwKKysrIC9kZXYv
bnVsbApAQCAtMSwxOCArMCwwIEBACi0vLyBnZXRyYWlzZXMgYW5kIHNldHJhaXNlcyBhcmUgbm90
IGxvbmdlciB2YWxpZCBXZWIgSURMCi1pbnRlcmZhY2UgUGVyc29uIHsKLQotICAvLyBBbiBhdHRy
aWJ1dGUgdGhhdCBjYW4gcmFpc2UgYW4gZXhjZXB0aW9uIGlmIGl0IGlzIHNldCB0byBhbiBpbnZh
bGlkIHZhbHVlLgotICBhdHRyaWJ1dGUgRE9NU3RyaW5nIG5hbWUgc2V0cmFpc2VzIChJbnZhbGlk
TmFtZSk7Ci0KLSAgLy8gQW4gYXR0cmlidXRlIHdob3NlIHZhbHVlIGNhbm5vdCBiZSBhc3NpZ25l
ZCB0bywgYW5kIHdoaWNoIGNhbiByYWlzZSBhbgotICAvLyBleGNlcHRpb24gc29tZSBjaXJjdW1z
dGFuY2VzLgotICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHBldE5hbWUgZ2V0cmFpc2Vz
IChOb1N1Y2hQZXQpOwotfTsKLQotZXhjZXB0aW9uIFNvbWVFeGNlcHRpb24gewotfTsKLQotaW50
ZXJmYWNlIEV4Y2VwdGlvblRocm93ZXIgewotICAvLyBUaGlzIGF0dHJpYnV0ZSBhbHdheXMgdGhy
b3dzIGEgU29tZUV4Y2VwdGlvbiBhbmQgbmV2ZXIgcmV0dXJucyBhIHZhbHVlLgotICBhdHRyaWJ1
dGUgbG9uZyB2YWx1ZU9mIGdldHJhaXNlcyhTb21lRXhjZXB0aW9uKTsKLX07ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL3JlYWRv
bmx5LWl0ZXJhYmxlLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvcmVhZG9ubHktaXRlcmFi
bGUud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjA1N2FhMWZlYmE2NGViY2U2
MWM5ZWMwNjdmNjI1MGYwMzZlZmEwZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvcmVhZG9ubHktaXRlcmFibGUud2lk
bAorKysgL2Rldi9udWxsCkBAIC0xLDMgKzAsMCBAQAotaW50ZXJmYWNlIFJlYWRvbmx5SXRlcmFi
bGUgewotICByZWFkb25seSBpdGVyYWJsZTxsb25nPjsKLX0KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvcmVjb3JkLWtleS13aXRo
LWV4dGVuZGVkLWF0dHJpYnV0ZS53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL3JlY29yZC1r
ZXktd2l0aC1leHRlbmRlZC1hdHRyaWJ1dGUud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggYzExZWI3NDE0YjBiOGZjZDlmMmY2YTE4MzNiYzc2NDE4NWIwNTFmZS4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9p
ZGwvcmVjb3JkLWtleS13aXRoLWV4dGVuZGVkLWF0dHJpYnV0ZS53aWRsCisrKyAvZGV2L251bGwK
QEAgLTEsMyArMCwwIEBACi1pbnRlcmZhY2UgRm9vIHsKLSAgdm9pZCBmb28ocmVjb3JkPFtYQXR0
cl0gRE9NU3RyaW5nLCBhbnk+IHBhcmFtKTsKLX07CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52
YWxpZC9pZGwvcmVjb3JkLWtleS53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL3JlY29yZC1r
ZXkud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzlkYzM4NjE4MmY4MDlkZjY1
MWQ3NzcxNWFiNTUzMzhmNjNhYTZmNS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvcmVjb3JkLWtleS53aWRsCisrKyAv
ZGV2L251bGwKQEAgLTEsMyArMCwwIEBACi1pbnRlcmZhY2UgRm9vIHsKLSAgdm9pZCBmb28ocmVj
b3JkPG9jdGV0LCBhbnk+IHBhcmFtKTsKLX07CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxp
ZC9pZGwvcmVjb3JkLXNpbmdsZS53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL3JlY29yZC1z
aW5nbGUud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODRkYjQwMjgyNDMzYjg1
ZjZhMjljZDIzNmZkZDUxYWZlNDJjNTNhOC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvcmVjb3JkLXNpbmdsZS53aWRs
CisrKyAvZGV2L251bGwKQEAgLTEsMyArMCwwIEBACi1pbnRlcmZhY2UgRm9vIHsKLSAgdm9pZCBm
b28ocmVjb3JkPERPTVN0cmluZz4gcGFyYW0pOwotfTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9p
bnZhbGlkL2lkbC9zY29wZWRuYW1lLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvc2NvcGVk
bmFtZS53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjZmNiMWNjYzkzOTVjZDQy
ZWQ1MTkyZmU0ZWEwOTQ1NTBmNzM1NGVlLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9zY29wZWRuYW1lLndpZGwKKysr
IC9kZXYvbnVsbApAQCAtMSwyICswLDAgQEAKLS8vIHNjb3BlZCBuYW1lcyBhcmUgbm8gbG9uZ2Vy
IHZhbGlkIGluIFdlYklETAotICB0eXBlZGVmIGdmeDo6Z2VvbTo6Z2VvbTJkOjpQb2ludCBQb2lu
dDsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9zZXF1ZW5jZUFzQXR0cmlidXRl
LndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvc2VxdWVuY2VBc0F0dHJpYnV0ZS53aWRsCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjMjNkYTgyYWMyMjE5OGFhNTdlMWRhYmI2NGZh
N2JhMTI1Yzc1OTk2Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9zZXF1ZW5jZUFzQXR0cmlidXRlLndpZGwKKysrIC9k
ZXYvbnVsbApAQCAtMSwzICswLDAgQEAKLWludGVyZmFjZSBzZXF1ZW5jZUFzQXR0cmlidXRlIHsK
LSAgYXR0cmlidXRlIHNlcXVlbmNlPHNob3J0PiBpbnZhbGlkOwotfTsKXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvc2V0bGlrZS0y
dHlwZXMud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9zZXRsaWtlLTJ0eXBlcy53aWRsCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjMjY4MWJjNzVmMWU4YjM4YTJiODNjZTllZTVh
MjYyZmJkY2RhNzYyLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9zZXRsaWtlLTJ0eXBlcy53aWRsCisrKyAvZGV2L251
bGwKQEAgLTEsMyArMCwwIEBACi1pbnRlcmZhY2UgU2V0TGlrZVR3b1R5cGVzIHsKLSAgc2V0bGlr
ZTxsb25nLCBsb25nPjsKLX0KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvc2V0dGVyLWNyZWF0b3Iud2lkbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9p
bnZhbGlkL2lkbC9zZXR0ZXItY3JlYXRvci53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCBhNzBiMjY3NzRkNzIyZjk5MTE5YjhlN2NlOTc1YjExNjI3MzM4MTQ1Li4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lk
bC9zZXR0ZXItY3JlYXRvci53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsNCArMCwwIEBACi0vLyBF
eHRyYWN0ZWQgZnJvbSBodHRwOi8vZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJJREwvIG9uIDIw
MTEtMDUtMDYKLWludGVyZmFjZSBPcmRlcmVkTWFwIHsKLSAgc2V0dGVyIGNyZWF0b3Igdm9pZCBz
ZXQoRE9NU3RyaW5nIG5hbWUsIGFueSB2YWx1ZSk7Ci19OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L2ludmFsaWQvaWRsL3NwYWNlZC1uZWdhdGl2ZS1pbmZpbml0eS53aWRsIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2lu
dmFsaWQvaWRsL3NwYWNlZC1uZWdhdGl2ZS1pbmZpbml0eS53aWRsCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAzZDcxMjIyZTU0YjU5MjkwNjJmYzdiMjA4MGI5OTEwN2U5ZjExOWMyLi4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9p
bnZhbGlkL2lkbC9zcGFjZWQtbmVnYXRpdmUtaW5maW5pdHkud2lkbAorKysgL2Rldi9udWxsCkBA
IC0xLDMgKzAsMCBAQAotaW50ZXJmYWNlIFggewotICAgIGNvbnN0IGZsb2F0IGluZmluaXR5ID0g
LSBJbmZpbml0eTsKLX07CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvc3BhY2Vk
LXZhcmlhZGljLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvc3BhY2VkLXZhcmlhZGljLndp
ZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZkNzdlMTg2ZDY2NzBmZDAzNTE5MzRk
YjEyYmUwMWY3ZDRhZmYwMWEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL3NwYWNlZC12YXJpYWRpYy53aWRsCisrKyAv
ZGV2L251bGwKQEAgLTEsMyArMCwwIEBACi1pbnRlcmZhY2UgWCB7Ci0gICAgdm9pZCBvcGVyYXRp
b24ob2JqZWN0IC4gLiAuIGFyZ3MpOwotfTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlk
L2lkbC9zcGVjaWFsLW9taXR0YWJsZS53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL3NwZWNp
YWwtb21pdHRhYmxlLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRkMGMxYjE4
NTg5OTc5YzRiYWJhMzAxYTZlNzkyYmIxZDFlY2E0ZTEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL3NwZWNpYWwtb21p
dHRhYmxlLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSw4ICswLDAgQEAKLS8vIEV4dHJhY3RlZCBm
cm9tIGh0dHA6Ly9kZXYudzMub3JnLzIwMDYvd2ViYXBpL1dlYklETC8gb24gMjAxMS0wNS0wNgot
Ly8gb21pdHRhYmxlIGlzIG5vIGxvbmdlciBhIHJlY29nbml6ZWQga2V5d29yZCBhcyBvZiAyMDEx
MDkwNQotaW50ZXJmYWNlIERpY3Rpb25hcnkgewotICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWdu
ZWQgbG9uZyBwcm9wZXJ0eUNvdW50OwotCi0gIG9taXR0YWJsZSBnZXR0ZXIgZmxvYXQgZ2V0UHJv
cGVydHkoRE9NU3RyaW5nIHByb3BlcnR5TmFtZSk7Ci0gIG9taXR0YWJsZSBzZXR0ZXIgdm9pZCBz
ZXRQcm9wZXJ0eShET01TdHJpbmcgcHJvcGVydHlOYW1lLCBmbG9hdCBwcm9wZXJ0eVZhbHVlKTsK
LX07ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2lu
dmFsaWQvaWRsL3N0cmF5LXNsYXNoLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvc3RyYXkt
c2xhc2gud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjY3M2FhOTRiMDFkNjVh
MGI2NjY4NzlmOGM4OTljODYxMTFjN2FiNC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvc3RyYXktc2xhc2gud2lkbAor
KysgL2Rldi9udWxsCkBAIC0xLDIgKzAsMCBAQAotLy8gVGhpcyBpcyBhIGNvbW1lbnQuCi0vIFRo
aXMgaXMgbm90LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL3N0cmluZ2NvbnN0
YW50cy53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL3N0cmluZ2NvbnN0YW50cy53aWRsCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0NGZkM2ZmMTM2ZWU1NjcxNjM3ZDAyY2I4MDk2
NGRkYmEwOTJhNjU4Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9zdHJpbmdjb25zdGFudHMud2lkbAorKysgL2Rldi9u
dWxsCkBAIC0xLDMgKzAsMCBAQAotaW50ZXJmYWNlIFV0aWwgewotICBjb25zdCBET01TdHJpbmcg
aGVsbG8gPSAid29ybGQiOwotfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvdHlwZWRlZi1uZXN0ZWQud2lkbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC9pbnZhbGlkL2lkbC90eXBlZGVmLW5lc3RlZC53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCBkZmQzNzdiZjkzMmI5OGNjZWVlYjY5NzU1ZThlYWNmYTM4NDE3YWUwLi4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlk
L2lkbC90eXBlZGVmLW5lc3RlZC53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsMjIgKzAsMCBAQAot
Ci0gICAgICBpbnRlcmZhY2UgUG9pbnQgewotICAgICAgICBhdHRyaWJ1dGUgZmxvYXQgeDsKLSAg
ICAgICAgYXR0cmlidXRlIGZsb2F0IHk7Ci0gICAgICB9OwotCi0KLSAgICAgIGludGVyZmFjZSBS
ZWN0IHsKLSAgICAgICAgYXR0cmlidXRlIFBvaW50IHRvcGxlZnQ7Ci0gICAgICAgIGF0dHJpYnV0
ZSBQb2ludCBib3R0b21yaWdodDsKLSAgICAgIH07Ci0KLSAgaW50ZXJmYWNlIFdpZGdldCB7Ci0g
ICAgdHlwZWRlZiBzZXF1ZW5jZTxQb2ludD4gUG9pbnRTZXF1ZW5jZTsKLQotICAgIHJlYWRvbmx5
IGF0dHJpYnV0ZSBSZWN0IGJvdW5kczsKLQotICAgIGJvb2xlYW4gcG9pbnRXaXRoaW5Cb3VuZHMo
UG9pbnQgcCk7Ci0gICAgYm9vbGVhbiBhbGxQb2ludHNXaXRoaW5Cb3VuZHMoUG9pbnRTZXF1ZW5j
ZSBwcyk7Ci0gIH07Ci0KLSAgdHlwZWRlZiBbQ2xhbXBdIG9jdGV0IHZhbHVlOwpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC91bmlv
bi1kYW5nbGluZy1vci53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL3VuaW9uLWRhbmdsaW5n
LW9yLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDBhYTA0M2U5YWNhOTU4N2Rm
YjVjNDRlZjk2NDc3Yjk4ZDUyMTVlZDQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL3VuaW9uLWRhbmdsaW5nLW9yLndp
ZGwKKysrIC9kZXYvbnVsbApAQCAtMSArMCwwIEBACi10eXBlZGVmIChPbmUgb3IgVHdvIG9yKSBV
bmlvbk9yOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL3VuaW9uLW9uZS53aWRs
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL3VuaW9uLW9uZS53aWRsCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCA4NmVlOTZmNTE2ZDYzNTM2YTE3YmYxZWY1Y2I4ZDE3OGRjMGNhMzI2Li4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9p
bnZhbGlkL2lkbC91bmlvbi1vbmUud2lkbAorKysgL2Rldi9udWxsCkBAIC0xICswLDAgQEAKLXR5
cGVkZWYgKE9ubHlPbmUpIFVuaW9uT25lOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQv
aWRsL3VuaW9uLXplcm8ud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC91bmlvbi16ZXJvLndp
ZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDE3N2ZjNGM3MDhmOTAxYzA4OTk4MzMx
N2I1ZGJjZTIzOTQxMzI5YjEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL3VuaW9uLXplcm8ud2lkbAorKysgL2Rldi9u
dWxsCkBAIC0xICswLDAgQEAKLXR5cGVkZWYgKCkgVW5pb25aZXJvOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L2ludmFsaWQvaWRsL3Vua25vd24tZ2VuZXJpYy53aWRsIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFs
aWQvaWRsL3Vua25vd24tZ2VuZXJpYy53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCBlZTRhMmRiNzRhNjNiZGVmMTFkMjkyMGU2YjY5OGI3YjRkYzBmMTU1Li4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC91
bmtub3duLWdlbmVyaWMud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDMgKzAsMCBAQAotaW50ZXJm
YWNlIEZldGNoRXZlbnQgOiBFdmVudCB7Ci0gIFJlc3BvbnNlUHJvbWlzZTxhbnk+IGRlZmF1bHQo
KTsKLX07CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvdzNjLWltcG9ydC5sb2cg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvdzNjLWltcG9ydC5sb2cKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IGYyY2ViNGRmNmVjN2Q1NmRlOTFlODBkODVkOGUzYTQyOWRiMDNkNWMuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2lu
dmFsaWQvaWRsL3czYy1pbXBvcnQubG9nCisrKyAvZGV2L251bGwKQEAgLTEsNTYgKzAsMCBAQAot
VGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJl
cG9zaXRvcnkuCi1EbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4K
LUluc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKLQlodHRw
czovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdAotCi1UaGVuIHJ1biB0aGUgVG9v
bHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydAotCi1EbyBO
T1QgbW9kaWZ5IG9yIHJlbW92ZSB0aGlzIGZpbGUuCi0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotUHJvcGVy
dGllcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgotTm9uZQotUHJvcGVydHkgdmFsdWVzIHJl
cXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6Ci1Ob25lCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLUxpc3Qgb2Yg
ZmlsZXM6Ci0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL2FycmF5LndpZGwKLS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52
YWxpZC9pZGwvY2FsbGVyLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvZGljdC1yZXF1aXJl
ZC1kZWZhdWx0LndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvZHVwbGljYXRlLndpZGwKLS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3QvaW52YWxpZC9pZGwvZW51bS1lbXB0eS53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQv
aWRsL2VudW0td28tY29tbWEud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9lbnVtLndpZGwK
LS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvZXhjZXB0aW9uLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxp
ZC9pZGwvZXh0YXR0ci1lbXB0eS1pZHMud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9pZC11
bmRlcnNjb3JlZC1udW1iZXIud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9pbXBsZW1lbnRz
X2FuZF9pbmNsdWRlc193cy53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL2l0ZXJhdG9yLndp
ZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvbWFwbGlrZS0xdHlwZS53aWRsCi0vTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L2ludmFsaWQvaWRsL21vZHVsZS53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL25hbWVzcGFj
ZS1yZWFkd3JpdGUud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9uby1zZW1pY29sb24tY2Fs
bGJhY2sud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9uby1zZW1pY29sb24ud2lkbAotL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC9pbnZhbGlkL2lkbC9ub25udWxsYWJsZWFueS53aWRsCi0vTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFs
aWQvaWRsL25vbm51bGxhYmxlb2JqZWN0cy53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL3By
b21pc2UtbnVsbGFibGUud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9wcm9taXNlLXdpdGgt
ZXh0ZW5kZWQtYXR0cmlidXRlLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvcmFpc2VzLndp
ZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvcmVhZG9ubHktaXRlcmFibGUud2lkbAotL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC9pbnZhbGlkL2lkbC9yZWNvcmQta2V5LXdpdGgtZXh0ZW5kZWQtYXR0cmlidXRlLndpZGwK
LS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvcmVjb3JkLWtleS53aWRsCi0vTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFs
aWQvaWRsL3JlY29yZC1zaW5nbGUud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9zY29wZWRu
YW1lLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvc2VxdWVuY2VBc0F0dHJpYnV0ZS53aWRs
Ci0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL3NldGxpa2UtMnR5cGVzLndpZGwKLS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
aW52YWxpZC9pZGwvc2V0dGVyLWNyZWF0b3Iud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9z
cGFjZWQtbmVnYXRpdmUtaW5maW5pdHkud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9zcGFj
ZWQtdmFyaWFkaWMud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9zcGVjaWFsLW9taXR0YWJs
ZS53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL3N0cmF5LXNsYXNoLndpZGwKLS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3QvaW52YWxpZC9pZGwvc3RyaW5nY29uc3RhbnRzLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9p
ZGwvdHlwZWRlZi1uZXN0ZWQud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC91bmlvbi1kYW5n
bGluZy1vci53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL3VuaW9uLW9uZS53aWRsCi0vTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L2ludmFsaWQvaWRsL3VuaW9uLXplcm8ud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lk
bC91bmtub3duLWdlbmVyaWMud2lkbApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNv
bi9hcnJheS5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9hcnJheS5qc29uCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4OThiMmQ4MzZiZmY4MTMzMGQ3MzRlMGJhMTAzNzJlOTc3
MmZkNTIzLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC9pbnZhbGlkL2pzb24vYXJyYXkuanNvbgorKysgL2Rldi9udWxsCkBAIC0xLDQgKzAs
MCBAQAotewotICAgICJtZXNzYWdlIjogIkdvdCBhbiBlcnJvciBkdXJpbmcgb3IgcmlnaHQgYWZ0
ZXIgcGFyc2luZyBgaW50ZXJmYWNlIExvdHRlcnlSZXN1bHRzYDogTm8gbmFtZSBpbiBhdHRyaWJ1
dGUiLAotICAgICJsaW5lIjogNQotfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNv
bi9jYWxsZXIuanNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vY2FsbGVyLmpzb24KZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDU2N2ZhMzM2ODEyOWY5YjZkNTRiYjNiYjRjMGY5ZDRk
NTAxODY1MjUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L2ludmFsaWQvanNvbi9jYWxsZXIuanNvbgorKysgL2Rldi9udWxsCkBAIC0xLDQg
KzAsMCBAQAotewotICAgICJtZXNzYWdlIjogIkdvdCBhbiBlcnJvciBkdXJpbmcgb3IgcmlnaHQg
YWZ0ZXIgcGFyc2luZyBgaW50ZXJmYWNlIE51bWJlclF1YWRydXBsZXJgOiBJbnZhbGlkIG9wZXJh
dGlvbiIsCi0gICAgImxpbmUiOiA2Ci19CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9q
c29uL2RpY3QtcmVxdWlyZWQtZGVmYXVsdC5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9k
aWN0LXJlcXVpcmVkLWRlZmF1bHQuanNvbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
ODJiNmIyYWU0MmE2ZjYxYTIwYTMyYmNiNjdmNDQ0NjFiYTdhZGFlMS4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL2Rp
Y3QtcmVxdWlyZWQtZGVmYXVsdC5qc29uCisrKyAvZGV2L251bGwKQEAgLTEsNCArMCwwIEBACi17
Ci0gICAgIm1lc3NhZ2UiOiAgIkdvdCBhbiBlcnJvciBkdXJpbmcgb3IgcmlnaHQgYWZ0ZXIgcGFy
c2luZyBgZGljdGlvbmFyeSBEaWN0YDogUmVxdWlyZWQgbWVtYmVyIG11c3Qgbm90IGhhdmUgYSBk
ZWZhdWx0IgotLCAgICJsaW5lIjogICAgIDQKLX0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZh
bGlkL2pzb24vZHVwbGljYXRlLmpzb24gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL2R1cGxpY2F0
ZS5qc29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlODhhNzE1NmZlOGMxYzYwMmVi
ZTFhZThkNjZjYmVlYmU2OWZmMDYwLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vZHVwbGljYXRlLmpzb24KKysrIC9k
ZXYvbnVsbApAQCAtMSw0ICswLDAgQEAKLXsKLSAgICAibWVzc2FnZSI6ICJHb3QgYW4gZXJyb3Ig
ZHVyaW5nIG9yIHJpZ2h0IGFmdGVyIHBhcnNpbmcgYHR5cGVkZWYgVGVzdGA6IFRoZSBuYW1lIFwi
VGVzdFwiIG9mIHR5cGUgXCJ0eXBlZGVmXCIgaXMgYWxyZWFkeSBzZWVuIiwKLSAgICAibGluZSI6
IDMKLX0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vZW51bS1lbXB0eS5qc29u
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9lbnVtLWVtcHR5Lmpzb24KZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDczNGJjNjdkZTFmZDY3ZTk4YzhjOGQ3OGJkZTQ1YzYyZmIzMjAxZWQu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L2ludmFsaWQvanNvbi9lbnVtLWVtcHR5Lmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSw0ICswLDAg
QEAKLXsKLSAgICAibWVzc2FnZSI6ICJHb3QgYW4gZXJyb3IgZHVyaW5nIG9yIHJpZ2h0IGFmdGVy
IHBhcnNpbmcgYGVudW0gRW1wdHlgOiBObyB2YWx1ZSBpbiBlbnVtIiwKLSAgICAibGluZSI6IDEK
LX0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vZW51bS13by1jb21tYS5qc29u
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9lbnVtLXdvLWNvbW1hLmpzb24KZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IGJmZDBiMDk1MWZjZThkMjU3MzlkMmUxOGEwMjdlN2ZjNjAwZDli
MTQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L2ludmFsaWQvanNvbi9lbnVtLXdvLWNvbW1hLmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSw0
ICswLDAgQEAKLXsKLSAgICAibWVzc2FnZSI6ICJHb3QgYW4gZXJyb3IgZHVyaW5nIG9yIHJpZ2h0
IGFmdGVyIHBhcnNpbmcgYGVudW0gTm9Db21tYWA6IE5vIGNvbW1hIGJldHdlZW4gZW51bSB2YWx1
ZXMiLAotICAgICJsaW5lIjogMQotfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNv
bi9lbnVtLmpzb24gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL2VudW0uanNvbgpkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDczZmY2YzI5MGNhZmRmNjE0OTA5YjhmNmVmMjdiYTBhNGM1
ODI5ZC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3QvaW52YWxpZC9qc29uL2VudW0uanNvbgorKysgL2Rldi9udWxsCkBAIC0xLDQgKzAsMCBA
QAotewotICAgICJtZXNzYWdlIjogICJHb3QgYW4gZXJyb3IgZHVyaW5nIG9yIHJpZ2h0IGFmdGVy
IHBhcnNpbmcgYGVudW0gZm9vYDogVW5leHBlY3RlZCB2YWx1ZSBpbiBlbnVtIgotLCAgICJsaW5l
IjogICAgIDEKLX0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vZXhjZXB0aW9u
Lmpzb24gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL2V4Y2VwdGlvbi5qc29uCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCBhZDlmYWM2Y2EyZjY0ZTcwODM0MjE1MTZhOWNlYjllNjM5NzU1
NWVjLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC9pbnZhbGlkL2pzb24vZXhjZXB0aW9uLmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSw0ICsw
LDAgQEAKLXsKLSAgICAibWVzc2FnZSI6ICJHb3QgYW4gZXJyb3IgYmVmb3JlIHBhcnNpbmcgYW55
IG5hbWVkIGRlZmluaXRpb246IFVucmVjb2duaXNlZCB0b2tlbnMiLAotICAgICJsaW5lIjogNAot
fQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9leHRhdHRyLWVtcHR5LWlkcy5q
c29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9leHRhdHRyLWVtcHR5LWlkcy5qc29uCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0MzM3ZjFlMTgwYzI4ODgxNTE0ODQ1ZDU0NTU3ODE5
Njc0YTc2NDE4Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vZXh0YXR0ci1lbXB0eS1pZHMuanNvbgorKysgL2Rldi9u
dWxsCkBAIC0xLDQgKzAsMCBAQAotewotICAgICJtZXNzYWdlIjogIkdvdCBhbiBlcnJvciBiZWZv
cmUgcGFyc2luZyBhbnkgbmFtZWQgZGVmaW5pdGlvbjogRXhwZWN0ZWQgaWRlbnRpZmllcnMgYnV0
IG5vdCBmb3VuZCIsCi0gICAgImxpbmUiOiAxCi19CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52
YWxpZC9qc29uL2lkLXVuZGVyc2NvcmVkLW51bWJlci5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQv
anNvbi9pZC11bmRlcnNjb3JlZC1udW1iZXIuanNvbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggNDE5ZWQ5NDZmY2EwNWMyMDk3ZmYzYzJjNDhiOTFjYjExZTVhMWIyYS4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9q
c29uL2lkLXVuZGVyc2NvcmVkLW51bWJlci5qc29uCisrKyAvZGV2L251bGwKQEAgLTEsNCArMCww
IEBACi17Ci0gICAgIm1lc3NhZ2UiOiAiR290IGFuIGVycm9yIGJlZm9yZSBwYXJzaW5nIGFueSBu
YW1lZCBkZWZpbml0aW9uOiBObyBuYW1lIGZvciBpbnRlcmZhY2UiLAotICAgICJsaW5lIjogMQot
fQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9pbXBsZW1lbnRzX2FuZF9pbmNs
dWRlc193cy5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9pbXBsZW1lbnRzX2FuZF9pbmNs
dWRlc193cy5qc29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhZDlmYWM2Y2EyZjY0
ZTcwODM0MjE1MTZhOWNlYjllNjM5NzU1NWVjLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vaW1wbGVtZW50c19hbmRf
aW5jbHVkZXNfd3MuanNvbgorKysgL2Rldi9udWxsCkBAIC0xLDQgKzAsMCBAQAotewotICAgICJt
ZXNzYWdlIjogIkdvdCBhbiBlcnJvciBiZWZvcmUgcGFyc2luZyBhbnkgbmFtZWQgZGVmaW5pdGlv
bjogVW5yZWNvZ25pc2VkIHRva2VucyIsCi0gICAgImxpbmUiOiA0Ci19CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3QvaW52YWxpZC9qc29uL2l0ZXJhdG9yLmpzb24gYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9q
c29uL2l0ZXJhdG9yLmpzb24KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGU0NmQ2NTNh
ZTNjNTEyOTNkNTg0MDQ1Y2RhZGQ2YzBhMzAxMjA2ZmUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9pdGVyYXRvci5q
c29uCisrKyAvZGV2L251bGwKQEAgLTEsNCArMCwwIEBACi17Ci0gICAgIm1lc3NhZ2UiOiAiR290
IGFuIGVycm9yIGR1cmluZyBvciByaWdodCBhZnRlciBwYXJzaW5nIGBpbnRlcmZhY2UgU2Vzc2lv
bk1hbmFnZXJgOiBJbnZhbGlkIG9wZXJhdGlvbiIsCi0gICAgImxpbmUiOiA1Ci19CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL21hcGxpa2UtMXR5cGUuanNvbiBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC9pbnZhbGlkL2pzb24vbWFwbGlrZS0xdHlwZS5qc29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCA3NWU3YTM1ZWUyNTZlOTEzNTc5OTRmZjhhODViMTgyOGNiNDgxMTJlLi4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlk
L2pzb24vbWFwbGlrZS0xdHlwZS5qc29uCisrKyAvZGV2L251bGwKQEAgLTEsNCArMCwwIEBACi17
Ci0gICAgIm1lc3NhZ2UiOiAiR290IGFuIGVycm9yIGR1cmluZyBvciByaWdodCBhZnRlciBwYXJz
aW5nIGBpbnRlcmZhY2UgTWFwTGlrZU9uZVR5cGVgOiBNaXNzaW5nIHNlY29uZCB0eXBlIGFyZ3Vt
ZW50IGluIG1hcGxpa2UgZGVjbGFyYXRpb24iLAotICAgICJsaW5lIjogMgotfQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9tb2R1bGUuanNvbiBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlk
L2pzb24vbW9kdWxlLmpzb24KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDljMDcxY2Rk
MDdhN2EzOWVkMTg1OTJlODIxMDBkOGQ1MDA2NWEwMzAuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9tb2R1bGUuanNv
bgorKysgL2Rldi9udWxsCkBAIC0xLDQgKzAsMCBAQAotewotICAgICJtZXNzYWdlIjogICJHb3Qg
YW4gZXJyb3IgYmVmb3JlIHBhcnNpbmcgYW55IG5hbWVkIGRlZmluaXRpb246IFVucmVjb2duaXNl
ZCB0b2tlbnMiCi0sICAgImxpbmUiOiAgICAgMgotfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2lu
dmFsaWQvanNvbi9uYW1lc3BhY2UtcmVhZHdyaXRlLmpzb24gYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9q
c29uL25hbWVzcGFjZS1yZWFkd3JpdGUuanNvbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggZDIxMjE1MTExZjFlZTI3YWU3M2RmMDM1MzQ5YzU3NmM2NDM2MmE0My4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29u
L25hbWVzcGFjZS1yZWFkd3JpdGUuanNvbgorKysgL2Rldi9udWxsCkBAIC0xLDQgKzAsMCBAQAot
ewotICAgICJtZXNzYWdlIjogIkdvdCBhbiBlcnJvciBkdXJpbmcgb3IgcmlnaHQgYWZ0ZXIgcGFy
c2luZyBgbmFtZXNwYWNlIENTU2A6IEF0dHJpYnV0ZXMgbXVzdCBiZSByZWFkb25seSBpbiB0aGlz
IGNvbnRleHQiLAotICAgICJsaW5lIjogMgotfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFs
aWQvanNvbi9uby1zZW1pY29sb24tY2FsbGJhY2suanNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pz
b24vbm8tc2VtaWNvbG9uLWNhbGxiYWNrLmpzb24KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDFkYjlkMTRjOGUyYzUxMjA0YTFlMmEyZDdkMWU5OGMzMDY2MTA2ZWYuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNv
bi9uby1zZW1pY29sb24tY2FsbGJhY2suanNvbgorKysgL2Rldi9udWxsCkBAIC0xLDQgKzAsMCBA
QAotewotICAgICJtZXNzYWdlIjogIkdvdCBhbiBlcnJvciBkdXJpbmcgb3IgcmlnaHQgYWZ0ZXIg
cGFyc2luZyBgY2FsbGJhY2sgaW50ZXJmYWNlIE5vU2VtaWNvbG9uYDogTWlzc2luZyBzZW1pY29s
b24gYWZ0ZXIgaW50ZXJmYWNlIiwKLSAgICAibGluZSI6IDUKLX0KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC9pbnZhbGlkL2pzb24vbm8tc2VtaWNvbG9uLmpzb24gYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9q
c29uL25vLXNlbWljb2xvbi5qc29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwODc1
MzJhMDEyZjU5Mjc2OTc2YjcwYjE3MDllOTI3YzJkZGQwNzk3Li4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vbm8tc2Vt
aWNvbG9uLmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSw0ICswLDAgQEAKLXsKLSAgICAibWVzc2Fn
ZSI6ICJHb3QgYW4gZXJyb3IgZHVyaW5nIG9yIHJpZ2h0IGFmdGVyIHBhcnNpbmcgYHBhcnRpYWwg
aW50ZXJmYWNlIE5vU2VtaWNvbG9uYDogTWlzc2luZyBzZW1pY29sb24gYWZ0ZXIgaW50ZXJmYWNl
IiwKLSAgICAibGluZSI6IDUKLX0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24v
bm9ubnVsbGFibGVhbnkuanNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vbm9ubnVsbGFibGVh
bnkuanNvbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOGExZjkwMDQ2YWU0ZDlkZjhj
NThiZjE3ZTBjMmVkNmJkYzdjNGZkMC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL25vbm51bGxhYmxlYW55Lmpzb24K
KysrIC9kZXYvbnVsbApAQCAtMSw0ICswLDAgQEAKLXsKLSAgICAibWVzc2FnZSI6ICAiR290IGFu
IGVycm9yIGR1cmluZyBvciByaWdodCBhZnRlciBwYXJzaW5nIGBpbnRlcmZhY2UgTm9uTnVsbGFi
bGVgOiBUeXBlIGFueSBjYW5ub3QgYmUgbWFkZSBudWxsYWJsZSIKLSwgICAibGluZSI6ICAgICAy
Ci19CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL25vbm51bGxhYmxlb2JqZWN0
cy5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9ub25udWxsYWJsZW9iamVjdHMuanNvbgpk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDQ3MGVjOTRhNjA2YzZjYWEwMTkwMWQ5NzI0
MTI4ZDMxMTExZDIxNi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL25vbm51bGxhYmxlb2JqZWN0cy5qc29uCisrKyAv
ZGV2L251bGwKQEAgLTEsNCArMCwwIEBACi17Ci0gICAgIm1lc3NhZ2UiOiAiR290IGFuIGVycm9y
IGR1cmluZyBvciByaWdodCBhZnRlciBwYXJzaW5nIGBpbnRlcmZhY2UgTm9uTnVsbGFibGVgOiBD
YW4ndCBudWxsYWJsZSBtb3JlIHRoYW4gb25jZSIsCi0gICAgImxpbmUiOiA0Ci19CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL3Byb21pc2UtbnVsbGFibGUuanNvbiBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC9pbnZhbGlkL2pzb24vcHJvbWlzZS1udWxsYWJsZS5qc29uCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCBjZWQ1MWZhZjFiZTRkZjc1NmI0YmM5ODczNTZhZDg4YWRhMGYwMDM4Li4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9p
bnZhbGlkL2pzb24vcHJvbWlzZS1udWxsYWJsZS5qc29uCisrKyAvZGV2L251bGwKQEAgLTEsNCAr
MCwwIEBACi17Ci0gICAgIm1lc3NhZ2UiOiAiR290IGFuIGVycm9yIGR1cmluZyBvciByaWdodCBh
ZnRlciBwYXJzaW5nIGBpbnRlcmZhY2UgWGA6IFByb21pc2UgdHlwZSBjYW5ub3QgYmUgbnVsbGFi
bGUiLAotICAgICJsaW5lIjogMgotfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNv
bi9wcm9taXNlLXdpdGgtZXh0ZW5kZWQtYXR0cmlidXRlLmpzb24gYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxp
ZC9qc29uL3Byb21pc2Utd2l0aC1leHRlbmRlZC1hdHRyaWJ1dGUuanNvbgpkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggNzEyMTJkNDZlM2MwMTFhZWQ2NGNiNmI2MDA4YTRhMWI0MjdkMTRi
Zi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3QvaW52YWxpZC9qc29uL3Byb21pc2Utd2l0aC1leHRlbmRlZC1hdHRyaWJ1dGUuanNvbgorKysg
L2Rldi9udWxsCkBAIC0xLDQgKzAsMCBAQAotewotICAgICJtZXNzYWdlIjogIkdvdCBhbiBlcnJv
ciBkdXJpbmcgb3IgcmlnaHQgYWZ0ZXIgcGFyc2luZyBgaW50ZXJmYWNlIEZvb2A6IFByb21pc2Ug
dHlwZSBjYW5ub3QgaGF2ZSBleHRlbmRlZCBhdHRyaWJ1dGUiLAotICAgICJsaW5lIjogMgotfQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9yYWlzZXMuanNvbiBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC9pbnZhbGlkL2pzb24vcmFpc2VzLmpzb24KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDMxNjViODc0ZjBjMTg5MTE4NmI0NzliNjQ2MGMwYWU5MGE4NTMzZGIuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9y
YWlzZXMuanNvbgorKysgL2Rldi9udWxsCkBAIC0xLDQgKzAsMCBAQAotewotICAgICJtZXNzYWdl
IjogICJHb3QgYW4gZXJyb3IgZHVyaW5nIG9yIHJpZ2h0IGFmdGVyIHBhcnNpbmcgYGludGVyZmFj
ZSBQZXJzb25gOiBVbnRlcm1pbmF0ZWQgYXR0cmlidXRlIgotLCAgICJsaW5lIjogICAgIDUKLX0K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vcmVhZG9ubHktaXRlcmFibGUuanNv
biBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vcmVhZG9ubHktaXRlcmFibGUuanNvbgpkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTU3MWIyMjI3MWI4MGUxZjg2M2ZkYmEyNjM2MDM1MThh
NzE4OTliMy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3QvaW52YWxpZC9qc29uL3JlYWRvbmx5LWl0ZXJhYmxlLmpzb24KKysrIC9kZXYvbnVs
bApAQCAtMSw0ICswLDAgQEAKLXsKLSAgICAibWVzc2FnZSI6ICJHb3QgYW4gZXJyb3IgZHVyaW5n
IG9yIHJpZ2h0IGFmdGVyIHBhcnNpbmcgYGludGVyZmFjZSBSZWFkb25seUl0ZXJhYmxlYDogTWlz
c2luZyByZXR1cm4gdHlwZSIsCi0gICAgImxpbmUiOiAyCi19CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3QvaW52YWxpZC9qc29uL3JlY29yZC1rZXktd2l0aC1leHRlbmRlZC1hdHRyaWJ1dGUuanNvbiBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vcmVjb3JkLWtleS13aXRoLWV4dGVuZGVkLWF0dHJpYnV0
ZS5qc29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0MDAyZTdmZTAxNTVkNWJjMmQ2
MTVkNTVhNGU0ZTk3NmUxM2UzOGE4Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vcmVjb3JkLWtleS13aXRoLWV4dGVu
ZGVkLWF0dHJpYnV0ZS5qc29uCisrKyAvZGV2L251bGwKQEAgLTEsNCArMCwwIEBACi17Ci0gICAg
Im1lc3NhZ2UiOiAiR290IGFuIGVycm9yIGR1cmluZyBvciByaWdodCBhZnRlciBwYXJzaW5nIGBp
bnRlcmZhY2UgRm9vYDogUmVjb3JkIGtleSBjYW5ub3QgaGF2ZSBleHRlbmRlZCBhdHRyaWJ1dGUi
LAotICAgICJsaW5lIjogMgotfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9y
ZWNvcmQta2V5Lmpzb24gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL3JlY29yZC1rZXkuanNvbgpk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmYxYmI5OWJlOTA4MDg3M2FkYzBjN2M2ODVk
Y2EwZDU1YzJiNjdlYy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL3JlY29yZC1rZXkuanNvbgorKysgL2Rldi9udWxs
CkBAIC0xLDQgKzAsMCBAQAotewotICAgICJtZXNzYWdlIjogIkdvdCBhbiBlcnJvciBkdXJpbmcg
b3IgcmlnaHQgYWZ0ZXIgcGFyc2luZyBgaW50ZXJmYWNlIEZvb2A6IFJlY29yZCBrZXkgbXVzdCBi
ZSBhIHN0cmluZyB0eXBlIiwKLSAgICAibGluZSI6IDIKLX0KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC9pbnZhbGlkL2pzb24vcmVjb3JkLXNpbmdsZS5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNv
bi9yZWNvcmQtc2luZ2xlLmpzb24KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGVjZTRm
YjJmZWUzYzA3YzNhYTYyNDFlM2MwY2I2ZWQ1NDc3MjU3ZGIuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9yZWNvcmQt
c2luZ2xlLmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSw0ICswLDAgQEAKLXsKLSAgICAibWVzc2Fn
ZSI6ICJHb3QgYW4gZXJyb3IgZHVyaW5nIG9yIHJpZ2h0IGFmdGVyIHBhcnNpbmcgYGludGVyZmFj
ZSBGb29gOiBNaXNzaW5nIGNvbW1hIGFmdGVyIHJlY29yZCBrZXkgdHlwZSIsCi0gICAgImxpbmUi
OiAyCi19CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL3Njb3BlZG5hbWUuanNv
biBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vc2NvcGVkbmFtZS5qc29uCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCA0NjIwZDJkZjVmYTBjYzI1NGE2ZDZjZDNjNmI3NTE0N2M2NThiNDBh
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC9pbnZhbGlkL2pzb24vc2NvcGVkbmFtZS5qc29uCisrKyAvZGV2L251bGwKQEAgLTEsNCArMCww
IEBACi17Ci0gICAgIm1lc3NhZ2UiOiAgIkdvdCBhbiBlcnJvciBiZWZvcmUgcGFyc2luZyBhbnkg
bmFtZWQgZGVmaW5pdGlvbjogTm8gbmFtZSBpbiB0eXBlZGVmIgotLCAgICJsaW5lIjogICAgIDIK
LX0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vc2VxdWVuY2VBc0F0dHJpYnV0
ZS5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9zZXF1ZW5jZUFzQXR0cmlidXRlLmpzb24K
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDViNDMxNGE2ZGUxMjhkYzYwMmFlMWRlYzQ2
MDFhMDBmODZjMTExYmYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9zZXF1ZW5jZUFzQXR0cmlidXRlLmpzb24KKysr
IC9kZXYvbnVsbApAQCAtMSw0ICswLDAgQEAKLXsKLSAgICAibWVzc2FnZSI6ICAiR290IGFuIGVy
cm9yIGR1cmluZyBvciByaWdodCBhZnRlciBwYXJzaW5nIGBpbnRlcmZhY2Ugc2VxdWVuY2VBc0F0
dHJpYnV0ZWA6IEF0dHJpYnV0ZXMgY2Fubm90IGFjY2VwdCBzZXF1ZW5jZSB0eXBlcyIKLSwgICAi
bGluZSI6ICAgICAyCi19CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL3NldGxp
a2UtMnR5cGVzLmpzb24gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL3NldGxpa2UtMnR5cGVzLmpz
b24KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI5MDBlMWJhYzMwMDc0MmNlYzcxZWU4
ZjY2OTc3YmRlOWI5YzYwYWMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9zZXRsaWtlLTJ0eXBlcy5qc29uCisrKyAv
ZGV2L251bGwKQEAgLTEsNCArMCwwIEBACi17Ci0gICAgIm1lc3NhZ2UiOiAiR290IGFuIGVycm9y
IGR1cmluZyBvciByaWdodCBhZnRlciBwYXJzaW5nIGBpbnRlcmZhY2UgU2V0TGlrZVR3b1R5cGVz
YDogVW50ZXJtaW5hdGVkIHNldGxpa2UgZGVjbGFyYXRpb24iLAotICAgICJsaW5lIjogMgotfQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9zZXR0ZXItY3JlYXRvci5qc29uIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L2ludmFsaWQvanNvbi9zZXR0ZXItY3JlYXRvci5qc29uCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAyNWRlY2IzNzRlMTJmZTI3ZjA1OTc5ZTQwZDdmMzA2NDczOTViZTE2
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC9pbnZhbGlkL2pzb24vc2V0dGVyLWNyZWF0b3IuanNvbgorKysgL2Rldi9udWxsCkBAIC0xLDQg
KzAsMCBAQAotewotICAgICJtZXNzYWdlIjogIkdvdCBhbiBlcnJvciBkdXJpbmcgb3IgcmlnaHQg
YWZ0ZXIgcGFyc2luZyBgaW50ZXJmYWNlIE9yZGVyZWRNYXBgOiBJbnZhbGlkIG9wZXJhdGlvbiIs
Ci0gICAgImxpbmUiOiAzCi19CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL3Nw
YWNlZC1uZWdhdGl2ZS1pbmZpbml0eS5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9zcGFj
ZWQtbmVnYXRpdmUtaW5maW5pdHkuanNvbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
OWU1ZDYxODA0OTkwYmI4YTk5ZTFjODYzYjJjNzNiYjhlYjVlZTE0Mi4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL3Nw
YWNlZC1uZWdhdGl2ZS1pbmZpbml0eS5qc29uCisrKyAvZGV2L251bGwKQEAgLTEsNCArMCwwIEBA
Ci17Ci0gICAgIm1lc3NhZ2UiOiAiR290IGFuIGVycm9yIGR1cmluZyBvciByaWdodCBhZnRlciBw
YXJzaW5nIGBpbnRlcmZhY2UgWGA6IE5vIHZhbHVlIGZvciBjb25zdCIsCi0gICAgImxpbmUiOiAy
Ci19CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL3NwYWNlZC12YXJpYWRpYy5q
c29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9zcGFjZWQtdmFyaWFkaWMuanNvbgpkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDA5MGFiZWViNzFiMjMxNDhhNWQ5Y2NkMmEzYmZmOTI3
Nzc0ZWQ1ZC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3QvaW52YWxpZC9qc29uL3NwYWNlZC12YXJpYWRpYy5qc29uCisrKyAvZGV2L251bGwK
QEAgLTEsNCArMCwwIEBACi17Ci0gICAgIm1lc3NhZ2UiOiAiR290IGFuIGVycm9yIGR1cmluZyBv
ciByaWdodCBhZnRlciBwYXJzaW5nIGBpbnRlcmZhY2UgWGA6IFVudGVybWluYXRlZCBvcGVyYXRp
b24iLAotICAgICJsaW5lIjogMgotfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNv
bi9zcGVjaWFsLW9taXR0YWJsZS5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9zcGVjaWFs
LW9taXR0YWJsZS5qc29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjMjBiMjhlMDNj
MTdkNmRmMjllMmNhMWI3ZWU5NDhmNTc5ZmYzZjI3Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vc3BlY2lhbC1vbWl0
dGFibGUuanNvbgorKysgL2Rldi9udWxsCkBAIC0xLDQgKzAsMCBAQAotewotICAgICJtZXNzYWdl
IjogICJHb3QgYW4gZXJyb3IgZHVyaW5nIG9yIHJpZ2h0IGFmdGVyIHBhcnNpbmcgYGludGVyZmFj
ZSBEaWN0aW9uYXJ5YDogSW52YWxpZCBvcGVyYXRpb24iCi0sICAgImxpbmUiOiAgICAgNgotfQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9zdHJheS1zbGFzaC5qc29uIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L2ludmFsaWQvanNvbi9zdHJheS1zbGFzaC5qc29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCA5YzA3MWNkZDA3YTdhMzllZDE4NTkyZTgyMTAwZDhkNTAwNjVhMDMwLi4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZh
bGlkL2pzb24vc3RyYXktc2xhc2guanNvbgorKysgL2Rldi9udWxsCkBAIC0xLDQgKzAsMCBAQAot
ewotICAgICJtZXNzYWdlIjogICJHb3QgYW4gZXJyb3IgYmVmb3JlIHBhcnNpbmcgYW55IG5hbWVk
IGRlZmluaXRpb246IFVucmVjb2duaXNlZCB0b2tlbnMiCi0sICAgImxpbmUiOiAgICAgMgotfQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9zdHJpbmdjb25zdGFudHMuanNvbiBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vc3RyaW5nY29uc3RhbnRzLmpzb24KZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDc0NWQ2ZTZlMDhiYTIyMzgwMDJkMjdiYjViYzRhN2UwYzZjMDFi
ZmEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L2ludmFsaWQvanNvbi9zdHJpbmdjb25zdGFudHMuanNvbgorKysgL2Rldi9udWxsCkBAIC0x
LDQgKzAsMCBAQAotewotICAgICJtZXNzYWdlIjogICJHb3QgYW4gZXJyb3IgZHVyaW5nIG9yIHJp
Z2h0IGFmdGVyIHBhcnNpbmcgYGludGVyZmFjZSBVdGlsYDogTm8gdHlwZSBmb3IgY29uc3QiCi0s
ICAgImxpbmUiOiAgICAgMgotfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi90
eXBlZGVmLW5lc3RlZC5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi90eXBlZGVmLW5lc3Rl
ZC5qc29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlMTg0M2NlYzdkOTNlNGY3ZGY1
ODg3MjRhNGZlMzk4NWVjNTNjNDhiLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vdHlwZWRlZi1uZXN0ZWQuanNvbgor
KysgL2Rldi9udWxsCkBAIC0xLDQgKzAsMCBAQAotewotICAgICJtZXNzYWdlIjogICJHb3QgYW4g
ZXJyb3IgZHVyaW5nIG9yIHJpZ2h0IGFmdGVyIHBhcnNpbmcgYGludGVyZmFjZSBXaWRnZXRgOiBN
aXNzaW5nIHJldHVybiB0eXBlIgotLCAgICJsaW5lIjogICAgIDE0Ci19CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3QvaW52YWxpZC9qc29uL3VuaW9uLWRhbmdsaW5nLW9yLmpzb24gYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
aW52YWxpZC9qc29uL3VuaW9uLWRhbmdsaW5nLW9yLmpzb24KZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDY4ZGZkOGIyYWU2MDk4NmIxNWFiMDZiNGJkOTBjM2E5YTFmNjRkNWIuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFs
aWQvanNvbi91bmlvbi1kYW5nbGluZy1vci5qc29uCisrKyAvZGV2L251bGwKQEAgLTEsNCArMCww
IEBACi17Ci0gICAgIm1lc3NhZ2UiOiAiR290IGFuIGVycm9yIGJlZm9yZSBwYXJzaW5nIGFueSBu
YW1lZCBkZWZpbml0aW9uOiBObyB0eXBlIGFmdGVyIG9wZW4gcGFyZW50aGVzaXMgb3IgJ29yJyBp
biB1bmlvbiB0eXBlIiwKLSAgICAibGluZSI6IDEKLX0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9p
bnZhbGlkL2pzb24vdW5pb24tb25lLmpzb24gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL3VuaW9u
LW9uZS5qc29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0NzY0MDNkNjg4OWJlNzc1
NGZmN2QyZmE2NWVkYmUzMWI0YmI0ZWExLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vdW5pb24tb25lLmpzb24KKysr
IC9kZXYvbnVsbApAQCAtMSw0ICswLDAgQEAKLXsKLSAgICAibWVzc2FnZSI6ICJHb3QgYW4gZXJy
b3IgYmVmb3JlIHBhcnNpbmcgYW55IG5hbWVkIGRlZmluaXRpb246IEF0IGxlYXN0IHR3byB0eXBl
cyBhcmUgZXhwZWN0ZWQgaW4gYSB1bmlvbiB0eXBlIGJ1dCBmb3VuZCBsZXNzIiwKLSAgICAibGlu
ZSI6IDEKLX0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vdW5pb24temVyby5q
c29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi91bmlvbi16ZXJvLmpzb24KZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDY4ZGZkOGIyYWU2MDk4NmIxNWFiMDZiNGJkOTBjM2E5YTFmNjRk
NWIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L2ludmFsaWQvanNvbi91bmlvbi16ZXJvLmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSw0ICsw
LDAgQEAKLXsKLSAgICAibWVzc2FnZSI6ICJHb3QgYW4gZXJyb3IgYmVmb3JlIHBhcnNpbmcgYW55
IG5hbWVkIGRlZmluaXRpb246IE5vIHR5cGUgYWZ0ZXIgb3BlbiBwYXJlbnRoZXNpcyBvciAnb3In
IGluIHVuaW9uIHR5cGUiLAotICAgICJsaW5lIjogMQotfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L2ludmFsaWQvanNvbi91bmtub3duLWdlbmVyaWMuanNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pz
b24vdW5rbm93bi1nZW5lcmljLmpzb24KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDM3
MDNkYjNiMmFiMzMyYmIxNzU0ZTAxZjBlOGRiZTAxMmEzZjk5ZDcuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi91bmtu
b3duLWdlbmVyaWMuanNvbgorKysgL2Rldi9udWxsCkBAIC0xLDQgKzAsMCBAQAotewotICAgICJt
ZXNzYWdlIjogIkdvdCBhbiBlcnJvciBkdXJpbmcgb3IgcmlnaHQgYWZ0ZXIgcGFyc2luZyBgaW50
ZXJmYWNlIEZldGNoRXZlbnRgOiBVbnN1cHBvcnRlZCBnZW5lcmljIHR5cGUgUmVzcG9uc2VQcm9t
aXNlIiwKLSAgICAibGluZSI6IDIKLX0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pz
b24vdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL3czYy1pbXBvcnQubG9n
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzMDE4MWJmNjE1NzVjOGM5MjU5Y2RkMTcx
MTFmNWY3YzU5N2Q5OTJhLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vdzNjLWltcG9ydC5sb2cKKysrIC9kZXYvbnVs
bApAQCAtMSw1NiArMCwwIEBACi1UaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBv
cnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KLURvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMg
ZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRo
ZSBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0
Ci0KLVRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0
IHRvIHJlaW1wb3J0Ci0KLURvIE5PVCBtb2RpZnkgb3IgcmVtb3ZlIHRoaXMgZmlsZS4KLQotLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tCi1Qcm9wZXJ0aWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6Ci1Ob25l
Ci1Qcm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKLU5vbmUKLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLQotTGlzdCBvZiBmaWxlczoKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL2FycmF5
Lmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL2NhbGxlci5qc29uCi0vTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2lu
dmFsaWQvanNvbi9kaWN0LXJlcXVpcmVkLWRlZmF1bHQuanNvbgotL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlk
L2pzb24vZHVwbGljYXRlLmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL2VudW0tZW1wdHku
anNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vZW51bS13by1jb21tYS5qc29uCi0vTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L2ludmFsaWQvanNvbi9lbnVtLmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL2V4Y2Vw
dGlvbi5qc29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9leHRhdHRyLWVtcHR5LWlkcy5qc29u
Ci0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9pZC11bmRlcnNjb3JlZC1udW1iZXIuanNvbgotL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC9pbnZhbGlkL2pzb24vaW1wbGVtZW50c19hbmRfaW5jbHVkZXNfd3MuanNvbgotL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC9pbnZhbGlkL2pzb24vaXRlcmF0b3IuanNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pz
b24vbWFwbGlrZS0xdHlwZS5qc29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9tb2R1bGUuanNv
bgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vbmFtZXNwYWNlLXJlYWR3cml0ZS5qc29uCi0vTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L2ludmFsaWQvanNvbi9uby1zZW1pY29sb24tY2FsbGJhY2suanNvbgotL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC9pbnZhbGlkL2pzb24vbm8tc2VtaWNvbG9uLmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29u
L25vbm51bGxhYmxlYW55Lmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL25vbm51bGxhYmxl
b2JqZWN0cy5qc29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9wcm9taXNlLW51bGxhYmxlLmpz
b24KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL3Byb21pc2Utd2l0aC1leHRlbmRlZC1hdHRyaWJ1
dGUuanNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vcmFpc2VzLmpzb24KLS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
aW52YWxpZC9qc29uL3JlYWRvbmx5LWl0ZXJhYmxlLmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9q
c29uL3JlY29yZC1rZXktd2l0aC1leHRlbmRlZC1hdHRyaWJ1dGUuanNvbgotL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9p
bnZhbGlkL2pzb24vcmVjb3JkLWtleS5qc29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9yZWNv
cmQtc2luZ2xlLmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL3Njb3BlZG5hbWUuanNvbgot
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vc2VxdWVuY2VBc0F0dHJpYnV0ZS5qc29uCi0vTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L2ludmFsaWQvanNvbi9zZXRsaWtlLTJ0eXBlcy5qc29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQv
anNvbi9zZXR0ZXItY3JlYXRvci5qc29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9zcGFjZWQt
bmVnYXRpdmUtaW5maW5pdHkuanNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vc3BhY2VkLXZh
cmlhZGljLmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL3NwZWNpYWwtb21pdHRhYmxlLmpz
b24KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL3N0cmF5LXNsYXNoLmpzb24KLS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
aW52YWxpZC9qc29uL3N0cmluZ2NvbnN0YW50cy5qc29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNv
bi90eXBlZGVmLW5lc3RlZC5qc29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi91bmlvbi1kYW5n
bGluZy1vci5qc29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi91bmlvbi1vbmUuanNvbgotL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC9pbnZhbGlkL2pzb24vdW5pb24temVyby5qc29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQv
anNvbi91bmtub3duLWdlbmVyaWMuanNvbgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L21vY2hhLm9w
dHMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3QvbW9jaGEub3B0cwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
NWFkYTQ3YmUxNmJmNDc1NzJjODM2MzUyZDA4NDIwY2ZkYWM5NTRkMy4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvbW9jaGEub3B0cworKysg
L2Rldi9udWxsCkBAIC0xICswLDAgQEAKLS0tcmVwb3J0ZXIgc3BlYwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L3N5bnRheC5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXguanMKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDA1ZDY0N2VkYTEwMzk0NWIwNjMzYmVmMGI1M2VlNzg5MjY4MTY1ZDMuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5
bnRheC5qcworKysgL2Rldi9udWxsCkBAIC0xLDE5ICswLDAgQEAKLSJ1c2Ugc3RyaWN0IjsKLQot
Y29uc3QgeyBjb2xsZWN0IH0gPSByZXF1aXJlKCIuL3V0aWwvY29sbGVjdCIpOwotY29uc3QgZXhw
ZWN0ID0gcmVxdWlyZSgiZXhwZWN0Iik7Ci1jb25zdCBkZWJ1ZyA9IHRydWU7Ci0KLWRlc2NyaWJl
KCJQYXJzZXMgYWxsIG9mIHRoZSBJRExzIHRvIHByb2R1Y2UgdGhlIGNvcnJlY3QgQVNUcyIsICgp
ID0+IHsKLSAgZm9yIChjb25zdCB0ZXN0IG9mIGNvbGxlY3QoInN5bnRheCIpKSB7Ci0gICAgaXQo
YHNob3VsZCBwcm9kdWNlIHRoZSBzYW1lIEFTVCBmb3IgJHt0ZXN0LnBhdGh9YCwgKCkgPT4gewot
ICAgICAgdHJ5IHsKLSAgICAgICAgZXhwZWN0KHRlc3QuZGlmZigpKS50b0JlRmFsc3koKTsKLSAg
ICAgIH0KLSAgICAgIGNhdGNoIChlKSB7Ci0gICAgICAgIGNvbnNvbGUubG9nKGUudG9TdHJpbmco
KSk7Ci0gICAgICAgIHRocm93IGU7Ci0gICAgICB9Ci0gICAgfSk7Ci0gIH0KLX0pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvYWxsb3dhbnkud2lkbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50
YXgvaWRsL2FsbG93YW55LndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDIzNDNi
Yjk2Mzc0Zjk4NjE3MmI4MDBmZmNjNDQzYjI5NTlhMGNkYTUuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvYWxsb3dhbnku
d2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDYgKzAsMCBAQAotLy8gRXh0cmFjdGVkIGZyb20gaHR0
cDovL2Rldi53My5vcmcvMjAwNi93ZWJhcGkvV2ViSURMLyBvbiAyMDExLTA1LTA2Ci1pbnRlcmZh
Y2UgQiB7Ci0gIHZvaWQgZygpOwotICB2b2lkIGcoQiBiKTsKLSAgdm9pZCBnKFtBbGxvd0FueV0g
RE9NU3RyaW5nIHMpOwotfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9hdHRyaWJ1dGVzLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4
L2lkbC9hdHRyaWJ1dGVzLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGY2NjVj
MWZjNDcyNzZmNzAwZGFiYWI3MWY4NjljMGIwZWFkMjgxNjMuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvYXR0cmlidXRl
cy53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsMTEgKzAsMCBAQAotLy8gRXh0cmFjdGVkIGZyb20g
aHR0cDovL2Rldi53My5vcmcvMjAwNi93ZWJhcGkvV2ViSURMLyBvbiAyMDExLTA1LTA2Ci0KLWlu
dGVyZmFjZSBQZXJzb24gewotCi0gIC8vIEEgc2ltcGxlIGF0dHJpYnV0ZSB0aGF0IGNhbiBiZSBz
ZXQgdG8gYW55IHZhbHVlIHRoZSByYW5nZSBhbiB1bnNpZ25lZAotICAvLyBzaG9ydCBjYW4gdGFr
ZS4KLSAgYXR0cmlidXRlIHVuc2lnbmVkIHNob3J0IGFnZTsKLQotICAvLyByZXF1aXJlZCBpcyBh
biBhbGxvd2VkIGF0dHJpYnV0ZSBuYW1lCi0gIGF0dHJpYnV0ZSBhbnkgcmVxdWlyZWQ7Ci19Owpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvY2FsbGJhY2sud2lkbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC9zeW50YXgvaWRsL2NhbGxiYWNrLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IGFkYWY3NWUwNDljOWNiZWRkN2Y5YjljNTAzMDYyMTY3NjdlZTg4ZGIuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvY2Fs
bGJhY2sud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDcgKzAsMCBAQAotY2FsbGJhY2sgQXN5bmNP
cGVyYXRpb25DYWxsYmFjayA9IHZvaWQgKERPTVN0cmluZyBzdGF0dXMpOwotCi1jYWxsYmFjayBp
bnRlcmZhY2UgRXZlbnRIYW5kbGVyIHsKLSAgdm9pZCBldmVudE9jY3VycmVkKERPTVN0cmluZyBk
ZXRhaWxzKTsKLX07Ci0KLWNhbGxiYWNrIFNvcnRDYWxsYmFjayA9IGJvb2xlYW4gKGFueSBhLCBh
bnkgYik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9jb25zdGFudHMud2lkbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC9zeW50YXgvaWRsL2NvbnN0YW50cy53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwNDNiMDIyYjY0NjJlZWQ2MDBjOGE5Y2VhYjg3ZDFlYmFlZjVlYTE4Li4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50
YXgvaWRsL2NvbnN0YW50cy53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsMTEgKzAsMCBAQAotLy8g
RXh0cmFjdGVkIGZyb20gaHR0cDovL2Rldi53My5vcmcvMjAwNi93ZWJhcGkvV2ViSURMLyBvbiAy
MDExLTA1LTA2Ci1pbnRlcmZhY2UgVXRpbCB7Ci0gIGNvbnN0IGJvb2xlYW4gREVCVUcgPSBmYWxz
ZTsKLSAgY29uc3Qgc2hvcnQgbmVnYXRpdmUgPSAtMTsKLSAgY29uc3Qgb2N0ZXQgTEYgPSAxMDsK
LSAgY29uc3QgdW5zaWduZWQgbG9uZyBCSVRfTUFTSyA9IDB4MDAwMGZjMDA7Ci0gIGNvbnN0IGZs
b2F0IEFWT0dBRFJPID0gNi4wMjJlMjM7Ci0gIGNvbnN0IHVucmVzdHJpY3RlZCBmbG9hdCBzb2Jp
ZyA9IEluZmluaXR5OwotICBjb25zdCB1bnJlc3RyaWN0ZWQgZG91YmxlIG1pbnVzb25lZGl2aWRl
ZGJ5emVybyA9IC1JbmZpbml0eTsKLSAgY29uc3Qgc2hvcnQgbm90YW51bWJlciA9IE5hTjsKLX07
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRh
eC9pZGwvY29uc3RydWN0b3Iud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL2NvbnN0cnVjdG9y
LndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGY5M2VjMDhhNmU2ZjgxYmRhMDk0
NjFmYjY0OTEyMDRmYzlkODRmMGYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvY29uc3RydWN0b3Iud2lkbAorKysgL2Rl
di9udWxsCkBAIC0xLDkgKzAsMCBAQAotLy8gRXh0cmFjdGVkIGZyb20gaHR0cDovL2Rldi53My5v
cmcvMjAwNi93ZWJhcGkvV2ViSURMLyBvbiAyMDExLTA1LTA2Ci1bQ29uc3RydWN0b3IsCi0gQ29u
c3RydWN0b3IoZmxvYXQgcmFkaXVzKV0KLWludGVyZmFjZSBDaXJjbGUgewotICBhdHRyaWJ1dGUg
ZmxvYXQgcjsKLSAgYXR0cmlidXRlIGZsb2F0IGN4OwotICBhdHRyaWJ1dGUgZmxvYXQgY3k7Ci0g
IHJlYWRvbmx5IGF0dHJpYnV0ZSBmbG9hdCBjaXJjdW1mZXJlbmNlOwotfTsKXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9kaWN0aW9u
YXJ5LWluaGVyaXRzLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9kaWN0aW9uYXJ5LWluaGVy
aXRzLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ4ZjhhMGZkY2ViNmMyNGIy
ZGZkZmJkMmM1MzQzOWU2NTA1NGFhN2YuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvZGljdGlvbmFyeS1pbmhlcml0cy53
aWRsCisrKyAvZGV2L251bGwKQEAgLTEsOSArMCwwIEBACi1kaWN0aW9uYXJ5IFBhaW50T3B0aW9u
cyB7Ci0gIERPTVN0cmluZz8gZmlsbFBhdHRlcm4gPSAiYmxhY2siOwotICBET01TdHJpbmc/IHN0
cm9rZVBhdHRlcm4gPSBudWxsOwotICBQb2ludCBwb3NpdGlvbjsKLX07Ci0KLWRpY3Rpb25hcnkg
V2V0UGFpbnRPcHRpb25zIDogUGFpbnRPcHRpb25zIHsKLSAgZmxvYXQgaHlkcm9tZXRyeTsKLX07
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRh
eC9pZGwvZGljdGlvbmFyeS53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvZGljdGlvbmFyeS53
aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjNjRhMTRjODU5MDk4Nzg2ZDEwZmQz
MjcwY2Y2NmU1YzRlZjhiMDIwLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL2RpY3Rpb25hcnkud2lkbAorKysgL2Rldi9u
dWxsCkBAIC0xLDE1ICswLDAgQEAKLS8vIEV4dHJhY3RlZCBmcm9tIFdlYiBJREwgZWRpdG9ycyBk
cmFmdCBNYXkgMzEgMjAxMQotZGljdGlvbmFyeSBQYWludE9wdGlvbnMgewotICBET01TdHJpbmc/
IGZpbGxQYXR0ZXJuID0gImJsYWNrIjsKLSAgRE9NU3RyaW5nPyBzdHJva2VQYXR0ZXJuID0gbnVs
bDsKLSAgUG9pbnQgcG9zaXRpb247Ci0gIC8vIGh0dHBzOi8vaGV5Y2FtLmdpdGh1Yi5pby93ZWJp
ZGwvI2Rmbi1vcHRpb25hbC1hcmd1bWVudC1kZWZhdWx0LXZhbHVlIGFsbG93cyBzZXF1ZW5jZXMg
dG8gZGVmYXVsdCB0byAiW10iLgotICBzZXF1ZW5jZTxsb25nPiBzZXEgPSBbXTsKLSAgLy8gaHR0
cHM6Ly9oZXljYW0uZ2l0aHViLmlvL3dlYmlkbC8jcmVxdWlyZWQtZGljdGlvbmFyeS1tZW1iZXIK
LSAgcmVxdWlyZWQgbG9uZyByZXFTZXE7Ci19OwotCi1wYXJ0aWFsIGRpY3Rpb25hcnkgQSB7Ci0g
IGxvbmcgaDsKLSAgbG9uZyBkOwotfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9kb2N1bWVudGF0aW9uLWRvcy53aWRsIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L3N5bnRheC9pZGwvZG9jdW1lbnRhdGlvbi1kb3Mud2lkbApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggZmI4MDExMDFmMTQ5MTBkMjZkMzJkYzg4YTU3OTM4N2FjNGM1MDU2MC4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
c3ludGF4L2lkbC9kb2N1bWVudGF0aW9uLWRvcy53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsMzMg
KzAsMCBAQAotLyoqDQotKiBcYnJpZWYgVGVzdGluZyBkb2N1bWVudGF0aW9uIGZlYXR1cmVzDQot
Kg0KLSogVGhpcyBpcyBhDQotKiBzaW5nbGUgcGFyYWdyYXBoDQotKg0KLSogPHA+VGhpcyBpcyB2
YWxpZC48L3A+DQotKiA8cD5UaGlzIGlzIDxlbT52YWxpZDwvZW0+LjwvcD4NCi0qIDxwPlRoaXMg
aXMgPGI+dmFsaWQ8L2I+LjwvcD4NCi0qIDxwPlRoaXMgaXMgPGEgaHJlZj0nJz52YWxpZDwvYT4u
PC9wPg0KLSogPHVsPg0KLSogPGxpPlRoaXM8L2xpPg0KLSogPGxpPmlzPC9saT4NCi0qIDxsaT52
YWxpZDwvbGk+DQotKiA8L3VsPg0KLSogPGRsPg0KLSogPGR0PlRoaXM8L2R0Pg0KLSogPGRkPnZh
bGlkPC9kZD4NCi0qIDwvZGw+DQotKiA8dGFibGU+DQotKiA8dHI+DQotKiA8dGQ+dGhpczwvdGQ+
DQotKiA8dGQ+aXM8L3RkPg0KLSogPC90cj4NCi0qIDx0cj4NCi0qIDx0ZD52YWxpZDwvdGQ+DQot
KiA8L3RyPg0KLSogPC90YWJsZT4NCi0qIDxwPlRoaXMgaXMgPGJyPiB2YWxpZC48L3A+DQotKiA8
cD5UaGlzIGlzIDxiciAvPiB2YWxpZC48L3A+DQotKiA8cD5UaGlzIGlzIDxici8+IHZhbGlkLjwv
cD4NCi0qLw0KLWludGVyZmFjZSBEb2N1bWVudGF0aW9uIHt9OwpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL2RvY3VtZW50YXRpb24u
d2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL2RvY3VtZW50YXRpb24ud2lkbApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAzZTkyMjZmNjcyYzIyMjEzNzM3MjE3ZTY5MzU0ZmRjY2Iw
NTM4ZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvc3ludGF4L2lkbC9kb2N1bWVudGF0aW9uLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSwz
NCArMCwwIEBACi0vKioKLSogXGJyaWVmIFRlc3RpbmcgZG9jdW1lbnRhdGlvbiBmZWF0dXJlcwot
KgotKiBUaGlzIGlzIGEKLSogc2luZ2xlIHBhcmFncmFwaAotKgotKiA8cD5UaGlzIGlzIHZhbGlk
LjwvcD4KLSogPHA+VGhpcyBpcyA8ZW0+dmFsaWQ8L2VtPi48L3A+Ci0qIDxwPlRoaXMgaXMgPGI+
dmFsaWQ8L2I+LjwvcD4KLSogPHA+VGhpcyBpcyA8YSBocmVmPScnPnZhbGlkPC9hPi48L3A+Ci0q
IDx1bD4KLSogPGxpPlRoaXM8L2xpPgotKiA8bGk+aXM8L2xpPgotKiA8bGk+dmFsaWQ8L2xpPgot
KiA8L3VsPgotKiA8ZGw+Ci0qIDxkdD5UaGlzPC9kdD4KLSogPGRkPnZhbGlkPC9kZD4KLSogPC9k
bD4KLSogPHRhYmxlPgotKiA8dHI+Ci0qIDx0ZD50aGlzPC90ZD4KLSogPHRkPmlzPC90ZD4KLSog
PC90cj4KLSogPHRyPgotKiA8dGQ+dmFsaWQ8L3RkPgotKiA8L3RyPgotKiA8L3RhYmxlPgotKiA8
cD5UaGlzIGlzIDxicj4gdmFsaWQuPC9wPgotKiA8cD5UaGlzIGlzIDxiciAvPiB2YWxpZC48L3A+
Ci0qIDxwPlRoaXMgaXMgPGJyLz4gdmFsaWQuPC9wPgotKiA8cD48aW1nIHNyYz0iZm9vLnBuZyIg
YWx0PSJWYWxpZCIvPjwvcD4KLSovCi1pbnRlcmZhY2UgRG9jdW1lbnRhdGlvbiB7fTsKXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9l
bnVtLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9lbnVtLndpZGwKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDM3YzRmZmRkZWUzMWI2Mzg3NjM2ZDA0Y2E4MjZhMGYyNjNmYTk4OWEu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3N5bnRheC9pZGwvZW51bS53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsMTAgKzAsMCBAQAotZW51
bSBNZWFsVHlwZSB7ICJyaWNlIiwgIm5vb2RsZXMiLCAib3RoZXIiIH07Ci0KLWludGVyZmFjZSBN
ZWFsIHsKLSAgYXR0cmlidXRlIE1lYWxUeXBlIHR5cGU7Ci0gIGF0dHJpYnV0ZSBmbG9hdCBzaXpl
OyAgICAgLy8gaW4gZ3JhbXMKLQotICB2b2lkIGluaXRpYWxpemUoTWVhbFR5cGUgdHlwZSwgZmxv
YXQgc2l6ZSk7Ci19OwotCi1lbnVtIEFsdE1lYWxUeXBlIHsgInJpY2UiLCAibm9vZGxlcyIsICJv
dGhlciIsIH07ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3N5bnRheC9pZGwvZXF1aXZhbGVudC1kZWNsLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lk
bC9lcXVpdmFsZW50LWRlY2wud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmZm
ZWIzYzIwYTFhNDcyMDljZWIyZWMyNDQxZjYyYmUzZjU1MzE1OC4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9lcXVpdmFs
ZW50LWRlY2wud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDE4ICswLDAgQEAKLS8vIEV4dHJhY3Rl
ZCBmcm9tIGh0dHA6Ly9kZXYudzMub3JnLzIwMDYvd2ViYXBpL1dlYklETC8gb24gMjAxMS0wNS0w
NgotaW50ZXJmYWNlIERpY3Rpb25hcnkgewotICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQg
bG9uZyBwcm9wZXJ0eUNvdW50OwotCi0gIGdldHRlciBmbG9hdCBnZXRQcm9wZXJ0eShET01TdHJp
bmcgcHJvcGVydHlOYW1lKTsKLSAgc2V0dGVyIHZvaWQgc2V0UHJvcGVydHkoRE9NU3RyaW5nIHBy
b3BlcnR5TmFtZSwgZmxvYXQgcHJvcGVydHlWYWx1ZSk7Ci19OwotCi0KLWludGVyZmFjZSBEaWN0
aW9uYXJ5MiB7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIHByb3BlcnR5Q291
bnQ7Ci0KLSAgZmxvYXQgZ2V0UHJvcGVydHkoRE9NU3RyaW5nIHByb3BlcnR5TmFtZSk7Ci0gIHZv
aWQgc2V0UHJvcGVydHkoRE9NU3RyaW5nIHByb3BlcnR5TmFtZSwgZmxvYXQgcHJvcGVydHlWYWx1
ZSk7Ci0KLSAgZ2V0dGVyIGZsb2F0IChET01TdHJpbmcgcHJvcGVydHlOYW1lKTsKLSAgc2V0dGVy
IHZvaWQgKERPTVN0cmluZyBwcm9wZXJ0eU5hbWUsIGZsb2F0IHByb3BlcnR5VmFsdWUpOwotfTsK
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4
L2lkbC9leHRlbmRlZC1hdHRyaWJ1dGVzLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9leHRl
bmRlZC1hdHRyaWJ1dGVzLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDU3ZDRm
OTdkZTdjMzE3NmI2NWUzZGEyYWE3ZWQ1M2QzZGI3ODlmZDkuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvZXh0ZW5kZWQt
YXR0cmlidXRlcy53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsMjkgKzAsMCBAQAotLy8gRXh0cmFj
dGVkIGZyb20gaHR0cDovL3d3dy53My5vcmcvVFIvMjAxNS9XRC1zZXJ2aWNlLXdvcmtlcnMtMjAx
NTAyMDUvCi0KLVtHbG9iYWw9KFdvcmtlcixTZXJ2aWNlV29ya2VyKSwgRXhwb3NlZD1TZXJ2aWNl
V29ya2VyXQotaW50ZXJmYWNlIFNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZSA6IFdvcmtlckdsb2Jh
bFNjb3BlIHsKLQotfTsKLQotLy8gQ29uZm9ybWFuY2Ugd2l0aCBFeHRlbmRlZEF0dHJpYnV0ZUxp
c3QgZ3JhbW1hciBpbiBodHRwOi8vd3d3LnczLm9yZy9UUi9XZWJJREwvI2lkbC1leHRlbmRlZC1h
dHRyaWJ1dGVzCi0vLyBTZWN0aW9uIDMuMTEKLVtJbnRBdHRyPTAsIEZsb2F0QXR0cj0zLjE0LCBT
dHJpbmdBdHRyPSJhYmMiXQotaW50ZXJmYWNlIElkSW50ZXJmYWNlIHt9OwotCi0vLyBFeHRyYWN0
ZWQgZnJvbSBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDE2L1JFQy1XZWJJREwtMS0yMDE2MTIxNS8j
Q29uc3RydWN0b3Igb24gMjAxNy01LTE4IHdpdGggd2hpdGVzcGFjZSBkaWZmZXJlbmNlcwotWwot
ICBDb25zdHJ1Y3RvciwKLSAgQ29uc3RydWN0b3IoZG91YmxlIHJhZGl1cykKLV0KLWludGVyZmFj
ZSBDaXJjbGUgewotICBhdHRyaWJ1dGUgZG91YmxlIHI7Ci0gIGF0dHJpYnV0ZSBkb3VibGUgY3g7
Ci0gIGF0dHJpYnV0ZSBkb3VibGUgY3k7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSBkb3VibGUgY2ly
Y3VtZmVyZW5jZTsKLX07Ci0KLS8vIEV4dHJhY3RlZCBmcm9tIGh0dHBzOi8vaGV5Y2FtLmdpdGh1
Yi5pby93ZWJpZGwvI2lkbC1hbm5vdGF0ZWQtdHlwZXMgb24gMjAxNy0xMi0xNQotW0V4cG9zZWQ9
V2luZG93XQotaW50ZXJmYWNlIEkgewotICAgIGF0dHJpYnV0ZSBbWEF0dHJdIChsb25nIG9yIE5v
ZGUpIGF0dHJpYjsKLX07CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9nZW5lcmlj
LndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9nZW5lcmljLndpZGwKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDY5M2NkMzI0ZTk2Yjg1ZGJiNGZmMjVkMmM5ZDhkZDFlZGJmNDk1YjMu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3N5bnRheC9pZGwvZ2VuZXJpYy53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsMTcgKzAsMCBAQAot
aW50ZXJmYWNlIEZvbyB7Ci0gIFByb21pc2U8UHJvbWlzZTxzZXF1ZW5jZTxET01TdHJpbmc/Pj4+
IGJhcigpOwotICByZWFkb25seSBhdHRyaWJ1dGUgUHJvbWlzZTxET01TdHJpbmc+IGJhejsKLX07
Ci0KLS8vIEV4dHJhY3RlZCBmcm9tIGh0dHBzOi8vc2xpZ2h0bHlvZmYuZ2l0aHViLmlvL1NlcnZp
Y2VXb3JrZXIvc3BlYy9zZXJ2aWNlX3dvcmtlci8gb24gMjAxNC0wNS0wOAotCi1pbnRlcmZhY2Ug
U2VydmljZVdvcmtlckNsaWVudHMgewotICBQcm9taXNlPENsaWVudD8+IGdldFNlcnZpY2VkKCk7
Ci0gIFByb21pc2U8YW55PiByZWxvYWRBbGwoKTsKLX07Ci0KLS8vIEV4dHJhY3RlZCBmcm9tIGh0
dHBzOi8vc2xpZ2h0bHlvZmYuZ2l0aHViLmlvL1NlcnZpY2VXb3JrZXIvc3BlYy9zZXJ2aWNlX3dv
cmtlci8gb24gMjAxNC0wNS0xMwotCi1pbnRlcmZhY2UgRmV0Y2hFdmVudCA6IEV2ZW50IHsKLSAg
UHJvbWlzZTxhbnk+IGRlZmF1bHQoKTsKLX07CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4
L2lkbC9nZXR0ZXItc2V0dGVyLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9nZXR0ZXItc2V0
dGVyLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGJkZjg3ZTFjN2M3MmYyOWM3
MjUzMmIxYmIzYjYwMDM1OTljNjAxODcuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvZ2V0dGVyLXNldHRlci53aWRsCisr
KyAvZGV2L251bGwKQEAgLTEsNyArMCwwIEBACi0vLyBFeHRyYWN0ZWQgZnJvbSBodHRwOi8vZGV2
LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJJREwvIG9uIDIwMTEtMDUtMDYKLWludGVyZmFjZSBEaWN0
aW9uYXJ5IHsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgcHJvcGVydHlDb3Vu
dDsKLQotICBnZXR0ZXIgZmxvYXQgKERPTVN0cmluZyBwcm9wZXJ0eU5hbWUpOwotICBzZXR0ZXIg
dm9pZCAoRE9NU3RyaW5nIHByb3BlcnR5TmFtZSwgZmxvYXQgcHJvcGVydHlWYWx1ZSk7Ci19Owpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgv
aWRsL2lkZW50aWZpZXItcXVhbGlmaWVkLW5hbWVzLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lk
bC9pZGVudGlmaWVyLXF1YWxpZmllZC1uYW1lcy53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCBjMzlmODRiNDVhMzZjY2NkMzYwYTg2MWIxMThjMzcyM2FlYjNlZjJkLi4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgv
aWRsL2lkZW50aWZpZXItcXVhbGlmaWVkLW5hbWVzLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSwz
MyArMCwwIEBACi0vLyBFeHRyYWN0ZWQgZnJvbSBodHRwOi8vZGV2LnczLm9yZy8yMDA2L3dlYmFw
aS9XZWJJREwvIG9uIDIwMTEtMDUtMDYKLSAgLy8gVHlwZWRlZiBpZGVudGlmaWVyOiAibnVtYmVy
IgotICAvLyBRdWFsaWZpZWQgbmFtZTogICAgIjo6ZnJhbWV3b3JrOjpudW1iZXIiCi0gIHR5cGVk
ZWYgZmxvYXQgbnVtYmVyOwotCi0gIC8vIEludGVyZmFjZSBpZGVudGlmaWVyOiAiU3lzdGVtIgot
ICAvLyBRdWFsaWZpZWQgbmFtZTogICAgICAgIjo6ZnJhbWV3b3JrOjpTeXN0ZW0iCi0gIGludGVy
ZmFjZSBTeXN0ZW0gewotCi0gICAgLy8gT3BlcmF0aW9uIGlkZW50aWZpZXI6ICAgICAgICAgICJj
cmVhdGVPYmplY3QiCi0gICAgLy8gT3BlcmF0aW9uIGFyZ3VtZW50IGlkZW50aWZpZXI6ICJpbnRl
cmZhY2UiCi0gICAgb2JqZWN0IGNyZWF0ZU9iamVjdChET01TdHJpbmcgX2ludGVyZmFjZSk7Ci0K
LSAgICAvLyBPcGVyYXRpb24gaGFzIG5vIGlkZW50aWZpZXI7IGl0IGRlY2xhcmVzIGEgZ2V0dGVy
LgotICAgIGdldHRlciBET01TdHJpbmcgKERPTVN0cmluZyBrZXlOYW1lKTsKLSAgfTsKLQotCi0g
ICAgLy8gSW50ZXJmYWNlIGlkZW50aWZpZXI6ICJUZXh0RmllbGQiCi0gICAgLy8gUXVhbGlmaWVk
IG5hbWU6ICAgICAgICI6OmZyYW1ld29yazo6Z3VpOjpUZXh0RmllbGQiCi0gICAgaW50ZXJmYWNl
IFRleHRGaWVsZCB7Ci0KLSAgICAgIC8vIEF0dHJpYnV0ZSBpZGVudGlmaWVyOiAiY29uc3QiCi0g
ICAgICBhdHRyaWJ1dGUgYm9vbGVhbiBfY29uc3Q7Ci0KLSAgICAgIC8vIEF0dHJpYnV0ZSBpZGVu
dGlmaWVyOiAidmFsdWUiCi0gICAgICBhdHRyaWJ1dGUgRE9NU3RyaW5nPyBfdmFsdWU7Ci0gICAg
fTsKLQotaW50ZXJmYWNlIEZvb0V2ZW50VGFyZ2V0IHsKLSAgLy8gQXJndW1lbnQgbmFtZXMgYWxs
b3cgc29tZSBzZWxlY3RlZCBrZXl3b3JkcwotICB2b2lkIGFkZEV2ZW50TGlzdGVuZXIoRXZlbnRM
aXN0ZW5lcj8gY2FsbGJhY2spOwotfTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRs
L2ltcGxlbWVudHMud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL2ltcGxlbWVudHMud2lkbApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggN2EzMTA5MjZmMWM4ZDQ0MWQ3NThhZjA2YTgx
ZTBkYWZhMDFiZjU5Mi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9pbXBsZW1lbnRzLndpZGwKKysrIC9kZXYvbnVsbApA
QCAtMSwxNCArMCwwIEBACi0vLyBFeHRyYWN0ZWQgZnJvbSBodHRwOi8vZGV2LnczLm9yZy8yMDA2
L3dlYmFwaS9XZWJJREwvIG9uIDIwMTEtMDUtMDYKLSAgaW50ZXJmYWNlIE5vZGUgewotICAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBzaG9ydCBub2RlVHlwZTsKLSAgICAvLyAuLi4KLSAg
fTsKLQotICBpbnRlcmZhY2UgRXZlbnRUYXJnZXQgewotICAgIHZvaWQgYWRkRXZlbnRMaXN0ZW5l
cihET01TdHJpbmcgdHlwZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgRXZlbnRMaXN0ZW5l
ciBsaXN0ZW5lciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbGVhbiB1c2VDYXB0dXJl
KTsKLSAgICAvLyAuLi4KLSAgfTsKLQotICBOb2RlIGltcGxlbWVudHMgRXZlbnRUYXJnZXQ7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9pbmRleGVkLXByb3BlcnRpZXMud2lkbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC9zeW50YXgvaWRsL2luZGV4ZWQtcHJvcGVydGllcy53aWRsCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCA0YjhhYTllMzUzZmFjODljMDVhZDIxZmUwNjViNDU1ZTA0OTI2
OGUzLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC9zeW50YXgvaWRsL2luZGV4ZWQtcHJvcGVydGllcy53aWRsCisrKyAvZGV2L251bGwKQEAg
LTEsMTIgKzAsMCBAQAotLy8gRXh0cmFjdGVkIGZyb20gaHR0cDovL2Rldi53My5vcmcvMjAwNi93
ZWJhcGkvV2ViSURMLyBvbiAyMDExLTA1LTA2Ci1pbnRlcmZhY2UgT3JkZXJlZE1hcCB7Ci0gIHJl
YWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIHNpemU7Ci0KLSAgZ2V0dGVyIGFueSBnZXRC
eUluZGV4KHVuc2lnbmVkIGxvbmcgaW5kZXgpOwotICBzZXR0ZXIgdm9pZCBzZXRCeUluZGV4KHVu
c2lnbmVkIGxvbmcgaW5kZXgsIGFueSB2YWx1ZSk7Ci0gIGRlbGV0ZXIgdm9pZCByZW1vdmVCeUlu
ZGV4KHVuc2lnbmVkIGxvbmcgaW5kZXgpOwotCi0gIGdldHRlciBhbnkgZ2V0KERPTVN0cmluZyBu
YW1lKTsKLSAgc2V0dGVyIHZvaWQgc2V0KERPTVN0cmluZyBuYW1lLCBhbnkgdmFsdWUpOwotICBk
ZWxldGVyIHZvaWQgcmVtb3ZlKERPTVN0cmluZyBuYW1lKTsKLX07CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvc3ludGF4L2lkbC9pbmhlcml0cy1nZXR0ZXIud2lkbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgv
aWRsL2luaGVyaXRzLWdldHRlci53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0
MzViM2FiM2M4Y2Q1ODc3YTFjMDk2NTA0Zjk1M2RkMjg3YThhY2ZjLi4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL2luaGVy
aXRzLWdldHRlci53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsMjIgKzAsMCBAQAotaW50ZXJmYWNl
IEFuaW1hbCB7Ci0KLSAgLy8gQSBzaW1wbGUgYXR0cmlidXRlIHRoYXQgY2FuIGJlIHNldCB0byBh
bnkgc3RyaW5nIHZhbHVlLgotICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIG5hbWU7Ci19
OwotCi1pbnRlcmZhY2UgUGVyc29uIDogQW5pbWFsIHsKLQotICAvLyBBbiBhdHRyaWJ1dGUgd2hv
c2UgdmFsdWUgY2Fubm90IGJlIGFzc2lnbmVkIHRvLgotICByZWFkb25seSBhdHRyaWJ1dGUgdW5z
aWduZWQgc2hvcnQgYWdlOwotCi0gIC8vIEFuIGF0dHJpYnV0ZSB0aGF0IGNhbiByYWlzZSBhbiBl
eGNlcHRpb24gaWYgaXQgaXMgc2V0IHRvIGFuIGludmFsaWQgdmFsdWUuCi0gIC8vIEl0cyBnZXR0
ZXIgYmVoYXZpb3IgaXMgaW5oZXJpdGVkIGZyb20gQW5pbWFsLCBhbmQgbmVlZCBub3QgYmUgc3Bl
Y2lmaWVkCi0gIC8vIHRoZSBkZXNjcmlwdGlvbiBvZiBQZXJzb24uCi0gIGluaGVyaXQgYXR0cmli
dXRlIERPTVN0cmluZyBuYW1lOwotfTsKLQotaW50ZXJmYWNlIEdob3N0IDogUGVyc29uIHsKLQot
ICAvLyBBbiBhdHRyaWJ1dGUgdGhhdCBvbmx5IGluaGVyaXRzIHRoZSBnZXR0ZXIgYmVoYXZpb3IK
LSAgaW5oZXJpdCByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIG5hbWU7Ci19OwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvaW50ZXJmYWNlLWluaGVyaXRzLndpZGwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvc3ludGF4L2lkbC9pbnRlcmZhY2UtaW5oZXJpdHMud2lkbApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggNzkyMWRlZjc3Mjc5ZjcwNDEwYzIyMWI0ZWQxZjIyNWM2YjA5NDI3Ni4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
c3ludGF4L2lkbC9pbnRlcmZhY2UtaW5oZXJpdHMud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDEy
ICswLDAgQEAKLS8vIEV4dHJhY3RlZCBmcm9tIGh0dHA6Ly9kZXYudzMub3JnLzIwMDYvd2ViYXBp
L1dlYklETC8gb24gMjAxMS0wNS0wNgotaW50ZXJmYWNlIEFuaW1hbCB7Ci0gIGF0dHJpYnV0ZSBE
T01TdHJpbmcgbmFtZTsKLX07Ci0KLWludGVyZmFjZSBIdW1hbiA6IEFuaW1hbCB7Ci0gIGF0dHJp
YnV0ZSBEb2cgcGV0OwotfTsKLQotaW50ZXJmYWNlIERvZyA6IEFuaW1hbCB7Ci0gIGF0dHJpYnV0
ZSBIdW1hbiBvd25lcjsKLX07ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvaXRlcmFibGUud2lkbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgv
aWRsL2l0ZXJhYmxlLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDdmNzI2Zjky
NmZkZWNkNzI2MDBjNDNlMzI4ZjFlMGJmYjM2ZjliZTEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvaXRlcmFibGUud2lk
bAorKysgL2Rldi9udWxsCkBAIC0xLDExICswLDAgQEAKLWludGVyZmFjZSBJdGVyYWJsZU9uZSB7
Ci0gIGl0ZXJhYmxlPGxvbmc+OwotfTsKLQotaW50ZXJmYWNlIEl0ZXJhYmxlVHdvIHsKLSAgaXRl
cmFibGU8c2hvcnQsIGRvdWJsZT8+OwotfTsKLQotaW50ZXJmYWNlIEl0ZXJhYmxlVGhyZWUgewot
ICBpdGVyYWJsZTxbWEF0dHJdIGxvbmc+OwotfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9sZWdhY3lpdGVyYWJsZS53aWRsIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3N5bnRheC9pZGwvbGVnYWN5aXRlcmFibGUud2lkbApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggOWUxZTljNTI3NDQ3YTJiYjIwMTNiYWYyOGMzMWQzZmFkZGNhYzZmZi4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
c3ludGF4L2lkbC9sZWdhY3lpdGVyYWJsZS53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsMyArMCww
IEBACi1pbnRlcmZhY2UgTGVnYWN5SXRlcmFibGUgewotICBsZWdhY3lpdGVyYWJsZTxsb25nPjsK
LX07CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9tYXBsaWtlLndpZGwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvc3ludGF4L2lkbC9tYXBsaWtlLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDQzN2UzODFmZWY3NjczZWNhY2M1MjM2MmI1YTMwOTEwYzY4MTU2Y2QuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwv
bWFwbGlrZS53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsMTMgKzAsMCBAQAotaW50ZXJmYWNlIE1h
cExpa2UgewotICBtYXBsaWtlPGxvbmcsIGZsb2F0PjsKLX07Ci0KLWludGVyZmFjZSBSZWFkT25s
eU1hcExpa2UgewotICByZWFkb25seSBtYXBsaWtlPGxvbmcsIGZsb2F0PjsKLX07Ci0KLS8vIEV4
dHJhY3RlZCBmcm9tIGh0dHBzOi8vaGV5Y2FtLmdpdGh1Yi5pby93ZWJpZGwvI2lkbC10eXBlLWV4
dGVuZGVkLWF0dHJpYnV0ZS1hc3NvY2lhdGVkLXdpdGggb24gMjAxNy0wNy0wMQotCi1pbnRlcmZh
Y2UgSSB7Ci0gICAgbWFwbGlrZTxbWEF0dHIyXSBET01TdHJpbmcsIFtYQXR0cjNdIGxvbmc+Owot
fTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL21peGluLndpZGwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvc3ludGF4L2lkbC9taXhpbi53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3
YzM3YTZlZTQyMDdiMzFkZGQyYzQ4ZjllMTcyNTcyMTY3OWU3OWUyLi4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL21peGlu
LndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSwxMiArMCwwIEBACi0vLyBFeHRyYWN0ZWQgZnJvbSBo
dHRwczovL2hleWNhbS5naXRodWIuaW8vd2ViaWRsLyN1c2luZy1taXhpbnMtYW5kLXBhcnRpYWxz
IG9uIDIwMTctMTEtMDIKLQotaW50ZXJmYWNlIG1peGluIEdsb2JhbENyeXB0byB7Ci0gIHJlYWRv
bmx5IGF0dHJpYnV0ZSBDcnlwdG8gY3J5cHRvOwotfTsKLQotV2luZG93IGluY2x1ZGVzIEdsb2Jh
bENyeXB0bzsKLVdvcmtlckdsb2JhbFNjb3BlIGluY2x1ZGVzIEdsb2JhbENyeXB0bzsKLQotcGFy
dGlhbCBpbnRlcmZhY2UgbWl4aW4gV2luZG93T3JXb3JrZXJHbG9iYWxTY29wZSB7Ci0gIHJlYWRv
bmx5IGF0dHJpYnV0ZSBDcnlwdG8gY3J5cHRvOwotfTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9z
eW50YXgvaWRsL25hbWVkY29uc3RydWN0b3Iud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL25h
bWVkY29uc3RydWN0b3Iud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzQ2OGI3
OGY4ZTE4MTQyMzMyNzIyNzM5Y2ZiNGM1NGZmYzdlNDUyMi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9uYW1lZGNvbnN0
cnVjdG9yLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSw2ICswLDAgQEAKLS8vIEV4dHJhY3RlZCBm
cm9tIGh0dHA6Ly9kZXYudzMub3JnLzIwMDYvd2ViYXBpL1dlYklETC8gb24gMjAxMS0wNS0wNgot
W05hbWVkQ29uc3RydWN0b3I9QXVkaW8sCi0gTmFtZWRDb25zdHJ1Y3Rvcj1BdWRpbyhET01TdHJp
bmcgc3JjKV0KLWludGVyZmFjZSBIVE1MQXVkaW9FbGVtZW50IDogSFRNTE1lZGlhRWxlbWVudCB7
Ci0gIC8vIC4uLgotfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3Qvc3ludGF4L2lkbC9uYW1lc3BhY2Uud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRs
L25hbWVzcGFjZS53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkOTYxMDU1NWUx
N2FkMmZlZGQ0Y2MwMDU1YzAxMDI1ZjcwMTkzZGVhLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL25hbWVzcGFjZS53aWRs
CisrKyAvZGV2L251bGwKQEAgLTEsMTAgKzAsMCBAQAotLy8gRXh0cmFjdGVkIGZyb20gV2ViIElE
TCBlZGl0b3JzIGRyYWZ0IE1hcmNoIDI3IDIwMTcKLW5hbWVzcGFjZSBWZWN0b3JVdGlscyB7Ci0g
IHJlYWRvbmx5IGF0dHJpYnV0ZSBWZWN0b3IgdW5pdDsKLSAgZG91YmxlIGRvdFByb2R1Y3QoVmVj
dG9yIHgsIFZlY3RvciB5KTsKLSAgVmVjdG9yIGNyb3NzUHJvZHVjdChWZWN0b3IgeCwgVmVjdG9y
IHkpOwotfTsKLQotcGFydGlhbCBuYW1lc3BhY2UgU29tZU5hbWVzcGFjZSB7Ci0gIC8qIG5hbWVz
cGFjZV9tZW1iZXJzLi4uICovCi19OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL25vaW50ZXJmYWNlb2JqZWN0LndpZGwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvc3ludGF4L2lkbC9ub2ludGVyZmFjZW9iamVjdC53aWRsCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCBjMTdkNzVmZjhmZDM3MzJjZGNiZTgxNWY2OGE3YTgzYWVmZWQ1YzE4Li4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9z
eW50YXgvaWRsL25vaW50ZXJmYWNlb2JqZWN0LndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSw1ICsw
LDAgQEAKLS8vIEV4dHJhY3RlZCBmcm9tIGh0dHA6Ly9kZXYudzMub3JnLzIwMDYvd2ViYXBpL1dl
YklETC8gb24gMjAxMS0wNS0wNgotW05vSW50ZXJmYWNlT2JqZWN0XQotaW50ZXJmYWNlIFF1ZXJ5
IHsKLSAgYW55IGxvb2t1cEVudHJ5KHVuc2lnbmVkIGxvbmcga2V5KTsKLX07ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvbnVsbGFi
bGUud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL251bGxhYmxlLndpZGwKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IGNjYmY2MjVmZjhhZWExMmI1YmU1YjEyMDYwOTljOWIwN2M2Y2Nk
YmQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3N5bnRheC9pZGwvbnVsbGFibGUud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDkgKzAsMCBA
QAotLy8gRXh0cmFjdGVkIGZyb20gaHR0cDovL2Rldi53My5vcmcvMjAwNi93ZWJhcGkvV2ViSURM
LyBvbiAyMDExLTA1LTA2Ci1pbnRlcmZhY2UgTXlDb25zdGFudHMgewotICBjb25zdCBib29sZWFu
PyBBUkVfV0VfVEhFUkVfWUVUID0gZmFsc2U7Ci19OwotCi1pbnRlcmZhY2UgTm9kZSB7Ci0gIHJl
YWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmc/IG5hbWVzcGFjZVVSSTsKLSAgLy8gLi4uCi19Owpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgv
aWRsL251bGxhYmxlb2JqZWN0cy53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvbnVsbGFibGVv
YmplY3RzLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDgzZDFkNDBiMmFjZmEz
YTM2ZWQ4YjUwM2RmNDIwNTAzMzhjZGFiYjYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvbnVsbGFibGVvYmplY3RzLndp
ZGwKKysrIC9kZXYvbnVsbApAQCAtMSwxMyArMCwwIEBACi0vLyBFeHRyYWN0ZWQgZnJvbSBXZWJJ
REwgc3BlYyAyMDExLTA1LTIzCi0KLWludGVyZmFjZSBBIHsKLSAgLy8gLi4uCi19OwotaW50ZXJm
YWNlIEIgewotICAvLyAuLi4KLX07Ci1pbnRlcmZhY2UgQyB7Ci0gIHZvaWQgZihBPyB4KTsKLSAg
dm9pZCBmKEI/IHgpOwotCi19OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL29wZXJhdGlvbi1vcHRpb25hbC1hcmcud2lkbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC9zeW50YXgvaWRsL29wZXJhdGlvbi1vcHRpb25hbC1hcmcud2lkbApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMzc5MDUzYjQ1ZjE0YTE1ZGU4YmU5YjVkMTA5MDFiNDU5NmM4
NzBmYS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvc3ludGF4L2lkbC9vcGVyYXRpb24tb3B0aW9uYWwtYXJnLndpZGwKKysrIC9kZXYvbnVs
bApAQCAtMSw0ICswLDAgQEAKLS8vIEV4dHJhY3RlZCBmcm9tIGh0dHA6Ly9kZXYudzMub3JnLzIw
MDYvd2ViYXBpL1dlYklETC8gb24gMjAxMS0wNS0wNgotaW50ZXJmYWNlIENvbG9yQ3JlYXRvciB7
Ci0gIG9iamVjdCBjcmVhdGVDb2xvcihmbG9hdCB2MSwgZmxvYXQgdjIsIGZsb2F0IHYzLCBvcHRp
b25hbCBmbG9hdCBhbHBoYSA9IDMuNSk7Ci19OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL292ZXJsb2FkaW5nLndpZGwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvc3ludGF4L2lkbC9vdmVybG9hZGluZy53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCA1MmQ4ZDE1YzFhMTNjODEzOTdiZmY1OTgxZDU3NDVkOWU0MmVhOTJkLi4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgv
aWRsL292ZXJsb2FkaW5nLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSwyMCArMCwwIEBACi0vLyBF
eHRyYWN0ZWQgZnJvbSBodHRwOi8vZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJJREwvIG9uIDIw
MTEtMDUtMDYKLWludGVyZmFjZSBBIHsKLSAgLy8gLi4uCi19OwotCi1pbnRlcmZhY2UgQiB7Ci0g
IC8vIC4uLgotfTsKLQotaW50ZXJmYWNlIEMgewotICB2b2lkIGYoQSB4KTsKLSAgdm9pZCBmKEIg
eCk7Ci19OwotCi1pbnRlcmZhY2UgRCB7Ci0gIC8qIGYxICovIHZvaWQgZihET01TdHJpbmcgYSk7
Ci0gIC8qIGYyICovIHZvaWQgZihbQWxsb3dBbnldIERPTVN0cmluZyBhLCBET01TdHJpbmcgYiwg
ZmxvYXQuLi4gYyk7Ci0gIC8qIGYzICovIHZvaWQgZigpOwotICAvKiBmNCAqLyB2b2lkIGYobG9u
ZyBhLCBET01TdHJpbmcgYiwgb3B0aW9uYWwgRE9NU3RyaW5nIGMsIGZsb2F0Li4uIGQpOwotfTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL292ZXJyaWRlYnVpbHRpbnMud2lkbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC9zeW50YXgvaWRsL292ZXJyaWRlYnVpbHRpbnMud2lkbApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggNzkyMTFjMjllODQzNmQwMWM1MWVlYTFhOWQzOTAyZTBlNmNjMTkx
Ni4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvc3ludGF4L2lkbC9vdmVycmlkZWJ1aWx0aW5zLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSw2
ICswLDAgQEAKLS8vIEV4dHJhY3RlZCBmcm9tIGh0dHA6Ly9kZXYudzMub3JnLzIwMDYvd2ViYXBp
L1dlYklETC8gb24gMjAxMS0wNS0wNgotW092ZXJyaWRlQnVpbHRpbnNdCi1pbnRlcmZhY2UgU3Ry
aW5nTWFwMiB7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxlbmd0aDsKLSAg
Z2V0dGVyIERPTVN0cmluZyBsb29rdXAoRE9NU3RyaW5nIGtleSk7Ci19OwpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL3BhcnRpYWwt
aW50ZXJmYWNlLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9wYXJ0aWFsLWludGVyZmFjZS53
aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5MGU3ZTBlYTQyMWI0ZjFiOWQzZTVh
NThkMmQxNDcwMzk1YTlmM2E4Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL3BhcnRpYWwtaW50ZXJmYWNlLndpZGwKKysr
IC9kZXYvbnVsbApAQCAtMSw3ICswLDAgQEAKLWludGVyZmFjZSBGb28gewotICBhdHRyaWJ1dGUg
RE9NU3RyaW5nIGJhcjsKLX07Ci0KLXBhcnRpYWwgaW50ZXJmYWNlIEZvbyB7Ci0gIGF0dHJpYnV0
ZSBET01TdHJpbmcgcXV1eDsKLX07ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvcHJpbWl0aXZlcy53aWRsIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5
bnRheC9pZGwvcHJpbWl0aXZlcy53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBh
OTE0NTVlZTE5MmYxOTIxODdlMjM3MjhjNzhlYWE2ZmRhOGQ3MzNmLi4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL3ByaW1p
dGl2ZXMud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDE5ICswLDAgQEAKLWludGVyZmFjZSBQcmlt
aXRpdmVzIHsKLSAgYXR0cmlidXRlIGJvb2xlYW4gdHJ1dGg7Ci0gIGF0dHJpYnV0ZSBieXRlIGNo
YXJhY3RlcjsKLSAgYXR0cmlidXRlIG9jdGV0IHZhbHVlOwotICBhdHRyaWJ1dGUgc2hvcnQgbnVt
YmVyOwotICBhdHRyaWJ1dGUgdW5zaWduZWQgc2hvcnQgcG9zaXRpdmU7Ci0gIGF0dHJpYnV0ZSBs
b25nIGJpZzsKLSAgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgYmlncG9zaXRpdmU7Ci0gIGF0dHJp
YnV0ZSBsb25nIGxvbmcgYmlnYmlnOwotICBhdHRyaWJ1dGUgIHVuc2lnbmVkIGxvbmcgbG9uZyBi
aWdiaWdwb3NpdGl2ZTsKLSAgYXR0cmlidXRlIGZsb2F0IHJlYWw7Ci0gIGF0dHJpYnV0ZSBkb3Vi
bGUgYmlncmVhbDsKLSAgYXR0cmlidXRlIHVucmVzdHJpY3RlZCBmbG9hdCByZWFsd2l0aGluZmlu
aXR5OwotICBhdHRyaWJ1dGUgdW5yZXN0cmljdGVkIGRvdWJsZSBiaWdyZWFsd2l0aGluZmluaXR5
OwotICBhdHRyaWJ1dGUgRE9NU3RyaW5nIHN0cmluZzsKLSAgYXR0cmlidXRlIEJ5dGVTdHJpbmcg
Ynl0ZXM7Ci0gIGF0dHJpYnV0ZSBEYXRlIGRhdGU7Ci0gIGF0dHJpYnV0ZSBSZWdFeHAgcmVnZXhw
OwotfTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL3Byb21pc2Utdm9pZC53aWRs
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvcHJvbWlzZS12b2lkLndpZGwKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IGM0ZWFjM2I3NWM0NmFjMDJhMjJjNzY4MjA1NmNiMzJiNWVjYjRkODku
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3N5bnRheC9pZGwvcHJvbWlzZS12b2lkLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSwzICswLDAg
QEAKLWludGVyZmFjZSBDYXQgewotICAgIGF0dHJpYnV0ZSBQcm9taXNlPHZvaWQ+IG1lb3c7Ci19
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvcHJvdG90eXBlcm9vdC53aWRsIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3N5bnRheC9pZGwvcHJvdG90eXBlcm9vdC53aWRsCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAzMGRkNWNiY2ExM2JlMDBlYWVmMWU1M2M2YjYzZTc5ZjRjOGE1NjRhLi4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9z
eW50YXgvaWRsL3Byb3RvdHlwZXJvb3Qud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDUgKzAsMCBA
QAotLy8gRXh0cmFjdGVkIGZyb20gaHR0cDovL2Rldi53My5vcmcvMjAwNi93ZWJhcGkvV2ViSURM
LyBvbiAyMDExLTA1LTA2Ci1bUHJvdG90eXBlUm9vdF0KLWludGVyZmFjZSBOb2RlIHsKLSAgcmVh
ZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIHNob3J0IG5vZGVUeXBlOwotfTsKXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9wdXRmb3J3
YXJkcy53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvcHV0Zm9yd2FyZHMud2lkbApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMWU1MGE0ZWUzOTRmNWRlNmFlZGIyOWNkNGZmOTE4ZjMz
ODJiMDRkZC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3Qvc3ludGF4L2lkbC9wdXRmb3J3YXJkcy53aWRsCisrKyAvZGV2L251bGwKQEAgLTEs
NSArMCwwIEBACi0vLyBFeHRyYWN0ZWQgZnJvbSBodHRwOi8vZGV2LnczLm9yZy8yMDA2L3dlYmFw
aS9XZWJJREwvIG9uIDIwMTEtMDUtMDYKLWludGVyZmFjZSBQZXJzb24gewotICBbUHV0Rm9yd2Fy
ZHM9ZnVsbF0gcmVhZG9ubHkgYXR0cmlidXRlIE5hbWUgbmFtZTsKLSAgYXR0cmlidXRlIHVuc2ln
bmVkIHNob3J0IGFnZTsKLX07ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvcmVjb3JkLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lk
bC9yZWNvcmQud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZGJmYWQzYWZiZmVi
Njg3NTcyNWM5NzdiZTMwMTQ3NjI5MmU0OGY0MS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9yZWNvcmQud2lkbAorKysg
L2Rldi9udWxsCkBAIC0xLDkgKzAsMCBAQAotW0NvbnN0cnVjdG9yKHJlY29yZDxVU1ZTdHJpbmcs
IFVTVlN0cmluZz4gaW5pdCldCi1pbnRlcmZhY2UgRm9vIHsKLSAgdm9pZCBmb28oc2VxdWVuY2U8
cmVjb3JkPEJ5dGVTdHJpbmcsIGFueT4+IHBhcmFtKTsKLSAgcmVjb3JkPERPTVN0cmluZywgKGZs
b2F0IG9yIERPTVN0cmluZyk/PiBiYXIoKTsKLX07Ci0KLWludGVyZmFjZSBCYXIgewotICByZWNv
cmQ8RE9NU3RyaW5nLCBbWEF0dHJdIGZsb2F0PiBiYXIoKTsKLX07CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvc3ludGF4L2lkbC9yZWctb3BlcmF0aW9ucy53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9p
ZGwvcmVnLW9wZXJhdGlvbnMud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzM4
YzhkNDI3NjM2ZmIzNDBhMDBkYjllYzliMWFjNTFjZmUxNTM4OC4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9yZWctb3Bl
cmF0aW9ucy53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsMTUgKzAsMCBAQAotLy8gRXh0cmFjdGVk
IGZyb20gaHR0cDovL2Rldi53My5vcmcvMjAwNi93ZWJhcGkvV2ViSURMLyBvbiAyMDExLTA1LTA2
Ci1pbnRlcmZhY2UgRGltZW5zaW9ucyB7Ci0gIGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIHdpZHRo
OwotICBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBoZWlnaHQ7Ci19OwotCi1pbnRlcmZhY2UgQnV0
dG9uIHsKLQotICAvLyBBbiBvcGVyYXRpb24gdGhhdCB0YWtlcyBubyBhcmd1bWVudHMsIHJldHVy
bnMgYSBib29sZWFuCi0gIGJvb2xlYW4gaXNNb3VzZU92ZXIoKTsKLQotICAvLyBPdmVybG9hZGVk
IG9wZXJhdGlvbnMuCi0gIHZvaWQgc2V0RGltZW5zaW9ucyhEaW1lbnNpb25zIHNpemUpOwotICB2
b2lkIHNldERpbWVuc2lvbnModW5zaWduZWQgbG9uZyB3aWR0aCwgdW5zaWduZWQgbG9uZyBoZWln
aHQpOwotfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvc3ludGF4L2lkbC9yZXBsYWNlYWJsZS53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvcmVw
bGFjZWFibGUud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzE0ZDBjMzc2ODkw
NDc0YTk4MjMxOGE2MDFjNTEwNTQ1OWY3Y2YyZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9yZXBsYWNlYWJsZS53aWRs
CisrKyAvZGV2L251bGwKQEAgLTEsNSArMCwwIEBACi0vLyBFeHRyYWN0ZWQgZnJvbSBodHRwOi8v
ZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJJREwvIG9uIDIwMTEtMDUtMDYKLWludGVyZmFjZSBD
b3VudGVyIHsKLSAgW1JlcGxhY2VhYmxlXSByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9u
ZyB2YWx1ZTsKLSAgdm9pZCBpbmNyZW1lbnQoKTsKLX07ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvc2VxdWVuY2Uud2lkbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC9zeW50YXgvaWRsL3NlcXVlbmNlLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IGI0N2M5ODIyNWM3MTU2OGU5MzMxMzlhOTAyNTE3YmNmODYwYTIwZTkuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9p
ZGwvc2VxdWVuY2Uud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDEzICswLDAgQEAKLS8vIEV4dHJh
Y3RlZCBmcm9tIGh0dHA6Ly9kZXYudzMub3JnLzIwMDYvd2ViYXBpL1dlYklETC8gb24gMjAxMS0w
NS0wNgotLy8gZWRpdGVkIHRvIHJlbW92ZSBzZXF1ZW5jZSBhcyBhdHRyaWJ1dGVzLCBub3cgaW52
YWxpZAotaW50ZXJmYWNlIENhbnZhcyB7Ci0gIHZvaWQgZHJhd1BvbHlnb24oc2VxdWVuY2U8Zmxv
YXQ+IGNvb3JkaW5hdGVzKTsKLSAgc2VxdWVuY2U8ZmxvYXQ+IGdldEluZmxlY3Rpb25Qb2ludHMo
KTsKLSAgLy8gLi4uCi19OwotCi0vLyBFeHRyYWN0ZWQgZnJvbSBodHRwczovL2hleWNhbS5naXRo
dWIuaW8vd2ViaWRsLyNpZGwtdHlwZS1leHRlbmRlZC1hdHRyaWJ1dGUtYXNzb2NpYXRlZC13aXRo
IG9uIDIwMTctMDctMDEKLQotaW50ZXJmYWNlIEkgewotICAgIHZvaWQgZjEoc2VxdWVuY2U8W1hB
dHRyXSBsb25nPiBhcmcpOwotfTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL3Nl
dGxpa2Uud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL3NldGxpa2Uud2lkbApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggNDUxMmYyODZiNTlhNTA2ZmNiYjk1N2JlZmUyNGEwODFiMDk3
ZDczZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvc3ludGF4L2lkbC9zZXRsaWtlLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSwxMSArMCww
IEBACi1pbnRlcmZhY2UgU2V0TGlrZSB7Ci0gIHNldGxpa2U8bG9uZz47Ci19OwotCi1pbnRlcmZh
Y2UgUmVhZE9ubHlTZXRMaWtlIHsKLSAgcmVhZG9ubHkgc2V0bGlrZTxsb25nPjsKLX07Ci0KLWlu
dGVyZmFjZSBTZXRMaWtlRXh0IHsKLSAgc2V0bGlrZTxbWEF0dHJdIGxvbmc+OwotfTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL3N0YXRpYy53aWRsIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRh
eC9pZGwvc3RhdGljLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDViMmNkMzY1
OTBmZDZmMjVlZmY5NmQzNTM3ZmI0OGJjZjdlMmI2YTMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvc3RhdGljLndpZGwK
KysrIC9kZXYvbnVsbApAQCAtMSwxMSArMCwwIEBACi0vLyBFeHRyYWN0ZWQgZnJvbSBodHRwOi8v
ZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJJREwvIG9uIDIwMTEtMDUtMDYKLWludGVyZmFjZSBQ
b2ludCB7IC8qIC4uLiAqLyB9OwotCi1pbnRlcmZhY2UgQ2lyY2xlIHsKLSAgYXR0cmlidXRlIGZs
b2F0IGN4OwotICBhdHRyaWJ1dGUgZmxvYXQgY3k7Ci0gIGF0dHJpYnV0ZSBmbG9hdCByYWRpdXM7
Ci0KLSAgc3RhdGljIHJlYWRvbmx5IGF0dHJpYnV0ZSBsb25nIHRyaWFuZ3VsYXRpb25Db3VudDsK
LSAgc3RhdGljIFBvaW50IHRyaWFuZ3VsYXRlKENpcmNsZSBjMSwgQ2lyY2xlIGMyLCBDaXJjbGUg
YzMpOwotfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvc3ludGF4L2lkbC9zdHJpbmdpZmllci1hdHRyaWJ1dGUud2lkbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50
YXgvaWRsL3N0cmluZ2lmaWVyLWF0dHJpYnV0ZS53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCBjOTY0ZWNiOTNlNjAxZjQ5Mzc0MWJiZWRhYTQ3ZmYyMTYzMzA3MzM1Li4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgv
aWRsL3N0cmluZ2lmaWVyLWF0dHJpYnV0ZS53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsNiArMCww
IEBACi0vLyBFeHRyYWN0ZWQgZnJvbSBodHRwOi8vZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJJ
REwvIG9uIDIwMTEtMDUtMDYKLVtDb25zdHJ1Y3Rvcl0KLWludGVyZmFjZSBTdHVkZW50IHsKLSAg
YXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgaWQ7Ci0gIHN0cmluZ2lmaWVyIGF0dHJpYnV0ZSBET01T
dHJpbmcgbmFtZTsKLX07ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3N5bnRheC9pZGwvc3RyaW5naWZpZXItY3VzdG9tLndpZGwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
c3ludGF4L2lkbC9zdHJpbmdpZmllci1jdXN0b20ud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggYjVkN2M4N2U3ZjQ1NzIwZjI0OGU4YTEwZDRiMTk0ZTcyMjFmYTJlZi4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4
L2lkbC9zdHJpbmdpZmllci1jdXN0b20ud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDkgKzAsMCBA
QAotLy8gRXh0cmFjdGVkIGZyb20gaHR0cDovL2Rldi53My5vcmcvMjAwNi93ZWJhcGkvV2ViSURM
LyBvbiAyMDExLTA1LTA2Ci1bQ29uc3RydWN0b3JdCi1pbnRlcmZhY2UgU3R1ZGVudCB7Ci0gIGF0
dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGlkOwotICBhdHRyaWJ1dGUgRE9NU3RyaW5nPyBmYW1pbHlO
YW1lOwotICBhdHRyaWJ1dGUgRE9NU3RyaW5nIGdpdmVuTmFtZTsKLQotICBzdHJpbmdpZmllciBE
T01TdHJpbmcgKCk7Ci19OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC9zeW50YXgvaWRsL3N0cmluZ2lmaWVyLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4
L2lkbC9zdHJpbmdpZmllci53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjNDUy
NzdlYThkYjMzNzc5NTJiNGJmYThhMDQwYWFkYjFkMWMzNDBlLi4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL3N0cmluZ2lm
aWVyLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSw4ICswLDAgQEAKLS8vIEV4dHJhY3RlZCBmcm9t
IGh0dHA6Ly9kZXYudzMub3JnLzIwMDYvd2ViYXBpL1dlYklETC8gb24gMjAxMS0wNS0wNgotaW50
ZXJmYWNlIEEgewotICBzdHJpbmdpZmllciBET01TdHJpbmcgKCk7Ci19OwotCi1pbnRlcmZhY2Ug
QiB7Ci0gIHN0cmluZ2lmaWVyOwotfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC90cmVhdGFzbnVsbC53aWRsIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3N5bnRheC9pZGwvdHJlYXRhc251bGwud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggZDNjNTViMDA4YzBkODZmMzdlOGViZjBhODYzNzg2MjhjYmUwN2ZmZC4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC90
cmVhdGFzbnVsbC53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsNyArMCwwIEBACi0vLyBFeHRyYWN0
ZWQgZnJvbSBodHRwOi8vZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJJREwvIG9uIDIwMTEtMDUt
MDYKLWludGVyZmFjZSBEb2cgewotICBhdHRyaWJ1dGUgRE9NU3RyaW5nIG5hbWU7Ci0gIGF0dHJp
YnV0ZSBET01TdHJpbmcgb3duZXI7Ci0KLSAgYm9vbGVhbiBpc01lbWJlck9mQnJlZWQoW1RyZWF0
TnVsbEFzPUVtcHR5U3RyaW5nXSBET01TdHJpbmcgYnJlZWROYW1lKTsKLX07ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvdHJlYXRh
c3VuZGVmaW5lZC53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvdHJlYXRhc3VuZGVmaW5lZC53
aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlMzAwNTBmODQxMzQwM2QyNDQwYjI2
YzNhMDBlM2VjNmM1YWFiNzkzLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL3RyZWF0YXN1bmRlZmluZWQud2lkbAorKysg
L2Rldi9udWxsCkBAIC0xLDcgKzAsMCBAQAotLy8gRXh0cmFjdGVkIGZyb20gaHR0cDovL2Rldi53
My5vcmcvMjAwNi93ZWJhcGkvV2ViSURMLyBvbiAyMDExLTA1LTA2Ci1pbnRlcmZhY2UgQ2F0IHsK
LSAgYXR0cmlidXRlIERPTVN0cmluZyBuYW1lOwotICBhdHRyaWJ1dGUgRE9NU3RyaW5nIG93bmVy
OwotCi0gIGJvb2xlYW4gaXNNZW1iZXJPZkJyZWVkKFtUcmVhdFVuZGVmaW5lZEFzPUVtcHR5U3Ry
aW5nXSBET01TdHJpbmcgYnJlZWROYW1lKTsKLX07ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvdHlwZWRlZi11bmlvbi53aWRsIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3N5bnRheC9pZGwvdHlwZWRlZi11bmlvbi53aWRsCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAzMDQ4NzAzZTBjNTU0MWQ1Y2E2OWY1MTg3MGYyMTlhYmYzNzQ1YjQ0Li4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9z
eW50YXgvaWRsL3R5cGVkZWYtdW5pb24ud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDQgKzAsMCBA
QAotICB0eXBlZGVmIChJbWFnZURhdGEgb3IKLSAgICAgICAgICAgSFRNTEltYWdlRWxlbWVudCBv
cgotICAgICAgICAgICBIVE1MQ2FudmFzRWxlbWVudCBvcgotICAgICAgICAgICBIVE1MVmlkZW9F
bGVtZW50KSBUZXhJbWFnZVNvdXJjZTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRs
L3R5cGVkZWYud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL3R5cGVkZWYud2lkbApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjRjMTdkOGQzNmE4OWZiNTBlYzNiYjYyMzJhMTIzN2Zl
ODZkZmIwZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3Qvc3ludGF4L2lkbC90eXBlZGVmLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSwyMiAr
MCwwIEBACi0vLyBFeHRyYWN0ZWQgZnJvbSBodHRwOi8vZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9X
ZWJJREwvIG9uIDIwMTEtMDUtMDYKLSAgICAgIGludGVyZmFjZSBQb2ludCB7Ci0gICAgICAgIGF0
dHJpYnV0ZSBmbG9hdCB4OwotICAgICAgICBhdHRyaWJ1dGUgZmxvYXQgeTsKLSAgICAgIH07Ci0K
LSAgICAgIHR5cGVkZWYgc2VxdWVuY2U8UG9pbnQ+IFBvaW50U2VxdWVuY2U7Ci0KLSAgICAgIGlu
dGVyZmFjZSBSZWN0IHsKLSAgICAgICAgYXR0cmlidXRlIFBvaW50IHRvcGxlZnQ7Ci0gICAgICAg
IGF0dHJpYnV0ZSBQb2ludCBib3R0b21yaWdodDsKLSAgICAgIH07Ci0KLSAgaW50ZXJmYWNlIFdp
ZGdldCB7Ci0KLSAgICByZWFkb25seSBhdHRyaWJ1dGUgUmVjdCBib3VuZHM7Ci0KLSAgICBib29s
ZWFuIHBvaW50V2l0aGluQm91bmRzKFBvaW50IHApOwotICAgIGJvb2xlYW4gYWxsUG9pbnRzV2l0
aGluQm91bmRzKFBvaW50U2VxdWVuY2UgcHMpOwotICB9OwotCi0gIHR5cGVkZWYgW0NsYW1wXSBv
Y3RldCB2YWx1ZTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvc3ludGF4L2lkbC90eXBlc3VmZml4ZXMud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRs
L3R5cGVzdWZmaXhlcy53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiZWFhYTg3
MjYwMDllNmIxYTNmZmUzYWFmZDVmODliZjdjYWZlNGJiLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL3R5cGVzdWZmaXhl
cy53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsMyArMCwwIEBACi1pbnRlcmZhY2UgU3VmZml4ZXMg
ewotICB2b2lkIHRlc3Qoc2VxdWVuY2U8RE9NU3RyaW5nPz4/IGZvbyk7Ci19OwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvdW5pb250eXBlLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4
L2lkbC91bmlvbnR5cGUud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMGQ1ZmU5
YmU0Mjg2NDBiZTcyMGZlMThiY2YyNWU3MTRkNDU5NDJhYS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC91bmlvbnR5cGUu
d2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDQgKzAsMCBAQAotaW50ZXJmYWNlIFVuaW9uIHsKLSBh
dHRyaWJ1dGUgKGZsb2F0IG9yIChEYXRlIG9yIEV2ZW50KSBvciAoTm9kZSBvciBET01TdHJpbmcp
PykgdGVzdDsKLSBhdHRyaWJ1dGUgKFtFbmZvcmNlUmFuZ2VdIGxvbmcgb3IgRGF0ZSkgdGVzdDI7
Ci19OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9z
eW50YXgvaWRsL3ZhcmlhZGljLW9wZXJhdGlvbnMud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRs
L3ZhcmlhZGljLW9wZXJhdGlvbnMud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
NTFmYWU0Y2MxZWExYzRhMzMzM2FmYzdkNzkxZmVkMDY2NDE1MDIzNS4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC92YXJp
YWRpYy1vcGVyYXRpb25zLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSw3ICswLDAgQEAKLS8vIEV4
dHJhY3RlZCBmcm9tIGh0dHA6Ly9kZXYudzMub3JnLzIwMDYvd2ViYXBpL1dlYklETC8gb24gMjAx
MS0wNS0wNgotaW50ZXJmYWNlIEludGVnZXJTZXQgewotICByZWFkb25seSBhdHRyaWJ1dGUgdW5z
aWduZWQgbG9uZyBjYXJkaW5hbGl0eTsKLQotICB2b2lkIHVuaW9uKGxvbmcuLi4gaW50cyk7Ci0g
IHZvaWQgaW50ZXJzZWN0aW9uKGxvbmcuLi4gaW50cyk7Ci19OwpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL3czYy1pbXBvcnQubG9n
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvdzNjLWltcG9ydC5sb2cKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDQyZDFkNzYwZGYwZjVmZTJjOTBlY2JmOWYyOThkOTg5ODJhMDVhOWUuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5
bnRheC9pZGwvdzNjLWltcG9ydC5sb2cKKysrIC9kZXYvbnVsbApAQCAtMSw2OCArMCwwIEBACi1U
aGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVw
b3NpdG9yeS4KLURvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0Lgot
SW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgotCWh0dHBz
Oi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0Ci0KLVRoZW4gcnVuIHRoZSBUb29s
cy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0Ci0KLURvIE5P
VCBtb2RpZnkgb3IgcmVtb3ZlIHRoaXMgZmlsZS4KLQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1Qcm9wZXJ0
aWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6Ci1Ob25lCi1Qcm9wZXJ0eSB2YWx1ZXMgcmVx
dWlyaW5nIHZlbmRvciBwcmVmaXhlczoKLU5vbmUKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotTGlzdCBvZiBm
aWxlczoKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9hbGxvd2FueS53aWRsCi0vTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5
bnRheC9pZGwvYXR0cmlidXRlcy53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvY2FsbGJhY2su
d2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL2NvbnN0YW50cy53aWRsCi0vTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5
bnRheC9pZGwvY29uc3RydWN0b3Iud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL2RpY3Rpb25h
cnktaW5oZXJpdHMud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL2RpY3Rpb25hcnkud2lkbAot
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC9zeW50YXgvaWRsL2RvY3VtZW50YXRpb24tZG9zLndpZGwKLS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
c3ludGF4L2lkbC9kb2N1bWVudGF0aW9uLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9lbnVt
LndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9lcXVpdmFsZW50LWRlY2wud2lkbAotL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC9zeW50YXgvaWRsL2V4dGVuZGVkLWF0dHJpYnV0ZXMud2lkbAotL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50
YXgvaWRsL2dlbmVyaWMud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL2dldHRlci1zZXR0ZXIu
d2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL2lkZW50aWZpZXItcXVhbGlmaWVkLW5hbWVzLndp
ZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9pbXBsZW1lbnRzLndpZGwKLS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3lu
dGF4L2lkbC9pbmRleGVkLXByb3BlcnRpZXMud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL2lu
aGVyaXRzLWdldHRlci53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvaW50ZXJmYWNlLWluaGVy
aXRzLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9pdGVyYWJsZS53aWRsCi0vTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3N5bnRheC9pZGwvbGVnYWN5aXRlcmFibGUud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL21h
cGxpa2Uud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL21peGluLndpZGwKLS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
c3ludGF4L2lkbC9uYW1lZGNvbnN0cnVjdG9yLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9u
YW1lc3BhY2Uud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL25vaW50ZXJmYWNlb2JqZWN0Lndp
ZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9udWxsYWJsZS53aWRsCi0vTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRh
eC9pZGwvbnVsbGFibGVvYmplY3RzLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9vcGVyYXRp
b24tb3B0aW9uYWwtYXJnLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9vdmVybG9hZGluZy53
aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvb3ZlcnJpZGVidWlsdGlucy53aWRsCi0vTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3N5bnRheC9pZGwvcGFydGlhbC1pbnRlcmZhY2Uud2lkbAotL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgv
aWRsL3ByaW1pdGl2ZXMud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL3Byb21pc2Utdm9pZC53
aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvcHJvdG90eXBlcm9vdC53aWRsCi0vTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3N5bnRheC9pZGwvcHV0Zm9yd2FyZHMud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL3JlY29y
ZC53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvcmVnLW9wZXJhdGlvbnMud2lkbAotL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC9zeW50YXgvaWRsL3JlcGxhY2VhYmxlLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9z
ZXF1ZW5jZS53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvc2V0bGlrZS53aWRsCi0vTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3N5bnRheC9pZGwvc3RhdGljLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9zdHJpbmdp
Zmllci1hdHRyaWJ1dGUud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL3N0cmluZ2lmaWVyLWN1
c3RvbS53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvc3RyaW5naWZpZXIud2lkbAotL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC9zeW50YXgvaWRsL3RyZWF0YXNudWxsLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC90
cmVhdGFzdW5kZWZpbmVkLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC90eXBlZGVmLXVuaW9u
LndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC90eXBlZGVmLndpZGwKLS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3lu
dGF4L2lkbC90eXBlc3VmZml4ZXMud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL3VuaW9udHlw
ZS53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvdmFyaWFkaWMtb3BlcmF0aW9ucy53aWRsCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vYWxsb3dhbnkuanNvbiBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC9zeW50YXgvanNvbi9hbGxvd2FueS5qc29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAyYTkzNTE4ZWQ5NDYzNzc2ZDNlNzM5NzA3NDY1NWEyYWE5NTI2YWY3Li4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9h
bGxvd2FueS5qc29uCisrKyAvZGV2L251bGwKQEAgLTEsMTEyICswLDAgQEAKLVsKLSAgICB7Ci0g
ICAgICAgICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAgICAgICJuYW1lIjogIkIiLAotICAgICAg
ICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFsKLSAgICAgICAgICAgIHsK
LSAgICAgICAgICAgICAgICAidHlwZSI6ICJvcGVyYXRpb24iLAotICAgICAgICAgICAgICAgICJn
ZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic2V0dGVyIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgImRlbGV0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInJldHVybi10eXBl
IiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAg
ICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogInZvaWQiLAotICAgICAgICAgICAg
ICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAg
ICAgIm5hbWUiOiAiZyIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImciLAotICAg
ICAgICAgICAgICAgICJhcmd1bWVudHMiOiBbXSwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMi
OiBbXQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlw
ZSI6ICJvcGVyYXRpb24iLAotICAgICAgICAgICAgICAgICJnZXR0ZXIiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAic2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImRlbGV0ZXIiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
InN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAg
ICAgICAgICAgICAgICAgICJ0eXBlIjogInJldHVybi10eXBlIiwKLSAgICAgICAgICAgICAgICAg
ICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ICAgICJpZGxUeXBlIjogInZvaWQiLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBb
XQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiZyIsCi0gICAg
ICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImciLAotICAgICAgICAgICAgICAgICJhcmd1bWVu
dHMiOiBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJv
cHRpb25hbCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgInZhcmlhZGljIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdCI6IG51bGwsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJp
ZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImFyZ3VtZW50
LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAiaWRsVHlwZSI6ICJCIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0
cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJuYW1lIjogImIiLAotICAgICAgICAgICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjog
ImIiCi0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAg
ICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAg
ICAgICAgICAgICAgICJ0eXBlIjogIm9wZXJhdGlvbiIsCi0gICAgICAgICAgICAgICAgImdldHRl
ciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAiZGVsZXRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAi
aWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAicmV0dXJuLXR5cGUiLAot
ICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAg
ICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAidm9pZCIsCi0gICAgICAgICAgICAgICAg
ICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAi
bmFtZSI6ICJnIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiZyIsCi0gICAgICAg
ICAgICAgICAgImFyZ3VtZW50cyI6IFsKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAg
ICAgICAgICAgICAgICAgIm9wdGlvbmFsIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAidmFyaWFkaWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0Ijog
bnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFsKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1l
IjogIkFsbG93QW55IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImFyZ3VtZW50
cyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImV4dGVu
ZGVkLWF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyaHMiOiBu
dWxsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICAgICAg
ICAgXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICJ0eXBlIjogImFyZ3VtZW50LXR5cGUiLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5pb24i
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJET01TdHJp
bmciLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAg
ICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAicyIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAicyIKLSAgICAgICAgICAg
ICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgImV4dEF0dHJz
IjogW10KLSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImluaGVyaXRhbmNlIjog
bnVsbCwKLSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9Ci1dCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvc3ludGF4L2pzb24vYXR0cmlidXRlcy5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29u
L2F0dHJpYnV0ZXMuanNvbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjAyY2IyMTg3
YTJhZjJkOTVkOTIxMzU4OTNlY2RiOTdmOTFiYTYxMS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vYXR0cmlidXRlcy5q
c29uCisrKyAvZGV2L251bGwKQEAgLTEsNDcgKzAsMCBAQAotWwotICAgIHsKLSAgICAgICAgInR5
cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUiOiAiUGVyc29uIiwKLSAgICAgICAgInBh
cnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJlcnMiOiBbCi0gICAgICAgICAgICB7Ci0gICAg
ICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAic3RhdGlj
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAicmVhZG9ubHkiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAg
InR5cGUiOiAiYXR0cmlidXRlLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6
IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUi
OiAidW5zaWduZWQgc2hvcnQiLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQot
ICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiYWdlIiwKLSAgICAg
ICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiYWdlIiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0
cnMiOiBbXQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAi
dHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaW5o
ZXJpdCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJyZWFkb25seSI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRy
aWJ1dGUtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAg
ICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1
bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJhbnkiLAotICAg
ICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAg
ICAgICAgICAgICAgIm5hbWUiOiAicmVxdWlyZWQiLAotICAgICAgICAgICAgICAgICJlc2NhcGVk
TmFtZSI6ICJyZXF1aXJlZCIsCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAg
ICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImluaGVyaXRhbmNlIjogbnVsbCwKLSAgICAg
ICAgImV4dEF0dHJzIjogW10KLSAgICB9Ci1dCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4
L2pzb24vY2FsbGJhY2suanNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9jYWxsYmFjay5qc29u
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4OWQ2M2FhZTUzZDAyYTVmNTFkZmNhZTQx
MzdmZDNiOWIxZmUyYzFkLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9jYWxsYmFjay5qc29uCisrKyAvZGV2L251bGwK
QEAgLTEsMTI2ICswLDAgQEAKLVsKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImNhbGxiYWNrIiwK
LSAgICAgICAgIm5hbWUiOiAiQXN5bmNPcGVyYXRpb25DYWxsYmFjayIsCi0gICAgICAgICJpZGxU
eXBlIjogewotICAgICAgICAgICAgInR5cGUiOiAicmV0dXJuLXR5cGUiLAotICAgICAgICAgICAg
ImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAg
ICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICJpZGxUeXBlIjogInZvaWQiLAotICAg
ICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgfSwKLSAgICAgICAgImFyZ3VtZW50cyI6
IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAib3B0aW9uYWwiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAidmFyaWFkaWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiZGVmYXVs
dCI6IG51bGwsCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10sCi0gICAgICAgICAgICAg
ICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImFyZ3VtZW50LXR5
cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAg
ICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiRE9NU3RyaW5nIiwKLSAgICAg
ICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAg
ICAgICAgICAgICJuYW1lIjogInN0YXR1cyIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1l
IjogInN0YXR1cyIKLSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImV4dEF0dHJz
IjogW10KLSAgICB9LAotICAgIHsKLSAgICAgICAgInR5cGUiOiAiY2FsbGJhY2sgaW50ZXJmYWNl
IiwKLSAgICAgICAgIm5hbWUiOiAiRXZlbnRIYW5kbGVyIiwKLSAgICAgICAgInBhcnRpYWwiOiBm
YWxzZSwKLSAgICAgICAgIm1lbWJlcnMiOiBbCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAg
ICAgInR5cGUiOiAib3BlcmF0aW9uIiwKLSAgICAgICAgICAgICAgICAiZ2V0dGVyIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgInNldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJkZWxl
dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjog
ewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAgICAgICAg
ICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxl
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICAgICAiaWRsVHlwZSI6ICJ2b2lkIiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0
dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogImV2
ZW50T2NjdXJyZWQiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJldmVudE9jY3Vy
cmVkIiwKLSAgICAgICAgICAgICAgICAiYXJndW1lbnRzIjogWwotICAgICAgICAgICAgICAgICAg
ICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAib3B0aW9uYWwiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICJ2YXJpYWRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgImRlZmF1bHQiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjog
W10sCi0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
Im51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiRE9NU3RyaW5n
IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAg
ICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjogImRldGFp
bHMiLAotICAgICAgICAgICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImRldGFpbHMiCi0g
ICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAg
ICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJpbmhl
cml0YW5jZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgfSwKLSAgICB7Ci0g
ICAgICAgICJ0eXBlIjogImNhbGxiYWNrIiwKLSAgICAgICAgIm5hbWUiOiAiU29ydENhbGxiYWNr
IiwKLSAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAidHlwZSI6ICJyZXR1cm4tdHlw
ZSIsCi0gICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAibnVsbGFibGUi
OiBmYWxzZSwKLSAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgImlkbFR5
cGUiOiAiYm9vbGVhbiIsCi0gICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICB9LAot
ICAgICAgICAiYXJndW1lbnRzIjogWwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJv
cHRpb25hbCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJ2YXJpYWRpYyI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICJkZWZhdWx0IjogbnVsbCwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMi
OiBbXSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAg
InR5cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjog
bnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6
ICJhbnkiLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAg
ICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiYSIsCi0gICAgICAgICAgICAgICAgImVz
Y2FwZWROYW1lIjogImEiCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAg
ICAgICAgICJvcHRpb25hbCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJ2YXJpYWRpYyI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICJkZWZhdWx0IjogbnVsbCwKLSAgICAgICAgICAgICAgICAi
ZXh0QXR0cnMiOiBbXSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAg
ICAgICAgICAgInR5cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJn
ZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAi
aWRsVHlwZSI6ICJhbnkiLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAg
ICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiYiIsCi0gICAgICAgICAg
ICAgICAgImVzY2FwZWROYW1lIjogImIiCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAg
ICAgICJleHRBdHRycyI6IFtdCi0gICAgfQotXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRh
eC9qc29uL2NvbnN0YW50cy5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2NvbnN0YW50cy5q
c29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlZjJiOGM0NGNhMTY3Y2Y2ZWI4NjZm
ZWJiODUwMDYyZjJmNDU2YTc1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9jb25zdGFudHMuanNvbgorKysgL2Rldi9u
dWxsCkBAIC0xLDE1NCArMCwwIEBACi1bCi0gICAgewotICAgICAgICAidHlwZSI6ICJpbnRlcmZh
Y2UiLAotICAgICAgICAibmFtZSI6ICJVdGlsIiwKLSAgICAgICAgInBhcnRpYWwiOiBmYWxzZSwK
LSAgICAgICAgIm1lbWJlcnMiOiBbCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5
cGUiOiAiY29uc3QiLAotICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJjb25z
dC10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAg
ICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9u
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogImJvb2xlYW4iLAotICAg
ICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAg
ICAgICAgICAgICAgIm5hbWUiOiAiREVCVUciLAotICAgICAgICAgICAgICAgICJ2YWx1ZSI6IHsK
LSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCi0gICAgICAgICAgICAgICAg
ICAgICJ2YWx1ZSI6IGZhbHNlCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAi
ZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAg
ICAgICAidHlwZSI6ICJjb25zdCIsCi0gICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBl
IjogImNvbnN0LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0g
ICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAg
ICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAic2hvcnQi
LAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0s
Ci0gICAgICAgICAgICAgICAgIm5hbWUiOiAibmVnYXRpdmUiLAotICAgICAgICAgICAgICAgICJ2
YWx1ZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAibnVtYmVyIiwKLSAgICAgICAg
ICAgICAgICAgICAgInZhbHVlIjogIi0xIgotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAg
ICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAg
ICAgICAgICAgICAgInR5cGUiOiAiY29uc3QiLAotICAgICAgICAgICAgICAgICJudWxsYWJsZSI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAg
ICAidHlwZSI6ICJjb25zdC10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBu
dWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjog
Im9jdGV0IiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAg
ICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogIkxGIiwKLSAgICAgICAgICAgICAgICAi
dmFsdWUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogIm51bWJlciIsCi0gICAgICAg
ICAgICAgICAgICAgICJ2YWx1ZSI6ICIxMCIKLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAg
ICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAg
ICAgICAgICAgICAgICJ0eXBlIjogImNvbnN0IiwKLSAgICAgICAgICAgICAgICAibnVsbGFibGUi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAg
ICAgInR5cGUiOiAiY29uc3QtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjog
bnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6
ICJ1bnNpZ25lZCBsb25nIiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAg
ICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogIkJJVF9NQVNLIiwKLSAg
ICAgICAgICAgICAgICAidmFsdWUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogIm51
bWJlciIsCi0gICAgICAgICAgICAgICAgICAgICJ2YWx1ZSI6ICIweDAwMDBmYzAwIgotICAgICAg
ICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAg
IH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiY29uc3QiLAotICAg
ICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBl
IjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJjb25zdC10eXBlIiwKLSAgICAgICAg
ICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFi
bGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgICAgICJpZGxUeXBlIjogImZsb2F0IiwKLSAgICAgICAgICAgICAgICAgICAgImV4
dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjog
IkFWT0dBRFJPIiwKLSAgICAgICAgICAgICAgICAidmFsdWUiOiB7Ci0gICAgICAgICAgICAgICAg
ICAgICJ0eXBlIjogIm51bWJlciIsCi0gICAgICAgICAgICAgICAgICAgICJ2YWx1ZSI6ICI2LjAy
MmUyMyIKLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtd
Ci0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjog
ImNvbnN0IiwKLSAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiY29uc3QtdHlw
ZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAg
ICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJ1bnJlc3RyaWN0ZWQgZmxvYXQi
LAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0s
Ci0gICAgICAgICAgICAgICAgIm5hbWUiOiAic29iaWciLAotICAgICAgICAgICAgICAgICJ2YWx1
ZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiSW5maW5pdHkiLAotICAgICAgICAg
ICAgICAgICAgICAibmVnYXRpdmUiOiBmYWxzZQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAg
ICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0g
ICAgICAgICAgICAgICAgInR5cGUiOiAiY29uc3QiLAotICAgICAgICAgICAgICAgICJudWxsYWJs
ZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAg
ICAgICAidHlwZSI6ICJjb25zdC10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMi
OiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBl
IjogInVucmVzdHJpY3RlZCBkb3VibGUiLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMi
OiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAibWludXNv
bmVkaXZpZGVkYnl6ZXJvIiwKLSAgICAgICAgICAgICAgICAidmFsdWUiOiB7Ci0gICAgICAgICAg
ICAgICAgICAgICJ0eXBlIjogIkluZmluaXR5IiwKLSAgICAgICAgICAgICAgICAgICAgIm5lZ2F0
aXZlIjogdHJ1ZQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgImV4dEF0dHJz
IjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5
cGUiOiAiY29uc3QiLAotICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJjb25z
dC10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAg
ICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9u
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogInNob3J0IiwKLSAgICAg
ICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAg
ICAgICAgICAgICJuYW1lIjogIm5vdGFudW1iZXIiLAotICAgICAgICAgICAgICAgICJ2YWx1ZSI6
IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiTmFOIgotICAgICAgICAgICAgICAgIH0s
Ci0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0KLSAgICAgICAg
XSwKLSAgICAgICAgImluaGVyaXRhbmNlIjogbnVsbCwKLSAgICAgICAgImV4dEF0dHJzIjogW10K
LSAgICB9Ci1dCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vY29uc3RydWN0b3Iu
anNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9jb25zdHJ1Y3Rvci5qc29uCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCBlZmRkMWI1YTZiZWRjNjI2YjQ4M2EwNmQ5MjI2MGU1N2UzN2Fj
ZWVlLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC9zeW50YXgvanNvbi9jb25zdHJ1Y3Rvci5qc29uCisrKyAvZGV2L251bGwKQEAgLTEsMTEz
ICswLDAgQEAKLVsKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAgICAg
ICJuYW1lIjogIkNpcmNsZSIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0gICAgICAgICJt
ZW1iZXJzIjogWwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJp
YnV0ZSIsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpbmhlcml0IjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgInJlYWRvbmx5IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlk
bFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZS10eXBlIiwK
LSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAg
ICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogImZsb2F0IiwKLSAgICAgICAgICAgICAg
ICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAg
ICJuYW1lIjogInIiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJyIiwKLSAgICAg
ICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsK
LSAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJz
dGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJyZWFkb25s
eSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAg
ICAgICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5l
cmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRs
VHlwZSI6ICJmbG9hdCIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAg
ICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJjeCIsCi0gICAgICAgICAg
ICAgICAgImVzY2FwZWROYW1lIjogImN4IiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBb
XQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6
ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaW5oZXJpdCI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICJyZWFkb25seSI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUt
dHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAg
ICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJmbG9hdCIsCi0gICAgICAg
ICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAg
ICAgICAgICAibmFtZSI6ICJjeSIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImN5
IiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfSwKLSAgICAg
ICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAg
ICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICJyZWFkb25seSI6IHRydWUsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAg
ICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZS10eXBlIiwKLSAgICAgICAgICAgICAgICAg
ICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ICAgICJpZGxUeXBlIjogImZsb2F0IiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjog
W10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogImNpcmN1bWZl
cmVuY2UiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJjaXJjdW1mZXJlbmNlIiwK
LSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfQotICAgICAgICBd
LAotICAgICAgICAiaW5oZXJpdGFuY2UiOiBudWxsLAotICAgICAgICAiZXh0QXR0cnMiOiBbCi0g
ICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgIm5hbWUiOiAiQ29uc3RydWN0b3IiLAotICAg
ICAgICAgICAgICAgICJhcmd1bWVudHMiOiBudWxsLAotICAgICAgICAgICAgICAgICJ0eXBlIjog
ImV4dGVuZGVkLWF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInJocyI6IG51bGwKLSAgICAg
ICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgIm5hbWUiOiAiQ29uc3Ry
dWN0b3IiLAotICAgICAgICAgICAgICAgICJhcmd1bWVudHMiOiBbCi0gICAgICAgICAgICAgICAg
ICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJvcHRpb25hbCI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgInZhcmlhZGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAiZGVmYXVsdCI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMi
OiBbXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICJ0eXBlIjogImFyZ3VtZW50LXR5cGUiLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5pb24i
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJmbG9hdCIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAg
ICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJyYWRpdXMi
LAotICAgICAgICAgICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogInJhZGl1cyIKLSAgICAg
ICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgInR5
cGUiOiAiZXh0ZW5kZWQtYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAicmhzIjogbnVsbAot
ICAgICAgICAgICAgfQotICAgICAgICBdCi0gICAgfQotXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3N5bnRheC9qc29uL2RpY3Rpb25hcnktaW5oZXJpdHMuanNvbiBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgv
anNvbi9kaWN0aW9uYXJ5LWluaGVyaXRzLmpzb24KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDU5NWMzNWNmNzk3NDhhYzUzNWEwNGQ1NjRiYzhmZTYzNzdiNWQ3MjguLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29u
L2RpY3Rpb25hcnktaW5oZXJpdHMuanNvbgorKysgL2Rldi9udWxsCkBAIC0xLDg5ICswLDAgQEAK
LVsKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImRpY3Rpb25hcnkiLAotICAgICAgICAibmFtZSI6
ICJQYWludE9wdGlvbnMiLAotICAgICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVt
YmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJmaWVsZCIs
Ci0gICAgICAgICAgICAgICAgIm5hbWUiOiAiZmlsbFBhdHRlcm4iLAotICAgICAgICAgICAgICAg
ICJlc2NhcGVkTmFtZSI6ICJmaWxsUGF0dGVybiIsCi0gICAgICAgICAgICAgICAgInJlcXVpcmVk
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAg
ICAgICJ0eXBlIjogImRpY3Rpb25hcnktdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5l
cmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogdHJ1ZSwKLSAgICAg
ICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxU
eXBlIjogIkRPTVN0cmluZyIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0g
ICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXSwKLSAgICAg
ICAgICAgICAgICAiZGVmYXVsdCI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAic3Ry
aW5nIiwKLSAgICAgICAgICAgICAgICAgICAgInZhbHVlIjogImJsYWNrIgotICAgICAgICAgICAg
ICAgIH0KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5
cGUiOiAiZmllbGQiLAotICAgICAgICAgICAgICAgICJuYW1lIjogInN0cm9rZVBhdHRlcm4iLAot
ICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJzdHJva2VQYXR0ZXJuIiwKLSAgICAgICAg
ICAgICAgICAicmVxdWlyZWQiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsK
LSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiZGljdGlvbmFyeS10eXBlIiwKLSAgICAgICAg
ICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFi
bGUiOiB0cnVlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAgICAgImlkbFR5cGUiOiAiRE9NU3RyaW5nIiwKLSAgICAgICAgICAgICAgICAgICAg
ImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJleHRB
dHRycyI6IFtdLAotICAgICAgICAgICAgICAgICJkZWZhdWx0IjogewotICAgICAgICAgICAgICAg
ICAgICAidHlwZSI6ICJudWxsIgotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0sCi0g
ICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiZmllbGQiLAotICAgICAgICAg
ICAgICAgICJuYW1lIjogInBvc2l0aW9uIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUi
OiAicG9zaXRpb24iLAotICAgICAgICAgICAgICAgICJyZXF1aXJlZCI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJkaWN0
aW9uYXJ5LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAg
ICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAi
dW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiUG9pbnQiLAot
ICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0g
ICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10sCi0gICAgICAgICAgICAgICAgImRlZmF1bHQi
OiBudWxsCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJpbmhlcml0YW5jZSI6
IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgfSwKLSAgICB7Ci0gICAgICAgICJ0
eXBlIjogImRpY3Rpb25hcnkiLAotICAgICAgICAibmFtZSI6ICJXZXRQYWludE9wdGlvbnMiLAot
ICAgICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFsKLSAgICAgICAg
ICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJmaWVsZCIsCi0gICAgICAgICAgICAgICAg
Im5hbWUiOiAiaHlkcm9tZXRyeSIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImh5
ZHJvbWV0cnkiLAotICAgICAgICAgICAgICAgICJyZXF1aXJlZCI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJkaWN0aW9u
YXJ5LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAg
ICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5p
b24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiZmxvYXQiLAotICAg
ICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAg
ICAgICAgICAgICAgImV4dEF0dHJzIjogW10sCi0gICAgICAgICAgICAgICAgImRlZmF1bHQiOiBu
dWxsCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJpbmhlcml0YW5jZSI6ICJQ
YWludE9wdGlvbnMiLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0KLV0KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9kaWN0aW9uYXJ5Lmpzb24gYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3lu
dGF4L2pzb24vZGljdGlvbmFyeS5qc29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4
YmJjNmI5ZGZhYmI0ZTU1YzMwOWZmMmVlMzEwNDI4MjNkY2Y5NjNjLi4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9kaWN0
aW9uYXJ5Lmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSwxNDYgKzAsMCBAQAotWwotICAgIHsKLSAg
ICAgICAgInR5cGUiOiAiZGljdGlvbmFyeSIsCi0gICAgICAgICJuYW1lIjogIlBhaW50T3B0aW9u
cyIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJzIjogWwotICAg
ICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogImZpZWxkIiwKLSAgICAgICAgICAg
ICAgICAibmFtZSI6ICJmaWxsUGF0dGVybiIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1l
IjogImZpbGxQYXR0ZXJuIiwKLSAgICAgICAgICAgICAgICAicmVxdWlyZWQiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAi
ZGljdGlvbmFyeS10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAot
ICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiB0cnVlLAotICAgICAgICAgICAgICAgICAg
ICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiRE9NU3Ry
aW5nIiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAg
ICB9LAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdLAotICAgICAgICAgICAgICAgICJk
ZWZhdWx0IjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAotICAgICAg
ICAgICAgICAgICAgICAidmFsdWUiOiAiYmxhY2siCi0gICAgICAgICAgICAgICAgfQotICAgICAg
ICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJmaWVsZCIs
Ci0gICAgICAgICAgICAgICAgIm5hbWUiOiAic3Ryb2tlUGF0dGVybiIsCi0gICAgICAgICAgICAg
ICAgImVzY2FwZWROYW1lIjogInN0cm9rZVBhdHRlcm4iLAotICAgICAgICAgICAgICAgICJyZXF1
aXJlZCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAg
ICAgICAgICAidHlwZSI6ICJkaWN0aW9uYXJ5LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAi
Z2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IHRydWUsCi0g
ICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAi
aWRsVHlwZSI6ICJET01TdHJpbmciLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBb
XQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10sCi0g
ICAgICAgICAgICAgICAgImRlZmF1bHQiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjog
Im51bGwiCi0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsK
LSAgICAgICAgICAgICAgICAidHlwZSI6ICJmaWVsZCIsCi0gICAgICAgICAgICAgICAgIm5hbWUi
OiAicG9zaXRpb24iLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJwb3NpdGlvbiIs
Ci0gICAgICAgICAgICAgICAgInJlcXVpcmVkIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlk
bFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImRpY3Rpb25hcnktdHlwZSIs
Ci0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAg
ICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJQb2ludCIsCi0gICAgICAgICAgICAg
ICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAg
ICAiZXh0QXR0cnMiOiBbXSwKLSAgICAgICAgICAgICAgICAiZGVmYXVsdCI6IG51bGwKLSAgICAg
ICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiZmllbGQi
LAotICAgICAgICAgICAgICAgICJuYW1lIjogInNlcSIsCi0gICAgICAgICAgICAgICAgImVzY2Fw
ZWROYW1lIjogInNlcSIsCi0gICAgICAgICAgICAgICAgInJlcXVpcmVkIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImRp
Y3Rpb25hcnktdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogInNlcXVlbmNl
IiwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsK
LSAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImRpY3Rpb25hcnktdHlwZSIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAibG9uZyIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICB9
LAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0s
Ci0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10sCi0gICAgICAgICAgICAgICAgImRlZmF1
bHQiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInNlcXVlbmNlIiwKLSAgICAgICAg
ICAgICAgICAgICAgInZhbHVlIjogW10KLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB9
LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogImZpZWxkIiwKLSAgICAg
ICAgICAgICAgICAibmFtZSI6ICJyZXFTZXEiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFt
ZSI6ICJyZXFTZXEiLAotICAgICAgICAgICAgICAgICJyZXF1aXJlZCI6IHRydWUsCi0gICAgICAg
ICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImRpY3Rp
b25hcnktdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAg
ICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1
bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJsb25nIiwKLSAg
ICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAg
ICAgICAgICAgICAgICJleHRBdHRycyI6IFtdLAotICAgICAgICAgICAgICAgICJkZWZhdWx0Ijog
bnVsbAotICAgICAgICAgICAgfQotICAgICAgICBdLAotICAgICAgICAiaW5oZXJpdGFuY2UiOiBu
dWxsLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0sCi0gICAgewotICAgICAgICAidHlw
ZSI6ICJkaWN0aW9uYXJ5IiwKLSAgICAgICAgIm5hbWUiOiAiQSIsCi0gICAgICAgICJwYXJ0aWFs
IjogdHJ1ZSwKLSAgICAgICAgIm1lbWJlcnMiOiBbCi0gICAgICAgICAgICB7Ci0gICAgICAgICAg
ICAgICAgInR5cGUiOiAiZmllbGQiLAotICAgICAgICAgICAgICAgICJuYW1lIjogImgiLAotICAg
ICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJoIiwKLSAgICAgICAgICAgICAgICAicmVxdWly
ZWQiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAg
ICAgICAgInR5cGUiOiAiZGljdGlvbmFyeS10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdl
bmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJp
ZGxUeXBlIjogImxvbmciLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAg
ICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10sCi0gICAgICAg
ICAgICAgICAgImRlZmF1bHQiOiBudWxsCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewot
ICAgICAgICAgICAgICAgICJ0eXBlIjogImZpZWxkIiwKLSAgICAgICAgICAgICAgICAibmFtZSI6
ICJkIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiZCIsCi0gICAgICAgICAgICAg
ICAgInJlcXVpcmVkIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAg
ICAgICAgICAgICAgICAgICJ0eXBlIjogImRpY3Rpb25hcnktdHlwZSIsCi0gICAgICAgICAgICAg
ICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICAgICAiaWRsVHlwZSI6ICJsb25nIiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJz
IjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtd
LAotICAgICAgICAgICAgICAgICJkZWZhdWx0IjogbnVsbAotICAgICAgICAgICAgfQotICAgICAg
ICBdLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0KLV0KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC9zeW50YXgvanNvbi9kb2N1bWVudGF0aW9uLWRvcy5qc29uIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRh
eC9qc29uL2RvY3VtZW50YXRpb24tZG9zLmpzb24KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IGJhYTBiNWEwOWI1ZWUxN2I5NWJjZGQ0MmRiYTRmYWJhMjVjZDM3MzMuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29u
L2RvY3VtZW50YXRpb24tZG9zLmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSwxMCArMCwwIEBACi1b
Ci0gICAgewotICAgICAgICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFtZSI6ICJE
b2N1bWVudGF0aW9uIiwKLSAgICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJl
cnMiOiBbXSwKLSAgICAgICAgImluaGVyaXRhbmNlIjogbnVsbCwKLSAgICAgICAgImV4dEF0dHJz
IjogW10KLSAgICB9Ci1dCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vZG9jdW1l
bnRhdGlvbi5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2RvY3VtZW50YXRpb24uanNvbgpk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYmFhMGI1YTA5YjVlZTE3Yjk1YmNkZDQyZGJh
NGZhYmEyNWNkMzczMy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vZG9jdW1lbnRhdGlvbi5qc29uCisrKyAvZGV2L251
bGwKQEAgLTEsMTAgKzAsMCBAQAotWwotICAgIHsKLSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNl
IiwKLSAgICAgICAgIm5hbWUiOiAiRG9jdW1lbnRhdGlvbiIsCi0gICAgICAgICJwYXJ0aWFsIjog
ZmFsc2UsCi0gICAgICAgICJtZW1iZXJzIjogW10sCi0gICAgICAgICJpbmhlcml0YW5jZSI6IG51
bGwsCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgfQotXQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3N5bnRheC9qc29uL2VudW0uanNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9lbnVtLmpz
b24KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDExZjVkMDlmNTRiNjJiOWViMTRiNWFk
YWUxNTgyMjI2M2QwY2U3MzguLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2VudW0uanNvbgorKysgL2Rldi9udWxsCkBA
IC0xLDEzOCArMCwwIEBACi1bCi0gICAgewotICAgICAgICAidHlwZSI6ICJlbnVtIiwKLSAgICAg
ICAgIm5hbWUiOiAiTWVhbFR5cGUiLAotICAgICAgICAidmFsdWVzIjogWwotICAgICAgICAgICAg
ewotICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCi0gICAgICAgICAgICAgICAgInZh
bHVlIjogInJpY2UiCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAg
ICAgICJ0eXBlIjogInN0cmluZyIsCi0gICAgICAgICAgICAgICAgInZhbHVlIjogIm5vb2RsZXMi
Ci0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjog
InN0cmluZyIsCi0gICAgICAgICAgICAgICAgInZhbHVlIjogIm90aGVyIgotICAgICAgICAgICAg
fQotICAgICAgICBdLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0sCi0gICAgewotICAg
ICAgICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFtZSI6ICJNZWFsIiwKLSAgICAg
ICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJlcnMiOiBbCi0gICAgICAgICAgICB7
Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAi
c3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAicmVhZG9u
bHkiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAg
ICAgICAgInR5cGUiOiAiYXR0cmlidXRlLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2Vu
ZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlk
bFR5cGUiOiAiTWVhbFR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQot
ICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAidHlwZSIsCi0gICAg
ICAgICAgICAgICAgImVzY2FwZWROYW1lIjogInR5cGUiLAotICAgICAgICAgICAgICAgICJleHRB
dHRycyI6IFtdCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAg
ICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJp
bmhlcml0IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5IjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImF0
dHJpYnV0ZS10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAg
ICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAg
InVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogImZsb2F0IiwK
LSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAot
ICAgICAgICAgICAgICAgICJuYW1lIjogInNpemUiLAotICAgICAgICAgICAgICAgICJlc2NhcGVk
TmFtZSI6ICJzaXplIiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAg
ICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJvcGVyYXRpb24i
LAotICAgICAgICAgICAgICAgICJnZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic2V0
dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImRlbGV0ZXIiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAg
ICJ0eXBlIjogInJldHVybi10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBu
dWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjog
InZvaWQiLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAg
ICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiaW5pdGlhbGl6ZSIsCi0gICAgICAgICAg
ICAgICAgImVzY2FwZWROYW1lIjogImluaXRpYWxpemUiLAotICAgICAgICAgICAgICAgICJhcmd1
bWVudHMiOiBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJvcHRpb25hbCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgInZhcmlhZGljIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdCI6IG51bGwsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImFyZ3Vt
ZW50LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAiaWRsVHlwZSI6ICJNZWFsVHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAg
ICAgICAgICAgICAgICAibmFtZSI6ICJ0eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJl
c2NhcGVkTmFtZSI6ICJ0eXBlIgotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAg
ICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAib3B0aW9uYWwiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJ2YXJpYWRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgImRlZmF1bHQiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0
dHJzIjogW10sCi0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInVu
aW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiZmxv
YXQiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAg
ICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAic2l6
ZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAic2l6ZSIKLSAgICAg
ICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgImV4
dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImluaGVyaXRh
bmNlIjogbnVsbCwKLSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9LAotICAgIHsKLSAgICAg
ICAgInR5cGUiOiAiZW51bSIsCi0gICAgICAgICJuYW1lIjogIkFsdE1lYWxUeXBlIiwKLSAgICAg
ICAgInZhbHVlcyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJz
dHJpbmciLAotICAgICAgICAgICAgICAgICJ2YWx1ZSI6ICJyaWNlIgotICAgICAgICAgICAgfSwK
LSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAotICAgICAg
ICAgICAgICAgICJ2YWx1ZSI6ICJub29kbGVzIgotICAgICAgICAgICAgfSwKLSAgICAgICAgICAg
IHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAotICAgICAgICAgICAgICAgICJ2
YWx1ZSI6ICJvdGhlciIKLSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImV4dEF0
dHJzIjogW10KLSAgICB9Ci1dCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vZXF1
aXZhbGVudC1kZWNsLmpzb24gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vZXF1aXZhbGVudC1kZWNs
Lmpzb24KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGVlMDc5YTc3NzkwNTMxNjY2ZDIx
NGI2N2I1OGVhMGQ5Zjg5ZTJmMjguLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2VxdWl2YWxlbnQtZGVjbC5qc29uCisr
KyAvZGV2L251bGwKQEAgLTEsMzI2ICswLDAgQEAKLVsKLSAgICB7Ci0gICAgICAgICJ0eXBlIjog
ImludGVyZmFjZSIsCi0gICAgICAgICJuYW1lIjogIkRpY3Rpb25hcnkiLAotICAgICAgICAicGFy
dGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAg
ICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJzdGF0aWMi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJyZWFkb25seSI6IHRy
dWUsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0
eXBlIjogImF0dHJpYnV0ZS10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBu
dWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjog
InVuc2lnbmVkIGxvbmciLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAg
ICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAicHJvcGVydHlDb3VudCIs
Ci0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogInByb3BlcnR5Q291bnQiLAotICAgICAg
ICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewot
ICAgICAgICAgICAgICAgICJ0eXBlIjogIm9wZXJhdGlvbiIsCi0gICAgICAgICAgICAgICAgImdl
dHRlciI6IHRydWUsCi0gICAgICAgICAgICAgICAgInNldHRlciI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICJkZWxldGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJyZXR1cm4tdHlwZSIs
Ci0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAg
ICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJmbG9hdCIsCi0gICAgICAgICAgICAg
ICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAg
ICAibmFtZSI6ICJnZXRQcm9wZXJ0eSIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjog
ImdldFByb3BlcnR5IiwKLSAgICAgICAgICAgICAgICAiYXJndW1lbnRzIjogWwotICAgICAgICAg
ICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAib3B0aW9uYWwiOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICJ2YXJpYWRpYyI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgImRlZmF1bHQiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgImV4
dEF0dHJzIjogW10sCi0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
InVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAi
RE9NU3RyaW5nIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQot
ICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJuYW1l
IjogInByb3BlcnR5TmFtZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUi
OiAicHJvcGVydHlOYW1lIgotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAg
XSwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfSwKLSAgICAg
ICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJvcGVyYXRpb24iLAotICAgICAgICAg
ICAgICAgICJnZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic2V0dGVyIjogdHJ1ZSwK
LSAgICAgICAgICAgICAgICAiZGVsZXRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdGF0
aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAicmV0
dXJuLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAg
ICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5p
b24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAidm9pZCIsCi0gICAg
ICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAg
ICAgICAgICAgICAibmFtZSI6ICJzZXRQcm9wZXJ0eSIsCi0gICAgICAgICAgICAgICAgImVzY2Fw
ZWROYW1lIjogInNldFByb3BlcnR5IiwKLSAgICAgICAgICAgICAgICAiYXJndW1lbnRzIjogWwot
ICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAib3B0aW9uYWwi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ2YXJpYWRpYyI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHQiOiBudWxsLAotICAgICAgICAgICAgICAgICAg
ICAgICAgImV4dEF0dHJzIjogW10sCi0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6
IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImlk
bFR5cGUiOiAiRE9NU3RyaW5nIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0
cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJuYW1lIjogInByb3BlcnR5TmFtZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXNj
YXBlZE5hbWUiOiAicHJvcGVydHlOYW1lIgotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAg
ICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAib3B0aW9uYWwiOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ2YXJpYWRpYyI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgImRlZmF1bHQiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAg
ImV4dEF0dHJzIjogW10sCi0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUi
OiAiZmxvYXQiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0g
ICAgICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUi
OiAicHJvcGVydHlWYWx1ZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUi
OiAicHJvcGVydHlWYWx1ZSIKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAg
IF0sCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0KLSAgICAg
ICAgXSwKLSAgICAgICAgImluaGVyaXRhbmNlIjogbnVsbCwKLSAgICAgICAgImV4dEF0dHJzIjog
W10KLSAgICB9LAotICAgIHsKLSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAg
Im5hbWUiOiAiRGljdGlvbmFyeTIiLAotICAgICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAg
ICAibWVtYmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJh
dHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaW5oZXJpdCI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICJyZWFkb25seSI6IHRydWUsCi0gICAgICAgICAgICAgICAg
ImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZS10eXBl
IiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAg
ICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogInVuc2lnbmVkIGxvbmciLAotICAg
ICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAg
ICAgICAgICAgICAgIm5hbWUiOiAicHJvcGVydHlDb3VudCIsCi0gICAgICAgICAgICAgICAgImVz
Y2FwZWROYW1lIjogInByb3BlcnR5Q291bnQiLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6
IFtdCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBl
IjogIm9wZXJhdGlvbiIsCi0gICAgICAgICAgICAgICAgImdldHRlciI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICJzZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiZGVsZXRlciI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAi
c3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAg
ICAgICAgICAgICAgICAgInR5cGUiOiAicmV0dXJuLXR5cGUiLAotICAgICAgICAgICAgICAgICAg
ICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAg
ICAgImlkbFR5cGUiOiAiZmxvYXQiLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBb
XQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiZ2V0UHJvcGVy
dHkiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJnZXRQcm9wZXJ0eSIsCi0gICAg
ICAgICAgICAgICAgImFyZ3VtZW50cyI6IFsKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAg
ICAgICAgICAgICAgICAgICAgIm9wdGlvbmFsIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAidmFyaWFkaWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0
IjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdLAotICAgICAg
ICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgInR5cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogIkRPTVN0cmluZyIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAg
ICAgIH0sCi0gICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJwcm9wZXJ0eU5hbWUiLAot
ICAgICAgICAgICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogInByb3BlcnR5TmFtZSIKLSAg
ICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAg
ImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAg
ICAgICAgInR5cGUiOiAib3BlcmF0aW9uIiwKLSAgICAgICAgICAgICAgICAiZ2V0dGVyIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgInNldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJk
ZWxldGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBl
IjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAgICAg
ICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxh
YmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJ2b2lkIiwKLSAgICAgICAgICAgICAgICAgICAgImV4
dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjog
InNldFByb3BlcnR5IiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAic2V0UHJvcGVy
dHkiLAotICAgICAgICAgICAgICAgICJhcmd1bWVudHMiOiBbCi0gICAgICAgICAgICAgICAgICAg
IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJvcHRpb25hbCI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgInZhcmlhZGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAiZGVmYXVsdCI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBb
XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJ0eXBlIjogImFyZ3VtZW50LXR5cGUiLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAi
bnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJET01TdHJpbmci
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAg
ICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAicHJvcGVy
dHlOYW1lIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJwcm9wZXJ0
eU5hbWUiCi0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJvcHRpb25hbCI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgInZhcmlhZGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZGVm
YXVsdCI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICJ0eXBlIjogImFyZ3VtZW50LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFi
bGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJmbG9hdCIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAg
ICAgIH0sCi0gICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJwcm9wZXJ0eVZhbHVlIiwK
LSAgICAgICAgICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJwcm9wZXJ0eVZhbHVlIgot
ICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAg
ICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAg
ICAgICAgICAidHlwZSI6ICJvcGVyYXRpb24iLAotICAgICAgICAgICAgICAgICJnZXR0ZXIiOiB0
cnVlLAotICAgICAgICAgICAgICAgICJzZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAi
ZGVsZXRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlw
ZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAicmV0dXJuLXR5cGUiLAotICAgICAg
ICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxs
YWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiZmxvYXQiLAotICAgICAgICAgICAgICAgICAgICAi
ZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUi
OiBudWxsLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6IG51bGwsCi0gICAgICAgICAg
ICAgICAgImFyZ3VtZW50cyI6IFsKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAg
ICAgICAgICAgICAgIm9wdGlvbmFsIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAi
dmFyaWFkaWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0IjogbnVs
bCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdLAotICAgICAgICAgICAg
ICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5
cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVy
aWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogIkRPTVN0cmluZyIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgICAgIH0s
Ci0gICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJwcm9wZXJ0eU5hbWUiLAotICAgICAg
ICAgICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogInByb3BlcnR5TmFtZSIKLSAgICAgICAg
ICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgImV4dEF0
dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAg
InR5cGUiOiAib3BlcmF0aW9uIiwKLSAgICAgICAgICAgICAgICAiZ2V0dGVyIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgInNldHRlciI6IHRydWUsCi0gICAgICAgICAgICAgICAgImRlbGV0ZXIi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0g
ICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInJldHVybi10eXBlIiwKLSAgICAgICAgICAgICAg
ICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgICAgICJpZGxUeXBlIjogInZvaWQiLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMi
OiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiBudWxsLAot
ICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6IG51bGwsCi0gICAgICAgICAgICAgICAgImFy
Z3VtZW50cyI6IFsKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAg
ICAgIm9wdGlvbmFsIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAidmFyaWFkaWMi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0IjogbnVsbCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdLAotICAgICAgICAgICAgICAgICAgICAg
ICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXJn
dW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxs
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJpZGxUeXBlIjogIkRPTVN0cmluZyIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAg
ICAgICAgICAgICAgICAgICAibmFtZSI6ICJwcm9wZXJ0eU5hbWUiLAotICAgICAgICAgICAgICAg
ICAgICAgICAgImVzY2FwZWROYW1lIjogInByb3BlcnR5TmFtZSIKLSAgICAgICAgICAgICAgICAg
ICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIm9w
dGlvbmFsIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAidmFyaWFkaWMiOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0IjogbnVsbCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJleHRBdHRycyI6IFtdLAotICAgICAgICAgICAgICAgICAgICAgICAgImlk
bFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXJndW1lbnQt
dHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJpZGxUeXBlIjogImZsb2F0IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0
QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICJuYW1lIjogInByb3BlcnR5VmFsdWUiLAotICAgICAgICAgICAgICAgICAgICAgICAg
ImVzY2FwZWROYW1lIjogInByb3BlcnR5VmFsdWUiCi0gICAgICAgICAgICAgICAgICAgIH0KLSAg
ICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAg
ICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJpbmhlcml0YW5jZSI6IG51bGwsCi0gICAgICAg
ICJleHRBdHRycyI6IFtdCi0gICAgfQotXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9q
c29uL2V4Y2VwdGlvbi1pbmhlcml0YW5jZS5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2V4
Y2VwdGlvbi1pbmhlcml0YW5jZS5qc29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0
YTc2Yjk4Mjg1Njk3ZTM5YjNiN2EyODRiYjIwZThmYTBhNzJjMWFiLi4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9leGNl
cHRpb24taW5oZXJpdGFuY2UuanNvbgorKysgL2Rldi9udWxsCkBAIC0xLDM2ICswLDAgQEAKLVsK
LSAgICB7Ci0gICAgICAgICJ0eXBlIjogImV4Y2VwdGlvbiIsCi0gICAgICAgICJuYW1lIjogIkRP
TUV4Y2VwdGlvbiIsCi0gICAgICAgICJtZW1iZXJzIjogWwotICAgICAgICAgICAgewotICAgICAg
ICAgICAgICAgICJ0eXBlIjogImZpZWxkIiwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJjb2Rl
IiwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInNl
cXVlbmNlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAg
ICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAg
ICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJ1bnNpZ25l
ZCBzaG9ydCIKLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6
IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJpbmhlcml0YW5jZSI6IG51
bGwsCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgfSwKLSAgICB7Ci0gICAgICAgICJ0eXBl
IjogImV4Y2VwdGlvbiIsCi0gICAgICAgICJuYW1lIjogIkhpZXJhcmNoeVJlcXVlc3RFcnJvciIs
Ci0gICAgICAgICJtZW1iZXJzIjogW10sCi0gICAgICAgICJpbmhlcml0YW5jZSI6ICJET01FeGNl
cHRpb24iLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0sCi0gICAgewotICAgICAgICAi
dHlwZSI6ICJleGNlcHRpb24iLAotICAgICAgICAibmFtZSI6ICJOb01vZGlmaWNhdGlvbkFsbG93
ZWRFcnJvciIsCi0gICAgICAgICJtZW1iZXJzIjogW10sCi0gICAgICAgICJpbmhlcml0YW5jZSI6
ICJET01FeGNlcHRpb24iLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0KLV0KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24v
ZXh0ZW5kZWQtYXR0cmlidXRlcy5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2V4dGVuZGVk
LWF0dHJpYnV0ZXMuanNvbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjVmNTZmMDM0
MGFjODczNmIwNDhmYzJjNDhkZTg3YzJiMzdjNmJkNC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vZXh0ZW5kZWQtYXR0
cmlidXRlcy5qc29uCisrKyAvZGV2L251bGwKQEAgLTEsMjQwICswLDAgQEAKLVsKLSAgICB7Ci0g
ICAgICAgICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAgICAgICJuYW1lIjogIlNlcnZpY2VXb3Jr
ZXJHbG9iYWxTY29wZSIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1i
ZXJzIjogW10sCi0gICAgICAgICJpbmhlcml0YW5jZSI6ICJXb3JrZXJHbG9iYWxTY29wZSIsCi0g
ICAgICAgICJleHRBdHRycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAibmFt
ZSI6ICJHbG9iYWwiLAotICAgICAgICAgICAgICAgICJhcmd1bWVudHMiOiBudWxsLAotICAgICAg
ICAgICAgICAgICJ0eXBlIjogImV4dGVuZGVkLWF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAg
InJocyI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiaWRlbnRpZmllci1saXN0IiwK
LSAgICAgICAgICAgICAgICAgICAgInZhbHVlIjogWwotICAgICAgICAgICAgICAgICAgICAgICAg
IldvcmtlciIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiU2VydmljZVdvcmtlciIKLSAgICAg
ICAgICAgICAgICAgICAgXQotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0sCi0gICAg
ICAgICAgICB7Ci0gICAgICAgICAgICAgICAgIm5hbWUiOiAiRXhwb3NlZCIsCi0gICAgICAgICAg
ICAgICAgImFyZ3VtZW50cyI6IG51bGwsCi0gICAgICAgICAgICAgICAgInR5cGUiOiAiZXh0ZW5k
ZWQtYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAicmhzIjogewotICAgICAgICAgICAgICAg
ICAgICAidHlwZSI6ICJpZGVudGlmaWVyIiwKLSAgICAgICAgICAgICAgICAgICAgInZhbHVlIjog
IlNlcnZpY2VXb3JrZXIiCi0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgfQotICAgICAg
ICBdCi0gICAgfSwKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAgICAg
ICJuYW1lIjogIklkSW50ZXJmYWNlIiwKLSAgICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAg
ICAgIm1lbWJlcnMiOiBbXSwKLSAgICAgICAgImluaGVyaXRhbmNlIjogbnVsbCwKLSAgICAgICAg
ImV4dEF0dHJzIjogWwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJuYW1lIjogIklu
dEF0dHIiLAotICAgICAgICAgICAgICAgICJhcmd1bWVudHMiOiBudWxsLAotICAgICAgICAgICAg
ICAgICJ0eXBlIjogImV4dGVuZGVkLWF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInJocyI6
IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiaW50ZWdlciIsCi0gICAgICAgICAgICAg
ICAgICAgICJ2YWx1ZSI6ICIwIgotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0sCi0g
ICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgIm5hbWUiOiAiRmxvYXRBdHRyIiwKLSAgICAg
ICAgICAgICAgICAiYXJndW1lbnRzIjogbnVsbCwKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJl
eHRlbmRlZC1hdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJyaHMiOiB7Ci0gICAgICAgICAg
ICAgICAgICAgICJ0eXBlIjogImZsb2F0IiwKLSAgICAgICAgICAgICAgICAgICAgInZhbHVlIjog
IjMuMTQiCi0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsK
LSAgICAgICAgICAgICAgICAibmFtZSI6ICJTdHJpbmdBdHRyIiwKLSAgICAgICAgICAgICAgICAi
YXJndW1lbnRzIjogbnVsbCwKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJleHRlbmRlZC1hdHRy
aWJ1dGUiLAotICAgICAgICAgICAgICAgICJyaHMiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0
eXBlIjogInN0cmluZyIsCi0gICAgICAgICAgICAgICAgICAgICJ2YWx1ZSI6ICJcImFiY1wiIgot
ICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0KLSAgICAgICAgXQotICAgIH0sCi0gICAg
ewotICAgICAgICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFtZSI6ICJDaXJjbGUi
LAotICAgICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFsKLSAgICAg
ICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAg
ICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICJyZWFkb25seSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAg
ICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAgICAgICAgICAgICAg
ICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICAgICAiaWRsVHlwZSI6ICJkb3VibGUiLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMi
OiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiciIsCi0g
ICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogInIiLAotICAgICAgICAgICAgICAgICJleHRB
dHRycyI6IFtdCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAg
ICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJp
bmhlcml0IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5IjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImF0
dHJpYnV0ZS10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAg
ICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAg
InVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogImRvdWJsZSIs
Ci0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwK
LSAgICAgICAgICAgICAgICAibmFtZSI6ICJjeCIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWRO
YW1lIjogImN4IiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAg
fSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUiLAot
ICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5n
aWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICJyZWFkb25seSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjog
ewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAgICAg
ICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxh
YmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJkb3VibGUiLAotICAgICAgICAgICAgICAgICAgICAi
ZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUi
OiAiY3kiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJjeSIsCi0gICAgICAgICAg
ICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAg
ICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAic3RhdGlj
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAicmVhZG9ubHkiOiB0
cnVlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAi
dHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjog
bnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6
ICJkb3VibGUiLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAg
ICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiY2lyY3VtZmVyZW5jZSIsCi0gICAg
ICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImNpcmN1bWZlcmVuY2UiLAotICAgICAgICAgICAg
ICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJp
bmhlcml0YW5jZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6IFsKLSAgICAgICAgICAgIHsK
LSAgICAgICAgICAgICAgICAibmFtZSI6ICJDb25zdHJ1Y3RvciIsCi0gICAgICAgICAgICAgICAg
ImFyZ3VtZW50cyI6IG51bGwsCi0gICAgICAgICAgICAgICAgInR5cGUiOiAiZXh0ZW5kZWQtYXR0
cmlidXRlIiwKLSAgICAgICAgICAgICAgICAicmhzIjogbnVsbAotICAgICAgICAgICAgfSwKLSAg
ICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJDb25zdHJ1Y3RvciIsCi0gICAg
ICAgICAgICAgICAgImFyZ3VtZW50cyI6IFsKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAg
ICAgICAgICAgICAgICAgICAgIm9wdGlvbmFsIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAidmFyaWFkaWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0
IjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdLAotICAgICAg
ICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgInR5cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogImRvdWJsZSIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgICAg
IH0sCi0gICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJyYWRpdXMiLAotICAgICAgICAg
ICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogInJhZGl1cyIKLSAgICAgICAgICAgICAgICAg
ICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgInR5cGUiOiAiZXh0ZW5k
ZWQtYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAicmhzIjogbnVsbAotICAgICAgICAgICAg
fQotICAgICAgICBdCi0gICAgfSwKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImludGVyZmFjZSIs
Ci0gICAgICAgICJuYW1lIjogIkkiLAotICAgICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAg
ICAibWVtYmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJh
dHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaW5oZXJpdCI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICJyZWFkb25seSI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlw
ZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAg
ICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IHRy
dWUsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogWwotICAgICAgICAgICAgICAgICAg
ICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogbnVsbCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUi
OiAibG9uZyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAg
ICAgICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgICAgICB7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiBudWxsLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAi
bnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJOb2RlIiwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAg
ICAgICAgICAgfQotICAgICAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgICAgICAi
ZXh0QXR0cnMiOiBbCi0gICAgICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIm5hbWUiOiAiWEF0dHIiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICJhcmd1bWVudHMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjog
ImV4dGVuZGVkLWF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInJocyI6
IG51bGwKLSAgICAgICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAgXQot
ICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiYXR0cmliIiwKLSAg
ICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiYXR0cmliIiwKLSAgICAgICAgICAgICAgICAi
ZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfQotICAgICAgICBdLAotICAgICAgICAiaW5oZXJp
dGFuY2UiOiBudWxsLAotICAgICAgICAiZXh0QXR0cnMiOiBbCi0gICAgICAgICAgICB7Ci0gICAg
ICAgICAgICAgICAgIm5hbWUiOiAiRXhwb3NlZCIsCi0gICAgICAgICAgICAgICAgImFyZ3VtZW50
cyI6IG51bGwsCi0gICAgICAgICAgICAgICAgInR5cGUiOiAiZXh0ZW5kZWQtYXR0cmlidXRlIiwK
LSAgICAgICAgICAgICAgICAicmhzIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJp
ZGVudGlmaWVyIiwKLSAgICAgICAgICAgICAgICAgICAgInZhbHVlIjogIldpbmRvdyIKLSAgICAg
ICAgICAgICAgICB9Ci0gICAgICAgICAgICB9Ci0gICAgICAgIF0KLSAgICB9Ci1dCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vZ2VuZXJpYy5qc29uIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRh
eC9qc29uL2dlbmVyaWMuanNvbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDNjMjZh
YzdjZDBkZGQ5ZWIxNjdkN2E1ZWE5ODkxZjgyZmIwNmQ1Yi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vZ2VuZXJpYy5q
c29uCisrKyAvZGV2L251bGwKQEAgLTEsMTc2ICswLDAgQEAKLVsKLSAgICB7Ci0gICAgICAgICJ0
eXBlIjogImludGVyZmFjZSIsCi0gICAgICAgICJuYW1lIjogIkZvbyIsCi0gICAgICAgICJwYXJ0
aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJzIjogWwotICAgICAgICAgICAgewotICAgICAg
ICAgICAgICAgICJ0eXBlIjogIm9wZXJhdGlvbiIsCi0gICAgICAgICAgICAgICAgImdldHRlciI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICJzZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAiZGVsZXRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRs
VHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAicmV0dXJuLXR5cGUiLAotICAg
ICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6ICJQcm9taXNlIiwKLSAgICAgICAgICAgICAgICAg
ICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJ0eXBlIjogInJldHVybi10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJnZW5l
cmljIjogIlByb21pc2UiLAotICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0
eXBlIjogInJldHVybi10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJp
YyI6ICJzZXF1ZW5jZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJ0eXBlIjogInJldHVybi10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAibnVsbGFibGUiOiB0cnVlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAi
dW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUi
OiAiRE9NU3RyaW5nIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJz
IjogW10KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgICAgICAgICB9LAotICAg
ICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAg
fSwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9
LAotICAgICAgICAgICAgICAgICJuYW1lIjogImJhciIsCi0gICAgICAgICAgICAgICAgImVzY2Fw
ZWROYW1lIjogImJhciIsCi0gICAgICAgICAgICAgICAgImFyZ3VtZW50cyI6IFtdLAotICAgICAg
ICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewot
ICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInN0
YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICJpbmhlcml0IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5
IjogdHJ1ZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAg
ICAgInR5cGUiOiAiYXR0cmlidXRlLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJp
YyI6ICJQcm9taXNlIiwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAi
aWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZS10
eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJE
T01TdHJpbmciLAotICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAg
ICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAg
ICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogImJheiIsCi0gICAgICAg
ICAgICAgICAgImVzY2FwZWROYW1lIjogImJheiIsCi0gICAgICAgICAgICAgICAgImV4dEF0dHJz
IjogW10KLSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImluaGVyaXRhbmNlIjog
bnVsbCwKLSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9LAotICAgIHsKLSAgICAgICAgInR5
cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUiOiAiU2VydmljZVdvcmtlckNsaWVudHMi
LAotICAgICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFsKLSAgICAg
ICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJvcGVyYXRpb24iLAotICAgICAgICAg
ICAgICAgICJnZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic2V0dGVyIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgImRlbGV0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3Rh
dGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInJl
dHVybi10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiAiUHJvbWlzZSIsCi0g
ICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAg
ICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAibnVs
bGFibGUiOiB0cnVlLAotICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJDbGllbnQiLAotICAgICAgICAgICAg
ICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAg
ICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAg
ICAgICAgICAgICJuYW1lIjogImdldFNlcnZpY2VkIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBl
ZE5hbWUiOiAiZ2V0U2VydmljZWQiLAotICAgICAgICAgICAgICAgICJhcmd1bWVudHMiOiBbXSwK
LSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfSwKLSAgICAgICAg
ICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJvcGVyYXRpb24iLAotICAgICAgICAgICAg
ICAgICJnZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic2V0dGVyIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgImRlbGV0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RhdGlj
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInJldHVy
bi10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiAiUHJvbWlzZSIsCi0gICAg
ICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAi
dW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAg
ICAgICAgICAgICAgICAgICAidHlwZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFi
bGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiYW55IiwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAg
ICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAg
ICAgICAibmFtZSI6ICJyZWxvYWRBbGwiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6
ICJyZWxvYWRBbGwiLAotICAgICAgICAgICAgICAgICJhcmd1bWVudHMiOiBbXSwKLSAgICAgICAg
ICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfQotICAgICAgICBdLAotICAgICAg
ICAiaW5oZXJpdGFuY2UiOiBudWxsLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0sCi0g
ICAgewotICAgICAgICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFtZSI6ICJGZXRj
aEV2ZW50IiwKLSAgICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJlcnMiOiBb
Ci0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAib3BlcmF0aW9uIiwKLSAg
ICAgICAgICAgICAgICAiZ2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInNldHRlciI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICJkZWxldGVyIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlw
ZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogIlByb21p
c2UiLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjog
ewotICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAicmV0dXJuLXR5cGUiLAotICAgICAg
ICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAg
ICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogImFueSIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICB9LAot
ICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0g
ICAgICAgICAgICAgICAgIm5hbWUiOiAiZGVmYXVsdCIsCi0gICAgICAgICAgICAgICAgImVzY2Fw
ZWROYW1lIjogImRlZmF1bHQiLAotICAgICAgICAgICAgICAgICJhcmd1bWVudHMiOiBbXSwKLSAg
ICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfQotICAgICAgICBdLAot
ICAgICAgICAiaW5oZXJpdGFuY2UiOiAiRXZlbnQiLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQot
ICAgIH0KLV0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9nZXR0ZXItc2V0dGVy
Lmpzb24gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vZ2V0dGVyLXNldHRlci5qc29uCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2ZjgxOTZmZTU2ZGQzZDA0ZTlmNjRmNzE5YzgyYzU1MjE5
MzMyMGQ4Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC9zeW50YXgvanNvbi9nZXR0ZXItc2V0dGVyLmpzb24KKysrIC9kZXYvbnVsbApAQCAt
MSwxMTkgKzAsMCBAQAotWwotICAgIHsKLSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAg
ICAgICAgIm5hbWUiOiAiRGljdGlvbmFyeSIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0g
ICAgICAgICJtZW1iZXJzIjogWwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBl
IjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpbmhlcml0
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5IjogdHJ1ZSwKLSAgICAgICAgICAg
ICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRl
LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAg
ICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24i
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAidW5zaWduZWQgbG9uZyIs
Ci0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwK
LSAgICAgICAgICAgICAgICAibmFtZSI6ICJwcm9wZXJ0eUNvdW50IiwKLSAgICAgICAgICAgICAg
ICAiZXNjYXBlZE5hbWUiOiAicHJvcGVydHlDb3VudCIsCi0gICAgICAgICAgICAgICAgImV4dEF0
dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAg
InR5cGUiOiAib3BlcmF0aW9uIiwKLSAgICAgICAgICAgICAgICAiZ2V0dGVyIjogdHJ1ZSwKLSAg
ICAgICAgICAgICAgICAic2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImRlbGV0ZXIi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0g
ICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInJldHVybi10eXBlIiwKLSAgICAgICAgICAgICAg
ICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgICAgICJpZGxUeXBlIjogImZsb2F0IiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJz
IjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogbnVsbCwK
LSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiBudWxsLAotICAgICAgICAgICAgICAgICJh
cmd1bWVudHMiOiBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJvcHRpb25hbCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgInZhcmlhZGlj
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdCI6IG51bGwsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImFy
Z3VtZW50LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVs
bCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAiaWRsVHlwZSI6ICJET01TdHJpbmciLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgICAgICAgICB9LAotICAgICAg
ICAgICAgICAgICAgICAgICAgIm5hbWUiOiAicHJvcGVydHlOYW1lIiwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJwcm9wZXJ0eU5hbWUiCi0gICAgICAgICAgICAgICAg
ICAgIH0KLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtd
Ci0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjog
Im9wZXJhdGlvbiIsCi0gICAgICAgICAgICAgICAgImdldHRlciI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICJzZXR0ZXIiOiB0cnVlLAotICAgICAgICAgICAgICAgICJkZWxldGVyIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJp
bmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAg
ICAgICAgICAgICAidHlwZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJn
ZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAi
aWRsVHlwZSI6ICJ2b2lkIiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAg
ICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogbnVsbCwKLSAgICAgICAg
ICAgICAgICAiZXNjYXBlZE5hbWUiOiBudWxsLAotICAgICAgICAgICAgICAgICJhcmd1bWVudHMi
OiBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJvcHRp
b25hbCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgInZhcmlhZGljIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdCI6IG51bGwsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAiZXh0QXR0cnMiOiBbXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJpZGxU
eXBlIjogewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImFyZ3VtZW50LXR5
cGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAiaWRsVHlwZSI6ICJET01TdHJpbmciLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJl
eHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAg
ICAgICAgICAgIm5hbWUiOiAicHJvcGVydHlOYW1lIiwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJlc2NhcGVkTmFtZSI6ICJwcm9wZXJ0eU5hbWUiCi0gICAgICAgICAgICAgICAgICAgIH0sCi0g
ICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJvcHRpb25hbCI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgInZhcmlhZGljIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdCI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAiZXh0QXR0cnMiOiBbXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjog
ewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImFyZ3VtZW50LXR5cGUiLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRs
VHlwZSI6ICJmbG9hdCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjog
W10KLSAgICAgICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgICAgICAi
bmFtZSI6ICJwcm9wZXJ0eVZhbHVlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJlc2NhcGVk
TmFtZSI6ICJwcm9wZXJ0eVZhbHVlIgotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAg
ICAgICAgXSwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfQot
ICAgICAgICBdLAotICAgICAgICAiaW5oZXJpdGFuY2UiOiBudWxsLAotICAgICAgICAiZXh0QXR0
cnMiOiBbXQotICAgIH0KLV0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9pZGVu
dGlmaWVyLXF1YWxpZmllZC1uYW1lcy5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2lkZW50
aWZpZXItcXVhbGlmaWVkLW5hbWVzLmpzb24KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDA5OGNkY2IxZmJiYzRmMTQwZjZhYWRhYTdlZTI5NzdiMmZjY2Q0YjkuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2lk
ZW50aWZpZXItcXVhbGlmaWVkLW5hbWVzLmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSwxODkgKzAs
MCBAQAotWwotICAgIHsKLSAgICAgICAgInR5cGUiOiAidHlwZWRlZiIsCi0gICAgICAgICJpZGxU
eXBlIjogewotICAgICAgICAgICAgInR5cGUiOiAidHlwZWRlZi10eXBlIiwKLSAgICAgICAgICAg
ICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAg
ICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAiaWRsVHlwZSI6ICJmbG9hdCIsCi0g
ICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICB9LAotICAgICAgICAibmFtZSI6ICJu
dW1iZXIiLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0sCi0gICAgewotICAgICAgICAi
dHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFtZSI6ICJTeXN0ZW0iLAotICAgICAgICAi
cGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAg
ICAgICAgICAgICAgICAidHlwZSI6ICJvcGVyYXRpb24iLAotICAgICAgICAgICAgICAgICJnZXR0
ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgImRlbGV0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInJldHVybi10eXBlIiwK
LSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAg
ICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogIm9iamVjdCIsCi0gICAgICAgICAgICAg
ICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAg
ICAibmFtZSI6ICJjcmVhdGVPYmplY3QiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6
ICJjcmVhdGVPYmplY3QiLAotICAgICAgICAgICAgICAgICJhcmd1bWVudHMiOiBbCi0gICAgICAg
ICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJvcHRpb25hbCI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICAgICAgICAgInZhcmlhZGljIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAiZGVmYXVsdCI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAi
ZXh0QXR0cnMiOiBbXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImFyZ3VtZW50LXR5cGUiLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6
ICJET01TdHJpbmciLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtd
Ci0gICAgICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICAgICAgIm5h
bWUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6
ICJfaW50ZXJmYWNlIgotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXSwK
LSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfSwKLSAgICAgICAg
ICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJvcGVyYXRpb24iLAotICAgICAgICAgICAg
ICAgICJnZXR0ZXIiOiB0cnVlLAotICAgICAgICAgICAgICAgICJzZXR0ZXIiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAiZGVsZXRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdGF0aWMi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAicmV0dXJu
LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAg
ICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24i
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiRE9NU3RyaW5nIiwKLSAg
ICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAg
ICAgICAgICAgICAgICJuYW1lIjogbnVsbCwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUi
OiBudWxsLAotICAgICAgICAgICAgICAgICJhcmd1bWVudHMiOiBbCi0gICAgICAgICAgICAgICAg
ICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJvcHRpb25hbCI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgInZhcmlhZGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAiZGVmYXVsdCI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMi
OiBbXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICJ0eXBlIjogImFyZ3VtZW50LXR5cGUiLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5pb24i
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJET01TdHJp
bmciLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAg
ICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAia2V5
TmFtZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAia2V5TmFtZSIK
LSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAg
ICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImlu
aGVyaXRhbmNlIjogbnVsbCwKLSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9LAotICAgIHsK
LSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUiOiAiVGV4dEZpZWxk
IiwKLSAgICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJlcnMiOiBbCi0gICAg
ICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAgICAgICAg
ICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAicmVhZG9ubHkiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAg
ICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlLXR5cGUiLAotICAgICAgICAgICAgICAg
ICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAgICAgImlkbFR5cGUiOiAiYm9vbGVhbiIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRy
cyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJjb25z
dCIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogIl9jb25zdCIsCi0gICAgICAgICAg
ICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAg
ICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAic3RhdGlj
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAicmVhZG9ubHkiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAg
InR5cGUiOiAiYXR0cmlidXRlLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6
IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IHRydWUsCi0gICAgICAgICAg
ICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6
ICJET01TdHJpbmciLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAg
ICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAidmFsdWUiLAotICAgICAgICAg
ICAgICAgICJlc2NhcGVkTmFtZSI6ICJfdmFsdWUiLAotICAgICAgICAgICAgICAgICJleHRBdHRy
cyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJpbmhlcml0YW5jZSI6
IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgfSwKLSAgICB7Ci0gICAgICAgICJ0
eXBlIjogImludGVyZmFjZSIsCi0gICAgICAgICJuYW1lIjogIkZvb0V2ZW50VGFyZ2V0IiwKLSAg
ICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJlcnMiOiBbCi0gICAgICAgICAg
ICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAib3BlcmF0aW9uIiwKLSAgICAgICAgICAgICAg
ICAiZ2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInNldHRlciI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICJkZWxldGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJyZXR1cm4t
dHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAg
ICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJ2b2lkIiwKLSAgICAgICAg
ICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAg
ICAgICAgICJuYW1lIjogImFkZEV2ZW50TGlzdGVuZXIiLAotICAgICAgICAgICAgICAgICJlc2Nh
cGVkTmFtZSI6ICJhZGRFdmVudExpc3RlbmVyIiwKLSAgICAgICAgICAgICAgICAiYXJndW1lbnRz
IjogWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAib3B0
aW9uYWwiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ2YXJpYWRpYyI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHQiOiBudWxsLAotICAgICAgICAgICAg
ICAgICAgICAgICAgImV4dEF0dHJzIjogW10sCi0gICAgICAgICAgICAgICAgICAgICAgICAiaWRs
VHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10
eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogdHJ1ZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAiaWRsVHlwZSI6ICJFdmVudExpc3RlbmVyIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJuYW1lIjogImNhbGxiYWNrIiwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJlc2NhcGVkTmFtZSI6ICJjYWxsYmFjayIKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAg
ICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAg
IH0KLSAgICAgICAgXSwKLSAgICAgICAgImluaGVyaXRhbmNlIjogbnVsbCwKLSAgICAgICAgImV4
dEF0dHJzIjogW10KLSAgICB9Ci1dCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24v
aW1wbGVtZW50cy5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2ltcGxlbWVudHMuanNvbgpk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTczNjExOGNkOTAyZmI2YWY1ZWJjYTRlYmE2
NTZmZmI1MWJmZjI4Yi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vaW1wbGVtZW50cy5qc29uCisrKyAvZGV2L251bGwK
QEAgLTEsMTEzICswLDAgQEAKLVsKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImludGVyZmFjZSIs
Ci0gICAgICAgICJuYW1lIjogIk5vZGUiLAotICAgICAgICAicGFydGlhbCI6IGZhbHNlLAotICAg
ICAgICAibWVtYmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6
ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaW5oZXJpdCI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICJyZWFkb25seSI6IHRydWUsCi0gICAgICAgICAgICAg
ICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZS10
eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAg
ICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogInVuc2lnbmVkIHNob3J0IiwK
LSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAot
ICAgICAgICAgICAgICAgICJuYW1lIjogIm5vZGVUeXBlIiwKLSAgICAgICAgICAgICAgICAiZXNj
YXBlZE5hbWUiOiAibm9kZVR5cGUiLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0g
ICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJpbmhlcml0YW5jZSI6IG51bGwsCi0g
ICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgfSwKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImlu
dGVyZmFjZSIsCi0gICAgICAgICJuYW1lIjogIkV2ZW50VGFyZ2V0IiwKLSAgICAgICAgInBhcnRp
YWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJlcnMiOiBbCi0gICAgICAgICAgICB7Ci0gICAgICAg
ICAgICAgICAgInR5cGUiOiAib3BlcmF0aW9uIiwKLSAgICAgICAgICAgICAgICAiZ2V0dGVyIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgInNldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICJkZWxldGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxU
eXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAg
ICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51
bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJ2b2lkIiwKLSAgICAgICAgICAgICAgICAgICAg
ImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1l
IjogImFkZEV2ZW50TGlzdGVuZXIiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJh
ZGRFdmVudExpc3RlbmVyIiwKLSAgICAgICAgICAgICAgICAiYXJndW1lbnRzIjogWwotICAgICAg
ICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAib3B0aW9uYWwiOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ2YXJpYWRpYyI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgImRlZmF1bHQiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAg
ImV4dEF0dHJzIjogW10sCi0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUi
OiAiRE9NU3RyaW5nIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBb
XQotICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJu
YW1lIjogInR5cGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogInR5
cGUiCi0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJvcHRpb25hbCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgInZhcmlhZGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVs
dCI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJ0eXBlIjogImFyZ3VtZW50LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJFdmVudExpc3RlbmVyIiwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAg
ICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjogImxpc3RlbmVyIiwK
LSAgICAgICAgICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJsaXN0ZW5lciIKLSAgICAg
ICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAg
ICAgICAgICAgIm9wdGlvbmFsIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAidmFy
aWFkaWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0IjogbnVsbCwK
LSAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdLAotICAgICAgICAgICAgICAg
ICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUi
OiAiYXJndW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMi
OiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICJpZGxUeXBlIjogImJvb2xlYW4iLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgICAgICAgICB9LAotICAg
ICAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAidXNlQ2FwdHVyZSIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAidXNlQ2FwdHVyZSIKLSAgICAgICAgICAgICAgICAg
ICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10K
LSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImluaGVyaXRhbmNlIjogbnVsbCwK
LSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9LAotICAgIHsKLSAgICAgICAgInR5cGUiOiAi
aW1wbGVtZW50cyIsCi0gICAgICAgICJ0YXJnZXQiOiAiTm9kZSIsCi0gICAgICAgICJpbXBsZW1l
bnRzIjogIkV2ZW50VGFyZ2V0IiwKLSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9Ci1dCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vaW5kZXhlZC1wcm9wZXJ0aWVzLmpzb24g
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vaW5kZXhlZC1wcm9wZXJ0aWVzLmpzb24KZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRjY2Q1MTFhZjk2YmZkNmU5MGQyYjY4MjlkODIzZmFiYmY4
YzZkOTQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L3N5bnRheC9qc29uL2luZGV4ZWQtcHJvcGVydGllcy5qc29uCisrKyAvZGV2L251bGwK
QEAgLTEsMjgzICswLDAgQEAKLVsKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImludGVyZmFjZSIs
Ci0gICAgICAgICJuYW1lIjogIk9yZGVyZWRNYXAiLAotICAgICAgICAicGFydGlhbCI6IGZhbHNl
LAotICAgICAgICAibWVtYmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAi
dHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaW5o
ZXJpdCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJyZWFkb25seSI6IHRydWUsCi0gICAgICAg
ICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJp
YnV0ZS10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAg
ICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVu
aW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogInVuc2lnbmVkIGxv
bmciLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAg
IH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAic2l6ZSIsCi0gICAgICAgICAgICAgICAgImVz
Y2FwZWROYW1lIjogInNpemUiLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAg
ICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogIm9wZXJh
dGlvbiIsCi0gICAgICAgICAgICAgICAgImdldHRlciI6IHRydWUsCi0gICAgICAgICAgICAgICAg
InNldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJkZWxldGVyIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmll
ciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAg
ICAgICAidHlwZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmlj
IjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlw
ZSI6ICJhbnkiLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAg
ICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiZ2V0QnlJbmRleCIsCi0gICAgICAg
ICAgICAgICAgImVzY2FwZWROYW1lIjogImdldEJ5SW5kZXgiLAotICAgICAgICAgICAgICAgICJh
cmd1bWVudHMiOiBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJvcHRpb25hbCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgInZhcmlhZGlj
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdCI6IG51bGwsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImFy
Z3VtZW50LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVs
bCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAiaWRsVHlwZSI6ICJ1bnNpZ25lZCBsb25nIiwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjogImluZGV4IiwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICJlc2NhcGVkTmFtZSI6ICJpbmRleCIKLSAgICAgICAgICAgICAgICAgICAgfQotICAg
ICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAg
ICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAib3BlcmF0aW9u
IiwKLSAgICAgICAgICAgICAgICAiZ2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInNl
dHRlciI6IHRydWUsCi0gICAgICAgICAgICAgICAgImRlbGV0ZXIiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAg
ICJ0eXBlIjogInJldHVybi10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBu
dWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjog
InZvaWQiLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAg
ICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAic2V0QnlJbmRleCIsCi0gICAgICAgICAg
ICAgICAgImVzY2FwZWROYW1lIjogInNldEJ5SW5kZXgiLAotICAgICAgICAgICAgICAgICJhcmd1
bWVudHMiOiBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJvcHRpb25hbCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgInZhcmlhZGljIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdCI6IG51bGwsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImFyZ3Vt
ZW50LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAiaWRsVHlwZSI6ICJ1bnNpZ25lZCBsb25nIiwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJuYW1lIjogImluZGV4IiwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJlc2NhcGVkTmFtZSI6ICJpbmRleCIKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAg
ICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIm9wdGlvbmFsIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAidmFyaWFkaWMiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICJkZWZhdWx0IjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJleHRBdHRycyI6IFtdLAotICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBl
IjogImFueSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAg
ICAgICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6
ICJ2YWx1ZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAidmFsdWUi
Ci0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAg
ICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAg
ICAgICAgICAgICJ0eXBlIjogIm9wZXJhdGlvbiIsCi0gICAgICAgICAgICAgICAgImdldHRlciI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICJzZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAiZGVsZXRlciI6IHRydWUsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxU
eXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAg
ICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51
bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJ2b2lkIiwKLSAgICAgICAgICAgICAgICAgICAg
ImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1l
IjogInJlbW92ZUJ5SW5kZXgiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJyZW1v
dmVCeUluZGV4IiwKLSAgICAgICAgICAgICAgICAiYXJndW1lbnRzIjogWwotICAgICAgICAgICAg
ICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAib3B0aW9uYWwiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJ2YXJpYWRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgImRlZmF1bHQiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0
dHJzIjogW10sCi0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInVu
aW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAidW5z
aWduZWQgbG9uZyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10K
LSAgICAgICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgICAgICAibmFt
ZSI6ICJpbmRleCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiaW5k
ZXgiCi0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAg
ICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAg
ICAgICAgICAgICAgICJ0eXBlIjogIm9wZXJhdGlvbiIsCi0gICAgICAgICAgICAgICAgImdldHRl
ciI6IHRydWUsCi0gICAgICAgICAgICAgICAgInNldHRlciI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICJkZWxldGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJp
ZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJyZXR1cm4tdHlwZSIsCi0g
ICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAg
Im51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJhbnkiLAotICAgICAgICAgICAgICAgICAg
ICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5h
bWUiOiAiZ2V0IiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiZ2V0IiwKLSAgICAg
ICAgICAgICAgICAiYXJndW1lbnRzIjogWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAg
ICAgICAgICAgICAgICAgICAib3B0aW9uYWwiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJ2YXJpYWRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHQi
OiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10sCi0gICAgICAg
ICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAi
Z2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiRE9NU3RyaW5nIiwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAg
ICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjogIm5hbWUiLAotICAgICAgICAg
ICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogIm5hbWUiCi0gICAgICAgICAgICAgICAgICAg
IH0KLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0g
ICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogIm9w
ZXJhdGlvbiIsCi0gICAgICAgICAgICAgICAgImdldHRlciI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICJzZXR0ZXIiOiB0cnVlLAotICAgICAgICAgICAgICAgICJkZWxldGVyIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdp
ZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAg
ICAgICAgICAidHlwZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5l
cmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRs
VHlwZSI6ICJ2b2lkIiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAg
ICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogInNldCIsCi0gICAgICAgICAg
ICAgICAgImVzY2FwZWROYW1lIjogInNldCIsCi0gICAgICAgICAgICAgICAgImFyZ3VtZW50cyI6
IFsKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIm9wdGlv
bmFsIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAidmFyaWFkaWMiOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0IjogbnVsbCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICJleHRBdHRycyI6IFtdLAotICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5
cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXJndW1lbnQtdHlw
ZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICJpZGxUeXBlIjogIkRPTVN0cmluZyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4
dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAg
ICAgICAgICAibmFtZSI6ICJuYW1lIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJlc2NhcGVk
TmFtZSI6ICJuYW1lIgotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAg
ICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAib3B0aW9uYWwiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICJ2YXJpYWRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgImRlZmF1bHQiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjog
W10sCi0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
Im51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiYW55IiwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAg
ICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjogInZhbHVlIiwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJ2YWx1ZSIKLSAgICAgICAgICAg
ICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgImV4dEF0dHJz
IjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5
cGUiOiAib3BlcmF0aW9uIiwKLSAgICAgICAgICAgICAgICAiZ2V0dGVyIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgInNldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJkZWxldGVyIjog
dHJ1ZSwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
InN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAg
ICAgICAgICAgICAgICAgICJ0eXBlIjogInJldHVybi10eXBlIiwKLSAgICAgICAgICAgICAgICAg
ICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ICAgICJpZGxUeXBlIjogInZvaWQiLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBb
XQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAicmVtb3ZlIiwK
LSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAicmVtb3ZlIiwKLSAgICAgICAgICAgICAg
ICAiYXJndW1lbnRzIjogWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICAib3B0aW9uYWwiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ2YXJp
YWRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHQiOiBudWxsLAot
ICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10sCi0gICAgICAgICAgICAgICAg
ICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6
ICJhcmd1bWVudC10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6
IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiRE9NU3RyaW5nIiwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjogIm5hbWUiLAotICAgICAgICAgICAgICAgICAg
ICAgICAgImVzY2FwZWROYW1lIjogIm5hbWUiCi0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAg
ICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAg
ICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJpbmhlcml0YW5jZSI6IG51bGwsCi0gICAgICAgICJl
eHRBdHRycyI6IFtdCi0gICAgfQotXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29u
L2luaGVyaXRzLWdldHRlci5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2luaGVyaXRzLWdl
dHRlci5qc29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4NmViNjhlMjcwZTQ2YTlj
NWFiNTY0NTZjMzYxMGQ1MjNiY2RhZWI5Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9pbmhlcml0cy1nZXR0ZXIuanNv
bgorKysgL2Rldi9udWxsCkBAIC0xLDEwMSArMCwwIEBACi1bCi0gICAgewotICAgICAgICAidHlw
ZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFtZSI6ICJBbmltYWwiLAotICAgICAgICAicGFy
dGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAg
ICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJzdGF0aWMi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJyZWFkb25seSI6IHRy
dWUsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0
eXBlIjogImF0dHJpYnV0ZS10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBu
dWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjog
IkRPTVN0cmluZyIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAg
ICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJuYW1lIiwKLSAgICAgICAgICAg
ICAgICAiZXNjYXBlZE5hbWUiOiAibmFtZSIsCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjog
W10KLSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImluaGVyaXRhbmNlIjogbnVs
bCwKLSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9LAotICAgIHsKLSAgICAgICAgInR5cGUi
OiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUiOiAiUGVyc29uIiwKLSAgICAgICAgInBhcnRp
YWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJlcnMiOiBbCi0gICAgICAgICAgICB7Ci0gICAgICAg
ICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAic3RhdGljIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAicmVhZG9ubHkiOiB0cnVl
LAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlw
ZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVs
bCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJ1
bnNpZ25lZCBzaG9ydCIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAg
ICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJhZ2UiLAotICAgICAgICAg
ICAgICAgICJlc2NhcGVkTmFtZSI6ICJhZ2UiLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6
IFtdCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBl
IjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpbmhlcml0
IjogdHJ1ZSwKLSAgICAgICAgICAgICAgICAicmVhZG9ubHkiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRl
LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAg
ICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24i
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiRE9NU3RyaW5nIiwKLSAg
ICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAg
ICAgICAgICAgICAgICJuYW1lIjogIm5hbWUiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFt
ZSI6ICJuYW1lIiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAg
fQotICAgICAgICBdLAotICAgICAgICAiaW5oZXJpdGFuY2UiOiAiQW5pbWFsIiwKLSAgICAgICAg
ImV4dEF0dHJzIjogW10KLSAgICB9LAotICAgIHsKLSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNl
IiwKLSAgICAgICAgIm5hbWUiOiAiR2hvc3QiLAotICAgICAgICAicGFydGlhbCI6IGZhbHNlLAot
ICAgICAgICAibWVtYmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlw
ZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaW5oZXJp
dCI6IHRydWUsCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5IjogdHJ1ZSwKLSAgICAgICAgICAg
ICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRl
LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAg
ICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24i
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiRE9NU3RyaW5nIiwKLSAg
ICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAg
ICAgICAgICAgICAgICJuYW1lIjogIm5hbWUiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFt
ZSI6ICJuYW1lIiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAg
fQotICAgICAgICBdLAotICAgICAgICAiaW5oZXJpdGFuY2UiOiAiUGVyc29uIiwKLSAgICAgICAg
ImV4dEF0dHJzIjogW10KLSAgICB9Ci1dCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pz
b24vaW50ZXJmYWNlLWluaGVyaXRzLmpzb24gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vaW50ZXJm
YWNlLWluaGVyaXRzLmpzb24KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAyY2FmMzVm
NjA1YWIzNzZjZWU0MmM4YjVlOTgxZDFjYTE4NzcyYzEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2ludGVyZmFjZS1p
bmhlcml0cy5qc29uCisrKyAvZGV2L251bGwKQEAgLTEsODMgKzAsMCBAQAotWwotICAgIHsKLSAg
ICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUiOiAiQW5pbWFsIiwKLSAg
ICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJlcnMiOiBbCi0gICAgICAgICAg
ICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAg
ICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAicmVh
ZG9ubHkiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAg
ICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAi
Z2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAg
ImlkbFR5cGUiOiAiRE9NU3RyaW5nIiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjog
W10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogIm5hbWUiLAot
ICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJuYW1lIiwKLSAgICAgICAgICAgICAgICAi
ZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfQotICAgICAgICBdLAotICAgICAgICAiaW5oZXJp
dGFuY2UiOiBudWxsLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0sCi0gICAgewotICAg
ICAgICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFtZSI6ICJIdW1hbiIsCi0gICAg
ICAgICJwYXJ0aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJzIjogWwotICAgICAgICAgICAg
ewotICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAg
InN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICJpbmhlcml0IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInJlYWRv
bmx5IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAg
ICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZS10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdl
bmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJp
ZGxUeXBlIjogIkRvZyIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAg
ICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJwZXQiLAotICAgICAgICAg
ICAgICAgICJlc2NhcGVkTmFtZSI6ICJwZXQiLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6
IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJpbmhlcml0YW5jZSI6ICJB
bmltYWwiLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0sCi0gICAgewotICAgICAgICAi
dHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFtZSI6ICJEb2ciLAotICAgICAgICAicGFy
dGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAg
ICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJzdGF0aWMi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJyZWFkb25seSI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAi
dHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjog
bnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6
ICJIdW1hbiIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAg
ICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJvd25lciIsCi0gICAgICAgICAgICAg
ICAgImVzY2FwZWROYW1lIjogIm93bmVyIiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBb
XQotICAgICAgICAgICAgfQotICAgICAgICBdLAotICAgICAgICAiaW5oZXJpdGFuY2UiOiAiQW5p
bWFsIiwKLSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9Ci1dCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvc3ludGF4L2pzb24vaXRlcmFibGUuanNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9p
dGVyYWJsZS5qc29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlZTkwNmY3NWVhMmVi
NWY3YTNhZWYzM2M1M2E3ZTAzNDQzYjZmNDUwLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9pdGVyYWJsZS5qc29uCisr
KyAvZGV2L251bGwKQEAgLTEsODYgKzAsMCBAQAotWwotICAgIHsKLSAgICAgICAgInR5cGUiOiAi
aW50ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUiOiAiSXRlcmFibGVPbmUiLAotICAgICAgICAicGFy
dGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAg
ICAgICAgICAgICAidHlwZSI6ICJpdGVyYWJsZSIsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUi
OiBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBl
IjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6
ICJsb25nIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAg
ICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgICJleHRB
dHRycyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJpbmhlcml0YW5j
ZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgfSwKLSAgICB7Ci0gICAgICAg
ICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAgICAgICJuYW1lIjogIkl0ZXJhYmxlVHdvIiwKLSAg
ICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJlcnMiOiBbCi0gICAgICAgICAg
ICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiaXRlcmFibGUiLAotICAgICAgICAgICAgICAg
ICJpZGxUeXBlIjogWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICAidHlwZSI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51
bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ImlkbFR5cGUiOiAic2hvcnQiLAotICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjog
W10KLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAg
ICAgICAgICAgICAgICAgICAgInR5cGUiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAg
ImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogdHJ1
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgImlkbFR5cGUiOiAiZG91YmxlIiwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBd
LAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAg
IF0sCi0gICAgICAgICJpbmhlcml0YW5jZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6IFtd
Ci0gICAgfSwKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAgICAgICJu
YW1lIjogIkl0ZXJhYmxlVGhyZWUiLAotICAgICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAg
ICAibWVtYmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJp
dGVyYWJsZSIsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiBbCi0gICAgICAgICAgICAgICAg
ICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogbnVsbCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJu
dWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJsb25nIiwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJleHRBdHRycyI6IFsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB7
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjogIlhBdHRyIiwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgImFyZ3VtZW50cyI6IG51bGwsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImV4dGVuZGVkLWF0dHJpYnV0ZSIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyaHMiOiBudWxsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICAgICAgICAgXQotICAgICAgICAgICAgICAg
ICAgICB9Ci0gICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBb
XQotICAgICAgICAgICAgfQotICAgICAgICBdLAotICAgICAgICAiaW5oZXJpdGFuY2UiOiBudWxs
LAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0KLV0KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC9zeW50YXgvanNvbi9pdGVyYXRvci5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2l0ZXJh
dG9yLmpzb24KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGY5NjA1YjgzNDUwY2I1ZGNk
MjFlYzMzOGI4Mjc5NmEyYTIzMDRiMDguLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2l0ZXJhdG9yLmpzb24KKysrIC9k
ZXYvbnVsbApAQCAtMSwyNzYgKzAsMCBAQAotWwotICAgIHsKLSAgICAgICAgInR5cGUiOiAiaW50
ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUiOiAiU2Vzc2lvbk1hbmFnZXIiLAotICAgICAgICAicGFy
dGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAg
ICAgICAgICAgICAidHlwZSI6ICJvcGVyYXRpb24iLAotICAgICAgICAgICAgICAgICJnZXR0ZXIi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgImRlbGV0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlk
bFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJzZXF1ZW5jZSI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxs
YWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiU2Vzc2lvbiIKLSAgICAgICAgICAgICAgICB9LAot
ICAgICAgICAgICAgICAgICJuYW1lIjogImdldFNlc3Npb25Gb3JVc2VyIiwKLSAgICAgICAgICAg
ICAgICAiYXJndW1lbnRzIjogWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICAib3B0aW9uYWwiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ2
YXJpYWRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10s
Ci0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAic2VxdWVuY2UiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxl
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiRE9NU3RyaW5nIgotICAgICAg
ICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjogInVz
ZXJuYW1lIgotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXSwKLSAgICAg
ICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsK
LSAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJz
dGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJyZWFkb25s
eSI6IHRydWUsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAg
ICAgICJzZXF1ZW5jZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51
bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAi
dW5zaWduZWQgbG9uZyIKLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1l
IjogInNlc3Npb25Db3VudCIsCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAg
ICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiaXRlcmF0
b3IiLAotICAgICAgICAgICAgICAgICJnZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAi
c2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImRlbGV0ZXIiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVy
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAg
ICAgICJzZXF1ZW5jZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51
bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAi
U2Vzc2lvbiIKLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6
IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJpbmhlcml0YW5jZSI6IG51
bGwsCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgfSwKLSAgICB7Ci0gICAgICAgICJ0eXBl
IjogImludGVyZmFjZSIsCi0gICAgICAgICJuYW1lIjogIlNlc3Npb24iLAotICAgICAgICAicGFy
dGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAg
ICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJzdGF0aWMi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJyZWFkb25seSI6IHRy
dWUsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJz
ZXF1ZW5jZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0g
ICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAg
ICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiRE9NU3Ry
aW5nIgotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAidXNlcm5h
bWUiLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAg
ICAgIF0sCi0gICAgICAgICJpbmhlcml0YW5jZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6
IFtdCi0gICAgfSwKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAgICAg
ICJuYW1lIjogIlNlc3Npb25NYW5hZ2VyMiIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0g
ICAgICAgICJtZW1iZXJzIjogWwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBl
IjogIm9wZXJhdGlvbiIsCi0gICAgICAgICAgICAgICAgImdldHRlciI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICJzZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiZGVsZXRlciI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAi
c3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAg
ICAgICAgICAgICAgICAgInNlcXVlbmNlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJn
ZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAi
aWRsVHlwZSI6ICJTZXNzaW9uMiIKLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAg
ICJuYW1lIjogImdldFNlc3Npb25Gb3JVc2VyIiwKLSAgICAgICAgICAgICAgICAiYXJndW1lbnRz
IjogWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAib3B0
aW9uYWwiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ2YXJpYWRpYyI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10sCi0gICAgICAgICAgICAg
ICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2Vx
dWVuY2UiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51
bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgImlkbFR5cGUiOiAiRE9NU3RyaW5nIgotICAgICAgICAgICAgICAgICAgICAg
ICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjogInVzZXJuYW1lIgotICAgICAg
ICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICAiZXh0
QXR0cnMiOiBbXQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAg
ICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAi
aW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJyZWFkb25seSI6IHRydWUsCi0gICAg
ICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJzZXF1ZW5jZSI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAg
ICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24i
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAidW5zaWduZWQgbG9uZyIK
LSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogInNlc3Npb25Db3Vu
dCIsCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0gICAg
ICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiaXRlcmF0b3IiLAotICAgICAgICAg
ICAgICAgICJnZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic2V0dGVyIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgImRlbGV0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3Rh
dGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJzZXF1ZW5jZSI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAg
ICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24i
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiU2Vzc2lvbjIiCi0gICAg
ICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAiaXRlcmF0b3JPYmplY3QiOiAiU2Vzc2lv
bkl0ZXJhdG9yIiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAg
fQotICAgICAgICBdLAotICAgICAgICAiaW5oZXJpdGFuY2UiOiBudWxsLAotICAgICAgICAiZXh0
QXR0cnMiOiBbXQotICAgIH0sCi0gICAgewotICAgICAgICAidHlwZSI6ICJpbnRlcmZhY2UiLAot
ICAgICAgICAibmFtZSI6ICJTZXNzaW9uMiIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0g
ICAgICAgICJtZW1iZXJzIjogWwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBl
IjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpbmhlcml0
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5IjogdHJ1ZSwKLSAgICAgICAgICAg
ICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInNlcXVlbmNlIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAg
ICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJET01TdHJpbmciCi0gICAgICAgICAg
ICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJ1c2VybmFtZSIsCi0gICAgICAgICAg
ICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAg
ImluaGVyaXRhbmNlIjogbnVsbCwKLSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9LAotICAg
IHsKLSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUiOiAiU2Vzc2lv
bkl0ZXJhdG9yIiwKLSAgICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJlcnMi
OiBbCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwK
LSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmlu
Z2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAicmVhZG9ubHkiOiB0cnVlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjog
ewotICAgICAgICAgICAgICAgICAgICAic2VxdWVuY2UiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgICAgICJpZGxUeXBlIjogInVuc2lnbmVkIGxvbmciCi0gICAgICAgICAgICAgICAgfSwKLSAg
ICAgICAgICAgICAgICAibmFtZSI6ICJyZW1haW5pbmdTZXNzaW9ucyIsCi0gICAgICAgICAgICAg
ICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImlu
aGVyaXRhbmNlIjogbnVsbCwKLSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9LAotICAgIHsK
LSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUiOiAiTm9kZUxpc3Qi
LAotICAgICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFsKLSAgICAg
ICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJpdGVyYXRvciIsCi0gICAgICAgICAg
ICAgICAgImdldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzZXR0ZXIiOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAiZGVsZXRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdGF0
aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInNlcXVlbmNlIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAg
ICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJOb2RlIgotICAgICAgICAg
ICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIml0ZXJhdG9yT2JqZWN0IjogIk5vZGVJdGVyYXRv
ciIsCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0KLSAgICAg
ICAgXSwKLSAgICAgICAgImluaGVyaXRhbmNlIjogbnVsbCwKLSAgICAgICAgImV4dEF0dHJzIjog
W10KLSAgICB9LAotICAgIHsKLSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAg
Im5hbWUiOiAiTm9kZUl0ZXJhdG9yIiwKLSAgICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAg
ICAgIm1lbWJlcnMiOiBbCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAi
aXRlcmF0b3IiLAotICAgICAgICAgICAgICAgICJnZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAic2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImRlbGV0ZXIiOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmlu
Z2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAg
ICAgICAgICAgICJzZXF1ZW5jZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJp
YyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5
cGUiOiAiTm9kZSIKLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJpdGVyYXRv
ck9iamVjdCI6ICJvYmplY3QiLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAg
ICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJpbmhlcml0YW5jZSI6IG51bGwsCi0gICAg
ICAgICJleHRBdHRycyI6IFtdCi0gICAgfQotXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRh
eC9qc29uL2xlZ2FjeWl0ZXJhYmxlLmpzb24gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vbGVnYWN5
aXRlcmFibGUuanNvbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODBmZDAwMGE4NDkz
NzE2MmRlYjc2NWY1ODVlNGJkZDI0ZGM4M2ViZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vbGVnYWN5aXRlcmFibGUu
anNvbgorKysgL2Rldi9udWxsCkBAIC0xLDI1ICswLDAgQEAKLVsKLSAgICB7Ci0gICAgICAgICJ0
eXBlIjogImludGVyZmFjZSIsCi0gICAgICAgICJuYW1lIjogIkxlZ2FjeUl0ZXJhYmxlIiwKLSAg
ICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJlcnMiOiBbCi0gICAgICAgICAg
ICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAibGVnYWN5aXRlcmFibGUiLAotICAgICAgICAg
ICAgICAgICJpZGxUeXBlIjogWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICAidHlwZSI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJp
YyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgImlkbFR5cGUiOiAibG9uZyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0
cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXSwKLSAgICAg
ICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfQotICAgICAgICBdLAotICAg
ICAgICAiaW5oZXJpdGFuY2UiOiBudWxsLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0K
LV0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9tYXBsaWtlLmpzb24gYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvc3ludGF4L2pzb24vbWFwbGlrZS5qc29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAyY2I4YzM2MGVlM2UyZjAzZmU0MDAzMDdiYmY3NTdiNDQ1OGFmODg3Li4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNv
bi9tYXBsaWtlLmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSwxMTIgKzAsMCBAQAotWwotICAgIHsK
LSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUiOiAiTWFwTGlrZSIs
Ci0gICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJzIjogWwotICAgICAg
ICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogIm1hcGxpa2UiLAotICAgICAgICAgICAg
ICAgICJpZGxUeXBlIjogWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICAidHlwZSI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6
IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgImlkbFR5cGUiOiAibG9uZyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMi
OiBbXQotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICAidHlwZSI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiZmxvYXQiLAotICAgICAgICAgICAgICAgICAgICAg
ICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAg
IF0sCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5IjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImluaGVy
aXRhbmNlIjogbnVsbCwKLSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9LAotICAgIHsKLSAg
ICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUiOiAiUmVhZE9ubHlNYXBM
aWtlIiwKLSAgICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJlcnMiOiBbCi0g
ICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAibWFwbGlrZSIsCi0gICAgICAg
ICAgICAgICAgImlkbFR5cGUiOiBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJ0eXBlIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJnZW5l
cmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAiaWRsVHlwZSI6ICJsb25nIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJleHRB
dHRycyI6IFtdCi0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsK
LSAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogbnVsbCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJs
ZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJmbG9hdCIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAg
ICAgICAgXSwKLSAgICAgICAgICAgICAgICAicmVhZG9ubHkiOiB0cnVlLAotICAgICAgICAgICAg
ICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJp
bmhlcml0YW5jZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgfSwKLSAgICB7
Ci0gICAgICAgICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAgICAgICJuYW1lIjogIkkiLAotICAg
ICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFsKLSAgICAgICAgICAg
IHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJtYXBsaWtlIiwKLSAgICAgICAgICAgICAgICAi
aWRsVHlwZSI6IFsKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAg
ICAgInR5cGUiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxs
LAotICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJp
ZGxUeXBlIjogIkRPTVN0cmluZyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMi
OiBbCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAibmFtZSI6ICJYQXR0cjIiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAiYXJndW1lbnRzIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
InR5cGUiOiAiZXh0ZW5kZWQtYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgInJocyI6IG51bGwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAg
ICAgICAgICAgICAgICAgICBdCi0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAg
ICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogbnVsbCwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJsb25nIiwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFsKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjogIlhBdHRyMyIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJhcmd1bWVudHMiOiBudWxsLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJleHRlbmRlZC1hdHRyaWJ1dGUiLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicmhzIjogbnVsbAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAgICAgIF0KLSAgICAgICAgICAg
ICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0K
LSAgICAgICAgXSwKLSAgICAgICAgImluaGVyaXRhbmNlIjogbnVsbCwKLSAgICAgICAgImV4dEF0
dHJzIjogW10KLSAgICB9Ci1dCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vbWl4
aW4uanNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9taXhpbi5qc29uCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCBiMDM3Y2IzNTc3OTQxYWRmNWM1OTFiMmQyZTkzMTJlYmQ2ZDc3ZjAy
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC9zeW50YXgvanNvbi9taXhpbi5qc29uCisrKyAvZGV2L251bGwKQEAgLTEsNjYgKzAsMCBAQAot
WwotICAgIHsKLSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIG1peGluIiwKLSAgICAgICAgIm5h
bWUiOiAiR2xvYmFsQ3J5cHRvIiwKLSAgICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAg
Im1lbWJlcnMiOiBbCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0
cmlidXRlIiwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImluaGVyaXQiOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAicmVhZG9ubHkiOiB0cnVlLAotICAgICAgICAgICAgICAgICJp
ZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIs
Ci0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAg
ICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJDcnlwdG8iLAotICAgICAgICAgICAg
ICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAg
ICAgIm5hbWUiOiAiY3J5cHRvIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiY3J5
cHRvIiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfQotICAg
ICAgICBdLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0sCi0gICAgewotICAgICAgICAi
dHlwZSI6ICJpbmNsdWRlcyIsCi0gICAgICAgICJ0YXJnZXQiOiAiV2luZG93IiwKLSAgICAgICAg
ImluY2x1ZGVzIjogIkdsb2JhbENyeXB0byIsCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0gICAg
fSwKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImluY2x1ZGVzIiwKLSAgICAgICAgInRhcmdldCI6
ICJXb3JrZXJHbG9iYWxTY29wZSIsCi0gICAgICAgICJpbmNsdWRlcyI6ICJHbG9iYWxDcnlwdG8i
LAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0sCi0gICAgewotICAgICAgICAidHlwZSI6
ICJpbnRlcmZhY2UgbWl4aW4iLAotICAgICAgICAibmFtZSI6ICJXaW5kb3dPcldvcmtlckdsb2Jh
bFNjb3BlIiwKLSAgICAgICAgInBhcnRpYWwiOiB0cnVlLAotICAgICAgICAibWVtYmVycyI6IFsK
LSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAg
ICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZp
ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICJyZWFkb25seSI6IHRydWUsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0g
ICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZS10eXBlIiwKLSAgICAgICAgICAg
ICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgICAgICJpZGxUeXBlIjogIkNyeXB0byIsCi0gICAgICAgICAgICAgICAgICAgICJleHRB
dHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJj
cnlwdG8iLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJjcnlwdG8iLAotICAgICAg
ICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAg
ICAgICJleHRBdHRycyI6IFtdCi0gICAgfQotXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRh
eC9qc29uL25hbWVkY29uc3RydWN0b3IuanNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9uYW1l
ZGNvbnN0cnVjdG9yLmpzb24KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRlYjQyOWU5
ODZlYjEwNmU5NThlNzk5MDQ4ZjZiNGNlMmRhMWRmNTEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL25hbWVkY29uc3Ry
dWN0b3IuanNvbgorKysgL2Rldi9udWxsCkBAIC0xLDQ2ICswLDAgQEAKLVsKLSAgICB7Ci0gICAg
ICAgICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAgICAgICJuYW1lIjogIkhUTUxBdWRpb0VsZW1l
bnQiLAotICAgICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFtdLAot
ICAgICAgICAiaW5oZXJpdGFuY2UiOiAiSFRNTE1lZGlhRWxlbWVudCIsCi0gICAgICAgICJleHRB
dHRycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJOYW1lZENv
bnN0cnVjdG9yIiwKLSAgICAgICAgICAgICAgICAiYXJndW1lbnRzIjogbnVsbCwKLSAgICAgICAg
ICAgICAgICAidHlwZSI6ICJleHRlbmRlZC1hdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJy
aHMiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImlkZW50aWZpZXIiLAotICAgICAg
ICAgICAgICAgICAgICAidmFsdWUiOiAiQXVkaW8iCi0gICAgICAgICAgICAgICAgfQotICAgICAg
ICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJOYW1lZENv
bnN0cnVjdG9yIiwKLSAgICAgICAgICAgICAgICAiYXJndW1lbnRzIjogWwotICAgICAgICAgICAg
ICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAib3B0aW9uYWwiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJ2YXJpYWRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgImRlZmF1bHQiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0
dHJzIjogW10sCi0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInVu
aW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiRE9N
U3RyaW5nIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAg
ICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjog
InNyYyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAic3JjIgotICAg
ICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICAi
dHlwZSI6ICJleHRlbmRlZC1hdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJyaHMiOiB7Ci0g
ICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImlkZW50aWZpZXIiLAotICAgICAgICAgICAgICAg
ICAgICAidmFsdWUiOiAiQXVkaW8iCi0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgfQot
ICAgICAgICBdCi0gICAgfQotXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL25h
bWVzcGFjZS5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL25hbWVzcGFjZS5qc29uCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5ZTM3YjI2ZmE2NTA0Zjk4NjI4NzdjMjVjOTdlOTQ4
OTNkYzhkODMzLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC9zeW50YXgvanNvbi9uYW1lc3BhY2UuanNvbgorKysgL2Rldi9udWxsCkBAIC0x
LDE0MSArMCwwIEBACi1bCi0gICAgewotICAgICAgICAidHlwZSI6ICJuYW1lc3BhY2UiLAotICAg
ICAgICAibmFtZSI6ICJWZWN0b3JVdGlscyIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0g
ICAgICAgICJtZW1iZXJzIjogWwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBl
IjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpbmhlcml0
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5IjogdHJ1ZSwKLSAgICAgICAgICAg
ICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRl
LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAg
ICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24i
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiVmVjdG9yIiwKLSAgICAg
ICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAg
ICAgICAgICAgICJuYW1lIjogInVuaXQiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6
ICJ1bml0IiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfSwK
LSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJvcGVyYXRpb24iLAotICAg
ICAgICAgICAgICAgICJnZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic2V0dGVyIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgImRlbGV0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBl
IjogInJldHVybi10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAot
ICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAg
ICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogImRvdWJs
ZSIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAg
fSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJkb3RQcm9kdWN0IiwKLSAgICAgICAgICAgICAg
ICAiZXNjYXBlZE5hbWUiOiAiZG90UHJvZHVjdCIsCi0gICAgICAgICAgICAgICAgImFyZ3VtZW50
cyI6IFsKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIm9w
dGlvbmFsIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAidmFyaWFkaWMiOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0IjogbnVsbCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJleHRBdHRycyI6IFtdLAotICAgICAgICAgICAgICAgICAgICAgICAgImlk
bFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXJndW1lbnQt
dHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJpZGxUeXBlIjogIlZlY3RvciIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4
dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAg
ICAgICAgICAibmFtZSI6ICJ4IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJlc2NhcGVkTmFt
ZSI6ICJ4IgotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0g
ICAgICAgICAgICAgICAgICAgICAgICAib3B0aW9uYWwiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICJ2YXJpYWRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgImRl
ZmF1bHQiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10sCi0g
ICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxh
YmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiVmVjdG9yIiwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAg
ICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjogInkiLAotICAgICAgICAg
ICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogInkiCi0gICAgICAgICAgICAgICAgICAgIH0K
LSAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAg
ICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogIm9wZXJh
dGlvbiIsCi0gICAgICAgICAgICAgICAgImdldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICJzZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiZGVsZXRlciI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZp
ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAg
ICAgICAgInR5cGUiOiAicmV0dXJuLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJp
YyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5
cGUiOiAiVmVjdG9yIiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAg
ICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogImNyb3NzUHJvZHVjdCIsCi0g
ICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImNyb3NzUHJvZHVjdCIsCi0gICAgICAgICAg
ICAgICAgImFyZ3VtZW50cyI6IFsKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAg
ICAgICAgICAgICAgIm9wdGlvbmFsIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAi
dmFyaWFkaWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0IjogbnVs
bCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdLAotICAgICAgICAgICAg
ICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5
cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVy
aWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogIlZlY3RvciIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgICAgIH0sCi0g
ICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJ4IiwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJlc2NhcGVkTmFtZSI6ICJ4IgotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAg
ICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAib3B0aW9uYWwiOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICJ2YXJpYWRpYyI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgImRlZmF1bHQiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgImV4
dEF0dHJzIjogW10sCi0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
InVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAi
VmVjdG9yIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAg
ICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjog
InkiLAotICAgICAgICAgICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogInkiCi0gICAgICAg
ICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgICJleHRB
dHRycyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJleHRBdHRycyI6
IFtdCi0gICAgfSwKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogIm5hbWVzcGFjZSIsCi0gICAgICAg
ICJuYW1lIjogIlNvbWVOYW1lc3BhY2UiLAotICAgICAgICAicGFydGlhbCI6IHRydWUsCi0gICAg
ICAgICJtZW1iZXJzIjogW10sCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgfQotXQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL25vaW50ZXJmYWNlb2JqZWN0Lmpzb24gYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3Qvc3ludGF4L2pzb24vbm9pbnRlcmZhY2VvYmplY3QuanNvbgpkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggY2FmYjVlMGUxNTZiZDBiNmU5MGYzN2Y5NGJjNTUxYTk5MzdmNWU0
MC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvc3ludGF4L2pzb24vbm9pbnRlcmZhY2VvYmplY3QuanNvbgorKysgL2Rldi9udWxsCkBAIC0x
LDU1ICswLDAgQEAKLVsKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAg
ICAgICJuYW1lIjogIlF1ZXJ5IiwKLSAgICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAg
Im1lbWJlcnMiOiBbCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAib3Bl
cmF0aW9uIiwKLSAgICAgICAgICAgICAgICAiZ2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgInNldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJkZWxldGVyIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdp
ZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAg
ICAgICAgICAidHlwZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5l
cmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRs
VHlwZSI6ICJhbnkiLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAg
ICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAibG9va3VwRW50cnkiLAotICAg
ICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJsb29rdXBFbnRyeSIsCi0gICAgICAgICAgICAg
ICAgImFyZ3VtZW50cyI6IFsKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAg
ICAgICAgICAgIm9wdGlvbmFsIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAidmFy
aWFkaWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0IjogbnVsbCwK
LSAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdLAotICAgICAgICAgICAgICAg
ICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUi
OiAiYXJndW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMi
OiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICJpZGxUeXBlIjogInVuc2lnbmVkIGxvbmciLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgICAgICAgICB9
LAotICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAia2V5IiwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJrZXkiCi0gICAgICAgICAgICAgICAgICAgIH0KLSAg
ICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAg
ICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJpbmhlcml0YW5jZSI6IG51bGwsCi0gICAgICAg
ICJleHRBdHRycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJO
b0ludGVyZmFjZU9iamVjdCIsCi0gICAgICAgICAgICAgICAgImFyZ3VtZW50cyI6IG51bGwsCi0g
ICAgICAgICAgICAgICAgInR5cGUiOiAiZXh0ZW5kZWQtYXR0cmlidXRlIiwKLSAgICAgICAgICAg
ICAgICAicmhzIjogbnVsbAotICAgICAgICAgICAgfQotICAgICAgICBdCi0gICAgfQotXQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL251bGxhYmxlLmpzb24gYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
c3ludGF4L2pzb24vbnVsbGFibGUuanNvbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
ZjMyNWUyZWFiN2I4YWY2YzEwMmM5NDFkNjg2ZjE0NDExOTE1YzVjMS4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vbnVs
bGFibGUuanNvbgorKysgL2Rldi9udWxsCkBAIC0xLDU2ICswLDAgQEAKLVsKLSAgICB7Ci0gICAg
ICAgICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAgICAgICJuYW1lIjogIk15Q29uc3RhbnRzIiwK
LSAgICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJlcnMiOiBbCi0gICAgICAg
ICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiY29uc3QiLAotICAgICAgICAgICAgICAg
ICJudWxsYWJsZSI6IHRydWUsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAg
ICAgICAgICAgICAgICJ0eXBlIjogImNvbnN0LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAi
Z2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAg
ImlkbFR5cGUiOiAiYm9vbGVhbiIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtd
Ci0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJBUkVfV0VfVEhF
UkVfWUVUIiwKLSAgICAgICAgICAgICAgICAidmFsdWUiOiB7Ci0gICAgICAgICAgICAgICAgICAg
ICJ0eXBlIjogImJvb2xlYW4iLAotICAgICAgICAgICAgICAgICAgICAidmFsdWUiOiBmYWxzZQot
ICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAg
ICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImluaGVyaXRhbmNlIjogbnVsbCwKLSAgICAg
ICAgImV4dEF0dHJzIjogW10KLSAgICB9LAotICAgIHsKLSAgICAgICAgInR5cGUiOiAiaW50ZXJm
YWNlIiwKLSAgICAgICAgIm5hbWUiOiAiTm9kZSIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFsc2Us
Ci0gICAgICAgICJtZW1iZXJzIjogWwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0
eXBlIjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpbmhl
cml0IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5IjogdHJ1ZSwKLSAgICAgICAg
ICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmli
dXRlLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAg
ICAgICAgICAgICAgICJudWxsYWJsZSI6IHRydWUsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlv
biI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJET01TdHJpbmciLAot
ICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0g
ICAgICAgICAgICAgICAgIm5hbWUiOiAibmFtZXNwYWNlVVJJIiwKLSAgICAgICAgICAgICAgICAi
ZXNjYXBlZE5hbWUiOiAibmFtZXNwYWNlVVJJIiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMi
OiBbXQotICAgICAgICAgICAgfQotICAgICAgICBdLAotICAgICAgICAiaW5oZXJpdGFuY2UiOiBu
dWxsLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0KLV0KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC9zeW50YXgvanNvbi9udWxsYWJsZW9iamVjdHMuanNvbiBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgv
anNvbi9udWxsYWJsZW9iamVjdHMuanNvbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MjdlY2QyNWQzNjNiZmIzOTUyNDMyN2QwOWUwZjhjYTZjMGE1Njc4OC4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vbnVs
bGFibGVvYmplY3RzLmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSwxMDEgKzAsMCBAQAotWwotICAg
IHsKLSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUiOiAiQSIsCi0g
ICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJzIjogW10sCi0gICAgICAg
ICJpbmhlcml0YW5jZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgfSwKLSAg
ICB7Ci0gICAgICAgICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAgICAgICJuYW1lIjogIkIiLAot
ICAgICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFtdLAotICAgICAg
ICAiaW5oZXJpdGFuY2UiOiBudWxsLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0sCi0g
ICAgewotICAgICAgICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFtZSI6ICJDIiwK
LSAgICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJlcnMiOiBbCi0gICAgICAg
ICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAib3BlcmF0aW9uIiwKLSAgICAgICAgICAg
ICAgICAiZ2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInNldHRlciI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICJkZWxldGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0YXRp
YyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJyZXR1
cm4tdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAg
ICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlv
biI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJ2b2lkIiwKLSAgICAg
ICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAg
ICAgICAgICAgICJuYW1lIjogImYiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJm
IiwKLSAgICAgICAgICAgICAgICAiYXJndW1lbnRzIjogWwotICAgICAgICAgICAgICAgICAgICB7
Ci0gICAgICAgICAgICAgICAgICAgICAgICAib3B0aW9uYWwiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJ2YXJpYWRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ImRlZmF1bHQiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10s
Ci0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51
bGxhYmxlIjogdHJ1ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJBIiwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAg
ICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjogIngiLAotICAgICAgICAgICAg
ICAgICAgICAgICAgImVzY2FwZWROYW1lIjogIngiCi0gICAgICAgICAgICAgICAgICAgIH0KLSAg
ICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAg
ICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogIm9wZXJhdGlv
biIsCi0gICAgICAgICAgICAgICAgImdldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJz
ZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiZGVsZXRlciI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAg
ICAgInR5cGUiOiAicmV0dXJuLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6
IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUi
OiAidm9pZCIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAg
ICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJmIiwKLSAgICAgICAgICAgICAgICAi
ZXNjYXBlZE5hbWUiOiAiZiIsCi0gICAgICAgICAgICAgICAgImFyZ3VtZW50cyI6IFsKLSAgICAg
ICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIm9wdGlvbmFsIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAidmFyaWFkaWMiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICJkZWZhdWx0IjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJleHRBdHRycyI6IFtdLAotICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJudWxsYWJsZSI6IHRydWUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUi
OiAiQiIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAg
ICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJ4
IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJ4IgotICAgICAgICAg
ICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICAiZXh0QXR0
cnMiOiBbXQotICAgICAgICAgICAgfQotICAgICAgICBdLAotICAgICAgICAiaW5oZXJpdGFuY2Ui
OiBudWxsLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0KLV0KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC9zeW50YXgvanNvbi9vcGVyYXRpb24tb3B0aW9uYWwtYXJnLmpzb24gYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvc3ludGF4L2pzb24vb3BlcmF0aW9uLW9wdGlvbmFsLWFyZy5qc29uCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCA0Yjc0MzZiYTViYWY3NjAxOTM2YjM0MDUwZTcxMTkxYTQ3ODEyYzZi
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC9zeW50YXgvanNvbi9vcGVyYXRpb24tb3B0aW9uYWwtYXJnLmpzb24KKysrIC9kZXYvbnVsbApA
QCAtMSw5OSArMCwwIEBACi1bCi0gICAgewotICAgICAgICAidHlwZSI6ICJpbnRlcmZhY2UiLAot
ICAgICAgICAibmFtZSI6ICJDb2xvckNyZWF0b3IiLAotICAgICAgICAicGFydGlhbCI6IGZhbHNl
LAotICAgICAgICAibWVtYmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAi
dHlwZSI6ICJvcGVyYXRpb24iLAotICAgICAgICAgICAgICAgICJnZXR0ZXIiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAic2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImRlbGV0ZXIi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0g
ICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInJldHVybi10eXBlIiwKLSAgICAgICAgICAgICAg
ICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgICAgICJpZGxUeXBlIjogIm9iamVjdCIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRy
cyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJjcmVh
dGVDb2xvciIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImNyZWF0ZUNvbG9yIiwK
LSAgICAgICAgICAgICAgICAiYXJndW1lbnRzIjogWwotICAgICAgICAgICAgICAgICAgICB7Ci0g
ICAgICAgICAgICAgICAgICAgICAgICAib3B0aW9uYWwiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICJ2YXJpYWRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgImRl
ZmF1bHQiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10sCi0g
ICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxh
YmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiZmxvYXQiLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgICAg
ICAgICB9LAotICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAidjEiLAotICAgICAgICAg
ICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogInYxIgotICAgICAgICAgICAgICAgICAgICB9
LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAib3B0aW9u
YWwiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ2YXJpYWRpYyI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHQiOiBudWxsLAotICAgICAgICAgICAgICAg
ICAgICAgICAgImV4dEF0dHJzIjogW10sCi0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlw
ZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBl
IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ImlkbFR5cGUiOiAiZmxvYXQiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRy
cyI6IFtdCi0gICAgICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICAg
ICAgIm5hbWUiOiAidjIiLAotICAgICAgICAgICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjog
InYyIgotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICAib3B0aW9uYWwiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICJ2YXJpYWRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1
bHQiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10sCi0gICAg
ICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxl
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiZmxvYXQiLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgICAgICAg
ICB9LAotICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAidjMiLAotICAgICAgICAgICAg
ICAgICAgICAgICAgImVzY2FwZWROYW1lIjogInYzIgotICAgICAgICAgICAgICAgICAgICB9LAot
ICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAib3B0aW9uYWwi
OiB0cnVlLAotICAgICAgICAgICAgICAgICAgICAgICAgInZhcmlhZGljIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdCI6IHsKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAidHlwZSI6ICJudW1iZXIiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1
ZSI6ICIzLjUiCi0gICAgICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAg
ICAgICAgImV4dEF0dHJzIjogW10sCi0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6
IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImlk
bFR5cGUiOiAiZmxvYXQiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6
IFtdCi0gICAgICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICAgICAg
Im5hbWUiOiAiYWxwaGEiLAotICAgICAgICAgICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjog
ImFscGhhIgotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXSwKLSAgICAg
ICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfQotICAgICAgICBdLAotICAg
ICAgICAiaW5oZXJpdGFuY2UiOiBudWxsLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0K
LV0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9vdmVybG9hZGluZy5qc29uIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3N5bnRheC9qc29uL292ZXJsb2FkaW5nLmpzb24KZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IGJmN2FjYTZjZGUzODA4ZTdlZDM2MTY0MDdmN2RjNDlmYTYzMWI3NjkuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5
bnRheC9qc29uL292ZXJsb2FkaW5nLmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSwzMjggKzAsMCBA
QAotWwotICAgIHsKLSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUi
OiAiQSIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJzIjogW10s
Ci0gICAgICAgICJpbmhlcml0YW5jZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0g
ICAgfSwKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAgICAgICJuYW1l
IjogIkIiLAotICAgICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFtd
LAotICAgICAgICAiaW5oZXJpdGFuY2UiOiBudWxsLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQot
ICAgIH0sCi0gICAgewotICAgICAgICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFt
ZSI6ICJDIiwKLSAgICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJlcnMiOiBb
Ci0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAib3BlcmF0aW9uIiwKLSAg
ICAgICAgICAgICAgICAiZ2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInNldHRlciI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICJkZWxldGVyIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlw
ZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwK
LSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJ2b2lk
IiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9
LAotICAgICAgICAgICAgICAgICJuYW1lIjogImYiLAotICAgICAgICAgICAgICAgICJlc2NhcGVk
TmFtZSI6ICJmIiwKLSAgICAgICAgICAgICAgICAiYXJndW1lbnRzIjogWwotICAgICAgICAgICAg
ICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAib3B0aW9uYWwiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJ2YXJpYWRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgImRlZmF1bHQiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0
dHJzIjogW10sCi0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInVu
aW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiQSIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAg
ICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJ4IiwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJ4IgotICAgICAgICAgICAgICAg
ICAgICB9Ci0gICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBb
XQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6
ICJvcGVyYXRpb24iLAotICAgICAgICAgICAgICAgICJnZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAic2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImRlbGV0ZXIiOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0
cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAg
ICAgICAgICAgICAgICJ0eXBlIjogInJldHVybi10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAg
ImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAg
ICJpZGxUeXBlIjogInZvaWQiLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQot
ICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiZiIsCi0gICAgICAg
ICAgICAgICAgImVzY2FwZWROYW1lIjogImYiLAotICAgICAgICAgICAgICAgICJhcmd1bWVudHMi
OiBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJvcHRp
b25hbCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgInZhcmlhZGljIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdCI6IG51bGwsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAiZXh0QXR0cnMiOiBbXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJpZGxU
eXBlIjogewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImFyZ3VtZW50LXR5
cGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAiaWRsVHlwZSI6ICJCIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMi
OiBbXQotICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJuYW1lIjogIngiLAotICAgICAgICAgICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogIngi
Ci0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAg
ICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJp
bmhlcml0YW5jZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgfSwKLSAgICB7
Ci0gICAgICAgICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAgICAgICJuYW1lIjogIkQiLAotICAg
ICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFsKLSAgICAgICAgICAg
IHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJvcGVyYXRpb24iLAotICAgICAgICAgICAgICAg
ICJnZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic2V0dGVyIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgImRlbGV0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RhdGljIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInJldHVybi10
eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAg
ICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogInZvaWQiLAotICAgICAgICAg
ICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAg
ICAgICAgIm5hbWUiOiAiZiIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImYiLAot
ICAgICAgICAgICAgICAgICJhcmd1bWVudHMiOiBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJvcHRpb25hbCI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgInZhcmlhZGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZGVm
YXVsdCI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICJ0eXBlIjogImFyZ3VtZW50LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFi
bGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJET01TdHJpbmciLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAg
ICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAiYSIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiYSIKLSAgICAgICAgICAgICAgICAgICAg
fQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAg
ICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAib3Bl
cmF0aW9uIiwKLSAgICAgICAgICAgICAgICAiZ2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgInNldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJkZWxldGVyIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdp
ZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAg
ICAgICAgICAidHlwZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5l
cmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRs
VHlwZSI6ICJ2b2lkIiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAg
ICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogImYiLAotICAgICAgICAgICAg
ICAgICJlc2NhcGVkTmFtZSI6ICJmIiwKLSAgICAgICAgICAgICAgICAiYXJndW1lbnRzIjogWwot
ICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAib3B0aW9uYWwi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ2YXJpYWRpYyI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHQiOiBudWxsLAotICAgICAgICAgICAgICAgICAg
ICAgICAgImV4dEF0dHJzIjogWwotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAiQWxsb3dBbnkiLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAiYXJndW1lbnRzIjogbnVsbCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgInR5cGUiOiAiZXh0ZW5kZWQtYXR0cmlidXRlIiwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgInJocyI6IG51bGwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgICAg
ICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAi
YXJndW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBu
dWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJpZGxUeXBlIjogIkRPTVN0cmluZyIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgICAgIH0sCi0gICAg
ICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJhIiwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJlc2NhcGVkTmFtZSI6ICJhIgotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAg
ICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAib3B0aW9uYWwiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJ2YXJpYWRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgImRlZmF1bHQiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0
dHJzIjogW10sCi0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInVu
aW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiRE9N
U3RyaW5nIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAg
ICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjog
ImIiLAotICAgICAgICAgICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImIiCi0gICAgICAg
ICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAg
ICAgICAgICJvcHRpb25hbCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgInZhcmlh
ZGljIjogdHJ1ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0IjogbnVsbCwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdLAotICAgICAgICAgICAgICAgICAg
ICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAi
YXJndW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBu
dWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJpZGxUeXBlIjogImZsb2F0IiwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICJuYW1lIjogImMiLAotICAgICAgICAgICAgICAgICAgICAgICAgImVz
Y2FwZWROYW1lIjogImMiCi0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBd
LAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9LAotICAgICAg
ICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogIm9wZXJhdGlvbiIsCi0gICAgICAgICAg
ICAgICAgImdldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzZXR0ZXIiOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAiZGVsZXRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdGF0
aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAicmV0
dXJuLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAg
ICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5p
b24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAidm9pZCIsCi0gICAg
ICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAg
ICAgICAgICAgICAibmFtZSI6ICJmIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAi
ZiIsCi0gICAgICAgICAgICAgICAgImFyZ3VtZW50cyI6IFtdLAotICAgICAgICAgICAgICAgICJl
eHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAg
ICAgICJ0eXBlIjogIm9wZXJhdGlvbiIsCi0gICAgICAgICAgICAgICAgImdldHRlciI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICJzZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiZGVs
ZXRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6
IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAicmV0dXJuLXR5cGUiLAotICAgICAgICAg
ICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJs
ZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAgICAgImlkbFR5cGUiOiAidm9pZCIsCi0gICAgICAgICAgICAgICAgICAgICJleHRB
dHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJm
IiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiZiIsCi0gICAgICAgICAgICAgICAg
ImFyZ3VtZW50cyI6IFsKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAg
ICAgICAgIm9wdGlvbmFsIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAidmFyaWFk
aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0IjogbnVsbCwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdLAotICAgICAgICAgICAgICAgICAg
ICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAi
YXJndW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBu
dWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJpZGxUeXBlIjogImxvbmciLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAg
ICAgICAgICAgICAgICAgIm5hbWUiOiAiYSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXNj
YXBlZE5hbWUiOiAiYSIKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAg
ICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIm9wdGlvbmFsIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAidmFyaWFkaWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJkZWZhdWx0IjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6
IFtdLAotICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgInR5cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogIkRPTVN0cmlu
ZyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAg
ICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJiIiwK
LSAgICAgICAgICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJiIgotICAgICAgICAgICAg
ICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICAib3B0aW9uYWwiOiB0cnVlLAotICAgICAgICAgICAgICAgICAgICAgICAgInZhcmlhZGljIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdCI6IG51bGwsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImFyZ3Vt
ZW50LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAiaWRsVHlwZSI6ICJET01TdHJpbmciLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAg
ICAgICAgICAgICAgICAgIm5hbWUiOiAiYyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXNj
YXBlZE5hbWUiOiAiYyIKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAg
ICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIm9wdGlvbmFsIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAidmFyaWFkaWMiOiB0cnVlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgImRlZmF1bHQiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjog
W10sCi0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
Im51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiZmxvYXQiLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAg
ICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAiZCIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiZCIKLSAgICAgICAgICAgICAgICAg
ICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10K
LSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImluaGVyaXRhbmNlIjogbnVsbCwK
LSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9Ci1dCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
c3ludGF4L2pzb24vb3ZlcnJpZGVidWlsdGlucy5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29u
L292ZXJyaWRlYnVpbHRpbnMuanNvbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTU0
YTQ2OGViOThlODY3ZWQ4YjBkNjhhOWM3NWRjZmJkNzYzZTk4Zi4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vb3ZlcnJp
ZGVidWlsdGlucy5qc29uCisrKyAvZGV2L251bGwKQEAgLTEsNzMgKzAsMCBAQAotWwotICAgIHsK
LSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUiOiAiU3RyaW5nTWFw
MiIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJzIjogWwotICAg
ICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0gICAgICAg
ICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICJpbmhlcml0IjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgInJlYWRvbmx5IjogdHJ1ZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAg
ICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlLXR5cGUiLAotICAgICAgICAgICAgICAg
ICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAgICAgImlkbFR5cGUiOiAidW5zaWduZWQgbG9uZyIsCi0gICAgICAgICAgICAgICAgICAgICJl
eHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6
ICJsZW5ndGgiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJsZW5ndGgiLAotICAg
ICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAg
ewotICAgICAgICAgICAgICAgICJ0eXBlIjogIm9wZXJhdGlvbiIsCi0gICAgICAgICAgICAgICAg
ImdldHRlciI6IHRydWUsCi0gICAgICAgICAgICAgICAgInNldHRlciI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICJkZWxldGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJyZXR1cm4tdHlw
ZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAg
ICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJET01TdHJpbmciLAotICAgICAg
ICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAg
ICAgICAgICAgIm5hbWUiOiAibG9va3VwIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUi
OiAibG9va3VwIiwKLSAgICAgICAgICAgICAgICAiYXJndW1lbnRzIjogWwotICAgICAgICAgICAg
ICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAib3B0aW9uYWwiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJ2YXJpYWRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgImRlZmF1bHQiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0
dHJzIjogW10sCi0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInVu
aW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiRE9N
U3RyaW5nIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAg
ICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjog
ImtleSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAia2V5IgotICAg
ICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICAi
ZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfQotICAgICAgICBdLAotICAgICAgICAiaW5oZXJp
dGFuY2UiOiBudWxsLAotICAgICAgICAiZXh0QXR0cnMiOiBbCi0gICAgICAgICAgICB7Ci0gICAg
ICAgICAgICAgICAgIm5hbWUiOiAiT3ZlcnJpZGVCdWlsdGlucyIsCi0gICAgICAgICAgICAgICAg
ImFyZ3VtZW50cyI6IG51bGwsCi0gICAgICAgICAgICAgICAgInR5cGUiOiAiZXh0ZW5kZWQtYXR0
cmlidXRlIiwKLSAgICAgICAgICAgICAgICAicmhzIjogbnVsbAotICAgICAgICAgICAgfQotICAg
ICAgICBdCi0gICAgfQotXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL3BhcnRp
YWwtaW50ZXJmYWNlLmpzb24gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vcGFydGlhbC1pbnRlcmZh
Y2UuanNvbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDc5MTI2MmY0NjU2OTFlYmQ3
YWVhYjkxMThkNDg0NzVjMzIzMGEwYy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vcGFydGlhbC1pbnRlcmZhY2UuanNv
bgorKysgL2Rldi9udWxsCkBAIC0xLDU1ICswLDAgQEAKLVsKLSAgICB7Ci0gICAgICAgICJ0eXBl
IjogImludGVyZmFjZSIsCi0gICAgICAgICJuYW1lIjogIkZvbyIsCi0gICAgICAgICJwYXJ0aWFs
IjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJzIjogWwotICAgICAgICAgICAgewotICAgICAgICAg
ICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICJpbmhlcml0IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5IjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBl
IjogImF0dHJpYnV0ZS10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxs
LAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogIkRP
TVN0cmluZyIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAg
ICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJiYXIiLAotICAgICAgICAgICAgICAg
ICJlc2NhcGVkTmFtZSI6ICJiYXIiLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0g
ICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJpbmhlcml0YW5jZSI6IG51bGwsCi0g
ICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgfSwKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImlu
dGVyZmFjZSIsCi0gICAgICAgICJuYW1lIjogIkZvbyIsCi0gICAgICAgICJwYXJ0aWFsIjogdHJ1
ZSwKLSAgICAgICAgIm1lbWJlcnMiOiBbCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAg
InR5cGUiOiAiYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlu
aGVyaXQiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAicmVhZG9ubHkiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0
cmlidXRlLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAg
ICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAi
dW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiRE9NU3RyaW5n
IiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9
LAotICAgICAgICAgICAgICAgICJuYW1lIjogInF1dXgiLAotICAgICAgICAgICAgICAgICJlc2Nh
cGVkTmFtZSI6ICJxdXV4IiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAg
ICAgICAgfQotICAgICAgICBdLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0KLV0KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9wcmltaXRpdmVzLmpzb24gYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvc3ludGF4L2pzb24vcHJpbWl0aXZlcy5qc29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCBhMjE2MjIxMTQwYzY1YWVjOWQ3ODc4ZWYwYTk2YThmMDJmZTBlYTYwLi4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNv
bi9wcmltaXRpdmVzLmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSwzMTcgKzAsMCBAQAotWwotICAg
IHsKLSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUiOiAiUHJpbWl0
aXZlcyIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJzIjogWwot
ICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0gICAg
ICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmll
ciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpbmhlcml0IjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgInJlYWRvbmx5IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0g
ICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZS10eXBlIiwKLSAgICAgICAgICAg
ICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgICAgICJpZGxUeXBlIjogImJvb2xlYW4iLAotICAgICAgICAgICAgICAgICAgICAiZXh0
QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAi
dHJ1dGgiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJ0cnV0aCIsCi0gICAgICAg
ICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0g
ICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAic3Rh
dGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAicmVhZG9ubHki
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAg
ICAgInR5cGUiOiAiYXR0cmlidXRlLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJp
YyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5
cGUiOiAiYnl0ZSIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAg
ICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJjaGFyYWN0ZXIiLAotICAgICAg
ICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJjaGFyYWN0ZXIiLAotICAgICAgICAgICAgICAgICJl
eHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAg
ICAgICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICJpbmhlcml0IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5IjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjog
ImF0dHJpYnV0ZS10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAot
ICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAg
ICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogIm9jdGV0
IiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9
LAotICAgICAgICAgICAgICAgICJuYW1lIjogInZhbHVlIiwKLSAgICAgICAgICAgICAgICAiZXNj
YXBlZE5hbWUiOiAidmFsdWUiLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAg
ICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJp
YnV0ZSIsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpbmhlcml0IjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgInJlYWRvbmx5IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlk
bFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZS10eXBlIiwK
LSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAg
ICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogInNob3J0IiwKLSAgICAgICAgICAgICAg
ICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAg
ICJuYW1lIjogIm51bWJlciIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogIm51bWJl
ciIsCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0gICAg
ICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAgICAgICAg
ICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAicmVhZG9ubHkiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAg
ICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlLXR5cGUiLAotICAgICAgICAgICAgICAg
ICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAgICAgImlkbFR5cGUiOiAidW5zaWduZWQgc2hvcnQiLAotICAgICAgICAgICAgICAgICAgICAi
ZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUi
OiAicG9zaXRpdmUiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJwb3NpdGl2ZSIs
Ci0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAg
ICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAgICAgICAgICAg
ICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAi
cmVhZG9ubHkiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAg
ICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlLXR5cGUiLAotICAgICAgICAgICAgICAgICAg
ICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAg
ICAgImlkbFR5cGUiOiAibG9uZyIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtd
Ci0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJiaWciLAotICAg
ICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJiaWciLAotICAgICAgICAgICAgICAgICJleHRB
dHRycyI6IFtdCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAg
ICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJp
bmhlcml0IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5IjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImF0
dHJpYnV0ZS10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAg
ICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAg
InVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogInVuc2lnbmVk
IGxvbmciLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAg
ICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiYmlncG9zaXRpdmUiLAotICAgICAgICAg
ICAgICAgICJlc2NhcGVkTmFtZSI6ICJiaWdwb3NpdGl2ZSIsCi0gICAgICAgICAgICAgICAgImV4
dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAg
ICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAicmVhZG9ubHkiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAi
YXR0cmlidXRlLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0g
ICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAg
ICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAibG9uZyBs
b25nIiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAg
ICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogImJpZ2JpZyIsCi0gICAgICAgICAgICAgICAg
ImVzY2FwZWROYW1lIjogImJpZ2JpZyIsCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10K
LSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAi
YXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImluaGVyaXQiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAicmVhZG9ubHkiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlLXR5
cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAg
ICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAidW5zaWduZWQgbG9uZyBsb25n
IiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9
LAotICAgICAgICAgICAgICAgICJuYW1lIjogImJpZ2JpZ3Bvc2l0aXZlIiwKLSAgICAgICAgICAg
ICAgICAiZXNjYXBlZE5hbWUiOiAiYmlnYmlncG9zaXRpdmUiLAotICAgICAgICAgICAgICAgICJl
eHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAg
ICAgICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICJpbmhlcml0IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5IjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjog
ImF0dHJpYnV0ZS10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAot
ICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAg
ICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogImZsb2F0
IiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9
LAotICAgICAgICAgICAgICAgICJuYW1lIjogInJlYWwiLAotICAgICAgICAgICAgICAgICJlc2Nh
cGVkTmFtZSI6ICJyZWFsIiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAg
ICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1
dGUiLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAi
c3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICJyZWFkb25seSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxU
eXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0g
ICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAg
Im51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJkb3VibGUiLAotICAgICAgICAgICAgICAg
ICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAg
Im5hbWUiOiAiYmlncmVhbCIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImJpZ3Jl
YWwiLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9LAotICAg
ICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0gICAgICAg
ICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICJpbmhlcml0IjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgInJlYWRvbmx5IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAg
ICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZS10eXBlIiwKLSAgICAgICAgICAgICAg
ICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgICAgICJpZGxUeXBlIjogInVucmVzdHJpY3RlZCBmbG9hdCIsCi0gICAgICAgICAgICAgICAg
ICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAi
bmFtZSI6ICJyZWFsd2l0aGluZmluaXR5IiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUi
OiAicmVhbHdpdGhpbmZpbml0eSIsCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAg
ICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0
cmlidXRlIiwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImluaGVyaXQiOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAicmVhZG9ubHkiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAi
aWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlLXR5cGUi
LAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAg
ICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAidW5yZXN0cmljdGVkIGRvdWJsZSIs
Ci0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwK
LSAgICAgICAgICAgICAgICAibmFtZSI6ICJiaWdyZWFsd2l0aGluZmluaXR5IiwKLSAgICAgICAg
ICAgICAgICAiZXNjYXBlZE5hbWUiOiAiYmlncmVhbHdpdGhpbmZpbml0eSIsCi0gICAgICAgICAg
ICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAg
ICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAic3RhdGlj
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAicmVhZG9ubHkiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAg
InR5cGUiOiAiYXR0cmlidXRlLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6
IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUi
OiAiRE9NU3RyaW5nIiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAg
ICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogInN0cmluZyIsCi0gICAgICAg
ICAgICAgICAgImVzY2FwZWROYW1lIjogInN0cmluZyIsCi0gICAgICAgICAgICAgICAgImV4dEF0
dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAg
InR5cGUiOiAiYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlu
aGVyaXQiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAicmVhZG9ubHkiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0
cmlidXRlLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAg
ICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAi
dW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiQnl0ZVN0cmlu
ZyIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAg
fSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJieXRlcyIsCi0gICAgICAgICAgICAgICAgImVz
Y2FwZWROYW1lIjogImJ5dGVzIiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAg
ICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRy
aWJ1dGUiLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaW5oZXJpdCI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICJyZWFkb25seSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJp
ZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIs
Ci0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAg
ICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJEYXRlIiwKLSAgICAgICAgICAgICAg
ICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAg
ICJuYW1lIjogImRhdGUiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJkYXRlIiwK
LSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfSwKLSAgICAgICAg
ICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAg
ICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJy
ZWFkb25seSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAg
ICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAg
ICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAg
ICAiaWRsVHlwZSI6ICJSZWdFeHAiLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBb
XQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAicmVnZXhwIiwK
LSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAicmVnZXhwIiwKLSAgICAgICAgICAgICAg
ICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfQotICAgICAgICBdLAotICAgICAgICAiaW5o
ZXJpdGFuY2UiOiBudWxsLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0KLV0KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9wcm9taXNlLXZvaWQuanNvbiBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC9zeW50YXgvanNvbi9wcm9taXNlLXZvaWQuanNvbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggNzY3NjgzOGI4MTc5ZDllNzM2YThmMzZiOTc2MjhiZWNlMTJhODRkOC4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pz
b24vcHJvbWlzZS12b2lkLmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSwzNiArMCwwIEBACi1bCi0g
ICAgewotICAgICAgICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFtZSI6ICJDYXQi
LAotICAgICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFsKLSAgICAg
ICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAg
ICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICJyZWFkb25seSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAg
ICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAgICAgICAgICAgICAg
ICAgICJnZW5lcmljIjogIlByb21pc2UiLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAi
cmV0dXJuLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAot
ICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJpZGxU
eXBlIjogInZvaWQiLAotICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAg
ICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10K
LSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogIm1lb3ciLAotICAg
ICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJtZW93IiwKLSAgICAgICAgICAgICAgICAiZXh0
QXR0cnMiOiBbXQotICAgICAgICAgICAgfQotICAgICAgICBdLAotICAgICAgICAiaW5oZXJpdGFu
Y2UiOiBudWxsLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0KLV0KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC9zeW50YXgvanNvbi9wcm90b3R5cGVyb290Lmpzb24gYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3lu
dGF4L2pzb24vcHJvdG90eXBlcm9vdC5qc29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCBjZWM3OWZmNjZiNmE0OWRjMzlkZWY3NmM0MjUyZDg3ZTk2YTJjZTI4Li4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9w
cm90b3R5cGVyb290Lmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSwzNiArMCwwIEBACi1bCi0gICAg
ewotICAgICAgICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFtZSI6ICJOb2RlIiwK
LSAgICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJlcnMiOiBbCi0gICAgICAg
ICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAgICAgICAgICAg
ICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAi
cmVhZG9ubHkiOiB0cnVlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAg
ICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAg
ICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAg
ICAiaWRsVHlwZSI6ICJ1bnNpZ25lZCBzaG9ydCIsCi0gICAgICAgICAgICAgICAgICAgICJleHRB
dHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJu
b2RlVHlwZSIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogIm5vZGVUeXBlIiwKLSAg
ICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfQotICAgICAgICBdLAot
ICAgICAgICAiaW5oZXJpdGFuY2UiOiBudWxsLAotICAgICAgICAiZXh0QXR0cnMiOiBbCi0gICAg
ICAgICAgICB7Ci0gICAgICAgICAgICAgICAgIm5hbWUiOiAiUHJvdG90eXBlUm9vdCIsCi0gICAg
ICAgICAgICAgICAgImFyZ3VtZW50cyI6IG51bGwsCi0gICAgICAgICAgICAgICAgInR5cGUiOiAi
ZXh0ZW5kZWQtYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAicmhzIjogbnVsbAotICAgICAg
ICAgICAgfQotICAgICAgICBdCi0gICAgfQotXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRh
eC9qc29uL3B1dGZvcndhcmRzLmpzb24gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vcHV0Zm9yd2Fy
ZHMuanNvbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTUxYjNlZjcxOGNjYzkwYzdj
ZWUzZmYwMzVhY2E2MWU2MTM5Njg5OC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vcHV0Zm9yd2FyZHMuanNvbgorKysg
L2Rldi9udWxsCkBAIC0xLDU3ICswLDAgQEAKLVsKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImlu
dGVyZmFjZSIsCi0gICAgICAgICJuYW1lIjogIlBlcnNvbiIsCi0gICAgICAgICJwYXJ0aWFsIjog
ZmFsc2UsCi0gICAgICAgICJtZW1iZXJzIjogWwotICAgICAgICAgICAgewotICAgICAgICAgICAg
ICAgICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICJpbmhlcml0IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5IjogdHJ1ZSwKLSAg
ICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAi
YXR0cmlidXRlLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0g
ICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAg
ICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiTmFtZSIs
Ci0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwK
LSAgICAgICAgICAgICAgICAibmFtZSI6ICJuYW1lIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBl
ZE5hbWUiOiAibmFtZSIsCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogWwotICAgICAgICAg
ICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJQdXRGb3J3YXJk
cyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiYXJndW1lbnRzIjogbnVsbCwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICJ0eXBlIjogImV4dGVuZGVkLWF0dHJpYnV0ZSIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAicmhzIjogewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBl
IjogImlkZW50aWZpZXIiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSI6ICJm
dWxsIgotICAgICAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICAgICB9Ci0g
ICAgICAgICAgICAgICAgXQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAg
ICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJyZWFkb25seSI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlw
ZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVs
bCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJ1
bnNpZ25lZCBzaG9ydCIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAg
ICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJhZ2UiLAotICAgICAgICAg
ICAgICAgICJlc2NhcGVkTmFtZSI6ICJhZ2UiLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6
IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJpbmhlcml0YW5jZSI6IG51
bGwsCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgfQotXQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3N5bnRheC9qc29uL3JlY29yZC5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL3JlY29y
ZC5qc29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxYmU1NDI3Yzc0ZDZjODNiNDI5
MjczNDQzZmVmYjAzMjYzZDBmOThmLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9yZWNvcmQuanNvbgorKysgL2Rldi9u
dWxsCkBAIC0xLDIyMCArMCwwIEBACi1bCi0gICAgewotICAgICAgICAidHlwZSI6ICJpbnRlcmZh
Y2UiLAotICAgICAgICAibmFtZSI6ICJGb28iLAotICAgICAgICAicGFydGlhbCI6IGZhbHNlLAot
ICAgICAgICAibWVtYmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlw
ZSI6ICJvcGVyYXRpb24iLAotICAgICAgICAgICAgICAgICJnZXR0ZXIiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAic2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImRlbGV0ZXIiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
InN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAg
ICAgICAgICAgICAgICAgICJ0eXBlIjogInJldHVybi10eXBlIiwKLSAgICAgICAgICAgICAgICAg
ICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ICAgICJpZGxUeXBlIjogInZvaWQiLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBb
XQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiZm9vIiwKLSAg
ICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiZm9vIiwKLSAgICAgICAgICAgICAgICAiYXJn
dW1lbnRzIjogWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICAib3B0aW9uYWwiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ2YXJpYWRpYyI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHQiOiBudWxsLAotICAgICAg
ICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10sCi0gICAgICAgICAgICAgICAgICAgICAg
ICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1
bWVudC10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6ICJzZXF1
ZW5jZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJ0eXBlIjogImFyZ3VtZW50LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAiZ2VuZXJpYyI6ICJyZWNvcmQiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVu
aW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjog
WwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImFyZ3VtZW50LXR5cGUiLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJCeXRlU3Ry
aW5nIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMi
OiBbXQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiYW55IiwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBd
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4
dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAg
ICAgICAgICAibmFtZSI6ICJwYXJhbSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXNjYXBl
ZE5hbWUiOiAicGFyYW0iCi0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBd
LAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9LAotICAgICAg
ICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogIm9wZXJhdGlvbiIsCi0gICAgICAgICAg
ICAgICAgImdldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzZXR0ZXIiOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAiZGVsZXRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdGF0
aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAicmV0
dXJuLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6ICJyZWNvcmQiLAotICAg
ICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAg
InVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogWwotICAgICAg
ICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjog
InJldHVybi10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51
bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgImlkbFR5cGUiOiAiRE9NU3RyaW5nIiwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6
ICJyZXR1cm4tdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBu
dWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IHRydWUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogdHJ1ZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAiaWRsVHlwZSI6IFsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiBudWxsLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogImZsb2F0IiwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogbnVsbCwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJET01TdHJpbmciLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAg
ICAgIH0KLSAgICAgICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0
dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogImJh
ciIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImJhciIsCi0gICAgICAgICAgICAg
ICAgImFyZ3VtZW50cyI6IFtdLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAg
ICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJpbmhlcml0YW5jZSI6IG51bGwsCi0gICAg
ICAgICJleHRBdHRycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAibmFtZSI6
ICJDb25zdHJ1Y3RvciIsCi0gICAgICAgICAgICAgICAgImFyZ3VtZW50cyI6IFsKLSAgICAgICAg
ICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIm9wdGlvbmFsIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgICAgICAgICAidmFyaWFkaWMiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJkZWZhdWx0IjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJl
eHRBdHRycyI6IFtdLAotICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiAicmVjb3JkIiwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlw
ZSI6IFsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiVVNWU3RyaW5nIiwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImFyZ3VtZW50LXR5cGUiLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogIlVTVlN0cmluZyIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgXSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAg
ICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjogImluaXQiLAot
ICAgICAgICAgICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImluaXQiCi0gICAgICAgICAg
ICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgICJ0eXBlIjog
ImV4dGVuZGVkLWF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInJocyI6IG51bGwKLSAgICAg
ICAgICAgIH0KLSAgICAgICAgXQotICAgIH0sCi0gICAgewotICAgICAgICAidHlwZSI6ICJpbnRl
cmZhY2UiLAotICAgICAgICAibmFtZSI6ICJCYXIiLAotICAgICAgICAicGFydGlhbCI6IGZhbHNl
LAotICAgICAgICAibWVtYmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAi
dHlwZSI6ICJvcGVyYXRpb24iLAotICAgICAgICAgICAgICAgICJnZXR0ZXIiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAic2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImRlbGV0ZXIi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0g
ICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInJldHVybi10eXBlIiwKLSAgICAgICAgICAgICAg
ICAgICAgImdlbmVyaWMiOiAicmVjb3JkIiwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxl
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICAgICAiaWRsVHlwZSI6IFsKLSAgICAgICAgICAgICAgICAgICAgICAgIHsKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1
bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogIkRP
TVN0cmluZyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAg
ICAgICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgICAgICB7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAicmV0dXJuLXR5cGUiLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAi
dW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJm
bG9hdCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogWwotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAibmFtZSI6ICJYQXR0ciIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAiYXJndW1lbnRzIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJ0eXBlIjogImV4dGVuZGVkLWF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAicmhzIjogbnVsbAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB9Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgXQotICAgICAgICAgICAgICAgICAgICAg
ICAgfQotICAgICAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0
cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiYmFy
IiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiYmFyIiwKLSAgICAgICAgICAgICAg
ICAiYXJndW1lbnRzIjogW10sCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAg
ICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImluaGVyaXRhbmNlIjogbnVsbCwKLSAgICAg
ICAgImV4dEF0dHJzIjogW10KLSAgICB9Ci1dCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4
L2pzb24vcmVnLW9wZXJhdGlvbnMuanNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9yZWctb3Bl
cmF0aW9ucy5qc29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4Nzk1YzU5ZWM4NzM3
MWU3NGJmNzU5Nzg2MTQ3OGFiOGIxYzE1YjU0Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9yZWctb3BlcmF0aW9ucy5q
c29uCisrKyAvZGV2L251bGwKQEAgLTEsMTY2ICswLDAgQEAKLVsKLSAgICB7Ci0gICAgICAgICJ0
eXBlIjogImludGVyZmFjZSIsCi0gICAgICAgICJuYW1lIjogIkRpbWVuc2lvbnMiLAotICAgICAg
ICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFsKLSAgICAgICAgICAgIHsK
LSAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJz
dGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJyZWFkb25s
eSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAg
ICAgICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5l
cmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRs
VHlwZSI6ICJ1bnNpZ25lZCBsb25nIiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjog
W10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogIndpZHRoIiwK
LSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAid2lkdGgiLAotICAgICAgICAgICAgICAg
ICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAg
ICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICJpbmhlcml0IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5IjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBl
IjogImF0dHJpYnV0ZS10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxs
LAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogInVu
c2lnbmVkIGxvbmciLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAg
ICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiaGVpZ2h0IiwKLSAgICAgICAg
ICAgICAgICAiZXNjYXBlZE5hbWUiOiAiaGVpZ2h0IiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0
cnMiOiBbXQotICAgICAgICAgICAgfQotICAgICAgICBdLAotICAgICAgICAiaW5oZXJpdGFuY2Ui
OiBudWxsLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0sCi0gICAgewotICAgICAgICAi
dHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFtZSI6ICJCdXR0b24iLAotICAgICAgICAi
cGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAg
ICAgICAgICAgICAgICAidHlwZSI6ICJvcGVyYXRpb24iLAotICAgICAgICAgICAgICAgICJnZXR0
ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgImRlbGV0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInJldHVybi10eXBlIiwK
LSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAg
ICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogImJvb2xlYW4iLAotICAgICAgICAgICAg
ICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAg
ICAgIm5hbWUiOiAiaXNNb3VzZU92ZXIiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6
ICJpc01vdXNlT3ZlciIsCi0gICAgICAgICAgICAgICAgImFyZ3VtZW50cyI6IFtdLAotICAgICAg
ICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewot
ICAgICAgICAgICAgICAgICJ0eXBlIjogIm9wZXJhdGlvbiIsCi0gICAgICAgICAgICAgICAgImdl
dHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAiZGVsZXRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAicmV0dXJuLXR5cGUi
LAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAg
ICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAidm9pZCIsCi0gICAgICAgICAgICAg
ICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAg
ICAibmFtZSI6ICJzZXREaW1lbnNpb25zIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUi
OiAic2V0RGltZW5zaW9ucyIsCi0gICAgICAgICAgICAgICAgImFyZ3VtZW50cyI6IFsKLSAgICAg
ICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIm9wdGlvbmFsIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAidmFyaWFkaWMiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICJkZWZhdWx0IjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJleHRBdHRycyI6IFtdLAotICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBl
IjogIkRpbWVuc2lvbnMiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6
IFtdCi0gICAgICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICAgICAg
Im5hbWUiOiAic2l6ZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAi
c2l6ZSIKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAg
ICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0g
ICAgICAgICAgICAgICAgInR5cGUiOiAib3BlcmF0aW9uIiwKLSAgICAgICAgICAgICAgICAiZ2V0
dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInNldHRlciI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICJkZWxldGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJyZXR1cm4tdHlwZSIs
Ci0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAg
ICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJ2b2lkIiwKLSAgICAgICAgICAgICAg
ICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAg
ICJuYW1lIjogInNldERpbWVuc2lvbnMiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6
ICJzZXREaW1lbnNpb25zIiwKLSAgICAgICAgICAgICAgICAiYXJndW1lbnRzIjogWwotICAgICAg
ICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAib3B0aW9uYWwiOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ2YXJpYWRpYyI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgImRlZmF1bHQiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAg
ImV4dEF0dHJzIjogW10sCi0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUi
OiAidW5zaWduZWQgbG9uZyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJz
IjogW10KLSAgICAgICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgICAg
ICAibmFtZSI6ICJ3aWR0aCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUi
OiAid2lkdGgiCi0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsK
LSAgICAgICAgICAgICAgICAgICAgICAgICJvcHRpb25hbCI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgInZhcmlhZGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAi
ZGVmYXVsdCI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJ0eXBlIjogImFyZ3VtZW50LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAibnVs
bGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJ1bnNpZ25lZCBsb25n
IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAg
ICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjogImhlaWdo
dCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiaGVpZ2h0IgotICAg
ICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICAi
ZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfQotICAgICAgICBdLAotICAgICAgICAiaW5oZXJp
dGFuY2UiOiBudWxsLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0KLV0KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9yZXBsYWNlYWJsZS5qc29uIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5
bnRheC9qc29uL3JlcGxhY2VhYmxlLmpzb24KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDEzMzg5MWQ0NjFkYjMxNWMxN2I0MTg0YjBkNzQ0M2RkMzVmZWFmNTAuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL3Jl
cGxhY2VhYmxlLmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSw1NiArMCwwIEBACi1bCi0gICAgewot
ICAgICAgICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFtZSI6ICJDb3VudGVyIiwK
LSAgICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJlcnMiOiBbCi0gICAgICAg
ICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAgICAgICAgICAg
ICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAi
cmVhZG9ubHkiOiB0cnVlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAg
ICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAg
ICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAg
ICAiaWRsVHlwZSI6ICJ1bnNpZ25lZCBsb25nIiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0
dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogInZh
bHVlIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAidmFsdWUiLAotICAgICAgICAg
ICAgICAgICJleHRBdHRycyI6IFsKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAg
ICAgICAgICAgICAgIm5hbWUiOiAiUmVwbGFjZWFibGUiLAotICAgICAgICAgICAgICAgICAgICAg
ICAgImFyZ3VtZW50cyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJl
eHRlbmRlZC1hdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgInJocyI6IG51bGwK
LSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0KLSAgICAgICAgICAgIH0s
Ci0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAib3BlcmF0aW9uIiwKLSAg
ICAgICAgICAgICAgICAiZ2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInNldHRlciI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICJkZWxldGVyIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlw
ZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwK
LSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJ2b2lk
IiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9
LAotICAgICAgICAgICAgICAgICJuYW1lIjogImluY3JlbWVudCIsCi0gICAgICAgICAgICAgICAg
ImVzY2FwZWROYW1lIjogImluY3JlbWVudCIsCi0gICAgICAgICAgICAgICAgImFyZ3VtZW50cyI6
IFtdLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAg
ICAgIF0sCi0gICAgICAgICJpbmhlcml0YW5jZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6
IFtdCi0gICAgfQotXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL3NlcXVlbmNl
Lmpzb24gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vc2VxdWVuY2UuanNvbgpkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggZWFkMGNkZDg2MmM3ODY3Y2M4Y2IyZTBiNTViYmNhNDM2N2FlYjg5
ZC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvc3ludGF4L2pzb24vc2VxdWVuY2UuanNvbgorKysgL2Rldi9udWxsCkBAIC0xLDE0MiArMCww
IEBACi1bCi0gICAgewotICAgICAgICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFt
ZSI6ICJDYW52YXMiLAotICAgICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVy
cyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJvcGVyYXRpb24i
LAotICAgICAgICAgICAgICAgICJnZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic2V0
dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImRlbGV0ZXIiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAg
ICJ0eXBlIjogInJldHVybi10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBu
dWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjog
InZvaWQiLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAg
ICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiZHJhd1BvbHlnb24iLAotICAgICAgICAg
ICAgICAgICJlc2NhcGVkTmFtZSI6ICJkcmF3UG9seWdvbiIsCi0gICAgICAgICAgICAgICAgImFy
Z3VtZW50cyI6IFsKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAg
ICAgIm9wdGlvbmFsIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAidmFyaWFkaWMi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0IjogbnVsbCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdLAotICAgICAgICAgICAgICAgICAgICAg
ICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXJn
dW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiAic2Vx
dWVuY2UiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAi
bnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9u
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogImZs
b2F0IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAg
ICAgICAgICAgICAgIm5hbWUiOiAiY29vcmRpbmF0ZXMiLAotICAgICAgICAgICAgICAgICAgICAg
ICAgImVzY2FwZWROYW1lIjogImNvb3JkaW5hdGVzIgotICAgICAgICAgICAgICAgICAgICB9Ci0g
ICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAg
ICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJvcGVyYXRp
b24iLAotICAgICAgICAgICAgICAgICJnZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAi
c2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImRlbGV0ZXIiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVy
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAg
ICAgICJ0eXBlIjogInJldHVybi10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMi
OiAic2VxdWVuY2UiLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJp
ZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAicmV0dXJuLXR5cGUi
LAotICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAg
ICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAi
dW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogImZsb2F0
IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAg
ICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAg
ICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJnZXRJbmZsZWN0aW9uUG9pbnRzIiwK
LSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiZ2V0SW5mbGVjdGlvblBvaW50cyIsCi0g
ICAgICAgICAgICAgICAgImFyZ3VtZW50cyI6IFtdLAotICAgICAgICAgICAgICAgICJleHRBdHRy
cyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJpbmhlcml0YW5jZSI6
IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgfSwKLSAgICB7Ci0gICAgICAgICJ0
eXBlIjogImludGVyZmFjZSIsCi0gICAgICAgICJuYW1lIjogIkkiLAotICAgICAgICAicGFydGlh
bCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAg
ICAgICAgICAidHlwZSI6ICJvcGVyYXRpb24iLAotICAgICAgICAgICAgICAgICJnZXR0ZXIiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAic2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ImRlbGV0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5
cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInJldHVybi10eXBlIiwKLSAgICAg
ICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVs
bGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgICAgICJpZGxUeXBlIjogInZvaWQiLAotICAgICAgICAgICAgICAgICAgICAi
ZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUi
OiAiZjEiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJmMSIsCi0gICAgICAgICAg
ICAgICAgImFyZ3VtZW50cyI6IFsKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAg
ICAgICAgICAgICAgIm9wdGlvbmFsIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAi
dmFyaWFkaWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0IjogbnVs
bCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdLAotICAgICAgICAgICAg
ICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5
cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVy
aWMiOiAic2VxdWVuY2UiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxU
eXBlIjogImxvbmciLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMi
OiBbCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAiWEF0dHIiLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJhcmd1bWVudHMiOiBudWxsLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImV4dGVuZGVkLWF0dHJpYnV0
ZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInJocyI6IG51bGwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAg
ICAgIH0sCi0gICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJhcmciLAotICAgICAgICAg
ICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImFyZyIKLSAgICAgICAgICAgICAgICAgICAg
fQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAg
ICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImluaGVyaXRhbmNlIjogbnVsbCwKLSAg
ICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9Ci1dCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3lu
dGF4L2pzb24vc2V0bGlrZS5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL3NldGxpa2UuanNv
bgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDg1ODM1MzhmZDBmMGExZjFlNGIzZTAz
OTQyYzJhY2E1ZjYxNTI3MC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vc2V0bGlrZS5qc29uCisrKyAvZGV2L251bGwK
QEAgLTEsODEgKzAsMCBAQAotWwotICAgIHsKLSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIiwK
LSAgICAgICAgIm5hbWUiOiAiU2V0TGlrZSIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0g
ICAgICAgICJtZW1iZXJzIjogWwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBl
IjogInNldGxpa2UiLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogWwotICAgICAgICAgICAg
ICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6IG51bGwsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAibG9uZyIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICB9Ci0g
ICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICAicmVhZG9ubHkiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfQotICAgICAgICBdLAot
ICAgICAgICAiaW5oZXJpdGFuY2UiOiBudWxsLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAg
IH0sCi0gICAgewotICAgICAgICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFtZSI6
ICJSZWFkT25seVNldExpa2UiLAotICAgICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAi
bWVtYmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJzZXRs
aWtlIiwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IFsKLSAgICAgICAgICAgICAgICAgICAg
ewotICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiBudWxsLAotICAgICAgICAgICAgICAg
ICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxh
YmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogImxvbmciLAotICAgICAgICAgICAgICAg
ICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAg
ICAgICAgIF0sCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5IjogdHJ1ZSwKLSAgICAgICAgICAg
ICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfQotICAgICAgICBdLAotICAgICAgICAi
aW5oZXJpdGFuY2UiOiBudWxsLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0sCi0gICAg
ewotICAgICAgICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFtZSI6ICJTZXRMaWtl
RXh0IiwKLSAgICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJlcnMiOiBbCi0g
ICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAic2V0bGlrZSIsCi0gICAgICAg
ICAgICAgICAgImlkbFR5cGUiOiBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJ0eXBlIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJnZW5l
cmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAiaWRsVHlwZSI6ICJsb25nIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJleHRB
dHRycyI6IFsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICJuYW1lIjogIlhBdHRyIiwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgImFyZ3VtZW50cyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJ0eXBlIjogImV4dGVuZGVkLWF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJyaHMiOiBudWxsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgfQotICAg
ICAgICAgICAgICAgICAgICAgICAgXQotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAg
ICAgICAgXSwKLSAgICAgICAgICAgICAgICAicmVhZG9ubHkiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfQotICAgICAgICBdLAotICAgICAgICAi
aW5oZXJpdGFuY2UiOiBudWxsLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0KLV0KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9zdGF0aWMuanNvbiBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9z
eW50YXgvanNvbi9zdGF0aWMuanNvbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDBk
ZGYzNWVjNmU0YjVkYTZhY2RmMjAzZWFlM2RhYTVmMDEzMmQxOS4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vc3RhdGlj
Lmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSwxNjAgKzAsMCBAQAotWwotICAgIHsKLSAgICAgICAg
InR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUiOiAiUG9pbnQiLAotICAgICAgICAi
cGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFtdLAotICAgICAgICAiaW5oZXJp
dGFuY2UiOiBudWxsLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0sCi0gICAgewotICAg
ICAgICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFtZSI6ICJDaXJjbGUiLAotICAg
ICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFsKLSAgICAgICAgICAg
IHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAg
ICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJyZWFk
b25seSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAg
ICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJn
ZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAi
aWRsVHlwZSI6ICJmbG9hdCIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0g
ICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJjeCIsCi0gICAgICAg
ICAgICAgICAgImVzY2FwZWROYW1lIjogImN4IiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMi
OiBbXQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlw
ZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaW5oZXJp
dCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJyZWFkb25seSI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1
dGUtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAg
ICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlv
biI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJmbG9hdCIsCi0gICAg
ICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAg
ICAgICAgICAgICAibmFtZSI6ICJjeSIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjog
ImN5IiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfSwKLSAg
ICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAg
ICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICJyZWFkb25seSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAg
ICAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAgICAgICAgICAg
ICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICAgICAiaWRsVHlwZSI6ICJmbG9hdCIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRy
cyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJyYWRp
dXMiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJyYWRpdXMiLAotICAgICAgICAg
ICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAg
ICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInN0YXRp
YyI6IHRydWUsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAicmVhZG9ubHkiOiB0
cnVlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAi
dHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjog
bnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6
ICJsb25nIiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAg
ICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogInRyaWFuZ3VsYXRpb25Db3VudCIsCi0g
ICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogInRyaWFuZ3VsYXRpb25Db3VudCIsCi0gICAg
ICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7
Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAib3BlcmF0aW9uIiwKLSAgICAgICAgICAgICAgICAi
Z2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInNldHRlciI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICJkZWxldGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IHRy
dWUsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInJldHVybi10eXBl
IiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAg
ICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogIlBvaW50IiwKLSAgICAgICAgICAg
ICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAg
ICAgICJuYW1lIjogInRyaWFuZ3VsYXRlIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUi
OiAidHJpYW5ndWxhdGUiLAotICAgICAgICAgICAgICAgICJhcmd1bWVudHMiOiBbCi0gICAgICAg
ICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJvcHRpb25hbCI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICAgICAgICAgInZhcmlhZGljIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAiZGVmYXVsdCI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAi
ZXh0QXR0cnMiOiBbXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImFyZ3VtZW50LXR5cGUiLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6
ICJDaXJjbGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0g
ICAgICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUi
OiAiYzEiLAotICAgICAgICAgICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImMxIgotICAg
ICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICAib3B0aW9uYWwiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ2
YXJpYWRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHQiOiBudWxs
LAotICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10sCi0gICAgICAgICAgICAg
ICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlw
ZSI6ICJhcmd1bWVudC10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJp
YyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiQ2lyY2xlIiwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjogImMyIiwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJlc2NhcGVkTmFtZSI6ICJjMiIKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAg
ICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIm9wdGlvbmFsIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgICAgICAgICAidmFyaWFkaWMiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJkZWZhdWx0IjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJl
eHRBdHRycyI6IFtdLAotICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjog
IkNpcmNsZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAg
ICAgICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6
ICJjMyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiYzMiCi0gICAg
ICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgICJl
eHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJpbmhlcml0
YW5jZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgfQotXQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL3N0cmluZ2lmaWVyLWF0dHJpYnV0ZS5qc29uIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L3N5bnRheC9qc29uL3N0cmluZ2lmaWVyLWF0dHJpYnV0ZS5qc29uCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCBkYmNhN2YxNzkwMmMyYjMxN2U5ZGU3NGNhN2E1NGIxZThjMTIw
NzgzLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC9zeW50YXgvanNvbi9zdHJpbmdpZmllci1hdHRyaWJ1dGUuanNvbgorKysgL2Rldi9udWxs
CkBAIC0xLDU0ICswLDAgQEAKLVsKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImludGVyZmFjZSIs
Ci0gICAgICAgICJuYW1lIjogIlN0dWRlbnQiLAotICAgICAgICAicGFydGlhbCI6IGZhbHNlLAot
ICAgICAgICAibWVtYmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlw
ZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaW5oZXJp
dCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJyZWFkb25seSI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1
dGUtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAg
ICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlv
biI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJ1bnNpZ25lZCBsb25n
IiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9
LAotICAgICAgICAgICAgICAgICJuYW1lIjogImlkIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBl
ZE5hbWUiOiAiaWQiLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAg
ICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZSIs
Ci0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJp
bmdpZmllciI6IHRydWUsCi0gICAgICAgICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAicmVhZG9ubHkiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6
IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlLXR5cGUiLAotICAgICAg
ICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxs
YWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiRE9NU3RyaW5nIiwKLSAgICAgICAgICAgICAgICAg
ICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJu
YW1lIjogIm5hbWUiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJuYW1lIiwKLSAg
ICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfQotICAgICAgICBdLAot
ICAgICAgICAiaW5oZXJpdGFuY2UiOiBudWxsLAotICAgICAgICAiZXh0QXR0cnMiOiBbCi0gICAg
ICAgICAgICB7Ci0gICAgICAgICAgICAgICAgIm5hbWUiOiAiQ29uc3RydWN0b3IiLAotICAgICAg
ICAgICAgICAgICJhcmd1bWVudHMiOiBudWxsLAotICAgICAgICAgICAgICAgICJ0eXBlIjogImV4
dGVuZGVkLWF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInJocyI6IG51bGwKLSAgICAgICAg
ICAgIH0KLSAgICAgICAgXQotICAgIH0KLV0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgv
anNvbi9zdHJpbmdpZmllci1jdXN0b20uanNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9zdHJp
bmdpZmllci1jdXN0b20uanNvbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzEzZGY2
ZWYxMGMwYzUwNTAwODQ0OGMwNTVlMTkxMWRlZjMzYzlkYS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vc3RyaW5naWZp
ZXItY3VzdG9tLmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSw5MiArMCwwIEBACi1bCi0gICAgewot
ICAgICAgICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFtZSI6ICJTdHVkZW50IiwK
LSAgICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJlcnMiOiBbCi0gICAgICAg
ICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAgICAgICAgICAg
ICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAi
cmVhZG9ubHkiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAg
ICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlLXR5cGUiLAotICAgICAgICAgICAgICAgICAg
ICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAg
ICAgImlkbFR5cGUiOiAidW5zaWduZWQgbG9uZyIsCi0gICAgICAgICAgICAgICAgICAgICJleHRB
dHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJp
ZCIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImlkIiwKLSAgICAgICAgICAgICAg
ICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAg
ICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJyZWFkb25seSI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlw
ZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVs
bCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogdHJ1ZSwKLSAgICAgICAgICAgICAg
ICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogIkRP
TVN0cmluZyIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAg
ICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJmYW1pbHlOYW1lIiwKLSAgICAgICAg
ICAgICAgICAiZXNjYXBlZE5hbWUiOiAiZmFtaWx5TmFtZSIsCi0gICAgICAgICAgICAgICAgImV4
dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAg
ICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAicmVhZG9ubHkiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAi
YXR0cmlidXRlLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0g
ICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAg
ICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiRE9NU3Ry
aW5nIiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAg
ICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogImdpdmVuTmFtZSIsCi0gICAgICAgICAgICAg
ICAgImVzY2FwZWROYW1lIjogImdpdmVuTmFtZSIsCi0gICAgICAgICAgICAgICAgImV4dEF0dHJz
IjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5
cGUiOiAib3BlcmF0aW9uIiwKLSAgICAgICAgICAgICAgICAiZ2V0dGVyIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgInNldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJkZWxldGVyIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICJzdHJpbmdpZmllciI6IHRydWUsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAg
ICAgICAgICAgICAgICAgICJ0eXBlIjogInJldHVybi10eXBlIiwKLSAgICAgICAgICAgICAgICAg
ICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ICAgICJpZGxUeXBlIjogIkRPTVN0cmluZyIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRy
cyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6IG51bGws
Ci0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogbnVsbCwKLSAgICAgICAgICAgICAgICAi
YXJndW1lbnRzIjogW10sCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAg
ICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImluaGVyaXRhbmNlIjogbnVsbCwKLSAgICAgICAg
ImV4dEF0dHJzIjogWwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJuYW1lIjogIkNv
bnN0cnVjdG9yIiwKLSAgICAgICAgICAgICAgICAiYXJndW1lbnRzIjogbnVsbCwKLSAgICAgICAg
ICAgICAgICAidHlwZSI6ICJleHRlbmRlZC1hdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJy
aHMiOiBudWxsCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0KLSAgICB9Ci1dCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vc3RyaW5naWZpZXIuanNvbiBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50
YXgvanNvbi9zdHJpbmdpZmllci5qc29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBh
NGYyM2UwM2Y2NmQ0MjEzYmY1NWZjZDQzYjQwNmViNTQ1ODc5MzMzLi4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9zdHJp
bmdpZmllci5qc29uCisrKyAvZGV2L251bGwKQEAgLTEsNDkgKzAsMCBAQAotWwotICAgIHsKLSAg
ICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUiOiAiQSIsCi0gICAgICAg
ICJwYXJ0aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJzIjogWwotICAgICAgICAgICAgewot
ICAgICAgICAgICAgICAgICJ0eXBlIjogIm9wZXJhdGlvbiIsCi0gICAgICAgICAgICAgICAgImdl
dHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAiZGVsZXRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiB0cnVlLAotICAgICAgICAgICAgICAg
ICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJyZXR1cm4tdHlwZSIs
Ci0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAg
ICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJET01TdHJpbmciLAotICAgICAgICAg
ICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAg
ICAgICAgIm5hbWUiOiBudWxsLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6IG51bGws
Ci0gICAgICAgICAgICAgICAgImFyZ3VtZW50cyI6IFtdLAotICAgICAgICAgICAgICAgICJleHRB
dHRycyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJpbmhlcml0YW5j
ZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgfSwKLSAgICB7Ci0gICAgICAg
ICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAgICAgICJuYW1lIjogIkIiLAotICAgICAgICAicGFy
dGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAg
ICAgICAgICAgICAidHlwZSI6ICJvcGVyYXRpb24iLAotICAgICAgICAgICAgICAgICJnZXR0ZXIi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgImRlbGV0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogdHJ1ZSwKLSAgICAgICAgICAgICAgICAiZXh0
QXR0cnMiOiBbXQotICAgICAgICAgICAgfQotICAgICAgICBdLAotICAgICAgICAiaW5oZXJpdGFu
Y2UiOiBudWxsLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0KLV0KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC9zeW50YXgvanNvbi90cmVhdGFzbnVsbC5qc29uIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRh
eC9qc29uL3RyZWF0YXNudWxsLmpzb24KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQ1
MTU2YmNiNGYxYjVkZGI0ZGI1YjJhMjUxOGY5Y2YwYTdiNDE3NDUuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL3RyZWF0
YXNudWxsLmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSw5NCArMCwwIEBACi1bCi0gICAgewotICAg
ICAgICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFtZSI6ICJEb2ciLAotICAgICAg
ICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFsKLSAgICAgICAgICAgIHsK
LSAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJz
dGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJyZWFkb25s
eSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAg
ICAgICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5l
cmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRs
VHlwZSI6ICJET01TdHJpbmciLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQot
ICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAibmFtZSIsCi0gICAg
ICAgICAgICAgICAgImVzY2FwZWROYW1lIjogIm5hbWUiLAotICAgICAgICAgICAgICAgICJleHRB
dHRycyI6IFtdCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAg
ICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJp
bmhlcml0IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5IjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImF0
dHJpYnV0ZS10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAg
ICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAg
InVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogIkRPTVN0cmlu
ZyIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAg
fSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJvd25lciIsCi0gICAgICAgICAgICAgICAgImVz
Y2FwZWROYW1lIjogIm93bmVyIiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAg
ICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJvcGVy
YXRpb24iLAotICAgICAgICAgICAgICAgICJnZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAic2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImRlbGV0ZXIiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lm
aWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAg
ICAgICAgICJ0eXBlIjogInJldHVybi10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVy
aWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxU
eXBlIjogImJvb2xlYW4iLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAg
ICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiaXNNZW1iZXJPZkJyZWVk
IiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiaXNNZW1iZXJPZkJyZWVkIiwKLSAg
ICAgICAgICAgICAgICAiYXJndW1lbnRzIjogWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICAib3B0aW9uYWwiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICJ2YXJpYWRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1
bHQiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogWwotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Im5hbWUiOiAiVHJlYXROdWxsQXMiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAi
YXJndW1lbnRzIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUi
OiAiZXh0ZW5kZWQtYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
InJocyI6IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImlk
ZW50aWZpZXIiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIjog
IkVtcHR5U3RyaW5nIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICAgICAgICAgXSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJ0eXBlIjogImFyZ3VtZW50LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJET01TdHJpbmciLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgICAg
ICAgICB9LAotICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAiYnJlZWROYW1lIiwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJicmVlZE5hbWUiCi0gICAgICAg
ICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgICJleHRB
dHRycyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJpbmhlcml0YW5j
ZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgfQotXQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3N5bnRheC9qc29uL3RyZWF0YXN1bmRlZmluZWQuanNvbiBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9z
eW50YXgvanNvbi90cmVhdGFzdW5kZWZpbmVkLmpzb24KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDFlOTgzMTVkOWYxM2JmYjAyOThkOGE3NDI5MGFiOTBlNjlkOTYxZDQuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9q
c29uL3RyZWF0YXN1bmRlZmluZWQuanNvbgorKysgL2Rldi9udWxsCkBAIC0xLDk0ICswLDAgQEAK
LVsKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAgICAgICJuYW1lIjog
IkNhdCIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJzIjogWwot
ICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0gICAg
ICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmll
ciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpbmhlcml0IjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgInJlYWRvbmx5IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0g
ICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZS10eXBlIiwKLSAgICAgICAgICAg
ICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgICAgICJpZGxUeXBlIjogIkRPTVN0cmluZyIsCi0gICAgICAgICAgICAgICAgICAgICJl
eHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6
ICJuYW1lIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAibmFtZSIsCi0gICAgICAg
ICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0g
ICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAic3Rh
dGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAicmVhZG9ubHki
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAg
ICAgInR5cGUiOiAiYXR0cmlidXRlLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJp
YyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5
cGUiOiAiRE9NU3RyaW5nIiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAg
ICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogIm93bmVyIiwKLSAgICAg
ICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAib3duZXIiLAotICAgICAgICAgICAgICAgICJleHRB
dHRycyI6IFtdCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAg
ICJ0eXBlIjogIm9wZXJhdGlvbiIsCi0gICAgICAgICAgICAgICAgImdldHRlciI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICJzZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiZGVsZXRl
ciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsK
LSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAicmV0dXJuLXR5cGUiLAotICAgICAgICAgICAg
ICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAgICAgImlkbFR5cGUiOiAiYm9vbGVhbiIsCi0gICAgICAgICAgICAgICAgICAgICJleHRB
dHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJp
c01lbWJlck9mQnJlZWQiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJpc01lbWJl
ck9mQnJlZWQiLAotICAgICAgICAgICAgICAgICJhcmd1bWVudHMiOiBbCi0gICAgICAgICAgICAg
ICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJvcHRpb25hbCI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgInZhcmlhZGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAiZGVmYXVsdCI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0
cnMiOiBbCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAibmFtZSI6ICJUcmVhdFVuZGVmaW5lZEFzIiwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgImFyZ3VtZW50cyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJ0eXBlIjogImV4dGVuZGVkLWF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICJyaHMiOiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAidHlwZSI6ICJpZGVudGlmaWVyIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJ2YWx1ZSI6ICJFbXB0eVN0cmluZyIKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgfQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAg
ICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
InVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAi
RE9NU3RyaW5nIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQot
ICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJuYW1l
IjogImJyZWVkTmFtZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAi
YnJlZWROYW1lIgotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXSwKLSAg
ICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfQotICAgICAgICBdLAot
ICAgICAgICAiaW5oZXJpdGFuY2UiOiBudWxsLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAg
IH0KLV0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi90eXBlZGVmLXVuaW9uLmpz
b24gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vdHlwZWRlZi11bmlvbi5qc29uCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAzMWUyNDE5OGFiMTMwZjNjZDdlZmRkM2U4MGE0YmFhZjZiYjIx
M2UzLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC9zeW50YXgvanNvbi90eXBlZGVmLXVuaW9uLmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSw0
OCArMCwwIEBACi1bCi0gICAgewotICAgICAgICAidHlwZSI6ICJ0eXBlZGVmIiwKLSAgICAgICAg
ImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAidHlwZSI6ICJ0eXBlZGVmLXR5cGUiLAotICAgICAg
ICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0g
ICAgICAgICAgICAidW5pb24iOiB0cnVlLAotICAgICAgICAgICAgImlkbFR5cGUiOiBbCi0gICAg
ICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6IG51bGwsCi0gICAgICAg
ICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxh
YmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJJbWFnZURhdGEiLAotICAgICAgICAgICAgICAgICAg
ICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgewot
ICAgICAgICAgICAgICAgICAgICAidHlwZSI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJn
ZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAi
aWRsVHlwZSI6ICJIVE1MSW1hZ2VFbGVtZW50IiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0
dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgIHsKLSAgICAgICAg
ICAgICAgICAgICAgInR5cGUiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6
IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUi
OiAiSFRNTENhbnZhc0VsZW1lbnQiLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBb
XQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAg
ICAgICAidHlwZSI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwK
LSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJIVE1M
VmlkZW9FbGVtZW50IiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAg
ICAgICAgICAgICB9Ci0gICAgICAgICAgICBdLAotICAgICAgICAgICAgImV4dEF0dHJzIjogW10K
LSAgICAgICAgfSwKLSAgICAgICAgIm5hbWUiOiAiVGV4SW1hZ2VTb3VyY2UiLAotICAgICAgICAi
ZXh0QXR0cnMiOiBbXQotICAgIH0KLV0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNv
bi90eXBlZGVmLmpzb24gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vdHlwZWRlZi5qc29uCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzNWY5ODhlNzIxZTc1ZTk4MDhhNmEwMGE3NDlhZWYz
ZmIwNTFiMGUzLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC9zeW50YXgvanNvbi90eXBlZGVmLmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSwy
MzMgKzAsMCBAQAotWwotICAgIHsKLSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAg
ICAgIm5hbWUiOiAiUG9pbnQiLAotICAgICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAi
bWVtYmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRy
aWJ1dGUiLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaW5oZXJpdCI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICJyZWFkb25seSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJp
ZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIs
Ci0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAg
ICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJmbG9hdCIsCi0gICAgICAgICAgICAg
ICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAg
ICAibmFtZSI6ICJ4IiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAieCIsCi0gICAg
ICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7
Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAi
c3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAicmVhZG9u
bHkiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAg
ICAgICAgInR5cGUiOiAiYXR0cmlidXRlLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2Vu
ZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlk
bFR5cGUiOiAiZmxvYXQiLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAg
ICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAieSIsCi0gICAgICAgICAg
ICAgICAgImVzY2FwZWROYW1lIjogInkiLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtd
Ci0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJpbmhlcml0YW5jZSI6IG51bGws
Ci0gICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgfSwKLSAgICB7Ci0gICAgICAgICJ0eXBlIjog
InR5cGVkZWYiLAotICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICJ0eXBlIjogInR5
cGVkZWYtdHlwZSIsCi0gICAgICAgICAgICAiZ2VuZXJpYyI6ICJzZXF1ZW5jZSIsCi0gICAgICAg
ICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAg
ICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAidHlwZWRlZi10
eXBlIiwKLSAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAg
Im51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgImlkbFR5cGUiOiAiUG9pbnQiLAotICAgICAgICAgICAgICAgICJleHRBdHRy
cyI6IFtdCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAg
ICAgfSwKLSAgICAgICAgIm5hbWUiOiAiUG9pbnRTZXF1ZW5jZSIsCi0gICAgICAgICJleHRBdHRy
cyI6IFtdCi0gICAgfSwKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAg
ICAgICJuYW1lIjogIlJlY3QiLAotICAgICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAi
bWVtYmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRy
aWJ1dGUiLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaW5oZXJpdCI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICJyZWFkb25seSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJp
ZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIs
Ci0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAg
ICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJQb2ludCIsCi0gICAgICAgICAgICAg
ICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAg
ICAibmFtZSI6ICJ0b3BsZWZ0IiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAidG9w
bGVmdCIsCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0g
ICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAgICAg
ICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVy
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAicmVhZG9ubHkiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAg
ICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlLXR5cGUiLAotICAgICAgICAgICAg
ICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAgICAgImlkbFR5cGUiOiAiUG9pbnQiLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0
cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiYm90
dG9tcmlnaHQiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJib3R0b21yaWdodCIs
Ci0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0KLSAgICAgICAg
XSwKLSAgICAgICAgImluaGVyaXRhbmNlIjogbnVsbCwKLSAgICAgICAgImV4dEF0dHJzIjogW10K
LSAgICB9LAotICAgIHsKLSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5h
bWUiOiAiV2lkZ2V0IiwKLSAgICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJl
cnMiOiBbCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRl
IiwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0
cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAicmVhZG9ubHkiOiB0cnVlLAotICAgICAgICAgICAgICAgICJpZGxUeXBl
IjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAg
ICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51
bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJSZWN0IiwKLSAgICAgICAgICAgICAgICAgICAg
ImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1l
IjogImJvdW5kcyIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImJvdW5kcyIsCi0g
ICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAg
ICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAib3BlcmF0aW9uIiwKLSAgICAgICAgICAgICAg
ICAiZ2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInNldHRlciI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICJkZWxldGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJyZXR1cm4t
dHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAg
ICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJib29sZWFuIiwKLSAgICAg
ICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAg
ICAgICAgICAgICJuYW1lIjogInBvaW50V2l0aGluQm91bmRzIiwKLSAgICAgICAgICAgICAgICAi
ZXNjYXBlZE5hbWUiOiAicG9pbnRXaXRoaW5Cb3VuZHMiLAotICAgICAgICAgICAgICAgICJhcmd1
bWVudHMiOiBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJvcHRpb25hbCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgInZhcmlhZGljIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdCI6IG51bGwsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImFyZ3Vt
ZW50LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAiaWRsVHlwZSI6ICJQb2ludCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAg
ICAgICAgICAgICAibmFtZSI6ICJwIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJlc2NhcGVk
TmFtZSI6ICJwIgotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXSwKLSAg
ICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAg
IHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJvcGVyYXRpb24iLAotICAgICAgICAgICAgICAg
ICJnZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic2V0dGVyIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgImRlbGV0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RhdGljIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInJldHVybi10
eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAg
ICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogImJvb2xlYW4iLAotICAgICAg
ICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAg
ICAgICAgICAgIm5hbWUiOiAiYWxsUG9pbnRzV2l0aGluQm91bmRzIiwKLSAgICAgICAgICAgICAg
ICAiZXNjYXBlZE5hbWUiOiAiYWxsUG9pbnRzV2l0aGluQm91bmRzIiwKLSAgICAgICAgICAgICAg
ICAiYXJndW1lbnRzIjogWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICAib3B0aW9uYWwiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ2YXJp
YWRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHQiOiBudWxsLAot
ICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10sCi0gICAgICAgICAgICAgICAg
ICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6
ICJhcmd1bWVudC10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6
IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiUG9pbnRTZXF1ZW5jZSIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgICAgIH0s
Ci0gICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJwcyIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAiZXNjYXBlZE5hbWUiOiAicHMiCi0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAg
ICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAg
ICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJpbmhlcml0YW5jZSI6IG51bGwsCi0gICAgICAgICJl
eHRBdHRycyI6IFtdCi0gICAgfSwKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogInR5cGVkZWYiLAot
ICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICJ0eXBlIjogInR5cGVkZWYtdHlwZSIs
Ci0gICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAibnVsbGFibGUiOiBm
YWxzZSwKLSAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgImlkbFR5cGUi
OiAib2N0ZXQiLAotICAgICAgICAgICAgImV4dEF0dHJzIjogWwotICAgICAgICAgICAgICAgIHsK
LSAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAiQ2xhbXAiLAotICAgICAgICAgICAgICAgICAg
ICAiYXJndW1lbnRzIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiZXh0ZW5k
ZWQtYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAgICAgInJocyI6IG51bGwKLSAgICAgICAg
ICAgICAgICB9Ci0gICAgICAgICAgICBdCi0gICAgICAgIH0sCi0gICAgICAgICJuYW1lIjogInZh
bHVlIiwKLSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9Ci1dCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvc3ludGF4L2pzb24vdHlwZXN1ZmZpeGVzLmpzb24gYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pz
b24vdHlwZXN1ZmZpeGVzLmpzb24KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDUyODcw
YzIyZjRiNDc2MTZlMmRmMTVkNjI3NTJmOTUwZDAzZTBiMDcuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL3R5cGVzdWZm
aXhlcy5qc29uCisrKyAvZGV2L251bGwKQEAgLTEsNTUgKzAsMCBAQAotWwotICAgIHsKLSAgICAg
ICAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUiOiAiU3VmZml4ZXMiLAotICAg
ICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFsKLSAgICAgICAgICAg
IHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJvcGVyYXRpb24iLAotICAgICAgICAgICAgICAg
ICJnZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic2V0dGVyIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgImRlbGV0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RhdGljIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInJldHVybi10
eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAg
ICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogInZvaWQiLAotICAgICAgICAg
ICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAg
ICAgICAgIm5hbWUiOiAidGVzdCIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogInRl
c3QiLAotICAgICAgICAgICAgICAgICJhcmd1bWVudHMiOiBbCi0gICAgICAgICAgICAgICAgICAg
IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJvcHRpb25hbCI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgInZhcmlhZGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAiZGVmYXVsdCI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBb
XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJ0eXBlIjogImFyZ3VtZW50LXR5cGUiLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJnZW5lcmljIjogInNlcXVlbmNlIiwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAibnVsbGFibGUiOiB0cnVlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlv
biI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiB0cnVlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgImlkbFR5cGUiOiAiRE9NU3RyaW5nIiwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAg
ICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAiZm9vIiwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJmb28iCi0gICAgICAgICAgICAg
ICAgICAgIH0KLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6
IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJpbmhlcml0YW5jZSI6IG51
bGwsCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgfQotXQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3N5bnRheC9qc29uL3VuaW9udHlwZS5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL3Vu
aW9udHlwZS5qc29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5MGViMDc0ZWYzYTBh
NzE5ZTllY2Q1ZjY3YjQ3Y2Q1MmI2ODJmMDk0Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi91bmlvbnR5cGUuanNvbgor
KysgL2Rldi9udWxsCkBAIC0xLDEzMCArMCwwIEBACi1bCi0gICAgewotICAgICAgICAidHlwZSI6
ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFtZSI6ICJVbmlvbiIsCi0gICAgICAgICJwYXJ0aWFs
IjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJzIjogWwotICAgICAgICAgICAgewotICAgICAgICAg
ICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICJpbmhlcml0IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5IjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBl
IjogImF0dHJpYnV0ZS10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxs
LAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAgICAgInVuaW9uIjogdHJ1ZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiBbCi0g
ICAgICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5
cGUiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAiaWRsVHlwZSI6ICJmbG9hdCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAg
ICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiBudWxsLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAidW5pb24iOiB0cnVlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxU
eXBlIjogWwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgImlkbFR5cGUiOiAiRGF0ZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAidHlwZSI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgImlkbFR5cGUiOiAiRXZlbnQiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAg
ICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiBudWxsLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiB0cnVlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICJ1bmlvbiI6IHRydWUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5
cGUiOiBbCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAiaWRsVHlwZSI6ICJOb2RlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0s
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICJ0eXBlIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAiaWRsVHlwZSI6ICJET01TdHJpbmciLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAg
ICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAg
ICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogInRlc3QiLAotICAgICAgICAgICAg
ICAgICJlc2NhcGVkTmFtZSI6ICJ0ZXN0IiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBb
XQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6
ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaW5oZXJpdCI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICJyZWFkb25seSI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUt
dHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAg
ICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6
IHRydWUsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogWwotICAgICAgICAgICAgICAg
ICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogbnVsbCwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5
cGUiOiAibG9uZyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogWwot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAibmFtZSI6ICJFbmZvcmNlUmFuZ2UiLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgImFyZ3VtZW50cyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAidHlwZSI6ICJleHRlbmRlZC1hdHRyaWJ1dGUiLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgInJocyI6IG51bGwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0KLSAgICAgICAg
ICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgInR5cGUiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFi
bGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJEYXRlIiwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAg
ICAgfQotICAgICAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0
cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAidGVz
dDIiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJ0ZXN0MiIsCi0gICAgICAgICAg
ICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAg
ImluaGVyaXRhbmNlIjogbnVsbCwKLSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9Ci1dCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vdmFyaWFkaWMtb3BlcmF0aW9ucy5qc29u
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL3ZhcmlhZGljLW9wZXJhdGlvbnMuanNvbgpkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzI4MGI3YjZhNzhhOTQxOWUwMDhlZmVlNDZjMGY3ZTVk
YzJiNWJhYy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3Qvc3ludGF4L2pzb24vdmFyaWFkaWMtb3BlcmF0aW9ucy5qc29uCisrKyAvZGV2L251
bGwKQEAgLTEsMTAzICswLDAgQEAKLVsKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImludGVyZmFj
ZSIsCi0gICAgICAgICJuYW1lIjogIkludGVnZXJTZXQiLAotICAgICAgICAicGFydGlhbCI6IGZh
bHNlLAotICAgICAgICAibWVtYmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAg
ICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAi
aW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJyZWFkb25seSI6IHRydWUsCi0gICAg
ICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImF0
dHJpYnV0ZS10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAg
ICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAg
InVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogInVuc2lnbmVk
IGxvbmciLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAg
ICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiY2FyZGluYWxpdHkiLAotICAgICAgICAg
ICAgICAgICJlc2NhcGVkTmFtZSI6ICJjYXJkaW5hbGl0eSIsCi0gICAgICAgICAgICAgICAgImV4
dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAg
ICAgInR5cGUiOiAib3BlcmF0aW9uIiwKLSAgICAgICAgICAgICAgICAiZ2V0dGVyIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgInNldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJkZWxl
dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjog
ewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAgICAgICAg
ICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxl
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICAgICAiaWRsVHlwZSI6ICJ2b2lkIiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0
dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogInVu
aW9uIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAidW5pb24iLAotICAgICAgICAg
ICAgICAgICJhcmd1bWVudHMiOiBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJvcHRpb25hbCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAg
InZhcmlhZGljIjogdHJ1ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0IjogbnVs
bCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdLAotICAgICAgICAgICAg
ICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5
cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVy
aWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogImxvbmciLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgICAgICAgICB9LAotICAg
ICAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAiaW50cyIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAiZXNjYXBlZE5hbWUiOiAiaW50cyIKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAg
ICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAg
IH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAib3BlcmF0aW9uIiwK
LSAgICAgICAgICAgICAgICAiZ2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInNldHRl
ciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJkZWxldGVyIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAi
dHlwZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVs
bCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJ2
b2lkIiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAg
ICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogImludGVyc2VjdGlvbiIsCi0gICAgICAgICAg
ICAgICAgImVzY2FwZWROYW1lIjogImludGVyc2VjdGlvbiIsCi0gICAgICAgICAgICAgICAgImFy
Z3VtZW50cyI6IFsKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAg
ICAgIm9wdGlvbmFsIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAidmFyaWFkaWMi
OiB0cnVlLAotICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHQiOiBudWxsLAotICAgICAg
ICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10sCi0gICAgICAgICAgICAgICAgICAgICAg
ICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1
bWVudC10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGws
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgImlkbFR5cGUiOiAibG9uZyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAg
ICAgICAgICAgICAibmFtZSI6ICJpbnRzIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJlc2Nh
cGVkTmFtZSI6ICJpbnRzIgotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAg
XSwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfQotICAgICAg
ICBdLAotICAgICAgICAiaW5oZXJpdGFuY2UiOiBudWxsLAotICAgICAgICAiZXh0QXR0cnMiOiBb
XQotICAgIH0KLV0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi93M2MtaW1wb3J0
LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi93M2MtaW1wb3J0LmxvZwpkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMGUyOWZlNzgzODhlNjAzODcyNWYxZDE4MDJmNmI1NjcwNjg1ZTA1
OC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvc3ludGF4L2pzb24vdzNjLWltcG9ydC5sb2cKKysrIC9kZXYvbnVsbApAQCAtMSw3MCArMCww
IEBACi1UaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBX
M0MgcmVwb3NpdG9yeS4KLURvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2Vi
S2l0LgotSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgot
CWh0dHBzOi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0Ci0KLVRoZW4gcnVuIHRo
ZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0Ci0K
LURvIE5PVCBtb2RpZnkgb3IgcmVtb3ZlIHRoaXMgZmlsZS4KLQotLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1Q
cm9wZXJ0aWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6Ci1Ob25lCi1Qcm9wZXJ0eSB2YWx1
ZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKLU5vbmUKLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotTGlz
dCBvZiBmaWxlczoKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vYWxsb3dhbnkuanNvbgotL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC9zeW50YXgvanNvbi9hdHRyaWJ1dGVzLmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24v
Y2FsbGJhY2suanNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9jb25zdGFudHMuanNvbgotL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC9zeW50YXgvanNvbi9jb25zdHJ1Y3Rvci5qc29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9q
c29uL2RpY3Rpb25hcnktaW5oZXJpdHMuanNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9kaWN0
aW9uYXJ5Lmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vZG9jdW1lbnRhdGlvbi1kb3MuanNv
bgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9kb2N1bWVudGF0aW9uLmpzb24KLS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
c3ludGF4L2pzb24vZW51bS5qc29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2VxdWl2YWxlbnQt
ZGVjbC5qc29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2V4Y2VwdGlvbi1pbmhlcml0YW5jZS5q
c29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2V4dGVuZGVkLWF0dHJpYnV0ZXMuanNvbgotL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC9zeW50YXgvanNvbi9nZW5lcmljLmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24v
Z2V0dGVyLXNldHRlci5qc29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2lkZW50aWZpZXItcXVh
bGlmaWVkLW5hbWVzLmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vaW1wbGVtZW50cy5qc29u
Ci0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2luZGV4ZWQtcHJvcGVydGllcy5qc29uCi0vTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3N5bnRheC9qc29uL2luaGVyaXRzLWdldHRlci5qc29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9q
c29uL2ludGVyZmFjZS1pbmhlcml0cy5qc29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2l0ZXJh
YmxlLmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vaXRlcmF0b3IuanNvbgotL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC9zeW50YXgvanNvbi9sZWdhY3lpdGVyYWJsZS5qc29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29u
L21hcGxpa2UuanNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9taXhpbi5qc29uCi0vTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3N5bnRheC9qc29uL25hbWVkY29uc3RydWN0b3IuanNvbgotL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgv
anNvbi9uYW1lc3BhY2UuanNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9ub2ludGVyZmFjZW9i
amVjdC5qc29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL251bGxhYmxlLmpzb24KLS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvc3ludGF4L2pzb24vbnVsbGFibGVvYmplY3RzLmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pz
b24vb3BlcmF0aW9uLW9wdGlvbmFsLWFyZy5qc29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL292
ZXJsb2FkaW5nLmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vb3ZlcnJpZGVidWlsdGlucy5q
c29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL3BhcnRpYWwtaW50ZXJmYWNlLmpzb24KLS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvc3ludGF4L2pzb24vcHJpbWl0aXZlcy5qc29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29u
L3Byb21pc2Utdm9pZC5qc29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL3Byb3RvdHlwZXJvb3Qu
anNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9wdXRmb3J3YXJkcy5qc29uCi0vTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3N5bnRheC9qc29uL3JlY29yZC5qc29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL3JlZy1vcGVy
YXRpb25zLmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vcmVwbGFjZWFibGUuanNvbgotL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC9zeW50YXgvanNvbi9zZXF1ZW5jZS5qc29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29u
L3NldGxpa2UuanNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9zdGF0aWMuanNvbgotL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC9zeW50YXgvanNvbi9zdHJpbmdpZmllci1hdHRyaWJ1dGUuanNvbgotL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9z
eW50YXgvanNvbi9zdHJpbmdpZmllci1jdXN0b20uanNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNv
bi9zdHJpbmdpZmllci5qc29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL3RyZWF0YXNudWxsLmpz
b24KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vdHJlYXRhc3VuZGVmaW5lZC5qc29uCi0vTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3N5bnRheC9qc29uL3R5cGVkZWYtdW5pb24uanNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNv
bi90eXBlZGVmLmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vdHlwZXN1ZmZpeGVzLmpzb24K
LS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vdW5pb250eXBlLmpzb24KLS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4
L2pzb24vdmFyaWFkaWMtb3BlcmF0aW9ucy5qc29uCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3lu
dGF4L29wdC90eXBlZGVmLW5lc3RlZC5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9vcHQvdHlwZWRl
Zi1uZXN0ZWQuanNvbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjA3OTRlNzRlMDdl
YjFjYWIxYTZmMmE3NTllNTA1NjJlMjlmZDhiMi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L29wdC90eXBlZGVmLW5lc3RlZC5q
c29uCisrKyAvZGV2L251bGwKQEAgLTEsMyArMCwwIEBACi17Ci0gICAgImFsbG93TmVzdGVkVHlw
ZWRlZnMiOiB0cnVlCi19ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3N5bnRheC9vcHQvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L29w
dC93M2MtaW1wb3J0LmxvZwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMmU4MTEyM2Iw
N2NhNzU3NWYyMWFkMjczMzdkMTQ4NDVhNzE3YWM4ZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L29wdC93M2MtaW1wb3J0Lmxv
ZworKysgL2Rldi9udWxsCkBAIC0xLDE3ICswLDAgQEAKLVRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVj
dG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgotRG8gTk9UIG1vZGlm
eSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBwdWxs
IHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMKLQotVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10
ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKLQotRG8gTk9UIG1vZGlmeSBvciByZW1vdmUgdGhp
cyBmaWxlLgotCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLVByb3BlcnRpZXMgcmVxdWlyaW5nIHZlbmRvciBw
cmVmaXhlczoKLU5vbmUKLVByb3BlcnR5IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVz
OgotTm9uZQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1MaXN0IG9mIGZpbGVzOgotL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50
YXgvb3B0L3R5cGVkZWYtbmVzdGVkLmpzb24KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC91dGlsL2Fj
cXVpcmUuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3QvdXRpbC9hY3F1aXJlLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCA2ZjM3ZGQ2MDgzYzNjNzVkZmU1NjE3MjdlOWE4NDM0NjVlM2NmYTZjLi4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC91dGls
L2FjcXVpcmUuanMKKysrIC9kZXYvbnVsbApAQCAtMSw4ICswLDAgQEAKLSJ1c2Ugc3RyaWN0IjsK
LQotY29uc3QgeyBjb2xsZWN0IH0gPSByZXF1aXJlKCIuL2NvbGxlY3QiKTsKLWNvbnN0IGZzID0g
cmVxdWlyZSgiZnMiKTsKLQotZm9yIChjb25zdCB0ZXN0IG9mIGNvbGxlY3QoInN5bnRheCIpKSB7
Ci0gIGZzLndyaXRlRmlsZVN5bmModGVzdC5qc29uUGF0aCwgYCR7SlNPTi5zdHJpbmdpZnkodGVz
dC5hc3QsIG51bGwsIDQpfVxuYCkKLX0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC91dGlsL2NvbGxl
Y3QuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3QvdXRpbC9jb2xsZWN0LmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCA3ZTNkOWQzYmYzMTI2NzU3OGMwY2UyMDQ2ZWVjM2Y1MjQ1YzU3M2RjLi4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC91dGlsL2Nv
bGxlY3QuanMKKysrIC9kZXYvbnVsbApAQCAtMSw1OSArMCwwIEBACi0idXNlIHN0cmljdCI7Ci0K
LWNvbnN0IHdwID0gcmVxdWlyZSgiLi4vLi4vbGliL3dlYmlkbDIiKTsKLWNvbnN0IHB0aCA9IHJl
cXVpcmUoInBhdGgiKTsKLWNvbnN0IGZzID0gcmVxdWlyZSgiZnMiKTsKLWNvbnN0IGpkcCA9IHJl
cXVpcmUoImpzb25kaWZmcGF0Y2giKTsKLQotLyoqCi0gKiBDb2xsZWN0cyB0ZXN0IGl0ZW1zIGZy
b20gdGhlIHNwZWNpZmllZCBkaXJlY3RvcnkKLSAqIEBwYXJhbSB7c3RyaW5nfSBiYXNlCi0gKi8K
LWZ1bmN0aW9uKiBjb2xsZWN0KGJhc2UsIHsgZXhwZWN0RXJyb3IgfSA9IHt9KSB7Ci0gIGJhc2Ug
PSBwdGguam9pbihfX2Rpcm5hbWUsICIuLiIsIGJhc2UpOwotICBjb25zdCBkaXIgPSBwdGguam9p
bihiYXNlLCAiaWRsIik7Ci0gIGNvbnN0IGlkbHMgPSBmcy5yZWFkZGlyU3luYyhkaXIpCi0gICAg
LmZpbHRlcihpdCA9PiAoL1wud2lkbCQvKS50ZXN0KGl0KSkKLSAgICAubWFwKGl0ID0+IHB0aC5q
b2luKGRpciwgaXQpKTsKLQotICBmb3IgKGNvbnN0IHBhdGggb2YgaWRscykgewotICAgIGNvbnN0
IG9wdEZpbGUgPSBwdGguam9pbihiYXNlLCAib3B0IiwgcHRoLmJhc2VuYW1lKHBhdGgpKS5yZXBs
YWNlKCIud2lkbCIsICIuanNvbiIpOwotICAgIGxldCBvcHQ7Ci0gICAgaWYgKGZzLmV4aXN0c1N5
bmMob3B0RmlsZSkpCi0gICAgICBvcHQgPSBKU09OLnBhcnNlKGZzLnJlYWRGaWxlU3luYyhvcHRG
aWxlLCAidXRmOCIpKTsKLQotICAgIHRyeSB7Ci0gICAgICBjb25zdCBhc3QgPSB3cC5wYXJzZShm
cy5yZWFkRmlsZVN5bmMocGF0aCwgInV0ZjgiKS5yZXBsYWNlKC9cclxuL2csICJcbiIpLCBvcHQp
OwotICAgICAgeWllbGQgbmV3IFRlc3RJdGVtKHsgYXN0LCBwYXRoLCBvcHQgfSk7Ci0gICAgfQot
ICAgIGNhdGNoIChlcnJvcikgewotICAgICAgaWYgKGV4cGVjdEVycm9yKSB7Ci0gICAgICAgIHlp
ZWxkIG5ldyBUZXN0SXRlbSh7IHBhdGgsIGVycm9yIH0pOwotICAgICAgfQotICAgICAgZWxzZSB7
Ci0gICAgICAgIHRocm93IGVycm9yOwotICAgICAgfQotICAgIH0KLSAgfQotfTsKLQotCi1jbGFz
cyBUZXN0SXRlbSB7Ci0gIGNvbnN0cnVjdG9yKHsgYXN0LCBwYXRoLCBlcnJvciwgb3B0IH0pIHsK
LSAgICB0aGlzLmFzdCA9IGFzdDsKLSAgICB0aGlzLnBhdGggPSBwYXRoOwotICAgIHRoaXMuZXJy
b3IgPSBlcnJvcjsKLSAgICB0aGlzLm9wdCA9IG9wdDsKLSAgICB0aGlzLmpzb25QYXRoID0gcHRo
LmpvaW4ocHRoLmRpcm5hbWUocGF0aCksICIuLi9qc29uIiwgcHRoLmJhc2VuYW1lKHBhdGgpLnJl
cGxhY2UoIi53aWRsIiwgIi5qc29uIikpOwotICB9Ci0KLSAgcmVhZEpTT04oKSB7Ci0gICAgcmV0
dXJuIEpTT04ucGFyc2UoZnMucmVhZEZpbGVTeW5jKHRoaXMuanNvblBhdGgsICJ1dGY4IikpOwot
ICB9Ci0KLSAgZGlmZih0YXJnZXQgPSB0aGlzLnJlYWRKU09OKCkpIHsKLSAgICByZXR1cm4gamRw
LmRpZmYodGFyZ2V0LCB0aGlzLmFzdCk7Ci0gIH0KLX0KLQotbW9kdWxlLmV4cG9ydHMuY29sbGVj
dCA9IGNvbGxlY3Q7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvdXRpbC93M2MtaW1wb3J0LmxvZyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC91dGlsL3czYy1pbXBvcnQubG9nCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCA4YTViZDRkMDdhN2FmMGJmMzFkMmU5NjMwZDY5MTY3OTRhMmQ3MGFjLi4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC91dGlsL3czYy1p
bXBvcnQubG9nCisrKyAvZGV2L251bGwKQEAgLTEsMTggKzAsMCBAQAotVGhlIHRlc3RzIGluIHRo
aXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCi1EbyBO
T1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQsIGNyZWF0
ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20v
d2ViLXBsYXRmb3JtLXRlc3RzL3dwdAotCi1UaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBv
cnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydAotCi1EbyBOT1QgbW9kaWZ5IG9yIHJl
bW92ZSB0aGlzIGZpbGUuCi0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotUHJvcGVydGllcyByZXF1aXJpbmcg
dmVuZG9yIHByZWZpeGVzOgotTm9uZQotUHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3Ig
cHJlZml4ZXM6Ci1Ob25lCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLUxpc3Qgb2YgZmlsZXM6Ci0vTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3V0aWwvYWNxdWlyZS5qcwotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC91dGlsL2NvbGxlY3QuanMKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93M2MtaW1wb3J0LmxvZwpk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDdiN2NiOWZlNTYzMDcwMzgxNzExNzY4ZjE5
ODM2MDAzYzI5NDJmNS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3QvdzNjLWltcG9ydC5sb2cKKysrIC9kZXYvbnVsbApAQCAtMSwyMCArMCww
IEBACi1UaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBX
M0MgcmVwb3NpdG9yeS4KLURvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2Vi
S2l0LgotSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgot
CWh0dHBzOi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0Ci0KLVRoZW4gcnVuIHRo
ZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0Ci0K
LURvIE5PVCBtb2RpZnkgb3IgcmVtb3ZlIHRoaXMgZmlsZS4KLQotLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1Q
cm9wZXJ0aWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6Ci1Ob25lCi1Qcm9wZXJ0eSB2YWx1
ZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKLU5vbmUKLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotTGlz
dCBvZiBmaWxlczoKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC5qcwotL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9tb2NoYS5vcHRz
Ci0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3N5bnRheC5qcwotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93cml0ZXIuanMKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC93ZWIvbWFrZS13ZWItdGVzdHMuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2ViL21ha2Utd2Vi
LXRlc3RzLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxNzc0ODA2OTk0ZTBhNzQ2
MjRmZDE5NDY5YTg2Y2NmMjE4Mjg4NjJmLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93ZWIvbWFrZS13ZWItdGVzdHMuanMKKysrIC9kZXYv
bnVsbApAQCAtMSw1MiArMCwwIEBACi0KLS8vIGdlbmVyYXRlcyB0ZXN0cyB0aGF0IHdvcmsgaW4g
YSBicm93c2VyCi0KLS8vIFhYWAotLy8gIGhhdmUgaXQgcnVuIHRocm91Z2ggdmFsaWQgYW5kIGlu
dmFsaWQgcHJvcGVybHkKLQotdmFyIHB0aCA9IHJlcXVpcmUoInBhdGgiKQotLCAgIGZzID0gcmVx
dWlyZSgiZnMiKQotLCAgIGRpciA9IGZ1bmN0aW9uIChwYXRoKSB7Ci0gICAgICAgIHJldHVybiBw
dGguam9pbihfX2Rpcm5hbWUsICIuLiIsIHBhdGgpOwotICAgIH0KLSwgICBhbGxGcm9tRGlyID0g
ZnVuY3Rpb24gKGRpciwgZXh0LCBhc0pTT04pIHsKLSAgICAgICAgcmV0dXJuIGZzLnJlYWRkaXJT
eW5jKGRpcikKLSAgICAgICAgICAgICAgICAgLmZpbHRlcihmdW5jdGlvbiAoaXQpIHsgcmV0dXJu
IGV4dC50ZXN0KGl0KTsgfSkKLSAgICAgICAgICAgICAgICAgLm1hcChmdW5jdGlvbiAoaXQpIHsK
LSAgICAgICAgICAgICAgICAgICAgIHZhciBjbnQgPSBmcy5yZWFkRmlsZVN5bmMocHRoLmpvaW4o
ZGlyLCBpdCksICJ1dGY4Iik7Ci0gICAgICAgICAgICAgICAgICAgICByZXR1cm4gYXNKU09OID8g
SlNPTi5wYXJzZShjbnQpIDogY250OwotICAgICAgICAgICAgICAgICB9KTsKLSAgICB9Ci0sICAg
ZGF0YSA9IHsKLSAgICAgICAgdmFsaWQ6ICB7Ci0gICAgICAgICAgICBqc29uOiAgIGFsbEZyb21E
aXIoZGlyKCJzeW50YXgvanNvbiIpLCAvXC5qc29uJC8sIHRydWUpCi0gICAgICAgICwgICBpZGw6
ICAgIGFsbEZyb21EaXIoZGlyKCJzeW50YXgvaWRsIiksIC9cLnc/aWRsJC8sIGZhbHNlKQotICAg
ICAgICB9Ci0gICAgLCAgIGludmFsaWQ6ewotICAgICAgICAgICAganNvbjogICBhbGxGcm9tRGly
KGRpcigiaW52YWxpZC9qc29uIiksIC9cLmpzb24kLywgdHJ1ZSkKLSAgICAgICAgLCAgIGlkbDog
ICAgYWxsRnJvbURpcihkaXIoImludmFsaWQvaWRsIiksIC9cLnc/aWRsJC8sIGZhbHNlKQotICAg
ICAgICB9Ci0gICAgfQotLCAgIGh0bWwgPSBbCi0gICAgICAgICI8IURPQ1RZUEUgaHRtbD4iCi0g
ICAgLCAgICI8aHRtbD4iCi0gICAgLCAgICIgIDxoZWFkPjxtZXRhIGNoYXJzZXQ9J3V0Zi04Jyc+
PGxpbmsgcmVsPSdzdHlsZXNoZWV0JyBocmVmPScuLi8uLi9ub2RlX21vZHVsZXMvbW9jaGEvbW9j
aGEuY3NzJz4iCi0gICAgLCAgICIgICAgPHRpdGxlPldlYklETDIgQnJvd3NlciBUZXN0czwvdGl0
bGU+IgotICAgICwgICAiICAgIDxzY3JpcHQ+dmFyIGRhdGEgPSAiICsgSlNPTi5zdHJpbmdpZnko
ZGF0YSkgKyAiPC9zY3JpcHQ+IgotICAgICwgICAiICA8L2hlYWQ+IgotICAgICwgICAiICA8Ym9k
eT48ZGl2IGlkPSdtb2NoYSc+PC9kaXY+IgotICAgICwgICAiICA8c2NyaXB0IHNyYz0naHR0cHM6
Ly9hamF4Lmdvb2dsZWFwaXMuY29tL2FqYXgvbGlicy9qcXVlcnkvMS44LjMvanF1ZXJ5Lm1pbi5q
cyc+PC9zY3JpcHQ+IgotICAgICwgICAiICA8c2NyaXB0IHNyYz0nLi4vLi4vbm9kZV9tb2R1bGVz
L2V4cGVjdC91bWQvZXhwZWN0Lm1pbi5qcyc+PC9zY3JpcHQ+IgotICAgICwgICAiICA8c2NyaXB0
IHNyYz0nLi4vLi4vbm9kZV9tb2R1bGVzL2V4cGVjdC5qcy9pbmRleC5qcyc+PC9zY3JpcHQ+Igot
ICAgICwgICAiICA8c2NyaXB0IHNyYz0nLi4vLi4vbm9kZV9tb2R1bGVzL21vY2hhL21vY2hhLmpz
Jz48L3NjcmlwdD4iCi0gICAgLCAgICIgIDxzY3JpcHQgc3JjPScuLi8uLi9ub2RlX21vZHVsZXMv
anNvbmRpZmZwYXRjaC9wdWJsaWMvYnVpbGQvanNvbmRpZmZwYXRjaC5taW4uanMnPjwvc2NyaXB0
PiIKLSAgICAsICAgIiAgPHNjcmlwdCBzcmM9Jy4uLy4uL2xpYi93ZWJpZGwyLmpzJz48L3Njcmlw
dD4iCi0gICAgLCAgICIgIDxzY3JpcHQ+bW9jaGEuc2V0dXAoJ2JkZCcpOzwvc2NyaXB0PiIKLSAg
ICAsICAgIiAgPHNjcmlwdCBzcmM9J3J1bi10ZXN0cy5qcyc+PC9zY3JpcHQ+IgotICAgICwgICAi
ICA8c2NyaXB0Pm1vY2hhLnJ1bigpOzwvc2NyaXB0PiIKLSAgICAsICAgIiAgPC9ib2R5PiIKLSAg
ICAsICAgIjwvaHRtbD4iCi0gICAgXS5qb2luKCJcbiIpCi07Ci0KLWZzLndyaXRlRmlsZVN5bmMo
ImJyb3dzZXItdGVzdHMuaHRtbCIsIGh0bWwsICJ1dGY4Iik7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvd2ViL3J1bi10ZXN0cy5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93ZWIvcnVuLXRlc3RzLmpzCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0NTJmNzk5YjJhNmYwMzRhN2Q1ZjI0Y2ViOTMyOWU4NWIz
NDBiZWUxLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC93ZWIvcnVuLXRlc3RzLmpzCisrKyAvZGV2L251bGwKQEAgLTEsNDggKzAsMCBAQAot
Ci1kZXNjcmliZSgiUGFyc2VzIGFsbCBvZiB0aGUgSURMcyB0byBwcm9kdWNlIHRoZSBjb3JyZWN0
IEFTVHMiLCBmdW5jdGlvbiAoKSB7Ci0gICAgZm9yICh2YXIgaSA9IDAsIG4gPSBkYXRhLnZhbGlk
LmlkbC5sZW5ndGg7IGkgPCBuOyBpKyspIHsKLSAgICAgICAgdmFyIGlkbCA9IGRhdGEudmFsaWQu
aWRsW2ldLCBqc29uID0gZGF0YS52YWxpZC5qc29uW2ldOwotICAgICAgICB2YXIgZnVuYyA9IChm
dW5jdGlvbiAoaWRsLCBqc29uKSB7Ci0gICAgICAgICAgICByZXR1cm4gZnVuY3Rpb24gKCkgewot
ICAgICAgICAgICAgICAgIHRyeSB7Ci0gICAgICAgICAgICAgICAgICAgIC8vIHRoZSBBU1QgY29u
dGFpbnMgTmFOIGFuZCArLy1JbmZpbml0eSB0aGF0IGNhbm5vdCBiZSBzZXJpYWxpc2VkIHRvIEpT
T04KLSAgICAgICAgICAgICAgICAgICAgLy8gdGhlIHN0b3JlZCBKU09OIEFTVHMgdXNlIHRoZSBz
YW1lIHJlcGxhY2VtZW50IGZ1bmN0aW9uIGFzIGlzIHVzZWQgYmVsb3cKLSAgICAgICAgICAgICAg
ICAgICAgLy8gc28gd2UgY29tcGFyZSBiYXNlZCBvbiB0aGF0Ci0gICAgICAgICAgICAgICAgICAg
IHZhciBkaWZmID0ganNvbmRpZmZwYXRjaC5kaWZmKGpzb24sIFdlYklETDIucGFyc2UoaWRsKSk7
Ci0gICAgICAgICAgICAgICAgICAgIGlmIChkaWZmICYmIGRlYnVnKSBjb25zb2xlLmxvZyhKU09O
LnN0cmluZ2lmeShkaWZmLCBudWxsLCA0KSk7Ci0gICAgICAgICAgICAgICAgICAgIGV4cGVjdChk
aWZmKS50b0JlKHVuZGVmaW5lZCk7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAg
IGNhdGNoIChlKSB7Ci0gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGUudG9TdHJpbmco
KSk7Ci0gICAgICAgICAgICAgICAgICAgIHRocm93IGU7Ci0gICAgICAgICAgICAgICAgfQotICAg
ICAgICAgICAgfTsKLSAgICAgICAgfShpZGwsIGpzb24pKTsKLSAgICAgICAgaXQoInNob3VsZCBw
cm9kdWNlIHRoZSBzYW1lIEFTVCBmb3IgIiArIGksIGZ1bmMpOwotICAgIH0KLX0pOwotCi1kZXNj
cmliZSgiUGFyc2VzIGFsbCBvZiB0aGUgaW52YWxpZCBJRExzIHRvIGNoZWNrIHRoYXQgdGhleSBi
bG93IHVwIGNvcnJlY3RseSIsIGZ1bmN0aW9uICgpIHsKLSAgICBmb3IgKHZhciBpID0gMCwgbiA9
IGRhdGEuaW52YWxpZC5pZGwubGVuZ3RoOyBpIDwgbjsgaSsrKSB7Ci0gICAgICAgIHZhciBpZGwg
PSBkYXRhLmludmFsaWQuaWRsW2ldLCBlcnJvciA9IGRhdGEuaW52YWxpZC5qc29uW2ldOwotICAg
ICAgICB2YXIgZnVuYyA9IChmdW5jdGlvbiAoaWRsLCBlcnIpIHsKLSAgICAgICAgICAgIHJldHVy
biBmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAgICAgICAgdmFyIGVycm9yOwotICAgICAgICAgICAg
ICAgIHRyeSB7Ci0gICAgICAgICAgICAgICAgICAgIHZhciBhc3QgPSBXZWJJREwyLnBhcnNlKGlk
bCk7Ci0gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKEpTT04uc3RyaW5naWZ5KGFzdCwg
bnVsbCwgNCkpOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBjYXRjaCAoZSkg
ewotICAgICAgICAgICAgICAgICAgICBlcnJvciA9IGU7Ci0gICAgICAgICAgICAgICAgfQotICAg
ICAgICAgICAgICAgIGZpbmFsbHkgewotICAgICAgICAgICAgICAgICAgICBleHBlY3QoZXJyb3Ip
LnRvRXhpc3QoKTsKLSAgICAgICAgICAgICAgICAgICAgZXhwZWN0KGVycm9yLm1lc3NhZ2UpLnRv
RXF1YWwoZXJyLm1lc3NhZ2UpOwotICAgICAgICAgICAgICAgICAgICBleHBlY3QoZXJyb3IubGlu
ZSkudG9FcXVhbChlcnIubGluZSk7Ci0gICAgICAgICAgICAgICAgfQotCi0gICAgICAgICAgICB9
OwotICAgICAgICB9KGlkbCwgZXJyb3IpKTsKLSAgICAgICAgaXQoInNob3VsZCBwcm9kdWNlIHRo
ZSByaWdodCBlcnJvciBmb3IgIiArIGksIGZ1bmMpOwotICAgIH0KLX0pOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3dlYi93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93ZWIvdzNjLWltcG9ydC5s
b2cKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ0YmRiOWZiNTQ1NGQxZDA0MDE3Nzll
ZWQyNjM0OWVkMzA1ZmJkNmUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L3dlYi93M2MtaW1wb3J0LmxvZworKysgL2Rldi9udWxsCkBAIC0x
LDE4ICswLDAgQEAKLVRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZy
b20gdGhlIFczQyByZXBvc2l0b3J5LgotRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3Rs
eSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBn
aXRodWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQKLQotVGhl
biBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVp
bXBvcnQKLQotRG8gTk9UIG1vZGlmeSBvciByZW1vdmUgdGhpcyBmaWxlLgotCi0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0KLVByb3BlcnRpZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKLU5vbmUKLVByb3Bl
cnR5IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgotTm9uZQotLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tCi1MaXN0IG9mIGZpbGVzOgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93ZWIvbWFrZS13ZWItdGVzdHMuanMKLS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3Qvd2ViL3J1bi10ZXN0cy5qcwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9j
L0xJQ0VOU0UgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvTElDRU5TRQpkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggZDY0NTY5NTY3MzM0OWUzOTQ3ZThlNWFlNDIzMzJkMGFjMzE2NGNkNy4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lk
bHByb2MvTElDRU5TRQorKysgL2Rldi9udWxsCkBAIC0xLDIwMiArMCwwIEBACi0KLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIEFwYWNoZSBMaWNlbnNlCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICBWZXJzaW9uIDIuMCwgSmFudWFyeSAyMDA0Ci0gICAgICAgICAgICAgICAgICAg
ICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvCi0KLSAgIFRFUk1TIEFORCBDT05E
SVRJT05TIEZPUiBVU0UsIFJFUFJPRFVDVElPTiwgQU5EIERJU1RSSUJVVElPTgotCi0gICAxLiBE
ZWZpbml0aW9ucy4KLQotICAgICAgIkxpY2Vuc2UiIHNoYWxsIG1lYW4gdGhlIHRlcm1zIGFuZCBj
b25kaXRpb25zIGZvciB1c2UsIHJlcHJvZHVjdGlvbiwKLSAgICAgIGFuZCBkaXN0cmlidXRpb24g
YXMgZGVmaW5lZCBieSBTZWN0aW9ucyAxIHRocm91Z2ggOSBvZiB0aGlzIGRvY3VtZW50LgotCi0g
ICAgICAiTGljZW5zb3IiIHNoYWxsIG1lYW4gdGhlIGNvcHlyaWdodCBvd25lciBvciBlbnRpdHkg
YXV0aG9yaXplZCBieQotICAgICAgdGhlIGNvcHlyaWdodCBvd25lciB0aGF0IGlzIGdyYW50aW5n
IHRoZSBMaWNlbnNlLgotCi0gICAgICAiTGVnYWwgRW50aXR5IiBzaGFsbCBtZWFuIHRoZSB1bmlv
biBvZiB0aGUgYWN0aW5nIGVudGl0eSBhbmQgYWxsCi0gICAgICBvdGhlciBlbnRpdGllcyB0aGF0
IGNvbnRyb2wsIGFyZSBjb250cm9sbGVkIGJ5LCBvciBhcmUgdW5kZXIgY29tbW9uCi0gICAgICBj
b250cm9sIHdpdGggdGhhdCBlbnRpdHkuIEZvciB0aGUgcHVycG9zZXMgb2YgdGhpcyBkZWZpbml0
aW9uLAotICAgICAgImNvbnRyb2wiIG1lYW5zIChpKSB0aGUgcG93ZXIsIGRpcmVjdCBvciBpbmRp
cmVjdCwgdG8gY2F1c2UgdGhlCi0gICAgICBkaXJlY3Rpb24gb3IgbWFuYWdlbWVudCBvZiBzdWNo
IGVudGl0eSwgd2hldGhlciBieSBjb250cmFjdCBvcgotICAgICAgb3RoZXJ3aXNlLCBvciAoaWkp
IG93bmVyc2hpcCBvZiBmaWZ0eSBwZXJjZW50ICg1MCUpIG9yIG1vcmUgb2YgdGhlCi0gICAgICBv
dXRzdGFuZGluZyBzaGFyZXMsIG9yIChpaWkpIGJlbmVmaWNpYWwgb3duZXJzaGlwIG9mIHN1Y2gg
ZW50aXR5LgotCi0gICAgICAiWW91IiAob3IgIllvdXIiKSBzaGFsbCBtZWFuIGFuIGluZGl2aWR1
YWwgb3IgTGVnYWwgRW50aXR5Ci0gICAgICBleGVyY2lzaW5nIHBlcm1pc3Npb25zIGdyYW50ZWQg
YnkgdGhpcyBMaWNlbnNlLgotCi0gICAgICAiU291cmNlIiBmb3JtIHNoYWxsIG1lYW4gdGhlIHBy
ZWZlcnJlZCBmb3JtIGZvciBtYWtpbmcgbW9kaWZpY2F0aW9ucywKLSAgICAgIGluY2x1ZGluZyBi
dXQgbm90IGxpbWl0ZWQgdG8gc29mdHdhcmUgc291cmNlIGNvZGUsIGRvY3VtZW50YXRpb24KLSAg
ICAgIHNvdXJjZSwgYW5kIGNvbmZpZ3VyYXRpb24gZmlsZXMuCi0KLSAgICAgICJPYmplY3QiIGZv
cm0gc2hhbGwgbWVhbiBhbnkgZm9ybSByZXN1bHRpbmcgZnJvbSBtZWNoYW5pY2FsCi0gICAgICB0
cmFuc2Zvcm1hdGlvbiBvciB0cmFuc2xhdGlvbiBvZiBhIFNvdXJjZSBmb3JtLCBpbmNsdWRpbmcg
YnV0Ci0gICAgICBub3QgbGltaXRlZCB0byBjb21waWxlZCBvYmplY3QgY29kZSwgZ2VuZXJhdGVk
IGRvY3VtZW50YXRpb24sCi0gICAgICBhbmQgY29udmVyc2lvbnMgdG8gb3RoZXIgbWVkaWEgdHlw
ZXMuCi0KLSAgICAgICJXb3JrIiBzaGFsbCBtZWFuIHRoZSB3b3JrIG9mIGF1dGhvcnNoaXAsIHdo
ZXRoZXIgaW4gU291cmNlIG9yCi0gICAgICBPYmplY3QgZm9ybSwgbWFkZSBhdmFpbGFibGUgdW5k
ZXIgdGhlIExpY2Vuc2UsIGFzIGluZGljYXRlZCBieSBhCi0gICAgICBjb3B5cmlnaHQgbm90aWNl
IHRoYXQgaXMgaW5jbHVkZWQgaW4gb3IgYXR0YWNoZWQgdG8gdGhlIHdvcmsKLSAgICAgIChhbiBl
eGFtcGxlIGlzIHByb3ZpZGVkIGluIHRoZSBBcHBlbmRpeCBiZWxvdykuCi0KLSAgICAgICJEZXJp
dmF0aXZlIFdvcmtzIiBzaGFsbCBtZWFuIGFueSB3b3JrLCB3aGV0aGVyIGluIFNvdXJjZSBvciBP
YmplY3QKLSAgICAgIGZvcm0sIHRoYXQgaXMgYmFzZWQgb24gKG9yIGRlcml2ZWQgZnJvbSkgdGhl
IFdvcmsgYW5kIGZvciB3aGljaCB0aGUKLSAgICAgIGVkaXRvcmlhbCByZXZpc2lvbnMsIGFubm90
YXRpb25zLCBlbGFib3JhdGlvbnMsIG9yIG90aGVyIG1vZGlmaWNhdGlvbnMKLSAgICAgIHJlcHJl
c2VudCwgYXMgYSB3aG9sZSwgYW4gb3JpZ2luYWwgd29yayBvZiBhdXRob3JzaGlwLiBGb3IgdGhl
IHB1cnBvc2VzCi0gICAgICBvZiB0aGlzIExpY2Vuc2UsIERlcml2YXRpdmUgV29ya3Mgc2hhbGwg
bm90IGluY2x1ZGUgd29ya3MgdGhhdCByZW1haW4KLSAgICAgIHNlcGFyYWJsZSBmcm9tLCBvciBt
ZXJlbHkgbGluayAob3IgYmluZCBieSBuYW1lKSB0byB0aGUgaW50ZXJmYWNlcyBvZiwKLSAgICAg
IHRoZSBXb3JrIGFuZCBEZXJpdmF0aXZlIFdvcmtzIHRoZXJlb2YuCi0KLSAgICAgICJDb250cmli
dXRpb24iIHNoYWxsIG1lYW4gYW55IHdvcmsgb2YgYXV0aG9yc2hpcCwgaW5jbHVkaW5nCi0gICAg
ICB0aGUgb3JpZ2luYWwgdmVyc2lvbiBvZiB0aGUgV29yayBhbmQgYW55IG1vZGlmaWNhdGlvbnMg
b3IgYWRkaXRpb25zCi0gICAgICB0byB0aGF0IFdvcmsgb3IgRGVyaXZhdGl2ZSBXb3JrcyB0aGVy
ZW9mLCB0aGF0IGlzIGludGVudGlvbmFsbHkKLSAgICAgIHN1Ym1pdHRlZCB0byBMaWNlbnNvciBm
b3IgaW5jbHVzaW9uIGluIHRoZSBXb3JrIGJ5IHRoZSBjb3B5cmlnaHQgb3duZXIKLSAgICAgIG9y
IGJ5IGFuIGluZGl2aWR1YWwgb3IgTGVnYWwgRW50aXR5IGF1dGhvcml6ZWQgdG8gc3VibWl0IG9u
IGJlaGFsZiBvZgotICAgICAgdGhlIGNvcHlyaWdodCBvd25lci4gRm9yIHRoZSBwdXJwb3NlcyBv
ZiB0aGlzIGRlZmluaXRpb24sICJzdWJtaXR0ZWQiCi0gICAgICBtZWFucyBhbnkgZm9ybSBvZiBl
bGVjdHJvbmljLCB2ZXJiYWwsIG9yIHdyaXR0ZW4gY29tbXVuaWNhdGlvbiBzZW50Ci0gICAgICB0
byB0aGUgTGljZW5zb3Igb3IgaXRzIHJlcHJlc2VudGF0aXZlcywgaW5jbHVkaW5nIGJ1dCBub3Qg
bGltaXRlZCB0bwotICAgICAgY29tbXVuaWNhdGlvbiBvbiBlbGVjdHJvbmljIG1haWxpbmcgbGlz
dHMsIHNvdXJjZSBjb2RlIGNvbnRyb2wgc3lzdGVtcywKLSAgICAgIGFuZCBpc3N1ZSB0cmFja2lu
ZyBzeXN0ZW1zIHRoYXQgYXJlIG1hbmFnZWQgYnksIG9yIG9uIGJlaGFsZiBvZiwgdGhlCi0gICAg
ICBMaWNlbnNvciBmb3IgdGhlIHB1cnBvc2Ugb2YgZGlzY3Vzc2luZyBhbmQgaW1wcm92aW5nIHRo
ZSBXb3JrLCBidXQKLSAgICAgIGV4Y2x1ZGluZyBjb21tdW5pY2F0aW9uIHRoYXQgaXMgY29uc3Bp
Y3VvdXNseSBtYXJrZWQgb3Igb3RoZXJ3aXNlCi0gICAgICBkZXNpZ25hdGVkIGluIHdyaXRpbmcg
YnkgdGhlIGNvcHlyaWdodCBvd25lciBhcyAiTm90IGEgQ29udHJpYnV0aW9uLiIKLQotICAgICAg
IkNvbnRyaWJ1dG9yIiBzaGFsbCBtZWFuIExpY2Vuc29yIGFuZCBhbnkgaW5kaXZpZHVhbCBvciBM
ZWdhbCBFbnRpdHkKLSAgICAgIG9uIGJlaGFsZiBvZiB3aG9tIGEgQ29udHJpYnV0aW9uIGhhcyBi
ZWVuIHJlY2VpdmVkIGJ5IExpY2Vuc29yIGFuZAotICAgICAgc3Vic2VxdWVudGx5IGluY29ycG9y
YXRlZCB3aXRoaW4gdGhlIFdvcmsuCi0KLSAgIDIuIEdyYW50IG9mIENvcHlyaWdodCBMaWNlbnNl
LiBTdWJqZWN0IHRvIHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZgotICAgICAgdGhpcyBMaWNl
bnNlLCBlYWNoIENvbnRyaWJ1dG9yIGhlcmVieSBncmFudHMgdG8gWW91IGEgcGVycGV0dWFsLAot
ICAgICAgd29ybGR3aWRlLCBub24tZXhjbHVzaXZlLCBuby1jaGFyZ2UsIHJveWFsdHktZnJlZSwg
aXJyZXZvY2FibGUKLSAgICAgIGNvcHlyaWdodCBsaWNlbnNlIHRvIHJlcHJvZHVjZSwgcHJlcGFy
ZSBEZXJpdmF0aXZlIFdvcmtzIG9mLAotICAgICAgcHVibGljbHkgZGlzcGxheSwgcHVibGljbHkg
cGVyZm9ybSwgc3VibGljZW5zZSwgYW5kIGRpc3RyaWJ1dGUgdGhlCi0gICAgICBXb3JrIGFuZCBz
dWNoIERlcml2YXRpdmUgV29ya3MgaW4gU291cmNlIG9yIE9iamVjdCBmb3JtLgotCi0gICAzLiBH
cmFudCBvZiBQYXRlbnQgTGljZW5zZS4gU3ViamVjdCB0byB0aGUgdGVybXMgYW5kIGNvbmRpdGlv
bnMgb2YKLSAgICAgIHRoaXMgTGljZW5zZSwgZWFjaCBDb250cmlidXRvciBoZXJlYnkgZ3JhbnRz
IHRvIFlvdSBhIHBlcnBldHVhbCwKLSAgICAgIHdvcmxkd2lkZSwgbm9uLWV4Y2x1c2l2ZSwgbm8t
Y2hhcmdlLCByb3lhbHR5LWZyZWUsIGlycmV2b2NhYmxlCi0gICAgICAoZXhjZXB0IGFzIHN0YXRl
ZCBpbiB0aGlzIHNlY3Rpb24pIHBhdGVudCBsaWNlbnNlIHRvIG1ha2UsIGhhdmUgbWFkZSwKLSAg
ICAgIHVzZSwgb2ZmZXIgdG8gc2VsbCwgc2VsbCwgaW1wb3J0LCBhbmQgb3RoZXJ3aXNlIHRyYW5z
ZmVyIHRoZSBXb3JrLAotICAgICAgd2hlcmUgc3VjaCBsaWNlbnNlIGFwcGxpZXMgb25seSB0byB0
aG9zZSBwYXRlbnQgY2xhaW1zIGxpY2Vuc2FibGUKLSAgICAgIGJ5IHN1Y2ggQ29udHJpYnV0b3Ig
dGhhdCBhcmUgbmVjZXNzYXJpbHkgaW5mcmluZ2VkIGJ5IHRoZWlyCi0gICAgICBDb250cmlidXRp
b24ocykgYWxvbmUgb3IgYnkgY29tYmluYXRpb24gb2YgdGhlaXIgQ29udHJpYnV0aW9uKHMpCi0g
ICAgICB3aXRoIHRoZSBXb3JrIHRvIHdoaWNoIHN1Y2ggQ29udHJpYnV0aW9uKHMpIHdhcyBzdWJt
aXR0ZWQuIElmIFlvdQotICAgICAgaW5zdGl0dXRlIHBhdGVudCBsaXRpZ2F0aW9uIGFnYWluc3Qg
YW55IGVudGl0eSAoaW5jbHVkaW5nIGEKLSAgICAgIGNyb3NzLWNsYWltIG9yIGNvdW50ZXJjbGFp
bSBpbiBhIGxhd3N1aXQpIGFsbGVnaW5nIHRoYXQgdGhlIFdvcmsKLSAgICAgIG9yIGEgQ29udHJp
YnV0aW9uIGluY29ycG9yYXRlZCB3aXRoaW4gdGhlIFdvcmsgY29uc3RpdHV0ZXMgZGlyZWN0Ci0g
ICAgICBvciBjb250cmlidXRvcnkgcGF0ZW50IGluZnJpbmdlbWVudCwgdGhlbiBhbnkgcGF0ZW50
IGxpY2Vuc2VzCi0gICAgICBncmFudGVkIHRvIFlvdSB1bmRlciB0aGlzIExpY2Vuc2UgZm9yIHRo
YXQgV29yayBzaGFsbCB0ZXJtaW5hdGUKLSAgICAgIGFzIG9mIHRoZSBkYXRlIHN1Y2ggbGl0aWdh
dGlvbiBpcyBmaWxlZC4KLQotICAgNC4gUmVkaXN0cmlidXRpb24uIFlvdSBtYXkgcmVwcm9kdWNl
IGFuZCBkaXN0cmlidXRlIGNvcGllcyBvZiB0aGUKLSAgICAgIFdvcmsgb3IgRGVyaXZhdGl2ZSBX
b3JrcyB0aGVyZW9mIGluIGFueSBtZWRpdW0sIHdpdGggb3Igd2l0aG91dAotICAgICAgbW9kaWZp
Y2F0aW9ucywgYW5kIGluIFNvdXJjZSBvciBPYmplY3QgZm9ybSwgcHJvdmlkZWQgdGhhdCBZb3UK
LSAgICAgIG1lZXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgotCi0gICAgICAoYSkgWW91IG11
c3QgZ2l2ZSBhbnkgb3RoZXIgcmVjaXBpZW50cyBvZiB0aGUgV29yayBvcgotICAgICAgICAgIERl
cml2YXRpdmUgV29ya3MgYSBjb3B5IG9mIHRoaXMgTGljZW5zZTsgYW5kCi0KLSAgICAgIChiKSBZ
b3UgbXVzdCBjYXVzZSBhbnkgbW9kaWZpZWQgZmlsZXMgdG8gY2FycnkgcHJvbWluZW50IG5vdGlj
ZXMKLSAgICAgICAgICBzdGF0aW5nIHRoYXQgWW91IGNoYW5nZWQgdGhlIGZpbGVzOyBhbmQKLQot
ICAgICAgKGMpIFlvdSBtdXN0IHJldGFpbiwgaW4gdGhlIFNvdXJjZSBmb3JtIG9mIGFueSBEZXJp
dmF0aXZlIFdvcmtzCi0gICAgICAgICAgdGhhdCBZb3UgZGlzdHJpYnV0ZSwgYWxsIGNvcHlyaWdo
dCwgcGF0ZW50LCB0cmFkZW1hcmssIGFuZAotICAgICAgICAgIGF0dHJpYnV0aW9uIG5vdGljZXMg
ZnJvbSB0aGUgU291cmNlIGZvcm0gb2YgdGhlIFdvcmssCi0gICAgICAgICAgZXhjbHVkaW5nIHRo
b3NlIG5vdGljZXMgdGhhdCBkbyBub3QgcGVydGFpbiB0byBhbnkgcGFydCBvZgotICAgICAgICAg
IHRoZSBEZXJpdmF0aXZlIFdvcmtzOyBhbmQKLQotICAgICAgKGQpIElmIHRoZSBXb3JrIGluY2x1
ZGVzIGEgIk5PVElDRSIgdGV4dCBmaWxlIGFzIHBhcnQgb2YgaXRzCi0gICAgICAgICAgZGlzdHJp
YnV0aW9uLCB0aGVuIGFueSBEZXJpdmF0aXZlIFdvcmtzIHRoYXQgWW91IGRpc3RyaWJ1dGUgbXVz
dAotICAgICAgICAgIGluY2x1ZGUgYSByZWFkYWJsZSBjb3B5IG9mIHRoZSBhdHRyaWJ1dGlvbiBu
b3RpY2VzIGNvbnRhaW5lZAotICAgICAgICAgIHdpdGhpbiBzdWNoIE5PVElDRSBmaWxlLCBleGNs
dWRpbmcgdGhvc2Ugbm90aWNlcyB0aGF0IGRvIG5vdAotICAgICAgICAgIHBlcnRhaW4gdG8gYW55
IHBhcnQgb2YgdGhlIERlcml2YXRpdmUgV29ya3MsIGluIGF0IGxlYXN0IG9uZQotICAgICAgICAg
IG9mIHRoZSBmb2xsb3dpbmcgcGxhY2VzOiB3aXRoaW4gYSBOT1RJQ0UgdGV4dCBmaWxlIGRpc3Ry
aWJ1dGVkCi0gICAgICAgICAgYXMgcGFydCBvZiB0aGUgRGVyaXZhdGl2ZSBXb3Jrczsgd2l0aGlu
IHRoZSBTb3VyY2UgZm9ybSBvcgotICAgICAgICAgIGRvY3VtZW50YXRpb24sIGlmIHByb3ZpZGVk
IGFsb25nIHdpdGggdGhlIERlcml2YXRpdmUgV29ya3M7IG9yLAotICAgICAgICAgIHdpdGhpbiBh
IGRpc3BsYXkgZ2VuZXJhdGVkIGJ5IHRoZSBEZXJpdmF0aXZlIFdvcmtzLCBpZiBhbmQKLSAgICAg
ICAgICB3aGVyZXZlciBzdWNoIHRoaXJkLXBhcnR5IG5vdGljZXMgbm9ybWFsbHkgYXBwZWFyLiBU
aGUgY29udGVudHMKLSAgICAgICAgICBvZiB0aGUgTk9USUNFIGZpbGUgYXJlIGZvciBpbmZvcm1h
dGlvbmFsIHB1cnBvc2VzIG9ubHkgYW5kCi0gICAgICAgICAgZG8gbm90IG1vZGlmeSB0aGUgTGlj
ZW5zZS4gWW91IG1heSBhZGQgWW91ciBvd24gYXR0cmlidXRpb24KLSAgICAgICAgICBub3RpY2Vz
IHdpdGhpbiBEZXJpdmF0aXZlIFdvcmtzIHRoYXQgWW91IGRpc3RyaWJ1dGUsIGFsb25nc2lkZQot
ICAgICAgICAgIG9yIGFzIGFuIGFkZGVuZHVtIHRvIHRoZSBOT1RJQ0UgdGV4dCBmcm9tIHRoZSBX
b3JrLCBwcm92aWRlZAotICAgICAgICAgIHRoYXQgc3VjaCBhZGRpdGlvbmFsIGF0dHJpYnV0aW9u
IG5vdGljZXMgY2Fubm90IGJlIGNvbnN0cnVlZAotICAgICAgICAgIGFzIG1vZGlmeWluZyB0aGUg
TGljZW5zZS4KLQotICAgICAgWW91IG1heSBhZGQgWW91ciBvd24gY29weXJpZ2h0IHN0YXRlbWVu
dCB0byBZb3VyIG1vZGlmaWNhdGlvbnMgYW5kCi0gICAgICBtYXkgcHJvdmlkZSBhZGRpdGlvbmFs
IG9yIGRpZmZlcmVudCBsaWNlbnNlIHRlcm1zIGFuZCBjb25kaXRpb25zCi0gICAgICBmb3IgdXNl
LCByZXByb2R1Y3Rpb24sIG9yIGRpc3RyaWJ1dGlvbiBvZiBZb3VyIG1vZGlmaWNhdGlvbnMsIG9y
Ci0gICAgICBmb3IgYW55IHN1Y2ggRGVyaXZhdGl2ZSBXb3JrcyBhcyBhIHdob2xlLCBwcm92aWRl
ZCBZb3VyIHVzZSwKLSAgICAgIHJlcHJvZHVjdGlvbiwgYW5kIGRpc3RyaWJ1dGlvbiBvZiB0aGUg
V29yayBvdGhlcndpc2UgY29tcGxpZXMgd2l0aAotICAgICAgdGhlIGNvbmRpdGlvbnMgc3RhdGVk
IGluIHRoaXMgTGljZW5zZS4KLQotICAgNS4gU3VibWlzc2lvbiBvZiBDb250cmlidXRpb25zLiBV
bmxlc3MgWW91IGV4cGxpY2l0bHkgc3RhdGUgb3RoZXJ3aXNlLAotICAgICAgYW55IENvbnRyaWJ1
dGlvbiBpbnRlbnRpb25hbGx5IHN1Ym1pdHRlZCBmb3IgaW5jbHVzaW9uIGluIHRoZSBXb3JrCi0g
ICAgICBieSBZb3UgdG8gdGhlIExpY2Vuc29yIHNoYWxsIGJlIHVuZGVyIHRoZSB0ZXJtcyBhbmQg
Y29uZGl0aW9ucyBvZgotICAgICAgdGhpcyBMaWNlbnNlLCB3aXRob3V0IGFueSBhZGRpdGlvbmFs
IHRlcm1zIG9yIGNvbmRpdGlvbnMuCi0gICAgICBOb3R3aXRoc3RhbmRpbmcgdGhlIGFib3ZlLCBu
b3RoaW5nIGhlcmVpbiBzaGFsbCBzdXBlcnNlZGUgb3IgbW9kaWZ5Ci0gICAgICB0aGUgdGVybXMg
b2YgYW55IHNlcGFyYXRlIGxpY2Vuc2UgYWdyZWVtZW50IHlvdSBtYXkgaGF2ZSBleGVjdXRlZAot
ICAgICAgd2l0aCBMaWNlbnNvciByZWdhcmRpbmcgc3VjaCBDb250cmlidXRpb25zLgotCi0gICA2
LiBUcmFkZW1hcmtzLiBUaGlzIExpY2Vuc2UgZG9lcyBub3QgZ3JhbnQgcGVybWlzc2lvbiB0byB1
c2UgdGhlIHRyYWRlCi0gICAgICBuYW1lcywgdHJhZGVtYXJrcywgc2VydmljZSBtYXJrcywgb3Ig
cHJvZHVjdCBuYW1lcyBvZiB0aGUgTGljZW5zb3IsCi0gICAgICBleGNlcHQgYXMgcmVxdWlyZWQg
Zm9yIHJlYXNvbmFibGUgYW5kIGN1c3RvbWFyeSB1c2UgaW4gZGVzY3JpYmluZyB0aGUKLSAgICAg
IG9yaWdpbiBvZiB0aGUgV29yayBhbmQgcmVwcm9kdWNpbmcgdGhlIGNvbnRlbnQgb2YgdGhlIE5P
VElDRSBmaWxlLgotCi0gICA3LiBEaXNjbGFpbWVyIG9mIFdhcnJhbnR5LiBVbmxlc3MgcmVxdWly
ZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IKLSAgICAgIGFncmVlZCB0byBpbiB3cml0aW5nLCBMaWNl
bnNvciBwcm92aWRlcyB0aGUgV29yayAoYW5kIGVhY2gKLSAgICAgIENvbnRyaWJ1dG9yIHByb3Zp
ZGVzIGl0cyBDb250cmlidXRpb25zKSBvbiBhbiAiQVMgSVMiIEJBU0lTLAotICAgICAgV0lUSE9V
VCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9y
Ci0gICAgICBpbXBsaWVkLCBpbmNsdWRpbmcsIHdpdGhvdXQgbGltaXRhdGlvbiwgYW55IHdhcnJh
bnRpZXMgb3IgY29uZGl0aW9ucwotICAgICAgb2YgVElUTEUsIE5PTi1JTkZSSU5HRU1FTlQsIE1F
UkNIQU5UQUJJTElUWSwgb3IgRklUTkVTUyBGT1IgQQotICAgICAgUEFSVElDVUxBUiBQVVJQT1NF
LiBZb3UgYXJlIHNvbGVseSByZXNwb25zaWJsZSBmb3IgZGV0ZXJtaW5pbmcgdGhlCi0gICAgICBh
cHByb3ByaWF0ZW5lc3Mgb2YgdXNpbmcgb3IgcmVkaXN0cmlidXRpbmcgdGhlIFdvcmsgYW5kIGFz
c3VtZSBhbnkKLSAgICAgIHJpc2tzIGFzc29jaWF0ZWQgd2l0aCBZb3VyIGV4ZXJjaXNlIG9mIHBl
cm1pc3Npb25zIHVuZGVyIHRoaXMgTGljZW5zZS4KLQotICAgOC4gTGltaXRhdGlvbiBvZiBMaWFi
aWxpdHkuIEluIG5vIGV2ZW50IGFuZCB1bmRlciBubyBsZWdhbCB0aGVvcnksCi0gICAgICB3aGV0
aGVyIGluIHRvcnQgKGluY2x1ZGluZyBuZWdsaWdlbmNlKSwgY29udHJhY3QsIG9yIG90aGVyd2lz
ZSwKLSAgICAgIHVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyAoc3VjaCBhcyBkZWxp
YmVyYXRlIGFuZCBncm9zc2x5Ci0gICAgICBuZWdsaWdlbnQgYWN0cykgb3IgYWdyZWVkIHRvIGlu
IHdyaXRpbmcsIHNoYWxsIGFueSBDb250cmlidXRvciBiZQotICAgICAgbGlhYmxlIHRvIFlvdSBm
b3IgZGFtYWdlcywgaW5jbHVkaW5nIGFueSBkaXJlY3QsIGluZGlyZWN0LCBzcGVjaWFsLAotICAg
ICAgaW5jaWRlbnRhbCwgb3IgY29uc2VxdWVudGlhbCBkYW1hZ2VzIG9mIGFueSBjaGFyYWN0ZXIg
YXJpc2luZyBhcyBhCi0gICAgICByZXN1bHQgb2YgdGhpcyBMaWNlbnNlIG9yIG91dCBvZiB0aGUg
dXNlIG9yIGluYWJpbGl0eSB0byB1c2UgdGhlCi0gICAgICBXb3JrIChpbmNsdWRpbmcgYnV0IG5v
dCBsaW1pdGVkIHRvIGRhbWFnZXMgZm9yIGxvc3Mgb2YgZ29vZHdpbGwsCi0gICAgICB3b3JrIHN0
b3BwYWdlLCBjb21wdXRlciBmYWlsdXJlIG9yIG1hbGZ1bmN0aW9uLCBvciBhbnkgYW5kIGFsbAot
ICAgICAgb3RoZXIgY29tbWVyY2lhbCBkYW1hZ2VzIG9yIGxvc3NlcyksIGV2ZW4gaWYgc3VjaCBD
b250cmlidXRvcgotICAgICAgaGFzIGJlZW4gYWR2aXNlZCBvZiB0aGUgcG9zc2liaWxpdHkgb2Yg
c3VjaCBkYW1hZ2VzLgotCi0gICA5LiBBY2NlcHRpbmcgV2FycmFudHkgb3IgQWRkaXRpb25hbCBM
aWFiaWxpdHkuIFdoaWxlIHJlZGlzdHJpYnV0aW5nCi0gICAgICB0aGUgV29yayBvciBEZXJpdmF0
aXZlIFdvcmtzIHRoZXJlb2YsIFlvdSBtYXkgY2hvb3NlIHRvIG9mZmVyLAotICAgICAgYW5kIGNo
YXJnZSBhIGZlZSBmb3IsIGFjY2VwdGFuY2Ugb2Ygc3VwcG9ydCwgd2FycmFudHksIGluZGVtbml0
eSwKLSAgICAgIG9yIG90aGVyIGxpYWJpbGl0eSBvYmxpZ2F0aW9ucyBhbmQvb3IgcmlnaHRzIGNv
bnNpc3RlbnQgd2l0aCB0aGlzCi0gICAgICBMaWNlbnNlLiBIb3dldmVyLCBpbiBhY2NlcHRpbmcg
c3VjaCBvYmxpZ2F0aW9ucywgWW91IG1heSBhY3Qgb25seQotICAgICAgb24gWW91ciBvd24gYmVo
YWxmIGFuZCBvbiBZb3VyIHNvbGUgcmVzcG9uc2liaWxpdHksIG5vdCBvbiBiZWhhbGYKLSAgICAg
IG9mIGFueSBvdGhlciBDb250cmlidXRvciwgYW5kIG9ubHkgaWYgWW91IGFncmVlIHRvIGluZGVt
bmlmeSwKLSAgICAgIGRlZmVuZCwgYW5kIGhvbGQgZWFjaCBDb250cmlidXRvciBoYXJtbGVzcyBm
b3IgYW55IGxpYWJpbGl0eQotICAgICAgaW5jdXJyZWQgYnksIG9yIGNsYWltcyBhc3NlcnRlZCBh
Z2FpbnN0LCBzdWNoIENvbnRyaWJ1dG9yIGJ5IHJlYXNvbgotICAgICAgb2YgeW91ciBhY2NlcHRp
bmcgYW55IHN1Y2ggd2FycmFudHkgb3IgYWRkaXRpb25hbCBsaWFiaWxpdHkuCi0KLSAgIEVORCBP
RiBURVJNUyBBTkQgQ09ORElUSU9OUwotCi0gICBBUFBFTkRJWDogSG93IHRvIGFwcGx5IHRoZSBB
cGFjaGUgTGljZW5zZSB0byB5b3VyIHdvcmsuCi0KLSAgICAgIFRvIGFwcGx5IHRoZSBBcGFjaGUg
TGljZW5zZSB0byB5b3VyIHdvcmssIGF0dGFjaCB0aGUgZm9sbG93aW5nCi0gICAgICBib2lsZXJw
bGF0ZSBub3RpY2UsIHdpdGggdGhlIGZpZWxkcyBlbmNsb3NlZCBieSBicmFja2V0cyAiW10iCi0g
ICAgICByZXBsYWNlZCB3aXRoIHlvdXIgb3duIGlkZW50aWZ5aW5nIGluZm9ybWF0aW9uLiAoRG9u
J3QgaW5jbHVkZQotICAgICAgdGhlIGJyYWNrZXRzISkgIFRoZSB0ZXh0IHNob3VsZCBiZSBlbmNs
b3NlZCBpbiB0aGUgYXBwcm9wcmlhdGUKLSAgICAgIGNvbW1lbnQgc3ludGF4IGZvciB0aGUgZmls
ZSBmb3JtYXQuIFdlIGFsc28gcmVjb21tZW5kIHRoYXQgYQotICAgICAgZmlsZSBvciBjbGFzcyBu
YW1lIGFuZCBkZXNjcmlwdGlvbiBvZiBwdXJwb3NlIGJlIGluY2x1ZGVkIG9uIHRoZQotICAgICAg
c2FtZSAicHJpbnRlZCBwYWdlIiBhcyB0aGUgY29weXJpZ2h0IG5vdGljZSBmb3IgZWFzaWVyCi0g
ICAgICBpZGVudGlmaWNhdGlvbiB3aXRoaW4gdGhpcmQtcGFydHkgYXJjaGl2ZXMuCi0KLSAgIENv
cHlyaWdodCBbeXl5eV0gW25hbWUgb2YgY29weXJpZ2h0IG93bmVyXQotCi0gICBMaWNlbnNlZCB1
bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKLSAg
IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUg
TGljZW5zZS4KLSAgIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAotCi0g
ICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCi0KLSAgIFVu
bGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywg
c29mdHdhcmUKLSAgIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVk
IG9uIGFuICJBUyBJUyIgQkFTSVMsCi0gICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9O
UyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KLSAgIFNlZSB0aGUgTGlj
ZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQK
LSAgIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3dpZGxwcm9jL01ha2VmaWxlIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL01ha2VmaWxlCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkNTE3NDY2ZTQ4ZDJhNGIyODRmYzQzOTdiNDJlMjE1MjM2
YzRjYTFiLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC93aWRscHJvYy9NYWtlZmlsZQorKysgL2Rldi9udWxsCkBAIC0xLDE1OCArMCwwIEBA
Ci0jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMKLSMgJElkJAotIyBDb3B5cmlnaHQgMjAwOSBBcGxpeCBDb3Jwb3Jh
dGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSMgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBM
aWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7Ci0jIHlvdSBtYXkgbm90IHVzZSB0
aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KLSMgWW91IG1h
eSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0Ci0jICAgICBodHRwOi8vd3d3LmFwYWNo
ZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKLSMgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2Fi
bGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQotIyBkaXN0cmlidXRlZCB1
bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAotIyBX
SVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJl
c3Mgb3IgaW1wbGllZC4KLSMgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3Vh
Z2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAotIyBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGlj
ZW5zZS4KLSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIwotCi1VTkFNRSA9ICQoc2hlbGwgdW5hbWUpCi1JTkNESVJT
ID0gJChPQkpESVIpCi1TUkNESVIgPSBzcmMKLURPQ0RJUiA9IGRvYwotRVhBTVBMRVNESVIgPSBl
eGFtcGxlcwotT0JKRElSID0gb2JqCi0KLSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwotIyBMaW51eCBjb25maWd1
cmF0aW9uCi0jCi1pZm5lcSAoLCQoZmlsdGVyIExpbnV4JSwgJChVTkFNRSkpKSAKLQotQ0ZMQUdT
ID0gLWcgLVdhbGwgLVdlcnJvciAtTzAgJChwYXRzdWJzdCAlLCAtSSUsICQoSU5DRElSUykpCi1P
QkpTVUZGSVggPSAubwotRVhFU1VGRklYID0KLSNMSUJTID0gLWxlZmVuY2UKLU9CSk9QVElPTiA9
IC1vCi1FWEVPUFRJT04gPSAtbwotCi1lbHNlCi0jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKLSMgRGFyd2luIGNv
bmZpZ3VyYXRpb24KLSMKLWlmbmVxICgsJChmaWx0ZXIgRGFyd2luJSwgJChVTkFNRSkpKSAKLQot
Q0ZMQUdTID0gLWcgLVdhbGwgLVdlcnJvciAtTzIgJChwYXRzdWJzdCAlLCAtSSUsICQoSU5DRElS
UykpCi1PQkpTVUZGSVggPSAubwotRVhFU1VGRklYID0KLU9CSk9QVElPTiA9IC1vCi0jIFRoZSAt
byBpbiB0aGUgZm9sbG93aW5nIGxpbmUgaGFzIGEgc3BhY2UgYWZ0ZXIgaXQsIHdoaWNoIG11c3Qg
bm90IGJlIHJlbW92ZWQuCi1FWEVPUFRJT04gPSAtbyAKLQotZWxzZQotIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
Ci0jIFdpbmRvd3MgKGN5Z3dpbiBidXQgdXNpbmcgTVMgY29tcGlsZXIpIGNvbmZpZ3VyYXRpb24K
LSMKLSMgdGhpcyBpcyBtZXNzeSAtIHNob3VsZCBwcm9iYWJseSB1c2UgdmN2YXJzLmJhdAotaWZu
ZXEgKCwkKGZpbHRlciBDWUdXSU4lLCAkKFVOQU1FKSkpIAotVklTVUFMU1RVRElPRElSID0gJCh3
aWxkY2FyZCAvY3lnZHJpdmUvYy9Qcm9ncmFtKkZpbGVzL01pY3Jvc29mdCpWaXN1YWwqU3R1ZGlv
KjgpCi1TREtESVIgPSAkKHdpbGRjYXJkIC9jeWdkcml2ZS9jL1Byb2dyYW0qRmlsZXMvTWljcm9z
b2Z0KlNES3MvV2luZG93cy8qL0xpYikKLWlmZXEgKCwkKFZJU1VBTFNUVURJT0RJUikpCi1WSVNV
QUxTVFVESU9ESVIgPSAkKHdpbGRjYXJkIC9jeWdkcml2ZS9jL1Byb2dyYW1cIEZpbGVzXCAqL01p
Y3Jvc29mdCpWaXN1YWwqU3R1ZGlvKjEwKikKLWVuZGlmCi1pZmVxICgsJChWSVNVQUxTVFVESU9E
SVIpKQotVklTVUFMU1RVRElPRElSID0gJCh3aWxkY2FyZCAvY3lnZHJpdmUvYy9Qcm9ncmFtXCBG
aWxlc1wgKi9NaWNyb3NvZnQqVmlzdWFsKlN0dWRpbyoxMSopCi1lbmRpZgotIyB0aGlzIGlzIHJl
dmVsdmFudCBmb3IgdnMyMDEyIGFuZCB3aW5kb3dzIDggLSBzZGsgbG9jYXRpb24gaGFzIGNoYW5n
ZWQKLWlmZXEgKCwkKFNES0RJUikpCi1TREtESVIgPSAkKHdpbGRjYXJkIC9jeWdkcml2ZS9jL1By
b2dyYW1cIEZpbGVzXCAqL1dpbmRvd3MqS2l0cykKLWVuZGlmCi0KLWlmZXEgKCwkKFZJU1VBTFNU
VURJT0RJUikpCi0kKGVycm9yIENvdWxkIG5vdCBmaW5kICBNUyBWaXN1YWwgU3R1ZGlvKSAKLWVs
c2UKLVdJTlZJU1VBTFNUVURJT0RJUiA9ICQoc2hlbGwgY3lncGF0aCAtdyAnJChWSVNVQUxTVFVE
SU9ESVIpJykKLVdJTlNES0RJUiA9ICQoc2hlbGwgY3lncGF0aCAtdyAnJChTREtESVIpJykKLQot
IyQoZXJyb3IgJChWSVNVQUxTVFVESU9ESVIpKSAKLQotQ0MgPSBcCi0JTGliPSckKFdJTlZJU1VB
TFNUVURJT0RJUilcVkNcTElCOyQoV0lOVklTVUFMU1RVRElPRElSKVxWQ1xQbGF0Zm9ybVNES1xM
aWI7JChXSU5TREtESVIpJyBcCi0JUEFUSD0nJChWSVNVQUxTVFVESU9ESVIpL0NvbW1vbjcvSURF
OiQoVklTVUFMU1RVRElPRElSKS9WQy9CSU46JChWSVNVQUxTVFVESU9ESVIpL0NvbW1vbjcvVG9v
bHM6JChWSVNVQUxTVFVESU9ESVIpL1NESy92Mi4wL2JpbjokKFZJU1VBTFNUVURJT0RJUikvOC4w
L0xpYi93aW44L3VtL3g4NjonJCRQQVRIIFwKLQlJbmNsdWRlPSckKFdJTlZJU1VBTFNUVURJT0RJ
UilcVkNcSU5DTFVERTskKFdJTlZJU1VBTFNUVURJT0RJUilcVkNcUGxhdGZvcm1TREtcSW5jbHVk
ZScgXAotCWNsCi1lbmRpZgotCi1DRkxBR1MgPSAvbm9sb2dvIC9XWCAvVzMgL3dkNDk5NiAvWmkg
L08yICQocGF0c3Vic3QgJSwgL0klLCAkKElOQ0RJUlMpKQotT0JKU1VGRklYID0gLm9iagotRVhF
U1VGRklYID0gLmV4ZQotT0JKT1BUSU9OID0gL0ZvCi1FWEVPUFRJT04gPSAvRmUKLQotZW5kaWYK
LWVuZGlmCi1lbmRpZgotCi0jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKLSMgQ29tbW9uIG1ha2VmaWxlCi0jCi1X
SURMUFJPQyA9ICQoT0JKRElSKS93aWRscHJvYyQoRVhFU1VGRklYKQotRFREID0gJChPQkpESVIp
L3dpZGxwcm9jeG1sLmR0ZAotCi1BTEwgPSAkKFdJRExQUk9DKSAkKERURCkKLWFsbCA6ICQoQUxM
KQotCi1TUkNTID0gXAotCWNvbW1lbnQuYyBcCi0JbGV4LmMgXAotCW1haW4uYyBcCi0JbWlzYy5j
IFwKLQlub2RlLmMgXAotCXBhcnNlLmMgXAotCXByb2Nlc3MuYwotCi1PQkpTID0gJChwYXRzdWJz
dCAlLmMsICQoT0JKRElSKS8lJChPQkpTVUZGSVgpLCAkKFNSQ1MpKQotJChXSURMUFJPQykgOiAk
KE9CSlMpCi0JJChDQykgJChDRkxBR1MpICQoRVhFT1BUSU9OKSRAICReICQoTElCUykKLQotJChP
QkpESVIpLyUkKE9CSlNVRkZJWCkgOiAkKFNSQ0RJUikvJS5jCi0JbWtkaXIgLXAgJChkaXIgJEAp
Ci0JJChDQykgJChDRkxBR1MpICQoT0JKT1BUSU9OKSRAIC1jICQ8Ci0KLSQoT0JKRElSKS8lLmQg
OiAkKFNSQ0RJUikvJS5jCi0JbWtkaXIgLXAgJChkaXIgJEApCi0JY2MgJChwYXRzdWJzdCAlLCAt
SSUsICQoSU5DRElSUykpIC1NTSAtTUcgLU1UICQocGF0c3Vic3QgJS5kLCAlJChPQkpTVUZGSVgp
LCAkQCkgJDwgfCBzZWQgJyQocGF0c3Vic3QgJSwgc3wgXCglXCl8ICQoT0JKRElSKS9cMXw7LCAk
KEFVVE9HRU5IRUFERVJTKSknID4kQAotCi1pbmNsdWRlICQocGF0c3Vic3QgJS5jLCAkKE9CSkRJ
UikvJS5kLCAkKFNSQ1MpKQotCi0KLSQoRFREKSA6ICQoRE9DRElSKS9odG1sdG9kdGQueHNsICQo
RE9DRElSKS93aWRscHJvYy5odG1sCi0JeHNsdHByb2MgLWh0bWwgJF4gPiRACi0KLWNsZWFuIDoK
LQlybSAtZiAkKEFMTCkgJChPQkpTKQotCi12ZXJ5Y2xlYW4gOgotCXJtIC1yZiAkKE9CSkRJUikK
LQotU1ZORklMRVMgPSAkKHNoZWxsIHRlc3QgLWQgLnN2biAmJiBzdm4gaW5mbyAtUiAuIHwgc2Vk
IC1uICdzL15QYXRoOiBcKC4qXCkkJC9cMS9wJykKLVNWTkJSQU5DSCA9ICQoc2hlbGwgdGVzdCAt
ZCAuc3ZuICYmIHN2biBpbmZvIC4gfCBzZWQgLW4gJ3N8XlVSTDouKi9cKFteL10qXCkkJHxcMXxw
JykKLVNWTlJFViA9ICQoc2hlbGwgdGVzdCAtZCAuc3ZuICYmIHN2biBpbmZvIC1SIC4gfCBzZWQg
LW4gJ3MvXkxhc3QgQ2hhbmdlZCBSZXY6IFwoWzAtOV1bMC05XSpcKSQkL1wxL3AnIHwgc29ydCAt
ZyB8IHRhaWwgLTEpCi0KLVNWTkxPRyA9IGhpc3RvcnkKLSQoU1ZOTE9HKSA6ICQoU1ZORklMRVMp
Ci0Jc3ZuIGxvZyAtdnJIRUFEOjMxMSA+JEAKLQotemlwIDogJChPQkpESVIpL3dpZGxwcm9jLSQo
U1ZOQlJBTkNIKSQoU1ZOUkVWKS56aXAKLSQoT0JKRElSKS93aWRscHJvYy0kKFNWTkJSQU5DSCkk
KFNWTlJFVikuemlwIDogJChXSURMUFJPQykgJChEVEQpICQoRE9DRElSKS93aWRscHJvYy5odG1s
ICQoU1JDRElSKS93aWRscHJvY3htbHRvaHRtbC54c2wgTWFrZWZpbGUgJChTVk5MT0cpCi0Jcm0g
LWYgJEAKLQl6aXAgLWogJEAgJF4gLXggTWFrZWZpbGUKLQl6aXAgJEAgZXhhbXBsZXMvKi53aWRs
IGV4YW1wbGVzLyouY3NzIGV4YW1wbGVzL01ha2VmaWxlIGV4YW1wbGVzL1JFQURNRSBleGFtcGxl
cy8qLnhzbCBleGFtcGxlcy8qLmh0bWwKLQotc3JjemlwIDogd2lkbHByb2Mtc3JjLSQoU1ZOQlJB
TkNIKSQoU1ZOUkVWKS56aXAKLQotd2lkbHByb2Mtc3JjLSUuemlwIDogJChTVk5GSUxFUykgJChT
Vk5MT0cpCi0JemlwICRAICReIAotCi1leGFtcGxlcyA6Ci0JJChNQUtFKSAtQyBleGFtcGxlcyBT
UkNESVI9Li4vc3JjIE9CSkRJUj0uLi9vYmogRVhBTVBMRVNPQkpESVI9Li4vb2JqL2V4YW1wbGVz
Ci0KLXRlc3QgOiAkKE9CSlMpCi0JJChNQUtFKSAtQyB0ZXN0IFNSQ0RJUj0uLi9zcmMgT0JKRElS
PS4uL29iagotCi0uREVMRVRFX09OX0VSUk9SOgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxw
cm9jL1JFQURNRS5tZCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9SRUFETUUubWQKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDhlZDgyNGU3ZDlkODRkNDVlNmU2MDlhM2E4YzliZDU2NDNlZWE3
ZDcuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3dpZGxwcm9jL1JFQURNRS5tZAorKysgL2Rldi9udWxsCkBAIC0xLDQwICswLDAgQEAKLSMg
VXNlcwotCi13aWRscHJvYyBjYW4gYmUgdXNlZCB0byB2YWxpZGF0ZSBXZWJJREwgaW4gVzNDIHNw
ZWNpZmljYXRpb25zLiBJdCBzZXJ2ZXMgYXMgdGhlIGJhc2lzIGZvciB0aGUgW1czQyBXZWIgSURM
IG9uLWxpbmUgY2hlY2tlcl0oaHR0cDovL3d3dy53My5vcmcvMjAwOS8wNy93ZWJpZGwtY2hlY2sp
LgotCi13aWRscHJvYydzIGdlbmVyYXRlZCBYTUwgaXMgdXNlZCB0byBnZW5lcmF0ZSBbd2ViaW5v
cyBKYXZhU2NyaXB0IEFQSXMgc3BlY2lmaWNhdGlvbnNdKGh0dHA6Ly9kZXYud2ViaW5vcy5vcmcv
c3BlY2lmaWNhdGlvbnMvZHJhZnQvKS4KLQotIyBMaWNlbnNlCi0KLXdpZGxwcm9jIGlzIGxpY2Vu
c2VkIHVuZGVyIHRoZSBBcGFjaGUgMiBMaWNlbnNlLgotCi0jIE90aGVycwotCi1TZWUgYWxzbyBb
d2ViaWRsLmpzXShodHRwczovL2dpdGh1Yi5jb20vZGFyb2Jpbi93ZWJpZGwuanMpLCBhIEphdmFT
Y3JpcHQtYmFzZWQgV2ViIElETCBwYXJzZXIgdXNlZCBieSB2YXJpb3VzIHRvb2xzIGluIFczQy4K
LQotIyBDcmVkaXRzCi0KLU1vc3Qgb2YgdGhlIHdvcmsgb24gd2lkbHByb2Mgd2FzIGRvbmUgYnkg
VGltIFJlbm91ZiBhbmQgUGFkZHkgQnllcnMuIEFwbGl4IGNvcnBvcmF0aW9uIG93bnMgdGhlIGNv
cHlyaWdodCBvZiB0aGUgY29kZSB1cCB0byBKdW5lIDIwMTEuCi0KLVRoZSB0b29sIGlzIGtlcHQg
dXAgdG8gZGF0ZSB3aXRoIHRoZSBjaGFuZ2VzIGluIHRoZSBzcGVjIGJ5IERvbWluaXF1ZSBIYXph
ZWwtTWFzc2lldXgsIHRocm91Z2ggZnVuZGluZyBmcm9tIHRoZSBbd2ViaW5vcyBwcm9qZWN0XSho
dHRwOi8vd2ViaW5vcy5vcmcvKSBzaW5jZSBKdW5lIDIwMTEuCi0KLSMgRG9jdW1lbnRhdGlvbgot
Ci1TZWUgZG9jL3dpZGxwcm9jLmh0bWwgaW4gdGhlIHRyZWUuCi0KLSMgQnVpbGQgSW5zdHJ1Y3Rp
b25zCi0KLSMjIFdpbmRvd3MKLQotSW5zdGFsbCByZXF1aXJlbWVudHMKLSogQ3lnd2luIC0gbXVz
dCBpbnN0YWxsIG11c3QgaW5zdGFsbCBsaWJzL2xpYnhzbHQKLSogVmlzdWFsIFN0dWRpbyBleHBy
ZXNzIDIwMTIgb3IgMjAxMCAoc2VlIGRpZmZlcmVuY2UgYmVsb3cpCi0KLW1ha2VmaWxlIHVzZXMg
Y3lnd2luIG1ha2UuIFJlZmVyZW5jZXMgYXJlIGNvZGVkIGluIHRoZSBtYWtlIGZpbGUgdG8gZGV0
ZWN0IHRlaCBjdXJyZW50IHZlcnNpb24gb2YgdmlzdWFsIHN0dWRpbyAKLQotIyBGdXR1cmUgd29y
awotd2luZG93cyBidWlsZCBjb3VsZCBiZSBpbXByb3ZlZCB0byBoYW5kbGUgbXVsdGlwZSB2ZXJz
aW9ucyB3aXRoIHZjdmFycy5iYXQKLWh0dHA6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMv
NjIwMjkvdnMyMDA4LWNvbW1hbmQtcHJvbXB0LWN5Z3dpbgotCi0KLQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L3dpZGxwcm9jL2RvYy9odG1sdG9kdGQueHNsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL2Rv
Yy9odG1sdG9kdGQueHNsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkOGI3ZjU5NzNm
YjEyZWY2OWFmZTRmMzNiYTU0ZjZmZWVjNjA4OThmLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9kb2MvaHRtbHRvZHRkLnhz
bAorKysgL2Rldi9udWxsCkBAIC0xLDI4ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5j
b2Rpbmc9InVzLWFzY2lpIj8+Ci08IS0tPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLSRJZCQKLUNvcHlyaWdodCAyMDA5
IEFwbGl4IENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotTGljZW5zZWQgdW5kZXIg
dGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7Ci15b3UgbWF5
IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2Uu
Ci1Zb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKLSAgICBodHRwOi8vd3d3
LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKLVVubGVzcyByZXF1aXJlZCBieSBhcHBs
aWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKLWRpc3RyaWJ1dGVk
IHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCi1X
SVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJl
c3Mgb3IgaW1wbGllZC4KLVNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdl
IGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKLWxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNl
LgotCi1TdHlsZXNoZWV0IHRvIGV4dHJhY3QgRFREIGZvciB3aWRscHJvY3htbCBmcm9tIHdpZGxw
cm9jLmh0bWwKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PS0tPgotPHhzbDpzdHlsZXNoZWV0IHhtbG5zOnhzbD0iaHR0
cDovL3d3dy53My5vcmcvMTk5OS9YU0wvVHJhbnNmb3JtIiB2ZXJzaW9uPSIxLjAiPgotPHhzbDpv
dXRwdXQgbWV0aG9kPSJ0ZXh0IiBlbmNvZGluZz0idXMtYXNjaWkiIGluZGVudD0ibm8iLz4KLQot
PCEtLSA8cHJlIGNsYXNzPSJkdGQiPiBlbGVtZW50IC0tPgotPHhzbDp0ZW1wbGF0ZSBtYXRjaD0i
cHJlW0BjbGFzcz0nZHRkJ10iPgotICAgIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIuIi8+Ci08L3hz
bDp0ZW1wbGF0ZT4KLQotPCEtLUlnbm9yZSBvdGhlciB0ZXh0LiAtLT4KLTx4c2w6dGVtcGxhdGUg
bWF0Y2g9InRleHQoKSIgcHJpb3JpdHk9Ii0xMDAiLz4KLQotPC94c2w6c3R5bGVzaGVldD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9kb2MvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvd2lkbHByb2MvZG9jL3czYy1pbXBvcnQubG9nCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCA5Nzc0ODNjZTNlOTBhZmRkMDg2MDY3ZWI2MGJlNmRmZjA3NDViYzFmLi4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9k
b2MvdzNjLWltcG9ydC5sb2cKKysrIC9kZXYvbnVsbApAQCAtMSwxOSArMCwwIEBACi1UaGUgdGVz
dHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9y
eS4KLURvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVh
ZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXM0MgQ1NTIG9yIFdQVCBnaXRodWI6Ci0J
aHR0cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy10ZXN0Ci0JaHR0cHM6Ly9naXRodWIuY29tL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMKLQotVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0
LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKLQotRG8gTk9UIG1vZGlmeSBvciByZW1v
dmUgdGhpcyBmaWxlLgotCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLVByb3BlcnRpZXMgcmVxdWlyaW5nIHZl
bmRvciBwcmVmaXhlczoKLU5vbmUKLVByb3BlcnR5IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9yIHBy
ZWZpeGVzOgotTm9uZQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1MaXN0IG9mIGZpbGVzOgotL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC93aWRscHJvYy9kb2MvaHRtbHRvZHRkLnhzbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9kb2Mvd2lk
bHByb2MuaHRtbApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL2RvYy93aWRscHJvYy5o
dG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL2RvYy93aWRscHJvYy5odG1sCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCA0ZWI0MmMzOWJiOWMxMDRkNGU4MTZiNjM2MjdhMzU3MmYyNjFkYWU2
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC93aWRscHJvYy9kb2Mvd2lkbHByb2MuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDExMjQgKzAs
MCBAQAotPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEvL0VOIiAi
aHR0cDovL3d3dy53My5vcmcvVFIvaHRtbDQvc3RyaWN0LmR0ZCI+Ci08IS0tPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LUNvcHlyaWdodCAyMDA5IEFwbGl4IENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgot
TGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNl
bnNlIik7Ci15b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdp
dGggdGhlIExpY2Vuc2UuCi1Zb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQK
LSAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKLVVubGVzcyBy
ZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdh
cmUKLWRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJB
UyBJUyIgQkFTSVMsCi1XSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lO
RCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KLVNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNw
ZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKLWxpbWl0YXRpb25zIHVu
ZGVyIHRoZSBMaWNlbnNlLgotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09LS0+Ci08aHRtbD4KLTxoZWFkPgotPG1ldGEg
aHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXMt
YXNjaWkiPgotPHRpdGxlPndpZGxwcm9jPC90aXRsZT4KLTxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+
Ci0gICAgYm9keSB7IGNvbG9yOiBibGFjazsgZm9udDogMTBwdCB2ZXJkYW5hOyB9Ci0gICAgYTps
aW5rIHsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9Ci0gICAgYTp2aXNpdGVkIHsgdGV4dC1kZWNv
cmF0aW9uOiBub25lOyB9Ci0gICAgYTpob3ZlciB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5l
OyB9Ci0gICAgZHQgeyBtYXJnaW4tdG9wOiAwLjVlbTsgfQotICAgIGRkIHsgbWFyZ2luLWxlZnQ6
IDFlbTsgbWFyZ2luLWJvdHRvbTogMC41ZW07IH0KLSAgICBsaSB7IG1hcmdpbi1ib3R0b206IDA7
IH0KLSAgICBoNCB7IGZvbnQtc2l6ZTogMTBwdDsgfQotICAgIHRhYmxlIHsgYm9yZGVyOiAxcHgg
c29saWQ7IGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7IH0KLSAgICB0ZCB7IGJvcmRlcjogMXB4
IHNvbGlkOyB9Ci0gICAgdGggeyBib3JkZXI6IDFweCBzb2xpZDsgfQotICAgIGNvZGUgeyBiYWNr
Z3JvdW5kLWNvbG9yOiAjZjBmMGYwOyB9Ci0gICAgcHJlIHsgYmFja2dyb3VuZC1jb2xvcjogI2Yw
ZjBmMDsgfQotICAgIC5pbmRlbnQgeyBtYXJnaW4tbGVmdDogM2VtOyB9Ci0gICAgLmlzc3VlIHsg
YmFja2dyb3VuZC1jb2xvcjogIzAwQ0NDQzsgfQotPC9zdHlsZT4KLTwvaGVhZD4KLTxib2R5Pgot
PGgxPndpZGxwcm9jPC9oMT4KLQotPHA+VGltIFJlbm91ZiwgQXBsaXggQ29ycDwvcD4KLTxwPiRJ
ZCQKLTwvcD4KLQotPGgyPkludHJvZHVjdGlvbjwvaDI+Ci0KLTxwPgotd2lkbHByb2MgaXMgYSBw
cm9jZXNzb3IgdGhhdCBhY2NlcHRzIGFzIGlucHV0Ci08YSBocmVmPSIjd2ViaWRsIj5XZWIgSURM
PC9hPiAodGhlIDMwIFNlcHRlbWJlciAyMDA5IGVkaXRvcidzIGRyYWZ0KSwKLXdpdGggY29tbWVu
dHMgaW4gYSBzdWJzZXQgb2YgdGhlIGZvcm1hdCB1c2VkIGJ5Ci08YSBocmVmPSIjZG94eWdlbiI+
RG94eWdlbjwvYT4uCi1UaGUgZm9ybWF0IGl0IGFjY2VwdHMgaXMgcHJvcG9zZWQgYnkgQXBsaXgg
Zm9yIGF1dGhvcmluZwotPGEgaHJlZj0iI2JvbmRpIj5CT05ESTwvYT4gaW50ZXJmYWNlIGRlZmlu
aXRpb25zLgotPC9wPgotCi08cD4KLVRoZSBvdXRwdXQgb2Ygd2lkbHByb2MgaXMgYW4gWE1MIHJl
cHJlc2VudGF0aW9uIG9mIHRoZQotPGEgaHJlZj0iI3dlYmlkbCI+V2ViIElETDwvYT4gaW5wdXQs
Ci13aXRoIGFkZGVkIFhNTCBlbGVtZW50cyByZXByZXNlbnRpbmcgdGhlCi08YSBocmVmPSIjZG94
eWdlbiI+RG94eWdlbjwvYT4tbGlrZSBjb21tZW50cy4KLTwvcD4KLQotPGgyPlVzYWdlPC9oMj4K
LQotPHA+Ci08Y29kZT53aWRscHJvYyA8aT5maWxlbmFtZTwvaT48L2NvZGU+Ci08L3A+Ci0KLTxw
Pgotd2lkbHByb2MgcmVhZHMgdGhlIGZpbGUgbmFtZWQgPGVtPmZpbGVuYW1lPC9lbT4sIGFuZCAK
LXNlbmRzIGl0cyBYTUwgb3V0cHV0IGZvcm1hdCB0byBzdGRvdXQuCi08L3A+Ci0KLTxoMj5JbnB1
dCBmb3JtYXQ8L2gyPgotCi08cD4KLVRoZSBpbnB1dCBmb3JtYXQgYWNjZXB0ZWQgYnkgd2lkbHBy
b2MgaXMKLTxhIGhyZWY9IiN3ZWJpZGwiPldlYiBJREw8L2E+Ci0od2l0aCBhbiBleHRlbnNpb24g
dXNlZCBpbiB0aGUKLTxhIGhyZWY9IiN3M2NnZW8iPlczQyBHZW9sb2NhdGlvbiBBUEk8L2E+KSwK
LXdpdGggY29tbWVudHMgaW4gYSBmb3JtYXQgcmVtaW5pc2NlbnQgb2YgdGhhdCB1c2VkIGJ5Ci08
YSBocmVmPSIjZG94eWdlbiI+RG94eWdlbjwvYT4uCi08L3A+Ci0KLTxoMz5XZWIgSURMIGV4dGVu
c2lvbiBmcm9tIFczQyBnZW9sb2NhdGlvbiBBUEk8L2gzPgotCi08aDQ+ZG91YmxlPC9oND4KLQot
PHA+Ci08Y29kZT5kb3VibGU8L2NvZGU+IGlzIGFsbG93ZWQgYXMgYSBEZWNsYXJhdGlvblR5cGUg
b3IgYSBCb3hlZFR5cGUuCi08L3A+Ci0KLTxoMz5Eb3h5Z2VuLWxpa2UgY29tbWVudCBpbnRyb2R1
Y3Rpb248L2gzPgotCi08cD4KLU9ubHkgYSBzbWFsbCBzdWJzZXQgb2YgRG94eWdlbiBmdW5jdGlv
bmFsaXR5IGlzIHN1cHBvcnRlZCBieQotd2lkbHByb2MsIHBsdXMgYWRkaXRpb25zIHRvIGhhbmRs
ZSB0aGUgQk9OREkgY29uY2VwdHMgb2YgQVBJIGZlYXR1cmVzCi1hbmQgZGV2aWNlIGNhcGFiaWxp
dGllcy4KLTwvcD4KLQotPHA+Ci1JbiBwYXJ0aWN1bGFyLCBubyBsaW5rcyBhcmUgYWRkZWQgYXV0
b21hdGljYWxseS4gKFRoaXMgY291bGQgYmUgYWRkZWQKLWluIHRoZSBmdXR1cmUuKQotPC9wPgot
Ci08aDM+RG94eWdlbiBjb21tZW50IGJsb2NrPC9oMz4KLQotPGg0PkNvbW1lbnQgcmVmZXJyYWwg
cG9pbnQ8L2g0PgotCi08cD4KLUVhY2ggPGVtPkRveHlnZW4gY29tbWVudCBibG9jazwvZW0+IHJl
ZmVycyB0byBhIDxlbT5jb21tZW50IHJlZmVycmFsCi1wb2ludDwvZW0+IGluIHRoZSBXZWIgSURM
LCBvbmUgb2YKLW1vZHVsZSwgaW50ZXJmYWNlLCBleGNlcHRpb24sIGNvbnN0LCBhdHRyaWJ1dGUs
IG9wZXJhdGlvbiBvciBhcmd1bWVudC4KLTwvcD4KLQotPGg0PkJsb2NrIGNvbW1lbnQ8L2g0Pgot
Ci08cD4KLUEgYmxvY2sgY29tbWVudCAoZGVsaW1pdGVkIGJ5IDxjb2RlPi8qICovPC9jb2RlPikg
d2hvc2UgZmlyc3QgY2hhcmFjdGVyCi1hZnRlciB0aGUgPGNvZGU+Lyo8L2NvZGU+IGlzIDxjb2Rl
PiE8L2NvZGU+IG9yIGEgc2Vjb25kIDxjb2RlPio8L2NvZGU+Ci1pcyBhIDxlbT5Eb3h5Z2VuIGNv
bW1lbnQgYmxvY2s8L2VtPi4KLTwvcD4KLQotPHA+Ci1Ob3JtYWxseSB0aGUgY29tbWVudCBibG9j
ayByZWZlcnMgdG8gdGhlIG5leHQgY29tbWVudCByZWZlcnJhbCBwb2ludCBpbgotdGhlIFdlYiBJ
REwuCi1JZiB0aGUgZmlyc3QgY2hhcmFjdGVyIGlzIDxjb2RlPiZsdDs8L2NvZGU+LCBzbyB0aGUg
Y29tbWVudCBibG9jayBpcyBpbnRyb2R1Y2VkCi13aXRoIDxjb2RlPi8qKiZsdDs8L2NvZGU+IG9y
IDxjb2RlPi8qISZsdDs8L2NvZGU+ICwgdGhlbiB0aGUgY29tbWVudCBibG9jawotcmVmZXJzIGJh
Y2sgdG8gdGhlIHByZXZpb3VzIGNvbW1lbnQgcmVmZXJyYWwgcG9pbnQuCi08L3A+Ci0KLTxwPgot
VGhlIHRleHQgb2YgdGhlIGNvbW1lbnQgYmxvY2sKLWV4Y2x1ZGVzIHRoZSBpbml0aWFsIDxjb2Rl
PiE8L2NvZGU+IG9yIDxjb2RlPio8L2NvZGU+IChhbmQgdGhlIDxjb2RlPiZsdDs8L2NvZGU+Ci1m
b3IgYSByZWZlcnJpbmcgYmFjayBibG9jayksCi1hbmQgZXhjbHVkZXMgYW4gaW5pdGlhbCAoYWZ0
ZXIgd2hpdGVzcGFjZSkgPGNvZGU+KjwvY29kZT4KLW9uIGVhY2ggbGluZSwKLWFuZCwgd2hlbiBu
b3QgaW4gYSA8YSBocmVmPSIjY29kZSI+PGNvZGU+XGNvZGU8L2NvZGU+PC9hPiBibG9jaywKLWV4
Y2x1ZGVzIGFueSBsaW5lIGNvbnNpc3RpbmcgZW50aXJlbHkgb2Ygd2hpdGVzcGFjZSwgdGhlbiA8
Y29kZT4qPC9jb2RlPgotY2hhcmFjdGVycywgdGhlbiB3aGl0ZXNwYWNlLgotPC9wPgotCi08cD4K
LXdpZGxwcm9jIGRvZXMgbm90IHN1cHBvcnQgRG94eWdlbiBjb21tYW5kcyB0byBmb3JjZSBhIGNv
bW1lbnQKLWJsb2NrIHRvIHJlZmVyIHRvIGEgZGlmZmVyZW50IHJlZmVycmFsIHBvaW50LgotPC9w
PgotCi08aDQ+SW5saW5lIGNvbW1lbnRzPC9oND4KLQotPHA+Ci1UaGUgbWF4aW1hbCBzZXF1ZW5j
ZSBvZiBpbmxpbmUgY29tbWVudHMgKGRlbGltaXRlZCBieSA8Y29kZT4vLzwvY29kZT4pCi1vbiBh
ZGphY2VudCBsaW5lcywgd2hlcmUgYWxsIG9mIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBob2xk
OgotPC9wPgotPHVsPgotPGxpPgotZWFjaCBoYXMgYSBmaXJzdCBjaGFyYWN0ZXIgYWZ0ZXIgdGhl
IDxjb2RlPi88L2NvZGU+IG9mIDxjb2RlPiE8L2NvZGU+IG9yCi1hIHRoaXJkIDxjb2RlPi88L2Nv
ZGU+OwotPGxpPgotbm8gY29tbWVudCByZWZlcnJhbCBwb2ludCBpbnRlcnZlbmVzOwotPGxpPgot
ZWl0aGVyIGVhY2ggY29tbWVudCBpbiB0aGUgc2VxdWVuY2Ugc3RhcnRzIHdpdGggYSA8Y29kZT4m
bHQ7PC9jb2RlPgotKHNlZSBiZWxvdyksIG9yIG5vbmUgZG9lczsKLTxsaT4KLXRoZSBzZXF1ZW5j
ZSBjb250YWlucyBhdCBsZWFzdCB0d28gaW5saW5lIGNvbW1lbnRzLCBvciwgaWYgb25seSBvbmUs
Ci10aGVuIGl0IHN0YXJ0cyB3aXRoIDxjb2RlPiZsdDs8L2NvZGU+IChzZWUgYmVsb3cpOwotPC91
bD4KLTxwPgotZm9ybXMgYSA8ZW0+RG94eWdlbiBjb21tZW50IGJsb2NrPC9lbT4uCi08L3A+Ci0K
LTxwPgotTm9ybWFsbHkgdGhlIGNvbW1lbnQgYmxvY2sgcmVmZXJzIHRvIHRoZSBuZXh0IGNvbW1l
bnQgcmVmZXJyYWwgcG9pbnQgaW4KLXRoZSBXZWIgSURMLgotSWYgdGhlIGZpcnN0IGNoYXJhY3Rl
ciBvZiBlYWNoIGNvbW1lbnQgaXMgPGNvZGU+Jmx0OzwvY29kZT4sIHNvIGVhY2gKLWNvbW1lbnQg
aW4gdGhlIGJsb2NrIGlzIGludHJvZHVjZWQKLXdpdGggPGNvZGU+Ly8vJmx0OzwvY29kZT4gb3Ig
PGNvZGU+Ly8hJmx0OzwvY29kZT4gLCB0aGVuIHRoZSBjb21tZW50IGJsb2NrCi1yZWZlcnMgYmFj
ayB0byB0aGUgcHJldmlvdXMgY29tbWVudCByZWZlcnJhbCBwb2ludC4KLTwvcD4KLQotPHA+Ci1U
aGUgdGV4dCBvZiB0aGUgY29tbWVudCBibG9jawotZXhjbHVkZXMgdGhlIGluaXRpYWwgPGNvZGU+
ITwvY29kZT4gb3IgPGNvZGU+LzwvY29kZT4gKGFuZCB0aGUgPGNvZGU+Jmx0OzwvY29kZT4KLWZv
ciBhIHJlZmVycmluZyBiYWNrIGJsb2NrKSBvZiBlYWNoIGlubGluZSBjb21tZW50LAotYW5kLCB3
aGVuIG5vdCBpbiBhIDxhIGhyZWY9IiNjb2RlIj48Y29kZT5cY29kZTwvY29kZT48L2E+IGJsb2Nr
LAotZXhjbHVkZXMgYW55IGxpbmUgY29uc2lzdGluZyBlbnRpcmVseSBvZiB3aGl0ZXNwYWNlLCB0
aGVuIDxjb2RlPi88L2NvZGU+Ci1jaGFyYWN0ZXJzLCB0aGVuIHdoaXRlc3BhY2UuCi08L3A+Ci0K
LTxwPgotd2lkbHByb2MgZG9lcyBub3Qgc3VwcG9ydCBEb3h5Z2VuIGNvbW1hbmRzIHRvIGZvcmNl
IGEgY29tbWVudAotYmxvY2sgdG8gcmVmZXIgdG8gYSBkaWZmZXJlbnQgcmVmZXJyYWwgcG9pbnQu
Ci08L3A+Ci0KLTxoMz5QYXJhZ3JhcGg8L2gzPgotCi08cD4KLUEgY29tbWVudCBibG9jayBpcyBi
cm9rZW4gaW50byB6ZXJvIG9yIG1vcmUgPGVtPnBhcmFncmFwaDwvZW0+cy4KLU9uZSBvciBtb3Jl
IGJsYW5rIGxpbmVzIGJyZWFrIHRoZSBwYXJhZ3JhcGhzICh1bmxlc3MgaW4gYQotPGEgaHJlZj0i
I2NvZGUiPjxjb2RlPlxjb2RlPC9jb2RlPjwvYT4gYmxvY2spLgotPC9wPgotCi08cD4KLUNlcnRh
aW4gY29tbWFuZHMgKGJlbG93KSBhbHNvIHN0YXJ0IGEgbmV3IHBhcmFncmFwaC4KLTwvcD4KLQot
PHA+Ci1BbgotPGEgaHJlZj0iI2h0bWwiPkhUTUwgYmxvY2sgZWxlbWVudDwvYT4KLWlzIGEgcGFy
YWdyYXBoLgotQSBibGFuayBsaW5lIChvdGhlciB0aGFuIGluIGEKLTxhIGhyZWY9IiNjb2RlIj48
Y29kZT5cY29kZTwvY29kZT48L2E+IGJsb2NrKQotaW1wbGljaXRseSBjbG9zZXMgYW55IG9wZW4g
SFRNTCBlbGVtZW50cywgdGh1cyBlbmRpbmcgdGhlIHBhcmFncmFwaC4KLTwvcD4KLQotPGgzPkRv
eHlnZW4tbGlrZSBjb21tYW5kczwvaDM+Ci0KLTxwPgotd2lkbHByb2Mgc3VwcG9ydHMgYSBzbWFs
bCBzdWJzZXQgb2YgRG94eWdlbiBjb21tYW5kcywgcGx1cyBzb21lIGFkZGl0aW9ucwotdG8gaGFu
ZGxlIEJPTkRJIEFQSSBmZWF0dXJlcyBhbmQgZGV2aWNlIGNhcGFiaWxpdGllcy4KLTwvcD4KLQot
PHA+Ci1BIGNvbW1hbmQgaXMgYWx3YXlzIGludHJvZHVjZWQgd2l0aCBhIDxjb2RlPlw8L2NvZGU+
IGNoYXJhY3Rlci4KLVRoZSBEb3h5Z2VuIGFsdGVybmF0aXZlIChmcm9tIEphdmFEb2MpIG9mIDxj
b2RlPkA8L2NvZGU+IGlzIG5vdAotc3VwcG9ydGVkLgotPC9wPgotCi08aDQgaWQ9ImFwaS1mZWF0
dXJlIj5cYXBpLWZlYXR1cmU8L2g0PgotCi08cD4KLVN0YXJ0cyBhIG5ldyBwYXJhZ3JhcGguIFRo
ZSBmb2xsb3dpbmcgd29yZCBpcyB0aGUgbmFtZSBvZiBhbiBBUEkgZmVhdHVyZQotdXNlZCBieSB0
aGUgbWV0aG9kIGJlaW5nIGRvY3VtZW50ZWQuIFRoZSByZW1haW5kZXIgb2YgdGhlIHBhcmFncmFw
aCBpcwotYW55IGRlc2NyaXB0aW9uIHJlcXVpcmVkIG9mIGhvdyAoZWcgaW4gd2hhdCBjaXJjdW1z
dGFuY2UpIHRoZSBBUEkgZmVhdHVyZQotaXMgdXNlZC4KLTwvcD4KLQotPGg0PlxuYW1lPC9oND4K
LQotPHA+Ci1EZWNsYXJlcyBhIG5hbWUgZm9yIHRoZSBkb2N1bWVudCBub2RlIGFzc29jaWF0ZWQg
d2l0aCB0aGUgY3VycmVudCByZWZlcnJhbAotcG9pbnQuIFRoaXMgaXMgdXNlZnVsIGZvciB0aGUg
cm9vdCBkb2N1bWVudCBub2RlIHRoYXQgb3RoZXJ3aXNlIGRvZXMgbm90IGhhdmUKLWEgV2ViSURM
IGlkZW50aWZpZXIuCi08L3A+Ci0KLTxoND5cYXV0aG9yPC9oND4KLQotPHA+Ci1TdGFydHMgYSBu
ZXcgcGFyYWdyYXBoLiBUaGUgcmVtYWluZGVyIG9mIHRoZSBwYXJhZ3JhcGggY29udGFpbnMKLWlu
Zm9ybWF0aW9uIGFib3V0IGEgc2luZ2xlIGF1dGhvciBvZiB0aGUgc3BlY2lmaWNhdGlvbi4gTXVs
dGlwbGUKLTxjb2RlPlxhdXRob3I8L2NvZGU+IGNvbW1hbmRzIHNob3VsZCBiZSB1c2VkIGZvciBt
dWx0aXBsZSBhdXRob3JzLgotPC9wPgotCi08cD4KLShIZXJlIHdpZGxwcm9jIGRpZmZlcnMgZnJv
bSBEb3h5Z2VuOyBEb3h5Z2VuIGFsc28gYWxsb3dzCi1tdWx0aXBsZSBhdXRob3JzIG9uIHNlcGFy
YXRlIGxpbmVzIHRvIGFwcGVhciBpbiBvbmUgPGNvZGU+XGF1dGhvcjwvY29kZT4KLXBhcmFncmFw
aC4pCi08L3A+Ci0KLTxoND5cYjwvaDQ+Ci0KLTxwPgotVGhpcyByZW5kZXJzIHRoZSBuZXh0IHdv
cmQgYXMgYm9sZC4gSXQgaXMgZXF1aXZhbGVudCB0byBlbmNsb3NpbmcgdGhlCi1uZXh0IHdvcmQg
d2l0aCA8Y29kZT4mbHQ7Yj4gJmx0Oy9iPjwvY29kZT4uCi08L3A+Ci0KLTxoND5cYnJpZWY8L2g0
PgotCi08cD4KLVN0YXJ0cyBhIG5ldyBwYXJhZ3JhcGguIFRoZSByZW1haW5kZXIgb2YgdGhlIHBh
cmFncmFwaCBjb250YWlucyBhIGJyaWVmCi1kZXNjcmlwdGlvbiBvZiB0aGUgZW50aXR5IGJlaW5n
IGRvY3VtZW50ZWQuCi08L3A+Ci0KLTxoNCBpZD0iY29kZSI+XGNvZGUsIFxlbmRjb2RlPC9oND4K
LQotPHA+Ci08Y29kZT5cY29kZTwvY29kZT4KLXN0YXJ0cyBhIG5ldyBwYXJhZ3JhcGggd2hpY2gg
aXMgYSA8ZW0+Y29kZSBibG9jazwvZW0+LiBUaGUgY29kZSBibG9jawotZW5kcyBhdCB0aGUgbmV4
dCA8Y29kZT5cZW5kY29kZTwvY29kZT4gY29tbWFuZC4KLTwvcD4KLQotPHA+Ci1XaXRoaW4gdGhl
IGNvZGUgYmxvY2ssIHdoaXRlc3BhY2UgYW5kIG5ld2xpbmVzIGFyZSBwYXNzZWQgdmVyYmF0aW0g
aW50bwotdGhlIG91dHB1dC4KLTwvcD4KLQotPGg0IGlkPSJkZWYtYXBpLWZlYXR1cmUiPlxkZWYt
YXBpLWZlYXR1cmU8L2g0PgotCi08cD4KLVN0YXJ0cyBhIG5ldyBwYXJhZ3JhcGguIFRoZSBmb2xs
b3dpbmcgd29yZCBpcyB0aGUgbmFtZSBvZiB0aGUgQVBJIGZlYXR1cmUKLXdoaWNoIGlzIGRlZmlu
ZWQgaGVyZS4gVGhlIGRlc2NyaXB0aW9uIGlzIGFuIDxlbT5kZWYtYXBpLWZlYXR1cmUgYmxvY2s8
L2VtPiwKLWNvbnNpc3Rpbmcgb2YgdGhlCi1yZW1haW5kZXIgb2YgdGhlIHBhcmFncmFwaCwgdG9n
ZXRoZXIgd2l0aAotZnVydGhlciBwYXJhZ3JhcGhzIGluIHRoZSBzYW1lIGJsb2NrIGNvbW1lbnQg
ZWFjaCBvZiB3aGljaCBpcyBhIHBsYWluCi1wYXJhZ3JhcGgsIGEgcGFyYWdyYXBoIHN0YXJ0ZWQg
ZHVlIHRvIEhUTUwgbWFya3VwLCBhIDxjb2RlPlxicmllZjwvY29kZT4KLXBhcmFncmFwaCwgb3Ig
YQotPGEgaHJlZj0iI2RldmljZS1jYXAiPjxjb2RlPlxkZXZpY2UtY2FwPC9jb2RlPjwvYT4KLXBh
cmFncmFwaC4KLTwvcD4KLQotPGg0IGlkPSJkZWYtYXBpLWZlYXR1cmUtc2V0Ij5cZGVmLWFwaS1m
ZWF0dXJlLXNldDwvaDQ+Ci0KLTxwPgotU3RhcnRzIGEgbmV3IHBhcmFncmFwaC4gVGhlIGZvbGxv
d2luZyB3b3JkIGlzIHRoZSBuYW1lIG9mIHRoZSBBUEkgZmVhdHVyZQotc2V0IHdoaWNoIGlzIGRl
ZmluZWQgaGVyZS4gVGhlIGRlc2NyaXB0aW9uIGlzIGFuIDxlbT5kZWYtYXBpLWZlYXR1cmUtc2V0
IGJsb2NrPC9lbT4sCi1jb25zaXN0aW5nIG9mIHRoZQotcmVtYWluZGVyIG9mIHRoZSBwYXJhZ3Jh
cGgsIHRvZ2V0aGVyIHdpdGgKLWZ1cnRoZXIgcGFyYWdyYXBocyBpbiB0aGUgc2FtZSBibG9jayBj
b21tZW50IGVhY2ggb2Ygd2hpY2ggaXMgYSBwbGFpbgotcGFyYWdyYXBoLCBhIHBhcmFncmFwaCBz
dGFydGVkIGR1ZSB0byBIVE1MIG1hcmt1cCwgYSA8Y29kZT5cYnJpZWY8L2NvZGU+Ci1wYXJhZ3Jh
cGgsIG9yIGEKLTxhIGhyZWY9IiNkZXZpY2UtY2FwIj48Y29kZT5cYXBpLWZlYXR1cmU8L2NvZGU+
PC9hPgotcGFyYWdyYXBoLgotPC9wPgotCi08aDQ+XGRlZi1kZXZpY2UtY2FwPC9oND4KLQotPHA+
Ci1TdGFydHMgYSBuZXcgcGFyYWdyYXBoLiBUaGUgZm9sbG93aW5nIHdvcmQgaXMgdGhlIG5hbWUg
b2YgdGhlIGRldmljZSBjYXBhYmlsaXR5Ci13aGljaCBpcyBkZWZpbmVkIGhlcmUuIFRoZSBkZXNj
cmlwdGlvbiBjb25zaXN0cyBvZiB0aGUKLXJlbWFpbmRlciBvZiB0aGUgcGFyYWdyYXBoLCB0b2dl
dGhlciB3aXRoCi1mdXJ0aGVyIHBhcmFncmFwaHMgaW4gdGhlIHNhbWUgYmxvY2sgY29tbWVudCBl
YWNoIG9mIHdoaWNoIGlzIGEgcGxhaW4KLXBhcmFncmFwaCwgYSBwYXJhZ3JhcGggc3RhcnRlZCBk
dWUgdG8gSFRNTCBtYXJrdXAsIGEgPGNvZGU+XGJyaWVmPC9jb2RlPgotcGFyYWdyYXBoLCBvciBh
Ci08YSBocmVmPSIjcGFyYW0iPjxjb2RlPlxwYXJhbTwvY29kZT48L2E+Ci1wYXJhZ3JhcGguCi08
L3A+Ci0KLTxoNCBpZD0iZGVmLWluc3RhbnRpYXRlZCI+XGRlZi1pbnN0YW50aWF0ZWQ8L2g0Pgot
Ci08cD4KLVN0YXJ0cyBhIG5ldyBwYXJhZ3JhcGguICBUaGUgZGVzY3JpcHRpb24gaXMgYW4gPGVt
PmRlZi1pbnN0YW50aWF0ZWQgYmxvY2s8L2VtPiwKLWNvbnNpc3Rpbmcgb2YgdGhlCi1yZW1haW5k
ZXIgb2YgdGhlIHBhcmFncmFwaCwgdG9nZXRoZXIgd2l0aAotZnVydGhlciBwYXJhZ3JhcGhzIGlu
IHRoZSBzYW1lIGJsb2NrIGNvbW1lbnQgZWFjaCBvZiB3aGljaCBpcyBhIHBsYWluCi1wYXJhZ3Jh
cGgsIGEgcGFyYWdyYXBoIHN0YXJ0ZWQgZHVlIHRvIEhUTUwgbWFya3VwLCBhIDxjb2RlPlxicmll
ZjwvY29kZT4KLXBhcmFncmFwaCwgb3IgYQotPGEgaHJlZj0iI2FwaS1mZWF0dXJlIj48Y29kZT5c
YXBpLWZlYXR1cmU8L2NvZGU+PC9hPgotcGFyYWdyYXBoLgotPC9wPgotCi08aDQgaWQ9ImRldmlj
ZS1jYXAiPlxkZXZpY2UtY2FwPC9oND4KLQotPHA+Ci1TdGFydHMgYSBuZXcgcGFyYWdyYXBoLgot
VGhpcyBjb21tYW5kIGNhbiBhcHBlYXIgb25seSBpbnNpZGUgYW4KLTxhIGhyZWY9IiNkZWYtYXBp
LWZlYXR1cmUiPmRlZi1hcGktZmVhdHVyZSBibG9jazwvYT4uCi1UaGUgZm9sbG93aW5nIHdvcmQg
aXMgdGhlIG5hbWUgb2YgYSBkZXZpY2UgY2FwYWJpbGl0eQotdXNlZCBieSB0aGUgQVBJIGZlYXR1
cmUgYmVpbmcgZG9jdW1lbnRlZC4KLVRoZSByZW1haW5kZXIgb2YgdGhlIHBhcmFncmFwaCBpcwot
YW55IGRlc2NyaXB0aW9uIHJlcXVpcmVkIG9mIGhvdyAoZWcgaW4gd2hhdCBjaXJjdW1zdGFuY2Up
IHRoZSBkZXZpY2UgY2FwYWJpbGl0eQotaXMgdXNlZC4KLTwvcD4KLQotPGg0PlxuPC9oND4KLQot
PHA+Ci1DcmVhdGVzIGEgbGluZSBicmVhayBpbiB0aGUgb3V0cHV0LgotPC9wPgotCi08aDQgaWQ9
InBhcmFtIj5ccGFyYW08L2g0PgotCi08cD4KLVN0YXJ0cyBhIG5ldyBwYXJhZ3JhcGguIFRoaXMg
dGFrZXMgdGhlIGZvbGxvd2luZyB3b3JkIGFzIHRoZSBuYW1lIG9mCi1hIHBhcmFtZXRlciAoYXJn
dW1lbnQpIG9mIHRoZSBlbnRpdHkgYmVpbmcgZG9jdW1lbnRlZCwgdGhlbiBtYWtlcyB0aGUKLXJl
bWFpbmRlciBvZiB0aGUgcGFyYWdyYXBoIHJlZmVyIHRvIHRoYXQgcGFyYW1ldGVyLgotPC9wPgot
Ci08aDQ+XHJldHVybjwvaDQ+Ci0KLTxwPgotU3RhcnRzIGEgbmV3IHBhcmFncmFwaC4gVGhlIHJl
bWFpbmRlciBvZiB0aGUgcGFyYWdyYXBoIGlzIG1hZGUgdG8gcmVmZXIgdG8KLXRoZSByZXR1cm4g
dHlwZSBvZiB0aGUgZW50aXR5IGJlaW5nIGRvY3VtZW50ZWQuCi08L3A+Ci0KLTxoND5cdGhyb3c8
L2g0PgotCi08cD4KLVN0YXJ0cyBhIG5ldyBwYXJhZ3JhcGguIFRoZSBuZXh0IHdvcmQgaXMgdGFr
ZW4gdG8gYmUgdGhlIG5hbWUgb2YgYW4KLWV4Y2VwdGlvbiB0aHJvd24gYnkgdGhlIGVudGl0eSBi
ZWluZyBkb2N1bWVudGVkLCBhbmQgdGhlIHJlbWFpbmRlciBvZgotdGhlIHBhcmFncmFwaCBkb2N1
bWVudHMgdGhhdCBleGNlcHRpb24gKGluIHRoZSA8Y29kZT5yYWlzZXM8L2NvZGU+IGxpc3Qgb2YK
LWFuIDxjb2RlPm9wZXJhdGlvbjwvY29kZT4sIG9yIHRoZSA8Y29kZT5zZXRyYWlzZXM8L2NvZGU+
Ci1jbGF1c2Ugb2YgYW4gPGNvZGU+YXR0cmlidXRlPC9jb2RlPikuCi08L3A+Ci0KLTxoND5cdmVy
c2lvbjwvaDQ+Ci0KLTxwPgotU3RhcnRzIGEgbmV3IHBhcmFncmFwaC4gVGhlIHJlbWFpbmRlciBv
ZiB0aGUgcGFyYWdyYXBoIGNvbnRhaW5zCi12ZXJzaW9uIG51bWJlciBpbmZvcm1hdGlvbi4KLTwv
cD4KLQotPGgzPkVzY2FwZSBzZXF1ZW5jZXM8L2gzPgotCi08cD4KLVRoZSBmb2xsb3dpbmcgZXNj
YXBlIHNlcXVlbmNlcyBhcmUgcmVjb2duaXplZCBpbiBhIGNvbW1lbnQgYmxvY2s6Ci08L3A+Ci0K
LTx0YWJsZT4KLTx0cj4KLTx0aD5lc2NhcGUgc2VxdWVuY2UKLTx0aD5yZXN1bHQKLTx0cj4KLTx0
ZD48Y29kZT5cXDwvY29kZT4KLTx0ZD48Y29kZT5cPC9jb2RlPgotPHRyPgotPHRkPjxjb2RlPlwm
YW1wOzwvY29kZT4KLTx0ZD48Y29kZT4mYW1wOzwvY29kZT4gKGVzY2FwZWQgdG8gPGNvZGU+JmFt
cDthbXA7PC9jb2RlPiBpbiBvdXRwdXQgWE1MKQotPHRyPgotPHRkPjxjb2RlPlwkPC9jb2RlPgot
PHRkPjxjb2RlPiQ8L2NvZGU+Ci08dHI+Ci08dGQ+PGNvZGU+XCM8L2NvZGU+Ci08dGQ+PGNvZGU+
IzwvY29kZT4KLTx0cj4KLTx0ZD48Y29kZT5cJmx0OzwvY29kZT4KLTx0ZD48Y29kZT4mbHQ7PC9j
b2RlPiAoZXNjYXBlZCB0byA8Y29kZT4mYW1wO2x0OzwvY29kZT4gaW4gb3V0cHV0IFhNTCkKLTx0
cj4KLTx0ZD48Y29kZT5cPjwvY29kZT4KLTx0ZD48Y29kZT4+PC9jb2RlPgotPHRyPgotPHRkPjxj
b2RlPlwlPC9jb2RlPgotPHRkPjxjb2RlPiU8L2NvZGU+Ci08L3RhYmxlPgotCi08cD4KLVNvbWUg
b2YgdGhlc2UgZXNjYXBlIHNlcXVlbmNlcyBhcmUgdXNlZCB0byBhdm9pZCBEb3h5Z2VuIGZlYXR1
cmVzIHRoYXQKLXdpZGxwcm9jIGRvZXMgbm90IGN1cnJlbnRseSBpbXBsZW1lbnQuIEluIHBhcnRp
Y3VsYXIsCi13aWRscHJvYyBpbnNpc3RzIG9uIGEgPGNvZGU+JDwvY29kZT4gYmVpbmcgZXNjYXBl
ZCwgdG8KLWFsbG93IGZvciBwb3NzaWJsZSBmdXR1cmUgZnVuY3Rpb25hbGl0eS4KLTwvcD4KLQot
PGgzIGlkPSJodG1sIj5IVE1MIGluIGNvbW1lbnRzPC9oMz4KLQotPHA+Ci13aWRscHJvYyBhY2Nl
cHRzIGEgc21hbGwgc3Vic2V0IG9mIEhUTUwgZWxlbWVudHMuCi08L3A+Ci0KLTxwPgotQW4gSFRN
TCBibG9jayBlbGVtZW50IGlzIGEgcGFyYWdyYXBoLgotQSBibGFuayBsaW5lIChvdGhlciB0aGFu
IGluIGEKLTxhIGhyZWY9IiNjb2RlIj48Y29kZT5cY29kZTwvY29kZT48L2E+IGJsb2NrKQotaW1w
bGljaXRseSBjbG9zZXMgYW55IG9wZW4gSFRNTCBlbGVtZW50cywgdGh1cyBlbmRpbmcgdGhlIHBh
cmFncmFwaC4KLTwvcD4KLQotPHA+Ci1UaGUgZm9sbG93aW5nIEhUTUwgYmxvY2sgZWxlbWVudHMg
YXJlIGFjY2VwdGVkOgotPGNvZGU+ZGw8L2NvZGU+Ci08Y29kZT5vbDwvY29kZT4KLTxjb2RlPnA8
L2NvZGU+Ci08Y29kZT50YWJsZTwvY29kZT4KLTxjb2RlPnVsPC9jb2RlPgotPC9wPgotCi08cD4K
LVRoZSBmb2xsb3dpbmcgSFRNTCBpbmxpbmUgZWxlbWVudHMgYXJlIGFjY2VwdGVkOgotPGNvZGU+
YTwvY29kZT4KLTxjb2RlPmltZzwvY29kZT4KLTxjb2RlPmI8L2NvZGU+Ci08Y29kZT5icjwvY29k
ZT4KLTxjb2RlPmVtPC9jb2RlPgotPC9wPgotCi08cD4KLVRoZSBmb2xsb3dpbmcgSFRNTCBlbGVt
ZW50cyBhcmUgYWNjZXB0ZWQgd2hlcmUgdmFsaWQgaW5zaWRlIG9uZSBvZiB0aGUKLW90aGVyIGVs
ZW1lbnRzOgotPGNvZGU+ZGQ8L2NvZGU+Ci08Y29kZT5kdDwvY29kZT4KLTxjb2RlPmxpPC9jb2Rl
PgotPGNvZGU+dGQ8L2NvZGU+Ci08Y29kZT50aDwvY29kZT4KLTxjb2RlPnRyPC9jb2RlPgotPC9w
PgotCi0KLTxoMj5PdXRwdXQgZm9ybWF0PC9oMj4KLQotPHA+Ci1UaGUgb3V0cHV0IG9mIHdpZGxw
cm9jIGlzIGFuIFhNTCByZXByZXNlbnRhdGlvbiBvZiB0aGUKLTxhIGhyZWY9IiN3ZWJpZGwiPldl
YiBJREw8L2E+LAotd2l0aCBhZGRlZCBYTUwgZWxlbWVudHMgcmVwcmVzZW50aW5nIHRoZQotPGEg
aHJlZj0iI2RveHlnZW4iPkRveHlnZW48L2E+LWxpa2UgY29tbWVudHMuCi08L3A+Ci0KLTxoMz5B
bm5vdGF0ZWQgZG9jdW1lbnQgdHlwZSBkZWNsYXJhdGlvbjwvaDM+Ci0KLTxwcmUgY2xhc3M9ImR0
ZCI+Ci0mbHQ7IS0tIEF1dG9nZW5lcmF0ZWQgZnJvbSB3aWRscHJvYy5odG1sIDogZG8gbm90IGVk
aXQuIC0tPgotPC9wcmU+Ci0KLTxoND5FbnRpdGllcyB1c2VkIGVsc2V3aGVyZTwvaDQ+Ci0KLTxw
cmUgY2xhc3M9ImR0ZCI+Ci0mbHQ7IUVOVElUWSAlIGJsb2NrICdkbCB8IHAgfCB0YWJsZSB8IHVs
JyA+Ci0mbHQ7IUVOVElUWSAlIEJsb2NrICcoJWJsb2NrOykqJyA+Ci0mbHQ7IUVOVElUWSAlIGlu
bGluZSAnYSB8IGIgfCBiciB8IGVtIHwgaW1nJyA+Ci0mbHQ7IUVOVElUWSAlIElubGluZSAnKCNQ
Q0RBVEEgfCAlaW5saW5lOykqJyA+Ci0mbHQ7IUVOVElUWSAlIEZsb3cgJygjUENEQVRBIHwgJWlu
bGluZTsgfCAlYmxvY2s7KSonID4KLQotJmx0OyFFTEVNRU5UIHdlYmlkbCAoI1BDREFUQSB8IHJl
ZikqID4KLTwvcHJlPgotCi08cD4KLVRoZSA8Y29kZT4mbHQ7d2ViaWRsPjwvY29kZT4gZWxlbWVu
dCBjb250YWlucyB0aGUgbGl0ZXJhbCB0ZXh0IG9mIHRoZQotb3JpZ2luYWwgV2ViIElETCB0aGF0
IHRoZSBwYXJlbnQKLWVsZW1lbnQgd2FzIHBhcnNlZCBmcm9tLCBtaW51cyB0aGUgY29tbWVudHMs
IHdpdGggZWFjaCByZWZlcmVuY2UgdG8KLWFuIGludGVyZmFjZSBuYW1lIAotZW5jbG9zZWQgaW4g
YSA8Y29kZT4mbHQ7cmVmPjwvY29kZT4uLjxjb2RlPiZsdDsvcmVmPjwvY29kZT4uCi08L3A+Ci0K
LTxoND5EZWZpbml0aW9uczwvaDQ+Ci0KLTxwPgotPGVtPkRlZmluaXRpb25zPC9lbT4gaXMgdGhl
IHJvb3QgZWxlbWVudCBvZiB0aGUgWE1MIGRvY3VtZW50LgotPC9wPgotCi08cD4KLVRoZSA8ZW0+
RXh0ZW5kZWRBdHRyaWJ1dGVMaXN0PC9lbT4gc3BlY2lmaWVzIGFueSBleHRlbmRlZCBhdHRyaWJ1
dGVzCi1mb3IgdGhlICA8ZW0+SW50ZXJmYWNlPC9lbT4sIDxlbT5EaWN0aW9uYXJ5PC9lbT4sIDxl
bT5FeGNlcHRpb248L2VtPiwKLTxlbT5UeXBlZGVmPC9lbT4sIDxlbT5WYWx1ZXR5cGU8L2VtPiBv
ciA8ZW0+Q29uc3Q8L2VtPiBpbiB0aGUKLTxlbT5EZWZpbml0aW9uPC9lbT4uCi08L3A+Ci0KLTxw
cmUgY2xhc3M9ImR0ZCI+Ci0mbHQ7IUVMRU1FTlQgRGVmaW5pdGlvbnMgKCB3ZWJpZGwsIGRlc2Ny
aXB0aXZlPywgKEludGVyZmFjZSB8IERpY3Rpb25hcnkgfCBDYWxsYmFjawotICAgIHwgRW51bSB8
IEV4Y2VwdGlvbiB8IFR5cGVkZWYgfCBJbXBsZW1lbnRzKSopID4KLTwvcHJlPgotCi08aDQ+SW50
ZXJmYWNlPC9oND4KLQotPHA+Ci1BbiA8ZW0+SW50ZXJmYWNlPC9lbT4gcmVwcmVzZW50cyBhbiBp
bnRlcmZhY2UuIFRoZSA8ZW0+bmFtZTwvZW0+Ci1hdHRyaWJ1dGUgc3BlY2lmaWVzIHRoZSBuYW1l
IG9mIHRoZSBpbnRlcmZhY2UuIFRoZSA8ZW0+ZGVzY3JpcHRpdmU8L2VtPiBlbGVtZW50Ci1wcm92
aWRlcyBpdHMgZG9jdW1lbnRhdGlvbiBpZiBhbnkuCi1UaGUgPGVtPmlkPC9lbT4gYXR0cmlidXRl
IHNwZWNpZmllcyB0aGUgYWJzb2x1dGUgc2NvcGVkIG5hbWUgb2YgdGhlIGludGVyZmFjZS4KLTwv
cD4KLQotPHA+VGhlIDxlbT5wYXJ0aWFsPC9lbT4gYXR0cmlidXRlIGluZGljYXRlcyB0aGF0IHRo
ZSBkZWZpbml0aW9uIG9mIHRoZSBpbnRlcmZhY2UgY29tcGxlbWVudHMgYW4gZXhpc3RpbmcgZGVm
aW5pdGlvbi4gVGhlIDxlbT5jYWxsYmFjazwvZW0+IGF0dHJpYnV0ZSBzcGVjaWZpY2llcyB0aGF0
IGEgZ2l2ZW4gaW50ZXJmYWNlIGlzIGEgY2FsbGJhY2sgaW50ZXJmYWNlLjwvcD4KLQotPHA+Ci1U
aGUgPGVtPkludGVyZmFjZUluaGVyaXRhbmNlPC9lbT4gZWxlbWVudCBpbmRpY2F0ZXMgdGhhdCB0
aGUgaW50ZXJmYWNlCi1pbmhlcml0cyBmcm9tIG90aGVyIGludGVyZmFjZShzKS4gRWFjaCA8ZW0+
TmFtZTwvZW0+IGluIHRoZQotPGVtPkludGVyZmFjZUluaGVyaXRhbmNlPC9lbT4gaGFzIGEgPGVt
Pm5hbWU8L2VtPiBhdHRyaWJ1dGUgZ2l2aW5nIHRoZQotc2NvcGVkIG5hbWUgb2YgdGhlIGludGVy
ZmFjZSBiZWluZyBpbmhlcml0ZWQgZnJvbS4KLTwvcD4KLQotPHByZSBjbGFzcz0iZHRkIj4KLSZs
dDshRUxFTUVOVCBJbnRlcmZhY2UgKHdlYmlkbCwgZGVzY3JpcHRpdmU/LCBFeHRlbmRlZEF0dHJp
YnV0ZUxpc3Q/LAotICAgICAgICBJbnRlcmZhY2VJbmhlcml0YW5jZT8sIChDb25zdCB8IEF0dHJp
YnV0ZSB8IE9wZXJhdGlvbiB8IFN0cmluZ2lmaWVyKiB8IFNlcmlhbGl6ZXIqIHwgSXRlcmF0b3Ig
fCBJdGVyYXRvck9iamVjdCkqICkgPgotJmx0OyFBVFRMSVNUIEludGVyZmFjZSBuYW1lIENEQVRB
ICNSRVFVSVJFRAotICAgICAgICAgICAgICAgICAgICBwYXJ0aWFsIChwYXJ0aWFsKSAjSU1QTElF
RAotICAgICAgICAgICAgICAgICAgICBjYWxsYmFjayAoY2FsbGJhY2spICNJTVBMSUVECi0gICAg
ICAgICAgICAgICAgICAgIGlkIENEQVRBICNSRVFVSVJFRCA+Ci0KLSZsdDshRUxFTUVOVCBJbnRl
cmZhY2VJbmhlcml0YW5jZSAoTmFtZSspID4KLQotJmx0OyFFTEVNRU5UIE5hbWUgRU1QVFkgPgot
Jmx0OyFBVFRMSVNUIE5hbWUgbmFtZSBDREFUQSAjUkVRVUlSRUQgPgotPC9wcmU+Ci0KLTxoND5E
aWN0aW9uYXJ5PC9oND4KLQotPHA+Ci1BIDxlbT5EaWN0aW9uYXJ5PC9lbT4gcmVwcmVzZW50cyBh
IGRpY3Rpb25hcnkuIFRoZSA8ZW0+bmFtZTwvZW0+Ci1hdHRyaWJ1dGUgc3BlY2lmaWVzIHRoZSBu
YW1lIG9mIHRoZSBkaWN0aW9uYXJ5LiBUaGUgPGVtPmRlc2NyaXB0aXZlPC9lbT4gZWxlbWVudAot
cHJvdmlkZXMgaXRzIGRvY3VtZW50YXRpb24gaWYgYW55LgotVGhlIDxlbT5pZDwvZW0+IGF0dHJp
YnV0ZSBzcGVjaWZpZXMgdGhlIGFic29sdXRlIHNjb3BlZCBuYW1lIG9mIHRoZSBkaWN0aW9uYXJ5
LgotPC9wPgotCi08cD5UaGUgPGVtPnBhcnRpYWw8L2VtPiBhdHRyaWJ1dGUgaW5kaWNhdGVzIHRo
YXQgdGhlIGRlZmluaXRpb24gb2YgdGhlIGludGVyZmFjZSBjb21wbGVtZW50cyBhbiBleGlzdGlu
ZyBkZWZpbml0aW9uLjwvcD4KLQotPHA+Ci1UaGUgPGVtPkRpY3Rpb25hcnlJbmhlcml0YW5jZTwv
ZW0+IGVsZW1lbnQgaW5kaWNhdGVzIHRoYXQgdGhlIGRpY3Rpb25hcnkKLWluaGVyaXRzIGZyb20g
b3RoZXIgZGljdGlvbmFyeShzKS4gRWFjaCA8ZW0+TmFtZTwvZW0+IGluIHRoZQotPGVtPkRpY3Rp
b25hcnlJbmhlcml0YW5jZTwvZW0+IGhhcyBhIDxlbT5uYW1lPC9lbT4gYXR0cmlidXRlIGdpdmlu
ZyB0aGUKLXNjb3BlZCBuYW1lIG9mIHRoZSBkaWN0aW9uYXJ5IGJlaW5nIGluaGVyaXRlZCBmcm9t
LgotPC9wPgotCi0KLTxwcmUgY2xhc3M9ImR0ZCI+Ci0mbHQ7IUVMRU1FTlQgRGljdGlvbmFyeSAo
d2ViaWRsLCBkZXNjcmlwdGl2ZT8sIERpY3Rpb25hcnlJbmhlcml0YW5jZT8sIERpY3Rpb25hcnlN
ZW1iZXIqICkgPgotJmx0OyFBVFRMSVNUIERpY3Rpb25hcnkgbmFtZSBDREFUQSAjUkVRVUlSRUQK
LSAgICAgICAgICAgICAgICAgICAgcGFydGlhbCAocGFydGlhbCkgI0lNUExJRUQKLSAgICAgICAg
ICAgICAgICAgICAgaWQgQ0RBVEEgI1JFUVVJUkVEID4KLQotJmx0OyFFTEVNRU5UIERpY3Rpb25h
cnlJbmhlcml0YW5jZSAoTmFtZSspID4KLTwvcHJlPgotCi08aDQ+Q2FsbGJhY2s8L2g0PgotCi08
cD4KLUEgPGVtPkNhbGxiYWNrPC9lbT4gcmVwcmVzZW50cyBhIGNhbGxiYWNrIHR5cGUuIFRoZSA8
ZW0+bmFtZTwvZW0+Ci1hdHRyaWJ1dGUgc3BlY2lmaWVzIHRoZSBuYW1lIG9mIHRoZSBkaWN0aW9u
YXJ5LiBUaGUgPGVtPmRlc2NyaXB0aXZlPC9lbT4gZWxlbWVudAotcHJvdmlkZXMgaXRzIGRvY3Vt
ZW50YXRpb24gaWYgYW55LjwvcD4KLQotPHA+VGhlIDxlbT5UeXBlPC9lbT4gZWxlbWVudCBzcGVj
aWZpZXMgaXRzIHJldHVybiB0eXBlLjwvcD4KLQotPHA+Ci1BbiA8ZW0+QXJndW1lbnQ8L2VtPiBp
cyBhbiBhcmd1bWVudCB0byBhbiBvcGVyYXRpb24uCi1UaGUgPGVtPlR5cGU8L2VtPiBlbGVtZW50
IHNwZWNpZmllcyBpdHMgdHlwZS4gVGhlIDxlbT5uYW1lPC9lbT4KLWF0dHJpYnV0ZSBzcGVjaWZp
ZXMgaXRzIG5hbWUgaWYgaXQgaGFzIG9uZS4KLTwvcD4KLQotPHByZSBjbGFzcz0iZHRkIj4KLSZs
dDshRUxFTUVOVCBDYWxsYmFjayAod2ViaWRsLCBkZXNjcmlwdGl2ZT8sIFR5cGUsIEFyZ3VtZW50
TGlzdD8gKSA+Ci0mbHQ7IUFUVExJU1QgQ2FsbGJhY2sgbmFtZSBDREFUQSAjUkVRVUlSRUQKLSAg
ICAgICAgICAgICAgICAgICAgICBpZCBDREFUQSAjUkVRVUlSRUQ+Ci08L3ByZT4KLQotCi08aDQ+
RW51bTwvaDQ+Ci0KLTxwPgotQW4gPGVtPkVudW08L2VtPiByZXByZXNlbnRzIGFuIGVudW1lcmF0
aW9uLiBUaGUgPGVtPm5hbWU8L2VtPgotYXR0cmlidXRlIHNwZWNpZmllcyB0aGUgbmFtZSBvZiB0
aGUgZW51bWVyYXRpb24uIFRoZSA8ZW0+ZGVzY3JpcHRpdmU8L2VtPiBlbGVtZW50Ci1wcm92aWRl
cyBpdHMgZG9jdW1lbnRhdGlvbiBpZiBhbnkuCi08L3A+Ci0KLTxwPgotVGhlIDxlbT5FbnVtVmFs
dWU8L2VtPiBlbGVtZW50IGluZGljYXRlcyB0aGUgdmFsdWVzIGRlZmluZWQgZm9yIHRoYXQgZW51
bWVyYXRpb24gaW4gaXRzIDxlbT5zdHJpbmd2YWx1ZTwvZW0+IGF0dHJpYnV0ZS4KLTwvcD4KLQot
Ci08cHJlIGNsYXNzPSJkdGQiPgotJmx0OyFFTEVNRU5UIEVudW0gKHdlYmlkbCwgZGVzY3JpcHRp
dmU/LCBFbnVtVmFsdWUqICkgPgotJmx0OyFBVFRMSVNUIEVudW0gbmFtZSBDREFUQSAjUkVRVUlS
RUQgCi0gICAgICAgICAgICAgICAgICAgIGlkIENEQVRBICNSRVFVSVJFRCA+Ci0KLSZsdDshRUxF
TUVOVCBFbnVtVmFsdWUgKHdlYmlkbCwgZGVzY3JpcHRpdmU/KSA+Ci0mbHQ7IUFUVExJU1QgRW51
bVZhbHVlIHN0cmluZ3ZhbHVlIENEQVRBICNSRVFVSVJFRCA+Ci08L3ByZT4KLQotCi0KLTxoND5F
eGNlcHRpb248L2g0PgotCi08cD4KLUFuIDxlbT5FeGNlcHRpb248L2VtPiByZXByZXNlbnRzIGFu
IGV4Y2VwdGlvbi4KLVRoZSA8ZW0+bmFtZTwvZW0+Ci1hdHRyaWJ1dGUgc3BlY2lmaWVzIHRoZSBu
YW1lIG9mIHRoZSBleGNlcHRpb24uCi1UaGUgPGVtPmRlc2NyaXB0aXZlPC9lbT4gZWxlbWVudAot
cHJvdmlkZXMgaXRzIGRvY3VtZW50YXRpb24gaWYgYW55LgotVGhlIDxlbT5pZDwvZW0+IGF0dHJp
YnV0ZSBzcGVjaWZpZXMgdGhlIGFic29sdXRlIHNjb3BlZCBuYW1lIG9mIHRoZSBleGNlcHRpb24u
Ci08L3A+Ci0KLTxwPgotQW4gPGVtPkV4Y2VwdGlvbkZpZWxkPC9lbT4gcmVwcmVzZW50cyBhIGZp
ZWxkIGluIGFuIGV4Y2VwdGlvbi4KLVRoZSA8ZW0+bmFtZTwvZW0+Ci1hdHRyaWJ1dGUgc3BlY2lm
aWVzIHRoZSBuYW1lIG9mIHRoZSBmaWVsZC4KLVRoZSA8ZW0+VHlwZTwvZW0+IGVsZW1lbnQgc3Bl
Y2lmaWVzIGl0cyB0eXBlLgotVGhlIDxlbT5kZXNjcmlwdGl2ZT48L2VtPiBlbGVtZW50Ci1wcm92
aWRlcyBpdHMgZG9jdW1lbnRhdGlvbiBpZiBhbnkuCi1UaGUgPGVtPmlkPC9lbT4gYXR0cmlidXRl
IHNwZWNpZmllcyB0aGUgYWJzb2x1dGUgc2NvcGVkIG5hbWUgb2YgdGhlIGZpZWxkLgotPC9wPgot
Ci08cD4KLVRoZSA8ZW0+RXhjZXB0aW9uSW5oZXJpdGFuY2U8L2VtPiBlbGVtZW50IGluZGljYXRl
cyB0aGF0IHRoZSBleGNlcHRpb24KLWluaGVyaXRzIGZyb20gYW5vdGhlciBleGNlcHRpb24uIFRo
ZSA8ZW0+TmFtZTwvZW0+IGluIHRoZQotPGVtPkV4Y2VwdGlvbkluaGVyaXRhbmNlPC9lbT4gaGFz
IGEgPGVtPm5hbWU8L2VtPiBhdHRyaWJ1dGUgZ2l2aW5nIHRoZQotc2NvcGVkIG5hbWUgb2YgdGhl
IGV4Y2VwdGlvbiBiZWluZyBpbmhlcml0ZWQgZnJvbS4KLTwvcD4KLQotCi08cHJlIGNsYXNzPSJk
dGQiPgotJmx0OyFFTEVNRU5UIEV4Y2VwdGlvbiAod2ViaWRsLCBkZXNjcmlwdGl2ZT8sIEV4dGVu
ZGVkQXR0cmlidXRlTGlzdD8sIEV4Y2VwdGlvbkluaGVyaXRhbmNlPywKLSAgICAgICAgKENvbnN0
IHwgRXhjZXB0aW9uRmllbGQpKiApID4KLSZsdDshQVRUTElTVCBFeGNlcHRpb24gbmFtZSBDREFU
QSAjUkVRVUlSRUQgCi0gICAgICAgICAgICAgICAgICAgIGlkIENEQVRBICNSRVFVSVJFRCA+Ci0K
LSZsdDshRUxFTUVOVCBFeGNlcHRpb25Jbmhlcml0YW5jZSAoTmFtZSkgPgotJmx0OyFFTEVNRU5U
IEV4Y2VwdGlvbkZpZWxkICh3ZWJpZGwsIGRlc2NyaXB0aXZlPywgRXh0ZW5kZWRBdHRyaWJ1dGVM
aXN0PywgKFR5cGUpKSA+Ci0mbHQ7IUFUVExJU1QgRXhjZXB0aW9uRmllbGQgbmFtZSBDREFUQSAj
UkVRVUlSRUQKLSAgICAgICAgICAgICAgICAgICAgICAgICBpZCBDREFUQSAjUkVRVUlSRUQgPgot
PC9wcmU+Ci0KLTxoND5UeXBlZGVmPC9oND4KLQotPHA+Ci1BIDxlbT5UeXBlZGVmPC9lbT4gcmVw
cmVzZW50cyBhIHR5cGUgZGVmaW5pdGlvbi4KLVRoZSA8ZW0+bmFtZTwvZW0+Ci1hdHRyaWJ1dGUg
c3BlY2lmaWVzIHRoZSBuYW1lIG9mIHRoZSBuZXcgdHlwZS4KLVRoZSA8ZW0+VHlwZTwvZW0+IGVs
ZW1lbnQgc3BlY2lmaWVzIGl0IGluIHRlcm1zIG9mIG90aGVyIHR5cGVzLgotVGhlIDxlbT5kZXNj
cmlwdGl2ZT48L2VtPiBlbGVtZW50Ci1wcm92aWRlcyBpdHMgZG9jdW1lbnRhdGlvbiBpZiBhbnku
Ci1UaGUgPGVtPmlkPC9lbT4gYXR0cmlidXRlIHNwZWNpZmllcyB0aGUgYWJzb2x1dGUgc2NvcGVk
IG5hbWUgb2YgdGhlIHR5cGVkZWYuCi08L3A+Ci0KLTxwcmUgY2xhc3M9ImR0ZCI+Ci0mbHQ7IUVM
RU1FTlQgVHlwZWRlZiAod2ViaWRsLCBkZXNjcmlwdGl2ZT8sIEV4dGVuZGVkQXR0cmlidXRlTGlz
dD8sIChUeXBlKSkgPgotJmx0OyFBVFRMSVNUIFR5cGVkZWYgbmFtZSBDREFUQSAjUkVRVUlSRUQK
LSAgICAgICAgICAgICAgICAgIGlkIENEQVRBICNSRVFVSVJFRCA+Ci08L3ByZT4KLQotPGg0Pklt
cGxlbWVudHM8L2g0PgotCi08cD4KLUFuIDxlbT5JbXBsZW1lbnRzPC9lbT4gcmVwcmVzZW50cyBX
ZWIgSURMJ3MKLTxjb2RlPjxpPlNjb3BlZE5hbWU8L2k+IGltcGxlbWVudHMgPGk+U2NvcGVkTmFt
ZTwvaT47PC9jb2RlPgotc3ludGF4LiBUaGUgPGVtPm5hbWUxPC9lbT4gYW5kIDxlbT5uYW1lMjwv
ZW0+IGF0dHJpYnV0ZXMgZ2l2ZSB0aGUKLWZpcnN0IGFuZCBzZWNvbmQgc2NvcGVkIG5hbWVzIHJl
c3BlY3RpdmVseS4KLVRoZSA8ZW0+ZGVzY3JpcHRpdmU+PC9lbT4gZWxlbWVudAotcHJvdmlkZXMg
dGhlIDxlbT5JbXBsZW1lbnRzPC9lbT4ncyBkb2N1bWVudGF0aW9uIGlmIGFueS4KLTwvcD4KLQot
PHByZSBjbGFzcz0iZHRkIj4KLSZsdDshRUxFTUVOVCBJbXBsZW1lbnRzICh3ZWJpZGwsIGRlc2Ny
aXB0aXZlPywgRXh0ZW5kZWRBdHRyaWJ1dGVMaXN0PykgPgotJmx0OyFBVFRMSVNUIEltcGxlbWVu
dHMgbmFtZTEgQ0RBVEEgI1JFUVVJUkVECi0gICAgICAgICAgICAgICAgICAgICBuYW1lMiBDREFU
QSAjUkVRVUlSRUQgPgotPC9wcmU+Ci0KLTxoND5Db25zdDwvaDQ+Ci0KLTxwPgotPGVtPkNvbnN0
PC9lbT4gcmVwcmVzZW50cyBXZWIgSURMJ3MKLTxjb2RlPmNvbnN0IDxpPlR5cGU8L2k+IDxpPmlk
ZW50aWZpZXI8L2k+ID0gPGk+Q29uc3RFeHByPC9pPjs8L2NvZGU+Ci1zeW50YXguCi1UaGUgPGVt
PlR5cGU8L2VtPiBzcGVjaWZpZXMgdGhlIGNvbnN0YW50J3MgdHlwZSwgdGhlCi08ZW0+bmFtZTwv
ZW0+IGF0dHJpYnV0ZSBzcGVjaWZpZXMgdGhlIGNvbnN0YW50J3MgbmFtZSwgYW5kIHRoZQotPGVt
PnZhbHVlPC9lbT4gYXR0cmlidXRlIHNwZWNpZmllcyBpdHMgdmFsdWUuCi1UaGUgPGVtPmRlc2Ny
aXB0aXZlPjwvZW0+IGVsZW1lbnQKLXByb3ZpZGVzIHRoZSA8ZW0+Q29uc3Q8L2VtPidzIGRvY3Vt
ZW50YXRpb24gaWYgYW55LgotVGhlIDxlbT5pZDwvZW0+IGF0dHJpYnV0ZSBzcGVjaWZpZXMgdGhl
IGFic29sdXRlIHNjb3BlZCBuYW1lIG9mIHRoZSBjb25zdC4KLTwvcD4KLQotPHByZSBjbGFzcz0i
ZHRkIj4KLSZsdDshRUxFTUVOVCBDb25zdCAod2ViaWRsLCBkZXNjcmlwdGl2ZT8sIEV4dGVuZGVk
QXR0cmlidXRlTGlzdD8sIFR5cGUpID4KLSZsdDshQVRUTElTVCBDb25zdCBuYW1lIENEQVRBICNS
RVFVSVJFRAotICAgICAgICAgICAgICAgIHZhbHVlIENEQVRBICNJTVBMSUVECi0gICAgICAgICAg
ICAgICAgaWQgQ0RBVEEgI1JFUVVJUkVEID4KLTwvcHJlPgotCi08aDQ+U3RyaW5naWZpZXI8L2g0
PgotCi08cD4KLUEgPGVtPlN0cmluZ2lmaWVyPC9lbT4gcmVwcmVzZW50cyB0aGUgV2ViIElETCA8
Y29kZT5zdHJpbmdpZmllcjs8L2NvZGU+Ci1zeW50YXggYXMgYW4gaW50ZXJmYWNlIG1lbWJlci4K
LVRoZSA8ZW0+ZGVzY3JpcHRpdmU+PC9lbT4gZWxlbWVudAotcHJvdmlkZXMgdGhlIDxlbT5TdHJp
bmdpZmllcjwvZW0+J3MgZG9jdW1lbnRhdGlvbiBpZiBhbnkuCi08L3A+Ci0KLTxwcmUgY2xhc3M9
ImR0ZCI+Ci0mbHQ7IUVMRU1FTlQgU3RyaW5naWZpZXIgKHdlYmlkbCwgZGVzY3JpcHRpdmU/LCBF
eHRlbmRlZEF0dHJpYnV0ZUxpc3Q/KSA+Ci08L3ByZT4KLQotPGg0PkF0dHJpYnV0ZTwvaDQ+Ci0K
LTxwPgotQW4gPGVtPkF0dHJpYnV0ZTwvZW0+IHJlcHJlc2VudHMgYW4gYXR0cmlidXRlIGFzIGFu
IGludGVyZmFjZSBtZW1iZXIuCi1UaGUgPGVtPlR5cGU8L2VtPiBlbGVtZW50IHNwZWNpZmllcyBp
dHMgdHlwZS4gVGhlIDxlbT5uYW1lPC9lbT4KLWF0dHJpYnV0ZSBzcGVjaWZpZXMgaXRzIG5hbWUu
IEVhY2ggb2YgdGhlIDxlbT5zdHJpbmdpZmllcjwvZW0+LCA8ZW0+c3RhdGljPC9lbT4gYW5kCi08
ZW0+cmVhZG9ubHk8L2VtPiBhdHRyaWJ1dGVzIGlzIHNldCB0byBhIHZhbHVlIHRoZSBzYW1lIGFz
IHRoZSBhdHRyaWJ1dGUKLW5hbWUgd2hlbiB0aGUgY29ycmVzcG9uZGluZyBrZXl3b3JkIGFwcGVh
cnMgaW4gdGhlIFdlYiBJREwgaW5wdXQuIFRoZSA8ZW0+aW5oZXJpdDwvZW0+IGF0dHJpYnV0ZSBp
cyBzZXQgdG8gPGVtPmluaGVyaXQ8L2VtPiB3aGVuIHRoZSBhdHRyaWJ1dGUgaW5oZXJpdHMgaXRz
IGdldHRlci4KLTwvcD4KLQotCi08cD4KLVRoZSA8ZW0+ZGVzY3JpcHRpdmU+PC9lbT4gZWxlbWVu
dCBwcm92aWRlcyB0aGUgYXR0cmlidXRlJ3MgZG9jdW1lbnRhdGlvbgotaWYgYW55LgotVGhlIDxl
bT5pZDwvZW0+IGF0dHJpYnV0ZSBzcGVjaWZpZXMgdGhlIGFic29sdXRlIHNjb3BlZCBuYW1lIG9m
IHRoZSBhdHRyaWJ1dGUuCi08L3A+Ci0KLTxwcmUgY2xhc3M9ImR0ZCI+Ci0mbHQ7IUVMRU1FTlQg
QXR0cmlidXRlICh3ZWJpZGwsIGRlc2NyaXB0aXZlPywgRXh0ZW5kZWRBdHRyaWJ1dGVMaXN0Pywg
KFR5cGUpKSA+Ci0mbHQ7IUFUVExJU1QgQXR0cmlidXRlIHN0cmluZ2lmaWVyIChzdHJpbmdpZmll
cikgI0lNUExJRUQKLSAgICAgICAgICAgICAgICAgICAgcmVhZG9ubHkgKHJlYWRvbmx5KSAjSU1Q
TElFRAotICAgICAgICAgICAgICAgICAgICBpbmhlcml0IChpbmhlcml0KSAjSU1QTElFRAotICAg
ICAgICAgICAgICAgICAgICBzdGF0aWMgKHN0YXRpYykgI0lNUExJRUQKLSAgICAgICAgICAgICAg
ICAgICAgbmFtZSBDREFUQSAjUkVRVUlSRUQKLSAgICAgICAgICAgICAgICAgICAgaWQgQ0RBVEEg
I1JFUVVJUkVEID4KLQotPC9wcmU+Ci0KLQotPGg0Pk9wZXJhdGlvbjwvaDQ+Ci0KLTxwPgotQW4g
PGVtPk9wZXJhdGlvbjwvZW0+IHJlcHJlc2VudHMgYSBtZXRob2Qgb24gaW50ZXJmYWNlLgotVGhl
IDxlbT5UeXBlPC9lbT4gZWxlbWVudCBzcGVjaWZpZXMgaXRzIHJldHVybiB0eXBlLiBUaGUgPGVt
Pm5hbWU8L2VtPgotYXR0cmlidXRlIHNwZWNpZmllcyBpdHMgbmFtZS4KLTwvcD4KLQotPHA+Ci1F
YWNoIG9mIHRoZSA8ZW0+c3RyaW5naWZpZXI8L2VtPiwgPGVtPnN0YXRpYzwvZW0+LCA8ZW0+Z2V0
dGVyPC9lbT4sCi08ZW0+c2V0dGVyPC9lbT4sIDxlbT5jcmVhdG9yPC9lbT4sIDxlbT5kZWxldGVy
PC9lbT4gYW5kIDxlbT5sZWdhY3ljYWxsZXI8L2VtPiwgPGVtPnNlcmlhbGl6ZXI8L2VtPgotYXR0
cmlidXRlcyBpcyBzZXQgdG8gYSB2YWx1ZSB0aGUgc2FtZSBhcyB0aGUgYXR0cmlidXRlCi1uYW1l
IHdoZW4gdGhlIGNvcnJlc3BvbmRpbmcga2V5d29yZCBhcHBlYXJzIGluIHRoZSBXZWIgSURMIGlu
cHV0LgotPC9wPgotCi0KLTxwPgotVGhlIDxlbT5kZXNjcmlwdGl2ZT48L2VtPiBlbGVtZW50IHBy
b3ZpZGVzIHRoZSBhdHRyaWJ1dGUncyBkb2N1bWVudGF0aW9uCi1pZiBhbnkuCi1UaGUgPGVtPmlk
PC9lbT4gYXR0cmlidXRlIHNwZWNpZmllcyB0aGUgYWJzb2x1dGUgc2NvcGVkIG5hbWUgb2YgdGhl
IG9wZXJhdGlvbiBpZiBpdCBoYXMgb25lLgotPC9wPgotCi08cD4KLUFuIDxlbT5Bcmd1bWVudDwv
ZW0+IGlzIGFuIGFyZ3VtZW50IHRvIGFuIG9wZXJhdGlvbi4KLVRoZSA8ZW0+VHlwZTwvZW0+IGVs
ZW1lbnQgc3BlY2lmaWVzIGl0cyB0eXBlLiBUaGUgPGVtPm5hbWU8L2VtPgotYXR0cmlidXRlIHNw
ZWNpZmllcyBpdHMgbmFtZSBpZiBpdCBoYXMgb25lLgotPC9wPgotCi08cD4KLUVhY2ggb2YgdGhl
IDxlbT5vcHRpb25hbDwvZW0+IGFuZCA8ZW0+ZWxsaXBzaXM8L2VtPgotYXR0cmlidXRlcyBpcyBz
ZXQgdG8gYSB2YWx1ZSB0aGUgc2FtZSBhcyB0aGUgYXR0cmlidXRlCi1uYW1lIHdoZW4gdGhlIGNv
cnJlc3BvbmRpbmcgc3ludGF4IGFwcGVhcnMgaW4gdGhlIFdlYiBJREwgaW5wdXQuCi08L3A+Ci0K
LTxwPlRoZQotPGVtPnZhbHVlPC9lbT4gYXR0cmlidXRlIHVzZWQgb24gb3B0aW9uYWwgYXJndW1l
bnRzIHNwZWNpZmllcyBkZWZhdWx0IHZhbHVlIGZvciBub24tc3RyaW5nIHZhbHVlcywgYW5kIDxl
bT5zdHJpbmd2YWx1ZTwvZW0+IGZvciBzdHJpbmcgdmFsdWVzLjwvcD4KLQotCi08cHJlIGNsYXNz
PSJkdGQiPgotJmx0OyFFTEVNRU5UIE9wZXJhdGlvbiAod2ViaWRsLCBkZXNjcmlwdGl2ZT8sIEV4
dGVuZGVkQXR0cmlidXRlTGlzdD8sCi0gICAgICAgIChUeXBlKSwgQXJndW1lbnRMaXN0KSA+Ci0m
bHQ7IUFUVExJU1QgT3BlcmF0aW9uIHN0cmluZ2lmaWVyIChzdHJpbmdpZmllcikgI0lNUExJRUQK
LSAgICAgICAgICAgICAgICAgICAgc3RhdGljIChzdGF0aWMpICNJTVBMSUVECi0gICAgICAgICAg
ICAgICAgICAgIGdldHRlciAoZ2V0dGVyKSAjSU1QTElFRAotICAgICAgICAgICAgICAgICAgICBz
ZXR0ZXIgKHNldHRlcikgI0lNUExJRUQKLSAgICAgICAgICAgICAgICAgICAgY3JlYXRvciAoY3Jl
YXRvcikgI0lNUExJRUQKLSAgICAgICAgICAgICAgICAgICAgZGVsZXRlciAoZGVsZXRlcikgI0lN
UExJRUQKLSAgICAgICAgICAgICAgICAgICAgc2VyaWFsaXplciAoc2VyaWFsaXplcikgI0lNUExJ
RUQKLSAgICAgICAgICAgICAgICAgICAgbGVnYWN5Y2FsbGVyIChsZWdhY3ljYWxsZXIpICNJTVBM
SUVECi0gICAgICAgICAgICAgICAgICAgIG5hbWUgTk1UT0tFTiAjSU1QTElFRAotICAgICAgICAg
ICAgICAgICAgICBpZCBOTVRPS0VOICNJTVBMSUVEID4KLQotCi0mbHQ7IUVMRU1FTlQgQXJndW1l
bnRMaXN0IChBcmd1bWVudCopID4KLQotJmx0OyFFTEVNRU5UIEFyZ3VtZW50IChkZXNjcmlwdGl2
ZT8sIEV4dGVuZGVkQXR0cmlidXRlTGlzdD8sIChUeXBlKSkgPgotJmx0OyFBVFRMSVNUIEFyZ3Vt
ZW50Ci0gICAgICAgICAgICAgICAgICAgb3B0aW9uYWwgKG9wdGlvbmFsKSAjSU1QTElFRAotICAg
ICAgICAgICAgICAgICAgIGVsbGlwc2lzIChlbGxpcHNpcykgI0lNUExJRUQKLSAgICAgICAgICAg
ICAgICB2YWx1ZSBDREFUQSAjSU1QTElFRAotICAgICAgICAgICAgICAgIHN0cmluZ3ZhbHVlIENE
QVRBICNJTVBMSUVECi0gICAgICAgICAgICAgICAgICAgbmFtZSBOTVRPS0VOICNSRVFVSVJFRCA+
Ci08L3ByZT4KLQotPGg0PlNlcmlhbGl6ZXI8L2g0PgotPHA+QSA8ZW0+U2VyaWFsaXplcjwvZW0+
IHJlcHJlc2VudHMgYSBzZXJpYWxpemVyIGZvciBhbiBpbnRlcmZhY2UsIGVpdGhlciBkZWZpbmVk
IGluIHRoZSBwcm9zZSBvciB2aWEgYSBwYXR0ZXJuLjwvcD4KLQotPHA+VGhlIDxlbT5kZXNjcmlw
dGl2ZTwvZW0+IGVsZW1lbnQgcHJvdmlkZXMgdGhlIHNlcmlhbGl6ZXIncyBkb2N1bWVudGF0aW9u
IGlmIGFueS48L3A+Ci0KLQotPHA+VGhlIDxlbT5hdHRyaWJ1dGU8L2VtPiBhdHRyaWJ1dGUgZGVm
aW5lcyB0aGUgYXR0cmlidXRlIHRoYXQgaXMgdXNlZCBmb3Igc2VyaWFsaXphdGlvbiBpZiBhbnku
PC9wPgotCi08cD5UaGUgb3B0aW9uYWwgPGVtPk1hcDwvZW0+IGFuZCA8ZW0+TGlzdDwvZW0+IGVs
ZW1lbnRzIGRlc2NyaWJlIHRoZSBwYXR0ZXJuIChpZiBhbnkpIGZvciB0aGUgc2VyaWFsaXplci4g
VGhleSB0YWtlIDxlbT5QYXR0ZXJuQXR0cmlidXRlPC9lbT4gZWxlbWVudHMgd2l0aCBhIDxlbT5u
YW1lPC9lbT4gYXR0cmlidXRlIHRoYXQgZGVzY3JpYmVzIHRoZSBhdHRyaWJ1dGVzIHVzZWQgZm9y
IHNlcmlhbGl6YXRpb24uPC9wPgotCi08cD48ZW0+TWFwPC9lbT4gZWxlbWVudHMgdGFrZSBhIDxl
bT5wYXR0ZXJuPC9lbT4gYXR0cmlidXRlIHRoYXQgY2FuIGJlIHNldCB0byBlaXRoZXIgImdldHRl
ciIgKGlmIHRoZSBnZXR0ZXIgaXMgdXNlZCBmb3Igc2VyaWFsaXphdGlvbiksICJhbGwiIGlmIGFs
bCBzZXJpYWxpemFibGUgYXR0cmlidXRlcyBhcmUgdG8gYmUgdXNlZCwgb3IgInNlbGVjdGlvbiIg
aWYgdGhlIGF0dHJpYnV0ZXMgbmFtZWQgYXMgY2hpbGRyZW4gZWxlbWVudHMgYXJlIHRvIGJlIHVz
ZWQuIE9wdGlvbmFsbHksIHRoZXkgdGFrZSBhIDxlbT5pbmhlcml0PC9lbT4gYXR0cmlidXRlIHNl
dCB0byAiaW5oZXJpdCIgaWYgdGhlIHNlcmlhbGl6YXRpb24gdGFrZXMgYWxzbyBpbnRvIGFjY291
bnQgaW5oZXJpdGVkIGF0dHJpYnV0ZXMuPC9wPgotCi08cD48ZW0+TGlzdDwvZW0+IGVsZW1lbnRz
IHRha2UgYSA8ZW0+cGF0dGVybjwvZW0+IGF0dHJpYnV0ZSB0aGF0IGNhbiBiZSBzZXQgdG8gZWl0
aGVyICJnZXR0ZXIiIChpZiB0aGUgZ2V0dGVyIGlzIHVzZWQgZm9yIHNlcmlhbGl6YXRpb24pLCBv
ciAic2VsZWN0aW9uIiBpZiB0aGUgYXR0cmlidXRlcyBuYW1lZCBhcyBjaGlsZHJlbiBlbGVtZW50
cyBhcmUgdG8gYmUgdXNlZC48L3A+Ci0KLTxwcmUgY2xhc3M9ImR0ZCI+Ci0mbHQ7IUVMRU1FTlQg
U2VyaWFsaXplciAod2ViaWRsLCBkZXNjcmlwdGl2ZT8sIEV4dGVuZGVkQXR0cmlidXRlTGlzdD8s
IChNYXAgfCBMaXN0KT8pID4KLSZsdDshQVRUTElTVCBTZXJpYWxpemVyIGF0dHJpYnV0ZSBDREFU
QSAjSU1QTElFRCA+Ci0KLSZsdDshRUxFTUVOVCBNYXAgICgoUGF0dGVybkF0dHJpYnV0ZSopKSA+
Ci0KLSZsdDshQVRUTElTVCBNYXAgaW5oZXJpdCAoaW5oZXJpdCkgI0lNUExJRUQKLSAgICAgICAg
ICAgICAgICAgcGF0dGVybiAoZ2V0dGVyfGFsbHxzZWxlY3Rpb24pICNSRVFVSVJFRD4KLQotJmx0
OyFFTEVNRU5UIExpc3QgICgoUGF0dGVybkF0dHJpYnV0ZSopKSA+Ci0KLSZsdDshQVRUTElTVCBM
aXN0IHBhdHRlcm4gKGdldHRlcnxzZWxlY3Rpb24pICNSRVFVSVJFRD4KLQotJmx0OyFFTEVNRU5U
IFBhdHRlcm5BdHRyaWJ1dGUgRU1QVFk+Ci0mbHQ7IUFUVExJU1QgUGF0dGVybkF0dHJpYnV0ZSBu
YW1lIENEQVRBICNSRVFVSVJFRD4KLQotPC9wcmU+Ci0KLTxoND5JdGVyYXRvcjwvaDQ+Ci08cD5B
biA8ZW0+SXRlcmF0b3I8L2VtPiBlbGVtZW50IGRlZmluZXMgIHdoZXRoZXIgdGhlIGludGVyZmFj
ZSBoYXMgYSBjdXN0b20gaXRlcmF0b3I7IHRoZSB0eXBlIG9mIHRoZSBpdGVyYXRlZCBvYmplY3Rz
IGlzIGRlZmluZWQgaW4gdGhlIDxlbT5UeXBlPC9lbT4gY2hpbGQuIElmIHRoYXQgaW50ZXJhdG9y
IGltcGxlbWVudHMgYSBwYXJ0aWN1bGFyIGludGVyZmFjZSwgdGhlIG5hbWUgb2YgdGhhdCBpbnRl
cmZhY2UgaXMgc2V0IGluIHRoZSA8ZW0+aW50ZXJmYWNlPC9lbT4gYXR0cmlidXRlLjwvcD4KLTxw
cmUgY2xhc3M9ImR0ZCI+Ci0mbHQ7IUVMRU1FTlQgSXRlcmF0b3IgKHdlYmlkbCwgZGVzY3JpcHRp
dmU/LCBFeHRlbmRlZEF0dHJpYnV0ZUxpc3Q/LCBUeXBlKSA+Ci0mbHQ7IUFUVExJU1QgSXRlcmF0
b3IgaW50ZXJmYWNlIENEQVRBICNJTVBMSUVEPgotPC9wcmU+Ci0KLTxoND5JdGVyYXRvck9iamVj
dDwvaDQ+Ci08cD5BbiA8ZW0+SXRlcmF0b3JPYmplY3Q8L2VtPiBlbGVtZW50IGRlbm90ZXMgdGhh
dCB0aGUgaW50ZXJmYWNlIHNlcnZlcyBhcyBhbiBpdGVyYXRvciBvYmplY3QgaW50ZXJmYWNlOyB0
aGUgdHlwZSBvZiB0aGUgaXRlcmF0ZWQgb2JqZWN0cyBpcyBkZWZpbmVkIGluIHRoZSA8ZW0+VHlw
ZTwvZW0+IGNoaWxkLjwvcD4KLQotPHByZSBjbGFzcz0iZHRkIj4KLSZsdDshRUxFTUVOVCBJdGVy
YXRvck9iamVjdCAod2ViaWRsLCBkZXNjcmlwdGl2ZT8sIEV4dGVuZGVkQXR0cmlidXRlTGlzdD8s
IFR5cGUpID4KLTwvcHJlPgotCi0KLTxoND5EaWN0aW9uYXJ5TWVtYmVyPC9oND4KLQotPHA+Ci1B
IDxlbT5EaWN0aW9uYXJ5TWVtYmVyPC9lbT4gcmVwcmVzZW50cyBhIG1lbWJlciBvZiBhIGRpY3Rp
b25hcnkuCi1UaGUgPGVtPlR5cGU8L2VtPiBlbGVtZW50IHNwZWNpZmllcyBpdHMgdHlwZS4gVGhl
IDxlbT5uYW1lPC9lbT4KLWF0dHJpYnV0ZSBzcGVjaWZpZXMgaXRzIG5hbWUuIAotPC9wPgotCi08
cD4KLVRoZSA8ZW0+ZGVzY3JpcHRpdmU+PC9lbT4gZWxlbWVudCBwcm92aWRlcyB0aGUgZGljdGlv
bmFyeSBtZW1iZXIncyBkb2N1bWVudGF0aW9uCi1pZiBhbnkuCi1UaGUgPGVtPmlkPC9lbT4gYXR0
cmlidXRlIHNwZWNpZmllcyB0aGUgYWJzb2x1dGUgc2NvcGVkIG5hbWUgb2YgdGhlIGF0dHJpYnV0
ZS4KLTwvcD4KLQotPHA+VGhlCi08ZW0+dmFsdWU8L2VtPiBhdHRyaWJ1dGUgc3BlY2lmaWVzIGl0
cyB2YWx1ZSBmb3Igbm9uLXN0cmluZyB2YWx1ZXMsIGFuZCA8ZW0+c3RyaW5ndmFsdWU8L2VtPiBm
b3Igc3RyaW5nIHZhbHVlcy48L3A+Ci0KLTxwcmUgY2xhc3M9ImR0ZCI+Ci0mbHQ7IUVMRU1FTlQg
RGljdGlvbmFyeU1lbWJlciAod2ViaWRsLCBkZXNjcmlwdGl2ZT8sIEV4dGVuZGVkQXR0cmlidXRl
TGlzdD8sIFR5cGUpID4KLSZsdDshQVRUTElTVCBEaWN0aW9uYXJ5TWVtYmVyIG5hbWUgQ0RBVEEg
I1JFUVVJUkVECi0gICAgICAgICAgICAgICAgICAgIGlkIENEQVRBICNSRVFVSVJFRAotICAgICAg
ICAgICAgICAgIHZhbHVlIENEQVRBICNJTVBMSUVECi0gICAgICAgICAgICAgICAgc3RyaW5ndmFs
dWUgQ0RBVEEgI0lNUExJRUQgPgotCi08L3ByZT4KLQotCi08aDQ+RXh0ZW5kZWQgYXR0cmlidXRl
czwvaDQ+Ci0KLTxwPgotQW4gPGVtPkV4dGVuZGVkQXR0cmlidXRlTGlzdDwvZW0+IGNvbnRhaW5z
IG9uZSBvciBtb3JlCi08ZW0+RXh0ZW5kZWRBdHRyaWJ1dGU8L2VtPiBlbGVtZW50LiBFYWNoIDxl
bT5FeHRlbmRlZEF0dHJpYnV0ZTwvZW0+Ci1oYXM6Ci08L3A+Ci08dWw+Ci08bGk+Ci1hIDxlbT5u
YW1lPC9lbT4gYXR0cmlidXRlIGdpdmluZyB0aGUgbmFtZSBvZiB0aGUgZXh0ZW5kZWQgYXR0cmli
dXRlOwotPGxpPgotaWYgdGhlIGV4dGVuZGVkIGF0dHJpYnV0ZSBjb250YWlucyBhbiA8Y29kZT49
PC9jb2RlPiBzaWduIGZvbGxvd2VkIGJ5IGEKLXZhbHVlLCBhIDxlbT52YWx1ZTwvZW0+IGF0dHJp
YnV0ZSBnaXZpbmcgdGhlIHZhbHVlLCB3aGljaCBpcyBhIHNjb3BlZAotbmFtZSBvciBhbiBpZGVu
dGlmaWVyOwotPGxpPgotaWYgdGhlIGV4dGVuZGVkIGF0dHJpYnV0ZSBjb250YWlucyBwYXJlbnRo
ZXNlcyAoZWl0aGVyIHdpdGggb3Igd2l0aG91dAotYW4gPGNvZGU+PTwvY29kZT4gc2lnbiksIGFu
IDxlbT5Bcmd1bWVudExpc3Q8L2VtPiBlbGVtZW50IGdpdmluZyB0aGUKLWNvbnRlbnRzIG9mIHRo
ZSBwYXJlbnRoZXNlcy4KLTwvdWw+Ci08cD4KLUlmIHRoZSA8ZW0+dmFsdWU8L2VtPiBhdHRyaWJ1
dGUgYW5kIHRoZSA8ZW0+QXJndW1lbnRMaXN0PC9lbT4gZWxlbWVudCBhcmUKLWJvdGggcHJlc2Vu
dCwgdGhlbiA8ZW0+dmFsdWU8L2VtPiBtdXN0IGdpdmUgYW4gaWRlbnRpZmllciByYXRoZXIgdGhh
bgotYSBzY29wZWQgbmFtZS4KLTwvcD4KLQotPHByZSBjbGFzcz0iZHRkIj4KLSZsdDshRUxFTUVO
VCBFeHRlbmRlZEF0dHJpYnV0ZUxpc3QgKEV4dGVuZGVkQXR0cmlidXRlKykgPgotCi0mbHQ7IUVM
RU1FTlQgRXh0ZW5kZWRBdHRyaWJ1dGUgKHdlYmlkbCwgQXJndW1lbnRMaXN0PykgPgotJmx0OyFB
VFRMSVNUIEV4dGVuZGVkQXR0cmlidXRlIG5hbWUgTk1UT0tFTiAjUkVRVUlSRUQKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB2YWx1ZSBDREFUQSAjSU1QTElFRCA+Ci08L3ByZT4KLQotPGg0
PlR5cGU8L2g0PgotCi08cD4KLTxlbT5UeXBlPC9lbT4gcmVwcmVzZW50cyBhIHR5cGUuIEl0IGhh
cyBvbmUgb2YgdGhlc2UgZm9ybXM6Ci08L3A+Ci08dWw+Ci08bGk+Ci1UaGUgPGNvZGU+YW55PC9j
b2RlPiwgPGNvZGU+b2JqZWN0PC9jb2RlPiBhbmQgPGNvZGU+dm9pZDwvY29kZT4KLXR5cGVzIGhh
dmUgdGhlIGF0dHJpYnV0ZQotPGVtPnR5cGU8L2VtPiBzZXQgdG8gdGhlIHR5cGUsIGFuZCBubyBv
dGhlciBhdHRyaWJ1dGVzIG9yIGVsZW1lbnRzLgotTm90ZSB0aGF0IHRoZSA8Y29kZT52b2lkPC9j
b2RlPiB0eXBlIGFwcGVhcnMgb25seSB3aGVuIHRoZSA8ZW0+VHlwZTwvZW0+Ci1lbGVtZW50IGlz
IGEgY2hpbGQgb2YgPGVtPk9wZXJhdGlvbjwvZW0+LgotPGxpPgotQSB0eXBlIHRoYXQgaXMgYW4g
aW50ZXJmYWNlIGhhcyB0aGUgYXR0cmlidXRlIDxlbT5uYW1lPC9lbT4gc2V0IHRvIHRoZQotbmFt
ZSBvZiB0aGF0IGludGVyZmFjZSwgYW5kIG5vIG90aGVyIGF0dHJpYnV0ZXMgb3IgZWxlbWVudHMu
Ci08bGk+Ci1Gb3IgdGhlIHByaW1pdGl2ZSB0eXBlcyA8Y29kZT5zaG9ydDwvY29kZT4sIDxjb2Rl
PnVuc2lnbmVkIHNob3J0PC9jb2RlPiwKLTxjb2RlPmxvbmc8L2NvZGU+LCA8Y29kZT51bnNpZ25l
ZCBsb25nPC9jb2RlPiwgPGNvZGU+bG9uZyBsb25nPC9jb2RlPiwKLTxjb2RlPnVuc2lnbmVkIGxv
bmcgbG9uZzwvY29kZT4sIDxjb2RlPmZsb2F0PC9jb2RlPiwgPGNvZGU+ZG91YmxlPC9jb2RlPiwK
LTxjb2RlPmJvb2xlYW48L2NvZGU+LCA8Y29kZT5vY3RldDwvY29kZT4sIDxjb2RlPmJ5dGU8L2Nv
ZGU+IGFuZCA8Y29kZT5ET01TdHJpbmc8L2NvZGU+LAotdGhlcmUgaXMgYW4gYXR0cmlidXRlIDxl
bT50eXBlPC9lbT4KLXdob3NlIHZhbHVlIGlzIG9uZSBvZiB0aG9zZSBzdHJpbmdzLCBhbmQgbm8g
b3RoZXIgYXR0cmlidXRlcyBvciBlbGVtZW50cy4KLUhvd2V2ZXIsIGlmIHRoZSB0eXBlIHdhcyBz
cGVjaWZpZWQgaW4gdGhlIFdlYiBJREwgd2l0aCBhIHRyYWlsaW5nIDxjb2RlPj88L2NvZGU+Ci1z
aWduLCB0aGVuIHRoZXJlIGlzIGFuIGF0dHJpYnV0ZSA8ZW0+bnVsbGFibGU8L2VtPiB3aXRoIHRo
ZSB2YWx1ZQotPGNvZGU+bnVsbGFibGU8L2NvZGU+LgotPC91bD4KLTxwPgotVGhlIHJlc3RyaWN0
aW9ucyBvbiB3aGljaCBjb21iaW5hdGlvbnMgb2YgZWxlbWVudHMgYW5kIGF0dHJpYnV0ZXMgYXJl
Ci1wZXJtaXR0ZWQgYXJlIG5vdCBlbmNvZGVkIGJ5IHRoZSBEVEQuCi08L3A+Ci08cD4KLVRoZSA8
ZW0+ZGVzY3JpcHRpdmU8L2VtPiBlbGVtZW50IHByb3ZpZGVzIHRoZSBkb2N1bWVudGF0aW9uCi1p
ZiBhbnksIHdoZW4gdGhlIDxlbT5UeXBlPC9lbT4gaXMgYSBjaGlsZCBvZiA8ZW0+T3BlcmF0aW9u
PC9lbT4sIGFuZCB0aHVzCi1yZXByZXNlbnRpbmcgYW4gb3BlcmF0aW9uJ3MgcmV0dXJuIHR5cGUu
Ci08L3A+Ci0KLTxwPlRoZSA8ZW0+RXh0ZW5kZWRBdHRyaWJ1dGVMaXN0PC9lbT4gZWxlbWVudCBw
cm92aWRlcyB0aGUgb3B0aW9uYWwgZXh0ZW5kZWQgYXR0cmlidXRlcyB0aGF0IGNhbiBiZSBkZWZp
bmVkIGZvciBhIHR5cGUgdGhyb3VnaCB0eXBlZGVmLCAmYWdyYXZlOyBsYSA8Y29kZT50eXBlZGVm
IFtDbGFtcF0gb2N0ZXQgVmFsdWU7PC9jb2RlPi48L3A+Ci0KLTwhLS0gY2FuJ3QgdXNlIGVudW1l
cmF0ZWQgdmFsdWVzIGZvciB0aGUgdmFsdWVzIG9mIHR5cGUsIHNpbmNlIERURCBkb24ndCBhbGxv
dyBlbnVtZXJhdGVkIHZhbHVlcyB0byBoYXZlIHNwYWNlIGluIHRoZW0gKHdoaWNoIHdvdWxkIGJl
IG5lZWRlZCBlLmcuIGZvciAibG9uZyBsb25nIikgLS0+Ci08cHJlIGNsYXNzPSJkdGQiPgotJmx0
OyFFTEVNRU5UIFR5cGUgKGRlc2NyaXB0aXZlPywgRXh0ZW5kZWRBdHRyaWJ1dGVMaXN0PywgVHlw
ZSopID4KLSZsdDshQVRUTElTVCBUeXBlIHR5cGUgQ0RBVEEgI0lNUExJRUQKLSAgICAgICAgICAg
ICAgIG5hbWUgTk1UT0tFTiAjSU1QTElFRAotICAgICAgICAgICAgICAgbnVsbGFibGUgKG51bGxh
YmxlKSAjSU1QTElFRCA+Ci08L3ByZT4KLQotPGg0PlNlcXVlbmNlPC9oND4KLQotPHA+Rm9yIGEg
c2VxdWVuY2UgdHlwZSwgdGhlIDxlbT5UeXBlPC9lbT4gZWxlbWVudCB3aXRoIGFuIGF0dHJpYnV0
ZSA8ZW0+dHlwZTwvZW0+IHNldCB0byA8ZW0+c2VxdWVuY2U8L2VtPiBjb250YWlucyBhbiBlbGVt
ZW50IDxlbT5UeXBlPC9lbT4gZ2l2aW5nIHRoZSBzZXF1ZW5jZSBlbGVtZW50IHR5cGUsIGFuZCBu
byBvdGhlciBhdHRyaWJ1dGVzIG9yIGVsZW1lbnRzLiBJZiB0aGUgc2VxdWVuY2UgaXMgc3BlY2lm
aWVkIGluIHRoZSBXZWIgSURMIHdpdGggYSB0cmFpbGluZyA8Y29kZT4/PC9jb2RlPgotc2lnbiwg
dGhlbiB0aGVyZSBpcyBhbiBhdHRyaWJ1dGUgPGVtPm51bGxhYmxlPC9lbT4gd2l0aCB0aGUgdmFs
dWUKLTxjb2RlPm51bGxhYmxlPC9jb2RlPi4KLQotCi08aDQ+QXJyYXk8L2g0PgotCi08cD5Gb3Ig
YW4gYXJyYXkgdHlwZSwgdGhlIDxlbT5UeXBlPC9lbT4gZWxlbWVudCB3aXRoIGFuIGF0dHJpYnV0
ZSA8ZW0+dHlwZTwvZW0+IHNldCB0byA8ZW0+YXJyYXk8L2VtPiBjb250YWlucyBhbiBlbGVtZW50
IDxlbT5UeXBlPC9lbT4gZ2l2aW5nIHRoZSBhcnJheSBlbGVtZW50IHR5cGUuIElmIHRoZSBhcnJh
eSBpcyBzcGVjaWZpZWQgaW4gdGhlIFdlYiBJREwgd2l0aCBhIHRyYWlsaW5nIDxjb2RlPj88L2Nv
ZGU+Ci1zaWduLCB0aGVuIHRoZXJlIGlzIGFuIGF0dHJpYnV0ZSA8ZW0+bnVsbGFibGU8L2VtPiB3
aXRoIHRoZSB2YWx1ZQotPGNvZGU+bnVsbGFibGU8L2NvZGU+LgotCi08aDQ+VW5pb248L2g0Pgot
Ci08cD5Gb3IgYSB1bmlvbiB0eXBlLCB0aGUgPGVtPlR5cGU8L2VtPiBlbGVtZW50IHdpdGggYW4g
YXR0cmlidXRlIDxlbT50eXBlPC9lbT4gc2V0IHRvIDxlbT51bmlvbjwvZW0+IGNvbnRhaW5zIGF0
IGxlYXN0IHR3byBlbGVtZW50IDxlbT5UeXBlPC9lbT4gZ2l2aW5nIHRoZSB1bmlvbiBtZW1iZXJz
IHR5cGUuIElmIHRoZSB1bmlvbiBpcyBzcGVjaWZpZWQgaW4gdGhlIFdlYiBJREwgd2l0aCBhIHRy
YWlsaW5nIDxjb2RlPj88L2NvZGU+Ci1zaWduLCB0aGVuIHRoZXJlIGlzIGFuIGF0dHJpYnV0ZSA8
ZW0+bnVsbGFibGU8L2VtPiB3aXRoIHRoZSB2YWx1ZQotPGNvZGU+bnVsbGFibGU8L2NvZGU+Lgot
Ci0KLQotPGg0PkRlc2NyaXB0aXZlIGVsZW1lbnRzPC9oND4KLQotPHA+Ci1UaGUgZm9sbG93aW5n
IGVsZW1lbnRzIGNvbnRhaW4gZG9jdW1lbnRhdGlvbiwgZXh0cmFjdGVkIGZyb20gdGhlCi1Eb3h5
Z2VuLWxpa2UgY29tbWVudHMgaW4gdGhlIGlucHV0LiA8Y29kZT4mbHQ7cGFyYW0+PC9jb2RlPgot
ZGVyaXZlcyBvbmx5IGZyb20gYSA8Y29kZT5ccGFyYW08L2NvZGU+IGNvbW1hbmQgdXNlZCBpbnNp
ZGUgYQotPGNvZGU+XGRlZi1kZXZpY2UtY2FwPC9jb2RlPiBibG9jazsgYW55IG90aGVyIDxjb2Rl
PlxwYXJhbTwvY29kZT4gY29tbWFuZAotaXMgbGlua2VkIHRvIGEgcGFyYW1ldGVyIChhcmd1bWVu
dCkgb2YgdGhlIG1ldGhvZCBiZWluZyBkb2N1bWVudGVkLgotPC9wPgotCi08cHJlIGNsYXNzPSJk
dGQiPgotJmx0OyFFTEVNRU5UIGRlc2NyaXB0aXZlIChkZXNjcmlwdGlvbiB8IGJyaWVmIHwgdGhy
b3cgfCBhdXRob3IKLSAgICB8IHZlcnNpb24gfCBDb2RlIHwgYXBpLWZlYXR1cmUgfCBkZXZpY2Ut
Y2FwIHwgZGVmLWFwaS1mZWF0dXJlCi0gICAgfCBkZWYtYXBpLWZlYXR1cmUtc2V0IHwgZGVmLWRl
dmljZS1jYXAgfCBkZWYtaW5zdGFudGlhdGVkIHwgcGFyYW0pKiA+Ci0KLSZsdDshRUxFTUVOVCBk
ZXNjcmlwdGlvbiAlQmxvY2s7ID4KLQotJmx0OyFFTEVNRU5UIGJyaWVmICVJbmxpbmU7ID4KLQot
Jmx0OyFFTEVNRU5UIHRocm93ICVJbmxpbmU7ID4KLQotJmx0OyFFTEVNRU5UIGF1dGhvciAlSW5s
aW5lOyA+Ci0KLSZsdDshRUxFTUVOVCB2ZXJzaW9uICVJbmxpbmU7ID4KLQotJmx0OyFFTEVNRU5U
IENvZGUgJUlubGluZTsgPgotCi0mbHQ7IUVMRU1FTlQgYXBpLWZlYXR1cmUgJUlubGluZTsgPgot
Jmx0OyFBVFRMSVNUIGFwaS1mZWF0dXJlIGlkZW50aWZpZXIgQ0RBVEEgI1JFUVVJUkVEID4KLQot
Jmx0OyFFTEVNRU5UIGRldmljZS1jYXAgJUlubGluZTsgPgotJmx0OyFBVFRMSVNUIGRldmljZS1j
YXAgaWRlbnRpZmllciBDREFUQSAjUkVRVUlSRUQgPgotCi0mbHQ7IUVMRU1FTlQgcGFyYW0gJUlu
bGluZTsgPgotJmx0OyFBVFRMSVNUIHBhcmFtIGlkZW50aWZpZXIgQ0RBVEEgI1JFUVVJUkVEID4K
LQotJmx0OyFFTEVNRU5UIGRlZi1hcGktZmVhdHVyZSAoZGVzY3JpcHRpdmU/KSA+Ci0mbHQ7IUFU
VExJU1QgZGVmLWFwaS1mZWF0dXJlIGlkZW50aWZpZXIgQ0RBVEEgI1JFUVVJUkVEID4KLQotJmx0
OyFFTEVNRU5UIGRlZi1hcGktZmVhdHVyZS1zZXQgKGRlc2NyaXB0aXZlPykgPgotJmx0OyFBVFRM
SVNUIGRlZi1hcGktZmVhdHVyZS1zZXQgaWRlbnRpZmllciBDREFUQSAjUkVRVUlSRUQgPgotCi0m
bHQ7IUVMRU1FTlQgZGVmLWluc3RhbnRpYXRlZCAoZGVzY3JpcHRpdmU/KSA+Ci0KLSZsdDshRUxF
TUVOVCBkZWYtZGV2aWNlLWNhcCAoZGVzY3JpcHRpdmU/KSA+Ci0mbHQ7IUFUVExJU1QgZGVmLWRl
dmljZS1jYXAgaWRlbnRpZmllciBDREFUQSAjUkVRVUlSRUQgPgotCi0mbHQ7IUVMRU1FTlQgcmVm
ICgjUENEQVRBKSA+Ci08L3ByZT4KLQotPGg0PlhIVE1MIGVsZW1lbnRzPC9oND4KLQotPHA+Ci1U
aGUgZm9sbG93aW5nIFhIVE1MIGVsZW1lbnRzIGFyZSBwYXJ0IG9mIHdpZGxwcm9jeG1sOgotPC9w
PgotCi08cHJlIGNsYXNzPSJkdGQiPgotJmx0OyFFTEVNRU5UIGEgJUlubGluZTsgPgotJmx0OyFB
VFRMSVNUIGEgaHJlZiBDREFUQSAjUkVRVUlSRUQgPgotCi0mbHQ7IUVMRU1FTlQgYiAlSW5saW5l
OyA+Ci0KLSZsdDshRUxFTUVOVCBiciBFTVBUWSA+Ci0KLSZsdDshRUxFTUVOVCBkZCAlRmxvdzsg
PgotCi0mbHQ7IUVMRU1FTlQgZGwgKChkdCB8IGRkKSopID4KLQotJmx0OyFFTEVNRU5UIGR0ICVJ
bmxpbmU7ID4KLQotJmx0OyFFTEVNRU5UIGVtICVJbmxpbmU7ID4KLQotJmx0OyFFTEVNRU5UIGlt
ZyAlSW5saW5lOyA+Ci0mbHQ7IUFUVExJU1QgaW1nIHNyYyBDREFUQSAjUkVRVUlSRUQgCi0gICAg
ICAgICAgICAgICAgIGFsdCBDREFUQSAjSU1QTElFRD4KLQotCi0mbHQ7IUVMRU1FTlQgbGkgJUZs
b3c7ID4KLQotJmx0OyFFTEVNRU5UIHAgJUlubGluZTsgPgotCi0mbHQ7IUVMRU1FTlQgdGFibGUg
KHRyKikgPgotCi0mbHQ7IUVMRU1FTlQgdGQgJUZsb3c7ID4KLQotJmx0OyFFTEVNRU5UIHRoICVG
bG93OyA+Ci0KLSZsdDshRUxFTUVOVCB0ciAoKHRoIHwgdGQpKikgPgotCi0mbHQ7IUVMRU1FTlQg
dWwgKGxpKikgPgotPC9wcmU+Ci0KLQotPGgyPkJpYmxpb2dyYXBoeTwvaDI+Ci0KLTxwIGlkPSJi
b25kaSI+Ci1CT05ESSAtIGFuIG9wZW4gc291cmNlIGluZHVzdHJ5IGNvbGxhYm9yYXRpb24gZm9y
IHdpZGdldCBhbmQgd2ViIHRlY2hub2xvZ2llcywKLTxhIGhyZWY9Imh0dHA6Ly9ib25kaS5vbXRw
Lm9yZy8iPmh0dHA6Ly9ib25kaS5vbXRwLm9yZy88L2E+Ci08L3A+Ci0KLTxwIGlkPSJkb3h5Z2Vu
Ij4KLURveHlnZW4gU291cmNlIGNvZGUgZG9jdW1lbnRhdGlvbiBnZW5lcmF0b3IgdG9vbCwKLTxh
IGhyZWY9Imh0dHA6Ly93d3cuc3RhY2submwvfmRpbWl0cmkvZG94eWdlbi9pbmRleC5odG1sIj4K
LWh0dHA6Ly93d3cuc3RhY2submwvfmRpbWl0cmkvZG94eWdlbi9pbmRleC5odG1sPC9hPgotPC9w
PgotCi08cCBpZD0idzNjZ2VvIj4KLVczQyBHZW9sb2NhdGlvbiBBUEkgU3BlY2lmaWNhdGlvbiBF
ZGl0b3IncyBEcmFmdCAzIEFwcmlsIDIwMDksCi08YSBocmVmPSJodHRwOi8vZGV2LnczLm9yZy9n
ZW8vYXBpL3NwZWMtc291cmNlLmh0bWwiPgotaHR0cDovL2Rldi53My5vcmcvZ2VvL2FwaS9zcGVj
LXNvdXJjZS5odG1sPC9hPgotPC9wPgotCi08cCBpZD0id2ViaWRsIj4KLVdlYiBJREwgVzNDIEVk
aXRvcidzIERyYWZ0IDMgTWF5IDIwMTEsCi08YSBocmVmPSJodHRwOi8vZGV2LnczLm9yZy8yMDA2
L3dlYmFwaS9XZWJJREwiPmh0dHA6Ly9kZXYudzMub3JnLzIwMDYvd2ViYXBpL1dlYklETDwvYT4K
LTwvcD4KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL2V4YW1wbGVzL01ha2VmaWxl
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3dpZGxwcm9jL2V4YW1wbGVzL01ha2VmaWxlCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCA2MTQ0NTNkMjNjMDEzNGQ5NWNkOWM4MmIzY2Q2MGM2ZDUyZjIzMTJmLi4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93
aWRscHJvYy9leGFtcGxlcy9NYWtlZmlsZQorKysgL2Rldi9udWxsCkBAIC0xLDc5ICswLDAgQEAK
LSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIwotIyAkSWQkCi0jIENvcHlyaWdodCAyMDA5IEFwbGl4IENvcnBvcmF0
aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotIyBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExp
Y2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKLSMgeW91IG1heSBub3QgdXNlIHRo
aXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgotIyBZb3UgbWF5
IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKLSMgICAgIGh0dHA6Ly93d3cuYXBhY2hl
Lm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAotIyBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJs
ZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCi0jIGRpc3RyaWJ1dGVkIHVu
ZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCi0jIFdJ
VEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVz
cyBvciBpbXBsaWVkLgotIyBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFn
ZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCi0jIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNl
bnNlLgotIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjCi0KLVVOQU1FID0gJChzaGVsbCB1bmFtZSkKLUVYQU1QTEVT
RElSID0gLgotIyBUaGUgc2V0dGluZ3Mgb2YgU1JDRElSICh3aGVyZSB0byBmaW5kIHRoZSB4c2wg
c3R5bGUgc2hlZXRzKSwgT0JKRElSICh3aGVyZSB0bwotIyBmaW5kIHdpZGxwcm9jIGFuZCB3aWRs
cHJvY3htbC5kdGQpIGFuZCBFWEFNUExFU09CSkRJUiAod2hlcmUgdG8gcHV0IHRoZQotIyByZXN1
bHRpbmcgaHRtbCBmaWxlcyBhbmQgYW55IGludGVybWVkaWF0ZSBmaWxlcykgcmVmbGVjdCB0aGUg
ZGlyZWN0b3J5Ci0jIHN0cnVjdHVyZSBvZiB0aGUgcmVsZWFzZWQgd2lkbHByb2MuemlwIGZpbGUg
d2hlbiB1bnppcHBlZC4gLi4vTWFrZWZpbGUgY2FsbHMKLSMgdGhpcyBNYWtlZmlsZSB3aXRoIHRo
ZXNlIHNldHRpbmdzIG92ZXJyaWRkZW4gdG8gcmVmbGVjdCB0aGUgZGlyZWN0b3J5Ci0jIHN0cnVj
dHVyZSBpbiBzdm4uCi1TUkNESVIgPSAuLgotT0JKRElSID0gLi4KLUVYQU1QTEVTT0JKRElSID0g
b2JqCi0KLSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIwotIyBMaW51eCBjb25maWd1cmF0aW9uCi0jCi1pZm5lcSAo
LCQoZmlsdGVyIExpbnV4JSwgJChVTkFNRSkpKSAKLQotRVhFU1VGRklYID0KLQotZWxzZQotIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjCi0jIERhcndpbiBjb25maWd1cmF0aW9uCi0jCi1pZm5lcSAoLCQoZmlsdGVy
IERhcndpbiUsICQoVU5BTUUpKSkgCi0KLUVYRVNVRkZJWCA9Ci0KLWVsc2UKLSMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIwotIyBXaW5kb3dzIChjeWd3aW4gYnV0IHVzaW5nIE1TIGNvbXBpbGVyKSBjb25maWd1cmF0
aW9uCi0jCi1pZm5lcSAoLCQoZmlsdGVyIENZR1dJTiUsICQoVU5BTUUpKSkgCi0KLUVYRVNVRkZJ
WCA9IC5leGUKLQotZW5kaWYKLWVuZGlmCi1lbmRpZgotCi0jIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKLSMgQ29t
bW9uIG1ha2VmaWxlCi0jCi1XSURMUFJPQyA9ICQoT0JKRElSKS93aWRscHJvYyQoRVhFU1VGRklY
KQotRFREID0gJChPQkpESVIpL3dpZGxwcm9jeG1sLmR0ZAotCi1XSURMUyA9ICQocGF0c3Vic3Qg
JChFWEFNUExFU0RJUikvJSwgJSwgJCh3aWxkY2FyZCAkKEVYQU1QTEVTRElSKS8qLndpZGwpKQot
Ci10ZXN0IDogJChwYXRzdWJzdCAlLndpZGwsICQoRVhBTVBMRVNPQkpESVIpLyUuaHRtbCwgJChX
SURMUykpICQoRVhBTVBMRVNPQkpESVIpL3dpZGxodG1sLmNzcwotCUBlY2hvICIkQCBwYXNzIgot
Ci0kKEVYQU1QTEVTT0JKRElSKS8lLmh0bWwgOiAkKEVYQU1QTEVTT0JKRElSKS8lLndpZGxwcm9j
eG1sICQoU1JDRElSKS93aWRscHJvY3htbHRvaHRtbC54c2wgTWFrZWZpbGUKLQljcCAkKFNSQ0RJ
Uikvd2lkbHByb2N4bWx0b2h0bWwueHNsICQoZGlyICRAKS8KLQl4c2x0cHJvYyAkKGRpciAkQCkv
d2lkbHByb2N4bWx0b2h0bWwueHNsICQ8ID4kQAotCi0kKEVYQU1QTEVTT0JKRElSKS8lLndpZGxw
cm9jeG1sIDogJChFWEFNUExFU0RJUikvJS53aWRsICQoV0lETFBST0MpICQoRFREKSBNYWtlZmls
ZQotCW1rZGlyIC1wICQoZGlyICRAKQotCSQoV0lETFBST0MpICQ8ID4kQAotCWNwICQoT0JKRElS
KS93aWRscHJvY3htbC5kdGQgJChkaXIgJEApLwotCXhtbGxpbnQgLS1ub291dCAtLWR0ZHZhbGlk
ICQoRFREKSAkQAotCi0kKEVYQU1QTEVTT0JKRElSKS93aWRsaHRtbC5jc3MgOiAkKEVYQU1QTEVT
RElSKS93aWRsaHRtbC5jc3MKLQljcCAkPCAkQAotCi0uREVMRVRFX09OX0VSUk9SOgotCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvZXhhbXBsZXMvUkVBRE1FIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dp
ZGxwcm9jL2V4YW1wbGVzL1JFQURNRQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZWZi
YjcyZGRhOGQyODg5MGI4NjFhZmVmYjZmN2IxYTA4M2I2NmZlMS4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvZXhhbXBsZXMv
UkVBRE1FCisrKyAvZGV2L251bGwKQEAgLTEsNDEgKzAsMCBAQAotIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCi0j
ICRJZCQKLSMgQ29weXJpZ2h0IDIwMDkgQXBsaXggQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCi0jIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAg
KHRoZSAiTGljZW5zZSIpOwotIyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBj
b21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCi0jIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0
aGUgTGljZW5zZSBhdAotIyAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VO
U0UtMi4wCi0jIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8g
aW4gd3JpdGluZywgc29mdHdhcmUKLSMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMg
ZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKLSMgV0lUSE9VVCBXQVJSQU5USUVTIE9S
IENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCi0jIFNl
ZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNz
aW9ucyBhbmQKLSMgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCi0jIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMKLQotVGhpcyBleGFtcGxlcyBkaXJlY3RvcnkgY29udGFpbnMgdHdvIG9mIHRoZSBCT05ESSAu
d2lkbCBmaWxlcywgYSBNYWtlZmlsZQotdGhhdCBwcm9jZXNzZXMgdGhlbSB0byBnZW5lcmF0ZSBo
dG1sLCBhbmQgYSAuY3NzIGZpbGUgdGhhdCB0aGUgcmVzdWx0aW5nCi1odG1sIHVzZXMuCi0KLVRo
ZSBNYWtlZmlsZSBwcm9jZXNzZXMgdGhlIC53aWRsIGZpbGVzIGFzIGZvbGxvd3M6Ci0KLSAxLiBG
b3IgZWFjaCAud2lkbCwgZ2VuZXJhdGUgdGhlIC53aWRscHJvY3htbCBmaWxlIChhbiBYTUwgcmVw
cmVzZW50YXRpb24KLSAgICBvZiB0aGUgaW5mb3JtYXRpb24gaW4gdGhlIC53aWRsKSB1c2luZyB3
aWRscHJvYy4KLQotIDIuIFZhbGlkYXRlICh1c2luZyB4bWxsaW50KSBlYWNoIC53aWRscHJvY3ht
bCBhZ2FpbnN0IHRoZSBEVEQuCi0KLSAzLiBXZSB3YW50IGFueSByZWZlcmVuY2UgaW4gdGhlIHJl
c3VsdGluZyBodG1sIHRvIGEgdHlwZSBlbHNld2hlcmUgaW4gdGhlCi0gICAgQVBJIHRvIGJlIGEg
bGluay4gVGhpcyBpcyB3aGVyZSB3ZSBhY2hpZXZlIHRoaXMuIEZpcnN0IGdlbmVyYXRlIGEKLSAg
ICBsaXN0IG9mIGZxaWRzIChmdWxseSBxdWFsaWZpZWQgaWRlbnRpZmllcnMpIGZyb20gZnFpZCBh
dHRyaWJ1dGVzIGluCi0gICAgdGhlIFhNTCBieSBydW5uaW5nIGFsbCAud2lkbHByb2N4bWwgZmls
ZXMgdGhyb3VnaCB0aGUgc3R5bGUgc2hlZXQKLSAgICB3aWRscHJvY3htbGZxaWRzLnhzbC4KLQot
IDQuIFR1cm4gdGhhdCBsaXN0IG9mIGZxaWRzIGludG8gYSBzZWQgc2NyaXB0IHRoYXQgdHVybnMg
YSA8cmVmPiB0byBhbgotICAgIGZxaWQgaW50byBhIDxyZWYgcmVmPSIuLiI+IHRvIHRoZSBmcWlk
IGluIHRoZSByaWdodCAuaHRtbCBmaWxlLgotCi0gNS4gRm9yIGVhY2ggLndpZGxwcm9jeG1sIGZp
bGUsIGdlbmVyYXRlIGEgLndpZGxwcm9jeG1sMiBmaWxlIGJ5IHJ1bm5pbmcKLSAgICBpdCB0aHJv
dWdoIHRoZSBzZWQgc2NyaXB0IGdlbmVyYXRlZCBhYm92ZS4KLQotIDYuIEZvciBlYWNoIC53aWRs
cHJvY3htbDIgZmlsZSwgZ2VuZXJhdGUgYSAuaHRtbCBmaWxlIGJ5IHJ1bm5pbmcgaXQgdGhyb3Vn
aAotICAgIHRoZSB3aWRscHJvY3htbHRvaHRtbC54c2wgc3R5bGUgc2hlZXQuCi0KLVNlZSB0aGUg
TWFrZWZpbGUgZm9yIGRldGFpbHMuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvZXhh
bXBsZXMvYm9uZGkud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9leGFtcGxlcy9ib25kaS53aWRs
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyMDBiOTVmZTljMWUxMjNjMWI3YjM3NWY0
OGNhMjhmYzUzYTQ2NTI1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9leGFtcGxlcy9ib25kaS53aWRsCisrKyAvZGV2L251
bGwKQEAgLTEsMjI3ICswLDAgQEAKLS8qCi0gKiBMaWNlbnNlZCB0byBPTVRQIEx0ZC4gKE9NVFAp
IHVuZGVyIG9uZSBvciBtb3JlIGNvbnRyaWJ1dG9yIGxpY2Vuc2UgYWdyZWVtZW50cy4gCi0gKiBT
ZWUgdGhlIE5PVElDRSBmaWxlIGRpc3RyaWJ1dGVkIHdpdGggdGhpcyB3b3JrIGZvciBhZGRpdGlv
bmFsIGluZm9ybWF0aW9uIHJlZ2FyZGluZyAKLSAqIGNvcHlyaWdodCBvd25lcnNoaXAuIAotICog
Ci0gKiBUaGUgUmVmZXJlbmNlIEltcGxlbWVudGF0aW9uIChzYXZlIGZvciBzdWNoIHBhcnRzIG9m
IHRoZSByZWZlcmVuY2UgaW1wbGVtZW50YXRpb24gbWFkZSAKLSAqIGF2YWlsYWJsZSB1bmRlciBz
ZXBhcmF0ZSB0ZXJtcyBhbmQgY29uZGl0aW9ucykgaXMgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhl
IHRlcm1zIG9mIHRoZSAKLSAqIEFwYWNoZSBMaWNlbnNlLCB2ZXJzaW9uIDIuMCwgc3ViamVjdCB0
byB0aGUgY29uZGl0aW9uIHRoYXQgYW55ICJXb3JrcyIgYW5kICJEZXJpdmF0aXZlIAotICogV29y
a3MiIHVzZWQgb3IgZGlzdHJpYnV0ZWQgZm9yIGNvbW1lcmNpYWwgcHVycG9zZXMgbXVzdCBiZSBh
bmQgcmVtYWluIGNvbXBsaWFudCB3aXRoIHRoZQotICogQk9OREkgc3BlY2lmaWNhdGlvbiBhcyBw
cm9tdWxnYXRlZCBieSBPTVRQIGluIGVhY2ggcmVsZWFzZS4gWW91ciBpbXBsZW1lbnRhdGlvbiBv
ZiB0aGUgCi0gKiBSZWZlcmVuY2UgSW1wbGVtZW50YXRpb24gKHdoZXRoZXIgb2JqZWN0IG9yIHNv
dXJjZSkgbXVzdCBtYWludGFpbiB0aGVzZSBjb25kaXRpb25zLCBhbmQgCi0gKiB5b3UgbXVzdCBu
b3RpZnkgYW55IHJlY2lwaWVudCBvZiB0aGlzIGNvbmRpdGlvbiBpbiBhIGNvbnNwaWN1b3VzIHdh
eS4KLSAqIAotICogWW91IG1heSBub3QgdXNlIHRoaXMgQk9OREkgUmVmZXJlbmNlIEltcGxlbWVu
dGF0aW9uIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuIAotICogCi0gKiBZ
b3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQgaHR0cDovL3d3dy5hcGFjaGUu
b3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wIG9yIGF0IAotICogaHR0cDovL2JvbmRpLm9tdHAub3Jn
L0JPTkRJLUxJQ0VOU0UtMi4wIAotICovCi0KLS8qKgotICogXGJyaWVmIENvbW1vbiBCT05ESSBm
dW5jdGlvbmFsaXR5LgotICoKLSAqIFRoZXNlIGRlZmluaXRpb25zIGNhbiBiZSB1c2VkIGluIGFs
bCBvdGhlciBCT05ESSBtb2R1bGVzIGFzIGRlcGVuZGVuY2llcy4KLSAgKiBcdmVyc2lvbiAxLjEK
LSAqLwotbW9kdWxlIGJvbmRpIHsKLQotCS8qKgotCSAqIFxicmllZiBBcnJheSBvZiBET01TdHJp
bmdzLgotCSAqLwotCXR5cGVkZWYgc2VxdWVuY2U8RE9NU3RyaW5nPiBTdHJpbmdBcnJheTsKLQot
CS8qKgotCSAqIFxicmllZiBBcnJheSBvZiA4LWJpdCB1bnNpZ25lZCBpbnRlZ2VyIHZhbHVlcy4K
LQkgKi8KLQl0eXBlZGVmIHNlcXVlbmNlPG9jdGV0PiAgICAgQnl0ZUFycmF5OwotCi0JLyoqCi0J
ICogXGJyaWVmIEFycmF5IG9mIDE2LWJpdCBzaWduZWQgaW50ZWdlciB2YWx1ZXMuCi0JICovCi0J
dHlwZWRlZiBzZXF1ZW5jZTxzaG9ydD4gICAgIFNob3J0QXJyYXk7Ci0KLQkvKioKLQkgKiBcYnJp
ZWYgQXJyYXkgb2YgMzItYml0IHNpZ25lZCBpbnRlZ2VyIHZhbHVlcy4KLQkgKi8KLQl0eXBlZGVm
IHNlcXVlbmNlPGxvbmc+ICAgICAgTG9uZ0FycmF5OwotCi0JLyoqCi0JICogXGJyaWVmIEFycmF5
IG9mIGZsb2F0aW5nIHBvaW50IHZhbHVlcy4KLQkgKi8KLQl0eXBlZGVmIHNlcXVlbmNlPGZsb2F0
PiAgICAgRmxvYXRBcnJheTsKLQotCS8qKgotCSAqIFxicmllZiBHZW5lcmljIE1hcCBvYmplY3Qu
Ci0JICovCi0JdHlwZWRlZiBPYmplY3QgICAgICAgICAgICAgIE1hcDsKLQotCS8qKgotCSAqIFxi
cmllZiBHZW5lcmljIHN1Y2Nlc3MgY2FsbGJhY2sgaW50ZXJmYWNlLgotCSAqLwotCVtDYWxsYmFj
az1GdW5jdGlvbk9ubHksIE5vSW50ZXJmYWNlT2JqZWN0XSBpbnRlcmZhY2UgU3VjY2Vzc0NhbGxi
YWNrIHsKLQkgICAvKioKLQkgICAgKiBcYnJpZWYgTWV0aG9kIGludm9rZWQgd2hlbiB0aGUgYXN5
bmNocm9ub3VzIGNhbGwgY29tcGxldGVzIHN1Y2Nlc3NmdWxseQotCSAgICAqLwotCQl2b2lkIG9u
U3VjY2VzcygpOwotCX07Ci0KLQotCS8qKgotCSAqIFxicmllZiBTdWNjZXNzIGNhbGxiYWNrIGlu
dGVyZmFjZSBmb3IgcmVxdWVzdEZlYXR1cmUgaW52b2NhdGlvbnMKLQkgKi8KLSAgICBbQ2FsbGJh
Y2s9RnVuY3Rpb25Pbmx5LCBOb0ludGVyZmFjZU9iamVjdF0gaW50ZXJmYWNlIFJlcXVlc3RGZWF0
dXJlU3VjY2Vzc0NhbGxiYWNrIHsNCi0gICAgICAgLyoqCi0JICAgICogXGJyaWVmIE1ldGhvZCBp
bnZva2VkIHVwb24gYSBzdWNjZXNmdWwgcmVxdWVzdEZlYXR1cmUgaW52b2NhdGlvbgotCSAgICAq
Ci0JICAgICogXHBhcmFtIG9iIE9iamVjdCBpbXBsZW1lbnRpbmcgdGhlIEphdmFTY3JpcHQgQVBJ
IGFzc29jaWF0ZWQgd2l0aCB0aGUgcmVxdWVzdGVkIEZlYXR1cmUuCi0JICAgICovDQotICAgICAg
ICB2b2lkIG9uU3VjY2VzcyhpbiBPYmplY3Qgb2IpOw0KLSAgICAgfTsNCi0KLQotCS8qKgotCSAq
IFxicmllZiBHZW5lcmljIGVycm9yIGNhbGxiYWNrIGludGVyZmFjZS4KLQkgKi8KLQlbQ2FsbGJh
Y2s9RnVuY3Rpb25Pbmx5LCBOb0ludGVyZmFjZU9iamVjdF0gaW50ZXJmYWNlIEVycm9yQ2FsbGJh
Y2sgewotCSAgIC8qKgotCSAgICAqIFxicmllZiBNZXRob2QgaW52b2tlZCB3aGVuIGFuIGVycm9y
IG9jY3VycwotCSAgICAqCi0JICAgICogXHBhcmFtIGVycm9yIFRoZSBlcnJvciB0aGF0IGlzIHJh
aXNlZC4KLQkgICAgKi8KLQkJdm9pZCBvbkVycm9yKGluIEdlbmVyaWNFcnJvciBlcnJvcik7Ci0J
fTsKLQotCS8qKgotCSAqIFxicmllZiBHZW5lcmljIGVycm9yIGludGVyZmFjZS4KLQkgKgotCSAq
IAotCSAqLwotCi0KLQlpbnRlcmZhY2UgR2VuZXJpY0Vycm9yIHsKLQotCQkvKioKLQkJICogXGJy
aWVmIDE2LWJpdCBlcnJvciBjb2RlLgotCQkgKi8KLQkJcmVhZG9ubHkgYXR0cmlidXRlIHVuc2ln
bmVkIHNob3J0IGNvZGU7Ci0JfTsKLQkJCi0JLyoqCi0JICogXGJyaWVmIERldmljZUFwaUVycm9y
IGVycm9yIGludGVyZmFjZS4KLQkgKgotCSAqIFRoZSBlcnJvciBjb2RlcyBtdXN0IGJlIGluIHRo
ZSByYW5nZSAxMDAwMC0xOTk5OS4KLQkgKi8KLQotCWludGVyZmFjZSBEZXZpY2VBUElFcnJvciA6
IEdlbmVyaWNFcnJvciB7Ci0KLQkJLyoqCi0JCSAqIFxicmllZiBVbmtub3duIGVycm9yLgotCQkg
Ki8KLQkJY29uc3QgdW5zaWduZWQgc2hvcnQgVU5LTk9XTl9FUlJPUiAgICAgICAgICAgPSAxMDAw
MDsKLQotCQkvKioKLQkJICogXGJyaWVmIEludmFsaWQgdmFsdWUgd2FzIHNwZWNpZmllZCBhcyBp
bnB1dCBwYXJhbWV0ZXIuCi0JCSAqLwotCQljb25zdCB1bnNpZ25lZCBzaG9ydCBJTlZBTElEX0FS
R1VNRU5UX0VSUk9SICA9IDEwMDAxOwotCi0JCS8qKgotCQkgKiBcYnJpZWYgVGhlIHNlYXJjaGVk
IHZhbHVlIG9yIG9iamVjdCB3YXMgbm90IGZvdW5kLgotCQkgKi8KLQkJY29uc3QgdW5zaWduZWQg
c2hvcnQgTk9UX0ZPVU5EX0VSUk9SICAgICAgICAgPSAxMDAwMjsKLQotCQkvKioKLQkJICogXGJy
aWVmIE9wZXJhdGlvbiBpcyBwZW5kaW5nLgotCQkgKi8KLQkJY29uc3QgdW5zaWduZWQgc2hvcnQg
UEVORElOR19PUEVSQVRJT05fRVJST1IgPSAxMDAwMzsKLQotCQkvKioKLQkJICogXGJyaWVmIElu
cHV0L091dHB1dCBlcnJvci4KLQkJICovCi0JCWNvbnN0IHVuc2lnbmVkIHNob3J0IElPX0VSUk9S
ICAgICAgICAgICAgICAgID0gMTAwMDQ7Ci0KLQkJLyoqCi0JCSAqIFxicmllZiBOb3Qgc3VwcG9y
dGVkIGVycm9yLgotCQkgKi8KLQkJY29uc3QgdW5zaWduZWQgc2hvcnQgTk9UX1NVUFBPUlRFRF9F
UlJPUiAgICAgPSAxMDAwNTsKLQl9OwotCi0JLyoqCi0JICogXGJyaWVmIFNlY3VyaXR5IGVycm9y
IGludGVyZmFjZS4KLQkgKgotCSAqIFRoZSBlcnJvciBjb2RlcyBtdXN0IGJlIGluIHRoZSByYW5n
ZSAyMDAwMC0yOTk5OQotCSAqLwotCWludGVyZmFjZSBTZWN1cml0eUVycm9yIDogR2VuZXJpY0Vy
cm9yIHsKLQkJY29uc3QgdW5zaWduZWQgc2hvcnQgUEVSTUlTU0lPTl9ERU5JRURfRVJST1IgPSAy
MDAwMDsKLQl9OwotCi0JLyoqCi0JICogXGJyaWVmIFBlbmRpbmdPcGVyYXRpb24uCi0JICoKLQkg
KiBJbnRlcmZhY2UgdGhhdCBpcyByZXR1cm5lZCBieSBhc3luY2hyb25vdXMgb3BlcmF0aW9ucyBp
biBvcmRlciB0bwotCSAqIHByb3ZpZGUgYSBjYW5jZWxsYXRpb24gb3BlcmF0aW9uLgotCSAqLwot
CWludGVyZmFjZSBQZW5kaW5nT3BlcmF0aW9uIHsKLQkJLyoqCi0JCSAqIFxicmllZiBDYWxsIHRv
IGNhbmNlbCB0aGUgdW5kZXJseWluZyBhc3luY2hyb25vdXMgb3BlcmF0aW9uLgotCQkgKgotCQkg
KiBUaGlzIGNhbGwgaXMgYWx3YXlzIHN1Y2Nlc3NmdWwsIGkuZS4gdGhlIHBlbmRpbmcgb3BlcmF0
aW9uIGkuZS4KLQkJICogZWl0aGVyIGNhbmNlbGxlZCBvciBvbmUgb2YgdGhlIGNhbGxiYWNrIGlz
IGNhbGxlZC4KLQkJICoKLQkJICogXHJldHVybiA8ZW0+ZmFsc2U8L2VtPiBpZiB0aGUgY2FuY2Vs
bGF0aW9uIGRpZCBub3Qgc3VjY2VlZAotCQkgKiBlaXRoZXIgYmVjYXVzZSB0aGUgcGVuZGluZyBv
cGVyYXRpb24gZmluaXNoZWQgYWxyZWFkeSBvciBiZWNhdXNlCi0JCSAqIHRoZSBjYW5jZWxsYXRp
b24gY2Fubm90IHN1Y2NlZWQgZHVlIHRvIHRlY2huaWNhbCBsaW1pdGF0aW9ucyBpbgotCQkgKiB0
aGUgdW5kZXJseWluZyBpbXBsZW1lbnRhdGlvbi4gQ29uc3F1ZW50bHkgdGhlIHBlbmRpbmcgb3Bl
cmF0aW9uIAotCQkgKiBjb21wbGV0ZXMgYW5kIGRlcGVuZGluZyBvbiB0aGUgc3VjY2VzcyBvciBm
YWlsdXJlIHRoZSBhcHByb3ByaWF0ZQotCQkgKiBjYWxsYmFja3Mgd2lsbCBiZSBjYWxsZWQuCi0J
CSAqIDxlbT50cnVlPC9lbT4gaWYgdGhlIGNhbmNlbGxhdGlvbiBkaWQgc3VjY2VlZC4gTm8gY2Fs
bGJhY2tzIHdpbGwKLQkJICogYmUgY2FsbGVkIGJ5IHRoZSBjYW5jZWxsZWQgcGVuZGluZyBvcGVy
YXRpb24uCi0JCSAqLwotCQlib29sZWFuIGNhbmNlbCgpOwotCX07Ci0KLQkvKioKLQkgKiBcYnJp
ZWYgQk9OREkgcm9vdCBBUEkuCi0JICogYm9uZGkgcm9vdCBwcm9wZXJ0eSBleGlzdHMgaW4gdGhl
IGdsb2JhbCBvYmplY3QKLQkgKiBcZGVmLWFwaS1mZWF0dXJlIGh0dHA6Ly9ib25kaS5vbXRwLm9y
Zy9hcGkvYm9uZGkucmVxdWVzdGZlYXR1cmUKLQkgKi8KLQlpbnRlcmZhY2UgQm9uZGkgewotCQkv
KioKLQkJICogXGJyaWVmIFJlcXVlc3RzIGEgZmVhdHVyZS4KLQkJICoKLQkJICogVGhpcyBmdW5j
dGlvbiByZXF1ZXN0cyBhIG5hbWVkIGZlYXR1cmUKLQkJICogYXN5bmNocm9ub3VzbHkgYW5kIHJl
dHVybnMgYSBwZW5kaW5nIG9wZXJhdGlvbiBvYmplY3QuCi0JCSAqIElmIGl0IHN1Y2NlZWRzIGl0
IGNhbGxzIHRoZSBzdWNjZXNzQ2FsbGJhY2sgYW5kIHBhc3NlcyBpbgotCQkgKiB0aGUgb2JqZWN0
IG9mIHRoZSByZXF1ZXN0ZWQgZmVhdHVyZS4gSWYgaXQgZmFpbHMgaXQgY2FsbHMKLQkJICogdGhl
IGVycm9yQ2FsbGJhY2sgcGFzc2luZyBpbiBhIERldmljZUFQSUVycm9yIHdoaWNoIHByb3ZpZGVz
IAotCQkgKiBhbiBlcnJvciBtZXNzYWdlIGFuZCBlcnJvciBjb2RlIGluZGljYXRpbmcgdGhlIG5h
dHVyZSBvZiB0aGUgZXJyb3IuCi0JCSAqCi0JCSAqIElmIHRoZSByZXF1ZXN0ZWQgZmVhdHVyZSBi
aW5kcyBpdHNlbGYgdG8gYSByb290IG5hbWVzcGFjZQotCQkgKiAoIGZvciBleGFtcGxlLCAiYm9u
ZGkucGltLmNvbnRhY3QiKSB0aGlzIHdpbGwgaGFwcGVuIHByaW9yIHRvIHRoZQotCQkgKiBzdWNj
ZXNzQ2FsbGJhY2sgYmVpbmcgaW52b2tlZC4KLQkJICoKLQkJICogXHBhcmFtIHN1Y2Nlc3NDYWxs
YmFjayAgdGhlIHN1Y2Nlc3MgY2FsbGJhY2sgZnVuY3Rpb24KLQkJICogXHBhcmFtIGVycm9yQ2Fs
bGJhY2sgICAgdGhlIGVycm9yIGNhbGxiYWNrIGZ1bmN0aW9uCi0JCSAqIFxwYXJhbSBuYW1lICAg
ICAgICAgICAgIHRoZSBmZWF0dXJlIG5hbWUgSVJJCi0JCSAqCi0JCSAqIFxyZXR1cm4gUGVuZGlu
Z09wZXJhdGlvbiBlbmFibGluZyB0aGUgcmVxdWVzdGVyIHRvIGNhbmNlbCB0aGlzIHJlcXVlc3Qu
Ci0JCSAqCi0JCSAqIFRoZSBlcnJvckNhbGxiYWNrIHdpbGwgcmVjZWl2ZSBvbmUgb2YgdGhlIGZv
bGxvd2luZyBlcnJvcnM6Ci0JCSAqIFx0aHJvdyBEZXZpY2VBUElFcnJvciBJTlZBTElEX0FSR1VN
RU5UX0VSUk9SIGlmIGEgbWFsZm9ybWVkCi0JCSAqIGFyZ3VtZW50IGhhcyBiZWVuIHN1cHBsaWVk
IG9yIGEgcmVxdWlyZWQgYXJndW1lbnQgaGFzIGJlZW4gb21pdHRlZC4KLQkJICogXHRocm93IERl
dmljZUFQSUVycm9yIE5PVF9GT1VORF9FUlJPUiBpZiB0aGUgcmVxdWVzdGVkIGZlYXR1cmUgY291
bGQgbm90IGJlIGZvdW5kLgotCQkgKiBcdGhyb3cgU2VjdXJpdHlFcnJvciBQRVJNSVNTSU9OX0RF
TklFRF9FUlJPUiBpZiB0aGUKLQkJICogcmVxdWVzdGVkIGZlYXR1cmUgaXMgbm90IHBlcm1pdHRl
ZCB0byBsb2FkL2JpbmQgb3IgdGhhdAotCQkgKiBhY2Nlc3MgdG8gYSByZXF1aXJlZCBkZXZpY2Ug
Y2FwYWJpbGl0eSBoYXMgYmVlbiBkZW5pZWQuCi0JCSAqIFx0aHJvdyBEZXZpY2VBUElFcnJvciBV
TktOT1dOX0VSUk9SIGlmIGFuIGVycm9yIG9jY3VycmVkIGFuZCBhIHBlbmRpbmcKLQkJICogb3Bl
cmF0aW9uIG9iamVjdCBjYW4ndCBiZSByZXR1cm5lZC4KLQkJICovCi0JCVBlbmRpbmdPcGVyYXRp
b24gcmVxdWVzdEZlYXR1cmUoaW4gUmVxdWVzdEZlYXR1cmVTdWNjZXNzQ2FsbGJhY2sgc3VjY2Vz
c0NhbGxiYWNrLAotCQkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIEVycm9yQ2Fs
bGJhY2sgICBlcnJvckNhbGxiYWNrLAotCQkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGluIERPTVN0cmluZyAgICAgICBuYW1lKQotCQkJcmFpc2VzKERldmljZUFQSUVycm9yLCBTZWN1
cml0eUVycm9yKTsKLQl9OwotCWludGVyZmFjZSBCb25kaU9iamVjdCB7Ci0JCXJlYWRvbmx5IGF0
dHJpYnV0ZSBCb25kaSBib25kaTsgCi0JfTsKLQlXaW5kb3cgaW1wbGVtZW50cyBib25kaU9iamVj
dDsKLX07CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvZXhhbXBsZXMvZmlsZXN5c3Rl
bS53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL2V4YW1wbGVzL2ZpbGVzeXN0ZW0ud2lkbApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzVmNjAyYjg1OGFkNzZmMDg5OWQ0YTM5NzY5ZTk4
MjI4MzdmMTViZC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvZXhhbXBsZXMvZmlsZXN5c3RlbS53aWRsCisrKyAvZGV2L251
bGwKQEAgLTEsMTAzOCArMCwwIEBACi0vKiAKLSAqIExpY2Vuc2VkIHRvIE9NVFAgTHRkLiAoT01U
UCkgdW5kZXIgb25lIG9yIG1vcmUgY29udHJpYnV0b3IgbGljZW5zZSBhZ3JlZW1lbnRzLiAKLSAq
IFNlZSB0aGUgTk9USUNFIGZpbGUgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHdvcmsgZm9yIGFkZGl0
aW9uYWwgaW5mb3JtYXRpb24gcmVnYXJkaW5nIAotICogY29weXJpZ2h0IG93bmVyc2hpcC4gCi0g
KiAKLSAqIFRoZSBSZWZlcmVuY2UgSW1wbGVtZW50YXRpb24gKHNhdmUgZm9yIHN1Y2ggcGFydHMg
b2YgdGhlIHJlZmVyZW5jZSBpbXBsZW1lbnRhdGlvbiBtYWRlIAotICogYXZhaWxhYmxlIHVuZGVy
IHNlcGFyYXRlIHRlcm1zIGFuZCBjb25kaXRpb25zKSBpcyBtYWRlIGF2YWlsYWJsZSB1bmRlciB0
aGUgdGVybXMgb2YgdGhlIAotICogQXBhY2hlIExpY2Vuc2UsIHZlcnNpb24gMi4wLCBzdWJqZWN0
IHRvIHRoZSBjb25kaXRpb24gdGhhdCBhbnkgIldvcmtzIiBhbmQgIkRlcml2YXRpdmUgCi0gKiBX
b3JrcyIgdXNlZCBvciBkaXN0cmlidXRlZCBmb3IgY29tbWVyY2lhbCBwdXJwb3NlcyBtdXN0IGJl
IGFuZCByZW1haW4gY29tcGxpYW50IHdpdGggdGhlCi0gKiBCT05ESSBzcGVjaWZpY2F0aW9uIGFz
IHByb211bGdhdGVkIGJ5IE9NVFAgaW4gZWFjaCByZWxlYXNlLiBZb3VyIGltcGxlbWVudGF0aW9u
IG9mIHRoZSAKLSAqIFJlZmVyZW5jZSBJbXBsZW1lbnRhdGlvbiAod2hldGhlciBvYmplY3Qgb3Ig
c291cmNlKSBtdXN0IG1haW50YWluIHRoZXNlIGNvbmRpdGlvbnMsIGFuZCAKLSAqIHlvdSBtdXN0
IG5vdGlmeSBhbnkgcmVjaXBpZW50IG9mIHRoaXMgY29uZGl0aW9uIGluIGEgY29uc3BpY3VvdXMg
d2F5LgotICogCi0gKiBZb3UgbWF5IG5vdCB1c2UgdGhpcyBCT05ESSBSZWZlcmVuY2UgSW1wbGVt
ZW50YXRpb24gZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4gCi0gKiAKLSAq
IFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdCBodHRwOi8vd3d3LmFwYWNo
ZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAgb3IgYXQgCi0gKiBodHRwOi8vYm9uZGkub210cC5v
cmcvQk9OREktTElDRU5TRS0yLjAgCi0gKi8KLQotLyoqCi0gKiBcYnJpZWYgQk9OREkgZmlsZXN5
c3RlbSBBUEkuCi0gKgotICogVGhlIEJPTkRJIGZpbGVzeXN0ZW0gQVBJIHByb3ZpZGVzIGFjY2Vz
cyB0byB0aGUgZmlsZXN5c3RlbSBvZiBhIGRldmljZS4gVGhlCi0gKiBmaWxlc3lzdGVtIGlzIGFi
c3RyYWN0bHkgcmVwcmVzZW50ZWQgYXMgYSBjb2xsZWN0aW9uIG9mIGRpc2pvaW50IGZpbGVzeXN0
ZW0KLSAqIHJvb3QgbG9jYXRpb25zIGVhY2ggY29ycmVzcG9uZGluZyB0byBzb21lIHNwZWNpZmlj
IGxvY2F0aW9uIGluIHRoZSBkZXZpY2UKLSAqIGZpbGVzeXN0ZW0uICBUaGUgZmlsZXN5c3RlbSBB
UEkgZXhwb3NlcyB0aGUgaGllcmFyY2hpZXMgYmVsb3cgdGhlc2Ugcm9vdAotICogbG9jYXRpb25z
IGFzIGEgc2luZ2xlIHZpcnR1YWwgZmlsZXN5c3RlbSBidXQgcHJvdmlkZXMgbm8gYWNjZXNzIHRv
IG90aGVyCi0gKiBwYXJ0cyBvZiB0aGUgZGV2aWNlIGZpbGVzeXN0ZW0uCi0gKgotICogVGhlIHJv
b3RzIHRoYXQgYXJlIGV4cG9zZWQgYXJlIGRldGVybWluZWQgYnkgdGhlIHBsYXRmb3JtIGFsc28g
YnkgdGhlCi0gKiBjb250ZXh0IGluIHdoaWNoIHRoZSBmaWxlc3lzdGVtIEFQSSBpcyBpbnZva2Vk
LgotICoKLSAqIEVhY2ggcm9vdCBoYXMgYSBzdHJpbmcgbmFtZS4gRWFjaCBmaWxlIG9yIGRpcmVj
dG9yeSB3aXRoaW4gdGhlIHZpcnR1YWwKLSAqIGZpbGVzeXN0ZW0gaXMgYWRkcmVzc2VkIHVzaW5n
IGEgZnVsbHktcXVhbGlmaWVkIHBhdGggb2YgdGhlIGZvcm06Ci0gKiA8ZW0+Jmx0O3Jvb3QgbmFt
ZSZndDsvJmx0O3BhdGgmZ3Q7PC9lbT4gd2hlcmUgPGVtPiZsdDtyb290bmFtZSZndDs8L2VtPiBp
cwotICogdGhlIG5hbWUgb2YgdGhlIHJvb3QgYW5kIDxlbT4mbHQ7cGF0aCZndDs8L2VtPiBpcyB0
aGUgcGF0aCB0byB0aGUgZmlsZSBvcgotICogZGlyZWN0b3J5IHJlbGF0aXZlIHRvIHRoYXQgcm9v
dC4KLSAqIAotICogVGhlIGxpc3Qgb2YgdGhlIHN1cHBvcnRlZCByb290IGxvY2F0aW9ucyBjYW4g
YmUgcmV0cmlldmVkIGJ5IGNhbGxpbmcKLSAqIGZpbGVzeXN0ZW0uZ2V0Um9vdExvY2F0aW9ucygp
LgotICoKLSAqIFRoZSBkZWZhdWx0IGxvY2F0aW9uIGZvciBhIHNwZWNpZmljIHR5cGUgb2YgZmls
ZSwgaWYgb25lIGV4aXN0cywgY2FuIGJlCi0gKiBvYnRhaW5lZCBieSBjYWxsaW5nIHRoZSBmaWxl
c3lzdGVtLmdldERlZmF1bHRMb2NhdGlvbiguLi4pIG1ldGhvZC4gQSBzZXQgb2YKLSAqIHBsYXRm
b3JtLWluZGVwZW5kZW50IHN5bWJvbGljIG5hbWVzIGZvciBtZWRpYSB0eXBlcyBpcyBkZWZpbmVk
LiBUaGUgZGVmYXVsdAotICogbG9jYXRpb24gZm9yIGEgZ2l2ZW4gZmlsZSB0eXBlIG1heSBpdHNl
bGYgYmUgYSByb290LCBvciBzb21lIHN1YmRpcmVjdG9yeSBvZgotICogYSByb290LiBBbHRob3Vn
aCB0aGUgc2V0IG9mIHJvb3RzIGF2YWlsYWJsZSBvbiBhIGRldmljZSBpcwotICogcGxhdGZvcm0t
ZGVwZW5kZW50LCB0aGUgZ2V0RGVmYXVsdExvY2F0aW9uKC4uLikgZnVuY3Rpb25hbGl0eSBjYW4g
YmUgdXNlZCB0bwotICogZW5zdXJlIHRoYXQgd2ViIGFwcGxpY2F0aW9ucyBjYW4gYmUgd3JpdHRl
biBpbiBhIHBsYXRmb3JtLWluZGVwZW5kZW50IHdheS4KLSAqCi0gKiBJbiBvcmRlciB0byBhY2Nl
c3Mgc3BlY2lmaWMgbG9jYXRpb25zIHdoaWNoIGFyZSBwcmVmaXhlZCB3aXRoIGEgdmFsdWUKLSAq
IHJldHJpZXZlZCBieSBmaWxlc3lzdGVtLmdldERlZmF1bHRMb2NhdGlvbiBvciBzb21lIHJvb3Qg
bG9jYXRpb24gcmV0dXJuZWQgYnkKLSAqIGZpbGVzeXN0ZW0uZ2V0Um9vdExvY2F0aW9ucyBhIEZp
bGUgaGFuZGxlIG11c3QgYmUgcmV0cmlldmVkIHVzaW5nIHRoZQotICogZmlsZXN5c3RlbS5yZXNv
bHZlIGNhbGwuCi0gKgotICogQSBGaWxlIGhhbmRsZSByZXByZXNlbnRzIGVpdGhlciBhIGZpbGUg
b3IgYSBkaXJlY3RvcnkuIElmIGl0IGlzIGEgZmlsZSB0aGUKLSAqIGlzRmlsZSBhdHRyaWJ1dGUg
d2lsbCBiZSA8ZW0+dHJ1ZTwvZW0+LCBvdGhlcndpc2UgdGhlIGlzRGlyZWN0b3J5IGF0dHJpYnV0
ZQotICogd2lsbCBiZSA8ZW0+dHJ1ZTwvZW0+LiBBIGZpbGUgY2FuIGJlIG9wZW5lZCBmb3IgcmVh
ZGluZyBhbmQgd3JpdGluZywgdXNpbmcgYQotICogRmlsZVN0cmVhbSBoYW5kbGUuIEEgZGlyZWN0
b3J5IGNhbiBiZSB1c2VkIHRvIGxpc3QgaXRzIGNvbnRlbnRzIHdoaWNoIGlzIGEKLSAqIGxpc3Qg
b2YgZmlsZXMgYW5kIHN1Yi1kaXJlY3Rvcmllcy4gVGhlcmUgaXMgYSByZXNvbHZlIG1ldGhvZCBv
biBkaXJlY3RvcmllcwotICogYXMgd2VsbCBpbiBvcmRlciB0byByZXNvbHZlIGZpbGVzIG9yIHN1
Yi1kaXJlY3RvcmllcyBtb3JlIGNvbnZlbmllbnRseSB0aGFuCi0gKiBwcm9jZXNzaW5nIGRpcmVj
dG9yeSBsaXN0aW5ncy4KLSAqCi0gKiBUaGUgIi8iIGNoYXJhY3RlciBpcyB1c2VkIGFzIHRoZSAo
cGF0aCkgY29tcG9uZW50IHNlcGFyYXRvci4KLSAqIFRoZSB1c2Ugb2YgIi4iIG9yICIuLiIgaW4g
bG9jYXRpb24gY29tcG9uZW50cyBpcyBub3QgcmVxdWlyZWQgdG8gYmUKLSAqIHN1cHBvcnRlZC4K
LSAqCi0gKiBBbGwgcGF0aCBjaGFyYWN0ZXJzIG5lZWQgdG8gYmUgPGEgaHJlZj0iaHR0cDovL3d3
dy5pZXRmLm9yZy9yZmMvcmZjMjI3OS50eHQiPlVURi04PC9hPiBlbmNvZGVkLgotICoKLSAqIFxj
b2RlCi0gKiAJZnVuY3Rpb24gZXJyb3JDQihlcnIpIHsKLSAqIAkJYWxlcnQoIkJPTkRJIGZpbGVz
eXN0ZW0gQVBJIGNvdWxkbid0IGJlIHJlcXVlc3RlZDogIiArIGVyci5tZXNzYWdlKTsKLSAqIAl9
Ci0gKgotICogCWZ1bmN0aW9uIHN1Y2Nlc3NDQigpIHsKLSAqIAkJdmFyIGRvY0xvY2F0aW9uID0g
Ym9uZGkuZmlsZXN5c3RlbS5nZXREZWZhdWx0TG9jYXRpb24oImRvY3VtZW50cyIpOwotICogCQl2
YXIgZG9jRGlyID0gYm9uZGkuZmlsZXN5c3RlbS5yZXNvbHZlKGRvY0xvY2F0aW9uKTsKLSAqIAkJ
dmFyIGRvY0ZpbGVzID0gZG9jRGlyLmxpc3RGaWxlcygpOwotICogCQlmb3IodmFyIGkgPSAwOyBp
ICZsdDsgZG9jRmlsZXMubGVuZ3RoOyBpKyspIHsKLSAqIAkJCS8vIGRpc3BsYXlzIG5hbWUgb2Yg
ZWFjaCBpbWFnZSBmaWxlIGluIGltYWdlIGRpcmVjdG9yeQotICogCQkJYWxlcnQoZG9jRmlsZXNb
aV0ubmFtZSk7Ci0gKiAJCX0KLSAqIAkJdmFyIHRlc3RGaWxlID0gZG9jRGlyLmNyZWF0ZUZpbGUo
InRlc3QudHh0Iik7Ci0gKiAJCXZhciBvdXQgPSB0ZXN0RmlsZS5vcGVuKCJ3IiwgIlVURi04Iik7
Ci0gKiAJCS8vIHdyaXRlcyBIZWxsbyBXb3JsZCB0byB0ZXN0LnR4dAotICogCQlvdXQud3JpdGUo
IkhlbGxvIFdvcmxkIik7Ci0gKiAJCW91dC5jbG9zZSgpOwotICogCX0KLSAqCi0gKiAJYm9uZGku
cmVxdWVzdEZlYXR1cmUoc3VjY2Vzc0NCLCBlcnJvckNCLCAiZmlsZXN5c3RlbSIpOwotICogXGVu
ZGNvZGUKLSAqIAotICogXGRlZi1hcGktZmVhdHVyZSBodHRwOi8vYm9uZGkub210cC5vcmcvYXBp
L2ZpbGVzeXN0ZW0ucmVhZAotICogXGJyaWVmIEZpbGVzeXN0ZW0gcmVhZCBvcGVyYXRpb25zLCBp
bmNsdWRpbmcgcmVhZGluZyBkaXJlY3RvcnkgbGlzdGluZ3MsCi0gKiAgICAgICAgZmlsZSBjb250
ZW50cyBhbmQgcmVzb2x2aW5nIHJvb3QgbG9jYXRpb25zLgotICogXGRldmljZS1jYXAgaW8uZmls
ZS5yZWFkCi0gKgotICogXGRlZi1hcGktZmVhdHVyZSBodHRwOi8vYm9uZGkub210cC5vcmcvYXBp
L2ZpbGVzeXN0ZW0ud3JpdGUKLSAqIFxicmllZiBGaWxlc3lzdGVtIHdyaXRlIG9wZXJhdGlvbnMs
IGluY2x1ZGluZyBjcmVhdGluZyBmaWxlcy9kaXJlY3RvcmllcywKLSAqICAgICAgICB3cml0aW5n
IHRvIGZpbGVzLCBkZWxldGluZyBmaWxlcy9kaXJlY3RvcmllcywgbW92aW5nIGFuZCBjb3B5aW5n
Ci0gKiAgICAgICAgZmlsZXMuCi0gKiBcZGV2aWNlLWNhcCBpby5maWxlLndyaXRlCi0gKiAKLSAq
IFxkZWYtYXBpLWZlYXR1cmUtc2V0IGh0dHA6Ly9ib25kaS5vbXRwLm9yZy9hcGkvZmlsZXN5c3Rl
bQotICogXGJyaWVmIEFsbCB0aGUgRmlsZVN5c3RlbSBmZWF0dXJlcwotICogXGFwaS1mZWF0dXJl
IGh0dHA6Ly9ib25kaS5vbXRwLm9yZy9hcGkvZmlsZXN5c3RlbS5yZWFkCi0gKiBcYXBpLWZlYXR1
cmUgaHR0cDovL2JvbmRpLm9tdHAub3JnL2FwaS9maWxlc3lzdGVtLndyaXRlCi0gKgotICogXGRl
Zi1kZXZpY2UtY2FwIGlvLmZpbGUucmVhZAotICogXGJyaWVmIFJlYWQgZGlyZWN0b3J5IG9yIGZp
bGUKLSAqIFxwYXJhbSBuYW1lIE5hbWUgb2YgZGlyZWN0b3J5IG9yIGZpbGUsIGluIHZpcnR1YWwg
ZmlsZXN5c3RlbSwKLSAqIGUuZy4gcm9vdGxvY2F0aW9uL2ZpbGVuYW1lCi0gKgotICogXGRlZi1k
ZXZpY2UtY2FwIGlvLmZpbGUud3JpdGUKLSAqIFxicmllZiBXcml0ZSBkaXJlY3Rvcnkgb3IgZmls
ZQotICogXHBhcmFtIG5hbWUgTmFtZSBvZiBkaXJlY3Rvcnkgb3IgZmlsZSwgaW4gdmlydHVhbCBm
aWxlc3lzdGVtLAotICogZS5nLiByb290bG9jYXRpb24vZmlsZW5hbWUKLSAqCi0gKiBcYXV0aG9y
IFBhZGR5IEJ5ZXJzICZsdDtwYWRkeUBhcGxpeGNvcnAuY29tJmd0OwotICogXGF1dGhvciBBbnNl
bG0gUiBHYXJiZSAmbHQ7YW5zZWxtQGFwbGl4Y29ycC5jb20mZ3Q7Ci0gKiBcdmVyc2lvbiAxLjEK
LSAqLwotbW9kdWxlIGZpbGVzeXN0ZW0gewotCi0JLyoqCi0JICogXGJyaWVmIEFycmF5IG9mIEZp
bGUgaGFuZGxlcy4KLQkgKgotCSAqIFRoaXMgYXJyYXkgdHlwZSBpcyByZXR1cm5lZCB3aGVuIGRp
cmVjdG9yeSBsaXN0aW5ncyBhcmUgcmVxdWVzdGVkLgotCSAqLwotCXR5cGVkZWYgc2VxdWVuY2U8
RmlsZT4gRmlsZUFycmF5OwotCi0JLyoqCi0JICogXGJyaWVmIEZpbGUgc3lzdGVtIHNwZWNpZmlj
IHN1Y2Nlc3MgY2FsbGJhY2suCi0JICoKLQkgKiBUaGlzIGNhbGxiYWNrIGludGVyZmFjZSBzcGVj
aWZpZXMgYSBzdWNjZXNzIGNhbGxiYWNrIHdpdGggYSBmdW5jdGlvbgotCSAqIHRha2luZyBhIEZp
bGUgb2JqZWN0IGFzIGlucHV0IGFyZ3VtZW50LiBJdCBpcyB1c2VkIGluIGFzeW5jaHJvbm91cwot
CSAqIG9wZXJhdGlvbnMgc3VjaCBhcyBjb3B5aW5nLCBtb3ZpbmcgYW5kIGRlbGV0aW5nIGZpbGVz
LgotCSAqLwotCVtDYWxsYmFjaz1GdW5jdGlvbk9ubHksIE5vSW50ZXJmYWNlT2JqZWN0XSBpbnRl
cmZhY2UgRmlsZVN5c3RlbVN1Y2Nlc3NDYWxsYmFjayB7Ci0JICAgLyoqCi0JICAgICogXGJyaWVm
IE1ldGhvZCBpbnZva2VkIHdoZW4gdGhlIGFzeW5jaHJvbm91cyBjYWxsIGNvbXBsZXRlcyBzdWNj
ZXNmdWxseQotCSAgICAqCi0JICAgICogXHBhcmFtIGZpbGUgVGhlIGZpbGUgcmVzdWx0aW5nIGZy
b20gdGhlIGFzeW5jaHJvbm91cyBjYWxsCi0JICAgICovCi0JCXZvaWQgb25TdWNjZXNzKGluIEZp
bGUgZmlsZSk7Ci0JfTsKLQotCS8qKgotCSAqIFxicmllZiBNYW5hZ2VyIGNsYXNzIGV4cG9zZWQg
YXMgdGhlIGZpbGVzeXN0ZW0gbW9kdWxlcyBBUEkuCi0JICoKLQkgKiBUaGlzIG1hbmFnZXIgY2xh
c3MgZXhwb3NlcyB0aGUgZmlsZXN5c3RlbSBiYXNlIEFQSSwgc3VjaCBhcwotCSAqIGRldGVybWlu
aW5nIHJvb3QgYW5kIGRlZmF1bHQgbG9jYXRpb25zLCByZXNvbHZpbmcgYSBnaXZlbiBsb2NhdGlv
bgotCSAqIGludG8gYSBGaWxlIEhhbmRsZSBhbmQgcmVnaXN0ZXJpbmcgZmlsZXN5c3RlbSBsaXN0
ZW5lcnMgZm9yCi0JICogZmlsZXN5c3RlbSBldmVudHMuCi0JICoKLQkgKiBcY29kZQotCSAqIAlm
dW5jdGlvbiBlcnJvckNCKGVycikgewotCSAqIAkJYWxlcnQoIkJPTkRJIGZpbGVzeXN0ZW0gQVBJ
IGNvdWxkbid0IGJlIHJlcXVlc3RlZDogIiArIGVyci5tZXNzYWdlKTsKLQkgKiAJfQotCSAqCi0J
ICogCWZ1bmN0aW9uIHN1Y2Nlc3NDQigpIHsKLQkgKiAJCXZhciBkb2NMb2NhdGlvbiA9IGJvbmRp
LmZpbGVzeXN0ZW0uZ2V0RGVmYXVsdExvY2F0aW9uKCJkb2N1bWVudHMiKTsKLQkgKiAJCXZhciBk
b2NEaXIgPSBib25kaS5maWxlc3lzdGVtLnJlc29sdmUoZG9jTG9jYXRpb24pOwotCSAqIAkJdmFy
IGRvY0ZpbGVzID0gZG9jRGlyLmxpc3RGaWxlcygpOwotCSAqIAkJZm9yKHZhciBpID0gMDsgaSAm
bHQ7IGRvY0ZpbGVzLmxlbmd0aDsgaSsrKSB7Ci0JICogCQkJLy8gZGlzcGxheXMgbmFtZSBvZiBl
YWNoIGltYWdlIGZpbGUgaW4gaW1hZ2UgZGlyZWN0b3J5Ci0JICogCQkJYWxlcnQoZG9jRmlsZXNb
aV0ubmFtZSk7Ci0JICogCQl9Ci0JICogCQl2YXIgdGVzdEZpbGUgPSBkb2NEaXIuY3JlYXRlRmls
ZSgidGVzdC50eHQiKTsKLQkgKiAJCXZhciBvdXQgPSB0ZXN0RmlsZS5vcGVuKCJ3IiwgIlVURi04
Iik7Ci0JICogCQkvLyB3cml0ZXMgSGVsbG8gV29ybGQgdG8gdGVzdC50eHQKLQkgKiAJCW91dC53
cml0ZSgiSGVsbG8gV29ybGQiKTsKLQkgKiAJCW91dC5jbG9zZSgpOwotCSAqIAl9Ci0JICoKLQkg
KiAJYm9uZGkucmVxdWVzdEZlYXR1cmUoc3VjY2Vzc0NCLCBlcnJvckNCLCAiZmlsZXN5c3RlbSIp
OwotCSAqIFxlbmRjb2RlCi0JICovCi0JaW50ZXJmYWNlIEZpbGVTeXN0ZW1NYW5hZ2VyIHsKLQot
CQkvKioKLQkJICogXGJyaWVmIENvbnRhaW5zIHRoZSBwbGF0Zm9ybS1kZXBlbmRlbnQgbWF4aW11
bSBwYXRoIGxlbmd0aC4KLQkJICoKLQkJICogUmVhZC1vbmx5LgotCQkgKgotCQkgKiBcY29kZQot
CQkgKiAJYWxlcnQoYm9uZGkuZmlsZXN5c3RlbS5tYXhQYXRoTGVuZ3RoKTsKLQkJICogXGVuZGNv
ZGUKLQkJICovCi0JCXJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIG1heFBhdGhMZW5n
dGg7Ci0KLQkJLyoqCi0JCSAqIFxicmllZiBSZXR1cm5zIGEgZGVmYXVsdCBsb2NhdGlvbiBwYXRo
IGZvciB0aGUgZ2l2ZW4gYXJndW1lbnRzLAotCQkgKiBpbmNsdWRpbmcgdGhlIHJvb3QgbG9jYXRp
b24gcHJlZml4LgotCQkgKgotCQkgKiBPcHRpb25hbGx5IHRoaXMgbWV0aG9kIGNhbiBiZSBjYWxs
ZWQgd2l0aCB0aGUgc3BhY2UgYXJndW1lbnQKLQkJICogc3BlY2lmeWluZyB0aGUgbWluaW11bSBm
cmVlIGRpc2sgc3BhY2UgcmVxdWlyZWQuCi0JCSAqCi0JCSAqIFRoaXMgZnVuY3Rpb24gcmVzb2x2
ZXMgbG9jYXRpb24gc3BlY2lmaWVycyB0byBsb2NhdGlvbiBwYXRocy4KLQkJICogVGhlIGZvbGxv
d2luZyBsb2NhdGlvbiBzcGVjaWZpZXJzIGFyZSBzdXBwb3J0ZWQ6Ci0JCSAqIFxuICJ3Z3Q6cGFj
a2FnZSIgdGhlIHdpZGdldCBwYWNrYWdlIGxvY2F0aW9uCi0JCSAqIFxuICJ3Z3Q6cHJpdmF0ZSIg
dGhlIHdpZGdldHMgcHJpdmF0ZSBzdG9yYWdlCi0JCSAqIFxuICJ3Z3Q6cHVibGljIiAgdGhlIHdp
ZGdldHMgcHVibGljIHN0b3JhZ2UKLQkJICogXG4gIndndDp0ZW1wIiAgICB0aGUgd2lkZ2V0cyB0
ZW1wb3Jhcnkgc3RvcmFnZQotCQkgKiBcbiAiZG9jdW1lbnRzIiAgIHRoZSBkb2N1bWVudHMgbG9j
YXRpb24sCi0JCSAqICAgICAgICAgICAgICAgICAgICBlLmcuIHRoZSAiTXkgRG9jdW1lbnRzIiBk
aXJlY3Rvcnkgb24gc29tZSBzeXN0ZW1zCi0JCSAqIFxuICJpbWFnZXMiICAgICAgdGhlIGltYWdl
cyBsb2NhdGlvbiwKLQkJICogICAgICAgICAgICAgICAgICAgIGUuZy4gdGhlICJNeSBQaWN0dXJl
cyIgZGlyZWN0b3J5IG9uIHNvbWUgc3lzdGVtcwotCQkgKiBcbiAidmlkZW9zIiAgICAgIHRoZSB2
aWRlb3MgbG9jYXRpb24sCi0JCSAqICAgICAgICAgICAgICAgICAgICBlLmcuIHRoZSAiTXkgVmlk
ZW9zIiBkaXJlY3Rvcnkgb24gc29tZSBzeXN0ZW1zCi0JCSAqIFxuICJ0ZW1wIiAgICAgICAgdGhl
IHRlbXBvcmFyeSBzdG9yYWdlLAotCQkgKiAgICAgICAgICAgICAgICAgICAgZS5nIHJlc29sdmlu
ZyB0byAiVGVtcCIKLQkJICogXG4gInNkY2FyZCIgICAgICB0aGUgc2RjYXJkIHN0b3JhZ2UsIGlm
IGFueQotCQkgKgotCQkgKiBcY29kZQotCQkgKiAJdmFyIHdndExvY2F0aW9uID0gYm9uZGkuZmls
ZXN5c3RlbS5nZXREZWZhdWx0TG9jYXRpb24oJ3dndDpwYWNrYWdlJyk7Ci0JCSAqIFxlbmRjb2Rl
Ci0JCSAqCi0JCSAqIFxwYXJhbSBzcGVjaWZpZXIgICAgdGhlIGxvY2F0aW9uIHNwZWNpZmllciwg
c2VlIGFib3ZlIGZvciBzdXBwb3J0ZWQgc3BlY2lmaWVycy4KLQkJICogXHBhcmFtIG1pbkZyZWVT
cGFjZSBvcHRpb25hbCwgbWluaW11bSByZXF1aXJlZCBmcmVlIGRpc2sgc3BhY2UgaW4gYnl0ZXMg
Zm9yCi0JCSAqICAgICAgICAgICAgICAgICAgICAgdGhpcyBsb2NhdGlvbiwgPGVtPjA8L2VtPiAo
ZGVmYXVsdCkgbWVhbnMgbm8gbGltaXRhdGlvbgotCQkgKiBccmV0dXJuIHRoZSBsb2NhdGlvbiBh
cyBhIHN0cmluZyBvciA8ZW0+bnVsbDwvZW0+IGlmIHRoZXJlCi0JCSAqICAgICAgICAgaXMgbm8g
bG9jYXRpb24gZm9yIHRoZSBnaXZlbiBzcGVjaWZpZXIgb3IgaWYgdGhlcmUgaXMgbm90Ci0JCSAq
ICAgICAgICAgZW5vdWdoIHNwYWNlIGxlZnQgZm9yIHRoZSByZXF1ZXN0ZWQgc3BhY2UgaW4gYnl0
ZXMuCi0JCSAqIFx0aHJvdyBEZXZpY2VBUElFcnJvciBJTlZBTElEX0FSR1VNRU5UX0VSUk9SIGlm
IHRoZQotCQkgKiAgICAgICAgc3BlY2lmaWVyIG9yIHNwYWNlIGFyZ3VtZW50cyBhcmUgaW52YWxp
ZAotCQkgKi8KLQkJRE9NU3RyaW5nIGdldERlZmF1bHRMb2NhdGlvbihpbiBET01TdHJpbmcgc3Bl
Y2lmaWVyLCBpbiB1bnNpZ25lZCBsb25nIG1pbkZyZWVTcGFjZSkKLQkJCXJhaXNlcyhEZXZpY2VB
UElFcnJvcik7Ci0KLQkJLyoqCi0JCSAqIFxicmllZiBSZXR1cm5zIGFsbCByb290IGxvY2F0aW9u
cy4KLQkJICoKLQkJICogVGhlIHJvb3QgbG9jYXRpb25zIGFyZSBzeW1ib2xpYyBuYW1lcyBmb3Ig
ZmlsZXN5c3RlbQotCQkgKiBsb2NhdGlvbnMgd2hpY2ggYXJlIGFjY2Vzc2libGUgYW5kIHN1cHBv
cnRlZCBieSB0aGUKLQkJICogdW5kZXJseWluZyBwbGF0Zm9ybS4KLQkJICoKLQkJICogVXN1YWxs
eSB0aGUgZm9sbG93aW5nIHJvb3QgbG9jYXRpb25zIHdpbGwgYmUgc3VwcG9ydGVkOgotCQkgKiBc
biAiZG9jdW1lbnRzIiByZXByZXNlbnRzICJNeSBEb2N1bWVudHMiIG9uIHNvbWUgcGxhdGZvcm1z
Ci0JCSAqIFxuICJpbWFnZXMiICAgIHJlcHJlc2VudHMgIk15IFBpY3R1cmVzIiBvbiBzb21lIHBs
YXRmb3JtcwotCQkgKiBcbiAidmlkZW9zIiAgICByZXByZXNlbnRzICJNeSBWaWRlb3MiIG9uIHNv
bWUgcGxhdGZvcm1zCi0JCSAqIFxuICJ0ZW1wIiAgICAgIHJlcHJlc2VudHMgInRtcCIgb24gc29t
ZSBwbGF0Zm9ybXMKLQkJICogXG4gInNkY2FyZCIgICAgcmVwcmVzZW50cyB0aGUgc2RjYXJkIG9u
IHNvbWUgcGxhdGZvcm1zCi0JCSAqCi0JCSAqIFNlZSBhbHNvIHRoZSBnZXREZWZhdWx0TG9jYXRp
b24gbWV0aG9kLgotCQkgKgotCQkgKiBcY29kZQotCQkgKiAJdmFyIGxvY2F0aW9ucyA9IGJvbmRp
LmZpbGVzeXN0ZW0uZ2V0Um9vdExvY2F0aW9ucygpOwotCQkgKiAJZm9yKHZhciBpID0gMDsgaSAm
bHQ7IGxvY2F0aW9ucy5sZW5ndGg7IGkrKykgewotCQkgKiAJCS8vIGxvY2F0aW9uc1tpXSBpcyBh
IHJlc29sdmFibGUgcm9vdCBsb2NhdGlvbgotCQkgKiAJfQotCQkgKiBcZW5kY29kZQotCQkgKgot
CQkgKiBccmV0dXJuIHN0cmluZyBhcnJheSBvZiByb290IGxvY2F0aW9ucy4KLQkJICovCi0JCVN0
cmluZ0FycmF5IGdldFJvb3RMb2NhdGlvbnMoKTsKLQotCQkvKioKLQkJICogXGJyaWVmIFJlc29s
dmVzIGEgbG9jYXRpb24gdG8gYSBGaWxlIGhhbmRsZS4KLQkJICoKLQkJICogVmFsaWRhdGVzIGFu
ZCByZXNvbHZlcyB0aGUgZ2l2ZW4gbG9jYXRpb24gdG8gYSBGaWxlIGhhbmRsZQotCQkgKiBhbmQg
cmV0dXJucyBhIGhhbmRsZS4gQSB2YWxpZCBsb2NhdGlvbiBpcyBwcmVmaXhlZCB3aXRoIGEKLQkJ
ICogdmFsaWQgcm9vdCBvciBkZWZhdWx0IGxvY2F0aW9uIGFuZCBtdXN0IGFkZHJlc3MgYW4gZXhp
c3RpbmcKLQkJICogYW5kIGFjY2Vzc2libGUgZmlsZS4gIAotCQkgKgotCQkgKiBcYXBpLWZlYXR1
cmUgaHR0cDovL2JvbmRpLm9tdHAub3JnL2FwaS9maWxlc3lzdGVtLnJlYWQKLQkJICoKLQkJICog
XGNvZGUKLQkJICogCXZhciBsb2NhdGlvbiA9IGJvbmRpLmZpbGVzeXN0ZW0uZ2V0RGVmYXVsdExv
Y2F0aW9uKCJ0ZW1wIik7Ci0JCSAqIAl2YXIgdGVtcCA9IGJvbmRpLmZpbGVzeXN0ZW0ucmVzb2x2
ZShsb2NhdGlvbik7Ci0JCSAqIAl2YXIgZG9jdW1lbnRzID0gYm9uZGkuZmlsZXN5c3RlbS5nZXRE
ZWZhdWx0TG9jYXRpb24oImRvY3VtZW50cyIpOwotCQkgKiAJdmFyIG15ZG9jID0gYm9uZGkuZmls
ZXN5c3RlbS5yZXNvbHZlKGRvY3VtZW50cyArICIvZGF0YS8yMDA5L215ZG9jLnR4dCIpOwotCQkg
KiBcZW5kY29kZQotCQkgKgotCQkgKiBccGFyYW0gbG9jYXRpb24gdGhlIGxvY2F0aW9uIHRvIHJl
c29sdmUuIE11c3QgYmUgYWJzb2x1dGUKLQkJICogICAgICAgIHByZWZpeGVkIGJ5IGEgdmFsaWQg
cm9vdCBvciBkZWZhdWx0IGxvY2F0aW9uLgotCQkgKiBccmV0dXJuIHRoZSByZXNvbHZlZCBmaWxl
IG9iamVjdC4KLQkJICogXHRocm93IFNlY3VyaXR5RXJyb3IgUEVSTUlTU0lPTl9ERU5JRURfRVJS
T1Igd2hlbgotCQkgKiAgICAgICAgYWNjZXNzIGlzIGRlbmllZCBieSB0aGUgc2VjdXJpdHkgcG9s
aWN5LgotCQkgKiBcdGhyb3cgRGV2aWNlQVBJRXJyb3IgSU5WQUxJRF9BUkdVTUVOVF9FUlJPUiBp
ZiBpbnZhbGlkIGxvY2F0aW9uIHdhcyBnaXZlbi4KLQkJICovCi0JCUZpbGUgcmVzb2x2ZShpbiBE
T01TdHJpbmcgbG9jYXRpb24pCi0JCQlyYWlzZXMoU2VjdXJpdHlFcnJvciwgRGV2aWNlQVBJRXJy
b3IpOwotCi0JCS8qKgotCQkgKiBcYnJpZWYgUmVnaXN0ZXJzIGEgZmlsZXN5c3RlbSBldmVudCBs
aXN0ZW5lci4KLQkJICoKLQkJICogRmlsZXN5c3RlbSBldmVudCBsaXN0ZW5lcnMgYXJlIHVzZWQg
aW4gb3JkZXIgdG8gcmV0cmlldmUKLQkJICogbm90aWZpY2F0aW9ucyBpZiByb290IG9yIGRlZmF1
bHQgbG9jYXRpb25zIHN1Y2ggYXMgc3RvcmFnZQotCQkgKiBjYXJkcyBhcmUgbW91bnRlZC91bm1v
dW50ZWQgaW50by9mcm9tIHRoZSBkZXZpY2UgZmlsZXN5c3RlbS4KLQkJICoKLQkJICogXGFwaS1m
ZWF0dXJlIGh0dHA6Ly9ib25kaS5vbXRwLm9yZy9hcGkvZmlsZXN5c3RlbS5yZWFkCi0JCSAqCi0J
CSAqIFxjb2RlCi0JCSAqIAl2YXIgbGlzdGVuZXIgPSB7IG1vdW50RXZlbnQ6IGZ1bmN0aW9uKGxv
Y2F0aW9uKSB7IGFsZXJ0KCdtb3VudGVkICcgKyBsb2NhdGlvbik7IH0sCi0JCSAqIAkgICAgICAg
ICAgICAgICAgIHVubW91bnRFdmVudDogZnVuY3Rpb24obG9jYXRpb24pIHsgYWxlcnQoJ3VubW91
bnRlZCAnICsgbG9jYXRpb24pOyB9OwotCQkgKiAJYm9uZGkuZmlsZXN5c3RlbS5yZWdpc3RlckV2
ZW50TGlzdGVuZXIobGlzdGVuZXIpOwotCQkgKiBcZW5kY29kZQotCQkgKgotCQkgKiBccGFyYW0g
bGlzdGVuZXIgdGhlIGxpc3RlbmVyIGludGVyZmFjZSBpbXBsZW1lbnRhdGlvbgotCQkgKiBcdGhy
b3cgRGV2aWNlQVBJRXJyb3IgSU5WQUxJRF9BUkdVTUVOVF9FUlJPUiBpZiB0aGUgZ2l2ZW4gbGlz
dGVuZXIKLQkJICogICAgICAgIGlzIGludmFsaWQgb3Igbm90IGEgbGlzdGVuZXIuCi0JCSAqLwot
CQl2b2lkIHJlZ2lzdGVyRXZlbnRMaXN0ZW5lcihpbiBGaWxlU3lzdGVtTGlzdGVuZXIgbGlzdGVu
ZXIpCi0JCQlyYWlzZXMoRGV2aWNlQVBJRXJyb3IpOwotCi0JCS8qKgotCQkgKiBcYnJpZWYgVW5y
ZWdpc3RlcnMgYSBmaWxlc3lzdGVtIGV2ZW50IGxpc3RlbmVyLgotCQkgKgotCQkgKiBcY29kZQot
CQkgKiAJYm9uZGkuZmlsZXN5c3RlbS51bnJlZ2lzdGVyRXZlbnRMaXN0ZW5lcihsaXN0ZW5lcik7
Ci0JCSAqIFxlbmRjb2RlCi0JCSAqCi0JCSAqIFxwYXJhbSBsaXN0ZW5lciB0aGUgbGlzdGVuZXIg
aW50ZXJmYWNlIGltcGxlbWVudGF0aW9uCi0JCSAqIFx0aHJvdyBEZXZpY2VBUElFcnJvciBJTlZB
TElEX0FSR1VNRU5UX0VSUk9SIGlmIHRoZSBnaXZlbiBsaXN0ZW5lcgotCQkgKiAgICAgICAgaXMg
aW52YWxpZCBvciBub3QgYSBsaXN0ZW5lci4KLQkJICovCi0JCXZvaWQgdW5yZWdpc3RlckV2ZW50
TGlzdGVuZXIoaW4gRmlsZVN5c3RlbUxpc3RlbmVyIGxpc3RlbmVyKQotCQkJcmFpc2VzKERldmlj
ZUFQSUVycm9yKTsKLQl9OwotCi0JLyoqCi0JICogXGJyaWVmIEZpbGVzeXN0ZW0gZXZlbnQgbGlz
dGVuZXIgY2xhc3MuCi0JICoKLQkgKiBUaGlzIGxpc3RlbmVyIGltcGxlbWVudHMgdHdvIG1ldGhv
ZHMgdG8gcmV0cmlldmUgbW91bnQgYW5kIHVubW91bnQKLQkgKiBub3RpZmljYXRpb25zIGlmIHJv
b3Qgb3IgZGVmYXVsdCBsb2NhdGlvbnMgb24gYSBzdG9yYWdlIGNhcmQgZ2V0Ci0JICogYXZhaWxh
YmxlIG9yIHVuYXZhaWxhYmxlLgotCSAqCi0JICogXGNvZGUKLQkgKiAJdmFyIGZzRXZlbnRJbXBs
ID0gewotCSAqIAkJbW91bnRFdmVudDogZnVuY3Rpb24obG9jYXRpb24pIHsKLQkgKiAJCQkvLyBs
b2NhdGlvbiBoYXMgYmVlbiBtb3VudGVkCi0JICogCQl9LAotCSAqIAkJdW5tb3VudEV2ZW50OiBm
dW5jdGlvbihsb2NhdGlvbikgewotCSAqIAkJCS8vIGxvY2F0aW9uIGhhcyBiZWVuIHVubW91bnRl
ZAotCSAqIAkJfQotCSAqIAl9OwotCSAqIFxlbmRjb2RlCi0JICovCi0JaW50ZXJmYWNlIEZpbGVT
eXN0ZW1MaXN0ZW5lciB7Ci0KLQkJLyoqCi0JCSAqIFxicmllZiBDYWxsZWQgd2hlbiBhIG5ldyBy
b290IGxvY2F0aW9uIGdldHMgYXZhaWxhYmxlLgotCQkgKgotCQkgKiBBIG5ldyBsb2NhdGlvbiBj
b3VsZCBiZSBhIHN0b3JhZ2UgY2FyZCBmb3IgZXhhbXBsZS4KLQkJICoKLQkJICogXHBhcmFtIGxv
Y2F0aW9uIHRoZSBuZXdseSBhdmFpbGFibGUgbG9jYXRpb24KLQkJICovCi0JCXZvaWQgbW91bnRF
dmVudChpbiBET01TdHJpbmcgbG9jYXRpb24pOwotCi0JCS8qKgotCQkgKiBcYnJpZWYgQ2FsbGVk
IHdoZW4gYSBsb2NhdGlvbiBnZXRzIHVuYXZhaWxhYmxlLgotCQkgKgotCQkgKiBTdWNoIGEgbG9j
YXRpb24gY291bGQgYmUgYSBzdG9yYWdlIGNhcmQgZm9yIGV4YW1wbGUuCi0JCSAqCi0JCSAqIFxw
YXJhbSBsb2NhdGlvbiB0aGUgbG9jYXRpb24gd2hpY2ggaXMgYmVjb21pbmcgdW5hdmFpbGFibGUK
LQkJICovCi0JCXZvaWQgdW5tb3VudEV2ZW50KGluIERPTVN0cmluZyBsb2NhdGlvbik7Ci0JfTsK
LQotCS8qKgotCSAqIFxicmllZiBGaWxlIGNsYXNzLgotCSAqCi0JICogVGhpcyBpbnRlcmZhY2Ug
cmVwcmVzZW50cyB0aGUgZmlsZSBhYnN0cmFjdGlvbiBpbiB1c2UuIEEgZmlsZSBoYW5kbGUKLQkg
KiBjYW4gYWRkcmVzcyBmaWxlcyBvciBkaXJlY3Rvcmllcy4gIEEgZmlsZSBoYW5kbGUgcmVwcmVz
ZW50cyBhIGZpbGUKLQkgKiBpZiB0aGUgaXNGaWxlIHByb3BlcnR5IGlzIDxlbT50cnVlPC9lbT4s
IG90aGVyd2lzZSBpdCByZXByZXNlbnRzIGEKLQkgKiBkaXJlY3RvcnkuCi0JICoKLQkgKiBBIGZp
bGUgaGFuZGxlIHJlcHJlc2VudGluZyBhIGZpbGUgY2FuIGJlIG9wZW5lZCBmb3IgSS9PIG9wZXJh
dGlvbnMKLQkgKiBzdWNoIGFzIHJlYWRpbmcgYW5kIHdyaXRpbmcuCi0JICoKLQkgKiBBIGZpbGUg
aGFuZGxlIHJlcHJlc2VudGluZyBhIGRpcmVjdG9yeSBjYW4gbGlzdCBhbGwgZmlsZXMgaW4gdGhl
Ci0JICogY3VycmVudCBkaXJlY3RvcnkuCi0JICoKLQkgKiBcY29kZQotCSAqCi0JICoJLy8gbGlz
dCBkaXJlY3RvcnkgY29udGVudHMKLQkgKiAJdmFyIGZpbGVzID0gZGlyLmxpc3RGaWxlcygpOwot
CSAqIAlmb3IodmFyIGkgPSAwOyBpICZsdDsgZmlsZXMubGVuZ3RoOyBpKyspIHsKLQkgKiAJCS8v
IGFsZXJ0cyBlYWNoIG5hbWUgb2YgZGlyJ3MgY29udGVudHMKLQkgKiAJCWFsZXJ0KGZpbGVzW2ld
Lm5hbWUpOwotCSAqIAl9Ci0JICogCi0JICogCS8vIG9wZW5zIGEgZmlsZSBmb3Igd3JpdGluZwot
CSAqIAl2YXIgZmlsZSA9IGRpci5jcmVhdGVGaWxlKCJ0ZXN0LnR4dCIpOwotCSAqIAl2YXIgb3V0
ICA9IGZpbGUub3BlbigidyIsICJVVEYtOCIpOwotCSAqIAkvLyB3cml0ZXMgSGVsbG8gV29ybGQg
dG8gdGVzdC50eHQKLQkgKiAJb3V0LndyaXRlKCJIZWxsbyBXb3JsZCIpOwotCSAqIAlvdXQuY2xv
c2UoKTsKLQkgKiBcZW5kY29kZQotCSAqLwotCWludGVyZmFjZSBGaWxlIHsKLQotCQkvKioKLQkJ
ICogXGJyaWVmIFBhcmVudCBkaXJlY3RvcnkgaGFuZGxlLgotCQkgKgotCQkgKiBSZWFkLW9ubHku
Ci0JCSAqCi0JCSAqIDxlbT5udWxsPC9lbT4gaWYgdGhlcmUgaXMgbm8gcGFyZW50IGRpcmVjdG9y
eS4KLQkJICoKLQkJICogSWYgdGhlcmUgaXMgbm8gcGFyZW50IGRpcmVjdG9yeSwgdGhpcyByZXBy
ZXNlbnRzIGEgcm9vdCBsb2NhdGlvbi4KLQkJICoKLQkJICogXGNvZGUKLQkJICogCXZhciBwYXJl
bnQgPSBmaWxlLnBhcmVudDsKLQkJICogCWlmKHBhcmVudCAhPSBudWxsKSB7Ci0JCSAqIAkJLy8g
cGFyZW50IGRpcmVjdG9yeSBoYW5kbGUKLQkJICogCX0KLQkJICogXGVuZGNvZGUKLQkJICovCi0J
CXJlYWRvbmx5IGF0dHJpYnV0ZSBGaWxlIHBhcmVudDsKLQotCQkvKioKLQkJICogXGJyaWVmIEZp
bGUvZGlyZWN0b3J5IGFjY2VzcyBzdGF0ZSBpbiB0aGUgZmlsZXN5c3RlbS4KLQkJICoKLQkJICog
UmVhZC1vbmx5LgotCQkgKgotCQkgKiA8ZW0+ZmFsc2U8L2VtPiBpZiB0aGVyZSBpcyB3cml0ZSBh
Y2Nlc3MuCi0JCSAqCi0JCSAqIFRoaXMgYXR0cmlidXRlIHJlcHJlc2VudHMgdGhlIGFjdHVhbCBz
dGF0ZSBvZiBhCi0JCSAqIGZpbGUvZGlyZWN0b3J5IGluIHRoZSBmaWxlc3lzdGVtLiBJdCBkb2Vz
IG5vdCBjaGVjayBpZiB0aGUKLQkJICogYWNjZXNzb3IgaGFzIGlvLmZpbGUud3JpdGUgcGVybWlz
c2lvbi4KLQkJICoKLQkJICogXGNvZGUKLQkJICogCWlmKGZpbGUucmVhZE9ubHkpIHsKLQkJICog
CQkvLyBmaWxlIGNhbm5vdCBiZSB3cml0dGVuCi0JCSAqIAl9Ci0JCSAqIFxlbmRjb2RlCi0JCSAq
LwotCQlyZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiByZWFkT25seTsKLQotCQkvKioKLQkJICog
XGJyaWVmIEZpbGUgdHlwZS4KLQkJICoKLQkJICogUmVhZC1vbmx5LgotCQkgKgotCQkgKiA8ZW0+
dHJ1ZTwvZW0+IGlmIHRoaXMgaGFuZGxlIGlzIGEgZmlsZS4KLQkJICogPGVtPmZhbHNlPC9lbT4g
aWYgdGhpcyBoYW5kbGUgaXMgYSBkaXJlY3RvcnkuCi0JCSAqCi0JCSAqIFxjb2RlCi0JCSAqIAlp
ZihmaWxlLmlzRmlsZSkgewotCQkgKiAJCS8vIGlzIGEgZmlsZQotCQkgKiAJfQotCQkgKiBcZW5k
Y29kZQotCQkgKi8KLQkJcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gaXNGaWxlOwotCi0JCS8q
KgotCQkgKiBcYnJpZWYgRmlsZSB0eXBlLgotCQkgKgotCQkgKiBSZWFkLW9ubHkuCi0JCSAqCi0J
CSAqIDxlbT50cnVlPC9lbT4gaWYgdGhpcyBoYW5kbGUgaXMgYSBkaXJlY3RvcnkuCi0JCSAqIDxl
bT5mYWxzZTwvZW0+IGlmIHRoaXMgaGFuZGxlIGlzIGEgZmlsZS4KLQkJICoKLQkJICogXGNvZGUK
LQkJICogCWlmKGZpbGUuaXNEaXJlY3RvcnkpIHsKLQkJICogCQkvLyBpcyBhIGRpcmVjdG9yeQot
CQkgKiAJfQotCQkgKiBcZW5kY29kZQotCQkgKi8KLQkJcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xl
YW4gaXNEaXJlY3Rvcnk7Ci0KLQkJLyoqCi0JCSAqIFxicmllZiBDcmVhdGlvbiB0aW1lc3RhbXAu
Ci0JCSAqCi0JCSAqIFJlYWQtb25seS4KLQkJICoKLQkJICogVGhlIGNyZWF0aW9uIHRpbWVzdGFt
cCBvZiB0aGlzIGZpbGUuIFRoaXMgaXMgdGhlIHRpbWVzdGFtcAotCQkgKiB3aGVuIHRoZSBmaWxl
IHdhcyBmaXJzdCBjcmVhdGVkIGluIHRoZSBmaWxlc3lzdGVtLiBUaGlzIGlzCi0JCSAqIGVxdWl2
YWxlbnQgdG8gdGhlIHRpbWVzdGFtcCB3aGVuIGEgY2FsbCB0byBjcmVhdGVGaWxlKCkKLQkJICog
c3VjY2VlZHMuCi0JCSAqCi0JCSAqIEl0IGlzIHVuc3BlY2lmaWVkIGFuZCBwbGF0Zm9ybS1kZXBl
bmRlbnQgaWYgdGhlIGNyZWF0aW9uCi0JCSAqIHRpbWVzdGFtcCBjaGFuZ2VzIHdoZW4gYSBmaWxl
IGlzIG1vdmVkLgotCQkgKgotCQkgKiBcY29kZQotCQkgKiAJYWxlcnQoZmlsZS5jcmVhdGVkKTsg
Ly8gZGlzcGxheXMgdGhlIGNyZWF0aW9uIHRpbWVzdGFtcAotCQkgKiBcZW5kY29kZQotCQkgKgot
CQkgKi8KLQkJcmVhZG9ubHkgYXR0cmlidXRlIERhdGUgY3JlYXRlZDsKLQotCQkvKioKLQkJICog
XGJyaWVmIE1vZGlmaWNhdGlvbiB0aW1lc3RhbXAuCi0JCSAqCi0JCSAqIFJlYWQtb25seS4KLQkJ
ICoKLQkJICogVGhlIG1vZGlmaWNhdGlvbiB0aW1lc3RhbXAgb2YgdGhpcyBmaWxlLiBUaGlzIGlz
IHRoZSB0aW1lc3RhbXAKLQkJICogb2YgdGhlIG1vc3QgcmVjZW50IG1vZGlmaWNhdGlvbiB0byB0
aGUgZmlsZSwgdXN1YWxseSB3aGVuIHRoZSBsYXN0Ci0JCSAqIHdyaXRlIG9wZXJhdGlvbiBzdWNj
ZWVkZWQuIE9wZW5pbmcgYSBmaWxlIGZvciByZWFkaW5nIGRvZXMgbm90IGNoYW5nZQotCQkgKiB0
aGUgbW9kaWZpY2F0aW9uIHRpbWVzdGFtcC4KLQkJICoKLQkJICogXGNvZGUKLQkJICogCWFsZXJ0
KGZpbGUubW9kaWZpZWQpOyAvLyBkaXNwbGF5cyB0aGUgbW9kaWZpY2F0aW9uIHRpbWVzdGFtcAot
CQkgKiBcZW5kY29kZQotCQkgKgotCQkgKi8KLQkJcmVhZG9ubHkgYXR0cmlidXRlIERhdGUgbW9k
aWZpZWQ7Ci0KLQkJLyoqCi0JCSAqIFxicmllZiBQYXRoIG9mIHRoaXMgZmlsZSwgZXhjbHVkaW5n
IHRoZSBmaWxlIG5hbWUuCi0JCSAqCi0JCSAqIFJlYWQtb25seS4KLQkJICoKLQkJICogSWYgdGhl
IGZpbGUgcGF0aCBpcyA8ZW0+L2Jhei9mb28uYmFyPC9lbT4sIHRoZW4KLQkJICogdGhlIHBhdGgg
aXMgPGVtPi9iYXovPC9lbT4uICAKLQkJICoKLQkJICogVGhlIGVuY29kaW5nIG9mIGZpbGUgcGF0
aHMgaXMgPGEgaHJlZj0iaHR0cDovL3d3dy5pZXRmLm9yZy9yZmMvcmZjMjI3OS50eHQiPlVURi04
PC9hPi4KLQkJICoKLQkJICogXGNvZGUKLQkJICogCWFsZXJ0KGZpbGUucGF0aCk7IC8vIHNob3Vs
ZCBiZSAvYmF6LyBpZiB0aGUgZmlsZSBpcyAvYmF6L2Zvby5iYXIKLQkJICogXGVuZGNvZGUKLQkJ
ICovCi0JCXJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgcGF0aDsKLQotCQkvKioKLQkJICog
XGJyaWVmIEZpbGUgbmFtZSwgZXhjbHVkaW5nIGFueSBwYXRoIGNvbXBvbmVudHMuCi0JCSAqCi0J
CSAqIFJlYWQtb25seS4KLQkJICoKLQkJICogQXNzdW1lZCB0aGUgZmlsZSBwYXRoIGlzIDxlbT4v
YmF6L2Zvby5iYXI8L2VtPiwgdGhlbgotCQkgKiB0aGUgZmlsZSBuYW1lIGlzIDxlbT5mb28uYmFy
PC9lbT4uCi0JCSAqCi0JCSAqIFRoZSBlbmNvZGluZyBvZiBmaWxlIG5hbWVzIGlzIDxhIGhyZWY9
Imh0dHA6Ly93d3cuaWV0Zi5vcmcvcmZjL3JmYzIyNzkudHh0Ij5VVEYtODwvYT4uCi0JCSAqCi0J
CSAqIFxjb2RlCi0JCSAqIAlhbGVydChmaWxlLm5hbWUpOyAvLyBzaG91bGQgYmUgZm9vLmJhciBp
ZiB0aGUgZmlsZSBwYXRoIGlzIC9iYXovZm9vLmJhcgotCQkgKiBcZW5kY29kZQotCQkgKi8KLQkJ
cmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBuYW1lOwotCi0JCS8qKgotCQkgKiBcYnJpZWYg
QWJzb2x1dGUgcGF0aCBvZiB0aGlzIGZpbGUuCi0JCSAqCi0JCSAqIFJlYWQtb25seS4KLQkJICoK
LQkJICogQXNzdW1lZCB0aGUgZmlsZSBwYXRoIGlzIDxlbT4vYmF6L2Zvby5iYXI8L2VtPiwgdGhl
biB0aGlzIGlzIHRoZSBhYnNvbHV0ZSBwYXRoLgotCQkgKgotCQkgKiBUaGUgZW5jb2Rpbmcgb2Yg
ZmlsZSBwYXRocyBpcyA8YSBocmVmPSJodHRwOi8vd3d3LmlldGYub3JnL3JmYy9yZmMyMjc5LnR4
dCI+VVRGLTg8L2E+LgotCQkgKgotCQkgKiBcY29kZQotCQkgKiAJYWxlcnQoZmlsZS5hYnNvbHV0
ZVBhdGgpOyAvLyBzaG91bGQgYmUgL2Jhei9mb28uYmFyIGlmIHRoZSBmaWxlIGlzIC9iYXovZm9v
LmJhcgotCQkgKiBcZW5kY29kZQotCQkgKi8KLQkJcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmlu
ZyBhYnNvbHV0ZVBhdGg7Ci0KLQkJLyoqCi0JCSAqIFxicmllZiBTaXplIGluIGJ5dGVzIG9mIHRo
aXMgZmlsZS4KLQkJICoKLQkJICogUmVhZC1vbmx5LgotCQkgKgotCQkgKiBJZiBpdCBpcyBhdHRl
bXB0ZWQgdG8gcmVhZCB0aGlzIGF0dHJpYnV0ZSBvbiBhIGRpcmVjdG9yeSwKLQkJICogPGVtPnVu
ZGVmaW5lZDwvZW0+IGlzIHJldHVybmVkLgotCQkgKgotCQkgKiBcY29kZQotCQkgKiAJYWxlcnQo
ZmlsZS5maWxlU2l6ZSk7IC8vIGRpc3BsYXlzIHRoZSBmaWxlIHNpemUKLQkJICogXGVuZGNvZGUK
LQkJICovCi0JCXJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGZpbGVTaXplOwotCi0J
CS8qKgotCQkgKiBcYnJpZWYgRmlsZXMgbWV0YWRhdGEuCi0JCSAqCi0JCSAqIFRoZSBhY3R1YWwg
bWFwIGNvbnRlbnRzIGFyZSBpbXBsZW1lbnRhdGlvbiBkZXBlbmRlbnQuCi0JCSAqCi0JCSAqIFxj
b2RlCi0JCSAqIAkvLyBzaG91bGQgZGlzcGxheSB0aGUgZmlsZSBhdXRob3IsIGlmIHN1cHBvcnRl
ZCBieSB0aGUKLQkJICogCS8vIHBsYXRmb3JtLCB1bmRlZmluZWQgb3RoZXJ3aXNlCi0JCSAqIAlh
bGVydChmaWxlLm1ldGFkYXRhLmF1dGhvcik7Ci0JCSAqIFxlbmRjb2RlCi0JCSAqLwotCQlyZWFk
b25seSBhdHRyaWJ1dGUgTWFwIG1ldGFkYXRhOwotCi0JCS8qKgotCQkgKiBcYnJpZWYgUmV0dXJu
cyBsaXN0IG9mIGFsbCBmaWxlcyBvZiB0aGlzIGRpcmVjdG9yeS4KLQkJICoKLQkJICogVGhlIGxp
c3Qgb2YgZmlsZXMgY29udGFpbnMgZGlyZWN0b3JpZXMgYW5kIGZpbGVzLCBpdCBkb2VzCi0JCSAq
IG5vdCBjb250YWluIHRoZSBkaXJlY3RvcmllcyAiLiIgYW5kICIuLiIuCi0JCSAqCi0JCSAqIFxh
cGktZmVhdHVyZSBodHRwOi8vYm9uZGkub210cC5vcmcvYXBpL2ZpbGVzeXN0ZW0ucmVhZAotCQkg
KgotCQkgKiBcY29kZQotCQkgKiAJdmFyIGZpbGVzID0gZGlyLmxpc3RGaWxlcygpOwotCQkgKiAJ
Zm9yKHZhciBpID0gMDsgaSAmbHQ7IGZpbGVzLmxlbmd0aDsgaSsrKSB7Ci0JCSAqIAkJLy8gZmls
ZXNbaV0gaXRlcmF0ZSBvdmVyIGFsbCBmaWxlcyBvZiB0aGlzIGRpcmVjdG9yeQotCQkgKiAJfQot
CQkgKiBcZW5kY29kZQotCQkgKgotCQkgKiBccmV0dXJuIGFycmF5IG9mIGNvbnRlbnRzIG9mIHRo
aXMgZGlyZWN0b3J5LgotCQkgKiBcdGhyb3cgU2VjdXJpdHlFcnJvciBQRVJNSVNTSU9OX0RFTklF
RF9FUlJPUiB3aGVuCi0JCSAqICAgICAgICBhY2Nlc3MgaXMgZGVuaWVkIGJ5IHRoZSBzZWN1cml0
eSBwb2xpY3kuCi0JCSAqIFx0aHJvdyBEZXZpY2VBUElFcnJvciBJT19FUlJPUiBpZiB0aGlzIGlz
IG5vdCBhIGRpcmVjdG9yeS4KLQkJICovCi0JCUZpbGVBcnJheSBsaXN0RmlsZXMoKQotCQkJcmFp
c2VzKFNlY3VyaXR5RXJyb3IsIERldmljZUFQSUVycm9yKTsKLQotCQkvKioKLQkJICogXGJyaWVm
IE9wZW5zIHRoZSBmaWxlIGluIHRoZSBnaXZlbiBtb2RlIHN1cHBvcnRpbmcgdGhlIGdpdmVuCi0J
CSAqIGVuY29kaW5nLgotCQkgKgotCQkgKiBcYXBpLWZlYXR1cmUgaHR0cDovL2JvbmRpLm9tdHAu
b3JnL2FwaS9maWxlc3lzdGVtLnJlYWQKLQkJICogXGFwaS1mZWF0dXJlIGh0dHA6Ly9ib25kaS5v
bXRwLm9yZy9hcGkvZmlsZXN5c3RlbS53cml0ZQotCQkgKgotCQkgKiBcY29kZQotCQkgKiAJLy8g
b3BlbnMgZmlsZSBmb3IgcmVhZGluZwotCQkgKiAJdmFyIGluID0gZmlsZS5vcGVuKCJyIiwgIlVU
Ri04Iik7Ci0JCSAqIFxlbmRjb2RlCi0JCSAqCi0JCSAqIFxwYXJhbSBtb2RlIHRoZSBtb2RlIGZv
ciBvcGVuaW5nIGEgZmlsZQotCQkgKiBcbiAiciIgZm9yIHJlYWRpbmcKLQkJICogXG4gImEiIGZv
ciBhcHBlbmRpbmcKLQkJICogXG4gInciIGZvciBbb3Zlcl13cml0aW5nCi0JCSAqIFxwYXJhbSBl
bmNvZGluZyB0aGUgZW5jb2RpbmcgZm9yIHJlYWQvd3JpdGUgb3BlcmF0aW9ucyBvbiB0aGUgZmls
ZSwKLQkJICogICAgICAgICAgICAgICAgICAgc3VwcG9ydGVkIGVuY29kaW5ncyBhcmU6Ci0JCSAq
IFxuICI8YSBocmVmPSJodHRwOi8vd3d3LmlldGYub3JnL3JmYy9yZmMyMjc5LnR4dCI+VVRGLTg8
L2E+IiBkZWZhdWx0IGVuY29kaW5nCi0JCSAqIFxuICI8YSBocmVmPSJodHRwOi8vZW4ud2lraXBl
ZGlhLm9yZy93aWtpL0lTTy9JRUNfODg1OS0xIj5JU084ODU5LTE8L2E+IiBsYXRpbjEgZW5jb2Rp
bmcKLQkJICogXHJldHVybiBmaWxlIHN0cmVhbSBoYW5kbGUgdG8gcmVhZC93cml0ZSBmcm9tL3Rv
LgotCQkgKiBcdGhyb3cgU2VjdXJpdHlFcnJvciBQRVJNSVNTSU9OX0RFTklFRF9FUlJPUiB3aGVu
Ci0JCSAqICAgICAgICBhY2Nlc3MgaXMgZGVuaWVkIGJ5IHRoZSBzZWN1cml0eSBwb2xpY3kuCi0J
CSAqIFx0aHJvdyBEZXZpY2VBUElFcnJvciBJTlZBTElEX0FSR1VNRU5UX0VSUk9SIGlmIGludmFs
aWQgbW9kZQotCQkgKiAgICAgICAgb3IgdW5zdXBwb3J0ZWQgZW5jb2RpbmcgaXMgc3VwcGxpZWQu
Ci0JCSAqIFx0aHJvdyBEZXZpY2VBUElFcnJvciBJT19FUlJPUiBpZiB0aGlzIGlzIG5vdCBhIGZp
bGUuCi0JCSAqLwotCQlGaWxlU3RyZWFtIG9wZW4oaW4gRE9NU3RyaW5nIG1vZGUsIGluIERPTVN0
cmluZyBlbmNvZGluZykKLQkJCXJhaXNlcyhTZWN1cml0eUVycm9yLCBEZXZpY2VBUElFcnJvcik7
Ci0KLQkJLyoqCi0JCSAqIFxicmllZiBDb3BpZXMgdGhpcyBmaWxlLgotCQkgKgotCQkgKiBUaGUg
Y29weSB3aWxsIGJlIGNyZWF0ZWQgaW4gdGhlIGdpdmVuIHBhdGguIElmIHRoaXMgZnVuY3Rpb24K
LQkJICogZmFpbHMgYW5kIHRoZSBlcnJvciBjYWxsYmFjayBpcyBjYWxsZWQsIGl0IHdpbGwgcGFz
cyBhbgotCQkgKiBEZXZpY2VBUElFcnJvciBJT19FUlJPUiB0byB0aGUgY2FsbGJhY2suCi0JCSAq
Ci0JCSAqIFRoZSBlbmNvZGluZyBvZiBmaWxlIHBhdGhzIGlzIDxhIGhyZWY9Imh0dHA6Ly93d3cu
aWV0Zi5vcmcvcmZjL3JmYzIyNzkudHh0Ij5VVEYtODwvYT4uCi0JCSAqCi0JCSAqIFxhcGktZmVh
dHVyZSBodHRwOi8vYm9uZGkub210cC5vcmcvYXBpL2ZpbGVzeXN0ZW0ud3JpdGUKLQkJICoKLQkJ
ICogXGNvZGUKLQkJICogCS8vIGNvcGllcyB0aGlzIGZpbGUgdG8gL3RlbXAvZmlsZS5jb3B5Ci0J
CSAqIAl2YXIgb3AgPSBmaWxlLmNvcHlUbyhmdW5jdGlvbihjb3BpZWRGaWxlKSB7IGFsZXJ0KCJm
aWxlIGNvcGllZCIpOyB9LCBudWxsLCAiL3RlbXAvZmlsZS5jb3B5IiwgZmFsc2UpOwotCQkgKiBc
ZW5kY29kZQotCQkgKgotCQkgKiBccGFyYW0gc3VjY2Vzc0NhbGxiYWNrIGNhbGxlZCB3aGVuIHRo
ZSBmaWxlIGhhcyBiZWVuIGNvcGllZC4KLQkJICogXHBhcmFtIGVycm9yQ2FsbGJhY2sgY2FsbGVk
IGlmIGFuIGVycm9yIG9jY3VyZWQuCi0JCSAqIFxwYXJhbSBmaWxlUGF0aCB0aGUgbmV3IGZpbGUg
cGF0aCwgW2EtWjAtOV8tIC9dKyBhcmUgYWxsb3dlZCAKLQkJICogXHBhcmFtIG92ZXJ3cml0ZSA8
ZW0+dHJ1ZTwvZW0+IGVuZm9yY2VzIG92ZXJ3cml0aW5nIGFuIGV4aXN0aW5nIGZpbGUuCi0JCSAq
IFxyZXR1cm4gUGVuZGluZ09wZXJhdGlvbiBlbmFibGluZyB0aGUgcmVxdWVzdGVyIHRvIGNhbmNl
bCB0aGlzIHJlcXVlc3QuCi0JCSAqIFx0aHJvdyBTZWN1cml0eUVycm9yIFBFUk1JU1NJT05fREVO
SUVEX0VSUk9SIHdoZW4KLQkJICogICAgICAgIGFjY2VzcyBpcyBkZW5pZWQgYnkgdGhlIHNlY3Vy
aXR5IHBvbGljeS4KLQkJICogXHRocm93IERldmljZUFQSUVycm9yIElPX0VSUk9SIGlmIGl0IGlz
IGF0dGVtcHRlZCB0byBtb3ZlIHRvIGEgZGlyZWN0b3J5LgotCQkgKiBcdGhyb3cgRGV2aWNlQVBJ
RXJyb3IgSU9fRVJST1IgaWYgb3ZlcndyaXRlIGlzIDxlbT5mYWxzZTwvZW0+IGFuZCB0YXJnZXQg
ZmlsZSBleGlzdHMuCi0JCSAqIFx0aHJvdyBEZXZpY2VBUElFcnJvciBJT19FUlJPUiBpZiBhbnkg
Y2hhcmFjdGVycyBpbiB0aGUgcGF0aCBhcmUgbm90IHN1cHBvcnRlZC4KLQkJICogXHRocm93IERl
dmljZUFQSUVycm9yIElPX0VSUk9SIGlmIHRoZSBmaWxlIGNhbm5vdCBiZSBjb3BpZWQuCi0JCSAq
LwotCQlQZW5kaW5nT3BlcmF0aW9uIGNvcHlUbyhpbiBGaWxlU3lzdGVtU3VjY2Vzc0NhbGxiYWNr
IHN1Y2Nlc3NDYWxsYmFjaywKLQkJICAgICAgICAgICAgICAgICAgICAgICAgaW4gRXJyb3JDYWxs
YmFjayBlcnJvckNhbGxiYWNrLAotCQkgICAgICAgICAgICAgICAgICAgICAgICBpbiBET01TdHJp
bmcgZmlsZVBhdGgsCi0JCSAgICAgICAgICAgICAgICAgICAgICAgIGluIGJvb2xlYW4gb3Zlcndy
aXRlKQotCQkJcmFpc2VzKFNlY3VyaXR5RXJyb3IsIERldmljZUFQSUVycm9yKTsKLQotCQkvKioK
LQkJICogXGJyaWVmIE1vdmVzIHRoaXMgZmlsZS4KLQkJICoKLQkJICogVGhlIGZpbGUgd2lsbCBi
ZSBtb3ZlZCBhdG9taWNhbGx5IHRvIHRoZSBnaXZlbiBwYXRoLiBUaGlzIGlzCi0JCSAqIGRpZmZl
cmVudCB0byBjb3B5VG8gYW5kIGRlbGV0aW5nIHRoZSBvbGQgZmlsZSwgYmVjYXVzZSB0aGlzCi0J
CSAqIG9wZXJhdGlvbiBkb2VzIG5vdCBuZWVkIGV4dHJhIGRpc2sgc3BhY2Ugb24gY2VydGFpbiBw
bGF0Zm9ybXMuCi0JCSAqIElmIHRoaXMgZnVuY3Rpb24gZmFpbHMgYW5kIHRoZSBlcnJvciBjYWxs
YmFjayBpcyBjYWxsZWQsIGl0Ci0JCSAqIHdpbGwgcGFzcyBhbiBEZXZpY2VBUElFcnJvciBJT19F
UlJPUiB0byB0aGUgY2FsbGJhY2suCi0JCSAqCi0JCSAqIFRoZSBlbmNvZGluZyBvZiBmaWxlIHBh
dGhzIGlzIDxhIGhyZWY9Imh0dHA6Ly93d3cuaWV0Zi5vcmcvcmZjL3JmYzIyNzkudHh0Ij5VVEYt
ODwvYT4uCi0JCSAqCi0JCSAqIFxhcGktZmVhdHVyZSBodHRwOi8vYm9uZGkub210cC5vcmcvYXBp
L2ZpbGVzeXN0ZW0ud3JpdGUKLQkJICoKLQkJICogXGNvZGUKLQkJICogCS8vIG1vdmVzIHRoaXMg
ZmlsZSB0byAvdGVtcC9maWxlLm1vdmUKLQkJICogCXZhciBvcCA9IGZpbGUubW92ZVRvKGZ1bmN0
aW9uKG1vdmVkRmlsZSkgeyBmaWxlID0gbW92ZWRGaWxlOyB9LCBudWxsLCAiL3RlbXAvZmlsZS5t
b3ZlIik7Ci0JCSAqIFxlbmRjb2RlCi0JCSAqCi0JCSAqIFxwYXJhbSBzdWNjZXNzQ2FsbGJhY2sg
Y2FsbGVkIHdoZW4gdGhlIGZpbGUgaGFzIGJlZW4gY29waWVkLgotCQkgKiBccGFyYW0gZXJyb3JD
YWxsYmFjayBjYWxsZWQgaWYgYW4gZXJyb3Igb2NjdXJlZC4KLQkJICogXHBhcmFtIGZpbGVQYXRo
IHRoZSBuZXcgZmlsZSBuYW1lLCBbYS1aMC05Xy0gL10rIGFyZSBhbGxvd2VkCi0JCSAqIFxwYXJh
bSBvdmVyd3JpdGUgPGVtPnRydWU8L2VtPiBlbmZvcmNlcyBvdmVyd3JpdGluZyBhbiBleGlzdGlu
ZyBmaWxlLgotCQkgKiBccmV0dXJuIFBlbmRpbmdPcGVyYXRpb24gZW5hYmxpbmcgdGhlIHJlcXVl
c3RlciB0byBjYW5jZWwgdGhpcyByZXF1ZXN0LgotCQkgKiBcdGhyb3cgU2VjdXJpdHlFcnJvciBQ
RVJNSVNTSU9OX0RFTklFRF9FUlJPUiB3aGVuCi0JCSAqICAgICAgICBhY2Nlc3MgaXMgZGVuaWVk
IGJ5IHRoZSBzZWN1cml0eSBwb2xpY3kuCi0JCSAqIFx0aHJvdyBEZXZpY2VBUElFcnJvciBJT19F
UlJPUiBpZiBpdCBpcyBhdHRlbXB0ZWQgdG8gbW92ZSB0byBhIGRpcmVjdG9yeS4KLQkJICogXHRo
cm93IERldmljZUFQSUVycm9yIElPX0VSUk9SIGlmIG92ZXJ3cml0ZSBpcyA8ZW0+ZmFsc2U8L2Vt
PiBhbmQgdGFyZ2V0IGZpbGUgZXhpc3RzLgotCQkgKiBcdGhyb3cgRGV2aWNlQVBJRXJyb3IgSU9f
RVJST1IgaWYgYW55IGNoYXJhY3RlcnMgaW4gdGhlIHBhdGggYXJlIG5vdCBzdXBwb3J0ZWQuCi0J
CSAqIFx0aHJvdyBEZXZpY2VBUElFcnJvciBJT19FUlJPUiBpZiB0aGUgZmlsZSBjYW5ub3QgYmUg
bW92ZWQuCi0JCSAqLwotCQlQZW5kaW5nT3BlcmF0aW9uIG1vdmVUbyhpbiBGaWxlU3lzdGVtU3Vj
Y2Vzc0NhbGxiYWNrIHN1Y2Nlc3NDYWxsYmFjaywKLQkJICAgICAgICAgICAgICAgICAgICAgICAg
aW4gRXJyb3JDYWxsYmFjayBlcnJvckNhbGxiYWNrLAotCQkgICAgICAgICAgICAgICAgICAgICAg
ICBpbiBET01TdHJpbmcgZmlsZVBhdGgsCi0JCSAgICAgICAgICAgICAgICAgICAgICAgIGluIGJv
b2xlYW4gb3ZlcndyaXRlKQotCQkJcmFpc2VzKFNlY3VyaXR5RXJyb3IsIERldmljZUFQSUVycm9y
KTsKLQotCQkvKioKLQkJICogXGJyaWVmIENyZWF0ZXMgYSBkaXJlY3RvcnkuCi0JCSAqCi0JCSAq
IFRoZSBuZXcgZGlyZWN0b3J5IHdpbGwgYmUgY3JlYXRlZCByZWxhdGl2ZWx5IHRvIHRoZSBjdXJy
ZW50Ci0JCSAqIGRpcmVjdG9yeSB0aGlzIG9wZXJhdGlvbiBpcyBwZXJmb3JtZWQgb24uIEl0IHdp
bGwgYXR0ZW1wdCB0bwotCQkgKiBjcmVhdGUgYWxsIG5lY2Vzc2FyeSBzdWItZGlyZWN0b3JpZXMg
YXMgd2VsbC4gVGhlIHVzZSBvZiAiLiIKLQkJICogb3IgIi4uIiBpbiBwYXRoIGNvbXBvbmVudHMg
aXMgbm90IHN1cHBvcnRlZC4gSWYgdGhlCi0JCSAqIGJvdHRvbS1tb3N0IGRpcmVjdG9yeSBiZWlu
ZyBjcmVhdGVkIGFscmVhZHkgZXhpc3RzIHRoaXMKLQkJICogbWV0aG9kIHdpbGwgdGhyb3cgYW4g
SU9fRVJST1IuCi0JCSAqCi0JCSAqIFRoZSBlbmNvZGluZyBvZiBmaWxlIHBhdGhzIGlzIDxhIGhy
ZWY9Imh0dHA6Ly93d3cuaWV0Zi5vcmcvcmZjL3JmYzIyNzkudHh0Ij5VVEYtODwvYT4uCi0JCSAq
Ci0JCSAqIFxhcGktZmVhdHVyZSBodHRwOi8vYm9uZGkub210cC5vcmcvYXBpL2ZpbGVzeXN0ZW0u
d3JpdGUKLQkJICoKLQkJICogXGNvZGUKLQkJICogCXZhciBuZXdEaXIgPSBkaXIuY3JlYXRlRGly
ZWN0b3J5KCJuZXdEaXIiKTsKLQkJICogCXZhciBhbm90aGVyTmV3RGlyID0gZGlyLmNyZWF0ZURp
cmVjdG9yeSgibmV3RGlyMS9zdWJOZXdEaXIxIik7Ci0JCSAqIFxlbmRjb2RlCi0JCSAqCi0JCSAq
IFxwYXJhbSBkaXJQYXRoIHRoZSBuZXcgZGlyZWN0b3J5IHBhdGgsIGl0IHNob3VsZCBvbmx5IGNv
bnRhaW4KLQkJICogICAgICAgIGNoYXJhY3RlcnMgc3VwcG9ydGVkIGJ5IHRoZSB1bmRlcmx5aW5n
IGZpbGVzeXN0ZW0uCi0JCSAqIFxyZXR1cm4gZmlsZSBoYW5kbGUgb2YgdGhlIG5ldyBkaXJlY3Rv
cnkKLQkJICogXHRocm93IFNlY3VyaXR5RXJyb3IgUEVSTUlTU0lPTl9ERU5JRURfRVJST1Igd2hl
bgotCQkgKiAgICAgICAgYWNjZXNzIGlzIGRlbmllZCBieSB0aGUgc2VjdXJpdHkgcG9saWN5Lgot
CQkgKiBcdGhyb3cgRGV2aWNlQVBJRXJyb3IgSU9fRVJST1IgaWYgdGhpcyBpcyBub3QgYSBkaXJl
Y3RvcnkuCi0JCSAqIFx0aHJvdyBEZXZpY2VBUElFcnJvciBJT19FUlJPUiBpZiBhbnkgcGF0aCBj
b21wb25lbnQgZG9lcyBub3QgZXhpc3QuCi0JCSAqIFx0aHJvdyBEZXZpY2VBUElFcnJvciBJT19F
UlJPUiBpZiBhIGZpbGUgd2l0aCB0aGUgc2FtZSBuYW1lIGV4aXN0cy4KLQkJICogXHRocm93IERl
dmljZUFQSUVycm9yIElPX0VSUk9SIGlmIGFueSBjaGFyYWN0ZXJzIGluIHRoZSBwYXRoIGFyZSBu
b3Qgc3VwcG9ydGVkLgotCQkgKiBcdGhyb3cgRGV2aWNlQVBJRXJyb3IgSU9fRVJST1IgaWYgdGhl
IGRpcmVjdG9yeSBjYW5ub3QgYmUgY3JlYXRlZC4KLQkJICovCi0JCUZpbGUgY3JlYXRlRGlyZWN0
b3J5KGluIERPTVN0cmluZyBkaXJQYXRoKQotCQkJcmFpc2VzKFNlY3VyaXR5RXJyb3IsIERldmlj
ZUFQSUVycm9yKTsKLQotCQkvKioKLQkJICogXGJyaWVmIENyZWF0ZXMgYSBuZXcgZW1wdHkgZmls
ZS4KLQkJICoKLQkJICogVGhlIG5ldyBlbXB0eSBmaWxlIGlzIGNyZWF0ZWQgaW4gdGhlIGdpdmVu
IHBhdGggcmVsYXRpdmVseQotCQkgKiB0byB0aGUgY3VycmVudCBkaXJlY3RvcnkgdGhlIG9wZXJh
dGlvbiBpcyBwZXJmb3JtZWQgb24uICBUaGUKLQkJICogdXNlIG9mICIuIiBvciAiLi4iIGluIHBh
dGggY29tcG9uZW50cyBpcyBub3Qgc3VwcG9ydGVkLiAgSWYKLQkJICogdGhlIGJvdHRvbS1tb3N0
IGZpbGUgYmVpbmcgY3JlYXRlZCBhbHJlYWR5IGV4aXN0cyB0aGlzCi0JCSAqIG1ldGhvZCB3aWxs
IHRocm93IGFuIElPX0VSUk9SLiAgSWYgYW55IHBhdGggY29tcG9uZW50IGRvZXMKLQkJICogbm90
IGV4aXN0IHRoaXMgbWV0aG9kIHdpbGwgdGhyb3cgYW4gSU9fRVJST1IuCi0JCSAqCi0JCSAqIFRo
ZSBlbmNvZGluZyBvZiBmaWxlIHBhdGhzIGlzIDxhIGhyZWY9Imh0dHA6Ly93d3cuaWV0Zi5vcmcv
cmZjL3JmYzIyNzkudHh0Ij5VVEYtODwvYT4uCi0JCSAqCi0JCSAqIFxhcGktZmVhdHVyZSBodHRw
Oi8vYm9uZGkub210cC5vcmcvYXBpL2ZpbGVzeXN0ZW0ud3JpdGUKLQkJICoKLQkJICogXGNvZGUK
LQkJICogCXZhciBuZXdGaWxlID0gZGlyLmNyZWF0ZUZpbGUoIm5ld0ZpbGUiKTsKLQkJICogXGVu
ZGNvZGUKLQkJICoKLQkJICogXHBhcmFtIGZpbGVQYXRoIHRoZSBuZXcgZmlsZSBwYXRoLCBpdCBz
aG91bGQgb25seSBjb250YWluCi0JCSAqICAgICAgICBjaGFyYWN0ZXJzIHN1cHBvcnRlZCBieSB0
aGUgdW5kZXJseWluZyBmaWxlc3lzdGVtLgotCQkgKiBccmV0dXJuIGZpbGUgaGFuZGxlIG9mIHRo
ZSBuZXcgZW1wdHkgZmlsZQotCQkgKiBcdGhyb3cgU2VjdXJpdHlFcnJvciBQRVJNSVNTSU9OX0RF
TklFRF9FUlJPUiB3aGVuCi0JCSAqICAgICAgICBhY2Nlc3MgaXMgZGVuaWVkIGJ5IHRoZSBzZWN1
cml0eSBwb2xpY3kuCi0JCSAqIFx0aHJvdyBEZXZpY2VBUElFcnJvciBJT19FUlJPUiBpZiB0aGlz
IGlzIG5vdCBhIGRpcmVjdG9yeS4KLQkJICogXHRocm93IERldmljZUFQSUVycm9yIElPX0VSUk9S
IGlmIGFueSBwYXRoIGNvbXBvbmVudCBkb2VzIG5vdCBleGlzdC4KLQkJICogXHRocm93IERldmlj
ZUFQSUVycm9yIElPX0VSUk9SIGlmIHRoZSBmaWxlIGFscmVhZHkgZXhpc3RzLgotCQkgKiBcdGhy
b3cgRGV2aWNlQVBJRXJyb3IgSU9fRVJST1IgaWYgYW55IGNoYXJhY3RlcnMgaW4gdGhlIHBhdGgg
YXJlIG5vdCBzdXBwb3J0ZWQuCi0JCSAqIFx0aHJvdyBEZXZpY2VBUElFcnJvciBJT19FUlJPUiBp
ZiB0aGUgZmlsZSBjYW5ub3QgYmUgY3JlYXRlZC4KLQkJICovCi0JCUZpbGUgY3JlYXRlRmlsZShp
biBET01TdHJpbmcgZmlsZVBhdGgpCi0JCQlyYWlzZXMoU2VjdXJpdHlFcnJvciwgRGV2aWNlQVBJ
RXJyb3IpOwotCi0JCS8qKgotCQkgKiBcYnJpZWYgUmVzb2x2ZXMgYW4gZXhpc3RpbmcgZmlsZSBv
ciBkaXJlY3RvcnkgcmVsYXRpdmVseSB0bwotCQkgKiB0aGUgY3VycmVudCBkaXJlY3RvcnkgdGhp
cyBvcGVyYXRpb24gaXMgcGVyZm9ybWVkIG9uOyBhbmQKLQkJICogcmV0dXJucyBhIGZpbGUgaGFu
ZGxlIGZvciBpdC4KLQkJICogCi0JCSAqIFRoZSBmaWxlUGF0aCBpcyBub3QgYWxsb3dlZCB0byBj
b250YWluIHRoZSAiLiIgb3IgIi4uIiBkaXJlY3Rvcmllcy4KLQkJICoKLQkJICogVGhlIGVuY29k
aW5nIG9mIGZpbGUgcGF0aHMgaXMgPGEgaHJlZj0iaHR0cDovL3d3dy5pZXRmLm9yZy9yZmMvcmZj
MjI3OS50eHQiPlVURi04PC9hPi4KLQkJICoKLQkJICogXGFwaS1mZWF0dXJlIGh0dHA6Ly9ib25k
aS5vbXRwLm9yZy9hcGkvZmlsZXN5c3RlbS5yZWFkCi0JCSAqCi0JCSAqIFxjb2RlCi0JCSAqIAl2
YXIgaGVsbG9maWxlID0gZGlyLnJlc29sdmUoImZvby9oZWxsby50eHQiKTsKLQkJICogXGVuZGNv
ZGUKLQkJICoKLQkJICogXHBhcmFtIGZpbGVQYXRoIHRoZSByZWxhdGl2ZSBmaWxlL2RpcmVjdG9y
eSBwYXRoIHRvIHJlc29sdmUuCi0JCSAqIFxyZXR1cm4gZmlsZSBoYW5kbGUgb2YgdGhlIGZpbGUg
b3IgPGVtPm51bGw8L2VtPiBpZiBpdCBjYW5ub3QgYmUgcmVzb2x2ZWQuCi0JCSAqIFx0aHJvdyBT
ZWN1cml0eUVycm9yIFBFUk1JU1NJT05fREVOSUVEX0VSUk9SIHdoZW4KLQkJICogICAgICAgIGFj
Y2VzcyBpcyBkZW5pZWQgYnkgdGhlIHNlY3VyaXR5IHBvbGljeS4KLQkJICogXHRocm93IERldmlj
ZUFQSUVycm9yIElPX0VSUk9SIGlmIHRoaXMgaXMgbm90IGEgZGlyZWN0b3J5LgotCQkgKiBcdGhy
b3cgRGV2aWNlQVBJRXJyb3IgSU9fRVJST1IgaWYgYW55IGNoYXJhY3RlcnMgaW4gdGhlIHBhdGgg
YXJlIG5vdCBzdXBwb3J0ZWQuCi0JCSAqIFx0aHJvdyBEZXZpY2VBUElFcnJvciBJT19FUlJPUiBp
ZiB0aGUgZmlsZSBvciBkaXJlY3RvcnkgY2Fubm90IGJlIHJlc29sdmVkLgotCQkgKi8KLQkJRmls
ZSByZXNvbHZlKGluIERPTVN0cmluZyBmaWxlUGF0aCkKLQkJCXJhaXNlcyhTZWN1cml0eUVycm9y
LCBEZXZpY2VBUElFcnJvcik7Ci0KLQkJLyoqCi0JCSAqIFxicmllZiBEZWxldGVzIHRoaXMgZGly
ZWN0b3J5LgotCQkgKgotCQkgKiBUaGlzIGZ1bmN0aW9uIGF0dGVtcHRzIHRvIGRlbGV0ZSBhIGRp
cmVjdG9yeSBvciBkaXJlY3RvcnkKLQkJICogdHJlZSBzeW5jaHJvbm91c2x5IGFuZCByZXR1cm5z
IDxlbT50cnVlPC9lbT4gb24gc3VjY2VzcywKLQkJICogPGVtPmZhbHNlPC9lbT4gb3RoZXJ3aXNl
LiBJdCBtYXkgdGhyb3cgYW4gSU9fRVJST1IgaWYgYQotCQkgKiByZWN1cnNpdmUgZGVsZXRpb24g
cGFydGlhbGx5IGZhaWxzIGFuZCBhbnkgZGVsZXRlZCBkYXRhIHNvCi0JCSAqIGZhciBjYW5ub3Qg
YmUgcmVjb3ZlcmVkLiBUaGlzIG1pZ2h0IGhhcHBlbiBkdWUgdGhlIGxhY2sgb2YKLQkJICogZmls
ZXN5c3RlbSBwZXJtaXNzaW9ucyBvciBpZiBhbnkgZGlyZWN0b3JpZXMgb3IgZmlsZXMgYXJlCi0J
CSAqIG9wZW5lbmVkIGJ5IG90aGVyIHByb2Nlc3Nlcy4KLQkJICoKLQkJICogXGFwaS1mZWF0dXJl
IGh0dHA6Ly9ib25kaS5vbXRwLm9yZy9hcGkvZmlsZXN5c3RlbS53cml0ZQotCQkgKgotCQkgKiBc
Y29kZQotCQkgKiAJdmFyIGZ1bGxQYXRoID0gZGlyLmZ1bGxQYXRoOwotCQkgKiAJaWYoZGlyLmRl
bGV0ZURpcmVjdG9yeSh0cnVlKSkgewotCQkgKiAJCS8vIHN1YnNlcXVlbnQgYWNjZXNzZXMgdG8g
ZGlyIHdpbGwgdGhyb3cgYW4gZXJyb3IKLQkJICogCQlhbGVydChmdWxsUGF0aCArICcgZGVsZXRl
ZCcpOwotCQkgKiAJfQotCQkgKiBcZW5kY29kZQotCQkgKgotCQkgKiBccGFyYW0gcmVjdXJzaXZl
IDxlbT50cnVlPC9lbT4gbWVhbnMgYSByZWN1cnNpdmUgZGVsZXRpb24sIHRoaXMKLQkJICogICAg
ICAgIHdpbGwgZGVzdHJveSBhbGwgZGF0YSByZWN1cnNpdmVseSwgdXNlIHdpdGggY2F1dGlvbi4K
LQkJICogXHJldHVybiA8ZW0+dHJ1ZTwvZW0+IG9uIHN1Y2Nlc3MKLQkJICogXHRocm93IFNlY3Vy
aXR5RXJyb3IgUEVSTUlTU0lPTl9ERU5JRURfRVJST1Igd2hlbgotCQkgKiAgICAgICAgYWNjZXNz
IGlzIGRlbmllZCBieSB0aGUgc2VjdXJpdHkgcG9saWN5LgotCQkgKiBcdGhyb3cgRGV2aWNlQVBJ
RXJyb3IgSU9fRVJST1IgaWYgdGhpcyBpcyBhIGZpbGUuCi0JCSAqIFx0aHJvdyBEZXZpY2VBUElF
cnJvciBJT19FUlJPUiBpZiB0aGUgZGlyZWN0b3J5IGlzIG5vdCBlbXB0eSBhbmQKLQkJICogICAg
ICAgIHRoaXMgb3BlcmF0aW9uIGlzIG5vdCBwZXJmb3JtZWQgcmVjdXJzaXZlbHkuCi0JCSAqIFx0
aHJvdyBEZXZpY2VBUElFcnJvciBJT19FUlJPUiBpZiB0aGUgZGlyZWN0b3J5IG9yIGFueSBmaWxl
IG9yIHN1Yi1kaXJlY3RvcnkgY2Fubm90IGJlIGRlbGV0ZWQuCi0JCSAqLwotCQlib29sZWFuIGRl
bGV0ZURpcmVjdG9yeShpbiBib29sZWFuIHJlY3Vyc2l2ZSkKLQkJCXJhaXNlcyhTZWN1cml0eUVy
cm9yLCBEZXZpY2VBUElFcnJvcik7Ci0KLQkJLyoqCi0JCSAqIFxicmllZiBEZWxldGVzIHRoaXMg
ZmlsZS4KLQkJICoKLQkJICogUmV0dXJucyA8ZW0+dHJ1ZTwvZW0+IG9uIHN1Y2Nlc3MsIDxlbT5m
YWxzZTwvZW0+IG90aGVyd2lzZS4KLQkJICoKLQkJICogXGFwaS1mZWF0dXJlIGh0dHA6Ly9ib25k
aS5vbXRwLm9yZy9hcGkvZmlsZXN5c3RlbS53cml0ZQotCQkgKgotCQkgKiBcY29kZQotCQkgKiAJ
dmFyIGZ1bGxQYXRoID0gZGlyLmZ1bGxQYXRoOwotCQkgKiAJaWYoZGlyLmRlbGV0ZUZpbGUoKSkg
ewotCQkgKiAJCS8vIHN1YnNlcXVlbnQgYWNjZXNzZXMgdG8gZGlyIHdpbGwgdGhyb3cgYW4gZXJy
b3IKLQkJICogCQlhbGVydChmdWxsUGF0aCArICcgZGVsZXRlZCcpOwotCQkgKiAJfQotCQkgKiBc
ZW5kY29kZQotCQkgKgotCQkgKiBccmV0dXJuIDxlbT50cnVlPC9lbT4gb24gc3VjY2VzcwotCQkg
KiBcdGhyb3cgU2VjdXJpdHlFcnJvciBQRVJNSVNTSU9OX0RFTklFRF9FUlJPUiB3aGVuCi0JCSAq
ICAgICAgICBhY2Nlc3MgaXMgZGVuaWVkIGJ5IHRoZSBzZWN1cml0eSBwb2xpY3kuCi0JCSAqIFx0
aHJvdyBEZXZpY2VBUElFcnJvciBJT19FUlJPUiBpZiB0aGlzIGlzIGEgZGlyZWN0b3J5LgotCQkg
KiBcdGhyb3cgRGV2aWNlQVBJRXJyb3IgSU9fRVJST1IgaWYgdGhlIGZpbGUgY2Fubm90IGJlIGRl
bGV0ZWQgZHVlCi0JCSAqICAgICAgICB0aGUgbGFjayBvZiBmaWxlc3lzdGVtIHBlcm1pc3Npb25z
IG9yIGlmIGl0IGlzIGxvY2tlZCBvcgotCQkgKiAgICAgICAgb3BlbmVkIGJ5IGFub3RoZXIgcHJv
Y2Vzcy4KLQkJICovCi0JCWJvb2xlYW4gZGVsZXRlRmlsZSgpCi0JCQlyYWlzZXMoU2VjdXJpdHlF
cnJvciwgRGV2aWNlQVBJRXJyb3IpOwotCX07Ci0KLQkvKioKLQkgKiBcYnJpZWYgRmlsZVN0cmVh
bSBBUEkuCi0JICoKLQkgKiBBIEZpbGVTdHJlYW0gcmVwcmVzZW50cyBhIGhhbmRsZSB0byBhIEZp
bGUgb3BlbmVkIGZvciByZWFkIGFuZC9vcgotCSAqIHdyaXRlIG9wZXJhdGlvbnMuICBSZWFkIGFu
ZCB3cml0ZSBvcGVyYXRpb25zIGFyZSBwZXJmb3JtZWQgcmVsYXRpdmUKLQkgKiB0byBhIGZpbGUg
cG9pbnRlciB3aGljaCByZXByZXNlbnRzIHRoZSBjdXJyZW50IHBvc2l0aW9uIGluIHRoZSBmaWxl
LgotCSAqIAotCSAqIEEgc2VyaWVzIG9mIHJlYWQvd3JpdGUgbWV0aG9kcyBhcmUgYXZhaWxhYmxl
IHRoYXQgcGVybWl0IGJvdGggYmluYXJ5IGFuZAotCSAqIHRleHQgdG8gYmUgcHJvY2Vzc2VkLgot
CSAqCi0JICogT25jZSBhIGZpbGUgc3RyZWFtIGlzIGNsb3NlZCwgYW55IG9wZXJhdGlvbiBhdHRl
bXB0ZWQgb24gdGhpcyBzdHJlYW0KLQkgKiB3aWxsIHJlc3VsdCBpbiBhIG5vcm1hbCBKYXZhU2Ny
aXB0IGVycm9yLgotCSAqLwotCWludGVyZmFjZSBGaWxlU3RyZWFtIHsKLQotCQkvKioKLQkJICog
XGJyaWVmIEluZGljYXRlcyB3aGV0aGVyIG9yIG5vdCB0aGUgY3VycmVudCBmaWxlIHBvaW50ZXIg
aXMgYXQgdGhlIGVuZAotCQkgKiBvZiB0aGUgZmlsZS4KLQkJICogCi0JCSAqIDxlbT50cnVlPC9l
bT4gaWYgdGhlIHBvc2l0aW9uIGlzIGF0IHRoZSBlbmQgb2YgdGhlIGN1cnJlbnQgZmlsZSBzdHJl
YW0uCi0JCSAqCi0JCSAqIFxjb2RlCi0JCSAqIAlpZihzdHJlYW0uZW9mKSB7Ci0JCSAqIAkJLy8g
ZmlsZSBoYXMgYmVlbiByZWFkIGNvbXBsZXRlbHkKLQkJICogCX0KLQkJICogXGVuZGNvZGUKLQkJ
ICovCi0JCXJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIGVvZjsKLQotCQkvKioKLQkJICogXGJy
aWVmIEdldC9zZXQgc3RyZWFtIHBvc2l0aW9uIGZvciByZWFkcy93cml0ZXMuCi0JCSAqIAotCQkg
KiBUaGUgc3RyZWFtIHBvc2l0aW9uIGlzIGFuIG9mZnNldCBvZiBieXRlcyBmcm9tIHRoZSBzdGFy
dCBvZgotCQkgKiB0aGUgZmlsZSBzdHJlYW0uICBXaGVuIGludm9raW5nIGFuIG9wZXJhdGlvbiB0
aGF0IHJlYWRzIG9yCi0JCSAqIHdyaXRlcyBmcm9tIHRoZSBzdHJlYW0sIHRoZSBvcGVyYXRpb24g
d2lsbCB0YWtlIHBsYWNlIGZyb20KLQkJICogdGhlIHBvc2l0aW9uIGluIHRoZSBwb3NpdGlvbiBh
dHRyaWJ1dGUuCi0JCSAqCi0JCSAqIFxjb2RlCi0JCSAqIAlhbGVydChzdHJlYW0ucG9zaXRpb24p
OyAvLyBkaXNwbGF5cyBjdXJyZW50IHN0cmVhbSBwb3NpdGlvbgotCQkgKiAJLy8gYWx0ZXJzIGN1
cnJlbnQgc3RyZWFtIHBvc2l0aW9uIHRvIHRoZSBiZWdpbiBvZiB0aGUgZmlsZSwKLQkJICogCS8v
IGxpa2Ugc2VlaygpIGluIEMKLQkJICogCXN0cmVhbS5wb3NpdGlvbiA9IDA7Ci0JCSAqIFxlbmRj
b2RlCi0JCSAqIFx0aHJvdyBEZXZpY2VBUElFcnJvciBJT19FUlJPUiBpZiBhIHBvc2l0aW9uIHdh
cyBnaXZlbiB0aGF0IGlzIG91dCBvZiB0aGUgc3RyZWFtIHJhbmdlLgotCQkgKi8KLQkJYXR0cmli
dXRlIHVuc2lnbmVkIGxvbmcgcG9zaXRpb24KLQkJCXNldHJhaXNlcyhEZXZpY2VBUElFcnJvcik7
Ci0KLQkJLyoqCi0JCSAqIFxicmllZiBSZXR1cm5zIHRoZSBudW1iZXIgb2YgYnl0ZXMgdGhhdCBh
cmUgYXZhaWxhYmxlIGZvcgotCQkgKiByZWFkaW5nIGZyb20gdGhlIHN0cmVhbS4KLQkJICoKLQkJ
ICogVGhlIG51bWJlciBvZiBieXRlcyBhdmFpbGFibGUgZm9yIHJlYWRpbmcgaXMgdGhlIG1heGlt
dW0KLQkJICogYW1vdW50IG9mIGJ5dGVzIHRoYXQgY2FuIGJlIHJlYWQgaW4gdGhlIG5leHQgcmVh
ZCBvcGVyYXRpb24uCi0JCSAqIAotCQkgKiAtMSBpZiBlb2YgaXMgPGVtPnRydWU8L2VtPi4KLQkJ
ICoKLQkJICogXGNvZGUKLQkJICogCWFsZXJ0KHN0cmVhbS5ieXRlc0F2YWlsYWJsZSk7IC8vIGRp
c3BsYXlzIHRoZSBhdmFpbGFibGUgYnl0ZXMgdG8gYmUgcmVhZAotCQkgKiBcZW5kY29kZQotCQkg
Ki8KLQkJcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgYnl0ZXNBdmFpbGFibGU7Ci0K
LQkJLyoqCi0JCSAqIFxicmllZiBDbG9zZXMgdGhpcyBGaWxlU3RyZWFtLgotCQkgKiAKLQkJICog
Rmx1c2hlcyBhbnkgcGVuZGluZyBidWZmZXJlZCB3cml0ZXMgYW5kIGNsb3NlcyB0aGUgRmlsZS4g
QWx3YXlzIHN1Y2NlZWRzLgotCQkgKiBOb3RlIHRoYXQgcGVuZGluZyB3cml0ZXMgbWlnaHQgbm90
IHN1Y2NlZWQuCi0JCSAqCi0JCSAqIFxjb2RlCi0JCSAqIAlzdHJlYW0uY2xvc2UoKTsgLy8gY2xv
c2VzIHRoaXMgc3RyZWFtLCBubyBzdWJzZXF1ZW50IGFjY2VzcyB0byBzdHJlYW0gYWxsb3dlZAot
CQkgKiBcZW5kY29kZQotCQkgKi8KLQkJdm9pZCBjbG9zZSgpOwotCi0JCS8qKgotCQkgKiBcYnJp
ZWYgUmVhZHMgdGhlIHNwZWNpZmllZCBudW1iZXIgb2YgY2hhcmFjdGVycy4KLQkJICoKLQkJICog
UmVhZHMgc3BlY2lmaWVkIG51bWJlciBvZiBjaGFyYWN0ZXJzIGFuZCByZXR1cm5zIHRoZW0gYXMg
c3RyaW5nLgotCQkgKiBUaGUgcmVzdWx0aW5nIHN0cmluZyBsZW5ndGggbWlnaHQgYmUgc2hvcnRl
ciB0aGFuIGNoYXJDb3VudCBpZiBlb2YKLQkJICogaXMgPGVtPnRydWU8L2VtPi4KLQkJICoKLQkJ
ICogXGNvZGUKLQkJICogCXZhciB0ZXh0ID0gc3RyZWFtLnJlYWQoMCk7Ci0JCSAqIAlzdHJlYW0u
Y2xvc2UoKTsKLQkJICogXGVuZGNvZGUKLQkJICoKLQkJICogXHBhcmFtIGNoYXJDb3VudCBudW1i
ZXIgb2YgY2hhcmFjdGVycyBiZWluZyByZWFkLCBpZgotCQkgKiAgICAgICAgICAgICAgICAgICAg
PGVtPjA8L2VtPiBpdCB3aWxsIHJlYWQgYXMgbG9uZyBhcyBieXRlcyBhcmUgYXZhaWxhYmxlLgot
CQkgKiBccmV0dXJuIHRoZSByZXN1bHQgb2YgcmVhZCBjaGFyYWN0ZXJzIGFzIGEgc3RyaW5nLgot
CQkgKiBcdGhyb3cgRGV2aWNlQVBJRXJyb3IgSU9fRVJST1IgaWYgYW4gZXJyb3Igb2NjdXJzIGR1
cmluZyByZWFkLgotCQkgKi8KLQkJRE9NU3RyaW5nIHJlYWQoaW4gdW5zaWduZWQgbG9uZyBjaGFy
Q291bnQpCi0JCQlyYWlzZXMoRGV2aWNlQVBJRXJyb3IpOwotCi0JCS8qKgotCQkgKiBcYnJpZWYg
UmVhZHMgdGhlIHNwZWNpZmllZCBudW1iZXIgb2YgYnl0ZXMgZnJvbSB0aGlzIEZpbGVTdHJlYW0u
Ci0JCSAqCi0JCSAqIElmIDAgaXMgc3VwcGxpZWQgaXQgd2lsbCByZWFkIGFsbCBhdmFpbGFibGUg
Ynl0ZXMgaW4gYQotCQkgKiBzaW5nbGUgcmVhZCBvcGVyYXRpb24uCi0JCSAqCi0JCSAqIFxjb2Rl
Ci0JCSAqIAkvLyByZWFkcyB1cCB0byAyNTYgYnl0ZXMgZnJvbSB0aGUgc3RyZWFtCi0JCSAqIAl2
YXIgcmF3ID0gc3RyZWFtLnJlYWRCeXRlcygyNTYpOwotCQkgKiAJZm9yKHZhciBpID0gMDsgaSAm
bHQ7IHJhdy5sZW5ndGg7IGkrKykgewotCQkgKiAJCS8vIHJhd1tpXSBjb250YWlucyB0aGUgaS10
aCBieXRlIG9mIHRoZSBjdXJyZW50IGRhdGEgY2h1bmsKLQkJICogCX0KLQkJICogXGVuZGNvZGUK
LQkJICoKLQkJICogXHBhcmFtIGJ5dGVDb3VudCBudW1iZXIgb2YgYnl0ZXMgYmVpbmcgcmVhZC4g
TXVzdCBub3QgYmUgPGVtPjA8L2VtPi4KLQkJICogXHJldHVybiB0aGUgcmVzdWx0IG9mIHJlYWQg
Ynl0ZXMgYXMgYSBieXRlIChvciBudW1iZXIpIGFycmF5LgotCQkgKiBcdGhyb3cgRGV2aWNlQVBJ
RXJyb3IgSU9fRVJST1IgaWYgYW4gZXJyb3Igb2NjdXJzIGR1cmluZyByZWFkQnl0ZXMuCi0JCSAq
LwotCQlCeXRlQXJyYXkgcmVhZEJ5dGVzKGluIHVuc2lnbmVkIGxvbmcgYnl0ZUNvdW50KQotCQkJ
cmFpc2VzKERldmljZUFQSUVycm9yKTsKLQotCQkvKioKLQkJICogXGJyaWVmIFJlYWRzIHRoZSBz
cGVjaWZpZWQgbnVtYmVyIG9mIGJ5dGVzIGZyb20gdGhpcyBGaWxlU3RyZWFtLCBlbmNvZGluZwot
CQkgKiB0aGUgcmVzdWx0IGluIGJhc2U2NC4KLQkJICoKLQkJICogSWYgMCBpcyBzdXBwbGllZCBp
dCB3aWxsIHJlYWQgYWxsIGF2YWlsYWJsZSBieXRlcyBpbiBhCi0JCSAqIHNpbmdsZSByZWFkIG9w
ZXJhdGlvbi4KLQkJICoKLQkJICogXGNvZGUKLQkJICogCS8vIHJlYWRzIHVwIHRvIDI1NiBieXRl
cyBmcm9tIHRoZSBzdHJlYW0KLQkJICogCXZhciBiYXNlNjQgPSBzdHJlYW0ucmVhZEJhc2U2NCgy
NTYpOwotCQkgKiBcZW5kY29kZQotCQkgKgotCQkgKiBccGFyYW0gYnl0ZUNvdW50IG51bWJlciBv
ZiBieXRlcyBiZWluZyByZWFkLiBNdXN0IG5vdCBiZSA8ZW0+MDwvZW0+LgotCQkgKiBccmV0dXJu
IHRoZSByZXN1bHQgb2YgcmVhZCBieXRlcyBhcyBiYXNlNjQgZW5jb2Rpbmcgc3RyaW5nLgotCQkg
KiBcdGhyb3cgRGV2aWNlQVBJRXJyb3IgSU9fRVJST1IgaWYgYW4gZXJyb3Igb2NjdXJzIGR1cmlu
ZyByZWFkQmFzZTY0LgotCQkgKi8KLQkJRE9NU3RyaW5nIHJlYWRCYXNlNjQoaW4gdW5zaWduZWQg
bG9uZyBieXRlQ291bnQpCi0JCQlyYWlzZXMoRGV2aWNlQVBJRXJyb3IpOwotCi0JCS8qKgotCQkg
KiBcYnJpZWYgV3JpdGVzIHRoZSBzcGVjaWZpZWQgRE9NU3RyaW5nIHRvIHRoaXMgRmlsZVN0cmVh
bS4KLQkJICoKLQkJICogXGNvZGUKLQkJICogCXZhciB0ZXh0ID0gIkhlbGxvIHdvcmxkIjsKLQkJ
ICogCXN0cmVhbS53cml0ZSh0ZXh0KTsKLQkJICogXGVuZGNvZGUKLQkJICoKLQkJICogXHBhcmFt
IHN0cmluZ0RhdGEgdGhlIGFjdHVhbCBzdHJpbmcgdG8gYmUgd3JpdHRlbi4KLQkJICogXHRocm93
IERldmljZUFQSUVycm9yIElPX0VSUk9SIGlmIGFuIGVycm9yIG9jY3VycyBkdXJpbmcgd3JpdGUu
Ci0JCSAqLwotCQl2b2lkIHdyaXRlKGluIERPTVN0cmluZyBzdHJpbmdEYXRhKQotCQkJcmFpc2Vz
KERldmljZUFQSUVycm9yKTsKLQotCQkvKioKLQkJICogXGJyaWVmIFdyaXRlcyB0aGUgc3BlY2lm
aWVkIGJ5dGVzIHRvIHRoaXMgRmlsZVN0cmVhbS4KLQkJICoKLQkJICogXGNvZGUKLQkJICogCXZh
ciBieXRlcyA9IGluLnJlYWRCeXRlcygyNTYpOwotCQkgKiAJb3V0LndyaXRlQnl0ZXMoYnl0ZXMp
OyAvLyB3cml0ZXMgdGhlIGJ5dGVzIHJlYWQgZnJvbSBpbiB0byBvdXQKLQkJICogXGVuZGNvZGUK
LQkJICoKLQkJICogXHBhcmFtIGJ5dGVEYXRhIHRoZSBieXRlIGRhdGEgYXJyYXkgYmVpbmcgd3Jp
dHRlbi4KLQkJICogXHRocm93IERldmljZUFQSUVycm9yIElPX0VSUk9SIGlmIGFuIGVycm9yIG9j
Y3VycyBkdXJpbmcgd3JpdGVCeXRlcy4KLQkJICovCi0JCXZvaWQgd3JpdGVCeXRlcyhpbiBCeXRl
QXJyYXkgYnl0ZURhdGEpCi0JCQlyYWlzZXMoRGV2aWNlQVBJRXJyb3IpOwotCi0JCS8qKgotCQkg
KiBcYnJpZWYgQ29udmVydHMgdGhlIHNwZWNpZmllZCBiYXNlNjQgRE9NU3RyaW5nIHRvIGJ5dGVz
IGFuZCB3cml0ZXMgdGhlIAotCQkgKiByZXN1bHQgdG8gdGhpcyBGaWxlU3RyZWFtLgotCQkgKgot
CQkgKiBcY29kZQotCQkgKiAJdmFyIGJhc2U2NCA9IGluLnJlYWRCYXNlNjQoMjU2KTsKLQkJICog
CW91dC53cml0ZUJhc2U2NChiYXNlNjQpOyAvLyB3cml0ZXMgdGhlIGJhc2U2NCBkYXRhIHJlYWQg
ZnJvbSBpbiB0byBvdXQKLQkJICogXGVuZGNvZGUKLQkJICoKLQkJICogXHBhcmFtIGJhc2U2NERh
dGEgdGhlIGJhc2U2NCBkYXRhIGJlaW5nIHdyaXR0ZW4uCi0JCSAqIFx0aHJvdyBEZXZpY2VBUElF
cnJvciBJT19FUlJPUiBpZiBhbiBlcnJvciBvY2N1cnMgZHVyaW5nIHdyaXRlQmFzZTY0LgotCQkg
Ki8KLQkJdm9pZCB3cml0ZUJhc2U2NChpbiBET01TdHJpbmcgYmFzZTY0RGF0YSkKLQkJCXJhaXNl
cyhEZXZpY2VBUElFcnJvcik7Ci0JfTsKLQotICAvKioKLSAgICogXGJyaWVmIFNwZWNpZmllcyB3
aGF0IGlzIGluc3RhbnRpYXRlZCBhdCBmZWF0dXJlIHJlcXVlc3QKLSAgICogXGRlZi1pbnN0YW50
aWF0ZWQKLSAgICogXGFwaS1mZWF0dXJlIGh0dHA6Ly9ib25kaS5vbXRwLm9yZy9hcGkvZmlsZXN5
c3RlbS5yZWFkCi0gICAqIFxhcGktZmVhdHVyZSBodHRwOi8vYm9uZGkub210cC5vcmcvYXBpL2Zp
bGVzeXN0ZW0ud3JpdGUKLSAgICovCi0JaW50ZXJmYWNlIEZpbGVTeXN0ZW1NYW5hZ2VyT2JqZWN0
IHsKLQkJcmVhZG9ubHkgYXR0cmlidXRlIEZpbGVTeXN0ZW1NYW5hZ2VyIGZpbGVTeXN0ZW1NYW5h
Z2VyOyAKLQl9OwotCWJvbmRpIGltcGxlbWVudHMgRmlsZVN5c3RlbU1hbmFnZXJPYmplY3Q7Ci0K
LX07CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvZXhhbXBsZXMvc3BlY3Rvd2lkbC54
c2wgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvZXhhbXBsZXMvc3BlY3Rvd2lkbC54c2wKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ0MjUyNzcwOTQwNmVmYTNiMzg4OTA0OWY1YWM0NWY0YmI5
MjViZTQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L3dpZGxwcm9jL2V4YW1wbGVzL3NwZWN0b3dpZGwueHNsCisrKyAvZGV2L251bGwKQEAg
LTEsMjcgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KLTwh
LS09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotJElkJAotQ29weXJpZ2h0IDIwMDkgQXBsaXggQ29ycG9yYXRpb24uIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCi1MaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZl
cnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKLXlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhj
ZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KLVlvdSBtYXkgb2J0YWluIGEgY29w
eSBvZiB0aGUgTGljZW5zZSBhdAotICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9M
SUNFTlNFLTIuMAotVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0
byBpbiB3cml0aW5nLCBzb2Z0d2FyZQotZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMg
ZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKLVdJVEhPVVQgV0FSUkFOVElFUyBPUiBD
T05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgotU2VlIHRo
ZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25z
IGFuZAotbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCi0KLVhTTFQgc3R5bGVzaGVldCB0
byBleHRyYWN0IFdlYiBJREwgc25pcHBldHMgZnJvbSBXZWIgSURMIHNwZWMuIAotPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09LS0+Ci08eHNsOnN0eWxlc2hlZXQgeG1sbnM6eHNsPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5
L1hTTC9UcmFuc2Zvcm0iIHZlcnNpb249IjEuMCI+Ci08eHNsOm91dHB1dCBtZXRob2Q9InRleHQi
IGVuY29kaW5nPSJ1dGYtOCIvPgotCi08eHNsOnRlbXBsYXRlIG1hdGNoPSJjb2RlW0BjbGFzcz0n
aWRsLWNvZGUnXSI+Ci0gICAgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9Ii4iLz48eHNsOnRleHQ+Ci08
L3hzbDp0ZXh0PgotPC94c2w6dGVtcGxhdGU+Ci0KLTx4c2w6dGVtcGxhdGUgbWF0Y2g9InRleHQo
KSIvPgotCi08L3hzbDpzdHlsZXNoZWV0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9j
L2V4YW1wbGVzL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL2V4YW1wbGVzL3cz
Yy1pbXBvcnQubG9nCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxYzliZjVhZTEzMjIw
MzM5YjgzZTRjZTYzMjY0MDJlNzlhZjE1MzkyLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9leGFtcGxlcy93M2MtaW1wb3J0
LmxvZworKysgL2Rldi9udWxsCkBAIC0xLDIzICswLDAgQEAKLVRoZSB0ZXN0cyBpbiB0aGlzIGRp
cmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgotRG8gTk9UIG1v
ZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBw
dWxsIHJlcXVlc3Qgb24gdGhlIFczQyBDU1Mgb3IgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1
Yi5jb20vdzNjL2Nzc3dnLXRlc3QKLQlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cwotCi1UaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGlu
IFdlYktpdCB0byByZWltcG9ydAotCi1EbyBOT1QgbW9kaWZ5IG9yIHJlbW92ZSB0aGlzIGZpbGUu
Ci0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLQotUHJvcGVydGllcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVz
OgotTm9uZQotUHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6Ci1Ob25l
Ci0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0KLUxpc3Qgb2YgZmlsZXM6Ci0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL2V4
YW1wbGVzL01ha2VmaWxlCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL2V4YW1wbGVzL1JFQURNRQotL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC93aWRscHJvYy9leGFtcGxlcy9ib25kaS53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9j
L2V4YW1wbGVzL2ZpbGVzeXN0ZW0ud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9leGFtcGxlcy9z
cGVjdG93aWRsLnhzbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9leGFtcGxlcy93aWRsaHRtbC5jc3MK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9leGFtcGxlcy93aWRsaHRtbC5jc3MgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3Qvd2lkbHByb2MvZXhhbXBsZXMvd2lkbGh0bWwuY3NzCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCA4NTQzMDk3YTNjYzgwZDNmYzU4OGRjZjMwYzVkM2Y0YjViOTVjM2YxLi4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93
aWRscHJvYy9leGFtcGxlcy93aWRsaHRtbC5jc3MKKysrIC9kZXYvbnVsbApAQCAtMSwxMDAgKzAs
MCBAQAotYm9keSB7Ci0gIHBhZGRpbmc6IDJlbTsKLSAgbWFyZ2luOiAwOwotICBmb250LWZhbWls
eTogc2Fucy1zZXJpZjsKLSAgY29sb3I6IGJsYWNrOwotICBiYWNrZ3JvdW5kOiB3aGl0ZTsKLSAg
YmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIGxlZnQ7Ci0gIGJhY2tncm91bmQtYXR0YWNobWVudDog
Zml4ZWQ7Ci0gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7Ci19Ci06bGluayB7IGNvbG9y
OiAjMDBDOyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCB9Ci06dmlzaXRlZCB7IGNvbG9yOiAjNjA5
OyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCB9Ci1hOmFjdGl2ZSB7IGNvbG9yOiAjQzAwOyBiYWNr
Z3JvdW5kOiB0cmFuc3BhcmVudCB9Ci1hOmxpbmsgaW1nLCBhOnZpc2l0ZWQgaW1nIHsgYm9yZGVy
LXN0eWxlOiBub25lIH0gLyogbm8gYm9yZGVyIG9uIGltZyBsaW5rcyAqLwotCi1oMSwgaDIsIGgz
LCBoNCwgaDUsIGg2IHsgdGV4dC1hbGlnbjogbGVmdCB9Ci0vKiBiYWNrZ3JvdW5kIHNob3VsZCBi
ZSB0cmFuc3BhcmVudCwgYnV0IFdlYlRWIGhhcyBhIGJ1ZyAqLwotaDEsIGgyLCBoMyB7IGNvbG9y
OiAjMDA5MzkzOyBiYWNrZ3JvdW5kOiB3aGl0ZSB9Ci1oMSB7IGZvbnQ6IDE3MCUgc2Fucy1zZXJp
ZiB9Ci1oMiB7IGZvbnQ6IDE0MCUgc2Fucy1zZXJpZiB9Ci1oMyB7IGZvbnQ6IDEyMCUgc2Fucy1z
ZXJpZiB9Ci1oNCB7IGZvbnQ6IGJvbGQgMTAwJSBzYW5zLXNlcmlmIH0KLWg1IHsgZm9udDogaXRh
bGljIDEwMCUgc2Fucy1zZXJpZiB9Ci1oNiB7IGZvbnQ6IHNtYWxsLWNhcHMgMTAwJSBzYW5zLXNl
cmlmOyBtYXJnaW4tYm90dG9tOiAwIH0KLQotLmhpZGUgeyBkaXNwbGF5OiBub25lIH0KLQotY29k
ZSB7IGZvbnQtc2l6ZTogMTIwJSB9Ci0KLXVsLnRvYywgb2wudG9jLCB1bC5hdXRob3JzIHsKLSAg
bGlzdC1zdHlsZTogbm9uZTsKLX0KLQotLmhpZGUgeyBkaXNwbGF5OiBub25lIH0KLQotZGl2Lmhl
YWQgeyBtYXJnaW4tYm90dG9tOiAxZW0gfQotZGl2LmhlYWQgaDEgeyBtYXJnaW4tdG9wOiAyZW07
IGNsZWFyOiBib3RoIH0KLWRpdi5oZWFkIHRhYmxlIHsgbWFyZ2luLWxlZnQ6IDJlbTsgbWFyZ2lu
LXRvcDogMmVtIH0KLWRpdi5jb25zdHJhaW50LCBkaXYuaXNzdWUsIGRpdi5ub3RlLCBkaXYubm90
aWNlICAgICB7IG1hcmdpbi1sZWZ0OiAyZW07IH0KLWRpdi5leGFtcGxlSW5uZXIgcHJlIHsgbWFy
Z2luLWxlZnQ6IDFlbTsgbWFyZ2luLXRvcDogMGVtOyBtYXJnaW4tYm90dG9tOiAwZW19Ci1kaXYu
ZXhhbXBsZU91dGVyIHtib3JkZXI6IDRweCBkb3VibGUgZ3JheTsgbWFyZ2luOiAwZW07IHBhZGRp
bmc6IDBlbX0KLWRpdi5leGFtcGxlSW5uZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjZDVkZWUzOwot
ICAgICAJICAgICAgICAgICBib3JkZXItdG9wLXdpZHRoOiA0cHg7Ci0gICAgICAgCSAgICAgICAg
ICAgYm9yZGVyLXRvcC1zdHlsZTogZG91YmxlOwotICAgICAgIAkgICAgICAgICAgIGJvcmRlci10
b3AtY29sb3I6ICNkM2QzZDM7Ci0gICAgICAgCSAgICAgICAgICAgYm9yZGVyLWJvdHRvbS13aWR0
aDogNHB4OwotICAgICAgIAkgICAgICAgICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IGRvdWJsZTsK
LSAgICAgICAJICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjZDNkM2QzOwotICAgICAg
IAkgICAgICAgICAgIHBhZGRpbmc6IDRweDsgbWFyZ2luOiAwZW0gfQotZGl2LmV4YW1wbGVXcmFw
cGVyIHsgbWFyZ2luOiA0cHggfQotZGl2LmV4YW1wbGVIZWFkZXIgeyBmb250LXdlaWdodDogYm9s
ZDsgbWFyZ2luOiA0cHh9Ci1kaXYudGVybSB7IGZvbnQ6IDEwMCUgc2Fucy1zZXJpZjsgY29sb3I6
IzAwMDAwMDsgZm9udC13ZWlnaHQ6IGJvbGQ7IGxpbmUtaGVpZ2h0OiA2MCV9ICAgCi1kaXYubGlz
dCB7IGZvbnQ6IDEwMCUgc2Fucy1zZXJpZjsgY29sb3I6IzAwMDAwMDsgZm9udC13ZWlnaHQ6IG5v
cm1hbDsgbGluZS1oZWlnaHQ6IDYwJX0gCi0KLS5vcHRpb25hbCB7dGV4dC1kZWNvcmF0aW9uOiBs
aW5lLXRocm91Z2g7IGRpc3BsYXk6IG5vbmU7fQotCi0uY29weXJpZ2h0LC5sZWdhbG5vdGljZSB7
IGZvbnQtc2l6ZTogc21hbGwgfQotLmNvcHlyaWdodCBzbWFsbCB7IGZvbnQtc2l6ZTogc21hbGwg
fQotCi1AbWVkaWEgc2NyZWVuIHsgIC8qIGhpZGUgZnJvbSBJRTMgKi8KLWFbaHJlZl06aG92ZXIg
eyBiYWNrZ3JvdW5kOiAjZmZhIH0KLX0KLQotb2wuZW51bWFyICAgICAgeyBsaXN0LXN0eWxlLXR5
cGU6IGRlY2ltYWw7IH0KLW9sLmVudW1sYSAgICAgIHsgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1h
bHBoYTsgfQotb2wuZW51bWxyICAgICAgeyBsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLXJvbWFuOyB9
Ci1vbC5lbnVtdWEgICAgICB7IGxpc3Qtc3R5bGUtdHlwZTogdXBwZXItYWxwaGE7IH0KLW9sLmVu
dW11ciAgICAgIHsgbGlzdC1zdHlsZS10eXBlOiB1cHBlci1yb21hbjsgfQotCi0vKiBCT05ESSBh
ZGRpdGlvbnMgKi8KLQotLnRvYyB7Ci0gICAgbGlzdC1zdHlsZS10eXBlOiBub25lOwotfQotCi1w
cmUgewotICBiYWNrZ3JvdW5kLWNvbG9yOiNENURFRTM7Ci0gIG92ZXJmbG93OiBhdXRvOwotICBw
YWRkaW5nOiAxZW07Ci19Ci0KLS5leGFtcGxlY29kZSB7Ci0gICAgYmFja2dyb3VuZC1jb2xvcjog
I0VFRTsKLX0KLQotLmRlZi1hcGktZmVhdHVyZS1zZXQgZHQsIC5kZWYtYXBpLWZlYXR1cmUgZHQs
IGR0IC5kZWYtZGV2aWNlLWNhcCwgZHQuY29uc3QgY29kZSB7IGZvbnQ6IGJvbGQgMTAwJSBzYW5z
LXNlcmlmOyB9Ci1kdC5hdHRyaWJ1dGUgY29kZSwgZHQubWV0aG9kIGNvZGUgeyBmb250OiBpdGFs
aWMgMTAwJSBzYW5zLXNlcmlmOyB9Ci0KLS5kZWYtZGV2aWNlLWNhcHMgZGQgeyBtYXJnaW4tYm90
dG9tOiAyZW0gfQotCi1kdC5tZXRob2QgeyBtYXJnaW4tdG9wOiAyZW0gfQotCi0uc3VtbWFyeSB0
ZCB7Ci0gICAgdGV4dC1hbGlnbjogbGVmdDsKLSAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQkJERERE
OwotICAgIGNvbG9yOiBpbmhlcml0OwotICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7Ci0gICAg
d2hpdGUtc3BhY2U6cHJlOwotICAgIHBhZGRpbmc6IC4zZW0gMWVtIC4zZW0gMWVtOwotfQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3NyYy9jb21tZW50LmMgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lk
bHByb2Mvc3JjL2NvbW1lbnQuYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjIyYTdi
ZWE3YjRjNWM5MTJkOTJkZTFiYjU2NDhkZjNmODI3NzU4OC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mvc3JjL2NvbW1lbnQu
YworKysgL2Rldi9udWxsCkBAIC0xLDE4MjcgKzAsMCBAQAotLyoqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiAk
SWQkCi0gKiBDb3B5cmlnaHQgMjAwOSBBcGxpeCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KLSAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAg
KHRoZSAiTGljZW5zZSIpOwotICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4g
Y29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgotICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9m
IHRoZSBMaWNlbnNlIGF0Ci0gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJ
Q0VOU0UtMi4wCi0gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVk
IHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCi0gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5z
ZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAotICogV0lUSE9VVCBXQVJSQU5U
SUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQu
Ci0gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcg
cGVybWlzc2lvbnMgYW5kCi0gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KLSAqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKi8KLSNpbmNsdWRlIDxhc3NlcnQuaD4KLSNpbmNsdWRlIDxzdHJpbmcuaD4KLSNp
bmNsdWRlIDxzdGRpby5oPgotCi0jaW5jbHVkZSAiY29tbWVudC5oIgotI2luY2x1ZGUgImVudGl0
aWVzLmgiCi0jaW5jbHVkZSAibGV4LmgiCi0jaW5jbHVkZSAibWlzYy5oIgotI2luY2x1ZGUgIm5v
ZGUuaCIKLSNpbmNsdWRlICJvcy5oIgotI2luY2x1ZGUgInByb2Nlc3MuaCIKLQotLyogc3RydWN0
IGNub2RlIDogYSBub2RlIGluIHRoZSBjb21tZW50IHBhcnNlIHRyZWUgKi8KLXN0cnVjdCBjbm9k
ZSB7Ci0gICAgc3RydWN0IGNub2RlICpuZXh0OwotICAgIHN0cnVjdCBjbm9kZSAqY2hpbGRyZW47
Ci0gICAgc3RydWN0IGNub2RlICpwYXJlbnQ7Ci0gICAgY29uc3Qgc3RydWN0IGNub2RlZnVuY3Mg
KmZ1bmNzOwotICAgIGNvbnN0IGNoYXIgKmF0dHJ0ZXh0OwotICAgIGNvbnN0IGNoYXIgKmZpbGVu
YW1lOwotICAgIHVuc2lnbmVkIGludCBsaW5lbnVtOwotfTsKLQotc3RydWN0IGNub2RlZnVuY3Mg
ewotICAgIGludCBpbmRlc2M7IC8qIG5vbi16ZXJvIGlmIGl0IG91dHB1dHMgaXRzIG93biB4bWwg
ZWxlbWVudCB0aGF0IGRvZXMKLSAgICAgICAgICAgICAgICAgICAgICBub3Qgd2FudCB0byBiZSBp
bnNpZGUgPGRlc2NyaXB0aW9uPiAqLwotICAgIGludCBuZWVkcGFyYTsgLyogbm9uLXplcm8gaWYg
dGV4dCBtdXN0IGJlIGluIGEgcGFyYSBub2RlIHRoYXQgaXMgYSBjaGlsZAotICAgICAgICAgICAg
ICAgICAgICAgb2YgdGhpcyBvbmUgKi8KLSAgICBpbnQgKCphc2tlbmQpKHN0cnVjdCBjbm9kZSAq
Y25vZGUsIGNvbnN0IHN0cnVjdCBjbm9kZWZ1bmNzICp0eXBlKTsKLSAgICB2b2lkICgqZW5kKShz
dHJ1Y3QgY25vZGUgKmNub2RlKTsKLSAgICB2b2lkICgqb3V0cHV0KShzdHJ1Y3QgY25vZGUgKmNu
b2RlLCB1bnNpZ25lZCBpbnQgaW5kZW50KTsKLX07Ci0KLXN0cnVjdCBwYXJhbWNub2RlIHsKLSAg
ICBzdHJ1Y3QgY25vZGUgY247Ci0gICAgaW50IGlub3V0OwotICAgIGNoYXIgbmFtZVsxXTsKLX07
Ci0KLS8qIHN0cnVjdCBjb21tZW50IDogYSBkb3h5Z2VuIGNvbW1lbnQgKi8KLXN0cnVjdCBjb21t
ZW50IHsKLSAgICBzdHJ1Y3QgY29tbWVudCAqbmV4dDsKLSAgICBzdHJ1Y3Qgbm9kZSAqbm9kZTsK
LSAgICB1bnNpZ25lZCBpbnQgdHlwZTsKLSAgICBjb25zdCBjaGFyICpmaWxlbmFtZTsKLSAgICB1
bnNpZ25lZCBpbnQgbGluZW51bTsKLSAgICBzdHJ1Y3QgY25vZGUgcm9vdDsKLSAgICBpbnQgYmFj
azsgLyogV2hldGhlciB0aGUgY29tbWVudCByZWZlcnMgYmFjayByYXRoZXIgdGhhbiBmb3J3YXJk
LiAqLwotICAgIGNoYXIgKnRleHQ7Ci19OwotCi0KLXN0YXRpYyBzdHJ1Y3Qgbm9kZSAqbGFzdGlk
ZW50aWZpZXI7Ci1zdGF0aWMgc3RydWN0IGNvbW1lbnQgKmNvbW1lbnRzOwotc3RhdGljIGludCBp
bmNvZGUsIGluaHRtbGJsb2NrOwotc3RhdGljIHN0cnVjdCBjb21tZW50ICpjdXJjb21tZW50Owot
Ci0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioKLSAqIGh0bWxlbGRlc2NzIDogdGFibGUgb2YgcmVjbm9naXplZCBI
VE1MIGVsZW1lbnRzCi0gKi8KLSNkZWZpbmUgSFRNTEVMX0VNUFRZIDEKLSNkZWZpbmUgSFRNTEVM
X0lOTElORSAyCi0jZGVmaW5lIEhUTUxFTF9CTE9DSyA0Ci0jZGVmaW5lIEhUTUxFTF9BVVRPQ0xP
U0UgOAotI2RlZmluZSBIVE1MRUxfTEkgMHgxMAotI2RlZmluZSBIVE1MRUxfRExDT05URU5UUyAw
eDIwCi0jZGVmaW5lIEhUTUxFTF9UQUJMRUNPTlRFTlRTIDB4NDAKLSNkZWZpbmUgSFRNTEVMX1RS
Q09OVEVOVFMgMHg4MAotCi0jZGVmaW5lIEhUTUxFTF9GTE9XIChIVE1MRUxfQkxPQ0sgfCBIVE1M
RUxfSU5MSU5FKQotCi1zdHJ1Y3QgaHRtbGVsZGVzYyB7Ci0gICAgdW5zaWduZWQgaW50IG5hbWVs
ZW47Ci0gICAgY29uc3QgY2hhciAqbmFtZTsKLSAgICB1bnNpZ25lZCBpbnQgZmxhZ3M7Ci0gICAg
dW5zaWduZWQgaW50IGNvbnRlbnQ7Ci19OwotCi1zdGF0aWMgY29uc3Qgc3RydWN0IGh0bWxlbGRl
c2MgaHRtbGVsZGVzY3NbXSA9IHsKLSAgICB7IDEsICJhIiwgSFRNTEVMX0lOTElORSwgMCB9LAot
ICAgIHsgMSwgImIiLCBIVE1MRUxfSU5MSU5FLCAwIH0sCi0gICAgeyAyLCAiYnIiLCBIVE1MRUxf
SU5MSU5FLCBIVE1MRUxfRU1QVFkgfSwKLSAgICB7IDMsICJpbWciLCBIVE1MRUxfSU5MSU5FLCBI
VE1MRUxfRU1QVFkgfSwKLSAgICB7IDIsICJkZCIsIEhUTUxFTF9ETENPTlRFTlRTLCBIVE1MRUxf
RkxPVyB9LAotICAgIHsgMiwgImRsIiwgSFRNTEVMX0JMT0NLLCBIVE1MRUxfRExDT05URU5UUyB9
LAotICAgIHsgMiwgImR0IiwgSFRNTEVMX0RMQ09OVEVOVFMsIEhUTUxFTF9JTkxJTkUgfSwKLSAg
ICB7IDIsICJlbSIsIEhUTUxFTF9JTkxJTkUsIDAgfSwKLSAgICB7IDIsICJsaSIsIEhUTUxFTF9M
SSwgSFRNTEVMX0ZMT1cgfSwKLSAgICB7IDIsICJvbCIsIEhUTUxFTF9CTE9DSywgSFRNTEVMX0xJ
IH0sCi0gICAgeyAxLCAicCIsIEhUTUxFTF9CTE9DSywgSFRNTEVMX0lOTElORSB9LAotICAgIHsg
MiwgInRkIiwgSFRNTEVMX1RSQ09OVEVOVFMgfCBIVE1MRUxfQVVUT0NMT1NFLCBIVE1MRUxfRkxP
VyB9LAotICAgIHsgMiwgInRoIiwgSFRNTEVMX1RSQ09OVEVOVFMgfCBIVE1MRUxfQVVUT0NMT1NF
LCBIVE1MRUxfRkxPVyB9LAotICAgIHsgMiwgInRyIiwgSFRNTEVMX1RBQkxFQ09OVEVOVFMgfCBI
VE1MRUxfQVVUT0NMT1NFLCBIVE1MRUxfVFJDT05URU5UUyB9LAotICAgIHsgNSwgInRhYmxlIiwg
SFRNTEVMX0JMT0NLLCBIVE1MRUxfVEFCTEVDT05URU5UUyB9LAotICAgIHsgMiwgInVsIiwgSFRN
TEVMX0JMT0NLLCBIVE1MRUxfTEkgfSwKLSAgICB7IDAsIDAsIDAsIDAgfQotfTsKLSNkZWZpbmUg
SFRNTEVMREVTQ19CIChodG1sZWxkZXNjcyArIDEpCi0jZGVmaW5lIEhUTUxFTERFU0NfQlIgKGh0
bWxlbGRlc2NzICsgMikKLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBhZGRjb21tZW50IDogYWRkIGEg
Y29tbWVudCB0byB0aGUgbGlzdCBvZiBjb21tZW50cyBpZiBpdCBoYXMgZG94eWdlbiBzeW50YXgK
LSAqCi0gKiBFbnRlcjogICB0b2sgc3RydWN0Ci0gKi8KLXZvaWQKLWFkZGNvbW1lbnQoc3RydWN0
IHRvayAqdG9rKQotewotICAgIGlmICh0b2stPmxlbiA+PSAxICYmICh0b2stPnN0YXJ0WzBdID09
ICchJwotICAgICAgICB8fCAodG9rLT50eXBlID09IFRPS19CTE9DS0NPTU1FTlQgJiYgdG9rLT5z
dGFydFswXSA9PSAnKicpCi0gICAgICAgIHx8ICh0b2stPnR5cGUgPT0gVE9LX0lOTElORUNPTU1F
TlQgJiYgdG9rLT5zdGFydFswXSA9PSAnLycpKSkKLSAgICB7Ci0gICAgICAgIHN0cnVjdCBjb21t
ZW50ICpjb21tZW50OwotICAgICAgICBjb21tZW50ID0gbWVtYWxsb2Moc2l6ZW9mKHN0cnVjdCBj
b21tZW50KSk7Ci0gICAgICAgIGNvbW1lbnQtPnRleHQgPSBtZW1hbGxvYyh0b2stPmxlbiArIDEp
OwotICAgICAgICBtZW1jcHkoY29tbWVudC0+dGV4dCwgdG9rLT5zdGFydCwgdG9rLT5sZW4pOwot
ICAgICAgICBjb21tZW50LT50ZXh0W3Rvay0+bGVuXSA9IDA7Ci0gICAgICAgIGNvbW1lbnQtPnR5
cGUgPSB0b2stPnR5cGU7Ci0gICAgICAgIGNvbW1lbnQtPmZpbGVuYW1lID0gdG9rLT5maWxlbmFt
ZTsKLSAgICAgICAgY29tbWVudC0+bGluZW51bSA9IHRvay0+bGluZW51bTsKLSAgICAgICAgY29t
bWVudC0+bm9kZSA9IDA7Ci0gICAgICAgIGNvbW1lbnQtPmJhY2sgPSAwOwotICAgICAgICBpZiAo
Y29tbWVudC0+dGV4dFsxXSA9PSAnPCcpIHsKLSAgICAgICAgICAgIGNvbW1lbnQtPmJhY2sgPSAx
OwotICAgICAgICAgICAgaWYgKCFsYXN0aWRlbnRpZmllcikgewotICAgICAgICAgICAgICAgIGxv
Y2Vycm9yZXhpdChjb21tZW50LT5maWxlbmFtZSwgY29tbWVudC0+bGluZW51bSwKLSAgICAgICAg
ICAgICAgICAgICAgIm5vIGlkZW50aWZpZXIgdG8gYXR0YWNoIGRveHlnZW4gY29tbWVudCB0byIp
OwotICAgICAgICAgICAgfQotICAgICAgICAgICAgY29tbWVudC0+bm9kZSA9IGxhc3RpZGVudGlm
aWVyOwotICAgICAgICB9Ci0gICAgICAgIGNvbW1lbnQtPm5leHQgPSBjb21tZW50czsKLSAgICAg
ICAgY29tbWVudHMgPSBjb21tZW50OwotICAgIH0KLX0KLQotLyoqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBz
ZXRjb21tZW50bm9kZSA6IHNldCBwYXJzZSBub2RlIHRvIGF0dGFjaCBjb21tZW50cyB0bwotICoK
LSAqIEVudGVyOiAgIG5vZGUyID0gcGFyc2Ugbm9kZSBmb3IgaWRlbnRpZmllcgotICovCi12b2lk
Ci1zZXRjb21tZW50bm9kZShzdHJ1Y3Qgbm9kZSAqbm9kZTIpCi17Ci0gICAgc3RydWN0IGNvbW1l
bnQgKmNvbW1lbnQgPSBjb21tZW50czsKLSAgICB3aGlsZSAoY29tbWVudCAmJiAhY29tbWVudC0+
bm9kZSkgewotICAgICAgICBjb21tZW50LT5ub2RlID0gbm9kZTI7Ci0gICAgICAgIGNvbW1lbnQg
PSBjb21tZW50LT5uZXh0OwotICAgIH0KLSAgICBsYXN0aWRlbnRpZmllciA9IG5vZGUyOwotfQot
Ci0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioKLSAqIGpvaW5pbmxpbmVjb21tZW50cyA6IGpvaW4gYWRqYWNlbnQg
aW5saW5lIGNvbW1lbnRzCi0gKgotICogRW50ZXI6ICAgY29tbWVudCA9IGxpc3Qgb2YgY29tbWVu
dCBzdHJ1Y3RzCi0gKgotICogUmV0dXJuOiAgbmV3IGxpc3Qgb2YgY29tbWVudCBzdHJ1Y3RzCi0g
KgotICogVGhpcyBmdW5jdGlvbiBhbHNvIGRpc2NhcmRzIGFueSBzaW5nbGUgaW5saW5lIGNvbW1l
bnQgdGhhdCBkb2VzIG5vdAotICogcmVmZXIgYmFjay4KLSAqLwotc3RhdGljIHN0cnVjdCBjb21t
ZW50ICoKLWpvaW5pbmxpbmVjb21tZW50cyhzdHJ1Y3QgY29tbWVudCAqY29tbWVudHMpCi17Ci0g
ICAgc3RydWN0IGNvbW1lbnQgKipwY29tbWVudDsKLSAgICBwY29tbWVudCA9ICZjb21tZW50czsK
LSAgICBmb3IgKDs7KSB7Ci0gICAgICAgIHN0cnVjdCBjb21tZW50ICpjb21tZW50OwotICAgICAg
ICBjb21tZW50ID0gKnBjb21tZW50OwotICAgICAgICBpZiAoIWNvbW1lbnQpCi0gICAgICAgICAg
ICBicmVhazsKLSAgICAgICAgaWYgKGNvbW1lbnQtPnR5cGUgIT0gVE9LX0lOTElORUNPTU1FTlQp
IHsKLSAgICAgICAgICAgIC8qIEtlZXAgYmxvY2sgY29tbWVudCBhcyBpcy4gKi8KLSAgICAgICAg
ICAgIHBjb21tZW50ID0gJmNvbW1lbnQtPm5leHQ7Ci0gICAgICAgIH0gZWxzZSBpZiAoIWNvbW1l
bnQtPmJhY2sgJiYgKCFjb21tZW50LT5uZXh0Ci0gICAgICAgICAgICAgICAgfHwgY29tbWVudC0+
bmV4dC0+dHlwZSAhPSBUT0tfSU5MSU5FQ09NTUVOVAotICAgICAgICAgICAgICAgIHx8IGNvbW1l
bnQtPm5leHQtPmZpbGVuYW1lICE9IGNvbW1lbnQtPmZpbGVuYW1lCi0gICAgICAgICAgICAgICAg
fHwgY29tbWVudC0+bmV4dC0+bGluZW51bSAhPSBjb21tZW50LT5saW5lbnVtICsgMSkpCi0gICAg
ICAgIHsKLSAgICAgICAgICAgIC8qIERpc2NhcmQgc2luZ2xlIC8vIGNvbW1lbnQgdGhhdCBkb2Vz
IG5vdCByZWZlciBiYWNrLiAqLwotICAgICAgICAgICAgKnBjb21tZW50ID0gY29tbWVudC0+bmV4
dDsKLQotICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgLyogRmluZCBzZXF1ZW5jZSBvZiBh
ZGphY2VudCAvLyBjb21tZW50cyAoYWRqYWNlbnQgbGluZXMsCi0gICAgICAgICAgICAgKiByZWZl
cnJpbmcgdG8gc2FtZSBub2RlKSBhbmQgam9pbiB0aGVtLiBXZSBkbyB0aGlzIGluIHR3bwotICAg
ICAgICAgICAgICogcGFzc2VzLCBvbmUgdG8gY291bnQgdGhlIGxlbmd0aCBvZiB0aGUgY29tbWVu
dCBhbmQgb25lCi0gICAgICAgICAgICAgKiB0byBqb2luLiBOb3RlIHRoYXQgdGhlIGxpc3QgaXMg
c3RpbGwgaW4gcmV2ZXJzZSBvcmRlciwKLSAgICAgICAgICAgICAqIHNvIHdlIGV4cGVjdCB0aGUg
bGluZSBudW1iZXIgdG8gZGVjcmVhc2UgYnkgMSBlYWNoIHRpbWUuICovCi0gICAgICAgICAgICBz
dHJ1Y3QgY29tbWVudCAqbmV3Y29tbWVudCA9IDAsICpjb21tZW50MjsKLSAgICAgICAgICAgIGNv
bnN0IGNoYXIgKmZpbGVuYW1lID0gY29tbWVudC0+ZmlsZW5hbWU7Ci0gICAgICAgICAgICB1bnNp
Z25lZCBpbnQgbGluZW51bSA9IGNvbW1lbnQtPmxpbmVudW07Ci0gICAgICAgICAgICBmb3IgKDs7
KSB7Ci0gICAgICAgICAgICAgICAgY2hhciAqd3AgPSBuZXdjb21tZW50LT50ZXh0OwotICAgICAg
ICAgICAgICAgIGNvbW1lbnQyID0gY29tbWVudDsKLSAgICAgICAgICAgICAgICBkbyB7Ci0gICAg
ICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBsZW4gPSBzdHJsZW4oY29tbWVudDItPnRleHQp
OwotICAgICAgICAgICAgICAgICAgICBpZiAobmV3Y29tbWVudCkKLSAgICAgICAgICAgICAgICAg
ICAgICAgIG1lbWNweSh3cCwgY29tbWVudDItPnRleHQsIGxlbik7Ci0gICAgICAgICAgICAgICAg
ICAgIHdwICs9IGxlbjsKLSAgICAgICAgICAgICAgICAgICAgbGluZW51bS0tOwotICAgICAgICAg
ICAgICAgICAgICBjb21tZW50MiA9IGNvbW1lbnQyLT5uZXh0OwotICAgICAgICAgICAgICAgIH0g
d2hpbGUgKGNvbW1lbnQyICYmIGNvbW1lbnQyLT5maWxlbmFtZSA9PSBmaWxlbmFtZQotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICYmIGNvbW1lbnQyLT5saW5lbnVtID09IGxpbmVudW0KLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAmJiBjb21tZW50Mi0+bm9kZSA9PSBjb21tZW50LT5u
b2RlKTsKLSAgICAgICAgICAgICAgICAvKiBGaW5pc2hlZCBhIHBhc3MuICovCi0gICAgICAgICAg
ICAgICAgaWYgKG5ld2NvbW1lbnQpIHsKLSAgICAgICAgICAgICAgICAgICAgKndwID0gMDsKLSAg
ICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAg
ICAgIG5ld2NvbW1lbnQgPSBtZW1hbGxvYyhzaXplb2Yoc3RydWN0IGNvbW1lbnQpCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICsgd3AgLSBuZXdjb21tZW50LT50ZXh0KTsKLSAgICAg
ICAgICAgICAgICBuZXdjb21tZW50LT5ub2RlID0gY29tbWVudC0+bm9kZTsKLSAgICAgICAgICAg
ICAgICBuZXdjb21tZW50LT50eXBlID0gY29tbWVudC0+dHlwZTsKLSAgICAgICAgICAgICAgICBu
ZXdjb21tZW50LT5maWxlbmFtZSA9IGZpbGVuYW1lOwotICAgICAgICAgICAgICAgIG5ld2NvbW1l
bnQtPmxpbmVudW0gPSBsaW5lbnVtICsgMTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIC8q
IFJlcGxhY2UgdGhlIHNjYW5uZWQgY29tbWVudCBzdHJ1Y3Qgd2l0aCBuZXdjb21tZW50IGluIHRo
ZQotICAgICAgICAgICAgICogbGlzdC4gKi8KLSAgICAgICAgICAgIG5ld2NvbW1lbnQtPm5leHQg
PSBjb21tZW50MjsKLSAgICAgICAgICAgICpwY29tbWVudCA9IG5ld2NvbW1lbnQ7Ci0gICAgICAg
ICAgICBwY29tbWVudCA9ICZuZXdjb21tZW50LT5uZXh0OwotICAgICAgICB9Ci0gICAgfQotICAg
IHJldHVybiBjb21tZW50czsKLX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBvdXRwdXRjaGlsZHJl
biA6IGNhbGwgb3V0cHV0IHJlY3Vyc2l2ZWx5IG9uIGNoaWxkcmVuIG9mIGNub2RlCi0gKgotICog
RW50ZXI6ICAgY25vZGUKLSAqICAgICAgICAgIGluZGVudCA9IGluZGVudCAobmVzdGluZykgbGV2
ZWwgb2YgcGFyZW50Ci0gKiAgICAgICAgICBpbmRlc2MgPSB3aGV0aGVyIGFscmVhZHkgaW4gPGRl
c2NyaXB0aW9uPiBvciBvdGhlciB0b3AtbGV2ZWwKLSAqICAgICAgICAgICAgICAgICAgIGRlc2Ny
aXB0aXZlIGVsZW1lbnQKLSAqLwotc3RhdGljIHZvaWQKLW91dHB1dGNoaWxkcmVuKHN0cnVjdCBj
bm9kZSAqY25vZGUsIHVuc2lnbmVkIGludCBpbmRlbnQsIGludCBpbmRlc2MpCi17Ci0gICAgaW50
IGN1cmluZGVzYyA9IGluZGVzYzsKLSAgICBjbm9kZSA9IGNub2RlLT5jaGlsZHJlbjsKLSAgICB3
aGlsZSAoY25vZGUpIHsKLSAgICAgICAgaWYgKGN1cmluZGVzYyAhPSBjbm9kZS0+ZnVuY3MtPmlu
ZGVzYykgewotICAgICAgICAgICAgYXNzZXJ0KCFpbmRlc2MpOwotICAgICAgICAgICAgcHJpbnRm
KCIlKnM8JXNkZXNjcmlwdGlvbj5cbiIsIGluZGVudCArIDEsICIiLCBjdXJpbmRlc2MgPyAiLyIg
OiAiIik7Ci0gICAgICAgICAgICBjdXJpbmRlc2MgPSAhY3VyaW5kZXNjOwotICAgICAgICB9Ci0g
ICAgICAgICgqY25vZGUtPmZ1bmNzLT5vdXRwdXQpKGNub2RlLCBpbmRlbnQgKyAyKTsKLSAgICAg
ICAgY25vZGUgPSBjbm9kZS0+bmV4dDsKLSAgICB9Ci0gICAgaWYgKGN1cmluZGVzYyAhPSBpbmRl
c2MpCi0gICAgICAgIHByaW50ZigiJSpzPCVzZGVzY3JpcHRpb24+XG4iLCBpbmRlbnQgKyAxLCAi
IiwgY3VyaW5kZXNjID8gIi8iIDogIiIpOwotfQotCi0vKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIGRlZmF1
bHRfYXNrZW5kIDogYXNrIG5vZGUgaWYgaXQgd2FudHMgdG8gZW5kIGF0IGEgcGFyYSBzdGFydCAo
ZGVmYXVsdAotICogICAgICAgICAgICAgICAgICBpbXBsZW1lbnRhdGlvbikKLSAqCi0gKiBFbnRl
cjogICBjbm9kZQotICogICAgICAgICAgdHlwZSA9IDAgZWxzZSBjbm9kZWZ1bmNzIGZvciBuZXds
eSBzdGFydGluZyBwYXJhCi0gKgotICogUmV0dXJuOiAgbm9uLXplcm8gaWYgdGhpcyBub2RlIHdh
bnRzIHRvIGVuZAotICovCi1zdGF0aWMgaW50Ci1kZWZhdWx0X2Fza2VuZChzdHJ1Y3QgY25vZGUg
KmNub2RlLCBjb25zdCBzdHJ1Y3QgY25vZGVmdW5jcyAqdHlwZSkKLXsKLSAgICByZXR1cm4gMTsK
LX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqCi0gKiByb290X2Fza2VuZCA6IGFzayByb290IG5vZGUgaWYg
aXQgd2FudHMgdG8gZW5kIGF0IGEgcGFyYSBzdGFydAotICoKLSAqIEVudGVyOiAgIGNub2RlIGZv
ciByb290Ci0gKiAgICAgICAgICB0eXBlID0gMCBlbHNlIGNub2RlZnVuY3MgZm9yIG5ld2x5IHN0
YXJ0aW5nIHBhcmEKLSAqCi0gKiBSZXR1cm46ICBub24temVybyBpZiB0aGlzIG5vZGUgd2FudHMg
dG8gZW5kCi0gKi8KLXN0YXRpYyBpbnQKLXJvb3RfYXNrZW5kKHN0cnVjdCBjbm9kZSAqY25vZGUs
IGNvbnN0IHN0cnVjdCBjbm9kZWZ1bmNzICp0eXBlKQotewotICAgIHJldHVybiAwOwotfQotCi0v
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioKLSAqIHJvb3Rfb3V0cHV0IDogb3V0cHV0IHJvb3QgY25vZGUKLSAqCi0g
KiBFbnRlcjogICBjbm9kZSBmb3Igcm9vdAotICogICAgICAgICAgaW5kZW50ID0gaW5kZW50IChu
ZXN0aW5nKSBsZXZlbAotICovCi1zdGF0aWMgdm9pZAotcm9vdF9vdXRwdXQoc3RydWN0IGNub2Rl
ICpjbm9kZSwgdW5zaWduZWQgaW50IGluZGVudCkKLXsKLSAgICBvdXRwdXRjaGlsZHJlbihjbm9k
ZSwgaW5kZW50LCAwKTsKLX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBjbm9kZSB0eXBlIHJvb3QK
LSAqLwotc3RhdGljIGNvbnN0IHN0cnVjdCBjbm9kZWZ1bmNzIHJvb3RfZnVuY3MgPSB7Ci0gICAg
MCwgLyogIWluZGVzYyAqLwotICAgIDEsIC8qIG5lZWRwYXJhICovCi0gICAgJnJvb3RfYXNrZW5k
LAotICAgIDAsIC8qIGVuZCAqLwotICAgICZyb290X291dHB1dCwKLX07Ci0KLS8qKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKgotICogZW5kY25vZGUgOiBlbmQgY3VycmVudCBjbm9kZQotICoKLSAqIEVudGVyOiAgIGNu
b2RlID0gY3VycmVudCBjbm9kZQotICoKLSAqIFJldHVybjogIGNub2RlID0gbmV3IGN1cnJlbnQg
Y29kZSAocGFyZW50IG9mIG9sZCBvbmUpCi0gKi8KLXN0YXRpYyBzdHJ1Y3QgY25vZGUgKgotZW5k
Y25vZGUoc3RydWN0IGNub2RlICpjbm9kZSkKLXsKLSAgICBpZiAoY25vZGUtPmZ1bmNzLT5lbmQp
Ci0gICAgICAgICgqY25vZGUtPmZ1bmNzLT5lbmQpKGNub2RlKTsKLSAgICAvKiBSZXZlcnNlIHRo
ZSBjaGlsZHJlbiBsaXN0LiAqLwotICAgIHsKLSAgICAgICAgc3RydWN0IGNub2RlICpjaGlsZCA9
IGNub2RlLT5jaGlsZHJlbjsKLSAgICAgICAgY25vZGUtPmNoaWxkcmVuID0gMDsKLSAgICAgICAg
d2hpbGUgKGNoaWxkKSB7Ci0gICAgICAgICAgICBzdHJ1Y3QgY25vZGUgKm5leHQgPSBjaGlsZC0+
bmV4dDsKLSAgICAgICAgICAgIGNoaWxkLT5uZXh0ID0gY25vZGUtPmNoaWxkcmVuOwotICAgICAg
ICAgICAgY25vZGUtPmNoaWxkcmVuID0gY2hpbGQ7Ci0gICAgICAgICAgICBjaGlsZCA9IG5leHQ7
Ci0gICAgICAgIH0KLSAgICB9Ci0gICAgcmV0dXJuIGNub2RlLT5wYXJlbnQ7Ci19Ci0KLS8qKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKgotICogZW5kc3BlY2lmaWNjbm9kZSA6IGVuZCBhIHNwZWNpZmljIHR5cGUgb2Yg
Y25vZGUKLSAqCi0gKiBFbnRlcjogICBjbm9kZSA9IGN1cnJlbnQgY25vZGUKLSAqICAgICAgICAg
IHR5cGUgPSB0eXBlIG9mIG5vZGUgdG8gZW5kCi0gKiAgICAgICAgICBmaWxlbmFtZSwgbGluZW51
bSA9IGZpbGVuYW1lIGFuZCBsaW5lIG51bWJlciAoZm9yIGVycm9yIHJlcG9ydGluZykKLSAqCi0g
KiBSZXR1cm46ICBuZXcgY3VycmVudCBjbm9kZQotICovCi1zdGF0aWMgc3RydWN0IGNub2RlICoK
LWVuZHNwZWNpZmljY25vZGUoc3RydWN0IGNub2RlICpjbm9kZSwgY29uc3Qgc3RydWN0IGNub2Rl
ZnVuY3MgKnR5cGUsCi0gICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmZpbGVuYW1lLCB1bnNp
Z25lZCBpbnQgbGluZW51bSkKLXsKLSAgICB3aGlsZSAoY25vZGUtPmZ1bmNzICE9IHR5cGUpIHsK
LSAgICAgICAgaWYgKGNub2RlLT5mdW5jcyA9PSAmcm9vdF9mdW5jcykKLSAgICAgICAgICAgIGxv
Y2Vycm9yZXhpdChmaWxlbmFtZSwgbGluZW51bSwgInVubWF0Y2hlZCBcXGVuZGNvZGUiKTsKLSAg
ICAgICAgY25vZGUgPSBlbmRjbm9kZShjbm9kZSk7Ci0gICAgfQotICAgIHJldHVybiBjbm9kZTsK
LX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqCi0gKiBzdGFydGNub2RlIDogc3RhcnQgYSBuZXdseSBjcmVh
dGVkIGNub2RlCi0gKgotICogRW50ZXI6ICAgY25vZGUgPSBjdXJyZW50IGNub2RlCi0gKiAgICAg
ICAgICBuZXdjbm9kZSA9IG5ldyBjbm9kZSB0byBzdGFydAotICoKLSAqIFJldHVybjogIG5ldyBj
dXJyZW50IGNub2RlICh3aGljaCBpcyB0aGUgc2FtZSBhcyBuZXdjbm9kZSkKLSAqLwotc3RhdGlj
IHN0cnVjdCBjbm9kZSAqCi1zdGFydGNub2RlKHN0cnVjdCBjbm9kZSAqY25vZGUsIHN0cnVjdCBj
bm9kZSAqbmV3Y25vZGUpCi17Ci0gICAgbmV3Y25vZGUtPnBhcmVudCA9IGNub2RlOwotICAgIG5l
d2Nub2RlLT5uZXh0ID0gY25vZGUtPmNoaWxkcmVuOwotICAgIGNub2RlLT5jaGlsZHJlbiA9IG5l
d2Nub2RlOwotICAgIHJldHVybiBuZXdjbm9kZTsKLX0KLQotLyoqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBw
YXJhX291dHB1dCA6IG91dHB1dCBwYXJhIGNub2RlCi0gKgotICogRW50ZXI6ICAgY25vZGUgZm9y
IHJvb3QKLSAqICAgICAgICAgIGluZGVudCA9IGluZGVudCAobmVzdGluZykgbGV2ZWwKLSAqLwot
c3RhdGljIHZvaWQKLXBhcmFfb3V0cHV0KHN0cnVjdCBjbm9kZSAqY25vZGUsIHVuc2lnbmVkIGlu
dCBpbmRlbnQpCi17Ci0gICAgcHJpbnRmKCIlKnM8cD5cbiIsIGluZGVudCwgIiIpOwotICAgIG91
dHB1dGNoaWxkcmVuKGNub2RlLCBpbmRlbnQsIDEpOwotICAgIHByaW50ZigiJSpzPC9wPlxuIiwg
aW5kZW50LCAiIik7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogcGFyYV9lbmQgOiBlbmQgYSBw
YXJhIGNub2RlCi0gKgotICogRW50ZXI6ICAgY25vZGUgc3RydWN0Ci0gKi8KLXN0YXRpYyB2b2lk
Ci1wYXJhX2VuZChzdHJ1Y3QgY25vZGUgKmNub2RlKQotewotICAgIC8qIElmIHRoZSBwYXJhIGNu
b2RlIGlzIGVtcHR5LCByZW1vdmUgaXQuICovCi0gICAgaWYgKCFjbm9kZS0+Y2hpbGRyZW4pCi0g
ICAgICAgIGNub2RlLT5wYXJlbnQtPmNoaWxkcmVuID0gY25vZGUtPm5leHQ7Ci19Ci0KLS8qKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKgotICogY25vZGUgdHlwZSBwYXJhCi0gKi8KLXN0YXRpYyBjb25zdCBzdHJ1Y3Qg
Y25vZGVmdW5jcyBwYXJhX2Z1bmNzID0gewotICAgIDEsIC8qIGluZGVzYyAqLwotICAgIDAsIC8q
ICFuZWVkcGFyYSAqLwotICAgICZkZWZhdWx0X2Fza2VuZCwKLSAgICAmcGFyYV9lbmQsIC8qIGVu
ZCAqLwotICAgICZwYXJhX291dHB1dCwKLX07Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogYnJpZWZf
b3V0cHV0IDogb3V0cHV0IGJyaWVmIGNub2RlCi0gKgotICogRW50ZXI6ICAgY25vZGUgZm9yIHJv
b3QKLSAqICAgICAgICAgIGluZGVudCA9IGluZGVudCAobmVzdGluZykgbGV2ZWwKLSAqLwotc3Rh
dGljIHZvaWQKLWJyaWVmX291dHB1dChzdHJ1Y3QgY25vZGUgKmNub2RlLCB1bnNpZ25lZCBpbnQg
aW5kZW50KQotewotICAgIHByaW50ZigiJSpzPGJyaWVmPlxuIiwgaW5kZW50LCAiIik7Ci0gICAg
b3V0cHV0Y2hpbGRyZW4oY25vZGUsIGluZGVudCwgMSk7Ci0gICAgcHJpbnRmKCIlKnM8L2JyaWVm
PlxuIiwgaW5kZW50LCAiIik7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogY25vZGUgdHlwZSBi
cmllZgotICovCi1zdGF0aWMgY29uc3Qgc3RydWN0IGNub2RlZnVuY3MgYnJpZWZfZnVuY3MgPSB7
Ci0gICAgMCwgLyogIWluZGVzYyAqLwotICAgIDAsIC8qICFuZWVkcGFyYSAqLwotICAgICZkZWZh
dWx0X2Fza2VuZCwKLSAgICAwLCAvKiBlbmQgKi8KLSAgICAmYnJpZWZfb3V0cHV0LAotfTsKLQot
LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqCi0gKiByZXR1cm5fb3V0cHV0IDogb3V0cHV0IHJldHVybiBjbm9kZQot
ICoKLSAqIEVudGVyOiAgIGNub2RlIGZvciByb290Ci0gKiAgICAgICAgICBpbmRlbnQgPSBpbmRl
bnQgKG5lc3RpbmcpIGxldmVsCi0gKi8KLXN0YXRpYyB2b2lkCi1yZXR1cm5fb3V0cHV0KHN0cnVj
dCBjbm9kZSAqY25vZGUsIHVuc2lnbmVkIGludCBpbmRlbnQpCi17Ci0gICAgcHJpbnRmKCIlKnM8
ZGVzY3JpcHRpb24+PHA+XG4iLCBpbmRlbnQsICIiKTsKLSAgICBvdXRwdXRjaGlsZHJlbihjbm9k
ZSwgaW5kZW50LCAxKTsKLSAgICBwcmludGYoIiUqczwvcD48L2Rlc2NyaXB0aW9uPlxuIiwgaW5k
ZW50LCAiIik7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogY25vZGUgdHlwZSByZXR1cm4KLSAq
Lwotc3RhdGljIGNvbnN0IHN0cnVjdCBjbm9kZWZ1bmNzIHJldHVybl9mdW5jcyA9IHsKLSAgICAw
LCAvKiAhaW5kZXNjICovCi0gICAgMCwgLyogIW5lZWRwYXJhICovCi0gICAgJmRlZmF1bHRfYXNr
ZW5kLAotICAgIDAsIC8qIGVuZCAqLwotICAgICZyZXR1cm5fb3V0cHV0LAotfTsKLQotLyoqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqCi0gKiBhdXRob3Jfb3V0cHV0IDogb3V0cHV0IG5hbWUgY25vZGUKLSAqCi0gKiBF
bnRlcjogICBjbm9kZSBmb3Igcm9vdAotICogICAgICAgICAgaW5kZW50ID0gaW5kZW50IChuZXN0
aW5nKSBsZXZlbAotICovCi1zdGF0aWMgdm9pZAotbmFtZV9vdXRwdXQoc3RydWN0IGNub2RlICpj
bm9kZSwgdW5zaWduZWQgaW50IGluZGVudCkKLXsKLSAgICBwcmludGYoIiUqczxuYW1lPlxuIiwg
aW5kZW50LCAiIik7Ci0gICAgb3V0cHV0Y2hpbGRyZW4oY25vZGUsIGluZGVudCwgMSk7Ci0gICAg
cHJpbnRmKCIlKnM8L25hbWU+XG4iLCBpbmRlbnQsICIiKTsKLX0KLQotLyoqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
Ci0gKiBjbm9kZSB0eXBlIG5hbWUKLSAqLwotc3RhdGljIGNvbnN0IHN0cnVjdCBjbm9kZWZ1bmNz
IG5hbWVfZnVuY3MgPSB7Ci0gICAgMCwgLyogIWluZGVzYyAqLwotICAgIDAsIC8qICFuZWVkcGFy
YSAqLwotICAgICZkZWZhdWx0X2Fza2VuZCwKLSAgICAwLCAvKiBlbmQgKi8KLSAgICAmbmFtZV9v
dXRwdXQsCi19OwotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIGF1dGhvcl9vdXRwdXQgOiBvdXRwdXQg
YXV0aG9yIGNub2RlCi0gKgotICogRW50ZXI6ICAgY25vZGUgZm9yIHJvb3QKLSAqICAgICAgICAg
IGluZGVudCA9IGluZGVudCAobmVzdGluZykgbGV2ZWwKLSAqLwotc3RhdGljIHZvaWQKLWF1dGhv
cl9vdXRwdXQoc3RydWN0IGNub2RlICpjbm9kZSwgdW5zaWduZWQgaW50IGluZGVudCkKLXsKLSAg
ICBwcmludGYoIiUqczxhdXRob3I+XG4iLCBpbmRlbnQsICIiKTsKLSAgICBvdXRwdXRjaGlsZHJl
bihjbm9kZSwgaW5kZW50LCAxKTsKLSAgICBwcmludGYoIiUqczwvYXV0aG9yPlxuIiwgaW5kZW50
LCAiIik7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogY25vZGUgdHlwZSBhdXRob3IKLSAqLwot
c3RhdGljIGNvbnN0IHN0cnVjdCBjbm9kZWZ1bmNzIGF1dGhvcl9mdW5jcyA9IHsKLSAgICAwLCAv
KiAhaW5kZXNjICovCi0gICAgMCwgLyogIW5lZWRwYXJhICovCi0gICAgJmRlZmF1bHRfYXNrZW5k
LAotICAgIDAsIC8qIGVuZCAqLwotICAgICZhdXRob3Jfb3V0cHV0LAotfTsKLQotLyoqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqCi0gKiB2ZXJzaW9uX291dHB1dCA6IG91dHB1dCB2ZXJzaW9uIGNub2RlCi0gKgotICog
RW50ZXI6ICAgY25vZGUgZm9yIHJvb3QKLSAqICAgICAgICAgIGluZGVudCA9IGluZGVudCAobmVz
dGluZykgbGV2ZWwKLSAqLwotc3RhdGljIHZvaWQKLXZlcnNpb25fb3V0cHV0KHN0cnVjdCBjbm9k
ZSAqY25vZGUsIHVuc2lnbmVkIGludCBpbmRlbnQpCi17Ci0gICAgcHJpbnRmKCIlKnM8dmVyc2lv
bj5cbiIsIGluZGVudCwgIiIpOwotICAgIG91dHB1dGNoaWxkcmVuKGNub2RlLCBpbmRlbnQsIDEp
OwotICAgIHByaW50ZigiJSpzPC92ZXJzaW9uPlxuIiwgaW5kZW50LCAiIik7Ci19Ci0KLS8qKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKgotICogY25vZGUgdHlwZSB2ZXJzaW9uCi0gKi8KLXN0YXRpYyBjb25zdCBzdHJ1
Y3QgY25vZGVmdW5jcyB2ZXJzaW9uX2Z1bmNzID0gewotICAgIDAsIC8qICFpbmRlc2MgKi8KLSAg
ICAwLCAvKiAhbmVlZHBhcmEgKi8KLSAgICAmZGVmYXVsdF9hc2tlbmQsCi0gICAgMCwgLyogZW5k
ICovCi0gICAgJnZlcnNpb25fb3V0cHV0LAotfTsKLQotLyoqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBjbm9k
ZSB0eXBlIGNvZGUKLSAqLwotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBjb2RlX2VuZCA6IGVuZCBhIGNv
ZGUgY25vZGUKLSAqCi0gKiBFbnRlcjogICBjbm9kZSBzdHJ1Y3QKLSAqLwotc3RhdGljIHZvaWQK
LWNvZGVfZW5kKHN0cnVjdCBjbm9kZSAqY25vZGUpCi17Ci0gICAgaWYgKGluY29kZSkgewotICAg
ICAgICAvKiBUaGUgaW5jb2RlIGZsYWcgaGFzIG5vdCBiZWVuIGNsZWFyZWQsIHNvIHRoaXMgY29k
ZSBjbm9kZSBpcwotICAgICAgICAgKiBiZWluZyBlbmRlZCBpbXBsaWNpdGx5LiBXZSBjb21wbGFp
biBhYm91dCB0aGF0LiAqLwotICAgICAgICBsb2NlcnJvcmV4aXQoY25vZGUtPmZpbGVuYW1lLCBj
bm9kZS0+bGluZW51bSwgIm1pc21hdGNoZWQgXFxjb2RlIik7Ci0gICAgfQotfQotCi0vKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioKLSAqIGNvZGVfb3V0cHV0IDogb3V0cHV0IGNvZGUgY25vZGUKLSAqCi0gKiBFbnRl
cjogICBjbm9kZSBmb3Igcm9vdAotICogICAgICAgICAgaW5kZW50ID0gaW5kZW50IChuZXN0aW5n
KSBsZXZlbAotICovCi1zdGF0aWMgdm9pZAotY29kZV9vdXRwdXQoc3RydWN0IGNub2RlICpjbm9k
ZSwgdW5zaWduZWQgaW50IGluZGVudCkKLXsKLSAgICAvKiBOb3RlIGNhcGl0YWxpemF0aW9uIHRv
IGRpZmZlcmVudGlhdGUgaXQgZnJvbSBIVE1MIGNvZGUgZWxlbWVudC4gKi8KLSAgICBpZihjbm9k
ZS0+YXR0cnRleHQpCi0JICAgIHByaW50ZigiJSpzPENvZGUgJXM+IiwgaW5kZW50LCAiIiwgY25v
ZGUtPmF0dHJ0ZXh0KTsKLQllbHNlCi0JICAgIHByaW50ZigiJSpzPENvZGU+IiwgaW5kZW50LCAi
Iik7Ci0gICAgb3V0cHV0Y2hpbGRyZW4oY25vZGUsIGluZGVudCwgMSk7Ci0gICAgcHJpbnRmKCI8
L0NvZGU+XG4iKTsKLX0KLQotc3RhdGljIGNvbnN0IHN0cnVjdCBjbm9kZWZ1bmNzIGNvZGVfZnVu
Y3MgPSB7Ci0gICAgMCwgLyogaW5kZXNjICovCi0gICAgMCwgLyogIW5lZWRwYXJhICovCi0gICAg
JmRlZmF1bHRfYXNrZW5kLAotICAgICZjb2RlX2VuZCwgLyogZW5kICovCi0gICAgJmNvZGVfb3V0
cHV0LAotfTsKLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBzdGFydHBhcmEgOiBzdGFydCBhIG5ldyBw
YXJhIGNub2RlIGluIHRoZSBwYXJzZSB0cmVlCi0gKgotICogRW50ZXI6ICAgY25vZGUgPSBjdXJy
ZW50IGNub2RlCi0gKiAgICAgICAgICB0eXBlID0gdnRhYmxlIGZvciBwYXJ0aWN1bGFyIHR5cGUg
b2YgY25vZGUKLSAqCi0gKiBSZXR1cm46ICBuZXcgY3VycmVudCBjbm9kZQotICovCi1zdGF0aWMg
c3RydWN0IGNub2RlICoKLXN0YXJ0cGFyYShzdHJ1Y3QgY25vZGUgKmNub2RlLCBjb25zdCBzdHJ1
Y3QgY25vZGVmdW5jcyAqdHlwZSkKLXsKLSAgICBzdHJ1Y3QgY25vZGUgKm5ld2Nub2RlOwotICAg
IHdoaWxlICgoKmNub2RlLT5mdW5jcy0+YXNrZW5kKShjbm9kZSwgdHlwZSkpCi0gICAgICAgIGNu
b2RlID0gZW5kY25vZGUoY25vZGUpOwotICAgIG5ld2Nub2RlID0gbWVtYWxsb2Moc2l6ZW9mKHN0
cnVjdCBjbm9kZSkpOwotICAgIG5ld2Nub2RlLT5mdW5jcyA9IHR5cGU7Ci0gICAgcmV0dXJuIHN0
YXJ0Y25vZGUoY25vZGUsIG5ld2Nub2RlKTsKLX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBjbm9k
ZSB0eXBlIHRleHQKLSAqLwotc3RydWN0IHRleHRjbm9kZSB7Ci0gICAgc3RydWN0IGNub2RlIGNu
OwotICAgIHVuc2lnbmVkIGNoYXIgKmRhdGE7Ci0gICAgdW5zaWduZWQgaW50IGxlbjsKLSAgICB1
bnNpZ25lZCBpbnQgbWF4OwotfTsKLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiB0ZXh0X2VuZCA6IGVu
ZCBhIHRleHQgY25vZGUKLSAqCi0gKiBFbnRlcjogICBjbm9kZSBzdHJ1Y3QKLSAqLwotc3RhdGlj
IHZvaWQKLXRleHRfZW5kKHN0cnVjdCBjbm9kZSAqY25vZGUpCi17Ci0gICAgc3RydWN0IHRleHRj
bm9kZSAqdGV4dGNub2RlID0gKHZvaWQgKiljbm9kZTsKLSAgICB0ZXh0Y25vZGUtPmRhdGFbdGV4
dGNub2RlLT5sZW5dID0gMDsKLSAgICB0ZXh0Y25vZGUtPm1heCA9IHRleHRjbm9kZS0+bGVuICsg
MTsKLSAgICB0ZXh0Y25vZGUtPmRhdGEgPSBtZW1yZWFsbG9jKHRleHRjbm9kZS0+ZGF0YSwgdGV4
dGNub2RlLT5tYXgpOwotfQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIHRleHRfb3V0cHV0IDogb3V0
cHV0IHRleHQgY25vZGUKLSAqCi0gKiBFbnRlcjogICBjbm9kZSBmb3Igcm9vdAotICogICAgICAg
ICAgaW5kZW50ID0gaW5kZW50IChuZXN0aW5nKSBsZXZlbAotICovCi1zdGF0aWMgdm9pZAotdGV4
dF9vdXRwdXQoc3RydWN0IGNub2RlICpjbm9kZSwgdW5zaWduZWQgaW50IGluZGVudCkKLXsKLSAg
ICAvKiBXZSBkbyBub3QgaW5kZW50LCBpbiBjYXNlIHRoaXMgaXMgaW5zaWRlIGEgY29kZSBjbm9k
ZS4gKi8KLSAgICBzdHJ1Y3QgdGV4dGNub2RlICp0ZXh0Y25vZGUgPSAodm9pZCAqKWNub2RlOwot
ICAgIHVuc2lnbmVkIGludCBsZW4gPSB0ZXh0Y25vZGUtPmxlbjsKLSAgICB1bnNpZ25lZCBjb25z
dCBjaGFyICpwID0gdGV4dGNub2RlLT5kYXRhOwotICAgIHdoaWxlIChsZW4pIHsKLSAgICAgICAg
dW5zaWduZWQgaW50IHRoaXNsZW47Ci0gICAgICAgIGNvbnN0IGNoYXIgKnRoaXNwdHI7Ci0gICAg
ICAgIHRoaXNsZW4gPSBwWzBdOwotICAgICAgICAvKiAodm9pZCAqKSBjYXN0IGlzIHRvIGF2b2lk
IGEgd2FybmluZyBmcm9tIHRoZSBNUyBjb21waWxlci4KLSAgICAgICAgICogSSB0aGluayB0aGUg
d2FybmluZyBpcyB3cm9uZywgYnV0IEkgY291bGQgYmUgd3JvbmcuICovCi0gICAgICAgIG1lbWNw
eSgodm9pZCAqKSZ0aGlzcHRyLCBwICsgMSwgc2l6ZW9mKHZvaWQgKikpOwotICAgICAgICBwICs9
IDEgKyBzaXplb2Yodm9pZCAqKTsKLSAgICAgICAgbGVuIC09IDEgKyBzaXplb2Yodm9pZCAqKTsK
LSAgICAgICAgcHJpbnR0ZXh0KHRoaXNwdHIsIHRoaXNsZW4sIDApOwotICAgIH0KLX0KLQotc3Rh
dGljIGNvbnN0IHN0cnVjdCBjbm9kZWZ1bmNzIHRleHRfZnVuY3MgPSB7Ci0gICAgMSwgLyogIWlu
ZGVzYyAqLwotICAgIDAsIC8qICFuZWVkcGFyYSAqLwotICAgICZkZWZhdWx0X2Fza2VuZCwKLSAg
ICAmdGV4dF9lbmQsIC8qIGVuZCAqLwotICAgICZ0ZXh0X291dHB1dCwKLX07Ci0KLS8qKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKgotICogY25vZGUgdHlwZSBodG1sIChIVE1MIGVsZW1lbnQpCi0gKi8KLXN0cnVjdCBo
dG1sY25vZGUgewotICAgIHN0cnVjdCBjbm9kZSBjbjsKLSAgICBjb25zdCBzdHJ1Y3QgaHRtbGVs
ZGVzYyAqZGVzYzsKLSAgICBjaGFyIGF0dHJzWzFdOwotfTsKLQotLyoqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0g
KiBodG1sX2VuZCA6IGVuZCBhbiBodG1sIGNub2RlCi0gKgotICogRW50ZXI6ICAgY25vZGUgc3Ry
dWN0Ci0gKi8KLXN0YXRpYyB2b2lkCi1odG1sX2VuZChzdHJ1Y3QgY25vZGUgKmNub2RlKQotewot
ICAgIGlmICgoKHN0cnVjdCBodG1sY25vZGUgKiljbm9kZSktPmRlc2MtPmZsYWdzICYgSFRNTEVM
X0JMT0NLKQotICAgICAgICBpbmh0bWxibG9jay0tOwotfQotCi0vKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAq
IGh0bWxfb3V0cHV0IDogb3V0cHV0IGh0bWwgY25vZGUKLSAqCi0gKiBFbnRlcjogICBjbm9kZSBm
b3Igcm9vdAotICogICAgICAgICAgaW5kZW50ID0gaW5kZW50IChuZXN0aW5nKSBsZXZlbAotICov
Ci1zdGF0aWMgdm9pZAotaHRtbF9vdXRwdXQoc3RydWN0IGNub2RlICpjbm9kZSwgdW5zaWduZWQg
aW50IGluZGVudCkKLXsKLSAgICBzdHJ1Y3QgaHRtbGNub2RlICpodG1sY25vZGUgPSAodm9pZCAq
KWNub2RlOwotICAgIGlmICghKGh0bWxjbm9kZS0+ZGVzYy0+ZmxhZ3MgJiBIVE1MRUxfSU5MSU5F
KSkKLSAgICAgICAgcHJpbnRmKCIlKnMiLCBpbmRlbnQsICIiKTsKLSAgICBpZiAoaHRtbGNub2Rl
LT5jbi5jaGlsZHJlbikgewotICAgICAgICBwcmludGYoIjwlcyVzPiIsIGh0bWxjbm9kZS0+ZGVz
Yy0+bmFtZSwgaHRtbGNub2RlLT5hdHRycyk7Ci0gICAgICAgIGlmICghKGh0bWxjbm9kZS0+ZGVz
Yy0+ZmxhZ3MgJiBIVE1MRUxfSU5MSU5FKSkKLSAgICAgICAgICAgIHB1dGNoYXIoJ1xuJyk7Ci0g
ICAgICAgIG91dHB1dGNoaWxkcmVuKCZodG1sY25vZGUtPmNuLCBpbmRlbnQsIDEpOwotICAgICAg
ICBpZiAoIShodG1sY25vZGUtPmRlc2MtPmZsYWdzICYgSFRNTEVMX0lOTElORSkpCi0gICAgICAg
ICAgICBwcmludGYoIiUqcyIsIGluZGVudCwgIiIpOwotICAgICAgICBwcmludGYoIjwvJXM+Iiwg
aHRtbGNub2RlLT5kZXNjLT5uYW1lKTsKLSAgICB9IGVsc2UKLSAgICAgICAgcHJpbnRmKCI8JXMl
cy8+IiwgaHRtbGNub2RlLT5kZXNjLT5uYW1lLCBodG1sY25vZGUtPmF0dHJzKTsKLSAgICBpZiAo
IShodG1sY25vZGUtPmRlc2MtPmZsYWdzICYgSFRNTEVMX0lOTElORSkpCi0gICAgICAgIHB1dGNo
YXIoJ1xuJyk7Ci19Ci0KLXN0YXRpYyBjb25zdCBzdHJ1Y3QgY25vZGVmdW5jcyBodG1sX2Z1bmNz
ID0gewotICAgIDEsIC8qIGluZGVzYyAqLwotICAgIDAsIC8qICFuZWVkcGFyYSAqLwotICAgICZk
ZWZhdWx0X2Fza2VuZCwKLSAgICAmaHRtbF9lbmQsIC8qIGVuZCAqLwotICAgICZodG1sX291dHB1
dCwKLX07Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKgotICogc3RhcnRodG1sY25vZGUgOiBzdGFydCBhIG5l
dyBodG1sIGNub2RlCi0gKgotICogRW50ZXI6ICAgY25vZGUgPSBjdXJyZW50IGNub2RlCi0gKiAg
ICAgICAgICBodG1sZWxkZXNjID0gaHRtbCBlbGVtZW50IGRlc2NyaXB0b3IKLSAqICAgICAgICAg
IGF0dHJzID0gYXR0cmlidXRlcyB0ZXh0Ci0gKiAgICAgICAgICBhdHRyc2xlbiA9IGxlbmd0aCBv
ZiBhdHRyaWJ1dGVzIHRleHQKLSAqICAgICAgICAgIGZpbGVuYW1lCi0gKiAgICAgICAgICBsaW5l
bnVtID0gbGluZSBudW1iZXIKLSAqCi0gKiBSZXR1cm46ICBuZXcgY3VycmVudCBjbm9kZQotICov
Ci1zdGF0aWMgc3RydWN0IGNub2RlICoKLXN0YXJ0aHRtbGNub2RlKHN0cnVjdCBjbm9kZSAqY25v
ZGUsIGNvbnN0IHN0cnVjdCBodG1sZWxkZXNjICpodG1sZWxkZXNjLAotICAgICAgICAgICAgICAg
Y29uc3QgY2hhciAqYXR0cnMsIHVuc2lnbmVkIGludCBhdHRyc2xlbiwKLSAgICAgICAgICAgICAg
IGNvbnN0IGNoYXIgKmZpbGVuYW1lLCB1bnNpZ25lZCBpbnQgbGluZW51bSkKLXsKLSAgICBzdHJ1
Y3QgaHRtbGNub2RlICpodG1sY25vZGU7Ci0gICAgLyogRmlyc3QgY2xvc2UgZW5vdWdoIGVsZW1l
bnRzIHRvIGdldCB0byBhIGNvbnRlbnQKLSAgICAgKiBtb2RlbCB0aGF0IHdpbGwgYWNjZXB0IHRo
aXMgbmV3IGVsZW1lbnQuICovCi0gICAgZm9yICg7OykgewotICAgICAgICBpZiAoY25vZGUtPmZ1
bmNzICE9ICZodG1sX2Z1bmNzKSB7Ci0gICAgICAgICAgICAvKiBOb3QgaW4gYW55IGh0bWwgZWxl
bWVudC4gV2UgY2FuIGFjY2VwdCBhbnkgYmxvY2sgZWxlbWVudAotICAgICAgICAgICAgICogKGlu
IHdoaWNoIGNhc2Ugd2UgbmVlZCB0byBjbG9zZSB0aGUgY3VycmVudCBwYXJhZ3JhcGgKLSAgICAg
ICAgICAgICAqIGZpcnN0KSBvciBhbnkgaW5saW5lIGVsZW1lbnQgKGluIHdoaWNoIGNhc2Ugd2Ug
bmVlZCB0bwotICAgICAgICAgICAgICogY2xvc2UgdGhlIGN1cnJlbnQgdGV4dCBjbm9kZSBmaXJz
dCkuICovCi0gICAgICAgICAgICBpZiAoIShodG1sZWxkZXNjLT5mbGFncyAmIEhUTUxFTF9JTkxJ
TkUpKSB7Ci0gICAgICAgICAgICAgICAgaWYgKCEoaHRtbGVsZGVzYy0+ZmxhZ3MgJiBIVE1MRUxf
QkxPQ0spKQotICAgICAgICAgICAgICAgICAgICBsb2NlcnJvcmV4aXQoZmlsZW5hbWUsIGxpbmVu
dW0sICI8JXM+IG5vdCB2YWxpZCBoZXJlIiwgaHRtbGVsZGVzYy0+bmFtZSk7Ci0gICAgICAgICAg
ICAgICAgd2hpbGUgKCgqY25vZGUtPmZ1bmNzLT5hc2tlbmQpKGNub2RlLCAwKSkKLSAgICAgICAg
ICAgICAgICAgICAgY25vZGUgPSBlbmRjbm9kZShjbm9kZSk7Ci0gICAgICAgICAgICB9IGVsc2Ug
ewotICAgICAgICAgICAgICAgIHdoaWxlIChjbm9kZS0+ZnVuY3MgPT0gJnRleHRfZnVuY3MpCi0g
ICAgICAgICAgICAgICAgICAgIGNub2RlID0gZW5kY25vZGUoY25vZGUpOwotICAgICAgICAgICAg
fQotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLSAgICAgICAgaHRtbGNub2RlID0gKHN0
cnVjdCBodG1sY25vZGUgKiljbm9kZTsKLSAgICAgICAgaWYgKCEoaHRtbGVsZGVzYy0+ZmxhZ3Mg
JiBodG1sY25vZGUtPmRlc2MtPmNvbnRlbnQpKQotICAgICAgICAgICAgbG9jZXJyb3JleGl0KGZp
bGVuYW1lLCBsaW5lbnVtLCAiPCVzPiBub3QgdmFsaWQgaGVyZSIsIGh0bWxlbGRlc2MtPm5hbWUp
OwotICAgICAgICBicmVhazsKLSAgICB9Ci0gICAgaWYgKGh0bWxlbGRlc2MtPmZsYWdzICYgSFRN
TEVMX0JMT0NLKQotICAgICAgICBpbmh0bWxibG9jaysrOwotICAgIC8qIENyZWF0ZSB0aGUgbmV3
IGh0bWwgY25vZGUuICovCi0gICAgaHRtbGNub2RlID0gbWVtYWxsb2Moc2l6ZW9mKHN0cnVjdCBo
dG1sY25vZGUpICsgYXR0cnNsZW4pOwotICAgIGh0bWxjbm9kZS0+ZGVzYyA9IGh0bWxlbGRlc2M7
Ci0gICAgaHRtbGNub2RlLT5jbi5mdW5jcyA9ICZodG1sX2Z1bmNzOwotICAgIGh0bWxjbm9kZS0+
Y24uZmlsZW5hbWUgPSBmaWxlbmFtZTsKLSAgICBodG1sY25vZGUtPmNuLmxpbmVudW0gPSBsaW5l
bnVtOwotICAgIG1lbWNweShodG1sY25vZGUtPmF0dHJzLCBhdHRycywgYXR0cnNsZW4pOwotICAg
IGh0bWxjbm9kZS0+YXR0cnNbYXR0cnNsZW5dID0gMDsKLSAgICAvKiBTdGFydCB0aGUgaHRtbCBj
bm9kZS4gKi8KLSAgICBjbm9kZSA9IHN0YXJ0Y25vZGUoY25vZGUsICZodG1sY25vZGUtPmNuKTsK
LSAgICByZXR1cm4gY25vZGU7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogcGFyYW1fb3V0cHV0
IDogb3V0cHV0IHBhcmFtIGNub2RlCi0gKgotICogRW50ZXI6ICAgY25vZGUgZm9yIHBhcmFtCi0g
KiAgICAgICAgICBpbmRlbnQgPSBpbmRlbnQgKG5lc3RpbmcpIGxldmVsCi0gKgotICogVGhpcyBp
cyBvbmx5IHVzZWQgZm9yIGEgXHBhcmFtIGluc2lkZSBhIFxkZWYtZGV2aWNlLWNhcC4gQSBub3Jt
YWwKLSAqIFxwYXJhbSB0aGF0IGdldHMgYXR0YWNoZWQgdG8gYSBmdW5jdGlvbiBhcmd1bWVudCBn
ZXRzIGNoYW5nZWQgdG8KLSAqIGEgXHJldHVybiBzbyBpdCBkb2VzIG5vdCB1c2UgdGhpcyBvdXRw
dXQgZnVuY3Rpb24uCi0gKi8KLXN0YXRpYyB2b2lkCi1wYXJhbV9vdXRwdXQoc3RydWN0IGNub2Rl
ICpjbm9kZSwgdW5zaWduZWQgaW50IGluZGVudCkKLXsKLSAgICBzdHJ1Y3QgcGFyYW1jbm9kZSAq
cGFyYW1jbm9kZSA9ICh2b2lkICopY25vZGU7Ci0gICAgcHJpbnRmKCIlKnM8cGFyYW0gaWRlbnRp
Zmllcj1cIiVzXCI+XG4iLCBpbmRlbnQsICIiLCBwYXJhbWNub2RlLT5uYW1lKTsKLSAgICBvdXRw
dXRjaGlsZHJlbigmcGFyYW1jbm9kZS0+Y24sIGluZGVudCwgMSk7Ci0gICAgcHJpbnRmKCIlKnM8
L3BhcmFtPlxuIiwgaW5kZW50LCAiIik7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogY25vZGUg
dHlwZSBwYXJhbQotICovCi1zdGF0aWMgY29uc3Qgc3RydWN0IGNub2RlZnVuY3MgcGFyYW1fZnVu
Y3MgPSB7Ci0gICAgMCwgLyogIWluZGVzYyAqLwotICAgIDAsIC8qICFuZWVkcGFyYSAqLwotICAg
ICZkZWZhdWx0X2Fza2VuZCwKLSAgICAwLCAvKiBlbmQgKi8KLSAgICAmcGFyYW1fb3V0cHV0LAot
fTsKLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqCi0gKiBjbm9kZSB0eXBlIHRocm93Ci0gKi8KLXN0YXRpYyBj
b25zdCBzdHJ1Y3QgY25vZGVmdW5jcyB0aHJvd19mdW5jcyA9IHsKLSAgICAwLCAvKiAhaW5kZXNj
ICovCi0gICAgMCwgLyogIW5lZWRwYXJhICovCi0gICAgJmRlZmF1bHRfYXNrZW5kLAotICAgIDAs
IC8qIGVuZCAqLwotICAgICZyZXR1cm5fb3V0cHV0LAotfTsKLQotLyoqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0g
KiBzdGFydHBhcmFtY25vZGUgOiBzdGFydCBwYXJhbSAob3IgdGhyb3cpIGNub2RlCi0gKgotICog
RW50ZXI6ICAgY25vZGUgPSBjdXJyZW50IGNub2RlCi0gKiAgICAgICAgICB3b3JkID0gbmFtZSBv
ZiBwYXJhbQotICogICAgICAgICAgd29yZGxlbiA9IGxlbmd0aCBvZiBuYW1lCi0gKiAgICAgICAg
ICBpbm91dCA9IGJpdCAwID0gaW4sIGJpdCAxID0gb3V0Ci0gKiAgICAgICAgICB0eXBlID0gJnBh
cmFtX2Z1bmNzIG9yICZ0aHJvd19mdW5jcwotICoKLSAqIFJldHVybjogIG5ldyBjdXJyZW50IGNu
b2RlCi0gKi8KLXN0YXRpYyBzdHJ1Y3QgY25vZGUgKgotc3RhcnRwYXJhbWNub2RlKHN0cnVjdCBj
bm9kZSAqY25vZGUsIGNvbnN0IGNoYXIgKndvcmQsIHVuc2lnbmVkIGludCB3b3JkbGVuLAotICAg
ICAgICAgICAgICAgIGludCBpbm91dCwgY29uc3Qgc3RydWN0IGNub2RlZnVuY3MgKmZ1bmNzKQot
ewotICAgIHN0cnVjdCBwYXJhbWNub2RlICpwYXJhbWNub2RlOwotICAgIHBhcmFtY25vZGUgPSBt
ZW1hbGxvYyhzaXplb2Yoc3RydWN0IHBhcmFtY25vZGUpICsgd29yZGxlbik7Ci0gICAgcGFyYW1j
bm9kZS0+Y24uZnVuY3MgPSBmdW5jczsKLSAgICBtZW1jcHkocGFyYW1jbm9kZS0+bmFtZSwgd29y
ZCwgd29yZGxlbik7Ci0gICAgcGFyYW1jbm9kZS0+bmFtZVt3b3JkbGVuXSA9IDA7Ci0gICAgcGFy
YW1jbm9kZS0+aW5vdXQgPSBpbm91dDsKLSAgICByZXR1cm4gc3RhcnRjbm9kZShjbm9kZSwgJnBh
cmFtY25vZGUtPmNuKTsKLX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBhcGlfZmVhdHVyZV9vdXRw
dXQgOiBvdXRwdXQgYXBpLWZlYXR1cmUgY25vZGUKLSAqCi0gKiBFbnRlcjogICBjbm9kZSBmb3Ig
cm9vdAotICogICAgICAgICAgaW5kZW50ID0gaW5kZW50IChuZXN0aW5nKSBsZXZlbAotICovCi1z
dGF0aWMgdm9pZAotYXBpX2ZlYXR1cmVfb3V0cHV0KHN0cnVjdCBjbm9kZSAqY25vZGUsIHVuc2ln
bmVkIGludCBpbmRlbnQpCi17Ci0gICAgc3RydWN0IHBhcmFtY25vZGUgKnBhcmFtY25vZGUgPSAo
dm9pZCAqKWNub2RlOwotICAgIHByaW50ZigiJSpzPGFwaS1mZWF0dXJlIGlkZW50aWZpZXI9XCIl
c1wiPlxuIiwgaW5kZW50LCAiIiwgcGFyYW1jbm9kZS0+bmFtZSk7Ci0gICAgb3V0cHV0Y2hpbGRy
ZW4oY25vZGUsIGluZGVudCwgMSk7Ci0gICAgcHJpbnRmKCIlKnM8L2FwaS1mZWF0dXJlPlxuIiwg
aW5kZW50LCAiIik7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogY25vZGUgdHlwZSBhcGlfZmVh
dHVyZQotICovCi1zdGF0aWMgY29uc3Qgc3RydWN0IGNub2RlZnVuY3MgYXBpX2ZlYXR1cmVfZnVu
Y3MgPSB7Ci0gICAgMCwgLyogIWluZGVzYyAqLwotICAgIDAsIC8qIG5lZWRwYXJhICovCi0gICAg
JmRlZmF1bHRfYXNrZW5kLAotICAgIDAsIC8qIGVuZCAqLwotICAgICZhcGlfZmVhdHVyZV9vdXRw
dXQsCi19OwotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIGRldmljZV9jYXBfb3V0cHV0IDogb3V0cHV0
IGRldmljZS1jYXAgY25vZGUKLSAqCi0gKiBFbnRlcjogICBjbm9kZSBmb3Igcm9vdAotICogICAg
ICAgICAgaW5kZW50ID0gaW5kZW50IChuZXN0aW5nKSBsZXZlbAotICovCi1zdGF0aWMgdm9pZAot
ZGV2aWNlX2NhcF9vdXRwdXQoc3RydWN0IGNub2RlICpjbm9kZSwgdW5zaWduZWQgaW50IGluZGVu
dCkKLXsKLSAgICBzdHJ1Y3QgcGFyYW1jbm9kZSAqcGFyYW1jbm9kZSA9ICh2b2lkICopY25vZGU7
Ci0gICAgcHJpbnRmKCIlKnM8ZGV2aWNlLWNhcCBpZGVudGlmaWVyPVwiJXNcIj5cbiIsIGluZGVu
dCwgIiIsIHBhcmFtY25vZGUtPm5hbWUpOwotICAgIG91dHB1dGNoaWxkcmVuKGNub2RlLCBpbmRl
bnQsIDEpOwotICAgIHByaW50ZigiJSpzPC9kZXZpY2UtY2FwPlxuIiwgaW5kZW50LCAiIik7Ci19
Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKgotICogY25vZGUgdHlwZSBkZXZpY2VfY2FwCi0gKi8KLXN0YXRp
YyBjb25zdCBzdHJ1Y3QgY25vZGVmdW5jcyBkZXZpY2VfY2FwX2Z1bmNzID0gewotICAgIDAsIC8q
ICFpbmRlc2MgKi8KLSAgICAwLCAvKiBuZWVkcGFyYSAqLwotICAgICZkZWZhdWx0X2Fza2VuZCwK
LSAgICAwLCAvKiBlbmQgKi8KLSAgICAmZGV2aWNlX2NhcF9vdXRwdXQsCi19OwotCi0vKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioKLSAqIGRlZl9hcGlfZmVhdHVyZV9hc2tlbmQgOiBhc2sgaWYgZGVmLWFwaS1mZWF0
dXJlIGNub2RlIHdhbnRzIHRvIGVuZCBhdCBuZXcgcGFyYQotICoKLSAqIEVudGVyOiAgIGNub2Rl
IGZvciBkZWYtYXBpLWZlYXR1cmUKLSAqICAgICAgICAgIHR5cGUgPSBjbm9kZWZ1bmNzIGZvciBu
ZXcgcGFyYSAoMCBpZiBodG1sIGJsb2NrIGVsZW1lbnQpCi0gKgotICogUmV0dXJuOiAgbm9uLXpl
cm8gdG8gZW5kIHRoZSBkZWYtYXBpLWZlYXR1cmUKLSAqLwotc3RhdGljIGludAotZGVmX2FwaV9m
ZWF0dXJlX2Fza2VuZChzdHJ1Y3QgY25vZGUgKmNub2RlLCBjb25zdCBzdHJ1Y3QgY25vZGVmdW5j
cyAqdHlwZSkKLXsKLSAgICAvKiBBIGRlZi1hcGktZmVhdHVyZSBkb2VzIG5vdCBlbmQgYXQgYSBw
bGFpbiBwYXJhLCBhbiBodG1sIGJsb2NrIGVsZW1lbnQsCi0gICAgICogYSBicmllZiBwYXJhLCBv
ciBhIGRldmljZS1jYXAuICovCi0gICAgaWYgKCF0eXBlIHx8IHR5cGUgPT0gJnBhcmFfZnVuY3Mg
fHwgdHlwZSA9PSAmZGV2aWNlX2NhcF9mdW5jcyB8fCB0eXBlID09ICZicmllZl9mdW5jcykKLSAg
ICAgICAgcmV0dXJuIDA7Ci0gICAgcmV0dXJuIDE7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICog
ZGVmX2FwaV9mZWF0dXJlX291dHB1dCA6IG91dHB1dCBkZWYtYXBpLWZlYXR1cmUgY25vZGUKLSAq
Ci0gKiBFbnRlcjogICBjbm9kZSBmb3Igcm9vdAotICogICAgICAgICAgaW5kZW50ID0gaW5kZW50
IChuZXN0aW5nKSBsZXZlbAotICovCi1zdGF0aWMgdm9pZAotZGVmX2FwaV9mZWF0dXJlX291dHB1
dChzdHJ1Y3QgY25vZGUgKmNub2RlLCB1bnNpZ25lZCBpbnQgaW5kZW50KQotewotICAgIHN0cnVj
dCBwYXJhbWNub2RlICpwYXJhbWNub2RlID0gKHZvaWQgKiljbm9kZTsKLSAgICBwcmludGYoIiUq
czxkZWYtYXBpLWZlYXR1cmUgaWRlbnRpZmllcj1cIiVzXCI+XG4iLCBpbmRlbnQsICIiLCBwYXJh
bWNub2RlLT5uYW1lKTsKLSAgICBwcmludGYoIiUqczxkZXNjcmlwdGl2ZT5cbiIsIGluZGVudCAr
IDIsICIiKTsKLSAgICBvdXRwdXRjaGlsZHJlbihjbm9kZSwgaW5kZW50ICsgMiwgMCk7Ci0gICAg
cHJpbnRmKCIlKnM8L2Rlc2NyaXB0aXZlPlxuIiwgaW5kZW50ICsgMiwgIiIpOwotICAgIHByaW50
ZigiJSpzPC9kZWYtYXBpLWZlYXR1cmU+XG4iLCBpbmRlbnQsICIiKTsKLX0KLQotLyoqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqCi0gKiBjbm9kZSB0eXBlIGRlZl9hcGlfZmVhdHVyZQotICovCi1zdGF0aWMgY29uc3Qg
c3RydWN0IGNub2RlZnVuY3MgZGVmX2FwaV9mZWF0dXJlX2Z1bmNzID0gewotICAgIDAsIC8qICFp
bmRlc2MgKi8KLSAgICAxLCAvKiBuZWVkcGFyYSAqLwotICAgICZkZWZfYXBpX2ZlYXR1cmVfYXNr
ZW5kLAotICAgIDAsIC8qIGVuZCAqLwotICAgICZkZWZfYXBpX2ZlYXR1cmVfb3V0cHV0LAotfTsK
LQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqCi0gKiBkZWZfYXBpX2ZlYXR1cmVfc2V0X2Fza2VuZCA6IGFzayBp
ZiBkZWYtYXBpLWZlYXR1cmUtc2V0IGNub2RlIHdhbnRzIHRvIGVuZCBhdCBuZXcgcGFyYQotICoK
LSAqIEVudGVyOiAgIGNub2RlIGZvciBkZWYtYXBpLWZlYXR1cmUtc2V0Ci0gKiAgICAgICAgICB0
eXBlID0gY25vZGVmdW5jcyBmb3IgbmV3IHBhcmEgKDAgaWYgaHRtbCBibG9jayBlbGVtZW50KQot
ICoKLSAqIFJldHVybjogIG5vbi16ZXJvIHRvIGVuZCB0aGUgZGVmLWFwaS1mZWF0dXJlLXNldAot
ICovCi1zdGF0aWMgaW50Ci1kZWZfYXBpX2ZlYXR1cmVfc2V0X2Fza2VuZChzdHJ1Y3QgY25vZGUg
KmNub2RlLCBjb25zdCBzdHJ1Y3QgY25vZGVmdW5jcyAqdHlwZSkKLXsKLSAgICAvKiBBIGRlZi1h
cGktZmVhdHVyZS1zZXQgZG9lcyBub3QgZW5kIGF0IGEgcGxhaW4gcGFyYSwgYW4gaHRtbCBibG9j
ayBlbGVtZW50LAotICAgICAqIGEgYnJpZWYgcGFyYSwgb3IgYW4gYXBpLWZlYXR1cmUuICovCi0g
ICAgaWYgKCF0eXBlIHx8IHR5cGUgPT0gJnBhcmFfZnVuY3MgfHwgdHlwZSA9PSAmYXBpX2ZlYXR1
cmVfZnVuY3MgfHwgdHlwZSA9PSAmYnJpZWZfZnVuY3MpCi0gICAgICAgIHJldHVybiAwOwotICAg
IHJldHVybiAxOwotfQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIGRlZl9hcGlfZmVhdHVyZV9zZXRf
b3V0cHV0IDogb3V0cHV0IGRlZi1hcGktZmVhdHVyZS1zZXQgY25vZGUKLSAqCi0gKiBFbnRlcjog
ICBjbm9kZSBmb3Igcm9vdAotICogICAgICAgICAgaW5kZW50ID0gaW5kZW50IChuZXN0aW5nKSBs
ZXZlbAotICovCi1zdGF0aWMgdm9pZAotZGVmX2FwaV9mZWF0dXJlX3NldF9vdXRwdXQoc3RydWN0
IGNub2RlICpjbm9kZSwgdW5zaWduZWQgaW50IGluZGVudCkKLXsKLSAgICBzdHJ1Y3QgcGFyYW1j
bm9kZSAqcGFyYW1jbm9kZSA9ICh2b2lkICopY25vZGU7Ci0gICAgcHJpbnRmKCIlKnM8ZGVmLWFw
aS1mZWF0dXJlLXNldCBpZGVudGlmaWVyPVwiJXNcIj5cbiIsIGluZGVudCwgIiIsIHBhcmFtY25v
ZGUtPm5hbWUpOwotICAgIHByaW50ZigiJSpzPGRlc2NyaXB0aXZlPlxuIiwgaW5kZW50ICsgMiwg
IiIpOwotICAgIG91dHB1dGNoaWxkcmVuKGNub2RlLCBpbmRlbnQgKyAyLCAwKTsKLSAgICBwcmlu
dGYoIiUqczwvZGVzY3JpcHRpdmU+XG4iLCBpbmRlbnQgKyAyLCAiIik7Ci0gICAgcHJpbnRmKCIl
KnM8L2RlZi1hcGktZmVhdHVyZS1zZXQ+XG4iLCBpbmRlbnQsICIiKTsKLX0KLQotLyoqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqCi0gKiBjbm9kZSB0eXBlIGRlZl9hcGlfZmVhdHVyZV9zZXQKLSAqLwotc3RhdGljIGNv
bnN0IHN0cnVjdCBjbm9kZWZ1bmNzIGRlZl9hcGlfZmVhdHVyZV9zZXRfZnVuY3MgPSB7Ci0gICAg
MCwgLyogIWluZGVzYyAqLwotICAgIDEsIC8qIG5lZWRwYXJhICovCi0gICAgJmRlZl9hcGlfZmVh
dHVyZV9zZXRfYXNrZW5kLAotICAgIDAsIC8qIGVuZCAqLwotICAgICZkZWZfYXBpX2ZlYXR1cmVf
c2V0X291dHB1dCwKLX07Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogZGVmX2luc3RhbnRpYXRlZF9h
c2tlbmQgOiBhc2sgaWYgZGVmLWluc3RhbnRpYXRlZCBjbm9kZSB3YW50cyB0byBlbmQgYXQgbmV3
IHBhcmEKLSAqCi0gKiBFbnRlcjogICBjbm9kZSBmb3IgZGVmLWluc3RhbnRpYXRlZAotICogICAg
ICAgICAgdHlwZSA9IGNub2RlZnVuY3MgZm9yIG5ldyBwYXJhICgwIGlmIGh0bWwgYmxvY2sgZWxl
bWVudCkKLSAqCi0gKiBSZXR1cm46ICBub24temVybyB0byBlbmQgdGhlIGRlZi1pbnN0YW50aWF0
ZWQKLSAqLwotc3RhdGljIGludAotZGVmX2luc3RhbnRpYXRlZF9hc2tlbmQoc3RydWN0IGNub2Rl
ICpjbm9kZSwgY29uc3Qgc3RydWN0IGNub2RlZnVuY3MgKnR5cGUpCi17Ci0gICAgLyogQSBkZWYt
aW5zdGFudGlhdGVkIGRvZXMgbm90IGVuZCBhdCBhIHBsYWluIHBhcmEsIGFuIGh0bWwgYmxvY2sg
ZWxlbWVudCwKLSAgICAgKiBhIGJyaWVmIHBhcmEsIG9yIGFuIGFwaS1mZWF0dXJlLiAqLwotICAg
IGlmICghdHlwZSB8fCB0eXBlID09ICZwYXJhX2Z1bmNzIHx8IHR5cGUgPT0gJmFwaV9mZWF0dXJl
X2Z1bmNzIHx8IHR5cGUgPT0gJmJyaWVmX2Z1bmNzKQotICAgICAgICByZXR1cm4gMDsKLSAgICBy
ZXR1cm4gMTsKLX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBkZWZfaW5zdGFudGlhdGVkX291dHB1
dCA6IG91dHB1dCBkZWYtaW5zdGFudGlhdGVkIGNub2RlCi0gKgotICogRW50ZXI6ICAgY25vZGUg
Zm9yIHJvb3QKLSAqICAgICAgICAgIGluZGVudCA9IGluZGVudCAobmVzdGluZykgbGV2ZWwKLSAq
Lwotc3RhdGljIHZvaWQKLWRlZl9pbnN0YW50aWF0ZWRfb3V0cHV0KHN0cnVjdCBjbm9kZSAqY25v
ZGUsIHVuc2lnbmVkIGludCBpbmRlbnQpCi17Ci0gICAgcHJpbnRmKCIlKnM8ZGVmLWluc3RhbnRp
YXRlZD5cbiIsIGluZGVudCwgIiIpOwotICAgIHByaW50ZigiJSpzPGRlc2NyaXB0aXZlPlxuIiwg
aW5kZW50ICsgMiwgIiIpOwotICAgIG91dHB1dGNoaWxkcmVuKGNub2RlLCBpbmRlbnQgKyAyLCAw
KTsKLSAgICBwcmludGYoIiUqczwvZGVzY3JpcHRpdmU+XG4iLCBpbmRlbnQgKyAyLCAiIik7Ci0g
ICAgcHJpbnRmKCIlKnM8L2RlZi1pbnN0YW50aWF0ZWQ+XG4iLCBpbmRlbnQsICIiKTsKLX0KLQot
LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqCi0gKiBjbm9kZSB0eXBlIGRlZl9pbnN0YW50aWF0ZWQKLSAqLwotc3Rh
dGljIGNvbnN0IHN0cnVjdCBjbm9kZWZ1bmNzIGRlZl9pbnN0YW50aWF0ZWRfZnVuY3MgPSB7Ci0g
ICAgMCwgLyogIWluZGVzYyAqLwotICAgIDEsIC8qIG5lZWRwYXJhICovCi0gICAgJmRlZl9pbnN0
YW50aWF0ZWRfYXNrZW5kLAotICAgIDAsIC8qIGVuZCAqLwotICAgICZkZWZfaW5zdGFudGlhdGVk
X291dHB1dCwKLX07Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogZGVmX2RldmljZV9jYXBfYXNrZW5k
IDogYXNrIGlmIGRlZi1kZXZpY2UtY2FwIGNub2RlIHdhbnRzIHRvIGVuZCBhdCBuZXcgcGFyYQot
ICoKLSAqIEVudGVyOiAgIGNub2RlIGZvciBkZWYtZGV2aWNlLWNhcAotICogICAgICAgICAgdHlw
ZSA9IGNub2RlZnVuY3MgZm9yIG5ldyBwYXJhICgwIGlmIGh0bWwgYmxvY2sgZWxlbWVudCkKLSAq
Ci0gKiBSZXR1cm46ICBub24temVybyB0byBlbmQgdGhlIGRlZi1kZXZpY2UtY2FwCi0gKi8KLXN0
YXRpYyBpbnQKLWRlZl9kZXZpY2VfY2FwX2Fza2VuZChzdHJ1Y3QgY25vZGUgKmNub2RlLCBjb25z
dCBzdHJ1Y3QgY25vZGVmdW5jcyAqdHlwZSkKLXsKLSAgICAvKiBBIGRlZi1kZXZpY2UtY2FwIGRv
ZXMgbm90IGVuZCBhdCBhIHBsYWluIHBhcmEsIGFuIGh0bWwgYmxvY2sgZWxlbWVudCwKLSAgICAg
KiBhIFxicmllZiBwYXJhLCBvciBhIHBhcmFtLiAqLwotICAgIGlmICghdHlwZSB8fCB0eXBlID09
ICZwYXJhX2Z1bmNzIHx8IHR5cGUgPT0gJnBhcmFtX2Z1bmNzIHx8IHR5cGUgPT0gJmJyaWVmX2Z1
bmNzKQotICAgICAgICByZXR1cm4gMDsKLSAgICByZXR1cm4gMTsKLX0KLQotLyoqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqCi0gKiBkZWZfZGV2aWNlX2NhcF9vdXRwdXQgOiBvdXRwdXQgZGVmX2RldmljZS1jYXAgY25v
ZGUKLSAqCi0gKiBFbnRlcjogICBjbm9kZSBmb3Igcm9vdAotICogICAgICAgICAgaW5kZW50ID0g
aW5kZW50IChuZXN0aW5nKSBsZXZlbAotICovCi1zdGF0aWMgdm9pZAotZGVmX2RldmljZV9jYXBf
b3V0cHV0KHN0cnVjdCBjbm9kZSAqY25vZGUsIHVuc2lnbmVkIGludCBpbmRlbnQpCi17Ci0gICAg
c3RydWN0IHBhcmFtY25vZGUgKnBhcmFtY25vZGUgPSAodm9pZCAqKWNub2RlOwotICAgIHByaW50
ZigiJSpzPGRlZi1kZXZpY2UtY2FwIGlkZW50aWZpZXI9XCIlc1wiPlxuIiwgaW5kZW50LCAiIiwg
cGFyYW1jbm9kZS0+bmFtZSk7Ci0gICAgcHJpbnRmKCIlKnM8ZGVzY3JpcHRpdmU+XG4iLCBpbmRl
bnQgKyAyLCAiIik7Ci0gICAgb3V0cHV0Y2hpbGRyZW4oY25vZGUsIGluZGVudCArIDIsIDApOwot
ICAgIHByaW50ZigiJSpzPC9kZXNjcmlwdGl2ZT5cbiIsIGluZGVudCArIDIsICIiKTsKLSAgICBw
cmludGYoIiUqczwvZGVmLWRldmljZS1jYXA+XG4iLCBpbmRlbnQsICIiKTsKLX0KLQotLyoqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqCi0gKiBjbm9kZSB0eXBlIGRlZl9kZXZpY2VfY2FwCi0gKi8KLXN0YXRpYyBjb25z
dCBzdHJ1Y3QgY25vZGVmdW5jcyBkZWZfZGV2aWNlX2NhcF9mdW5jcyA9IHsKLSAgICAwLCAvKiAh
aW5kZXNjICovCi0gICAgMSwgLyogbmVlZHBhcmEgKi8KLSAgICAmZGVmX2RldmljZV9jYXBfYXNr
ZW5kLAotICAgIDAsIC8qIGVuZCAqLwotICAgICZkZWZfZGV2aWNlX2NhcF9vdXRwdXQsCi19Owot
Ci0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioKLSAqIGFkZHRleHQgOiBhZGQgdGV4dCB0byBjdXJyZW50IHRleHQg
bm9kZSwgc3RhcnRpbmcgb25lIGlmIG5lY2Vzc2FyeQotICoKLSAqIEVudGVyOiAgIGNub2RlID0g
Y3VycmVudCBjbm9kZQotICogICAgICAgICAgdGV4dAotICogICAgICAgICAgbGVuID0gbGVuZ3Ro
IG9mIHRleHQKLSAqCi0gKiBSZXR1cm46ICBuZXcgY3VycmVudCBjbm9kZQotICovCi1zdGF0aWMg
c3RydWN0IGNub2RlICoKLWFkZHRleHQoc3RydWN0IGNub2RlICpjbm9kZSwgY29uc3QgY2hhciAq
dGV4dCwgdW5zaWduZWQgaW50IGxlbikKLXsKLSAgICBzdHJ1Y3QgdGV4dGNub2RlICp0ZXh0Y25v
ZGU7Ci0gICAgaWYgKCFsZW4pCi0gICAgICAgIHJldHVybiBjbm9kZTsKLSAgICBpZiAoY25vZGUt
PmZ1bmNzICE9ICZ0ZXh0X2Z1bmNzKSB7Ci0gICAgICAgIC8qIFN0YXJ0IG5ldyB0ZXh0IGNub2Rl
LiAqLwotICAgICAgICB0ZXh0Y25vZGUgPSBtZW1hbGxvYyhzaXplb2Yoc3RydWN0IHRleHRjbm9k
ZSkpOwotICAgICAgICB0ZXh0Y25vZGUtPmNuLmZ1bmNzID0gJnRleHRfZnVuY3M7Ci0gICAgICAg
IGNub2RlID0gc3RhcnRjbm9kZShjbm9kZSwgJnRleHRjbm9kZS0+Y24pOwotICAgIH0KLSAgICB0
ZXh0Y25vZGUgPSAodm9pZCAqKWNub2RlOwotICAgIGRvIHsKLSAgICAgICAgdW5zaWduZWQgY2hh
ciBidWZbMSArIHNpemVvZih2b2lkICopXTsKLSAgICAgICAgdW5zaWduZWQgaW50IHRoaXNsZW4g
PSBsZW47Ci0gICAgICAgIGlmICh0aGlzbGVuID4gMjU1KQotICAgICAgICAgICAgdGhpc2xlbiA9
IDI1NTsKLSAgICAgICAgLyogRW5jb2RlIGEgcmVjb3JkIGFzIGEgc2luZ2xlIGJ5dGUgbGVuZ3Ro
IGZvbGxvd2VkIGJ5IGEgcG9pbnRlci4gKi8KLSAgICAgICAgYnVmWzBdID0gdGhpc2xlbjsKLSAg
ICAgICAgbWVtY3B5KGJ1ZiArIDEsICZ0ZXh0LCBzaXplb2Yodm9pZCAqKSk7Ci0gICAgICAgIC8q
IEFkZCB0byB0aGUgdGV4dCBjbm9kZSdzIGRhdGEuICovCi0gICAgICAgIGlmICh0ZXh0Y25vZGUt
PmxlbiArIHNpemVvZihidWYpID49IHRleHRjbm9kZS0+bWF4KSB7Ci0gICAgICAgICAgICAvKiBO
ZWVkIHRvIHJlYWxsb2NhdGUgKG9yIGFsbG9jYXRlKSBkYXRhIGJ1ZmZlci4gKi8KLSAgICAgICAg
ICAgIHRleHRjbm9kZS0+bWF4ID0gdGV4dGNub2RlLT5tYXggPyAyICogdGV4dGNub2RlLT5tYXgg
OiAxMDI0OwotICAgICAgICAgICAgdGV4dGNub2RlLT5kYXRhID0gbWVtcmVhbGxvYyh0ZXh0Y25v
ZGUtPmRhdGEsIHRleHRjbm9kZS0+bWF4KTsKLSAgICAgICAgfQotICAgICAgICBtZW1jcHkodGV4
dGNub2RlLT5kYXRhICsgdGV4dGNub2RlLT5sZW4sIGJ1Ziwgc2l6ZW9mKGJ1ZikpOwotICAgICAg
ICB0ZXh0Y25vZGUtPmxlbiArPSBzaXplb2YoYnVmKTsKLSAgICAgICAgdGV4dCArPSB0aGlzbGVu
OwotICAgICAgICBsZW4gLT0gdGhpc2xlbjsKLSAgICB9IHdoaWxlIChsZW4pOwotICAgIHJldHVy
biAmdGV4dGNub2RlLT5jbjsKLX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBpc3doaXRlc3BhY2Ug
OiBkZXRlcm1pbmUgaWYgY2hhcmFjdGVyIGlzIHdoaXRlc3BhY2UKLSAqCi0gKiBFbnRlcjogICBj
aCA9IGNoYXJhY3RlcgotICoKLSAqIFJldHVybjogIDEgaWYgd2hpdGVzcGFjZQotICovCi1zdGF0
aWMgaW5saW5lIGludAotaXN3aGl0ZXNwYWNlKGludCBjaCkKLXsKLSAgICB1bnNpZ25lZCBpbnQg
aSA9IGNoIC0gMTsKLSAgICBpZiAoaSA+PSAzMikKLSAgICAgICAgcmV0dXJuIDA7Ci0gICAgcmV0
dXJuIDB4ODAwMDExMDAgPj4gaSAmIDE7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogcGFyc2V3
b3JkIDogcGFyc2UgdGhlIG5leHQgd29yZCwgaWdub3JpbmcgbGVhZGluZyB3aGl0ZXNwYWNlCi0g
KgotICogRW50ZXI6ICAgKnBwID0gdGV4dCBwb2ludGVyCi0gKgotICogUmV0dXJuOiAgMCBlbHNl
IHN0YXJ0IG9mIHdvcmQgKCpwcCB1cGRhdGVkIHRvIGp1c3QgYmV5b25kIGVuZCkKLSAqLwotc3Rh
dGljIGNvbnN0IGNoYXIgKgotcGFyc2V3b3JkKGNvbnN0IGNoYXIgKipwcCkKLXsKLSAgICBjb25z
dCBjaGFyICpwID0gKnBwLCAqd29yZCA9IDA7Ci0gICAgaW50IGNoID0gKnA7Ci0gICAgd2hpbGUg
KGlzd2hpdGVzcGFjZShjaCkpCi0gICAgICAgIGNoID0gKisrcDsKLSAgICB3b3JkID0gcDsKLSAg
ICB3aGlsZSAoKHVuc2lnbmVkKSgoY2ggJiB+MHgyMCkgLSAnQScpIDw9ICdaJyAtICdBJwotICAg
ICAgICAgICAgfHwgKHVuc2lnbmVkKShjaCAtICcwJykgPCAxMCB8fCBjaCA9PSAnXycgfHwgY2gg
PT0gJy4nCi0gICAgICAgICAgICB8fCBjaCA9PSAnOicgfHwgY2ggPT0gJy8nIHx8IGNoID09ICct
JykKLSAgICB7Ci0gICAgICAgIGNoID0gKisrcDsKLSAgICB9Ci0gICAgaWYgKHAgPT0gd29yZCkK
LSAgICAgICAgcmV0dXJuIDA7Ci0gICAgKnBwID0gcDsKLSAgICByZXR1cm4gd29yZDsKLX0KLQot
LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqCi0gKiBEb3h5Z2VuIGNvbW1hbmQgaGFuZGxlcnMKLSAqCi0gKiBFbnRl
cjogICBwID0gdGV4dCBqdXN0IGFmdGVyIGNvbW1hbmQKLSAqICAgICAgICAgICpwY25vZGUgPSBw
b2ludGVyIHRvIGN1cnJlbnQgY25vZGUgc3RydWN0Ci0gKiAgICAgICAgICB0eXBlID0gMCBlbHNl
IGNub2RlZnVuY3MgcG9pbnRlciBmb3IgdHlwZSBvZiBub2RlIHRvIHN0YXJ0Ci0gKiAgICAgICAg
ICBmaWxlbmFtZSwgbGluZW51bSA9IGN1cnJlbnQgZmlsZW5hbWUgYW5kIGxpbmUgbnVtYmVyIChm
b3IgZXJyb3IgcmVwb3J0aW5nKQotICoKLSAqIFJldHVybjogIHAgPSB1cGRhdGVkIGlmIGV4dHJh
IHRleHQgd2FzIGVhdGVuCi0gKgotICogT24gcmV0dXJuLCAqcG5vZGUgaXMgdXBkYXRlZCBpZiBh
bnkgbm9kZSB3YXMgY2xvc2VkIG9yIG9wZW5lZC4KLSAqLwotCi0vKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAq
IERveHlnZW4gY29tbWFuZCBoYW5kbGVyIDogXGIKLSAqLwotc3RhdGljIGNvbnN0IGNoYXIgKgot
ZG94X2IoY29uc3QgY2hhciAqcCwgc3RydWN0IGNub2RlICoqcGNub2RlLCBjb25zdCBzdHJ1Y3Qg
Y25vZGVmdW5jcyAqdHlwZSwKLSAgICAgIGNvbnN0IGNoYXIgKmZpbGVuYW1lLCB1bnNpZ25lZCBp
bnQgbGluZW51bSwgY29uc3QgY2hhciAqY21kbmFtZSkKLXsKLSAgICBzdHJ1Y3QgY25vZGUgKmNu
b2RlID0gKnBjbm9kZTsKLSAgICBjb25zdCBjaGFyICp3b3JkID0gcGFyc2V3b3JkKCZwKTsKLSAg
ICAvKiBTaWxlbnRseSBpZ25vcmUgXGIgd2l0aCBubyBmb2xsb3dpbmcgd29yZC4gKi8KLSAgICBp
ZiAod29yZCkgewotICAgICAgICBzdHJ1Y3QgY25vZGUgKm15Y25vZGU7Ci0gICAgICAgIG15Y25v
ZGUgPSBjbm9kZSA9IHN0YXJ0aHRtbGNub2RlKGNub2RlLCBIVE1MRUxERVNDX0IsIDAsIDAsIGZp
bGVuYW1lLCBsaW5lbnVtKTsKLSAgICAgICAgY25vZGUgPSBhZGR0ZXh0KGNub2RlLCB3b3JkLCBw
IC0gd29yZCk7Ci0gICAgICAgIHdoaWxlIChjbm9kZSAhPSBteWNub2RlKQotICAgICAgICAgICAg
Y25vZGUgPSBlbmRjbm9kZShjbm9kZSk7Ci0gICAgICAgIGNub2RlID0gZW5kY25vZGUoY25vZGUp
OwotICAgIH0KLSAgICAqcGNub2RlID0gY25vZGU7Ci0gICAgcmV0dXJuIHA7Ci19Ci0KLS8qKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKgotICogRG94eWdlbiBjb21tYW5kIGhhbmRsZXIgOiBcbgotICovCi1zdGF0aWMg
Y29uc3QgY2hhciAqCi1kb3hfbihjb25zdCBjaGFyICpwLCBzdHJ1Y3QgY25vZGUgKipwY25vZGUs
IGNvbnN0IHN0cnVjdCBjbm9kZWZ1bmNzICp0eXBlLAotICAgICAgY29uc3QgY2hhciAqZmlsZW5h
bWUsIHVuc2lnbmVkIGludCBsaW5lbnVtLCBjb25zdCBjaGFyICpjbWRuYW1lKQotewotICAgIHN0
cnVjdCBjbm9kZSAqY25vZGUgPSAqcGNub2RlOwotICAgIGNub2RlID0gc3RhcnRodG1sY25vZGUo
Y25vZGUsIEhUTUxFTERFU0NfQlIsIDAsIDAsIGZpbGVuYW1lLCBsaW5lbnVtKTsKLSAgICBjbm9k
ZSA9IGVuZGNub2RlKGNub2RlKTsKLSAgICAqcGNub2RlID0gY25vZGU7Ci0gICAgcmV0dXJuIHA7
Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKgotICogRG94eWdlbiBjb21tYW5kIGhhbmRsZXIgOiBcY29k
ZQotICovCi1zdGF0aWMgY29uc3QgY2hhciAqCi1kb3hfY29kZShjb25zdCBjaGFyICpwLCBzdHJ1
Y3QgY25vZGUgKipwY25vZGUsIGNvbnN0IHN0cnVjdCBjbm9kZWZ1bmNzICp0eXBlLAotICAgICAg
ICAgY29uc3QgY2hhciAqZmlsZW5hbWUsIHVuc2lnbmVkIGludCBsaW5lbnVtLCBjb25zdCBjaGFy
ICpjbWRuYW1lKQotewotICAgICpwY25vZGUgPSBzdGFydHBhcmEoKnBjbm9kZSwgJmNvZGVfZnVu
Y3MpOwotICAgICgqcGNub2RlKS0+ZmlsZW5hbWUgPSBmaWxlbmFtZTsKLSAgICAoKnBjbm9kZSkt
PmxpbmVudW0gPSBsaW5lbnVtOyAvKiBmb3IgcmVwb3J0aW5nIG1pc21hdGNoZWQgXGNvZGUgZXJy
b3IgKi8KLSAgICBpbmNvZGUgPSAxOwotICAgIHJldHVybiBwOwotfQotCi0vKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioKLSAqIERveHlnZW4gY29tbWFuZCBoYW5kbGVyIDogXGVuZGNvZGUKLSAqLwotc3RhdGljIGNv
bnN0IGNoYXIgKgotZG94X2VuZGNvZGUoY29uc3QgY2hhciAqcCwgc3RydWN0IGNub2RlICoqcGNu
b2RlLCBjb25zdCBzdHJ1Y3QgY25vZGVmdW5jcyAqdHlwZSwKLSAgICAgICAgICAgIGNvbnN0IGNo
YXIgKmZpbGVuYW1lLCB1bnNpZ25lZCBpbnQgbGluZW51bSwgY29uc3QgY2hhciAqY21kbmFtZSkK
LXsKLSAgICBpbmNvZGUgPSAwOwotICAgICpwY25vZGUgPSBlbmRzcGVjaWZpY2Nub2RlKCpwY25v
ZGUsICZjb2RlX2Z1bmNzLCBmaWxlbmFtZSwgbGluZW51bSk7Ci0gICAgcmV0dXJuIHA7Ci19Ci0K
LS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKgotICogRG94eWdlbiBjb21tYW5kIGhhbmRsZXIgOiBccGFyYW0KLSAq
Lwotc3RhdGljIGNvbnN0IGNoYXIgKgotZG94X3BhcmFtKGNvbnN0IGNoYXIgKnAsIHN0cnVjdCBj
bm9kZSAqKnBjbm9kZSwgY29uc3Qgc3RydWN0IGNub2RlZnVuY3MgKnR5cGUsCi0gICAgICAgICAg
Y29uc3QgY2hhciAqZmlsZW5hbWUsIHVuc2lnbmVkIGludCBsaW5lbnVtLCBjb25zdCBjaGFyICpj
bWRuYW1lKQotewotICAgIHN0cnVjdCBjbm9kZSAqY25vZGUgPSAqcGNub2RlOwotICAgIHVuc2ln
bmVkIGludCBpbm91dCA9IDA7Ci0gICAgY29uc3QgY2hhciAqd29yZDsKLSAgICAvKiBDaGVjayBm
b3IgImluIiwgIm91dCIgb3IgYm90aCBhcyBhdHRyaWJ1dGVzLiAqLwotICAgIGlmICgqcCA9PSAn
WycpIHsKLSAgICAgICAgZm9yICg7OykgewotICAgICAgICAgICAgcCsrOwotICAgICAgICAgICAg
aWYgKCFtZW1jbXAocCwgImluIiwgMikpIHsKLSAgICAgICAgICAgICAgICBpbm91dCB8PSAxOwot
ICAgICAgICAgICAgICAgIHAgKz0gMjsKLSAgICAgICAgICAgIH0gZWxzZSBpZiAoIW1lbWNtcChw
LCAib3V0IiwgMykpIHsKLSAgICAgICAgICAgICAgICBpbm91dCB8PSAyOwotICAgICAgICAgICAg
ICAgIHAgKz0gMzsKLSAgICAgICAgICAgIH0gZWxzZQotICAgICAgICAgICAgICAgIGJyZWFrOwot
ICAgICAgICAgICAgaWYgKCpwICE9ICcsJykKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAg
ICAgfQotICAgICAgICBpZiAoKnAgIT0gJ10nKQotICAgICAgICAgICAgbG9jZXJyb3JleGl0KGZp
bGVuYW1lLCBsaW5lbnVtLCAiYmFkIGF0dHJpYnV0ZXMgb24gXFxwYXJhbSIpOwotICAgICAgICBw
Kys7Ci0gICAgfQotICAgIC8qIEdldCB0aGUgbmV4dCB3b3JkIGFzIHRoZSBwYXJhbWV0ZXIgbmFt
ZS4gKi8KLSAgICB3b3JkID0gcGFyc2V3b3JkKCZwKTsKLSAgICBpZiAoIXdvcmQpCi0gICAgICAg
IGxvY2Vycm9yZXhpdChmaWxlbmFtZSwgbGluZW51bSwgImV4cGVjdGVkIHdvcmQgYWZ0ZXIgXFxw
YXJhbSIpOwotICAgIC8qIENsb3NlIGFueSBvcGVuIG5vZGVzLiAqLwotICAgIHdoaWxlICgoKmNu
b2RlLT5mdW5jcy0+YXNrZW5kKShjbm9kZSwgdHlwZSkpCi0gICAgICAgIGNub2RlID0gZW5kY25v
ZGUoY25vZGUpOwotICAgIC8qIENyZWF0ZSBhIG5ldyBwYXJhbSBjbm9kZS4gKi8KLSAgICBjbm9k
ZSA9IHN0YXJ0cGFyYW1jbm9kZShjbm9kZSwgd29yZCwgcCAtIHdvcmQsIGlub3V0LCB0eXBlKTsK
LSAgICBjbm9kZS0+ZmlsZW5hbWUgPSBmaWxlbmFtZTsKLSAgICBjbm9kZS0+bGluZW51bSA9IGxp
bmVudW07Ci0gICAgKnBjbm9kZSA9IGNub2RlOwotICAgIHJldHVybiBwOwotfQotCi0vKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioKLSAqIERveHlnZW4gY29tbWFuZCBoYW5kbGVyIDogXGJyaWVmLCBccmV0dXJuCi0g
Ki8KLXN0YXRpYyBjb25zdCBjaGFyICoKLWRveF9wYXJhKGNvbnN0IGNoYXIgKnAsIHN0cnVjdCBj
bm9kZSAqKnBjbm9kZSwgY29uc3Qgc3RydWN0IGNub2RlZnVuY3MgKnR5cGUsCi0gICAgICAgICBj
b25zdCBjaGFyICpmaWxlbmFtZSwgdW5zaWduZWQgaW50IGxpbmVudW0sIGNvbnN0IGNoYXIgKmNt
ZG5hbWUpCi17Ci0gICAgKnBjbm9kZSA9IHN0YXJ0cGFyYSgqcGNub2RlLCB0eXBlKTsKLSAgICBy
ZXR1cm4gcDsKLX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBEb3h5Z2VuIGNvbW1hbmQgaGFuZGxl
ciA6IFx0aHJvdwotICovCi1zdGF0aWMgY29uc3QgY2hhciAqCi1kb3hfdGhyb3coY29uc3QgY2hh
ciAqcCwgc3RydWN0IGNub2RlICoqcGNub2RlLCBjb25zdCBzdHJ1Y3QgY25vZGVmdW5jcyAqdHlw
ZSwKLSAgICAgICAgICBjb25zdCBjaGFyICpmaWxlbmFtZSwgdW5zaWduZWQgaW50IGxpbmVudW0s
IGNvbnN0IGNoYXIgKmNtZG5hbWUpCi17Ci0gICAgc3RydWN0IGNub2RlICpjbm9kZSA9ICpwY25v
ZGU7Ci0gICAgY29uc3QgY2hhciAqd29yZDsKLSAgICAvKiBHZXQgdGhlIG5leHQgd29yZCBhcyB0
aGUgZXhjZXB0aW9uIG5hbWUuICovCi0gICAgd29yZCA9IHBhcnNld29yZCgmcCk7Ci0gICAgaWYg
KCF3b3JkKQotICAgICAgICBsb2NlcnJvcmV4aXQoZmlsZW5hbWUsIGxpbmVudW0sICJleHBlY3Rl
ZCB3b3JkIGFmdGVyIFxcdGhyb3ciKTsKLSAgICAvKiBDbG9zZSBhbnkgb3BlbiBub2Rlcy4gKi8K
LSAgICB3aGlsZSAoKCpjbm9kZS0+ZnVuY3MtPmFza2VuZCkoY25vZGUsIHR5cGUpKQotICAgICAg
ICBjbm9kZSA9IGVuZGNub2RlKGNub2RlKTsKLSAgICAvKiBDcmVhdGUgYSBuZXcgdGhyb3cgY25v
ZGUuICovCi0gICAgY25vZGUgPSBzdGFydHBhcmFtY25vZGUoY25vZGUsIHdvcmQsIHAgLSB3b3Jk
LCAwLCB0eXBlKTsKLSAgICBjbm9kZS0+ZmlsZW5hbWUgPSBmaWxlbmFtZTsKLSAgICBjbm9kZS0+
bGluZW51bSA9IGxpbmVudW07Ci0gICAgKnBjbm9kZSA9IGNub2RlOwotICAgIHJldHVybiBwOwot
fQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioKLSAqIERveHlnZW4gY29tbWFuZCBoYW5kbGVyIDogXGxhbmcK
LSAqLwotc3RhdGljIGNvbnN0IGNoYXIgKgotZG94X2F0dHIoY29uc3QgY2hhciAqcCwgc3RydWN0
IGNub2RlICoqcGNub2RlLCBjb25zdCBzdHJ1Y3QgY25vZGVmdW5jcyAqdHlwZSwKLSAgICAgICAg
ICBjb25zdCBjaGFyICpmaWxlbmFtZSwgdW5zaWduZWQgaW50IGxpbmVudW0sIGNvbnN0IGNoYXIg
KmNtZG5hbWUpCi17Ci0gIHN0cnVjdCBjbm9kZSAqY25vZGUgPSAqcGNub2RlOwotICAgIGNvbnN0
IGNoYXIgKndvcmQ7Ci0gICAgaW50IGxlbiwgd29yZGxlbiwgb2Zmc2V0ID0gMDsKLQljaGFyICph
dHRydGV4dDsKLSAgICAvKiBHZXQgdGhlIG5leHQgd29yZCBhcyB0aGUgYXR0cmlidXRlIHZhbHVl
LiAqLwotICAgIHdvcmQgPSBwYXJzZXdvcmQoJnApOwotICAgIGlmICghd29yZCkKLSAgICAgICAg
bG9jZXJyb3JleGl0KGZpbGVuYW1lLCBsaW5lbnVtLCAiZXhwZWN0ZWQgd29yZCBhZnRlciBcXCVz
IiwgY21kbmFtZSk7Ci0KLQlsZW4gPSBzdHJsZW4oY21kbmFtZSkgKyAod29yZGxlbiA9IHAtd29y
ZCkgKyA0OyAvKiBwPSJ3b3JkIlwwICovCi0JaWYoY25vZGUtPmF0dHJ0ZXh0KQotCSAgbGVuICs9
IChvZmZzZXQgPSBzdHJsZW4oY25vZGUtPmF0dHJ0ZXh0KSkgKyAxOyAvKiBhZGQgc3BhY2UgZm9y
IHNwYWNlICovCi0JYXR0cnRleHQgPSBtZW1hbGxvYyhsZW4pOwotCWlmKG9mZnNldCkgewotCQlt
ZW1jcHkoYXR0cnRleHQsIGNub2RlLT5hdHRydGV4dCwgb2Zmc2V0KTsKLQkJYXR0cnRleHRbb2Zm
c2V0KytdID0gJyAnOwotCQltZW1mcmVlKCgodm9pZCopY25vZGUtPmF0dHJ0ZXh0KSk7Ci0JfQot
CW9mZnNldCArPSBzcHJpbnRmKCZhdHRydGV4dFtvZmZzZXRdLCAiJXM9XCIiLCBjbWRuYW1lKTsK
LQltZW1jcHkoJmF0dHJ0ZXh0W29mZnNldF0sIHdvcmQsIHdvcmRsZW4pOwotCXN0cmNweSgmYXR0
cnRleHRbb2Zmc2V0ICsgd29yZGxlbl0sICJcIiIpOwotCWNub2RlLT5hdHRydGV4dCA9IGF0dHJ0
ZXh0OwotCS8qIHNraXAgZGVsaW1pdGVyIGJlY2F1c2UgaXQgd29uJ3QgYmUgZG9uZSBvdGhlcndp
c2UgKi8KLQlpZihpbmNvZGUgJiYgaXN3aGl0ZXNwYWNlKCpwKSkgKytwOwotICAgIHJldHVybiBw
OwotfQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioKLSAqIGNvbW1hbmRzIDogdGFibGUgb2YgRG94eWdlbiBj
b21tYW5kcwotICovCi1zdHJ1Y3QgY29tbWFuZCB7Ci0gICAgY29uc3QgY2hhciAqKCpmdW5jKShj
b25zdCBjaGFyICpwLCBzdHJ1Y3QgY25vZGUgKipwY25vZGUsIGNvbnN0IHN0cnVjdCBjbm9kZWZ1
bmNzICp0eXBlLCBjb25zdCBjaGFyICpmaWxlbmFtZSwgdW5zaWduZWQgaW50IGxpbmVudW0sIGNv
bnN0IGNoYXIgKmNtZG5hbWUpOwotICAgIGNvbnN0IHN0cnVjdCBjbm9kZWZ1bmNzICp0eXBlOwot
ICAgIHVuc2lnbmVkIGludCBuYW1lbGVuOwotICAgIGNvbnN0IGNoYXIgKm5hbWU7Ci19Owotc3Rh
dGljIGNvbnN0IHN0cnVjdCBjb21tYW5kIGNvbW1hbmRzW10gPSB7Ci0gICAgeyAmZG94X3Rocm93
LCAmZGVmX2FwaV9mZWF0dXJlX2Z1bmNzLCAxNSwgImRlZi1hcGktZmVhdHVyZSIgfSwKLSAgICB7
ICZkb3hfdGhyb3csICZkZWZfYXBpX2ZlYXR1cmVfc2V0X2Z1bmNzLCAxOSwgImRlZi1hcGktZmVh
dHVyZS1zZXQiIH0sCi0gICAgeyAmZG94X3BhcmEsICZkZWZfaW5zdGFudGlhdGVkX2Z1bmNzLCAx
NiwgImRlZi1pbnN0YW50aWF0ZWQiIH0sCi0gICAgeyAmZG94X3BhcmEsICZuYW1lX2Z1bmNzLCA0
LCAibmFtZSIgfSwKLSAgICB7ICZkb3hfcGFyYSwgJmF1dGhvcl9mdW5jcywgNiwgImF1dGhvciIg
fSwKLSAgICB7ICZkb3hfYiwgMCwgMSwgImIiIH0sCi0gICAgeyAmZG94X3BhcmEsICZicmllZl9m
dW5jcywgNSwgImJyaWVmIiB9LAotICAgIHsgJmRveF9jb2RlLCAwLCA0LCAiY29kZSIgfSwKLSAg
ICB7ICZkb3hfdGhyb3csICZkZWZfZGV2aWNlX2NhcF9mdW5jcywgMTQsICJkZWYtZGV2aWNlLWNh
cCIgfSwKLSAgICB7ICZkb3hfYXR0ciwgMCwgNCwgImxhbmciIH0sCi0gICAgeyAmZG94X2VuZGNv
ZGUsIDAsIDcsICJlbmRjb2RlIiB9LAotICAgIHsgJmRveF9uLCAwLCAxLCAibiIgfSwKLSAgICB7
ICZkb3hfcGFyYW0sICZwYXJhbV9mdW5jcywgNSwgInBhcmFtIiB9LAotICAgIHsgJmRveF9wYXJh
LCAmcmV0dXJuX2Z1bmNzLCA2LCAicmV0dXJuIiB9LAotICAgIHsgJmRveF90aHJvdywgJnRocm93
X2Z1bmNzLCA1LCAidGhyb3ciIH0sCi0gICAgeyAmZG94X3Rocm93LCAmYXBpX2ZlYXR1cmVfZnVu
Y3MsIDExLCAiYXBpLWZlYXR1cmUiIH0sCi0gICAgeyAmZG94X3Rocm93LCAmZGV2aWNlX2NhcF9m
dW5jcywgMTAsICJkZXZpY2UtY2FwIiB9LAotICAgIHsgJmRveF9wYXJhLCAmdmVyc2lvbl9mdW5j
cywgNywgInZlcnNpb24iIH0sCi0gICAgeyAwLCAwLCAwIH0KLX07Ci0KLS8qKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KgotICogcGFyc2VodG1sdGFnIDogcGFyc2UgaHRtbCB0YWcKLSAqCi0gKiBFbnRlcjogICBzdGFy
dCA9IHN0YXJ0IG9mIHRhZywgdGhlICc8JyBjaGFyCi0gKiAgICAgICAgICAqcGNub2RlID0gY3Vy
cmVudCBjbm9kZQotICogICAgICAgICAgZmlsZW5hbWUgPSBmaWxlbmFtZQotICogICAgICAgICAg
KnBsaW5lbnVtID0gY3VycmVudCBsaW5lIG51bWJlcgotICoKLSAqIFJldHVybjogIGp1c3QgYWZ0
ZXIgdGhlIHRhZwotICogICAgICAgICAgKnBjbm9kZSBhbmQgKnBsaW5lbnVtIHVwZGF0ZWQgaWYg
YXBwbGljYWJsZQotICovCi1zdGF0aWMgY29uc3QgY2hhciAqCi1wYXJzZWh0bWx0YWcoY29uc3Qg
Y2hhciAqc3RhcnQsIHN0cnVjdCBjbm9kZSAqKnBjbm9kZSwKLSAgICAgICAgICAgICBjb25zdCBj
aGFyICpmaWxlbmFtZSwgdW5zaWduZWQgaW50ICpwbGluZW51bSkKLXsKLSAgICBzdHJ1Y3QgY25v
ZGUgKmNub2RlID0gKnBjbm9kZTsKLSAgICBjb25zdCBjaGFyICplbmQgPSBzdGFydCArIDEsICpl
bmRuYW1lID0gMCwgKm5hbWUgPSBlbmQ7Ci0gICAgaW50IGNoID0gKmVuZDsKLSAgICBpbnQgcXVv
dGUgPSAwOwotICAgIGludCBjbG9zZSA9IDA7Ci0gICAgdW5zaWduZWQgaW50IGxpbmVudW0gPSAq
cGxpbmVudW07Ci0gICAgY29uc3Qgc3RydWN0IGh0bWxlbGRlc2MgKmh0bWxlbGRlc2M7Ci0gICAg
aWYgKGNoID09ICcvJykgewotICAgICAgICBjbG9zZSA9IDE7Ci0gICAgICAgIGNoID0gKisrZW5k
OwotICAgICAgICBuYW1lID0gZW5kOwotICAgIH0KLSAgICAvKiBGaW5kIHRoZSBlbmQgb2YgdGhl
IHRhZy4gKi8KLSAgICBmb3IgKDs7KSB7Ci0gICAgICAgIGlmICghY2gpCi0gICAgICAgICAgICBs
b2NlcnJvcmV4aXQoZmlsZW5hbWUsICpwbGluZW51bSwgInVudGVybWluYXRlZCBIVE1MIHRhZyIp
OwotICAgICAgICBpZiAoY2ggPT0gJ1xuJykKLSAgICAgICAgICAgIGxpbmVudW0rKzsKLSAgICAg
ICAgZWxzZSBpZiAoaXN3aGl0ZXNwYWNlKGNoKSB8fCBjaCA9PSAnLycpIHsKLSAgICAgICAgICAg
IGlmICghZW5kbmFtZSkKLSAgICAgICAgICAgICAgICBlbmRuYW1lID0gZW5kOwotICAgICAgICB9
IGVsc2UgaWYgKCFxdW90ZSkgewotICAgICAgICAgICAgaWYgKGNoID09ICciJyB8fCBjaCA9PSAn
XCcnKQotICAgICAgICAgICAgICAgIHF1b3RlID0gY2g7Ci0gICAgICAgICAgICBlbHNlIGlmIChj
aCA9PSAnPicpCi0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAg
ICAgICAgICBpZiAoY2ggPT0gcXVvdGUpCi0gICAgICAgICAgICAgICAgcXVvdGUgPSAwOwotICAg
ICAgICB9Ci0gICAgICAgIGNoID0gKisrZW5kOwotICAgIH0KLSAgICBpZiAoIWVuZG5hbWUpCi0g
ICAgICAgIGVuZG5hbWUgPSBlbmQ7Ci0gICAgZW5kKys7Ci0gICAgLyogU2VlIGlmIGl0J3MgYW4g
eG1sIG9wZW4tY2xvc2UgdGFnLiAqLwotICAgIGlmICghY2xvc2UgJiYgZW5kbmFtZSAhPSBuYW1l
ICYmIGVuZFstMl0gPT0gJy8nKQotICAgICAgICBjbG9zZSA9IDI7Ci0gICAgLyogRmluZCB0aGUg
dGFnIGZyb20gb3VyIGxpc3QuICovCi0gICAgaHRtbGVsZGVzYyA9IGh0bWxlbGRlc2NzOwotICAg
IGZvciAoOzspIHsKLSAgICAgICAgaWYgKCFodG1sZWxkZXNjLT5uYW1lbGVuKSB7Ci0gICAgICAg
ICAgICBsb2NlcnJvcmV4aXQoZmlsZW5hbWUsICpwbGluZW51bSwgInVucmVjb2duaXplZCBIVE1M
IHRhZyAlLipzIiwKLSAgICAgICAgICAgICAgICAgICAgZW5kIC0gc3RhcnQsIHN0YXJ0KTsKLSAg
ICAgICAgfQotICAgICAgICBpZiAoaHRtbGVsZGVzYy0+bmFtZWxlbiA9PSBlbmRuYW1lIC0gbmFt
ZQotICAgICAgICAgICAgICAgICYmICFzdHJuY2FzZWNtcChodG1sZWxkZXNjLT5uYW1lLCBuYW1l
LCBlbmRuYW1lIC0gbmFtZSkpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAg
ICB9Ci0gICAgICAgIGh0bWxlbGRlc2MrKzsKLSAgICB9Ci0gICAgaWYgKGNsb3NlID09IDEpIHsK
LSAgICAgICAgLyogQ2xvc2luZyB0YWcuIEZpbmQgb3BlbiBlbGVtZW50IHRvIGNsb3NlLiAqLwot
ICAgICAgICBmb3IgKDs7KSB7Ci0gICAgICAgICAgICBzdHJ1Y3QgaHRtbGNub2RlICpodG1sY25v
ZGU7Ci0gICAgICAgICAgICBpZiAoY25vZGUtPmZ1bmNzICE9ICZ0ZXh0X2Z1bmNzKSB7Ci0gICAg
ICAgICAgICAgICAgaWYgKGNub2RlLT5mdW5jcyAhPSAmaHRtbF9mdW5jcykgewotICAgICAgICAg
ICAgICAgICAgICBsb2NlcnJvcmV4aXQoZmlsZW5hbWUsICpwbGluZW51bSwgIm1pc21hdGNoZWQg
JS4qcyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5kIC0gc3RhcnQsIHN0YXJ0KTsK
LSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgaHRtbGNub2RlID0gKHN0cnVjdCBo
dG1sY25vZGUgKiljbm9kZTsKLSAgICAgICAgICAgICAgICBpZiAoaHRtbGNub2RlLT5kZXNjID09
IGh0bWxlbGRlc2MpCi0gICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgICAg
IGlmICghKGh0bWxjbm9kZS0+ZGVzYy0+ZmxhZ3MgJiBIVE1MRUxfQVVUT0NMT1NFKSkgewotICAg
ICAgICAgICAgICAgICAgICBsb2NlcnJvcmV4aXQoZmlsZW5hbWUsIGh0bWxjbm9kZS0+Y24ubGlu
ZW51bSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAibWlzbWF0Y2hlZCA8JS4qcz4iLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGh0bWxjbm9kZS0+ZGVzYy0+bmFtZWxlbiwgaHRt
bGNub2RlLT5kZXNjLT5uYW1lKTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB9Ci0g
ICAgICAgICAgICBjbm9kZSA9IGVuZGNub2RlKGNub2RlKTsKLSAgICAgICAgfQotICAgICAgICBj
bm9kZSA9IGVuZGNub2RlKGNub2RlKTsKLSAgICB9IGVsc2UgewotICAgICAgICAvKiBPcGVuaW5n
IHRhZy4gKi8KLSAgICAgIGlmIChjbG9zZSAhPTIpCi0JICAgY25vZGUgPSBzdGFydGh0bWxjbm9k
ZShjbm9kZSwgaHRtbGVsZGVzYywgZW5kbmFtZSwgZW5kIC0gMSAtIGVuZG5hbWUsIGZpbGVuYW1l
LCAqcGxpbmVudW0pOwotICAgICAgZWxzZSAvLyBkb24ndCBpbmNsdWRlIHRoZSBjbG9zaW5nICIv
IiBpbiB0aGUgYXR0cmlidXRlcyBsaXN0Ci0JICAgY25vZGUgPSBzdGFydGh0bWxjbm9kZShjbm9k
ZSwgaHRtbGVsZGVzYywgZW5kbmFtZSwgZW5kIC0gMiAtIGVuZG5hbWUsIGZpbGVuYW1lLCAqcGxp
bmVudW0pOwotICAgICAgaWYgKGNsb3NlID09IDIgfHwgKGh0bWxlbGRlc2MtPmNvbnRlbnQgJiBI
VE1MRUxfRU1QVFkpKSB7Ci0JLyogRW1wdHkgZWxlbWVudCAtLSBjbG9zZSBpdCBhZ2Fpbi4gKi8K
LQljbm9kZSA9IGVuZGNub2RlKGNub2RlKTsKLSAgICAgIH0KLSAgICB9Ci0gICAgKnBjbm9kZSA9
IGNub2RlOwotICAgICpwbGluZW51bSA9IGxpbmVudW07Ci0gICAgcmV0dXJuIGVuZDsKLX0KLQot
LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqCi0gKiBwYXJzZWNvbW1lbnQgOiBwYXJzZSBvbmUgY29tbWVudAotICoK
LSAqIEVudGVyOiAgIGNvbW1lbnQgc3RydWN0Ci0gKi8KLXN0YXRpYyB2b2lkCi1wYXJzZWNvbW1l
bnQoc3RydWN0IGNvbW1lbnQgKmNvbW1lbnQpCi17Ci0gICAgc3RydWN0IGNub2RlICpjbm9kZSA9
ICZjb21tZW50LT5yb290OwotICAgIGNvbnN0IGNoYXIgKnAgPSBjb21tZW50LT50ZXh0ICsgY29t
bWVudC0+YmFjazsKLSAgICB1bnNpZ25lZCBpbnQgbGluZW51bSA9IGNvbW1lbnQtPmxpbmVudW0g
LSAxOwotICAgIGludCBjaDsKLSAgICBjdXJjb21tZW50ID0gY29tbWVudDsKLSAgICBpbmNvZGUg
PSAwOwotICAgIGluaHRtbGJsb2NrID0gMDsKLSAgICBjbm9kZS0+ZnVuY3MgPSAmcm9vdF9mdW5j
czsKLSAgICBmb3IgKDs7KSB7Ci0gICAgICAgIC8qIFN0YXJ0IG9mIG5ldyBsaW5lLiAqLwotICAg
ICAgICBjb25zdCBjaGFyICpzdGFydHRleHQ7Ci0gICAgICAgIGNoID0gKnA7Ci0gICAgICAgIGxp
bmVudW0rKzsKLSAgICAgICAgewotICAgICAgICAgICAgLyogRmluZCBmaXJzdCBub24td2hpdGVz
cGFjZSBjaGFyYWN0ZXIuICovCi0gICAgICAgICAgICBjb25zdCBjaGFyICpwMiA9IHA7Ci0gICAg
ICAgICAgICBpbnQgY2gyID0gY2g7Ci0gICAgICAgICAgICB3aGlsZSAoaXN3aGl0ZXNwYWNlKGNo
MikpCi0gICAgICAgICAgICAgICAgY2gyID0gKisrcDI7Ci0gICAgICAgICAgICBpZiAoY29tbWVu
dC0+dHlwZSA9PSBUT0tfQkxPQ0tDT01NRU5UICYmIGNoMiA9PSAnKicpIHsKLSAgICAgICAgICAg
ICAgICAvKiBJZ25vcmUgaW5pdGlhbCAqIGluIGJsb2NrIGNvbW1lbnQgKGV2ZW4gaW4gXGNvZGUg
YmxvY2spLiAqLwotICAgICAgICAgICAgICAgIGNoMiA9ICorK3AyOwotICAgICAgICAgICAgICAg
IGNoID0gY2gyOwotICAgICAgICAgICAgICAgIHAgPSBwMjsKLSAgICAgICAgICAgICAgICBpZiAo
Y2ggPT0gJyonKQotICAgICAgICAgICAgICAgICAgICBnb3RvIGNoZWNrZm9ybGluZW9mc3RhcnM7
Ci0gICAgICAgICAgICAgICAgd2hpbGUgKGlzd2hpdGVzcGFjZShjaDIpKQotICAgICAgICAgICAg
ICAgICAgICBjaDIgPSAqKytwMjsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGlmIChjb21t
ZW50LT50eXBlID09IFRPS19JTkxJTkVDT01NRU5UICYmIGNoMiA9PSAnLycpIHsKLWNoZWNrZm9y
bGluZW9mc3RhcnM6Ci0gICAgICAgICAgICAgICAgaWYgKCFpbmNvZGUpIHsKLSAgICAgICAgICAg
ICAgICAgICAgLyogSWdub3JlIHdob2xlIGxpbmUgb2YgKiBmb3IgYmxvY2sgY29tbWVudCBvciAv
IGZvciBpbmxpbmUKLSAgICAgICAgICAgICAgICAgICAgICogY29tbWVudCBpZiB0aGF0IGlzIHRo
ZSBvbmx5IHRoaW5nIG9uIHRoZSBsaW5lLiAqLwotICAgICAgICAgICAgICAgICAgICBjb25zdCBj
aGFyICpwMyA9IHAyOwotICAgICAgICAgICAgICAgICAgICBpbnQgY2gzOwotICAgICAgICAgICAg
ICAgICAgICBkbyBjaDMgPSAqKytwMzsgd2hpbGUgKGNoMyA9PSBjaDIpOwotICAgICAgICAgICAg
ICAgICAgICB3aGlsZSAoaXN3aGl0ZXNwYWNlKGNoMykpIGNoMyA9ICorK3AzOwotICAgICAgICAg
ICAgICAgICAgICBpZiAoIWNoMyB8fCBjaDMgPT0gJ1xuJykgewotICAgICAgICAgICAgICAgICAg
ICAgICAgLyogUmVhY2hlZCBlbmQgb2YgbGluZSAob3Igd2hvbGUgY29tbWVudCkgLS0gdHJlYXQg
YXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAqIGVtcHR5IGxpbmUuICovCi0gICAgICAgICAg
ICAgICAgICAgICAgICBjaDIgPSBjaDM7Ci0gICAgICAgICAgICAgICAgICAgICAgICBwMiA9IHAz
OwotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAg
fQotICAgICAgICAgICAgaWYgKCFpbmNvZGUpIHsKLSAgICAgICAgICAgICAgICAvKiBPbmx5IGFs
bG93IHdoaXRlc3BhY2Ugb21pc3Npb24gYWJvdmUgdG8gdGFrZSBlZmZlY3QgaWYKLSAgICAgICAg
ICAgICAgICAgKiBub3QgaW4gXGNvZGUgYmxvY2suICovCi0gICAgICAgICAgICAgICAgY2ggPSBj
aDI7Ci0gICAgICAgICAgICAgICAgcCA9IHAyOwotICAgICAgICAgICAgfQotICAgICAgICB9Ci0g
ICAgICAgIGlmICghY2gpIHsKLSAgICAgICAgICAgIC8qIEVuZCBvZiBjb21tZW50cyAtLSBmaW5p
c2guICovCi0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgfQotICAgICAgICBpZiAoIWluY29k
ZSAmJiAhaW5odG1sYmxvY2sgJiYgY2ggPT0gJ1xuJykgewotICAgICAgICAgICAgLyogQmxhbmsg
bGluZSAtLSBmaW5pc2ggYW55IHBhcmEsIGJ1dCBvbmx5IGlmIG5vdCBpbiBjb2RlIGFuZAotICAg
ICAgICAgICAgICogbm90IGluIGFueSBIVE1MIGJsb2NrIGVsZW1lbnQuICovCi0gICAgICAgICAg
ICB3aGlsZSAoKCpjbm9kZS0+ZnVuY3MtPmFza2VuZCkoY25vZGUsIDApKQotICAgICAgICAgICAg
ICAgIGNub2RlID0gZW5kY25vZGUoY25vZGUpOwotICAgICAgICAgICAgcCsrOwotICAgICAgICAg
ICAgY29udGludWU7Ci0gICAgICAgIH0KLSAgICAgICAgLyogU3RhcnQgbmV3IHBhcmEgaWYgdGhl
cmUgaXNuJ3QgYWxyZWFkeSBvbmUgZ29pbmcuICovCi0gICAgICAgIGlmIChjbm9kZS0+ZnVuY3Mt
Pm5lZWRwYXJhKQotICAgICAgICAgICAgY25vZGUgPSBzdGFydHBhcmEoY25vZGUsICZwYXJhX2Z1
bmNzKTsKLSAgICAgICAgLyogUHJvY2VzcyB0ZXh0IG9uIHRoZSBsaW5lLiAqLwotICAgICAgICBz
dGFydHRleHQgPSBwOwotICAgICAgICB3aGlsZSAoY2ggJiYgY2ggIT0gJ1xuJykgewotICAgICAg
ICAgICAgaWYgKGNoICE9ICdcXCcgJiYgY2ggIT0gJzwnIC8qICYmIGNoICE9ICdAJyAqLyAmJiBj
aCAhPSAnJCcKLSAgICAgICAgICAgICAgICAgICAgJiYgY2ggIT0gJyYnICYmIGNoICE9ICdccicp
Ci0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgY2ggPSAqKytwOwotICAgICAgICAgICAg
ICAgIGNvbnRpbnVlOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgLyogT3V0cHV0IGFueSBw
ZW5kaW5nIHRleHQuICovCi0gICAgICAgICAgICBpZiAocCAtIHN0YXJ0dGV4dCkKLSAgICAgICAg
ICAgICAgICBjbm9kZSA9IGFkZHRleHQoY25vZGUsIHN0YXJ0dGV4dCwgcCAtIHN0YXJ0dGV4dCk7
Ci0JICAgIC8qIElnbm9yZSBcciBpbiBET1MgbGluZSByZXR1cm5zICovCi0JICAgIGlmIChjaCA9
PSAnXHInKSB7Ci0JICAgICAgICBjaCA9ICorK3A7Ci0gIAkgICAgICAgIHN0YXJ0dGV4dCA9IHA7
Ci0JCWNvbnRpbnVlOwotCSAgICB9Ci0gICAgICAgICAgICBpZiAoY2ggPT0gJyQnKQotICAgICAg
ICAgICAgICAgIGxvY2Vycm9yZXhpdChjb21tZW50LT5maWxlbmFtZSwgbGluZW51bSwgInVzZSBc
XCQgaW5zdGVhZCBvZiAkIik7Ci0gICAgICAgICAgICAvKiBTZWUgaWYgaXQgaXMgYW4gaHRtbCBu
YW1lZCBlbnRpdHkuICovCi0gICAgICAgICAgICBpZiAoY2ggPT0gJyYnICYmIHBbMV0gIT0gJyMn
KSB7Ci0gICAgICAgICAgICAgICAgY29uc3QgY2hhciAqZW50aXR5ID0gRU5USVRJRVM7Ci0gICAg
ICAgICAgICAgICAgLyogVGhpcyBzZWFyY2ggY291bGQgYmUgZmFzdGVyIGlmIHRoZSBlbnRpdHkg
bmFtZXMgd2VyZSBwdXQKLSAgICAgICAgICAgICAgICAgKiBpbiBhIGhhc2ggdGFibGUgb3Igc29t
ZXRoaW5nLiAqLwotICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKnNlbWljb2xvbiA9IHN0cmNo
cihwLCAnOycpOwotICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBsZW47Ci0gICAgICAgICAg
ICAgICAgaWYgKCFzZW1pY29sb24pCi0gICAgICAgICAgICAgICAgICAgIGxvY2Vycm9yZXhpdChj
b21tZW50LT5maWxlbmFtZSwgbGluZW51bSwgInVudGVybWluYXRlZCBIVE1MIGVudGl0eSIpOwot
ICAgICAgICAgICAgICAgIHArKzsKLSAgICAgICAgICAgICAgICBmb3IgKDs7KSB7Ci0gICAgICAg
ICAgICAgICAgICAgIGxlbiA9IHN0cmxlbihlbnRpdHkpOwotICAgICAgICAgICAgICAgICAgICBp
ZiAoIWxlbikKLSAgICAgICAgICAgICAgICAgICAgICAgIGxvY2Vycm9yZXhpdChjb21tZW50LT5m
aWxlbmFtZSwgbGluZW51bSwgInVucmVjb2duaXNlZCBIVE1MIGVudGl0eSAmJS4qczsiLCBzZW1p
Y29sb24gLSBwLCBwKTsKLSAgICAgICAgICAgICAgICAgICAgaWYgKGxlbiA9PSBzZW1pY29sb24g
LSBwICYmICFtZW1jbXAocCwgZW50aXR5LCBsZW4pKQotICAgICAgICAgICAgICAgICAgICAgICAg
YnJlYWs7Ci0gICAgICAgICAgICAgICAgICAgIGVudGl0eSArPSBsZW4gKyAxOwotICAgICAgICAg
ICAgICAgICAgICBlbnRpdHkgKz0gc3RybGVuKGVudGl0eSkgKyAxOwotICAgICAgICAgICAgICAg
IH0KLSAgICAgICAgICAgICAgICBlbnRpdHkgKz0gbGVuICsgMTsKLSAgICAgICAgICAgICAgICBj
bm9kZSA9IGFkZHRleHQoY25vZGUsIGVudGl0eSwgc3RybGVuKGVudGl0eSkpOwotICAgICAgICAg
ICAgICAgIHAgPSBzZW1pY29sb24gKyAxOwotICAgICAgICAgICAgICAgIGNoID0gKnA7Ci0gICAg
ICAgICAgICAgICAgc3RhcnR0ZXh0ID0gcDsKLSAgICAgICAgICAgICAgICBjb250aW51ZTsKLSAg
ICAgICAgICAgIH0KLSAgICAgICAgICAgIC8qIFNlZSBpZiBpdCBpcyBhIGJhY2tzbGFzaCBlc2Nh
cGUgc2VxdWVuY2UuICovCi0gICAgICAgICAgICBlbHNlIGlmIChjaCA9PSAnXFwnKSB7Ci0gICAg
ICAgICAgICAgICAgY29uc3QgY2hhciAqbWF0Y2ggPSAiXFxAJiQjPD4lIjsKLSAgICAgICAgICAg
ICAgICBjb25zdCBjaGFyICpwb3M7Ci0gICAgICAgICAgICAgICAgY2ggPSBwWzFdOwotICAgICAg
ICAgICAgICAgIHBvcyA9IHN0cmNocihtYXRjaCwgY2gpOwotICAgICAgICAgICAgICAgIGlmIChw
b3MpIHsKLSAgICAgICAgICAgICAgICAgICAgLyogR290IGEgXCBlc2NhcGUgc2VxdWVuY2UuICov
Ci0gICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKnRleHQgPSAKLSAgICAgICAgICAgICAg
ICAgICAgICAgICJcXFwwICAgIEBcMCAgICAmYW1wO1wwJFwwICAgICNcMCAgICAmbHQ7XDAgPlww
ICAgICUiCi0gICAgICAgICAgICAgICAgICAgICAgICArIDYgKiAocG9zIC0gbWF0Y2gpOwotICAg
ICAgICAgICAgICAgICAgICBjbm9kZSA9IGFkZHRleHQoY25vZGUsIHRleHQsIHN0cmxlbih0ZXh0
KSk7Ci0gICAgICAgICAgICAgICAgICAgIHAgKz0gMjsKLSAgICAgICAgICAgICAgICAgICAgY2gg
PSAqcDsKLSAgICAgICAgICAgICAgICAgICAgc3RhcnR0ZXh0ID0gcDsKLSAgICAgICAgICAgICAg
ICAgICAgY29udGludWU7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgfSBlbHNlIGlm
IChjaCA9PSAnPCcpIHsKLSAgICAgICAgICAgICAgICBpZiAoaW5jb2RlKSB7Ci0gICAgICAgICAg
ICAgICAgICAgIGNoID0gKisrcDsKLSAgICAgICAgICAgICAgICAgICAgc3RhcnR0ZXh0ID0gcDsK
LSAgICAgICAgICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAgICAgICAgfQotICAgICAg
ICAgICAgICAgIC8qIEl0J3MgYW4gaHRtbCB0YWcuICovCi0gICAgICAgICAgICAgICAgcCA9IHBh
cnNlaHRtbHRhZyhwLCAmY25vZGUsIGNvbW1lbnQtPmZpbGVuYW1lLCAmbGluZW51bSk7Ci0gICAg
ICAgICAgICAgICAgY2ggPSAqcDsKLSAgICAgICAgICAgICAgICBzdGFydHRleHQgPSBwOwotICAg
ICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgewotICAg
ICAgICAgICAgICAgIC8qIEdvdCBhIGRveHlnZW4gY29tbWFuZC4gRmlyc3Qgd29yayBvdXQgaXRz
IGxlbmd0aC4gKi8KLSAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpzdGFydCA9ICsrcDsKLSAg
ICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgY21kbGVuOwotICAgICAgICAgICAgICAgIGNvbnN0
IHN0cnVjdCBjb21tYW5kICpjb21tYW5kOwotICAgICAgICAgICAgICAgIGNoID0gKnA7Ci0gICAg
ICAgICAgICAgICAgd2hpbGUgKCh1bnNpZ25lZCkoKGNoICYgfjB4MjApIC0gJ0EnKSA8PSAnWicg
LSAnQScKLSAgICAgICAgICAgICAgICAgICAgICAgIHx8ICh1bnNpZ25lZCkoY2ggLSAnMCcpIDwg
MTAgfHwgY2ggPT0gJ18nIHx8IGNoID09ICctJykKLSAgICAgICAgICAgICAgICB7Ci0gICAgICAg
ICAgICAgICAgICAgIGNoID0gKisrcDsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAg
ICAgY21kbGVuID0gcCAtIHN0YXJ0OwotICAgICAgICAgICAgICAgIGlmICghY21kbGVuKQotICAg
ICAgICAgICAgICAgICAgICBsb2NlcnJvcmV4aXQoY29tbWVudC0+ZmlsZW5hbWUsIGxpbmVudW0s
ICJcXCBvciBAIHdpdGhvdXQgRG94eWdlbiBjb21tYW5kIik7Ci0gICAgICAgICAgICAgICAgLyog
TG9vayBpdCB1cCBpbiB0aGUgdGFibGUuICovCi0gICAgICAgICAgICAgICAgY29tbWFuZCA9IGNv
bW1hbmRzOwotICAgICAgICAgICAgICAgIGZvciAoOzspIHsKLSAgICAgICAgICAgICAgICAgICAg
aWYgKCFjb21tYW5kLT5uYW1lbGVuKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBsb2NlcnJv
cmV4aXQoY29tbWVudC0+ZmlsZW5hbWUsIGxpbmVudW0sICJ1bnJlY29nbml6ZWQgRG94eWdlbiBj
b21tYW5kICclLipzJyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNtZGxlbiAr
IDEsIHN0YXJ0IC0gMSk7Ci0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAg
ICAgaWYgKGNvbW1hbmQtPm5hbWVsZW4gPT0gY21kbGVuCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgJiYgIW1lbWNtcChjb21tYW5kLT5uYW1lLCBzdGFydCwgY21kbGVuKSkKLSAgICAgICAg
ICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAg
ICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAgY29tbWFuZCsrOwotICAgICAgICAgICAg
ICAgIH0KLSAgICAgICAgICAgICAgICBwID0gKCpjb21tYW5kLT5mdW5jKShwLCAmY25vZGUsIGNv
bW1hbmQtPnR5cGUsCi0gICAgICAgICAgICAgICAgICAgICAgICBjb21tZW50LT5maWxlbmFtZSwg
bGluZW51bSwgY29tbWFuZC0+bmFtZSk7Ci0gICAgICAgICAgICAgICAgY2ggPSAqcDsKLSAgICAg
ICAgICAgICAgICBzdGFydHRleHQgPSBwOwotICAgICAgICAgICAgfQotICAgICAgICB9Ci0gICAg
ICAgIGlmIChwIC0gc3RhcnR0ZXh0KSB7Ci0gICAgICAgICAgICAvKiBTdGFydCBuZXcgcGFyYSBp
ZiB0aGVyZSBpc24ndCBhbHJlYWR5IG9uZSBnb2luZy4gKi8KLSAgICAgICAgICAgIGlmIChjbm9k
ZS0+ZnVuY3MtPm5lZWRwYXJhKQotICAgICAgICAgICAgICAgIGNub2RlID0gc3RhcnRwYXJhKGNu
b2RlLCAmcGFyYV9mdW5jcyk7Ci0gICAgICAgICAgICBjbm9kZSA9IGFkZHRleHQoY25vZGUsIHN0
YXJ0dGV4dCwgcCAtIHN0YXJ0dGV4dCk7Ci0gICAgICAgIH0KLSAgICAgICAgaWYgKCFjaCkKLSAg
ICAgICAgICAgIGJyZWFrOwotICAgICAgICBpZiAoY25vZGUtPmZ1bmNzID09ICZ0ZXh0X2Z1bmNz
KQotICAgICAgICAgICAgYWRkdGV4dChjbm9kZSwgIlxuIiwgMSk7Ci0gICAgICAgIHArKzsKLSAg
ICB9Ci0gICAgLyogRmluaXNoIHRoZSByb290IGNub2RlLiAqLwotICAgIGRvCi0gICAgICAgIGNu
b2RlID0gZW5kY25vZGUoY25vZGUpOwotICAgIHdoaWxlIChjbm9kZSk7Ci0gICAgYXNzZXJ0KCFp
bmNvZGUpOwotICAgIGFzc2VydCghaW5odG1sYmxvY2spOwotfQotCi0vKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioK
LSAqIHBhcnNlY29tbWVudHMgOiBwYXJzZSBjb21tZW50cwotICoKLSAqIEVudGVyOiAgIGNvbW1l
bnQgPSBmaXJzdCBjb21tZW50IGluIGxpc3QKLSAqLwotc3RhdGljIHZvaWQKLXBhcnNlY29tbWVu
dHMoc3RydWN0IGNvbW1lbnQgKmNvbW1lbnQpCi17Ci0gICAgd2hpbGUgKGNvbW1lbnQpIHsKLSAg
ICAgICAgcGFyc2Vjb21tZW50KGNvbW1lbnQpOwotICAgICAgICBjb21tZW50ID0gY29tbWVudC0+
bmV4dDsKLSAgICB9Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogYXR0YWNoY29tbWVudHRvbm9k
ZSA6IGF0dGFjaCBjb21tZW50IHN0cnVjdCB0byBub2RlCi0gKgotICogRW50ZXI6ICAgbm9kZSA9
IHBhcnNlIG5vZGUgZm9yIGlkZW50aWZpZXIKLSAqICAgICAgICAgIGNvbW1lbnQgPSBjb21tZW50
IHN0cnVjdAotICovCi1zdGF0aWMgdm9pZAotYXR0YWNoY29tbWVudHRvbm9kZShzdHJ1Y3Qgbm9k
ZSAqbm9kZSwgc3RydWN0IGNvbW1lbnQgKmNvbW1lbnQpCi17Ci0gICAgY29tbWVudC0+bmV4dCA9
IG5vZGUtPmNvbW1lbnRzOwotICAgIG5vZGUtPmNvbW1lbnRzID0gY29tbWVudDsKLX0KLQotLyoq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqCi0gKiBhdHRhY2hjb21tZW50cyA6IGF0dGFjaCBjb21tZW50cyB0byBhcHBs
aWNhYmxlIHBhcnNlIG5vZGVzCi0gKgotICogRW50ZXI6ICAgY29tbWVudCA9IGZpcnN0IGluIChy
ZXZlcnNlZCkgbGlzdCBvZiBjb21tZW50IHN0cnVjdHMKLSAqICAgICAgICAgIHJvb3QgPSByb290
IHBhcnNlIG5vZGUgKGZvciBhdHRhY2hpbmcgXGZpbGUgY29tbWVudCBibG9ja3MgdG8pCi0gKi8K
LXN0YXRpYyB2b2lkCi1hdHRhY2hjb21tZW50cyhzdHJ1Y3QgY29tbWVudCAqY29tbWVudCwgc3Ry
dWN0IG5vZGUgKnJvb3QpCi17Ci0gICAgd2hpbGUgKGNvbW1lbnQpIHsKLSAgICAgICAgc3RydWN0
IGNvbW1lbnQgKm5leHQgPSBjb21tZW50LT5uZXh0OwotICAgICAgICAvKiBTZWUgaWYgdGhlcmUg
YXJlIGFueSBccGFyYW0sIFxyZXR1cm4sIFx0aHJvdywgXGRlZi1hcGktZmVhdHVyZSBvcgotICAg
ICAgICAgKiBcZGVmLWRldmljZS1jYXAgY25vZGVzIHRvIGRldGFjaCBhbmQgYXR0YWNoCi0gICAg
ICAgICAqIGVsc2V3aGVyZS4gKFRoaXMgb25seSBsb29rcyBhdCB0b3AtbGV2ZWwgbm9kZXMsIGRp
cmVjdCBjaGlsZHJlbgotICAgICAgICAgKiBvZiB0aGUgcm9vdCwgc28gZG9lcyBub3QgZGV0YWNo
IGEgXHBhcmFtIGluc2lkZSBhCi0gICAgICAgICAqIFxkZWYtZGV2aWNlLWNhcC4pICovCi0gICAg
ICAgIHN0cnVjdCBjbm9kZSAqKnBjbm9kZSA9ICZjb21tZW50LT5yb290LmNoaWxkcmVuOwotICAg
ICAgICBmb3IgKDs7KSB7Ci0gICAgICAgICAgICBzdHJ1Y3QgY25vZGUgKmNub2RlID0gKnBjbm9k
ZTsKLSAgICAgICAgICAgIGlmICghY25vZGUpCi0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAg
ICAgICAgICBpZiAoY25vZGUtPmZ1bmNzID09ICZwYXJhbV9mdW5jcyB8fCBjbm9kZS0+ZnVuY3Mg
PT0gJnJldHVybl9mdW5jcwotICAgICAgICAgICAgICAgICAgICB8fCBjbm9kZS0+ZnVuY3MgPT0g
JnRocm93X2Z1bmNzKQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIC8qIEZvdW5kIGEg
XHBhcmFtIG9yIFxyZXR1cm4gb3IgXHRocm93IHRvIGRldGFjaC4gRmluZCB0aGUKLSAgICAgICAg
ICAgICAgICAgKiBwYXJhbWV0ZXIvZXhjZXB0aW9uIG9mIHRoZSBzYW1lIG5hbWUsIG9yIHRoZSBy
ZXR1cm4gdHlwZS4gKi8KLSAgICAgICAgICAgICAgICBzdHJ1Y3Qgbm9kZSAqbm9kZTsKLSAgICAg
ICAgICAgICAgICBzdHJ1Y3QgY29tbWVudCAqbmV3Y29tbWVudDsKLSAgICAgICAgICAgICAgICBp
ZiAoY25vZGUtPmZ1bmNzID09ICZwYXJhbV9mdW5jcykgewotICAgICAgICAgICAgICAgICAgICBu
b2RlID0gZmluZHBhcmFtaWRlbnRpZmllcihjb21tZW50LT5ub2RlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgKChzdHJ1Y3QgcGFyYW1jbm9kZSAqKWNub2RlKS0+bmFtZSk7Ci0gICAgICAgICAg
ICAgICAgICAgIGlmICghbm9kZSkKLSAgICAgICAgICAgICAgICAgICAgICAgIGxvY2Vycm9yZXhp
dChjb21tZW50LT5maWxlbmFtZSwgY25vZGUtPmxpbmVudW0sICJubyBwYXJhbWV0ZXIgJyVzJyBm
b3VuZCIsICgoc3RydWN0IHBhcmFtY25vZGUgKiljbm9kZSktPm5hbWUpOwotICAgICAgICAgICAg
ICAgIH0gZWxzZSBpZiAoY25vZGUtPmZ1bmNzID09ICZyZXR1cm5fZnVuY3MpIHsKLSAgICAgICAg
ICAgICAgICAgICAgbm9kZSA9IGZpbmRyZXR1cm50eXBlKGNvbW1lbnQtPm5vZGUpOwotICAgICAg
ICAgICAgICAgICAgICBpZiAoIW5vZGUpCi0gICAgICAgICAgICAgICAgICAgICAgICBsb2NlcnJv
cmV4aXQoY29tbWVudC0+ZmlsZW5hbWUsIGNub2RlLT5saW5lbnVtLCAibm8gcmV0dXJuIHR5cGUg
Zm91bmQiKTsKLSAgICAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgICAgICBu
b2RlID0gZmluZHRocm93aWRlbnRpZmllcihjb21tZW50LT5ub2RlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgKChzdHJ1Y3QgcGFyYW1jbm9kZSAqKWNub2RlKS0+bmFtZSk7Ci0gICAgICAgICAg
ICAgICAgICAgIGlmICghbm9kZSkKLSAgICAgICAgICAgICAgICAgICAgICAgIGxvY2Vycm9yZXhp
dChjb21tZW50LT5maWxlbmFtZSwgY25vZGUtPmxpbmVudW0sICJubyBleGNlcHRpb24gJyVzJyBm
b3VuZCIsICgoc3RydWN0IHBhcmFtY25vZGUgKiljbm9kZSktPm5hbWUpOwotICAgICAgICAgICAg
ICAgIH0KLSAgICAgICAgICAgICAgICAvKiBEZXRhY2ggdGhlIGNub2RlIGZyb20gaXRzIG9sZCBj
b21tZW50LiAqLwotICAgICAgICAgICAgICAgICpwY25vZGUgPSBjbm9kZS0+bmV4dDsKLSAgICAg
ICAgICAgICAgICAvKiBDcmVhdGUgYSBuZXcgY29tbWVudCBzdHJ1Y3QgdG8gY29udGFpbiB0aGlz
IGNub2RlLiAqLwotICAgICAgICAgICAgICAgIG5ld2NvbW1lbnQgPSBtZW1hbGxvYyhzaXplb2Yo
c3RydWN0IGNvbW1lbnQpKTsKLSAgICAgICAgICAgICAgICBuZXdjb21tZW50LT5yb290LmZ1bmNz
ID0gJnJvb3RfZnVuY3M7Ci0gICAgICAgICAgICAgICAgbmV3Y29tbWVudC0+bGluZW51bSA9IGNu
b2RlLT5saW5lbnVtOwotICAgICAgICAgICAgICAgIC8qIEF0dGFjaCB0aGUgY25vZGUuICovCi0g
ICAgICAgICAgICAgICAgbmV3Y29tbWVudC0+cm9vdC5jaGlsZHJlbiA9IGNub2RlOwotICAgICAg
ICAgICAgICAgIGNub2RlLT5wYXJlbnQgPSAmbmV3Y29tbWVudC0+cm9vdDsKLSAgICAgICAgICAg
ICAgICBjbm9kZS0+bmV4dCA9IDA7Ci0gICAgICAgICAgICAgICAgLyogTWFrZSB0aGUgY25vZGUg
YSBccmV0dXJuIG9uZSwganVzdCBzbyBldmVuIGEgXHBhcmFtCi0gICAgICAgICAgICAgICAgICog
dXNlcyByZXR1cm5fb3V0cHV0LiAqLwotICAgICAgICAgICAgICAgIGNub2RlLT5mdW5jcyA9ICZy
ZXR1cm5fZnVuY3M7Ci0gICAgICAgICAgICAgICAgLyogQXR0YWNoIHRoZSBuZXcgY29tbWVudCBz
dHJ1Y3QgdG8gdGhlIHBhcnNlIG5vZGUuICovCi0gICAgICAgICAgICAgICAgYXR0YWNoY29tbWVu
dHRvbm9kZShub2RlLCBuZXdjb21tZW50KTsKLSAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAg
ICAgICAgICAgcGNub2RlID0gJmNub2RlLT5uZXh0OwotICAgICAgICAgICAgfQotICAgICAgICB9
Ci0gICAgICAgIC8qIE5vdyBhdHRhY2ggdGhlIGNvbW1lbnQgdG8gaXRzIGlkZW50aWZpZXIgcGFy
c2Ugbm9kZS4gKi8KLSAgICAgICAgewotICAgICAgICAgICAgc3RydWN0IG5vZGUgKm5vZGUgPSBj
b21tZW50LT5ub2RlOwotICAgICAgICAgICAgaWYgKCFub2RlKQotICAgICAgICAgICAgICAgIG5v
ZGUgPSByb290OwotICAgICAgICAgICAgYXR0YWNoY29tbWVudHRvbm9kZShub2RlLCBjb21tZW50
KTsKLSAgICAgICAgfQotICAgICAgICBjb21tZW50ID0gbmV4dDsKLSAgICB9Ci19Ci0KLS8qKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKgotICogcHJvY2Vzc2NvbW1lbnRzIDogam9pbiwgcGFyc2UgYW5kIGF0dGFjaCBj
b21tZW50cwotICoKLSAqIEVudGVyOiAgIHJvb3QgPSByb290IHBhcnNlIG5vZGUKLSAqLwotdm9p
ZAotcHJvY2Vzc2NvbW1lbnRzKHN0cnVjdCBub2RlICpyb290KQotewotICAgIGNvbW1lbnRzID0g
am9pbmlubGluZWNvbW1lbnRzKGNvbW1lbnRzKTsKLSAgICBwYXJzZWNvbW1lbnRzKGNvbW1lbnRz
KTsKLSAgICBhdHRhY2hjb21tZW50cyhjb21tZW50cywgcm9vdCk7Ci19Ci0KLS8qKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKgotICogb3V0cHV0ZGVzY3JpcHRpdmUgOiBvdXRwdXQgZGVzY3JpcHRpdmUgZWxlbWVudHMg
Zm9yIGEgbm9kZQotICoKLSAqIEVudGVyOiAgIG5vZGUgPSBpZGVudGlmaWVyIG5vZGUgdGhhdCBt
aWdodCBoYXZlIHNvbWUgY29tbWVudHMKLSAqICAgICAgICAgIGluZGVudCA9IGluZGVudCAobmVz
dGluZykgbGV2ZWwKLSAqLwotdm9pZAotb3V0cHV0ZGVzY3JpcHRpdmUoc3RydWN0IG5vZGUgKm5v
ZGUsIHVuc2lnbmVkIGludCBpbmRlbnQpCi17Ci0gICAgc3RydWN0IGNvbW1lbnQgKmNvbW1lbnQg
PSBub2RlLT5jb21tZW50czsKLSAgICBpbnQgaW5kZXNjcmlwdGl2ZSA9IDA7Ci0gICAgd2hpbGUg
KGNvbW1lbnQpIHsKLSAgICAgICAgc3RydWN0IGNub2RlICpyb290ID0gJmNvbW1lbnQtPnJvb3Q7
Ci0gICAgICAgIGlmICghaW5kZXNjcmlwdGl2ZSkKLSAgICAgICAgICAgIHByaW50ZigiJSpzPGRl
c2NyaXB0aXZlPlxuIiwgaW5kZW50LCAiIik7Ci0gICAgICAgIGluZGVzY3JpcHRpdmUgPSAxOwot
ICAgICAgICAoKnJvb3QtPmZ1bmNzLT5vdXRwdXQpKHJvb3QsIGluZGVudCArIDIpOwotICAgICAg
ICBjb21tZW50ID0gY29tbWVudC0+bmV4dDsKLSAgICB9Ci0gICAgaWYgKGluZGVzY3JpcHRpdmUp
Ci0gICAgICAgIHByaW50ZigiJSpzPC9kZXNjcmlwdGl2ZT5cbiIsIGluZGVudCwgIiIpOwotfQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3NyYy9jb21tZW50LmggYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
d2lkbHByb2Mvc3JjL2NvbW1lbnQuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTZk
MThlMmNjOGFlMDMxNGRlNWFiM2UxN2FlODVjZDI1M2I5Y2QyNC4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mvc3JjL2NvbW1l
bnQuaAorKysgL2Rldi9udWxsCkBAIC0xLDI1ICswLDAgQEAKLS8qKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICog
JElkJAotICogQ29weXJpZ2h0IDIwMDkgQXBsaXggQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCi0gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4w
ICh0aGUgIkxpY2Vuc2UiKTsKLSAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGlu
IGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KLSAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBv
ZiB0aGUgTGljZW5zZSBhdAotICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9M
SUNFTlNFLTIuMAotICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVl
ZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQotICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vu
c2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKLSAqIFdJVEhPVVQgV0FSUkFO
VElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVk
LgotICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5n
IHBlcm1pc3Npb25zIGFuZAotICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCi0gKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKiovCi0jaWZuZGVmIGNvbW1lbnRfaAotI2RlZmluZSBjb21tZW50X2gKLQotc3Ry
dWN0IHRvazsKLXN0cnVjdCBub2RlOwotCi12b2lkIGFkZGNvbW1lbnQoc3RydWN0IHRvayAqdG9r
KTsKLXZvaWQgc2V0Y29tbWVudG5vZGUoc3RydWN0IG5vZGUgKm5vZGUyKTsKLXZvaWQgcHJvY2Vz
c2NvbW1lbnRzKHN0cnVjdCBub2RlICpyb290KTsKLXZvaWQgb3V0cHV0ZGVzY3JpcHRpdmUoc3Ry
dWN0IG5vZGUgKm5vZGUsIHVuc2lnbmVkIGludCBpbmRlbnQpOwotCi0jZW5kaWYgLyogbmRlZiBj
b21tZW50X2ggKi8KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9zcmMvZW50aXRpZXMu
aCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC93aWRscHJvYy9zcmMvZW50aXRpZXMuaApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggZmY3NGMxY2IzYjJhNjY4Njc5MDlmZTkyNzg3YmY5MjVhODBiNDA4Yy4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lk
bHByb2Mvc3JjL2VudGl0aWVzLmgKKysrIC9kZXYvbnVsbApAQCAtMSwyNzEgKzAsMCBAQAotLyoq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqCi0gKiAkSWQkCi0gKiBDb3B5cmlnaHQgMjAwOSBBcGxpeCBDb3Jwb3JhdGlv
bi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGlj
ZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOwotICogeW91IG1heSBub3QgdXNlIHRo
aXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgotICogWW91IG1h
eSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0Ci0gKiAgICAgaHR0cDovL3d3dy5hcGFj
aGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCi0gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGlj
YWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCi0gKiBkaXN0cmlidXRl
ZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAot
ICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBl
eHByZXNzIG9yIGltcGxpZWQuCi0gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBs
YW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCi0gKiBsaW1pdGF0aW9ucyB1bmRlciB0
aGUgTGljZW5zZS4KLSAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLSNpZm5kZWYgZW50aXRpZXNfaAotI2RlZmlu
ZSBlbnRpdGllc19oCi0KLSNkZWZpbmUgRU5USVRJRVMgXAotIm5ic3BcMCYjMTYwO1wwIiBcCi0i
aWV4Y2xcMCYjMTYxO1wwIiBcCi0iY2VudFwwJiMxNjI7XDAiIFwKLSJwb3VuZFwwJiMxNjM7XDAi
IFwKLSJjdXJyZW5cMCYjMTY0O1wwIiBcCi0ieWVuXDAmIzE2NTtcMCIgXAotImJydmJhclwwJiMx
NjY7XDAiIFwKLSJzZWN0XDAmIzE2NztcMCIgXAotInVtbFwwJiMxNjg7XDAiIFwKLSJjb3B5XDAm
IzE2OTtcMCIgXAotIm9yZGZcMCYjMTcwO1wwIiBcCi0ibGFxdW9cMCYjMTcxO1wwIiBcCi0ibm90
XDAmIzE3MjtcMCIgXAotInNoeVwwJiMxNzM7XDAiIFwKLSJyZWdcMCYjMTc0O1wwIiBcCi0ibWFj
clwwJiMxNzU7XDAiIFwKLSJkZWdcMCYjMTc2O1wwIiBcCi0icGx1c21uXDAmIzE3NztcMCIgXAot
InN1cDJcMCYjMTc4O1wwIiBcCi0ic3VwM1wwJiMxNzk7XDAiIFwKLSJhY3V0ZVwwJiMxODA7XDAi
IFwKLSJtaWNyb1wwJiMxODE7XDAiIFwKLSJwYXJhXDAmIzE4MjtcMCIgXAotIm1pZGRvdFwwJiMx
ODM7XDAiIFwKLSJjZWRpbFwwJiMxODQ7XDAiIFwKLSJzdXAxXDAmIzE4NTtcMCIgXAotIm9yZG1c
MCYjMTg2O1wwIiBcCi0icmFxdW9cMCYjMTg3O1wwIiBcCi0iZnJhYzE0XDAmIzE4ODtcMCIgXAot
ImZyYWMxMlwwJiMxODk7XDAiIFwKLSJmcmFjMzRcMCYjMTkwO1wwIiBcCi0iaXF1ZXN0XDAmIzE5
MTtcMCIgXAotIkFncmF2ZVwwJiMxOTI7XDAiIFwKLSJBYWN1dGVcMCYjMTkzO1wwIiBcCi0iQWNp
cmNcMCYjMTk0O1wwIiBcCi0iQXRpbGRlXDAmIzE5NTtcMCIgXAotIkF1bWxcMCYjMTk2O1wwIiBc
Ci0iQXJpbmdcMCYjMTk3O1wwIiBcCi0iQUVsaWdcMCYjMTk4O1wwIiBcCi0iQ2NlZGlsXDAmIzE5
OTtcMCIgXAotIkVncmF2ZVwwJiMyMDA7XDAiIFwKLSJFYWN1dGVcMCYjMjAxO1wwIiBcCi0iRWNp
cmNcMCYjMjAyO1wwIiBcCi0iRXVtbFwwJiMyMDM7XDAiIFwKLSJJZ3JhdmVcMCYjMjA0O1wwIiBc
Ci0iSWFjdXRlXDAmIzIwNTtcMCIgXAotIkljaXJjXDAmIzIwNjtcMCIgXAotIkl1bWxcMCYjMjA3
O1wwIiBcCi0iRVRIXDAmIzIwODtcMCIgXAotIk50aWxkZVwwJiMyMDk7XDAiIFwKLSJPZ3JhdmVc
MCYjMjEwO1wwIiBcCi0iT2FjdXRlXDAmIzIxMTtcMCIgXAotIk9jaXJjXDAmIzIxMjtcMCIgXAot
Ik90aWxkZVwwJiMyMTM7XDAiIFwKLSJPdW1sXDAmIzIxNDtcMCIgXAotInRpbWVzXDAmIzIxNTtc
MCIgXAotIk9zbGFzaFwwJiMyMTY7XDAiIFwKLSJVZ3JhdmVcMCYjMjE3O1wwIiBcCi0iVWFjdXRl
XDAmIzIxODtcMCIgXAotIlVjaXJjXDAmIzIxOTtcMCIgXAotIlV1bWxcMCYjMjIwO1wwIiBcCi0i
WWFjdXRlXDAmIzIyMTtcMCIgXAotIlRIT1JOXDAmIzIyMjtcMCIgXAotInN6bGlnXDAmIzIyMztc
MCIgXAotImFncmF2ZVwwJiMyMjQ7XDAiIFwKLSJhYWN1dGVcMCYjMjI1O1wwIiBcCi0iYWNpcmNc
MCYjMjI2O1wwIiBcCi0iYXRpbGRlXDAmIzIyNztcMCIgXAotImF1bWxcMCYjMjI4O1wwIiBcCi0i
YXJpbmdcMCYjMjI5O1wwIiBcCi0iYWVsaWdcMCYjMjMwO1wwIiBcCi0iY2NlZGlsXDAmIzIzMTtc
MCIgXAotImVncmF2ZVwwJiMyMzI7XDAiIFwKLSJlYWN1dGVcMCYjMjMzO1wwIiBcCi0iZWNpcmNc
MCYjMjM0O1wwIiBcCi0iZXVtbFwwJiMyMzU7XDAiIFwKLSJpZ3JhdmVcMCYjMjM2O1wwIiBcCi0i
aWFjdXRlXDAmIzIzNztcMCIgXAotImljaXJjXDAmIzIzODtcMCIgXAotIml1bWxcMCYjMjM5O1ww
IiBcCi0iZXRoXDAmIzI0MDtcMCIgXAotIm50aWxkZVwwJiMyNDE7XDAiIFwKLSJvZ3JhdmVcMCYj
MjQyO1wwIiBcCi0ib2FjdXRlXDAmIzI0MztcMCIgXAotIm9jaXJjXDAmIzI0NDtcMCIgXAotIm90
aWxkZVwwJiMyNDU7XDAiIFwKLSJvdW1sXDAmIzI0NjtcMCIgXAotImRpdmlkZVwwJiMyNDc7XDAi
IFwKLSJvc2xhc2hcMCYjMjQ4O1wwIiBcCi0idWdyYXZlXDAmIzI0OTtcMCIgXAotInVhY3V0ZVww
JiMyNTA7XDAiIFwKLSJ1Y2lyY1wwJiMyNTE7XDAiIFwKLSJ1dW1sXDAmIzI1MjtcMCIgXAotInlh
Y3V0ZVwwJiMyNTM7XDAiIFwKLSJ0aG9yblwwJiMyNTQ7XDAiIFwKLSJ5dW1sXDAmIzI1NTtcMCIg
XAotImZub2ZcMCYjNDAyO1wwIiBcCi0iQWxwaGFcMCYjOTEzO1wwIiBcCi0iQmV0YVwwJiM5MTQ7
XDAiIFwKLSJHYW1tYVwwJiM5MTU7XDAiIFwKLSJEZWx0YVwwJiM5MTY7XDAiIFwKLSJFcHNpbG9u
XDAmIzkxNztcMCIgXAotIlpldGFcMCYjOTE4O1wwIiBcCi0iRXRhXDAmIzkxOTtcMCIgXAotIlRo
ZXRhXDAmIzkyMDtcMCIgXAotIklvdGFcMCYjOTIxO1wwIiBcCi0iS2FwcGFcMCYjOTIyO1wwIiBc
Ci0iTGFtYmRhXDAmIzkyMztcMCIgXAotIk11XDAmIzkyNDtcMCIgXAotIk51XDAmIzkyNTtcMCIg
XAotIlhpXDAmIzkyNjtcMCIgXAotIk9taWNyb25cMCYjOTI3O1wwIiBcCi0iUGlcMCYjOTI4O1ww
IiBcCi0iUmhvXDAmIzkyOTtcMCIgXAotIlNpZ21hXDAmIzkzMTtcMCIgXAotIlRhdVwwJiM5MzI7
XDAiIFwKLSJVcHNpbG9uXDAmIzkzMztcMCIgXAotIlBoaVwwJiM5MzQ7XDAiIFwKLSJDaGlcMCYj
OTM1O1wwIiBcCi0iUHNpXDAmIzkzNjtcMCIgXAotIk9tZWdhXDAmIzkzNztcMCIgXAotImFscGhh
XDAmIzk0NTtcMCIgXAotImJldGFcMCYjOTQ2O1wwIiBcCi0iZ2FtbWFcMCYjOTQ3O1wwIiBcCi0i
ZGVsdGFcMCYjOTQ4O1wwIiBcCi0iZXBzaWxvblwwJiM5NDk7XDAiIFwKLSJ6ZXRhXDAmIzk1MDtc
MCIgXAotImV0YVwwJiM5NTE7XDAiIFwKLSJ0aGV0YVwwJiM5NTI7XDAiIFwKLSJpb3RhXDAmIzk1
MztcMCIgXAotImthcHBhXDAmIzk1NDtcMCIgXAotImxhbWJkYVwwJiM5NTU7XDAiIFwKLSJtdVww
JiM5NTY7XDAiIFwKLSJudVwwJiM5NTc7XDAiIFwKLSJ4aVwwJiM5NTg7XDAiIFwKLSJvbWljcm9u
XDAmIzk1OTtcMCIgXAotInBpXDAmIzk2MDtcMCIgXAotInJob1wwJiM5NjE7XDAiIFwKLSJzaWdt
YWZcMCYjOTYyO1wwIiBcCi0ic2lnbWFcMCYjOTYzO1wwIiBcCi0idGF1XDAmIzk2NDtcMCIgXAot
InVwc2lsb25cMCYjOTY1O1wwIiBcCi0icGhpXDAmIzk2NjtcMCIgXAotImNoaVwwJiM5Njc7XDAi
IFwKLSJwc2lcMCYjOTY4O1wwIiBcCi0ib21lZ2FcMCYjOTY5O1wwIiBcCi0idGhldGFzeW1cMCYj
OTc3O1wwIiBcCi0idXBzaWhcMCYjOTc4O1wwIiBcCi0icGl2XDAmIzk4MjtcMCIgXAotImJ1bGxc
MCYjODIyNjtcMCIgXAotImhlbGxpcFwwJiM4MjMwO1wwIiBcCi0icHJpbWVcMCYjODI0MjtcMCIg
XAotIlByaW1lXDAmIzgyNDM7XDAiIFwKLSJvbGluZVwwJiM4MjU0O1wwIiBcCi0iZnJhc2xcMCYj
ODI2MDtcMCIgXAotIndlaWVycFwwJiM4NDcyO1wwIiBcCi0iaW1hZ2VcMCYjODQ2NTtcMCIgXAot
InJlYWxcMCYjODQ3NjtcMCIgXAotInRyYWRlXDAmIzg0ODI7XDAiIFwKLSJhbGVmc3ltXDAmIzg1
MDE7XDAiIFwKLSJsYXJyXDAmIzg1OTI7XDAiIFwKLSJ1YXJyXDAmIzg1OTM7XDAiIFwKLSJyYXJy
XDAmIzg1OTQ7XDAiIFwKLSJkYXJyXDAmIzg1OTU7XDAiIFwKLSJoYXJyXDAmIzg1OTY7XDAiIFwK
LSJjcmFyclwwJiM4NjI5O1wwIiBcCi0ibEFyclwwJiM4NjU2O1wwIiBcCi0idUFyclwwJiM4NjU3
O1wwIiBcCi0ickFyclwwJiM4NjU4O1wwIiBcCi0iZEFyclwwJiM4NjU5O1wwIiBcCi0iaEFyclww
JiM4NjYwO1wwIiBcCi0iZm9yYWxsXDAmIzg3MDQ7XDAiIFwKLSJwYXJ0XDAmIzg3MDY7XDAiIFwK
LSJleGlzdFwwJiM4NzA3O1wwIiBcCi0iZW1wdHlcMCYjODcwOTtcMCIgXAotIm5hYmxhXDAmIzg3
MTE7XDAiIFwKLSJpc2luXDAmIzg3MTI7XDAiIFwKLSJub3RpblwwJiM4NzEzO1wwIiBcCi0ibmlc
MCYjODcxNTtcMCIgXAotInByb2RcMCYjODcxOTtcMCIgXAotInN1bVwwJiM4NzIxO1wwIiBcCi0i
bWludXNcMCYjODcyMjtcMCIgXAotImxvd2FzdFwwJiM4NzI3O1wwIiBcCi0icmFkaWNcMCYjODcz
MDtcMCIgXAotInByb3BcMCYjODczMztcMCIgXAotImluZmluXDAmIzg3MzQ7XDAiIFwKLSJhbmdc
MCYjODczNjtcMCIgXAotImFuZFwwJiM4NzQzO1wwIiBcCi0ib3JcMCYjODc0NDtcMCIgXAotImNh
cFwwJiM4NzQ1O1wwIiBcCi0iY3VwXDAmIzg3NDY7XDAiIFwKLSJpbnRcMCYjODc0NztcMCIgXAot
InRoZXJlNFwwJiM4NzU2O1wwIiBcCi0ic2ltXDAmIzg3NjQ7XDAiIFwKLSJjb25nXDAmIzg3NzM7
XDAiIFwKLSJhc3ltcFwwJiM4Nzc2O1wwIiBcCi0ibmVcMCYjODgwMDtcMCIgXAotImVxdWl2XDAm
Izg4MDE7XDAiIFwKLSJsZVwwJiM4ODA0O1wwIiBcCi0iZ2VcMCYjODgwNTtcMCIgXAotInN1Ylww
JiM4ODM0O1wwIiBcCi0ic3VwXDAmIzg4MzU7XDAiIFwKLSJuc3ViXDAmIzg4MzY7XDAiIFwKLSJz
dWJlXDAmIzg4Mzg7XDAiIFwKLSJzdXBlXDAmIzg4Mzk7XDAiIFwKLSJvcGx1c1wwJiM4ODUzO1ww
IiBcCi0ib3RpbWVzXDAmIzg4NTU7XDAiIFwKLSJwZXJwXDAmIzg4Njk7XDAiIFwKLSJzZG90XDAm
Izg5MDE7XDAiIFwKLSJsY2VpbFwwJiM4OTY4O1wwIiBcCi0icmNlaWxcMCYjODk2OTtcMCIgXAot
ImxmbG9vclwwJiM4OTcwO1wwIiBcCi0icmZsb29yXDAmIzg5NzE7XDAiIFwKLSJsYW5nXDAmIzkw
MDE7XDAiIFwKLSJyYW5nXDAmIzkwMDI7XDAiIFwKLSJsb3pcMCYjOTY3NDtcMCIgXAotInNwYWRl
c1wwJiM5ODI0O1wwIiBcCi0iY2x1YnNcMCYjOTgyNztcMCIgXAotImhlYXJ0c1wwJiM5ODI5O1ww
IiBcCi0iZGlhbXNcMCYjOTgzMDtcMCIgXAotInF1b3RcMCYjMzQ7XDAiIFwKLSJhbXBcMCYjMzg7
XDAiIFwKLSJsdFwwJiM2MDtcMCIgXAotImd0XDAmIzYyO1wwIiBcCi0iT0VsaWdcMCYjMzM4O1ww
IiBcCi0ib2VsaWdcMCYjMzM5O1wwIiBcCi0iU2Nhcm9uXDAmIzM1MjtcMCIgXAotInNjYXJvblww
JiMzNTM7XDAiIFwKLSJZdW1sXDAmIzM3NjtcMCIgXAotImNpcmNcMCYjNzEwO1wwIiBcCi0idGls
ZGVcMCYjNzMyO1wwIiBcCi0iZW5zcFwwJiM4MTk0O1wwIiBcCi0iZW1zcFwwJiM4MTk1O1wwIiBc
Ci0idGhpbnNwXDAmIzgyMDE7XDAiIFwKLSJ6d25qXDAmIzgyMDQ7XDAiIFwKLSJ6d2pcMCYjODIw
NTtcMCIgXAotImxybVwwJiM4MjA2O1wwIiBcCi0icmxtXDAmIzgyMDc7XDAiIFwKLSJuZGFzaFww
JiM4MjExO1wwIiBcCi0ibWRhc2hcMCYjODIxMjtcMCIgXAotImxzcXVvXDAmIzgyMTY7XDAiIFwK
LSJyc3F1b1wwJiM4MjE3O1wwIiBcCi0ic2JxdW9cMCYjODIxODtcMCIgXAotImxkcXVvXDAmIzgy
MjA7XDAiIFwKLSJyZHF1b1wwJiM4MjIxO1wwIiBcCi0iYmRxdW9cMCYjODIyMjtcMCIgXAotImRh
Z2dlclwwJiM4MjI0O1wwIiBcCi0iRGFnZ2VyXDAmIzgyMjU7XDAiIFwKLSJwZXJtaWxcMCYjODI0
MDtcMCIgXAotImxzYXF1b1wwJiM4MjQ5O1wwIiBcCi0icnNhcXVvXDAmIzgyNTA7XDAiIFwKLSJl
dXJvXDAmIzgzNjQ7XDAiCi0KLSNlbmRpZiAvKiBuZGVmIGVudGl0aWVzX2ggKi8KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC93aWRscHJvYy9zcmMvbGV4LmMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mvc3Jj
L2xleC5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5ZjkxMDMzODZiZDZiYWY4NjNm
NzI0NGYzZDdiNmZlYTEzMWVjMGYwLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9zcmMvbGV4LmMKKysrIC9kZXYvbnVsbApA
QCAtMSw1NjAgKzAsMCBAQAotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiAkSWQkCi0gKiBDb3B5cmlnaHQg
MjAwOSBBcGxpeCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIExpY2Vuc2Vk
IHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOwot
ICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRo
ZSBMaWNlbnNlLgotICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0Ci0g
KiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCi0gKiBVbmxl
c3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNv
ZnR3YXJlCi0gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBv
biBhbiAiQVMgSVMiIEJBU0lTLAotICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMg
T0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCi0gKiBTZWUgdGhlIExpY2Vu
c2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCi0g
KiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KLSAqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLSNpbmNs
dWRlIDxhc3NlcnQuaD4KLSNpbmNsdWRlIDxlcnJuby5oPgotI2luY2x1ZGUgPHN0ZGlvLmg+Ci0j
aW5jbHVkZSA8c3RyaW5nLmg+Ci0jaW5jbHVkZSAibGV4LmgiCi0jaW5jbHVkZSAibWlzYy5oIgot
I2luY2x1ZGUgIm5vZGUuaCIKLSNpbmNsdWRlICJwcm9jZXNzLmgiCi0KLXN0cnVjdCBmaWxlIHsK
LSAgICBzdHJ1Y3QgZmlsZSAqbmV4dDsKLSAgICBjb25zdCBjaGFyICpmaWxlbmFtZTsKLSAgICBj
aGFyICpidWY7Ci0gICAgY29uc3QgY2hhciAqcG9zLCAqZW5kOwotICAgIHVuc2lnbmVkIGludCBs
aW5lbnVtOwotfTsKLQotY29uc3QgY2hhciBrZXl3b3Jkc1tdID0gS0VZV09SRFM7Ci0KLXN0YXRp
YyBzdHJ1Y3QgZmlsZSAqZmlsZSwgKmZpcnN0ZmlsZTsKLXN0YXRpYyBzdHJ1Y3QgdG9rIHRvazsK
LQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqCi0gKiByZWFkaW5wdXQgOiByZWFkIGFsbCBpbnB1dCBmaWxlcyBp
bnRvIG1lbW9yeQotICoKLSAqIEVudGVyOiAgIGFyZ3YgPSAwLXRlcm1pbmF0ZWQgYXJyYXkgb2Yg
ZmlsZW5hbWVzCi0gKi8KLXZvaWQKLXJlYWRpbnB1dChjb25zdCBjaGFyICpjb25zdCAqYXJndikK
LXsKLSAgICBzdHJ1Y3QgZmlsZSAqKnBmaWxlID0gJmZpbGU7Ci0gICAgZm9yICg7OykgewotICAg
ICAgICBzdHJ1Y3QgZmlsZSAqZmlsZTsKLSAgICAgICAgY29uc3QgY2hhciAqZmlsZW5hbWUgPSAq
YXJndisrOwotICAgICAgICBjaGFyICpidWYgPSAwOwotICAgICAgICBpbnQgbGVuID0gMCwgdGhp
c2xlbiwgaXNzdGRpbjsKLSAgICAgICAgRklMRSAqaGFuZGxlOwotICAgICAgICBpZiAoIWZpbGVu
YW1lKQotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIC8qIFJlYWQgdGhlIGZpbGUuICovCi0g
ICAgICAgIGlzc3RkaW4gPSAhc3RyY21wKGZpbGVuYW1lLCAiLSIpOwotICAgICAgICBpZiAoaXNz
dGRpbikgewotICAgICAgICAgICAgaGFuZGxlID0gc3RkaW47Ci0gICAgICAgICAgICBmaWxlbmFt
ZSA9ICI8c3RkaW4+IjsKLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIGhhbmRsZSA9IGZv
cGVuKGZpbGVuYW1lLCAicmIiKTsKLSAgICAgICAgICAgIGlmICghaGFuZGxlKQotICAgICAgICAg
ICAgICAgIGVycm9yZXhpdCgiJXM6ICVzIiwgZmlsZW5hbWUsIHN0cmVycm9yKGVycm5vKSk7Ci0g
ICAgICAgIH0KLSAgICAgICAgZm9yICg7OykgewotICAgICAgICAgICAgdGhpc2xlbiA9IGxlbiA/
IGxlbiAqIDIgOiA0MDk2OwotICAgICAgICAgICAgYnVmID0gbWVtcmVhbGxvYyhidWYsIGxlbiAr
IHRoaXNsZW4gKyAxKTsKLSAgICAgICAgICAgIHRoaXNsZW4gPSBmcmVhZChidWYgKyBsZW4sIDEs
IHRoaXNsZW4sIGhhbmRsZSk7Ci0gICAgICAgICAgICBpZiAoIXRoaXNsZW4pCi0gICAgICAgICAg
ICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBsZW4gKz0gdGhpc2xlbjsKLSAgICAgICAgfQotICAg
ICAgICBpZiAoZmVycm9yKGhhbmRsZSkpCi0gICAgICAgICAgICBlcnJvcmV4aXQoIiVzOiBJL08g
ZXJyb3IiLCBmaWxlbmFtZSk7Ci0gICAgICAgIGlmICghaXNzdGRpbikKLSAgICAgICAgICAgIGZj
bG9zZShoYW5kbGUpOwotICAgICAgICBidWZbbGVuXSA9IDA7Ci0gICAgICAgIGJ1ZiA9IG1lbXJl
YWxsb2MoYnVmLCBsZW4gKyAxKTsKLSAgICAgICAgLyogQ3JlYXRlIHRoZSBmaWxlIHN0cnVjdCBm
b3IgaXQuICovCi0gICAgICAgIGZpbGUgPSBtZW1hbGxvYyhzaXplb2Yoc3RydWN0IGZpbGUpKTsK
LSAgICAgICAgKnBmaWxlID0gZmlsZTsKLSAgICAgICAgcGZpbGUgPSAmZmlsZS0+bmV4dDsKLSAg
ICAgICAgZmlsZS0+ZmlsZW5hbWUgPSBmaWxlbmFtZTsKLSAgICAgICAgZmlsZS0+cG9zID0gZmls
ZS0+YnVmID0gYnVmOwotICAgICAgICBmaWxlLT5lbmQgPSBidWYgKyBsZW47Ci0gICAgICAgIGZp
bGUtPmxpbmVudW0gPSAxOwotICAgIH0KLSAgICAqcGZpbGUgPSAwOwotICAgIGZpcnN0ZmlsZSA9
IGZpbGU7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogbGV4ZXJyb3JleGl0IDogZXJyb3IgYW5k
IGV4aXQgd2l0aCBsaW5lIG51bWJlcgotICovCi1zdGF0aWMgdm9pZAotbGV4ZXJyb3JleGl0KGNv
bnN0IGNoYXIgKmZvcm1hdCwgLi4uKQotewotICAgIHZhX2xpc3QgYXA7Ci0gICAgdmFfc3RhcnQo
YXAsIGZvcm1hdCk7Ci0gICAgdmxvY2Vycm9yZXhpdChmaWxlLT5maWxlbmFtZSwgZmlsZS0+bGlu
ZW51bSwgZm9ybWF0LCBhcCk7Ci0gICAgdmFfZW5kKGFwKTsKLX0KLQotLyoqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
Ci0gKiBsZXhibG9ja2NvbW1lbnQgOiBsZXggYSBibG9jayBjb21tZW50Ci0gKgotICogRW50ZXI6
ICAgc3RhcnQgPSBzdGFydCBvZiBjb21tZW50Ci0gKgotICogUmV0dXJuOiAgdG9rIHN0cnVjdCwg
bGlmZXRpbWUgdW50aWwgbmV4dCBjYWxsIHRvIGxleAotICovCi1zdGF0aWMgc3RydWN0IHRvayAq
Ci1sZXhibG9ja2NvbW1lbnQoY29uc3QgY2hhciAqc3RhcnQpCi17Ci0gICAgY29uc3QgY2hhciAq
cCA9IHN0YXJ0ICsgMTsKLSAgICB0b2suZmlsZW5hbWUgPSBmaWxlLT5maWxlbmFtZTsKLSAgICB0
b2subGluZW51bSA9IGZpbGUtPmxpbmVudW07Ci0gICAgZm9yICg7OykgewotICAgICAgICBpbnQg
Y2ggPSAqKytwOwotICAgICAgICBpZiAoIWNoKQotICAgICAgICAgICAgbGV4ZXJyb3JleGl0KCJ1
bnRlcm1pbmF0ZWQgYmxvY2sgY29tbWVudCIpOwotICAgICAgICBpZiAoY2ggIT0gJyonKSB7Ci0g
ICAgICAgICAgICBpZiAoY2ggPT0gJ1xuJykKLSAgICAgICAgICAgICAgICBmaWxlLT5saW5lbnVt
Kys7Ci0gICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgfQotICAgICAgICBjaCA9IHBbMV07
Ci0gICAgICAgIGlmICghY2gpCi0gICAgICAgICAgICBsZXhlcnJvcmV4aXQoInVudGVybWluYXRl
ZCBibG9jayBjb21tZW50Iik7Ci0gICAgICAgIGlmIChjaCA9PSAnLycpCi0gICAgICAgICAgICBi
cmVhazsKLSAgICB9Ci0gICAgcCArPSAyOwotICAgIGZpbGUtPnBvcyA9IHA7Ci0gICAgdG9rLnR5
cGUgPSBUT0tfQkxPQ0tDT01NRU5UOwotICAgIHRvay5zdGFydCA9IHN0YXJ0ICsgMjsKLSAgICB0
b2subGVuID0gcCAtIHN0YXJ0IC0gNDsKLSAgICByZXR1cm4gJnRvazsKLX0KLQotLyoqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqCi0gKiBsZXhpbmxpbmVjb21tZW50IDogbGV4IGFuIGlubGluZSBjb21tZW50Ci0gKgot
ICogRW50ZXI6ICAgc3RhcnQgPSBzdGFydCBvZiBjb21tZW50LCBzdGFydHMgd2l0aCAiLy8iCi0g
KgotICogUmV0dXJuOiAgdG9rIHN0cnVjdCwgbGlmZXRpbWUgdW50aWwgbmV4dCBjYWxsIHRvIGxl
eAotICovCi1zdGF0aWMgc3RydWN0IHRvayAqCi1sZXhpbmxpbmVjb21tZW50KGNvbnN0IGNoYXIg
KnN0YXJ0KQotewotICAgIGNvbnN0IGNoYXIgKnAgPSBzdGFydCArIDI7Ci0gICAgcCA9IHN0YXJ0
ICsgMTsKLSAgICBmb3IgKDs7KSB7Ci0gICAgICAgIGludCBjaCA9ICorK3A7Ci0gICAgICAgIGlm
ICghY2ggfHwgY2ggPT0gJ1xuJykKLSAgICAgICAgICAgIGJyZWFrOwotICAgIH0KLSAgICBwKys7
Ci0gICAgZmlsZS0+cG9zID0gcDsKLSAgICB0b2sudHlwZSA9IFRPS19JTkxJTkVDT01NRU5UOwot
ICAgIHRvay5zdGFydCA9IHN0YXJ0ICsgMjsKLSAgICB0b2subGVuID0gcCAtIHN0YXJ0IC0gMjsK
LSAgICB0b2suZmlsZW5hbWUgPSBmaWxlLT5maWxlbmFtZTsKLSAgICB0b2subGluZW51bSA9IGZp
bGUtPmxpbmVudW0rKzsKLSAgICByZXR1cm4gJnRvazsKLX0KLQotLyoqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0g
KiBsZXhudW1iZXIgOiBsZXggYSBudW1iZXIgKG9yIGp1c3QgYSAnLScgc3ltYm9sKQotICoKLSAq
IEVudGVyOiAgIHN0YXJ0ID0gc3RhcnQgb2YgdG9rZW4KLSAqCi0gKiBSZXR1cm46ICB0b2sgc3Ry
dWN0LCBsaWZldGltZSB1bnRpbCBuZXh0IGNhbGwgdG8gbGV4Ci0gKgotICogVGhlIElETCBncmFt
bWFyIHNlZW1zIHRvIHNheSB0aGF0IGEgZmxvYXQgY2FuJ3Qgc3RhcnQgd2l0aCBhCi0gKiBkZWNp
bWFsIHBvaW50LCBzbyB0aGF0J3Mgd2hhdCB3ZSBoYXZlIGltcGxlbWVudGVkIGhlcmUuCi0gKi8K
LXN0YXRpYyBzdHJ1Y3QgdG9rICoKLWxleG51bWJlcihjb25zdCBjaGFyICpzdGFydCkKLXsKLSAg
ICBmb3IgKDs7KSB7Ci0gICAgICAgIGNvbnN0IGNoYXIgKnAgPSBzdGFydDsKLSAgICAgICAgY29u
c3QgY2hhciAqb2N0YWxlbmQgPSBzdGFydDsKLSAgICAgICAgaW50IGNoID0gKnA7Ci0gICAgICAg
IGVudW0geyBTVEFURV9TVEFSVCwgU1RBVEVfSU5ULCBTVEFURV9IRVgsIFNUQVRFX09DVEFMLCBT
VEFURV9CQURPQ1RBTCwKLSAgICAgICAgICAgICAgICBTVEFURV9EUCwgU1RBVEVfRVhQU1RBUlQs
IFNUQVRFX0VYUFNJR04sIFNUQVRFX0VYUAotICAgICAgICAgICAgICAgIH0gc3RhdGUgPSBTVEFU
RV9TVEFSVDsKLSAgICAgICAgaWYgKGNoID09ICctJykgewotICAgICAgICAgICAgY2ggPSAqKytw
OwotCSAgICBpZiAoY2ggPT0gJ0knKSB7IC8vIHN0YXJ0cyBvZiBJbmZpbml0eQotCSAgICAgIGNo
YXIgKiBpbmZpbml0eSA9ICItSW5maW5pdHkiOwotICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQg
bGVuID0gc3RybGVuKGluZmluaXR5KTsKLQkgICAgICBpZiAoIW1lbWNtcChzdGFydCwgaW5maW5p
dHksIGxlbikpIHsKLSAgICAgICAgICAgICAgICB0b2sudHlwZSA9IFRPS19taW51c2luZmluaXR5
OwotCQl0b2suc3RhcnQgPSBzdGFydDsKLQkJdG9rLmxlbiA9IGxlbjsKLQkJdG9rLmZpbGVuYW1l
ID0gZmlsZS0+ZmlsZW5hbWU7Ci0JCXRvay5saW5lbnVtID0gZmlsZS0+bGluZW51bTsKLQkJZmls
ZS0+cG9zID0gc3RhcnQgKyBsZW47Ci0JCXJldHVybiAmdG9rOwotCSAgICAgIH0KLQkgICAgfQot
CX0KLSAgICAgICAgaWYgKGNoID09ICcwJykgewotICAgICAgICAgICAgc3RhdGUgPSBTVEFURV9P
Q1RBTDsKLSAgICAgICAgICAgIGNoID0gKisrcDsKLSAgICAgICAgICAgIGlmICgoY2ggJiB+MHgy
MCkgPT0gJ1gnKSB7Ci0gICAgICAgICAgICAgICAgc3RhdGUgPSBTVEFURV9IRVg7Ci0gICAgICAg
ICAgICAgICAgY2ggPSAqKytwOwotICAgICAgICAgICAgfQotICAgICAgICB9Ci0KLSAgICAgICAg
Zm9yICg7OykgewotICAgICAgICAgICAgaWYgKCh1bnNpZ25lZCkoY2ggLSAnMCcpID49IDgpIHsK
LSAgICAgICAgICAgICAgICBpZiAoKGNoICYgLTIpID09ICc4JykgewotICAgICAgICAgICAgICAg
ICAgICBpZiAoc3RhdGUgPT0gU1RBVEVfT0NUQUwpIHsKLSAgICAgICAgICAgICAgICAgICAgICAg
IHN0YXRlID0gU1RBVEVfQkFET0NUQUw7Ci0gICAgICAgICAgICAgICAgICAgICAgICBvY3RhbGVu
ZCA9IHA7Ci0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICB9IGVsc2UgaWYg
KCh1bnNpZ25lZCkoKGNoICYgfjB4MjApIC0gJ0EnKSA8PSAnRicgLSAnQScpIHsKLSAgICAgICAg
ICAgICAgICAgICAgaWYgKHN0YXRlICE9IFNUQVRFX0hFWCkgewotICAgICAgICAgICAgICAgICAg
ICAgICAgaWYgKChjaCAmIH4weDIwKSAhPSAnRScpCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoc3RhdGUgPT0gU1RBVEVfSEVY
IHx8IHN0YXRlID49IFNUQVRFX0VYUFNUQVJUIHx8IHN0YXRlID09IFNUQVRFX1NUQVJUKQotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgICAgICAgICAgICAg
c3RhdGUgPSBTVEFURV9FWFBTVEFSVDsKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAg
ICAgICAgIH0gZWxzZSBpZiAoY2ggPT0gJy4nKSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmIChz
dGF0ZSA9PSBTVEFURV9IRVggfHwgc3RhdGUgPj0gU1RBVEVfRFApCi0gICAgICAgICAgICAgICAg
ICAgICAgICBicmVhazsKLSAgICAgICAgICAgICAgICAgICAgc3RhdGUgPSBTVEFURV9EUDsKLSAg
ICAgICAgICAgICAgICB9IGVsc2UgaWYgKGNoID09ICctJykgewotICAgICAgICAgICAgICAgICAg
ICBpZiAoc3RhdGUgIT0gU1RBVEVfRVhQU1RBUlQpCi0gICAgICAgICAgICAgICAgICAgICAgICBi
cmVhazsKLSAgICAgICAgICAgICAgICAgICAgc3RhdGUgPSBTVEFURV9FWFBTSUdOOwotICAgICAg
ICAgICAgICAgIH0gZWxzZQotICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAg
IH0KLSAgICAgICAgICAgIGNoID0gKisrcDsKLSAgICAgICAgICAgIGlmIChzdGF0ZSA9PSBTVEFU
RV9TVEFSVCkKLSAgICAgICAgICAgICAgICBzdGF0ZSA9IFNUQVRFX0lOVDsKLSAgICAgICAgICAg
IGVsc2UgaWYgKHN0YXRlID09IFNUQVRFX0VYUFNUQVJUIHx8IHN0YXRlID09IFNUQVRFX0VYUFNJ
R04pCi0gICAgICAgICAgICAgICAgc3RhdGUgPSBTVEFURV9FWFA7Ci0gICAgICAgIH0KLSAgICAg
ICAgc3dpdGNoIChzdGF0ZSkgewotICAgICAgICBjYXNlIFNUQVRFX1NUQVJUOgotICAgICAgICAg
ICAgLyogTXVzdCBoYXZlIGp1c3QgYmVlbiBhIC0gY2hhcmFjdGVyIGJ5IGl0c2VsZi4gKi8KLSAg
ICAgICAgICAgIHRvay50eXBlID0gJy0nOwotICAgICAgICAgICAgcCA9IHN0YXJ0ICsgMTsKLSAg
ICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlIFNUQVRFX0JBRE9DVEFMOgotICAgICAgICAg
ICAgcCA9IG9jdGFsZW5kOwotICAgICAgICAgICAgLyogZmFsbCB0aHJvdWdoLi4uICovCi0gICAg
ICAgIGNhc2UgU1RBVEVfSU5UOgotICAgICAgICBjYXNlIFNUQVRFX09DVEFMOgotICAgICAgICAg
ICAgdG9rLnR5cGUgPSBUT0tfSU5URUdFUjsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBj
YXNlIFNUQVRFX0hFWDoKLSAgICAgICAgICAgIGlmIChwIC0gc3RhcnQgPT0gMiB8fCAocCAtIHN0
YXJ0ID09IDMgJiYgKnN0YXJ0ID09ICctJykpCi0gICAgICAgICAgICAgICAgcCA9IHN0YXJ0ICsg
MTsKLSAgICAgICAgICAgIHRvay50eXBlID0gVE9LX0lOVEVHRVI7Ci0gICAgICAgICAgICBicmVh
azsKLSAgICAgICAgY2FzZSBTVEFURV9FWFA6Ci0gICAgICAgIGNhc2UgU1RBVEVfRFA6Ci0gICAg
ICAgICAgICB0b2sudHlwZSA9IFRPS19GTE9BVDsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAg
ICBjYXNlIFNUQVRFX0VYUFNJR046Ci0gICAgICAgICAgICBwLS07Ci0gICAgICAgICAgICAvKiBm
YWxsIHRocm91Z2guLi4gKi8KLSAgICAgICAgY2FzZSBTVEFURV9FWFBTVEFSVDoKLSAgICAgICAg
ICAgIHAtLTsKLSAgICAgICAgICAgIHRvay50eXBlID0gVE9LX0ZMT0FUOwotICAgICAgICAgICAg
YnJlYWs7Ci0gICAgICAgIH0KLSAgICAgICAgdG9rLnN0YXJ0ID0gc3RhcnQ7Ci0gICAgICAgIHRv
ay5sZW4gPSBwIC0gc3RhcnQ7Ci0gICAgICAgIHRvay5maWxlbmFtZSA9IGZpbGUtPmZpbGVuYW1l
OwotICAgICAgICB0b2subGluZW51bSA9IGZpbGUtPmxpbmVudW07Ci0gICAgICAgIGZpbGUtPnBv
cyA9IHA7Ci0gICAgICAgIHJldHVybiAmdG9rOwotICAgIH0KLX0KLQotLyoqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
Ci0gKiBsZXhzdHJpbmcgOiBsZXggYSBxdW90ZWQgc3RyaW5nCi0gKgotICogRW50ZXI6ICAgc3Rh
cnQgPSBzdGFydCBvZiB0b2tlbgotICoKLSAqIFJldHVybjogIHRvayBzdHJ1Y3QsIGxpZmV0aW1l
IHVudGlsIG5leHQgY2FsbCB0byBsZXgKLSAqLwotc3RhdGljIHN0cnVjdCB0b2sgKgotbGV4c3Ry
aW5nKGNvbnN0IGNoYXIgKnN0YXJ0KQotewotICAgIGZvciAoOzspIHsKLSAgICAgICAgY29uc3Qg
Y2hhciAqcCA9IHN0YXJ0ICsgMTsKLSAgICAgICAgaW50IGNoID0gKnA7Ci0gICAgICAgIGZvciAo
OzspIHsKLSAgICAgICAgICAgIGlmICghY2ggfHwgY2ggPT0gJ1xuJykKLSAgICAgICAgICAgICAg
ICBsZXhlcnJvcmV4aXQoInVudGVybWluYXRlZCBzdHJpbmciKTsKLSAgICAgICAgICAgIGlmIChj
aCA9PSAnIicpIHsKLSAgICAgICAgICAgICAgICB0b2sudHlwZSA9IFRPS19TVFJJTkc7Ci0gICAg
ICAgICAgICAgICAgdG9rLnN0YXJ0ID0gc3RhcnQgKyAxOwotICAgICAgICAgICAgICAgIHRvay5s
ZW4gPSBwIC0gc3RhcnQgLSAxOwotICAgICAgICAgICAgICAgIHRvay5maWxlbmFtZSA9IGZpbGUt
PmZpbGVuYW1lOwotICAgICAgICAgICAgICAgIHRvay5saW5lbnVtID0gZmlsZS0+bGluZW51bTsK
LSAgICAgICAgICAgICAgICBmaWxlLT5wb3MgPSBwICsgMTsKLSAgICAgICAgICAgICAgICByZXR1
cm4gJnRvazsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIC8qIE5vdGUgdGhlIElETCBzcGVj
IGRvZXNuJ3Qgc2VlbSB0byBhbGxvdyBmb3IgZXNjYXBlIHNlcXVlbmNlcwotICAgICAgICAgICAg
ICogaW4gc3RyaW5ncy4gKi8KLSAgICAgICAgICAgIGNoID0gKisrcDsKLSAgICAgICAgfQotICAg
IH0KLX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBsZXhpZGVudGlmaWVyIDogbGV4IGFuIGlkZW50
aWZpZXIKLSAqCi0gKiBFbnRlcjogICBzdGFydCA9IHN0YXJ0IG9mIHRva2VuCi0gKgotICogUmV0
dXJuOiAgdG9rIHN0cnVjdCwgbGlmZXRpbWUgdW50aWwgbmV4dCBjYWxsIHRvIGxleAotICovCi1z
dGF0aWMgc3RydWN0IHRvayAqCi1sZXhpZGVudGlmaWVyKGNvbnN0IGNoYXIgKnN0YXJ0KQotewot
ICAgIGNvbnN0IGNoYXIgKnAgPSBzdGFydCArIDE7Ci0gICAgZm9yICg7OykgewotICAgICAgICBp
bnQgY2ggPSAqcDsKLSAgICAgICAgaWYgKGNoICE9ICdfJyAmJiAodW5zaWduZWQpKGNoIC0gJzAn
KSA+PSAxMAotICAgICAgICAgICAgICAgICYmICh1bnNpZ25lZCkoKGNoICYgfjB4MjApIC0gJ0En
KSA+ICdaJyAtICdBJykKLSAgICAgICAgewotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0K
LSAgICAgICAgcCsrOwotICAgIH0KLSAgICB0b2sudHlwZSA9IFRPS19JREVOVElGSUVSOwotICAg
IHRvay5zdGFydCA9IHN0YXJ0OwotICAgIHRvay5sZW4gPSBwIC0gc3RhcnQ7Ci0gICAgdG9rLmZp
bGVuYW1lID0gZmlsZS0+ZmlsZW5hbWU7Ci0gICAgdG9rLmxpbmVudW0gPSBmaWxlLT5saW5lbnVt
OwotICAgIGZpbGUtPnBvcyA9IHA7Ci0gICAgLyogU2VlIGlmIHRoaXMgaXMgYSBrZXl3b3JkLiAo
VGhpcyBzZWFyY2ggaXMgYSBiaXQgbi1zcXVhcmVkLikgKi8KLSAgICB7Ci0gICAgICAgIHVuc2ln
bmVkIGludCB0eXBlID0gVE9LX0RPTVN0cmluZzsKLSAgICAgICAgcCA9IGtleXdvcmRzOwotICAg
ICAgICBmb3IgKDs7KSB7Ci0gICAgICAgICAgICB1bnNpZ25lZCBpbnQgbGVuID0gc3RybGVuKHAp
OwotICAgICAgICAgICAgaWYgKCFsZW4pCi0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAg
ICAgICBpZiAobGVuID09IHRvay5sZW4gJiYgIW1lbWNtcChzdGFydCwgcCwgbGVuKSkgewotICAg
ICAgICAgICAgICAgIHRvay50eXBlID0gdHlwZTsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAg
ICAgICAgICAgIH0KLSAgICAgICAgICAgIHAgKz0gbGVuICsgMTsKLSAgICAgICAgICAgIHR5cGUr
KzsKLSAgICAgICAgfQotICAgIH0KLSAgICByZXR1cm4gJnRvazsKLX0KLQotLyoqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqCi0gKiBsZXggOiByZXRyaWV2ZSBuZXh0IHRva2VuCi0gKgotICogUmV0dXJuOiAgdG9rIHN0
cnVjdCwgbGlmZXRpbWUgdW50aWwgbmV4dCBjYWxsIHRvIGxleAotICovCi1zdHJ1Y3QgdG9rICoK
LWxleCh2b2lkKQotewotICAgIGNvbnN0IGNoYXIgKnA7Ci0gICAgaW50IGNoOwotICAgIGZvciAo
OzspIHsKLSAgICAgICAgaWYgKCFmaWxlKSB7Ci0gICAgICAgICAgICB0b2sudHlwZSA9IFRPS19F
T0Y7Ci0gICAgICAgICAgICB0b2suc3RhcnQgPSAiZW5kIG9mIGZpbGUiOwotICAgICAgICAgICAg
dG9rLmxlbiA9IHN0cmxlbih0b2suc3RhcnQpOwotICAgICAgICAgICAgcmV0dXJuICZ0b2s7Ci0g
ICAgICAgIH0KLSAgICAgICAgdG9rLnByZXN0YXJ0ID0gcCA9IGZpbGUtPnBvczsKLSAgICAgICAg
LyogRmx1c2ggd2hpdGVzcGFjZS4gKi8KLSAgICAgICAgZm9yICg7OykgewotICAgICAgICAgICAg
Y2ggPSAqcCsrOwotICAgICAgICAgICAgc3dpdGNoIChjaCkgewotICAgICAgICAgICAgY2FzZSAn
ICc6Ci0gICAgICAgICAgICBjYXNlICdcdCc6Ci0gICAgICAgICAgICBjYXNlICdccic6Ci0gICAg
ICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAgICBjYXNlICdcbic6Ci0gICAgICAgICAg
ICAgICAgKytmaWxlLT5saW5lbnVtOwotICAgICAgICAgICAgICAgIHRvay5wcmVzdGFydCA9IHA7
Ci0gICAgICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBi
cmVhazsKLSAgICAgICAgfQotICAgICAgICBwLS07Ci0gICAgICAgIGlmIChjaCkKLSAgICAgICAg
ICAgIGJyZWFrOwotICAgICAgICBpZiAocCAhPSBmaWxlLT5lbmQpCi0gICAgICAgICAgICBsZXhl
cnJvcmV4aXQoIlxcMCBieXRlIG5vdCBhbGxvd2VkIik7Ci0gICAgICAgIGZpbGUgPSBmaWxlLT5u
ZXh0OwotICAgIH0KLSAgICAvKiBTZWUgaWYgd2UgaGF2ZSBhIGNvbW1lbnQuICovCi0gICAgdG9r
LnN0YXJ0ID0gcDsKLSAgICBpZiAoY2ggPT0gJy8nKSB7Ci0gICAgICAgIHN3aXRjaCAoKisrcCkg
ewotICAgICAgICBjYXNlICcqJzoKLSAgICAgICAgICAgIHJldHVybiBsZXhibG9ja2NvbW1lbnQo
cCAtIDEpOwotICAgICAgICBjYXNlICcvJzoKLSAgICAgICAgICAgIHJldHVybiBsZXhpbmxpbmVj
b21tZW50KHAgLSAxKTsKLSAgICAgICAgfQotICAgICAgICB0b2sudHlwZSA9ICcvJzsKLSAgICB9
IGVsc2UgewotICAgICAgICAvKiBIYW5kbGUgdGhpbmdzIHRoYXQgc3RhcnQgd2l0aCAnLScsIHdo
aWNoIGlzIGVpdGhlciAnLScgYXMgYSB0b2tlbiwKLSAgICAgICAgICogb3IgYSBudW1iZXIuIEhh
bmRsZSBudW1iZXJzLiAqLwotICAgICAgICBpZiAoY2ggPT0gJy0nIHx8ICh1bnNpZ25lZCkoY2gg
LSAnMCcpIDwgMTApCi0gICAgICAgICAgICByZXR1cm4gbGV4bnVtYmVyKHApOwotICAgICAgICAv
KiBIYW5kbGUgc3RyaW5nLiAqLwotICAgICAgICBpZiAoY2ggPT0gJyInKQotICAgICAgICAgICAg
cmV0dXJuIGxleHN0cmluZyhwKTsKLSAgICAgICAgLyogSGFuZGxlIGlkZW50aWZpZXIuICovCi0g
ICAgICAgIGlmIChjaCA9PSAnXycgfHwgKHVuc2lnbmVkKSgoY2ggJiB+MHgyMCkgLSAnQScpIDw9
ICdaJyAtICdBJykKLSAgICAgICAgICAgIHJldHVybiBsZXhpZGVudGlmaWVyKHApOwotICAgICAg
ICAvKiBUaGUgb25seSBtdWx0aS1zeW1ib2wgdG9rZW4gYXJlIC4uLiBhbmQgW10gKi8KLSAgICAg
ICAgaWYgKGNoID09ICcuJykgewotICAgICAgICAgICAgdG9rLnR5cGUgPSAnLic7Ci0gICAgICAg
ICAgICBpZiAoKisrcCA9PSAnLicgJiYgcFsxXSA9PSAnLicpIHsKLSAgICAgICAgICAgICAgICB0
b2sudHlwZSA9IFRPS19FTExJUFNJUzsKLSAgICAgICAgICAgICAgICBwICs9IDI7Ci0gICAgICAg
ICAgICB9Ci0gICAgICAgICAgICBnb3RvIGRvbmU7Ci0gICAgICAgIH0KLSAgICAgICAgaWYgKGNo
ID09ICdbJykgewotICAgICAgICAgICAgdG9rLnR5cGUgPSAnWyc7Ci0gICAgICAgICAgICBpZiAo
KisrcCA9PSAnXScpIHsKLSAgICAgICAgICAgICAgICB0b2sudHlwZSA9IFRPS19ET1VCTEVCUkFD
S0VUOwotICAgICAgICAgICAgICAgIHArKzsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGdv
dG8gZG9uZTsKLSAgICAgICAgfQotICAgIH0KLSAgICAvKiBTaW5nbGUgc3ltYm9sIHRva2VuLiAq
LwotICAgIHRvay50eXBlID0gY2g7Ci0gICAgcCsrOwotZG9uZToKLSAgICB0b2suZmlsZW5hbWUg
PSBmaWxlLT5maWxlbmFtZTsKLSAgICB0b2subGluZW51bSA9IGZpbGUtPmxpbmVudW07Ci0gICAg
dG9rLmxlbiA9IHAgLSB0b2suc3RhcnQ7Ci0gICAgZmlsZS0+cG9zID0gcDsKLSAgICByZXR1cm4g
JnRvazsKLX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBvdXRwdXR3aWRsIDogb3V0cHV0IGxpdGVy
YWwgV2ViIElETCBpbnB1dCB0aGF0IG5vZGUgd2FzIHBhcnNlZCBmcm9tCi0gKgotICogRW50ZXI6
ICAgbm9kZSA9IHBhcnNlIG5vZGUgdG8gb3V0cHV0IGxpdGVyYWwgV2ViIElETCBmb3IKLSAqLwot
dm9pZAotb3V0cHV0d2lkbChzdHJ1Y3Qgbm9kZSAqbm9kZSkKLXsKLSAgICBjb25zdCBjaGFyICpz
dGFydCA9IG5vZGUtPndzc3RhcnQsICplbmQgPSBub2RlLT5lbmQ7Ci0gICAgLyogRmluZCB0aGUg
ZmlsZSB0aGF0IHN0YXJ0IGlzIGluLiAqLwotICAgIHN0cnVjdCBmaWxlICpmaWxlID0gZmlyc3Rm
aWxlOwotICAgIHdoaWxlIChzdGFydCA8IGZpbGUtPmJ1ZiB8fCBzdGFydCA+PSBmaWxlLT5lbmQp
IHsKLSAgICAgICAgZmlsZSA9IGZpbGUtPm5leHQ7Ci0gICAgICAgIGFzc2VydChmaWxlKTsKLSAg
ICB9Ci0gICAgLyogRmluZCB0aGUgKGN1cnJlbnQgb3IpIG5leHQgbm9kZSB0aGF0IGhhcyBub2Rl
LT5zdGFydCBzZXQuIEFueSBzdWNoCi0gICAgICogbm9kZSBuZWVkcyB0byBiZSBwdXQgaW5zaWRl
IGEgPHJlZj4gZWxlbWVudC4gKi8KLSAgICB3aGlsZSAobm9kZSAmJiAhbm9kZS0+c3RhcnQpCi0g
ICAgICAgIG5vZGUgPSBub2Rld2Fsayhub2RlKTsKLSAgICAvKiBPdXRwdXQgdW50aWwgd2UgZ2V0
IHRvIHRoZSBlbmQuIFRoaXMgaGFzIHRvIGNvcGUgd2l0aCB0aGUgdGV4dAotICAgICAqIHNwYW5u
aW5nIG11bHRpcGxlIGlucHV0IGZpbGVzLiAqLwotICAgIGZvciAoOzspIHsKLSAgICAgICAgaW50
IGZpbmFsID0gZW5kID49IGZpbGUtPmJ1ZiAmJiBlbmQgPD0gZmlsZS0+ZW5kOwotICAgICAgICBj
b25zdCBjaGFyICp0aGlzZW5kID0gZmluYWwgPyBlbmQgOiBmaWxlLT5lbmQ7Ci0gICAgICAgIC8q
IE91dHB1dCB0aGUgV2ViIElETCwgb21pdHRpbmcgY29tbWVudHMuICovCi0gICAgICAgIHdoaWxl
IChzdGFydCAhPSBlbmQpIHsKLSAgICAgICAgICAgIGNvbnN0IGNoYXIgKnAsICpwMiwgKmNvbW1l
bnQsICplbmRjb21tZW50OwotICAgICAgICAgICAgaW50IGNoOwotICAgICAgICAgICAgaWYgKG5v
ZGUgJiYgc3RhcnQgPT0gbm9kZS0+c3RhcnQpIHsKLSAgICAgICAgICAgICAgICAvKiBXZSBhcmUg
b24gdGhlIHN0YXJ0IG9mIHRoZSBwcmVzZW50IG5vZGUgaW4gdGhlIHRyZWUKLSAgICAgICAgICAg
ICAgICAgKiB3YWxrLiBQdXQgaXQgaW4gYSA8cmVmPi4gKi8KLSAgICAgICAgICAgICAgICBmcHV0
cygiPHJlZj4iLCBzdGRvdXQpOwotICAgICAgICAgICAgICAgIHByaW50dGV4dChub2RlLT5zdGFy
dCwgbm9kZS0+ZW5kIC0gbm9kZS0+c3RhcnQsIDEpOwotICAgICAgICAgICAgICAgIGZwdXRzKCI8
L3JlZj4iLCBzdGRvdXQpOwotICAgICAgICAgICAgICAgIHN0YXJ0ID0gbm9kZS0+ZW5kOwotICAg
ICAgICAgICAgICAgIC8qIFNraXAgdG8gdGhlIG5leHQgbm9kZSB3aXRoIG5vZGUtPnN0YXJ0IHNl
dCBpZiBhbnkuICovCi0gICAgICAgICAgICAgICAgZG8KLSAgICAgICAgICAgICAgICAgICAgbm9k
ZSA9IG5vZGV3YWxrKG5vZGUpOwotICAgICAgICAgICAgICAgIHdoaWxlIChub2RlICYmICFub2Rl
LT5zdGFydCk7Ci0gICAgICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAgICB9Ci0gICAg
ICAgICAgICBwMiA9IHRoaXNlbmQ7Ci0gICAgICAgICAgICBpZiAobm9kZSAmJiBub2RlLT5zdGFy
dCA+PSBmaWxlLT5idWYgJiYgbm9kZS0+c3RhcnQgPCBwMikKLSAgICAgICAgICAgICAgICBwMiA9
IG5vZGUtPnN0YXJ0OwotICAgICAgICAgICAgcCA9IG1lbWNocihzdGFydCwgJy8nLCBwMiAtIHN0
YXJ0KTsKLSAgICAgICAgICAgIGlmICghcCkgewotICAgICAgICAgICAgICAgIHByaW50dGV4dChz
dGFydCwgcDIgLSBzdGFydCwgMSk7Ci0gICAgICAgICAgICAgICAgaWYgKHAyICE9IHRoaXNlbmQp
IHsKLSAgICAgICAgICAgICAgICAgICAgc3RhcnQgPSBwMjsKLSAgICAgICAgICAgICAgICAgICAg
Y29udGludWU7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGJyZWFrOwotICAg
ICAgICAgICAgfQotICAgICAgICAgICAgLyogU2VlIGlmIHdlJ3JlIGF0IHRoZSBzdGFydCBvZiBh
IGNvbW1lbnQuIElmIHNvIGZpbmQgdGhlIGVuZC4gKi8KLSAgICAgICAgICAgIGNvbW1lbnQgPSAw
OwotICAgICAgICAgICAgaWYgKHAgKyAxICE9IHRoaXNlbmQpIHsKLSAgICAgICAgICAgICAgICBz
d2l0Y2ggKHBbMV0pIHsKLSAgICAgICAgICAgICAgICBjYXNlICcqJzoKLSAgICAgICAgICAgICAg
ICAgICAgLyogQmxvY2sgY29tbWVudC4gKi8KLSAgICAgICAgICAgICAgICAgICAgY29tbWVudCA9
IHA7Ci0gICAgICAgICAgICAgICAgICAgIHArKzsKLSAgICAgICAgICAgICAgICAgICAgZG8gCi0g
ICAgICAgICAgICAgICAgICAgICAgICBwID0gbWVtY2hyKHAgKyAxLCAnKicsIHRoaXNlbmQgLSBw
IC0gMSk7Ci0gICAgICAgICAgICAgICAgICAgIHdoaWxlIChwWzFdICE9ICcvJyk7Ci0gICAgICAg
ICAgICAgICAgICAgIGVuZGNvbW1lbnQgPSBwICsgMjsKLSAgICAgICAgICAgICAgICAgICAgYnJl
YWs7Ci0gICAgICAgICAgICAgICAgY2FzZSAnLyc6Ci0gICAgICAgICAgICAgICAgICAgIC8qIElu
bGluZSBjb21tZW50LiAqLwotICAgICAgICAgICAgICAgICAgICBjb21tZW50ID0gcDsKLSAgICAg
ICAgICAgICAgICAgICAgcCA9IG1lbWNocihwLCAnXG4nLCB0aGlzZW5kIC0gcCk7Ci0gICAgICAg
ICAgICAgICAgICAgIGlmICghcCkKLSAgICAgICAgICAgICAgICAgICAgICAgIHAgPSB0aGlzZW5k
OwotICAgICAgICAgICAgICAgICAgICBlbmRjb21tZW50ID0gcDsKLSAgICAgICAgICAgICAgICAg
ICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgfQotICAgICAgICAgICAg
aWYgKCFjb21tZW50KSB7Ci0gICAgICAgICAgICAgICAgLyogTm90IGF0IHN0YXJ0IG9mIGNvbW1l
bnQuICovCi0gICAgICAgICAgICAgICAgcCsrOwotICAgICAgICAgICAgICAgIHByaW50dGV4dChz
dGFydCwgcCAtIHN0YXJ0LCAxKTsKLSAgICAgICAgICAgICAgICBzdGFydCA9IHA7Ci0gICAgICAg
ICAgICAgICAgYXNzZXJ0KHN0YXJ0IDw9IGVuZCk7Ci0gICAgICAgICAgICAgICAgY29udGludWU7
Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICAvKiBJZiB0aGUgY29tbWVudCBoYXMgb25seSB3
aGl0ZXNwYWNlIGJlZm9yZSBpdCBvbiB0aGUgbGluZSwKLSAgICAgICAgICAgICAqIGVhdCB0aGF0
IHVwLiAqLwotICAgICAgICAgICAgcCA9IGNvbW1lbnQ7Ci0gICAgICAgICAgICB3aGlsZSAocCAh
PSBzdGFydCAmJiAoKGNoID0gcFstMV0pID09ICcgJyB8fCBjaCA9PSAnXHQnKSkKLSAgICAgICAg
ICAgICAgICBwLS07Ci0gICAgICAgICAgICBpZiAocCA9PSBzdGFydCB8fCBwWy0xXSA9PSAnXG4n
KSB7Ci0gICAgICAgICAgICAgICAgY29tbWVudCA9IHA7Ci0gICAgICAgICAgICAgICAgLyogSWYg
dGhlIGNvbW1lbnQgaGFzIG9ubHkgd2hpdGVzcGFjZSBhZnRlciBpdCB0byB0aGUgZW5kCi0gICAg
ICAgICAgICAgICAgICogb2YgdGhlIGxpbmUsIGVhdCB0aGF0IGFuZCB0aGUgbmV3bGluZSB1cC4g
VGhpcyBhbHdheXMKLSAgICAgICAgICAgICAgICAgKiBoYXBwZW5zIGZvciBhbiBpbmxpbmUgY29t
bWVudCBvbiBhIGxpbmUgYnkgaXRzZWxmLiAqLwotICAgICAgICAgICAgICAgIHAgPSBlbmRjb21t
ZW50OwotICAgICAgICAgICAgICAgIHdoaWxlIChwICE9IHRoaXNlbmQgJiYgKChjaCA9ICpwKSA9
PSAnICcgfHwgY2ggPT0gJ1x0JykpCi0gICAgICAgICAgICAgICAgICAgIHArKzsKLSAgICAgICAg
ICAgICAgICBpZiAocCAhPSB0aGlzZW5kICYmICpwID09ICdcbicpCi0gICAgICAgICAgICAgICAg
ICAgIHArKzsKLSAgICAgICAgICAgICAgICBlbmRjb21tZW50ID0gcDsKLSAgICAgICAgICAgIH0K
LSAgICAgICAgICAgIHByaW50dGV4dChzdGFydCwgY29tbWVudCAtIHN0YXJ0LCAxKTsKLSAgICAg
ICAgICAgIHN0YXJ0ID0gZW5kY29tbWVudDsKLSAgICAgICAgICAgIGlmIChzdGFydCA+IHRoaXNl
bmQpCi0gICAgICAgICAgICAgICAgc3RhcnQgPSB0aGlzZW5kOwotICAgICAgICB9Ci0gICAgICAg
IGlmIChmaW5hbCkKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBmaWxlID0gZmlsZS0+bmV4
dDsKLSAgICAgICAgYXNzZXJ0KGZpbGUpOwotICAgICAgICBzdGFydCA9IGZpbGUtPmJ1ZjsKLSAg
ICB9Ci19CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mvc3JjL2xleC5oIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3dpZGxwcm9jL3NyYy9sZXguaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTMw
Yjc3YjM2NWM2MmVlOWRiNTI2ODNiY2JmMzdjN2Y2YWZmNDFiYS4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mvc3JjL2xleC5o
CisrKyAvZGV2L251bGwKQEAgLTEsMTQxICswLDAgQEAKLQotLyoqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiAk
SWQkCi0gKiBDb3B5cmlnaHQgMjAwOSBBcGxpeCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KLSAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAg
KHRoZSAiTGljZW5zZSIpOwotICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4g
Y29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgotICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9m
IHRoZSBMaWNlbnNlIGF0Ci0gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJ
Q0VOU0UtMi4wCi0gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVk
IHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCi0gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5z
ZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAotICogV0lUSE9VVCBXQVJSQU5U
SUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQu
Ci0gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcg
cGVybWlzc2lvbnMgYW5kCi0gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KLSAqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKi8KLSNpZm5kZWYgbGV4X2gKLSNkZWZpbmUgbGV4X2gKLQotLy8gc3RhcnRpbmcg
ZnJvbSAiYXR0cmlidXRlIiBhcmUgdGhlIGxpc3Qgb2YgbmFtZXMgYWxsb3dlZCBhcyBhcmd1bWVu
dHMgaWRlbnRpZmllcgotI2RlZmluZSBLRVlXT1JEUyBcCi0gICAgIkRPTVN0cmluZ1wwIiBcCi0g
ICAgIkJ5dGVTdHJpbmdcMCIgXAotICAgICJEYXRlXDAiIFwKLSAgICAiUmVnRXhwXDAiIFwKLSAg
ICAiZmFsc2VcMCIgXAotICAgICJvYmplY3RcMCIgXAotICAgICJ0cnVlXDAiIFwKLSAgICAiYW55
XDAiIFwKLSAgICAiYm9vbGVhblwwIiBcCi0gICAgImJ5dGVcMCIgXAotICAgICJkb3VibGVcMCIg
XAotICAgICJmbG9hdFwwIiBcCi0gICAgIkluZmluaXR5XDAiIFwKLSAgICAiLUluZmluaXR5XDAi
IFwKLSAgICAiaXRlcmF0b3JcMCIgXAotICAgICJsb25nXDAiIFwKLSAgICAiTmFOXDAiIFwKLSAg
ICAibnVsbFwwIiBcCi0gICAgIm9jdGV0XDAiIFwKLSAgICAib3B0aW9uYWxcMCIgXAotICAgICJv
clwwIiBcCi0gICAgInJlYWRvbmx5XDAiIFwKLSAgICAic2VxdWVuY2VcMCIgXAotICAgICJzaG9y
dFwwIiBcCi0gICAgInVuc2lnbmVkXDAiIFwKLSAgICAidm9pZFwwIiBcCi0gICAgImF0dHJpYnV0
ZVwwIiBcCi0gICAgImNhbGxiYWNrXDAiIFwKLSAgICAiY29uc3RcMCIgXAotICAgICJjcmVhdG9y
XDAiIFwKLSAgICAiZGVsZXRlclwwIiBcCi0gICAgImRpY3Rpb25hcnlcMCIgXAotICAgICJlbnVt
XDAiIFwKLSAgICAiZXhjZXB0aW9uXDAiIFwKLSAgICAiZ2V0dGVyXDAiIFwKLSAgICAiaW1wbGVt
ZW50c1wwIiBcCi0gICAgImluaGVyaXRcMCIgXAotICAgICJpbnRlcmZhY2VcMCIgXAotICAgICJs
ZWdhY3ljYWxsZXJcMCIgXAotICAgICJwYXJ0aWFsXDAiIFwKLSAgICAic2VyaWFsaXplclwwIiBc
Ci0gICAgInNldHRlclwwIiBcCi0gICAgInN0YXRpY1wwIiBcCi0gICAgInN0cmluZ2lmaWVyXDAi
IFwKLSAgICAidHlwZWRlZlwwIiBcCi0gICAgInVucmVzdHJpY3RlZFwwIgotCi0KLWVudW0gdG9r
dHlwZSB7Ci0gICAgVE9LX0VPRiA9IC0xLAotICAgIFRPS19CTE9DS0NPTU1FTlQgPSAweDgwLAot
ICAgIFRPS19JTkxJTkVDT01NRU5ULCBUT0tfSU5URUdFUiwgVE9LX0ZMT0FULCBUT0tfSURFTlRJ
RklFUiwKLSAgICBUT0tfU1RSSU5HLCBUT0tfRUxMSVBTSVMsIFRPS19ET1VCTEVCUkFDS0VULAot
ICAgIC8qIEtleXdvcmRzIG11c3QgYmUgaW4gdGhlIHNhbWUgb3JkZXIgYXMgYWJvdmUuICovCi0g
ICAgVE9LX0RPTVN0cmluZywKLSAgICBUT0tfQnl0ZVN0cmluZywKLSAgICBUT0tfRGF0ZSwKLSAg
ICBUT0tfUmVnRXhwLAotICAgIFRPS19mYWxzZSwKLSAgICBUT0tfb2JqZWN0LAotICAgIFRPS190
cnVlLAotICAgIFRPS19hbnksCi0gICAgVE9LX2Jvb2xlYW4sCi0gICAgVE9LX2J5dGUsCi0gICAg
VE9LX2RvdWJsZSwKLSAgICBUT0tfZmxvYXQsCi0gICAgVE9LX2luZmluaXR5LAotICAgIFRPS19t
aW51c2luZmluaXR5LAotICAgIFRPS19pdGVyYXRvciwKLSAgICBUT0tfbG9uZywKLSAgICBUT0tf
TmFOLAotICAgIFRPS19udWxsLAotICAgIFRPS19vY3RldCwKLSAgICBUT0tfb3B0aW9uYWwsCi0g
ICAgVE9LX29yLAotICAgIFRPS19yZWFkb25seSwKLSAgICBUT0tfc2VxdWVuY2UsCi0gICAgVE9L
X3Nob3J0LAotICAgIFRPS191bnNpZ25lZCwKLSAgICBUT0tfdm9pZCwKLSAgICAvKiBCZWxvdyB0
aGF0IGxpbmUgYXJlIGtleXdvcmRzIHRoYXQgYXJlIGFsbG93ZWQgYXMgYXJndW1lbnRzIG5hbWVz
ICovCi0gICAgVE9LX2F0dHJpYnV0ZSwKLSAgICBUT0tfY2FsbGJhY2ssCi0gICAgVE9LX2NvbnN0
LAotICAgIFRPS19jcmVhdG9yLAotICAgIFRPS19kZWxldGVyLAotICAgIFRPS19kaWN0aW9uYXJ5
LAotICAgIFRPS19lbnVtLAotICAgIFRPS19leGNlcHRpb24sCi0gICAgVE9LX2dldHRlciwKLSAg
ICBUT0tfaW1wbGVtZW50cywKLSAgICBUT0tfaW5oZXJpdCwKLSAgICBUT0tfaW50ZXJmYWNlLAot
ICAgIFRPS19sZWdhY3ljYWxsZXIsCi0gICAgVE9LX3BhcnRpYWwsCi0gICAgVE9LX3NlcmlhbGl6
ZXIsCi0gICAgVE9LX3NldHRlciwKLSAgICBUT0tfc3RhdGljLAotICAgIFRPS19zdHJpbmdpZmll
ciwKLSAgICBUT0tfdHlwZWRlZiwKLSAgICBUT0tfdW5yZXN0cmljdGVkLAotfTsKLQotc3RydWN0
IHRvayB7Ci0gICAgZW51bSB0b2t0eXBlIHR5cGU7Ci0gICAgY29uc3QgY2hhciAqZmlsZW5hbWU7
Ci0gICAgdW5zaWduZWQgaW50IGxpbmVudW07Ci0gICAgY29uc3QgY2hhciAqcHJlc3RhcnQ7Ci0g
ICAgY29uc3QgY2hhciAqc3RhcnQ7Ci0gICAgdW5zaWduZWQgaW50IGxlbjsKLX07Ci0KLWV4dGVy
biBjb25zdCBjaGFyICpmaWxlbmFtZTsKLWV4dGVybiBjb25zdCBjaGFyIGtleXdvcmRzW107Ci0K
LXN0cnVjdCBub2RlOwotCi12b2lkIHJlYWRpbnB1dChjb25zdCBjaGFyICpjb25zdCAqYXJndik7
Ci1zdHJ1Y3QgdG9rICpsZXgodm9pZCk7Ci12b2lkIG91dHB1dHdpZGwoc3RydWN0IG5vZGUgKm5v
ZGUpOwotCi0jZW5kaWYgLyogbmRlZiBsZXhfaCAqLwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dp
ZGxwcm9jL3NyYy9tYWluLmMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mvc3JjL21haW4uYwpkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZGY5MGUzNDdkZThjNWQwMWRmOTQ4NmQ3NDNkYTcwY2Vj
OGMyZjE1ZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3Qvd2lkbHByb2Mvc3JjL21haW4uYworKysgL2Rldi9udWxsCkBAIC0xLDYzICswLDAg
QEAKLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKgotICogJElkJAotICogQ29weXJpZ2h0IDIwMDkgQXBsaXggQ29y
cG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBh
Y2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKLSAqIHlvdSBtYXkgbm90
IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KLSAq
IFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAotICogICAgIGh0dHA6Ly93
d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAotICogVW5sZXNzIHJlcXVpcmVkIGJ5
IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQotICogZGlz
dHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBC
QVNJUywKLSAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBl
aXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgotICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3Bl
Y2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAotICogbGltaXRhdGlvbnMg
dW5kZXIgdGhlIExpY2Vuc2UuCi0gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi0jaW5jbHVkZSA8c3RyaW5nLmg+
Ci0jaW5jbHVkZSAibWlzYy5oIgotI2luY2x1ZGUgInByb2Nlc3MuaCIKLQotc3RhdGljIGNvbnN0
IGNoYXIgbm9kdGRvcHRbXSA9ICItbm8tZHRkLXJlZiI7Ci1jb25zdCBjaGFyICpwcm9nbmFtZTsK
LQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqCi0gKiBvcHRpb25zIDogcHJvY2VzcyBjb21tYW5kIGxpbmUgb3B0
aW9ucwotICoKLSAqIEVudGVyOiAgIGFyZ3YKLSAqCi0gKiBSZXR1cm46ICBhcmd2IHN0ZXBwZWQg
dG8gcG9pbnQgdG8gZmlyc3Qgbm9uLW9wdGlvbiBhcmd1bWVudAotICovCi1zdGF0aWMgY29uc3Qg
Y2hhciAqY29uc3QgKgotb3B0aW9ucyhpbnQgYXJnYywgY29uc3QgY2hhciAqY29uc3QgKmFyZ3Yp
Ci17Ci0gICAgLyogU2V0IHByb2duYW1lIGZvciBlcnJvciBtZXNzYWdlcyBldGMuICovCi0gICAg
ewotICAgICAgICBjb25zdCBjaGFyICpiYXNlOwotICAgICAgICBwcm9nbmFtZSA9IGFyZ3ZbMF07
Ci0gICAgICAgIGJhc2UgPSBzdHJyY2hyKHByb2duYW1lLCAnLycpOwotI2lmZGVmIERJUlNFUAot
ICAgICAgICB7Ci0gICAgICAgICAgICBjb25zdCBjaGFyICpiYXNlMiA9IHN0cnJjaHIoYmFzZSwg
J1xcJyk7Ci0gICAgICAgICAgICBpZiAoYmFzZTIgPiBiYXNlKQotICAgICAgICAgICAgICAgIGJh
c2UgPSBiYXNlMjsKLSAgICAgICAgfQotI2VuZGlmIC8qIGRlZiBESVJTRVAgKi8KLSAgICAgICAg
aWYgKGJhc2UpCi0gICAgICAgICAgICBwcm9nbmFtZSA9IGJhc2UgKyAxOwotICAgIH0KLSAgICBy
ZXR1cm4gKGFyZ2MgPiAxICYmIHN0cm5jbXAoYXJndlsxXSwgbm9kdGRvcHQsIHNpemVvZiBub2R0
ZG9wdCkgPT0gMCkKLSAgICAgICAgICA/IGFyZ3YgKyAyIDogYXJndiArIDE7Ci19Ci0KLS8qKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKgotICogbWFpbiA6IG1haW4gY29kZSBmb3IgYm9uZGlpZGwgY29tbWFuZAotICov
Ci1pbnQKLW1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQotewotICAgIGNvbnN0IGNoYXIgKmNv
bnN0ICpwYXJnOwotICAgIHBhcmcgPSBvcHRpb25zKGFyZ2MsIChjb25zdCBjaGFyICpjb25zdCAq
KWFyZ3YpOwotICAgIGlmICghKnBhcmcpCi0gICAgICAgIGVycm9yZXhpdCgidXNhZ2U6ICVzIFst
bm8tZHRkLXJlZl0gPGludGVyZmFjZT4ud2lkbCAuLi4iLCBwcm9nbmFtZSk7Ci0gICAgcHJvY2Vz
c2ZpbGVzKHBhcmcsIHBhcmcgPT0gKGNvbnN0IGNoYXIgKmNvbnN0ICopYXJndiArIDEpOwotICAg
IHJldHVybiAwOwotfQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mvc3JjL21pc2Mu
YyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC93aWRscHJvYy9zcmMvbWlzYy5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAzN2FmZjNmMzRkYjY2MTY0YzZkNjFjZmQwNGQ5ODU3NjJkYzBhOTZlLi4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJv
Yy9zcmMvbWlzYy5jCisrKyAvZGV2L251bGwKQEAgLTEsMTE5ICswLDAgQEAKLS8qKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKgotICogJElkJAotICogQ29weXJpZ2h0IDIwMDkgQXBsaXggQ29ycG9yYXRpb24uIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCi0gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZl
cnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKLSAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUg
ZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KLSAqIFlvdSBtYXkgb2J0YWlu
IGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAotICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9s
aWNlbnNlcy9MSUNFTlNFLTIuMAotICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3
IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQotICogZGlzdHJpYnV0ZWQgdW5kZXIg
dGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKLSAqIFdJVEhP
VVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBv
ciBpbXBsaWVkLgotICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2Ug
Z292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAotICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vu
c2UuCi0gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKiovCi0jaW5jbHVkZSA8c3RkYXJnLmg+Ci0jaW5jbHVkZSA8c3Rk
aW8uaD4KLSNpbmNsdWRlIDxzdGRsaWIuaD4KLSNpbmNsdWRlIDxzdHJpbmcuaD4KLSNpbmNsdWRl
ICJtaXNjLmgiCi0jaW5jbHVkZSAib3MuaCIgLyogdG8gZ2V0IHZhX2NvcHkgb24gd2luZG93cyAq
LwotCi1leHRlcm4gY29uc3QgY2hhciAqcHJvZ25hbWU7Ci0KLS8qKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICog
bWVtb3J5IGFsbG9jYXRpb24gd3JhcHBlcnMKLSAqLwotdm9pZCAqCi1tZW1hbGxvYyhzaXplX3Qg
c2l6ZSkKLXsKLSAgICB2b2lkICpwdHIgPSBtYWxsb2Moc2l6ZSk7Ci0gICAgaWYgKCFwdHIpCi0g
ICAgICAgIGVycm9yZXhpdCgib3V0IG9mIG1lbW9yeSIpOwotICAgIC8qIFplcm8gaW5pdGlhbGlz
ZSBtZW1vcnkgZnJvbSBtZW1hbGxvYy4gKi8KLSAgICBtZW1zZXQocHRyLCAwLCBzaXplKTsKLSAg
ICByZXR1cm4gcHRyOwotfQotCi12b2lkICoKLW1lbXJlYWxsb2Modm9pZCAqcHRyLCBzaXplX3Qg
c2l6ZSkKLXsKLSAgICB2b2lkICpuZXdwdHIgPSByZWFsbG9jKHB0ciwgc2l6ZSk7Ci0gICAgaWYg
KCFuZXdwdHIpCi0gICAgICAgIGVycm9yZXhpdCgib3V0IG9mIG1lbW9yeSIpOwotICAgIHJldHVy
biBuZXdwdHI7Ci19Ci0KLXZvaWQKLW1lbWZyZWUodm9pZCAqcHRyKQotewotICAgICooaW50ICop
cHRyID0gMHhmZWZlZmVmZTsKLSAgICBmcmVlKHB0cik7Ci19Ci0KLS8qKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgot
ICogdm1lbXByaW50ZiwgbWVtcHJpbnRmIDogYWxsb2NhdGUgYnVmZmVyIGFuZCBzcHJpbnRmIGlu
dG8gaXQKLSAqLwotY2hhciAqCi1tZW1wcmludGYoY29uc3QgY2hhciAqZm9ybWF0LCAuLi4pCi17
Ci0gICAgdmFfbGlzdCBhcDsKLSAgICBjaGFyICpidWY7Ci0gICAgdmFfc3RhcnQoYXAsIGZvcm1h
dCk7Ci0gICAgYnVmID0gdm1lbXByaW50Zihmb3JtYXQsIGFwKTsKLSAgICB2YV9lbmQoYXApOwot
ICAgIHJldHVybiBidWY7Ci19Ci0KLWNoYXIgKgotdm1lbXByaW50Zihjb25zdCBjaGFyICpmb3Jt
YXQsIHZhX2xpc3QgYXApCi17Ci0gICAgY2hhciAqYnVmOwotICAgIHVuc2lnbmVkIGludCBtYXgs
IGxlbjsKLSAgICB2YV9saXN0IGFwMjsKLSAgICBtYXggPSAxNjsKLSAgICBmb3IgKDs7KSB7Ci0g
ICAgICAgIHZhX2NvcHkoYXAyLCBhcCk7Ci0gICAgICAgIGJ1ZiA9IG1lbWFsbG9jKG1heCk7Ci0g
ICAgICAgIGxlbiA9IHZzbnByaW50ZihidWYsIG1heCwgZm9ybWF0LCBhcDIpOwotICAgICAgICB2
YV9lbmQoYXAyKTsKLSAgICAgICAgaWYgKGxlbiA8IG1heCkKLSAgICAgICAgICAgIGJyZWFrOwot
ICAgICAgICBtZW1mcmVlKGJ1Zik7Ci0gICAgICAgIG1heCAqPSAyOwotICAgIH0KLSAgICByZXR1
cm4gYnVmOwotfQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIGVycm9yZXhpdCA6IHByaW50IGVycm9y
IG1lc3NhZ2UgdGhlbiBleGl0Ci0gKi8KLXZvaWQKLXZsb2NlcnJvcmV4aXQoY29uc3QgY2hhciAq
ZmlsZW5hbWUsIHVuc2lnbmVkIGludCBsaW5lbnVtLAotICAgICAgICBjb25zdCBjaGFyICpmb3Jt
YXQsIHZhX2xpc3QgYXApCi17Ci0gICAgaWYgKGZpbGVuYW1lKQotICAgICAgICBmcHJpbnRmKHN0
ZGVyciwgbGluZW51bSA/ICIlczogJWk6ICIgOiAiJXM6ICIsIGZpbGVuYW1lLCBsaW5lbnVtKTsK
LSAgICB2ZnByaW50ZihzdGRlcnIsIGZvcm1hdCwgYXApOwotICAgIGZwdXRjKCdcbicsIHN0ZGVy
cik7Ci0gICAgZXhpdCgxKTsKLX0KLQotdm9pZAotbG9jZXJyb3JleGl0KGNvbnN0IGNoYXIgKmZp
bGVuYW1lLCB1bnNpZ25lZCBpbnQgbGluZW51bSwKLSAgICAgICAgY29uc3QgY2hhciAqZm9ybWF0
LCAuLi4pCi17Ci0gICAgdmFfbGlzdCBhcDsKLSAgICB2YV9zdGFydChhcCwgZm9ybWF0KTsKLSAg
ICB2bG9jZXJyb3JleGl0KGZpbGVuYW1lLCBsaW5lbnVtLCBmb3JtYXQsIGFwKTsKLSAgICB2YV9l
bmQoYXApOwotfQotCi12b2lkCi1lcnJvcmV4aXQoY29uc3QgY2hhciAqZm9ybWF0LCAuLi4pCi17
Ci0gICAgdmFfbGlzdCBhcDsKLSAgICB2YV9zdGFydChhcCwgZm9ybWF0KTsKLSAgICB2bG9jZXJy
b3JleGl0KDAsIDAsIGZvcm1hdCwgYXApOwotICAgIHZhX2VuZChhcCk7Ci19Ci0KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC93aWRscHJvYy9zcmMvbWlzYy5oIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Ny
Yy9taXNjLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAxYzM2ZDIxOGVkZWZiMmQy
MGI2OTg2OTA2MjQ5MDg0NzVlOTMwMmQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3NyYy9taXNjLmgKKysrIC9kZXYvbnVs
bApAQCAtMSwzMSArMCwwIEBACi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqICRJZCQKLSAqIENvcHlyaWdo
dCAyMDA5IEFwbGl4IENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICogTGljZW5z
ZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7
Ci0gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGgg
dGhlIExpY2Vuc2UuCi0gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQK
LSAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKLSAqIFVu
bGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywg
c29mdHdhcmUKLSAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVk
IG9uIGFuICJBUyBJUyIgQkFTSVMsCi0gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9O
UyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KLSAqIFNlZSB0aGUgTGlj
ZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQK
LSAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgotICoqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwotI2lm
bmRlZiBtaXNjX2gKLSNkZWZpbmUgbWlzY19oCi0jaW5jbHVkZSA8c3RkYXJnLmg+Ci0jaW5jbHVk
ZSA8c3RkbGliLmg+Ci0KLXZvaWQgKm1lbWFsbG9jKHNpemVfdCBzaXplKTsKLXZvaWQgKm1lbXJl
YWxsb2Modm9pZCAqcHRyLCBzaXplX3Qgc2l6ZSk7Ci12b2lkIG1lbWZyZWUodm9pZCAqcHRyKTsK
LQotY2hhciAqdm1lbXByaW50Zihjb25zdCBjaGFyICpmb3JtYXQsIHZhX2xpc3QgYXApOwotY2hh
ciAqbWVtcHJpbnRmKGNvbnN0IGNoYXIgKmZvcm1hdCwgLi4uKTsKLQotdm9pZCB2bG9jZXJyb3Jl
eGl0KGNvbnN0IGNoYXIgKmZpbGVuYW1lLCB1bnNpZ25lZCBpbnQgbGluZW51bSwgY29uc3QgY2hh
ciAqZm9ybWF0LCB2YV9saXN0IGFwKTsKLXZvaWQgbG9jZXJyb3JleGl0KGNvbnN0IGNoYXIgKmZp
bGVuYW1lLCB1bnNpZ25lZCBpbnQgbGluZW51bSwgY29uc3QgY2hhciAqZm9ybWF0LCAuLi4pOwot
dm9pZCBlcnJvcmV4aXQoY29uc3QgY2hhciAqZm9ybWF0LCAuLi4pOwotCi0jZW5kaWYgLyogbmRl
ZiBtaXNjX2ggKi8KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3NyYy9ub2RlLmMg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mvc3JjL25vZGUuYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggZDhmNzM3OTA5YTQwNDgwY2Y0ZWJmMDUxMjViYWRjNmNiOWVhMzVjNi4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mv
c3JjL25vZGUuYworKysgL2Rldi9udWxsCkBAIC0xLDMzMSArMCwwIEBACi0vKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioKLSAqICRJZCQKLSAqIENvcHlyaWdodCAyMDA5IEFwbGl4IENvcnBvcmF0aW9uLiBBbGwgcmln
aHRzIHJlc2VydmVkLgotICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJz
aW9uIDIuMCAodGhlICJMaWNlbnNlIik7Ci0gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4
Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCi0gKiBZb3UgbWF5IG9idGFpbiBh
IGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKLSAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGlj
ZW5zZXMvTElDRU5TRS0yLjAKLSAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBv
ciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKLSAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRo
ZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCi0gKiBXSVRIT1VU
IFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3Ig
aW1wbGllZC4KLSAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdv
dmVybmluZyBwZXJtaXNzaW9ucyBhbmQKLSAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNl
LgotICoKLSAqIE5vZGUtc3BlY2lmaWMgZnVuY3Rpb25zCi0gKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi0jaW5j
bHVkZSA8YXNzZXJ0Lmg+Ci0jaW5jbHVkZSA8c3RkaW8uaD4KLSNpbmNsdWRlIDxzdHJpbmcuaD4K
LSNpbmNsdWRlICJjb21tZW50LmgiCi0jaW5jbHVkZSAibGV4LmgiCi0jaW5jbHVkZSAibWlzYy5o
IgotI2luY2x1ZGUgIm5vZGUuaCIKLSNpbmNsdWRlICJwcm9jZXNzLmgiCi0KLXN0cnVjdCBub2Rl
ICoKLW5ld2VsZW1lbnQoY29uc3QgY2hhciAqbmFtZSkKLXsKLSAgICBzdHJ1Y3QgZWxlbWVudCAq
ZWxlbWVudCA9IG1lbWFsbG9jKHNpemVvZihzdHJ1Y3QgZWxlbWVudCkpOwotICAgIGVsZW1lbnQt
Pm4udHlwZSA9IE5PREVfRUxFTUVOVDsKLSAgICBlbGVtZW50LT5uYW1lID0gbmFtZTsKLSAgICBy
ZXR1cm4gJmVsZW1lbnQtPm47Ci19Ci0KLXN0cnVjdCBub2RlICoKLW5ld2F0dHIoY29uc3QgY2hh
ciAqbmFtZSwgY29uc3QgY2hhciAqdmFsKQotewotICAgIHN0cnVjdCBhdHRyICphdHRyID0gbWVt
YWxsb2Moc2l6ZW9mKHN0cnVjdCBhdHRyKSk7Ci0gICAgYXR0ci0+bi50eXBlID0gTk9ERV9BVFRS
OwotICAgIGF0dHItPm5hbWUgPSBuYW1lOwotICAgIGF0dHItPnZhbHVlID0gdmFsOwotICAgIHJl
dHVybiAmYXR0ci0+bjsKLX0KLQotc3RydWN0IG5vZGUgKgotbmV3YXR0cmxpc3Qodm9pZCkKLXsK
LSAgICBzdHJ1Y3QgYXR0cmxpc3QgKmF0dHJsaXN0ID0gbWVtYWxsb2Moc2l6ZW9mKHN0cnVjdCBh
dHRybGlzdCkpOwotICAgIGF0dHJsaXN0LT5uLnR5cGUgPSBOT0RFX0FUVFJMSVNUOwotICAgIHJl
dHVybiAmYXR0cmxpc3QtPm47Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogYWRkbm9kZSA6IGFk
ZCBub2RlIGFzIGNoaWxkIG9mIGFub3RoZXIgbm9kZQotICoKLSAqIEVudGVyOiAgIHBhcmVudCBu
b2RlCi0gKiAgICAgICAgICBjaGlsZCBub2RlCi0gKgotICogVGhlIGNoaWxkcmVuIGxpc3QgaXMg
Y29uc3RydWN0ZWQgYmFja3dhcmRzLiBUaGlzIGlzIGZpeGVkIGxhdGVyIHdpdGgKLSAqIGEgY2Fs
bCB0byByZXZlcnNlY2hpbGRyZW4uCi0gKgotICogSWYgY2hpbGQgaXMgYW4gYXR0cmxpc3QsIGl0
cyBjaGlsZHJlbiBhcmUgYWRkZWQgdG8gcGFyZW50IGFuZCB0aGUKLSAqIGF0dHJsaXN0IGlzIGZy
ZWVkLgotICovCi12b2lkCi1hZGRub2RlKHN0cnVjdCBub2RlICpwYXJlbnQsIHN0cnVjdCBub2Rl
ICpjaGlsZCkKLXsKLSAgICBpZiAoIWNoaWxkKQotICAgICAgICByZXR1cm47Ci0gICAgaWYgKGNo
aWxkLT50eXBlID09IE5PREVfQVRUUkxJU1QpIHsKLSAgICAgICAgLyogQWRkIHRoZSBhdHRycyBp
biB0aGUgYXR0cmxpc3QgdG8gcGFyZW50LiAqLwotICAgICAgICBzdHJ1Y3Qgbm9kZSAqY2hpbGQy
OwotICAgICAgICByZXZlcnNlY2hpbGRyZW4oY2hpbGQpOwotICAgICAgICBjaGlsZDIgPSBjaGls
ZC0+Y2hpbGRyZW47Ci0gICAgICAgIG1lbWZyZWUoY2hpbGQpOwotICAgICAgICB3aGlsZSAoY2hp
bGQyKSB7Ci0gICAgICAgICAgICBzdHJ1Y3Qgbm9kZSAqbmV4dCA9IGNoaWxkMi0+bmV4dDsKLSAg
ICAgICAgICAgIGFkZG5vZGUocGFyZW50LCBjaGlsZDIpOwotICAgICAgICAgICAgY2hpbGQyID0g
bmV4dDsKLSAgICAgICAgfQotICAgIH0gZWxzZSB7Ci0gICAgICAgIGNoaWxkLT5uZXh0ID0gcGFy
ZW50LT5jaGlsZHJlbjsKLSAgICAgICAgcGFyZW50LT5jaGlsZHJlbiA9IGNoaWxkOwotICAgICAg
ICBjaGlsZC0+cGFyZW50ID0gcGFyZW50OwotICAgIH0KLX0KLQotLyoqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0g
KiByZXZlcnNlY2hpbGRyZW4gOiByZWN1cnNpdmVseSByZXZlcnNlIGNoaWxkIGxpc3RzCi0gKgot
ICogQWxzbyBzZXRzIHBhcmVudCBmaWVsZCBvbiBlYWNoIG5vZGUuCi0gKi8KLXZvaWQKLXJldmVy
c2VjaGlsZHJlbihzdHJ1Y3Qgbm9kZSAqbm9kZSkKLXsKLSAgICBzdHJ1Y3Qgbm9kZSAqbmV3bGlz
dCA9IDA7Ci0gICAgc3RydWN0IG5vZGUgKmNoaWxkID0gbm9kZS0+Y2hpbGRyZW47Ci0gICAgd2hp
bGUgKGNoaWxkKSB7Ci0gICAgICAgIHN0cnVjdCBub2RlICpuZXh0ID0gY2hpbGQtPm5leHQ7Ci0g
ICAgICAgIGNoaWxkLT5wYXJlbnQgPSBub2RlOwotICAgICAgICBjaGlsZC0+bmV4dCA9IG5ld2xp
c3Q7Ci0gICAgICAgIG5ld2xpc3QgPSBjaGlsZDsKLSAgICAgICAgcmV2ZXJzZWNoaWxkcmVuKGNo
aWxkKTsKLSAgICAgICAgY2hpbGQgPSBuZXh0OwotICAgIH0KLSAgICBub2RlLT5jaGlsZHJlbiA9
IG5ld2xpc3Q7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogbm9kZWlzZW1wdHkgOiB0ZXN0IGlm
IG5vZGUgaXMgZW1wdHkgKGhhcyBubyBjaGlsZHJlbikKLSAqLwotaW50Ci1ub2RlaXNlbXB0eShz
dHJ1Y3Qgbm9kZSAqbm9kZSkKLXsKLSAgICByZXR1cm4gIW5vZGUtPmNoaWxkcmVuOwotfQotCi0v
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioKLSAqIG5vZGV3YWxrIDogc2luZ2xlIHN0ZXAgb2YgZGVwdGggbGFzdCB0
cmF2ZXJzYWwgb2Ygbm9kZSB0cmVlCi0gKgotICogUmV0dXJuOiAgbmV4dCBub2RlIGluIHdhbGss
IDAgaWYgZmluaXNoZWQKLSAqLwotc3RydWN0IG5vZGUgKgotbm9kZXdhbGsoc3RydWN0IG5vZGUg
Km5vZGUpCi17Ci0gICAgaWYgKG5vZGUtPmNoaWxkcmVuKQotICAgICAgICByZXR1cm4gbm9kZS0+
Y2hpbGRyZW47Ci0gICAgaWYgKG5vZGUtPm5leHQpCi0gICAgICAgIHJldHVybiBub2RlLT5uZXh0
OwotICAgIGRvIHsKLSAgICAgICAgbm9kZSA9IG5vZGUtPnBhcmVudDsKLSAgICAgICAgaWYgKCFu
b2RlKQotICAgICAgICAgICAgcmV0dXJuIDA7Ci0gICAgfSB3aGlsZSAoIW5vZGUtPm5leHQpOwot
ICAgIHJldHVybiBub2RlLT5uZXh0OwotfQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIGZpbmRjaGls
ZGVsZW1lbnQgOiBmaW5kIGNoaWxkIGVsZW1lbnQgb2YgYSBwYXJ0aWN1bGFyIG5hbWUKLSAqCi0g
KiBFbnRlcjogICBub2RlID0gZWxlbWVudAotICogICAgICAgICAgbmFtZSA9IG5hbWUgdG8gZmlu
ZAotICoKLSAqIFJldHVybjogIDAgZWxzZSBjaGlsZCBlbGVtZW50IG9mIHRoYXQgbmFtZQotICov
Ci1zdGF0aWMgc3RydWN0IG5vZGUgKgotZmluZGNoaWxkZWxlbWVudChzdHJ1Y3Qgbm9kZSAqbm9k
ZSwgY29uc3QgY2hhciAqbmFtZSkKLXsKLSAgICBub2RlID0gbm9kZS0+Y2hpbGRyZW47Ci0gICAg
d2hpbGUgKG5vZGUpIHsKLSAgICAgICAgaWYgKG5vZGUtPnR5cGUgPT0gTk9ERV9FTEVNRU5UKSB7
Ci0gICAgICAgICAgICBzdHJ1Y3QgZWxlbWVudCAqZWxlbWVudCA9ICh2b2lkICopbm9kZTsKLSAg
ICAgICAgICAgIGlmICghc3RyY21wKGVsZW1lbnQtPm5hbWUsIG5hbWUpKQotICAgICAgICAgICAg
ICAgIGJyZWFrOwotICAgICAgICB9Ci0gICAgICAgIG5vZGUgPSBub2RlLT5uZXh0OwotICAgIH0K
LSAgICByZXR1cm4gbm9kZTsKLX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBnZXRhdHRyIDogZ2V0
IHZhbHVlIG9mIGF0dHJpYnV0ZQotICoKLSAqIEVudGVyOiAgIG5vZGUgPSBlbGVtZW50IHRvIGZp
bmQgYXR0cmlidXRlIGluCi0gKiAgICAgICAgICBuYW1lID0gbmFtZSBvZiBhdHRyaWJ1dGUKLSAq
Ci0gKiBSZXR1cm46ICAwIGlmIG5vdCBmb3VuZCwgZWxzZSAwLXRlcm1pbmF0ZWQgc3RyaW5nIHZh
bHVlCi0gKi8KLWNvbnN0IGNoYXIgKgotZ2V0YXR0cihzdHJ1Y3Qgbm9kZSAqbm9kZSwgY29uc3Qg
Y2hhciAqbmFtZSkKLXsKLSAgICBub2RlID0gbm9kZS0+Y2hpbGRyZW47Ci0gICAgd2hpbGUgKG5v
ZGUpIHsKLSAgICAgICAgaWYgKG5vZGUtPnR5cGUgPT0gTk9ERV9BVFRSKSB7Ci0gICAgICAgICAg
ICBzdHJ1Y3QgYXR0ciAqYXR0ciA9ICh2b2lkICopbm9kZTsKLSAgICAgICAgICAgIGlmICghc3Ry
Y21wKGF0dHItPm5hbWUsIG5hbWUpKQotICAgICAgICAgICAgICAgIHJldHVybiBhdHRyLT52YWx1
ZTsKLSAgICAgICAgfQotICAgICAgICBub2RlID0gbm9kZS0+bmV4dDsKLSAgICB9Ci0gICAgcmV0
dXJuIDA7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogZmluZGNoaWxkZWxlbWVudHdpdGhuYW1l
YXR0ciA6IGZpbmQgY2hpbGQgZWxlbWVudCB3aXRoIGEgbmFtZSBhdHRyaWJ1dGUKLSAqICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBvZiBhIHBhcnRpY3VsYXIgdmFsdWUKLSAqCi0gKiBF
bnRlcjogICBub2RlID0gZWxlbWVudAotICogICAgICAgICAgbmFtZSA9IG5hbWUgdG8gZmluZAot
ICoKLSAqIFJldHVybjogIDAgZWxzZSBjaGlsZCBlbGVtZW50IHdpdGggbmFtZSBhdHRyIG9mIHRo
YXQgdmFsdWUKLSAqLwotc3RhdGljIHN0cnVjdCBub2RlICoKLWZpbmRjaGlsZGVsZW1lbnR3aXRo
bmFtZWF0dHIoc3RydWN0IG5vZGUgKm5vZGUsIGNvbnN0IGNoYXIgKm5hbWUpCi17Ci0gICAgbm9k
ZSA9IG5vZGUtPmNoaWxkcmVuOwotICAgIHdoaWxlIChub2RlKSB7Ci0gICAgICAgIGlmIChub2Rl
LT50eXBlID09IE5PREVfRUxFTUVOVCkgewotICAgICAgICAgICAgY29uc3QgY2hhciAqcyA9IGdl
dGF0dHIobm9kZSwgIm5hbWUiKTsKLSAgICAgICAgICAgIGlmIChzICYmICFzdHJjbXAocywgbmFt
ZSkpCi0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLSAgICAgICAgbm9kZSA9IG5v
ZGUtPm5leHQ7Ci0gICAgfQotICAgIHJldHVybiBub2RlOwotfQotCi0vKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioK
LSAqIGZpbmRyZXR1cm50eXBlIDogZmluZCBUeXBlIHBhcnNlIG5vZGUgZm9yIHJldHVybiB0eXBl
Ci0gKgotICogRW50ZXI6ICAgbm9kZSA9IE9wZXJhdGlvbiBlbGVtZW50Ci0gKgotICogUmV0dXJu
OiAgMCBpZiBub3QgZm91bmQsIGVsc2UgVHlwZSBwYXJzZSBub2RlIGZvciByZXR1cm4gdHlwZQot
ICovCi1zdHJ1Y3Qgbm9kZSAqCi1maW5kcmV0dXJudHlwZShzdHJ1Y3Qgbm9kZSAqbm9kZSkKLXsK
LSAgICByZXR1cm4gZmluZGNoaWxkZWxlbWVudChub2RlLCAiVHlwZSIpOwotfQotCi0vKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioKLSAqIGZpbmRwYXJhbWlkZW50aWZpZXIgOiBmaW5kIGlkZW50aWZpZXIgcGFyc2Ug
bm9kZSBmb3IgcGFyYW1ldGVyCi0gKgotICogRW50ZXI6ICAgbm9kZSA9IE9wZXJhdGlvbiBlbGVt
ZW50Ci0gKiAgICAgICAgICBuYW1lID0gcGFyYW1ldGVyIG5hbWUgdG8gZmluZAotICoKLSAqIFJl
dHVybjogIDAgaWYgbm90IGZvdW5kLCBlbHNlIG5vZGUgc3RydWN0IGZvciBwYXJhbWV0ZXIgaWRl
bnRpZmllcgotICovCi1zdHJ1Y3Qgbm9kZSAqCi1maW5kcGFyYW1pZGVudGlmaWVyKHN0cnVjdCBu
b2RlICpub2RlLCBjb25zdCBjaGFyICpuYW1lKQotewotICAgIG5vZGUgPSBmaW5kY2hpbGRlbGVt
ZW50KG5vZGUsICJBcmd1bWVudExpc3QiKTsKLSAgICBpZiAobm9kZSkKLSAgICAgICAgbm9kZSA9
IGZpbmRjaGlsZGVsZW1lbnR3aXRobmFtZWF0dHIobm9kZSwgbmFtZSk7Ci0gICAgcmV0dXJuIG5v
ZGU7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKgotICogZmluZHRocm93aWRlbnRpZmllciA6IGZpbmQg
aWRlbnRpZmllciBwYXJzZSBub2RlIGZvciBleGNlcHRpb24gbmFtZQotICoKLSAqIEVudGVyOiAg
IG5vZGUgPSBPcGVyYXRpb24gZWxlbWVudAotICogICAgICAgICAgbmFtZSA9IGV4Y2VwdGlvbiBu
YW1lIHRvIGZpbmQKLSAqCi0gKiBSZXR1cm46ICAwIGlmIG5vdCBmb3VuZCwgZWxzZSBub2RlIGZv
ciBOYW1lIGVsZW1lbnQsIGNoaWxkIG9mIFJhaXNlcwotICogICAgICAgICAgICAgIG9yIFNldFJh
aXNlcwotICovCi1zdHJ1Y3Qgbm9kZSAqCi1maW5kdGhyb3dpZGVudGlmaWVyKHN0cnVjdCBub2Rl
ICpub2RlLCBjb25zdCBjaGFyICpuYW1lKQotewotICAgIHN0cnVjdCBub2RlICpub2RlMiA9IGZp
bmRjaGlsZGVsZW1lbnQobm9kZSwgIlJhaXNlcyIpOwotICAgIGlmIChub2RlMikKLSAgICAgICAg
bm9kZTIgPSBmaW5kY2hpbGRlbGVtZW50d2l0aG5hbWVhdHRyKG5vZGUyLCBuYW1lKTsKLSAgICBp
ZiAoIW5vZGUyKSB7Ci0gICAgICAgIG5vZGUyID0gZmluZGNoaWxkZWxlbWVudChub2RlLCAiU2V0
UmFpc2VzIik7Ci0gICAgICAgIGlmIChub2RlMikKLSAgICAgICAgICAgIG5vZGUyID0gZmluZGNo
aWxkZWxlbWVudHdpdGhuYW1lYXR0cihub2RlMiwgbmFtZSk7Ci0gICAgfQotICAgIHJldHVybiBu
b2RlMjsKLX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBvdXRwdXRpZCA6IG91dHB1dCB0aGUgaWQg
b2YgYSBub2RlCi0gKi8KLXN0YXRpYyB2b2lkCi1vdXRwdXRpZChzdHJ1Y3Qgbm9kZSAqbm9kZSkK
LXsKLSAgICBpZiAobm9kZS0+cGFyZW50KQotICAgICAgICBvdXRwdXRpZChub2RlLT5wYXJlbnQp
OwotICAgIGlmIChub2RlLT5pZCkgewotICAgICAgICBmcHV0cygiOjoiLCBzdGRvdXQpOwotICAg
ICAgICBwcmludHRleHQobm9kZS0+aWQsIHN0cmxlbihub2RlLT5pZCksIDEpOwotICAgIH0KLX0K
LQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqCi0gKiBvdXRwdXRub2RlIDogb3V0cHV0IG5vZGUgYW5kIGl0cyBj
aGlsZHJlbgotICoKLSAqIEVudGVyOiAgIG5vZGUgPSBub2RlIHRvIG91dHB1dCwgYXNzdW1lZCB0
byBiZSBhbiBlbGVtZW50Ci0gKiAgICAgICAgICBpbmRlbnQKLSAqLwotdm9pZAotb3V0cHV0bm9k
ZShzdHJ1Y3Qgbm9kZSAqbm9kZSwgdW5zaWduZWQgaW50IGluZGVudCkKLXsKLSAgICBzdHJ1Y3Qg
ZWxlbWVudCAqZWxlbWVudCA9ICh2b2lkICopbm9kZTsKLSAgICBzdHJ1Y3Qgbm9kZSAqY2hpbGQ7
Ci0gICAgaW50IGVtcHR5ID0gMTsKLSAgICBwcmludGYoIiUqczwlcyIsIGluZGVudCwgIiIsIGVs
ZW1lbnQtPm5hbWUpOwotICAgIGNoaWxkID0gZWxlbWVudC0+bi5jaGlsZHJlbjsKLSAgICB3aGls
ZSAoY2hpbGQpIHsKLSAgICAgICAgc3dpdGNoKGNoaWxkLT50eXBlKSB7Ci0gICAgICAgIGNhc2Ug
Tk9ERV9FTEVNRU5UOgotICAgICAgICAgICAgZW1wdHkgPSAwOwotICAgICAgICAgICAgYnJlYWs7
Ci0gICAgICAgIGNhc2UgTk9ERV9BVFRSOgotICAgICAgICAgICAgewotICAgICAgICAgICAgICAg
IHN0cnVjdCBhdHRyICphdHRyID0gKHZvaWQgKiljaGlsZDsKLSAgICAgICAgICAgICAgICBwcmlu
dGYoIiAlcz1cIiIsIGF0dHItPm5hbWUpOwotICAgICAgICAgICAgICAgIHByaW50dGV4dChhdHRy
LT52YWx1ZSwgc3RybGVuKGF0dHItPnZhbHVlKSwgMSk7Ci0gICAgICAgICAgICAgICAgcHJpbnRm
KCJcIiIpOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLSAg
ICAgICAgY2hpbGQgPSBjaGlsZC0+bmV4dDsKLSAgICB9Ci0gICAgaWYgKG5vZGUtPmlkKSB7Ci0g
ICAgICAgIHByaW50ZigiIGlkPVwiIik7Ci0gICAgICAgIG91dHB1dGlkKG5vZGUpOwotICAgICAg
ICBwcmludGYoIlwiIik7Ci0gICAgfQotICAgIGlmICghZW1wdHkgfHwgbm9kZS0+Y29tbWVudHMg
fHwgbm9kZS0+d3NzdGFydCkgewotICAgICAgICBwcmludGYoIj5cbiIpOwotICAgICAgICBpZiAo
bm9kZS0+d3NzdGFydCkgewotICAgICAgICAgICAgcHJpbnRmKCIlKnMgIDx3ZWJpZGw+IiwgaW5k
ZW50LCAiIik7Ci0gICAgICAgICAgICBvdXRwdXR3aWRsKG5vZGUpOwotICAgICAgICAgICAgcHJp
bnRmKCI8L3dlYmlkbD5cbiIpOwotICAgICAgICB9Ci0gICAgICAgIG91dHB1dGRlc2NyaXB0aXZl
KG5vZGUsIGluZGVudCArIDIpOwotICAgICAgICBjaGlsZCA9IGVsZW1lbnQtPm4uY2hpbGRyZW47
Ci0gICAgICAgIHdoaWxlIChjaGlsZCkgewotICAgICAgICAgICAgc3dpdGNoKGNoaWxkLT50eXBl
KSB7Ci0gICAgICAgICAgICBjYXNlIE5PREVfRUxFTUVOVDoKLSAgICAgICAgICAgICAgICBvdXRw
dXRub2RlKGNoaWxkLCBpbmRlbnQgKyAyKTsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAg
ICAgICAgIH0KLSAgICAgICAgICAgIGNoaWxkID0gY2hpbGQtPm5leHQ7Ci0gICAgICAgIH0KLSAg
ICAgICAgcHJpbnRmKCIlKnM8LyVzPlxuIiwgaW5kZW50LCAiIiwgZWxlbWVudC0+bmFtZSk7Ci0g
ICAgfSBlbHNlCi0gICAgICAgIHByaW50ZigiLz5cbiIpOwotfQotCi0KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC93aWRscHJvYy9zcmMvbm9kZS5oIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3NyYy9ub2Rl
LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDJkNmUzOGU1MzIzYTg2NTdlOTAyZmM3
YTM5NzNlZWI1ZmEwZTIyMmYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3NyYy9ub2RlLmgKKysrIC9kZXYvbnVsbApAQCAt
MSw2NSArMCwwIEBACi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqICRJZCQKLSAqIENvcHlyaWdodCAyMDA5
IEFwbGl4IENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICogTGljZW5zZWQgdW5k
ZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7Ci0gKiB5
b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExp
Y2Vuc2UuCi0gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKLSAqICAg
ICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKLSAqIFVubGVzcyBy
ZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdh
cmUKLSAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFu
ICJBUyBJUyIgQkFTSVMsCi0gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBB
TlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KLSAqIFNlZSB0aGUgTGljZW5zZSBm
b3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKLSAqIGxp
bWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgotICoqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwotI2lmbmRlZiBu
b2RlX2gKLSNkZWZpbmUgbm9kZV9oCi0KLS8qIHN0cnVjdCBub2RlIDogYSBub2RlIGluIHRoZSBw
YXJzZSB0cmVlIChleGNsdWRpbmcgY29tbWVudHMpICovCi1lbnVtIHsgTk9ERV9FTEVNRU5ULCBO
T0RFX0FUVFIsIE5PREVfQVRUUkxJU1QgfTsKLXN0cnVjdCBub2RlIHsKLSAgICBpbnQgdHlwZTsK
LSAgICBzdHJ1Y3Qgbm9kZSAqbmV4dDsKLSAgICBzdHJ1Y3Qgbm9kZSAqcGFyZW50OwotICAgIHN0
cnVjdCBub2RlICpjaGlsZHJlbjsKLSAgICBzdHJ1Y3QgY29tbWVudCAqY29tbWVudHM7IC8qIGxp
c3Qgb2YgY29tbWVudHMgYXR0YWNoZWQgdG8gdGhpcyBub2RlICovCi0gICAgLyogSWYgd3NzdGFy
dCBhbmQgZW5kIGFyZSBzZXQsIHRoZXkgZ2l2ZSB0aGUgbGl0ZXJhbCBXZWIgSURMIHRoYXQgY2Fu
Ci0gICAgICogYmUgb3V0cHV0IGluIGEgPHdlYmlkbD4gZWxlbWVudC4gKi8KLSAgICBjb25zdCBj
aGFyICp3c3N0YXJ0OwotICAgIC8qIElmIHN0YXJ0IGFuZCBlbmQgYXJlIHNldCwgdGhleSBnaXZl
IHRoZSB0ZXh0IG9mIGEgc2NvcGVkIG5hbWUgdGhhdAotICAgICAqIGNhbiBiZSBlbmNsb3NlZCBp
biBhIDxyZWY+IHdoZW4gb3V0cHV0dGluZyBhIDx3ZWJpZGw+IGVsZW1lbnQgZm9yCi0gICAgICog
YW4gYW5jZXN0b3IgZWxlbWVudC4gKi8KLSAgICBjb25zdCBjaGFyICpzdGFydDsKLSAgICBjb25z
dCBjaGFyICplbmQ7Ci0gICAgY29uc3QgY2hhciAqaWQ7Ci19OwotCi1zdHJ1Y3QgZWxlbWVudCB7
Ci0gICAgc3RydWN0IG5vZGUgbjsKLSAgICBjb25zdCBjaGFyICpuYW1lOwotfTsKLQotc3RydWN0
IGF0dHIgewotICAgIHN0cnVjdCBub2RlIG47Ci0gICAgY29uc3QgY2hhciAqbmFtZTsKLSAgICBj
b25zdCBjaGFyICp2YWx1ZTsKLX07Ci0KLXN0cnVjdCBhdHRybGlzdCB7Ci0gICAgc3RydWN0IG5v
ZGUgbjsKLX07Ci0KLXN0cnVjdCBub2RlICpuZXdlbGVtZW50KGNvbnN0IGNoYXIgKm5hbWUpOwot
c3RydWN0IG5vZGUgKm5ld2F0dHIoY29uc3QgY2hhciAqbmFtZSwgY29uc3QgY2hhciAqdmFsKTsK
LXN0cnVjdCBub2RlICpuZXdhdHRybGlzdCh2b2lkKTsKLXZvaWQgYWRkbm9kZShzdHJ1Y3Qgbm9k
ZSAqcGFyZW50LCBzdHJ1Y3Qgbm9kZSAqY2hpbGQpOwotdm9pZCByZXZlcnNlY2hpbGRyZW4oc3Ry
dWN0IG5vZGUgKm5vZGUpOwotaW50IG5vZGVpc2VtcHR5KHN0cnVjdCBub2RlICpub2RlKTsKLWNv
bnN0IGNoYXIgKmdldGF0dHIoc3RydWN0IG5vZGUgKm5vZGUsIGNvbnN0IGNoYXIgKm5hbWUpOwot
c3RydWN0IG5vZGUgKm5vZGV3YWxrKHN0cnVjdCBub2RlICpub2RlKTsKLXN0cnVjdCBub2RlICpm
aW5kcmV0dXJudHlwZShzdHJ1Y3Qgbm9kZSAqbm9kZSk7Ci1zdHJ1Y3Qgbm9kZSAqZmluZHBhcmFt
aWRlbnRpZmllcihzdHJ1Y3Qgbm9kZSAqbm9kZSwgY29uc3QgY2hhciAqbmFtZSk7Ci1zdHJ1Y3Qg
bm9kZSAqZmluZHRocm93aWRlbnRpZmllcihzdHJ1Y3Qgbm9kZSAqbm9kZSwgY29uc3QgY2hhciAq
bmFtZSk7Ci12b2lkIG91dHB1dG5vZGUoc3RydWN0IG5vZGUgKm5vZGUsIHVuc2lnbmVkIGludCBp
bmRlbnQpOwotCi0jZW5kaWYgLyogbmRlZiBub2RlX2ggKi8KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3dpZGxwcm9jL3NyYy9vcy5oIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3NyYy9vcy5oCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhYzhmNDE4OWQxOTQyOWFiODFlZDkxYzhhNTZlMTc4
ZTA4NGQ0YmVlLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC93aWRscHJvYy9zcmMvb3MuaAorKysgL2Rldi9udWxsCkBAIC0xLDMxICswLDAg
QEAKLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKgotICogJElkJAotICogQ29weXJpZ2h0IDIwMDkgQXBsaXggQ29y
cG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBh
Y2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKLSAqIHlvdSBtYXkgbm90
IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KLSAq
IFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAotICogICAgIGh0dHA6Ly93
d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAotICogVW5sZXNzIHJlcXVpcmVkIGJ5
IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQotICogZGlz
dHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBC
QVNJUywKLSAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBl
aXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgotICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3Bl
Y2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAotICogbGltaXRhdGlvbnMg
dW5kZXIgdGhlIExpY2Vuc2UuCi0gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi0jaWZuZGVmIG9zX2gKLSNkZWZp
bmUgb3NfaAotCi0vKiBMaW51eCBjb25maWd1cmF0aW9uICovCi0jaWYgZGVmaW5lZChfX2dudV9s
aW51eF9fKQotCi0KLS8qIFdpbmRvd3MgY29uZmlndXJhdGlvbiAqLwotI2VsaWYgZGVmaW5lZChf
TVNDX1ZFUikKLQotI2RlZmluZSBpbmxpbmUgX19pbmxpbmUKLSNkZWZpbmUgc3RybmNhc2VjbXAg
c3RybmljbXAKLSNkZWZpbmUgc25wcmludGYgX3NucHJpbnRmCi0jZGVmaW5lIHZhX2NvcHkoYSxi
KSAoKGEpPShiKSkKLQotI2VuZGlmCi0KLSNlbmRpZiAvKiBuZGVmIG9zX2ggKi8KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC93aWRscHJvYy9zcmMvcGFyc2UuYyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9z
cmMvcGFyc2UuYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzBlODQ1NGNlYWM1OWE1
ZTg5MGJmMDllYjgxYjY1NGI3ZjRhODZiOC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mvc3JjL3BhcnNlLmMKKysrIC9kZXYv
bnVsbApAQCAtMSwxNDE0ICswLDAgQEAKLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogJElkJAotICogQ29w
eXJpZ2h0IDIwMDkgQXBsaXggQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKiBM
aWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vu
c2UiKTsKLSAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ug
d2l0aCB0aGUgTGljZW5zZS4KLSAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5z
ZSBhdAotICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAot
ICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0
aW5nLCBzb2Z0d2FyZQotICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJp
YnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKLSAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05E
SVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgotICogU2VlIHRo
ZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25z
IGFuZAotICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCi0gKgotICogSGFuZC1jcmFm
dGVkIHJlY3Vyc2l2ZSBkZXNjZW50IHBhcnNlciBmb3IgV2ViIElETCBncmFtbWFyLgotICoqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqLwotI2luY2x1ZGUgPGFzc2VydC5oPgotI2luY2x1ZGUgPHN0ZGFyZy5oPgotI2lu
Y2x1ZGUgPHN0ZGlvLmg+Ci0jaW5jbHVkZSA8c3RyaW5nLmg+Ci0KLSNpbmNsdWRlICJjb21tZW50
LmgiCi0jaW5jbHVkZSAibGV4LmgiCi0jaW5jbHVkZSAibWlzYy5oIgotI2luY2x1ZGUgIm5vZGUu
aCIKLSNpbmNsdWRlICJwYXJzZS5oIgotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIHRva2Vycm9yZXhp
dCA6IGVycm9yIGFuZCBleGl0IHdpdGggbGluZSBudW1iZXIgZnJvbSB0b2tlbgotICovCi1zdGF0
aWMgdm9pZAotdG9rZXJyb3JleGl0KHN0cnVjdCB0b2sgKnRvaywgY29uc3QgY2hhciAqZm9ybWF0
LCAuLi4pCi17Ci0gICAgdmFfbGlzdCBhcDsKLSAgICBjaGFyICptOwotICAgIHZhX3N0YXJ0KGFw
LCBmb3JtYXQpOwotICAgIG0gPSB2bWVtcHJpbnRmKGZvcm1hdCwgYXApOwotICAgIGlmICh0b2st
PnR5cGUgPT0gVE9LX0VPRikKLSAgICAgICAgbG9jZXJyb3JleGl0KHRvay0+ZmlsZW5hbWUsIHRv
ay0+bGluZW51bSwgImF0IGVuZCBvZiBpbnB1dDogJXMiLCBtKTsKLSAgICBlbHNlCi0gICAgICAg
IGxvY2Vycm9yZXhpdCh0b2stPmZpbGVuYW1lLCB0b2stPmxpbmVudW0sICJhdCAnJS4qcyc6ICVz
IiwgdG9rLT5sZW4sIHRvay0+c3RhcnQsIG0pOwotICAgIHZhX2VuZChhcCk7Ci19Ci0KLS8qKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKgotICogbGV4bm9jb21tZW50IDogbGV4IG5leHQgdG9rZW4sIGRpc2NhcmRpbmcg
b3Igc3RvcmluZyBjb21tZW50cwotICoKLSAqIEEgYmxvY2sgY29tbWVudCBzdGFydGluZyB3aXRo
IHwqKiBvciB8KiEgaXMgYSBkb3h5Z2VuIGNvbW1lbnQuCi0gKiBJZiBpdCBzdGFydHMgd2l0aCB8
Kio8IG9yIHwqITwgdGhlbiBpdCByZWZlcnMgdG8gdGhlIHByZXZpb3VzCi0gKiBpZGVudGlmaWVy
LCBub3QgdGhlIG5leHQgb25lLiAoSSBhbSB1c2luZyB8IHRvIHJlcHJlc2VudCAvIG90aGVyd2lz
ZQotICogdGhpcyBjb21tZW50IHdvdWxkIGJlIGlsbGVnYWwuKQotICoKLSAqIEFuIGlubGluZSBj
b21tZW50IHN0YXJ0aW5nIHdpdGggLy8vIG9yIC8vISBpcyBhIGRveHlnZW4gY29tbWVudC4KLSAq
IElmIGl0IHN0YXJ0cyB3aXRoIC8vLzwgb3IgLy8hPCB0aGVuIGl0IHJlZmVycyB0byB0aGUgcHJl
dmlvdXMKLSAqIGlkZW50aWZpZXIsIG5vdCB0aGUgbmV4dCBvbmUuCi0gKi8KLXN0YXRpYyBzdHJ1
Y3QgdG9rICoKLWxleG5vY29tbWVudCh2b2lkKQotewotICAgIHN0cnVjdCB0b2sgKnRvazsKLSAg
ICBmb3IgKDs7KSB7Ci0gICAgICAgIHRvayA9IGxleCgpOwotICAgICAgICBpZiAodG9rLT50eXBl
ICE9IFRPS19CTE9DS0NPTU1FTlQgJiYgdG9rLT50eXBlICE9IFRPS19JTkxJTkVDT01NRU5UKQot
ICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGFkZGNvbW1lbnQodG9rKTsKLSAgICB9Ci0gICAg
cmV0dXJuIHRvazsKLX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBlYXQgOiBjaGVjayB0b2tlbiB0
aGVuIHJlYWQgdGhlIGZvbGxvd2luZyBvbmUKLSAqCi0gKiBFbnRlcjogICB0b2sgc3RydWN0Ci0g
KiAgICAgICAgICB0eXBlID0gdHlwZSBvZiB0b2tlbiBleHBlY3RlZCwgZXJyb3IgZ2l2ZW4gaWYg
bm8gbWF0Y2gKLSAqCi0gKiBPbiByZXR1cm4sIHRvayBpcyB1cGRhdGVkIHRvIHRoZSBmb2xsb3dp
bmcgdG9rZW4uCi0gKi8KLXN0YXRpYyB2b2lkCi1lYXQoc3RydWN0IHRvayAqdG9rLCBpbnQgdHlw
ZSkKLXsKLSAgICBpZiAodG9rLT50eXBlICE9IHR5cGUpIHsKLSAgICAgICAgY29uc3QgY2hhciAq
cDsKLSAgICAgICAgaWYgKHR5cGUgPCBUT0tfRE9NU3RyaW5nKQotICAgICAgICAgICAgdG9rZXJy
b3JleGl0KHRvaywgImV4cGVjdGVkICclYyciLCB0eXBlKTsKLSAgICAgICAgcCA9IGtleXdvcmRz
OwotICAgICAgICB3aGlsZSAodHlwZSAhPSBUT0tfRE9NU3RyaW5nKSB7Ci0gICAgICAgICAgICBw
ICs9IHN0cmxlbihwKSArIDE7Ci0gICAgICAgICAgICB0eXBlLS07Ci0gICAgICAgIH0KLSAgICAg
ICAgdG9rZXJyb3JleGl0KHRvaywgImV4cGVjdGVkICclcyciLCBwKTsKLSAgICB9Ci0gICAgbGV4
bm9jb21tZW50KCk7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogc2V0aWQgOiBmbGFnIHRoYXQg
YW4gaWQgYXR0cmlidXRlIGlzIHJlcXVpcmVkIG9uIG5vZGUKLSAqCi0gKiBFbnRlcjogICBub2Rl
Ci0gKgotICogbm9kZS0+aWQgaXMgc2V0IHRvIHRoZSB2YWx1ZSBvZiB0aGUgbmFtZSBhdHRyaWJ1
dGUuIFRoaXMgbWFrZXMKLSAqIG91dHB1dG5vZGUgZ2l2ZSBpdCBhbiBpZCBhdHRyaWJ1dGUgd2hv
c2UgdmFsdWUgaXMgdGhlIGlkIGF0dHJpYnV0ZQotICogb2YgdGhlIHBhcmVudCBpZiBhbnksIHRo
ZW4gIjo6IiwgdGhlbiBub2RlLT5pZC4KLSAqLwotc3RhdGljIHZvaWQKLXNldGlkKHN0cnVjdCBu
b2RlICpub2RlKQotewotICAgIG5vZGUtPmlkID0gZ2V0YXR0cihub2RlLCAibmFtZSIpOwotfQot
Ci0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioKLSAqIHNldGlkZW50aWZpZXIgOiBhbGxvY2F0ZSAwLXRlcm1pbmF0
ZWQgc3RyaW5nIGZvciBpZGVudGlmaWVyIHRva2VuCi0gKgotICogRW50ZXI6ICAgdG9rID0gdG9r
ZW4sIGVycm9yIGdpdmVuIGlmIG5vdCBpZGVudGlmaWVyCi0gKgotICogUmV0dXJuOiAgYWxsb2Nh
dGVkIDAtdGVybWluYXRlZCBzdHJpbmcKLSAqLwotc3RhdGljIGNoYXIgKgotc2V0aWRlbnRpZmll
cihzdHJ1Y3QgdG9rICp0b2spCi17Ci0gICAgY2hhciAqczsKLSAgICBpZiAodG9rLT50eXBlICE9
IFRPS19JREVOVElGSUVSKQotICAgICAgICB0b2tlcnJvcmV4aXQodG9rLCAiZXhwZWN0ZWQgaWRl
bnRpZmllciIpOwotICAgIHMgPSBtZW1wcmludGYoIiUuKnMiLCB0b2stPmxlbiwgdG9rLT5zdGFy
dCk7Ci0gICAgcmV0dXJuIHM7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogc2V0YXJndW1lbnRu
YW1lIDogYWxsb2NhdGUgMC10ZXJtaW5hdGVkIHN0cmluZyBmb3IgaWRlbnRpZmllciB0b2tlbgot
ICoKLSAqIEVudGVyOiAgIHRvayA9IHRva2VuLCBlcnJvciBnaXZlbiBpZiBub3QgaWRlbnRpZmll
cgotICoKLSAqIFJldHVybjogIGFsbG9jYXRlZCAwLXRlcm1pbmF0ZWQgc3RyaW5nCi0gKi8KLXN0
YXRpYyBjaGFyICoKLXNldGFyZ3VtZW50bmFtZShzdHJ1Y3QgdG9rICp0b2spCi17Ci0gICAgY2hh
ciAqczsKLSAgICBpZiAodG9rLT50eXBlICE9IFRPS19JREVOVElGSUVSICYmIHRvay0+dHlwZSA8
IFRPS19hdHRyaWJ1dGUpCi0gICAgICAgIHRva2Vycm9yZXhpdCh0b2ssICJleHBlY3RlZCBhcmd1
bWVudCBuYW1lIik7Ci0gICAgcyA9IG1lbXByaW50ZigiJS4qcyIsIHRvay0+bGVuLCB0b2stPnN0
YXJ0KTsKLSAgICByZXR1cm4gczsKLX0KLQotCi0vKiBQcm90b3R5cGVzIGZvciBmdW5jcyB0aGF0
IGhhdmUgYSBmb3J3YXJkIHJlZmVyZW5jZS4gKi8KLXN0YXRpYyBzdHJ1Y3Qgbm9kZSAqcGFyc2V0
eXBlKHN0cnVjdCB0b2sgKnRvayk7Ci1zdGF0aWMgc3RydWN0IG5vZGUgKnBhcnNlZGVmYXVsdHZh
bHVlKHN0cnVjdCB0b2sgKnRvaywgc3RydWN0IG5vZGUgKnBhcmVudCk7Ci1zdGF0aWMgc3RydWN0
IG5vZGUgKnBhcnNldW5pb250eXBlKHN0cnVjdCB0b2sgKnRvayk7Ci1zdGF0aWMgc3RydWN0IG5v
ZGUgKnBhcnNlYXJndW1lbnRsaXN0KHN0cnVjdCB0b2sgKnRvayk7Ci1zdGF0aWMgdm9pZCBwYXJz
ZWRlZmluaXRpb25zKHN0cnVjdCB0b2sgKnRvaywgc3RydWN0IG5vZGUgKnBhcmVudCk7Ci1zdGF0
aWMgc3RydWN0IG5vZGUgKnBhcnNldHlwZXN1ZmZpeHN0YXJ0aW5nd2l0aGFycmF5KHN0cnVjdCB0
b2sgKnRvaywgc3RydWN0IG5vZGUgKm5vZGUpOwotCi0vKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIHBhcnNl
c2NvcGVkbmFtZSA6IHBhcnNlIFs1M10gU2NvcGVkTmFtZQotICoKLSAqIEVudGVyOiAgIHRvayA9
IG5leHQgdG9rZW4KLSAqICAgICAgICAgIG5hbWUgPSBuYW1lIG9mIGF0dHJpYnV0ZSB0byBwdXQg
c2NvcGVkIG5hbWUgaW4KLSAqICAgICAgICAgIHJlZiA9IHdoZXRoZXIgdG8gZW5hYmxlIGVuY2xv
c2luZyBvZiB0aGUgbmFtZSBpbiA8cmVmPiBpbgotICogICAgICAgICAgICAgICAgb3V0cHV0d2lk
bAotICoKLSAqIFJldHVybjogIG5vZGUgc3RydWN0IGZvciBuZXcgYXR0cmlidXRlCi0gKiAgICAg
ICAgICB0b2sgdXBkYXRlZAotICovCi1zdGF0aWMgc3RydWN0IG5vZGUgKgotcGFyc2VzY29wZWRu
YW1lKHN0cnVjdCB0b2sgKnRvaywgY29uc3QgY2hhciAqbmFtZSwgaW50IHJlZikKLXsKLSAgICBj
b25zdCBjaGFyICpzdGFydCA9IHRvay0+c3RhcnQsICplbmQ7Ci0gICAgc3RydWN0IG5vZGUgKm5v
ZGU7Ci0gICAgdW5zaWduZWQgaW50IGxlbiA9IDA7Ci0gICAgY2hhciAqcyA9IG1lbWFsbG9jKDMp
OwotICAgIGlmICh0b2stPnR5cGUgIT0gVE9LX0lERU5USUZJRVIpCi0gICAgICAgIHRva2Vycm9y
ZXhpdCh0b2ssICJleHBlY3RlZCBpZGVudGlmaWVyIik7Ci0gICAgcyA9IG1lbXJlYWxsb2Mocywg
bGVuICsgdG9rLT5sZW4gKyAxKTsKLSAgICBtZW1jcHkocyArIGxlbiwgdG9rLT5zdGFydCwgdG9r
LT5sZW4pOwotICAgIGxlbiArPSB0b2stPmxlbjsKLSAgICBlbmQgPSB0b2stPnN0YXJ0ICsgdG9r
LT5sZW47Ci0gICAgbGV4bm9jb21tZW50KCk7Ci0gICAgc1tsZW5dID0gMDsKLSAgICBub2RlID0g
bmV3YXR0cihuYW1lLCBzKTsKLSAgICBpZiAocmVmKSB7Ci0gICAgICAgIG5vZGUtPnN0YXJ0ID0g
c3RhcnQ7Ci0gICAgICAgIG5vZGUtPmVuZCA9IGVuZDsKLSAgICB9Ci0gICAgcmV0dXJuIG5vZGU7
Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKgotICogcGFyc2VzY29wZWRuYW1lbGlzdCA6IHBhcnNlIFs1
MV0gU2NvcGVkTmFtZUxpc3QKLSAqCi0gKiBFbnRlcjogICB0b2sgPSBuZXh0IHRva2VuCi0gKiAg
ICAgICAgICBuYW1lID0gbmFtZSBvZiBlbGVtZW50IGZvciBzY29wZWQgbmFtZSBsaXN0Ci0gKiAg
ICAgICAgICBuYW1lMiA9IG5hbWUgb2YgZWxlbWVudCBmb3IgZW50cnkgaW4gbGlzdAotICogICAg
ICAgICAgY29tbWVudCA9IHdoZXRoZXIgdG8gYXR0YWNoIGRvY3VtZW50YXRpb24gdG8gZWFjaCBu
YW1lCi0gKgotICogUmV0dXJuOiAgbm9kZSBmb3IgbGlzdCBvZiBzY29wZWQgbmFtZXMKLSAqICAg
ICAgICAgIHRvayB1cGRhdGVkCi0gKi8KLXN0YXRpYyBzdHJ1Y3Qgbm9kZSAqCi1wYXJzZXNjb3Bl
ZG5hbWVsaXN0KHN0cnVjdCB0b2sgKnRvaywgY29uc3QgY2hhciAqbmFtZSwgY29uc3QgY2hhciAq
bmFtZTIsCi0gICAgICAgIGludCBjb21tZW50KQotewotICAgIHN0cnVjdCBub2RlICpub2RlID0g
bmV3ZWxlbWVudChuYW1lKTsKLSAgICBmb3IgKDs7KSB7Ci0gICAgICAgIHN0cnVjdCBub2RlICph
dHRyID0gcGFyc2VzY29wZWRuYW1lKHRvaywgIm5hbWUiLCAxKTsKLSAgICAgICAgc3RydWN0IG5v
ZGUgKm4gPSBuZXdlbGVtZW50KG5hbWUyKTsKLSAgICAgICAgaWYgKGNvbW1lbnQpCi0gICAgICAg
ICAgICBzZXRjb21tZW50bm9kZShuKTsKLSAgICAgICAgYWRkbm9kZShuLCBhdHRyKTsKLSAgICAg
ICAgYWRkbm9kZShub2RlLCBuKTsKLSAgICAgICAgaWYgKHRvay0+dHlwZSAhPSAnLCcpCi0gICAg
ICAgICAgICBicmVhazsKLSAgICAgICAgbGV4bm9jb21tZW50KCk7Ci0gICAgfQotICAgIHJldHVy
biBub2RlOwotfQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIHBhcnNlcmV0dXJudHlwZSA6IHBhcnNl
IFs1MF0gUmV0dXJuVHlwZQotICoKLSAqIEVudGVyOiAgIHRvayA9IG5leHQgdG9rZW4KLSAqCi0g
KiBSZXR1cm46ICBub2RlIGZvciB0eXBlCi0gKiAgICAgICAgICB0b2sgdXBkYXRlZAotICovCi1z
dGF0aWMgc3RydWN0IG5vZGUgKgotcGFyc2VyZXR1cm50eXBlKHN0cnVjdCB0b2sgKnRvaykKLXsK
LSAgICBpZiAodG9rLT50eXBlID09IFRPS192b2lkKSB7Ci0gICAgICAgIHN0cnVjdCBub2RlICpu
b2RlID0gbmV3ZWxlbWVudCgiVHlwZSIpOwotICAgICAgICBhZGRub2RlKG5vZGUsIG5ld2F0dHIo
InR5cGUiLCAidm9pZCIpKTsKLSAgICAgICAgbGV4bm9jb21tZW50KCk7Ci0gICAgICAgIHJldHVy
biBub2RlOwotICAgIH0KLSAgICByZXR1cm4gcGFyc2V0eXBlKHRvayk7Ci19Ci0KLS8qKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKgotICogcGFyc2V1bnNpZ25lZGludGVnZXJ0eXBlIDogcGFyc2UgWzQ2XSBVbnNpZ25l
ZEludGVnZXJUeXBlCi0gKgotICogRW50ZXI6ICAgdG9rID0gbmV4dCB0b2tlbiAob25lIG9mICJ1
bnNpZ25lZCIsICJzaG9ydCIgb3IgImxvbmciKQotICoKLSAqIFJldHVybjogIDAtdGVybWluYXRl
ZCBjYW5vbmljYWwgc3RyaW5nIGZvciB0aGUgdHlwZQotICogICAgICAgICAgdG9rIHVwZGF0ZWQg
dG8ganVzdCBwYXN0IFVuc2lnbmVkSW50ZWdlclR5cGUKLSAqLwotc3RhdGljIGNvbnN0IGNoYXIg
KgotcGFyc2V1bnNpZ25lZGludGVnZXJ0eXBlKHN0cnVjdCB0b2sgKnRvaykKLXsKLSAgICBzdGF0
aWMgY29uc3QgY2hhciAqbmFtZXNbXSA9IHsKLSAgICAgICAgInNob3J0IiwgImxvbmciLCAibG9u
ZyBsb25nIiwgMCwKLSAgICAgICAgInVuc2lnbmVkIHNob3J0IiwgInVuc2lnbmVkIGxvbmciLCAi
dW5zaWduZWQgbG9uZyBsb25nIiB9OwotICAgIGVudW0geyBUWVBFX1NIT1JULCBUWVBFX0xPTkcs
IFRZUEVfTE9OR0xPTkcsCi0gICAgICAgICAgIFRZUEVfVU5TSUdORUQgPSA0IH07Ci0gICAgaW50
IHR5cGUgPSAwOwotICAgIGlmICh0b2stPnR5cGUgPT0gVE9LX3Vuc2lnbmVkKSB7Ci0gICAgICAg
IHR5cGUgPSBUWVBFX1VOU0lHTkVEOwotICAgICAgICBsZXhub2NvbW1lbnQoKTsKLSAgICB9Ci0g
ICAgaWYgKHRvay0+dHlwZSA9PSBUT0tfc2hvcnQpIHsKLSAgICAgICAgdHlwZSB8PSBUWVBFX1NI
T1JUOwotICAgICAgICBsZXhub2NvbW1lbnQoKTsKLSAgICB9IGVsc2UgaWYgKHRvay0+dHlwZSAh
PSBUT0tfbG9uZykKLSAgICAgICAgdG9rZXJyb3JleGl0KHRvaywgImV4cGVjdGVkICdzaG9ydCcg
b3IgJ2xvbmcnIGFmdGVyICd1bnNpZ25lZCciKTsKLSAgICBlbHNlIHsKLSAgICAgICAgdHlwZSB8
PSBUWVBFX0xPTkc7Ci0gICAgICAgIGxleG5vY29tbWVudCgpOwotICAgICAgICBpZiAodG9rLT50
eXBlID09IFRPS19sb25nKSB7Ci0gICAgICAgICAgICB0eXBlICs9IFRZUEVfTE9OR0xPTkcgLSBU
WVBFX0xPTkc7Ci0gICAgICAgICAgICBsZXhub2NvbW1lbnQoKTsKLSAgICAgICAgfQotICAgIH0K
LSAgICByZXR1cm4gbmFtZXNbdHlwZV07Ci19Ci0vKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIHBhcnNldHlw
ZXN1ZmZpeCA6IHBhcnNlIFs0NF0gVHlwZVN1ZmZpeAotICoKLSAqIEVudGVyOiAgIHRvayA9IG5l
eHQgdG9rZW4KLSAqCi0gKiBSZXR1cm46ICBub2RlIGZvciB0eXBlCi0gKiAgICAgICAgICB0b2sg
dXBkYXRlZAotICovCi1zdGF0aWMgc3RydWN0IG5vZGUgKgotcGFyc2V0eXBlc3VmZml4KHN0cnVj
dCB0b2sgKnRvaywgc3RydWN0IG5vZGUgKm5vZGUpCi17Ci0gICAgaWYgKHRvay0+dHlwZSA9PSBU
T0tfRE9VQkxFQlJBQ0tFVCkgewotICAgICAgICBzdHJ1Y3Qgbm9kZSAqdHlwZW5vZGUgPSBub2Rl
OwotCW5vZGUgPSBuZXdlbGVtZW50KCJUeXBlIik7Ci0gICAgICAgIGFkZG5vZGUobm9kZSwgbmV3
YXR0cigidHlwZSIsICJhcnJheSIpKTsKLSAgICAgICAgYWRkbm9kZShub2RlLCB0eXBlbm9kZSk7
Ci0gICAgICAgIGxleG5vY29tbWVudCgpOwotCW5vZGUgPSBwYXJzZXR5cGVzdWZmaXgodG9rLCBu
b2RlKTsKLSAgICB9IGVsc2UgaWYgKHRvay0+dHlwZSA9PSAnPycpIHsKLSAgICAgICAgYWRkbm9k
ZShub2RlLCBuZXdhdHRyKCJudWxsYWJsZSIsICJudWxsYWJsZSIpKTsKLSAgICAgICAgbGV4bm9j
b21tZW50KCk7Ci0Jbm9kZSA9IHBhcnNldHlwZXN1ZmZpeHN0YXJ0aW5nd2l0aGFycmF5KHRvaywg
bm9kZSk7Ci0gICAgfQotICAgIHJldHVybiBub2RlOwotfQotCi0vKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAq
IHBhcnNldHlwZXN1ZmZpeHN0YXJ0aW5nd2l0aGFycmF5IDogcGFyc2UgWzQ0XSBUeXBlU3VmZml4
U3RhcnRpbmdXaXRoQXJyYXkKLSAqCi0gKiBFbnRlcjogICB0b2sgPSBuZXh0IHRva2VuCi0gKgot
ICogUmV0dXJuOiAgbm9kZSBmb3IgdHlwZQotICogICAgICAgICAgdG9rIHVwZGF0ZWQKLSAqLwot
c3RhdGljIHN0cnVjdCBub2RlICoKLXBhcnNldHlwZXN1ZmZpeHN0YXJ0aW5nd2l0aGFycmF5KHN0
cnVjdCB0b2sgKnRvaywgIHN0cnVjdCBub2RlICpub2RlKQotewotICAgIGlmICh0b2stPnR5cGUg
PT0gVE9LX0RPVUJMRUJSQUNLRVQpIHsKLSAgICAgICAgc3RydWN0IG5vZGUgKnR5cGVub2RlID0g
bm9kZTsKLQlub2RlID0gbmV3ZWxlbWVudCgiVHlwZSIpOwotICAgICAgICBhZGRub2RlKG5vZGUs
IG5ld2F0dHIoInR5cGUiLCAiYXJyYXkiKSk7Ci0gICAgICAgIGFkZG5vZGUobm9kZSwgdHlwZW5v
ZGUpOwotICAgICAgICBsZXhub2NvbW1lbnQoKTsKLQlub2RlID0gcGFyc2V0eXBlc3VmZml4KHRv
aywgbm9kZSk7Ci0gICAgfQotICAgIHJldHVybiBub2RlOwotfQotCi0vKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioK
LSAqIHBhcnNlcHJpbWl0aXZlb3JzdHJpbmd0eXBlIDogcGFyc2UgWzQ1XSBQcmltaXRpdmVPclN0
cmluZwotICoKLSAqIEVudGVyOiAgIHRvayA9IG5leHQgdG9rZW4KLSAqCi0gKiBSZXR1cm46ICBu
b2RlIGZvciB0eXBlCi0gKiAgICAgICAgICB0b2sgdXBkYXRlZAotICovCi1zdGF0aWMgc3RydWN0
IG5vZGUgKgotcGFyc2VwcmltaXRpdmVvcnN0cmluZ3R5cGUoc3RydWN0IHRvayAqdG9rKQotewot
ICBzdHJ1Y3Qgbm9kZSAqbm9kZTsKLSAgICBzd2l0Y2ggKHRvay0+dHlwZSkgewotICAgIGNhc2Ug
VE9LX3Vuc2lnbmVkOgotICAgIGNhc2UgVE9LX3Nob3J0OgotICAgIGNhc2UgVE9LX2xvbmc6Ci0g
ICAgICAgIG5vZGUgPSBuZXdlbGVtZW50KCJUeXBlIik7Ci0gICAgICAgIGFkZG5vZGUobm9kZSwg
bmV3YXR0cigidHlwZSIsIHBhcnNldW5zaWduZWRpbnRlZ2VydHlwZSh0b2spKSk7Ci0gICAgICAg
IGJyZWFrOwotICAgIGRlZmF1bHQ6Ci0gICAgICAgIG5vZGUgPSBuZXdlbGVtZW50KCJUeXBlIik7
Ci0gICAgICAgIHN3aXRjaCAodG9rLT50eXBlKSB7Ci0gICAgICAgIGRlZmF1bHQ6Ci0gICAgICAg
ICAgICB0b2tlcnJvcmV4aXQodG9rLCAiZXhwZWN0ZWQgdHlwZSIpOwotICAgICAgICAgICAgYnJl
YWs7Ci0JY2FzZSBUT0tfdW5yZXN0cmljdGVkOgotCSAgbGV4bm9jb21tZW50KCk7Ci0JICBpZiAo
dG9rLT50eXBlID09IFRPS19mbG9hdCkgewotICAgICAgICAgICAgYWRkbm9kZShub2RlLCBuZXdh
dHRyKCJ0eXBlIiwgInVucmVzdHJpY3RlZCBmbG9hdCIpKTsKLQkgIH0gZWxzZSBpZiAodG9rLT50
eXBlID09IFRPS19kb3VibGUpIHsKLSAgICAgICAgICAgIGFkZG5vZGUobm9kZSwgbmV3YXR0cigi
dHlwZSIsICJ1bnJlc3RyaWN0ZWQgZG91YmxlIikpOwotCSAgfSBlbHNlIHsKLSAgICAgICAgICAg
IHRva2Vycm9yZXhpdCh0b2ssICJleHBlY3RlZCBmbG9hdCBvciBkb3VibGUgYWZ0ZXIgdW5yZXN0
cmljdGVkIik7Ci0JICB9Ci0JICBicmVhazsKLSAgICAgICAgY2FzZSBUT0tfYm9vbGVhbjoKLSAg
ICAgICAgICAgIGFkZG5vZGUobm9kZSwgbmV3YXR0cigidHlwZSIsICJib29sZWFuIikpOwotICAg
ICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgVE9LX2J5dGU6Ci0gICAgICAgICAgICBhZGRu
b2RlKG5vZGUsIG5ld2F0dHIoInR5cGUiLCAiYnl0ZSIpKTsKLSAgICAgICAgICAgIGJyZWFrOwot
ICAgICAgICBjYXNlIFRPS19vY3RldDoKLSAgICAgICAgICAgIGFkZG5vZGUobm9kZSwgbmV3YXR0
cigidHlwZSIsICJvY3RldCIpKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlIFRP
S19mbG9hdDoKLSAgICAgICAgICAgIGFkZG5vZGUobm9kZSwgbmV3YXR0cigidHlwZSIsICJmbG9h
dCIpKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlIFRPS19kb3VibGU6Ci0gICAg
ICAgICAgICBhZGRub2RlKG5vZGUsIG5ld2F0dHIoInR5cGUiLCAiZG91YmxlIikpOwotICAgICAg
ICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgVE9LX0RPTVN0cmluZzoKLSAgICAgICAgICAgIGFk
ZG5vZGUobm9kZSwgbmV3YXR0cigidHlwZSIsICJET01TdHJpbmciKSk7Ci0gICAgICAgICAgICBi
cmVhazsKLSAgICAgICAgY2FzZSBUT0tfQnl0ZVN0cmluZzoKLSAgICAgICAgICAgIGFkZG5vZGUo
bm9kZSwgbmV3YXR0cigidHlwZSIsICJCeXRlU3RyaW5nIikpOwotICAgICAgICAgICAgYnJlYWs7
Ci0gICAgICAgIGNhc2UgVE9LX0RhdGU6Ci0gICAgICAgICAgICBhZGRub2RlKG5vZGUsIG5ld2F0
dHIoInR5cGUiLCAiRGF0ZSIpKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlIFRP
S19SZWdFeHA6Ci0gICAgICAgICAgICBhZGRub2RlKG5vZGUsIG5ld2F0dHIoInR5cGUiLCAiUmVn
RXhwIikpOwotICAgICAgICAgICAgYnJlYWs7Ci0KLSAgICAgICAgfQotICAgICAgICBsZXhub2Nv
bW1lbnQoKTsKLSAgICB9Ci0gICAgcmV0dXJuIG5vZGU7Ci19Ci0KLS8qKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgot
ICogcGFyc2Vub25hbnl0eXBlIDogcGFyc2UgTm9uQW55VHlwZQotICoKLSAqIEVudGVyOiAgIHRv
ayA9IG5leHQgdG9rZW4KLSAqCi0gKiBSZXR1cm46ICBub2RlIGZvciB0eXBlCi0gKiAgICAgICAg
ICB0b2sgdXBkYXRlZAotICovCi1zdGF0aWMgc3RydWN0IG5vZGUgKgotcGFyc2Vub25hbnl0eXBl
KHN0cnVjdCB0b2sgKnRvaykKLXsKLSAgICBzdHJ1Y3Qgbm9kZSAqbm9kZTsKLSAgICBzd2l0Y2gg
KHRvay0+dHlwZSkgewotICAgIGNhc2UgVE9LX0lERU5USUZJRVI6Ci0gICAgICAgIG5vZGUgPSBu
ZXdlbGVtZW50KCJUeXBlIik7Ci0gICAgICAgIGFkZG5vZGUobm9kZSwgcGFyc2VzY29wZWRuYW1l
KHRvaywgIm5hbWUiLCAxKSk7Ci0Jbm9kZSA9IHBhcnNldHlwZXN1ZmZpeCh0b2ssIG5vZGUpOwot
ICAgICAgICBicmVhazsKLSAgICBjYXNlIFRPS19zZXF1ZW5jZToKLSAgICAgICAgbm9kZSA9IG5l
d2VsZW1lbnQoIlR5cGUiKTsKLSAgICAgICAgYWRkbm9kZShub2RlLCBuZXdhdHRyKCJ0eXBlIiwg
InNlcXVlbmNlIikpOwotICAgICAgICBsZXhub2NvbW1lbnQoKTsKLSAgICAgICAgZWF0KHRvaywg
JzwnKTsKLSAgICAgICAgYWRkbm9kZShub2RlLCBwYXJzZXR5cGUodG9rKSk7Ci0gICAgICAgIGVh
dCh0b2ssICc+Jyk7Ci0JaWYgKHRvay0+dHlwZSA9PSAnPycpIHsKLQkgIGFkZG5vZGUobm9kZSwg
bmV3YXR0cigibnVsbGFibGUiLCAibnVsbGFibGUiKSk7Ci0JICBsZXhub2NvbW1lbnQoKTsKLQl9
Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgVE9LX29iamVjdDoKLSAgICAgICAgbm9kZSA9IG5l
d2VsZW1lbnQoIlR5cGUiKTsKLSAgICAgICAgYWRkbm9kZShub2RlLCBuZXdhdHRyKCJ0eXBlIiwg
Im9iamVjdCIpKTsKLSAgICAgICAgbGV4bm9jb21tZW50KCk7Ci0Jbm9kZSA9IHBhcnNldHlwZXN1
ZmZpeCh0b2ssIG5vZGUpOwotICAgICAgICBicmVhazsKLSAgICBkZWZhdWx0OgotICAgICAgICBu
b2RlID0gcGFyc2VwcmltaXRpdmVvcnN0cmluZ3R5cGUodG9rKTsKLSAgICAgICAgbm9kZSA9IHBh
cnNldHlwZXN1ZmZpeCh0b2ssIG5vZGUpOwotICAgICAgICBicmVhazsKLSAgICB9ICAgICAgIAot
ICAgIHJldHVybiBub2RlOwotfQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIHBhcnNldW5pb25tZW1i
ZXJ0eXBlOiBwYXJzZSBVbmlvbk1lbWJlclR5cGUKLSAqCi0gKiBFbnRlcjogICB0b2sgPSBuZXh0
IHRva2VuCi0gKgotICogUmV0dXJuOiAgbm9kZSBmb3IgdHlwZQotICogICAgICAgICAgdG9rIHVw
ZGF0ZWQKLSAqLwotc3RhdGljIHN0cnVjdCBub2RlICoKLXBhcnNldW5pb25tZW1iZXJ0eXBlKHN0
cnVjdCB0b2sgKnRvaykKLXsKLSAgc3RydWN0IG5vZGUgKm5vZGU7Ci0gIGlmICh0b2stPnR5cGUg
PT0gVE9LX2FueSkgewotICAgIHN0cnVjdCBub2RlICp0eXBlbm9kZSA9IG5ld2VsZW1lbnQoIlR5
cGUiKTsKLSAgICBhZGRub2RlKHR5cGVub2RlLCBuZXdhdHRyKCJ0eXBlIiwgImFueSIpKTsKLSAg
ICBsZXhub2NvbW1lbnQoKTsKLSAgICBlYXQodG9rLCBUT0tfRE9VQkxFQlJBQ0tFVCk7Ci0gICAg
bm9kZSA9IG5ld2VsZW1lbnQoIlR5cGUiKTsKLSAgICBhZGRub2RlKG5vZGUsIG5ld2F0dHIoInR5
cGUiLCAiYXJyYXkiKSk7Ci0gICAgYWRkbm9kZShub2RlLCB0eXBlbm9kZSk7Ci0gICAgbGV4bm9j
b21tZW50KCk7Ci0gICAgbm9kZSA9IHBhcnNldHlwZXN1ZmZpeCh0b2ssIG5vZGUpOwotICB9IGVs
c2UgaWYgKHRvay0+dHlwZSA9PSAnKCcpIHsgCi0gICAgbm9kZSA9IHBhcnNldW5pb250eXBlKHRv
ayk7Ci0gIH0gZWxzZSB7Ci0gICAgbm9kZSA9IHBhcnNlbm9uYW55dHlwZSh0b2spOwotICB9Ci0g
IHJldHVybiBub2RlOwotfQotCi0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogcGFyc2V1bmlvbnR5cGUg
OiBwYXJzZSBVbmlvblR5cGUKLSAqCi0gKiBFbnRlcjogICB0b2sgPSBuZXh0IHRva2VuCi0gKgot
ICogUmV0dXJuOiAgbm9kZSBmb3IgdHlwZQotICogICAgICAgICAgdG9rIHVwZGF0ZWQKLSAqLwot
c3RhdGljIHN0cnVjdCBub2RlICoKLXBhcnNldW5pb250eXBlKHN0cnVjdCB0b2sgKnRvaykKLXsK
LSAgc3RydWN0IG5vZGUgKm5vZGU7Ci0gIGVhdCh0b2ssICcoJyk7Ci0gIG5vZGUgPSBuZXdlbGVt
ZW50KCJUeXBlIik7Ci0gIGFkZG5vZGUobm9kZSwgbmV3YXR0cigidHlwZSIsICJ1bmlvbiIpKTsK
LSAgaWYgKHRvay0+dHlwZSAhPSAnKScpIHsKLSAgICBmb3IgKDs7KSB7Ci0gICAgICBhZGRub2Rl
KG5vZGUsIHBhcnNldW5pb25tZW1iZXJ0eXBlKHRvaykpOwotICAgICAgaWYgKHRvay0+dHlwZSAh
PSBUT0tfb3IpCi0JYnJlYWs7Ci0gICAgICBsZXhub2NvbW1lbnQoKTsKLSAgICB9Ci0gIH0KLSAg
ZWF0KHRvaywgJyknKTsKLSAgbm9kZSA9IHBhcnNldHlwZXN1ZmZpeCh0b2ssIG5vZGUpOyAgICAg
IAotICByZXR1cm4gbm9kZTsKLX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBwYXJzZXR5cGUgOiBw
YXJzZSBbNDRdIFR5cGUKLSAqCi0gKiBFbnRlcjogICB0b2sgPSBuZXh0IHRva2VuCi0gKgotICog
UmV0dXJuOiAgbm9kZSBmb3IgdHlwZQotICogICAgICAgICAgdG9rIHVwZGF0ZWQKLSAqLwotc3Rh
dGljIHN0cnVjdCBub2RlICoKLXBhcnNldHlwZShzdHJ1Y3QgdG9rICp0b2spCi17Ci0gICAgc3Ry
dWN0IG5vZGUgKm5vZGU7Ci0gICAgaWYgKHRvay0+dHlwZSA9PSAnKCcpIHsKLSAgICAgIG5vZGUg
PSBwYXJzZXVuaW9udHlwZSh0b2spOwotICAgIH0gZWxzZSBpZiAodG9rLT50eXBlID09IFRPS19h
bnkpIHsKLSAgICAgIG5vZGUgPSBuZXdlbGVtZW50KCJUeXBlIik7Ci0gICAgICBhZGRub2RlKG5v
ZGUsIG5ld2F0dHIoInR5cGUiLCAiYW55IikpOwotICAgICAgbGV4bm9jb21tZW50KCk7Ci0gICAg
ICBub2RlID0gcGFyc2V0eXBlc3VmZml4c3RhcnRpbmd3aXRoYXJyYXkodG9rLCBub2RlKTsKLSAg
ICB9IGVsc2UgewotICAgICAgbm9kZSA9IHBhcnNlbm9uYW55dHlwZSh0b2spOwkKLSAgICB9Ci0g
ICAgcmV0dXJuIG5vZGU7Ci19Ci0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBwYXJzZWV4dGVuZGVk
YXR0cmlidXRlIDogcGFyc2UgWzM5XSBFeHRlbmRlZEF0dHJpYnV0ZQotICoKLSAqIEVudGVyOiAg
IHRvayA9IG5leHQgdG9rZW4KLSAqCi0gKiBSZXR1cm46ICBub2RlIGZvciBleHRlbmRlZCBhdHRy
aWJ1dGUKLSAqCi0gKiBUaGlzIHBhcnNlcyB0aGUgdmFyaW91cyBmb3JtcyBvZiBleHRlbmRlZCBh
dHRyaWJ1dGUsIGFzIGluCi0gKiBydWxlcyBbNTddIFs1OF0gWzU5XSBbNjBdIFs2MV0uCi0gKgot
ICogVGhpcyBkb2VzIG5vdCBzcG90IHRoZSBlcnJvciB0aGF0IHlvdSBjYW5ub3QgaGF2ZSBhIFNj
b3BlZE5hbWUKLSAqIGFuZCBhbiBBcmd1bWVudExpc3QuCi0gKi8KLXN0YXRpYyBzdHJ1Y3Qgbm9k
ZSAqCi1wYXJzZWV4dGVuZGVkYXR0cmlidXRlKHN0cnVjdCB0b2sgKnRvaykKLXsKLQljb25zdCBj
aGFyICpzdGFydCA7Ci0gICAgc3RydWN0IG5vZGUgKm5vZGUgPSBuZXdlbGVtZW50KCJFeHRlbmRl
ZEF0dHJpYnV0ZSIpOwotICAgIGNoYXIgKmF0dHJuYW1lID0gc2V0aWRlbnRpZmllcih0b2spOwot
ICAgIGFkZG5vZGUobm9kZSwgbmV3YXR0cigibmFtZSIsIGF0dHJuYW1lKSk7Ci0gICAgc3RhcnQg
PSB0b2stPnByZXN0YXJ0OwotICAgIG5vZGUtPndzc3RhcnQgPSBzdGFydDsKLSAgICBub2RlLT5l
bmQgPSB0b2stPnN0YXJ0ICsgdG9rLT5sZW47Ci0gICAgaWYoIXN0cmNtcChhdHRybmFtZSwgIkNv
bnN0cnVjdG9yIikgfHwgIXN0cmNtcChhdHRybmFtZSwgIk5hbWVkQ29uc3RydWN0b3IiKSkgewot
CSAgICBzZXRjb21tZW50bm9kZShub2RlKTsKLQl9Ci0gICAgbGV4bm9jb21tZW50KCk7Ci0gICAg
aWYgKHRvay0+dHlwZSA9PSAnPScpIHsKLSAgICAgICAgbGV4bm9jb21tZW50KCk7Ci0gICAgICAg
IGFkZG5vZGUobm9kZSwgcGFyc2VzY29wZWRuYW1lKHRvaywgInZhbHVlIiwgMCkpOwotICAgIH0K
LSAgICBpZiAodG9rLT50eXBlID09ICcoJykgewotICAgICAgICBsZXhub2NvbW1lbnQoKTsKLSAg
ICAgICAgYWRkbm9kZShub2RlLCBwYXJzZWFyZ3VtZW50bGlzdCh0b2spKTsKLQkgICAgbm9kZS0+
ZW5kID0gdG9rLT5zdGFydCArIHRvay0+bGVuOwotICAgICAgICBlYXQodG9rLCAnKScpOwotICAg
IH0KLSAgICByZXR1cm4gbm9kZTsKLX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBwYXJzZWV4dGVu
ZGVkYXR0cmlidXRlbGlzdCA6IHBhcnNlIFszN10gRXh0ZW5kZWRBdHRyaWJ1dGVMaXN0Ci0gKgot
ICogRW50ZXI6ICAgdG9rID0gbmV4dCB0b2tlbgotICoKLSAqIFJldHVybjogIDAgZWxzZSBub2Rl
IGZvciBleHRlbmRlZCBhdHRyaWJ1dGUgbGlzdAotICogICAgICAgICAgdG9rIHVwZGF0ZWQgaWYg
YW55dGhpbmcgcGFyc2VkCi0gKi8KLXN0YXRpYyBzdHJ1Y3Qgbm9kZSAqCi1wYXJzZWV4dGVuZGVk
YXR0cmlidXRlbGlzdChzdHJ1Y3QgdG9rICp0b2spCi17Ci0gICAgc3RydWN0IG5vZGUgKm5vZGU7
Ci0gICAgaWYgKHRvay0+dHlwZSAhPSAnWycpCi0gICAgICAgIHJldHVybiAwOwotICAgIG5vZGUg
PSBuZXdlbGVtZW50KCJFeHRlbmRlZEF0dHJpYnV0ZUxpc3QiKTsKLSAgICBmb3IgKDs7KSB7Ci0g
ICAgICAgIGxleG5vY29tbWVudCgpOwotICAgICAgICBhZGRub2RlKG5vZGUsIHBhcnNlZXh0ZW5k
ZWRhdHRyaWJ1dGUodG9rKSk7Ci0gICAgICAgIGlmICh0b2stPnR5cGUgIT0gJywnKQotICAgICAg
ICAgICAgYnJlYWs7Ci0gICAgfQotICAgIGlmICh0b2stPnR5cGUgIT0gJ10nKQotICAgICAgICB0
b2tlcnJvcmV4aXQodG9rLCAiZXhwZWN0ZWQgJywnIG9yICddJyIpOwotICAgIGxleG5vY29tbWVu
dCgpOwotICAgIHJldHVybiBub2RlOwotfQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIHBhcnNlZXhj
ZXB0aW9uZmllbGQgOiBwYXJzZSBbMzZdIEV4Y2VwdGlvbkZpZWxkCi0gKgotICogRW50ZXI6ICAg
dG9rID0gbmV4dCB0b2tlbgotICogICAgICAgICAgZWFsID0gMCBlbHNlIGV4dGVuZGVkIGF0dHJp
YnV0ZSBsaXN0IG5vZGUKLSAqCi0gKiBSZXR1cm46ICBuZXcgbm9kZSBmb3IgdGhlIGV4Y2VwdGlv
bmZpZWxkCi0gKiAgICAgICAgICB0b2sgdXBkYXRlZAotICovCi1zdGF0aWMgc3RydWN0IG5vZGUg
KgotcGFyc2VleGNlcHRpb25maWVsZChzdHJ1Y3QgdG9rICp0b2ssIHN0cnVjdCBub2RlICplYWwp
Ci17Ci0gICAgc3RydWN0IG5vZGUgKm5vZGUgPSBuZXdlbGVtZW50KCJFeGNlcHRpb25GaWVsZCIp
OwotICAgIGlmIChlYWwpIGFkZG5vZGUobm9kZSwgZWFsKTsKLSAgICBzZXRjb21tZW50bm9kZShu
b2RlKTsKLSAgICBhZGRub2RlKG5vZGUsIHBhcnNldHlwZSh0b2spKTsKLSAgICBhZGRub2RlKG5v
ZGUsIG5ld2F0dHIoIm5hbWUiLCBzZXRpZGVudGlmaWVyKHRvaykpKTsKLSAgICB0b2sgPSBsZXhu
b2NvbW1lbnQoKTsKLSAgICByZXR1cm4gbm9kZTsKLX0KLQotLyoqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBw
YXJzZWFyZ3VtZW50IDogcGFyc2UgWzMxXSBBcmd1bWVudAotICoKLSAqIEVudGVyOiAgIHRvayA9
IG5leHQgdG9rZW4KLSAqCi0gKiBSZXR1cm46ICBuZXcgbm9kZQotICoKLSAqIHRvayB1cGRhdGVk
IG9uIHJldHVybgotICovCi1zdGF0aWMgc3RydWN0IG5vZGUgKgotcGFyc2Vhcmd1bWVudChzdHJ1
Y3QgdG9rICp0b2spCi17Ci0gICAgc3RydWN0IG5vZGUgKm5vZGUgPSBuZXdlbGVtZW50KCJBcmd1
bWVudCIpOwotICAgIHN0cnVjdCBub2RlICplYWwgPSBwYXJzZWV4dGVuZGVkYXR0cmlidXRlbGlz
dCh0b2spOwotICAgIHNldGNvbW1lbnRub2RlKG5vZGUpOwotICAgIGlmIChlYWwpIGFkZG5vZGUo
bm9kZSwgZWFsKTsKLSAgICBpZiAodG9rLT50eXBlID09IFRPS19vcHRpb25hbCkgewotICAgICAg
ICBhZGRub2RlKG5vZGUsIG5ld2F0dHIoIm9wdGlvbmFsIiwgIm9wdGlvbmFsIikpOwotICAgICAg
ICBsZXhub2NvbW1lbnQoKTsKLSAgICB9Ci0gICAgYWRkbm9kZShub2RlLCBwYXJzZXR5cGUodG9r
KSk7Ci0gICAgaWYgKHRvay0+dHlwZSA9PSBUT0tfRUxMSVBTSVMpIHsKLSAgICAgICAgYWRkbm9k
ZShub2RlLCBuZXdhdHRyKCJlbGxpcHNpcyIsICJlbGxpcHNpcyIpKTsKLSAgICAgICAgbGV4bm9j
b21tZW50KCk7Ci0gICAgfQotICAgIGFkZG5vZGUobm9kZSwgbmV3YXR0cigibmFtZSIsIHNldGFy
Z3VtZW50bmFtZSh0b2spKSk7Ci0gICAgbGV4bm9jb21tZW50KCk7Ci0gICAgLy8gT3B0aW9uYWwg
ZGVmYXVsdCB2YWx1ZQotICAgIGlmICh0b2stPnR5cGUgPT0gJz0nKSB7Ci0gICAgICB0b2sgPSBs
ZXhub2NvbW1lbnQoKTsKLSAgICAgIG5vZGUgPSBwYXJzZWRlZmF1bHR2YWx1ZSh0b2ssIG5vZGUp
OwotICAgIH0KLSAgICByZXR1cm4gbm9kZTsKLX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBwYXJz
ZWFyZ3VtZW50bGlzdCA6IHBhcnNlIFsyOV0gQXJndW1lbnRMaXN0Ci0gKgotICogRW50ZXI6ICAg
dG9rID0gbmV4dCB0b2tlbgotICoKLSAqIFJldHVybjogIG5ldyBub2RlIGZvciB0aGUgYXJnbGlz
dAotICogICAgICAgICAgdG9rIHVwZGF0ZWQKLSAqLwotc3RhdGljIHN0cnVjdCBub2RlICoKLXBh
cnNlYXJndW1lbnRsaXN0KHN0cnVjdCB0b2sgKnRvaykKLXsKLSAgICBzdHJ1Y3Qgbm9kZSAqbm9k
ZSA9IG5ld2VsZW1lbnQoIkFyZ3VtZW50TGlzdCIpOwotICAgIC8qIFdlIHJlbHkgb24gdGhlIGZh
Y3QgdGhhdCBBcmd1bWVudExpc3QgaXMgYWx3YXlzIGZvbGxvd2VkIGJ5ICcpJy4gKi8KLSAgICBp
ZiAodG9rLT50eXBlICE9ICcpJykgewotICAgICAgICBmb3IgKDs7KSB7Ci0gICAgICAgICAgICBh
ZGRub2RlKG5vZGUsIHBhcnNlYXJndW1lbnQodG9rKSk7Ci0gICAgICAgICAgICBpZiAodG9rLT50
eXBlICE9ICcsJykKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGxleG5vY29t
bWVudCgpOwotICAgICAgICB9Ci0gICAgfQotICAgIHJldHVybiBub2RlOwotfQotCi0KLS8qKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKgotICogcGFyc2VvcGVyYXRpb25yZXN0IDogcGFyc2UgWzI1XSBPcGVyYXRpb25S
ZXN0Ci0gKgotICogRW50ZXI6ICAgdG9rID0gbmV4dCB0b2tlbgotICogICAgICAgICAgbm9kZQot
ICoKLSAqIFJldHVybjogIG5vZGUKLSAqICAgICAgICAgIHRvayBvbiB0ZXJtaW5hdGluZyAnOycK
LSAqLwotc3RhdGljIHN0cnVjdCBub2RlICoKLXBhcnNlb3BlcmF0aW9ucmVzdChzdHJ1Y3QgdG9r
ICp0b2ssIHN0cnVjdCBub2RlICpub2RlKQotewotICAgIGlmICh0b2stPnR5cGUgPT0gVE9LX0lE
RU5USUZJRVIpIHsKLSAgICAgICAgYWRkbm9kZShub2RlLCBuZXdhdHRyKCJuYW1lIiwgc2V0aWRl
bnRpZmllcih0b2spKSk7Ci0gICAgICAgIGxleG5vY29tbWVudCgpOwotICAgIH0KLSAgICBlYXQo
dG9rLCAnKCcpOwotICAgIGFkZG5vZGUobm9kZSwgcGFyc2Vhcmd1bWVudGxpc3QodG9rKSk7Ci0g
ICAgZWF0KHRvaywgJyknKTsKLSAgICByZXR1cm4gbm9kZTsKLX0KLQotLyoqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
Ci0gKiBwYXJzZXJldHVybnR5cGVhbmRvcGVyYXRpb25yZXN0OiBwYXJzZSBSZXR1cm5UeXBlIE9w
ZXJhdGlvblJlc3QKLSAqIEVudGVyOiAgIHRvayA9IG5leHQgdG9rZW4KLSAqICAgICAgICAgIGVh
bAotICogICAgICAgICAgYXR0cnMgbGlzdCBvZiBhdHRyaWJ1dGVzCi0gKiBSZXR1cm46ICBub2Rl
Ci0gKiAgICAgICAgICB0b2sgb24gdGVybWluYXRpbmcgJzsnCi0gKi8KLXN0YXRpYyBzdHJ1Y3Qg
bm9kZSAqCi1wYXJzZXJldHVybnR5cGVhbmRvcGVyYXRpb25yZXN0KHN0cnVjdCB0b2sgKnRvaywg
c3RydWN0IG5vZGUgKmVhbCwgc3RydWN0IG5vZGUgKmF0dHJzKSAKLXsKLSAgc3RydWN0IG5vZGUg
Km5vZGUgPSAgbmV3ZWxlbWVudCgiT3BlcmF0aW9uIik7Ci0gIHN0cnVjdCBub2RlICpub2RlVHlw
ZSA9IHBhcnNlcmV0dXJudHlwZSh0b2spOwotICBpZiAoZWFsKSBhZGRub2RlKG5vZGUsIGVhbCk7
Ci0gIHNldGNvbW1lbnRub2RlKG5vZGUpOwotICBhZGRub2RlKG5vZGUsIGF0dHJzKTsKLSAgYWRk
bm9kZShub2RlLCBub2RlVHlwZSk7Ci0gIHJldHVybiBwYXJzZW9wZXJhdGlvbnJlc3QodG9rLCBu
b2RlKTsKLX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBwYXJzZWl0ZXJhdG9ycmVzdCA6IHBhcnNl
IE9wdGlvbmFsSXRlcmF0b3JJbnRlcmZhY2UKLSAqCi0gKiBFbnRlcjogICB0b2sgPSBuZXh0IHRv
a2VuCi0gKiAgICAgICAgICBub2RlCi0gKgotICogUmV0dXJuOiAgbm9kZQotICogICAgICAgICAg
dG9rIG9uIHRlcm1pbmF0aW5nICc7JwotICovCi1zdGF0aWMgc3RydWN0IG5vZGUgKgotcGFyc2Vv
cHRpb25hbGl0ZXJhdG9yaW50ZXJmYWNlKHN0cnVjdCB0b2sgKnRvaywgc3RydWN0IG5vZGUgKm5v
ZGUpCi17Ci0gIGlmICh0b2stPnR5cGUgPT0gJz0nKSB7Ci0gICAgbGV4bm9jb21tZW50KCk7Ci0g
ICAgYWRkbm9kZShub2RlLCBuZXdhdHRyKCJpbnRlcmZhY2UiLCBzZXRpZGVudGlmaWVyKHRvaykp
KTsKLSAgICBsZXhub2NvbW1lbnQoKTsKLSAgfQotICByZXR1cm4gbm9kZTsKLX0KLQotLyoqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqCi0gKiBwYXJzZW9wZXJhdGlvbm9yaXRlcmF0b3JyZXN0IDogcGFyc2UgWzI1XSBP
cGVyYXRpb25Pckl0ZXJhdG9yUmVzdAotICoKLSAqIEVudGVyOiAgIHRvayA9IG5leHQgdG9rZW4K
LSAqICAgICAgICAgIGVhbCA9IDAgZWxzZSBleHRlbmRlZCBhdHRyaWJ1dGUgbGlzdCBub2RlCi0g
KiAgICAgICAgICBhdHRycyA9IGxpc3Qtb2YtYXR0cnMgbm9kZSBjb250YWluaW5nIGF0dHJzIHRv
IGFkZCB0byBuZXcgbm9kZQotICoKLSAqIFJldHVybjogIG5ldyBub2RlCi0gKiAgICAgICAgICB0
b2sgb24gdGVybWluYXRpbmcgJzsnCi0gKi8KLXN0YXRpYyBzdHJ1Y3Qgbm9kZSAqCi1wYXJzZW9w
ZXJhdGlvbm9yaXRlcmF0b3JyZXN0KHN0cnVjdCB0b2sgKnRvaywgc3RydWN0IG5vZGUgKmVhbCwg
c3RydWN0IG5vZGUgKmF0dHJzKQotewotICBzdHJ1Y3Qgbm9kZSAqbm9kZTsKLSAgc3RydWN0IG5v
ZGUgKm5vZGVUeXBlID0gcGFyc2VyZXR1cm50eXBlKHRvayk7Ci0gIHVuc2lnbmVkIGludCBpc0l0
ZXJhdG9yID0gMDsKLSAgaWYgKHRvay0+dHlwZSA9PSBUT0tfaXRlcmF0b3IpIHsKLSAgICBsZXhu
b2NvbW1lbnQoKTsKLSAgICBpZiAodG9rLT50eXBlID09IFRPS19vYmplY3QpIHsKLSAgICAgIGxl
eG5vY29tbWVudCgpOwotICAgICAgbm9kZSA9IG5ld2VsZW1lbnQoIkl0ZXJhdG9yT2JqZWN0Iik7
Ci0gICAgICBhZGRub2RlKG5vZGUsIG5vZGVUeXBlKTsKLSAgICAgIHJldHVybiBub2RlOwotICAg
IH0gZWxzZSB7Ci0gICAgICBub2RlID0gbmV3ZWxlbWVudCgiSXRlcmF0b3IiKTsKLSAgICAgIGlz
SXRlcmF0b3IgPSAxOyAgICAKLSAgICB9Ci0gIH0gZWxzZSB7Ci0gICAgbm9kZSA9IG5ld2VsZW1l
bnQoIk9wZXJhdGlvbiIpOwotICB9Ci0gIGlmIChlYWwpIGFkZG5vZGUobm9kZSwgZWFsKTsKLSAg
c2V0Y29tbWVudG5vZGUobm9kZSk7Ci0gIGFkZG5vZGUobm9kZSwgYXR0cnMpOwotICBhZGRub2Rl
KG5vZGUsIG5vZGVUeXBlKTsKLSAgaWYgKGlzSXRlcmF0b3IpCi0gICAgcmV0dXJuIHBhcnNlb3B0
aW9uYWxpdGVyYXRvcmludGVyZmFjZSh0b2ssIG5vZGUpOwotICBlbHNlCi0gICAgcmV0dXJuIHBh
cnNlb3BlcmF0aW9ucmVzdCh0b2ssIG5vZGUpOwotfQotCi0KLS8qKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICog
cGFyc2VhdHRyaWJ1dGUgOiBwYXJzZSBbMTddIEF0dHJpYnV0ZQotICoKLSAqIEVudGVyOiAgIHRv
ayA9IG5leHQgdG9rZW4gKCJyZWFkb25seSIgb3IgImF0dHJpYnV0ZSIpCi0gKiAgICAgICAgICBl
YWwgPSAwIGVsc2UgZXh0ZW5kZWQgYXR0cmlidXRlIGxpc3Qgbm9kZQotICogICAgICAgICAgYXR0
cnMgPSBsaXN0LW9mLWF0dHJzIG5vZGUgY29udGFpbmluZyBhdHRycyB0byBhZGQgdG8gbmV3IG5v
ZGUKLSAqCi0gKiBSZXR1cm46ICBub2RlCi0gKiAgICAgICAgICB0b2sgb24gdGVybWluYXRpbmcg
JzsnCi0gKi8KLXN0YXRpYyBzdHJ1Y3Qgbm9kZSAqCi1wYXJzZWF0dHJpYnV0ZShzdHJ1Y3QgdG9r
ICp0b2ssIHN0cnVjdCBub2RlICplYWwsIHN0cnVjdCBub2RlICphdHRycykKLXsKLSAgICBzdHJ1
Y3Qgbm9kZSAqbm9kZSA9IG5ld2VsZW1lbnQoIkF0dHJpYnV0ZSIpOwotICAgIGlmIChlYWwpIGFk
ZG5vZGUobm9kZSwgZWFsKTsKLSAgICBzZXRjb21tZW50bm9kZShub2RlKTsKLSAgICBhZGRub2Rl
KG5vZGUsIGF0dHJzKTsKLSAgICBpZiAodG9rLT50eXBlID09IFRPS19pbmhlcml0KSB7Ci0gICAg
ICAgIGxleG5vY29tbWVudCgpOwotCWFkZG5vZGUobm9kZSwgbmV3YXR0cigiaW5oZXJpdCIsICJp
bmhlcml0IikpOwotICAgIH0KLSAgICBpZiAodG9rLT50eXBlID09IFRPS19yZWFkb25seSkgewot
ICAgICAgICBsZXhub2NvbW1lbnQoKTsKLSAgICAgICAgYWRkbm9kZShub2RlLCBuZXdhdHRyKCJy
ZWFkb25seSIsICJyZWFkb25seSIpKTsKLSAgICB9Ci0gICAgZWF0KHRvaywgVE9LX2F0dHJpYnV0
ZSk7Ci0gICAgYWRkbm9kZShub2RlLCBwYXJzZXR5cGUodG9rKSk7Ci0gICAgYWRkbm9kZShub2Rl
LCBuZXdhdHRyKCJuYW1lIiwgc2V0aWRlbnRpZmllcih0b2spKSk7Ci0gICAgbGV4bm9jb21tZW50
KCk7Ci0gICAgcmV0dXJuIG5vZGU7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogcGFyc2VzZXJp
YWxpemVyIDogcGFyc2UgU2VyaWFsaXplcgotICoKLSAqIEVudGVyOiAgIHRvayA9IG5leHQgdG9r
ZW4KLSAqICAgICAgICAgIGVhbAotICoKLSAqIFJldHVybjogIG5vZGUgdXBkYXRlZCB3aXRoIHZh
bHVlCi0gKiAgICAgICAgICB0b2sgdXBkYXRlZAotICovCi1zdGF0aWMgc3RydWN0IG5vZGUgKgot
cGFyc2VzZXJpYWxpemVyIChzdHJ1Y3QgdG9rICp0b2ssIHN0cnVjdCBub2RlICplYWwpIHsKLQlz
dHJ1Y3Qgbm9kZSAqbm9kZUF0dHJpYnV0ZTsKLQlzdHJ1Y3Qgbm9kZSAqbm9kZSA9IG5ld2VsZW1l
bnQoIlNlcmlhbGl6ZXIiKTsKLSAgaWYgKHRvay0+dHlwZSA9PSAnPScpIHsKLSAgICBpZiAoZWFs
KSBhZGRub2RlKG5vZGUsIGVhbCk7Ci0gICAgbGV4bm9jb21tZW50KCk7Ci0gICAgaWYgKHRvay0+
dHlwZSA9PSBUT0tfSURFTlRJRklFUikgewotICAgICAgYWRkbm9kZShub2RlLCBuZXdhdHRyKCJh
dHRyaWJ1dGUiLCBzZXRpZGVudGlmaWVyKHRvaykpKTsKLSAgICAgIGxleG5vY29tbWVudCgpOwot
ICAgIH0gZWxzZSBpZiAodG9rLT50eXBlID09ICd7JykgewotICAgICAgdW5zaWduZWQgaW50IGRv
bmUgPSAwOwotICAgICAgc3RydWN0IG5vZGUgKm5vZGVNYXAgPSBuZXdlbGVtZW50KCJNYXAiKTsK
LSAgICAgIGxleG5vY29tbWVudCgpOwotICAgICAgaWYgKHRvay0+dHlwZSA9PSBUT0tfZ2V0dGVy
KSB7Ci0JYWRkbm9kZShub2RlTWFwLCBuZXdhdHRyKCJwYXR0ZXJuIiwgImdldHRlciIpKTsKLQlk
b25lID0gMTsKLSAgICAgIH0gZWxzZSBpZiAodG9rLT50eXBlID09IFRPS19hdHRyaWJ1dGUpIHsK
LQlhZGRub2RlKG5vZGVNYXAsIG5ld2F0dHIoInBhdHRlcm4iLCAiYWxsIikpOwotCWRvbmUgPSAx
OwotICAgICAgfSBlbHNlIGlmICh0b2stPnR5cGUgPT0gVE9LX2luaGVyaXQpIHsKLQlhZGRub2Rl
KG5vZGVNYXAsIG5ld2F0dHIoImluaGVyaXQiLCAiaW5oZXJpdCIpKTsKLQlsZXhub2NvbW1lbnQo
KTsKLQllYXQodG9rLCAnLCcpOwotCWlmICh0b2stPnR5cGUgPT0gVE9LX2F0dHJpYnV0ZSkgewot
CSAgYWRkbm9kZShub2RlTWFwLCBuZXdhdHRyKCJwYXR0ZXJuIiwgImFsbCIpKTsKLQkgIGRvbmUg
PSAxOwotCX0KLSAgICAgIH0gZWxzZSBpZiAodG9rLT50eXBlICE9IFRPS19JREVOVElGSUVSKSB7
Ci0JdG9rZXJyb3JleGl0KHRvaywgImV4cGVjdGVkICdhdHRyaWJ1dGUnLCAnZ2V0dGVyJywgJ2lu
aGVyaXQnIG9yIGF0dHJpYnV0ZSBpZGVudGlmaWVycyBpbiBzZXJpYWxpemVyIG1hcCIpOwotICAg
ICAgfQotICAgICAgaWYgKGRvbmUpIHsKLQlsZXhub2NvbW1lbnQoKTsKLQllYXQodG9rLCAnfScp
OwotICAgICAgfSBlbHNlIHsKLQlhZGRub2RlKG5vZGVNYXAsIG5ld2F0dHIoInBhdHRlcm4iLCAi
c2VsZWN0aW9uIikpOwotCWRvIHsKLQkgIGlmICh0b2stPnR5cGUgIT0gVE9LX0lERU5USUZJRVIp
Ci0JICAgIHRva2Vycm9yZXhpdCh0b2ssICJleHBlY3RlZCBhdHRyaWJ1dGUgaWRlbnRpZmllcnMg
aW4gc2VyaWFsaXplciBtYXAgJXMiLCB0b2stPnByZXN0YXJ0KTsKLQkgIG5vZGVBdHRyaWJ1dGUg
PSBuZXdlbGVtZW50KCJQYXR0ZXJuQXR0cmlidXRlIik7Ci0JICBhZGRub2RlKG5vZGVBdHRyaWJ1
dGUsIG5ld2F0dHIoIm5hbWUiLCBzZXRpZGVudGlmaWVyKHRvaykpKTsKLQkgIGFkZG5vZGUobm9k
ZU1hcCwgbm9kZUF0dHJpYnV0ZSk7Ci0JICBsZXhub2NvbW1lbnQoKTsKLQkgIGlmICh0b2stPnR5
cGUgPT0gJywnKQotCSAgICBsZXhub2NvbW1lbnQoKTsKLQl9IHdoaWxlICh0b2stPnR5cGUgIT0g
J30nKTsKLQllYXQodG9rLCAnfScpOwotICAgICAgfQotICAgICAgYWRkbm9kZShub2RlLCBub2Rl
TWFwKTsKLSAgICB9IGVsc2UgaWYgKHRvay0+dHlwZSA9PSAnWycpIHsKLSAgICAgIHN0cnVjdCBu
b2RlICpub2RlTGlzdCA9IG5ld2VsZW1lbnQoIkxpc3QiKTsKLSAgICAgIGxleG5vY29tbWVudCgp
OwotICAgICAgaWYgKHRvay0+dHlwZSA9PSBUT0tfZ2V0dGVyKSB7Ci0JYWRkbm9kZShub2RlTGlz
dCwgbmV3YXR0cigicGF0dGVybiIsICJnZXR0ZXIiKSk7Ci0JbGV4bm9jb21tZW50KCk7Ci0JZWF0
KHRvaywgJ10nKTsKLSAgICAgIH0gZWxzZSB7Ci0JYWRkbm9kZShub2RlTGlzdCwgbmV3YXR0cigi
cGF0dGVybiIsICJzZWxlY3Rpb24iKSk7Ci0JZG8gewotCSAgaWYgKHRvay0+dHlwZSAhPSBUT0tf
SURFTlRJRklFUikKLQkgICAgdG9rZXJyb3JleGl0KHRvaywgImV4cGVjdGVkIGF0dHJpYnV0ZSBp
ZGVudGlmaWVycyBpbiBzZXJpYWxpemVyIGxpc3QiKTsKLQkgIG5vZGVBdHRyaWJ1dGUgPSBuZXdl
bGVtZW50KCJQYXR0ZXJuQXR0cmlidXRlIik7Ci0JICBhZGRub2RlKG5vZGVBdHRyaWJ1dGUsIG5l
d2F0dHIoIm5hbWUiLCBzZXRpZGVudGlmaWVyKHRvaykpKTsKLQkgIGFkZG5vZGUobm9kZUxpc3Qs
IG5vZGVBdHRyaWJ1dGUpOwotCSAgbGV4bm9jb21tZW50KCk7Ci0JICBpZiAodG9rLT50eXBlID09
ICcsJykKLQkgICAgbGV4bm9jb21tZW50KCk7Ci0JfSB3aGlsZSAodG9rLT50eXBlICE9ICddJyk7
CSAgICAKLQllYXQodG9rLCAnXScpOwotICAgICAgfQotICAgICAgYWRkbm9kZShub2RlLCBub2Rl
TGlzdCk7Ci0gICAgfSBlbHNlIHsKLSAgICAgIHRva2Vycm9yZXhpdCh0b2ssICJFeHBlY3RlZCAn
eycsICdbJyBvciBhbiBhdHRyaWJ1dGUgaWRlbnRpZmllciBpbiB0aGUgc2VyaWFsaXplciBkZWNs
YXJhdGlvbiIpOwotICAgIH0KLSAgICByZXR1cm4gbm9kZTsKLSAgfSBlbHNlIHsKLSAgICBpZiAo
ZWFsKSBhZGRub2RlKG5vZGUsIGVhbCk7Ci0gICAgcmV0dXJuIG5vZGU7Ci0gIH0KLX0KLQotLyoq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqCi0gKiBwYXJzZWF0dHJpYnV0ZW9yb3BlcmF0aW9ub3JpdGVyYXRvciA6IHBh
cnNlIFsxNV0gQXR0cmlidXRlT3JPcGVyYXRpb25Pckl0ZXJhdG9yCi0gKgotICogRW50ZXI6ICAg
dG9rID0gbmV4dCB0b2tlbgotICogICAgICAgICAgZWFsID0gMCBlbHNlIGV4dGVuZGVkIGF0dHJp
YnV0ZSBsaXN0IG5vZGUKLSAqCi0gKiBSZXR1cm46ICBuZXcgbm9kZQotICogICAgICAgICAgdG9r
IG9uIHRlcm1pbmF0aW5nICc7JwotICovCi1zdGF0aWMgc3RydWN0IG5vZGUgKgotcGFyc2VhdHRy
aWJ1dGVvcm9wZXJhdGlvbm9yaXRlcmF0b3Ioc3RydWN0IHRvayAqdG9rLCBzdHJ1Y3Qgbm9kZSAq
ZWFsKQotewotCWludCBhbHJlYWR5c2VlbiA7Ci0gICAgc3RydWN0IG5vZGUgKmF0dHJzID0gbmV3
YXR0cmxpc3QoKTsKLSAgICBpZiAodG9rLT50eXBlID09IFRPS19zZXJpYWxpemVyKSB7Ci0gICAg
ICBsZXhub2NvbW1lbnQoKTsKLSAgICAgIGlmICh0b2stPnR5cGUgPT0gJz0nIHx8IHRvay0+dHlw
ZSA9PSc7JykgewotCXJldHVybiBwYXJzZXNlcmlhbGl6ZXIodG9rLCBlYWwpOwotICAgICAgfSBl
bHNlIHsKLQlhZGRub2RlKGF0dHJzLCBuZXdhdHRyKCJzZXJpYWxpemVyIiwgInNlcmlhbGl6ZXIi
KSk7Ci0JcmV0dXJuIHBhcnNlcmV0dXJudHlwZWFuZG9wZXJhdGlvbnJlc3QodG9rLCBlYWwsIGF0
dHJzKTsKLSAgICAgIH0KLSAgICB9Ci0gICAgaWYgKHRvay0+dHlwZSA9PSBUT0tfc3RyaW5naWZp
ZXIpIHsKLSAgICAgICAgYWRkbm9kZShhdHRycywgbmV3YXR0cigic3RyaW5naWZpZXIiLCAic3Ry
aW5naWZpZXIiKSk7Ci0gICAgICAgIGxleG5vY29tbWVudCgpOwotICAgICAgICBpZiAodG9rLT50
eXBlID09ICc7JykgewotICAgICAgICAgICAgc3RydWN0IG5vZGUgKm5vZGUgPSBuZXdlbGVtZW50
KCJTdHJpbmdpZmllciIpOwotICAgICAgICAgICAgaWYgKGVhbCkgYWRkbm9kZShub2RlLCBlYWwp
OwotICAgICAgICAgICAgcmV0dXJuIG5vZGU7Ci0gICAgICAgIH0KLSAgICB9Ci0gICAgaWYgKHRv
ay0+dHlwZSA9PSBUT0tfc3RhdGljKSB7Ci0gICAgICAgIGxleG5vY29tbWVudCgpOwotICAgICAg
ICBhZGRub2RlKGF0dHJzLCBuZXdhdHRyKCJzdGF0aWMiLCAic3RhdGljIikpOwotICAgIH0KLSAg
ICBpZiAodG9rLT50eXBlID09IFRPS19pbmhlcml0IHx8IHRvay0+dHlwZSA9PSBUT0tfcmVhZG9u
bHkgfHwgdG9rLT50eXBlID09IFRPS19hdHRyaWJ1dGUpCi0gICAgICAgIHJldHVybiBwYXJzZWF0
dHJpYnV0ZSh0b2ssIGVhbCwgYXR0cnMpOwotICAgIGlmICghbm9kZWlzZW1wdHkoYXR0cnMpKQot
IAlyZXR1cm4gcGFyc2VyZXR1cm50eXBlYW5kb3BlcmF0aW9ucmVzdCh0b2ssIGVhbCwgYXR0cnMp
OwotICAgIGFscmVhZHlzZWVuID0gMDsKLSAgICBmb3IgKDs7KSB7Ci0gICAgICBzdGF0aWMgY29u
c3QgaW50IHRbXSA9IHsgVE9LX2dldHRlciwKLQkJCSAgICAgICBUT0tfc2V0dGVyLCBUT0tfY3Jl
YXRvciwgVE9LX2RlbGV0ZXIsIFRPS19sZWdhY3ljYWxsZXIsCi0JCQkgICAgICAgMCB9OwotICAg
ICAgY29uc3QgaW50ICp0dCA9IHQ7Ci0gICAgICBjaGFyICpzOwotICAgICAgd2hpbGUgKCp0dCAm
JiAqdHQgIT0gdG9rLT50eXBlKQotCXR0Kys7Ci0gICAgICBpZiAoISp0dCkKLQlicmVhazsKLSAg
ICAgIHMgPSBtZW1wcmludGYoIiUuKnMiLCB0b2stPmxlbiwgdG9rLT5zdGFydCk7Ci0gICAgICBp
ZiAoYWxyZWFkeXNlZW4gJiAoMSA8PCAodHQgLSB0KSkpCi0JdG9rZXJyb3JleGl0KHRvaywgIicl
cycgcXVhbGlmaWVyIGNhbm5vdCBiZSByZXBlYXRlZCIsIHMpOwotICAgICAgYWxyZWFkeXNlZW4g
fD0gMSA8PCAodHQgLSB0KTsKLSAgICAgIGFkZG5vZGUoYXR0cnMsIG5ld2F0dHIocywgcykpOwot
ICAgICAgbGV4bm9jb21tZW50KCk7Ci0gICAgfQotICAgIGlmICghbm9kZWlzZW1wdHkoYXR0cnMp
KSAgICAKLSAgICAgIHJldHVybiBwYXJzZXJldHVybnR5cGVhbmRvcGVyYXRpb25yZXN0KHRvaywg
ZWFsLCBhdHRycyk7Ci0gICAgZWxzZQotICAgICAgcmV0dXJuIHBhcnNlb3BlcmF0aW9ub3JpdGVy
YXRvcnJlc3QodG9rLCBlYWwsIGF0dHJzKTsKLX0KLQotCi0vKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIHBh
cnNlY29uc3RleHByIDogcGFyc2UgQ29uc3RWYWx1ZQotICoKLSAqIEVudGVyOiAgIHRvayA9IG5l
eHQgdG9rZW4KLSAqICAgICAgICAgIG5vZGUKLSAqCi0gKiBSZXR1cm46ICBub2RlIHVwZGF0ZWQg
d2l0aCB2YWx1ZQotICogICAgICAgICAgdG9rIHVwZGF0ZWQKLSAqLwotc3RhdGljIHN0cnVjdCBu
b2RlICoKLXBhcnNlY29uc3RleHByIChzdHJ1Y3QgdG9rICp0b2ssIHN0cnVjdCBub2RlICpub2Rl
KSB7Ci0gIGNoYXIgKnM7Ci0gIHN3aXRjaCh0b2stPnR5cGUpIHsKLSAgY2FzZSBUT0tfdHJ1ZToK
LSAgY2FzZSBUT0tfZmFsc2U6Ci0gIGNhc2UgVE9LX21pbnVzaW5maW5pdHk6Ci0gIGNhc2UgVE9L
X0lOVEVHRVI6Ci0gIGNhc2UgVE9LX0ZMT0FUOgotICBjYXNlIFRPS19udWxsOgotICBjYXNlIFRP
S19pbmZpbml0eToKLSAgY2FzZSBUT0tfTmFOOgotICAgIGJyZWFrOwotICBkZWZhdWx0OgotICAg
IHRva2Vycm9yZXhpdCh0b2ssICJleHBlY3RlZCBjb25zdGFudCB2YWx1ZSIpOwotICAgIGJyZWFr
OwotICB9Ci0gIHMgPSBtZW1hbGxvYyh0b2stPmxlbiArIDEpOwotICBtZW1jcHkocywgdG9rLT5z
dGFydCwgdG9rLT5sZW4pOwotICBzW3Rvay0+bGVuXSA9IDA7Ci0gIGlmICh0b2stPnR5cGUgIT0g
VE9LX1NUUklORykgewotICAgIGFkZG5vZGUobm9kZSwgbmV3YXR0cigidmFsdWUiLCBzKSk7Ci0g
IH0gZWxzZSB7Ci0gICAgYWRkbm9kZShub2RlLCBuZXdhdHRyKCJzdHJpbmd2YWx1ZSIsIHMpKTsK
LSAgfQotICBsZXhub2NvbW1lbnQoKTsKLSAgcmV0dXJuIG5vZGU7Ci19Ci0KLS8qKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKgotICogcGFyc2VkZWZhdWx0dmFsdWUgOiBwYXJzZSBEZWZhdWx0VmFsdWUKLSAqCi0gKiBF
bnRlcjogICB0b2sgPSBuZXh0IHRva2VuCi0gKiAgICAgICAgICBub2RlCi0gKgotICogUmV0dXJu
OiAgbm9kZSB1cGRhdGVkIHdpdGggdmFsdWUKLSAqICAgICAgICAgIHRvayB1cGRhdGVkCi0gKi8K
LXN0YXRpYyBzdHJ1Y3Qgbm9kZSAqCi1wYXJzZWRlZmF1bHR2YWx1ZSAoc3RydWN0IHRvayAqdG9r
LCBzdHJ1Y3Qgbm9kZSAqbm9kZSkgewotICBjaGFyICpzOwotICBpZiAodG9rLT50eXBlID09IFRP
S19TVFJJTkcpIHsKLSAgICBzID0gbWVtYWxsb2ModG9rLT5sZW4gKyAxKTsKLSAgICBtZW1jcHko
cywgdG9rLT5zdGFydCwgdG9rLT5sZW4pOwotICAgIHNbdG9rLT5sZW5dID0gMDsKLSAgICBhZGRu
b2RlKG5vZGUsIG5ld2F0dHIoInN0cmluZ3ZhbHVlIiwgcykpOwotICAgIGxleG5vY29tbWVudCgp
OwotICAgIHJldHVybiBub2RlOwotICB9IGVsc2UgewotICAgIHJldHVybiBwYXJzZWNvbnN0ZXhw
cih0b2ssIG5vZGUpOwotICB9Ci19Ci0KLQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIHBhcnNlZGlj
dGlvbmFyeW1lbWJlciA6IHBhcnNlIERpY3Rpb25hcnlNZW1iZXIKLSAqCi0gKiBFbnRlcjogICB0
b2sgPSBuZXh0IHRva2VuCi0gKiAgICAgICAgICBlYWwgPSAwIGVsc2UgZXh0ZW5kZWQgYXR0cmli
dXRlIGxpc3Qgbm9kZQotICoKLSAqIFJldHVybjogIG5ldyBub2RlCi0gKiAgICAgICAgICB0b2sg
b24gdGVybWluYXRpbmcgJzsnCi0gKi8KLXN0YXRpYyBzdHJ1Y3Qgbm9kZSAqCi1wYXJzZWRpY3Rp
b25hcnltZW1iZXIoc3RydWN0IHRvayAqdG9rLCBzdHJ1Y3Qgbm9kZSAqZWFsKQotewotICAgIHN0
cnVjdCBub2RlICpub2RlID0gbmV3ZWxlbWVudCgiRGljdGlvbmFyeU1lbWJlciIpOwotICAgIGlm
IChlYWwpIGFkZG5vZGUobm9kZSwgZWFsKTsKLSAgICBzZXRjb21tZW50bm9kZShub2RlKTsKLSAg
ICBhZGRub2RlKG5vZGUsIHBhcnNldHlwZSh0b2spKTsKLSAgICBhZGRub2RlKG5vZGUsIG5ld2F0
dHIoIm5hbWUiLCBzZXRpZGVudGlmaWVyKHRvaykpKTsKLSAgICB0b2sgPSBsZXhub2NvbW1lbnQo
KTsKLSAgICAvLyBPcHRpb25hbCB2YWx1ZQotICAgIGlmICh0b2stPnR5cGUgPT0gJz0nKSB7Ci0g
ICAgICB0b2sgPSBsZXhub2NvbW1lbnQoKTsKLSAgICAgIG5vZGUgPSBwYXJzZWRlZmF1bHR2YWx1
ZSh0b2ssIG5vZGUpOwotICAgIH0KLSAgICByZXR1cm4gbm9kZTsKLX0KLQotLyoqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqCi0gKiBwYXJzZWNvbnN0IDogcGFyc2UgWzEyXSBDb25zdAotICoKLSAqIEVudGVyOiAgIHRv
ayA9IG5leHQgdG9rZW4sIGtub3duIHRvIGJlIFRPS19jb25zdAotICogICAgICAgICAgZWFsID0g
MCBlbHNlIGV4dGVuZGVkIGF0dHJpYnV0ZSBsaXN0IG5vZGUKLSAqCi0gKiBSZXR1cm46ICBuZXcg
bm9kZSBmb3IgdGhlIGNvbnN0Ci0gKiAgICAgICAgICB0b2sgb24gdGVybWluYXRpbmcgJzsnCi0g
Ki8KLXN0YXRpYyBzdHJ1Y3Qgbm9kZSAqCi1wYXJzZWNvbnN0KHN0cnVjdCB0b2sgKnRvaywgc3Ry
dWN0IG5vZGUgKmVhbCkKLXsKLSAgICBzdHJ1Y3Qgbm9kZSAqbm9kZSA9IG5ld2VsZW1lbnQoIkNv
bnN0Iik7Ci0gICAgc2V0Y29tbWVudG5vZGUobm9kZSk7Ci0gICAgaWYgKGVhbCkgYWRkbm9kZShu
b2RlLCBlYWwpOwotICAgIHRvayA9IGxleG5vY29tbWVudCgpOwotICAgIHN3aXRjaCh0b2stPnR5
cGUpIHsKLSAgICBjYXNlIFRPS19ib29sZWFuOgotICAgIGNhc2UgVE9LX2J5dGU6Ci0gICAgY2Fz
ZSBUT0tfb2N0ZXQ6Ci0gICAgY2FzZSBUT0tfZmxvYXQ6Ci0gICAgY2FzZSBUT0tfZG91YmxlOgot
ICAgIGNhc2UgVE9LX3Vuc2lnbmVkOgotICAgIGNhc2UgVE9LX3VucmVzdHJpY3RlZDoKLSAgICBj
YXNlIFRPS19zaG9ydDoKLSAgICBjYXNlIFRPS19sb25nOgotICAgICAgICBhZGRub2RlKG5vZGUs
IHBhcnNldHlwZSh0b2spKTsKLQlicmVhazsKLSAgICBkZWZhdWx0OgotICAgICAgICB0b2tlcnJv
cmV4aXQodG9rLCAiZXhwZWN0ZWQgYWNjZXB0YWJsZSBjb25zdGFudCB0eXBlIik7Ci0gICAgICAg
IGJyZWFrOwotICAgIH0KLSAgICBhZGRub2RlKG5vZGUsIG5ld2F0dHIoIm5hbWUiLCBzZXRpZGVu
dGlmaWVyKHRvaykpKTsKLSAgICB0b2sgPSBsZXhub2NvbW1lbnQoKTsKLSAgICBlYXQodG9rLCAn
PScpOwotICAgIG5vZGUgPSBwYXJzZWNvbnN0ZXhwcih0b2ssIG5vZGUpOwotICAgIHJldHVybiBu
b2RlOwotfQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIHBhcnNlaW1wbGVtZW50c3N0YXRlbWVudCA6
IHBhcnNlIFsxMV0gSW1wbGVtZW50c1N0YXRlbWVudAotICoKLSAqIEVudGVyOiAgIHRvayA9IG5l
eHQgdG9rZW4sIGtub3duIHRvIGJlIDo6IG9yIFRPS19JREVOVElGSUVSCi0gKiAgICAgICAgICBl
YWwgPSAwIGVsc2UgZXh0ZW5kZWQgYXR0cmlidXRlIGxpc3Qgbm9kZQotICoKLSAqIFJldHVybjog
IG5ldyBub2RlIGZvciB0aGUgdHlwZWRlZgotICogICAgICAgICAgdG9rIHVwZGF0ZWQgdG8gdGhl
IHRlcm1pbmF0aW5nICc7JwotICovCi1zdGF0aWMgc3RydWN0IG5vZGUgKgotcGFyc2VpbXBsZW1l
bnRzc3RhdGVtZW50KHN0cnVjdCB0b2sgKnRvaywgc3RydWN0IG5vZGUgKmVhbCkKLXsKLSAgICBz
dHJ1Y3Qgbm9kZSAqbm9kZSA9IG5ld2VsZW1lbnQoIkltcGxlbWVudHMiKTsKLSAgICBzZXRjb21t
ZW50bm9kZShub2RlKTsKLSAgICBpZiAoZWFsKSBhZGRub2RlKG5vZGUsIGVhbCk7Ci0gICAgYWRk
bm9kZShub2RlLCBwYXJzZXNjb3BlZG5hbWUodG9rLCAibmFtZTEiLCAxKSk7Ci0gICAgZWF0KHRv
aywgVE9LX2ltcGxlbWVudHMpOwotICAgIGFkZG5vZGUobm9kZSwgcGFyc2VzY29wZWRuYW1lKHRv
aywgIm5hbWUyIiwgMSkpOwotICAgIHJldHVybiBub2RlOwotfQotCi0vKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioK
LSAqIHBhcnNldHlwZWRlZiA6IHBhcnNlIFsxMF0gVHlwZWRlZgotICoKLSAqIEVudGVyOiAgIHRv
ayA9IG5leHQgdG9rZW4sIGtub3duIHRvIGJlIFRPS190eXBlZGVmCi0gKiAgICAgICAgICBlYWwg
PSAwIGVsc2UgZXh0ZW5kZWQgYXR0cmlidXRlIGxpc3Qgbm9kZQotICoKLSAqIFJldHVybjogIG5l
dyBub2RlIGZvciB0aGUgdHlwZWRlZgotICogICAgICAgICAgdG9rIHVwZGF0ZWQgdG8gdGhlIHRl
cm1pbmF0aW5nICc7JwotICovCi1zdGF0aWMgc3RydWN0IG5vZGUgKgotcGFyc2V0eXBlZGVmKHN0
cnVjdCB0b2sgKnRvaywgc3RydWN0IG5vZGUgKmVhbCkKLXsKLXN0cnVjdCBub2RlICplYWx0eXBl
Owotc3RydWN0IG5vZGUgKnR5cGVub2RlOwotICAgIHN0cnVjdCBub2RlICpub2RlID0gbmV3ZWxl
bWVudCgiVHlwZWRlZiIpOwotICAgIHNldGNvbW1lbnRub2RlKG5vZGUpOwotICAgIGlmIChlYWwp
IGFkZG5vZGUobm9kZSwgZWFsKTsKLSAgICB0b2sgPSBsZXhub2NvbW1lbnQoKTsKLSAgICBlYWx0
eXBlID0gcGFyc2VleHRlbmRlZGF0dHJpYnV0ZWxpc3QodG9rKTsKLSAgICB0eXBlbm9kZSA9IHBh
cnNldHlwZSh0b2spOwotICAgIGlmIChlYWx0eXBlKSBhZGRub2RlKHR5cGVub2RlLCBlYWx0eXBl
KTsKLSAgICBhZGRub2RlKG5vZGUsIHR5cGVub2RlKTsKLSAgICBhZGRub2RlKG5vZGUsIG5ld2F0
dHIoIm5hbWUiLCBzZXRpZGVudGlmaWVyKHRvaykpKTsKLSAgICB0b2sgPSBsZXhub2NvbW1lbnQo
KTsKLSAgICByZXR1cm4gbm9kZTsKLX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBwYXJzZWV4Y2Vw
dGlvbiA6IHBhcnNlIFs4XSBFeGNlcHRpb24KLSAqCi0gKiBFbnRlcjogICB0b2sgPSBuZXh0IHRv
a2VuLCBrbm93biB0byBiZSBUT0tfZXhjZXB0aW9uCi0gKiAgICAgICAgICBlYWwgPSAwIGVsc2Ug
ZXh0ZW5kZWQgYXR0cmlidXRlIGxpc3Qgbm9kZQotICoKLSAqIFJldHVybjogIG5ldyBub2RlIGZv
ciB0aGUgZXhjZXB0aW9uCi0gKiAgICAgICAgICB0b2sgdXBkYXRlZCB0byB0aGUgdGVybWluYXRp
bmcgJzsnCi0gKi8KLXN0YXRpYyBzdHJ1Y3Qgbm9kZSAqCi1wYXJzZWV4Y2VwdGlvbihzdHJ1Y3Qg
dG9rICp0b2ssIHN0cnVjdCBub2RlICplYWwpCi17Ci0gICAgc3RydWN0IG5vZGUgKm5vZGUgPSBu
ZXdlbGVtZW50KCJFeGNlcHRpb24iKTsKLSAgICBzZXRjb21tZW50bm9kZShub2RlKTsKLSAgICBp
ZiAoZWFsKSBhZGRub2RlKG5vZGUsIGVhbCk7Ci0gICAgdG9rID0gbGV4bm9jb21tZW50KCk7Ci0g
ICAgYWRkbm9kZShub2RlLCBuZXdhdHRyKCJuYW1lIiwgc2V0aWRlbnRpZmllcih0b2spKSk7Ci0g
ICAgbGV4bm9jb21tZW50KCk7Ci0gICAgaWYgKHRvay0+dHlwZSA9PSAnOicpIHsKLSAgICAgICAg
bGV4bm9jb21tZW50KCk7Ci0gICAgICAgIGFkZG5vZGUobm9kZSwgcGFyc2VzY29wZWRuYW1lbGlz
dCh0b2ssICJFeGNlcHRpb25Jbmhlcml0YW5jZSIsICJOYW1lIiwgMSkpOwotICAgIH0KLSAgICBl
YXQodG9rLCAneycpOwotICAgIHdoaWxlICh0b2stPnR5cGUgIT0gJ30nKSB7Ci0gICAgICAgIGNv
bnN0IGNoYXIgKnN0YXJ0ID0gdG9rLT5wcmVzdGFydDsKLSAgICAgICAgc3RydWN0IG5vZGUgKm5v
ZGUyOwotICAgICAgICBzdHJ1Y3Qgbm9kZSAqZWFsID0gcGFyc2VleHRlbmRlZGF0dHJpYnV0ZWxp
c3QodG9rKTsKLSAgICAgICAgaWYgKHRvay0+dHlwZSA9PSBUT0tfY29uc3QpCi0gICAgICAgICAg
ICBub2RlMiA9IHBhcnNlY29uc3QodG9rLCBlYWwpOwotICAgICAgICBlbHNlCi0gICAgICAgICAg
ICBub2RlMiA9IHBhcnNlZXhjZXB0aW9uZmllbGQodG9rLCBlYWwpOwotICAgICAgICBhZGRub2Rl
KG5vZGUsIG5vZGUyKTsKLSAgICAgICAgbm9kZTItPndzc3RhcnQgPSBzdGFydDsKLSAgICAgICAg
bm9kZTItPmVuZCA9IHRvay0+c3RhcnQgKyB0b2stPmxlbjsKLSAgICAgICAgc2V0aWQobm9kZTIp
OwotICAgICAgICBlYXQodG9rLCAnOycpOwotICAgIH0KLSAgICBsZXhub2NvbW1lbnQoKTsKLSAg
ICByZXR1cm4gbm9kZTsKLX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBwYXJzZWludGVyZmFjZSA6
IHBhcnNlIFs0XSBJbnRlcmZhY2UKLSAqCi0gKiBFbnRlcjogICB0b2sgPSBuZXh0IHRva2VuLCBr
bm93biB0byBiZSBUT0tfaW50ZXJmYWNlCi0gKiAgICAgICAgICBlYWwgPSAwIGVsc2UgZXh0ZW5k
ZWQgYXR0cmlidXRlIGxpc3Qgbm9kZQotICoKLSAqIFJldHVybjogIG5ldyBub2RlIGZvciB0aGUg
aW50ZXJmYWNlCi0gKiAgICAgICAgICB0b2sgdXBkYXRlZCB0byB0aGUgdGVybWluYXRpbmcgJzsn
Ci0gKi8KLXN0YXRpYyBzdHJ1Y3Qgbm9kZSAqCi1wYXJzZWludGVyZmFjZShzdHJ1Y3QgdG9rICp0
b2ssIHN0cnVjdCBub2RlICplYWwpCi17Ci0gICAgc3RydWN0IG5vZGUgKm5vZGUgPSBuZXdlbGVt
ZW50KCJJbnRlcmZhY2UiKTsKLSAgICBpZiAoZWFsKSBhZGRub2RlKG5vZGUsIGVhbCk7Ci0gICAg
c2V0Y29tbWVudG5vZGUobm9kZSk7Ci0gICAgdG9rID0gbGV4bm9jb21tZW50KCk7Ci0gICAgYWRk
bm9kZShub2RlLCBuZXdhdHRyKCJuYW1lIiwgc2V0aWRlbnRpZmllcih0b2spKSk7Ci0gICAgdG9r
ID0gbGV4bm9jb21tZW50KCk7Ci0gICAgaWYgKHRvay0+dHlwZSA9PSAnOicpIHsKLSAgICAgICAg
bGV4bm9jb21tZW50KCk7Ci0gICAgICAgIGFkZG5vZGUobm9kZSwgcGFyc2VzY29wZWRuYW1lbGlz
dCh0b2ssICJJbnRlcmZhY2VJbmhlcml0YW5jZSIsICJOYW1lIiwgMSkpOwotICAgIH0KLSAgICBl
YXQodG9rLCAneycpOwotICAgIHdoaWxlICh0b2stPnR5cGUgIT0gJ30nKSB7Ci0gICAgICAgIGNv
bnN0IGNoYXIgKnN0YXJ0ID0gdG9rLT5wcmVzdGFydDsKLSAgICAgICAgc3RydWN0IG5vZGUgKmVh
bCA9IHBhcnNlZXh0ZW5kZWRhdHRyaWJ1dGVsaXN0KHRvayk7Ci0gICAgICAgIHN0cnVjdCBub2Rl
ICpub2RlMjsKLSAgICAgICAgaWYgKHRvay0+dHlwZSA9PSBUT0tfY29uc3QpCi0gICAgICAgICAg
ICBhZGRub2RlKG5vZGUsIG5vZGUyID0gcGFyc2Vjb25zdCh0b2ssIGVhbCkpOwotICAgICAgICBl
bHNlCi0gICAgICAgICAgICBhZGRub2RlKG5vZGUsIG5vZGUyID0gcGFyc2VhdHRyaWJ1dGVvcm9w
ZXJhdGlvbm9yaXRlcmF0b3IodG9rLCBlYWwpKTsKLSAgICAgICAgbm9kZTItPndzc3RhcnQgPSBz
dGFydDsKLSAgICAgICAgbm9kZTItPmVuZCA9IHRvay0+c3RhcnQgKyB0b2stPmxlbjsKLSAgICAg
ICAgc2V0aWQobm9kZTIpOwotICAgICAgICBlYXQodG9rLCAnOycpOwotICAgIH0KLSAgICBsZXhu
b2NvbW1lbnQoKTsKLSAgICByZXR1cm4gbm9kZTsKLX0KLQotLyoqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBw
YXJzZWNhbGxiYWNrIDogcGFyc2UgQ2FsbGJhY2sKLSAqCi0gKiBFbnRlcjogICB0b2sgPSBuZXh0
IHRva2VuLCBrbm93biB0byBiZSBUT0tfZGljdGlvbmFyeQotICogICAgICAgICAgZWFsID0gMCBl
bHNlIGV4dGVuZGVkIGF0dHJpYnV0ZSBsaXN0IG5vZGUKLSAqCi0gKiBSZXR1cm46ICBuZXcgbm9k
ZSBmb3IgdGhlIGVudW0KLSAqICAgICAgICAgIHRvayB1cGRhdGVkIHRvIHRoZSB0ZXJtaW5hdGlu
ZyAnOycKLSAqLwotc3RhdGljIHN0cnVjdCBub2RlICoKLXBhcnNlY2FsbGJhY2soc3RydWN0IHRv
ayAqdG9rLCBzdHJ1Y3Qgbm9kZSAqZWFsKQotewotICBzdHJ1Y3Qgbm9kZSAqbm9kZTsKLSAgaWYg
KHRvay0+dHlwZSA9PSBUT0tfaW50ZXJmYWNlKSB7Ci0gICAgbm9kZSA9IHBhcnNlaW50ZXJmYWNl
KHRvaywgZWFsKTsKLSAgICBhZGRub2RlKG5vZGUsIG5ld2F0dHIoImNhbGxiYWNrIiwgImNhbGxi
YWNrIikpOyAgICAKLSAgfSBlbHNlIHsKLSAgICBub2RlID0gbmV3ZWxlbWVudCgiQ2FsbGJhY2si
KTsKLSAgICBpZiAoZWFsKSBhZGRub2RlKG5vZGUsIGVhbCk7Ci0gICAgc2V0Y29tbWVudG5vZGUo
bm9kZSk7Ci0gICAgYWRkbm9kZShub2RlLCBuZXdhdHRyKCJuYW1lIiwgc2V0aWRlbnRpZmllcih0
b2spKSk7Ci0gICAgdG9rID0gbGV4bm9jb21tZW50KCk7Ci0gICAgZWF0KHRvaywgJz0nKTsKLSAg
ICBhZGRub2RlKG5vZGUsIHBhcnNlcmV0dXJudHlwZSh0b2spKTsKLSAgICBlYXQodG9rLCAnKCcp
OwotICAgIGFkZG5vZGUobm9kZSwgcGFyc2Vhcmd1bWVudGxpc3QodG9rKSk7Ci0gICAgZWF0KHRv
aywgJyknKTsKLSAgfQotICByZXR1cm4gbm9kZTsKLX0KLQotLyoqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBw
YXJzZWRpY3Rpb25hcnkgOiBwYXJzZSBEaWN0aW9uYXJ5Ci0gKgotICogRW50ZXI6ICAgdG9rID0g
bmV4dCB0b2tlbiwga25vd24gdG8gYmUgVE9LX2RpY3Rpb25hcnkKLSAqICAgICAgICAgIGVhbCA9
IDAgZWxzZSBleHRlbmRlZCBhdHRyaWJ1dGUgbGlzdCBub2RlCi0gKgotICogUmV0dXJuOiAgbmV3
IG5vZGUgZm9yIHRoZSBkaWN0aW9uYXJ5Ci0gKiAgICAgICAgICB0b2sgdXBkYXRlZCB0byB0aGUg
dGVybWluYXRpbmcgJzsnCi0gKi8KLXN0YXRpYyBzdHJ1Y3Qgbm9kZSAqCi1wYXJzZWRpY3Rpb25h
cnkoc3RydWN0IHRvayAqdG9rLCBzdHJ1Y3Qgbm9kZSAqZWFsKQotewotICAgIHN0cnVjdCBub2Rl
ICpub2RlID0gbmV3ZWxlbWVudCgiRGljdGlvbmFyeSIpOwotICAgIGlmIChlYWwpIGFkZG5vZGUo
bm9kZSwgZWFsKTsKLSAgICBzZXRjb21tZW50bm9kZShub2RlKTsKLSAgICB0b2sgPSBsZXhub2Nv
bW1lbnQoKTsKLSAgICBhZGRub2RlKG5vZGUsIG5ld2F0dHIoIm5hbWUiLCBzZXRpZGVudGlmaWVy
KHRvaykpKTsKLSAgICB0b2sgPSBsZXhub2NvbW1lbnQoKTsKLSAgICBpZiAodG9rLT50eXBlID09
ICc6JykgewotICAgICAgICBsZXhub2NvbW1lbnQoKTsKLSAgICAgICAgYWRkbm9kZShub2RlLCBw
YXJzZXNjb3BlZG5hbWVsaXN0KHRvaywgIkRpY3Rpb25hcnlJbmhlcml0YW5jZSIsICJOYW1lIiwg
MSkpOwotICAgIH0KLSAgICBlYXQodG9rLCAneycpOwotICAgIHdoaWxlICh0b2stPnR5cGUgIT0g
J30nKSB7Ci0gICAgICAgIGNvbnN0IGNoYXIgKnN0YXJ0ID0gdG9rLT5wcmVzdGFydDsKLSAgICAg
ICAgc3RydWN0IG5vZGUgKmVhbCA9IHBhcnNlZXh0ZW5kZWRhdHRyaWJ1dGVsaXN0KHRvayk7Ci0g
ICAgICAgIHN0cnVjdCBub2RlICpub2RlMjsKLSAgICAgICAgaWYgKHRvay0+dHlwZSA9PSBUT0tf
Y29uc3QpCi0gICAgICAgICAgICBhZGRub2RlKG5vZGUsIG5vZGUyID0gcGFyc2Vjb25zdCh0b2ss
IGVhbCkpOwotICAgICAgICBlbHNlCi0gICAgICAgICAgICBhZGRub2RlKG5vZGUsIG5vZGUyID0g
cGFyc2VkaWN0aW9uYXJ5bWVtYmVyKHRvaywgZWFsKSk7Ci0gICAgICAgIG5vZGUyLT53c3N0YXJ0
ID0gc3RhcnQ7Ci0gICAgICAgIG5vZGUyLT5lbmQgPSB0b2stPnN0YXJ0ICsgdG9rLT5sZW47Ci0g
ICAgICAgIHNldGlkKG5vZGUyKTsKLSAgICAgICAgZWF0KHRvaywgJzsnKTsKLSAgICB9Ci0gICAg
bGV4bm9jb21tZW50KCk7Ci0gICAgcmV0dXJuIG5vZGU7Ci19Ci0KLS8qKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgot
ICogcGFyc2VlbnVtIDogcGFyc2UgRW51bQotICoKLSAqIEVudGVyOiAgIHRvayA9IG5leHQgdG9r
ZW4sIGtub3duIHRvIGJlIFRPS19kaWN0aW9uYXJ5Ci0gKiAgICAgICAgICBlYWwgPSAwIGVsc2Ug
ZXh0ZW5kZWQgYXR0cmlidXRlIGxpc3Qgbm9kZQotICoKLSAqIFJldHVybjogIG5ldyBub2RlIGZv
ciB0aGUgZW51bQotICogICAgICAgICAgdG9rIHVwZGF0ZWQgdG8gdGhlIHRlcm1pbmF0aW5nICc7
JwotICovCi1zdGF0aWMgc3RydWN0IG5vZGUgKgotcGFyc2VlbnVtKHN0cnVjdCB0b2sgKnRvaywg
c3RydWN0IG5vZGUgKmVhbCkKLXsKLQljaGFyICpzOwotICAgIHN0cnVjdCBub2RlICpub2RlID0g
bmV3ZWxlbWVudCgiRW51bSIpOwotICAgIGlmIChlYWwpIGFkZG5vZGUobm9kZSwgZWFsKTsKLSAg
ICBzZXRjb21tZW50bm9kZShub2RlKTsKLSAgICB0b2sgPSBsZXhub2NvbW1lbnQoKTsKLSAgICBh
ZGRub2RlKG5vZGUsIG5ld2F0dHIoIm5hbWUiLCBzZXRpZGVudGlmaWVyKHRvaykpKTsKLSAgICB0
b2sgPSBsZXhub2NvbW1lbnQoKTsKLSAgICBlYXQodG9rLCAneycpOwotICAgIHdoaWxlICh0b2st
PnR5cGUgIT0gJ30nKSB7Ci0gICAgICBpZiAodG9rLT50eXBlID09IFRPS19TVFJJTkcpIHsKLQlj
b25zdCBjaGFyICpzdGFydCA9IHRvay0+cHJlc3RhcnQ7Ci0Jc3RydWN0IG5vZGUgKm5vZGUyID0g
bmV3ZWxlbWVudCgiRW51bVZhbHVlIik7Ci0Jc2V0Y29tbWVudG5vZGUobm9kZTIpOwotCQotCXMg
PSBtZW1hbGxvYyh0b2stPmxlbiArIDEpOwotCW1lbWNweShzLCB0b2stPnN0YXJ0LCB0b2stPmxl
bik7Ci0Jc1t0b2stPmxlbl0gPSAwOwotCWFkZG5vZGUobm9kZTIsIG5ld2F0dHIoInN0cmluZ3Zh
bHVlIiwgcykpOwotICAgICAgICBub2RlMi0+d3NzdGFydCA9IHN0YXJ0OwotICAgICAgICBub2Rl
Mi0+ZW5kID0gdG9rLT5zdGFydCArIHRvay0+bGVuOwotICAgICAgICBzZXRpZChub2RlMik7Ci0J
YWRkbm9kZShub2RlLCBub2RlMik7Ci0gICAgICB9IGVsc2UgewotCXRva2Vycm9yZXhpdCh0b2ss
ICJleHBlY3RlZCBzdHJpbmcgaW4gZW51bSIpOwotICAgICAgfQotICAgICAgbGV4bm9jb21tZW50
KCk7Ci0gICAgICBpZiAodG9rLT50eXBlID09ICcsJykgewotCWxleG5vY29tbWVudCgpOwotICAg
ICAgfQotICAgIH0KLSAgICBlYXQodG9rLCAnfScpOwotICAgIHJldHVybiBub2RlOwotfQotCi0v
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioKLSAqIHBhcnNlZGVmaW5pdGlvbnMgOiBwYXJzZSBbMV0gRGVmaW5pdGlv
bnMKLSAqCi0gKiBFbnRlcjogICB0b2sgPSBuZXh0IHRva2VuCi0gKiAgICAgICAgICBwYXJlbnQg
PSBwYXJlbnQgbm9kZSB0byBhZGQgZGVmaW5pdGlvbnMgdG8KLSAqCi0gKiBPbiByZXR1cm4sIHRv
ayBoYXMgYmVlbiB1cGRhdGVkLgotICovCi1zdGF0aWMgdm9pZAotcGFyc2VkZWZpbml0aW9ucyhz
dHJ1Y3QgdG9rICp0b2ssIHN0cnVjdCBub2RlICpwYXJlbnQpCi17Ci0gICAgcGFyZW50LT53c3N0
YXJ0ID0gdG9rLT5wcmVzdGFydDsKLSAgICBmb3IgKDs7KSB7Ci0gICAgICAgIGNvbnN0IGNoYXIg
Kndzc3RhcnQgPSB0b2stPnByZXN0YXJ0OwotICAgICAgICBzdHJ1Y3Qgbm9kZSAqZWFsID0gcGFy
c2VleHRlbmRlZGF0dHJpYnV0ZWxpc3QodG9rKTsKLSAgICAgICAgc3RydWN0IG5vZGUgKm5vZGU7
Ci0gICAgICAgIHN3aXRjaCAodG9rLT50eXBlKSB7Ci0gICAgICAgIGNhc2UgVE9LX3BhcnRpYWw6
Ci0JICAgIGVhdCh0b2ssIFRPS19wYXJ0aWFsKTsKLQkgICAgaWYgKHRvay0+dHlwZSA9PSBUT0tf
ZGljdGlvbmFyeSkgewotCSAgICAgIG5vZGUgPSBwYXJzZWRpY3Rpb25hcnkodG9rLCBlYWwpOwot
CSAgICB9IGVsc2UgewotCSAgICAgIG5vZGUgPSBwYXJzZWludGVyZmFjZSh0b2ssIGVhbCk7Ci0J
ICAgIH0KLQkgICAgYWRkbm9kZShub2RlLCBuZXdhdHRyKCJwYXJ0aWFsIiwgInBhcnRpYWwiKSk7
Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSBUT0tfaW50ZXJmYWNlOgotICAJICAg
IG5vZGUgPSBwYXJzZWludGVyZmFjZSh0b2ssIGVhbCk7Ci0gICAgICAgICAgICBicmVhazsKLQlj
YXNlIFRPS19jYWxsYmFjazoKLQkgICAgZWF0KHRvaywgVE9LX2NhbGxiYWNrKTsKLQkgICAgbm9k
ZSA9IHBhcnNlY2FsbGJhY2sodG9rLCBlYWwpOwotICAgICAgICAgICAgYnJlYWs7Ci0JY2FzZSBU
T0tfZGljdGlvbmFyeToKLSAgICAgICAgICAgIG5vZGUgPSBwYXJzZWRpY3Rpb25hcnkodG9rLCBl
YWwpOwotICAgICAgICAgICAgYnJlYWs7CSAgCi0JY2FzZSBUT0tfZW51bToKLSAgICAgICAgICAg
IG5vZGUgPSBwYXJzZWVudW0odG9rLCBlYWwpOwotICAgICAgICAgICAgYnJlYWs7CSAgCi0gICAg
ICAgIGNhc2UgVE9LX2V4Y2VwdGlvbjoKLSAgICAgICAgICAgIG5vZGUgPSBwYXJzZWV4Y2VwdGlv
bih0b2ssIGVhbCk7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSBUT0tfdHlwZWRl
ZjoKLSAgICAgICAgICAgIG5vZGUgPSBwYXJzZXR5cGVkZWYodG9rLCBlYWwpOwotICAgICAgICAg
ICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgVE9LX0lERU5USUZJRVI6Ci0gICAgICAgICAgICBub2Rl
ID0gcGFyc2VpbXBsZW1lbnRzc3RhdGVtZW50KHRvaywgZWFsKTsKLSAgICAgICAgICAgIGJyZWFr
OwotICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgaWYgKGVhbCkKLSAgICAgICAgICAgICAg
ICB0b2tlcnJvcmV4aXQodG9rLCAiZXhwZWN0ZWQgZGVmaW5pdGlvbiBhZnRlciBleHRlbmRlZCBh
dHRyaWJ1dGUgbGlzdCIpOwotICAgICAgICAgICAgbm9kZSA9IDA7Ci0gICAgICAgICAgICBicmVh
azsKLSAgICAgICAgfQotICAgICAgICBpZiAoIW5vZGUpCi0gICAgICAgICAgICBicmVhazsKLSAg
ICAgICAgbm9kZS0+d3NzdGFydCA9IHdzc3RhcnQ7Ci0gICAgICAgIG5vZGUtPmVuZCA9IHRvay0+
c3RhcnQgKyB0b2stPmxlbjsKLSAgICAgICAgZWF0KHRvaywgJzsnKTsKLSAgICAgICAgYWRkbm9k
ZShwYXJlbnQsIG5vZGUpOwotICAgICAgICBzZXRpZChub2RlKTsKLSAgICAgICAgcGFyZW50LT5l
bmQgPSBub2RlLT5lbmQ7Ci0gICAgfQotfQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIHBhcnNlCi0g
KgotICogUmV0dXJuOiAgcm9vdCBlbGVtZW50IGNvbnRhaW5pbmcgKHBvc3NpYmx5IGVtcHR5KSBs
aXN0IG9mIGRlZmluaXRpb25zCi0gKi8KLXN0cnVjdCBub2RlICoKLXBhcnNlKHZvaWQpCi17Ci0J
c3RydWN0IHRvayAqdG9rOyAKLSAgICBzdHJ1Y3Qgbm9kZSAqcm9vdCA9IG5ld2VsZW1lbnQoIkRl
ZmluaXRpb25zIik7Ci0gICAgc2V0Y29tbWVudG5vZGUocm9vdCk7Ci0gICAgdG9rID0gbGV4bm9j
b21tZW50KCk7Ci0gICAgcGFyc2VkZWZpbml0aW9ucyh0b2ssIHJvb3QpOwotICAgIGlmICh0b2st
PnR5cGUgIT0gVE9LX0VPRikKLSAgICAgICAgdG9rZXJyb3JleGl0KHRvaywgImV4cGVjdGVkIGVu
ZCBvZiBpbnB1dCIpOwotICAgIHJldmVyc2VjaGlsZHJlbihyb290KTsKLSAgICByZXR1cm4gcm9v
dDsKLX0KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3NyYy9wYXJzZS5oIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L3dpZGxwcm9jL3NyYy9wYXJzZS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCBhZDkwNzFiNDUzZTc5ZjU2MDVlYjZlNGM4ZTMwNWQ4NGFiY2ViZjgwLi4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9zcmMv
cGFyc2UuaAorKysgL2Rldi9udWxsCkBAIC0xLDE5ICswLDAgQEAKLS8qKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgot
ICogJElkJAotICogQ29weXJpZ2h0IDIwMDkgQXBsaXggQ29ycG9yYXRpb24uIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCi0gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24g
Mi4wICh0aGUgIkxpY2Vuc2UiKTsKLSAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0
IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KLSAqIFlvdSBtYXkgb2J0YWluIGEgY29w
eSBvZiB0aGUgTGljZW5zZSBhdAotICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNl
cy9MSUNFTlNFLTIuMAotICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFn
cmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQotICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExp
Y2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKLSAqIFdJVEhPVVQgV0FS
UkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBs
aWVkLgotICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJu
aW5nIHBlcm1pc3Npb25zIGFuZAotICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCi0g
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKiovCi0jaWZuZGVmIHBhcnNlX2gKLSNkZWZpbmUgcGFyc2VfaAotCi1zdHJ1
Y3Qgbm9kZSAqcGFyc2Uodm9pZCk7Ci0KLSNlbmRpZiAvKiBuZGVmIHBhcnNlX2ggKi8KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9zcmMvcHJvY2Vzcy5jIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxw
cm9jL3NyYy9wcm9jZXNzLmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQ2YTM0M2I4
YWEwMThjNWEwZDEzZjBlNDRkZGI2ZmNhN2VmMmUyMjAuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3NyYy9wcm9jZXNzLmMK
KysrIC9kZXYvbnVsbApAQCAtMSwzMTkgKzAsMCBAQAotLyoqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiAkSWQk
Ci0gKiBDb3B5cmlnaHQgMjAwOSBBcGxpeCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KLSAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRo
ZSAiTGljZW5zZSIpOwotICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29t
cGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgotICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRo
ZSBMaWNlbnNlIGF0Ci0gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VO
U0UtMi4wCi0gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRv
IGluIHdyaXRpbmcsIHNvZnR3YXJlCi0gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBp
cyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAotICogV0lUSE9VVCBXQVJSQU5USUVT
IE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCi0g
KiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVy
bWlzc2lvbnMgYW5kCi0gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KLSAqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKi8KLSNpbmNsdWRlIDxhc3NlcnQuaD4KLSNpbmNsdWRlIDxzdGRpby5oPgotI2luY2x1
ZGUgPHN0cmluZy5oPgotI2luY2x1ZGUgImNvbW1lbnQuaCIKLSNpbmNsdWRlICJsZXguaCIKLSNp
bmNsdWRlICJtaXNjLmgiCi0jaW5jbHVkZSAibm9kZS5oIgotI2luY2x1ZGUgIm9zLmgiCi0jaW5j
bHVkZSAicGFyc2UuaCIKLSNpbmNsdWRlICJwcm9jZXNzLmgiCi0KLSNpZiAwCi1zdGF0aWMgY29u
c3QgY2hhciBudG5hbWVzW10gPSB7IE5UTkFNRVMgfTsKLSNlbmRpZiAvKjAqLwotCi0vKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioKLSAqIHByaW50dGV4dCA6IHByaW50IHRleHQgd2l0aCB4bWwgZW50aXR5IGVzY2Fw
ZXMKLSAqCi0gKiBFbnRlcjogICBzID0gdGV4dAotICogICAgICAgICAgbGVuID0gbnVtYmVyIG9m
IGJ5dGVzCi0gKiAgICAgICAgICBlc2NhbXAgPSB3aGV0aGVyIHRvIGVzY2FwZSAmCi0gKgotICog
VGhpcyBhbHNvIGVzY2FwZXMgZG91YmxlIHF1b3RlIG1hcmsgc28gaXQgY2FuIGJlIHVzZWQgZm9y
IGFuCi0gKiBhdHRyaWJ1dGUgdmFsdWUuIEl0IGFsc28gdHVybnMgYSB0YWIgaW50byBzcGFjZXMu
Ci0gKi8KLXZvaWQKLXByaW50dGV4dChjb25zdCBjaGFyICpzLCB1bnNpZ25lZCBpbnQgbGVuLCBp
bnQgZXNjYW1wKQotewotICAgIGNvbnN0IGNoYXIgKnAgPSBzLCAqZW5kID0gcyArIGxlbjsKLSAg
ICB1bnNpZ25lZCBpbnQgY291bnQgPSAwOwotICAgIHdoaWxlIChwICE9IGVuZCkgewotICAgICAg
ICBpbnQgY2ggPSAqcDsKLSAgICAgICAgY2hhciBidWZbOV07Ci0gICAgICAgIGNvbnN0IGNoYXIg
KnNlcSA9IDA7Ci0gICAgICAgIGNvdW50Kys7Ci0gICAgICAgIHN3aXRjaCAoY2gpIHsKLSAgICAg
ICAgY2FzZSAnPCc6Ci0gICAgICAgICAgICBzZXEgPSAiJmx0OyI7Ci0gICAgICAgICAgICBicmVh
azsKLSAgICAgICAgY2FzZSAnJic6Ci0gICAgICAgICAgICBzZXEgPSBlc2NhbXAgPyAiJmFtcDsi
IDogIiYiOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgJyInOgotICAgICAgICAg
ICAgc2VxID0gIiZxdW90OyI7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSAnXG4n
OgotICAgICAgICAgICAgcCsrOwotICAgICAgICAgICAgY291bnQgPSAwOwotICAgICAgICAgICAg
Y29udGludWU7Ci0gICAgICAgIGNhc2UgJ1x0JzoKLSAgICAgICAgICAgIHNlcSA9ICIgICAgICAg
ICIgKyAoKGNvdW50IC0gMSkgJiA3KTsKLSAgICAgICAgICAgIGNvdW50ID0gMDsKLSAgICAgICAg
ICAgIGJyZWFrOwotICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgaWYgKCh1bnNpZ25lZCBj
aGFyKWNoID49IDB4MjApIHsKLSAgICAgICAgICAgICAgICBwKys7Ci0gICAgICAgICAgICAgICAg
Y29udGludWU7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBzbnByaW50ZihidWYsIDksICIm
IyVpOyIsIGNoKTsKLSAgICAgICAgICAgIHNlcSA9IGJ1ZjsKLSAgICAgICAgICAgIGJyZWFrOwot
ICAgICAgICB9Ci0gICAgICAgIGlmIChwIC0gcyAhPSBmd3JpdGUocywgMSwgcCAtIHMsIHN0ZG91
dCkpCi0gICAgICAgICAgICBlcnJvcmV4aXQoIndyaXRlIGVycm9yIik7Ci0gICAgICAgIGZwdXRz
KHNlcSwgc3Rkb3V0KTsKLSAgICAgICAgcyA9ICsrcDsKLSAgICB9Ci0gICAgaWYgKHAgLSBzICE9
IGZ3cml0ZShzLCAxLCBwIC0gcywgc3Rkb3V0KSkKLSAgICAgICAgZXJyb3JleGl0KCJ3cml0ZSBl
cnJvciIpOwotfQotCi0jaWYgMAotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBvdXRwdXRub2RlYXN0ZXh0
IDogb3V0cHV0IHBhcnNlIG5vZGUgYW5kIGRlc2NlbmRhbnRzIGFzIGRlcGFyc2VkIHRleHQKLSAq
Ci0gKiBFbnRlcjogICBub2RlID0gcGFyc2Ugbm9kZQotICogICAgICAgICAgbmVlZHNwYWNlID0g
dHJ1ZSBpZiBsYXN0IG91dHB1dCBjaGFyIHdhcyBhbiBpZGVudGlmaWVyIGNoYXIKLSAqCi0gKiBS
ZXR1cm46ICB1cGRhdGVkIG5lZWRzcGFjZSB2YWx1ZQotICovCi1zdGF0aWMgaW50Ci1vdXRwdXRu
b2RlYXN0ZXh0KHN0cnVjdCBub2RlICpub2RlLCBpbnQgbmVlZHNwYWNlKQotewotICAgIGlmIChu
b2RlLT50eXBlID49IE5UX1NUQVJUKSB7Ci0gICAgICAgIHN0cnVjdCBub2RlICpjaGlsZCA9IG5v
ZGUtPmNoaWxkcmVuOwotICAgICAgICB3aGlsZSAoY2hpbGQpIHsKLSAgICAgICAgICAgIG5lZWRz
cGFjZSA9IG91dHB1dG5vZGVhc3RleHQoY2hpbGQsIG5lZWRzcGFjZSk7Ci0gICAgICAgICAgICBj
aGlsZCA9IGNoaWxkLT5uZXh0OwotICAgICAgICB9Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgdW5z
aWduZWQgaW50IGxlbiA9IHN0cmxlbihub2RlLT5uYW1lKTsKLSAgICAgICAgaWYgKGxlbikgewot
ICAgICAgICAgICAgaW50IGNoID0gbm9kZS0+bmFtZVswXTsKLSAgICAgICAgICAgIGlmIChjaCA9
PSAnXycgfHwgKCh1bnNpZ25lZCkoY2ggLSAnMCcpIDwgMTAKLSAgICAgICAgICAgICAgICAgICAg
fHwgKHVuc2lnbmVkKSgoY2ggJiB+MHgyMCkgLSAnQScpIDwgMjYpKQotICAgICAgICAgICAgewot
ICAgICAgICAgICAgICAgIGlmIChuZWVkc3BhY2UpIHB1dGNoYXIoJyAnKTsKLSAgICAgICAgICAg
IH0KLSAgICAgICAgICAgIGNoID0gbm9kZS0+bmFtZVtsZW4gLSAxXTsKLSAgICAgICAgICAgIGlm
IChjaCA9PSAnXycgfHwgKCh1bnNpZ25lZCkoY2ggLSAnMCcpIDwgMTAKLSAgICAgICAgICAgICAg
ICAgICAgfHwgKHVuc2lnbmVkKSgoY2ggJiB+MHgyMCkgLSAnQScpIDwgMjYpKQotICAgICAgICAg
ICAgewotICAgICAgICAgICAgICAgIG5lZWRzcGFjZSA9IDE7Ci0gICAgICAgICAgICB9Ci0gICAg
ICAgICAgICBwcmludHRleHQobm9kZS0+bmFtZSwgbGVuLCAxKTsKLSAgICAgICAgfQotICAgIH0K
LSAgICByZXR1cm4gbmVlZHNwYWNlOwotfQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIHByaW50ZnFp
ZCA6IHByaW50IGZ1bGx5LXF1YWxpZmllZCBpZAotICoKLSAqIEVudGVyOiAgIG5vZGUgc3RydWN0
Ci0gKgotICogUmV0dXJuOiAgd2hldGhlciBhbnl0aGluZyBwcmludGVkCi0gKi8KLXN0YXRpYyBp
bnQKLXByaW50ZnFpZChzdHJ1Y3Qgbm9kZSAqbm9kZSkKLXsKLSAgICBpbnQgYW55ID0gMDsKLSAg
ICBzdHJ1Y3Qgbm9kZSAqaWRlbnRpZmllcjsKLSAgICBpZiAobm9kZS0+cGFyZW50KSB7Ci0gICAg
ICAgIGFueSA9IHByaW50ZnFpZChub2RlLT5wYXJlbnQpOwotICAgIH0KLSAgICBzd2l0Y2ggKG5v
ZGUtPnR5cGUpIHsKLSAgICBjYXNlIE5UX01vZHVsZToKLSAgICBjYXNlIE5UX0ludGVyZmFjZToK
LSAgICBjYXNlIE5UX1R5cGVkZWY6Ci0gICAgY2FzZSBOVF9PcGVyYXRpb246Ci0gICAgY2FzZSBO
VF9BdHRyaWJ1dGU6Ci0gICAgY2FzZSBOVF9Db25zdDoKLSAgICAgICAgaWYgKGFueSkKLSAgICAg
ICAgICAgIHByaW50ZigiOiIpOwotICAgICAgICAvKiBGaW5kIGlkZW50aWZpZXIgY2hpbGQgaWYg
YW55LiAqLwotICAgICAgICBpZGVudGlmaWVyID0gbm9kZS0+Y2hpbGRyZW47Ci0gICAgICAgIHdo
aWxlIChpZGVudGlmaWVyKSB7Ci0gICAgICAgICAgICBpZiAoaWRlbnRpZmllci0+dHlwZSA9PSBU
T0tfSURFTlRJRklFUikKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGlmIChp
ZGVudGlmaWVyLT50eXBlID09IE5UX1R5cGVkZWZSZXN0KSB7Ci0gICAgICAgICAgICAgICAgaWRl
bnRpZmllciA9IGlkZW50aWZpZXItPmNoaWxkcmVuOwotICAgICAgICAgICAgICAgIGNvbnRpbnVl
OwotICAgICAgICAgICAgfQotICAgICAgICAgICAgaWRlbnRpZmllciA9IGlkZW50aWZpZXItPm5l
eHQ7Ci0gICAgICAgIH0KLSAgICAgICAgaWYgKGlkZW50aWZpZXIpIHsKLSAgICAgICAgICAgIHBy
aW50dGV4dChpZGVudGlmaWVyLT5uYW1lLCBzdHJsZW4oaWRlbnRpZmllci0+bmFtZSksIDEpOwot
ICAgICAgICAgICAgYW55ID0gMTsKLSAgICAgICAgfQotICAgICAgICBicmVhazsKLSAgICB9Ci0g
ICAgcmV0dXJuIGFueTsKLX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBvdXRwdXQgOiBvdXRwdXQg
c3VidHJlZSBvZiBwYXJzZSB0cmVlCi0gKgotICogRW50ZXI6ICAgbm9kZSA9IHJvb3Qgb2Ygc3Vi
dHJlZQotICogICAgICAgICAgZXh0ZW5kZWRhdHRyaWJ1dGVsaXN0ID0gMCBlbHNlIGV4dGVuZGVk
IGF0dHJpYnV0ZSBsaXN0IG5vZGUKLSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGFwcGx5aW5nIHRvIG5vZGUKLSAqICAgICAgICAgIGluZGVudCA9IGluZGVudCAobmVzdGluZykg
bGV2ZWwKLSAqLwotc3RhdGljIHZvaWQgb3V0cHV0Y2hpbGRyZW4oc3RydWN0IG5vZGUgKm5vZGUs
IHN0cnVjdCBub2RlICppZGVudGlmaWVyLCB1bnNpZ25lZCBpbnQgaW5kZW50KTsKLQotc3RhdGlj
IHZvaWQKLW91dHB1dChzdHJ1Y3Qgbm9kZSAqbm9kZSwgc3RydWN0IG5vZGUgKmV4dGVuZGVkYXR0
cmlidXRlbGlzdCwKLSAgICAgICB1bnNpZ25lZCBpbnQgaW5kZW50KQotewotICAgIGlmIChleHRl
bmRlZGF0dHJpYnV0ZWxpc3QpIHsKLSAgICAgICAgbm9kZS0+d3NzdGFydCA9IGV4dGVuZGVkYXR0
cmlidXRlbGlzdC0+d3NzdGFydDsKLSAgICAgICAgbm9kZS0+c3RhcnQgPSBleHRlbmRlZGF0dHJp
YnV0ZWxpc3QtPnN0YXJ0OwotICAgIH0KLSAgICBpZiAobm9kZS0+dHlwZSA9PSBOVF9FeHRlbmRl
ZEF0dHJpYnV0ZSkgewotICAgICAgICBwcmludGYoIiUqczxFeHRlbmRlZEF0dHJpYnV0ZSB2YWx1
ZT1cIiIsIGluZGVudCwgIiIpOwotICAgICAgICBvdXRwdXRub2RlYXN0ZXh0KG5vZGUsIDApOwot
ICAgICAgICBwcmludGYoIlwiLz5cbiIpOwotICAgIH0gZWxzZSBpZiAobm9kZS0+dHlwZSA9PSBO
VF9Cb29sZWFuTGl0ZXJhbCkgewotICAgICAgICBwcmludGYoIiUqczxCb29sZWFuTGl0ZXJhbCB2
YWx1ZT1cIiVzXCIvPiIsIGluZGVudCwgIiIsCi0gICAgICAgICAgICBub2RlLT5jaGlsZHJlbi0+
bmFtZSk7Ci0gICAgfSBlbHNlIGlmIChub2RlLT50eXBlID09IE5UX1JlYWRPbmx5KSB7Ci0gICAg
ICAgIHByaW50ZigiJSpzPFJlYWRPbmx5Lz5cbiIsIGluZGVudCwgIiIpOwotICAgIH0gZWxzZSBp
ZiAobm9kZS0+dHlwZSA+PSBOVF9TVEFSVCkgewotICAgICAgICBjb25zdCBjaGFyICpudG5hbWU7
Ci0gICAgICAgIC8qIEZpbmQgaWRlbnRpZmllciBjaGlsZCBpZiBhbnkuICovCi0gICAgICAgIHN0
cnVjdCBub2RlICppZGVudGlmaWVyID0gbm9kZS0+Y2hpbGRyZW47Ci0gICAgICAgIHdoaWxlIChp
ZGVudGlmaWVyKSB7Ci0gICAgICAgICAgICBpZiAoaWRlbnRpZmllci0+dHlwZSA9PSBUT0tfSURF
TlRJRklFUikKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGlkZW50aWZpZXIg
PSBpZGVudGlmaWVyLT5uZXh0OwotICAgICAgICB9Ci0gICAgICAgIC8qIEZpbmQgbm9udGVybWlu
YWwgbmFtZS4gKi8KLSAgICAgICAgbnRuYW1lID0gbnRuYW1lcyArIDI7Ci0gICAgICAgIHdoaWxl
IChub2RlLT50eXBlIC0gTlRfU1RBUlQgIT0gKCh1bnNpZ25lZCBjaGFyKW50bmFtZVstMl0gfCAo
dW5zaWduZWQgY2hhciludG5hbWVbLTFdIDw8IDgpKQotICAgICAgICAgICAgbnRuYW1lICs9IHN0
cmxlbihudG5hbWUpICsgMzsKLSAgICAgICAgLyogT3V0cHV0IHN0YXJ0IG9mIGVsZW1lbnQuICov
Ci0gICAgICAgIHByaW50ZigiJSpzPCVzIiwgaW5kZW50LCAiIiwgbnRuYW1lKTsKLSAgICAgICAg
LyogT3V0cHV0IGlkZW50aWZpZXIgaWYgYW55IGFzIGF0dHJpYnV0ZS4gKi8KLSAgICAgICAgaWYg
KGlkZW50aWZpZXIpIHsKLSAgICAgICAgICAgIHByaW50ZigiIGlkZW50aWZpZXI9XCIiKTsKLSAg
ICAgICAgICAgIHByaW50dGV4dChpZGVudGlmaWVyLT5uYW1lLCBzdHJsZW4oaWRlbnRpZmllci0+
bmFtZSksIDEpOwotICAgICAgICAgICAgcHJpbnRmKCJcIiIpOwotICAgICAgICB9Ci0gICAgICAg
IHN3aXRjaCAobm9kZS0+dHlwZSkgewotICAgICAgICBjYXNlIE5UX01vZHVsZToKLSAgICAgICAg
Y2FzZSBOVF9JbnRlcmZhY2U6Ci0gICAgICAgIGNhc2UgTlRfVHlwZWRlZjoKLSAgICAgICAgY2Fz
ZSBOVF9Db25zdDoKLSAgICAgICAgICAgIC8qIE91dHB1dCBmdWxseSBxdWFsaWZpZWQgaWQuICov
Ci0gICAgICAgICAgICBwcmludGYoIiBmcWlkPVwiIik7Ci0gICAgICAgICAgICBwcmludGZxaWQo
bm9kZSk7Ci0gICAgICAgICAgICBwcmludGYoIlwiIik7Ci0gICAgICAgICAgICBicmVhazsKLSAg
ICAgICAgfQotICAgICAgICBpZiAoIWlkZW50aWZpZXIgJiYgIWV4dGVuZGVkYXR0cmlidXRlbGlz
dCAmJiAhbm9kZS0+Y2hpbGRyZW4gJiYgIW5vZGUtPmNvbW1lbnRzKQotICAgICAgICAgICAgcHJp
bnRmKCIvPlxuIik7Ci0gICAgICAgIGVsc2UgewotICAgICAgICAgICAgcHJpbnRmKCI+XG4iKTsK
LSAgICAgICAgICAgIC8qIE91dHB1dCBkZXNjcmlwdGl2ZSBlbGVtZW50cyAoZG94eWdlbiBjb21t
ZW50cykgZm9yIG5vZGUuICovCi0gICAgICAgICAgICBvdXRwdXRkZXNjcmlwdGl2ZShub2RlLCBp
bmRlbnQgKyAyKTsKLSAgICAgICAgICAgIC8qIE91dHB1dCBkZXNjcmlwdGl2ZSBlbGVtZW50cyAo
ZG94eWdlbiBjb21tZW50cykgZm9yIGlkZW50aWZpZXIuICovCi0gICAgICAgICAgICBpZiAoaWRl
bnRpZmllcikKLSAgICAgICAgICAgICAgICBvdXRwdXRkZXNjcmlwdGl2ZShpZGVudGlmaWVyLCBp
bmRlbnQgKyAyKTsKLSAgICAgICAgICAgIC8qIE91dHB1dCBleHRlbmRlZCBhdHRyaWJ1dGUgbGlz
dC4gKi8KLSAgICAgICAgICAgIGlmIChleHRlbmRlZGF0dHJpYnV0ZWxpc3QpCi0gICAgICAgICAg
ICAgICAgb3V0cHV0KGV4dGVuZGVkYXR0cmlidXRlbGlzdCwgMCwgaW5kZW50ICsgMik7Ci0gICAg
ICAgICAgICAvKiBPdXRwdXQgY2hpbGRyZW4gKGV4Y2x1ZGluZyBpZGVudGlmaWVyIGNoaWxkKS4g
Ki8KLSAgICAgICAgICAgIG91dHB1dGNoaWxkcmVuKG5vZGUsIGlkZW50aWZpZXIsIGluZGVudCAr
IDIpOwotICAgICAgICAgICAgcHJpbnRmKCIlKnM8LyVzPlxuIiwgaW5kZW50LCAiIiwgbnRuYW1l
KTsKLSAgICAgICAgfQotICAgIH0gZWxzZSBzd2l0Y2ggKG5vZGUtPnR5cGUpIHsKLSAgICBjYXNl
IFRPS19ET01TdHJpbmc6Ci0gICAgY2FzZSBUT0tfYW55OgotICAgIGNhc2UgVE9LX2Jvb2xlYW46
Ci0gICAgY2FzZSBUT0tfb2N0ZXQ6Ci0gICAgY2FzZSBUT0tfZmxvYXQ6Ci0gICAgY2FzZSBUT0tf
ZG91YmxlOgotICAgIGNhc2UgVE9LX09iamVjdDoKLSAgICBjYXNlIFRPS191bnNpZ25lZDoKLSAg
ICBjYXNlIFRPS19zaG9ydDoKLSAgICBjYXNlIFRPS19sb25nOgotICAgIGNhc2UgVE9LX3ZvaWQ6
Ci0gICAgICAgIHByaW50ZigiJSpzPCVzLz5cbiIsIGluZGVudCwgIiIsIG5vZGUtPm5hbWUpOwot
ICAgICAgICBicmVhazsKLSAgICBjYXNlIFRPS19JTlRFR0VSOgotICAgICAgICBwcmludGYoIiUq
czxpbnRlZ2VyIHZhbHVlPVwiIiwgaW5kZW50LCAiIik7Ci0gICAgICAgIHByaW50dGV4dChub2Rl
LT5uYW1lLCBzdHJsZW4obm9kZS0+bmFtZSksIDEpOwotICAgICAgICBwcmludGYoIlwiLz5cbiIp
OwotICAgICAgICBicmVhazsKLSAgICBjYXNlIFRPS19GTE9BVDoKLSAgICAgICAgcHJpbnRmKCIl
KnM8RmxvYXQgdmFsdWU9XCIiLCBpbmRlbnQsICIiKTsKLSAgICAgICAgcHJpbnR0ZXh0KG5vZGUt
Pm5hbWUsIHN0cmxlbihub2RlLT5uYW1lKSwgMSk7Ci0gICAgICAgIHByaW50ZigiXCIvPlxuIik7
Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgVE9LX1NUUklORzoKLSAgICAgICAgcHJpbnRmKCIl
KnM8c3RyaW5nIHZhbHVlPVwiIiwgaW5kZW50LCAiIik7Ci0gICAgICAgIHByaW50dGV4dChub2Rl
LT5uYW1lLCBzdHJsZW4obm9kZS0+bmFtZSksIDEpOwotICAgICAgICBwcmludGYoIlwiLz5cbiIp
OwotICAgICAgICBicmVhazsKLSAgICB9Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogb3V0cHV0
Y2hpbGRyZW4gOiBjYWxsIG91dHB1dCBmb3IgZWFjaCBjaGlsZCBvZiBub2RlCi0gKgotICogRW50
ZXI6ICAgbm9kZQotICogICAgICAgICAgaWRlbnRpZmllciA9IGNoaWxkIG5vZGUgdG8gb21pdCBm
cm9tIG91dHB1dAotICogICAgICAgICAgaW5kZW50ID0gaW5kZW50IChuZXN0aW5nKSBsZXZlbAot
ICovCi1zdGF0aWMgdm9pZAotb3V0cHV0Y2hpbGRyZW4oc3RydWN0IG5vZGUgKm5vZGUsIHN0cnVj
dCBub2RlICppZGVudGlmaWVyLCB1bnNpZ25lZCBpbnQgaW5kZW50KQotewotICAgIHN0cnVjdCBu
b2RlICpleHRlbmRlZGF0dHJpYnV0ZWxpc3Q7Ci0gICAgc3RydWN0IG5vZGUgKmNoaWxkOwotICAg
IGNoaWxkID0gbm9kZS0+Y2hpbGRyZW47Ci0gICAgZXh0ZW5kZWRhdHRyaWJ1dGVsaXN0ID0gMDsK
LSAgICB3aGlsZSAoY2hpbGQpIHsKLSAgICAgICAgaWYgKGNoaWxkLT50eXBlID09IE5UX0V4dGVu
ZGVkQXR0cmlidXRlTGlzdCAmJiBub2RlLT50eXBlICE9IE5UX0FyZ3VtZW50KQotICAgICAgICAg
ICAgZXh0ZW5kZWRhdHRyaWJ1dGVsaXN0ID0gY2hpbGQ7Ci0gICAgICAgIGVsc2UgewotICAgICAg
ICAgICAgaWYgKGlkZW50aWZpZXIgIT0gY2hpbGQpCi0gICAgICAgICAgICAgICAgb3V0cHV0KGNo
aWxkLCBleHRlbmRlZGF0dHJpYnV0ZWxpc3QsIGluZGVudCk7Ci0gICAgICAgICAgICBleHRlbmRl
ZGF0dHJpYnV0ZWxpc3QgPSAwOwotICAgICAgICB9Ci0gICAgICAgIGNoaWxkID0gY2hpbGQtPm5l
eHQ7Ci0gICAgfQotfQotI2VuZGlmIC8qMCovCi0KLS8qKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogcHJvY2Vz
c2ZpbGVzIDogcHJvY2VzcyBpbnB1dCBmaWxlcwotICoKLSAqIEVudGVyOiAgIG5hbWUgPSBmaWxl
bmFtZQotICovCi12b2lkCi1wcm9jZXNzZmlsZXMoY29uc3QgY2hhciAqY29uc3QgKm5hbWVzLCBp
bnQgZHRkcmVmKQotewotICAgIHN0cnVjdCBub2RlICpyb290OwotICAgIHJlYWRpbnB1dChuYW1l
cyk7Ci0gICAgcm9vdCA9IHBhcnNlKCk7Ci0gICAgcHJvY2Vzc2NvbW1lbnRzKHJvb3QpOwotICAg
IHByaW50ZigiPD94bWwgdmVyc2lvbj1cIjEuMFwiIGVuY29kaW5nPVwiVVRGLThcIj8+XG4iKTsK
LSAgICBpZihkdGRyZWYpCi0gICAgICAgIHByaW50ZigiPCFET0NUWVBFIERlZmluaXRpb25zIFNZ
U1RFTSBcIndpZGxwcm9jeG1sLmR0ZFwiPlxuIik7Ci0gICAgb3V0cHV0bm9kZShyb290LCAwKTsK
LX0KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3NyYy9wcm9jZXNzLmggYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvd2lkbHByb2Mvc3JjL3Byb2Nlc3MuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggYmI5MmIyMmNlMTM4Y2EzNjRhNzhjNmIzZWViY2YzYjQzMTFiN2FmOS4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mvc3Jj
L3Byb2Nlc3MuaAorKysgL2Rldi9udWxsCkBAIC0xLDI3ICswLDAgQEAKLS8qKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KgotICogJElkJAotICogQ29weXJpZ2h0IDIwMDkgQXBsaXggQ29ycG9yYXRpb24uIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCi0gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNp
b24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKLSAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhj
ZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KLSAqIFlvdSBtYXkgb2J0YWluIGEg
Y29weSBvZiB0aGUgTGljZW5zZSBhdAotICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNl
bnNlcy9MSUNFTlNFLTIuMAotICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9y
IGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQotICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhl
IExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKLSAqIFdJVEhPVVQg
V0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBp
bXBsaWVkLgotICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292
ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAotICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2Uu
Ci0gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKiovCi0jaWZuZGVmIHByb2Nlc3NfaAotI2RlZmluZSBwcm9jZXNzX2gK
LQotI2lmIDAKLSNkZWZpbmUgTlRfU1RBUlQgMHgxMDAKLSNpbmNsdWRlICJub250ZXJtaW5hbHMu
aCIKLSNlbmRpZi8qMCovCi0KLXZvaWQgcHJpbnR0ZXh0KGNvbnN0IGNoYXIgKnMsIHVuc2lnbmVk
IGludCBsZW4sIGludCBlc2NhbXApOwotCi12b2lkIHByb2Nlc3NmaWxlcyhjb25zdCBjaGFyICpj
b25zdCAqbmFtZXMsIGludCBkdGRyZWYpOwotCi0jZW5kaWYgLyogbmRlZiBwcm9jZXNzX2ggKi8K
LQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3NyYy93M2MtaW1wb3J0LmxvZyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC93aWRscHJvYy9zcmMvdzNjLWltcG9ydC5sb2cKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IGI0ZWVlZWY4ZmMyYTY2N2FiNmQ3MTcwNDU3YTk1ZTRlODdmMzU1OGIuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxw
cm9jL3NyYy93M2MtaW1wb3J0LmxvZworKysgL2Rldi9udWxsCkBAIC0xLDMzICswLDAgQEAKLVRo
ZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBv
c2l0b3J5LgotRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1J
bnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFczQyBDU1Mgb3IgV1BUIGdpdGh1
YjoKLQlodHRwczovL2dpdGh1Yi5jb20vdzNjL2Nzc3dnLXRlc3QKLQlodHRwczovL2dpdGh1Yi5j
b20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cwotCi1UaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9p
bXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydAotCi1EbyBOT1QgbW9kaWZ5IG9y
IHJlbW92ZSB0aGlzIGZpbGUuCi0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotUHJvcGVydGllcyByZXF1aXJp
bmcgdmVuZG9yIHByZWZpeGVzOgotTm9uZQotUHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5k
b3IgcHJlZml4ZXM6Ci1Ob25lCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLUxpc3Qgb2YgZmlsZXM6Ci0vTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L3dpZGxwcm9jL3NyYy9jb21tZW50LmMKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mvc3JjL2Nv
bW1lbnQuaAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9zcmMvZW50aXRpZXMuaAotL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93
aWRscHJvYy9zcmMvbGV4LmMKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mvc3JjL2xleC5oCi0vTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3dpZGxwcm9jL3NyYy9tYWluLmMKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mvc3JjL21pc2MuYwot
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC93aWRscHJvYy9zcmMvbWlzYy5oCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3NyYy9u
b2RlLmMKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mvc3JjL25vZGUuaAotL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJv
Yy9zcmMvb3MuaAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9zcmMvcGFyc2UuYwotL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93
aWRscHJvYy9zcmMvcGFyc2UuaAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9zcmMvcHJvY2Vzcy5jCi0v
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3dpZGxwcm9jL3NyYy9wcm9jZXNzLmgKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mvc3Jj
L3dpZGxwcm9jeG1sdG9odG1sLnhzbApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Ny
Yy93aWRscHJvY3htbHRvaHRtbC54c2wgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mvc3JjL3dpZGxwcm9j
eG1sdG9odG1sLnhzbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMmI1ODMzNzFlN2Rk
MmM5NTQyZTA5MTJhNWZhNzZkMGZkMDYzMDNmMi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mvc3JjL3dpZGxwcm9jeG1sdG9o
dG1sLnhzbAorKysgL2Rldi9udWxsCkBAIC0xLDgyOCArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIx
LjAiIGVuY29kaW5nPSJ1dGYtOCI/PgotPCEtLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0kSWQ6IHdpZGxwcm9jeG1s
dG9odG1sLnhzbCA0MDcgMjAwOS0xMC0yNiAxMzo0ODo0OFogdHByICQKLUNvcHlyaWdodCAyMDA5
IEFwbGl4IENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotTGljZW5zZWQgdW5kZXIg
dGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7Ci15b3UgbWF5
IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2Uu
Ci1Zb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKLSAgICBodHRwOi8vd3d3
LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKLVVubGVzcyByZXF1aXJlZCBieSBhcHBs
aWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKLWRpc3RyaWJ1dGVk
IHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCi1X
SVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJl
c3Mgb3IgaW1wbGllZC4KLVNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdl
IGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKLWxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNl
LgotCi1YU0xUIHN0eWxlc2hlZXQgdG8gY29udmVydCB3aWRscHJvY3htbCBpbnRvIGh0bWwgZG9j
dW1lbnRhdGlvbi4KLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PS0tPgotPHhzbDpzdHlsZXNoZWV0IHhtbG5zOnhzbD0i
aHR0cDovL3d3dy53My5vcmcvMTk5OS9YU0wvVHJhbnNmb3JtIiB2ZXJzaW9uPSIxLjAiPgotPHhz
bDpvdXRwdXQgbWV0aG9kPSJodG1sIiBlbmNvZGluZz0idXRmLTgiIGluZGVudD0ieWVzIiBkb2N0
eXBlLXB1YmxpYz0iaHRtbCIvPgotCi08eHNsOnBhcmFtIG5hbWU9ImRhdGUiIHNlbGVjdD0iJ2Vy
cm9yOiBtaXNzaW5nIGRhdGUnIi8+Ci0KLTx4c2w6dmFyaWFibGUgbmFtZT0idGl0bGUiIHNlbGVj
dD0iY29uY2F0KCdUaGUgJywvRGVmaW5pdGlvbnMvZGVzY3JpcHRpdmUvbmFtZSwnIE1vZHVsZSAt
IFZlcnNpb24gJywvRGVmaW5pdGlvbnMvZGVzY3JpcHRpdmUvdmVyc2lvbikiLz4KLQotPCEtLVJv
b3Qgb2YgZG9jdW1lbnQuLS0+Ci08eHNsOnRlbXBsYXRlIG1hdGNoPSIvIj4KLSAgICA8aHRtbD4K
LSAgICAgICAgPGhlYWQ+Ci0gICAgICAgICAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9
InRleHQvY3NzIiBocmVmPSJ3aWRsaHRtbC5jc3MiIG1lZGlhPSJzY3JlZW4iLz4KLSAgICAgICAg
ICAgIDx0aXRsZT4KLSAgICAgICAgICAgICAgICA8eHNsOnZhbHVlLW9mIHNlbGVjdD0iJHRpdGxl
Ii8+Ci0gICAgICAgICAgICA8L3RpdGxlPgotICAgICAgICA8L2hlYWQ+Ci0gICAgICAgIDxib2R5
PgotICAgICAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMvPgotICAgICAgICA8L2JvZHk+Ci0g
ICAgPC9odG1sPgotPC94c2w6dGVtcGxhdGU+Ci0KLTwhLS1Sb290IG9mIERlZmluaXRpb25zLi0t
PgotPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iRGVmaW5pdGlvbnMiPgotICAgIDxkaXYgY2xhc3M9ImFw
aSIgaWQ9IntAaWR9Ij4KLSAgICAgICAgPGEgaHJlZj0iaHR0cDovL2JvbmRpLm9tdHAub3JnIj48
aW1nIHNyYz0iaHR0cDovL3d3dy5vbXRwLm9yZy9pbWFnZXMvQm9uZGlTbWFsbC5qcGciIGFsdD0i
Qm9uZGkgbG9nbyIvPjwvYT4KLSAgICAgICAgPGgxPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIkdGl0
bGUiLz48L2gxPgotICAgICAgICA8aDM+MTIgTWF5IDIwMDk8L2gzPgotCi0gICAgICAgIDxoMj5B
dXRob3JzPC9oMj4KLSAgICAgICAgPHVsIGNsYXNzPSJhdXRob3JzIj4KLSAgICAgICAgICA8eHNs
OmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9ImRlc2NyaXB0aXZlL2F1dGhvciIvPgotICAgICAgICA8
L3VsPgotCi0gICAgICAgIDxwIGNsYXNzPSJjb3B5cmlnaHQiPjxzbWFsbD7CqSBUaGUgYXV0aG9y
cywgMjAxMi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48L3NtYWxsPjwvcD4KLQotICAgICAgICA8aHIv
PgotCi0gICAgICAgIDxoMj5BYnN0cmFjdDwvaDI+Ci0KLSAgICAgICAgPHhzbDphcHBseS10ZW1w
bGF0ZXMgc2VsZWN0PSJkZXNjcmlwdGl2ZS9icmllZiIvPgotICAgICAgICA8eHNsOmFwcGx5LXRl
bXBsYXRlcyBzZWxlY3Q9ImRlc2NyaXB0aXZlL2Rlc2NyaXB0aW9uIi8+Ci0gICAgICAgIDx4c2w6
YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iZGVzY3JpcHRpdmUvQ29kZSIvPgotCi0gICAgICAgIDxo
Mj5UYWJsZSBvZiBDb250ZW50czwvaDI+Ci0gICAgICAgIDx1bCBjbGFzcz0idG9jIj4KLSAgICAg
ICAgICA8bGk+PGEgaHJlZj0iI2ludHJvIj5JbnRyb2R1Y3Rpb248L2E+Ci0gICAgICAgICAgPHVs
PgotICAgICAgICAgICAgPHhzbDppZiB0ZXN0PSJkZXNjcmlwdGl2ZS9kZWYtYXBpLWZlYXR1cmUt
c2V0Ij4KLSAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9IiNkZWYtYXBpLWZlYXR1cmUtc2V0cyI+
RmVhdHVyZSBzZXQ8L2E+PC9saT4KLSAgICAgICAgICAgIDwveHNsOmlmPgotICAgICAgICAgICAg
PHhzbDppZiB0ZXN0PSJkZXNjcmlwdGl2ZS9kZWYtYXBpLWZlYXR1cmUiPgotICAgICAgICAgICAg
ICA8bGk+PGEgaHJlZj0iI2RlZi1hcGktZmVhdHVyZXMiPkZlYXR1cmVzPC9hPjwvbGk+Ci0gICAg
ICAgICAgICA8L3hzbDppZj4KLSAgICAgICAgICAgIDx4c2w6aWYgdGVzdD0iZGVzY3JpcHRpdmUv
ZGVmLWRldmljZS1jYXAiPgotICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iI2RlZi1kZXZpY2Ut
Y2FwcyI+RGV2aWNlIENhcGFiaWxpdGllczwvYT48L2xpPgotICAgICAgICAgICAgPC94c2w6aWY+
Ci0gICAgICAgICAgPC91bD4KLSAgICAgICAgICA8L2xpPgotICAgICAgICAgIDx4c2w6aWYgdGVz
dD0iVHlwZWRlZiI+Ci0gICAgICAgICAgICA8bGk+PGEgaHJlZj0iI3R5cGVkZWZzIj5UeXBlIERl
ZmluaXRpb25zPC9hPgotICAgICAgICAgICAgPHVsIGNsYXNzPSJ0b2MiPgotICAgICAgICAgICAg
ICA8eHNsOmZvci1lYWNoIHNlbGVjdD0iVHlwZWRlZltkZXNjcmlwdGl2ZV0iPgotICAgICAgICAg
ICAgICAgIDxsaT48YSBocmVmPSIje0BpZH0iPjxjb2RlPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJA
bmFtZSIvPjwvY29kZT48L2E+PC9saT4KLSAgICAgICAgICAgICAgPC94c2w6Zm9yLWVhY2g+Ci0g
ICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgPC9saT4KLSAgICAgICAgICA8L3hzbDppZj4K
LSAgICAgICAgICA8eHNsOmlmIHRlc3Q9IkludGVyZmFjZSI+Ci0JICAgICAgICAgIDxsaT48YSBo
cmVmPSIjaW50ZXJmYWNlcyI+SW50ZXJmYWNlczwvYT4KLQkgICAgICAgICAgPHVsIGNsYXNzPSJ0
b2MiPgotCSAgICAgICAgICA8eHNsOmZvci1lYWNoIHNlbGVjdD0iSW50ZXJmYWNlW2Rlc2NyaXB0
aXZlXSI+Ci0JICAgICAgICAgICAgPGxpPjxhIGhyZWY9IiN7QGlkfSI+PGNvZGU+PHhzbDp2YWx1
ZS1vZiBzZWxlY3Q9IkBuYW1lIi8+PC9jb2RlPjwvYT48L2xpPgotCSAgICAgICAgICA8L3hzbDpm
b3ItZWFjaD4KLQkgICAgICAgICAgPC91bD4KLQkgICAgICAgICAgPC9saT4KLSAgICAgICAgICA8
L3hzbDppZj4KLSAgICAgICAgICA8eHNsOmlmIHRlc3Q9IkRpY3Rpb25hcnkiPgotCSAgICAgICAg
ICA8bGk+PGEgaHJlZj0iI2RpY3Rpb25hcmllcyI+RGljdGlvbmFyeSB0eXBlczwvYT4KLQkgICAg
ICAgICAgPHVsIGNsYXNzPSJ0b2MiPgotCSAgICAgICAgICA8eHNsOmZvci1lYWNoIHNlbGVjdD0i
RGljdGlvbmFyeVtkZXNjcmlwdGl2ZV0iPgotCSAgICAgICAgICAgIDxsaT48YSBocmVmPSIje0Bp
ZH0iPjxjb2RlPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAbmFtZSIvPjwvY29kZT48L2E+PC9saT4K
LQkgICAgICAgICAgPC94c2w6Zm9yLWVhY2g+Ci0JICAgICAgICAgIDwvdWw+Ci0JICAgICAgICAg
IDwvbGk+Ci0gICAgICAgICAgPC94c2w6aWY+Ci0gICAgICAgICAgPHhzbDppZiB0ZXN0PSJDYWxs
YmFjayI+Ci0JICAgICAgICAgIDxsaT48YSBocmVmPSIjY2FsbGJhY2tzIj5DYWxsYmFja3M8L2E+
Ci0JICAgICAgICAgIDx1bCBjbGFzcz0idG9jIj4KLQkgICAgICAgICAgPHhzbDpmb3ItZWFjaCBz
ZWxlY3Q9IkNhbGxiYWNrW2Rlc2NyaXB0aXZlXSI+Ci0JICAgICAgICAgICAgPGxpPjxhIGhyZWY9
IiN7QGlkfSI+PGNvZGU+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBuYW1lIi8+PC9jb2RlPjwvYT48
L2xpPgotCSAgICAgICAgICA8L3hzbDpmb3ItZWFjaD4KLQkgICAgICAgICAgPC91bD4KLQkgICAg
ICAgICAgPC9saT4KLSAgICAgICAgICA8L3hzbDppZj4KLSAgICAgICAgICA8eHNsOmlmIHRlc3Q9
IkVudW0iPgotCSAgICAgICAgICA8bGk+PGEgaHJlZj0iI2VudW1zIj5FbnVtczwvYT4KLQkgICAg
ICAgICAgPHVsIGNsYXNzPSJ0b2MiPgotCSAgICAgICAgICA8eHNsOmZvci1lYWNoIHNlbGVjdD0i
RW51bVtkZXNjcmlwdGl2ZV0iPgotCSAgICAgICAgICAgIDxsaT48YSBocmVmPSIje0BpZH0iPjxj
b2RlPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAbmFtZSIvPjwvY29kZT48L2E+PC9saT4KLQkgICAg
ICAgICAgPC94c2w6Zm9yLWVhY2g+Ci0JICAgICAgICAgIDwvdWw+Ci0JICAgICAgICAgIDwvbGk+
Ci0gICAgICAgICAgPC94c2w6aWY+Ci0gICAgICAgIDwvdWw+Ci0KLSAgICAgICAgPGhyLz4KLQot
ICAgICAgICA8aDI+U3VtbWFyeSBvZiBNZXRob2RzPC9oMj4KLSAgICAgICAgPHhzbDpjYWxsLXRl
bXBsYXRlIG5hbWU9InN1bW1hcnkiLz4KLSAgICAgICAgCi0gICAgICAgIDxoMiBpZD0iaW50cm8i
PkludHJvZHVjdGlvbjwvaDI+Ci0KLSAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0
PSJkZXNjcmlwdGl2ZS9kZXNjcmlwdGlvbiIvPgotICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRl
cyBzZWxlY3Q9ImRlc2NyaXB0aXZlL0NvZGUiLz4KLQotICAgICAgICA8eHNsOmlmIHRlc3Q9ImRl
c2NyaXB0aXZlL2RlZi1hcGktZmVhdHVyZS1zZXQiPgotICAgICAgICAgICAgPGRpdiBpZD0iZGVm
LWFwaS1mZWF0dXJlLXNldHMiIGNsYXNzPSJkZWYtYXBpLWZlYXR1cmUtc2V0cyI+Ci0gICAgICAg
ICAgICAgICAgPGgzIGlkPSJmZWF0dXJlcyI+RmVhdHVyZSBzZXQ8L2gzPgotICAgICAgICAgICAg
ICAgIDxwPlRoaXMgaXMgdGhlIFVSSSB1c2VkIHRvIGRlY2xhcmUgdGhpcyBBUEkncyBmZWF0dXJl
IHNldCwgZm9yIHVzZSBpbiBib25kaS5yZXF1ZXN0RmVhdHVyZS4gRm9yIHRoZSBVUkwsIHRoZSBs
aXN0IG9mIGZlYXR1cmVzIGluY2x1ZGVkIGJ5IHRoZSBmZWF0dXJlIHNldCBpcyBwcm92aWRlZC48
L3A+Ci0gICAgICAgICAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJkZXNjcmlw
dGl2ZS9kZWYtYXBpLWZlYXR1cmUtc2V0Ii8+Ci0gICAgICAgICAgICA8L2Rpdj4KLSAgICAgICAg
PC94c2w6aWY+Ci0gICAgICAgIDx4c2w6aWYgdGVzdD0iZGVzY3JpcHRpdmUvZGVmLWFwaS1mZWF0
dXJlIj4KLSAgICAgICAgICAgIDxkaXYgaWQ9ImRlZi1hcGktZmVhdHVyZXMiIGNsYXNzPSJkZWYt
YXBpLWZlYXR1cmVzIj4KLSAgICAgICAgICAgICAgICA8aDMgaWQ9ImZlYXR1cmVzIj5GZWF0dXJl
czwvaDM+Ci0gICAgICAgICAgICAgICAgPHA+VGhpcyBpcyB0aGUgbGlzdCBvZiBVUklzIHVzZWQg
dG8gZGVjbGFyZSB0aGlzIEFQSSdzIGZlYXR1cmVzLCBmb3IgdXNlIGluIGJvbmRpLnJlcXVlc3RG
ZWF0dXJlLiBGb3IgZWFjaCBVUkwsIHRoZSBsaXN0IG9mIGZ1bmN0aW9ucyBjb3ZlcmVkIGlzIHBy
b3ZpZGVkLjwvcD4KLSAgICAgICAgICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9
IkludGVyZmFjZS9kZXNjcmlwdGl2ZS9kZWYtaW5zdGFudGlhdGVkIi8+Ci0gICAgICAgICAgICAg
ICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJkZXNjcmlwdGl2ZS9kZWYtYXBpLWZlYXR1
cmUiLz4KLSAgICAgICAgICAgIDwvZGl2PgotICAgICAgICA8L3hzbDppZj4KLSAgICAgICAgPHhz
bDppZiB0ZXN0PSJkZXNjcmlwdGl2ZS9kZWYtZGV2aWNlLWNhcCI+Ci0gICAgICAgICAgICA8ZGl2
IGNsYXNzPSJkZWYtZGV2aWNlLWNhcHMiIGlkPSJkZWYtZGV2aWNlLWNhcHMiPgotICAgICAgICAg
ICAgICAgIDxoMz5EZXZpY2UgY2FwYWJpbGl0aWVzPC9oMz4KLSAgICAgICAgICAgICAgICA8ZGw+
Ci0gICAgICAgICAgICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9ImRlc2NyaXB0
aXZlL2RlZi1kZXZpY2UtY2FwIi8+Ci0gICAgICAgICAgICAgICAgPC9kbD4KLSAgICAgICAgICAg
IDwvZGl2PgotICAgICAgICA8L3hzbDppZj4KLSAgICAgICAgPHhzbDppZiB0ZXN0PSJUeXBlZGVm
Ij4KLSAgICAgICAgICAgIDxkaXYgY2xhc3M9InR5cGVkZWZzIiBpZD0idHlwZWRlZnMiPgotICAg
ICAgICAgICAgICAgIDxoMj5UeXBlIERlZmluaXRpb25zPC9oMj4KLSAgICAgICAgICAgICAgICA8
eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9IlR5cGVkZWZbZGVzY3JpcHRpdmVdIi8+Ci0gICAg
ICAgICAgICA8L2Rpdj4KLSAgICAgICAgPC94c2w6aWY+Ci0gICAgICAgIDx4c2w6aWYgdGVzdD0i
SW50ZXJmYWNlIj4KLSAgICAgICAgICAgIDxkaXYgY2xhc3M9ImludGVyZmFjZXMiIGlkPSJpbnRl
cmZhY2VzIj4KLQkJICAgICAgICA8aDI+SW50ZXJmYWNlczwvaDI+Ci0gICAgICAgCQkgICAgPHhz
bDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJJbnRlcmZhY2UiLz4KLSAgICAgICAgICAgIDwvZGl2
PgotICAgICAgICA8L3hzbDppZj4KLSAgICAgICAgPHhzbDppZiB0ZXN0PSJEaWN0aW9uYXJ5Ij4K
LSAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRpY3Rpb25hcmllcyIgaWQ9ImRpY3Rpb25hcmllcyI+
Ci0gICAgICAgIAkJPGgyPkRpY3Rpb25hcnkgdHlwZXM8L2gyPgotICAgICAgICAJCTx4c2w6YXBw
bHktdGVtcGxhdGVzIHNlbGVjdD0iRGljdGlvbmFyeSIvPgotICAgICAgICAgICAgPC9kaXY+Ci0g
ICAgICAgIDwveHNsOmlmPgotICAgICAgICA8eHNsOmlmIHRlc3Q9IkNhbGxiYWNrIj4KLSAgICAg
ICAgICAgIDxkaXYgY2xhc3M9ImNhbGxiYWNrcyIgaWQ9ImNhbGxiYWNrcyI+Ci0gICAgICAgIAkJ
PGgyPkNhbGxiYWNrczwvaDI+Ci0gICAgICAgIAkJPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0
PSJDYWxsYmFjayIvPgotICAgICAgICAgICAgPC9kaXY+Ci0gICAgICAgIDwveHNsOmlmPgotICAg
ICAgICA8eHNsOmlmIHRlc3Q9IkVudW0iPgotICAgICAgICAgICAgPGRpdiBjbGFzcz0iZW51bXMi
IGlkPSJlbnVtcyI+Ci0gICAgICAgIAkJPGgyPkVudW1zPC9oMj4KLSAgICAgICAgCQk8eHNsOmFw
cGx5LXRlbXBsYXRlcyBzZWxlY3Q9IkVudW0iLz4KLSAgICAgICAgICAgIDwvZGl2PgotICAgICAg
ICA8L3hzbDppZj4KLSAgICA8L2Rpdj4KLTwveHNsOnRlbXBsYXRlPgotCi08IS0tZGVmLWFwaS1m
ZWF0dXJlLXNldC0tPgotPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iZGVmLWFwaS1mZWF0dXJlLXNldCI+
Ci0gICAgICA8ZGwgY2xhc3M9ImRlZi1hcGktZmVhdHVyZS1zZXQiPgotICAgICAgICAgIDxkdD48
eHNsOnZhbHVlLW9mIHNlbGVjdD0iQGlkZW50aWZpZXIiLz48L2R0PgotICAgICAgICAgIDxkZD4K
LSAgICAgICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iZGVzY3JpcHRpdmUvYnJp
ZWYiLz4KLSAgICAgICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iZGVzY3JpcHRp
dmUiLz4KLSAgICAgICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iZGVzY3JpcHRp
dmUvQ29kZSIvPgotICAgICAgICAgICAgPHhzbDppZiB0ZXN0PSJkZXNjcmlwdGl2ZS9hcGktZmVh
dHVyZSI+Ci0gICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFwaS1mZWF0dXJlcyI+Ci0gICAgICAg
ICAgICAgICAgPHA+Ci0gICAgICAgICAgICAgICAgICBJbmNsdWRlcyBBUEkgZmVhdHVyZXM6Ci0g
ICAgICAgICAgICAgICAgPC9wPgotICAgICAgICAgICAgICAgIDx1bD4KLSAgICAgICAgICAgICAg
ICAgIDx4c2w6Zm9yLWVhY2ggc2VsZWN0PSJkZXNjcmlwdGl2ZS9hcGktZmVhdHVyZSI+Ci0gICAg
ICAgICAgICAgICAgICAgIDxsaT48Y29kZT48eHNsOnZhbHVlLW9mIHNlbGVjdD0iQGlkZW50aWZp
ZXIiLz48L2NvZGU+PC9saT4KLSAgICAgICAgICAgICAgICAgIDwveHNsOmZvci1lYWNoPgotICAg
ICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgIDwvZGl2PgotICAgICAgICAgICAgPC94
c2w6aWY+Ci0gICAgICAgICAgPC9kZD4KLSAgICAgIDwvZGw+Ci08L3hzbDp0ZW1wbGF0ZT4KLQot
PCEtLWRlZi1hcGktZmVhdHVyZS0tPgotPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iZGVmLWFwaS1mZWF0
dXJlIj4KLSAgICAgIDxkbCBjbGFzcz0iZGVmLWFwaS1mZWF0dXJlIj4KLSAgICAgICAgICA8ZHQ+
PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBpZGVudGlmaWVyIi8+PC9kdD4KLSAgICAgICAgICA8ZGQ+
Ci0gICAgICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9ImRlc2NyaXB0aXZlL2Jy
aWVmIi8+Ci0gICAgICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9ImRlc2NyaXB0
aXZlIi8+Ci0gICAgICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9ImRlc2NyaXB0
aXZlL0NvZGUiLz4KLSAgICAgICAgICAgIDx4c2w6aWYgdGVzdD0iZGVzY3JpcHRpdmUvZGV2aWNl
LWNhcCI+Ci0gICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRldmljZS1jYXBzIj4KLSAgICAgICAg
ICAgICAgICA8cD4KLSAgICAgICAgICAgICAgICAgIERldmljZSBjYXBhYmlsaXRpZXM6Ci0gICAg
ICAgICAgICAgICAgPC9wPgotICAgICAgICAgICAgICAgIDx1bD4KLSAgICAgICAgICAgICAgICAg
IDx4c2w6Zm9yLWVhY2ggc2VsZWN0PSJkZXNjcmlwdGl2ZS9kZXZpY2UtY2FwIj4KLSAgICAgICAg
ICAgICAgICAgICAgPGxpPjxjb2RlPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAaWRlbnRpZmllciIv
PjwvY29kZT48L2xpPgotICAgICAgICAgICAgICAgICAgPC94c2w6Zm9yLWVhY2g+Ci0gICAgICAg
ICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgPC9kaXY+Ci0gICAgICAgICAgICA8L3hzbDpp
Zj4KLSAgICAgICAgICA8L2RkPgotICAgICAgPC9kbD4KLTwveHNsOnRlbXBsYXRlPgotCi08IS0t
ZGVmLWRldmljZS1jYXAtLT4KLTx4c2w6dGVtcGxhdGUgbWF0Y2g9ImRlZi1kZXZpY2UtY2FwIj4K
LSAgICA8ZHQgY2xhc3M9ImRlZi1kZXZpY2UtY2FwIj48Y29kZT48eHNsOnZhbHVlLW9mIHNlbGVj
dD0iQGlkZW50aWZpZXIiLz48L2NvZGU+PC9kdD4KLSAgICA8ZGQ+Ci0gICAgICA8eHNsOmFwcGx5
LXRlbXBsYXRlcyBzZWxlY3Q9ImRlc2NyaXB0aXZlL2JyaWVmIi8+Ci0gICAgICA8eHNsOmFwcGx5
LXRlbXBsYXRlcyBzZWxlY3Q9ImRlc2NyaXB0aXZlIi8+Ci0gICAgICA8eHNsOmFwcGx5LXRlbXBs
YXRlcyBzZWxlY3Q9ImRlc2NyaXB0aXZlL0NvZGUiLz4KLSAgICAgIDx4c2w6aWYgdGVzdD0iZGVz
Y3JpcHRpdmUvcGFyYW0iPgotICAgICAgICA8ZGl2IGNsYXNzPSJkZXZpY2UtY2FwcyI+Ci0gICAg
ICAgICAgPHA+U2VjdXJpdHkgcGFyYW1ldGVyczo8L3A+Ci0gICAgICAgICAgPHVsPgotICAgICAg
ICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJkZXNjcmlwdGl2ZS9wYXJhbSIvPgot
ICAgICAgICAgIDwvdWw+Ci0gICAgICAgIDwvZGl2PgotICAgICAgPC94c2w6aWY+Ci0gICAgPC9k
ZD4KLTwveHNsOnRlbXBsYXRlPgotCi08IS0tRXhjZXB0aW9uOiBub3QgaW1wbGVtZW50ZWQtLT4K
LTwhLS1WYWx1ZXR5cGU6IG5vdCBpbXBsZW1lbnRlZC0tPgotPHhzbDp0ZW1wbGF0ZSBtYXRjaD0i
RXhjZXB0aW9ufFZhbHVldHlwZXxDb25zdCI+Ci0gICAgPHhzbDppZiB0ZXN0PSJkZXNjcmlwdGl2
ZSI+Ci0gICAgICAgIDx4c2w6bWVzc2FnZSB0ZXJtaW5hdGU9InllcyI+ZWxlbWVudCA8eHNsOnZh
bHVlLW9mIHNlbGVjdD0ibmFtZSgpIi8+IG5vdCBzdXBwb3J0ZWQ8L3hzbDptZXNzYWdlPgotICAg
IDwveHNsOmlmPgotPC94c2w6dGVtcGxhdGU+Ci0KLTwhLS1UeXBlZGVmLi0tPgotPHhzbDp0ZW1w
bGF0ZSBtYXRjaD0iVHlwZWRlZltkZXNjcmlwdGl2ZV0iPgotICAgIDxkaXYgY2xhc3M9InR5cGVk
ZWYiIGlkPSJ7QGlkfSI+Ci0gICAgICAgIDxoMz4yLjx4c2w6bnVtYmVyIHZhbHVlPSJwb3NpdGlv
bigpIi8+LiA8Y29kZT48eHNsOnZhbHVlLW9mIHNlbGVjdD0iQG5hbWUiLz48L2NvZGU+PC9oMz4K
LSAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJkZXNjcmlwdGl2ZS9icmllZiIv
PgotICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9IndlYmlkbCIvPgotICAgICAg
ICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9ImRlc2NyaXB0aXZlIi8+Ci0gICAgICAgIDx4
c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iZGVzY3JpcHRpdmUvQ29kZSIvPgotICAgIDwvZGl2
PgotPC94c2w6dGVtcGxhdGU+Ci0KLTwhLS1JbnRlcmZhY2UuLS0+Ci08eHNsOnRlbXBsYXRlIG1h
dGNoPSJJbnRlcmZhY2VbZGVzY3JpcHRpdmVdIj4KLSAgICA8eHNsOnZhcmlhYmxlIG5hbWU9Im5h
bWUiIHNlbGVjdD0iQG5hbWUiLz4KLSAgICA8ZGl2IGNsYXNzPSJpbnRlcmZhY2UiIGlkPSJ7QGlk
fSI+Ci0gICAgICAgIDxoMz48Y29kZT48eHNsOnZhbHVlLW9mIHNlbGVjdD0iQG5hbWUiLz48L2Nv
ZGU+PC9oMz4KLSAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJkZXNjcmlwdGl2
ZS9icmllZiIvPgotICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9IndlYmlkbCIv
PgotICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9Ii4uL0ltcGxlbWVudHNbQG5h
bWUyPSRuYW1lXS93ZWJpZGwiLz4KLSAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0
PSJkZXNjcmlwdGl2ZSIvPgotICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9ImRl
c2NyaXB0aXZlL0NvZGUiLz4KLSAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJJ
bnRlcmZhY2VJbmhlcml0YW5jZSIvPgotICAgICAgICA8eHNsOmlmIHRlc3Q9IkNvbnN0L2Rlc2Ny
aXB0aXZlIj4KLSAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnN0cyI+Ci0gICAgICAgICAgICAg
ICAgPGg0PkNvbnN0YW50czwvaDQ+Ci0gICAgICAgICAgICAgICAgPGRsPgotICAgICAgICAgICAg
ICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJDb25zdCIvPgotICAgICAgICAgICAg
ICAgIDwvZGw+Ci0gICAgICAgICAgICA8L2Rpdj4KLSAgICAgICAgPC94c2w6aWY+Ci0gICAgICAg
IDx4c2w6aWYgdGVzdD0iRXh0ZW5kZWRBdHRyaWJ1dGVMaXN0L0V4dGVuZGVkQXR0cmlidXRlL2Rl
c2NyaXB0aXZlIj4KLSAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnN0cnVjdG9ycyI+Ci0gICAg
ICAgICAgICAgICAgPGg0PkNvbnN0cnVjdG9yczwvaDQ+Ci0gICAgICAgICAgICAgICAgPGRsPgot
ICAgICAgICAgICAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJFeHRlbmRlZEF0
dHJpYnV0ZUxpc3QvRXh0ZW5kZWRBdHRyaWJ1dGUiLz4KLSAgICAgICAgICAgICAgICA8L2RsPgot
ICAgICAgICAgICAgPC9kaXY+Ci0gICAgICAgIDwveHNsOmlmPgotICAgICAgICA8eHNsOmlmIHRl
c3Q9IkF0dHJpYnV0ZS9kZXNjcmlwdGl2ZSI+Ci0gICAgICAgICAgICA8ZGl2IGNsYXNzPSJhdHRy
aWJ1dGVzIj4KLSAgICAgICAgICAgICAgICA8aDQ+QXR0cmlidXRlczwvaDQ+Ci0gICAgICAgICAg
ICAgICAgPGRsPgotICAgICAgICAgICAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0
PSJBdHRyaWJ1dGUiLz4KLSAgICAgICAgICAgICAgICA8L2RsPgotICAgICAgICAgICAgPC9kaXY+
Ci0gICAgICAgIDwveHNsOmlmPgotICAgICAgICA8eHNsOmlmIHRlc3Q9Ik9wZXJhdGlvbi9kZXNj
cmlwdGl2ZSI+Ci0gICAgICAgICAgICA8ZGl2IGNsYXNzPSJtZXRob2RzIj4KLSAgICAgICAgICAg
ICAgICA8aDQ+TWV0aG9kczwvaDQ+Ci0gICAgICAgICAgICAgICAgPGRsPgotICAgICAgICAgICAg
ICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJPcGVyYXRpb24iLz4KLSAgICAgICAg
ICAgICAgICA8L2RsPgotICAgICAgICAgICAgPC9kaXY+Ci0gICAgICAgIDwveHNsOmlmPgotICAg
IDwvZGl2PgotPC94c2w6dGVtcGxhdGU+Ci08eHNsOnRlbXBsYXRlIG1hdGNoPSJJbnRlcmZhY2Vb
bm90KGRlc2NyaXB0aXZlKV0iPgotPC94c2w6dGVtcGxhdGU+Ci0KLTwhLS1EaWN0aW9uYXJ5Li0t
PgotPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iRGljdGlvbmFyeVtkZXNjcmlwdGl2ZV0iPgotICAgIDx4
c2w6dmFyaWFibGUgbmFtZT0ibmFtZSIgc2VsZWN0PSJAbmFtZSIvPgotICAgIDxkaXYgY2xhc3M9
ImRpY3Rpb25hcnkiIGlkPSJ7QGlkfSI+Ci0gICAgICAgIDxoMz48Y29kZT48eHNsOnZhbHVlLW9m
IHNlbGVjdD0iQG5hbWUiLz48L2NvZGU+PC9oMz4KLSAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0
ZXMgc2VsZWN0PSJkZXNjcmlwdGl2ZS9icmllZiIvPgotICAgICAgICA8eHNsOmFwcGx5LXRlbXBs
YXRlcyBzZWxlY3Q9IndlYmlkbCIvPgotICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxl
Y3Q9ImRlc2NyaXB0aXZlIi8+Ci0gICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0i
ZGVzY3JpcHRpdmUvQ29kZSIvPgotICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9
IkludGVyZmFjZUluaGVyaXRhbmNlIi8+Ci0gICAgICAgIDx4c2w6aWYgdGVzdD0iQ29uc3QvZGVz
Y3JpcHRpdmUiPgotICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29uc3RzIj4KLSAgICAgICAgICAg
ICAgICA8aDQ+Q29uc3RhbnRzPC9oND4KLSAgICAgICAgICAgICAgICA8ZGw+Ci0gICAgICAgICAg
ICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9IkNvbnN0Ii8+Ci0gICAgICAgICAg
ICAgICAgPC9kbD4KLSAgICAgICAgICAgIDwvZGl2PgotICAgICAgICA8L3hzbDppZj4KLSAgICAg
ICAgPHhzbDppZiB0ZXN0PSJBdHRyaWJ1dGUvZGVzY3JpcHRpdmUiPgotICAgICAgICAgICAgPGRp
diBjbGFzcz0iYXR0cmlidXRlcyI+Ci0gICAgICAgICAgICAgICAgPGg0PkF0dHJpYnV0ZXM8L2g0
PgotICAgICAgICAgICAgICAgIDxkbD4KLSAgICAgICAgICAgICAgICAgIDx4c2w6YXBwbHktdGVt
cGxhdGVzIHNlbGVjdD0iQXR0cmlidXRlIi8+Ci0gICAgICAgICAgICAgICAgPC9kbD4KLSAgICAg
ICAgICAgIDwvZGl2PgotICAgICAgICA8L3hzbDppZj4KLSAgICA8L2Rpdj4KLTwveHNsOnRlbXBs
YXRlPgotPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iRGljdGlvbmFyeVtub3QoZGVzY3JpcHRpdmUpXSI+
Ci08L3hzbDp0ZW1wbGF0ZT4KLQotPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iSW50ZXJmYWNlSW5oZXJp
dGFuY2UvU2NvcGVkTmFtZUxpc3QiPgotICAgICAgICAgICAgICA8cD4KLSAgICAgICAgICAgICAg
ICA8eHNsOnRleHQ+VGhpcyBpbnRlcmZhY2UgaW5oZXJpdHMgZnJvbTogPC94c2w6dGV4dD4KLSAg
ICAgICAgICAgICAgICA8eHNsOmZvci1lYWNoIHNlbGVjdD0iTmFtZSI+Ci0gICAgICAgICAgICAg
ICAgICA8Y29kZT48eHNsOnZhbHVlLW9mIHNlbGVjdD0iQG5hbWUiLz48L2NvZGU+Ci0gICAgICAg
ICAgICAgICAgICA8eHNsOmlmIHRlc3Q9InBvc2l0aW9uIT1sYXN0KCkiPiwgPC94c2w6aWY+Ci0g
ICAgICAgICAgICAgICAgPC94c2w6Zm9yLWVhY2g+Ci0gICAgICAgICAgICAgIDwvcD4KLTwveHNs
OnRlbXBsYXRlPgotCi08IS0tQXR0cmlidXRlLS0+Ci08eHNsOnRlbXBsYXRlIG1hdGNoPSJBdHRy
aWJ1dGUiPgotICAgIDxkdCBjbGFzcz0iYXR0cmlidXRlIiBpZD0ie0BuYW1lfSI+Ci0gICAgICAg
IDxjb2RlPgotICAgICAgICAgICAgPHhzbDppZiB0ZXN0PSJAc3RyaW5naWZpZXIiPgotICAgICAg
ICAgICAgICAgIHN0cmluZ2lmaWVyCi0gICAgICAgICAgICA8L3hzbDppZj4KLSAgICAgICAgICAg
IDx4c2w6aWYgdGVzdD0iQHJlYWRvbmx5Ij4KLSAgICAgICAgICAgICAgICByZWFkb25seQotICAg
ICAgICAgICAgPC94c2w6aWY+Ci0gICAgICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxl
Y3Q9IlR5cGUiLz4KLSAgICAgICAgICAgIDx4c2w6dGV4dD4gPC94c2w6dGV4dD4KLSAgICAgICAg
ICAgIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAbmFtZSIvPgotICAgICAgICA8L2NvZGU+PC9kdD4K
LSAgICAgICAgPGRkPgotICAgICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iZGVz
Y3JpcHRpdmUvYnJpZWYiLz4KLSAgICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9
ImRlc2NyaXB0aXZlIi8+Ci0gICAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJH
ZXRSYWlzZXMiLz4KLSAgICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9IlNldFJh
aXNlcyIvPgotICAgICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iZGVzY3JpcHRp
dmUvQ29kZSIvPgotICAgICAgICA8L2RkPgotPC94c2w6dGVtcGxhdGU+Ci0KLTwhLS1Db25zdC0t
PgotPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iQ29uc3QiPgotICA8ZHQgY2xhc3M9ImNvbnN0IiBpZD0i
e0BpZH0iPgotICAgIDxjb2RlPgotICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJU
eXBlIi8+Ci0gICAgICA8eHNsOnRleHQ+IDwveHNsOnRleHQ+Ci0gICAgICA8eHNsOnZhbHVlLW9m
IHNlbGVjdD0iQG5hbWUiLz4KLSAgICA8L2NvZGU+Ci0gIDwvZHQ+Ci0gIDxkZD4KLSAgICA8eHNs
OmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9ImRlc2NyaXB0aXZlL2JyaWVmIi8+Ci0gICAgPHhzbDph
cHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJkZXNjcmlwdGl2ZSIvPgotICAgIDx4c2w6YXBwbHktdGVt
cGxhdGVzIHNlbGVjdD0iZGVzY3JpcHRpdmUvQ29kZSIvPgotICA8L2RkPgotPC94c2w6dGVtcGxh
dGU+Ci0KLTwhLS1FeHRlbmRlZEF0dHJpYnV0ZSBuYW1lPT1Db25zdHJ1Y3RvciB8fCBuYW1lPT1O
YW1lZENvbnN0cnVjdG9yLS0+Ci08eHNsOnRlbXBsYXRlIG1hdGNoPSJFeHRlbmRlZEF0dHJpYnV0
ZUxpc3QvRXh0ZW5kZWRBdHRyaWJ1dGUiPgotICAgIDxkdCBjbGFzcz0iY29uc3RydWN0b3IiIGlk
PSJ7Y29uY2F0KEBuYW1lLGdlbmVyYXRlLWlkKC4pKX0iPgotICAgICAgICA8Y29kZT4KLSAgICAg
ICAgICAgIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIuLi8uLi9AbmFtZSIvPgotICAgICAgICAgICAg
IDx4c2w6dGV4dD4oPC94c2w6dGV4dD4KLSAgICAgICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVz
IHNlbGVjdD0iQXJndW1lbnRMaXN0Ij4KLSAgICAgICAgICAgICAgICA8eHNsOndpdGgtcGFyYW0g
bmFtZT0ibm9kZXNjIiBzZWxlY3Q9IjEiLz4KLSAgICAgICAgICAgIDwveHNsOmFwcGx5LXRlbXBs
YXRlcz4KLSAgICAgICAgICAgIDx4c2w6dGV4dD4pOzwveHNsOnRleHQ+Ci0gICAgICAgIDwvY29k
ZT4KLSAgICA8L2R0PgotICAgIDxkZD4KLSAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2Vs
ZWN0PSJkZXNjcmlwdGl2ZS9icmllZiIvPgotICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBz
ZWxlY3Q9ImRlc2NyaXB0aXZlIi8+Ci0gICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVj
dD0iQXJndW1lbnRMaXN0Ii8+Ci0gICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0i
UmFpc2VzIi8+Ci0gICAgICAgIDx4c2w6aWYgdGVzdD0iZGVzY3JpcHRpdmUvYXBpLWZlYXR1cmUi
PgotICAgICAgICAgICAgPGRpdiBjbGFzcz0iYXBpLWZlYXR1cmVzIj4KLSAgICAgICAgICAgICAg
ICA8aDY+QVBJIGZlYXR1cmVzPC9oNj4KLSAgICAgICAgICAgICAgICA8ZGw+Ci0gICAgICAgICAg
ICAgICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iZGVzY3JpcHRpdmUvYXBpLWZl
YXR1cmUiLz4KLSAgICAgICAgICAgICAgICA8L2RsPgotICAgICAgICAgICAgPC9kaXY+Ci0gICAg
ICAgIDwveHNsOmlmPgotICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9IndlYmlk
bCIvPgotICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9ImRlc2NyaXB0aXZlL0Nv
ZGUiLz4KLSAgICA8L2RkPgotPC94c2w6dGVtcGxhdGU+Ci0KLTwhLS1PcGVyYXRpb24tLT4KLTx4
c2w6dGVtcGxhdGUgbWF0Y2g9Ik9wZXJhdGlvbiI+Ci0gICAgPGR0IGNsYXNzPSJtZXRob2QiIGlk
PSJ7Y29uY2F0KEBuYW1lLGdlbmVyYXRlLWlkKC4pKX0iPgotICAgICAgICA8Y29kZT4KLSAgICAg
ICAgICAgIDx4c2w6aWYgdGVzdD0iQHN0cmluZ2lmaWVyIj4KLSAgICAgICAgICAgICAgICA8eHNs
OnZhbHVlLW9mIHNlbGVjdD0iY29uY2F0KEBzdHJpbmdpZmllciwgJyAnKSIvPgotICAgICAgICAg
ICAgPC94c2w6aWY+Ci0gICAgICAgICAgICA8eHNsOmlmIHRlc3Q9IkBvbWl0dGFibGUiPgotICAg
ICAgICAgICAgICAgIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJjb25jYXQoQG9taXR0YWJsZSwgJyAn
KSIvPgotICAgICAgICAgICAgPC94c2w6aWY+Ci0gICAgICAgICAgICA8eHNsOmlmIHRlc3Q9IkBn
ZXR0ZXIiPgotICAgICAgICAgICAgICAgIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJjb25jYXQoQGdl
dHRlciwgJyAnKSIvPgotICAgICAgICAgICAgPC94c2w6aWY+Ci0gICAgICAgICAgICA8eHNsOmlm
IHRlc3Q9IkBzZXR0ZXIiPgotICAgICAgICAgICAgICAgIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJj
b25jYXQoQHNldHRlciwgJyAnKSIvPgotICAgICAgICAgICAgPC94c2w6aWY+Ci0gICAgICAgICAg
ICA8eHNsOmlmIHRlc3Q9IkBjcmVhdG9yIj4KLSAgICAgICAgICAgIAk8eHNsOnZhbHVlLW9mIHNl
bGVjdD0iY29uY2F0KEBjcmVhdG9yLCAnICcpIi8+Ci0gICAgICAgICAgICA8L3hzbDppZj4KLSAg
ICAgICAgICAgIDx4c2w6aWYgdGVzdD0iQGRlbGV0ZXIiPgotICAgICAgICAgICAgICAgIDx4c2w6
dmFsdWUtb2Ygc2VsZWN0PSJjb25jYXQoQGRlbGV0ZXIsICcgJykiLz4KLSAgICAgICAgICAgIDwv
eHNsOmlmPgotICAgICAgICAgICAgPHhzbDppZiB0ZXN0PSJAY2FsbGVyIj4KLSAgICAgICAgICAg
ICAgICA8eHNsOnZhbHVlLW9mIHNlbGVjdD0iY29uY2F0KEBjYWxsZXIsICcgJykiLz4KLSAgICAg
ICAgICAgIDwveHNsOmlmPgotICAgICAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0
PSJUeXBlIi8+Ci0gICAgICAgICAgICA8eHNsOnRleHQ+IDwveHNsOnRleHQ+Ci0gICAgICAgICAg
ICA8eHNsOnZhbHVlLW9mIHNlbGVjdD0iQG5hbWUiLz4KLSAgICAgICAgICAgIDx4c2w6dGV4dD4o
PC94c2w6dGV4dD4KLSAgICAgICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iQXJn
dW1lbnRMaXN0Ij4KLSAgICAgICAgICAgICAgICA8eHNsOndpdGgtcGFyYW0gbmFtZT0ibm9kZXNj
IiBzZWxlY3Q9IjEiLz4KLSAgICAgICAgICAgIDwveHNsOmFwcGx5LXRlbXBsYXRlcz4KLSAgICAg
ICAgICAgIDx4c2w6dGV4dD4pOzwveHNsOnRleHQ+Ci0gICAgICAgIDwvY29kZT4KLSAgICA8L2R0
PgotICAgIDxkZD4KLSAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJkZXNjcmlw
dGl2ZS9icmllZiIvPgotICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9IndlYmlk
bCIvPgotICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9ImRlc2NyaXB0aXZlL0Nv
ZGUiLz4KLSAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJkZXNjcmlwdGl2ZSIv
PgotICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9IkFyZ3VtZW50TGlzdCIvPgot
ICAgICAgICA8eHNsOmlmIHRlc3Q9IlR5cGUvZGVzY3JpcHRpdmUiPgotICAgICAgICAgIDxkaXYg
Y2xhc3M9InJldHVybnR5cGUiPgotICAgICAgICAgICAgPGg1PlJldHVybiB2YWx1ZTwvaDU+Ci0g
ICAgICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9IlR5cGUvZGVzY3JpcHRpdmUi
Lz4KLSAgICAgICAgICA8L2Rpdj4KLSAgICAgICAgPC94c2w6aWY+Ci0gICAgICAgIDx4c2w6YXBw
bHktdGVtcGxhdGVzIHNlbGVjdD0iUmFpc2VzIi8+Ci0gICAgICAgIDx4c2w6aWYgdGVzdD0iZGVz
Y3JpcHRpdmUvYXBpLWZlYXR1cmUiPgotICAgICAgICAgICAgPGRpdiBjbGFzcz0iYXBpLWZlYXR1
cmVzIj4KLSAgICAgICAgICAgICAgICA8aDY+QVBJIGZlYXR1cmVzPC9oNj4KLSAgICAgICAgICAg
ICAgICA8ZGw+Ci0gICAgICAgICAgICAgICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVj
dD0iZGVzY3JpcHRpdmUvYXBpLWZlYXR1cmUiLz4KLSAgICAgICAgICAgICAgICA8L2RsPgotICAg
ICAgICAgICAgPC9kaXY+Ci0gICAgICAgIDwveHNsOmlmPgotICAgICAgICA8eHNsOmFwcGx5LXRl
bXBsYXRlcyBzZWxlY3Q9ImRlc2NyaXB0aXZlL0NvZGUiLz4KLSAgICA8L2RkPgotPC94c2w6dGVt
cGxhdGU+Ci0KLTwhLS1DYWxsYmFjay0tPgotPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iQ2FsbGJhY2si
PgotICAgIDx4c2w6dmFyaWFibGUgbmFtZT0ibmFtZSIgc2VsZWN0PSJAbmFtZSIvPgotICAgIDxk
aXYgY2xhc3M9ImNhbGxiYWNrIiBpZD0ie0BpZH0iPgotICAgICAgICA8aDM+PGNvZGU+PHhzbDp2
YWx1ZS1vZiBzZWxlY3Q9IkBuYW1lIi8+PC9jb2RlPjwvaDM+Ci0KLQkgICAgPGRkPgotCSAgICAg
ICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJkZXNjcmlwdGl2ZS9icmllZiIvPgotCSAg
ICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJ3ZWJpZGwiLz4KLQkgICAgICAgIDx4
c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iZGVzY3JpcHRpdmUiLz4KLQkgICAgICAgIDxkaXYg
Y2xhc3M9InN5bm9wc2lzIj4KLQkgICAgICAgICAgICA8aDY+U2lnbmF0dXJlPC9oNj4KLQkgICAg
ICAgICAgICA8cHJlPgotCSAgICAgICAgICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxl
Y3Q9IlR5cGUiLz4KLQkgICAgICAgICAgICAgICAgPHhzbDp0ZXh0PiA8L3hzbDp0ZXh0PgotCSAg
ICAgICAgICAgICAgICA8eHNsOnZhbHVlLW9mIHNlbGVjdD0iQG5hbWUiLz4KLQkgICAgICAgICAg
ICAgICAgPHhzbDp0ZXh0Pig8L3hzbDp0ZXh0PgotCSAgICAgICAgICAgICAgICA8eHNsOmFwcGx5
LXRlbXBsYXRlcyBzZWxlY3Q9IkFyZ3VtZW50TGlzdCI+Ci0JICAgICAgICAgICAgICAgICAgICA8
eHNsOndpdGgtcGFyYW0gbmFtZT0ibm9kZXNjIiBzZWxlY3Q9IjEiLz4KLQkgICAgICAgICAgICAg
ICAgPC94c2w6YXBwbHktdGVtcGxhdGVzPgotCSAgICAgICAgICAgICAgICA8eHNsOnRleHQ+KTsK
LTwveHNsOnRleHQ+PC9wcmU+Ci0JICAgICAgICA8L2Rpdj4KLQkgICAgICAgIDx4c2w6YXBwbHkt
dGVtcGxhdGVzIHNlbGVjdD0iZGVzY3JpcHRpdmUiLz4KLQkgICAgICAgIDx4c2w6YXBwbHktdGVt
cGxhdGVzIHNlbGVjdD0iQXJndW1lbnRMaXN0Ii8+Ci0JICAgICAgICA8eHNsOmlmIHRlc3Q9IlR5
cGUvZGVzY3JpcHRpdmUiPgotCSAgICAgICAgICA8ZGl2IGNsYXNzPSJyZXR1cm50eXBlIj4KLQkg
ICAgICAgICAgICA8aDU+UmV0dXJuIHZhbHVlPC9oNT4KLQkgICAgICAgICAgICA8eHNsOmFwcGx5
LXRlbXBsYXRlcyBzZWxlY3Q9IlR5cGUvZGVzY3JpcHRpdmUiLz4KLQkgICAgICAgICAgPC9kaXY+
Ci0JICAgICAgICA8L3hzbDppZj4KLQkgICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVj
dD0iZGVzY3JpcHRpdmUvQ29kZSIvPgotCSAgICA8L2RkPgotCTwvZGl2PgotPC94c2w6dGVtcGxh
dGU+Ci0KLTwhLS1Bcmd1bWVudExpc3QuIFRoaXMgaXMgcGFzc2VkICRub2Rlc2M9dHJ1ZSB0byBv
dXRwdXQganVzdCB0aGUgYXJndW1lbnQKLSAgICB0eXBlcyBhbmQgbmFtZXMsIGFuZCBub3QgYW55
IGRvY3VtZW50YXRpb24gZm9yIHRoZW0uLS0+Ci08eHNsOnRlbXBsYXRlIG1hdGNoPSJBcmd1bWVu
dExpc3QiPgotICAgIDx4c2w6cGFyYW0gbmFtZT0ibm9kZXNjIi8+Ci0gICAgPHhzbDpjaG9vc2U+
Ci0gICAgICAgIDx4c2w6d2hlbiB0ZXN0PSIkbm9kZXNjIj4KLSAgICAgICAgICAgIDwhLS0kbm9k
ZXNjIGlzIHRydWU6IGp1c3Qgb3V0cHV0IHRoZSB0eXBlcyBhbmQgbmFtZXMtLT4KLSAgICAgICAg
ICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iQXJndW1lbnRbMV0iPgotICAgICAgICAg
ICAgICAgIDx4c2w6d2l0aC1wYXJhbSBuYW1lPSJub2Rlc2MiIHNlbGVjdD0iJ25vY29tbWEnIi8+
Ci0gICAgICAgICAgICA8L3hzbDphcHBseS10ZW1wbGF0ZXM+Ci0gICAgICAgICAgICA8eHNsOmFw
cGx5LXRlbXBsYXRlcyBzZWxlY3Q9IkFyZ3VtZW50W3Bvc2l0aW9uKCkgIT0gMV0iPgotICAgICAg
ICAgICAgICAgIDx4c2w6d2l0aC1wYXJhbSBuYW1lPSJub2Rlc2MiIHNlbGVjdD0iJ2NvbW1hJyIv
PgotICAgICAgICAgICAgPC94c2w6YXBwbHktdGVtcGxhdGVzPgotICAgICAgICA8L3hzbDp3aGVu
PgotICAgICAgICA8eHNsOndoZW4gdGVzdD0iQXJndW1lbnQiPgotICAgICAgICAgICAgPCEtLSRu
b2Rlc2MgaXMgZmFsc2U6IG91dHB1dCB0aGUgZG9jdW1lbnRhdGlvbi0tPgotICAgICAgICAgICAg
PGRpdiBjbGFzcz0icGFyYW1ldGVycyI+Ci0gICAgICAgICAgICAgICAgPGg2PlBhcmFtZXRlcnM8
L2g2PgotICAgICAgICAgICAgICAgIDx1bD4KLSAgICAgICAgICAgICAgICAgICAgPHhzbDphcHBs
eS10ZW1wbGF0ZXMvPgotICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICA8L2Rpdj4K
LSAgICAgICAgPC94c2w6d2hlbj4KLSAgICA8L3hzbDpjaG9vc2U+Ci08L3hzbDp0ZW1wbGF0ZT4K
LQotPCEtLUFyZ3VtZW50LiBUaGlzIGlzIHBhc3NlZCAkbm9kZXNjPWZhbHNlIHRvIG91dHB1dCB0
aGUgZG9jdW1lbnRhdGlvbiwKLSAgICBvciAkbm9kZXNjPSJub2NvbW1hIiB0byBvdXRwdXQgdGhl
IHR5cGUgYW5kIG5hbWUsIG9yICRub2Rlc2M9ImNvbW1hIgotICAgIHRvIG91dHB1dCBhIGNvbW1h
IHRoZW4gdGhlIHR5cGUgYW5kIG5hbWUuIC0tPgotPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iQXJndW1l
bnQiPgotICAgIDx4c2w6cGFyYW0gbmFtZT0ibm9kZXNjIi8+Ci0gICAgPHhzbDpjaG9vc2U+Ci0g
ICAgICAgIDx4c2w6d2hlbiB0ZXN0PSIkbm9kZXNjIj4KLSAgICAgICAgICAgIDwhLS0kbm9kZXNj
IGlzIHRydWU6IGp1c3Qgb3V0cHV0IHRoZSB0eXBlcyBhbmQgbmFtZXMtLT4KLSAgICAgICAgICAg
IDx4c2w6aWYgdGVzdD0iJG5vZGVzYyA9ICdjb21tYSciPgotICAgICAgICAgICAgICAgIDwhLS1O
ZWVkIGEgY29tbWEgZmlyc3QuLS0+Ci0gICAgICAgICAgICAgICAgPHhzbDp0ZXh0PiwgPC94c2w6
dGV4dD4KLSAgICAgICAgICAgIDwveHNsOmlmPgotICAgICAgICAgICAgPHhzbDppZiB0ZXN0PSJA
aW4iPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJjb25jYXQoQGluLCAnICcpIi8+PC94c2w6aWY+Ci0g
ICAgICAgICAgICA8eHNsOmlmIHRlc3Q9IkBvcHRpb25hbCI+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9
ImNvbmNhdChAb3B0aW9uYWwsICcgJykiLz48L3hzbDppZj4KLSAgICAgICAgICAgIDx4c2w6YXBw
bHktdGVtcGxhdGVzIHNlbGVjdD0iVHlwZSIvPgotICAgICAgICAgICAgPHhzbDppZiB0ZXN0PSJA
ZWxsaXBzaXMiPjx4c2w6dGV4dD4uLi48L3hzbDp0ZXh0PjwveHNsOmlmPgotICAgICAgICAgICAg
PHhzbDp0ZXh0PiA8L3hzbDp0ZXh0PgotICAgICAgICAgICAgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9
IkBuYW1lIi8+Ci0JICAgIDx4c2w6aWYgdGVzdD0iQHZhbHVlIj4KLQkgICAgICA8eHNsOnRleHQ+
RGVmYXVsdCB2YWx1ZTogPC94c2w6dGV4dD48eHNsOnZhbHVlLW9mIHNlbGVjdD0iQHZhbHVlIi8+
Ci0JICAgIDwveHNsOmlmPgotCSAgICA8eHNsOmlmIHRlc3Q9IkBzdHJpbmd2YWx1ZSI+Ci0JICAg
ICAgPHhzbDp0ZXh0PkRlZmF1bHQgdmFsdWU6ICI8L3hzbDp0ZXh0Pjx4c2w6dmFsdWUtb2Ygc2Vs
ZWN0PSJAc3RyaW5ndmFsdWUiLz48eHNsOnRleHQ+IjwveHNsOnRleHQ+Ci0JICAgIDwveHNsOmlm
PgkgICAgCi0gICAgICAgIDwveHNsOndoZW4+Ci0gICAgICAgIDx4c2w6b3RoZXJ3aXNlPgotICAg
ICAgICAgICAgPCEtLSRub2Rlc2MgaXMgZmFsc2U6IG91dHB1dCB0aGUgZG9jdW1lbnRhdGlvbi0t
PgotICAgICAgICAgICAgPGxpIGNsYXNzPSJwYXJhbSI+Ci0gICAgICAgICAgICAgICAgPHhzbDp2
YWx1ZS1vZiBzZWxlY3Q9IkBuYW1lIi8+OgotICAgICAgICAgICAgICAgIDx4c2w6YXBwbHktdGVt
cGxhdGVzIHNlbGVjdD0iZGVzY3JpcHRpdmUiLz4KLSAgICAgICAgICAgIDwvbGk+Ci0gICAgICAg
IDwveHNsOm90aGVyd2lzZT4KLSAgICA8L3hzbDpjaG9vc2U+Ci08L3hzbDp0ZW1wbGF0ZT4KLQot
PCEtLVJhaXNlcyAoZm9yIGFuIE9wZXJhdGlvbikuIEl0IGlzIGFscmVhZHkga25vd24gdGhhdCB0
aGUgbGlzdAotICAgIGlzIG5vdCBlbXB0eS4tLT4KLTx4c2w6dGVtcGxhdGUgbWF0Y2g9IlJhaXNl
cyI+Ci0gICAgPGRpdiBjbGFzcz0iZXhjZXB0aW9ubGlzdCI+Ci0gICAgICAgIDxoNT5FeGNlcHRp
b25zPC9oNT4KLSAgICAgICAgPHVsPgotICAgICAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMv
PgotICAgICAgICA8L3VsPgotICAgIDwvZGl2PgotPC94c2w6dGVtcGxhdGU+Ci0KLTwhLS1SYWlz
ZUV4Y2VwdGlvbiwgdGhlIG5hbWUgb2YgYW4gZXhjZXB0aW9uIGluIGEgUmFpc2VzLi0tPgotPHhz
bDp0ZW1wbGF0ZSBtYXRjaD0iUmFpc2VFeGNlcHRpb24iPgotICAgIDxsaSBjbGFzcz0iZXhjZXB0
aW9uIj4KLSAgICAgICAgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBuYW1lIi8+OgotICAgICAgICA8
eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9ImRlc2NyaXB0aXZlIi8+Ci0gICAgPC9saT4KLTwv
eHNsOnRlbXBsYXRlPgotCi08IS0tVHlwZS4tLT4KLTx4c2w6dGVtcGxhdGUgbWF0Y2g9IlR5cGUi
PgotICAgIDx4c2w6Y2hvb3NlPgotICAgICAgICA8eHNsOndoZW4gdGVzdD0iVHlwZSI+Ci0gICAg
ICAgICAgICA8eHNsOnRleHQ+c2VxdWVuY2UgJmx0OzwveHNsOnRleHQ+Ci0gICAgICAgICAgICA8
eHNsOmFwcGx5LXRlbXBsYXRlcy8+Ci0gICAgICAgICAgICA8eHNsOnRleHQ+PjwveHNsOnRleHQ+
Ci0gICAgICAgIDwveHNsOndoZW4+Ci0gICAgICAgIDx4c2w6b3RoZXJ3aXNlPgotICAgICAgICAg
ICAgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBuYW1lIi8+Ci0gICAgICAgICAgICA8eHNsOnZhbHVl
LW9mIHNlbGVjdD0iQHR5cGUiLz4KLSAgICAgICAgICAgIDx4c2w6aWYgdGVzdD0iQG51bGxhYmxl
Ij4KLSAgICAgICAgICAgICAgICA8eHNsOnRleHQ+PzwveHNsOnRleHQ+Ci0gICAgICAgICAgICA8
L3hzbDppZj4KLSAgICAgICAgPC94c2w6b3RoZXJ3aXNlPgotICAgIDwveHNsOmNob29zZT4KLTwv
eHNsOnRlbXBsYXRlPgotCi08IS0tRW51bS4tLT4KLTx4c2w6dGVtcGxhdGUgbWF0Y2g9IkVudW1b
ZGVzY3JpcHRpdmVdIj4KLSAgICA8eHNsOnZhcmlhYmxlIG5hbWU9Im5hbWUiIHNlbGVjdD0iQG5h
bWUiLz4KLSAgICA8ZGl2IGNsYXNzPSJlbnVtIiBpZD0ie0BpZH0iPgotICAgICAgICA8aDM+PGNv
ZGU+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBuYW1lIi8+PC9jb2RlPjwvaDM+Ci0gICAgICAgIDx4
c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iZGVzY3JpcHRpdmUvYnJpZWYiLz4KLSAgICAgICAg
PHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJ3ZWJpZGwiLz4KLSAgICAgICAgPHhzbDphcHBs
eS10ZW1wbGF0ZXMgc2VsZWN0PSJkZXNjcmlwdGl2ZSIvPgotICAgICAgICA8eHNsOmFwcGx5LXRl
bXBsYXRlcyBzZWxlY3Q9ImRlc2NyaXB0aXZlL0NvZGUiLz4KLSAgICAgICAgPGRpdiBjbGFzcz0i
ZW51bXZhbHVlcyI+Ci0gICAgICAgICAgICA8aDQ+VmFsdWVzPC9oND4KLSAgICAgICAgICAgIDxk
bD4KLSAgICAgICAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJFbnVtVmFsdWUi
Lz4KLSAgICAgICAgICAgIDwvZGw+Ci0gICAgICAgIDwvZGl2PgotICAgIDwvZGl2PgotPC94c2w6
dGVtcGxhdGU+Ci08eHNsOnRlbXBsYXRlIG1hdGNoPSJFbnVtW25vdChkZXNjcmlwdGl2ZSldIj4K
LTwveHNsOnRlbXBsYXRlPgotCi08IS0tRW51bVZhbHVlLS0+Ci08eHNsOnRlbXBsYXRlIG1hdGNo
PSJFbnVtVmFsdWUiPgotICA8ZHQgY2xhc3M9ImVudW12YWx1ZSIgaWQ9IntAaWR9Ij4KLSAgICA8
Y29kZT4KLSAgICAgIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAc3RyaW5ndmFsdWUiLz4KLSAgICA8
L2NvZGU+Ci0gIDwvZHQ+Ci0gIDxkZD4KLSAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9
ImRlc2NyaXB0aXZlL2JyaWVmIi8+Ci0gICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJk
ZXNjcmlwdGl2ZSIvPgotICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iZGVzY3JpcHRp
dmUvQ29kZSIvPgotICA8L2RkPgotPC94c2w6dGVtcGxhdGU+Ci0KLTx4c2w6dGVtcGxhdGUgbWF0
Y2g9ImRlc2NyaXB0aXZlW25vdChhdXRob3IpXSI+Ci0gIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNl
bGVjdD0idmVyc2lvbiIvPgotICA8eHNsOmlmIHRlc3Q9ImF1dGhvciI+Ci0gIDwveHNsOmlmPgot
ICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9ImRlc2NyaXB0aW9uIi8+Ci08L3hzbDp0ZW1w
bGF0ZT4KLQotPCEtLWJyaWVmLS0+Ci08eHNsOnRlbXBsYXRlIG1hdGNoPSJicmllZiI+Ci0gICAg
PGRpdiBjbGFzcz0iYnJpZWYiPgotICAgICAgICA8cD4KLSAgICAgICAgICAgIDx4c2w6YXBwbHkt
dGVtcGxhdGVzLz4KLSAgICAgICAgPC9wPgotICAgIDwvZGl2PgotPC94c2w6dGVtcGxhdGU+Ci0K
LTwhLS1kZXNjcmlwdGlvbiBpbiBSZXR1cm5UeXBlIG9yIEFyZ3VtZW50IG9yIFNjb3BlZE5hbWUt
LT4KLTx4c2w6dGVtcGxhdGUgbWF0Y2g9IlR5cGUvZGVzY3JpcHRpdmUvZGVzY3JpcHRpb258QXJn
dW1lbnQvZGVzY3JpcHRpdmUvZGVzY3JpcHRpb258TmFtZS9kZXNjcmlwdGl2ZS9kZXNjcmlwdGlv
biI+Ci0gICAgPCEtLUlmIHRoZSBkZXNjcmlwdGlvbiBjb250YWlucyBqdXN0IGEgc2luZ2xlIDxw
PiB0aGVuIHdlIG9taXQKLSAgICAgICAgdGhlIDxwPiBhbmQganVzdCBkbyBpdHMgY29udGVudHMu
LS0+Ci0gICAgPHhzbDpjaG9vc2U+Ci0gICAgICAgIDx4c2w6d2hlbiB0ZXN0PSJwIGFuZCBjb3Vu
dCgqKSA9IDEiPgotICAgICAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJwLyp8
cC90ZXh0KCkiLz4KLSAgICAgICAgPC94c2w6d2hlbj4KLSAgICAgICAgPHhzbDpvdGhlcndpc2U+
Ci0gICAgICAgICAgICA8ZGl2IGNsYXNzPSJkZXNjcmlwdGlvbiI+Ci0gICAgICAgICAgICAgICAg
PHhzbDphcHBseS10ZW1wbGF0ZXMvPgotICAgICAgICAgICAgPC9kaXY+Ci0gICAgICAgIDwveHNs
Om90aGVyd2lzZT4KLSAgICA8L3hzbDpjaG9vc2U+Ci08L3hzbDp0ZW1wbGF0ZT4KLQotPCEtLU90
aGVyIGRlc2NyaXB0aW9uLS0+Ci08eHNsOnRlbXBsYXRlIG1hdGNoPSJkZXNjcmlwdGlvbiI+Ci0g
ICAgPGRpdiBjbGFzcz0iZGVzY3JpcHRpb24iPgotICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRl
cy8+Ci0gICAgPC9kaXY+Ci08L3hzbDp0ZW1wbGF0ZT4KLQotPCEtLUNvZGUtLT4KLTx4c2w6dGVt
cGxhdGUgbWF0Y2g9IkNvZGUiPgotICAgIDxkaXYgY2xhc3M9ImV4YW1wbGUiPgotICAgIAk8eHNs
OmNob29zZT4KLSAgICAgICAgCTx4c2w6d2hlbiB0ZXN0PSJAbGFuZyI+Ci0JICAgICAgIAkJPGg1
Pjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAbGFuZyIvPjwvaDU+Ci0gICAgICAgIAk8L3hzbDp3aGVu
PgotICAgICAgICAJPHhzbDpvdGhlcndpc2U+Ci0JICAgICAgIAkJPGg1PkNvZGUgZXhhbXBsZTwv
aDU+Ci0gICAgICAgIAk8L3hzbDpvdGhlcndpc2U+Ci0gICAgCTwveHNsOmNob29zZT4KLSAgICAg
ICAgPHByZSBjbGFzcz0iZXhhbXBsZWNvZGUiPjx4c2w6YXBwbHktdGVtcGxhdGVzLz48L3ByZT4K
LSAgICA8L2Rpdj4KLTwveHNsOnRlbXBsYXRlPgotCi08IS0td2ViaWRsIDogbGl0ZXJhbCBXZWIg
SURMIGZyb20gaW5wdXQtLT4KLTx4c2w6dGVtcGxhdGUgbWF0Y2g9IndlYmlkbCI+Ci0gICAgPGg1
PldlYklETDwvaDU+Ci0gICAgPHByZSBjbGFzcz0id2ViaWRsIj48eHNsOmFwcGx5LXRlbXBsYXRl
cy8+PC9wcmU+Ci08L3hzbDp0ZW1wbGF0ZT4KLQotPCEtLWF1dGhvci0tPgotPHhzbDp0ZW1wbGF0
ZSBtYXRjaD0iYXV0aG9yIj4KLSAgICA8bGkgY2xhc3M9ImF1dGhvciI+PHhzbDphcHBseS10ZW1w
bGF0ZXMvPjwvbGk+Ci08L3hzbDp0ZW1wbGF0ZT4KLQotPCEtLXZlcnNpb24tLT4KLTx4c2w6dGVt
cGxhdGUgbWF0Y2g9InZlcnNpb24iPgotICAgIDxkaXYgY2xhc3M9InZlcnNpb24iPgotICAgICAg
ICA8aDI+Ci0gICAgICAgICAgICBWZXJzaW9uOiA8eHNsOmFwcGx5LXRlbXBsYXRlcy8+Ci0gICAg
ICAgIDwvaDI+Ci0gICAgPC9kaXY+Ci08L3hzbDp0ZW1wbGF0ZT4KLQotPCEtLWFwaS1mZWF0dXJl
LS0+Ci08eHNsOnRlbXBsYXRlIG1hdGNoPSJhcGktZmVhdHVyZSI+Ci0gICAgPGR0PgotICAgICAg
ICA8eHNsOnZhbHVlLW9mIHNlbGVjdD0iQGlkZW50aWZpZXIiLz4KLSAgICA8L2R0PgotICAgIDxk
ZD4KLSAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMvPgotICAgIDwvZGQ+Ci08L3hzbDp0ZW1w
bGF0ZT4KLQotPCEtLXBhcmFtLS0+Ci08eHNsOnRlbXBsYXRlIG1hdGNoPSJwYXJhbSI+Ci0gICAg
PGxpPgotICAgICAgICA8Y29kZT48eHNsOnZhbHVlLW9mIHNlbGVjdD0iQGlkZW50aWZpZXIiLz48
L2NvZGU+OgotICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcy8+Ci0gICAgPC9saT4KLTwveHNs
OnRlbXBsYXRlPgotCi08IS0tZGVmLWluc3RhbnRpYXRlZC4KLSAgICBUaGlzIGFzc3VtZXMgdGhh
dCBvbmx5IG9uZSBpbnRlcmZhY2UgaW4gdGhlIG1vZHVsZSBoYXMgYSBkZWYtaW5zdGFudGlhdGVk
LAotICAgIGFuZCB0aGF0IGludGVyZmFjZSBjb250YWlucyBqdXN0IG9uZSBhdHRyaWJ1dGUuLS0+
Ci08eHNsOnRlbXBsYXRlIG1hdGNoPSJkZWYtaW5zdGFudGlhdGVkIj4KLSAgICA8eHNsOnZhcmlh
YmxlIG5hbWU9ImlmYWNlbmFtZSIgc2VsZWN0PSIuLi8uLi9AbmFtZSIvPgotICAgIDxwPgotICAg
ICAgICA8eHNsOmNob29zZT4KLSAgICAgICAgICAgIDx4c2w6d2hlbiB0ZXN0PSJjb3VudChkZXNj
cmlwdGl2ZS9hcGktZmVhdHVyZSk9MSI+Ci0gICAgICAgICAgICAgICAgV2hlbiB0aGUgZmVhdHVy
ZQotICAgICAgICAgICAgPC94c2w6d2hlbj4KLSAgICAgICAgICAgIDx4c2w6b3RoZXJ3aXNlPgot
ICAgICAgICAgICAgICAgIFdoZW4gYW55IG9mIHRoZSBmZWF0dXJlcwotICAgICAgICAgICAgPC94
c2w6b3RoZXJ3aXNlPgotICAgICAgICA8L3hzbDpjaG9vc2U+Ci0gICAgPC9wPgotICAgIDx1bD4K
LSAgICAgICAgPHhzbDpmb3ItZWFjaCBzZWxlY3Q9ImRlc2NyaXB0aXZlL2FwaS1mZWF0dXJlIj4K
LSAgICAgICAgICAgIDxsaT48Y29kZT4KLSAgICAgICAgICAgICAgICA8eHNsOnZhbHVlLW9mIHNl
bGVjdD0iQGlkZW50aWZpZXIiLz4KLSAgICAgICAgICAgIDwvY29kZT48L2xpPgotICAgICAgICA8
L3hzbDpmb3ItZWFjaD4KLSAgICA8L3VsPgotICAgIDxwPgotICAgICAgICBpcyBzdWNjZXNzZnVs
bHkgcmVxdWVzdGVkLCB0aGUgaW50ZXJmYWNlCi0gICAgICAgIDxjb2RlPjx4c2w6YXBwbHktdGVt
cGxhdGVzIHNlbGVjdD0iLi4vLi4vQXR0cmlidXRlL1R5cGUiLz48L2NvZGU+Ci0gICAgICAgIGlz
IGluc3RhbnRpYXRlZCwgYW5kIHRoZSByZXN1bHRpbmcgb2JqZWN0IGFwcGVhcnMgaW4gdGhlIGds
b2JhbAotICAgICAgICBuYW1lc3BhY2UgYXMKLSAgICAgICAgPGNvZGU+PHhzbDp2YWx1ZS1vZiBz
ZWxlY3Q9Ii4uLy4uLy4uL0ltcGxlbWVudHNbQG5hbWUyPSRpZmFjZW5hbWVdL0BuYW1lMSIvPi48
eHNsOnZhbHVlLW9mIHNlbGVjdD0iLi4vLi4vQXR0cmlidXRlL0BuYW1lIi8+PC9jb2RlPi4KLSAg
ICA8L3A+Ci08L3hzbDp0ZW1wbGF0ZT4KLQotCi0KLTwhLS1odG1sIGVsZW1lbnRzLS0+Ci08eHNs
OnRlbXBsYXRlIG1hdGNoPSJhfGJ8YnJ8ZGR8ZGx8ZHR8ZW18bGl8cHx0YWJsZXx0ZHx0aHx0cnx1
bCI+Ci0gICAgPHhzbDplbGVtZW50IG5hbWU9IntuYW1lKCl9Ij48eHNsOmZvci1lYWNoIHNlbGVj
dD0iQCoiPjx4c2w6YXR0cmlidXRlIG5hbWU9IntuYW1lKCl9Ij48eHNsOnZhbHVlLW9mIHNlbGVj
dD0iLiIvPjwveHNsOmF0dHJpYnV0ZT48L3hzbDpmb3ItZWFjaD48eHNsOmFwcGx5LXRlbXBsYXRl
cy8+PC94c2w6ZWxlbWVudD4KLTwveHNsOnRlbXBsYXRlPgotCi08eHNsOnRlbXBsYXRlIG5hbWU9
InN1bW1hcnkiPgotICA8dGFibGUgY2xhc3M9InN1bW1hcnkiPgotICAgIDx0aGVhZD4KLSAgICAg
IDx0cj48dGg+SW50ZXJmYWNlPC90aD48dGg+TWV0aG9kPC90aD48L3RyPgotICAgIDwvdGhlYWQ+
Ci0gICAgPHRib2R5PgotICAgICAgPHhzbDpmb3ItZWFjaCBzZWxlY3Q9IkludGVyZmFjZVtkZXNj
cmlwdGl2ZV0iPgotICAgICAgICA8dHI+PHRkPjxhIGhyZWY9IiN7QGlkfSI+PHhzbDp2YWx1ZS1v
ZiBzZWxlY3Q9IkBuYW1lIi8+PC9hPjwvdGQ+Ci0gICAgICAgIDx0ZD4KLSAgICAgICAgICA8eHNs
OmZvci1lYWNoIHNlbGVjdD0iT3BlcmF0aW9uIj4KLQotICAgICAgICAgICAgPHhzbDphcHBseS10
ZW1wbGF0ZXMgc2VsZWN0PSJUeXBlIi8+Ci0gICAgICAgICAgICA8eHNsOnRleHQ+IDwveHNsOnRl
eHQ+Ci0gICAgICAgICAgICA8YSBocmVmPSIje2NvbmNhdChAbmFtZSxnZW5lcmF0ZS1pZCguKSl9
Ij48eHNsOnZhbHVlLW9mIHNlbGVjdD0iQG5hbWUiLz48L2E+Ci0gICAgICAgICAgICA8eHNsOnRl
eHQ+KDwveHNsOnRleHQ+Ci0gICAgICAgICAgICA8eHNsOmZvci1lYWNoIHNlbGVjdD0iQXJndW1l
bnRMaXN0L0FyZ3VtZW50Ij4KLSAgICAgICAgICAgICAgPHhzbDp2YXJpYWJsZSBuYW1lPSJ0eXBl
Ij48eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9IlR5cGUiLz48L3hzbDp2YXJpYWJsZT4KLSAg
ICAgICAgICAgICAgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9ImNvbmNhdChub3JtYWxpemUtc3BhY2Uo
JHR5cGUpLCcgJyxAbmFtZSkiLz4KLSAgICAgICAgICAgICAgPHhzbDppZiB0ZXN0PSJwb3NpdGlv
bigpICE9IGxhc3QoKSI+LCA8L3hzbDppZj4KLSAgICAgICAgICAgIDwveHNsOmZvci1lYWNoPgot
ICAgICAgICAgICAgPHhzbDp0ZXh0Pik8L3hzbDp0ZXh0PgotICAgICAgICAgICAgPHhzbDppZiB0
ZXN0PSJwb3NpdGlvbigpIT1sYXN0KCkiPjxici8+PC94c2w6aWY+Ci0gICAgICAgICAgPC94c2w6
Zm9yLWVhY2g+Ci0gICAgICAgIDwvdGQ+Ci0gICAgICAgIDwvdHI+Ci0gICAgICA8L3hzbDpmb3It
ZWFjaD4KLSAgICA8L3Rib2R5PgotICA8L3RhYmxlPgotPC94c2w6dGVtcGxhdGU+Ci0KLTwhLS08
cmVmPiBlbGVtZW50IGluIGxpdGVyYWwgV2ViIElETC4tLT4KLTx4c2w6dGVtcGxhdGUgbWF0Y2g9
InJlZltAcmVmXSI+Ci0gICAgPGEgaHJlZj0ie0ByZWZ9Ij4KLSAgICAgICAgPHhzbDphcHBseS10
ZW1wbGF0ZXMvPgotICAgIDwvYT4KLTwveHNsOnRlbXBsYXRlPgotCi08L3hzbDpzdHlsZXNoZWV0
PgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9NYWtlZmlsZSBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC93aWRscHJvYy90ZXN0L01ha2VmaWxlCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCBjNDA5MzllMzZmYzliOTE3Y2JkNzlhZDExZjY4ZTM3OWYwZWNlMTg5Li4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0
L01ha2VmaWxlCisrKyAvZGV2L251bGwKQEAgLTEsOTEgKzAsMCBAQAotIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
Ci0jICRJZDogTWFrZWZpbGUgNDE4IDIwMTAtMDYtMTYgMTU6MjY6NTFaIHRwciAkCi0jIENvcHly
aWdodCAyMDA5IEFwbGl4IENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotIyBMaWNl
bnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2Ui
KTsKLSMgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRo
IHRoZSBMaWNlbnNlLgotIyBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQK
LSMgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAotIyBVbmxl
c3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNv
ZnR3YXJlCi0jIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9u
IGFuICJBUyBJUyIgQkFTSVMsCi0jIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9G
IEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgotIyBTZWUgdGhlIExpY2Vuc2Ug
Zm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCi0jIGxp
bWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgotIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCi0KLVVOQU1FID0g
JChzaGVsbCB1bmFtZSkKLVZBTElEVEVTVERJUiA9IHZhbGlkL2lkbAotVkFMSURURVNUUkVGRElS
ID0gdmFsaWQveG1sCi1WQUxJRFRFU1RPQkpESVIgPSB2YWxpZC9vYmoKLUlOVkFMSURURVNURElS
ID0gaW52YWxpZC9pZGwKLUlOVkFMSURURVNUUkVGRElSID0gaW52YWxpZC9lcnJvcgotSU5WQUxJ
RFRFU1RPQkpESVIgPSBpbnZhbGlkL29iagotCi0jIFRoZSBzZXR0aW5ncyBvZiBTUkNESVIgKHdo
ZXJlIHRvIGZpbmQgdGhlIHhzbCBzdHlsZSBzaGVldHMpLCBPQkpESVIgKHdoZXJlIHRvCi0jIGZp
bmQgd2lkbHByb2MgYW5kIHdpZGxwcm9jeG1sLmR0ZCkgYW5kIFZBTERURVNUT0JKRElSICh3aGVy
ZSB0byBwdXQgdGhlCi0jIHJlc3VsdGluZyBYTUwgZmlsZXMpIHJlZmxlY3QgdGhlIGRpcmVjdG9y
eQotIyBzdHJ1Y3R1cmUgb2YgdGhlIHJlbGVhc2VkIHdpZGxwcm9jLnppcCBmaWxlIHdoZW4gdW56
aXBwZWQuIC4uL01ha2VmaWxlIGNhbGxzCi0jIHRoaXMgTWFrZWZpbGUgd2l0aCB0aGVzZSBzZXR0
aW5ncyBvdmVycmlkZGVuIHRvIHJlZmxlY3QgdGhlIGRpcmVjdG9yeQotIyBzdHJ1Y3R1cmUgaW4g
c3ZuLgotU1JDRElSID0gLi4KLU9CSkRJUiA9IC4uCi0KLSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwotIyBMaW51
eCBjb25maWd1cmF0aW9uCi0jCi1pZm5lcSAoLCQoZmlsdGVyIExpbnV4JSwgJChVTkFNRSkpKSAK
LQotRVhFU1VGRklYID0KLQotZWxzZQotIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCi0jIERhcndpbiBjb25maWd1
cmF0aW9uCi0jCi1pZm5lcSAoLCQoZmlsdGVyIERhcndpbiUsICQoVU5BTUUpKSkgCi0KLUVYRVNV
RkZJWCA9Ci0KLWVsc2UKLSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwotIyBXaW5kb3dzIChjeWd3aW4gYnV0IHVz
aW5nIE1TIGNvbXBpbGVyKSBjb25maWd1cmF0aW9uCi0jCi1pZm5lcSAoLCQoZmlsdGVyIENZR1dJ
TiUsICQoVU5BTUUpKSkgCi0KLUVYRVNVRkZJWCA9IC5leGUKLQotZW5kaWYKLWVuZGlmCi1lbmRp
ZgotCi0jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMKLSMgQ29tbW9uIG1ha2VmaWxlCi0jCi1XSURMUFJPQyA9ICQo
T0JKRElSKS93aWRscHJvYyQoRVhFU1VGRklYKQotRFREID0gJChPQkpESVIpL3dpZGxwcm9jeG1s
LmR0ZAotCi1WQUxJRF9XSURMUyA9ICQocGF0c3Vic3QgJChWQUxJRFRFU1RESVIpLyUsICUsICQo
d2lsZGNhcmQgJChWQUxJRFRFU1RESVIpLyoud2lkbCkpCi1JTlZBTElEX1dJRExTID0gJChwYXRz
dWJzdCAkKElOVkFMSURURVNURElSKS8lLCAlLCAkKHdpbGRjYXJkICQoSU5WQUxJRFRFU1RESVIp
Lyoud2lkbCkpCi0KLXRlc3QgOiAkKHBhdHN1YnN0ICUud2lkbCwgJChWQUxJRFRFU1RPQkpESVIp
LyUud2lkbHByb2N4bWwsICQoVkFMSURfV0lETFMpKSAkKHBhdHN1YnN0ICUud2lkbCwgJChJTlZB
TElEVEVTVE9CSkRJUikvJS50eHQsICQoSU5WQUxJRF9XSURMUykpICQoV0lETFBST0MpIAotCUBl
Y2hvICIkQCBwYXNzIgotCi0jJChFWEFNUExFU09CSkRJUikvJS5odG1sIDogJChFWEFNUExFU09C
SkRJUikvJS53aWRscHJvY3htbCAkKFNSQ0RJUikvd2lkbHByb2N4bWx0b2h0bWwueHNsIE1ha2Vm
aWxlCi0jCWNwICQoU1JDRElSKS93aWRscHJvY3htbHRvaHRtbC54c2wgJChkaXIgJEApLwotIwl4
c2x0cHJvYyAkKGRpciAkQCkvd2lkbHByb2N4bWx0b2h0bWwueHNsICQ8ID4kQAotCi0KLSQoVkFM
SURURVNUT0JKRElSKS8lLndpZGxwcm9jeG1sIDogJChWQUxJRFRFU1RESVIpLyUud2lkbCAkKFdJ
RExQUk9DKSAkKERURCkgTWFrZWZpbGUgJChwYXRzdWJzdCAlLndpZGwsICQoVkFMSURURVNUUkVG
RElSKS8lLndpZGxwcm9jeG1sLCAkKFZBTElEX1dJRExTKSkKLQlta2RpciAtcCAkKGRpciAkQCkK
LQkkKFdJRExQUk9DKSAkPCA+JEAKLQljcCAkKE9CSkRJUikvd2lkbHByb2N4bWwuZHRkICQoZGly
ICRAKS8KLQl4bWxsaW50IC0tbm9vdXQgLS1kdGR2YWxpZCAkKERURCkgJEAKLQlkaWZmICRAICQo
VkFMSURURVNUUkVGRElSKS9gYmFzZW5hbWUgJEBgCi0KLSQoSU5WQUxJRFRFU1RPQkpESVIpLyUu
dHh0IDogJChJTlZBTElEVEVTVERJUikvJS53aWRsICQoV0lETFBST0MpIE1ha2VmaWxlICQocGF0
c3Vic3QgJS53aWRsLCAkKElOVkFMSURURVNUUkVGRElSKS8lLnR4dCwgJChJTlZBTElEX1dJRExT
KSkKLQlta2RpciAtcCAkKGRpciAkQCkKLQktJChXSURMUFJPQykgJDwgID4kQCAyPiYxCi0JZGlm
ZiAkQCAkKElOVkFMSURURVNUUkVGRElSKS9gYmFzZW5hbWUgJEBgCi0KLQotCi0uREVMRVRFX09O
X0VSUk9SOgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9pbnZhbGlkL2Vy
cm9yL2VudW0udHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvaW52YWxpZC9lcnJvci9lbnVt
LnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmY4YmE4ZWVmNDYxZTNhZjJiNTg1
ZjNkZjEwYTI4YTllOTY4MzQ5Yi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9pbnZhbGlkL2Vycm9yL2VudW0udHh0
CisrKyAvZGV2L251bGwKQEAgLTEgKzAsMCBAQAotaW52YWxpZC9pZGwvZW51bS53aWRsOiAxOiBh
dCAnMSc6IGV4cGVjdGVkIHN0cmluZyBpbiBlbnVtCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lk
bHByb2MvdGVzdC9pbnZhbGlkL2Vycm9yL21vZHVsZS50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mv
dGVzdC9pbnZhbGlkL2Vycm9yL21vZHVsZS50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDdlNTA0MzE2ZTUxN2Q5OWE3ZWQ5MDZhMWVjMzllY2UwYTU4MTY3ZTguLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rl
c3QvaW52YWxpZC9lcnJvci9tb2R1bGUudHh0CisrKyAvZGV2L251bGwKQEAgLTEgKzAsMCBAQAot
aW52YWxpZC9pZGwvbW9kdWxlLndpZGw6IDI6IGF0ICdnZngnOiBleHBlY3RlZCAnaW1wbGVtZW50
cycKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L2ludmFsaWQvZXJyb3Ivbm9u
bnVsbGFibGVhbnkudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvaW52YWxpZC9lcnJvci9u
b25udWxsYWJsZWFueS50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGVlZWIyNWYx
MmFiMDk3MzkxMDcyODE1N2FlYzU4YzM3ODdiNDgzOTQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvaW52YWxpZC9l
cnJvci9ub25udWxsYWJsZWFueS50eHQKKysrIC9kZXYvbnVsbApAQCAtMSArMCwwIEBACi1pbnZh
bGlkL2lkbC9ub25udWxsYWJsZWFueS53aWRsOiAyOiBhdCAnPyc6IGV4cGVjdGVkIGlkZW50aWZp
ZXIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L2ludmFsaWQvZXJyb3Ivbm9u
bnVsbGFibGVvYmplY3RzLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L2ludmFsaWQvZXJy
b3Ivbm9ubnVsbGFibGVvYmplY3RzLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
NTI2NjIyNTk5YjcxNWY3OTgzMTFjODhkNDEzZGRhMmIxYzI5OTk2Zi4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9p
bnZhbGlkL2Vycm9yL25vbm51bGxhYmxlb2JqZWN0cy50eHQKKysrIC9kZXYvbnVsbApAQCAtMSAr
MCwwIEBACi1pbnZhbGlkL2lkbC9ub25udWxsYWJsZW9iamVjdHMud2lkbDogNDogYXQgJz8nOiBl
eHBlY3RlZCBpZGVudGlmaWVyCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9p
bnZhbGlkL2Vycm9yL3Njb3BlZG5hbWUudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvaW52
YWxpZC9lcnJvci9zY29wZWRuYW1lLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
NTY0NjYwOGNkMzcxMTIyYWUzNGJmY2ExMzYyMmExNmFkNTMxMjcxZi4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9p
bnZhbGlkL2Vycm9yL3Njb3BlZG5hbWUudHh0CisrKyAvZGV2L251bGwKQEAgLTEgKzAsMCBAQAot
aW52YWxpZC9pZGwvc2NvcGVkbmFtZS53aWRsOiAyOiBhdCAnOic6IGV4cGVjdGVkIGlkZW50aWZp
ZXIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L2ludmFsaWQvZXJyb3Ivc2Vx
dWVuY2VBc0F0dHJpYnV0ZS50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9pbnZhbGlkL2Vy
cm9yL3NlcXVlbmNlQXNBdHRyaWJ1dGUudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAxNTk2MGNiOGI1ZjM2NWJjNTljNzNiZjhkMWFjYTZkNzA1NGUyMjU1Li4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0
L2ludmFsaWQvZXJyb3Ivc2VxdWVuY2VBc0F0dHJpYnV0ZS50eHQKKysrIC9kZXYvbnVsbApAQCAt
MSArMCwwIEBACi1pbnZhbGlkL2lkbC9zZXF1ZW5jZUFzQXR0cmlidXRlLndpZGw6IDI6IGF0ICdz
ZXF1ZW5jZSc6IGV4cGVjdGVkIHR5cGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90
ZXN0L2ludmFsaWQvZXJyb3Ivc3RyaW5nY29uc3RhbnRzLmlkbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJv
Yy90ZXN0L2ludmFsaWQvZXJyb3Ivc3RyaW5nY29uc3RhbnRzLmlkbApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMTU1YTg5MmM1NWFkYWM5NTI3OGEyNDc2NjQ0NWQyOGRjNWYxYWE5Mi4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
d2lkbHByb2MvdGVzdC9pbnZhbGlkL2Vycm9yL3N0cmluZ2NvbnN0YW50cy5pZGwKKysrIC9kZXYv
bnVsbApAQCAtMSArMCwwIEBACi1pbnZhbGlkL2lkbC9zdHJpbmdjb25zdGFudHMuaWRsOiAyOiBh
dCAnRE9NU3RyaW5nJzogZXhwZWN0ZWQgYWNjZXB0YWJsZSBjb25zdGFudCB0eXBlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9pbnZhbGlkL2Vycm9yL3czYy1pbXBvcnQubG9n
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvaW52YWxpZC9lcnJvci93M2MtaW1wb3J0LmxvZwpk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmNlODU1Y2FiNjkxNzk0YmQzNDExYmZmNTU2
NDcyM2IxZDk3YzcwMy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9pbnZhbGlkL2Vycm9yL3czYy1pbXBvcnQubG9n
CisrKyAvZGV2L251bGwKQEAgLTEsMjQgKzAsMCBAQAotVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0
b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCi1EbyBOT1QgbW9kaWZ5
IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQsIGNyZWF0ZSBhIHB1bGwg
cmVxdWVzdCBvbiB0aGUgVzNDIENTUyBvciBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0aHViLmNv
bS93M2MvY3Nzd2ctdGVzdAotCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzCi0KLVRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2Vi
S2l0IHRvIHJlaW1wb3J0Ci0KLURvIE5PVCBtb2RpZnkgb3IgcmVtb3ZlIHRoaXMgZmlsZS4KLQot
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tCi1Qcm9wZXJ0aWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6Ci1O
b25lCi1Qcm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKLU5vbmUKLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLQotTGlzdCBvZiBmaWxlczoKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9p
bnZhbGlkL2Vycm9yL2VudW0udHh0Ci0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvaW52YWxpZC9l
cnJvci9tb2R1bGUudHh0Ci0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvaW52YWxpZC9lcnJvci9u
b25udWxsYWJsZWFueS50eHQKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9pbnZhbGlkL2Vycm9y
L25vbm51bGxhYmxlb2JqZWN0cy50eHQKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9pbnZhbGlk
L2Vycm9yL3Njb3BlZG5hbWUudHh0Ci0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvaW52YWxpZC9l
cnJvci9zZXF1ZW5jZUFzQXR0cmlidXRlLnR4dAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L2lu
dmFsaWQvZXJyb3Ivc3RyaW5nY29uc3RhbnRzLmlkbApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dp
ZGxwcm9jL3Rlc3QvaW52YWxpZC9pZGwvZW51bS53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rl
c3QvaW52YWxpZC9pZGwvZW51bS53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBj
MzU1YzMyNTFjMDA4NDM1MmEzMmM1NjBhMTc0ZTAwYmRlZDA4MTA5Li4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L2lu
dmFsaWQvaWRsL2VudW0ud2lkbAorKysgL2Rldi9udWxsCkBAIC0xICswLDAgQEAKLWVudW0gZm9v
IHsgMSwgMiwgM307ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L3dpZGxwcm9jL3Rlc3QvaW52YWxpZC9pZGwvbW9kdWxlLndpZGwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
d2lkbHByb2MvdGVzdC9pbnZhbGlkL2lkbC9tb2R1bGUud2lkbApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggYTRjNzlmZGYxNTVlYTU1OGFlZWFjNTExMzM0NWMzMDA3NDVkNjI4MS4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lk
bHByb2MvdGVzdC9pbnZhbGlkL2lkbC9tb2R1bGUud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDI1
ICswLDAgQEAKLS8vIEV4dHJhY3RlZCBmcm9tIGh0dHA6Ly9kZXYudzMub3JnLzIwMDYvd2ViYXBp
L1dlYklETC8gb24gMjAxMS0wNS0wNgotbW9kdWxlIGdmeCB7Ci0KLSAgbW9kdWxlIGdlb20gewot
ICAgIGludGVyZmFjZSBTaGFwZSB7IC8qIC4uLiAqLyB9OwotICAgIGludGVyZmFjZSBSZWN0YW5n
bGUgOiBTaGFwZSB7IC8qIC4uLiAqLyB9OwotICAgIGludGVyZmFjZSBQYXRoIDogU2hhcGUgeyAv
KiAuLi4gKi8gfTsKLSAgfTsKLQotICBpbnRlcmZhY2UgR3JhcGhpY3NDb250ZXh0IHsKLSAgICB2
b2lkIGZpbGxTaGFwZShnZW9tOjpTaGFwZSBzKTsKLSAgICB2b2lkIHN0cm9rZVNoYXBlKGdlb206
OlNoYXBlIHMpOwotICB9OwotfTsKLQotbW9kdWxlIGd1aSB7Ci0KLSAgaW50ZXJmYWNlIFdpZGdl
dCB7IC8qIC4uLiAqLyAgfTsKLQotICBpbnRlcmZhY2UgV2luZG93IDogV2lkZ2V0IHsKLSAgICBn
Zng6OkdyYXBoaWNzQ29udGV4dCBnZXRHcmFwaGljc0NvbnRleHQoKTsKLSAgfTsKLQotICBpbnRl
cmZhY2UgQnV0dG9uIDogV2lkZ2V0IHsgLyogLi4uICovICB9OwotfTsKXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9pbnZhbGlk
L2lkbC9ub25udWxsYWJsZWFueS53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvaW52YWxp
ZC9pZGwvbm9ubnVsbGFibGVhbnkud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
Mzg5NTc2NTU1MjM2ZDkxMWNhN2M2YjdiYmI1NjYwNWZlMDEwMTgxNC4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9p
bnZhbGlkL2lkbC9ub25udWxsYWJsZWFueS53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsMyArMCww
IEBACi1pbnRlcmZhY2UgTm9uTnVsbGFibGUgewotICBhdHRyaWJ1dGUgYW55PyBmb287Ci19Owpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJv
Yy90ZXN0L2ludmFsaWQvaWRsL25vbm51bGxhYmxlb2JqZWN0cy53aWRsIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dp
ZGxwcm9jL3Rlc3QvaW52YWxpZC9pZGwvbm9ubnVsbGFibGVvYmplY3RzLndpZGwKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDFkZWFjNWFlZWM5MDgxNTEwMmJmNDFmYzQzN2RhMmM5NjJl
YWVmYWMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L3dpZGxwcm9jL3Rlc3QvaW52YWxpZC9pZGwvbm9ubnVsbGFibGVvYmplY3RzLndpZGwK
KysrIC9kZXYvbnVsbApAQCAtMSw1ICswLDAgQEAKLWludGVyZmFjZSBGb28ge307Ci0KLWludGVy
ZmFjZSBOb25OdWxsYWJsZSB7Ci0gIGF0dHJpYnV0ZSBGb28/PyBmb287Ci19OwpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L2lu
dmFsaWQvaWRsL3JhaXNlcy53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvaW52YWxpZC9p
ZGwvcmFpc2VzLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGZmNjU1MjJmMmIz
MzU1N2U1MjM2ODZlYjYzMzJlMTNhN2ZkNGEwNzkuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvaW52YWxpZC9pZGwv
cmFpc2VzLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSwxOCArMCwwIEBACi0vLyBnZXRyYWlzZXMg
YW5kIHNldHJhaXNlcyBhcmUgbm90IGxvbmdlciB2YWxpZCBXZWIgSURMCi1pbnRlcmZhY2UgUGVy
c29uIHsKLQotICAvLyBBbiBhdHRyaWJ1dGUgdGhhdCBjYW4gcmFpc2UgYW4gZXhjZXB0aW9uIGlm
IGl0IGlzIHNldCB0byBhbiBpbnZhbGlkIHZhbHVlLgotICBhdHRyaWJ1dGUgRE9NU3RyaW5nIG5h
bWUgc2V0cmFpc2VzIChJbnZhbGlkTmFtZSk7Ci0KLSAgLy8gQW4gYXR0cmlidXRlIHdob3NlIHZh
bHVlIGNhbm5vdCBiZSBhc3NpZ25lZCB0bywgYW5kIHdoaWNoIGNhbiByYWlzZSBhbgotICAvLyBl
eGNlcHRpb24gc29tZSBjaXJjdW1zdGFuY2VzLgotICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3Ry
aW5nIHBldE5hbWUgZ2V0cmFpc2VzIChOb1N1Y2hQZXQpOwotfTsKLQotZXhjZXB0aW9uIFNvbWVF
eGNlcHRpb24gewotfTsKLQotaW50ZXJmYWNlIEV4Y2VwdGlvblRocm93ZXIgewotICAvLyBUaGlz
IGF0dHJpYnV0ZSBhbHdheXMgdGhyb3dzIGEgU29tZUV4Y2VwdGlvbiBhbmQgbmV2ZXIgcmV0dXJu
cyBhIHZhbHVlLgotICBhdHRyaWJ1dGUgbG9uZyB2YWx1ZU9mIGdldHJhaXNlcyhTb21lRXhjZXB0
aW9uKTsKLX07ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3dpZGxwcm9jL3Rlc3QvaW52YWxpZC9pZGwvc2NvcGVkbmFtZS53aWRsIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3dpZGxwcm9jL3Rlc3QvaW52YWxpZC9pZGwvc2NvcGVkbmFtZS53aWRsCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCBjZmNiMWNjYzkzOTVjZDQyZWQ1MTkyZmU0ZWEwOTQ1NTBmNzM1NGVl
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC93aWRscHJvYy90ZXN0L2ludmFsaWQvaWRsL3Njb3BlZG5hbWUud2lkbAorKysgL2Rldi9udWxs
CkBAIC0xLDIgKzAsMCBAQAotLy8gc2NvcGVkIG5hbWVzIGFyZSBubyBsb25nZXIgdmFsaWQgaW4g
V2ViSURMCi0gIHR5cGVkZWYgZ2Z4OjpnZW9tOjpnZW9tMmQ6OlBvaW50IFBvaW50OwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvaW52YWxpZC9pZGwvc2VxdWVuY2VBc0F0dHJp
YnV0ZS53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvaW52YWxpZC9pZGwvc2VxdWVuY2VB
c0F0dHJpYnV0ZS53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjMjNkYTgyYWMy
MjE5OGFhNTdlMWRhYmI2NGZhN2JhMTI1Yzc1OTk2Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L2ludmFsaWQvaWRs
L3NlcXVlbmNlQXNBdHRyaWJ1dGUud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDMgKzAsMCBAQAot
aW50ZXJmYWNlIHNlcXVlbmNlQXNBdHRyaWJ1dGUgewotICBhdHRyaWJ1dGUgc2VxdWVuY2U8c2hv
cnQ+IGludmFsaWQ7Ci19OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L2ludmFsaWQvaWRsL3NwZWNpYWwtb21pdHRhYmxlLndp
ZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9pbnZhbGlkL2lkbC9zcGVjaWFsLW9taXR0YWJs
ZS53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiZGZiZmE3MDk3MzNmOWZhYTY2
NzJhYzM5NTNiNDY3M2YyODMwOTJmLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L2ludmFsaWQvaWRsL3NwZWNpYWwt
b21pdHRhYmxlLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSw4ICswLDAgQEAKLS8vIEV4dHJhY3Rl
ZCBmcm9tIGh0dHA6Ly9kZXYudzMub3JnLzIwMDYvd2ViYXBpL1dlYklETC8gb24gMjAxMS0wNS0w
NgotLy8gb21pdHRhYmxlIGlzIG5vIGxvbmdlciBhIHJlY29nbml6ZWQga2V5d29hcmQgYXMgb2Yg
MjAxMTA5MDUKLWludGVyZmFjZSBEaWN0aW9uYXJ5IHsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIHVu
c2lnbmVkIGxvbmcgcHJvcGVydHlDb3VudDsKLQotICBvbWl0dGFibGUgZ2V0dGVyIGZsb2F0IGdl
dFByb3BlcnR5KERPTVN0cmluZyBwcm9wZXJ0eU5hbWUpOwotICBvbWl0dGFibGUgc2V0dGVyIHZv
aWQgc2V0UHJvcGVydHkoRE9NU3RyaW5nIHByb3BlcnR5TmFtZSwgZmxvYXQgcHJvcGVydHlWYWx1
ZSk7Ci19OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC93aWRscHJvYy90ZXN0L2ludmFsaWQvaWRsL3N0cmluZ2NvbnN0YW50cy5pZGwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvd2lkbHByb2MvdGVzdC9pbnZhbGlkL2lkbC9zdHJpbmdjb25zdGFudHMuaWRsCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0NGZkM2ZmMTM2ZWU1NjcxNjM3ZDAyY2I4MDk2NGRkYmEw
OTJhNjU4Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC93aWRscHJvYy90ZXN0L2ludmFsaWQvaWRsL3N0cmluZ2NvbnN0YW50cy5pZGwKKysr
IC9kZXYvbnVsbApAQCAtMSwzICswLDAgQEAKLWludGVyZmFjZSBVdGlsIHsKLSAgY29uc3QgRE9N
U3RyaW5nIGhlbGxvID0gIndvcmxkIjsKLX07ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvaW52YWxpZC9pZGwvdzNjLWltcG9y
dC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9pbnZhbGlkL2lkbC93M2MtaW1wb3J0Lmxv
ZwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzFlMWMyMjQ4Y2UyNmE1ZWNlZTI5ZWQ0
ZjI5Mzg0NTdjOTRmMjNhZC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9pbnZhbGlkL2lkbC93M2MtaW1wb3J0Lmxv
ZworKysgL2Rldi9udWxsCkBAIC0xLDI2ICswLDAgQEAKLVRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVj
dG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgotRG8gTk9UIG1vZGlm
eSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBwdWxs
IHJlcXVlc3Qgb24gdGhlIFczQyBDU1Mgb3IgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5j
b20vdzNjL2Nzc3dnLXRlc3QKLQlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cwotCi1UaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdl
YktpdCB0byByZWltcG9ydAotCi1EbyBOT1QgbW9kaWZ5IG9yIHJlbW92ZSB0aGlzIGZpbGUuCi0K
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLQotUHJvcGVydGllcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgot
Tm9uZQotUHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6Ci1Ob25lCi0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0KLUxpc3Qgb2YgZmlsZXM6Ci0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3Qv
aW52YWxpZC9pZGwvZW51bS53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvaW52YWxpZC9p
ZGwvbW9kdWxlLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9pbnZhbGlkL2lkbC9ub25u
dWxsYWJsZWFueS53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvaW52YWxpZC9pZGwvbm9u
bnVsbGFibGVvYmplY3RzLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9pbnZhbGlkL2lk
bC9yYWlzZXMud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L2ludmFsaWQvaWRsL3Njb3Bl
ZG5hbWUud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L2ludmFsaWQvaWRsL3NlcXVlbmNl
QXNBdHRyaWJ1dGUud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L2ludmFsaWQvaWRsL3Nw
ZWNpYWwtb21pdHRhYmxlLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9pbnZhbGlkL2lk
bC9zdHJpbmdjb25zdGFudHMuaWRsCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVz
dC92YWxpZC9pZGwvYWxsb3dhbnkud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlk
L2lkbC9hbGxvd2FueS53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyMzQzYmI5
NjM3NGY5ODYxNzJiODAwZmZjYzQ0M2IyOTU5YTBjZGE1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lk
bC9hbGxvd2FueS53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsNiArMCwwIEBACi0vLyBFeHRyYWN0
ZWQgZnJvbSBodHRwOi8vZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJJREwvIG9uIDIwMTEtMDUt
MDYKLWludGVyZmFjZSBCIHsKLSAgdm9pZCBnKCk7Ci0gIHZvaWQgZyhCIGIpOwotICB2b2lkIGco
W0FsbG93QW55XSBET01TdHJpbmcgcyk7Ci19OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9hcnJheS53aWRs
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL2FycmF5LndpZGwKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDIyZTIxZmI2NTY0NzM4YmQ1NjgzMGNlMDMwMGRhMzg5Y2Uw
NTc0YmYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL2FycmF5LndpZGwKKysrIC9kZXYvbnVsbApA
QCAtMSw1ICswLDAgQEAKLS8vIEV4dHJhY3RlZCBmcm9tIGh0dHA6Ly9kZXYudzMub3JnLzIwMDYv
d2ViYXBpL1dlYklETC8gb24gMjAxMS0wNS0wNgotW0NvbnN0cnVjdG9yXQotaW50ZXJmYWNlIExv
dHRlcnlSZXN1bHRzIHsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIHNob3J0W11bXSBu
dW1iZXJzOwotfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvYXR0cmlidXRlcy53aWRsIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL2F0dHJpYnV0ZXMud2lkbApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggN2UxZDY5MWNiZTI4YWZkYzU4MDgyYTdmZDgxY2JkYjRmMzdjZjQ1Ni4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
d2lkbHByb2MvdGVzdC92YWxpZC9pZGwvYXR0cmlidXRlcy53aWRsCisrKyAvZGV2L251bGwKQEAg
LTEsMTQgKzAsMCBAQAotLy8gRXh0cmFjdGVkIGZyb20gaHR0cDovL2Rldi53My5vcmcvMjAwNi93
ZWJhcGkvV2ViSURMLyBvbiAyMDExLTA1LTA2Ci1leGNlcHRpb24gSW52YWxpZE5hbWUgewotICBE
T01TdHJpbmcgcmVhc29uOwotfTsKLQotZXhjZXB0aW9uIE5vU3VjaFBldCB7IH07Ci0KLWludGVy
ZmFjZSBQZXJzb24gewotCi0gIC8vIEEgc2ltcGxlIGF0dHJpYnV0ZSB0aGF0IGNhbiBiZSBzZXQg
dG8gYW55IHZhbHVlIHRoZSByYW5nZSBhbiB1bnNpZ25lZAotICAvLyBzaG9ydCBjYW4gdGFrZS4K
LSAgYXR0cmlidXRlIHVuc2lnbmVkIHNob3J0IGFnZTsKLQotfTsKXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwv
Y2FsbGJhY2sud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9jYWxsYmFj
ay53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkOTJmNmExOGMwYTUzMWJjYmY5
ODk1ZTgxMDlhZWQwYjdhMWVjZmQ0Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9jYWxsYmFjay53
aWRsCisrKyAvZGV2L251bGwKQEAgLTEsNSArMCwwIEBACi1jYWxsYmFjayBBc3luY09wZXJhdGlv
bkNhbGxiYWNrID0gdm9pZCAoRE9NU3RyaW5nIHN0YXR1cyk7Ci0KLWNhbGxiYWNrIGludGVyZmFj
ZSBFdmVudEhhbmRsZXIgewotICB2b2lkIGV2ZW50T2NjdXJyZWQoRE9NU3RyaW5nIGRldGFpbHMp
OwotfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
d2lkbHByb2MvdGVzdC92YWxpZC9pZGwvY2FsbGVyLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mv
dGVzdC92YWxpZC9pZGwvY2FsbGVyLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDkyYWNiMWMwMTc2MzFmMDQ3NjJmOGQ2OGUwNDYyZTEwZDM3MzlkYWQuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3Qv
dmFsaWQvaWRsL2NhbGxlci53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsNSArMCwwIEBACi0vLyBF
eHRyYWN0ZWQgZnJvbSBodHRwOi8vZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJJREwvIG9uIDIw
MTEtMDUtMDYKLWludGVyZmFjZSBOdW1iZXJRdWFkcnVwbGVyIHsKLSAgLy8gVGhpcyBvcGVyYXRp
b24gc2ltcGx5IHJldHVybnMgZm91ciB0aW1lcyB0aGUgZ2l2ZW4gbnVtYmVyIHguCi0gIGxlZ2Fj
eWNhbGxlciBmbG9hdCBjb21wdXRlKGZsb2F0IHgpOwotfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvY29u
c3RhbnRzLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvY29uc3RhbnRz
LndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDVlMjhhZTljMTE2YTlkOTI2MmVh
OWU1OWU1Yjk1MzUwYTFjZTYxM2YuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL2NvbnN0YW50cy53
aWRsCisrKyAvZGV2L251bGwKQEAgLTEsMTggKzAsMCBAQAotLy8gRXh0cmFjdGVkIGZyb20gaHR0
cDovL2Rldi53My5vcmcvMjAwNi93ZWJhcGkvV2ViSURMLyBvbiAyMDExLTA1LTA2Ci1pbnRlcmZh
Y2UgVXRpbCB7Ci0gIGNvbnN0IGJvb2xlYW4gREVCVUcgPSBmYWxzZTsKLSAgY29uc3Qgc2hvcnQg
bmVnYXRpdmUgPSAtMTsKLSAgY29uc3Qgb2N0ZXQgTEYgPSAxMDsKLSAgY29uc3QgdW5zaWduZWQg
bG9uZyBCSVRfTUFTSyA9IDB4MDAwMGZjMDA7Ci0gIGNvbnN0IGZsb2F0IEFWT0dBRFJPID0gNi4w
MjJlMjM7Ci0gIGNvbnN0IHVucmVzdHJpY3RlZCBmbG9hdCBzb2JpZyA9IEluZmluaXR5OwotICBj
b25zdCB1bnJlc3RyaWN0ZWQgZG91YmxlIG1pbnVzb25lZGl2aWRlZGJ5emVybyA9IC1JbmZpbml0
eTsKLSAgY29uc3Qgc2hvcnQgbm90YW51bWJlciA9IE5hTjsKLX07Ci0KLWV4Y2VwdGlvbiBFcnJv
ciB7Ci0gIGNvbnN0IHNob3J0IEVSUl9VTktOT1dOID0gMDsKLSAgY29uc3Qgc2hvcnQgRVJSX09V
VF9PRl9NRU1PUlkgPSAxOwotCi0gIHNob3J0IGVycm9yQ29kZTsKLX07ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQv
aWRsL2NvbnN0cnVjdG9yLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwv
Y29uc3RydWN0b3Iud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjkzZWMwOGE2
ZTZmODFiZGEwOTQ2MWZiNjQ5MTIwNGZjOWQ4NGYwZi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwv
Y29uc3RydWN0b3Iud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDkgKzAsMCBAQAotLy8gRXh0cmFj
dGVkIGZyb20gaHR0cDovL2Rldi53My5vcmcvMjAwNi93ZWJhcGkvV2ViSURMLyBvbiAyMDExLTA1
LTA2Ci1bQ29uc3RydWN0b3IsCi0gQ29uc3RydWN0b3IoZmxvYXQgcmFkaXVzKV0KLWludGVyZmFj
ZSBDaXJjbGUgewotICBhdHRyaWJ1dGUgZmxvYXQgcjsKLSAgYXR0cmlidXRlIGZsb2F0IGN4Owot
ICBhdHRyaWJ1dGUgZmxvYXQgY3k7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSBmbG9hdCBjaXJjdW1m
ZXJlbmNlOwotfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvZGljdGlvbmFyeS1pbmhlcml0cy53aWRsIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL2RpY3Rpb25hcnktaW5oZXJpdHMud2lk
bApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDhmOGEwZmRjZWI2YzI0YjJkZmRmYmQy
YzUzNDM5ZTY1MDU0YWE3Zi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvZGljdGlvbmFyeS1pbmhl
cml0cy53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsOSArMCwwIEBACi1kaWN0aW9uYXJ5IFBhaW50
T3B0aW9ucyB7Ci0gIERPTVN0cmluZz8gZmlsbFBhdHRlcm4gPSAiYmxhY2siOwotICBET01TdHJp
bmc/IHN0cm9rZVBhdHRlcm4gPSBudWxsOwotICBQb2ludCBwb3NpdGlvbjsKLX07Ci0KLWRpY3Rp
b25hcnkgV2V0UGFpbnRPcHRpb25zIDogUGFpbnRPcHRpb25zIHsKLSAgZmxvYXQgaHlkcm9tZXRy
eTsKLX07ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL2RpY3Rpb25hcnkud2lkbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRs
cHJvYy90ZXN0L3ZhbGlkL2lkbC9kaWN0aW9uYXJ5LndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IGY0NmI3YmE3ODA2YWZhZmExODJjYjVkY2QzMWRjMGU4ZDZjMWI2YmYuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxw
cm9jL3Rlc3QvdmFsaWQvaWRsL2RpY3Rpb25hcnkud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDEx
ICswLDAgQEAKLS8vIEV4dHJhY3RlZCBmcm9tIFdlYiBJREwgZWRpdG9ycyBkcmFmdCBNYXkgMzEg
MjAxMQotZGljdGlvbmFyeSBQYWludE9wdGlvbnMgewotICBET01TdHJpbmc/IGZpbGxQYXR0ZXJu
ID0gImJsYWNrIjsKLSAgRE9NU3RyaW5nPyBzdHJva2VQYXR0ZXJuID0gbnVsbDsKLSAgUG9pbnQg
cG9zaXRpb247Ci19OwotCi1wYXJ0aWFsIGRpY3Rpb25hcnkgQSB7Ci0gIGxvbmcgaDsKLSAgbG9u
ZyBkOwotfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvZG9jdW1lbnRhdGlvbi1kb3Mud2lkbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9kb2N1bWVudGF0aW9uLWRvcy53aWRsCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmYjgwMTEwMWYxNDkxMGQyNmQzMmRjODhhNTc5Mzg3
YWM0YzUwNTYwLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9kb2N1bWVudGF0aW9uLWRvcy53aWRs
CisrKyAvZGV2L251bGwKQEAgLTEsMzMgKzAsMCBAQAotLyoqDQotKiBcYnJpZWYgVGVzdGluZyBk
b2N1bWVudGF0aW9uIGZlYXR1cmVzDQotKg0KLSogVGhpcyBpcyBhDQotKiBzaW5nbGUgcGFyYWdy
YXBoDQotKg0KLSogPHA+VGhpcyBpcyB2YWxpZC48L3A+DQotKiA8cD5UaGlzIGlzIDxlbT52YWxp
ZDwvZW0+LjwvcD4NCi0qIDxwPlRoaXMgaXMgPGI+dmFsaWQ8L2I+LjwvcD4NCi0qIDxwPlRoaXMg
aXMgPGEgaHJlZj0nJz52YWxpZDwvYT4uPC9wPg0KLSogPHVsPg0KLSogPGxpPlRoaXM8L2xpPg0K
LSogPGxpPmlzPC9saT4NCi0qIDxsaT52YWxpZDwvbGk+DQotKiA8L3VsPg0KLSogPGRsPg0KLSog
PGR0PlRoaXM8L2R0Pg0KLSogPGRkPnZhbGlkPC9kZD4NCi0qIDwvZGw+DQotKiA8dGFibGU+DQot
KiA8dHI+DQotKiA8dGQ+dGhpczwvdGQ+DQotKiA8dGQ+aXM8L3RkPg0KLSogPC90cj4NCi0qIDx0
cj4NCi0qIDx0ZD52YWxpZDwvdGQ+DQotKiA8L3RyPg0KLSogPC90YWJsZT4NCi0qIDxwPlRoaXMg
aXMgPGJyPiB2YWxpZC48L3A+DQotKiA8cD5UaGlzIGlzIDxiciAvPiB2YWxpZC48L3A+DQotKiA8
cD5UaGlzIGlzIDxici8+IHZhbGlkLjwvcD4NCi0qLw0KLWludGVyZmFjZSBEb2N1bWVudGF0aW9u
IHt9OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93
aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9kb2N1bWVudGF0aW9uLndpZGwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lk
bHByb2MvdGVzdC92YWxpZC9pZGwvZG9jdW1lbnRhdGlvbi53aWRsCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDNlOTIyNmY2NzJjMjIyMTM3MzcyMTdlNjkzNTRmZGNjYjA1MzhlLi4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93
aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9kb2N1bWVudGF0aW9uLndpZGwKKysrIC9kZXYvbnVsbApA
QCAtMSwzNCArMCwwIEBACi0vKioKLSogXGJyaWVmIFRlc3RpbmcgZG9jdW1lbnRhdGlvbiBmZWF0
dXJlcwotKgotKiBUaGlzIGlzIGEKLSogc2luZ2xlIHBhcmFncmFwaAotKgotKiA8cD5UaGlzIGlz
IHZhbGlkLjwvcD4KLSogPHA+VGhpcyBpcyA8ZW0+dmFsaWQ8L2VtPi48L3A+Ci0qIDxwPlRoaXMg
aXMgPGI+dmFsaWQ8L2I+LjwvcD4KLSogPHA+VGhpcyBpcyA8YSBocmVmPScnPnZhbGlkPC9hPi48
L3A+Ci0qIDx1bD4KLSogPGxpPlRoaXM8L2xpPgotKiA8bGk+aXM8L2xpPgotKiA8bGk+dmFsaWQ8
L2xpPgotKiA8L3VsPgotKiA8ZGw+Ci0qIDxkdD5UaGlzPC9kdD4KLSogPGRkPnZhbGlkPC9kZD4K
LSogPC9kbD4KLSogPHRhYmxlPgotKiA8dHI+Ci0qIDx0ZD50aGlzPC90ZD4KLSogPHRkPmlzPC90
ZD4KLSogPC90cj4KLSogPHRyPgotKiA8dGQ+dmFsaWQ8L3RkPgotKiA8L3RyPgotKiA8L3RhYmxl
PgotKiA8cD5UaGlzIGlzIDxicj4gdmFsaWQuPC9wPgotKiA8cD5UaGlzIGlzIDxiciAvPiB2YWxp
ZC48L3A+Ci0qIDxwPlRoaXMgaXMgPGJyLz4gdmFsaWQuPC9wPgotKiA8cD48aW1nIHNyYz0iZm9v
LnBuZyIgYWx0PSJWYWxpZCIvPjwvcD4KLSovCi1pbnRlcmZhY2UgRG9jdW1lbnRhdGlvbiB7fTsK
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHBy
b2MvdGVzdC92YWxpZC9pZGwvZW51bS53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFs
aWQvaWRsL2VudW0ud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODUxZmNhMmU2
ZjYxMzEzYjRjZTI4NWU2OWQ3NzNmMDJjMzI2NGQ4OS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwv
ZW51bS53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsOCArMCwwIEBACi1lbnVtIE1lYWxUeXBlIHsg
InJpY2UiLCAibm9vZGxlcyIsICJvdGhlciIgfTsKLQotaW50ZXJmYWNlIE1lYWwgewotICBhdHRy
aWJ1dGUgTWVhbFR5cGUgdHlwZTsKLSAgYXR0cmlidXRlIGZsb2F0IHNpemU7ICAgICAvLyBpbiBn
cmFtcwotCi0gIHZvaWQgaW5pdGlhbGl6ZShNZWFsVHlwZSB0eXBlLCBmbG9hdCBzaXplKTsKLX07
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxw
cm9jL3Rlc3QvdmFsaWQvaWRsL2VxdWl2YWxlbnQtZGVjbC53aWRsIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxw
cm9jL3Rlc3QvdmFsaWQvaWRsL2VxdWl2YWxlbnQtZGVjbC53aWRsCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCA2YjNlMGVkYTI4NGFkNzFmN2IzYWQ2MjIxYTE1MjE0ZDRmYzBmYzIzLi4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93
aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9lcXVpdmFsZW50LWRlY2wud2lkbAorKysgL2Rldi9udWxs
CkBAIC0xLDE4ICswLDAgQEAKLS8vIEV4dHJhY3RlZCBmcm9tIGh0dHA6Ly9kZXYudzMub3JnLzIw
MDYvd2ViYXBpL1dlYklETC8gb24gMjAxMS0wNS0wNgotaW50ZXJmYWNlIERpY3Rpb25hcnkgewot
ICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBwcm9wZXJ0eUNvdW50OwotCi0gIGdl
dHRlciBmbG9hdCBnZXRQcm9wZXJ0eShET01TdHJpbmcgcHJvcGVydHlOYW1lKTsKLSAgc2V0dGVy
IHZvaWQgc2V0UHJvcGVydHkoRE9NU3RyaW5nIHByb3BlcnR5TmFtZSwgZmxvYXQgcHJvcGVydHlW
YWx1ZSk7Ci19OwotCi0KLWludGVyZmFjZSBEaWN0aW9uYXJ5IHsKLSAgcmVhZG9ubHkgYXR0cmli
dXRlIHVuc2lnbmVkIGxvbmcgcHJvcGVydHlDb3VudDsKLQotICBmbG9hdCBnZXRQcm9wZXJ0eShE
T01TdHJpbmcgcHJvcGVydHlOYW1lKTsKLSAgdm9pZCBzZXRQcm9wZXJ0eShET01TdHJpbmcgcHJv
cGVydHlOYW1lLCBmbG9hdCBwcm9wZXJ0eVZhbHVlKTsKLQotICBnZXR0ZXIgZmxvYXQgKERPTVN0
cmluZyBwcm9wZXJ0eU5hbWUpOwotICBzZXR0ZXIgdm9pZCAoRE9NU3RyaW5nIHByb3BlcnR5TmFt
ZSwgZmxvYXQgcHJvcGVydHlWYWx1ZSk7Ci19OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9leGNlcHRpb24t
aW5oZXJpdGFuY2Uud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9leGNl
cHRpb24taW5oZXJpdGFuY2Uud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjU4
ZmRlYmE2ZjQzZDM2YTJhOGQ3OTI3YjY5NWQ1M2E1Y2M1ZDJlMy4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxp
ZC9pZGwvZXhjZXB0aW9uLWluaGVyaXRhbmNlLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSw3ICsw
LDAgQEAKLS8vIGZyb20gaHR0cDovL2xpc3RzLnczLm9yZy9BcmNoaXZlcy9QdWJsaWMvcHVibGlj
LXNjcmlwdC1jb29yZC8yMDEwT2N0RGVjLzAxMTIuaHRtbAotICBleGNlcHRpb24gRE9NRXhjZXB0
aW9uIHsKLSAgICB1bnNpZ25lZCBzaG9ydCBjb2RlOwotICB9OwotCi0gIGV4Y2VwdGlvbiBIaWVy
YXJjaHlSZXF1ZXN0RXJyb3IgOiBET01FeGNlcHRpb24geyB9OwotICBleGNlcHRpb24gTm9Nb2Rp
ZmljYXRpb25BbGxvd2VkRXJyb3IgOiBET01FeGNlcHRpb24geyB9OwpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lk
bC9leGNlcHRpb24ud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9leGNl
cHRpb24ud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjRiNmFlMjllMTBkZGIx
OGZmYTVmYzJiNjIwMWY5MjNjYjFhZDUwZC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvZXhjZXB0
aW9uLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSw4ICswLDAgQEAKLS8vIEV4dHJhY3RlZCBmcm9t
IGh0dHA6Ly9kZXYudzMub3JnLzIwMDYvd2ViYXBpL1dlYklETC8gb24gMjAxMS0wNS0wNgotaW50
ZXJmYWNlIERhaHV0IHsKLSAgYXR0cmlidXRlIERPTVN0cmluZyB0eXBlOwotfTsKLQotZXhjZXB0
aW9uIFNvbWVFeGNlcHRpb24gewotfTsKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9j
L3Rlc3QvdmFsaWQvaWRsL2dldHRlci1zZXR0ZXIud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90
ZXN0L3ZhbGlkL2lkbC9nZXR0ZXItc2V0dGVyLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IGJkZjg3ZTFjN2M3MmYyOWM3MjUzMmIxYmIzYjYwMDM1OTljNjAxODcuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9j
L3Rlc3QvdmFsaWQvaWRsL2dldHRlci1zZXR0ZXIud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDcg
KzAsMCBAQAotLy8gRXh0cmFjdGVkIGZyb20gaHR0cDovL2Rldi53My5vcmcvMjAwNi93ZWJhcGkv
V2ViSURMLyBvbiAyMDExLTA1LTA2Ci1pbnRlcmZhY2UgRGljdGlvbmFyeSB7Ci0gIHJlYWRvbmx5
IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIHByb3BlcnR5Q291bnQ7Ci0KLSAgZ2V0dGVyIGZsb2F0
IChET01TdHJpbmcgcHJvcGVydHlOYW1lKTsKLSAgc2V0dGVyIHZvaWQgKERPTVN0cmluZyBwcm9w
ZXJ0eU5hbWUsIGZsb2F0IHByb3BlcnR5VmFsdWUpOwotfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvaWRl
bnRpZmllci1xdWFsaWZpZWQtbmFtZXMud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3Zh
bGlkL2lkbC9pZGVudGlmaWVyLXF1YWxpZmllZC1uYW1lcy53aWRsCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAzMzg5M2Q0YzY0NDk4MjQwYjVjYjg0ZjE5MDgxZGJkNmY5MGUwZDJhLi4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93
aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9pZGVudGlmaWVyLXF1YWxpZmllZC1uYW1lcy53aWRsCisr
KyAvZGV2L251bGwKQEAgLTEsNDQgKzAsMCBAQAotLy8gRXh0cmFjdGVkIGZyb20gaHR0cDovL2Rl
di53My5vcmcvMjAwNi93ZWJhcGkvV2ViSURMLyBvbiAyMDExLTA1LTA2Ci0gIC8vIFR5cGVkZWYg
aWRlbnRpZmllcjogIm51bWJlciIKLSAgLy8gUXVhbGlmaWVkIG5hbWU6ICAgICI6OmZyYW1ld29y
azo6bnVtYmVyIgotICB0eXBlZGVmIGZsb2F0IG51bWJlcjsKLQotICAvLyBFeGNlcHRpb24gaWRl
bnRpZmllcjogIkZyYW1ld29ya0V4Y2VwdGlvbiIKLSAgLy8gUXVhbGlmaWVkIG5hbWU6ICAgICAg
ICI6OmZyYW1ld29yazo6RnJhbWV3b3JrRXhjZXB0aW9uIgotICBleGNlcHRpb24gRnJhbWV3b3Jr
RXhjZXB0aW9uIHsKLQotICAgIC8vIENvbnN0YW50IGlkZW50aWZpZXI6ICJFUlJfTk9UX0ZPVU5E
IgotICAgIC8vIFF1YWxpZmllZCBuYW1lOiAgICAgICI6OmZyYW1ld29yazo6RnJhbWV3b3JrRXhj
ZXB0aW9uOjpFUlJfTk9UX0ZPVU5EIgotICAgIGNvbnN0IGxvbmcgRVJSX05PVF9GT1VORCA9IDE7
Ci0KLSAgICAvLyBFeGNlcHRpb24gZmllbGQgaWRlbnRpZmllcjogImNvZGUiCi0gICAgbG9uZyBj
b2RlOwotICB9OwotCi0gIC8vIEludGVyZmFjZSBpZGVudGlmaWVyOiAiU3lzdGVtIgotICAvLyBR
dWFsaWZpZWQgbmFtZTogICAgICAgIjo6ZnJhbWV3b3JrOjpTeXN0ZW0iCi0gIGludGVyZmFjZSBT
eXN0ZW0gewotCi0gICAgLy8gT3BlcmF0aW9uIGlkZW50aWZpZXI6ICAgICAgICAgICJjcmVhdGVP
YmplY3QiCi0gICAgLy8gT3BlcmF0aW9uIGFyZ3VtZW50IGlkZW50aWZpZXI6ICJpbnRlcmZhY2Ui
Ci0gICAgb2JqZWN0IGNyZWF0ZU9iamVjdChET01TdHJpbmcgX2ludGVyZmFjZSk7Ci0KLSAgICAv
LyBPcGVyYXRpb24gaGFzIG5vIGlkZW50aWZpZXI7IGl0IGRlY2xhcmVzIGEgZ2V0dGVyLgotICAg
IGdldHRlciBET01TdHJpbmcgKERPTVN0cmluZyBrZXlOYW1lKTsKLSAgfTsKLQotICAgIAotICAg
IC8vIEludGVyZmFjZSBpZGVudGlmaWVyOiAiVGV4dEZpZWxkIgotICAgIC8vIFF1YWxpZmllZCBu
YW1lOiAgICAgICAiOjpmcmFtZXdvcms6Omd1aTo6VGV4dEZpZWxkIgotICAgIGludGVyZmFjZSBU
ZXh0RmllbGQgewotCi0gICAgICAvLyBBdHRyaWJ1dGUgaWRlbnRpZmllcjogImNvbnN0IgotICAg
ICAgYXR0cmlidXRlIGJvb2xlYW4gX2NvbnN0OwotCi0gICAgICAvLyBBdHRyaWJ1dGUgaWRlbnRp
ZmllcjogInZhbHVlIgotICAgICAgYXR0cmlidXRlIERPTVN0cmluZz8gX3ZhbHVlOwotICAgIH07
Ci0KLWludGVyZmFjZSBGb28gewotIHZvaWQgb3Aob2JqZWN0IGludGVyZmFjZSk7Ci19OwpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90
ZXN0L3ZhbGlkL2lkbC9pbXBsZW1lbnRzLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92
YWxpZC9pZGwvaW1wbGVtZW50cy53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3
YTMxMDkyNmYxYzhkNDQxZDc1OGFmMDZhODFlMGRhZmEwMWJmNTkyLi4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3Zh
bGlkL2lkbC9pbXBsZW1lbnRzLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSwxNCArMCwwIEBACi0v
LyBFeHRyYWN0ZWQgZnJvbSBodHRwOi8vZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJJREwvIG9u
IDIwMTEtMDUtMDYKLSAgaW50ZXJmYWNlIE5vZGUgewotICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1
bnNpZ25lZCBzaG9ydCBub2RlVHlwZTsKLSAgICAvLyAuLi4KLSAgfTsKLQotICBpbnRlcmZhY2Ug
RXZlbnRUYXJnZXQgewotICAgIHZvaWQgYWRkRXZlbnRMaXN0ZW5lcihET01TdHJpbmcgdHlwZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgRXZlbnRMaXN0ZW5lciBsaXN0ZW5lciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgYm9vbGVhbiB1c2VDYXB0dXJlKTsKLSAgICAvLyAuLi4KLSAg
fTsKLQotICBOb2RlIGltcGxlbWVudHMgRXZlbnRUYXJnZXQ7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvaW5kZXhlZC1wcm9wZXJ0aWVzLndpZGwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvaW5kZXhlZC1wcm9wZXJ0aWVzLndpZGwKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGFjZjBlZDNiZjg0OWYwNmIyZmMxZDM3NWNiM2E4
MjQ4OGIzYmQwNTAuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL2luZGV4ZWQtcHJvcGVydGllcy53
aWRsCisrKyAvZGV2L251bGwKQEAgLTEsMTIgKzAsMCBAQAotLy8gRXh0cmFjdGVkIGZyb20gaHR0
cDovL2Rldi53My5vcmcvMjAwNi93ZWJhcGkvV2ViSURMLyBvbiAyMDExLTA1LTA2Ci1pbnRlcmZh
Y2UgT3JkZXJlZE1hcCB7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIHNpemU7
Ci0KLSAgZ2V0dGVyIGFueSBnZXRCeUluZGV4KHVuc2lnbmVkIGxvbmcgaW5kZXgpOwotICBzZXR0
ZXIgdm9pZCBzZXRCeUluZGV4KHVuc2lnbmVkIGxvbmcgaW5kZXgsIGFueSB2YWx1ZSk7Ci0gIGRl
bGV0ZXIgdm9pZCByZW1vdmVCeUluZGV4KHVuc2lnbmVkIGxvbmcgaW5kZXgpOwotCi0gIGdldHRl
ciBhbnkgZ2V0KERPTVN0cmluZyBuYW1lKTsKLSAgc2V0dGVyIGNyZWF0b3Igdm9pZCBzZXQoRE9N
U3RyaW5nIG5hbWUsIGFueSB2YWx1ZSk7Ci0gIGRlbGV0ZXIgdm9pZCByZW1vdmUoRE9NU3RyaW5n
IG5hbWUpOwotfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvaW5oZXJpdHMtZ2V0dGVyLndpZGwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvaW5oZXJpdHMtZ2V0dGVyLndpZGwKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDU1OGU4MTE2NDk0YjJiM2I1Y2YwYWI1YmM0ZjNjOWYz
ODRhYTkwNmIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL2luaGVyaXRzLWdldHRlci53aWRsCisr
KyAvZGV2L251bGwKQEAgLTEsMTYgKzAsMCBAQAotaW50ZXJmYWNlIEFuaW1hbCB7Ci0KLSAgLy8g
QSBzaW1wbGUgYXR0cmlidXRlIHRoYXQgY2FuIGJlIHNldCB0byBhbnkgc3RyaW5nIHZhbHVlLgot
ICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIG5hbWU7Ci19OwotCi1pbnRlcmZhY2UgUGVy
c29uIDogQW5pbWFsIHsKLQotICAvLyBBbiBhdHRyaWJ1dGUgd2hvc2UgdmFsdWUgY2Fubm90IGJl
IGFzc2lnbmVkIHRvLgotICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgc2hvcnQgYWdlOwot
Ci0gIC8vIEFuIGF0dHJpYnV0ZSB0aGF0IGNhbiByYWlzZSBhbiBleGNlcHRpb24gaWYgaXQgaXMg
c2V0IHRvIGFuIGludmFsaWQgdmFsdWUuCi0gIC8vIEl0cyBnZXR0ZXIgYmVoYXZpb3IgaXMgaW5o
ZXJpdGVkIGZyb20gQW5pbWFsLCBhbmQgbmVlZCBub3QgYmUgc3BlY2lmaWVkCi0gIC8vIHRoZSBk
ZXNjcmlwdGlvbiBvZiBQZXJzb24uCi0gIGluaGVyaXQgYXR0cmlidXRlIERPTVN0cmluZyBuYW1l
OwotfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
d2lkbHByb2MvdGVzdC92YWxpZC9pZGwvaW50ZXJmYWNlLWluaGVyaXRzLndpZGwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvaW50ZXJmYWNlLWluaGVyaXRzLndpZGwKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDc5MjFkZWY3NzI3OWY3MDQxMGMyMjFiNGVkMWYyMjVj
NmIwOTQyNzYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL2ludGVyZmFjZS1pbmhlcml0cy53aWRs
CisrKyAvZGV2L251bGwKQEAgLTEsMTIgKzAsMCBAQAotLy8gRXh0cmFjdGVkIGZyb20gaHR0cDov
L2Rldi53My5vcmcvMjAwNi93ZWJhcGkvV2ViSURMLyBvbiAyMDExLTA1LTA2Ci1pbnRlcmZhY2Ug
QW5pbWFsIHsKLSAgYXR0cmlidXRlIERPTVN0cmluZyBuYW1lOwotfTsKLQotaW50ZXJmYWNlIEh1
bWFuIDogQW5pbWFsIHsKLSAgYXR0cmlidXRlIERvZyBwZXQ7Ci19OwotCi1pbnRlcmZhY2UgRG9n
IDogQW5pbWFsIHsKLSAgYXR0cmlidXRlIEh1bWFuIG93bmVyOwotfTsKXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9p
ZGwvaXRlcmF0b3Iud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9pdGVy
YXRvci53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzYmYxYjM2ZGVjNjc1NjU2
Y2JmZDdlYTQ2MDM2MTdiM2RiOTFiZmM2Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9pdGVyYXRv
ci53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsMzUgKzAsMCBAQAotaW50ZXJmYWNlIFNlc3Npb25N
YW5hZ2VyIHsKLSAgU2Vzc2lvbiBnZXRTZXNzaW9uRm9yVXNlcihET01TdHJpbmcgdXNlcm5hbWUp
OwotICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBzZXNzaW9uQ291bnQ7Ci0KLSAg
U2Vzc2lvbiBpdGVyYXRvcjsKLX07Ci0KLWludGVyZmFjZSBTZXNzaW9uIHsKLSAgcmVhZG9ubHkg
YXR0cmlidXRlIERPTVN0cmluZyB1c2VybmFtZTsKLSAgLy8gLi4uCi19OwotCi1pbnRlcmZhY2Ug
U2Vzc2lvbk1hbmFnZXIyIHsKLSAgU2Vzc2lvbjIgZ2V0U2Vzc2lvbkZvclVzZXIoRE9NU3RyaW5n
IHVzZXJuYW1lKTsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgc2Vzc2lvbkNv
dW50OwotCi0gIFNlc3Npb24yIGl0ZXJhdG9yID0gU2Vzc2lvbkl0ZXJhdG9yOwotfTsKLQotaW50
ZXJmYWNlIFNlc3Npb24yIHsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyB1c2VybmFt
ZTsKLSAgLy8gLi4uCi19OwotCi1pbnRlcmZhY2UgU2Vzc2lvbkl0ZXJhdG9yIHsKLSAgcmVhZG9u
bHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgcmVtYWluaW5nU2Vzc2lvbnM7Ci19OwotCi0gICAg
IGludGVyZmFjZSBOb2RlTGlzdCB7Ci0gICAgICAgTm9kZSBpdGVyYXRvciA9IE5vZGVJdGVyYXRv
cjsKLSAgICAgfTsKLQotICAgICBpbnRlcmZhY2UgTm9kZUl0ZXJhdG9yIHsKLSAgICAgICBOb2Rl
IGl0ZXJhdG9yIG9iamVjdDsKLSAgICAgfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvbmFtZWRjb25zdHJ1
Y3Rvci53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL25hbWVkY29uc3Ry
dWN0b3Iud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzQ2OGI3OGY4ZTE4MTQy
MzMyNzIyNzM5Y2ZiNGM1NGZmYzdlNDUyMi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvbmFtZWRj
b25zdHJ1Y3Rvci53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsNiArMCwwIEBACi0vLyBFeHRyYWN0
ZWQgZnJvbSBodHRwOi8vZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJJREwvIG9uIDIwMTEtMDUt
MDYKLVtOYW1lZENvbnN0cnVjdG9yPUF1ZGlvLAotIE5hbWVkQ29uc3RydWN0b3I9QXVkaW8oRE9N
U3RyaW5nIHNyYyldCi1pbnRlcmZhY2UgSFRNTEF1ZGlvRWxlbWVudCA6IEhUTUxNZWRpYUVsZW1l
bnQgewotICAvLyAuLi4KLX07ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL25vaW50ZXJmYWNlb2JqZWN0Lndp
ZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvbm9pbnRlcmZhY2VvYmplY3Qu
d2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzE3ZDc1ZmY4ZmQzNzMyY2RjYmU4
MTVmNjhhN2E4M2FlZmVkNWMxOC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvbm9pbnRlcmZhY2Vv
YmplY3Qud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDUgKzAsMCBAQAotLy8gRXh0cmFjdGVkIGZy
b20gaHR0cDovL2Rldi53My5vcmcvMjAwNi93ZWJhcGkvV2ViSURMLyBvbiAyMDExLTA1LTA2Ci1b
Tm9JbnRlcmZhY2VPYmplY3RdCi1pbnRlcmZhY2UgUXVlcnkgewotICBhbnkgbG9va3VwRW50cnko
dW5zaWduZWQgbG9uZyBrZXkpOwotfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvbnVsbGFibGUud2lkbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9udWxsYWJsZS53aWRsCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjY2JmNjI1ZmY4YWVhMTJiNWJlNWIxMjA2MDk5YzliMDdj
NmNjZGJkLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9udWxsYWJsZS53aWRsCisrKyAvZGV2L251
bGwKQEAgLTEsOSArMCwwIEBACi0vLyBFeHRyYWN0ZWQgZnJvbSBodHRwOi8vZGV2LnczLm9yZy8y
MDA2L3dlYmFwaS9XZWJJREwvIG9uIDIwMTEtMDUtMDYKLWludGVyZmFjZSBNeUNvbnN0YW50cyB7
Ci0gIGNvbnN0IGJvb2xlYW4/IEFSRV9XRV9USEVSRV9ZRVQgPSBmYWxzZTsKLX07Ci0KLWludGVy
ZmFjZSBOb2RlIHsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZz8gbmFtZXNwYWNlVVJJ
OwotICAvLyAuLi4KLX07ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL251bGxhYmxlb2JqZWN0cy53aWRsIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL251bGxhYmxlb2JqZWN0cy53aWRsCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4M2QxZDQwYjJhY2ZhM2EzNmVkOGI1MDNkZjQy
MDUwMzM4Y2RhYmI2Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9udWxsYWJsZW9iamVjdHMud2lk
bAorKysgL2Rldi9udWxsCkBAIC0xLDEzICswLDAgQEAKLS8vIEV4dHJhY3RlZCBmcm9tIFdlYklE
TCBzcGVjIDIwMTEtMDUtMjMKLQotaW50ZXJmYWNlIEEgewotICAvLyAuLi4KLX07Ci1pbnRlcmZh
Y2UgQiB7Ci0gIC8vIC4uLgotfTsKLWludGVyZmFjZSBDIHsKLSAgdm9pZCBmKEE/IHgpOwotICB2
b2lkIGYoQj8geCk7Ci0KLX07ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL29wZXJhdGlvbi1vcHRpb25hbC1h
cmcud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9vcGVyYXRpb24tb3B0
aW9uYWwtYXJnLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDM3OTA1M2I0NWYx
NGExNWRlOGJlOWI1ZDEwOTAxYjQ1OTZjODcwZmEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL29w
ZXJhdGlvbi1vcHRpb25hbC1hcmcud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDQgKzAsMCBAQAot
Ly8gRXh0cmFjdGVkIGZyb20gaHR0cDovL2Rldi53My5vcmcvMjAwNi93ZWJhcGkvV2ViSURMLyBv
biAyMDExLTA1LTA2Ci1pbnRlcmZhY2UgQ29sb3JDcmVhdG9yIHsKLSAgb2JqZWN0IGNyZWF0ZUNv
bG9yKGZsb2F0IHYxLCBmbG9hdCB2MiwgZmxvYXQgdjMsIG9wdGlvbmFsIGZsb2F0IGFscGhhID0g
My41KTsKLX07ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL292ZXJsb2FkaW5nLndpZGwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
d2lkbHByb2MvdGVzdC92YWxpZC9pZGwvb3ZlcmxvYWRpbmcud2lkbApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggZWYxMjg4YTg4Nzc2M2RkNzg5NDdkZTZiODc4NmMwMDUzOTQ3NGU5Ny4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
d2lkbHByb2MvdGVzdC92YWxpZC9pZGwvb3ZlcmxvYWRpbmcud2lkbAorKysgL2Rldi9udWxsCkBA
IC0xLDIwICswLDAgQEAKLS8vIEV4dHJhY3RlZCBmcm9tIGh0dHA6Ly9kZXYudzMub3JnLzIwMDYv
d2ViYXBpL1dlYklETC8gb24gMjAxMS0wNS0wNgotaW50ZXJmYWNlIEEgewotICAvLyAuLi4KLX07
Ci0KLWludGVyZmFjZSBCIHsKLSAgLy8gLi4uCi19OwotCi1pbnRlcmZhY2UgQyB7Ci0gIHZvaWQg
ZihBIHgpOwotICB2b2lkIGYoQiB4KTsKLX07Ci0KLWludGVyZmFjZSBBIHsKLSAgLyogZjEgKi8g
dm9pZCBmKERPTVN0cmluZyBhKTsKLSAgLyogZjIgKi8gdm9pZCBmKFtBbGxvd0FueV0gRE9NU3Ry
aW5nIGEsIERPTVN0cmluZyBiLCBmbG9hdC4uLiBjKTsKLSAgLyogZjMgKi8gdm9pZCBmKCk7Ci0g
IC8qIGY0ICovIHZvaWQgZihsb25nIGEsIERPTVN0cmluZyBiLCBvcHRpb25hbCBET01TdHJpbmcg
YywgZmxvYXQuLi4gZCk7Ci19OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9vdmVycmlkZWJ1aWx0aW5zLndp
ZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvb3ZlcnJpZGVidWlsdGlucy53
aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3OTIxMWMyOWU4NDM2ZDAxYzUxZWVh
MWE5ZDM5MDJlMGU2Y2MxOTE2Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9vdmVycmlkZWJ1aWx0
aW5zLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSw2ICswLDAgQEAKLS8vIEV4dHJhY3RlZCBmcm9t
IGh0dHA6Ly9kZXYudzMub3JnLzIwMDYvd2ViYXBpL1dlYklETC8gb24gMjAxMS0wNS0wNgotW092
ZXJyaWRlQnVpbHRpbnNdCi1pbnRlcmZhY2UgU3RyaW5nTWFwMiB7Ci0gIHJlYWRvbmx5IGF0dHJp
YnV0ZSB1bnNpZ25lZCBsb25nIGxlbmd0aDsKLSAgZ2V0dGVyIERPTVN0cmluZyBsb29rdXAoRE9N
U3RyaW5nIGtleSk7Ci19OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9wYXJ0aWFsLWludGVyZmFjZS53aWRs
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3BhcnRpYWwtaW50ZXJmYWNlLndp
ZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDkwZTdlMGVhNDIxYjRmMWI5ZDNlNWE1
OGQyZDE0NzAzOTVhOWYzYTguLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3BhcnRpYWwtaW50ZXJm
YWNlLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSw3ICswLDAgQEAKLWludGVyZmFjZSBGb28gewot
ICBhdHRyaWJ1dGUgRE9NU3RyaW5nIGJhcjsKLX07Ci0KLXBhcnRpYWwgaW50ZXJmYWNlIEZvbyB7
Ci0gIGF0dHJpYnV0ZSBET01TdHJpbmcgcXV1eDsKLX07ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3ByaW1p
dGl2ZXMud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9wcmltaXRpdmVz
LndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDkyOTM5NjAxYTFhODM5Y2Y3YzQ4
YzNlZDc0OGVlYjkzYmZhM2ZlYmMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3ByaW1pdGl2ZXMu
d2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDE5ICswLDAgQEAKLWludGVyZmFjZSBQcmltaXRpdmVz
IHsKLSAgYXR0cmlidXRlIGJvb2xlYW4gdHJ1dGg7Ci0gIGF0dHJpYnV0ZSBieXRlIGNoYXJhY3Rl
cjsKLSAgYXR0cmlidXRlIG9jdGV0IHZhbHVlOwotICBhdHRyaWJ1dGUgc2hvcnQgbnVtYmVyOwot
ICBhdHRyaWJ1dGUgdW5zaWduZWQgc2hvcnQgcG9zaXRpdmU7Ci0gIGF0dHJpYnV0ZSBsb25nIGJp
ZzsKLSAgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgYmlncG9zaXRpdmU7Ci0gIGF0dHJpYnV0ZSBs
b25nIGxvbmcgYmlnYmlnOwotICBhdHRyaWJ1dGUgIHVuc2lnbmVkIGxvbmcgbG9uZyBiaWdiaWdw
b3NpdGl2ZTsKLSAgYXR0cmlidXRlIGZsb2F0IHJlYWw7Ci0gIGF0dHJpYnV0ZSBkb3VibGUgYmln
cmVhbDsgCi0gIGF0dHJpYnV0ZSB1bnJlc3RyaWN0ZWQgZmxvYXQgcmVhbHdpdGhpbmZpbml0eTsK
LSAgYXR0cmlidXRlIHVucmVzdHJpY3RlZCBkb3VibGUgYmlncmVhbHdpdGhpbmZpbml0eTsgCi0g
IGF0dHJpYnV0ZSBET01TdHJpbmcgc3RyaW5nOyAKLSAgYXR0cmlidXRlIEJ5dGVTdHJpbmcgYnl0
ZXM7IAotICBhdHRyaWJ1dGUgRGF0ZSBkYXRlOwotICBhdHRyaWJ1dGUgUmVnRXhwIHJlZ2V4cDsK
LX07ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dp
ZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3Byb3RvdHlwZXJvb3Qud2lkbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRs
cHJvYy90ZXN0L3ZhbGlkL2lkbC9wcm90b3R5cGVyb290LndpZGwKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDMwZGQ1Y2JjYTEzYmUwMGVhZWYxZTUzYzZiNjNlNzlmNGM4YTU2NGEuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dp
ZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3Byb3RvdHlwZXJvb3Qud2lkbAorKysgL2Rldi9udWxsCkBA
IC0xLDUgKzAsMCBAQAotLy8gRXh0cmFjdGVkIGZyb20gaHR0cDovL2Rldi53My5vcmcvMjAwNi93
ZWJhcGkvV2ViSURMLyBvbiAyMDExLTA1LTA2Ci1bUHJvdG90eXBlUm9vdF0KLWludGVyZmFjZSBO
b2RlIHsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIHNob3J0IG5vZGVUeXBlOwotfTsK
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHBy
b2MvdGVzdC92YWxpZC9pZGwvcHV0Zm9yd2FyZHMud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90
ZXN0L3ZhbGlkL2lkbC9wdXRmb3J3YXJkcy53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAxZTUwYTRlZTM5NGY1ZGU2YWVkYjI5Y2Q0ZmY5MThmMzM4MmIwNGRkLi4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90
ZXN0L3ZhbGlkL2lkbC9wdXRmb3J3YXJkcy53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsNSArMCww
IEBACi0vLyBFeHRyYWN0ZWQgZnJvbSBodHRwOi8vZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJJ
REwvIG9uIDIwMTEtMDUtMDYKLWludGVyZmFjZSBQZXJzb24gewotICBbUHV0Rm9yd2FyZHM9ZnVs
bF0gcmVhZG9ubHkgYXR0cmlidXRlIE5hbWUgbmFtZTsKLSAgYXR0cmlidXRlIHVuc2lnbmVkIHNo
b3J0IGFnZTsKLX07ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3JlZy1vcGVyYXRpb25zLndpZGwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvcmVnLW9wZXJhdGlvbnMud2lkbApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTM5OTdjYjFkMTIxY2UxMDZmNDljZmRjZGViOTc4OTA3
NDcwNDg0Mi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvcmVnLW9wZXJhdGlvbnMud2lkbAorKysg
L2Rldi9udWxsCkBAIC0xLDE3ICswLDAgQEAKLS8vIEV4dHJhY3RlZCBmcm9tIGh0dHA6Ly9kZXYu
dzMub3JnLzIwMDYvd2ViYXBpL1dlYklETC8gb24gMjAxMS0wNS0wNgotaW50ZXJmYWNlIERpbWVu
c2lvbnMgewotICBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyB3aWR0aDsKLSAgYXR0cmlidXRlIHVu
c2lnbmVkIGxvbmcgaGVpZ2h0OwotfTsKLQotZXhjZXB0aW9uIE5vUG9pbnRlckRldmljZSB7IH07
Ci0KLWludGVyZmFjZSBCdXR0b24gewotCi0gIC8vIEFuIG9wZXJhdGlvbiB0aGF0IHRha2VzIG5v
IGFyZ3VtZW50cywgcmV0dXJucyBhIGJvb2xlYW4KLSAgYm9vbGVhbiBpc01vdXNlT3ZlcigpOwot
Ci0gIC8vIE92ZXJsb2FkZWQgb3BlcmF0aW9ucy4KLSAgdm9pZCBzZXREaW1lbnNpb25zKERpbWVu
c2lvbnMgc2l6ZSk7Ci0gIHZvaWQgc2V0RGltZW5zaW9ucyh1bnNpZ25lZCBsb25nIHdpZHRoLCB1
bnNpZ25lZCBsb25nIGhlaWdodCk7Ci19OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9yZXBsYWNlYWJsZS53
aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3JlcGxhY2VhYmxlLndpZGwK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGMxNGQwYzM3Njg5MDQ3NGE5ODIzMThhNjAx
YzUxMDU0NTlmN2NmMmUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3JlcGxhY2VhYmxlLndpZGwK
KysrIC9kZXYvbnVsbApAQCAtMSw1ICswLDAgQEAKLS8vIEV4dHJhY3RlZCBmcm9tIGh0dHA6Ly9k
ZXYudzMub3JnLzIwMDYvd2ViYXBpL1dlYklETC8gb24gMjAxMS0wNS0wNgotaW50ZXJmYWNlIENv
dW50ZXIgewotICBbUmVwbGFjZWFibGVdIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25n
IHZhbHVlOwotICB2b2lkIGluY3JlbWVudCgpOwotfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvc2VxdWVu
Y2Uud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9zZXF1ZW5jZS53aWRs
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhMWFhOTMxZjVmMDBhMTg5OTMwMzFkOTVk
NWQyZDgxMDkxMDFhMDM3Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9zZXF1ZW5jZS53aWRsCisr
KyAvZGV2L251bGwKQEAgLTEsNyArMCwwIEBACi0vLyBFeHRyYWN0ZWQgZnJvbSBodHRwOi8vZGV2
LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJJREwvIG9uIDIwMTEtMDUtMDYKLS8vIGVkaXRlZCB0byBy
ZW1vdmUgc2VxdWVuY2UgYXMgYXR0cmlidXRlcywgbm93IGludmFsaWQKLWludGVyZmFjZSBDYW52
YXMgewotICB2b2lkIGRyYXdQb2x5Z29uKHNlcXVlbmNlPGZsb2F0PiBjb29yZGluYXRlcyk7Ci0g
IHNlcXVlbmNlPGZsb2F0PiBnZXRJbmZsZWN0aW9uUG9pbnRzKCk7Ci0gIC8vIC4uLgotfTsKXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mv
dGVzdC92YWxpZC9pZGwvc2VyaWFsaXplci53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3Qv
dmFsaWQvaWRsL3NlcmlhbGl6ZXIud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
NmY2Y2NkMGU4ZDU5ZTNlMDU3ZjVhZDBkMmY2NTUzMGIxNmEzOTM1OS4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92
YWxpZC9pZGwvc2VyaWFsaXplci53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsNjQgKzAsMCBAQAot
aW50ZXJmYWNlIFRyYW5zYWN0aW9uIHsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIEFjY291bnQgZnJv
bTsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIEFjY291bnQgdG87Ci0gIHJlYWRvbmx5IGF0dHJpYnV0
ZSBmbG9hdCBhbW91bnQ7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgZGVzY3JpcHRp
b247Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIG51bWJlcjsKLQotICBzZXJp
YWxpemVyOwotfTsKLQotaW50ZXJmYWNlIEFjY291bnQgewotICBhdHRyaWJ1dGUgRE9NU3RyaW5n
IG5hbWU7Ci0gIGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIG51bWJlcjsKLSAgc2VyaWFsaXplciBE
T01TdHJpbmcgc2VyaWFsaXplKCk7Ci19OwotCi1pbnRlcmZhY2UgVHJhbnNhY3Rpb24yIHsKLSAg
cmVhZG9ubHkgYXR0cmlidXRlIEFjY291bnQyIGZyb207Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSBB
Y2NvdW50MiB0bzsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIGZsb2F0IGFtb3VudDsKLSAgcmVhZG9u
bHkgYXR0cmlidXRlIERPTVN0cmluZyBkZXNjcmlwdGlvbjsKLSAgcmVhZG9ubHkgYXR0cmlidXRl
IHVuc2lnbmVkIGxvbmcgbnVtYmVyOwotCi0gIHNlcmlhbGl6ZXIgPSB7IGZyb20sIHRvLCBhbW91
bnQsIGRlc2NyaXB0aW9uIH07Ci19OwotCi1pbnRlcmZhY2UgQWNjb3VudDIgewotICBhdHRyaWJ1
dGUgRE9NU3RyaW5nIG5hbWU7Ci0gIGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIG51bWJlcjsKLSAg
c2VyaWFsaXplciA9IG51bWJlcjsKLX07Ci0KLWludGVyZmFjZSBBY2NvdW50MyB7Ci0gIGF0dHJp
YnV0ZSBET01TdHJpbmcgbmFtZTsKLSAgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbnVtYmVyOwot
Ci0gIHNlcmlhbGl6ZXIgPSB7IGF0dHJpYnV0ZSB9OwotfTsKLQotaW50ZXJmYWNlIEFjY291bnQ0
IHsKLSAgZ2V0dGVyIG9iamVjdCBnZXRJdGVtKHVuc2lnbmVkIGxvbmcgaW5kZXgpOwotICBzZXJp
YWxpemVyID0geyBnZXR0ZXIgfTsKLX07Ci0KLWludGVyZmFjZSBBY2NvdW50NSA6IEFjY291bnQg
ewotICBhdHRyaWJ1dGUgRE9NU3RyaW5nIHNlY29uZG5hbWU7Ci0gIHNlcmlhbGl6ZXIgPSB7IGlu
aGVyaXQsIHNlY29uZG5hbWUgfTsKLX07Ci0KLWludGVyZmFjZSBBY2NvdW50NiA6IEFjY291bnQg
ewotICBhdHRyaWJ1dGUgRE9NU3RyaW5nIHNlY29uZG5hbWU7Ci0gIHNlcmlhbGl6ZXIgPSB7IGlu
aGVyaXQsIGF0dHJpYnV0ZSB9OwotfTsKLQotaW50ZXJmYWNlIEFjY291bnQ3IHsKLSAgYXR0cmli
dXRlIERPTVN0cmluZyBuYW1lOwotICBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBudW1iZXI7Ci0g
IHNlcmlhbGl6ZXIgPSBbIG5hbWUsIG51bWJlciBdOwotfTsKLQotaW50ZXJmYWNlIEFjY291bnQ4
IHsKLSAgZ2V0dGVyIG9iamVjdCBnZXRJdGVtKHVuc2lnbmVkIGxvbmcgaW5kZXgpOwotICBzZXJp
YWxpemVyID0gWyBnZXR0ZXIgXTsKLX07ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3N0YXRpYy53aWRsIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3N0YXRpYy53aWRsCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCA1YjJjZDM2NTkwZmQ2ZjI1ZWZmOTZkMzUzN2ZiNDhiY2Y3ZTJi
NmEzLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9zdGF0aWMud2lkbAorKysgL2Rldi9udWxsCkBA
IC0xLDExICswLDAgQEAKLS8vIEV4dHJhY3RlZCBmcm9tIGh0dHA6Ly9kZXYudzMub3JnLzIwMDYv
d2ViYXBpL1dlYklETC8gb24gMjAxMS0wNS0wNgotaW50ZXJmYWNlIFBvaW50IHsgLyogLi4uICov
IH07Ci0KLWludGVyZmFjZSBDaXJjbGUgewotICBhdHRyaWJ1dGUgZmxvYXQgY3g7Ci0gIGF0dHJp
YnV0ZSBmbG9hdCBjeTsKLSAgYXR0cmlidXRlIGZsb2F0IHJhZGl1czsKLQotICBzdGF0aWMgcmVh
ZG9ubHkgYXR0cmlidXRlIGxvbmcgdHJpYW5ndWxhdGlvbkNvdW50OwotICBzdGF0aWMgUG9pbnQg
dHJpYW5ndWxhdGUoQ2lyY2xlIGMxLCBDaXJjbGUgYzIsIENpcmNsZSBjMyk7Ci19OwpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0
L3ZhbGlkL2lkbC9zdHJpbmdpZmllci1hdHRyaWJ1dGUud2lkbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJv
Yy90ZXN0L3ZhbGlkL2lkbC9zdHJpbmdpZmllci1hdHRyaWJ1dGUud2lkbApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggYzk2NGVjYjkzZTYwMWY0OTM3NDFiYmVkYWE0N2ZmMjE2MzMwNzMz
NS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvc3RyaW5naWZpZXItYXR0cmlidXRlLndpZGwKKysr
IC9kZXYvbnVsbApAQCAtMSw2ICswLDAgQEAKLS8vIEV4dHJhY3RlZCBmcm9tIGh0dHA6Ly9kZXYu
dzMub3JnLzIwMDYvd2ViYXBpL1dlYklETC8gb24gMjAxMS0wNS0wNgotW0NvbnN0cnVjdG9yXQot
aW50ZXJmYWNlIFN0dWRlbnQgewotICBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBpZDsKLSAgc3Ry
aW5naWZpZXIgYXR0cmlidXRlIERPTVN0cmluZyBuYW1lOwotfTsKXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwv
c3RyaW5naWZpZXItY3VzdG9tLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9p
ZGwvc3RyaW5naWZpZXItY3VzdG9tLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IGI1ZDdjODdlN2Y0NTcyMGYyNDhlOGExMGQ0YjE5NGU3MjIxZmEyZWYuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3Qv
dmFsaWQvaWRsL3N0cmluZ2lmaWVyLWN1c3RvbS53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsOSAr
MCwwIEBACi0vLyBFeHRyYWN0ZWQgZnJvbSBodHRwOi8vZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9X
ZWJJREwvIG9uIDIwMTEtMDUtMDYKLVtDb25zdHJ1Y3Rvcl0KLWludGVyZmFjZSBTdHVkZW50IHsK
LSAgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgaWQ7Ci0gIGF0dHJpYnV0ZSBET01TdHJpbmc/IGZh
bWlseU5hbWU7Ci0gIGF0dHJpYnV0ZSBET01TdHJpbmcgZ2l2ZW5OYW1lOwotCi0gIHN0cmluZ2lm
aWVyIERPTVN0cmluZyAoKTsKLX07ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3N0cmluZ2lmaWVyLndpZGwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvc3RyaW5naWZpZXIud2lkbApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNGViNDgzZDliNTM4NjFhMTA0ZjcxMmQ5NDJhZjNi
MTA1NjYwMjNjNS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvc3RyaW5naWZpZXIud2lkbAorKysg
L2Rldi9udWxsCkBAIC0xLDggKzAsMCBAQAotLy8gRXh0cmFjdGVkIGZyb20gaHR0cDovL2Rldi53
My5vcmcvMjAwNi93ZWJhcGkvV2ViSURMLyBvbiAyMDExLTA1LTA2Ci1pbnRlcmZhY2UgQSB7Ci0g
IHN0cmluZ2lmaWVyIERPTVN0cmluZyAoKTsKLX07Ci0KLWludGVyZmFjZSBBIHsKLSAgc3RyaW5n
aWZpZXI7Ci19OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC90cmVhdGFzbnVsbC53aWRsIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3RyZWF0YXNudWxsLndpZGwKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IGQzYzU1YjAwOGMwZDg2ZjM3ZThlYmYwYTg2Mzc4NjI4Y2JlMDdmZmQu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3RyZWF0YXNudWxsLndpZGwKKysrIC9kZXYvbnVsbApA
QCAtMSw3ICswLDAgQEAKLS8vIEV4dHJhY3RlZCBmcm9tIGh0dHA6Ly9kZXYudzMub3JnLzIwMDYv
d2ViYXBpL1dlYklETC8gb24gMjAxMS0wNS0wNgotaW50ZXJmYWNlIERvZyB7Ci0gIGF0dHJpYnV0
ZSBET01TdHJpbmcgbmFtZTsKLSAgYXR0cmlidXRlIERPTVN0cmluZyBvd25lcjsKLQotICBib29s
ZWFuIGlzTWVtYmVyT2ZCcmVlZChbVHJlYXROdWxsQXM9RW1wdHlTdHJpbmddIERPTVN0cmluZyBi
cmVlZE5hbWUpOwotfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvdHJlYXRhc3VuZGVmaW5lZC53aWRsIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3RyZWF0YXN1bmRlZmluZWQud2lkbApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTMwMDUwZjg0MTM0MDNkMjQ0MGIyNmMzYTAw
ZTNlYzZjNWFhYjc5My4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvdHJlYXRhc3VuZGVmaW5lZC53
aWRsCisrKyAvZGV2L251bGwKQEAgLTEsNyArMCwwIEBACi0vLyBFeHRyYWN0ZWQgZnJvbSBodHRw
Oi8vZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJJREwvIG9uIDIwMTEtMDUtMDYKLWludGVyZmFj
ZSBDYXQgewotICBhdHRyaWJ1dGUgRE9NU3RyaW5nIG5hbWU7Ci0gIGF0dHJpYnV0ZSBET01TdHJp
bmcgb3duZXI7Ci0KLSAgYm9vbGVhbiBpc01lbWJlck9mQnJlZWQoW1RyZWF0VW5kZWZpbmVkQXM9
RW1wdHlTdHJpbmddIERPTVN0cmluZyBicmVlZE5hbWUpOwotfTsKXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwv
dHlwZWRlZi53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3R5cGVkZWYu
d2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjRjMTdkOGQzNmE4OWZiNTBlYzNi
YjYyMzJhMTIzN2ZlODZkZmIwZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvdHlwZWRlZi53aWRs
CisrKyAvZGV2L251bGwKQEAgLTEsMjIgKzAsMCBAQAotLy8gRXh0cmFjdGVkIGZyb20gaHR0cDov
L2Rldi53My5vcmcvMjAwNi93ZWJhcGkvV2ViSURMLyBvbiAyMDExLTA1LTA2Ci0gICAgICBpbnRl
cmZhY2UgUG9pbnQgewotICAgICAgICBhdHRyaWJ1dGUgZmxvYXQgeDsKLSAgICAgICAgYXR0cmli
dXRlIGZsb2F0IHk7Ci0gICAgICB9OwotCi0gICAgICB0eXBlZGVmIHNlcXVlbmNlPFBvaW50PiBQ
b2ludFNlcXVlbmNlOwotCi0gICAgICBpbnRlcmZhY2UgUmVjdCB7Ci0gICAgICAgIGF0dHJpYnV0
ZSBQb2ludCB0b3BsZWZ0OwotICAgICAgICBhdHRyaWJ1dGUgUG9pbnQgYm90dG9tcmlnaHQ7Ci0g
ICAgICB9OwotCi0gIGludGVyZmFjZSBXaWRnZXQgewotCi0gICAgcmVhZG9ubHkgYXR0cmlidXRl
IFJlY3QgYm91bmRzOwotCi0gICAgYm9vbGVhbiBwb2ludFdpdGhpbkJvdW5kcyhQb2ludCBwKTsK
LSAgICBib29sZWFuIGFsbFBvaW50c1dpdGhpbkJvdW5kcyhQb2ludFNlcXVlbmNlIHBzKTsKLSAg
fTsKLQotICB0eXBlZGVmIFtDbGFtcF0gb2N0ZXQgdmFsdWU7ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3R5
cGVzdWZmaXhlcy53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3R5cGVz
dWZmaXhlcy53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5NWUzMWMxNjkwMjM2
Y2U3NzcwM2M5YTNjYTAzZTg4ZTViYTFmYzA2Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC90eXBl
c3VmZml4ZXMud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDMgKzAsMCBAQAotaW50ZXJmYWNlIFN1
ZmZpeGVzIHsKLSAgdm9pZCB0ZXN0KHNlcXVlbmNlPERPTVN0cmluZ1tdPz4/IGZvbyk7Ci19Owpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3VuaW9udHlwZS53
aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3VuaW9udHlwZS53aWRsCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0ZDk5ZjAxOTYzMDhhZWM2ZWY0NjdmMThiMDE3
NmE0NmU5NWEyYzJiLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC91bmlvbnR5cGUud2lkbAorKysg
L2Rldi9udWxsCkBAIC0xLDMgKzAsMCBAQAotaW50ZXJmYWNlIFVuaW9uIHsKLSBhdHRyaWJ1dGUg
KGZsb2F0IG9yIChEYXRlIG9yIEV2ZW50KSBvciAoTm9kZSBvciBET01TdHJpbmcpPykgdGVzdDsK
LX07ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dp
ZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3ZhcmlhZGljLW9wZXJhdGlvbnMud2lkbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC92YXJpYWRpYy1vcGVyYXRpb25zLndpZGwKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDUxZmFlNGNjMWVhMWM0YTMzMzNhZmM3ZDc5MWZlZDA2
NjQxNTAyMzUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3ZhcmlhZGljLW9wZXJhdGlvbnMud2lk
bAorKysgL2Rldi9udWxsCkBAIC0xLDcgKzAsMCBAQAotLy8gRXh0cmFjdGVkIGZyb20gaHR0cDov
L2Rldi53My5vcmcvMjAwNi93ZWJhcGkvV2ViSURMLyBvbiAyMDExLTA1LTA2Ci1pbnRlcmZhY2Ug
SW50ZWdlclNldCB7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGNhcmRpbmFs
aXR5OwotCi0gIHZvaWQgdW5pb24obG9uZy4uLiBpbnRzKTsKLSAgdm9pZCBpbnRlcnNlY3Rpb24o
bG9uZy4uLiBpbnRzKTsKLX07ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3czYy1pbXBvcnQubG9nIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3czYy1pbXBvcnQubG9nCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCA3MjUwOWI5NGQ3ODkxNjY3NjYxYWVmZGJiN2M2MjMxMjhhZWY3
YzllLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC93M2MtaW1wb3J0LmxvZworKysgL2Rldi9udWxs
CkBAIC0xLDY0ICswLDAgQEAKLVRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9y
dGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgotRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBk
aXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhl
IFczQyBDU1Mgb3IgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20vdzNjL2Nzc3dnLXRl
c3QKLQlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cwotCi1UaGVuIHJ1
biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9y
dAotCi1EbyBOT1QgbW9kaWZ5IG9yIHJlbW92ZSB0aGlzIGZpbGUuCi0KLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LQotUHJvcGVydGllcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgotTm9uZQotUHJvcGVydHkg
dmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6Ci1Ob25lCi0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K
LUxpc3Qgb2YgZmlsZXM6Ci0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL2FsbG93
YW55LndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvYXJyYXkud2lkbAot
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9hdHRyaWJ1dGVzLndpZGwKLS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvY2FsbGJhY2sud2lkbAotL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93
aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9jYWxsZXIud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90
ZXN0L3ZhbGlkL2lkbC9jb25zdGFudHMud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3Zh
bGlkL2lkbC9jb25zdHJ1Y3Rvci53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQv
aWRsL2RpY3Rpb25hcnktaW5oZXJpdHMud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3Zh
bGlkL2lkbC9kaWN0aW9uYXJ5LndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9p
ZGwvZG9jdW1lbnRhdGlvbi1kb3Mud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlk
L2lkbC9kb2N1bWVudGF0aW9uLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9p
ZGwvZW51bS53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL2VxdWl2YWxl
bnQtZGVjbC53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL2V4Y2VwdGlv
bi1pbmhlcml0YW5jZS53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL2V4
Y2VwdGlvbi53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL2dldHRlci1z
ZXR0ZXIud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9pZGVudGlmaWVy
LXF1YWxpZmllZC1uYW1lcy53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRs
L2ltcGxlbWVudHMud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9pbmRl
eGVkLXByb3BlcnRpZXMud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9p
bmhlcml0cy1nZXR0ZXIud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9p
bnRlcmZhY2UtaW5oZXJpdHMud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lk
bC9pdGVyYXRvci53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL25hbWVk
Y29uc3RydWN0b3Iud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9ub2lu
dGVyZmFjZW9iamVjdC53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL251
bGxhYmxlLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvbnVsbGFibGVv
YmplY3RzLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvb3BlcmF0aW9u
LW9wdGlvbmFsLWFyZy53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL292
ZXJsb2FkaW5nLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvb3ZlcnJp
ZGVidWlsdGlucy53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3BhcnRp
YWwtaW50ZXJmYWNlLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvcHJp
bWl0aXZlcy53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3Byb3RvdHlw
ZXJvb3Qud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9wdXRmb3J3YXJk
cy53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3JlZy1vcGVyYXRpb25z
LndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvcmVwbGFjZWFibGUud2lk
bAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9zZXF1ZW5jZS53aWRsCi0vTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3NlcmlhbGl6ZXIud2lkbAotL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9zdGF0aWMud2lkbAotL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJv
Yy90ZXN0L3ZhbGlkL2lkbC9zdHJpbmdpZmllci1hdHRyaWJ1dGUud2lkbAotL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93
aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9zdHJpbmdpZmllci1jdXN0b20ud2lkbAotL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9zdHJpbmdpZmllci53aWRsCi0vTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dp
ZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3RyZWF0YXNudWxsLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHBy
b2MvdGVzdC92YWxpZC9pZGwvdHJlYXRhc3VuZGVmaW5lZC53aWRsCi0vTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxw
cm9jL3Rlc3QvdmFsaWQvaWRsL3R5cGVkZWYud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0
L3ZhbGlkL2lkbC90eXBlc3VmZml4ZXMud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3Zh
bGlkL2lkbC91bmlvbnR5cGUud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lk
bC92YXJpYWRpYy1vcGVyYXRpb25zLndpZGwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJv
Yy90ZXN0L3ZhbGlkL3htbC9hbGxvd2FueS53aWRscHJvY3htbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJv
Yy90ZXN0L3ZhbGlkL3htbC9hbGxvd2FueS53aWRscHJvY3htbApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggN2RhNTA4YmNiNWM4ZmE4ZjRkY2UzNDdiYTY5NWRjNmM3Yjc4NTM2Mi4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lk
bHByb2MvdGVzdC92YWxpZC94bWwvYWxsb3dhbnkud2lkbHByb2N4bWwKKysrIC9kZXYvbnVsbApA
QCAtMSw0NCArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/Pgot
PCFET0NUWVBFIERlZmluaXRpb25zIFNZU1RFTSAid2lkbHByb2N4bWwuZHRkIj4KLTxEZWZpbml0
aW9ucz4KLSAgPHdlYmlkbD5pbnRlcmZhY2UgQiB7Ci0gIHZvaWQgZygpOwotICB2b2lkIGcoPHJl
Zj5CPC9yZWY+IGIpOwotICB2b2lkIGcoW0FsbG93QW55XSBET01TdHJpbmcgcyk7Ci19Ozwvd2Vi
aWRsPgotICA8SW50ZXJmYWNlIG5hbWU9IkIiIGlkPSI6OkIiPgotICAgIDx3ZWJpZGw+aW50ZXJm
YWNlIEIgewotICB2b2lkIGcoKTsKLSAgdm9pZCBnKDxyZWY+QjwvcmVmPiBiKTsKLSAgdm9pZCBn
KFtBbGxvd0FueV0gRE9NU3RyaW5nIHMpOwotfTs8L3dlYmlkbD4KLSAgICA8T3BlcmF0aW9uIG5h
bWU9ImciIGlkPSI6OkI6OmciPgotICAgICAgPHdlYmlkbD4gIHZvaWQgZygpOzwvd2ViaWRsPgot
ICAgICAgPFR5cGUgdHlwZT0idm9pZCIvPgotICAgICAgPEFyZ3VtZW50TGlzdC8+Ci0gICAgPC9P
cGVyYXRpb24+Ci0gICAgPE9wZXJhdGlvbiBuYW1lPSJnIiBpZD0iOjpCOjpnIj4KLSAgICAgIDx3
ZWJpZGw+ICB2b2lkIGcoPHJlZj5CPC9yZWY+IGIpOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlw
ZT0idm9pZCIvPgotICAgICAgPEFyZ3VtZW50TGlzdD4KLSAgICAgICAgPEFyZ3VtZW50IG5hbWU9
ImIiPgotICAgICAgICAgIDxUeXBlIG5hbWU9IkIiLz4KLSAgICAgICAgPC9Bcmd1bWVudD4KLSAg
ICAgIDwvQXJndW1lbnRMaXN0PgotICAgIDwvT3BlcmF0aW9uPgotICAgIDxPcGVyYXRpb24gbmFt
ZT0iZyIgaWQ9Ijo6Qjo6ZyI+Ci0gICAgICA8d2ViaWRsPiAgdm9pZCBnKFtBbGxvd0FueV0gRE9N
U3RyaW5nIHMpOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0idm9pZCIvPgotICAgICAgPEFy
Z3VtZW50TGlzdD4KLSAgICAgICAgPEFyZ3VtZW50IG5hbWU9InMiPgotICAgICAgICAgIDxFeHRl
bmRlZEF0dHJpYnV0ZUxpc3Q+Ci0gICAgICAgICAgICA8RXh0ZW5kZWRBdHRyaWJ1dGUgbmFtZT0i
QWxsb3dBbnkiPgotICAgICAgICAgICAgICA8d2ViaWRsPkFsbG93QW55PC93ZWJpZGw+Ci0gICAg
ICAgICAgICA8L0V4dGVuZGVkQXR0cmlidXRlPgotICAgICAgICAgIDwvRXh0ZW5kZWRBdHRyaWJ1
dGVMaXN0PgotICAgICAgICAgIDxUeXBlIHR5cGU9IkRPTVN0cmluZyIvPgotICAgICAgICA8L0Fy
Z3VtZW50PgotICAgICAgPC9Bcmd1bWVudExpc3Q+Ci0gICAgPC9PcGVyYXRpb24+Ci0gIDwvSW50
ZXJmYWNlPgotPC9EZWZpbml0aW9ucz4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90
ZXN0L3ZhbGlkL3htbC9hcnJheS53aWRscHJvY3htbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0
L3ZhbGlkL3htbC9hcnJheS53aWRscHJvY3htbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggM2RmNzJmZjE2MDg4MWVkMDUyMjRlYmVmODRiNWFiNTBkOTgyY2QzYS4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVz
dC92YWxpZC94bWwvYXJyYXkud2lkbHByb2N4bWwKKysrIC9kZXYvbnVsbApAQCAtMSwyNyArMCww
IEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgotPCFET0NUWVBFIERl
ZmluaXRpb25zIFNZU1RFTSAid2lkbHByb2N4bWwuZHRkIj4KLTxEZWZpbml0aW9ucz4KLSAgPHdl
YmlkbD5bQ29uc3RydWN0b3JdCi1pbnRlcmZhY2UgTG90dGVyeVJlc3VsdHMgewotICByZWFkb25s
eSBhdHRyaWJ1dGUgdW5zaWduZWQgc2hvcnRbXVtdIG51bWJlcnM7Ci19Ozwvd2ViaWRsPgotICA8
SW50ZXJmYWNlIG5hbWU9IkxvdHRlcnlSZXN1bHRzIiBpZD0iOjpMb3R0ZXJ5UmVzdWx0cyI+Ci0g
ICAgPHdlYmlkbD5bQ29uc3RydWN0b3JdCi1pbnRlcmZhY2UgTG90dGVyeVJlc3VsdHMgewotICBy
ZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgc2hvcnRbXVtdIG51bWJlcnM7Ci19Ozwvd2ViaWRs
PgotICAgIDxFeHRlbmRlZEF0dHJpYnV0ZUxpc3Q+Ci0gICAgICA8RXh0ZW5kZWRBdHRyaWJ1dGUg
bmFtZT0iQ29uc3RydWN0b3IiPgotICAgICAgICA8d2ViaWRsPkNvbnN0cnVjdG9yPC93ZWJpZGw+
Ci0gICAgICA8L0V4dGVuZGVkQXR0cmlidXRlPgotICAgIDwvRXh0ZW5kZWRBdHRyaWJ1dGVMaXN0
PgotICAgIDxBdHRyaWJ1dGUgcmVhZG9ubHk9InJlYWRvbmx5IiBuYW1lPSJudW1iZXJzIiBpZD0i
OjpMb3R0ZXJ5UmVzdWx0czo6bnVtYmVycyI+Ci0gICAgICA8d2ViaWRsPiAgcmVhZG9ubHkgYXR0
cmlidXRlIHVuc2lnbmVkIHNob3J0W11bXSBudW1iZXJzOzwvd2ViaWRsPgotICAgICAgPFR5cGUg
dHlwZT0iYXJyYXkiPgotICAgICAgICA8VHlwZSB0eXBlPSJhcnJheSI+Ci0gICAgICAgICAgPFR5
cGUgdHlwZT0idW5zaWduZWQgc2hvcnQiLz4KLSAgICAgICAgPC9UeXBlPgotICAgICAgPC9UeXBl
PgotICAgIDwvQXR0cmlidXRlPgotICA8L0ludGVyZmFjZT4KLTwvRGVmaW5pdGlvbnM+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvYXR0cmlidXRlcy53aWRs
cHJvY3htbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9hdHRyaWJ1dGVzLndp
ZGxwcm9jeG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4OWJkOGFjOWIwMTlhMmU5
ZDVhMmY2NmIwMDlhMmM5YjhhOTQwZTE4Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9hdHRyaWJ1
dGVzLndpZGxwcm9jeG1sCisrKyAvZGV2L251bGwKQEAgLTEsMzggKzAsMCBAQAotPD94bWwgdmVy
c2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KLTwhRE9DVFlQRSBEZWZpbml0aW9ucyBTWVNU
RU0gIndpZGxwcm9jeG1sLmR0ZCI+Ci08RGVmaW5pdGlvbnM+Ci0gIDx3ZWJpZGw+ZXhjZXB0aW9u
IEludmFsaWROYW1lIHsKLSAgRE9NU3RyaW5nIHJlYXNvbjsKLX07Ci0KLWV4Y2VwdGlvbiBOb1N1
Y2hQZXQgeyB9OwotCi1pbnRlcmZhY2UgUGVyc29uIHsKLQotICBhdHRyaWJ1dGUgdW5zaWduZWQg
c2hvcnQgYWdlOwotCi19Ozwvd2ViaWRsPgotICA8RXhjZXB0aW9uIG5hbWU9IkludmFsaWROYW1l
IiBpZD0iOjpJbnZhbGlkTmFtZSI+Ci0gICAgPHdlYmlkbD5leGNlcHRpb24gSW52YWxpZE5hbWUg
ewotICBET01TdHJpbmcgcmVhc29uOwotfTs8L3dlYmlkbD4KLSAgICA8RXhjZXB0aW9uRmllbGQg
bmFtZT0icmVhc29uIiBpZD0iOjpJbnZhbGlkTmFtZTo6cmVhc29uIj4KLSAgICAgIDx3ZWJpZGw+
ICBET01TdHJpbmcgcmVhc29uOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0iRE9NU3RyaW5n
Ii8+Ci0gICAgPC9FeGNlcHRpb25GaWVsZD4KLSAgPC9FeGNlcHRpb24+Ci0gIDxFeGNlcHRpb24g
bmFtZT0iTm9TdWNoUGV0IiBpZD0iOjpOb1N1Y2hQZXQiPgotICAgIDx3ZWJpZGw+ZXhjZXB0aW9u
IE5vU3VjaFBldCB7IH07PC93ZWJpZGw+Ci0gIDwvRXhjZXB0aW9uPgotICA8SW50ZXJmYWNlIG5h
bWU9IlBlcnNvbiIgaWQ9Ijo6UGVyc29uIj4KLSAgICA8d2ViaWRsPmludGVyZmFjZSBQZXJzb24g
ewotCi0gIGF0dHJpYnV0ZSB1bnNpZ25lZCBzaG9ydCBhZ2U7Ci0KLX07PC93ZWJpZGw+Ci0gICAg
PEF0dHJpYnV0ZSBuYW1lPSJhZ2UiIGlkPSI6OlBlcnNvbjo6YWdlIj4KLSAgICAgIDx3ZWJpZGw+
ICBhdHRyaWJ1dGUgdW5zaWduZWQgc2hvcnQgYWdlOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlw
ZT0idW5zaWduZWQgc2hvcnQiLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAgPC9JbnRlcmZhY2U+Ci08
L0RlZmluaXRpb25zPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQv
eG1sL2NhbGxiYWNrLndpZGxwcm9jeG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQv
eG1sL2NhbGxiYWNrLndpZGxwcm9jeG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5
ZWFjMDZjZTI3OWQ4NDEzMzI3ZmJiYzcwMmQyODM1NzE1ODk5MDcyLi4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3Zh
bGlkL3htbC9jYWxsYmFjay53aWRscHJvY3htbAorKysgL2Rldi9udWxsCkBAIC0xLDMyICswLDAg
QEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Ci08IURPQ1RZUEUgRGVm
aW5pdGlvbnMgU1lTVEVNICJ3aWRscHJvY3htbC5kdGQiPgotPERlZmluaXRpb25zPgotICA8d2Vi
aWRsPmNhbGxiYWNrIEFzeW5jT3BlcmF0aW9uQ2FsbGJhY2sgPSB2b2lkIChET01TdHJpbmcgc3Rh
dHVzKTsKLQotY2FsbGJhY2sgaW50ZXJmYWNlIEV2ZW50SGFuZGxlciB7Ci0gIHZvaWQgZXZlbnRP
Y2N1cnJlZChET01TdHJpbmcgZGV0YWlscyk7Ci19Ozwvd2ViaWRsPgotICA8Q2FsbGJhY2sgbmFt
ZT0iQXN5bmNPcGVyYXRpb25DYWxsYmFjayIgaWQ9Ijo6QXN5bmNPcGVyYXRpb25DYWxsYmFjayI+
Ci0gICAgPHdlYmlkbD5jYWxsYmFjayBBc3luY09wZXJhdGlvbkNhbGxiYWNrID0gdm9pZCAoRE9N
U3RyaW5nIHN0YXR1cyk7PC93ZWJpZGw+Ci0gICAgPFR5cGUgdHlwZT0idm9pZCIvPgotICAgIDxB
cmd1bWVudExpc3Q+Ci0gICAgICA8QXJndW1lbnQgbmFtZT0ic3RhdHVzIj4KLSAgICAgICAgPFR5
cGUgdHlwZT0iRE9NU3RyaW5nIi8+Ci0gICAgICA8L0FyZ3VtZW50PgotICAgIDwvQXJndW1lbnRM
aXN0PgotICA8L0NhbGxiYWNrPgotICA8SW50ZXJmYWNlIG5hbWU9IkV2ZW50SGFuZGxlciIgY2Fs
bGJhY2s9ImNhbGxiYWNrIiBpZD0iOjpFdmVudEhhbmRsZXIiPgotICAgIDx3ZWJpZGw+Y2FsbGJh
Y2sgaW50ZXJmYWNlIEV2ZW50SGFuZGxlciB7Ci0gIHZvaWQgZXZlbnRPY2N1cnJlZChET01TdHJp
bmcgZGV0YWlscyk7Ci19Ozwvd2ViaWRsPgotICAgIDxPcGVyYXRpb24gbmFtZT0iZXZlbnRPY2N1
cnJlZCIgaWQ9Ijo6RXZlbnRIYW5kbGVyOjpldmVudE9jY3VycmVkIj4KLSAgICAgIDx3ZWJpZGw+
ICB2b2lkIGV2ZW50T2NjdXJyZWQoRE9NU3RyaW5nIGRldGFpbHMpOzwvd2ViaWRsPgotICAgICAg
PFR5cGUgdHlwZT0idm9pZCIvPgotICAgICAgPEFyZ3VtZW50TGlzdD4KLSAgICAgICAgPEFyZ3Vt
ZW50IG5hbWU9ImRldGFpbHMiPgotICAgICAgICAgIDxUeXBlIHR5cGU9IkRPTVN0cmluZyIvPgot
ICAgICAgICA8L0FyZ3VtZW50PgotICAgICAgPC9Bcmd1bWVudExpc3Q+Ci0gICAgPC9PcGVyYXRp
b24+Ci0gIDwvSW50ZXJmYWNlPgotPC9EZWZpbml0aW9ucz4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9jYWxsZXIud2lkbHByb2N4bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
d2lkbHByb2MvdGVzdC92YWxpZC94bWwvY2FsbGVyLndpZGxwcm9jeG1sCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCA5NzU0ZDRlMDI2ODQ5MTViYjAzM2QzZWE5Njg0ZGU1MDU3NWY3ODlk
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9jYWxsZXIud2lkbHByb2N4bWwKKysrIC9kZXYvbnVs
bApAQCAtMSwyMSArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/
PgotPCFET0NUWVBFIERlZmluaXRpb25zIFNZU1RFTSAid2lkbHByb2N4bWwuZHRkIj4KLTxEZWZp
bml0aW9ucz4KLSAgPHdlYmlkbD5pbnRlcmZhY2UgTnVtYmVyUXVhZHJ1cGxlciB7Ci0gIGxlZ2Fj
eWNhbGxlciBmbG9hdCBjb21wdXRlKGZsb2F0IHgpOwotfTs8L3dlYmlkbD4KLSAgPEludGVyZmFj
ZSBuYW1lPSJOdW1iZXJRdWFkcnVwbGVyIiBpZD0iOjpOdW1iZXJRdWFkcnVwbGVyIj4KLSAgICA8
d2ViaWRsPmludGVyZmFjZSBOdW1iZXJRdWFkcnVwbGVyIHsKLSAgbGVnYWN5Y2FsbGVyIGZsb2F0
IGNvbXB1dGUoZmxvYXQgeCk7Ci19Ozwvd2ViaWRsPgotICAgIDxPcGVyYXRpb24gbGVnYWN5Y2Fs
bGVyPSJsZWdhY3ljYWxsZXIiIG5hbWU9ImNvbXB1dGUiIGlkPSI6Ok51bWJlclF1YWRydXBsZXI6
OmNvbXB1dGUiPgotICAgICAgPHdlYmlkbD4gIGxlZ2FjeWNhbGxlciBmbG9hdCBjb21wdXRlKGZs
b2F0IHgpOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0iZmxvYXQiLz4KLSAgICAgIDxBcmd1
bWVudExpc3Q+Ci0gICAgICAgIDxBcmd1bWVudCBuYW1lPSJ4Ij4KLSAgICAgICAgICA8VHlwZSB0
eXBlPSJmbG9hdCIvPgotICAgICAgICA8L0FyZ3VtZW50PgotICAgICAgPC9Bcmd1bWVudExpc3Q+
Ci0gICAgPC9PcGVyYXRpb24+Ci0gIDwvSW50ZXJmYWNlPgotPC9EZWZpbml0aW9ucz4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9jb25zdGFudHMud2lkbHBy
b2N4bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvY29uc3RhbnRzLndpZGxw
cm9jeG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1MWNiNDMzMWY3NTRjMjNjNTQ3
ZGMxOTNhMWVmZDBlMjRmMmExODEyLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9jb25zdGFudHMu
d2lkbHByb2N4bWwKKysrIC9kZXYvbnVsbApAQCAtMSw4NSArMCwwIEBACi08P3htbCB2ZXJzaW9u
PSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgotPCFET0NUWVBFIERlZmluaXRpb25zIFNZU1RFTSAi
d2lkbHByb2N4bWwuZHRkIj4KLTxEZWZpbml0aW9ucz4KLSAgPHdlYmlkbD5pbnRlcmZhY2UgVXRp
bCB7Ci0gIGNvbnN0IGJvb2xlYW4gREVCVUcgPSBmYWxzZTsKLSAgY29uc3Qgc2hvcnQgbmVnYXRp
dmUgPSAtMTsKLSAgY29uc3Qgb2N0ZXQgTEYgPSAxMDsKLSAgY29uc3QgdW5zaWduZWQgbG9uZyBC
SVRfTUFTSyA9IDB4MDAwMGZjMDA7Ci0gIGNvbnN0IGZsb2F0IEFWT0dBRFJPID0gNi4wMjJlMjM7
Ci0gIGNvbnN0IHVucmVzdHJpY3RlZCBmbG9hdCBzb2JpZyA9IEluZmluaXR5OwotICBjb25zdCB1
bnJlc3RyaWN0ZWQgZG91YmxlIG1pbnVzb25lZGl2aWRlZGJ5emVybyA9IC1JbmZpbml0eTsKLSAg
Y29uc3Qgc2hvcnQgbm90YW51bWJlciA9IE5hTjsKLX07Ci0KLWV4Y2VwdGlvbiBFcnJvciB7Ci0g
IGNvbnN0IHNob3J0IEVSUl9VTktOT1dOID0gMDsKLSAgY29uc3Qgc2hvcnQgRVJSX09VVF9PRl9N
RU1PUlkgPSAxOwotCi0gIHNob3J0IGVycm9yQ29kZTsKLX07PC93ZWJpZGw+Ci0gIDxJbnRlcmZh
Y2UgbmFtZT0iVXRpbCIgaWQ9Ijo6VXRpbCI+Ci0gICAgPHdlYmlkbD5pbnRlcmZhY2UgVXRpbCB7
Ci0gIGNvbnN0IGJvb2xlYW4gREVCVUcgPSBmYWxzZTsKLSAgY29uc3Qgc2hvcnQgbmVnYXRpdmUg
PSAtMTsKLSAgY29uc3Qgb2N0ZXQgTEYgPSAxMDsKLSAgY29uc3QgdW5zaWduZWQgbG9uZyBCSVRf
TUFTSyA9IDB4MDAwMGZjMDA7Ci0gIGNvbnN0IGZsb2F0IEFWT0dBRFJPID0gNi4wMjJlMjM7Ci0g
IGNvbnN0IHVucmVzdHJpY3RlZCBmbG9hdCBzb2JpZyA9IEluZmluaXR5OwotICBjb25zdCB1bnJl
c3RyaWN0ZWQgZG91YmxlIG1pbnVzb25lZGl2aWRlZGJ5emVybyA9IC1JbmZpbml0eTsKLSAgY29u
c3Qgc2hvcnQgbm90YW51bWJlciA9IE5hTjsKLX07PC93ZWJpZGw+Ci0gICAgPENvbnN0IG5hbWU9
IkRFQlVHIiB2YWx1ZT0iZmFsc2UiIGlkPSI6OlV0aWw6OkRFQlVHIj4KLSAgICAgIDx3ZWJpZGw+
ICBjb25zdCBib29sZWFuIERFQlVHID0gZmFsc2U7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBl
PSJib29sZWFuIi8+Ci0gICAgPC9Db25zdD4KLSAgICA8Q29uc3QgbmFtZT0ibmVnYXRpdmUiIHZh
bHVlPSItMSIgaWQ9Ijo6VXRpbDo6bmVnYXRpdmUiPgotICAgICAgPHdlYmlkbD4gIGNvbnN0IHNo
b3J0IG5lZ2F0aXZlID0gLTE7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJzaG9ydCIvPgot
ICAgIDwvQ29uc3Q+Ci0gICAgPENvbnN0IG5hbWU9IkxGIiB2YWx1ZT0iMTAiIGlkPSI6OlV0aWw6
OkxGIj4KLSAgICAgIDx3ZWJpZGw+ICBjb25zdCBvY3RldCBMRiA9IDEwOzwvd2ViaWRsPgotICAg
ICAgPFR5cGUgdHlwZT0ib2N0ZXQiLz4KLSAgICA8L0NvbnN0PgotICAgIDxDb25zdCBuYW1lPSJC
SVRfTUFTSyIgdmFsdWU9IjB4MDAwMGZjMDAiIGlkPSI6OlV0aWw6OkJJVF9NQVNLIj4KLSAgICAg
IDx3ZWJpZGw+ICBjb25zdCB1bnNpZ25lZCBsb25nIEJJVF9NQVNLID0gMHgwMDAwZmMwMDs8L3dl
YmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9InVuc2lnbmVkIGxvbmciLz4KLSAgICA8L0NvbnN0Pgot
ICAgIDxDb25zdCBuYW1lPSJBVk9HQURSTyIgdmFsdWU9IjYuMDIyZTIzIiBpZD0iOjpVdGlsOjpB
Vk9HQURSTyI+Ci0gICAgICA8d2ViaWRsPiAgY29uc3QgZmxvYXQgQVZPR0FEUk8gPSA2LjAyMmUy
Mzs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9ImZsb2F0Ii8+Ci0gICAgPC9Db25zdD4KLSAg
ICA8Q29uc3QgbmFtZT0ic29iaWciIHZhbHVlPSJJbmZpbml0eSIgaWQ9Ijo6VXRpbDo6c29iaWci
PgotICAgICAgPHdlYmlkbD4gIGNvbnN0IHVucmVzdHJpY3RlZCBmbG9hdCBzb2JpZyA9IEluZmlu
aXR5Ozwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0idW5yZXN0cmljdGVkIGZsb2F0Ii8+Ci0g
ICAgPC9Db25zdD4KLSAgICA8Q29uc3QgbmFtZT0ibWludXNvbmVkaXZpZGVkYnl6ZXJvIiB2YWx1
ZT0iLUluZmluaXR5IiBpZD0iOjpVdGlsOjptaW51c29uZWRpdmlkZWRieXplcm8iPgotICAgICAg
PHdlYmlkbD4gIGNvbnN0IHVucmVzdHJpY3RlZCBkb3VibGUgbWludXNvbmVkaXZpZGVkYnl6ZXJv
ID0gLUluZmluaXR5Ozwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0idW5yZXN0cmljdGVkIGRv
dWJsZSIvPgotICAgIDwvQ29uc3Q+Ci0gICAgPENvbnN0IG5hbWU9Im5vdGFudW1iZXIiIHZhbHVl
PSJOYU4iIGlkPSI6OlV0aWw6Om5vdGFudW1iZXIiPgotICAgICAgPHdlYmlkbD4gIGNvbnN0IHNo
b3J0IG5vdGFudW1iZXIgPSBOYU47PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJzaG9ydCIv
PgotICAgIDwvQ29uc3Q+Ci0gIDwvSW50ZXJmYWNlPgotICA8RXhjZXB0aW9uIG5hbWU9IkVycm9y
IiBpZD0iOjpFcnJvciI+Ci0gICAgPHdlYmlkbD5leGNlcHRpb24gRXJyb3IgewotICBjb25zdCBz
aG9ydCBFUlJfVU5LTk9XTiA9IDA7Ci0gIGNvbnN0IHNob3J0IEVSUl9PVVRfT0ZfTUVNT1JZID0g
MTsKLQotICBzaG9ydCBlcnJvckNvZGU7Ci19Ozwvd2ViaWRsPgotICAgIDxDb25zdCBuYW1lPSJF
UlJfVU5LTk9XTiIgdmFsdWU9IjAiIGlkPSI6OkVycm9yOjpFUlJfVU5LTk9XTiI+Ci0gICAgICA8
d2ViaWRsPiAgY29uc3Qgc2hvcnQgRVJSX1VOS05PV04gPSAwOzwvd2ViaWRsPgotICAgICAgPFR5
cGUgdHlwZT0ic2hvcnQiLz4KLSAgICA8L0NvbnN0PgotICAgIDxDb25zdCBuYW1lPSJFUlJfT1VU
X09GX01FTU9SWSIgdmFsdWU9IjEiIGlkPSI6OkVycm9yOjpFUlJfT1VUX09GX01FTU9SWSI+Ci0g
ICAgICA8d2ViaWRsPiAgY29uc3Qgc2hvcnQgRVJSX09VVF9PRl9NRU1PUlkgPSAxOzwvd2ViaWRs
PgotICAgICAgPFR5cGUgdHlwZT0ic2hvcnQiLz4KLSAgICA8L0NvbnN0PgotICAgIDxFeGNlcHRp
b25GaWVsZCBuYW1lPSJlcnJvckNvZGUiIGlkPSI6OkVycm9yOjplcnJvckNvZGUiPgotICAgICAg
PHdlYmlkbD4gIHNob3J0IGVycm9yQ29kZTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9InNo
b3J0Ii8+Ci0gICAgPC9FeGNlcHRpb25GaWVsZD4KLSAgPC9FeGNlcHRpb24+Ci08L0RlZmluaXRp
b25zPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL2NvbnN0
cnVjdG9yLndpZGxwcm9jeG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL2Nv
bnN0cnVjdG9yLndpZGxwcm9jeG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4ZTc4
ZmJhYjM2NTlmMTRkN2U1OTExNDFiM2VlZWYwZThhMGUyN2U1Li4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlk
L3htbC9jb25zdHJ1Y3Rvci53aWRscHJvY3htbAorKysgL2Rldi9udWxsCkBAIC0xLDUxICswLDAg
QEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Ci08IURPQ1RZUEUgRGVm
aW5pdGlvbnMgU1lTVEVNICJ3aWRscHJvY3htbC5kdGQiPgotPERlZmluaXRpb25zPgotICA8d2Vi
aWRsPltDb25zdHJ1Y3RvciwKLSBDb25zdHJ1Y3RvcihmbG9hdCByYWRpdXMpXQotaW50ZXJmYWNl
IENpcmNsZSB7Ci0gIGF0dHJpYnV0ZSBmbG9hdCByOwotICBhdHRyaWJ1dGUgZmxvYXQgY3g7Ci0g
IGF0dHJpYnV0ZSBmbG9hdCBjeTsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIGZsb2F0IGNpcmN1bWZl
cmVuY2U7Ci19Ozwvd2ViaWRsPgotICA8SW50ZXJmYWNlIG5hbWU9IkNpcmNsZSIgaWQ9Ijo6Q2ly
Y2xlIj4KLSAgICA8d2ViaWRsPltDb25zdHJ1Y3RvciwKLSBDb25zdHJ1Y3RvcihmbG9hdCByYWRp
dXMpXQotaW50ZXJmYWNlIENpcmNsZSB7Ci0gIGF0dHJpYnV0ZSBmbG9hdCByOwotICBhdHRyaWJ1
dGUgZmxvYXQgY3g7Ci0gIGF0dHJpYnV0ZSBmbG9hdCBjeTsKLSAgcmVhZG9ubHkgYXR0cmlidXRl
IGZsb2F0IGNpcmN1bWZlcmVuY2U7Ci19Ozwvd2ViaWRsPgotICAgIDxFeHRlbmRlZEF0dHJpYnV0
ZUxpc3Q+Ci0gICAgICA8RXh0ZW5kZWRBdHRyaWJ1dGUgbmFtZT0iQ29uc3RydWN0b3IiPgotICAg
ICAgICA8d2ViaWRsPkNvbnN0cnVjdG9yPC93ZWJpZGw+Ci0gICAgICA8L0V4dGVuZGVkQXR0cmli
dXRlPgotICAgICAgPEV4dGVuZGVkQXR0cmlidXRlIG5hbWU9IkNvbnN0cnVjdG9yIj4KLSAgICAg
ICAgPHdlYmlkbD4gQ29uc3RydWN0b3IoZmxvYXQgcmFkaXVzKTwvd2ViaWRsPgotICAgICAgICA8
QXJndW1lbnRMaXN0PgotICAgICAgICAgIDxBcmd1bWVudCBuYW1lPSJyYWRpdXMiPgotICAgICAg
ICAgICAgPFR5cGUgdHlwZT0iZmxvYXQiLz4KLSAgICAgICAgICA8L0FyZ3VtZW50PgotICAgICAg
ICA8L0FyZ3VtZW50TGlzdD4KLSAgICAgIDwvRXh0ZW5kZWRBdHRyaWJ1dGU+Ci0gICAgPC9FeHRl
bmRlZEF0dHJpYnV0ZUxpc3Q+Ci0gICAgPEF0dHJpYnV0ZSBuYW1lPSJyIiBpZD0iOjpDaXJjbGU6
OnIiPgotICAgICAgPHdlYmlkbD4gIGF0dHJpYnV0ZSBmbG9hdCByOzwvd2ViaWRsPgotICAgICAg
PFR5cGUgdHlwZT0iZmxvYXQiLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAgICA8QXR0cmlidXRlIG5h
bWU9ImN4IiBpZD0iOjpDaXJjbGU6OmN4Ij4KLSAgICAgIDx3ZWJpZGw+ICBhdHRyaWJ1dGUgZmxv
YXQgY3g7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJmbG9hdCIvPgotICAgIDwvQXR0cmli
dXRlPgotICAgIDxBdHRyaWJ1dGUgbmFtZT0iY3kiIGlkPSI6OkNpcmNsZTo6Y3kiPgotICAgICAg
PHdlYmlkbD4gIGF0dHJpYnV0ZSBmbG9hdCBjeTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9
ImZsb2F0Ii8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gICAgPEF0dHJpYnV0ZSByZWFkb25seT0icmVh
ZG9ubHkiIG5hbWU9ImNpcmN1bWZlcmVuY2UiIGlkPSI6OkNpcmNsZTo6Y2lyY3VtZmVyZW5jZSI+
Ci0gICAgICA8d2ViaWRsPiAgcmVhZG9ubHkgYXR0cmlidXRlIGZsb2F0IGNpcmN1bWZlcmVuY2U7
PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJmbG9hdCIvPgotICAgIDwvQXR0cmlidXRlPgot
ICA8L0ludGVyZmFjZT4KLTwvRGVmaW5pdGlvbnM+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lk
bHByb2MvdGVzdC92YWxpZC94bWwvZGljdGlvbmFyeS1pbmhlcml0cy53aWRscHJvY3htbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9kaWN0aW9uYXJ5LWluaGVyaXRzLndpZGxw
cm9jeG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyNjlhODNjZDg0OWIzYTM1ZmMy
OGExYTMxYWNjYjU3MzQxMTYyZDIxLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9kaWN0aW9uYXJ5
LWluaGVyaXRzLndpZGxwcm9jeG1sCisrKyAvZGV2L251bGwKQEAgLTEsNDQgKzAsMCBAQAotPD94
bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KLTwhRE9DVFlQRSBEZWZpbml0aW9u
cyBTWVNURU0gIndpZGxwcm9jeG1sLmR0ZCI+Ci08RGVmaW5pdGlvbnM+Ci0gIDx3ZWJpZGw+ZGlj
dGlvbmFyeSBQYWludE9wdGlvbnMgewotICBET01TdHJpbmc/IGZpbGxQYXR0ZXJuID0gJnF1b3Q7
YmxhY2smcXVvdDs7Ci0gIERPTVN0cmluZz8gc3Ryb2tlUGF0dGVybiA9IG51bGw7Ci0gIDxyZWY+
UG9pbnQ8L3JlZj4gcG9zaXRpb247Ci19OwotCi1kaWN0aW9uYXJ5IFdldFBhaW50T3B0aW9ucyA6
IDxyZWY+UGFpbnRPcHRpb25zPC9yZWY+IHsKLSAgZmxvYXQgaHlkcm9tZXRyeTsKLX07PC93ZWJp
ZGw+Ci0gIDxEaWN0aW9uYXJ5IG5hbWU9IlBhaW50T3B0aW9ucyIgaWQ9Ijo6UGFpbnRPcHRpb25z
Ij4KLSAgICA8d2ViaWRsPmRpY3Rpb25hcnkgUGFpbnRPcHRpb25zIHsKLSAgRE9NU3RyaW5nPyBm
aWxsUGF0dGVybiA9ICZxdW90O2JsYWNrJnF1b3Q7OwotICBET01TdHJpbmc/IHN0cm9rZVBhdHRl
cm4gPSBudWxsOwotICA8cmVmPlBvaW50PC9yZWY+IHBvc2l0aW9uOwotfTs8L3dlYmlkbD4KLSAg
ICA8RGljdGlvbmFyeU1lbWJlciBuYW1lPSJmaWxsUGF0dGVybiIgc3RyaW5ndmFsdWU9ImJsYWNr
IiBpZD0iOjpQYWludE9wdGlvbnM6OmZpbGxQYXR0ZXJuIj4KLSAgICAgIDx3ZWJpZGw+ICBET01T
dHJpbmc/IGZpbGxQYXR0ZXJuID0gJnF1b3Q7YmxhY2smcXVvdDs7PC93ZWJpZGw+Ci0gICAgICA8
VHlwZSB0eXBlPSJET01TdHJpbmciIG51bGxhYmxlPSJudWxsYWJsZSIvPgotICAgIDwvRGljdGlv
bmFyeU1lbWJlcj4KLSAgICA8RGljdGlvbmFyeU1lbWJlciBuYW1lPSJzdHJva2VQYXR0ZXJuIiB2
YWx1ZT0ibnVsbCIgaWQ9Ijo6UGFpbnRPcHRpb25zOjpzdHJva2VQYXR0ZXJuIj4KLSAgICAgIDx3
ZWJpZGw+ICBET01TdHJpbmc/IHN0cm9rZVBhdHRlcm4gPSBudWxsOzwvd2ViaWRsPgotICAgICAg
PFR5cGUgdHlwZT0iRE9NU3RyaW5nIiBudWxsYWJsZT0ibnVsbGFibGUiLz4KLSAgICA8L0RpY3Rp
b25hcnlNZW1iZXI+Ci0gICAgPERpY3Rpb25hcnlNZW1iZXIgbmFtZT0icG9zaXRpb24iIGlkPSI6
OlBhaW50T3B0aW9uczo6cG9zaXRpb24iPgotICAgICAgPHdlYmlkbD4gIDxyZWY+UG9pbnQ8L3Jl
Zj4gcG9zaXRpb247PC93ZWJpZGw+Ci0gICAgICA8VHlwZSBuYW1lPSJQb2ludCIvPgotICAgIDwv
RGljdGlvbmFyeU1lbWJlcj4KLSAgPC9EaWN0aW9uYXJ5PgotICA8RGljdGlvbmFyeSBuYW1lPSJX
ZXRQYWludE9wdGlvbnMiIGlkPSI6OldldFBhaW50T3B0aW9ucyI+Ci0gICAgPHdlYmlkbD5kaWN0
aW9uYXJ5IFdldFBhaW50T3B0aW9ucyA6IDxyZWY+UGFpbnRPcHRpb25zPC9yZWY+IHsKLSAgZmxv
YXQgaHlkcm9tZXRyeTsKLX07PC93ZWJpZGw+Ci0gICAgPERpY3Rpb25hcnlJbmhlcml0YW5jZT4K
LSAgICAgIDxOYW1lIG5hbWU9IlBhaW50T3B0aW9ucyIvPgotICAgIDwvRGljdGlvbmFyeUluaGVy
aXRhbmNlPgotICAgIDxEaWN0aW9uYXJ5TWVtYmVyIG5hbWU9Imh5ZHJvbWV0cnkiIGlkPSI6Oldl
dFBhaW50T3B0aW9uczo6aHlkcm9tZXRyeSI+Ci0gICAgICA8d2ViaWRsPiAgZmxvYXQgaHlkcm9t
ZXRyeTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9ImZsb2F0Ii8+Ci0gICAgPC9EaWN0aW9u
YXJ5TWVtYmVyPgotICA8L0RpY3Rpb25hcnk+Ci08L0RlZmluaXRpb25zPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL2RpY3Rpb25hcnkud2lkbHByb2N4bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvZGljdGlvbmFyeS53aWRscHJvY3ht
bApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTc4Y2NiNGUyNzFmYTA4YmE3NjFjODE2
MDE5MGFjYTdiZjI4ZTkwYS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvZGljdGlvbmFyeS53aWRs
cHJvY3htbAorKysgL2Rldi9udWxsCkBAIC0xLDQ3ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEu
MCIgZW5jb2Rpbmc9IlVURi04Ij8+Ci08IURPQ1RZUEUgRGVmaW5pdGlvbnMgU1lTVEVNICJ3aWRs
cHJvY3htbC5kdGQiPgotPERlZmluaXRpb25zPgotICA8d2ViaWRsPmRpY3Rpb25hcnkgUGFpbnRP
cHRpb25zIHsKLSAgRE9NU3RyaW5nPyBmaWxsUGF0dGVybiA9ICZxdW90O2JsYWNrJnF1b3Q7Owot
ICBET01TdHJpbmc/IHN0cm9rZVBhdHRlcm4gPSBudWxsOwotICA8cmVmPlBvaW50PC9yZWY+IHBv
c2l0aW9uOwotfTsKLQotcGFydGlhbCBkaWN0aW9uYXJ5IEEgewotICBsb25nIGg7Ci0gIGxvbmcg
ZDsKLX07PC93ZWJpZGw+Ci0gIDxEaWN0aW9uYXJ5IG5hbWU9IlBhaW50T3B0aW9ucyIgaWQ9Ijo6
UGFpbnRPcHRpb25zIj4KLSAgICA8d2ViaWRsPmRpY3Rpb25hcnkgUGFpbnRPcHRpb25zIHsKLSAg
RE9NU3RyaW5nPyBmaWxsUGF0dGVybiA9ICZxdW90O2JsYWNrJnF1b3Q7OwotICBET01TdHJpbmc/
IHN0cm9rZVBhdHRlcm4gPSBudWxsOwotICA8cmVmPlBvaW50PC9yZWY+IHBvc2l0aW9uOwotfTs8
L3dlYmlkbD4KLSAgICA8RGljdGlvbmFyeU1lbWJlciBuYW1lPSJmaWxsUGF0dGVybiIgc3RyaW5n
dmFsdWU9ImJsYWNrIiBpZD0iOjpQYWludE9wdGlvbnM6OmZpbGxQYXR0ZXJuIj4KLSAgICAgIDx3
ZWJpZGw+ICBET01TdHJpbmc/IGZpbGxQYXR0ZXJuID0gJnF1b3Q7YmxhY2smcXVvdDs7PC93ZWJp
ZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJET01TdHJpbmciIG51bGxhYmxlPSJudWxsYWJsZSIvPgot
ICAgIDwvRGljdGlvbmFyeU1lbWJlcj4KLSAgICA8RGljdGlvbmFyeU1lbWJlciBuYW1lPSJzdHJv
a2VQYXR0ZXJuIiB2YWx1ZT0ibnVsbCIgaWQ9Ijo6UGFpbnRPcHRpb25zOjpzdHJva2VQYXR0ZXJu
Ij4KLSAgICAgIDx3ZWJpZGw+ICBET01TdHJpbmc/IHN0cm9rZVBhdHRlcm4gPSBudWxsOzwvd2Vi
aWRsPgotICAgICAgPFR5cGUgdHlwZT0iRE9NU3RyaW5nIiBudWxsYWJsZT0ibnVsbGFibGUiLz4K
LSAgICA8L0RpY3Rpb25hcnlNZW1iZXI+Ci0gICAgPERpY3Rpb25hcnlNZW1iZXIgbmFtZT0icG9z
aXRpb24iIGlkPSI6OlBhaW50T3B0aW9uczo6cG9zaXRpb24iPgotICAgICAgPHdlYmlkbD4gIDxy
ZWY+UG9pbnQ8L3JlZj4gcG9zaXRpb247PC93ZWJpZGw+Ci0gICAgICA8VHlwZSBuYW1lPSJQb2lu
dCIvPgotICAgIDwvRGljdGlvbmFyeU1lbWJlcj4KLSAgPC9EaWN0aW9uYXJ5PgotICA8RGljdGlv
bmFyeSBuYW1lPSJBIiBwYXJ0aWFsPSJwYXJ0aWFsIiBpZD0iOjpBIj4KLSAgICA8d2ViaWRsPnBh
cnRpYWwgZGljdGlvbmFyeSBBIHsKLSAgbG9uZyBoOwotICBsb25nIGQ7Ci19Ozwvd2ViaWRsPgot
ICAgIDxEaWN0aW9uYXJ5TWVtYmVyIG5hbWU9ImgiIGlkPSI6OkE6OmgiPgotICAgICAgPHdlYmlk
bD4gIGxvbmcgaDs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9ImxvbmciLz4KLSAgICA8L0Rp
Y3Rpb25hcnlNZW1iZXI+Ci0gICAgPERpY3Rpb25hcnlNZW1iZXIgbmFtZT0iZCIgaWQ9Ijo6QTo6
ZCI+Ci0gICAgICA8d2ViaWRsPiAgbG9uZyBkOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0i
bG9uZyIvPgotICAgIDwvRGljdGlvbmFyeU1lbWJlcj4KLSAgPC9EaWN0aW9uYXJ5PgotPC9EZWZp
bml0aW9ucz4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9k
b2N1bWVudGF0aW9uLWRvcy53aWRscHJvY3htbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3Zh
bGlkL3htbC9kb2N1bWVudGF0aW9uLWRvcy53aWRscHJvY3htbApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMTYxMWYwZTU3NmEwMzhhZTc3NzYxYmYxOGI4N2YyY2NmYzM2NWFlZi4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lk
bHByb2MvdGVzdC92YWxpZC94bWwvZG9jdW1lbnRhdGlvbi1kb3Mud2lkbHByb2N4bWwKKysrIC9k
ZXYvbnVsbApAQCAtMSw1OSArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJV
VEYtOCI/PgotPCFET0NUWVBFIERlZmluaXRpb25zIFNZU1RFTSAid2lkbHByb2N4bWwuZHRkIj4K
LTxEZWZpbml0aW9ucz4KLSAgPHdlYmlkbD5pbnRlcmZhY2UgRG9jdW1lbnRhdGlvbiB7fTs8L3dl
YmlkbD4KLSAgPEludGVyZmFjZSBuYW1lPSJEb2N1bWVudGF0aW9uIiBpZD0iOjpEb2N1bWVudGF0
aW9uIj4KLSAgICA8d2ViaWRsPmludGVyZmFjZSBEb2N1bWVudGF0aW9uIHt9Ozwvd2ViaWRsPgot
ICAgIDxkZXNjcmlwdGl2ZT4KLSAgICAgICAgPGJyaWVmPgotIFRlc3RpbmcgZG9jdW1lbnRhdGlv
biBmZWF0dXJlcwotICAgICAgICA8L2JyaWVmPgotICAgICAgIDxkZXNjcmlwdGlvbj4KLSAgICAg
ICAgPHA+Ci1UaGlzIGlzIGEKLXNpbmdsZSBwYXJhZ3JhcGgKLSAgICAgICAgPC9wPgotICAgICAg
ICA8cD4KLVRoaXMgaXMgdmFsaWQuICAgICAgICA8L3A+Ci0gICAgICAgIDxwPgotVGhpcyBpcyA8
ZW0+dmFsaWQ8L2VtPi4gICAgICAgIDwvcD4KLSAgICAgICAgPHA+Ci1UaGlzIGlzIDxiPnZhbGlk
PC9iPi4gICAgICAgIDwvcD4KLSAgICAgICAgPHA+Ci1UaGlzIGlzIDxhIGhyZWY9Jyc+dmFsaWQ8
L2E+LiAgICAgICAgPC9wPgotICAgICAgICA8dWw+Ci0gICAgICAgICAgPGxpPgotVGhpcyAgICAg
ICAgICA8L2xpPgotICAgICAgICAgIDxsaT4KLWlzICAgICAgICAgIDwvbGk+Ci0gICAgICAgICAg
PGxpPgotdmFsaWQgICAgICAgICAgPC9saT4KLSAgICAgICAgPC91bD4KLSAgICAgICAgPGRsPgot
ICAgICAgICAgIDxkdD4KLVRoaXMgICAgICAgICAgPC9kdD4KLSAgICAgICAgICA8ZGQ+Ci12YWxp
ZCAgICAgICAgICA8L2RkPgotICAgICAgICA8L2RsPgotICAgICAgICA8dGFibGU+Ci0gICAgICAg
ICAgPHRyPgotICAgICAgICAgICAgPHRkPgotdGhpcyAgICAgICAgICAgIDwvdGQ+Ci0gICAgICAg
ICAgICA8dGQ+Ci1pcyAgICAgICAgICAgIDwvdGQ+Ci0gICAgICAgICAgPC90cj4KLSAgICAgICAg
ICA8dHI+Ci0gICAgICAgICAgICA8dGQ+Ci12YWxpZCAgICAgICAgICAgIDwvdGQ+Ci0gICAgICAg
ICAgPC90cj4KLSAgICAgICAgPC90YWJsZT4KLSAgICAgICAgPHA+Ci1UaGlzIGlzIDxici8+IHZh
bGlkLiAgICAgICAgPC9wPgotICAgICAgICA8cD4KLVRoaXMgaXMgPGJyIC8+IHZhbGlkLiAgICAg
ICAgPC9wPgotICAgICAgICA8cD4KLVRoaXMgaXMgPGJyLz4gdmFsaWQuICAgICAgICA8L3A+Ci0g
ICAgICAgPC9kZXNjcmlwdGlvbj4KLSAgICA8L2Rlc2NyaXB0aXZlPgotICA8L0ludGVyZmFjZT4K
LTwvRGVmaW5pdGlvbnM+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxp
ZC94bWwvZG9jdW1lbnRhdGlvbi53aWRscHJvY3htbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0
L3ZhbGlkL3htbC9kb2N1bWVudGF0aW9uLndpZGxwcm9jeG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCBhZmU0NTI3YzIyMTEyOTIyNWRjMzIzYmE1N2Y0OGU3NjBlZDNhM2Q5Li4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRs
cHJvYy90ZXN0L3ZhbGlkL3htbC9kb2N1bWVudGF0aW9uLndpZGxwcm9jeG1sCisrKyAvZGV2L251
bGwKQEAgLTEsNjEgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgi
Pz4KLTwhRE9DVFlQRSBEZWZpbml0aW9ucyBTWVNURU0gIndpZGxwcm9jeG1sLmR0ZCI+Ci08RGVm
aW5pdGlvbnM+Ci0gIDx3ZWJpZGw+aW50ZXJmYWNlIERvY3VtZW50YXRpb24ge307PC93ZWJpZGw+
Ci0gIDxJbnRlcmZhY2UgbmFtZT0iRG9jdW1lbnRhdGlvbiIgaWQ9Ijo6RG9jdW1lbnRhdGlvbiI+
Ci0gICAgPHdlYmlkbD5pbnRlcmZhY2UgRG9jdW1lbnRhdGlvbiB7fTs8L3dlYmlkbD4KLSAgICA8
ZGVzY3JpcHRpdmU+Ci0gICAgICAgIDxicmllZj4KLSBUZXN0aW5nIGRvY3VtZW50YXRpb24gZmVh
dHVyZXMKLSAgICAgICAgPC9icmllZj4KLSAgICAgICA8ZGVzY3JpcHRpb24+Ci0gICAgICAgIDxw
PgotVGhpcyBpcyBhCi1zaW5nbGUgcGFyYWdyYXBoCi0gICAgICAgIDwvcD4KLSAgICAgICAgPHA+
Ci1UaGlzIGlzIHZhbGlkLiAgICAgICAgPC9wPgotICAgICAgICA8cD4KLVRoaXMgaXMgPGVtPnZh
bGlkPC9lbT4uICAgICAgICA8L3A+Ci0gICAgICAgIDxwPgotVGhpcyBpcyA8Yj52YWxpZDwvYj4u
ICAgICAgICA8L3A+Ci0gICAgICAgIDxwPgotVGhpcyBpcyA8YSBocmVmPScnPnZhbGlkPC9hPi4g
ICAgICAgIDwvcD4KLSAgICAgICAgPHVsPgotICAgICAgICAgIDxsaT4KLVRoaXMgICAgICAgICAg
PC9saT4KLSAgICAgICAgICA8bGk+Ci1pcyAgICAgICAgICA8L2xpPgotICAgICAgICAgIDxsaT4K
LXZhbGlkICAgICAgICAgIDwvbGk+Ci0gICAgICAgIDwvdWw+Ci0gICAgICAgIDxkbD4KLSAgICAg
ICAgICA8ZHQ+Ci1UaGlzICAgICAgICAgIDwvZHQ+Ci0gICAgICAgICAgPGRkPgotdmFsaWQgICAg
ICAgICAgPC9kZD4KLSAgICAgICAgPC9kbD4KLSAgICAgICAgPHRhYmxlPgotICAgICAgICAgIDx0
cj4KLSAgICAgICAgICAgIDx0ZD4KLXRoaXMgICAgICAgICAgICA8L3RkPgotICAgICAgICAgICAg
PHRkPgotaXMgICAgICAgICAgICA8L3RkPgotICAgICAgICAgIDwvdHI+Ci0gICAgICAgICAgPHRy
PgotICAgICAgICAgICAgPHRkPgotdmFsaWQgICAgICAgICAgICA8L3RkPgotICAgICAgICAgIDwv
dHI+Ci0gICAgICAgIDwvdGFibGU+Ci0gICAgICAgIDxwPgotVGhpcyBpcyA8YnIvPiB2YWxpZC4g
ICAgICAgIDwvcD4KLSAgICAgICAgPHA+Ci1UaGlzIGlzIDxiciAvPiB2YWxpZC4gICAgICAgIDwv
cD4KLSAgICAgICAgPHA+Ci1UaGlzIGlzIDxici8+IHZhbGlkLiAgICAgICAgPC9wPgotICAgICAg
ICA8cD4KLTxpbWcgc3JjPSJmb28ucG5nIiBhbHQ9IlZhbGlkIi8+ICAgICAgICA8L3A+Ci0gICAg
ICAgPC9kZXNjcmlwdGlvbj4KLSAgICA8L2Rlc2NyaXB0aXZlPgotICA8L0ludGVyZmFjZT4KLTwv
RGVmaW5pdGlvbnM+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94
bWwvZW51bS53aWRscHJvY3htbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9l
bnVtLndpZGxwcm9jeG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlMWU4MjU4ZmJk
MDYxNmZiZDE3NzU2Zjg0NWJhMTEyOWY0MDVhMWEwLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9l
bnVtLndpZGxwcm9jeG1sCisrKyAvZGV2L251bGwKQEAgLTEsNTIgKzAsMCBAQAotPD94bWwgdmVy
c2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KLTwhRE9DVFlQRSBEZWZpbml0aW9ucyBTWVNU
RU0gIndpZGxwcm9jeG1sLmR0ZCI+Ci08RGVmaW5pdGlvbnM+Ci0gIDx3ZWJpZGw+ZW51bSBNZWFs
VHlwZSB7ICZxdW90O3JpY2UmcXVvdDssICZxdW90O25vb2RsZXMmcXVvdDssICZxdW90O290aGVy
JnF1b3Q7IH07Ci0KLWludGVyZmFjZSBNZWFsIHsKLSAgYXR0cmlidXRlIDxyZWY+TWVhbFR5cGU8
L3JlZj4gdHlwZTsKLSAgYXR0cmlidXRlIGZsb2F0IHNpemU7ICAgICAKLQotICB2b2lkIGluaXRp
YWxpemUoPHJlZj5NZWFsVHlwZTwvcmVmPiB0eXBlLCBmbG9hdCBzaXplKTsKLX07PC93ZWJpZGw+
Ci0gIDxFbnVtIG5hbWU9Ik1lYWxUeXBlIiBpZD0iOjpNZWFsVHlwZSI+Ci0gICAgPHdlYmlkbD5l
bnVtIE1lYWxUeXBlIHsgJnF1b3Q7cmljZSZxdW90OywgJnF1b3Q7bm9vZGxlcyZxdW90OywgJnF1
b3Q7b3RoZXImcXVvdDsgfTs8L3dlYmlkbD4KLSAgICA8RW51bVZhbHVlIHN0cmluZ3ZhbHVlPSJy
aWNlIj4KLSAgICAgIDx3ZWJpZGw+ICZxdW90O3JpY2U8L3dlYmlkbD4KLSAgICA8L0VudW1WYWx1
ZT4KLSAgICA8RW51bVZhbHVlIHN0cmluZ3ZhbHVlPSJub29kbGVzIj4KLSAgICAgIDx3ZWJpZGw+
ICZxdW90O25vb2RsZXM8L3dlYmlkbD4KLSAgICA8L0VudW1WYWx1ZT4KLSAgICA8RW51bVZhbHVl
IHN0cmluZ3ZhbHVlPSJvdGhlciI+Ci0gICAgICA8d2ViaWRsPiAmcXVvdDtvdGhlcjwvd2ViaWRs
PgotICAgIDwvRW51bVZhbHVlPgotICA8L0VudW0+Ci0gIDxJbnRlcmZhY2UgbmFtZT0iTWVhbCIg
aWQ9Ijo6TWVhbCI+Ci0gICAgPHdlYmlkbD5pbnRlcmZhY2UgTWVhbCB7Ci0gIGF0dHJpYnV0ZSA8
cmVmPk1lYWxUeXBlPC9yZWY+IHR5cGU7Ci0gIGF0dHJpYnV0ZSBmbG9hdCBzaXplOyAgICAgCi0K
LSAgdm9pZCBpbml0aWFsaXplKDxyZWY+TWVhbFR5cGU8L3JlZj4gdHlwZSwgZmxvYXQgc2l6ZSk7
Ci19Ozwvd2ViaWRsPgotICAgIDxBdHRyaWJ1dGUgbmFtZT0idHlwZSIgaWQ9Ijo6TWVhbDo6dHlw
ZSI+Ci0gICAgICA8d2ViaWRsPiAgYXR0cmlidXRlIDxyZWY+TWVhbFR5cGU8L3JlZj4gdHlwZTs8
L3dlYmlkbD4KLSAgICAgIDxUeXBlIG5hbWU9Ik1lYWxUeXBlIi8+Ci0gICAgPC9BdHRyaWJ1dGU+
Ci0gICAgPEF0dHJpYnV0ZSBuYW1lPSJzaXplIiBpZD0iOjpNZWFsOjpzaXplIj4KLSAgICAgIDx3
ZWJpZGw+ICBhdHRyaWJ1dGUgZmxvYXQgc2l6ZTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9
ImZsb2F0Ii8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gICAgPE9wZXJhdGlvbiBuYW1lPSJpbml0aWFs
aXplIiBpZD0iOjpNZWFsOjppbml0aWFsaXplIj4KLSAgICAgIDx3ZWJpZGw+ICB2b2lkIGluaXRp
YWxpemUoPHJlZj5NZWFsVHlwZTwvcmVmPiB0eXBlLCBmbG9hdCBzaXplKTs8L3dlYmlkbD4KLSAg
ICAgIDxUeXBlIHR5cGU9InZvaWQiLz4KLSAgICAgIDxBcmd1bWVudExpc3Q+Ci0gICAgICAgIDxB
cmd1bWVudCBuYW1lPSJ0eXBlIj4KLSAgICAgICAgICA8VHlwZSBuYW1lPSJNZWFsVHlwZSIvPgot
ICAgICAgICA8L0FyZ3VtZW50PgotICAgICAgICA8QXJndW1lbnQgbmFtZT0ic2l6ZSI+Ci0gICAg
ICAgICAgPFR5cGUgdHlwZT0iZmxvYXQiLz4KLSAgICAgICAgPC9Bcmd1bWVudD4KLSAgICAgIDwv
QXJndW1lbnRMaXN0PgotICAgIDwvT3BlcmF0aW9uPgotICA8L0ludGVyZmFjZT4KLTwvRGVmaW5p
dGlvbnM+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvZXF1
aXZhbGVudC1kZWNsLndpZGxwcm9jeG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQv
eG1sL2VxdWl2YWxlbnQtZGVjbC53aWRscHJvY3htbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggYzMyMmQwYTVlMjIzMzBkYWQ1YzhkNWFkZWVkYzEwYzVlNmY3Zjg1Zi4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mv
dGVzdC92YWxpZC94bWwvZXF1aXZhbGVudC1kZWNsLndpZGxwcm9jeG1sCisrKyAvZGV2L251bGwK
QEAgLTEsMTExICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+
Ci08IURPQ1RZUEUgRGVmaW5pdGlvbnMgU1lTVEVNICJ3aWRscHJvY3htbC5kdGQiPgotPERlZmlu
aXRpb25zPgotICA8d2ViaWRsPmludGVyZmFjZSBEaWN0aW9uYXJ5IHsKLSAgcmVhZG9ubHkgYXR0
cmlidXRlIHVuc2lnbmVkIGxvbmcgcHJvcGVydHlDb3VudDsKLQotICBnZXR0ZXIgZmxvYXQgZ2V0
UHJvcGVydHkoRE9NU3RyaW5nIHByb3BlcnR5TmFtZSk7Ci0gIHNldHRlciB2b2lkIHNldFByb3Bl
cnR5KERPTVN0cmluZyBwcm9wZXJ0eU5hbWUsIGZsb2F0IHByb3BlcnR5VmFsdWUpOwotfTsKLQot
Ci1pbnRlcmZhY2UgRGljdGlvbmFyeSB7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBs
b25nIHByb3BlcnR5Q291bnQ7Ci0KLSAgZmxvYXQgZ2V0UHJvcGVydHkoRE9NU3RyaW5nIHByb3Bl
cnR5TmFtZSk7Ci0gIHZvaWQgc2V0UHJvcGVydHkoRE9NU3RyaW5nIHByb3BlcnR5TmFtZSwgZmxv
YXQgcHJvcGVydHlWYWx1ZSk7Ci0KLSAgZ2V0dGVyIGZsb2F0IChET01TdHJpbmcgcHJvcGVydHlO
YW1lKTsKLSAgc2V0dGVyIHZvaWQgKERPTVN0cmluZyBwcm9wZXJ0eU5hbWUsIGZsb2F0IHByb3Bl
cnR5VmFsdWUpOwotfTs8L3dlYmlkbD4KLSAgPEludGVyZmFjZSBuYW1lPSJEaWN0aW9uYXJ5IiBp
ZD0iOjpEaWN0aW9uYXJ5Ij4KLSAgICA8d2ViaWRsPmludGVyZmFjZSBEaWN0aW9uYXJ5IHsKLSAg
cmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgcHJvcGVydHlDb3VudDsKLQotICBnZXR0
ZXIgZmxvYXQgZ2V0UHJvcGVydHkoRE9NU3RyaW5nIHByb3BlcnR5TmFtZSk7Ci0gIHNldHRlciB2
b2lkIHNldFByb3BlcnR5KERPTVN0cmluZyBwcm9wZXJ0eU5hbWUsIGZsb2F0IHByb3BlcnR5VmFs
dWUpOwotfTs8L3dlYmlkbD4KLSAgICA8QXR0cmlidXRlIHJlYWRvbmx5PSJyZWFkb25seSIgbmFt
ZT0icHJvcGVydHlDb3VudCIgaWQ9Ijo6RGljdGlvbmFyeTo6cHJvcGVydHlDb3VudCI+Ci0gICAg
ICA8d2ViaWRsPiAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgcHJvcGVydHlDb3Vu
dDs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9InVuc2lnbmVkIGxvbmciLz4KLSAgICA8L0F0
dHJpYnV0ZT4KLSAgICA8T3BlcmF0aW9uIGdldHRlcj0iZ2V0dGVyIiBuYW1lPSJnZXRQcm9wZXJ0
eSIgaWQ9Ijo6RGljdGlvbmFyeTo6Z2V0UHJvcGVydHkiPgotICAgICAgPHdlYmlkbD4gIGdldHRl
ciBmbG9hdCBnZXRQcm9wZXJ0eShET01TdHJpbmcgcHJvcGVydHlOYW1lKTs8L3dlYmlkbD4KLSAg
ICAgIDxUeXBlIHR5cGU9ImZsb2F0Ii8+Ci0gICAgICA8QXJndW1lbnRMaXN0PgotICAgICAgICA8
QXJndW1lbnQgbmFtZT0icHJvcGVydHlOYW1lIj4KLSAgICAgICAgICA8VHlwZSB0eXBlPSJET01T
dHJpbmciLz4KLSAgICAgICAgPC9Bcmd1bWVudD4KLSAgICAgIDwvQXJndW1lbnRMaXN0PgotICAg
IDwvT3BlcmF0aW9uPgotICAgIDxPcGVyYXRpb24gc2V0dGVyPSJzZXR0ZXIiIG5hbWU9InNldFBy
b3BlcnR5IiBpZD0iOjpEaWN0aW9uYXJ5OjpzZXRQcm9wZXJ0eSI+Ci0gICAgICA8d2ViaWRsPiAg
c2V0dGVyIHZvaWQgc2V0UHJvcGVydHkoRE9NU3RyaW5nIHByb3BlcnR5TmFtZSwgZmxvYXQgcHJv
cGVydHlWYWx1ZSk7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJ2b2lkIi8+Ci0gICAgICA8
QXJndW1lbnRMaXN0PgotICAgICAgICA8QXJndW1lbnQgbmFtZT0icHJvcGVydHlOYW1lIj4KLSAg
ICAgICAgICA8VHlwZSB0eXBlPSJET01TdHJpbmciLz4KLSAgICAgICAgPC9Bcmd1bWVudD4KLSAg
ICAgICAgPEFyZ3VtZW50IG5hbWU9InByb3BlcnR5VmFsdWUiPgotICAgICAgICAgIDxUeXBlIHR5
cGU9ImZsb2F0Ii8+Ci0gICAgICAgIDwvQXJndW1lbnQ+Ci0gICAgICA8L0FyZ3VtZW50TGlzdD4K
LSAgICA8L09wZXJhdGlvbj4KLSAgPC9JbnRlcmZhY2U+Ci0gIDxJbnRlcmZhY2UgbmFtZT0iRGlj
dGlvbmFyeSIgaWQ9Ijo6RGljdGlvbmFyeSI+Ci0gICAgPHdlYmlkbD5pbnRlcmZhY2UgRGljdGlv
bmFyeSB7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIHByb3BlcnR5Q291bnQ7
Ci0KLSAgZmxvYXQgZ2V0UHJvcGVydHkoRE9NU3RyaW5nIHByb3BlcnR5TmFtZSk7Ci0gIHZvaWQg
c2V0UHJvcGVydHkoRE9NU3RyaW5nIHByb3BlcnR5TmFtZSwgZmxvYXQgcHJvcGVydHlWYWx1ZSk7
Ci0KLSAgZ2V0dGVyIGZsb2F0IChET01TdHJpbmcgcHJvcGVydHlOYW1lKTsKLSAgc2V0dGVyIHZv
aWQgKERPTVN0cmluZyBwcm9wZXJ0eU5hbWUsIGZsb2F0IHByb3BlcnR5VmFsdWUpOwotfTs8L3dl
YmlkbD4KLSAgICA8QXR0cmlidXRlIHJlYWRvbmx5PSJyZWFkb25seSIgbmFtZT0icHJvcGVydHlD
b3VudCIgaWQ9Ijo6RGljdGlvbmFyeTo6cHJvcGVydHlDb3VudCI+Ci0gICAgICA8d2ViaWRsPiAg
cmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgcHJvcGVydHlDb3VudDs8L3dlYmlkbD4K
LSAgICAgIDxUeXBlIHR5cGU9InVuc2lnbmVkIGxvbmciLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAg
ICA8T3BlcmF0aW9uIG5hbWU9ImdldFByb3BlcnR5IiBpZD0iOjpEaWN0aW9uYXJ5OjpnZXRQcm9w
ZXJ0eSI+Ci0gICAgICA8d2ViaWRsPiAgZmxvYXQgZ2V0UHJvcGVydHkoRE9NU3RyaW5nIHByb3Bl
cnR5TmFtZSk7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJmbG9hdCIvPgotICAgICAgPEFy
Z3VtZW50TGlzdD4KLSAgICAgICAgPEFyZ3VtZW50IG5hbWU9InByb3BlcnR5TmFtZSI+Ci0gICAg
ICAgICAgPFR5cGUgdHlwZT0iRE9NU3RyaW5nIi8+Ci0gICAgICAgIDwvQXJndW1lbnQ+Ci0gICAg
ICA8L0FyZ3VtZW50TGlzdD4KLSAgICA8L09wZXJhdGlvbj4KLSAgICA8T3BlcmF0aW9uIG5hbWU9
InNldFByb3BlcnR5IiBpZD0iOjpEaWN0aW9uYXJ5OjpzZXRQcm9wZXJ0eSI+Ci0gICAgICA8d2Vi
aWRsPiAgdm9pZCBzZXRQcm9wZXJ0eShET01TdHJpbmcgcHJvcGVydHlOYW1lLCBmbG9hdCBwcm9w
ZXJ0eVZhbHVlKTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9InZvaWQiLz4KLSAgICAgIDxB
cmd1bWVudExpc3Q+Ci0gICAgICAgIDxBcmd1bWVudCBuYW1lPSJwcm9wZXJ0eU5hbWUiPgotICAg
ICAgICAgIDxUeXBlIHR5cGU9IkRPTVN0cmluZyIvPgotICAgICAgICA8L0FyZ3VtZW50PgotICAg
ICAgICA8QXJndW1lbnQgbmFtZT0icHJvcGVydHlWYWx1ZSI+Ci0gICAgICAgICAgPFR5cGUgdHlw
ZT0iZmxvYXQiLz4KLSAgICAgICAgPC9Bcmd1bWVudD4KLSAgICAgIDwvQXJndW1lbnRMaXN0Pgot
ICAgIDwvT3BlcmF0aW9uPgotICAgIDxPcGVyYXRpb24gZ2V0dGVyPSJnZXR0ZXIiPgotICAgICAg
PHdlYmlkbD4gIGdldHRlciBmbG9hdCAoRE9NU3RyaW5nIHByb3BlcnR5TmFtZSk7PC93ZWJpZGw+
Ci0gICAgICA8VHlwZSB0eXBlPSJmbG9hdCIvPgotICAgICAgPEFyZ3VtZW50TGlzdD4KLSAgICAg
ICAgPEFyZ3VtZW50IG5hbWU9InByb3BlcnR5TmFtZSI+Ci0gICAgICAgICAgPFR5cGUgdHlwZT0i
RE9NU3RyaW5nIi8+Ci0gICAgICAgIDwvQXJndW1lbnQ+Ci0gICAgICA8L0FyZ3VtZW50TGlzdD4K
LSAgICA8L09wZXJhdGlvbj4KLSAgICA8T3BlcmF0aW9uIHNldHRlcj0ic2V0dGVyIj4KLSAgICAg
IDx3ZWJpZGw+ICBzZXR0ZXIgdm9pZCAoRE9NU3RyaW5nIHByb3BlcnR5TmFtZSwgZmxvYXQgcHJv
cGVydHlWYWx1ZSk7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJ2b2lkIi8+Ci0gICAgICA8
QXJndW1lbnRMaXN0PgotICAgICAgICA8QXJndW1lbnQgbmFtZT0icHJvcGVydHlOYW1lIj4KLSAg
ICAgICAgICA8VHlwZSB0eXBlPSJET01TdHJpbmciLz4KLSAgICAgICAgPC9Bcmd1bWVudD4KLSAg
ICAgICAgPEFyZ3VtZW50IG5hbWU9InByb3BlcnR5VmFsdWUiPgotICAgICAgICAgIDxUeXBlIHR5
cGU9ImZsb2F0Ii8+Ci0gICAgICAgIDwvQXJndW1lbnQ+Ci0gICAgICA8L0FyZ3VtZW50TGlzdD4K
LSAgICA8L09wZXJhdGlvbj4KLSAgPC9JbnRlcmZhY2U+Ci08L0RlZmluaXRpb25zPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL2V4Y2VwdGlvbi1pbmhlcml0
YW5jZS53aWRscHJvY3htbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9leGNl
cHRpb24taW5oZXJpdGFuY2Uud2lkbHByb2N4bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDNhMWY4NjhhNGI0Y2ViNmVhOThlZDI2MmNkZmY0MDNhZGE0YTgxZmUuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rl
c3QvdmFsaWQveG1sL2V4Y2VwdGlvbi1pbmhlcml0YW5jZS53aWRscHJvY3htbAorKysgL2Rldi9u
dWxsCkBAIC0xLDMxICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04
Ij8+Ci08IURPQ1RZUEUgRGVmaW5pdGlvbnMgU1lTVEVNICJ3aWRscHJvY3htbC5kdGQiPgotPERl
ZmluaXRpb25zPgotICA8d2ViaWRsPiAgZXhjZXB0aW9uIERPTUV4Y2VwdGlvbiB7Ci0gICAgdW5z
aWduZWQgc2hvcnQgY29kZTsKLSAgfTsKLQotICBleGNlcHRpb24gSGllcmFyY2h5UmVxdWVzdEVy
cm9yIDogPHJlZj5ET01FeGNlcHRpb248L3JlZj4geyB9OwotICBleGNlcHRpb24gTm9Nb2RpZmlj
YXRpb25BbGxvd2VkRXJyb3IgOiA8cmVmPkRPTUV4Y2VwdGlvbjwvcmVmPiB7IH07PC93ZWJpZGw+
Ci0gIDxFeGNlcHRpb24gbmFtZT0iRE9NRXhjZXB0aW9uIiBpZD0iOjpET01FeGNlcHRpb24iPgot
ICAgIDx3ZWJpZGw+ICBleGNlcHRpb24gRE9NRXhjZXB0aW9uIHsKLSAgICB1bnNpZ25lZCBzaG9y
dCBjb2RlOwotICB9Ozwvd2ViaWRsPgotICAgIDxFeGNlcHRpb25GaWVsZCBuYW1lPSJjb2RlIiBp
ZD0iOjpET01FeGNlcHRpb246OmNvZGUiPgotICAgICAgPHdlYmlkbD4gICAgdW5zaWduZWQgc2hv
cnQgY29kZTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9InVuc2lnbmVkIHNob3J0Ii8+Ci0g
ICAgPC9FeGNlcHRpb25GaWVsZD4KLSAgPC9FeGNlcHRpb24+Ci0gIDxFeGNlcHRpb24gbmFtZT0i
SGllcmFyY2h5UmVxdWVzdEVycm9yIiBpZD0iOjpIaWVyYXJjaHlSZXF1ZXN0RXJyb3IiPgotICAg
IDx3ZWJpZGw+ICBleGNlcHRpb24gSGllcmFyY2h5UmVxdWVzdEVycm9yIDogPHJlZj5ET01FeGNl
cHRpb248L3JlZj4geyB9Ozwvd2ViaWRsPgotICAgIDxFeGNlcHRpb25Jbmhlcml0YW5jZT4KLSAg
ICAgIDxOYW1lIG5hbWU9IkRPTUV4Y2VwdGlvbiIvPgotICAgIDwvRXhjZXB0aW9uSW5oZXJpdGFu
Y2U+Ci0gIDwvRXhjZXB0aW9uPgotICA8RXhjZXB0aW9uIG5hbWU9Ik5vTW9kaWZpY2F0aW9uQWxs
b3dlZEVycm9yIiBpZD0iOjpOb01vZGlmaWNhdGlvbkFsbG93ZWRFcnJvciI+Ci0gICAgPHdlYmlk
bD4gIGV4Y2VwdGlvbiBOb01vZGlmaWNhdGlvbkFsbG93ZWRFcnJvciA6IDxyZWY+RE9NRXhjZXB0
aW9uPC9yZWY+IHsgfTs8L3dlYmlkbD4KLSAgICA8RXhjZXB0aW9uSW5oZXJpdGFuY2U+Ci0gICAg
ICA8TmFtZSBuYW1lPSJET01FeGNlcHRpb24iLz4KLSAgICA8L0V4Y2VwdGlvbkluaGVyaXRhbmNl
PgotICA8L0V4Y2VwdGlvbj4KLTwvRGVmaW5pdGlvbnM+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
d2lkbHByb2MvdGVzdC92YWxpZC94bWwvZXhjZXB0aW9uLndpZGxwcm9jeG1sIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL2V4Y2VwdGlvbi53aWRscHJvY3htbApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggYWM5MzMyMGZlMTZiYjM3YzEzMjE5YTc3YTVmNjBjMmZiMjU0
ZjY5OC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvZXhjZXB0aW9uLndpZGxwcm9jeG1sCisrKyAv
ZGV2L251bGwKQEAgLTEsMjMgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0i
VVRGLTgiPz4KLTwhRE9DVFlQRSBEZWZpbml0aW9ucyBTWVNURU0gIndpZGxwcm9jeG1sLmR0ZCI+
Ci08RGVmaW5pdGlvbnM+Ci0gIDx3ZWJpZGw+aW50ZXJmYWNlIERhaHV0IHsKLSAgYXR0cmlidXRl
IERPTVN0cmluZyB0eXBlOwotfTsKLQotZXhjZXB0aW9uIFNvbWVFeGNlcHRpb24gewotfTs8L3dl
YmlkbD4KLSAgPEludGVyZmFjZSBuYW1lPSJEYWh1dCIgaWQ9Ijo6RGFodXQiPgotICAgIDx3ZWJp
ZGw+aW50ZXJmYWNlIERhaHV0IHsKLSAgYXR0cmlidXRlIERPTVN0cmluZyB0eXBlOwotfTs8L3dl
YmlkbD4KLSAgICA8QXR0cmlidXRlIG5hbWU9InR5cGUiIGlkPSI6OkRhaHV0Ojp0eXBlIj4KLSAg
ICAgIDx3ZWJpZGw+ICBhdHRyaWJ1dGUgRE9NU3RyaW5nIHR5cGU7PC93ZWJpZGw+Ci0gICAgICA8
VHlwZSB0eXBlPSJET01TdHJpbmciLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAgPC9JbnRlcmZhY2U+
Ci0gIDxFeGNlcHRpb24gbmFtZT0iU29tZUV4Y2VwdGlvbiIgaWQ9Ijo6U29tZUV4Y2VwdGlvbiI+
Ci0gICAgPHdlYmlkbD5leGNlcHRpb24gU29tZUV4Y2VwdGlvbiB7Ci19Ozwvd2ViaWRsPgotICA8
L0V4Y2VwdGlvbj4KLTwvRGVmaW5pdGlvbnM+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHBy
b2MvdGVzdC92YWxpZC94bWwvZ2V0dGVyLXNldHRlci53aWRscHJvY3htbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93
aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9nZXR0ZXItc2V0dGVyLndpZGxwcm9jeG1sCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3NmFmYzA1OGM2ODg3Y2QzZDU3YjQyOWVhZTlmZDRhZTI2
MjAzNzU3Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9nZXR0ZXItc2V0dGVyLndpZGxwcm9jeG1s
CisrKyAvZGV2L251bGwKQEAgLTEsNDMgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNv
ZGluZz0iVVRGLTgiPz4KLTwhRE9DVFlQRSBEZWZpbml0aW9ucyBTWVNURU0gIndpZGxwcm9jeG1s
LmR0ZCI+Ci08RGVmaW5pdGlvbnM+Ci0gIDx3ZWJpZGw+aW50ZXJmYWNlIERpY3Rpb25hcnkgewot
ICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBwcm9wZXJ0eUNvdW50OwotCi0gIGdl
dHRlciBmbG9hdCAoRE9NU3RyaW5nIHByb3BlcnR5TmFtZSk7Ci0gIHNldHRlciB2b2lkIChET01T
dHJpbmcgcHJvcGVydHlOYW1lLCBmbG9hdCBwcm9wZXJ0eVZhbHVlKTsKLX07PC93ZWJpZGw+Ci0g
IDxJbnRlcmZhY2UgbmFtZT0iRGljdGlvbmFyeSIgaWQ9Ijo6RGljdGlvbmFyeSI+Ci0gICAgPHdl
YmlkbD5pbnRlcmZhY2UgRGljdGlvbmFyeSB7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25l
ZCBsb25nIHByb3BlcnR5Q291bnQ7Ci0KLSAgZ2V0dGVyIGZsb2F0IChET01TdHJpbmcgcHJvcGVy
dHlOYW1lKTsKLSAgc2V0dGVyIHZvaWQgKERPTVN0cmluZyBwcm9wZXJ0eU5hbWUsIGZsb2F0IHBy
b3BlcnR5VmFsdWUpOwotfTs8L3dlYmlkbD4KLSAgICA8QXR0cmlidXRlIHJlYWRvbmx5PSJyZWFk
b25seSIgbmFtZT0icHJvcGVydHlDb3VudCIgaWQ9Ijo6RGljdGlvbmFyeTo6cHJvcGVydHlDb3Vu
dCI+Ci0gICAgICA8d2ViaWRsPiAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgcHJv
cGVydHlDb3VudDs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9InVuc2lnbmVkIGxvbmciLz4K
LSAgICA8L0F0dHJpYnV0ZT4KLSAgICA8T3BlcmF0aW9uIGdldHRlcj0iZ2V0dGVyIj4KLSAgICAg
IDx3ZWJpZGw+ICBnZXR0ZXIgZmxvYXQgKERPTVN0cmluZyBwcm9wZXJ0eU5hbWUpOzwvd2ViaWRs
PgotICAgICAgPFR5cGUgdHlwZT0iZmxvYXQiLz4KLSAgICAgIDxBcmd1bWVudExpc3Q+Ci0gICAg
ICAgIDxBcmd1bWVudCBuYW1lPSJwcm9wZXJ0eU5hbWUiPgotICAgICAgICAgIDxUeXBlIHR5cGU9
IkRPTVN0cmluZyIvPgotICAgICAgICA8L0FyZ3VtZW50PgotICAgICAgPC9Bcmd1bWVudExpc3Q+
Ci0gICAgPC9PcGVyYXRpb24+Ci0gICAgPE9wZXJhdGlvbiBzZXR0ZXI9InNldHRlciI+Ci0gICAg
ICA8d2ViaWRsPiAgc2V0dGVyIHZvaWQgKERPTVN0cmluZyBwcm9wZXJ0eU5hbWUsIGZsb2F0IHBy
b3BlcnR5VmFsdWUpOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0idm9pZCIvPgotICAgICAg
PEFyZ3VtZW50TGlzdD4KLSAgICAgICAgPEFyZ3VtZW50IG5hbWU9InByb3BlcnR5TmFtZSI+Ci0g
ICAgICAgICAgPFR5cGUgdHlwZT0iRE9NU3RyaW5nIi8+Ci0gICAgICAgIDwvQXJndW1lbnQ+Ci0g
ICAgICAgIDxBcmd1bWVudCBuYW1lPSJwcm9wZXJ0eVZhbHVlIj4KLSAgICAgICAgICA8VHlwZSB0
eXBlPSJmbG9hdCIvPgotICAgICAgICA8L0FyZ3VtZW50PgotICAgICAgPC9Bcmd1bWVudExpc3Q+
Ci0gICAgPC9PcGVyYXRpb24+Ci0gIDwvSW50ZXJmYWNlPgotPC9EZWZpbml0aW9ucz4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9pZGVudGlmaWVyLXF1YWxp
ZmllZC1uYW1lcy53aWRscHJvY3htbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3ht
bC9pZGVudGlmaWVyLXF1YWxpZmllZC1uYW1lcy53aWRscHJvY3htbApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggYjYwMjRlNWZmNjg5NjMwZDUwYTUxY2QxNDIwYTUxYmQ1NGEyZTAyMi4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
d2lkbHByb2MvdGVzdC92YWxpZC94bWwvaWRlbnRpZmllci1xdWFsaWZpZWQtbmFtZXMud2lkbHBy
b2N4bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxMDcgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4w
IiBlbmNvZGluZz0iVVRGLTgiPz4KLTwhRE9DVFlQRSBEZWZpbml0aW9ucyBTWVNURU0gIndpZGxw
cm9jeG1sLmR0ZCI+Ci08RGVmaW5pdGlvbnM+Ci0gIDx3ZWJpZGw+ICB0eXBlZGVmIGZsb2F0IG51
bWJlcjsKLQotICBleGNlcHRpb24gRnJhbWV3b3JrRXhjZXB0aW9uIHsKLQotICAgIGNvbnN0IGxv
bmcgRVJSX05PVF9GT1VORCA9IDE7Ci0KLSAgICBsb25nIGNvZGU7Ci0gIH07Ci0KLSAgaW50ZXJm
YWNlIFN5c3RlbSB7Ci0KLSAgICBvYmplY3QgY3JlYXRlT2JqZWN0KERPTVN0cmluZyBfaW50ZXJm
YWNlKTsKLQotICAgIGdldHRlciBET01TdHJpbmcgKERPTVN0cmluZyBrZXlOYW1lKTsKLSAgfTsK
LQotICAgIAotICAgIGludGVyZmFjZSBUZXh0RmllbGQgewotCi0gICAgICBhdHRyaWJ1dGUgYm9v
bGVhbiBfY29uc3Q7Ci0KLSAgICAgIGF0dHJpYnV0ZSBET01TdHJpbmc/IF92YWx1ZTsKLSAgICB9
OwotCi1pbnRlcmZhY2UgRm9vIHsKLSB2b2lkIG9wKG9iamVjdCBpbnRlcmZhY2UpOwotfTs8L3dl
YmlkbD4KLSAgPFR5cGVkZWYgbmFtZT0ibnVtYmVyIiBpZD0iOjpudW1iZXIiPgotICAgIDx3ZWJp
ZGw+ICB0eXBlZGVmIGZsb2F0IG51bWJlcjs8L3dlYmlkbD4KLSAgICA8VHlwZSB0eXBlPSJmbG9h
dCIvPgotICA8L1R5cGVkZWY+Ci0gIDxFeGNlcHRpb24gbmFtZT0iRnJhbWV3b3JrRXhjZXB0aW9u
IiBpZD0iOjpGcmFtZXdvcmtFeGNlcHRpb24iPgotICAgIDx3ZWJpZGw+ICBleGNlcHRpb24gRnJh
bWV3b3JrRXhjZXB0aW9uIHsKLQotICAgIGNvbnN0IGxvbmcgRVJSX05PVF9GT1VORCA9IDE7Ci0K
LSAgICBsb25nIGNvZGU7Ci0gIH07PC93ZWJpZGw+Ci0gICAgPENvbnN0IG5hbWU9IkVSUl9OT1Rf
Rk9VTkQiIHZhbHVlPSIxIiBpZD0iOjpGcmFtZXdvcmtFeGNlcHRpb246OkVSUl9OT1RfRk9VTkQi
PgotICAgICAgPHdlYmlkbD4gICAgY29uc3QgbG9uZyBFUlJfTk9UX0ZPVU5EID0gMTs8L3dlYmlk
bD4KLSAgICAgIDxUeXBlIHR5cGU9ImxvbmciLz4KLSAgICA8L0NvbnN0PgotICAgIDxFeGNlcHRp
b25GaWVsZCBuYW1lPSJjb2RlIiBpZD0iOjpGcmFtZXdvcmtFeGNlcHRpb246OmNvZGUiPgotICAg
ICAgPHdlYmlkbD4gICAgbG9uZyBjb2RlOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0ibG9u
ZyIvPgotICAgIDwvRXhjZXB0aW9uRmllbGQ+Ci0gIDwvRXhjZXB0aW9uPgotICA8SW50ZXJmYWNl
IG5hbWU9IlN5c3RlbSIgaWQ9Ijo6U3lzdGVtIj4KLSAgICA8d2ViaWRsPiAgaW50ZXJmYWNlIFN5
c3RlbSB7Ci0KLSAgICBvYmplY3QgY3JlYXRlT2JqZWN0KERPTVN0cmluZyBfaW50ZXJmYWNlKTsK
LQotICAgIGdldHRlciBET01TdHJpbmcgKERPTVN0cmluZyBrZXlOYW1lKTsKLSAgfTs8L3dlYmlk
bD4KLSAgICA8T3BlcmF0aW9uIG5hbWU9ImNyZWF0ZU9iamVjdCIgaWQ9Ijo6U3lzdGVtOjpjcmVh
dGVPYmplY3QiPgotICAgICAgPHdlYmlkbD4gICAgb2JqZWN0IGNyZWF0ZU9iamVjdChET01TdHJp
bmcgX2ludGVyZmFjZSk7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJvYmplY3QiLz4KLSAg
ICAgIDxBcmd1bWVudExpc3Q+Ci0gICAgICAgIDxBcmd1bWVudCBuYW1lPSJfaW50ZXJmYWNlIj4K
LSAgICAgICAgICA8VHlwZSB0eXBlPSJET01TdHJpbmciLz4KLSAgICAgICAgPC9Bcmd1bWVudD4K
LSAgICAgIDwvQXJndW1lbnRMaXN0PgotICAgIDwvT3BlcmF0aW9uPgotICAgIDxPcGVyYXRpb24g
Z2V0dGVyPSJnZXR0ZXIiPgotICAgICAgPHdlYmlkbD4gICAgZ2V0dGVyIERPTVN0cmluZyAoRE9N
U3RyaW5nIGtleU5hbWUpOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0iRE9NU3RyaW5nIi8+
Ci0gICAgICA8QXJndW1lbnRMaXN0PgotICAgICAgICA8QXJndW1lbnQgbmFtZT0ia2V5TmFtZSI+
Ci0gICAgICAgICAgPFR5cGUgdHlwZT0iRE9NU3RyaW5nIi8+Ci0gICAgICAgIDwvQXJndW1lbnQ+
Ci0gICAgICA8L0FyZ3VtZW50TGlzdD4KLSAgICA8L09wZXJhdGlvbj4KLSAgPC9JbnRlcmZhY2U+
Ci0gIDxJbnRlcmZhY2UgbmFtZT0iVGV4dEZpZWxkIiBpZD0iOjpUZXh0RmllbGQiPgotICAgIDx3
ZWJpZGw+ICAgIGludGVyZmFjZSBUZXh0RmllbGQgewotCi0gICAgICBhdHRyaWJ1dGUgYm9vbGVh
biBfY29uc3Q7Ci0KLSAgICAgIGF0dHJpYnV0ZSBET01TdHJpbmc/IF92YWx1ZTsKLSAgICB9Ozwv
d2ViaWRsPgotICAgIDxBdHRyaWJ1dGUgbmFtZT0iX2NvbnN0IiBpZD0iOjpUZXh0RmllbGQ6Ol9j
b25zdCI+Ci0gICAgICA8d2ViaWRsPiAgICAgIGF0dHJpYnV0ZSBib29sZWFuIF9jb25zdDs8L3dl
YmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9ImJvb2xlYW4iLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAg
ICA8QXR0cmlidXRlIG5hbWU9Il92YWx1ZSIgaWQ9Ijo6VGV4dEZpZWxkOjpfdmFsdWUiPgotICAg
ICAgPHdlYmlkbD4gICAgICBhdHRyaWJ1dGUgRE9NU3RyaW5nPyBfdmFsdWU7PC93ZWJpZGw+Ci0g
ICAgICA8VHlwZSB0eXBlPSJET01TdHJpbmciIG51bGxhYmxlPSJudWxsYWJsZSIvPgotICAgIDwv
QXR0cmlidXRlPgotICA8L0ludGVyZmFjZT4KLSAgPEludGVyZmFjZSBuYW1lPSJGb28iIGlkPSI6
OkZvbyI+Ci0gICAgPHdlYmlkbD5pbnRlcmZhY2UgRm9vIHsKLSB2b2lkIG9wKG9iamVjdCBpbnRl
cmZhY2UpOwotfTs8L3dlYmlkbD4KLSAgICA8T3BlcmF0aW9uIG5hbWU9Im9wIiBpZD0iOjpGb286
Om9wIj4KLSAgICAgIDx3ZWJpZGw+IHZvaWQgb3Aob2JqZWN0IGludGVyZmFjZSk7PC93ZWJpZGw+
Ci0gICAgICA8VHlwZSB0eXBlPSJ2b2lkIi8+Ci0gICAgICA8QXJndW1lbnRMaXN0PgotICAgICAg
ICA8QXJndW1lbnQgbmFtZT0iaW50ZXJmYWNlIj4KLSAgICAgICAgICA8VHlwZSB0eXBlPSJvYmpl
Y3QiLz4KLSAgICAgICAgPC9Bcmd1bWVudD4KLSAgICAgIDwvQXJndW1lbnRMaXN0PgotICAgIDwv
T3BlcmF0aW9uPgotICA8L0ludGVyZmFjZT4KLTwvRGVmaW5pdGlvbnM+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvaW1wbGVtZW50cy53aWRscHJvY3htbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9pbXBsZW1lbnRzLndpZGxwcm9jeG1s
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzZDFjMWFiODQ3OGZkMDdiNzA5ZWRmZTk4
OTQyMGI1YzRkZDg4ODNhLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9pbXBsZW1lbnRzLndpZGxw
cm9jeG1sCisrKyAvZGV2L251bGwKQEAgLTEsNTEgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4w
IiBlbmNvZGluZz0iVVRGLTgiPz4KLTwhRE9DVFlQRSBEZWZpbml0aW9ucyBTWVNURU0gIndpZGxw
cm9jeG1sLmR0ZCI+Ci08RGVmaW5pdGlvbnM+Ci0gIDx3ZWJpZGw+ICBpbnRlcmZhY2UgTm9kZSB7
Ci0gICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIHNob3J0IG5vZGVUeXBlOwotICB9Owot
Ci0gIGludGVyZmFjZSBFdmVudFRhcmdldCB7Ci0gICAgdm9pZCBhZGRFdmVudExpc3RlbmVyKERP
TVN0cmluZyB0eXBlLAotICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVmPkV2ZW50TGlzdGVu
ZXI8L3JlZj4gbGlzdGVuZXIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2xlYW4gdXNl
Q2FwdHVyZSk7Ci0gIH07Ci0KLSAgPHJlZj5Ob2RlPC9yZWY+IGltcGxlbWVudHMgPHJlZj5FdmVu
dFRhcmdldDwvcmVmPjs8L3dlYmlkbD4KLSAgPEludGVyZmFjZSBuYW1lPSJOb2RlIiBpZD0iOjpO
b2RlIj4KLSAgICA8d2ViaWRsPiAgaW50ZXJmYWNlIE5vZGUgewotICAgIHJlYWRvbmx5IGF0dHJp
YnV0ZSB1bnNpZ25lZCBzaG9ydCBub2RlVHlwZTsKLSAgfTs8L3dlYmlkbD4KLSAgICA8QXR0cmli
dXRlIHJlYWRvbmx5PSJyZWFkb25seSIgbmFtZT0ibm9kZVR5cGUiIGlkPSI6Ok5vZGU6Om5vZGVU
eXBlIj4KLSAgICAgIDx3ZWJpZGw+ICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBzaG9y
dCBub2RlVHlwZTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9InVuc2lnbmVkIHNob3J0Ii8+
Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gIDwvSW50ZXJmYWNlPgotICA8SW50ZXJmYWNlIG5hbWU9IkV2
ZW50VGFyZ2V0IiBpZD0iOjpFdmVudFRhcmdldCI+Ci0gICAgPHdlYmlkbD4gIGludGVyZmFjZSBF
dmVudFRhcmdldCB7Ci0gICAgdm9pZCBhZGRFdmVudExpc3RlbmVyKERPTVN0cmluZyB0eXBlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVmPkV2ZW50TGlzdGVuZXI8L3JlZj4gbGlzdGVu
ZXIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2xlYW4gdXNlQ2FwdHVyZSk7Ci0gIH07
PC93ZWJpZGw+Ci0gICAgPE9wZXJhdGlvbiBuYW1lPSJhZGRFdmVudExpc3RlbmVyIiBpZD0iOjpF
dmVudFRhcmdldDo6YWRkRXZlbnRMaXN0ZW5lciI+Ci0gICAgICA8d2ViaWRsPiAgICB2b2lkIGFk
ZEV2ZW50TGlzdGVuZXIoRE9NU3RyaW5nIHR5cGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
IDxyZWY+RXZlbnRMaXN0ZW5lcjwvcmVmPiBsaXN0ZW5lciwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgYm9vbGVhbiB1c2VDYXB0dXJlKTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9InZv
aWQiLz4KLSAgICAgIDxBcmd1bWVudExpc3Q+Ci0gICAgICAgIDxBcmd1bWVudCBuYW1lPSJ0eXBl
Ij4KLSAgICAgICAgICA8VHlwZSB0eXBlPSJET01TdHJpbmciLz4KLSAgICAgICAgPC9Bcmd1bWVu
dD4KLSAgICAgICAgPEFyZ3VtZW50IG5hbWU9Imxpc3RlbmVyIj4KLSAgICAgICAgICA8VHlwZSBu
YW1lPSJFdmVudExpc3RlbmVyIi8+Ci0gICAgICAgIDwvQXJndW1lbnQ+Ci0gICAgICAgIDxBcmd1
bWVudCBuYW1lPSJ1c2VDYXB0dXJlIj4KLSAgICAgICAgICA8VHlwZSB0eXBlPSJib29sZWFuIi8+
Ci0gICAgICAgIDwvQXJndW1lbnQ+Ci0gICAgICA8L0FyZ3VtZW50TGlzdD4KLSAgICA8L09wZXJh
dGlvbj4KLSAgPC9JbnRlcmZhY2U+Ci0gIDxJbXBsZW1lbnRzIG5hbWUxPSJOb2RlIiBuYW1lMj0i
RXZlbnRUYXJnZXQiPgotICAgIDx3ZWJpZGw+ICA8cmVmPk5vZGU8L3JlZj4gaW1wbGVtZW50cyA8
cmVmPkV2ZW50VGFyZ2V0PC9yZWY+Ozwvd2ViaWRsPgotICA8L0ltcGxlbWVudHM+Ci08L0RlZmlu
aXRpb25zPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL2lu
ZGV4ZWQtcHJvcGVydGllcy53aWRscHJvY3htbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3Zh
bGlkL3htbC9pbmRleGVkLXByb3BlcnRpZXMud2lkbHByb2N4bWwKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IGZiODM2MjFiNjBkMzYwZDA1Mjg1ZjBlOWZmZDRlZDhmODNjMzAxOTkuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dp
ZGxwcm9jL3Rlc3QvdmFsaWQveG1sL2luZGV4ZWQtcHJvcGVydGllcy53aWRscHJvY3htbAorKysg
L2Rldi9udWxsCkBAIC0xLDkyICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9
IlVURi04Ij8+Ci08IURPQ1RZUEUgRGVmaW5pdGlvbnMgU1lTVEVNICJ3aWRscHJvY3htbC5kdGQi
PgotPERlZmluaXRpb25zPgotICA8d2ViaWRsPmludGVyZmFjZSBPcmRlcmVkTWFwIHsKLSAgcmVh
ZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgc2l6ZTsKLQotICBnZXR0ZXIgYW55IGdldEJ5
SW5kZXgodW5zaWduZWQgbG9uZyBpbmRleCk7Ci0gIHNldHRlciB2b2lkIHNldEJ5SW5kZXgodW5z
aWduZWQgbG9uZyBpbmRleCwgYW55IHZhbHVlKTsKLSAgZGVsZXRlciB2b2lkIHJlbW92ZUJ5SW5k
ZXgodW5zaWduZWQgbG9uZyBpbmRleCk7Ci0KLSAgZ2V0dGVyIGFueSBnZXQoRE9NU3RyaW5nIG5h
bWUpOwotICBzZXR0ZXIgY3JlYXRvciB2b2lkIHNldChET01TdHJpbmcgbmFtZSwgYW55IHZhbHVl
KTsKLSAgZGVsZXRlciB2b2lkIHJlbW92ZShET01TdHJpbmcgbmFtZSk7Ci19Ozwvd2ViaWRsPgot
ICA8SW50ZXJmYWNlIG5hbWU9Ik9yZGVyZWRNYXAiIGlkPSI6Ok9yZGVyZWRNYXAiPgotICAgIDx3
ZWJpZGw+aW50ZXJmYWNlIE9yZGVyZWRNYXAgewotICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWdu
ZWQgbG9uZyBzaXplOwotCi0gIGdldHRlciBhbnkgZ2V0QnlJbmRleCh1bnNpZ25lZCBsb25nIGlu
ZGV4KTsKLSAgc2V0dGVyIHZvaWQgc2V0QnlJbmRleCh1bnNpZ25lZCBsb25nIGluZGV4LCBhbnkg
dmFsdWUpOwotICBkZWxldGVyIHZvaWQgcmVtb3ZlQnlJbmRleCh1bnNpZ25lZCBsb25nIGluZGV4
KTsKLQotICBnZXR0ZXIgYW55IGdldChET01TdHJpbmcgbmFtZSk7Ci0gIHNldHRlciBjcmVhdG9y
IHZvaWQgc2V0KERPTVN0cmluZyBuYW1lLCBhbnkgdmFsdWUpOwotICBkZWxldGVyIHZvaWQgcmVt
b3ZlKERPTVN0cmluZyBuYW1lKTsKLX07PC93ZWJpZGw+Ci0gICAgPEF0dHJpYnV0ZSByZWFkb25s
eT0icmVhZG9ubHkiIG5hbWU9InNpemUiIGlkPSI6Ok9yZGVyZWRNYXA6OnNpemUiPgotICAgICAg
PHdlYmlkbD4gIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIHNpemU7PC93ZWJpZGw+
Ci0gICAgICA8VHlwZSB0eXBlPSJ1bnNpZ25lZCBsb25nIi8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0g
ICAgPE9wZXJhdGlvbiBnZXR0ZXI9ImdldHRlciIgbmFtZT0iZ2V0QnlJbmRleCIgaWQ9Ijo6T3Jk
ZXJlZE1hcDo6Z2V0QnlJbmRleCI+Ci0gICAgICA8d2ViaWRsPiAgZ2V0dGVyIGFueSBnZXRCeUlu
ZGV4KHVuc2lnbmVkIGxvbmcgaW5kZXgpOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0iYW55
Ii8+Ci0gICAgICA8QXJndW1lbnRMaXN0PgotICAgICAgICA8QXJndW1lbnQgbmFtZT0iaW5kZXgi
PgotICAgICAgICAgIDxUeXBlIHR5cGU9InVuc2lnbmVkIGxvbmciLz4KLSAgICAgICAgPC9Bcmd1
bWVudD4KLSAgICAgIDwvQXJndW1lbnRMaXN0PgotICAgIDwvT3BlcmF0aW9uPgotICAgIDxPcGVy
YXRpb24gc2V0dGVyPSJzZXR0ZXIiIG5hbWU9InNldEJ5SW5kZXgiIGlkPSI6Ok9yZGVyZWRNYXA6
OnNldEJ5SW5kZXgiPgotICAgICAgPHdlYmlkbD4gIHNldHRlciB2b2lkIHNldEJ5SW5kZXgodW5z
aWduZWQgbG9uZyBpbmRleCwgYW55IHZhbHVlKTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9
InZvaWQiLz4KLSAgICAgIDxBcmd1bWVudExpc3Q+Ci0gICAgICAgIDxBcmd1bWVudCBuYW1lPSJp
bmRleCI+Ci0gICAgICAgICAgPFR5cGUgdHlwZT0idW5zaWduZWQgbG9uZyIvPgotICAgICAgICA8
L0FyZ3VtZW50PgotICAgICAgICA8QXJndW1lbnQgbmFtZT0idmFsdWUiPgotICAgICAgICAgIDxU
eXBlIHR5cGU9ImFueSIvPgotICAgICAgICA8L0FyZ3VtZW50PgotICAgICAgPC9Bcmd1bWVudExp
c3Q+Ci0gICAgPC9PcGVyYXRpb24+Ci0gICAgPE9wZXJhdGlvbiBkZWxldGVyPSJkZWxldGVyIiBu
YW1lPSJyZW1vdmVCeUluZGV4IiBpZD0iOjpPcmRlcmVkTWFwOjpyZW1vdmVCeUluZGV4Ij4KLSAg
ICAgIDx3ZWJpZGw+ICBkZWxldGVyIHZvaWQgcmVtb3ZlQnlJbmRleCh1bnNpZ25lZCBsb25nIGlu
ZGV4KTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9InZvaWQiLz4KLSAgICAgIDxBcmd1bWVu
dExpc3Q+Ci0gICAgICAgIDxBcmd1bWVudCBuYW1lPSJpbmRleCI+Ci0gICAgICAgICAgPFR5cGUg
dHlwZT0idW5zaWduZWQgbG9uZyIvPgotICAgICAgICA8L0FyZ3VtZW50PgotICAgICAgPC9Bcmd1
bWVudExpc3Q+Ci0gICAgPC9PcGVyYXRpb24+Ci0gICAgPE9wZXJhdGlvbiBnZXR0ZXI9ImdldHRl
ciIgbmFtZT0iZ2V0IiBpZD0iOjpPcmRlcmVkTWFwOjpnZXQiPgotICAgICAgPHdlYmlkbD4gIGdl
dHRlciBhbnkgZ2V0KERPTVN0cmluZyBuYW1lKTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9
ImFueSIvPgotICAgICAgPEFyZ3VtZW50TGlzdD4KLSAgICAgICAgPEFyZ3VtZW50IG5hbWU9Im5h
bWUiPgotICAgICAgICAgIDxUeXBlIHR5cGU9IkRPTVN0cmluZyIvPgotICAgICAgICA8L0FyZ3Vt
ZW50PgotICAgICAgPC9Bcmd1bWVudExpc3Q+Ci0gICAgPC9PcGVyYXRpb24+Ci0gICAgPE9wZXJh
dGlvbiBzZXR0ZXI9InNldHRlciIgY3JlYXRvcj0iY3JlYXRvciIgbmFtZT0ic2V0IiBpZD0iOjpP
cmRlcmVkTWFwOjpzZXQiPgotICAgICAgPHdlYmlkbD4gIHNldHRlciBjcmVhdG9yIHZvaWQgc2V0
KERPTVN0cmluZyBuYW1lLCBhbnkgdmFsdWUpOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0i
dm9pZCIvPgotICAgICAgPEFyZ3VtZW50TGlzdD4KLSAgICAgICAgPEFyZ3VtZW50IG5hbWU9Im5h
bWUiPgotICAgICAgICAgIDxUeXBlIHR5cGU9IkRPTVN0cmluZyIvPgotICAgICAgICA8L0FyZ3Vt
ZW50PgotICAgICAgICA8QXJndW1lbnQgbmFtZT0idmFsdWUiPgotICAgICAgICAgIDxUeXBlIHR5
cGU9ImFueSIvPgotICAgICAgICA8L0FyZ3VtZW50PgotICAgICAgPC9Bcmd1bWVudExpc3Q+Ci0g
ICAgPC9PcGVyYXRpb24+Ci0gICAgPE9wZXJhdGlvbiBkZWxldGVyPSJkZWxldGVyIiBuYW1lPSJy
ZW1vdmUiIGlkPSI6Ok9yZGVyZWRNYXA6OnJlbW92ZSI+Ci0gICAgICA8d2ViaWRsPiAgZGVsZXRl
ciB2b2lkIHJlbW92ZShET01TdHJpbmcgbmFtZSk7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBl
PSJ2b2lkIi8+Ci0gICAgICA8QXJndW1lbnRMaXN0PgotICAgICAgICA8QXJndW1lbnQgbmFtZT0i
bmFtZSI+Ci0gICAgICAgICAgPFR5cGUgdHlwZT0iRE9NU3RyaW5nIi8+Ci0gICAgICAgIDwvQXJn
dW1lbnQ+Ci0gICAgICA8L0FyZ3VtZW50TGlzdD4KLSAgICA8L09wZXJhdGlvbj4KLSAgPC9JbnRl
cmZhY2U+Ci08L0RlZmluaXRpb25zPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rl
c3QvdmFsaWQveG1sL2luaGVyaXRzLWdldHRlci53aWRscHJvY3htbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRs
cHJvYy90ZXN0L3ZhbGlkL3htbC9pbmhlcml0cy1nZXR0ZXIud2lkbHByb2N4bWwKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDU1ZTdhMzE3ZmQ5OGNkMWExNjA5ZGZhN2U1YTRmYjVkYmE0
NzEyZDIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL2luaGVyaXRzLWdldHRlci53aWRscHJvY3ht
bAorKysgL2Rldi9udWxsCkBAIC0xLDQ0ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5j
b2Rpbmc9IlVURi04Ij8+Ci08IURPQ1RZUEUgRGVmaW5pdGlvbnMgU1lTVEVNICJ3aWRscHJvY3ht
bC5kdGQiPgotPERlZmluaXRpb25zPgotICA8d2ViaWRsPmludGVyZmFjZSBBbmltYWwgewotCi0g
IHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgbmFtZTsKLX07Ci0KLWludGVyZmFjZSBQZXJz
b24gOiA8cmVmPkFuaW1hbDwvcmVmPiB7Ci0KLSAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVk
IHNob3J0IGFnZTsKLQotICBpbmhlcml0IGF0dHJpYnV0ZSBET01TdHJpbmcgbmFtZTsKLX07PC93
ZWJpZGw+Ci0gIDxJbnRlcmZhY2UgbmFtZT0iQW5pbWFsIiBpZD0iOjpBbmltYWwiPgotICAgIDx3
ZWJpZGw+aW50ZXJmYWNlIEFuaW1hbCB7Ci0KLSAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmlu
ZyBuYW1lOwotfTs8L3dlYmlkbD4KLSAgICA8QXR0cmlidXRlIHJlYWRvbmx5PSJyZWFkb25seSIg
bmFtZT0ibmFtZSIgaWQ9Ijo6QW5pbWFsOjpuYW1lIj4KLSAgICAgIDx3ZWJpZGw+ICByZWFkb25s
eSBhdHRyaWJ1dGUgRE9NU3RyaW5nIG5hbWU7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJE
T01TdHJpbmciLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAgPC9JbnRlcmZhY2U+Ci0gIDxJbnRlcmZh
Y2UgbmFtZT0iUGVyc29uIiBpZD0iOjpQZXJzb24iPgotICAgIDx3ZWJpZGw+aW50ZXJmYWNlIFBl
cnNvbiA6IDxyZWY+QW5pbWFsPC9yZWY+IHsKLQotICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWdu
ZWQgc2hvcnQgYWdlOwotCi0gIGluaGVyaXQgYXR0cmlidXRlIERPTVN0cmluZyBuYW1lOwotfTs8
L3dlYmlkbD4KLSAgICA8SW50ZXJmYWNlSW5oZXJpdGFuY2U+Ci0gICAgICA8TmFtZSBuYW1lPSJB
bmltYWwiLz4KLSAgICA8L0ludGVyZmFjZUluaGVyaXRhbmNlPgotICAgIDxBdHRyaWJ1dGUgcmVh
ZG9ubHk9InJlYWRvbmx5IiBuYW1lPSJhZ2UiIGlkPSI6OlBlcnNvbjo6YWdlIj4KLSAgICAgIDx3
ZWJpZGw+ICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgc2hvcnQgYWdlOzwvd2ViaWRsPgot
ICAgICAgPFR5cGUgdHlwZT0idW5zaWduZWQgc2hvcnQiLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAg
ICA8QXR0cmlidXRlIGluaGVyaXQ9ImluaGVyaXQiIG5hbWU9Im5hbWUiIGlkPSI6OlBlcnNvbjo6
bmFtZSI+Ci0gICAgICA8d2ViaWRsPiAgaW5oZXJpdCBhdHRyaWJ1dGUgRE9NU3RyaW5nIG5hbWU7
PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJET01TdHJpbmciLz4KLSAgICA8L0F0dHJpYnV0
ZT4KLSAgPC9JbnRlcmZhY2U+Ci08L0RlZmluaXRpb25zPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL2ludGVyZmFjZS1pbmhlcml0cy53aWRscHJvY3htbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9pbnRlcmZhY2UtaW5oZXJpdHMud2lk
bHByb2N4bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDk0ZjBlMjlkZjA1ZWI0MzA4
NTY5YTg4MGI3NDI1NjJkNzNlOTNkZTEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL2ludGVyZmFj
ZS1pbmhlcml0cy53aWRscHJvY3htbAorKysgL2Rldi9udWxsCkBAIC0xLDQ4ICswLDAgQEAKLTw/
eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Ci08IURPQ1RZUEUgRGVmaW5pdGlv
bnMgU1lTVEVNICJ3aWRscHJvY3htbC5kdGQiPgotPERlZmluaXRpb25zPgotICA8d2ViaWRsPmlu
dGVyZmFjZSBBbmltYWwgewotICBhdHRyaWJ1dGUgRE9NU3RyaW5nIG5hbWU7Ci19OwotCi1pbnRl
cmZhY2UgSHVtYW4gOiA8cmVmPkFuaW1hbDwvcmVmPiB7Ci0gIGF0dHJpYnV0ZSA8cmVmPkRvZzwv
cmVmPiBwZXQ7Ci19OwotCi1pbnRlcmZhY2UgRG9nIDogPHJlZj5BbmltYWw8L3JlZj4gewotICBh
dHRyaWJ1dGUgPHJlZj5IdW1hbjwvcmVmPiBvd25lcjsKLX07PC93ZWJpZGw+Ci0gIDxJbnRlcmZh
Y2UgbmFtZT0iQW5pbWFsIiBpZD0iOjpBbmltYWwiPgotICAgIDx3ZWJpZGw+aW50ZXJmYWNlIEFu
aW1hbCB7Ci0gIGF0dHJpYnV0ZSBET01TdHJpbmcgbmFtZTsKLX07PC93ZWJpZGw+Ci0gICAgPEF0
dHJpYnV0ZSBuYW1lPSJuYW1lIiBpZD0iOjpBbmltYWw6Om5hbWUiPgotICAgICAgPHdlYmlkbD4g
IGF0dHJpYnV0ZSBET01TdHJpbmcgbmFtZTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9IkRP
TVN0cmluZyIvPgotICAgIDwvQXR0cmlidXRlPgotICA8L0ludGVyZmFjZT4KLSAgPEludGVyZmFj
ZSBuYW1lPSJIdW1hbiIgaWQ9Ijo6SHVtYW4iPgotICAgIDx3ZWJpZGw+aW50ZXJmYWNlIEh1bWFu
IDogPHJlZj5BbmltYWw8L3JlZj4gewotICBhdHRyaWJ1dGUgPHJlZj5Eb2c8L3JlZj4gcGV0Owot
fTs8L3dlYmlkbD4KLSAgICA8SW50ZXJmYWNlSW5oZXJpdGFuY2U+Ci0gICAgICA8TmFtZSBuYW1l
PSJBbmltYWwiLz4KLSAgICA8L0ludGVyZmFjZUluaGVyaXRhbmNlPgotICAgIDxBdHRyaWJ1dGUg
bmFtZT0icGV0IiBpZD0iOjpIdW1hbjo6cGV0Ij4KLSAgICAgIDx3ZWJpZGw+ICBhdHRyaWJ1dGUg
PHJlZj5Eb2c8L3JlZj4gcGV0Ozwvd2ViaWRsPgotICAgICAgPFR5cGUgbmFtZT0iRG9nIi8+Ci0g
ICAgPC9BdHRyaWJ1dGU+Ci0gIDwvSW50ZXJmYWNlPgotICA8SW50ZXJmYWNlIG5hbWU9IkRvZyIg
aWQ9Ijo6RG9nIj4KLSAgICA8d2ViaWRsPmludGVyZmFjZSBEb2cgOiA8cmVmPkFuaW1hbDwvcmVm
PiB7Ci0gIGF0dHJpYnV0ZSA8cmVmPkh1bWFuPC9yZWY+IG93bmVyOwotfTs8L3dlYmlkbD4KLSAg
ICA8SW50ZXJmYWNlSW5oZXJpdGFuY2U+Ci0gICAgICA8TmFtZSBuYW1lPSJBbmltYWwiLz4KLSAg
ICA8L0ludGVyZmFjZUluaGVyaXRhbmNlPgotICAgIDxBdHRyaWJ1dGUgbmFtZT0ib3duZXIiIGlk
PSI6OkRvZzo6b3duZXIiPgotICAgICAgPHdlYmlkbD4gIGF0dHJpYnV0ZSA8cmVmPkh1bWFuPC9y
ZWY+IG93bmVyOzwvd2ViaWRsPgotICAgICAgPFR5cGUgbmFtZT0iSHVtYW4iLz4KLSAgICA8L0F0
dHJpYnV0ZT4KLSAgPC9JbnRlcmZhY2U+Ci08L0RlZmluaXRpb25zPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL2l0ZXJhdG9yLndpZGxwcm9jeG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL2l0ZXJhdG9yLndpZGxwcm9jeG1sCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4Y2E5NWZiYmQxN2YzMDJlMjVkN2FiMGYyNTVjODc1
MTgyM2FlMGE1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9pdGVyYXRvci53aWRscHJvY3htbAor
KysgL2Rldi9udWxsCkBAIC0xLDEzMiArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29k
aW5nPSJVVEYtOCI/PgotPCFET0NUWVBFIERlZmluaXRpb25zIFNZU1RFTSAid2lkbHByb2N4bWwu
ZHRkIj4KLTxEZWZpbml0aW9ucz4KLSAgPHdlYmlkbD5pbnRlcmZhY2UgU2Vzc2lvbk1hbmFnZXIg
ewotICA8cmVmPlNlc3Npb248L3JlZj4gZ2V0U2Vzc2lvbkZvclVzZXIoRE9NU3RyaW5nIHVzZXJu
YW1lKTsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgc2Vzc2lvbkNvdW50Owot
Ci0gIDxyZWY+U2Vzc2lvbjwvcmVmPiBpdGVyYXRvcjsKLX07Ci0KLWludGVyZmFjZSBTZXNzaW9u
IHsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyB1c2VybmFtZTsKLX07Ci0KLWludGVy
ZmFjZSBTZXNzaW9uTWFuYWdlcjIgewotICA8cmVmPlNlc3Npb24yPC9yZWY+IGdldFNlc3Npb25G
b3JVc2VyKERPTVN0cmluZyB1c2VybmFtZSk7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25l
ZCBsb25nIHNlc3Npb25Db3VudDsKLQotICA8cmVmPlNlc3Npb24yPC9yZWY+IGl0ZXJhdG9yID0g
U2Vzc2lvbkl0ZXJhdG9yOwotfTsKLQotaW50ZXJmYWNlIFNlc3Npb24yIHsKLSAgcmVhZG9ubHkg
YXR0cmlidXRlIERPTVN0cmluZyB1c2VybmFtZTsKLX07Ci0KLWludGVyZmFjZSBTZXNzaW9uSXRl
cmF0b3IgewotICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyByZW1haW5pbmdTZXNz
aW9uczsKLX07Ci0KLSAgICAgaW50ZXJmYWNlIE5vZGVMaXN0IHsKLSAgICAgICA8cmVmPk5vZGU8
L3JlZj4gaXRlcmF0b3IgPSBOb2RlSXRlcmF0b3I7Ci0gICAgIH07Ci0KLSAgICAgaW50ZXJmYWNl
IE5vZGVJdGVyYXRvciB7Ci0gICAgICAgPHJlZj5Ob2RlPC9yZWY+IGl0ZXJhdG9yIG9iamVjdDsK
LSAgICAgfTs8L3dlYmlkbD4KLSAgPEludGVyZmFjZSBuYW1lPSJTZXNzaW9uTWFuYWdlciIgaWQ9
Ijo6U2Vzc2lvbk1hbmFnZXIiPgotICAgIDx3ZWJpZGw+aW50ZXJmYWNlIFNlc3Npb25NYW5hZ2Vy
IHsKLSAgPHJlZj5TZXNzaW9uPC9yZWY+IGdldFNlc3Npb25Gb3JVc2VyKERPTVN0cmluZyB1c2Vy
bmFtZSk7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIHNlc3Npb25Db3VudDsK
LQotICA8cmVmPlNlc3Npb248L3JlZj4gaXRlcmF0b3I7Ci19Ozwvd2ViaWRsPgotICAgIDxPcGVy
YXRpb24gbmFtZT0iZ2V0U2Vzc2lvbkZvclVzZXIiIGlkPSI6OlNlc3Npb25NYW5hZ2VyOjpnZXRT
ZXNzaW9uRm9yVXNlciI+Ci0gICAgICA8d2ViaWRsPiAgPHJlZj5TZXNzaW9uPC9yZWY+IGdldFNl
c3Npb25Gb3JVc2VyKERPTVN0cmluZyB1c2VybmFtZSk7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSBu
YW1lPSJTZXNzaW9uIi8+Ci0gICAgICA8QXJndW1lbnRMaXN0PgotICAgICAgICA8QXJndW1lbnQg
bmFtZT0idXNlcm5hbWUiPgotICAgICAgICAgIDxUeXBlIHR5cGU9IkRPTVN0cmluZyIvPgotICAg
ICAgICA8L0FyZ3VtZW50PgotICAgICAgPC9Bcmd1bWVudExpc3Q+Ci0gICAgPC9PcGVyYXRpb24+
Ci0gICAgPEF0dHJpYnV0ZSByZWFkb25seT0icmVhZG9ubHkiIG5hbWU9InNlc3Npb25Db3VudCIg
aWQ9Ijo6U2Vzc2lvbk1hbmFnZXI6OnNlc3Npb25Db3VudCI+Ci0gICAgICA8d2ViaWRsPiAgcmVh
ZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgc2Vzc2lvbkNvdW50Ozwvd2ViaWRsPgotICAg
ICAgPFR5cGUgdHlwZT0idW5zaWduZWQgbG9uZyIvPgotICAgIDwvQXR0cmlidXRlPgotICAgIDxJ
dGVyYXRvcj4KLSAgICAgIDx3ZWJpZGw+ICA8cmVmPlNlc3Npb248L3JlZj4gaXRlcmF0b3I7PC93
ZWJpZGw+Ci0gICAgICA8VHlwZSBuYW1lPSJTZXNzaW9uIi8+Ci0gICAgPC9JdGVyYXRvcj4KLSAg
PC9JbnRlcmZhY2U+Ci0gIDxJbnRlcmZhY2UgbmFtZT0iU2Vzc2lvbiIgaWQ9Ijo6U2Vzc2lvbiI+
Ci0gICAgPHdlYmlkbD5pbnRlcmZhY2UgU2Vzc2lvbiB7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSBE
T01TdHJpbmcgdXNlcm5hbWU7Ci19Ozwvd2ViaWRsPgotICAgIDxBdHRyaWJ1dGUgcmVhZG9ubHk9
InJlYWRvbmx5IiBuYW1lPSJ1c2VybmFtZSIgaWQ9Ijo6U2Vzc2lvbjo6dXNlcm5hbWUiPgotICAg
ICAgPHdlYmlkbD4gIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgdXNlcm5hbWU7PC93ZWJp
ZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJET01TdHJpbmciLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAg
PC9JbnRlcmZhY2U+Ci0gIDxJbnRlcmZhY2UgbmFtZT0iU2Vzc2lvbk1hbmFnZXIyIiBpZD0iOjpT
ZXNzaW9uTWFuYWdlcjIiPgotICAgIDx3ZWJpZGw+aW50ZXJmYWNlIFNlc3Npb25NYW5hZ2VyMiB7
Ci0gIDxyZWY+U2Vzc2lvbjI8L3JlZj4gZ2V0U2Vzc2lvbkZvclVzZXIoRE9NU3RyaW5nIHVzZXJu
YW1lKTsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgc2Vzc2lvbkNvdW50Owot
Ci0gIDxyZWY+U2Vzc2lvbjI8L3JlZj4gaXRlcmF0b3IgPSBTZXNzaW9uSXRlcmF0b3I7Ci19Ozwv
d2ViaWRsPgotICAgIDxPcGVyYXRpb24gbmFtZT0iZ2V0U2Vzc2lvbkZvclVzZXIiIGlkPSI6OlNl
c3Npb25NYW5hZ2VyMjo6Z2V0U2Vzc2lvbkZvclVzZXIiPgotICAgICAgPHdlYmlkbD4gIDxyZWY+
U2Vzc2lvbjI8L3JlZj4gZ2V0U2Vzc2lvbkZvclVzZXIoRE9NU3RyaW5nIHVzZXJuYW1lKTs8L3dl
YmlkbD4KLSAgICAgIDxUeXBlIG5hbWU9IlNlc3Npb24yIi8+Ci0gICAgICA8QXJndW1lbnRMaXN0
PgotICAgICAgICA8QXJndW1lbnQgbmFtZT0idXNlcm5hbWUiPgotICAgICAgICAgIDxUeXBlIHR5
cGU9IkRPTVN0cmluZyIvPgotICAgICAgICA8L0FyZ3VtZW50PgotICAgICAgPC9Bcmd1bWVudExp
c3Q+Ci0gICAgPC9PcGVyYXRpb24+Ci0gICAgPEF0dHJpYnV0ZSByZWFkb25seT0icmVhZG9ubHki
IG5hbWU9InNlc3Npb25Db3VudCIgaWQ9Ijo6U2Vzc2lvbk1hbmFnZXIyOjpzZXNzaW9uQ291bnQi
PgotICAgICAgPHdlYmlkbD4gIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIHNlc3Np
b25Db3VudDs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9InVuc2lnbmVkIGxvbmciLz4KLSAg
ICA8L0F0dHJpYnV0ZT4KLSAgICA8SXRlcmF0b3IgaW50ZXJmYWNlPSJTZXNzaW9uSXRlcmF0b3Ii
PgotICAgICAgPHdlYmlkbD4gIDxyZWY+U2Vzc2lvbjI8L3JlZj4gaXRlcmF0b3IgPSBTZXNzaW9u
SXRlcmF0b3I7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSBuYW1lPSJTZXNzaW9uMiIvPgotICAgIDwv
SXRlcmF0b3I+Ci0gIDwvSW50ZXJmYWNlPgotICA8SW50ZXJmYWNlIG5hbWU9IlNlc3Npb24yIiBp
ZD0iOjpTZXNzaW9uMiI+Ci0gICAgPHdlYmlkbD5pbnRlcmZhY2UgU2Vzc2lvbjIgewotICByZWFk
b25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHVzZXJuYW1lOwotfTs8L3dlYmlkbD4KLSAgICA8QXR0
cmlidXRlIHJlYWRvbmx5PSJyZWFkb25seSIgbmFtZT0idXNlcm5hbWUiIGlkPSI6OlNlc3Npb24y
Ojp1c2VybmFtZSI+Ci0gICAgICA8d2ViaWRsPiAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmlu
ZyB1c2VybmFtZTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9IkRPTVN0cmluZyIvPgotICAg
IDwvQXR0cmlidXRlPgotICA8L0ludGVyZmFjZT4KLSAgPEludGVyZmFjZSBuYW1lPSJTZXNzaW9u
SXRlcmF0b3IiIGlkPSI6OlNlc3Npb25JdGVyYXRvciI+Ci0gICAgPHdlYmlkbD5pbnRlcmZhY2Ug
U2Vzc2lvbkl0ZXJhdG9yIHsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgcmVt
YWluaW5nU2Vzc2lvbnM7Ci19Ozwvd2ViaWRsPgotICAgIDxBdHRyaWJ1dGUgcmVhZG9ubHk9InJl
YWRvbmx5IiBuYW1lPSJyZW1haW5pbmdTZXNzaW9ucyIgaWQ9Ijo6U2Vzc2lvbkl0ZXJhdG9yOjpy
ZW1haW5pbmdTZXNzaW9ucyI+Ci0gICAgICA8d2ViaWRsPiAgcmVhZG9ubHkgYXR0cmlidXRlIHVu
c2lnbmVkIGxvbmcgcmVtYWluaW5nU2Vzc2lvbnM7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBl
PSJ1bnNpZ25lZCBsb25nIi8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gIDwvSW50ZXJmYWNlPgotICA8
SW50ZXJmYWNlIG5hbWU9Ik5vZGVMaXN0IiBpZD0iOjpOb2RlTGlzdCI+Ci0gICAgPHdlYmlkbD4g
ICAgIGludGVyZmFjZSBOb2RlTGlzdCB7Ci0gICAgICAgPHJlZj5Ob2RlPC9yZWY+IGl0ZXJhdG9y
ID0gTm9kZUl0ZXJhdG9yOwotICAgICB9Ozwvd2ViaWRsPgotICAgIDxJdGVyYXRvciBpbnRlcmZh
Y2U9Ik5vZGVJdGVyYXRvciI+Ci0gICAgICA8d2ViaWRsPiAgICAgICA8cmVmPk5vZGU8L3JlZj4g
aXRlcmF0b3IgPSBOb2RlSXRlcmF0b3I7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSBuYW1lPSJOb2Rl
Ii8+Ci0gICAgPC9JdGVyYXRvcj4KLSAgPC9JbnRlcmZhY2U+Ci0gIDxJbnRlcmZhY2UgbmFtZT0i
Tm9kZUl0ZXJhdG9yIiBpZD0iOjpOb2RlSXRlcmF0b3IiPgotICAgIDx3ZWJpZGw+ICAgICBpbnRl
cmZhY2UgTm9kZUl0ZXJhdG9yIHsKLSAgICAgICA8cmVmPk5vZGU8L3JlZj4gaXRlcmF0b3Igb2Jq
ZWN0OwotICAgICB9Ozwvd2ViaWRsPgotICAgIDxJdGVyYXRvck9iamVjdD4KLSAgICAgIDx3ZWJp
ZGw+ICAgICAgIDxyZWY+Tm9kZTwvcmVmPiBpdGVyYXRvciBvYmplY3Q7PC93ZWJpZGw+Ci0gICAg
ICA8VHlwZSBuYW1lPSJOb2RlIi8+Ci0gICAgPC9JdGVyYXRvck9iamVjdD4KLSAgPC9JbnRlcmZh
Y2U+Ci08L0RlZmluaXRpb25zPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3Qv
dmFsaWQveG1sL21vZHVsZS53aWRscHJvY3htbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3Zh
bGlkL3htbC9tb2R1bGUud2lkbHByb2N4bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IGI1NzViODcwNWFmYWMwM2MzYzE1OTRiODFhNGMwODIxNjM0NmUxNTkuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3Qv
dmFsaWQveG1sL21vZHVsZS53aWRscHJvY3htbAorKysgL2Rldi9udWxsCkBAIC0xLDk5ICswLDAg
QEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Ci08IURPQ1RZUEUgRGVm
aW5pdGlvbnMgU1lTVEVNICJ3aWRscHJvY3htbC5kdGQiPgotPERlZmluaXRpb25zPgotICA8TW9k
dWxlIG5hbWU9ImdmeCIgaWQ9Ijo6Z2Z4Ij4KLSAgICA8d2ViaWRsPm1vZHVsZSBnZnggewotCi0g
IG1vZHVsZSBnZW9tIHsKLSAgICBpbnRlcmZhY2UgU2hhcGUgeyAgfTsKLSAgICBpbnRlcmZhY2Ug
UmVjdGFuZ2xlIDogPHJlZj5TaGFwZTwvcmVmPiB7ICB9OwotICAgIGludGVyZmFjZSBQYXRoIDog
PHJlZj5TaGFwZTwvcmVmPiB7ICB9OwotICB9OwotCi0gIGludGVyZmFjZSBHcmFwaGljc0NvbnRl
eHQgewotICAgIHZvaWQgZmlsbFNoYXBlKDxyZWY+Z2VvbTo6U2hhcGU8L3JlZj4gcyk7Ci0gICAg
dm9pZCBzdHJva2VTaGFwZSg8cmVmPmdlb206OlNoYXBlPC9yZWY+IHMpOwotICB9OwotfTs8L3dl
YmlkbD4KLSAgICA8TW9kdWxlIG5hbWU9Imdlb20iIGlkPSI6OmdmeDo6Z2VvbSI+Ci0gICAgICA8
d2ViaWRsPiAgbW9kdWxlIGdlb20gewotICAgIGludGVyZmFjZSBTaGFwZSB7ICB9OwotICAgIGlu
dGVyZmFjZSBSZWN0YW5nbGUgOiA8cmVmPlNoYXBlPC9yZWY+IHsgIH07Ci0gICAgaW50ZXJmYWNl
IFBhdGggOiA8cmVmPlNoYXBlPC9yZWY+IHsgIH07Ci0gIH07PC93ZWJpZGw+Ci0gICAgICA8SW50
ZXJmYWNlIG5hbWU9IlNoYXBlIiBpZD0iOjpnZng6Omdlb206OlNoYXBlIj4KLSAgICAgICAgPHdl
YmlkbD4gICAgaW50ZXJmYWNlIFNoYXBlIHsgIH07PC93ZWJpZGw+Ci0gICAgICA8L0ludGVyZmFj
ZT4KLSAgICAgIDxJbnRlcmZhY2UgbmFtZT0iUmVjdGFuZ2xlIiBpZD0iOjpnZng6Omdlb206OlJl
Y3RhbmdsZSI+Ci0gICAgICAgIDx3ZWJpZGw+ICAgIGludGVyZmFjZSBSZWN0YW5nbGUgOiA8cmVm
PlNoYXBlPC9yZWY+IHsgIH07PC93ZWJpZGw+Ci0gICAgICAgIDxJbnRlcmZhY2VJbmhlcml0YW5j
ZT4KLSAgICAgICAgICA8TmFtZSBuYW1lPSJTaGFwZSIvPgotICAgICAgICA8L0ludGVyZmFjZUlu
aGVyaXRhbmNlPgotICAgICAgPC9JbnRlcmZhY2U+Ci0gICAgICA8SW50ZXJmYWNlIG5hbWU9IlBh
dGgiIGlkPSI6OmdmeDo6Z2VvbTo6UGF0aCI+Ci0gICAgICAgIDx3ZWJpZGw+ICAgIGludGVyZmFj
ZSBQYXRoIDogPHJlZj5TaGFwZTwvcmVmPiB7ICB9Ozwvd2ViaWRsPgotICAgICAgICA8SW50ZXJm
YWNlSW5oZXJpdGFuY2U+Ci0gICAgICAgICAgPE5hbWUgbmFtZT0iU2hhcGUiLz4KLSAgICAgICAg
PC9JbnRlcmZhY2VJbmhlcml0YW5jZT4KLSAgICAgIDwvSW50ZXJmYWNlPgotICAgIDwvTW9kdWxl
PgotICAgIDxJbnRlcmZhY2UgbmFtZT0iR3JhcGhpY3NDb250ZXh0IiBpZD0iOjpnZng6OkdyYXBo
aWNzQ29udGV4dCI+Ci0gICAgICA8d2ViaWRsPiAgaW50ZXJmYWNlIEdyYXBoaWNzQ29udGV4dCB7
Ci0gICAgdm9pZCBmaWxsU2hhcGUoPHJlZj5nZW9tOjpTaGFwZTwvcmVmPiBzKTsKLSAgICB2b2lk
IHN0cm9rZVNoYXBlKDxyZWY+Z2VvbTo6U2hhcGU8L3JlZj4gcyk7Ci0gIH07PC93ZWJpZGw+Ci0g
ICAgICA8T3BlcmF0aW9uIG5hbWU9ImZpbGxTaGFwZSIgaWQ9Ijo6Z2Z4OjpHcmFwaGljc0NvbnRl
eHQ6OmZpbGxTaGFwZSI+Ci0gICAgICAgIDx3ZWJpZGw+ICAgIHZvaWQgZmlsbFNoYXBlKDxyZWY+
Z2VvbTo6U2hhcGU8L3JlZj4gcyk7PC93ZWJpZGw+Ci0gICAgICAgIDxUeXBlIHR5cGU9InZvaWQi
Lz4KLSAgICAgICAgPEFyZ3VtZW50TGlzdD4KLSAgICAgICAgICA8QXJndW1lbnQgbmFtZT0icyI+
Ci0gICAgICAgICAgICA8VHlwZSBuYW1lPSJnZW9tOjpTaGFwZSIvPgotICAgICAgICAgIDwvQXJn
dW1lbnQ+Ci0gICAgICAgIDwvQXJndW1lbnRMaXN0PgotICAgICAgPC9PcGVyYXRpb24+Ci0gICAg
ICA8T3BlcmF0aW9uIG5hbWU9InN0cm9rZVNoYXBlIiBpZD0iOjpnZng6OkdyYXBoaWNzQ29udGV4
dDo6c3Ryb2tlU2hhcGUiPgotICAgICAgICA8d2ViaWRsPiAgICB2b2lkIHN0cm9rZVNoYXBlKDxy
ZWY+Z2VvbTo6U2hhcGU8L3JlZj4gcyk7PC93ZWJpZGw+Ci0gICAgICAgIDxUeXBlIHR5cGU9InZv
aWQiLz4KLSAgICAgICAgPEFyZ3VtZW50TGlzdD4KLSAgICAgICAgICA8QXJndW1lbnQgbmFtZT0i
cyI+Ci0gICAgICAgICAgICA8VHlwZSBuYW1lPSJnZW9tOjpTaGFwZSIvPgotICAgICAgICAgIDwv
QXJndW1lbnQ+Ci0gICAgICAgIDwvQXJndW1lbnRMaXN0PgotICAgICAgPC9PcGVyYXRpb24+Ci0g
ICAgPC9JbnRlcmZhY2U+Ci0gIDwvTW9kdWxlPgotICA8TW9kdWxlIG5hbWU9Imd1aSIgaWQ9Ijo6
Z3VpIj4KLSAgICA8d2ViaWRsPm1vZHVsZSBndWkgewotCi0gIGludGVyZmFjZSBXaWRnZXQgeyAg
IH07Ci0KLSAgaW50ZXJmYWNlIFdpbmRvdyA6IDxyZWY+V2lkZ2V0PC9yZWY+IHsKLSAgICA8cmVm
PmdmeDo6R3JhcGhpY3NDb250ZXh0PC9yZWY+IGdldEdyYXBoaWNzQ29udGV4dCgpOwotICB9Owot
Ci0gIGludGVyZmFjZSBCdXR0b24gOiA8cmVmPldpZGdldDwvcmVmPiB7ICAgfTsKLX07PC93ZWJp
ZGw+Ci0gICAgPEludGVyZmFjZSBuYW1lPSJXaWRnZXQiIGlkPSI6Omd1aTo6V2lkZ2V0Ij4KLSAg
ICAgIDx3ZWJpZGw+ICBpbnRlcmZhY2UgV2lkZ2V0IHsgICB9Ozwvd2ViaWRsPgotICAgIDwvSW50
ZXJmYWNlPgotICAgIDxJbnRlcmZhY2UgbmFtZT0iV2luZG93IiBpZD0iOjpndWk6OldpbmRvdyI+
Ci0gICAgICA8d2ViaWRsPiAgaW50ZXJmYWNlIFdpbmRvdyA6IDxyZWY+V2lkZ2V0PC9yZWY+IHsK
LSAgICA8cmVmPmdmeDo6R3JhcGhpY3NDb250ZXh0PC9yZWY+IGdldEdyYXBoaWNzQ29udGV4dCgp
OwotICB9Ozwvd2ViaWRsPgotICAgICAgPEludGVyZmFjZUluaGVyaXRhbmNlPgotICAgICAgICA8
TmFtZSBuYW1lPSJXaWRnZXQiLz4KLSAgICAgIDwvSW50ZXJmYWNlSW5oZXJpdGFuY2U+Ci0gICAg
ICA8T3BlcmF0aW9uIG5hbWU9ImdldEdyYXBoaWNzQ29udGV4dCIgaWQ9Ijo6Z3VpOjpXaW5kb3c6
OmdldEdyYXBoaWNzQ29udGV4dCI+Ci0gICAgICAgIDx3ZWJpZGw+ICAgIDxyZWY+Z2Z4OjpHcmFw
aGljc0NvbnRleHQ8L3JlZj4gZ2V0R3JhcGhpY3NDb250ZXh0KCk7PC93ZWJpZGw+Ci0gICAgICAg
IDxUeXBlIG5hbWU9ImdmeDo6R3JhcGhpY3NDb250ZXh0Ii8+Ci0gICAgICAgIDxBcmd1bWVudExp
c3QvPgotICAgICAgPC9PcGVyYXRpb24+Ci0gICAgPC9JbnRlcmZhY2U+Ci0gICAgPEludGVyZmFj
ZSBuYW1lPSJCdXR0b24iIGlkPSI6Omd1aTo6QnV0dG9uIj4KLSAgICAgIDx3ZWJpZGw+ICBpbnRl
cmZhY2UgQnV0dG9uIDogPHJlZj5XaWRnZXQ8L3JlZj4geyAgIH07PC93ZWJpZGw+Ci0gICAgICA8
SW50ZXJmYWNlSW5oZXJpdGFuY2U+Ci0gICAgICAgIDxOYW1lIG5hbWU9IldpZGdldCIvPgotICAg
ICAgPC9JbnRlcmZhY2VJbmhlcml0YW5jZT4KLSAgICA8L0ludGVyZmFjZT4KLSAgPC9Nb2R1bGU+
Ci08L0RlZmluaXRpb25zPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFs
aWQveG1sL25hbWVkY29uc3RydWN0b3Iud2lkbHByb2N4bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mv
dGVzdC92YWxpZC94bWwvbmFtZWRjb25zdHJ1Y3Rvci53aWRscHJvY3htbApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggOWY2NjE2MTI4Nzk4Y2U4ZGViOGM3YTEyOTlmOTQzNjZlOWRmM2Mx
NS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvbmFtZWRjb25zdHJ1Y3Rvci53aWRscHJvY3htbAor
KysgL2Rldi9udWxsCkBAIC0xLDMwICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rp
bmc9IlVURi04Ij8+Ci08IURPQ1RZUEUgRGVmaW5pdGlvbnMgU1lTVEVNICJ3aWRscHJvY3htbC5k
dGQiPgotPERlZmluaXRpb25zPgotICA8d2ViaWRsPltOYW1lZENvbnN0cnVjdG9yPUF1ZGlvLAot
IE5hbWVkQ29uc3RydWN0b3I9QXVkaW8oRE9NU3RyaW5nIHNyYyldCi1pbnRlcmZhY2UgSFRNTEF1
ZGlvRWxlbWVudCA6IDxyZWY+SFRNTE1lZGlhRWxlbWVudDwvcmVmPiB7Ci19Ozwvd2ViaWRsPgot
ICA8SW50ZXJmYWNlIG5hbWU9IkhUTUxBdWRpb0VsZW1lbnQiIGlkPSI6OkhUTUxBdWRpb0VsZW1l
bnQiPgotICAgIDx3ZWJpZGw+W05hbWVkQ29uc3RydWN0b3I9QXVkaW8sCi0gTmFtZWRDb25zdHJ1
Y3Rvcj1BdWRpbyhET01TdHJpbmcgc3JjKV0KLWludGVyZmFjZSBIVE1MQXVkaW9FbGVtZW50IDog
PHJlZj5IVE1MTWVkaWFFbGVtZW50PC9yZWY+IHsKLX07PC93ZWJpZGw+Ci0gICAgPEV4dGVuZGVk
QXR0cmlidXRlTGlzdD4KLSAgICAgIDxFeHRlbmRlZEF0dHJpYnV0ZSBuYW1lPSJOYW1lZENvbnN0
cnVjdG9yIiB2YWx1ZT0iQXVkaW8iPgotICAgICAgICA8d2ViaWRsPk5hbWVkQ29uc3RydWN0b3I8
L3dlYmlkbD4KLSAgICAgIDwvRXh0ZW5kZWRBdHRyaWJ1dGU+Ci0gICAgICA8RXh0ZW5kZWRBdHRy
aWJ1dGUgbmFtZT0iTmFtZWRDb25zdHJ1Y3RvciIgdmFsdWU9IkF1ZGlvIj4KLSAgICAgICAgPHdl
YmlkbD4gTmFtZWRDb25zdHJ1Y3Rvcj1BdWRpbyhET01TdHJpbmcgc3JjKTwvd2ViaWRsPgotICAg
ICAgICA8QXJndW1lbnRMaXN0PgotICAgICAgICAgIDxBcmd1bWVudCBuYW1lPSJzcmMiPgotICAg
ICAgICAgICAgPFR5cGUgdHlwZT0iRE9NU3RyaW5nIi8+Ci0gICAgICAgICAgPC9Bcmd1bWVudD4K
LSAgICAgICAgPC9Bcmd1bWVudExpc3Q+Ci0gICAgICA8L0V4dGVuZGVkQXR0cmlidXRlPgotICAg
IDwvRXh0ZW5kZWRBdHRyaWJ1dGVMaXN0PgotICAgIDxJbnRlcmZhY2VJbmhlcml0YW5jZT4KLSAg
ICAgIDxOYW1lIG5hbWU9IkhUTUxNZWRpYUVsZW1lbnQiLz4KLSAgICA8L0ludGVyZmFjZUluaGVy
aXRhbmNlPgotICA8L0ludGVyZmFjZT4KLTwvRGVmaW5pdGlvbnM+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvbmFtZXNwYWNlb2JqZWN0LndpZGxwcm9jeG1s
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL25hbWVzcGFjZW9iamVjdC53aWRs
cHJvY3htbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYWYwY2RlOTM3MTk5NjQyZTU0
M2QxZDMwZDI2Njk3NTQxNjQzODY1MS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvbmFtZXNwYWNl
b2JqZWN0LndpZGxwcm9jeG1sCisrKyAvZGV2L251bGwKQEAgLTEsNjAgKzAsMCBAQAotPD94bWwg
dmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KLTwhRE9DVFlQRSBEZWZpbml0aW9ucyBT
WVNURU0gIndpZGxwcm9jeG1sLmR0ZCI+Ci08RGVmaW5pdGlvbnM+Ci0gIDxNb2R1bGUgbmFtZT0i
YWNtZSIgaWQ9Ijo6YWNtZSI+Ci0gICAgPHdlYmlkbD5bTmFtZXNwYWNlT2JqZWN0XQotbW9kdWxl
IGFjbWUgewotICAKLSAgZXhjZXB0aW9uIERldmljZUV4Y2VwdGlvbiB7IH07Ci0KLSAgbW9kdWxl
IHBpbSB7Ci0KLSAgICBbQ29uc3RydWN0b3JdCi0gICAgaW50ZXJmYWNlIENvbnRhY3QgeyB9Owot
Ci0gICAgW0NvbnN0cnVjdG9yLAotICAgICBOYW1lZENvbnN0cnVjdG9yPVJlY3VycmluZ0V2ZW50
KGxvbmcgZnJlcSldCi0gICAgaW50ZXJmYWNlIENhbGVuZGFyRXZlbnQgeyB9OwotICB9OwotfTs8
L3dlYmlkbD4KLSAgICA8RXh0ZW5kZWRBdHRyaWJ1dGVMaXN0PgotICAgICAgPEV4dGVuZGVkQXR0
cmlidXRlIG5hbWU9Ik5hbWVzcGFjZU9iamVjdCIvPgotICAgIDwvRXh0ZW5kZWRBdHRyaWJ1dGVM
aXN0PgotICAgIDxFeGNlcHRpb24gbmFtZT0iRGV2aWNlRXhjZXB0aW9uIiBpZD0iOjphY21lOjpE
ZXZpY2VFeGNlcHRpb24iPgotICAgICAgPHdlYmlkbD4gIGV4Y2VwdGlvbiBEZXZpY2VFeGNlcHRp
b24geyB9Ozwvd2ViaWRsPgotICAgIDwvRXhjZXB0aW9uPgotICAgIDxNb2R1bGUgbmFtZT0icGlt
IiBpZD0iOjphY21lOjpwaW0iPgotICAgICAgPHdlYmlkbD4gIG1vZHVsZSBwaW0gewotCi0gICAg
W0NvbnN0cnVjdG9yXQotICAgIGludGVyZmFjZSBDb250YWN0IHsgfTsKLQotICAgIFtDb25zdHJ1
Y3RvciwKLSAgICAgTmFtZWRDb25zdHJ1Y3Rvcj1SZWN1cnJpbmdFdmVudChsb25nIGZyZXEpXQot
ICAgIGludGVyZmFjZSBDYWxlbmRhckV2ZW50IHsgfTsKLSAgfTs8L3dlYmlkbD4KLSAgICAgIDxJ
bnRlcmZhY2UgbmFtZT0iQ29udGFjdCIgaWQ9Ijo6YWNtZTo6cGltOjpDb250YWN0Ij4KLSAgICAg
ICAgPHdlYmlkbD4gICAgW0NvbnN0cnVjdG9yXQotICAgIGludGVyZmFjZSBDb250YWN0IHsgfTs8
L3dlYmlkbD4KLSAgICAgICAgPEV4dGVuZGVkQXR0cmlidXRlTGlzdD4KLSAgICAgICAgICA8RXh0
ZW5kZWRBdHRyaWJ1dGUgbmFtZT0iQ29uc3RydWN0b3IiLz4KLSAgICAgICAgPC9FeHRlbmRlZEF0
dHJpYnV0ZUxpc3Q+Ci0gICAgICA8L0ludGVyZmFjZT4KLSAgICAgIDxJbnRlcmZhY2UgbmFtZT0i
Q2FsZW5kYXJFdmVudCIgaWQ9Ijo6YWNtZTo6cGltOjpDYWxlbmRhckV2ZW50Ij4KLSAgICAgICAg
PHdlYmlkbD4gICAgW0NvbnN0cnVjdG9yLAotICAgICBOYW1lZENvbnN0cnVjdG9yPVJlY3Vycmlu
Z0V2ZW50KGxvbmcgZnJlcSldCi0gICAgaW50ZXJmYWNlIENhbGVuZGFyRXZlbnQgeyB9Ozwvd2Vi
aWRsPgotICAgICAgICA8RXh0ZW5kZWRBdHRyaWJ1dGVMaXN0PgotICAgICAgICAgIDxFeHRlbmRl
ZEF0dHJpYnV0ZSBuYW1lPSJDb25zdHJ1Y3RvciIvPgotICAgICAgICAgIDxFeHRlbmRlZEF0dHJp
YnV0ZSBuYW1lPSJOYW1lZENvbnN0cnVjdG9yIiB2YWx1ZT0iUmVjdXJyaW5nRXZlbnQiPgotICAg
ICAgICAgICAgPEFyZ3VtZW50TGlzdD4KLSAgICAgICAgICAgICAgPEFyZ3VtZW50IG5hbWU9ImZy
ZXEiPgotICAgICAgICAgICAgICAgIDxUeXBlIHR5cGU9ImxvbmciLz4KLSAgICAgICAgICAgICAg
PC9Bcmd1bWVudD4KLSAgICAgICAgICAgIDwvQXJndW1lbnRMaXN0PgotICAgICAgICAgIDwvRXh0
ZW5kZWRBdHRyaWJ1dGU+Ci0gICAgICAgIDwvRXh0ZW5kZWRBdHRyaWJ1dGVMaXN0PgotICAgICAg
PC9JbnRlcmZhY2U+Ci0gICAgPC9Nb2R1bGU+Ci0gIDwvTW9kdWxlPgotPC9EZWZpbml0aW9ucz4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9ub2ludGVyZmFj
ZW9iamVjdC53aWRscHJvY3htbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9u
b2ludGVyZmFjZW9iamVjdC53aWRscHJvY3htbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggZjY0ZjExNmI2MGZiOGU1NmI2NTYwYTY5YjFlMmI2N2YxM2FmYWFkOS4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVz
dC92YWxpZC94bWwvbm9pbnRlcmZhY2VvYmplY3Qud2lkbHByb2N4bWwKKysrIC9kZXYvbnVsbApA
QCAtMSwyOCArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/Pgot
PCFET0NUWVBFIERlZmluaXRpb25zIFNZU1RFTSAid2lkbHByb2N4bWwuZHRkIj4KLTxEZWZpbml0
aW9ucz4KLSAgPHdlYmlkbD5bTm9JbnRlcmZhY2VPYmplY3RdCi1pbnRlcmZhY2UgUXVlcnkgewot
ICBhbnkgbG9va3VwRW50cnkodW5zaWduZWQgbG9uZyBrZXkpOwotfTs8L3dlYmlkbD4KLSAgPElu
dGVyZmFjZSBuYW1lPSJRdWVyeSIgaWQ9Ijo6UXVlcnkiPgotICAgIDx3ZWJpZGw+W05vSW50ZXJm
YWNlT2JqZWN0XQotaW50ZXJmYWNlIFF1ZXJ5IHsKLSAgYW55IGxvb2t1cEVudHJ5KHVuc2lnbmVk
IGxvbmcga2V5KTsKLX07PC93ZWJpZGw+Ci0gICAgPEV4dGVuZGVkQXR0cmlidXRlTGlzdD4KLSAg
ICAgIDxFeHRlbmRlZEF0dHJpYnV0ZSBuYW1lPSJOb0ludGVyZmFjZU9iamVjdCI+Ci0gICAgICAg
IDx3ZWJpZGw+Tm9JbnRlcmZhY2VPYmplY3Q8L3dlYmlkbD4KLSAgICAgIDwvRXh0ZW5kZWRBdHRy
aWJ1dGU+Ci0gICAgPC9FeHRlbmRlZEF0dHJpYnV0ZUxpc3Q+Ci0gICAgPE9wZXJhdGlvbiBuYW1l
PSJsb29rdXBFbnRyeSIgaWQ9Ijo6UXVlcnk6Omxvb2t1cEVudHJ5Ij4KLSAgICAgIDx3ZWJpZGw+
ICBhbnkgbG9va3VwRW50cnkodW5zaWduZWQgbG9uZyBrZXkpOzwvd2ViaWRsPgotICAgICAgPFR5
cGUgdHlwZT0iYW55Ii8+Ci0gICAgICA8QXJndW1lbnRMaXN0PgotICAgICAgICA8QXJndW1lbnQg
bmFtZT0ia2V5Ij4KLSAgICAgICAgICA8VHlwZSB0eXBlPSJ1bnNpZ25lZCBsb25nIi8+Ci0gICAg
ICAgIDwvQXJndW1lbnQ+Ci0gICAgICA8L0FyZ3VtZW50TGlzdD4KLSAgICA8L09wZXJhdGlvbj4K
LSAgPC9JbnRlcmZhY2U+Ci08L0RlZmluaXRpb25zPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dp
ZGxwcm9jL3Rlc3QvdmFsaWQveG1sL251bGxhYmxlLndpZGxwcm9jeG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dp
ZGxwcm9jL3Rlc3QvdmFsaWQveG1sL251bGxhYmxlLndpZGxwcm9jeG1sCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCA4NzM5ZTQ0MzI2MmE2MmZjYmU0ZGU4OGRmOGI3YTk4OWU0ZWQ5NTk4
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9udWxsYWJsZS53aWRscHJvY3htbAorKysgL2Rldi9u
dWxsCkBAIC0xLDI5ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04
Ij8+Ci08IURPQ1RZUEUgRGVmaW5pdGlvbnMgU1lTVEVNICJ3aWRscHJvY3htbC5kdGQiPgotPERl
ZmluaXRpb25zPgotICA8d2ViaWRsPmludGVyZmFjZSBNeUNvbnN0YW50cyB7Ci0gIGNvbnN0IGJv
b2xlYW4/IEFSRV9XRV9USEVSRV9ZRVQgPSBmYWxzZTsKLX07Ci0KLWludGVyZmFjZSBOb2RlIHsK
LSAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZz8gbmFtZXNwYWNlVVJJOwotfTs8L3dlYmlk
bD4KLSAgPEludGVyZmFjZSBuYW1lPSJNeUNvbnN0YW50cyIgaWQ9Ijo6TXlDb25zdGFudHMiPgot
ICAgIDx3ZWJpZGw+aW50ZXJmYWNlIE15Q29uc3RhbnRzIHsKLSAgY29uc3QgYm9vbGVhbj8gQVJF
X1dFX1RIRVJFX1lFVCA9IGZhbHNlOwotfTs8L3dlYmlkbD4KLSAgICA8Q29uc3QgbmFtZT0iQVJF
X1dFX1RIRVJFX1lFVCIgdmFsdWU9ImZhbHNlIiBpZD0iOjpNeUNvbnN0YW50czo6QVJFX1dFX1RI
RVJFX1lFVCI+Ci0gICAgICA8d2ViaWRsPiAgY29uc3QgYm9vbGVhbj8gQVJFX1dFX1RIRVJFX1lF
VCA9IGZhbHNlOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0iYm9vbGVhbiIgbnVsbGFibGU9
Im51bGxhYmxlIi8+Ci0gICAgPC9Db25zdD4KLSAgPC9JbnRlcmZhY2U+Ci0gIDxJbnRlcmZhY2Ug
bmFtZT0iTm9kZSIgaWQ9Ijo6Tm9kZSI+Ci0gICAgPHdlYmlkbD5pbnRlcmZhY2UgTm9kZSB7Ci0g
IHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmc/IG5hbWVzcGFjZVVSSTsKLX07PC93ZWJpZGw+
Ci0gICAgPEF0dHJpYnV0ZSByZWFkb25seT0icmVhZG9ubHkiIG5hbWU9Im5hbWVzcGFjZVVSSSIg
aWQ9Ijo6Tm9kZTo6bmFtZXNwYWNlVVJJIj4KLSAgICAgIDx3ZWJpZGw+ICByZWFkb25seSBhdHRy
aWJ1dGUgRE9NU3RyaW5nPyBuYW1lc3BhY2VVUkk7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBl
PSJET01TdHJpbmciIG51bGxhYmxlPSJudWxsYWJsZSIvPgotICAgIDwvQXR0cmlidXRlPgotICA8
L0ludGVyZmFjZT4KLTwvRGVmaW5pdGlvbnM+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHBy
b2MvdGVzdC92YWxpZC94bWwvbnVsbGFibGVvYmplY3RzLndpZGxwcm9jeG1sIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL251bGxhYmxlb2JqZWN0cy53aWRscHJvY3htbApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjJkOWZkZDI1ZDY3YzYxY2RhYjI5ZjY0YzkyNzMz
NDI4OWQwMDQ1NC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvbnVsbGFibGVvYmplY3RzLndpZGxw
cm9jeG1sCisrKyAvZGV2L251bGwKQEAgLTEsNDYgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4w
IiBlbmNvZGluZz0iVVRGLTgiPz4KLTwhRE9DVFlQRSBEZWZpbml0aW9ucyBTWVNURU0gIndpZGxw
cm9jeG1sLmR0ZCI+Ci08RGVmaW5pdGlvbnM+Ci0gIDx3ZWJpZGw+aW50ZXJmYWNlIEEgewotfTsK
LWludGVyZmFjZSBCIHsKLX07Ci1pbnRlcmZhY2UgQyB7Ci0gIHZvaWQgZig8cmVmPkE8L3JlZj4/
IHgpOwotICB2b2lkIGYoPHJlZj5CPC9yZWY+PyB4KTsKLQotfTs8L3dlYmlkbD4KLSAgPEludGVy
ZmFjZSBuYW1lPSJBIiBpZD0iOjpBIj4KLSAgICA8d2ViaWRsPmludGVyZmFjZSBBIHsKLX07PC93
ZWJpZGw+Ci0gIDwvSW50ZXJmYWNlPgotICA8SW50ZXJmYWNlIG5hbWU9IkIiIGlkPSI6OkIiPgot
ICAgIDx3ZWJpZGw+aW50ZXJmYWNlIEIgewotfTs8L3dlYmlkbD4KLSAgPC9JbnRlcmZhY2U+Ci0g
IDxJbnRlcmZhY2UgbmFtZT0iQyIgaWQ9Ijo6QyI+Ci0gICAgPHdlYmlkbD5pbnRlcmZhY2UgQyB7
Ci0gIHZvaWQgZig8cmVmPkE8L3JlZj4/IHgpOwotICB2b2lkIGYoPHJlZj5CPC9yZWY+PyB4KTsK
LQotfTs8L3dlYmlkbD4KLSAgICA8T3BlcmF0aW9uIG5hbWU9ImYiIGlkPSI6OkM6OmYiPgotICAg
ICAgPHdlYmlkbD4gIHZvaWQgZig8cmVmPkE8L3JlZj4/IHgpOzwvd2ViaWRsPgotICAgICAgPFR5
cGUgdHlwZT0idm9pZCIvPgotICAgICAgPEFyZ3VtZW50TGlzdD4KLSAgICAgICAgPEFyZ3VtZW50
IG5hbWU9IngiPgotICAgICAgICAgIDxUeXBlIG5hbWU9IkEiIG51bGxhYmxlPSJudWxsYWJsZSIv
PgotICAgICAgICA8L0FyZ3VtZW50PgotICAgICAgPC9Bcmd1bWVudExpc3Q+Ci0gICAgPC9PcGVy
YXRpb24+Ci0gICAgPE9wZXJhdGlvbiBuYW1lPSJmIiBpZD0iOjpDOjpmIj4KLSAgICAgIDx3ZWJp
ZGw+ICB2b2lkIGYoPHJlZj5CPC9yZWY+PyB4KTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9
InZvaWQiLz4KLSAgICAgIDxBcmd1bWVudExpc3Q+Ci0gICAgICAgIDxBcmd1bWVudCBuYW1lPSJ4
Ij4KLSAgICAgICAgICA8VHlwZSBuYW1lPSJCIiBudWxsYWJsZT0ibnVsbGFibGUiLz4KLSAgICAg
ICAgPC9Bcmd1bWVudD4KLSAgICAgIDwvQXJndW1lbnRMaXN0PgotICAgIDwvT3BlcmF0aW9uPgot
ICA8L0ludGVyZmFjZT4KLTwvRGVmaW5pdGlvbnM+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lk
bHByb2MvdGVzdC92YWxpZC94bWwvb3BlcmF0aW9uLW9wdGlvbmFsLWFyZy53aWRscHJvY3htbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9vcGVyYXRpb24tb3B0aW9uYWwtYXJn
LndpZGxwcm9jeG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1NGFlZjFmODdlMzg3
MGE5M2FmYzlkYzViNzc4NDM0NjlhNjU2MmJmLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9vcGVy
YXRpb24tb3B0aW9uYWwtYXJnLndpZGxwcm9jeG1sCisrKyAvZGV2L251bGwKQEAgLTEsMzAgKzAs
MCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KLTwhRE9DVFlQRSBE
ZWZpbml0aW9ucyBTWVNURU0gIndpZGxwcm9jeG1sLmR0ZCI+Ci08RGVmaW5pdGlvbnM+Ci0gIDx3
ZWJpZGw+aW50ZXJmYWNlIENvbG9yQ3JlYXRvciB7Ci0gIG9iamVjdCBjcmVhdGVDb2xvcihmbG9h
dCB2MSwgZmxvYXQgdjIsIGZsb2F0IHYzLCBvcHRpb25hbCBmbG9hdCBhbHBoYSA9IDMuNSk7Ci19
Ozwvd2ViaWRsPgotICA8SW50ZXJmYWNlIG5hbWU9IkNvbG9yQ3JlYXRvciIgaWQ9Ijo6Q29sb3JD
cmVhdG9yIj4KLSAgICA8d2ViaWRsPmludGVyZmFjZSBDb2xvckNyZWF0b3IgewotICBvYmplY3Qg
Y3JlYXRlQ29sb3IoZmxvYXQgdjEsIGZsb2F0IHYyLCBmbG9hdCB2Mywgb3B0aW9uYWwgZmxvYXQg
YWxwaGEgPSAzLjUpOwotfTs8L3dlYmlkbD4KLSAgICA8T3BlcmF0aW9uIG5hbWU9ImNyZWF0ZUNv
bG9yIiBpZD0iOjpDb2xvckNyZWF0b3I6OmNyZWF0ZUNvbG9yIj4KLSAgICAgIDx3ZWJpZGw+ICBv
YmplY3QgY3JlYXRlQ29sb3IoZmxvYXQgdjEsIGZsb2F0IHYyLCBmbG9hdCB2Mywgb3B0aW9uYWwg
ZmxvYXQgYWxwaGEgPSAzLjUpOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0ib2JqZWN0Ii8+
Ci0gICAgICA8QXJndW1lbnRMaXN0PgotICAgICAgICA8QXJndW1lbnQgbmFtZT0idjEiPgotICAg
ICAgICAgIDxUeXBlIHR5cGU9ImZsb2F0Ii8+Ci0gICAgICAgIDwvQXJndW1lbnQ+Ci0gICAgICAg
IDxBcmd1bWVudCBuYW1lPSJ2MiI+Ci0gICAgICAgICAgPFR5cGUgdHlwZT0iZmxvYXQiLz4KLSAg
ICAgICAgPC9Bcmd1bWVudD4KLSAgICAgICAgPEFyZ3VtZW50IG5hbWU9InYzIj4KLSAgICAgICAg
ICA8VHlwZSB0eXBlPSJmbG9hdCIvPgotICAgICAgICA8L0FyZ3VtZW50PgotICAgICAgICA8QXJn
dW1lbnQgb3B0aW9uYWw9Im9wdGlvbmFsIiBuYW1lPSJhbHBoYSIgdmFsdWU9IjMuNSI+Ci0gICAg
ICAgICAgPFR5cGUgdHlwZT0iZmxvYXQiLz4KLSAgICAgICAgPC9Bcmd1bWVudD4KLSAgICAgIDwv
QXJndW1lbnRMaXN0PgotICAgIDwvT3BlcmF0aW9uPgotICA8L0ludGVyZmFjZT4KLTwvRGVmaW5p
dGlvbnM+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvb3Zl
cmxvYWRpbmcud2lkbHByb2N4bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwv
b3ZlcmxvYWRpbmcud2lkbHByb2N4bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRi
NmRhN2E2OGM3NzljMjg1ZWNhMWRjMzExOTg3YjM0ZjJlOGZjZjUuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFs
aWQveG1sL292ZXJsb2FkaW5nLndpZGxwcm9jeG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTEzICsw
LDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Ci08IURPQ1RZUEUg
RGVmaW5pdGlvbnMgU1lTVEVNICJ3aWRscHJvY3htbC5kdGQiPgotPERlZmluaXRpb25zPgotICA8
d2ViaWRsPmludGVyZmFjZSBBIHsKLX07Ci0KLWludGVyZmFjZSBCIHsKLX07Ci0KLWludGVyZmFj
ZSBDIHsKLSAgdm9pZCBmKDxyZWY+QTwvcmVmPiB4KTsKLSAgdm9pZCBmKDxyZWY+QjwvcmVmPiB4
KTsKLX07Ci0KLWludGVyZmFjZSBBIHsKLXZvaWQgZihET01TdHJpbmcgYSk7Ci12b2lkIGYoW0Fs
bG93QW55XSBET01TdHJpbmcgYSwgRE9NU3RyaW5nIGIsIGZsb2F0Li4uIGMpOwotdm9pZCBmKCk7
Ci12b2lkIGYobG9uZyBhLCBET01TdHJpbmcgYiwgb3B0aW9uYWwgRE9NU3RyaW5nIGMsIGZsb2F0
Li4uIGQpOwotfTs8L3dlYmlkbD4KLSAgPEludGVyZmFjZSBuYW1lPSJBIiBpZD0iOjpBIj4KLSAg
ICA8d2ViaWRsPmludGVyZmFjZSBBIHsKLX07PC93ZWJpZGw+Ci0gIDwvSW50ZXJmYWNlPgotICA8
SW50ZXJmYWNlIG5hbWU9IkIiIGlkPSI6OkIiPgotICAgIDx3ZWJpZGw+aW50ZXJmYWNlIEIgewot
fTs8L3dlYmlkbD4KLSAgPC9JbnRlcmZhY2U+Ci0gIDxJbnRlcmZhY2UgbmFtZT0iQyIgaWQ9Ijo6
QyI+Ci0gICAgPHdlYmlkbD5pbnRlcmZhY2UgQyB7Ci0gIHZvaWQgZig8cmVmPkE8L3JlZj4geCk7
Ci0gIHZvaWQgZig8cmVmPkI8L3JlZj4geCk7Ci19Ozwvd2ViaWRsPgotICAgIDxPcGVyYXRpb24g
bmFtZT0iZiIgaWQ9Ijo6Qzo6ZiI+Ci0gICAgICA8d2ViaWRsPiAgdm9pZCBmKDxyZWY+QTwvcmVm
PiB4KTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9InZvaWQiLz4KLSAgICAgIDxBcmd1bWVu
dExpc3Q+Ci0gICAgICAgIDxBcmd1bWVudCBuYW1lPSJ4Ij4KLSAgICAgICAgICA8VHlwZSBuYW1l
PSJBIi8+Ci0gICAgICAgIDwvQXJndW1lbnQ+Ci0gICAgICA8L0FyZ3VtZW50TGlzdD4KLSAgICA8
L09wZXJhdGlvbj4KLSAgICA8T3BlcmF0aW9uIG5hbWU9ImYiIGlkPSI6OkM6OmYiPgotICAgICAg
PHdlYmlkbD4gIHZvaWQgZig8cmVmPkI8L3JlZj4geCk7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0
eXBlPSJ2b2lkIi8+Ci0gICAgICA8QXJndW1lbnRMaXN0PgotICAgICAgICA8QXJndW1lbnQgbmFt
ZT0ieCI+Ci0gICAgICAgICAgPFR5cGUgbmFtZT0iQiIvPgotICAgICAgICA8L0FyZ3VtZW50Pgot
ICAgICAgPC9Bcmd1bWVudExpc3Q+Ci0gICAgPC9PcGVyYXRpb24+Ci0gIDwvSW50ZXJmYWNlPgot
ICA8SW50ZXJmYWNlIG5hbWU9IkEiIGlkPSI6OkEiPgotICAgIDx3ZWJpZGw+aW50ZXJmYWNlIEEg
ewotdm9pZCBmKERPTVN0cmluZyBhKTsKLXZvaWQgZihbQWxsb3dBbnldIERPTVN0cmluZyBhLCBE
T01TdHJpbmcgYiwgZmxvYXQuLi4gYyk7Ci12b2lkIGYoKTsKLXZvaWQgZihsb25nIGEsIERPTVN0
cmluZyBiLCBvcHRpb25hbCBET01TdHJpbmcgYywgZmxvYXQuLi4gZCk7Ci19Ozwvd2ViaWRsPgot
ICAgIDxPcGVyYXRpb24gbmFtZT0iZiIgaWQ9Ijo6QTo6ZiI+Ci0gICAgICA8d2ViaWRsPiB2b2lk
IGYoRE9NU3RyaW5nIGEpOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0idm9pZCIvPgotICAg
ICAgPEFyZ3VtZW50TGlzdD4KLSAgICAgICAgPEFyZ3VtZW50IG5hbWU9ImEiPgotICAgICAgICAg
IDxUeXBlIHR5cGU9IkRPTVN0cmluZyIvPgotICAgICAgICA8L0FyZ3VtZW50PgotICAgICAgPC9B
cmd1bWVudExpc3Q+Ci0gICAgPC9PcGVyYXRpb24+Ci0gICAgPE9wZXJhdGlvbiBuYW1lPSJmIiBp
ZD0iOjpBOjpmIj4KLSAgICAgIDx3ZWJpZGw+IHZvaWQgZihbQWxsb3dBbnldIERPTVN0cmluZyBh
LCBET01TdHJpbmcgYiwgZmxvYXQuLi4gYyk7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJ2
b2lkIi8+Ci0gICAgICA8QXJndW1lbnRMaXN0PgotICAgICAgICA8QXJndW1lbnQgbmFtZT0iYSI+
Ci0gICAgICAgICAgPEV4dGVuZGVkQXR0cmlidXRlTGlzdD4KLSAgICAgICAgICAgIDxFeHRlbmRl
ZEF0dHJpYnV0ZSBuYW1lPSJBbGxvd0FueSI+Ci0gICAgICAgICAgICAgIDx3ZWJpZGw+QWxsb3dB
bnk8L3dlYmlkbD4KLSAgICAgICAgICAgIDwvRXh0ZW5kZWRBdHRyaWJ1dGU+Ci0gICAgICAgICAg
PC9FeHRlbmRlZEF0dHJpYnV0ZUxpc3Q+Ci0gICAgICAgICAgPFR5cGUgdHlwZT0iRE9NU3RyaW5n
Ii8+Ci0gICAgICAgIDwvQXJndW1lbnQ+Ci0gICAgICAgIDxBcmd1bWVudCBuYW1lPSJiIj4KLSAg
ICAgICAgICA8VHlwZSB0eXBlPSJET01TdHJpbmciLz4KLSAgICAgICAgPC9Bcmd1bWVudD4KLSAg
ICAgICAgPEFyZ3VtZW50IGVsbGlwc2lzPSJlbGxpcHNpcyIgbmFtZT0iYyI+Ci0gICAgICAgICAg
PFR5cGUgdHlwZT0iZmxvYXQiLz4KLSAgICAgICAgPC9Bcmd1bWVudD4KLSAgICAgIDwvQXJndW1l
bnRMaXN0PgotICAgIDwvT3BlcmF0aW9uPgotICAgIDxPcGVyYXRpb24gbmFtZT0iZiIgaWQ9Ijo6
QTo6ZiI+Ci0gICAgICA8d2ViaWRsPiB2b2lkIGYoKTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5
cGU9InZvaWQiLz4KLSAgICAgIDxBcmd1bWVudExpc3QvPgotICAgIDwvT3BlcmF0aW9uPgotICAg
IDxPcGVyYXRpb24gbmFtZT0iZiIgaWQ9Ijo6QTo6ZiI+Ci0gICAgICA8d2ViaWRsPiB2b2lkIGYo
bG9uZyBhLCBET01TdHJpbmcgYiwgb3B0aW9uYWwgRE9NU3RyaW5nIGMsIGZsb2F0Li4uIGQpOzwv
d2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0idm9pZCIvPgotICAgICAgPEFyZ3VtZW50TGlzdD4K
LSAgICAgICAgPEFyZ3VtZW50IG5hbWU9ImEiPgotICAgICAgICAgIDxUeXBlIHR5cGU9Imxvbmci
Lz4KLSAgICAgICAgPC9Bcmd1bWVudD4KLSAgICAgICAgPEFyZ3VtZW50IG5hbWU9ImIiPgotICAg
ICAgICAgIDxUeXBlIHR5cGU9IkRPTVN0cmluZyIvPgotICAgICAgICA8L0FyZ3VtZW50PgotICAg
ICAgICA8QXJndW1lbnQgb3B0aW9uYWw9Im9wdGlvbmFsIiBuYW1lPSJjIj4KLSAgICAgICAgICA8
VHlwZSB0eXBlPSJET01TdHJpbmciLz4KLSAgICAgICAgPC9Bcmd1bWVudD4KLSAgICAgICAgPEFy
Z3VtZW50IGVsbGlwc2lzPSJlbGxpcHNpcyIgbmFtZT0iZCI+Ci0gICAgICAgICAgPFR5cGUgdHlw
ZT0iZmxvYXQiLz4KLSAgICAgICAgPC9Bcmd1bWVudD4KLSAgICAgIDwvQXJndW1lbnRMaXN0Pgot
ICAgIDwvT3BlcmF0aW9uPgotICA8L0ludGVyZmFjZT4KLTwvRGVmaW5pdGlvbnM+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvb3ZlcnJpZGVidWlsdGlucy53
aWRscHJvY3htbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9vdmVycmlkZWJ1
aWx0aW5zLndpZGxwcm9jeG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1NmM5MjUx
N2JlYjY4ZDg1MmM5NjVkMWUzY2MzMTgyYmM5NDYzOGVkLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3ht
bC9vdmVycmlkZWJ1aWx0aW5zLndpZGxwcm9jeG1sCisrKyAvZGV2L251bGwKQEAgLTEsMzQgKzAs
MCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KLTwhRE9DVFlQRSBE
ZWZpbml0aW9ucyBTWVNURU0gIndpZGxwcm9jeG1sLmR0ZCI+Ci08RGVmaW5pdGlvbnM+Ci0gIDx3
ZWJpZGw+W092ZXJyaWRlQnVpbHRpbnNdCi1pbnRlcmZhY2UgU3RyaW5nTWFwMiB7Ci0gIHJlYWRv
bmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxlbmd0aDsKLSAgZ2V0dGVyIERPTVN0cmluZyBs
b29rdXAoRE9NU3RyaW5nIGtleSk7Ci19Ozwvd2ViaWRsPgotICA8SW50ZXJmYWNlIG5hbWU9IlN0
cmluZ01hcDIiIGlkPSI6OlN0cmluZ01hcDIiPgotICAgIDx3ZWJpZGw+W092ZXJyaWRlQnVpbHRp
bnNdCi1pbnRlcmZhY2UgU3RyaW5nTWFwMiB7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25l
ZCBsb25nIGxlbmd0aDsKLSAgZ2V0dGVyIERPTVN0cmluZyBsb29rdXAoRE9NU3RyaW5nIGtleSk7
Ci19Ozwvd2ViaWRsPgotICAgIDxFeHRlbmRlZEF0dHJpYnV0ZUxpc3Q+Ci0gICAgICA8RXh0ZW5k
ZWRBdHRyaWJ1dGUgbmFtZT0iT3ZlcnJpZGVCdWlsdGlucyI+Ci0gICAgICAgIDx3ZWJpZGw+T3Zl
cnJpZGVCdWlsdGluczwvd2ViaWRsPgotICAgICAgPC9FeHRlbmRlZEF0dHJpYnV0ZT4KLSAgICA8
L0V4dGVuZGVkQXR0cmlidXRlTGlzdD4KLSAgICA8QXR0cmlidXRlIHJlYWRvbmx5PSJyZWFkb25s
eSIgbmFtZT0ibGVuZ3RoIiBpZD0iOjpTdHJpbmdNYXAyOjpsZW5ndGgiPgotICAgICAgPHdlYmlk
bD4gIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxlbmd0aDs8L3dlYmlkbD4KLSAg
ICAgIDxUeXBlIHR5cGU9InVuc2lnbmVkIGxvbmciLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAgICA8
T3BlcmF0aW9uIGdldHRlcj0iZ2V0dGVyIiBuYW1lPSJsb29rdXAiIGlkPSI6OlN0cmluZ01hcDI6
Omxvb2t1cCI+Ci0gICAgICA8d2ViaWRsPiAgZ2V0dGVyIERPTVN0cmluZyBsb29rdXAoRE9NU3Ry
aW5nIGtleSk7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJET01TdHJpbmciLz4KLSAgICAg
IDxBcmd1bWVudExpc3Q+Ci0gICAgICAgIDxBcmd1bWVudCBuYW1lPSJrZXkiPgotICAgICAgICAg
IDxUeXBlIHR5cGU9IkRPTVN0cmluZyIvPgotICAgICAgICA8L0FyZ3VtZW50PgotICAgICAgPC9B
cmd1bWVudExpc3Q+Ci0gICAgPC9PcGVyYXRpb24+Ci0gIDwvSW50ZXJmYWNlPgotPC9EZWZpbml0
aW9ucz4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9wYXJ0
aWFsLWludGVyZmFjZS53aWRscHJvY3htbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlk
L3htbC9wYXJ0aWFsLWludGVyZmFjZS53aWRscHJvY3htbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggOGQ3ZGNiNGU0Zjc4NjhmM2U0MmU0MGVhZjM1NmJiNTU4M2VjNGQ3YS4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHBy
b2MvdGVzdC92YWxpZC94bWwvcGFydGlhbC1pbnRlcmZhY2Uud2lkbHByb2N4bWwKKysrIC9kZXYv
bnVsbApAQCAtMSwyOSArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYt
OCI/PgotPCFET0NUWVBFIERlZmluaXRpb25zIFNZU1RFTSAid2lkbHByb2N4bWwuZHRkIj4KLTxE
ZWZpbml0aW9ucz4KLSAgPHdlYmlkbD5pbnRlcmZhY2UgRm9vIHsKLSAgYXR0cmlidXRlIERPTVN0
cmluZyBiYXI7Ci19OwotCi1wYXJ0aWFsIGludGVyZmFjZSBGb28gewotICBhdHRyaWJ1dGUgRE9N
U3RyaW5nIHF1dXg7Ci19Ozwvd2ViaWRsPgotICA8SW50ZXJmYWNlIG5hbWU9IkZvbyIgaWQ9Ijo6
Rm9vIj4KLSAgICA8d2ViaWRsPmludGVyZmFjZSBGb28gewotICBhdHRyaWJ1dGUgRE9NU3RyaW5n
IGJhcjsKLX07PC93ZWJpZGw+Ci0gICAgPEF0dHJpYnV0ZSBuYW1lPSJiYXIiIGlkPSI6OkZvbzo6
YmFyIj4KLSAgICAgIDx3ZWJpZGw+ICBhdHRyaWJ1dGUgRE9NU3RyaW5nIGJhcjs8L3dlYmlkbD4K
LSAgICAgIDxUeXBlIHR5cGU9IkRPTVN0cmluZyIvPgotICAgIDwvQXR0cmlidXRlPgotICA8L0lu
dGVyZmFjZT4KLSAgPEludGVyZmFjZSBuYW1lPSJGb28iIHBhcnRpYWw9InBhcnRpYWwiIGlkPSI6
OkZvbyI+Ci0gICAgPHdlYmlkbD5wYXJ0aWFsIGludGVyZmFjZSBGb28gewotICBhdHRyaWJ1dGUg
RE9NU3RyaW5nIHF1dXg7Ci19Ozwvd2ViaWRsPgotICAgIDxBdHRyaWJ1dGUgbmFtZT0icXV1eCIg
aWQ9Ijo6Rm9vOjpxdXV4Ij4KLSAgICAgIDx3ZWJpZGw+ICBhdHRyaWJ1dGUgRE9NU3RyaW5nIHF1
dXg7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJET01TdHJpbmciLz4KLSAgICA8L0F0dHJp
YnV0ZT4KLSAgPC9JbnRlcmZhY2U+Ci08L0RlZmluaXRpb25zPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL3ByaW1pdGl2ZXMud2lkbHByb2N4bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvcHJpbWl0aXZlcy53aWRscHJvY3htbApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDY5NzdhMmQ3NGU1NzQyZTM1OGQwZDU0ZmVmZTRl
YzFjOGM4MWVlNS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvcHJpbWl0aXZlcy53aWRscHJvY3ht
bAorKysgL2Rldi9udWxsCkBAIC0xLDExMiArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVu
Y29kaW5nPSJVVEYtOCI/PgotPCFET0NUWVBFIERlZmluaXRpb25zIFNZU1RFTSAid2lkbHByb2N4
bWwuZHRkIj4KLTxEZWZpbml0aW9ucz4KLSAgPHdlYmlkbD5pbnRlcmZhY2UgUHJpbWl0aXZlcyB7
Ci0gIGF0dHJpYnV0ZSBib29sZWFuIHRydXRoOwotICBhdHRyaWJ1dGUgYnl0ZSBjaGFyYWN0ZXI7
Ci0gIGF0dHJpYnV0ZSBvY3RldCB2YWx1ZTsKLSAgYXR0cmlidXRlIHNob3J0IG51bWJlcjsKLSAg
YXR0cmlidXRlIHVuc2lnbmVkIHNob3J0IHBvc2l0aXZlOwotICBhdHRyaWJ1dGUgbG9uZyBiaWc7
Ci0gIGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGJpZ3Bvc2l0aXZlOwotICBhdHRyaWJ1dGUgbG9u
ZyBsb25nIGJpZ2JpZzsKLSAgYXR0cmlidXRlICB1bnNpZ25lZCBsb25nIGxvbmcgYmlnYmlncG9z
aXRpdmU7Ci0gIGF0dHJpYnV0ZSBmbG9hdCByZWFsOwotICBhdHRyaWJ1dGUgZG91YmxlIGJpZ3Jl
YWw7IAotICBhdHRyaWJ1dGUgdW5yZXN0cmljdGVkIGZsb2F0IHJlYWx3aXRoaW5maW5pdHk7Ci0g
IGF0dHJpYnV0ZSB1bnJlc3RyaWN0ZWQgZG91YmxlIGJpZ3JlYWx3aXRoaW5maW5pdHk7IAotICBh
dHRyaWJ1dGUgRE9NU3RyaW5nIHN0cmluZzsgCi0gIGF0dHJpYnV0ZSBCeXRlU3RyaW5nIGJ5dGVz
OyAKLSAgYXR0cmlidXRlIERhdGUgZGF0ZTsKLSAgYXR0cmlidXRlIFJlZ0V4cCByZWdleHA7Ci19
Ozwvd2ViaWRsPgotICA8SW50ZXJmYWNlIG5hbWU9IlByaW1pdGl2ZXMiIGlkPSI6OlByaW1pdGl2
ZXMiPgotICAgIDx3ZWJpZGw+aW50ZXJmYWNlIFByaW1pdGl2ZXMgewotICBhdHRyaWJ1dGUgYm9v
bGVhbiB0cnV0aDsKLSAgYXR0cmlidXRlIGJ5dGUgY2hhcmFjdGVyOwotICBhdHRyaWJ1dGUgb2N0
ZXQgdmFsdWU7Ci0gIGF0dHJpYnV0ZSBzaG9ydCBudW1iZXI7Ci0gIGF0dHJpYnV0ZSB1bnNpZ25l
ZCBzaG9ydCBwb3NpdGl2ZTsKLSAgYXR0cmlidXRlIGxvbmcgYmlnOwotICBhdHRyaWJ1dGUgdW5z
aWduZWQgbG9uZyBiaWdwb3NpdGl2ZTsKLSAgYXR0cmlidXRlIGxvbmcgbG9uZyBiaWdiaWc7Ci0g
IGF0dHJpYnV0ZSAgdW5zaWduZWQgbG9uZyBsb25nIGJpZ2JpZ3Bvc2l0aXZlOwotICBhdHRyaWJ1
dGUgZmxvYXQgcmVhbDsKLSAgYXR0cmlidXRlIGRvdWJsZSBiaWdyZWFsOyAKLSAgYXR0cmlidXRl
IHVucmVzdHJpY3RlZCBmbG9hdCByZWFsd2l0aGluZmluaXR5OwotICBhdHRyaWJ1dGUgdW5yZXN0
cmljdGVkIGRvdWJsZSBiaWdyZWFsd2l0aGluZmluaXR5OyAKLSAgYXR0cmlidXRlIERPTVN0cmlu
ZyBzdHJpbmc7IAotICBhdHRyaWJ1dGUgQnl0ZVN0cmluZyBieXRlczsgCi0gIGF0dHJpYnV0ZSBE
YXRlIGRhdGU7Ci0gIGF0dHJpYnV0ZSBSZWdFeHAgcmVnZXhwOwotfTs8L3dlYmlkbD4KLSAgICA8
QXR0cmlidXRlIG5hbWU9InRydXRoIiBpZD0iOjpQcmltaXRpdmVzOjp0cnV0aCI+Ci0gICAgICA8
d2ViaWRsPiAgYXR0cmlidXRlIGJvb2xlYW4gdHJ1dGg7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0
eXBlPSJib29sZWFuIi8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gICAgPEF0dHJpYnV0ZSBuYW1lPSJj
aGFyYWN0ZXIiIGlkPSI6OlByaW1pdGl2ZXM6OmNoYXJhY3RlciI+Ci0gICAgICA8d2ViaWRsPiAg
YXR0cmlidXRlIGJ5dGUgY2hhcmFjdGVyOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0iYnl0
ZSIvPgotICAgIDwvQXR0cmlidXRlPgotICAgIDxBdHRyaWJ1dGUgbmFtZT0idmFsdWUiIGlkPSI6
OlByaW1pdGl2ZXM6OnZhbHVlIj4KLSAgICAgIDx3ZWJpZGw+ICBhdHRyaWJ1dGUgb2N0ZXQgdmFs
dWU7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJvY3RldCIvPgotICAgIDwvQXR0cmlidXRl
PgotICAgIDxBdHRyaWJ1dGUgbmFtZT0ibnVtYmVyIiBpZD0iOjpQcmltaXRpdmVzOjpudW1iZXIi
PgotICAgICAgPHdlYmlkbD4gIGF0dHJpYnV0ZSBzaG9ydCBudW1iZXI7PC93ZWJpZGw+Ci0gICAg
ICA8VHlwZSB0eXBlPSJzaG9ydCIvPgotICAgIDwvQXR0cmlidXRlPgotICAgIDxBdHRyaWJ1dGUg
bmFtZT0icG9zaXRpdmUiIGlkPSI6OlByaW1pdGl2ZXM6OnBvc2l0aXZlIj4KLSAgICAgIDx3ZWJp
ZGw+ICBhdHRyaWJ1dGUgdW5zaWduZWQgc2hvcnQgcG9zaXRpdmU7PC93ZWJpZGw+Ci0gICAgICA8
VHlwZSB0eXBlPSJ1bnNpZ25lZCBzaG9ydCIvPgotICAgIDwvQXR0cmlidXRlPgotICAgIDxBdHRy
aWJ1dGUgbmFtZT0iYmlnIiBpZD0iOjpQcmltaXRpdmVzOjpiaWciPgotICAgICAgPHdlYmlkbD4g
IGF0dHJpYnV0ZSBsb25nIGJpZzs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9ImxvbmciLz4K
LSAgICA8L0F0dHJpYnV0ZT4KLSAgICA8QXR0cmlidXRlIG5hbWU9ImJpZ3Bvc2l0aXZlIiBpZD0i
OjpQcmltaXRpdmVzOjpiaWdwb3NpdGl2ZSI+Ci0gICAgICA8d2ViaWRsPiAgYXR0cmlidXRlIHVu
c2lnbmVkIGxvbmcgYmlncG9zaXRpdmU7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJ1bnNp
Z25lZCBsb25nIi8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gICAgPEF0dHJpYnV0ZSBuYW1lPSJiaWdi
aWciIGlkPSI6OlByaW1pdGl2ZXM6OmJpZ2JpZyI+Ci0gICAgICA8d2ViaWRsPiAgYXR0cmlidXRl
IGxvbmcgbG9uZyBiaWdiaWc7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJsb25nIGxvbmci
Lz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAgICA8QXR0cmlidXRlIG5hbWU9ImJpZ2JpZ3Bvc2l0aXZl
IiBpZD0iOjpQcmltaXRpdmVzOjpiaWdiaWdwb3NpdGl2ZSI+Ci0gICAgICA8d2ViaWRsPiAgYXR0
cmlidXRlICB1bnNpZ25lZCBsb25nIGxvbmcgYmlnYmlncG9zaXRpdmU7PC93ZWJpZGw+Ci0gICAg
ICA8VHlwZSB0eXBlPSJ1bnNpZ25lZCBsb25nIGxvbmciLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAg
ICA8QXR0cmlidXRlIG5hbWU9InJlYWwiIGlkPSI6OlByaW1pdGl2ZXM6OnJlYWwiPgotICAgICAg
PHdlYmlkbD4gIGF0dHJpYnV0ZSBmbG9hdCByZWFsOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlw
ZT0iZmxvYXQiLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAgICA8QXR0cmlidXRlIG5hbWU9ImJpZ3Jl
YWwiIGlkPSI6OlByaW1pdGl2ZXM6OmJpZ3JlYWwiPgotICAgICAgPHdlYmlkbD4gIGF0dHJpYnV0
ZSBkb3VibGUgYmlncmVhbDs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9ImRvdWJsZSIvPgot
ICAgIDwvQXR0cmlidXRlPgotICAgIDxBdHRyaWJ1dGUgbmFtZT0icmVhbHdpdGhpbmZpbml0eSIg
aWQ9Ijo6UHJpbWl0aXZlczo6cmVhbHdpdGhpbmZpbml0eSI+Ci0gICAgICA8d2ViaWRsPiAgYXR0
cmlidXRlIHVucmVzdHJpY3RlZCBmbG9hdCByZWFsd2l0aGluZmluaXR5Ozwvd2ViaWRsPgotICAg
ICAgPFR5cGUgdHlwZT0idW5yZXN0cmljdGVkIGZsb2F0Ii8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0g
ICAgPEF0dHJpYnV0ZSBuYW1lPSJiaWdyZWFsd2l0aGluZmluaXR5IiBpZD0iOjpQcmltaXRpdmVz
OjpiaWdyZWFsd2l0aGluZmluaXR5Ij4KLSAgICAgIDx3ZWJpZGw+ICBhdHRyaWJ1dGUgdW5yZXN0
cmljdGVkIGRvdWJsZSBiaWdyZWFsd2l0aGluZmluaXR5Ozwvd2ViaWRsPgotICAgICAgPFR5cGUg
dHlwZT0idW5yZXN0cmljdGVkIGRvdWJsZSIvPgotICAgIDwvQXR0cmlidXRlPgotICAgIDxBdHRy
aWJ1dGUgbmFtZT0ic3RyaW5nIiBpZD0iOjpQcmltaXRpdmVzOjpzdHJpbmciPgotICAgICAgPHdl
YmlkbD4gIGF0dHJpYnV0ZSBET01TdHJpbmcgc3RyaW5nOzwvd2ViaWRsPgotICAgICAgPFR5cGUg
dHlwZT0iRE9NU3RyaW5nIi8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gICAgPEF0dHJpYnV0ZSBuYW1l
PSJieXRlcyIgaWQ9Ijo6UHJpbWl0aXZlczo6Ynl0ZXMiPgotICAgICAgPHdlYmlkbD4gIGF0dHJp
YnV0ZSBCeXRlU3RyaW5nIGJ5dGVzOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0iQnl0ZVN0
cmluZyIvPgotICAgIDwvQXR0cmlidXRlPgotICAgIDxBdHRyaWJ1dGUgbmFtZT0iZGF0ZSIgaWQ9
Ijo6UHJpbWl0aXZlczo6ZGF0ZSI+Ci0gICAgICA8d2ViaWRsPiAgYXR0cmlidXRlIERhdGUgZGF0
ZTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9IkRhdGUiLz4KLSAgICA8L0F0dHJpYnV0ZT4K
LSAgICA8QXR0cmlidXRlIG5hbWU9InJlZ2V4cCIgaWQ9Ijo6UHJpbWl0aXZlczo6cmVnZXhwIj4K
LSAgICAgIDx3ZWJpZGw+ICBhdHRyaWJ1dGUgUmVnRXhwIHJlZ2V4cDs8L3dlYmlkbD4KLSAgICAg
IDxUeXBlIHR5cGU9IlJlZ0V4cCIvPgotICAgIDwvQXR0cmlidXRlPgotICA8L0ludGVyZmFjZT4K
LTwvRGVmaW5pdGlvbnM+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxp
ZC94bWwvcHJvdG90eXBlcm9vdC53aWRscHJvY3htbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0
L3ZhbGlkL3htbC9wcm90b3R5cGVyb290LndpZGxwcm9jeG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAyZTU2Y2Q3NWVjMzhhMGQwMTdmZTcxMmQyN2UwYzk1NTU5MjQ5MmI5Li4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRs
cHJvYy90ZXN0L3ZhbGlkL3htbC9wcm90b3R5cGVyb290LndpZGxwcm9jeG1sCisrKyAvZGV2L251
bGwKQEAgLTEsMjMgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgi
Pz4KLTwhRE9DVFlQRSBEZWZpbml0aW9ucyBTWVNURU0gIndpZGxwcm9jeG1sLmR0ZCI+Ci08RGVm
aW5pdGlvbnM+Ci0gIDx3ZWJpZGw+W1Byb3RvdHlwZVJvb3RdCi1pbnRlcmZhY2UgTm9kZSB7Ci0g
IHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBzaG9ydCBub2RlVHlwZTsKLX07PC93ZWJpZGw+
Ci0gIDxJbnRlcmZhY2UgbmFtZT0iTm9kZSIgaWQ9Ijo6Tm9kZSI+Ci0gICAgPHdlYmlkbD5bUHJv
dG90eXBlUm9vdF0KLWludGVyZmFjZSBOb2RlIHsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2ln
bmVkIHNob3J0IG5vZGVUeXBlOwotfTs8L3dlYmlkbD4KLSAgICA8RXh0ZW5kZWRBdHRyaWJ1dGVM
aXN0PgotICAgICAgPEV4dGVuZGVkQXR0cmlidXRlIG5hbWU9IlByb3RvdHlwZVJvb3QiPgotICAg
ICAgICA8d2ViaWRsPlByb3RvdHlwZVJvb3Q8L3dlYmlkbD4KLSAgICAgIDwvRXh0ZW5kZWRBdHRy
aWJ1dGU+Ci0gICAgPC9FeHRlbmRlZEF0dHJpYnV0ZUxpc3Q+Ci0gICAgPEF0dHJpYnV0ZSByZWFk
b25seT0icmVhZG9ubHkiIG5hbWU9Im5vZGVUeXBlIiBpZD0iOjpOb2RlOjpub2RlVHlwZSI+Ci0g
ICAgICA8d2ViaWRsPiAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIHNob3J0IG5vZGVUeXBl
Ozwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0idW5zaWduZWQgc2hvcnQiLz4KLSAgICA8L0F0
dHJpYnV0ZT4KLSAgPC9JbnRlcmZhY2U+Ci08L0RlZmluaXRpb25zPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL3B1dGZvcndhcmRzLndpZGxwcm9jeG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL3B1dGZvcndhcmRzLndpZGxwcm9jeG1s
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2MzRmYWQ1NWE1NmQ1M2EyNTNjOWNjNDEw
ODEwMjE2YTA4NDBhOTllLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9wdXRmb3J3YXJkcy53aWRs
cHJvY3htbAorKysgL2Rldi9udWxsCkBAIC0xLDI3ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEu
MCIgZW5jb2Rpbmc9IlVURi04Ij8+Ci08IURPQ1RZUEUgRGVmaW5pdGlvbnMgU1lTVEVNICJ3aWRs
cHJvY3htbC5kdGQiPgotPERlZmluaXRpb25zPgotICA8d2ViaWRsPmludGVyZmFjZSBQZXJzb24g
ewotICBbUHV0Rm9yd2FyZHM9ZnVsbF0gcmVhZG9ubHkgYXR0cmlidXRlIDxyZWY+TmFtZTwvcmVm
PiBuYW1lOwotICBhdHRyaWJ1dGUgdW5zaWduZWQgc2hvcnQgYWdlOwotfTs8L3dlYmlkbD4KLSAg
PEludGVyZmFjZSBuYW1lPSJQZXJzb24iIGlkPSI6OlBlcnNvbiI+Ci0gICAgPHdlYmlkbD5pbnRl
cmZhY2UgUGVyc29uIHsKLSAgW1B1dEZvcndhcmRzPWZ1bGxdIHJlYWRvbmx5IGF0dHJpYnV0ZSA8
cmVmPk5hbWU8L3JlZj4gbmFtZTsKLSAgYXR0cmlidXRlIHVuc2lnbmVkIHNob3J0IGFnZTsKLX07
PC93ZWJpZGw+Ci0gICAgPEF0dHJpYnV0ZSByZWFkb25seT0icmVhZG9ubHkiIG5hbWU9Im5hbWUi
IGlkPSI6OlBlcnNvbjo6bmFtZSI+Ci0gICAgICA8d2ViaWRsPiAgW1B1dEZvcndhcmRzPWZ1bGxd
IHJlYWRvbmx5IGF0dHJpYnV0ZSA8cmVmPk5hbWU8L3JlZj4gbmFtZTs8L3dlYmlkbD4KLSAgICAg
IDxFeHRlbmRlZEF0dHJpYnV0ZUxpc3Q+Ci0gICAgICAgIDxFeHRlbmRlZEF0dHJpYnV0ZSBuYW1l
PSJQdXRGb3J3YXJkcyIgdmFsdWU9ImZ1bGwiPgotICAgICAgICAgIDx3ZWJpZGw+UHV0Rm9yd2Fy
ZHM8L3dlYmlkbD4KLSAgICAgICAgPC9FeHRlbmRlZEF0dHJpYnV0ZT4KLSAgICAgIDwvRXh0ZW5k
ZWRBdHRyaWJ1dGVMaXN0PgotICAgICAgPFR5cGUgbmFtZT0iTmFtZSIvPgotICAgIDwvQXR0cmli
dXRlPgotICAgIDxBdHRyaWJ1dGUgbmFtZT0iYWdlIiBpZD0iOjpQZXJzb246OmFnZSI+Ci0gICAg
ICA8d2ViaWRsPiAgYXR0cmlidXRlIHVuc2lnbmVkIHNob3J0IGFnZTs8L3dlYmlkbD4KLSAgICAg
IDxUeXBlIHR5cGU9InVuc2lnbmVkIHNob3J0Ii8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gIDwvSW50
ZXJmYWNlPgotPC9EZWZpbml0aW9ucz4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90
ZXN0L3ZhbGlkL3htbC9yZWctb3BlcmF0aW9ucy53aWRscHJvY3htbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRs
cHJvYy90ZXN0L3ZhbGlkL3htbC9yZWctb3BlcmF0aW9ucy53aWRscHJvY3htbApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggM2I3NTZlZDY4ZDg5NGI5YTIyZWZmMDA0OTkwNDA1MmI1OGVi
ZTJkNy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvcmVnLW9wZXJhdGlvbnMud2lkbHByb2N4bWwK
KysrIC9kZXYvbnVsbApAQCAtMSw3MCArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29k
aW5nPSJVVEYtOCI/PgotPCFET0NUWVBFIERlZmluaXRpb25zIFNZU1RFTSAid2lkbHByb2N4bWwu
ZHRkIj4KLTxEZWZpbml0aW9ucz4KLSAgPHdlYmlkbD5pbnRlcmZhY2UgRGltZW5zaW9ucyB7Ci0g
IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIHdpZHRoOwotICBhdHRyaWJ1dGUgdW5zaWduZWQgbG9u
ZyBoZWlnaHQ7Ci19OwotCi1leGNlcHRpb24gTm9Qb2ludGVyRGV2aWNlIHsgfTsKLQotaW50ZXJm
YWNlIEJ1dHRvbiB7Ci0KLSAgYm9vbGVhbiBpc01vdXNlT3ZlcigpOwotCi0gIHZvaWQgc2V0RGlt
ZW5zaW9ucyg8cmVmPkRpbWVuc2lvbnM8L3JlZj4gc2l6ZSk7Ci0gIHZvaWQgc2V0RGltZW5zaW9u
cyh1bnNpZ25lZCBsb25nIHdpZHRoLCB1bnNpZ25lZCBsb25nIGhlaWdodCk7Ci19Ozwvd2ViaWRs
PgotICA8SW50ZXJmYWNlIG5hbWU9IkRpbWVuc2lvbnMiIGlkPSI6OkRpbWVuc2lvbnMiPgotICAg
IDx3ZWJpZGw+aW50ZXJmYWNlIERpbWVuc2lvbnMgewotICBhdHRyaWJ1dGUgdW5zaWduZWQgbG9u
ZyB3aWR0aDsKLSAgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgaGVpZ2h0OwotfTs8L3dlYmlkbD4K
LSAgICA8QXR0cmlidXRlIG5hbWU9IndpZHRoIiBpZD0iOjpEaW1lbnNpb25zOjp3aWR0aCI+Ci0g
ICAgICA8d2ViaWRsPiAgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgd2lkdGg7PC93ZWJpZGw+Ci0g
ICAgICA8VHlwZSB0eXBlPSJ1bnNpZ25lZCBsb25nIi8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gICAg
PEF0dHJpYnV0ZSBuYW1lPSJoZWlnaHQiIGlkPSI6OkRpbWVuc2lvbnM6OmhlaWdodCI+Ci0gICAg
ICA8d2ViaWRsPiAgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgaGVpZ2h0Ozwvd2ViaWRsPgotICAg
ICAgPFR5cGUgdHlwZT0idW5zaWduZWQgbG9uZyIvPgotICAgIDwvQXR0cmlidXRlPgotICA8L0lu
dGVyZmFjZT4KLSAgPEV4Y2VwdGlvbiBuYW1lPSJOb1BvaW50ZXJEZXZpY2UiIGlkPSI6Ok5vUG9p
bnRlckRldmljZSI+Ci0gICAgPHdlYmlkbD5leGNlcHRpb24gTm9Qb2ludGVyRGV2aWNlIHsgfTs8
L3dlYmlkbD4KLSAgPC9FeGNlcHRpb24+Ci0gIDxJbnRlcmZhY2UgbmFtZT0iQnV0dG9uIiBpZD0i
OjpCdXR0b24iPgotICAgIDx3ZWJpZGw+aW50ZXJmYWNlIEJ1dHRvbiB7Ci0KLSAgYm9vbGVhbiBp
c01vdXNlT3ZlcigpOwotCi0gIHZvaWQgc2V0RGltZW5zaW9ucyg8cmVmPkRpbWVuc2lvbnM8L3Jl
Zj4gc2l6ZSk7Ci0gIHZvaWQgc2V0RGltZW5zaW9ucyh1bnNpZ25lZCBsb25nIHdpZHRoLCB1bnNp
Z25lZCBsb25nIGhlaWdodCk7Ci19Ozwvd2ViaWRsPgotICAgIDxPcGVyYXRpb24gbmFtZT0iaXNN
b3VzZU92ZXIiIGlkPSI6OkJ1dHRvbjo6aXNNb3VzZU92ZXIiPgotICAgICAgPHdlYmlkbD4gIGJv
b2xlYW4gaXNNb3VzZU92ZXIoKTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9ImJvb2xlYW4i
Lz4KLSAgICAgIDxBcmd1bWVudExpc3QvPgotICAgIDwvT3BlcmF0aW9uPgotICAgIDxPcGVyYXRp
b24gbmFtZT0ic2V0RGltZW5zaW9ucyIgaWQ9Ijo6QnV0dG9uOjpzZXREaW1lbnNpb25zIj4KLSAg
ICAgIDx3ZWJpZGw+ICB2b2lkIHNldERpbWVuc2lvbnMoPHJlZj5EaW1lbnNpb25zPC9yZWY+IHNp
emUpOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0idm9pZCIvPgotICAgICAgPEFyZ3VtZW50
TGlzdD4KLSAgICAgICAgPEFyZ3VtZW50IG5hbWU9InNpemUiPgotICAgICAgICAgIDxUeXBlIG5h
bWU9IkRpbWVuc2lvbnMiLz4KLSAgICAgICAgPC9Bcmd1bWVudD4KLSAgICAgIDwvQXJndW1lbnRM
aXN0PgotICAgIDwvT3BlcmF0aW9uPgotICAgIDxPcGVyYXRpb24gbmFtZT0ic2V0RGltZW5zaW9u
cyIgaWQ9Ijo6QnV0dG9uOjpzZXREaW1lbnNpb25zIj4KLSAgICAgIDx3ZWJpZGw+ICB2b2lkIHNl
dERpbWVuc2lvbnModW5zaWduZWQgbG9uZyB3aWR0aCwgdW5zaWduZWQgbG9uZyBoZWlnaHQpOzwv
d2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0idm9pZCIvPgotICAgICAgPEFyZ3VtZW50TGlzdD4K
LSAgICAgICAgPEFyZ3VtZW50IG5hbWU9IndpZHRoIj4KLSAgICAgICAgICA8VHlwZSB0eXBlPSJ1
bnNpZ25lZCBsb25nIi8+Ci0gICAgICAgIDwvQXJndW1lbnQ+Ci0gICAgICAgIDxBcmd1bWVudCBu
YW1lPSJoZWlnaHQiPgotICAgICAgICAgIDxUeXBlIHR5cGU9InVuc2lnbmVkIGxvbmciLz4KLSAg
ICAgICAgPC9Bcmd1bWVudD4KLSAgICAgIDwvQXJndW1lbnRMaXN0PgotICAgIDwvT3BlcmF0aW9u
PgotICA8L0ludGVyZmFjZT4KLTwvRGVmaW5pdGlvbnM+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
d2lkbHByb2MvdGVzdC92YWxpZC94bWwvcmVwbGFjZWFibGUud2lkbHByb2N4bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvcmVwbGFjZWFibGUud2lkbHByb2N4bWwKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGY5NzYyMTY2ODI1YWE0OTYzZGY3YTYyNWYxNzhjMmU5
ZWRlMjhlZDUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL3JlcGxhY2VhYmxlLndpZGxwcm9jeG1s
CisrKyAvZGV2L251bGwKQEAgLTEsMjggKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNv
ZGluZz0iVVRGLTgiPz4KLTwhRE9DVFlQRSBEZWZpbml0aW9ucyBTWVNURU0gIndpZGxwcm9jeG1s
LmR0ZCI+Ci08RGVmaW5pdGlvbnM+Ci0gIDx3ZWJpZGw+aW50ZXJmYWNlIENvdW50ZXIgewotICBb
UmVwbGFjZWFibGVdIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIHZhbHVlOwotICB2
b2lkIGluY3JlbWVudCgpOwotfTs8L3dlYmlkbD4KLSAgPEludGVyZmFjZSBuYW1lPSJDb3VudGVy
IiBpZD0iOjpDb3VudGVyIj4KLSAgICA8d2ViaWRsPmludGVyZmFjZSBDb3VudGVyIHsKLSAgW1Jl
cGxhY2VhYmxlXSByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyB2YWx1ZTsKLSAgdm9p
ZCBpbmNyZW1lbnQoKTsKLX07PC93ZWJpZGw+Ci0gICAgPEF0dHJpYnV0ZSByZWFkb25seT0icmVh
ZG9ubHkiIG5hbWU9InZhbHVlIiBpZD0iOjpDb3VudGVyOjp2YWx1ZSI+Ci0gICAgICA8d2ViaWRs
PiAgW1JlcGxhY2VhYmxlXSByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyB2YWx1ZTs8
L3dlYmlkbD4KLSAgICAgIDxFeHRlbmRlZEF0dHJpYnV0ZUxpc3Q+Ci0gICAgICAgIDxFeHRlbmRl
ZEF0dHJpYnV0ZSBuYW1lPSJSZXBsYWNlYWJsZSI+Ci0gICAgICAgICAgPHdlYmlkbD5SZXBsYWNl
YWJsZTwvd2ViaWRsPgotICAgICAgICA8L0V4dGVuZGVkQXR0cmlidXRlPgotICAgICAgPC9FeHRl
bmRlZEF0dHJpYnV0ZUxpc3Q+Ci0gICAgICA8VHlwZSB0eXBlPSJ1bnNpZ25lZCBsb25nIi8+Ci0g
ICAgPC9BdHRyaWJ1dGU+Ci0gICAgPE9wZXJhdGlvbiBuYW1lPSJpbmNyZW1lbnQiIGlkPSI6OkNv
dW50ZXI6OmluY3JlbWVudCI+Ci0gICAgICA8d2ViaWRsPiAgdm9pZCBpbmNyZW1lbnQoKTs8L3dl
YmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9InZvaWQiLz4KLSAgICAgIDxBcmd1bWVudExpc3QvPgot
ICAgIDwvT3BlcmF0aW9uPgotICA8L0ludGVyZmFjZT4KLTwvRGVmaW5pdGlvbnM+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvc2VxdWVuY2Uud2lkbHByb2N4
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvc2VxdWVuY2Uud2lkbHByb2N4
bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQ1ZjQ1NjQxNzViOTNiZmFiZGRmNjA2
ODY1NGJjNzYxODFmNTM1ZDYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL3NlcXVlbmNlLndpZGxw
cm9jeG1sCisrKyAvZGV2L251bGwKQEAgLTEsMzIgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4w
IiBlbmNvZGluZz0iVVRGLTgiPz4KLTwhRE9DVFlQRSBEZWZpbml0aW9ucyBTWVNURU0gIndpZGxw
cm9jeG1sLmR0ZCI+Ci08RGVmaW5pdGlvbnM+Ci0gIDx3ZWJpZGw+aW50ZXJmYWNlIENhbnZhcyB7
Ci0gIHZvaWQgZHJhd1BvbHlnb24oc2VxdWVuY2UmbHQ7ZmxvYXQ+IGNvb3JkaW5hdGVzKTsKLSAg
c2VxdWVuY2UmbHQ7ZmxvYXQ+IGdldEluZmxlY3Rpb25Qb2ludHMoKTsKLX07PC93ZWJpZGw+Ci0g
IDxJbnRlcmZhY2UgbmFtZT0iQ2FudmFzIiBpZD0iOjpDYW52YXMiPgotICAgIDx3ZWJpZGw+aW50
ZXJmYWNlIENhbnZhcyB7Ci0gIHZvaWQgZHJhd1BvbHlnb24oc2VxdWVuY2UmbHQ7ZmxvYXQ+IGNv
b3JkaW5hdGVzKTsKLSAgc2VxdWVuY2UmbHQ7ZmxvYXQ+IGdldEluZmxlY3Rpb25Qb2ludHMoKTsK
LX07PC93ZWJpZGw+Ci0gICAgPE9wZXJhdGlvbiBuYW1lPSJkcmF3UG9seWdvbiIgaWQ9Ijo6Q2Fu
dmFzOjpkcmF3UG9seWdvbiI+Ci0gICAgICA8d2ViaWRsPiAgdm9pZCBkcmF3UG9seWdvbihzZXF1
ZW5jZSZsdDtmbG9hdD4gY29vcmRpbmF0ZXMpOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0i
dm9pZCIvPgotICAgICAgPEFyZ3VtZW50TGlzdD4KLSAgICAgICAgPEFyZ3VtZW50IG5hbWU9ImNv
b3JkaW5hdGVzIj4KLSAgICAgICAgICA8VHlwZSB0eXBlPSJzZXF1ZW5jZSI+Ci0gICAgICAgICAg
ICA8VHlwZSB0eXBlPSJmbG9hdCIvPgotICAgICAgICAgIDwvVHlwZT4KLSAgICAgICAgPC9Bcmd1
bWVudD4KLSAgICAgIDwvQXJndW1lbnRMaXN0PgotICAgIDwvT3BlcmF0aW9uPgotICAgIDxPcGVy
YXRpb24gbmFtZT0iZ2V0SW5mbGVjdGlvblBvaW50cyIgaWQ9Ijo6Q2FudmFzOjpnZXRJbmZsZWN0
aW9uUG9pbnRzIj4KLSAgICAgIDx3ZWJpZGw+ICBzZXF1ZW5jZSZsdDtmbG9hdD4gZ2V0SW5mbGVj
dGlvblBvaW50cygpOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0ic2VxdWVuY2UiPgotICAg
ICAgICA8VHlwZSB0eXBlPSJmbG9hdCIvPgotICAgICAgPC9UeXBlPgotICAgICAgPEFyZ3VtZW50
TGlzdC8+Ci0gICAgPC9PcGVyYXRpb24+Ci0gIDwvSW50ZXJmYWNlPgotPC9EZWZpbml0aW9ucz4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9zZXJpYWxpemVy
LndpZGxwcm9jeG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL3NlcmlhbGl6
ZXIud2lkbHByb2N4bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGViNDIxOWY4YTVl
MjU3MWIyYjBiMTU0Y2M2ZjhkYzIzODAwMGUzYTEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL3Nl
cmlhbGl6ZXIud2lkbHByb2N4bWwKKysrIC9kZXYvbnVsbApAQCAtMSwyOTYgKzAsMCBAQAotPD94
bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KLTwhRE9DVFlQRSBEZWZpbml0aW9u
cyBTWVNURU0gIndpZGxwcm9jeG1sLmR0ZCI+Ci08RGVmaW5pdGlvbnM+Ci0gIDx3ZWJpZGw+aW50
ZXJmYWNlIFRyYW5zYWN0aW9uIHsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIDxyZWY+QWNjb3VudDwv
cmVmPiBmcm9tOwotICByZWFkb25seSBhdHRyaWJ1dGUgPHJlZj5BY2NvdW50PC9yZWY+IHRvOwot
ICByZWFkb25seSBhdHRyaWJ1dGUgZmxvYXQgYW1vdW50OwotICByZWFkb25seSBhdHRyaWJ1dGUg
RE9NU3RyaW5nIGRlc2NyaXB0aW9uOwotICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9u
ZyBudW1iZXI7Ci0KLSAgc2VyaWFsaXplcjsKLX07Ci0KLWludGVyZmFjZSBBY2NvdW50IHsKLSAg
YXR0cmlidXRlIERPTVN0cmluZyBuYW1lOwotICBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBudW1i
ZXI7Ci0gIHNlcmlhbGl6ZXIgRE9NU3RyaW5nIHNlcmlhbGl6ZSgpOwotfTsKLQotaW50ZXJmYWNl
IFRyYW5zYWN0aW9uMiB7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSA8cmVmPkFjY291bnQyPC9yZWY+
IGZyb207Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSA8cmVmPkFjY291bnQyPC9yZWY+IHRvOwotICBy
ZWFkb25seSBhdHRyaWJ1dGUgZmxvYXQgYW1vdW50OwotICByZWFkb25seSBhdHRyaWJ1dGUgRE9N
U3RyaW5nIGRlc2NyaXB0aW9uOwotICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBu
dW1iZXI7Ci0KLSAgc2VyaWFsaXplciA9IHsgZnJvbSwgdG8sIGFtb3VudCwgZGVzY3JpcHRpb24g
fTsKLX07Ci0KLWludGVyZmFjZSBBY2NvdW50MiB7Ci0gIGF0dHJpYnV0ZSBET01TdHJpbmcgbmFt
ZTsKLSAgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbnVtYmVyOwotICBzZXJpYWxpemVyID0gbnVt
YmVyOwotfTsKLQotaW50ZXJmYWNlIEFjY291bnQzIHsKLSAgYXR0cmlidXRlIERPTVN0cmluZyBu
YW1lOwotICBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBudW1iZXI7Ci0KLSAgc2VyaWFsaXplciA9
IHsgYXR0cmlidXRlIH07Ci19OwotCi1pbnRlcmZhY2UgQWNjb3VudDQgewotICBnZXR0ZXIgb2Jq
ZWN0IGdldEl0ZW0odW5zaWduZWQgbG9uZyBpbmRleCk7Ci0gIHNlcmlhbGl6ZXIgPSB7IGdldHRl
ciB9OwotfTsKLQotaW50ZXJmYWNlIEFjY291bnQ1IDogPHJlZj5BY2NvdW50PC9yZWY+IHsKLSAg
YXR0cmlidXRlIERPTVN0cmluZyBzZWNvbmRuYW1lOwotICBzZXJpYWxpemVyID0geyBpbmhlcml0
LCBzZWNvbmRuYW1lIH07Ci19OwotCi1pbnRlcmZhY2UgQWNjb3VudDYgOiA8cmVmPkFjY291bnQ8
L3JlZj4gewotICBhdHRyaWJ1dGUgRE9NU3RyaW5nIHNlY29uZG5hbWU7Ci0gIHNlcmlhbGl6ZXIg
PSB7IGluaGVyaXQsIGF0dHJpYnV0ZSB9OwotfTsKLQotaW50ZXJmYWNlIEFjY291bnQ3IHsKLSAg
YXR0cmlidXRlIERPTVN0cmluZyBuYW1lOwotICBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBudW1i
ZXI7Ci0gIHNlcmlhbGl6ZXIgPSBbIG5hbWUsIG51bWJlciBdOwotfTsKLQotaW50ZXJmYWNlIEFj
Y291bnQ4IHsKLSAgZ2V0dGVyIG9iamVjdCBnZXRJdGVtKHVuc2lnbmVkIGxvbmcgaW5kZXgpOwot
ICBzZXJpYWxpemVyID0gWyBnZXR0ZXIgXTsKLX07PC93ZWJpZGw+Ci0gIDxJbnRlcmZhY2UgbmFt
ZT0iVHJhbnNhY3Rpb24iIGlkPSI6OlRyYW5zYWN0aW9uIj4KLSAgICA8d2ViaWRsPmludGVyZmFj
ZSBUcmFuc2FjdGlvbiB7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSA8cmVmPkFjY291bnQ8L3JlZj4g
ZnJvbTsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIDxyZWY+QWNjb3VudDwvcmVmPiB0bzsKLSAgcmVh
ZG9ubHkgYXR0cmlidXRlIGZsb2F0IGFtb3VudDsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0
cmluZyBkZXNjcmlwdGlvbjsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbnVt
YmVyOwotCi0gIHNlcmlhbGl6ZXI7Ci19Ozwvd2ViaWRsPgotICAgIDxBdHRyaWJ1dGUgcmVhZG9u
bHk9InJlYWRvbmx5IiBuYW1lPSJmcm9tIiBpZD0iOjpUcmFuc2FjdGlvbjo6ZnJvbSI+Ci0gICAg
ICA8d2ViaWRsPiAgcmVhZG9ubHkgYXR0cmlidXRlIDxyZWY+QWNjb3VudDwvcmVmPiBmcm9tOzwv
d2ViaWRsPgotICAgICAgPFR5cGUgbmFtZT0iQWNjb3VudCIvPgotICAgIDwvQXR0cmlidXRlPgot
ICAgIDxBdHRyaWJ1dGUgcmVhZG9ubHk9InJlYWRvbmx5IiBuYW1lPSJ0byIgaWQ9Ijo6VHJhbnNh
Y3Rpb246OnRvIj4KLSAgICAgIDx3ZWJpZGw+ICByZWFkb25seSBhdHRyaWJ1dGUgPHJlZj5BY2Nv
dW50PC9yZWY+IHRvOzwvd2ViaWRsPgotICAgICAgPFR5cGUgbmFtZT0iQWNjb3VudCIvPgotICAg
IDwvQXR0cmlidXRlPgotICAgIDxBdHRyaWJ1dGUgcmVhZG9ubHk9InJlYWRvbmx5IiBuYW1lPSJh
bW91bnQiIGlkPSI6OlRyYW5zYWN0aW9uOjphbW91bnQiPgotICAgICAgPHdlYmlkbD4gIHJlYWRv
bmx5IGF0dHJpYnV0ZSBmbG9hdCBhbW91bnQ7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJm
bG9hdCIvPgotICAgIDwvQXR0cmlidXRlPgotICAgIDxBdHRyaWJ1dGUgcmVhZG9ubHk9InJlYWRv
bmx5IiBuYW1lPSJkZXNjcmlwdGlvbiIgaWQ9Ijo6VHJhbnNhY3Rpb246OmRlc2NyaXB0aW9uIj4K
LSAgICAgIDx3ZWJpZGw+ICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGRlc2NyaXB0aW9u
Ozwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0iRE9NU3RyaW5nIi8+Ci0gICAgPC9BdHRyaWJ1
dGU+Ci0gICAgPEF0dHJpYnV0ZSByZWFkb25seT0icmVhZG9ubHkiIG5hbWU9Im51bWJlciIgaWQ9
Ijo6VHJhbnNhY3Rpb246Om51bWJlciI+Ci0gICAgICA8d2ViaWRsPiAgcmVhZG9ubHkgYXR0cmli
dXRlIHVuc2lnbmVkIGxvbmcgbnVtYmVyOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0idW5z
aWduZWQgbG9uZyIvPgotICAgIDwvQXR0cmlidXRlPgotICAgIDxTZXJpYWxpemVyPgotICAgICAg
PHdlYmlkbD4gIHNlcmlhbGl6ZXI7PC93ZWJpZGw+Ci0gICAgPC9TZXJpYWxpemVyPgotICA8L0lu
dGVyZmFjZT4KLSAgPEludGVyZmFjZSBuYW1lPSJBY2NvdW50IiBpZD0iOjpBY2NvdW50Ij4KLSAg
ICA8d2ViaWRsPmludGVyZmFjZSBBY2NvdW50IHsKLSAgYXR0cmlidXRlIERPTVN0cmluZyBuYW1l
OwotICBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBudW1iZXI7Ci0gIHNlcmlhbGl6ZXIgRE9NU3Ry
aW5nIHNlcmlhbGl6ZSgpOwotfTs8L3dlYmlkbD4KLSAgICA8QXR0cmlidXRlIG5hbWU9Im5hbWUi
IGlkPSI6OkFjY291bnQ6Om5hbWUiPgotICAgICAgPHdlYmlkbD4gIGF0dHJpYnV0ZSBET01TdHJp
bmcgbmFtZTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9IkRPTVN0cmluZyIvPgotICAgIDwv
QXR0cmlidXRlPgotICAgIDxBdHRyaWJ1dGUgbmFtZT0ibnVtYmVyIiBpZD0iOjpBY2NvdW50Ojpu
dW1iZXIiPgotICAgICAgPHdlYmlkbD4gIGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIG51bWJlcjs8
L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9InVuc2lnbmVkIGxvbmciLz4KLSAgICA8L0F0dHJp
YnV0ZT4KLSAgICA8T3BlcmF0aW9uIHNlcmlhbGl6ZXI9InNlcmlhbGl6ZXIiIG5hbWU9InNlcmlh
bGl6ZSIgaWQ9Ijo6QWNjb3VudDo6c2VyaWFsaXplIj4KLSAgICAgIDx3ZWJpZGw+ICBzZXJpYWxp
emVyIERPTVN0cmluZyBzZXJpYWxpemUoKTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9IkRP
TVN0cmluZyIvPgotICAgICAgPEFyZ3VtZW50TGlzdC8+Ci0gICAgPC9PcGVyYXRpb24+Ci0gIDwv
SW50ZXJmYWNlPgotICA8SW50ZXJmYWNlIG5hbWU9IlRyYW5zYWN0aW9uMiIgaWQ9Ijo6VHJhbnNh
Y3Rpb24yIj4KLSAgICA8d2ViaWRsPmludGVyZmFjZSBUcmFuc2FjdGlvbjIgewotICByZWFkb25s
eSBhdHRyaWJ1dGUgPHJlZj5BY2NvdW50MjwvcmVmPiBmcm9tOwotICByZWFkb25seSBhdHRyaWJ1
dGUgPHJlZj5BY2NvdW50MjwvcmVmPiB0bzsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIGZsb2F0IGFt
b3VudDsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBkZXNjcmlwdGlvbjsKLSAgcmVh
ZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbnVtYmVyOwotCi0gIHNlcmlhbGl6ZXIgPSB7
IGZyb20sIHRvLCBhbW91bnQsIGRlc2NyaXB0aW9uIH07Ci19Ozwvd2ViaWRsPgotICAgIDxBdHRy
aWJ1dGUgcmVhZG9ubHk9InJlYWRvbmx5IiBuYW1lPSJmcm9tIiBpZD0iOjpUcmFuc2FjdGlvbjI6
OmZyb20iPgotICAgICAgPHdlYmlkbD4gIHJlYWRvbmx5IGF0dHJpYnV0ZSA8cmVmPkFjY291bnQy
PC9yZWY+IGZyb207PC93ZWJpZGw+Ci0gICAgICA8VHlwZSBuYW1lPSJBY2NvdW50MiIvPgotICAg
IDwvQXR0cmlidXRlPgotICAgIDxBdHRyaWJ1dGUgcmVhZG9ubHk9InJlYWRvbmx5IiBuYW1lPSJ0
byIgaWQ9Ijo6VHJhbnNhY3Rpb24yOjp0byI+Ci0gICAgICA8d2ViaWRsPiAgcmVhZG9ubHkgYXR0
cmlidXRlIDxyZWY+QWNjb3VudDI8L3JlZj4gdG87PC93ZWJpZGw+Ci0gICAgICA8VHlwZSBuYW1l
PSJBY2NvdW50MiIvPgotICAgIDwvQXR0cmlidXRlPgotICAgIDxBdHRyaWJ1dGUgcmVhZG9ubHk9
InJlYWRvbmx5IiBuYW1lPSJhbW91bnQiIGlkPSI6OlRyYW5zYWN0aW9uMjo6YW1vdW50Ij4KLSAg
ICAgIDx3ZWJpZGw+ICByZWFkb25seSBhdHRyaWJ1dGUgZmxvYXQgYW1vdW50Ozwvd2ViaWRsPgot
ICAgICAgPFR5cGUgdHlwZT0iZmxvYXQiLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAgICA8QXR0cmli
dXRlIHJlYWRvbmx5PSJyZWFkb25seSIgbmFtZT0iZGVzY3JpcHRpb24iIGlkPSI6OlRyYW5zYWN0
aW9uMjo6ZGVzY3JpcHRpb24iPgotICAgICAgPHdlYmlkbD4gIHJlYWRvbmx5IGF0dHJpYnV0ZSBE
T01TdHJpbmcgZGVzY3JpcHRpb247PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJET01TdHJp
bmciLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAgICA8QXR0cmlidXRlIHJlYWRvbmx5PSJyZWFkb25s
eSIgbmFtZT0ibnVtYmVyIiBpZD0iOjpUcmFuc2FjdGlvbjI6Om51bWJlciI+Ci0gICAgICA8d2Vi
aWRsPiAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbnVtYmVyOzwvd2ViaWRsPgot
ICAgICAgPFR5cGUgdHlwZT0idW5zaWduZWQgbG9uZyIvPgotICAgIDwvQXR0cmlidXRlPgotICAg
IDxTZXJpYWxpemVyPgotICAgICAgPHdlYmlkbD4gIHNlcmlhbGl6ZXIgPSB7IGZyb20sIHRvLCBh
bW91bnQsIGRlc2NyaXB0aW9uIH07PC93ZWJpZGw+Ci0gICAgICA8TWFwIHBhdHRlcm49InNlbGVj
dGlvbiI+Ci0gICAgICAgIDxQYXR0ZXJuQXR0cmlidXRlIG5hbWU9ImZyb20iLz4KLSAgICAgICAg
PFBhdHRlcm5BdHRyaWJ1dGUgbmFtZT0idG8iLz4KLSAgICAgICAgPFBhdHRlcm5BdHRyaWJ1dGUg
bmFtZT0iYW1vdW50Ii8+Ci0gICAgICAgIDxQYXR0ZXJuQXR0cmlidXRlIG5hbWU9ImRlc2NyaXB0
aW9uIi8+Ci0gICAgICA8L01hcD4KLSAgICA8L1NlcmlhbGl6ZXI+Ci0gIDwvSW50ZXJmYWNlPgot
ICA8SW50ZXJmYWNlIG5hbWU9IkFjY291bnQyIiBpZD0iOjpBY2NvdW50MiI+Ci0gICAgPHdlYmlk
bD5pbnRlcmZhY2UgQWNjb3VudDIgewotICBhdHRyaWJ1dGUgRE9NU3RyaW5nIG5hbWU7Ci0gIGF0
dHJpYnV0ZSB1bnNpZ25lZCBsb25nIG51bWJlcjsKLSAgc2VyaWFsaXplciA9IG51bWJlcjsKLX07
PC93ZWJpZGw+Ci0gICAgPEF0dHJpYnV0ZSBuYW1lPSJuYW1lIiBpZD0iOjpBY2NvdW50Mjo6bmFt
ZSI+Ci0gICAgICA8d2ViaWRsPiAgYXR0cmlidXRlIERPTVN0cmluZyBuYW1lOzwvd2ViaWRsPgot
ICAgICAgPFR5cGUgdHlwZT0iRE9NU3RyaW5nIi8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gICAgPEF0
dHJpYnV0ZSBuYW1lPSJudW1iZXIiIGlkPSI6OkFjY291bnQyOjpudW1iZXIiPgotICAgICAgPHdl
YmlkbD4gIGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIG51bWJlcjs8L3dlYmlkbD4KLSAgICAgIDxU
eXBlIHR5cGU9InVuc2lnbmVkIGxvbmciLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAgICA8U2VyaWFs
aXplciBhdHRyaWJ1dGU9Im51bWJlciI+Ci0gICAgICA8d2ViaWRsPiAgc2VyaWFsaXplciA9IG51
bWJlcjs8L3dlYmlkbD4KLSAgICA8L1NlcmlhbGl6ZXI+Ci0gIDwvSW50ZXJmYWNlPgotICA8SW50
ZXJmYWNlIG5hbWU9IkFjY291bnQzIiBpZD0iOjpBY2NvdW50MyI+Ci0gICAgPHdlYmlkbD5pbnRl
cmZhY2UgQWNjb3VudDMgewotICBhdHRyaWJ1dGUgRE9NU3RyaW5nIG5hbWU7Ci0gIGF0dHJpYnV0
ZSB1bnNpZ25lZCBsb25nIG51bWJlcjsKLQotICBzZXJpYWxpemVyID0geyBhdHRyaWJ1dGUgfTsK
LX07PC93ZWJpZGw+Ci0gICAgPEF0dHJpYnV0ZSBuYW1lPSJuYW1lIiBpZD0iOjpBY2NvdW50Mzo6
bmFtZSI+Ci0gICAgICA8d2ViaWRsPiAgYXR0cmlidXRlIERPTVN0cmluZyBuYW1lOzwvd2ViaWRs
PgotICAgICAgPFR5cGUgdHlwZT0iRE9NU3RyaW5nIi8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gICAg
PEF0dHJpYnV0ZSBuYW1lPSJudW1iZXIiIGlkPSI6OkFjY291bnQzOjpudW1iZXIiPgotICAgICAg
PHdlYmlkbD4gIGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIG51bWJlcjs8L3dlYmlkbD4KLSAgICAg
IDxUeXBlIHR5cGU9InVuc2lnbmVkIGxvbmciLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAgICA8U2Vy
aWFsaXplcj4KLSAgICAgIDx3ZWJpZGw+ICBzZXJpYWxpemVyID0geyBhdHRyaWJ1dGUgfTs8L3dl
YmlkbD4KLSAgICAgIDxNYXAgcGF0dGVybj0iYWxsIi8+Ci0gICAgPC9TZXJpYWxpemVyPgotICA8
L0ludGVyZmFjZT4KLSAgPEludGVyZmFjZSBuYW1lPSJBY2NvdW50NCIgaWQ9Ijo6QWNjb3VudDQi
PgotICAgIDx3ZWJpZGw+aW50ZXJmYWNlIEFjY291bnQ0IHsKLSAgZ2V0dGVyIG9iamVjdCBnZXRJ
dGVtKHVuc2lnbmVkIGxvbmcgaW5kZXgpOwotICBzZXJpYWxpemVyID0geyBnZXR0ZXIgfTsKLX07
PC93ZWJpZGw+Ci0gICAgPE9wZXJhdGlvbiBnZXR0ZXI9ImdldHRlciIgbmFtZT0iZ2V0SXRlbSIg
aWQ9Ijo6QWNjb3VudDQ6OmdldEl0ZW0iPgotICAgICAgPHdlYmlkbD4gIGdldHRlciBvYmplY3Qg
Z2V0SXRlbSh1bnNpZ25lZCBsb25nIGluZGV4KTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9
Im9iamVjdCIvPgotICAgICAgPEFyZ3VtZW50TGlzdD4KLSAgICAgICAgPEFyZ3VtZW50IG5hbWU9
ImluZGV4Ij4KLSAgICAgICAgICA8VHlwZSB0eXBlPSJ1bnNpZ25lZCBsb25nIi8+Ci0gICAgICAg
IDwvQXJndW1lbnQ+Ci0gICAgICA8L0FyZ3VtZW50TGlzdD4KLSAgICA8L09wZXJhdGlvbj4KLSAg
ICA8U2VyaWFsaXplcj4KLSAgICAgIDx3ZWJpZGw+ICBzZXJpYWxpemVyID0geyBnZXR0ZXIgfTs8
L3dlYmlkbD4KLSAgICAgIDxNYXAgcGF0dGVybj0iZ2V0dGVyIi8+Ci0gICAgPC9TZXJpYWxpemVy
PgotICA8L0ludGVyZmFjZT4KLSAgPEludGVyZmFjZSBuYW1lPSJBY2NvdW50NSIgaWQ9Ijo6QWNj
b3VudDUiPgotICAgIDx3ZWJpZGw+aW50ZXJmYWNlIEFjY291bnQ1IDogPHJlZj5BY2NvdW50PC9y
ZWY+IHsKLSAgYXR0cmlidXRlIERPTVN0cmluZyBzZWNvbmRuYW1lOwotICBzZXJpYWxpemVyID0g
eyBpbmhlcml0LCBzZWNvbmRuYW1lIH07Ci19Ozwvd2ViaWRsPgotICAgIDxJbnRlcmZhY2VJbmhl
cml0YW5jZT4KLSAgICAgIDxOYW1lIG5hbWU9IkFjY291bnQiLz4KLSAgICA8L0ludGVyZmFjZUlu
aGVyaXRhbmNlPgotICAgIDxBdHRyaWJ1dGUgbmFtZT0ic2Vjb25kbmFtZSIgaWQ9Ijo6QWNjb3Vu
dDU6OnNlY29uZG5hbWUiPgotICAgICAgPHdlYmlkbD4gIGF0dHJpYnV0ZSBET01TdHJpbmcgc2Vj
b25kbmFtZTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9IkRPTVN0cmluZyIvPgotICAgIDwv
QXR0cmlidXRlPgotICAgIDxTZXJpYWxpemVyPgotICAgICAgPHdlYmlkbD4gIHNlcmlhbGl6ZXIg
PSB7IGluaGVyaXQsIHNlY29uZG5hbWUgfTs8L3dlYmlkbD4KLSAgICAgIDxNYXAgaW5oZXJpdD0i
aW5oZXJpdCIgcGF0dGVybj0ic2VsZWN0aW9uIj4KLSAgICAgICAgPFBhdHRlcm5BdHRyaWJ1dGUg
bmFtZT0ic2Vjb25kbmFtZSIvPgotICAgICAgPC9NYXA+Ci0gICAgPC9TZXJpYWxpemVyPgotICA8
L0ludGVyZmFjZT4KLSAgPEludGVyZmFjZSBuYW1lPSJBY2NvdW50NiIgaWQ9Ijo6QWNjb3VudDYi
PgotICAgIDx3ZWJpZGw+aW50ZXJmYWNlIEFjY291bnQ2IDogPHJlZj5BY2NvdW50PC9yZWY+IHsK
LSAgYXR0cmlidXRlIERPTVN0cmluZyBzZWNvbmRuYW1lOwotICBzZXJpYWxpemVyID0geyBpbmhl
cml0LCBhdHRyaWJ1dGUgfTsKLX07PC93ZWJpZGw+Ci0gICAgPEludGVyZmFjZUluaGVyaXRhbmNl
PgotICAgICAgPE5hbWUgbmFtZT0iQWNjb3VudCIvPgotICAgIDwvSW50ZXJmYWNlSW5oZXJpdGFu
Y2U+Ci0gICAgPEF0dHJpYnV0ZSBuYW1lPSJzZWNvbmRuYW1lIiBpZD0iOjpBY2NvdW50Njo6c2Vj
b25kbmFtZSI+Ci0gICAgICA8d2ViaWRsPiAgYXR0cmlidXRlIERPTVN0cmluZyBzZWNvbmRuYW1l
Ozwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0iRE9NU3RyaW5nIi8+Ci0gICAgPC9BdHRyaWJ1
dGU+Ci0gICAgPFNlcmlhbGl6ZXI+Ci0gICAgICA8d2ViaWRsPiAgc2VyaWFsaXplciA9IHsgaW5o
ZXJpdCwgYXR0cmlidXRlIH07PC93ZWJpZGw+Ci0gICAgICA8TWFwIGluaGVyaXQ9ImluaGVyaXQi
IHBhdHRlcm49ImFsbCIvPgotICAgIDwvU2VyaWFsaXplcj4KLSAgPC9JbnRlcmZhY2U+Ci0gIDxJ
bnRlcmZhY2UgbmFtZT0iQWNjb3VudDciIGlkPSI6OkFjY291bnQ3Ij4KLSAgICA8d2ViaWRsPmlu
dGVyZmFjZSBBY2NvdW50NyB7Ci0gIGF0dHJpYnV0ZSBET01TdHJpbmcgbmFtZTsKLSAgYXR0cmli
dXRlIHVuc2lnbmVkIGxvbmcgbnVtYmVyOwotICBzZXJpYWxpemVyID0gWyBuYW1lLCBudW1iZXIg
XTsKLX07PC93ZWJpZGw+Ci0gICAgPEF0dHJpYnV0ZSBuYW1lPSJuYW1lIiBpZD0iOjpBY2NvdW50
Nzo6bmFtZSI+Ci0gICAgICA8d2ViaWRsPiAgYXR0cmlidXRlIERPTVN0cmluZyBuYW1lOzwvd2Vi
aWRsPgotICAgICAgPFR5cGUgdHlwZT0iRE9NU3RyaW5nIi8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0g
ICAgPEF0dHJpYnV0ZSBuYW1lPSJudW1iZXIiIGlkPSI6OkFjY291bnQ3OjpudW1iZXIiPgotICAg
ICAgPHdlYmlkbD4gIGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIG51bWJlcjs8L3dlYmlkbD4KLSAg
ICAgIDxUeXBlIHR5cGU9InVuc2lnbmVkIGxvbmciLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAgICA8
U2VyaWFsaXplcj4KLSAgICAgIDx3ZWJpZGw+ICBzZXJpYWxpemVyID0gWyBuYW1lLCBudW1iZXIg
XTs8L3dlYmlkbD4KLSAgICAgIDxMaXN0IHBhdHRlcm49InNlbGVjdGlvbiI+Ci0gICAgICAgIDxQ
YXR0ZXJuQXR0cmlidXRlIG5hbWU9Im5hbWUiLz4KLSAgICAgICAgPFBhdHRlcm5BdHRyaWJ1dGUg
bmFtZT0ibnVtYmVyIi8+Ci0gICAgICA8L0xpc3Q+Ci0gICAgPC9TZXJpYWxpemVyPgotICA8L0lu
dGVyZmFjZT4KLSAgPEludGVyZmFjZSBuYW1lPSJBY2NvdW50OCIgaWQ9Ijo6QWNjb3VudDgiPgot
ICAgIDx3ZWJpZGw+aW50ZXJmYWNlIEFjY291bnQ4IHsKLSAgZ2V0dGVyIG9iamVjdCBnZXRJdGVt
KHVuc2lnbmVkIGxvbmcgaW5kZXgpOwotICBzZXJpYWxpemVyID0gWyBnZXR0ZXIgXTsKLX07PC93
ZWJpZGw+Ci0gICAgPE9wZXJhdGlvbiBnZXR0ZXI9ImdldHRlciIgbmFtZT0iZ2V0SXRlbSIgaWQ9
Ijo6QWNjb3VudDg6OmdldEl0ZW0iPgotICAgICAgPHdlYmlkbD4gIGdldHRlciBvYmplY3QgZ2V0
SXRlbSh1bnNpZ25lZCBsb25nIGluZGV4KTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9Im9i
amVjdCIvPgotICAgICAgPEFyZ3VtZW50TGlzdD4KLSAgICAgICAgPEFyZ3VtZW50IG5hbWU9Imlu
ZGV4Ij4KLSAgICAgICAgICA8VHlwZSB0eXBlPSJ1bnNpZ25lZCBsb25nIi8+Ci0gICAgICAgIDwv
QXJndW1lbnQ+Ci0gICAgICA8L0FyZ3VtZW50TGlzdD4KLSAgICA8L09wZXJhdGlvbj4KLSAgICA8
U2VyaWFsaXplcj4KLSAgICAgIDx3ZWJpZGw+ICBzZXJpYWxpemVyID0gWyBnZXR0ZXIgXTs8L3dl
YmlkbD4KLSAgICAgIDxMaXN0IHBhdHRlcm49ImdldHRlciIvPgotICAgIDwvU2VyaWFsaXplcj4K
LSAgPC9JbnRlcmZhY2U+Ci08L0RlZmluaXRpb25zPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dp
ZGxwcm9jL3Rlc3QvdmFsaWQveG1sL3NwZWNpYWwtb21pdHRhYmxlLndpZGxwcm9jeG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL3NwZWNpYWwtb21pdHRhYmxlLndpZGxwcm9j
eG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxOTg2ZDE5MGE4MGNkZDk0OWI2NDY1
Y2E2YzcwOGQxNjgxZjBlNDFiLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9zcGVjaWFsLW9taXR0
YWJsZS53aWRscHJvY3htbAorKysgL2Rldi9udWxsCkBAIC0xLDM3ICswLDAgQEAKLTw/eG1sIHZl
cnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Ci08IURPQ1RZUEUgRGVmaW5pdGlvbnMgU1lT
VEVNICJ3aWRscHJvY3htbC5kdGQiPgotPERlZmluaXRpb25zPgotICA8SW50ZXJmYWNlIG5hbWU9
IkRpY3Rpb25hcnkiIGlkPSI6OkRpY3Rpb25hcnkiPgotICAgIDx3ZWJpZGw+aW50ZXJmYWNlIERp
Y3Rpb25hcnkgewotICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBwcm9wZXJ0eUNv
dW50OwotCi0gIG9taXR0YWJsZSBnZXR0ZXIgZmxvYXQgZ2V0UHJvcGVydHkoRE9NU3RyaW5nIHBy
b3BlcnR5TmFtZSk7Ci0gIG9taXR0YWJsZSBzZXR0ZXIgdm9pZCBzZXRQcm9wZXJ0eShET01TdHJp
bmcgcHJvcGVydHlOYW1lLCBmbG9hdCBwcm9wZXJ0eVZhbHVlKTsKLX07PC93ZWJpZGw+Ci0gICAg
PEF0dHJpYnV0ZSByZWFkb25seT0icmVhZG9ubHkiIG5hbWU9InByb3BlcnR5Q291bnQiIGlkPSI6
OkRpY3Rpb25hcnk6OnByb3BlcnR5Q291bnQiPgotICAgICAgPHdlYmlkbD4gIHJlYWRvbmx5IGF0
dHJpYnV0ZSB1bnNpZ25lZCBsb25nIHByb3BlcnR5Q291bnQ7PC93ZWJpZGw+Ci0gICAgICA8VHlw
ZSB0eXBlPSJ1bnNpZ25lZCBsb25nIi8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gICAgPE9wZXJhdGlv
biBvbWl0dGFibGU9Im9taXR0YWJsZSIgZ2V0dGVyPSJnZXR0ZXIiIG5hbWU9ImdldFByb3BlcnR5
IiBpZD0iOjpEaWN0aW9uYXJ5OjpnZXRQcm9wZXJ0eSI+Ci0gICAgICA8d2ViaWRsPiAgb21pdHRh
YmxlIGdldHRlciBmbG9hdCBnZXRQcm9wZXJ0eShET01TdHJpbmcgcHJvcGVydHlOYW1lKTs8L3dl
YmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9ImZsb2F0Ii8+Ci0gICAgICA8QXJndW1lbnRMaXN0Pgot
ICAgICAgICA8QXJndW1lbnQgbmFtZT0icHJvcGVydHlOYW1lIj4KLSAgICAgICAgICA8VHlwZSB0
eXBlPSJET01TdHJpbmciLz4KLSAgICAgICAgPC9Bcmd1bWVudD4KLSAgICAgIDwvQXJndW1lbnRM
aXN0PgotICAgIDwvT3BlcmF0aW9uPgotICAgIDxPcGVyYXRpb24gb21pdHRhYmxlPSJvbWl0dGFi
bGUiIHNldHRlcj0ic2V0dGVyIiBuYW1lPSJzZXRQcm9wZXJ0eSIgaWQ9Ijo6RGljdGlvbmFyeTo6
c2V0UHJvcGVydHkiPgotICAgICAgPHdlYmlkbD4gIG9taXR0YWJsZSBzZXR0ZXIgdm9pZCBzZXRQ
cm9wZXJ0eShET01TdHJpbmcgcHJvcGVydHlOYW1lLCBmbG9hdCBwcm9wZXJ0eVZhbHVlKTs8L3dl
YmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9InZvaWQiLz4KLSAgICAgIDxBcmd1bWVudExpc3Q+Ci0g
ICAgICAgIDxBcmd1bWVudCBuYW1lPSJwcm9wZXJ0eU5hbWUiPgotICAgICAgICAgIDxUeXBlIHR5
cGU9IkRPTVN0cmluZyIvPgotICAgICAgICA8L0FyZ3VtZW50PgotICAgICAgICA8QXJndW1lbnQg
bmFtZT0icHJvcGVydHlWYWx1ZSI+Ci0gICAgICAgICAgPFR5cGUgdHlwZT0iZmxvYXQiLz4KLSAg
ICAgICAgPC9Bcmd1bWVudD4KLSAgICAgIDwvQXJndW1lbnRMaXN0PgotICAgIDwvT3BlcmF0aW9u
PgotICA8L0ludGVyZmFjZT4KLTwvRGVmaW5pdGlvbnM+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
d2lkbHByb2MvdGVzdC92YWxpZC94bWwvc3RhdGljLndpZGxwcm9jeG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dp
ZGxwcm9jL3Rlc3QvdmFsaWQveG1sL3N0YXRpYy53aWRscHJvY3htbApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDNjMTRlMTZlYmE4YzNlZWZlY2YyMGUwMWJkYWJiYWU4MTViNGUyNy4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
d2lkbHByb2MvdGVzdC92YWxpZC94bWwvc3RhdGljLndpZGxwcm9jeG1sCisrKyAvZGV2L251bGwK
QEAgLTEsNTggKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4K
LTwhRE9DVFlQRSBEZWZpbml0aW9ucyBTWVNURU0gIndpZGxwcm9jeG1sLmR0ZCI+Ci08RGVmaW5p
dGlvbnM+Ci0gIDx3ZWJpZGw+aW50ZXJmYWNlIFBvaW50IHsgIH07Ci0KLWludGVyZmFjZSBDaXJj
bGUgewotICBhdHRyaWJ1dGUgZmxvYXQgY3g7Ci0gIGF0dHJpYnV0ZSBmbG9hdCBjeTsKLSAgYXR0
cmlidXRlIGZsb2F0IHJhZGl1czsKLQotICBzdGF0aWMgcmVhZG9ubHkgYXR0cmlidXRlIGxvbmcg
dHJpYW5ndWxhdGlvbkNvdW50OwotICBzdGF0aWMgPHJlZj5Qb2ludDwvcmVmPiB0cmlhbmd1bGF0
ZSg8cmVmPkNpcmNsZTwvcmVmPiBjMSwgPHJlZj5DaXJjbGU8L3JlZj4gYzIsIDxyZWY+Q2lyY2xl
PC9yZWY+IGMzKTsKLX07PC93ZWJpZGw+Ci0gIDxJbnRlcmZhY2UgbmFtZT0iUG9pbnQiIGlkPSI6
OlBvaW50Ij4KLSAgICA8d2ViaWRsPmludGVyZmFjZSBQb2ludCB7ICB9Ozwvd2ViaWRsPgotICA8
L0ludGVyZmFjZT4KLSAgPEludGVyZmFjZSBuYW1lPSJDaXJjbGUiIGlkPSI6OkNpcmNsZSI+Ci0g
ICAgPHdlYmlkbD5pbnRlcmZhY2UgQ2lyY2xlIHsKLSAgYXR0cmlidXRlIGZsb2F0IGN4OwotICBh
dHRyaWJ1dGUgZmxvYXQgY3k7Ci0gIGF0dHJpYnV0ZSBmbG9hdCByYWRpdXM7Ci0KLSAgc3RhdGlj
IHJlYWRvbmx5IGF0dHJpYnV0ZSBsb25nIHRyaWFuZ3VsYXRpb25Db3VudDsKLSAgc3RhdGljIDxy
ZWY+UG9pbnQ8L3JlZj4gdHJpYW5ndWxhdGUoPHJlZj5DaXJjbGU8L3JlZj4gYzEsIDxyZWY+Q2ly
Y2xlPC9yZWY+IGMyLCA8cmVmPkNpcmNsZTwvcmVmPiBjMyk7Ci19Ozwvd2ViaWRsPgotICAgIDxB
dHRyaWJ1dGUgbmFtZT0iY3giIGlkPSI6OkNpcmNsZTo6Y3giPgotICAgICAgPHdlYmlkbD4gIGF0
dHJpYnV0ZSBmbG9hdCBjeDs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9ImZsb2F0Ii8+Ci0g
ICAgPC9BdHRyaWJ1dGU+Ci0gICAgPEF0dHJpYnV0ZSBuYW1lPSJjeSIgaWQ9Ijo6Q2lyY2xlOjpj
eSI+Ci0gICAgICA8d2ViaWRsPiAgYXR0cmlidXRlIGZsb2F0IGN5Ozwvd2ViaWRsPgotICAgICAg
PFR5cGUgdHlwZT0iZmxvYXQiLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAgICA8QXR0cmlidXRlIG5h
bWU9InJhZGl1cyIgaWQ9Ijo6Q2lyY2xlOjpyYWRpdXMiPgotICAgICAgPHdlYmlkbD4gIGF0dHJp
YnV0ZSBmbG9hdCByYWRpdXM7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJmbG9hdCIvPgot
ICAgIDwvQXR0cmlidXRlPgotICAgIDxBdHRyaWJ1dGUgc3RhdGljPSJzdGF0aWMiIHJlYWRvbmx5
PSJyZWFkb25seSIgbmFtZT0idHJpYW5ndWxhdGlvbkNvdW50IiBpZD0iOjpDaXJjbGU6OnRyaWFu
Z3VsYXRpb25Db3VudCI+Ci0gICAgICA8d2ViaWRsPiAgc3RhdGljIHJlYWRvbmx5IGF0dHJpYnV0
ZSBsb25nIHRyaWFuZ3VsYXRpb25Db3VudDs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9Imxv
bmciLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAgICA8T3BlcmF0aW9uIHN0YXRpYz0ic3RhdGljIiBu
YW1lPSJ0cmlhbmd1bGF0ZSIgaWQ9Ijo6Q2lyY2xlOjp0cmlhbmd1bGF0ZSI+Ci0gICAgICA8d2Vi
aWRsPiAgc3RhdGljIDxyZWY+UG9pbnQ8L3JlZj4gdHJpYW5ndWxhdGUoPHJlZj5DaXJjbGU8L3Jl
Zj4gYzEsIDxyZWY+Q2lyY2xlPC9yZWY+IGMyLCA8cmVmPkNpcmNsZTwvcmVmPiBjMyk7PC93ZWJp
ZGw+Ci0gICAgICA8VHlwZSBuYW1lPSJQb2ludCIvPgotICAgICAgPEFyZ3VtZW50TGlzdD4KLSAg
ICAgICAgPEFyZ3VtZW50IG5hbWU9ImMxIj4KLSAgICAgICAgICA8VHlwZSBuYW1lPSJDaXJjbGUi
Lz4KLSAgICAgICAgPC9Bcmd1bWVudD4KLSAgICAgICAgPEFyZ3VtZW50IG5hbWU9ImMyIj4KLSAg
ICAgICAgICA8VHlwZSBuYW1lPSJDaXJjbGUiLz4KLSAgICAgICAgPC9Bcmd1bWVudD4KLSAgICAg
ICAgPEFyZ3VtZW50IG5hbWU9ImMzIj4KLSAgICAgICAgICA8VHlwZSBuYW1lPSJDaXJjbGUiLz4K
LSAgICAgICAgPC9Bcmd1bWVudD4KLSAgICAgIDwvQXJndW1lbnRMaXN0PgotICAgIDwvT3BlcmF0
aW9uPgotICA8L0ludGVyZmFjZT4KLTwvRGVmaW5pdGlvbnM+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvc3RyaW5naWZpZXItYXR0cmlidXRlLndpZGxwcm9j
eG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL3N0cmluZ2lmaWVyLWF0dHJp
YnV0ZS53aWRscHJvY3htbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDgyY2U0ZDM0
MWJiZjQ2MjkwNzNhNjY1ZGQ3OWFkYTU3Mjg1NTBmNy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwv
c3RyaW5naWZpZXItYXR0cmlidXRlLndpZGxwcm9jeG1sCisrKyAvZGV2L251bGwKQEAgLTEsMjkg
KzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KLTwhRE9DVFlQ
RSBEZWZpbml0aW9ucyBTWVNURU0gIndpZGxwcm9jeG1sLmR0ZCI+Ci08RGVmaW5pdGlvbnM+Ci0g
IDx3ZWJpZGw+W0NvbnN0cnVjdG9yXQotaW50ZXJmYWNlIFN0dWRlbnQgewotICBhdHRyaWJ1dGUg
dW5zaWduZWQgbG9uZyBpZDsKLSAgc3RyaW5naWZpZXIgYXR0cmlidXRlIERPTVN0cmluZyBuYW1l
OwotfTs8L3dlYmlkbD4KLSAgPEludGVyZmFjZSBuYW1lPSJTdHVkZW50IiBpZD0iOjpTdHVkZW50
Ij4KLSAgICA8d2ViaWRsPltDb25zdHJ1Y3Rvcl0KLWludGVyZmFjZSBTdHVkZW50IHsKLSAgYXR0
cmlidXRlIHVuc2lnbmVkIGxvbmcgaWQ7Ci0gIHN0cmluZ2lmaWVyIGF0dHJpYnV0ZSBET01TdHJp
bmcgbmFtZTsKLX07PC93ZWJpZGw+Ci0gICAgPEV4dGVuZGVkQXR0cmlidXRlTGlzdD4KLSAgICAg
IDxFeHRlbmRlZEF0dHJpYnV0ZSBuYW1lPSJDb25zdHJ1Y3RvciI+Ci0gICAgICAgIDx3ZWJpZGw+
Q29uc3RydWN0b3I8L3dlYmlkbD4KLSAgICAgIDwvRXh0ZW5kZWRBdHRyaWJ1dGU+Ci0gICAgPC9F
eHRlbmRlZEF0dHJpYnV0ZUxpc3Q+Ci0gICAgPEF0dHJpYnV0ZSBuYW1lPSJpZCIgaWQ9Ijo6U3R1
ZGVudDo6aWQiPgotICAgICAgPHdlYmlkbD4gIGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGlkOzwv
d2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0idW5zaWduZWQgbG9uZyIvPgotICAgIDwvQXR0cmli
dXRlPgotICAgIDxBdHRyaWJ1dGUgc3RyaW5naWZpZXI9InN0cmluZ2lmaWVyIiBuYW1lPSJuYW1l
IiBpZD0iOjpTdHVkZW50OjpuYW1lIj4KLSAgICAgIDx3ZWJpZGw+ICBzdHJpbmdpZmllciBhdHRy
aWJ1dGUgRE9NU3RyaW5nIG5hbWU7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJET01TdHJp
bmciLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAgPC9JbnRlcmZhY2U+Ci08L0RlZmluaXRpb25zPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL3N0cmluZ2lmaWVy
LWN1c3RvbS53aWRscHJvY3htbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9z
dHJpbmdpZmllci1jdXN0b20ud2lkbHByb2N4bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IGNkYWIxY2NmYzM3YzFhODU0YmE5ZjE5YTRiMDY0YzQxNDEzYzUyMDYuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rl
c3QvdmFsaWQveG1sL3N0cmluZ2lmaWVyLWN1c3RvbS53aWRscHJvY3htbAorKysgL2Rldi9udWxs
CkBAIC0xLDQ0ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+
Ci08IURPQ1RZUEUgRGVmaW5pdGlvbnMgU1lTVEVNICJ3aWRscHJvY3htbC5kdGQiPgotPERlZmlu
aXRpb25zPgotICA8d2ViaWRsPltDb25zdHJ1Y3Rvcl0KLWludGVyZmFjZSBTdHVkZW50IHsKLSAg
YXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgaWQ7Ci0gIGF0dHJpYnV0ZSBET01TdHJpbmc/IGZhbWls
eU5hbWU7Ci0gIGF0dHJpYnV0ZSBET01TdHJpbmcgZ2l2ZW5OYW1lOwotCi0gIHN0cmluZ2lmaWVy
IERPTVN0cmluZyAoKTsKLX07PC93ZWJpZGw+Ci0gIDxJbnRlcmZhY2UgbmFtZT0iU3R1ZGVudCIg
aWQ9Ijo6U3R1ZGVudCI+Ci0gICAgPHdlYmlkbD5bQ29uc3RydWN0b3JdCi1pbnRlcmZhY2UgU3R1
ZGVudCB7Ci0gIGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGlkOwotICBhdHRyaWJ1dGUgRE9NU3Ry
aW5nPyBmYW1pbHlOYW1lOwotICBhdHRyaWJ1dGUgRE9NU3RyaW5nIGdpdmVuTmFtZTsKLQotICBz
dHJpbmdpZmllciBET01TdHJpbmcgKCk7Ci19Ozwvd2ViaWRsPgotICAgIDxFeHRlbmRlZEF0dHJp
YnV0ZUxpc3Q+Ci0gICAgICA8RXh0ZW5kZWRBdHRyaWJ1dGUgbmFtZT0iQ29uc3RydWN0b3IiPgot
ICAgICAgICA8d2ViaWRsPkNvbnN0cnVjdG9yPC93ZWJpZGw+Ci0gICAgICA8L0V4dGVuZGVkQXR0
cmlidXRlPgotICAgIDwvRXh0ZW5kZWRBdHRyaWJ1dGVMaXN0PgotICAgIDxBdHRyaWJ1dGUgbmFt
ZT0iaWQiIGlkPSI6OlN0dWRlbnQ6OmlkIj4KLSAgICAgIDx3ZWJpZGw+ICBhdHRyaWJ1dGUgdW5z
aWduZWQgbG9uZyBpZDs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9InVuc2lnbmVkIGxvbmci
Lz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAgICA8QXR0cmlidXRlIG5hbWU9ImZhbWlseU5hbWUiIGlk
PSI6OlN0dWRlbnQ6OmZhbWlseU5hbWUiPgotICAgICAgPHdlYmlkbD4gIGF0dHJpYnV0ZSBET01T
dHJpbmc/IGZhbWlseU5hbWU7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJET01TdHJpbmci
IG51bGxhYmxlPSJudWxsYWJsZSIvPgotICAgIDwvQXR0cmlidXRlPgotICAgIDxBdHRyaWJ1dGUg
bmFtZT0iZ2l2ZW5OYW1lIiBpZD0iOjpTdHVkZW50OjpnaXZlbk5hbWUiPgotICAgICAgPHdlYmlk
bD4gIGF0dHJpYnV0ZSBET01TdHJpbmcgZ2l2ZW5OYW1lOzwvd2ViaWRsPgotICAgICAgPFR5cGUg
dHlwZT0iRE9NU3RyaW5nIi8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gICAgPE9wZXJhdGlvbiBzdHJp
bmdpZmllcj0ic3RyaW5naWZpZXIiPgotICAgICAgPHdlYmlkbD4gIHN0cmluZ2lmaWVyIERPTVN0
cmluZyAoKTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9IkRPTVN0cmluZyIvPgotICAgICAg
PEFyZ3VtZW50TGlzdC8+Ci0gICAgPC9PcGVyYXRpb24+Ci0gIDwvSW50ZXJmYWNlPgotPC9EZWZp
bml0aW9ucz4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9z
dHJpbmdpZmllci53aWRscHJvY3htbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3ht
bC9zdHJpbmdpZmllci53aWRscHJvY3htbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
NGExOGI4MGI3MDRiNGY0Njk1NTI5YWI0ZmE1NzA0YzIzZGQzMzBhYy4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92
YWxpZC94bWwvc3RyaW5naWZpZXIud2lkbHByb2N4bWwKKysrIC9kZXYvbnVsbApAQCAtMSwyOSAr
MCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgotPCFET0NUWVBF
IERlZmluaXRpb25zIFNZU1RFTSAid2lkbHByb2N4bWwuZHRkIj4KLTxEZWZpbml0aW9ucz4KLSAg
PHdlYmlkbD5pbnRlcmZhY2UgQSB7Ci0gIHN0cmluZ2lmaWVyIERPTVN0cmluZyAoKTsKLX07Ci0K
LWludGVyZmFjZSBBIHsKLSAgc3RyaW5naWZpZXI7Ci19Ozwvd2ViaWRsPgotICA8SW50ZXJmYWNl
IG5hbWU9IkEiIGlkPSI6OkEiPgotICAgIDx3ZWJpZGw+aW50ZXJmYWNlIEEgewotICBzdHJpbmdp
ZmllciBET01TdHJpbmcgKCk7Ci19Ozwvd2ViaWRsPgotICAgIDxPcGVyYXRpb24gc3RyaW5naWZp
ZXI9InN0cmluZ2lmaWVyIj4KLSAgICAgIDx3ZWJpZGw+ICBzdHJpbmdpZmllciBET01TdHJpbmcg
KCk7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJET01TdHJpbmciLz4KLSAgICAgIDxBcmd1
bWVudExpc3QvPgotICAgIDwvT3BlcmF0aW9uPgotICA8L0ludGVyZmFjZT4KLSAgPEludGVyZmFj
ZSBuYW1lPSJBIiBpZD0iOjpBIj4KLSAgICA8d2ViaWRsPmludGVyZmFjZSBBIHsKLSAgc3RyaW5n
aWZpZXI7Ci19Ozwvd2ViaWRsPgotICAgIDxTdHJpbmdpZmllcj4KLSAgICAgIDx3ZWJpZGw+ICBz
dHJpbmdpZmllcjs8L3dlYmlkbD4KLSAgICA8L1N0cmluZ2lmaWVyPgotICA8L0ludGVyZmFjZT4K
LTwvRGVmaW5pdGlvbnM+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxp
ZC94bWwvdHJlYXRhc251bGwud2lkbHByb2N4bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92
YWxpZC94bWwvdHJlYXRhc251bGwud2lkbHByb2N4bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IGE1N2FlMTYzZjBiOTg3NzRkYzg0ZGIxYTk3NWZmNzc5OTJhOGNlZDMuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9j
L3Rlc3QvdmFsaWQveG1sL3RyZWF0YXNudWxsLndpZGxwcm9jeG1sCisrKyAvZGV2L251bGwKQEAg
LTEsNDAgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KLTwh
RE9DVFlQRSBEZWZpbml0aW9ucyBTWVNURU0gIndpZGxwcm9jeG1sLmR0ZCI+Ci08RGVmaW5pdGlv
bnM+Ci0gIDx3ZWJpZGw+aW50ZXJmYWNlIERvZyB7Ci0gIGF0dHJpYnV0ZSBET01TdHJpbmcgbmFt
ZTsKLSAgYXR0cmlidXRlIERPTVN0cmluZyBvd25lcjsKLQotICBib29sZWFuIGlzTWVtYmVyT2ZC
cmVlZChbVHJlYXROdWxsQXM9RW1wdHlTdHJpbmddIERPTVN0cmluZyBicmVlZE5hbWUpOwotfTs8
L3dlYmlkbD4KLSAgPEludGVyZmFjZSBuYW1lPSJEb2ciIGlkPSI6OkRvZyI+Ci0gICAgPHdlYmlk
bD5pbnRlcmZhY2UgRG9nIHsKLSAgYXR0cmlidXRlIERPTVN0cmluZyBuYW1lOwotICBhdHRyaWJ1
dGUgRE9NU3RyaW5nIG93bmVyOwotCi0gIGJvb2xlYW4gaXNNZW1iZXJPZkJyZWVkKFtUcmVhdE51
bGxBcz1FbXB0eVN0cmluZ10gRE9NU3RyaW5nIGJyZWVkTmFtZSk7Ci19Ozwvd2ViaWRsPgotICAg
IDxBdHRyaWJ1dGUgbmFtZT0ibmFtZSIgaWQ9Ijo6RG9nOjpuYW1lIj4KLSAgICAgIDx3ZWJpZGw+
ICBhdHRyaWJ1dGUgRE9NU3RyaW5nIG5hbWU7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJE
T01TdHJpbmciLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAgICA8QXR0cmlidXRlIG5hbWU9Im93bmVy
IiBpZD0iOjpEb2c6Om93bmVyIj4KLSAgICAgIDx3ZWJpZGw+ICBhdHRyaWJ1dGUgRE9NU3RyaW5n
IG93bmVyOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0iRE9NU3RyaW5nIi8+Ci0gICAgPC9B
dHRyaWJ1dGU+Ci0gICAgPE9wZXJhdGlvbiBuYW1lPSJpc01lbWJlck9mQnJlZWQiIGlkPSI6OkRv
Zzo6aXNNZW1iZXJPZkJyZWVkIj4KLSAgICAgIDx3ZWJpZGw+ICBib29sZWFuIGlzTWVtYmVyT2ZC
cmVlZChbVHJlYXROdWxsQXM9RW1wdHlTdHJpbmddIERPTVN0cmluZyBicmVlZE5hbWUpOzwvd2Vi
aWRsPgotICAgICAgPFR5cGUgdHlwZT0iYm9vbGVhbiIvPgotICAgICAgPEFyZ3VtZW50TGlzdD4K
LSAgICAgICAgPEFyZ3VtZW50IG5hbWU9ImJyZWVkTmFtZSI+Ci0gICAgICAgICAgPEV4dGVuZGVk
QXR0cmlidXRlTGlzdD4KLSAgICAgICAgICAgIDxFeHRlbmRlZEF0dHJpYnV0ZSBuYW1lPSJUcmVh
dE51bGxBcyIgdmFsdWU9IkVtcHR5U3RyaW5nIj4KLSAgICAgICAgICAgICAgPHdlYmlkbD5UcmVh
dE51bGxBczwvd2ViaWRsPgotICAgICAgICAgICAgPC9FeHRlbmRlZEF0dHJpYnV0ZT4KLSAgICAg
ICAgICA8L0V4dGVuZGVkQXR0cmlidXRlTGlzdD4KLSAgICAgICAgICA8VHlwZSB0eXBlPSJET01T
dHJpbmciLz4KLSAgICAgICAgPC9Bcmd1bWVudD4KLSAgICAgIDwvQXJndW1lbnRMaXN0PgotICAg
IDwvT3BlcmF0aW9uPgotICA8L0ludGVyZmFjZT4KLTwvRGVmaW5pdGlvbnM+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvdHJlYXRhc3VuZGVmaW5lZC53aWRs
cHJvY3htbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC90cmVhdGFzdW5kZWZp
bmVkLndpZGxwcm9jeG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxN2U3MTA4MWRh
MDM2YmExNDYxYzljZjE2ZTIzMzU0NDkxYTY2ZDc1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC90
cmVhdGFzdW5kZWZpbmVkLndpZGxwcm9jeG1sCisrKyAvZGV2L251bGwKQEAgLTEsNDAgKzAsMCBA
QAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KLTwhRE9DVFlQRSBEZWZp
bml0aW9ucyBTWVNURU0gIndpZGxwcm9jeG1sLmR0ZCI+Ci08RGVmaW5pdGlvbnM+Ci0gIDx3ZWJp
ZGw+aW50ZXJmYWNlIENhdCB7Ci0gIGF0dHJpYnV0ZSBET01TdHJpbmcgbmFtZTsKLSAgYXR0cmli
dXRlIERPTVN0cmluZyBvd25lcjsKLQotICBib29sZWFuIGlzTWVtYmVyT2ZCcmVlZChbVHJlYXRV
bmRlZmluZWRBcz1FbXB0eVN0cmluZ10gRE9NU3RyaW5nIGJyZWVkTmFtZSk7Ci19Ozwvd2ViaWRs
PgotICA8SW50ZXJmYWNlIG5hbWU9IkNhdCIgaWQ9Ijo6Q2F0Ij4KLSAgICA8d2ViaWRsPmludGVy
ZmFjZSBDYXQgewotICBhdHRyaWJ1dGUgRE9NU3RyaW5nIG5hbWU7Ci0gIGF0dHJpYnV0ZSBET01T
dHJpbmcgb3duZXI7Ci0KLSAgYm9vbGVhbiBpc01lbWJlck9mQnJlZWQoW1RyZWF0VW5kZWZpbmVk
QXM9RW1wdHlTdHJpbmddIERPTVN0cmluZyBicmVlZE5hbWUpOwotfTs8L3dlYmlkbD4KLSAgICA8
QXR0cmlidXRlIG5hbWU9Im5hbWUiIGlkPSI6OkNhdDo6bmFtZSI+Ci0gICAgICA8d2ViaWRsPiAg
YXR0cmlidXRlIERPTVN0cmluZyBuYW1lOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0iRE9N
U3RyaW5nIi8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gICAgPEF0dHJpYnV0ZSBuYW1lPSJvd25lciIg
aWQ9Ijo6Q2F0Ojpvd25lciI+Ci0gICAgICA8d2ViaWRsPiAgYXR0cmlidXRlIERPTVN0cmluZyBv
d25lcjs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9IkRPTVN0cmluZyIvPgotICAgIDwvQXR0
cmlidXRlPgotICAgIDxPcGVyYXRpb24gbmFtZT0iaXNNZW1iZXJPZkJyZWVkIiBpZD0iOjpDYXQ6
OmlzTWVtYmVyT2ZCcmVlZCI+Ci0gICAgICA8d2ViaWRsPiAgYm9vbGVhbiBpc01lbWJlck9mQnJl
ZWQoW1RyZWF0VW5kZWZpbmVkQXM9RW1wdHlTdHJpbmddIERPTVN0cmluZyBicmVlZE5hbWUpOzwv
d2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0iYm9vbGVhbiIvPgotICAgICAgPEFyZ3VtZW50TGlz
dD4KLSAgICAgICAgPEFyZ3VtZW50IG5hbWU9ImJyZWVkTmFtZSI+Ci0gICAgICAgICAgPEV4dGVu
ZGVkQXR0cmlidXRlTGlzdD4KLSAgICAgICAgICAgIDxFeHRlbmRlZEF0dHJpYnV0ZSBuYW1lPSJU
cmVhdFVuZGVmaW5lZEFzIiB2YWx1ZT0iRW1wdHlTdHJpbmciPgotICAgICAgICAgICAgICA8d2Vi
aWRsPlRyZWF0VW5kZWZpbmVkQXM8L3dlYmlkbD4KLSAgICAgICAgICAgIDwvRXh0ZW5kZWRBdHRy
aWJ1dGU+Ci0gICAgICAgICAgPC9FeHRlbmRlZEF0dHJpYnV0ZUxpc3Q+Ci0gICAgICAgICAgPFR5
cGUgdHlwZT0iRE9NU3RyaW5nIi8+Ci0gICAgICAgIDwvQXJndW1lbnQ+Ci0gICAgICA8L0FyZ3Vt
ZW50TGlzdD4KLSAgICA8L09wZXJhdGlvbj4KLSAgPC9JbnRlcmZhY2U+Ci08L0RlZmluaXRpb25z
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL3R5cGVkZWYu
d2lkbHByb2N4bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvdHlwZWRlZi53
aWRscHJvY3htbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzg1ZjY3MDZlNmQ2NzVh
NWQzMDFkY2Q5ZjJhMDM4MDEwYWI2NGY2Yy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvdHlwZWRl
Zi53aWRscHJvY3htbAorKysgL2Rldi9udWxsCkBAIC0xLDEwMCArMCwwIEBACi08P3htbCB2ZXJz
aW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgotPCFET0NUWVBFIERlZmluaXRpb25zIFNZU1RF
TSAid2lkbHByb2N4bWwuZHRkIj4KLTxEZWZpbml0aW9ucz4KLSAgPHdlYmlkbD4gICAgICBpbnRl
cmZhY2UgUG9pbnQgewotICAgICAgICBhdHRyaWJ1dGUgZmxvYXQgeDsKLSAgICAgICAgYXR0cmli
dXRlIGZsb2F0IHk7Ci0gICAgICB9OwotCi0gICAgICB0eXBlZGVmIHNlcXVlbmNlJmx0OzxyZWY+
UG9pbnQ8L3JlZj4+IFBvaW50U2VxdWVuY2U7Ci0KLSAgICAgIGludGVyZmFjZSBSZWN0IHsKLSAg
ICAgICAgYXR0cmlidXRlIDxyZWY+UG9pbnQ8L3JlZj4gdG9wbGVmdDsKLSAgICAgICAgYXR0cmli
dXRlIDxyZWY+UG9pbnQ8L3JlZj4gYm90dG9tcmlnaHQ7Ci0gICAgICB9OwotCi0gIGludGVyZmFj
ZSBXaWRnZXQgewotCi0gICAgcmVhZG9ubHkgYXR0cmlidXRlIDxyZWY+UmVjdDwvcmVmPiBib3Vu
ZHM7Ci0KLSAgICBib29sZWFuIHBvaW50V2l0aGluQm91bmRzKDxyZWY+UG9pbnQ8L3JlZj4gcCk7
Ci0gICAgYm9vbGVhbiBhbGxQb2ludHNXaXRoaW5Cb3VuZHMoPHJlZj5Qb2ludFNlcXVlbmNlPC9y
ZWY+IHBzKTsKLSAgfTsKLQotICB0eXBlZGVmIFtDbGFtcF0gb2N0ZXQgdmFsdWU7PC93ZWJpZGw+
Ci0gIDxJbnRlcmZhY2UgbmFtZT0iUG9pbnQiIGlkPSI6OlBvaW50Ij4KLSAgICA8d2ViaWRsPiAg
ICAgIGludGVyZmFjZSBQb2ludCB7Ci0gICAgICAgIGF0dHJpYnV0ZSBmbG9hdCB4OwotICAgICAg
ICBhdHRyaWJ1dGUgZmxvYXQgeTsKLSAgICAgIH07PC93ZWJpZGw+Ci0gICAgPEF0dHJpYnV0ZSBu
YW1lPSJ4IiBpZD0iOjpQb2ludDo6eCI+Ci0gICAgICA8d2ViaWRsPiAgICAgICAgYXR0cmlidXRl
IGZsb2F0IHg7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJmbG9hdCIvPgotICAgIDwvQXR0
cmlidXRlPgotICAgIDxBdHRyaWJ1dGUgbmFtZT0ieSIgaWQ9Ijo6UG9pbnQ6OnkiPgotICAgICAg
PHdlYmlkbD4gICAgICAgIGF0dHJpYnV0ZSBmbG9hdCB5Ozwvd2ViaWRsPgotICAgICAgPFR5cGUg
dHlwZT0iZmxvYXQiLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAgPC9JbnRlcmZhY2U+Ci0gIDxUeXBl
ZGVmIG5hbWU9IlBvaW50U2VxdWVuY2UiIGlkPSI6OlBvaW50U2VxdWVuY2UiPgotICAgIDx3ZWJp
ZGw+ICAgICAgdHlwZWRlZiBzZXF1ZW5jZSZsdDs8cmVmPlBvaW50PC9yZWY+PiBQb2ludFNlcXVl
bmNlOzwvd2ViaWRsPgotICAgIDxUeXBlIHR5cGU9InNlcXVlbmNlIj4KLSAgICAgIDxUeXBlIG5h
bWU9IlBvaW50Ii8+Ci0gICAgPC9UeXBlPgotICA8L1R5cGVkZWY+Ci0gIDxJbnRlcmZhY2UgbmFt
ZT0iUmVjdCIgaWQ9Ijo6UmVjdCI+Ci0gICAgPHdlYmlkbD4gICAgICBpbnRlcmZhY2UgUmVjdCB7
Ci0gICAgICAgIGF0dHJpYnV0ZSA8cmVmPlBvaW50PC9yZWY+IHRvcGxlZnQ7Ci0gICAgICAgIGF0
dHJpYnV0ZSA8cmVmPlBvaW50PC9yZWY+IGJvdHRvbXJpZ2h0OwotICAgICAgfTs8L3dlYmlkbD4K
LSAgICA8QXR0cmlidXRlIG5hbWU9InRvcGxlZnQiIGlkPSI6OlJlY3Q6OnRvcGxlZnQiPgotICAg
ICAgPHdlYmlkbD4gICAgICAgIGF0dHJpYnV0ZSA8cmVmPlBvaW50PC9yZWY+IHRvcGxlZnQ7PC93
ZWJpZGw+Ci0gICAgICA8VHlwZSBuYW1lPSJQb2ludCIvPgotICAgIDwvQXR0cmlidXRlPgotICAg
IDxBdHRyaWJ1dGUgbmFtZT0iYm90dG9tcmlnaHQiIGlkPSI6OlJlY3Q6OmJvdHRvbXJpZ2h0Ij4K
LSAgICAgIDx3ZWJpZGw+ICAgICAgICBhdHRyaWJ1dGUgPHJlZj5Qb2ludDwvcmVmPiBib3R0b21y
aWdodDs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIG5hbWU9IlBvaW50Ii8+Ci0gICAgPC9BdHRyaWJ1
dGU+Ci0gIDwvSW50ZXJmYWNlPgotICA8SW50ZXJmYWNlIG5hbWU9IldpZGdldCIgaWQ9Ijo6V2lk
Z2V0Ij4KLSAgICA8d2ViaWRsPiAgaW50ZXJmYWNlIFdpZGdldCB7Ci0KLSAgICByZWFkb25seSBh
dHRyaWJ1dGUgPHJlZj5SZWN0PC9yZWY+IGJvdW5kczsKLQotICAgIGJvb2xlYW4gcG9pbnRXaXRo
aW5Cb3VuZHMoPHJlZj5Qb2ludDwvcmVmPiBwKTsKLSAgICBib29sZWFuIGFsbFBvaW50c1dpdGhp
bkJvdW5kcyg8cmVmPlBvaW50U2VxdWVuY2U8L3JlZj4gcHMpOwotICB9Ozwvd2ViaWRsPgotICAg
IDxBdHRyaWJ1dGUgcmVhZG9ubHk9InJlYWRvbmx5IiBuYW1lPSJib3VuZHMiIGlkPSI6OldpZGdl
dDo6Ym91bmRzIj4KLSAgICAgIDx3ZWJpZGw+ICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSA8cmVmPlJl
Y3Q8L3JlZj4gYm91bmRzOzwvd2ViaWRsPgotICAgICAgPFR5cGUgbmFtZT0iUmVjdCIvPgotICAg
IDwvQXR0cmlidXRlPgotICAgIDxPcGVyYXRpb24gbmFtZT0icG9pbnRXaXRoaW5Cb3VuZHMiIGlk
PSI6OldpZGdldDo6cG9pbnRXaXRoaW5Cb3VuZHMiPgotICAgICAgPHdlYmlkbD4gICAgYm9vbGVh
biBwb2ludFdpdGhpbkJvdW5kcyg8cmVmPlBvaW50PC9yZWY+IHApOzwvd2ViaWRsPgotICAgICAg
PFR5cGUgdHlwZT0iYm9vbGVhbiIvPgotICAgICAgPEFyZ3VtZW50TGlzdD4KLSAgICAgICAgPEFy
Z3VtZW50IG5hbWU9InAiPgotICAgICAgICAgIDxUeXBlIG5hbWU9IlBvaW50Ii8+Ci0gICAgICAg
IDwvQXJndW1lbnQ+Ci0gICAgICA8L0FyZ3VtZW50TGlzdD4KLSAgICA8L09wZXJhdGlvbj4KLSAg
ICA8T3BlcmF0aW9uIG5hbWU9ImFsbFBvaW50c1dpdGhpbkJvdW5kcyIgaWQ9Ijo6V2lkZ2V0Ojph
bGxQb2ludHNXaXRoaW5Cb3VuZHMiPgotICAgICAgPHdlYmlkbD4gICAgYm9vbGVhbiBhbGxQb2lu
dHNXaXRoaW5Cb3VuZHMoPHJlZj5Qb2ludFNlcXVlbmNlPC9yZWY+IHBzKTs8L3dlYmlkbD4KLSAg
ICAgIDxUeXBlIHR5cGU9ImJvb2xlYW4iLz4KLSAgICAgIDxBcmd1bWVudExpc3Q+Ci0gICAgICAg
IDxBcmd1bWVudCBuYW1lPSJwcyI+Ci0gICAgICAgICAgPFR5cGUgbmFtZT0iUG9pbnRTZXF1ZW5j
ZSIvPgotICAgICAgICA8L0FyZ3VtZW50PgotICAgICAgPC9Bcmd1bWVudExpc3Q+Ci0gICAgPC9P
cGVyYXRpb24+Ci0gIDwvSW50ZXJmYWNlPgotICA8VHlwZWRlZiBuYW1lPSJ2YWx1ZSIgaWQ9Ijo6
dmFsdWUiPgotICAgIDx3ZWJpZGw+ICB0eXBlZGVmIFtDbGFtcF0gb2N0ZXQgdmFsdWU7PC93ZWJp
ZGw+Ci0gICAgPFR5cGUgdHlwZT0ib2N0ZXQiPgotICAgICAgPEV4dGVuZGVkQXR0cmlidXRlTGlz
dD4KLSAgICAgICAgPEV4dGVuZGVkQXR0cmlidXRlIG5hbWU9IkNsYW1wIj4KLSAgICAgICAgICA8
d2ViaWRsPkNsYW1wPC93ZWJpZGw+Ci0gICAgICAgIDwvRXh0ZW5kZWRBdHRyaWJ1dGU+Ci0gICAg
ICA8L0V4dGVuZGVkQXR0cmlidXRlTGlzdD4KLSAgICA8L1R5cGU+Ci0gIDwvVHlwZWRlZj4KLTwv
RGVmaW5pdGlvbnM+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94
bWwvdHlwZXN1ZmZpeGVzLndpZGxwcm9jeG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFs
aWQveG1sL3R5cGVzdWZmaXhlcy53aWRscHJvY3htbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggODMwZmU2MmJjMGRmMTEzY2MwZGU4ZTM2MGUyZGE4YjA5MTliY2RjNy4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mv
dGVzdC92YWxpZC94bWwvdHlwZXN1ZmZpeGVzLndpZGxwcm9jeG1sCisrKyAvZGV2L251bGwKQEAg
LTEsMjUgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KLTwh
RE9DVFlQRSBEZWZpbml0aW9ucyBTWVNURU0gIndpZGxwcm9jeG1sLmR0ZCI+Ci08RGVmaW5pdGlv
bnM+Ci0gIDx3ZWJpZGw+aW50ZXJmYWNlIFN1ZmZpeGVzIHsKLSAgdm9pZCB0ZXN0KHNlcXVlbmNl
Jmx0O0RPTVN0cmluZ1tdPz4/IGZvbyk7Ci19Ozwvd2ViaWRsPgotICA8SW50ZXJmYWNlIG5hbWU9
IlN1ZmZpeGVzIiBpZD0iOjpTdWZmaXhlcyI+Ci0gICAgPHdlYmlkbD5pbnRlcmZhY2UgU3VmZml4
ZXMgewotICB2b2lkIHRlc3Qoc2VxdWVuY2UmbHQ7RE9NU3RyaW5nW10/Pj8gZm9vKTsKLX07PC93
ZWJpZGw+Ci0gICAgPE9wZXJhdGlvbiBuYW1lPSJ0ZXN0IiBpZD0iOjpTdWZmaXhlczo6dGVzdCI+
Ci0gICAgICA8d2ViaWRsPiAgdm9pZCB0ZXN0KHNlcXVlbmNlJmx0O0RPTVN0cmluZ1tdPz4/IGZv
byk7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJ2b2lkIi8+Ci0gICAgICA8QXJndW1lbnRM
aXN0PgotICAgICAgICA8QXJndW1lbnQgbmFtZT0iZm9vIj4KLSAgICAgICAgICA8VHlwZSB0eXBl
PSJzZXF1ZW5jZSIgbnVsbGFibGU9Im51bGxhYmxlIj4KLSAgICAgICAgICAgIDxUeXBlIHR5cGU9
ImFycmF5IiBudWxsYWJsZT0ibnVsbGFibGUiPgotICAgICAgICAgICAgICA8VHlwZSB0eXBlPSJE
T01TdHJpbmciLz4KLSAgICAgICAgICAgIDwvVHlwZT4KLSAgICAgICAgICA8L1R5cGU+Ci0gICAg
ICAgIDwvQXJndW1lbnQ+Ci0gICAgICA8L0FyZ3VtZW50TGlzdD4KLSAgICA8L09wZXJhdGlvbj4K
LSAgPC9JbnRlcmZhY2U+Ci08L0RlZmluaXRpb25zPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dp
ZGxwcm9jL3Rlc3QvdmFsaWQveG1sL3VuaW9udHlwZS53aWRscHJvY3htbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93
aWRscHJvYy90ZXN0L3ZhbGlkL3htbC91bmlvbnR5cGUud2lkbHByb2N4bWwKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDdkMDg4MDc5OTU2YTExMzM2OThkNWJiNzcyNDUzZjQ3YzhmZWE5
YWUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL3VuaW9udHlwZS53aWRscHJvY3htbAorKysgL2Rl
di9udWxsCkBAIC0xLDI2ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVU
Ri04Ij8+Ci08IURPQ1RZUEUgRGVmaW5pdGlvbnMgU1lTVEVNICJ3aWRscHJvY3htbC5kdGQiPgot
PERlZmluaXRpb25zPgotICA8d2ViaWRsPmludGVyZmFjZSBVbmlvbiB7Ci0gYXR0cmlidXRlIChm
bG9hdCBvciAoRGF0ZSBvciA8cmVmPkV2ZW50PC9yZWY+KSBvciAoPHJlZj5Ob2RlPC9yZWY+IG9y
IERPTVN0cmluZyk/KSB0ZXN0OwotfTs8L3dlYmlkbD4KLSAgPEludGVyZmFjZSBuYW1lPSJVbmlv
biIgaWQ9Ijo6VW5pb24iPgotICAgIDx3ZWJpZGw+aW50ZXJmYWNlIFVuaW9uIHsKLSBhdHRyaWJ1
dGUgKGZsb2F0IG9yIChEYXRlIG9yIDxyZWY+RXZlbnQ8L3JlZj4pIG9yICg8cmVmPk5vZGU8L3Jl
Zj4gb3IgRE9NU3RyaW5nKT8pIHRlc3Q7Ci19Ozwvd2ViaWRsPgotICAgIDxBdHRyaWJ1dGUgbmFt
ZT0idGVzdCIgaWQ9Ijo6VW5pb246OnRlc3QiPgotICAgICAgPHdlYmlkbD4gYXR0cmlidXRlIChm
bG9hdCBvciAoRGF0ZSBvciA8cmVmPkV2ZW50PC9yZWY+KSBvciAoPHJlZj5Ob2RlPC9yZWY+IG9y
IERPTVN0cmluZyk/KSB0ZXN0Ozwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0idW5pb24iPgot
ICAgICAgICA8VHlwZSB0eXBlPSJmbG9hdCIvPgotICAgICAgICA8VHlwZSB0eXBlPSJ1bmlvbiI+
Ci0gICAgICAgICAgPFR5cGUgdHlwZT0iRGF0ZSIvPgotICAgICAgICAgIDxUeXBlIG5hbWU9IkV2
ZW50Ii8+Ci0gICAgICAgIDwvVHlwZT4KLSAgICAgICAgPFR5cGUgdHlwZT0idW5pb24iIG51bGxh
YmxlPSJudWxsYWJsZSI+Ci0gICAgICAgICAgPFR5cGUgbmFtZT0iTm9kZSIvPgotICAgICAgICAg
IDxUeXBlIHR5cGU9IkRPTVN0cmluZyIvPgotICAgICAgICA8L1R5cGU+Ci0gICAgICA8L1R5cGU+
Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gIDwvSW50ZXJmYWNlPgotPC9EZWZpbml0aW9ucz4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC92YXJpYWRpYy1vcGVyYXRp
b25zLndpZGxwcm9jeG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL3Zhcmlh
ZGljLW9wZXJhdGlvbnMud2lkbHByb2N4bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDBiYzlmNzg0NDEzNzg1M2E0ZGY5OTk2ZTMzMDg3YzlkYjE4NDY4MmQuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3Qv
dmFsaWQveG1sL3ZhcmlhZGljLW9wZXJhdGlvbnMud2lkbHByb2N4bWwKKysrIC9kZXYvbnVsbApA
QCAtMSw0MCArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/Pgot
PCFET0NUWVBFIERlZmluaXRpb25zIFNZU1RFTSAid2lkbHByb2N4bWwuZHRkIj4KLTxEZWZpbml0
aW9ucz4KLSAgPHdlYmlkbD5pbnRlcmZhY2UgSW50ZWdlclNldCB7Ci0gIHJlYWRvbmx5IGF0dHJp
YnV0ZSB1bnNpZ25lZCBsb25nIGNhcmRpbmFsaXR5OwotCi0gIHZvaWQgdW5pb24obG9uZy4uLiBp
bnRzKTsKLSAgdm9pZCBpbnRlcnNlY3Rpb24obG9uZy4uLiBpbnRzKTsKLX07PC93ZWJpZGw+Ci0g
IDxJbnRlcmZhY2UgbmFtZT0iSW50ZWdlclNldCIgaWQ9Ijo6SW50ZWdlclNldCI+Ci0gICAgPHdl
YmlkbD5pbnRlcmZhY2UgSW50ZWdlclNldCB7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25l
ZCBsb25nIGNhcmRpbmFsaXR5OwotCi0gIHZvaWQgdW5pb24obG9uZy4uLiBpbnRzKTsKLSAgdm9p
ZCBpbnRlcnNlY3Rpb24obG9uZy4uLiBpbnRzKTsKLX07PC93ZWJpZGw+Ci0gICAgPEF0dHJpYnV0
ZSByZWFkb25seT0icmVhZG9ubHkiIG5hbWU9ImNhcmRpbmFsaXR5IiBpZD0iOjpJbnRlZ2VyU2V0
OjpjYXJkaW5hbGl0eSI+Ci0gICAgICA8d2ViaWRsPiAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2ln
bmVkIGxvbmcgY2FyZGluYWxpdHk7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJ1bnNpZ25l
ZCBsb25nIi8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gICAgPE9wZXJhdGlvbiBuYW1lPSJ1bmlvbiIg
aWQ9Ijo6SW50ZWdlclNldDo6dW5pb24iPgotICAgICAgPHdlYmlkbD4gIHZvaWQgdW5pb24obG9u
Zy4uLiBpbnRzKTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9InZvaWQiLz4KLSAgICAgIDxB
cmd1bWVudExpc3Q+Ci0gICAgICAgIDxBcmd1bWVudCBlbGxpcHNpcz0iZWxsaXBzaXMiIG5hbWU9
ImludHMiPgotICAgICAgICAgIDxUeXBlIHR5cGU9ImxvbmciLz4KLSAgICAgICAgPC9Bcmd1bWVu
dD4KLSAgICAgIDwvQXJndW1lbnRMaXN0PgotICAgIDwvT3BlcmF0aW9uPgotICAgIDxPcGVyYXRp
b24gbmFtZT0iaW50ZXJzZWN0aW9uIiBpZD0iOjpJbnRlZ2VyU2V0OjppbnRlcnNlY3Rpb24iPgot
ICAgICAgPHdlYmlkbD4gIHZvaWQgaW50ZXJzZWN0aW9uKGxvbmcuLi4gaW50cyk7PC93ZWJpZGw+
Ci0gICAgICA8VHlwZSB0eXBlPSJ2b2lkIi8+Ci0gICAgICA8QXJndW1lbnRMaXN0PgotICAgICAg
ICA8QXJndW1lbnQgZWxsaXBzaXM9ImVsbGlwc2lzIiBuYW1lPSJpbnRzIj4KLSAgICAgICAgICA8
VHlwZSB0eXBlPSJsb25nIi8+Ci0gICAgICAgIDwvQXJndW1lbnQ+Ci0gICAgICA8L0FyZ3VtZW50
TGlzdD4KLSAgICA8L09wZXJhdGlvbj4KLSAgPC9JbnRlcmZhY2U+Ci08L0RlZmluaXRpb25zPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL3czYy1pbXBvcnQu
bG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL3czYy1pbXBvcnQubG9nCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiNGQxMjNlZTFlZjQ3NDM1NzFkODFhZjI1ZTg0
Y2NmMTBjYzdmOTkyLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC93M2MtaW1wb3J0LmxvZworKysg
L2Rldi9udWxsCkBAIC0xLDY3ICswLDAgQEAKLVRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3
ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgotRG8gTk9UIG1vZGlmeSB0aGVz
ZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVl
c3Qgb24gdGhlIFczQyBDU1Mgb3IgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20vdzNj
L2Nzc3dnLXRlc3QKLQlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cwot
Ci1UaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0
byByZWltcG9ydAotCi1EbyBOT1QgbW9kaWZ5IG9yIHJlbW92ZSB0aGlzIGZpbGUuCi0KLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLQotUHJvcGVydGllcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgotTm9uZQot
UHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6Ci1Ob25lCi0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0KLUxpc3Qgb2YgZmlsZXM6Ci0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQv
eG1sL2FsbG93YW55LndpZGxwcm9jeG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQv
eG1sL2FycmF5LndpZGxwcm9jeG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1s
L2F0dHJpYnV0ZXMud2lkbHByb2N4bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94
bWwvY2FsbGJhY2sud2lkbHByb2N4bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94
bWwvY2FsbGVyLndpZGxwcm9jeG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1s
L2NvbnN0YW50cy53aWRscHJvY3htbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3ht
bC9jb25zdHJ1Y3Rvci53aWRscHJvY3htbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlk
L3htbC9kaWN0aW9uYXJ5LWluaGVyaXRzLndpZGxwcm9jeG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9j
L3Rlc3QvdmFsaWQveG1sL2RpY3Rpb25hcnkud2lkbHByb2N4bWwKLS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHBy
b2MvdGVzdC92YWxpZC94bWwvZG9jdW1lbnRhdGlvbi1kb3Mud2lkbHByb2N4bWwKLS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvZG9jdW1lbnRhdGlvbi53aWRscHJvY3htbAotL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9lbnVtLndpZGxwcm9jeG1sCi0vTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL2VxdWl2YWxlbnQtZGVjbC53aWRscHJvY3htbAot
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9leGNlcHRpb24taW5oZXJpdGFuY2Uu
d2lkbHByb2N4bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvZXhjZXB0aW9u
LndpZGxwcm9jeG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL2dldHRlci1z
ZXR0ZXIud2lkbHByb2N4bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvaWRl
bnRpZmllci1xdWFsaWZpZWQtbmFtZXMud2lkbHByb2N4bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mv
dGVzdC92YWxpZC94bWwvaW1wbGVtZW50cy53aWRscHJvY3htbAotL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJv
Yy90ZXN0L3ZhbGlkL3htbC9pbmRleGVkLXByb3BlcnRpZXMud2lkbHByb2N4bWwKLS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvaW5oZXJpdHMtZ2V0dGVyLndpZGxwcm9jeG1sCi0v
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL2ludGVyZmFjZS1pbmhlcml0cy53aWRs
cHJvY3htbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9pdGVyYXRvci53aWRs
cHJvY3htbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9tb2R1bGUud2lkbHBy
b2N4bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvbmFtZWRjb25zdHJ1Y3Rv
ci53aWRscHJvY3htbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9uYW1lc3Bh
Y2VvYmplY3Qud2lkbHByb2N4bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwv
bm9pbnRlcmZhY2VvYmplY3Qud2lkbHByb2N4bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92
YWxpZC94bWwvbnVsbGFibGUud2lkbHByb2N4bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92
YWxpZC94bWwvbnVsbGFibGVvYmplY3RzLndpZGxwcm9jeG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9j
L3Rlc3QvdmFsaWQveG1sL29wZXJhdGlvbi1vcHRpb25hbC1hcmcud2lkbHByb2N4bWwKLS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvb3ZlcmxvYWRpbmcud2lkbHByb2N4bWwKLS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvb3ZlcnJpZGVidWlsdGlucy53aWRscHJv
Y3htbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9wYXJ0aWFsLWludGVyZmFj
ZS53aWRscHJvY3htbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9wcmltaXRp
dmVzLndpZGxwcm9jeG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL3Byb3Rv
dHlwZXJvb3Qud2lkbHByb2N4bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwv
cHV0Zm9yd2FyZHMud2lkbHByb2N4bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94
bWwvcmVnLW9wZXJhdGlvbnMud2lkbHByb2N4bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92
YWxpZC94bWwvcmVwbGFjZWFibGUud2lkbHByb2N4bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVz
dC92YWxpZC94bWwvc2VxdWVuY2Uud2lkbHByb2N4bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVz
dC92YWxpZC94bWwvc2VyaWFsaXplci53aWRscHJvY3htbAotL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90
ZXN0L3ZhbGlkL3htbC9zcGVjaWFsLW9taXR0YWJsZS53aWRscHJvY3htbAotL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93
aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9zdGF0aWMud2lkbHByb2N4bWwKLS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lk
bHByb2MvdGVzdC92YWxpZC94bWwvc3RyaW5naWZpZXItYXR0cmlidXRlLndpZGxwcm9jeG1sCi0v
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL3N0cmluZ2lmaWVyLWN1c3RvbS53aWRs
cHJvY3htbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9zdHJpbmdpZmllci53
aWRscHJvY3htbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC90cmVhdGFzbnVs
bC53aWRscHJvY3htbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC90cmVhdGFz
dW5kZWZpbmVkLndpZGxwcm9jeG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1s
L3R5cGVkZWYud2lkbHByb2N4bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwv
dHlwZXN1ZmZpeGVzLndpZGxwcm9jeG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQv
eG1sL3VuaW9udHlwZS53aWRscHJvY3htbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlk
L3htbC92YXJpYWRpYy1vcGVyYXRpb25zLndpZGxwcm9jeG1sCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvd2lkbHByb2MvdGVzdC93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0
L3czYy1pbXBvcnQubG9nCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlNGRmYjE3YTE5
MWEyZTMyZDJmMTRjNGI1ZjhjNmU1YTU4NGU1MTIzLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3czYy1pbXBvcnQu
bG9nCisrKyAvZGV2L251bGwKQEAgLTEsMTggKzAsMCBAQAotVGhlIHRlc3RzIGluIHRoaXMgZGly
ZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCi1EbyBOT1QgbW9k
aWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQsIGNyZWF0ZSBhIHB1
bGwgcmVxdWVzdCBvbiB0aGUgVzNDIENTUyBvciBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0aHVi
LmNvbS93M2MvY3Nzd2ctdGVzdAotCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzCi0KLVRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4g
V2ViS2l0IHRvIHJlaW1wb3J0Ci0KLURvIE5PVCBtb2RpZnkgb3IgcmVtb3ZlIHRoaXMgZmlsZS4K
LQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tCi1Qcm9wZXJ0aWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6
Ci1Ob25lCi1Qcm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKLU5vbmUK
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLQotTGlzdCBvZiBmaWxlczoKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVz
dC9NYWtlZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3czYy1pbXBvcnQubG9n
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3dpZGxwcm9jL3czYy1pbXBvcnQubG9nCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCA3ZmQxNDE0ZDc2M2FmZDM4ZDZmZGE2MmM3ZDk4ZmNiMjI1MTgyMzI1Li4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRs
cHJvYy93M2MtaW1wb3J0LmxvZworKysgL2Rldi9udWxsCkBAIC0xLDIwICswLDAgQEAKLVRoZSB0
ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0
b3J5LgotRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0
ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFczQyBDU1Mgb3IgV1BUIGdpdGh1YjoK
LQlodHRwczovL2dpdGh1Yi5jb20vdzNjL2Nzc3dnLXRlc3QKLQlodHRwczovL2dpdGh1Yi5jb20v
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cwotCi1UaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBv
cnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydAotCi1EbyBOT1QgbW9kaWZ5IG9yIHJl
bW92ZSB0aGlzIGZpbGUuCi0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotUHJvcGVydGllcyByZXF1aXJpbmcg
dmVuZG9yIHByZWZpeGVzOgotTm9uZQotUHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3Ig
cHJlZml4ZXM6Ci1Ob25lCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLUxpc3Qgb2YgZmlsZXM6Ci0vTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3dpZGxwcm9jL0xJQ0VOU0UKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvTWFrZWZpbGUKLS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvd2lkbHByb2MvUkVBRE1FLm1kCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd3JpdGVyLmpz
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3dyaXRlci5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTg0
MDc2YjRmMjhjZTM4Y2JiNDFlNDc2ODFhYzk3ODQzZGYwZTQyNy4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd3JpdGVyLmpzCisrKyAvZGV2
L251bGwKQEAgLTEsMjMgKzAsMCBAQAotInVzZSBzdHJpY3QiOwotCi1jb25zdCB7IGNvbGxlY3Qg
fSA9IHJlcXVpcmUoIi4vdXRpbC9jb2xsZWN0Iik7Ci1jb25zdCB3cCA9IHJlcXVpcmUoIi4uL2xp
Yi93ZWJpZGwyIik7Ci1jb25zdCB3cml0ZXIgPSByZXF1aXJlKCIuLi9saWIvd3JpdGVyIik7Ci1j
b25zdCBleHBlY3QgPSByZXF1aXJlKCJleHBlY3QiKTsKLWNvbnN0IGRlYnVnID0gdHJ1ZTsKLQot
ZGVzY3JpYmUoIlJld3JpdGUgYW5kIHBhcnNlcyBhbGwgb2YgdGhlIElETHMgdG8gcHJvZHVjZSB0
aGUgc2FtZSBBU1RzIiwgKCkgPT4gewotICBmb3IgKGNvbnN0IHRlc3Qgb2YgY29sbGVjdCgic3lu
dGF4IikpIHsKLSAgICBpdChgc2hvdWxkIHByb2R1Y2UgdGhlIHNhbWUgQVNUIGZvciAke3Rlc3Qu
cGF0aH1gLCAoKSA9PiB7Ci0gICAgICB0cnkgewotICAgICAgICBjb25zdCBkaWZmID0gdGVzdC5k
aWZmKHdwLnBhcnNlKHdyaXRlci53cml0ZSh0ZXN0LmFzdCksIHRlc3Qub3B0KSk7Ci0gICAgICAg
IGlmIChkaWZmICYmIGRlYnVnKSBjb25zb2xlLmxvZyhKU09OLnN0cmluZ2lmeShkaWZmLCBudWxs
LCA0KSk7Ci0gICAgICAgIGV4cGVjdChkaWZmKS50b0JlKHVuZGVmaW5lZCk7Ci0gICAgICB9Ci0g
ICAgICBjYXRjaCAoZSkgewotICAgICAgICBjb25zb2xlLmxvZyhlLnRvU3RyaW5nKCkpOwotICAg
ICAgICB0aHJvdyBlOwotICAgICAgfQotICAgIH0pOwotICB9Ci19KTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3czYy1pbXBvcnQubG9nCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCA4MjQ1OWVjMjU3ODlmMTFhZmFjM2I0ZWI0MjY0OTY3ZDUwMTk4NzM3Li4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdzNjLWlt
cG9ydC5sb2cKKysrIC9kZXYvbnVsbApAQCAtMSwyMyArMCwwIEBACi1UaGUgdGVzdHMgaW4gdGhp
cyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KLURvIE5P
VCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVhZCwgY3JlYXRl
IGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0aHViLmNvbS93
ZWItcGxhdGZvcm0tdGVzdHMvd3B0Ci0KLVRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9y
dC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0Ci0KLURvIE5PVCBtb2RpZnkgb3IgcmVt
b3ZlIHRoaXMgZmlsZS4KLQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1Qcm9wZXJ0aWVzIHJlcXVpcmluZyB2
ZW5kb3IgcHJlZml4ZXM6Ci1Ob25lCi1Qcm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5nIHZlbmRvciBw
cmVmaXhlczoKLU5vbmUKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotTGlzdCBvZiBmaWxlczoKLS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL0NI
QU5HRUxPRy5tZAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvTElDRU5TRQotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvUkVBRE1FLm1kCi0vTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi9jb3ZlcmFn
ZS5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi9pbmRleC5qcwotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvcGFja2FnZS1sb2NrLmpzb24KLS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Bh
Y2thZ2UuanNvbgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>384624</attachid>
            <date>2019-12-02 08:38:30 -0800</date>
            <delta_ts>2020-01-06 23:52:40 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-204652-20191129171549-binary.patch</filename>
            <type>text/plain</type>
            <size>1821637</size>
            <attacher name="Alexey Shvayka">ashvayka</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUyOTM3CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpp
bmRleCA1MzIxMzUyMDQxYTA0ZTI0N2Q4N2U3NjUzYTUwYzg4MzVlMjM5ZGUzLi4yODFkMWU3Mzg2
ODZkNzdhNDQ5MGJkZjMyYTQ2ZDJhMTU0MWM0OWExIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAxOS0xMS0yOSAgQWxleGV5IFNodmF5a2EgIDxzaHZh
aWthbGVzaEBnbWFpbC5jb20+CisKKyAgICAgICAgUmUtc3luYyB3ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzIGZyb20gdXBzdHJlYW0KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIwNDY1MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIDEuIFJlLXN5bmMgd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcyBm
cm9tIHVwc3RyZWFtIGRlNjRkOWExMzQ1NS4KKyAgICAgICAgMi4gU2tpcCAid2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bSIgYXMgaXQgY29udGFpbnMgQ2hyb21pdW0tc3BlY2lm
aWMgaGFybmVzcyB3ZSBkb24ndCB1c2UuCisgICAgICAgIDMuIFNraXAgIndlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvdGVzdCIgYXMgaXQgY29udGFpbnMgaGFybmVzcyB0ZXN0cyB3ZSBkb24n
dCBydW4uCisKKyAgICAgICAgSW4gdG90YWwsIHRoaXMgcGF0Y2ggcmVtb3ZlcyB+MS41IE1CIG9m
IHVubmVlZGVkIGZpbGVzLgorCisgICAgICAgICogcmVzb3VyY2VzL2ltcG9ydC1leHBlY3RhdGlv
bnMuanNvbjoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzLyo6IFVwZGF0
ZWQuCisKIDIwMTktMTEtMjcgIE1hbnVlbCBSZWdvIENhc2Fzbm92YXMgIDxyZWdvQGlnYWxpYS5j
b20+CiAKICAgICAgICAgW2Nzcy1ncmlkXSBTZXJpYWxpemF0aW9uIG9mIGdyaWQtYXJlYSwgZ3Jp
ZC1yb3cgYW5kIGdyaWQtY29sdW1uIHNob3VsZCBpbmNsdWRlICIvIiBzZXBhcmF0b3IKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9yZXNvdXJjZXMvaW1wb3J0LWV4cGVjdGF0
aW9ucy5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3Jlc291cmNlcy9pbXBvcnQtZXhw
ZWN0YXRpb25zLmpzb24KaW5kZXggNWM1ZGNmMWE4NjQ5Njc2YmRmMDZkYTBhNjFjMjBkOGY4ZmIz
OTUzYi4uM2Y3ZGE5YTdlM2ZmZmU0MmU1YTcxYWMzYjNlMjAyNDc5MzRkMzYyYiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3Jlc291cmNlcy9pbXBvcnQtZXhwZWN0YXRpb25z
Lmpzb24KKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3Jlc291cmNlcy9pbXBvcnQtZXhw
ZWN0YXRpb25zLmpzb24KQEAgLTMzMCw2ICszMzAsOCBAQAogICAgICJ3ZWItcGxhdGZvcm0tdGVz
dHMvcmVzaXplLW9ic2VydmVyLyI6ICJpbXBvcnQiLCAKICAgICAid2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlLXRpbWluZyI6ICJpbXBvcnQiLCAKICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcyI6ICJpbXBvcnQiLCAKKyAgICAid2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9j
aHJvbWl1bSI6ICJza2lwIiwgCisgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVz
dCI6ICJza2lwIiwgCiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9zY3JlZW4tb3JpZW50YXRpb24i
OiAic2tpcCIsIAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvc2Nyb2xsLWFuY2hvcmluZyI6ICJz
a2lwIiwgCiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9zY3JvbGwtaW50by12aWV3IjogInNraXAi
LCAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL01FVEEueW1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvTUVUQS55bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGY5ODhmOTlhODJlMDk5
MWMyMGNiODE2YmU2Mzc4YTk3MzAyODczMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL01FVEEueW1sCkBAIC0w
LDAgKzEsMyBAQAorc3VnZ2VzdGVkX3Jldmlld2VyczoKKyAgLSBqZ3JhaGFtCisgIC0gZ3NuZWRk
ZXJzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy9PV05FUlMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy9PV05FUlMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDBiMTUwOWE5ZGI5ZWQ3ZGIxMDRkMmEyYTBhMDEzMzZhNTI1MTk4NTYuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvT1dORVJTCisrKyAvZGV2L251bGwKQEAgLTEs
MyArMCwwIEBACi1AamdyYWhhbQotQGdzbmVkZGVycwotQGF5ZwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hlY2stbGF5
b3V0LXRoLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvY2hlY2stbGF5b3V0LXRoLmpzCmluZGV4IDNmMjU3ZDRhYzI1MGU1ZjU5MmJkNDYz
ZmIyYTBkNmE5ZjBmYjBjOGUuLjkyOGIwY2YyYTEwNDFlY2I4MzFmYWRiNDQ5NDNlODkwN2EyOWI4
NzIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL2NoZWNrLWxheW91dC10aC5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaGVjay1sYXlvdXQtdGguanMKQEAg
LTE2MSwxNiArMTYxLDE2IEBAIGZ1bmN0aW9uIGNoZWNrRXhwZWN0ZWRWYWx1ZXModCwgbm9kZSwg
cHJlZml4KQogICAgIHJldHVybiBvdXRwdXQuY2hlY2tlZDsKIH0KIAotd2luZG93LmNoZWNrTGF5
b3V0ID0gZnVuY3Rpb24oc2VsZWN0b3JMaXN0LCBvdXRwdXRDb250YWluZXIpCit2YXIgdGVzdE51
bWJlciA9IDA7CisKK3dpbmRvdy5jaGVja0xheW91dCA9IGZ1bmN0aW9uKHNlbGVjdG9yTGlzdCwg
Y2FsbERvbmUgPSB0cnVlKQogewogICAgIGlmICghc2VsZWN0b3JMaXN0KSB7CiAgICAgICAgIGNv
bnNvbGUuZXJyb3IoIllvdSBtdXN0IHByb3ZpZGUgYSBDU1Mgc2VsZWN0b3Igb2Ygbm9kZXMgdG8g
Y2hlY2suIik7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAgICAgdmFyIG5vZGVzID0gZG9jdW1l
bnQucXVlcnlTZWxlY3RvckFsbChzZWxlY3Rvckxpc3QpOwotICAgIHZhciB0ZXN0TnVtYmVyID0g
MDsKICAgICBub2RlcyA9IEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKG5vZGVzKTsKLSAgICBu
b2Rlcy5yZXZlcnNlKCk7CiAgICAgdmFyIGNoZWNrZWRMYXlvdXQgPSBmYWxzZTsKICAgICBBcnJh
eS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKG5vZGVzLCBmdW5jdGlvbihub2RlKSB7CiAgICAgICAg
IHRlc3QoZnVuY3Rpb24odCkgewpAQCAtMTg5LDcgKzE4OSw4IEBAIHdpbmRvdy5jaGVja0xheW91
dCA9IGZ1bmN0aW9uKHNlbGVjdG9yTGlzdCwgb3V0cHV0Q29udGFpbmVyKQogICAgIGlmICghY2hl
Y2tlZExheW91dCkgewogICAgICAgICBjb25zb2xlLmVycm9yKCJObyB2YWxpZCBkYXRhLSogYXR0
cmlidXRlcyBmb3VuZCBpbiBzZWxlY3RvciBsaXN0IDogIiArIHNlbGVjdG9yTGlzdCk7CiAgICAg
fQotICAgIGRvbmUoKTsKKyAgICBpZiAoY2FsbERvbmUpCisgICAgICAgIGRvbmUoKTsKIH07CiAK
IH0pKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS9SRUFETUUubWQgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS9SRUFETUUubWQKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGI1M2M2YThjNDIzMmRiZTljNzg3YjBlYTE3ZjBl
ZDFhNDlmMWUzODYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
Y2hyb21pdW0vUkVBRE1FLm1kCisrKyAvZGV2L251bGwKQEAgLTEsNCArMCwwIEBACi1UaGlzIGRp
cmVjdG9yeSBjb250YWlucyBDaHJvbWl1bS1zcGVjaWZpYyB0ZXN0IHJlc291cmNlcy4KLQotVGhl
IGZpbGVzIGBtb2pvX2JpbmRpbmdzLmpzYCBhbmQgYCoubW9qb20uanNgIGFyZSBtYW51YWxseSBj
b3BpZWQgZnJvbSB0aGUKLUNocm9taXVtIGJ1aWxkIHByb2Nlc3MncyBnZW5lcmF0ZWQgZmlsZXMg
YW5kIHNob3VsZCBub3QgYmUgZWRpdGVkIG1hbnVhbGx5LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vY2hv
b3Nlcl9zZXJ2aWNlLm1vam9tLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vY2hvb3Nlcl9zZXJ2aWNlLm1vam9tLmpzCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzMGJiYTRiYWFkOWJiODg5MTNkNGIzOWVjNTQ1
ZWI5MzZhOTY4ZjRjLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L2Nocm9taXVtL2Nob29zZXJfc2VydmljZS5tb2pvbS5qcworKysgL2Rldi9udWxsCkBAIC0xLDI3
OSArMCwwIEBACi0vLyBDb3B5cmlnaHQgMjAxNCBUaGUgQ2hyb21pdW0gQXV0aG9ycy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KLS8vIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5
IGEgQlNELXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKLS8vIGZvdW5kIGluIHRoZSBMSUNFTlNF
IGZpbGUuCi0KLQotJ3VzZSBzdHJpY3QnOwotCi0oZnVuY3Rpb24oKSB7Ci0gIHZhciBtb2pvbUlk
ID0gJ2RldmljZS91c2IvcHVibGljL2ludGVyZmFjZXMvY2hvb3Nlcl9zZXJ2aWNlLm1vam9tJzsK
LSAgaWYgKG1vam8uaW50ZXJuYWwuaXNNb2pvbUxvYWRlZChtb2pvbUlkKSkgewotICAgIGNvbnNv
bGUud2FybignVGhlIGZvbGxvd2luZyBtb2pvbSBpcyBsb2FkZWQgbXVsdGlwbGUgdGltZXM6ICcg
KyBtb2pvbUlkKTsKLSAgICByZXR1cm47Ci0gIH0KLSAgbW9qby5pbnRlcm5hbC5tYXJrTW9qb21M
b2FkZWQobW9qb21JZCk7Ci0KLSAgLy8gVE9ETyh5enNoZW4pOiBEZWZpbmUgdGhlc2UgYWxpYXNl
cyB0byBtaW5pbWl6ZSB0aGUgZGlmZmVyZW5jZXMgYmV0d2VlbiB0aGUKLSAgLy8gb2xkL25ldyBt
b2Rlcy4gUmVtb3ZlIHRoZW0gd2hlbiB0aGUgb2xkIG1vZGUgZ29lcyBhd2F5LgotICB2YXIgYmlu
ZGluZ3MgPSBtb2pvOwotICB2YXIgYXNzb2NpYXRlZEJpbmRpbmdzID0gbW9qbzsKLSAgdmFyIGNv
ZGVjID0gbW9qby5pbnRlcm5hbDsKLSAgdmFyIHZhbGlkYXRvciA9IG1vam8uaW50ZXJuYWw7Ci0K
LSAgdmFyIGV4cG9ydHMgPSBtb2pvLmludGVybmFsLmV4cG9zZU5hbWVzcGFjZSgnZGV2aWNlLm1v
am9tJyk7Ci0gIHZhciBkZXZpY2UkID0KLSAgICAgIG1vam8uaW50ZXJuYWwuZXhwb3NlTmFtZXNw
YWNlKCdkZXZpY2UubW9qb20nKTsKLSAgaWYgKG1vam8uY29uZmlnLmF1dG9Mb2FkTW9qb21EZXBz
KSB7Ci0gICAgbW9qby5pbnRlcm5hbC5sb2FkTW9qb21JZk5lY2Vzc2FyeSgKLSAgICAgICAgJ2Rl
dmljZS91c2IvcHVibGljL2ludGVyZmFjZXMvZGV2aWNlLm1vam9tJywgJ2RldmljZS5tb2pvbS5q
cycpOwotICB9Ci0gIHZhciBkZXZpY2VfbWFuYWdlciQgPQotICAgICAgbW9qby5pbnRlcm5hbC5l
eHBvc2VOYW1lc3BhY2UoJ2RldmljZS5tb2pvbScpOwotICBpZiAobW9qby5jb25maWcuYXV0b0xv
YWRNb2pvbURlcHMpIHsKLSAgICBtb2pvLmludGVybmFsLmxvYWRNb2pvbUlmTmVjZXNzYXJ5KAot
ICAgICAgICAnZGV2aWNlL3VzYi9wdWJsaWMvaW50ZXJmYWNlcy9kZXZpY2VfbWFuYWdlci5tb2pv
bScsICdkZXZpY2VfbWFuYWdlci5tb2pvbS5qcycpOwotICB9Ci0KLQotCi0gIGZ1bmN0aW9uIFVz
YkNob29zZXJTZXJ2aWNlX0dldFBlcm1pc3Npb25fUGFyYW1zKHZhbHVlcykgewotICAgIHRoaXMu
aW5pdERlZmF1bHRzXygpOwotICAgIHRoaXMuaW5pdEZpZWxkc18odmFsdWVzKTsKLSAgfQotCi0K
LSAgVXNiQ2hvb3NlclNlcnZpY2VfR2V0UGVybWlzc2lvbl9QYXJhbXMucHJvdG90eXBlLmluaXRE
ZWZhdWx0c18gPSBmdW5jdGlvbigpIHsKLSAgICB0aGlzLmRldmljZUZpbHRlcnMgPSBudWxsOwot
ICB9OwotICBVc2JDaG9vc2VyU2VydmljZV9HZXRQZXJtaXNzaW9uX1BhcmFtcy5wcm90b3R5cGUu
aW5pdEZpZWxkc18gPSBmdW5jdGlvbihmaWVsZHMpIHsKLSAgICBmb3IodmFyIGZpZWxkIGluIGZp
ZWxkcykgewotICAgICAgICBpZiAodGhpcy5oYXNPd25Qcm9wZXJ0eShmaWVsZCkpCi0gICAgICAg
ICAgdGhpc1tmaWVsZF0gPSBmaWVsZHNbZmllbGRdOwotICAgIH0KLSAgfTsKLQotICBVc2JDaG9v
c2VyU2VydmljZV9HZXRQZXJtaXNzaW9uX1BhcmFtcy52YWxpZGF0ZSA9IGZ1bmN0aW9uKG1lc3Nh
Z2VWYWxpZGF0b3IsIG9mZnNldCkgewotICAgIHZhciBlcnI7Ci0gICAgZXJyID0gbWVzc2FnZVZh
bGlkYXRvci52YWxpZGF0ZVN0cnVjdEhlYWRlcihvZmZzZXQsIGNvZGVjLmtTdHJ1Y3RIZWFkZXJT
aXplKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0g
ICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICB2YXIga1ZlcnNpb25TaXplcyA9IFsKLSAgICAgIHt2
ZXJzaW9uOiAwLCBudW1CeXRlczogMTZ9Ci0gICAgXTsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRh
dG9yLnZhbGlkYXRlU3RydWN0VmVyc2lvbihvZmZzZXQsIGtWZXJzaW9uU2l6ZXMpOwotICAgIGlm
IChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJu
IGVycjsKLQotCi0gICAgCi0gICAgLy8gdmFsaWRhdGUgVXNiQ2hvb3NlclNlcnZpY2VfR2V0UGVy
bWlzc2lvbl9QYXJhbXMuZGV2aWNlRmlsdGVycwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3Iu
dmFsaWRhdGVBcnJheVBvaW50ZXIob2Zmc2V0ICsgY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyAw
LCA4LCBuZXcgY29kZWMuUG9pbnRlclRvKGRldmljZV9tYW5hZ2VyJC5Vc2JEZXZpY2VGaWx0ZXIp
LCBmYWxzZSwgWzBdLCAwKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVy
cm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICByZXR1cm4gdmFsaWRhdG9yLnZh
bGlkYXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIFVzYkNob29zZXJTZXJ2aWNlX0dldFBlcm1p
c3Npb25fUGFyYW1zLmVuY29kZWRTaXplID0gY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyA4Owot
Ci0gIFVzYkNob29zZXJTZXJ2aWNlX0dldFBlcm1pc3Npb25fUGFyYW1zLmRlY29kZSA9IGZ1bmN0
aW9uKGRlY29kZXIpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIHZhciB2YWwgPSBuZXcgVXNiQ2hv
b3NlclNlcnZpY2VfR2V0UGVybWlzc2lvbl9QYXJhbXMoKTsKLSAgICB2YXIgbnVtYmVyT2ZCeXRl
cyA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhciB2ZXJzaW9uID0gZGVjb2Rlci5yZWFk
VWludDMyKCk7Ci0gICAgdmFsLmRldmljZUZpbHRlcnMgPSBkZWNvZGVyLmRlY29kZUFycmF5UG9p
bnRlcihuZXcgY29kZWMuUG9pbnRlclRvKGRldmljZV9tYW5hZ2VyJC5Vc2JEZXZpY2VGaWx0ZXIp
KTsKLSAgICByZXR1cm4gdmFsOwotICB9OwotCi0gIFVzYkNob29zZXJTZXJ2aWNlX0dldFBlcm1p
c3Npb25fUGFyYW1zLmVuY29kZSA9IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgIHZhciBw
YWNrZWQ7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMihVc2JDaG9vc2VyU2VydmljZV9HZXRQZXJt
aXNzaW9uX1BhcmFtcy5lbmNvZGVkU2l6ZSk7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMigwKTsK
LSAgICBlbmNvZGVyLmVuY29kZUFycmF5UG9pbnRlcihuZXcgY29kZWMuUG9pbnRlclRvKGRldmlj
ZV9tYW5hZ2VyJC5Vc2JEZXZpY2VGaWx0ZXIpLCB2YWwuZGV2aWNlRmlsdGVycyk7Ci0gIH07Ci0g
IGZ1bmN0aW9uIFVzYkNob29zZXJTZXJ2aWNlX0dldFBlcm1pc3Npb25fUmVzcG9uc2VQYXJhbXMo
dmFsdWVzKSB7Ci0gICAgdGhpcy5pbml0RGVmYXVsdHNfKCk7Ci0gICAgdGhpcy5pbml0RmllbGRz
Xyh2YWx1ZXMpOwotICB9Ci0KLQotICBVc2JDaG9vc2VyU2VydmljZV9HZXRQZXJtaXNzaW9uX1Jl
c3BvbnNlUGFyYW1zLnByb3RvdHlwZS5pbml0RGVmYXVsdHNfID0gZnVuY3Rpb24oKSB7Ci0gICAg
dGhpcy5yZXN1bHQgPSBudWxsOwotICB9OwotICBVc2JDaG9vc2VyU2VydmljZV9HZXRQZXJtaXNz
aW9uX1Jlc3BvbnNlUGFyYW1zLnByb3RvdHlwZS5pbml0RmllbGRzXyA9IGZ1bmN0aW9uKGZpZWxk
cykgewotICAgIGZvcih2YXIgZmllbGQgaW4gZmllbGRzKSB7Ci0gICAgICAgIGlmICh0aGlzLmhh
c093blByb3BlcnR5KGZpZWxkKSkKLSAgICAgICAgICB0aGlzW2ZpZWxkXSA9IGZpZWxkc1tmaWVs
ZF07Ci0gICAgfQotICB9OwotCi0gIFVzYkNob29zZXJTZXJ2aWNlX0dldFBlcm1pc3Npb25fUmVz
cG9uc2VQYXJhbXMudmFsaWRhdGUgPSBmdW5jdGlvbihtZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQp
IHsKLSAgICB2YXIgZXJyOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1
Y3RIZWFkZXIob2Zmc2V0LCBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVyciAh
PT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwot
Ci0gICAgdmFyIGtWZXJzaW9uU2l6ZXMgPSBbCi0gICAgICB7dmVyc2lvbjogMCwgbnVtQnl0ZXM6
IDE2fQotICAgIF07Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFZl
cnNpb24ob2Zmc2V0LCBrVmVyc2lvblNpemVzKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3Iu
dmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotICAgIAotICAg
IC8vIHZhbGlkYXRlIFVzYkNob29zZXJTZXJ2aWNlX0dldFBlcm1pc3Npb25fUmVzcG9uc2VQYXJh
bXMucmVzdWx0Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFBvaW50
ZXIob2Zmc2V0ICsgY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyAwLCBkZXZpY2UkLlVzYkRldmlj
ZUluZm8sIHRydWUpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3Iu
Tk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRh
dGlvbkVycm9yLk5PTkU7Ci0gIH07Ci0KLSAgVXNiQ2hvb3NlclNlcnZpY2VfR2V0UGVybWlzc2lv
bl9SZXNwb25zZVBhcmFtcy5lbmNvZGVkU2l6ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsg
ODsKLQotICBVc2JDaG9vc2VyU2VydmljZV9HZXRQZXJtaXNzaW9uX1Jlc3BvbnNlUGFyYW1zLmRl
Y29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIHZhciB2YWwg
PSBuZXcgVXNiQ2hvb3NlclNlcnZpY2VfR2V0UGVybWlzc2lvbl9SZXNwb25zZVBhcmFtcygpOwot
ICAgIHZhciBudW1iZXJPZkJ5dGVzID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFyIHZl
cnNpb24gPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YWwucmVzdWx0ID0gZGVjb2Rlci5k
ZWNvZGVTdHJ1Y3RQb2ludGVyKGRldmljZSQuVXNiRGV2aWNlSW5mbyk7Ci0gICAgcmV0dXJuIHZh
bDsKLSAgfTsKLQotICBVc2JDaG9vc2VyU2VydmljZV9HZXRQZXJtaXNzaW9uX1Jlc3BvbnNlUGFy
YW1zLmVuY29kZSA9IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgIHZhciBwYWNrZWQ7Ci0g
ICAgZW5jb2Rlci53cml0ZVVpbnQzMihVc2JDaG9vc2VyU2VydmljZV9HZXRQZXJtaXNzaW9uX1Jl
c3BvbnNlUGFyYW1zLmVuY29kZWRTaXplKTsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKDApOwot
ICAgIGVuY29kZXIuZW5jb2RlU3RydWN0UG9pbnRlcihkZXZpY2UkLlVzYkRldmljZUluZm8sIHZh
bC5yZXN1bHQpOwotICB9OwotICB2YXIga1VzYkNob29zZXJTZXJ2aWNlX0dldFBlcm1pc3Npb25f
TmFtZSA9IDA7Ci0KLSAgZnVuY3Rpb24gVXNiQ2hvb3NlclNlcnZpY2VQdHIoaGFuZGxlT3JQdHJJ
bmZvKSB7Ci0gICAgdGhpcy5wdHIgPSBuZXcgYmluZGluZ3MuSW50ZXJmYWNlUHRyQ29udHJvbGxl
cihVc2JDaG9vc2VyU2VydmljZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGhhbmRsZU9yUHRySW5mbyk7Ci0gIH0KLQotICBmdW5jdGlvbiBVc2JD
aG9vc2VyU2VydmljZUFzc29jaWF0ZWRQdHIoYXNzb2NpYXRlZEludGVyZmFjZVB0ckluZm8pIHsK
LSAgICB0aGlzLnB0ciA9IG5ldyBhc3NvY2lhdGVkQmluZGluZ3MuQXNzb2NpYXRlZEludGVyZmFj
ZVB0ckNvbnRyb2xsZXIoCi0gICAgICAgIFVzYkNob29zZXJTZXJ2aWNlLCBhc3NvY2lhdGVkSW50
ZXJmYWNlUHRySW5mbyk7Ci0gIH0KLQotICBVc2JDaG9vc2VyU2VydmljZUFzc29jaWF0ZWRQdHIu
cHJvdG90eXBlID0KLSAgICAgIE9iamVjdC5jcmVhdGUoVXNiQ2hvb3NlclNlcnZpY2VQdHIucHJv
dG90eXBlKTsKLSAgVXNiQ2hvb3NlclNlcnZpY2VBc3NvY2lhdGVkUHRyLnByb3RvdHlwZS5jb25z
dHJ1Y3RvciA9Ci0gICAgICBVc2JDaG9vc2VyU2VydmljZUFzc29jaWF0ZWRQdHI7Ci0KLSAgZnVu
Y3Rpb24gVXNiQ2hvb3NlclNlcnZpY2VQcm94eShyZWNlaXZlcikgewotICAgIHRoaXMucmVjZWl2
ZXJfID0gcmVjZWl2ZXI7Ci0gIH0KLSAgVXNiQ2hvb3NlclNlcnZpY2VQdHIucHJvdG90eXBlLmdl
dFBlcm1pc3Npb24gPSBmdW5jdGlvbigpIHsKLSAgICByZXR1cm4gVXNiQ2hvb3NlclNlcnZpY2VQ
cm94eS5wcm90b3R5cGUuZ2V0UGVybWlzc2lvbgotICAgICAgICAuYXBwbHkodGhpcy5wdHIuZ2V0
UHJveHkoKSwgYXJndW1lbnRzKTsKLSAgfTsKLQotICBVc2JDaG9vc2VyU2VydmljZVByb3h5LnBy
b3RvdHlwZS5nZXRQZXJtaXNzaW9uID0gZnVuY3Rpb24oZGV2aWNlRmlsdGVycykgewotICAgIHZh
ciBwYXJhbXMgPSBuZXcgVXNiQ2hvb3NlclNlcnZpY2VfR2V0UGVybWlzc2lvbl9QYXJhbXMoKTsK
LSAgICBwYXJhbXMuZGV2aWNlRmlsdGVycyA9IGRldmljZUZpbHRlcnM7Ci0gICAgcmV0dXJuIG5l
dyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewotICAgICAgdmFyIGJ1aWxkZXIg
PSBuZXcgY29kZWMuTWVzc2FnZVYxQnVpbGRlcigKLSAgICAgICAgICBrVXNiQ2hvb3NlclNlcnZp
Y2VfR2V0UGVybWlzc2lvbl9OYW1lLAotICAgICAgICAgIGNvZGVjLmFsaWduKFVzYkNob29zZXJT
ZXJ2aWNlX0dldFBlcm1pc3Npb25fUGFyYW1zLmVuY29kZWRTaXplKSwKLSAgICAgICAgICBjb2Rl
Yy5rTWVzc2FnZUV4cGVjdHNSZXNwb25zZSwgMCk7Ci0gICAgICBidWlsZGVyLmVuY29kZVN0cnVj
dChVc2JDaG9vc2VyU2VydmljZV9HZXRQZXJtaXNzaW9uX1BhcmFtcywgcGFyYW1zKTsKLSAgICAg
IHZhciBtZXNzYWdlID0gYnVpbGRlci5maW5pc2goKTsKLSAgICAgIHRoaXMucmVjZWl2ZXJfLmFj
Y2VwdEFuZEV4cGVjdFJlc3BvbnNlKG1lc3NhZ2UpLnRoZW4oZnVuY3Rpb24obWVzc2FnZSkgewot
ICAgICAgICB2YXIgcmVhZGVyID0gbmV3IGNvZGVjLk1lc3NhZ2VSZWFkZXIobWVzc2FnZSk7Ci0g
ICAgICAgIHZhciByZXNwb25zZVBhcmFtcyA9Ci0gICAgICAgICAgICByZWFkZXIuZGVjb2RlU3Ry
dWN0KFVzYkNob29zZXJTZXJ2aWNlX0dldFBlcm1pc3Npb25fUmVzcG9uc2VQYXJhbXMpOwotICAg
ICAgICByZXNvbHZlKHJlc3BvbnNlUGFyYW1zKTsKLSAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uKHJl
c3VsdCkgewotICAgICAgICByZWplY3QoRXJyb3IoIkNvbm5lY3Rpb24gZXJyb3I6ICIgKyByZXN1
bHQpKTsKLSAgICAgIH0pOwotICAgIH0uYmluZCh0aGlzKSk7Ci0gIH07Ci0KLSAgZnVuY3Rpb24g
VXNiQ2hvb3NlclNlcnZpY2VTdHViKGRlbGVnYXRlKSB7Ci0gICAgdGhpcy5kZWxlZ2F0ZV8gPSBk
ZWxlZ2F0ZTsKLSAgfQotICBVc2JDaG9vc2VyU2VydmljZVN0dWIucHJvdG90eXBlLmdldFBlcm1p
c3Npb24gPSBmdW5jdGlvbihkZXZpY2VGaWx0ZXJzKSB7Ci0gICAgcmV0dXJuIHRoaXMuZGVsZWdh
dGVfICYmIHRoaXMuZGVsZWdhdGVfLmdldFBlcm1pc3Npb24gJiYgdGhpcy5kZWxlZ2F0ZV8uZ2V0
UGVybWlzc2lvbihkZXZpY2VGaWx0ZXJzKTsKLSAgfQotCi0gIFVzYkNob29zZXJTZXJ2aWNlU3R1
Yi5wcm90b3R5cGUuYWNjZXB0ID0gZnVuY3Rpb24obWVzc2FnZSkgewotICAgIHZhciByZWFkZXIg
PSBuZXcgY29kZWMuTWVzc2FnZVJlYWRlcihtZXNzYWdlKTsKLSAgICBzd2l0Y2ggKHJlYWRlci5t
ZXNzYWdlTmFtZSkgewotICAgIGRlZmF1bHQ6Ci0gICAgICByZXR1cm4gZmFsc2U7Ci0gICAgfQot
ICB9OwotCi0gIFVzYkNob29zZXJTZXJ2aWNlU3R1Yi5wcm90b3R5cGUuYWNjZXB0V2l0aFJlc3Bv
bmRlciA9Ci0gICAgICBmdW5jdGlvbihtZXNzYWdlLCByZXNwb25kZXIpIHsKLSAgICB2YXIgcmVh
ZGVyID0gbmV3IGNvZGVjLk1lc3NhZ2VSZWFkZXIobWVzc2FnZSk7Ci0gICAgc3dpdGNoIChyZWFk
ZXIubWVzc2FnZU5hbWUpIHsKLSAgICBjYXNlIGtVc2JDaG9vc2VyU2VydmljZV9HZXRQZXJtaXNz
aW9uX05hbWU6Ci0gICAgICB2YXIgcGFyYW1zID0gcmVhZGVyLmRlY29kZVN0cnVjdChVc2JDaG9v
c2VyU2VydmljZV9HZXRQZXJtaXNzaW9uX1BhcmFtcyk7Ci0gICAgICB0aGlzLmdldFBlcm1pc3Np
b24ocGFyYW1zLmRldmljZUZpbHRlcnMpLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICAg
ICAgdmFyIHJlc3BvbnNlUGFyYW1zID0KLSAgICAgICAgICAgIG5ldyBVc2JDaG9vc2VyU2Vydmlj
ZV9HZXRQZXJtaXNzaW9uX1Jlc3BvbnNlUGFyYW1zKCk7Ci0gICAgICAgIHJlc3BvbnNlUGFyYW1z
LnJlc3VsdCA9IHJlc3BvbnNlLnJlc3VsdDsKLSAgICAgICAgdmFyIGJ1aWxkZXIgPSBuZXcgY29k
ZWMuTWVzc2FnZVYxQnVpbGRlcigKLSAgICAgICAgICAgIGtVc2JDaG9vc2VyU2VydmljZV9HZXRQ
ZXJtaXNzaW9uX05hbWUsCi0gICAgICAgICAgICBjb2RlYy5hbGlnbihVc2JDaG9vc2VyU2Vydmlj
ZV9HZXRQZXJtaXNzaW9uX1Jlc3BvbnNlUGFyYW1zLmVuY29kZWRTaXplKSwKLSAgICAgICAgICAg
IGNvZGVjLmtNZXNzYWdlSXNSZXNwb25zZSwgcmVhZGVyLnJlcXVlc3RJRCk7Ci0gICAgICAgIGJ1
aWxkZXIuZW5jb2RlU3RydWN0KFVzYkNob29zZXJTZXJ2aWNlX0dldFBlcm1pc3Npb25fUmVzcG9u
c2VQYXJhbXMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlUGFyYW1zKTsK
LSAgICAgICAgdmFyIG1lc3NhZ2UgPSBidWlsZGVyLmZpbmlzaCgpOwotICAgICAgICByZXNwb25k
ZXIuYWNjZXB0KG1lc3NhZ2UpOwotICAgICAgfSk7Ci0gICAgICByZXR1cm4gdHJ1ZTsKLSAgICBk
ZWZhdWx0OgotICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0KLSAgfTsKLQotICBmdW5jdGlvbiB2
YWxpZGF0ZVVzYkNob29zZXJTZXJ2aWNlUmVxdWVzdChtZXNzYWdlVmFsaWRhdG9yKSB7Ci0gICAg
dmFyIG1lc3NhZ2UgPSBtZXNzYWdlVmFsaWRhdG9yLm1lc3NhZ2U7Ci0gICAgdmFyIHBhcmFtc0Ns
YXNzID0gbnVsbDsKLSAgICBzd2l0Y2ggKG1lc3NhZ2UuZ2V0TmFtZSgpKSB7Ci0gICAgICBjYXNl
IGtVc2JDaG9vc2VyU2VydmljZV9HZXRQZXJtaXNzaW9uX05hbWU6Ci0gICAgICAgIGlmIChtZXNz
YWdlLmV4cGVjdHNSZXNwb25zZSgpKQotICAgICAgICAgIHBhcmFtc0NsYXNzID0gVXNiQ2hvb3Nl
clNlcnZpY2VfR2V0UGVybWlzc2lvbl9QYXJhbXM7Ci0gICAgICBicmVhazsKLSAgICB9Ci0gICAg
aWYgKHBhcmFtc0NsYXNzID09PSBudWxsKQotICAgICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0
aW9uRXJyb3IuTk9ORTsKLSAgICByZXR1cm4gcGFyYW1zQ2xhc3MudmFsaWRhdGUobWVzc2FnZVZh
bGlkYXRvciwgbWVzc2FnZVZhbGlkYXRvci5tZXNzYWdlLmdldEhlYWRlck51bUJ5dGVzKCkpOwot
ICB9Ci0KLSAgZnVuY3Rpb24gdmFsaWRhdGVVc2JDaG9vc2VyU2VydmljZVJlc3BvbnNlKG1lc3Nh
Z2VWYWxpZGF0b3IpIHsKLSAgIHZhciBtZXNzYWdlID0gbWVzc2FnZVZhbGlkYXRvci5tZXNzYWdl
OwotICAgdmFyIHBhcmFtc0NsYXNzID0gbnVsbDsKLSAgIHN3aXRjaCAobWVzc2FnZS5nZXROYW1l
KCkpIHsKLSAgICAgIGNhc2Uga1VzYkNob29zZXJTZXJ2aWNlX0dldFBlcm1pc3Npb25fTmFtZToK
LSAgICAgICAgaWYgKG1lc3NhZ2UuaXNSZXNwb25zZSgpKQotICAgICAgICAgIHBhcmFtc0NsYXNz
ID0gVXNiQ2hvb3NlclNlcnZpY2VfR2V0UGVybWlzc2lvbl9SZXNwb25zZVBhcmFtczsKLSAgICAg
ICAgYnJlYWs7Ci0gICAgfQotICAgIGlmIChwYXJhbXNDbGFzcyA9PT0gbnVsbCkKLSAgICAgIHJl
dHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gICAgcmV0dXJuIHBhcmFtc0Ns
YXNzLnZhbGlkYXRlKG1lc3NhZ2VWYWxpZGF0b3IsIG1lc3NhZ2VWYWxpZGF0b3IubWVzc2FnZS5n
ZXRIZWFkZXJOdW1CeXRlcygpKTsKLSAgfQotCi0gIHZhciBVc2JDaG9vc2VyU2VydmljZSA9IHsK
LSAgICBuYW1lOiAnZGV2aWNlOjptb2pvbTo6VXNiQ2hvb3NlclNlcnZpY2UnLAotICAgIGtWZXJz
aW9uOiAwLAotICAgIHB0ckNsYXNzOiBVc2JDaG9vc2VyU2VydmljZVB0ciwKLSAgICBwcm94eUNs
YXNzOiBVc2JDaG9vc2VyU2VydmljZVByb3h5LAotICAgIHN0dWJDbGFzczogVXNiQ2hvb3NlclNl
cnZpY2VTdHViLAotICAgIHZhbGlkYXRlUmVxdWVzdDogdmFsaWRhdGVVc2JDaG9vc2VyU2Vydmlj
ZVJlcXVlc3QsCi0gICAgdmFsaWRhdGVSZXNwb25zZTogdmFsaWRhdGVVc2JDaG9vc2VyU2Vydmlj
ZVJlc3BvbnNlLAotICB9OwotICBVc2JDaG9vc2VyU2VydmljZVN0dWIucHJvdG90eXBlLnZhbGlk
YXRvciA9IHZhbGlkYXRlVXNiQ2hvb3NlclNlcnZpY2VSZXF1ZXN0OwotICBVc2JDaG9vc2VyU2Vy
dmljZVByb3h5LnByb3RvdHlwZS52YWxpZGF0b3IgPSB2YWxpZGF0ZVVzYkNob29zZXJTZXJ2aWNl
UmVzcG9uc2U7Ci0gIGV4cG9ydHMuVXNiQ2hvb3NlclNlcnZpY2UgPSBVc2JDaG9vc2VyU2Vydmlj
ZTsKLSAgZXhwb3J0cy5Vc2JDaG9vc2VyU2VydmljZVB0ciA9IFVzYkNob29zZXJTZXJ2aWNlUHRy
OwotICBleHBvcnRzLlVzYkNob29zZXJTZXJ2aWNlQXNzb2NpYXRlZFB0ciA9IFVzYkNob29zZXJT
ZXJ2aWNlQXNzb2NpYXRlZFB0cjsKLX0pKCk7ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvY2hyb21pdW0vY2hvb3Nlcl9zZXJ2aWNlLm1vam9tLmpzLmhlYWRlcnMgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1
bS9jaG9vc2VyX3NlcnZpY2UubW9qb20uanMuaGVhZGVycwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggNjgwNWMzMjNkZjVhOTc1MjMxNjQ4YjgzMGUzM2NlMTgzYzNjYmJkMy4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS9jaG9vc2VyX3Nl
cnZpY2UubW9qb20uanMuaGVhZGVycworKysgL2Rldi9udWxsCkBAIC0xICswLDAgQEAKLUNvbnRl
bnQtVHlwZTogdGV4dC9qYXZhc2NyaXB0OyBjaGFyc2V0PXV0Zi04CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1
bS9kZXZpY2UubW9qb20uanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS9kZXZpY2UubW9qb20uanMKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IGNlNTY2MGNkNTJlZGFlNjU3MWQyMmQzMTQzMGY0ZmUwYjVkMTY5N2Iu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vZGV2
aWNlLm1vam9tLmpzCisrKyAvZGV2L251bGwKQEAgLTEsMzQ2MCArMCwwIEBACi0vLyBDb3B5cmln
aHQgMjAxNCBUaGUgQ2hyb21pdW0gQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLS8vIFVz
ZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2Ug
dGhhdCBjYW4gYmUKLS8vIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCi0KLQotJ3VzZSBzdHJp
Y3QnOwotCi0oZnVuY3Rpb24oKSB7Ci0gIHZhciBtb2pvbUlkID0gJ2RldmljZS91c2IvcHVibGlj
L2ludGVyZmFjZXMvZGV2aWNlLm1vam9tJzsKLSAgaWYgKG1vam8uaW50ZXJuYWwuaXNNb2pvbUxv
YWRlZChtb2pvbUlkKSkgewotICAgIGNvbnNvbGUud2FybignVGhlIGZvbGxvd2luZyBtb2pvbSBp
cyBsb2FkZWQgbXVsdGlwbGUgdGltZXM6ICcgKyBtb2pvbUlkKTsKLSAgICByZXR1cm47Ci0gIH0K
LSAgbW9qby5pbnRlcm5hbC5tYXJrTW9qb21Mb2FkZWQobW9qb21JZCk7Ci0KLSAgLy8gVE9ETyh5
enNoZW4pOiBEZWZpbmUgdGhlc2UgYWxpYXNlcyB0byBtaW5pbWl6ZSB0aGUgZGlmZmVyZW5jZXMg
YmV0d2VlbiB0aGUKLSAgLy8gb2xkL25ldyBtb2Rlcy4gUmVtb3ZlIHRoZW0gd2hlbiB0aGUgb2xk
IG1vZGUgZ29lcyBhd2F5LgotICB2YXIgYmluZGluZ3MgPSBtb2pvOwotICB2YXIgYXNzb2NpYXRl
ZEJpbmRpbmdzID0gbW9qbzsKLSAgdmFyIGNvZGVjID0gbW9qby5pbnRlcm5hbDsKLSAgdmFyIHZh
bGlkYXRvciA9IG1vam8uaW50ZXJuYWw7Ci0KLSAgdmFyIGV4cG9ydHMgPSBtb2pvLmludGVybmFs
LmV4cG9zZU5hbWVzcGFjZSgnZGV2aWNlLm1vam9tJyk7Ci0gIHZhciBzdHJpbmcxNiQgPQotICAg
ICAgbW9qby5pbnRlcm5hbC5leHBvc2VOYW1lc3BhY2UoJ21vam8uY29tbW9uLm1vam9tJyk7Ci0g
IGlmIChtb2pvLmNvbmZpZy5hdXRvTG9hZE1vam9tRGVwcykgewotICAgIG1vam8uaW50ZXJuYWwu
bG9hZE1vam9tSWZOZWNlc3NhcnkoCi0gICAgICAgICdtb2pvL2NvbW1vbi9zdHJpbmcxNi5tb2pv
bScsICcuLi8uLi8uLi8uLi9tb2pvL2NvbW1vbi9zdHJpbmcxNi5tb2pvbS5qcycpOwotICB9Ci0K
LQotICB2YXIgVXNiT3BlbkRldmljZUVycm9yID0ge307Ci0gIFVzYk9wZW5EZXZpY2VFcnJvci5P
SyA9IDA7Ci0gIFVzYk9wZW5EZXZpY2VFcnJvci5BQ0NFU1NfREVOSUVEID0gVXNiT3BlbkRldmlj
ZUVycm9yLk9LICsgMTsKLSAgVXNiT3BlbkRldmljZUVycm9yLkFMUkVBRFlfT1BFTiA9IFVzYk9w
ZW5EZXZpY2VFcnJvci5BQ0NFU1NfREVOSUVEICsgMTsKLQotICBVc2JPcGVuRGV2aWNlRXJyb3Iu
aXNLbm93bkVudW1WYWx1ZSA9IGZ1bmN0aW9uKHZhbHVlKSB7Ci0gICAgc3dpdGNoICh2YWx1ZSkg
ewotICAgIGNhc2UgMDoKLSAgICBjYXNlIDE6Ci0gICAgY2FzZSAyOgotICAgICAgcmV0dXJuIHRy
dWU7Ci0gICAgfQotICAgIHJldHVybiBmYWxzZTsKLSAgfTsKLQotICBVc2JPcGVuRGV2aWNlRXJy
b3IudmFsaWRhdGUgPSBmdW5jdGlvbihlbnVtVmFsdWUpIHsKLSAgICB2YXIgaXNFeHRlbnNpYmxl
ID0gZmFsc2U7Ci0gICAgaWYgKGlzRXh0ZW5zaWJsZSB8fCB0aGlzLmlzS25vd25FbnVtVmFsdWUo
ZW51bVZhbHVlKSkKLSAgICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7
Ci0KLSAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5VTktOT1dOX0VOVU1fVkFM
VUU7Ci0gIH07Ci0gIHZhciBVc2JUcmFuc2ZlckRpcmVjdGlvbiA9IHt9OwotICBVc2JUcmFuc2Zl
ckRpcmVjdGlvbi5JTkJPVU5EID0gMDsKLSAgVXNiVHJhbnNmZXJEaXJlY3Rpb24uT1VUQk9VTkQg
PSBVc2JUcmFuc2ZlckRpcmVjdGlvbi5JTkJPVU5EICsgMTsKLQotICBVc2JUcmFuc2ZlckRpcmVj
dGlvbi5pc0tub3duRW51bVZhbHVlID0gZnVuY3Rpb24odmFsdWUpIHsKLSAgICBzd2l0Y2ggKHZh
bHVlKSB7Ci0gICAgY2FzZSAwOgotICAgIGNhc2UgMToKLSAgICAgIHJldHVybiB0cnVlOwotICAg
IH0KLSAgICByZXR1cm4gZmFsc2U7Ci0gIH07Ci0KLSAgVXNiVHJhbnNmZXJEaXJlY3Rpb24udmFs
aWRhdGUgPSBmdW5jdGlvbihlbnVtVmFsdWUpIHsKLSAgICB2YXIgaXNFeHRlbnNpYmxlID0gZmFs
c2U7Ci0gICAgaWYgKGlzRXh0ZW5zaWJsZSB8fCB0aGlzLmlzS25vd25FbnVtVmFsdWUoZW51bVZh
bHVlKSkKLSAgICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0KLSAg
ICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5VTktOT1dOX0VOVU1fVkFMVUU7Ci0g
IH07Ci0gIHZhciBVc2JDb250cm9sVHJhbnNmZXJUeXBlID0ge307Ci0gIFVzYkNvbnRyb2xUcmFu
c2ZlclR5cGUuU1RBTkRBUkQgPSAwOwotICBVc2JDb250cm9sVHJhbnNmZXJUeXBlLkNMQVNTID0g
VXNiQ29udHJvbFRyYW5zZmVyVHlwZS5TVEFOREFSRCArIDE7Ci0gIFVzYkNvbnRyb2xUcmFuc2Zl
clR5cGUuVkVORE9SID0gVXNiQ29udHJvbFRyYW5zZmVyVHlwZS5DTEFTUyArIDE7Ci0gIFVzYkNv
bnRyb2xUcmFuc2ZlclR5cGUuUkVTRVJWRUQgPSBVc2JDb250cm9sVHJhbnNmZXJUeXBlLlZFTkRP
UiArIDE7Ci0KLSAgVXNiQ29udHJvbFRyYW5zZmVyVHlwZS5pc0tub3duRW51bVZhbHVlID0gZnVu
Y3Rpb24odmFsdWUpIHsKLSAgICBzd2l0Y2ggKHZhbHVlKSB7Ci0gICAgY2FzZSAwOgotICAgIGNh
c2UgMToKLSAgICBjYXNlIDI6Ci0gICAgY2FzZSAzOgotICAgICAgcmV0dXJuIHRydWU7Ci0gICAg
fQotICAgIHJldHVybiBmYWxzZTsKLSAgfTsKLQotICBVc2JDb250cm9sVHJhbnNmZXJUeXBlLnZh
bGlkYXRlID0gZnVuY3Rpb24oZW51bVZhbHVlKSB7Ci0gICAgdmFyIGlzRXh0ZW5zaWJsZSA9IGZh
bHNlOwotICAgIGlmIChpc0V4dGVuc2libGUgfHwgdGhpcy5pc0tub3duRW51bVZhbHVlKGVudW1W
YWx1ZSkpCi0gICAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwotCi0g
ICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuVU5LTk9XTl9FTlVNX1ZBTFVFOwot
ICB9OwotICB2YXIgVXNiQ29udHJvbFRyYW5zZmVyUmVjaXBpZW50ID0ge307Ci0gIFVzYkNvbnRy
b2xUcmFuc2ZlclJlY2lwaWVudC5ERVZJQ0UgPSAwOwotICBVc2JDb250cm9sVHJhbnNmZXJSZWNp
cGllbnQuSU5URVJGQUNFID0gVXNiQ29udHJvbFRyYW5zZmVyUmVjaXBpZW50LkRFVklDRSArIDE7
Ci0gIFVzYkNvbnRyb2xUcmFuc2ZlclJlY2lwaWVudC5FTkRQT0lOVCA9IFVzYkNvbnRyb2xUcmFu
c2ZlclJlY2lwaWVudC5JTlRFUkZBQ0UgKyAxOwotICBVc2JDb250cm9sVHJhbnNmZXJSZWNpcGll
bnQuT1RIRVIgPSBVc2JDb250cm9sVHJhbnNmZXJSZWNpcGllbnQuRU5EUE9JTlQgKyAxOwotCi0g
IFVzYkNvbnRyb2xUcmFuc2ZlclJlY2lwaWVudC5pc0tub3duRW51bVZhbHVlID0gZnVuY3Rpb24o
dmFsdWUpIHsKLSAgICBzd2l0Y2ggKHZhbHVlKSB7Ci0gICAgY2FzZSAwOgotICAgIGNhc2UgMToK
LSAgICBjYXNlIDI6Ci0gICAgY2FzZSAzOgotICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfQotICAg
IHJldHVybiBmYWxzZTsKLSAgfTsKLQotICBVc2JDb250cm9sVHJhbnNmZXJSZWNpcGllbnQudmFs
aWRhdGUgPSBmdW5jdGlvbihlbnVtVmFsdWUpIHsKLSAgICB2YXIgaXNFeHRlbnNpYmxlID0gZmFs
c2U7Ci0gICAgaWYgKGlzRXh0ZW5zaWJsZSB8fCB0aGlzLmlzS25vd25FbnVtVmFsdWUoZW51bVZh
bHVlKSkKLSAgICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0KLSAg
ICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5VTktOT1dOX0VOVU1fVkFMVUU7Ci0g
IH07Ci0gIHZhciBVc2JUcmFuc2ZlclR5cGUgPSB7fTsKLSAgVXNiVHJhbnNmZXJUeXBlLkNPTlRS
T0wgPSAwOwotICBVc2JUcmFuc2ZlclR5cGUuSVNPQ0hST05PVVMgPSBVc2JUcmFuc2ZlclR5cGUu
Q09OVFJPTCArIDE7Ci0gIFVzYlRyYW5zZmVyVHlwZS5CVUxLID0gVXNiVHJhbnNmZXJUeXBlLklT
T0NIUk9OT1VTICsgMTsKLSAgVXNiVHJhbnNmZXJUeXBlLklOVEVSUlVQVCA9IFVzYlRyYW5zZmVy
VHlwZS5CVUxLICsgMTsKLQotICBVc2JUcmFuc2ZlclR5cGUuaXNLbm93bkVudW1WYWx1ZSA9IGZ1
bmN0aW9uKHZhbHVlKSB7Ci0gICAgc3dpdGNoICh2YWx1ZSkgewotICAgIGNhc2UgMDoKLSAgICBj
YXNlIDE6Ci0gICAgY2FzZSAyOgotICAgIGNhc2UgMzoKLSAgICAgIHJldHVybiB0cnVlOwotICAg
IH0KLSAgICByZXR1cm4gZmFsc2U7Ci0gIH07Ci0KLSAgVXNiVHJhbnNmZXJUeXBlLnZhbGlkYXRl
ID0gZnVuY3Rpb24oZW51bVZhbHVlKSB7Ci0gICAgdmFyIGlzRXh0ZW5zaWJsZSA9IGZhbHNlOwot
ICAgIGlmIChpc0V4dGVuc2libGUgfHwgdGhpcy5pc0tub3duRW51bVZhbHVlKGVudW1WYWx1ZSkp
Ci0gICAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwotCi0gICAgcmV0
dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuVU5LTk9XTl9FTlVNX1ZBTFVFOwotICB9Owot
ICB2YXIgVXNiVHJhbnNmZXJTdGF0dXMgPSB7fTsKLSAgVXNiVHJhbnNmZXJTdGF0dXMuQ09NUExF
VEVEID0gMDsKLSAgVXNiVHJhbnNmZXJTdGF0dXMuVFJBTlNGRVJfRVJST1IgPSBVc2JUcmFuc2Zl
clN0YXR1cy5DT01QTEVURUQgKyAxOwotICBVc2JUcmFuc2ZlclN0YXR1cy5USU1FT1VUID0gVXNi
VHJhbnNmZXJTdGF0dXMuVFJBTlNGRVJfRVJST1IgKyAxOwotICBVc2JUcmFuc2ZlclN0YXR1cy5D
QU5DRUxMRUQgPSBVc2JUcmFuc2ZlclN0YXR1cy5USU1FT1VUICsgMTsKLSAgVXNiVHJhbnNmZXJT
dGF0dXMuU1RBTExFRCA9IFVzYlRyYW5zZmVyU3RhdHVzLkNBTkNFTExFRCArIDE7Ci0gIFVzYlRy
YW5zZmVyU3RhdHVzLkRJU0NPTk5FQ1QgPSBVc2JUcmFuc2ZlclN0YXR1cy5TVEFMTEVEICsgMTsK
LSAgVXNiVHJhbnNmZXJTdGF0dXMuQkFCQkxFID0gVXNiVHJhbnNmZXJTdGF0dXMuRElTQ09OTkVD
VCArIDE7Ci0gIFVzYlRyYW5zZmVyU3RhdHVzLlNIT1JUX1BBQ0tFVCA9IFVzYlRyYW5zZmVyU3Rh
dHVzLkJBQkJMRSArIDE7Ci0gIFVzYlRyYW5zZmVyU3RhdHVzLlBFUk1JU1NJT05fREVOSUVEID0g
VXNiVHJhbnNmZXJTdGF0dXMuU0hPUlRfUEFDS0VUICsgMTsKLQotICBVc2JUcmFuc2ZlclN0YXR1
cy5pc0tub3duRW51bVZhbHVlID0gZnVuY3Rpb24odmFsdWUpIHsKLSAgICBzd2l0Y2ggKHZhbHVl
KSB7Ci0gICAgY2FzZSAwOgotICAgIGNhc2UgMToKLSAgICBjYXNlIDI6Ci0gICAgY2FzZSAzOgot
ICAgIGNhc2UgNDoKLSAgICBjYXNlIDU6Ci0gICAgY2FzZSA2OgotICAgIGNhc2UgNzoKLSAgICBj
YXNlIDg6Ci0gICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9Ci0gICAgcmV0dXJuIGZhbHNlOwotICB9
OwotCi0gIFVzYlRyYW5zZmVyU3RhdHVzLnZhbGlkYXRlID0gZnVuY3Rpb24oZW51bVZhbHVlKSB7
Ci0gICAgdmFyIGlzRXh0ZW5zaWJsZSA9IGZhbHNlOwotICAgIGlmIChpc0V4dGVuc2libGUgfHwg
dGhpcy5pc0tub3duRW51bVZhbHVlKGVudW1WYWx1ZSkpCi0gICAgICByZXR1cm4gdmFsaWRhdG9y
LnZhbGlkYXRpb25FcnJvci5OT05FOwotCi0gICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9u
RXJyb3IuVU5LTk9XTl9FTlVNX1ZBTFVFOwotICB9OwotCi0gIGZ1bmN0aW9uIFVzYkVuZHBvaW50
SW5mbyh2YWx1ZXMpIHsKLSAgICB0aGlzLmluaXREZWZhdWx0c18oKTsKLSAgICB0aGlzLmluaXRG
aWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0gIFVzYkVuZHBvaW50SW5mby5wcm90b3R5cGUuaW5p
dERlZmF1bHRzXyA9IGZ1bmN0aW9uKCkgewotICAgIHRoaXMuZW5kcG9pbnROdW1iZXIgPSAwOwot
ICAgIHRoaXMuZGlyZWN0aW9uID0gMDsKLSAgICB0aGlzLnR5cGUgPSAwOwotICAgIHRoaXMucGFj
a2V0U2l6ZSA9IDA7Ci0gIH07Ci0gIFVzYkVuZHBvaW50SW5mby5wcm90b3R5cGUuaW5pdEZpZWxk
c18gPSBmdW5jdGlvbihmaWVsZHMpIHsKLSAgICBmb3IodmFyIGZpZWxkIGluIGZpZWxkcykgewot
ICAgICAgICBpZiAodGhpcy5oYXNPd25Qcm9wZXJ0eShmaWVsZCkpCi0gICAgICAgICAgdGhpc1tm
aWVsZF0gPSBmaWVsZHNbZmllbGRdOwotICAgIH0KLSAgfTsKLQotICBVc2JFbmRwb2ludEluZm8u
dmFsaWRhdGUgPSBmdW5jdGlvbihtZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsKLSAgICB2YXIg
ZXJyOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RIZWFkZXIob2Zm
c2V0LCBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9y
LnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgdmFyIGtW
ZXJzaW9uU2l6ZXMgPSBbCi0gICAgICB7dmVyc2lvbjogMCwgbnVtQnl0ZXM6IDI0fQotICAgIF07
Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFZlcnNpb24ob2Zmc2V0
LCBrVmVyc2lvblNpemVzKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVy
cm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotCi0gICAgCi0gICAgLy8gdmFsaWRh
dGUgVXNiRW5kcG9pbnRJbmZvLmRpcmVjdGlvbgotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3Iu
dmFsaWRhdGVFbnVtKG9mZnNldCArIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgNCwgVXNiVHJh
bnNmZXJEaXJlY3Rpb24pOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJy
b3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0gICAgCi0gICAgLy8gdmFsaWRhdGUg
VXNiRW5kcG9pbnRJbmZvLnR5cGUKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRl
RW51bShvZmZzZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDgsIFVzYlRyYW5zZmVyVHlw
ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAg
ICAgICByZXR1cm4gZXJyOwotCi0KLSAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJv
ci5OT05FOwotICB9OwotCi0gIFVzYkVuZHBvaW50SW5mby5lbmNvZGVkU2l6ZSA9IGNvZGVjLmtT
dHJ1Y3RIZWFkZXJTaXplICsgMTY7Ci0KLSAgVXNiRW5kcG9pbnRJbmZvLmRlY29kZSA9IGZ1bmN0
aW9uKGRlY29kZXIpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIHZhciB2YWwgPSBuZXcgVXNiRW5k
cG9pbnRJbmZvKCk7Ci0gICAgdmFyIG51bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50MzIo
KTsKLSAgICB2YXIgdmVyc2lvbiA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhbC5lbmRw
b2ludE51bWJlciA9IGRlY29kZXIuZGVjb2RlU3RydWN0KGNvZGVjLlVpbnQ4KTsKLSAgICBkZWNv
ZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsK
LSAgICB2YWwuZGlyZWN0aW9uID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoY29kZWMuSW50MzIpOwot
ICAgIHZhbC50eXBlID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoY29kZWMuSW50MzIpOwotICAgIHZh
bC5wYWNrZXRTaXplID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoY29kZWMuVWludDMyKTsKLSAgICBy
ZXR1cm4gdmFsOwotICB9OwotCi0gIFVzYkVuZHBvaW50SW5mby5lbmNvZGUgPSBmdW5jdGlvbihl
bmNvZGVyLCB2YWwpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIo
VXNiRW5kcG9pbnRJbmZvLmVuY29kZWRTaXplKTsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKDAp
OwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNvZGVjLlVpbnQ4LCB2YWwuZW5kcG9pbnROdW1i
ZXIpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5j
b2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNvZGVjLkludDMyLCB2YWwu
ZGlyZWN0aW9uKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdChjb2RlYy5JbnQzMiwgdmFsLnR5
cGUpOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNvZGVjLlVpbnQzMiwgdmFsLnBhY2tldFNp
emUpOwotICB9OwotICBmdW5jdGlvbiBVc2JBbHRlcm5hdGVJbnRlcmZhY2VJbmZvKHZhbHVlcykg
ewotICAgIHRoaXMuaW5pdERlZmF1bHRzXygpOwotICAgIHRoaXMuaW5pdEZpZWxkc18odmFsdWVz
KTsKLSAgfQotCi0KLSAgVXNiQWx0ZXJuYXRlSW50ZXJmYWNlSW5mby5wcm90b3R5cGUuaW5pdERl
ZmF1bHRzXyA9IGZ1bmN0aW9uKCkgewotICAgIHRoaXMuYWx0ZXJuYXRlU2V0dGluZyA9IDA7Ci0g
ICAgdGhpcy5jbGFzc0NvZGUgPSAwOwotICAgIHRoaXMuc3ViY2xhc3NDb2RlID0gMDsKLSAgICB0
aGlzLnByb3RvY29sQ29kZSA9IDA7Ci0gICAgdGhpcy5pbnRlcmZhY2VOYW1lID0gbnVsbDsKLSAg
ICB0aGlzLmVuZHBvaW50cyA9IG51bGw7Ci0gIH07Ci0gIFVzYkFsdGVybmF0ZUludGVyZmFjZUlu
Zm8ucHJvdG90eXBlLmluaXRGaWVsZHNfID0gZnVuY3Rpb24oZmllbGRzKSB7Ci0gICAgZm9yKHZh
ciBmaWVsZCBpbiBmaWVsZHMpIHsKLSAgICAgICAgaWYgKHRoaXMuaGFzT3duUHJvcGVydHkoZmll
bGQpKQotICAgICAgICAgIHRoaXNbZmllbGRdID0gZmllbGRzW2ZpZWxkXTsKLSAgICB9Ci0gIH07
Ci0KLSAgVXNiQWx0ZXJuYXRlSW50ZXJmYWNlSW5mby52YWxpZGF0ZSA9IGZ1bmN0aW9uKG1lc3Nh
Z2VWYWxpZGF0b3IsIG9mZnNldCkgewotICAgIHZhciBlcnI7Ci0gICAgZXJyID0gbWVzc2FnZVZh
bGlkYXRvci52YWxpZGF0ZVN0cnVjdEhlYWRlcihvZmZzZXQsIGNvZGVjLmtTdHJ1Y3RIZWFkZXJT
aXplKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0g
ICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICB2YXIga1ZlcnNpb25TaXplcyA9IFsKLSAgICAgIHt2
ZXJzaW9uOiAwLCBudW1CeXRlczogMzJ9Ci0gICAgXTsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRh
dG9yLnZhbGlkYXRlU3RydWN0VmVyc2lvbihvZmZzZXQsIGtWZXJzaW9uU2l6ZXMpOwotICAgIGlm
IChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJu
IGVycjsKLQotCi0KLQotCi0KLSAgICAKLSAgICAvLyB2YWxpZGF0ZSBVc2JBbHRlcm5hdGVJbnRl
cmZhY2VJbmZvLmludGVyZmFjZU5hbWUKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlk
YXRlU3RydWN0UG9pbnRlcihvZmZzZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDgsIHN0
cmluZzE2JC5TdHJpbmcxNiwgdHJ1ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlk
YXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0KLSAgICAKLSAgICAvLyB2
YWxpZGF0ZSBVc2JBbHRlcm5hdGVJbnRlcmZhY2VJbmZvLmVuZHBvaW50cwotICAgIGVyciA9IG1l
c3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVBcnJheVBvaW50ZXIob2Zmc2V0ICsgY29kZWMua1N0cnVj
dEhlYWRlclNpemUgKyAxNiwgOCwgbmV3IGNvZGVjLlBvaW50ZXJUbyhVc2JFbmRwb2ludEluZm8p
LCBmYWxzZSwgWzBdLCAwKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVy
cm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICByZXR1cm4gdmFsaWRhdG9yLnZh
bGlkYXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIFVzYkFsdGVybmF0ZUludGVyZmFjZUluZm8u
ZW5jb2RlZFNpemUgPSBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDI0OwotCi0gIFVzYkFsdGVy
bmF0ZUludGVyZmFjZUluZm8uZGVjb2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHZhciBw
YWNrZWQ7Ci0gICAgdmFyIHZhbCA9IG5ldyBVc2JBbHRlcm5hdGVJbnRlcmZhY2VJbmZvKCk7Ci0g
ICAgdmFyIG51bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YXIgdmVy
c2lvbiA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhbC5hbHRlcm5hdGVTZXR0aW5nID0g
ZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoY29kZWMuVWludDgpOwotICAgIHZhbC5jbGFzc0NvZGUgPSBk
ZWNvZGVyLmRlY29kZVN0cnVjdChjb2RlYy5VaW50OCk7Ci0gICAgdmFsLnN1YmNsYXNzQ29kZSA9
IGRlY29kZXIuZGVjb2RlU3RydWN0KGNvZGVjLlVpbnQ4KTsKLSAgICB2YWwucHJvdG9jb2xDb2Rl
ID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoY29kZWMuVWludDgpOwotICAgIGRlY29kZXIuc2tpcCgx
KTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29k
ZXIuc2tpcCgxKTsKLSAgICB2YWwuaW50ZXJmYWNlTmFtZSA9IGRlY29kZXIuZGVjb2RlU3RydWN0
UG9pbnRlcihzdHJpbmcxNiQuU3RyaW5nMTYpOwotICAgIHZhbC5lbmRwb2ludHMgPSBkZWNvZGVy
LmRlY29kZUFycmF5UG9pbnRlcihuZXcgY29kZWMuUG9pbnRlclRvKFVzYkVuZHBvaW50SW5mbykp
OwotICAgIHJldHVybiB2YWw7Ci0gIH07Ci0KLSAgVXNiQWx0ZXJuYXRlSW50ZXJmYWNlSW5mby5l
bmNvZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2YWwpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIGVu
Y29kZXIud3JpdGVVaW50MzIoVXNiQWx0ZXJuYXRlSW50ZXJmYWNlSW5mby5lbmNvZGVkU2l6ZSk7
Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMigwKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdChj
b2RlYy5VaW50OCwgdmFsLmFsdGVybmF0ZVNldHRpbmcpOwotICAgIGVuY29kZXIuZW5jb2RlU3Ry
dWN0KGNvZGVjLlVpbnQ4LCB2YWwuY2xhc3NDb2RlKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVj
dChjb2RlYy5VaW50OCwgdmFsLnN1YmNsYXNzQ29kZSk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1
Y3QoY29kZWMuVWludDgsIHZhbC5wcm90b2NvbENvZGUpOwotICAgIGVuY29kZXIuc2tpcCgxKTsK
LSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIu
c2tpcCgxKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdFBvaW50ZXIoc3RyaW5nMTYkLlN0cmlu
ZzE2LCB2YWwuaW50ZXJmYWNlTmFtZSk7Ci0gICAgZW5jb2Rlci5lbmNvZGVBcnJheVBvaW50ZXIo
bmV3IGNvZGVjLlBvaW50ZXJUbyhVc2JFbmRwb2ludEluZm8pLCB2YWwuZW5kcG9pbnRzKTsKLSAg
fTsKLSAgZnVuY3Rpb24gVXNiSW50ZXJmYWNlSW5mbyh2YWx1ZXMpIHsKLSAgICB0aGlzLmluaXRE
ZWZhdWx0c18oKTsKLSAgICB0aGlzLmluaXRGaWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0gIFVz
YkludGVyZmFjZUluZm8ucHJvdG90eXBlLmluaXREZWZhdWx0c18gPSBmdW5jdGlvbigpIHsKLSAg
ICB0aGlzLmludGVyZmFjZU51bWJlciA9IDA7Ci0gICAgdGhpcy5hbHRlcm5hdGVzID0gbnVsbDsK
LSAgfTsKLSAgVXNiSW50ZXJmYWNlSW5mby5wcm90b3R5cGUuaW5pdEZpZWxkc18gPSBmdW5jdGlv
bihmaWVsZHMpIHsKLSAgICBmb3IodmFyIGZpZWxkIGluIGZpZWxkcykgewotICAgICAgICBpZiAo
dGhpcy5oYXNPd25Qcm9wZXJ0eShmaWVsZCkpCi0gICAgICAgICAgdGhpc1tmaWVsZF0gPSBmaWVs
ZHNbZmllbGRdOwotICAgIH0KLSAgfTsKLQotICBVc2JJbnRlcmZhY2VJbmZvLnZhbGlkYXRlID0g
ZnVuY3Rpb24obWVzc2FnZVZhbGlkYXRvciwgb2Zmc2V0KSB7Ci0gICAgdmFyIGVycjsKLSAgICBl
cnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0SGVhZGVyKG9mZnNldCwgY29kZWMu
a1N0cnVjdEhlYWRlclNpemUpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9u
RXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHZhciBrVmVyc2lvblNpemVz
ID0gWwotICAgICAge3ZlcnNpb246IDAsIG51bUJ5dGVzOiAyNH0KLSAgICBdOwotICAgIGVyciA9
IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RWZXJzaW9uKG9mZnNldCwga1ZlcnNpb25T
aXplcyk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQot
ICAgICAgICByZXR1cm4gZXJyOwotCi0KLQotICAgIAotICAgIC8vIHZhbGlkYXRlIFVzYkludGVy
ZmFjZUluZm8uYWx0ZXJuYXRlcwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVB
cnJheVBvaW50ZXIob2Zmc2V0ICsgY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyA4LCA4LCBuZXcg
Y29kZWMuUG9pbnRlclRvKFVzYkFsdGVybmF0ZUludGVyZmFjZUluZm8pLCBmYWxzZSwgWzBdLCAw
KTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAg
ICAgIHJldHVybiBlcnI7Ci0KLSAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5O
T05FOwotICB9OwotCi0gIFVzYkludGVyZmFjZUluZm8uZW5jb2RlZFNpemUgPSBjb2RlYy5rU3Ry
dWN0SGVhZGVyU2l6ZSArIDE2OwotCi0gIFVzYkludGVyZmFjZUluZm8uZGVjb2RlID0gZnVuY3Rp
b24oZGVjb2RlcikgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgdmFyIHZhbCA9IG5ldyBVc2JJbnRl
cmZhY2VJbmZvKCk7Ci0gICAgdmFyIG51bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50MzIo
KTsKLSAgICB2YXIgdmVyc2lvbiA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhbC5pbnRl
cmZhY2VOdW1iZXIgPSBkZWNvZGVyLmRlY29kZVN0cnVjdChjb2RlYy5VaW50OCk7Ci0gICAgZGVj
b2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7
Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVy
LnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIHZhbC5hbHRlcm5hdGVzID0gZGVj
b2Rlci5kZWNvZGVBcnJheVBvaW50ZXIobmV3IGNvZGVjLlBvaW50ZXJUbyhVc2JBbHRlcm5hdGVJ
bnRlcmZhY2VJbmZvKSk7Ci0gICAgcmV0dXJuIHZhbDsKLSAgfTsKLQotICBVc2JJbnRlcmZhY2VJ
bmZvLmVuY29kZSA9IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgIHZhciBwYWNrZWQ7Ci0g
ICAgZW5jb2Rlci53cml0ZVVpbnQzMihVc2JJbnRlcmZhY2VJbmZvLmVuY29kZWRTaXplKTsKLSAg
ICBlbmNvZGVyLndyaXRlVWludDMyKDApOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNvZGVj
LlVpbnQ4LCB2YWwuaW50ZXJmYWNlTnVtYmVyKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAg
ZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAo
MSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNv
ZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5lbmNvZGVBcnJheVBvaW50ZXIobmV3IGNvZGVjLlBv
aW50ZXJUbyhVc2JBbHRlcm5hdGVJbnRlcmZhY2VJbmZvKSwgdmFsLmFsdGVybmF0ZXMpOwotICB9
OwotICBmdW5jdGlvbiBVc2JDb25maWd1cmF0aW9uSW5mbyh2YWx1ZXMpIHsKLSAgICB0aGlzLmlu
aXREZWZhdWx0c18oKTsKLSAgICB0aGlzLmluaXRGaWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0g
IFVzYkNvbmZpZ3VyYXRpb25JbmZvLnByb3RvdHlwZS5pbml0RGVmYXVsdHNfID0gZnVuY3Rpb24o
KSB7Ci0gICAgdGhpcy5jb25maWd1cmF0aW9uVmFsdWUgPSAwOwotICAgIHRoaXMuY29uZmlndXJh
dGlvbk5hbWUgPSBudWxsOwotICAgIHRoaXMuaW50ZXJmYWNlcyA9IG51bGw7Ci0gIH07Ci0gIFVz
YkNvbmZpZ3VyYXRpb25JbmZvLnByb3RvdHlwZS5pbml0RmllbGRzXyA9IGZ1bmN0aW9uKGZpZWxk
cykgewotICAgIGZvcih2YXIgZmllbGQgaW4gZmllbGRzKSB7Ci0gICAgICAgIGlmICh0aGlzLmhh
c093blByb3BlcnR5KGZpZWxkKSkKLSAgICAgICAgICB0aGlzW2ZpZWxkXSA9IGZpZWxkc1tmaWVs
ZF07Ci0gICAgfQotICB9OwotCi0gIFVzYkNvbmZpZ3VyYXRpb25JbmZvLnZhbGlkYXRlID0gZnVu
Y3Rpb24obWVzc2FnZVZhbGlkYXRvciwgb2Zmc2V0KSB7Ci0gICAgdmFyIGVycjsKLSAgICBlcnIg
PSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0SGVhZGVyKG9mZnNldCwgY29kZWMua1N0
cnVjdEhlYWRlclNpemUpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJy
b3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHZhciBrVmVyc2lvblNpemVzID0g
WwotICAgICAge3ZlcnNpb246IDAsIG51bUJ5dGVzOiAzMn0KLSAgICBdOwotICAgIGVyciA9IG1l
c3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RWZXJzaW9uKG9mZnNldCwga1ZlcnNpb25TaXpl
cyk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAg
ICAgICByZXR1cm4gZXJyOwotCi0KLQotICAgIAotICAgIC8vIHZhbGlkYXRlIFVzYkNvbmZpZ3Vy
YXRpb25JbmZvLmNvbmZpZ3VyYXRpb25OYW1lCi0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52
YWxpZGF0ZVN0cnVjdFBvaW50ZXIob2Zmc2V0ICsgY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyA4
LCBzdHJpbmcxNiQuU3RyaW5nMTYsIHRydWUpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52
YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0gICAgCi0gICAg
Ly8gdmFsaWRhdGUgVXNiQ29uZmlndXJhdGlvbkluZm8uaW50ZXJmYWNlcwotICAgIGVyciA9IG1l
c3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVBcnJheVBvaW50ZXIob2Zmc2V0ICsgY29kZWMua1N0cnVj
dEhlYWRlclNpemUgKyAxNiwgOCwgbmV3IGNvZGVjLlBvaW50ZXJUbyhVc2JJbnRlcmZhY2VJbmZv
KSwgZmFsc2UsIFswXSwgMCk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25F
cnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgcmV0dXJuIHZhbGlkYXRvci52
YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQotICBVc2JDb25maWd1cmF0aW9uSW5mby5lbmNv
ZGVkU2l6ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgMjQ7Ci0KLSAgVXNiQ29uZmlndXJh
dGlvbkluZm8uZGVjb2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHZhciBwYWNrZWQ7Ci0g
ICAgdmFyIHZhbCA9IG5ldyBVc2JDb25maWd1cmF0aW9uSW5mbygpOwotICAgIHZhciBudW1iZXJP
ZkJ5dGVzID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFyIHZlcnNpb24gPSBkZWNvZGVy
LnJlYWRVaW50MzIoKTsKLSAgICB2YWwuY29uZmlndXJhdGlvblZhbHVlID0gZGVjb2Rlci5kZWNv
ZGVTdHJ1Y3QoY29kZWMuVWludDgpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVy
LnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAg
ICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tp
cCgxKTsKLSAgICB2YWwuY29uZmlndXJhdGlvbk5hbWUgPSBkZWNvZGVyLmRlY29kZVN0cnVjdFBv
aW50ZXIoc3RyaW5nMTYkLlN0cmluZzE2KTsKLSAgICB2YWwuaW50ZXJmYWNlcyA9IGRlY29kZXIu
ZGVjb2RlQXJyYXlQb2ludGVyKG5ldyBjb2RlYy5Qb2ludGVyVG8oVXNiSW50ZXJmYWNlSW5mbykp
OwotICAgIHJldHVybiB2YWw7Ci0gIH07Ci0KLSAgVXNiQ29uZmlndXJhdGlvbkluZm8uZW5jb2Rl
ID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICBlbmNvZGVy
LndyaXRlVWludDMyKFVzYkNvbmZpZ3VyYXRpb25JbmZvLmVuY29kZWRTaXplKTsKLSAgICBlbmNv
ZGVyLndyaXRlVWludDMyKDApOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNvZGVjLlVpbnQ4
LCB2YWwuY29uZmlndXJhdGlvblZhbHVlKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5j
b2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7
Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVy
LnNraXAoMSk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3RQb2ludGVyKHN0cmluZzE2JC5TdHJp
bmcxNiwgdmFsLmNvbmZpZ3VyYXRpb25OYW1lKTsKLSAgICBlbmNvZGVyLmVuY29kZUFycmF5UG9p
bnRlcihuZXcgY29kZWMuUG9pbnRlclRvKFVzYkludGVyZmFjZUluZm8pLCB2YWwuaW50ZXJmYWNl
cyk7Ci0gIH07Ci0gIGZ1bmN0aW9uIFVzYkRldmljZUluZm8odmFsdWVzKSB7Ci0gICAgdGhpcy5p
bml0RGVmYXVsdHNfKCk7Ci0gICAgdGhpcy5pbml0RmllbGRzXyh2YWx1ZXMpOwotICB9Ci0KLQot
ICBVc2JEZXZpY2VJbmZvLnByb3RvdHlwZS5pbml0RGVmYXVsdHNfID0gZnVuY3Rpb24oKSB7Ci0g
ICAgdGhpcy5ndWlkID0gbnVsbDsKLSAgICB0aGlzLnVzYlZlcnNpb25NYWpvciA9IDA7Ci0gICAg
dGhpcy51c2JWZXJzaW9uTWlub3IgPSAwOwotICAgIHRoaXMudXNiVmVyc2lvblN1Ym1pbm9yID0g
MDsKLSAgICB0aGlzLmNsYXNzQ29kZSA9IDA7Ci0gICAgdGhpcy5zdWJjbGFzc0NvZGUgPSAwOwot
ICAgIHRoaXMucHJvdG9jb2xDb2RlID0gMDsKLSAgICB0aGlzLnZlbmRvcklkID0gMDsKLSAgICB0
aGlzLnByb2R1Y3RJZCA9IDA7Ci0gICAgdGhpcy5kZXZpY2VWZXJzaW9uTWFqb3IgPSAwOwotICAg
IHRoaXMuZGV2aWNlVmVyc2lvbk1pbm9yID0gMDsKLSAgICB0aGlzLmRldmljZVZlcnNpb25TdWJt
aW5vciA9IDA7Ci0gICAgdGhpcy5hY3RpdmVDb25maWd1cmF0aW9uID0gMDsKLSAgICB0aGlzLm1h
bnVmYWN0dXJlck5hbWUgPSBudWxsOwotICAgIHRoaXMucHJvZHVjdE5hbWUgPSBudWxsOwotICAg
IHRoaXMuc2VyaWFsTnVtYmVyID0gbnVsbDsKLSAgICB0aGlzLmNvbmZpZ3VyYXRpb25zID0gbnVs
bDsKLSAgfTsKLSAgVXNiRGV2aWNlSW5mby5wcm90b3R5cGUuaW5pdEZpZWxkc18gPSBmdW5jdGlv
bihmaWVsZHMpIHsKLSAgICBmb3IodmFyIGZpZWxkIGluIGZpZWxkcykgewotICAgICAgICBpZiAo
dGhpcy5oYXNPd25Qcm9wZXJ0eShmaWVsZCkpCi0gICAgICAgICAgdGhpc1tmaWVsZF0gPSBmaWVs
ZHNbZmllbGRdOwotICAgIH0KLSAgfTsKLQotICBVc2JEZXZpY2VJbmZvLnZhbGlkYXRlID0gZnVu
Y3Rpb24obWVzc2FnZVZhbGlkYXRvciwgb2Zmc2V0KSB7Ci0gICAgdmFyIGVycjsKLSAgICBlcnIg
PSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0SGVhZGVyKG9mZnNldCwgY29kZWMua1N0
cnVjdEhlYWRlclNpemUpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJy
b3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHZhciBrVmVyc2lvblNpemVzID0g
WwotICAgICAge3ZlcnNpb246IDAsIG51bUJ5dGVzOiA2NH0KLSAgICBdOwotICAgIGVyciA9IG1l
c3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RWZXJzaW9uKG9mZnNldCwga1ZlcnNpb25TaXpl
cyk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAg
ICAgICByZXR1cm4gZXJyOwotCi0KLSAgICAKLSAgICAvLyB2YWxpZGF0ZSBVc2JEZXZpY2VJbmZv
Lmd1aWQKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RyaW5nUG9pbnRlcihv
ZmZzZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDAsIGZhbHNlKQotICAgIGlmIChlcnIg
IT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsK
LQotCi0KLQotCi0KLQotCi0KLQotCi0KLQotICAgIAotICAgIC8vIHZhbGlkYXRlIFVzYkRldmlj
ZUluZm8ubWFudWZhY3R1cmVyTmFtZQotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRh
dGVTdHJ1Y3RQb2ludGVyKG9mZnNldCArIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgMjQsIHN0
cmluZzE2JC5TdHJpbmcxNiwgdHJ1ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlk
YXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0KLSAgICAKLSAgICAvLyB2
YWxpZGF0ZSBVc2JEZXZpY2VJbmZvLnByb2R1Y3ROYW1lCi0gICAgZXJyID0gbWVzc2FnZVZhbGlk
YXRvci52YWxpZGF0ZVN0cnVjdFBvaW50ZXIob2Zmc2V0ICsgY29kZWMua1N0cnVjdEhlYWRlclNp
emUgKyAzMiwgc3RyaW5nMTYkLlN0cmluZzE2LCB0cnVlKTsKLSAgICBpZiAoZXJyICE9PSB2YWxp
ZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotICAg
IAotICAgIC8vIHZhbGlkYXRlIFVzYkRldmljZUluZm8uc2VyaWFsTnVtYmVyCi0gICAgZXJyID0g
bWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFBvaW50ZXIob2Zmc2V0ICsgY29kZWMua1N0
cnVjdEhlYWRlclNpemUgKyA0MCwgc3RyaW5nMTYkLlN0cmluZzE2LCB0cnVlKTsKLSAgICBpZiAo
ZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBl
cnI7Ci0KLQotCi0gICAgCi0gICAgLy8gdmFsaWRhdGUgVXNiRGV2aWNlSW5mby5jb25maWd1cmF0
aW9ucwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVBcnJheVBvaW50ZXIob2Zm
c2V0ICsgY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyA0OCwgOCwgbmV3IGNvZGVjLlBvaW50ZXJU
byhVc2JDb25maWd1cmF0aW9uSW5mbyksIGZhbHNlLCBbMF0sIDApOwotICAgIGlmIChlcnIgIT09
IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQot
ICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gIH07Ci0KLSAgVXNi
RGV2aWNlSW5mby5lbmNvZGVkU2l6ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgNTY7Ci0K
LSAgVXNiRGV2aWNlSW5mby5kZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgdmFyIHBh
Y2tlZDsKLSAgICB2YXIgdmFsID0gbmV3IFVzYkRldmljZUluZm8oKTsKLSAgICB2YXIgbnVtYmVy
T2ZCeXRlcyA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhciB2ZXJzaW9uID0gZGVjb2Rl
ci5yZWFkVWludDMyKCk7Ci0gICAgdmFsLmd1aWQgPSBkZWNvZGVyLmRlY29kZVN0cnVjdChjb2Rl
Yy5TdHJpbmcpOwotICAgIHZhbC51c2JWZXJzaW9uTWFqb3IgPSBkZWNvZGVyLmRlY29kZVN0cnVj
dChjb2RlYy5VaW50OCk7Ci0gICAgdmFsLnVzYlZlcnNpb25NaW5vciA9IGRlY29kZXIuZGVjb2Rl
U3RydWN0KGNvZGVjLlVpbnQ4KTsKLSAgICB2YWwudXNiVmVyc2lvblN1Ym1pbm9yID0gZGVjb2Rl
ci5kZWNvZGVTdHJ1Y3QoY29kZWMuVWludDgpOwotICAgIHZhbC5jbGFzc0NvZGUgPSBkZWNvZGVy
LmRlY29kZVN0cnVjdChjb2RlYy5VaW50OCk7Ci0gICAgdmFsLnN1YmNsYXNzQ29kZSA9IGRlY29k
ZXIuZGVjb2RlU3RydWN0KGNvZGVjLlVpbnQ4KTsKLSAgICB2YWwucHJvdG9jb2xDb2RlID0gZGVj
b2Rlci5kZWNvZGVTdHJ1Y3QoY29kZWMuVWludDgpOwotICAgIHZhbC52ZW5kb3JJZCA9IGRlY29k
ZXIuZGVjb2RlU3RydWN0KGNvZGVjLlVpbnQxNik7Ci0gICAgdmFsLnByb2R1Y3RJZCA9IGRlY29k
ZXIuZGVjb2RlU3RydWN0KGNvZGVjLlVpbnQxNik7Ci0gICAgdmFsLmRldmljZVZlcnNpb25NYWpv
ciA9IGRlY29kZXIuZGVjb2RlU3RydWN0KGNvZGVjLlVpbnQ4KTsKLSAgICB2YWwuZGV2aWNlVmVy
c2lvbk1pbm9yID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoY29kZWMuVWludDgpOwotICAgIHZhbC5k
ZXZpY2VWZXJzaW9uU3VibWlub3IgPSBkZWNvZGVyLmRlY29kZVN0cnVjdChjb2RlYy5VaW50OCk7
Ci0gICAgdmFsLmFjdGl2ZUNvbmZpZ3VyYXRpb24gPSBkZWNvZGVyLmRlY29kZVN0cnVjdChjb2Rl
Yy5VaW50OCk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAg
ICB2YWwubWFudWZhY3R1cmVyTmFtZSA9IGRlY29kZXIuZGVjb2RlU3RydWN0UG9pbnRlcihzdHJp
bmcxNiQuU3RyaW5nMTYpOwotICAgIHZhbC5wcm9kdWN0TmFtZSA9IGRlY29kZXIuZGVjb2RlU3Ry
dWN0UG9pbnRlcihzdHJpbmcxNiQuU3RyaW5nMTYpOwotICAgIHZhbC5zZXJpYWxOdW1iZXIgPSBk
ZWNvZGVyLmRlY29kZVN0cnVjdFBvaW50ZXIoc3RyaW5nMTYkLlN0cmluZzE2KTsKLSAgICB2YWwu
Y29uZmlndXJhdGlvbnMgPSBkZWNvZGVyLmRlY29kZUFycmF5UG9pbnRlcihuZXcgY29kZWMuUG9p
bnRlclRvKFVzYkNvbmZpZ3VyYXRpb25JbmZvKSk7Ci0gICAgcmV0dXJuIHZhbDsKLSAgfTsKLQot
ICBVc2JEZXZpY2VJbmZvLmVuY29kZSA9IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgIHZh
ciBwYWNrZWQ7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMihVc2JEZXZpY2VJbmZvLmVuY29kZWRT
aXplKTsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKDApOwotICAgIGVuY29kZXIuZW5jb2RlU3Ry
dWN0KGNvZGVjLlN0cmluZywgdmFsLmd1aWQpOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNv
ZGVjLlVpbnQ4LCB2YWwudXNiVmVyc2lvbk1ham9yKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVj
dChjb2RlYy5VaW50OCwgdmFsLnVzYlZlcnNpb25NaW5vcik7Ci0gICAgZW5jb2Rlci5lbmNvZGVT
dHJ1Y3QoY29kZWMuVWludDgsIHZhbC51c2JWZXJzaW9uU3VibWlub3IpOwotICAgIGVuY29kZXIu
ZW5jb2RlU3RydWN0KGNvZGVjLlVpbnQ4LCB2YWwuY2xhc3NDb2RlKTsKLSAgICBlbmNvZGVyLmVu
Y29kZVN0cnVjdChjb2RlYy5VaW50OCwgdmFsLnN1YmNsYXNzQ29kZSk7Ci0gICAgZW5jb2Rlci5l
bmNvZGVTdHJ1Y3QoY29kZWMuVWludDgsIHZhbC5wcm90b2NvbENvZGUpOwotICAgIGVuY29kZXIu
ZW5jb2RlU3RydWN0KGNvZGVjLlVpbnQxNiwgdmFsLnZlbmRvcklkKTsKLSAgICBlbmNvZGVyLmVu
Y29kZVN0cnVjdChjb2RlYy5VaW50MTYsIHZhbC5wcm9kdWN0SWQpOwotICAgIGVuY29kZXIuZW5j
b2RlU3RydWN0KGNvZGVjLlVpbnQ4LCB2YWwuZGV2aWNlVmVyc2lvbk1ham9yKTsKLSAgICBlbmNv
ZGVyLmVuY29kZVN0cnVjdChjb2RlYy5VaW50OCwgdmFsLmRldmljZVZlcnNpb25NaW5vcik7Ci0g
ICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3QoY29kZWMuVWludDgsIHZhbC5kZXZpY2VWZXJzaW9uU3Vi
bWlub3IpOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNvZGVjLlVpbnQ4LCB2YWwuYWN0aXZl
Q29uZmlndXJhdGlvbik7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgx
KTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdFBvaW50ZXIoc3RyaW5nMTYkLlN0cmluZzE2LCB2
YWwubWFudWZhY3R1cmVyTmFtZSk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3RQb2ludGVyKHN0
cmluZzE2JC5TdHJpbmcxNiwgdmFsLnByb2R1Y3ROYW1lKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0
cnVjdFBvaW50ZXIoc3RyaW5nMTYkLlN0cmluZzE2LCB2YWwuc2VyaWFsTnVtYmVyKTsKLSAgICBl
bmNvZGVyLmVuY29kZUFycmF5UG9pbnRlcihuZXcgY29kZWMuUG9pbnRlclRvKFVzYkNvbmZpZ3Vy
YXRpb25JbmZvKSwgdmFsLmNvbmZpZ3VyYXRpb25zKTsKLSAgfTsKLSAgZnVuY3Rpb24gVXNiQ29u
dHJvbFRyYW5zZmVyUGFyYW1zKHZhbHVlcykgewotICAgIHRoaXMuaW5pdERlZmF1bHRzXygpOwot
ICAgIHRoaXMuaW5pdEZpZWxkc18odmFsdWVzKTsKLSAgfQotCi0KLSAgVXNiQ29udHJvbFRyYW5z
ZmVyUGFyYW1zLnByb3RvdHlwZS5pbml0RGVmYXVsdHNfID0gZnVuY3Rpb24oKSB7Ci0gICAgdGhp
cy50eXBlID0gMDsKLSAgICB0aGlzLnJlY2lwaWVudCA9IDA7Ci0gICAgdGhpcy5yZXF1ZXN0ID0g
MDsKLSAgICB0aGlzLnZhbHVlID0gMDsKLSAgICB0aGlzLmluZGV4ID0gMDsKLSAgfTsKLSAgVXNi
Q29udHJvbFRyYW5zZmVyUGFyYW1zLnByb3RvdHlwZS5pbml0RmllbGRzXyA9IGZ1bmN0aW9uKGZp
ZWxkcykgewotICAgIGZvcih2YXIgZmllbGQgaW4gZmllbGRzKSB7Ci0gICAgICAgIGlmICh0aGlz
Lmhhc093blByb3BlcnR5KGZpZWxkKSkKLSAgICAgICAgICB0aGlzW2ZpZWxkXSA9IGZpZWxkc1tm
aWVsZF07Ci0gICAgfQotICB9OwotCi0gIFVzYkNvbnRyb2xUcmFuc2ZlclBhcmFtcy52YWxpZGF0
ZSA9IGZ1bmN0aW9uKG1lc3NhZ2VWYWxpZGF0b3IsIG9mZnNldCkgewotICAgIHZhciBlcnI7Ci0g
ICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdEhlYWRlcihvZmZzZXQsIGNv
ZGVjLmtTdHJ1Y3RIZWFkZXJTaXplKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRh
dGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICB2YXIga1ZlcnNpb25T
aXplcyA9IFsKLSAgICAgIHt2ZXJzaW9uOiAwLCBudW1CeXRlczogMjR9Ci0gICAgXTsKLSAgICBl
cnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0VmVyc2lvbihvZmZzZXQsIGtWZXJz
aW9uU2l6ZXMpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9O
RSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0gICAgCi0gICAgLy8gdmFsaWRhdGUgVXNiQ29u
dHJvbFRyYW5zZmVyUGFyYW1zLnR5cGUKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlk
YXRlRW51bShvZmZzZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDAsIFVzYkNvbnRyb2xU
cmFuc2ZlclR5cGUpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3Iu
Tk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0gICAgCi0gICAgLy8gdmFsaWRhdGUgVXNi
Q29udHJvbFRyYW5zZmVyUGFyYW1zLnJlY2lwaWVudAotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0
b3IudmFsaWRhdGVFbnVtKG9mZnNldCArIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgNCwgVXNi
Q29udHJvbFRyYW5zZmVyUmVjaXBpZW50KTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFs
aWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotCi0KLSAgICByZXR1
cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIFVzYkNvbnRyb2xU
cmFuc2ZlclBhcmFtcy5lbmNvZGVkU2l6ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgMTY7
Ci0KLSAgVXNiQ29udHJvbFRyYW5zZmVyUGFyYW1zLmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIp
IHsKLSAgICB2YXIgcGFja2VkOwotICAgIHZhciB2YWwgPSBuZXcgVXNiQ29udHJvbFRyYW5zZmVy
UGFyYW1zKCk7Ci0gICAgdmFyIG51bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsK
LSAgICB2YXIgdmVyc2lvbiA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhbC50eXBlID0g
ZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoY29kZWMuSW50MzIpOwotICAgIHZhbC5yZWNpcGllbnQgPSBk
ZWNvZGVyLmRlY29kZVN0cnVjdChjb2RlYy5JbnQzMik7Ci0gICAgdmFsLnJlcXVlc3QgPSBkZWNv
ZGVyLmRlY29kZVN0cnVjdChjb2RlYy5VaW50OCk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAg
IHZhbC52YWx1ZSA9IGRlY29kZXIuZGVjb2RlU3RydWN0KGNvZGVjLlVpbnQxNik7Ci0gICAgdmFs
LmluZGV4ID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoY29kZWMuVWludDE2KTsKLSAgICBkZWNvZGVy
LnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIHJldHVybiB2YWw7Ci0gIH07Ci0K
LSAgVXNiQ29udHJvbFRyYW5zZmVyUGFyYW1zLmVuY29kZSA9IGZ1bmN0aW9uKGVuY29kZXIsIHZh
bCkgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMihVc2JDb250cm9s
VHJhbnNmZXJQYXJhbXMuZW5jb2RlZFNpemUpOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoMCk7
Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3QoY29kZWMuSW50MzIsIHZhbC50eXBlKTsKLSAgICBl
bmNvZGVyLmVuY29kZVN0cnVjdChjb2RlYy5JbnQzMiwgdmFsLnJlY2lwaWVudCk7Ci0gICAgZW5j
b2Rlci5lbmNvZGVTdHJ1Y3QoY29kZWMuVWludDgsIHZhbC5yZXF1ZXN0KTsKLSAgICBlbmNvZGVy
LnNraXAoMSk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3QoY29kZWMuVWludDE2LCB2YWwudmFs
dWUpOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNvZGVjLlVpbnQxNiwgdmFsLmluZGV4KTsK
LSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICB9OwotICBmdW5j
dGlvbiBVc2JJc29jaHJvbm91c1BhY2tldCh2YWx1ZXMpIHsKLSAgICB0aGlzLmluaXREZWZhdWx0
c18oKTsKLSAgICB0aGlzLmluaXRGaWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0gIFVzYklzb2No
cm9ub3VzUGFja2V0LnByb3RvdHlwZS5pbml0RGVmYXVsdHNfID0gZnVuY3Rpb24oKSB7Ci0gICAg
dGhpcy5sZW5ndGggPSAwOwotICAgIHRoaXMudHJhbnNmZXJyZWRMZW5ndGggPSAwOwotICAgIHRo
aXMuc3RhdHVzID0gMDsKLSAgfTsKLSAgVXNiSXNvY2hyb25vdXNQYWNrZXQucHJvdG90eXBlLmlu
aXRGaWVsZHNfID0gZnVuY3Rpb24oZmllbGRzKSB7Ci0gICAgZm9yKHZhciBmaWVsZCBpbiBmaWVs
ZHMpIHsKLSAgICAgICAgaWYgKHRoaXMuaGFzT3duUHJvcGVydHkoZmllbGQpKQotICAgICAgICAg
IHRoaXNbZmllbGRdID0gZmllbGRzW2ZpZWxkXTsKLSAgICB9Ci0gIH07Ci0KLSAgVXNiSXNvY2hy
b25vdXNQYWNrZXQudmFsaWRhdGUgPSBmdW5jdGlvbihtZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQp
IHsKLSAgICB2YXIgZXJyOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1
Y3RIZWFkZXIob2Zmc2V0LCBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVyciAh
PT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwot
Ci0gICAgdmFyIGtWZXJzaW9uU2l6ZXMgPSBbCi0gICAgICB7dmVyc2lvbjogMCwgbnVtQnl0ZXM6
IDI0fQotICAgIF07Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFZl
cnNpb24ob2Zmc2V0LCBrVmVyc2lvblNpemVzKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3Iu
dmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotCi0KLSAgICAK
LSAgICAvLyB2YWxpZGF0ZSBVc2JJc29jaHJvbm91c1BhY2tldC5zdGF0dXMKLSAgICBlcnIgPSBt
ZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlRW51bShvZmZzZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVy
U2l6ZSArIDgsIFVzYlRyYW5zZmVyU3RhdHVzKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3Iu
dmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICByZXR1cm4g
dmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIFVzYklzb2Nocm9ub3Vz
UGFja2V0LmVuY29kZWRTaXplID0gY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyAxNjsKLQotICBV
c2JJc29jaHJvbm91c1BhY2tldC5kZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgdmFy
IHBhY2tlZDsKLSAgICB2YXIgdmFsID0gbmV3IFVzYklzb2Nocm9ub3VzUGFja2V0KCk7Ci0gICAg
dmFyIG51bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YXIgdmVyc2lv
biA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhbC5sZW5ndGggPSBkZWNvZGVyLmRlY29k
ZVN0cnVjdChjb2RlYy5VaW50MzIpOwotICAgIHZhbC50cmFuc2ZlcnJlZExlbmd0aCA9IGRlY29k
ZXIuZGVjb2RlU3RydWN0KGNvZGVjLlVpbnQzMik7Ci0gICAgdmFsLnN0YXR1cyA9IGRlY29kZXIu
ZGVjb2RlU3RydWN0KGNvZGVjLkludDMyKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVj
b2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7
Ci0gICAgcmV0dXJuIHZhbDsKLSAgfTsKLQotICBVc2JJc29jaHJvbm91c1BhY2tldC5lbmNvZGUg
PSBmdW5jdGlvbihlbmNvZGVyLCB2YWwpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIGVuY29kZXIu
d3JpdGVVaW50MzIoVXNiSXNvY2hyb25vdXNQYWNrZXQuZW5jb2RlZFNpemUpOwotICAgIGVuY29k
ZXIud3JpdGVVaW50MzIoMCk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3QoY29kZWMuVWludDMy
LCB2YWwubGVuZ3RoKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdChjb2RlYy5VaW50MzIsIHZh
bC50cmFuc2ZlcnJlZExlbmd0aCk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3QoY29kZWMuSW50
MzIsIHZhbC5zdGF0dXMpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAo
MSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgfTsKLSAg
ZnVuY3Rpb24gVXNiRGV2aWNlX09wZW5fUGFyYW1zKHZhbHVlcykgewotICAgIHRoaXMuaW5pdERl
ZmF1bHRzXygpOwotICAgIHRoaXMuaW5pdEZpZWxkc18odmFsdWVzKTsKLSAgfQotCi0KLSAgVXNi
RGV2aWNlX09wZW5fUGFyYW1zLnByb3RvdHlwZS5pbml0RGVmYXVsdHNfID0gZnVuY3Rpb24oKSB7
Ci0gIH07Ci0gIFVzYkRldmljZV9PcGVuX1BhcmFtcy5wcm90b3R5cGUuaW5pdEZpZWxkc18gPSBm
dW5jdGlvbihmaWVsZHMpIHsKLSAgICBmb3IodmFyIGZpZWxkIGluIGZpZWxkcykgewotICAgICAg
ICBpZiAodGhpcy5oYXNPd25Qcm9wZXJ0eShmaWVsZCkpCi0gICAgICAgICAgdGhpc1tmaWVsZF0g
PSBmaWVsZHNbZmllbGRdOwotICAgIH0KLSAgfTsKLQotICBVc2JEZXZpY2VfT3Blbl9QYXJhbXMu
dmFsaWRhdGUgPSBmdW5jdGlvbihtZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsKLSAgICB2YXIg
ZXJyOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RIZWFkZXIob2Zm
c2V0LCBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9y
LnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgdmFyIGtW
ZXJzaW9uU2l6ZXMgPSBbCi0gICAgICB7dmVyc2lvbjogMCwgbnVtQnl0ZXM6IDh9Ci0gICAgXTsK
LSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0VmVyc2lvbihvZmZzZXQs
IGtWZXJzaW9uU2l6ZXMpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJy
b3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHJldHVybiB2YWxpZGF0b3IudmFs
aWRhdGlvbkVycm9yLk5PTkU7Ci0gIH07Ci0KLSAgVXNiRGV2aWNlX09wZW5fUGFyYW1zLmVuY29k
ZWRTaXplID0gY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyAwOwotCi0gIFVzYkRldmljZV9PcGVu
X1BhcmFtcy5kZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAg
ICB2YXIgdmFsID0gbmV3IFVzYkRldmljZV9PcGVuX1BhcmFtcygpOwotICAgIHZhciBudW1iZXJP
ZkJ5dGVzID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFyIHZlcnNpb24gPSBkZWNvZGVy
LnJlYWRVaW50MzIoKTsKLSAgICByZXR1cm4gdmFsOwotICB9OwotCi0gIFVzYkRldmljZV9PcGVu
X1BhcmFtcy5lbmNvZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2YWwpIHsKLSAgICB2YXIgcGFja2Vk
OwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoVXNiRGV2aWNlX09wZW5fUGFyYW1zLmVuY29kZWRT
aXplKTsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKDApOwotICB9OwotICBmdW5jdGlvbiBVc2JE
ZXZpY2VfT3Blbl9SZXNwb25zZVBhcmFtcyh2YWx1ZXMpIHsKLSAgICB0aGlzLmluaXREZWZhdWx0
c18oKTsKLSAgICB0aGlzLmluaXRGaWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0gIFVzYkRldmlj
ZV9PcGVuX1Jlc3BvbnNlUGFyYW1zLnByb3RvdHlwZS5pbml0RGVmYXVsdHNfID0gZnVuY3Rpb24o
KSB7Ci0gICAgdGhpcy5lcnJvciA9IDA7Ci0gIH07Ci0gIFVzYkRldmljZV9PcGVuX1Jlc3BvbnNl
UGFyYW1zLnByb3RvdHlwZS5pbml0RmllbGRzXyA9IGZ1bmN0aW9uKGZpZWxkcykgewotICAgIGZv
cih2YXIgZmllbGQgaW4gZmllbGRzKSB7Ci0gICAgICAgIGlmICh0aGlzLmhhc093blByb3BlcnR5
KGZpZWxkKSkKLSAgICAgICAgICB0aGlzW2ZpZWxkXSA9IGZpZWxkc1tmaWVsZF07Ci0gICAgfQot
ICB9OwotCi0gIFVzYkRldmljZV9PcGVuX1Jlc3BvbnNlUGFyYW1zLnZhbGlkYXRlID0gZnVuY3Rp
b24obWVzc2FnZVZhbGlkYXRvciwgb2Zmc2V0KSB7Ci0gICAgdmFyIGVycjsKLSAgICBlcnIgPSBt
ZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0SGVhZGVyKG9mZnNldCwgY29kZWMua1N0cnVj
dEhlYWRlclNpemUpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3Iu
Tk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHZhciBrVmVyc2lvblNpemVzID0gWwot
ICAgICAge3ZlcnNpb246IDAsIG51bUJ5dGVzOiAxNn0KLSAgICBdOwotICAgIGVyciA9IG1lc3Nh
Z2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RWZXJzaW9uKG9mZnNldCwga1ZlcnNpb25TaXplcyk7
Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAg
ICByZXR1cm4gZXJyOwotCi0KLSAgICAKLSAgICAvLyB2YWxpZGF0ZSBVc2JEZXZpY2VfT3Blbl9S
ZXNwb25zZVBhcmFtcy5lcnJvcgotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVF
bnVtKG9mZnNldCArIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgMCwgVXNiT3BlbkRldmljZUVy
cm9yKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0g
ICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJv
ci5OT05FOwotICB9OwotCi0gIFVzYkRldmljZV9PcGVuX1Jlc3BvbnNlUGFyYW1zLmVuY29kZWRT
aXplID0gY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyA4OwotCi0gIFVzYkRldmljZV9PcGVuX1Jl
c3BvbnNlUGFyYW1zLmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICB2YXIgcGFja2Vk
OwotICAgIHZhciB2YWwgPSBuZXcgVXNiRGV2aWNlX09wZW5fUmVzcG9uc2VQYXJhbXMoKTsKLSAg
ICB2YXIgbnVtYmVyT2ZCeXRlcyA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhciB2ZXJz
aW9uID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFsLmVycm9yID0gZGVjb2Rlci5kZWNv
ZGVTdHJ1Y3QoY29kZWMuSW50MzIpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVy
LnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAg
ICByZXR1cm4gdmFsOwotICB9OwotCi0gIFVzYkRldmljZV9PcGVuX1Jlc3BvbnNlUGFyYW1zLmVu
Y29kZSA9IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgZW5j
b2Rlci53cml0ZVVpbnQzMihVc2JEZXZpY2VfT3Blbl9SZXNwb25zZVBhcmFtcy5lbmNvZGVkU2l6
ZSk7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMigwKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVj
dChjb2RlYy5JbnQzMiwgdmFsLmVycm9yKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5j
b2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7
Ci0gIH07Ci0gIGZ1bmN0aW9uIFVzYkRldmljZV9DbG9zZV9QYXJhbXModmFsdWVzKSB7Ci0gICAg
dGhpcy5pbml0RGVmYXVsdHNfKCk7Ci0gICAgdGhpcy5pbml0RmllbGRzXyh2YWx1ZXMpOwotICB9
Ci0KLQotICBVc2JEZXZpY2VfQ2xvc2VfUGFyYW1zLnByb3RvdHlwZS5pbml0RGVmYXVsdHNfID0g
ZnVuY3Rpb24oKSB7Ci0gIH07Ci0gIFVzYkRldmljZV9DbG9zZV9QYXJhbXMucHJvdG90eXBlLmlu
aXRGaWVsZHNfID0gZnVuY3Rpb24oZmllbGRzKSB7Ci0gICAgZm9yKHZhciBmaWVsZCBpbiBmaWVs
ZHMpIHsKLSAgICAgICAgaWYgKHRoaXMuaGFzT3duUHJvcGVydHkoZmllbGQpKQotICAgICAgICAg
IHRoaXNbZmllbGRdID0gZmllbGRzW2ZpZWxkXTsKLSAgICB9Ci0gIH07Ci0KLSAgVXNiRGV2aWNl
X0Nsb3NlX1BhcmFtcy52YWxpZGF0ZSA9IGZ1bmN0aW9uKG1lc3NhZ2VWYWxpZGF0b3IsIG9mZnNl
dCkgewotICAgIHZhciBlcnI7Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0
cnVjdEhlYWRlcihvZmZzZXQsIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplKTsKLSAgICBpZiAoZXJy
ICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7
Ci0KLSAgICB2YXIga1ZlcnNpb25TaXplcyA9IFsKLSAgICAgIHt2ZXJzaW9uOiAwLCBudW1CeXRl
czogOH0KLSAgICBdOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RW
ZXJzaW9uKG9mZnNldCwga1ZlcnNpb25TaXplcyk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9y
LnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgcmV0dXJu
IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQotICBVc2JEZXZpY2VfQ2xv
c2VfUGFyYW1zLmVuY29kZWRTaXplID0gY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyAwOwotCi0g
IFVzYkRldmljZV9DbG9zZV9QYXJhbXMuZGVjb2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAg
IHZhciBwYWNrZWQ7Ci0gICAgdmFyIHZhbCA9IG5ldyBVc2JEZXZpY2VfQ2xvc2VfUGFyYW1zKCk7
Ci0gICAgdmFyIG51bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YXIg
dmVyc2lvbiA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHJldHVybiB2YWw7Ci0gIH07Ci0K
LSAgVXNiRGV2aWNlX0Nsb3NlX1BhcmFtcy5lbmNvZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2YWwp
IHsKLSAgICB2YXIgcGFja2VkOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoVXNiRGV2aWNlX0Ns
b3NlX1BhcmFtcy5lbmNvZGVkU2l6ZSk7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMigwKTsKLSAg
fTsKLSAgZnVuY3Rpb24gVXNiRGV2aWNlX0Nsb3NlX1Jlc3BvbnNlUGFyYW1zKHZhbHVlcykgewot
ICAgIHRoaXMuaW5pdERlZmF1bHRzXygpOwotICAgIHRoaXMuaW5pdEZpZWxkc18odmFsdWVzKTsK
LSAgfQotCi0KLSAgVXNiRGV2aWNlX0Nsb3NlX1Jlc3BvbnNlUGFyYW1zLnByb3RvdHlwZS5pbml0
RGVmYXVsdHNfID0gZnVuY3Rpb24oKSB7Ci0gIH07Ci0gIFVzYkRldmljZV9DbG9zZV9SZXNwb25z
ZVBhcmFtcy5wcm90b3R5cGUuaW5pdEZpZWxkc18gPSBmdW5jdGlvbihmaWVsZHMpIHsKLSAgICBm
b3IodmFyIGZpZWxkIGluIGZpZWxkcykgewotICAgICAgICBpZiAodGhpcy5oYXNPd25Qcm9wZXJ0
eShmaWVsZCkpCi0gICAgICAgICAgdGhpc1tmaWVsZF0gPSBmaWVsZHNbZmllbGRdOwotICAgIH0K
LSAgfTsKLQotICBVc2JEZXZpY2VfQ2xvc2VfUmVzcG9uc2VQYXJhbXMudmFsaWRhdGUgPSBmdW5j
dGlvbihtZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsKLSAgICB2YXIgZXJyOwotICAgIGVyciA9
IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RIZWFkZXIob2Zmc2V0LCBjb2RlYy5rU3Ry
dWN0SGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJv
ci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgdmFyIGtWZXJzaW9uU2l6ZXMgPSBb
Ci0gICAgICB7dmVyc2lvbjogMCwgbnVtQnl0ZXM6IDh9Ci0gICAgXTsKLSAgICBlcnIgPSBtZXNz
YWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0VmVyc2lvbihvZmZzZXQsIGtWZXJzaW9uU2l6ZXMp
OwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAg
ICAgcmV0dXJuIGVycjsKLQotICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5P
TkU7Ci0gIH07Ci0KLSAgVXNiRGV2aWNlX0Nsb3NlX1Jlc3BvbnNlUGFyYW1zLmVuY29kZWRTaXpl
ID0gY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyAwOwotCi0gIFVzYkRldmljZV9DbG9zZV9SZXNw
b25zZVBhcmFtcy5kZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgdmFyIHBhY2tlZDsK
LSAgICB2YXIgdmFsID0gbmV3IFVzYkRldmljZV9DbG9zZV9SZXNwb25zZVBhcmFtcygpOwotICAg
IHZhciBudW1iZXJPZkJ5dGVzID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFyIHZlcnNp
b24gPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICByZXR1cm4gdmFsOwotICB9OwotCi0gIFVz
YkRldmljZV9DbG9zZV9SZXNwb25zZVBhcmFtcy5lbmNvZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2
YWwpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoVXNiRGV2aWNl
X0Nsb3NlX1Jlc3BvbnNlUGFyYW1zLmVuY29kZWRTaXplKTsKLSAgICBlbmNvZGVyLndyaXRlVWlu
dDMyKDApOwotICB9OwotICBmdW5jdGlvbiBVc2JEZXZpY2VfU2V0Q29uZmlndXJhdGlvbl9QYXJh
bXModmFsdWVzKSB7Ci0gICAgdGhpcy5pbml0RGVmYXVsdHNfKCk7Ci0gICAgdGhpcy5pbml0Rmll
bGRzXyh2YWx1ZXMpOwotICB9Ci0KLQotICBVc2JEZXZpY2VfU2V0Q29uZmlndXJhdGlvbl9QYXJh
bXMucHJvdG90eXBlLmluaXREZWZhdWx0c18gPSBmdW5jdGlvbigpIHsKLSAgICB0aGlzLnZhbHVl
ID0gMDsKLSAgfTsKLSAgVXNiRGV2aWNlX1NldENvbmZpZ3VyYXRpb25fUGFyYW1zLnByb3RvdHlw
ZS5pbml0RmllbGRzXyA9IGZ1bmN0aW9uKGZpZWxkcykgewotICAgIGZvcih2YXIgZmllbGQgaW4g
ZmllbGRzKSB7Ci0gICAgICAgIGlmICh0aGlzLmhhc093blByb3BlcnR5KGZpZWxkKSkKLSAgICAg
ICAgICB0aGlzW2ZpZWxkXSA9IGZpZWxkc1tmaWVsZF07Ci0gICAgfQotICB9OwotCi0gIFVzYkRl
dmljZV9TZXRDb25maWd1cmF0aW9uX1BhcmFtcy52YWxpZGF0ZSA9IGZ1bmN0aW9uKG1lc3NhZ2VW
YWxpZGF0b3IsIG9mZnNldCkgewotICAgIHZhciBlcnI7Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlk
YXRvci52YWxpZGF0ZVN0cnVjdEhlYWRlcihvZmZzZXQsIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXpl
KTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAg
ICAgIHJldHVybiBlcnI7Ci0KLSAgICB2YXIga1ZlcnNpb25TaXplcyA9IFsKLSAgICAgIHt2ZXJz
aW9uOiAwLCBudW1CeXRlczogMTZ9Ci0gICAgXTsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9y
LnZhbGlkYXRlU3RydWN0VmVyc2lvbihvZmZzZXQsIGtWZXJzaW9uU2l6ZXMpOwotICAgIGlmIChl
cnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVy
cjsKLQotCi0gICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAgfTsK
LQotICBVc2JEZXZpY2VfU2V0Q29uZmlndXJhdGlvbl9QYXJhbXMuZW5jb2RlZFNpemUgPSBjb2Rl
Yy5rU3RydWN0SGVhZGVyU2l6ZSArIDg7Ci0KLSAgVXNiRGV2aWNlX1NldENvbmZpZ3VyYXRpb25f
UGFyYW1zLmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICB2YXIgcGFja2VkOwotICAg
IHZhciB2YWwgPSBuZXcgVXNiRGV2aWNlX1NldENvbmZpZ3VyYXRpb25fUGFyYW1zKCk7Ci0gICAg
dmFyIG51bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YXIgdmVyc2lv
biA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhbC52YWx1ZSA9IGRlY29kZXIuZGVjb2Rl
U3RydWN0KGNvZGVjLlVpbnQ4KTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5z
a2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAg
ZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAo
MSk7Ci0gICAgcmV0dXJuIHZhbDsKLSAgfTsKLQotICBVc2JEZXZpY2VfU2V0Q29uZmlndXJhdGlv
bl9QYXJhbXMuZW5jb2RlID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAgdmFyIHBhY2tl
ZDsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKFVzYkRldmljZV9TZXRDb25maWd1cmF0aW9uX1Bh
cmFtcy5lbmNvZGVkU2l6ZSk7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMigwKTsKLSAgICBlbmNv
ZGVyLmVuY29kZVN0cnVjdChjb2RlYy5VaW50OCwgdmFsLnZhbHVlKTsKLSAgICBlbmNvZGVyLnNr
aXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBl
bmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgx
KTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gIH07Ci0gIGZ1bmN0aW9uIFVzYkRldmljZV9TZXRD
b25maWd1cmF0aW9uX1Jlc3BvbnNlUGFyYW1zKHZhbHVlcykgewotICAgIHRoaXMuaW5pdERlZmF1
bHRzXygpOwotICAgIHRoaXMuaW5pdEZpZWxkc18odmFsdWVzKTsKLSAgfQotCi0KLSAgVXNiRGV2
aWNlX1NldENvbmZpZ3VyYXRpb25fUmVzcG9uc2VQYXJhbXMucHJvdG90eXBlLmluaXREZWZhdWx0
c18gPSBmdW5jdGlvbigpIHsKLSAgICB0aGlzLnN1Y2Nlc3MgPSBmYWxzZTsKLSAgfTsKLSAgVXNi
RGV2aWNlX1NldENvbmZpZ3VyYXRpb25fUmVzcG9uc2VQYXJhbXMucHJvdG90eXBlLmluaXRGaWVs
ZHNfID0gZnVuY3Rpb24oZmllbGRzKSB7Ci0gICAgZm9yKHZhciBmaWVsZCBpbiBmaWVsZHMpIHsK
LSAgICAgICAgaWYgKHRoaXMuaGFzT3duUHJvcGVydHkoZmllbGQpKQotICAgICAgICAgIHRoaXNb
ZmllbGRdID0gZmllbGRzW2ZpZWxkXTsKLSAgICB9Ci0gIH07Ci0KLSAgVXNiRGV2aWNlX1NldENv
bmZpZ3VyYXRpb25fUmVzcG9uc2VQYXJhbXMudmFsaWRhdGUgPSBmdW5jdGlvbihtZXNzYWdlVmFs
aWRhdG9yLCBvZmZzZXQpIHsKLSAgICB2YXIgZXJyOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0
b3IudmFsaWRhdGVTdHJ1Y3RIZWFkZXIob2Zmc2V0LCBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSk7
Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAg
ICByZXR1cm4gZXJyOwotCi0gICAgdmFyIGtWZXJzaW9uU2l6ZXMgPSBbCi0gICAgICB7dmVyc2lv
bjogMCwgbnVtQnl0ZXM6IDE2fQotICAgIF07Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52
YWxpZGF0ZVN0cnVjdFZlcnNpb24ob2Zmc2V0LCBrVmVyc2lvblNpemVzKTsKLSAgICBpZiAoZXJy
ICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7
Ci0KLQotICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gIH07Ci0K
LSAgVXNiRGV2aWNlX1NldENvbmZpZ3VyYXRpb25fUmVzcG9uc2VQYXJhbXMuZW5jb2RlZFNpemUg
PSBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDg7Ci0KLSAgVXNiRGV2aWNlX1NldENvbmZpZ3Vy
YXRpb25fUmVzcG9uc2VQYXJhbXMuZGVjb2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHZh
ciBwYWNrZWQ7Ci0gICAgdmFyIHZhbCA9IG5ldyBVc2JEZXZpY2VfU2V0Q29uZmlndXJhdGlvbl9S
ZXNwb25zZVBhcmFtcygpOwotICAgIHZhciBudW1iZXJPZkJ5dGVzID0gZGVjb2Rlci5yZWFkVWlu
dDMyKCk7Ci0gICAgdmFyIHZlcnNpb24gPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICBwYWNr
ZWQgPSBkZWNvZGVyLnJlYWRVaW50OCgpOwotICAgIHZhbC5zdWNjZXNzID0gKHBhY2tlZCA+PiAw
KSAmIDEgPyB0cnVlIDogZmFsc2U7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIu
c2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAg
IGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lw
KDEpOwotICAgIHJldHVybiB2YWw7Ci0gIH07Ci0KLSAgVXNiRGV2aWNlX1NldENvbmZpZ3VyYXRp
b25fUmVzcG9uc2VQYXJhbXMuZW5jb2RlID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAg
dmFyIHBhY2tlZDsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKFVzYkRldmljZV9TZXRDb25maWd1
cmF0aW9uX1Jlc3BvbnNlUGFyYW1zLmVuY29kZWRTaXplKTsKLSAgICBlbmNvZGVyLndyaXRlVWlu
dDMyKDApOwotICAgIHBhY2tlZCA9IDA7Ci0gICAgcGFja2VkIHw9ICh2YWwuc3VjY2VzcyAmIDEp
IDw8IDAKLSAgICBlbmNvZGVyLndyaXRlVWludDgocGFja2VkKTsKLSAgICBlbmNvZGVyLnNraXAo
MSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNv
ZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsK
LSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gIH07Ci0gIGZ1bmN0aW9uIFVzYkRldmljZV9DbGFpbUlu
dGVyZmFjZV9QYXJhbXModmFsdWVzKSB7Ci0gICAgdGhpcy5pbml0RGVmYXVsdHNfKCk7Ci0gICAg
dGhpcy5pbml0RmllbGRzXyh2YWx1ZXMpOwotICB9Ci0KLQotICBVc2JEZXZpY2VfQ2xhaW1JbnRl
cmZhY2VfUGFyYW1zLnByb3RvdHlwZS5pbml0RGVmYXVsdHNfID0gZnVuY3Rpb24oKSB7Ci0gICAg
dGhpcy5pbnRlcmZhY2VOdW1iZXIgPSAwOwotICB9OwotICBVc2JEZXZpY2VfQ2xhaW1JbnRlcmZh
Y2VfUGFyYW1zLnByb3RvdHlwZS5pbml0RmllbGRzXyA9IGZ1bmN0aW9uKGZpZWxkcykgewotICAg
IGZvcih2YXIgZmllbGQgaW4gZmllbGRzKSB7Ci0gICAgICAgIGlmICh0aGlzLmhhc093blByb3Bl
cnR5KGZpZWxkKSkKLSAgICAgICAgICB0aGlzW2ZpZWxkXSA9IGZpZWxkc1tmaWVsZF07Ci0gICAg
fQotICB9OwotCi0gIFVzYkRldmljZV9DbGFpbUludGVyZmFjZV9QYXJhbXMudmFsaWRhdGUgPSBm
dW5jdGlvbihtZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsKLSAgICB2YXIgZXJyOwotICAgIGVy
ciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RIZWFkZXIob2Zmc2V0LCBjb2RlYy5r
U3RydWN0SGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25F
cnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgdmFyIGtWZXJzaW9uU2l6ZXMg
PSBbCi0gICAgICB7dmVyc2lvbjogMCwgbnVtQnl0ZXM6IDE2fQotICAgIF07Ci0gICAgZXJyID0g
bWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFZlcnNpb24ob2Zmc2V0LCBrVmVyc2lvblNp
emVzKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0g
ICAgICAgIHJldHVybiBlcnI7Ci0KLQotICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVy
cm9yLk5PTkU7Ci0gIH07Ci0KLSAgVXNiRGV2aWNlX0NsYWltSW50ZXJmYWNlX1BhcmFtcy5lbmNv
ZGVkU2l6ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgODsKLQotICBVc2JEZXZpY2VfQ2xh
aW1JbnRlcmZhY2VfUGFyYW1zLmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICB2YXIg
cGFja2VkOwotICAgIHZhciB2YWwgPSBuZXcgVXNiRGV2aWNlX0NsYWltSW50ZXJmYWNlX1BhcmFt
cygpOwotICAgIHZhciBudW1iZXJPZkJ5dGVzID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAg
dmFyIHZlcnNpb24gPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YWwuaW50ZXJmYWNlTnVt
YmVyID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoY29kZWMuVWludDgpOwotICAgIGRlY29kZXIuc2tp
cCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRl
Y29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEp
OwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICByZXR1cm4gdmFsOwotICB9OwotCi0gIFVzYkRl
dmljZV9DbGFpbUludGVyZmFjZV9QYXJhbXMuZW5jb2RlID0gZnVuY3Rpb24oZW5jb2RlciwgdmFs
KSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKFVzYkRldmljZV9D
bGFpbUludGVyZmFjZV9QYXJhbXMuZW5jb2RlZFNpemUpOwotICAgIGVuY29kZXIud3JpdGVVaW50
MzIoMCk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3QoY29kZWMuVWludDgsIHZhbC5pbnRlcmZh
Y2VOdW1iZXIpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0g
ICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNr
aXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgfTsK
LSAgZnVuY3Rpb24gVXNiRGV2aWNlX0NsYWltSW50ZXJmYWNlX1Jlc3BvbnNlUGFyYW1zKHZhbHVl
cykgewotICAgIHRoaXMuaW5pdERlZmF1bHRzXygpOwotICAgIHRoaXMuaW5pdEZpZWxkc18odmFs
dWVzKTsKLSAgfQotCi0KLSAgVXNiRGV2aWNlX0NsYWltSW50ZXJmYWNlX1Jlc3BvbnNlUGFyYW1z
LnByb3RvdHlwZS5pbml0RGVmYXVsdHNfID0gZnVuY3Rpb24oKSB7Ci0gICAgdGhpcy5zdWNjZXNz
ID0gZmFsc2U7Ci0gIH07Ci0gIFVzYkRldmljZV9DbGFpbUludGVyZmFjZV9SZXNwb25zZVBhcmFt
cy5wcm90b3R5cGUuaW5pdEZpZWxkc18gPSBmdW5jdGlvbihmaWVsZHMpIHsKLSAgICBmb3IodmFy
IGZpZWxkIGluIGZpZWxkcykgewotICAgICAgICBpZiAodGhpcy5oYXNPd25Qcm9wZXJ0eShmaWVs
ZCkpCi0gICAgICAgICAgdGhpc1tmaWVsZF0gPSBmaWVsZHNbZmllbGRdOwotICAgIH0KLSAgfTsK
LQotICBVc2JEZXZpY2VfQ2xhaW1JbnRlcmZhY2VfUmVzcG9uc2VQYXJhbXMudmFsaWRhdGUgPSBm
dW5jdGlvbihtZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsKLSAgICB2YXIgZXJyOwotICAgIGVy
ciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RIZWFkZXIob2Zmc2V0LCBjb2RlYy5r
U3RydWN0SGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25F
cnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgdmFyIGtWZXJzaW9uU2l6ZXMg
PSBbCi0gICAgICB7dmVyc2lvbjogMCwgbnVtQnl0ZXM6IDE2fQotICAgIF07Ci0gICAgZXJyID0g
bWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFZlcnNpb24ob2Zmc2V0LCBrVmVyc2lvblNp
emVzKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0g
ICAgICAgIHJldHVybiBlcnI7Ci0KLQotICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVy
cm9yLk5PTkU7Ci0gIH07Ci0KLSAgVXNiRGV2aWNlX0NsYWltSW50ZXJmYWNlX1Jlc3BvbnNlUGFy
YW1zLmVuY29kZWRTaXplID0gY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyA4OwotCi0gIFVzYkRl
dmljZV9DbGFpbUludGVyZmFjZV9SZXNwb25zZVBhcmFtcy5kZWNvZGUgPSBmdW5jdGlvbihkZWNv
ZGVyKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICB2YXIgdmFsID0gbmV3IFVzYkRldmljZV9DbGFp
bUludGVyZmFjZV9SZXNwb25zZVBhcmFtcygpOwotICAgIHZhciBudW1iZXJPZkJ5dGVzID0gZGVj
b2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFyIHZlcnNpb24gPSBkZWNvZGVyLnJlYWRVaW50MzIo
KTsKLSAgICBwYWNrZWQgPSBkZWNvZGVyLnJlYWRVaW50OCgpOwotICAgIHZhbC5zdWNjZXNzID0g
KHBhY2tlZCA+PiAwKSAmIDEgPyB0cnVlIDogZmFsc2U7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwot
ICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5z
a2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAg
ZGVjb2Rlci5za2lwKDEpOwotICAgIHJldHVybiB2YWw7Ci0gIH07Ci0KLSAgVXNiRGV2aWNlX0Ns
YWltSW50ZXJmYWNlX1Jlc3BvbnNlUGFyYW1zLmVuY29kZSA9IGZ1bmN0aW9uKGVuY29kZXIsIHZh
bCkgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMihVc2JEZXZpY2Vf
Q2xhaW1JbnRlcmZhY2VfUmVzcG9uc2VQYXJhbXMuZW5jb2RlZFNpemUpOwotICAgIGVuY29kZXIu
d3JpdGVVaW50MzIoMCk7Ci0gICAgcGFja2VkID0gMDsKLSAgICBwYWNrZWQgfD0gKHZhbC5zdWNj
ZXNzICYgMSkgPDwgMAotICAgIGVuY29kZXIud3JpdGVVaW50OChwYWNrZWQpOwotICAgIGVuY29k
ZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwot
ICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5z
a2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgfTsKLSAgZnVuY3Rpb24gVXNiRGV2aWNl
X1JlbGVhc2VJbnRlcmZhY2VfUGFyYW1zKHZhbHVlcykgewotICAgIHRoaXMuaW5pdERlZmF1bHRz
XygpOwotICAgIHRoaXMuaW5pdEZpZWxkc18odmFsdWVzKTsKLSAgfQotCi0KLSAgVXNiRGV2aWNl
X1JlbGVhc2VJbnRlcmZhY2VfUGFyYW1zLnByb3RvdHlwZS5pbml0RGVmYXVsdHNfID0gZnVuY3Rp
b24oKSB7Ci0gICAgdGhpcy5pbnRlcmZhY2VOdW1iZXIgPSAwOwotICB9OwotICBVc2JEZXZpY2Vf
UmVsZWFzZUludGVyZmFjZV9QYXJhbXMucHJvdG90eXBlLmluaXRGaWVsZHNfID0gZnVuY3Rpb24o
ZmllbGRzKSB7Ci0gICAgZm9yKHZhciBmaWVsZCBpbiBmaWVsZHMpIHsKLSAgICAgICAgaWYgKHRo
aXMuaGFzT3duUHJvcGVydHkoZmllbGQpKQotICAgICAgICAgIHRoaXNbZmllbGRdID0gZmllbGRz
W2ZpZWxkXTsKLSAgICB9Ci0gIH07Ci0KLSAgVXNiRGV2aWNlX1JlbGVhc2VJbnRlcmZhY2VfUGFy
YW1zLnZhbGlkYXRlID0gZnVuY3Rpb24obWVzc2FnZVZhbGlkYXRvciwgb2Zmc2V0KSB7Ci0gICAg
dmFyIGVycjsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0SGVhZGVy
KG9mZnNldCwgY29kZWMua1N0cnVjdEhlYWRlclNpemUpOwotICAgIGlmIChlcnIgIT09IHZhbGlk
YXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHZh
ciBrVmVyc2lvblNpemVzID0gWwotICAgICAge3ZlcnNpb246IDAsIG51bUJ5dGVzOiAxNn0KLSAg
ICBdOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RWZXJzaW9uKG9m
ZnNldCwga1ZlcnNpb25TaXplcyk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRp
b25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0KLSAgICByZXR1cm4gdmFsaWRh
dG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIFVzYkRldmljZV9SZWxlYXNlSW50
ZXJmYWNlX1BhcmFtcy5lbmNvZGVkU2l6ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgODsK
LQotICBVc2JEZXZpY2VfUmVsZWFzZUludGVyZmFjZV9QYXJhbXMuZGVjb2RlID0gZnVuY3Rpb24o
ZGVjb2RlcikgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgdmFyIHZhbCA9IG5ldyBVc2JEZXZpY2Vf
UmVsZWFzZUludGVyZmFjZV9QYXJhbXMoKTsKLSAgICB2YXIgbnVtYmVyT2ZCeXRlcyA9IGRlY29k
ZXIucmVhZFVpbnQzMigpOwotICAgIHZhciB2ZXJzaW9uID0gZGVjb2Rlci5yZWFkVWludDMyKCk7
Ci0gICAgdmFsLmludGVyZmFjZU51bWJlciA9IGRlY29kZXIuZGVjb2RlU3RydWN0KGNvZGVjLlVp
bnQ4KTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRl
Y29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEp
OwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgcmV0dXJu
IHZhbDsKLSAgfTsKLQotICBVc2JEZXZpY2VfUmVsZWFzZUludGVyZmFjZV9QYXJhbXMuZW5jb2Rl
ID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICBlbmNvZGVy
LndyaXRlVWludDMyKFVzYkRldmljZV9SZWxlYXNlSW50ZXJmYWNlX1BhcmFtcy5lbmNvZGVkU2l6
ZSk7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMigwKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVj
dChjb2RlYy5VaW50OCwgdmFsLmludGVyZmFjZU51bWJlcik7Ci0gICAgZW5jb2Rlci5za2lwKDEp
OwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rl
ci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0g
ICAgZW5jb2Rlci5za2lwKDEpOwotICB9OwotICBmdW5jdGlvbiBVc2JEZXZpY2VfUmVsZWFzZUlu
dGVyZmFjZV9SZXNwb25zZVBhcmFtcyh2YWx1ZXMpIHsKLSAgICB0aGlzLmluaXREZWZhdWx0c18o
KTsKLSAgICB0aGlzLmluaXRGaWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0gIFVzYkRldmljZV9S
ZWxlYXNlSW50ZXJmYWNlX1Jlc3BvbnNlUGFyYW1zLnByb3RvdHlwZS5pbml0RGVmYXVsdHNfID0g
ZnVuY3Rpb24oKSB7Ci0gICAgdGhpcy5zdWNjZXNzID0gZmFsc2U7Ci0gIH07Ci0gIFVzYkRldmlj
ZV9SZWxlYXNlSW50ZXJmYWNlX1Jlc3BvbnNlUGFyYW1zLnByb3RvdHlwZS5pbml0RmllbGRzXyA9
IGZ1bmN0aW9uKGZpZWxkcykgewotICAgIGZvcih2YXIgZmllbGQgaW4gZmllbGRzKSB7Ci0gICAg
ICAgIGlmICh0aGlzLmhhc093blByb3BlcnR5KGZpZWxkKSkKLSAgICAgICAgICB0aGlzW2ZpZWxk
XSA9IGZpZWxkc1tmaWVsZF07Ci0gICAgfQotICB9OwotCi0gIFVzYkRldmljZV9SZWxlYXNlSW50
ZXJmYWNlX1Jlc3BvbnNlUGFyYW1zLnZhbGlkYXRlID0gZnVuY3Rpb24obWVzc2FnZVZhbGlkYXRv
ciwgb2Zmc2V0KSB7Ci0gICAgdmFyIGVycjsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZh
bGlkYXRlU3RydWN0SGVhZGVyKG9mZnNldCwgY29kZWMua1N0cnVjdEhlYWRlclNpemUpOwotICAg
IGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0
dXJuIGVycjsKLQotICAgIHZhciBrVmVyc2lvblNpemVzID0gWwotICAgICAge3ZlcnNpb246IDAs
IG51bUJ5dGVzOiAxNn0KLSAgICBdOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRh
dGVTdHJ1Y3RWZXJzaW9uKG9mZnNldCwga1ZlcnNpb25TaXplcyk7Ci0gICAgaWYgKGVyciAhPT0g
dmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0K
LSAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIFVz
YkRldmljZV9SZWxlYXNlSW50ZXJmYWNlX1Jlc3BvbnNlUGFyYW1zLmVuY29kZWRTaXplID0gY29k
ZWMua1N0cnVjdEhlYWRlclNpemUgKyA4OwotCi0gIFVzYkRldmljZV9SZWxlYXNlSW50ZXJmYWNl
X1Jlc3BvbnNlUGFyYW1zLmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICB2YXIgcGFj
a2VkOwotICAgIHZhciB2YWwgPSBuZXcgVXNiRGV2aWNlX1JlbGVhc2VJbnRlcmZhY2VfUmVzcG9u
c2VQYXJhbXMoKTsKLSAgICB2YXIgbnVtYmVyT2ZCeXRlcyA9IGRlY29kZXIucmVhZFVpbnQzMigp
OwotICAgIHZhciB2ZXJzaW9uID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgcGFja2VkID0g
ZGVjb2Rlci5yZWFkVWludDgoKTsKLSAgICB2YWwuc3VjY2VzcyA9IChwYWNrZWQgPj4gMCkgJiAx
ID8gdHJ1ZSA6IGZhbHNlOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAo
MSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNv
ZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsK
LSAgICByZXR1cm4gdmFsOwotICB9OwotCi0gIFVzYkRldmljZV9SZWxlYXNlSW50ZXJmYWNlX1Jl
c3BvbnNlUGFyYW1zLmVuY29kZSA9IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgIHZhciBw
YWNrZWQ7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMihVc2JEZXZpY2VfUmVsZWFzZUludGVyZmFj
ZV9SZXNwb25zZVBhcmFtcy5lbmNvZGVkU2l6ZSk7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMigw
KTsKLSAgICBwYWNrZWQgPSAwOwotICAgIHBhY2tlZCB8PSAodmFsLnN1Y2Nlc3MgJiAxKSA8PCAw
Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQ4KHBhY2tlZCk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwot
ICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5z
a2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAg
ZW5jb2Rlci5za2lwKDEpOwotICB9OwotICBmdW5jdGlvbiBVc2JEZXZpY2VfU2V0SW50ZXJmYWNl
QWx0ZXJuYXRlU2V0dGluZ19QYXJhbXModmFsdWVzKSB7Ci0gICAgdGhpcy5pbml0RGVmYXVsdHNf
KCk7Ci0gICAgdGhpcy5pbml0RmllbGRzXyh2YWx1ZXMpOwotICB9Ci0KLQotICBVc2JEZXZpY2Vf
U2V0SW50ZXJmYWNlQWx0ZXJuYXRlU2V0dGluZ19QYXJhbXMucHJvdG90eXBlLmluaXREZWZhdWx0
c18gPSBmdW5jdGlvbigpIHsKLSAgICB0aGlzLmludGVyZmFjZU51bWJlciA9IDA7Ci0gICAgdGhp
cy5hbHRlcm5hdGVTZXR0aW5nID0gMDsKLSAgfTsKLSAgVXNiRGV2aWNlX1NldEludGVyZmFjZUFs
dGVybmF0ZVNldHRpbmdfUGFyYW1zLnByb3RvdHlwZS5pbml0RmllbGRzXyA9IGZ1bmN0aW9uKGZp
ZWxkcykgewotICAgIGZvcih2YXIgZmllbGQgaW4gZmllbGRzKSB7Ci0gICAgICAgIGlmICh0aGlz
Lmhhc093blByb3BlcnR5KGZpZWxkKSkKLSAgICAgICAgICB0aGlzW2ZpZWxkXSA9IGZpZWxkc1tm
aWVsZF07Ci0gICAgfQotICB9OwotCi0gIFVzYkRldmljZV9TZXRJbnRlcmZhY2VBbHRlcm5hdGVT
ZXR0aW5nX1BhcmFtcy52YWxpZGF0ZSA9IGZ1bmN0aW9uKG1lc3NhZ2VWYWxpZGF0b3IsIG9mZnNl
dCkgewotICAgIHZhciBlcnI7Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0
cnVjdEhlYWRlcihvZmZzZXQsIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplKTsKLSAgICBpZiAoZXJy
ICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7
Ci0KLSAgICB2YXIga1ZlcnNpb25TaXplcyA9IFsKLSAgICAgIHt2ZXJzaW9uOiAwLCBudW1CeXRl
czogMTZ9Ci0gICAgXTsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0
VmVyc2lvbihvZmZzZXQsIGtWZXJzaW9uU2l6ZXMpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRv
ci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0KLSAgICBy
ZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIFVzYkRldmlj
ZV9TZXRJbnRlcmZhY2VBbHRlcm5hdGVTZXR0aW5nX1BhcmFtcy5lbmNvZGVkU2l6ZSA9IGNvZGVj
LmtTdHJ1Y3RIZWFkZXJTaXplICsgODsKLQotICBVc2JEZXZpY2VfU2V0SW50ZXJmYWNlQWx0ZXJu
YXRlU2V0dGluZ19QYXJhbXMuZGVjb2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHZhciBw
YWNrZWQ7Ci0gICAgdmFyIHZhbCA9IG5ldyBVc2JEZXZpY2VfU2V0SW50ZXJmYWNlQWx0ZXJuYXRl
U2V0dGluZ19QYXJhbXMoKTsKLSAgICB2YXIgbnVtYmVyT2ZCeXRlcyA9IGRlY29kZXIucmVhZFVp
bnQzMigpOwotICAgIHZhciB2ZXJzaW9uID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFs
LmludGVyZmFjZU51bWJlciA9IGRlY29kZXIuZGVjb2RlU3RydWN0KGNvZGVjLlVpbnQ4KTsKLSAg
ICB2YWwuYWx0ZXJuYXRlU2V0dGluZyA9IGRlY29kZXIuZGVjb2RlU3RydWN0KGNvZGVjLlVpbnQ4
KTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29k
ZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwot
ICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICByZXR1cm4gdmFsOwotICB9OwotCi0gIFVzYkRldmlj
ZV9TZXRJbnRlcmZhY2VBbHRlcm5hdGVTZXR0aW5nX1BhcmFtcy5lbmNvZGUgPSBmdW5jdGlvbihl
bmNvZGVyLCB2YWwpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIo
VXNiRGV2aWNlX1NldEludGVyZmFjZUFsdGVybmF0ZVNldHRpbmdfUGFyYW1zLmVuY29kZWRTaXpl
KTsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKDApOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0
KGNvZGVjLlVpbnQ4LCB2YWwuaW50ZXJmYWNlTnVtYmVyKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0
cnVjdChjb2RlYy5VaW50OCwgdmFsLmFsdGVybmF0ZVNldHRpbmcpOwotICAgIGVuY29kZXIuc2tp
cCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVu
Y29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEp
OwotICB9OwotICBmdW5jdGlvbiBVc2JEZXZpY2VfU2V0SW50ZXJmYWNlQWx0ZXJuYXRlU2V0dGlu
Z19SZXNwb25zZVBhcmFtcyh2YWx1ZXMpIHsKLSAgICB0aGlzLmluaXREZWZhdWx0c18oKTsKLSAg
ICB0aGlzLmluaXRGaWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0gIFVzYkRldmljZV9TZXRJbnRl
cmZhY2VBbHRlcm5hdGVTZXR0aW5nX1Jlc3BvbnNlUGFyYW1zLnByb3RvdHlwZS5pbml0RGVmYXVs
dHNfID0gZnVuY3Rpb24oKSB7Ci0gICAgdGhpcy5zdWNjZXNzID0gZmFsc2U7Ci0gIH07Ci0gIFVz
YkRldmljZV9TZXRJbnRlcmZhY2VBbHRlcm5hdGVTZXR0aW5nX1Jlc3BvbnNlUGFyYW1zLnByb3Rv
dHlwZS5pbml0RmllbGRzXyA9IGZ1bmN0aW9uKGZpZWxkcykgewotICAgIGZvcih2YXIgZmllbGQg
aW4gZmllbGRzKSB7Ci0gICAgICAgIGlmICh0aGlzLmhhc093blByb3BlcnR5KGZpZWxkKSkKLSAg
ICAgICAgICB0aGlzW2ZpZWxkXSA9IGZpZWxkc1tmaWVsZF07Ci0gICAgfQotICB9OwotCi0gIFVz
YkRldmljZV9TZXRJbnRlcmZhY2VBbHRlcm5hdGVTZXR0aW5nX1Jlc3BvbnNlUGFyYW1zLnZhbGlk
YXRlID0gZnVuY3Rpb24obWVzc2FnZVZhbGlkYXRvciwgb2Zmc2V0KSB7Ci0gICAgdmFyIGVycjsK
LSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0SGVhZGVyKG9mZnNldCwg
Y29kZWMua1N0cnVjdEhlYWRlclNpemUpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxp
ZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHZhciBrVmVyc2lv
blNpemVzID0gWwotICAgICAge3ZlcnNpb246IDAsIG51bUJ5dGVzOiAxNn0KLSAgICBdOwotICAg
IGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RWZXJzaW9uKG9mZnNldCwga1Zl
cnNpb25TaXplcyk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5O
T05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0KLSAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlk
YXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIFVzYkRldmljZV9TZXRJbnRlcmZhY2VBbHRlcm5h
dGVTZXR0aW5nX1Jlc3BvbnNlUGFyYW1zLmVuY29kZWRTaXplID0gY29kZWMua1N0cnVjdEhlYWRl
clNpemUgKyA4OwotCi0gIFVzYkRldmljZV9TZXRJbnRlcmZhY2VBbHRlcm5hdGVTZXR0aW5nX1Jl
c3BvbnNlUGFyYW1zLmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICB2YXIgcGFja2Vk
OwotICAgIHZhciB2YWwgPSBuZXcgVXNiRGV2aWNlX1NldEludGVyZmFjZUFsdGVybmF0ZVNldHRp
bmdfUmVzcG9uc2VQYXJhbXMoKTsKLSAgICB2YXIgbnVtYmVyT2ZCeXRlcyA9IGRlY29kZXIucmVh
ZFVpbnQzMigpOwotICAgIHZhciB2ZXJzaW9uID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAg
cGFja2VkID0gZGVjb2Rlci5yZWFkVWludDgoKTsKLSAgICB2YWwuc3VjY2VzcyA9IChwYWNrZWQg
Pj4gMCkgJiAxID8gdHJ1ZSA6IGZhbHNlOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNv
ZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsK
LSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIu
c2tpcCgxKTsKLSAgICByZXR1cm4gdmFsOwotICB9OwotCi0gIFVzYkRldmljZV9TZXRJbnRlcmZh
Y2VBbHRlcm5hdGVTZXR0aW5nX1Jlc3BvbnNlUGFyYW1zLmVuY29kZSA9IGZ1bmN0aW9uKGVuY29k
ZXIsIHZhbCkgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMihVc2JE
ZXZpY2VfU2V0SW50ZXJmYWNlQWx0ZXJuYXRlU2V0dGluZ19SZXNwb25zZVBhcmFtcy5lbmNvZGVk
U2l6ZSk7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMigwKTsKLSAgICBwYWNrZWQgPSAwOwotICAg
IHBhY2tlZCB8PSAodmFsLnN1Y2Nlc3MgJiAxKSA8PCAwCi0gICAgZW5jb2Rlci53cml0ZVVpbnQ4
KHBhY2tlZCk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAg
ICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tp
cCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICB9Owot
ICBmdW5jdGlvbiBVc2JEZXZpY2VfUmVzZXRfUGFyYW1zKHZhbHVlcykgewotICAgIHRoaXMuaW5p
dERlZmF1bHRzXygpOwotICAgIHRoaXMuaW5pdEZpZWxkc18odmFsdWVzKTsKLSAgfQotCi0KLSAg
VXNiRGV2aWNlX1Jlc2V0X1BhcmFtcy5wcm90b3R5cGUuaW5pdERlZmF1bHRzXyA9IGZ1bmN0aW9u
KCkgewotICB9OwotICBVc2JEZXZpY2VfUmVzZXRfUGFyYW1zLnByb3RvdHlwZS5pbml0RmllbGRz
XyA9IGZ1bmN0aW9uKGZpZWxkcykgewotICAgIGZvcih2YXIgZmllbGQgaW4gZmllbGRzKSB7Ci0g
ICAgICAgIGlmICh0aGlzLmhhc093blByb3BlcnR5KGZpZWxkKSkKLSAgICAgICAgICB0aGlzW2Zp
ZWxkXSA9IGZpZWxkc1tmaWVsZF07Ci0gICAgfQotICB9OwotCi0gIFVzYkRldmljZV9SZXNldF9Q
YXJhbXMudmFsaWRhdGUgPSBmdW5jdGlvbihtZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsKLSAg
ICB2YXIgZXJyOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RIZWFk
ZXIob2Zmc2V0LCBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFs
aWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAg
dmFyIGtWZXJzaW9uU2l6ZXMgPSBbCi0gICAgICB7dmVyc2lvbjogMCwgbnVtQnl0ZXM6IDh9Ci0g
ICAgXTsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0VmVyc2lvbihv
ZmZzZXQsIGtWZXJzaW9uU2l6ZXMpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0
aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHJldHVybiB2YWxpZGF0
b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gIH07Ci0KLSAgVXNiRGV2aWNlX1Jlc2V0X1BhcmFt
cy5lbmNvZGVkU2l6ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgMDsKLQotICBVc2JEZXZp
Y2VfUmVzZXRfUGFyYW1zLmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICB2YXIgcGFj
a2VkOwotICAgIHZhciB2YWwgPSBuZXcgVXNiRGV2aWNlX1Jlc2V0X1BhcmFtcygpOwotICAgIHZh
ciBudW1iZXJPZkJ5dGVzID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFyIHZlcnNpb24g
PSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICByZXR1cm4gdmFsOwotICB9OwotCi0gIFVzYkRl
dmljZV9SZXNldF9QYXJhbXMuZW5jb2RlID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAg
dmFyIHBhY2tlZDsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKFVzYkRldmljZV9SZXNldF9QYXJh
bXMuZW5jb2RlZFNpemUpOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoMCk7Ci0gIH07Ci0gIGZ1
bmN0aW9uIFVzYkRldmljZV9SZXNldF9SZXNwb25zZVBhcmFtcyh2YWx1ZXMpIHsKLSAgICB0aGlz
LmluaXREZWZhdWx0c18oKTsKLSAgICB0aGlzLmluaXRGaWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQot
Ci0gIFVzYkRldmljZV9SZXNldF9SZXNwb25zZVBhcmFtcy5wcm90b3R5cGUuaW5pdERlZmF1bHRz
XyA9IGZ1bmN0aW9uKCkgewotICAgIHRoaXMuc3VjY2VzcyA9IGZhbHNlOwotICB9OwotICBVc2JE
ZXZpY2VfUmVzZXRfUmVzcG9uc2VQYXJhbXMucHJvdG90eXBlLmluaXRGaWVsZHNfID0gZnVuY3Rp
b24oZmllbGRzKSB7Ci0gICAgZm9yKHZhciBmaWVsZCBpbiBmaWVsZHMpIHsKLSAgICAgICAgaWYg
KHRoaXMuaGFzT3duUHJvcGVydHkoZmllbGQpKQotICAgICAgICAgIHRoaXNbZmllbGRdID0gZmll
bGRzW2ZpZWxkXTsKLSAgICB9Ci0gIH07Ci0KLSAgVXNiRGV2aWNlX1Jlc2V0X1Jlc3BvbnNlUGFy
YW1zLnZhbGlkYXRlID0gZnVuY3Rpb24obWVzc2FnZVZhbGlkYXRvciwgb2Zmc2V0KSB7Ci0gICAg
dmFyIGVycjsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0SGVhZGVy
KG9mZnNldCwgY29kZWMua1N0cnVjdEhlYWRlclNpemUpOwotICAgIGlmIChlcnIgIT09IHZhbGlk
YXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHZh
ciBrVmVyc2lvblNpemVzID0gWwotICAgICAge3ZlcnNpb246IDAsIG51bUJ5dGVzOiAxNn0KLSAg
ICBdOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RWZXJzaW9uKG9m
ZnNldCwga1ZlcnNpb25TaXplcyk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRp
b25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0KLSAgICByZXR1cm4gdmFsaWRh
dG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIFVzYkRldmljZV9SZXNldF9SZXNw
b25zZVBhcmFtcy5lbmNvZGVkU2l6ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgODsKLQot
ICBVc2JEZXZpY2VfUmVzZXRfUmVzcG9uc2VQYXJhbXMuZGVjb2RlID0gZnVuY3Rpb24oZGVjb2Rl
cikgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgdmFyIHZhbCA9IG5ldyBVc2JEZXZpY2VfUmVzZXRf
UmVzcG9uc2VQYXJhbXMoKTsKLSAgICB2YXIgbnVtYmVyT2ZCeXRlcyA9IGRlY29kZXIucmVhZFVp
bnQzMigpOwotICAgIHZhciB2ZXJzaW9uID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgcGFj
a2VkID0gZGVjb2Rlci5yZWFkVWludDgoKTsKLSAgICB2YWwuc3VjY2VzcyA9IChwYWNrZWQgPj4g
MCkgJiAxID8gdHJ1ZSA6IGZhbHNlOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVy
LnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAg
ICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tp
cCgxKTsKLSAgICByZXR1cm4gdmFsOwotICB9OwotCi0gIFVzYkRldmljZV9SZXNldF9SZXNwb25z
ZVBhcmFtcy5lbmNvZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2YWwpIHsKLSAgICB2YXIgcGFja2Vk
OwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoVXNiRGV2aWNlX1Jlc2V0X1Jlc3BvbnNlUGFyYW1z
LmVuY29kZWRTaXplKTsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKDApOwotICAgIHBhY2tlZCA9
IDA7Ci0gICAgcGFja2VkIHw9ICh2YWwuc3VjY2VzcyAmIDEpIDw8IDAKLSAgICBlbmNvZGVyLndy
aXRlVWludDgocGFja2VkKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lw
KDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5j
b2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7
Ci0gIH07Ci0gIGZ1bmN0aW9uIFVzYkRldmljZV9DbGVhckhhbHRfUGFyYW1zKHZhbHVlcykgewot
ICAgIHRoaXMuaW5pdERlZmF1bHRzXygpOwotICAgIHRoaXMuaW5pdEZpZWxkc18odmFsdWVzKTsK
LSAgfQotCi0KLSAgVXNiRGV2aWNlX0NsZWFySGFsdF9QYXJhbXMucHJvdG90eXBlLmluaXREZWZh
dWx0c18gPSBmdW5jdGlvbigpIHsKLSAgICB0aGlzLmVuZHBvaW50ID0gMDsKLSAgfTsKLSAgVXNi
RGV2aWNlX0NsZWFySGFsdF9QYXJhbXMucHJvdG90eXBlLmluaXRGaWVsZHNfID0gZnVuY3Rpb24o
ZmllbGRzKSB7Ci0gICAgZm9yKHZhciBmaWVsZCBpbiBmaWVsZHMpIHsKLSAgICAgICAgaWYgKHRo
aXMuaGFzT3duUHJvcGVydHkoZmllbGQpKQotICAgICAgICAgIHRoaXNbZmllbGRdID0gZmllbGRz
W2ZpZWxkXTsKLSAgICB9Ci0gIH07Ci0KLSAgVXNiRGV2aWNlX0NsZWFySGFsdF9QYXJhbXMudmFs
aWRhdGUgPSBmdW5jdGlvbihtZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsKLSAgICB2YXIgZXJy
OwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RIZWFkZXIob2Zmc2V0
LCBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZh
bGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgdmFyIGtWZXJz
aW9uU2l6ZXMgPSBbCi0gICAgICB7dmVyc2lvbjogMCwgbnVtQnl0ZXM6IDE2fQotICAgIF07Ci0g
ICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFZlcnNpb24ob2Zmc2V0LCBr
VmVyc2lvblNpemVzKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9y
Lk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotICAgIHJldHVybiB2YWxpZGF0b3IudmFs
aWRhdGlvbkVycm9yLk5PTkU7Ci0gIH07Ci0KLSAgVXNiRGV2aWNlX0NsZWFySGFsdF9QYXJhbXMu
ZW5jb2RlZFNpemUgPSBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDg7Ci0KLSAgVXNiRGV2aWNl
X0NsZWFySGFsdF9QYXJhbXMuZGVjb2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHZhciBw
YWNrZWQ7Ci0gICAgdmFyIHZhbCA9IG5ldyBVc2JEZXZpY2VfQ2xlYXJIYWx0X1BhcmFtcygpOwot
ICAgIHZhciBudW1iZXJPZkJ5dGVzID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFyIHZl
cnNpb24gPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YWwuZW5kcG9pbnQgPSBkZWNvZGVy
LmRlY29kZVN0cnVjdChjb2RlYy5VaW50OCk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRl
Y29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEp
OwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rl
ci5za2lwKDEpOwotICAgIHJldHVybiB2YWw7Ci0gIH07Ci0KLSAgVXNiRGV2aWNlX0NsZWFySGFs
dF9QYXJhbXMuZW5jb2RlID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAgdmFyIHBhY2tl
ZDsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKFVzYkRldmljZV9DbGVhckhhbHRfUGFyYW1zLmVu
Y29kZWRTaXplKTsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKDApOwotICAgIGVuY29kZXIuZW5j
b2RlU3RydWN0KGNvZGVjLlVpbnQ4LCB2YWwuZW5kcG9pbnQpOwotICAgIGVuY29kZXIuc2tpcCgx
KTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29k
ZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwot
ICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgfTsKLSAgZnVuY3Rpb24gVXNiRGV2aWNlX0NsZWFySGFs
dF9SZXNwb25zZVBhcmFtcyh2YWx1ZXMpIHsKLSAgICB0aGlzLmluaXREZWZhdWx0c18oKTsKLSAg
ICB0aGlzLmluaXRGaWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0gIFVzYkRldmljZV9DbGVhckhh
bHRfUmVzcG9uc2VQYXJhbXMucHJvdG90eXBlLmluaXREZWZhdWx0c18gPSBmdW5jdGlvbigpIHsK
LSAgICB0aGlzLnN1Y2Nlc3MgPSBmYWxzZTsKLSAgfTsKLSAgVXNiRGV2aWNlX0NsZWFySGFsdF9S
ZXNwb25zZVBhcmFtcy5wcm90b3R5cGUuaW5pdEZpZWxkc18gPSBmdW5jdGlvbihmaWVsZHMpIHsK
LSAgICBmb3IodmFyIGZpZWxkIGluIGZpZWxkcykgewotICAgICAgICBpZiAodGhpcy5oYXNPd25Q
cm9wZXJ0eShmaWVsZCkpCi0gICAgICAgICAgdGhpc1tmaWVsZF0gPSBmaWVsZHNbZmllbGRdOwot
ICAgIH0KLSAgfTsKLQotICBVc2JEZXZpY2VfQ2xlYXJIYWx0X1Jlc3BvbnNlUGFyYW1zLnZhbGlk
YXRlID0gZnVuY3Rpb24obWVzc2FnZVZhbGlkYXRvciwgb2Zmc2V0KSB7Ci0gICAgdmFyIGVycjsK
LSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0SGVhZGVyKG9mZnNldCwg
Y29kZWMua1N0cnVjdEhlYWRlclNpemUpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxp
ZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHZhciBrVmVyc2lv
blNpemVzID0gWwotICAgICAge3ZlcnNpb246IDAsIG51bUJ5dGVzOiAxNn0KLSAgICBdOwotICAg
IGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RWZXJzaW9uKG9mZnNldCwga1Zl
cnNpb25TaXplcyk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5O
T05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0KLSAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlk
YXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIFVzYkRldmljZV9DbGVhckhhbHRfUmVzcG9uc2VQ
YXJhbXMuZW5jb2RlZFNpemUgPSBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDg7Ci0KLSAgVXNi
RGV2aWNlX0NsZWFySGFsdF9SZXNwb25zZVBhcmFtcy5kZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVy
KSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICB2YXIgdmFsID0gbmV3IFVzYkRldmljZV9DbGVhckhh
bHRfUmVzcG9uc2VQYXJhbXMoKTsKLSAgICB2YXIgbnVtYmVyT2ZCeXRlcyA9IGRlY29kZXIucmVh
ZFVpbnQzMigpOwotICAgIHZhciB2ZXJzaW9uID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAg
cGFja2VkID0gZGVjb2Rlci5yZWFkVWludDgoKTsKLSAgICB2YWwuc3VjY2VzcyA9IChwYWNrZWQg
Pj4gMCkgJiAxID8gdHJ1ZSA6IGZhbHNlOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNv
ZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsK
LSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIu
c2tpcCgxKTsKLSAgICByZXR1cm4gdmFsOwotICB9OwotCi0gIFVzYkRldmljZV9DbGVhckhhbHRf
UmVzcG9uc2VQYXJhbXMuZW5jb2RlID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAgdmFy
IHBhY2tlZDsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKFVzYkRldmljZV9DbGVhckhhbHRfUmVz
cG9uc2VQYXJhbXMuZW5jb2RlZFNpemUpOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoMCk7Ci0g
ICAgcGFja2VkID0gMDsKLSAgICBwYWNrZWQgfD0gKHZhbC5zdWNjZXNzICYgMSkgPDwgMAotICAg
IGVuY29kZXIud3JpdGVVaW50OChwYWNrZWQpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBl
bmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgx
KTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29k
ZXIuc2tpcCgxKTsKLSAgfTsKLSAgZnVuY3Rpb24gVXNiRGV2aWNlX0NvbnRyb2xUcmFuc2Zlcklu
X1BhcmFtcyh2YWx1ZXMpIHsKLSAgICB0aGlzLmluaXREZWZhdWx0c18oKTsKLSAgICB0aGlzLmlu
aXRGaWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0gIFVzYkRldmljZV9Db250cm9sVHJhbnNmZXJJ
bl9QYXJhbXMucHJvdG90eXBlLmluaXREZWZhdWx0c18gPSBmdW5jdGlvbigpIHsKLSAgICB0aGlz
LnBhcmFtcyA9IG51bGw7Ci0gICAgdGhpcy5sZW5ndGggPSAwOwotICAgIHRoaXMudGltZW91dCA9
IDA7Ci0gIH07Ci0gIFVzYkRldmljZV9Db250cm9sVHJhbnNmZXJJbl9QYXJhbXMucHJvdG90eXBl
LmluaXRGaWVsZHNfID0gZnVuY3Rpb24oZmllbGRzKSB7Ci0gICAgZm9yKHZhciBmaWVsZCBpbiBm
aWVsZHMpIHsKLSAgICAgICAgaWYgKHRoaXMuaGFzT3duUHJvcGVydHkoZmllbGQpKQotICAgICAg
ICAgIHRoaXNbZmllbGRdID0gZmllbGRzW2ZpZWxkXTsKLSAgICB9Ci0gIH07Ci0KLSAgVXNiRGV2
aWNlX0NvbnRyb2xUcmFuc2ZlckluX1BhcmFtcy52YWxpZGF0ZSA9IGZ1bmN0aW9uKG1lc3NhZ2VW
YWxpZGF0b3IsIG9mZnNldCkgewotICAgIHZhciBlcnI7Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlk
YXRvci52YWxpZGF0ZVN0cnVjdEhlYWRlcihvZmZzZXQsIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXpl
KTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAg
ICAgIHJldHVybiBlcnI7Ci0KLSAgICB2YXIga1ZlcnNpb25TaXplcyA9IFsKLSAgICAgIHt2ZXJz
aW9uOiAwLCBudW1CeXRlczogMjR9Ci0gICAgXTsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9y
LnZhbGlkYXRlU3RydWN0VmVyc2lvbihvZmZzZXQsIGtWZXJzaW9uU2l6ZXMpOwotICAgIGlmIChl
cnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVy
cjsKLQotCi0gICAgCi0gICAgLy8gdmFsaWRhdGUgVXNiRGV2aWNlX0NvbnRyb2xUcmFuc2Zlcklu
X1BhcmFtcy5wYXJhbXMKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0
UG9pbnRlcihvZmZzZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDAsIFVzYkNvbnRyb2xU
cmFuc2ZlclBhcmFtcywgZmFsc2UpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0
aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0KLSAgICByZXR1cm4gdmFs
aWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIFVzYkRldmljZV9Db250cm9s
VHJhbnNmZXJJbl9QYXJhbXMuZW5jb2RlZFNpemUgPSBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSAr
IDE2OwotCi0gIFVzYkRldmljZV9Db250cm9sVHJhbnNmZXJJbl9QYXJhbXMuZGVjb2RlID0gZnVu
Y3Rpb24oZGVjb2RlcikgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgdmFyIHZhbCA9IG5ldyBVc2JE
ZXZpY2VfQ29udHJvbFRyYW5zZmVySW5fUGFyYW1zKCk7Ci0gICAgdmFyIG51bWJlck9mQnl0ZXMg
PSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YXIgdmVyc2lvbiA9IGRlY29kZXIucmVhZFVp
bnQzMigpOwotICAgIHZhbC5wYXJhbXMgPSBkZWNvZGVyLmRlY29kZVN0cnVjdFBvaW50ZXIoVXNi
Q29udHJvbFRyYW5zZmVyUGFyYW1zKTsKLSAgICB2YWwubGVuZ3RoID0gZGVjb2Rlci5kZWNvZGVT
dHJ1Y3QoY29kZWMuVWludDMyKTsKLSAgICB2YWwudGltZW91dCA9IGRlY29kZXIuZGVjb2RlU3Ry
dWN0KGNvZGVjLlVpbnQzMik7Ci0gICAgcmV0dXJuIHZhbDsKLSAgfTsKLQotICBVc2JEZXZpY2Vf
Q29udHJvbFRyYW5zZmVySW5fUGFyYW1zLmVuY29kZSA9IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkg
ewotICAgIHZhciBwYWNrZWQ7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMihVc2JEZXZpY2VfQ29u
dHJvbFRyYW5zZmVySW5fUGFyYW1zLmVuY29kZWRTaXplKTsKLSAgICBlbmNvZGVyLndyaXRlVWlu
dDMyKDApOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0UG9pbnRlcihVc2JDb250cm9sVHJhbnNm
ZXJQYXJhbXMsIHZhbC5wYXJhbXMpOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNvZGVjLlVp
bnQzMiwgdmFsLmxlbmd0aCk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3QoY29kZWMuVWludDMy
LCB2YWwudGltZW91dCk7Ci0gIH07Ci0gIGZ1bmN0aW9uIFVzYkRldmljZV9Db250cm9sVHJhbnNm
ZXJJbl9SZXNwb25zZVBhcmFtcyh2YWx1ZXMpIHsKLSAgICB0aGlzLmluaXREZWZhdWx0c18oKTsK
LSAgICB0aGlzLmluaXRGaWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0gIFVzYkRldmljZV9Db250
cm9sVHJhbnNmZXJJbl9SZXNwb25zZVBhcmFtcy5wcm90b3R5cGUuaW5pdERlZmF1bHRzXyA9IGZ1
bmN0aW9uKCkgewotICAgIHRoaXMuc3RhdHVzID0gMDsKLSAgICB0aGlzLmRhdGEgPSBudWxsOwot
ICB9OwotICBVc2JEZXZpY2VfQ29udHJvbFRyYW5zZmVySW5fUmVzcG9uc2VQYXJhbXMucHJvdG90
eXBlLmluaXRGaWVsZHNfID0gZnVuY3Rpb24oZmllbGRzKSB7Ci0gICAgZm9yKHZhciBmaWVsZCBp
biBmaWVsZHMpIHsKLSAgICAgICAgaWYgKHRoaXMuaGFzT3duUHJvcGVydHkoZmllbGQpKQotICAg
ICAgICAgIHRoaXNbZmllbGRdID0gZmllbGRzW2ZpZWxkXTsKLSAgICB9Ci0gIH07Ci0KLSAgVXNi
RGV2aWNlX0NvbnRyb2xUcmFuc2ZlckluX1Jlc3BvbnNlUGFyYW1zLnZhbGlkYXRlID0gZnVuY3Rp
b24obWVzc2FnZVZhbGlkYXRvciwgb2Zmc2V0KSB7Ci0gICAgdmFyIGVycjsKLSAgICBlcnIgPSBt
ZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0SGVhZGVyKG9mZnNldCwgY29kZWMua1N0cnVj
dEhlYWRlclNpemUpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3Iu
Tk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHZhciBrVmVyc2lvblNpemVzID0gWwot
ICAgICAge3ZlcnNpb246IDAsIG51bUJ5dGVzOiAyNH0KLSAgICBdOwotICAgIGVyciA9IG1lc3Nh
Z2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RWZXJzaW9uKG9mZnNldCwga1ZlcnNpb25TaXplcyk7
Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAg
ICByZXR1cm4gZXJyOwotCi0KLSAgICAKLSAgICAvLyB2YWxpZGF0ZSBVc2JEZXZpY2VfQ29udHJv
bFRyYW5zZmVySW5fUmVzcG9uc2VQYXJhbXMuc3RhdHVzCi0gICAgZXJyID0gbWVzc2FnZVZhbGlk
YXRvci52YWxpZGF0ZUVudW0ob2Zmc2V0ICsgY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyAwLCBV
c2JUcmFuc2ZlclN0YXR1cyk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25F
cnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0KLSAgICAKLSAgICAvLyB2YWxpZGF0
ZSBVc2JEZXZpY2VfQ29udHJvbFRyYW5zZmVySW5fUmVzcG9uc2VQYXJhbXMuZGF0YQotICAgIGVy
ciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVBcnJheVBvaW50ZXIob2Zmc2V0ICsgY29kZWMu
a1N0cnVjdEhlYWRlclNpemUgKyA4LCAxLCBjb2RlYy5VaW50OCwgdHJ1ZSwgWzBdLCAwKTsKLSAg
ICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJl
dHVybiBlcnI7Ci0KLSAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwot
ICB9OwotCi0gIFVzYkRldmljZV9Db250cm9sVHJhbnNmZXJJbl9SZXNwb25zZVBhcmFtcy5lbmNv
ZGVkU2l6ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgMTY7Ci0KLSAgVXNiRGV2aWNlX0Nv
bnRyb2xUcmFuc2ZlckluX1Jlc3BvbnNlUGFyYW1zLmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIp
IHsKLSAgICB2YXIgcGFja2VkOwotICAgIHZhciB2YWwgPSBuZXcgVXNiRGV2aWNlX0NvbnRyb2xU
cmFuc2ZlckluX1Jlc3BvbnNlUGFyYW1zKCk7Ci0gICAgdmFyIG51bWJlck9mQnl0ZXMgPSBkZWNv
ZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YXIgdmVyc2lvbiA9IGRlY29kZXIucmVhZFVpbnQzMigp
OwotICAgIHZhbC5zdGF0dXMgPSBkZWNvZGVyLmRlY29kZVN0cnVjdChjb2RlYy5JbnQzMik7Ci0g
ICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNr
aXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIHZhbC5kYXRhID0gZGVjb2Rlci5kZWNv
ZGVBcnJheVBvaW50ZXIoY29kZWMuVWludDgpOwotICAgIHJldHVybiB2YWw7Ci0gIH07Ci0KLSAg
VXNiRGV2aWNlX0NvbnRyb2xUcmFuc2ZlckluX1Jlc3BvbnNlUGFyYW1zLmVuY29kZSA9IGZ1bmN0
aW9uKGVuY29kZXIsIHZhbCkgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgZW5jb2Rlci53cml0ZVVp
bnQzMihVc2JEZXZpY2VfQ29udHJvbFRyYW5zZmVySW5fUmVzcG9uc2VQYXJhbXMuZW5jb2RlZFNp
emUpOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoMCk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1
Y3QoY29kZWMuSW50MzIsIHZhbC5zdGF0dXMpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBl
bmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgx
KTsKLSAgICBlbmNvZGVyLmVuY29kZUFycmF5UG9pbnRlcihjb2RlYy5VaW50OCwgdmFsLmRhdGEp
OwotICB9OwotICBmdW5jdGlvbiBVc2JEZXZpY2VfQ29udHJvbFRyYW5zZmVyT3V0X1BhcmFtcyh2
YWx1ZXMpIHsKLSAgICB0aGlzLmluaXREZWZhdWx0c18oKTsKLSAgICB0aGlzLmluaXRGaWVsZHNf
KHZhbHVlcyk7Ci0gIH0KLQotCi0gIFVzYkRldmljZV9Db250cm9sVHJhbnNmZXJPdXRfUGFyYW1z
LnByb3RvdHlwZS5pbml0RGVmYXVsdHNfID0gZnVuY3Rpb24oKSB7Ci0gICAgdGhpcy5wYXJhbXMg
PSBudWxsOwotICAgIHRoaXMuZGF0YSA9IG51bGw7Ci0gICAgdGhpcy50aW1lb3V0ID0gMDsKLSAg
fTsKLSAgVXNiRGV2aWNlX0NvbnRyb2xUcmFuc2Zlck91dF9QYXJhbXMucHJvdG90eXBlLmluaXRG
aWVsZHNfID0gZnVuY3Rpb24oZmllbGRzKSB7Ci0gICAgZm9yKHZhciBmaWVsZCBpbiBmaWVsZHMp
IHsKLSAgICAgICAgaWYgKHRoaXMuaGFzT3duUHJvcGVydHkoZmllbGQpKQotICAgICAgICAgIHRo
aXNbZmllbGRdID0gZmllbGRzW2ZpZWxkXTsKLSAgICB9Ci0gIH07Ci0KLSAgVXNiRGV2aWNlX0Nv
bnRyb2xUcmFuc2Zlck91dF9QYXJhbXMudmFsaWRhdGUgPSBmdW5jdGlvbihtZXNzYWdlVmFsaWRh
dG9yLCBvZmZzZXQpIHsKLSAgICB2YXIgZXJyOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3Iu
dmFsaWRhdGVTdHJ1Y3RIZWFkZXIob2Zmc2V0LCBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSk7Ci0g
ICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICBy
ZXR1cm4gZXJyOwotCi0gICAgdmFyIGtWZXJzaW9uU2l6ZXMgPSBbCi0gICAgICB7dmVyc2lvbjog
MCwgbnVtQnl0ZXM6IDMyfQotICAgIF07Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxp
ZGF0ZVN0cnVjdFZlcnNpb24ob2Zmc2V0LCBrVmVyc2lvblNpemVzKTsKLSAgICBpZiAoZXJyICE9
PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0K
LQotICAgIAotICAgIC8vIHZhbGlkYXRlIFVzYkRldmljZV9Db250cm9sVHJhbnNmZXJPdXRfUGFy
YW1zLnBhcmFtcwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RQb2lu
dGVyKG9mZnNldCArIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgMCwgVXNiQ29udHJvbFRyYW5z
ZmVyUGFyYW1zLCBmYWxzZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25F
cnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0KLSAgICAKLSAgICAvLyB2YWxpZGF0
ZSBVc2JEZXZpY2VfQ29udHJvbFRyYW5zZmVyT3V0X1BhcmFtcy5kYXRhCi0gICAgZXJyID0gbWVz
c2FnZVZhbGlkYXRvci52YWxpZGF0ZUFycmF5UG9pbnRlcihvZmZzZXQgKyBjb2RlYy5rU3RydWN0
SGVhZGVyU2l6ZSArIDgsIDEsIGNvZGVjLlVpbnQ4LCBmYWxzZSwgWzBdLCAwKTsKLSAgICBpZiAo
ZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBl
cnI7Ci0KLQotICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gIH07
Ci0KLSAgVXNiRGV2aWNlX0NvbnRyb2xUcmFuc2Zlck91dF9QYXJhbXMuZW5jb2RlZFNpemUgPSBj
b2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDI0OwotCi0gIFVzYkRldmljZV9Db250cm9sVHJhbnNm
ZXJPdXRfUGFyYW1zLmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICB2YXIgcGFja2Vk
OwotICAgIHZhciB2YWwgPSBuZXcgVXNiRGV2aWNlX0NvbnRyb2xUcmFuc2Zlck91dF9QYXJhbXMo
KTsKLSAgICB2YXIgbnVtYmVyT2ZCeXRlcyA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZh
ciB2ZXJzaW9uID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFsLnBhcmFtcyA9IGRlY29k
ZXIuZGVjb2RlU3RydWN0UG9pbnRlcihVc2JDb250cm9sVHJhbnNmZXJQYXJhbXMpOwotICAgIHZh
bC5kYXRhID0gZGVjb2Rlci5kZWNvZGVBcnJheVBvaW50ZXIoY29kZWMuVWludDgpOwotICAgIHZh
bC50aW1lb3V0ID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoY29kZWMuVWludDMyKTsKLSAgICBkZWNv
ZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsK
LSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgcmV0dXJuIHZhbDsKLSAgfTsKLQotICBVc2JEZXZp
Y2VfQ29udHJvbFRyYW5zZmVyT3V0X1BhcmFtcy5lbmNvZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2
YWwpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoVXNiRGV2aWNl
X0NvbnRyb2xUcmFuc2Zlck91dF9QYXJhbXMuZW5jb2RlZFNpemUpOwotICAgIGVuY29kZXIud3Jp
dGVVaW50MzIoMCk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3RQb2ludGVyKFVzYkNvbnRyb2xU
cmFuc2ZlclBhcmFtcywgdmFsLnBhcmFtcyk7Ci0gICAgZW5jb2Rlci5lbmNvZGVBcnJheVBvaW50
ZXIoY29kZWMuVWludDgsIHZhbC5kYXRhKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdChjb2Rl
Yy5VaW50MzIsIHZhbC50aW1lb3V0KTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rl
ci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0g
IH07Ci0gIGZ1bmN0aW9uIFVzYkRldmljZV9Db250cm9sVHJhbnNmZXJPdXRfUmVzcG9uc2VQYXJh
bXModmFsdWVzKSB7Ci0gICAgdGhpcy5pbml0RGVmYXVsdHNfKCk7Ci0gICAgdGhpcy5pbml0Rmll
bGRzXyh2YWx1ZXMpOwotICB9Ci0KLQotICBVc2JEZXZpY2VfQ29udHJvbFRyYW5zZmVyT3V0X1Jl
c3BvbnNlUGFyYW1zLnByb3RvdHlwZS5pbml0RGVmYXVsdHNfID0gZnVuY3Rpb24oKSB7Ci0gICAg
dGhpcy5zdGF0dXMgPSAwOwotICB9OwotICBVc2JEZXZpY2VfQ29udHJvbFRyYW5zZmVyT3V0X1Jl
c3BvbnNlUGFyYW1zLnByb3RvdHlwZS5pbml0RmllbGRzXyA9IGZ1bmN0aW9uKGZpZWxkcykgewot
ICAgIGZvcih2YXIgZmllbGQgaW4gZmllbGRzKSB7Ci0gICAgICAgIGlmICh0aGlzLmhhc093blBy
b3BlcnR5KGZpZWxkKSkKLSAgICAgICAgICB0aGlzW2ZpZWxkXSA9IGZpZWxkc1tmaWVsZF07Ci0g
ICAgfQotICB9OwotCi0gIFVzYkRldmljZV9Db250cm9sVHJhbnNmZXJPdXRfUmVzcG9uc2VQYXJh
bXMudmFsaWRhdGUgPSBmdW5jdGlvbihtZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsKLSAgICB2
YXIgZXJyOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RIZWFkZXIo
b2Zmc2V0LCBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRh
dG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgdmFy
IGtWZXJzaW9uU2l6ZXMgPSBbCi0gICAgICB7dmVyc2lvbjogMCwgbnVtQnl0ZXM6IDE2fQotICAg
IF07Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFZlcnNpb24ob2Zm
c2V0LCBrVmVyc2lvblNpemVzKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlv
bkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotICAgIAotICAgIC8vIHZhbGlk
YXRlIFVzYkRldmljZV9Db250cm9sVHJhbnNmZXJPdXRfUmVzcG9uc2VQYXJhbXMuc3RhdHVzCi0g
ICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZUVudW0ob2Zmc2V0ICsgY29kZWMua1N0
cnVjdEhlYWRlclNpemUgKyAwLCBVc2JUcmFuc2ZlclN0YXR1cyk7Ci0gICAgaWYgKGVyciAhPT0g
dmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0g
ICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQotICBVc2JE
ZXZpY2VfQ29udHJvbFRyYW5zZmVyT3V0X1Jlc3BvbnNlUGFyYW1zLmVuY29kZWRTaXplID0gY29k
ZWMua1N0cnVjdEhlYWRlclNpemUgKyA4OwotCi0gIFVzYkRldmljZV9Db250cm9sVHJhbnNmZXJP
dXRfUmVzcG9uc2VQYXJhbXMuZGVjb2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHZhciBw
YWNrZWQ7Ci0gICAgdmFyIHZhbCA9IG5ldyBVc2JEZXZpY2VfQ29udHJvbFRyYW5zZmVyT3V0X1Jl
c3BvbnNlUGFyYW1zKCk7Ci0gICAgdmFyIG51bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50
MzIoKTsKLSAgICB2YXIgdmVyc2lvbiA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhbC5z
dGF0dXMgPSBkZWNvZGVyLmRlY29kZVN0cnVjdChjb2RlYy5JbnQzMik7Ci0gICAgZGVjb2Rlci5z
a2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAg
ZGVjb2Rlci5za2lwKDEpOwotICAgIHJldHVybiB2YWw7Ci0gIH07Ci0KLSAgVXNiRGV2aWNlX0Nv
bnRyb2xUcmFuc2Zlck91dF9SZXNwb25zZVBhcmFtcy5lbmNvZGUgPSBmdW5jdGlvbihlbmNvZGVy
LCB2YWwpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoVXNiRGV2
aWNlX0NvbnRyb2xUcmFuc2Zlck91dF9SZXNwb25zZVBhcmFtcy5lbmNvZGVkU2l6ZSk7Ci0gICAg
ZW5jb2Rlci53cml0ZVVpbnQzMigwKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdChjb2RlYy5J
bnQzMiwgdmFsLnN0YXR1cyk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tp
cCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICB9Owot
ICBmdW5jdGlvbiBVc2JEZXZpY2VfR2VuZXJpY1RyYW5zZmVySW5fUGFyYW1zKHZhbHVlcykgewot
ICAgIHRoaXMuaW5pdERlZmF1bHRzXygpOwotICAgIHRoaXMuaW5pdEZpZWxkc18odmFsdWVzKTsK
LSAgfQotCi0KLSAgVXNiRGV2aWNlX0dlbmVyaWNUcmFuc2ZlckluX1BhcmFtcy5wcm90b3R5cGUu
aW5pdERlZmF1bHRzXyA9IGZ1bmN0aW9uKCkgewotICAgIHRoaXMuZW5kcG9pbnROdW1iZXIgPSAw
OwotICAgIHRoaXMubGVuZ3RoID0gMDsKLSAgICB0aGlzLnRpbWVvdXQgPSAwOwotICB9OwotICBV
c2JEZXZpY2VfR2VuZXJpY1RyYW5zZmVySW5fUGFyYW1zLnByb3RvdHlwZS5pbml0RmllbGRzXyA9
IGZ1bmN0aW9uKGZpZWxkcykgewotICAgIGZvcih2YXIgZmllbGQgaW4gZmllbGRzKSB7Ci0gICAg
ICAgIGlmICh0aGlzLmhhc093blByb3BlcnR5KGZpZWxkKSkKLSAgICAgICAgICB0aGlzW2ZpZWxk
XSA9IGZpZWxkc1tmaWVsZF07Ci0gICAgfQotICB9OwotCi0gIFVzYkRldmljZV9HZW5lcmljVHJh
bnNmZXJJbl9QYXJhbXMudmFsaWRhdGUgPSBmdW5jdGlvbihtZXNzYWdlVmFsaWRhdG9yLCBvZmZz
ZXQpIHsKLSAgICB2YXIgZXJyOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVT
dHJ1Y3RIZWFkZXIob2Zmc2V0LCBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVy
ciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJy
OwotCi0gICAgdmFyIGtWZXJzaW9uU2l6ZXMgPSBbCi0gICAgICB7dmVyc2lvbjogMCwgbnVtQnl0
ZXM6IDI0fQotICAgIF07Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVj
dFZlcnNpb24ob2Zmc2V0LCBrVmVyc2lvblNpemVzKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0
b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotCi0KLSAg
ICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIFVzYkRl
dmljZV9HZW5lcmljVHJhbnNmZXJJbl9QYXJhbXMuZW5jb2RlZFNpemUgPSBjb2RlYy5rU3RydWN0
SGVhZGVyU2l6ZSArIDE2OwotCi0gIFVzYkRldmljZV9HZW5lcmljVHJhbnNmZXJJbl9QYXJhbXMu
ZGVjb2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgdmFyIHZh
bCA9IG5ldyBVc2JEZXZpY2VfR2VuZXJpY1RyYW5zZmVySW5fUGFyYW1zKCk7Ci0gICAgdmFyIG51
bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YXIgdmVyc2lvbiA9IGRl
Y29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhbC5lbmRwb2ludE51bWJlciA9IGRlY29kZXIuZGVj
b2RlU3RydWN0KGNvZGVjLlVpbnQ4KTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rl
ci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICB2YWwubGVuZ3RoID0gZGVjb2Rl
ci5kZWNvZGVTdHJ1Y3QoY29kZWMuVWludDMyKTsKLSAgICB2YWwudGltZW91dCA9IGRlY29kZXIu
ZGVjb2RlU3RydWN0KGNvZGVjLlVpbnQzMik7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRl
Y29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEp
OwotICAgIHJldHVybiB2YWw7Ci0gIH07Ci0KLSAgVXNiRGV2aWNlX0dlbmVyaWNUcmFuc2Zlcklu
X1BhcmFtcy5lbmNvZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2YWwpIHsKLSAgICB2YXIgcGFja2Vk
OwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoVXNiRGV2aWNlX0dlbmVyaWNUcmFuc2ZlckluX1Bh
cmFtcy5lbmNvZGVkU2l6ZSk7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMigwKTsKLSAgICBlbmNv
ZGVyLmVuY29kZVN0cnVjdChjb2RlYy5VaW50OCwgdmFsLmVuZHBvaW50TnVtYmVyKTsKLSAgICBl
bmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgx
KTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdChjb2RlYy5VaW50MzIsIHZhbC5sZW5ndGgpOwot
ICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNvZGVjLlVpbnQzMiwgdmFsLnRpbWVvdXQpOwotICAg
IGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lw
KDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgfTsKLSAgZnVuY3Rpb24gVXNiRGV2aWNlX0dl
bmVyaWNUcmFuc2ZlckluX1Jlc3BvbnNlUGFyYW1zKHZhbHVlcykgewotICAgIHRoaXMuaW5pdERl
ZmF1bHRzXygpOwotICAgIHRoaXMuaW5pdEZpZWxkc18odmFsdWVzKTsKLSAgfQotCi0KLSAgVXNi
RGV2aWNlX0dlbmVyaWNUcmFuc2ZlckluX1Jlc3BvbnNlUGFyYW1zLnByb3RvdHlwZS5pbml0RGVm
YXVsdHNfID0gZnVuY3Rpb24oKSB7Ci0gICAgdGhpcy5zdGF0dXMgPSAwOwotICAgIHRoaXMuZGF0
YSA9IG51bGw7Ci0gIH07Ci0gIFVzYkRldmljZV9HZW5lcmljVHJhbnNmZXJJbl9SZXNwb25zZVBh
cmFtcy5wcm90b3R5cGUuaW5pdEZpZWxkc18gPSBmdW5jdGlvbihmaWVsZHMpIHsKLSAgICBmb3Io
dmFyIGZpZWxkIGluIGZpZWxkcykgewotICAgICAgICBpZiAodGhpcy5oYXNPd25Qcm9wZXJ0eShm
aWVsZCkpCi0gICAgICAgICAgdGhpc1tmaWVsZF0gPSBmaWVsZHNbZmllbGRdOwotICAgIH0KLSAg
fTsKLQotICBVc2JEZXZpY2VfR2VuZXJpY1RyYW5zZmVySW5fUmVzcG9uc2VQYXJhbXMudmFsaWRh
dGUgPSBmdW5jdGlvbihtZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsKLSAgICB2YXIgZXJyOwot
ICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RIZWFkZXIob2Zmc2V0LCBj
b2RlYy5rU3RydWN0SGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlk
YXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgdmFyIGtWZXJzaW9u
U2l6ZXMgPSBbCi0gICAgICB7dmVyc2lvbjogMCwgbnVtQnl0ZXM6IDI0fQotICAgIF07Ci0gICAg
ZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFZlcnNpb24ob2Zmc2V0LCBrVmVy
c2lvblNpemVzKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5P
TkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotICAgIAotICAgIC8vIHZhbGlkYXRlIFVzYkRl
dmljZV9HZW5lcmljVHJhbnNmZXJJbl9SZXNwb25zZVBhcmFtcy5zdGF0dXMKLSAgICBlcnIgPSBt
ZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlRW51bShvZmZzZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVy
U2l6ZSArIDAsIFVzYlRyYW5zZmVyU3RhdHVzKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3Iu
dmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotICAgIAotICAg
IC8vIHZhbGlkYXRlIFVzYkRldmljZV9HZW5lcmljVHJhbnNmZXJJbl9SZXNwb25zZVBhcmFtcy5k
YXRhCi0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZUFycmF5UG9pbnRlcihvZmZz
ZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDgsIDEsIGNvZGVjLlVpbnQ4LCB0cnVlLCBb
MF0sIDApOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkK
LSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVy
cm9yLk5PTkU7Ci0gIH07Ci0KLSAgVXNiRGV2aWNlX0dlbmVyaWNUcmFuc2ZlckluX1Jlc3BvbnNl
UGFyYW1zLmVuY29kZWRTaXplID0gY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyAxNjsKLQotICBV
c2JEZXZpY2VfR2VuZXJpY1RyYW5zZmVySW5fUmVzcG9uc2VQYXJhbXMuZGVjb2RlID0gZnVuY3Rp
b24oZGVjb2RlcikgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgdmFyIHZhbCA9IG5ldyBVc2JEZXZp
Y2VfR2VuZXJpY1RyYW5zZmVySW5fUmVzcG9uc2VQYXJhbXMoKTsKLSAgICB2YXIgbnVtYmVyT2ZC
eXRlcyA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhciB2ZXJzaW9uID0gZGVjb2Rlci5y
ZWFkVWludDMyKCk7Ci0gICAgdmFsLnN0YXR1cyA9IGRlY29kZXIuZGVjb2RlU3RydWN0KGNvZGVj
LkludDMyKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAg
IGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgdmFsLmRhdGEgPSBk
ZWNvZGVyLmRlY29kZUFycmF5UG9pbnRlcihjb2RlYy5VaW50OCk7Ci0gICAgcmV0dXJuIHZhbDsK
LSAgfTsKLQotICBVc2JEZXZpY2VfR2VuZXJpY1RyYW5zZmVySW5fUmVzcG9uc2VQYXJhbXMuZW5j
b2RlID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICBlbmNv
ZGVyLndyaXRlVWludDMyKFVzYkRldmljZV9HZW5lcmljVHJhbnNmZXJJbl9SZXNwb25zZVBhcmFt
cy5lbmNvZGVkU2l6ZSk7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMigwKTsKLSAgICBlbmNvZGVy
LmVuY29kZVN0cnVjdChjb2RlYy5JbnQzMiwgdmFsLnN0YXR1cyk7Ci0gICAgZW5jb2Rlci5za2lw
KDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5j
b2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuZW5jb2RlQXJyYXlQb2ludGVyKGNvZGVjLlVpbnQ4
LCB2YWwuZGF0YSk7Ci0gIH07Ci0gIGZ1bmN0aW9uIFVzYkRldmljZV9HZW5lcmljVHJhbnNmZXJP
dXRfUGFyYW1zKHZhbHVlcykgewotICAgIHRoaXMuaW5pdERlZmF1bHRzXygpOwotICAgIHRoaXMu
aW5pdEZpZWxkc18odmFsdWVzKTsKLSAgfQotCi0KLSAgVXNiRGV2aWNlX0dlbmVyaWNUcmFuc2Zl
ck91dF9QYXJhbXMucHJvdG90eXBlLmluaXREZWZhdWx0c18gPSBmdW5jdGlvbigpIHsKLSAgICB0
aGlzLmVuZHBvaW50TnVtYmVyID0gMDsKLSAgICB0aGlzLnRpbWVvdXQgPSAwOwotICAgIHRoaXMu
ZGF0YSA9IG51bGw7Ci0gIH07Ci0gIFVzYkRldmljZV9HZW5lcmljVHJhbnNmZXJPdXRfUGFyYW1z
LnByb3RvdHlwZS5pbml0RmllbGRzXyA9IGZ1bmN0aW9uKGZpZWxkcykgewotICAgIGZvcih2YXIg
ZmllbGQgaW4gZmllbGRzKSB7Ci0gICAgICAgIGlmICh0aGlzLmhhc093blByb3BlcnR5KGZpZWxk
KSkKLSAgICAgICAgICB0aGlzW2ZpZWxkXSA9IGZpZWxkc1tmaWVsZF07Ci0gICAgfQotICB9Owot
Ci0gIFVzYkRldmljZV9HZW5lcmljVHJhbnNmZXJPdXRfUGFyYW1zLnZhbGlkYXRlID0gZnVuY3Rp
b24obWVzc2FnZVZhbGlkYXRvciwgb2Zmc2V0KSB7Ci0gICAgdmFyIGVycjsKLSAgICBlcnIgPSBt
ZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0SGVhZGVyKG9mZnNldCwgY29kZWMua1N0cnVj
dEhlYWRlclNpemUpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3Iu
Tk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHZhciBrVmVyc2lvblNpemVzID0gWwot
ICAgICAge3ZlcnNpb246IDAsIG51bUJ5dGVzOiAyNH0KLSAgICBdOwotICAgIGVyciA9IG1lc3Nh
Z2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RWZXJzaW9uKG9mZnNldCwga1ZlcnNpb25TaXplcyk7
Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAg
ICByZXR1cm4gZXJyOwotCi0KLQotICAgIAotICAgIC8vIHZhbGlkYXRlIFVzYkRldmljZV9HZW5l
cmljVHJhbnNmZXJPdXRfUGFyYW1zLmRhdGEKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZh
bGlkYXRlQXJyYXlQb2ludGVyKG9mZnNldCArIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgOCwg
MSwgY29kZWMuVWludDgsIGZhbHNlLCBbMF0sIDApOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRv
ci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0gICAgcmV0
dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQotICBVc2JEZXZpY2Vf
R2VuZXJpY1RyYW5zZmVyT3V0X1BhcmFtcy5lbmNvZGVkU2l6ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFk
ZXJTaXplICsgMTY7Ci0KLSAgVXNiRGV2aWNlX0dlbmVyaWNUcmFuc2Zlck91dF9QYXJhbXMuZGVj
b2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgdmFyIHZhbCA9
IG5ldyBVc2JEZXZpY2VfR2VuZXJpY1RyYW5zZmVyT3V0X1BhcmFtcygpOwotICAgIHZhciBudW1i
ZXJPZkJ5dGVzID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFyIHZlcnNpb24gPSBkZWNv
ZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YWwuZW5kcG9pbnROdW1iZXIgPSBkZWNvZGVyLmRlY29k
ZVN0cnVjdChjb2RlYy5VaW50OCk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIu
c2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgdmFsLnRpbWVvdXQgPSBkZWNvZGVy
LmRlY29kZVN0cnVjdChjb2RlYy5VaW50MzIpOwotICAgIHZhbC5kYXRhID0gZGVjb2Rlci5kZWNv
ZGVBcnJheVBvaW50ZXIoY29kZWMuVWludDgpOwotICAgIHJldHVybiB2YWw7Ci0gIH07Ci0KLSAg
VXNiRGV2aWNlX0dlbmVyaWNUcmFuc2Zlck91dF9QYXJhbXMuZW5jb2RlID0gZnVuY3Rpb24oZW5j
b2RlciwgdmFsKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKFVz
YkRldmljZV9HZW5lcmljVHJhbnNmZXJPdXRfUGFyYW1zLmVuY29kZWRTaXplKTsKLSAgICBlbmNv
ZGVyLndyaXRlVWludDMyKDApOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNvZGVjLlVpbnQ4
LCB2YWwuZW5kcG9pbnROdW1iZXIpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVy
LnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0
KGNvZGVjLlVpbnQzMiwgdmFsLnRpbWVvdXQpOwotICAgIGVuY29kZXIuZW5jb2RlQXJyYXlQb2lu
dGVyKGNvZGVjLlVpbnQ4LCB2YWwuZGF0YSk7Ci0gIH07Ci0gIGZ1bmN0aW9uIFVzYkRldmljZV9H
ZW5lcmljVHJhbnNmZXJPdXRfUmVzcG9uc2VQYXJhbXModmFsdWVzKSB7Ci0gICAgdGhpcy5pbml0
RGVmYXVsdHNfKCk7Ci0gICAgdGhpcy5pbml0RmllbGRzXyh2YWx1ZXMpOwotICB9Ci0KLQotICBV
c2JEZXZpY2VfR2VuZXJpY1RyYW5zZmVyT3V0X1Jlc3BvbnNlUGFyYW1zLnByb3RvdHlwZS5pbml0
RGVmYXVsdHNfID0gZnVuY3Rpb24oKSB7Ci0gICAgdGhpcy5zdGF0dXMgPSAwOwotICB9OwotICBV
c2JEZXZpY2VfR2VuZXJpY1RyYW5zZmVyT3V0X1Jlc3BvbnNlUGFyYW1zLnByb3RvdHlwZS5pbml0
RmllbGRzXyA9IGZ1bmN0aW9uKGZpZWxkcykgewotICAgIGZvcih2YXIgZmllbGQgaW4gZmllbGRz
KSB7Ci0gICAgICAgIGlmICh0aGlzLmhhc093blByb3BlcnR5KGZpZWxkKSkKLSAgICAgICAgICB0
aGlzW2ZpZWxkXSA9IGZpZWxkc1tmaWVsZF07Ci0gICAgfQotICB9OwotCi0gIFVzYkRldmljZV9H
ZW5lcmljVHJhbnNmZXJPdXRfUmVzcG9uc2VQYXJhbXMudmFsaWRhdGUgPSBmdW5jdGlvbihtZXNz
YWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsKLSAgICB2YXIgZXJyOwotICAgIGVyciA9IG1lc3NhZ2VW
YWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RIZWFkZXIob2Zmc2V0LCBjb2RlYy5rU3RydWN0SGVhZGVy
U2l6ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQot
ICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgdmFyIGtWZXJzaW9uU2l6ZXMgPSBbCi0gICAgICB7
dmVyc2lvbjogMCwgbnVtQnl0ZXM6IDE2fQotICAgIF07Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlk
YXRvci52YWxpZGF0ZVN0cnVjdFZlcnNpb24ob2Zmc2V0LCBrVmVyc2lvblNpemVzKTsKLSAgICBp
ZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVy
biBlcnI7Ci0KLQotICAgIAotICAgIC8vIHZhbGlkYXRlIFVzYkRldmljZV9HZW5lcmljVHJhbnNm
ZXJPdXRfUmVzcG9uc2VQYXJhbXMuc3RhdHVzCi0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52
YWxpZGF0ZUVudW0ob2Zmc2V0ICsgY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyAwLCBVc2JUcmFu
c2ZlclN0YXR1cyk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5O
T05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0
aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQotICBVc2JEZXZpY2VfR2VuZXJpY1RyYW5zZmVyT3V0X1Jl
c3BvbnNlUGFyYW1zLmVuY29kZWRTaXplID0gY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyA4Owot
Ci0gIFVzYkRldmljZV9HZW5lcmljVHJhbnNmZXJPdXRfUmVzcG9uc2VQYXJhbXMuZGVjb2RlID0g
ZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgdmFyIHZhbCA9IG5ldyBV
c2JEZXZpY2VfR2VuZXJpY1RyYW5zZmVyT3V0X1Jlc3BvbnNlUGFyYW1zKCk7Ci0gICAgdmFyIG51
bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YXIgdmVyc2lvbiA9IGRl
Y29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhbC5zdGF0dXMgPSBkZWNvZGVyLmRlY29kZVN0cnVj
dChjb2RlYy5JbnQzMik7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgx
KTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIHJldHVy
biB2YWw7Ci0gIH07Ci0KLSAgVXNiRGV2aWNlX0dlbmVyaWNUcmFuc2Zlck91dF9SZXNwb25zZVBh
cmFtcy5lbmNvZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2YWwpIHsKLSAgICB2YXIgcGFja2VkOwot
ICAgIGVuY29kZXIud3JpdGVVaW50MzIoVXNiRGV2aWNlX0dlbmVyaWNUcmFuc2Zlck91dF9SZXNw
b25zZVBhcmFtcy5lbmNvZGVkU2l6ZSk7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMigwKTsKLSAg
ICBlbmNvZGVyLmVuY29kZVN0cnVjdChjb2RlYy5JbnQzMiwgdmFsLnN0YXR1cyk7Ci0gICAgZW5j
b2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7
Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICB9OwotICBmdW5jdGlvbiBVc2JEZXZpY2VfSXNvY2hy
b25vdXNUcmFuc2ZlckluX1BhcmFtcyh2YWx1ZXMpIHsKLSAgICB0aGlzLmluaXREZWZhdWx0c18o
KTsKLSAgICB0aGlzLmluaXRGaWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0gIFVzYkRldmljZV9J
c29jaHJvbm91c1RyYW5zZmVySW5fUGFyYW1zLnByb3RvdHlwZS5pbml0RGVmYXVsdHNfID0gZnVu
Y3Rpb24oKSB7Ci0gICAgdGhpcy5lbmRwb2ludE51bWJlciA9IDA7Ci0gICAgdGhpcy50aW1lb3V0
ID0gMDsKLSAgICB0aGlzLnBhY2tldExlbmd0aHMgPSBudWxsOwotICB9OwotICBVc2JEZXZpY2Vf
SXNvY2hyb25vdXNUcmFuc2ZlckluX1BhcmFtcy5wcm90b3R5cGUuaW5pdEZpZWxkc18gPSBmdW5j
dGlvbihmaWVsZHMpIHsKLSAgICBmb3IodmFyIGZpZWxkIGluIGZpZWxkcykgewotICAgICAgICBp
ZiAodGhpcy5oYXNPd25Qcm9wZXJ0eShmaWVsZCkpCi0gICAgICAgICAgdGhpc1tmaWVsZF0gPSBm
aWVsZHNbZmllbGRdOwotICAgIH0KLSAgfTsKLQotICBVc2JEZXZpY2VfSXNvY2hyb25vdXNUcmFu
c2ZlckluX1BhcmFtcy52YWxpZGF0ZSA9IGZ1bmN0aW9uKG1lc3NhZ2VWYWxpZGF0b3IsIG9mZnNl
dCkgewotICAgIHZhciBlcnI7Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0
cnVjdEhlYWRlcihvZmZzZXQsIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplKTsKLSAgICBpZiAoZXJy
ICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7
Ci0KLSAgICB2YXIga1ZlcnNpb25TaXplcyA9IFsKLSAgICAgIHt2ZXJzaW9uOiAwLCBudW1CeXRl
czogMjR9Ci0gICAgXTsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0
VmVyc2lvbihvZmZzZXQsIGtWZXJzaW9uU2l6ZXMpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRv
ci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0KLSAgICAK
LSAgICAvLyB2YWxpZGF0ZSBVc2JEZXZpY2VfSXNvY2hyb25vdXNUcmFuc2ZlckluX1BhcmFtcy5w
YWNrZXRMZW5ndGhzCi0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZUFycmF5UG9p
bnRlcihvZmZzZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDgsIDQsIGNvZGVjLlVpbnQz
MiwgZmFsc2UsIFswXSwgMCk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25F
cnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0KLSAgICByZXR1cm4gdmFsaWRhdG9y
LnZhbGlkYXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIFVzYkRldmljZV9Jc29jaHJvbm91c1Ry
YW5zZmVySW5fUGFyYW1zLmVuY29kZWRTaXplID0gY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyAx
NjsKLQotICBVc2JEZXZpY2VfSXNvY2hyb25vdXNUcmFuc2ZlckluX1BhcmFtcy5kZWNvZGUgPSBm
dW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICB2YXIgdmFsID0gbmV3IFVz
YkRldmljZV9Jc29jaHJvbm91c1RyYW5zZmVySW5fUGFyYW1zKCk7Ci0gICAgdmFyIG51bWJlck9m
Qnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YXIgdmVyc2lvbiA9IGRlY29kZXIu
cmVhZFVpbnQzMigpOwotICAgIHZhbC5lbmRwb2ludE51bWJlciA9IGRlY29kZXIuZGVjb2RlU3Ry
dWN0KGNvZGVjLlVpbnQ4KTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lw
KDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICB2YWwudGltZW91dCA9IGRlY29kZXIuZGVj
b2RlU3RydWN0KGNvZGVjLlVpbnQzMik7Ci0gICAgdmFsLnBhY2tldExlbmd0aHMgPSBkZWNvZGVy
LmRlY29kZUFycmF5UG9pbnRlcihjb2RlYy5VaW50MzIpOwotICAgIHJldHVybiB2YWw7Ci0gIH07
Ci0KLSAgVXNiRGV2aWNlX0lzb2Nocm9ub3VzVHJhbnNmZXJJbl9QYXJhbXMuZW5jb2RlID0gZnVu
Y3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICBlbmNvZGVyLndyaXRl
VWludDMyKFVzYkRldmljZV9Jc29jaHJvbm91c1RyYW5zZmVySW5fUGFyYW1zLmVuY29kZWRTaXpl
KTsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKDApOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0
KGNvZGVjLlVpbnQ4LCB2YWwuZW5kcG9pbnROdW1iZXIpOwotICAgIGVuY29kZXIuc2tpcCgxKTsK
LSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIu
ZW5jb2RlU3RydWN0KGNvZGVjLlVpbnQzMiwgdmFsLnRpbWVvdXQpOwotICAgIGVuY29kZXIuZW5j
b2RlQXJyYXlQb2ludGVyKGNvZGVjLlVpbnQzMiwgdmFsLnBhY2tldExlbmd0aHMpOwotICB9Owot
ICBmdW5jdGlvbiBVc2JEZXZpY2VfSXNvY2hyb25vdXNUcmFuc2ZlckluX1Jlc3BvbnNlUGFyYW1z
KHZhbHVlcykgewotICAgIHRoaXMuaW5pdERlZmF1bHRzXygpOwotICAgIHRoaXMuaW5pdEZpZWxk
c18odmFsdWVzKTsKLSAgfQotCi0KLSAgVXNiRGV2aWNlX0lzb2Nocm9ub3VzVHJhbnNmZXJJbl9S
ZXNwb25zZVBhcmFtcy5wcm90b3R5cGUuaW5pdERlZmF1bHRzXyA9IGZ1bmN0aW9uKCkgewotICAg
IHRoaXMuZGF0YSA9IG51bGw7Ci0gICAgdGhpcy5wYWNrZXRzID0gbnVsbDsKLSAgfTsKLSAgVXNi
RGV2aWNlX0lzb2Nocm9ub3VzVHJhbnNmZXJJbl9SZXNwb25zZVBhcmFtcy5wcm90b3R5cGUuaW5p
dEZpZWxkc18gPSBmdW5jdGlvbihmaWVsZHMpIHsKLSAgICBmb3IodmFyIGZpZWxkIGluIGZpZWxk
cykgewotICAgICAgICBpZiAodGhpcy5oYXNPd25Qcm9wZXJ0eShmaWVsZCkpCi0gICAgICAgICAg
dGhpc1tmaWVsZF0gPSBmaWVsZHNbZmllbGRdOwotICAgIH0KLSAgfTsKLQotICBVc2JEZXZpY2Vf
SXNvY2hyb25vdXNUcmFuc2ZlckluX1Jlc3BvbnNlUGFyYW1zLnZhbGlkYXRlID0gZnVuY3Rpb24o
bWVzc2FnZVZhbGlkYXRvciwgb2Zmc2V0KSB7Ci0gICAgdmFyIGVycjsKLSAgICBlcnIgPSBtZXNz
YWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0SGVhZGVyKG9mZnNldCwgY29kZWMua1N0cnVjdEhl
YWRlclNpemUpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9O
RSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHZhciBrVmVyc2lvblNpemVzID0gWwotICAg
ICAge3ZlcnNpb246IDAsIG51bUJ5dGVzOiAyNH0KLSAgICBdOwotICAgIGVyciA9IG1lc3NhZ2VW
YWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RWZXJzaW9uKG9mZnNldCwga1ZlcnNpb25TaXplcyk7Ci0g
ICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICBy
ZXR1cm4gZXJyOwotCi0KLSAgICAKLSAgICAvLyB2YWxpZGF0ZSBVc2JEZXZpY2VfSXNvY2hyb25v
dXNUcmFuc2ZlckluX1Jlc3BvbnNlUGFyYW1zLmRhdGEKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRh
dG9yLnZhbGlkYXRlQXJyYXlQb2ludGVyKG9mZnNldCArIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXpl
ICsgMCwgMSwgY29kZWMuVWludDgsIHRydWUsIFswXSwgMCk7Ci0gICAgaWYgKGVyciAhPT0gdmFs
aWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0KLSAg
ICAKLSAgICAvLyB2YWxpZGF0ZSBVc2JEZXZpY2VfSXNvY2hyb25vdXNUcmFuc2ZlckluX1Jlc3Bv
bnNlUGFyYW1zLnBhY2tldHMKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlQXJy
YXlQb2ludGVyKG9mZnNldCArIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgOCwgOCwgbmV3IGNv
ZGVjLlBvaW50ZXJUbyhVc2JJc29jaHJvbm91c1BhY2tldCksIGZhbHNlLCBbMF0sIDApOwotICAg
IGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0
dXJuIGVycjsKLQotICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0g
IH07Ci0KLSAgVXNiRGV2aWNlX0lzb2Nocm9ub3VzVHJhbnNmZXJJbl9SZXNwb25zZVBhcmFtcy5l
bmNvZGVkU2l6ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgMTY7Ci0KLSAgVXNiRGV2aWNl
X0lzb2Nocm9ub3VzVHJhbnNmZXJJbl9SZXNwb25zZVBhcmFtcy5kZWNvZGUgPSBmdW5jdGlvbihk
ZWNvZGVyKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICB2YXIgdmFsID0gbmV3IFVzYkRldmljZV9J
c29jaHJvbm91c1RyYW5zZmVySW5fUmVzcG9uc2VQYXJhbXMoKTsKLSAgICB2YXIgbnVtYmVyT2ZC
eXRlcyA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhciB2ZXJzaW9uID0gZGVjb2Rlci5y
ZWFkVWludDMyKCk7Ci0gICAgdmFsLmRhdGEgPSBkZWNvZGVyLmRlY29kZUFycmF5UG9pbnRlcihj
b2RlYy5VaW50OCk7Ci0gICAgdmFsLnBhY2tldHMgPSBkZWNvZGVyLmRlY29kZUFycmF5UG9pbnRl
cihuZXcgY29kZWMuUG9pbnRlclRvKFVzYklzb2Nocm9ub3VzUGFja2V0KSk7Ci0gICAgcmV0dXJu
IHZhbDsKLSAgfTsKLQotICBVc2JEZXZpY2VfSXNvY2hyb25vdXNUcmFuc2ZlckluX1Jlc3BvbnNl
UGFyYW1zLmVuY29kZSA9IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgIHZhciBwYWNrZWQ7
Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMihVc2JEZXZpY2VfSXNvY2hyb25vdXNUcmFuc2Zlcklu
X1Jlc3BvbnNlUGFyYW1zLmVuY29kZWRTaXplKTsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKDAp
OwotICAgIGVuY29kZXIuZW5jb2RlQXJyYXlQb2ludGVyKGNvZGVjLlVpbnQ4LCB2YWwuZGF0YSk7
Ci0gICAgZW5jb2Rlci5lbmNvZGVBcnJheVBvaW50ZXIobmV3IGNvZGVjLlBvaW50ZXJUbyhVc2JJ
c29jaHJvbm91c1BhY2tldCksIHZhbC5wYWNrZXRzKTsKLSAgfTsKLSAgZnVuY3Rpb24gVXNiRGV2
aWNlX0lzb2Nocm9ub3VzVHJhbnNmZXJPdXRfUGFyYW1zKHZhbHVlcykgewotICAgIHRoaXMuaW5p
dERlZmF1bHRzXygpOwotICAgIHRoaXMuaW5pdEZpZWxkc18odmFsdWVzKTsKLSAgfQotCi0KLSAg
VXNiRGV2aWNlX0lzb2Nocm9ub3VzVHJhbnNmZXJPdXRfUGFyYW1zLnByb3RvdHlwZS5pbml0RGVm
YXVsdHNfID0gZnVuY3Rpb24oKSB7Ci0gICAgdGhpcy5lbmRwb2ludE51bWJlciA9IDA7Ci0gICAg
dGhpcy50aW1lb3V0ID0gMDsKLSAgICB0aGlzLmRhdGEgPSBudWxsOwotICAgIHRoaXMucGFja2V0
TGVuZ3RocyA9IG51bGw7Ci0gIH07Ci0gIFVzYkRldmljZV9Jc29jaHJvbm91c1RyYW5zZmVyT3V0
X1BhcmFtcy5wcm90b3R5cGUuaW5pdEZpZWxkc18gPSBmdW5jdGlvbihmaWVsZHMpIHsKLSAgICBm
b3IodmFyIGZpZWxkIGluIGZpZWxkcykgewotICAgICAgICBpZiAodGhpcy5oYXNPd25Qcm9wZXJ0
eShmaWVsZCkpCi0gICAgICAgICAgdGhpc1tmaWVsZF0gPSBmaWVsZHNbZmllbGRdOwotICAgIH0K
LSAgfTsKLQotICBVc2JEZXZpY2VfSXNvY2hyb25vdXNUcmFuc2Zlck91dF9QYXJhbXMudmFsaWRh
dGUgPSBmdW5jdGlvbihtZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsKLSAgICB2YXIgZXJyOwot
ICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RIZWFkZXIob2Zmc2V0LCBj
b2RlYy5rU3RydWN0SGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlk
YXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgdmFyIGtWZXJzaW9u
U2l6ZXMgPSBbCi0gICAgICB7dmVyc2lvbjogMCwgbnVtQnl0ZXM6IDMyfQotICAgIF07Ci0gICAg
ZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFZlcnNpb24ob2Zmc2V0LCBrVmVy
c2lvblNpemVzKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5P
TkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotCi0gICAgCi0gICAgLy8gdmFsaWRhdGUgVXNi
RGV2aWNlX0lzb2Nocm9ub3VzVHJhbnNmZXJPdXRfUGFyYW1zLmRhdGEKLSAgICBlcnIgPSBtZXNz
YWdlVmFsaWRhdG9yLnZhbGlkYXRlQXJyYXlQb2ludGVyKG9mZnNldCArIGNvZGVjLmtTdHJ1Y3RI
ZWFkZXJTaXplICsgOCwgMSwgY29kZWMuVWludDgsIGZhbHNlLCBbMF0sIDApOwotICAgIGlmIChl
cnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVy
cjsKLQotCi0gICAgCi0gICAgLy8gdmFsaWRhdGUgVXNiRGV2aWNlX0lzb2Nocm9ub3VzVHJhbnNm
ZXJPdXRfUGFyYW1zLnBhY2tldExlbmd0aHMKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZh
bGlkYXRlQXJyYXlQb2ludGVyKG9mZnNldCArIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgMTYs
IDQsIGNvZGVjLlVpbnQzMiwgZmFsc2UsIFswXSwgMCk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRh
dG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0KLSAgICBy
ZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIFVzYkRldmlj
ZV9Jc29jaHJvbm91c1RyYW5zZmVyT3V0X1BhcmFtcy5lbmNvZGVkU2l6ZSA9IGNvZGVjLmtTdHJ1
Y3RIZWFkZXJTaXplICsgMjQ7Ci0KLSAgVXNiRGV2aWNlX0lzb2Nocm9ub3VzVHJhbnNmZXJPdXRf
UGFyYW1zLmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICB2YXIgcGFja2VkOwotICAg
IHZhciB2YWwgPSBuZXcgVXNiRGV2aWNlX0lzb2Nocm9ub3VzVHJhbnNmZXJPdXRfUGFyYW1zKCk7
Ci0gICAgdmFyIG51bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YXIg
dmVyc2lvbiA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhbC5lbmRwb2ludE51bWJlciA9
IGRlY29kZXIuZGVjb2RlU3RydWN0KGNvZGVjLlVpbnQ4KTsKLSAgICBkZWNvZGVyLnNraXAoMSk7
Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICB2YWwudGlt
ZW91dCA9IGRlY29kZXIuZGVjb2RlU3RydWN0KGNvZGVjLlVpbnQzMik7Ci0gICAgdmFsLmRhdGEg
PSBkZWNvZGVyLmRlY29kZUFycmF5UG9pbnRlcihjb2RlYy5VaW50OCk7Ci0gICAgdmFsLnBhY2tl
dExlbmd0aHMgPSBkZWNvZGVyLmRlY29kZUFycmF5UG9pbnRlcihjb2RlYy5VaW50MzIpOwotICAg
IHJldHVybiB2YWw7Ci0gIH07Ci0KLSAgVXNiRGV2aWNlX0lzb2Nocm9ub3VzVHJhbnNmZXJPdXRf
UGFyYW1zLmVuY29kZSA9IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgIHZhciBwYWNrZWQ7
Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMihVc2JEZXZpY2VfSXNvY2hyb25vdXNUcmFuc2Zlck91
dF9QYXJhbXMuZW5jb2RlZFNpemUpOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoMCk7Ci0gICAg
ZW5jb2Rlci5lbmNvZGVTdHJ1Y3QoY29kZWMuVWludDgsIHZhbC5lbmRwb2ludE51bWJlcik7Ci0g
ICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNr
aXAoMSk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3QoY29kZWMuVWludDMyLCB2YWwudGltZW91
dCk7Ci0gICAgZW5jb2Rlci5lbmNvZGVBcnJheVBvaW50ZXIoY29kZWMuVWludDgsIHZhbC5kYXRh
KTsKLSAgICBlbmNvZGVyLmVuY29kZUFycmF5UG9pbnRlcihjb2RlYy5VaW50MzIsIHZhbC5wYWNr
ZXRMZW5ndGhzKTsKLSAgfTsKLSAgZnVuY3Rpb24gVXNiRGV2aWNlX0lzb2Nocm9ub3VzVHJhbnNm
ZXJPdXRfUmVzcG9uc2VQYXJhbXModmFsdWVzKSB7Ci0gICAgdGhpcy5pbml0RGVmYXVsdHNfKCk7
Ci0gICAgdGhpcy5pbml0RmllbGRzXyh2YWx1ZXMpOwotICB9Ci0KLQotICBVc2JEZXZpY2VfSXNv
Y2hyb25vdXNUcmFuc2Zlck91dF9SZXNwb25zZVBhcmFtcy5wcm90b3R5cGUuaW5pdERlZmF1bHRz
XyA9IGZ1bmN0aW9uKCkgewotICAgIHRoaXMucGFja2V0cyA9IG51bGw7Ci0gIH07Ci0gIFVzYkRl
dmljZV9Jc29jaHJvbm91c1RyYW5zZmVyT3V0X1Jlc3BvbnNlUGFyYW1zLnByb3RvdHlwZS5pbml0
RmllbGRzXyA9IGZ1bmN0aW9uKGZpZWxkcykgewotICAgIGZvcih2YXIgZmllbGQgaW4gZmllbGRz
KSB7Ci0gICAgICAgIGlmICh0aGlzLmhhc093blByb3BlcnR5KGZpZWxkKSkKLSAgICAgICAgICB0
aGlzW2ZpZWxkXSA9IGZpZWxkc1tmaWVsZF07Ci0gICAgfQotICB9OwotCi0gIFVzYkRldmljZV9J
c29jaHJvbm91c1RyYW5zZmVyT3V0X1Jlc3BvbnNlUGFyYW1zLnZhbGlkYXRlID0gZnVuY3Rpb24o
bWVzc2FnZVZhbGlkYXRvciwgb2Zmc2V0KSB7Ci0gICAgdmFyIGVycjsKLSAgICBlcnIgPSBtZXNz
YWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0SGVhZGVyKG9mZnNldCwgY29kZWMua1N0cnVjdEhl
YWRlclNpemUpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9O
RSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHZhciBrVmVyc2lvblNpemVzID0gWwotICAg
ICAge3ZlcnNpb246IDAsIG51bUJ5dGVzOiAxNn0KLSAgICBdOwotICAgIGVyciA9IG1lc3NhZ2VW
YWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RWZXJzaW9uKG9mZnNldCwga1ZlcnNpb25TaXplcyk7Ci0g
ICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICBy
ZXR1cm4gZXJyOwotCi0KLSAgICAKLSAgICAvLyB2YWxpZGF0ZSBVc2JEZXZpY2VfSXNvY2hyb25v
dXNUcmFuc2Zlck91dF9SZXNwb25zZVBhcmFtcy5wYWNrZXRzCi0gICAgZXJyID0gbWVzc2FnZVZh
bGlkYXRvci52YWxpZGF0ZUFycmF5UG9pbnRlcihvZmZzZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVy
U2l6ZSArIDAsIDgsIG5ldyBjb2RlYy5Qb2ludGVyVG8oVXNiSXNvY2hyb25vdXNQYWNrZXQpLCBm
YWxzZSwgWzBdLCAwKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9y
Lk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlk
YXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIFVzYkRldmljZV9Jc29jaHJvbm91c1RyYW5zZmVy
T3V0X1Jlc3BvbnNlUGFyYW1zLmVuY29kZWRTaXplID0gY29kZWMua1N0cnVjdEhlYWRlclNpemUg
KyA4OwotCi0gIFVzYkRldmljZV9Jc29jaHJvbm91c1RyYW5zZmVyT3V0X1Jlc3BvbnNlUGFyYW1z
LmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIHZhciB2
YWwgPSBuZXcgVXNiRGV2aWNlX0lzb2Nocm9ub3VzVHJhbnNmZXJPdXRfUmVzcG9uc2VQYXJhbXMo
KTsKLSAgICB2YXIgbnVtYmVyT2ZCeXRlcyA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZh
ciB2ZXJzaW9uID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFsLnBhY2tldHMgPSBkZWNv
ZGVyLmRlY29kZUFycmF5UG9pbnRlcihuZXcgY29kZWMuUG9pbnRlclRvKFVzYklzb2Nocm9ub3Vz
UGFja2V0KSk7Ci0gICAgcmV0dXJuIHZhbDsKLSAgfTsKLQotICBVc2JEZXZpY2VfSXNvY2hyb25v
dXNUcmFuc2Zlck91dF9SZXNwb25zZVBhcmFtcy5lbmNvZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2
YWwpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoVXNiRGV2aWNl
X0lzb2Nocm9ub3VzVHJhbnNmZXJPdXRfUmVzcG9uc2VQYXJhbXMuZW5jb2RlZFNpemUpOwotICAg
IGVuY29kZXIud3JpdGVVaW50MzIoMCk7Ci0gICAgZW5jb2Rlci5lbmNvZGVBcnJheVBvaW50ZXIo
bmV3IGNvZGVjLlBvaW50ZXJUbyhVc2JJc29jaHJvbm91c1BhY2tldCksIHZhbC5wYWNrZXRzKTsK
LSAgfTsKLSAgdmFyIGtVc2JEZXZpY2VfT3Blbl9OYW1lID0gMDsKLSAgdmFyIGtVc2JEZXZpY2Vf
Q2xvc2VfTmFtZSA9IDE7Ci0gIHZhciBrVXNiRGV2aWNlX1NldENvbmZpZ3VyYXRpb25fTmFtZSA9
IDI7Ci0gIHZhciBrVXNiRGV2aWNlX0NsYWltSW50ZXJmYWNlX05hbWUgPSAzOwotICB2YXIga1Vz
YkRldmljZV9SZWxlYXNlSW50ZXJmYWNlX05hbWUgPSA0OwotICB2YXIga1VzYkRldmljZV9TZXRJ
bnRlcmZhY2VBbHRlcm5hdGVTZXR0aW5nX05hbWUgPSA1OwotICB2YXIga1VzYkRldmljZV9SZXNl
dF9OYW1lID0gNjsKLSAgdmFyIGtVc2JEZXZpY2VfQ2xlYXJIYWx0X05hbWUgPSA3OwotICB2YXIg
a1VzYkRldmljZV9Db250cm9sVHJhbnNmZXJJbl9OYW1lID0gODsKLSAgdmFyIGtVc2JEZXZpY2Vf
Q29udHJvbFRyYW5zZmVyT3V0X05hbWUgPSA5OwotICB2YXIga1VzYkRldmljZV9HZW5lcmljVHJh
bnNmZXJJbl9OYW1lID0gMTA7Ci0gIHZhciBrVXNiRGV2aWNlX0dlbmVyaWNUcmFuc2Zlck91dF9O
YW1lID0gMTE7Ci0gIHZhciBrVXNiRGV2aWNlX0lzb2Nocm9ub3VzVHJhbnNmZXJJbl9OYW1lID0g
MTI7Ci0gIHZhciBrVXNiRGV2aWNlX0lzb2Nocm9ub3VzVHJhbnNmZXJPdXRfTmFtZSA9IDEzOwot
Ci0gIGZ1bmN0aW9uIFVzYkRldmljZVB0cihoYW5kbGVPclB0ckluZm8pIHsKLSAgICB0aGlzLnB0
ciA9IG5ldyBiaW5kaW5ncy5JbnRlcmZhY2VQdHJDb250cm9sbGVyKFVzYkRldmljZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZU9yUHRy
SW5mbyk7Ci0gIH0KLQotICBmdW5jdGlvbiBVc2JEZXZpY2VBc3NvY2lhdGVkUHRyKGFzc29jaWF0
ZWRJbnRlcmZhY2VQdHJJbmZvKSB7Ci0gICAgdGhpcy5wdHIgPSBuZXcgYXNzb2NpYXRlZEJpbmRp
bmdzLkFzc29jaWF0ZWRJbnRlcmZhY2VQdHJDb250cm9sbGVyKAotICAgICAgICBVc2JEZXZpY2Us
IGFzc29jaWF0ZWRJbnRlcmZhY2VQdHJJbmZvKTsKLSAgfQotCi0gIFVzYkRldmljZUFzc29jaWF0
ZWRQdHIucHJvdG90eXBlID0KLSAgICAgIE9iamVjdC5jcmVhdGUoVXNiRGV2aWNlUHRyLnByb3Rv
dHlwZSk7Ci0gIFVzYkRldmljZUFzc29jaWF0ZWRQdHIucHJvdG90eXBlLmNvbnN0cnVjdG9yID0K
LSAgICAgIFVzYkRldmljZUFzc29jaWF0ZWRQdHI7Ci0KLSAgZnVuY3Rpb24gVXNiRGV2aWNlUHJv
eHkocmVjZWl2ZXIpIHsKLSAgICB0aGlzLnJlY2VpdmVyXyA9IHJlY2VpdmVyOwotICB9Ci0gIFVz
YkRldmljZVB0ci5wcm90b3R5cGUub3BlbiA9IGZ1bmN0aW9uKCkgewotICAgIHJldHVybiBVc2JE
ZXZpY2VQcm94eS5wcm90b3R5cGUub3BlbgotICAgICAgICAuYXBwbHkodGhpcy5wdHIuZ2V0UHJv
eHkoKSwgYXJndW1lbnRzKTsKLSAgfTsKLQotICBVc2JEZXZpY2VQcm94eS5wcm90b3R5cGUub3Bl
biA9IGZ1bmN0aW9uKCkgewotICAgIHZhciBwYXJhbXMgPSBuZXcgVXNiRGV2aWNlX09wZW5fUGFy
YW1zKCk7Ci0gICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkg
ewotICAgICAgdmFyIGJ1aWxkZXIgPSBuZXcgY29kZWMuTWVzc2FnZVYxQnVpbGRlcigKLSAgICAg
ICAgICBrVXNiRGV2aWNlX09wZW5fTmFtZSwKLSAgICAgICAgICBjb2RlYy5hbGlnbihVc2JEZXZp
Y2VfT3Blbl9QYXJhbXMuZW5jb2RlZFNpemUpLAotICAgICAgICAgIGNvZGVjLmtNZXNzYWdlRXhw
ZWN0c1Jlc3BvbnNlLCAwKTsKLSAgICAgIGJ1aWxkZXIuZW5jb2RlU3RydWN0KFVzYkRldmljZV9P
cGVuX1BhcmFtcywgcGFyYW1zKTsKLSAgICAgIHZhciBtZXNzYWdlID0gYnVpbGRlci5maW5pc2go
KTsKLSAgICAgIHRoaXMucmVjZWl2ZXJfLmFjY2VwdEFuZEV4cGVjdFJlc3BvbnNlKG1lc3NhZ2Up
LnRoZW4oZnVuY3Rpb24obWVzc2FnZSkgewotICAgICAgICB2YXIgcmVhZGVyID0gbmV3IGNvZGVj
Lk1lc3NhZ2VSZWFkZXIobWVzc2FnZSk7Ci0gICAgICAgIHZhciByZXNwb25zZVBhcmFtcyA9Ci0g
ICAgICAgICAgICByZWFkZXIuZGVjb2RlU3RydWN0KFVzYkRldmljZV9PcGVuX1Jlc3BvbnNlUGFy
YW1zKTsKLSAgICAgICAgcmVzb2x2ZShyZXNwb25zZVBhcmFtcyk7Ci0gICAgICB9KS5jYXRjaChm
dW5jdGlvbihyZXN1bHQpIHsKLSAgICAgICAgcmVqZWN0KEVycm9yKCJDb25uZWN0aW9uIGVycm9y
OiAiICsgcmVzdWx0KSk7Ci0gICAgICB9KTsKLSAgICB9LmJpbmQodGhpcykpOwotICB9OwotICBV
c2JEZXZpY2VQdHIucHJvdG90eXBlLmNsb3NlID0gZnVuY3Rpb24oKSB7Ci0gICAgcmV0dXJuIFVz
YkRldmljZVByb3h5LnByb3RvdHlwZS5jbG9zZQotICAgICAgICAuYXBwbHkodGhpcy5wdHIuZ2V0
UHJveHkoKSwgYXJndW1lbnRzKTsKLSAgfTsKLQotICBVc2JEZXZpY2VQcm94eS5wcm90b3R5cGUu
Y2xvc2UgPSBmdW5jdGlvbigpIHsKLSAgICB2YXIgcGFyYW1zID0gbmV3IFVzYkRldmljZV9DbG9z
ZV9QYXJhbXMoKTsKLSAgICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVq
ZWN0KSB7Ci0gICAgICB2YXIgYnVpbGRlciA9IG5ldyBjb2RlYy5NZXNzYWdlVjFCdWlsZGVyKAot
ICAgICAgICAgIGtVc2JEZXZpY2VfQ2xvc2VfTmFtZSwKLSAgICAgICAgICBjb2RlYy5hbGlnbihV
c2JEZXZpY2VfQ2xvc2VfUGFyYW1zLmVuY29kZWRTaXplKSwKLSAgICAgICAgICBjb2RlYy5rTWVz
c2FnZUV4cGVjdHNSZXNwb25zZSwgMCk7Ci0gICAgICBidWlsZGVyLmVuY29kZVN0cnVjdChVc2JE
ZXZpY2VfQ2xvc2VfUGFyYW1zLCBwYXJhbXMpOwotICAgICAgdmFyIG1lc3NhZ2UgPSBidWlsZGVy
LmZpbmlzaCgpOwotICAgICAgdGhpcy5yZWNlaXZlcl8uYWNjZXB0QW5kRXhwZWN0UmVzcG9uc2Uo
bWVzc2FnZSkudGhlbihmdW5jdGlvbihtZXNzYWdlKSB7Ci0gICAgICAgIHZhciByZWFkZXIgPSBu
ZXcgY29kZWMuTWVzc2FnZVJlYWRlcihtZXNzYWdlKTsKLSAgICAgICAgdmFyIHJlc3BvbnNlUGFy
YW1zID0KLSAgICAgICAgICAgIHJlYWRlci5kZWNvZGVTdHJ1Y3QoVXNiRGV2aWNlX0Nsb3NlX1Jl
c3BvbnNlUGFyYW1zKTsKLSAgICAgICAgcmVzb2x2ZShyZXNwb25zZVBhcmFtcyk7Ci0gICAgICB9
KS5jYXRjaChmdW5jdGlvbihyZXN1bHQpIHsKLSAgICAgICAgcmVqZWN0KEVycm9yKCJDb25uZWN0
aW9uIGVycm9yOiAiICsgcmVzdWx0KSk7Ci0gICAgICB9KTsKLSAgICB9LmJpbmQodGhpcykpOwot
ICB9OwotICBVc2JEZXZpY2VQdHIucHJvdG90eXBlLnNldENvbmZpZ3VyYXRpb24gPSBmdW5jdGlv
bigpIHsKLSAgICByZXR1cm4gVXNiRGV2aWNlUHJveHkucHJvdG90eXBlLnNldENvbmZpZ3VyYXRp
b24KLSAgICAgICAgLmFwcGx5KHRoaXMucHRyLmdldFByb3h5KCksIGFyZ3VtZW50cyk7Ci0gIH07
Ci0KLSAgVXNiRGV2aWNlUHJveHkucHJvdG90eXBlLnNldENvbmZpZ3VyYXRpb24gPSBmdW5jdGlv
bih2YWx1ZSkgewotICAgIHZhciBwYXJhbXMgPSBuZXcgVXNiRGV2aWNlX1NldENvbmZpZ3VyYXRp
b25fUGFyYW1zKCk7Ci0gICAgcGFyYW1zLnZhbHVlID0gdmFsdWU7Ci0gICAgcmV0dXJuIG5ldyBQ
cm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewotICAgICAgdmFyIGJ1aWxkZXIgPSBu
ZXcgY29kZWMuTWVzc2FnZVYxQnVpbGRlcigKLSAgICAgICAgICBrVXNiRGV2aWNlX1NldENvbmZp
Z3VyYXRpb25fTmFtZSwKLSAgICAgICAgICBjb2RlYy5hbGlnbihVc2JEZXZpY2VfU2V0Q29uZmln
dXJhdGlvbl9QYXJhbXMuZW5jb2RlZFNpemUpLAotICAgICAgICAgIGNvZGVjLmtNZXNzYWdlRXhw
ZWN0c1Jlc3BvbnNlLCAwKTsKLSAgICAgIGJ1aWxkZXIuZW5jb2RlU3RydWN0KFVzYkRldmljZV9T
ZXRDb25maWd1cmF0aW9uX1BhcmFtcywgcGFyYW1zKTsKLSAgICAgIHZhciBtZXNzYWdlID0gYnVp
bGRlci5maW5pc2goKTsKLSAgICAgIHRoaXMucmVjZWl2ZXJfLmFjY2VwdEFuZEV4cGVjdFJlc3Bv
bnNlKG1lc3NhZ2UpLnRoZW4oZnVuY3Rpb24obWVzc2FnZSkgewotICAgICAgICB2YXIgcmVhZGVy
ID0gbmV3IGNvZGVjLk1lc3NhZ2VSZWFkZXIobWVzc2FnZSk7Ci0gICAgICAgIHZhciByZXNwb25z
ZVBhcmFtcyA9Ci0gICAgICAgICAgICByZWFkZXIuZGVjb2RlU3RydWN0KFVzYkRldmljZV9TZXRD
b25maWd1cmF0aW9uX1Jlc3BvbnNlUGFyYW1zKTsKLSAgICAgICAgcmVzb2x2ZShyZXNwb25zZVBh
cmFtcyk7Ci0gICAgICB9KS5jYXRjaChmdW5jdGlvbihyZXN1bHQpIHsKLSAgICAgICAgcmVqZWN0
KEVycm9yKCJDb25uZWN0aW9uIGVycm9yOiAiICsgcmVzdWx0KSk7Ci0gICAgICB9KTsKLSAgICB9
LmJpbmQodGhpcykpOwotICB9OwotICBVc2JEZXZpY2VQdHIucHJvdG90eXBlLmNsYWltSW50ZXJm
YWNlID0gZnVuY3Rpb24oKSB7Ci0gICAgcmV0dXJuIFVzYkRldmljZVByb3h5LnByb3RvdHlwZS5j
bGFpbUludGVyZmFjZQotICAgICAgICAuYXBwbHkodGhpcy5wdHIuZ2V0UHJveHkoKSwgYXJndW1l
bnRzKTsKLSAgfTsKLQotICBVc2JEZXZpY2VQcm94eS5wcm90b3R5cGUuY2xhaW1JbnRlcmZhY2Ug
PSBmdW5jdGlvbihpbnRlcmZhY2VOdW1iZXIpIHsKLSAgICB2YXIgcGFyYW1zID0gbmV3IFVzYkRl
dmljZV9DbGFpbUludGVyZmFjZV9QYXJhbXMoKTsKLSAgICBwYXJhbXMuaW50ZXJmYWNlTnVtYmVy
ID0gaW50ZXJmYWNlTnVtYmVyOwotICAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNv
bHZlLCByZWplY3QpIHsKLSAgICAgIHZhciBidWlsZGVyID0gbmV3IGNvZGVjLk1lc3NhZ2VWMUJ1
aWxkZXIoCi0gICAgICAgICAga1VzYkRldmljZV9DbGFpbUludGVyZmFjZV9OYW1lLAotICAgICAg
ICAgIGNvZGVjLmFsaWduKFVzYkRldmljZV9DbGFpbUludGVyZmFjZV9QYXJhbXMuZW5jb2RlZFNp
emUpLAotICAgICAgICAgIGNvZGVjLmtNZXNzYWdlRXhwZWN0c1Jlc3BvbnNlLCAwKTsKLSAgICAg
IGJ1aWxkZXIuZW5jb2RlU3RydWN0KFVzYkRldmljZV9DbGFpbUludGVyZmFjZV9QYXJhbXMsIHBh
cmFtcyk7Ci0gICAgICB2YXIgbWVzc2FnZSA9IGJ1aWxkZXIuZmluaXNoKCk7Ci0gICAgICB0aGlz
LnJlY2VpdmVyXy5hY2NlcHRBbmRFeHBlY3RSZXNwb25zZShtZXNzYWdlKS50aGVuKGZ1bmN0aW9u
KG1lc3NhZ2UpIHsKLSAgICAgICAgdmFyIHJlYWRlciA9IG5ldyBjb2RlYy5NZXNzYWdlUmVhZGVy
KG1lc3NhZ2UpOwotICAgICAgICB2YXIgcmVzcG9uc2VQYXJhbXMgPQotICAgICAgICAgICAgcmVh
ZGVyLmRlY29kZVN0cnVjdChVc2JEZXZpY2VfQ2xhaW1JbnRlcmZhY2VfUmVzcG9uc2VQYXJhbXMp
OwotICAgICAgICByZXNvbHZlKHJlc3BvbnNlUGFyYW1zKTsKLSAgICAgIH0pLmNhdGNoKGZ1bmN0
aW9uKHJlc3VsdCkgewotICAgICAgICByZWplY3QoRXJyb3IoIkNvbm5lY3Rpb24gZXJyb3I6ICIg
KyByZXN1bHQpKTsKLSAgICAgIH0pOwotICAgIH0uYmluZCh0aGlzKSk7Ci0gIH07Ci0gIFVzYkRl
dmljZVB0ci5wcm90b3R5cGUucmVsZWFzZUludGVyZmFjZSA9IGZ1bmN0aW9uKCkgewotICAgIHJl
dHVybiBVc2JEZXZpY2VQcm94eS5wcm90b3R5cGUucmVsZWFzZUludGVyZmFjZQotICAgICAgICAu
YXBwbHkodGhpcy5wdHIuZ2V0UHJveHkoKSwgYXJndW1lbnRzKTsKLSAgfTsKLQotICBVc2JEZXZp
Y2VQcm94eS5wcm90b3R5cGUucmVsZWFzZUludGVyZmFjZSA9IGZ1bmN0aW9uKGludGVyZmFjZU51
bWJlcikgewotICAgIHZhciBwYXJhbXMgPSBuZXcgVXNiRGV2aWNlX1JlbGVhc2VJbnRlcmZhY2Vf
UGFyYW1zKCk7Ci0gICAgcGFyYW1zLmludGVyZmFjZU51bWJlciA9IGludGVyZmFjZU51bWJlcjsK
LSAgICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7Ci0gICAg
ICB2YXIgYnVpbGRlciA9IG5ldyBjb2RlYy5NZXNzYWdlVjFCdWlsZGVyKAotICAgICAgICAgIGtV
c2JEZXZpY2VfUmVsZWFzZUludGVyZmFjZV9OYW1lLAotICAgICAgICAgIGNvZGVjLmFsaWduKFVz
YkRldmljZV9SZWxlYXNlSW50ZXJmYWNlX1BhcmFtcy5lbmNvZGVkU2l6ZSksCi0gICAgICAgICAg
Y29kZWMua01lc3NhZ2VFeHBlY3RzUmVzcG9uc2UsIDApOwotICAgICAgYnVpbGRlci5lbmNvZGVT
dHJ1Y3QoVXNiRGV2aWNlX1JlbGVhc2VJbnRlcmZhY2VfUGFyYW1zLCBwYXJhbXMpOwotICAgICAg
dmFyIG1lc3NhZ2UgPSBidWlsZGVyLmZpbmlzaCgpOwotICAgICAgdGhpcy5yZWNlaXZlcl8uYWNj
ZXB0QW5kRXhwZWN0UmVzcG9uc2UobWVzc2FnZSkudGhlbihmdW5jdGlvbihtZXNzYWdlKSB7Ci0g
ICAgICAgIHZhciByZWFkZXIgPSBuZXcgY29kZWMuTWVzc2FnZVJlYWRlcihtZXNzYWdlKTsKLSAg
ICAgICAgdmFyIHJlc3BvbnNlUGFyYW1zID0KLSAgICAgICAgICAgIHJlYWRlci5kZWNvZGVTdHJ1
Y3QoVXNiRGV2aWNlX1JlbGVhc2VJbnRlcmZhY2VfUmVzcG9uc2VQYXJhbXMpOwotICAgICAgICBy
ZXNvbHZlKHJlc3BvbnNlUGFyYW1zKTsKLSAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uKHJlc3VsdCkg
ewotICAgICAgICByZWplY3QoRXJyb3IoIkNvbm5lY3Rpb24gZXJyb3I6ICIgKyByZXN1bHQpKTsK
LSAgICAgIH0pOwotICAgIH0uYmluZCh0aGlzKSk7Ci0gIH07Ci0gIFVzYkRldmljZVB0ci5wcm90
b3R5cGUuc2V0SW50ZXJmYWNlQWx0ZXJuYXRlU2V0dGluZyA9IGZ1bmN0aW9uKCkgewotICAgIHJl
dHVybiBVc2JEZXZpY2VQcm94eS5wcm90b3R5cGUuc2V0SW50ZXJmYWNlQWx0ZXJuYXRlU2V0dGlu
ZwotICAgICAgICAuYXBwbHkodGhpcy5wdHIuZ2V0UHJveHkoKSwgYXJndW1lbnRzKTsKLSAgfTsK
LQotICBVc2JEZXZpY2VQcm94eS5wcm90b3R5cGUuc2V0SW50ZXJmYWNlQWx0ZXJuYXRlU2V0dGlu
ZyA9IGZ1bmN0aW9uKGludGVyZmFjZU51bWJlciwgYWx0ZXJuYXRlU2V0dGluZykgewotICAgIHZh
ciBwYXJhbXMgPSBuZXcgVXNiRGV2aWNlX1NldEludGVyZmFjZUFsdGVybmF0ZVNldHRpbmdfUGFy
YW1zKCk7Ci0gICAgcGFyYW1zLmludGVyZmFjZU51bWJlciA9IGludGVyZmFjZU51bWJlcjsKLSAg
ICBwYXJhbXMuYWx0ZXJuYXRlU2V0dGluZyA9IGFsdGVybmF0ZVNldHRpbmc7Ci0gICAgcmV0dXJu
IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewotICAgICAgdmFyIGJ1aWxk
ZXIgPSBuZXcgY29kZWMuTWVzc2FnZVYxQnVpbGRlcigKLSAgICAgICAgICBrVXNiRGV2aWNlX1Nl
dEludGVyZmFjZUFsdGVybmF0ZVNldHRpbmdfTmFtZSwKLSAgICAgICAgICBjb2RlYy5hbGlnbihV
c2JEZXZpY2VfU2V0SW50ZXJmYWNlQWx0ZXJuYXRlU2V0dGluZ19QYXJhbXMuZW5jb2RlZFNpemUp
LAotICAgICAgICAgIGNvZGVjLmtNZXNzYWdlRXhwZWN0c1Jlc3BvbnNlLCAwKTsKLSAgICAgIGJ1
aWxkZXIuZW5jb2RlU3RydWN0KFVzYkRldmljZV9TZXRJbnRlcmZhY2VBbHRlcm5hdGVTZXR0aW5n
X1BhcmFtcywgcGFyYW1zKTsKLSAgICAgIHZhciBtZXNzYWdlID0gYnVpbGRlci5maW5pc2goKTsK
LSAgICAgIHRoaXMucmVjZWl2ZXJfLmFjY2VwdEFuZEV4cGVjdFJlc3BvbnNlKG1lc3NhZ2UpLnRo
ZW4oZnVuY3Rpb24obWVzc2FnZSkgewotICAgICAgICB2YXIgcmVhZGVyID0gbmV3IGNvZGVjLk1l
c3NhZ2VSZWFkZXIobWVzc2FnZSk7Ci0gICAgICAgIHZhciByZXNwb25zZVBhcmFtcyA9Ci0gICAg
ICAgICAgICByZWFkZXIuZGVjb2RlU3RydWN0KFVzYkRldmljZV9TZXRJbnRlcmZhY2VBbHRlcm5h
dGVTZXR0aW5nX1Jlc3BvbnNlUGFyYW1zKTsKLSAgICAgICAgcmVzb2x2ZShyZXNwb25zZVBhcmFt
cyk7Ci0gICAgICB9KS5jYXRjaChmdW5jdGlvbihyZXN1bHQpIHsKLSAgICAgICAgcmVqZWN0KEVy
cm9yKCJDb25uZWN0aW9uIGVycm9yOiAiICsgcmVzdWx0KSk7Ci0gICAgICB9KTsKLSAgICB9LmJp
bmQodGhpcykpOwotICB9OwotICBVc2JEZXZpY2VQdHIucHJvdG90eXBlLnJlc2V0ID0gZnVuY3Rp
b24oKSB7Ci0gICAgcmV0dXJuIFVzYkRldmljZVByb3h5LnByb3RvdHlwZS5yZXNldAotICAgICAg
ICAuYXBwbHkodGhpcy5wdHIuZ2V0UHJveHkoKSwgYXJndW1lbnRzKTsKLSAgfTsKLQotICBVc2JE
ZXZpY2VQcm94eS5wcm90b3R5cGUucmVzZXQgPSBmdW5jdGlvbigpIHsKLSAgICB2YXIgcGFyYW1z
ID0gbmV3IFVzYkRldmljZV9SZXNldF9QYXJhbXMoKTsKLSAgICByZXR1cm4gbmV3IFByb21pc2Uo
ZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7Ci0gICAgICB2YXIgYnVpbGRlciA9IG5ldyBjb2Rl
Yy5NZXNzYWdlVjFCdWlsZGVyKAotICAgICAgICAgIGtVc2JEZXZpY2VfUmVzZXRfTmFtZSwKLSAg
ICAgICAgICBjb2RlYy5hbGlnbihVc2JEZXZpY2VfUmVzZXRfUGFyYW1zLmVuY29kZWRTaXplKSwK
LSAgICAgICAgICBjb2RlYy5rTWVzc2FnZUV4cGVjdHNSZXNwb25zZSwgMCk7Ci0gICAgICBidWls
ZGVyLmVuY29kZVN0cnVjdChVc2JEZXZpY2VfUmVzZXRfUGFyYW1zLCBwYXJhbXMpOwotICAgICAg
dmFyIG1lc3NhZ2UgPSBidWlsZGVyLmZpbmlzaCgpOwotICAgICAgdGhpcy5yZWNlaXZlcl8uYWNj
ZXB0QW5kRXhwZWN0UmVzcG9uc2UobWVzc2FnZSkudGhlbihmdW5jdGlvbihtZXNzYWdlKSB7Ci0g
ICAgICAgIHZhciByZWFkZXIgPSBuZXcgY29kZWMuTWVzc2FnZVJlYWRlcihtZXNzYWdlKTsKLSAg
ICAgICAgdmFyIHJlc3BvbnNlUGFyYW1zID0KLSAgICAgICAgICAgIHJlYWRlci5kZWNvZGVTdHJ1
Y3QoVXNiRGV2aWNlX1Jlc2V0X1Jlc3BvbnNlUGFyYW1zKTsKLSAgICAgICAgcmVzb2x2ZShyZXNw
b25zZVBhcmFtcyk7Ci0gICAgICB9KS5jYXRjaChmdW5jdGlvbihyZXN1bHQpIHsKLSAgICAgICAg
cmVqZWN0KEVycm9yKCJDb25uZWN0aW9uIGVycm9yOiAiICsgcmVzdWx0KSk7Ci0gICAgICB9KTsK
LSAgICB9LmJpbmQodGhpcykpOwotICB9OwotICBVc2JEZXZpY2VQdHIucHJvdG90eXBlLmNsZWFy
SGFsdCA9IGZ1bmN0aW9uKCkgewotICAgIHJldHVybiBVc2JEZXZpY2VQcm94eS5wcm90b3R5cGUu
Y2xlYXJIYWx0Ci0gICAgICAgIC5hcHBseSh0aGlzLnB0ci5nZXRQcm94eSgpLCBhcmd1bWVudHMp
OwotICB9OwotCi0gIFVzYkRldmljZVByb3h5LnByb3RvdHlwZS5jbGVhckhhbHQgPSBmdW5jdGlv
bihlbmRwb2ludCkgewotICAgIHZhciBwYXJhbXMgPSBuZXcgVXNiRGV2aWNlX0NsZWFySGFsdF9Q
YXJhbXMoKTsKLSAgICBwYXJhbXMuZW5kcG9pbnQgPSBlbmRwb2ludDsKLSAgICByZXR1cm4gbmV3
IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7Ci0gICAgICB2YXIgYnVpbGRlciA9
IG5ldyBjb2RlYy5NZXNzYWdlVjFCdWlsZGVyKAotICAgICAgICAgIGtVc2JEZXZpY2VfQ2xlYXJI
YWx0X05hbWUsCi0gICAgICAgICAgY29kZWMuYWxpZ24oVXNiRGV2aWNlX0NsZWFySGFsdF9QYXJh
bXMuZW5jb2RlZFNpemUpLAotICAgICAgICAgIGNvZGVjLmtNZXNzYWdlRXhwZWN0c1Jlc3BvbnNl
LCAwKTsKLSAgICAgIGJ1aWxkZXIuZW5jb2RlU3RydWN0KFVzYkRldmljZV9DbGVhckhhbHRfUGFy
YW1zLCBwYXJhbXMpOwotICAgICAgdmFyIG1lc3NhZ2UgPSBidWlsZGVyLmZpbmlzaCgpOwotICAg
ICAgdGhpcy5yZWNlaXZlcl8uYWNjZXB0QW5kRXhwZWN0UmVzcG9uc2UobWVzc2FnZSkudGhlbihm
dW5jdGlvbihtZXNzYWdlKSB7Ci0gICAgICAgIHZhciByZWFkZXIgPSBuZXcgY29kZWMuTWVzc2Fn
ZVJlYWRlcihtZXNzYWdlKTsKLSAgICAgICAgdmFyIHJlc3BvbnNlUGFyYW1zID0KLSAgICAgICAg
ICAgIHJlYWRlci5kZWNvZGVTdHJ1Y3QoVXNiRGV2aWNlX0NsZWFySGFsdF9SZXNwb25zZVBhcmFt
cyk7Ci0gICAgICAgIHJlc29sdmUocmVzcG9uc2VQYXJhbXMpOwotICAgICAgfSkuY2F0Y2goZnVu
Y3Rpb24ocmVzdWx0KSB7Ci0gICAgICAgIHJlamVjdChFcnJvcigiQ29ubmVjdGlvbiBlcnJvcjog
IiArIHJlc3VsdCkpOwotICAgICAgfSk7Ci0gICAgfS5iaW5kKHRoaXMpKTsKLSAgfTsKLSAgVXNi
RGV2aWNlUHRyLnByb3RvdHlwZS5jb250cm9sVHJhbnNmZXJJbiA9IGZ1bmN0aW9uKCkgewotICAg
IHJldHVybiBVc2JEZXZpY2VQcm94eS5wcm90b3R5cGUuY29udHJvbFRyYW5zZmVySW4KLSAgICAg
ICAgLmFwcGx5KHRoaXMucHRyLmdldFByb3h5KCksIGFyZ3VtZW50cyk7Ci0gIH07Ci0KLSAgVXNi
RGV2aWNlUHJveHkucHJvdG90eXBlLmNvbnRyb2xUcmFuc2ZlckluID0gZnVuY3Rpb24ocGFyYW1z
LCBsZW5ndGgsIHRpbWVvdXQpIHsKLSAgICB2YXIgcGFyYW1zID0gbmV3IFVzYkRldmljZV9Db250
cm9sVHJhbnNmZXJJbl9QYXJhbXMoKTsKLSAgICBwYXJhbXMucGFyYW1zID0gcGFyYW1zOwotICAg
IHBhcmFtcy5sZW5ndGggPSBsZW5ndGg7Ci0gICAgcGFyYW1zLnRpbWVvdXQgPSB0aW1lb3V0Owot
ICAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKLSAgICAg
IHZhciBidWlsZGVyID0gbmV3IGNvZGVjLk1lc3NhZ2VWMUJ1aWxkZXIoCi0gICAgICAgICAga1Vz
YkRldmljZV9Db250cm9sVHJhbnNmZXJJbl9OYW1lLAotICAgICAgICAgIGNvZGVjLmFsaWduKFVz
YkRldmljZV9Db250cm9sVHJhbnNmZXJJbl9QYXJhbXMuZW5jb2RlZFNpemUpLAotICAgICAgICAg
IGNvZGVjLmtNZXNzYWdlRXhwZWN0c1Jlc3BvbnNlLCAwKTsKLSAgICAgIGJ1aWxkZXIuZW5jb2Rl
U3RydWN0KFVzYkRldmljZV9Db250cm9sVHJhbnNmZXJJbl9QYXJhbXMsIHBhcmFtcyk7Ci0gICAg
ICB2YXIgbWVzc2FnZSA9IGJ1aWxkZXIuZmluaXNoKCk7Ci0gICAgICB0aGlzLnJlY2VpdmVyXy5h
Y2NlcHRBbmRFeHBlY3RSZXNwb25zZShtZXNzYWdlKS50aGVuKGZ1bmN0aW9uKG1lc3NhZ2UpIHsK
LSAgICAgICAgdmFyIHJlYWRlciA9IG5ldyBjb2RlYy5NZXNzYWdlUmVhZGVyKG1lc3NhZ2UpOwot
ICAgICAgICB2YXIgcmVzcG9uc2VQYXJhbXMgPQotICAgICAgICAgICAgcmVhZGVyLmRlY29kZVN0
cnVjdChVc2JEZXZpY2VfQ29udHJvbFRyYW5zZmVySW5fUmVzcG9uc2VQYXJhbXMpOwotICAgICAg
ICByZXNvbHZlKHJlc3BvbnNlUGFyYW1zKTsKLSAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uKHJlc3Vs
dCkgewotICAgICAgICByZWplY3QoRXJyb3IoIkNvbm5lY3Rpb24gZXJyb3I6ICIgKyByZXN1bHQp
KTsKLSAgICAgIH0pOwotICAgIH0uYmluZCh0aGlzKSk7Ci0gIH07Ci0gIFVzYkRldmljZVB0ci5w
cm90b3R5cGUuY29udHJvbFRyYW5zZmVyT3V0ID0gZnVuY3Rpb24oKSB7Ci0gICAgcmV0dXJuIFVz
YkRldmljZVByb3h5LnByb3RvdHlwZS5jb250cm9sVHJhbnNmZXJPdXQKLSAgICAgICAgLmFwcGx5
KHRoaXMucHRyLmdldFByb3h5KCksIGFyZ3VtZW50cyk7Ci0gIH07Ci0KLSAgVXNiRGV2aWNlUHJv
eHkucHJvdG90eXBlLmNvbnRyb2xUcmFuc2Zlck91dCA9IGZ1bmN0aW9uKHBhcmFtcywgZGF0YSwg
dGltZW91dCkgewotICAgIHZhciBwYXJhbXMgPSBuZXcgVXNiRGV2aWNlX0NvbnRyb2xUcmFuc2Zl
ck91dF9QYXJhbXMoKTsKLSAgICBwYXJhbXMucGFyYW1zID0gcGFyYW1zOwotICAgIHBhcmFtcy5k
YXRhID0gZGF0YTsKLSAgICBwYXJhbXMudGltZW91dCA9IHRpbWVvdXQ7Ci0gICAgcmV0dXJuIG5l
dyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewotICAgICAgdmFyIGJ1aWxkZXIg
PSBuZXcgY29kZWMuTWVzc2FnZVYxQnVpbGRlcigKLSAgICAgICAgICBrVXNiRGV2aWNlX0NvbnRy
b2xUcmFuc2Zlck91dF9OYW1lLAotICAgICAgICAgIGNvZGVjLmFsaWduKFVzYkRldmljZV9Db250
cm9sVHJhbnNmZXJPdXRfUGFyYW1zLmVuY29kZWRTaXplKSwKLSAgICAgICAgICBjb2RlYy5rTWVz
c2FnZUV4cGVjdHNSZXNwb25zZSwgMCk7Ci0gICAgICBidWlsZGVyLmVuY29kZVN0cnVjdChVc2JE
ZXZpY2VfQ29udHJvbFRyYW5zZmVyT3V0X1BhcmFtcywgcGFyYW1zKTsKLSAgICAgIHZhciBtZXNz
YWdlID0gYnVpbGRlci5maW5pc2goKTsKLSAgICAgIHRoaXMucmVjZWl2ZXJfLmFjY2VwdEFuZEV4
cGVjdFJlc3BvbnNlKG1lc3NhZ2UpLnRoZW4oZnVuY3Rpb24obWVzc2FnZSkgewotICAgICAgICB2
YXIgcmVhZGVyID0gbmV3IGNvZGVjLk1lc3NhZ2VSZWFkZXIobWVzc2FnZSk7Ci0gICAgICAgIHZh
ciByZXNwb25zZVBhcmFtcyA9Ci0gICAgICAgICAgICByZWFkZXIuZGVjb2RlU3RydWN0KFVzYkRl
dmljZV9Db250cm9sVHJhbnNmZXJPdXRfUmVzcG9uc2VQYXJhbXMpOwotICAgICAgICByZXNvbHZl
KHJlc3BvbnNlUGFyYW1zKTsKLSAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uKHJlc3VsdCkgewotICAg
ICAgICByZWplY3QoRXJyb3IoIkNvbm5lY3Rpb24gZXJyb3I6ICIgKyByZXN1bHQpKTsKLSAgICAg
IH0pOwotICAgIH0uYmluZCh0aGlzKSk7Ci0gIH07Ci0gIFVzYkRldmljZVB0ci5wcm90b3R5cGUu
Z2VuZXJpY1RyYW5zZmVySW4gPSBmdW5jdGlvbigpIHsKLSAgICByZXR1cm4gVXNiRGV2aWNlUHJv
eHkucHJvdG90eXBlLmdlbmVyaWNUcmFuc2ZlckluCi0gICAgICAgIC5hcHBseSh0aGlzLnB0ci5n
ZXRQcm94eSgpLCBhcmd1bWVudHMpOwotICB9OwotCi0gIFVzYkRldmljZVByb3h5LnByb3RvdHlw
ZS5nZW5lcmljVHJhbnNmZXJJbiA9IGZ1bmN0aW9uKGVuZHBvaW50TnVtYmVyLCBsZW5ndGgsIHRp
bWVvdXQpIHsKLSAgICB2YXIgcGFyYW1zID0gbmV3IFVzYkRldmljZV9HZW5lcmljVHJhbnNmZXJJ
bl9QYXJhbXMoKTsKLSAgICBwYXJhbXMuZW5kcG9pbnROdW1iZXIgPSBlbmRwb2ludE51bWJlcjsK
LSAgICBwYXJhbXMubGVuZ3RoID0gbGVuZ3RoOwotICAgIHBhcmFtcy50aW1lb3V0ID0gdGltZW91
dDsKLSAgICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7Ci0g
ICAgICB2YXIgYnVpbGRlciA9IG5ldyBjb2RlYy5NZXNzYWdlVjFCdWlsZGVyKAotICAgICAgICAg
IGtVc2JEZXZpY2VfR2VuZXJpY1RyYW5zZmVySW5fTmFtZSwKLSAgICAgICAgICBjb2RlYy5hbGln
bihVc2JEZXZpY2VfR2VuZXJpY1RyYW5zZmVySW5fUGFyYW1zLmVuY29kZWRTaXplKSwKLSAgICAg
ICAgICBjb2RlYy5rTWVzc2FnZUV4cGVjdHNSZXNwb25zZSwgMCk7Ci0gICAgICBidWlsZGVyLmVu
Y29kZVN0cnVjdChVc2JEZXZpY2VfR2VuZXJpY1RyYW5zZmVySW5fUGFyYW1zLCBwYXJhbXMpOwot
ICAgICAgdmFyIG1lc3NhZ2UgPSBidWlsZGVyLmZpbmlzaCgpOwotICAgICAgdGhpcy5yZWNlaXZl
cl8uYWNjZXB0QW5kRXhwZWN0UmVzcG9uc2UobWVzc2FnZSkudGhlbihmdW5jdGlvbihtZXNzYWdl
KSB7Ci0gICAgICAgIHZhciByZWFkZXIgPSBuZXcgY29kZWMuTWVzc2FnZVJlYWRlcihtZXNzYWdl
KTsKLSAgICAgICAgdmFyIHJlc3BvbnNlUGFyYW1zID0KLSAgICAgICAgICAgIHJlYWRlci5kZWNv
ZGVTdHJ1Y3QoVXNiRGV2aWNlX0dlbmVyaWNUcmFuc2ZlckluX1Jlc3BvbnNlUGFyYW1zKTsKLSAg
ICAgICAgcmVzb2x2ZShyZXNwb25zZVBhcmFtcyk7Ci0gICAgICB9KS5jYXRjaChmdW5jdGlvbihy
ZXN1bHQpIHsKLSAgICAgICAgcmVqZWN0KEVycm9yKCJDb25uZWN0aW9uIGVycm9yOiAiICsgcmVz
dWx0KSk7Ci0gICAgICB9KTsKLSAgICB9LmJpbmQodGhpcykpOwotICB9OwotICBVc2JEZXZpY2VQ
dHIucHJvdG90eXBlLmdlbmVyaWNUcmFuc2Zlck91dCA9IGZ1bmN0aW9uKCkgewotICAgIHJldHVy
biBVc2JEZXZpY2VQcm94eS5wcm90b3R5cGUuZ2VuZXJpY1RyYW5zZmVyT3V0Ci0gICAgICAgIC5h
cHBseSh0aGlzLnB0ci5nZXRQcm94eSgpLCBhcmd1bWVudHMpOwotICB9OwotCi0gIFVzYkRldmlj
ZVByb3h5LnByb3RvdHlwZS5nZW5lcmljVHJhbnNmZXJPdXQgPSBmdW5jdGlvbihlbmRwb2ludE51
bWJlciwgZGF0YSwgdGltZW91dCkgewotICAgIHZhciBwYXJhbXMgPSBuZXcgVXNiRGV2aWNlX0dl
bmVyaWNUcmFuc2Zlck91dF9QYXJhbXMoKTsKLSAgICBwYXJhbXMuZW5kcG9pbnROdW1iZXIgPSBl
bmRwb2ludE51bWJlcjsKLSAgICBwYXJhbXMuZGF0YSA9IGRhdGE7Ci0gICAgcGFyYW1zLnRpbWVv
dXQgPSB0aW1lb3V0OwotICAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCBy
ZWplY3QpIHsKLSAgICAgIHZhciBidWlsZGVyID0gbmV3IGNvZGVjLk1lc3NhZ2VWMUJ1aWxkZXIo
Ci0gICAgICAgICAga1VzYkRldmljZV9HZW5lcmljVHJhbnNmZXJPdXRfTmFtZSwKLSAgICAgICAg
ICBjb2RlYy5hbGlnbihVc2JEZXZpY2VfR2VuZXJpY1RyYW5zZmVyT3V0X1BhcmFtcy5lbmNvZGVk
U2l6ZSksCi0gICAgICAgICAgY29kZWMua01lc3NhZ2VFeHBlY3RzUmVzcG9uc2UsIDApOwotICAg
ICAgYnVpbGRlci5lbmNvZGVTdHJ1Y3QoVXNiRGV2aWNlX0dlbmVyaWNUcmFuc2Zlck91dF9QYXJh
bXMsIHBhcmFtcyk7Ci0gICAgICB2YXIgbWVzc2FnZSA9IGJ1aWxkZXIuZmluaXNoKCk7Ci0gICAg
ICB0aGlzLnJlY2VpdmVyXy5hY2NlcHRBbmRFeHBlY3RSZXNwb25zZShtZXNzYWdlKS50aGVuKGZ1
bmN0aW9uKG1lc3NhZ2UpIHsKLSAgICAgICAgdmFyIHJlYWRlciA9IG5ldyBjb2RlYy5NZXNzYWdl
UmVhZGVyKG1lc3NhZ2UpOwotICAgICAgICB2YXIgcmVzcG9uc2VQYXJhbXMgPQotICAgICAgICAg
ICAgcmVhZGVyLmRlY29kZVN0cnVjdChVc2JEZXZpY2VfR2VuZXJpY1RyYW5zZmVyT3V0X1Jlc3Bv
bnNlUGFyYW1zKTsKLSAgICAgICAgcmVzb2x2ZShyZXNwb25zZVBhcmFtcyk7Ci0gICAgICB9KS5j
YXRjaChmdW5jdGlvbihyZXN1bHQpIHsKLSAgICAgICAgcmVqZWN0KEVycm9yKCJDb25uZWN0aW9u
IGVycm9yOiAiICsgcmVzdWx0KSk7Ci0gICAgICB9KTsKLSAgICB9LmJpbmQodGhpcykpOwotICB9
OwotICBVc2JEZXZpY2VQdHIucHJvdG90eXBlLmlzb2Nocm9ub3VzVHJhbnNmZXJJbiA9IGZ1bmN0
aW9uKCkgewotICAgIHJldHVybiBVc2JEZXZpY2VQcm94eS5wcm90b3R5cGUuaXNvY2hyb25vdXNU
cmFuc2ZlckluCi0gICAgICAgIC5hcHBseSh0aGlzLnB0ci5nZXRQcm94eSgpLCBhcmd1bWVudHMp
OwotICB9OwotCi0gIFVzYkRldmljZVByb3h5LnByb3RvdHlwZS5pc29jaHJvbm91c1RyYW5zZmVy
SW4gPSBmdW5jdGlvbihlbmRwb2ludE51bWJlciwgcGFja2V0TGVuZ3RocywgdGltZW91dCkgewot
ICAgIHZhciBwYXJhbXMgPSBuZXcgVXNiRGV2aWNlX0lzb2Nocm9ub3VzVHJhbnNmZXJJbl9QYXJh
bXMoKTsKLSAgICBwYXJhbXMuZW5kcG9pbnROdW1iZXIgPSBlbmRwb2ludE51bWJlcjsKLSAgICBw
YXJhbXMucGFja2V0TGVuZ3RocyA9IHBhY2tldExlbmd0aHM7Ci0gICAgcGFyYW1zLnRpbWVvdXQg
PSB0aW1lb3V0OwotICAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWpl
Y3QpIHsKLSAgICAgIHZhciBidWlsZGVyID0gbmV3IGNvZGVjLk1lc3NhZ2VWMUJ1aWxkZXIoCi0g
ICAgICAgICAga1VzYkRldmljZV9Jc29jaHJvbm91c1RyYW5zZmVySW5fTmFtZSwKLSAgICAgICAg
ICBjb2RlYy5hbGlnbihVc2JEZXZpY2VfSXNvY2hyb25vdXNUcmFuc2ZlckluX1BhcmFtcy5lbmNv
ZGVkU2l6ZSksCi0gICAgICAgICAgY29kZWMua01lc3NhZ2VFeHBlY3RzUmVzcG9uc2UsIDApOwot
ICAgICAgYnVpbGRlci5lbmNvZGVTdHJ1Y3QoVXNiRGV2aWNlX0lzb2Nocm9ub3VzVHJhbnNmZXJJ
bl9QYXJhbXMsIHBhcmFtcyk7Ci0gICAgICB2YXIgbWVzc2FnZSA9IGJ1aWxkZXIuZmluaXNoKCk7
Ci0gICAgICB0aGlzLnJlY2VpdmVyXy5hY2NlcHRBbmRFeHBlY3RSZXNwb25zZShtZXNzYWdlKS50
aGVuKGZ1bmN0aW9uKG1lc3NhZ2UpIHsKLSAgICAgICAgdmFyIHJlYWRlciA9IG5ldyBjb2RlYy5N
ZXNzYWdlUmVhZGVyKG1lc3NhZ2UpOwotICAgICAgICB2YXIgcmVzcG9uc2VQYXJhbXMgPQotICAg
ICAgICAgICAgcmVhZGVyLmRlY29kZVN0cnVjdChVc2JEZXZpY2VfSXNvY2hyb25vdXNUcmFuc2Zl
ckluX1Jlc3BvbnNlUGFyYW1zKTsKLSAgICAgICAgcmVzb2x2ZShyZXNwb25zZVBhcmFtcyk7Ci0g
ICAgICB9KS5jYXRjaChmdW5jdGlvbihyZXN1bHQpIHsKLSAgICAgICAgcmVqZWN0KEVycm9yKCJD
b25uZWN0aW9uIGVycm9yOiAiICsgcmVzdWx0KSk7Ci0gICAgICB9KTsKLSAgICB9LmJpbmQodGhp
cykpOwotICB9OwotICBVc2JEZXZpY2VQdHIucHJvdG90eXBlLmlzb2Nocm9ub3VzVHJhbnNmZXJP
dXQgPSBmdW5jdGlvbigpIHsKLSAgICByZXR1cm4gVXNiRGV2aWNlUHJveHkucHJvdG90eXBlLmlz
b2Nocm9ub3VzVHJhbnNmZXJPdXQKLSAgICAgICAgLmFwcGx5KHRoaXMucHRyLmdldFByb3h5KCks
IGFyZ3VtZW50cyk7Ci0gIH07Ci0KLSAgVXNiRGV2aWNlUHJveHkucHJvdG90eXBlLmlzb2Nocm9u
b3VzVHJhbnNmZXJPdXQgPSBmdW5jdGlvbihlbmRwb2ludE51bWJlciwgZGF0YSwgcGFja2V0TGVu
Z3RocywgdGltZW91dCkgewotICAgIHZhciBwYXJhbXMgPSBuZXcgVXNiRGV2aWNlX0lzb2Nocm9u
b3VzVHJhbnNmZXJPdXRfUGFyYW1zKCk7Ci0gICAgcGFyYW1zLmVuZHBvaW50TnVtYmVyID0gZW5k
cG9pbnROdW1iZXI7Ci0gICAgcGFyYW1zLmRhdGEgPSBkYXRhOwotICAgIHBhcmFtcy5wYWNrZXRM
ZW5ndGhzID0gcGFja2V0TGVuZ3RoczsKLSAgICBwYXJhbXMudGltZW91dCA9IHRpbWVvdXQ7Ci0g
ICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewotICAgICAg
dmFyIGJ1aWxkZXIgPSBuZXcgY29kZWMuTWVzc2FnZVYxQnVpbGRlcigKLSAgICAgICAgICBrVXNi
RGV2aWNlX0lzb2Nocm9ub3VzVHJhbnNmZXJPdXRfTmFtZSwKLSAgICAgICAgICBjb2RlYy5hbGln
bihVc2JEZXZpY2VfSXNvY2hyb25vdXNUcmFuc2Zlck91dF9QYXJhbXMuZW5jb2RlZFNpemUpLAot
ICAgICAgICAgIGNvZGVjLmtNZXNzYWdlRXhwZWN0c1Jlc3BvbnNlLCAwKTsKLSAgICAgIGJ1aWxk
ZXIuZW5jb2RlU3RydWN0KFVzYkRldmljZV9Jc29jaHJvbm91c1RyYW5zZmVyT3V0X1BhcmFtcywg
cGFyYW1zKTsKLSAgICAgIHZhciBtZXNzYWdlID0gYnVpbGRlci5maW5pc2goKTsKLSAgICAgIHRo
aXMucmVjZWl2ZXJfLmFjY2VwdEFuZEV4cGVjdFJlc3BvbnNlKG1lc3NhZ2UpLnRoZW4oZnVuY3Rp
b24obWVzc2FnZSkgewotICAgICAgICB2YXIgcmVhZGVyID0gbmV3IGNvZGVjLk1lc3NhZ2VSZWFk
ZXIobWVzc2FnZSk7Ci0gICAgICAgIHZhciByZXNwb25zZVBhcmFtcyA9Ci0gICAgICAgICAgICBy
ZWFkZXIuZGVjb2RlU3RydWN0KFVzYkRldmljZV9Jc29jaHJvbm91c1RyYW5zZmVyT3V0X1Jlc3Bv
bnNlUGFyYW1zKTsKLSAgICAgICAgcmVzb2x2ZShyZXNwb25zZVBhcmFtcyk7Ci0gICAgICB9KS5j
YXRjaChmdW5jdGlvbihyZXN1bHQpIHsKLSAgICAgICAgcmVqZWN0KEVycm9yKCJDb25uZWN0aW9u
IGVycm9yOiAiICsgcmVzdWx0KSk7Ci0gICAgICB9KTsKLSAgICB9LmJpbmQodGhpcykpOwotICB9
OwotCi0gIGZ1bmN0aW9uIFVzYkRldmljZVN0dWIoZGVsZWdhdGUpIHsKLSAgICB0aGlzLmRlbGVn
YXRlXyA9IGRlbGVnYXRlOwotICB9Ci0gIFVzYkRldmljZVN0dWIucHJvdG90eXBlLm9wZW4gPSBm
dW5jdGlvbigpIHsKLSAgICByZXR1cm4gdGhpcy5kZWxlZ2F0ZV8gJiYgdGhpcy5kZWxlZ2F0ZV8u
b3BlbiAmJiB0aGlzLmRlbGVnYXRlXy5vcGVuKCk7Ci0gIH0KLSAgVXNiRGV2aWNlU3R1Yi5wcm90
b3R5cGUuY2xvc2UgPSBmdW5jdGlvbigpIHsKLSAgICByZXR1cm4gdGhpcy5kZWxlZ2F0ZV8gJiYg
dGhpcy5kZWxlZ2F0ZV8uY2xvc2UgJiYgdGhpcy5kZWxlZ2F0ZV8uY2xvc2UoKTsKLSAgfQotICBV
c2JEZXZpY2VTdHViLnByb3RvdHlwZS5zZXRDb25maWd1cmF0aW9uID0gZnVuY3Rpb24odmFsdWUp
IHsKLSAgICByZXR1cm4gdGhpcy5kZWxlZ2F0ZV8gJiYgdGhpcy5kZWxlZ2F0ZV8uc2V0Q29uZmln
dXJhdGlvbiAmJiB0aGlzLmRlbGVnYXRlXy5zZXRDb25maWd1cmF0aW9uKHZhbHVlKTsKLSAgfQot
ICBVc2JEZXZpY2VTdHViLnByb3RvdHlwZS5jbGFpbUludGVyZmFjZSA9IGZ1bmN0aW9uKGludGVy
ZmFjZU51bWJlcikgewotICAgIHJldHVybiB0aGlzLmRlbGVnYXRlXyAmJiB0aGlzLmRlbGVnYXRl
Xy5jbGFpbUludGVyZmFjZSAmJiB0aGlzLmRlbGVnYXRlXy5jbGFpbUludGVyZmFjZShpbnRlcmZh
Y2VOdW1iZXIpOwotICB9Ci0gIFVzYkRldmljZVN0dWIucHJvdG90eXBlLnJlbGVhc2VJbnRlcmZh
Y2UgPSBmdW5jdGlvbihpbnRlcmZhY2VOdW1iZXIpIHsKLSAgICByZXR1cm4gdGhpcy5kZWxlZ2F0
ZV8gJiYgdGhpcy5kZWxlZ2F0ZV8ucmVsZWFzZUludGVyZmFjZSAmJiB0aGlzLmRlbGVnYXRlXy5y
ZWxlYXNlSW50ZXJmYWNlKGludGVyZmFjZU51bWJlcik7Ci0gIH0KLSAgVXNiRGV2aWNlU3R1Yi5w
cm90b3R5cGUuc2V0SW50ZXJmYWNlQWx0ZXJuYXRlU2V0dGluZyA9IGZ1bmN0aW9uKGludGVyZmFj
ZU51bWJlciwgYWx0ZXJuYXRlU2V0dGluZykgewotICAgIHJldHVybiB0aGlzLmRlbGVnYXRlXyAm
JiB0aGlzLmRlbGVnYXRlXy5zZXRJbnRlcmZhY2VBbHRlcm5hdGVTZXR0aW5nICYmIHRoaXMuZGVs
ZWdhdGVfLnNldEludGVyZmFjZUFsdGVybmF0ZVNldHRpbmcoaW50ZXJmYWNlTnVtYmVyLCBhbHRl
cm5hdGVTZXR0aW5nKTsKLSAgfQotICBVc2JEZXZpY2VTdHViLnByb3RvdHlwZS5yZXNldCA9IGZ1
bmN0aW9uKCkgewotICAgIHJldHVybiB0aGlzLmRlbGVnYXRlXyAmJiB0aGlzLmRlbGVnYXRlXy5y
ZXNldCAmJiB0aGlzLmRlbGVnYXRlXy5yZXNldCgpOwotICB9Ci0gIFVzYkRldmljZVN0dWIucHJv
dG90eXBlLmNsZWFySGFsdCA9IGZ1bmN0aW9uKGVuZHBvaW50KSB7Ci0gICAgcmV0dXJuIHRoaXMu
ZGVsZWdhdGVfICYmIHRoaXMuZGVsZWdhdGVfLmNsZWFySGFsdCAmJiB0aGlzLmRlbGVnYXRlXy5j
bGVhckhhbHQoZW5kcG9pbnQpOwotICB9Ci0gIFVzYkRldmljZVN0dWIucHJvdG90eXBlLmNvbnRy
b2xUcmFuc2ZlckluID0gZnVuY3Rpb24ocGFyYW1zLCBsZW5ndGgsIHRpbWVvdXQpIHsKLSAgICBy
ZXR1cm4gdGhpcy5kZWxlZ2F0ZV8gJiYgdGhpcy5kZWxlZ2F0ZV8uY29udHJvbFRyYW5zZmVySW4g
JiYgdGhpcy5kZWxlZ2F0ZV8uY29udHJvbFRyYW5zZmVySW4ocGFyYW1zLCBsZW5ndGgsIHRpbWVv
dXQpOwotICB9Ci0gIFVzYkRldmljZVN0dWIucHJvdG90eXBlLmNvbnRyb2xUcmFuc2Zlck91dCA9
IGZ1bmN0aW9uKHBhcmFtcywgZGF0YSwgdGltZW91dCkgewotICAgIHJldHVybiB0aGlzLmRlbGVn
YXRlXyAmJiB0aGlzLmRlbGVnYXRlXy5jb250cm9sVHJhbnNmZXJPdXQgJiYgdGhpcy5kZWxlZ2F0
ZV8uY29udHJvbFRyYW5zZmVyT3V0KHBhcmFtcywgZGF0YSwgdGltZW91dCk7Ci0gIH0KLSAgVXNi
RGV2aWNlU3R1Yi5wcm90b3R5cGUuZ2VuZXJpY1RyYW5zZmVySW4gPSBmdW5jdGlvbihlbmRwb2lu
dE51bWJlciwgbGVuZ3RoLCB0aW1lb3V0KSB7Ci0gICAgcmV0dXJuIHRoaXMuZGVsZWdhdGVfICYm
IHRoaXMuZGVsZWdhdGVfLmdlbmVyaWNUcmFuc2ZlckluICYmIHRoaXMuZGVsZWdhdGVfLmdlbmVy
aWNUcmFuc2ZlckluKGVuZHBvaW50TnVtYmVyLCBsZW5ndGgsIHRpbWVvdXQpOwotICB9Ci0gIFVz
YkRldmljZVN0dWIucHJvdG90eXBlLmdlbmVyaWNUcmFuc2Zlck91dCA9IGZ1bmN0aW9uKGVuZHBv
aW50TnVtYmVyLCBkYXRhLCB0aW1lb3V0KSB7Ci0gICAgcmV0dXJuIHRoaXMuZGVsZWdhdGVfICYm
IHRoaXMuZGVsZWdhdGVfLmdlbmVyaWNUcmFuc2Zlck91dCAmJiB0aGlzLmRlbGVnYXRlXy5nZW5l
cmljVHJhbnNmZXJPdXQoZW5kcG9pbnROdW1iZXIsIGRhdGEsIHRpbWVvdXQpOwotICB9Ci0gIFVz
YkRldmljZVN0dWIucHJvdG90eXBlLmlzb2Nocm9ub3VzVHJhbnNmZXJJbiA9IGZ1bmN0aW9uKGVu
ZHBvaW50TnVtYmVyLCBwYWNrZXRMZW5ndGhzLCB0aW1lb3V0KSB7Ci0gICAgcmV0dXJuIHRoaXMu
ZGVsZWdhdGVfICYmIHRoaXMuZGVsZWdhdGVfLmlzb2Nocm9ub3VzVHJhbnNmZXJJbiAmJiB0aGlz
LmRlbGVnYXRlXy5pc29jaHJvbm91c1RyYW5zZmVySW4oZW5kcG9pbnROdW1iZXIsIHBhY2tldExl
bmd0aHMsIHRpbWVvdXQpOwotICB9Ci0gIFVzYkRldmljZVN0dWIucHJvdG90eXBlLmlzb2Nocm9u
b3VzVHJhbnNmZXJPdXQgPSBmdW5jdGlvbihlbmRwb2ludE51bWJlciwgZGF0YSwgcGFja2V0TGVu
Z3RocywgdGltZW91dCkgewotICAgIHJldHVybiB0aGlzLmRlbGVnYXRlXyAmJiB0aGlzLmRlbGVn
YXRlXy5pc29jaHJvbm91c1RyYW5zZmVyT3V0ICYmIHRoaXMuZGVsZWdhdGVfLmlzb2Nocm9ub3Vz
VHJhbnNmZXJPdXQoZW5kcG9pbnROdW1iZXIsIGRhdGEsIHBhY2tldExlbmd0aHMsIHRpbWVvdXQp
OwotICB9Ci0KLSAgVXNiRGV2aWNlU3R1Yi5wcm90b3R5cGUuYWNjZXB0ID0gZnVuY3Rpb24obWVz
c2FnZSkgewotICAgIHZhciByZWFkZXIgPSBuZXcgY29kZWMuTWVzc2FnZVJlYWRlcihtZXNzYWdl
KTsKLSAgICBzd2l0Y2ggKHJlYWRlci5tZXNzYWdlTmFtZSkgewotICAgIGRlZmF1bHQ6Ci0gICAg
ICByZXR1cm4gZmFsc2U7Ci0gICAgfQotICB9OwotCi0gIFVzYkRldmljZVN0dWIucHJvdG90eXBl
LmFjY2VwdFdpdGhSZXNwb25kZXIgPQotICAgICAgZnVuY3Rpb24obWVzc2FnZSwgcmVzcG9uZGVy
KSB7Ci0gICAgdmFyIHJlYWRlciA9IG5ldyBjb2RlYy5NZXNzYWdlUmVhZGVyKG1lc3NhZ2UpOwot
ICAgIHN3aXRjaCAocmVhZGVyLm1lc3NhZ2VOYW1lKSB7Ci0gICAgY2FzZSBrVXNiRGV2aWNlX09w
ZW5fTmFtZToKLSAgICAgIHZhciBwYXJhbXMgPSByZWFkZXIuZGVjb2RlU3RydWN0KFVzYkRldmlj
ZV9PcGVuX1BhcmFtcyk7Ci0gICAgICB0aGlzLm9wZW4oKS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNl
KSB7Ci0gICAgICAgIHZhciByZXNwb25zZVBhcmFtcyA9Ci0gICAgICAgICAgICBuZXcgVXNiRGV2
aWNlX09wZW5fUmVzcG9uc2VQYXJhbXMoKTsKLSAgICAgICAgcmVzcG9uc2VQYXJhbXMuZXJyb3Ig
PSByZXNwb25zZS5lcnJvcjsKLSAgICAgICAgdmFyIGJ1aWxkZXIgPSBuZXcgY29kZWMuTWVzc2Fn
ZVYxQnVpbGRlcigKLSAgICAgICAgICAgIGtVc2JEZXZpY2VfT3Blbl9OYW1lLAotICAgICAgICAg
ICAgY29kZWMuYWxpZ24oVXNiRGV2aWNlX09wZW5fUmVzcG9uc2VQYXJhbXMuZW5jb2RlZFNpemUp
LAotICAgICAgICAgICAgY29kZWMua01lc3NhZ2VJc1Jlc3BvbnNlLCByZWFkZXIucmVxdWVzdElE
KTsKLSAgICAgICAgYnVpbGRlci5lbmNvZGVTdHJ1Y3QoVXNiRGV2aWNlX09wZW5fUmVzcG9uc2VQ
YXJhbXMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlUGFyYW1zKTsKLSAg
ICAgICAgdmFyIG1lc3NhZ2UgPSBidWlsZGVyLmZpbmlzaCgpOwotICAgICAgICByZXNwb25kZXIu
YWNjZXB0KG1lc3NhZ2UpOwotICAgICAgfSk7Ci0gICAgICByZXR1cm4gdHJ1ZTsKLSAgICBjYXNl
IGtVc2JEZXZpY2VfQ2xvc2VfTmFtZToKLSAgICAgIHZhciBwYXJhbXMgPSByZWFkZXIuZGVjb2Rl
U3RydWN0KFVzYkRldmljZV9DbG9zZV9QYXJhbXMpOwotICAgICAgdGhpcy5jbG9zZSgpLnRoZW4o
ZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICAgICAgdmFyIHJlc3BvbnNlUGFyYW1zID0KLSAgICAg
ICAgICAgIG5ldyBVc2JEZXZpY2VfQ2xvc2VfUmVzcG9uc2VQYXJhbXMoKTsKLSAgICAgICAgdmFy
IGJ1aWxkZXIgPSBuZXcgY29kZWMuTWVzc2FnZVYxQnVpbGRlcigKLSAgICAgICAgICAgIGtVc2JE
ZXZpY2VfQ2xvc2VfTmFtZSwKLSAgICAgICAgICAgIGNvZGVjLmFsaWduKFVzYkRldmljZV9DbG9z
ZV9SZXNwb25zZVBhcmFtcy5lbmNvZGVkU2l6ZSksCi0gICAgICAgICAgICBjb2RlYy5rTWVzc2Fn
ZUlzUmVzcG9uc2UsIHJlYWRlci5yZXF1ZXN0SUQpOwotICAgICAgICBidWlsZGVyLmVuY29kZVN0
cnVjdChVc2JEZXZpY2VfQ2xvc2VfUmVzcG9uc2VQYXJhbXMsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHJlc3BvbnNlUGFyYW1zKTsKLSAgICAgICAgdmFyIG1lc3NhZ2UgPSBidWlsZGVy
LmZpbmlzaCgpOwotICAgICAgICByZXNwb25kZXIuYWNjZXB0KG1lc3NhZ2UpOwotICAgICAgfSk7
Ci0gICAgICByZXR1cm4gdHJ1ZTsKLSAgICBjYXNlIGtVc2JEZXZpY2VfU2V0Q29uZmlndXJhdGlv
bl9OYW1lOgotICAgICAgdmFyIHBhcmFtcyA9IHJlYWRlci5kZWNvZGVTdHJ1Y3QoVXNiRGV2aWNl
X1NldENvbmZpZ3VyYXRpb25fUGFyYW1zKTsKLSAgICAgIHRoaXMuc2V0Q29uZmlndXJhdGlvbihw
YXJhbXMudmFsdWUpLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICAgICAgdmFyIHJlc3Bv
bnNlUGFyYW1zID0KLSAgICAgICAgICAgIG5ldyBVc2JEZXZpY2VfU2V0Q29uZmlndXJhdGlvbl9S
ZXNwb25zZVBhcmFtcygpOwotICAgICAgICByZXNwb25zZVBhcmFtcy5zdWNjZXNzID0gcmVzcG9u
c2Uuc3VjY2VzczsKLSAgICAgICAgdmFyIGJ1aWxkZXIgPSBuZXcgY29kZWMuTWVzc2FnZVYxQnVp
bGRlcigKLSAgICAgICAgICAgIGtVc2JEZXZpY2VfU2V0Q29uZmlndXJhdGlvbl9OYW1lLAotICAg
ICAgICAgICAgY29kZWMuYWxpZ24oVXNiRGV2aWNlX1NldENvbmZpZ3VyYXRpb25fUmVzcG9uc2VQ
YXJhbXMuZW5jb2RlZFNpemUpLAotICAgICAgICAgICAgY29kZWMua01lc3NhZ2VJc1Jlc3BvbnNl
LCByZWFkZXIucmVxdWVzdElEKTsKLSAgICAgICAgYnVpbGRlci5lbmNvZGVTdHJ1Y3QoVXNiRGV2
aWNlX1NldENvbmZpZ3VyYXRpb25fUmVzcG9uc2VQYXJhbXMsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHJlc3BvbnNlUGFyYW1zKTsKLSAgICAgICAgdmFyIG1lc3NhZ2UgPSBidWlsZGVy
LmZpbmlzaCgpOwotICAgICAgICByZXNwb25kZXIuYWNjZXB0KG1lc3NhZ2UpOwotICAgICAgfSk7
Ci0gICAgICByZXR1cm4gdHJ1ZTsKLSAgICBjYXNlIGtVc2JEZXZpY2VfQ2xhaW1JbnRlcmZhY2Vf
TmFtZToKLSAgICAgIHZhciBwYXJhbXMgPSByZWFkZXIuZGVjb2RlU3RydWN0KFVzYkRldmljZV9D
bGFpbUludGVyZmFjZV9QYXJhbXMpOwotICAgICAgdGhpcy5jbGFpbUludGVyZmFjZShwYXJhbXMu
aW50ZXJmYWNlTnVtYmVyKS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgICAgIHZhciBy
ZXNwb25zZVBhcmFtcyA9Ci0gICAgICAgICAgICBuZXcgVXNiRGV2aWNlX0NsYWltSW50ZXJmYWNl
X1Jlc3BvbnNlUGFyYW1zKCk7Ci0gICAgICAgIHJlc3BvbnNlUGFyYW1zLnN1Y2Nlc3MgPSByZXNw
b25zZS5zdWNjZXNzOwotICAgICAgICB2YXIgYnVpbGRlciA9IG5ldyBjb2RlYy5NZXNzYWdlVjFC
dWlsZGVyKAotICAgICAgICAgICAga1VzYkRldmljZV9DbGFpbUludGVyZmFjZV9OYW1lLAotICAg
ICAgICAgICAgY29kZWMuYWxpZ24oVXNiRGV2aWNlX0NsYWltSW50ZXJmYWNlX1Jlc3BvbnNlUGFy
YW1zLmVuY29kZWRTaXplKSwKLSAgICAgICAgICAgIGNvZGVjLmtNZXNzYWdlSXNSZXNwb25zZSwg
cmVhZGVyLnJlcXVlc3RJRCk7Ci0gICAgICAgIGJ1aWxkZXIuZW5jb2RlU3RydWN0KFVzYkRldmlj
ZV9DbGFpbUludGVyZmFjZV9SZXNwb25zZVBhcmFtcywKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgcmVzcG9uc2VQYXJhbXMpOwotICAgICAgICB2YXIgbWVzc2FnZSA9IGJ1aWxkZXIuZmlu
aXNoKCk7Ci0gICAgICAgIHJlc3BvbmRlci5hY2NlcHQobWVzc2FnZSk7Ci0gICAgICB9KTsKLSAg
ICAgIHJldHVybiB0cnVlOwotICAgIGNhc2Uga1VzYkRldmljZV9SZWxlYXNlSW50ZXJmYWNlX05h
bWU6Ci0gICAgICB2YXIgcGFyYW1zID0gcmVhZGVyLmRlY29kZVN0cnVjdChVc2JEZXZpY2VfUmVs
ZWFzZUludGVyZmFjZV9QYXJhbXMpOwotICAgICAgdGhpcy5yZWxlYXNlSW50ZXJmYWNlKHBhcmFt
cy5pbnRlcmZhY2VOdW1iZXIpLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICAgICAgdmFy
IHJlc3BvbnNlUGFyYW1zID0KLSAgICAgICAgICAgIG5ldyBVc2JEZXZpY2VfUmVsZWFzZUludGVy
ZmFjZV9SZXNwb25zZVBhcmFtcygpOwotICAgICAgICByZXNwb25zZVBhcmFtcy5zdWNjZXNzID0g
cmVzcG9uc2Uuc3VjY2VzczsKLSAgICAgICAgdmFyIGJ1aWxkZXIgPSBuZXcgY29kZWMuTWVzc2Fn
ZVYxQnVpbGRlcigKLSAgICAgICAgICAgIGtVc2JEZXZpY2VfUmVsZWFzZUludGVyZmFjZV9OYW1l
LAotICAgICAgICAgICAgY29kZWMuYWxpZ24oVXNiRGV2aWNlX1JlbGVhc2VJbnRlcmZhY2VfUmVz
cG9uc2VQYXJhbXMuZW5jb2RlZFNpemUpLAotICAgICAgICAgICAgY29kZWMua01lc3NhZ2VJc1Jl
c3BvbnNlLCByZWFkZXIucmVxdWVzdElEKTsKLSAgICAgICAgYnVpbGRlci5lbmNvZGVTdHJ1Y3Qo
VXNiRGV2aWNlX1JlbGVhc2VJbnRlcmZhY2VfUmVzcG9uc2VQYXJhbXMsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHJlc3BvbnNlUGFyYW1zKTsKLSAgICAgICAgdmFyIG1lc3NhZ2UgPSBi
dWlsZGVyLmZpbmlzaCgpOwotICAgICAgICByZXNwb25kZXIuYWNjZXB0KG1lc3NhZ2UpOwotICAg
ICAgfSk7Ci0gICAgICByZXR1cm4gdHJ1ZTsKLSAgICBjYXNlIGtVc2JEZXZpY2VfU2V0SW50ZXJm
YWNlQWx0ZXJuYXRlU2V0dGluZ19OYW1lOgotICAgICAgdmFyIHBhcmFtcyA9IHJlYWRlci5kZWNv
ZGVTdHJ1Y3QoVXNiRGV2aWNlX1NldEludGVyZmFjZUFsdGVybmF0ZVNldHRpbmdfUGFyYW1zKTsK
LSAgICAgIHRoaXMuc2V0SW50ZXJmYWNlQWx0ZXJuYXRlU2V0dGluZyhwYXJhbXMuaW50ZXJmYWNl
TnVtYmVyLCBwYXJhbXMuYWx0ZXJuYXRlU2V0dGluZykudGhlbihmdW5jdGlvbihyZXNwb25zZSkg
ewotICAgICAgICB2YXIgcmVzcG9uc2VQYXJhbXMgPQotICAgICAgICAgICAgbmV3IFVzYkRldmlj
ZV9TZXRJbnRlcmZhY2VBbHRlcm5hdGVTZXR0aW5nX1Jlc3BvbnNlUGFyYW1zKCk7Ci0gICAgICAg
IHJlc3BvbnNlUGFyYW1zLnN1Y2Nlc3MgPSByZXNwb25zZS5zdWNjZXNzOwotICAgICAgICB2YXIg
YnVpbGRlciA9IG5ldyBjb2RlYy5NZXNzYWdlVjFCdWlsZGVyKAotICAgICAgICAgICAga1VzYkRl
dmljZV9TZXRJbnRlcmZhY2VBbHRlcm5hdGVTZXR0aW5nX05hbWUsCi0gICAgICAgICAgICBjb2Rl
Yy5hbGlnbihVc2JEZXZpY2VfU2V0SW50ZXJmYWNlQWx0ZXJuYXRlU2V0dGluZ19SZXNwb25zZVBh
cmFtcy5lbmNvZGVkU2l6ZSksCi0gICAgICAgICAgICBjb2RlYy5rTWVzc2FnZUlzUmVzcG9uc2Us
IHJlYWRlci5yZXF1ZXN0SUQpOwotICAgICAgICBidWlsZGVyLmVuY29kZVN0cnVjdChVc2JEZXZp
Y2VfU2V0SW50ZXJmYWNlQWx0ZXJuYXRlU2V0dGluZ19SZXNwb25zZVBhcmFtcywKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2VQYXJhbXMpOwotICAgICAgICB2YXIgbWVzc2Fn
ZSA9IGJ1aWxkZXIuZmluaXNoKCk7Ci0gICAgICAgIHJlc3BvbmRlci5hY2NlcHQobWVzc2FnZSk7
Ci0gICAgICB9KTsKLSAgICAgIHJldHVybiB0cnVlOwotICAgIGNhc2Uga1VzYkRldmljZV9SZXNl
dF9OYW1lOgotICAgICAgdmFyIHBhcmFtcyA9IHJlYWRlci5kZWNvZGVTdHJ1Y3QoVXNiRGV2aWNl
X1Jlc2V0X1BhcmFtcyk7Ci0gICAgICB0aGlzLnJlc2V0KCkudGhlbihmdW5jdGlvbihyZXNwb25z
ZSkgewotICAgICAgICB2YXIgcmVzcG9uc2VQYXJhbXMgPQotICAgICAgICAgICAgbmV3IFVzYkRl
dmljZV9SZXNldF9SZXNwb25zZVBhcmFtcygpOwotICAgICAgICByZXNwb25zZVBhcmFtcy5zdWNj
ZXNzID0gcmVzcG9uc2Uuc3VjY2VzczsKLSAgICAgICAgdmFyIGJ1aWxkZXIgPSBuZXcgY29kZWMu
TWVzc2FnZVYxQnVpbGRlcigKLSAgICAgICAgICAgIGtVc2JEZXZpY2VfUmVzZXRfTmFtZSwKLSAg
ICAgICAgICAgIGNvZGVjLmFsaWduKFVzYkRldmljZV9SZXNldF9SZXNwb25zZVBhcmFtcy5lbmNv
ZGVkU2l6ZSksCi0gICAgICAgICAgICBjb2RlYy5rTWVzc2FnZUlzUmVzcG9uc2UsIHJlYWRlci5y
ZXF1ZXN0SUQpOwotICAgICAgICBidWlsZGVyLmVuY29kZVN0cnVjdChVc2JEZXZpY2VfUmVzZXRf
UmVzcG9uc2VQYXJhbXMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlUGFy
YW1zKTsKLSAgICAgICAgdmFyIG1lc3NhZ2UgPSBidWlsZGVyLmZpbmlzaCgpOwotICAgICAgICBy
ZXNwb25kZXIuYWNjZXB0KG1lc3NhZ2UpOwotICAgICAgfSk7Ci0gICAgICByZXR1cm4gdHJ1ZTsK
LSAgICBjYXNlIGtVc2JEZXZpY2VfQ2xlYXJIYWx0X05hbWU6Ci0gICAgICB2YXIgcGFyYW1zID0g
cmVhZGVyLmRlY29kZVN0cnVjdChVc2JEZXZpY2VfQ2xlYXJIYWx0X1BhcmFtcyk7Ci0gICAgICB0
aGlzLmNsZWFySGFsdChwYXJhbXMuZW5kcG9pbnQpLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsK
LSAgICAgICAgdmFyIHJlc3BvbnNlUGFyYW1zID0KLSAgICAgICAgICAgIG5ldyBVc2JEZXZpY2Vf
Q2xlYXJIYWx0X1Jlc3BvbnNlUGFyYW1zKCk7Ci0gICAgICAgIHJlc3BvbnNlUGFyYW1zLnN1Y2Nl
c3MgPSByZXNwb25zZS5zdWNjZXNzOwotICAgICAgICB2YXIgYnVpbGRlciA9IG5ldyBjb2RlYy5N
ZXNzYWdlVjFCdWlsZGVyKAotICAgICAgICAgICAga1VzYkRldmljZV9DbGVhckhhbHRfTmFtZSwK
LSAgICAgICAgICAgIGNvZGVjLmFsaWduKFVzYkRldmljZV9DbGVhckhhbHRfUmVzcG9uc2VQYXJh
bXMuZW5jb2RlZFNpemUpLAotICAgICAgICAgICAgY29kZWMua01lc3NhZ2VJc1Jlc3BvbnNlLCBy
ZWFkZXIucmVxdWVzdElEKTsKLSAgICAgICAgYnVpbGRlci5lbmNvZGVTdHJ1Y3QoVXNiRGV2aWNl
X0NsZWFySGFsdF9SZXNwb25zZVBhcmFtcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
cmVzcG9uc2VQYXJhbXMpOwotICAgICAgICB2YXIgbWVzc2FnZSA9IGJ1aWxkZXIuZmluaXNoKCk7
Ci0gICAgICAgIHJlc3BvbmRlci5hY2NlcHQobWVzc2FnZSk7Ci0gICAgICB9KTsKLSAgICAgIHJl
dHVybiB0cnVlOwotICAgIGNhc2Uga1VzYkRldmljZV9Db250cm9sVHJhbnNmZXJJbl9OYW1lOgot
ICAgICAgdmFyIHBhcmFtcyA9IHJlYWRlci5kZWNvZGVTdHJ1Y3QoVXNiRGV2aWNlX0NvbnRyb2xU
cmFuc2ZlckluX1BhcmFtcyk7Ci0gICAgICB0aGlzLmNvbnRyb2xUcmFuc2ZlckluKHBhcmFtcy5w
YXJhbXMsIHBhcmFtcy5sZW5ndGgsIHBhcmFtcy50aW1lb3V0KS50aGVuKGZ1bmN0aW9uKHJlc3Bv
bnNlKSB7Ci0gICAgICAgIHZhciByZXNwb25zZVBhcmFtcyA9Ci0gICAgICAgICAgICBuZXcgVXNi
RGV2aWNlX0NvbnRyb2xUcmFuc2ZlckluX1Jlc3BvbnNlUGFyYW1zKCk7Ci0gICAgICAgIHJlc3Bv
bnNlUGFyYW1zLnN0YXR1cyA9IHJlc3BvbnNlLnN0YXR1czsKLSAgICAgICAgcmVzcG9uc2VQYXJh
bXMuZGF0YSA9IHJlc3BvbnNlLmRhdGE7Ci0gICAgICAgIHZhciBidWlsZGVyID0gbmV3IGNvZGVj
Lk1lc3NhZ2VWMUJ1aWxkZXIoCi0gICAgICAgICAgICBrVXNiRGV2aWNlX0NvbnRyb2xUcmFuc2Zl
ckluX05hbWUsCi0gICAgICAgICAgICBjb2RlYy5hbGlnbihVc2JEZXZpY2VfQ29udHJvbFRyYW5z
ZmVySW5fUmVzcG9uc2VQYXJhbXMuZW5jb2RlZFNpemUpLAotICAgICAgICAgICAgY29kZWMua01l
c3NhZ2VJc1Jlc3BvbnNlLCByZWFkZXIucmVxdWVzdElEKTsKLSAgICAgICAgYnVpbGRlci5lbmNv
ZGVTdHJ1Y3QoVXNiRGV2aWNlX0NvbnRyb2xUcmFuc2ZlckluX1Jlc3BvbnNlUGFyYW1zLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICByZXNwb25zZVBhcmFtcyk7Ci0gICAgICAgIHZhciBt
ZXNzYWdlID0gYnVpbGRlci5maW5pc2goKTsKLSAgICAgICAgcmVzcG9uZGVyLmFjY2VwdChtZXNz
YWdlKTsKLSAgICAgIH0pOwotICAgICAgcmV0dXJuIHRydWU7Ci0gICAgY2FzZSBrVXNiRGV2aWNl
X0NvbnRyb2xUcmFuc2Zlck91dF9OYW1lOgotICAgICAgdmFyIHBhcmFtcyA9IHJlYWRlci5kZWNv
ZGVTdHJ1Y3QoVXNiRGV2aWNlX0NvbnRyb2xUcmFuc2Zlck91dF9QYXJhbXMpOwotICAgICAgdGhp
cy5jb250cm9sVHJhbnNmZXJPdXQocGFyYW1zLnBhcmFtcywgcGFyYW1zLmRhdGEsIHBhcmFtcy50
aW1lb3V0KS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgICAgIHZhciByZXNwb25zZVBh
cmFtcyA9Ci0gICAgICAgICAgICBuZXcgVXNiRGV2aWNlX0NvbnRyb2xUcmFuc2Zlck91dF9SZXNw
b25zZVBhcmFtcygpOwotICAgICAgICByZXNwb25zZVBhcmFtcy5zdGF0dXMgPSByZXNwb25zZS5z
dGF0dXM7Ci0gICAgICAgIHZhciBidWlsZGVyID0gbmV3IGNvZGVjLk1lc3NhZ2VWMUJ1aWxkZXIo
Ci0gICAgICAgICAgICBrVXNiRGV2aWNlX0NvbnRyb2xUcmFuc2Zlck91dF9OYW1lLAotICAgICAg
ICAgICAgY29kZWMuYWxpZ24oVXNiRGV2aWNlX0NvbnRyb2xUcmFuc2Zlck91dF9SZXNwb25zZVBh
cmFtcy5lbmNvZGVkU2l6ZSksCi0gICAgICAgICAgICBjb2RlYy5rTWVzc2FnZUlzUmVzcG9uc2Us
IHJlYWRlci5yZXF1ZXN0SUQpOwotICAgICAgICBidWlsZGVyLmVuY29kZVN0cnVjdChVc2JEZXZp
Y2VfQ29udHJvbFRyYW5zZmVyT3V0X1Jlc3BvbnNlUGFyYW1zLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICByZXNwb25zZVBhcmFtcyk7Ci0gICAgICAgIHZhciBtZXNzYWdlID0gYnVpbGRl
ci5maW5pc2goKTsKLSAgICAgICAgcmVzcG9uZGVyLmFjY2VwdChtZXNzYWdlKTsKLSAgICAgIH0p
OwotICAgICAgcmV0dXJuIHRydWU7Ci0gICAgY2FzZSBrVXNiRGV2aWNlX0dlbmVyaWNUcmFuc2Zl
ckluX05hbWU6Ci0gICAgICB2YXIgcGFyYW1zID0gcmVhZGVyLmRlY29kZVN0cnVjdChVc2JEZXZp
Y2VfR2VuZXJpY1RyYW5zZmVySW5fUGFyYW1zKTsKLSAgICAgIHRoaXMuZ2VuZXJpY1RyYW5zZmVy
SW4ocGFyYW1zLmVuZHBvaW50TnVtYmVyLCBwYXJhbXMubGVuZ3RoLCBwYXJhbXMudGltZW91dCku
dGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgICAgICB2YXIgcmVzcG9uc2VQYXJhbXMgPQot
ICAgICAgICAgICAgbmV3IFVzYkRldmljZV9HZW5lcmljVHJhbnNmZXJJbl9SZXNwb25zZVBhcmFt
cygpOwotICAgICAgICByZXNwb25zZVBhcmFtcy5zdGF0dXMgPSByZXNwb25zZS5zdGF0dXM7Ci0g
ICAgICAgIHJlc3BvbnNlUGFyYW1zLmRhdGEgPSByZXNwb25zZS5kYXRhOwotICAgICAgICB2YXIg
YnVpbGRlciA9IG5ldyBjb2RlYy5NZXNzYWdlVjFCdWlsZGVyKAotICAgICAgICAgICAga1VzYkRl
dmljZV9HZW5lcmljVHJhbnNmZXJJbl9OYW1lLAotICAgICAgICAgICAgY29kZWMuYWxpZ24oVXNi
RGV2aWNlX0dlbmVyaWNUcmFuc2ZlckluX1Jlc3BvbnNlUGFyYW1zLmVuY29kZWRTaXplKSwKLSAg
ICAgICAgICAgIGNvZGVjLmtNZXNzYWdlSXNSZXNwb25zZSwgcmVhZGVyLnJlcXVlc3RJRCk7Ci0g
ICAgICAgIGJ1aWxkZXIuZW5jb2RlU3RydWN0KFVzYkRldmljZV9HZW5lcmljVHJhbnNmZXJJbl9S
ZXNwb25zZVBhcmFtcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2VQYXJh
bXMpOwotICAgICAgICB2YXIgbWVzc2FnZSA9IGJ1aWxkZXIuZmluaXNoKCk7Ci0gICAgICAgIHJl
c3BvbmRlci5hY2NlcHQobWVzc2FnZSk7Ci0gICAgICB9KTsKLSAgICAgIHJldHVybiB0cnVlOwot
ICAgIGNhc2Uga1VzYkRldmljZV9HZW5lcmljVHJhbnNmZXJPdXRfTmFtZToKLSAgICAgIHZhciBw
YXJhbXMgPSByZWFkZXIuZGVjb2RlU3RydWN0KFVzYkRldmljZV9HZW5lcmljVHJhbnNmZXJPdXRf
UGFyYW1zKTsKLSAgICAgIHRoaXMuZ2VuZXJpY1RyYW5zZmVyT3V0KHBhcmFtcy5lbmRwb2ludE51
bWJlciwgcGFyYW1zLmRhdGEsIHBhcmFtcy50aW1lb3V0KS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNl
KSB7Ci0gICAgICAgIHZhciByZXNwb25zZVBhcmFtcyA9Ci0gICAgICAgICAgICBuZXcgVXNiRGV2
aWNlX0dlbmVyaWNUcmFuc2Zlck91dF9SZXNwb25zZVBhcmFtcygpOwotICAgICAgICByZXNwb25z
ZVBhcmFtcy5zdGF0dXMgPSByZXNwb25zZS5zdGF0dXM7Ci0gICAgICAgIHZhciBidWlsZGVyID0g
bmV3IGNvZGVjLk1lc3NhZ2VWMUJ1aWxkZXIoCi0gICAgICAgICAgICBrVXNiRGV2aWNlX0dlbmVy
aWNUcmFuc2Zlck91dF9OYW1lLAotICAgICAgICAgICAgY29kZWMuYWxpZ24oVXNiRGV2aWNlX0dl
bmVyaWNUcmFuc2Zlck91dF9SZXNwb25zZVBhcmFtcy5lbmNvZGVkU2l6ZSksCi0gICAgICAgICAg
ICBjb2RlYy5rTWVzc2FnZUlzUmVzcG9uc2UsIHJlYWRlci5yZXF1ZXN0SUQpOwotICAgICAgICBi
dWlsZGVyLmVuY29kZVN0cnVjdChVc2JEZXZpY2VfR2VuZXJpY1RyYW5zZmVyT3V0X1Jlc3BvbnNl
UGFyYW1zLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNwb25zZVBhcmFtcyk7Ci0g
ICAgICAgIHZhciBtZXNzYWdlID0gYnVpbGRlci5maW5pc2goKTsKLSAgICAgICAgcmVzcG9uZGVy
LmFjY2VwdChtZXNzYWdlKTsKLSAgICAgIH0pOwotICAgICAgcmV0dXJuIHRydWU7Ci0gICAgY2Fz
ZSBrVXNiRGV2aWNlX0lzb2Nocm9ub3VzVHJhbnNmZXJJbl9OYW1lOgotICAgICAgdmFyIHBhcmFt
cyA9IHJlYWRlci5kZWNvZGVTdHJ1Y3QoVXNiRGV2aWNlX0lzb2Nocm9ub3VzVHJhbnNmZXJJbl9Q
YXJhbXMpOwotICAgICAgdGhpcy5pc29jaHJvbm91c1RyYW5zZmVySW4ocGFyYW1zLmVuZHBvaW50
TnVtYmVyLCBwYXJhbXMucGFja2V0TGVuZ3RocywgcGFyYW1zLnRpbWVvdXQpLnRoZW4oZnVuY3Rp
b24ocmVzcG9uc2UpIHsKLSAgICAgICAgdmFyIHJlc3BvbnNlUGFyYW1zID0KLSAgICAgICAgICAg
IG5ldyBVc2JEZXZpY2VfSXNvY2hyb25vdXNUcmFuc2ZlckluX1Jlc3BvbnNlUGFyYW1zKCk7Ci0g
ICAgICAgIHJlc3BvbnNlUGFyYW1zLmRhdGEgPSByZXNwb25zZS5kYXRhOwotICAgICAgICByZXNw
b25zZVBhcmFtcy5wYWNrZXRzID0gcmVzcG9uc2UucGFja2V0czsKLSAgICAgICAgdmFyIGJ1aWxk
ZXIgPSBuZXcgY29kZWMuTWVzc2FnZVYxQnVpbGRlcigKLSAgICAgICAgICAgIGtVc2JEZXZpY2Vf
SXNvY2hyb25vdXNUcmFuc2ZlckluX05hbWUsCi0gICAgICAgICAgICBjb2RlYy5hbGlnbihVc2JE
ZXZpY2VfSXNvY2hyb25vdXNUcmFuc2ZlckluX1Jlc3BvbnNlUGFyYW1zLmVuY29kZWRTaXplKSwK
LSAgICAgICAgICAgIGNvZGVjLmtNZXNzYWdlSXNSZXNwb25zZSwgcmVhZGVyLnJlcXVlc3RJRCk7
Ci0gICAgICAgIGJ1aWxkZXIuZW5jb2RlU3RydWN0KFVzYkRldmljZV9Jc29jaHJvbm91c1RyYW5z
ZmVySW5fUmVzcG9uc2VQYXJhbXMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3Bv
bnNlUGFyYW1zKTsKLSAgICAgICAgdmFyIG1lc3NhZ2UgPSBidWlsZGVyLmZpbmlzaCgpOwotICAg
ICAgICByZXNwb25kZXIuYWNjZXB0KG1lc3NhZ2UpOwotICAgICAgfSk7Ci0gICAgICByZXR1cm4g
dHJ1ZTsKLSAgICBjYXNlIGtVc2JEZXZpY2VfSXNvY2hyb25vdXNUcmFuc2Zlck91dF9OYW1lOgot
ICAgICAgdmFyIHBhcmFtcyA9IHJlYWRlci5kZWNvZGVTdHJ1Y3QoVXNiRGV2aWNlX0lzb2Nocm9u
b3VzVHJhbnNmZXJPdXRfUGFyYW1zKTsKLSAgICAgIHRoaXMuaXNvY2hyb25vdXNUcmFuc2Zlck91
dChwYXJhbXMuZW5kcG9pbnROdW1iZXIsIHBhcmFtcy5kYXRhLCBwYXJhbXMucGFja2V0TGVuZ3Ro
cywgcGFyYW1zLnRpbWVvdXQpLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICAgICAgdmFy
IHJlc3BvbnNlUGFyYW1zID0KLSAgICAgICAgICAgIG5ldyBVc2JEZXZpY2VfSXNvY2hyb25vdXNU
cmFuc2Zlck91dF9SZXNwb25zZVBhcmFtcygpOwotICAgICAgICByZXNwb25zZVBhcmFtcy5wYWNr
ZXRzID0gcmVzcG9uc2UucGFja2V0czsKLSAgICAgICAgdmFyIGJ1aWxkZXIgPSBuZXcgY29kZWMu
TWVzc2FnZVYxQnVpbGRlcigKLSAgICAgICAgICAgIGtVc2JEZXZpY2VfSXNvY2hyb25vdXNUcmFu
c2Zlck91dF9OYW1lLAotICAgICAgICAgICAgY29kZWMuYWxpZ24oVXNiRGV2aWNlX0lzb2Nocm9u
b3VzVHJhbnNmZXJPdXRfUmVzcG9uc2VQYXJhbXMuZW5jb2RlZFNpemUpLAotICAgICAgICAgICAg
Y29kZWMua01lc3NhZ2VJc1Jlc3BvbnNlLCByZWFkZXIucmVxdWVzdElEKTsKLSAgICAgICAgYnVp
bGRlci5lbmNvZGVTdHJ1Y3QoVXNiRGV2aWNlX0lzb2Nocm9ub3VzVHJhbnNmZXJPdXRfUmVzcG9u
c2VQYXJhbXMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlUGFyYW1zKTsK
LSAgICAgICAgdmFyIG1lc3NhZ2UgPSBidWlsZGVyLmZpbmlzaCgpOwotICAgICAgICByZXNwb25k
ZXIuYWNjZXB0KG1lc3NhZ2UpOwotICAgICAgfSk7Ci0gICAgICByZXR1cm4gdHJ1ZTsKLSAgICBk
ZWZhdWx0OgotICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0KLSAgfTsKLQotICBmdW5jdGlvbiB2
YWxpZGF0ZVVzYkRldmljZVJlcXVlc3QobWVzc2FnZVZhbGlkYXRvcikgewotICAgIHZhciBtZXNz
YWdlID0gbWVzc2FnZVZhbGlkYXRvci5tZXNzYWdlOwotICAgIHZhciBwYXJhbXNDbGFzcyA9IG51
bGw7Ci0gICAgc3dpdGNoIChtZXNzYWdlLmdldE5hbWUoKSkgewotICAgICAgY2FzZSBrVXNiRGV2
aWNlX09wZW5fTmFtZToKLSAgICAgICAgaWYgKG1lc3NhZ2UuZXhwZWN0c1Jlc3BvbnNlKCkpCi0g
ICAgICAgICAgcGFyYW1zQ2xhc3MgPSBVc2JEZXZpY2VfT3Blbl9QYXJhbXM7Ci0gICAgICBicmVh
azsKLSAgICAgIGNhc2Uga1VzYkRldmljZV9DbG9zZV9OYW1lOgotICAgICAgICBpZiAobWVzc2Fn
ZS5leHBlY3RzUmVzcG9uc2UoKSkKLSAgICAgICAgICBwYXJhbXNDbGFzcyA9IFVzYkRldmljZV9D
bG9zZV9QYXJhbXM7Ci0gICAgICBicmVhazsKLSAgICAgIGNhc2Uga1VzYkRldmljZV9TZXRDb25m
aWd1cmF0aW9uX05hbWU6Ci0gICAgICAgIGlmIChtZXNzYWdlLmV4cGVjdHNSZXNwb25zZSgpKQot
ICAgICAgICAgIHBhcmFtc0NsYXNzID0gVXNiRGV2aWNlX1NldENvbmZpZ3VyYXRpb25fUGFyYW1z
OwotICAgICAgYnJlYWs7Ci0gICAgICBjYXNlIGtVc2JEZXZpY2VfQ2xhaW1JbnRlcmZhY2VfTmFt
ZToKLSAgICAgICAgaWYgKG1lc3NhZ2UuZXhwZWN0c1Jlc3BvbnNlKCkpCi0gICAgICAgICAgcGFy
YW1zQ2xhc3MgPSBVc2JEZXZpY2VfQ2xhaW1JbnRlcmZhY2VfUGFyYW1zOwotICAgICAgYnJlYWs7
Ci0gICAgICBjYXNlIGtVc2JEZXZpY2VfUmVsZWFzZUludGVyZmFjZV9OYW1lOgotICAgICAgICBp
ZiAobWVzc2FnZS5leHBlY3RzUmVzcG9uc2UoKSkKLSAgICAgICAgICBwYXJhbXNDbGFzcyA9IFVz
YkRldmljZV9SZWxlYXNlSW50ZXJmYWNlX1BhcmFtczsKLSAgICAgIGJyZWFrOwotICAgICAgY2Fz
ZSBrVXNiRGV2aWNlX1NldEludGVyZmFjZUFsdGVybmF0ZVNldHRpbmdfTmFtZToKLSAgICAgICAg
aWYgKG1lc3NhZ2UuZXhwZWN0c1Jlc3BvbnNlKCkpCi0gICAgICAgICAgcGFyYW1zQ2xhc3MgPSBV
c2JEZXZpY2VfU2V0SW50ZXJmYWNlQWx0ZXJuYXRlU2V0dGluZ19QYXJhbXM7Ci0gICAgICBicmVh
azsKLSAgICAgIGNhc2Uga1VzYkRldmljZV9SZXNldF9OYW1lOgotICAgICAgICBpZiAobWVzc2Fn
ZS5leHBlY3RzUmVzcG9uc2UoKSkKLSAgICAgICAgICBwYXJhbXNDbGFzcyA9IFVzYkRldmljZV9S
ZXNldF9QYXJhbXM7Ci0gICAgICBicmVhazsKLSAgICAgIGNhc2Uga1VzYkRldmljZV9DbGVhckhh
bHRfTmFtZToKLSAgICAgICAgaWYgKG1lc3NhZ2UuZXhwZWN0c1Jlc3BvbnNlKCkpCi0gICAgICAg
ICAgcGFyYW1zQ2xhc3MgPSBVc2JEZXZpY2VfQ2xlYXJIYWx0X1BhcmFtczsKLSAgICAgIGJyZWFr
OwotICAgICAgY2FzZSBrVXNiRGV2aWNlX0NvbnRyb2xUcmFuc2ZlckluX05hbWU6Ci0gICAgICAg
IGlmIChtZXNzYWdlLmV4cGVjdHNSZXNwb25zZSgpKQotICAgICAgICAgIHBhcmFtc0NsYXNzID0g
VXNiRGV2aWNlX0NvbnRyb2xUcmFuc2ZlckluX1BhcmFtczsKLSAgICAgIGJyZWFrOwotICAgICAg
Y2FzZSBrVXNiRGV2aWNlX0NvbnRyb2xUcmFuc2Zlck91dF9OYW1lOgotICAgICAgICBpZiAobWVz
c2FnZS5leHBlY3RzUmVzcG9uc2UoKSkKLSAgICAgICAgICBwYXJhbXNDbGFzcyA9IFVzYkRldmlj
ZV9Db250cm9sVHJhbnNmZXJPdXRfUGFyYW1zOwotICAgICAgYnJlYWs7Ci0gICAgICBjYXNlIGtV
c2JEZXZpY2VfR2VuZXJpY1RyYW5zZmVySW5fTmFtZToKLSAgICAgICAgaWYgKG1lc3NhZ2UuZXhw
ZWN0c1Jlc3BvbnNlKCkpCi0gICAgICAgICAgcGFyYW1zQ2xhc3MgPSBVc2JEZXZpY2VfR2VuZXJp
Y1RyYW5zZmVySW5fUGFyYW1zOwotICAgICAgYnJlYWs7Ci0gICAgICBjYXNlIGtVc2JEZXZpY2Vf
R2VuZXJpY1RyYW5zZmVyT3V0X05hbWU6Ci0gICAgICAgIGlmIChtZXNzYWdlLmV4cGVjdHNSZXNw
b25zZSgpKQotICAgICAgICAgIHBhcmFtc0NsYXNzID0gVXNiRGV2aWNlX0dlbmVyaWNUcmFuc2Zl
ck91dF9QYXJhbXM7Ci0gICAgICBicmVhazsKLSAgICAgIGNhc2Uga1VzYkRldmljZV9Jc29jaHJv
bm91c1RyYW5zZmVySW5fTmFtZToKLSAgICAgICAgaWYgKG1lc3NhZ2UuZXhwZWN0c1Jlc3BvbnNl
KCkpCi0gICAgICAgICAgcGFyYW1zQ2xhc3MgPSBVc2JEZXZpY2VfSXNvY2hyb25vdXNUcmFuc2Zl
ckluX1BhcmFtczsKLSAgICAgIGJyZWFrOwotICAgICAgY2FzZSBrVXNiRGV2aWNlX0lzb2Nocm9u
b3VzVHJhbnNmZXJPdXRfTmFtZToKLSAgICAgICAgaWYgKG1lc3NhZ2UuZXhwZWN0c1Jlc3BvbnNl
KCkpCi0gICAgICAgICAgcGFyYW1zQ2xhc3MgPSBVc2JEZXZpY2VfSXNvY2hyb25vdXNUcmFuc2Zl
ck91dF9QYXJhbXM7Ci0gICAgICBicmVhazsKLSAgICB9Ci0gICAgaWYgKHBhcmFtc0NsYXNzID09
PSBudWxsKQotICAgICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAg
ICByZXR1cm4gcGFyYW1zQ2xhc3MudmFsaWRhdGUobWVzc2FnZVZhbGlkYXRvciwgbWVzc2FnZVZh
bGlkYXRvci5tZXNzYWdlLmdldEhlYWRlck51bUJ5dGVzKCkpOwotICB9Ci0KLSAgZnVuY3Rpb24g
dmFsaWRhdGVVc2JEZXZpY2VSZXNwb25zZShtZXNzYWdlVmFsaWRhdG9yKSB7Ci0gICB2YXIgbWVz
c2FnZSA9IG1lc3NhZ2VWYWxpZGF0b3IubWVzc2FnZTsKLSAgIHZhciBwYXJhbXNDbGFzcyA9IG51
bGw7Ci0gICBzd2l0Y2ggKG1lc3NhZ2UuZ2V0TmFtZSgpKSB7Ci0gICAgICBjYXNlIGtVc2JEZXZp
Y2VfT3Blbl9OYW1lOgotICAgICAgICBpZiAobWVzc2FnZS5pc1Jlc3BvbnNlKCkpCi0gICAgICAg
ICAgcGFyYW1zQ2xhc3MgPSBVc2JEZXZpY2VfT3Blbl9SZXNwb25zZVBhcmFtczsKLSAgICAgICAg
YnJlYWs7Ci0gICAgICBjYXNlIGtVc2JEZXZpY2VfQ2xvc2VfTmFtZToKLSAgICAgICAgaWYgKG1l
c3NhZ2UuaXNSZXNwb25zZSgpKQotICAgICAgICAgIHBhcmFtc0NsYXNzID0gVXNiRGV2aWNlX0Ns
b3NlX1Jlc3BvbnNlUGFyYW1zOwotICAgICAgICBicmVhazsKLSAgICAgIGNhc2Uga1VzYkRldmlj
ZV9TZXRDb25maWd1cmF0aW9uX05hbWU6Ci0gICAgICAgIGlmIChtZXNzYWdlLmlzUmVzcG9uc2Uo
KSkKLSAgICAgICAgICBwYXJhbXNDbGFzcyA9IFVzYkRldmljZV9TZXRDb25maWd1cmF0aW9uX1Jl
c3BvbnNlUGFyYW1zOwotICAgICAgICBicmVhazsKLSAgICAgIGNhc2Uga1VzYkRldmljZV9DbGFp
bUludGVyZmFjZV9OYW1lOgotICAgICAgICBpZiAobWVzc2FnZS5pc1Jlc3BvbnNlKCkpCi0gICAg
ICAgICAgcGFyYW1zQ2xhc3MgPSBVc2JEZXZpY2VfQ2xhaW1JbnRlcmZhY2VfUmVzcG9uc2VQYXJh
bXM7Ci0gICAgICAgIGJyZWFrOwotICAgICAgY2FzZSBrVXNiRGV2aWNlX1JlbGVhc2VJbnRlcmZh
Y2VfTmFtZToKLSAgICAgICAgaWYgKG1lc3NhZ2UuaXNSZXNwb25zZSgpKQotICAgICAgICAgIHBh
cmFtc0NsYXNzID0gVXNiRGV2aWNlX1JlbGVhc2VJbnRlcmZhY2VfUmVzcG9uc2VQYXJhbXM7Ci0g
ICAgICAgIGJyZWFrOwotICAgICAgY2FzZSBrVXNiRGV2aWNlX1NldEludGVyZmFjZUFsdGVybmF0
ZVNldHRpbmdfTmFtZToKLSAgICAgICAgaWYgKG1lc3NhZ2UuaXNSZXNwb25zZSgpKQotICAgICAg
ICAgIHBhcmFtc0NsYXNzID0gVXNiRGV2aWNlX1NldEludGVyZmFjZUFsdGVybmF0ZVNldHRpbmdf
UmVzcG9uc2VQYXJhbXM7Ci0gICAgICAgIGJyZWFrOwotICAgICAgY2FzZSBrVXNiRGV2aWNlX1Jl
c2V0X05hbWU6Ci0gICAgICAgIGlmIChtZXNzYWdlLmlzUmVzcG9uc2UoKSkKLSAgICAgICAgICBw
YXJhbXNDbGFzcyA9IFVzYkRldmljZV9SZXNldF9SZXNwb25zZVBhcmFtczsKLSAgICAgICAgYnJl
YWs7Ci0gICAgICBjYXNlIGtVc2JEZXZpY2VfQ2xlYXJIYWx0X05hbWU6Ci0gICAgICAgIGlmICht
ZXNzYWdlLmlzUmVzcG9uc2UoKSkKLSAgICAgICAgICBwYXJhbXNDbGFzcyA9IFVzYkRldmljZV9D
bGVhckhhbHRfUmVzcG9uc2VQYXJhbXM7Ci0gICAgICAgIGJyZWFrOwotICAgICAgY2FzZSBrVXNi
RGV2aWNlX0NvbnRyb2xUcmFuc2ZlckluX05hbWU6Ci0gICAgICAgIGlmIChtZXNzYWdlLmlzUmVz
cG9uc2UoKSkKLSAgICAgICAgICBwYXJhbXNDbGFzcyA9IFVzYkRldmljZV9Db250cm9sVHJhbnNm
ZXJJbl9SZXNwb25zZVBhcmFtczsKLSAgICAgICAgYnJlYWs7Ci0gICAgICBjYXNlIGtVc2JEZXZp
Y2VfQ29udHJvbFRyYW5zZmVyT3V0X05hbWU6Ci0gICAgICAgIGlmIChtZXNzYWdlLmlzUmVzcG9u
c2UoKSkKLSAgICAgICAgICBwYXJhbXNDbGFzcyA9IFVzYkRldmljZV9Db250cm9sVHJhbnNmZXJP
dXRfUmVzcG9uc2VQYXJhbXM7Ci0gICAgICAgIGJyZWFrOwotICAgICAgY2FzZSBrVXNiRGV2aWNl
X0dlbmVyaWNUcmFuc2ZlckluX05hbWU6Ci0gICAgICAgIGlmIChtZXNzYWdlLmlzUmVzcG9uc2Uo
KSkKLSAgICAgICAgICBwYXJhbXNDbGFzcyA9IFVzYkRldmljZV9HZW5lcmljVHJhbnNmZXJJbl9S
ZXNwb25zZVBhcmFtczsKLSAgICAgICAgYnJlYWs7Ci0gICAgICBjYXNlIGtVc2JEZXZpY2VfR2Vu
ZXJpY1RyYW5zZmVyT3V0X05hbWU6Ci0gICAgICAgIGlmIChtZXNzYWdlLmlzUmVzcG9uc2UoKSkK
LSAgICAgICAgICBwYXJhbXNDbGFzcyA9IFVzYkRldmljZV9HZW5lcmljVHJhbnNmZXJPdXRfUmVz
cG9uc2VQYXJhbXM7Ci0gICAgICAgIGJyZWFrOwotICAgICAgY2FzZSBrVXNiRGV2aWNlX0lzb2No
cm9ub3VzVHJhbnNmZXJJbl9OYW1lOgotICAgICAgICBpZiAobWVzc2FnZS5pc1Jlc3BvbnNlKCkp
Ci0gICAgICAgICAgcGFyYW1zQ2xhc3MgPSBVc2JEZXZpY2VfSXNvY2hyb25vdXNUcmFuc2Zlcklu
X1Jlc3BvbnNlUGFyYW1zOwotICAgICAgICBicmVhazsKLSAgICAgIGNhc2Uga1VzYkRldmljZV9J
c29jaHJvbm91c1RyYW5zZmVyT3V0X05hbWU6Ci0gICAgICAgIGlmIChtZXNzYWdlLmlzUmVzcG9u
c2UoKSkKLSAgICAgICAgICBwYXJhbXNDbGFzcyA9IFVzYkRldmljZV9Jc29jaHJvbm91c1RyYW5z
ZmVyT3V0X1Jlc3BvbnNlUGFyYW1zOwotICAgICAgICBicmVhazsKLSAgICB9Ci0gICAgaWYgKHBh
cmFtc0NsYXNzID09PSBudWxsKQotICAgICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJy
b3IuTk9ORTsKLSAgICByZXR1cm4gcGFyYW1zQ2xhc3MudmFsaWRhdGUobWVzc2FnZVZhbGlkYXRv
ciwgbWVzc2FnZVZhbGlkYXRvci5tZXNzYWdlLmdldEhlYWRlck51bUJ5dGVzKCkpOwotICB9Ci0K
LSAgdmFyIFVzYkRldmljZSA9IHsKLSAgICBuYW1lOiAnZGV2aWNlOjptb2pvbTo6VXNiRGV2aWNl
JywKLSAgICBrVmVyc2lvbjogMCwKLSAgICBwdHJDbGFzczogVXNiRGV2aWNlUHRyLAotICAgIHBy
b3h5Q2xhc3M6IFVzYkRldmljZVByb3h5LAotICAgIHN0dWJDbGFzczogVXNiRGV2aWNlU3R1YiwK
LSAgICB2YWxpZGF0ZVJlcXVlc3Q6IHZhbGlkYXRlVXNiRGV2aWNlUmVxdWVzdCwKLSAgICB2YWxp
ZGF0ZVJlc3BvbnNlOiB2YWxpZGF0ZVVzYkRldmljZVJlc3BvbnNlLAotICB9OwotICBVc2JEZXZp
Y2VTdHViLnByb3RvdHlwZS52YWxpZGF0b3IgPSB2YWxpZGF0ZVVzYkRldmljZVJlcXVlc3Q7Ci0g
IFVzYkRldmljZVByb3h5LnByb3RvdHlwZS52YWxpZGF0b3IgPSB2YWxpZGF0ZVVzYkRldmljZVJl
c3BvbnNlOwotICBleHBvcnRzLlVzYk9wZW5EZXZpY2VFcnJvciA9IFVzYk9wZW5EZXZpY2VFcnJv
cjsKLSAgZXhwb3J0cy5Vc2JUcmFuc2ZlckRpcmVjdGlvbiA9IFVzYlRyYW5zZmVyRGlyZWN0aW9u
OwotICBleHBvcnRzLlVzYkNvbnRyb2xUcmFuc2ZlclR5cGUgPSBVc2JDb250cm9sVHJhbnNmZXJU
eXBlOwotICBleHBvcnRzLlVzYkNvbnRyb2xUcmFuc2ZlclJlY2lwaWVudCA9IFVzYkNvbnRyb2xU
cmFuc2ZlclJlY2lwaWVudDsKLSAgZXhwb3J0cy5Vc2JUcmFuc2ZlclR5cGUgPSBVc2JUcmFuc2Zl
clR5cGU7Ci0gIGV4cG9ydHMuVXNiVHJhbnNmZXJTdGF0dXMgPSBVc2JUcmFuc2ZlclN0YXR1czsK
LSAgZXhwb3J0cy5Vc2JFbmRwb2ludEluZm8gPSBVc2JFbmRwb2ludEluZm87Ci0gIGV4cG9ydHMu
VXNiQWx0ZXJuYXRlSW50ZXJmYWNlSW5mbyA9IFVzYkFsdGVybmF0ZUludGVyZmFjZUluZm87Ci0g
IGV4cG9ydHMuVXNiSW50ZXJmYWNlSW5mbyA9IFVzYkludGVyZmFjZUluZm87Ci0gIGV4cG9ydHMu
VXNiQ29uZmlndXJhdGlvbkluZm8gPSBVc2JDb25maWd1cmF0aW9uSW5mbzsKLSAgZXhwb3J0cy5V
c2JEZXZpY2VJbmZvID0gVXNiRGV2aWNlSW5mbzsKLSAgZXhwb3J0cy5Vc2JDb250cm9sVHJhbnNm
ZXJQYXJhbXMgPSBVc2JDb250cm9sVHJhbnNmZXJQYXJhbXM7Ci0gIGV4cG9ydHMuVXNiSXNvY2hy
b25vdXNQYWNrZXQgPSBVc2JJc29jaHJvbm91c1BhY2tldDsKLSAgZXhwb3J0cy5Vc2JEZXZpY2Ug
PSBVc2JEZXZpY2U7Ci0gIGV4cG9ydHMuVXNiRGV2aWNlUHRyID0gVXNiRGV2aWNlUHRyOwotICBl
eHBvcnRzLlVzYkRldmljZUFzc29jaWF0ZWRQdHIgPSBVc2JEZXZpY2VBc3NvY2lhdGVkUHRyOwot
fSkoKTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS9kZXZp
Y2UubW9qb20uanMuaGVhZGVycyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL2RldmljZS5tb2pvbS5qcy5oZWFkZXJzCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2ODA1YzMyM2RmNWE5NzUyMzE2NDhiODMwZTMzY2Ux
ODNjM2NiYmQzLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2No
cm9taXVtL2RldmljZS5tb2pvbS5qcy5oZWFkZXJzCisrKyAvZGV2L251bGwKQEAgLTEgKzAsMCBA
QAotQ29udGVudC1UeXBlOiB0ZXh0L2phdmFzY3JpcHQ7IGNoYXJzZXQ9dXRmLTgKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L2Nocm9taXVtL2RldmljZV9tYW5hZ2VyLm1vam9tLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vZGV2aWNlX21hbmFnZXIu
bW9qb20uanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDk5ZWJkODU0YmUwM2MyNzIx
ZDVmNWQwN2U0ODZjYmUyMWQ1NzM3ZDguLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvY2hyb21pdW0vZGV2aWNlX21hbmFnZXIubW9qb20uanMKKysrIC9kZXYvbnVs
bApAQCAtMSw4NTYgKzAsMCBAQAotLy8gQ29weXJpZ2h0IDIwMTQgVGhlIENocm9taXVtIEF1dGhv
cnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0vLyBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBn
b3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCi0vLyBmb3VuZCBpbiB0
aGUgTElDRU5TRSBmaWxlLgotCi0KLSd1c2Ugc3RyaWN0JzsKLQotKGZ1bmN0aW9uKCkgewotICB2
YXIgbW9qb21JZCA9ICdkZXZpY2UvdXNiL3B1YmxpYy9pbnRlcmZhY2VzL2RldmljZV9tYW5hZ2Vy
Lm1vam9tJzsKLSAgaWYgKG1vam8uaW50ZXJuYWwuaXNNb2pvbUxvYWRlZChtb2pvbUlkKSkgewot
ICAgIGNvbnNvbGUud2FybignVGhlIGZvbGxvd2luZyBtb2pvbSBpcyBsb2FkZWQgbXVsdGlwbGUg
dGltZXM6ICcgKyBtb2pvbUlkKTsKLSAgICByZXR1cm47Ci0gIH0KLSAgbW9qby5pbnRlcm5hbC5t
YXJrTW9qb21Mb2FkZWQobW9qb21JZCk7Ci0KLSAgLy8gVE9ETyh5enNoZW4pOiBEZWZpbmUgdGhl
c2UgYWxpYXNlcyB0byBtaW5pbWl6ZSB0aGUgZGlmZmVyZW5jZXMgYmV0d2VlbiB0aGUKLSAgLy8g
b2xkL25ldyBtb2Rlcy4gUmVtb3ZlIHRoZW0gd2hlbiB0aGUgb2xkIG1vZGUgZ29lcyBhd2F5Lgot
ICB2YXIgYmluZGluZ3MgPSBtb2pvOwotICB2YXIgYXNzb2NpYXRlZEJpbmRpbmdzID0gbW9qbzsK
LSAgdmFyIGNvZGVjID0gbW9qby5pbnRlcm5hbDsKLSAgdmFyIHZhbGlkYXRvciA9IG1vam8uaW50
ZXJuYWw7Ci0KLSAgdmFyIGV4cG9ydHMgPSBtb2pvLmludGVybmFsLmV4cG9zZU5hbWVzcGFjZSgn
ZGV2aWNlLm1vam9tJyk7Ci0gIHZhciBkZXZpY2UkID0KLSAgICAgIG1vam8uaW50ZXJuYWwuZXhw
b3NlTmFtZXNwYWNlKCdkZXZpY2UubW9qb20nKTsKLSAgaWYgKG1vam8uY29uZmlnLmF1dG9Mb2Fk
TW9qb21EZXBzKSB7Ci0gICAgbW9qby5pbnRlcm5hbC5sb2FkTW9qb21JZk5lY2Vzc2FyeSgKLSAg
ICAgICAgJ2RldmljZS91c2IvcHVibGljL2ludGVyZmFjZXMvZGV2aWNlLm1vam9tJywgJ2Rldmlj
ZS5tb2pvbS5qcycpOwotICB9Ci0gIHZhciBzdHJpbmcxNiQgPQotICAgICAgbW9qby5pbnRlcm5h
bC5leHBvc2VOYW1lc3BhY2UoJ21vam8uY29tbW9uLm1vam9tJyk7Ci0gIGlmIChtb2pvLmNvbmZp
Zy5hdXRvTG9hZE1vam9tRGVwcykgewotICAgIG1vam8uaW50ZXJuYWwubG9hZE1vam9tSWZOZWNl
c3NhcnkoCi0gICAgICAgICdtb2pvL2NvbW1vbi9zdHJpbmcxNi5tb2pvbScsICcuLi8uLi8uLi8u
Li9tb2pvL2NvbW1vbi9zdHJpbmcxNi5tb2pvbS5qcycpOwotICB9Ci0KLQotCi0gIGZ1bmN0aW9u
IFVzYkRldmljZUZpbHRlcih2YWx1ZXMpIHsKLSAgICB0aGlzLmluaXREZWZhdWx0c18oKTsKLSAg
ICB0aGlzLmluaXRGaWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0gIFVzYkRldmljZUZpbHRlci5w
cm90b3R5cGUuaW5pdERlZmF1bHRzXyA9IGZ1bmN0aW9uKCkgewotICAgIHRoaXMuaGFzVmVuZG9y
SWQgPSBmYWxzZTsKLSAgICB0aGlzLmhhc1Byb2R1Y3RJZCA9IGZhbHNlOwotICAgIHRoaXMuaGFz
Q2xhc3NDb2RlID0gZmFsc2U7Ci0gICAgdGhpcy5oYXNTdWJjbGFzc0NvZGUgPSBmYWxzZTsKLSAg
ICB0aGlzLmhhc1Byb3RvY29sQ29kZSA9IGZhbHNlOwotICAgIHRoaXMuY2xhc3NDb2RlID0gMDsK
LSAgICB0aGlzLnZlbmRvcklkID0gMDsKLSAgICB0aGlzLnByb2R1Y3RJZCA9IDA7Ci0gICAgdGhp
cy5zdWJjbGFzc0NvZGUgPSAwOwotICAgIHRoaXMucHJvdG9jb2xDb2RlID0gMDsKLSAgICB0aGlz
LnNlcmlhbE51bWJlciA9IG51bGw7Ci0gIH07Ci0gIFVzYkRldmljZUZpbHRlci5wcm90b3R5cGUu
aW5pdEZpZWxkc18gPSBmdW5jdGlvbihmaWVsZHMpIHsKLSAgICBmb3IodmFyIGZpZWxkIGluIGZp
ZWxkcykgewotICAgICAgICBpZiAodGhpcy5oYXNPd25Qcm9wZXJ0eShmaWVsZCkpCi0gICAgICAg
ICAgdGhpc1tmaWVsZF0gPSBmaWVsZHNbZmllbGRdOwotICAgIH0KLSAgfTsKLQotICBVc2JEZXZp
Y2VGaWx0ZXIudmFsaWRhdGUgPSBmdW5jdGlvbihtZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsK
LSAgICB2YXIgZXJyOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RI
ZWFkZXIob2Zmc2V0LCBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVyciAhPT0g
dmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0g
ICAgdmFyIGtWZXJzaW9uU2l6ZXMgPSBbCi0gICAgICB7dmVyc2lvbjogMCwgbnVtQnl0ZXM6IDI0
fQotICAgIF07Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFZlcnNp
b24ob2Zmc2V0LCBrVmVyc2lvblNpemVzKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFs
aWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotCi0KLQotCi0KLQot
Ci0KLQotCi0gICAgCi0gICAgLy8gdmFsaWRhdGUgVXNiRGV2aWNlRmlsdGVyLnNlcmlhbE51bWJl
cgotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RQb2ludGVyKG9mZnNl
dCArIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgOCwgc3RyaW5nMTYkLlN0cmluZzE2LCB0cnVl
KTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAg
ICAgIHJldHVybiBlcnI7Ci0KLSAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5O
T05FOwotICB9OwotCi0gIFVzYkRldmljZUZpbHRlci5lbmNvZGVkU2l6ZSA9IGNvZGVjLmtTdHJ1
Y3RIZWFkZXJTaXplICsgMTY7Ci0KLSAgVXNiRGV2aWNlRmlsdGVyLmRlY29kZSA9IGZ1bmN0aW9u
KGRlY29kZXIpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIHZhciB2YWwgPSBuZXcgVXNiRGV2aWNl
RmlsdGVyKCk7Ci0gICAgdmFyIG51bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsK
LSAgICB2YXIgdmVyc2lvbiA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHBhY2tlZCA9IGRl
Y29kZXIucmVhZFVpbnQ4KCk7Ci0gICAgdmFsLmhhc1ZlbmRvcklkID0gKHBhY2tlZCA+PiAwKSAm
IDEgPyB0cnVlIDogZmFsc2U7Ci0gICAgdmFsLmhhc1Byb2R1Y3RJZCA9IChwYWNrZWQgPj4gMSkg
JiAxID8gdHJ1ZSA6IGZhbHNlOwotICAgIHZhbC5oYXNDbGFzc0NvZGUgPSAocGFja2VkID4+IDIp
ICYgMSA/IHRydWUgOiBmYWxzZTsKLSAgICB2YWwuaGFzU3ViY2xhc3NDb2RlID0gKHBhY2tlZCA+
PiAzKSAmIDEgPyB0cnVlIDogZmFsc2U7Ci0gICAgdmFsLmhhc1Byb3RvY29sQ29kZSA9IChwYWNr
ZWQgPj4gNCkgJiAxID8gdHJ1ZSA6IGZhbHNlOwotICAgIHZhbC5jbGFzc0NvZGUgPSBkZWNvZGVy
LmRlY29kZVN0cnVjdChjb2RlYy5VaW50OCk7Ci0gICAgdmFsLnZlbmRvcklkID0gZGVjb2Rlci5k
ZWNvZGVTdHJ1Y3QoY29kZWMuVWludDE2KTsKLSAgICB2YWwucHJvZHVjdElkID0gZGVjb2Rlci5k
ZWNvZGVTdHJ1Y3QoY29kZWMuVWludDE2KTsKLSAgICB2YWwuc3ViY2xhc3NDb2RlID0gZGVjb2Rl
ci5kZWNvZGVTdHJ1Y3QoY29kZWMuVWludDgpOwotICAgIHZhbC5wcm90b2NvbENvZGUgPSBkZWNv
ZGVyLmRlY29kZVN0cnVjdChjb2RlYy5VaW50OCk7Ci0gICAgdmFsLnNlcmlhbE51bWJlciA9IGRl
Y29kZXIuZGVjb2RlU3RydWN0UG9pbnRlcihzdHJpbmcxNiQuU3RyaW5nMTYpOwotICAgIHJldHVy
biB2YWw7Ci0gIH07Ci0KLSAgVXNiRGV2aWNlRmlsdGVyLmVuY29kZSA9IGZ1bmN0aW9uKGVuY29k
ZXIsIHZhbCkgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMihVc2JE
ZXZpY2VGaWx0ZXIuZW5jb2RlZFNpemUpOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoMCk7Ci0g
ICAgcGFja2VkID0gMDsKLSAgICBwYWNrZWQgfD0gKHZhbC5oYXNWZW5kb3JJZCAmIDEpIDw8IDAK
LSAgICBwYWNrZWQgfD0gKHZhbC5oYXNQcm9kdWN0SWQgJiAxKSA8PCAxCi0gICAgcGFja2VkIHw9
ICh2YWwuaGFzQ2xhc3NDb2RlICYgMSkgPDwgMgotICAgIHBhY2tlZCB8PSAodmFsLmhhc1N1YmNs
YXNzQ29kZSAmIDEpIDw8IDMKLSAgICBwYWNrZWQgfD0gKHZhbC5oYXNQcm90b2NvbENvZGUgJiAx
KSA8PCA0Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQ4KHBhY2tlZCk7Ci0gICAgZW5jb2Rlci5lbmNv
ZGVTdHJ1Y3QoY29kZWMuVWludDgsIHZhbC5jbGFzc0NvZGUpOwotICAgIGVuY29kZXIuZW5jb2Rl
U3RydWN0KGNvZGVjLlVpbnQxNiwgdmFsLnZlbmRvcklkKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0
cnVjdChjb2RlYy5VaW50MTYsIHZhbC5wcm9kdWN0SWQpOwotICAgIGVuY29kZXIuZW5jb2RlU3Ry
dWN0KGNvZGVjLlVpbnQ4LCB2YWwuc3ViY2xhc3NDb2RlKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0
cnVjdChjb2RlYy5VaW50OCwgdmFsLnByb3RvY29sQ29kZSk7Ci0gICAgZW5jb2Rlci5lbmNvZGVT
dHJ1Y3RQb2ludGVyKHN0cmluZzE2JC5TdHJpbmcxNiwgdmFsLnNlcmlhbE51bWJlcik7Ci0gIH07
Ci0gIGZ1bmN0aW9uIFVzYkVudW1lcmF0aW9uT3B0aW9ucyh2YWx1ZXMpIHsKLSAgICB0aGlzLmlu
aXREZWZhdWx0c18oKTsKLSAgICB0aGlzLmluaXRGaWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0g
IFVzYkVudW1lcmF0aW9uT3B0aW9ucy5wcm90b3R5cGUuaW5pdERlZmF1bHRzXyA9IGZ1bmN0aW9u
KCkgewotICAgIHRoaXMuZmlsdGVycyA9IG51bGw7Ci0gIH07Ci0gIFVzYkVudW1lcmF0aW9uT3B0
aW9ucy5wcm90b3R5cGUuaW5pdEZpZWxkc18gPSBmdW5jdGlvbihmaWVsZHMpIHsKLSAgICBmb3Io
dmFyIGZpZWxkIGluIGZpZWxkcykgewotICAgICAgICBpZiAodGhpcy5oYXNPd25Qcm9wZXJ0eShm
aWVsZCkpCi0gICAgICAgICAgdGhpc1tmaWVsZF0gPSBmaWVsZHNbZmllbGRdOwotICAgIH0KLSAg
fTsKLQotICBVc2JFbnVtZXJhdGlvbk9wdGlvbnMudmFsaWRhdGUgPSBmdW5jdGlvbihtZXNzYWdl
VmFsaWRhdG9yLCBvZmZzZXQpIHsKLSAgICB2YXIgZXJyOwotICAgIGVyciA9IG1lc3NhZ2VWYWxp
ZGF0b3IudmFsaWRhdGVTdHJ1Y3RIZWFkZXIob2Zmc2V0LCBjb2RlYy5rU3RydWN0SGVhZGVyU2l6
ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAg
ICAgICByZXR1cm4gZXJyOwotCi0gICAgdmFyIGtWZXJzaW9uU2l6ZXMgPSBbCi0gICAgICB7dmVy
c2lvbjogMCwgbnVtQnl0ZXM6IDE2fQotICAgIF07Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRv
ci52YWxpZGF0ZVN0cnVjdFZlcnNpb24ob2Zmc2V0LCBrVmVyc2lvblNpemVzKTsKLSAgICBpZiAo
ZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBl
cnI7Ci0KLQotICAgIAotICAgIC8vIHZhbGlkYXRlIFVzYkVudW1lcmF0aW9uT3B0aW9ucy5maWx0
ZXJzCi0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZUFycmF5UG9pbnRlcihvZmZz
ZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDAsIDgsIG5ldyBjb2RlYy5Qb2ludGVyVG8o
VXNiRGV2aWNlRmlsdGVyKSwgZmFsc2UsIFswXSwgMCk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRh
dG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgcmV0
dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQotICBVc2JFbnVtZXJh
dGlvbk9wdGlvbnMuZW5jb2RlZFNpemUgPSBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDg7Ci0K
LSAgVXNiRW51bWVyYXRpb25PcHRpb25zLmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAg
ICB2YXIgcGFja2VkOwotICAgIHZhciB2YWwgPSBuZXcgVXNiRW51bWVyYXRpb25PcHRpb25zKCk7
Ci0gICAgdmFyIG51bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YXIg
dmVyc2lvbiA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhbC5maWx0ZXJzID0gZGVjb2Rl
ci5kZWNvZGVBcnJheVBvaW50ZXIobmV3IGNvZGVjLlBvaW50ZXJUbyhVc2JEZXZpY2VGaWx0ZXIp
KTsKLSAgICByZXR1cm4gdmFsOwotICB9OwotCi0gIFVzYkVudW1lcmF0aW9uT3B0aW9ucy5lbmNv
ZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2YWwpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIGVuY29k
ZXIud3JpdGVVaW50MzIoVXNiRW51bWVyYXRpb25PcHRpb25zLmVuY29kZWRTaXplKTsKLSAgICBl
bmNvZGVyLndyaXRlVWludDMyKDApOwotICAgIGVuY29kZXIuZW5jb2RlQXJyYXlQb2ludGVyKG5l
dyBjb2RlYy5Qb2ludGVyVG8oVXNiRGV2aWNlRmlsdGVyKSwgdmFsLmZpbHRlcnMpOwotICB9Owot
ICBmdW5jdGlvbiBVc2JEZXZpY2VNYW5hZ2VyX0dldERldmljZXNfUGFyYW1zKHZhbHVlcykgewot
ICAgIHRoaXMuaW5pdERlZmF1bHRzXygpOwotICAgIHRoaXMuaW5pdEZpZWxkc18odmFsdWVzKTsK
LSAgfQotCi0KLSAgVXNiRGV2aWNlTWFuYWdlcl9HZXREZXZpY2VzX1BhcmFtcy5wcm90b3R5cGUu
aW5pdERlZmF1bHRzXyA9IGZ1bmN0aW9uKCkgewotICAgIHRoaXMub3B0aW9ucyA9IG51bGw7Ci0g
IH07Ci0gIFVzYkRldmljZU1hbmFnZXJfR2V0RGV2aWNlc19QYXJhbXMucHJvdG90eXBlLmluaXRG
aWVsZHNfID0gZnVuY3Rpb24oZmllbGRzKSB7Ci0gICAgZm9yKHZhciBmaWVsZCBpbiBmaWVsZHMp
IHsKLSAgICAgICAgaWYgKHRoaXMuaGFzT3duUHJvcGVydHkoZmllbGQpKQotICAgICAgICAgIHRo
aXNbZmllbGRdID0gZmllbGRzW2ZpZWxkXTsKLSAgICB9Ci0gIH07Ci0KLSAgVXNiRGV2aWNlTWFu
YWdlcl9HZXREZXZpY2VzX1BhcmFtcy52YWxpZGF0ZSA9IGZ1bmN0aW9uKG1lc3NhZ2VWYWxpZGF0
b3IsIG9mZnNldCkgewotICAgIHZhciBlcnI7Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52
YWxpZGF0ZVN0cnVjdEhlYWRlcihvZmZzZXQsIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplKTsKLSAg
ICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJl
dHVybiBlcnI7Ci0KLSAgICB2YXIga1ZlcnNpb25TaXplcyA9IFsKLSAgICAgIHt2ZXJzaW9uOiAw
LCBudW1CeXRlczogMTZ9Ci0gICAgXTsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlk
YXRlU3RydWN0VmVyc2lvbihvZmZzZXQsIGtWZXJzaW9uU2l6ZXMpOwotICAgIGlmIChlcnIgIT09
IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQot
Ci0gICAgCi0gICAgLy8gdmFsaWRhdGUgVXNiRGV2aWNlTWFuYWdlcl9HZXREZXZpY2VzX1BhcmFt
cy5vcHRpb25zCi0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFBvaW50
ZXIob2Zmc2V0ICsgY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyAwLCBVc2JFbnVtZXJhdGlvbk9w
dGlvbnMsIHRydWUpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3Iu
Tk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRh
dGlvbkVycm9yLk5PTkU7Ci0gIH07Ci0KLSAgVXNiRGV2aWNlTWFuYWdlcl9HZXREZXZpY2VzX1Bh
cmFtcy5lbmNvZGVkU2l6ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgODsKLQotICBVc2JE
ZXZpY2VNYW5hZ2VyX0dldERldmljZXNfUGFyYW1zLmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIp
IHsKLSAgICB2YXIgcGFja2VkOwotICAgIHZhciB2YWwgPSBuZXcgVXNiRGV2aWNlTWFuYWdlcl9H
ZXREZXZpY2VzX1BhcmFtcygpOwotICAgIHZhciBudW1iZXJPZkJ5dGVzID0gZGVjb2Rlci5yZWFk
VWludDMyKCk7Ci0gICAgdmFyIHZlcnNpb24gPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2
YWwub3B0aW9ucyA9IGRlY29kZXIuZGVjb2RlU3RydWN0UG9pbnRlcihVc2JFbnVtZXJhdGlvbk9w
dGlvbnMpOwotICAgIHJldHVybiB2YWw7Ci0gIH07Ci0KLSAgVXNiRGV2aWNlTWFuYWdlcl9HZXRE
ZXZpY2VzX1BhcmFtcy5lbmNvZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2YWwpIHsKLSAgICB2YXIg
cGFja2VkOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoVXNiRGV2aWNlTWFuYWdlcl9HZXREZXZp
Y2VzX1BhcmFtcy5lbmNvZGVkU2l6ZSk7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMigwKTsKLSAg
ICBlbmNvZGVyLmVuY29kZVN0cnVjdFBvaW50ZXIoVXNiRW51bWVyYXRpb25PcHRpb25zLCB2YWwu
b3B0aW9ucyk7Ci0gIH07Ci0gIGZ1bmN0aW9uIFVzYkRldmljZU1hbmFnZXJfR2V0RGV2aWNlc19S
ZXNwb25zZVBhcmFtcyh2YWx1ZXMpIHsKLSAgICB0aGlzLmluaXREZWZhdWx0c18oKTsKLSAgICB0
aGlzLmluaXRGaWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0gIFVzYkRldmljZU1hbmFnZXJfR2V0
RGV2aWNlc19SZXNwb25zZVBhcmFtcy5wcm90b3R5cGUuaW5pdERlZmF1bHRzXyA9IGZ1bmN0aW9u
KCkgewotICAgIHRoaXMucmVzdWx0cyA9IG51bGw7Ci0gIH07Ci0gIFVzYkRldmljZU1hbmFnZXJf
R2V0RGV2aWNlc19SZXNwb25zZVBhcmFtcy5wcm90b3R5cGUuaW5pdEZpZWxkc18gPSBmdW5jdGlv
bihmaWVsZHMpIHsKLSAgICBmb3IodmFyIGZpZWxkIGluIGZpZWxkcykgewotICAgICAgICBpZiAo
dGhpcy5oYXNPd25Qcm9wZXJ0eShmaWVsZCkpCi0gICAgICAgICAgdGhpc1tmaWVsZF0gPSBmaWVs
ZHNbZmllbGRdOwotICAgIH0KLSAgfTsKLQotICBVc2JEZXZpY2VNYW5hZ2VyX0dldERldmljZXNf
UmVzcG9uc2VQYXJhbXMudmFsaWRhdGUgPSBmdW5jdGlvbihtZXNzYWdlVmFsaWRhdG9yLCBvZmZz
ZXQpIHsKLSAgICB2YXIgZXJyOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVT
dHJ1Y3RIZWFkZXIob2Zmc2V0LCBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVy
ciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJy
OwotCi0gICAgdmFyIGtWZXJzaW9uU2l6ZXMgPSBbCi0gICAgICB7dmVyc2lvbjogMCwgbnVtQnl0
ZXM6IDE2fQotICAgIF07Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVj
dFZlcnNpb24ob2Zmc2V0LCBrVmVyc2lvblNpemVzKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0
b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotICAgIAot
ICAgIC8vIHZhbGlkYXRlIFVzYkRldmljZU1hbmFnZXJfR2V0RGV2aWNlc19SZXNwb25zZVBhcmFt
cy5yZXN1bHRzCi0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZUFycmF5UG9pbnRl
cihvZmZzZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDAsIDgsIG5ldyBjb2RlYy5Qb2lu
dGVyVG8oZGV2aWNlJC5Vc2JEZXZpY2VJbmZvKSwgZmFsc2UsIFswXSwgMCk7Ci0gICAgaWYgKGVy
ciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJy
OwotCi0gICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQot
ICBVc2JEZXZpY2VNYW5hZ2VyX0dldERldmljZXNfUmVzcG9uc2VQYXJhbXMuZW5jb2RlZFNpemUg
PSBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDg7Ci0KLSAgVXNiRGV2aWNlTWFuYWdlcl9HZXRE
ZXZpY2VzX1Jlc3BvbnNlUGFyYW1zLmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICB2
YXIgcGFja2VkOwotICAgIHZhciB2YWwgPSBuZXcgVXNiRGV2aWNlTWFuYWdlcl9HZXREZXZpY2Vz
X1Jlc3BvbnNlUGFyYW1zKCk7Ci0gICAgdmFyIG51bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRV
aW50MzIoKTsKLSAgICB2YXIgdmVyc2lvbiA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZh
bC5yZXN1bHRzID0gZGVjb2Rlci5kZWNvZGVBcnJheVBvaW50ZXIobmV3IGNvZGVjLlBvaW50ZXJU
byhkZXZpY2UkLlVzYkRldmljZUluZm8pKTsKLSAgICByZXR1cm4gdmFsOwotICB9OwotCi0gIFVz
YkRldmljZU1hbmFnZXJfR2V0RGV2aWNlc19SZXNwb25zZVBhcmFtcy5lbmNvZGUgPSBmdW5jdGlv
bihlbmNvZGVyLCB2YWwpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIGVuY29kZXIud3JpdGVVaW50
MzIoVXNiRGV2aWNlTWFuYWdlcl9HZXREZXZpY2VzX1Jlc3BvbnNlUGFyYW1zLmVuY29kZWRTaXpl
KTsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKDApOwotICAgIGVuY29kZXIuZW5jb2RlQXJyYXlQ
b2ludGVyKG5ldyBjb2RlYy5Qb2ludGVyVG8oZGV2aWNlJC5Vc2JEZXZpY2VJbmZvKSwgdmFsLnJl
c3VsdHMpOwotICB9OwotICBmdW5jdGlvbiBVc2JEZXZpY2VNYW5hZ2VyX0dldERldmljZV9QYXJh
bXModmFsdWVzKSB7Ci0gICAgdGhpcy5pbml0RGVmYXVsdHNfKCk7Ci0gICAgdGhpcy5pbml0Rmll
bGRzXyh2YWx1ZXMpOwotICB9Ci0KLQotICBVc2JEZXZpY2VNYW5hZ2VyX0dldERldmljZV9QYXJh
bXMucHJvdG90eXBlLmluaXREZWZhdWx0c18gPSBmdW5jdGlvbigpIHsKLSAgICB0aGlzLmd1aWQg
PSBudWxsOwotICAgIHRoaXMuZGV2aWNlUmVxdWVzdCA9IG5ldyBiaW5kaW5ncy5JbnRlcmZhY2VS
ZXF1ZXN0KCk7Ci0gIH07Ci0gIFVzYkRldmljZU1hbmFnZXJfR2V0RGV2aWNlX1BhcmFtcy5wcm90
b3R5cGUuaW5pdEZpZWxkc18gPSBmdW5jdGlvbihmaWVsZHMpIHsKLSAgICBmb3IodmFyIGZpZWxk
IGluIGZpZWxkcykgewotICAgICAgICBpZiAodGhpcy5oYXNPd25Qcm9wZXJ0eShmaWVsZCkpCi0g
ICAgICAgICAgdGhpc1tmaWVsZF0gPSBmaWVsZHNbZmllbGRdOwotICAgIH0KLSAgfTsKLQotICBV
c2JEZXZpY2VNYW5hZ2VyX0dldERldmljZV9QYXJhbXMudmFsaWRhdGUgPSBmdW5jdGlvbihtZXNz
YWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsKLSAgICB2YXIgZXJyOwotICAgIGVyciA9IG1lc3NhZ2VW
YWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RIZWFkZXIob2Zmc2V0LCBjb2RlYy5rU3RydWN0SGVhZGVy
U2l6ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQot
ICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgdmFyIGtWZXJzaW9uU2l6ZXMgPSBbCi0gICAgICB7
dmVyc2lvbjogMCwgbnVtQnl0ZXM6IDI0fQotICAgIF07Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlk
YXRvci52YWxpZGF0ZVN0cnVjdFZlcnNpb24ob2Zmc2V0LCBrVmVyc2lvblNpemVzKTsKLSAgICBp
ZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVy
biBlcnI7Ci0KLQotICAgIAotICAgIC8vIHZhbGlkYXRlIFVzYkRldmljZU1hbmFnZXJfR2V0RGV2
aWNlX1BhcmFtcy5ndWlkCi0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cmlu
Z1BvaW50ZXIob2Zmc2V0ICsgY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyAwLCBmYWxzZSkKLSAg
ICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJl
dHVybiBlcnI7Ci0KLQotICAgIAotICAgIC8vIHZhbGlkYXRlIFVzYkRldmljZU1hbmFnZXJfR2V0
RGV2aWNlX1BhcmFtcy5kZXZpY2VSZXF1ZXN0Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52
YWxpZGF0ZUludGVyZmFjZVJlcXVlc3Qob2Zmc2V0ICsgY29kZWMua1N0cnVjdEhlYWRlclNpemUg
KyA4LCBmYWxzZSkKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5P
TkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRp
b25FcnJvci5OT05FOwotICB9OwotCi0gIFVzYkRldmljZU1hbmFnZXJfR2V0RGV2aWNlX1BhcmFt
cy5lbmNvZGVkU2l6ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgMTY7Ci0KLSAgVXNiRGV2
aWNlTWFuYWdlcl9HZXREZXZpY2VfUGFyYW1zLmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsK
LSAgICB2YXIgcGFja2VkOwotICAgIHZhciB2YWwgPSBuZXcgVXNiRGV2aWNlTWFuYWdlcl9HZXRE
ZXZpY2VfUGFyYW1zKCk7Ci0gICAgdmFyIG51bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50
MzIoKTsKLSAgICB2YXIgdmVyc2lvbiA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhbC5n
dWlkID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoY29kZWMuU3RyaW5nKTsKLSAgICB2YWwuZGV2aWNl
UmVxdWVzdCA9IGRlY29kZXIuZGVjb2RlU3RydWN0KGNvZGVjLkludGVyZmFjZVJlcXVlc3QpOwot
ICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5z
a2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICByZXR1cm4gdmFsOwotICB9OwotCi0g
IFVzYkRldmljZU1hbmFnZXJfR2V0RGV2aWNlX1BhcmFtcy5lbmNvZGUgPSBmdW5jdGlvbihlbmNv
ZGVyLCB2YWwpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoVXNi
RGV2aWNlTWFuYWdlcl9HZXREZXZpY2VfUGFyYW1zLmVuY29kZWRTaXplKTsKLSAgICBlbmNvZGVy
LndyaXRlVWludDMyKDApOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNvZGVjLlN0cmluZywg
dmFsLmd1aWQpOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNvZGVjLkludGVyZmFjZVJlcXVl
c3QsIHZhbC5kZXZpY2VSZXF1ZXN0KTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rl
ci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0g
IH07Ci0gIGZ1bmN0aW9uIFVzYkRldmljZU1hbmFnZXJfU2V0Q2xpZW50X1BhcmFtcyh2YWx1ZXMp
IHsKLSAgICB0aGlzLmluaXREZWZhdWx0c18oKTsKLSAgICB0aGlzLmluaXRGaWVsZHNfKHZhbHVl
cyk7Ci0gIH0KLQotCi0gIFVzYkRldmljZU1hbmFnZXJfU2V0Q2xpZW50X1BhcmFtcy5wcm90b3R5
cGUuaW5pdERlZmF1bHRzXyA9IGZ1bmN0aW9uKCkgewotICAgIHRoaXMuY2xpZW50ID0gbmV3IFVz
YkRldmljZU1hbmFnZXJDbGllbnRQdHIoKTsKLSAgfTsKLSAgVXNiRGV2aWNlTWFuYWdlcl9TZXRD
bGllbnRfUGFyYW1zLnByb3RvdHlwZS5pbml0RmllbGRzXyA9IGZ1bmN0aW9uKGZpZWxkcykgewot
ICAgIGZvcih2YXIgZmllbGQgaW4gZmllbGRzKSB7Ci0gICAgICAgIGlmICh0aGlzLmhhc093blBy
b3BlcnR5KGZpZWxkKSkKLSAgICAgICAgICB0aGlzW2ZpZWxkXSA9IGZpZWxkc1tmaWVsZF07Ci0g
ICAgfQotICB9OwotCi0gIFVzYkRldmljZU1hbmFnZXJfU2V0Q2xpZW50X1BhcmFtcy52YWxpZGF0
ZSA9IGZ1bmN0aW9uKG1lc3NhZ2VWYWxpZGF0b3IsIG9mZnNldCkgewotICAgIHZhciBlcnI7Ci0g
ICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdEhlYWRlcihvZmZzZXQsIGNv
ZGVjLmtTdHJ1Y3RIZWFkZXJTaXplKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRh
dGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICB2YXIga1ZlcnNpb25T
aXplcyA9IFsKLSAgICAgIHt2ZXJzaW9uOiAwLCBudW1CeXRlczogMTZ9Ci0gICAgXTsKLSAgICBl
cnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0VmVyc2lvbihvZmZzZXQsIGtWZXJz
aW9uU2l6ZXMpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9O
RSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0gICAgCi0gICAgLy8gdmFsaWRhdGUgVXNiRGV2
aWNlTWFuYWdlcl9TZXRDbGllbnRfUGFyYW1zLmNsaWVudAotICAgIGVyciA9IG1lc3NhZ2VWYWxp
ZGF0b3IudmFsaWRhdGVJbnRlcmZhY2Uob2Zmc2V0ICsgY29kZWMua1N0cnVjdEhlYWRlclNpemUg
KyAwLCBmYWxzZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5O
T05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0
aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQotICBVc2JEZXZpY2VNYW5hZ2VyX1NldENsaWVudF9QYXJh
bXMuZW5jb2RlZFNpemUgPSBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDg7Ci0KLSAgVXNiRGV2
aWNlTWFuYWdlcl9TZXRDbGllbnRfUGFyYW1zLmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsK
LSAgICB2YXIgcGFja2VkOwotICAgIHZhciB2YWwgPSBuZXcgVXNiRGV2aWNlTWFuYWdlcl9TZXRD
bGllbnRfUGFyYW1zKCk7Ci0gICAgdmFyIG51bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50
MzIoKTsKLSAgICB2YXIgdmVyc2lvbiA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhbC5j
bGllbnQgPSBkZWNvZGVyLmRlY29kZVN0cnVjdChuZXcgY29kZWMuSW50ZXJmYWNlKFVzYkRldmlj
ZU1hbmFnZXJDbGllbnRQdHIpKTsKLSAgICByZXR1cm4gdmFsOwotICB9OwotCi0gIFVzYkRldmlj
ZU1hbmFnZXJfU2V0Q2xpZW50X1BhcmFtcy5lbmNvZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2YWwp
IHsKLSAgICB2YXIgcGFja2VkOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoVXNiRGV2aWNlTWFu
YWdlcl9TZXRDbGllbnRfUGFyYW1zLmVuY29kZWRTaXplKTsKLSAgICBlbmNvZGVyLndyaXRlVWlu
dDMyKDApOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KG5ldyBjb2RlYy5JbnRlcmZhY2UoVXNi
RGV2aWNlTWFuYWdlckNsaWVudFB0ciksIHZhbC5jbGllbnQpOwotICB9OwotICBmdW5jdGlvbiBV
c2JEZXZpY2VNYW5hZ2VyQ2xpZW50X09uRGV2aWNlQWRkZWRfUGFyYW1zKHZhbHVlcykgewotICAg
IHRoaXMuaW5pdERlZmF1bHRzXygpOwotICAgIHRoaXMuaW5pdEZpZWxkc18odmFsdWVzKTsKLSAg
fQotCi0KLSAgVXNiRGV2aWNlTWFuYWdlckNsaWVudF9PbkRldmljZUFkZGVkX1BhcmFtcy5wcm90
b3R5cGUuaW5pdERlZmF1bHRzXyA9IGZ1bmN0aW9uKCkgewotICAgIHRoaXMuZGV2aWNlSW5mbyA9
IG51bGw7Ci0gIH07Ci0gIFVzYkRldmljZU1hbmFnZXJDbGllbnRfT25EZXZpY2VBZGRlZF9QYXJh
bXMucHJvdG90eXBlLmluaXRGaWVsZHNfID0gZnVuY3Rpb24oZmllbGRzKSB7Ci0gICAgZm9yKHZh
ciBmaWVsZCBpbiBmaWVsZHMpIHsKLSAgICAgICAgaWYgKHRoaXMuaGFzT3duUHJvcGVydHkoZmll
bGQpKQotICAgICAgICAgIHRoaXNbZmllbGRdID0gZmllbGRzW2ZpZWxkXTsKLSAgICB9Ci0gIH07
Ci0KLSAgVXNiRGV2aWNlTWFuYWdlckNsaWVudF9PbkRldmljZUFkZGVkX1BhcmFtcy52YWxpZGF0
ZSA9IGZ1bmN0aW9uKG1lc3NhZ2VWYWxpZGF0b3IsIG9mZnNldCkgewotICAgIHZhciBlcnI7Ci0g
ICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdEhlYWRlcihvZmZzZXQsIGNv
ZGVjLmtTdHJ1Y3RIZWFkZXJTaXplKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRh
dGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICB2YXIga1ZlcnNpb25T
aXplcyA9IFsKLSAgICAgIHt2ZXJzaW9uOiAwLCBudW1CeXRlczogMTZ9Ci0gICAgXTsKLSAgICBl
cnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0VmVyc2lvbihvZmZzZXQsIGtWZXJz
aW9uU2l6ZXMpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9O
RSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0gICAgCi0gICAgLy8gdmFsaWRhdGUgVXNiRGV2
aWNlTWFuYWdlckNsaWVudF9PbkRldmljZUFkZGVkX1BhcmFtcy5kZXZpY2VJbmZvCi0gICAgZXJy
ID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFBvaW50ZXIob2Zmc2V0ICsgY29kZWMu
a1N0cnVjdEhlYWRlclNpemUgKyAwLCBkZXZpY2UkLlVzYkRldmljZUluZm8sIGZhbHNlKTsKLSAg
ICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJl
dHVybiBlcnI7Ci0KLSAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwot
ICB9OwotCi0gIFVzYkRldmljZU1hbmFnZXJDbGllbnRfT25EZXZpY2VBZGRlZF9QYXJhbXMuZW5j
b2RlZFNpemUgPSBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDg7Ci0KLSAgVXNiRGV2aWNlTWFu
YWdlckNsaWVudF9PbkRldmljZUFkZGVkX1BhcmFtcy5kZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVy
KSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICB2YXIgdmFsID0gbmV3IFVzYkRldmljZU1hbmFnZXJD
bGllbnRfT25EZXZpY2VBZGRlZF9QYXJhbXMoKTsKLSAgICB2YXIgbnVtYmVyT2ZCeXRlcyA9IGRl
Y29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhciB2ZXJzaW9uID0gZGVjb2Rlci5yZWFkVWludDMy
KCk7Ci0gICAgdmFsLmRldmljZUluZm8gPSBkZWNvZGVyLmRlY29kZVN0cnVjdFBvaW50ZXIoZGV2
aWNlJC5Vc2JEZXZpY2VJbmZvKTsKLSAgICByZXR1cm4gdmFsOwotICB9OwotCi0gIFVzYkRldmlj
ZU1hbmFnZXJDbGllbnRfT25EZXZpY2VBZGRlZF9QYXJhbXMuZW5jb2RlID0gZnVuY3Rpb24oZW5j
b2RlciwgdmFsKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKFVz
YkRldmljZU1hbmFnZXJDbGllbnRfT25EZXZpY2VBZGRlZF9QYXJhbXMuZW5jb2RlZFNpemUpOwot
ICAgIGVuY29kZXIud3JpdGVVaW50MzIoMCk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3RQb2lu
dGVyKGRldmljZSQuVXNiRGV2aWNlSW5mbywgdmFsLmRldmljZUluZm8pOwotICB9OwotICBmdW5j
dGlvbiBVc2JEZXZpY2VNYW5hZ2VyQ2xpZW50X09uRGV2aWNlUmVtb3ZlZF9QYXJhbXModmFsdWVz
KSB7Ci0gICAgdGhpcy5pbml0RGVmYXVsdHNfKCk7Ci0gICAgdGhpcy5pbml0RmllbGRzXyh2YWx1
ZXMpOwotICB9Ci0KLQotICBVc2JEZXZpY2VNYW5hZ2VyQ2xpZW50X09uRGV2aWNlUmVtb3ZlZF9Q
YXJhbXMucHJvdG90eXBlLmluaXREZWZhdWx0c18gPSBmdW5jdGlvbigpIHsKLSAgICB0aGlzLmRl
dmljZUluZm8gPSBudWxsOwotICB9OwotICBVc2JEZXZpY2VNYW5hZ2VyQ2xpZW50X09uRGV2aWNl
UmVtb3ZlZF9QYXJhbXMucHJvdG90eXBlLmluaXRGaWVsZHNfID0gZnVuY3Rpb24oZmllbGRzKSB7
Ci0gICAgZm9yKHZhciBmaWVsZCBpbiBmaWVsZHMpIHsKLSAgICAgICAgaWYgKHRoaXMuaGFzT3du
UHJvcGVydHkoZmllbGQpKQotICAgICAgICAgIHRoaXNbZmllbGRdID0gZmllbGRzW2ZpZWxkXTsK
LSAgICB9Ci0gIH07Ci0KLSAgVXNiRGV2aWNlTWFuYWdlckNsaWVudF9PbkRldmljZVJlbW92ZWRf
UGFyYW1zLnZhbGlkYXRlID0gZnVuY3Rpb24obWVzc2FnZVZhbGlkYXRvciwgb2Zmc2V0KSB7Ci0g
ICAgdmFyIGVycjsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0SGVh
ZGVyKG9mZnNldCwgY29kZWMua1N0cnVjdEhlYWRlclNpemUpOwotICAgIGlmIChlcnIgIT09IHZh
bGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAg
IHZhciBrVmVyc2lvblNpemVzID0gWwotICAgICAge3ZlcnNpb246IDAsIG51bUJ5dGVzOiAxNn0K
LSAgICBdOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RWZXJzaW9u
KG9mZnNldCwga1ZlcnNpb25TaXplcyk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlk
YXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0KLSAgICAKLSAgICAvLyB2
YWxpZGF0ZSBVc2JEZXZpY2VNYW5hZ2VyQ2xpZW50X09uRGV2aWNlUmVtb3ZlZF9QYXJhbXMuZGV2
aWNlSW5mbwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RQb2ludGVy
KG9mZnNldCArIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgMCwgZGV2aWNlJC5Vc2JEZXZpY2VJ
bmZvLCBmYWxzZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5O
T05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0
aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQotICBVc2JEZXZpY2VNYW5hZ2VyQ2xpZW50X09uRGV2aWNl
UmVtb3ZlZF9QYXJhbXMuZW5jb2RlZFNpemUgPSBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDg7
Ci0KLSAgVXNiRGV2aWNlTWFuYWdlckNsaWVudF9PbkRldmljZVJlbW92ZWRfUGFyYW1zLmRlY29k
ZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIHZhciB2YWwgPSBu
ZXcgVXNiRGV2aWNlTWFuYWdlckNsaWVudF9PbkRldmljZVJlbW92ZWRfUGFyYW1zKCk7Ci0gICAg
dmFyIG51bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YXIgdmVyc2lv
biA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhbC5kZXZpY2VJbmZvID0gZGVjb2Rlci5k
ZWNvZGVTdHJ1Y3RQb2ludGVyKGRldmljZSQuVXNiRGV2aWNlSW5mbyk7Ci0gICAgcmV0dXJuIHZh
bDsKLSAgfTsKLQotICBVc2JEZXZpY2VNYW5hZ2VyQ2xpZW50X09uRGV2aWNlUmVtb3ZlZF9QYXJh
bXMuZW5jb2RlID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAg
ICBlbmNvZGVyLndyaXRlVWludDMyKFVzYkRldmljZU1hbmFnZXJDbGllbnRfT25EZXZpY2VSZW1v
dmVkX1BhcmFtcy5lbmNvZGVkU2l6ZSk7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMigwKTsKLSAg
ICBlbmNvZGVyLmVuY29kZVN0cnVjdFBvaW50ZXIoZGV2aWNlJC5Vc2JEZXZpY2VJbmZvLCB2YWwu
ZGV2aWNlSW5mbyk7Ci0gIH07Ci0gIHZhciBrVXNiRGV2aWNlTWFuYWdlcl9HZXREZXZpY2VzX05h
bWUgPSAwOwotICB2YXIga1VzYkRldmljZU1hbmFnZXJfR2V0RGV2aWNlX05hbWUgPSAxOwotICB2
YXIga1VzYkRldmljZU1hbmFnZXJfU2V0Q2xpZW50X05hbWUgPSAyOwotCi0gIGZ1bmN0aW9uIFVz
YkRldmljZU1hbmFnZXJQdHIoaGFuZGxlT3JQdHJJbmZvKSB7Ci0gICAgdGhpcy5wdHIgPSBuZXcg
YmluZGluZ3MuSW50ZXJmYWNlUHRyQ29udHJvbGxlcihVc2JEZXZpY2VNYW5hZ2VyLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlT3JQdHJJ
bmZvKTsKLSAgfQotCi0gIGZ1bmN0aW9uIFVzYkRldmljZU1hbmFnZXJBc3NvY2lhdGVkUHRyKGFz
c29jaWF0ZWRJbnRlcmZhY2VQdHJJbmZvKSB7Ci0gICAgdGhpcy5wdHIgPSBuZXcgYXNzb2NpYXRl
ZEJpbmRpbmdzLkFzc29jaWF0ZWRJbnRlcmZhY2VQdHJDb250cm9sbGVyKAotICAgICAgICBVc2JE
ZXZpY2VNYW5hZ2VyLCBhc3NvY2lhdGVkSW50ZXJmYWNlUHRySW5mbyk7Ci0gIH0KLQotICBVc2JE
ZXZpY2VNYW5hZ2VyQXNzb2NpYXRlZFB0ci5wcm90b3R5cGUgPQotICAgICAgT2JqZWN0LmNyZWF0
ZShVc2JEZXZpY2VNYW5hZ2VyUHRyLnByb3RvdHlwZSk7Ci0gIFVzYkRldmljZU1hbmFnZXJBc3Nv
Y2lhdGVkUHRyLnByb3RvdHlwZS5jb25zdHJ1Y3RvciA9Ci0gICAgICBVc2JEZXZpY2VNYW5hZ2Vy
QXNzb2NpYXRlZFB0cjsKLQotICBmdW5jdGlvbiBVc2JEZXZpY2VNYW5hZ2VyUHJveHkocmVjZWl2
ZXIpIHsKLSAgICB0aGlzLnJlY2VpdmVyXyA9IHJlY2VpdmVyOwotICB9Ci0gIFVzYkRldmljZU1h
bmFnZXJQdHIucHJvdG90eXBlLmdldERldmljZXMgPSBmdW5jdGlvbigpIHsKLSAgICByZXR1cm4g
VXNiRGV2aWNlTWFuYWdlclByb3h5LnByb3RvdHlwZS5nZXREZXZpY2VzCi0gICAgICAgIC5hcHBs
eSh0aGlzLnB0ci5nZXRQcm94eSgpLCBhcmd1bWVudHMpOwotICB9OwotCi0gIFVzYkRldmljZU1h
bmFnZXJQcm94eS5wcm90b3R5cGUuZ2V0RGV2aWNlcyA9IGZ1bmN0aW9uKG9wdGlvbnMpIHsKLSAg
ICB2YXIgcGFyYW1zID0gbmV3IFVzYkRldmljZU1hbmFnZXJfR2V0RGV2aWNlc19QYXJhbXMoKTsK
LSAgICBwYXJhbXMub3B0aW9ucyA9IG9wdGlvbnM7Ci0gICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1
bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewotICAgICAgdmFyIGJ1aWxkZXIgPSBuZXcgY29kZWMu
TWVzc2FnZVYxQnVpbGRlcigKLSAgICAgICAgICBrVXNiRGV2aWNlTWFuYWdlcl9HZXREZXZpY2Vz
X05hbWUsCi0gICAgICAgICAgY29kZWMuYWxpZ24oVXNiRGV2aWNlTWFuYWdlcl9HZXREZXZpY2Vz
X1BhcmFtcy5lbmNvZGVkU2l6ZSksCi0gICAgICAgICAgY29kZWMua01lc3NhZ2VFeHBlY3RzUmVz
cG9uc2UsIDApOwotICAgICAgYnVpbGRlci5lbmNvZGVTdHJ1Y3QoVXNiRGV2aWNlTWFuYWdlcl9H
ZXREZXZpY2VzX1BhcmFtcywgcGFyYW1zKTsKLSAgICAgIHZhciBtZXNzYWdlID0gYnVpbGRlci5m
aW5pc2goKTsKLSAgICAgIHRoaXMucmVjZWl2ZXJfLmFjY2VwdEFuZEV4cGVjdFJlc3BvbnNlKG1l
c3NhZ2UpLnRoZW4oZnVuY3Rpb24obWVzc2FnZSkgewotICAgICAgICB2YXIgcmVhZGVyID0gbmV3
IGNvZGVjLk1lc3NhZ2VSZWFkZXIobWVzc2FnZSk7Ci0gICAgICAgIHZhciByZXNwb25zZVBhcmFt
cyA9Ci0gICAgICAgICAgICByZWFkZXIuZGVjb2RlU3RydWN0KFVzYkRldmljZU1hbmFnZXJfR2V0
RGV2aWNlc19SZXNwb25zZVBhcmFtcyk7Ci0gICAgICAgIHJlc29sdmUocmVzcG9uc2VQYXJhbXMp
OwotICAgICAgfSkuY2F0Y2goZnVuY3Rpb24ocmVzdWx0KSB7Ci0gICAgICAgIHJlamVjdChFcnJv
cigiQ29ubmVjdGlvbiBlcnJvcjogIiArIHJlc3VsdCkpOwotICAgICAgfSk7Ci0gICAgfS5iaW5k
KHRoaXMpKTsKLSAgfTsKLSAgVXNiRGV2aWNlTWFuYWdlclB0ci5wcm90b3R5cGUuZ2V0RGV2aWNl
ID0gZnVuY3Rpb24oKSB7Ci0gICAgcmV0dXJuIFVzYkRldmljZU1hbmFnZXJQcm94eS5wcm90b3R5
cGUuZ2V0RGV2aWNlCi0gICAgICAgIC5hcHBseSh0aGlzLnB0ci5nZXRQcm94eSgpLCBhcmd1bWVu
dHMpOwotICB9OwotCi0gIFVzYkRldmljZU1hbmFnZXJQcm94eS5wcm90b3R5cGUuZ2V0RGV2aWNl
ID0gZnVuY3Rpb24oZ3VpZCwgZGV2aWNlUmVxdWVzdCkgewotICAgIHZhciBwYXJhbXMgPSBuZXcg
VXNiRGV2aWNlTWFuYWdlcl9HZXREZXZpY2VfUGFyYW1zKCk7Ci0gICAgcGFyYW1zLmd1aWQgPSBn
dWlkOwotICAgIHBhcmFtcy5kZXZpY2VSZXF1ZXN0ID0gZGV2aWNlUmVxdWVzdDsKLSAgICB2YXIg
YnVpbGRlciA9IG5ldyBjb2RlYy5NZXNzYWdlVjBCdWlsZGVyKAotICAgICAgICBrVXNiRGV2aWNl
TWFuYWdlcl9HZXREZXZpY2VfTmFtZSwKLSAgICAgICAgY29kZWMuYWxpZ24oVXNiRGV2aWNlTWFu
YWdlcl9HZXREZXZpY2VfUGFyYW1zLmVuY29kZWRTaXplKSk7Ci0gICAgYnVpbGRlci5lbmNvZGVT
dHJ1Y3QoVXNiRGV2aWNlTWFuYWdlcl9HZXREZXZpY2VfUGFyYW1zLCBwYXJhbXMpOwotICAgIHZh
ciBtZXNzYWdlID0gYnVpbGRlci5maW5pc2goKTsKLSAgICB0aGlzLnJlY2VpdmVyXy5hY2NlcHQo
bWVzc2FnZSk7Ci0gIH07Ci0gIFVzYkRldmljZU1hbmFnZXJQdHIucHJvdG90eXBlLnNldENsaWVu
dCA9IGZ1bmN0aW9uKCkgewotICAgIHJldHVybiBVc2JEZXZpY2VNYW5hZ2VyUHJveHkucHJvdG90
eXBlLnNldENsaWVudAotICAgICAgICAuYXBwbHkodGhpcy5wdHIuZ2V0UHJveHkoKSwgYXJndW1l
bnRzKTsKLSAgfTsKLQotICBVc2JEZXZpY2VNYW5hZ2VyUHJveHkucHJvdG90eXBlLnNldENsaWVu
dCA9IGZ1bmN0aW9uKGNsaWVudCkgewotICAgIHZhciBwYXJhbXMgPSBuZXcgVXNiRGV2aWNlTWFu
YWdlcl9TZXRDbGllbnRfUGFyYW1zKCk7Ci0gICAgcGFyYW1zLmNsaWVudCA9IGNsaWVudDsKLSAg
ICB2YXIgYnVpbGRlciA9IG5ldyBjb2RlYy5NZXNzYWdlVjBCdWlsZGVyKAotICAgICAgICBrVXNi
RGV2aWNlTWFuYWdlcl9TZXRDbGllbnRfTmFtZSwKLSAgICAgICAgY29kZWMuYWxpZ24oVXNiRGV2
aWNlTWFuYWdlcl9TZXRDbGllbnRfUGFyYW1zLmVuY29kZWRTaXplKSk7Ci0gICAgYnVpbGRlci5l
bmNvZGVTdHJ1Y3QoVXNiRGV2aWNlTWFuYWdlcl9TZXRDbGllbnRfUGFyYW1zLCBwYXJhbXMpOwot
ICAgIHZhciBtZXNzYWdlID0gYnVpbGRlci5maW5pc2goKTsKLSAgICB0aGlzLnJlY2VpdmVyXy5h
Y2NlcHQobWVzc2FnZSk7Ci0gIH07Ci0KLSAgZnVuY3Rpb24gVXNiRGV2aWNlTWFuYWdlclN0dWIo
ZGVsZWdhdGUpIHsKLSAgICB0aGlzLmRlbGVnYXRlXyA9IGRlbGVnYXRlOwotICB9Ci0gIFVzYkRl
dmljZU1hbmFnZXJTdHViLnByb3RvdHlwZS5nZXREZXZpY2VzID0gZnVuY3Rpb24ob3B0aW9ucykg
ewotICAgIHJldHVybiB0aGlzLmRlbGVnYXRlXyAmJiB0aGlzLmRlbGVnYXRlXy5nZXREZXZpY2Vz
ICYmIHRoaXMuZGVsZWdhdGVfLmdldERldmljZXMob3B0aW9ucyk7Ci0gIH0KLSAgVXNiRGV2aWNl
TWFuYWdlclN0dWIucHJvdG90eXBlLmdldERldmljZSA9IGZ1bmN0aW9uKGd1aWQsIGRldmljZVJl
cXVlc3QpIHsKLSAgICByZXR1cm4gdGhpcy5kZWxlZ2F0ZV8gJiYgdGhpcy5kZWxlZ2F0ZV8uZ2V0
RGV2aWNlICYmIHRoaXMuZGVsZWdhdGVfLmdldERldmljZShndWlkLCBkZXZpY2VSZXF1ZXN0KTsK
LSAgfQotICBVc2JEZXZpY2VNYW5hZ2VyU3R1Yi5wcm90b3R5cGUuc2V0Q2xpZW50ID0gZnVuY3Rp
b24oY2xpZW50KSB7Ci0gICAgcmV0dXJuIHRoaXMuZGVsZWdhdGVfICYmIHRoaXMuZGVsZWdhdGVf
LnNldENsaWVudCAmJiB0aGlzLmRlbGVnYXRlXy5zZXRDbGllbnQoY2xpZW50KTsKLSAgfQotCi0g
IFVzYkRldmljZU1hbmFnZXJTdHViLnByb3RvdHlwZS5hY2NlcHQgPSBmdW5jdGlvbihtZXNzYWdl
KSB7Ci0gICAgdmFyIHJlYWRlciA9IG5ldyBjb2RlYy5NZXNzYWdlUmVhZGVyKG1lc3NhZ2UpOwot
ICAgIHN3aXRjaCAocmVhZGVyLm1lc3NhZ2VOYW1lKSB7Ci0gICAgY2FzZSBrVXNiRGV2aWNlTWFu
YWdlcl9HZXREZXZpY2VfTmFtZToKLSAgICAgIHZhciBwYXJhbXMgPSByZWFkZXIuZGVjb2RlU3Ry
dWN0KFVzYkRldmljZU1hbmFnZXJfR2V0RGV2aWNlX1BhcmFtcyk7Ci0gICAgICB0aGlzLmdldERl
dmljZShwYXJhbXMuZ3VpZCwgcGFyYW1zLmRldmljZVJlcXVlc3QpOwotICAgICAgcmV0dXJuIHRy
dWU7Ci0gICAgY2FzZSBrVXNiRGV2aWNlTWFuYWdlcl9TZXRDbGllbnRfTmFtZToKLSAgICAgIHZh
ciBwYXJhbXMgPSByZWFkZXIuZGVjb2RlU3RydWN0KFVzYkRldmljZU1hbmFnZXJfU2V0Q2xpZW50
X1BhcmFtcyk7Ci0gICAgICB0aGlzLnNldENsaWVudChwYXJhbXMuY2xpZW50KTsKLSAgICAgIHJl
dHVybiB0cnVlOwotICAgIGRlZmF1bHQ6Ci0gICAgICByZXR1cm4gZmFsc2U7Ci0gICAgfQotICB9
OwotCi0gIFVzYkRldmljZU1hbmFnZXJTdHViLnByb3RvdHlwZS5hY2NlcHRXaXRoUmVzcG9uZGVy
ID0KLSAgICAgIGZ1bmN0aW9uKG1lc3NhZ2UsIHJlc3BvbmRlcikgewotICAgIHZhciByZWFkZXIg
PSBuZXcgY29kZWMuTWVzc2FnZVJlYWRlcihtZXNzYWdlKTsKLSAgICBzd2l0Y2ggKHJlYWRlci5t
ZXNzYWdlTmFtZSkgewotICAgIGNhc2Uga1VzYkRldmljZU1hbmFnZXJfR2V0RGV2aWNlc19OYW1l
OgotICAgICAgdmFyIHBhcmFtcyA9IHJlYWRlci5kZWNvZGVTdHJ1Y3QoVXNiRGV2aWNlTWFuYWdl
cl9HZXREZXZpY2VzX1BhcmFtcyk7Ci0gICAgICB0aGlzLmdldERldmljZXMocGFyYW1zLm9wdGlv
bnMpLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICAgICAgdmFyIHJlc3BvbnNlUGFyYW1z
ID0KLSAgICAgICAgICAgIG5ldyBVc2JEZXZpY2VNYW5hZ2VyX0dldERldmljZXNfUmVzcG9uc2VQ
YXJhbXMoKTsKLSAgICAgICAgcmVzcG9uc2VQYXJhbXMucmVzdWx0cyA9IHJlc3BvbnNlLnJlc3Vs
dHM7Ci0gICAgICAgIHZhciBidWlsZGVyID0gbmV3IGNvZGVjLk1lc3NhZ2VWMUJ1aWxkZXIoCi0g
ICAgICAgICAgICBrVXNiRGV2aWNlTWFuYWdlcl9HZXREZXZpY2VzX05hbWUsCi0gICAgICAgICAg
ICBjb2RlYy5hbGlnbihVc2JEZXZpY2VNYW5hZ2VyX0dldERldmljZXNfUmVzcG9uc2VQYXJhbXMu
ZW5jb2RlZFNpemUpLAotICAgICAgICAgICAgY29kZWMua01lc3NhZ2VJc1Jlc3BvbnNlLCByZWFk
ZXIucmVxdWVzdElEKTsKLSAgICAgICAgYnVpbGRlci5lbmNvZGVTdHJ1Y3QoVXNiRGV2aWNlTWFu
YWdlcl9HZXREZXZpY2VzX1Jlc3BvbnNlUGFyYW1zLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICByZXNwb25zZVBhcmFtcyk7Ci0gICAgICAgIHZhciBtZXNzYWdlID0gYnVpbGRlci5maW5p
c2goKTsKLSAgICAgICAgcmVzcG9uZGVyLmFjY2VwdChtZXNzYWdlKTsKLSAgICAgIH0pOwotICAg
ICAgcmV0dXJuIHRydWU7Ci0gICAgZGVmYXVsdDoKLSAgICAgIHJldHVybiBmYWxzZTsKLSAgICB9
Ci0gIH07Ci0KLSAgZnVuY3Rpb24gdmFsaWRhdGVVc2JEZXZpY2VNYW5hZ2VyUmVxdWVzdChtZXNz
YWdlVmFsaWRhdG9yKSB7Ci0gICAgdmFyIG1lc3NhZ2UgPSBtZXNzYWdlVmFsaWRhdG9yLm1lc3Nh
Z2U7Ci0gICAgdmFyIHBhcmFtc0NsYXNzID0gbnVsbDsKLSAgICBzd2l0Y2ggKG1lc3NhZ2UuZ2V0
TmFtZSgpKSB7Ci0gICAgICBjYXNlIGtVc2JEZXZpY2VNYW5hZ2VyX0dldERldmljZXNfTmFtZToK
LSAgICAgICAgaWYgKG1lc3NhZ2UuZXhwZWN0c1Jlc3BvbnNlKCkpCi0gICAgICAgICAgcGFyYW1z
Q2xhc3MgPSBVc2JEZXZpY2VNYW5hZ2VyX0dldERldmljZXNfUGFyYW1zOwotICAgICAgYnJlYWs7
Ci0gICAgICBjYXNlIGtVc2JEZXZpY2VNYW5hZ2VyX0dldERldmljZV9OYW1lOgotICAgICAgICBp
ZiAoIW1lc3NhZ2UuZXhwZWN0c1Jlc3BvbnNlKCkgJiYgIW1lc3NhZ2UuaXNSZXNwb25zZSgpKQot
ICAgICAgICAgIHBhcmFtc0NsYXNzID0gVXNiRGV2aWNlTWFuYWdlcl9HZXREZXZpY2VfUGFyYW1z
OwotICAgICAgYnJlYWs7Ci0gICAgICBjYXNlIGtVc2JEZXZpY2VNYW5hZ2VyX1NldENsaWVudF9O
YW1lOgotICAgICAgICBpZiAoIW1lc3NhZ2UuZXhwZWN0c1Jlc3BvbnNlKCkgJiYgIW1lc3NhZ2Uu
aXNSZXNwb25zZSgpKQotICAgICAgICAgIHBhcmFtc0NsYXNzID0gVXNiRGV2aWNlTWFuYWdlcl9T
ZXRDbGllbnRfUGFyYW1zOwotICAgICAgYnJlYWs7Ci0gICAgfQotICAgIGlmIChwYXJhbXNDbGFz
cyA9PT0gbnVsbCkKLSAgICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7
Ci0gICAgcmV0dXJuIHBhcmFtc0NsYXNzLnZhbGlkYXRlKG1lc3NhZ2VWYWxpZGF0b3IsIG1lc3Nh
Z2VWYWxpZGF0b3IubWVzc2FnZS5nZXRIZWFkZXJOdW1CeXRlcygpKTsKLSAgfQotCi0gIGZ1bmN0
aW9uIHZhbGlkYXRlVXNiRGV2aWNlTWFuYWdlclJlc3BvbnNlKG1lc3NhZ2VWYWxpZGF0b3IpIHsK
LSAgIHZhciBtZXNzYWdlID0gbWVzc2FnZVZhbGlkYXRvci5tZXNzYWdlOwotICAgdmFyIHBhcmFt
c0NsYXNzID0gbnVsbDsKLSAgIHN3aXRjaCAobWVzc2FnZS5nZXROYW1lKCkpIHsKLSAgICAgIGNh
c2Uga1VzYkRldmljZU1hbmFnZXJfR2V0RGV2aWNlc19OYW1lOgotICAgICAgICBpZiAobWVzc2Fn
ZS5pc1Jlc3BvbnNlKCkpCi0gICAgICAgICAgcGFyYW1zQ2xhc3MgPSBVc2JEZXZpY2VNYW5hZ2Vy
X0dldERldmljZXNfUmVzcG9uc2VQYXJhbXM7Ci0gICAgICAgIGJyZWFrOwotICAgIH0KLSAgICBp
ZiAocGFyYW1zQ2xhc3MgPT09IG51bGwpCi0gICAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRp
b25FcnJvci5OT05FOwotICAgIHJldHVybiBwYXJhbXNDbGFzcy52YWxpZGF0ZShtZXNzYWdlVmFs
aWRhdG9yLCBtZXNzYWdlVmFsaWRhdG9yLm1lc3NhZ2UuZ2V0SGVhZGVyTnVtQnl0ZXMoKSk7Ci0g
IH0KLQotICB2YXIgVXNiRGV2aWNlTWFuYWdlciA9IHsKLSAgICBuYW1lOiAnZGV2aWNlOjptb2pv
bTo6VXNiRGV2aWNlTWFuYWdlcicsCi0gICAga1ZlcnNpb246IDAsCi0gICAgcHRyQ2xhc3M6IFVz
YkRldmljZU1hbmFnZXJQdHIsCi0gICAgcHJveHlDbGFzczogVXNiRGV2aWNlTWFuYWdlclByb3h5
LAotICAgIHN0dWJDbGFzczogVXNiRGV2aWNlTWFuYWdlclN0dWIsCi0gICAgdmFsaWRhdGVSZXF1
ZXN0OiB2YWxpZGF0ZVVzYkRldmljZU1hbmFnZXJSZXF1ZXN0LAotICAgIHZhbGlkYXRlUmVzcG9u
c2U6IHZhbGlkYXRlVXNiRGV2aWNlTWFuYWdlclJlc3BvbnNlLAotICB9OwotICBVc2JEZXZpY2VN
YW5hZ2VyU3R1Yi5wcm90b3R5cGUudmFsaWRhdG9yID0gdmFsaWRhdGVVc2JEZXZpY2VNYW5hZ2Vy
UmVxdWVzdDsKLSAgVXNiRGV2aWNlTWFuYWdlclByb3h5LnByb3RvdHlwZS52YWxpZGF0b3IgPSB2
YWxpZGF0ZVVzYkRldmljZU1hbmFnZXJSZXNwb25zZTsKLSAgdmFyIGtVc2JEZXZpY2VNYW5hZ2Vy
Q2xpZW50X09uRGV2aWNlQWRkZWRfTmFtZSA9IDA7Ci0gIHZhciBrVXNiRGV2aWNlTWFuYWdlckNs
aWVudF9PbkRldmljZVJlbW92ZWRfTmFtZSA9IDE7Ci0KLSAgZnVuY3Rpb24gVXNiRGV2aWNlTWFu
YWdlckNsaWVudFB0cihoYW5kbGVPclB0ckluZm8pIHsKLSAgICB0aGlzLnB0ciA9IG5ldyBiaW5k
aW5ncy5JbnRlcmZhY2VQdHJDb250cm9sbGVyKFVzYkRldmljZU1hbmFnZXJDbGllbnQsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVPclB0
ckluZm8pOwotICB9Ci0KLSAgZnVuY3Rpb24gVXNiRGV2aWNlTWFuYWdlckNsaWVudEFzc29jaWF0
ZWRQdHIoYXNzb2NpYXRlZEludGVyZmFjZVB0ckluZm8pIHsKLSAgICB0aGlzLnB0ciA9IG5ldyBh
c3NvY2lhdGVkQmluZGluZ3MuQXNzb2NpYXRlZEludGVyZmFjZVB0ckNvbnRyb2xsZXIoCi0gICAg
ICAgIFVzYkRldmljZU1hbmFnZXJDbGllbnQsIGFzc29jaWF0ZWRJbnRlcmZhY2VQdHJJbmZvKTsK
LSAgfQotCi0gIFVzYkRldmljZU1hbmFnZXJDbGllbnRBc3NvY2lhdGVkUHRyLnByb3RvdHlwZSA9
Ci0gICAgICBPYmplY3QuY3JlYXRlKFVzYkRldmljZU1hbmFnZXJDbGllbnRQdHIucHJvdG90eXBl
KTsKLSAgVXNiRGV2aWNlTWFuYWdlckNsaWVudEFzc29jaWF0ZWRQdHIucHJvdG90eXBlLmNvbnN0
cnVjdG9yID0KLSAgICAgIFVzYkRldmljZU1hbmFnZXJDbGllbnRBc3NvY2lhdGVkUHRyOwotCi0g
IGZ1bmN0aW9uIFVzYkRldmljZU1hbmFnZXJDbGllbnRQcm94eShyZWNlaXZlcikgewotICAgIHRo
aXMucmVjZWl2ZXJfID0gcmVjZWl2ZXI7Ci0gIH0KLSAgVXNiRGV2aWNlTWFuYWdlckNsaWVudFB0
ci5wcm90b3R5cGUub25EZXZpY2VBZGRlZCA9IGZ1bmN0aW9uKCkgewotICAgIHJldHVybiBVc2JE
ZXZpY2VNYW5hZ2VyQ2xpZW50UHJveHkucHJvdG90eXBlLm9uRGV2aWNlQWRkZWQKLSAgICAgICAg
LmFwcGx5KHRoaXMucHRyLmdldFByb3h5KCksIGFyZ3VtZW50cyk7Ci0gIH07Ci0KLSAgVXNiRGV2
aWNlTWFuYWdlckNsaWVudFByb3h5LnByb3RvdHlwZS5vbkRldmljZUFkZGVkID0gZnVuY3Rpb24o
ZGV2aWNlSW5mbykgewotICAgIHZhciBwYXJhbXMgPSBuZXcgVXNiRGV2aWNlTWFuYWdlckNsaWVu
dF9PbkRldmljZUFkZGVkX1BhcmFtcygpOwotICAgIHBhcmFtcy5kZXZpY2VJbmZvID0gZGV2aWNl
SW5mbzsKLSAgICB2YXIgYnVpbGRlciA9IG5ldyBjb2RlYy5NZXNzYWdlVjBCdWlsZGVyKAotICAg
ICAgICBrVXNiRGV2aWNlTWFuYWdlckNsaWVudF9PbkRldmljZUFkZGVkX05hbWUsCi0gICAgICAg
IGNvZGVjLmFsaWduKFVzYkRldmljZU1hbmFnZXJDbGllbnRfT25EZXZpY2VBZGRlZF9QYXJhbXMu
ZW5jb2RlZFNpemUpKTsKLSAgICBidWlsZGVyLmVuY29kZVN0cnVjdChVc2JEZXZpY2VNYW5hZ2Vy
Q2xpZW50X09uRGV2aWNlQWRkZWRfUGFyYW1zLCBwYXJhbXMpOwotICAgIHZhciBtZXNzYWdlID0g
YnVpbGRlci5maW5pc2goKTsKLSAgICB0aGlzLnJlY2VpdmVyXy5hY2NlcHQobWVzc2FnZSk7Ci0g
IH07Ci0gIFVzYkRldmljZU1hbmFnZXJDbGllbnRQdHIucHJvdG90eXBlLm9uRGV2aWNlUmVtb3Zl
ZCA9IGZ1bmN0aW9uKCkgewotICAgIHJldHVybiBVc2JEZXZpY2VNYW5hZ2VyQ2xpZW50UHJveHku
cHJvdG90eXBlLm9uRGV2aWNlUmVtb3ZlZAotICAgICAgICAuYXBwbHkodGhpcy5wdHIuZ2V0UHJv
eHkoKSwgYXJndW1lbnRzKTsKLSAgfTsKLQotICBVc2JEZXZpY2VNYW5hZ2VyQ2xpZW50UHJveHku
cHJvdG90eXBlLm9uRGV2aWNlUmVtb3ZlZCA9IGZ1bmN0aW9uKGRldmljZUluZm8pIHsKLSAgICB2
YXIgcGFyYW1zID0gbmV3IFVzYkRldmljZU1hbmFnZXJDbGllbnRfT25EZXZpY2VSZW1vdmVkX1Bh
cmFtcygpOwotICAgIHBhcmFtcy5kZXZpY2VJbmZvID0gZGV2aWNlSW5mbzsKLSAgICB2YXIgYnVp
bGRlciA9IG5ldyBjb2RlYy5NZXNzYWdlVjBCdWlsZGVyKAotICAgICAgICBrVXNiRGV2aWNlTWFu
YWdlckNsaWVudF9PbkRldmljZVJlbW92ZWRfTmFtZSwKLSAgICAgICAgY29kZWMuYWxpZ24oVXNi
RGV2aWNlTWFuYWdlckNsaWVudF9PbkRldmljZVJlbW92ZWRfUGFyYW1zLmVuY29kZWRTaXplKSk7
Ci0gICAgYnVpbGRlci5lbmNvZGVTdHJ1Y3QoVXNiRGV2aWNlTWFuYWdlckNsaWVudF9PbkRldmlj
ZVJlbW92ZWRfUGFyYW1zLCBwYXJhbXMpOwotICAgIHZhciBtZXNzYWdlID0gYnVpbGRlci5maW5p
c2goKTsKLSAgICB0aGlzLnJlY2VpdmVyXy5hY2NlcHQobWVzc2FnZSk7Ci0gIH07Ci0KLSAgZnVu
Y3Rpb24gVXNiRGV2aWNlTWFuYWdlckNsaWVudFN0dWIoZGVsZWdhdGUpIHsKLSAgICB0aGlzLmRl
bGVnYXRlXyA9IGRlbGVnYXRlOwotICB9Ci0gIFVzYkRldmljZU1hbmFnZXJDbGllbnRTdHViLnBy
b3RvdHlwZS5vbkRldmljZUFkZGVkID0gZnVuY3Rpb24oZGV2aWNlSW5mbykgewotICAgIHJldHVy
biB0aGlzLmRlbGVnYXRlXyAmJiB0aGlzLmRlbGVnYXRlXy5vbkRldmljZUFkZGVkICYmIHRoaXMu
ZGVsZWdhdGVfLm9uRGV2aWNlQWRkZWQoZGV2aWNlSW5mbyk7Ci0gIH0KLSAgVXNiRGV2aWNlTWFu
YWdlckNsaWVudFN0dWIucHJvdG90eXBlLm9uRGV2aWNlUmVtb3ZlZCA9IGZ1bmN0aW9uKGRldmlj
ZUluZm8pIHsKLSAgICByZXR1cm4gdGhpcy5kZWxlZ2F0ZV8gJiYgdGhpcy5kZWxlZ2F0ZV8ub25E
ZXZpY2VSZW1vdmVkICYmIHRoaXMuZGVsZWdhdGVfLm9uRGV2aWNlUmVtb3ZlZChkZXZpY2VJbmZv
KTsKLSAgfQotCi0gIFVzYkRldmljZU1hbmFnZXJDbGllbnRTdHViLnByb3RvdHlwZS5hY2NlcHQg
PSBmdW5jdGlvbihtZXNzYWdlKSB7Ci0gICAgdmFyIHJlYWRlciA9IG5ldyBjb2RlYy5NZXNzYWdl
UmVhZGVyKG1lc3NhZ2UpOwotICAgIHN3aXRjaCAocmVhZGVyLm1lc3NhZ2VOYW1lKSB7Ci0gICAg
Y2FzZSBrVXNiRGV2aWNlTWFuYWdlckNsaWVudF9PbkRldmljZUFkZGVkX05hbWU6Ci0gICAgICB2
YXIgcGFyYW1zID0gcmVhZGVyLmRlY29kZVN0cnVjdChVc2JEZXZpY2VNYW5hZ2VyQ2xpZW50X09u
RGV2aWNlQWRkZWRfUGFyYW1zKTsKLSAgICAgIHRoaXMub25EZXZpY2VBZGRlZChwYXJhbXMuZGV2
aWNlSW5mbyk7Ci0gICAgICByZXR1cm4gdHJ1ZTsKLSAgICBjYXNlIGtVc2JEZXZpY2VNYW5hZ2Vy
Q2xpZW50X09uRGV2aWNlUmVtb3ZlZF9OYW1lOgotICAgICAgdmFyIHBhcmFtcyA9IHJlYWRlci5k
ZWNvZGVTdHJ1Y3QoVXNiRGV2aWNlTWFuYWdlckNsaWVudF9PbkRldmljZVJlbW92ZWRfUGFyYW1z
KTsKLSAgICAgIHRoaXMub25EZXZpY2VSZW1vdmVkKHBhcmFtcy5kZXZpY2VJbmZvKTsKLSAgICAg
IHJldHVybiB0cnVlOwotICAgIGRlZmF1bHQ6Ci0gICAgICByZXR1cm4gZmFsc2U7Ci0gICAgfQot
ICB9OwotCi0gIFVzYkRldmljZU1hbmFnZXJDbGllbnRTdHViLnByb3RvdHlwZS5hY2NlcHRXaXRo
UmVzcG9uZGVyID0KLSAgICAgIGZ1bmN0aW9uKG1lc3NhZ2UsIHJlc3BvbmRlcikgewotICAgIHZh
ciByZWFkZXIgPSBuZXcgY29kZWMuTWVzc2FnZVJlYWRlcihtZXNzYWdlKTsKLSAgICBzd2l0Y2gg
KHJlYWRlci5tZXNzYWdlTmFtZSkgewotICAgIGRlZmF1bHQ6Ci0gICAgICByZXR1cm4gZmFsc2U7
Ci0gICAgfQotICB9OwotCi0gIGZ1bmN0aW9uIHZhbGlkYXRlVXNiRGV2aWNlTWFuYWdlckNsaWVu
dFJlcXVlc3QobWVzc2FnZVZhbGlkYXRvcikgewotICAgIHZhciBtZXNzYWdlID0gbWVzc2FnZVZh
bGlkYXRvci5tZXNzYWdlOwotICAgIHZhciBwYXJhbXNDbGFzcyA9IG51bGw7Ci0gICAgc3dpdGNo
IChtZXNzYWdlLmdldE5hbWUoKSkgewotICAgICAgY2FzZSBrVXNiRGV2aWNlTWFuYWdlckNsaWVu
dF9PbkRldmljZUFkZGVkX05hbWU6Ci0gICAgICAgIGlmICghbWVzc2FnZS5leHBlY3RzUmVzcG9u
c2UoKSAmJiAhbWVzc2FnZS5pc1Jlc3BvbnNlKCkpCi0gICAgICAgICAgcGFyYW1zQ2xhc3MgPSBV
c2JEZXZpY2VNYW5hZ2VyQ2xpZW50X09uRGV2aWNlQWRkZWRfUGFyYW1zOwotICAgICAgYnJlYWs7
Ci0gICAgICBjYXNlIGtVc2JEZXZpY2VNYW5hZ2VyQ2xpZW50X09uRGV2aWNlUmVtb3ZlZF9OYW1l
OgotICAgICAgICBpZiAoIW1lc3NhZ2UuZXhwZWN0c1Jlc3BvbnNlKCkgJiYgIW1lc3NhZ2UuaXNS
ZXNwb25zZSgpKQotICAgICAgICAgIHBhcmFtc0NsYXNzID0gVXNiRGV2aWNlTWFuYWdlckNsaWVu
dF9PbkRldmljZVJlbW92ZWRfUGFyYW1zOwotICAgICAgYnJlYWs7Ci0gICAgfQotICAgIGlmIChw
YXJhbXNDbGFzcyA9PT0gbnVsbCkKLSAgICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVy
cm9yLk5PTkU7Ci0gICAgcmV0dXJuIHBhcmFtc0NsYXNzLnZhbGlkYXRlKG1lc3NhZ2VWYWxpZGF0
b3IsIG1lc3NhZ2VWYWxpZGF0b3IubWVzc2FnZS5nZXRIZWFkZXJOdW1CeXRlcygpKTsKLSAgfQot
Ci0gIGZ1bmN0aW9uIHZhbGlkYXRlVXNiRGV2aWNlTWFuYWdlckNsaWVudFJlc3BvbnNlKG1lc3Nh
Z2VWYWxpZGF0b3IpIHsKLSAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05F
OwotICB9Ci0KLSAgdmFyIFVzYkRldmljZU1hbmFnZXJDbGllbnQgPSB7Ci0gICAgbmFtZTogJ2Rl
dmljZTo6bW9qb206OlVzYkRldmljZU1hbmFnZXJDbGllbnQnLAotICAgIGtWZXJzaW9uOiAwLAot
ICAgIHB0ckNsYXNzOiBVc2JEZXZpY2VNYW5hZ2VyQ2xpZW50UHRyLAotICAgIHByb3h5Q2xhc3M6
IFVzYkRldmljZU1hbmFnZXJDbGllbnRQcm94eSwKLSAgICBzdHViQ2xhc3M6IFVzYkRldmljZU1h
bmFnZXJDbGllbnRTdHViLAotICAgIHZhbGlkYXRlUmVxdWVzdDogdmFsaWRhdGVVc2JEZXZpY2VN
YW5hZ2VyQ2xpZW50UmVxdWVzdCwKLSAgICB2YWxpZGF0ZVJlc3BvbnNlOiBudWxsLAotICB9Owot
ICBVc2JEZXZpY2VNYW5hZ2VyQ2xpZW50U3R1Yi5wcm90b3R5cGUudmFsaWRhdG9yID0gdmFsaWRh
dGVVc2JEZXZpY2VNYW5hZ2VyQ2xpZW50UmVxdWVzdDsKLSAgVXNiRGV2aWNlTWFuYWdlckNsaWVu
dFByb3h5LnByb3RvdHlwZS52YWxpZGF0b3IgPSBudWxsOwotICBleHBvcnRzLlVzYkRldmljZUZp
bHRlciA9IFVzYkRldmljZUZpbHRlcjsKLSAgZXhwb3J0cy5Vc2JFbnVtZXJhdGlvbk9wdGlvbnMg
PSBVc2JFbnVtZXJhdGlvbk9wdGlvbnM7Ci0gIGV4cG9ydHMuVXNiRGV2aWNlTWFuYWdlciA9IFVz
YkRldmljZU1hbmFnZXI7Ci0gIGV4cG9ydHMuVXNiRGV2aWNlTWFuYWdlclB0ciA9IFVzYkRldmlj
ZU1hbmFnZXJQdHI7Ci0gIGV4cG9ydHMuVXNiRGV2aWNlTWFuYWdlckFzc29jaWF0ZWRQdHIgPSBV
c2JEZXZpY2VNYW5hZ2VyQXNzb2NpYXRlZFB0cjsKLSAgZXhwb3J0cy5Vc2JEZXZpY2VNYW5hZ2Vy
Q2xpZW50ID0gVXNiRGV2aWNlTWFuYWdlckNsaWVudDsKLSAgZXhwb3J0cy5Vc2JEZXZpY2VNYW5h
Z2VyQ2xpZW50UHRyID0gVXNiRGV2aWNlTWFuYWdlckNsaWVudFB0cjsKLSAgZXhwb3J0cy5Vc2JE
ZXZpY2VNYW5hZ2VyQ2xpZW50QXNzb2NpYXRlZFB0ciA9IFVzYkRldmljZU1hbmFnZXJDbGllbnRB
c3NvY2lhdGVkUHRyOwotfSkoKTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy9jaHJvbWl1bS9kZXZpY2VfbWFuYWdlci5tb2pvbS5qcy5oZWFkZXJzIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vZGV2aWNl
X21hbmFnZXIubW9qb20uanMuaGVhZGVycwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
NjgwNWMzMjNkZjVhOTc1MjMxNjQ4YjgzMGUzM2NlMTgzYzNjYmJkMy4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS9kZXZpY2VfbWFuYWdlci5tb2pv
bS5qcy5oZWFkZXJzCisrKyAvZGV2L251bGwKQEAgLTEgKzAsMCBAQAotQ29udGVudC1UeXBlOiB0
ZXh0L2phdmFzY3JpcHQ7IGNoYXJzZXQ9dXRmLTgKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL21vam9fYmlu
ZGluZ3MuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy9jaHJvbWl1bS9tb2pvX2JpbmRpbmdzLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCA2N2Q2YTg4Mjg1NTFjMWY3MDNlZjI5ODMxNTkyZjJlNGQ4YTQyNDg1Li4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL21vam9fYmluZGlu
Z3MuanMKKysrIC9kZXYvbnVsbApAQCAtMSw1MTI5ICswLDAgQEAKLS8vIENvcHlyaWdodCAyMDE3
IFRoZSBDaHJvbWl1bSBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotLy8gVXNlIG9mIHRo
aXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZSB0aGF0IGNh
biBiZQotLy8gZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KLQotJ3VzZSBzdHJpY3QnOwotCi1p
ZiAobW9qbyAmJiBtb2pvLmludGVybmFsKSB7Ci0gIHRocm93IG5ldyBFcnJvcignVGhlIE1vam8g
YmluZGluZ3MgbGlicmFyeSBoYXMgYmVlbiBpbml0aWFsaXplZC4nKTsKLX0KLQotdmFyIG1vam8g
PSBtb2pvIHx8IHt9OwotbW9qby5pbnRlcm5hbCA9IHt9OwotbW9qby5pbnRlcm5hbC5nbG9iYWwg
PSB0aGlzOwotbW9qby5jb25maWcgPSB7Ci0gIC8vIFdoZXRoZXIgdG8gYXV0b21hdGljYWxseSBs
b2FkIG1vam9tIGRlcGVuZGVuY2llcy4KLSAgLy8gRm9yIGV4YW1wbGUsIGlmIGZvby5tb2pvbSBp
bXBvcnRzIGJhci5tb2pvbSwgfGF1dG9Mb2FkTW9qb21EZXBzfCBzZXQgdG8KLSAgLy8gdHJ1ZSBt
ZWFucyB0aGF0IGxvYWRpbmcgZm9vLm1vam9tLmpzIHdpbGwgaW5zZXJ0IGEgPHNjcmlwdD4gdGFn
IHRvIGxvYWQKLSAgLy8gYmFyLm1vam9tLmpzLCBpZiBpdCBoYXNuJ3QgYmVlbiBsb2FkZWQuCi0g
IC8vCi0gIC8vIFRoZSBVUkwgb2YgYmFyLm1vam9tLmpzIGlzIGRldGVybWluZWQgYnkgdGhlIHJl
bGF0aXZlIHBhdGggb2YgYmFyLm1vam9tCi0gIC8vIChyZWxhdGl2ZSB0byB0aGUgcG9zaXRpb24g
b2YgZm9vLm1vam9tIGF0IGJ1aWxkIHRpbWUpIGFuZCB0aGUgVVJMIG9mCi0gIC8vIGZvby5tb2pv
bS5qcy4gRm9yIGV4bXBsZSwgaWYgYXQgYnVpbGQgdGltZSB0aGUgdHdvIG1vam9tIGZpbGVzIGFy
ZQotICAvLyBsb2NhdGVkIGF0OgotICAvLyAgIGEvYi9jL2Zvby5tb2pvbQotICAvLyAgIGEvYi9k
L2Jhci5tb2pvbQotICAvLyBhbmQgdGhlIFVSTCBvZiBmb28ubW9qb20uanMgaXM6Ci0gIC8vICAg
aHR0cDovL2V4YW1wbGUub3JnL3NjcmlwdHMvYi9jL2Zvby5tb2pvbS5qcwotICAvLyB0aGVuIHRo
ZSBVUkwgb2YgYmFyLm1vam9tLmpzIHdpbGwgYmU6Ci0gIC8vICAgaHR0cDovL2V4YW1wbGUub3Jn
L3NjcmlwdHMvYi9kL2Jhci5tb2pvbS5qcwotICAvLwotICAvLyBJZiB5b3Ugd291bGQgbGlrZSBi
YXIubW9qb20uanMgdG8gbGl2ZSBhdCBhIGRpZmZlcmVudCBsb2NhdGlvbiwgeW91IG5lZWQKLSAg
Ly8gdG8gdHVybiBvZmYgfGF1dG9Mb2FkTW9qb21EZXBzfCBiZWZvcmUgbG9hZGluZyBmb28ubW9q
b20uanMsIGFuZCBtYW51YWxseQotICAvLyBsb2FkIGJhci5tb2pvbS5qcyB5b3Vyc2VsZi4gU2lt
aWxhcmx5LCB5b3UgbmVlZCB0byB0dXJuIG9mZiB0aGUgb3B0aW9uIGlmCi0gIC8vIHlvdSBtZXJn
ZSBiYXIubW9qb20uanMgYW5kIGZvby5tb2pvbS5qcyBpbnRvIGEgc2luZ2xlIGZpbGUuCi0gIC8v
Ci0gIC8vIFBlcmZvcm1hbmNlIHRpcDogQXZvaWQgbG9hZGluZyB0aGUgc2FtZSBtb2pvbS5qcyBm
aWxlIG11bHRpcGxlIHRpbWVzLgotICAvLyBBc3N1bWUgdGhhdCB8YXV0b0xvYWRNb2pvbURlcHN8
IGlzIHNldCB0byB0cnVlLAotICAvLwotICAvLyA8IS0tCi0gIC8vIChUaGlzIGNvbW1lbnQgdGFn
IGlzIG5lY2Vzc2FyeSBvbiBJT1MgdG8gYXZvaWQgaW50ZXJwcmV0aW5nIHRoZSBjbG9zaW5nCi0g
IC8vIHNjcmlwdCB0YWdzIGluIHRoZSBleGFtcGxlLikKLSAgLy8KLSAgLy8gTm8gZHVwbGljYXRl
IGxvYWRpbmc7IHJlY29tbWVuZGVkOgotICAvLyA8c2NyaXB0IHNyYz0iaHR0cDovL2V4YW1wbGUu
b3JnL3NjcmlwdHMvYi9jL2Zvby5tb2pvbS5qcyI+PC9zY3JpcHQ+Ci0gIC8vCi0gIC8vIE5vIGR1
cGxpY2F0ZSBsb2FkaW5nLCBhbHRob3VnaCB1bm5lY2Vzc2FyeToKLSAgLy8gPHNjcmlwdCBzcmM9
Imh0dHA6Ly9leGFtcGxlLm9yZy9zY3JpcHRzL2IvZC9iYXIubW9qb20uanMiPjwvc2NyaXB0Pgot
ICAvLyA8c2NyaXB0IHNyYz0iaHR0cDovL2V4YW1wbGUub3JnL3NjcmlwdHMvYi9jL2Zvby5tb2pv
bS5qcyI+PC9zY3JpcHQ+Ci0gIC8vCi0gIC8vIExvYWQgYmFyLm1vam9tLmpzIHR3aWNlOyBzaG91
bGQgYmUgYXZvaWRlZDoKLSAgLy8gPHNjcmlwdCBzcmM9Imh0dHA6Ly9leGFtcGxlLm9yZy9zY3Jp
cHRzL2IvYy9mb28ubW9qb20uanMiPjwvc2NyaXB0PgotICAvLyA8c2NyaXB0IHNyYz0iaHR0cDov
L2V4YW1wbGUub3JnL3NjcmlwdHMvYi9kL2Jhci5tb2pvbS5qcyI+PC9zY3JpcHQ+Ci0gIC8vCi0g
IC8vIC0tPgotICBhdXRvTG9hZE1vam9tRGVwczogdHJ1ZQotfTsKLQotKGZ1bmN0aW9uKCkgewot
ICB2YXIgaW50ZXJuYWwgPSBtb2pvLmludGVybmFsOwotCi0gIHZhciBMb2FkU3RhdGUgPSB7Ci0g
ICAgUEVORElOR19MT0FEOiAxLAotICAgIExPQURFRDogMgotICB9OwotCi0gIHZhciBtb2pvbVJl
Z2lzdHJ5ID0gbmV3IE1hcCgpOwotCi0gIGZ1bmN0aW9uIGV4cG9zZU5hbWVzcGFjZShuYW1lc3Bh
Y2UpIHsKLSAgICB2YXIgY3VycmVudCA9IGludGVybmFsLmdsb2JhbDsKLSAgICB2YXIgcGFydHMg
PSBuYW1lc3BhY2Uuc3BsaXQoJy4nKTsKLQotICAgIGZvciAodmFyIHBhcnQ7IHBhcnRzLmxlbmd0
aCAmJiAocGFydCA9IHBhcnRzLnNoaWZ0KCkpOykgewotICAgICAgaWYgKCFjdXJyZW50W3BhcnRd
KSB7Ci0gICAgICAgIGN1cnJlbnRbcGFydF0gPSB7fTsKLSAgICAgIH0KLSAgICAgIGN1cnJlbnQg
PSBjdXJyZW50W3BhcnRdOwotICAgIH0KLQotICAgIHJldHVybiBjdXJyZW50OwotICB9Ci0KLSAg
ZnVuY3Rpb24gaXNNb2pvbVBlbmRpbmdMb2FkKGlkKSB7Ci0gICAgcmV0dXJuIG1vam9tUmVnaXN0
cnkuZ2V0KGlkKSA9PT0gTG9hZFN0YXRlLlBFTkRJTkdfTE9BRDsKLSAgfQotCi0gIGZ1bmN0aW9u
IGlzTW9qb21Mb2FkZWQoaWQpIHsKLSAgICByZXR1cm4gbW9qb21SZWdpc3RyeS5nZXQoaWQpID09
PSBMb2FkU3RhdGUuTE9BREVEOwotICB9Ci0KLSAgZnVuY3Rpb24gbWFya01vam9tUGVuZGluZ0xv
YWQoaWQpIHsKLSAgICBpZiAoaXNNb2pvbUxvYWRlZChpZCkpIHsKLSAgICAgIHRocm93IG5ldyBF
cnJvcignVGhlIGZvbGxvd2luZyBtb2pvbSBmaWxlIGhhcyBiZWVuIGxvYWRlZDogJyArIGlkKTsK
LSAgICB9Ci0KLSAgICBtb2pvbVJlZ2lzdHJ5LnNldChpZCwgTG9hZFN0YXRlLlBFTkRJTkdfTE9B
RCk7Ci0gIH0KLQotICBmdW5jdGlvbiBtYXJrTW9qb21Mb2FkZWQoaWQpIHsKLSAgICBtb2pvbVJl
Z2lzdHJ5LnNldChpZCwgTG9hZFN0YXRlLkxPQURFRCk7Ci0gIH0KLQotICBmdW5jdGlvbiBsb2Fk
TW9qb21JZk5lY2Vzc2FyeShpZCwgcmVsYXRpdmVQYXRoKSB7Ci0gICAgaWYgKG1vam9tUmVnaXN0
cnkuaGFzKGlkKSkgewotICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIGlmIChpbnRlcm5hbC5n
bG9iYWwuZG9jdW1lbnQgPT09IHVuZGVmaW5lZCkgewotICAgICAgdGhyb3cgbmV3IEVycm9yKAot
ICAgICAgICAgICdNb2pvbSBkZXBlbmRlbmN5IGF1dG9sb2FkaW5nIGlzIG5vdCBpbXBsZW1lbnRl
ZCBpbiB3b3JrZXJzLiAnICsKLSAgICAgICAgICAnUGxlYXNlIHNlZSBjb25maWcgdmFyaWFibGUg
bW9qby5jb25maWcuYXV0b0xvYWRNb2pvbURlcHMgZm9yIG1vcmUgJyArCi0gICAgICAgICAgJ2Rl
dGFpbHMuJyk7Ci0gICAgfQotCi0gICAgbWFya01vam9tUGVuZGluZ0xvYWQoaWQpOwotICAgIHZh
ciB1cmwgPSBuZXcgVVJMKHJlbGF0aXZlUGF0aCwgZG9jdW1lbnQuY3VycmVudFNjcmlwdC5zcmMp
LmhyZWY7Ci0gICAgaW50ZXJuYWwuZ2xvYmFsLmRvY3VtZW50LndyaXRlKCc8c2NyaXB0IHR5cGU9
InRleHQvamF2YXNjcmlwdCIgc3JjPSInICsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdXJsICsgJyI+PCcgKyAnL3NjcmlwdD4nKTsKLSAgfQotCi0gIGludGVybmFsLmV4cG9z
ZU5hbWVzcGFjZSA9IGV4cG9zZU5hbWVzcGFjZTsKLSAgaW50ZXJuYWwuaXNNb2pvbVBlbmRpbmdM
b2FkID0gaXNNb2pvbVBlbmRpbmdMb2FkOwotICBpbnRlcm5hbC5pc01vam9tTG9hZGVkID0gaXNN
b2pvbUxvYWRlZDsKLSAgaW50ZXJuYWwubWFya01vam9tUGVuZGluZ0xvYWQgPSBtYXJrTW9qb21Q
ZW5kaW5nTG9hZDsKLSAgaW50ZXJuYWwubWFya01vam9tTG9hZGVkID0gbWFya01vam9tTG9hZGVk
OwotICBpbnRlcm5hbC5sb2FkTW9qb21JZk5lY2Vzc2FyeSA9IGxvYWRNb2pvbUlmTmVjZXNzYXJ5
OwotfSkoKTsKLS8vIENvcHlyaWdodCAyMDE3IFRoZSBDaHJvbWl1bSBBdXRob3JzLiBBbGwgcmln
aHRzIHJlc2VydmVkLgotLy8gVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkg
YSBCU0Qtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQotLy8gZm91bmQgaW4gdGhlIExJQ0VOU0Ug
ZmlsZS4KLQotKGZ1bmN0aW9uKCkgewotICB2YXIgaW50ZXJuYWwgPSBtb2pvLmludGVybmFsOwot
Ci0gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotCi0gIC8vIHxvdXRwdXR8IGNvdWxkIGJlIGFuIGlu
dGVyZmFjZSBwb2ludGVyLCBJbnRlcmZhY2VQdHJJbmZvIG9yCi0gIC8vIEFzc29jaWF0ZWRJbnRl
cmZhY2VQdHJJbmZvLgotICBmdW5jdGlvbiBtYWtlUmVxdWVzdChvdXRwdXQpIHsKLSAgICBpZiAo
b3V0cHV0IGluc3RhbmNlb2YgbW9qby5Bc3NvY2lhdGVkSW50ZXJmYWNlUHRySW5mbykgewotICAg
ICAgdmFyIHtoYW5kbGUwLCBoYW5kbGUxfSA9IGludGVybmFsLmNyZWF0ZVBhaXJQZW5kaW5nQXNz
b2NpYXRpb24oKTsKLSAgICAgIG91dHB1dC5pbnRlcmZhY2VFbmRwb2ludEhhbmRsZSA9IGhhbmRs
ZTA7Ci0gICAgICBvdXRwdXQudmVyc2lvbiA9IDA7Ci0KLSAgICAgIHJldHVybiBuZXcgbW9qby5B
c3NvY2lhdGVkSW50ZXJmYWNlUmVxdWVzdChoYW5kbGUxKTsKLSAgICB9Ci0KLSAgICBpZiAob3V0
cHV0IGluc3RhbmNlb2YgbW9qby5JbnRlcmZhY2VQdHJJbmZvKSB7Ci0gICAgICB2YXIgcGlwZSA9
IE1vam8uY3JlYXRlTWVzc2FnZVBpcGUoKTsKLSAgICAgIG91dHB1dC5oYW5kbGUgPSBwaXBlLmhh
bmRsZTA7Ci0gICAgICBvdXRwdXQudmVyc2lvbiA9IDA7Ci0KLSAgICAgIHJldHVybiBuZXcgbW9q
by5JbnRlcmZhY2VSZXF1ZXN0KHBpcGUuaGFuZGxlMSk7Ci0gICAgfQotCi0gICAgdmFyIHBpcGUg
PSBNb2pvLmNyZWF0ZU1lc3NhZ2VQaXBlKCk7Ci0gICAgb3V0cHV0LnB0ci5iaW5kKG5ldyBtb2pv
LkludGVyZmFjZVB0ckluZm8ocGlwZS5oYW5kbGUwLCAwKSk7Ci0gICAgcmV0dXJuIG5ldyBtb2pv
LkludGVyZmFjZVJlcXVlc3QocGlwZS5oYW5kbGUxKTsKLSAgfQotCi0gIC8vIC0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLQotCi0gIC8vIE9wZXJhdGlvbnMgdXNlZCB0byBzZXR1cC9jb25maWd1cmUgYW4gaW50
ZXJmYWNlIHBvaW50ZXIuIEV4cG9zZWQgYXMgdGhlCi0gIC8vIHxwdHJ8IGZpZWxkIG9mIGdlbmVy
YXRlZCBpbnRlcmZhY2UgcG9pbnRlciBjbGFzc2VzLgotICAvLyB8cHRySW5mb09ySGFuZGxlfCBj
b3VsZCBiZSBvbWl0dGVkIGFuZCBwYXNzZWQgaW50byBiaW5kKCkgbGF0ZXIuCi0gIGZ1bmN0aW9u
IEludGVyZmFjZVB0ckNvbnRyb2xsZXIoaW50ZXJmYWNlVHlwZSwgcHRySW5mb09ySGFuZGxlKSB7
Ci0gICAgdGhpcy52ZXJzaW9uID0gMDsKLQotICAgIHRoaXMuaW50ZXJmYWNlVHlwZV8gPSBpbnRl
cmZhY2VUeXBlOwotICAgIHRoaXMucm91dGVyXyA9IG51bGw7Ci0gICAgdGhpcy5pbnRlcmZhY2VF
bmRwb2ludENsaWVudF8gPSBudWxsOwotICAgIHRoaXMucHJveHlfID0gbnVsbDsKLQotICAgIC8v
IHxyb3V0ZXJffCBhbmQgfGludGVyZmFjZUVuZHBvaW50Q2xpZW50X3wgYXJlIGxhemlseSBpbml0
aWFsaXplZC4KLSAgICAvLyB8aGFuZGxlX3wgaXMgdmFsaWQgYmV0d2VlbiBiaW5kKCkgYW5kCi0g
ICAgLy8gdGhlIGluaXRpYWxpemF0aW9uIG9mIHxyb3V0ZXJffCBhbmQgfGludGVyZmFjZUVuZHBv
aW50Q2xpZW50X3wuCi0gICAgdGhpcy5oYW5kbGVfID0gbnVsbDsKLQotICAgIGlmIChwdHJJbmZv
T3JIYW5kbGUpCi0gICAgICB0aGlzLmJpbmQocHRySW5mb09ySGFuZGxlKTsKLSAgfQotCi0gIElu
dGVyZmFjZVB0ckNvbnRyb2xsZXIucHJvdG90eXBlLmJpbmQgPSBmdW5jdGlvbihwdHJJbmZvT3JI
YW5kbGUpIHsKLSAgICB0aGlzLnJlc2V0KCk7Ci0KLSAgICBpZiAocHRySW5mb09ySGFuZGxlIGlu
c3RhbmNlb2YgbW9qby5JbnRlcmZhY2VQdHJJbmZvKSB7Ci0gICAgICB0aGlzLnZlcnNpb24gPSBw
dHJJbmZvT3JIYW5kbGUudmVyc2lvbjsKLSAgICAgIHRoaXMuaGFuZGxlXyA9IHB0ckluZm9Pckhh
bmRsZS5oYW5kbGU7Ci0gICAgfSBlbHNlIHsKLSAgICAgIHRoaXMuaGFuZGxlXyA9IHB0ckluZm9P
ckhhbmRsZTsKLSAgICB9Ci0gIH07Ci0KLSAgSW50ZXJmYWNlUHRyQ29udHJvbGxlci5wcm90b3R5
cGUuaXNCb3VuZCA9IGZ1bmN0aW9uKCkgewotICAgIHJldHVybiB0aGlzLmludGVyZmFjZUVuZHBv
aW50Q2xpZW50XyAhPT0gbnVsbCB8fCB0aGlzLmhhbmRsZV8gIT09IG51bGw7Ci0gIH07Ci0KLSAg
Ly8gQWx0aG91Z2ggdXNlcnMgY291bGQganVzdCBkaXNjYXJkIHRoZSBvYmplY3QsIHJlc2V0KCkg
Y2xvc2VzIHRoZSBwaXBlCi0gIC8vIGltbWVkaWF0ZWx5LgotICBJbnRlcmZhY2VQdHJDb250cm9s
bGVyLnByb3RvdHlwZS5yZXNldCA9IGZ1bmN0aW9uKCkgewotICAgIHRoaXMudmVyc2lvbiA9IDA7
Ci0gICAgaWYgKHRoaXMuaW50ZXJmYWNlRW5kcG9pbnRDbGllbnRfKSB7Ci0gICAgICB0aGlzLmlu
dGVyZmFjZUVuZHBvaW50Q2xpZW50Xy5jbG9zZSgpOwotICAgICAgdGhpcy5pbnRlcmZhY2VFbmRw
b2ludENsaWVudF8gPSBudWxsOwotICAgIH0KLSAgICBpZiAodGhpcy5yb3V0ZXJfKSB7Ci0gICAg
ICB0aGlzLnJvdXRlcl8uY2xvc2UoKTsKLSAgICAgIHRoaXMucm91dGVyXyA9IG51bGw7Ci0KLSAg
ICAgIHRoaXMucHJveHlfID0gbnVsbDsKLSAgICB9Ci0gICAgaWYgKHRoaXMuaGFuZGxlXykgewot
ICAgICAgdGhpcy5oYW5kbGVfLmNsb3NlKCk7Ci0gICAgICB0aGlzLmhhbmRsZV8gPSBudWxsOwot
ICAgIH0KLSAgfTsKLQotICBJbnRlcmZhY2VQdHJDb250cm9sbGVyLnByb3RvdHlwZS5yZXNldFdp
dGhSZWFzb24gPSBmdW5jdGlvbihyZWFzb24pIHsKLSAgICBpZiAodGhpcy5pc0JvdW5kKCkpIHsK
LSAgICAgIHRoaXMuY29uZmlndXJlUHJveHlJZk5lY2Vzc2FyeV8oKTsKLSAgICAgIHRoaXMuaW50
ZXJmYWNlRW5kcG9pbnRDbGllbnRfLmNsb3NlKHJlYXNvbik7Ci0gICAgICB0aGlzLmludGVyZmFj
ZUVuZHBvaW50Q2xpZW50XyA9IG51bGw7Ci0gICAgfQotICAgIHRoaXMucmVzZXQoKTsKLSAgfTsK
LQotICBJbnRlcmZhY2VQdHJDb250cm9sbGVyLnByb3RvdHlwZS5zZXRDb25uZWN0aW9uRXJyb3JI
YW5kbGVyID0gZnVuY3Rpb24oCi0gICAgICBjYWxsYmFjaykgewotICAgIGlmICghdGhpcy5pc0Jv
dW5kKCkpCi0gICAgICB0aHJvdyBuZXcgRXJyb3IoIkNhbm5vdCBzZXQgY29ubmVjdGlvbiBlcnJv
ciBoYW5kbGVyIGlmIG5vdCBib3VuZC4iKTsKLQotICAgIHRoaXMuY29uZmlndXJlUHJveHlJZk5l
Y2Vzc2FyeV8oKTsKLSAgICB0aGlzLmludGVyZmFjZUVuZHBvaW50Q2xpZW50Xy5zZXRDb25uZWN0
aW9uRXJyb3JIYW5kbGVyKGNhbGxiYWNrKTsKLSAgfTsKLQotICBJbnRlcmZhY2VQdHJDb250cm9s
bGVyLnByb3RvdHlwZS5wYXNzSW50ZXJmYWNlID0gZnVuY3Rpb24oKSB7Ci0gICAgdmFyIHJlc3Vs
dDsKLSAgICBpZiAodGhpcy5yb3V0ZXJfKSB7Ci0gICAgICAvLyBUT0RPKHl6c2hlbik6IEZpeCBS
b3V0ZXIgaW50ZXJmYWNlIHRvIHN1cHBvcnQgZXh0cmFjdGluZyBoYW5kbGUuCi0gICAgICByZXN1
bHQgPSBuZXcgbW9qby5JbnRlcmZhY2VQdHJJbmZvKAotICAgICAgICAgIHRoaXMucm91dGVyXy5j
b25uZWN0b3JfLmhhbmRsZV8sIHRoaXMudmVyc2lvbik7Ci0gICAgICB0aGlzLnJvdXRlcl8uY29u
bmVjdG9yXy5oYW5kbGVfID0gbnVsbDsKLSAgICB9IGVsc2UgewotICAgICAgLy8gVGhpcyBhbHNv
IGhhbmRsZXMgdGhlIGNhc2Ugd2hlbiB0aGlzIG9iamVjdCBpcyBub3QgYm91bmQuCi0gICAgICBy
ZXN1bHQgPSBuZXcgbW9qby5JbnRlcmZhY2VQdHJJbmZvKHRoaXMuaGFuZGxlXywgdGhpcy52ZXJz
aW9uKTsKLSAgICAgIHRoaXMuaGFuZGxlXyA9IG51bGw7Ci0gICAgfQotCi0gICAgdGhpcy5yZXNl
dCgpOwotICAgIHJldHVybiByZXN1bHQ7Ci0gIH07Ci0KLSAgSW50ZXJmYWNlUHRyQ29udHJvbGxl
ci5wcm90b3R5cGUuZ2V0UHJveHkgPSBmdW5jdGlvbigpIHsKLSAgICB0aGlzLmNvbmZpZ3VyZVBy
b3h5SWZOZWNlc3NhcnlfKCk7Ci0gICAgcmV0dXJuIHRoaXMucHJveHlfOwotICB9OwotCi0gIElu
dGVyZmFjZVB0ckNvbnRyb2xsZXIucHJvdG90eXBlLmNvbmZpZ3VyZVByb3h5SWZOZWNlc3Nhcnlf
ID0gZnVuY3Rpb24oKSB7Ci0gICAgaWYgKCF0aGlzLmhhbmRsZV8pCi0gICAgICByZXR1cm47Ci0K
LSAgICB0aGlzLnJvdXRlcl8gPSBuZXcgaW50ZXJuYWwuUm91dGVyKHRoaXMuaGFuZGxlXywgdHJ1
ZSk7Ci0gICAgdGhpcy5oYW5kbGVfID0gbnVsbDsKLQotICAgIHRoaXMuaW50ZXJmYWNlRW5kcG9p
bnRDbGllbnRfID0gbmV3IGludGVybmFsLkludGVyZmFjZUVuZHBvaW50Q2xpZW50KAotICAgICAg
ICB0aGlzLnJvdXRlcl8uY3JlYXRlTG9jYWxFbmRwb2ludEhhbmRsZShpbnRlcm5hbC5rTWFzdGVy
SW50ZXJmYWNlSWQpKTsKLQotICAgIHRoaXMuaW50ZXJmYWNlRW5kcG9pbnRDbGllbnRfIC5zZXRQ
YXlsb2FkVmFsaWRhdG9ycyhbCi0gICAgICAgIHRoaXMuaW50ZXJmYWNlVHlwZV8udmFsaWRhdGVS
ZXNwb25zZV0pOwotICAgIHRoaXMucHJveHlfID0gbmV3IHRoaXMuaW50ZXJmYWNlVHlwZV8ucHJv
eHlDbGFzcygKLSAgICAgICAgdGhpcy5pbnRlcmZhY2VFbmRwb2ludENsaWVudF8pOwotICB9Owot
Ci0gIEludGVyZmFjZVB0ckNvbnRyb2xsZXIucHJvdG90eXBlLnF1ZXJ5VmVyc2lvbiA9IGZ1bmN0
aW9uKCkgewotICAgIGZ1bmN0aW9uIG9uUXVlcnlWZXJzaW9uKHZlcnNpb24pIHsKLSAgICAgIHRo
aXMudmVyc2lvbiA9IHZlcnNpb247Ci0gICAgICByZXR1cm4gdmVyc2lvbjsKLSAgICB9Ci0KLSAg
ICB0aGlzLmNvbmZpZ3VyZVByb3h5SWZOZWNlc3NhcnlfKCk7Ci0gICAgcmV0dXJuIHRoaXMuaW50
ZXJmYWNlRW5kcG9pbnRDbGllbnRfLnF1ZXJ5VmVyc2lvbigpLnRoZW4oCi0gICAgICBvblF1ZXJ5
VmVyc2lvbi5iaW5kKHRoaXMpKTsKLSAgfTsKLQotICBJbnRlcmZhY2VQdHJDb250cm9sbGVyLnBy
b3RvdHlwZS5yZXF1aXJlVmVyc2lvbiA9IGZ1bmN0aW9uKHZlcnNpb24pIHsKLSAgICB0aGlzLmNv
bmZpZ3VyZVByb3h5SWZOZWNlc3NhcnlfKCk7Ci0KLSAgICBpZiAodGhpcy52ZXJzaW9uID49IHZl
cnNpb24pIHsKLSAgICAgIHJldHVybjsKLSAgICB9Ci0gICAgdGhpcy52ZXJzaW9uID0gdmVyc2lv
bjsKLSAgICB0aGlzLmludGVyZmFjZUVuZHBvaW50Q2xpZW50Xy5yZXF1aXJlVmVyc2lvbih2ZXJz
aW9uKTsKLSAgfTsKLQotICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLQotICAvLyB8cmVxdWVzdHwg
Y291bGQgYmUgb21pdHRlZCBhbmQgcGFzc2VkIGludG8gYmluZCgpIGxhdGVyLgotICAvLwotICAv
LyBFeGFtcGxlOgotICAvLwotICAvLyAgICAvLyBGb29JbXBsIGltcGxlbWVudHMgbW9qb20uRm9v
LgotICAvLyAgICBmdW5jdGlvbiBGb29JbXBsKCkgeyAuLi4gfQotICAvLyAgICBGb29JbXBsLnBy
b3RvdHlwZS5mb29NZXRob2QxID0gZnVuY3Rpb24oKSB7IC4uLiB9Ci0gIC8vICAgIEZvb0ltcGwu
cHJvdG90eXBlLmZvb01ldGhvZDIgPSBmdW5jdGlvbigpIHsgLi4uIH0KLSAgLy8KLSAgLy8gICAg
dmFyIGZvb1B0ciA9IG5ldyBtb2pvbS5Gb29QdHIoKTsKLSAgLy8gICAgdmFyIHJlcXVlc3QgPSBt
YWtlUmVxdWVzdChmb29QdHIpOwotICAvLyAgICB2YXIgYmluZGluZyA9IG5ldyBCaW5kaW5nKG1v
am9tLkZvbywgbmV3IEZvb0ltcGwoKSwgcmVxdWVzdCk7Ci0gIC8vICAgIGZvb1B0ci5mb29NZXRo
b2QxKCk7Ci0gIGZ1bmN0aW9uIEJpbmRpbmcoaW50ZXJmYWNlVHlwZSwgaW1wbCwgcmVxdWVzdE9y
SGFuZGxlKSB7Ci0gICAgdGhpcy5pbnRlcmZhY2VUeXBlXyA9IGludGVyZmFjZVR5cGU7Ci0gICAg
dGhpcy5pbXBsXyA9IGltcGw7Ci0gICAgdGhpcy5yb3V0ZXJfID0gbnVsbDsKLSAgICB0aGlzLmlu
dGVyZmFjZUVuZHBvaW50Q2xpZW50XyA9IG51bGw7Ci0gICAgdGhpcy5zdHViXyA9IG51bGw7Ci0K
LSAgICBpZiAocmVxdWVzdE9ySGFuZGxlKQotICAgICAgdGhpcy5iaW5kKHJlcXVlc3RPckhhbmRs
ZSk7Ci0gIH0KLQotICBCaW5kaW5nLnByb3RvdHlwZS5pc0JvdW5kID0gZnVuY3Rpb24oKSB7Ci0g
ICAgcmV0dXJuIHRoaXMucm91dGVyXyAhPT0gbnVsbDsKLSAgfTsKLQotICBCaW5kaW5nLnByb3Rv
dHlwZS5jcmVhdGVJbnRlcmZhY2VQdHJBbmRCaW5kID0gZnVuY3Rpb24oKSB7Ci0gICAgdmFyIHB0
ciA9IG5ldyB0aGlzLmludGVyZmFjZVR5cGVfLnB0ckNsYXNzKCk7Ci0gICAgLy8gVE9ETyh5enNo
ZW4pOiBTZXQgdGhlIHZlcnNpb24gb2YgdGhlIGludGVyZmFjZSBwb2ludGVyLgotICAgIHRoaXMu
YmluZChtYWtlUmVxdWVzdChwdHIpKTsKLSAgICByZXR1cm4gcHRyOwotICB9OwotCi0gIEJpbmRp
bmcucHJvdG90eXBlLmJpbmQgPSBmdW5jdGlvbihyZXF1ZXN0T3JIYW5kbGUpIHsKLSAgICB0aGlz
LmNsb3NlKCk7Ci0KLSAgICB2YXIgaGFuZGxlID0gcmVxdWVzdE9ySGFuZGxlIGluc3RhbmNlb2Yg
bW9qby5JbnRlcmZhY2VSZXF1ZXN0ID8KLSAgICAgICAgcmVxdWVzdE9ySGFuZGxlLmhhbmRsZSA6
IHJlcXVlc3RPckhhbmRsZTsKLSAgICBpZiAoIShoYW5kbGUgaW5zdGFuY2VvZiBNb2pvSGFuZGxl
KSkKLSAgICAgIHJldHVybjsKLQotICAgIHRoaXMucm91dGVyXyA9IG5ldyBpbnRlcm5hbC5Sb3V0
ZXIoaGFuZGxlKTsKLQotICAgIHRoaXMuc3R1Yl8gPSBuZXcgdGhpcy5pbnRlcmZhY2VUeXBlXy5z
dHViQ2xhc3ModGhpcy5pbXBsXyk7Ci0gICAgdGhpcy5pbnRlcmZhY2VFbmRwb2ludENsaWVudF8g
PSBuZXcgaW50ZXJuYWwuSW50ZXJmYWNlRW5kcG9pbnRDbGllbnQoCi0gICAgICAgIHRoaXMucm91
dGVyXy5jcmVhdGVMb2NhbEVuZHBvaW50SGFuZGxlKGludGVybmFsLmtNYXN0ZXJJbnRlcmZhY2VJ
ZCksCi0gICAgICAgIHRoaXMuc3R1Yl8sIHRoaXMuaW50ZXJmYWNlVHlwZV8ua1ZlcnNpb24pOwot
Ci0gICAgdGhpcy5pbnRlcmZhY2VFbmRwb2ludENsaWVudF8gLnNldFBheWxvYWRWYWxpZGF0b3Jz
KFsKLSAgICAgICAgdGhpcy5pbnRlcmZhY2VUeXBlXy52YWxpZGF0ZVJlcXVlc3RdKTsKLSAgfTsK
LQotICBCaW5kaW5nLnByb3RvdHlwZS5jbG9zZSA9IGZ1bmN0aW9uKCkgewotICAgIGlmICghdGhp
cy5pc0JvdW5kKCkpCi0gICAgICByZXR1cm47Ci0KLSAgICBpZiAodGhpcy5pbnRlcmZhY2VFbmRw
b2ludENsaWVudF8pIHsKLSAgICAgIHRoaXMuaW50ZXJmYWNlRW5kcG9pbnRDbGllbnRfLmNsb3Nl
KCk7Ci0gICAgICB0aGlzLmludGVyZmFjZUVuZHBvaW50Q2xpZW50XyA9IG51bGw7Ci0gICAgfQot
Ci0gICAgdGhpcy5yb3V0ZXJfLmNsb3NlKCk7Ci0gICAgdGhpcy5yb3V0ZXJfID0gbnVsbDsKLSAg
ICB0aGlzLnN0dWJfID0gbnVsbDsKLSAgfTsKLQotICBCaW5kaW5nLnByb3RvdHlwZS5jbG9zZVdp
dGhSZWFzb24gPSBmdW5jdGlvbihyZWFzb24pIHsKLSAgICBpZiAodGhpcy5pbnRlcmZhY2VFbmRw
b2ludENsaWVudF8pIHsKLSAgICAgIHRoaXMuaW50ZXJmYWNlRW5kcG9pbnRDbGllbnRfLmNsb3Nl
KHJlYXNvbik7Ci0gICAgICB0aGlzLmludGVyZmFjZUVuZHBvaW50Q2xpZW50XyA9IG51bGw7Ci0g
ICAgfQotICAgIHRoaXMuY2xvc2UoKTsKLSAgfTsKLQotICBCaW5kaW5nLnByb3RvdHlwZS5zZXRD
b25uZWN0aW9uRXJyb3JIYW5kbGVyID0gZnVuY3Rpb24oY2FsbGJhY2spIHsKLSAgICBpZiAoIXRo
aXMuaXNCb3VuZCgpKSB7Ci0gICAgICB0aHJvdyBuZXcgRXJyb3IoIkNhbm5vdCBzZXQgY29ubmVj
dGlvbiBlcnJvciBoYW5kbGVyIGlmIG5vdCBib3VuZC4iKTsKLSAgICB9Ci0gICAgdGhpcy5pbnRl
cmZhY2VFbmRwb2ludENsaWVudF8uc2V0Q29ubmVjdGlvbkVycm9ySGFuZGxlcihjYWxsYmFjayk7
Ci0gIH07Ci0KLSAgQmluZGluZy5wcm90b3R5cGUudW5iaW5kID0gZnVuY3Rpb24oKSB7Ci0gICAg
aWYgKCF0aGlzLmlzQm91bmQoKSkKLSAgICAgIHJldHVybiBuZXcgbW9qby5JbnRlcmZhY2VSZXF1
ZXN0KG51bGwpOwotCi0gICAgdmFyIHJlc3VsdCA9IG5ldyBtb2pvLkludGVyZmFjZVJlcXVlc3Qo
dGhpcy5yb3V0ZXJfLmNvbm5lY3Rvcl8uaGFuZGxlXyk7Ci0gICAgdGhpcy5yb3V0ZXJfLmNvbm5l
Y3Rvcl8uaGFuZGxlXyA9IG51bGw7Ci0gICAgdGhpcy5jbG9zZSgpOwotICAgIHJldHVybiByZXN1
bHQ7Ci0gIH07Ci0KLSAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0KLSAgZnVuY3Rpb24gQmluZGlu
Z1NldEVudHJ5KGJpbmRpbmdTZXQsIGludGVyZmFjZVR5cGUsIGJpbmRpbmdUeXBlLCBpbXBsLAot
ICAgICAgcmVxdWVzdE9ySGFuZGxlLCBiaW5kaW5nSWQpIHsKLSAgICB0aGlzLmJpbmRpbmdTZXRf
ID0gYmluZGluZ1NldDsKLSAgICB0aGlzLmJpbmRpbmdJZF8gPSBiaW5kaW5nSWQ7Ci0gICAgdGhp
cy5iaW5kaW5nXyA9IG5ldyBiaW5kaW5nVHlwZShpbnRlcmZhY2VUeXBlLCBpbXBsLAotICAgICAg
ICByZXF1ZXN0T3JIYW5kbGUpOwotCi0gICAgdGhpcy5iaW5kaW5nXy5zZXRDb25uZWN0aW9uRXJy
b3JIYW5kbGVyKGZ1bmN0aW9uKHJlYXNvbikgewotICAgICAgdGhpcy5iaW5kaW5nU2V0Xy5vbkNv
bm5lY3Rpb25FcnJvcihiaW5kaW5nSWQsIHJlYXNvbik7Ci0gICAgfS5iaW5kKHRoaXMpKTsKLSAg
fQotCi0gIEJpbmRpbmdTZXRFbnRyeS5wcm90b3R5cGUuY2xvc2UgPSBmdW5jdGlvbigpIHsKLSAg
ICB0aGlzLmJpbmRpbmdfLmNsb3NlKCk7Ci0gIH07Ci0KLSAgZnVuY3Rpb24gQmluZGluZ1NldChp
bnRlcmZhY2VUeXBlKSB7Ci0gICAgdGhpcy5pbnRlcmZhY2VUeXBlXyA9IGludGVyZmFjZVR5cGU7
Ci0gICAgdGhpcy5uZXh0QmluZGluZ0lkXyA9IDA7Ci0gICAgdGhpcy5iaW5kaW5nc18gPSBuZXcg
TWFwKCk7Ci0gICAgdGhpcy5lcnJvckhhbmRsZXJfID0gbnVsbDsKLSAgICB0aGlzLmJpbmRpbmdU
eXBlXyA9IEJpbmRpbmc7Ci0gIH0KLQotICBCaW5kaW5nU2V0LnByb3RvdHlwZS5pc0VtcHR5ID0g
ZnVuY3Rpb24oKSB7Ci0gICAgcmV0dXJuIHRoaXMuYmluZGluZ3NfLnNpemUgPT0gMDsKLSAgfTsK
LQotICBCaW5kaW5nU2V0LnByb3RvdHlwZS5hZGRCaW5kaW5nID0gZnVuY3Rpb24oaW1wbCwgcmVx
dWVzdE9ySGFuZGxlKSB7Ci0gICAgdGhpcy5iaW5kaW5nc18uc2V0KAotICAgICAgICB0aGlzLm5l
eHRCaW5kaW5nSWRfLAotICAgICAgICBuZXcgQmluZGluZ1NldEVudHJ5KHRoaXMsIHRoaXMuaW50
ZXJmYWNlVHlwZV8sIHRoaXMuYmluZGluZ1R5cGVfLCBpbXBsLAotICAgICAgICAgICAgcmVxdWVz
dE9ySGFuZGxlLCB0aGlzLm5leHRCaW5kaW5nSWRfKSk7Ci0gICAgKyt0aGlzLm5leHRCaW5kaW5n
SWRfOwotICB9OwotCi0gIEJpbmRpbmdTZXQucHJvdG90eXBlLmNsb3NlQWxsQmluZGluZ3MgPSBm
dW5jdGlvbigpIHsKLSAgICBmb3IgKHZhciBlbnRyeSBvZiB0aGlzLmJpbmRpbmdzXy52YWx1ZXMo
KSkKLSAgICAgIGVudHJ5LmNsb3NlKCk7Ci0gICAgdGhpcy5iaW5kaW5nc18uY2xlYXIoKTsKLSAg
fTsKLQotICBCaW5kaW5nU2V0LnByb3RvdHlwZS5zZXRDb25uZWN0aW9uRXJyb3JIYW5kbGVyID0g
ZnVuY3Rpb24oY2FsbGJhY2spIHsKLSAgICB0aGlzLmVycm9ySGFuZGxlcl8gPSBjYWxsYmFjazsK
LSAgfTsKLQotICBCaW5kaW5nU2V0LnByb3RvdHlwZS5vbkNvbm5lY3Rpb25FcnJvciA9IGZ1bmN0
aW9uKGJpbmRpbmdJZCwgcmVhc29uKSB7Ci0gICAgdGhpcy5iaW5kaW5nc18uZGVsZXRlKGJpbmRp
bmdJZCk7Ci0KLSAgICBpZiAodGhpcy5lcnJvckhhbmRsZXJfKQotICAgICAgdGhpcy5lcnJvckhh
bmRsZXJfKHJlYXNvbik7Ci0gIH07Ci0KLSAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0KLSAgLy8g
T3BlcmF0aW9ucyB1c2VkIHRvIHNldHVwL2NvbmZpZ3VyZSBhbiBhc3NvY2lhdGVkIGludGVyZmFj
ZSBwb2ludGVyLgotICAvLyBFeHBvc2VkIGFzIHxwdHJ8IGZpZWxkIG9mIGdlbmVyYXRlZCBhc3Nv
Y2lhdGVkIGludGVyZmFjZSBwb2ludGVyIGNsYXNzZXMuCi0gIC8vIHxhc3NvY2lhdGVkUHRySW5m
b3wgY291bGQgYmUgb21pdHRlZCBhbmQgcGFzc2VkIGludG8gYmluZCgpIGxhdGVyLgotICAvLwot
ICAvLyBFeGFtcGxlOgotICAvLyAgICAvLyBJbnRlZ2VyU2VuZGVySW1wbCBpbXBsZW1lbnRzIG1v
am9tLkludGVnZXJTZW5kZXIKLSAgLy8gICAgZnVuY3Rpb24gSW50ZWdlclNlbmRlckltcGwoKSB7
IC4uLiB9Ci0gIC8vICAgIEludGVnZXJTZW5kZXJJbXBsLnByb3RvdHlwZS5lY2hvID0gZnVuY3Rp
b24oKSB7IC4uLiB9Ci0gIC8vCi0gIC8vICAgIC8vIEludGVnZXJTZW5kZXJDb25uZWN0aW9uSW1w
bCBpbXBsZW1lbnRzIG1vam9tLkludGVnZXJTZW5kZXJDb25uZWN0aW9uCi0gIC8vICAgIGZ1bmN0
aW9uIEludGVnZXJTZW5kZXJDb25uZWN0aW9uSW1wbCgpIHsKLSAgLy8gICAgICB0aGlzLnNlbmRl
ckJpbmRpbmdfID0gbnVsbDsKLSAgLy8gICAgfQotICAvLyAgICBJbnRlZ2VyU2VuZGVyQ29ubmVj
dGlvbkltcGwucHJvdG90eXBlLmdldFNlbmRlciA9IGZ1bmN0aW9uKAotICAvLyAgICAgICAgYXNz
b2NpYXRlZFJlcXVlc3QpIHsKLSAgLy8gICAgICB0aGlzLnNlbmRlckJpbmRpbmdfID0gbmV3IEFz
c29jaWF0ZWRCaW5kaW5nKG1vam9tLkludGVnZXJTZW5kZXIsCi0gIC8vICAgICAgICAgIG5ldyBJ
bnRlZ2VyU2VuZGVySW1wbCgpLAotICAvLyAgICAgICAgICBhc3NvY2lhdGVkUmVxdWVzdCk7Ci0g
IC8vICAgIH0KLSAgLy8KLSAgLy8gICAgdmFyIGludGVnZXJTZW5kZXJDb25uZWN0aW9uID0gbmV3
IG1vam9tLkludGVnZXJTZW5kZXJDb25uZWN0aW9uUHRyKCk7Ci0gIC8vICAgIHZhciBpbnRlZ2Vy
U2VuZGVyQ29ubmVjdGlvbkJpbmRpbmcgPSBuZXcgQmluZGluZygKLSAgLy8gICAgICAgIG1vam9t
LkludGVnZXJTZW5kZXJDb25uZWN0aW9uLAotICAvLyAgICAgICAgbmV3IEludGVnZXJTZW5kZXJD
b25uZWN0aW9uSW1wbCgpLAotICAvLyAgICAgICAgbW9qby5tYWtlUmVxdWVzdChpbnRlZ2VyU2Vu
ZGVyQ29ubmVjdGlvbikpOwotICAvLwotICAvLyAgICAvLyBBIGxvY2FsbHktY3JlYXRlZCBhc3Nv
Y2lhdGVkIGludGVyZmFjZSBwb2ludGVyIGNhbiBvbmx5IGJlIHVzZWQgdG8KLSAgLy8gICAgLy8g
bWFrZSBjYWxscyB3aGVuIHRoZSBjb3JyZXNwb25kaW5nIGFzc29jaWF0ZWQgcmVxdWVzdCBpcyBz
ZW50IG92ZXIKLSAgLy8gICAgLy8gYW5vdGhlciBpbnRlcmZhY2UgKGVpdGhlciB0aGUgbWFzdGVy
IGludGVyZmFjZSBvciBhbm90aGVyCi0gIC8vICAgIC8vIGFzc29jaWF0ZWQgaW50ZXJmYWNlKS4K
LSAgLy8gICAgdmFyIGFzc29jaWF0ZWRJbnRlcmZhY2VQdHJJbmZvID0gbmV3IEFzc29jaWF0ZWRJ
bnRlcmZhY2VQdHJJbmZvKCk7Ci0gIC8vICAgIHZhciBhc3NvY2lhdGVkUmVxdWVzdCA9IG1ha2VS
ZXF1ZXN0KGludGVyZmFjZVB0ckluZm8pOwotICAvLwotICAvLyAgICBpbnRlZ2VyU2VuZGVyQ29u
bmVjdGlvbi5nZXRTZW5kZXIoYXNzb2NpYXRlZFJlcXVlc3QpOwotICAvLwotICAvLyAgICAvLyBD
cmVhdGUgYW4gYXNzb2NpYXRlZCBpbnRlcmZhY2UgYW5kIGJpbmQgdGhlIGFzc29jaWF0ZWQgaGFu
ZGxlLgotICAvLyAgICB2YXIgaW50ZWdlclNlbmRlciA9IG5ldyBtb2pvbS5Bc3NvY2lhdGVkSW50
ZWdlclNlbmRlclB0cigpOwotICAvLyAgICBpbnRlZ2VyU2VuZGVyLnB0ci5iaW5kKGFzc29jaWF0
ZWRJbnRlcmZhY2VQdHJJbmZvKTsKLSAgLy8gICAgaW50ZWdlclNlbmRlci5lY2hvKCk7Ci0KLSAg
ZnVuY3Rpb24gQXNzb2NpYXRlZEludGVyZmFjZVB0ckNvbnRyb2xsZXIoaW50ZXJmYWNlVHlwZSwg
YXNzb2NpYXRlZFB0ckluZm8pIHsKLSAgICB0aGlzLnZlcnNpb24gPSAwOwotCi0gICAgdGhpcy5p
bnRlcmZhY2VUeXBlXyA9IGludGVyZmFjZVR5cGU7Ci0gICAgdGhpcy5pbnRlcmZhY2VFbmRwb2lu
dENsaWVudF8gPSBudWxsOwotICAgIHRoaXMucHJveHlfID0gbnVsbDsKLQotICAgIGlmIChhc3Nv
Y2lhdGVkUHRySW5mbykgewotICAgICAgdGhpcy5iaW5kKGFzc29jaWF0ZWRQdHJJbmZvKTsKLSAg
ICB9Ci0gIH0KLQotICBBc3NvY2lhdGVkSW50ZXJmYWNlUHRyQ29udHJvbGxlci5wcm90b3R5cGUu
YmluZCA9IGZ1bmN0aW9uKAotICAgICAgYXNzb2NpYXRlZFB0ckluZm8pIHsKLSAgICB0aGlzLnJl
c2V0KCk7Ci0gICAgdGhpcy52ZXJzaW9uID0gYXNzb2NpYXRlZFB0ckluZm8udmVyc2lvbjsKLQot
ICAgIHRoaXMuaW50ZXJmYWNlRW5kcG9pbnRDbGllbnRfID0gbmV3IGludGVybmFsLkludGVyZmFj
ZUVuZHBvaW50Q2xpZW50KAotICAgICAgICBhc3NvY2lhdGVkUHRySW5mby5pbnRlcmZhY2VFbmRw
b2ludEhhbmRsZSk7Ci0KLSAgICB0aGlzLmludGVyZmFjZUVuZHBvaW50Q2xpZW50XyAuc2V0UGF5
bG9hZFZhbGlkYXRvcnMoWwotICAgICAgICB0aGlzLmludGVyZmFjZVR5cGVfLnZhbGlkYXRlUmVz
cG9uc2VdKTsKLSAgICB0aGlzLnByb3h5XyA9IG5ldyB0aGlzLmludGVyZmFjZVR5cGVfLnByb3h5
Q2xhc3MoCi0gICAgICAgIHRoaXMuaW50ZXJmYWNlRW5kcG9pbnRDbGllbnRfKTsKLSAgfTsKLQot
ICBBc3NvY2lhdGVkSW50ZXJmYWNlUHRyQ29udHJvbGxlci5wcm90b3R5cGUuaXNCb3VuZCA9IGZ1
bmN0aW9uKCkgewotICAgIHJldHVybiB0aGlzLmludGVyZmFjZUVuZHBvaW50Q2xpZW50XyAhPT0g
bnVsbDsKLSAgfTsKLQotICBBc3NvY2lhdGVkSW50ZXJmYWNlUHRyQ29udHJvbGxlci5wcm90b3R5
cGUucmVzZXQgPSBmdW5jdGlvbigpIHsKLSAgICB0aGlzLnZlcnNpb24gPSAwOwotICAgIGlmICh0
aGlzLmludGVyZmFjZUVuZHBvaW50Q2xpZW50XykgewotICAgICAgdGhpcy5pbnRlcmZhY2VFbmRw
b2ludENsaWVudF8uY2xvc2UoKTsKLSAgICAgIHRoaXMuaW50ZXJmYWNlRW5kcG9pbnRDbGllbnRf
ID0gbnVsbDsKLSAgICB9Ci0gICAgaWYgKHRoaXMucHJveHlfKSB7Ci0gICAgICB0aGlzLnByb3h5
XyA9IG51bGw7Ci0gICAgfQotICB9OwotCi0gIEFzc29jaWF0ZWRJbnRlcmZhY2VQdHJDb250cm9s
bGVyLnByb3RvdHlwZS5yZXNldFdpdGhSZWFzb24gPSBmdW5jdGlvbigKLSAgICAgIHJlYXNvbikg
ewotICAgIGlmICh0aGlzLmlzQm91bmQoKSkgewotICAgICAgdGhpcy5pbnRlcmZhY2VFbmRwb2lu
dENsaWVudF8uY2xvc2UocmVhc29uKTsKLSAgICAgIHRoaXMuaW50ZXJmYWNlRW5kcG9pbnRDbGll
bnRfID0gbnVsbDsKLSAgICB9Ci0gICAgdGhpcy5yZXNldCgpOwotICB9OwotCi0gIC8vIEluZGlj
YXRlcyB3aGV0aGVyIGFuIGVycm9yIGhhcyBiZWVuIGVuY291bnRlcmVkLiBJZiB0cnVlLCBtZXRo
b2QgY2FsbHMKLSAgLy8gb24gdGhpcyBpbnRlcmZhY2Ugd2lsbCBiZSBkcm9wcGVkIChhbmQgbWF5
IGFscmVhZHkgaGF2ZSBiZWVuIGRyb3BwZWQpLgotICBBc3NvY2lhdGVkSW50ZXJmYWNlUHRyQ29u
dHJvbGxlci5wcm90b3R5cGUuZ2V0RW5jb3VudGVyZWRFcnJvciA9IGZ1bmN0aW9uKCkgewotICAg
IHJldHVybiB0aGlzLmludGVyZmFjZUVuZHBvaW50Q2xpZW50XyA/Ci0gICAgICAgIHRoaXMuaW50
ZXJmYWNlRW5kcG9pbnRDbGllbnRfLmdldEVuY291bnRlcmVkRXJyb3IoKSA6IGZhbHNlOwotICB9
OwotCi0gIEFzc29jaWF0ZWRJbnRlcmZhY2VQdHJDb250cm9sbGVyLnByb3RvdHlwZS5zZXRDb25u
ZWN0aW9uRXJyb3JIYW5kbGVyID0KLSAgICAgIGZ1bmN0aW9uKGNhbGxiYWNrKSB7Ci0gICAgaWYg
KCF0aGlzLmlzQm91bmQoKSkgewotICAgICAgdGhyb3cgbmV3IEVycm9yKCJDYW5ub3Qgc2V0IGNv
bm5lY3Rpb24gZXJyb3IgaGFuZGxlciBpZiBub3QgYm91bmQuIik7Ci0gICAgfQotCi0gICAgdGhp
cy5pbnRlcmZhY2VFbmRwb2ludENsaWVudF8uc2V0Q29ubmVjdGlvbkVycm9ySGFuZGxlcihjYWxs
YmFjayk7Ci0gIH07Ci0KLSAgQXNzb2NpYXRlZEludGVyZmFjZVB0ckNvbnRyb2xsZXIucHJvdG90
eXBlLnBhc3NJbnRlcmZhY2UgPSBmdW5jdGlvbigpIHsKLSAgICBpZiAoIXRoaXMuaXNCb3VuZCgp
KSB7Ci0gICAgICByZXR1cm4gbmV3IG1vam8uQXNzb2NpYXRlZEludGVyZmFjZVB0ckluZm8obnVs
bCk7Ci0gICAgfQotCi0gICAgdmFyIHJlc3VsdCA9IG5ldyBtb2pvLkFzc29jaWF0ZWRJbnRlcmZh
Y2VQdHJJbmZvKAotICAgICAgICB0aGlzLmludGVyZmFjZUVuZHBvaW50Q2xpZW50Xy5wYXNzSGFu
ZGxlKCksIHRoaXMudmVyc2lvbik7Ci0gICAgdGhpcy5yZXNldCgpOwotICAgIHJldHVybiByZXN1
bHQ7Ci0gIH07Ci0KLSAgQXNzb2NpYXRlZEludGVyZmFjZVB0ckNvbnRyb2xsZXIucHJvdG90eXBl
LmdldFByb3h5ID0gZnVuY3Rpb24oKSB7Ci0gICAgcmV0dXJuIHRoaXMucHJveHlfOwotICB9Owot
Ci0gIEFzc29jaWF0ZWRJbnRlcmZhY2VQdHJDb250cm9sbGVyLnByb3RvdHlwZS5xdWVyeVZlcnNp
b24gPSBmdW5jdGlvbigpIHsKLSAgICBmdW5jdGlvbiBvblF1ZXJ5VmVyc2lvbih2ZXJzaW9uKSB7
Ci0gICAgICB0aGlzLnZlcnNpb24gPSB2ZXJzaW9uOwotICAgICAgcmV0dXJuIHZlcnNpb247Ci0g
ICAgfQotCi0gICAgcmV0dXJuIHRoaXMuaW50ZXJmYWNlRW5kcG9pbnRDbGllbnRfLnF1ZXJ5VmVy
c2lvbigpLnRoZW4oCi0gICAgICBvblF1ZXJ5VmVyc2lvbi5iaW5kKHRoaXMpKTsKLSAgfTsKLQot
ICBBc3NvY2lhdGVkSW50ZXJmYWNlUHRyQ29udHJvbGxlci5wcm90b3R5cGUucmVxdWlyZVZlcnNp
b24gPSBmdW5jdGlvbigKLSAgICAgIHZlcnNpb24pIHsKLSAgICBpZiAodGhpcy52ZXJzaW9uID49
IHZlcnNpb24pIHsKLSAgICAgIHJldHVybjsKLSAgICB9Ci0gICAgdGhpcy52ZXJzaW9uID0gdmVy
c2lvbjsKLSAgICB0aGlzLmludGVyZmFjZUVuZHBvaW50Q2xpZW50Xy5yZXF1aXJlVmVyc2lvbih2
ZXJzaW9uKTsKLSAgfTsKLQotICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLQotICAvLyB8YXNzb2Np
YXRlZEludGVyZmFjZVJlcXVlc3R8IGNvdWxkIGJlIG9taXR0ZWQgYW5kIHBhc3NlZCBpbnRvIGJp
bmQoKQotICAvLyBsYXRlci4KLSAgZnVuY3Rpb24gQXNzb2NpYXRlZEJpbmRpbmcoaW50ZXJmYWNl
VHlwZSwgaW1wbCwgYXNzb2NpYXRlZEludGVyZmFjZVJlcXVlc3QpIHsKLSAgICB0aGlzLmludGVy
ZmFjZVR5cGVfID0gaW50ZXJmYWNlVHlwZTsKLSAgICB0aGlzLmltcGxfID0gaW1wbDsKLSAgICB0
aGlzLmludGVyZmFjZUVuZHBvaW50Q2xpZW50XyA9IG51bGw7Ci0gICAgdGhpcy5zdHViXyA9IG51
bGw7Ci0KLSAgICBpZiAoYXNzb2NpYXRlZEludGVyZmFjZVJlcXVlc3QpIHsKLSAgICAgIHRoaXMu
YmluZChhc3NvY2lhdGVkSW50ZXJmYWNlUmVxdWVzdCk7Ci0gICAgfQotICB9Ci0KLSAgQXNzb2Np
YXRlZEJpbmRpbmcucHJvdG90eXBlLmlzQm91bmQgPSBmdW5jdGlvbigpIHsKLSAgICByZXR1cm4g
dGhpcy5pbnRlcmZhY2VFbmRwb2ludENsaWVudF8gIT09IG51bGw7Ci0gIH07Ci0KLSAgQXNzb2Np
YXRlZEJpbmRpbmcucHJvdG90eXBlLmJpbmQgPSBmdW5jdGlvbihhc3NvY2lhdGVkSW50ZXJmYWNl
UmVxdWVzdCkgewotICAgIHRoaXMuY2xvc2UoKTsKLQotICAgIHRoaXMuc3R1Yl8gPSBuZXcgdGhp
cy5pbnRlcmZhY2VUeXBlXy5zdHViQ2xhc3ModGhpcy5pbXBsXyk7Ci0gICAgdGhpcy5pbnRlcmZh
Y2VFbmRwb2ludENsaWVudF8gPSBuZXcgaW50ZXJuYWwuSW50ZXJmYWNlRW5kcG9pbnRDbGllbnQo
Ci0gICAgICAgIGFzc29jaWF0ZWRJbnRlcmZhY2VSZXF1ZXN0LmludGVyZmFjZUVuZHBvaW50SGFu
ZGxlLCB0aGlzLnN0dWJfLAotICAgICAgICB0aGlzLmludGVyZmFjZVR5cGVfLmtWZXJzaW9uKTsK
LQotICAgIHRoaXMuaW50ZXJmYWNlRW5kcG9pbnRDbGllbnRfIC5zZXRQYXlsb2FkVmFsaWRhdG9y
cyhbCi0gICAgICAgIHRoaXMuaW50ZXJmYWNlVHlwZV8udmFsaWRhdGVSZXF1ZXN0XSk7Ci0gIH07
Ci0KLQotICBBc3NvY2lhdGVkQmluZGluZy5wcm90b3R5cGUuY2xvc2UgPSBmdW5jdGlvbigpIHsK
LSAgICBpZiAoIXRoaXMuaXNCb3VuZCgpKSB7Ci0gICAgICByZXR1cm47Ci0gICAgfQotCi0gICAg
aWYgKHRoaXMuaW50ZXJmYWNlRW5kcG9pbnRDbGllbnRfKSB7Ci0gICAgICB0aGlzLmludGVyZmFj
ZUVuZHBvaW50Q2xpZW50Xy5jbG9zZSgpOwotICAgICAgdGhpcy5pbnRlcmZhY2VFbmRwb2ludENs
aWVudF8gPSBudWxsOwotICAgIH0KLQotICAgIHRoaXMuc3R1Yl8gPSBudWxsOwotICB9OwotCi0g
IEFzc29jaWF0ZWRCaW5kaW5nLnByb3RvdHlwZS5jbG9zZVdpdGhSZWFzb24gPSBmdW5jdGlvbihy
ZWFzb24pIHsKLSAgICBpZiAodGhpcy5pbnRlcmZhY2VFbmRwb2ludENsaWVudF8pIHsKLSAgICAg
IHRoaXMuaW50ZXJmYWNlRW5kcG9pbnRDbGllbnRfLmNsb3NlKHJlYXNvbik7Ci0gICAgICB0aGlz
LmludGVyZmFjZUVuZHBvaW50Q2xpZW50XyA9IG51bGw7Ci0gICAgfQotICAgIHRoaXMuY2xvc2Uo
KTsKLSAgfTsKLQotICBBc3NvY2lhdGVkQmluZGluZy5wcm90b3R5cGUuc2V0Q29ubmVjdGlvbkVy
cm9ySGFuZGxlciA9IGZ1bmN0aW9uKGNhbGxiYWNrKSB7Ci0gICAgaWYgKCF0aGlzLmlzQm91bmQo
KSkgewotICAgICAgdGhyb3cgbmV3IEVycm9yKCJDYW5ub3Qgc2V0IGNvbm5lY3Rpb24gZXJyb3Ig
aGFuZGxlciBpZiBub3QgYm91bmQuIik7Ci0gICAgfQotICAgIHRoaXMuaW50ZXJmYWNlRW5kcG9p
bnRDbGllbnRfLnNldENvbm5lY3Rpb25FcnJvckhhbmRsZXIoY2FsbGJhY2spOwotICB9OwotCi0g
IEFzc29jaWF0ZWRCaW5kaW5nLnByb3RvdHlwZS51bmJpbmQgPSBmdW5jdGlvbigpIHsKLSAgICBp
ZiAoIXRoaXMuaXNCb3VuZCgpKSB7Ci0gICAgICByZXR1cm4gbmV3IG1vam8uQXNzb2NpYXRlZElu
dGVyZmFjZVJlcXVlc3QobnVsbCk7Ci0gICAgfQotCi0gICAgdmFyIHJlc3VsdCA9IG5ldyBtb2pv
LkFzc29jaWF0ZWRJbnRlcmZhY2VSZXF1ZXN0KAotICAgICAgICB0aGlzLmludGVyZmFjZUVuZHBv
aW50Q2xpZW50Xy5wYXNzSGFuZGxlKCkpOwotICAgIHRoaXMuY2xvc2UoKTsKLSAgICByZXR1cm4g
cmVzdWx0OwotICB9OwotCi0gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotCi0gIGZ1bmN0aW9uIEFz
c29jaWF0ZWRCaW5kaW5nU2V0KGludGVyZmFjZVR5cGUpIHsKLSAgICBtb2pvLkJpbmRpbmdTZXQu
Y2FsbCh0aGlzLCBpbnRlcmZhY2VUeXBlKTsKLSAgICB0aGlzLmJpbmRpbmdUeXBlXyA9IEFzc29j
aWF0ZWRCaW5kaW5nOwotICB9Ci0KLSAgQXNzb2NpYXRlZEJpbmRpbmdTZXQucHJvdG90eXBlID0g
T2JqZWN0LmNyZWF0ZShCaW5kaW5nU2V0LnByb3RvdHlwZSk7Ci0gIEFzc29jaWF0ZWRCaW5kaW5n
U2V0LnByb3RvdHlwZS5jb25zdHJ1Y3RvciA9IEFzc29jaWF0ZWRCaW5kaW5nU2V0OwotCi0gIG1v
am8ubWFrZVJlcXVlc3QgPSBtYWtlUmVxdWVzdDsKLSAgbW9qby5Bc3NvY2lhdGVkSW50ZXJmYWNl
UHRyQ29udHJvbGxlciA9IEFzc29jaWF0ZWRJbnRlcmZhY2VQdHJDb250cm9sbGVyOwotICBtb2pv
LkFzc29jaWF0ZWRCaW5kaW5nID0gQXNzb2NpYXRlZEJpbmRpbmc7Ci0gIG1vam8uQXNzb2NpYXRl
ZEJpbmRpbmdTZXQgPSBBc3NvY2lhdGVkQmluZGluZ1NldDsKLSAgbW9qby5CaW5kaW5nID0gQmlu
ZGluZzsKLSAgbW9qby5CaW5kaW5nU2V0ID0gQmluZGluZ1NldDsKLSAgbW9qby5JbnRlcmZhY2VQ
dHJDb250cm9sbGVyID0gSW50ZXJmYWNlUHRyQ29udHJvbGxlcjsKLX0pKCk7Ci0vLyBDb3B5cmln
aHQgMjAxNCBUaGUgQ2hyb21pdW0gQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLS8vIFVz
ZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2Ug
dGhhdCBjYW4gYmUKLS8vIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCi0KLShmdW5jdGlvbigp
IHsKLSAgdmFyIGludGVybmFsID0gbW9qby5pbnRlcm5hbDsKLQotICB2YXIga0hvc3RJc0xpdHRs
ZUVuZGlhbiA9IChmdW5jdGlvbiAoKSB7Ci0gICAgdmFyIGVuZGlhbkFycmF5QnVmZmVyID0gbmV3
IEFycmF5QnVmZmVyKDIpOwotICAgIHZhciBlbmRpYW5VaW50OEFycmF5ID0gbmV3IFVpbnQ4QXJy
YXkoZW5kaWFuQXJyYXlCdWZmZXIpOwotICAgIHZhciBlbmRpYW5VaW50MTZBcnJheSA9IG5ldyBV
aW50MTZBcnJheShlbmRpYW5BcnJheUJ1ZmZlcik7Ci0gICAgZW5kaWFuVWludDE2QXJyYXlbMF0g
PSAxOwotICAgIHJldHVybiBlbmRpYW5VaW50OEFycmF5WzBdID09IDE7Ci0gIH0pKCk7Ci0KLSAg
dmFyIGtIaWdoV29yZE11bHRpcGxpZXIgPSAweDEwMDAwMDAwMDsKLQotICBmdW5jdGlvbiBCdWZm
ZXIoc2l6ZU9yQXJyYXlCdWZmZXIpIHsKLSAgICBpZiAoc2l6ZU9yQXJyYXlCdWZmZXIgaW5zdGFu
Y2VvZiBBcnJheUJ1ZmZlcikKLSAgICAgIHRoaXMuYXJyYXlCdWZmZXIgPSBzaXplT3JBcnJheUJ1
ZmZlcjsKLSAgICBlbHNlCi0gICAgICB0aGlzLmFycmF5QnVmZmVyID0gbmV3IEFycmF5QnVmZmVy
KHNpemVPckFycmF5QnVmZmVyKTsKLQotICAgIHRoaXMuZGF0YVZpZXcgPSBuZXcgRGF0YVZpZXco
dGhpcy5hcnJheUJ1ZmZlcik7Ci0gICAgdGhpcy5uZXh0ID0gMDsKLSAgfQotCi0gIE9iamVjdC5k
ZWZpbmVQcm9wZXJ0eShCdWZmZXIucHJvdG90eXBlLCAiYnl0ZUxlbmd0aCIsIHsKLSAgICBnZXQ6
IGZ1bmN0aW9uKCkgeyByZXR1cm4gdGhpcy5hcnJheUJ1ZmZlci5ieXRlTGVuZ3RoOyB9Ci0gIH0p
OwotCi0gIEJ1ZmZlci5wcm90b3R5cGUuYWxsb2MgPSBmdW5jdGlvbihzaXplKSB7Ci0gICAgdmFy
IHBvaW50ZXIgPSB0aGlzLm5leHQ7Ci0gICAgdGhpcy5uZXh0ICs9IHNpemU7Ci0gICAgaWYgKHRo
aXMubmV4dCA+IHRoaXMuYnl0ZUxlbmd0aCkgewotICAgICAgdmFyIG5ld1NpemUgPSAoMS41ICog
KHRoaXMuYnl0ZUxlbmd0aCArIHNpemUpKSB8IDA7Ci0gICAgICB0aGlzLmdyb3cobmV3U2l6ZSk7
Ci0gICAgfQotICAgIHJldHVybiBwb2ludGVyOwotICB9OwotCi0gIGZ1bmN0aW9uIGNvcHlBcnJh
eUJ1ZmZlcihkc3RBcnJheUJ1ZmZlciwgc3JjQXJyYXlCdWZmZXIpIHsKLSAgICAobmV3IFVpbnQ4
QXJyYXkoZHN0QXJyYXlCdWZmZXIpKS5zZXQobmV3IFVpbnQ4QXJyYXkoc3JjQXJyYXlCdWZmZXIp
KTsKLSAgfQotCi0gIEJ1ZmZlci5wcm90b3R5cGUuZ3JvdyA9IGZ1bmN0aW9uKHNpemUpIHsKLSAg
ICB2YXIgbmV3QXJyYXlCdWZmZXIgPSBuZXcgQXJyYXlCdWZmZXIoc2l6ZSk7Ci0gICAgY29weUFy
cmF5QnVmZmVyKG5ld0FycmF5QnVmZmVyLCB0aGlzLmFycmF5QnVmZmVyKTsKLSAgICB0aGlzLmFy
cmF5QnVmZmVyID0gbmV3QXJyYXlCdWZmZXI7Ci0gICAgdGhpcy5kYXRhVmlldyA9IG5ldyBEYXRh
Vmlldyh0aGlzLmFycmF5QnVmZmVyKTsKLSAgfTsKLQotICBCdWZmZXIucHJvdG90eXBlLnRyaW0g
PSBmdW5jdGlvbigpIHsKLSAgICB0aGlzLmFycmF5QnVmZmVyID0gdGhpcy5hcnJheUJ1ZmZlci5z
bGljZSgwLCB0aGlzLm5leHQpOwotICAgIHRoaXMuZGF0YVZpZXcgPSBuZXcgRGF0YVZpZXcodGhp
cy5hcnJheUJ1ZmZlcik7Ci0gIH07Ci0KLSAgQnVmZmVyLnByb3RvdHlwZS5nZXRVaW50OCA9IGZ1
bmN0aW9uKG9mZnNldCkgewotICAgIHJldHVybiB0aGlzLmRhdGFWaWV3LmdldFVpbnQ4KG9mZnNl
dCk7Ci0gIH0KLSAgQnVmZmVyLnByb3RvdHlwZS5nZXRVaW50MTYgPSBmdW5jdGlvbihvZmZzZXQp
IHsKLSAgICByZXR1cm4gdGhpcy5kYXRhVmlldy5nZXRVaW50MTYob2Zmc2V0LCBrSG9zdElzTGl0
dGxlRW5kaWFuKTsKLSAgfQotICBCdWZmZXIucHJvdG90eXBlLmdldFVpbnQzMiA9IGZ1bmN0aW9u
KG9mZnNldCkgewotICAgIHJldHVybiB0aGlzLmRhdGFWaWV3LmdldFVpbnQzMihvZmZzZXQsIGtI
b3N0SXNMaXR0bGVFbmRpYW4pOwotICB9Ci0gIEJ1ZmZlci5wcm90b3R5cGUuZ2V0VWludDY0ID0g
ZnVuY3Rpb24ob2Zmc2V0KSB7Ci0gICAgdmFyIGxvLCBoaTsKLSAgICBpZiAoa0hvc3RJc0xpdHRs
ZUVuZGlhbikgewotICAgICAgbG8gPSB0aGlzLmRhdGFWaWV3LmdldFVpbnQzMihvZmZzZXQsIGtI
b3N0SXNMaXR0bGVFbmRpYW4pOwotICAgICAgaGkgPSB0aGlzLmRhdGFWaWV3LmdldFVpbnQzMihv
ZmZzZXQgKyA0LCBrSG9zdElzTGl0dGxlRW5kaWFuKTsKLSAgICB9IGVsc2UgewotICAgICAgaGkg
PSB0aGlzLmRhdGFWaWV3LmdldFVpbnQzMihvZmZzZXQsIGtIb3N0SXNMaXR0bGVFbmRpYW4pOwot
ICAgICAgbG8gPSB0aGlzLmRhdGFWaWV3LmdldFVpbnQzMihvZmZzZXQgKyA0LCBrSG9zdElzTGl0
dGxlRW5kaWFuKTsKLSAgICB9Ci0gICAgcmV0dXJuIGxvICsgaGkgKiBrSGlnaFdvcmRNdWx0aXBs
aWVyOwotICB9Ci0KLSAgQnVmZmVyLnByb3RvdHlwZS5nZXRJbnQ4ID0gZnVuY3Rpb24ob2Zmc2V0
KSB7Ci0gICAgcmV0dXJuIHRoaXMuZGF0YVZpZXcuZ2V0SW50OChvZmZzZXQpOwotICB9Ci0gIEJ1
ZmZlci5wcm90b3R5cGUuZ2V0SW50MTYgPSBmdW5jdGlvbihvZmZzZXQpIHsKLSAgICByZXR1cm4g
dGhpcy5kYXRhVmlldy5nZXRJbnQxNihvZmZzZXQsIGtIb3N0SXNMaXR0bGVFbmRpYW4pOwotICB9
Ci0gIEJ1ZmZlci5wcm90b3R5cGUuZ2V0SW50MzIgPSBmdW5jdGlvbihvZmZzZXQpIHsKLSAgICBy
ZXR1cm4gdGhpcy5kYXRhVmlldy5nZXRJbnQzMihvZmZzZXQsIGtIb3N0SXNMaXR0bGVFbmRpYW4p
OwotICB9Ci0gIEJ1ZmZlci5wcm90b3R5cGUuZ2V0SW50NjQgPSBmdW5jdGlvbihvZmZzZXQpIHsK
LSAgICB2YXIgbG8sIGhpOwotICAgIGlmIChrSG9zdElzTGl0dGxlRW5kaWFuKSB7Ci0gICAgICBs
byA9IHRoaXMuZGF0YVZpZXcuZ2V0VWludDMyKG9mZnNldCwga0hvc3RJc0xpdHRsZUVuZGlhbik7
Ci0gICAgICBoaSA9IHRoaXMuZGF0YVZpZXcuZ2V0SW50MzIob2Zmc2V0ICsgNCwga0hvc3RJc0xp
dHRsZUVuZGlhbik7Ci0gICAgfSBlbHNlIHsKLSAgICAgIGhpID0gdGhpcy5kYXRhVmlldy5nZXRJ
bnQzMihvZmZzZXQsIGtIb3N0SXNMaXR0bGVFbmRpYW4pOwotICAgICAgbG8gPSB0aGlzLmRhdGFW
aWV3LmdldFVpbnQzMihvZmZzZXQgKyA0LCBrSG9zdElzTGl0dGxlRW5kaWFuKTsKLSAgICB9Ci0g
ICAgcmV0dXJuIGxvICsgaGkgKiBrSGlnaFdvcmRNdWx0aXBsaWVyOwotICB9Ci0KLSAgQnVmZmVy
LnByb3RvdHlwZS5nZXRGbG9hdDMyID0gZnVuY3Rpb24ob2Zmc2V0KSB7Ci0gICAgcmV0dXJuIHRo
aXMuZGF0YVZpZXcuZ2V0RmxvYXQzMihvZmZzZXQsIGtIb3N0SXNMaXR0bGVFbmRpYW4pOwotICB9
Ci0gIEJ1ZmZlci5wcm90b3R5cGUuZ2V0RmxvYXQ2NCA9IGZ1bmN0aW9uKG9mZnNldCkgewotICAg
IHJldHVybiB0aGlzLmRhdGFWaWV3LmdldEZsb2F0NjQob2Zmc2V0LCBrSG9zdElzTGl0dGxlRW5k
aWFuKTsKLSAgfQotCi0gIEJ1ZmZlci5wcm90b3R5cGUuc2V0VWludDggPSBmdW5jdGlvbihvZmZz
ZXQsIHZhbHVlKSB7Ci0gICAgdGhpcy5kYXRhVmlldy5zZXRVaW50OChvZmZzZXQsIHZhbHVlKTsK
LSAgfQotICBCdWZmZXIucHJvdG90eXBlLnNldFVpbnQxNiA9IGZ1bmN0aW9uKG9mZnNldCwgdmFs
dWUpIHsKLSAgICB0aGlzLmRhdGFWaWV3LnNldFVpbnQxNihvZmZzZXQsIHZhbHVlLCBrSG9zdElz
TGl0dGxlRW5kaWFuKTsKLSAgfQotICBCdWZmZXIucHJvdG90eXBlLnNldFVpbnQzMiA9IGZ1bmN0
aW9uKG9mZnNldCwgdmFsdWUpIHsKLSAgICB0aGlzLmRhdGFWaWV3LnNldFVpbnQzMihvZmZzZXQs
IHZhbHVlLCBrSG9zdElzTGl0dGxlRW5kaWFuKTsKLSAgfQotICBCdWZmZXIucHJvdG90eXBlLnNl
dFVpbnQ2NCA9IGZ1bmN0aW9uKG9mZnNldCwgdmFsdWUpIHsKLSAgICB2YXIgaGkgPSAodmFsdWUg
LyBrSGlnaFdvcmRNdWx0aXBsaWVyKSB8IDA7Ci0gICAgaWYgKGtIb3N0SXNMaXR0bGVFbmRpYW4p
IHsKLSAgICAgIHRoaXMuZGF0YVZpZXcuc2V0SW50MzIob2Zmc2V0LCB2YWx1ZSwga0hvc3RJc0xp
dHRsZUVuZGlhbik7Ci0gICAgICB0aGlzLmRhdGFWaWV3LnNldEludDMyKG9mZnNldCArIDQsIGhp
LCBrSG9zdElzTGl0dGxlRW5kaWFuKTsKLSAgICB9IGVsc2UgewotICAgICAgdGhpcy5kYXRhVmll
dy5zZXRJbnQzMihvZmZzZXQsIGhpLCBrSG9zdElzTGl0dGxlRW5kaWFuKTsKLSAgICAgIHRoaXMu
ZGF0YVZpZXcuc2V0SW50MzIob2Zmc2V0ICsgNCwgdmFsdWUsIGtIb3N0SXNMaXR0bGVFbmRpYW4p
OwotICAgIH0KLSAgfQotCi0gIEJ1ZmZlci5wcm90b3R5cGUuc2V0SW50OCA9IGZ1bmN0aW9uKG9m
ZnNldCwgdmFsdWUpIHsKLSAgICB0aGlzLmRhdGFWaWV3LnNldEludDgob2Zmc2V0LCB2YWx1ZSk7
Ci0gIH0KLSAgQnVmZmVyLnByb3RvdHlwZS5zZXRJbnQxNiA9IGZ1bmN0aW9uKG9mZnNldCwgdmFs
dWUpIHsKLSAgICB0aGlzLmRhdGFWaWV3LnNldEludDE2KG9mZnNldCwgdmFsdWUsIGtIb3N0SXNM
aXR0bGVFbmRpYW4pOwotICB9Ci0gIEJ1ZmZlci5wcm90b3R5cGUuc2V0SW50MzIgPSBmdW5jdGlv
bihvZmZzZXQsIHZhbHVlKSB7Ci0gICAgdGhpcy5kYXRhVmlldy5zZXRJbnQzMihvZmZzZXQsIHZh
bHVlLCBrSG9zdElzTGl0dGxlRW5kaWFuKTsKLSAgfQotICBCdWZmZXIucHJvdG90eXBlLnNldElu
dDY0ID0gZnVuY3Rpb24ob2Zmc2V0LCB2YWx1ZSkgewotICAgIHZhciBoaSA9IE1hdGguZmxvb3Io
dmFsdWUgLyBrSGlnaFdvcmRNdWx0aXBsaWVyKTsKLSAgICBpZiAoa0hvc3RJc0xpdHRsZUVuZGlh
bikgewotICAgICAgdGhpcy5kYXRhVmlldy5zZXRJbnQzMihvZmZzZXQsIHZhbHVlLCBrSG9zdElz
TGl0dGxlRW5kaWFuKTsKLSAgICAgIHRoaXMuZGF0YVZpZXcuc2V0SW50MzIob2Zmc2V0ICsgNCwg
aGksIGtIb3N0SXNMaXR0bGVFbmRpYW4pOwotICAgIH0gZWxzZSB7Ci0gICAgICB0aGlzLmRhdGFW
aWV3LnNldEludDMyKG9mZnNldCwgaGksIGtIb3N0SXNMaXR0bGVFbmRpYW4pOwotICAgICAgdGhp
cy5kYXRhVmlldy5zZXRJbnQzMihvZmZzZXQgKyA0LCB2YWx1ZSwga0hvc3RJc0xpdHRsZUVuZGlh
bik7Ci0gICAgfQotICB9Ci0KLSAgQnVmZmVyLnByb3RvdHlwZS5zZXRGbG9hdDMyID0gZnVuY3Rp
b24ob2Zmc2V0LCB2YWx1ZSkgewotICAgIHRoaXMuZGF0YVZpZXcuc2V0RmxvYXQzMihvZmZzZXQs
IHZhbHVlLCBrSG9zdElzTGl0dGxlRW5kaWFuKTsKLSAgfQotICBCdWZmZXIucHJvdG90eXBlLnNl
dEZsb2F0NjQgPSBmdW5jdGlvbihvZmZzZXQsIHZhbHVlKSB7Ci0gICAgdGhpcy5kYXRhVmlldy5z
ZXRGbG9hdDY0KG9mZnNldCwgdmFsdWUsIGtIb3N0SXNMaXR0bGVFbmRpYW4pOwotICB9Ci0KLSAg
aW50ZXJuYWwuQnVmZmVyID0gQnVmZmVyOwotfSkoKTsKLS8vIENvcHlyaWdodCAyMDE0IFRoZSBD
aHJvbWl1bSBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotLy8gVXNlIG9mIHRoaXMgc291
cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQot
Ly8gZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KLQotKGZ1bmN0aW9uKCkgewotICB2YXIgaW50
ZXJuYWwgPSBtb2pvLmludGVybmFsOwotCi0gIHZhciBrRXJyb3JVbnNpZ25lZCA9ICJQYXNzaW5n
IG5lZ2F0aXZlIHZhbHVlIHRvIHVuc2lnbmVkIjsKLSAgdmFyIGtFcnJvckFycmF5ID0gIlBhc3Np
bmcgbm9uIEFycmF5IGZvciBhcnJheSB0eXBlIjsKLSAgdmFyIGtFcnJvclN0cmluZyA9ICJQYXNz
aW5nIG5vbiBTdHJpbmcgZm9yIHN0cmluZyB0eXBlIjsKLSAgdmFyIGtFcnJvck1hcCA9ICJQYXNz
aW5nIG5vbiBNYXAgZm9yIG1hcCB0eXBlIjsKLQotICAvLyBNZW1vcnkgLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotCi0g
IHZhciBrQWxpZ25tZW50ID0gODsKLQotICBmdW5jdGlvbiBhbGlnbihzaXplKSB7Ci0gICAgcmV0
dXJuIHNpemUgKyAoa0FsaWdubWVudCAtIChzaXplICUga0FsaWdubWVudCkpICUga0FsaWdubWVu
dDsKLSAgfQotCi0gIGZ1bmN0aW9uIGlzQWxpZ25lZChvZmZzZXQpIHsKLSAgICByZXR1cm4gb2Zm
c2V0ID49IDAgJiYgKG9mZnNldCAlIGtBbGlnbm1lbnQpID09PSAwOwotICB9Ci0KLSAgLy8gQ29u
c3RhbnRzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0KLQotICB2YXIga0FycmF5SGVhZGVyU2l6ZSA9IDg7Ci0gIHZhciBrU3Ry
dWN0SGVhZGVyU2l6ZSA9IDg7Ci0gIHZhciBrTWVzc2FnZVYwSGVhZGVyU2l6ZSA9IDI0OwotICB2
YXIga01lc3NhZ2VWMUhlYWRlclNpemUgPSAzMjsKLSAgdmFyIGtNZXNzYWdlVjJIZWFkZXJTaXpl
ID0gNDg7Ci0gIHZhciBrTWFwU3RydWN0UGF5bG9hZFNpemUgPSAxNjsKLQotICB2YXIga1N0cnVj
dEhlYWRlck51bUJ5dGVzT2Zmc2V0ID0gMDsKLSAgdmFyIGtTdHJ1Y3RIZWFkZXJWZXJzaW9uT2Zm
c2V0ID0gNDsKLQotICB2YXIga0VuY29kZWRJbnZhbGlkSGFuZGxlVmFsdWUgPSAweEZGRkZGRkZG
OwotCi0gIC8vIERlY29kZXIgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0KLSAgZnVuY3Rpb24gRGVjb2RlcihidWZmZXIs
IGhhbmRsZXMsIGFzc29jaWF0ZWRFbmRwb2ludEhhbmRsZXMsIGJhc2UpIHsKLSAgICB0aGlzLmJ1
ZmZlciA9IGJ1ZmZlcjsKLSAgICB0aGlzLmhhbmRsZXMgPSBoYW5kbGVzOwotICAgIHRoaXMuYXNz
b2NpYXRlZEVuZHBvaW50SGFuZGxlcyA9IGFzc29jaWF0ZWRFbmRwb2ludEhhbmRsZXM7Ci0gICAg
dGhpcy5iYXNlID0gYmFzZTsKLSAgICB0aGlzLm5leHQgPSBiYXNlOwotICB9Ci0KLSAgRGVjb2Rl
ci5wcm90b3R5cGUuYWxpZ24gPSBmdW5jdGlvbigpIHsKLSAgICB0aGlzLm5leHQgPSBhbGlnbih0
aGlzLm5leHQpOwotICB9OwotCi0gIERlY29kZXIucHJvdG90eXBlLnNraXAgPSBmdW5jdGlvbihv
ZmZzZXQpIHsKLSAgICB0aGlzLm5leHQgKz0gb2Zmc2V0OwotICB9OwotCi0gIERlY29kZXIucHJv
dG90eXBlLnJlYWRJbnQ4ID0gZnVuY3Rpb24oKSB7Ci0gICAgdmFyIHJlc3VsdCA9IHRoaXMuYnVm
ZmVyLmdldEludDgodGhpcy5uZXh0KTsKLSAgICB0aGlzLm5leHQgKz0gMTsKLSAgICByZXR1cm4g
cmVzdWx0OwotICB9OwotCi0gIERlY29kZXIucHJvdG90eXBlLnJlYWRVaW50OCA9IGZ1bmN0aW9u
KCkgewotICAgIHZhciByZXN1bHQgPSB0aGlzLmJ1ZmZlci5nZXRVaW50OCh0aGlzLm5leHQpOwot
ICAgIHRoaXMubmV4dCArPSAxOwotICAgIHJldHVybiByZXN1bHQ7Ci0gIH07Ci0KLSAgRGVjb2Rl
ci5wcm90b3R5cGUucmVhZEludDE2ID0gZnVuY3Rpb24oKSB7Ci0gICAgdmFyIHJlc3VsdCA9IHRo
aXMuYnVmZmVyLmdldEludDE2KHRoaXMubmV4dCk7Ci0gICAgdGhpcy5uZXh0ICs9IDI7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLSAgfTsKLQotICBEZWNvZGVyLnByb3RvdHlwZS5yZWFkVWludDE2ID0g
ZnVuY3Rpb24oKSB7Ci0gICAgdmFyIHJlc3VsdCA9IHRoaXMuYnVmZmVyLmdldFVpbnQxNih0aGlz
Lm5leHQpOwotICAgIHRoaXMubmV4dCArPSAyOwotICAgIHJldHVybiByZXN1bHQ7Ci0gIH07Ci0K
LSAgRGVjb2Rlci5wcm90b3R5cGUucmVhZEludDMyID0gZnVuY3Rpb24oKSB7Ci0gICAgdmFyIHJl
c3VsdCA9IHRoaXMuYnVmZmVyLmdldEludDMyKHRoaXMubmV4dCk7Ci0gICAgdGhpcy5uZXh0ICs9
IDQ7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLSAgfTsKLQotICBEZWNvZGVyLnByb3RvdHlwZS5yZWFk
VWludDMyID0gZnVuY3Rpb24oKSB7Ci0gICAgdmFyIHJlc3VsdCA9IHRoaXMuYnVmZmVyLmdldFVp
bnQzMih0aGlzLm5leHQpOwotICAgIHRoaXMubmV4dCArPSA0OwotICAgIHJldHVybiByZXN1bHQ7
Ci0gIH07Ci0KLSAgRGVjb2Rlci5wcm90b3R5cGUucmVhZEludDY0ID0gZnVuY3Rpb24oKSB7Ci0g
ICAgdmFyIHJlc3VsdCA9IHRoaXMuYnVmZmVyLmdldEludDY0KHRoaXMubmV4dCk7Ci0gICAgdGhp
cy5uZXh0ICs9IDg7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLSAgfTsKLQotICBEZWNvZGVyLnByb3Rv
dHlwZS5yZWFkVWludDY0ID0gZnVuY3Rpb24oKSB7Ci0gICAgdmFyIHJlc3VsdCA9IHRoaXMuYnVm
ZmVyLmdldFVpbnQ2NCh0aGlzLm5leHQpOwotICAgIHRoaXMubmV4dCArPSA4OwotICAgIHJldHVy
biByZXN1bHQ7Ci0gIH07Ci0KLSAgRGVjb2Rlci5wcm90b3R5cGUucmVhZEZsb2F0ID0gZnVuY3Rp
b24oKSB7Ci0gICAgdmFyIHJlc3VsdCA9IHRoaXMuYnVmZmVyLmdldEZsb2F0MzIodGhpcy5uZXh0
KTsKLSAgICB0aGlzLm5leHQgKz0gNDsKLSAgICByZXR1cm4gcmVzdWx0OwotICB9OwotCi0gIERl
Y29kZXIucHJvdG90eXBlLnJlYWREb3VibGUgPSBmdW5jdGlvbigpIHsKLSAgICB2YXIgcmVzdWx0
ID0gdGhpcy5idWZmZXIuZ2V0RmxvYXQ2NCh0aGlzLm5leHQpOwotICAgIHRoaXMubmV4dCArPSA4
OwotICAgIHJldHVybiByZXN1bHQ7Ci0gIH07Ci0KLSAgRGVjb2Rlci5wcm90b3R5cGUuZGVjb2Rl
UG9pbnRlciA9IGZ1bmN0aW9uKCkgewotICAgIC8vIFRPRE8oYWJhcnRoKTogVG8gY29ycmVjdGx5
IGRlY29kZSBhIHBvaW50ZXIsIHdlIG5lZWQgdG8ga25vdyB0aGUgcmVhbAotICAgIC8vIGJhc2Ug
YWRkcmVzcyBvZiB0aGUgYXJyYXkgYnVmZmVyLgotICAgIHZhciBvZmZzZXRQb2ludGVyID0gdGhp
cy5uZXh0OwotICAgIHZhciBvZmZzZXQgPSB0aGlzLnJlYWRVaW50NjQoKTsKLSAgICBpZiAoIW9m
ZnNldCkKLSAgICAgIHJldHVybiAwOwotICAgIHJldHVybiBvZmZzZXRQb2ludGVyICsgb2Zmc2V0
OwotICB9OwotCi0gIERlY29kZXIucHJvdG90eXBlLmRlY29kZUFuZENyZWF0ZURlY29kZXIgPSBm
dW5jdGlvbihwb2ludGVyKSB7Ci0gICAgcmV0dXJuIG5ldyBEZWNvZGVyKHRoaXMuYnVmZmVyLCB0
aGlzLmhhbmRsZXMsCi0gICAgICAgIHRoaXMuYXNzb2NpYXRlZEVuZHBvaW50SGFuZGxlcywgcG9p
bnRlcik7Ci0gIH07Ci0KLSAgRGVjb2Rlci5wcm90b3R5cGUuZGVjb2RlSGFuZGxlID0gZnVuY3Rp
b24oKSB7Ci0gICAgcmV0dXJuIHRoaXMuaGFuZGxlc1t0aGlzLnJlYWRVaW50MzIoKV0gfHwgbnVs
bDsKLSAgfTsKLQotICBEZWNvZGVyLnByb3RvdHlwZS5kZWNvZGVBc3NvY2lhdGVkRW5kcG9pbnRI
YW5kbGUgPSBmdW5jdGlvbigpIHsKLSAgICByZXR1cm4gdGhpcy5hc3NvY2lhdGVkRW5kcG9pbnRI
YW5kbGVzW3RoaXMucmVhZFVpbnQzMigpXSB8fCBudWxsOwotICB9OwotCi0gIERlY29kZXIucHJv
dG90eXBlLmRlY29kZVN0cmluZyA9IGZ1bmN0aW9uKCkgewotICAgIHZhciBudW1iZXJPZkJ5dGVz
ID0gdGhpcy5yZWFkVWludDMyKCk7Ci0gICAgdmFyIG51bWJlck9mRWxlbWVudHMgPSB0aGlzLnJl
YWRVaW50MzIoKTsKLSAgICB2YXIgYmFzZSA9IHRoaXMubmV4dDsKLSAgICB0aGlzLm5leHQgKz0g
bnVtYmVyT2ZFbGVtZW50czsKLSAgICByZXR1cm4gaW50ZXJuYWwuZGVjb2RlVXRmOFN0cmluZygK
LSAgICAgICAgbmV3IFVpbnQ4QXJyYXkodGhpcy5idWZmZXIuYXJyYXlCdWZmZXIsIGJhc2UsIG51
bWJlck9mRWxlbWVudHMpKTsKLSAgfTsKLQotICBEZWNvZGVyLnByb3RvdHlwZS5kZWNvZGVBcnJh
eSA9IGZ1bmN0aW9uKGNscykgewotICAgIHZhciBudW1iZXJPZkJ5dGVzID0gdGhpcy5yZWFkVWlu
dDMyKCk7Ci0gICAgdmFyIG51bWJlck9mRWxlbWVudHMgPSB0aGlzLnJlYWRVaW50MzIoKTsKLSAg
ICB2YXIgdmFsID0gbmV3IEFycmF5KG51bWJlck9mRWxlbWVudHMpOwotICAgIGlmIChjbHMgPT09
IFBhY2tlZEJvb2wpIHsKLSAgICAgIHZhciBieXRlOwotICAgICAgZm9yICh2YXIgaSA9IDA7IGkg
PCBudW1iZXJPZkVsZW1lbnRzOyArK2kpIHsKLSAgICAgICAgaWYgKGkgJSA4ID09PSAwKQotICAg
ICAgICAgIGJ5dGUgPSB0aGlzLnJlYWRVaW50OCgpOwotICAgICAgICB2YWxbaV0gPSAoYnl0ZSAm
ICgxIDw8IGkgJSA4KSkgPyB0cnVlIDogZmFsc2U7Ci0gICAgICB9Ci0gICAgfSBlbHNlIHsKLSAg
ICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbnVtYmVyT2ZFbGVtZW50czsgKytpKSB7Ci0gICAgICAg
IHZhbFtpXSA9IGNscy5kZWNvZGUodGhpcyk7Ci0gICAgICB9Ci0gICAgfQotICAgIHJldHVybiB2
YWw7Ci0gIH07Ci0KLSAgRGVjb2Rlci5wcm90b3R5cGUuZGVjb2RlU3RydWN0ID0gZnVuY3Rpb24o
Y2xzKSB7Ci0gICAgcmV0dXJuIGNscy5kZWNvZGUodGhpcyk7Ci0gIH07Ci0KLSAgRGVjb2Rlci5w
cm90b3R5cGUuZGVjb2RlU3RydWN0UG9pbnRlciA9IGZ1bmN0aW9uKGNscykgewotICAgIHZhciBw
b2ludGVyID0gdGhpcy5kZWNvZGVQb2ludGVyKCk7Ci0gICAgaWYgKCFwb2ludGVyKSB7Ci0gICAg
ICByZXR1cm4gbnVsbDsKLSAgICB9Ci0gICAgcmV0dXJuIGNscy5kZWNvZGUodGhpcy5kZWNvZGVB
bmRDcmVhdGVEZWNvZGVyKHBvaW50ZXIpKTsKLSAgfTsKLQotICBEZWNvZGVyLnByb3RvdHlwZS5k
ZWNvZGVBcnJheVBvaW50ZXIgPSBmdW5jdGlvbihjbHMpIHsKLSAgICB2YXIgcG9pbnRlciA9IHRo
aXMuZGVjb2RlUG9pbnRlcigpOwotICAgIGlmICghcG9pbnRlcikgewotICAgICAgcmV0dXJuIG51
bGw7Ci0gICAgfQotICAgIHJldHVybiB0aGlzLmRlY29kZUFuZENyZWF0ZURlY29kZXIocG9pbnRl
cikuZGVjb2RlQXJyYXkoY2xzKTsKLSAgfTsKLQotICBEZWNvZGVyLnByb3RvdHlwZS5kZWNvZGVT
dHJpbmdQb2ludGVyID0gZnVuY3Rpb24oKSB7Ci0gICAgdmFyIHBvaW50ZXIgPSB0aGlzLmRlY29k
ZVBvaW50ZXIoKTsKLSAgICBpZiAoIXBvaW50ZXIpIHsKLSAgICAgIHJldHVybiBudWxsOwotICAg
IH0KLSAgICByZXR1cm4gdGhpcy5kZWNvZGVBbmRDcmVhdGVEZWNvZGVyKHBvaW50ZXIpLmRlY29k
ZVN0cmluZygpOwotICB9OwotCi0gIERlY29kZXIucHJvdG90eXBlLmRlY29kZU1hcCA9IGZ1bmN0
aW9uKGtleUNsYXNzLCB2YWx1ZUNsYXNzKSB7Ci0gICAgdGhpcy5za2lwKDQpOyAvLyBudW1iZXJP
ZkJ5dGVzCi0gICAgdGhpcy5za2lwKDQpOyAvLyB2ZXJzaW9uCi0gICAgdmFyIGtleXMgPSB0aGlz
LmRlY29kZUFycmF5UG9pbnRlcihrZXlDbGFzcyk7Ci0gICAgdmFyIHZhbHVlcyA9IHRoaXMuZGVj
b2RlQXJyYXlQb2ludGVyKHZhbHVlQ2xhc3MpOwotICAgIHZhciB2YWwgPSBuZXcgTWFwKCk7Ci0g
ICAgZm9yICh2YXIgaSA9IDA7IGkgPCBrZXlzLmxlbmd0aDsgaSsrKQotICAgICAgdmFsLnNldChr
ZXlzW2ldLCB2YWx1ZXNbaV0pOwotICAgIHJldHVybiB2YWw7Ci0gIH07Ci0KLSAgRGVjb2Rlci5w
cm90b3R5cGUuZGVjb2RlTWFwUG9pbnRlciA9IGZ1bmN0aW9uKGtleUNsYXNzLCB2YWx1ZUNsYXNz
KSB7Ci0gICAgdmFyIHBvaW50ZXIgPSB0aGlzLmRlY29kZVBvaW50ZXIoKTsKLSAgICBpZiAoIXBv
aW50ZXIpIHsKLSAgICAgIHJldHVybiBudWxsOwotICAgIH0KLSAgICB2YXIgZGVjb2RlciA9IHRo
aXMuZGVjb2RlQW5kQ3JlYXRlRGVjb2Rlcihwb2ludGVyKTsKLSAgICByZXR1cm4gZGVjb2Rlci5k
ZWNvZGVNYXAoa2V5Q2xhc3MsIHZhbHVlQ2xhc3MpOwotICB9OwotCi0gIC8vIEVuY29kZXIgLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tCi0KLSAgZnVuY3Rpb24gRW5jb2RlcihidWZmZXIsIGhhbmRsZXMsIGFzc29jaWF0ZWRF
bmRwb2ludEhhbmRsZXMsIGJhc2UpIHsKLSAgICB0aGlzLmJ1ZmZlciA9IGJ1ZmZlcjsKLSAgICB0
aGlzLmhhbmRsZXMgPSBoYW5kbGVzOwotICAgIHRoaXMuYXNzb2NpYXRlZEVuZHBvaW50SGFuZGxl
cyA9IGFzc29jaWF0ZWRFbmRwb2ludEhhbmRsZXM7Ci0gICAgdGhpcy5iYXNlID0gYmFzZTsKLSAg
ICB0aGlzLm5leHQgPSBiYXNlOwotICB9Ci0KLSAgRW5jb2Rlci5wcm90b3R5cGUuYWxpZ24gPSBm
dW5jdGlvbigpIHsKLSAgICB0aGlzLm5leHQgPSBhbGlnbih0aGlzLm5leHQpOwotICB9OwotCi0g
IEVuY29kZXIucHJvdG90eXBlLnNraXAgPSBmdW5jdGlvbihvZmZzZXQpIHsKLSAgICB0aGlzLm5l
eHQgKz0gb2Zmc2V0OwotICB9OwotCi0gIEVuY29kZXIucHJvdG90eXBlLndyaXRlSW50OCA9IGZ1
bmN0aW9uKHZhbCkgewotICAgIHRoaXMuYnVmZmVyLnNldEludDgodGhpcy5uZXh0LCB2YWwpOwot
ICAgIHRoaXMubmV4dCArPSAxOwotICB9OwotCi0gIEVuY29kZXIucHJvdG90eXBlLndyaXRlVWlu
dDggPSBmdW5jdGlvbih2YWwpIHsKLSAgICBpZiAodmFsIDwgMCkgewotICAgICAgdGhyb3cgbmV3
IEVycm9yKGtFcnJvclVuc2lnbmVkKTsKLSAgICB9Ci0gICAgdGhpcy5idWZmZXIuc2V0VWludDgo
dGhpcy5uZXh0LCB2YWwpOwotICAgIHRoaXMubmV4dCArPSAxOwotICB9OwotCi0gIEVuY29kZXIu
cHJvdG90eXBlLndyaXRlSW50MTYgPSBmdW5jdGlvbih2YWwpIHsKLSAgICB0aGlzLmJ1ZmZlci5z
ZXRJbnQxNih0aGlzLm5leHQsIHZhbCk7Ci0gICAgdGhpcy5uZXh0ICs9IDI7Ci0gIH07Ci0KLSAg
RW5jb2Rlci5wcm90b3R5cGUud3JpdGVVaW50MTYgPSBmdW5jdGlvbih2YWwpIHsKLSAgICBpZiAo
dmFsIDwgMCkgewotICAgICAgdGhyb3cgbmV3IEVycm9yKGtFcnJvclVuc2lnbmVkKTsKLSAgICB9
Ci0gICAgdGhpcy5idWZmZXIuc2V0VWludDE2KHRoaXMubmV4dCwgdmFsKTsKLSAgICB0aGlzLm5l
eHQgKz0gMjsKLSAgfTsKLQotICBFbmNvZGVyLnByb3RvdHlwZS53cml0ZUludDMyID0gZnVuY3Rp
b24odmFsKSB7Ci0gICAgdGhpcy5idWZmZXIuc2V0SW50MzIodGhpcy5uZXh0LCB2YWwpOwotICAg
IHRoaXMubmV4dCArPSA0OwotICB9OwotCi0gIEVuY29kZXIucHJvdG90eXBlLndyaXRlVWludDMy
ID0gZnVuY3Rpb24odmFsKSB7Ci0gICAgaWYgKHZhbCA8IDApIHsKLSAgICAgIHRocm93IG5ldyBF
cnJvcihrRXJyb3JVbnNpZ25lZCk7Ci0gICAgfQotICAgIHRoaXMuYnVmZmVyLnNldFVpbnQzMih0
aGlzLm5leHQsIHZhbCk7Ci0gICAgdGhpcy5uZXh0ICs9IDQ7Ci0gIH07Ci0KLSAgRW5jb2Rlci5w
cm90b3R5cGUud3JpdGVJbnQ2NCA9IGZ1bmN0aW9uKHZhbCkgewotICAgIHRoaXMuYnVmZmVyLnNl
dEludDY0KHRoaXMubmV4dCwgdmFsKTsKLSAgICB0aGlzLm5leHQgKz0gODsKLSAgfTsKLQotICBF
bmNvZGVyLnByb3RvdHlwZS53cml0ZVVpbnQ2NCA9IGZ1bmN0aW9uKHZhbCkgewotICAgIGlmICh2
YWwgPCAwKSB7Ci0gICAgICB0aHJvdyBuZXcgRXJyb3Ioa0Vycm9yVW5zaWduZWQpOwotICAgIH0K
LSAgICB0aGlzLmJ1ZmZlci5zZXRVaW50NjQodGhpcy5uZXh0LCB2YWwpOwotICAgIHRoaXMubmV4
dCArPSA4OwotICB9OwotCi0gIEVuY29kZXIucHJvdG90eXBlLndyaXRlRmxvYXQgPSBmdW5jdGlv
bih2YWwpIHsKLSAgICB0aGlzLmJ1ZmZlci5zZXRGbG9hdDMyKHRoaXMubmV4dCwgdmFsKTsKLSAg
ICB0aGlzLm5leHQgKz0gNDsKLSAgfTsKLQotICBFbmNvZGVyLnByb3RvdHlwZS53cml0ZURvdWJs
ZSA9IGZ1bmN0aW9uKHZhbCkgewotICAgIHRoaXMuYnVmZmVyLnNldEZsb2F0NjQodGhpcy5uZXh0
LCB2YWwpOwotICAgIHRoaXMubmV4dCArPSA4OwotICB9OwotCi0gIEVuY29kZXIucHJvdG90eXBl
LmVuY29kZVBvaW50ZXIgPSBmdW5jdGlvbihwb2ludGVyKSB7Ci0gICAgaWYgKCFwb2ludGVyKQot
ICAgICAgcmV0dXJuIHRoaXMud3JpdGVVaW50NjQoMCk7Ci0gICAgLy8gVE9ETyhhYmFydGgpOiBU
byBjb3JyZWN0bHkgZW5jb2RlIGEgcG9pbnRlciwgd2UgbmVlZCB0byBrbm93IHRoZSByZWFsCi0g
ICAgLy8gYmFzZSBhZGRyZXNzIG9mIHRoZSBhcnJheSBidWZmZXIuCi0gICAgdmFyIG9mZnNldCA9
IHBvaW50ZXIgLSB0aGlzLm5leHQ7Ci0gICAgdGhpcy53cml0ZVVpbnQ2NChvZmZzZXQpOwotICB9
OwotCi0gIEVuY29kZXIucHJvdG90eXBlLmNyZWF0ZUFuZEVuY29kZUVuY29kZXIgPSBmdW5jdGlv
bihzaXplKSB7Ci0gICAgdmFyIHBvaW50ZXIgPSB0aGlzLmJ1ZmZlci5hbGxvYyhhbGlnbihzaXpl
KSk7Ci0gICAgdGhpcy5lbmNvZGVQb2ludGVyKHBvaW50ZXIpOwotICAgIHJldHVybiBuZXcgRW5j
b2Rlcih0aGlzLmJ1ZmZlciwgdGhpcy5oYW5kbGVzLAotICAgICAgICB0aGlzLmFzc29jaWF0ZWRF
bmRwb2ludEhhbmRsZXMsIHBvaW50ZXIpOwotICB9OwotCi0gIEVuY29kZXIucHJvdG90eXBlLmVu
Y29kZUhhbmRsZSA9IGZ1bmN0aW9uKGhhbmRsZSkgewotICAgIGlmIChoYW5kbGUpIHsKLSAgICAg
IHRoaXMuaGFuZGxlcy5wdXNoKGhhbmRsZSk7Ci0gICAgICB0aGlzLndyaXRlVWludDMyKHRoaXMu
aGFuZGxlcy5sZW5ndGggLSAxKTsKLSAgICB9IGVsc2UgewotICAgICAgdGhpcy53cml0ZVVpbnQz
MihrRW5jb2RlZEludmFsaWRIYW5kbGVWYWx1ZSk7Ci0gICAgfQotICB9OwotCi0gIEVuY29kZXIu
cHJvdG90eXBlLmVuY29kZUFzc29jaWF0ZWRFbmRwb2ludEhhbmRsZSA9IGZ1bmN0aW9uKGVuZHBv
aW50SGFuZGxlKSB7Ci0gICAgaWYgKGVuZHBvaW50SGFuZGxlKSB7Ci0gICAgICB0aGlzLmFzc29j
aWF0ZWRFbmRwb2ludEhhbmRsZXMucHVzaChlbmRwb2ludEhhbmRsZSk7Ci0gICAgICB0aGlzLndy
aXRlVWludDMyKHRoaXMuYXNzb2NpYXRlZEVuZHBvaW50SGFuZGxlcy5sZW5ndGggLSAxKTsKLSAg
ICB9IGVsc2UgewotICAgICAgdGhpcy53cml0ZVVpbnQzMihrRW5jb2RlZEludmFsaWRIYW5kbGVW
YWx1ZSk7Ci0gICAgfQotICB9OwotCi0gIEVuY29kZXIucHJvdG90eXBlLmVuY29kZVN0cmluZyA9
IGZ1bmN0aW9uKHZhbCkgewotICAgIHZhciBiYXNlID0gdGhpcy5uZXh0ICsga0FycmF5SGVhZGVy
U2l6ZTsKLSAgICB2YXIgbnVtYmVyT2ZFbGVtZW50cyA9IGludGVybmFsLmVuY29kZVV0ZjhTdHJp
bmcoCi0gICAgICAgIHZhbCwgbmV3IFVpbnQ4QXJyYXkodGhpcy5idWZmZXIuYXJyYXlCdWZmZXIs
IGJhc2UpKTsKLSAgICB2YXIgbnVtYmVyT2ZCeXRlcyA9IGtBcnJheUhlYWRlclNpemUgKyBudW1i
ZXJPZkVsZW1lbnRzOwotICAgIHRoaXMud3JpdGVVaW50MzIobnVtYmVyT2ZCeXRlcyk7Ci0gICAg
dGhpcy53cml0ZVVpbnQzMihudW1iZXJPZkVsZW1lbnRzKTsKLSAgICB0aGlzLm5leHQgKz0gbnVt
YmVyT2ZFbGVtZW50czsKLSAgfTsKLQotICBFbmNvZGVyLnByb3RvdHlwZS5lbmNvZGVBcnJheSA9
Ci0gICAgICBmdW5jdGlvbihjbHMsIHZhbCwgbnVtYmVyT2ZFbGVtZW50cywgZW5jb2RlZFNpemUp
IHsKLSAgICBpZiAobnVtYmVyT2ZFbGVtZW50cyA9PT0gdW5kZWZpbmVkKQotICAgICAgbnVtYmVy
T2ZFbGVtZW50cyA9IHZhbC5sZW5ndGg7Ci0gICAgaWYgKGVuY29kZWRTaXplID09PSB1bmRlZmlu
ZWQpCi0gICAgICBlbmNvZGVkU2l6ZSA9IGtBcnJheUhlYWRlclNpemUgKyBjbHMuZW5jb2RlZFNp
emUgKiBudW1iZXJPZkVsZW1lbnRzOwotCi0gICAgdGhpcy53cml0ZVVpbnQzMihlbmNvZGVkU2l6
ZSk7Ci0gICAgdGhpcy53cml0ZVVpbnQzMihudW1iZXJPZkVsZW1lbnRzKTsKLQotICAgIGlmIChj
bHMgPT09IFBhY2tlZEJvb2wpIHsKLSAgICAgIHZhciBieXRlID0gMDsKLSAgICAgIGZvciAoaSA9
IDA7IGkgPCBudW1iZXJPZkVsZW1lbnRzOyArK2kpIHsKLSAgICAgICAgaWYgKHZhbFtpXSkKLSAg
ICAgICAgICBieXRlIHw9ICgxIDw8IGkgJSA4KTsKLSAgICAgICAgaWYgKGkgJSA4ID09PSA3IHx8
IGkgPT0gbnVtYmVyT2ZFbGVtZW50cyAtIDEpIHsKLSAgICAgICAgICBVaW50OC5lbmNvZGUodGhp
cywgYnl0ZSk7Ci0gICAgICAgICAgYnl0ZSA9IDA7Ci0gICAgICAgIH0KLSAgICAgIH0KLSAgICB9
IGVsc2UgewotICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBudW1iZXJPZkVsZW1lbnRzOyArK2kp
Ci0gICAgICAgIGNscy5lbmNvZGUodGhpcywgdmFsW2ldKTsKLSAgICB9Ci0gIH07Ci0KLSAgRW5j
b2Rlci5wcm90b3R5cGUuZW5jb2RlU3RydWN0ID0gZnVuY3Rpb24oY2xzLCB2YWwpIHsKLSAgICBy
ZXR1cm4gY2xzLmVuY29kZSh0aGlzLCB2YWwpOwotICB9OwotCi0gIEVuY29kZXIucHJvdG90eXBl
LmVuY29kZVN0cnVjdFBvaW50ZXIgPSBmdW5jdGlvbihjbHMsIHZhbCkgewotICAgIGlmICh2YWwg
PT0gbnVsbCkgewotICAgICAgLy8gQWxzbyBoYW5kbGVzIHVuZGVmaW5lZCwgc2luY2UgdW5kZWZp
bmVkID09IG51bGwuCi0gICAgICB0aGlzLmVuY29kZVBvaW50ZXIodmFsKTsKLSAgICAgIHJldHVy
bjsKLSAgICB9Ci0gICAgdmFyIGVuY29kZXIgPSB0aGlzLmNyZWF0ZUFuZEVuY29kZUVuY29kZXIo
Y2xzLmVuY29kZWRTaXplKTsKLSAgICBjbHMuZW5jb2RlKGVuY29kZXIsIHZhbCk7Ci0gIH07Ci0K
LSAgRW5jb2Rlci5wcm90b3R5cGUuZW5jb2RlQXJyYXlQb2ludGVyID0gZnVuY3Rpb24oY2xzLCB2
YWwpIHsKLSAgICBpZiAodmFsID09IG51bGwpIHsKLSAgICAgIC8vIEFsc28gaGFuZGxlcyB1bmRl
ZmluZWQsIHNpbmNlIHVuZGVmaW5lZCA9PSBudWxsLgotICAgICAgdGhpcy5lbmNvZGVQb2ludGVy
KHZhbCk7Ci0gICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgdmFyIG51bWJlck9mRWxlbWVudHMg
PSB2YWwubGVuZ3RoOwotICAgIGlmICghTnVtYmVyLmlzU2FmZUludGVnZXIobnVtYmVyT2ZFbGVt
ZW50cykgfHwgbnVtYmVyT2ZFbGVtZW50cyA8IDApCi0gICAgICB0aHJvdyBuZXcgRXJyb3Ioa0Vy
cm9yQXJyYXkpOwotCi0gICAgdmFyIGVuY29kZWRTaXplID0ga0FycmF5SGVhZGVyU2l6ZSArICgo
Y2xzID09PSBQYWNrZWRCb29sKSA/Ci0gICAgICAgIE1hdGguY2VpbChudW1iZXJPZkVsZW1lbnRz
IC8gOCkgOiBjbHMuZW5jb2RlZFNpemUgKiBudW1iZXJPZkVsZW1lbnRzKTsKLSAgICB2YXIgZW5j
b2RlciA9IHRoaXMuY3JlYXRlQW5kRW5jb2RlRW5jb2RlcihlbmNvZGVkU2l6ZSk7Ci0gICAgZW5j
b2Rlci5lbmNvZGVBcnJheShjbHMsIHZhbCwgbnVtYmVyT2ZFbGVtZW50cywgZW5jb2RlZFNpemUp
OwotICB9OwotCi0gIEVuY29kZXIucHJvdG90eXBlLmVuY29kZVN0cmluZ1BvaW50ZXIgPSBmdW5j
dGlvbih2YWwpIHsKLSAgICBpZiAodmFsID09IG51bGwpIHsKLSAgICAgIC8vIEFsc28gaGFuZGxl
cyB1bmRlZmluZWQsIHNpbmNlIHVuZGVmaW5lZCA9PSBudWxsLgotICAgICAgdGhpcy5lbmNvZGVQ
b2ludGVyKHZhbCk7Ci0gICAgICByZXR1cm47Ci0gICAgfQotICAgIC8vIE9ubHkgYWNjZXB0cyBz
dHJpbmcgcHJpbWl2aXRlcywgbm90IFN0cmluZyBPYmplY3RzIGxpa2UgbmV3IFN0cmluZygiZm9v
IikKLSAgICBpZiAodHlwZW9mKHZhbCkgIT09ICJzdHJpbmciKSB7Ci0gICAgICB0aHJvdyBuZXcg
RXJyb3Ioa0Vycm9yU3RyaW5nKTsKLSAgICB9Ci0gICAgdmFyIGVuY29kZWRTaXplID0ga0FycmF5
SGVhZGVyU2l6ZSArIGludGVybmFsLnV0ZjhMZW5ndGgodmFsKTsKLSAgICB2YXIgZW5jb2RlciA9
IHRoaXMuY3JlYXRlQW5kRW5jb2RlRW5jb2RlcihlbmNvZGVkU2l6ZSk7Ci0gICAgZW5jb2Rlci5l
bmNvZGVTdHJpbmcodmFsKTsKLSAgfTsKLQotICBFbmNvZGVyLnByb3RvdHlwZS5lbmNvZGVNYXAg
PSBmdW5jdGlvbihrZXlDbGFzcywgdmFsdWVDbGFzcywgdmFsKSB7Ci0gICAgdmFyIGtleXMgPSBu
ZXcgQXJyYXkodmFsLnNpemUpOwotICAgIHZhciB2YWx1ZXMgPSBuZXcgQXJyYXkodmFsLnNpemUp
OwotICAgIHZhciBpID0gMDsKLSAgICB2YWwuZm9yRWFjaChmdW5jdGlvbih2YWx1ZSwga2V5KSB7
Ci0gICAgICB2YWx1ZXNbaV0gPSB2YWx1ZTsKLSAgICAgIGtleXNbaSsrXSA9IGtleTsKLSAgICB9
KTsKLSAgICB0aGlzLndyaXRlVWludDMyKGtTdHJ1Y3RIZWFkZXJTaXplICsga01hcFN0cnVjdFBh
eWxvYWRTaXplKTsKLSAgICB0aGlzLndyaXRlVWludDMyKDApOyAgLy8gdmVyc2lvbgotICAgIHRo
aXMuZW5jb2RlQXJyYXlQb2ludGVyKGtleUNsYXNzLCBrZXlzKTsKLSAgICB0aGlzLmVuY29kZUFy
cmF5UG9pbnRlcih2YWx1ZUNsYXNzLCB2YWx1ZXMpOwotICB9Ci0KLSAgRW5jb2Rlci5wcm90b3R5
cGUuZW5jb2RlTWFwUG9pbnRlciA9IGZ1bmN0aW9uKGtleUNsYXNzLCB2YWx1ZUNsYXNzLCB2YWwp
IHsKLSAgICBpZiAodmFsID09IG51bGwpIHsKLSAgICAgIC8vIEFsc28gaGFuZGxlcyB1bmRlZmlu
ZWQsIHNpbmNlIHVuZGVmaW5lZCA9PSBudWxsLgotICAgICAgdGhpcy5lbmNvZGVQb2ludGVyKHZh
bCk7Ci0gICAgICByZXR1cm47Ci0gICAgfQotICAgIGlmICghKHZhbCBpbnN0YW5jZW9mIE1hcCkp
IHsKLSAgICAgIHRocm93IG5ldyBFcnJvcihrRXJyb3JNYXApOwotICAgIH0KLSAgICB2YXIgZW5j
b2RlZFNpemUgPSBrU3RydWN0SGVhZGVyU2l6ZSArIGtNYXBTdHJ1Y3RQYXlsb2FkU2l6ZTsKLSAg
ICB2YXIgZW5jb2RlciA9IHRoaXMuY3JlYXRlQW5kRW5jb2RlRW5jb2RlcihlbmNvZGVkU2l6ZSk7
Ci0gICAgZW5jb2Rlci5lbmNvZGVNYXAoa2V5Q2xhc3MsIHZhbHVlQ2xhc3MsIHZhbCk7Ci0gIH07
Ci0KLSAgLy8gTWVzc2FnZSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLQotICB2YXIga01lc3NhZ2VJbnRlcmZhY2VJZE9m
ZnNldCA9IGtTdHJ1Y3RIZWFkZXJTaXplOwotICB2YXIga01lc3NhZ2VOYW1lT2Zmc2V0ID0ga01l
c3NhZ2VJbnRlcmZhY2VJZE9mZnNldCArIDQ7Ci0gIHZhciBrTWVzc2FnZUZsYWdzT2Zmc2V0ID0g
a01lc3NhZ2VOYW1lT2Zmc2V0ICsgNDsKLSAgdmFyIGtNZXNzYWdlUmVxdWVzdElET2Zmc2V0ID0g
a01lc3NhZ2VGbGFnc09mZnNldCArIDg7Ci0gIHZhciBrTWVzc2FnZVBheWxvYWRJbnRlcmZhY2VJ
ZHNQb2ludGVyT2Zmc2V0ID0ga01lc3NhZ2VWMkhlYWRlclNpemUgLSA4OwotCi0gIHZhciBrTWVz
c2FnZUV4cGVjdHNSZXNwb25zZSA9IDEgPDwgMDsKLSAgdmFyIGtNZXNzYWdlSXNSZXNwb25zZSAg
ICAgID0gMSA8PCAxOwotCi0gIGZ1bmN0aW9uIE1lc3NhZ2UoYnVmZmVyLCBoYW5kbGVzLCBhc3Nv
Y2lhdGVkRW5kcG9pbnRIYW5kbGVzKSB7Ci0gICAgaWYgKGFzc29jaWF0ZWRFbmRwb2ludEhhbmRs
ZXMgPT09IHVuZGVmaW5lZCkgewotICAgICAgYXNzb2NpYXRlZEVuZHBvaW50SGFuZGxlcyA9IFtd
OwotICAgIH0KLQotICAgIHRoaXMuYnVmZmVyID0gYnVmZmVyOwotICAgIHRoaXMuaGFuZGxlcyA9
IGhhbmRsZXM7Ci0gICAgdGhpcy5hc3NvY2lhdGVkRW5kcG9pbnRIYW5kbGVzID0gYXNzb2NpYXRl
ZEVuZHBvaW50SGFuZGxlczsKLSAgfQotCi0gIE1lc3NhZ2UucHJvdG90eXBlLmdldEhlYWRlck51
bUJ5dGVzID0gZnVuY3Rpb24oKSB7Ci0gICAgcmV0dXJuIHRoaXMuYnVmZmVyLmdldFVpbnQzMihr
U3RydWN0SGVhZGVyTnVtQnl0ZXNPZmZzZXQpOwotICB9OwotCi0gIE1lc3NhZ2UucHJvdG90eXBl
LmdldEhlYWRlclZlcnNpb24gPSBmdW5jdGlvbigpIHsKLSAgICByZXR1cm4gdGhpcy5idWZmZXIu
Z2V0VWludDMyKGtTdHJ1Y3RIZWFkZXJWZXJzaW9uT2Zmc2V0KTsKLSAgfTsKLQotICBNZXNzYWdl
LnByb3RvdHlwZS5nZXROYW1lID0gZnVuY3Rpb24oKSB7Ci0gICAgcmV0dXJuIHRoaXMuYnVmZmVy
LmdldFVpbnQzMihrTWVzc2FnZU5hbWVPZmZzZXQpOwotICB9OwotCi0gIE1lc3NhZ2UucHJvdG90
eXBlLmdldEZsYWdzID0gZnVuY3Rpb24oKSB7Ci0gICAgcmV0dXJuIHRoaXMuYnVmZmVyLmdldFVp
bnQzMihrTWVzc2FnZUZsYWdzT2Zmc2V0KTsKLSAgfTsKLQotICBNZXNzYWdlLnByb3RvdHlwZS5n
ZXRJbnRlcmZhY2VJZCA9IGZ1bmN0aW9uKCkgewotICAgIHJldHVybiB0aGlzLmJ1ZmZlci5nZXRV
aW50MzIoa01lc3NhZ2VJbnRlcmZhY2VJZE9mZnNldCk7Ci0gIH07Ci0KLSAgTWVzc2FnZS5wcm90
b3R5cGUuZ2V0UGF5bG9hZEludGVyZmFjZUlkcyA9IGZ1bmN0aW9uKCkgewotICAgIGlmICh0aGlz
LmdldEhlYWRlclZlcnNpb24oKSA8IDIpIHsKLSAgICAgIHJldHVybiBudWxsOwotICAgIH0KLQot
ICAgIHZhciBkZWNvZGVyID0gbmV3IERlY29kZXIodGhpcy5idWZmZXIsIHRoaXMuaGFuZGxlcywK
LSAgICAgICAgdGhpcy5hc3NvY2lhdGVkRW5kcG9pbnRIYW5kbGVzLAotICAgICAgICBrTWVzc2Fn
ZVBheWxvYWRJbnRlcmZhY2VJZHNQb2ludGVyT2Zmc2V0KTsKLSAgICB2YXIgcGF5bG9hZEludGVy
ZmFjZUlkcyA9IGRlY29kZXIuZGVjb2RlQXJyYXlQb2ludGVyKFVpbnQzMik7Ci0gICAgcmV0dXJu
IHBheWxvYWRJbnRlcmZhY2VJZHM7Ci0gIH07Ci0KLSAgTWVzc2FnZS5wcm90b3R5cGUuaXNSZXNw
b25zZSA9IGZ1bmN0aW9uKCkgewotICAgIHJldHVybiAodGhpcy5nZXRGbGFncygpICYga01lc3Nh
Z2VJc1Jlc3BvbnNlKSAhPSAwOwotICB9OwotCi0gIE1lc3NhZ2UucHJvdG90eXBlLmV4cGVjdHNS
ZXNwb25zZSA9IGZ1bmN0aW9uKCkgewotICAgIHJldHVybiAodGhpcy5nZXRGbGFncygpICYga01l
c3NhZ2VFeHBlY3RzUmVzcG9uc2UpICE9IDA7Ci0gIH07Ci0KLSAgTWVzc2FnZS5wcm90b3R5cGUu
c2V0UmVxdWVzdElEID0gZnVuY3Rpb24ocmVxdWVzdElEKSB7Ci0gICAgLy8gVE9ETyhkYXJpbik6
IFZlcmlmeSB0aGF0IHNwYWNlIHdhcyByZXNlcnZlZCBmb3IgdGhpcyBmaWVsZCEKLSAgICB0aGlz
LmJ1ZmZlci5zZXRVaW50NjQoa01lc3NhZ2VSZXF1ZXN0SURPZmZzZXQsIHJlcXVlc3RJRCk7Ci0g
IH07Ci0KLSAgTWVzc2FnZS5wcm90b3R5cGUuc2V0SW50ZXJmYWNlSWQgPSBmdW5jdGlvbihpbnRl
cmZhY2VJZCkgewotICAgIHRoaXMuYnVmZmVyLnNldFVpbnQzMihrTWVzc2FnZUludGVyZmFjZUlk
T2Zmc2V0LCBpbnRlcmZhY2VJZCk7Ci0gIH07Ci0KLSAgTWVzc2FnZS5wcm90b3R5cGUuc2V0UGF5
bG9hZEludGVyZmFjZUlkc18gPSBmdW5jdGlvbihwYXlsb2FkSW50ZXJmYWNlSWRzKSB7Ci0gICAg
aWYgKHRoaXMuZ2V0SGVhZGVyVmVyc2lvbigpIDwgMikgewotICAgICAgdGhyb3cgbmV3IEVycm9y
KAotICAgICAgICAgICJWZXJzaW9uIG9mIG1lc3NhZ2UgZG9lcyBub3Qgc3VwcG9ydCBwYXlsb2Fk
IGludGVyZmFjZSBpZHMiKTsKLSAgICB9Ci0KLSAgICB2YXIgZGVjb2RlciA9IG5ldyBEZWNvZGVy
KHRoaXMuYnVmZmVyLCB0aGlzLmhhbmRsZXMsCi0gICAgICAgIHRoaXMuYXNzb2NpYXRlZEVuZHBv
aW50SGFuZGxlcywKLSAgICAgICAga01lc3NhZ2VQYXlsb2FkSW50ZXJmYWNlSWRzUG9pbnRlck9m
ZnNldCk7Ci0gICAgdmFyIHBheWxvYWRJbnRlcmZhY2VJZHNPZmZzZXQgPSBkZWNvZGVyLmRlY29k
ZVBvaW50ZXIoKTsKLSAgICB2YXIgZW5jb2RlciA9IG5ldyBFbmNvZGVyKHRoaXMuYnVmZmVyLCB0
aGlzLmhhbmRsZXMsCi0gICAgICAgIHRoaXMuYXNzb2NpYXRlZEVuZHBvaW50SGFuZGxlcywKLSAg
ICAgICAgcGF5bG9hZEludGVyZmFjZUlkc09mZnNldCk7Ci0gICAgZW5jb2Rlci5lbmNvZGVBcnJh
eShVaW50MzIsIHBheWxvYWRJbnRlcmZhY2VJZHMpOwotICB9OwotCi0gIE1lc3NhZ2UucHJvdG90
eXBlLnNlcmlhbGl6ZUFzc29jaWF0ZWRFbmRwb2ludEhhbmRsZXMgPSBmdW5jdGlvbigKLSAgICAg
IGFzc29jaWF0ZWRHcm91cENvbnRyb2xsZXIpIHsKLSAgICBpZiAodGhpcy5hc3NvY2lhdGVkRW5k
cG9pbnRIYW5kbGVzLmxlbmd0aCA+IDApIHsKLSAgICAgIGlmICh0aGlzLmdldEhlYWRlclZlcnNp
b24oKSA8IDIpIHsKLSAgICAgICAgdGhyb3cgbmV3IEVycm9yKAotICAgICAgICAgICAgIlZlcnNp
b24gb2YgbWVzc2FnZSBkb2VzIG5vdCBzdXBwb3J0IGFzc29jaWF0ZWQgZW5kcG9pbnQgaGFuZGxl
cyIpOwotICAgICAgfQotCi0gICAgICB2YXIgZGF0YSA9IFtdOwotICAgICAgZm9yICh2YXIgaSA9
IDA7IGkgPCB0aGlzLmFzc29jaWF0ZWRFbmRwb2ludEhhbmRsZXMubGVuZ3RoOyBpKyspIHsKLSAg
ICAgICAgdmFyIGhhbmRsZSA9IHRoaXMuYXNzb2NpYXRlZEVuZHBvaW50SGFuZGxlc1tpXTsKLSAg
ICAgICAgZGF0YS5wdXNoKGFzc29jaWF0ZWRHcm91cENvbnRyb2xsZXIuYXNzb2NpYXRlSW50ZXJm
YWNlKGhhbmRsZSkpOwotICAgICAgfQotICAgICAgdGhpcy5hc3NvY2lhdGVkRW5kcG9pbnRIYW5k
bGVzID0gW107Ci0gICAgICB0aGlzLnNldFBheWxvYWRJbnRlcmZhY2VJZHNfKGRhdGEpOwotICAg
IH0KLSAgfTsKLQotICBNZXNzYWdlLnByb3RvdHlwZS5kZXNlcmlhbGl6ZUFzc29jaWF0ZWRFbmRw
b2ludEhhbmRsZXMgPSBmdW5jdGlvbigKLSAgICAgIGFzc29jaWF0ZWRHcm91cENvbnRyb2xsZXIp
IHsKLSAgICBpZiAodGhpcy5nZXRIZWFkZXJWZXJzaW9uKCkgPCAyKSB7Ci0gICAgICByZXR1cm4g
dHJ1ZTsKLSAgICB9Ci0KLSAgICB0aGlzLmFzc29jaWF0ZWRFbmRwb2ludEhhbmRsZXMgPSBbXTsK
LSAgICB2YXIgaWRzID0gdGhpcy5nZXRQYXlsb2FkSW50ZXJmYWNlSWRzKCk7Ci0KLSAgICB2YXIg
cmVzdWx0ID0gdHJ1ZTsKLSAgICBmb3IgKHZhciBpID0gMDsgaSA8IGlkcy5sZW5ndGg7IGkrKykg
ewotICAgICAgdmFyIGhhbmRsZSA9IGFzc29jaWF0ZWRHcm91cENvbnRyb2xsZXIuY3JlYXRlTG9j
YWxFbmRwb2ludEhhbmRsZShpZHNbaV0pOwotICAgICAgaWYgKGludGVybmFsLmlzVmFsaWRJbnRl
cmZhY2VJZChpZHNbaV0pICYmICFoYW5kbGUuaXNWYWxpZCgpKSB7Ci0gICAgICAgIC8vIHxpZHNb
aV18IGl0c2VsZiBpcyB2YWxpZCBidXQgaGFuZGxlIGNyZWF0aW9uIGZhaWxlZC4gSW4gdGhhdCBj
YXNlLAotICAgICAgICAvLyBtYXJrIGRlc2VyaWFsaXphdGlvbiBhcyBmYWlsZWQgYnV0IGNvbnRp
bnVlIHRvIGRlc2VyaWFsaXplIHRoZQotICAgICAgICAvLyByZXN0IG9mIGhhbmRsZXMuCi0gICAg
ICAgIHJlc3VsdCA9IGZhbHNlOwotICAgICAgfQotICAgICAgdGhpcy5hc3NvY2lhdGVkRW5kcG9p
bnRIYW5kbGVzLnB1c2goaGFuZGxlKTsKLSAgICAgIGlkc1tpXSA9IGludGVybmFsLmtJbnZhbGlk
SW50ZXJmYWNlSWQ7Ci0gICAgfQotCi0gICAgdGhpcy5zZXRQYXlsb2FkSW50ZXJmYWNlSWRzXyhp
ZHMpOwotICAgIHJldHVybiByZXN1bHQ7Ci0gIH07Ci0KLQotICAvLyBNZXNzYWdlVjBCdWlsZGVy
IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LQotCi0gIGZ1bmN0aW9uIE1lc3NhZ2VWMEJ1aWxkZXIobWVzc2FnZU5hbWUsIHBheWxvYWRTaXpl
KSB7Ci0gICAgLy8gQ3VycmVudGx5LCB3ZSBkb24ndCBjb21wdXRlIHRoZSBwYXlsb2FkIHNpemUg
Y29ycmVjdGx5IGFoZWFkIG9mIHRpbWUuCi0gICAgLy8gSW5zdGVhZCwgd2UgcmVzaXplIHRoZSBi
dWZmZXIgYXQgdGhlIGVuZC4KLSAgICB2YXIgbnVtYmVyT2ZCeXRlcyA9IGtNZXNzYWdlVjBIZWFk
ZXJTaXplICsgcGF5bG9hZFNpemU7Ci0gICAgdGhpcy5idWZmZXIgPSBuZXcgaW50ZXJuYWwuQnVm
ZmVyKG51bWJlck9mQnl0ZXMpOwotICAgIHRoaXMuaGFuZGxlcyA9IFtdOwotICAgIHZhciBlbmNv
ZGVyID0gdGhpcy5jcmVhdGVFbmNvZGVyKGtNZXNzYWdlVjBIZWFkZXJTaXplKTsKLSAgICBlbmNv
ZGVyLndyaXRlVWludDMyKGtNZXNzYWdlVjBIZWFkZXJTaXplKTsKLSAgICBlbmNvZGVyLndyaXRl
VWludDMyKDApOyAgLy8gdmVyc2lvbi4KLSAgICBlbmNvZGVyLndyaXRlVWludDMyKDApOyAgLy8g
aW50ZXJmYWNlIElELgotICAgIGVuY29kZXIud3JpdGVVaW50MzIobWVzc2FnZU5hbWUpOwotICAg
IGVuY29kZXIud3JpdGVVaW50MzIoMCk7ICAvLyBmbGFncy4KLSAgICBlbmNvZGVyLndyaXRlVWlu
dDMyKDApOyAgLy8gcGFkZGluZy4KLSAgfQotCi0gIE1lc3NhZ2VWMEJ1aWxkZXIucHJvdG90eXBl
LmNyZWF0ZUVuY29kZXIgPSBmdW5jdGlvbihzaXplKSB7Ci0gICAgdmFyIHBvaW50ZXIgPSB0aGlz
LmJ1ZmZlci5hbGxvYyhzaXplKTsKLSAgICByZXR1cm4gbmV3IEVuY29kZXIodGhpcy5idWZmZXIs
IHRoaXMuaGFuZGxlcywgW10sIHBvaW50ZXIpOwotICB9OwotCi0gIE1lc3NhZ2VWMEJ1aWxkZXIu
cHJvdG90eXBlLmVuY29kZVN0cnVjdCA9IGZ1bmN0aW9uKGNscywgdmFsKSB7Ci0gICAgY2xzLmVu
Y29kZSh0aGlzLmNyZWF0ZUVuY29kZXIoY2xzLmVuY29kZWRTaXplKSwgdmFsKTsKLSAgfTsKLQot
ICBNZXNzYWdlVjBCdWlsZGVyLnByb3RvdHlwZS5maW5pc2ggPSBmdW5jdGlvbigpIHsKLSAgICAv
LyBUT0RPKGFiYXJ0aCk6IFJhdGhlciB0aGFuIHJlc2l6aW5nIHRoZSBidWZmZXIgYXQgdGhlIGVu
ZCwgd2UgY291bGQKLSAgICAvLyBjb21wdXRlIHRoZSBzaXplIHdlIG5lZWQgYWhlYWQgb2YgdGlt
ZSwgbGlrZSB3ZSBkbyBpbiBDKysuCi0gICAgdGhpcy5idWZmZXIudHJpbSgpOwotICAgIHZhciBt
ZXNzYWdlID0gbmV3IE1lc3NhZ2UodGhpcy5idWZmZXIsIHRoaXMuaGFuZGxlcyk7Ci0gICAgdGhp
cy5idWZmZXIgPSBudWxsOwotICAgIHRoaXMuaGFuZGxlcyA9IG51bGw7Ci0gICAgdGhpcy5lbmNv
ZGVyID0gbnVsbDsKLSAgICByZXR1cm4gbWVzc2FnZTsKLSAgfTsKLQotICAvLyBNZXNzYWdlVjFC
dWlsZGVyIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0K
LSAgZnVuY3Rpb24gTWVzc2FnZVYxQnVpbGRlcihtZXNzYWdlTmFtZSwgcGF5bG9hZFNpemUsIGZs
YWdzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdElEKSB7
Ci0gICAgLy8gQ3VycmVudGx5LCB3ZSBkb24ndCBjb21wdXRlIHRoZSBwYXlsb2FkIHNpemUgY29y
cmVjdGx5IGFoZWFkIG9mIHRpbWUuCi0gICAgLy8gSW5zdGVhZCwgd2UgcmVzaXplIHRoZSBidWZm
ZXIgYXQgdGhlIGVuZC4KLSAgICB2YXIgbnVtYmVyT2ZCeXRlcyA9IGtNZXNzYWdlVjFIZWFkZXJT
aXplICsgcGF5bG9hZFNpemU7Ci0gICAgdGhpcy5idWZmZXIgPSBuZXcgaW50ZXJuYWwuQnVmZmVy
KG51bWJlck9mQnl0ZXMpOwotICAgIHRoaXMuaGFuZGxlcyA9IFtdOwotICAgIHZhciBlbmNvZGVy
ID0gdGhpcy5jcmVhdGVFbmNvZGVyKGtNZXNzYWdlVjFIZWFkZXJTaXplKTsKLSAgICBlbmNvZGVy
LndyaXRlVWludDMyKGtNZXNzYWdlVjFIZWFkZXJTaXplKTsKLSAgICBlbmNvZGVyLndyaXRlVWlu
dDMyKDEpOyAgLy8gdmVyc2lvbi4KLSAgICBlbmNvZGVyLndyaXRlVWludDMyKDApOyAgLy8gaW50
ZXJmYWNlIElELgotICAgIGVuY29kZXIud3JpdGVVaW50MzIobWVzc2FnZU5hbWUpOwotICAgIGVu
Y29kZXIud3JpdGVVaW50MzIoZmxhZ3MpOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoMCk7ICAv
LyBwYWRkaW5nLgotICAgIGVuY29kZXIud3JpdGVVaW50NjQocmVxdWVzdElEKTsKLSAgfQotCi0g
IE1lc3NhZ2VWMUJ1aWxkZXIucHJvdG90eXBlID0KLSAgICAgIE9iamVjdC5jcmVhdGUoTWVzc2Fn
ZVYwQnVpbGRlci5wcm90b3R5cGUpOwotCi0gIE1lc3NhZ2VWMUJ1aWxkZXIucHJvdG90eXBlLmNv
bnN0cnVjdG9yID0KLSAgICAgIE1lc3NhZ2VWMUJ1aWxkZXI7Ci0KLSAgLy8gTWVzc2FnZVYyIC0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0KLSAgZnVuY3Rp
b24gTWVzc2FnZVYyQnVpbGRlcihtZXNzYWdlTmFtZSwgcGF5bG9hZFNpemUsIGZsYWdzLCByZXF1
ZXN0SUQpIHsKLSAgICAvLyBDdXJyZW50bHksIHdlIGRvbid0IGNvbXB1dGUgdGhlIHBheWxvYWQg
c2l6ZSBjb3JyZWN0bHkgYWhlYWQgb2YgdGltZS4KLSAgICAvLyBJbnN0ZWFkLCB3ZSByZXNpemUg
dGhlIGJ1ZmZlciBhdCB0aGUgZW5kLgotICAgIHZhciBudW1iZXJPZkJ5dGVzID0ga01lc3NhZ2VW
MkhlYWRlclNpemUgKyBwYXlsb2FkU2l6ZTsKLSAgICB0aGlzLmJ1ZmZlciA9IG5ldyBpbnRlcm5h
bC5CdWZmZXIobnVtYmVyT2ZCeXRlcyk7Ci0gICAgdGhpcy5oYW5kbGVzID0gW107Ci0KLSAgICB0
aGlzLnBheWxvYWQgPSBudWxsOwotICAgIHRoaXMuYXNzb2NpYXRlZEVuZHBvaW50SGFuZGxlcyA9
IFtdOwotCi0gICAgdGhpcy5lbmNvZGVyID0gdGhpcy5jcmVhdGVFbmNvZGVyKGtNZXNzYWdlVjJI
ZWFkZXJTaXplKTsKLSAgICB0aGlzLmVuY29kZXIud3JpdGVVaW50MzIoa01lc3NhZ2VWMkhlYWRl
clNpemUpOwotICAgIHRoaXMuZW5jb2Rlci53cml0ZVVpbnQzMigyKTsgIC8vIHZlcnNpb24uCi0g
ICAgLy8gR2V0cyBzZXQgdG8gYW4gYXBwcm9wcmlhdGUgaW50ZXJmYWNlSWQgZm9yIHRoZSBlbmRw
b2ludCBieSB0aGUgUm91dGVyLgotICAgIHRoaXMuZW5jb2Rlci53cml0ZVVpbnQzMigwKTsgIC8v
IGludGVyZmFjZSBJRC4KLSAgICB0aGlzLmVuY29kZXIud3JpdGVVaW50MzIobWVzc2FnZU5hbWUp
OwotICAgIHRoaXMuZW5jb2Rlci53cml0ZVVpbnQzMihmbGFncyk7Ci0gICAgdGhpcy5lbmNvZGVy
LndyaXRlVWludDMyKDApOyAgLy8gcGFkZGluZy4KLSAgICB0aGlzLmVuY29kZXIud3JpdGVVaW50
NjQocmVxdWVzdElEKTsKLSAgfQotCi0gIE1lc3NhZ2VWMkJ1aWxkZXIucHJvdG90eXBlLmNyZWF0
ZUVuY29kZXIgPSBmdW5jdGlvbihzaXplKSB7Ci0gICAgdmFyIHBvaW50ZXIgPSB0aGlzLmJ1ZmZl
ci5hbGxvYyhzaXplKTsKLSAgICByZXR1cm4gbmV3IEVuY29kZXIodGhpcy5idWZmZXIsIHRoaXMu
aGFuZGxlcywKLSAgICAgICAgdGhpcy5hc3NvY2lhdGVkRW5kcG9pbnRIYW5kbGVzLCBwb2ludGVy
KTsKLSAgfTsKLQotICBNZXNzYWdlVjJCdWlsZGVyLnByb3RvdHlwZS5zZXRQYXlsb2FkID0gZnVu
Y3Rpb24oY2xzLCB2YWwpIHsKLSAgICB0aGlzLnBheWxvYWQgPSB7Y2xzOiBjbHMsIHZhbDogdmFs
fTsKLSAgfTsKLQotICBNZXNzYWdlVjJCdWlsZGVyLnByb3RvdHlwZS5maW5pc2ggPSBmdW5jdGlv
bigpIHsKLSAgICBpZiAoIXRoaXMucGF5bG9hZCkgewotICAgICAgdGhyb3cgbmV3IEVycm9yKCJQ
YXlsb2FkIG5lZWRzIHRvIGJlIHNldCBiZWZvcmUgY2FsbGluZyBmaW5pc2giKTsKLSAgICB9Ci0K
LSAgICB0aGlzLmVuY29kZXIuZW5jb2RlU3RydWN0UG9pbnRlcih0aGlzLnBheWxvYWQuY2xzLCB0
aGlzLnBheWxvYWQudmFsKTsKLSAgICB0aGlzLmVuY29kZXIuZW5jb2RlQXJyYXlQb2ludGVyKFVp
bnQzMiwKLSAgICAgICAgbmV3IEFycmF5KHRoaXMuYXNzb2NpYXRlZEVuZHBvaW50SGFuZGxlcy5s
ZW5ndGgpKTsKLQotICAgIHRoaXMuYnVmZmVyLnRyaW0oKTsKLSAgICB2YXIgbWVzc2FnZSA9IG5l
dyBNZXNzYWdlKHRoaXMuYnVmZmVyLCB0aGlzLmhhbmRsZXMsCi0gICAgICAgIHRoaXMuYXNzb2Np
YXRlZEVuZHBvaW50SGFuZGxlcyk7Ci0gICAgdGhpcy5idWZmZXIgPSBudWxsOwotICAgIHRoaXMu
aGFuZGxlcyA9IG51bGw7Ci0gICAgdGhpcy5lbmNvZGVyID0gbnVsbDsKLSAgICB0aGlzLnBheWxv
YWQgPSBudWxsOwotICAgIHRoaXMuYXNzb2NpYXRlZEVuZHBvaW50SGFuZGxlcyA9IG51bGw7Ci0K
LSAgICByZXR1cm4gbWVzc2FnZTsKLSAgfTsKLQotICAvLyBNZXNzYWdlUmVhZGVyIC0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotCi0g
IGZ1bmN0aW9uIE1lc3NhZ2VSZWFkZXIobWVzc2FnZSkgewotICAgIHRoaXMuZGVjb2RlciA9IG5l
dyBEZWNvZGVyKG1lc3NhZ2UuYnVmZmVyLCBtZXNzYWdlLmhhbmRsZXMsCi0gICAgICAgIG1lc3Nh
Z2UuYXNzb2NpYXRlZEVuZHBvaW50SGFuZGxlcywgMCk7Ci0gICAgdmFyIG1lc3NhZ2VIZWFkZXJT
aXplID0gdGhpcy5kZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB0aGlzLnBheWxvYWRTaXplID0g
bWVzc2FnZS5idWZmZXIuYnl0ZUxlbmd0aCAtIG1lc3NhZ2VIZWFkZXJTaXplOwotICAgIHZhciB2
ZXJzaW9uID0gdGhpcy5kZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YXIgaW50ZXJmYWNlX2lk
ID0gdGhpcy5kZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB0aGlzLm1lc3NhZ2VOYW1lID0gdGhp
cy5kZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB0aGlzLmZsYWdzID0gdGhpcy5kZWNvZGVyLnJl
YWRVaW50MzIoKTsKLSAgICAvLyBTa2lwIHRoZSBwYWRkaW5nLgotICAgIHRoaXMuZGVjb2Rlci5z
a2lwKDQpOwotICAgIGlmICh2ZXJzaW9uID49IDEpCi0gICAgICB0aGlzLnJlcXVlc3RJRCA9IHRo
aXMuZGVjb2Rlci5yZWFkVWludDY0KCk7Ci0gICAgdGhpcy5kZWNvZGVyLnNraXAobWVzc2FnZUhl
YWRlclNpemUgLSB0aGlzLmRlY29kZXIubmV4dCk7Ci0gIH0KLQotICBNZXNzYWdlUmVhZGVyLnBy
b3RvdHlwZS5kZWNvZGVTdHJ1Y3QgPSBmdW5jdGlvbihjbHMpIHsKLSAgICByZXR1cm4gY2xzLmRl
Y29kZSh0aGlzLmRlY29kZXIpOwotICB9OwotCi0gIC8vIEJ1aWx0LWluIHR5cGVzIC0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0KLSAg
Ly8gVGhpcyB0eXBlIGlzIG9ubHkgdXNlZCB3aXRoIEFycmF5T2YoUGFja2VkQm9vbCkuCi0gIGZ1
bmN0aW9uIFBhY2tlZEJvb2woKSB7Ci0gIH0KLQotICBmdW5jdGlvbiBJbnQ4KCkgewotICB9Ci0K
LSAgSW50OC5lbmNvZGVkU2l6ZSA9IDE7Ci0KLSAgSW50OC5kZWNvZGUgPSBmdW5jdGlvbihkZWNv
ZGVyKSB7Ci0gICAgcmV0dXJuIGRlY29kZXIucmVhZEludDgoKTsKLSAgfTsKLQotICBJbnQ4LmVu
Y29kZSA9IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgIGVuY29kZXIud3JpdGVJbnQ4KHZh
bCk7Ci0gIH07Ci0KLSAgVWludDguZW5jb2RlID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0g
ICAgZW5jb2Rlci53cml0ZVVpbnQ4KHZhbCk7Ci0gIH07Ci0KLSAgZnVuY3Rpb24gVWludDgoKSB7
Ci0gIH0KLQotICBVaW50OC5lbmNvZGVkU2l6ZSA9IDE7Ci0KLSAgVWludDguZGVjb2RlID0gZnVu
Y3Rpb24oZGVjb2RlcikgewotICAgIHJldHVybiBkZWNvZGVyLnJlYWRVaW50OCgpOwotICB9Owot
Ci0gIFVpbnQ4LmVuY29kZSA9IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgIGVuY29kZXIu
d3JpdGVVaW50OCh2YWwpOwotICB9OwotCi0gIGZ1bmN0aW9uIEludDE2KCkgewotICB9Ci0KLSAg
SW50MTYuZW5jb2RlZFNpemUgPSAyOwotCi0gIEludDE2LmRlY29kZSA9IGZ1bmN0aW9uKGRlY29k
ZXIpIHsKLSAgICByZXR1cm4gZGVjb2Rlci5yZWFkSW50MTYoKTsKLSAgfTsKLQotICBJbnQxNi5l
bmNvZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2YWwpIHsKLSAgICBlbmNvZGVyLndyaXRlSW50MTYo
dmFsKTsKLSAgfTsKLQotICBmdW5jdGlvbiBVaW50MTYoKSB7Ci0gIH0KLQotICBVaW50MTYuZW5j
b2RlZFNpemUgPSAyOwotCi0gIFVpbnQxNi5kZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0g
ICAgcmV0dXJuIGRlY29kZXIucmVhZFVpbnQxNigpOwotICB9OwotCi0gIFVpbnQxNi5lbmNvZGUg
PSBmdW5jdGlvbihlbmNvZGVyLCB2YWwpIHsKLSAgICBlbmNvZGVyLndyaXRlVWludDE2KHZhbCk7
Ci0gIH07Ci0KLSAgZnVuY3Rpb24gSW50MzIoKSB7Ci0gIH0KLQotICBJbnQzMi5lbmNvZGVkU2l6
ZSA9IDQ7Ci0KLSAgSW50MzIuZGVjb2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHJldHVy
biBkZWNvZGVyLnJlYWRJbnQzMigpOwotICB9OwotCi0gIEludDMyLmVuY29kZSA9IGZ1bmN0aW9u
KGVuY29kZXIsIHZhbCkgewotICAgIGVuY29kZXIud3JpdGVJbnQzMih2YWwpOwotICB9OwotCi0g
IGZ1bmN0aW9uIFVpbnQzMigpIHsKLSAgfQotCi0gIFVpbnQzMi5lbmNvZGVkU2l6ZSA9IDQ7Ci0K
LSAgVWludDMyLmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICByZXR1cm4gZGVjb2Rl
ci5yZWFkVWludDMyKCk7Ci0gIH07Ci0KLSAgVWludDMyLmVuY29kZSA9IGZ1bmN0aW9uKGVuY29k
ZXIsIHZhbCkgewotICAgIGVuY29kZXIud3JpdGVVaW50MzIodmFsKTsKLSAgfTsKLQotICBmdW5j
dGlvbiBJbnQ2NCgpIHsKLSAgfQotCi0gIEludDY0LmVuY29kZWRTaXplID0gODsKLQotICBJbnQ2
NC5kZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgcmV0dXJuIGRlY29kZXIucmVhZElu
dDY0KCk7Ci0gIH07Ci0KLSAgSW50NjQuZW5jb2RlID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7
Ci0gICAgZW5jb2Rlci53cml0ZUludDY0KHZhbCk7Ci0gIH07Ci0KLSAgZnVuY3Rpb24gVWludDY0
KCkgewotICB9Ci0KLSAgVWludDY0LmVuY29kZWRTaXplID0gODsKLQotICBVaW50NjQuZGVjb2Rl
ID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHJldHVybiBkZWNvZGVyLnJlYWRVaW50NjQoKTsK
LSAgfTsKLQotICBVaW50NjQuZW5jb2RlID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAg
ZW5jb2Rlci53cml0ZVVpbnQ2NCh2YWwpOwotICB9OwotCi0gIGZ1bmN0aW9uIFN0cmluZygpIHsK
LSAgfTsKLQotICBTdHJpbmcuZW5jb2RlZFNpemUgPSA4OwotCi0gIFN0cmluZy5kZWNvZGUgPSBm
dW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgcmV0dXJuIGRlY29kZXIuZGVjb2RlU3RyaW5nUG9pbnRl
cigpOwotICB9OwotCi0gIFN0cmluZy5lbmNvZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2YWwpIHsK
LSAgICBlbmNvZGVyLmVuY29kZVN0cmluZ1BvaW50ZXIodmFsKTsKLSAgfTsKLQotICBmdW5jdGlv
biBOdWxsYWJsZVN0cmluZygpIHsKLSAgfQotCi0gIE51bGxhYmxlU3RyaW5nLmVuY29kZWRTaXpl
ID0gU3RyaW5nLmVuY29kZWRTaXplOwotCi0gIE51bGxhYmxlU3RyaW5nLmRlY29kZSA9IFN0cmlu
Zy5kZWNvZGU7Ci0KLSAgTnVsbGFibGVTdHJpbmcuZW5jb2RlID0gU3RyaW5nLmVuY29kZTsKLQot
ICBmdW5jdGlvbiBGbG9hdCgpIHsKLSAgfQotCi0gIEZsb2F0LmVuY29kZWRTaXplID0gNDsKLQot
ICBGbG9hdC5kZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgcmV0dXJuIGRlY29kZXIu
cmVhZEZsb2F0KCk7Ci0gIH07Ci0KLSAgRmxvYXQuZW5jb2RlID0gZnVuY3Rpb24oZW5jb2Rlciwg
dmFsKSB7Ci0gICAgZW5jb2Rlci53cml0ZUZsb2F0KHZhbCk7Ci0gIH07Ci0KLSAgZnVuY3Rpb24g
RG91YmxlKCkgewotICB9Ci0KLSAgRG91YmxlLmVuY29kZWRTaXplID0gODsKLQotICBEb3VibGUu
ZGVjb2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHJldHVybiBkZWNvZGVyLnJlYWREb3Vi
bGUoKTsKLSAgfTsKLQotICBEb3VibGUuZW5jb2RlID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7
Ci0gICAgZW5jb2Rlci53cml0ZURvdWJsZSh2YWwpOwotICB9OwotCi0gIGZ1bmN0aW9uIEVudW0o
Y2xzKSB7Ci0gICAgdGhpcy5jbHMgPSBjbHM7Ci0gIH0KLQotICBFbnVtLnByb3RvdHlwZS5lbmNv
ZGVkU2l6ZSA9IDQ7Ci0KLSAgRW51bS5wcm90b3R5cGUuZGVjb2RlID0gZnVuY3Rpb24oZGVjb2Rl
cikgewotICAgIHJldHVybiBkZWNvZGVyLnJlYWRJbnQzMigpOwotICB9OwotCi0gIEVudW0ucHJv
dG90eXBlLmVuY29kZSA9IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgIGVuY29kZXIud3Jp
dGVJbnQzMih2YWwpOwotICB9OwotCi0gIGZ1bmN0aW9uIFBvaW50ZXJUbyhjbHMpIHsKLSAgICB0
aGlzLmNscyA9IGNsczsKLSAgfQotCi0gIFBvaW50ZXJUby5wcm90b3R5cGUuZW5jb2RlZFNpemUg
PSA4OwotCi0gIFBvaW50ZXJUby5wcm90b3R5cGUuZGVjb2RlID0gZnVuY3Rpb24oZGVjb2Rlcikg
ewotICAgIHZhciBwb2ludGVyID0gZGVjb2Rlci5kZWNvZGVQb2ludGVyKCk7Ci0gICAgaWYgKCFw
b2ludGVyKSB7Ci0gICAgICByZXR1cm4gbnVsbDsKLSAgICB9Ci0gICAgcmV0dXJuIHRoaXMuY2xz
LmRlY29kZShkZWNvZGVyLmRlY29kZUFuZENyZWF0ZURlY29kZXIocG9pbnRlcikpOwotICB9Owot
Ci0gIFBvaW50ZXJUby5wcm90b3R5cGUuZW5jb2RlID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7
Ci0gICAgaWYgKCF2YWwpIHsKLSAgICAgIGVuY29kZXIuZW5jb2RlUG9pbnRlcih2YWwpOwotICAg
ICAgcmV0dXJuOwotICAgIH0KLSAgICB2YXIgb2JqZWN0RW5jb2RlciA9IGVuY29kZXIuY3JlYXRl
QW5kRW5jb2RlRW5jb2Rlcih0aGlzLmNscy5lbmNvZGVkU2l6ZSk7Ci0gICAgdGhpcy5jbHMuZW5j
b2RlKG9iamVjdEVuY29kZXIsIHZhbCk7Ci0gIH07Ci0KLSAgZnVuY3Rpb24gTnVsbGFibGVQb2lu
dGVyVG8oY2xzKSB7Ci0gICAgUG9pbnRlclRvLmNhbGwodGhpcywgY2xzKTsKLSAgfQotCi0gIE51
bGxhYmxlUG9pbnRlclRvLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoUG9pbnRlclRvLnByb3Rv
dHlwZSk7Ci0KLSAgZnVuY3Rpb24gQXJyYXlPZihjbHMsIGxlbmd0aCkgewotICAgIHRoaXMuY2xz
ID0gY2xzOwotICAgIHRoaXMubGVuZ3RoID0gbGVuZ3RoIHx8IDA7Ci0gIH0KLQotICBBcnJheU9m
LnByb3RvdHlwZS5lbmNvZGVkU2l6ZSA9IDg7Ci0KLSAgQXJyYXlPZi5wcm90b3R5cGUuZGltZW5z
aW9ucyA9IGZ1bmN0aW9uKCkgewotICAgIHJldHVybiBbdGhpcy5sZW5ndGhdLmNvbmNhdCgKLSAg
ICAgICh0aGlzLmNscyBpbnN0YW5jZW9mIEFycmF5T2YpID8gdGhpcy5jbHMuZGltZW5zaW9ucygp
IDogW10pOwotICB9Ci0KLSAgQXJyYXlPZi5wcm90b3R5cGUuZGVjb2RlID0gZnVuY3Rpb24oZGVj
b2RlcikgewotICAgIHJldHVybiBkZWNvZGVyLmRlY29kZUFycmF5UG9pbnRlcih0aGlzLmNscyk7
Ci0gIH07Ci0KLSAgQXJyYXlPZi5wcm90b3R5cGUuZW5jb2RlID0gZnVuY3Rpb24oZW5jb2Rlciwg
dmFsKSB7Ci0gICAgZW5jb2Rlci5lbmNvZGVBcnJheVBvaW50ZXIodGhpcy5jbHMsIHZhbCk7Ci0g
IH07Ci0KLSAgZnVuY3Rpb24gTnVsbGFibGVBcnJheU9mKGNscykgewotICAgIEFycmF5T2YuY2Fs
bCh0aGlzLCBjbHMpOwotICB9Ci0KLSAgTnVsbGFibGVBcnJheU9mLnByb3RvdHlwZSA9IE9iamVj
dC5jcmVhdGUoQXJyYXlPZi5wcm90b3R5cGUpOwotCi0gIGZ1bmN0aW9uIEhhbmRsZSgpIHsKLSAg
fQotCi0gIEhhbmRsZS5lbmNvZGVkU2l6ZSA9IDQ7Ci0KLSAgSGFuZGxlLmRlY29kZSA9IGZ1bmN0
aW9uKGRlY29kZXIpIHsKLSAgICByZXR1cm4gZGVjb2Rlci5kZWNvZGVIYW5kbGUoKTsKLSAgfTsK
LQotICBIYW5kbGUuZW5jb2RlID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAgZW5jb2Rl
ci5lbmNvZGVIYW5kbGUodmFsKTsKLSAgfTsKLQotICBmdW5jdGlvbiBOdWxsYWJsZUhhbmRsZSgp
IHsKLSAgfQotCi0gIE51bGxhYmxlSGFuZGxlLmVuY29kZWRTaXplID0gSGFuZGxlLmVuY29kZWRT
aXplOwotCi0gIE51bGxhYmxlSGFuZGxlLmRlY29kZSA9IEhhbmRsZS5kZWNvZGU7Ci0KLSAgTnVs
bGFibGVIYW5kbGUuZW5jb2RlID0gSGFuZGxlLmVuY29kZTsKLQotICBmdW5jdGlvbiBJbnRlcmZh
Y2UoY2xzKSB7Ci0gICAgdGhpcy5jbHMgPSBjbHM7Ci0gIH0KLQotICBJbnRlcmZhY2UucHJvdG90
eXBlLmVuY29kZWRTaXplID0gODsKLQotICBJbnRlcmZhY2UucHJvdG90eXBlLmRlY29kZSA9IGZ1
bmN0aW9uKGRlY29kZXIpIHsKLSAgICB2YXIgaW50ZXJmYWNlUHRySW5mbyA9IG5ldyBtb2pvLklu
dGVyZmFjZVB0ckluZm8oCi0gICAgICAgIGRlY29kZXIuZGVjb2RlSGFuZGxlKCksIGRlY29kZXIu
cmVhZFVpbnQzMigpKTsKLSAgICB2YXIgaW50ZXJmYWNlUHRyID0gbmV3IHRoaXMuY2xzKCk7Ci0g
ICAgaW50ZXJmYWNlUHRyLnB0ci5iaW5kKGludGVyZmFjZVB0ckluZm8pOwotICAgIHJldHVybiBp
bnRlcmZhY2VQdHI7Ci0gIH07Ci0KLSAgSW50ZXJmYWNlLnByb3RvdHlwZS5lbmNvZGUgPSBmdW5j
dGlvbihlbmNvZGVyLCB2YWwpIHsKLSAgICB2YXIgaW50ZXJmYWNlUHRySW5mbyA9Ci0gICAgICAg
IHZhbCA/IHZhbC5wdHIucGFzc0ludGVyZmFjZSgpIDogbmV3IG1vam8uSW50ZXJmYWNlUHRySW5m
byhudWxsLCAwKTsKLSAgICBlbmNvZGVyLmVuY29kZUhhbmRsZShpbnRlcmZhY2VQdHJJbmZvLmhh
bmRsZSk7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMihpbnRlcmZhY2VQdHJJbmZvLnZlcnNpb24p
OwotICB9OwotCi0gIGZ1bmN0aW9uIE51bGxhYmxlSW50ZXJmYWNlKGNscykgewotICAgIEludGVy
ZmFjZS5jYWxsKHRoaXMsIGNscyk7Ci0gIH0KLQotICBOdWxsYWJsZUludGVyZmFjZS5wcm90b3R5
cGUgPSBPYmplY3QuY3JlYXRlKEludGVyZmFjZS5wcm90b3R5cGUpOwotCi0gIGZ1bmN0aW9uIEFz
c29jaWF0ZWRJbnRlcmZhY2VQdHJJbmZvKCkgewotICB9Ci0KLSAgQXNzb2NpYXRlZEludGVyZmFj
ZVB0ckluZm8ucHJvdG90eXBlLmVuY29kZWRTaXplID0gODsKLQotICBBc3NvY2lhdGVkSW50ZXJm
YWNlUHRySW5mby5kZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgcmV0dXJuIG5ldyBt
b2pvLkFzc29jaWF0ZWRJbnRlcmZhY2VQdHJJbmZvKAotICAgICAgZGVjb2Rlci5kZWNvZGVBc3Nv
Y2lhdGVkRW5kcG9pbnRIYW5kbGUoKSwgZGVjb2Rlci5yZWFkVWludDMyKCkpOwotICB9OwotCi0g
IEFzc29jaWF0ZWRJbnRlcmZhY2VQdHJJbmZvLmVuY29kZSA9IGZ1bmN0aW9uKGVuY29kZXIsIHZh
bCkgewotICAgIHZhciBhc3NvY2lhdGVkaW50ZXJmYWNlUHRySW5mbyA9Ci0gICAgICAgIHZhbCA/
IHZhbCA6IG5ldyBtb2pvLkFzc29jaWF0ZWRJbnRlcmZhY2VQdHJJbmZvKG51bGwsIDApOwotICAg
IGVuY29kZXIuZW5jb2RlQXNzb2NpYXRlZEVuZHBvaW50SGFuZGxlKAotICAgICAgICBhc3NvY2lh
dGVkaW50ZXJmYWNlUHRySW5mby5pbnRlcmZhY2VFbmRwb2ludEhhbmRsZSk7Ci0gICAgZW5jb2Rl
ci53cml0ZVVpbnQzMihhc3NvY2lhdGVkaW50ZXJmYWNlUHRySW5mby52ZXJzaW9uKTsKLSAgfTsK
LQotICBmdW5jdGlvbiBOdWxsYWJsZUFzc29jaWF0ZWRJbnRlcmZhY2VQdHJJbmZvKCkgewotICB9
Ci0KLSAgTnVsbGFibGVBc3NvY2lhdGVkSW50ZXJmYWNlUHRySW5mby5lbmNvZGVkU2l6ZSA9Ci0g
ICAgICBBc3NvY2lhdGVkSW50ZXJmYWNlUHRySW5mby5lbmNvZGVkU2l6ZTsKLQotICBOdWxsYWJs
ZUFzc29jaWF0ZWRJbnRlcmZhY2VQdHJJbmZvLmRlY29kZSA9Ci0gICAgICBBc3NvY2lhdGVkSW50
ZXJmYWNlUHRySW5mby5kZWNvZGU7Ci0KLSAgTnVsbGFibGVBc3NvY2lhdGVkSW50ZXJmYWNlUHRy
SW5mby5lbmNvZGUgPQotICAgICAgQXNzb2NpYXRlZEludGVyZmFjZVB0ckluZm8uZW5jb2RlOwot
Ci0gIGZ1bmN0aW9uIEludGVyZmFjZVJlcXVlc3QoKSB7Ci0gIH0KLQotICBJbnRlcmZhY2VSZXF1
ZXN0LmVuY29kZWRTaXplID0gNDsKLQotICBJbnRlcmZhY2VSZXF1ZXN0LmRlY29kZSA9IGZ1bmN0
aW9uKGRlY29kZXIpIHsKLSAgICByZXR1cm4gbmV3IG1vam8uSW50ZXJmYWNlUmVxdWVzdChkZWNv
ZGVyLmRlY29kZUhhbmRsZSgpKTsKLSAgfTsKLQotICBJbnRlcmZhY2VSZXF1ZXN0LmVuY29kZSA9
IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgIGVuY29kZXIuZW5jb2RlSGFuZGxlKHZhbCA/
IHZhbC5oYW5kbGUgOiBudWxsKTsKLSAgfTsKLQotICBmdW5jdGlvbiBOdWxsYWJsZUludGVyZmFj
ZVJlcXVlc3QoKSB7Ci0gIH0KLQotICBOdWxsYWJsZUludGVyZmFjZVJlcXVlc3QuZW5jb2RlZFNp
emUgPSBJbnRlcmZhY2VSZXF1ZXN0LmVuY29kZWRTaXplOwotCi0gIE51bGxhYmxlSW50ZXJmYWNl
UmVxdWVzdC5kZWNvZGUgPSBJbnRlcmZhY2VSZXF1ZXN0LmRlY29kZTsKLQotICBOdWxsYWJsZUlu
dGVyZmFjZVJlcXVlc3QuZW5jb2RlID0gSW50ZXJmYWNlUmVxdWVzdC5lbmNvZGU7Ci0KLSAgZnVu
Y3Rpb24gQXNzb2NpYXRlZEludGVyZmFjZVJlcXVlc3QoKSB7Ci0gIH0KLQotICBBc3NvY2lhdGVk
SW50ZXJmYWNlUmVxdWVzdC5kZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgdmFyIGhh
bmRsZSA9IGRlY29kZXIuZGVjb2RlQXNzb2NpYXRlZEVuZHBvaW50SGFuZGxlKCk7Ci0gICAgcmV0
dXJuIG5ldyBtb2pvLkFzc29jaWF0ZWRJbnRlcmZhY2VSZXF1ZXN0KGhhbmRsZSk7Ci0gIH07Ci0K
LSAgQXNzb2NpYXRlZEludGVyZmFjZVJlcXVlc3QuZW5jb2RlID0gZnVuY3Rpb24oZW5jb2Rlciwg
dmFsKSB7Ci0gICAgZW5jb2Rlci5lbmNvZGVBc3NvY2lhdGVkRW5kcG9pbnRIYW5kbGUoCi0gICAg
ICAgIHZhbCA/IHZhbC5pbnRlcmZhY2VFbmRwb2ludEhhbmRsZSA6IG51bGwpOwotICB9OwotCi0g
IEFzc29jaWF0ZWRJbnRlcmZhY2VSZXF1ZXN0LmVuY29kZWRTaXplID0gNDsKLQotICBmdW5jdGlv
biBOdWxsYWJsZUFzc29jaWF0ZWRJbnRlcmZhY2VSZXF1ZXN0KCkgewotICB9Ci0KLSAgTnVsbGFi
bGVBc3NvY2lhdGVkSW50ZXJmYWNlUmVxdWVzdC5lbmNvZGVkU2l6ZSA9Ci0gICAgICBBc3NvY2lh
dGVkSW50ZXJmYWNlUmVxdWVzdC5lbmNvZGVkU2l6ZTsKLQotICBOdWxsYWJsZUFzc29jaWF0ZWRJ
bnRlcmZhY2VSZXF1ZXN0LmRlY29kZSA9Ci0gICAgICBBc3NvY2lhdGVkSW50ZXJmYWNlUmVxdWVz
dC5kZWNvZGU7Ci0KLSAgTnVsbGFibGVBc3NvY2lhdGVkSW50ZXJmYWNlUmVxdWVzdC5lbmNvZGUg
PQotICAgICAgQXNzb2NpYXRlZEludGVyZmFjZVJlcXVlc3QuZW5jb2RlOwotCi0gIGZ1bmN0aW9u
IE1hcE9mKGtleUNsYXNzLCB2YWx1ZUNsYXNzKSB7Ci0gICAgdGhpcy5rZXlDbGFzcyA9IGtleUNs
YXNzOwotICAgIHRoaXMudmFsdWVDbGFzcyA9IHZhbHVlQ2xhc3M7Ci0gIH0KLQotICBNYXBPZi5w
cm90b3R5cGUuZW5jb2RlZFNpemUgPSA4OwotCi0gIE1hcE9mLnByb3RvdHlwZS5kZWNvZGUgPSBm
dW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgcmV0dXJuIGRlY29kZXIuZGVjb2RlTWFwUG9pbnRlcih0
aGlzLmtleUNsYXNzLCB0aGlzLnZhbHVlQ2xhc3MpOwotICB9OwotCi0gIE1hcE9mLnByb3RvdHlw
ZS5lbmNvZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2YWwpIHsKLSAgICBlbmNvZGVyLmVuY29kZU1h
cFBvaW50ZXIodGhpcy5rZXlDbGFzcywgdGhpcy52YWx1ZUNsYXNzLCB2YWwpOwotICB9OwotCi0g
IGZ1bmN0aW9uIE51bGxhYmxlTWFwT2Yoa2V5Q2xhc3MsIHZhbHVlQ2xhc3MpIHsKLSAgICBNYXBP
Zi5jYWxsKHRoaXMsIGtleUNsYXNzLCB2YWx1ZUNsYXNzKTsKLSAgfQotCi0gIE51bGxhYmxlTWFw
T2YucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShNYXBPZi5wcm90b3R5cGUpOwotCi0gIGludGVy
bmFsLmFsaWduID0gYWxpZ247Ci0gIGludGVybmFsLmlzQWxpZ25lZCA9IGlzQWxpZ25lZDsKLSAg
aW50ZXJuYWwuTWVzc2FnZSA9IE1lc3NhZ2U7Ci0gIGludGVybmFsLk1lc3NhZ2VWMEJ1aWxkZXIg
PSBNZXNzYWdlVjBCdWlsZGVyOwotICBpbnRlcm5hbC5NZXNzYWdlVjFCdWlsZGVyID0gTWVzc2Fn
ZVYxQnVpbGRlcjsKLSAgaW50ZXJuYWwuTWVzc2FnZVYyQnVpbGRlciA9IE1lc3NhZ2VWMkJ1aWxk
ZXI7Ci0gIGludGVybmFsLk1lc3NhZ2VSZWFkZXIgPSBNZXNzYWdlUmVhZGVyOwotICBpbnRlcm5h
bC5rQXJyYXlIZWFkZXJTaXplID0ga0FycmF5SGVhZGVyU2l6ZTsKLSAgaW50ZXJuYWwua01hcFN0
cnVjdFBheWxvYWRTaXplID0ga01hcFN0cnVjdFBheWxvYWRTaXplOwotICBpbnRlcm5hbC5rU3Ry
dWN0SGVhZGVyU2l6ZSA9IGtTdHJ1Y3RIZWFkZXJTaXplOwotICBpbnRlcm5hbC5rRW5jb2RlZElu
dmFsaWRIYW5kbGVWYWx1ZSA9IGtFbmNvZGVkSW52YWxpZEhhbmRsZVZhbHVlOwotICBpbnRlcm5h
bC5rTWVzc2FnZVYwSGVhZGVyU2l6ZSA9IGtNZXNzYWdlVjBIZWFkZXJTaXplOwotICBpbnRlcm5h
bC5rTWVzc2FnZVYxSGVhZGVyU2l6ZSA9IGtNZXNzYWdlVjFIZWFkZXJTaXplOwotICBpbnRlcm5h
bC5rTWVzc2FnZVYySGVhZGVyU2l6ZSA9IGtNZXNzYWdlVjJIZWFkZXJTaXplOwotICBpbnRlcm5h
bC5rTWVzc2FnZVBheWxvYWRJbnRlcmZhY2VJZHNQb2ludGVyT2Zmc2V0ID0KLSAgICAgIGtNZXNz
YWdlUGF5bG9hZEludGVyZmFjZUlkc1BvaW50ZXJPZmZzZXQ7Ci0gIGludGVybmFsLmtNZXNzYWdl
RXhwZWN0c1Jlc3BvbnNlID0ga01lc3NhZ2VFeHBlY3RzUmVzcG9uc2U7Ci0gIGludGVybmFsLmtN
ZXNzYWdlSXNSZXNwb25zZSA9IGtNZXNzYWdlSXNSZXNwb25zZTsKLSAgaW50ZXJuYWwuSW50OCA9
IEludDg7Ci0gIGludGVybmFsLlVpbnQ4ID0gVWludDg7Ci0gIGludGVybmFsLkludDE2ID0gSW50
MTY7Ci0gIGludGVybmFsLlVpbnQxNiA9IFVpbnQxNjsKLSAgaW50ZXJuYWwuSW50MzIgPSBJbnQz
MjsKLSAgaW50ZXJuYWwuVWludDMyID0gVWludDMyOwotICBpbnRlcm5hbC5JbnQ2NCA9IEludDY0
OwotICBpbnRlcm5hbC5VaW50NjQgPSBVaW50NjQ7Ci0gIGludGVybmFsLkZsb2F0ID0gRmxvYXQ7
Ci0gIGludGVybmFsLkRvdWJsZSA9IERvdWJsZTsKLSAgaW50ZXJuYWwuU3RyaW5nID0gU3RyaW5n
OwotICBpbnRlcm5hbC5FbnVtID0gRW51bTsKLSAgaW50ZXJuYWwuTnVsbGFibGVTdHJpbmcgPSBO
dWxsYWJsZVN0cmluZzsKLSAgaW50ZXJuYWwuUG9pbnRlclRvID0gUG9pbnRlclRvOwotICBpbnRl
cm5hbC5OdWxsYWJsZVBvaW50ZXJUbyA9IE51bGxhYmxlUG9pbnRlclRvOwotICBpbnRlcm5hbC5B
cnJheU9mID0gQXJyYXlPZjsKLSAgaW50ZXJuYWwuTnVsbGFibGVBcnJheU9mID0gTnVsbGFibGVB
cnJheU9mOwotICBpbnRlcm5hbC5QYWNrZWRCb29sID0gUGFja2VkQm9vbDsKLSAgaW50ZXJuYWwu
SGFuZGxlID0gSGFuZGxlOwotICBpbnRlcm5hbC5OdWxsYWJsZUhhbmRsZSA9IE51bGxhYmxlSGFu
ZGxlOwotICBpbnRlcm5hbC5JbnRlcmZhY2UgPSBJbnRlcmZhY2U7Ci0gIGludGVybmFsLk51bGxh
YmxlSW50ZXJmYWNlID0gTnVsbGFibGVJbnRlcmZhY2U7Ci0gIGludGVybmFsLkludGVyZmFjZVJl
cXVlc3QgPSBJbnRlcmZhY2VSZXF1ZXN0OwotICBpbnRlcm5hbC5OdWxsYWJsZUludGVyZmFjZVJl
cXVlc3QgPSBOdWxsYWJsZUludGVyZmFjZVJlcXVlc3Q7Ci0gIGludGVybmFsLkFzc29jaWF0ZWRJ
bnRlcmZhY2VQdHJJbmZvID0gQXNzb2NpYXRlZEludGVyZmFjZVB0ckluZm87Ci0gIGludGVybmFs
Lk51bGxhYmxlQXNzb2NpYXRlZEludGVyZmFjZVB0ckluZm8gPQotICAgICAgTnVsbGFibGVBc3Nv
Y2lhdGVkSW50ZXJmYWNlUHRySW5mbzsKLSAgaW50ZXJuYWwuQXNzb2NpYXRlZEludGVyZmFjZVJl
cXVlc3QgPSBBc3NvY2lhdGVkSW50ZXJmYWNlUmVxdWVzdDsKLSAgaW50ZXJuYWwuTnVsbGFibGVB
c3NvY2lhdGVkSW50ZXJmYWNlUmVxdWVzdCA9Ci0gICAgICBOdWxsYWJsZUFzc29jaWF0ZWRJbnRl
cmZhY2VSZXF1ZXN0OwotICBpbnRlcm5hbC5NYXBPZiA9IE1hcE9mOwotICBpbnRlcm5hbC5OdWxs
YWJsZU1hcE9mID0gTnVsbGFibGVNYXBPZjsKLX0pKCk7Ci0vLyBDb3B5cmlnaHQgMjAxNCBUaGUg
Q2hyb21pdW0gQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLS8vIFVzZSBvZiB0aGlzIHNv
dXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUK
LS8vIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCi0KLShmdW5jdGlvbigpIHsKLSAgdmFyIGlu
dGVybmFsID0gbW9qby5pbnRlcm5hbDsKLQotICBmdW5jdGlvbiBDb25uZWN0b3IoaGFuZGxlKSB7
Ci0gICAgaWYgKCEoaGFuZGxlIGluc3RhbmNlb2YgTW9qb0hhbmRsZSkpCi0gICAgICB0aHJvdyBu
ZXcgRXJyb3IoIkNvbm5lY3Rvcjogbm90IGEgaGFuZGxlICIgKyBoYW5kbGUpOwotICAgIHRoaXMu
aGFuZGxlXyA9IGhhbmRsZTsKLSAgICB0aGlzLmRyb3BXcml0ZXNfID0gZmFsc2U7Ci0gICAgdGhp
cy5lcnJvcl8gPSBmYWxzZTsKLSAgICB0aGlzLmluY29taW5nUmVjZWl2ZXJfID0gbnVsbDsKLSAg
ICB0aGlzLnJlYWRXYXRjaGVyXyA9IG51bGw7Ci0gICAgdGhpcy5lcnJvckhhbmRsZXJfID0gbnVs
bDsKLSAgICB0aGlzLnBhdXNlZF8gPSBmYWxzZTsKLQotICAgIHRoaXMud2FpdFRvUmVhZE1vcmUo
KTsKLSAgfQotCi0gIENvbm5lY3Rvci5wcm90b3R5cGUuY2xvc2UgPSBmdW5jdGlvbigpIHsKLSAg
ICB0aGlzLmNhbmNlbFdhaXQoKTsKLSAgICBpZiAodGhpcy5oYW5kbGVfICE9IG51bGwpIHsKLSAg
ICAgIHRoaXMuaGFuZGxlXy5jbG9zZSgpOwotICAgICAgdGhpcy5oYW5kbGVfID0gbnVsbDsKLSAg
ICB9Ci0gIH07Ci0KLSAgQ29ubmVjdG9yLnByb3RvdHlwZS5wYXVzZUluY29taW5nTWV0aG9kQ2Fs
bFByb2Nlc3NpbmcgPSBmdW5jdGlvbigpIHsKLSAgICBpZiAodGhpcy5wYXVzZWRfKSB7Ci0gICAg
ICByZXR1cm47Ci0gICAgfQotICAgIHRoaXMucGF1c2VkXz0gdHJ1ZTsKLSAgICB0aGlzLmNhbmNl
bFdhaXQoKTsKLSAgfTsKLQotICBDb25uZWN0b3IucHJvdG90eXBlLnJlc3VtZUluY29taW5nTWV0
aG9kQ2FsbFByb2Nlc3NpbmcgPSBmdW5jdGlvbigpIHsKLSAgICBpZiAoIXRoaXMucGF1c2VkXykg
ewotICAgICAgcmV0dXJuOwotICAgIH0KLSAgICB0aGlzLnBhdXNlZF89IGZhbHNlOwotICAgIHRo
aXMud2FpdFRvUmVhZE1vcmUoKTsKLSAgfTsKLQotICBDb25uZWN0b3IucHJvdG90eXBlLmFjY2Vw
dCA9IGZ1bmN0aW9uKG1lc3NhZ2UpIHsKLSAgICBpZiAodGhpcy5lcnJvcl8pCi0gICAgICByZXR1
cm4gZmFsc2U7Ci0KLSAgICBpZiAodGhpcy5kcm9wV3JpdGVzXykKLSAgICAgIHJldHVybiB0cnVl
OwotCi0gICAgdmFyIHJlc3VsdCA9IHRoaXMuaGFuZGxlXy53cml0ZU1lc3NhZ2UoCi0gICAgICAg
IG5ldyBVaW50OEFycmF5KG1lc3NhZ2UuYnVmZmVyLmFycmF5QnVmZmVyKSwgbWVzc2FnZS5oYW5k
bGVzKTsKLSAgICBzd2l0Y2ggKHJlc3VsdCkgewotICAgICAgY2FzZSBNb2pvLlJFU1VMVF9PSzoK
LSAgICAgICAgLy8gVGhlIGhhbmRsZXMgd2VyZSBzdWNjZXNzZnVsbHkgdHJhbnNmZXJyZWQsIHNv
IHdlIGRvbid0IG93biB0aGVtCi0gICAgICAgIC8vIGFueW1vcmUuCi0gICAgICAgIG1lc3NhZ2Uu
aGFuZGxlcyA9IFtdOwotICAgICAgICBicmVhazsKLSAgICAgIGNhc2UgTW9qby5SRVNVTFRfRkFJ
TEVEX1BSRUNPTkRJVElPTjoKLSAgICAgICAgLy8gVGhlcmUncyBubyBwb2ludCBpbiBjb250aW51
aW5nIHRvIHdyaXRlIHRvIHRoaXMgcGlwZSBzaW5jZSB0aGUgb3RoZXIKLSAgICAgICAgLy8gZW5k
IGlzIGdvbmUuIEF2b2lkIHdyaXRpbmcgYW55IGZ1dHVyZSBtZXNzYWdlcy4gSGlkZSB3cml0ZSBm
YWlsdXJlcwotICAgICAgICAvLyBmcm9tIHRoZSBjYWxsZXIgc2luY2Ugd2UnZCBsaWtlIHRoZW0g
dG8gY29udGludWUgY29uc3VtaW5nIGFueQotICAgICAgICAvLyBiYWNrbG9nIG9mIGluY29taW5n
IG1lc3NhZ2VzIGJlZm9yZSByZWdhcmRpbmcgdGhlIG1lc3NhZ2UgcGlwZSBhcwotICAgICAgICAv
LyBjbG9zZWQuCi0gICAgICAgIHRoaXMuZHJvcFdyaXRlc18gPSB0cnVlOwotICAgICAgICBicmVh
azsKLSAgICAgIGRlZmF1bHQ6Ci0gICAgICAgIC8vIFRoaXMgcGFydGljdWxhciB3cml0ZSB3YXMg
cmVqZWN0ZWQsIHByZXN1bWFibHkgYmVjYXVzZSBvZiBiYWQgaW5wdXQuCi0gICAgICAgIC8vIFRo
ZSBwaXBlIGlzIG5vdCBuZWNlc3NhcmlseSBpbiBhIGJhZCBzdGF0ZS4KLSAgICAgICAgcmV0dXJu
IGZhbHNlOwotICAgIH0KLSAgICByZXR1cm4gdHJ1ZTsKLSAgfTsKLQotICBDb25uZWN0b3IucHJv
dG90eXBlLnNldEluY29taW5nUmVjZWl2ZXIgPSBmdW5jdGlvbihyZWNlaXZlcikgewotICAgIHRo
aXMuaW5jb21pbmdSZWNlaXZlcl8gPSByZWNlaXZlcjsKLSAgfTsKLQotICBDb25uZWN0b3IucHJv
dG90eXBlLnNldEVycm9ySGFuZGxlciA9IGZ1bmN0aW9uKGhhbmRsZXIpIHsKLSAgICB0aGlzLmVy
cm9ySGFuZGxlcl8gPSBoYW5kbGVyOwotICB9OwotCi0gIENvbm5lY3Rvci5wcm90b3R5cGUucmVh
ZE1vcmVfID0gZnVuY3Rpb24ocmVzdWx0KSB7Ci0gICAgZm9yICg7OykgewotICAgICAgaWYgKHRo
aXMucGF1c2VkXykgewotICAgICAgICByZXR1cm47Ci0gICAgICB9Ci0KLSAgICAgIHZhciByZWFk
ID0gdGhpcy5oYW5kbGVfLnJlYWRNZXNzYWdlKCk7Ci0gICAgICBpZiAodGhpcy5oYW5kbGVfID09
IG51bGwpIC8vIFRoZSBjb25uZWN0b3IgaGFzIGJlZW4gY2xvc2VkLgotICAgICAgICByZXR1cm47
Ci0gICAgICBpZiAocmVhZC5yZXN1bHQgPT0gTW9qby5SRVNVTFRfU0hPVUxEX1dBSVQpCi0gICAg
ICAgIHJldHVybjsKLSAgICAgIGlmIChyZWFkLnJlc3VsdCAhPSBNb2pvLlJFU1VMVF9PSykgewot
ICAgICAgICB0aGlzLmhhbmRsZUVycm9yKHJlYWQucmVzdWx0ICE9PSBNb2pvLlJFU1VMVF9GQUlM
RURfUFJFQ09ORElUSU9OLAotICAgICAgICAgICAgZmFsc2UpOwotICAgICAgICByZXR1cm47Ci0g
ICAgICB9Ci0gICAgICB2YXIgbWVzc2FnZUJ1ZmZlciA9IG5ldyBpbnRlcm5hbC5CdWZmZXIocmVh
ZC5idWZmZXIpOwotICAgICAgdmFyIG1lc3NhZ2UgPSBuZXcgaW50ZXJuYWwuTWVzc2FnZShtZXNz
YWdlQnVmZmVyLCByZWFkLmhhbmRsZXMpOwotICAgICAgdmFyIHJlY2VpdmVyUmVzdWx0ID0gdGhp
cy5pbmNvbWluZ1JlY2VpdmVyXyAmJgotICAgICAgICAgIHRoaXMuaW5jb21pbmdSZWNlaXZlcl8u
YWNjZXB0KG1lc3NhZ2UpOwotCi0gICAgICAvLyBIYW5kbGUgaW52YWxpZCBpbmNvbWluZyBtZXNz
YWdlLgotICAgICAgaWYgKCFpbnRlcm5hbC5pc1Rlc3RpbmdNb2RlKCkgJiYgIXJlY2VpdmVyUmVz
dWx0KSB7Ci0gICAgICAgIC8vIFRPRE8oeXpzaGVuKTogQ29uc2lkZXIgbm90aWZ5aW5nIHRoZSBl
bWJlZGRlci4KLSAgICAgICAgdGhpcy5oYW5kbGVFcnJvcih0cnVlLCBmYWxzZSk7Ci0gICAgICB9
Ci0gICAgfQotICB9OwotCi0gIENvbm5lY3Rvci5wcm90b3R5cGUuY2FuY2VsV2FpdCA9IGZ1bmN0
aW9uKCkgewotICAgIGlmICh0aGlzLnJlYWRXYXRjaGVyXykgewotICAgICAgdGhpcy5yZWFkV2F0
Y2hlcl8uY2FuY2VsKCk7Ci0gICAgICB0aGlzLnJlYWRXYXRjaGVyXyA9IG51bGw7Ci0gICAgfQot
ICB9OwotCi0gIENvbm5lY3Rvci5wcm90b3R5cGUud2FpdFRvUmVhZE1vcmUgPSBmdW5jdGlvbigp
IHsKLSAgICBpZiAodGhpcy5oYW5kbGVfKSB7Ci0gICAgICB0aGlzLnJlYWRXYXRjaGVyXyA9IHRo
aXMuaGFuZGxlXy53YXRjaCh7cmVhZGFibGU6IHRydWV9LAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5yZWFkTW9yZV8uYmluZCh0aGlzKSk7Ci0gICAg
fQotICB9OwotCi0gIENvbm5lY3Rvci5wcm90b3R5cGUuaGFuZGxlRXJyb3IgPSBmdW5jdGlvbihm
b3JjZVBpcGVSZXNldCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGZvcmNlQXN5bmNIYW5kbGVyKSB7Ci0gICAgaWYgKHRoaXMuZXJyb3JfIHx8IHRoaXMuaGFu
ZGxlXyA9PT0gbnVsbCkgewotICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIGlmICh0aGlzLnBh
dXNlZF8pIHsKLSAgICAgIC8vIEVuZm9yY2UgY2FsbGluZyB0aGUgZXJyb3IgaGFuZGxlciBhc3lu
Y2hyb25vdXNseSBpZiB0aGUgdXNlciBoYXMKLSAgICAgIC8vIHBhdXNlZCByZWNlaXZpbmcgbWVz
c2FnZXMuIFdlIG5lZWQgdG8gd2FpdCB1bnRpbCB0aGUgdXNlciBzdGFydHMKLSAgICAgIC8vIHJl
Y2VpdmluZyBtZXNzYWdlcyBhZ2Fpbi4KLSAgICAgIGZvcmNlQXN5bmNIYW5kbGVyID0gdHJ1ZTsK
LSAgICB9Ci0KLSAgICBpZiAoIWZvcmNlUGlwZVJlc2V0ICYmIGZvcmNlQXN5bmNIYW5kbGVyKSB7
Ci0gICAgICBmb3JjZVBpcGVSZXNldCA9IHRydWU7Ci0gICAgfQotCi0gICAgdGhpcy5jYW5jZWxX
YWl0KCk7Ci0gICAgaWYgKGZvcmNlUGlwZVJlc2V0KSB7Ci0gICAgICB0aGlzLmhhbmRsZV8uY2xv
c2UoKTsKLSAgICAgIHZhciBkdW1teVBpcGUgPSBNb2pvLmNyZWF0ZU1lc3NhZ2VQaXBlKCk7Ci0g
ICAgICB0aGlzLmhhbmRsZV8gPSBkdW1teVBpcGUuaGFuZGxlMDsKLSAgICB9Ci0KLSAgICBpZiAo
Zm9yY2VBc3luY0hhbmRsZXIpIHsKLSAgICAgIGlmICghdGhpcy5wYXVzZWRfKSB7Ci0gICAgICAg
IHRoaXMud2FpdFRvUmVhZE1vcmUoKTsKLSAgICAgIH0KLSAgICB9IGVsc2UgewotICAgICAgdGhp
cy5lcnJvcl8gPSB0cnVlOwotICAgICAgaWYgKHRoaXMuZXJyb3JIYW5kbGVyXykgewotICAgICAg
ICB0aGlzLmVycm9ySGFuZGxlcl8ub25FcnJvcigpOwotICAgICAgfQotICAgIH0KLSAgfTsKLQot
ICBpbnRlcm5hbC5Db25uZWN0b3IgPSBDb25uZWN0b3I7Ci19KSgpOwotLy8gQ29weXJpZ2h0IDIw
MTYgVGhlIENocm9taXVtIEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0vLyBVc2Ugb2Yg
dGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlIHRoYXQg
Y2FuIGJlCi0vLyBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgotCi0oZnVuY3Rpb24oKSB7Ci0g
IHZhciBpbnRlcm5hbCA9IG1vam8uaW50ZXJuYWw7Ci0KLSAgLy8gQ29uc3RhbnRzIC0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K
LSAgdmFyIGtJbnRlcmZhY2VJZE5hbWVzcGFjZU1hc2sgPSAweDgwMDAwMDAwOwotICB2YXIga01h
c3RlckludGVyZmFjZUlkID0gMHgwMDAwMDAwMDsKLSAgdmFyIGtJbnZhbGlkSW50ZXJmYWNlSWQg
PSAweEZGRkZGRkZGOwotCi0gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotCi0gIGZ1bmN0aW9uIElu
dGVyZmFjZVB0ckluZm8oaGFuZGxlLCB2ZXJzaW9uKSB7Ci0gICAgdGhpcy5oYW5kbGUgPSBoYW5k
bGU7Ci0gICAgdGhpcy52ZXJzaW9uID0gdmVyc2lvbjsKLSAgfQotCi0gIEludGVyZmFjZVB0cklu
Zm8ucHJvdG90eXBlLmlzVmFsaWQgPSBmdW5jdGlvbigpIHsKLSAgICByZXR1cm4gdGhpcy5oYW5k
bGUgaW5zdGFuY2VvZiBNb2pvSGFuZGxlOwotICB9OwotCi0gIEludGVyZmFjZVB0ckluZm8ucHJv
dG90eXBlLmNsb3NlID0gZnVuY3Rpb24oKSB7Ci0gICAgaWYgKCF0aGlzLmlzVmFsaWQoKSkKLSAg
ICAgIHJldHVybjsKLQotICAgIHRoaXMuaGFuZGxlLmNsb3NlKCk7Ci0gICAgdGhpcy5oYW5kbGUg
PSBudWxsOwotICAgIHRoaXMudmVyc2lvbiA9IDA7Ci0gIH07Ci0KLSAgZnVuY3Rpb24gQXNzb2Np
YXRlZEludGVyZmFjZVB0ckluZm8oaW50ZXJmYWNlRW5kcG9pbnRIYW5kbGUsIHZlcnNpb24pIHsK
LSAgICB0aGlzLmludGVyZmFjZUVuZHBvaW50SGFuZGxlID0gaW50ZXJmYWNlRW5kcG9pbnRIYW5k
bGU7Ci0gICAgdGhpcy52ZXJzaW9uID0gdmVyc2lvbjsKLSAgfQotCi0gIEFzc29jaWF0ZWRJbnRl
cmZhY2VQdHJJbmZvLnByb3RvdHlwZS5pc1ZhbGlkID0gZnVuY3Rpb24oKSB7Ci0gICAgcmV0dXJu
IHRoaXMuaW50ZXJmYWNlRW5kcG9pbnRIYW5kbGUuaXNWYWxpZCgpOwotICB9OwotCi0gIC8vIC0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLQotCi0gIGZ1bmN0aW9uIEludGVyZmFjZVJlcXVlc3QoaGFuZGxlKSB7
Ci0gICAgdGhpcy5oYW5kbGUgPSBoYW5kbGU7Ci0gIH0KLQotICBJbnRlcmZhY2VSZXF1ZXN0LnBy
b3RvdHlwZS5pc1ZhbGlkID0gZnVuY3Rpb24oKSB7Ci0gICAgcmV0dXJuIHRoaXMuaGFuZGxlIGlu
c3RhbmNlb2YgTW9qb0hhbmRsZTsKLSAgfTsKLQotICBJbnRlcmZhY2VSZXF1ZXN0LnByb3RvdHlw
ZS5jbG9zZSA9IGZ1bmN0aW9uKCkgewotICAgIGlmICghdGhpcy5pc1ZhbGlkKCkpCi0gICAgICBy
ZXR1cm47Ci0KLSAgICB0aGlzLmhhbmRsZS5jbG9zZSgpOwotICAgIHRoaXMuaGFuZGxlID0gbnVs
bDsKLSAgfTsKLQotICBmdW5jdGlvbiBBc3NvY2lhdGVkSW50ZXJmYWNlUmVxdWVzdChpbnRlcmZh
Y2VFbmRwb2ludEhhbmRsZSkgewotICAgIHRoaXMuaW50ZXJmYWNlRW5kcG9pbnRIYW5kbGUgPSBp
bnRlcmZhY2VFbmRwb2ludEhhbmRsZTsKLSAgfQotCi0gIEFzc29jaWF0ZWRJbnRlcmZhY2VSZXF1
ZXN0LnByb3RvdHlwZS5pc1ZhbGlkID0gZnVuY3Rpb24oKSB7Ci0gICAgcmV0dXJuIHRoaXMuaW50
ZXJmYWNlRW5kcG9pbnRIYW5kbGUuaXNWYWxpZCgpOwotICB9OwotCi0gIEFzc29jaWF0ZWRJbnRl
cmZhY2VSZXF1ZXN0LnByb3RvdHlwZS5yZXNldFdpdGhSZWFzb24gPSBmdW5jdGlvbihyZWFzb24p
IHsKLSAgICB0aGlzLmludGVyZmFjZUVuZHBvaW50SGFuZGxlLnJlc2V0KHJlYXNvbik7Ci0gIH07
Ci0KLSAgZnVuY3Rpb24gaXNNYXN0ZXJJbnRlcmZhY2VJZChpbnRlcmZhY2VJZCkgewotICAgIHJl
dHVybiBpbnRlcmZhY2VJZCA9PT0ga01hc3RlckludGVyZmFjZUlkOwotICB9Ci0KLSAgZnVuY3Rp
b24gaXNWYWxpZEludGVyZmFjZUlkKGludGVyZmFjZUlkKSB7Ci0gICAgcmV0dXJuIGludGVyZmFj
ZUlkICE9PSBrSW52YWxpZEludGVyZmFjZUlkOwotICB9Ci0KLSAgbW9qby5JbnRlcmZhY2VQdHJJ
bmZvID0gSW50ZXJmYWNlUHRySW5mbzsKLSAgbW9qby5JbnRlcmZhY2VSZXF1ZXN0ID0gSW50ZXJm
YWNlUmVxdWVzdDsKLSAgbW9qby5Bc3NvY2lhdGVkSW50ZXJmYWNlUHRySW5mbyA9IEFzc29jaWF0
ZWRJbnRlcmZhY2VQdHJJbmZvOwotICBtb2pvLkFzc29jaWF0ZWRJbnRlcmZhY2VSZXF1ZXN0ID0g
QXNzb2NpYXRlZEludGVyZmFjZVJlcXVlc3Q7Ci0gIGludGVybmFsLmlzTWFzdGVySW50ZXJmYWNl
SWQgPSBpc01hc3RlckludGVyZmFjZUlkOwotICBpbnRlcm5hbC5pc1ZhbGlkSW50ZXJmYWNlSWQg
PSBpc1ZhbGlkSW50ZXJmYWNlSWQ7Ci0gIGludGVybmFsLmtJbnZhbGlkSW50ZXJmYWNlSWQgPSBr
SW52YWxpZEludGVyZmFjZUlkOwotICBpbnRlcm5hbC5rTWFzdGVySW50ZXJmYWNlSWQgPSBrTWFz
dGVySW50ZXJmYWNlSWQ7Ci0gIGludGVybmFsLmtJbnRlcmZhY2VJZE5hbWVzcGFjZU1hc2sgPSBr
SW50ZXJmYWNlSWROYW1lc3BhY2VNYXNrOwotfSkoKTsKLS8vIENvcHlyaWdodCAyMDE3IFRoZSBD
aHJvbWl1bSBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotLy8gVXNlIG9mIHRoaXMgc291
cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQot
Ly8gZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KLQotKGZ1bmN0aW9uKCkgewotICB2YXIgaW50
ZXJuYWwgPSBtb2pvLmludGVybmFsOwotCi0gIGZ1bmN0aW9uIHZhbGlkYXRlQ29udHJvbFJlcXVl
c3RXaXRoUmVzcG9uc2UobWVzc2FnZSkgewotICAgIHZhciBtZXNzYWdlVmFsaWRhdG9yID0gbmV3
IGludGVybmFsLlZhbGlkYXRvcihtZXNzYWdlKTsKLSAgICB2YXIgZXJyb3IgPSBtZXNzYWdlVmFs
aWRhdG9yLnZhbGlkYXRlTWVzc2FnZUlzUmVxdWVzdEV4cGVjdGluZ1Jlc3BvbnNlKCk7Ci0gICAg
aWYgKGVycm9yICE9PSBpbnRlcm5hbC52YWxpZGF0aW9uRXJyb3IuTk9ORSkgewotICAgICAgdGhy
b3cgZXJyb3I7Ci0gICAgfQotCi0gICAgaWYgKG1lc3NhZ2UuZ2V0TmFtZSgpICE9IG1vam8uaW50
ZXJmYWNlQ29udHJvbDIua1J1bk1lc3NhZ2VJZCkgewotICAgICAgdGhyb3cgbmV3IEVycm9yKCJD
b250cm9sIG1lc3NhZ2UgbmFtZSBpcyBub3Qga1J1bk1lc3NhZ2VJZCIpOwotICAgIH0KLQotICAg
IC8vIFZhbGlkYXRlIHBheWxvYWQuCi0gICAgZXJyb3IgPSBtb2pvLmludGVyZmFjZUNvbnRyb2wy
LlJ1bk1lc3NhZ2VQYXJhbXMudmFsaWRhdGUobWVzc2FnZVZhbGlkYXRvciwKLSAgICAgICAgbWVz
c2FnZS5nZXRIZWFkZXJOdW1CeXRlcygpKTsKLSAgICBpZiAoZXJyb3IgIT0gaW50ZXJuYWwudmFs
aWRhdGlvbkVycm9yLk5PTkUpIHsKLSAgICAgIHRocm93IGVycm9yOwotICAgIH0KLSAgfQotCi0g
IGZ1bmN0aW9uIHZhbGlkYXRlQ29udHJvbFJlcXVlc3RXaXRob3V0UmVzcG9uc2UobWVzc2FnZSkg
ewotICAgIHZhciBtZXNzYWdlVmFsaWRhdG9yID0gbmV3IGludGVybmFsLlZhbGlkYXRvcihtZXNz
YWdlKTsKLSAgICB2YXIgZXJyb3IgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlTWVzc2FnZUlz
UmVxdWVzdFdpdGhvdXRSZXNwb25zZSgpOwotICAgIGlmIChlcnJvciAhPSBpbnRlcm5hbC52YWxp
ZGF0aW9uRXJyb3IuTk9ORSkgewotICAgICAgdGhyb3cgZXJyb3I7Ci0gICAgfQotCi0gICAgaWYg
KG1lc3NhZ2UuZ2V0TmFtZSgpICE9IG1vam8uaW50ZXJmYWNlQ29udHJvbDIua1J1bk9yQ2xvc2VQ
aXBlTWVzc2FnZUlkKSB7Ci0gICAgICB0aHJvdyBuZXcgRXJyb3IoIkNvbnRyb2wgbWVzc2FnZSBu
YW1lIGlzIG5vdCBrUnVuT3JDbG9zZVBpcGVNZXNzYWdlSWQiKTsKLSAgICB9Ci0KLSAgICAvLyBW
YWxpZGF0ZSBwYXlsb2FkLgotICAgIGVycm9yID0gbW9qby5pbnRlcmZhY2VDb250cm9sMi5SdW5P
ckNsb3NlUGlwZU1lc3NhZ2VQYXJhbXMudmFsaWRhdGUoCi0gICAgICAgIG1lc3NhZ2VWYWxpZGF0
b3IsIG1lc3NhZ2UuZ2V0SGVhZGVyTnVtQnl0ZXMoKSk7Ci0gICAgaWYgKGVycm9yICE9IGludGVy
bmFsLnZhbGlkYXRpb25FcnJvci5OT05FKSB7Ci0gICAgICB0aHJvdyBlcnJvcjsKLSAgICB9Ci0g
IH0KLQotICBmdW5jdGlvbiBydW5PckNsb3NlUGlwZShtZXNzYWdlLCBpbnRlcmZhY2VWZXJzaW9u
KSB7Ci0gICAgdmFyIHJlYWRlciA9IG5ldyBpbnRlcm5hbC5NZXNzYWdlUmVhZGVyKG1lc3NhZ2Up
OwotICAgIHZhciBydW5PckNsb3NlUGlwZU1lc3NhZ2VQYXJhbXMgPSByZWFkZXIuZGVjb2RlU3Ry
dWN0KAotICAgICAgICBtb2pvLmludGVyZmFjZUNvbnRyb2wyLlJ1bk9yQ2xvc2VQaXBlTWVzc2Fn
ZVBhcmFtcyk7Ci0gICAgcmV0dXJuIGludGVyZmFjZVZlcnNpb24gPj0KLSAgICAgICAgcnVuT3JD
bG9zZVBpcGVNZXNzYWdlUGFyYW1zLmlucHV0LnJlcXVpcmVWZXJzaW9uLnZlcnNpb247Ci0gIH0K
LQotICBmdW5jdGlvbiBydW4obWVzc2FnZSwgcmVzcG9uZGVyLCBpbnRlcmZhY2VWZXJzaW9uKSB7
Ci0gICAgdmFyIHJlYWRlciA9IG5ldyBpbnRlcm5hbC5NZXNzYWdlUmVhZGVyKG1lc3NhZ2UpOwot
ICAgIHZhciBydW5NZXNzYWdlUGFyYW1zID0KLSAgICAgICAgcmVhZGVyLmRlY29kZVN0cnVjdCht
b2pvLmludGVyZmFjZUNvbnRyb2wyLlJ1bk1lc3NhZ2VQYXJhbXMpOwotICAgIHZhciBydW5PdXRw
dXQgPSBudWxsOwotCi0gICAgaWYgKHJ1bk1lc3NhZ2VQYXJhbXMuaW5wdXQucXVlcnlWZXJzaW9u
KSB7Ci0gICAgICBydW5PdXRwdXQgPSBuZXcgbW9qby5pbnRlcmZhY2VDb250cm9sMi5SdW5PdXRw
dXQoKTsKLSAgICAgIHJ1bk91dHB1dC5xdWVyeVZlcnNpb25SZXN1bHQgPSBuZXcKLSAgICAgICAg
ICBtb2pvLmludGVyZmFjZUNvbnRyb2wyLlF1ZXJ5VmVyc2lvblJlc3VsdCgKLSAgICAgICAgICAg
ICAgeyd2ZXJzaW9uJzogaW50ZXJmYWNlVmVyc2lvbn0pOwotICAgIH0KLQotICAgIHZhciBydW5S
ZXNwb25zZU1lc3NhZ2VQYXJhbXMgPSBuZXcKLSAgICAgICAgbW9qby5pbnRlcmZhY2VDb250cm9s
Mi5SdW5SZXNwb25zZU1lc3NhZ2VQYXJhbXMoKTsKLSAgICBydW5SZXNwb25zZU1lc3NhZ2VQYXJh
bXMub3V0cHV0ID0gcnVuT3V0cHV0OwotCi0gICAgdmFyIG1lc3NhZ2VOYW1lID0gbW9qby5pbnRl
cmZhY2VDb250cm9sMi5rUnVuTWVzc2FnZUlkOwotICAgIHZhciBwYXlsb2FkU2l6ZSA9Ci0gICAg
ICAgIG1vam8uaW50ZXJmYWNlQ29udHJvbDIuUnVuUmVzcG9uc2VNZXNzYWdlUGFyYW1zLmVuY29k
ZWRTaXplOwotICAgIHZhciByZXF1ZXN0SUQgPSByZWFkZXIucmVxdWVzdElEOwotICAgIHZhciBi
dWlsZGVyID0gbmV3IGludGVybmFsLk1lc3NhZ2VWMUJ1aWxkZXIobWVzc2FnZU5hbWUsCi0gICAg
ICAgIHBheWxvYWRTaXplLCBpbnRlcm5hbC5rTWVzc2FnZUlzUmVzcG9uc2UsIHJlcXVlc3RJRCk7
Ci0gICAgYnVpbGRlci5lbmNvZGVTdHJ1Y3QobW9qby5pbnRlcmZhY2VDb250cm9sMi5SdW5SZXNw
b25zZU1lc3NhZ2VQYXJhbXMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgcnVuUmVzcG9uc2VN
ZXNzYWdlUGFyYW1zKTsKLSAgICByZXNwb25kZXIuYWNjZXB0KGJ1aWxkZXIuZmluaXNoKCkpOwot
ICAgIHJldHVybiB0cnVlOwotICB9Ci0KLSAgZnVuY3Rpb24gaXNJbnRlcmZhY2VDb250cm9sTWVz
c2FnZShtZXNzYWdlKSB7Ci0gICAgcmV0dXJuIG1lc3NhZ2UuZ2V0TmFtZSgpID09IG1vam8uaW50
ZXJmYWNlQ29udHJvbDIua1J1bk1lc3NhZ2VJZCB8fAotICAgICAgICAgICBtZXNzYWdlLmdldE5h
bWUoKSA9PSBtb2pvLmludGVyZmFjZUNvbnRyb2wyLmtSdW5PckNsb3NlUGlwZU1lc3NhZ2VJZDsK
LSAgfQotCi0gIGZ1bmN0aW9uIENvbnRyb2xNZXNzYWdlSGFuZGxlcihpbnRlcmZhY2VWZXJzaW9u
KSB7Ci0gICAgdGhpcy5pbnRlcmZhY2VWZXJzaW9uXyA9IGludGVyZmFjZVZlcnNpb247Ci0gIH0K
LQotICBDb250cm9sTWVzc2FnZUhhbmRsZXIucHJvdG90eXBlLmFjY2VwdCA9IGZ1bmN0aW9uKG1l
c3NhZ2UpIHsKLSAgICB2YWxpZGF0ZUNvbnRyb2xSZXF1ZXN0V2l0aG91dFJlc3BvbnNlKG1lc3Nh
Z2UpOwotICAgIHJldHVybiBydW5PckNsb3NlUGlwZShtZXNzYWdlLCB0aGlzLmludGVyZmFjZVZl
cnNpb25fKTsKLSAgfTsKLQotICBDb250cm9sTWVzc2FnZUhhbmRsZXIucHJvdG90eXBlLmFjY2Vw
dFdpdGhSZXNwb25kZXIgPSBmdW5jdGlvbihtZXNzYWdlLAotICAgICAgcmVzcG9uZGVyKSB7Ci0g
ICAgdmFsaWRhdGVDb250cm9sUmVxdWVzdFdpdGhSZXNwb25zZShtZXNzYWdlKTsKLSAgICByZXR1
cm4gcnVuKG1lc3NhZ2UsIHJlc3BvbmRlciwgdGhpcy5pbnRlcmZhY2VWZXJzaW9uXyk7Ci0gIH07
Ci0KLSAgaW50ZXJuYWwuQ29udHJvbE1lc3NhZ2VIYW5kbGVyID0gQ29udHJvbE1lc3NhZ2VIYW5k
bGVyOwotICBpbnRlcm5hbC5pc0ludGVyZmFjZUNvbnRyb2xNZXNzYWdlID0gaXNJbnRlcmZhY2VD
b250cm9sTWVzc2FnZTsKLX0pKCk7Ci0vLyBDb3B5cmlnaHQgMjAxNyBUaGUgQ2hyb21pdW0gQXV0
aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLS8vIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlz
IGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKLS8vIGZvdW5kIGlu
IHRoZSBMSUNFTlNFIGZpbGUuCi0KLShmdW5jdGlvbigpIHsKLSAgdmFyIGludGVybmFsID0gbW9q
by5pbnRlcm5hbDsKLQotICBmdW5jdGlvbiBjb25zdHJ1Y3RSdW5PckNsb3NlUGlwZU1lc3NhZ2Uo
cnVuT3JDbG9zZVBpcGVJbnB1dCkgewotICAgIHZhciBydW5PckNsb3NlUGlwZU1lc3NhZ2VQYXJh
bXMgPSBuZXcKLSAgICAgICAgbW9qby5pbnRlcmZhY2VDb250cm9sMi5SdW5PckNsb3NlUGlwZU1l
c3NhZ2VQYXJhbXMoKTsKLSAgICBydW5PckNsb3NlUGlwZU1lc3NhZ2VQYXJhbXMuaW5wdXQgPSBy
dW5PckNsb3NlUGlwZUlucHV0OwotCi0gICAgdmFyIG1lc3NhZ2VOYW1lID0gbW9qby5pbnRlcmZh
Y2VDb250cm9sMi5rUnVuT3JDbG9zZVBpcGVNZXNzYWdlSWQ7Ci0gICAgdmFyIHBheWxvYWRTaXpl
ID0KLSAgICAgICAgbW9qby5pbnRlcmZhY2VDb250cm9sMi5SdW5PckNsb3NlUGlwZU1lc3NhZ2VQ
YXJhbXMuZW5jb2RlZFNpemU7Ci0gICAgdmFyIGJ1aWxkZXIgPSBuZXcgaW50ZXJuYWwuTWVzc2Fn
ZVYwQnVpbGRlcihtZXNzYWdlTmFtZSwgcGF5bG9hZFNpemUpOwotICAgIGJ1aWxkZXIuZW5jb2Rl
U3RydWN0KG1vam8uaW50ZXJmYWNlQ29udHJvbDIuUnVuT3JDbG9zZVBpcGVNZXNzYWdlUGFyYW1z
LAotICAgICAgICAgICAgICAgICAgICAgICAgIHJ1bk9yQ2xvc2VQaXBlTWVzc2FnZVBhcmFtcyk7
Ci0gICAgdmFyIG1lc3NhZ2UgPSBidWlsZGVyLmZpbmlzaCgpOwotICAgIHJldHVybiBtZXNzYWdl
OwotICB9Ci0KLSAgZnVuY3Rpb24gdmFsaWRhdGVDb250cm9sUmVzcG9uc2UobWVzc2FnZSkgewot
ICAgIHZhciBtZXNzYWdlVmFsaWRhdG9yID0gbmV3IGludGVybmFsLlZhbGlkYXRvcihtZXNzYWdl
KTsKLSAgICB2YXIgZXJyb3IgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlTWVzc2FnZUlzUmVz
cG9uc2UoKTsKLSAgICBpZiAoZXJyb3IgIT0gaW50ZXJuYWwudmFsaWRhdGlvbkVycm9yLk5PTkUp
IHsKLSAgICAgIHRocm93IGVycm9yOwotICAgIH0KLQotICAgIGlmIChtZXNzYWdlLmdldE5hbWUo
KSAhPSBtb2pvLmludGVyZmFjZUNvbnRyb2wyLmtSdW5NZXNzYWdlSWQpIHsKLSAgICAgIHRocm93
IG5ldyBFcnJvcigiQ29udHJvbCBtZXNzYWdlIG5hbWUgaXMgbm90IGtSdW5NZXNzYWdlSWQiKTsK
LSAgICB9Ci0KLSAgICAvLyBWYWxpZGF0ZSBwYXlsb2FkLgotICAgIGVycm9yID0gbW9qby5pbnRl
cmZhY2VDb250cm9sMi5SdW5SZXNwb25zZU1lc3NhZ2VQYXJhbXMudmFsaWRhdGUoCi0gICAgICAg
IG1lc3NhZ2VWYWxpZGF0b3IsIG1lc3NhZ2UuZ2V0SGVhZGVyTnVtQnl0ZXMoKSk7Ci0gICAgaWYg
KGVycm9yICE9IGludGVybmFsLnZhbGlkYXRpb25FcnJvci5OT05FKSB7Ci0gICAgICB0aHJvdyBl
cnJvcjsKLSAgICB9Ci0gIH0KLQotICBmdW5jdGlvbiBhY2NlcHRSdW5SZXNwb25zZShtZXNzYWdl
KSB7Ci0gICAgdmFsaWRhdGVDb250cm9sUmVzcG9uc2UobWVzc2FnZSk7Ci0KLSAgICB2YXIgcmVh
ZGVyID0gbmV3IGludGVybmFsLk1lc3NhZ2VSZWFkZXIobWVzc2FnZSk7Ci0gICAgdmFyIHJ1blJl
c3BvbnNlTWVzc2FnZVBhcmFtcyA9IHJlYWRlci5kZWNvZGVTdHJ1Y3QoCi0gICAgICAgIG1vam8u
aW50ZXJmYWNlQ29udHJvbDIuUnVuUmVzcG9uc2VNZXNzYWdlUGFyYW1zKTsKLQotICAgIHJldHVy
biBQcm9taXNlLnJlc29sdmUocnVuUmVzcG9uc2VNZXNzYWdlUGFyYW1zKTsKLSAgfQotCi0gLyoq
Ci0gICogU2VuZHMgdGhlIGdpdmVuIHJ1biBtZXNzYWdlIHRocm91Z2ggdGhlIHJlY2VpdmVyLgot
ICAqIEFjY2VwdHMgdGhlIHJlc3BvbnNlIG1lc3NhZ2UgZnJvbSB0aGUgcmVjZWl2ZXIgYW5kIGRl
Y29kZXMgdGhlIG1lc3NhZ2UKLSAgKiBzdHJ1Y3QgdG8gUnVuUmVzcG9uc2VNZXNzYWdlUGFyYW1z
LgotICAqCi0gICogQHBhcmFtICB7Um91dGVyfSByZWNlaXZlci4KLSAgKiBAcGFyYW0gIHtSdW5N
ZXNzYWdlUGFyYW1zfSBydW5NZXNzYWdlUGFyYW1zIHRvIGJlIHNlbnQgdmlhIGEgbWVzc2FnZS4K
LSAgKiBAcmV0dXJuIHtQcm9taXNlfSB0aGF0IHJlc29sdmVzIHRvIGEgUnVuUmVzcG9uc2VNZXNz
YWdlUGFyYW1zLgotICAqLwotICBmdW5jdGlvbiBzZW5kUnVuTWVzc2FnZShyZWNlaXZlciwgcnVu
TWVzc2FnZVBhcmFtcykgewotICAgIHZhciBtZXNzYWdlTmFtZSA9IG1vam8uaW50ZXJmYWNlQ29u
dHJvbDIua1J1bk1lc3NhZ2VJZDsKLSAgICB2YXIgcGF5bG9hZFNpemUgPSBtb2pvLmludGVyZmFj
ZUNvbnRyb2wyLlJ1bk1lc3NhZ2VQYXJhbXMuZW5jb2RlZFNpemU7Ci0gICAgLy8gfHJlcXVlc3RJ
RHwgaXMgc2V0IHRvIDAsIGJ1dCBpcyBsYXRlciBwcm9wZXJseSBzZXQgYnkgUm91dGVyLgotICAg
IHZhciBidWlsZGVyID0gbmV3IGludGVybmFsLk1lc3NhZ2VWMUJ1aWxkZXIobWVzc2FnZU5hbWUs
Ci0gICAgICAgIHBheWxvYWRTaXplLCBpbnRlcm5hbC5rTWVzc2FnZUV4cGVjdHNSZXNwb25zZSwg
MCk7Ci0gICAgYnVpbGRlci5lbmNvZGVTdHJ1Y3QobW9qby5pbnRlcmZhY2VDb250cm9sMi5SdW5N
ZXNzYWdlUGFyYW1zLAotICAgICAgICAgICAgICAgICAgICAgICAgIHJ1bk1lc3NhZ2VQYXJhbXMp
OwotICAgIHZhciBtZXNzYWdlID0gYnVpbGRlci5maW5pc2goKTsKLQotICAgIHJldHVybiByZWNl
aXZlci5hY2NlcHRBbmRFeHBlY3RSZXNwb25zZShtZXNzYWdlKS50aGVuKGFjY2VwdFJ1blJlc3Bv
bnNlKTsKLSAgfQotCi0gIGZ1bmN0aW9uIENvbnRyb2xNZXNzYWdlUHJveHkocmVjZWl2ZXIpIHsK
LSAgICB0aGlzLnJlY2VpdmVyXyA9IHJlY2VpdmVyOwotICB9Ci0KLSAgQ29udHJvbE1lc3NhZ2VQ
cm94eS5wcm90b3R5cGUucXVlcnlWZXJzaW9uID0gZnVuY3Rpb24oKSB7Ci0gICAgdmFyIHJ1bk1l
c3NhZ2VQYXJhbXMgPSBuZXcgbW9qby5pbnRlcmZhY2VDb250cm9sMi5SdW5NZXNzYWdlUGFyYW1z
KCk7Ci0gICAgcnVuTWVzc2FnZVBhcmFtcy5pbnB1dCA9IG5ldyBtb2pvLmludGVyZmFjZUNvbnRy
b2wyLlJ1bklucHV0KCk7Ci0gICAgcnVuTWVzc2FnZVBhcmFtcy5pbnB1dC5xdWVyeVZlcnNpb24g
PQotICAgICAgICBuZXcgbW9qby5pbnRlcmZhY2VDb250cm9sMi5RdWVyeVZlcnNpb24oKTsKLQot
ICAgIHJldHVybiBzZW5kUnVuTWVzc2FnZSh0aGlzLnJlY2VpdmVyXywgcnVuTWVzc2FnZVBhcmFt
cykudGhlbihmdW5jdGlvbigKLSAgICAgICAgcnVuUmVzcG9uc2VNZXNzYWdlUGFyYW1zKSB7Ci0g
ICAgICByZXR1cm4gcnVuUmVzcG9uc2VNZXNzYWdlUGFyYW1zLm91dHB1dC5xdWVyeVZlcnNpb25S
ZXN1bHQudmVyc2lvbjsKLSAgICB9KTsKLSAgfTsKLQotICBDb250cm9sTWVzc2FnZVByb3h5LnBy
b3RvdHlwZS5yZXF1aXJlVmVyc2lvbiA9IGZ1bmN0aW9uKHZlcnNpb24pIHsKLSAgICB2YXIgcnVu
T3JDbG9zZVBpcGVJbnB1dCA9IG5ldyBtb2pvLmludGVyZmFjZUNvbnRyb2wyLlJ1bk9yQ2xvc2VQ
aXBlSW5wdXQoKTsKLSAgICBydW5PckNsb3NlUGlwZUlucHV0LnJlcXVpcmVWZXJzaW9uID0KLSAg
ICAgICAgbmV3IG1vam8uaW50ZXJmYWNlQ29udHJvbDIuUmVxdWlyZVZlcnNpb24oeyd2ZXJzaW9u
JzogdmVyc2lvbn0pOwotICAgIHZhciBtZXNzYWdlID0gY29uc3RydWN0UnVuT3JDbG9zZVBpcGVN
ZXNzYWdlKHJ1bk9yQ2xvc2VQaXBlSW5wdXQpOwotICAgIHRoaXMucmVjZWl2ZXJfLmFjY2VwdCht
ZXNzYWdlKTsKLSAgfTsKLQotICBpbnRlcm5hbC5Db250cm9sTWVzc2FnZVByb3h5ID0gQ29udHJv
bE1lc3NhZ2VQcm94eTsKLX0pKCk7Ci0vLyBDb3B5cmlnaHQgMjAxNyBUaGUgQ2hyb21pdW0gQXV0
aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLS8vIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlz
IGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKLS8vIGZvdW5kIGlu
IHRoZSBMSUNFTlNFIGZpbGUuCi0KLShmdW5jdGlvbigpIHsKLSAgdmFyIGludGVybmFsID0gbW9q
by5pbnRlcm5hbDsKLQotICBmdW5jdGlvbiBJbnRlcmZhY2VFbmRwb2ludENsaWVudChpbnRlcmZh
Y2VFbmRwb2ludEhhbmRsZSwgcmVjZWl2ZXIsCi0gICAgICBpbnRlcmZhY2VWZXJzaW9uKSB7Ci0g
ICAgdGhpcy5jb250cm9sbGVyXyA9IG51bGw7Ci0gICAgdGhpcy5lbmNvdW50ZXJlZEVycm9yXyA9
IGZhbHNlOwotICAgIHRoaXMuaGFuZGxlXyA9IGludGVyZmFjZUVuZHBvaW50SGFuZGxlOwotICAg
IHRoaXMuaW5jb21pbmdSZWNlaXZlcl8gPSByZWNlaXZlcjsKLQotICAgIGlmIChpbnRlcmZhY2VW
ZXJzaW9uICE9PSB1bmRlZmluZWQpIHsKLSAgICAgIHRoaXMuY29udHJvbE1lc3NhZ2VIYW5kbGVy
XyA9IG5ldyBpbnRlcm5hbC5Db250cm9sTWVzc2FnZUhhbmRsZXIoCi0gICAgICAgICAgaW50ZXJm
YWNlVmVyc2lvbik7Ci0gICAgfSBlbHNlIHsKLSAgICAgIHRoaXMuY29udHJvbE1lc3NhZ2VQcm94
eV8gPSBuZXcgaW50ZXJuYWwuQ29udHJvbE1lc3NhZ2VQcm94eSh0aGlzKTsKLSAgICB9Ci0KLSAg
ICB0aGlzLm5leHRSZXF1ZXN0SURfID0gMDsKLSAgICB0aGlzLmNvbXBsZXRlcnNfID0gbmV3IE1h
cCgpOwotICAgIHRoaXMucGF5bG9hZFZhbGlkYXRvcnNfID0gW107Ci0gICAgdGhpcy5jb25uZWN0
aW9uRXJyb3JIYW5kbGVyXyA9IG51bGw7Ci0KLSAgICBpZiAoaW50ZXJmYWNlRW5kcG9pbnRIYW5k
bGUucGVuZGluZ0Fzc29jaWF0aW9uKCkpIHsKLSAgICAgIGludGVyZmFjZUVuZHBvaW50SGFuZGxl
LnNldEFzc29jaWF0aW9uRXZlbnRIYW5kbGVyKAotICAgICAgICAgIHRoaXMub25Bc3NvY2lhdGlv
bkV2ZW50LmJpbmQodGhpcykpOwotICAgIH0gZWxzZSB7Ci0gICAgICB0aGlzLmluaXRDb250cm9s
bGVySWZOZWNlc3NhcnlfKCk7Ci0gICAgfQotICB9Ci0KLSAgSW50ZXJmYWNlRW5kcG9pbnRDbGll
bnQucHJvdG90eXBlLmluaXRDb250cm9sbGVySWZOZWNlc3NhcnlfID0gZnVuY3Rpb24oKSB7Ci0g
ICAgaWYgKHRoaXMuY29udHJvbGxlcl8gfHwgdGhpcy5oYW5kbGVfLnBlbmRpbmdBc3NvY2lhdGlv
bigpKSB7Ci0gICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgdGhpcy5jb250cm9sbGVyXyA9IHRo
aXMuaGFuZGxlXy5ncm91cENvbnRyb2xsZXIoKS5hdHRhY2hFbmRwb2ludENsaWVudCgKLSAgICAg
ICAgdGhpcy5oYW5kbGVfLCB0aGlzKTsKLSAgfTsKLQotICBJbnRlcmZhY2VFbmRwb2ludENsaWVu
dC5wcm90b3R5cGUub25Bc3NvY2lhdGlvbkV2ZW50ID0gZnVuY3Rpb24oCi0gICAgICBhc3NvY2lh
dGlvbkV2ZW50KSB7Ci0gICAgaWYgKGFzc29jaWF0aW9uRXZlbnQgPT09IGludGVybmFsLkFzc29j
aWF0aW9uRXZlbnQuQVNTT0NJQVRFRCkgewotICAgICAgdGhpcy5pbml0Q29udHJvbGxlcklmTmVj
ZXNzYXJ5XygpOwotICAgIH0gZWxzZSBpZiAoYXNzb2NpYXRpb25FdmVudCA9PT0KLSAgICAgICAg
ICBpbnRlcm5hbC5Bc3NvY2lhdGlvbkV2ZW50LlBFRVJfQ0xPU0VEX0JFRk9SRV9BU1NPQ0lBVElP
TikgewotICAgICAgc2V0VGltZW91dCh0aGlzLm5vdGlmeUVycm9yLmJpbmQodGhpcywgdGhpcy5o
YW5kbGVfLmRpc2Nvbm5lY3RSZWFzb24oKSksCi0gICAgICAgICAgICAgICAgIDApOwotICAgIH0K
LSAgfTsKLQotICBJbnRlcmZhY2VFbmRwb2ludENsaWVudC5wcm90b3R5cGUucGFzc0hhbmRsZSA9
IGZ1bmN0aW9uKCkgewotICAgIGlmICghdGhpcy5oYW5kbGVfLmlzVmFsaWQoKSkgewotICAgICAg
cmV0dXJuIG5ldyBpbnRlcm5hbC5JbnRlcmZhY2VFbmRwb2ludEhhbmRsZSgpOwotICAgIH0KLQot
ICAgIC8vIFVzZWQgdG8gY2xlYXIgdGhlIHByZXZpb3VzbHkgc2V0IGNhbGxiYWNrLgotICAgIHRo
aXMuaGFuZGxlXy5zZXRBc3NvY2lhdGlvbkV2ZW50SGFuZGxlcih1bmRlZmluZWQpOwotCi0gICAg
aWYgKHRoaXMuY29udHJvbGxlcl8pIHsKLSAgICAgIHRoaXMuY29udHJvbGxlcl8gPSBudWxsOwot
ICAgICAgdGhpcy5oYW5kbGVfLmdyb3VwQ29udHJvbGxlcigpLmRldGFjaEVuZHBvaW50Q2xpZW50
KHRoaXMuaGFuZGxlXyk7Ci0gICAgfQotICAgIHZhciBoYW5kbGUgPSB0aGlzLmhhbmRsZV87Ci0g
ICAgdGhpcy5oYW5kbGVfID0gbnVsbDsKLSAgICByZXR1cm4gaGFuZGxlOwotICB9OwotCi0gIElu
dGVyZmFjZUVuZHBvaW50Q2xpZW50LnByb3RvdHlwZS5jbG9zZSA9IGZ1bmN0aW9uKHJlYXNvbikg
ewotICAgIHZhciBoYW5kbGUgPSB0aGlzLnBhc3NIYW5kbGUoKTsKLSAgICBoYW5kbGUucmVzZXQo
cmVhc29uKTsKLSAgfTsKLQotICBJbnRlcmZhY2VFbmRwb2ludENsaWVudC5wcm90b3R5cGUuYWNj
ZXB0ID0gZnVuY3Rpb24obWVzc2FnZSkgewotICAgIGlmIChtZXNzYWdlLmFzc29jaWF0ZWRFbmRw
b2ludEhhbmRsZXMubGVuZ3RoID4gMCkgewotICAgICAgbWVzc2FnZS5zZXJpYWxpemVBc3NvY2lh
dGVkRW5kcG9pbnRIYW5kbGVzKAotICAgICAgICAgIHRoaXMuaGFuZGxlXy5ncm91cENvbnRyb2xs
ZXIoKSk7Ci0gICAgfQotCi0gICAgaWYgKHRoaXMuZW5jb3VudGVyZWRFcnJvcl8pIHsKLSAgICAg
IHJldHVybiBmYWxzZTsKLSAgICB9Ci0KLSAgICB0aGlzLmluaXRDb250cm9sbGVySWZOZWNlc3Nh
cnlfKCk7Ci0gICAgcmV0dXJuIHRoaXMuY29udHJvbGxlcl8uc2VuZE1lc3NhZ2UobWVzc2FnZSk7
Ci0gIH07Ci0KLSAgSW50ZXJmYWNlRW5kcG9pbnRDbGllbnQucHJvdG90eXBlLmFjY2VwdEFuZEV4
cGVjdFJlc3BvbnNlID0gZnVuY3Rpb24oCi0gICAgICBtZXNzYWdlKSB7Ci0gICAgaWYgKG1lc3Nh
Z2UuYXNzb2NpYXRlZEVuZHBvaW50SGFuZGxlcy5sZW5ndGggPiAwKSB7Ci0gICAgICBtZXNzYWdl
LnNlcmlhbGl6ZUFzc29jaWF0ZWRFbmRwb2ludEhhbmRsZXMoCi0gICAgICAgICAgdGhpcy5oYW5k
bGVfLmdyb3VwQ29udHJvbGxlcigpKTsKLSAgICB9Ci0KLSAgICBpZiAodGhpcy5lbmNvdW50ZXJl
ZEVycm9yXykgewotICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KCk7Ci0gICAgfQotCi0gICAg
dGhpcy5pbml0Q29udHJvbGxlcklmTmVjZXNzYXJ5XygpOwotCi0gICAgLy8gUmVzZXJ2ZSAwIGlu
IGNhc2Ugd2Ugd2FudCBpdCB0byBjb252ZXkgc3BlY2lhbCBtZWFuaW5nIGluIHRoZSBmdXR1cmUu
Ci0gICAgdmFyIHJlcXVlc3RJRCA9IHRoaXMubmV4dFJlcXVlc3RJRF8rKzsKLSAgICBpZiAocmVx
dWVzdElEID09PSAwKQotICAgICAgcmVxdWVzdElEID0gdGhpcy5uZXh0UmVxdWVzdElEXysrOwot
Ci0gICAgbWVzc2FnZS5zZXRSZXF1ZXN0SUQocmVxdWVzdElEKTsKLSAgICB2YXIgcmVzdWx0ID0g
dGhpcy5jb250cm9sbGVyXy5zZW5kTWVzc2FnZShtZXNzYWdlKTsKLSAgICBpZiAoIXJlc3VsdCkK
LSAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdChFcnJvcigiQ29ubmVjdGlvbiBlcnJvciIpKTsK
LQotICAgIHZhciBjb21wbGV0ZXIgPSB7fTsKLSAgICB0aGlzLmNvbXBsZXRlcnNfLnNldChyZXF1
ZXN0SUQsIGNvbXBsZXRlcik7Ci0gICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29s
dmUsIHJlamVjdCkgewotICAgICAgY29tcGxldGVyLnJlc29sdmUgPSByZXNvbHZlOwotICAgICAg
Y29tcGxldGVyLnJlamVjdCA9IHJlamVjdDsKLSAgICB9KTsKLSAgfTsKLQotICBJbnRlcmZhY2VF
bmRwb2ludENsaWVudC5wcm90b3R5cGUuc2V0UGF5bG9hZFZhbGlkYXRvcnMgPSBmdW5jdGlvbigK
LSAgICAgIHBheWxvYWRWYWxpZGF0b3JzKSB7Ci0gICAgdGhpcy5wYXlsb2FkVmFsaWRhdG9yc18g
PSBwYXlsb2FkVmFsaWRhdG9yczsKLSAgfTsKLQotICBJbnRlcmZhY2VFbmRwb2ludENsaWVudC5w
cm90b3R5cGUuc2V0SW5jb21pbmdSZWNlaXZlciA9IGZ1bmN0aW9uKHJlY2VpdmVyKSB7Ci0gICAg
dGhpcy5pbmNvbWluZ1JlY2VpdmVyXyA9IHJlY2VpdmVyOwotICB9OwotCi0gIEludGVyZmFjZUVu
ZHBvaW50Q2xpZW50LnByb3RvdHlwZS5zZXRDb25uZWN0aW9uRXJyb3JIYW5kbGVyID0gZnVuY3Rp
b24oCi0gICAgICBoYW5kbGVyKSB7Ci0gICAgdGhpcy5jb25uZWN0aW9uRXJyb3JIYW5kbGVyXyA9
IGhhbmRsZXI7Ci0gIH07Ci0KLSAgSW50ZXJmYWNlRW5kcG9pbnRDbGllbnQucHJvdG90eXBlLmhh
bmRsZUluY29taW5nTWVzc2FnZSA9IGZ1bmN0aW9uKG1lc3NhZ2UsCi0gICAgICBtZXNzYWdlVmFs
aWRhdG9yKSB7Ci0gICAgdmFyIG5vRXJyb3IgPSBpbnRlcm5hbC52YWxpZGF0aW9uRXJyb3IuTk9O
RTsKLSAgICB2YXIgZXJyID0gbm9FcnJvcjsKLSAgICBmb3IgKHZhciBpID0gMDsgZXJyID09PSBu
b0Vycm9yICYmIGkgPCB0aGlzLnBheWxvYWRWYWxpZGF0b3JzXy5sZW5ndGg7ICsraSkKLSAgICAg
IGVyciA9IHRoaXMucGF5bG9hZFZhbGlkYXRvcnNfW2ldKG1lc3NhZ2VWYWxpZGF0b3IpOwotCi0g
ICAgaWYgKGVyciA9PSBub0Vycm9yKSB7Ci0gICAgICByZXR1cm4gdGhpcy5oYW5kbGVWYWxpZElu
Y29taW5nTWVzc2FnZV8obWVzc2FnZSk7Ci0gICAgfSBlbHNlIHsKLSAgICAgIGludGVybmFsLnJl
cG9ydFZhbGlkYXRpb25FcnJvcihlcnIpOwotICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0KLSAg
fTsKLQotICBJbnRlcmZhY2VFbmRwb2ludENsaWVudC5wcm90b3R5cGUuaGFuZGxlVmFsaWRJbmNv
bWluZ01lc3NhZ2VfID0gZnVuY3Rpb24oCi0gICAgICBtZXNzYWdlKSB7Ci0gICAgaWYgKGludGVy
bmFsLmlzVGVzdGluZ01vZGUoKSkgewotICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfQotCi0gICAg
aWYgKHRoaXMuZW5jb3VudGVyZWRFcnJvcl8pIHsKLSAgICAgIHJldHVybiBmYWxzZTsKLSAgICB9
Ci0KLSAgICB2YXIgb2sgPSBmYWxzZTsKLQotICAgIGlmIChtZXNzYWdlLmV4cGVjdHNSZXNwb25z
ZSgpKSB7Ci0gICAgICBpZiAoaW50ZXJuYWwuaXNJbnRlcmZhY2VDb250cm9sTWVzc2FnZShtZXNz
YWdlKSAmJgotICAgICAgICAgIHRoaXMuY29udHJvbE1lc3NhZ2VIYW5kbGVyXykgewotICAgICAg
ICBvayA9IHRoaXMuY29udHJvbE1lc3NhZ2VIYW5kbGVyXy5hY2NlcHRXaXRoUmVzcG9uZGVyKG1l
c3NhZ2UsIHRoaXMpOwotICAgICAgfSBlbHNlIGlmICh0aGlzLmluY29taW5nUmVjZWl2ZXJfKSB7
Ci0gICAgICAgIG9rID0gdGhpcy5pbmNvbWluZ1JlY2VpdmVyXy5hY2NlcHRXaXRoUmVzcG9uZGVy
KG1lc3NhZ2UsIHRoaXMpOwotICAgICAgfQotICAgIH0gZWxzZSBpZiAobWVzc2FnZS5pc1Jlc3Bv
bnNlKCkpIHsKLSAgICAgIHZhciByZWFkZXIgPSBuZXcgaW50ZXJuYWwuTWVzc2FnZVJlYWRlciht
ZXNzYWdlKTsKLSAgICAgIHZhciByZXF1ZXN0SUQgPSByZWFkZXIucmVxdWVzdElEOwotICAgICAg
dmFyIGNvbXBsZXRlciA9IHRoaXMuY29tcGxldGVyc18uZ2V0KHJlcXVlc3RJRCk7Ci0gICAgICBp
ZiAoY29tcGxldGVyKSB7Ci0gICAgICAgIHRoaXMuY29tcGxldGVyc18uZGVsZXRlKHJlcXVlc3RJ
RCk7Ci0gICAgICAgIGNvbXBsZXRlci5yZXNvbHZlKG1lc3NhZ2UpOwotICAgICAgICBvayA9IHRy
dWU7Ci0gICAgICB9IGVsc2UgewotICAgICAgICBjb25zb2xlLmxvZygiVW5leHBlY3RlZCByZXNw
b25zZSB3aXRoIHJlcXVlc3QgSUQ6ICIgKyByZXF1ZXN0SUQpOwotICAgICAgfQotICAgIH0gZWxz
ZSB7Ci0gICAgICBpZiAoaW50ZXJuYWwuaXNJbnRlcmZhY2VDb250cm9sTWVzc2FnZShtZXNzYWdl
KSAmJgotICAgICAgICAgIHRoaXMuY29udHJvbE1lc3NhZ2VIYW5kbGVyXykgewotICAgICAgICBv
ayA9IHRoaXMuY29udHJvbE1lc3NhZ2VIYW5kbGVyXy5hY2NlcHQobWVzc2FnZSk7Ci0gICAgICB9
IGVsc2UgaWYgKHRoaXMuaW5jb21pbmdSZWNlaXZlcl8pIHsKLSAgICAgICAgb2sgPSB0aGlzLmlu
Y29taW5nUmVjZWl2ZXJfLmFjY2VwdChtZXNzYWdlKTsKLSAgICAgIH0KLSAgICB9Ci0gICAgcmV0
dXJuIG9rOwotICB9OwotCi0gIEludGVyZmFjZUVuZHBvaW50Q2xpZW50LnByb3RvdHlwZS5ub3Rp
ZnlFcnJvciA9IGZ1bmN0aW9uKHJlYXNvbikgewotICAgIGlmICh0aGlzLmVuY291bnRlcmVkRXJy
b3JfKSB7Ci0gICAgICByZXR1cm47Ci0gICAgfQotICAgIHRoaXMuZW5jb3VudGVyZWRFcnJvcl8g
PSB0cnVlOwotCi0gICAgdGhpcy5jb21wbGV0ZXJzXy5mb3JFYWNoKGZ1bmN0aW9uKHZhbHVlKSB7
Ci0gICAgICB2YWx1ZS5yZWplY3QoKTsKLSAgICB9KTsKLSAgICB0aGlzLmNvbXBsZXRlcnNfLmNs
ZWFyKCk7ICAvLyBEcm9wIGFueSByZXNwb25kZXJzLgotCi0gICAgaWYgKHRoaXMuY29ubmVjdGlv
bkVycm9ySGFuZGxlcl8pIHsKLSAgICAgIHRoaXMuY29ubmVjdGlvbkVycm9ySGFuZGxlcl8ocmVh
c29uKTsKLSAgICB9Ci0gIH07Ci0KLSAgSW50ZXJmYWNlRW5kcG9pbnRDbGllbnQucHJvdG90eXBl
LnF1ZXJ5VmVyc2lvbiA9IGZ1bmN0aW9uKCkgewotICAgIHJldHVybiB0aGlzLmNvbnRyb2xNZXNz
YWdlUHJveHlfLnF1ZXJ5VmVyc2lvbigpOwotICB9OwotCi0gIEludGVyZmFjZUVuZHBvaW50Q2xp
ZW50LnByb3RvdHlwZS5yZXF1aXJlVmVyc2lvbiA9IGZ1bmN0aW9uKHZlcnNpb24pIHsKLSAgICB0
aGlzLmNvbnRyb2xNZXNzYWdlUHJveHlfLnJlcXVpcmVWZXJzaW9uKHZlcnNpb24pOwotICB9Owot
Ci0gIEludGVyZmFjZUVuZHBvaW50Q2xpZW50LnByb3RvdHlwZS5nZXRFbmNvdW50ZXJlZEVycm9y
ID0gZnVuY3Rpb24oKSB7Ci0gICAgcmV0dXJuIHRoaXMuZW5jb3VudGVyZWRFcnJvcl87Ci0gIH07
Ci0KLSAgaW50ZXJuYWwuSW50ZXJmYWNlRW5kcG9pbnRDbGllbnQgPSBJbnRlcmZhY2VFbmRwb2lu
dENsaWVudDsKLX0pKCk7Ci0vLyBDb3B5cmlnaHQgMjAxNyBUaGUgQ2hyb21pdW0gQXV0aG9ycy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KLS8vIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVy
bmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKLS8vIGZvdW5kIGluIHRoZSBM
SUNFTlNFIGZpbGUuCi0KLShmdW5jdGlvbigpIHsKLSAgdmFyIGludGVybmFsID0gbW9qby5pbnRl
cm5hbDsKLQotICB2YXIgQXNzb2NpYXRpb25FdmVudCA9IHsKLSAgICAvLyBUaGUgaW50ZXJmYWNl
IGhhcyBiZWVuIGFzc29jaWF0ZWQgd2l0aCBhIG1lc3NhZ2UgcGlwZS4KLSAgICBBU1NPQ0lBVEVE
OiAnYXNzb2NpYXRlZCcsCi0gICAgLy8gVGhlIHBlZXIgb2YgdGhpcyBvYmplY3QgaGFzIGJlZW4g
Y2xvc2VkIGJlZm9yZSBhc3NvY2lhdGlvbi4KLSAgICBQRUVSX0NMT1NFRF9CRUZPUkVfQVNTT0NJ
QVRJT046ICdwZWVyX2Nsb3NlZF9iZWZvcmVfYXNzb2NpYXRpb24nCi0gIH07Ci0KLSAgZnVuY3Rp
b24gU3RhdGUoaW50ZXJmYWNlSWQsIGFzc29jaWF0ZWRHcm91cENvbnRyb2xsZXIpIHsKLSAgICBp
ZiAoaW50ZXJmYWNlSWQgPT09IHVuZGVmaW5lZCkgewotICAgICAgaW50ZXJmYWNlSWQgPSBpbnRl
cm5hbC5rSW52YWxpZEludGVyZmFjZUlkOwotICAgIH0KLQotICAgIHRoaXMuaW50ZXJmYWNlSWQg
PSBpbnRlcmZhY2VJZDsKLSAgICB0aGlzLmFzc29jaWF0ZWRHcm91cENvbnRyb2xsZXIgPSBhc3Nv
Y2lhdGVkR3JvdXBDb250cm9sbGVyOwotICAgIHRoaXMucGVuZGluZ0Fzc29jaWF0aW9uID0gZmFs
c2U7Ci0gICAgdGhpcy5kaXNjb25uZWN0UmVhc29uID0gbnVsbDsKLSAgICB0aGlzLnBlZXJTdGF0
ZV8gPSBudWxsOwotICAgIHRoaXMuYXNzb2NpYXRpb25FdmVudEhhbmRsZXJfID0gbnVsbDsKLSAg
fQotCi0gIFN0YXRlLnByb3RvdHlwZS5pbml0UGVuZGluZ1N0YXRlID0gZnVuY3Rpb24ocGVlcikg
ewotICAgIHRoaXMucGVuZGluZ0Fzc29jaWF0aW9uID0gdHJ1ZTsKLSAgICB0aGlzLnBlZXJTdGF0
ZV8gPSBwZWVyOwotICB9OwotCi0gIFN0YXRlLnByb3RvdHlwZS5pc1ZhbGlkID0gZnVuY3Rpb24o
KSB7Ci0gICAgcmV0dXJuIHRoaXMucGVuZGluZ0Fzc29jaWF0aW9uIHx8Ci0gICAgICAgIGludGVy
bmFsLmlzVmFsaWRJbnRlcmZhY2VJZCh0aGlzLmludGVyZmFjZUlkKTsKLSAgfTsKLQotICBTdGF0
ZS5wcm90b3R5cGUuY2xvc2UgPSBmdW5jdGlvbihkaXNjb25uZWN0UmVhc29uKSB7Ci0gICAgdmFy
IGNhY2hlZEdyb3VwQ29udHJvbGxlcjsKLSAgICB2YXIgY2FjaGVkUGVlclN0YXRlOwotICAgIHZh
ciBjYWNoZWRJZCA9IGludGVybmFsLmtJbnZhbGlkSW50ZXJmYWNlSWQ7Ci0KLSAgICBpZiAoIXRo
aXMucGVuZGluZ0Fzc29jaWF0aW9uKSB7Ci0gICAgICBpZiAoaW50ZXJuYWwuaXNWYWxpZEludGVy
ZmFjZUlkKHRoaXMuaW50ZXJmYWNlSWQpKSB7Ci0gICAgICAgIGNhY2hlZEdyb3VwQ29udHJvbGxl
ciA9IHRoaXMuYXNzb2NpYXRlZEdyb3VwQ29udHJvbGxlcjsKLSAgICAgICAgdGhpcy5hc3NvY2lh
dGVkR3JvdXBDb250cm9sbGVyID0gbnVsbDsKLSAgICAgICAgY2FjaGVkSWQgPSB0aGlzLmludGVy
ZmFjZUlkOwotICAgICAgICB0aGlzLmludGVyZmFjZUlkID0gaW50ZXJuYWwua0ludmFsaWRJbnRl
cmZhY2VJZDsKLSAgICAgIH0KLSAgICB9IGVsc2UgewotICAgICAgdGhpcy5wZW5kaW5nQXNzb2Np
YXRpb24gPSBmYWxzZTsKLSAgICAgIGNhY2hlZFBlZXJTdGF0ZSA9IHRoaXMucGVlclN0YXRlXzsK
LSAgICAgIHRoaXMucGVlclN0YXRlXyA9IG51bGw7Ci0gICAgfQotCi0gICAgaWYgKGNhY2hlZEdy
b3VwQ29udHJvbGxlcikgewotICAgICAgY2FjaGVkR3JvdXBDb250cm9sbGVyLmNsb3NlRW5kcG9p
bnRIYW5kbGUoY2FjaGVkSWQsCi0gICAgICAgICAgZGlzY29ubmVjdFJlYXNvbik7Ci0gICAgfSBl
bHNlIGlmIChjYWNoZWRQZWVyU3RhdGUpIHsKLSAgICAgIGNhY2hlZFBlZXJTdGF0ZS5vblBlZXJD
bG9zZWRCZWZvcmVBc3NvY2lhdGlvbihkaXNjb25uZWN0UmVhc29uKTsKLSAgICB9Ci0gIH07Ci0K
LSAgU3RhdGUucHJvdG90eXBlLnJ1bkFzc29jaWF0aW9uRXZlbnRIYW5kbGVyID0gZnVuY3Rpb24o
YXNzb2NpYXRpb25FdmVudCkgewotICAgIGlmICh0aGlzLmFzc29jaWF0aW9uRXZlbnRIYW5kbGVy
XykgewotICAgICAgdmFyIGhhbmRsZXIgPSB0aGlzLmFzc29jaWF0aW9uRXZlbnRIYW5kbGVyXzsK
LSAgICAgIHRoaXMuYXNzb2NpYXRpb25FdmVudEhhbmRsZXJfID0gbnVsbDsKLSAgICAgIGhhbmRs
ZXIoYXNzb2NpYXRpb25FdmVudCk7Ci0gICAgfQotICB9OwotCi0gIFN0YXRlLnByb3RvdHlwZS5z
ZXRBc3NvY2lhdGlvbkV2ZW50SGFuZGxlciA9IGZ1bmN0aW9uKGhhbmRsZXIpIHsKLSAgICBpZiAo
IXRoaXMucGVuZGluZ0Fzc29jaWF0aW9uICYmCi0gICAgICAgICFpbnRlcm5hbC5pc1ZhbGlkSW50
ZXJmYWNlSWQodGhpcy5pbnRlcmZhY2VJZCkpIHsKLSAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAg
ICBpZiAoIWhhbmRsZXIpIHsKLSAgICAgIHRoaXMuYXNzb2NpYXRpb25FdmVudEhhbmRsZXJfID0g
bnVsbDsKLSAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICB0aGlzLmFzc29jaWF0aW9uRXZlbnRI
YW5kbGVyXyA9IGhhbmRsZXI7Ci0gICAgaWYgKCF0aGlzLnBlbmRpbmdBc3NvY2lhdGlvbikgewot
ICAgICAgc2V0VGltZW91dCh0aGlzLnJ1bkFzc29jaWF0aW9uRXZlbnRIYW5kbGVyLmJpbmQodGhp
cywKLSAgICAgICAgICBBc3NvY2lhdGlvbkV2ZW50LkFTU09DSUFURUQpLCAwKTsKLSAgICB9IGVs
c2UgaWYgKCF0aGlzLnBlZXJTdGF0ZV8pIHsKLSAgICAgIHNldFRpbWVvdXQodGhpcy5ydW5Bc3Nv
Y2lhdGlvbkV2ZW50SGFuZGxlci5iaW5kKHRoaXMsCi0gICAgICAgICAgQXNzb2NpYXRpb25FdmVu
dC5QRUVSX0NMT1NFRF9CRUZPUkVfQVNTT0NJQVRJT04pLCAwKTsKLSAgICB9Ci0gIH07Ci0KLSAg
U3RhdGUucHJvdG90eXBlLm5vdGlmeUFzc29jaWF0aW9uID0gZnVuY3Rpb24oaW50ZXJmYWNlSWQs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBlZXJHcm91
cENvbnRyb2xsZXIpIHsKLSAgICB2YXIgY2FjaGVkUGVlclN0YXRlID0gdGhpcy5wZWVyU3RhdGVf
OwotICAgIHRoaXMucGVlclN0YXRlXyA9IG51bGw7Ci0KLSAgICB0aGlzLnBlbmRpbmdBc3NvY2lh
dGlvbiA9IGZhbHNlOwotCi0gICAgaWYgKGNhY2hlZFBlZXJTdGF0ZSkgewotICAgICAgY2FjaGVk
UGVlclN0YXRlLm9uQXNzb2NpYXRlZChpbnRlcmZhY2VJZCwgcGVlckdyb3VwQ29udHJvbGxlcik7
Ci0gICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9Ci0gICAgcmV0dXJuIGZhbHNlOwotICB9OwotCi0g
IFN0YXRlLnByb3RvdHlwZS5vbkFzc29jaWF0ZWQgPSBmdW5jdGlvbihpbnRlcmZhY2VJZCwKLSAg
ICAgIGFzc29jaWF0ZWRHcm91cENvbnRyb2xsZXIpIHsKLSAgICBpZiAoIXRoaXMucGVuZGluZ0Fz
c29jaWF0aW9uKSB7Ci0gICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgdGhpcy5wZW5kaW5nQXNz
b2NpYXRpb24gPSBmYWxzZTsKLSAgICB0aGlzLnBlZXJTdGF0ZV8gPSBudWxsOwotICAgIHRoaXMu
aW50ZXJmYWNlSWQgPSBpbnRlcmZhY2VJZDsKLSAgICB0aGlzLmFzc29jaWF0ZWRHcm91cENvbnRy
b2xsZXIgPSBhc3NvY2lhdGVkR3JvdXBDb250cm9sbGVyOwotICAgIHRoaXMucnVuQXNzb2NpYXRp
b25FdmVudEhhbmRsZXIoQXNzb2NpYXRpb25FdmVudC5BU1NPQ0lBVEVEKTsKLSAgfTsKLQotICBT
dGF0ZS5wcm90b3R5cGUub25QZWVyQ2xvc2VkQmVmb3JlQXNzb2NpYXRpb24gPSBmdW5jdGlvbihk
aXNjb25uZWN0UmVhc29uKSB7Ci0gICAgaWYgKCF0aGlzLnBlbmRpbmdBc3NvY2lhdGlvbikgewot
ICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIHRoaXMucGVlclN0YXRlXyA9IG51bGw7Ci0gICAg
dGhpcy5kaXNjb25uZWN0UmVhc29uID0gZGlzY29ubmVjdFJlYXNvbjsKLQotICAgIHRoaXMucnVu
QXNzb2NpYXRpb25FdmVudEhhbmRsZXIoCi0gICAgICAgIEFzc29jaWF0aW9uRXZlbnQuUEVFUl9D
TE9TRURfQkVGT1JFX0FTU09DSUFUSU9OKTsKLSAgfTsKLQotICBmdW5jdGlvbiBjcmVhdGVQYWly
UGVuZGluZ0Fzc29jaWF0aW9uKCkgewotICAgIHZhciBoYW5kbGUwID0gbmV3IEludGVyZmFjZUVu
ZHBvaW50SGFuZGxlKCk7Ci0gICAgdmFyIGhhbmRsZTEgPSBuZXcgSW50ZXJmYWNlRW5kcG9pbnRI
YW5kbGUoKTsKLSAgICBoYW5kbGUwLnN0YXRlXy5pbml0UGVuZGluZ1N0YXRlKGhhbmRsZTEuc3Rh
dGVfKTsKLSAgICBoYW5kbGUxLnN0YXRlXy5pbml0UGVuZGluZ1N0YXRlKGhhbmRsZTAuc3RhdGVf
KTsKLSAgICByZXR1cm4ge2hhbmRsZTA6IGhhbmRsZTAsIGhhbmRsZTE6IGhhbmRsZTF9OwotICB9
Ci0KLSAgZnVuY3Rpb24gSW50ZXJmYWNlRW5kcG9pbnRIYW5kbGUoaW50ZXJmYWNlSWQsIGFzc29j
aWF0ZWRHcm91cENvbnRyb2xsZXIpIHsKLSAgICB0aGlzLnN0YXRlXyA9IG5ldyBTdGF0ZShpbnRl
cmZhY2VJZCwgYXNzb2NpYXRlZEdyb3VwQ29udHJvbGxlcik7Ci0gIH0KLQotICBJbnRlcmZhY2VF
bmRwb2ludEhhbmRsZS5wcm90b3R5cGUuaXNWYWxpZCA9IGZ1bmN0aW9uKCkgewotICAgIHJldHVy
biB0aGlzLnN0YXRlXy5pc1ZhbGlkKCk7Ci0gIH07Ci0KLSAgSW50ZXJmYWNlRW5kcG9pbnRIYW5k
bGUucHJvdG90eXBlLnBlbmRpbmdBc3NvY2lhdGlvbiA9IGZ1bmN0aW9uKCkgewotICAgIHJldHVy
biB0aGlzLnN0YXRlXy5wZW5kaW5nQXNzb2NpYXRpb247Ci0gIH07Ci0KLSAgSW50ZXJmYWNlRW5k
cG9pbnRIYW5kbGUucHJvdG90eXBlLmlkID0gZnVuY3Rpb24oKSB7Ci0gICAgcmV0dXJuIHRoaXMu
c3RhdGVfLmludGVyZmFjZUlkOwotICB9OwotCi0gIEludGVyZmFjZUVuZHBvaW50SGFuZGxlLnBy
b3RvdHlwZS5ncm91cENvbnRyb2xsZXIgPSBmdW5jdGlvbigpIHsKLSAgICByZXR1cm4gdGhpcy5z
dGF0ZV8uYXNzb2NpYXRlZEdyb3VwQ29udHJvbGxlcjsKLSAgfTsKLQotICBJbnRlcmZhY2VFbmRw
b2ludEhhbmRsZS5wcm90b3R5cGUuZGlzY29ubmVjdFJlYXNvbiA9IGZ1bmN0aW9uKCkgewotICAg
IHJldHVybiB0aGlzLnN0YXRlXy5kaXNjb25uZWN0UmVhc29uOwotICB9OwotCi0gIEludGVyZmFj
ZUVuZHBvaW50SGFuZGxlLnByb3RvdHlwZS5zZXRBc3NvY2lhdGlvbkV2ZW50SGFuZGxlciA9IGZ1
bmN0aW9uKAotICAgICAgaGFuZGxlcikgewotICAgIHRoaXMuc3RhdGVfLnNldEFzc29jaWF0aW9u
RXZlbnRIYW5kbGVyKGhhbmRsZXIpOwotICB9OwotCi0gIEludGVyZmFjZUVuZHBvaW50SGFuZGxl
LnByb3RvdHlwZS5ub3RpZnlBc3NvY2lhdGlvbiA9IGZ1bmN0aW9uKGludGVyZmFjZUlkLAotICAg
ICAgcGVlckdyb3VwQ29udHJvbGxlcikgewotICAgIHJldHVybiB0aGlzLnN0YXRlXy5ub3RpZnlB
c3NvY2lhdGlvbihpbnRlcmZhY2VJZCwgcGVlckdyb3VwQ29udHJvbGxlcik7Ci0gIH07Ci0KLSAg
SW50ZXJmYWNlRW5kcG9pbnRIYW5kbGUucHJvdG90eXBlLnJlc2V0ID0gZnVuY3Rpb24ocmVhc29u
KSB7Ci0gICAgdGhpcy5zdGF0ZV8uY2xvc2UocmVhc29uKTsKLSAgICB0aGlzLnN0YXRlXyA9IG5l
dyBTdGF0ZSgpOwotICB9OwotCi0gIGludGVybmFsLkFzc29jaWF0aW9uRXZlbnQgPSBBc3NvY2lh
dGlvbkV2ZW50OwotICBpbnRlcm5hbC5JbnRlcmZhY2VFbmRwb2ludEhhbmRsZSA9IEludGVyZmFj
ZUVuZHBvaW50SGFuZGxlOwotICBpbnRlcm5hbC5jcmVhdGVQYWlyUGVuZGluZ0Fzc29jaWF0aW9u
ID0gY3JlYXRlUGFpclBlbmRpbmdBc3NvY2lhdGlvbjsKLX0pKCk7Ci0vLyBDb3B5cmlnaHQgMjAx
NyBUaGUgQ2hyb21pdW0gQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLS8vIFVzZSBvZiB0
aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UgdGhhdCBj
YW4gYmUKLS8vIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCi0KLShmdW5jdGlvbigpIHsKLSAg
dmFyIGludGVybmFsID0gbW9qby5pbnRlcm5hbDsKLQotICBmdW5jdGlvbiB2YWxpZGF0ZUNvbnRy
b2xSZXF1ZXN0V2l0aG91dFJlc3BvbnNlKG1lc3NhZ2UpIHsKLSAgICB2YXIgbWVzc2FnZVZhbGlk
YXRvciA9IG5ldyBpbnRlcm5hbC5WYWxpZGF0b3IobWVzc2FnZSk7Ci0gICAgdmFyIGVycm9yID0g
bWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZU1lc3NhZ2VJc1JlcXVlc3RXaXRob3V0UmVzcG9uc2Uo
KTsKLSAgICBpZiAoZXJyb3IgIT0gaW50ZXJuYWwudmFsaWRhdGlvbkVycm9yLk5PTkUpIHsKLSAg
ICAgIHRocm93IGVycm9yOwotICAgIH0KLQotICAgIGlmIChtZXNzYWdlLmdldE5hbWUoKSAhPSBt
b2pvLnBpcGVDb250cm9sMi5rUnVuT3JDbG9zZVBpcGVNZXNzYWdlSWQpIHsKLSAgICAgIHRocm93
IG5ldyBFcnJvcigiQ29udHJvbCBtZXNzYWdlIG5hbWUgaXMgbm90IGtSdW5PckNsb3NlUGlwZU1l
c3NhZ2VJZCIpOwotICAgIH0KLQotICAgIC8vIFZhbGlkYXRlIHBheWxvYWQuCi0gICAgZXJyb3Ig
PSBtb2pvLnBpcGVDb250cm9sMi5SdW5PckNsb3NlUGlwZU1lc3NhZ2VQYXJhbXMudmFsaWRhdGUo
Ci0gICAgICAgIG1lc3NhZ2VWYWxpZGF0b3IsIG1lc3NhZ2UuZ2V0SGVhZGVyTnVtQnl0ZXMoKSk7
Ci0gICAgaWYgKGVycm9yICE9IGludGVybmFsLnZhbGlkYXRpb25FcnJvci5OT05FKSB7Ci0gICAg
ICB0aHJvdyBlcnJvcjsKLSAgICB9Ci0gIH0KLQotICBmdW5jdGlvbiBydW5PckNsb3NlUGlwZSht
ZXNzYWdlLCBkZWxlZ2F0ZSkgewotICAgIHZhciByZWFkZXIgPSBuZXcgaW50ZXJuYWwuTWVzc2Fn
ZVJlYWRlcihtZXNzYWdlKTsKLSAgICB2YXIgcnVuT3JDbG9zZVBpcGVNZXNzYWdlUGFyYW1zID0g
cmVhZGVyLmRlY29kZVN0cnVjdCgKLSAgICAgICAgbW9qby5waXBlQ29udHJvbDIuUnVuT3JDbG9z
ZVBpcGVNZXNzYWdlUGFyYW1zKTsKLSAgICB2YXIgZXZlbnQgPSBydW5PckNsb3NlUGlwZU1lc3Nh
Z2VQYXJhbXMuaW5wdXQKLSAgICAgICAgLnBlZXJBc3NvY2lhdGVkRW5kcG9pbnRDbG9zZWRFdmVu
dDsKLSAgICByZXR1cm4gZGVsZWdhdGUub25QZWVyQXNzb2NpYXRlZEVuZHBvaW50Q2xvc2VkKGV2
ZW50LmlkLAotICAgICAgICBldmVudC5kaXNjb25uZWN0UmVhc29uKTsKLSAgfQotCi0gIGZ1bmN0
aW9uIGlzUGlwZUNvbnRyb2xNZXNzYWdlKG1lc3NhZ2UpIHsKLSAgICByZXR1cm4gIWludGVybmFs
LmlzVmFsaWRJbnRlcmZhY2VJZChtZXNzYWdlLmdldEludGVyZmFjZUlkKCkpOwotICB9Ci0KLSAg
ZnVuY3Rpb24gUGlwZUNvbnRyb2xNZXNzYWdlSGFuZGxlcihkZWxlZ2F0ZSkgewotICAgIHRoaXMu
ZGVsZWdhdGVfID0gZGVsZWdhdGU7Ci0gIH0KLQotICBQaXBlQ29udHJvbE1lc3NhZ2VIYW5kbGVy
LnByb3RvdHlwZS5hY2NlcHQgPSBmdW5jdGlvbihtZXNzYWdlKSB7Ci0gICAgdmFsaWRhdGVDb250
cm9sUmVxdWVzdFdpdGhvdXRSZXNwb25zZShtZXNzYWdlKTsKLSAgICByZXR1cm4gcnVuT3JDbG9z
ZVBpcGUobWVzc2FnZSwgdGhpcy5kZWxlZ2F0ZV8pOwotICB9OwotCi0gIGludGVybmFsLlBpcGVD
b250cm9sTWVzc2FnZUhhbmRsZXIgPSBQaXBlQ29udHJvbE1lc3NhZ2VIYW5kbGVyOwotICBpbnRl
cm5hbC5pc1BpcGVDb250cm9sTWVzc2FnZSA9IGlzUGlwZUNvbnRyb2xNZXNzYWdlOwotfSkoKTsK
LS8vIENvcHlyaWdodCAyMDE3IFRoZSBDaHJvbWl1bSBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgotLy8gVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5
bGUgbGljZW5zZSB0aGF0IGNhbiBiZQotLy8gZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KLQot
KGZ1bmN0aW9uKCkgewotICB2YXIgaW50ZXJuYWwgPSBtb2pvLmludGVybmFsOwotCi0gIGZ1bmN0
aW9uIGNvbnN0cnVjdFJ1bk9yQ2xvc2VQaXBlTWVzc2FnZShydW5PckNsb3NlUGlwZUlucHV0KSB7
Ci0gICAgdmFyIHJ1bk9yQ2xvc2VQaXBlTWVzc2FnZVBhcmFtcyA9IG5ldwotICAgICAgICBtb2pv
LnBpcGVDb250cm9sMi5SdW5PckNsb3NlUGlwZU1lc3NhZ2VQYXJhbXMoKTsKLSAgICBydW5PckNs
b3NlUGlwZU1lc3NhZ2VQYXJhbXMuaW5wdXQgPSBydW5PckNsb3NlUGlwZUlucHV0OwotCi0gICAg
dmFyIG1lc3NhZ2VOYW1lID0gbW9qby5waXBlQ29udHJvbDIua1J1bk9yQ2xvc2VQaXBlTWVzc2Fn
ZUlkOwotICAgIHZhciBwYXlsb2FkU2l6ZSA9Ci0gICAgICAgIG1vam8ucGlwZUNvbnRyb2wyLlJ1
bk9yQ2xvc2VQaXBlTWVzc2FnZVBhcmFtcy5lbmNvZGVkU2l6ZTsKLQotICAgIHZhciBidWlsZGVy
ID0gbmV3IGludGVybmFsLk1lc3NhZ2VWMEJ1aWxkZXIobWVzc2FnZU5hbWUsIHBheWxvYWRTaXpl
KTsKLSAgICBidWlsZGVyLmVuY29kZVN0cnVjdChtb2pvLnBpcGVDb250cm9sMi5SdW5PckNsb3Nl
UGlwZU1lc3NhZ2VQYXJhbXMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgcnVuT3JDbG9zZVBp
cGVNZXNzYWdlUGFyYW1zKTsKLSAgICB2YXIgbWVzc2FnZSA9IGJ1aWxkZXIuZmluaXNoKCk7Ci0g
ICAgbWVzc2FnZS5zZXRJbnRlcmZhY2VJZChpbnRlcm5hbC5rSW52YWxpZEludGVyZmFjZUlkKTsK
LSAgICByZXR1cm4gbWVzc2FnZTsKLSAgfQotCi0gIGZ1bmN0aW9uIFBpcGVDb250cm9sTWVzc2Fn
ZVByb3h5KHJlY2VpdmVyKSB7Ci0gICAgdGhpcy5yZWNlaXZlcl8gPSByZWNlaXZlcjsKLSAgfQot
Ci0gIFBpcGVDb250cm9sTWVzc2FnZVByb3h5LnByb3RvdHlwZS5ub3RpZnlQZWVyRW5kcG9pbnRD
bG9zZWQgPSBmdW5jdGlvbigKLSAgICAgIGludGVyZmFjZUlkLCByZWFzb24pIHsKLSAgICB2YXIg
bWVzc2FnZSA9IHRoaXMuY29uc3RydWN0UGVlckVuZHBvaW50Q2xvc2VkTWVzc2FnZShpbnRlcmZh
Y2VJZCwgcmVhc29uKTsKLSAgICB0aGlzLnJlY2VpdmVyXy5hY2NlcHQobWVzc2FnZSk7Ci0gIH07
Ci0KLSAgUGlwZUNvbnRyb2xNZXNzYWdlUHJveHkucHJvdG90eXBlLmNvbnN0cnVjdFBlZXJFbmRw
b2ludENsb3NlZE1lc3NhZ2UgPQotICAgICAgZnVuY3Rpb24oaW50ZXJmYWNlSWQsIHJlYXNvbikg
ewotICAgIHZhciBldmVudCA9IG5ldyBtb2pvLnBpcGVDb250cm9sMi5QZWVyQXNzb2NpYXRlZEVu
ZHBvaW50Q2xvc2VkRXZlbnQoKTsKLSAgICBldmVudC5pZCA9IGludGVyZmFjZUlkOwotICAgIGlm
IChyZWFzb24pIHsKLSAgICAgIGV2ZW50LmRpc2Nvbm5lY3RSZWFzb24gPSBuZXcgbW9qby5waXBl
Q29udHJvbDIuRGlzY29ubmVjdFJlYXNvbih7Ci0gICAgICAgICAgY3VzdG9tUmVhc29uOiByZWFz
b24uY3VzdG9tUmVhc29uLAotICAgICAgICAgIGRlc2NyaXB0aW9uOiByZWFzb24uZGVzY3JpcHRp
b259KTsKLSAgICB9Ci0gICAgdmFyIHJ1bk9yQ2xvc2VQaXBlSW5wdXQgPSBuZXcgbW9qby5waXBl
Q29udHJvbDIuUnVuT3JDbG9zZVBpcGVJbnB1dCgpOwotICAgIHJ1bk9yQ2xvc2VQaXBlSW5wdXQu
cGVlckFzc29jaWF0ZWRFbmRwb2ludENsb3NlZEV2ZW50ID0gZXZlbnQ7Ci0gICAgcmV0dXJuIGNv
bnN0cnVjdFJ1bk9yQ2xvc2VQaXBlTWVzc2FnZShydW5PckNsb3NlUGlwZUlucHV0KTsKLSAgfTsK
LQotICBpbnRlcm5hbC5QaXBlQ29udHJvbE1lc3NhZ2VQcm94eSA9IFBpcGVDb250cm9sTWVzc2Fn
ZVByb3h5OwotfSkoKTsKLS8vIENvcHlyaWdodCAyMDE0IFRoZSBDaHJvbWl1bSBBdXRob3JzLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgotLy8gVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJu
ZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQotLy8gZm91bmQgaW4gdGhlIExJ
Q0VOU0UgZmlsZS4KLQotKGZ1bmN0aW9uKCkgewotICB2YXIgaW50ZXJuYWwgPSBtb2pvLmludGVy
bmFsOwotCi0gIC8qKgotICAgKiBUaGUgc3RhdGUgb2YgfGVuZHBvaW50fC4gSWYgYm90aCB0aGUg
ZW5kcG9pbnQgYW5kIGl0cyBwZWVyIGhhdmUgYmVlbgotICAgKiBjbG9zZWQsIHJlbW92ZXMgaXQg
ZnJvbSB8ZW5kcG9pbnRzX3wuCi0gICAqIEBlbnVtIHtzdHJpbmd9Ci0gICAqLwotICB2YXIgRW5k
cG9pbnRTdGF0ZVVwZGF0ZVR5cGUgPSB7Ci0gICAgRU5EUE9JTlRfQ0xPU0VEOiAnZW5kcG9pbnRf
Y2xvc2VkJywKLSAgICBQRUVSX0VORFBPSU5UX0NMT1NFRDogJ3BlZXJfZW5kcG9pbnRfY2xvc2Vk
JwotICB9OwotCi0gIGZ1bmN0aW9uIGNoZWNrKGNvbmRpdGlvbiwgb3V0cHV0KSB7Ci0gICAgaWYg
KCFjb25kaXRpb24pIHsKLSAgICAgIC8vIHRlc3RoYXJuZXNzLmpzIGRvZXMgbm90IHJldGhyb3cg
ZXJyb3JzIHNvIHRoZSBlcnJvciBzdGFjayBuZWVkcyB0byBiZQotICAgICAgLy8gaW5jbHVkZWQg
YXMgYSBzdHJpbmcgaW4gdGhlIGVycm9yIHdlIHRocm93IGZvciBkZWJ1Z2dpbmcgbGF5b3V0IHRl
c3RzLgotICAgICAgdGhyb3cgbmV3IEVycm9yKChuZXcgRXJyb3IoKSkuc3RhY2spOwotICAgIH0K
LSAgfQotCi0gIGZ1bmN0aW9uIEludGVyZmFjZUVuZHBvaW50KHJvdXRlciwgaW50ZXJmYWNlSWQp
IHsKLSAgICB0aGlzLnJvdXRlcl8gPSByb3V0ZXI7Ci0gICAgdGhpcy5pZCA9IGludGVyZmFjZUlk
OwotICAgIHRoaXMuY2xvc2VkID0gZmFsc2U7Ci0gICAgdGhpcy5wZWVyQ2xvc2VkID0gZmFsc2U7
Ci0gICAgdGhpcy5oYW5kbGVDcmVhdGVkID0gZmFsc2U7Ci0gICAgdGhpcy5kaXNjb25uZWN0UmVh
c29uID0gbnVsbDsKLSAgICB0aGlzLmNsaWVudCA9IG51bGw7Ci0gIH0KLQotICBJbnRlcmZhY2VF
bmRwb2ludC5wcm90b3R5cGUuc2VuZE1lc3NhZ2UgPSBmdW5jdGlvbihtZXNzYWdlKSB7Ci0gICAg
bWVzc2FnZS5zZXRJbnRlcmZhY2VJZCh0aGlzLmlkKTsKLSAgICByZXR1cm4gdGhpcy5yb3V0ZXJf
LmNvbm5lY3Rvcl8uYWNjZXB0KG1lc3NhZ2UpOwotICB9OwotCi0gIGZ1bmN0aW9uIFJvdXRlciho
YW5kbGUsIHNldEludGVyZmFjZUlkTmFtZXNwYWNlQml0KSB7Ci0gICAgaWYgKCEoaGFuZGxlIGlu
c3RhbmNlb2YgTW9qb0hhbmRsZSkpIHsKLSAgICAgIHRocm93IG5ldyBFcnJvcigiUm91dGVyIGNv
bnN0cnVjdG9yOiBOb3QgYSBoYW5kbGUiKTsKLSAgICB9Ci0gICAgaWYgKHNldEludGVyZmFjZUlk
TmFtZXNwYWNlQml0ID09PSB1bmRlZmluZWQpIHsKLSAgICAgIHNldEludGVyZmFjZUlkTmFtZXNw
YWNlQml0ID0gZmFsc2U7Ci0gICAgfQotCi0gICAgdGhpcy5jb25uZWN0b3JfID0gbmV3IGludGVy
bmFsLkNvbm5lY3RvcihoYW5kbGUpOwotCi0gICAgdGhpcy5jb25uZWN0b3JfLnNldEluY29taW5n
UmVjZWl2ZXIoewotICAgICAgICBhY2NlcHQ6IHRoaXMuYWNjZXB0LmJpbmQodGhpcyksCi0gICAg
fSk7Ci0gICAgdGhpcy5jb25uZWN0b3JfLnNldEVycm9ySGFuZGxlcih7Ci0gICAgICAgIG9uRXJy
b3I6IHRoaXMub25QaXBlQ29ubmVjdGlvbkVycm9yLmJpbmQodGhpcyksCi0gICAgfSk7Ci0KLSAg
ICB0aGlzLnNldEludGVyZmFjZUlkTmFtZXNwYWNlQml0XyA9IHNldEludGVyZmFjZUlkTmFtZXNw
YWNlQml0OwotICAgIC8vIHxjYWNoZWRNZXNzYWdlRGF0YXwgY2FjaGVzIGluZm9tYXRpb24gYWJv
dXQgYSBtZXNzYWdlLCBzbyBpdCBjYW4gYmUKLSAgICAvLyBwcm9jZXNzZWQgbGF0ZXIgaWYgYSBj
bGllbnQgaXMgbm90IHlldCBhdHRhY2hlZCB0byB0aGUgdGFyZ2V0IGVuZHBvaW50LgotICAgIHRo
aXMuY2FjaGVkTWVzc2FnZURhdGEgPSBudWxsOwotICAgIHRoaXMuY29udHJvbE1lc3NhZ2VIYW5k
bGVyXyA9IG5ldyBpbnRlcm5hbC5QaXBlQ29udHJvbE1lc3NhZ2VIYW5kbGVyKHRoaXMpOwotICAg
IHRoaXMuY29udHJvbE1lc3NhZ2VQcm94eV8gPQotICAgICAgICBuZXcgaW50ZXJuYWwuUGlwZUNv
bnRyb2xNZXNzYWdlUHJveHkodGhpcy5jb25uZWN0b3JfKTsKLSAgICB0aGlzLm5leHRJbnRlcmZh
Y2VJZFZhbHVlXyA9IDE7Ci0gICAgdGhpcy5lbmNvdW50ZXJlZEVycm9yXyA9IGZhbHNlOwotICAg
IHRoaXMuZW5kcG9pbnRzXyA9IG5ldyBNYXAoKTsKLSAgfQotCi0gIFJvdXRlci5wcm90b3R5cGUu
YXNzb2NpYXRlSW50ZXJmYWNlID0gZnVuY3Rpb24oaGFuZGxlVG9TZW5kKSB7Ci0gICAgaWYgKCFo
YW5kbGVUb1NlbmQucGVuZGluZ0Fzc29jaWF0aW9uKCkpIHsKLSAgICAgIHJldHVybiBpbnRlcm5h
bC5rSW52YWxpZEludGVyZmFjZUlkOwotICAgIH0KLQotICAgIHZhciBpZCA9IDA7Ci0gICAgZG8g
ewotICAgICAgaWYgKHRoaXMubmV4dEludGVyZmFjZUlkVmFsdWVfID49IGludGVybmFsLmtJbnRl
cmZhY2VJZE5hbWVzcGFjZU1hc2spIHsKLSAgICAgICAgdGhpcy5uZXh0SW50ZXJmYWNlSWRWYWx1
ZV8gPSAxOwotICAgICAgfQotICAgICAgaWQgPSB0aGlzLm5leHRJbnRlcmZhY2VJZFZhbHVlXysr
OwotICAgICAgaWYgKHRoaXMuc2V0SW50ZXJmYWNlSWROYW1lc3BhY2VCaXRfKSB7Ci0gICAgICAg
IGlkICs9IGludGVybmFsLmtJbnRlcmZhY2VJZE5hbWVzcGFjZU1hc2s7Ci0gICAgICB9Ci0gICAg
fSB3aGlsZSAodGhpcy5lbmRwb2ludHNfLmhhcyhpZCkpOwotCi0gICAgdmFyIGVuZHBvaW50ID0g
bmV3IEludGVyZmFjZUVuZHBvaW50KHRoaXMsIGlkKTsKLSAgICB0aGlzLmVuZHBvaW50c18uc2V0
KGlkLCBlbmRwb2ludCk7Ci0gICAgaWYgKHRoaXMuZW5jb3VudGVyZWRFcnJvcl8pIHsKLSAgICAg
IHRoaXMudXBkYXRlRW5kcG9pbnRTdGF0ZU1heVJlbW92ZShlbmRwb2ludCwKLSAgICAgICAgICBF
bmRwb2ludFN0YXRlVXBkYXRlVHlwZS5QRUVSX0VORFBPSU5UX0NMT1NFRCk7Ci0gICAgfQotICAg
IGVuZHBvaW50LmhhbmRsZUNyZWF0ZWQgPSB0cnVlOwotCi0gICAgaWYgKCFoYW5kbGVUb1NlbmQu
bm90aWZ5QXNzb2NpYXRpb24oaWQsIHRoaXMpKSB7Ci0gICAgICAvLyBUaGUgcGVlciBoYW5kbGUg
b2YgfGhhbmRsZVRvU2VuZHwsIHdoaWNoIGlzIHN1cHBvc2VkIHRvIGpvaW4gdGhpcwotICAgICAg
Ly8gYXNzb2NpYXRlZCBncm91cCwgaGFzIGJlZW4gY2xvc2VkLgotICAgICAgdGhpcy51cGRhdGVF
bmRwb2ludFN0YXRlTWF5UmVtb3ZlKGVuZHBvaW50LAotICAgICAgICAgIEVuZHBvaW50U3RhdGVV
cGRhdGVUeXBlLkVORFBPSU5UX0NMT1NFRCk7Ci0KLSAgICAgIHBpcGVDb250cm9sTWVzc2FnZXBy
b3h5Lm5vdGlmeVBlZXJFbmRwb2ludENsb3NlZChpZCwKLSAgICAgICAgICBoYW5kbGVUb1NlbmQu
ZGlzY29ubmVjdFJlYXNvbigpKTsKLSAgICB9Ci0KLSAgICByZXR1cm4gaWQ7Ci0gIH07Ci0KLSAg
Um91dGVyLnByb3RvdHlwZS5hdHRhY2hFbmRwb2ludENsaWVudCA9IGZ1bmN0aW9uKAotICAgICAg
aW50ZXJmYWNlRW5kcG9pbnRIYW5kbGUsIGludGVyZmFjZUVuZHBvaW50Q2xpZW50KSB7Ci0gICAg
Y2hlY2soaW50ZXJuYWwuaXNWYWxpZEludGVyZmFjZUlkKGludGVyZmFjZUVuZHBvaW50SGFuZGxl
LmlkKCkpKTsKLSAgICBjaGVjayhpbnRlcmZhY2VFbmRwb2ludENsaWVudCk7Ci0KLSAgICB2YXIg
ZW5kcG9pbnQgPSB0aGlzLmVuZHBvaW50c18uZ2V0KGludGVyZmFjZUVuZHBvaW50SGFuZGxlLmlk
KCkpOwotICAgIGNoZWNrKGVuZHBvaW50KTsKLSAgICBjaGVjayghZW5kcG9pbnQuY2xpZW50KTsK
LSAgICBjaGVjayghZW5kcG9pbnQuY2xvc2VkKTsKLSAgICBlbmRwb2ludC5jbGllbnQgPSBpbnRl
cmZhY2VFbmRwb2ludENsaWVudDsKLQotICAgIGlmIChlbmRwb2ludC5wZWVyQ2xvc2VkKSB7Ci0g
ICAgICBzZXRUaW1lb3V0KGVuZHBvaW50LmNsaWVudC5ub3RpZnlFcnJvci5iaW5kKGVuZHBvaW50
LmNsaWVudCksIDApOwotICAgIH0KLQotICAgIGlmICh0aGlzLmNhY2hlZE1lc3NhZ2VEYXRhICYm
IGludGVyZmFjZUVuZHBvaW50SGFuZGxlLmlkKCkgPT09Ci0gICAgICAgIHRoaXMuY2FjaGVkTWVz
c2FnZURhdGEubWVzc2FnZS5nZXRJbnRlcmZhY2VJZCgpKSB7Ci0gICAgICBzZXRUaW1lb3V0KChm
dW5jdGlvbigpIHsKLSAgICAgICAgaWYgKCF0aGlzLmNhY2hlZE1lc3NhZ2VEYXRhKSB7Ci0gICAg
ICAgICAgcmV0dXJuOwotICAgICAgICB9Ci0KLSAgICAgICAgdmFyIHRhcmdldEVuZHBvaW50ID0g
dGhpcy5lbmRwb2ludHNfLmdldCgKLSAgICAgICAgICAgIHRoaXMuY2FjaGVkTWVzc2FnZURhdGEu
bWVzc2FnZS5nZXRJbnRlcmZhY2VJZCgpKTsKLSAgICAgICAgLy8gQ2hlY2sgdGhhdCB0aGUgdGFy
Z2V0IGVuZHBvaW50J3MgY2xpZW50IHN0aWxsIGV4aXN0cy4KLSAgICAgICAgaWYgKHRhcmdldEVu
ZHBvaW50ICYmIHRhcmdldEVuZHBvaW50LmNsaWVudCkgewotICAgICAgICAgIHZhciBtZXNzYWdl
ID0gdGhpcy5jYWNoZWRNZXNzYWdlRGF0YS5tZXNzYWdlOwotICAgICAgICAgIHZhciBtZXNzYWdl
VmFsaWRhdG9yID0gdGhpcy5jYWNoZWRNZXNzYWdlRGF0YS5tZXNzYWdlVmFsaWRhdG9yOwotICAg
ICAgICAgIHRoaXMuY2FjaGVkTWVzc2FnZURhdGEgPSBudWxsOwotICAgICAgICAgIHRoaXMuY29u
bmVjdG9yXy5yZXN1bWVJbmNvbWluZ01ldGhvZENhbGxQcm9jZXNzaW5nKCk7Ci0gICAgICAgICAg
dmFyIG9rID0gZW5kcG9pbnQuY2xpZW50LmhhbmRsZUluY29taW5nTWVzc2FnZShtZXNzYWdlLAot
ICAgICAgICAgICAgICBtZXNzYWdlVmFsaWRhdG9yKTsKLQotICAgICAgICAgIC8vIEhhbmRsZSBp
bnZhbGlkIGNhY2hlZCBpbmNvbWluZyBtZXNzYWdlLgotICAgICAgICAgIGlmICghaW50ZXJuYWwu
aXNUZXN0aW5nTW9kZSgpICYmICFvaykgewotICAgICAgICAgICAgdGhpcy5jb25uZWN0b3JfLmhh
bmRsZUVycm9yKHRydWUsIHRydWUpOwotICAgICAgICAgIH0KLSAgICAgICAgfQotICAgICAgfSku
YmluZCh0aGlzKSwgMCk7Ci0gICAgfQotCi0gICAgcmV0dXJuIGVuZHBvaW50OwotICB9OwotCi0g
IFJvdXRlci5wcm90b3R5cGUuZGV0YWNoRW5kcG9pbnRDbGllbnQgPSBmdW5jdGlvbigKLSAgICAg
IGludGVyZmFjZUVuZHBvaW50SGFuZGxlKSB7Ci0gICAgY2hlY2soaW50ZXJuYWwuaXNWYWxpZElu
dGVyZmFjZUlkKGludGVyZmFjZUVuZHBvaW50SGFuZGxlLmlkKCkpKTsKLSAgICB2YXIgZW5kcG9p
bnQgPSB0aGlzLmVuZHBvaW50c18uZ2V0KGludGVyZmFjZUVuZHBvaW50SGFuZGxlLmlkKCkpOwot
ICAgIGNoZWNrKGVuZHBvaW50KTsKLSAgICBjaGVjayhlbmRwb2ludC5jbGllbnQpOwotICAgIGNo
ZWNrKCFlbmRwb2ludC5jbG9zZWQpOwotCi0gICAgZW5kcG9pbnQuY2xpZW50ID0gbnVsbDsKLSAg
fTsKLQotICBSb3V0ZXIucHJvdG90eXBlLmNyZWF0ZUxvY2FsRW5kcG9pbnRIYW5kbGUgPSBmdW5j
dGlvbigKLSAgICAgIGludGVyZmFjZUlkKSB7Ci0gICAgaWYgKCFpbnRlcm5hbC5pc1ZhbGlkSW50
ZXJmYWNlSWQoaW50ZXJmYWNlSWQpKSB7Ci0gICAgICByZXR1cm4gbmV3IGludGVybmFsLkludGVy
ZmFjZUVuZHBvaW50SGFuZGxlKCk7Ci0gICAgfQotCi0gICAgdmFyIGVuZHBvaW50ID0gdGhpcy5l
bmRwb2ludHNfLmdldChpbnRlcmZhY2VJZCk7Ci0KLSAgICBpZiAoIWVuZHBvaW50KSB7Ci0gICAg
ICBlbmRwb2ludCA9IG5ldyBJbnRlcmZhY2VFbmRwb2ludCh0aGlzLCBpbnRlcmZhY2VJZCk7Ci0g
ICAgICB0aGlzLmVuZHBvaW50c18uc2V0KGludGVyZmFjZUlkLCBlbmRwb2ludCk7Ci0KLSAgICAg
IGNoZWNrKCFlbmRwb2ludC5oYW5kbGVDcmVhdGVkKTsKLQotICAgICAgaWYgKHRoaXMuZW5jb3Vu
dGVyZWRFcnJvcl8pIHsKLSAgICAgICAgdGhpcy51cGRhdGVFbmRwb2ludFN0YXRlTWF5UmVtb3Zl
KGVuZHBvaW50LAotICAgICAgICAgICAgRW5kcG9pbnRTdGF0ZVVwZGF0ZVR5cGUuUEVFUl9FTkRQ
T0lOVF9DTE9TRUQpOwotICAgICAgfQotICAgIH0gZWxzZSB7Ci0gICAgICAvLyBJZiB0aGUgZW5k
cG9pbnQgYWxyZWFkeSBleGlzdCwgaXQgaXMgYmVjYXVzZSB3ZSBoYXZlIHJlY2VpdmVkIGEKLSAg
ICAgIC8vIG5vdGlmaWNhdGlvbiB0aGF0IHRoZSBwZWVyIGVuZHBvaW50IGhhcyBjbG9zZWQuCi0g
ICAgICBjaGVjayghZW5kcG9pbnQuY2xvc2VkKTsKLSAgICAgIGNoZWNrKGVuZHBvaW50LnBlZXJD
bG9zZWQpOwotCi0gICAgICBpZiAoZW5kcG9pbnQuaGFuZGxlQ3JlYXRlZCkgewotICAgICAgICBy
ZXR1cm4gbmV3IGludGVybmFsLkludGVyZmFjZUVuZHBvaW50SGFuZGxlKCk7Ci0gICAgICB9Ci0g
ICAgfQotCi0gICAgZW5kcG9pbnQuaGFuZGxlQ3JlYXRlZCA9IHRydWU7Ci0gICAgcmV0dXJuIG5l
dyBpbnRlcm5hbC5JbnRlcmZhY2VFbmRwb2ludEhhbmRsZShpbnRlcmZhY2VJZCwgdGhpcyk7Ci0g
IH07Ci0KLSAgUm91dGVyLnByb3RvdHlwZS5hY2NlcHQgPSBmdW5jdGlvbihtZXNzYWdlKSB7Ci0g
ICAgdmFyIG1lc3NhZ2VWYWxpZGF0b3IgPSBuZXcgaW50ZXJuYWwuVmFsaWRhdG9yKG1lc3NhZ2Up
OwotICAgIHZhciBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlTWVzc2FnZUhlYWRlcigp
OwotCi0gICAgdmFyIG9rID0gZmFsc2U7Ci0gICAgaWYgKGVyciAhPT0gaW50ZXJuYWwudmFsaWRh
dGlvbkVycm9yLk5PTkUpIHsKLSAgICAgIGludGVybmFsLnJlcG9ydFZhbGlkYXRpb25FcnJvcihl
cnIpOwotICAgIH0gZWxzZSBpZiAobWVzc2FnZS5kZXNlcmlhbGl6ZUFzc29jaWF0ZWRFbmRwb2lu
dEhhbmRsZXModGhpcykpIHsKLSAgICAgIGlmIChpbnRlcm5hbC5pc1BpcGVDb250cm9sTWVzc2Fn
ZShtZXNzYWdlKSkgewotICAgICAgICBvayA9IHRoaXMuY29udHJvbE1lc3NhZ2VIYW5kbGVyXy5h
Y2NlcHQobWVzc2FnZSk7Ci0gICAgICB9IGVsc2UgewotICAgICAgICB2YXIgaW50ZXJmYWNlSWQg
PSBtZXNzYWdlLmdldEludGVyZmFjZUlkKCk7Ci0gICAgICAgIHZhciBlbmRwb2ludCA9IHRoaXMu
ZW5kcG9pbnRzXy5nZXQoaW50ZXJmYWNlSWQpOwotICAgICAgICBpZiAoIWVuZHBvaW50IHx8IGVu
ZHBvaW50LmNsb3NlZCkgewotICAgICAgICAgIHJldHVybiB0cnVlOwotICAgICAgICB9Ci0KLSAg
ICAgICAgaWYgKCFlbmRwb2ludC5jbGllbnQpIHsKLSAgICAgICAgICAvLyBXZSBuZWVkIHRvIHdh
aXQgdW50aWwgYSBjbGllbnQgaXMgYXR0YWNoZWQgaW4gb3JkZXIgdG8gZGlzcGF0Y2gKLSAgICAg
ICAgICAvLyBmdXJ0aGVyIG1lc3NhZ2VzLgotICAgICAgICAgIHRoaXMuY2FjaGVkTWVzc2FnZURh
dGEgPSB7bWVzc2FnZTogbWVzc2FnZSwKLSAgICAgICAgICAgICAgbWVzc2FnZVZhbGlkYXRvcjog
bWVzc2FnZVZhbGlkYXRvcn07Ci0gICAgICAgICAgdGhpcy5jb25uZWN0b3JfLnBhdXNlSW5jb21p
bmdNZXRob2RDYWxsUHJvY2Vzc2luZygpOwotICAgICAgICAgIHJldHVybiB0cnVlOwotICAgICAg
ICB9Ci0gICAgICAgIG9rID0gZW5kcG9pbnQuY2xpZW50LmhhbmRsZUluY29taW5nTWVzc2FnZSht
ZXNzYWdlLCBtZXNzYWdlVmFsaWRhdG9yKTsKLSAgICAgIH0KLSAgICB9Ci0gICAgcmV0dXJuIG9r
OwotICB9OwotCi0gIFJvdXRlci5wcm90b3R5cGUuY2xvc2UgPSBmdW5jdGlvbigpIHsKLSAgICB0
aGlzLmNvbm5lY3Rvcl8uY2xvc2UoKTsKLSAgICAvLyBDbG9zaW5nIHRoZSBtZXNzYWdlIHBpcGUg
d29uJ3QgdHJpZ2dlciBjb25uZWN0aW9uIGVycm9yIGhhbmRsZXIuCi0gICAgLy8gRXhwbGljaXRs
eSBjYWxsIG9uUGlwZUNvbm5lY3Rpb25FcnJvcigpIHNvIHRoYXQgYXNzb2NpYXRlZCBlbmRwb2lu
dHMKLSAgICAvLyB3aWxsIGdldCBub3RpZmllZC4KLSAgICB0aGlzLm9uUGlwZUNvbm5lY3Rpb25F
cnJvcigpOwotICB9OwotCi0gIFJvdXRlci5wcm90b3R5cGUub25QZWVyQXNzb2NpYXRlZEVuZHBv
aW50Q2xvc2VkID0gZnVuY3Rpb24oaW50ZXJmYWNlSWQsCi0gICAgICByZWFzb24pIHsKLSAgICBj
aGVjayghaW50ZXJuYWwuaXNNYXN0ZXJJbnRlcmZhY2VJZChpbnRlcmZhY2VJZCkgfHwgcmVhc29u
KTsKLQotICAgIHZhciBlbmRwb2ludCA9IHRoaXMuZW5kcG9pbnRzXy5nZXQoaW50ZXJmYWNlSWQp
OwotICAgIGlmICghZW5kcG9pbnQpIHsKLSAgICAgIGVuZHBvaW50ID0gbmV3IEludGVyZmFjZUVu
ZHBvaW50KHRoaXMsIGludGVyZmFjZUlkKTsKLSAgICAgIHRoaXMuZW5kcG9pbnRzXy5zZXQoaW50
ZXJmYWNlSWQsIGVuZHBvaW50KTsKLSAgICB9Ci0KLSAgICBpZiAocmVhc29uKSB7Ci0gICAgICBl
bmRwb2ludC5kaXNjb25uZWN0UmVhc29uID0gcmVhc29uOwotICAgIH0KLQotICAgIGlmICghZW5k
cG9pbnQucGVlckNsb3NlZCkgewotICAgICAgaWYgKGVuZHBvaW50LmNsaWVudCkgewotICAgICAg
ICBzZXRUaW1lb3V0KGVuZHBvaW50LmNsaWVudC5ub3RpZnlFcnJvci5iaW5kKGVuZHBvaW50LmNs
aWVudCwgcmVhc29uKSwKLSAgICAgICAgICAgICAgICAgICAwKTsKLSAgICAgIH0KLSAgICAgIHRo
aXMudXBkYXRlRW5kcG9pbnRTdGF0ZU1heVJlbW92ZShlbmRwb2ludCwKLSAgICAgICAgICBFbmRw
b2ludFN0YXRlVXBkYXRlVHlwZS5QRUVSX0VORFBPSU5UX0NMT1NFRCk7Ci0gICAgfQotICAgIHJl
dHVybiB0cnVlOwotICB9OwotCi0gIFJvdXRlci5wcm90b3R5cGUub25QaXBlQ29ubmVjdGlvbkVy
cm9yID0gZnVuY3Rpb24oKSB7Ci0gICAgdGhpcy5lbmNvdW50ZXJlZEVycm9yXyA9IHRydWU7Ci0K
LSAgICBmb3IgKHZhciBlbmRwb2ludCBvZiB0aGlzLmVuZHBvaW50c18udmFsdWVzKCkpIHsKLSAg
ICAgIGlmIChlbmRwb2ludC5jbGllbnQpIHsKLSAgICAgICAgc2V0VGltZW91dCgKLSAgICAgICAg
ICAgIGVuZHBvaW50LmNsaWVudC5ub3RpZnlFcnJvci5iaW5kKAotICAgICAgICAgICAgICAgIGVu
ZHBvaW50LmNsaWVudCwgZW5kcG9pbnQuZGlzY29ubmVjdFJlYXNvbiksCi0gICAgICAgICAgICAw
KTsKLSAgICAgIH0KLSAgICAgIHRoaXMudXBkYXRlRW5kcG9pbnRTdGF0ZU1heVJlbW92ZShlbmRw
b2ludCwKLSAgICAgICAgICBFbmRwb2ludFN0YXRlVXBkYXRlVHlwZS5QRUVSX0VORFBPSU5UX0NM
T1NFRCk7Ci0gICAgfQotICB9OwotCi0gIFJvdXRlci5wcm90b3R5cGUuY2xvc2VFbmRwb2ludEhh
bmRsZSA9IGZ1bmN0aW9uKGludGVyZmFjZUlkLCByZWFzb24pIHsKLSAgICBpZiAoIWludGVybmFs
LmlzVmFsaWRJbnRlcmZhY2VJZChpbnRlcmZhY2VJZCkpIHsKLSAgICAgIHJldHVybjsKLSAgICB9
Ci0gICAgdmFyIGVuZHBvaW50ID0gdGhpcy5lbmRwb2ludHNfLmdldChpbnRlcmZhY2VJZCk7Ci0g
ICAgY2hlY2soZW5kcG9pbnQpOwotICAgIGNoZWNrKCFlbmRwb2ludC5jbGllbnQpOwotICAgIGNo
ZWNrKCFlbmRwb2ludC5jbG9zZWQpOwotCi0gICAgdGhpcy51cGRhdGVFbmRwb2ludFN0YXRlTWF5
UmVtb3ZlKGVuZHBvaW50LAotICAgICAgICBFbmRwb2ludFN0YXRlVXBkYXRlVHlwZS5FTkRQT0lO
VF9DTE9TRUQpOwotCi0gICAgaWYgKCFpbnRlcm5hbC5pc01hc3RlckludGVyZmFjZUlkKGludGVy
ZmFjZUlkKSB8fCByZWFzb24pIHsKLSAgICAgIHRoaXMuY29udHJvbE1lc3NhZ2VQcm94eV8ubm90
aWZ5UGVlckVuZHBvaW50Q2xvc2VkKGludGVyZmFjZUlkLCByZWFzb24pOwotICAgIH0KLQotICAg
IGlmICh0aGlzLmNhY2hlZE1lc3NhZ2VEYXRhICYmIGludGVyZmFjZUlkID09PQotICAgICAgICB0
aGlzLmNhY2hlZE1lc3NhZ2VEYXRhLm1lc3NhZ2UuZ2V0SW50ZXJmYWNlSWQoKSkgewotICAgICAg
dGhpcy5jYWNoZWRNZXNzYWdlRGF0YSA9IG51bGw7Ci0gICAgICB0aGlzLmNvbm5lY3Rvcl8ucmVz
dW1lSW5jb21pbmdNZXRob2RDYWxsUHJvY2Vzc2luZygpOwotICAgIH0KLSAgfTsKLQotICBSb3V0
ZXIucHJvdG90eXBlLnVwZGF0ZUVuZHBvaW50U3RhdGVNYXlSZW1vdmUgPSBmdW5jdGlvbihlbmRw
b2ludCwKLSAgICAgIGVuZHBvaW50U3RhdGVVcGRhdGVUeXBlKSB7Ci0gICAgaWYgKGVuZHBvaW50
U3RhdGVVcGRhdGVUeXBlID09PSBFbmRwb2ludFN0YXRlVXBkYXRlVHlwZS5FTkRQT0lOVF9DTE9T
RUQpIHsKLSAgICAgIGVuZHBvaW50LmNsb3NlZCA9IHRydWU7Ci0gICAgfSBlbHNlIHsKLSAgICAg
IGVuZHBvaW50LnBlZXJDbG9zZWQgPSB0cnVlOwotICAgIH0KLSAgICBpZiAoZW5kcG9pbnQuY2xv
c2VkICYmIGVuZHBvaW50LnBlZXJDbG9zZWQpIHsKLSAgICAgIHRoaXMuZW5kcG9pbnRzXy5kZWxl
dGUoZW5kcG9pbnQuaWQpOwotICAgIH0KLSAgfTsKLQotICBpbnRlcm5hbC5Sb3V0ZXIgPSBSb3V0
ZXI7Ci19KSgpOwotLy8gQ29weXJpZ2h0IDIwMTQgVGhlIENocm9taXVtIEF1dGhvcnMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCi0vLyBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBi
eSBhIEJTRC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCi0vLyBmb3VuZCBpbiB0aGUgTElDRU5T
RSBmaWxlLgotCi0vKioKLSAqIERlZmluZXMgZnVuY3Rpb25zIGZvciB0cmFuc2xhdGluZyBiZXR3
ZWVuIEphdmFTY3JpcHQgc3RyaW5ncyBhbmQgVVRGOCBzdHJpbmdzCi0gKiBzdG9yZWQgaW4gQXJy
YXlCdWZmZXJzLiBUaGVyZSBpcyBtdWNoIHJvb20gZm9yIG9wdGltaXphdGlvbiBpbiB0aGlzIGNv
ZGUgaWYKLSAqIGl0IHByb3ZlcyBuZWNlc3NhcnkuCi0gKi8KLShmdW5jdGlvbigpIHsKLSAgdmFy
IGludGVybmFsID0gbW9qby5pbnRlcm5hbDsKLQotICAvKioKLSAgICogRGVjb2RlcyB0aGUgVVRG
OCBzdHJpbmcgZnJvbSB0aGUgZ2l2ZW4gYnVmZmVyLgotICAgKiBAcGFyYW0ge0FycmF5QnVmZmVy
Vmlld30gYnVmZmVyIFRoZSBidWZmZXIgY29udGFpbmluZyBVVEY4IHN0cmluZyBkYXRhLgotICAg
KiBAcmV0dXJuIHtzdHJpbmd9IFRoZSBjb3JyZXNwb25kaW5nIEphdmFTY3JpcHQgc3RyaW5nLgot
ICAgKi8KLSAgZnVuY3Rpb24gZGVjb2RlVXRmOFN0cmluZyhidWZmZXIpIHsKLSAgICByZXR1cm4g
ZGVjb2RlVVJJQ29tcG9uZW50KGVzY2FwZShTdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGws
IGJ1ZmZlcikpKTsKLSAgfQotCi0gIC8qKgotICAgKiBFbmNvZGVzIHRoZSBnaXZlbiBKYXZhU2Ny
aXB0IHN0cmluZyBpbnRvIFVURjguCi0gICAqIEBwYXJhbSB7c3RyaW5nfSBzdHIgVGhlIHN0cmlu
ZyB0byBlbmNvZGUuCi0gICAqIEBwYXJhbSB7QXJyYXlCdWZmZXJWaWV3fSBvdXRwdXRCdWZmZXIg
VGhlIGJ1ZmZlciB0byBjb250YWluIHRoZSByZXN1bHQuCi0gICAqIFNob3VsZCBiZSBwcmUtYWxs
b2NhdGVkIHRvIGhvbGQgZW5vdWdoIHNwYWNlLiBVc2UgfHV0ZjhMZW5ndGh8IHRvIGRldGVybWlu
ZQotICAgKiBob3cgbXVjaCBzcGFjZSBpcyByZXF1aXJlZC4KLSAgICogQHJldHVybiB7bnVtYmVy
fSBUaGUgbnVtYmVyIG9mIGJ5dGVzIHdyaXR0ZW4gdG8gfG91dHB1dEJ1ZmZlcnwuCi0gICAqLwot
ICBmdW5jdGlvbiBlbmNvZGVVdGY4U3RyaW5nKHN0ciwgb3V0cHV0QnVmZmVyKSB7Ci0gICAgdmFy
IHV0ZjhTdHJpbmcgPSB1bmVzY2FwZShlbmNvZGVVUklDb21wb25lbnQoc3RyKSk7Ci0gICAgaWYg
KG91dHB1dEJ1ZmZlci5sZW5ndGggPCB1dGY4U3RyaW5nLmxlbmd0aCkKLSAgICAgIHRocm93IG5l
dyBFcnJvcigiQnVmZmVyIHRvbyBzbWFsbCBmb3IgZW5jb2RlVXRmOFN0cmluZyIpOwotICAgIGZv
ciAodmFyIGkgPSAwOyBpIDwgb3V0cHV0QnVmZmVyLmxlbmd0aCAmJiBpIDwgdXRmOFN0cmluZy5s
ZW5ndGg7IGkrKykKLSAgICAgIG91dHB1dEJ1ZmZlcltpXSA9IHV0ZjhTdHJpbmcuY2hhckNvZGVB
dChpKTsKLSAgICByZXR1cm4gaTsKLSAgfQotCi0gIC8qKgotICAgKiBSZXR1cm5zIHRoZSBudW1i
ZXIgb2YgYnl0ZXMgdGhhdCBhIFVURjggZW5jb2Rpbmcgb2YgdGhlIEphdmFTY3JpcHQgc3RyaW5n
Ci0gICAqIHxzdHJ8IHdvdWxkIG9jY3VweS4KLSAgICovCi0gIGZ1bmN0aW9uIHV0ZjhMZW5ndGgo
c3RyKSB7Ci0gICAgdmFyIHV0ZjhTdHJpbmcgPSB1bmVzY2FwZShlbmNvZGVVUklDb21wb25lbnQo
c3RyKSk7Ci0gICAgcmV0dXJuIHV0ZjhTdHJpbmcubGVuZ3RoOwotICB9Ci0KLSAgaW50ZXJuYWwu
ZGVjb2RlVXRmOFN0cmluZyA9IGRlY29kZVV0ZjhTdHJpbmc7Ci0gIGludGVybmFsLmVuY29kZVV0
ZjhTdHJpbmcgPSBlbmNvZGVVdGY4U3RyaW5nOwotICBpbnRlcm5hbC51dGY4TGVuZ3RoID0gdXRm
OExlbmd0aDsKLX0pKCk7Ci0vLyBDb3B5cmlnaHQgMjAxNCBUaGUgQ2hyb21pdW0gQXV0aG9ycy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KLS8vIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVy
bmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKLS8vIGZvdW5kIGluIHRoZSBM
SUNFTlNFIGZpbGUuCi0KLShmdW5jdGlvbigpIHsKLSAgdmFyIGludGVybmFsID0gbW9qby5pbnRl
cm5hbDsKLQotICB2YXIgdmFsaWRhdGlvbkVycm9yID0gewotICAgIE5PTkU6ICdWQUxJREFUSU9O
X0VSUk9SX05PTkUnLAotICAgIE1JU0FMSUdORURfT0JKRUNUOiAnVkFMSURBVElPTl9FUlJPUl9N
SVNBTElHTkVEX09CSkVDVCcsCi0gICAgSUxMRUdBTF9NRU1PUllfUkFOR0U6ICdWQUxJREFUSU9O
X0VSUk9SX0lMTEVHQUxfTUVNT1JZX1JBTkdFJywKLSAgICBVTkVYUEVDVEVEX1NUUlVDVF9IRUFE
RVI6ICdWQUxJREFUSU9OX0VSUk9SX1VORVhQRUNURURfU1RSVUNUX0hFQURFUicsCi0gICAgVU5F
WFBFQ1RFRF9BUlJBWV9IRUFERVI6ICdWQUxJREFUSU9OX0VSUk9SX1VORVhQRUNURURfQVJSQVlf
SEVBREVSJywKLSAgICBJTExFR0FMX0hBTkRMRTogJ1ZBTElEQVRJT05fRVJST1JfSUxMRUdBTF9I
QU5ETEUnLAotICAgIFVORVhQRUNURURfSU5WQUxJRF9IQU5ETEU6ICdWQUxJREFUSU9OX0VSUk9S
X1VORVhQRUNURURfSU5WQUxJRF9IQU5ETEUnLAotICAgIElMTEVHQUxfUE9JTlRFUjogJ1ZBTElE
QVRJT05fRVJST1JfSUxMRUdBTF9QT0lOVEVSJywKLSAgICBVTkVYUEVDVEVEX05VTExfUE9JTlRF
UjogJ1ZBTElEQVRJT05fRVJST1JfVU5FWFBFQ1RFRF9OVUxMX1BPSU5URVInLAotICAgIElMTEVH
QUxfSU5URVJGQUNFX0lEOiAnVkFMSURBVElPTl9FUlJPUl9JTExFR0FMX0lOVEVSRkFDRV9JRCcs
Ci0gICAgVU5FWFBFQ1RFRF9JTlZBTElEX0lOVEVSRkFDRV9JRDoKLSAgICAgICAgJ1ZBTElEQVRJ
T05fRVJST1JfVU5FWFBFQ1RFRF9JTlZBTElEX0lOVEVSRkFDRV9JRCcsCi0gICAgTUVTU0FHRV9I
RUFERVJfSU5WQUxJRF9GTEFHUzoKLSAgICAgICAgJ1ZBTElEQVRJT05fRVJST1JfTUVTU0FHRV9I
RUFERVJfSU5WQUxJRF9GTEFHUycsCi0gICAgTUVTU0FHRV9IRUFERVJfTUlTU0lOR19SRVFVRVNU
X0lEOgotICAgICAgICAnVkFMSURBVElPTl9FUlJPUl9NRVNTQUdFX0hFQURFUl9NSVNTSU5HX1JF
UVVFU1RfSUQnLAotICAgIERJRkZFUkVOVF9TSVpFRF9BUlJBWVNfSU5fTUFQOgotICAgICAgICAn
VkFMSURBVElPTl9FUlJPUl9ESUZGRVJFTlRfU0laRURfQVJSQVlTX0lOX01BUCcsCi0gICAgSU5W
QUxJRF9VTklPTl9TSVpFOiAnVkFMSURBVElPTl9FUlJPUl9JTlZBTElEX1VOSU9OX1NJWkUnLAot
ICAgIFVORVhQRUNURURfTlVMTF9VTklPTjogJ1ZBTElEQVRJT05fRVJST1JfVU5FWFBFQ1RFRF9O
VUxMX1VOSU9OJywKLSAgICBVTktOT1dOX0VOVU1fVkFMVUU6ICdWQUxJREFUSU9OX0VSUk9SX1VO
S05PV05fRU5VTV9WQUxVRScsCi0gIH07Ci0KLSAgdmFyIE5VTExfTU9KT19QT0lOVEVSID0gIk5V
TExfTU9KT19QT0lOVEVSIjsKLSAgdmFyIGdWYWxpZGF0aW9uRXJyb3JPYnNlcnZlciA9IG51bGw7
Ci0KLSAgZnVuY3Rpb24gcmVwb3J0VmFsaWRhdGlvbkVycm9yKGVycm9yKSB7Ci0gICAgaWYgKGdW
YWxpZGF0aW9uRXJyb3JPYnNlcnZlcikgewotICAgICAgZ1ZhbGlkYXRpb25FcnJvck9ic2VydmVy
Lmxhc3RFcnJvciA9IGVycm9yOwotICAgIH0gZWxzZSB7Ci0gICAgICBjb25zb2xlLndhcm4oJ0lu
dmFsaWQgbWVzc2FnZTogJyArIGVycm9yKTsKLSAgICB9Ci0gIH0KLQotICB2YXIgVmFsaWRhdGlv
bkVycm9yT2JzZXJ2ZXJGb3JUZXN0aW5nID0gKGZ1bmN0aW9uKCkgewotICAgIGZ1bmN0aW9uIE9i
c2VydmVyKCkgewotICAgICAgdGhpcy5sYXN0RXJyb3IgPSB2YWxpZGF0aW9uRXJyb3IuTk9ORTsK
LSAgICB9Ci0KLSAgICBPYnNlcnZlci5wcm90b3R5cGUucmVzZXQgPSBmdW5jdGlvbigpIHsKLSAg
ICAgIHRoaXMubGFzdEVycm9yID0gdmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gICAgfTsKLQotICAg
IHJldHVybiB7Ci0gICAgICBnZXRJbnN0YW5jZTogZnVuY3Rpb24oKSB7Ci0gICAgICAgIGlmICgh
Z1ZhbGlkYXRpb25FcnJvck9ic2VydmVyKSB7Ci0gICAgICAgICAgZ1ZhbGlkYXRpb25FcnJvck9i
c2VydmVyID0gbmV3IE9ic2VydmVyKCk7Ci0gICAgICAgIH0KLSAgICAgICAgcmV0dXJuIGdWYWxp
ZGF0aW9uRXJyb3JPYnNlcnZlcjsKLSAgICAgIH0KLSAgICB9OwotICB9KSgpOwotCi0gIGZ1bmN0
aW9uIGlzVGVzdGluZ01vZGUoKSB7Ci0gICAgcmV0dXJuIEJvb2xlYW4oZ1ZhbGlkYXRpb25FcnJv
ck9ic2VydmVyKTsKLSAgfQotCi0gIGZ1bmN0aW9uIGNsZWFyVGVzdGluZ01vZGUoKSB7Ci0gICAg
Z1ZhbGlkYXRpb25FcnJvck9ic2VydmVyID0gbnVsbDsKLSAgfQotCi0gIGZ1bmN0aW9uIGlzRW51
bUNsYXNzKGNscykgewotICAgIHJldHVybiBjbHMgaW5zdGFuY2VvZiBpbnRlcm5hbC5FbnVtOwot
ICB9Ci0KLSAgZnVuY3Rpb24gaXNTdHJpbmdDbGFzcyhjbHMpIHsKLSAgICByZXR1cm4gY2xzID09
PSBpbnRlcm5hbC5TdHJpbmcgfHwgY2xzID09PSBpbnRlcm5hbC5OdWxsYWJsZVN0cmluZzsKLSAg
fQotCi0gIGZ1bmN0aW9uIGlzSGFuZGxlQ2xhc3MoY2xzKSB7Ci0gICAgcmV0dXJuIGNscyA9PT0g
aW50ZXJuYWwuSGFuZGxlIHx8IGNscyA9PT0gaW50ZXJuYWwuTnVsbGFibGVIYW5kbGU7Ci0gIH0K
LQotICBmdW5jdGlvbiBpc0ludGVyZmFjZUNsYXNzKGNscykgewotICAgIHJldHVybiBjbHMgaW5z
dGFuY2VvZiBpbnRlcm5hbC5JbnRlcmZhY2U7Ci0gIH0KLQotICBmdW5jdGlvbiBpc0ludGVyZmFj
ZVJlcXVlc3RDbGFzcyhjbHMpIHsKLSAgICByZXR1cm4gY2xzID09PSBpbnRlcm5hbC5JbnRlcmZh
Y2VSZXF1ZXN0IHx8Ci0gICAgICAgIGNscyA9PT0gaW50ZXJuYWwuTnVsbGFibGVJbnRlcmZhY2VS
ZXF1ZXN0OwotICB9Ci0KLSAgZnVuY3Rpb24gaXNBc3NvY2lhdGVkSW50ZXJmYWNlQ2xhc3MoY2xz
KSB7Ci0gICAgcmV0dXJuIGNscyA9PT0gaW50ZXJuYWwuQXNzb2NpYXRlZEludGVyZmFjZVB0cklu
Zm8gfHwKLSAgICAgICAgY2xzID09PSBpbnRlcm5hbC5OdWxsYWJsZUFzc29jaWF0ZWRJbnRlcmZh
Y2VQdHJJbmZvOwotICB9Ci0KLSAgZnVuY3Rpb24gaXNBc3NvY2lhdGVkSW50ZXJmYWNlUmVxdWVz
dENsYXNzKGNscykgewotICAgIHJldHVybiBjbHMgPT09IGludGVybmFsLkFzc29jaWF0ZWRJbnRl
cmZhY2VSZXF1ZXN0IHx8Ci0gICAgICAgIGNscyA9PT0gaW50ZXJuYWwuTnVsbGFibGVBc3NvY2lh
dGVkSW50ZXJmYWNlUmVxdWVzdDsKLSAgfQotCi0gIGZ1bmN0aW9uIGlzTnVsbGFibGUodHlwZSkg
ewotICAgIHJldHVybiB0eXBlID09PSBpbnRlcm5hbC5OdWxsYWJsZVN0cmluZyB8fAotICAgICAg
ICB0eXBlID09PSBpbnRlcm5hbC5OdWxsYWJsZUhhbmRsZSB8fAotICAgICAgICB0eXBlID09PSBp
bnRlcm5hbC5OdWxsYWJsZUFzc29jaWF0ZWRJbnRlcmZhY2VQdHJJbmZvIHx8Ci0gICAgICAgIHR5
cGUgPT09IGludGVybmFsLk51bGxhYmxlQXNzb2NpYXRlZEludGVyZmFjZVJlcXVlc3QgfHwKLSAg
ICAgICAgdHlwZSA9PT0gaW50ZXJuYWwuTnVsbGFibGVJbnRlcmZhY2UgfHwKLSAgICAgICAgdHlw
ZSA9PT0gaW50ZXJuYWwuTnVsbGFibGVJbnRlcmZhY2VSZXF1ZXN0IHx8Ci0gICAgICAgIHR5cGUg
aW5zdGFuY2VvZiBpbnRlcm5hbC5OdWxsYWJsZUFycmF5T2YgfHwKLSAgICAgICAgdHlwZSBpbnN0
YW5jZW9mIGludGVybmFsLk51bGxhYmxlUG9pbnRlclRvOwotICB9Ci0KLSAgZnVuY3Rpb24gVmFs
aWRhdG9yKG1lc3NhZ2UpIHsKLSAgICB0aGlzLm1lc3NhZ2UgPSBtZXNzYWdlOwotICAgIHRoaXMu
b2Zmc2V0ID0gMDsKLSAgICB0aGlzLmhhbmRsZUluZGV4ID0gMDsKLSAgICB0aGlzLmFzc29jaWF0
ZWRFbmRwb2ludEhhbmRsZUluZGV4ID0gMDsKLSAgICB0aGlzLnBheWxvYWRJbnRlcmZhY2VJZHMg
PSBudWxsOwotICAgIHRoaXMub2Zmc2V0TGltaXQgPSB0aGlzLm1lc3NhZ2UuYnVmZmVyLmJ5dGVM
ZW5ndGg7Ci0gIH0KLQotICBPYmplY3QuZGVmaW5lUHJvcGVydHkoVmFsaWRhdG9yLnByb3RvdHlw
ZSwgImhhbmRsZUluZGV4TGltaXQiLCB7Ci0gICAgZ2V0OiBmdW5jdGlvbigpIHsgcmV0dXJuIHRo
aXMubWVzc2FnZS5oYW5kbGVzLmxlbmd0aDsgfQotICB9KTsKLQotICBPYmplY3QuZGVmaW5lUHJv
cGVydHkoVmFsaWRhdG9yLnByb3RvdHlwZSwgImFzc29jaWF0ZWRIYW5kbGVJbmRleExpbWl0Iiwg
ewotICAgIGdldDogZnVuY3Rpb24oKSB7Ci0gICAgICByZXR1cm4gdGhpcy5wYXlsb2FkSW50ZXJm
YWNlSWRzID8gdGhpcy5wYXlsb2FkSW50ZXJmYWNlSWRzLmxlbmd0aCA6IDA7Ci0gICAgfQotICB9
KTsKLQotICAvLyBUcnVlIGlmIHdlIGNhbiBzYWZlbHkgYWxsb2NhdGUgYSBibG9jayBvZiBieXRl
cyBmcm9tIHN0YXJ0IHRvCi0gIC8vIHRvIHN0YXJ0ICsgbnVtQnl0ZXMuCi0gIFZhbGlkYXRvci5w
cm90b3R5cGUuaXNWYWxpZFJhbmdlID0gZnVuY3Rpb24oc3RhcnQsIG51bUJ5dGVzKSB7Ci0gICAg
Ly8gT25seSBwb3NpdGl2ZSBKYXZhU2NyaXB0IGludGVnZXJzIHRoYXQgYXJlIGxlc3MgdGhhbiAy
XjUzCi0gICAgLy8gKE51bWJlci5NQVhfU0FGRV9JTlRFR0VSKSBjYW4gYmUgcmVwcmVzZW50ZWQg
ZXhhY3RseS4KLSAgICBpZiAoc3RhcnQgPCB0aGlzLm9mZnNldCB8fCBudW1CeXRlcyA8PSAwIHx8
Ci0gICAgICAgICFOdW1iZXIuaXNTYWZlSW50ZWdlcihzdGFydCkgfHwKLSAgICAgICAgIU51bWJl
ci5pc1NhZmVJbnRlZ2VyKG51bUJ5dGVzKSkKLSAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIHZh
ciBuZXdPZmZzZXQgPSBzdGFydCArIG51bUJ5dGVzOwotICAgIGlmICghTnVtYmVyLmlzU2FmZUlu
dGVnZXIobmV3T2Zmc2V0KSB8fCBuZXdPZmZzZXQgPiB0aGlzLm9mZnNldExpbWl0KQotICAgICAg
cmV0dXJuIGZhbHNlOwotCi0gICAgcmV0dXJuIHRydWU7Ci0gIH07Ci0KLSAgVmFsaWRhdG9yLnBy
b3RvdHlwZS5jbGFpbVJhbmdlID0gZnVuY3Rpb24oc3RhcnQsIG51bUJ5dGVzKSB7Ci0gICAgaWYg
KHRoaXMuaXNWYWxpZFJhbmdlKHN0YXJ0LCBudW1CeXRlcykpIHsKLSAgICAgIHRoaXMub2Zmc2V0
ID0gc3RhcnQgKyBudW1CeXRlczsKLSAgICAgIHJldHVybiB0cnVlOwotICAgIH0KLSAgICByZXR1
cm4gZmFsc2U7Ci0gIH07Ci0KLSAgVmFsaWRhdG9yLnByb3RvdHlwZS5jbGFpbUhhbmRsZSA9IGZ1
bmN0aW9uKGluZGV4KSB7Ci0gICAgaWYgKGluZGV4ID09PSBpbnRlcm5hbC5rRW5jb2RlZEludmFs
aWRIYW5kbGVWYWx1ZSkKLSAgICAgIHJldHVybiB0cnVlOwotCi0gICAgaWYgKGluZGV4IDwgdGhp
cy5oYW5kbGVJbmRleCB8fCBpbmRleCA+PSB0aGlzLmhhbmRsZUluZGV4TGltaXQpCi0gICAgICBy
ZXR1cm4gZmFsc2U7Ci0KLSAgICAvLyBUaGlzIGlzIHNhZmUgYmVjYXVzZSBoYW5kbGUgaW5kaWNl
cyBhcmUgdWludDMyLgotICAgIHRoaXMuaGFuZGxlSW5kZXggPSBpbmRleCArIDE7Ci0gICAgcmV0
dXJuIHRydWU7Ci0gIH07Ci0KLSAgVmFsaWRhdG9yLnByb3RvdHlwZS5jbGFpbUFzc29jaWF0ZWRF
bmRwb2ludEhhbmRsZSA9IGZ1bmN0aW9uKGluZGV4KSB7Ci0gICAgaWYgKGluZGV4ID09PSBpbnRl
cm5hbC5rRW5jb2RlZEludmFsaWRIYW5kbGVWYWx1ZSkgewotICAgICAgcmV0dXJuIHRydWU7Ci0g
ICAgfQotCi0gICAgaWYgKGluZGV4IDwgdGhpcy5hc3NvY2lhdGVkRW5kcG9pbnRIYW5kbGVJbmRl
eCB8fAotICAgICAgICBpbmRleCA+PSB0aGlzLmFzc29jaWF0ZWRIYW5kbGVJbmRleExpbWl0KSB7
Ci0gICAgICByZXR1cm4gZmFsc2U7Ci0gICAgfQotCi0gICAgLy8gVGhpcyBpcyBzYWZlIGJlY2F1
c2UgaGFuZGxlIGluZGljZXMgYXJlIHVpbnQzMi4KLSAgICB0aGlzLmFzc29jaWF0ZWRFbmRwb2lu
dEhhbmRsZUluZGV4ID0gaW5kZXggKyAxOwotICAgIHJldHVybiB0cnVlOwotICB9OwotCi0gIFZh
bGlkYXRvci5wcm90b3R5cGUudmFsaWRhdGVFbnVtID0gZnVuY3Rpb24ob2Zmc2V0LCBlbnVtQ2xh
c3MpIHsKLSAgICAvLyBOb3RlOiBBc3N1bWVzIHRoYXQgZW51bXMgYXJlIGFsd2F5cyAzMiBiaXRz
ISBCdXQgdGhpcyBtYXRjaGVzCi0gICAgLy8gbW9qb206OmdlbmVyYXRlOjpwYWNrOjpQYWNrZWRG
aWVsZDo6R2V0U2l6ZUZvcktpbmQsIHNvIGl0IHNob3VsZCBiZSBva2F5LgotICAgIHZhciB2YWx1
ZSA9IHRoaXMubWVzc2FnZS5idWZmZXIuZ2V0SW50MzIob2Zmc2V0KTsKLSAgICByZXR1cm4gZW51
bUNsYXNzLnZhbGlkYXRlKHZhbHVlKTsKLSAgfQotCi0gIFZhbGlkYXRvci5wcm90b3R5cGUudmFs
aWRhdGVIYW5kbGUgPSBmdW5jdGlvbihvZmZzZXQsIG51bGxhYmxlKSB7Ci0gICAgdmFyIGluZGV4
ID0gdGhpcy5tZXNzYWdlLmJ1ZmZlci5nZXRVaW50MzIob2Zmc2V0KTsKLQotICAgIGlmIChpbmRl
eCA9PT0gaW50ZXJuYWwua0VuY29kZWRJbnZhbGlkSGFuZGxlVmFsdWUpCi0gICAgICByZXR1cm4g
bnVsbGFibGUgPwotICAgICAgICAgIHZhbGlkYXRpb25FcnJvci5OT05FIDogdmFsaWRhdGlvbkVy
cm9yLlVORVhQRUNURURfSU5WQUxJRF9IQU5ETEU7Ci0KLSAgICBpZiAoIXRoaXMuY2xhaW1IYW5k
bGUoaW5kZXgpKQotICAgICAgcmV0dXJuIHZhbGlkYXRpb25FcnJvci5JTExFR0FMX0hBTkRMRTsK
LQotICAgIHJldHVybiB2YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQotICBWYWxpZGF0b3Iu
cHJvdG90eXBlLnZhbGlkYXRlQXNzb2NpYXRlZEVuZHBvaW50SGFuZGxlID0gZnVuY3Rpb24ob2Zm
c2V0LAotICAgICAgbnVsbGFibGUpIHsKLSAgICB2YXIgaW5kZXggPSB0aGlzLm1lc3NhZ2UuYnVm
ZmVyLmdldFVpbnQzMihvZmZzZXQpOwotCi0gICAgaWYgKGluZGV4ID09PSBpbnRlcm5hbC5rRW5j
b2RlZEludmFsaWRIYW5kbGVWYWx1ZSkgewotICAgICAgcmV0dXJuIG51bGxhYmxlID8gdmFsaWRh
dGlvbkVycm9yLk5PTkUgOgotICAgICAgICAgIHZhbGlkYXRpb25FcnJvci5VTkVYUEVDVEVEX0lO
VkFMSURfSU5URVJGQUNFX0lEOwotICAgIH0KLQotICAgIGlmICghdGhpcy5jbGFpbUFzc29jaWF0
ZWRFbmRwb2ludEhhbmRsZShpbmRleCkpIHsKLSAgICAgIHJldHVybiB2YWxpZGF0aW9uRXJyb3Iu
SUxMRUdBTF9JTlRFUkZBQ0VfSUQ7Ci0gICAgfQotCi0gICAgcmV0dXJuIHZhbGlkYXRpb25FcnJv
ci5OT05FOwotICB9OwotCi0gIFZhbGlkYXRvci5wcm90b3R5cGUudmFsaWRhdGVJbnRlcmZhY2Ug
PSBmdW5jdGlvbihvZmZzZXQsIG51bGxhYmxlKSB7Ci0gICAgcmV0dXJuIHRoaXMudmFsaWRhdGVI
YW5kbGUob2Zmc2V0LCBudWxsYWJsZSk7Ci0gIH07Ci0KLSAgVmFsaWRhdG9yLnByb3RvdHlwZS52
YWxpZGF0ZUludGVyZmFjZVJlcXVlc3QgPSBmdW5jdGlvbihvZmZzZXQsIG51bGxhYmxlKSB7Ci0g
ICAgcmV0dXJuIHRoaXMudmFsaWRhdGVIYW5kbGUob2Zmc2V0LCBudWxsYWJsZSk7Ci0gIH07Ci0K
LSAgVmFsaWRhdG9yLnByb3RvdHlwZS52YWxpZGF0ZUFzc29jaWF0ZWRJbnRlcmZhY2UgPSBmdW5j
dGlvbihvZmZzZXQsCi0gICAgICBudWxsYWJsZSkgewotICAgIHJldHVybiB0aGlzLnZhbGlkYXRl
QXNzb2NpYXRlZEVuZHBvaW50SGFuZGxlKG9mZnNldCwgbnVsbGFibGUpOwotICB9OwotCi0gIFZh
bGlkYXRvci5wcm90b3R5cGUudmFsaWRhdGVBc3NvY2lhdGVkSW50ZXJmYWNlUmVxdWVzdCA9IGZ1
bmN0aW9uKAotICAgICAgb2Zmc2V0LCBudWxsYWJsZSkgewotICAgIHJldHVybiB0aGlzLnZhbGlk
YXRlQXNzb2NpYXRlZEVuZHBvaW50SGFuZGxlKG9mZnNldCwgbnVsbGFibGUpOwotICB9OwotCi0g
IFZhbGlkYXRvci5wcm90b3R5cGUudmFsaWRhdGVTdHJ1Y3RIZWFkZXIgPSBmdW5jdGlvbihvZmZz
ZXQsIG1pbk51bUJ5dGVzKSB7Ci0gICAgaWYgKCFpbnRlcm5hbC5pc0FsaWduZWQob2Zmc2V0KSkK
LSAgICAgIHJldHVybiB2YWxpZGF0aW9uRXJyb3IuTUlTQUxJR05FRF9PQkpFQ1Q7Ci0KLSAgICBp
ZiAoIXRoaXMuaXNWYWxpZFJhbmdlKG9mZnNldCwgaW50ZXJuYWwua1N0cnVjdEhlYWRlclNpemUp
KQotICAgICAgcmV0dXJuIHZhbGlkYXRpb25FcnJvci5JTExFR0FMX01FTU9SWV9SQU5HRTsKLQot
ICAgIHZhciBudW1CeXRlcyA9IHRoaXMubWVzc2FnZS5idWZmZXIuZ2V0VWludDMyKG9mZnNldCk7
Ci0KLSAgICBpZiAobnVtQnl0ZXMgPCBtaW5OdW1CeXRlcykKLSAgICAgIHJldHVybiB2YWxpZGF0
aW9uRXJyb3IuVU5FWFBFQ1RFRF9TVFJVQ1RfSEVBREVSOwotCi0gICAgaWYgKCF0aGlzLmNsYWlt
UmFuZ2Uob2Zmc2V0LCBudW1CeXRlcykpCi0gICAgICByZXR1cm4gdmFsaWRhdGlvbkVycm9yLklM
TEVHQUxfTUVNT1JZX1JBTkdFOwotCi0gICAgcmV0dXJuIHZhbGlkYXRpb25FcnJvci5OT05FOwot
ICB9OwotCi0gIFZhbGlkYXRvci5wcm90b3R5cGUudmFsaWRhdGVTdHJ1Y3RWZXJzaW9uID0gZnVu
Y3Rpb24ob2Zmc2V0LCB2ZXJzaW9uU2l6ZXMpIHsKLSAgICB2YXIgbnVtQnl0ZXMgPSB0aGlzLm1l
c3NhZ2UuYnVmZmVyLmdldFVpbnQzMihvZmZzZXQpOwotICAgIHZhciB2ZXJzaW9uID0gdGhpcy5t
ZXNzYWdlLmJ1ZmZlci5nZXRVaW50MzIob2Zmc2V0ICsgNCk7Ci0KLSAgICBpZiAodmVyc2lvbiA8
PSB2ZXJzaW9uU2l6ZXNbdmVyc2lvblNpemVzLmxlbmd0aCAtIDFdLnZlcnNpb24pIHsKLSAgICAg
IC8vIFNjYW4gaW4gcmV2ZXJzZSBvcmRlciB0byBvcHRpbWl6ZSBmb3IgbW9yZSByZWNlbnQgdmVy
c2lvblNpemVzLgotICAgICAgZm9yICh2YXIgaSA9IHZlcnNpb25TaXplcy5sZW5ndGggLSAxOyBp
ID49IDA7IC0taSkgewotICAgICAgICBpZiAodmVyc2lvbiA+PSB2ZXJzaW9uU2l6ZXNbaV0udmVy
c2lvbikgewotICAgICAgICAgIGlmIChudW1CeXRlcyA9PSB2ZXJzaW9uU2l6ZXNbaV0ubnVtQnl0
ZXMpCi0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgICByZXR1cm4gdmFsaWRhdGlvbkVycm9y
LlVORVhQRUNURURfU1RSVUNUX0hFQURFUjsKLSAgICAgICAgfQotICAgICAgfQotICAgIH0gZWxz
ZSBpZiAobnVtQnl0ZXMgPCB2ZXJzaW9uU2l6ZXNbdmVyc2lvblNpemVzLmxlbmd0aC0xXS5udW1C
eXRlcykgewotICAgICAgcmV0dXJuIHZhbGlkYXRpb25FcnJvci5VTkVYUEVDVEVEX1NUUlVDVF9I
RUFERVI7Ci0gICAgfQotCi0gICAgcmV0dXJuIHZhbGlkYXRpb25FcnJvci5OT05FOwotICB9Owot
Ci0gIFZhbGlkYXRvci5wcm90b3R5cGUuaXNGaWVsZEluU3RydWN0VmVyc2lvbiA9IGZ1bmN0aW9u
KG9mZnNldCwgZmllbGRWZXJzaW9uKSB7Ci0gICAgdmFyIHN0cnVjdFZlcnNpb24gPSB0aGlzLm1l
c3NhZ2UuYnVmZmVyLmdldFVpbnQzMihvZmZzZXQgKyA0KTsKLSAgICByZXR1cm4gZmllbGRWZXJz
aW9uIDw9IHN0cnVjdFZlcnNpb247Ci0gIH07Ci0KLSAgVmFsaWRhdG9yLnByb3RvdHlwZS52YWxp
ZGF0ZU1lc3NhZ2VIZWFkZXIgPSBmdW5jdGlvbigpIHsKLSAgICB2YXIgZXJyID0gdGhpcy52YWxp
ZGF0ZVN0cnVjdEhlYWRlcigwLCBpbnRlcm5hbC5rTWVzc2FnZVYwSGVhZGVyU2l6ZSk7Ci0gICAg
aWYgKGVyciAhPSB2YWxpZGF0aW9uRXJyb3IuTk9ORSkgewotICAgICAgcmV0dXJuIGVycjsKLSAg
ICB9Ci0KLSAgICB2YXIgbnVtQnl0ZXMgPSB0aGlzLm1lc3NhZ2UuZ2V0SGVhZGVyTnVtQnl0ZXMo
KTsKLSAgICB2YXIgdmVyc2lvbiA9IHRoaXMubWVzc2FnZS5nZXRIZWFkZXJWZXJzaW9uKCk7Ci0K
LSAgICB2YXIgdmFsaWRWZXJzaW9uQW5kTnVtQnl0ZXMgPQotICAgICAgICAodmVyc2lvbiA9PSAw
ICYmIG51bUJ5dGVzID09IGludGVybmFsLmtNZXNzYWdlVjBIZWFkZXJTaXplKSB8fAotICAgICAg
ICAodmVyc2lvbiA9PSAxICYmIG51bUJ5dGVzID09IGludGVybmFsLmtNZXNzYWdlVjFIZWFkZXJT
aXplKSB8fAotICAgICAgICAodmVyc2lvbiA9PSAyICYmIG51bUJ5dGVzID09IGludGVybmFsLmtN
ZXNzYWdlVjJIZWFkZXJTaXplKSB8fAotICAgICAgICAodmVyc2lvbiA+IDIgJiYgbnVtQnl0ZXMg
Pj0gaW50ZXJuYWwua01lc3NhZ2VWMkhlYWRlclNpemUpOwotCi0gICAgaWYgKCF2YWxpZFZlcnNp
b25BbmROdW1CeXRlcykgewotICAgICAgcmV0dXJuIHZhbGlkYXRpb25FcnJvci5VTkVYUEVDVEVE
X1NUUlVDVF9IRUFERVI7Ci0gICAgfQotCi0gICAgdmFyIGV4cGVjdHNSZXNwb25zZSA9IHRoaXMu
bWVzc2FnZS5leHBlY3RzUmVzcG9uc2UoKTsKLSAgICB2YXIgaXNSZXNwb25zZSA9IHRoaXMubWVz
c2FnZS5pc1Jlc3BvbnNlKCk7Ci0KLSAgICBpZiAodmVyc2lvbiA9PSAwICYmIChleHBlY3RzUmVz
cG9uc2UgfHwgaXNSZXNwb25zZSkpIHsKLSAgICAgIHJldHVybiB2YWxpZGF0aW9uRXJyb3IuTUVT
U0FHRV9IRUFERVJfTUlTU0lOR19SRVFVRVNUX0lEOwotICAgIH0KLQotICAgIGlmIChpc1Jlc3Bv
bnNlICYmIGV4cGVjdHNSZXNwb25zZSkgewotICAgICAgcmV0dXJuIHZhbGlkYXRpb25FcnJvci5N
RVNTQUdFX0hFQURFUl9JTlZBTElEX0ZMQUdTOwotICAgIH0KLQotICAgIGlmICh2ZXJzaW9uIDwg
MikgewotICAgICAgcmV0dXJuIHZhbGlkYXRpb25FcnJvci5OT05FOwotICAgIH0KLQotICAgIHZh
ciBlcnIgPSB0aGlzLnZhbGlkYXRlQXJyYXlQb2ludGVyKAotICAgICAgICBpbnRlcm5hbC5rTWVz
c2FnZVBheWxvYWRJbnRlcmZhY2VJZHNQb2ludGVyT2Zmc2V0LAotICAgICAgICBpbnRlcm5hbC5V
aW50MzIuZW5jb2RlZFNpemUsIGludGVybmFsLlVpbnQzMiwgdHJ1ZSwgWzBdLCAwKTsKLQotICAg
IGlmIChlcnIgIT0gdmFsaWRhdGlvbkVycm9yLk5PTkUpIHsKLSAgICAgIHJldHVybiBlcnI7Ci0g
ICAgfQotCi0gICAgdGhpcy5wYXlsb2FkSW50ZXJmYWNlSWRzID0gdGhpcy5tZXNzYWdlLmdldFBh
eWxvYWRJbnRlcmZhY2VJZHMoKTsKLSAgICBpZiAodGhpcy5wYXlsb2FkSW50ZXJmYWNlSWRzKSB7
Ci0gICAgICBmb3IgKHZhciBpbnRlcmZhY2VJZCBvZiB0aGlzLnBheWxvYWRJbnRlcmZhY2VJZHMp
IHsKLSAgICAgICAgaWYgKCFpbnRlcm5hbC5pc1ZhbGlkSW50ZXJmYWNlSWQoaW50ZXJmYWNlSWQp
IHx8Ci0gICAgICAgICAgICBpbnRlcm5hbC5pc01hc3RlckludGVyZmFjZUlkKGludGVyZmFjZUlk
KSkgewotICAgICAgICAgIHJldHVybiB2YWxpZGF0aW9uRXJyb3IuSUxMRUdBTF9JTlRFUkZBQ0Vf
SUQ7Ci0gICAgICAgIH0KLSAgICAgIH0KLSAgICB9Ci0KLSAgICAvLyBTZXQgb2Zmc2V0IHRvIHRo
ZSBzdGFydCBvZiB0aGUgcGF5bG9hZCBhbmQgb2Zmc2V0TGltaXQgdG8gdGhlIHN0YXJ0IG9mCi0g
ICAgLy8gdGhlIHBheWxvYWQgaW50ZXJmYWNlIElkcyBzbyB0aGF0IHBheWxvYWQgY2FuIGJlIHZh
bGlkYXRlZCB1c2luZyB0aGUKLSAgICAvLyBzYW1lIG1lc3NhZ2VWYWxpZGF0b3IuCi0gICAgdGhp
cy5vZmZzZXQgPSB0aGlzLm1lc3NhZ2UuZ2V0SGVhZGVyTnVtQnl0ZXMoKTsKLSAgICB0aGlzLm9m
ZnNldExpbWl0ID0gdGhpcy5kZWNvZGVQb2ludGVyKAotICAgICAgICBpbnRlcm5hbC5rTWVzc2Fn
ZVBheWxvYWRJbnRlcmZhY2VJZHNQb2ludGVyT2Zmc2V0KTsKLQotICAgIHJldHVybiB2YWxpZGF0
aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQotICBWYWxpZGF0b3IucHJvdG90eXBlLnZhbGlkYXRlTWVz
c2FnZUlzUmVxdWVzdFdpdGhvdXRSZXNwb25zZSA9IGZ1bmN0aW9uKCkgewotICAgIGlmICh0aGlz
Lm1lc3NhZ2UuaXNSZXNwb25zZSgpIHx8IHRoaXMubWVzc2FnZS5leHBlY3RzUmVzcG9uc2UoKSkg
ewotICAgICAgcmV0dXJuIHZhbGlkYXRpb25FcnJvci5NRVNTQUdFX0hFQURFUl9JTlZBTElEX0ZM
QUdTOwotICAgIH0KLSAgICByZXR1cm4gdmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gIH07Ci0KLSAg
VmFsaWRhdG9yLnByb3RvdHlwZS52YWxpZGF0ZU1lc3NhZ2VJc1JlcXVlc3RFeHBlY3RpbmdSZXNw
b25zZSA9IGZ1bmN0aW9uKCkgewotICAgIGlmICh0aGlzLm1lc3NhZ2UuaXNSZXNwb25zZSgpIHx8
ICF0aGlzLm1lc3NhZ2UuZXhwZWN0c1Jlc3BvbnNlKCkpIHsKLSAgICAgIHJldHVybiB2YWxpZGF0
aW9uRXJyb3IuTUVTU0FHRV9IRUFERVJfSU5WQUxJRF9GTEFHUzsKLSAgICB9Ci0gICAgcmV0dXJu
IHZhbGlkYXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIFZhbGlkYXRvci5wcm90b3R5cGUudmFs
aWRhdGVNZXNzYWdlSXNSZXNwb25zZSA9IGZ1bmN0aW9uKCkgewotICAgIGlmICh0aGlzLm1lc3Nh
Z2UuZXhwZWN0c1Jlc3BvbnNlKCkgfHwgIXRoaXMubWVzc2FnZS5pc1Jlc3BvbnNlKCkpIHsKLSAg
ICAgIHJldHVybiB2YWxpZGF0aW9uRXJyb3IuTUVTU0FHRV9IRUFERVJfSU5WQUxJRF9GTEFHUzsK
LSAgICB9Ci0gICAgcmV0dXJuIHZhbGlkYXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIC8vIFJl
dHVybnMgdGhlIG1lc3NhZ2UuYnVmZmVyIHJlbGF0aXZlIG9mZnNldCB0aGlzIHBvaW50ZXIgInBv
aW50cyB0byIsCi0gIC8vIE5VTExfTU9KT19QT0lOVEVSIGlmIHRoZSBwb2ludGVyIHJlcHJlc2Vu
dHMgYSBudWxsLCBvciBKUyBudWxsIGlmIHRoZQotICAvLyBwb2ludGVyJ3MgdmFsdWUgaXMgbm90
IHZhbGlkLgotICBWYWxpZGF0b3IucHJvdG90eXBlLmRlY29kZVBvaW50ZXIgPSBmdW5jdGlvbihv
ZmZzZXQpIHsKLSAgICB2YXIgcG9pbnRlclZhbHVlID0gdGhpcy5tZXNzYWdlLmJ1ZmZlci5nZXRV
aW50NjQob2Zmc2V0KTsKLSAgICBpZiAocG9pbnRlclZhbHVlID09PSAwKQotICAgICAgcmV0dXJu
IE5VTExfTU9KT19QT0lOVEVSOwotICAgIHZhciBidWZmZXJPZmZzZXQgPSBvZmZzZXQgKyBwb2lu
dGVyVmFsdWU7Ci0gICAgcmV0dXJuIE51bWJlci5pc1NhZmVJbnRlZ2VyKGJ1ZmZlck9mZnNldCkg
PyBidWZmZXJPZmZzZXQgOiBudWxsOwotICB9OwotCi0gIFZhbGlkYXRvci5wcm90b3R5cGUuZGVj
b2RlVW5pb25TaXplID0gZnVuY3Rpb24ob2Zmc2V0KSB7Ci0gICAgcmV0dXJuIHRoaXMubWVzc2Fn
ZS5idWZmZXIuZ2V0VWludDMyKG9mZnNldCk7Ci0gIH07Ci0KLSAgVmFsaWRhdG9yLnByb3RvdHlw
ZS5kZWNvZGVVbmlvblRhZyA9IGZ1bmN0aW9uKG9mZnNldCkgewotICAgIHJldHVybiB0aGlzLm1l
c3NhZ2UuYnVmZmVyLmdldFVpbnQzMihvZmZzZXQgKyA0KTsKLSAgfTsKLQotICBWYWxpZGF0b3Iu
cHJvdG90eXBlLnZhbGlkYXRlQXJyYXlQb2ludGVyID0gZnVuY3Rpb24oCi0gICAgICBvZmZzZXQs
IGVsZW1lbnRTaXplLCBlbGVtZW50VHlwZSwgbnVsbGFibGUsIGV4cGVjdGVkRGltZW5zaW9uU2l6
ZXMsCi0gICAgICBjdXJyZW50RGltZW5zaW9uKSB7Ci0gICAgdmFyIGFycmF5T2Zmc2V0ID0gdGhp
cy5kZWNvZGVQb2ludGVyKG9mZnNldCk7Ci0gICAgaWYgKGFycmF5T2Zmc2V0ID09PSBudWxsKQot
ICAgICAgcmV0dXJuIHZhbGlkYXRpb25FcnJvci5JTExFR0FMX1BPSU5URVI7Ci0KLSAgICBpZiAo
YXJyYXlPZmZzZXQgPT09IE5VTExfTU9KT19QT0lOVEVSKQotICAgICAgcmV0dXJuIG51bGxhYmxl
ID8KLSAgICAgICAgICB2YWxpZGF0aW9uRXJyb3IuTk9ORSA6IHZhbGlkYXRpb25FcnJvci5VTkVY
UEVDVEVEX05VTExfUE9JTlRFUjsKLQotICAgIHJldHVybiB0aGlzLnZhbGlkYXRlQXJyYXkoYXJy
YXlPZmZzZXQsIGVsZW1lbnRTaXplLCBlbGVtZW50VHlwZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGV4cGVjdGVkRGltZW5zaW9uU2l6ZXMsIGN1cnJlbnREaW1lbnNpb24pOwotICB9
OwotCi0gIFZhbGlkYXRvci5wcm90b3R5cGUudmFsaWRhdGVTdHJ1Y3RQb2ludGVyID0gZnVuY3Rp
b24oCi0gICAgICBvZmZzZXQsIHN0cnVjdENsYXNzLCBudWxsYWJsZSkgewotICAgIHZhciBzdHJ1
Y3RPZmZzZXQgPSB0aGlzLmRlY29kZVBvaW50ZXIob2Zmc2V0KTsKLSAgICBpZiAoc3RydWN0T2Zm
c2V0ID09PSBudWxsKQotICAgICAgcmV0dXJuIHZhbGlkYXRpb25FcnJvci5JTExFR0FMX1BPSU5U
RVI7Ci0KLSAgICBpZiAoc3RydWN0T2Zmc2V0ID09PSBOVUxMX01PSk9fUE9JTlRFUikKLSAgICAg
IHJldHVybiBudWxsYWJsZSA/Ci0gICAgICAgICAgdmFsaWRhdGlvbkVycm9yLk5PTkUgOiB2YWxp
ZGF0aW9uRXJyb3IuVU5FWFBFQ1RFRF9OVUxMX1BPSU5URVI7Ci0KLSAgICByZXR1cm4gc3RydWN0
Q2xhc3MudmFsaWRhdGUodGhpcywgc3RydWN0T2Zmc2V0KTsKLSAgfTsKLQotICBWYWxpZGF0b3Iu
cHJvdG90eXBlLnZhbGlkYXRlVW5pb24gPSBmdW5jdGlvbigKLSAgICAgIG9mZnNldCwgdW5pb25D
bGFzcywgbnVsbGFibGUpIHsKLSAgICB2YXIgc2l6ZSA9IHRoaXMubWVzc2FnZS5idWZmZXIuZ2V0
VWludDMyKG9mZnNldCk7Ci0gICAgaWYgKHNpemUgPT0gMCkgewotICAgICAgcmV0dXJuIG51bGxh
YmxlID8KLSAgICAgICAgICB2YWxpZGF0aW9uRXJyb3IuTk9ORSA6IHZhbGlkYXRpb25FcnJvci5V
TkVYUEVDVEVEX05VTExfVU5JT047Ci0gICAgfQotCi0gICAgcmV0dXJuIHVuaW9uQ2xhc3MudmFs
aWRhdGUodGhpcywgb2Zmc2V0KTsKLSAgfTsKLQotICBWYWxpZGF0b3IucHJvdG90eXBlLnZhbGlk
YXRlTmVzdGVkVW5pb24gPSBmdW5jdGlvbigKLSAgICAgIG9mZnNldCwgdW5pb25DbGFzcywgbnVs
bGFibGUpIHsKLSAgICB2YXIgdW5pb25PZmZzZXQgPSB0aGlzLmRlY29kZVBvaW50ZXIob2Zmc2V0
KTsKLSAgICBpZiAodW5pb25PZmZzZXQgPT09IG51bGwpCi0gICAgICByZXR1cm4gdmFsaWRhdGlv
bkVycm9yLklMTEVHQUxfUE9JTlRFUjsKLQotICAgIGlmICh1bmlvbk9mZnNldCA9PT0gTlVMTF9N
T0pPX1BPSU5URVIpCi0gICAgICByZXR1cm4gbnVsbGFibGUgPwotICAgICAgICAgIHZhbGlkYXRp
b25FcnJvci5OT05FIDogdmFsaWRhdGlvbkVycm9yLlVORVhQRUNURURfTlVMTF9VTklPTjsKLQot
ICAgIHJldHVybiB0aGlzLnZhbGlkYXRlVW5pb24odW5pb25PZmZzZXQsIHVuaW9uQ2xhc3MsIG51
bGxhYmxlKTsKLSAgfTsKLQotICAvLyBUaGlzIG1ldGhvZCBhc3N1bWVzIHRoYXQgdGhlIGFycmF5
IGF0IGFycmF5UG9pbnRlck9mZnNldCBoYXMKLSAgLy8gYmVlbiB2YWxpZGF0ZWQuCi0KLSAgVmFs
aWRhdG9yLnByb3RvdHlwZS5hcnJheUxlbmd0aCA9IGZ1bmN0aW9uKGFycmF5UG9pbnRlck9mZnNl
dCkgewotICAgIHZhciBhcnJheU9mZnNldCA9IHRoaXMuZGVjb2RlUG9pbnRlcihhcnJheVBvaW50
ZXJPZmZzZXQpOwotICAgIHJldHVybiB0aGlzLm1lc3NhZ2UuYnVmZmVyLmdldFVpbnQzMihhcnJh
eU9mZnNldCArIDQpOwotICB9OwotCi0gIFZhbGlkYXRvci5wcm90b3R5cGUudmFsaWRhdGVNYXBQ
b2ludGVyID0gZnVuY3Rpb24oCi0gICAgICBvZmZzZXQsIG1hcElzTnVsbGFibGUsIGtleUNsYXNz
LCB2YWx1ZUNsYXNzLCB2YWx1ZUlzTnVsbGFibGUpIHsKLSAgICAvLyBWYWxpZGF0ZSB0aGUgaW1w
bGljaXQgbWFwIHN0cnVjdDoKLSAgICAvLyBzdHJ1Y3Qge2FycmF5PGtleUNsYXNzPiBrZXlzOyBh
cnJheTx2YWx1ZUNsYXNzPiB2YWx1ZXN9OwotICAgIHZhciBzdHJ1Y3RPZmZzZXQgPSB0aGlzLmRl
Y29kZVBvaW50ZXIob2Zmc2V0KTsKLSAgICBpZiAoc3RydWN0T2Zmc2V0ID09PSBudWxsKQotICAg
ICAgcmV0dXJuIHZhbGlkYXRpb25FcnJvci5JTExFR0FMX1BPSU5URVI7Ci0KLSAgICBpZiAoc3Ry
dWN0T2Zmc2V0ID09PSBOVUxMX01PSk9fUE9JTlRFUikKLSAgICAgIHJldHVybiBtYXBJc051bGxh
YmxlID8KLSAgICAgICAgICB2YWxpZGF0aW9uRXJyb3IuTk9ORSA6IHZhbGlkYXRpb25FcnJvci5V
TkVYUEVDVEVEX05VTExfUE9JTlRFUjsKLQotICAgIHZhciBtYXBFbmNvZGVkU2l6ZSA9IGludGVy
bmFsLmtTdHJ1Y3RIZWFkZXJTaXplICsKLSAgICAgICAgICAgICAgICAgICAgICAgICBpbnRlcm5h
bC5rTWFwU3RydWN0UGF5bG9hZFNpemU7Ci0gICAgdmFyIGVyciA9IHRoaXMudmFsaWRhdGVTdHJ1
Y3RIZWFkZXIoc3RydWN0T2Zmc2V0LCBtYXBFbmNvZGVkU2l6ZSk7Ci0gICAgaWYgKGVyciAhPT0g
dmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICAvLyBWYWxp
ZGF0ZSB0aGUga2V5cyBhcnJheS4KLSAgICB2YXIga2V5c0FycmF5UG9pbnRlck9mZnNldCA9IHN0
cnVjdE9mZnNldCArIGludGVybmFsLmtTdHJ1Y3RIZWFkZXJTaXplOwotICAgIGVyciA9IHRoaXMu
dmFsaWRhdGVBcnJheVBvaW50ZXIoCi0gICAgICAgIGtleXNBcnJheVBvaW50ZXJPZmZzZXQsIGtl
eUNsYXNzLmVuY29kZWRTaXplLCBrZXlDbGFzcywgZmFsc2UsIFswXSwgMCk7Ci0gICAgaWYgKGVy
ciAhPT0gdmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICAv
LyBWYWxpZGF0ZSB0aGUgdmFsdWVzIGFycmF5LgotICAgIHZhciB2YWx1ZXNBcnJheVBvaW50ZXJP
ZmZzZXQgPSBrZXlzQXJyYXlQb2ludGVyT2Zmc2V0ICsgODsKLSAgICB2YXIgdmFsdWVzQXJyYXlE
aW1lbnNpb25zID0gWzBdOyAvLyBWYWxpZGF0ZSB0aGUgYWN0dWFsIGxlbmd0aCBiZWxvdy4KLSAg
ICBpZiAodmFsdWVDbGFzcyBpbnN0YW5jZW9mIGludGVybmFsLkFycmF5T2YpCi0gICAgICB2YWx1
ZXNBcnJheURpbWVuc2lvbnMgPQotICAgICAgICAgIHZhbHVlc0FycmF5RGltZW5zaW9ucy5jb25j
YXQodmFsdWVDbGFzcy5kaW1lbnNpb25zKCkpOwotICAgIHZhciBlcnIgPSB0aGlzLnZhbGlkYXRl
QXJyYXlQb2ludGVyKHZhbHVlc0FycmF5UG9pbnRlck9mZnNldCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZUNsYXNzLmVuY29kZWRTaXplLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlQ2xhc3MsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVJc051bGxhYmxlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlc0FycmF5RGltZW5zaW9ucywKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwKTsKLSAgICBpZiAoZXJyICE9PSB2
YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIC8vIFZhbGlk
YXRlIHRoZSBsZW5ndGhzIG9mIHRoZSBrZXlzIGFuZCB2YWx1ZXMgYXJyYXlzLgotICAgIHZhciBr
ZXlzQXJyYXlMZW5ndGggPSB0aGlzLmFycmF5TGVuZ3RoKGtleXNBcnJheVBvaW50ZXJPZmZzZXQp
OwotICAgIHZhciB2YWx1ZXNBcnJheUxlbmd0aCA9IHRoaXMuYXJyYXlMZW5ndGgodmFsdWVzQXJy
YXlQb2ludGVyT2Zmc2V0KTsKLSAgICBpZiAoa2V5c0FycmF5TGVuZ3RoICE9IHZhbHVlc0FycmF5
TGVuZ3RoKQotICAgICAgcmV0dXJuIHZhbGlkYXRpb25FcnJvci5ESUZGRVJFTlRfU0laRURfQVJS
QVlTX0lOX01BUDsKLQotICAgIHJldHVybiB2YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQot
ICBWYWxpZGF0b3IucHJvdG90eXBlLnZhbGlkYXRlU3RyaW5nUG9pbnRlciA9IGZ1bmN0aW9uKG9m
ZnNldCwgbnVsbGFibGUpIHsKLSAgICByZXR1cm4gdGhpcy52YWxpZGF0ZUFycmF5UG9pbnRlcigK
LSAgICAgICAgb2Zmc2V0LCBpbnRlcm5hbC5VaW50OC5lbmNvZGVkU2l6ZSwgaW50ZXJuYWwuVWlu
dDgsIG51bGxhYmxlLCBbMF0sIDApOwotICB9OwotCi0gIC8vIFNpbWlsYXIgdG8gQXJyYXlfRGF0
YTxUPjo6VmFsaWRhdGUoKQotICAvLyBtb2pvL3B1YmxpYy9jcHAvYmluZGluZ3MvbGliL2FycmF5
X2ludGVybmFsLmgKLQotICBWYWxpZGF0b3IucHJvdG90eXBlLnZhbGlkYXRlQXJyYXkgPQotICAg
ICAgZnVuY3Rpb24gKG9mZnNldCwgZWxlbWVudFNpemUsIGVsZW1lbnRUeXBlLCBleHBlY3RlZERp
bWVuc2lvblNpemVzLAotICAgICAgICAgICAgICAgIGN1cnJlbnREaW1lbnNpb24pIHsKLSAgICBp
ZiAoIWludGVybmFsLmlzQWxpZ25lZChvZmZzZXQpKQotICAgICAgcmV0dXJuIHZhbGlkYXRpb25F
cnJvci5NSVNBTElHTkVEX09CSkVDVDsKLQotICAgIGlmICghdGhpcy5pc1ZhbGlkUmFuZ2Uob2Zm
c2V0LCBpbnRlcm5hbC5rQXJyYXlIZWFkZXJTaXplKSkKLSAgICAgIHJldHVybiB2YWxpZGF0aW9u
RXJyb3IuSUxMRUdBTF9NRU1PUllfUkFOR0U7Ci0KLSAgICB2YXIgbnVtQnl0ZXMgPSB0aGlzLm1l
c3NhZ2UuYnVmZmVyLmdldFVpbnQzMihvZmZzZXQpOwotICAgIHZhciBudW1FbGVtZW50cyA9IHRo
aXMubWVzc2FnZS5idWZmZXIuZ2V0VWludDMyKG9mZnNldCArIDQpOwotCi0gICAgLy8gTm90ZTog
dGhpcyBjb21wdXRhdGlvbiBpcyAic2FmZSIgYmVjYXVzZSBlbGVtZW50U2l6ZSA8PSA4IGFuZAot
ICAgIC8vIG51bUVsZW1lbnRzIGlzIGEgdWludDMyLgotICAgIHZhciBlbGVtZW50c1RvdGFsU2l6
ZSA9IChlbGVtZW50VHlwZSA9PT0gaW50ZXJuYWwuUGFja2VkQm9vbCkgPwotICAgICAgICBNYXRo
LmNlaWwobnVtRWxlbWVudHMgLyA4KSA6IChlbGVtZW50U2l6ZSAqIG51bUVsZW1lbnRzKTsKLQot
ICAgIGlmIChudW1CeXRlcyA8IGludGVybmFsLmtBcnJheUhlYWRlclNpemUgKyBlbGVtZW50c1Rv
dGFsU2l6ZSkKLSAgICAgIHJldHVybiB2YWxpZGF0aW9uRXJyb3IuVU5FWFBFQ1RFRF9BUlJBWV9I
RUFERVI7Ci0KLSAgICBpZiAoZXhwZWN0ZWREaW1lbnNpb25TaXplc1tjdXJyZW50RGltZW5zaW9u
XSAhPSAwICYmCi0gICAgICAgIG51bUVsZW1lbnRzICE9IGV4cGVjdGVkRGltZW5zaW9uU2l6ZXNb
Y3VycmVudERpbWVuc2lvbl0pIHsKLSAgICAgIHJldHVybiB2YWxpZGF0aW9uRXJyb3IuVU5FWFBF
Q1RFRF9BUlJBWV9IRUFERVI7Ci0gICAgfQotCi0gICAgaWYgKCF0aGlzLmNsYWltUmFuZ2Uob2Zm
c2V0LCBudW1CeXRlcykpCi0gICAgICByZXR1cm4gdmFsaWRhdGlvbkVycm9yLklMTEVHQUxfTUVN
T1JZX1JBTkdFOwotCi0gICAgLy8gVmFsaWRhdGUgdGhlIGFycmF5J3MgZWxlbWVudHMgaWYgdGhl
eSBhcmUgcG9pbnRlcnMgb3IgaGFuZGxlcy4KLQotICAgIHZhciBlbGVtZW50c09mZnNldCA9IG9m
ZnNldCArIGludGVybmFsLmtBcnJheUhlYWRlclNpemU7Ci0gICAgdmFyIG51bGxhYmxlID0gaXNO
dWxsYWJsZShlbGVtZW50VHlwZSk7Ci0KLSAgICBpZiAoaXNIYW5kbGVDbGFzcyhlbGVtZW50VHlw
ZSkpCi0gICAgICByZXR1cm4gdGhpcy52YWxpZGF0ZUhhbmRsZUVsZW1lbnRzKGVsZW1lbnRzT2Zm
c2V0LCBudW1FbGVtZW50cywgbnVsbGFibGUpOwotICAgIGlmIChpc0ludGVyZmFjZUNsYXNzKGVs
ZW1lbnRUeXBlKSkKLSAgICAgIHJldHVybiB0aGlzLnZhbGlkYXRlSW50ZXJmYWNlRWxlbWVudHMo
Ci0gICAgICAgICAgZWxlbWVudHNPZmZzZXQsIG51bUVsZW1lbnRzLCBudWxsYWJsZSk7Ci0gICAg
aWYgKGlzSW50ZXJmYWNlUmVxdWVzdENsYXNzKGVsZW1lbnRUeXBlKSkKLSAgICAgIHJldHVybiB0
aGlzLnZhbGlkYXRlSW50ZXJmYWNlUmVxdWVzdEVsZW1lbnRzKAotICAgICAgICAgIGVsZW1lbnRz
T2Zmc2V0LCBudW1FbGVtZW50cywgbnVsbGFibGUpOwotICAgIGlmIChpc0Fzc29jaWF0ZWRJbnRl
cmZhY2VDbGFzcyhlbGVtZW50VHlwZSkpCi0gICAgICByZXR1cm4gdGhpcy52YWxpZGF0ZUFzc29j
aWF0ZWRJbnRlcmZhY2VFbGVtZW50cygKLSAgICAgICAgICBlbGVtZW50c09mZnNldCwgbnVtRWxl
bWVudHMsIG51bGxhYmxlKTsKLSAgICBpZiAoaXNBc3NvY2lhdGVkSW50ZXJmYWNlUmVxdWVzdENs
YXNzKGVsZW1lbnRUeXBlKSkKLSAgICAgIHJldHVybiB0aGlzLnZhbGlkYXRlQXNzb2NpYXRlZElu
dGVyZmFjZVJlcXVlc3RFbGVtZW50cygKLSAgICAgICAgICBlbGVtZW50c09mZnNldCwgbnVtRWxl
bWVudHMsIG51bGxhYmxlKTsKLSAgICBpZiAoaXNTdHJpbmdDbGFzcyhlbGVtZW50VHlwZSkpCi0g
ICAgICByZXR1cm4gdGhpcy52YWxpZGF0ZUFycmF5RWxlbWVudHMoCi0gICAgICAgICAgZWxlbWVu
dHNPZmZzZXQsIG51bUVsZW1lbnRzLCBpbnRlcm5hbC5VaW50OCwgbnVsbGFibGUsIFswXSwgMCk7
Ci0gICAgaWYgKGVsZW1lbnRUeXBlIGluc3RhbmNlb2YgaW50ZXJuYWwuUG9pbnRlclRvKQotICAg
ICAgcmV0dXJuIHRoaXMudmFsaWRhdGVTdHJ1Y3RFbGVtZW50cygKLSAgICAgICAgICBlbGVtZW50
c09mZnNldCwgbnVtRWxlbWVudHMsIGVsZW1lbnRUeXBlLmNscywgbnVsbGFibGUpOwotICAgIGlm
IChlbGVtZW50VHlwZSBpbnN0YW5jZW9mIGludGVybmFsLkFycmF5T2YpCi0gICAgICByZXR1cm4g
dGhpcy52YWxpZGF0ZUFycmF5RWxlbWVudHMoCi0gICAgICAgICAgZWxlbWVudHNPZmZzZXQsIG51
bUVsZW1lbnRzLCBlbGVtZW50VHlwZS5jbHMsIG51bGxhYmxlLAotICAgICAgICAgIGV4cGVjdGVk
RGltZW5zaW9uU2l6ZXMsIGN1cnJlbnREaW1lbnNpb24gKyAxKTsKLSAgICBpZiAoaXNFbnVtQ2xh
c3MoZWxlbWVudFR5cGUpKQotICAgICAgcmV0dXJuIHRoaXMudmFsaWRhdGVFbnVtRWxlbWVudHMo
ZWxlbWVudHNPZmZzZXQsIG51bUVsZW1lbnRzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgZWxlbWVudFR5cGUuY2xzKTsKLQotICAgIHJldHVybiB2YWxpZGF0aW9uRXJy
b3IuTk9ORTsKLSAgfTsKLQotICAvLyBOb3RlOiB0aGUgfG9mZnNldCArIGkgKiBlbGVtZW50U2l6
ZXwgY29tcHV0YXRpb24gaW4gdGhlIHZhbGlkYXRlRm9vRWxlbWVudHMKLSAgLy8gbWV0aG9kcyBi
ZWxvdyBpcyAic2FmZSIgYmVjYXVzZSBlbGVtZW50U2l6ZSA8PSA4LCBvZmZzZXQgYW5kCi0gIC8v
IG51bUVsZW1lbnRzIGFyZSB1aW50MzIsIGFuZCAwIDw9IGkgPCBudW1FbGVtZW50cy4KLQotICBW
YWxpZGF0b3IucHJvdG90eXBlLnZhbGlkYXRlSGFuZGxlRWxlbWVudHMgPQotICAgICAgZnVuY3Rp
b24ob2Zmc2V0LCBudW1FbGVtZW50cywgbnVsbGFibGUpIHsKLSAgICB2YXIgZWxlbWVudFNpemUg
PSBpbnRlcm5hbC5IYW5kbGUuZW5jb2RlZFNpemU7Ci0gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBu
dW1FbGVtZW50czsgaSsrKSB7Ci0gICAgICB2YXIgZWxlbWVudE9mZnNldCA9IG9mZnNldCArIGkg
KiBlbGVtZW50U2l6ZTsKLSAgICAgIHZhciBlcnIgPSB0aGlzLnZhbGlkYXRlSGFuZGxlKGVsZW1l
bnRPZmZzZXQsIG51bGxhYmxlKTsKLSAgICAgIGlmIChlcnIgIT0gdmFsaWRhdGlvbkVycm9yLk5P
TkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0gICAgfQotICAgIHJldHVybiB2YWxpZGF0aW9uRXJy
b3IuTk9ORTsKLSAgfTsKLQotICBWYWxpZGF0b3IucHJvdG90eXBlLnZhbGlkYXRlSW50ZXJmYWNl
RWxlbWVudHMgPQotICAgICAgZnVuY3Rpb24ob2Zmc2V0LCBudW1FbGVtZW50cywgbnVsbGFibGUp
IHsKLSAgICB2YXIgZWxlbWVudFNpemUgPSBpbnRlcm5hbC5JbnRlcmZhY2UucHJvdG90eXBlLmVu
Y29kZWRTaXplOwotICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbnVtRWxlbWVudHM7IGkrKykgewot
ICAgICAgdmFyIGVsZW1lbnRPZmZzZXQgPSBvZmZzZXQgKyBpICogZWxlbWVudFNpemU7Ci0gICAg
ICB2YXIgZXJyID0gdGhpcy52YWxpZGF0ZUludGVyZmFjZShlbGVtZW50T2Zmc2V0LCBudWxsYWJs
ZSk7Ci0gICAgICBpZiAoZXJyICE9IHZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1
cm4gZXJyOwotICAgIH0KLSAgICByZXR1cm4gdmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gIH07Ci0K
LSAgVmFsaWRhdG9yLnByb3RvdHlwZS52YWxpZGF0ZUludGVyZmFjZVJlcXVlc3RFbGVtZW50cyA9
Ci0gICAgICBmdW5jdGlvbihvZmZzZXQsIG51bUVsZW1lbnRzLCBudWxsYWJsZSkgewotICAgIHZh
ciBlbGVtZW50U2l6ZSA9IGludGVybmFsLkludGVyZmFjZVJlcXVlc3QuZW5jb2RlZFNpemU7Ci0g
ICAgZm9yICh2YXIgaSA9IDA7IGkgPCBudW1FbGVtZW50czsgaSsrKSB7Ci0gICAgICB2YXIgZWxl
bWVudE9mZnNldCA9IG9mZnNldCArIGkgKiBlbGVtZW50U2l6ZTsKLSAgICAgIHZhciBlcnIgPSB0
aGlzLnZhbGlkYXRlSW50ZXJmYWNlUmVxdWVzdChlbGVtZW50T2Zmc2V0LCBudWxsYWJsZSk7Ci0g
ICAgICBpZiAoZXJyICE9IHZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJy
OwotICAgIH0KLSAgICByZXR1cm4gdmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gIH07Ci0KLSAgVmFs
aWRhdG9yLnByb3RvdHlwZS52YWxpZGF0ZUFzc29jaWF0ZWRJbnRlcmZhY2VFbGVtZW50cyA9Ci0g
ICAgICBmdW5jdGlvbihvZmZzZXQsIG51bUVsZW1lbnRzLCBudWxsYWJsZSkgewotICAgIHZhciBl
bGVtZW50U2l6ZSA9IGludGVybmFsLkFzc29jaWF0ZWRJbnRlcmZhY2VQdHJJbmZvLnByb3RvdHlw
ZS5lbmNvZGVkU2l6ZTsKLSAgICBmb3IgKHZhciBpID0gMDsgaSA8IG51bUVsZW1lbnRzOyBpKysp
IHsKLSAgICAgIHZhciBlbGVtZW50T2Zmc2V0ID0gb2Zmc2V0ICsgaSAqIGVsZW1lbnRTaXplOwot
ICAgICAgdmFyIGVyciA9IHRoaXMudmFsaWRhdGVBc3NvY2lhdGVkSW50ZXJmYWNlKGVsZW1lbnRP
ZmZzZXQsIG51bGxhYmxlKTsKLSAgICAgIGlmIChlcnIgIT0gdmFsaWRhdGlvbkVycm9yLk5PTkUp
IHsKLSAgICAgICAgcmV0dXJuIGVycjsKLSAgICAgIH0KLSAgICB9Ci0gICAgcmV0dXJuIHZhbGlk
YXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIFZhbGlkYXRvci5wcm90b3R5cGUudmFsaWRhdGVB
c3NvY2lhdGVkSW50ZXJmYWNlUmVxdWVzdEVsZW1lbnRzID0KLSAgICAgIGZ1bmN0aW9uKG9mZnNl
dCwgbnVtRWxlbWVudHMsIG51bGxhYmxlKSB7Ci0gICAgdmFyIGVsZW1lbnRTaXplID0gaW50ZXJu
YWwuQXNzb2NpYXRlZEludGVyZmFjZVJlcXVlc3QuZW5jb2RlZFNpemU7Ci0gICAgZm9yICh2YXIg
aSA9IDA7IGkgPCBudW1FbGVtZW50czsgaSsrKSB7Ci0gICAgICB2YXIgZWxlbWVudE9mZnNldCA9
IG9mZnNldCArIGkgKiBlbGVtZW50U2l6ZTsKLSAgICAgIHZhciBlcnIgPSB0aGlzLnZhbGlkYXRl
QXNzb2NpYXRlZEludGVyZmFjZVJlcXVlc3QoZWxlbWVudE9mZnNldCwKLSAgICAgICAgICBudWxs
YWJsZSk7Ci0gICAgICBpZiAoZXJyICE9IHZhbGlkYXRpb25FcnJvci5OT05FKSB7Ci0gICAgICAg
IHJldHVybiBlcnI7Ci0gICAgICB9Ci0gICAgfQotICAgIHJldHVybiB2YWxpZGF0aW9uRXJyb3Iu
Tk9ORTsKLSAgfTsKLQotICAvLyBUaGUgZWxlbWVudENsYXNzIHBhcmFtZXRlciBpcyB0aGUgZWxl
bWVudCB0eXBlIG9mIHRoZSBlbGVtZW50IGFycmF5cy4KLSAgVmFsaWRhdG9yLnByb3RvdHlwZS52
YWxpZGF0ZUFycmF5RWxlbWVudHMgPQotICAgICAgZnVuY3Rpb24ob2Zmc2V0LCBudW1FbGVtZW50
cywgZWxlbWVudENsYXNzLCBudWxsYWJsZSwKLSAgICAgICAgICAgICAgIGV4cGVjdGVkRGltZW5z
aW9uU2l6ZXMsIGN1cnJlbnREaW1lbnNpb24pIHsKLSAgICB2YXIgZWxlbWVudFNpemUgPSBpbnRl
cm5hbC5Qb2ludGVyVG8ucHJvdG90eXBlLmVuY29kZWRTaXplOwotICAgIGZvciAodmFyIGkgPSAw
OyBpIDwgbnVtRWxlbWVudHM7IGkrKykgewotICAgICAgdmFyIGVsZW1lbnRPZmZzZXQgPSBvZmZz
ZXQgKyBpICogZWxlbWVudFNpemU7Ci0gICAgICB2YXIgZXJyID0gdGhpcy52YWxpZGF0ZUFycmF5
UG9pbnRlcigKLSAgICAgICAgICBlbGVtZW50T2Zmc2V0LCBlbGVtZW50Q2xhc3MuZW5jb2RlZFNp
emUsIGVsZW1lbnRDbGFzcywgbnVsbGFibGUsCi0gICAgICAgICAgZXhwZWN0ZWREaW1lbnNpb25T
aXplcywgY3VycmVudERpbWVuc2lvbik7Ci0gICAgICBpZiAoZXJyICE9IHZhbGlkYXRpb25FcnJv
ci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotICAgIH0KLSAgICByZXR1cm4gdmFsaWRhdGlv
bkVycm9yLk5PTkU7Ci0gIH07Ci0KLSAgVmFsaWRhdG9yLnByb3RvdHlwZS52YWxpZGF0ZVN0cnVj
dEVsZW1lbnRzID0KLSAgICAgIGZ1bmN0aW9uKG9mZnNldCwgbnVtRWxlbWVudHMsIHN0cnVjdENs
YXNzLCBudWxsYWJsZSkgewotICAgIHZhciBlbGVtZW50U2l6ZSA9IGludGVybmFsLlBvaW50ZXJU
by5wcm90b3R5cGUuZW5jb2RlZFNpemU7Ci0gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBudW1FbGVt
ZW50czsgaSsrKSB7Ci0gICAgICB2YXIgZWxlbWVudE9mZnNldCA9IG9mZnNldCArIGkgKiBlbGVt
ZW50U2l6ZTsKLSAgICAgIHZhciBlcnIgPQotICAgICAgICAgIHRoaXMudmFsaWRhdGVTdHJ1Y3RQ
b2ludGVyKGVsZW1lbnRPZmZzZXQsIHN0cnVjdENsYXNzLCBudWxsYWJsZSk7Ci0gICAgICBpZiAo
ZXJyICE9IHZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotICAgIH0K
LSAgICByZXR1cm4gdmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gIH07Ci0KLSAgVmFsaWRhdG9yLnBy
b3RvdHlwZS52YWxpZGF0ZUVudW1FbGVtZW50cyA9Ci0gICAgICBmdW5jdGlvbihvZmZzZXQsIG51
bUVsZW1lbnRzLCBlbnVtQ2xhc3MpIHsKLSAgICB2YXIgZWxlbWVudFNpemUgPSBpbnRlcm5hbC5F
bnVtLnByb3RvdHlwZS5lbmNvZGVkU2l6ZTsKLSAgICBmb3IgKHZhciBpID0gMDsgaSA8IG51bUVs
ZW1lbnRzOyBpKyspIHsKLSAgICAgIHZhciBlbGVtZW50T2Zmc2V0ID0gb2Zmc2V0ICsgaSAqIGVs
ZW1lbnRTaXplOwotICAgICAgdmFyIGVyciA9IHRoaXMudmFsaWRhdGVFbnVtKGVsZW1lbnRPZmZz
ZXQsIGVudW1DbGFzcyk7Ci0gICAgICBpZiAoZXJyICE9IHZhbGlkYXRpb25FcnJvci5OT05FKQot
ICAgICAgICByZXR1cm4gZXJyOwotICAgIH0KLSAgICByZXR1cm4gdmFsaWRhdGlvbkVycm9yLk5P
TkU7Ci0gIH07Ci0KLSAgaW50ZXJuYWwudmFsaWRhdGlvbkVycm9yID0gdmFsaWRhdGlvbkVycm9y
OwotICBpbnRlcm5hbC5WYWxpZGF0b3IgPSBWYWxpZGF0b3I7Ci0gIGludGVybmFsLlZhbGlkYXRp
b25FcnJvck9ic2VydmVyRm9yVGVzdGluZyA9Ci0gICAgICBWYWxpZGF0aW9uRXJyb3JPYnNlcnZl
ckZvclRlc3Rpbmc7Ci0gIGludGVybmFsLnJlcG9ydFZhbGlkYXRpb25FcnJvciA9IHJlcG9ydFZh
bGlkYXRpb25FcnJvcjsKLSAgaW50ZXJuYWwuaXNUZXN0aW5nTW9kZSA9IGlzVGVzdGluZ01vZGU7
Ci0gIGludGVybmFsLmNsZWFyVGVzdGluZ01vZGUgPSBjbGVhclRlc3RpbmdNb2RlOwotfSkoKTsK
LS8vIENvcHlyaWdodCAyMDE0IFRoZSBDaHJvbWl1bSBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgotLy8gVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5
bGUgbGljZW5zZSB0aGF0IGNhbiBiZQotLy8gZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KLQot
Ci0ndXNlIHN0cmljdCc7Ci0KLShmdW5jdGlvbigpIHsKLSAgdmFyIG1vam9tSWQgPSAnbW9qby9w
dWJsaWMvaW50ZXJmYWNlcy9iaW5kaW5ncy9uZXdfYmluZGluZ3MvaW50ZXJmYWNlX2NvbnRyb2xf
bWVzc2FnZXMubW9qb20nOwotICBpZiAobW9qby5pbnRlcm5hbC5pc01vam9tTG9hZGVkKG1vam9t
SWQpKSB7Ci0gICAgY29uc29sZS53YXJuKCdUaGUgZm9sbG93aW5nIG1vam9tIGlzIGxvYWRlZCBt
dWx0aXBsZSB0aW1lczogJyArIG1vam9tSWQpOwotICAgIHJldHVybjsKLSAgfQotICBtb2pvLmlu
dGVybmFsLm1hcmtNb2pvbUxvYWRlZChtb2pvbUlkKTsKLQotICAvLyBUT0RPKHl6c2hlbik6IERl
ZmluZSB0aGVzZSBhbGlhc2VzIHRvIG1pbmltaXplIHRoZSBkaWZmZXJlbmNlcyBiZXR3ZWVuIHRo
ZQotICAvLyBvbGQvbmV3IG1vZGVzLiBSZW1vdmUgdGhlbSB3aGVuIHRoZSBvbGQgbW9kZSBnb2Vz
IGF3YXkuCi0gIHZhciBiaW5kaW5ncyA9IG1vam87Ci0gIHZhciBhc3NvY2lhdGVkQmluZGluZ3Mg
PSBtb2pvOwotICB2YXIgY29kZWMgPSBtb2pvLmludGVybmFsOwotICB2YXIgdmFsaWRhdG9yID0g
bW9qby5pbnRlcm5hbDsKLQotICB2YXIgZXhwb3J0cyA9IG1vam8uaW50ZXJuYWwuZXhwb3NlTmFt
ZXNwYWNlKCdtb2pvLmludGVyZmFjZUNvbnRyb2wyJyk7Ci0KLQotICB2YXIga1J1bk1lc3NhZ2VJ
ZCA9IDB4RkZGRkZGRkY7Ci0gIHZhciBrUnVuT3JDbG9zZVBpcGVNZXNzYWdlSWQgPSAweEZGRkZG
RkZFOwotCi0gIGZ1bmN0aW9uIFJ1bk1lc3NhZ2VQYXJhbXModmFsdWVzKSB7Ci0gICAgdGhpcy5p
bml0RGVmYXVsdHNfKCk7Ci0gICAgdGhpcy5pbml0RmllbGRzXyh2YWx1ZXMpOwotICB9Ci0KLQot
ICBSdW5NZXNzYWdlUGFyYW1zLnByb3RvdHlwZS5pbml0RGVmYXVsdHNfID0gZnVuY3Rpb24oKSB7
Ci0gICAgdGhpcy5pbnB1dCA9IG51bGw7Ci0gIH07Ci0gIFJ1bk1lc3NhZ2VQYXJhbXMucHJvdG90
eXBlLmluaXRGaWVsZHNfID0gZnVuY3Rpb24oZmllbGRzKSB7Ci0gICAgZm9yKHZhciBmaWVsZCBp
biBmaWVsZHMpIHsKLSAgICAgICAgaWYgKHRoaXMuaGFzT3duUHJvcGVydHkoZmllbGQpKQotICAg
ICAgICAgIHRoaXNbZmllbGRdID0gZmllbGRzW2ZpZWxkXTsKLSAgICB9Ci0gIH07Ci0KLSAgUnVu
TWVzc2FnZVBhcmFtcy52YWxpZGF0ZSA9IGZ1bmN0aW9uKG1lc3NhZ2VWYWxpZGF0b3IsIG9mZnNl
dCkgewotICAgIHZhciBlcnI7Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0
cnVjdEhlYWRlcihvZmZzZXQsIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplKTsKLSAgICBpZiAoZXJy
ICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7
Ci0KLSAgICB2YXIga1ZlcnNpb25TaXplcyA9IFsKLSAgICAgIHt2ZXJzaW9uOiAwLCBudW1CeXRl
czogMjR9Ci0gICAgXTsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0
VmVyc2lvbihvZmZzZXQsIGtWZXJzaW9uU2l6ZXMpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRv
ci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0gICAgLy8g
dmFsaWRhdGUgUnVuTWVzc2FnZVBhcmFtcy5pbnB1dAotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0
b3IudmFsaWRhdGVVbmlvbihvZmZzZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDAsIFJ1
bklucHV0LCBmYWxzZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJv
ci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgcmV0dXJuIHZhbGlkYXRvci52YWxp
ZGF0aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQotICBSdW5NZXNzYWdlUGFyYW1zLmVuY29kZWRTaXpl
ID0gY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyAxNjsKLQotICBSdW5NZXNzYWdlUGFyYW1zLmRl
Y29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIHZhciB2YWwg
PSBuZXcgUnVuTWVzc2FnZVBhcmFtcygpOwotICAgIHZhciBudW1iZXJPZkJ5dGVzID0gZGVjb2Rl
ci5yZWFkVWludDMyKCk7Ci0gICAgdmFyIHZlcnNpb24gPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsK
LSAgICB2YWwuaW5wdXQgPSBkZWNvZGVyLmRlY29kZVN0cnVjdChSdW5JbnB1dCk7Ci0gICAgcmV0
dXJuIHZhbDsKLSAgfTsKLQotICBSdW5NZXNzYWdlUGFyYW1zLmVuY29kZSA9IGZ1bmN0aW9uKGVu
Y29kZXIsIHZhbCkgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMihS
dW5NZXNzYWdlUGFyYW1zLmVuY29kZWRTaXplKTsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKDAp
OwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KFJ1bklucHV0LCB2YWwuaW5wdXQpOwotICB9Owot
ICBmdW5jdGlvbiBSdW5SZXNwb25zZU1lc3NhZ2VQYXJhbXModmFsdWVzKSB7Ci0gICAgdGhpcy5p
bml0RGVmYXVsdHNfKCk7Ci0gICAgdGhpcy5pbml0RmllbGRzXyh2YWx1ZXMpOwotICB9Ci0KLQot
ICBSdW5SZXNwb25zZU1lc3NhZ2VQYXJhbXMucHJvdG90eXBlLmluaXREZWZhdWx0c18gPSBmdW5j
dGlvbigpIHsKLSAgICB0aGlzLm91dHB1dCA9IG51bGw7Ci0gIH07Ci0gIFJ1blJlc3BvbnNlTWVz
c2FnZVBhcmFtcy5wcm90b3R5cGUuaW5pdEZpZWxkc18gPSBmdW5jdGlvbihmaWVsZHMpIHsKLSAg
ICBmb3IodmFyIGZpZWxkIGluIGZpZWxkcykgewotICAgICAgICBpZiAodGhpcy5oYXNPd25Qcm9w
ZXJ0eShmaWVsZCkpCi0gICAgICAgICAgdGhpc1tmaWVsZF0gPSBmaWVsZHNbZmllbGRdOwotICAg
IH0KLSAgfTsKLQotICBSdW5SZXNwb25zZU1lc3NhZ2VQYXJhbXMudmFsaWRhdGUgPSBmdW5jdGlv
bihtZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsKLSAgICB2YXIgZXJyOwotICAgIGVyciA9IG1l
c3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RIZWFkZXIob2Zmc2V0LCBjb2RlYy5rU3RydWN0
SGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5O
T05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgdmFyIGtWZXJzaW9uU2l6ZXMgPSBbCi0g
ICAgICB7dmVyc2lvbjogMCwgbnVtQnl0ZXM6IDI0fQotICAgIF07Ci0gICAgZXJyID0gbWVzc2Fn
ZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFZlcnNpb24ob2Zmc2V0LCBrVmVyc2lvblNpemVzKTsK
LSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAg
IHJldHVybiBlcnI7Ci0KLQotICAgIC8vIHZhbGlkYXRlIFJ1blJlc3BvbnNlTWVzc2FnZVBhcmFt
cy5vdXRwdXQKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlVW5pb24ob2Zmc2V0
ICsgY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyAwLCBSdW5PdXRwdXQsIHRydWUpOwotICAgIGlm
IChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJu
IGVycjsKLQotICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gIH07
Ci0KLSAgUnVuUmVzcG9uc2VNZXNzYWdlUGFyYW1zLmVuY29kZWRTaXplID0gY29kZWMua1N0cnVj
dEhlYWRlclNpemUgKyAxNjsKLQotICBSdW5SZXNwb25zZU1lc3NhZ2VQYXJhbXMuZGVjb2RlID0g
ZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgdmFyIHZhbCA9IG5ldyBS
dW5SZXNwb25zZU1lc3NhZ2VQYXJhbXMoKTsKLSAgICB2YXIgbnVtYmVyT2ZCeXRlcyA9IGRlY29k
ZXIucmVhZFVpbnQzMigpOwotICAgIHZhciB2ZXJzaW9uID0gZGVjb2Rlci5yZWFkVWludDMyKCk7
Ci0gICAgdmFsLm91dHB1dCA9IGRlY29kZXIuZGVjb2RlU3RydWN0KFJ1bk91dHB1dCk7Ci0gICAg
cmV0dXJuIHZhbDsKLSAgfTsKLQotICBSdW5SZXNwb25zZU1lc3NhZ2VQYXJhbXMuZW5jb2RlID0g
ZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICBlbmNvZGVyLndy
aXRlVWludDMyKFJ1blJlc3BvbnNlTWVzc2FnZVBhcmFtcy5lbmNvZGVkU2l6ZSk7Ci0gICAgZW5j
b2Rlci53cml0ZVVpbnQzMigwKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdChSdW5PdXRwdXQs
IHZhbC5vdXRwdXQpOwotICB9OwotICBmdW5jdGlvbiBRdWVyeVZlcnNpb24odmFsdWVzKSB7Ci0g
ICAgdGhpcy5pbml0RGVmYXVsdHNfKCk7Ci0gICAgdGhpcy5pbml0RmllbGRzXyh2YWx1ZXMpOwot
ICB9Ci0KLQotICBRdWVyeVZlcnNpb24ucHJvdG90eXBlLmluaXREZWZhdWx0c18gPSBmdW5jdGlv
bigpIHsKLSAgfTsKLSAgUXVlcnlWZXJzaW9uLnByb3RvdHlwZS5pbml0RmllbGRzXyA9IGZ1bmN0
aW9uKGZpZWxkcykgewotICAgIGZvcih2YXIgZmllbGQgaW4gZmllbGRzKSB7Ci0gICAgICAgIGlm
ICh0aGlzLmhhc093blByb3BlcnR5KGZpZWxkKSkKLSAgICAgICAgICB0aGlzW2ZpZWxkXSA9IGZp
ZWxkc1tmaWVsZF07Ci0gICAgfQotICB9OwotCi0gIFF1ZXJ5VmVyc2lvbi52YWxpZGF0ZSA9IGZ1
bmN0aW9uKG1lc3NhZ2VWYWxpZGF0b3IsIG9mZnNldCkgewotICAgIHZhciBlcnI7Ci0gICAgZXJy
ID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdEhlYWRlcihvZmZzZXQsIGNvZGVjLmtT
dHJ1Y3RIZWFkZXJTaXplKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVy
cm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICB2YXIga1ZlcnNpb25TaXplcyA9
IFsKLSAgICAgIHt2ZXJzaW9uOiAwLCBudW1CeXRlczogOH0KLSAgICBdOwotICAgIGVyciA9IG1l
c3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RWZXJzaW9uKG9mZnNldCwga1ZlcnNpb25TaXpl
cyk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAg
ICAgICByZXR1cm4gZXJyOwotCi0gICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3Iu
Tk9ORTsKLSAgfTsKLQotICBRdWVyeVZlcnNpb24uZW5jb2RlZFNpemUgPSBjb2RlYy5rU3RydWN0
SGVhZGVyU2l6ZSArIDA7Ci0KLSAgUXVlcnlWZXJzaW9uLmRlY29kZSA9IGZ1bmN0aW9uKGRlY29k
ZXIpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIHZhciB2YWwgPSBuZXcgUXVlcnlWZXJzaW9uKCk7
Ci0gICAgdmFyIG51bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YXIg
dmVyc2lvbiA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHJldHVybiB2YWw7Ci0gIH07Ci0K
LSAgUXVlcnlWZXJzaW9uLmVuY29kZSA9IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgIHZh
ciBwYWNrZWQ7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMihRdWVyeVZlcnNpb24uZW5jb2RlZFNp
emUpOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoMCk7Ci0gIH07Ci0gIGZ1bmN0aW9uIFF1ZXJ5
VmVyc2lvblJlc3VsdCh2YWx1ZXMpIHsKLSAgICB0aGlzLmluaXREZWZhdWx0c18oKTsKLSAgICB0
aGlzLmluaXRGaWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0gIFF1ZXJ5VmVyc2lvblJlc3VsdC5w
cm90b3R5cGUuaW5pdERlZmF1bHRzXyA9IGZ1bmN0aW9uKCkgewotICAgIHRoaXMudmVyc2lvbiA9
IDA7Ci0gIH07Ci0gIFF1ZXJ5VmVyc2lvblJlc3VsdC5wcm90b3R5cGUuaW5pdEZpZWxkc18gPSBm
dW5jdGlvbihmaWVsZHMpIHsKLSAgICBmb3IodmFyIGZpZWxkIGluIGZpZWxkcykgewotICAgICAg
ICBpZiAodGhpcy5oYXNPd25Qcm9wZXJ0eShmaWVsZCkpCi0gICAgICAgICAgdGhpc1tmaWVsZF0g
PSBmaWVsZHNbZmllbGRdOwotICAgIH0KLSAgfTsKLQotICBRdWVyeVZlcnNpb25SZXN1bHQudmFs
aWRhdGUgPSBmdW5jdGlvbihtZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsKLSAgICB2YXIgZXJy
OwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RIZWFkZXIob2Zmc2V0
LCBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZh
bGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgdmFyIGtWZXJz
aW9uU2l6ZXMgPSBbCi0gICAgICB7dmVyc2lvbjogMCwgbnVtQnl0ZXM6IDE2fQotICAgIF07Ci0g
ICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFZlcnNpb24ob2Zmc2V0LCBr
VmVyc2lvblNpemVzKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9y
Lk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotICAgIHJldHVybiB2YWxpZGF0b3IudmFs
aWRhdGlvbkVycm9yLk5PTkU7Ci0gIH07Ci0KLSAgUXVlcnlWZXJzaW9uUmVzdWx0LmVuY29kZWRT
aXplID0gY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyA4OwotCi0gIFF1ZXJ5VmVyc2lvblJlc3Vs
dC5kZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICB2YXIg
dmFsID0gbmV3IFF1ZXJ5VmVyc2lvblJlc3VsdCgpOwotICAgIHZhciBudW1iZXJPZkJ5dGVzID0g
ZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFyIHZlcnNpb24gPSBkZWNvZGVyLnJlYWRVaW50
MzIoKTsKLSAgICB2YWwudmVyc2lvbiA9IGRlY29kZXIuZGVjb2RlU3RydWN0KGNvZGVjLlVpbnQz
Mik7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNv
ZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIHJldHVybiB2YWw7Ci0gIH07
Ci0KLSAgUXVlcnlWZXJzaW9uUmVzdWx0LmVuY29kZSA9IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkg
ewotICAgIHZhciBwYWNrZWQ7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMihRdWVyeVZlcnNpb25S
ZXN1bHQuZW5jb2RlZFNpemUpOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoMCk7Ci0gICAgZW5j
b2Rlci5lbmNvZGVTdHJ1Y3QoY29kZWMuVWludDMyLCB2YWwudmVyc2lvbik7Ci0gICAgZW5jb2Rl
ci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0g
ICAgZW5jb2Rlci5za2lwKDEpOwotICB9OwotICBmdW5jdGlvbiBGbHVzaEZvclRlc3RpbmcodmFs
dWVzKSB7Ci0gICAgdGhpcy5pbml0RGVmYXVsdHNfKCk7Ci0gICAgdGhpcy5pbml0RmllbGRzXyh2
YWx1ZXMpOwotICB9Ci0KLQotICBGbHVzaEZvclRlc3RpbmcucHJvdG90eXBlLmluaXREZWZhdWx0
c18gPSBmdW5jdGlvbigpIHsKLSAgfTsKLSAgRmx1c2hGb3JUZXN0aW5nLnByb3RvdHlwZS5pbml0
RmllbGRzXyA9IGZ1bmN0aW9uKGZpZWxkcykgewotICAgIGZvcih2YXIgZmllbGQgaW4gZmllbGRz
KSB7Ci0gICAgICAgIGlmICh0aGlzLmhhc093blByb3BlcnR5KGZpZWxkKSkKLSAgICAgICAgICB0
aGlzW2ZpZWxkXSA9IGZpZWxkc1tmaWVsZF07Ci0gICAgfQotICB9OwotCi0gIEZsdXNoRm9yVGVz
dGluZy52YWxpZGF0ZSA9IGZ1bmN0aW9uKG1lc3NhZ2VWYWxpZGF0b3IsIG9mZnNldCkgewotICAg
IHZhciBlcnI7Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdEhlYWRl
cihvZmZzZXQsIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplKTsKLSAgICBpZiAoZXJyICE9PSB2YWxp
ZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICB2
YXIga1ZlcnNpb25TaXplcyA9IFsKLSAgICAgIHt2ZXJzaW9uOiAwLCBudW1CeXRlczogOH0KLSAg
ICBdOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RWZXJzaW9uKG9m
ZnNldCwga1ZlcnNpb25TaXplcyk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRp
b25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgcmV0dXJuIHZhbGlkYXRv
ci52YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQotICBGbHVzaEZvclRlc3RpbmcuZW5jb2Rl
ZFNpemUgPSBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDA7Ci0KLSAgRmx1c2hGb3JUZXN0aW5n
LmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIHZhciB2
YWwgPSBuZXcgRmx1c2hGb3JUZXN0aW5nKCk7Ci0gICAgdmFyIG51bWJlck9mQnl0ZXMgPSBkZWNv
ZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YXIgdmVyc2lvbiA9IGRlY29kZXIucmVhZFVpbnQzMigp
OwotICAgIHJldHVybiB2YWw7Ci0gIH07Ci0KLSAgRmx1c2hGb3JUZXN0aW5nLmVuY29kZSA9IGZ1
bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgZW5jb2Rlci53cml0
ZVVpbnQzMihGbHVzaEZvclRlc3RpbmcuZW5jb2RlZFNpemUpOwotICAgIGVuY29kZXIud3JpdGVV
aW50MzIoMCk7Ci0gIH07Ci0gIGZ1bmN0aW9uIFJ1bk9yQ2xvc2VQaXBlTWVzc2FnZVBhcmFtcyh2
YWx1ZXMpIHsKLSAgICB0aGlzLmluaXREZWZhdWx0c18oKTsKLSAgICB0aGlzLmluaXRGaWVsZHNf
KHZhbHVlcyk7Ci0gIH0KLQotCi0gIFJ1bk9yQ2xvc2VQaXBlTWVzc2FnZVBhcmFtcy5wcm90b3R5
cGUuaW5pdERlZmF1bHRzXyA9IGZ1bmN0aW9uKCkgewotICAgIHRoaXMuaW5wdXQgPSBudWxsOwot
ICB9OwotICBSdW5PckNsb3NlUGlwZU1lc3NhZ2VQYXJhbXMucHJvdG90eXBlLmluaXRGaWVsZHNf
ID0gZnVuY3Rpb24oZmllbGRzKSB7Ci0gICAgZm9yKHZhciBmaWVsZCBpbiBmaWVsZHMpIHsKLSAg
ICAgICAgaWYgKHRoaXMuaGFzT3duUHJvcGVydHkoZmllbGQpKQotICAgICAgICAgIHRoaXNbZmll
bGRdID0gZmllbGRzW2ZpZWxkXTsKLSAgICB9Ci0gIH07Ci0KLSAgUnVuT3JDbG9zZVBpcGVNZXNz
YWdlUGFyYW1zLnZhbGlkYXRlID0gZnVuY3Rpb24obWVzc2FnZVZhbGlkYXRvciwgb2Zmc2V0KSB7
Ci0gICAgdmFyIGVycjsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0
SGVhZGVyKG9mZnNldCwgY29kZWMua1N0cnVjdEhlYWRlclNpemUpOwotICAgIGlmIChlcnIgIT09
IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQot
ICAgIHZhciBrVmVyc2lvblNpemVzID0gWwotICAgICAge3ZlcnNpb246IDAsIG51bUJ5dGVzOiAy
NH0KLSAgICBdOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RWZXJz
aW9uKG9mZnNldCwga1ZlcnNpb25TaXplcyk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZh
bGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0KLSAgICAvLyB2YWxp
ZGF0ZSBSdW5PckNsb3NlUGlwZU1lc3NhZ2VQYXJhbXMuaW5wdXQKLSAgICBlcnIgPSBtZXNzYWdl
VmFsaWRhdG9yLnZhbGlkYXRlVW5pb24ob2Zmc2V0ICsgY29kZWMua1N0cnVjdEhlYWRlclNpemUg
KyAwLCBSdW5PckNsb3NlUGlwZUlucHV0LCBmYWxzZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRh
dG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgcmV0
dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQotICBSdW5PckNsb3Nl
UGlwZU1lc3NhZ2VQYXJhbXMuZW5jb2RlZFNpemUgPSBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSAr
IDE2OwotCi0gIFJ1bk9yQ2xvc2VQaXBlTWVzc2FnZVBhcmFtcy5kZWNvZGUgPSBmdW5jdGlvbihk
ZWNvZGVyKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICB2YXIgdmFsID0gbmV3IFJ1bk9yQ2xvc2VQ
aXBlTWVzc2FnZVBhcmFtcygpOwotICAgIHZhciBudW1iZXJPZkJ5dGVzID0gZGVjb2Rlci5yZWFk
VWludDMyKCk7Ci0gICAgdmFyIHZlcnNpb24gPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2
YWwuaW5wdXQgPSBkZWNvZGVyLmRlY29kZVN0cnVjdChSdW5PckNsb3NlUGlwZUlucHV0KTsKLSAg
ICByZXR1cm4gdmFsOwotICB9OwotCi0gIFJ1bk9yQ2xvc2VQaXBlTWVzc2FnZVBhcmFtcy5lbmNv
ZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2YWwpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIGVuY29k
ZXIud3JpdGVVaW50MzIoUnVuT3JDbG9zZVBpcGVNZXNzYWdlUGFyYW1zLmVuY29kZWRTaXplKTsK
LSAgICBlbmNvZGVyLndyaXRlVWludDMyKDApOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KFJ1
bk9yQ2xvc2VQaXBlSW5wdXQsIHZhbC5pbnB1dCk7Ci0gIH07Ci0gIGZ1bmN0aW9uIFJlcXVpcmVW
ZXJzaW9uKHZhbHVlcykgewotICAgIHRoaXMuaW5pdERlZmF1bHRzXygpOwotICAgIHRoaXMuaW5p
dEZpZWxkc18odmFsdWVzKTsKLSAgfQotCi0KLSAgUmVxdWlyZVZlcnNpb24ucHJvdG90eXBlLmlu
aXREZWZhdWx0c18gPSBmdW5jdGlvbigpIHsKLSAgICB0aGlzLnZlcnNpb24gPSAwOwotICB9Owot
ICBSZXF1aXJlVmVyc2lvbi5wcm90b3R5cGUuaW5pdEZpZWxkc18gPSBmdW5jdGlvbihmaWVsZHMp
IHsKLSAgICBmb3IodmFyIGZpZWxkIGluIGZpZWxkcykgewotICAgICAgICBpZiAodGhpcy5oYXNP
d25Qcm9wZXJ0eShmaWVsZCkpCi0gICAgICAgICAgdGhpc1tmaWVsZF0gPSBmaWVsZHNbZmllbGRd
OwotICAgIH0KLSAgfTsKLQotICBSZXF1aXJlVmVyc2lvbi52YWxpZGF0ZSA9IGZ1bmN0aW9uKG1l
c3NhZ2VWYWxpZGF0b3IsIG9mZnNldCkgewotICAgIHZhciBlcnI7Ci0gICAgZXJyID0gbWVzc2Fn
ZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdEhlYWRlcihvZmZzZXQsIGNvZGVjLmtTdHJ1Y3RIZWFk
ZXJTaXplKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUp
Ci0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICB2YXIga1ZlcnNpb25TaXplcyA9IFsKLSAgICAg
IHt2ZXJzaW9uOiAwLCBudW1CeXRlczogMTZ9Ci0gICAgXTsKLSAgICBlcnIgPSBtZXNzYWdlVmFs
aWRhdG9yLnZhbGlkYXRlU3RydWN0VmVyc2lvbihvZmZzZXQsIGtWZXJzaW9uU2l6ZXMpOwotICAg
IGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0
dXJuIGVycjsKLQotCi0gICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORTsK
LSAgfTsKLQotICBSZXF1aXJlVmVyc2lvbi5lbmNvZGVkU2l6ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFk
ZXJTaXplICsgODsKLQotICBSZXF1aXJlVmVyc2lvbi5kZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVy
KSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICB2YXIgdmFsID0gbmV3IFJlcXVpcmVWZXJzaW9uKCk7
Ci0gICAgdmFyIG51bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YXIg
dmVyc2lvbiA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhbC52ZXJzaW9uID0gZGVjb2Rl
ci5kZWNvZGVTdHJ1Y3QoY29kZWMuVWludDMyKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAg
ZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAo
MSk7Ci0gICAgcmV0dXJuIHZhbDsKLSAgfTsKLQotICBSZXF1aXJlVmVyc2lvbi5lbmNvZGUgPSBm
dW5jdGlvbihlbmNvZGVyLCB2YWwpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIGVuY29kZXIud3Jp
dGVVaW50MzIoUmVxdWlyZVZlcnNpb24uZW5jb2RlZFNpemUpOwotICAgIGVuY29kZXIud3JpdGVV
aW50MzIoMCk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3QoY29kZWMuVWludDMyLCB2YWwudmVy
c2lvbik7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBl
bmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICB9OwotCi0gIGZ1bmN0aW9u
IFJ1bklucHV0KHZhbHVlKSB7Ci0gICAgdGhpcy5pbml0RGVmYXVsdF8oKTsKLSAgICB0aGlzLmlu
aXRWYWx1ZV8odmFsdWUpOwotICB9Ci0gIAotICAKLSAgUnVuSW5wdXQuVGFncyA9IHsKLSAgICBx
dWVyeVZlcnNpb246IDAsCi0gICAgZmx1c2hGb3JUZXN0aW5nOiAxLAotICB9OwotICAKLSAgUnVu
SW5wdXQucHJvdG90eXBlLmluaXREZWZhdWx0XyA9IGZ1bmN0aW9uKCkgewotICAgIHRoaXMuJGRh
dGEgPSBudWxsOwotICAgIHRoaXMuJHRhZyA9IHVuZGVmaW5lZDsKLSAgfQotICAKLSAgUnVuSW5w
dXQucHJvdG90eXBlLmluaXRWYWx1ZV8gPSBmdW5jdGlvbih2YWx1ZSkgewotICAgIGlmICh2YWx1
ZSA9PSB1bmRlZmluZWQpIHsKLSAgICAgIHJldHVybjsKLSAgICB9Ci0gIAotICAgIHZhciBrZXlz
ID0gT2JqZWN0LmtleXModmFsdWUpOwotICAgIGlmIChrZXlzLmxlbmd0aCA9PSAwKSB7Ci0gICAg
ICByZXR1cm47Ci0gICAgfQotICAKLSAgICBpZiAoa2V5cy5sZW5ndGggPiAxKSB7Ci0gICAgICB0
aHJvdyBuZXcgVHlwZUVycm9yKCJZb3UgbWF5IHNldCBvbmx5IG9uZSBtZW1iZXIgb24gYSB1bmlv
bi4iKTsKLSAgICB9Ci0gIAotICAgIHZhciBmaWVsZHMgPSBbCi0gICAgICAgICJxdWVyeVZlcnNp
b24iLAotICAgICAgICAiZmx1c2hGb3JUZXN0aW5nIiwKLSAgICBdOwotICAKLSAgICBpZiAoZmll
bGRzLmluZGV4T2Yoa2V5c1swXSkgPCAwKSB7Ci0gICAgICB0aHJvdyBuZXcgUmVmZXJlbmNlRXJy
b3Ioa2V5c1swXSArICIgaXMgbm90IGEgUnVuSW5wdXQgbWVtYmVyLiIpOwotICAKLSAgICB9Ci0g
IAotICAgIHRoaXNba2V5c1swXV0gPSB2YWx1ZVtrZXlzWzBdXTsKLSAgfQotICBPYmplY3QuZGVm
aW5lUHJvcGVydHkoUnVuSW5wdXQucHJvdG90eXBlLCAicXVlcnlWZXJzaW9uIiwgewotICAgIGdl
dDogZnVuY3Rpb24oKSB7Ci0gICAgICBpZiAodGhpcy4kdGFnICE9IFJ1bklucHV0LlRhZ3MucXVl
cnlWZXJzaW9uKSB7Ci0gICAgICAgIHRocm93IG5ldyBSZWZlcmVuY2VFcnJvcigKLSAgICAgICAg
ICAgICJSdW5JbnB1dC5xdWVyeVZlcnNpb24gaXMgbm90IGN1cnJlbnRseSBzZXQuIik7Ci0gICAg
ICB9Ci0gICAgICByZXR1cm4gdGhpcy4kZGF0YTsKLSAgICB9LAotICAKLSAgICBzZXQ6IGZ1bmN0
aW9uKHZhbHVlKSB7Ci0gICAgICB0aGlzLiR0YWcgPSBSdW5JbnB1dC5UYWdzLnF1ZXJ5VmVyc2lv
bjsKLSAgICAgIHRoaXMuJGRhdGEgPSB2YWx1ZTsKLSAgICB9Ci0gIH0pOwotICBPYmplY3QuZGVm
aW5lUHJvcGVydHkoUnVuSW5wdXQucHJvdG90eXBlLCAiZmx1c2hGb3JUZXN0aW5nIiwgewotICAg
IGdldDogZnVuY3Rpb24oKSB7Ci0gICAgICBpZiAodGhpcy4kdGFnICE9IFJ1bklucHV0LlRhZ3Mu
Zmx1c2hGb3JUZXN0aW5nKSB7Ci0gICAgICAgIHRocm93IG5ldyBSZWZlcmVuY2VFcnJvcigKLSAg
ICAgICAgICAgICJSdW5JbnB1dC5mbHVzaEZvclRlc3RpbmcgaXMgbm90IGN1cnJlbnRseSBzZXQu
Iik7Ci0gICAgICB9Ci0gICAgICByZXR1cm4gdGhpcy4kZGF0YTsKLSAgICB9LAotICAKLSAgICBz
ZXQ6IGZ1bmN0aW9uKHZhbHVlKSB7Ci0gICAgICB0aGlzLiR0YWcgPSBSdW5JbnB1dC5UYWdzLmZs
dXNoRm9yVGVzdGluZzsKLSAgICAgIHRoaXMuJGRhdGEgPSB2YWx1ZTsKLSAgICB9Ci0gIH0pOwot
ICAKLSAgCi0gICAgUnVuSW5wdXQuZW5jb2RlID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0g
ICAgICBpZiAodmFsID09IG51bGwpIHsKLSAgICAgICAgZW5jb2Rlci53cml0ZVVpbnQ2NCgwKTsK
LSAgICAgICAgZW5jb2Rlci53cml0ZVVpbnQ2NCgwKTsKLSAgICAgICAgcmV0dXJuOwotICAgICAg
fQotICAgICAgaWYgKHZhbC4kdGFnID09IHVuZGVmaW5lZCkgewotICAgICAgICB0aHJvdyBuZXcg
VHlwZUVycm9yKCJDYW5ub3QgZW5jb2RlIHVuaW9ucyB3aXRoIGFuIHVua25vd24gbWVtYmVyIHNl
dC4iKTsKLSAgICAgIH0KLSAgICAKLSAgICAgIGVuY29kZXIud3JpdGVVaW50MzIoMTYpOwotICAg
ICAgZW5jb2Rlci53cml0ZVVpbnQzMih2YWwuJHRhZyk7Ci0gICAgICBzd2l0Y2ggKHZhbC4kdGFn
KSB7Ci0gICAgICAgIGNhc2UgUnVuSW5wdXQuVGFncy5xdWVyeVZlcnNpb246Ci0gICAgICAgICAg
ZW5jb2Rlci5lbmNvZGVTdHJ1Y3RQb2ludGVyKFF1ZXJ5VmVyc2lvbiwgdmFsLnF1ZXJ5VmVyc2lv
bik7Ci0gICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgUnVuSW5wdXQuVGFncy5mbHVzaEZv
clRlc3Rpbmc6Ci0gICAgICAgICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3RQb2ludGVyKEZsdXNoRm9y
VGVzdGluZywgdmFsLmZsdXNoRm9yVGVzdGluZyk7Ci0gICAgICAgICAgYnJlYWs7Ci0gICAgICB9
Ci0gICAgICBlbmNvZGVyLmFsaWduKCk7Ci0gICAgfTsKLSAgCi0gIAotICAgIFJ1bklucHV0LmRl
Y29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICAgIHZhciBzaXplID0gZGVjb2Rlci5yZWFk
VWludDMyKCk7Ci0gICAgICBpZiAoc2l6ZSA9PSAwKSB7Ci0gICAgICAgIGRlY29kZXIucmVhZFVp
bnQzMigpOwotICAgICAgICBkZWNvZGVyLnJlYWRVaW50NjQoKTsKLSAgICAgICAgcmV0dXJuIG51
bGw7Ci0gICAgICB9Ci0gICAgCi0gICAgICB2YXIgcmVzdWx0ID0gbmV3IFJ1bklucHV0KCk7Ci0g
ICAgICB2YXIgdGFnID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgICBzd2l0Y2ggKHRhZykg
ewotICAgICAgICBjYXNlIFJ1bklucHV0LlRhZ3MucXVlcnlWZXJzaW9uOgotICAgICAgICAgIHJl
c3VsdC5xdWVyeVZlcnNpb24gPSBkZWNvZGVyLmRlY29kZVN0cnVjdFBvaW50ZXIoUXVlcnlWZXJz
aW9uKTsKLSAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSBSdW5JbnB1dC5UYWdzLmZsdXNo
Rm9yVGVzdGluZzoKLSAgICAgICAgICByZXN1bHQuZmx1c2hGb3JUZXN0aW5nID0gZGVjb2Rlci5k
ZWNvZGVTdHJ1Y3RQb2ludGVyKEZsdXNoRm9yVGVzdGluZyk7Ci0gICAgICAgICAgYnJlYWs7Ci0g
ICAgICB9Ci0gICAgICBkZWNvZGVyLmFsaWduKCk7Ci0gICAgCi0gICAgICByZXR1cm4gcmVzdWx0
OwotICAgIH07Ci0gIAotICAKLSAgICBSdW5JbnB1dC52YWxpZGF0ZSA9IGZ1bmN0aW9uKG1lc3Nh
Z2VWYWxpZGF0b3IsIG9mZnNldCkgewotICAgICAgdmFyIHNpemUgPSBtZXNzYWdlVmFsaWRhdG9y
LmRlY29kZVVuaW9uU2l6ZShvZmZzZXQpOwotICAgICAgaWYgKHNpemUgIT0gMTYpIHsKLSAgICAg
ICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuSU5WQUxJRF9VTklPTl9TSVpFOwot
ICAgICAgfQotICAgIAotICAgICAgdmFyIHRhZyA9IG1lc3NhZ2VWYWxpZGF0b3IuZGVjb2RlVW5p
b25UYWcob2Zmc2V0KTsKLSAgICAgIHZhciBkYXRhX29mZnNldCA9IG9mZnNldCArIDg7Ci0gICAg
ICB2YXIgZXJyOwotICAgICAgc3dpdGNoICh0YWcpIHsKLSAgICAgICAgY2FzZSBSdW5JbnB1dC5U
YWdzLnF1ZXJ5VmVyc2lvbjoKLSAgICAgICAgICAKLSAgICAKLSAgICAvLyB2YWxpZGF0ZSBSdW5J
bnB1dC5xdWVyeVZlcnNpb24KLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3Ry
dWN0UG9pbnRlcihkYXRhX29mZnNldCwgUXVlcnlWZXJzaW9uLCBmYWxzZSk7Ci0gICAgaWYgKGVy
ciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJy
OwotICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlIFJ1bklucHV0LlRhZ3MuZmx1c2hGb3JU
ZXN0aW5nOgotICAgICAgICAgIAotICAgIAotICAgIC8vIHZhbGlkYXRlIFJ1bklucHV0LmZsdXNo
Rm9yVGVzdGluZwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RQb2lu
dGVyKGRhdGFfb2Zmc2V0LCBGbHVzaEZvclRlc3RpbmcsIGZhbHNlKTsKLSAgICBpZiAoZXJyICE9
PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0g
ICAgICAgICAgYnJlYWs7Ci0gICAgICB9Ci0gICAgCi0gICAgICByZXR1cm4gdmFsaWRhdG9yLnZh
bGlkYXRpb25FcnJvci5OT05FOwotICAgIH07Ci0gIAotICBSdW5JbnB1dC5lbmNvZGVkU2l6ZSA9
IDE2OwotCi0gIGZ1bmN0aW9uIFJ1bk91dHB1dCh2YWx1ZSkgewotICAgIHRoaXMuaW5pdERlZmF1
bHRfKCk7Ci0gICAgdGhpcy5pbml0VmFsdWVfKHZhbHVlKTsKLSAgfQotICAKLSAgCi0gIFJ1bk91
dHB1dC5UYWdzID0gewotICAgIHF1ZXJ5VmVyc2lvblJlc3VsdDogMCwKLSAgfTsKLSAgCi0gIFJ1
bk91dHB1dC5wcm90b3R5cGUuaW5pdERlZmF1bHRfID0gZnVuY3Rpb24oKSB7Ci0gICAgdGhpcy4k
ZGF0YSA9IG51bGw7Ci0gICAgdGhpcy4kdGFnID0gdW5kZWZpbmVkOwotICB9Ci0gIAotICBSdW5P
dXRwdXQucHJvdG90eXBlLmluaXRWYWx1ZV8gPSBmdW5jdGlvbih2YWx1ZSkgewotICAgIGlmICh2
YWx1ZSA9PSB1bmRlZmluZWQpIHsKLSAgICAgIHJldHVybjsKLSAgICB9Ci0gIAotICAgIHZhciBr
ZXlzID0gT2JqZWN0LmtleXModmFsdWUpOwotICAgIGlmIChrZXlzLmxlbmd0aCA9PSAwKSB7Ci0g
ICAgICByZXR1cm47Ci0gICAgfQotICAKLSAgICBpZiAoa2V5cy5sZW5ndGggPiAxKSB7Ci0gICAg
ICB0aHJvdyBuZXcgVHlwZUVycm9yKCJZb3UgbWF5IHNldCBvbmx5IG9uZSBtZW1iZXIgb24gYSB1
bmlvbi4iKTsKLSAgICB9Ci0gIAotICAgIHZhciBmaWVsZHMgPSBbCi0gICAgICAgICJxdWVyeVZl
cnNpb25SZXN1bHQiLAotICAgIF07Ci0gIAotICAgIGlmIChmaWVsZHMuaW5kZXhPZihrZXlzWzBd
KSA8IDApIHsKLSAgICAgIHRocm93IG5ldyBSZWZlcmVuY2VFcnJvcihrZXlzWzBdICsgIiBpcyBu
b3QgYSBSdW5PdXRwdXQgbWVtYmVyLiIpOwotICAKLSAgICB9Ci0gIAotICAgIHRoaXNba2V5c1sw
XV0gPSB2YWx1ZVtrZXlzWzBdXTsKLSAgfQotICBPYmplY3QuZGVmaW5lUHJvcGVydHkoUnVuT3V0
cHV0LnByb3RvdHlwZSwgInF1ZXJ5VmVyc2lvblJlc3VsdCIsIHsKLSAgICBnZXQ6IGZ1bmN0aW9u
KCkgewotICAgICAgaWYgKHRoaXMuJHRhZyAhPSBSdW5PdXRwdXQuVGFncy5xdWVyeVZlcnNpb25S
ZXN1bHQpIHsKLSAgICAgICAgdGhyb3cgbmV3IFJlZmVyZW5jZUVycm9yKAotICAgICAgICAgICAg
IlJ1bk91dHB1dC5xdWVyeVZlcnNpb25SZXN1bHQgaXMgbm90IGN1cnJlbnRseSBzZXQuIik7Ci0g
ICAgICB9Ci0gICAgICByZXR1cm4gdGhpcy4kZGF0YTsKLSAgICB9LAotICAKLSAgICBzZXQ6IGZ1
bmN0aW9uKHZhbHVlKSB7Ci0gICAgICB0aGlzLiR0YWcgPSBSdW5PdXRwdXQuVGFncy5xdWVyeVZl
cnNpb25SZXN1bHQ7Ci0gICAgICB0aGlzLiRkYXRhID0gdmFsdWU7Ci0gICAgfQotICB9KTsKLSAg
Ci0gIAotICAgIFJ1bk91dHB1dC5lbmNvZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2YWwpIHsKLSAg
ICAgIGlmICh2YWwgPT0gbnVsbCkgewotICAgICAgICBlbmNvZGVyLndyaXRlVWludDY0KDApOwot
ICAgICAgICBlbmNvZGVyLndyaXRlVWludDY0KDApOwotICAgICAgICByZXR1cm47Ci0gICAgICB9
Ci0gICAgICBpZiAodmFsLiR0YWcgPT0gdW5kZWZpbmVkKSB7Ci0gICAgICAgIHRocm93IG5ldyBU
eXBlRXJyb3IoIkNhbm5vdCBlbmNvZGUgdW5pb25zIHdpdGggYW4gdW5rbm93biBtZW1iZXIgc2V0
LiIpOwotICAgICAgfQotICAgIAotICAgICAgZW5jb2Rlci53cml0ZVVpbnQzMigxNik7Ci0gICAg
ICBlbmNvZGVyLndyaXRlVWludDMyKHZhbC4kdGFnKTsKLSAgICAgIHN3aXRjaCAodmFsLiR0YWcp
IHsKLSAgICAgICAgY2FzZSBSdW5PdXRwdXQuVGFncy5xdWVyeVZlcnNpb25SZXN1bHQ6Ci0gICAg
ICAgICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3RQb2ludGVyKFF1ZXJ5VmVyc2lvblJlc3VsdCwgdmFs
LnF1ZXJ5VmVyc2lvblJlc3VsdCk7Ci0gICAgICAgICAgYnJlYWs7Ci0gICAgICB9Ci0gICAgICBl
bmNvZGVyLmFsaWduKCk7Ci0gICAgfTsKLSAgCi0gIAotICAgIFJ1bk91dHB1dC5kZWNvZGUgPSBm
dW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgICB2YXIgc2l6ZSA9IGRlY29kZXIucmVhZFVpbnQzMigp
OwotICAgICAgaWYgKHNpemUgPT0gMCkgewotICAgICAgICBkZWNvZGVyLnJlYWRVaW50MzIoKTsK
LSAgICAgICAgZGVjb2Rlci5yZWFkVWludDY0KCk7Ci0gICAgICAgIHJldHVybiBudWxsOwotICAg
ICAgfQotICAgIAotICAgICAgdmFyIHJlc3VsdCA9IG5ldyBSdW5PdXRwdXQoKTsKLSAgICAgIHZh
ciB0YWcgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICAgIHN3aXRjaCAodGFnKSB7Ci0gICAg
ICAgIGNhc2UgUnVuT3V0cHV0LlRhZ3MucXVlcnlWZXJzaW9uUmVzdWx0OgotICAgICAgICAgIHJl
c3VsdC5xdWVyeVZlcnNpb25SZXN1bHQgPSBkZWNvZGVyLmRlY29kZVN0cnVjdFBvaW50ZXIoUXVl
cnlWZXJzaW9uUmVzdWx0KTsKLSAgICAgICAgICBicmVhazsKLSAgICAgIH0KLSAgICAgIGRlY29k
ZXIuYWxpZ24oKTsKLSAgICAKLSAgICAgIHJldHVybiByZXN1bHQ7Ci0gICAgfTsKLSAgCi0gIAot
ICAgIFJ1bk91dHB1dC52YWxpZGF0ZSA9IGZ1bmN0aW9uKG1lc3NhZ2VWYWxpZGF0b3IsIG9mZnNl
dCkgewotICAgICAgdmFyIHNpemUgPSBtZXNzYWdlVmFsaWRhdG9yLmRlY29kZVVuaW9uU2l6ZShv
ZmZzZXQpOwotICAgICAgaWYgKHNpemUgIT0gMTYpIHsKLSAgICAgICAgcmV0dXJuIHZhbGlkYXRv
ci52YWxpZGF0aW9uRXJyb3IuSU5WQUxJRF9VTklPTl9TSVpFOwotICAgICAgfQotICAgIAotICAg
ICAgdmFyIHRhZyA9IG1lc3NhZ2VWYWxpZGF0b3IuZGVjb2RlVW5pb25UYWcob2Zmc2V0KTsKLSAg
ICAgIHZhciBkYXRhX29mZnNldCA9IG9mZnNldCArIDg7Ci0gICAgICB2YXIgZXJyOwotICAgICAg
c3dpdGNoICh0YWcpIHsKLSAgICAgICAgY2FzZSBSdW5PdXRwdXQuVGFncy5xdWVyeVZlcnNpb25S
ZXN1bHQ6Ci0gICAgICAgICAgCi0gICAgCi0gICAgLy8gdmFsaWRhdGUgUnVuT3V0cHV0LnF1ZXJ5
VmVyc2lvblJlc3VsdAotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RQ
b2ludGVyKGRhdGFfb2Zmc2V0LCBRdWVyeVZlcnNpb25SZXN1bHQsIGZhbHNlKTsKLSAgICBpZiAo
ZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBl
cnI7Ci0gICAgICAgICAgYnJlYWs7Ci0gICAgICB9Ci0gICAgCi0gICAgICByZXR1cm4gdmFsaWRh
dG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwotICAgIH07Ci0gIAotICBSdW5PdXRwdXQuZW5jb2Rl
ZFNpemUgPSAxNjsKLQotICBmdW5jdGlvbiBSdW5PckNsb3NlUGlwZUlucHV0KHZhbHVlKSB7Ci0g
ICAgdGhpcy5pbml0RGVmYXVsdF8oKTsKLSAgICB0aGlzLmluaXRWYWx1ZV8odmFsdWUpOwotICB9
Ci0gIAotICAKLSAgUnVuT3JDbG9zZVBpcGVJbnB1dC5UYWdzID0gewotICAgIHJlcXVpcmVWZXJz
aW9uOiAwLAotICB9OwotICAKLSAgUnVuT3JDbG9zZVBpcGVJbnB1dC5wcm90b3R5cGUuaW5pdERl
ZmF1bHRfID0gZnVuY3Rpb24oKSB7Ci0gICAgdGhpcy4kZGF0YSA9IG51bGw7Ci0gICAgdGhpcy4k
dGFnID0gdW5kZWZpbmVkOwotICB9Ci0gIAotICBSdW5PckNsb3NlUGlwZUlucHV0LnByb3RvdHlw
ZS5pbml0VmFsdWVfID0gZnVuY3Rpb24odmFsdWUpIHsKLSAgICBpZiAodmFsdWUgPT0gdW5kZWZp
bmVkKSB7Ci0gICAgICByZXR1cm47Ci0gICAgfQotICAKLSAgICB2YXIga2V5cyA9IE9iamVjdC5r
ZXlzKHZhbHVlKTsKLSAgICBpZiAoa2V5cy5sZW5ndGggPT0gMCkgewotICAgICAgcmV0dXJuOwot
ICAgIH0KLSAgCi0gICAgaWYgKGtleXMubGVuZ3RoID4gMSkgewotICAgICAgdGhyb3cgbmV3IFR5
cGVFcnJvcigiWW91IG1heSBzZXQgb25seSBvbmUgbWVtYmVyIG9uIGEgdW5pb24uIik7Ci0gICAg
fQotICAKLSAgICB2YXIgZmllbGRzID0gWwotICAgICAgICAicmVxdWlyZVZlcnNpb24iLAotICAg
IF07Ci0gIAotICAgIGlmIChmaWVsZHMuaW5kZXhPZihrZXlzWzBdKSA8IDApIHsKLSAgICAgIHRo
cm93IG5ldyBSZWZlcmVuY2VFcnJvcihrZXlzWzBdICsgIiBpcyBub3QgYSBSdW5PckNsb3NlUGlw
ZUlucHV0IG1lbWJlci4iKTsKLSAgCi0gICAgfQotICAKLSAgICB0aGlzW2tleXNbMF1dID0gdmFs
dWVba2V5c1swXV07Ci0gIH0KLSAgT2JqZWN0LmRlZmluZVByb3BlcnR5KFJ1bk9yQ2xvc2VQaXBl
SW5wdXQucHJvdG90eXBlLCAicmVxdWlyZVZlcnNpb24iLCB7Ci0gICAgZ2V0OiBmdW5jdGlvbigp
IHsKLSAgICAgIGlmICh0aGlzLiR0YWcgIT0gUnVuT3JDbG9zZVBpcGVJbnB1dC5UYWdzLnJlcXVp
cmVWZXJzaW9uKSB7Ci0gICAgICAgIHRocm93IG5ldyBSZWZlcmVuY2VFcnJvcigKLSAgICAgICAg
ICAgICJSdW5PckNsb3NlUGlwZUlucHV0LnJlcXVpcmVWZXJzaW9uIGlzIG5vdCBjdXJyZW50bHkg
c2V0LiIpOwotICAgICAgfQotICAgICAgcmV0dXJuIHRoaXMuJGRhdGE7Ci0gICAgfSwKLSAgCi0g
ICAgc2V0OiBmdW5jdGlvbih2YWx1ZSkgewotICAgICAgdGhpcy4kdGFnID0gUnVuT3JDbG9zZVBp
cGVJbnB1dC5UYWdzLnJlcXVpcmVWZXJzaW9uOwotICAgICAgdGhpcy4kZGF0YSA9IHZhbHVlOwot
ICAgIH0KLSAgfSk7Ci0gIAotICAKLSAgICBSdW5PckNsb3NlUGlwZUlucHV0LmVuY29kZSA9IGZ1
bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgICAgaWYgKHZhbCA9PSBudWxsKSB7Ci0gICAgICAg
IGVuY29kZXIud3JpdGVVaW50NjQoMCk7Ci0gICAgICAgIGVuY29kZXIud3JpdGVVaW50NjQoMCk7
Ci0gICAgICAgIHJldHVybjsKLSAgICAgIH0KLSAgICAgIGlmICh2YWwuJHRhZyA9PSB1bmRlZmlu
ZWQpIHsKLSAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGVuY29kZSB1bmlvbnMg
d2l0aCBhbiB1bmtub3duIG1lbWJlciBzZXQuIik7Ci0gICAgICB9Ci0gICAgCi0gICAgICBlbmNv
ZGVyLndyaXRlVWludDMyKDE2KTsKLSAgICAgIGVuY29kZXIud3JpdGVVaW50MzIodmFsLiR0YWcp
OwotICAgICAgc3dpdGNoICh2YWwuJHRhZykgewotICAgICAgICBjYXNlIFJ1bk9yQ2xvc2VQaXBl
SW5wdXQuVGFncy5yZXF1aXJlVmVyc2lvbjoKLSAgICAgICAgICBlbmNvZGVyLmVuY29kZVN0cnVj
dFBvaW50ZXIoUmVxdWlyZVZlcnNpb24sIHZhbC5yZXF1aXJlVmVyc2lvbik7Ci0gICAgICAgICAg
YnJlYWs7Ci0gICAgICB9Ci0gICAgICBlbmNvZGVyLmFsaWduKCk7Ci0gICAgfTsKLSAgCi0gIAot
ICAgIFJ1bk9yQ2xvc2VQaXBlSW5wdXQuZGVjb2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAg
ICAgdmFyIHNpemUgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICAgIGlmIChzaXplID09IDAp
IHsKLSAgICAgICAgZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgICAgIGRlY29kZXIucmVhZFVp
bnQ2NCgpOwotICAgICAgICByZXR1cm4gbnVsbDsKLSAgICAgIH0KLSAgICAKLSAgICAgIHZhciBy
ZXN1bHQgPSBuZXcgUnVuT3JDbG9zZVBpcGVJbnB1dCgpOwotICAgICAgdmFyIHRhZyA9IGRlY29k
ZXIucmVhZFVpbnQzMigpOwotICAgICAgc3dpdGNoICh0YWcpIHsKLSAgICAgICAgY2FzZSBSdW5P
ckNsb3NlUGlwZUlucHV0LlRhZ3MucmVxdWlyZVZlcnNpb246Ci0gICAgICAgICAgcmVzdWx0LnJl
cXVpcmVWZXJzaW9uID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3RQb2ludGVyKFJlcXVpcmVWZXJzaW9u
KTsKLSAgICAgICAgICBicmVhazsKLSAgICAgIH0KLSAgICAgIGRlY29kZXIuYWxpZ24oKTsKLSAg
ICAKLSAgICAgIHJldHVybiByZXN1bHQ7Ci0gICAgfTsKLSAgCi0gIAotICAgIFJ1bk9yQ2xvc2VQ
aXBlSW5wdXQudmFsaWRhdGUgPSBmdW5jdGlvbihtZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsK
LSAgICAgIHZhciBzaXplID0gbWVzc2FnZVZhbGlkYXRvci5kZWNvZGVVbmlvblNpemUob2Zmc2V0
KTsKLSAgICAgIGlmIChzaXplICE9IDE2KSB7Ci0gICAgICAgIHJldHVybiB2YWxpZGF0b3IudmFs
aWRhdGlvbkVycm9yLklOVkFMSURfVU5JT05fU0laRTsKLSAgICAgIH0KLSAgICAKLSAgICAgIHZh
ciB0YWcgPSBtZXNzYWdlVmFsaWRhdG9yLmRlY29kZVVuaW9uVGFnKG9mZnNldCk7Ci0gICAgICB2
YXIgZGF0YV9vZmZzZXQgPSBvZmZzZXQgKyA4OwotICAgICAgdmFyIGVycjsKLSAgICAgIHN3aXRj
aCAodGFnKSB7Ci0gICAgICAgIGNhc2UgUnVuT3JDbG9zZVBpcGVJbnB1dC5UYWdzLnJlcXVpcmVW
ZXJzaW9uOgotICAgICAgICAgIAotICAgIAotICAgIC8vIHZhbGlkYXRlIFJ1bk9yQ2xvc2VQaXBl
SW5wdXQucmVxdWlyZVZlcnNpb24KLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRl
U3RydWN0UG9pbnRlcihkYXRhX29mZnNldCwgUmVxdWlyZVZlcnNpb24sIGZhbHNlKTsKLSAgICBp
ZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVy
biBlcnI7Ci0gICAgICAgICAgYnJlYWs7Ci0gICAgICB9Ci0gICAgCi0gICAgICByZXR1cm4gdmFs
aWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwotICAgIH07Ci0gIAotICBSdW5PckNsb3NlUGlw
ZUlucHV0LmVuY29kZWRTaXplID0gMTY7Ci0gIGV4cG9ydHMua1J1bk1lc3NhZ2VJZCA9IGtSdW5N
ZXNzYWdlSWQ7Ci0gIGV4cG9ydHMua1J1bk9yQ2xvc2VQaXBlTWVzc2FnZUlkID0ga1J1bk9yQ2xv
c2VQaXBlTWVzc2FnZUlkOwotICBleHBvcnRzLlJ1bk1lc3NhZ2VQYXJhbXMgPSBSdW5NZXNzYWdl
UGFyYW1zOwotICBleHBvcnRzLlJ1blJlc3BvbnNlTWVzc2FnZVBhcmFtcyA9IFJ1blJlc3BvbnNl
TWVzc2FnZVBhcmFtczsKLSAgZXhwb3J0cy5RdWVyeVZlcnNpb24gPSBRdWVyeVZlcnNpb247Ci0g
IGV4cG9ydHMuUXVlcnlWZXJzaW9uUmVzdWx0ID0gUXVlcnlWZXJzaW9uUmVzdWx0OwotICBleHBv
cnRzLkZsdXNoRm9yVGVzdGluZyA9IEZsdXNoRm9yVGVzdGluZzsKLSAgZXhwb3J0cy5SdW5PckNs
b3NlUGlwZU1lc3NhZ2VQYXJhbXMgPSBSdW5PckNsb3NlUGlwZU1lc3NhZ2VQYXJhbXM7Ci0gIGV4
cG9ydHMuUmVxdWlyZVZlcnNpb24gPSBSZXF1aXJlVmVyc2lvbjsKLSAgZXhwb3J0cy5SdW5JbnB1
dCA9IFJ1bklucHV0OwotICBleHBvcnRzLlJ1bk91dHB1dCA9IFJ1bk91dHB1dDsKLSAgZXhwb3J0
cy5SdW5PckNsb3NlUGlwZUlucHV0ID0gUnVuT3JDbG9zZVBpcGVJbnB1dDsKLX0pKCk7Ly8gQ29w
eXJpZ2h0IDIwMTQgVGhlIENocm9taXVtIEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0v
LyBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNl
bnNlIHRoYXQgY2FuIGJlCi0vLyBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgotCi0KLSd1c2Ug
c3RyaWN0JzsKLQotKGZ1bmN0aW9uKCkgewotICB2YXIgbW9qb21JZCA9ICdtb2pvL3B1YmxpYy9p
bnRlcmZhY2VzL2JpbmRpbmdzL25ld19iaW5kaW5ncy9waXBlX2NvbnRyb2xfbWVzc2FnZXMubW9q
b20nOwotICBpZiAobW9qby5pbnRlcm5hbC5pc01vam9tTG9hZGVkKG1vam9tSWQpKSB7Ci0gICAg
Y29uc29sZS53YXJuKCdUaGUgZm9sbG93aW5nIG1vam9tIGlzIGxvYWRlZCBtdWx0aXBsZSB0aW1l
czogJyArIG1vam9tSWQpOwotICAgIHJldHVybjsKLSAgfQotICBtb2pvLmludGVybmFsLm1hcmtN
b2pvbUxvYWRlZChtb2pvbUlkKTsKLQotICAvLyBUT0RPKHl6c2hlbik6IERlZmluZSB0aGVzZSBh
bGlhc2VzIHRvIG1pbmltaXplIHRoZSBkaWZmZXJlbmNlcyBiZXR3ZWVuIHRoZQotICAvLyBvbGQv
bmV3IG1vZGVzLiBSZW1vdmUgdGhlbSB3aGVuIHRoZSBvbGQgbW9kZSBnb2VzIGF3YXkuCi0gIHZh
ciBiaW5kaW5ncyA9IG1vam87Ci0gIHZhciBhc3NvY2lhdGVkQmluZGluZ3MgPSBtb2pvOwotICB2
YXIgY29kZWMgPSBtb2pvLmludGVybmFsOwotICB2YXIgdmFsaWRhdG9yID0gbW9qby5pbnRlcm5h
bDsKLQotICB2YXIgZXhwb3J0cyA9IG1vam8uaW50ZXJuYWwuZXhwb3NlTmFtZXNwYWNlKCdtb2pv
LnBpcGVDb250cm9sMicpOwotCi0KLSAgdmFyIGtSdW5PckNsb3NlUGlwZU1lc3NhZ2VJZCA9IDB4
RkZGRkZGRkU7Ci0KLSAgZnVuY3Rpb24gUnVuT3JDbG9zZVBpcGVNZXNzYWdlUGFyYW1zKHZhbHVl
cykgewotICAgIHRoaXMuaW5pdERlZmF1bHRzXygpOwotICAgIHRoaXMuaW5pdEZpZWxkc18odmFs
dWVzKTsKLSAgfQotCi0KLSAgUnVuT3JDbG9zZVBpcGVNZXNzYWdlUGFyYW1zLnByb3RvdHlwZS5p
bml0RGVmYXVsdHNfID0gZnVuY3Rpb24oKSB7Ci0gICAgdGhpcy5pbnB1dCA9IG51bGw7Ci0gIH07
Ci0gIFJ1bk9yQ2xvc2VQaXBlTWVzc2FnZVBhcmFtcy5wcm90b3R5cGUuaW5pdEZpZWxkc18gPSBm
dW5jdGlvbihmaWVsZHMpIHsKLSAgICBmb3IodmFyIGZpZWxkIGluIGZpZWxkcykgewotICAgICAg
ICBpZiAodGhpcy5oYXNPd25Qcm9wZXJ0eShmaWVsZCkpCi0gICAgICAgICAgdGhpc1tmaWVsZF0g
PSBmaWVsZHNbZmllbGRdOwotICAgIH0KLSAgfTsKLQotICBSdW5PckNsb3NlUGlwZU1lc3NhZ2VQ
YXJhbXMudmFsaWRhdGUgPSBmdW5jdGlvbihtZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsKLSAg
ICB2YXIgZXJyOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RIZWFk
ZXIob2Zmc2V0LCBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFs
aWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAg
dmFyIGtWZXJzaW9uU2l6ZXMgPSBbCi0gICAgICB7dmVyc2lvbjogMCwgbnVtQnl0ZXM6IDI0fQot
ICAgIF07Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFZlcnNpb24o
b2Zmc2V0LCBrVmVyc2lvblNpemVzKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRh
dGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotICAgIC8vIHZhbGlkYXRl
IFJ1bk9yQ2xvc2VQaXBlTWVzc2FnZVBhcmFtcy5pbnB1dAotICAgIGVyciA9IG1lc3NhZ2VWYWxp
ZGF0b3IudmFsaWRhdGVVbmlvbihvZmZzZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDAs
IFJ1bk9yQ2xvc2VQaXBlSW5wdXQsIGZhbHNlKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3Iu
dmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICByZXR1cm4g
dmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIFJ1bk9yQ2xvc2VQaXBl
TWVzc2FnZVBhcmFtcy5lbmNvZGVkU2l6ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgMTY7
Ci0KLSAgUnVuT3JDbG9zZVBpcGVNZXNzYWdlUGFyYW1zLmRlY29kZSA9IGZ1bmN0aW9uKGRlY29k
ZXIpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIHZhciB2YWwgPSBuZXcgUnVuT3JDbG9zZVBpcGVN
ZXNzYWdlUGFyYW1zKCk7Ci0gICAgdmFyIG51bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50
MzIoKTsKLSAgICB2YXIgdmVyc2lvbiA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhbC5p
bnB1dCA9IGRlY29kZXIuZGVjb2RlU3RydWN0KFJ1bk9yQ2xvc2VQaXBlSW5wdXQpOwotICAgIHJl
dHVybiB2YWw7Ci0gIH07Ci0KLSAgUnVuT3JDbG9zZVBpcGVNZXNzYWdlUGFyYW1zLmVuY29kZSA9
IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgZW5jb2Rlci53
cml0ZVVpbnQzMihSdW5PckNsb3NlUGlwZU1lc3NhZ2VQYXJhbXMuZW5jb2RlZFNpemUpOwotICAg
IGVuY29kZXIud3JpdGVVaW50MzIoMCk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3QoUnVuT3JD
bG9zZVBpcGVJbnB1dCwgdmFsLmlucHV0KTsKLSAgfTsKLSAgZnVuY3Rpb24gRGlzY29ubmVjdFJl
YXNvbih2YWx1ZXMpIHsKLSAgICB0aGlzLmluaXREZWZhdWx0c18oKTsKLSAgICB0aGlzLmluaXRG
aWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0gIERpc2Nvbm5lY3RSZWFzb24ucHJvdG90eXBlLmlu
aXREZWZhdWx0c18gPSBmdW5jdGlvbigpIHsKLSAgICB0aGlzLmN1c3RvbVJlYXNvbiA9IDA7Ci0g
ICAgdGhpcy5kZXNjcmlwdGlvbiA9IG51bGw7Ci0gIH07Ci0gIERpc2Nvbm5lY3RSZWFzb24ucHJv
dG90eXBlLmluaXRGaWVsZHNfID0gZnVuY3Rpb24oZmllbGRzKSB7Ci0gICAgZm9yKHZhciBmaWVs
ZCBpbiBmaWVsZHMpIHsKLSAgICAgICAgaWYgKHRoaXMuaGFzT3duUHJvcGVydHkoZmllbGQpKQot
ICAgICAgICAgIHRoaXNbZmllbGRdID0gZmllbGRzW2ZpZWxkXTsKLSAgICB9Ci0gIH07Ci0KLSAg
RGlzY29ubmVjdFJlYXNvbi52YWxpZGF0ZSA9IGZ1bmN0aW9uKG1lc3NhZ2VWYWxpZGF0b3IsIG9m
ZnNldCkgewotICAgIHZhciBlcnI7Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0
ZVN0cnVjdEhlYWRlcihvZmZzZXQsIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplKTsKLSAgICBpZiAo
ZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBl
cnI7Ci0KLSAgICB2YXIga1ZlcnNpb25TaXplcyA9IFsKLSAgICAgIHt2ZXJzaW9uOiAwLCBudW1C
eXRlczogMjR9Ci0gICAgXTsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3Ry
dWN0VmVyc2lvbihvZmZzZXQsIGtWZXJzaW9uU2l6ZXMpOwotICAgIGlmIChlcnIgIT09IHZhbGlk
YXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0KLSAg
ICAKLSAgICAvLyB2YWxpZGF0ZSBEaXNjb25uZWN0UmVhc29uLmRlc2NyaXB0aW9uCi0gICAgZXJy
ID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cmluZ1BvaW50ZXIob2Zmc2V0ICsgY29kZWMu
a1N0cnVjdEhlYWRlclNpemUgKyA4LCBmYWxzZSkKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3Iu
dmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICByZXR1cm4g
dmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIERpc2Nvbm5lY3RSZWFz
b24uZW5jb2RlZFNpemUgPSBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDE2OwotCi0gIERpc2Nv
bm5lY3RSZWFzb24uZGVjb2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHZhciBwYWNrZWQ7
Ci0gICAgdmFyIHZhbCA9IG5ldyBEaXNjb25uZWN0UmVhc29uKCk7Ci0gICAgdmFyIG51bWJlck9m
Qnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YXIgdmVyc2lvbiA9IGRlY29kZXIu
cmVhZFVpbnQzMigpOwotICAgIHZhbC5jdXN0b21SZWFzb24gPSBkZWNvZGVyLmRlY29kZVN0cnVj
dChjb2RlYy5VaW50MzIpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAo
MSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICB2YWwu
ZGVzY3JpcHRpb24gPSBkZWNvZGVyLmRlY29kZVN0cnVjdChjb2RlYy5TdHJpbmcpOwotICAgIHJl
dHVybiB2YWw7Ci0gIH07Ci0KLSAgRGlzY29ubmVjdFJlYXNvbi5lbmNvZGUgPSBmdW5jdGlvbihl
bmNvZGVyLCB2YWwpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIo
RGlzY29ubmVjdFJlYXNvbi5lbmNvZGVkU2l6ZSk7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMigw
KTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdChjb2RlYy5VaW50MzIsIHZhbC5jdXN0b21SZWFz
b24pOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5j
b2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0
cnVjdChjb2RlYy5TdHJpbmcsIHZhbC5kZXNjcmlwdGlvbik7Ci0gIH07Ci0gIGZ1bmN0aW9uIFBl
ZXJBc3NvY2lhdGVkRW5kcG9pbnRDbG9zZWRFdmVudCh2YWx1ZXMpIHsKLSAgICB0aGlzLmluaXRE
ZWZhdWx0c18oKTsKLSAgICB0aGlzLmluaXRGaWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0gIFBl
ZXJBc3NvY2lhdGVkRW5kcG9pbnRDbG9zZWRFdmVudC5wcm90b3R5cGUuaW5pdERlZmF1bHRzXyA9
IGZ1bmN0aW9uKCkgewotICAgIHRoaXMuaWQgPSAwOwotICAgIHRoaXMuZGlzY29ubmVjdFJlYXNv
biA9IG51bGw7Ci0gIH07Ci0gIFBlZXJBc3NvY2lhdGVkRW5kcG9pbnRDbG9zZWRFdmVudC5wcm90
b3R5cGUuaW5pdEZpZWxkc18gPSBmdW5jdGlvbihmaWVsZHMpIHsKLSAgICBmb3IodmFyIGZpZWxk
IGluIGZpZWxkcykgewotICAgICAgICBpZiAodGhpcy5oYXNPd25Qcm9wZXJ0eShmaWVsZCkpCi0g
ICAgICAgICAgdGhpc1tmaWVsZF0gPSBmaWVsZHNbZmllbGRdOwotICAgIH0KLSAgfTsKLQotICBQ
ZWVyQXNzb2NpYXRlZEVuZHBvaW50Q2xvc2VkRXZlbnQudmFsaWRhdGUgPSBmdW5jdGlvbihtZXNz
YWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsKLSAgICB2YXIgZXJyOwotICAgIGVyciA9IG1lc3NhZ2VW
YWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RIZWFkZXIob2Zmc2V0LCBjb2RlYy5rU3RydWN0SGVhZGVy
U2l6ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQot
ICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgdmFyIGtWZXJzaW9uU2l6ZXMgPSBbCi0gICAgICB7
dmVyc2lvbjogMCwgbnVtQnl0ZXM6IDI0fQotICAgIF07Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlk
YXRvci52YWxpZGF0ZVN0cnVjdFZlcnNpb24ob2Zmc2V0LCBrVmVyc2lvblNpemVzKTsKLSAgICBp
ZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVy
biBlcnI7Ci0KLQotCi0gICAgCi0gICAgLy8gdmFsaWRhdGUgUGVlckFzc29jaWF0ZWRFbmRwb2lu
dENsb3NlZEV2ZW50LmRpc2Nvbm5lY3RSZWFzb24KLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9y
LnZhbGlkYXRlU3RydWN0UG9pbnRlcihvZmZzZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSAr
IDgsIERpc2Nvbm5lY3RSZWFzb24sIHRydWUpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52
YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHJldHVybiB2
YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gIH07Ci0KLSAgUGVlckFzc29jaWF0ZWRF
bmRwb2ludENsb3NlZEV2ZW50LmVuY29kZWRTaXplID0gY29kZWMua1N0cnVjdEhlYWRlclNpemUg
KyAxNjsKLQotICBQZWVyQXNzb2NpYXRlZEVuZHBvaW50Q2xvc2VkRXZlbnQuZGVjb2RlID0gZnVu
Y3Rpb24oZGVjb2RlcikgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgdmFyIHZhbCA9IG5ldyBQZWVy
QXNzb2NpYXRlZEVuZHBvaW50Q2xvc2VkRXZlbnQoKTsKLSAgICB2YXIgbnVtYmVyT2ZCeXRlcyA9
IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhciB2ZXJzaW9uID0gZGVjb2Rlci5yZWFkVWlu
dDMyKCk7Ci0gICAgdmFsLmlkID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoY29kZWMuVWludDMyKTsK
LSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIu
c2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgdmFsLmRpc2Nvbm5lY3RSZWFzb24g
PSBkZWNvZGVyLmRlY29kZVN0cnVjdFBvaW50ZXIoRGlzY29ubmVjdFJlYXNvbik7Ci0gICAgcmV0
dXJuIHZhbDsKLSAgfTsKLQotICBQZWVyQXNzb2NpYXRlZEVuZHBvaW50Q2xvc2VkRXZlbnQuZW5j
b2RlID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICBlbmNv
ZGVyLndyaXRlVWludDMyKFBlZXJBc3NvY2lhdGVkRW5kcG9pbnRDbG9zZWRFdmVudC5lbmNvZGVk
U2l6ZSk7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMigwKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0
cnVjdChjb2RlYy5VaW50MzIsIHZhbC5pZCk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVu
Y29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEp
OwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0UG9pbnRlcihEaXNjb25uZWN0UmVhc29uLCB2YWwu
ZGlzY29ubmVjdFJlYXNvbik7Ci0gIH07Ci0KLSAgZnVuY3Rpb24gUnVuT3JDbG9zZVBpcGVJbnB1
dCh2YWx1ZSkgewotICAgIHRoaXMuaW5pdERlZmF1bHRfKCk7Ci0gICAgdGhpcy5pbml0VmFsdWVf
KHZhbHVlKTsKLSAgfQotICAKLSAgCi0gIFJ1bk9yQ2xvc2VQaXBlSW5wdXQuVGFncyA9IHsKLSAg
ICBwZWVyQXNzb2NpYXRlZEVuZHBvaW50Q2xvc2VkRXZlbnQ6IDAsCi0gIH07Ci0gIAotICBSdW5P
ckNsb3NlUGlwZUlucHV0LnByb3RvdHlwZS5pbml0RGVmYXVsdF8gPSBmdW5jdGlvbigpIHsKLSAg
ICB0aGlzLiRkYXRhID0gbnVsbDsKLSAgICB0aGlzLiR0YWcgPSB1bmRlZmluZWQ7Ci0gIH0KLSAg
Ci0gIFJ1bk9yQ2xvc2VQaXBlSW5wdXQucHJvdG90eXBlLmluaXRWYWx1ZV8gPSBmdW5jdGlvbih2
YWx1ZSkgewotICAgIGlmICh2YWx1ZSA9PSB1bmRlZmluZWQpIHsKLSAgICAgIHJldHVybjsKLSAg
ICB9Ci0gIAotICAgIHZhciBrZXlzID0gT2JqZWN0LmtleXModmFsdWUpOwotICAgIGlmIChrZXlz
Lmxlbmd0aCA9PSAwKSB7Ci0gICAgICByZXR1cm47Ci0gICAgfQotICAKLSAgICBpZiAoa2V5cy5s
ZW5ndGggPiAxKSB7Ci0gICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCJZb3UgbWF5IHNldCBvbmx5
IG9uZSBtZW1iZXIgb24gYSB1bmlvbi4iKTsKLSAgICB9Ci0gIAotICAgIHZhciBmaWVsZHMgPSBb
Ci0gICAgICAgICJwZWVyQXNzb2NpYXRlZEVuZHBvaW50Q2xvc2VkRXZlbnQiLAotICAgIF07Ci0g
IAotICAgIGlmIChmaWVsZHMuaW5kZXhPZihrZXlzWzBdKSA8IDApIHsKLSAgICAgIHRocm93IG5l
dyBSZWZlcmVuY2VFcnJvcihrZXlzWzBdICsgIiBpcyBub3QgYSBSdW5PckNsb3NlUGlwZUlucHV0
IG1lbWJlci4iKTsKLSAgCi0gICAgfQotICAKLSAgICB0aGlzW2tleXNbMF1dID0gdmFsdWVba2V5
c1swXV07Ci0gIH0KLSAgT2JqZWN0LmRlZmluZVByb3BlcnR5KFJ1bk9yQ2xvc2VQaXBlSW5wdXQu
cHJvdG90eXBlLCAicGVlckFzc29jaWF0ZWRFbmRwb2ludENsb3NlZEV2ZW50IiwgewotICAgIGdl
dDogZnVuY3Rpb24oKSB7Ci0gICAgICBpZiAodGhpcy4kdGFnICE9IFJ1bk9yQ2xvc2VQaXBlSW5w
dXQuVGFncy5wZWVyQXNzb2NpYXRlZEVuZHBvaW50Q2xvc2VkRXZlbnQpIHsKLSAgICAgICAgdGhy
b3cgbmV3IFJlZmVyZW5jZUVycm9yKAotICAgICAgICAgICAgIlJ1bk9yQ2xvc2VQaXBlSW5wdXQu
cGVlckFzc29jaWF0ZWRFbmRwb2ludENsb3NlZEV2ZW50IGlzIG5vdCBjdXJyZW50bHkgc2V0LiIp
OwotICAgICAgfQotICAgICAgcmV0dXJuIHRoaXMuJGRhdGE7Ci0gICAgfSwKLSAgCi0gICAgc2V0
OiBmdW5jdGlvbih2YWx1ZSkgewotICAgICAgdGhpcy4kdGFnID0gUnVuT3JDbG9zZVBpcGVJbnB1
dC5UYWdzLnBlZXJBc3NvY2lhdGVkRW5kcG9pbnRDbG9zZWRFdmVudDsKLSAgICAgIHRoaXMuJGRh
dGEgPSB2YWx1ZTsKLSAgICB9Ci0gIH0pOwotICAKLSAgCi0gICAgUnVuT3JDbG9zZVBpcGVJbnB1
dC5lbmNvZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2YWwpIHsKLSAgICAgIGlmICh2YWwgPT0gbnVs
bCkgewotICAgICAgICBlbmNvZGVyLndyaXRlVWludDY0KDApOwotICAgICAgICBlbmNvZGVyLndy
aXRlVWludDY0KDApOwotICAgICAgICByZXR1cm47Ci0gICAgICB9Ci0gICAgICBpZiAodmFsLiR0
YWcgPT0gdW5kZWZpbmVkKSB7Ci0gICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBl
bmNvZGUgdW5pb25zIHdpdGggYW4gdW5rbm93biBtZW1iZXIgc2V0LiIpOwotICAgICAgfQotICAg
IAotICAgICAgZW5jb2Rlci53cml0ZVVpbnQzMigxNik7Ci0gICAgICBlbmNvZGVyLndyaXRlVWlu
dDMyKHZhbC4kdGFnKTsKLSAgICAgIHN3aXRjaCAodmFsLiR0YWcpIHsKLSAgICAgICAgY2FzZSBS
dW5PckNsb3NlUGlwZUlucHV0LlRhZ3MucGVlckFzc29jaWF0ZWRFbmRwb2ludENsb3NlZEV2ZW50
OgotICAgICAgICAgIGVuY29kZXIuZW5jb2RlU3RydWN0UG9pbnRlcihQZWVyQXNzb2NpYXRlZEVu
ZHBvaW50Q2xvc2VkRXZlbnQsIHZhbC5wZWVyQXNzb2NpYXRlZEVuZHBvaW50Q2xvc2VkRXZlbnQp
OwotICAgICAgICAgIGJyZWFrOwotICAgICAgfQotICAgICAgZW5jb2Rlci5hbGlnbigpOwotICAg
IH07Ci0gIAotICAKLSAgICBSdW5PckNsb3NlUGlwZUlucHV0LmRlY29kZSA9IGZ1bmN0aW9uKGRl
Y29kZXIpIHsKLSAgICAgIHZhciBzaXplID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgICBp
ZiAoc2l6ZSA9PSAwKSB7Ci0gICAgICAgIGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgICAgICBk
ZWNvZGVyLnJlYWRVaW50NjQoKTsKLSAgICAgICAgcmV0dXJuIG51bGw7Ci0gICAgICB9Ci0gICAg
Ci0gICAgICB2YXIgcmVzdWx0ID0gbmV3IFJ1bk9yQ2xvc2VQaXBlSW5wdXQoKTsKLSAgICAgIHZh
ciB0YWcgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICAgIHN3aXRjaCAodGFnKSB7Ci0gICAg
ICAgIGNhc2UgUnVuT3JDbG9zZVBpcGVJbnB1dC5UYWdzLnBlZXJBc3NvY2lhdGVkRW5kcG9pbnRD
bG9zZWRFdmVudDoKLSAgICAgICAgICByZXN1bHQucGVlckFzc29jaWF0ZWRFbmRwb2ludENsb3Nl
ZEV2ZW50ID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3RQb2ludGVyKFBlZXJBc3NvY2lhdGVkRW5kcG9p
bnRDbG9zZWRFdmVudCk7Ci0gICAgICAgICAgYnJlYWs7Ci0gICAgICB9Ci0gICAgICBkZWNvZGVy
LmFsaWduKCk7Ci0gICAgCi0gICAgICByZXR1cm4gcmVzdWx0OwotICAgIH07Ci0gIAotICAKLSAg
ICBSdW5PckNsb3NlUGlwZUlucHV0LnZhbGlkYXRlID0gZnVuY3Rpb24obWVzc2FnZVZhbGlkYXRv
ciwgb2Zmc2V0KSB7Ci0gICAgICB2YXIgc2l6ZSA9IG1lc3NhZ2VWYWxpZGF0b3IuZGVjb2RlVW5p
b25TaXplKG9mZnNldCk7Ci0gICAgICBpZiAoc2l6ZSAhPSAxNikgewotICAgICAgICByZXR1cm4g
dmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5JTlZBTElEX1VOSU9OX1NJWkU7Ci0gICAgICB9Ci0g
ICAgCi0gICAgICB2YXIgdGFnID0gbWVzc2FnZVZhbGlkYXRvci5kZWNvZGVVbmlvblRhZyhvZmZz
ZXQpOwotICAgICAgdmFyIGRhdGFfb2Zmc2V0ID0gb2Zmc2V0ICsgODsKLSAgICAgIHZhciBlcnI7
Ci0gICAgICBzd2l0Y2ggKHRhZykgewotICAgICAgICBjYXNlIFJ1bk9yQ2xvc2VQaXBlSW5wdXQu
VGFncy5wZWVyQXNzb2NpYXRlZEVuZHBvaW50Q2xvc2VkRXZlbnQ6Ci0gICAgICAgICAgCi0gICAg
Ci0gICAgLy8gdmFsaWRhdGUgUnVuT3JDbG9zZVBpcGVJbnB1dC5wZWVyQXNzb2NpYXRlZEVuZHBv
aW50Q2xvc2VkRXZlbnQKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0
UG9pbnRlcihkYXRhX29mZnNldCwgUGVlckFzc29jaWF0ZWRFbmRwb2ludENsb3NlZEV2ZW50LCBm
YWxzZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQot
ICAgICAgICByZXR1cm4gZXJyOwotICAgICAgICAgIGJyZWFrOwotICAgICAgfQotICAgIAotICAg
ICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAgICB9OwotICAKLSAg
UnVuT3JDbG9zZVBpcGVJbnB1dC5lbmNvZGVkU2l6ZSA9IDE2OwotICBleHBvcnRzLmtSdW5PckNs
b3NlUGlwZU1lc3NhZ2VJZCA9IGtSdW5PckNsb3NlUGlwZU1lc3NhZ2VJZDsKLSAgZXhwb3J0cy5S
dW5PckNsb3NlUGlwZU1lc3NhZ2VQYXJhbXMgPSBSdW5PckNsb3NlUGlwZU1lc3NhZ2VQYXJhbXM7
Ci0gIGV4cG9ydHMuRGlzY29ubmVjdFJlYXNvbiA9IERpc2Nvbm5lY3RSZWFzb247Ci0gIGV4cG9y
dHMuUGVlckFzc29jaWF0ZWRFbmRwb2ludENsb3NlZEV2ZW50ID0gUGVlckFzc29jaWF0ZWRFbmRw
b2ludENsb3NlZEV2ZW50OwotICBleHBvcnRzLlJ1bk9yQ2xvc2VQaXBlSW5wdXQgPSBSdW5PckNs
b3NlUGlwZUlucHV0OwotfSkoKTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy9jaHJvbWl1bS9tb2pvX2JpbmRpbmdzLmpzLmhlYWRlcnMgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS9tb2pvX2JpbmRpbmdz
LmpzLmhlYWRlcnMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY4MDVjMzIzZGY1YTk3
NTIzMTY0OGI4MzBlMzNjZTE4M2MzY2JiZDMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vbW9qb19iaW5kaW5ncy5qcy5oZWFkZXJzCisrKyAvZGV2
L251bGwKQEAgLTEgKzAsMCBAQAotQ29udGVudC1UeXBlOiB0ZXh0L2phdmFzY3JpcHQ7IGNoYXJz
ZXQ9dXRmLTgKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL3N0cmluZzE2Lm1vam9tLmpzIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vc3Ry
aW5nMTYubW9qb20uanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDA1ODk1NmJmMTY5
NjhhMzFhZDcwOWJjMWJiZDQ3NjY0OTBhMTNiOTAuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vc3RyaW5nMTYubW9qb20uanMKKysrIC9kZXYvbnVs
bApAQCAtMSwxNTkgKzAsMCBAQAotLy8gQ29weXJpZ2h0IDIwMTQgVGhlIENocm9taXVtIEF1dGhv
cnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0vLyBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBn
b3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCi0vLyBmb3VuZCBpbiB0
aGUgTElDRU5TRSBmaWxlLgotCi0KLSd1c2Ugc3RyaWN0JzsKLWlmICgodHlwZW9mIG1vam8gIT09
ICd1bmRlZmluZWQnKSAgJiYgbW9qby5pbnRlcm5hbCAmJiBtb2pvLmNvbmZpZykgewotCi0oZnVu
Y3Rpb24oKSB7Ci0gIHZhciBtb2pvbUlkID0gJ21vam8vY29tbW9uL3N0cmluZzE2Lm1vam9tJzsK
LSAgaWYgKG1vam8uaW50ZXJuYWwuaXNNb2pvbUxvYWRlZChtb2pvbUlkKSkgewotICAgIGNvbnNv
bGUud2FybignVGhlIGZvbGxvd2luZyBtb2pvbSBpcyBsb2FkZWQgbXVsdGlwbGUgdGltZXM6ICcg
KyBtb2pvbUlkKTsKLSAgICByZXR1cm47Ci0gIH0KLSAgbW9qby5pbnRlcm5hbC5tYXJrTW9qb21M
b2FkZWQobW9qb21JZCk7Ci0KLSAgLy8gVE9ETyh5enNoZW4pOiBEZWZpbmUgdGhlc2UgYWxpYXNl
cyB0byBtaW5pbWl6ZSB0aGUgZGlmZmVyZW5jZXMgYmV0d2VlbiB0aGUKLSAgLy8gb2xkL25ldyBt
b2Rlcy4gUmVtb3ZlIHRoZW0gd2hlbiB0aGUgb2xkIG1vZGUgZ29lcyBhd2F5LgotICB2YXIgYmlu
ZGluZ3MgPSBtb2pvOwotICB2YXIgYXNzb2NpYXRlZEJpbmRpbmdzID0gbW9qbzsKLSAgdmFyIGNv
ZGVjID0gbW9qby5pbnRlcm5hbDsKLSAgdmFyIHZhbGlkYXRvciA9IG1vam8uaW50ZXJuYWw7Ci0K
LSAgdmFyIGV4cG9ydHMgPSBtb2pvLmludGVybmFsLmV4cG9zZU5hbWVzcGFjZSgnbW9qby5jb21t
b24ubW9qb20nKTsKLQotCi0KLSAgZnVuY3Rpb24gU3RyaW5nMTYodmFsdWVzKSB7Ci0gICAgdGhp
cy5pbml0RGVmYXVsdHNfKCk7Ci0gICAgdGhpcy5pbml0RmllbGRzXyh2YWx1ZXMpOwotICB9Ci0K
LQotICBTdHJpbmcxNi5wcm90b3R5cGUuaW5pdERlZmF1bHRzXyA9IGZ1bmN0aW9uKCkgewotICAg
IHRoaXMuZGF0YSA9IG51bGw7Ci0gIH07Ci0gIFN0cmluZzE2LnByb3RvdHlwZS5pbml0RmllbGRz
XyA9IGZ1bmN0aW9uKGZpZWxkcykgewotICAgIGZvcih2YXIgZmllbGQgaW4gZmllbGRzKSB7Ci0g
ICAgICAgIGlmICh0aGlzLmhhc093blByb3BlcnR5KGZpZWxkKSkKLSAgICAgICAgICB0aGlzW2Zp
ZWxkXSA9IGZpZWxkc1tmaWVsZF07Ci0gICAgfQotICB9OwotCi0gIFN0cmluZzE2LnZhbGlkYXRl
ID0gZnVuY3Rpb24obWVzc2FnZVZhbGlkYXRvciwgb2Zmc2V0KSB7Ci0gICAgdmFyIGVycjsKLSAg
ICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0SGVhZGVyKG9mZnNldCwgY29k
ZWMua1N0cnVjdEhlYWRlclNpemUpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0
aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHZhciBrVmVyc2lvblNp
emVzID0gWwotICAgICAge3ZlcnNpb246IDAsIG51bUJ5dGVzOiAxNn0KLSAgICBdOwotICAgIGVy
ciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RWZXJzaW9uKG9mZnNldCwga1ZlcnNp
b25TaXplcyk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05F
KQotICAgICAgICByZXR1cm4gZXJyOwotCi0KLSAgICAKLSAgICAvLyB2YWxpZGF0ZSBTdHJpbmcx
Ni5kYXRhCi0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZUFycmF5UG9pbnRlcihv
ZmZzZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDAsIDIsIGNvZGVjLlVpbnQxNiwgZmFs
c2UsIFswXSwgMCk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5O
T05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0
aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQotICBTdHJpbmcxNi5lbmNvZGVkU2l6ZSA9IGNvZGVjLmtT
dHJ1Y3RIZWFkZXJTaXplICsgODsKLQotICBTdHJpbmcxNi5kZWNvZGUgPSBmdW5jdGlvbihkZWNv
ZGVyKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICB2YXIgdmFsID0gbmV3IFN0cmluZzE2KCk7Ci0g
ICAgdmFyIG51bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YXIgdmVy
c2lvbiA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhbC5kYXRhID0gZGVjb2Rlci5kZWNv
ZGVBcnJheVBvaW50ZXIoY29kZWMuVWludDE2KTsKLSAgICByZXR1cm4gdmFsOwotICB9OwotCi0g
IFN0cmluZzE2LmVuY29kZSA9IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgIHZhciBwYWNr
ZWQ7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMihTdHJpbmcxNi5lbmNvZGVkU2l6ZSk7Ci0gICAg
ZW5jb2Rlci53cml0ZVVpbnQzMigwKTsKLSAgICBlbmNvZGVyLmVuY29kZUFycmF5UG9pbnRlcihj
b2RlYy5VaW50MTYsIHZhbC5kYXRhKTsKLSAgfTsKLSAgZXhwb3J0cy5TdHJpbmcxNiA9IFN0cmlu
ZzE2OwotfSkoKTsKLX0KLQotaWYgKCh0eXBlb2YgbW9qbyA9PT0gJ3VuZGVmaW5lZCcpIHx8ICFt
b2pvLmludGVybmFsIHx8ICFtb2pvLmNvbmZpZykgewotCi1kZWZpbmUoIm1vam8vY29tbW9uL3N0
cmluZzE2Lm1vam9tIiwgWwotICAgICJtb2pvL3B1YmxpYy9qcy9hc3NvY2lhdGVkX2JpbmRpbmdz
IiwKLSAgICAibW9qby9wdWJsaWMvanMvYmluZGluZ3MiLAotICAgICJtb2pvL3B1YmxpYy9qcy9j
b2RlYyIsCi0gICAgIm1vam8vcHVibGljL2pzL2NvcmUiLAotICAgICJtb2pvL3B1YmxpYy9qcy92
YWxpZGF0b3IiLAotXSwgZnVuY3Rpb24oYXNzb2NpYXRlZEJpbmRpbmdzLCBiaW5kaW5ncywgY29k
ZWMsIGNvcmUsIHZhbGlkYXRvcikgewotICB2YXIgZXhwb3J0cyA9IHt9OwotCi0gIGZ1bmN0aW9u
IFN0cmluZzE2KHZhbHVlcykgewotICAgIHRoaXMuaW5pdERlZmF1bHRzXygpOwotICAgIHRoaXMu
aW5pdEZpZWxkc18odmFsdWVzKTsKLSAgfQotCi0KLSAgU3RyaW5nMTYucHJvdG90eXBlLmluaXRE
ZWZhdWx0c18gPSBmdW5jdGlvbigpIHsKLSAgICB0aGlzLmRhdGEgPSBudWxsOwotICB9OwotICBT
dHJpbmcxNi5wcm90b3R5cGUuaW5pdEZpZWxkc18gPSBmdW5jdGlvbihmaWVsZHMpIHsKLSAgICBm
b3IodmFyIGZpZWxkIGluIGZpZWxkcykgewotICAgICAgICBpZiAodGhpcy5oYXNPd25Qcm9wZXJ0
eShmaWVsZCkpCi0gICAgICAgICAgdGhpc1tmaWVsZF0gPSBmaWVsZHNbZmllbGRdOwotICAgIH0K
LSAgfTsKLQotICBTdHJpbmcxNi52YWxpZGF0ZSA9IGZ1bmN0aW9uKG1lc3NhZ2VWYWxpZGF0b3Is
IG9mZnNldCkgewotICAgIHZhciBlcnI7Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxp
ZGF0ZVN0cnVjdEhlYWRlcihvZmZzZXQsIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplKTsKLSAgICBp
ZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVy
biBlcnI7Ci0KLSAgICB2YXIga1ZlcnNpb25TaXplcyA9IFsKLSAgICAgIHt2ZXJzaW9uOiAwLCBu
dW1CeXRlczogMTZ9Ci0gICAgXTsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRl
U3RydWN0VmVyc2lvbihvZmZzZXQsIGtWZXJzaW9uU2l6ZXMpOwotICAgIGlmIChlcnIgIT09IHZh
bGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0g
ICAgCi0gICAgLy8gdmFsaWRhdGUgU3RyaW5nMTYuZGF0YQotICAgIGVyciA9IG1lc3NhZ2VWYWxp
ZGF0b3IudmFsaWRhdGVBcnJheVBvaW50ZXIob2Zmc2V0ICsgY29kZWMua1N0cnVjdEhlYWRlclNp
emUgKyAwLCAyLCBjb2RlYy5VaW50MTYsIGZhbHNlLCBbMF0sIDApOwotICAgIGlmIChlcnIgIT09
IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQot
ICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gIH07Ci0KLSAgU3Ry
aW5nMTYuZW5jb2RlZFNpemUgPSBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDg7Ci0KLSAgU3Ry
aW5nMTYuZGVjb2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHZhciBwYWNrZWQ7Ci0gICAg
dmFyIHZhbCA9IG5ldyBTdHJpbmcxNigpOwotICAgIHZhciBudW1iZXJPZkJ5dGVzID0gZGVjb2Rl
ci5yZWFkVWludDMyKCk7Ci0gICAgdmFyIHZlcnNpb24gPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsK
LSAgICB2YWwuZGF0YSA9IGRlY29kZXIuZGVjb2RlQXJyYXlQb2ludGVyKGNvZGVjLlVpbnQxNik7
Ci0gICAgcmV0dXJuIHZhbDsKLSAgfTsKLQotICBTdHJpbmcxNi5lbmNvZGUgPSBmdW5jdGlvbihl
bmNvZGVyLCB2YWwpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIo
U3RyaW5nMTYuZW5jb2RlZFNpemUpOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoMCk7Ci0gICAg
ZW5jb2Rlci5lbmNvZGVBcnJheVBvaW50ZXIoY29kZWMuVWludDE2LCB2YWwuZGF0YSk7Ci0gIH07
Ci0gIGV4cG9ydHMuU3RyaW5nMTYgPSBTdHJpbmcxNjsKLQotICByZXR1cm4gZXhwb3J0czsKLX0p
OwotfQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL3N0cmlu
ZzE2Lm1vam9tLmpzLmhlYWRlcnMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS9zdHJpbmcxNi5tb2pvbS5qcy5oZWFkZXJzCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2ODA1YzMyM2RmNWE5NzUyMzE2NDhiODMwZTMz
Y2UxODNjM2NiYmQzLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L2Nocm9taXVtL3N0cmluZzE2Lm1vam9tLmpzLmhlYWRlcnMKKysrIC9kZXYvbnVsbApAQCAtMSAr
MCwwIEBACi1Db250ZW50LVR5cGU6IHRleHQvamF2YXNjcmlwdDsgY2hhcnNldD11dGYtOApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvY2hyb21pdW0vdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS93M2MtaW1wb3J0LmxvZwpkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTA1OTRkNGM4ZmUyOGNkYjdlMmFmMTMxZGQwMmU4
MTVhM2QxZmQ5OS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9j
aHJvbWl1bS93M2MtaW1wb3J0LmxvZworKysgL2Rldi9udWxsCkBAIC0xLDI5ICswLDAgQEAKLVRo
ZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBv
c2l0b3J5LgotRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1J
bnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6Ci0JaHR0cHM6
Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMKLQotVGhlbiBydW4gdGhlIFRvb2xz
L1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKLQotRG8gTk9U
IG1vZGlmeSBvciByZW1vdmUgdGhpcyBmaWxlLgotCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLVByb3BlcnRp
ZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKLU5vbmUKLVByb3BlcnR5IHZhbHVlcyByZXF1
aXJpbmcgdmVuZG9yIHByZWZpeGVzOgotTm9uZQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1MaXN0IG9mIGZp
bGVzOgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL2Nocm9taXVtL1JFQURNRS5tZAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL2Nob29zZXJfc2VydmljZS5tb2pvbS5qcwot
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2No
cm9taXVtL2Nob29zZXJfc2VydmljZS5tb2pvbS5qcy5oZWFkZXJzCi0vTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vZGV2aWNlLm1v
am9tLmpzCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvY2hyb21pdW0vZGV2aWNlLm1vam9tLmpzLmhlYWRlcnMKLS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS9kZXZpY2VfbWFu
YWdlci5tb2pvbS5qcwotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL2Nocm9taXVtL2RldmljZV9tYW5hZ2VyLm1vam9tLmpzLmhlYWRlcnMKLS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJv
bWl1bS9tb2pvX2JpbmRpbmdzLmpzCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vbW9qb19iaW5kaW5ncy5qcy5oZWFkZXJzCi0v
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hy
b21pdW0vc3RyaW5nMTYubW9qb20uanMKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS9zdHJpbmcxNi5tb2pvbS5qcy5oZWFkZXJz
Ci0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
Y2hyb21pdW0vd2VidXNiLXRlc3QuanMKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS93ZWJ1c2ItdGVzdC5qcy5oZWFkZXJzCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy9jaHJvbWl1bS93ZWJ1c2ItdGVzdC5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL3dlYnVzYi10ZXN0LmpzCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwOGM4MjU0N2VkODk0NGYwNmZkZmEzMjMyMzIw
NzRlNDg0NjQyZjQzLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L2Nocm9taXVtL3dlYnVzYi10ZXN0LmpzCisrKyAvZGV2L251bGwKQEAgLTEsNTQxICswLDAgQEAK
LSd1c2Ugc3RyaWN0JzsKLQotLy8gVGhpcyBwb2x5ZmlsbCBsaWJyYXJ5IGltcGxlbWVudHMgdGhl
IFdlYlVTQiBUZXN0IEFQSSBhcyBzcGVjaWZpZWQgaGVyZToKLS8vIGh0dHBzOi8vd2ljZy5naXRo
dWIuaW8vd2VidXNiL3Rlc3QvCi0KLSgoKSA9PiB7Ci0KLS8vIFRoZXNlIHZhcmlhYmxlcyBhcmUg
bG9naWNhbGx5IG1lbWJlcnMgb2YgdGhlIFVTQlRlc3QgY2xhc3MgYnV0IGFyZSBkZWZpbmVkCi0v
LyBoZXJlIHRvIGhpZGUgdGhlbSBmcm9tIGJlaW5nIHZpc2libGUgYXMgZmllbGRzIG9mIG5hdmln
YXRvci51c2IudGVzdC4KLWxldCBpbnRlcm5hbCA9IHsKLSAgaW50aWFsaXplZDogZmFsc2UsCi0K
LSAgZGV2aWNlTWFuYWdlcjogbnVsbCwKLSAgZGV2aWNlTWFuYWdlckludGVyY2VwdG9yOiBudWxs
LAotICBkZXZpY2VNYW5hZ2VyQ3Jvc3NGcmFtZVByb3h5OiBudWxsLAotCi0gIGNob29zZXI6IG51
bGwsCi0gIGNob29zZXJJbnRlcmNlcHRvcjogbnVsbCwKLSAgY2hvb3NlckNyb3NzRnJhbWVQcm94
eTogbnVsbCwKLX07Ci0KLS8vIENvbnZlcnRzIGFuIEVDTUFTY3JpcHQgU3RyaW5nIG9iamVjdCB0
byBhbiBpbnN0YW5jZSBvZgotLy8gbW9qby5jb21tb24ubW9qb20uU3RyaW5nMTYuCi1mdW5jdGlv
biBtb2pvU3RyaW5nMTZUb1N0cmluZyhzdHJpbmcxNikgewotICByZXR1cm4gU3RyaW5nLmZyb21D
aGFyQ29kZS5hcHBseShudWxsLCBzdHJpbmcxNi5kYXRhKTsKLX0KLQotLy8gQ29udmVydHMgYW4g
aW5zdGFuY2Ugb2YgbW9qby5jb21tb24ubW9qb20uU3RyaW5nMTYgdG8gYW4gRUNNQVNjcmlwdCBT
dHJpbmcuCi1mdW5jdGlvbiBzdHJpbmdUb01vam9TdHJpbmcxNihzdHJpbmcpIHsKLSAgbGV0IGFy
cmF5ID0gbmV3IEFycmF5KHN0cmluZy5sZW5ndGgpOwotICBmb3IgKHZhciBpID0gMDsgaSA8IHN0
cmluZy5sZW5ndGg7ICsraSkgewotICAgIGFycmF5W2ldID0gc3RyaW5nLmNoYXJDb2RlQXQoaSk7
Ci0gIH0KLSAgcmV0dXJuIHsgZGF0YTogYXJyYXkgfQotfQotCi1mdW5jdGlvbiBmYWtlRGV2aWNl
SW5pdFRvRGV2aWNlSW5mbyhndWlkLCBpbml0KSB7Ci0gIGxldCBkZXZpY2VJbmZvID0gewotICAg
IGd1aWQ6IGd1aWQgKyAiIiwKLSAgICB1c2JWZXJzaW9uTWFqb3I6IGluaXQudXNiVmVyc2lvbk1h
am9yLAotICAgIHVzYlZlcnNpb25NaW5vcjogaW5pdC51c2JWZXJzaW9uTWlub3IsCi0gICAgdXNi
VmVyc2lvblN1Ym1pbm9yOiBpbml0LnVzYlZlcnNpb25TdWJtaW5vciwKLSAgICBjbGFzc0NvZGU6
IGluaXQuZGV2aWNlQ2xhc3MsCi0gICAgc3ViY2xhc3NDb2RlOiBpbml0LmRldmljZVN1YmNsYXNz
LAotICAgIHByb3RvY29sQ29kZTogaW5pdC5kZXZpY2VQcm90b2NvbCwKLSAgICB2ZW5kb3JJZDog
aW5pdC52ZW5kb3JJZCwKLSAgICBwcm9kdWN0SWQ6IGluaXQucHJvZHVjdElkLAotICAgIGRldmlj
ZVZlcnNpb25NYWpvcjogaW5pdC5kZXZpY2VWZXJzaW9uTWFqb3IsCi0gICAgZGV2aWNlVmVyc2lv
bk1pbm9yOiBpbml0LmRldmljZVZlcnNpb25NaW5vciwKLSAgICBkZXZpY2VWZXJzaW9uU3VibWlu
b3I6IGluaXQuZGV2aWNlVmVyc2lvblN1Ym1pbm9yLAotICAgIG1hbnVmYWN0dXJlck5hbWU6IHN0
cmluZ1RvTW9qb1N0cmluZzE2KGluaXQubWFudWZhY3R1cmVyTmFtZSksCi0gICAgcHJvZHVjdE5h
bWU6IHN0cmluZ1RvTW9qb1N0cmluZzE2KGluaXQucHJvZHVjdE5hbWUpLAotICAgIHNlcmlhbE51
bWJlcjogc3RyaW5nVG9Nb2pvU3RyaW5nMTYoaW5pdC5zZXJpYWxOdW1iZXIpLAotICAgIGFjdGl2
ZUNvbmZpZ3VyYXRpb246IGluaXQuYWN0aXZlQ29uZmlndXJhdGlvblZhbHVlLAotICAgIGNvbmZp
Z3VyYXRpb25zOiBbXQotICB9OwotICBpbml0LmNvbmZpZ3VyYXRpb25zLmZvckVhY2goY29uZmln
ID0+IHsKLSAgICB2YXIgY29uZmlnSW5mbyA9IHsKLSAgICAgIGNvbmZpZ3VyYXRpb25WYWx1ZTog
Y29uZmlnLmNvbmZpZ3VyYXRpb25WYWx1ZSwKLSAgICAgIGNvbmZpZ3VyYXRpb25OYW1lOiBzdHJp
bmdUb01vam9TdHJpbmcxNihjb25maWcuY29uZmlndXJhdGlvbk5hbWUpLAotICAgICAgaW50ZXJm
YWNlczogW10KLSAgICB9OwotICAgIGNvbmZpZy5pbnRlcmZhY2VzLmZvckVhY2goaWZhY2UgPT4g
ewotICAgICAgdmFyIGludGVyZmFjZUluZm8gPSB7Ci0gICAgICAgIGludGVyZmFjZU51bWJlcjog
aWZhY2UuaW50ZXJmYWNlTnVtYmVyLAotICAgICAgICBhbHRlcm5hdGVzOiBbXQotICAgICAgfTsK
LSAgICAgIGlmYWNlLmFsdGVybmF0ZXMuZm9yRWFjaChhbHRlcm5hdGUgPT4gewotICAgICAgICB2
YXIgYWx0ZXJuYXRlSW5mbyA9IHsKLSAgICAgICAgICBhbHRlcm5hdGVTZXR0aW5nOiBhbHRlcm5h
dGUuYWx0ZXJuYXRlU2V0dGluZywKLSAgICAgICAgICBjbGFzc0NvZGU6IGFsdGVybmF0ZS5pbnRl
cmZhY2VDbGFzcywKLSAgICAgICAgICBzdWJjbGFzc0NvZGU6IGFsdGVybmF0ZS5pbnRlcmZhY2VT
dWJjbGFzcywKLSAgICAgICAgICBwcm90b2NvbENvZGU6IGFsdGVybmF0ZS5pbnRlcmZhY2VQcm90
b2NvbCwKLSAgICAgICAgICBpbnRlcmZhY2VOYW1lOiBzdHJpbmdUb01vam9TdHJpbmcxNihhbHRl
cm5hdGUuaW50ZXJmYWNlTmFtZSksCi0gICAgICAgICAgZW5kcG9pbnRzOiBbXQotICAgICAgICB9
OwotICAgICAgICBhbHRlcm5hdGUuZW5kcG9pbnRzLmZvckVhY2goZW5kcG9pbnQgPT4gewotICAg
ICAgICAgIHZhciBlbmRwb2ludEluZm8gPSB7Ci0gICAgICAgICAgICBlbmRwb2ludE51bWJlcjog
ZW5kcG9pbnQuZW5kcG9pbnROdW1iZXIsCi0gICAgICAgICAgICBwYWNrZXRTaXplOiBlbmRwb2lu
dC5wYWNrZXRTaXplLAotICAgICAgICAgIH07Ci0gICAgICAgICAgc3dpdGNoIChlbmRwb2ludC5k
aXJlY3Rpb24pIHsKLSAgICAgICAgICBjYXNlICJpbiI6Ci0gICAgICAgICAgICBlbmRwb2ludElu
Zm8uZGlyZWN0aW9uID0gZGV2aWNlLm1vam9tLlVzYlRyYW5zZmVyRGlyZWN0aW9uLklOQk9VTkQ7
Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgICBjYXNlICJvdXQiOgotICAgICAgICAgICAg
ZW5kcG9pbnRJbmZvLmRpcmVjdGlvbiA9IGRldmljZS5tb2pvbS5Vc2JUcmFuc2ZlckRpcmVjdGlv
bi5PVVRCT1VORDsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgIH0KLSAgICAgICAgICBz
d2l0Y2ggKGVuZHBvaW50LnR5cGUpIHsKLSAgICAgICAgICBjYXNlICJidWxrIjoKLSAgICAgICAg
ICAgIGVuZHBvaW50SW5mby50eXBlID0gZGV2aWNlLm1vam9tLlVzYlRyYW5zZmVyVHlwZS5CVUxL
OwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgY2FzZSAiaW50ZXJydXB0IjoKLSAgICAg
ICAgICAgIGVuZHBvaW50SW5mby50eXBlID0gZGV2aWNlLm1vam9tLlVzYlRyYW5zZmVyVHlwZS5J
TlRFUlJVUFQ7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgICBjYXNlICJpc29jaHJvbm91
cyI6Ci0gICAgICAgICAgICBlbmRwb2ludEluZm8udHlwZSA9IGRldmljZS5tb2pvbS5Vc2JUcmFu
c2ZlclR5cGUuSVNPQ0hST05PVVM7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgICB9Ci0g
ICAgICAgICAgYWx0ZXJuYXRlSW5mby5lbmRwb2ludHMucHVzaChlbmRwb2ludEluZm8pOwotICAg
ICAgICB9KTsKLSAgICAgICAgaW50ZXJmYWNlSW5mby5hbHRlcm5hdGVzLnB1c2goYWx0ZXJuYXRl
SW5mbyk7Ci0gICAgICB9KTsKLSAgICAgIGNvbmZpZ0luZm8uaW50ZXJmYWNlcy5wdXNoKGludGVy
ZmFjZUluZm8pOwotICAgIH0pOwotICAgIGRldmljZUluZm8uY29uZmlndXJhdGlvbnMucHVzaChj
b25maWdJbmZvKTsKLSAgfSk7Ci0gIHJldHVybiBkZXZpY2VJbmZvOwotfQotCi1mdW5jdGlvbiBj
b252ZXJ0TW9qb0RldmljZUZpbHRlcnMoaW5wdXQpIHsKLSAgbGV0IG91dHB1dCA9IFtdOwotICBp
bnB1dC5mb3JFYWNoKGZpbHRlciA9PiB7Ci0gICAgb3V0cHV0LnB1c2goY29udmVydE1vam9EZXZp
Y2VGaWx0ZXIoZmlsdGVyKSk7Ci0gIH0pOwotICByZXR1cm4gb3V0cHV0OwotfQotCi1mdW5jdGlv
biBjb252ZXJ0TW9qb0RldmljZUZpbHRlcihpbnB1dCkgewotICBsZXQgb3V0cHV0ID0ge307Ci0g
IGlmIChpbnB1dC5oYXNWZW5kb3JJZCkKLSAgICBvdXRwdXQudmVuZG9ySWQgPSBpbnB1dC52ZW5k
b3JJZDsKLSAgaWYgKGlucHV0Lmhhc1Byb2R1Y3RJZCkKLSAgICBvdXRwdXQucHJvZHVjdElkID0g
aW5wdXQucHJvZHVjdElkOwotICBpZiAoaW5wdXQuaGFzQ2xhc3NDb2RlKQotICAgIG91dHB1dC5j
bGFzc0NvZGUgPSBpbnB1dC5jbGFzc0NvZGU7Ci0gIGlmIChpbnB1dC5oYXNTdWJjbGFzc0NvZGUp
Ci0gICAgb3V0cHV0LnN1YmNsYXNzQ29kZSA9IGlucHV0LnN1YmNsYXNzQ29kZTsKLSAgaWYgKGlu
cHV0Lmhhc1Byb3RvY29sQ29kZSkKLSAgICBvdXRwdXQucHJvdG9jb2xDb2RlID0gaW5wdXQucHJv
dG9jb2xDb2RlOwotICBpZiAoaW5wdXQuc2VyaWFsTnVtYmVyKQotICAgIG91dHB1dC5zZXJpYWxO
dW1iZXIgPSBtb2pvU3RyaW5nMTZUb1N0cmluZyhpbnB1dC5zZXJpYWxOdW1iZXIpOwotICByZXR1
cm4gb3V0cHV0OwotfQotCi1jbGFzcyBGYWtlRGV2aWNlIHsKLSAgY29uc3RydWN0b3IoZGV2aWNl
SW5pdCkgewotICAgIHRoaXMuaW5mb18gPSBkZXZpY2VJbml0OwotICAgIHRoaXMub3BlbmVkXyA9
IGZhbHNlOwotICAgIHRoaXMuY3VycmVudENvbmZpZ3VyYXRpb25fID0gbnVsbDsKLSAgICB0aGlz
LmNsYWltZWRJbnRlcmZhY2VzXyA9IG5ldyBNYXAoKTsKLSAgfQotCi0gIGdldENvbmZpZ3VyYXRp
b24oKSB7Ci0gICAgaWYgKHRoaXMuY3VycmVudENvbmZpZ3VyYXRpb25fKSB7Ci0gICAgICByZXR1
cm4gUHJvbWlzZS5yZXNvbHZlKHsKLSAgICAgICAgICB2YWx1ZTogdGhpcy5jdXJyZW50Q29uZmln
dXJhdGlvbl8uY29uZmlndXJhdGlvblZhbHVlIH0pOwotICAgIH0gZWxzZSB7Ci0gICAgICByZXR1
cm4gUHJvbWlzZS5yZXNvbHZlKHsgdmFsdWU6IDAgfSk7Ci0gICAgfQotICB9Ci0KLSAgb3Blbigp
IHsKLSAgICBhc3NlcnRfZmFsc2UodGhpcy5vcGVuZWRfKTsKLSAgICB0aGlzLm9wZW5lZF8gPSB0
cnVlOwotICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoeyBlcnJvcjogZGV2aWNlLm1vam9tLlVz
Yk9wZW5EZXZpY2VFcnJvci5PSyB9KTsKLSAgfQotCi0gIGNsb3NlKCkgewotICAgIGFzc2VydF90
cnVlKHRoaXMub3BlbmVkXyk7Ci0gICAgdGhpcy5vcGVuZWRfID0gZmFsc2U7Ci0gICAgcmV0dXJu
IFByb21pc2UucmVzb2x2ZSgpOwotICB9Ci0KLSAgc2V0Q29uZmlndXJhdGlvbih2YWx1ZSkgewot
ICAgIGFzc2VydF90cnVlKHRoaXMub3BlbmVkXyk7Ci0KLSAgICBsZXQgc2VsZWN0ZWRDb25maWd1
cmF0aW9uID0gdGhpcy5pbmZvXy5jb25maWd1cmF0aW9ucy5maW5kKAotICAgICAgICBjb25maWd1
cmF0aW9uID0+IGNvbmZpZ3VyYXRpb24uY29uZmlndXJhdGlvblZhbHVlID09IHZhbHVlKTsKLSAg
ICAvLyBCbGluayBzaG91bGQgbmV2ZXIgcmVxdWVzdCBhbiBpbnZhbGlkIGNvbmZpZ3VyYXRpb24u
Ci0gICAgYXNzZXJ0X25vdF9lcXVhbHMoc2VsZWN0ZWRDb25maWd1cmF0aW9uLCB1bmRlZmluZWQp
OwotICAgIHRoaXMuY3VycmVudENvbmZpZ3VyYXRpb25fID0gc2VsZWN0ZWRDb25maWd1cmF0aW9u
OwotICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoeyBzdWNjZXNzOiB0cnVlIH0pOwotICB9Ci0K
LSAgY2xhaW1JbnRlcmZhY2UoaW50ZXJmYWNlTnVtYmVyKSB7Ci0gICAgYXNzZXJ0X3RydWUodGhp
cy5vcGVuZWRfKTsKLSAgICBhc3NlcnRfZmFsc2UodGhpcy5jdXJyZW50Q29uZmlndXJhdGlvbl8g
PT0gbnVsbCwgJ2RldmljZSBjb25maWd1cmVkJyk7Ci0gICAgYXNzZXJ0X2ZhbHNlKHRoaXMuY2xh
aW1lZEludGVyZmFjZXNfLmhhcyhpbnRlcmZhY2VOdW1iZXIpLAotICAgICAgICAgICAgICAgICAn
aW50ZXJmYWNlIGFscmVhZHkgY2xhaW1lZCcpOwotCi0gICAgLy8gQmxpbmsgc2hvdWxkIG5ldmVy
IHJlcXVlc3QgYW4gaW52YWxpZCBpbnRlcmZhY2UuCi0gICAgYXNzZXJ0X3RydWUodGhpcy5jdXJy
ZW50Q29uZmlndXJhdGlvbl8uaW50ZXJmYWNlcy5zb21lKAotICAgICAgICAgICAgaWZhY2UgPT4g
aWZhY2UuaW50ZXJmYWNlTnVtYmVyID09IGludGVyZmFjZU51bWJlcikpOwotICAgIHRoaXMuY2xh
aW1lZEludGVyZmFjZXNfLnNldChpbnRlcmZhY2VOdW1iZXIsIDApOwotICAgIHJldHVybiBQcm9t
aXNlLnJlc29sdmUoeyBzdWNjZXNzOiB0cnVlIH0pOwotICB9Ci0KLSAgcmVsZWFzZUludGVyZmFj
ZShpbnRlcmZhY2VOdW1iZXIpIHsKLSAgICBhc3NlcnRfdHJ1ZSh0aGlzLm9wZW5lZF8pOwotICAg
IGFzc2VydF9mYWxzZSh0aGlzLmN1cnJlbnRDb25maWd1cmF0aW9uXyA9PSBudWxsLCAnZGV2aWNl
IGNvbmZpZ3VyZWQnKTsKLSAgICBhc3NlcnRfdHJ1ZSh0aGlzLmNsYWltZWRJbnRlcmZhY2VzXy5o
YXMoaW50ZXJmYWNlTnVtYmVyKSk7Ci0gICAgdGhpcy5jbGFpbWVkSW50ZXJmYWNlc18uZGVsZXRl
KGludGVyZmFjZU51bWJlcik7Ci0gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh7IHN1Y2Nlc3M6
IHRydWUgfSk7Ci0gIH0KLQotICBzZXRJbnRlcmZhY2VBbHRlcm5hdGVTZXR0aW5nKGludGVyZmFj
ZU51bWJlciwgYWx0ZXJuYXRlU2V0dGluZykgewotICAgIGFzc2VydF90cnVlKHRoaXMub3BlbmVk
Xyk7Ci0gICAgYXNzZXJ0X2ZhbHNlKHRoaXMuY3VycmVudENvbmZpZ3VyYXRpb25fID09IG51bGws
ICdkZXZpY2UgY29uZmlndXJlZCcpOwotICAgIGFzc2VydF90cnVlKHRoaXMuY2xhaW1lZEludGVy
ZmFjZXNfLmhhcyhpbnRlcmZhY2VOdW1iZXIpKTsKLQotICAgIGxldCBpZmFjZSA9IHRoaXMuY3Vy
cmVudENvbmZpZ3VyYXRpb25fLmludGVyZmFjZXMuZmluZCgKLSAgICAgICAgaWZhY2UgPT4gaWZh
Y2UuaW50ZXJmYWNlTnVtYmVyID09IGludGVyZmFjZU51bWJlcik7Ci0gICAgLy8gQmxpbmsgc2hv
dWxkIG5ldmVyIHJlcXVlc3QgYW4gaW52YWxpZCBpbnRlcmZhY2Ugb3IgYWx0ZXJuYXRlLgotICAg
IGFzc2VydF9mYWxzZShpZmFjZSA9PSB1bmRlZmluZWQpOwotICAgIGFzc2VydF90cnVlKGlmYWNl
LmFsdGVybmF0ZXMuc29tZSgKLSAgICAgICAgeCA9PiB4LmFsdGVybmF0ZVNldHRpbmcgPT0gYWx0
ZXJuYXRlU2V0dGluZykpOwotICAgIHRoaXMuY2xhaW1lZEludGVyZmFjZXNfLnNldChpbnRlcmZh
Y2VOdW1iZXIsIGFsdGVybmF0ZVNldHRpbmcpOwotICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUo
eyBzdWNjZXNzOiB0cnVlIH0pOwotICB9Ci0KLSAgcmVzZXQoKSB7Ci0gICAgYXNzZXJ0X3RydWUo
dGhpcy5vcGVuZWRfKTsKLSAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHsgc3VjY2VzczogdHJ1
ZSB9KTsKLSAgfQotCi0gIGNsZWFySGFsdChlbmRwb2ludCkgewotICAgIGFzc2VydF90cnVlKHRo
aXMub3BlbmVkXyk7Ci0gICAgYXNzZXJ0X2ZhbHNlKHRoaXMuY3VycmVudENvbmZpZ3VyYXRpb25f
ID09IG51bGwsICdkZXZpY2UgY29uZmlndXJlZCcpOwotICAgIC8vIFRPRE8ocmVpbGx5Zyk6IEFz
c2VydCB0aGF0IGVuZHBvaW50IGlzIHZhbGlkLgotICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUo
eyBzdWNjZXNzOiB0cnVlIH0pOwotICB9Ci0KLSAgY29udHJvbFRyYW5zZmVySW4ocGFyYW1zLCBs
ZW5ndGgsIHRpbWVvdXQpIHsKLSAgICBhc3NlcnRfdHJ1ZSh0aGlzLm9wZW5lZF8pOwotICAgIGFz
c2VydF9mYWxzZSh0aGlzLmN1cnJlbnRDb25maWd1cmF0aW9uXyA9PSBudWxsLCAnZGV2aWNlIGNv
bmZpZ3VyZWQnKTsKLSAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHsKLSAgICAgIHN0YXR1czog
ZGV2aWNlLm1vam9tLlVzYlRyYW5zZmVyU3RhdHVzLk9LLAotICAgICAgZGF0YTogW2xlbmd0aCA+
PiA4LCBsZW5ndGggJiAweGZmLCBwYXJhbXMucmVxdWVzdCwgcGFyYW1zLnZhbHVlID4+IDgsCi0g
ICAgICAgICAgICAgcGFyYW1zLnZhbHVlICYgMHhmZiwgcGFyYW1zLmluZGV4ID4+IDgsIHBhcmFt
cy5pbmRleCAmIDB4ZmZdCi0gICAgfSk7Ci0gIH0KLQotICBjb250cm9sVHJhbnNmZXJPdXQocGFy
YW1zLCBkYXRhLCB0aW1lb3V0KSB7Ci0gICAgYXNzZXJ0X3RydWUodGhpcy5vcGVuZWRfKTsKLSAg
ICBhc3NlcnRfZmFsc2UodGhpcy5jdXJyZW50Q29uZmlndXJhdGlvbl8gPT0gbnVsbCwgJ2Rldmlj
ZSBjb25maWd1cmVkJyk7Ci0gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh7Ci0gICAgICBzdGF0
dXM6IGRldmljZS5tb2pvbS5Vc2JUcmFuc2ZlclN0YXR1cy5PSywKLSAgICAgIGJ5dGVzV3JpdHRl
bjogZGF0YS5ieXRlTGVuZ3RoCi0gICAgfSk7Ci0gIH0KLQotICBnZW5lcmljVHJhbnNmZXJJbihl
bmRwb2ludE51bWJlciwgbGVuZ3RoLCB0aW1lb3V0KSB7Ci0gICAgYXNzZXJ0X3RydWUodGhpcy5v
cGVuZWRfKTsKLSAgICBhc3NlcnRfZmFsc2UodGhpcy5jdXJyZW50Q29uZmlndXJhdGlvbl8gPT0g
bnVsbCwgJ2RldmljZSBjb25maWd1cmVkJyk7Ci0gICAgLy8gVE9ETyhyZWlsbHlnKTogQXNzZXJ0
IHRoYXQgZW5kcG9pbnQgaXMgdmFsaWQuCi0gICAgbGV0IGRhdGEgPSBuZXcgQXJyYXkobGVuZ3Ro
KTsKLSAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxlbmd0aDsgKytpKQotICAgICAgZGF0YVtpXSA9
IGkgJiAweGZmOwotICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoewotICAgICAgc3RhdHVzOiBk
ZXZpY2UubW9qb20uVXNiVHJhbnNmZXJTdGF0dXMuT0ssCi0gICAgICBkYXRhOiBkYXRhCi0gICAg
fSk7Ci0gIH0KLQotICBnZW5lcmljVHJhbnNmZXJPdXQoZW5kcG9pbnROdW1iZXIsIGRhdGEsIHRp
bWVvdXQpIHsKLSAgICBhc3NlcnRfdHJ1ZSh0aGlzLm9wZW5lZF8pOwotICAgIGFzc2VydF9mYWxz
ZSh0aGlzLmN1cnJlbnRDb25maWd1cmF0aW9uXyA9PSBudWxsLCAnZGV2aWNlIGNvbmZpZ3VyZWQn
KTsKLSAgICAvLyBUT0RPKHJlaWxseWcpOiBBc3NlcnQgdGhhdCBlbmRwb2ludCBpcyB2YWxpZC4K
LSAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHsKLSAgICAgIHN0YXR1czogZGV2aWNlLm1vam9t
LlVzYlRyYW5zZmVyU3RhdHVzLk9LLAotICAgICAgYnl0ZXNXcml0dGVuOiBkYXRhLmJ5dGVMZW5n
dGgKLSAgICB9KTsKLSAgfQotCi0gIGlzb2Nocm9ub3VzVHJhbnNmZXJJbihlbmRwb2ludE51bWJl
ciwgcGFja2V0TGVuZ3RocywgdGltZW91dCkgewotICAgIGFzc2VydF90cnVlKHRoaXMub3BlbmVk
Xyk7Ci0gICAgYXNzZXJ0X2ZhbHNlKHRoaXMuY3VycmVudENvbmZpZ3VyYXRpb25fID09IG51bGws
ICdkZXZpY2UgY29uZmlndXJlZCcpOwotICAgIC8vIFRPRE8ocmVpbGx5Zyk6IEFzc2VydCB0aGF0
IGVuZHBvaW50IGlzIHZhbGlkLgotICAgIGxldCBkYXRhID0gbmV3IEFycmF5KHBhY2tldExlbmd0
aHMucmVkdWNlKChhLCBiKSA9PiBhICsgYiwgMCkpOwotICAgIGxldCBkYXRhT2Zmc2V0ID0gMDsK
LSAgICBsZXQgcGFja2V0cyA9IG5ldyBBcnJheShwYWNrZXRMZW5ndGhzLmxlbmd0aCk7Ci0gICAg
Zm9yIChsZXQgaSA9IDA7IGkgPCBwYWNrZXRMZW5ndGhzLmxlbmd0aDsgKytpKSB7Ci0gICAgICBm
b3IgKGxldCBqID0gMDsgaiA8IHBhY2tldExlbmd0aHNbaV07ICsraikKLSAgICAgICAgZGF0YVtk
YXRhT2Zmc2V0KytdID0gaiAmIDB4ZmY7Ci0gICAgICBwYWNrZXRzW2ldID0gewotICAgICAgICBs
ZW5ndGg6IHBhY2tldExlbmd0aHNbaV0sCi0gICAgICAgIHRyYW5zZmVycmVkTGVuZ3RoOiBwYWNr
ZXRMZW5ndGhzW2ldLAotICAgICAgICBzdGF0dXM6IGRldmljZS5tb2pvbS5Vc2JUcmFuc2ZlclN0
YXR1cy5PSwotICAgICAgfTsKLSAgICB9Ci0gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh7IGRh
dGE6IGRhdGEsIHBhY2tldHM6IHBhY2tldHMgfSk7Ci0gIH0KLQotICBpc29jaHJvbm91c1RyYW5z
ZmVyT3V0KGVuZHBvaW50TnVtYmVyLCBkYXRhLCBwYWNrZXRMZW5ndGhzLCB0aW1lb3V0KSB7Ci0g
ICAgYXNzZXJ0X3RydWUodGhpcy5vcGVuZWRfKTsKLSAgICBhc3NlcnRfZmFsc2UodGhpcy5jdXJy
ZW50Q29uZmlndXJhdGlvbl8gPT0gbnVsbCwgJ2RldmljZSBjb25maWd1cmVkJyk7Ci0gICAgLy8g
VE9ETyhyZWlsbHlnKTogQXNzZXJ0IHRoYXQgZW5kcG9pbnQgaXMgdmFsaWQuCi0gICAgbGV0IHBh
Y2tldHMgPSBuZXcgQXJyYXkocGFja2V0TGVuZ3Rocy5sZW5ndGgpOwotICAgIGZvciAobGV0IGkg
PSAwOyBpIDwgcGFja2V0TGVuZ3Rocy5sZW5ndGg7ICsraSkgewotICAgICAgcGFja2V0c1tpXSA9
IHsKLSAgICAgICAgbGVuZ3RoOiBwYWNrZXRMZW5ndGhzW2ldLAotICAgICAgICB0cmFuc2ZlcnJl
ZExlbmd0aDogcGFja2V0TGVuZ3Roc1tpXSwKLSAgICAgICAgc3RhdHVzOiBkZXZpY2UubW9qb20u
VXNiVHJhbnNmZXJTdGF0dXMuT0sKLSAgICAgIH07Ci0gICAgfQotICAgIHJldHVybiBQcm9taXNl
LnJlc29sdmUoeyBwYWNrZXRzOiBwYWNrZXRzIH0pOwotICB9Ci19Ci0KLWNsYXNzIEZha2VEZXZp
Y2VNYW5hZ2VyIHsKLSAgY29uc3RydWN0b3IoKSB7Ci0gICAgdGhpcy5iaW5kaW5nU2V0XyA9IG5l
dyBtb2pvLkJpbmRpbmdTZXQoZGV2aWNlLm1vam9tLlVzYkRldmljZU1hbmFnZXIpOwotICAgIHRo
aXMuZGV2aWNlc18gPSBuZXcgTWFwKCk7Ci0gICAgdGhpcy5kZXZpY2VzQnlHdWlkXyA9IG5ldyBN
YXAoKTsKLSAgICB0aGlzLmNsaWVudF8gPSBudWxsOwotICAgIHRoaXMubmV4dEd1aWRfID0gMDsK
LSAgfQotCi0gIGFkZEJpbmRpbmcoaGFuZGxlKSB7Ci0gICAgdGhpcy5iaW5kaW5nU2V0Xy5hZGRC
aW5kaW5nKHRoaXMsIGhhbmRsZSk7Ci0gIH0KLQotICBhZGREZXZpY2UoZmFrZURldmljZSwgaW5m
bykgewotICAgIGxldCBkZXZpY2UgPSB7Ci0gICAgICBmYWtlRGV2aWNlOiBmYWtlRGV2aWNlLAot
ICAgICAgZ3VpZDogKHRoaXMubmV4dEd1aWRfKyspLnRvU3RyaW5nKCksCi0gICAgICBpbmZvOiBp
bmZvLAotICAgICAgYmluZGluZ0FycmF5OiBbXQotICAgIH07Ci0gICAgdGhpcy5kZXZpY2VzXy5z
ZXQoZmFrZURldmljZSwgZGV2aWNlKTsKLSAgICB0aGlzLmRldmljZXNCeUd1aWRfLnNldChkZXZp
Y2UuZ3VpZCwgZGV2aWNlKTsKLSAgICBpZiAodGhpcy5jbGllbnRfKQotICAgICAgdGhpcy5jbGll
bnRfLm9uRGV2aWNlQWRkZWQoZmFrZURldmljZUluaXRUb0RldmljZUluZm8oZGV2aWNlLmd1aWQs
IGluZm8pKTsKLSAgfQotCi0gIHJlbW92ZURldmljZShmYWtlRGV2aWNlKSB7Ci0gICAgbGV0IGRl
dmljZSA9IHRoaXMuZGV2aWNlc18uZ2V0KGZha2VEZXZpY2UpOwotICAgIGlmICghZGV2aWNlKQot
ICAgICAgdGhyb3cgbmV3IEVycm9yKCdDYW5ub3QgcmVtb3ZlIHVua25vd24gZGV2aWNlLicpOwot
Ci0gICAgZm9yICh2YXIgYmluZGluZyBvZiBkZXZpY2UuYmluZGluZ0FycmF5KQotICAgICAgYmlu
ZGluZy5jbG9zZSgpOwotICAgIHRoaXMuZGV2aWNlc18uZGVsZXRlKGRldmljZS5mYWtlRGV2aWNl
KTsKLSAgICB0aGlzLmRldmljZXNCeUd1aWRfLmRlbGV0ZShkZXZpY2UuZ3VpZCk7Ci0gICAgaWYg
KHRoaXMuY2xpZW50XykgewotICAgICAgdGhpcy5jbGllbnRfLm9uRGV2aWNlUmVtb3ZlZCgKLSAg
ICAgICAgICBmYWtlRGV2aWNlSW5pdFRvRGV2aWNlSW5mbyhkZXZpY2UuZ3VpZCwgZGV2aWNlLmlu
Zm8pKTsKLSAgICB9Ci0gIH0KLQotICByZW1vdmVBbGxEZXZpY2VzKCkgewotICAgIHRoaXMuZGV2
aWNlc18uZm9yRWFjaChkZXZpY2UgPT4gewotICAgICAgZm9yICh2YXIgYmluZGluZyBvZiBkZXZp
Y2UuYmluZGluZ0FycmF5KQotICAgICAgICBiaW5kaW5nLmNsb3NlKCk7Ci0gICAgICB0aGlzLmNs
aWVudF8ub25EZXZpY2VSZW1vdmVkKAotICAgICAgICAgIGZha2VEZXZpY2VJbml0VG9EZXZpY2VJ
bmZvKGRldmljZS5ndWlkLCBkZXZpY2UuaW5mbykpOwotICAgIH0pOwotICAgIHRoaXMuZGV2aWNl
c18uY2xlYXIoKTsKLSAgICB0aGlzLmRldmljZXNCeUd1aWRfLmNsZWFyKCk7Ci0gIH0KLQotICBn
ZXREZXZpY2VzKG9wdGlvbnMpIHsKLSAgICBsZXQgZGV2aWNlcyA9IFtdOwotICAgIHRoaXMuZGV2
aWNlc18uZm9yRWFjaChkZXZpY2UgPT4gewotICAgICAgZGV2aWNlcy5wdXNoKGZha2VEZXZpY2VJ
bml0VG9EZXZpY2VJbmZvKGRldmljZS5ndWlkLCBkZXZpY2UuaW5mbykpOwotICAgIH0pOwotICAg
IHJldHVybiBQcm9taXNlLnJlc29sdmUoeyByZXN1bHRzOiBkZXZpY2VzIH0pOwotICB9Ci0KLSAg
Z2V0RGV2aWNlKGd1aWQsIHJlcXVlc3QpIHsKLSAgICBsZXQgZGV2aWNlID0gdGhpcy5kZXZpY2Vz
QnlHdWlkXy5nZXQoZ3VpZCk7Ci0gICAgaWYgKGRldmljZSkgewotICAgICAgbGV0IGJpbmRpbmcg
PSBuZXcgbW9qby5CaW5kaW5nKAotICAgICAgICAgIHdpbmRvdy5kZXZpY2UubW9qb20uVXNiRGV2
aWNlLCBuZXcgRmFrZURldmljZShkZXZpY2UuaW5mbyksIHJlcXVlc3QpOwotICAgICAgYmluZGlu
Zy5zZXRDb25uZWN0aW9uRXJyb3JIYW5kbGVyKCgpID0+IHsKLSAgICAgICAgaWYgKGRldmljZS5m
YWtlRGV2aWNlLm9uY2xvc2UpCi0gICAgICAgICAgZGV2aWNlLmZha2VEZXZpY2Uub25jbG9zZSgp
OwotICAgICAgfSk7Ci0gICAgICBkZXZpY2UuYmluZGluZ0FycmF5LnB1c2goYmluZGluZyk7Ci0g
ICAgfSBlbHNlIHsKLSAgICAgIHJlcXVlc3QuY2xvc2UoKTsKLSAgICB9Ci0gIH0KLQotICBzZXRD
bGllbnQoY2xpZW50KSB7Ci0gICAgdGhpcy5jbGllbnRfID0gY2xpZW50OwotICB9Ci19Ci0KLWNs
YXNzIFVTQkRldmljZVJlcXVlc3RFdmVudCB7Ci0gIGNvbnN0cnVjdG9yKGRldmljZUZpbHRlcnMs
IHJlc29sdmUpIHsKLSAgICB0aGlzLmZpbHRlcnMgPSBjb252ZXJ0TW9qb0RldmljZUZpbHRlcnMo
ZGV2aWNlRmlsdGVycyk7Ci0gICAgdGhpcy5yZXNvbHZlRnVuY18gPSByZXNvbHZlOwotICB9Ci0K
LSAgcmVzcG9uZFdpdGgodmFsdWUpIHsKLSAgICAvLyBXYWl0IHVudGlsIHx2YWx1ZXwgcmVzb2x2
ZXMgKGlmIGl0IGlzIGEgUHJvbWlzZSkuIFRoaXMgZnVuY3Rpb24gcmV0dXJucwotICAgIC8vIG5v
IHZhbHVlLgotICAgIFByb21pc2UucmVzb2x2ZSh2YWx1ZSkudGhlbihmYWtlRGV2aWNlID0+IHsK
LSAgICAgIGxldCBkZXZpY2UgPSBpbnRlcm5hbC5kZXZpY2VNYW5hZ2VyLmRldmljZXNfLmdldChm
YWtlRGV2aWNlKTsKLSAgICAgIGxldCByZXN1bHQgPSBudWxsOwotICAgICAgaWYgKGRldmljZSkg
ewotICAgICAgICByZXN1bHQgPSBmYWtlRGV2aWNlSW5pdFRvRGV2aWNlSW5mbyhkZXZpY2UuZ3Vp
ZCwgZGV2aWNlLmluZm8pOwotICAgICAgfQotICAgICAgdGhpcy5yZXNvbHZlRnVuY18oeyByZXN1
bHQ6IHJlc3VsdCB9KTsKLSAgICB9LCAoKSA9PiB7Ci0gICAgICB0aGlzLnJlc29sdmVGdW5jXyh7
IHJlc3VsdDogbnVsbCB9KTsKLSAgICB9KTsKLSAgfQotfQotCi1jbGFzcyBGYWtlQ2hvb3NlclNl
cnZpY2UgewotICBjb25zdHJ1Y3RvcigpIHsKLSAgICB0aGlzLmJpbmRpbmdTZXRfID0gbmV3IG1v
am8uQmluZGluZ1NldChkZXZpY2UubW9qb20uVXNiQ2hvb3NlclNlcnZpY2UpOwotICB9Ci0KLSAg
YWRkQmluZGluZyhoYW5kbGUpIHsKLSAgICB0aGlzLmJpbmRpbmdTZXRfLmFkZEJpbmRpbmcodGhp
cywgaGFuZGxlKTsKLSAgfQotCi0gIGdldFBlcm1pc3Npb24oZGV2aWNlRmlsdGVycykgewotICAg
IHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKLSAgICAgIGlmIChuYXZpZ2F0b3IudXNi
LnRlc3Qub25yZXF1ZXN0ZGV2aWNlKSB7Ci0gICAgICAgIG5hdmlnYXRvci51c2IudGVzdC5vbnJl
cXVlc3RkZXZpY2UoCi0gICAgICAgICAgICBuZXcgVVNCRGV2aWNlUmVxdWVzdEV2ZW50KGRldmlj
ZUZpbHRlcnMsIHJlc29sdmUpKTsKLSAgICAgIH0gZWxzZSB7Ci0gICAgICAgIHJlc29sdmUoeyBy
ZXN1bHQ6IG51bGwgfSk7Ci0gICAgICB9Ci0gICAgfSk7Ci0gIH0KLX0KLQotLy8gVW5saWtlIEZh
a2VEZXZpY2UgdGhpcyBjbGFzcyBpcyBleHBvcnRlZCB0byBjYWxsZXJzIG9mIFVTQlRlc3QuYWRk
RmFrZURldmljZS4KLWNsYXNzIEZha2VVU0JEZXZpY2UgewotICBjb25zdHJ1Y3RvcigpIHsKLSAg
ICB0aGlzLm9uY2xvc2UgPSBudWxsOwotICB9Ci0KLSAgZGlzY29ubmVjdCgpIHsKLSAgICBzZXRU
aW1lb3V0KCgpID0+IGludGVybmFsLmRldmljZU1hbmFnZXIucmVtb3ZlRGV2aWNlKHRoaXMpLCAw
KTsKLSAgfQotfQotCi0vLyBBIGhlbHBlciBmb3IgZm9yd2FyZGluZyBNb2pvSGFuZGxlIGluc3Rh
bmNlcyBmcm9tIG9uZSBmcmFtZSB0byBhbm90aGVyLgotY2xhc3MgQ3Jvc3NGcmFtZUhhbmRsZVBy
b3h5IHsKLSAgY29uc3RydWN0b3IoY2FsbGJhY2spIHsKLSAgICBsZXQge2hhbmRsZTAsIGhhbmRs
ZTF9ID0gTW9qby5jcmVhdGVNZXNzYWdlUGlwZSgpOwotICAgIHRoaXMuc2VuZGVyXyA9IGhhbmRs
ZTA7Ci0gICAgdGhpcy5yZWNlaXZlcl8gPSBoYW5kbGUxOwotICAgIHRoaXMucmVjZWl2ZXJfLndh
dGNoKHtyZWFkYWJsZTogdHJ1ZX0sICgpID0+IHsKLSAgICAgIGxldCBtZXNzYWdlID0gdGhpcy5y
ZWNlaXZlcl8ucmVhZE1lc3NhZ2UoKTsKLSAgICAgIGFzc2VydF9lcXVhbHMobWVzc2FnZS5idWZm
ZXIuYnl0ZUxlbmd0aCwgMCk7Ci0gICAgICBhc3NlcnRfZXF1YWxzKG1lc3NhZ2UuaGFuZGxlcy5s
ZW5ndGgsIDEpOwotICAgICAgY2FsbGJhY2sobWVzc2FnZS5oYW5kbGVzWzBdKTsKLSAgICB9KTsK
LSAgfQotCi0gIGZvcndhcmRIYW5kbGUoaGFuZGxlKSB7Ci0gICAgdGhpcy5zZW5kZXJfLndyaXRl
TWVzc2FnZShuZXcgQXJyYXlCdWZmZXIsIFtoYW5kbGVdKTsKLSAgfQotfQotCi1jbGFzcyBVU0JU
ZXN0IHsKLSAgY29uc3RydWN0b3IoKSB7Ci0gICAgdGhpcy5vbnJlcXVlc3RkZXZpY2UgPSB1bmRl
ZmluZWQ7Ci0gIH0KLQotICBhc3luYyBpbml0aWFsaXplKCkgewotICAgIGlmIChpbnRlcm5hbC5p
bml0aWFsaXplZCkKLSAgICAgIHJldHVybjsKLQotICAgIGludGVybmFsLmRldmljZU1hbmFnZXIg
PSBuZXcgRmFrZURldmljZU1hbmFnZXIoKTsKLSAgICBpbnRlcm5hbC5kZXZpY2VNYW5hZ2VySW50
ZXJjZXB0b3IgPQotICAgICAgICBuZXcgTW9qb0ludGVyZmFjZUludGVyY2VwdG9yKGRldmljZS5t
b2pvbS5Vc2JEZXZpY2VNYW5hZ2VyLm5hbWUpOwotICAgIGludGVybmFsLmRldmljZU1hbmFnZXJJ
bnRlcmNlcHRvci5vbmludGVyZmFjZXJlcXVlc3QgPQotICAgICAgICBlID0+IGludGVybmFsLmRl
dmljZU1hbmFnZXIuYWRkQmluZGluZyhlLmhhbmRsZSk7Ci0gICAgaW50ZXJuYWwuZGV2aWNlTWFu
YWdlckludGVyY2VwdG9yLnN0YXJ0KCk7Ci0gICAgaW50ZXJuYWwuZGV2aWNlTWFuYWdlckNyb3Nz
RnJhbWVQcm94eSA9IG5ldyBDcm9zc0ZyYW1lSGFuZGxlUHJveHkoCi0gICAgICAgIGhhbmRsZSA9
PiBpbnRlcm5hbC5kZXZpY2VNYW5hZ2VyLmFkZEJpbmRpbmcoaGFuZGxlKSk7Ci0KLSAgICBpbnRl
cm5hbC5jaG9vc2VyID0gbmV3IEZha2VDaG9vc2VyU2VydmljZSgpOwotICAgIGludGVybmFsLmNo
b29zZXJJbnRlcmNlcHRvciA9Ci0gICAgICAgIG5ldyBNb2pvSW50ZXJmYWNlSW50ZXJjZXB0b3Io
ZGV2aWNlLm1vam9tLlVzYkNob29zZXJTZXJ2aWNlLm5hbWUpOwotICAgIGludGVybmFsLmNob29z
ZXJJbnRlcmNlcHRvci5vbmludGVyZmFjZXJlcXVlc3QgPQotICAgICAgICBlID0+IGludGVybmFs
LmNob29zZXIuYWRkQmluZGluZyhlLmhhbmRsZSk7Ci0gICAgaW50ZXJuYWwuY2hvb3NlckludGVy
Y2VwdG9yLnN0YXJ0KCk7Ci0gICAgaW50ZXJuYWwuY2hvb3NlckNyb3NzRnJhbWVQcm94eSA9IG5l
dyBDcm9zc0ZyYW1lSGFuZGxlUHJveHkoCi0gICAgICAgIGhhbmRsZSA9PiBpbnRlcm5hbC5jaG9v
c2VyLmFkZEJpbmRpbmcoaGFuZGxlKSk7Ci0KLSAgICAvLyBXYWl0IGZvciBhIGNhbGwgdG8gR2V0
RGV2aWNlcygpIHRvIHBhc3MgYmV0d2VlbiB0aGUgcmVuZGVyZXIgYW5kIHRoZQotICAgIC8vIG1v
Y2sgaW4gb3JkZXIgdG8gZXN0YWJsaXNoIHRoYXQgZXZlcnl0aGluZyBpcyBzZXQgdXAuCi0gICAg
YXdhaXQgbmF2aWdhdG9yLnVzYi5nZXREZXZpY2VzKCk7Ci0gICAgaW50ZXJuYWwuaW5pdGlhbGl6
ZWQgPSB0cnVlOwotICB9Ci0KLSAgYXN5bmMgYXR0YWNoVG9XaW5kb3cob3RoZXJXaW5kb3cpIHsK
LSAgICBpZiAoIWludGVybmFsLmluaXRpYWxpemVkKQotICAgICAgdGhyb3cgbmV3IEVycm9yKCdD
YWxsIGluaXRpYWxpemUoKSBiZWZvcmUgYXR0YWNoVG9XaW5kb3coKS4nKTsKLQotICAgIG90aGVy
V2luZG93LmRldmljZU1hbmFnZXJJbnRlcmNlcHRvciA9Ci0gICAgICAgIG5ldyBvdGhlcldpbmRv
dy5Nb2pvSW50ZXJmYWNlSW50ZXJjZXB0b3IoCi0gICAgICAgICAgICBkZXZpY2UubW9qb20uVXNi
RGV2aWNlTWFuYWdlci5uYW1lKTsKLSAgICBvdGhlcldpbmRvdy5kZXZpY2VNYW5hZ2VySW50ZXJj
ZXB0b3Iub25pbnRlcmZhY2VyZXF1ZXN0ID0KLSAgICAgICAgZSA9PiBpbnRlcm5hbC5kZXZpY2VN
YW5hZ2VyQ3Jvc3NGcmFtZVByb3h5LmZvcndhcmRIYW5kbGUoZS5oYW5kbGUpOwotICAgIG90aGVy
V2luZG93LmRldmljZU1hbmFnZXJJbnRlcmNlcHRvci5zdGFydCgpOwotCi0gICAgb3RoZXJXaW5k
b3cuY2hvb3NlckludGVyY2VwdG9yID0KLSAgICAgICAgbmV3IG90aGVyV2luZG93Lk1vam9JbnRl
cmZhY2VJbnRlcmNlcHRvcigKLSAgICAgICAgICAgIGRldmljZS5tb2pvbS5Vc2JDaG9vc2VyU2Vy
dmljZS5uYW1lKTsKLSAgICBvdGhlcldpbmRvdy5jaG9vc2VySW50ZXJjZXB0b3Iub25pbnRlcmZh
Y2VyZXF1ZXN0ID0KLSAgICAgICAgZSA9PiBpbnRlcm5hbC5jaG9vc2VyQ3Jvc3NGcmFtZVByb3h5
LmZvcndhcmRIYW5kbGUoZS5oYW5kbGUpOwotICAgIG90aGVyV2luZG93LmNob29zZXJJbnRlcmNl
cHRvci5zdGFydCgpOwotCi0gICAgLy8gV2FpdCBmb3IgYSBjYWxsIHRvIEdldERldmljZXMoKSB0
byBwYXNzIGJldHdlZW4gdGhlIHJlbmRlcmVyIGFuZCB0aGUKLSAgICAvLyBtb2NrIGluIG9yZGVy
IHRvIGVzdGFibGlzaCB0aGF0IGV2ZXJ5dGhpbmcgaXMgc2V0IHVwLgotICAgIGF3YWl0IG90aGVy
V2luZG93Lm5hdmlnYXRvci51c2IuZ2V0RGV2aWNlcygpOwotICB9Ci0KLSAgYWRkRmFrZURldmlj
ZShkZXZpY2VJbml0KSB7Ci0gICAgaWYgKCFpbnRlcm5hbC5pbml0aWFsaXplZCkKLSAgICAgIHRo
cm93IG5ldyBFcnJvcignQ2FsbCBpbml0aWFsaXplKCkgYmVmb3JlIGFkZEZha2VEZXZpY2UoKS4n
KTsKLQotICAgIC8vIHxhZGREZXZpY2V8IGFuZCB8cmVtb3ZlRGV2aWNlfCBhcmUgY2FsbGVkIGlu
IGEgc2V0VGltZW91dCBjYWxsYmFjayBzbwotICAgIC8vIHRoYXQgdGVzdHMgZG8gbm90IHJlbHkg
b24gdGhlIGRldmljZSBiZWluZyBpbW1lZGlhdGVseSBhdmFpbGFibGUgd2hpY2gKLSAgICAvLyBt
YXkgbm90IGJlIHRydWUgZm9yIGFsbCBpbXBsZW1lbnRhdGlvbnMgb2YgdGhpcyB0ZXN0IEFQSS4K
LSAgICBsZXQgZmFrZURldmljZSA9IG5ldyBGYWtlVVNCRGV2aWNlKCk7Ci0gICAgc2V0VGltZW91
dCgKLSAgICAgICAgKCkgPT4gaW50ZXJuYWwuZGV2aWNlTWFuYWdlci5hZGREZXZpY2UoZmFrZURl
dmljZSwgZGV2aWNlSW5pdCksIDApOwotICAgIHJldHVybiBmYWtlRGV2aWNlOwotICB9Ci0KLSAg
cmVzZXQoKSB7Ci0gICAgaWYgKCFpbnRlcm5hbC5pbml0aWFsaXplZCkKLSAgICAgIHRocm93IG5l
dyBFcnJvcignQ2FsbCBpbml0aWFsaXplKCkgYmVmb3JlIHJlc2V0KCkuJyk7Ci0KLSAgICAvLyBS
ZXNldCB0aGUgbW9ja3MgaW4gYSBzZXRUaW1lb3V0IGNhbGxiYWNrIHNvIHRoYXQgdGVzdHMgZG8g
bm90IHJlbHkgb24KLSAgICAvLyB0aGUgZmFjdCB0aGF0IHRoaXMgcG9seWZpbGwgY2FuIGRvIHRo
aXMgc3luY2hyb25vdXNseS4KLSAgICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7Ci0g
ICAgICBzZXRUaW1lb3V0KCgpID0+IHsKLSAgICAgICAgaW50ZXJuYWwuZGV2aWNlTWFuYWdlci5y
ZW1vdmVBbGxEZXZpY2VzKCk7Ci0gICAgICAgIHJlc29sdmUoKTsKLSAgICAgIH0sIDApOwotICAg
IH0pOwotICB9Ci19Ci0KLW5hdmlnYXRvci51c2IudGVzdCA9IG5ldyBVU0JUZXN0KCk7Ci0KLX0p
KCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy9jaHJvbWl1bS93ZWJ1c2ItdGVzdC5qcy5oZWFkZXJzIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vd2Vi
dXNiLXRlc3QuanMuaGVhZGVycwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjgwNWMz
MjNkZjVhOTc1MjMxNjQ4YjgzMGUzM2NlMTgzYzNjYmJkMy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS93ZWJ1c2ItdGVzdC5qcy5oZWFkZXJzCisr
KyAvZGV2L251bGwKQEAgLTEgKzAsMCBAQAotQ29udGVudC1UeXBlOiB0ZXh0L2phdmFzY3JpcHQ7
IGNoYXJzZXQ9dXRmLTgKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2RvY3MvYXBpLm1kIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZG9jcy9hcGkubWQKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM3YTg5MWU5MWVkZDI5YWI3MDFjN2U5ODAxYTkwN2VlYTlm
ZGQ3YmEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZG9jcy9h
cGkubWQKKysrIC9kZXYvbnVsbApAQCAtMSw3MDQgKzAsMCBAQAotIyMgSW50cm9kdWN0aW9uICMj
Ci0KLXRlc3RoYXJuZXNzLmpzIHByb3ZpZGVzIGEgZnJhbWV3b3JrIGZvciB3cml0aW5nIHRlc3Rj
YXNlcy4gSXQgaXMgaW50ZW5kZWQgdG8KLXByb3ZpZGUgYSBjb252ZW5pZW50IEFQSSBmb3IgbWFr
aW5nIGNvbW1vbiBhc3NlcnRpb25zLCBhbmQgdG8gd29yayBib3RoCi1mb3IgdGVzdGluZyBzeW5j
aHJvbm91cyBhbmQgYXN5bmNocm9ub3VzIERPTSBmZWF0dXJlcyBpbiBhIHdheSB0aGF0Ci1wcm9t
b3RlcyBjbGVhciwgcm9idXN0LCB0ZXN0cy4KLQotIyMgQmFzaWMgVXNhZ2UgIyMKLQotVGhlIHRl
c3QgaGFybmVzcyBzY3JpcHQgY2FuIGJlIHVzZWQgZnJvbSBIVE1MIG9yIFNWRyBkb2N1bWVudHMg
YW5kIHdlYiB3b3JrZXIKLXNjcmlwdHMuCi0KLUZyb20gYW4gSFRNTCBvciBTVkcgZG9jdW1lbnQs
IHN0YXJ0IGJ5IGltcG9ydGluZyBib3RoIGB0ZXN0aGFybmVzcy5qc2AgYW5kCi1gdGVzdGhhcm5l
c3NyZXBvcnQuanNgIHNjcmlwdHMgaW50byB0aGUgZG9jdW1lbnQ6Ci0KLWBgYGh0bWwKLTxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLWBgYAotCi1SZWZl
ciB0byB0aGUgW1dlYiBXb3JrZXJzXSgjd2ViLXdvcmtlcnMpIHNlY3Rpb24gZm9yIGRldGFpbHMg
YW5kIGFuIGV4YW1wbGUgb24KLXRlc3Rpbmcgd2l0aGluIGEgd2ViIHdvcmtlci4KLQotV2l0aGlu
IGVhY2ggZmlsZSBvbmUgbWF5IGRlZmluZSBvbmUgb3IgbW9yZSB0ZXN0cy4gRWFjaCB0ZXN0IGlz
IGF0b21pYyBpbiB0aGUKLXNlbnNlIHRoYXQgYSBzaW5nbGUgdGVzdCBoYXMgYSBzaW5nbGUgcmVz
dWx0IChgUEFTU2AvYEZBSUxgL2BUSU1FT1VUYC9gTk9UUlVOYCkuCi1XaXRoaW4gZWFjaCB0ZXN0
IG9uZSBtYXkgaGF2ZSBhIG51bWJlciBvZiBhc3NlcnRzLiBUaGUgdGVzdCBmYWlscyBhdCB0aGUg
Zmlyc3QKLWZhaWxpbmcgYXNzZXJ0LCBhbmQgdGhlIHJlbWFpbmRlciBvZiB0aGUgdGVzdCBpcyAo
dHlwaWNhbGx5KSBub3QgcnVuLgotCi1JZiB0aGUgZmlsZSBjb250YWluaW5nIHRoZSB0ZXN0cyBp
cyBhIEhUTUwgZmlsZSwgYSB0YWJsZSBjb250YWluaW5nIHRoZSB0ZXN0Ci1yZXN1bHRzIHdpbGwg
YmUgYWRkZWQgdG8gdGhlIGRvY3VtZW50IGFmdGVyIGFsbCB0ZXN0cyBoYXZlIHJ1bi4gQnkgZGVm
YXVsdCB0aGlzCi13aWxsIGJlIGFkZGVkIHRvIGEgYGRpdmAgZWxlbWVudCB3aXRoIGBpZD1sb2dg
IGlmIGl0IGV4aXN0cywgb3IgYSBuZXcgYGRpdmAKLWVsZW1lbnQgYXBwZW5kZWQgdG8gYGRvY3Vt
ZW50LmJvZHlgIGlmIGl0IGRvZXMgbm90LgotCi1OT1RFOiBCeSBkZWZhdWx0IHRlc3RzIG11c3Qg
YmUgY3JlYXRlZCBiZWZvcmUgdGhlIGxvYWQgZXZlbnQgZmlyZXMuIEZvciB3YXlzCi10byBjcmVh
dGUgdGVzdHMgYWZ0ZXIgdGhlIGxvYWQgZXZlbnQsIHNlZSAiRGV0ZXJtaW5pbmcgd2hlbiBhbGwg
dGVzdHMKLWFyZSBjb21wbGV0ZSIsIGJlbG93LgotCi0jIyBTeW5jaHJvbm91cyBUZXN0cyAjIwot
Ci1UbyBjcmVhdGUgYSBzeW5jaHJvbm91cyB0ZXN0IHVzZSB0aGUgYHRlc3QoKWAgZnVuY3Rpb246
Ci0KLWBgYGpzCi10ZXN0KHRlc3RfZnVuY3Rpb24sIG5hbWUsIHByb3BlcnRpZXMpCi1gYGAKLQot
YHRlc3RfZnVuY3Rpb25gIGlzIGEgZnVuY3Rpb24gdGhhdCBjb250YWlucyB0aGUgY29kZSB0byB0
ZXN0LiBGb3IgZXhhbXBsZSBhCi10cml2aWFsIHRlc3QgZm9yIHRoZSBET00KLVtgaGFzRmVhdHVy
ZSgpYF0oaHR0cHM6Ly9kb20uc3BlYy53aGF0d2cub3JnLyNkb20tZG9taW1wbGVtZW50YXRpb24t
aGFzZmVhdHVyZSkKLW1ldGhvZCAod2hpY2ggaXMgZGVmaW5lZCB0byBhbHdheXMgcmV0dXJuIHRy
dWUpIHdvdWxkIGJlOgotCi1gYGBqcwotdGVzdChmdW5jdGlvbigpIHsKLSAgYXNzZXJ0X3RydWUo
ZG9jdW1lbnQuaW1wbGVtZW50YXRpb24uaGFzRmVhdHVyZSgpKTsKLX0sICJoYXNGZWF0dXJlKCkg
d2l0aCBubyBhcmd1bWVudHMiKQotYGBgCi0KLVRoZSBmdW5jdGlvbiBwYXNzZWQgaW4gaXMgcnVu
IGluIHRoZSBgdGVzdCgpYCBjYWxsLgotCi1gcHJvcGVydGllc2AgaXMgYSBqYXZhc2NyaXB0IG9i
amVjdCBmb3IgcGFzc2luZyBleHRyYSBvcHRpb25zIHRvIHRoZQotdGVzdC4gQ3VycmVudGx5IGl0
IGlzIG9ubHkgdXNlZCB0byBwcm92aWRlIHRlc3Qtc3BlY2lmaWMKLW1ldGFkYXRhLCBhcyBkZXNj
cmliZWQgaW4gdGhlIFttZXRhZGF0YV0oI21ldGFkYXRhKSBzZWN0aW9uIGJlbG93LgotCi0jIyBB
c3luY2hyb25vdXMgVGVzdHMgIyMKLQotVGVzdGluZyBhc3luY2hyb25vdXMgZmVhdHVyZXMgaXMg
c29tZXdoYXQgbW9yZSBjb21wbGV4IHNpbmNlIHRoZSByZXN1bHQgb2YKLWEgdGVzdCBtYXkgZGVw
ZW5kIG9uIG9uZSBvciBtb3JlIGV2ZW50cyBvciBvdGhlciBjYWxsYmFja3MuIFRoZSBBUEkgcHJv
dmlkZWQKLWZvciB0ZXN0aW5nIHRoZXNlIGZlYXR1cmVzIGlzIGludGVuZGVkIHRvIGJlIHJhdGhl
ciBsb3ctbGV2ZWwgYnV0IGhvcGVmdWxseQotYXBwbGljYWJsZSB0byBtYW55IHNpdHVhdGlvbnMu
Ci0KLVRvIGNyZWF0ZSBhIHRlc3QsIG9uZSBzdGFydHMgYnkgZ2V0dGluZyBhIGBUZXN0YCBvYmpl
Y3QgdXNpbmcgYGFzeW5jX3Rlc3RgOgotCi1gYGBqcwotYXN5bmNfdGVzdChuYW1lLCBwcm9wZXJ0
aWVzKQotYGBgCi0KLWUuZy4KLQotYGBganMKLXZhciB0ID0gYXN5bmNfdGVzdCgiRE9NQ29udGVu
dExvYWRlZCIpCi1gYGAKLQotQXNzZXJ0aW9ucyBjYW4gYmUgYWRkZWQgdG8gdGhlIHRlc3QgYnkg
Y2FsbGluZyB0aGUgc3RlcCBtZXRob2Qgb2YgdGhlIHRlc3QKLW9iamVjdCB3aXRoIGEgZnVuY3Rp
b24gY29udGFpbmluZyB0aGUgdGVzdCBhc3NlcnRpb25zOgotCi1gYGBqcwotZG9jdW1lbnQuYWRk
RXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsIGZ1bmN0aW9uKCkgewotICB0LnN0ZXAo
ZnVuY3Rpb24oKSB7Ci0gICAgYXNzZXJ0X3RydWUoZS5idWJibGVzLCAiYnViYmxlcyBzaG91bGQg
YmUgdHJ1ZSIpOwotICB9KTsKLX0pOwotYGBgCi0KLVdoZW4gYWxsIHRoZSBzdGVwcyBhcmUgY29t
cGxldGUsIHRoZSBgZG9uZSgpYCBtZXRob2QgbXVzdCBiZSBjYWxsZWQ6Ci0KLWBgYGpzCi10LmRv
bmUoKTsKLWBgYAotCi1BcyBhIGNvbnZlbmllbmNlLCBgYXN5bmNfdGVzdGAgY2FuIGFsc28gdGFr
ZXMgYSBmdW5jdGlvbiBhcyBmaXJzdCBhcmd1bWVudC4KLVRoaXMgZnVuY3Rpb24gaXMgY2FsbGVk
IHdpdGggdGhlIHRlc3Qgb2JqZWN0IGFzIGJvdGggaXRzIGB0aGlzYCBvYmplY3QgYW5kCi1maXJz
dCBhcmd1bWVudC4gVGhlIGFib3ZlIGV4YW1wbGUgY2FuIGJlIHJld3JpdHRlbiBhczoKLQotYGBg
anMKLWFzeW5jX3Rlc3QoZnVuY3Rpb24odCkgewotICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVy
KCJET01Db250ZW50TG9hZGVkIiwgZnVuY3Rpb24oKSB7Ci0gICAgdC5zdGVwKGZ1bmN0aW9uKCkg
ewotICAgICAgYXNzZXJ0X3RydWUoZS5idWJibGVzLCAiYnViYmxlcyBzaG91bGQgYmUgdHJ1ZSIp
OwotICAgIH0pOwotICAgIHQuZG9uZSgpOwotICB9KTsKLX0sICJET01Db250ZW50TG9hZGVkIik7
Ci1gYGAKLQotd2hpY2ggYXZvaWRzIGNsdXR0ZXJpbmcgdGhlIGdsb2JhbCBzY29wZSB3aXRoIHJl
ZmVyZW5jZXMgdG8gYXN5bmMKLXRlc3RzIGluc3RhbmNlcy4KLQotVGhlIHByb3BlcnRpZXMgYXJn
dW1lbnQgaXMgaWRlbnRpY2FsIHRvIHRoYXQgZm9yIGB0ZXN0KClgLgotCi1JbiBtYW55IGNhc2Vz
IGl0IGlzIGNvbnZlbmllbnQgdG8gcnVuIGEgc3RlcCBpbiByZXNwb25zZSB0byBhbiBldmVudCBv
ciBhCi1jYWxsYmFjay4gQSBjb252ZW5pZW50IG1ldGhvZCBvZiBkb2luZyB0aGlzIGlzIHRocm91
Z2ggdGhlIGBzdGVwX2Z1bmNgIG1ldGhvZAotd2hpY2ggcmV0dXJucyBhIGZ1bmN0aW9uIHRoYXQs
IHdoZW4gY2FsbGVkIHJ1bnMgYSB0ZXN0IHN0ZXAuIEZvciBleGFtcGxlCi0KLWBgYGpzCi1kb2N1
bWVudC5hZGRFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIiwgdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24oKSB7Ci0gIGFzc2VydF90cnVlKGUuYnViYmxlcywgImJ1YmJsZXMgc2hvdWxkIGJlIHRy
dWUiKTsKLSAgdC5kb25lKCk7Ci19KTsKLWBgYAotCi1BcyBhIGZ1cnRoZXIgY29udmVuaWVuY2Us
IHRoZSBgc3RlcF9mdW5jYCB0aGF0IGNhbGxzIGBkb25lKClgIGNhbiBpbnN0ZWFkCi11c2UgYHN0
ZXBfZnVuY19kb25lYCwgYXMgZm9sbG93czoKLQotYGBganMKLWRvY3VtZW50LmFkZEV2ZW50TGlz
dGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLCB0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uKCkgewot
ICBhc3NlcnRfdHJ1ZShlLmJ1YmJsZXMsICJidWJibGVzIHNob3VsZCBiZSB0cnVlIik7Ci19KTsK
LWBgYAotCi1Gb3IgYXN5bmNocm9ub3VzIGNhbGxiYWNrcyB0aGF0IHNob3VsZCBuZXZlciBleGVj
dXRlLCBgdW5yZWFjaGVkX2Z1bmNgIGNhbgotYmUgdXNlZC4gRm9yIGV4YW1wbGU6Ci0KLWBgYGpz
Ci1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExv
YWRlZCIsCi0gIHQudW5yZWFjaGVkX2Z1bmMoIkRPTUNvbnRlbnRMb2FkZWQgc2hvdWxkIG5vdCBi
ZSBmaXJlZCBvbiB0aGUgZG9jdW1lbnQgZWxlbWVudCIpKTsKLWBgYAotCi1LZWVwIGluIG1pbmQg
dGhhdCBvdGhlciB0ZXN0cyBjb3VsZCBzdGFydCBleGVjdXRpbmcgYmVmb3JlIGFuIEFzeW5jaHJv
bm91cwotVGVzdCBpcyBmaW5pc2hlZC4KLQotIyMgUHJvbWlzZSBUZXN0cyAjIwotCi1gcHJvbWlz
ZV90ZXN0YCBjYW4gYmUgdXNlZCB0byB0ZXN0IEFQSXMgdGhhdCBhcmUgYmFzZWQgb24gUHJvbWlz
ZXM6Ci0KLWBgYGpzCi1wcm9taXNlX3Rlc3QodGVzdF9mdW5jdGlvbiwgbmFtZSwgcHJvcGVydGll
cykKLWBgYAotCi1gdGVzdF9mdW5jdGlvbmAgaXMgYSBmdW5jdGlvbiB0aGF0IHJlY2VpdmVzIGEg
dGVzdCBhcyBhbiBhcmd1bWVudCBhbmQgcmV0dXJucyBhCi1wcm9taXNlLiBUaGUgdGVzdCBjb21w
bGV0ZXMgd2hlbiB0aGUgcmV0dXJuZWQgcHJvbWlzZSByZXNvbHZlcy4gVGhlIHRlc3QgZmFpbHMK
LWlmIHRoZSByZXR1cm5lZCBwcm9taXNlIHJlamVjdHMuCi0KLUUuZy46Ci0KLWBgYGpzCi1mdW5j
dGlvbiBmb28oKSB7Ci0gIHJldHVybiBQcm9taXNlLnJlc29sdmUoImZvbyIpOwotfQotCi1wcm9t
aXNlX3Rlc3QoZnVuY3Rpb24oKSB7Ci0gIHJldHVybiBmb28oKQotICAgIC50aGVuKGZ1bmN0aW9u
KHJlc3VsdCkgewotICAgICAgYXNzZXJ0X2VxdWFscyhyZXN1bHQsICJmb28iLCAiZm9vIHNob3Vs
ZCByZXR1cm4gJ2ZvbyciKTsKLSAgICB9KTsKLX0sICJTaW1wbGUgZXhhbXBsZSIpOwotYGBgCi0K
LUluIHRoZSBleGFtcGxlIGFib3ZlLCBgZm9vKClgIHJldHVybnMgYSBQcm9taXNlIHRoYXQgcmVz
b2x2ZXMgd2l0aCB0aGUgc3RyaW5nCi0iZm9vIi4gVGhlIGB0ZXN0X2Z1bmN0aW9uYCBwYXNzZWQg
aW50byBgcHJvbWlzZV90ZXN0YCBpbnZva2VzIGBmb29gIGFuZCBhdHRhY2hlcwotYSByZXNvbHZl
IHJlYWN0aW9uIHRoYXQgdmVyaWZpZXMgdGhlIHJldHVybmVkIHZhbHVlLgotCi1Ob3RlIHRoYXQg
aW4gdGhlIHByb21pc2UgY2hhaW4gY29uc3RydWN0ZWQgaW4gYHRlc3RfZnVuY3Rpb25gIGFzc2Vy
dGlvbnMgZG9uJ3QKLW5lZWQgdG8gd3JhcHBlZCBpbiBgc3RlcGAgb3IgYHN0ZXBfZnVuY2AgY2Fs
bHMuCi0KLVVubGlrZSBBc3luY2hyb25vdXMgVGVzdHMsIFByb21pc2UgVGVzdHMgZG9uJ3Qgc3Rh
cnQgcnVubmluZyB1bnRpbCBhZnRlciB0aGUKLXByZXZpb3VzIFByb21pc2UgVGVzdCBmaW5pc2hl
cy4KLQotYHByb21pc2VfcmVqZWN0c2AgY2FuIGJlIHVzZWQgdG8gdGVzdCBQcm9taXNlcyB0aGF0
IG5lZWQgdG8gcmVqZWN0OgotCi1gYGBqcwotcHJvbWlzZV9yZWplY3RzKHRlc3Rfb2JqZWN0LCBj
b2RlLCBwcm9taXNlLCBkZXNjcmlwdGlvbikKLWBgYAotCi1UaGUgYGNvZGVgIGFyZ3VtZW50IGlz
IGVxdWl2YWxlbnQgdG8gdGhlIHNhbWUgYXJndW1lbnQgdG8gdGhlIGBhc3NlcnRfdGhyb3dzYAot
ZnVuY3Rpb24uCi0KLUhlcmUncyBhbiBleGFtcGxlIHdoZXJlIHRoZSBgYmFyKClgIGZ1bmN0aW9u
IHJldHVybnMgYSBQcm9taXNlIHRoYXQgcmVqZWN0cwotd2l0aCBhIFR5cGVFcnJvcjoKLQotYGBg
anMKLWZ1bmN0aW9uIGJhcigpIHsKLSAgcmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyBUeXBlRXJy
b3IoKSk7Ci19Ci0KLXByb21pc2VfdGVzdChmdW5jdGlvbih0KSB7Ci0gIHJldHVybiBwcm9taXNl
X3JlamVjdHModCwgbmV3IFR5cGVFcnJvcigpLCBiYXIoKSk7Ci19LCAiQW5vdGhlciBleGFtcGxl
Iik7Ci1gYGAKLQotYEV2ZW50V2F0Y2hlcmAgaXMgYSBjb25zdHJ1Y3RvciBmdW5jdGlvbiB0aGF0
IGFsbG93cyBET00gZXZlbnRzIHRvIGJlIGhhbmRsZWQKLXVzaW5nIFByb21pc2VzLCB3aGljaCBj
YW4gbWFrZSBpdCBhIGxvdCBlYXNpZXIgdG8gdGVzdCBhIHZlcnkgc3BlY2lmaWMgc2VyaWVzCi1v
ZiBldmVudHMsIGluY2x1ZGluZyBlbnN1cmluZyB0aGF0IHVuZXhwZWN0ZWQgZXZlbnRzIGFyZSBu
b3QgZmlyZWQgYXQgYW55IHBvaW50LgotCi1IZXJlJ3MgYW4gZXhhbXBsZSBvZiBob3cgdG8gdXNl
IGBFdmVudFdhdGNoZXJgOgotCi1gYGBqcwotdmFyIHQgPSBhc3luY190ZXN0KCJFdmVudCBvcmRl
ciBvbiBhbmltYXRpb24gc3RhcnQiKTsKLQotdmFyIGFuaW1hdGlvbiA9IHdhdGNoZWROb2RlLmdl
dEFuaW1hdGlvbnMoKVswXTsKLXZhciBldmVudFdhdGNoZXIgPSBuZXcgRXZlbnRXYXRjaGVyKHQs
IHdhdGNoZWROb2RlLCBbJ2FuaW1hdGlvbnN0YXJ0JywKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FuaW1hdGlvbml0ZXJhdGlvbicsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhbmltYXRp
b25lbmQnXSk7Ci0KLWV2ZW50V2F0Y2hlci53YWl0X2ZvcignYW5pbWF0aW9uc3RhcnQnKS50aGVu
KHQuc3RlcF9mdW5jKGZ1bmN0aW9uKCkgewotICBhc3NlcnRFeHBlY3RlZFN0YXRlQXRTdGFydE9m
QW5pbWF0aW9uKCk7Ci0gIGFuaW1hdGlvbi5jdXJyZW50VGltZSA9IEVORF9USU1FOyAvLyBza2lw
IHRvIGVuZAotICAvLyBXZSBleHBlY3QgdHdvIGFuaW1hdGlvbml0ZXJhdGlvbiBldmVudHMgdGhl
biBhbiBhbmltYXRpb25lbmQgZXZlbnQgb24KLSAgLy8gc2tpcHBpbmcgdG8gdGhlIGVuZCBvZiB0
aGUgYW5pbWF0aW9uLgotICByZXR1cm4gZXZlbnRXYXRjaGVyLndhaXRfZm9yKFsnYW5pbWF0aW9u
aXRlcmF0aW9uJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FuaW1hdGlvbml0
ZXJhdGlvbicsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhbmltYXRpb25lbmQn
XSk7Ci19KSkudGhlbih0LnN0ZXBfZnVuYyhmdW5jdGlvbigpIHsKLSAgYXNzZXJ0RXhwZWN0ZWRT
dGF0ZUF0RW5kT2ZBbmltYXRpb24oKTsKLSAgdC5kb25lKCk7Ci19KSk7Ci1gYGAKLQotYHdhaXRf
Zm9yYCBlaXRoZXIgdGFrZXMgdGhlIG5hbWUgb2YgYSBzaW5nbGUgZXZlbnQgYW5kIHJldHVybnMg
YSBQcm9taXNlIHRoYXQKLXdpbGwgcmVzb2x2ZSBhZnRlciB0aGF0IGV2ZW50IGlzIGZpcmVkIGF0
IHRoZSB3YXRjaGVkIG5vZGUsIG9yIGVsc2UgaXQgdGFrZXMgYW4KLWFycmF5IG9mIHRoZSBuYW1l
cyBvZiBhIHNlcmllcyBvZiBldmVudHMgYW5kIHJldHVybnMgYSBQcm9taXNlIHRoYXQgd2lsbAot
cmVzb2x2ZSBhZnRlciB0aGF0IHNwZWNpZmljIHNlcmllcyBvZiBldmVudHMgaGFzIGJlZW4gZmly
ZWQgYXQgdGhlIHdhdGNoZWQgbm9kZS4KLQotYEV2ZW50V2F0Y2hlcmAgd2lsbCBhc3NlcnQgaWYg
YW4gZXZlbnQgb2NjdXJzIHdoaWxlIHRoZXJlIGlzIG5vIGB3YWl0X2ZvcmAoKQotY3JlYXRlZCBQ
cm9taXNlIHdhaXRpbmcgdG8gYmUgZnVsZmlsbGVkLCBvciBpZiB0aGUgZXZlbnQgaXMgb2YgYSBk
aWZmZXJlbnQgdHlwZQotdG8gdGhlIHR5cGUgY3VycmVudGx5IGV4cGVjdGVkLiBUaGlzIGVuc3Vy
ZXMgdGhhdCBvbmx5IHRoZSBldmVudHMgdGhhdCBhcmUKLWV4cGVjdGVkIG9jY3VyLCBpbiB0aGUg
Y29ycmVjdCBvcmRlciwgYW5kIHdpdGggdGhlIGNvcnJlY3QgdGltaW5nLgotCi0jIyBTaW5nbGUg
UGFnZSBUZXN0cyAjIwotCi1Tb21ldGltZXMsIHBhcnRpY3VsYXJseSB3aGVuIGRlYWxpbmcgd2l0
aCBhc3luY2hyb25vdXMgYmVoYXZpb3VyLAotaGF2aW5nIGV4YWN0bHkgb25lIHRlc3QgcGVyIHBh
Z2UgaXMgZGVzaXJhYmxlLCBhbmQgdGhlIG92ZXJoZWFkIG9mCi13cmFwcGluZyBldmVyeXRoaW5n
IGluIGZ1bmN0aW9ucyBmb3IgaXNvbGF0aW9uIGJlY29tZXMKLWJ1cmRlbnNvbWUuIEZvciB0aGVz
ZSBjYXNlcyBgdGVzdGhhcm5lc3MuanNgIHN1cHBvcnQgInNpbmdsZSBwYWdlCi10ZXN0cyIuCi0K
LUluIG9yZGVyIGZvciBhIHRlc3QgdG8gYmUgaW50ZXJwcmV0ZWQgYXMgYSBzaW5nbGUgcGFnZSB0
ZXN0LCB0aGVuCi1pdCBtdXN0IHNpbXBseSBub3QgY2FsbCBgdGVzdCgpYCBvciBgYXN5bmNfdGVz
dCgpYCBhbnl3aGVyZSBvbiB0aGUgcGFnZSwgYW5kCi1tdXN0IGNhbGwgdGhlIGBkb25lKClgIGZ1
bmN0aW9uIHRvIGluZGljYXRlIHRoYXQgdGhlIHRlc3QgaXMgY29tcGxldGUuIEFsbAotdGhlIGBh
c3NlcnRfKmAgZnVuY3Rpb25zIGFyZSBhdmFsaWFibGUgYXMgbm9ybWFsLCBidXQgYXJlIGNhbGxl
ZCB3aXRob3V0Ci10aGUgbm9ybWFsIHN0ZXAgZnVuY3Rpb24gd3JhcHBlci4gRm9yIGV4YW1wbGU6
Ci0KLWBgYGh0bWwKLTwhZG9jdHlwZSBodG1sPgotPHRpdGxlPkJhc2ljIGRvY3VtZW50LmJvZHkg
dGVzdDwvdGl0bGU+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9z
Y3JpcHQ+Ci08Ym9keT4KLSAgPHNjcmlwdD4KLSAgICBhc3NlcnRfZXF1YWxzKGRvY3VtZW50LmJv
ZHksIGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJib2R5IilbMF0pCi0gICAgZG9uZSgp
Ci0gPC9zY3JpcHQ+Ci1gYGAKLQotVGhlIHRlc3QgdGl0bGUgZm9yIHNpbmdsZSBwYWdlIHRlc3Rz
IGlzIGFsd2F5cyB0YWtlbiBmcm9tIGBkb2N1bWVudC50aXRsZWAuCi0KLSMjIE1ha2luZyBhc3Nl
cnRpb25zICMjCi0KLUZ1bmN0aW9ucyBmb3IgbWFraW5nIGFzc2VydGlvbnMgc3RhcnQgYGFzc2Vy
dF9gLiBUaGUgZnVsbCBsaXN0IG9mCi1hc3NlcnRzIGF2YWxpYWJsZSBpcyBkb2N1bWVudGVkIGlu
IHRoZSBbYXNzZXJ0c10oI2xpc3Qtb2YtYXNzZXJ0aW9ucykgc2VjdGlvbgotYmVsb3cuIFRoZSBn
ZW5lcmFsIHNpZ25hdHVyZSBpcwotCi1gYGBqcwotYXNzZXJ0X3NvbWV0aGluZyhhY3R1YWwsIGV4
cGVjdGVkLCBkZXNjcmlwdGlvbikKLWBgYAotCi1hbHRob3VnaCBub3QgYWxsIGFzc2VydGlvbnMg
cHJlY2lzZWx5IG1hdGNoIHRoaXMgcGF0dGVybiBlLmcuIGBhc3NlcnRfdHJ1ZWAKLW9ubHkgdGFr
ZXMgYGFjdHVhbGAgYW5kIGBkZXNjcmlwdGlvbmAgYXMgYXJndW1lbnRzLgotCi1UaGUgZGVzY3Jp
cHRpb24gcGFyYW1ldGVyIGlzIHVzZWQgdG8gcHJlc2VudCBtb3JlIHVzZWZ1bCBlcnJvciBtZXNz
YWdlcyB3aGVuCi1hIHRlc3QgZmFpbHMKLQotTk9URTogQWxsIGFzc2VydHMgbXVzdCBiZSBsb2Nh
dGVkIGluIGEgYHRlc3QoKWAgb3IgYSBzdGVwIG9mIGFuCi1gYXN5bmNfdGVzdCgpYCwgdW5sZXNz
IHRoZSB0ZXN0IGlzIGEgc2luZ2xlIHBhZ2UgdGVzdC4gQXNzZXJ0cyBvdXRzaWRlCi10aGVzZSBw
bGFjZXMgd29uJ3QgYmUgZGV0ZWN0ZWQgY29ycmVjdGx5IGJ5IHRoZSBoYXJuZXNzIGFuZCBtYXkg
Y2F1c2UKLXVuZXhwZWN0ZWQgZXhjZXB0aW9ucyB0aGF0IHdpbGwgbGVhZCB0byBhbiBlcnJvciBp
biB0aGUgaGFybmVzcy4KLQotIyMgQ2xlYW51cCAjIwotCi1PY2Nhc2lvbmFsbHkgdGVzdHMgbWF5
IGNyZWF0ZSBzdGF0ZSB0aGF0IHdpbGwgcGVyc2lzdCBiZXlvbmQgdGhlIHRlc3QgaXRzZWxmLgot
SW4gb3JkZXIgdG8gZW5zdXJlIHRoYXQgdGVzdHMgYXJlIGluZGVwZW5kZW50LCBzdWNoIHN0YXRl
IHNob3VsZCBiZSBjbGVhbmVkCi11cCBvbmNlIHRoZSB0ZXN0IGhhcyBhIHJlc3VsdC4gVGhpcyBj
YW4gYmUgYWNoaWV2ZWQgYnkgYWRkaW5nIGNsZWFudXAKLWNhbGxiYWNrcyB0byB0aGUgdGVzdC4g
U3VjaCBjYWxsYmFja3MgYXJlIHJlZ2lzdGVyZWQgdXNpbmcgdGhlIGBhZGRfY2xlYW51cGAKLWZ1
bmN0aW9uIG9uIHRoZSB0ZXN0IG9iamVjdC4gQWxsIHJlZ2lzdGVyZWQgY2FsbGJhY2tzIHdpbGwg
YmUgcnVuIGFzIHNvb24gYXMKLXRoZSB0ZXN0IHJlc3VsdCBpcyBrbm93bi4gRm9yIGV4YW1wbGUK
LQotYGBganMKLSAgdGVzdChmdW5jdGlvbigpIHsKLSAgICB2YXIgZWxlbWVudCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwotICAgIGVsZW1lbnQuc2V0QXR0cmlidXRlKCJpZCIsICJu
dWxsIik7Ci0gICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChlbGVtZW50KTsKLSAgICB0aGlz
LmFkZF9jbGVhbnVwKGZ1bmN0aW9uKCkgeyBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGVsZW1l
bnQpIH0pOwotICAgIGFzc2VydF9lcXVhbHMoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQobnVsbCks
IGVsZW1lbnQpOwotICB9LCAiQ2FsbGluZyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCB3aXRoIGEg
bnVsbCBhcmd1bWVudC4iKTsKLWBgYAotCi0jIyBUaW1lb3V0cyBpbiBUZXN0cyAjIwotCi1JbiBn
ZW5lcmFsIHRoZSB1c2Ugb2YgdGltZW91dHMgaW4gdGVzdHMgaXMgZGlzY291cmFnZWQgYmVjYXVz
ZSB0aGlzIGlzCi1hbiBvYnNlcnZlZCBzb3VyY2Ugb2YgaW5zdGFiaWxpdHkgaW4gcmVhbCB0ZXN0
cyB3aGVuIHJ1biBvbiBDSQotaW5mcmFzdHJ1Y3R1cmUuIEluIHBhcnRpY3VsYXIgaWYgYSB0ZXN0
IHNob3VsZCBmYWlsIHdoZW4gc29tZXRoaW5nCi1kb2Vzbid0IGhhcHBlbiwgaXQgaXMgZ29vZCBw
cmFjdGljZSB0byBzaW1wbHkgbGV0IHRoZSB0ZXN0IHJ1biB0byB0aGUKLWZ1bGwgdGltZW91dCBy
YXRoZXIgdGhhbiB0cnlpbmcgdG8gZ3Vlc3MgYW4gYXBwcm9wcmlhdGUgc2hvcnRlcgotdGltZW91
dCB0byB1c2UuCi0KLUluIG90aGVyIGNhc2VzIGl0IG1heSBiZSBuZWNlc3NhcnkgdG8gdXNlIGEg
dGltZW91dCAoZS5nLiwgZm9yIGEgdGVzdAotdGhhdCBvbmx5IHBhc3NlcyBpZiBzb21lIGV2ZW50
IGlzICpub3QqIGZpcmVkKS4gSW4gdGhpcyBjYXNlIGl0IGlzCi0qbm90KiBwZXJtaXR0ZWQgdG8g
dXNlIHRoZSBzdGFuZGFyZCBgc2V0VGltZW91dGAgZnVuY3Rpb24uIEluc3RlYWQgb25lCi1tdXN0
IHVzZSB0aGUgYHN0ZXBfdGltZW91dGAgZnVuY3Rpb246Ci0KLWBgYGpzCi1hc3luY190ZXN0KGZ1
bmN0aW9uKHQpIHsKLSAgdmFyIGdvdEV2ZW50ID0gZmFsc2U7Ci0gIGRvY3VtZW50LmFkZEV2ZW50
TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLCB0LnN0ZXBfZnVuYyhmdW5jdGlvbigpIHsKLSAg
ICBhc3NlcnRfZmFsc2UoZ290RXZlbnQsICJVbmV4cGVjdGVkIERPTUNvbnRlbnRMb2FkZWQgZXZl
bnQiKTsKLSAgICBnb3RFdmVudCA9IHRydWU7Ci0gICAgdC5zdGVwX3RpbWVvdXQoZnVuY3Rpb24o
KSB7IHQuZG9uZSgpOyB9LCAyMDAwKTsKLSAgfSk7Ci19LCAiT25seSBvbmUgRE9NQ29udGVudExv
YWRlZCIpOwotYGBgCi0KLVRoZSBkaWZmZXJlbmNlIGJldHdlZW4gYHNldFRpbWVvdXRgIGFuZCBg
c3RlcF90aW1lb3V0YCBpcyB0aGF0IHRoZQotbGF0dGVyIHRha2VzIGFjY291bnQgb2YgdGhlIHRp
bWVvdXQgbXVsdGlwbGllciB3aGVuIGNvbXB1dGluZyB0aGUKLWRlbGF5OyBlLmcuLCBpbiB0aGUg
YWJvdmUgY2FzZSBhIHRpbWVvdXQgbXVsdGlwbGllciBvZiAyIHdvdWxkIGNhdXNlIGEKLXBhdXNl
IG9mIDQwMDBtcyBiZWZvcmUgY2FsbGluZyB0aGUgY2FsbGJhY2suIFRoaXMgbWFrZXMgaXQgbGVz
cyBsaWtlbHkKLXRvIHByb2R1Y2UgdW5zdGFibGUgcmVzdWx0cyBpbiBzbG93IGNvbmZpZ3VyYXRp
b25zLgotCi1Ob3RlIHRoYXQgdGltZW91dHMgZ2VuZXJhbGx5IG5lZWQgdG8gYmUgYSBmZXcgc2Vj
b25kcyBsb25nIGluIG9yZGVyIHRvCi1wcm9kdWNlIHN0YWJsZSByZXN1bHRzIGluIGFsbCB0ZXN0
IGVudmlyb25tZW50cy4KLQotRm9yIHNpbmdsZS1wYWdlIHRlc3RzLCBgc3RlcF90aW1lb3V0YCBp
cyBhbHNvIGF2YWlsYWJsZSBhcyBhIGdsb2JhbAotZnVuY3Rpb24uCi0KLSMjIEhhcm5lc3MgVGlt
ZW91dCAjIwotCi1UaGUgb3ZlcmFsbCBoYXJuZXNzIGFkbWl0cyB0d28gdGltZW91dCB2YWx1ZXMg
YCJub3JtYWwiYCAodGhlCi1kZWZhdWx0KSBhbmQgYCJsb25nImAsIHVzZWQgZm9yIHRlc3RzIHdo
aWNoIGhhdmUgYW4gdW51c3VhbGx5IGxvbmcKLXJ1bnRpbWUuIEFmdGVyIHRoZSB0aW1lb3V0IGlz
IHJlYWNoZWQsIHRoZSBoYXJuZXNzIHdpbGwgc3RvcAotd2FpdGluZyBmb3IgZnVydGhlciBhc3lu
YyB0ZXN0cyB0byBjb21wbGV0ZS4gQnkgZGVmYXVsdCB0aGUKLXRpbWVvdXRzIGFyZSBzZXQgdG8g
MTBzIGFuZCA2MHMsIHJlc3BlY3RpdmVseSwgYnV0IG1heSBiZSBjaGFuZ2VkCi13aGVuIHRoZSB0
ZXN0IGlzIHJ1biBvbiBoYXJkd2FyZSB3aXRoIGRpZmZlcmVudCBwZXJmb3JtYW5jZQotY2hhcmFj
dGVyaXN0aWNzIHRvIGEgY29tbW9uIGRlc2t0b3AgY29tcHV0ZXIuICBJbiBvcmRlciB0byBvcHQt
aW4KLXRvIHRoZSBsb25nZXIgdGVzdCB0aW1lb3V0LCB0aGUgdGVzdCBtdXN0IHNwZWNpZnkgYSBt
ZXRhIGVsZW1lbnQ6Ci0KLWBgYGh0bWwKLTxtZXRhIG5hbWU9InRpbWVvdXQiIGNvbnRlbnQ9Imxv
bmciPgotYGBgCi0KLU9jY2FzaW9uYWxseSB0ZXN0cyBtYXkgaGF2ZSBhIHJhY2UgYmV0d2VlbiB0
aGUgaGFybmVzcyB0aW1pbmcgb3V0IGFuZAotYSBwYXJ0aWN1bGFyIHRlc3QgZmFpbGluZzsgdHlw
aWNhbGx5IHdoZW4gdGhlIHRlc3Qgd2FpdHMgZm9yIHNvbWUgZXZlbnQKLXRoYXQgbmV2ZXIgb2Nj
dXJzLiBJbiB0aGlzIGNhc2UgaXQgaXMgcG9zc2libGUgdG8gdXNlIGB0ZXN0LmZvcmNlX3RpbWVv
dXQoKWAKLWluIHBsYWNlIG9mIGBhc3NlcnRfdW5yZWFjaGVkKClgLCB0byBpbW1lZGlhdGVseSBm
YWlsIHRoZSB0ZXN0IGJ1dCB3aXRoIGEKLXN0YXR1cyBvZiBgVElNRU9VVGAuIFRoaXMgc2hvdWxk
IG9ubHkgYmUgdXNlZCBhcyBhIGxhc3QgcmVzb3J0IHdoZW4gaXQgaXMKLW5vdCBwb3NzaWJsZSB0
byBtYWtlIHRoZSB0ZXN0IHJlbGlhYmxlIGluIHNvbWUgb3RoZXIgd2F5LgotCi0jIyBTZXR1cCAj
IwotCi1Tb21ldGltZXMgdGVzdHMgcmVxdWlyZSBub24tdHJpdmlhbCBzZXR1cCB0aGF0IG1heSBm
YWlsLiBGb3IgdGhpcyBwdXJwb3NlCi10aGVyZSBpcyBhIGBzZXR1cCgpYCBmdW5jdGlvbiwgdGhh
dCBtYXkgYmUgY2FsbGVkIHdpdGggb25lIG9yIHR3byBhcmd1bWVudHMuCi1UaGUgdHdvIGFyZ3Vt
ZW50IHZlcnNpb24gaXM6Ci0KLWBgYGpzCi1zZXR1cChmdW5jLCBwcm9wZXJ0aWVzKQotYGBgCi0K
LVRoZSBvbmUgYXJndW1lbnQgdmVyc2lvbnMgbWF5IG9taXQgZWl0aGVyIGFyZ3VtZW50LgotZnVu
YyBpcyBhIGZ1bmN0aW9uIHRvIGJlIHJ1biBzeW5jaHJvbm91c2x5LiBgc2V0dXAoKWAgYmVjb21l
cyBhIG5vLW9wIG9uY2UKLWFueSB0ZXN0cyBoYXZlIHJldHVybmVkIHJlc3VsdHMuIFByb3BlcnRp
ZXMgYXJlIGdsb2JhbCBwcm9wZXJ0aWVzIG9mIHRoZSB0ZXN0Ci1oYXJuZXNzLiBDdXJyZW50bHkg
cmVjb2duaXNlZCBwcm9wZXJ0aWVzIGFyZToKLQotYGV4cGxpY2l0X2RvbmVgIC0gV2FpdCBmb3Ig
YW4gZXhwbGljaXQgY2FsbCB0byBkb25lKCkgYmVmb3JlIGRlY2xhcmluZyBhbGwKLXRlc3RzIGNv
bXBsZXRlIChzZWUgYmVsb3c7IGltcGxpY2l0bHkgdHJ1ZSBmb3Igc2luZ2xlIHBhZ2UgdGVzdHMp
Ci0KLWBvdXRwdXRfZG9jdW1lbnRgIC0gVGhlIGRvY3VtZW50IHRvIHdoaWNoIHJlc3VsdHMgc2hv
dWxkIGJlIGxvZ2dlZC4gQnkgZGVmYXVsdAotdGhpcyBpcyB0aGUgY3VycmVudCBkb2N1bWVudCBi
dXQgY291bGQgYmUgYW4gYW5jZXN0b3IgZG9jdW1lbnQgaW4gc29tZSBjYXNlcwotZS5nLiBhIFNW
RyB0ZXN0IGxvYWRlZCBpbiBhbiBIVE1MIHdyYXBwZXIKLQotYGV4cGxpY2l0X3RpbWVvdXRgIC0g
ZGlzYWJsZSBmaWxlIHRpbWVvdXQ7IG9ubHkgc3RvcCB3YWl0aW5nIGZvciByZXN1bHRzCi13aGVu
IHRoZSBgdGltZW91dCgpYCBmdW5jdGlvbiBpcyBjYWxsZWQgKHR5cGljYWxseSBmb3IgdXNlIHdo
ZW4gaW50ZWdyYXRpbmcKLXdpdGggc29tZSBleGlzdGluZyB0ZXN0IGZyYW1ld29yayB0aGF0IGhh
cyBpdHMgb3duIHRpbWVvdXQgbWVjaGFuaXNtKS4KLQotYGFsbG93X3VuY2F1Z2h0X2V4Y2VwdGlv
bmAgLSBkb24ndCB0cmVhdCBhbiB1bmNhdWdodCBleGNlcHRpb24gYXMgYW4gZXJyb3I7Ci1uZWVk
ZWQgd2hlbiBlLmcuIHRlc3RpbmcgdGhlIGB3aW5kb3cub25lcnJvcmAgaGFuZGxlci4KLQotYHRp
bWVvdXRfbXVsdGlwbGllcmAgLSBNdWx0aXBsaWVyIHRvIGFwcGx5IHRvIHBlci10ZXN0IHRpbWVv
dXRzLgotCi0jIyBEZXRlcm1pbmluZyB3aGVuIGFsbCB0ZXN0cyBhcmUgY29tcGxldGUgIyMKLQot
QnkgZGVmYXVsdCB0aGUgdGVzdCBoYXJuZXNzIHdpbGwgYXNzdW1lIHRoZXJlIGFyZSBubyBtb3Jl
IHJlc3VsdHMgdG8gY29tZQotd2hlbjoKLQotIDEuIFRoZXJlIGFyZSBubyBgVGVzdGAgb2JqZWN0
cyB0aGF0IGhhdmUgYmVlbiBjcmVhdGVkIGJ1dCBub3QgY29tcGxldGVkCi0gMi4gVGhlIGxvYWQg
ZXZlbnQgb24gdGhlIGRvY3VtZW50IGhhcyBmaXJlZAotCi1UaGlzIGJlaGF2aW91ciBjYW4gYmUg
b3ZlcnJpZGRlbiBieSBzZXR0aW5nIHRoZSBgZXhwbGljaXRfZG9uZWAgcHJvcGVydHkgdG8KLXRy
dWUgaW4gYSBjYWxsIHRvIGBzZXR1cCgpYC4gSWYgYGV4cGxpY2l0X2RvbmVgIGlzIHRydWUsIHRo
ZSB0ZXN0IGhhcm5lc3Mgd2lsbAotbm90IGFzc3VtZSBpdCBpcyBkb25lIHVudGlsIHRoZSBnbG9i
YWwgYGRvbmUoKWAgZnVuY3Rpb24gaXMgY2FsbGVkLiBPbmNlIGBkb25lKClgCi1pcyBjYWxsZWQs
IHRoZSB0d28gY29uZGl0aW9ucyBhYm92ZSBhcHBseSBsaWtlIG5vcm1hbC4KLQotRGVkaWNhdGVk
IGFuZCBzaGFyZWQgd29ya2VycyBkb24ndCBoYXZlIGFuIGV2ZW50IHRoYXQgY29ycmVzcG9uZHMg
dG8gdGhlIGBsb2FkYAotZXZlbnQgaW4gYSBkb2N1bWVudC4gVGhlcmVmb3JlIHRoZXNlIHdvcmtl
ciB0ZXN0cyBhbHdheXMgYmVoYXZlIGFzIGlmIHRoZQotYGV4cGxpY2l0X2RvbmVgIHByb3BlcnR5
IGlzIHNldCB0byB0cnVlLiBTZXJ2aWNlIHdvcmtlcnMgZGVwZW5kIG9uIHRoZQotW2luc3RhbGxd
KGh0dHBzOi8vc2xpZ2h0bHlvZmYuZ2l0aHViLmlvL1NlcnZpY2VXb3JrZXIvc3BlYy9zZXJ2aWNl
X3dvcmtlci9pbmRleC5odG1sI3NlcnZpY2Utd29ya2VyLWdsb2JhbC1zY29wZS1pbnN0YWxsLWV2
ZW50KQotZXZlbnQgd2hpY2ggaXMgZmlyZWQgZm9sbG93aW5nIHRoZSBjb21wbGV0aW9uIG9mIFty
dW5uaW5nIHRoZQotd29ya2VyXShodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFn
ZS93b3JrZXJzLmh0bWwjcnVuLWEtd29ya2VyKS4KLQotIyMgR2VuZXJhdGluZyB0ZXN0cyAjIwot
Ci1UaGVyZSBhcmUgc2NlbmFyaW9zIGluIHdoaWNoIGlzIGlzIGRlc2lyYWJsZSB0byBjcmVhdGUg
YSBsYXJnZSBudW1iZXIgb2YKLShzeW5jaHJvbm91cykgdGVzdHMgdGhhdCBhcmUgaW50ZXJuYWxs
eSBzaW1pbGFyIGJ1dCB2YXJ5IGluIHRoZSBwYXJhbWV0ZXJzCi11c2VkLiBUbyBtYWtlIHRoaXMg
ZWFzaWVyLCB0aGUgYGdlbmVyYXRlX3Rlc3RzYCBmdW5jdGlvbiBhbGxvd3MgYSBzaW5nbGUKLWZ1
bmN0aW9uIHRvIGJlIGNhbGxlZCB3aXRoIGVhY2ggc2V0IG9mIHBhcmFtZXRlcnMgaW4gYSBsaXN0
OgotCi1gYGBqcwotZ2VuZXJhdGVfdGVzdHModGVzdF9mdW5jdGlvbiwgcGFyYW1ldGVyX2xpc3Rz
LCBwcm9wZXJ0aWVzKQotYGBgCi0KLUZvciBleGFtcGxlOgotCi1gYGBqcwotZ2VuZXJhdGVfdGVz
dHMoYXNzZXJ0X2VxdWFscywgWwotICAgIFsiU3VtIG9uZSBhbmQgb25lIiwgMSsxLCAyXSwKLSAg
ICBbIlN1bSBvbmUgYW5kIHplcm8iLCAxKzAsIDFdCi0gICAgXSkKLWBgYAotCi1JcyBlcXVpdmFs
ZW50IHRvOgotCi1gYGBqcwotdGVzdChmdW5jdGlvbigpIHthc3NlcnRfZXF1YWxzKDErMSwgMil9
LCAiU3VtIG9uZSBhbmQgb25lIikKLXRlc3QoZnVuY3Rpb24oKSB7YXNzZXJ0X2VxdWFscygxKzAs
IDEpfSwgIlN1bSBvbmUgYW5kIHplcm8iKQotYGBgCi0KLU5vdGUgdGhhdCB0aGUgZmlyc3QgaXRl
bSBpbiBlYWNoIHBhcmFtZXRlciBsaXN0IGNvcnJlc3BvbmRzIHRvIHRoZSBuYW1lIG9mCi10aGUg
dGVzdC4KLQotVGhlIHByb3BlcnRpZXMgYXJndW1lbnQgaXMgaWRlbnRpY2FsIHRvIHRoYXQgZm9y
IGB0ZXN0KClgLiBUaGlzIG1heSBiZSBhCi1zaW5nbGUgb2JqZWN0ICh1c2VkIGZvciBhbGwgZ2Vu
ZXJhdGVkIHRlc3RzKSBvciBhbiBhcnJheS4KLQotIyMgQ2FsbGJhY2sgQVBJICMjCi0KLVRoZSBm
cmFtZXdvcmsgcHJvdmlkZXMgY2FsbGJhY2tzIGNvcnJlc3BvbmRpbmcgdG8gNCBldmVudHM6Ci0K
LSAqIGBzdGFydGAgLSB0cmlnZ2VyZWQgd2hlbiB0aGUgZmlyc3QgVGVzdCBpcyBjcmVhdGVkCi0g
KiBgdGVzdF9zdGF0ZWAgLSB0cmlnZ2VyZWQgd2hlbiBhIHRlc3Qgc3RhdGUgY2hhbmdlcwotICog
YHJlc3VsdGAgLSB0cmlnZ2VyZWQgd2hlbiBhIHRlc3QgcmVzdWx0IGlzIHJlY2VpdmVkCi0gKiBg
Y29tcGxldGVgIC0gdHJpZ2dlcmVkIHdoZW4gYWxsIHJlc3VsdHMgYXJlIHJlY2VpdmVkCi0KLVRo
ZSBwYWdlIGRlZmluaW5nIHRoZSB0ZXN0cyBtYXkgYWRkIGNhbGxiYWNrcyBmb3IgdGhlc2UgZXZl
bnRzIGJ5IGNhbGxpbmcKLXRoZSBmb2xsb3dpbmcgbWV0aG9kczoKLQotICBgYWRkX3N0YXJ0X2Nh
bGxiYWNrKGNhbGxiYWNrKWAgLSBjYWxsYmFjayBjYWxsZWQgd2l0aCBubyBhcmd1bWVudHMKLQot
ICBgYWRkX3Rlc3Rfc3RhdGVfY2FsbGJhY2soY2FsbGJhY2spYCAtIGNhbGxiYWNrIGNhbGxlZCB3
aXRoIGEgdGVzdCBhcmd1bWVudAotCi0gIGBhZGRfcmVzdWx0X2NhbGxiYWNrKGNhbGxiYWNrKWAg
LSBjYWxsYmFjayBjYWxsZWQgd2l0aCBhIHRlc3QgYXJndW1lbnQKLQotICBgYWRkX2NvbXBsZXRp
b25fY2FsbGJhY2soY2FsbGJhY2spYCAtIGNhbGxiYWNrIGNhbGxlZCB3aXRoIGFuIGFycmF5IG9m
IHRlc3RzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIGEgc3Rh
dHVzIG9iamVjdAotCi1UZXN0cyBoYXZlIHRoZSBmb2xsb3dpbmcgcHJvcGVydGllczoKLQotICAq
IGBzdGF0dXNgIC0gQSBzdGF0dXMgY29kZS4gVGhpcyBjYW4gYmUgY29tcGFyZWQgdG8gdGhlIGBQ
QVNTYCwgYEZBSUxgLAotICAgICAgICAgICAgICAgYFRJTUVPVVRgIGFuZCBgTk9UUlVOYCBwcm9w
ZXJ0aWVzIG9uIHRoZSB0ZXN0IG9iamVjdAotCi0gICogYG1lc3NhZ2VgIC0gQSBtZXNzYWdlIGlu
ZGljYXRpbmcgdGhlIHJlYXNvbiBmb3IgZmFpbHVyZS4gSW4gdGhlIGZ1dHVyZSB0aGlzCi0gICAg
ICAgICAgICAgICAgd2lsbCBhbHdheXMgYmUgYSBzdHJpbmcKLQotIFRoZSBzdGF0dXMgb2JqZWN0
IGdpdmVzIHRoZSBvdmVyYWxsIHN0YXR1cyBvZiB0aGUgaGFybmVzcy4gSXQgaGFzIHRoZQotIGZv
bGxvd2luZyBwcm9wZXJ0aWVzOgotCi0gKiBgc3RhdHVzYCAtIENhbiBiZSBjb21wYXJlZCB0byB0
aGUgYE9LYCwgYEVSUk9SYCBhbmQgYFRJTUVPVVRgIHByb3BlcnRpZXMKLQotICogYG1lc3NhZ2Vg
IC0gQW4gZXJyb3IgbWVzc2FnZSBzZXQgd2hlbiB0aGUgc3RhdHVzIGlzIGBFUlJPUmAKLQotIyMg
RXh0ZXJuYWwgQVBJICMjCi0KLUluIG9yZGVyIHRvIGNvbGxlY3QgdGhlIHJlc3VsdHMgb2YgbXVs
dGlwbGUgcGFnZXMgY29udGFpbmluZyB0ZXN0cywgdGhlIHRlc3QKLWhhcm5lc3Mgd2lsbCwgd2hl
biBsb2FkZWQgaW4gYSBuZXN0ZWQgYnJvd3NpbmcgY29udGV4dCwgYXR0ZW1wdCB0byBjYWxsCi1j
ZXJ0YWluIGZ1bmN0aW9ucyBpbiBlYWNoIGFuY2VzdG9yIGFuZCBvcGVuZXIgYnJvd3NpbmcgY29u
dGV4dDoKLQotICogc3RhcnQgLSBgc3RhcnRfY2FsbGJhY2tgCi0gKiB0ZXN0XF9zdGF0ZSAtIGB0
ZXN0X3N0YXRlX2NhbGxiYWNrYAotICogcmVzdWx0IC0gYHJlc3VsdF9jYWxsYmFja2AKLSAqIGNv
bXBsZXRlIC0gYGNvbXBsZXRpb25fY2FsbGJhY2tgCi0KLVRoZXNlIGFyZSBnaXZlbiB0aGUgc2Ft
ZSBhcmd1bWVudHMgYXMgdGhlIGNvcnJlc3BvbmRpbmcgaW50ZXJuYWwgY2FsbGJhY2tzCi1kZXNj
cmliZWQgYWJvdmUuCi0KLSMjIEV4dGVybmFsIEFQSSB0aHJvdWdoIGNyb3NzLWRvY3VtZW50IG1l
c3NhZ2luZyAjIwotCi1XaGVyZSBzdXBwb3J0ZWQsIHRoZSB0ZXN0IGhhcm5lc3Mgd2lsbCBhbHNv
IHNlbmQgbWVzc2FnZXMgdXNpbmcgY3Jvc3MtZG9jdW1lbnQKLW1lc3NhZ2luZyB0byBlYWNoIGFu
Y2VzdG9yIGFuZCBvcGVuZXIgYnJvd3NpbmcgY29udGV4dC4gU2luY2UgaXQgdXNlcyB0aGUKLXdp
bGRjYXJkIGtleXdvcmQgKFwqKSwgY3Jvc3Mtb3JpZ2luIGNvbW11bmljYXRpb24gaXMgZW5hYmxl
ZCBhbmQgc2NyaXB0IG9uCi1kaWZmZXJlbnQgb3JpZ2lucyBjYW4gY29sbGVjdCB0aGUgcmVzdWx0
cy4KLQotVGhpcyBBUEkgZm9sbG93cyBzaW1pbGFyIGNvbnZlbnRpb25zIGFzIHRob3NlIGRlc2Ny
aWJlZCBhYm92ZSBvbmx5IHNsaWdodGx5Ci1tb2RpZmllZCB0byBhY2NvbW1vZGF0ZSBtZXNzYWdl
IGV2ZW50IEFQSS4gRWFjaCBtZXNzYWdlIGlzIHNlbnQgYnkgdGhlIGhhcm5lc3MKLWlzIHBhc3Nl
ZCBhIHNpbmdsZSB2YW5pbGxhIG9iamVjdCwgYXZhaWxhYmxlIGFzIHRoZSBgZGF0YWAgcHJvcGVy
dHkgb2YgdGhlIGV2ZW50Ci1vYmplY3QuIFRoZXNlIG9iamVjdHMgYXJlIHN0cnVjdHVyZWQgYXMg
Zm9sbG93czoKLQotICogc3RhcnQgLSBgeyB0eXBlOiAic3RhcnQiIH1gCi0gKiB0ZXN0XF9zdGF0
ZSAtIGB7IHR5cGU6ICJ0ZXN0X3N0YXRlIiwgdGVzdDogVGVzdCB9YAotICogcmVzdWx0IC0gYHsg
dHlwZTogInJlc3VsdCIsIHRlc3Q6IFRlc3QgfWAKLSAqIGNvbXBsZXRlIC0gYHsgdHlwZTogImNv
bXBsZXRlIiwgdGVzdHM6IFtUZXN0LCAuLi5dLCBzdGF0dXM6IFRlc3RzU3RhdHVzIH1gCi0KLSMj
IFdlYiBXb3JrZXJzICMjCi0KLVRoZSBgdGVzdGhhcm5lc3MuanNgIHNjcmlwdCBjYW4gYmUgdXNl
ZCBmcm9tIHdpdGhpbiBbZGVkaWNhdGVkIHdvcmtlcnMsIHNoYXJlZAotd29ya2Vyc10oaHR0cHM6
Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2Uvd29ya2Vycy5odG1sKSBhbmQgW3NlcnZp
Y2UKLXdvcmtlcnNdKGh0dHBzOi8vc2xpZ2h0bHlvZmYuZ2l0aHViLmlvL1NlcnZpY2VXb3JrZXIv
c3BlYy9zZXJ2aWNlX3dvcmtlci8pLgotCi1UZXN0aW5nIGZyb20gYSB3b3JrZXIgc2NyaXB0IGlz
IGRpZmZlcmVudCBmcm9tIHRlc3RpbmcgZnJvbSBhbiBIVE1MIGRvY3VtZW50IGluCi1zZXZlcmFs
IHdheXM6Ci0KLSogV29ya2VycyBoYXZlIG5vIHJlcG9ydGluZyBjYXBhYmlsaXR5IHNpbmNlIHRo
ZXkgYXJlIHJ1bmluZyBpbiB0aGUgYmFja2dyb3VuZC4KLSAgSGVuY2UgdGhleSByZWx5IG9uIGB0
ZXN0aGFybmVzcy5qc2AgcnVubmluZyBpbiBhIGNvbXBhbmlvbiBjbGllbnQgSFRNTCBkb2N1bWVu
dAotICBmb3IgcmVwb3J0aW5nLgotCi0qIFNoYXJlZCBhbmQgc2VydmljZSB3b3JrZXJzIGRvIG5v
dCBoYXZlIGEgdW5pcXVlIGNsaWVudCBkb2N1bWVudCBzaW5jZSB0aGVyZQotICBjb3VsZCBiZSBt
b3JlIHRoYW4gb25lIGRvY3VtZW50IHRoYXQgY29tbXVuaWNhdGVzIHdpdGggdGhlc2Ugd29ya2Vy
cy4gU28gYQotICBjbGllbnQgZG9jdW1lbnQgbmVlZHMgdG8gZXhwbGljaXRseSBjb25uZWN0IHRv
IGEgd29ya2VyIGFuZCBmZXRjaCB0ZXN0IHJlc3VsdHMKLSAgZnJvbSBpdCB1c2luZyBgZmV0Y2hf
dGVzdHNfZnJvbV93b3JrZXJgLiBUaGlzIGlzIHRydWUgZXZlbiBmb3IgYSBkZWRpY2F0ZWQKLSAg
d29ya2VyLiBPbmNlIGNvbm5lY3RlZCwgdGhlIGluZGl2aWR1YWwgdGVzdHMgcnVubmluZyBpbiB0
aGUgd29ya2VyIChvciB0aG9zZQotICB0aGF0IGhhdmUgYWxyZWFkeSBydW4gdG8gY29tcGxldGlv
bikgd2lsbCBiZSBhdXRvbWF0aWNhbGx5IHJlZmxlY3RlZCBpbiB0aGUKLSAgY2xpZW50IGRvY3Vt
ZW50LgotCi0qIFRoZSBjbGllbnQgZG9jdW1lbnQgY29udHJvbHMgdGhlIHRpbWVvdXQgb2YgdGhl
IHRlc3RzLiBBbGwgd29ya2VyIHNjcmlwdHMgYWN0Ci0gIGFzIGlmIHRoZXkgd2VyZSBzdGFydGVk
IHdpdGggdGhlIGBleHBsaWNpdF90aW1lb3V0YCBvcHRpb24gKHNlZSB0aGUgW0hhcm5lc3MKLSAg
dGltZW91dF0oI2hhcm5lc3MtdGltZW91dCkgc2VjdGlvbikuCi0KLSogRGVkaWNhdGVkIGFuZCBz
aGFyZWQgd29ya2VycyBkb24ndCBoYXZlIGFuIGVxdWl2YWxlbnQgb2YgYW4gYG9ubG9hZGAgZXZl
bnQuCi0gIFRodXMgdGhlIHRlc3QgaGFybmVzcyBoYXMgbm8gd2F5IHRvIGtub3cgd2hlbiBhbGwg
dGVzdHMgaGF2ZSBjb21wbGV0ZWQgKHNlZQotICBbRGV0ZXJtaW5pbmcgd2hlbiBhbGwgdGVzdHMg
YXJlCi0gIGNvbXBsZXRlXSgjZGV0ZXJtaW5pbmctd2hlbi1hbGwtdGVzdHMtYXJlLWNvbXBsZXRl
KSkuIFNvIHRoZXNlIHdvcmtlciB0ZXN0cwotICBiZWhhdmUgYXMgaWYgdGhleSB3ZXJlIHN0YXJ0
ZWQgd2l0aCB0aGUgYGV4cGxpY2l0X2RvbmVgIG9wdGlvbi4gU2VydmljZQotICB3b3JrZXJzIGRl
cGVuZCBvbiB0aGUKLSAgW29uaW5zdGFsbF0oaHR0cHM6Ly9zbGlnaHRseW9mZi5naXRodWIuaW8v
U2VydmljZVdvcmtlci9zcGVjL3NlcnZpY2Vfd29ya2VyL2luZGV4Lmh0bWwjc2VydmljZS13b3Jr
ZXItZ2xvYmFsLXNjb3BlLWluc3RhbGwtZXZlbnQpCi0gIGV2ZW50IGFuZCBkb24ndCByZXF1aXJl
IGFuIGV4cGxpY2l0IGBkb25lYCBjYWxsLgotCi1IZXJlJ3MgYW4gZXhhbXBsZSB0aGF0IHVzZXMg
YSBkZWRpY2F0ZWQgd29ya2VyLgotCi1gd29ya2VyLmpzYDoKLQotYGBganMKLWltcG9ydFNjcmlw
dHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLQotdGVzdChmdW5jdGlvbih0KSB7Ci0g
IGFzc2VydF90cnVlKHRydWUsICJ0cnVlIGlzIHRydWUiKTsKLX0sICJTaW1wbGUgdGVzdCIpOwot
Ci0vLyBkb25lKCkgaXMgbmVlZGVkIGJlY2F1c2UgdGhlIHRlc3RoYXJuZXNzIGlzIHJ1bm5pbmcg
YXMgaWYgZXhwbGljaXRfZG9uZQotLy8gd2FzIHNwZWNpZmllZC4KLWRvbmUoKTsKLWBgYAotCi1g
dGVzdC5odG1sYDoKLQotYGBgaHRtbAotPCFET0NUWVBFIGh0bWw+Ci08dGl0bGU+U2ltcGxlIHRl
c3Q8L3RpdGxlPgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2Ny
aXB0PgotPGRpdiBpZD0ibG9nIj48L2Rpdj4KLTxzY3JpcHQ+Ci0KLWZldGNoX3Rlc3RzX2Zyb21f
d29ya2VyKG5ldyBXb3JrZXIoIndvcmtlci5qcyIpKTsKLQotPC9zY3JpcHQ+Ci1gYGAKLQotVGhl
IGFyZ3VtZW50IHRvIHRoZSBgZmV0Y2hfdGVzdHNfZnJvbV93b3JrZXJgIGZ1bmN0aW9uIGNhbiBi
ZSBhCi1bYFdvcmtlcmBdKGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL3dv
cmtlcnMuaHRtbCNkZWRpY2F0ZWQtd29ya2Vycy1hbmQtdGhlLXdvcmtlci1pbnRlcmZhY2UpLAot
YSBbYFNoYXJlZFdvcmtlcmBdKGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdl
L3dvcmtlcnMuaHRtbCNzaGFyZWQtd29ya2Vycy1hbmQtdGhlLXNoYXJlZHdvcmtlci1pbnRlcmZh
Y2UpCi1vciBhIFtgU2VydmljZVdvcmtlcmBdKGh0dHBzOi8vc2xpZ2h0bHlvZmYuZ2l0aHViLmlv
L1NlcnZpY2VXb3JrZXIvc3BlYy9zZXJ2aWNlX3dvcmtlci8jc2VydmljZS13b3JrZXItb2JqKS4K
LU9uY2UgY2FsbGVkLCB0aGUgY29udGFpbmluZyBkb2N1bWVudCBmZXRjaGVzIGFsbCB0aGUgdGVz
dHMgZnJvbSB0aGUgd29ya2VyIGFuZAotYmVoYXZlcyBhcyBpZiB0aG9zZSB0ZXN0cyB3ZXJlIHJ1
bm5pbmcgaW4gdGhlIGNvbnRhaW5pbmcgZG9jdW1lbnQgaXRzZWxmLgotCi0jIyBMaXN0IG9mIEFz
c2VydGlvbnMgIyMKLQotIyMjIGBhc3NlcnRfdHJ1ZShhY3R1YWwsIGRlc2NyaXB0aW9uKWAKLWFz
c2VydHMgdGhhdCBgYWN0dWFsYCBpcyBzdHJpY3RseSB0cnVlCi0KLSMjIyBgYXNzZXJ0X2ZhbHNl
KGFjdHVhbCwgZGVzY3JpcHRpb24pYAotYXNzZXJ0cyB0aGF0IGBhY3R1YWxgIGlzIHN0cmljdGx5
IGZhbHNlCi0KLSMjIyBgYXNzZXJ0X2VxdWFscyhhY3R1YWwsIGV4cGVjdGVkLCBkZXNjcmlwdGlv
bilgCi1hc3NlcnRzIHRoYXQgYGFjdHVhbGAgaXMgdGhlIHNhbWUgdmFsdWUgYXMgYGV4cGVjdGVk
YAotCi0jIyMgYGFzc2VydF9ub3RfZXF1YWxzKGFjdHVhbCwgZXhwZWN0ZWQsIGRlc2NyaXB0aW9u
KWAKLWFzc2VydHMgdGhhdCBgYWN0dWFsYCBpcyBhIGRpZmZlcmVudCB2YWx1ZSB0byBgZXhwZWN0
ZWRgLgotVGhpcyBtZWFucyB0aGF0IGBleHBlY3RlZGAgaXMgYSBtaXNub21lci4KLQotIyMjIGBh
c3NlcnRfaW5fYXJyYXkoYWN0dWFsLCBleHBlY3RlZCwgZGVzY3JpcHRpb24pYAotYXNzZXJ0cyB0
aGF0IGBleHBlY3RlZGAgaXMgYW4gQXJyYXksIGFuZCBgYWN0dWFsYCBpcyBlcXVhbCB0byBvbmUg
b2YgdGhlCi1tZW1iZXJzIGkuZS4gYGV4cGVjdGVkLmluZGV4T2YoYWN0dWFsKSAhPSAtMWAKLQot
IyMjIGBhc3NlcnRfYXJyYXlfZXF1YWxzKGFjdHVhbCwgZXhwZWN0ZWQsIGRlc2NyaXB0aW9uKWAK
LWFzc2VydHMgdGhhdCBgYWN0dWFsYCBhbmQgYGV4cGVjdGVkYCBoYXZlIHRoZSBzYW1lCi1sZW5n
dGggYW5kIHRoZSB2YWx1ZSBvZiBlYWNoIGluZGV4ZWQgcHJvcGVydHkgaW4gYGFjdHVhbGAgaXMg
dGhlIHN0cmljdGx5IGVxdWFsCi10byB0aGUgY29ycmVzcG9uZGluZyBwcm9wZXJ0eSB2YWx1ZSBp
biBgZXhwZWN0ZWRgCi0KLSMjIyBgYXNzZXJ0X2FwcHJveF9lcXVhbHMoYWN0dWFsLCBleHBlY3Rl
ZCwgZXBzaWxvbiwgZGVzY3JpcHRpb24pYAotYXNzZXJ0cyB0aGF0IGBhY3R1YWxgIGlzIGEgbnVt
YmVyIHdpdGhpbiDCsWBlcHNpbG9uYCBvZiBgZXhwZWN0ZWRgCi0KLSMjIyBgYXNzZXJ0X2xlc3Nf
dGhhbihhY3R1YWwsIGV4cGVjdGVkLCBkZXNjcmlwdGlvbilgCi1hc3NlcnRzIHRoYXQgYGFjdHVh
bGAgaXMgYSBudW1iZXIgbGVzcyB0aGFuIGBleHBlY3RlZGAKLQotIyMjIGBhc3NlcnRfZ3JlYXRl
cl90aGFuKGFjdHVhbCwgZXhwZWN0ZWQsIGRlc2NyaXB0aW9uKWAKLWFzc2VydHMgdGhhdCBgYWN0
dWFsYCBpcyBhIG51bWJlciBncmVhdGVyIHRoYW4gYGV4cGVjdGVkYAotCi0jIyMgYGFzc2VydF9i
ZXR3ZWVuX2V4Y2x1c2l2ZShhY3R1YWwsIGxvd2VyLCB1cHBlciwgZGVzY3JpcHRpb25gCi1hc3Nl
cnRzIHRoYXQgYGFjdHVhbGAgaXMgYSBudW1iZXIgYmV0d2VlbiBgbG93ZXJgIGFuZCBgdXBwZXJg
IGJ1dCBub3QKLWVxdWFsIHRvIGVpdGhlciBvZiB0aGVtCi0KLSMjIyBgYXNzZXJ0X2xlc3NfdGhh
bl9lcXVhbChhY3R1YWwsIGV4cGVjdGVkLCBkZXNjcmlwdGlvbilgCi1hc3NlcnRzIHRoYXQgYGFj
dHVhbGAgaXMgYSBudW1iZXIgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIGBleHBlY3RlZGAKLQotIyMj
IGBhc3NlcnRfZ3JlYXRlcl90aGFuX2VxdWFsKGFjdHVhbCwgZXhwZWN0ZWQsIGRlc2NyaXB0aW9u
KWAKLWFzc2VydHMgdGhhdCBgYWN0dWFsYCBpcyBhIG51bWJlciBncmVhdGVyIHRoYW4gb3IgZXF1
YWwgdG8gYGV4cGVjdGVkYAotCi0jIyMgYGFzc2VydF9iZXR3ZWVuX2luY2x1c2l2ZShhY3R1YWws
IGxvd2VyLCB1cHBlciwgZGVzY3JpcHRpb25gCi1hc3NlcnRzIHRoYXQgYGFjdHVhbGAgaXMgYSBu
dW1iZXIgYmV0d2VlbiBgbG93ZXJgIGFuZCBgdXBwZXJgIG9yCi1lcXVhbCB0byBlaXRoZXIgb2Yg
dGhlbQotCi0jIyMgYGFzc2VydF9yZWdleHBfbWF0Y2goYWN0dWFsLCBleHBlY3RlZCwgZGVzY3Jp
cHRpb24pYAotYXNzZXJ0cyB0aGF0IGBhY3R1YWxgIG1hdGNoZXMgdGhlIHJlZ2V4cCBgZXhwZWN0
ZWRgCi0KLSMjIyBgYXNzZXJ0X2NsYXNzX3N0cmluZyhvYmplY3QsIGNsYXNzX25hbWUsIGRlc2Ny
aXB0aW9uKWAKLWFzc2VydHMgdGhhdCB0aGUgY2xhc3Mgc3RyaW5nIG9mIGBvYmplY3RgIGFzIHJl
dHVybmVkIGluCi1gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZ2AgaXMgZXF1YWwgdG8gYGNsYXNz
X25hbWVgLgotCi0jIyMgYGFzc2VydF9vd25fcHJvcGVydHkob2JqZWN0LCBwcm9wZXJ0eV9uYW1l
LCBkZXNjcmlwdGlvbilgCi1hc3NlcnQgdGhhdCBvYmplY3QgaGFzIG93biBwcm9wZXJ0eSBgcHJv
cGVydHlfbmFtZWAKLQotIyMjIGBhc3NlcnRfaW5oZXJpdHMob2JqZWN0LCBwcm9wZXJ0eV9uYW1l
LCBkZXNjcmlwdGlvbilgCi1hc3NlcnQgdGhhdCBvYmplY3QgZG9lcyBub3QgaGF2ZSBhbiBvd24g
cHJvcGVydHkgbmFtZWQKLWBwcm9wZXJ0eV9uYW1lYCBidXQgdGhhdCBgcHJvcGVydHlfbmFtZWAg
aXMgcHJlc2VudCBpbiB0aGUgcHJvdG90eXBlCi1jaGFpbiBmb3Igb2JqZWN0Ci0KLSMjIyBgYXNz
ZXJ0X2lkbF9hdHRyaWJ1dGUob2JqZWN0LCBhdHRyaWJ1dGVfbmFtZSwgZGVzY3JpcHRpb24pYAot
YXNzZXJ0IHRoYXQgYW4gb2JqZWN0IHRoYXQgaXMgYW4gaW5zdGFuY2Ugb2Ygc29tZSBpbnRlcmZh
Y2UgaGFzIHRoZQotYXR0cmlidXRlIGF0dHJpYnV0ZV9uYW1lIGZvbGxvd2luZyB0aGUgY29uZGl0
aW9ucyBzcGVjaWZpZWQgYnkgV2ViSURMCi0KLSMjIyBgYXNzZXJ0X3JlYWRvbmx5KG9iamVjdCwg
cHJvcGVydHlfbmFtZSwgZGVzY3JpcHRpb24pYAotYXNzZXJ0IHRoYXQgcHJvcGVydHkgYHByb3Bl
cnR5X25hbWVgIG9uIG9iamVjdCBpcyByZWFkb25seQotCi0jIyMgYGFzc2VydF90aHJvd3MoY29k
ZSwgZnVuYywgZGVzY3JpcHRpb24pYAotYGNvZGVgIC0gdGhlIGV4cGVjdGVkIGV4Y2VwdGlvbi4g
VGhpcyBjYW4gdGFrZSBzZXZlcmFsIGZvcm1zOgotCi0gICogc3RyaW5nIC0gdGhlIHRocm93biBl
eGNlcHRpb24gbXVzdCBiZSBhIERPTUV4Y2VwdGlvbiB3aXRoIHRoZSBnaXZlbgotICAgICAgICAg
ICAgIG5hbWUsIGUuZy4sICJUaW1lb3V0RXJyb3IiIChmb3IgY29tcGF0aWJpbGl0eSB3aXRoIGV4
aXN0aW5nCi0gICAgICAgICAgICAgdGVzdHMsIGEgY29uc3RhbnQgaXMgYWxzbyBzdXBwb3J0ZWQs
IGUuZy4sICJUSU1FT1VUX0VSUiIpCi0gICogb2JqZWN0IC0gdGhlIHRocm93biBleGNlcHRpb24g
bXVzdCBoYXZlIGEgcHJvcGVydHkgY2FsbGVkICJuYW1lIiB0aGF0Ci0gICAgICAgICAgICAgbWF0
Y2hlcyBjb2RlLm5hbWUKLSAgKiBudWxsIC0gICBhbGxvdyBhbnkgZXhjZXB0aW9uIChpbiBnZW5l
cmFsLCBvbmUgb2YgdGhlIG9wdGlvbnMgYWJvdmUKLSAgICAgICAgICAgICBzaG91bGQgYmUgdXNl
ZCkKLQotYGZ1bmNgIC0gYSBmdW5jdGlvbiB0aGF0IHNob3VsZCB0aHJvdwotCi0jIyMgYGFzc2Vy
dF91bnJlYWNoZWQoZGVzY3JpcHRpb24pYAotYXNzZXJ0cyBpZiBjYWxsZWQuIFVzZWQgdG8gZW5z
dXJlIHRoYXQgc29tZSBjb2RlcGF0aCBpcyAqbm90KiB0YWtlbiBlLmcuCi1hbiBldmVudCBkb2Vz
IG5vdCBmaXJlLgotCi0jIyMgYGFzc2VydF9hbnkoYXNzZXJ0X2Z1bmMsIGFjdHVhbCwgZXhwZWN0
ZWRfYXJyYXksIGV4dHJhX2FyZ18xLCAuLi4gZXh0cmFfYXJnX04pYAotYXNzZXJ0cyB0aGF0IG9u
ZSBgYXNzZXJ0X2Z1bmMoYWN0dWFsLCBleHBlY3RlZF9hcnJheV9OLCBleHRyYV9hcmcxLCAuLi4s
IGV4dHJhX2FyZ19OKWAKLSAgaXMgdHJ1ZSBmb3Igc29tZSBgZXhwZWN0ZWRfYXJyYXlfTmAgaW4g
YGV4cGVjdGVkX2FycmF5YC4gVGhpcyBvbmx5IHdvcmtzIGZvciBgYXNzZXJ0X2Z1bmNgCi0gIHdp
dGggc2lnbmF0dXJlIGBhc3NlcnRfZnVuYyhhY3R1YWwsIGV4cGVjdGVkLCBhcmdzXzEsIC4uLiwg
YXJnc19OKWAuIE5vdGUgdGhhdCB0ZXN0cwotICB3aXRoIG11bHRpcGxlIGFsbG93ZWQgcGFzcyBj
b25kaXRpb25zIGFyZSBiYWQgcHJhY3RpY2UgdW5sZXNzIHRoZSBzcGVjIHNwZWNpZmljYWxseQot
ICBhbGxvd3MgbXVsdGlwbGUgYmVoYXZpb3Vycy4gVGVzdCBhdXRob3JzIHNob3VsZCBub3QgdXNl
IHRoaXMgbWV0aG9kIHNpbXBseSB0byBoaWRlCi0gIFVBIGJ1Z3MuCi0KLSMjIyBgYXNzZXJ0X2V4
aXN0cyhvYmplY3QsIHByb3BlcnR5X25hbWUsIGRlc2NyaXB0aW9uKWAKLSoqZGVwcmVjYXRlZCoq
Ci1hc3NlcnRzIHRoYXQgb2JqZWN0IGhhcyBhbiBvd24gcHJvcGVydHkgYHByb3BlcnR5X25hbWVg
Ci0KLSMjIyBgYXNzZXJ0X25vdF9leGlzdHMob2JqZWN0LCBwcm9wZXJ0eV9uYW1lLCBkZXNjcmlw
dGlvbilgCi0qKmRlcHJlY2F0ZWQqKgotYXNzZXJ0IHRoYXQgb2JqZWN0IGRvZXMgbm90IGhhdmUg
b3duIHByb3BlcnR5IGBwcm9wZXJ0eV9uYW1lYAotCi0jIyBNZXRhZGF0YSAjIwotCi1JdCBpcyBw
b3NzaWJsZSB0byBhZGQgb3B0aW9uYWwgbWV0YWRhdGEgdG8gdGVzdHM7IHRoaXMgY2FuIGJlIGRv
bmUgaW4KLW9uZSBvZiB0d28gd2F5czsgZWl0aGVyIGJ5IGFkZGluZyBgPG1ldGE+YCBlbGVtZW50
cyB0byB0aGUgaGVhZCBvZiB0aGUKLWRvY3VtZW50IGNvbnRhaW5pbmcgdGhlIHRlc3RzLCBvciBi
eSBhZGRpbmcgdGhlIG1ldGFkYXRhIHRvIGluZGl2aWR1YWwKLWBbYXN5bmNfXXRlc3RgIGNhbGxz
LCBhcyBwcm9wZXJ0aWVzLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZG9jcy9pZGxoYXJuZXNzLm1kIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZG9jcy9pZGxoYXJu
ZXNzLm1kCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxNDEwNzdiM2E3MmE3YTBlNWJl
YjkyYTMxOTgxNDIxOTY2YmI3ZTU4Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL2RvY3MvaWRsaGFybmVzcy5tZAorKysgL2Rldi9udWxsCkBAIC0xLDEyOCArMCww
IEBACi0jIyBJbnRyb2R1Y3Rpb24gIyMKLQotYGlkbGhhcm5lc3MuanNgIGF1dG9tYXRpY2FsbHkg
Z2VuZXJhdGVzIGJyb3dzZXIgdGVzdHMgZm9yIFdlYklETCBpbnRlcmZhY2VzLCB1c2luZwotdGhl
IHRlc3RoYXJuZXNzLmpzIGZyYW1ld29yay4gIFRvIHVzZSwgZmlyc3QgaW5jbHVkZSB0aGUgZm9s
bG93aW5nOgotCi1gYGBodG1sCi08c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Pjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcz48
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvV2ViSURMUGFyc2VyLmpzPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9L3Jlc291cmNlcy9pZGxoYXJuZXNzLmpzPjwvc2NyaXB0PgotYGBgCi0K
LVRoZW4geW91J2xsIG5lZWQgc29tZSB0eXBlIG9mIElETHMuICBIZXJlJ3Mgc29tZSBzY3JpcHQg
dGhhdCBjYW4gYmUgcnVuIG9uIGEKLXNwZWMgd3JpdHRlbiBpbiBIVE1MLCB3aGljaCB3aWxsIGdy
YWIgYWxsIHRoZSBlbGVtZW50cyB3aXRoIGBjbGFzcz0iaWRsImAsCi1jb25jYXRlbmF0ZSB0aGVt
LCBhbmQgcmVwbGFjZSB0aGUgYm9keSBzbyB5b3UgY2FuIGNvcHktcGFzdGU6Ci0KLWBgYGpzCi12
YXIgcyA9ICIiOwotW10uZm9yRWFjaC5jYWxsKGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05h
bWUoImlkbCIpLCBmdW5jdGlvbihpZGwpIHsKLSAgLy9odHRwczovL3d3dy53My5vcmcvQnVncy9Q
dWJsaWMvc2hvd19idWcuY2dpP2lkPTE0OTE0Ci0gIGlmICghaWRsLmNsYXNzTGlzdC5jb250YWlu
cygiZXh0cmFjdCIpKQotICB7Ci0gICAgcyArPSBpZGwudGV4dENvbnRlbnQgKyAiXG5cbiI7Ci0g
IH0KLX0pOwotZG9jdW1lbnQuYm9keS5pbm5lckhUTUwgPSAnPHByZT48L3ByZT4nOwotZG9jdW1l
bnQuYm9keS5maXJzdENoaWxkLnRleHRDb250ZW50ID0gczsKLWBgYAotCi1PbmNlIHlvdSBoYXZl
IHRoYXQsIHB1dCBpdCBpbiB5b3VyIHNjcmlwdCBzb21laG93LiAgVGhlIGVhc2llc3Qgd2F5IGlz
IHRvCi1lbWJlZCBpdCBsaXRlcmFsbHkgaW4gYW4gSFRNTCBmaWxlIHdpdGggYDxzY3JpcHQgdHlw
ZT10ZXh0L3BsYWluPmAgb3Igc2ltaWxhciwKLXNvIHRoYXQgeW91IGRvbid0IGhhdmUgdG8gZG8g
YW55IGVzY2FwaW5nLiAgQW5vdGhlciBwb3NzaWJpbGl0eSBpcyB0byBwdXQgaXQKLWluIGEgc2Vw
YXJhdGUgLmlkbCBmaWxlIHRoYXQncyBmZXRjaGVkIHZpYSBYSFIgb3Igc2ltaWxhci4gIFNhbXBs
ZSB1c2FnZToKLQotYGBganMKLXZhciBpZGxfYXJyYXkgPSBuZXcgSWRsQXJyYXkoKTsKLWlkbF9h
cnJheS5hZGRfdW50ZXN0ZWRfaWRscygiaW50ZXJmYWNlIE5vZGUgeyByZWFkb25seSBhdHRyaWJ1
dGUgRE9NU3RyaW5nIG5vZGVOYW1lOyB9OyIpOwotaWRsX2FycmF5LmFkZF9pZGxzKCJpbnRlcmZh
Y2UgRG9jdW1lbnQgOiBOb2RlIHsgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBVUkw7IH07
Iik7Ci1pZGxfYXJyYXkuYWRkX29iamVjdHMoe0RvY3VtZW50OiBbImRvY3VtZW50Il19KTsKLWlk
bF9hcnJheS50ZXN0KCk7Ci1gYGAKLQotVGhpcyB0ZXN0cyB0aGF0IGB3aW5kb3cuRG9jdW1lbnRg
IGV4aXN0cyBhbmQgbWVldHMgYWxsIHRoZSByZXF1aXJlbWVudHMgb2YKLVdlYklETC4gIEl0IGFs
c28gdGVzdHMgdGhhdCB3aW5kb3cuZG9jdW1lbnQgKHRoZSByZXN1bHQgb2YgZXZhbHVhdGluZyB0
aGUKLXN0cmluZyAiZG9jdW1lbnQiKSBoYXMgVVJMIGFuZCBub2RlTmFtZSBwcm9wZXJ0aWVzIHRo
YXQgYmVoYXZlIGFzIHRoZXkKLXNob3VsZCwgYW5kIG90aGVyd2lzZSBtZWV0cyBXZWJJREwncyBy
ZXF1aXJlbWVudHMgZm9yIGFuIG9iamVjdCB3aG9zZQotcHJpbWFyeSBpbnRlcmZhY2UgaXMgRG9j
dW1lbnQuICBJdCBkb2VzIG5vdCB0ZXN0IHRoYXQgd2luZG93Lk5vZGUgZXhpc3RzLAotd2hpY2gg
aXMgd2hhdCB5b3Ugd2FudCBpZiB0aGUgTm9kZSBpbnRlcmZhY2UgaXMgYWxyZWFkeSB0ZXN0ZWQg
aW4gc29tZSBvdGhlcgotc3BlY2lmaWNhdGlvbidzIHN1aXRlIGFuZCB5b3VyIHNwZWNpZmljYXRp
b24gb25seSBleHRlbmRzIG9yIHJlZmVycyB0byBpdC4KLU9mIGNvdXJzZSwgZWFjaCBJREwgc3Ry
aW5nIGNhbiBkZWZpbmUgbWFueSBkaWZmZXJlbnQgdGhpbmdzLCBhbmQgY2FsbHMgdG8KLWFkZF9v
YmplY3RzKCkgY2FuIHJlZ2lzdGVyIG1hbnkgZGlmZmVyZW50IG9iamVjdHMgZm9yIGRpZmZlcmVu
dCBpbnRlcmZhY2VzOgotdGhpcyBpcyBhIHZlcnkgc2ltcGxlIGV4YW1wbGUuCi0KLSMjIFB1Ymxp
YyBtZXRob2RzIG9mIElkbEFycmF5ICMjCi0KLUlkbEFycmF5IG9iamVjdHMgY2FuIGJlIG9idGFp
bmVkIHdpdGggYG5ldyBJZGxBcnJheSgpYC4gIEFueXRoaW5nIG5vdAotZG9jdW1lbnRlZCBpbiB0
aGlzIHNlY3Rpb24gc2hvdWxkIGJlIGNvbnNpZGVyZWQgYW4gaW1wbGVtZW50YXRpb24gZGV0YWls
LAotYW5kIG91dHNpZGUgY2FsbGVycyBzaG91bGQgbm90IHVzZSBpdC4KLQotIyMjIGBhZGRfaWRs
cyhpZGxfc3RyaW5nKWAKLSAgUGFyc2VzIGBpZGxfc3RyaW5nYCAodGhyb3dpbmcgb24gcGFyc2Ug
ZXJyb3IpIGFuZCBhZGRzIHRoZSByZXN1bHRzIHRvIHRoZQotICBJZGxBcnJheS4gIEFsbCB0aGUg
ZGVmaW5pdGlvbnMgd2lsbCBiZSB0ZXN0ZWQgd2hlbiB5b3UgcnVuIHRlc3QoKS4gIElmCi0gIHNv
bWUgb2YgdGhlIGRlZmluaXRpb25zIHJlZmVyIHRvIG90aGVyIGRlZmluaXRpb25zLCB0aG9zZSBt
dXN0IGJlIHByZXNlbnQKLSAgdG9vLiAgRm9yIGluc3RhbmNlLCBpZiBgaWRsX3N0cmluZ2Agc2F5
cyB0aGF0IGBEb2N1bWVudGAgaW5oZXJpdHMgZnJvbSBgTm9kZWAsCi0gIHRoZSBgTm9kZWAgaW50
ZXJmYWNlIG11c3QgYWxzbyBoYXZlIGJlZW4gcHJvdmlkZWQgaW4gc29tZSBjYWxsIHRvIGBhZGRf
aWRscygpYAotICBvciBgYWRkX3VudGVzdGVkX2lkbHMoKWAuCi0KLSMjIyBgYWRkX3VudGVzdGVk
X2lkbHMoaWRsX3N0cmluZylgCi0gIExpa2UgYGFkZF9pZGxzKClgLCBidXQgdGhlIGRlZmluaXRp
b25zIHdpbGwgbm90IGJlIHRlc3RlZC4gIElmIGFuIHVudGVzdGVkCi0gIGludGVyZmFjZSBpcyBh
ZGRlZCBhbmQgdGhlbiBleHRlbmRlZCB3aXRoIGEgdGVzdGVkIHBhcnRpYWwgaW50ZXJmYWNlLCB0
aGUKLSAgbWVtYmVycyBvZiB0aGUgcGFydGlhbCBpbnRlcmZhY2Ugd2lsbCBzdGlsbCBiZSB0ZXN0
ZWQuICBBbHNvLCBhbGwgdGhlCi0gIG1lbWJlcnMgd2lsbCBzdGlsbCBiZSB0ZXN0ZWQgZm9yIG9i
amVjdHMgYWRkZWQgd2l0aCBgYWRkX29iamVjdHMoKWAsIGJlY2F1c2UKLSAgeW91IHByb2JhYmx5
IHdhbnQgdG8gdGVzdCB0aGF0IChmb3IgaW5zdGFuY2UpIHdpbmRvdy5kb2N1bWVudCBoYXMgYWxs
IHRoZQotICBwcm9wZXJ0aWVzIGZyb20gYE5vZGVgLCBub3QganVzdCBgRG9jdW1lbnRgLCBldmVu
IGlmIHRoZSBgTm9kZWAgaW50ZXJmYWNlIGl0c2VsZgotICBpcyB0ZXN0ZWQgaW4gYSBkaWZmZXJl
bnQgdGVzdCBzdWl0ZS4KLQotIyMjIGBhZGRfb2JqZWN0cyhkaWN0KWAKLSAgYGRpY3RgIHNob3Vs
ZCBiZSBhbiBvYmplY3Qgd2hvc2Uga2V5cyBhcmUgdGhlIG5hbWVzIG9mIGludGVyZmFjZXMgb3IK
LSAgZXhjZXB0aW9ucywgYW5kIHdob3NlIHZhbHVlcyBhcmUgYXJyYXlzIG9mIHN0cmluZ3MuICBX
aGVuIGFuIGludGVyZmFjZSBvcgotICBleGNlcHRpb24gaXMgdGVzdGVkLCBldmVyeSBzdHJpbmcg
cmVnaXN0ZXJlZCBmb3IgaXQgd2l0aCBgYWRkX29iamVjdHMoKWAKLSAgd2lsbCBiZSBldmFsdWF0
ZWQsIGFuZCB0ZXN0cyB3aWxsIGJlIHJ1biBvbiB0aGUgcmVzdWx0IHRvIHZlcmlmeSB0aGF0IGl0
Ci0gIGNvcnJlY3RseSBpbXBsZW1lbnRzIHRoYXQgaW50ZXJmYWNlIG9yIGV4Y2VwdGlvbi4gIFRo
aXMgaXMgdGhlIG9ubHkgd2F5IHRvCi0gIHRlc3QgYW55dGhpbmcgYWJvdXQgYFtOb0ludGVyZmFj
ZU9iamVjdF1gIGludGVyZmFjZXMsIGFuZCB0aGVyZSBhcmUgbWFueQotICB0ZXN0cyB0aGF0IGNh
bid0IGJlIHJ1biBvbiBhbnkgaW50ZXJmYWNlIHdpdGhvdXQgYW4gb2JqZWN0IHRvIGZpZGRsZSB3
aXRoLgotCi0gIFRoZSBpbnRlcmZhY2UgaGFzIHRvIGJlIHRoZSAqcHJpbWFyeSogaW50ZXJmYWNl
IG9mIGFsbCB0aGUgb2JqZWN0cwotICBwcm92aWRlZC4gIEZvciBleGFtcGxlLCBkb24ndCBwYXNz
IGB7Tm9kZTogWyJkb2N1bWVudCJdfWAsIGJ1dCByYXRoZXIKLSAgYHtEb2N1bWVudDogWyJkb2N1
bWVudCJdfWAuICBBc3N1bWluZyB0aGUgYERvY3VtZW50YCBpbnRlcmZhY2Ugd2FzIGRlY2xhcmVk
IHRvCi0gIGluaGVyaXQgZnJvbSBgTm9kZWAsIHRoaXMgd2lsbCBhdXRvbWF0aWNhbGx5IHRlc3Qg
dGhhdCBkb2N1bWVudCBpbXBsZW1lbnRzCi0gIHRoZSBgTm9kZWAgaW50ZXJmYWNlIHRvby4KLQot
ICBXYXJuaW5nOiBtZXRob2RzIHdpbGwgYmUgY2FsbGVkIG9uIGFueSBwcm92aWRlZCBvYmplY3Rz
LCBpbiBhIG1hbm5lciB0aGF0Ci0gIFdlYklETCByZXF1aXJlcyBiZSBzYWZlLiAgRm9yIGluc3Rh
bmNlLCBpZiBhIG1ldGhvZCBoYXMgbWFuZGF0b3J5Ci0gIGFyZ3VtZW50cywgdGhlIHRlc3Qgc3Vp
dGUgd2lsbCB0cnkgY2FsbGluZyBpdCB3aXRoIHRvbyBmZXcgYXJndW1lbnRzIHRvCi0gIHNlZSBp
ZiBpdCB0aHJvd3MgYW4gZXhjZXB0aW9uLiAgSWYgYW4gaW1wbGVtZW50YXRpb24gaW5jb3JyZWN0
bHkgcnVucyB0aGUKLSAgZnVuY3Rpb24gaW5zdGVhZCBvZiB0aHJvd2luZywgdGhpcyBtaWdodCBo
YXZlIHNpZGUgZWZmZWN0cywgcG9zc2libHkgZXZlbgotICBwcmV2ZW50aW5nIHRoZSB0ZXN0IHN1
aXRlIGZyb20gcnVubmluZyBjb3JyZWN0bHkuCi0KLSMjIyBgcHJldmVudF9tdWx0aXBsZV90ZXN0
aW5nKG5hbWUpYAotICBUaGlzIGlzIGEgbmljaGUgbWV0aG9kIGZvciB1c2UgaW4gY2FzZSB5b3Un
cmUgdGVzdGluZyBtYW55IG9iamVjdHMgdGhhdAotICBpbXBsZW1lbnQgdGhlIHNhbWUgaW50ZXJm
YWNlcywgYW5kIGRvbid0IHdhbnQgdG8gcmV0ZXN0IHRoZSBzYW1lCi0gIGludGVyZmFjZXMgZXZl
cnkgc2luZ2xlIHRpbWUuICBGb3IgaW5zdGFuY2UsIEhUTUwgZGVmaW5lcyBtYW55IGludGVyZmFj
ZXMKLSAgdGhhdCBhbGwgaW5oZXJpdCBmcm9tIGBIVE1MRWxlbWVudGAsIHNvIHRoZSBIVE1MIHRl
c3Qgc3VpdGUgaGFzIHNvbWV0aGluZwotICBsaWtlCi0KLWBgYGpzCi0uYWRkX29iamVjdHMoewot
ICBIVE1MSHRtbEVsZW1lbnQ6IFsnZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50J10sCi0gIEhUTUxI
ZWFkRWxlbWVudDogWydkb2N1bWVudC5oZWFkJ10sCi0gIEhUTUxCb2R5RWxlbWVudDogWydkb2N1
bWVudC5ib2R5J10sCi0gIC4uLgotfSkKLWBgYAotCi0gIGFuZCBzbyBvbiBmb3IgZG96ZW5zIG9m
IGVsZW1lbnQgdHlwZXMuICBUaGlzIHdvdWxkIG1lYW4gdGhhdCBpdCB3b3VsZAotICByZXRlc3Qg
dGhhdCBlYWNoIGFuZCBldmVyeSBvbmUgb2YgdGhvc2UgZWxlbWVudHMgaW1wbGVtZW50cyBgSFRN
TEVsZW1lbnRgLAotICBgRWxlbWVudGAsIGFuZCBgTm9kZWAsIHdoaWNoIHdvdWxkIGJlIHRob3Vz
YW5kcyBvZiBiYXNpY2FsbHkgcmVkdW5kYW50IHRlc3RzLgotICBUaGUgdGVzdCBzdWl0ZSB0aGVy
ZWZvcmUgY2FsbHMgYHByZXZlbnRfbXVsdGlwbGVfdGVzdGluZygiSFRNTEVsZW1lbnQiKWAuCi0g
IFRoaXMgbWVhbnMgdGhhdCBvbmNlIG9uZSBvYmplY3QgaGFzIGJlZW4gdGVzdGVkIHRvIGltcGxl
bWVudCBgSFRNTEVsZW1lbnRgCi0gIGFuZCBpdHMgYW5jZXN0b3JzLCBubyBvdGhlciBvYmplY3Qg
d2lsbCBiZS4gIFRodXMgaW4gdGhlIGV4YW1wbGUgY29kZQotICBhYm92ZSwgdGhlIGhhcm5lc3Mg
d291bGQgdGVzdCB0aGF0IGBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnRgIGNvcnJlY3RseQotICBp
bXBsZW1lbnRzIGBIVE1MSHRtbEVsZW1lbnRgLCBgSFRNTEVsZW1lbnRgLCBgRWxlbWVudGAsIGFu
ZCBgTm9kZWA7IGJ1dAotICBgZG9jdW1lbnQuaGVhZGAgd291bGQgb25seSBiZSB0ZXN0ZWQgZm9y
IGBIVE1MSGVhZEVsZW1lbnRgLCBhbmQgc28gb24gZm9yCi0gIGZ1cnRoZXIgb2JqZWN0cy4KLQot
IyMjIGB0ZXN0KClgCi0gIFJ1biBhbGwgdGVzdHMuICBUaGlzIHNob3VsZCBiZSBjYWxsZWQgYWZ0
ZXIgeW91J3ZlIGNhbGxlZCBhbGwgb3RoZXIKLSAgbWV0aG9kcyB0byBhZGQgSURMcyBhbmQgb2Jq
ZWN0cy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL2RvY3MvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9kb2NzL3czYy1pbXBvcnQubG9nCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5N2RiZWUzZjQyYTk2MzFmMDBlNjI1ZDM3OWMx
M2Y3MzA5NDI4ODU1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L2RvY3MvdzNjLWltcG9ydC5sb2cKKysrIC9kZXYvbnVsbApAQCAtMSwxOSArMCwwIEBACi1UaGUg
dGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3Np
dG9yeS4KLURvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5z
dGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXM0MgQ1NTIG9yIFdQVCBnaXRodWI6
Ci0JaHR0cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy10ZXN0Ci0JaHR0cHM6Ly9naXRodWIuY29t
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMKLQotVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1w
b3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKLQotRG8gTk9UIG1vZGlmeSBvciBy
ZW1vdmUgdGhpcyBmaWxlLgotCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLVByb3BlcnRpZXMgcmVxdWlyaW5n
IHZlbmRvciBwcmVmaXhlczoKLU5vbmUKLVByb3BlcnR5IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9y
IHByZWZpeGVzOgotTm9uZQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1MaXN0IG9mIGZpbGVzOgotL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2RvY3MvYXBp
Lm1kCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvZG9jcy9pZGxoYXJuZXNzLm1kCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy9hcGlzYW1wbGUtZXJyb3It
d29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2FtcGxlLWVycm9yLXdvcmtlci5qcwpkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggOWJmZTBhNmYzNDNkNWVhMjVhOTVkYTJkYzgxZDIzMzRiNjdhNDgx
Mi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy9h
cGlzYW1wbGUtZXJyb3Itd29ya2VyLmpzCisrKyAvZGV2L251bGwKQEAgLTEsMyArMCwwIEBACi1p
bXBvcnRTY3JpcHRzKCIuLi90ZXN0aGFybmVzcy5qcyIpOwotCi10aHJvdyBuZXcgRXJyb3IoIlRo
aXMgZmFpbHVyZSBpcyBleHBlY3RlZC4iKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBsZS13
b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy9leGFtcGxlcy9hcGlzYW1wbGUtd29ya2VyLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCBiMWQwODYzMTRjYzk4MWEyNTY5ZDE0NjJiNWNlMmE3Y2Q3OWQ3NTA3Li4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBs
ZS13b3JrZXIuanMKKysrIC9kZXYvbnVsbApAQCAtMSwzNCArMCwwIEBACi1pbXBvcnRTY3JpcHRz
KCIuLi90ZXN0aGFybmVzcy5qcyIpOwotCi10ZXN0KAotICAgIGZ1bmN0aW9uKHRlc3QpIHsKLSAg
ICAgICAgYXNzZXJ0X3RydWUodHJ1ZSwgIlRydWUgaXMgdHJ1ZSIpOwotICAgIH0sCi0gICAgIldv
cmtlciB0ZXN0IHRoYXQgY29tcGxldGVzIHN1Y2Nlc3NmdWxseSIpOwotCi10ZXN0KAotICAgIGZ1
bmN0aW9uKHRlc3QpIHsKLSAgICAgICAgYXNzZXJ0X3RydWUoZmFsc2UsICJGYWlsaW5nIHRlc3Qi
KTsKLSAgICB9LAotICAgICJXb3JrZXIgdGVzdCB0aGF0IGZhaWxzICgnRkFJTCcpIik7Ci0KLWFz
eW5jX3Rlc3QoCi0gICAgZnVuY3Rpb24odGVzdCkgewotICAgICAgICBhc3NlcnRfdHJ1ZSh0cnVl
LCAiVHJ1ZSBpcyB0cnVlIik7Ci0gICAgfSwKLSAgICAiV29ya2VyIHRlc3QgdGhhdCB0aW1lcyBv
dXQgKCdUSU1FT1VUJykiKTsKLQotYXN5bmNfdGVzdCgiV29ya2VyIHRlc3QgdGhhdCBkb2Vzbid0
IHJ1biAoJ05PVCBSVU4nKSIpOwotCi1hc3luY190ZXN0KAotICAgIGZ1bmN0aW9uKHRlc3QpIHsK
LSAgICAgICAgc2VsZi5zZXRUaW1lb3V0KAotICAgICAgICAgICAgZnVuY3Rpb24oKSB7Ci0gICAg
ICAgICAgICAgICAgdGVzdC5kb25lKCk7Ci0gICAgICAgICAgICB9LAotICAgICAgICAgICAgMCk7
Ci0gICAgfSwKLSAgICAiV29ya2VyIGFzeW5jX3Rlc3QgdGhhdCBjb21wbGV0ZXMgc3VjY2Vzc2Z1
bGx5Iik7Ci0KLS8vIEFuIGV4cGxpY2l0IGRvbmUoKSBpcyByZXF1aXJlZCBmb3IgZGVkaWNhdGVk
IGFuZCBzaGFyZWQgd2ViIHdvcmtlcnMuCi1kb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy9hcGlz
YW1wbGUuaHRtIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2FtcGxlLmh0bQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggNTA0YTM0M2FjZGJiYzg3ZWE1Y2EyMWQ3ODVjNTFiMGJhNTNiMzFkZi4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy9hcGlzYW1wbGUuaHRt
CisrKyAvZGV2L251bGwKQEAgLTEsMTc1ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+
Ci08aGVhZD4KLTx0aXRsZT5TYW1wbGUgSFRNTDUgQVBJIFRlc3RzPC90aXRsZT4KLTxtZXRhIG5h
bWU9InRpbWVvdXQiIGNvbnRlbnQ9IjYwMDAiPgotPC9oZWFkPgotPGJvZHkgb25sb2FkPSJsb2Fk
X3Rlc3RfYXR0ci5kb25lKCkiPgotPGgxPlNhbXBsZSBIVE1MNSBBUEkgVGVzdHM8L2gxPgotPGRp
diBpZD0ibG9nIj48L2Rpdj4KLTxzY3JpcHQgc3JjPSIuLi90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0IHNyYz0iLi4vdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNj
cmlwdD4KLSAgICBzZXR1cF9ydW4gPSBmYWxzZTsKLSAgICBzZXR1cChmdW5jdGlvbigpIHsKLSAg
ICAgICAgICAgIHNldHVwX3J1biA9IHRydWU7Ci0gICAgICAgICAgfSk7Ci0gICAgdGVzdChmdW5j
dGlvbigpIHthc3NlcnRfdHJ1ZShzZXR1cF9ydW4pfSwgIlNldHVwIGZ1bmN0aW9uIHJhbiIpOwot
Ci0gICAgLy8gVHdvIGV4YW1wbGVzIGZvciB0ZXN0aW5nIGV2ZW50cyBmcm9tIGhhbmRsZXIgYW5k
IGF0dHJpYnV0ZXMKLSAgICB2YXIgbG9hZF90ZXN0X2V2ZW50ID0gYXN5bmNfdGVzdCgid2luZG93
IG9ubG9hZCBldmVudCBmaXJlcyB3aGVuIHNldCBmcm9tIHRoZSBoYW5kbGVyIik7Ci0KLSAgICBm
dW5jdGlvbiB3aW5kb3dMb2FkKCkKLSAgICB7Ci0gICAgICAgIGxvYWRfdGVzdF9ldmVudC5kb25l
KCk7Ci0gICAgfQotICAgIG9uX2V2ZW50KHdpbmRvdywgImxvYWQiLCB3aW5kb3dMb2FkKTsKLQot
ICAgIC8vIHNlZSB0aGUgYm9keSBvbmxvYWQgYmVsb3cKLSAgICB2YXIgbG9hZF90ZXN0X2F0dHIg
PSBhc3luY190ZXN0KCJib2R5IGVsZW1lbnQgZmlyZXMgdGhlIG9ubG9hZCBldmVudCBzZXQgZnJv
bSB0aGUgYXR0cmlidXRlIik7Ci08L3NjcmlwdD4KLTxzY3JpcHQ+Ci0gICAgZnVuY3Rpb24gYm9k
eUVsZW1lbnQoKQotICAgIHsKLSAgICAgICAgYXNzZXJ0X2VxdWFscyhkb2N1bWVudC5ib2R5LCBk
b2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiYm9keSIpWzBdKTsKLSAgICB9Ci0gICAgdGVz
dChib2R5RWxlbWVudCwgImRvY3VtZW50LmJvZHkgc2hvdWxkIGJlIHRoZSBmaXJzdCBib2R5IGVs
ZW1lbnQgaW4gdGhlIGRvY3VtZW50Iik7Ci0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAg
ICBhc3NlcnRfZXF1YWxzKDEsMSk7Ci0gICAgICAgIGFzc2VydF9lcXVhbHMoTmFOLCBOYU4sICJO
YU4gY2FzZSIpOwotICAgICAgICBhc3NlcnRfZXF1YWxzKDAsIDAsICJaZXJvIGNhc2UiKTsKLSAg
ICB9LCAiYXNzZXJ0X2VxdWFscyB0ZXN0cyIpCi0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAg
ICAgICBhc3NlcnRfZXF1YWxzKC0wLCAwLCAiWmVybyBjYXNlIik7Ci0gICAgfSwgImFzc2VydF9l
cXVhbHMgdGVzdHMgZXhwZWN0ZWQgdG8gZmFpbCIpCi0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewot
ICAgICAgICBhc3NlcnRfbm90X2VxdWFscyh7fSwge30sICJvYmplY3QgY2FzZSIpOwotICAgICAg
ICBhc3NlcnRfbm90X2VxdWFscygtMCwgMCwgIlplcm8gY2FzZSIpOwotICAgIH0sICJhc3NlcnRf
bm90X2VxdWFscyB0ZXN0cyIpCi0KLSAgICBmdW5jdGlvbiB0ZXN0QXNzZXJ0UGFzcygpCi0gICAg
ewotICAgICAgICBhc3NlcnRfdHJ1ZSh0cnVlKTsKLSAgICB9Ci0gICAgdGVzdCh0ZXN0QXNzZXJ0
UGFzcywgImFzc2VydF90cnVlIGV4cGVjdGVkIHRvIHBhc3MiKTsKLQotICAgIGZ1bmN0aW9uIHRl
c3RBc3NlcnRGYWxzZSgpCi0gICAgewotICAgICAgICBhc3NlcnRfdHJ1ZShmYWxzZSwgImZhbHNl
IHNob3VsZCBub3QgYmUgdHJ1ZSIpOwotICAgIH0KLSAgICB0ZXN0KHRlc3RBc3NlcnRGYWxzZSwg
ImFzc2VydF90cnVlIGV4cGVjdGVkIHRvIGZhaWwiKTsKLQotICAgIGZ1bmN0aW9uIGJhc2ljQXNz
ZXJ0QXJyYXlFcXVhbHMoKQotICAgIHsKLSAgICAgICAgYXNzZXJ0X2FycmF5X2VxdWFscyhbMSwg
TmFOXSwgWzEsIE5hTl0sICJbMSwgTmFOXSBpcyBlcXVhbCB0byBbMSwgTmFOXSIpOwotICAgIH0K
LSAgICB0ZXN0KGJhc2ljQXNzZXJ0QXJyYXlFcXVhbHMsICJiYXNpYyBhc3NlcnRfYXJyYXlfZXF1
YWxzIHRlc3QiKTsKLQotICAgIGZ1bmN0aW9uIGJhc2ljQXNzZXJ0T2JqZWN0RXF1YWxzKCkKLSAg
ICB7Ci0gICAgICAgIGFzc2VydF9vYmplY3RfZXF1YWxzKFsxLCAyLCBbMSwgMl1dLCB7IDA6IDEs
IDE6IDIsIDI6IHsgMDogMSwgMTogMn0gfSwgImFycmF5IGlzIGVxdWFsIHRvIG9iamVjdCIpCi0g
ICAgfQotICAgIHRlc3QoYmFzaWNBc3NlcnRPYmplY3RFcXVhbHMsICJiYXNpYyBhc3NlcnRfb2Jq
ZWN0X2VxdWFscyB0ZXN0Iik7Ci0KLSAgICBmdW5jdGlvbiBiYXNpY0Fzc2VydEFwcHJveEVxdWFs
cygpCi0gICAgewotICAgICAgICBhc3NlcnRfYXBwcm94X2VxdWFscygxMCwgMTEsIDEsICIxMCBp
cyBhcHByb3hpbWF0ZWx5ICgrLy0gMSkgMTEiKQotICAgIH0KLSAgICB0ZXN0KGJhc2ljQXNzZXJ0
QXBwcm94RXF1YWxzLCAiYmFzaWMgYXNzZXJ0X2FwcHJveF9lcXVhbHMgdGVzdCIpOwotCi0gICAg
ZnVuY3Rpb24gYmFzaWNBc3NlcnRMZXNzVGhhbigpCi0gICAgewotICAgICAgICBhc3NlcnRfbGVz
c190aGFuKDEwLCAxMSwgIjEwIGlzIGxlc3MgdGhhbiAxMSIpCi0gICAgfQotICAgIHRlc3QoYmFz
aWNBc3NlcnRBcHByb3hFcXVhbHMsICJiYXNpYyBhc3NlcnRfbGVzc190aGFuIHRlc3QiKTsKLQot
ICAgIGZ1bmN0aW9uIGJhc2ljQXNzZXJ0R3JlYXRlclRoYW4oKQotICAgIHsKLSAgICAgICAgYXNz
ZXJ0X2dyZWF0ZXJfdGhhbigxMCwgMTEsICIxMCBpcyBub3QgZ3JlYXRlciB0aGFuIDExIik7Ci0g
ICAgfQotICAgIHRlc3QoYmFzaWNBc3NlcnRHcmVhdGVyVGhhbiwgImFzc2VydF9ncmVhdGVyX3Ro
YW4gZXhwZWN0ZWQgdG8gZmFpbCIpOwotCi0gICAgZnVuY3Rpb24gYmFzaWNBc3NlcnRHcmVhdGVy
VGhhbkVxdWFsKCkKLSAgICB7Ci0gICAgICAgIGFzc2VydF9ncmVhdGVyX3RoYW5fZXF1YWwoMTAs
IDEwLCAiMTAgaXMgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIDEwIikKLSAgICB9Ci0gICAgdGVz
dChiYXNpY0Fzc2VydEdyZWF0ZXJUaGFuRXF1YWwsICJiYXNpYyBhc3NlcnRfZ3JlYXRlcl90aGFu
X2VxdWFsIHRlc3QiKTsKLQotICAgIGZ1bmN0aW9uIGJhc2ljQXNzZXJ0TGVzc1RoYW5FcXVhbCgp
Ci0gICAgewotICAgICAgICBhc3NlcnRfZ3JlYXRlcl90aGFuX2VxdWFsKCcxMCcsIDEwLCAiJzEw
JyBpcyBub3QgYSBudW1iZXIiKQotICAgIH0KLSAgICB0ZXN0KGJhc2ljQXNzZXJ0TGVzc1RoYW5F
cXVhbCwgImFzc2VydF9sZXNzX3RoYW5fZXF1YWwgZXhwZWN0ZWQgdG8gZmFpbCIpOwotCi0gICAg
ZnVuY3Rpb24gdGVzdEFzc2VydEluaGVyaXRzKCkgewotICAgICAgICB2YXIgQSA9IGZ1bmN0aW9u
KCl7dGhpcy5hID0gImEifQotICAgICAgICBBLnByb3RvdHlwZSA9IHtiOiJiIn0KLSAgICAgICAg
dmFyIGEgPSBuZXcgQSgpOwotICAgICAgICBhc3NlcnRfZXhpc3RzKGEsICJhIik7Ci0gICAgICAg
IGFzc2VydF9ub3RfZXhpc3RzKGEsICJiIik7Ci0gICAgICAgIGFzc2VydF9pbmhlcml0cyhhLCAi
YiIpOwotICAgIH0KLSAgICB0ZXN0KHRlc3RBc3NlcnRJbmhlcml0cywgInRlc3QgZm9yIGFzc2Vy
dFtfbm90XV9leGlzdHMgYW5kIGluc2VydF9pbmhlcml0cyIpCi0KLSAgICB0ZXN0KGZ1bmN0aW9u
KCkKLSAgICB7Ci0gICAgICAgIHZhciBhID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYSIpCi0g
ICAgICAgIHZhciBiID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYiIpCi0gICAgICAgIGFzc2Vy
dF90aHJvd3MoIk5PVF9GT1VORF9FUlIiLCBmdW5jdGlvbigpe2EucmVtb3ZlQ2hpbGQoYil9KTsK
LSAgICB9LCAiVGVzdCB0aHJvdyBET00gZXhjZXB0aW9uIikKLQotICAgIHRlc3QoZnVuY3Rpb24o
KQotICAgIHsKLSAgICAgICAgdmFyIGEgPSBkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgiYSIpCi0g
ICAgICAgIHZhciBiID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYiIpCi0gICAgICAgIGFzc2Vy
dF90aHJvd3MoIk5PVF9GT1VORF9FUlIiLCBmdW5jdGlvbigpe2EuYXBwZW5kQ2hpbGQoYil9KTsK
LSAgICB9LCAiVGVzdCB0aHJvdyBET00gZXhjZXB0aW9uIGV4cGVjdGVkIHRvIGZhaWwiKQotCi0g
ICAgdGVzdChmdW5jdGlvbigpCi0gICAgewotICAgICAgICB2YXIgZSA9IHtjb2RlOjAsIG5hbWU6
IlRFU1RfRVJSIiwgVEVTVF9FUlI6MH0KLSAgICAgICAgYXNzZXJ0X3Rocm93cygiVEVTVF9FUlIi
LCBmdW5jdGlvbigpIHt0aHJvdyBlfSk7Ci0gICAgfSwgIlRlc3QgYXNzZXJ0X3Rocm93cyB3aXRo
IG5vbi1ET00tZXhjZXB0aW9uIGV4cGVjdGVkIHRvIEZhaWwiKTsKLQotICAgIHZhciB0ID0gYXN5
bmNfdGVzdCgiVGVzdCBzdGVwX2Z1bmMiKQotICAgIHNldFRpbWVvdXQoCi0gICAgICB0LnN0ZXBf
ZnVuYygKLSAgICAgICAgZnVuY3Rpb24gKCkgewotICAgICAgICAgIGFzc2VydF90cnVlKHRydWUp
OyB0LmRvbmUoKTsKLSAgICAgICAgfSksIDApOwotCi0gICAgYXN5bmNfdGVzdChmdW5jdGlvbih0
KSB7Ci0gICAgICAgIHNldFRpbWVvdXQodC5zdGVwX2Z1bmMoZnVuY3Rpb24gKCl7YXNzZXJ0X3Ry
dWUodHJ1ZSk7IHQuZG9uZSgpO30pLCAwKTsKLSAgICB9LCAiVGVzdCBhc3luYyB0ZXN0IHdpdGgg
Y2FsbGJhY2siKTsKLQotICAgIGFzeW5jX3Rlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHNldFRp
bWVvdXQodGhpcy5zdGVwX2Z1bmMoZnVuY3Rpb24gKCl7YXNzZXJ0X3RydWUodHJ1ZSk7IHRoaXMu
ZG9uZSgpO30pLCAwKTsKLSAgICB9LCAiVGVzdCBhc3luYyB0ZXN0IHdpdGggY2FsbGJhY2sgYW5k
IGB0aGlzYCBvYmouIik7Ci0KLSAgICBhc3luY190ZXN0KCJ0ZXN0IHNob3VsZCB0aW1lb3V0IChm
YWlsKSB3aXRoIHRoZSBkZWZhdWx0IG9mIDIgc2Vjb25kcyIpLnN0ZXAoZnVuY3Rpb24oKXt9KTsK
LQotICAgIGFzeW5jX3Rlc3QoInRlc3Qgc2hvdWxkIHRpbWVvdXQgKGZhaWwpIHdpdGggYSBjdXN0
b20gc2V0IHRpbWVvdXQgdmFsdWUgb2YgMSBzZWNvbmQiLAotICAgICAgICAgICAgICAge3RpbWVv
dXQ6MTAwMH0pLnN0ZXAoZnVuY3Rpb24oKXt9KTsKLQotICAgIGFzeW5jX3Rlc3QoImFzeW5jIHRl
c3QgdGhhdCBpcyBuZXZlciBzdGFydGVkLCBzaG91bGQgaGF2ZSBzdGF0dXMgTm90IFJ1biIsIHt0
aW1lb3V0OjEwMDB9KTsKLQotCi0gICAgdGVzdChmdW5jdGlvbih0KSB7Ci0gICAgICAgICAgICAg
d2luZG93Lmdsb2JhbCA9IDE7Ci0gICAgICAgICAgICAgdC5hZGRfY2xlYW51cChmdW5jdGlvbigp
IHtkZWxldGUgd2luZG93Lmdsb2JhbH0pOwotICAgICAgICAgICAgIGFzc2VydF9lcXVhbHMod2lu
ZG93Lmdsb2JhbCwgMSk7Ci0gICAgICAgICB9LAotICAgICAgICAgIlRlc3QgdGhhdCBkZWZpbmVz
IGEgZ2xvYmFsIGFuZCBjbGVhbnMgaXQgdXAiKTsKLQotICAgIHRlc3QoZnVuY3Rpb24oKSB7YXNz
ZXJ0X2VxdWFscyh3aW5kb3cuZ2xvYmFsLCB1bmRlZmluZWQpfSwKLSAgICAgICAgICJUZXN0IHRo
YXQgY2xlYW51cCBoYW5kbGVycyBmcm9tIHByZXZpb3VzIHRlc3QgcmFuIik7Ci0KLTwvc2NyaXB0
PgotPC9ib2R5PgotPC9odG1sPgotCi0KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2FtcGxlMTAu
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL2V4YW1wbGVzL2FwaXNhbXBsZTEwLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDY5ODEwZmUxNmNmNmJmYjVlYTE2OWY0OTk4NjczOGYwOGQxMWRjMjYuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2FtcGxlMTAuaHRt
bAorKysgL2Rldi9udWxsCkBAIC0xLDExOSArMCwwIEBACi08IURPQ1RZUEUgSFRNTD4KLTxodG1s
PgotPGhlYWQ+Ci08dGl0bGU+QXN5bmMgVGVzdHMgYW5kIFByb21pc2VzPC90aXRsZT4KLTwvaGVh
ZD4KLTxib2R5PgotPGgxPkFzeW5jIFRlc3RzIGFuZCBQcm9taXNlczwvaDE+Ci08cD5UaGlzIHRl
c3QgYXNzdW1lcyBFQ01BU2NyaXB0IDYgUHJvbWlzZSBzdXBwb3J0LiBTb21lIGZhaWx1cmVzIGFy
ZSBleHBlY3RlZC48L3A+Ci08ZGl2IGlkPSJsb2ciPjwvZGl2PgotPHNjcmlwdCBzcmM9Ii4uL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotCi10ZXN0KGZ1bmN0aW9uKCkgewotICB2YXIgcCA9
IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkge30pOwotICBhc3NlcnRfdHJ1
ZSgndGhlbicgaW4gcCk7Ci0gIGFzc2VydF9lcXVhbHModHlwZW9mIFByb21pc2UucmVzb2x2ZSwg
J2Z1bmN0aW9uJyk7Ci0gIGFzc2VydF9lcXVhbHModHlwZW9mIFByb21pc2UucmVqZWN0LCAnZnVu
Y3Rpb24nKTsKLX0sICJQcm9taXNlcyBhcmUgc3VwcG9ydGVkIGluIHlvdXIgYnJvd3NlciIpOwot
Ci0oZnVuY3Rpb24oKSB7Ci0gIHZhciB0ID0gYXN5bmNfdGVzdCgiUHJvbWlzZSByZXNvbHV0aW9u
Iik7Ci0gIHQuc3RlcChmdW5jdGlvbigpIHsKLSAgICBQcm9taXNlLnJlc29sdmUoJ3gnKS50aGVu
KAotICAgICAgdC5zdGVwX2Z1bmMoZnVuY3Rpb24odmFsdWUpIHsKLSAgICAgICAgYXNzZXJ0X2Vx
dWFscyh2YWx1ZSwgJ3gnKTsKLSAgICAgICAgdC5kb25lKCk7Ci0gICAgICB9KSwKLSAgICAgIHQu
dW5yZWFjaGVkX2Z1bmMoJ1Byb21pc2Ugc2hvdWxkIG5vdCByZWplY3QnKQotICAgICk7Ci0gIH0p
OwotfSgpKTsKLQotKGZ1bmN0aW9uKCkgewotICB2YXIgdCA9IGFzeW5jX3Rlc3QoIlByb21pc2Ug
cmVqZWN0aW9uIik7Ci0gIHQuc3RlcChmdW5jdGlvbigpIHsKLSAgICBQcm9taXNlLnJlamVjdChF
cnJvcignZmFpbCcpKS50aGVuKAotICAgICAgdC51bnJlYWNoZWRfZnVuYygnUHJvbWlzZSBzaG91
bGQgcmVqZWN0JyksCi0gICAgICB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKLSAgICAg
ICAgYXNzZXJ0X3RydWUocmVhc29uIGluc3RhbmNlb2YgRXJyb3IpOwotICAgICAgICBhc3NlcnRf
ZXF1YWxzKHJlYXNvbi5tZXNzYWdlLCAnZmFpbCcpOwotICAgICAgICB0LmRvbmUoKTsKLSAgICAg
IH0pCi0gICAgKTsKLSAgfSk7Ci19KCkpOwotCi0oZnVuY3Rpb24oKSB7Ci0gIHZhciB0ID0gYXN5
bmNfdGVzdCgiUHJvbWlzZXMgcmVzb2x1dGlvbiBjaGFpbmluZyIpOwotICB0LnN0ZXAoZnVuY3Rp
b24oKSB7Ci0gICAgdmFyIHJlc29sdXRpb25zID0gW107Ci0gICAgUHJvbWlzZS5yZXNvbHZlKCdh
JykudGhlbigKLSAgICAgIHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHZhbHVlKSB7Ci0gICAgICAgIHJl
c29sdXRpb25zLnB1c2godmFsdWUpOwotICAgICAgICByZXR1cm4gJ2InOwotICAgICAgfSkKLSAg
ICApLnRoZW4oCi0gICAgICB0LnN0ZXBfZnVuYyhmdW5jdGlvbih2YWx1ZSkgewotICAgICAgICBy
ZXNvbHV0aW9ucy5wdXNoKHZhbHVlKTsKLSAgICAgICAgcmV0dXJuICdjJzsKLSAgICAgIH0pCi0g
ICAgKS50aGVuKAotICAgICAgdC5zdGVwX2Z1bmMoZnVuY3Rpb24odmFsdWUpIHsKLSAgICAgICAg
cmVzb2x1dGlvbnMucHVzaCh2YWx1ZSk7Ci0KLSAgICAgICAgYXNzZXJ0X2FycmF5X2VxdWFscyhy
ZXNvbHV0aW9ucywgWydhJywgJ2InLCAnYyddKTsKLSAgICAgICAgdC5kb25lKCk7Ci0gICAgICB9
KQotICAgICkuY2F0Y2goCi0gICAgICB0LnVucmVhY2hlZF9mdW5jKCdwcm9taXNlIHNob3VsZCBu
b3QgaGF2ZSByZWplY3RlZCcpCi0gICAgKTsKLSAgfSk7Ci19KCkpOwotCi0oZnVuY3Rpb24oKSB7
Ci0gIHZhciB0ID0gYXN5bmNfdGVzdCgiVXNlIG9mIHN0ZXBfZnVuYyB3aXRoIFByb21pc2VzIik7
Ci0gIHQuc3RlcChmdW5jdGlvbigpIHsKLSAgICB2YXIgcmVzb2x1dGlvbnMgPSBbXTsKLSAgICBQ
cm9taXNlLnJlc29sdmUoJ3gnKS50aGVuKAotICAgICAgdC5zdGVwX2Z1bmNfZG9uZSgpLAotICAg
ICAgdC51bnJlYWNoZWRfZnVuYygnUHJvbWlzZSBzaG91bGQgbm90IGhhdmUgcmVqZWN0ZWQnKQot
ICAgICk7Ci0gIH0pOwotfSgpKTsKLQotKGZ1bmN0aW9uKCkgewotICB2YXIgdCA9IGFzeW5jX3Rl
c3QoIlByb21pc2VzIGFuZCB0ZXN0IGFzc2VydGlvbiBmYWlsdXJlcyAoc2hvdWxkIGZhaWwpIik7
Ci0gIHQuc3RlcChmdW5jdGlvbigpIHsKLSAgICB2YXIgcmVzb2x1dGlvbnMgPSBbXTsKLSAgICBQ
cm9taXNlLnJlc29sdmUoJ3gnKS50aGVuKAotICAgICAgdC5zdGVwX2Z1bmMoZnVuY3Rpb24odmFs
dWUpIHsKLSAgICAgICAgYXNzZXJ0X3RydWUoZmFsc2UsICdUaGlzIGZhaWx1cmUgaXMgZXhwZWN0
ZWQnKTsKLSAgICAgIH0pCi0gICAgKS50aGVuKAotICAgICAgdC51bnJlYWNoZWRfZnVuYygnUHJv
bWlzZSBzaG91bGQgbm90IGhhdmUgcmVzb2x2ZWQnKQotICAgICkuY2F0Y2goCi0gICAgICB0LnVu
cmVhY2hlZF9mdW5jKCdQcm9taXNlIHNob3VsZCBub3QgaGF2ZSByZWplY3RlZCcpCi0gICAgKTsK
LSAgfSk7Ci19KCkpOwotCi0oZnVuY3Rpb24oKSB7Ci0gIHZhciB0ID0gYXN5bmNfdGVzdCgiVXNl
IG9mIHVucmVhY2hlZF9mdW5jIHdpdGggUHJvbWlzZXMgKHNob3VsZCBmYWlsKSIpOwotICB0LnN0
ZXAoZnVuY3Rpb24oKSB7Ci0gICAgdmFyIHJlc29sdXRpb25zID0gW107Ci0gICAgdmFyIHI7Ci0g
ICAgdmFyIHAgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKLSAgICAg
IC8vIFJlamVjdCBpbnN0ZWFkIG9mIHJlc29sdmUsIHRvIGRlbW9uc3RyYXRlIGZhaWx1cmUuCi0g
ICAgICByZWplY3QoMTIzKTsKLSAgICB9KTsKLSAgICBwLnRoZW4oCi0gICAgICBmdW5jdGlvbih2
YWx1ZSkgewotICAgICAgICBhc3NlcnRfZXF1YWxzKHZhbHVlLCAxMjMsICdUaGlzIHNob3VsZCBu
b3QgYWN0dWFsbHkgaGFwcGVuJyk7Ci0gICAgICB9LAotICAgICAgdC51bnJlYWNoZWRfZnVuYygn
VGhpcyBmYWlsdXJlIGlzIGV4cGVjdGVkJykKLSAgICApOwotICB9KTsKLX0oKSk7Ci08L3Njcmlw
dD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBsZTExLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy9hcGlzYW1wbGUx
MS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzMmU4OTg0YzNmMTY0MDc5Mjlk
MDM3OTI4MjkxZTlhODcyMmY5MWFjLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBsZTExLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw5
OSArMCwwIEBACi08IURPQ1RZUEUgSFRNTD4KLTxodG1sPgotPGhlYWQ+Ci08dGl0bGU+RXhhbXBs
ZSB3aXRoIGlmcmFtZSB0aGF0IG5vdGlmaWVzIGNvbnRhaW5pbmcgZG9jdW1lbnQgdmlhIGNhbGxi
YWNrczwvdGl0bGU+Ci08c2NyaXB0IHNyYz0iLi4vdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdCBzcmM9Ii4uL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTwvaGVhZD4K
LTxib2R5IG9ubG9hZD0ic3RhcnRfdGVzdF9pbl9pZnJhbWUoKSI+Ci08aDE+Q2FsbGJhY2tzIEZy
b20gVGVzdHMgUnVubmluZyBJbiBBbiBJRlJBTUU8L2gxPgotPHA+QSB0ZXN0IGlzIHJ1biBpbnNp
ZGUgYW4gPHR0PmlmcmFtZTwvdHQ+IHdpdGggYSBzYW1lIG9yaWdpbiBkb2N1bWVudC4gVGhlCi1j
b250YWluaW5nIGRvY3VtZW50IHNob3VsZCByZWNlaXZlIGNhbGxiYWNrcyBhcyB0aGUgdGVzdHMg
cHJvZ3Jlc3MgaW5zaWRlIHRoZQotPHR0PmlmcmFtZTwvdHQ+LiBBIHNpbmdsZSBwYXNzaW5nIHRl
c3QgaXMgZXhwZWN0ZWQgaW4gdGhlIHN1bW1hcnkgYmVsb3cuCi08ZGl2IGlkPSJsb2ciPjwvZGl2
PgotCi08c2NyaXB0PgotdmFyIGNhbGxiYWNrcyA9IFtdOwotdmFyIFNUQVJUID0gMQotdmFyIFRF
U1RfU1RBVEUgPSAyCi12YXIgUkVTVUxUID0gMwotdmFyIENPTVBMRVRJT04gPSA0Ci12YXIgdGVz
dF9jb21wbGV0ZSA9IGZhbHNlOwotCi1zZXR1cCh7ZXhwbGljaXRfZG9uZTogdHJ1ZX0pOwotCi0v
LyBUaGUgZm9sbG93aW5nIGNhbGxiYWNrcyBhcmUgY2FsbGVkIGZvciB0ZXN0cyBpbiB0aGlzIGRv
Y3VtZW50IGFzIHdlbGwgYXMgdGhlCi0vLyB0ZXN0cyBpbiB0aGUgSUZSQU1FLiBDdXJyZW50bHks
IGNhbGxiYWNrcyBpbnZva2VkIGZyb20gdGhpcyBkb2N1bWVudCBhbmQgYW55Ci0vLyBjaGlsZCBk
b2N1bWVudCBhcmUgaW5kaXN0aW5ndWlzaGFibGUgZnJvbSBlYWNoIG90aGVyLgotCi1mdW5jdGlv
biBzdGFydF9jYWxsYmFjayhwcm9wZXJ0aWVzKSB7Ci0gICAgY2FsbGJhY2tzLnB1c2goU1RBUlQp
OwotfQotCi1mdW5jdGlvbiB0ZXN0X3N0YXRlX2NhbGxiYWNrKHRlc3QpIHsKLSAgICBjYWxsYmFj
a3MucHVzaChURVNUX1NUQVRFKTsKLX0KLQotZnVuY3Rpb24gcmVzdWx0X2NhbGxiYWNrKHRlc3Qp
IHsKLSAgICBjYWxsYmFja3MucHVzaChSRVNVTFQpOwotfQotCi1mdW5jdGlvbiBjb21wbGV0aW9u
X2NhbGxiYWNrKHRlc3RzLCBzdGF0dXMpIHsKLSAgICBpZiAodGVzdF9jb21wbGV0ZSkgewotICAg
ICAgICByZXR1cm47Ci0gICAgfQotICAgIHRlc3RfY29tcGxldGUgPSB0cnVlOwotICAgIGNhbGxi
YWNrcy5wdXNoKENPTVBMRVRJT04pOwotICAgIHZlcmlmeV9yZWNlaXZlZF9jYWxsYmFja3MoKTsK
LSAgICBkb25lKCk7Ci19Ci0KLWZ1bmN0aW9uIHZlcmlmeV9yZWNlaXZlZF9jYWxsYmFja3MoKSB7
Ci0gICAgdmFyIGNvcHlfb2ZfY2FsbGJhY2tzID0gY2FsbGJhY2tzLnNsaWNlKDApOwotCi0gICAg
Ly8gTm90ZSB0aGF0IHlvdSBjYW4ndCBydW4gdGVzdCBhc3NlcnRpb25zIGRpcmVjdGx5IGluIGEg
Y2FsbGJhY2sgZXZlbiBpZgotICAgIC8vIHRoaXMgaXMgYSBmaWxlIHRlc3QuIFdoZW4gdGhlIGNh
bGxiYWNrIGlzIGludm9rZWQgZnJvbSBhIHNhbWUtb3JpZ2luIGNoaWxkCi0gICAgLy8gcGFnZSwg
dGhlIGNhbGxzdGFjayByZWFjaGVzIGludG8gdGhlIGNhbGxpbmcgY2hpbGQgZG9jdW1lbnQuIEFu
eQotICAgIC8vIGV4Y2VwdGlvbiB0aHJvd24gaW4gYSBjYWxsYmFjayB3aWxsIGJlIGhhbmRsZWQg
YnkgdGhlIGNoaWxkIHJhdGhlciB0aGFuCi0gICAgLy8gdGhpcyBkb2N1bWVudC4KLSAgICB0ZXN0
KAotICAgICAgICBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgIC8vIGNhbGxiYWNrcyBsaXN0IHNo
b3VsZCBsb29rIGxpa2U6Ci0gICAgICAgICAgICAvLyAgICAgU1RBUlQgMSooVEVTVF9TVEFURSkg
UkVTVUxUIENPTVBMRVRJT04KLSAgICAgICAgICAgIGFzc2VydF9lcXVhbHMoY29weV9vZl9jYWxs
YmFja3Muc2hpZnQoKSwgU1RBUlQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICJUaGUgZmly
c3QgcmVjZWl2ZWQgY2FsbGJhY2sgc2hvdWxkIGJlICdzdGFydF9jYWxsYmFjaycuIik7Ci0gICAg
ICAgICAgICBhc3NlcnRfZXF1YWxzKGNvcHlfb2ZfY2FsbGJhY2tzLnNoaWZ0KCksIFRFU1RfU1RB
VEUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICIndGVzdF9zdGF0ZV9jYWxsYmFjaycgc2hv
dWxkIGJlIHJlY2VpdmVkIGJlZm9yZSBhbnkgIiArCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICJyZXN1bHQgb3IgY29tcGxldGlvbiBjYWxsYmFja3MuIik7Ci0gICAgICAgICAgICB3aGlsZShj
b3B5X29mX2NhbGxiYWNrcy5sZW5ndGggPiAwKSB7Ci0gICAgICAgICAgICAgICAgdmFyIGNhbGxi
YWNrID0gY29weV9vZl9jYWxsYmFja3Muc2hpZnQoKTsKLSAgICAgICAgICAgICAgICBpZiAoY2Fs
bGJhY2sgIT0gVEVTVF9TVEFURSkgewotICAgICAgICAgICAgICAgICAgICBjb3B5X29mX2NhbGxi
YWNrcy51bnNoaWZ0KGNhbGxiYWNrKTsKLSAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAg
ICAgICAgICAgICAgfQotICAgICAgICAgICAgfQotICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhj
b3B5X29mX2NhbGxiYWNrcy5zaGlmdCgpLCBSRVNVTFQsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICIndGVzdF9zdGF0ZV9jYWxsYmFjaycgc2hvdWxkIGJlIGZvbGxvd2VkIGJ5ICdyZXN1bHRf
Y2FsbGJhY2snLiIpOwotICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhjb3B5X29mX2NhbGxiYWNr
cy5zaGlmdCgpLCBDT01QTEVUSU9OLAotICAgICAgICAgICAgICAgICAgICAgICAgICAiRmluYWwg
J3Jlc3VsdF9jYWxsYmFjaycgc2hvdWxkIGJlIGZvbGxvd2VkIGJ5ICdjb21wbGV0aW9uX2NhbGxi
YWNrJy4iKTsKLSAgICAgICAgICAgIGFzc2VydF9lcXVhbHMoY29weV9vZl9jYWxsYmFja3MubGVu
Z3RoLCAwLAotICAgICAgICAgICAgICAgICAgICAgICAgICAiJ2NvbXBsZXRpb25fY2FsbGJhY2sn
IHNob3VsZCBiZSB0aGUgbGFzdCBjYWxsYmFjay4iKTsKLSAgICAgICAgfSk7Ci19Ci0KLWZ1bmN0
aW9uIHN0YXJ0X3Rlc3RfaW5faWZyYW1lKCkgewotICAgIC8vIFRoaXMgZG9jdW1lbnQgaXMgZ29p
bmcgdG8gY2xlYXIgYW55IHJlY2VpdmVkIGNhbGxiYWNrcyBhbmQgbWFpbnRhaW4KLSAgICAvLyBy
YWRpbyBzaWxlbmNlIHVudGlsIHRoZSB0ZXN0IGluIHRoZSBpZnJhbWUgcnVucyB0byBjb21wbGV0
aW9uLiBUaGUKLSAgICAvLyBjb21wbGV0aW9uX2NhbGxiYWNrKCkgd2lsbCB0aGVuIGNvbXBsZXRl
IHRoZSB0ZXN0aW5nIG9uIHRoaXMgZG9jdW1lbnQuCi0gICAgY2FsbGJhY2tzLmxlbmd0aCA9IDA7
Ci0gICAgdmFyIGlmcmFtZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlmcmFtZSIpOwotICAg
IC8vIGFwaXNhbXBsZTYuaHRtbCBoYXMgYSBzaW5nbGUgdGVzdC4KLSAgICBpZnJhbWUuc3JjID0g
ImFwaXNhbXBsZTYuaHRtbCI7Ci0gICAgaWZyYW1lLnN0eWxlLnNldFByb3BlcnR5KCJkaXNwbGF5
IiwgIm5vbmUiKTsKLSAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGFyZ2V0IikuYXBwZW5k
Q2hpbGQoaWZyYW1lKTsKLX0KLTwvc2NyaXB0PgotCi08ZGl2IGlkPSJ0YXJnZXQiPgotPC9kaXY+
Ci08L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy9hcGlzYW1wbGUxMi5odG1sIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZXMvYXBp
c2FtcGxlMTIuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjM5YTYxYTZmMjky
NDQwZDFhMDdiNDhkODliNmUzOGFhYjI5NTRmNy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy9hcGlzYW1wbGUxMi5odG1sCisrKyAvZGV2L251bGwK
QEAgLTEsNjcgKzAsMCBAQAotPCFET0NUWVBFIEhUTUw+Ci08aHRtbD4KLTxoZWFkPgotPHRpdGxl
PkV4YW1wbGUgd2l0aCBpZnJhbWUgdGhhdCBub3RpZmllcyBjb250YWluaW5nIGRvY3VtZW50IHZp
YSBjcm9zcyBkb2N1bWVudCBtZXNzYWdpbmc8L3RpdGxlPgotPHNjcmlwdCBzcmM9Ii4uL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxoMT5Ob3RpZmljYXRpb25zIEZyb20gVGVz
dHMgUnVubmluZyBJbiBBbiBJRlJBTUU8L2gxPgotPHA+QSB0ZXN0IGlzIHJ1biBpbnNpZGUgYW4g
PHR0PmlmcmFtZTwvdHQ+IHdpdGggYSBzYW1lIG9yaWdpbiBkb2N1bWVudC4gVGhlCi1jb250YWlu
aW5nIGRvY3VtZW50IHNob3VsZCByZWNlaXZlIG1lc3NhZ2VzIHZpYSA8dHQ+cG9zdE1lc3NhZ2U8
L3R0Pi8KLTx0dD5vbm1lc3NhZ2U8L3R0PiBhcyB0aGUgdGVzdHMgcHJvZ3Jlc3MgaW5zaWRlIHRo
ZSA8dHQ+aWZyYW1lPC90dD4uIEEgc2luZ2xlCi1wYXNzaW5nIHRlc3QgaXMgZXhwZWN0ZWQgaW4g
dGhlIHN1bW1hcnkgYmVsb3cuCi08L3A+Ci08ZGl2IGlkPSJsb2ciPjwvZGl2PgotCi08c2NyaXB0
PgotdmFyIHQgPSBhc3luY190ZXN0KCJDb250YWluaW5nIGRvY3VtZW50IHJlY2VpdmVzIG1lc3Nh
Z2VzIik7Ci12YXIgc3RhcnRfcmVjZWl2ZWQgPSBmYWxzZTsKLXZhciByZXN1bHRfcmVjZWl2ZWQg
PSBmYWxzZTsKLXZhciBjb21wbGV0aW9uX3JlY2VpdmVkID0gZmFsc2U7Ci0KLS8vIFRoZXNlIGFy
ZSB0aGUgbWVzc2FnZXMgdGhhdCBhcmUgZXhwZWN0ZWQgdG8gYmUgc2VlbiB3aGlsZSBydW5uaW5n
IHRoZSB0ZXN0cwotLy8gaW4gdGhlIElGUkFNRS4KLXZhciBleHBlY3RlZF9tZXNzYWdlcyA9IFsK
LSAgICB0LnN0ZXBfZnVuYygKLSAgICAgICAgZnVuY3Rpb24obWVzc2FnZSkgewotICAgICAgICAg
ICAgYXNzZXJ0X2VxdWFscyhtZXNzYWdlLmRhdGEudHlwZSwgInN0YXJ0Iik7Ci0gICAgICAgICAg
ICBhc3NlcnRfb3duX3Byb3BlcnR5KG1lc3NhZ2UuZGF0YSwgInByb3BlcnRpZXMiKTsKLSAgICAg
ICAgfSksCi0KLSAgICB0LnN0ZXBfZnVuYygKLSAgICAgICAgZnVuY3Rpb24obWVzc2FnZSkgewot
ICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhtZXNzYWdlLmRhdGEudHlwZSwgInRlc3Rfc3RhdGUi
KTsKLSAgICAgICAgICAgIGFzc2VydF9lcXVhbHMobWVzc2FnZS5kYXRhLnRlc3Quc3RhdHVzLCBt
ZXNzYWdlLmRhdGEudGVzdC5OT1RSVU4pOwotICAgICAgICB9KSwKLQotICAgIHQuc3RlcF9mdW5j
KAotICAgICAgICBmdW5jdGlvbihtZXNzYWdlKSB7Ci0gICAgICAgICAgICBhc3NlcnRfZXF1YWxz
KG1lc3NhZ2UuZGF0YS50eXBlLCAicmVzdWx0Iik7Ci0gICAgICAgICAgICBhc3NlcnRfZXF1YWxz
KG1lc3NhZ2UuZGF0YS50ZXN0LnN0YXR1cywgbWVzc2FnZS5kYXRhLnRlc3QuUEFTUyk7Ci0gICAg
ICAgIH0pLAotCi0gICAgdC5zdGVwX2Z1bmMoCi0gICAgICAgIGZ1bmN0aW9uKG1lc3NhZ2UpIHsK
LSAgICAgICAgICAgIGFzc2VydF9lcXVhbHMobWVzc2FnZS5kYXRhLnR5cGUsICJjb21wbGV0ZSIp
OwotICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhtZXNzYWdlLmRhdGEudGVzdHMubGVuZ3RoLCAx
KTsKLSAgICAgICAgICAgIGFzc2VydF9lcXVhbHMobWVzc2FnZS5kYXRhLnRlc3RzWzBdLnN0YXR1
cywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZS5kYXRhLnRlc3RzWzBdLlBBU1Mp
OwotICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhtZXNzYWdlLmRhdGEuc3RhdHVzLnN0YXR1cywg
bWVzc2FnZS5kYXRhLnN0YXR1cy5PSyk7Ci0gICAgICAgICAgICB0LmRvbmUoKTsKLSAgICAgICAg
fSksCi0KLSAgICB0LnVucmVhY2hlZF9mdW5jKCJUb28gbWFueSBtZXNzYWdlcyByZWNlaXZlZCIp
Ci1dOwotCi1vbl9ldmVudCh3aW5kb3csCi0gICAgICAgICAibWVzc2FnZSIsCi0gICAgICAgICBm
dW5jdGlvbihtZXNzYWdlKSB7Ci0gICAgICAgICAgICAgdmFyIGhhbmRsZXIgPSBleHBlY3RlZF9t
ZXNzYWdlcy5zaGlmdCgpOwotICAgICAgICAgICAgIGhhbmRsZXIobWVzc2FnZSk7Ci0gICAgICAg
ICB9KTsKLTwvc2NyaXB0PgotPGlmcmFtZSBzcmM9ImFwaXNhbXBsZTYuaHRtbCIgc3R5bGU9ImRp
c3BsYXk6bm9uZSI+Ci0gIDwhLS0gIGFwaXNhbXBsZTYgaW1wbGVtZW50cyBhIGZpbGVfaXNfdGVz
dCB0ZXN0LiAgLS0+Ci08L2lmcmFtZT4KLTwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNh
bXBsZTEzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy9leGFtcGxlcy9hcGlzYW1wbGUxMy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCBmNmNmMGVlYzgzMTg2ZTBhOTFkMDUwYmQ3ZjdmNzI4ODMyMWE2NmZjLi4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBs
ZTEzLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxMzIgKzAsMCBAQAotPCFET0NUWVBFIEhUTUw+
Ci08aHRtbD4KLTxoZWFkPgotPHRpdGxlPlByb21pc2UgVGVzdHM8L3RpdGxlPgotPC9oZWFkPgot
PGJvZHk+Ci08aDE+UHJvbWlzZSBUZXN0czwvaDE+Ci08cD5UaGlzIHRlc3QgZGVtb25zdHJhdGVz
IHRoZSB1c2Ugb2YgPHR0PnByb21pc2VfdGVzdDwvdHQ+LiBBc3N1bWVzIEVDTUFTY3JpcHQgNgot
UHJvbWlzZSBzdXBwb3J0LiBTb21lIGZhaWx1cmVzIGFyZSBleHBlY3RlZC48L3A+Ci08ZGl2IGlk
PSJsb2ciPjwvZGl2PgotPHNjcmlwdCBzcmM9Ii4uL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIuLi90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
PgotdGVzdCgKLSAgICBmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIHAgPSBuZXcgUHJvbWlzZShm
dW5jdGlvbihyZXNvbHZlLCByZWplY3Qpe30pOwotICAgICAgICBhc3NlcnRfdHJ1ZSgidGhlbiIg
aW4gcCk7Ci0gICAgICAgIGFzc2VydF9lcXVhbHModHlwZW9mIFByb21pc2UucmVzb2x2ZSwgImZ1
bmN0aW9uIik7Ci0gICAgICAgIGFzc2VydF9lcXVhbHModHlwZW9mIFByb21pc2UucmVqZWN0LCAi
ZnVuY3Rpb24iKTsKLSAgICB9LAotICAgICJQcm9taXNlcyBhcmUgc3VwcG9ydGVkIGluIHlvdXIg
YnJvd3NlciIpOwotCi1wcm9taXNlX3Rlc3QoCi0gICAgZnVuY3Rpb24oKSB7Ci0gICAgICAgIHJl
dHVybiBQcm9taXNlLnJlc29sdmUoIngiKQotICAgICAgICAgICAgLnRoZW4oCi0gICAgICAgICAg
ICAgICAgZnVuY3Rpb24odmFsdWUpIHsKLSAgICAgICAgICAgICAgICAgICAgYXNzZXJ0X2VxdWFs
cyh2YWx1ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAieCIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIkZ1bGZpbGxlZCBwcm9taXNlIHNob3VsZCBwYXNz
IHJlc3VsdCB0byAiICsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZnVsZmls
bCByZWFjdGlvbi4iKTsKLSAgICAgICAgICAgICAgICB9KTsKLSAgICB9LAotICAgICJQcm9taXNl
IGZ1bGZpbGxtZW50IHdpdGggcmVzdWx0Iik7Ci0KLXByb21pc2VfdGVzdCgKLSAgICBmdW5jdGlv
bih0KSB7Ci0gICAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdChuZXcgRXJyb3IoImZhaWwiKSkK
LSAgICAgICAgICAgIC50aGVuKHQudW5yZWFjaGVkX2Z1bmMoIlByb21pc2Ugc2hvdWxkIHJlamVj
dCIpLAotICAgICAgICAgICAgICAgIGZ1bmN0aW9uKHJlYXNvbikgewotICAgICAgICAgICAgICAg
ICAgICBhc3NlcnRfdHJ1ZSgKLSAgICAgICAgICAgICAgICAgICAgICAgIHJlYXNvbiBpbnN0YW5j
ZW9mIEVycm9yLAotICAgICAgICAgICAgICAgICAgICAgICAgIlJlamVjdGVkIHByb21pc2Ugc2hv
dWxkIHBhc3MgcmVhc29uIHRvIGZ1bGZpbGwgcmVhY3Rpb24uIik7Ci0gICAgICAgICAgICAgICAg
ICAgIGFzc2VydF9lcXVhbHMoCi0gICAgICAgICAgICAgICAgICAgICAgICByZWFzb24ubWVzc2Fn
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJmYWlsIiwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJSZWplY3RlZCBwcm9taXNlIHNob3VsZCBwYXNzIHJlYXNvbiB0byByZWplY3QgcmVhY3Rp
b24uIik7Ci0gICAgICAgICAgICAgICAgfSk7Ci0gICAgfSwKLSAgICAiUHJvbWlzZSByZWplY3Rp
b24gd2l0aCByZXN1bHQiKTsKLQotcHJvbWlzZV90ZXN0KAotICAgIGZ1bmN0aW9uKCkgewotICAg
ICAgICB2YXIgcmVzb2x1dGlvbnMgPSBbXTsKLSAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2
ZSgiYSIpCi0gICAgICAgICAgICAudGhlbigKLSAgICAgICAgICAgICAgICBmdW5jdGlvbih2YWx1
ZSkgewotICAgICAgICAgICAgICAgICAgICByZXNvbHV0aW9ucy5wdXNoKHZhbHVlKTsKLSAgICAg
ICAgICAgICAgICAgICAgcmV0dXJuICJiIjsKLSAgICAgICAgICAgICAgICB9KQotICAgICAgICAg
ICAgLnRoZW4oCi0gICAgICAgICAgICAgICAgZnVuY3Rpb24odmFsdWUpIHsKLSAgICAgICAgICAg
ICAgICAgICAgcmVzb2x1dGlvbnMucHVzaCh2YWx1ZSk7Ci0gICAgICAgICAgICAgICAgICAgIHJl
dHVybiAiYyI7Ci0gICAgICAgICAgICAgICAgfSkKLSAgICAgICAgICAgIC50aGVuKAotICAgICAg
ICAgICAgICAgIGZ1bmN0aW9uKHZhbHVlKSB7Ci0gICAgICAgICAgICAgICAgICAgIHJlc29sdXRp
b25zLnB1c2godmFsdWUpOwotICAgICAgICAgICAgICAgICAgICBhc3NlcnRfYXJyYXlfZXF1YWxz
KHJlc29sdXRpb25zLCBbImEiLCAiYiIsICJjIl0pOwotICAgICAgICAgICAgICAgIH0pOwotICAg
IH0sCi0gICAgIkNoYWluIG9mIHByb21pc2UgcmVzb2x1dGlvbnMiKTsKLQotcHJvbWlzZV90ZXN0
KAotICAgIGZ1bmN0aW9uKHQpIHsKLSAgICAgICAgdmFyIHJlc29sdXRpb25zID0gW107Ci0gICAg
ICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoIngiKQotICAgICAgICAgICAgLnRoZW4oCi0gICAg
ICAgICAgICAgICAgZnVuY3Rpb24odmFsdWUpIHsKLSAgICAgICAgICAgICAgICAgICAgYXNzZXJ0
X3RydWUoZmFsc2UsICJFeHBlY3RlZCBmYWlsdXJlLiIpOwotICAgICAgICAgICAgICAgIH0pCi0g
ICAgICAgICAgICAudGhlbih0LnVucmVhY2hlZF9mdW5jKCJVTkVYUEVDVEVEIEZBSUxVUkU6IFBy
b21pc2Ugc2hvdWxkIG5vdCBoYXZlIHJlc29sdmVkLiIpKTsKLSAgICB9LAotICAgICJBc3NlcnRp
b24gZmFpbHVyZSBpbiBhIGZ1bGZpbGwgcmVhY3Rpb24gKHNob3VsZCBGQUlMIHdpdGggYW4gZXhw
ZWN0ZWQgZmFpbHVyZSkiKTsKLQotcHJvbWlzZV90ZXN0KAotICAgIGZ1bmN0aW9uKHQpIHsKLSAg
ICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKAotICAgICAgICAgICAgICAgIGZ1bmN0aW9uKHJlc29s
dmUsIHJlamVjdCkgewotICAgICAgICAgICAgICAgICAgICByZWplY3QoMTIzKTsKLSAgICAgICAg
ICAgICAgICB9KQotICAgICAgICAgICAgLnRoZW4odC51bnJlYWNoZWRfZnVuYygiVU5FWFBFQ1RF
RCBGQUlMVVJFOiBGdWxmaWxsIHJlYWN0aW9uIHJlYWNoZWQgYWZ0ZXIgcmVqZWN0aW9uLiIpLAot
ICAgICAgICAgICAgICAgICAgdC51bnJlYWNoZWRfZnVuYygiRXhwZWN0ZWQgZmFpbHVyZS4iKSk7
Ci0gICAgfSwKLSAgICAidW5yZWFjaGVkX2Z1bmMgYXMgcmVhY3RvciAoc2hvdWxkIEZBSUwgd2l0
aCBhbiBleHBlY3RlZCBmYWlsdXJlKSIpOwotCi1wcm9taXNlX3Rlc3QoCi0gICAgZnVuY3Rpb24o
KSB7Ci0gICAgICAgIHJldHVybiB0cnVlOwotICAgIH0sCi0gICAgInByb21pc2VfdGVzdCB3aXRo
IGZ1bmN0aW9uIHRoYXQgZG9lc24ndCByZXR1cm4gYSBQcm9taXNlIik7Ci0KLXByb21pc2VfdGVz
dChmdW5jdGlvbigpe30sCi0gICAgICAgICAgICAgInByb21pc2VfdGVzdCB3aXRoIGZ1bmN0aW9u
IHRoYXQgZG9lc24ndCByZXR1cm4gYW55dGhpbmciKTsKLQotcHJvbWlzZV90ZXN0KAotICAgIGZ1
bmN0aW9uKCkgewotICAgICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QoIkV4cGVjdGVkIHJlamVj
dGlvbiIpOwotICAgIH0sCi0gICAgInByb21pc2VfdGVzdCB3aXRoIHVuaGFuZGxlZCByZWplY3Rp
b24gKHNob3VsZCBGQUlMKSIpOwotCi1wcm9taXNlX3Rlc3QoCi0gICAgZnVuY3Rpb24oKSB7Ci0g
ICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoMTApCi0gICAgICAgICAgICAudGhlbigKLSAg
ICAgICAgICAgICAgICBmdW5jdGlvbih2YWx1ZSkgewotICAgICAgICAgICAgICAgICAgICB0aHJv
dyBFcnJvcigiRXhwZWN0ZWQgZXhjZXB0aW9uLiIpOwotICAgICAgICAgICAgICAgIH0pOwotICAg
IH0sCi0gICAgInByb21pc2VfdGVzdCB3aXRoIHVuaGFuZGxlZCBleGNlcHRpb24gaW4gZnVsZmls
bCByZWFjdGlvbiAoc2hvdWxkIEZBSUwpIik7Ci0KLXByb21pc2VfdGVzdCgKLSAgICBmdW5jdGlv
bih0KSB7Ci0gICAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdCgxMCkKLSAgICAgICAgICAgIC50
aGVuKAotICAgICAgICAgICAgICAgIHQudW5yZWFjaGVkX2Z1bmMoIlVORVhQRUNURUQgRkFJTFVS
RTogRnVsZmlsbCByZWFjdGlvbiByZWFjaGVkIGFmdGVyIHJlamVjdGlvbi4iKSwKLSAgICAgICAg
ICAgICAgICBmdW5jdGlvbih2YWx1ZSkgewotICAgICAgICAgICAgICAgICAgICB0aHJvdyBFcnJv
cigiRXhwZWN0ZWQgZXhjZXB0aW9uLiIpOwotICAgICAgICAgICAgICAgIH0pOwotICAgIH0sCi0g
ICAgInByb21pc2VfdGVzdCB3aXRoIHVuaGFuZGxlZCBleGNlcHRpb24gaW4gcmVqZWN0IHJlYWN0
aW9uIChzaG91bGQgRkFJTCkiKTsKLTwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2Ft
cGxlMTQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBsZTE0Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDg5ODAzZjBiYjZhMzdhOGNiOWY1NDY4ZDkwNDUzMGQzMzU5NzczNGIuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2FtcGxl
MTQuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDI5ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgot
PGh0bWw+Ci08aGVhZD4KLTx0aXRsZT5EZWRpY2F0ZWQgV29ya2VyIFRlc3RzPC90aXRsZT4KLTxz
Y3JpcHQgc3JjPSIuLi90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4v
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08aDE+RGVk
aWNhdGVkIFdlYiBXb3JrZXIgVGVzdHM8L2gxPgotPHA+RGVtb25zdHJhdGVzIHJ1bm5pbmcgPHR0
PnRlc3RoYXJuZXNzPC90dD4gYmFzZWQgdGVzdHMgaW5zaWRlIGEgZGVkaWNhdGVkIHdlYiB3b3Jr
ZXIuCi08cD5UaGUgdGVzdCBoYXJuZXNzIGlzIGV4cGVjdGVkIHRvIGZhaWwgZHVlIHRvIGFuIHVu
Y2F1Z2h0IGV4Y2VwdGlvbiBpbiBvbmUgd29ya2VyLjwvcD4KLTxkaXYgaWQ9ImxvZyI+PC9kaXY+
Ci0KLTxzY3JpcHQ+Ci10ZXN0KGZ1bmN0aW9uKHQpIHsKLSAgICAgICAgYXNzZXJ0X3RydWUoIldv
cmtlciIgaW4gc2VsZiwgIkJyb3dzZXIgc2hvdWxkIHN1cHBvcnQgV29ya2VycyIpOwotICAgIH0s
Ci0gICAgIkJyb3dzZXIgc3VwcG9ydHMgV29ya2VycyIpOwotCi1mZXRjaF90ZXN0c19mcm9tX3dv
cmtlcihuZXcgV29ya2VyKCJhcGlzYW1wbGUtd29ya2VyLmpzIikpOwotCi1mZXRjaF90ZXN0c19m
cm9tX3dvcmtlcihuZXcgV29ya2VyKCJhcGlzYW1wbGUtZXJyb3Itd29ya2VyLmpzIikpOwotCi10
ZXN0KGZ1bmN0aW9uKHQpIHsKLSAgICAgICAgYXNzZXJ0X2ZhbHNlKGZhbHNlLCAiRmFsc2UgaXMg
ZmFsc2UiKTsKLSAgICB9LAotICAgICJUZXN0IHJ1bm5pbmcgb24gbWFpbiBkb2N1bWVudC4iKTsK
LTwvc2NyaXB0PgotPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2FtcGxlMTUuaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4
YW1wbGVzL2FwaXNhbXBsZTE1Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDYz
MWQxOTIyYmFjODhjY2M1MDI0ZTVmNjQzYzVhZTg0ZTgxZGE3ZTguLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2FtcGxlMTUuaHRtbAorKysg
L2Rldi9udWxsCkBAIC0xLDI2ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVh
ZD4KLTx0aXRsZT5FeGFtcGxlIHdpdGggYSBzaGFyZWQgd29ya2VyPC90aXRsZT4KLTxzY3JpcHQg
c3JjPSIuLi90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08aDE+U2hhcmVkIFdl
YiBXb3JrZXIgVGVzdHM8L2gxPgotPHA+RGVtb25zdHJhdGVzIHJ1bm5pbmcgPHR0PnRlc3RoYXJu
ZXNzPC90dD4gYmFzZWQgdGVzdHMgaW5zaWRlIGEgc2hhcmVkIHdvcmtlci4KLTxwPlRoZSB0ZXN0
IGhhcm5lc3Mgc2hvdWxkIHRpbWUgb3V0IGR1ZSB0byBvbmUgb2YgdGhlIHRlc3RzIGluIHRoZSB3
b3JrZXIgdGltaW5nIG91dC4KLTxwPlRoaXMgdGVzdCBhc3N1bWVzIHRoYXQgdGhlIGJyb3dzZXIg
c3VwcG9ydHMgPGEgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvd29ya2Vycy8jc2hhcmVkLXdv
cmtlcnMtYW5kLXRoZS1zaGFyZWR3b3JrZXItaW50ZXJmYWNlIj5zaGFyZWQgd2ViIHdvcmtlcnM8
L2E+LgotPGRpdiBpZD0ibG9nIj48L2Rpdj4KLQotPHNjcmlwdD4KLXRlc3QoCi0gICAgZnVuY3Rp
b24odCkgewotICAgICAgICBhc3NlcnRfdHJ1ZSgiU2hhcmVkV29ya2VyIiBpbiBzZWxmLAotICAg
ICAgICAgICAgICAgICAgICAiQnJvd3NlciBzaG91bGQgc3VwcG9ydCBTaGFyZWRXb3JrZXJzIik7
Ci0gICAgfSwKLSAgICAiQnJvd3NlciBzdXBwb3J0cyBTaGFyZWRXb3JrZXJzIik7Ci0KLWZldGNo
X3Rlc3RzX2Zyb21fd29ya2VyKG5ldyBTaGFyZWRXb3JrZXIoImFwaXNhbXBsZS13b3JrZXIuanMi
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTXkgc2hhcmVkIHdv
cmtlciIpKTsKLTwvc2NyaXB0PgotPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2FtcGxl
MTYuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBsZTE2Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IGQ4NTlkOTRiZjZjYmMwOTVkZmM5ZDdhMTQ4MjY5ZjczZGVhOTI1NmYuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2FtcGxlMTYu
aHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDYyICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0
bWw+Ci08aGVhZD4KLTx0aXRsZT5FeGFtcGxlIHdpdGggYSBzZXJ2aWNlIHdvcmtlcjwvdGl0bGU+
Ci08c2NyaXB0IHNyYz0iLi4vdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
Ii4uL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGgx
PlNlcnZpY2UgV29ya2VyIFRlc3RzPC9oMT4KLTxwPkRlbW9uc3RyYXRlcyBydW5uaW5nIDx0dD50
ZXN0aGFybmVzczwvdHQ+IGJhc2VkIHRlc3RzIGluc2lkZSBhIHNlcnZpY2Ugd29ya2VyLgotPHA+
VGhlIHRlc3QgaGFybmVzcyBzaG91bGQgdGltZSBvdXQgZHVlIHRvIG9uZSBvZiB0aGUgdGVzdHMg
aW5zaWRlIHRoZSB3b3JrZXIgdGltaW5nIG91dC4KLTxwPlRoaXMgdGVzdCBhc3N1bWVzIHRoYXQg
dGhlIGJyb3dzZXIgc3VwcG9ydHMgPGEgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvc2Vydmlj
ZS13b3JrZXJzLyI+U2VydmljZVdvcmtlcnM8L2E+LgotPGRpdiBpZD0ibG9nIj48L2Rpdj4KLQot
PHNjcmlwdD4KLXRlc3QoCi0gICAgZnVuY3Rpb24odCkgewotICAgICAgICBhc3NlcnRfdHJ1ZSgi
c2VydmljZVdvcmtlciIgaW4gbmF2aWdhdG9yLAotICAgICAgICAgICAgICAgICAgICAibmF2aWdh
dG9yLnNlcnZpY2VXb3JrZXIgZXhpc3RzIik7Ci0gICAgfSwKLSAgICAiQnJvd3NlciBzdXBwb3J0
cyBTZXJ2aWNlV29ya2VyIik7Ci0KLXByb21pc2VfdGVzdCgKLSAgICBmdW5jdGlvbigpIHsKLSAg
ICAgICAgLy8gU2luY2UgdGhlIHNlcnZpY2Ugd29ya2VyIHJlZ2lzdHJhdGlvbiBjb3VsZCBiZSBp
biBhbiBpbmRldGVybWluYXRlCi0gICAgICAgIC8vIHN0YXRlIChkdWUgdG8sIGZvciBleGFtcGxl
LCBhIHByZXZpb3VzIHRlc3QgcnVuIGZhaWxpbmcpLCB3ZSBzdGFydCBieQotICAgICAgICAvLyB1
bnJlZ3N0ZXJpbmcgb3VyIHNlcnZpY2Ugd29ya2VyIGFuZCB0aGVuIHJlZ2lzdGVyaW5nIGl0IGFn
YWluLgotICAgICAgICB2YXIgc2NvcGUgPSAiL3NlcnZpY2Utd29ya2VyLXNjb3BlIjsKLSAgICAg
ICAgdmFyIHdvcmtlcl91cmwgPSAiYXBpc2FtcGxlLXdvcmtlci5qcyI7Ci0KLSAgICAgICAgcmV0
dXJuIG5hdmlnYXRvci5zZXJ2aWNlV29ya2VyLnJlZ2lzdGVyKHdvcmtlcl91cmwsIHtzY29wZTog
c2NvcGV9KQotICAgICAgICAgICAgLnRoZW4oCi0gICAgICAgICAgICAgICAgZnVuY3Rpb24ocmVn
aXN0cmF0aW9uKSB7Ci0gICAgICAgICAgICAgICAgICAgIHJldHVybiByZWdpc3RyYXRpb24udW5y
ZWdpc3RlcigpOwotICAgICAgICAgICAgICAgIH0pCi0gICAgICAgICAgICAudGhlbigKLSAgICAg
ICAgICAgICAgICBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5hdmln
YXRvci5zZXJ2aWNlV29ya2VyLnJlZ2lzdGVyKHdvcmtlcl91cmwsIHtzY29wZTogc2NvcGV9KTsK
LSAgICAgICAgICAgICAgICB9KQotICAgICAgICAgICAgLnRoZW4oCi0gICAgICAgICAgICAgICAg
ZnVuY3Rpb24ocmVnaXN0cmF0aW9uKSB7Ci0gICAgICAgICAgICAgICAgICAgIGFkZF9jb21wbGV0
aW9uX2NhbGxiYWNrKAotICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24oKSB7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgcmVnaXN0cmF0aW9uLnVucmVnaXN0ZXIoKTsKLSAgICAg
ICAgICAgICAgICAgICAgICAgIH0pOwotCi0gICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXcg
UHJvbWlzZSgKLSAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uKHJlc29sdmUpIHsKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICByZWdpc3RyYXRpb24uYWRkRXZlbnRMaXN0ZW5lcigi
dXBkYXRlZm91bmQiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbigp
IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc29sdmUocmVnaXN0cmF0
aW9uLmluc3RhbGxpbmcpOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKLSAg
ICAgICAgICAgICAgICAgICAgICAgIH0pOwotICAgICAgICAgICAgICAgIH0pCi0gICAgICAgICAg
ICAudGhlbigKLSAgICAgICAgICAgICAgICBmdW5jdGlvbih3b3JrZXIpIHsKLSAgICAgICAgICAg
ICAgICAgICAgZmV0Y2hfdGVzdHNfZnJvbV93b3JrZXIod29ya2VyKTsKLSAgICAgICAgICAgICAg
ICB9KTsKLSAgICB9LAotICAgICJSZWdpc3RlciBTZXJ2aWNlV29ya2VyIik7Ci08L3NjcmlwdD4K
LTwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBsZTE3Lmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy9hcGlz
YW1wbGUxNy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjMjdjNDE3YjhmYjQ1
YTJjYWEwNWUyZWIyMzg2MmZkMjg4NjAyNmJmLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBsZTE3Lmh0bWwKKysrIC9kZXYvbnVsbApA
QCAtMSw1OSArMCwwIEBACi08IURPQ1RZUEUgSFRNTD4KLTxodG1sPgotPGhlYWQ+Ci08dGl0bGU+
U2FtcGxlIGZvciB1c2luZyBnZW5lcmF0ZV90ZXN0cyB0byBjcmVhdGUgYSBzZXJpZXMgb2YgdGVz
dHMgdGhhdCBzaGFyZSB0aGUgc2FtZSBjYWxsYmFjay48L3RpdGxlPgotPHNjcmlwdCBzcmM9Ii4u
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxzY3JpcHQ+Ci0vLyBnZW5lcmF0
ZV90ZXN0cyB0YWtlcyBhbiBhcnJheSBvZiBhcnJheXMgdGhhdCBkZWZpbmUgdGVzdHMKLS8vIGJ1
dCBsZXRzIHBhc3MgaXQgYW4gZW1wdHkgYXJyYXkgYW5kIHZlcmlmeSBpdCBkb2VzIG5vdGhpbmcu
Ci1mdW5jdGlvbiBudWxsX2NhbGxiYWNrKCkgewotCXRocm93ICJudWxsX2NhbGxiYWNrIHNob3Vs
ZCBub3QgYmUgY2FsbGVkLiI7Ci19Ci1nZW5lcmF0ZV90ZXN0cyhudWxsX2NhbGxiYWNrLCBbXSk7
Ci0KLS8vIEdlbmVyYXRlIDMgdGVzdHMgc3BlY2lmeWluZyB0aGUgbmFtZSBhbmQgb25lIHBhcmFt
ZXRlcgotZnVuY3Rpb24gdmFsaWRhdGVfYXJndW1lbnRzKGFyZzEpIHsKLQlhc3NlcnRfZXF1YWxz
KGFyZzEsIDEsICJFbnN1cmUgdGhhdCB3ZSBnZXQgb3VyIGV4cGVjdGVkIGFyZ3VtZW50Iik7Ci19
Ci1nZW5lcmF0ZV90ZXN0cyh2YWxpZGF0ZV9hcmd1bWVudHMsIFsKLQlbImZpcnN0IHRlc3QiLCAx
XSwKLQlbInNlY29uZCB0ZXN0IiwgMV0sCi0JWyJ0aGlyZCB0ZXN0IiwgMV0sCi1dKTsKLQotLy8g
R2VuZXJhdGUgYSB0ZXN0IHBhc3NpbmcgaW4gYSBwcm9wZXJ0aWVzIG9iamVjdCB0aGF0IGlzIHNo
YXJlZCBhY3Jvc3MgdGVzdHMuCi1mdW5jdGlvbiB2YWxpZGF0ZV9wcm9wZXJ0aWVzKCkgewotCWFz
c2VydF90cnVlKHRoaXMucHJvcGVydGllcy5zZW50aW5lbCwgIkVuc3VyZSB0aGF0IHdlIGdvdCB0
aGUgcmlnaHQgcHJvcGVydGllcyBvYmplY3QuIik7Ci19Ci1nZW5lcmF0ZV90ZXN0cyh2YWxpZGF0
ZV9wcm9wZXJ0aWVzLCBbWyJzZW50aW5lbCBjaGVjayAxIl0sIFsic2VudGluZWwgY2hlY2sgMiJd
XSwge3NlbnRpbmVsOiB0cnVlfSk7Ci0KLS8vIEdlbmVyYXRlIGEgdGVzdCBwYXNzaW5nIGluIGEg
cHJvcGVydGllcyBvYmplY3QgdGhhdCBpcyBzaGFyZWQgYWNyb3NzIHRlc3RzLgotZnVuY3Rpb24g
dmFsaWRhdGVfc2VwYXJhdGVfcHJvcGVydGllcygpIHsKLQlpZiAodGhpcy5uYW1lID09PSAic2Vu
dGluZWwgY2hlY2sgMSB1bmlxdWUgcHJvcGVydGllcyIpIHsKLQkJYXNzZXJ0X3RydWUodGhpcy5w
cm9wZXJ0aWVzLnNlbnRpbmVsLCAiRW5zdXJlIHRoYXQgd2UgZ290IHRoZSByaWdodCBwcm9wZXJ0
aWVzIG9iamVjdC4gRXhwZWN0IHNlbnRpbmVsOiB0cnVlLiIpOwotCX0KLQllbHNlIHsKLQkJYXNz
ZXJ0X2ZhbHNlKHRoaXMucHJvcGVydGllcy5zZW50aW5lbCwgIkVuc3VyZSB0aGF0IHdlIGdvdCB0
aGUgcmlnaHQgcHJvcGVydGllcyBvYmplY3QuIEV4cGVjdCBzZW50aW5lbDogZmFsc2UuIik7Ci0J
fQotfQotZ2VuZXJhdGVfdGVzdHModmFsaWRhdGVfc2VwYXJhdGVfcHJvcGVydGllcywgW1sic2Vu
dGluZWwgY2hlY2sgMSB1bmlxdWUgcHJvcGVydGllcyJdLCBbInNlbnRpbmVsIGNoZWNrIDIgdW5p
cXVlIHByb3BlcnRpZXMiXV0sIFt7c2VudGluZWw6IHRydWV9LCB7c2VudGluZWw6IGZhbHNlfV0p
OwotCi0vLyBGaW5hbGx5IGdlbmVyYXRlIGEgY29tcGxpY2F0ZWQgc2V0IG9mIHRlc3RzIGZyb20g
YW5vdGhlciBkYXRhIHNvdXJjZQotdmFyIGxldHRlcnMgPSBbImEiLCAiYiIsICJjIiwgImQiLCAi
ZSIsICJmIl07Ci12YXIgbnVtYmVycyA9IFswLCAxLCAyLCAzLCA0LCA1XTsKLWZ1bmN0aW9uIHZh
bGlkYXRlX3JlbGF0ZWRfYXJndW1lbnRzKGFyZzEsIGFyZzIpIHsKLQlhc3NlcnRfZXF1YWxzKGFy
ZzEuY2hhckNvZGVBdCgwKSAtICJhIi5jaGFyQ29kZUF0KDApLCBhcmcyLCAiRW5zdXJlIHRoYXQg
d2UgY2FuIG1hcCBsZXR0ZXJzIHRvIG51bWJlcnMuIik7Ci19Ci1mdW5jdGlvbiBmb3JtYXRfYXNf
dGVzdChsZXR0ZXIsIGluZGV4LCBsZXR0ZXJzKSB7Ci0JcmV0dXJuIFsiVGVzdCB0byBtYXAgIiAr
IGxldHRlciArICIgdG8gIiArIG51bWJlcnNbaW5kZXhdLCBsZXR0ZXIsIG51bWJlcnNbaW5kZXhd
XTsKLX0KLWdlbmVyYXRlX3Rlc3RzKHZhbGlkYXRlX3JlbGF0ZWRfYXJndW1lbnRzLCBsZXR0ZXJz
Lm1hcChmb3JtYXRfYXNfdGVzdCkpOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+Ci0KLQot
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy9leGFtcGxlcy9hcGlzYW1wbGUxOC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2FtcGxlMTgu
aHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTUwYTE1MGE2YzBmNGNhMTU1NGI3
YWVlMWQ1NWQwZDRiNTliNWEzNi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy9leGFtcGxlcy9hcGlzYW1wbGUxOC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMjYg
KzAsMCBAQAotPCFET0NUWVBFIEhUTUw+Ci08aHRtbD4KLTxoZWFkPgotPHRpdGxlPkV4YW1wbGUg
d2l0aCBpZnJhbWUgdGhhdCBjb25zb2xpZGF0ZXMgZXJyb3JzIHZpYSBmZXRjaF90ZXN0c19mcm9t
X3dpbmRvdzwvdGl0bGU+Ci08c2NyaXB0IHNyYz0iLi4vdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii4uL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQ+Ci12YXIgcGFyZW50X3Rlc3QgPSBhc3luY190ZXN0KCJUZXN0IGV4ZWN1dGluZyBpbiBwYXJl
bnQgY29udGV4dCIpOwotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9InBhcmVudF90
ZXN0LmRvbmUoKSI+Ci08aDE+RmV0Y2hpbmcgVGVzdHMgRnJvbSBhIENoaWxkIENvbnRleHQ8L2gx
PgotPHA+VGhpcyB0ZXN0IGRlbW9uc3RyYXRlcyB0aGUgdXNlIG9mIDx0dD5mZXRjaF90ZXN0c19m
cm9tX3dpbmRvdzwvdHQ+IHRvIHB1bGwKLXRlc3RzIGZyb20gYW4gPHR0PmlmcmFtZTwvdHQ+IGlu
dG8gdGhlIHByaW1hcnkgZG9jdW1lbnQuPC9wPgotPHA+VGhlIHRlc3Qgc3VpdGUgaXMgZXhwZWN0
ZWQgdG8gZmFpbCBkdWUgdG8gYW4gdW5oYW5kbGVkIGV4Y2VwdGlvbiBpbiB0aGUKLWNoaWxkIGNv
bnRleHQuPC9wPgotPGRpdiBpZD0ibG9nIj48L2Rpdj4KLQotPGlmcmFtZSBpZD0iY2hpbGRDb250
ZXh0IiBzcmM9ImFwaXNhbXBsZTQuaHRtIiBzdHlsZT0iZGlzcGxheTpub25lIj48L2lmcmFtZT4K
LTwhLS0gIGFwaXNhbXBsZTQgaXMgYSBmYWlsaW5nIHN1aXRlIGR1ZSB0byBhbiB1bmhhbmRsZWQg
RXJyb3IuICAtLT4KLQotPHNjcmlwdD4KLQl2YXIgY2hpbGRDb250ZXh0ID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNoaWxkQ29udGV4dCIpOwotCWZldGNoX3Rlc3RzX2Zyb21fd2luZG93KGNo
aWxkQ29udGV4dC5jb250ZW50V2luZG93KTsKLTwvc2NyaXB0PgotPC9ib2R5PgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBsZTE5Lmh0bWwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9leGFt
cGxlcy9hcGlzYW1wbGUxOS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3YmNh
MTM0YWIyMjNlNGRlMzdlMTBiNzcxOGM2NjYxYmFmMDdiYzA0Li4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBsZTE5Lmh0bWwKKysrIC9k
ZXYvbnVsbApAQCAtMSwyNiArMCwwIEBACi08IURPQ1RZUEUgSFRNTD4KLTxodG1sPgotPGhlYWQ+
Ci08dGl0bGU+RXhhbXBsZSB3aXRoIGlmcmFtZSB0aGF0IGNvbnNvbGlkYXRlcyB0ZXN0cyB2aWEg
ZmV0Y2hfdGVzdHNfZnJvbV93aW5kb3c8L3RpdGxlPgotPHNjcmlwdCBzcmM9Ii4uL3Rlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0PgotdmFyIHBhcmVudF90ZXN0ID0gYXN5bmNfdGVzdCgiVGVzdCBl
eGVjdXRpbmcgaW4gcGFyZW50IGNvbnRleHQiKTsKLTwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkg
b25sb2FkPSJwYXJlbnRfdGVzdC5kb25lKCkiPgotPGgxPkZldGNoaW5nIFRlc3RzIEZyb20gYSBD
aGlsZCBDb250ZXh0PC9oMT4KLTxwPlRoaXMgdGVzdCBkZW1vbnN0cmF0ZXMgdGhlIHVzZSBvZiA8
dHQ+ZmV0Y2hfdGVzdHNfZnJvbV93aW5kb3c8L3R0PiB0byBwdWxsCi10ZXN0cyBmcm9tIGFuIDx0
dD5pZnJhbWU8L3R0PiBpbnRvIHRoZSBwcmltYXJ5IGRvY3VtZW50LjwvcD4KLTxwPlRoZSB0ZXN0
IHN1aXRlIHdpbGwgbm90IGNvbXBsZXRlIHVudGlsIHRlc3RzIGluIHRoZSBjaGlsZCBjb250ZXh0
IGhhdmUgZmluaXNoZWQKLWV4ZWN1dGluZzwvcD4KLTxkaXYgaWQ9ImxvZyI+PC9kaXY+Ci0KLTxp
ZnJhbWUgaWQ9ImNoaWxkQ29udGV4dCIgc3JjPSJhcGlzYW1wbGUxMC5odG1sIiBzdHlsZT0iZGlz
cGxheTpub25lIj48L2lmcmFtZT4KLTwhLS0gIGFwaXNhbXBsZTEwIGhhcyBhc3luYyB0ZXN0cyB3
aXRoIHByb21pc2VzICAtLT4KLQotPHNjcmlwdD4KLQl2YXIgY2hpbGRDb250ZXh0ID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNoaWxkQ29udGV4dCIpOwotCWZldGNoX3Rlc3RzX2Zyb21fd2lu
ZG93KGNoaWxkQ29udGV4dC5jb250ZW50V2luZG93KTsKLTwvc2NyaXB0PgotPC9ib2R5PgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBsZTIuaHRt
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
ZXhhbXBsZXMvYXBpc2FtcGxlMi5odG0KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDRh
NGMxNmI0ZGZhYmM0ZDJjYjcwNDE3OTM5OWFhZmJjMzE2MDY4NDMuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2FtcGxlMi5odG0KKysrIC9k
ZXYvbnVsbApAQCAtMSwxOSArMCwwIEBACi08IURPQ1RZUEUgSFRNTD4KLTxodG1sPgotPGhlYWQ+
Ci08dGl0bGU+U2FtcGxlIEhUTUw1IEFQSSBUZXN0czwvdGl0bGU+Ci08L2hlYWQ+Ci08Ym9keSBv
bmxvYWQ9ImxvYWRfdGVzdF9hdHRyLmRvbmUoKSI+Ci08aDE+U2FtcGxlIEhUTUw1IEFQSSBUZXN0
czwvaDE+Ci08cD5UaGVyZSBzaG91bGQgYmUgdHdvIHJlc3VsdHM8L3A+Ci08ZGl2IGlkPSJsb2ci
PjwvZGl2PgotPHNjcmlwdCBzcmM9Ii4uL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSIuLi90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0Pgotc2V0
dXAoe2V4cGxpY2l0X2RvbmU6dHJ1ZX0pCi10ZXN0KGZ1bmN0aW9uKCkge2Fzc2VydF90cnVlKHRy
dWUpfSwgIlRlc3QgZGVmaW5lZCBiZWZvcmUgb25sb2FkIik7Ci0KLW9ubG9hZCA9IGZ1bmN0aW9u
KCkge3Rlc3QoZnVuY3Rpb24gKCl7YXNzZXJ0X3RydWUodHJ1ZSl9LCAiVGVzdCBkZWZpbmVkIGFm
dGVyIG9ubG9hZCIpOwotZG9uZSgpOwotfQotPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy9h
cGlzYW1wbGUzLmh0bSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBsZTMuaHRtCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCA0ZGJiZjlhODcxYmQ0MjI1MjkyMTA0MzNmN2FmMDM1MTIzN2Q3MDdlLi4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBs
ZTMuaHRtCisrKyAvZGV2L251bGwKQEAgLTEsMTcgKzAsMCBAQAotPCFET0NUWVBFIEhUTUw+Ci08
aHRtbD4KLTxoZWFkPgotPHRpdGxlPlNhbXBsZSBIVE1MNSBBUEkgVGVzdHM8L3RpdGxlPgotPC9o
ZWFkPgotPHNjcmlwdCBzcmM9Ii4uL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLQotPGJvZHkg
b25sb2FkPSJsb2FkX3Rlc3RfYXR0ci5kb25lKCkiPgotPGgxPlNhbXBsZSBIVE1MNSBBUEkgVGVz
dHM8L2gxPgotPGRpdiBpZD0ibG9nIj48L2Rpdj4KLTxzY3JpcHQ+Ci1zZXR1cCh7ZXhwbGljaXRf
dGltZW91dDp0cnVlfSk7Ci12YXIgdCA9IGFzeW5jX3Rlc3QoIlRoaXMgdGVzdCBzaG91bGQgZ2l2
ZSBhIHN0YXR1cyBvZiAnTm90IFJ1bicgd2l0aG91dCBhIGRlbGF5Iik7Ci10aW1lb3V0KCk7Ci08
L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBsZTQu
aHRtIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvZXhhbXBsZXMvYXBpc2FtcGxlNC5odG0KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IGM4ZmJiZGVkNjk1ZmQ2NWQ0NmM2MDQ5MzZkYThjOWE4M2Q1ODg0NDIuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2FtcGxlNC5odG0KKysr
IC9kZXYvbnVsbApAQCAtMSwxNiArMCwwIEBACi08IURPQ1RZUEUgSFRNTD4KLTxodG1sPgotPGhl
YWQ+Ci08dGl0bGU+SGFybmVzcyBIYW5kbGluZyBVbmNhdWdodCBFeGNlcHRpb248L3RpdGxlPgot
PC9oZWFkPgotPHNjcmlwdCBzcmM9Ii4uL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLQotPGJv
ZHk+Ci08aDE+SGFybmVzcyBIYW5kbGluZyBVbmNhdWdodCBFeGNlcHRpb248L2gxPgotPGRpdiBp
ZD0ibG9nIj48L2Rpdj4KLTxzY3JpcHQ+Ci12YXIgdCA9IGFzeW5jX3Rlc3QoIlRoaXMgc2hvdWxk
IHNob3cgYSBoYXJuZXNzIHN0YXR1cyBvZiAnRXJyb3InIGFuZCBhIHRlc3Qgc3RhdHVzIG9mICdO
b3QgUnVuJyIpOwotdGhyb3cgbmV3IEVycm9yKCJFeGFtcGxlIEVycm9yIik7Ci08L3NjcmlwdD4K
LTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBsZTUuaHRtIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZXhhbXBs
ZXMvYXBpc2FtcGxlNS5odG0KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDNlZGY2MDJh
MWU2ZTc1MmMwMDM1NDQ0YjMwYjhlN2FlOWY5Y2Q2MzcuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2FtcGxlNS5odG0KKysrIC9kZXYvbnVs
bApAQCAtMSwxOCArMCwwIEBACi08IURPQ1RZUEUgSFRNTD4KLTxodG1sPgotPGhlYWQ+Ci08dGl0
bGU+SGFybmVzcyBJZ25vcmluZyBVbmNhdWdodCBFeGNlcHRpb248L3RpdGxlPgotPC9oZWFkPgot
PHNjcmlwdCBzcmM9Ii4uL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLQotPGJvZHk+Ci08aDE+
SGFybmVzcyBJZ25vcmluZyBVbmNhdWdodCBFeGNlcHRpb248L2gxPgotPGRpdiBpZD0ibG9nIj48
L2Rpdj4KLTxzY3JpcHQ+Ci1zZXR1cCh7YWxsb3dfdW5jYXVnaHRfZXhjZXB0aW9uOnRydWV9KTsK
LXZhciB0ID0gYXN5bmNfdGVzdCgic2V0dXAoe2FsbG93X3VuY2F1Z2h0X2V4Y2VwdGlvbjp0cnVl
fSkgc2hvdWxkIGFsbG93IHRlc3RzIHRvIHBhc3MgZXZlbiBpZiB0aGVyZSBpcyBhbiBleGNlcHRp
b24iKTsKLW9uZXJyb3IgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbigpIHt0LmRvbmUoKX0pOwotdGhy
b3cgbmV3IEVycm9yKCJFeGFtcGxlIEVycm9yIik7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBsZTYuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBsZTYu
aHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzQ1OWM1NGQ1NzIwOGM1Y2VmYWNk
ZTIwN2VlNzhiMjZmYjRhMTNhNi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy9leGFtcGxlcy9hcGlzYW1wbGU2Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxMCAr
MCwwIEBACi08IURPQ1RZUEUgSFRNTD4KLTx0aXRsZT5FeGFtcGxlIHdpdGggZmlsZV9pc190ZXN0
PC90aXRsZT4KLTxzY3JpcHQgc3JjPSIuLi90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2Ny
aXB0IHNyYz0iLi4vdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLW9u
bG9hZCA9IGZ1bmN0aW9uKCkgewotICBhc3NlcnRfdHJ1ZSh0cnVlKTsKLSAgZG9uZSgpOwotfQot
PC9zY3JpcHQ+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZXMv
YXBpc2FtcGxlNy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2FtcGxlNy5odG1sCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCA2ODg1ZjUyZjhhNTNhZmYyMjhiMDk3ZGVmNmYzNjExZTU0YWNmYmM1Li4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNh
bXBsZTcuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDEwICswLDAgQEAKLTwhRE9DVFlQRSBIVE1M
PgotPHRpdGxlPkV4YW1wbGUgd2l0aCBmaWxlX2lzX3Rlc3QgKHNob3VsZCBmYWlsKTwvdGl0bGU+
Ci08c2NyaXB0IHNyYz0iLi4vdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
Ii4uL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci1vbmxvYWQgPSBm
dW5jdGlvbigpIHsKLSAgYXNzZXJ0X3RydWUoZmFsc2UpOwotICBkb25lKCk7Ci19Ci08L3Njcmlw
dD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy9hcGlzYW1w
bGU4Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy9leGFtcGxlcy9hcGlzYW1wbGU4Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDcwODUzZDljNmM1OTIzNjBmOGM2N2E3YjM1M2Y2MThiNDhhN2FlNzEuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2FtcGxlOC5o
dG1sCisrKyAvZGV2L251bGwKQEAgLTEsOCArMCwwIEBACi08IURPQ1RZUEUgSFRNTD4KLTx0aXRs
ZT5FeGFtcGxlIHNpbmdsZSBwYWdlIHRlc3Qgd2l0aCBubyBib2R5PC90aXRsZT4KLTxzY3JpcHQg
c3JjPSIuLi90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLWFzc2VydF90cnVlKHRydWUpOwot
ZG9uZSgpOwotPC9zY3JpcHQ+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
ZXhhbXBsZXMvYXBpc2FtcGxlOS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2FtcGxlOS5odG1sCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmODQ0MzNkZDE5ODljN2ZiMDk3ZTg5YTNiZjY4MmYyZWMy
ODQ4N2IzLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1w
bGVzL2FwaXNhbXBsZTkuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDcgKzAsMCBAQAotPCFET0NU
WVBFIEhUTUw+Ci08dGl0bGU+RXhhbXBsZSBzaW5nbGUgcGFnZSB0ZXN0IHdpdGggbm8gYXNzZXJ0
czwvdGl0bGU+Ci08c2NyaXB0IHNyYz0iLi4vdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii4uL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci1k
b25lKCk7Ci08L3NjcmlwdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9l
eGFtcGxlcy93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL3czYy1pbXBvcnQubG9nCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwNzQ1ZmI1ODQ0NjZmNWM1ZWYzNmRlNGVlY2E0M2Y2ZDQyNzlh
NWEyLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVz
L3czYy1pbXBvcnQubG9nCisrKyAvZGV2L251bGwKQEAgLTEsMzcgKzAsMCBAQAotVGhlIHRlc3Rz
IGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnku
Ci1EbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQs
IGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1
Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cwotCi1UaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0
cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydAotCi1EbyBOT1QgbW9kaWZ5
IG9yIHJlbW92ZSB0aGlzIGZpbGUuCi0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotUHJvcGVydGllcyByZXF1
aXJpbmcgdmVuZG9yIHByZWZpeGVzOgotTm9uZQotUHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2
ZW5kb3IgcHJlZml4ZXM6Ci1Ob25lCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLUxpc3Qgb2YgZmlsZXM6Ci0v
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZXhh
bXBsZXMvYXBpc2FtcGxlLWVycm9yLXdvcmtlci5qcwotL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBsZS13b3JrZXIu
anMKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy9leGFtcGxlcy9hcGlzYW1wbGUuaHRtCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2FtcGxlMTAuaHRtbAotL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVz
L2FwaXNhbXBsZTExLmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy9hcGlzYW1wbGUxMi5odG1sCi0vTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2Ft
cGxlMTMuaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBsZTE0Lmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy9hcGlzYW1wbGUxNS5o
dG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvZXhhbXBsZXMvYXBpc2FtcGxlMTYuaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBsZTE3Lmh0bWwKLS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9leGFt
cGxlcy9hcGlzYW1wbGUxOC5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2FtcGxlMTkuaHRtbAotL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2Fw
aXNhbXBsZTIuaHRtCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2FtcGxlMy5odG0KLS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy9hcGlzYW1wbGU0Lmh0
bQotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L2V4YW1wbGVzL2FwaXNhbXBsZTUuaHRtCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2FtcGxlNi5odG1sCi0vTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZXMv
YXBpc2FtcGxlNy5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2FtcGxlOC5odG1sCi0vTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2FtcGxl
OS5odG1sCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy9pZGxoYXJuZXNzLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvaWRsaGFybmVzcy5qcwppbmRleCBmNjhhZDFk
ZDdkODFlNTRiZWE1ZjkwMDQyODRlZmY0OWE3MTNhMzJlLi43ZDEzNzNlZjM0MTEwZGQ1MWM3ZTNi
ZTUxODFlZGU2YmE1ZTNjZWUxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9pZGxoYXJuZXNzLmpzCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2lkbGhhcm5lc3Mu
anMKQEAgLTIzNiw3ICsyMzYsMTEgQEAgSWRsQXJyYXkucHJvdG90eXBlLmlzX2V4Y2x1ZGVkX2J5
X29wdGlvbnMgPSBmdW5jdGlvbiAobmFtZSwgb3B0aW9ucykKIAogSWRsQXJyYXkucHJvdG90eXBl
LmFkZF9kZXBlbmRlbmN5X2lkbHMgPSBmdW5jdGlvbihyYXdfaWRscywgb3B0aW9ucykKIHsKLSAg
ICBjb25zdCBwYXJzZWRfaWRscyA9IFdlYklETDIucGFyc2UocmF3X2lkbHMpOworICAgIHJldHVy
biB0aGlzLmludGVybmFsX2FkZF9kZXBlbmRlbmN5X2lkbHMoV2ViSURMMi5wYXJzZShyYXdfaWRs
cyksIG9wdGlvbnMpOworfTsKKworSWRsQXJyYXkucHJvdG90eXBlLmludGVybmFsX2FkZF9kZXBl
bmRlbmN5X2lkbHMgPSBmdW5jdGlvbihwYXJzZWRfaWRscywgb3B0aW9ucykKK3sKICAgICBjb25z
dCBuZXdfb3B0aW9ucyA9IHsgb25seTogW10gfQogCiAgICAgY29uc3QgYWxsX2RlcHMgPSBuZXcg
U2V0KCk7CkBAIC04MDQsMTAgKzgwOCwyMCBAQCBJZGxBcnJheS5wcm90b3R5cGUudGVzdCA9IGZ1
bmN0aW9uKCkKICAgICAgICAgICAgIGlmICghKHRoaXMubWVtYmVyc1tsaHNdIGluc3RhbmNlb2Yg
SWRsSW50ZXJmYWNlKSkgdGhyb3cgZXJyU3RyICsgbGhzICsgIiBpcyBub3QgYW4gaW50ZXJmYWNl
LiI7CiAgICAgICAgICAgICBpZiAoIShyaHMgaW4gdGhpcy5tZW1iZXJzKSkgdGhyb3cgZXJyU3Ry
ICsgcmhzICsgIiBpcyB1bmRlZmluZWQuIjsKICAgICAgICAgICAgIGlmICghKHRoaXMubWVtYmVy
c1tyaHNdIGluc3RhbmNlb2YgSWRsSW50ZXJmYWNlKSkgdGhyb3cgZXJyU3RyICsgcmhzICsgIiBp
cyBub3QgYW4gaW50ZXJmYWNlLiI7Ci0gICAgICAgICAgICB0aGlzLm1lbWJlcnNbcmhzXS5tZW1i
ZXJzLmZvckVhY2goZnVuY3Rpb24obWVtYmVyKQotICAgICAgICAgICAgewotICAgICAgICAgICAg
ICAgIHRoaXMubWVtYmVyc1tsaHNdLm1lbWJlcnMucHVzaChuZXcgSWRsSW50ZXJmYWNlTWVtYmVy
KG1lbWJlcikpOwotICAgICAgICAgICAgfS5iaW5kKHRoaXMpKTsKKworICAgICAgICAgICAgaWYg
KHRoaXMubWVtYmVyc1tyaHNdLm1lbWJlcnMubGVuZ3RoKSB7CisgICAgICAgICAgICAgICAgdGVz
dChmdW5jdGlvbiAoKSB7CisgICAgICAgICAgICAgICAgICAgIHZhciBjbGFzaCA9IHRoaXMubWVt
YmVyc1tyaHNdLm1lbWJlcnMuZmluZChmdW5jdGlvbihtZW1iZXIpIHsKKyAgICAgICAgICAgICAg
ICAgICAgICAgIHJldHVybiB0aGlzLm1lbWJlcnNbbGhzXS5tZW1iZXJzLmZpbmQoZnVuY3Rpb24o
bSkgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmFyZV9kdXBsaWNh
dGVfbWVtYmVycyhtLCBtZW1iZXIpOworICAgICAgICAgICAgICAgICAgICAgICAgfS5iaW5kKHRo
aXMpKTsKKyAgICAgICAgICAgICAgICAgICAgfS5iaW5kKHRoaXMpKTsKKyAgICAgICAgICAgICAg
ICAgICAgdGhpcy5tZW1iZXJzW3Joc10ubWVtYmVycy5mb3JFYWNoKGZ1bmN0aW9uKG1lbWJlcikg
eworICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5tZW1iZXJzW2xoc10ubWVtYmVycy5wdXNo
KG5ldyBJZGxJbnRlcmZhY2VNZW1iZXIobWVtYmVyKSk7CisgICAgICAgICAgICAgICAgICAgIH0u
YmluZCh0aGlzKSk7CisgICAgICAgICAgICAgICAgICAgIGFzc2VydF90cnVlKCFjbGFzaCwgIm1l
bWJlciAiICsgKGNsYXNoICYmIGNsYXNoLm5hbWUpICsgIiBpcyB1bmlxdWUiKTsKKyAgICAgICAg
ICAgICAgICB9LmJpbmQodGhpcyksIGxocyArICIgaW1wbGVtZW50cyAiICsgcmhzICsgIjogbWVt
YmVyIG5hbWVzIGFyZSB1bmlxdWUiKTsKKyAgICAgICAgICAgIH0KICAgICAgICAgfS5iaW5kKHRo
aXMpKTsKICAgICB9CiAgICAgdGhpc1siaW1wbGVtZW50cyJdID0ge307CkBAIC04MjEsMTAgKzgz
NSwyMyBAQCBJZGxBcnJheS5wcm90b3R5cGUudGVzdCA9IGZ1bmN0aW9uKCkKICAgICAgICAgICAg
IGlmICghKHRoaXMubWVtYmVyc1tsaHNdIGluc3RhbmNlb2YgSWRsSW50ZXJmYWNlKSkgdGhyb3cg
ZXJyU3RyICsgbGhzICsgIiBpcyBub3QgYW4gaW50ZXJmYWNlLiI7CiAgICAgICAgICAgICBpZiAo
IShyaHMgaW4gdGhpcy5tZW1iZXJzKSkgdGhyb3cgZXJyU3RyICsgcmhzICsgIiBpcyB1bmRlZmlu
ZWQuIjsKICAgICAgICAgICAgIGlmICghKHRoaXMubWVtYmVyc1tyaHNdIGluc3RhbmNlb2YgSWRs
SW50ZXJmYWNlKSkgdGhyb3cgZXJyU3RyICsgcmhzICsgIiBpcyBub3QgYW4gaW50ZXJmYWNlLiI7
Ci0gICAgICAgICAgICB0aGlzLm1lbWJlcnNbcmhzXS5tZW1iZXJzLmZvckVhY2goZnVuY3Rpb24o
bWVtYmVyKQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIHRoaXMubWVtYmVyc1tsaHNd
Lm1lbWJlcnMucHVzaChuZXcgSWRsSW50ZXJmYWNlTWVtYmVyKG1lbWJlcikpOwotICAgICAgICAg
ICAgfS5iaW5kKHRoaXMpKTsKKworICAgICAgICAgICAgaWYgKHRoaXMubWVtYmVyc1tyaHNdLm1l
bWJlcnMubGVuZ3RoKSB7CisgICAgICAgICAgICAgICAgdGVzdChmdW5jdGlvbiAoKSB7CisgICAg
ICAgICAgICAgICAgICAgIHZhciBjbGFzaCA9IHRoaXMubWVtYmVyc1tyaHNdLm1lbWJlcnMuZmlu
ZChmdW5jdGlvbihtZW1iZXIpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlz
Lm1lbWJlcnNbbGhzXS5tZW1iZXJzLmZpbmQoZnVuY3Rpb24obSkgeworICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHJldHVybiB0aGlzLmFyZV9kdXBsaWNhdGVfbWVtYmVycyhtLCBtZW1iZXIp
OworICAgICAgICAgICAgICAgICAgICAgICAgfS5iaW5kKHRoaXMpKTsKKyAgICAgICAgICAgICAg
ICAgICAgfS5iaW5kKHRoaXMpKTsKKyAgICAgICAgICAgICAgICAgICAgdGhpcy5tZW1iZXJzW3Jo
c10ubWVtYmVycy5mb3JFYWNoKGZ1bmN0aW9uKG1lbWJlcikgeworICAgICAgICAgICAgICAgICAg
ICAgICAgYXNzZXJ0X3RydWUoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5tZW1i
ZXJzW2xoc10ubWVtYmVycy5ldmVyeShtID0+ICF0aGlzLmFyZV9kdXBsaWNhdGVfbWVtYmVycyht
LCBtZW1iZXIpKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAibWVtYmVyICIgKyBtZW1i
ZXIubmFtZSArICIgaXMgdW5pcXVlIik7CisgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm1l
bWJlcnNbbGhzXS5tZW1iZXJzLnB1c2gobmV3IElkbEludGVyZmFjZU1lbWJlcihtZW1iZXIpKTsK
KyAgICAgICAgICAgICAgICAgICAgfS5iaW5kKHRoaXMpKTsKKyAgICAgICAgICAgICAgICAgICAg
YXNzZXJ0X3RydWUoIWNsYXNoLCAibWVtYmVyICIgKyAoY2xhc2ggJiYgY2xhc2gubmFtZSkgKyAi
IGlzIHVuaXF1ZSIpOworICAgICAgICAgICAgICAgIH0uYmluZCh0aGlzKSwgbGhzICsgIiBpbmNs
dWRlcyAiICsgcmhzICsgIjogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUiKTsKKyAgICAgICAgICAg
IH0KICAgICAgICAgfS5iaW5kKHRoaXMpKTsKICAgICB9CiAgICAgdGhpc1siaW5jbHVkZXMiXSA9
IHt9OwpAQCAtODg2LDI0ICs5MTMsMjcgQEAgSWRsQXJyYXkucHJvdG90eXBlLmNvbGxhcHNlX3Bh
cnRpYWxzID0gZnVuY3Rpb24oKQogICAgICAgICAgICAgICAgIHx8IHRoaXMubWVtYmVyc1twYXJz
ZWRfaWRsLm5hbWVdIGluc3RhbmNlb2YgSWRsRGljdGlvbmFyeQogICAgICAgICAgICAgICAgIHx8
IHRoaXMubWVtYmVyc1twYXJzZWRfaWRsLm5hbWVdIGluc3RhbmNlb2YgSWRsTmFtZXNwYWNlKTsK
IAorICAgICAgICAvLyBFbnN1cmUgdW5pcXVlIHRlc3QgbmFtZSBpbiBjYXNlIG9mIG11bHRpcGxl
IHBhcnRpYWxzLgogICAgICAgICBsZXQgcGFydGlhbFRlc3ROYW1lID0gcGFyc2VkX2lkbC5uYW1l
OwotICAgICAgICBpZiAoIXBhcnNlZF9pZGwudW50ZXN0ZWQpIHsKLSAgICAgICAgICAgIC8vIEVu
c3VyZSB1bmlxdWUgdGVzdCBuYW1lIGluIGNhc2Ugb2YgbXVsdGlwbGUgcGFydGlhbHMuCi0gICAg
ICAgICAgICBsZXQgcGFydGlhbFRlc3RDb3VudCA9IDE7Ci0gICAgICAgICAgICBpZiAodGVzdGVk
UGFydGlhbHMuaGFzKHBhcnNlZF9pZGwubmFtZSkpIHsKLSAgICAgICAgICAgICAgICBwYXJ0aWFs
VGVzdENvdW50ICs9IHRlc3RlZFBhcnRpYWxzLmdldChwYXJzZWRfaWRsLm5hbWUpOwotICAgICAg
ICAgICAgICAgIHBhcnRpYWxUZXN0TmFtZSA9IGAke3BhcnRpYWxUZXN0TmFtZX1bJHtwYXJ0aWFs
VGVzdENvdW50fV1gOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgdGVzdGVkUGFydGlhbHMu
c2V0KHBhcnNlZF9pZGwubmFtZSwgcGFydGlhbFRlc3RDb3VudCk7CisgICAgICAgIGxldCBwYXJ0
aWFsVGVzdENvdW50ID0gMTsKKyAgICAgICAgaWYgKHRlc3RlZFBhcnRpYWxzLmhhcyhwYXJzZWRf
aWRsLm5hbWUpKSB7CisgICAgICAgICAgICBwYXJ0aWFsVGVzdENvdW50ICs9IHRlc3RlZFBhcnRp
YWxzLmdldChwYXJzZWRfaWRsLm5hbWUpOworICAgICAgICAgICAgcGFydGlhbFRlc3ROYW1lID0g
YCR7cGFydGlhbFRlc3ROYW1lfVske3BhcnRpYWxUZXN0Q291bnR9XWA7CisgICAgICAgIH0KKyAg
ICAgICAgdGVzdGVkUGFydGlhbHMuc2V0KHBhcnNlZF9pZGwubmFtZSwgcGFydGlhbFRlc3RDb3Vu
dCk7CiAKKyAgICAgICAgaWYgKCFwYXJzZWRfaWRsLnVudGVzdGVkKSB7CiAgICAgICAgICAgICB0
ZXN0KGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICBhc3NlcnRfdHJ1ZShvcmlnaW5hbEV4
aXN0cywgYE9yaWdpbmFsICR7cGFyc2VkX2lkbC50eXBlfSBzaG91bGQgYmUgZGVmaW5lZGApOwog
Ci0gICAgICAgICAgICAgICAgdmFyIGV4cGVjdGVkID0gSWRsSW50ZXJmYWNlOworICAgICAgICAg
ICAgICAgIHZhciBleHBlY3RlZDsKICAgICAgICAgICAgICAgICBzd2l0Y2ggKHBhcnNlZF9pZGwu
dHlwZSkgewotICAgICAgICAgICAgICAgICAgICBjYXNlICdpbnRlcmZhY2UnOiBleHBlY3RlZCA9
IElkbEludGVyZmFjZTsgYnJlYWs7CiAgICAgICAgICAgICAgICAgICAgIGNhc2UgJ2RpY3Rpb25h
cnknOiBleHBlY3RlZCA9IElkbERpY3Rpb25hcnk7IGJyZWFrOwogICAgICAgICAgICAgICAgICAg
ICBjYXNlICduYW1lc3BhY2UnOiBleHBlY3RlZCA9IElkbE5hbWVzcGFjZTsgYnJlYWs7CisgICAg
ICAgICAgICAgICAgICAgIGNhc2UgJ2ludGVyZmFjZSc6CisgICAgICAgICAgICAgICAgICAgIGNh
c2UgJ2ludGVyZmFjZSBtaXhpbic6CisgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6CisgICAg
ICAgICAgICAgICAgICAgICAgICBleHBlY3RlZCA9IElkbEludGVyZmFjZTsgYnJlYWs7CiAgICAg
ICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIGFzc2VydF90cnVlKAogICAgICAgICAgICAg
ICAgICAgICBleHBlY3RlZC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih0aGlzLm1lbWJlcnNbcGFy
c2VkX2lkbC5uYW1lXSksCkBAIC05NDksMTQgKzk3OSwzNiBAQCBJZGxBcnJheS5wcm90b3R5cGUu
Y29sbGFwc2VfcGFydGlhbHMgPSBmdW5jdGlvbigpCiAgICAgICAgICAgICAgICAgdGhpcy5tZW1i
ZXJzW3BhcnNlZF9pZGwubmFtZV0uZXh0QXR0cnMucHVzaChleHRBdHRyKTsKICAgICAgICAgICAg
IH0uYmluZCh0aGlzKSk7CiAgICAgICAgIH0KLSAgICAgICAgcGFyc2VkX2lkbC5tZW1iZXJzLmZv
ckVhY2goZnVuY3Rpb24obWVtYmVyKQotICAgICAgICB7Ci0gICAgICAgICAgICB0aGlzLm1lbWJl
cnNbcGFyc2VkX2lkbC5uYW1lXS5tZW1iZXJzLnB1c2gobmV3IElkbEludGVyZmFjZU1lbWJlciht
ZW1iZXIpKTsKLSAgICAgICAgfS5iaW5kKHRoaXMpKTsKKyAgICAgICAgaWYgKHBhcnNlZF9pZGwu
bWVtYmVycy5sZW5ndGgpIHsKKyAgICAgICAgICAgIHRlc3QoZnVuY3Rpb24gKCkgeworICAgICAg
ICAgICAgICAgIHZhciBjbGFzaCA9IHBhcnNlZF9pZGwubWVtYmVycy5maW5kKGZ1bmN0aW9uKG1l
bWJlcikgeworICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5tZW1iZXJzW3BhcnNlZF9p
ZGwubmFtZV0ubWVtYmVycy5maW5kKGZ1bmN0aW9uKG0pIHsKKyAgICAgICAgICAgICAgICAgICAg
ICAgIHJldHVybiB0aGlzLmFyZV9kdXBsaWNhdGVfbWVtYmVycyhtLCBtZW1iZXIpOworICAgICAg
ICAgICAgICAgICAgICB9LmJpbmQodGhpcykpOworICAgICAgICAgICAgICAgIH0uYmluZCh0aGlz
KSk7CisgICAgICAgICAgICAgICAgcGFyc2VkX2lkbC5tZW1iZXJzLmZvckVhY2goZnVuY3Rpb24o
bWVtYmVyKQorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgdGhpcy5tZW1i
ZXJzW3BhcnNlZF9pZGwubmFtZV0ubWVtYmVycy5wdXNoKG5ldyBJZGxJbnRlcmZhY2VNZW1iZXIo
bWVtYmVyKSk7CisgICAgICAgICAgICAgICAgfS5iaW5kKHRoaXMpKTsKKyAgICAgICAgICAgICAg
ICBhc3NlcnRfdHJ1ZSghY2xhc2gsICJtZW1iZXIgIiArIChjbGFzaCAmJiBjbGFzaC5uYW1lKSAr
ICIgaXMgdW5pcXVlIik7CisgICAgICAgICAgICB9LmJpbmQodGhpcyksIGBQYXJ0aWFsICR7cGFy
c2VkX2lkbC50eXBlfSAke3BhcnRpYWxUZXN0TmFtZX06IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVl
YCk7CisgICAgICAgIH0KICAgICB9LmJpbmQodGhpcykpOwogICAgIHRoaXMucGFydGlhbHMgPSBb
XTsKIH0KIAorSWRsQXJyYXkucHJvdG90eXBlLmFyZV9kdXBsaWNhdGVfbWVtYmVycyA9IGZ1bmN0
aW9uKG0xLCBtMikgeworICAgIGlmIChtMS5uYW1lICE9PSBtMi5uYW1lKSB7CisgICAgICAgIHJl
dHVybiBmYWxzZTsKKyAgICB9CisgICAgaWYgKG0xLnR5cGUgPT09ICdvcGVyYXRpb24nICYmIG0y
LnR5cGUgPT09ICdvcGVyYXRpb24nCisgICAgICAgICYmIG0xLmFyZ3VtZW50cy5sZW5ndGggIT09
IG0yLmFyZ3VtZW50cy5sZW5ndGgpIHsKKyAgICAgICAgLy8gTWV0aG9kIG92ZXJsb2FkLiBUT0RP
OiBEZWVwIGNvbXBhcmlzb24gb2YgYXJndW1lbnRzLgorICAgICAgICByZXR1cm4gZmFsc2U7Cisg
ICAgfQorICAgIHJldHVybiB0cnVlOworfQorCiBJZGxBcnJheS5wcm90b3R5cGUuYXNzZXJ0X3R5
cGVfaXMgPSBmdW5jdGlvbih2YWx1ZSwgdHlwZSkKIHsKICAgICBpZiAodHlwZS5pZGxUeXBlIGlu
IHRoaXMubWVtYmVycwpAQCAtMzI5NywxNiArMzM0OSwzMCBAQCBmdW5jdGlvbiBpZGxfdGVzdChz
cmNzLCBkZXBzLCBpZGxfc2V0dXBfZnVuYykgewogICAgICAgICBzcmNzID0gKHNyY3MgaW5zdGFu
Y2VvZiBBcnJheSkgPyBzcmNzIDogW3NyY3NdIHx8IFtdOwogICAgICAgICBkZXBzID0gKGRlcHMg
aW5zdGFuY2VvZiBBcnJheSkgPyBkZXBzIDogW2RlcHNdIHx8IFtdOwogICAgICAgICB2YXIgc2V0
dXBfZXJyb3IgPSBudWxsOworICAgICAgICBjb25zdCB2YWxpZGF0aW9uSWdub3JlZCA9IFsKKyAg
ICAgICAgICAgICJjb25zdHJ1Y3Rvci1tZW1iZXIiLAorICAgICAgICAgICAgImRpY3QtYXJnLWRl
ZmF1bHQiLAorICAgICAgICAgICAgInJlcXVpcmUtZXhwb3NlZCIKKyAgICAgICAgXTsKICAgICAg
ICAgcmV0dXJuIFByb21pc2UuYWxsKAotICAgICAgICAgICAgc3Jjcy5jb25jYXQoZGVwcykubWFw
KGZ1bmN0aW9uKHNwZWMpIHsKLSAgICAgICAgICAgICAgICByZXR1cm4gZmV0Y2hfc3BlYyhzcGVj
KTsKLSAgICAgICAgICAgIH0pKQotICAgICAgICAgICAgLnRoZW4oZnVuY3Rpb24oaWRscykgewor
ICAgICAgICAgICAgc3Jjcy5jb25jYXQoZGVwcykubWFwKGZldGNoX3NwZWMpKQorICAgICAgICAg
ICAgLnRoZW4oZnVuY3Rpb24ocmVzdWx0cykgeworICAgICAgICAgICAgICAgIGNvbnN0IGFzdEFy
cmF5ID0gcmVzdWx0cy5tYXAocmVzdWx0ID0+CisgICAgICAgICAgICAgICAgICAgIFdlYklETDIu
cGFyc2UocmVzdWx0LmlkbCwgeyBzb3VyY2VOYW1lOiByZXN1bHQuc3BlYyB9KQorICAgICAgICAg
ICAgICAgICk7CisgICAgICAgICAgICAgICAgdGVzdCgoKSA9PiB7CisgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHZhbGlkYXRpb25zID0gV2ViSURMMi52YWxpZGF0ZShhc3RBcnJheSkKKyAgICAg
ICAgICAgICAgICAgICAgICAgIC5maWx0ZXIodiA9PiAhdmFsaWRhdGlvbklnbm9yZWQuaW5jbHVk
ZXModi5ydWxlTmFtZSkpOworICAgICAgICAgICAgICAgICAgICBpZiAodmFsaWRhdGlvbnMubGVu
Z3RoKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBtZXNzYWdlID0gdmFsaWRhdGlv
bnMubWFwKHYgPT4gdi5tZXNzYWdlKS5qb2luKCJcblxuIik7CisgICAgICAgICAgICAgICAgICAg
ICAgICB0aHJvdyBuZXcgRXJyb3IobWVzc2FnZSk7CisgICAgICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgICAgICB9LCAiaWRsX3Rlc3QgdmFsaWRhdGlvbiIpOwogICAgICAgICAgICAgICAg
IGZvciAodmFyIGkgPSAwOyBpIDwgc3Jjcy5sZW5ndGg7IGkrKykgewotICAgICAgICAgICAgICAg
ICAgICBpZGxfYXJyYXkuYWRkX2lkbHMoaWRsc1tpXSk7CisgICAgICAgICAgICAgICAgICAgIGlk
bF9hcnJheS5pbnRlcm5hbF9hZGRfaWRscyhhc3RBcnJheVtpXSk7CiAgICAgICAgICAgICAgICAg
fQogICAgICAgICAgICAgICAgIGZvciAodmFyIGkgPSBzcmNzLmxlbmd0aDsgaSA8IHNyY3MubGVu
Z3RoICsgZGVwcy5sZW5ndGg7IGkrKykgewotICAgICAgICAgICAgICAgICAgICBpZGxfYXJyYXku
YWRkX2RlcGVuZGVuY3lfaWRscyhpZGxzW2ldKTsKKyAgICAgICAgICAgICAgICAgICAgaWRsX2Fy
cmF5LmludGVybmFsX2FkZF9kZXBlbmRlbmN5X2lkbHMoYXN0QXJyYXlbaV0pOwogICAgICAgICAg
ICAgICAgIH0KICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAudGhlbihmdW5jdGlvbigpIHsK
QEAgLTMzNDEsNiArMzQwNyw2IEBAIGZ1bmN0aW9uIGZldGNoX3NwZWMoc3BlYykgewogICAgICAg
ICAgICAgdGhyb3cgbmV3IElkbEhhcm5lc3NFcnJvcigiRXJyb3IgZmV0Y2hpbmcgIiArIHVybCAr
ICIuIik7CiAgICAgICAgIH0KICAgICAgICAgcmV0dXJuIHIudGV4dCgpOwotICAgIH0pOworICAg
IH0pLnRoZW4oaWRsID0+ICh7IHNwZWMsIGlkbCB9KSk7CiB9CiAvLyB2aW06IHNldCBleHBhbmR0
YWIgc2hpZnR3aWR0aD00IHRhYnN0b3A9NCBmb2xkbWFya2VyPUB7LEB9IGZvbGRtZXRob2Q9bWFy
a2VyOgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvcmVhZG1lLm1kIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvcmVhZG1lLm1kCmluZGV4IDg1ODNkNWY4ZDViNDQ5Yjgy
ZDMxMWUwZTQ3YjZlODEyNmNlMTZkZDUuLjA5YTYyZmJkN2JmZDdjNThkM2RlZDAxMTViZDBlZTFl
ZmIwNGY4YzUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3JlYWRtZS5tZAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9yZWFkbWUubWQKQEAgLTEsMjIgKzEsMTQg
QEAKLSMjIEludHJvZHVjdGlvbiAjIworIyBSZXNvdXJjZXMKIAotdGVzdGhhcm5lc3MuanMgcHJv
dmlkZXMgYSBmcmFtZXdvcmsgZm9yIHdyaXRpbmcgbG93LWxldmVsIHRlc3RzIG9mCi1icm93c2Vy
IGZ1bmN0aW9uYWxpdHkgaW4gamF2YXNjcmlwdC4gSXQgcHJvdmlkZXMgYSBjb252ZW5pZW50IEFQ
SSBmb3IKLW1ha2luZyBhc3NlcnRpb25zIGFuZCBpcyBpbnRlbmRlZCB0byB3b3JrIGZvciBib3Ro
IHNpbXBsZSBzeW5jaHJvbm91cwotdGVzdHMgYW5kIGZvciB0ZXN0cyBvZiBhc3luY2hyb25vdXMg
YmVoYXZpb3VyLgotCi0jIyBHZXR0aW5nIFN0YXJ0ZWQgIyMKLQotVG8gdXNlIHRlc3RoYXJuZXNz
LmpzIHlvdSBtdXN0IGluY2x1ZGUgdHdvIHNjcmlwdHMsIGluIHRoZSBvcmRlciBnaXZlbjoKK1Ro
aXMgZGlyZWN0b3J5IGNvbnRhaW5zIHV0aWxpdGllcyBpbnRlbmRlZCBmb3IgdXNlIGJ5IHRlc3Rz
IGFuZCBtYWludGFpbmVkIGFzIHByb2plY3QgaW5mcmFzdHJ1Y3R1cmUuCitJdCBkb2VzIG5vdCBj
b250YWluIHRlc3RzLgogCi1gYGAgaHRtbAotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgotYGBgCisjIyBgdGVzdGhhcm5lc3MuanNgCiAKLSMjIEZ1bGwg
ZG9jdW1lbnRhdGlvbiAjIwotCi1GdWxsIHVzZXIgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIEFQSSBp
cyBhdCBbaHR0cDovL3dlYi1wbGF0Zm9ybS10ZXN0cy5vcmcvd3JpdGluZy10ZXN0cy90ZXN0aGFy
bmVzcy1hcGkuaHRtbF0oaHR0cDovL3dlYi1wbGF0Zm9ybS10ZXN0cy5vcmcvd3JpdGluZy10ZXN0
cy90ZXN0aGFybmVzcy1hcGkuaHRtbCkuCitgdGVzdGhhcm5lc3MuanNgIGlzIGEgZnJhbWV3b3Jr
IGZvciB3cml0aW5nIGxvdy1sZXZlbCB0ZXN0cyBvZgorYnJvd3NlciBmdW5jdGlvbmFsaXR5IGlu
IGphdmFzY3JpcHQuIEl0IHByb3ZpZGVzIGEgY29udmVuaWVudCBBUEkgZm9yCittYWtpbmcgYXNz
ZXJ0aW9ucyBhbmQgaXMgaW50ZW5kZWQgdG8gd29yayBmb3IgYm90aCBzaW1wbGUgc3luY2hyb25v
dXMKK3Rlc3RzLCBhbmQgdGVzdHMgb2YgYXN5bmNocm9ub3VzIGJlaGF2aW91ci4KIAotWW91IGNh
biBhbHNvIHJlYWQgYSB0dXRvcmlhbCBvbiAKLVtVc2luZyB0ZXN0aGFybmVzcy5qc10oaHR0cDov
L2Rhcm9iaW4uZ2l0aHViLmNvbS90ZXN0LWhhcm5lc3MtdHV0b3JpYWwvZG9jcy91c2luZy10ZXN0
aGFybmVzcy5odG1sKS4KK0NvbXBsZXRlIGRvY3VtZW50YXRpb24gaXMgYXZhaWxhYmxlIGluIHRo
ZSBgZG9jcy9gIGRpcmVjdG9yeSBvZiB0aGlzIHJlcG9zaXRvcnkKK2FuZCBvbiB0aGUgd2ViIGF0
IGh0dHBzOi8vd2ViLXBsYXRmb3JtLXRlc3RzLm9yZy93cml0aW5nLXRlc3RzLy4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3NyaWhhcm5lc3MuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy9zcmloYXJuZXNzLmpzCmluZGV4IDlkN2ZhNzZhN2Q2NWY2M2NlOGEzODQ0
OTIwMzg4ZmZiMzliODNiYzMuLmYwZDI4NGU1N2I5NDExZDljNjA1NjA4MGJhODc0OWU4ZjU2NzFi
MzkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3NyaWhhcm5lc3MuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvc3JpaGFybmVzcy5qcwpAQCAtMzIsNiArMzIs
MTA1IEBAIFNSSVNjcmlwdFRlc3QucHJvdG90eXBlLmV4ZWN1dGUgPSBmdW5jdGlvbigpIHsKICAg
ICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGUpOwogfTsKIAorZnVuY3Rpb24gc2V0X2V4dHJh
X2F0dHJpYnV0ZXMoZWxlbWVudCwgYXR0cnMpIHsKKyAgLy8gQXBwbHkgdGhlIHJlc3Qgb2YgdGhl
IGF0dHJpYnV0ZXMsIGlmIGFueS4KKyAgZm9yIChjb25zdCBbYXR0cl9uYW1lLCBhdHRyX3ZhbF0g
b2YgT2JqZWN0LmVudHJpZXMoYXR0cnMpKSB7CisgICAgZWxlbWVudFthdHRyX25hbWVdID0gYXR0
cl92YWw7CisgIH0KK30KKworZnVuY3Rpb24gYnVpbGRFbGVtZW50RnJvbURlc3RpbmF0aW9uKHJl
c291cmNlX3VybCwgZGVzdGluYXRpb24sIGF0dHJzKSB7CisgIC8vIEFzc2VydDogfGRlc3RpbmF0
aW9ufCBpcyBhIHZhbGlkIGRlc3RpbmF0aW9uLgorICBsZXQgZWxlbWVudDsKKworICAvLyBUaGUg
YmVsb3cgc3dpdGNoIGlzIHJlc3BvbnNpYmxlIGZvcjoKKyAgLy8gICAxLiBDcmVhdGluZyB0aGUg
Y29ycmVjdCBzdWJyZXNvdXJjZSBlbGVtZW50CisgIC8vICAgMi4gU2V0dGluZyBzYWlkIGVsZW1l
bnQncyBocmVmLCBzcmMsIG9yIGZldGNoLWluc3RpZ2F0aW5nIHByb3BlcnR5CisgIC8vICAgICAg
YXBwcm9wcmlhdGVseS4KKyAgc3dpdGNoIChkZXN0aW5hdGlvbikgeworICAgIGNhc2UgInNjcmlw
dCI6CisgICAgICBlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChkZXN0aW5hdGlvbik7
CisgICAgICBzZXRfZXh0cmFfYXR0cmlidXRlcyhlbGVtZW50LCBhdHRycyk7CisgICAgICBlbGVt
ZW50LnNyYyA9IHJlc291cmNlX3VybDsKKyAgICAgIGJyZWFrOworICAgIGNhc2UgInN0eWxlIjoK
KyAgICAgIGVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdsaW5rJyk7CisgICAgICBz
ZXRfZXh0cmFfYXR0cmlidXRlcyhlbGVtZW50LCBhdHRycyk7CisgICAgICBlbGVtZW50LnJlbCA9
ICdzdHlsZXNoZWV0JzsKKyAgICAgIGVsZW1lbnQuaHJlZiA9IHJlc291cmNlX3VybDsKKyAgICAg
IGJyZWFrOworICAgIGNhc2UgImltYWdlIjoKKyAgICAgIGVsZW1lbnQgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCdpbWcnKTsKKyAgICAgIHNldF9leHRyYV9hdHRyaWJ1dGVzKGVsZW1lbnQsIGF0
dHJzKTsKKyAgICAgIGVsZW1lbnQuc3JjID0gcmVzb3VyY2VfdXJsOworICAgICAgYnJlYWs7Cisg
ICAgZGVmYXVsdDoKKyAgICAgIGFzc2VydF91bnJlYWNoZWQoIklOVkFMSUQgREVTVElOQVRJT04i
KTsKKyAgfQorCisgIHJldHVybiBlbGVtZW50OworfQorCitjb25zdCBTUklQcmVsb2FkVGVzdCA9
IChwcmVsb2FkX3NyaV9zdWNjZXNzLCBzdWJyZXNvdXJjZV9zcmlfc3VjY2VzcywgbmFtZSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgIGRlc3RpbmF0aW9uLCByZXNvdXJjZV91cmwsIGxpbmtfYXR0
cnMsCisgICAgICAgICAgICAgICAgICAgICAgICBzdWJyZXNvdXJjZV9hdHRycykgPT4geworICBj
b25zdCB0ZXN0ID0gYXN5bmNfdGVzdChuYW1lKTsKKyAgY29uc3QgbGluayA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoJ2xpbmsnKTsKKworICAvLyBFYXJseS1mYWlsIGluIFVBcyB0aGF0IGRvIG5v
dCBzdXBwb3J0IGBwcmVsb2FkYCBsaW5rcy4KKyAgdGVzdC5zdGVwX2Z1bmMoKCkgPT4geworICAg
IGFzc2VydF90cnVlKGxpbmsucmVsTGlzdC5zdXBwb3J0cygncHJlbG9hZCcpLAorICAgICAgIlRo
aXMgdGVzdCBpcyBhdXRvbWF0aWNhbGx5IGZhaWxpbmcgYmVjYXVzZSB0aGUgYnJvd3NlciBkb2Vz
IG5vdCIgKworICAgICAgInN1cHBvcnQgYHByZWxvYWRgIGxpbmtzLiIpOworICB9KSgpOworCisg
IC8vIEJ1aWxkIHVwIHRoZSBsaW5rLgorICBsaW5rLnJlbCA9ICdwcmVsb2FkJzsKKyAgbGluay5h
cyA9IGRlc3RpbmF0aW9uOworICBsaW5rLmhyZWYgPSByZXNvdXJjZV91cmw7CisgIGZvciAoY29u
c3QgW2F0dHJfbmFtZSwgYXR0cl92YWxdIG9mIE9iamVjdC5lbnRyaWVzKGxpbmtfYXR0cnMpKSB7
CisgICAgbGlua1thdHRyX25hbWVdID0gYXR0cl92YWw7IC8vIFRoaXMgbWF5IG92ZXJyaWRlIGBy
ZWxgIHRvIG1vZHVsZXByZWxvYWQuCisgIH0KKworICAvLyBQcmVsb2FkICsgc3VicmVzb3VyY2Ug
c3VjY2VzcyBhbmQgZmFpbHVyZSBsb2FkaW5nIGZ1bmN0aW9ucy4KKyAgY29uc3QgdmFsaWRfcHJl
bG9hZF9mYWlsZWQgPSB0ZXN0LnN0ZXBfZnVuYygoKSA9PgorICAgIHsgYXNzZXJ0X3VucmVhY2hl
ZCgiVmFsaWQgcHJlbG9hZCBmaXJlZCBlcnJvciBoYW5kbGVyLiIpIH0pOworICBjb25zdCBpbnZh
bGlkX3ByZWxvYWRfc3VjY2VlZGVkID0gdGVzdC5zdGVwX2Z1bmMoKCkgPT4KKyAgICB7IGFzc2Vy
dF91bnJlYWNoZWQoIkludmFsaWQgcHJlbG9hZCBsb2FkIHN1Y2NlZWRlZC4iKSB9KTsKKyAgY29u
c3QgdmFsaWRfc3VicmVzb3VyY2VfZmFpbGVkID0gdGVzdC5zdGVwX2Z1bmMoKCkgPT4KKyAgICB7
IGFzc2VydF91bnJlYWNoZWQoIlZhbGlkIHN1YnJlc291cmNlIGZpcmVkIGVycm9yIGhhbmRsZXIu
IikgfSk7CisgIGNvbnN0IGludmFsaWRfc3VicmVzb3VyY2Vfc3VjY2VlZGVkID0gdGVzdC5zdGVw
X2Z1bmMoKCkgPT4KKyAgICB7IGFzc2VydF91bnJlYWNoZWQoIkludmFsaWQgc3VicmVzb3VyY2Ug
bG9hZCBzdWNjZWVkZWQuIikgfSk7CisgIGNvbnN0IHN1YnJlc291cmNlX3Bhc3MgPSB0ZXN0LnN0
ZXBfZnVuYygoKSA9PiB7IHRlc3QuZG9uZSgpOyB9KTsKKyAgY29uc3QgcHJlbG9hZF9wYXNzID0g
dGVzdC5zdGVwX2Z1bmMoKCkgPT4geworICAgIGNvbnN0IHN1YnJlc291cmNlX2VsZW1lbnQgPSBi
dWlsZEVsZW1lbnRGcm9tRGVzdGluYXRpb24oCisgICAgICByZXNvdXJjZV91cmwsCisgICAgICBk
ZXN0aW5hdGlvbiwKKyAgICAgIHN1YnJlc291cmNlX2F0dHJzCisgICAgKTsKKworICAgIGlmIChz
dWJyZXNvdXJjZV9zcmlfc3VjY2VzcykgeworICAgICAgc3VicmVzb3VyY2VfZWxlbWVudC5vbmxv
YWQgPSBzdWJyZXNvdXJjZV9wYXNzOworICAgICAgc3VicmVzb3VyY2VfZWxlbWVudC5vbmVycm9y
ID0gdmFsaWRfc3VicmVzb3VyY2VfZmFpbGVkOworICAgIH0gZWxzZSB7CisgICAgICBzdWJyZXNv
dXJjZV9lbGVtZW50Lm9ubG9hZCA9IGludmFsaWRfc3VicmVzb3VyY2Vfc3VjY2VlZGVkOworICAg
ICAgc3VicmVzb3VyY2VfZWxlbWVudC5vbmVycm9yID0gc3VicmVzb3VyY2VfcGFzczsKKyAgICB9
CisKKyAgICBkb2N1bWVudC5ib2R5LmFwcGVuZChzdWJyZXNvdXJjZV9lbGVtZW50KTsKKyAgfSk7
CisKKyAgaWYgKHByZWxvYWRfc3JpX3N1Y2Nlc3MpIHsKKyAgICBsaW5rLm9ubG9hZCA9IHByZWxv
YWRfcGFzczsKKyAgICBsaW5rLm9uZXJyb3IgPSB2YWxpZF9wcmVsb2FkX2ZhaWxlZDsKKyAgfSBl
bHNlIHsKKyAgICBsaW5rLm9ubG9hZCA9IGludmFsaWRfcHJlbG9hZF9zdWNjZWVkZWQ7CisgICAg
bGluay5vbmVycm9yID0gcHJlbG9hZF9wYXNzOworICB9CisKKyAgZG9jdW1lbnQuaGVhZC5hcHBl
bmQobGluayk7Cit9CisKIC8vIDxsaW5rPiB0ZXN0cwogLy8gU3R5bGUgdGVzdHMgbXVzdCBiZSBk
b25lIHN5bmNocm9ub3VzbHkgYmVjYXVzZSB0aGV5IHJlbHkgb24gdGhlIHByZXNlbmNlCiAvLyBh
bmQgYWJzZW5jZSBvZiBnbG9iYWwgc3R5bGUsIHdoaWNoIGNhbiBhZmZlY3QgbGF0ZXIgdGVzdHMu
IFRodXMsIGluc3RlYWQKQEAgLTYzLDYgKzE2Miw4IEBAIFNSSVN0eWxlVGVzdC5wcm90b3R5cGUu
ZXhlY3V0ZSA9IGZ1bmN0aW9uKCkgewogICAgIHZhciBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJkaXYiKTsKICAgICBkaXYuY2xhc3NOYW1lID0gInRlc3RkaXYiOwogICAgIHZhciBlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibGluayIpOworCisgICAgLy8gVGhlIGxpbmsgcmVsYXRp
b24gaXMgZ3VhcmFudGVlZCB0byBub3QgYmUgInByZWxvYWQiIG9yICJtb2R1bGVwcmVsb2FkIi4K
ICAgICB0aGlzLmF0dHJzLnJlbCA9IHRoaXMuYXR0cnMucmVsIHx8ICJzdHlsZXNoZWV0IjsKICAg
ICBmb3IgKHZhciBrZXkgaW4gdGhpcy5hdHRycykgewogICAgICAgICBpZiAodGhpcy5hdHRycy5o
YXNPd25Qcm9wZXJ0eShrZXkpKSB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L1JFQURNRS5tZCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvUkVBRE1F
Lm1kCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxMDEwNTE2YWQ4ZWU5NzM5YTA2ZTNk
NGYwNmNiNDBmOGE3ZWQwZTFmLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3Rlc3QvUkVBRE1FLm1kCisrKyAvZGV2L251bGwKQEAgLTEsNjcgKzAsMCBAQAotIyBg
dGVzdGhhcm5lc3MuanNgIHRlc3Qgc3VpdGUKLQotVGhlIHRlc3Qgc3VpdGUgZm9yIHRoZSBgdGVz
dGhhcm5lc3MuanNgIHRlc3RpbmcgZnJhbWV3b3JrLgotCi0jIyBFeGVjdXRpbmcgVGVzdHMKLQot
SW5zdGFsbCB0aGUgZm9sbG93aW5nIGRlcGVuZGVuY2llczoKLQotLSBbUHl0aG9uIDIuN10oaHR0
cHM6Ly93d3cucHl0aG9uLm9yZy8pCi0tIFt0aGUgdG94IFB5dGhvbiBwYWNrYWdlXShodHRwczov
L3RveC5yZWFkdGhlZG9jcy5pby9lbi9sYXRlc3QvKQotLSBbdGhlIE1vemlsbGEgRmlyZWZveCB3
ZWIgYnJvd3Nlcl0oaHR0cHM6Ly9tb3ppbGxhLm9yZy9maXJlZm94KQotLSBbdGhlIEdlY2tvRHJp
dmVyIHNlcnZlcl0oaHR0cHM6Ly9naXRodWIuY29tL21vemlsbGEvZ2Vja29kcml2ZXIpCi0KLU9u
Y2UgdGhlc2UgZGVwZW5kZW5jaWVzIGFyZSBzYXRpc2ZpZWQsIHRoZSB0ZXN0cyBtYXkgYmUgcnVu
IGZyb20gYSBjb21tYW5kIGxpbmUKLWJ5IGV4ZWN1dGluZyB0aGUgZm9sbG93aW5nIGNvbW1hbmQg
ZnJvbSB0aGlzIGRpcmVjdG9yeToKLQotICAgIHRveAotCi1DdXJyZW50bHksIHRoZSB0ZXN0cyBz
aG91bGQgYmUgcnVuIHdpdGggRmlyZWZveCBOaWdodGx5LgotCi1JbiBvcmRlciB0byBzcGVjaWZ5
IHRoZSBwYXRoIHRvIEZpcmVmb3ggTmlnaHRseSwgdXNlIHRoZSBmb2xsb3dpbmcgY29tbWFuZC1s
aW5lIG9wdGlvbjoKLQotICAgIHRveCAtLSAtLWJpbmFyeT0vcGF0aC90by9GaXJlZm94TmlnaHRs
eQotCi0jIyBBdXRob3JpbmcgVGVzdHMKLQotVGVzdCBjYXNlcyBhcmUgZXhwcmVzc2VkIGFzIGAu
aHRtbGAgZmlsZXMgbG9jYXRlZCB3aXRoaW4gdGhlIGB0ZXN0cy9gCi1zdWItZGlyZWN0b3J5LiBF
YWNoIHRlc3Qgc2hvdWxkIGluY2x1ZGUgdGhlIGB0ZXN0aGFybmVzcy5qc2AgbGlicmFyeSB3aXRo
IHRoZQotZm9sbG93aW5nIG1hcmt1cDoKLQotICAgIDxzY3JpcHQgc3JjPSIuLi8uLi90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzIj48L3NjcmlwdD4KLQotVGhpcyBzaG91bGQgYmUgZm9sbG93ZWQgYnkgb25lIG9yIG1v
cmUgYDxzY3JpcHQ+YCB0YWdzIHRoYXQgaW50ZXJmYWNlIHdpdGggdGhlCi1gdGVzdGhhcm5lc3Mu
anNgIEFQSSBpbiBzb21lIHdheS4gRm9yIGV4YW1wbGU6Ci0KLSAgICA8c2NyaXB0PgotICAgIHRl
c3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIDEgPSAxOwotICAgICAgfSwgJ1RoaXMgdGVzdCBpcyBl
eHBlY3RlZCB0byBmYWlsLicpOwotICAgIDwvc2NyaXB0PgotCi1GaW5hbGx5LCBlYWNoIHRlc3Qg
bWF5IGluY2x1ZGUgYSBzdW1tYXJ5IG9mIHRoZSBleHBlY3RlZCByZXN1bHRzIGFzIGEgSlNPTgot
c3RyaW5nIHdpdGhpbiBhIGA8c2NyaXB0PmAgdGFnIHdpdGggYW4gYGlkYCBvZiBgImV4cGVjdGVk
ImAsIGUuZy46Ci0KLSAgICA8c2NyaXB0IHR5cGU9InRleHQvanNvbiIgaWQ9ImV4cGVjdGVkIj4K
LSAgICB7Ci0gICAgICAic3VtbWFyaXplZF9zdGF0dXMiOiB7Ci0gICAgICAgICJtZXNzYWdlIjog
bnVsbCwKLSAgICAgICAgInN0YWNrIjogbnVsbCwKLSAgICAgICAgInN0YXR1c19zdHJpbmciOiAi
T0siCi0gICAgICB9LAotICAgICAgInN1bW1hcml6ZWRfdGVzdHMiOiBbCi0gICAgICAgIHsKLSAg
ICAgICAgICAibWVzc2FnZSI6ICJSZWZlcmVuY2VFcnJvcjogaW52YWxpZCBhc3NpZ25tZW50IGxl
ZnQtaGFuZCBzaWRlIiwKLSAgICAgICAgICAibmFtZSI6ICJTYW1wbGUgSFRNTDUgQVBJIFRlc3Rz
IiwKLSAgICAgICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgICAgICJzdGFjayI6ICIoaW1w
bGVtZW50YXRpb24tZGVmaW5lZCkiLAotICAgICAgICAgICJzdGF0dXNfc3RyaW5nIjogIkZBSUwi
Ci0gICAgICAgIH0KLSAgICAgIF0sCi0gICAgICAidHlwZSI6ICJjb21wbGV0ZSIKLSAgICB9Ci0g
ICAgPC9zY3JpcHQ+Ci0KLVRoaXMgaXMgdXNlZnVsIHRvIHRlc3QsIGZvciBleGFtcGxlLCB3aGV0
aGVyIGFzc2VyYXRpb25zIHRoYXQgc2hvdWxkIGZhaWwgb3IKLXRocm93IGFjdHVhbGx5IGRvLgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvY29uZmlnLnRlc3QuanNv
biBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3Rlc3QvY29uZmlnLnRlc3QuanNvbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZGY2
NjRmYWY0NGJhZDA2OTY0NjRkMmFkMzk3ZDEyMzU3NjA2M2ZmNi4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L2NvbmZpZy50ZXN0Lmpzb24KKysrIC9kZXYv
bnVsbApAQCAtMSwyNyArMCwwIEBACi17Imhvc3QiOiAid2ViLXBsYXRmb3JtLnRlc3QiLAotICJk
b2Nfcm9vdCI6IG51bGwsCi0gIndzX2RvY19yb290IjogbnVsbCwKLSAiZXh0ZXJuYWxfaG9zdCI6
IG51bGwsCi0gInBvcnRzIjp7Imh0dHAiOls4MDAwLCAiYXV0byJdLAotICAgICAgICAgICJodHRw
cyI6WzkwMDNdLAotICAgICAgICAgICJ3cyI6WyJhdXRvIl0sCi0gICAgICAgICAgIndzcyI6WyJh
dXRvIl19LAotICJjaGVja19zdWJkb21haW5zIjogdHJ1ZSwKLSAibG9nX2xldmVsIjoiZGVidWci
LAotICJiaW5kX2hvc3RuYW1lIjogdHJ1ZSwKLSAic3NsIjogeyJ0eXBlIjogIm9wZW5zc2wiLAot
ICAgICAgICAgImVuY3J5cHRfYWZ0ZXJfY29ubmVjdCI6IGZhbHNlLAotICAgICAgICAgIm9wZW5z
c2wiOiB7Ci0gICAgICAgICAgICAgIm9wZW5zc2xfYmluYXJ5IjogIm9wZW5zc2wiLAotICAgICAg
ICAgICAgICJiYXNlX3BhdGgiOiAiX2NlcnRzIiwKLSAgICAgICAgICAgICAiZm9yY2VfcmVnZW5l
cmF0ZSI6IGZhbHNlLAotICAgICAgICAgICAgICJiYXNlX2NvbmZfcGF0aCI6IG51bGwKLSAgICAg
ICAgIH0sCi0gICAgICAgICAicHJlZ2VuZXJhdGVkIjogewotICAgICAgICAgICAgICJob3N0X2tl
eV9wYXRoIjogbnVsbCwKLSAgICAgICAgICAgICAiaG9zdF9jZXJ0X3BhdGgiOiBudWxsCi0gICAg
ICAgICB9LAotICAgICAgICAgIm5vbmUiOiB7fQotICAgICAgICB9LAotICJhbGlhc2VzIjogW10K
LX0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3Rlc3QvY29uZnRlc3QucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L2NvbmZ0ZXN0LnB5CmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwNDdjYTFjYWVkMjdjNzQzYWRjM2U5ZTU2YTY1YTdiMTMwYjhl
MzljLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvY29u
ZnRlc3QucHkKKysrIC9kZXYvbnVsbApAQCAtMSwxMzcgKzAsMCBAQAotaW1wb3J0IGlvCi1pbXBv
cnQganNvbgotaW1wb3J0IG9zCi0KLWltcG9ydCBodG1sNWxpYgotaW1wb3J0IHB5dGVzdAotZnJv
bSBzZWxlbml1bSBpbXBvcnQgd2ViZHJpdmVyCi0KLWZyb20gd3B0c2VydmVyIGltcG9ydCBXUFRT
ZXJ2ZXIKLQotRU5DID0gJ3V0ZjgnCi1IRVJFID0gb3MucGF0aC5kaXJuYW1lKG9zLnBhdGguYWJz
cGF0aChfX2ZpbGVfXykpCi1XUFRfUk9PVCA9IG9zLnBhdGgubm9ybXBhdGgob3MucGF0aC5qb2lu
KEhFUkUsICcuLicsICcuLicpKQotSEFSTkVTUyA9IG9zLnBhdGguam9pbihIRVJFLCAnaGFybmVz
cy5odG1sJykKLQotZGVmIHB5dGVzdF9hZGRvcHRpb24ocGFyc2VyKToKLSAgICBwYXJzZXIuYWRk
b3B0aW9uKCItLWJpbmFyeSIsIGFjdGlvbj0ic3RvcmUiLCBkZWZhdWx0PU5vbmUsIGhlbHA9InBh
dGggdG8gYnJvd3NlciBiaW5hcnkiKQotCi1kZWYgcHl0ZXN0X2NvbGxlY3RfZmlsZShwYXRoLCBw
YXJlbnQpOgotICAgIGlmIHBhdGguZXh0Lmxvd2VyKCkgPT0gJy5odG1sJzoKLSAgICAgICAgcmV0
dXJuIEhUTUxJdGVtKHN0cihwYXRoKSwgcGFyZW50KQotCi1kZWYgcHl0ZXN0X2NvbmZpZ3VyZShj
b25maWcpOgotICAgIGNvbmZpZy5kcml2ZXIgPSB3ZWJkcml2ZXIuRmlyZWZveChmaXJlZm94X2Jp
bmFyeT1jb25maWcuZ2V0b3B0aW9uKCItLWJpbmFyeSIpKQotICAgIGNvbmZpZy5zZXJ2ZXIgPSBX
UFRTZXJ2ZXIoV1BUX1JPT1QpCi0gICAgY29uZmlnLnNlcnZlci5zdGFydCgpCi0gICAgY29uZmln
LmFkZF9jbGVhbnVwKGxhbWJkYTogY29uZmlnLnNlcnZlci5zdG9wKCkpCi0gICAgY29uZmlnLmFk
ZF9jbGVhbnVwKGxhbWJkYTogY29uZmlnLmRyaXZlci5xdWl0KCkpCi0KLWNsYXNzIEhUTUxJdGVt
KHB5dGVzdC5JdGVtLCBweXRlc3QuQ29sbGVjdG9yKToKLSAgICBkZWYgX19pbml0X18oc2VsZiwg
ZmlsZW5hbWUsIHBhcmVudCk6Ci0gICAgICAgIHNlbGYuZmlsZW5hbWUgPSBmaWxlbmFtZQotICAg
ICAgICB3aXRoIGlvLm9wZW4oZmlsZW5hbWUsIGVuY29kaW5nPUVOQykgYXMgZjoKLSAgICAgICAg
ICAgIG1hcmt1cCA9IGYucmVhZCgpCi0KLSAgICAgICAgcGFyc2VkID0gaHRtbDVsaWIucGFyc2Uo
bWFya3VwLCBuYW1lc3BhY2VIVE1MRWxlbWVudHM9RmFsc2UpCi0gICAgICAgIG5hbWUgPSBOb25l
Ci0gICAgICAgIHNlbGYuZXhwZWN0ZWQgPSBOb25lCi0KLSAgICAgICAgZm9yIGVsZW1lbnQgaW4g
cGFyc2VkLmdldGl0ZXJhdG9yKCk6Ci0gICAgICAgICAgICBpZiBub3QgbmFtZSBhbmQgZWxlbWVu
dC50YWcgPT0gJ3RpdGxlJzoKLSAgICAgICAgICAgICAgICBuYW1lID0gZWxlbWVudC50ZXh0Ci0g
ICAgICAgICAgICAgICAgY29udGludWUKLSAgICAgICAgICAgIGlmIGVsZW1lbnQuYXR0cmliLmdl
dCgnaWQnKSA9PSAnZXhwZWN0ZWQnOgotICAgICAgICAgICAgICAgIHNlbGYuZXhwZWN0ZWQgPSBq
c29uLmxvYWRzKHVuaWNvZGUoZWxlbWVudC50ZXh0KSkKLSAgICAgICAgICAgICAgICBjb250aW51
ZQotCi0gICAgICAgIGlmIG5vdCBuYW1lOgotICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcign
Tm8gbmFtZSBmb3VuZCBpbiBmaWxlOiAlcycgJSBmaWxlbmFtZSkKLQotICAgICAgICBzdXBlcihI
VE1MSXRlbSwgc2VsZikuX19pbml0X18obmFtZSwgcGFyZW50KQotCi0KLSAgICBkZWYgcmVwb3J0
aW5mbyhzZWxmKToKLSAgICAgICAgcmV0dXJuIHNlbGYuZnNwYXRoLCBOb25lLCBzZWxmLmZpbGVu
YW1lCi0KLSAgICBkZWYgcmVwcl9mYWlsdXJlKHNlbGYsIGV4Y2luZm8pOgotICAgICAgICByZXR1
cm4gcHl0ZXN0LkNvbGxlY3Rvci5yZXByX2ZhaWx1cmUoc2VsZiwgZXhjaW5mbykKLQotICAgIGRl
ZiBydW50ZXN0KHNlbGYpOgotICAgICAgICBkcml2ZXIgPSBzZWxmLnNlc3Npb24uY29uZmlnLmRy
aXZlcgotICAgICAgICBzZXJ2ZXIgPSBzZWxmLnNlc3Npb24uY29uZmlnLnNlcnZlcgotCi0gICAg
ICAgIGRyaXZlci5nZXQoc2VydmVyLnVybChIQVJORVNTKSkKLQotICAgICAgICBhY3R1YWwgPSBk
cml2ZXIuZXhlY3V0ZV9hc3luY19zY3JpcHQoJ3J1blRlc3QoIiVzIiwgImZvbyIsIGFyZ3VtZW50
c1swXSknICUgc2VydmVyLnVybChzdHIoc2VsZi5maWxlbmFtZSkpKQotCi0gICAgICAgICMgVGVz
dCBvYmplY3Qgb3JkZXJpbmcgaXMgbm90IGd1YXJhbnRlZWQuIFRoaXMgd2VhayBhc3NlcnRpb24g
dmVyaWZpZXMKLSAgICAgICAgIyB0aGF0IHRoZSBpbmRpY2VzIGFyZSB1bmlxdWUgYW5kIHNlcXVl
bnRpYWwKLSAgICAgICAgaW5kaWNlcyA9IFt0ZXN0X29iai5nZXQoJ2luZGV4JykgZm9yIHRlc3Rf
b2JqIGluIGFjdHVhbFsndGVzdHMnXV0KLSAgICAgICAgc2VsZi5fYXNzZXJ0X3NlcXVlbmNlKGlu
ZGljZXMpCi0KLSAgICAgICAgc3VtbWFyaXplZCA9IHt9Ci0gICAgICAgIHN1bW1hcml6ZWRbdSdz
dW1tYXJpemVkX3N0YXR1cyddID0gc2VsZi5fc3VtbWFyaXplX3N0YXR1cyhhY3R1YWxbJ3N0YXR1
cyddKQotICAgICAgICBzdW1tYXJpemVkW3Unc3VtbWFyaXplZF90ZXN0cyddID0gWwotICAgICAg
ICAgICAgc2VsZi5fc3VtbWFyaXplX3Rlc3QodGVzdCkgZm9yIHRlc3QgaW4gYWN0dWFsWyd0ZXN0
cyddXQotICAgICAgICBzdW1tYXJpemVkW3Unc3VtbWFyaXplZF90ZXN0cyddLnNvcnQoa2V5PWxh
bWJkYSB0ZXN0X29iajogdGVzdF9vYmouZ2V0KCduYW1lJykpCi0gICAgICAgIHN1bW1hcml6ZWRb
dSd0eXBlJ10gPSBhY3R1YWxbJ3R5cGUnXQotCi0gICAgICAgIGlmIG5vdCBzZWxmLmV4cGVjdGVk
OgotICAgICAgICAgICAgYXNzZXJ0IHN1bW1hcml6ZWRbdSdzdW1tYXJpemVkX3N0YXR1cyddW3Un
c3RhdHVzX3N0cmluZyddID09IHUnT0snLCBzdW1tYXJpemVkW3Unc3VtbWFyaXplZF9zdGF0dXMn
XVt1J21lc3NhZ2UnXQotICAgICAgICAgICAgZm9yIHRlc3QgaW4gc3VtbWFyaXplZFt1J3N1bW1h
cml6ZWRfdGVzdHMnXToKLSAgICAgICAgICAgICAgICBtc2cgPSAiJXNcbiVzOlxuJXMiICUgKHRl
c3RbdSduYW1lJ10sIHRlc3RbdSdtZXNzYWdlJ10sIHRlc3RbdSdzdGFjayddKQotICAgICAgICAg
ICAgICAgIGFzc2VydCB0ZXN0W3Unc3RhdHVzX3N0cmluZyddID09IHUnUEFTUycsIG1zZwotICAg
ICAgICBlbHNlOgotICAgICAgICAgICAgYXNzZXJ0IHN1bW1hcml6ZWQgPT0gc2VsZi5leHBlY3Rl
ZAotCi0gICAgQHN0YXRpY21ldGhvZAotICAgIGRlZiBfYXNzZXJ0X3NlcXVlbmNlKG51bXMpOgot
ICAgICAgICBhc3NlcnQgbnVtcyA9PSByYW5nZSgxLCBudW1zWy0xXSArIDEpCi0KLSAgICBAc3Rh
dGljbWV0aG9kCi0gICAgZGVmIF9zY3J1Yl9zdGFjayh0ZXN0X29iaik6Ci0gICAgICAgIGNvcHkg
PSBkaWN0KHRlc3Rfb2JqKQotCi0gICAgICAgIGFzc2VydCAnc3RhY2snIGluIGNvcHkKLQotICAg
ICAgICBpZiBjb3B5WydzdGFjayddIGlzIG5vdCBOb25lOgotICAgICAgICAgICAgY29weVsnc3Rh
Y2snXSA9IHUnKGltcGxlbWVudGF0aW9uLWRlZmluZWQpJwotCi0gICAgICAgIHJldHVybiBjb3B5
Ci0KLSAgICBAc3RhdGljbWV0aG9kCi0gICAgZGVmIF9leHBhbmRfc3RhdHVzKHN0YXR1c19vYmop
OgotICAgICAgICBmb3Iga2V5LCB2YWx1ZSBpbiBbaXRlbSBmb3IgaXRlbSBpbiBzdGF0dXNfb2Jq
Lml0ZW1zKCldOgotICAgICAgICAgICAgIyBJbiAic3RhdHVzIiBhbmQgInRlc3QiIG9iamVjdHMs
IHRoZSAic3RhdHVzIiB2YWx1ZSBlbnVtCi0gICAgICAgICAgICAjIGRlZmluaXRpb25zIGFyZSBp
bnRlcnNwZXJzZWQgd2l0aCBwcm9wZXJ0aWVzIGZvciB1bnJlbGF0ZWQKLSAgICAgICAgICAgICMg
bWV0YWRhdGEuIFRoZSBmb2xsb3dpbmcgY29uZGl0aW9uIGlzIGEgYmVzdC1lZmZvcnQgYXR0ZW1w
dCB0bwotICAgICAgICAgICAgIyBpZ25vcmUgbm9uLWVudW0gcHJvcGVydGllcy4KLSAgICAgICAg
ICAgIGlmIGtleSAhPSBrZXkudXBwZXIoKSBvciBub3QgaXNpbnN0YW5jZSh2YWx1ZSwgaW50KToK
LSAgICAgICAgICAgICAgICBjb250aW51ZQotCi0gICAgICAgICAgICBkZWwgc3RhdHVzX29ialtr
ZXldCi0KLSAgICAgICAgICAgIGlmIHN0YXR1c19vYmpbJ3N0YXR1cyddID09IHZhbHVlOgotICAg
ICAgICAgICAgICAgIHN0YXR1c19vYmpbdSdzdGF0dXNfc3RyaW5nJ10gPSBrZXkKLQotICAgICAg
ICBkZWwgc3RhdHVzX29ialsnc3RhdHVzJ10KLQotICAgICAgICByZXR1cm4gc3RhdHVzX29iagot
Ci0gICAgQHN0YXRpY21ldGhvZAotICAgIGRlZiBfc3VtbWFyaXplX3Rlc3QodGVzdF9vYmopOgot
ICAgICAgICBkZWwgdGVzdF9vYmpbJ2luZGV4J10KLQotICAgICAgICBhc3NlcnQgJ3BoYXNlJyBp
biB0ZXN0X29iagotICAgICAgICBhc3NlcnQgJ3BoYXNlcycgaW4gdGVzdF9vYmoKLSAgICAgICAg
YXNzZXJ0ICdDT01QTEVURScgaW4gdGVzdF9vYmpbJ3BoYXNlcyddCi0gICAgICAgIGFzc2VydCB0
ZXN0X29ialsncGhhc2UnXSA9PSB0ZXN0X29ialsncGhhc2VzJ11bJ0NPTVBMRVRFJ10KLSAgICAg
ICAgZGVsIHRlc3Rfb2JqWydwaGFzZXMnXQotICAgICAgICBkZWwgdGVzdF9vYmpbJ3BoYXNlJ10K
LQotICAgICAgICByZXR1cm4gSFRNTEl0ZW0uX2V4cGFuZF9zdGF0dXMoSFRNTEl0ZW0uX3NjcnVi
X3N0YWNrKHRlc3Rfb2JqKSkKLQotICAgIEBzdGF0aWNtZXRob2QKLSAgICBkZWYgX3N1bW1hcml6
ZV9zdGF0dXMoc3RhdHVzX29iaik6Ci0gICAgICAgIHJldHVybiBIVE1MSXRlbS5fZXhwYW5kX3N0
YXR1cyhIVE1MSXRlbS5fc2NydWJfc3RhY2soc3RhdHVzX29iaikpCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L2hh
cm5lc3MuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3Rlc3QvaGFybmVzcy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCA1ZWUwZjI4NWU4M2JjN2MxMTBkYjYxZDM1NTRmMmYxODZjMjA0ZWRmLi4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvaGFybmVzcy5odG1sCisrKyAvZGV2
L251bGwKQEAgLTEsMjYgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLSAgPGhlYWQ+
Ci0gICAgPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7
IGNoYXJzZXQ9dXRmLTgiPgotICA8L2hlYWQ+Ci0gIDxib2R5PgotICAgIDxzY3JpcHQ+Ci1mdW5j
dGlvbiBydW5UZXN0KHVybCwgaWQsIGRvbmUpIHsKLSAgdmFyIGNoaWxkOwotCi0gIGZ1bmN0aW9u
IG9uTWVzc2FnZShldmVudCkgewotICAgIGlmICghZXZlbnQuZGF0YSB8fCBldmVudC5kYXRhLnR5
cGUgIT09ICdjb21wbGV0ZScpIHsKLSAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICB3aW5kb3cu
cmVtb3ZlRXZlbnRMaXN0ZW5lcignbWVzc2FnZScsIG9uTWVzc2FnZSk7Ci0gICAgY2hpbGQuY2xv
c2UoKTsKLSAgICBkb25lKGV2ZW50LmRhdGEpOwotICB9Ci0gIHdpbmRvdy5hZGRFdmVudExpc3Rl
bmVyKCdtZXNzYWdlJywgb25NZXNzYWdlKTsKLQotICB3aW5kb3cuY2hpbGQgPSBjaGlsZCA9IHdp
bmRvdy5vcGVuKHVybCwgaWQpOwotfQotICAgIDwvc2NyaXB0PgotICA8L2JvZHk+Ci08L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy90ZXN0L3Rlc3RzL2FkZF9jbGVhbnVwLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2FkZF9jbGVh
bnVwLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQ0N2U3ZmYyNGI3NzQ1MDI1
ZTM0NmEzZjQ2NGQyYTRmNGYxODEwMTguLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9hZGRfY2xlYW51cC5odG1sCisrKyAvZGV2L251bGwKQEAg
LTEsOTYgKzAsMCBAQAotPCFET0NUWVBFIEhUTUw+Ci08aHRtbD4KLTxoZWFkPgotPHRpdGxlPlRl
c3QjYWRkX2NsZWFudXA8L3RpdGxlPgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9z
Y3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxkaXYgaWQ9ImxvZyI+PC9kaXY+Ci08c2NyaXB0Pgot
InVzZSBzdHJpY3QiOwotCi12YXIgbG9nX3N5bmM7Ci10ZXN0KGZ1bmN0aW9uKHQpIHsKLSAgbG9n
X3N5bmMgPSAiIjsKLSAgdC5hZGRfY2xlYW51cChmdW5jdGlvbigpIHsgbG9nX3N5bmMgKz0gIjEi
OyB9KTsKLSAgdC5hZGRfY2xlYW51cChmdW5jdGlvbigpIHsgbG9nX3N5bmMgKz0gIjIiOyB9KTsK
LSAgdC5hZGRfY2xlYW51cChmdW5jdGlvbigpIHsgbG9nX3N5bmMgKz0gIjMiOyB9KTsKLSAgdC5h
ZGRfY2xlYW51cChmdW5jdGlvbigpIHsgbG9nX3N5bmMgKz0gIjQiOyB9KTsKLSAgdC5hZGRfY2xl
YW51cChmdW5jdGlvbigpIHsgbG9nX3N5bmMgKz0gIjUiOyB9KTsKLSAgbG9nX3N5bmMgKz0gIjAi
OwotfSwgInByb2JlIHN5bmNocm9ub3VzIik7Ci0KLXRlc3QoZnVuY3Rpb24oKSB7Ci0gIGlmIChs
b2dfc3luYyAhPT0gIjAxMjM0NSIpIHsKLSAgICB0aHJvdyBuZXcgRXJyb3IoIkV4cGVjdGVkOiAn
MDEyMzQ1Jy4gQWN0dWFsOiAnIiArIGxvZ19zeW5jICsgIicuIik7Ci0gIH0KLX0sICJDbGVhbnVw
IG1ldGhvZHMgYXJlIGludm9rZWQgZXhhY3RseSBvbmNlIGFuZCBpbiB0aGUgZXhwZWN0ZWQgc2Vx
dWVuY2UuIik7Ci0KLXZhciBjb21wbGV0ZSwgbG9nX2FzeW5jOwotYXN5bmNfdGVzdChmdW5jdGlv
bih0KSB7Ci0gIGNvbXBsZXRlID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24oKSB7Ci0gICAgaWYgKGxv
Z19hc3luYyAhPT0gIjAxMiIpIHsKLSAgICAgIHRocm93IG5ldyBFcnJvcigiRXhwZWN0ZWQ6ICcw
MTInLiBBY3R1YWw6ICciICsgbG9nX2FzeW5jICsgIicuIik7Ci0gICAgfQotCi0gICAgdC5kb25l
KCk7Ci0gIH0pOwotfSwgIkNsZWFudXAgbWV0aG9kcyBhcmUgaW52b2tlZCBmb2xsb3dpbmcgdGhl
IGNvbXBsZXRpb24gb2YgYXN5bmNocm9ub3VzIHRlc3RzIik7Ci0KLWFzeW5jX3Rlc3QoZnVuY3Rp
b24odCkgewotICBsb2dfYXN5bmMgPSAiIjsKLSAgdC5hZGRfY2xlYW51cChmdW5jdGlvbigpIHsg
bG9nX2FzeW5jICs9ICIxIjsgfSk7Ci0KLSAgc2V0VGltZW91dCh0LnN0ZXBfZnVuYyhmdW5jdGlv
bigpIHsKLSAgICB0LmFkZF9jbGVhbnVwKGZ1bmN0aW9uKCkgewotICAgICAgbG9nX2FzeW5jICs9
ICIyIjsKLSAgICAgIGNvbXBsZXRlKCk7Ci0gICAgfSk7Ci0gICAgbG9nX2FzeW5jICs9ICIwIjsK
LSAgICB0LmRvbmUoKTsKLSAgfSksIDApOwotfSwgInByb2JlIGFzeW5jaHJvbm91cyIpOwotPC9z
Y3JpcHQ+Ci08c2NyaXB0IHR5cGU9InRleHQvanNvbiIgaWQ9ImV4cGVjdGVkIj4KLXsKLSAgInN1
bW1hcml6ZWRfc3RhdHVzIjogewotICAgICJzdGF0dXNfc3RyaW5nIjogIk9LIiwKLSAgICAibWVz
c2FnZSI6IG51bGwsCi0gICAgInN0YWNrIjogbnVsbAotICB9LAotICAic3VtbWFyaXplZF90ZXN0
cyI6IFsKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1l
IjogIkNsZWFudXAgbWV0aG9kcyBhcmUgaW52b2tlZCBleGFjdGx5IG9uY2UgYW5kIGluIHRoZSBl
eHBlY3RlZCBzZXF1ZW5jZS4iLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNz
YWdlIjogbnVsbCwKLSAgICAgICJzdGFjayI6IG51bGwKLSAgICB9LAotICAgIHsKLSAgICAgICJz
dGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUiOiAiQ2xlYW51cCBtZXRob2RzIGFy
ZSBpbnZva2VkIGZvbGxvd2luZyB0aGUgY29tcGxldGlvbiBvZiBhc3luY2hyb25vdXMgdGVzdHMi
LAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAg
ICJzdGFjayI6IG51bGwKLSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBB
U1MiLAotICAgICAgIm5hbWUiOiAicHJvYmUgYXN5bmNocm9ub3VzIiwKLSAgICAgICJwcm9wZXJ0
aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAic3RhY2siOiBudWxsCi0g
ICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1l
IjogInByb2JlIHN5bmNocm9ub3VzIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAi
bWVzc2FnZSI6IG51bGwsCi0gICAgICAic3RhY2siOiBudWxsCi0gICAgfQotICBdLAotICAidHlw
ZSI6ICJjb21wbGV0ZSIKLX0KLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
dGVzdC90ZXN0cy9hZGRfY2xlYW51cF9jb3VudC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9hZGRfY2xlYW51cF9j
b3VudC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhMDc5YzliODc5YmIzNzQ0
YmNlMzUxOTc0YzJkNDMwMjFjNTI0YWEzLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvYWRkX2NsZWFudXBfY291bnQuaHRtbAorKysgL2Rldi9u
dWxsCkBAIC0xLDQxICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLTx0
aXRsZT5UZXN0I2FkZF9jbGVhbnVwIHJlcG9ydGVkIGNvdW50PC90aXRsZT4KLTxzY3JpcHQgc3Jj
PSIuLi8uLi90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vdGVz
dGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08ZGl2IGlkPSJs
b2ciPjwvZGl2PgotCi08c2NyaXB0PgotcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHQpIHsKLSAgICB0
LmFkZF9jbGVhbnVwKGZ1bmN0aW9uKCkge30pOwotICAgIHQuYWRkX2NsZWFudXAoZnVuY3Rpb24o
KSB7fSk7Ci0gICAgdC5hZGRfY2xlYW51cChmdW5jdGlvbigpIHsgdGhyb3cgbmV3IEVycm9yKCk7
IH0pOwotICAgIG5ldyBFdmVudFdhdGNoZXIodCwgZG9jdW1lbnQuYm9keSwgW10pOwotCi0gICAg
cmV0dXJuIFByb21pc2UucmVzb2x2ZSgpOwotfSwgJ3Rlc3Qgd2l0aCAzIHVzZXItZGVmaW5lZCBj
bGVhbnVwIGZ1bmN0aW9ucycpOwotPC9zY3JpcHQ+Ci08c2NyaXB0IHR5cGU9InRleHQvanNvbiIg
aWQ9ImV4cGVjdGVkIj4KLXsKLSAgInN1bW1hcml6ZWRfc3RhdHVzIjogewotICAgICJzdGF0dXNf
c3RyaW5nIjogIkVSUk9SIiwKLSAgICAibWVzc2FnZSI6ICJUZXN0IG5hbWVkICd0ZXN0IHdpdGgg
MyB1c2VyLWRlZmluZWQgY2xlYW51cCBmdW5jdGlvbnMnIHNwZWNpZmllZCAzICdjbGVhbnVwJyBm
dW5jdGlvbnMsIGFuZCAxIGZhaWxlZC4iLAotICAgICJzdGFjayI6IG51bGwKLSAgfSwKLSAgInN1
bW1hcml6ZWRfdGVzdHMiOiBbCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIs
Ci0gICAgICAibmFtZSI6ICJ0ZXN0IHdpdGggMyB1c2VyLWRlZmluZWQgY2xlYW51cCBmdW5jdGlv
bnMiLAotICAgICAgInN0YWNrIjogbnVsbCwKLSAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAg
ICJwcm9wZXJ0aWVzIjoge30KLSAgICB9Ci0gIF0sCi0gICJ0eXBlIjogImNvbXBsZXRlIgotfQot
PC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2FkZF9jbGVh
bnVwX2Vyci5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9hZGRfY2xlYW51cF9lcnIuaHRtbApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggNjZlZmIwNzczMzczOWQ1Njk2OGRkYTk4N2UzYWJmYjcwMWIwZjE5
Ny4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3Rz
L2FkZF9jbGVhbnVwX2Vyci5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNDggKzAsMCBAQAotPCFE
T0NUWVBFIEhUTUw+Ci08aHRtbD4KLTxoZWFkPgotPHRpdGxlPlRlc3QjYWRkX2NsZWFudXA6IGVy
cm9yPC90aXRsZT4KLTxzY3JpcHQgc3JjPSIuLi8uLi90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0IHNyYz0iLi4vLi4vdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPC9o
ZWFkPgotPGJvZHk+Ci08ZGl2IGlkPSJsb2ciPjwvZGl2PgotPHNjcmlwdD4KLSJ1c2Ugc3RyaWN0
IjsKLQotdGVzdChmdW5jdGlvbih0KSB7Ci0gIHQuYWRkX2NsZWFudXAoZnVuY3Rpb24oKSB7Ci0g
ICAgdGhyb3cgbmV3IEVycm9yKCdleGNlcHRpb24gaW4gY2xlYW51cCBmdW5jdGlvbicpOwotICB9
KTsKLX0sICJFeGNlcHRpb24gaW4gY2xlYW51cCBmdW5jdGlvbiBjYXVzZXMgaGFybmVzcyBmYWls
dXJlLiIpOwotCi10ZXN0KGZ1bmN0aW9uKCkge30sICJUaGlzIHRlc3Qgc2hvdWxkIG5vdCBiZSBy
dW4uIik7Ci08L3NjcmlwdD4KLTxzY3JpcHQgdHlwZT0idGV4dC9qc29uIiBpZD0iZXhwZWN0ZWQi
PgotewotICAic3VtbWFyaXplZF9zdGF0dXMiOiB7Ci0gICAgInN0YXR1c19zdHJpbmciOiAiRVJS
T1IiLAotICAgICJtZXNzYWdlIjogIlRlc3QgbmFtZWQgJ0V4Y2VwdGlvbiBpbiBjbGVhbnVwIGZ1
bmN0aW9uIGNhdXNlcyBoYXJuZXNzIGZhaWx1cmUuJyBzcGVjaWZpZWQgMSAnY2xlYW51cCcgZnVu
Y3Rpb24sIGFuZCAxIGZhaWxlZC4iLAotICAgICJzdGFjayI6IG51bGwKLSAgfSwKLSAgInN1bW1h
cml6ZWRfdGVzdHMiOiBbCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0g
ICAgICAibmFtZSI6ICJFeGNlcHRpb24gaW4gY2xlYW51cCBmdW5jdGlvbiBjYXVzZXMgaGFybmVz
cyBmYWlsdXJlLiIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBu
dWxsLAotICAgICAgInN0YWNrIjogbnVsbAotICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19z
dHJpbmciOiAiTk9UUlVOIiwKLSAgICAgICJuYW1lIjogIlRoaXMgdGVzdCBzaG91bGQgbm90IGJl
IHJ1bi4iLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogbnVsbCwK
LSAgICAgICJzdGFjayI6IG51bGwKLSAgICB9Ci0gIF0sCi0gICJ0eXBlIjogImNvbXBsZXRlIgot
fQotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2FkZF9j
bGVhbnVwX2Vycl9tdWx0aS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9hZGRfY2xlYW51cF9lcnJfbXVsdGkuaHRt
bApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjYwNjY4YzAyOTA4YmQ4NjE3ZTc4YWU5
NDIwNjA1ODI3YjBkYmI3Ni4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy90ZXN0L3Rlc3RzL2FkZF9jbGVhbnVwX2Vycl9tdWx0aS5odG1sCisrKyAvZGV2L251bGwK
QEAgLTEsNTUgKzAsMCBAQAotPCFET0NUWVBFIEhUTUw+Ci08aHRtbD4KLTxoZWFkPgotPHRpdGxl
PlRlc3QjYWRkX2NsZWFudXA6IG11bHRpcGxlIGZ1bmN0aW9ucyB3aXRoIG9uZSBpbiBlcnJvcjwv
dGl0bGU+Ci08c2NyaXB0IHNyYz0iLi4vLi4vdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii4uLy4uL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTwvaGVhZD4K
LTxib2R5PgotPGRpdiBpZD0ibG9nIj48L2Rpdj4KLQotPHNjcmlwdD4KLSJ1c2Ugc3RyaWN0IjsK
LQotdGVzdChmdW5jdGlvbih0KSB7Ci0gICAgdC5hZGRfY2xlYW51cChmdW5jdGlvbigpIHsKLSAg
ICAgIHRocm93IG5ldyBFcnJvcigiZXhjZXB0aW9uIGluIGNsZWFudXAgZnVuY3Rpb24iKTsKLSAg
ICB9KTsKLQotICAgIC8vIFRoZSBmb2xsb3dpbmcgY2xlYW51cCBmdW5jdGlvbiBkZWZpbmVzIGEg
dGVzdCBzbyB0aGF0IHRoZSByZXBvcnRlZAotICAgIC8vIGRhdGEgZGVtb25zdHJhdGVzIHRoZSBp
bnRlbmRlZCBydW4tdGltZSBiZWhhdmlvciwgaS5lLiB0aGF0Ci0gICAgLy8gYHRlc3RoYXJuZXNz
LmpzYCBpbnZva2VzIGFsbCBjbGVhbnVwIGZ1bmN0aW9ucyBldmVuIHdoZW4gb25lIG9yIG1vcmUK
LSAgICAvLyB0aHJvdyBlcnJvcnMuCi0gICAgdC5hZGRfY2xlYW51cChmdW5jdGlvbigpIHsKLSAg
ICAgIHRlc3QoZnVuY3Rpb24oKSB7fSwgIlZlcmlmaWNhdGlvbiB0ZXN0Iik7Ci0gICAgfSk7Ci0g
IH0sICJUZXN0IHdpdGggbXVsdGlwbGUgY2xlYW51cCBmdW5jdGlvbnMiKTsKLTwvc2NyaXB0Pgot
PHNjcmlwdCB0eXBlPSJ0ZXh0L2pzb24iIGlkPSJleHBlY3RlZCI+Ci17Ci0gICJzdW1tYXJpemVk
X3N0YXR1cyI6IHsKLSAgICAic3RhdHVzX3N0cmluZyI6ICJFUlJPUiIsCi0gICAgIm1lc3NhZ2Ui
OiAiVGVzdCBuYW1lZCAnVGVzdCB3aXRoIG11bHRpcGxlIGNsZWFudXAgZnVuY3Rpb25zJyBzcGVj
aWZpZWQgMiAnY2xlYW51cCcgZnVuY3Rpb25zLCBhbmQgMSBmYWlsZWQuIiwKLSAgICAic3RhY2si
OiBudWxsCi0gIH0sCi0gICJzdW1tYXJpemVkX3Rlc3RzIjogWwotICAgIHsKLSAgICAgICJzdGF0
dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUiOiAiVGVzdCB3aXRoIG11bHRpcGxlIGNs
ZWFudXAgZnVuY3Rpb25zIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2Fn
ZSI6IG51bGwsCi0gICAgICAic3RhY2siOiBudWxsCi0gICAgfSwKLSAgICB7Ci0gICAgICAic3Rh
dHVzX3N0cmluZyI6ICJOT1RSVU4iLAotICAgICAgIm5hbWUiOiAiVmVyaWZpY2F0aW9uIHRlc3Qi
LAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAg
ICJzdGFjayI6IG51bGwKLSAgICB9Ci0gIF0sCi0gICJ0eXBlIjogImNvbXBsZXRlIgotfQotPC9z
Y3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2FwaS10ZXN0cy0x
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy90ZXN0L3Rlc3RzL2FwaS10ZXN0cy0xLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDUzZDkxYzQ3OWEyYzdhYTJkZGI3NmRkZWQ0Y2VmMjU5MGRjM2ZlMTUuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9hcGktdGVzdHMt
MS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNDYyICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgot
PGh0bWw+Ci08aGVhZD4KLTx0aXRsZT5TYW1wbGUgSFRNTDUgQVBJIFRlc3RzPC90aXRsZT4KLTxt
ZXRhIG5hbWU9InRpbWVvdXQiIGNvbnRlbnQ9IjYwMDAiPgotPC9oZWFkPgotPGJvZHkgb25sb2Fk
PSJsb2FkX3Rlc3RfYXR0ci5kb25lKCkiPgotPGgxPlNhbXBsZSBIVE1MNSBBUEkgVGVzdHM8L2gx
PgotPGRpdiBpZD0ibG9nIj48L2Rpdj4KLTxzY3JpcHQgc3JjPSIuLi8uLi90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwv
c2NyaXB0PgotPHNjcmlwdD4KLSAgICBzZXR1cF9ydW4gPSBmYWxzZTsKLSAgICBzZXR1cChmdW5j
dGlvbigpIHsKLSAgICAgICAgICAgIHNldHVwX3J1biA9IHRydWU7Ci0gICAgICAgICAgfSk7Ci0g
ICAgdGVzdChmdW5jdGlvbigpIHthc3NlcnRfdHJ1ZShzZXR1cF9ydW4pfSwgIlNldHVwIGZ1bmN0
aW9uIHJhbiIpOwotCi0gICAgLy8gVHdvIGV4YW1wbGVzIGZvciB0ZXN0aW5nIGV2ZW50cyBmcm9t
IGhhbmRsZXIgYW5kIGF0dHJpYnV0ZXMKLSAgICB2YXIgbG9hZF90ZXN0X2V2ZW50ID0gYXN5bmNf
dGVzdCgid2luZG93IG9ubG9hZCBldmVudCBmaXJlcyB3aGVuIHNldCBmcm9tIHRoZSBoYW5kbGVy
Iik7Ci0KLSAgICBmdW5jdGlvbiB3aW5kb3dMb2FkKCkKLSAgICB7Ci0gICAgICAgIGxvYWRfdGVz
dF9ldmVudC5kb25lKCk7Ci0gICAgfQotICAgIG9uX2V2ZW50KHdpbmRvdywgImxvYWQiLCB3aW5k
b3dMb2FkKTsKLQotICAgIC8vIHNlZSB0aGUgYm9keSBvbmxvYWQgYmVsb3cKLSAgICB2YXIgbG9h
ZF90ZXN0X2F0dHIgPSBhc3luY190ZXN0KCJib2R5IGVsZW1lbnQgZmlyZXMgdGhlIG9ubG9hZCBl
dmVudCBzZXQgZnJvbSB0aGUgYXR0cmlidXRlIik7Ci08L3NjcmlwdD4KLTxzY3JpcHQ+Ci0gICAg
ZnVuY3Rpb24gYm9keUVsZW1lbnQoKQotICAgIHsKLSAgICAgICAgYXNzZXJ0X2VxdWFscyhkb2N1
bWVudC5ib2R5LCBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiYm9keSIpWzBdKTsKLSAg
ICB9Ci0gICAgdGVzdChib2R5RWxlbWVudCwgImRvY3VtZW50LmJvZHkgc2hvdWxkIGJlIHRoZSBm
aXJzdCBib2R5IGVsZW1lbnQgaW4gdGhlIGRvY3VtZW50Iik7Ci0KLSAgICB0ZXN0KGZ1bmN0aW9u
KCkgewotICAgICAgICBhc3NlcnRfZXF1YWxzKDEsMSk7Ci0gICAgICAgIGFzc2VydF9lcXVhbHMo
TmFOLCBOYU4sICJOYU4gY2FzZSIpOwotICAgICAgICBhc3NlcnRfZXF1YWxzKDAsIDAsICJaZXJv
IGNhc2UiKTsKLSAgICB9LCAiYXNzZXJ0X2VxdWFscyB0ZXN0cyIpCi0KLSAgICB0ZXN0KGZ1bmN0
aW9uKCkgewotICAgICAgICBhc3NlcnRfZXF1YWxzKC0wLCAwLCAiWmVybyBjYXNlIik7Ci0gICAg
fSwgImFzc2VydF9lcXVhbHMgdGVzdHMgZXhwZWN0ZWQgdG8gZmFpbCIpCi0KLSAgICB0ZXN0KGZ1
bmN0aW9uKCkgewotICAgICAgICBhc3NlcnRfbm90X2VxdWFscyh7fSwge30sICJvYmplY3QgY2Fz
ZSIpOwotICAgICAgICBhc3NlcnRfbm90X2VxdWFscygtMCwgMCwgIlplcm8gY2FzZSIpOwotICAg
IH0sICJhc3NlcnRfbm90X2VxdWFscyB0ZXN0cyIpCi0KLSAgICBmdW5jdGlvbiB0ZXN0QXNzZXJ0
UGFzcygpCi0gICAgewotICAgICAgICBhc3NlcnRfdHJ1ZSh0cnVlKTsKLSAgICB9Ci0gICAgdGVz
dCh0ZXN0QXNzZXJ0UGFzcywgImFzc2VydF90cnVlIGV4cGVjdGVkIHRvIHBhc3MiKTsKLQotICAg
IGZ1bmN0aW9uIHRlc3RBc3NlcnRGYWxzZSgpCi0gICAgewotICAgICAgICBhc3NlcnRfdHJ1ZShm
YWxzZSwgImZhbHNlIHNob3VsZCBub3QgYmUgdHJ1ZSIpOwotICAgIH0KLSAgICB0ZXN0KHRlc3RB
c3NlcnRGYWxzZSwgImFzc2VydF90cnVlIGV4cGVjdGVkIHRvIGZhaWwiKTsKLQotICAgIGZ1bmN0
aW9uIGJhc2ljQXNzZXJ0QXJyYXlFcXVhbHMoKQotICAgIHsKLSAgICAgICAgYXNzZXJ0X2FycmF5
X2VxdWFscyhbMSwgTmFOXSwgWzEsIE5hTl0sICJbMSwgTmFOXSBpcyBlcXVhbCB0byBbMSwgTmFO
XSIpOwotICAgIH0KLSAgICB0ZXN0KGJhc2ljQXNzZXJ0QXJyYXlFcXVhbHMsICJiYXNpYyBhc3Nl
cnRfYXJyYXlfZXF1YWxzIHRlc3QiKTsKLQotICAgIGZ1bmN0aW9uIGFzc2VydEFycmF5RXF1YWxz
VW5kZWZpbmVkKCkKLSAgICB7Ci0gICAgICAgIGFzc2VydF9hcnJheV9lcXVhbHModW5kZWZpbmVk
LCBbMV0sICJ1bmRlZmluZWQgZXF1YWxzIFsxXT8iKTsKLSAgICB9Ci0gICAgdGVzdChhc3NlcnRB
cnJheUVxdWFsc1VuZGVmaW5lZCwgImFzc2VydF9hcnJheV9lcXVhbHMgd2l0aCBmaXJzdCBwYXJh
bSB1bmRlZmluZWQiKTsKLQotICAgIGZ1bmN0aW9uIGFzc2VydEFycmF5RXF1YWxzVHJ1ZSgpCi0g
ICAgewotICAgICAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKHRydWUsIFsxXSwgInRydWUgZXF1YWxz
IFsxXT8iKTsKLSAgICB9Ci0gICAgdGVzdChhc3NlcnRBcnJheUVxdWFsc1RydWUsICJhc3NlcnRf
YXJyYXlfZXF1YWxzIHdpdGggZmlyc3QgcGFyYW0gdHJ1ZSIpOwotCi0gICAgZnVuY3Rpb24gYXNz
ZXJ0QXJyYXlFcXVhbHNGYWxzZSgpCi0gICAgewotICAgICAgICBhc3NlcnRfYXJyYXlfZXF1YWxz
KGZhbHNlLCBbMV0sICJmYWxzZSBlcXVhbHMgWzFdPyIpOwotICAgIH0KLSAgICB0ZXN0KGFzc2Vy
dEFycmF5RXF1YWxzRmFsc2UsICJhc3NlcnRfYXJyYXlfZXF1YWxzIHdpdGggZmlyc3QgcGFyYW0g
ZmFsc2UiKTsKLQotICAgIGZ1bmN0aW9uIGFzc2VydEFycmF5RXF1YWxzTnVsbCgpCi0gICAgewot
ICAgICAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKG51bGwsIFsxXSwgIm51bGwgZXF1YWxzIFsxXT8i
KTsKLSAgICB9Ci0gICAgdGVzdChhc3NlcnRBcnJheUVxdWFsc051bGwsICJhc3NlcnRfYXJyYXlf
ZXF1YWxzIHdpdGggZmlyc3QgcGFyYW0gbnVsbCIpOwotCi0gICAgZnVuY3Rpb24gYXNzZXJ0QXJy
YXlFcXVhbHNOdW1lcmljKCkKLSAgICB7Ci0gICAgICAgIGFzc2VydF9hcnJheV9lcXVhbHMoMSwg
WzFdLCAiMSBlcXVhbHMgWzFdPyIpOwotICAgIH0KLSAgICB0ZXN0KGFzc2VydEFycmF5RXF1YWxz
TnVtZXJpYywgImFzc2VydF9hcnJheV9lcXVhbHMgd2l0aCBmaXJzdCBwYXJhbSAxIik7Ci0KLSAg
ICBmdW5jdGlvbiBiYXNpY0Fzc2VydE9iamVjdEVxdWFscygpCi0gICAgewotICAgICAgICBhc3Nl
cnRfb2JqZWN0X2VxdWFscyhbMSwgMiwgWzEsIDJdXSwgeyAwOiAxLCAxOiAyLCAyOiB7IDA6IDEs
IDE6IDJ9IH0sICJhcnJheSBpcyBlcXVhbCB0byBvYmplY3QiKQotICAgIH0KLSAgICB0ZXN0KGJh
c2ljQXNzZXJ0T2JqZWN0RXF1YWxzLCAiYmFzaWMgYXNzZXJ0X29iamVjdF9lcXVhbHMgdGVzdCIp
OwotCi0gICAgZnVuY3Rpb24gYmFzaWNBc3NlcnRBcnJheUFwcHJveEVxdWFscygpCi0gICAgewot
ICAgICAgICBhc3NlcnRfYXJyYXlfYXBwcm94X2VxdWFscyhbMTAsIDExXSwgWzExLCAxMF0sIDEs
ICJbMTAsIDExXSBpcyBhcHByb3hpbWF0ZWx5ICgrLy0gMSkgWzExLCAxMF0iKQotICAgIH0KLSAg
ICB0ZXN0KGJhc2ljQXNzZXJ0QXJyYXlBcHByb3hFcXVhbHMsICJiYXNpYyBhc3NlcnRfYXJyYXlf
YXBwcm94X2VxdWFscyB0ZXN0Iik7Ci0KLSAgICBmdW5jdGlvbiBiYXNpY0Fzc2VydEFwcHJveEVx
dWFscygpCi0gICAgewotICAgICAgICBhc3NlcnRfYXBwcm94X2VxdWFscygxMCwgMTEsIDEsICIx
MCBpcyBhcHByb3hpbWF0ZWx5ICgrLy0gMSkgMTEiKQotICAgIH0KLSAgICB0ZXN0KGJhc2ljQXNz
ZXJ0QXBwcm94RXF1YWxzLCAiYmFzaWMgYXNzZXJ0X2FwcHJveF9lcXVhbHMgdGVzdCIpOwotCi0g
ICAgZnVuY3Rpb24gYmFzaWNBc3NlcnRMZXNzVGhhbigpCi0gICAgewotICAgICAgICBhc3NlcnRf
bGVzc190aGFuKDEwLCAxMSwgIjEwIGlzIGxlc3MgdGhhbiAxMSIpCi0gICAgfQotICAgIHRlc3Qo
YmFzaWNBc3NlcnRBcHByb3hFcXVhbHMsICJiYXNpYyBhc3NlcnRfbGVzc190aGFuIHRlc3QiKTsK
LQotICAgIGZ1bmN0aW9uIGJhc2ljQXNzZXJ0R3JlYXRlclRoYW4oKQotICAgIHsKLSAgICAgICAg
YXNzZXJ0X2dyZWF0ZXJfdGhhbigxMCwgMTEsICIxMCBpcyBub3QgZ3JlYXRlciB0aGFuIDExIik7
Ci0gICAgfQotICAgIHRlc3QoYmFzaWNBc3NlcnRHcmVhdGVyVGhhbiwgImFzc2VydF9ncmVhdGVy
X3RoYW4gZXhwZWN0ZWQgdG8gZmFpbCIpOwotCi0gICAgZnVuY3Rpb24gYmFzaWNBc3NlcnRHcmVh
dGVyVGhhbkVxdWFsKCkKLSAgICB7Ci0gICAgICAgIGFzc2VydF9ncmVhdGVyX3RoYW5fZXF1YWwo
MTAsIDEwLCAiMTAgaXMgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIDEwIikKLSAgICB9Ci0gICAg
dGVzdChiYXNpY0Fzc2VydEdyZWF0ZXJUaGFuRXF1YWwsICJiYXNpYyBhc3NlcnRfZ3JlYXRlcl90
aGFuX2VxdWFsIHRlc3QiKTsKLQotICAgIGZ1bmN0aW9uIGJhc2ljQXNzZXJ0TGVzc1RoYW5FcXVh
bCgpCi0gICAgewotICAgICAgICBhc3NlcnRfZ3JlYXRlcl90aGFuX2VxdWFsKCcxMCcsIDEwLCAi
JzEwJyBpcyBub3QgYSBudW1iZXIiKQotICAgIH0KLSAgICB0ZXN0KGJhc2ljQXNzZXJ0TGVzc1Ro
YW5FcXVhbCwgImFzc2VydF9sZXNzX3RoYW5fZXF1YWwgZXhwZWN0ZWQgdG8gZmFpbCIpOwotCi0g
ICAgZnVuY3Rpb24gdGVzdEFzc2VydEluaGVyaXRzKCkgewotICAgICAgICB2YXIgQSA9IGZ1bmN0
aW9uKCl7dGhpcy5hID0gImEifQotICAgICAgICBBLnByb3RvdHlwZSA9IHtiOiJiIn0KLSAgICAg
ICAgdmFyIGEgPSBuZXcgQSgpOwotICAgICAgICBhc3NlcnRfZXhpc3RzKGEsICJhIik7Ci0gICAg
ICAgIGFzc2VydF9ub3RfZXhpc3RzKGEsICJiIik7Ci0gICAgICAgIGFzc2VydF9pbmhlcml0cyhh
LCAiYiIpOwotICAgIH0KLSAgICB0ZXN0KHRlc3RBc3NlcnRJbmhlcml0cywgInRlc3QgZm9yIGFz
c2VydFtfbm90XV9leGlzdHMgYW5kIGluc2VydF9pbmhlcml0cyIpCi0KLSAgICB0ZXN0KGZ1bmN0
aW9uKCkKLSAgICB7Ci0gICAgICAgIHZhciBhID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYSIp
Ci0gICAgICAgIHZhciBiID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYiIpCi0gICAgICAgIGFz
c2VydF90aHJvd3MoIk5PVF9GT1VORF9FUlIiLCBmdW5jdGlvbiAoKSB7YS5yZW1vdmVDaGlsZChi
KX0pOwotICAgIH0sICJUZXN0IHRocm93IERPTSBleGNlcHRpb24iKQotCi0gICAgdGVzdChmdW5j
dGlvbigpCi0gICAgewotICAgICAgICB2YXIgYSA9IGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCJh
IikKLSAgICAgICAgdmFyIGIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJiIikKLSAgICAgICAg
YXNzZXJ0X3Rocm93cygiTk9UX0ZPVU5EX0VSUiIsIGZ1bmN0aW9uICgpIHthLmFwcGVuZENoaWxk
KGIpfSk7Ci0gICAgfSwgIlRlc3QgdGhyb3cgRE9NIGV4Y2VwdGlvbiBleHBlY3RlZCB0byBmYWls
IikKLQotICAgIHRlc3QoZnVuY3Rpb24oKQotICAgIHsKLSAgICAgICAgdmFyIGUgPSB7Y29kZTow
LCBuYW1lOiJURVNUX0VSUiIsIFRFU1RfRVJSOjB9Ci0gICAgICAgIGFzc2VydF90aHJvd3MoIlRF
U1RfRVJSIiwgZnVuY3Rpb24oKSB7dGhyb3cgZX0pOwotICAgIH0sICJUZXN0IGFzc2VydF90aHJv
d3Mgd2l0aCBub24tRE9NLWV4Y2VwdGlvbiBleHBlY3RlZCB0byBGYWlsIik7Ci0KLSAgICB2YXIg
dCA9IGFzeW5jX3Rlc3QoIlRlc3Qgc3RlcF9mdW5jIikKLSAgICBzZXRUaW1lb3V0KAotICAgICAg
dC5zdGVwX2Z1bmMoCi0gICAgICAgIGZ1bmN0aW9uICgpIHsKLSAgICAgICAgICBhc3NlcnRfdHJ1
ZSh0cnVlKTsgdC5kb25lKCk7Ci0gICAgICAgIH0pLCAwKTsKLQotICAgIGFzeW5jX3Rlc3QoZnVu
Y3Rpb24odCkgewotICAgICAgICBzZXRUaW1lb3V0KHQuc3RlcF9mdW5jKGZ1bmN0aW9uICgpe2Fz
c2VydF90cnVlKHRydWUpOyB0LmRvbmUoKTt9KSwgMCk7Ci0gICAgfSwgIlRlc3QgYXN5bmMgdGVz
dCB3aXRoIGNhbGxiYWNrIik7Ci0KLSAgICBhc3luY190ZXN0KGZ1bmN0aW9uKCkgewotICAgICAg
ICBzZXRUaW1lb3V0KHRoaXMuc3RlcF9mdW5jKGZ1bmN0aW9uICgpe2Fzc2VydF90cnVlKHRydWUp
OyB0aGlzLmRvbmUoKTt9KSwgMCk7Ci0gICAgfSwgIlRlc3QgYXN5bmMgdGVzdCB3aXRoIGNhbGxi
YWNrIGFuZCBgdGhpc2Agb2JqLiIpOwotCi0gICAgYXN5bmNfdGVzdCgidGVzdCBzaG91bGQgdGlt
ZW91dCAoZmFpbCkgd2l0aCB0aGUgZGVmYXVsdCBvZiAyIHNlY29uZHMiKS5zdGVwKGZ1bmN0aW9u
KCl7fSk7Ci0KLSAgICBhc3luY190ZXN0KCJ0ZXN0IHNob3VsZCB0aW1lb3V0IChmYWlsKSB3aXRo
IGEgY3VzdG9tIHNldCB0aW1lb3V0IHZhbHVlIG9mIDEgc2Vjb25kIiwKLSAgICAgICAgICAgICAg
IHt0aW1lb3V0OjEwMDB9KS5zdGVwKGZ1bmN0aW9uKCl7fSk7Ci0KLSAgICBhc3luY190ZXN0KCJh
c3luYyB0ZXN0IHRoYXQgaXMgbmV2ZXIgc3RhcnRlZCwgc2hvdWxkIGhhdmUgc3RhdHVzIE5vdCBS
dW4iLCB7dGltZW91dDoxMDAwfSk7Ci0KLQotICAgIHRlc3QoZnVuY3Rpb24odCkgewotICAgICAg
ICAgICAgIHdpbmRvdy5nbG9iYWwgPSAxOwotICAgICAgICAgICAgIHQuYWRkX2NsZWFudXAoZnVu
Y3Rpb24oKSB7ZGVsZXRlIHdpbmRvdy5nbG9iYWx9KTsKLSAgICAgICAgICAgICBhc3NlcnRfZXF1
YWxzKHdpbmRvdy5nbG9iYWwsIDEpOwotICAgICAgICAgfSwKLSAgICAgICAgICJUZXN0IHRoYXQg
ZGVmaW5lcyBhIGdsb2JhbCBhbmQgY2xlYW5zIGl0IHVwIik7Ci0KLSAgICB0ZXN0KGZ1bmN0aW9u
KCkge2Fzc2VydF9lcXVhbHMod2luZG93Lmdsb2JhbCwgdW5kZWZpbmVkKX0sCi0gICAgICAgICAi
VGVzdCB0aGF0IGNsZWFudXAgaGFuZGxlcnMgZnJvbSBwcmV2aW91cyB0ZXN0IHJhbiIpOwotCi08
L3NjcmlwdD4KLTxzY3JpcHQgdHlwZT0idGV4dC9qc29uIiBpZD0iZXhwZWN0ZWQiPgotewotICAi
c3VtbWFyaXplZF9zdGF0dXMiOiB7Ci0gICAgInN0YXR1c19zdHJpbmciOiAiVElNRU9VVCIsCi0g
ICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICJzdGFjayI6IG51bGwKLSAgfSwKLSAgInN1bW1hcml6
ZWRfdGVzdHMiOiBbCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsIAotICAg
ICAgIm5hbWUiOiAiU2V0dXAgZnVuY3Rpb24gcmFuIiwgCi0gICAgICAic3RhY2siOiBudWxsLCAK
LSAgICAgICJtZXNzYWdlIjogbnVsbCwgCi0gICAgICAicHJvcGVydGllcyI6IHt9Ci0gICAgfSwg
Ci0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiRkFJTCIsIAotICAgICAgIm5hbWUiOiAi
VGVzdCBhc3NlcnRfdGhyb3dzIHdpdGggbm9uLURPTS1leGNlcHRpb24gZXhwZWN0ZWQgdG8gRmFp
bCIsIAotICAgICAgInN0YWNrIjogIihpbXBsZW1lbnRhdGlvbi1kZWZpbmVkKSIsIAotICAgICAg
Im1lc3NhZ2UiOiAiVGVzdCBidWc6IHVucmVjb2duaXplZCBET01FeGNlcHRpb24gY29kZSBcIlRF
U1RfRVJSXCIgcGFzc2VkIHRvIGFzc2VydF90aHJvd3MoKSIsIAotICAgICAgInByb3BlcnRpZXMi
OiB7fQotICAgIH0sIAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLCAKLSAg
ICAgICJuYW1lIjogIlRlc3QgYXN5bmMgdGVzdCB3aXRoIGNhbGxiYWNrIiwgCi0gICAgICAic3Rh
Y2siOiBudWxsLCAKLSAgICAgICJtZXNzYWdlIjogbnVsbCwgCi0gICAgICAicHJvcGVydGllcyI6
IHt9Ci0gICAgfSwgCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsIAotICAg
ICAgIm5hbWUiOiAiVGVzdCBhc3luYyB0ZXN0IHdpdGggY2FsbGJhY2sgYW5kIGB0aGlzYCBvYmou
IiwgCi0gICAgICAic3RhY2siOiBudWxsLCAKLSAgICAgICJtZXNzYWdlIjogbnVsbCwgCi0gICAg
ICAicHJvcGVydGllcyI6IHt9Ci0gICAgfSwgCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmci
OiAiUEFTUyIsIAotICAgICAgIm5hbWUiOiAiVGVzdCBzdGVwX2Z1bmMiLCAKLSAgICAgICJzdGFj
ayI6IG51bGwsIAotICAgICAgIm1lc3NhZ2UiOiBudWxsLCAKLSAgICAgICJwcm9wZXJ0aWVzIjog
e30KLSAgICB9LCAKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwgCi0gICAg
ICAibmFtZSI6ICJUZXN0IHRoYXQgY2xlYW51cCBoYW5kbGVycyBmcm9tIHByZXZpb3VzIHRlc3Qg
cmFuIiwgCi0gICAgICAic3RhY2siOiBudWxsLCAKLSAgICAgICJtZXNzYWdlIjogbnVsbCwgCi0g
ICAgICAicHJvcGVydGllcyI6IHt9Ci0gICAgfSwgCi0gICAgewotICAgICAgInN0YXR1c19zdHJp
bmciOiAiUEFTUyIsIAotICAgICAgIm5hbWUiOiAiVGVzdCB0aGF0IGRlZmluZXMgYSBnbG9iYWwg
YW5kIGNsZWFucyBpdCB1cCIsIAotICAgICAgInN0YWNrIjogbnVsbCwgCi0gICAgICAibWVzc2Fn
ZSI6IG51bGwsIAotICAgICAgInByb3BlcnRpZXMiOiB7fQotICAgIH0sIAotICAgIHsKLSAgICAg
ICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLCAKLSAgICAgICJuYW1lIjogIlRlc3QgdGhyb3cgRE9N
IGV4Y2VwdGlvbiIsIAotICAgICAgInN0YWNrIjogbnVsbCwgCi0gICAgICAibWVzc2FnZSI6IG51
bGwsIAotICAgICAgInByb3BlcnRpZXMiOiB7fQotICAgIH0sIAotICAgIHsKLSAgICAgICJzdGF0
dXNfc3RyaW5nIjogIkZBSUwiLCAKLSAgICAgICJuYW1lIjogIlRlc3QgdGhyb3cgRE9NIGV4Y2Vw
dGlvbiBleHBlY3RlZCB0byBmYWlsIiwgCi0gICAgICAic3RhY2siOiAiKGltcGxlbWVudGF0aW9u
LWRlZmluZWQpIiwgCi0gICAgICAibWVzc2FnZSI6ICJhc3NlcnRfdGhyb3dzOiBmdW5jdGlvbiBc
ImZ1bmN0aW9uICgpIHthLmFwcGVuZENoaWxkKGIpfVwiIHRocmV3IG9iamVjdCBcIkhpZXJhcmNo
eVJlcXVlc3RFcnJvcjogTm9kZSBjYW5ub3QgYmUgaW5zZXJ0ZWQgYXQgdGhlIHNwZWNpZmllZCBw
b2ludCBpbiB0aGUgaGllcmFyY2h5XCIgdGhhdCBpcyBub3QgYSBET01FeGNlcHRpb24gTk9UX0ZP
VU5EX0VSUjogcHJvcGVydHkgXCJjb2RlXCIgaXMgZXF1YWwgdG8gMywgZXhwZWN0ZWQgOCIsIAot
ICAgICAgInByb3BlcnRpZXMiOiB7fQotICAgIH0sIAotICAgIHsKLSAgICAgICJzdGF0dXNfc3Ry
aW5nIjogIkZBSUwiLCAKLSAgICAgICJuYW1lIjogImFzc2VydF9hcnJheV9lcXVhbHMgd2l0aCBm
aXJzdCBwYXJhbSAxIiwgCi0gICAgICAic3RhY2siOiAiKGltcGxlbWVudGF0aW9uLWRlZmluZWQp
IiwgCi0gICAgICAibWVzc2FnZSI6ICJhc3NlcnRfYXJyYXlfZXF1YWxzOiAxIGVxdWFscyBbMV0/
IHZhbHVlIGlzIDEsIGV4cGVjdGVkIGFycmF5IiwgCi0gICAgICAicHJvcGVydGllcyI6IHt9Ci0g
ICAgfSwgCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiRkFJTCIsIAotICAgICAgIm5h
bWUiOiAiYXNzZXJ0X2FycmF5X2VxdWFscyB3aXRoIGZpcnN0IHBhcmFtIGZhbHNlIiwgCi0gICAg
ICAic3RhY2siOiAiKGltcGxlbWVudGF0aW9uLWRlZmluZWQpIiwgCi0gICAgICAibWVzc2FnZSI6
ICJhc3NlcnRfYXJyYXlfZXF1YWxzOiBmYWxzZSBlcXVhbHMgWzFdPyB2YWx1ZSBpcyBmYWxzZSwg
ZXhwZWN0ZWQgYXJyYXkiLCAKLSAgICAgICJwcm9wZXJ0aWVzIjoge30KLSAgICB9LCAKLSAgICB7
Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJGQUlMIiwgCi0gICAgICAibmFtZSI6ICJhc3NlcnRf
YXJyYXlfZXF1YWxzIHdpdGggZmlyc3QgcGFyYW0gbnVsbCIsIAotICAgICAgInN0YWNrIjogIihp
bXBsZW1lbnRhdGlvbi1kZWZpbmVkKSIsIAotICAgICAgIm1lc3NhZ2UiOiAiYXNzZXJ0X2FycmF5
X2VxdWFsczogbnVsbCBlcXVhbHMgWzFdPyB2YWx1ZSBpcyBudWxsLCBleHBlY3RlZCBhcnJheSIs
IAotICAgICAgInByb3BlcnRpZXMiOiB7fQotICAgIH0sIAotICAgIHsKLSAgICAgICJzdGF0dXNf
c3RyaW5nIjogIkZBSUwiLCAKLSAgICAgICJuYW1lIjogImFzc2VydF9hcnJheV9lcXVhbHMgd2l0
aCBmaXJzdCBwYXJhbSB0cnVlIiwgCi0gICAgICAic3RhY2siOiAiKGltcGxlbWVudGF0aW9uLWRl
ZmluZWQpIiwgCi0gICAgICAibWVzc2FnZSI6ICJhc3NlcnRfYXJyYXlfZXF1YWxzOiB0cnVlIGVx
dWFscyBbMV0/IHZhbHVlIGlzIHRydWUsIGV4cGVjdGVkIGFycmF5IiwgCi0gICAgICAicHJvcGVy
dGllcyI6IHt9Ci0gICAgfSwgCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiRkFJTCIs
IAotICAgICAgIm5hbWUiOiAiYXNzZXJ0X2FycmF5X2VxdWFscyB3aXRoIGZpcnN0IHBhcmFtIHVu
ZGVmaW5lZCIsIAotICAgICAgInN0YWNrIjogIihpbXBsZW1lbnRhdGlvbi1kZWZpbmVkKSIsIAot
ICAgICAgIm1lc3NhZ2UiOiAiYXNzZXJ0X2FycmF5X2VxdWFsczogdW5kZWZpbmVkIGVxdWFscyBb
MV0/IHZhbHVlIGlzIHVuZGVmaW5lZCwgZXhwZWN0ZWQgYXJyYXkiLCAKLSAgICAgICJwcm9wZXJ0
aWVzIjoge30KLSAgICB9LCAKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwg
Ci0gICAgICAibmFtZSI6ICJhc3NlcnRfZXF1YWxzIHRlc3RzIiwgCi0gICAgICAic3RhY2siOiBu
dWxsLCAKLSAgICAgICJtZXNzYWdlIjogbnVsbCwgCi0gICAgICAicHJvcGVydGllcyI6IHt9Ci0g
ICAgfSwgCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiRkFJTCIsIAotICAgICAgIm5h
bWUiOiAiYXNzZXJ0X2VxdWFscyB0ZXN0cyBleHBlY3RlZCB0byBmYWlsIiwgCi0gICAgICAic3Rh
Y2siOiAiKGltcGxlbWVudGF0aW9uLWRlZmluZWQpIiwgCi0gICAgICAibWVzc2FnZSI6ICJhc3Nl
cnRfZXF1YWxzOiBaZXJvIGNhc2UgZXhwZWN0ZWQgMCBidXQgZ290IC0wIiwgCi0gICAgICAicHJv
cGVydGllcyI6IHt9Ci0gICAgfSwgCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiRkFJ
TCIsIAotICAgICAgIm5hbWUiOiAiYXNzZXJ0X2dyZWF0ZXJfdGhhbiBleHBlY3RlZCB0byBmYWls
IiwgCi0gICAgICAic3RhY2siOiAiKGltcGxlbWVudGF0aW9uLWRlZmluZWQpIiwgCi0gICAgICAi
bWVzc2FnZSI6ICJhc3NlcnRfZ3JlYXRlcl90aGFuOiAxMCBpcyBub3QgZ3JlYXRlciB0aGFuIDEx
IGV4cGVjdGVkIGEgbnVtYmVyIGdyZWF0ZXIgdGhhbiAxMSBidXQgZ290IDEwIiwgCi0gICAgICAi
cHJvcGVydGllcyI6IHt9Ci0gICAgfSwgCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAi
RkFJTCIsIAotICAgICAgIm5hbWUiOiAiYXNzZXJ0X2xlc3NfdGhhbl9lcXVhbCBleHBlY3RlZCB0
byBmYWlsIiwgCi0gICAgICAic3RhY2siOiAiKGltcGxlbWVudGF0aW9uLWRlZmluZWQpIiwgCi0g
ICAgICAibWVzc2FnZSI6ICJhc3NlcnRfZ3JlYXRlcl90aGFuX2VxdWFsOiAnMTAnIGlzIG5vdCBh
IG51bWJlciBleHBlY3RlZCBhIG51bWJlciBidXQgZ290IGEgXCJzdHJpbmdcIiIsIAotICAgICAg
InByb3BlcnRpZXMiOiB7fQotICAgIH0sIAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjog
IlBBU1MiLCAKLSAgICAgICJuYW1lIjogImFzc2VydF9ub3RfZXF1YWxzIHRlc3RzIiwgCi0gICAg
ICAic3RhY2siOiBudWxsLCAKLSAgICAgICJtZXNzYWdlIjogbnVsbCwgCi0gICAgICAicHJvcGVy
dGllcyI6IHt9Ci0gICAgfSwgCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiRkFJTCIs
IAotICAgICAgIm5hbWUiOiAiYXNzZXJ0X3RydWUgZXhwZWN0ZWQgdG8gZmFpbCIsIAotICAgICAg
InN0YWNrIjogIihpbXBsZW1lbnRhdGlvbi1kZWZpbmVkKSIsIAotICAgICAgIm1lc3NhZ2UiOiAi
YXNzZXJ0X3RydWU6IGZhbHNlIHNob3VsZCBub3QgYmUgdHJ1ZSBleHBlY3RlZCB0cnVlIGdvdCBm
YWxzZSIsIAotICAgICAgInByb3BlcnRpZXMiOiB7fQotICAgIH0sIAotICAgIHsKLSAgICAgICJz
dGF0dXNfc3RyaW5nIjogIlBBU1MiLCAKLSAgICAgICJuYW1lIjogImFzc2VydF90cnVlIGV4cGVj
dGVkIHRvIHBhc3MiLCAKLSAgICAgICJzdGFjayI6IG51bGwsIAotICAgICAgIm1lc3NhZ2UiOiBu
dWxsLCAKLSAgICAgICJwcm9wZXJ0aWVzIjoge30KLSAgICB9LCAKLSAgICB7Ci0gICAgICAic3Rh
dHVzX3N0cmluZyI6ICJOT1RSVU4iLCAKLSAgICAgICJuYW1lIjogImFzeW5jIHRlc3QgdGhhdCBp
cyBuZXZlciBzdGFydGVkLCBzaG91bGQgaGF2ZSBzdGF0dXMgTm90IFJ1biIsIAotICAgICAgInN0
YWNrIjogbnVsbCwgCi0gICAgICAibWVzc2FnZSI6IG51bGwsIAotICAgICAgInByb3BlcnRpZXMi
OiB7Ci0gICAgICAgICJ0aW1lb3V0IjogMTAwMAotICAgICAgfQotICAgIH0sIAotICAgIHsKLSAg
ICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUiOiAiYmFzaWMgYXNzZXJ0
X2FwcHJveF9lcXVhbHMgdGVzdCIsCi0gICAgICAic3RhY2siOiBudWxsLAotICAgICAgIm1lc3Nh
Z2UiOiBudWxsLAotICAgICAgInByb3BlcnRpZXMiOiB7fQotICAgIH0sCi0gICAgewotICAgICAg
InN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJiYXNpYyBhc3NlcnRfYXJy
YXlfYXBwcm94X2VxdWFscyB0ZXN0IiwKLSAgICAgICJzdGFjayI6IG51bGwsCi0gICAgICAibWVz
c2FnZSI6IG51bGwsCi0gICAgICAicHJvcGVydGllcyI6IHt9Ci0gICAgfSwKLSAgICB7Ci0gICAg
ICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwgCi0gICAgICAibmFtZSI6ICJiYXNpYyBhc3NlcnRf
YXJyYXlfZXF1YWxzIHRlc3QiLCAKLSAgICAgICJzdGFjayI6IG51bGwsIAotICAgICAgIm1lc3Nh
Z2UiOiBudWxsLCAKLSAgICAgICJwcm9wZXJ0aWVzIjoge30KLSAgICB9LCAKLSAgICB7Ci0gICAg
ICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwgCi0gICAgICAibmFtZSI6ICJiYXNpYyBhc3NlcnRf
Z3JlYXRlcl90aGFuX2VxdWFsIHRlc3QiLCAKLSAgICAgICJzdGFjayI6IG51bGwsIAotICAgICAg
Im1lc3NhZ2UiOiBudWxsLCAKLSAgICAgICJwcm9wZXJ0aWVzIjoge30KLSAgICB9LCAKLSAgICB7
Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwgCi0gICAgICAibmFtZSI6ICJiYXNpYyBh
c3NlcnRfbGVzc190aGFuIHRlc3QiLCAKLSAgICAgICJzdGFjayI6IG51bGwsIAotICAgICAgIm1l
c3NhZ2UiOiBudWxsLCAKLSAgICAgICJwcm9wZXJ0aWVzIjoge30KLSAgICB9LCAKLSAgICB7Ci0g
ICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwgCi0gICAgICAibmFtZSI6ICJiYXNpYyBhc3Nl
cnRfb2JqZWN0X2VxdWFscyB0ZXN0IiwgCi0gICAgICAic3RhY2siOiBudWxsLCAKLSAgICAgICJt
ZXNzYWdlIjogbnVsbCwgCi0gICAgICAicHJvcGVydGllcyI6IHt9Ci0gICAgfSwgCi0gICAgewot
ICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsIAotICAgICAgIm5hbWUiOiAiYm9keSBlbGVt
ZW50IGZpcmVzIHRoZSBvbmxvYWQgZXZlbnQgc2V0IGZyb20gdGhlIGF0dHJpYnV0ZSIsIAotICAg
ICAgInN0YWNrIjogbnVsbCwgCi0gICAgICAibWVzc2FnZSI6IG51bGwsIAotICAgICAgInByb3Bl
cnRpZXMiOiB7fQotICAgIH0sIAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1Mi
LCAKLSAgICAgICJuYW1lIjogImRvY3VtZW50LmJvZHkgc2hvdWxkIGJlIHRoZSBmaXJzdCBib2R5
IGVsZW1lbnQgaW4gdGhlIGRvY3VtZW50IiwgCi0gICAgICAic3RhY2siOiBudWxsLCAKLSAgICAg
ICJtZXNzYWdlIjogbnVsbCwgCi0gICAgICAicHJvcGVydGllcyI6IHt9Ci0gICAgfSwgCi0gICAg
ewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsIAotICAgICAgIm5hbWUiOiAidGVzdCBm
b3IgYXNzZXJ0W19ub3RdX2V4aXN0cyBhbmQgaW5zZXJ0X2luaGVyaXRzIiwgCi0gICAgICAic3Rh
Y2siOiBudWxsLCAKLSAgICAgICJtZXNzYWdlIjogbnVsbCwgCi0gICAgICAicHJvcGVydGllcyI6
IHt9Ci0gICAgfSwgCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiVElNRU9VVCIsIAot
ICAgICAgIm5hbWUiOiAidGVzdCBzaG91bGQgdGltZW91dCAoZmFpbCkgd2l0aCBhIGN1c3RvbSBz
ZXQgdGltZW91dCB2YWx1ZSBvZiAxIHNlY29uZCIsIAotICAgICAgInN0YWNrIjogbnVsbCwgCi0g
ICAgICAibWVzc2FnZSI6ICJUZXN0IHRpbWVkIG91dCIsIAotICAgICAgInByb3BlcnRpZXMiOiB7
Ci0gICAgICAgICJ0aW1lb3V0IjogMTAwMAotICAgICAgfQotICAgIH0sIAotICAgIHsKLSAgICAg
ICJzdGF0dXNfc3RyaW5nIjogIlRJTUVPVVQiLCAKLSAgICAgICJuYW1lIjogInRlc3Qgc2hvdWxk
IHRpbWVvdXQgKGZhaWwpIHdpdGggdGhlIGRlZmF1bHQgb2YgMiBzZWNvbmRzIiwgCi0gICAgICAi
c3RhY2siOiBudWxsLCAKLSAgICAgICJtZXNzYWdlIjogIlRlc3QgdGltZWQgb3V0IiwgCi0gICAg
ICAicHJvcGVydGllcyI6IHt9Ci0gICAgfSwgCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmci
OiAiUEFTUyIsIAotICAgICAgIm5hbWUiOiAid2luZG93IG9ubG9hZCBldmVudCBmaXJlcyB3aGVu
IHNldCBmcm9tIHRoZSBoYW5kbGVyIiwgCi0gICAgICAic3RhY2siOiBudWxsLCAKLSAgICAgICJt
ZXNzYWdlIjogbnVsbCwgCi0gICAgICAicHJvcGVydGllcyI6IHt9Ci0gICAgfQotICBdLAotICAi
dHlwZSI6ICJjb21wbGV0ZSIKLX0KLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvdGVzdC90ZXN0cy9hcGktdGVzdHMtMi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9hcGktdGVzdHMtMi5odG1s
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5OWZhNWJlOWM4NTllMTQyYjU5YzEyY2Fk
ODlkZGYyOTY5Y2Q5Mjg5Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3Rlc3QvdGVzdHMvYXBpLXRlc3RzLTIuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDQ3ICsw
LDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLTx0aXRsZT5TYW1wbGUgSFRN
TDUgQVBJIFRlc3RzPC90aXRsZT4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0ibG9hZF90ZXN0X2F0
dHIuZG9uZSgpIj4KLTxoMT5TYW1wbGUgSFRNTDUgQVBJIFRlc3RzPC9oMT4KLTxwPlRoZXJlIHNo
b3VsZCBiZSB0d28gcmVzdWx0czwvcD4KLTxkaXYgaWQ9ImxvZyI+PC9kaXY+Ci08c2NyaXB0IHNy
Yz0iLi4vLi4vdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci1zZXR1cCh7ZXhwbGljaXRf
ZG9uZTp0cnVlfSkKLXRlc3QoZnVuY3Rpb24oKSB7YXNzZXJ0X3RydWUodHJ1ZSl9LCAiVGVzdCBk
ZWZpbmVkIGJlZm9yZSBvbmxvYWQiKTsKLQotb25sb2FkID0gZnVuY3Rpb24oKSB7dGVzdChmdW5j
dGlvbiAoKXthc3NlcnRfdHJ1ZSh0cnVlKX0sICJUZXN0IGRlZmluZWQgYWZ0ZXIgb25sb2FkIik7
Ci1kb25lKCk7Ci19Ci08L3NjcmlwdD4KLTxzY3JpcHQgdHlwZT0idGV4dC9qc29uIiBpZD0iZXhw
ZWN0ZWQiPgotewotICAic3VtbWFyaXplZF9zdGF0dXMiOiB7Ci0gICAgInN0YXR1c19zdHJpbmci
OiAiT0siLAotICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAic3RhY2siOiBudWxsCi0gIH0sCi0g
ICJzdW1tYXJpemVkX3Rlc3RzIjogWwotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBB
U1MiLAotICAgICAgIm5hbWUiOiAiVGVzdCBkZWZpbmVkIGFmdGVyIG9ubG9hZCIsCi0gICAgICAi
cHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgInN0YWNrIjog
bnVsbAotICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAg
ICAibmFtZSI6ICJUZXN0IGRlZmluZWQgYmVmb3JlIG9ubG9hZCIsCi0gICAgICAicHJvcGVydGll
cyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgInN0YWNrIjogbnVsbAotICAg
IH0KLSAgXSwKLSAgInR5cGUiOiAiY29tcGxldGUiCi19Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvYXBpLXRlc3RzLTMuaHRtbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvYXBp
LXRlc3RzLTMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZmI1NzFjOGVlODU3
MDhmNzY3YWUyNDIxNjZjODUyYzQxZDM4OWZjNy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2FwaS10ZXN0cy0zLmh0bWwKKysrIC9kZXYvbnVs
bApAQCAtMSwzNiArMCwwIEBACi08IURPQ1RZUEUgSFRNTD4KLTxodG1sPgotPGhlYWQ+Ci08dGl0
bGU+U2FtcGxlIEhUTUw1IEFQSSBUZXN0czwvdGl0bGU+Ci08L2hlYWQ+Ci08c2NyaXB0IHNyYz0i
Li4vLi4vdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotCi08Ym9keSBvbmxvYWQ9ImxvYWRfdGVz
dF9hdHRyLmRvbmUoKSI+Ci08aDE+U2FtcGxlIEhUTUw1IEFQSSBUZXN0czwvaDE+Ci08ZGl2IGlk
PSJsb2ciPjwvZGl2PgotPHNjcmlwdD4KLXNldHVwKHtleHBsaWNpdF90aW1lb3V0OnRydWV9KTsK
LXZhciB0ID0gYXN5bmNfdGVzdCgiVGhpcyB0ZXN0IHNob3VsZCBnaXZlIGEgc3RhdHVzIG9mICdO
b3QgUnVuJyB3aXRob3V0IGEgZGVsYXkiKTsKLXRpbWVvdXQoKTsKLTwvc2NyaXB0PgotPHNjcmlw
dCB0eXBlPSJ0ZXh0L2pzb24iIGlkPSJleHBlY3RlZCI+Ci17Ci0gICJzdW1tYXJpemVkX3N0YXR1
cyI6IHsKLSAgICAic3RhdHVzX3N0cmluZyI6ICJUSU1FT1VUIiwKLSAgICAibWVzc2FnZSI6IG51
bGwsCi0gICAgInN0YWNrIjogbnVsbAotICB9LAotICAic3VtbWFyaXplZF90ZXN0cyI6IFsKLSAg
ICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJOT1RSVU4iLAotICAgICAgIm5hbWUiOiAiVGhp
cyB0ZXN0IHNob3VsZCBnaXZlIGEgc3RhdHVzIG9mICdOb3QgUnVuJyB3aXRob3V0IGEgZGVsYXki
LAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAg
ICJzdGFjayI6IG51bGwKLSAgICB9Ci0gIF0sCi0gICJ0eXBlIjogImNvbXBsZXRlIgotfQotPC9z
Y3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2dlbmVyYXRlLWNh
bGxiYWNrLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy90ZXN0L3Rlc3RzL2dlbmVyYXRlLWNhbGxiYWNrLmh0bWwKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IGE3MmFkNjJhNTlmNTQyYTRjMTU5NTA4MzE1YTM1ZTY0ODFiMGY5
NzQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0
cy9nZW5lcmF0ZS1jYWxsYmFjay5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTY3ICswLDAgQEAK
LTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLTx0aXRsZT5TYW1wbGUgZm9yIHVzaW5n
IGdlbmVyYXRlX3Rlc3RzIHRvIGNyZWF0ZSBhIHNlcmllcyBvZiB0ZXN0cyB0aGF0IHNoYXJlIHRo
ZSBzYW1lIGNhbGxiYWNrLjwvdGl0bGU+Ci08c2NyaXB0IHNyYz0iLi4vLi4vdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48
L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPHNjcmlwdD4KLS8vIGdlbmVyYXRlX3Rlc3RzIHRh
a2VzIGFuIGFycmF5IG9mIGFycmF5cyB0aGF0IGRlZmluZSB0ZXN0cwotLy8gYnV0IGxldHMgcGFz
cyBpdCBhbiBlbXB0eSBhcnJheSBhbmQgdmVyaWZ5IGl0IGRvZXMgbm90aGluZy4KLWZ1bmN0aW9u
IG51bGxfY2FsbGJhY2soKSB7Ci0JdGhyb3cgIm51bGxfY2FsbGJhY2sgc2hvdWxkIG5vdCBiZSBj
YWxsZWQuIjsKLX0KLWdlbmVyYXRlX3Rlc3RzKG51bGxfY2FsbGJhY2ssIFtdKTsKLQotLy8gR2Vu
ZXJhdGUgMyB0ZXN0cyBzcGVjaWZ5aW5nIHRoZSBuYW1lIGFuZCBvbmUgcGFyYW1ldGVyCi1mdW5j
dGlvbiB2YWxpZGF0ZV9hcmd1bWVudHMoYXJnMSkgewotCWFzc2VydF9lcXVhbHMoYXJnMSwgMSwg
IkVuc3VyZSB0aGF0IHdlIGdldCBvdXIgZXhwZWN0ZWQgYXJndW1lbnQiKTsKLX0KLWdlbmVyYXRl
X3Rlc3RzKHZhbGlkYXRlX2FyZ3VtZW50cywgWwotCVsiZmlyc3QgdGVzdCIsIDFdLAotCVsic2Vj
b25kIHRlc3QiLCAxXSwKLQlbInRoaXJkIHRlc3QiLCAxXSwKLV0pOwotCi0vLyBHZW5lcmF0ZSBh
IHRlc3QgcGFzc2luZyBpbiBhIHByb3BlcnRpZXMgb2JqZWN0IHRoYXQgaXMgc2hhcmVkIGFjcm9z
cyB0ZXN0cy4KLWZ1bmN0aW9uIHZhbGlkYXRlX3Byb3BlcnRpZXMoKSB7Ci0JYXNzZXJ0X3RydWUo
dGhpcy5wcm9wZXJ0aWVzLnNlbnRpbmVsLCAiRW5zdXJlIHRoYXQgd2UgZ290IHRoZSByaWdodCBw
cm9wZXJ0aWVzIG9iamVjdC4iKTsKLX0KLWdlbmVyYXRlX3Rlc3RzKHZhbGlkYXRlX3Byb3BlcnRp
ZXMsIFtbInNlbnRpbmVsIGNoZWNrIDEiXSwgWyJzZW50aW5lbCBjaGVjayAyIl1dLCB7c2VudGlu
ZWw6IHRydWV9KTsKLQotLy8gR2VuZXJhdGUgYSB0ZXN0IHBhc3NpbmcgaW4gYSBwcm9wZXJ0aWVz
IG9iamVjdCB0aGF0IGlzIHNoYXJlZCBhY3Jvc3MgdGVzdHMuCi1mdW5jdGlvbiB2YWxpZGF0ZV9z
ZXBhcmF0ZV9wcm9wZXJ0aWVzKCkgewotCWlmICh0aGlzLm5hbWUgPT09ICJzZW50aW5lbCBjaGVj
ayAxIHVuaXF1ZSBwcm9wZXJ0aWVzIikgewotCQlhc3NlcnRfdHJ1ZSh0aGlzLnByb3BlcnRpZXMu
c2VudGluZWwsICJFbnN1cmUgdGhhdCB3ZSBnb3QgdGhlIHJpZ2h0IHByb3BlcnRpZXMgb2JqZWN0
LiBFeHBlY3Qgc2VudGluZWw6IHRydWUuIik7Ci0JfQotCWVsc2UgewotCQlhc3NlcnRfZmFsc2Uo
dGhpcy5wcm9wZXJ0aWVzLnNlbnRpbmVsLCAiRW5zdXJlIHRoYXQgd2UgZ290IHRoZSByaWdodCBw
cm9wZXJ0aWVzIG9iamVjdC4gRXhwZWN0IHNlbnRpbmVsOiBmYWxzZS4iKTsKLQl9Ci19Ci1nZW5l
cmF0ZV90ZXN0cyh2YWxpZGF0ZV9zZXBhcmF0ZV9wcm9wZXJ0aWVzLCBbWyJzZW50aW5lbCBjaGVj
ayAxIHVuaXF1ZSBwcm9wZXJ0aWVzIl0sIFsic2VudGluZWwgY2hlY2sgMiB1bmlxdWUgcHJvcGVy
dGllcyJdXSwgW3tzZW50aW5lbDogdHJ1ZX0sIHtzZW50aW5lbDogZmFsc2V9XSk7Ci0KLS8vIEZp
bmFsbHkgZ2VuZXJhdGUgYSBjb21wbGljYXRlZCBzZXQgb2YgdGVzdHMgZnJvbSBhbm90aGVyIGRh
dGEgc291cmNlCi12YXIgbGV0dGVycyA9IFsiYSIsICJiIiwgImMiLCAiZCIsICJlIiwgImYiXTsK
LXZhciBudW1iZXJzID0gWzAsIDEsIDIsIDMsIDQsIDVdOwotZnVuY3Rpb24gdmFsaWRhdGVfcmVs
YXRlZF9hcmd1bWVudHMoYXJnMSwgYXJnMikgewotCWFzc2VydF9lcXVhbHMoYXJnMS5jaGFyQ29k
ZUF0KDApIC0gImEiLmNoYXJDb2RlQXQoMCksIGFyZzIsICJFbnN1cmUgdGhhdCB3ZSBjYW4gbWFw
IGxldHRlcnMgdG8gbnVtYmVycy4iKTsKLX0KLWZ1bmN0aW9uIGZvcm1hdF9hc190ZXN0KGxldHRl
ciwgaW5kZXgsIGxldHRlcnMpIHsKLQlyZXR1cm4gWyJUZXN0IHRvIG1hcCAiICsgbGV0dGVyICsg
IiB0byAiICsgbnVtYmVyc1tpbmRleF0sIGxldHRlciwgbnVtYmVyc1tpbmRleF1dOwotfQotZ2Vu
ZXJhdGVfdGVzdHModmFsaWRhdGVfcmVsYXRlZF9hcmd1bWVudHMsIGxldHRlcnMubWFwKGZvcm1h
dF9hc190ZXN0KSk7Ci08L3NjcmlwdD4KLTxzY3JpcHQgdHlwZT0idGV4dC9qc29uIiBpZD0iZXhw
ZWN0ZWQiPgotewotICAic3VtbWFyaXplZF9zdGF0dXMiOiB7Ci0gICAgInN0YXR1c19zdHJpbmci
OiAiT0siLAotICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAic3RhY2siOiBudWxsCi0gIH0sCi0g
ICJzdW1tYXJpemVkX3Rlc3RzIjogWwotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBB
U1MiLAotICAgICAgIm5hbWUiOiAiVGVzdCB0byBtYXAgYSB0byAwIiwKLSAgICAgICJwcm9wZXJ0
aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAic3RhY2siOiBudWxsCi0g
ICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1l
IjogIlRlc3QgdG8gbWFwIGIgdG8gMSIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAg
Im1lc3NhZ2UiOiBudWxsLAotICAgICAgInN0YWNrIjogbnVsbAotICAgIH0sCi0gICAgewotICAg
ICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJUZXN0IHRvIG1hcCBj
IHRvIDIiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogbnVsbCwK
LSAgICAgICJzdGFjayI6IG51bGwKLSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5n
IjogIlBBU1MiLAotICAgICAgIm5hbWUiOiAiVGVzdCB0byBtYXAgZCB0byAzIiwKLSAgICAgICJw
cm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAic3RhY2siOiBu
dWxsCi0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAg
ICJuYW1lIjogIlRlc3QgdG8gbWFwIGUgdG8gNCIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAot
ICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgInN0YWNrIjogbnVsbAotICAgIH0sCi0gICAg
ewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJUZXN0IHRv
IG1hcCBmIHRvIDUiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjog
bnVsbCwKLSAgICAgICJzdGFjayI6IG51bGwKLSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0dXNf
c3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUiOiAiZmlyc3QgdGVzdCIsCi0gICAgICAicHJv
cGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgInN0YWNrIjogbnVs
bAotICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAi
bmFtZSI6ICJzZWNvbmQgdGVzdCIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1l
c3NhZ2UiOiBudWxsLAotICAgICAgInN0YWNrIjogbnVsbAotICAgIH0sCi0gICAgewotICAgICAg
InN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJzZW50aW5lbCBjaGVjayAx
IiwKLSAgICAgICJwcm9wZXJ0aWVzIjogewotICAgICAgICAic2VudGluZWwiOiB0cnVlCi0gICAg
ICB9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgInN0YWNrIjogbnVsbAotICAgIH0s
Ci0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJz
ZW50aW5lbCBjaGVjayAxIHVuaXF1ZSBwcm9wZXJ0aWVzIiwKLSAgICAgICJwcm9wZXJ0aWVzIjog
ewotICAgICAgICAic2VudGluZWwiOiB0cnVlCi0gICAgICB9LAotICAgICAgIm1lc3NhZ2UiOiBu
dWxsLAotICAgICAgInN0YWNrIjogbnVsbAotICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19z
dHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJzZW50aW5lbCBjaGVjayAyIiwKLSAgICAg
ICJwcm9wZXJ0aWVzIjogewotICAgICAgICAic2VudGluZWwiOiB0cnVlCi0gICAgICB9LAotICAg
ICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgInN0YWNrIjogbnVsbAotICAgIH0sCi0gICAgewot
ICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJzZW50aW5lbCBj
aGVjayAyIHVuaXF1ZSBwcm9wZXJ0aWVzIiwKLSAgICAgICJwcm9wZXJ0aWVzIjogewotICAgICAg
ICAic2VudGluZWwiOiBmYWxzZQotICAgICAgfSwKLSAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAg
ICAgICJzdGFjayI6IG51bGwKLSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjog
IlBBU1MiLAotICAgICAgIm5hbWUiOiAidGhpcmQgdGVzdCIsCi0gICAgICAicHJvcGVydGllcyI6
IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgInN0YWNrIjogbnVsbAotICAgIH0K
LSAgXSwKLSAgInR5cGUiOiAiY29tcGxldGUiCi19Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRsaGFybmVzcy9JZGxBcnJheS9pc19qc29uX3R5cGUu
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3Rlc3QvdGVzdHMvaWRsaGFybmVzcy9JZGxBcnJheS9pc19qc29uX3R5cGUuaHRtbApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDJmOWRkNTJjMjllYTAxNWJlNWZjYjg2NjM1Y2I3
NGViZmYwOTdjYi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90
ZXN0L3Rlc3RzL2lkbGhhcm5lc3MvSWRsQXJyYXkvaXNfanNvbl90eXBlLmh0bWwKKysrIC9kZXYv
bnVsbApAQCAtMSwxOTUgKzAsMCBAQAotPCFET0NUWVBFIEhUTUw+Ci08aHRtbD4KLTxoZWFkPgot
PHRpdGxlPklkbEFycmF5LnByb3RvdHlwZS5pc19qc29uX3R5cGUoKTwvdGl0bGU+Ci08L2hlYWQ+
Ci08Ym9keT4KLTxkaXYgaWQ9ImxvZyI+PC9kaXY+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9XZWJJRExQ
YXJzZXIuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvaWRsaGFybmVzcy5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vaGVscGVyLmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQ+Ci0gICAgInVzZSBzdHJpY3QiOwotCi0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAg
dmFyIGlkbCA9IG5ldyBJZGxBcnJheSgpOwotICAgICAgICBhc3NlcnRfdHJ1ZShpZGwuaXNfanNv
bl90eXBlKHR5cGVGcm9tKCJET01TdHJpbmciKSkpOwotICAgICAgICBhc3NlcnRfdHJ1ZShpZGwu
aXNfanNvbl90eXBlKHR5cGVGcm9tKCJCeXRlU3RyaW5nIikpKTsKLSAgICAgICAgYXNzZXJ0X3Ry
dWUoaWRsLmlzX2pzb25fdHlwZSh0eXBlRnJvbSgiVVNWU3RyaW5nIikpKTsKLSAgICAgICAgaWRs
LmFkZF91bnRlc3RlZF9pZGxzKCdlbnVtIEJhckVudW0geyAiYSIsICJiIiwgImMiIH07Jyk7Ci0g
ICAgICAgIGFzc2VydF90cnVlKGlkbC5pc19qc29uX3R5cGUodHlwZUZyb20oIkJhckVudW0iKSkp
OwotICAgIH0sICdzaG91bGQgcmV0dXJuIHRydWUgZm9yIGFsbCBzdHJpbmcgdHlwZXMnKTsKLQot
ICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBpZGwgPSBuZXcgSWRsQXJyYXkoKTsK
LSAgICAgICAgYXNzZXJ0X2ZhbHNlKGlkbC5pc19qc29uX3R5cGUodHlwZUZyb20oIkVycm9yIikp
KTsKLSAgICAgICAgYXNzZXJ0X2ZhbHNlKGlkbC5pc19qc29uX3R5cGUodHlwZUZyb20oIkRPTUV4
Y2VwdGlvbiIpKSk7Ci0gICAgfSwgJ3Nob3VsZCByZXR1cm4gZmFsc2UgZm9yIGFsbCBleGNlcHRp
b24gdHlwZXMnKTsKLQotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBpZGwgPSBu
ZXcgSWRsQXJyYXkoKTsKLSAgICAgICAgYXNzZXJ0X2ZhbHNlKGlkbC5pc19qc29uX3R5cGUodHlw
ZUZyb20oIkludDhBcnJheSIpKSk7Ci0gICAgICAgIGFzc2VydF9mYWxzZShpZGwuaXNfanNvbl90
eXBlKHR5cGVGcm9tKCJJbnQxNkFycmF5IikpKTsKLSAgICAgICAgYXNzZXJ0X2ZhbHNlKGlkbC5p
c19qc29uX3R5cGUodHlwZUZyb20oIkludDMyQXJyYXkiKSkpOwotICAgICAgICBhc3NlcnRfZmFs
c2UoaWRsLmlzX2pzb25fdHlwZSh0eXBlRnJvbSgiVWludDhBcnJheSIpKSk7Ci0gICAgICAgIGFz
c2VydF9mYWxzZShpZGwuaXNfanNvbl90eXBlKHR5cGVGcm9tKCJVaW50MTZBcnJheSIpKSk7Ci0g
ICAgICAgIGFzc2VydF9mYWxzZShpZGwuaXNfanNvbl90eXBlKHR5cGVGcm9tKCJVaW50MzJBcnJh
eSIpKSk7Ci0gICAgICAgIGFzc2VydF9mYWxzZShpZGwuaXNfanNvbl90eXBlKHR5cGVGcm9tKCJV
aW50OENsYW1wZWRBcnJheSIpKSk7Ci0gICAgICAgIGFzc2VydF9mYWxzZShpZGwuaXNfanNvbl90
eXBlKHR5cGVGcm9tKCJGbG9hdDMyQXJyYXkiKSkpOwotICAgICAgICBhc3NlcnRfZmFsc2UoaWRs
LmlzX2pzb25fdHlwZSh0eXBlRnJvbSgiQXJyYXlCdWZmZXIiKSkpOwotICAgICAgICBhc3NlcnRf
ZmFsc2UoaWRsLmlzX2pzb25fdHlwZSh0eXBlRnJvbSgiRGF0YVZpZXciKSkpOwotICAgIH0sICdz
aG91bGQgcmV0dXJuIGZhbHNlIGZvciBhbGwgYnVmZmVyIHNvdXJjZSB0eXBlcycpOwotCi0gICAg
dGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIGlkbCA9IG5ldyBJZGxBcnJheSgpOwotICAg
ICAgICBhc3NlcnRfdHJ1ZShpZGwuaXNfanNvbl90eXBlKHR5cGVGcm9tKCJib29sZWFuIikpKTsK
LSAgICB9LCAnc2hvdWxkIHJldHVybiB0cnVlIGZvciBib29sZWFuJyk7Ci0KLSAgICB0ZXN0KGZ1
bmN0aW9uKCkgewotICAgICAgICB2YXIgaWRsID0gbmV3IElkbEFycmF5KCk7Ci0gICAgICAgIGFz
c2VydF90cnVlKGlkbC5pc19qc29uX3R5cGUodHlwZUZyb20oImJ5dGUiKSkpOwotICAgICAgICBh
c3NlcnRfdHJ1ZShpZGwuaXNfanNvbl90eXBlKHR5cGVGcm9tKCJvY3RldCIpKSk7Ci0gICAgICAg
IGFzc2VydF90cnVlKGlkbC5pc19qc29uX3R5cGUodHlwZUZyb20oInNob3J0IikpKTsKLSAgICAg
ICAgYXNzZXJ0X3RydWUoaWRsLmlzX2pzb25fdHlwZSh0eXBlRnJvbSgidW5zaWduZWQgc2hvcnQi
KSkpOwotICAgICAgICBhc3NlcnRfdHJ1ZShpZGwuaXNfanNvbl90eXBlKHR5cGVGcm9tKCJsb25n
IikpKTsKLSAgICAgICAgYXNzZXJ0X3RydWUoaWRsLmlzX2pzb25fdHlwZSh0eXBlRnJvbSgidW5z
aWduZWQgbG9uZyIpKSk7Ci0gICAgICAgIGFzc2VydF90cnVlKGlkbC5pc19qc29uX3R5cGUodHlw
ZUZyb20oImxvbmcgbG9uZyIpKSk7Ci0gICAgICAgIGFzc2VydF90cnVlKGlkbC5pc19qc29uX3R5
cGUodHlwZUZyb20oInVuc2lnbmVkIGxvbmcgbG9uZyIpKSk7Ci0gICAgICAgIGFzc2VydF90cnVl
KGlkbC5pc19qc29uX3R5cGUodHlwZUZyb20oImZsb2F0IikpKTsKLSAgICAgICAgYXNzZXJ0X3Ry
dWUoaWRsLmlzX2pzb25fdHlwZSh0eXBlRnJvbSgidW5yZXN0cmljdGVkIGZsb2F0IikpKTsKLSAg
ICAgICAgYXNzZXJ0X3RydWUoaWRsLmlzX2pzb25fdHlwZSh0eXBlRnJvbSgiZG91YmxlIikpKTsK
LSAgICAgICAgYXNzZXJ0X3RydWUoaWRsLmlzX2pzb25fdHlwZSh0eXBlRnJvbSgidW5yZXN0cmlj
dGVkIGRvdWJsZSIpKSk7Ci0gICAgfSwgJ3Nob3VsZCByZXR1cm4gdHJ1ZSBmb3IgYWxsIG51bWVy
aWMgdHlwZXMnKTsKLQotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBpZGwgPSBu
ZXcgSWRsQXJyYXkoKTsKLSAgICAgICAgYXNzZXJ0X2ZhbHNlKGlkbC5pc19qc29uX3R5cGUodHlw
ZUZyb20oIlByb21pc2U8RE9NU3RyaW5nPiIpKSk7Ci0gICAgfSwgJ3Nob3VsZCByZXR1cm4gZmFs
c2UgZm9yIHByb21pc2VzJyk7Ci0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIg
aWRsID0gbmV3IElkbEFycmF5KCk7Ci0gICAgICAgIGFzc2VydF9mYWxzZShpZGwuaXNfanNvbl90
eXBlKHR5cGVGcm9tKCJzZXF1ZW5jZTxET01FeGNlcHRpb24+IikpKTsKLSAgICAgICAgYXNzZXJ0
X3RydWUoaWRsLmlzX2pzb25fdHlwZSh0eXBlRnJvbSgic2VxdWVuY2U8RE9NU3RyaW5nPiIpKSk7
Ci0gICAgfSwgJ3Nob3VsZCBoYW5kbGUgc2VxdWVuY2VzIGFjY29yZGluZyB0byB0aGVpciBpbm5l
ciB0eXBlcycpOwotICAgIAotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBpZGwg
PSBuZXcgSWRsQXJyYXkoKTsKLSAgICAgICAgYXNzZXJ0X2ZhbHNlKGlkbC5pc19qc29uX3R5cGUo
dHlwZUZyb20oIkZyb3plbkFycmF5PERPTUV4Y2VwdGlvbj4iKSkpOwotICAgICAgICBhc3NlcnRf
dHJ1ZShpZGwuaXNfanNvbl90eXBlKHR5cGVGcm9tKCJGcm96ZW5BcnJheTxET01TdHJpbmc+Iikp
KTsKLSAgICB9LCAnc2hvdWxkIGhhbmRsZSBmcm96ZW4gYXJyYXlzIGFjY29yZGluZyB0byB0aGVp
ciBpbm5lciB0eXBlcycpOwotCi0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIGlk
bCA9IG5ldyBJZGxBcnJheSgpOwotICAgICAgICBhc3NlcnRfdHJ1ZShpZGwuaXNfanNvbl90eXBl
KHR5cGVGcm9tKCJyZWNvcmQ8RE9NU3RyaW5nLCBET01TdHJpbmc+IikpKTsKLSAgICAgICAgYXNz
ZXJ0X2ZhbHNlKGlkbC5pc19qc29uX3R5cGUodHlwZUZyb20oInJlY29yZDxET01TdHJpbmcsIEVy
cm9yPiIpKSk7Ci0gICAgfSwgJ3Nob3VsZCBoYW5kbGUgcmVjb3JkcyBhY2NvcmRpbmcgdG8gdGhl
aXIgaW5uZXIgdHlwZXMnKTsKLQotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBp
ZGwgPSBuZXcgSWRsQXJyYXkoKTsKLSAgICAgICAgYXNzZXJ0X3RydWUoaWRsLmlzX2pzb25fdHlw
ZSh0eXBlRnJvbSgib2JqZWN0IikpKTsKLSAgICB9LCAnc2hvdWxkIHJldHVybiB0cnVlIGZvciBv
YmplY3QgdHlwZScpOwotCi0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIGlkbCA9
IG5ldyBJZGxBcnJheSgpOwotICAgICAgICBhc3NlcnRfZmFsc2UoaWRsLmlzX2pzb25fdHlwZSh0
eXBlRnJvbSgiYW55IikpKTsKLSAgICB9LCAnc2hvdWxkIHJldHVybiBmYWxzZSBmb3IgYW55IHR5
cGUnKTsKLQotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBpZGwgPSBuZXcgSWRs
QXJyYXkoKTsKLSAgICAgICAgaWRsLmFkZF91bnRlc3RlZF9pZGxzKCdkaWN0aW9uYXJ5IEZvbyB7
IERPTVN0cmluZyBmb287IH07IGRpY3Rpb25hcnkgQmFyIDogRm9vIHsgRE9NU3RyaW5nIGJhcjsg
fTsnKTsKLSAgICAgICAgYXNzZXJ0X3RydWUoaWRsLmlzX2pzb25fdHlwZSh0eXBlRnJvbSgiRm9v
IikpKTsKLSAgICAgICAgYXNzZXJ0X3RydWUoaWRsLmlzX2pzb25fdHlwZSh0eXBlRnJvbSgiQmFy
IikpKTsKLSAgICB9LCAnc2hvdWxkIHJldHVybiB0cnVlIGZvciBkaWN0aW9uYXJpZXMgd2hvc2Ug
bWVtYmVycyBhcmUgYWxsIEpTT04gdHlwZXMnKTsKLQotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0g
ICAgICAgIHZhciBpZGwgPSBuZXcgSWRsQXJyYXkoKTsKLSAgICAgICAgaWRsLmFkZF91bnRlc3Rl
ZF9pZGxzKCdkaWN0aW9uYXJ5IEZvbyB7IH07Jyk7Ci0gICAgICAgIGFzc2VydF90cnVlKGlkbC5p
c19qc29uX3R5cGUodHlwZUZyb20oIkZvbyIpKSk7Ci0gICAgfSwgJ3Nob3VsZCByZXR1cm4gdHJ1
ZSBmb3IgZGljdGlvbmFyaWVzIHdoaWNoIGhhdmUgbm8gbWVtYmVycycpOwotCi0gICAgdGVzdChm
dW5jdGlvbigpIHsKLSAgICAgICAgdmFyIGlkbCA9IG5ldyBJZGxBcnJheSgpOwotICAgICAgICBp
ZGwuYWRkX3VudGVzdGVkX2lkbHMoJ2RpY3Rpb25hcnkgRm9vQmFyIHsgRE9NU3RyaW5nIGE7IEVy
cm9yIGI7IH07IGRpY3Rpb25hcnkgQmF6IDogRm9vQmFyIHt9OycpOwotICAgICAgICBhc3NlcnRf
ZmFsc2UoaWRsLmlzX2pzb25fdHlwZSh0eXBlRnJvbSgiRm9vQmFyIikpKTsKLSAgICAgICAgYXNz
ZXJ0X2ZhbHNlKGlkbC5pc19qc29uX3R5cGUodHlwZUZyb20oIkJheiIpKSk7Ci0gICAgfSwgJ3No
b3VsZCByZXR1cm4gZmFsc2UgZm9yIGRpY3Rpb25hcmllcyB3aG9zZSBtZW1iZXJzIGFyZSBub3Qg
YWxsIEpTT04gdHlwZXMnKTsKLQotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBp
ZGwgPSBuZXcgSWRsQXJyYXkoKTsKLSAgICAgICAgaWRsLmFkZF91bnRlc3RlZF9pZGxzKCdpbnRl
cmZhY2UgRm9vIHsgRE9NU3RyaW5nIHRvSlNPTigpOyB9OycpOwotICAgICAgICBhc3NlcnRfdHJ1
ZShpZGwuaXNfanNvbl90eXBlKHR5cGVGcm9tKCJGb28iKSkpOwotICAgIH0sICdzaG91bGQgcmV0
dXJuIHRydWUgZm9yIGludGVyZmFjZXMgd2hpY2ggZGVjbGFyZSBhIHRvSlNPTiBvcGVyYXRpb24n
KTsKLQotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBpZGwgPSBuZXcgSWRsQXJy
YXkoKTsKLSAgICAgICAgaWRsLmFkZF91bnRlc3RlZF9pZGxzKCdpbnRlcmZhY2UgRm9vIHsgRE9N
U3RyaW5nIHRvSlNPTigpOyB9OyBpbnRlcmZhY2UgQmFyIDogRm9vIHsgfTsnKTsKLSAgICAgICAg
YXNzZXJ0X3RydWUoaWRsLmlzX2pzb25fdHlwZSh0eXBlRnJvbSgiQmFyIikpKTsKLSAgICB9LCAn
c2hvdWxkIHJldHVybiB0cnVlIGZvciBpbnRlcmZhY2VzIHdoaWNoIGluaGVyaXQgZnJvbSBhbiBp
bnRlcmZhY2Ugd2hpY2ggZGVjbGFyZXMgYSB0b0pTT04gb3BlcmF0aW9uJyk7Ci0KLSAgICB0ZXN0
KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgaWRsID0gbmV3IElkbEFycmF5KCk7Ci0gICAgICAg
IGlkbC5hZGRfdW50ZXN0ZWRfaWRscygnaW50ZXJmYWNlIEZvbyB7IH07IGludGVyZmFjZSBCYXIg
eyBET01TdHJpbmcgdG9KU09OKCk7IH07IEZvbyBpbXBsZW1lbnRzIEJhcjsnKTsKLSAgICAgICAg
YXNzZXJ0X3RydWUoaWRsLmlzX2pzb25fdHlwZSh0eXBlRnJvbSgiRm9vIikpKTsKLSAgICB9LCAn
c2hvdWxkIHJldHVybiB0cnVlIGZvciBpbnRlcmZhY2VzIHdoaWNoIG1peGluIGFuIGludGVyZmFj
ZSB3aGljaCBkZWNsYXJlIGEgdG9KU09OIG9wZXJhdGlvbicpOwotCi0vLyAgICB0ZXN0KGZ1bmN0
aW9uKCkgewotLy8gICAgICAgIHZhciBpZGwgPSBuZXcgSWRsQXJyYXkoKTsKLS8vICAgICAgICBp
ZGwuYWRkX3VudGVzdGVkX2lkbHMoJ2ludGVyZmFjZSBGb28geyB9OyBpbnRlcmZhY2UgQmFyIHsg
fTsgaW50ZXJmYWNlIEJheiB7IERPTVN0cmluZyB0b0pTT04oKTsgfTsgRm9vIGltcGxlbWVudHMg
QmFyOyBCYXIgaW1wbGVtZW50cyBCYXo7Jyk7Ci0vLyAgICAgICAgYXNzZXJ0X3RydWUoaWRsLmlz
X2pzb25fdHlwZSh0eXBlRnJvbSgiRm9vIikpKTsKLS8vICAgIH0sICdzaG91bGQgcmV0dXJuIHRy
dWUgZm9yIGludGVyZmFjZXMgd2hpY2ggbWl4aW4gYW4gaW50ZXJmYWNlIHdoaWNoIGl0c2VsZiBt
aXhlcyBpbiBhbiBpbnRlcmZhY2Ugd2hpY2ggZGVjbGFyZXMgYSB0b0pTT04gb3BlcmF0aW9uJyk7
Ci0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgaWRsID0gbmV3IElkbEFycmF5
KCk7Ci0gICAgICAgIGlkbC5hZGRfdW50ZXN0ZWRfaWRscygnaW50ZXJmYWNlIEZvbyB7IH07Jyk7
Ci0gICAgICAgIGFzc2VydF9mYWxzZShpZGwuaXNfanNvbl90eXBlKHR5cGVGcm9tKCJGb28iKSkp
OwotICAgIH0sICdzaG91bGQgcmV0dXJuIGZhbHNlIGZvciBpbnRlcmZhY2VzIHdoaWNoIGRvIG5v
dCBkZWNsYXJlIGEgdG9KU09OIG9wZXJhdGlvbicpOwotCi0gICAgdGVzdChmdW5jdGlvbigpIHsK
LSAgICAgICAgdmFyIGlkbCA9IG5ldyBJZGxBcnJheSgpOwotICAgICAgICBpZGwuYWRkX3VudGVz
dGVkX2lkbHMoJ2ludGVyZmFjZSBGb28geyBvYmplY3QgdG9KU09OKCk7IH07Jyk7Ci0gICAgICAg
IGFzc2VydF90cnVlKGlkbC5pc19qc29uX3R5cGUodHlwZUZyb20oIihGb28gb3IgRE9NU3RyaW5n
KSIpKSk7Ci0gICAgfSwgJ3Nob3VsZCByZXR1cm4gdHJ1ZSBmb3IgdW5pb24gdHlwZXMgd2hvc2Ug
bWVtYmVyIHR5cGVzIGFyZSBKU09OIHR5cGVzJyk7Ci0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewot
ICAgICAgICB2YXIgaWRsID0gbmV3IElkbEFycmF5KCk7Ci0gICAgICAgIGFzc2VydF9mYWxzZShp
ZGwuaXNfanNvbl90eXBlKHR5cGVGcm9tKCIoRGF0YVZpZXcgb3IgRE9NU3RyaW5nKSIpKSk7Ci0g
ICAgfSwgJ3Nob3VsZCByZXR1cm4gZmFsc2UgZm9yIHVuaW9uIHR5cGVzIHdob3NlIG1lbWJlciB0
eXBlcyBhcmUgbm90IGFsbCBKU09OIHR5cGVzJyk7Ci0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewot
ICAgICAgICB2YXIgaWRsID0gbmV3IElkbEFycmF5KCk7Ci0gICAgICAgIGFzc2VydF90cnVlKGlk
bC5pc19qc29uX3R5cGUodHlwZUZyb20oIkRPTVN0cmluZz8iKSkpOwotICAgICAgICBhc3NlcnRf
ZmFsc2UoaWRsLmlzX2pzb25fdHlwZSh0eXBlRnJvbSgiRGF0YVZpZXc/IikpKTsKLSAgICB9LCAn
c2hvdWxkIGNvbnNpZGVyIHRoZSBpbm5lciB0eXBlcyBvZiBudWxsYWJsZSB0eXBlcycpOwotCi0g
ICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIGlkbCA9IG5ldyBJZGxBcnJheSgpOwot
ICAgICAgICBhc3NlcnRfdHJ1ZShpZGwuaXNfanNvbl90eXBlKHR5cGVGcm9tKCJbWEF0dHJdIGxv
bmciKSkpOwotICAgICAgICBhc3NlcnRfZmFsc2UoaWRsLmlzX2pzb25fdHlwZSh0eXBlRnJvbSgi
W1hBdHRyXSBEYXRhVmlldyIpKSk7Ci0gICAgfSwgJ3Nob3VsZCBjb25zaWRlciB0aGUgaW5uZXIg
dHlwZXMgb2YgYW5ub3RhdGVkIHR5cGVzLicpOwotCi0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAg
ICAgICAgdmFyIGlkbCA9IG5ldyBJZGxBcnJheSgpOwotICAgICAgICBhc3NlcnRfdGhyb3dzKG5l
dyBFcnJvcigpLCBfID0+IGlkbC5pc19qc29uX3R5cGUodHlwZUZyb20oIkZvbyIpKSk7Ci0gICAg
fSwgInNob3VsZCB0aHJvdyBpZiBpdCByZWZlcmVuY2VzIGEgZGljdGlvbmFyeSwgZW51bSBvciBp
bnRlcmZhY2Ugd2hpY2ggd2Fzbid0IGFkZGVkIHRvIHRoZSBJZGxBcnJheSIpOwotCi0gICAgdGVz
dChmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIGlkbCA9IG5ldyBJZGxBcnJheSgpOwotICAgICAg
ICBpZGwuYWRkX3VudGVzdGVkX2lkbHMoJ2ludGVyZmFjZSBGb28gOiBCYXIgeyB9OycpOwotICAg
ICAgICBhc3NlcnRfdGhyb3dzKG5ldyBFcnJvcigpLCBfID0+IGlkbC5pc19qc29uX3R5cGUodHlw
ZUZyb20oIkZvbyIpKSk7Ci0gICAgfSwgInNob3VsZCB0aHJvdyBmb3IgaW50ZXJmYWNlcyB3aGlj
aCBpbmhlcml0IGZyb20gYW5vdGhlciBpbnRlcmZhY2Ugd2hpY2ggd2Fzbid0IGFkZGVkIHRvIHRo
ZSBJZGxBcnJheSIpOwotCi0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIGlkbCA9
IG5ldyBJZGxBcnJheSgpOwotICAgICAgICBhc3NlcnRfdHJ1ZShpZGwuaXNfanNvbl90eXBlKHR5
cGVkZWZGcm9tKCJ0eXBlZGVmIGRvdWJsZSBET01IaWdoUmVzVGltZVN0YW1wOyIpLmlkbFR5cGUp
KTsKLSAgICB9LCAnc2hvdWxkIHJldHVybiB0cnVlIGZvciB0eXBlZGVmcyB3aG9zZSBzb3VyY2Ug
dHlwZSBpcyBhIEpTT04gdHlwZScpOwotCi0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAg
dmFyIGlkbCA9IG5ldyBJZGxBcnJheSgpOwotICAgICAgICBhc3NlcnRfZmFsc2UoaWRsLmlzX2pz
b25fdHlwZSh0eXBlZGVmRnJvbSgidHlwZWRlZiBEYXRhVmlldyBET01IaWdoUmVzVGltZVN0YW1w
OyIpLmlkbFR5cGUpKTsKLSAgICB9LCAnc2hvdWxkIHJldHVybiBmYWxzZSBmb3IgdHlwZWRlZnMg
d2hvc2Ugc291cmNlIHR5cGUgaXMgbm90IGEgSlNPTiB0eXBlJyk7Ci08L3NjcmlwdD4KLTwvYm9k
eT4KLTwvaHRtbD4KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9pZGxoYXJuZXNzL0lkbEFycmF5L3cz
Yy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9pZGxoYXJuZXNzL0lkbEFycmF5L3czYy1pbXBvcnQubG9n
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0ZTg5OTBiMGZkN2JjMmJlOThkNzhlMDMz
Y2VhYzkxZDJlY2JkMDM4Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3Rlc3QvdGVzdHMvaWRsaGFybmVzcy9JZGxBcnJheS93M2MtaW1wb3J0LmxvZworKysgL2Rl
di9udWxsCkBAIC0xLDE3ICswLDAgQEAKLVRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJl
IGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgotRG8gTk9UIG1vZGlmeSB0aGVzZSB0
ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qg
b24gdGhlIFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMKLQotVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBX
ZWJLaXQgdG8gcmVpbXBvcnQKLQotRG8gTk9UIG1vZGlmeSBvciByZW1vdmUgdGhpcyBmaWxlLgot
Ci0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0KLVByb3BlcnRpZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoK
LU5vbmUKLVByb3BlcnR5IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgotTm9uZQot
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tCi1MaXN0IG9mIGZpbGVzOgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRsaGFybmVzcy9JZGxB
cnJheS9pc19qc29uX3R5cGUuaHRtbApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9pZGxoYXJuZXNzL0lk
bERpY3Rpb25hcnkvZ2V0X2luaGVyaXRhbmNlX3N0YWNrLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2lkbGhhcm5l
c3MvSWRsRGljdGlvbmFyeS9nZXRfaW5oZXJpdGFuY2Vfc3RhY2suaHRtbApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggODM4NjNmYjhkNzZhNzlmMjlmZTFjYWQ3Njg2NTc4MGZlZTRjMDdi
ZC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3Rz
L2lkbGhhcm5lc3MvSWRsRGljdGlvbmFyeS9nZXRfaW5oZXJpdGFuY2Vfc3RhY2suaHRtbAorKysg
L2Rldi9udWxsCkBAIC0xLDM1ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVh
ZD4KLTx0aXRsZT5JZGxEaWN0aW9uYXJ5LnByb3RvdHlwZS5nZXRfaW5oZXJpdGFuY2Vfc3RhY2so
KTwvdGl0bGU+Ci08L2hlYWQ+Ci08Ym9keT4KLTxkaXYgaWQ9ImxvZyI+PC9kaXY+Ci08c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy9XZWJJRExQYXJzZXIuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvaWRsaGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vaGVscGVyLmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQ+Ci0gICAgInVzZSBzdHJpY3QiOwotICAgIHRlc3QoZnVuY3Rp
b24oKSB7Ci0gICAgICAgIHZhciBzdGFjayA9IGRpY3Rpb25hcnlGcm9tKCdkaWN0aW9uYXJ5IEEg
eyB9OycpLmdldF9pbmhlcml0YW5jZV9zdGFjaygpOwotICAgICAgICBhc3NlcnRfYXJyYXlfZXF1
YWxzKHN0YWNrLm1hcChkID0+IGQubmFtZSksIFsiQSJdKTsKLSAgICB9LCAnc2hvdWxkIHJldHVy
biBhbiBhcnJheSB0aGF0IGluY2x1ZGVzIGl0c2VsZi4nKTsKLSAgICAKLSAgICB0ZXN0KGZ1bmN0
aW9uKCkgewotICAgICAgICB2YXIgZCA9IGRpY3Rpb25hcnlGcm9tKCdkaWN0aW9uYXJ5IEEgOiBC
IHsgfTsnKTsKLSAgICAgICAgYXNzZXJ0X3Rocm93cyhuZXcgRXJyb3IoKSwgXyA9PiBkLmdldF9p
bmhlcml0YW5jZV9zdGFjaygpKTsKLSAgICB9LCAic2hvdWxkIHRocm93IGZvciBkaWN0aW9uYXJp
ZXMgd2hpY2ggaW5oZXJpdCBmcm9tIGFub3RoZXIgZGljdGlvbmFyeSB3aGljaCB3YXNuJ3QgYWRk
ZWQgdG8gdGhlIElkbEFycmF5Iik7Ci0gICAgCi0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAg
ICAgdmFyIGlkbCA9IG5ldyBJZGxBcnJheSgpOwotICAgICAgICBpZGwuYWRkX2lkbHMoJ2RpY3Rp
b25hcnkgQSA6IEIgeyB9OycpOwotICAgICAgICBpZGwuYWRkX3VudGVzdGVkX2lkbHMoJ2RpY3Rp
b25hcnkgQiA6IEMgeyB9OyBkaWN0aW9uYXJ5IEMgeyB9OycpOwotICAgICAgICB2YXIgQSA9IGlk
bC5tZW1iZXJzWyJBIl07Ci0gICAgICAgIGFzc2VydF9hcnJheV9lcXVhbHMoQS5nZXRfaW5oZXJp
dGFuY2Vfc3RhY2soKS5tYXAoZCA9PiBkLm5hbWUpLCBbIkEiLCAiQiIsICJDIl0pOwotICAgIH0s
ICdzaG91bGQgcmV0dXJuIGFuIGFycmF5IG9mIGluaGVyaXRlZCBkaWN0aW9uYXJpZXMgaW4gb3Jk
ZXIgb2YgaW5oZXJpdGFuY2UsIHN0YXJ0aW5nIHdpdGggaXRzZWxmLicpOwotPC9zY3JpcHQ+Ci08
L2JvZHk+Ci08L2h0bWw+Ci0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRsaGFybmVzcy9JZGxEaWN0
aW9uYXJ5L3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9pZGxoYXJuZXNzL0lkbERpY3Rpb25hcnkv
dzNjLWltcG9ydC5sb2cKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM5ZjczNThhNWZi
NGVmZDZlM2Q4OTJjOTE0ODkwNjM3NmIzZjM3ZTkuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9pZGxoYXJuZXNzL0lkbERpY3Rpb25hcnkvdzNj
LWltcG9ydC5sb2cKKysrIC9kZXYvbnVsbApAQCAtMSwxNyArMCwwIEBACi1UaGUgdGVzdHMgaW4g
dGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KLURv
IE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVhZCwgY3Jl
YXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0aHViLmNv
bS93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCi0KLVRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2lt
cG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0Ci0KLURvIE5PVCBtb2RpZnkgb3Ig
cmVtb3ZlIHRoaXMgZmlsZS4KLQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1Qcm9wZXJ0aWVzIHJlcXVpcmlu
ZyB2ZW5kb3IgcHJlZml4ZXM6Ci1Ob25lCi1Qcm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5nIHZlbmRv
ciBwcmVmaXhlczoKLU5vbmUKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotTGlzdCBvZiBmaWxlczoKLS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rl
c3RzL2lkbGhhcm5lc3MvSWRsRGljdGlvbmFyeS9nZXRfaW5oZXJpdGFuY2Vfc3RhY2suaHRtbApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvdGVzdC90ZXN0cy9pZGxoYXJuZXNzL0lkbEludGVyZmFjZS9kZWZhdWx0X3RvX2pz
b25fb3BlcmF0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2lkbGhhcm5lc3MvSWRsSW50ZXJmYWNlL2RlZmF1
bHRfdG9fanNvbl9vcGVyYXRpb24uaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
YTc3ZWUzZTdmMWZkYjMxMjE3MDM1NmI3NGViZGQxZWRiNjk4YTI1MS4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2lkbGhhcm5lc3MvSWRsSW50
ZXJmYWNlL2RlZmF1bHRfdG9fanNvbl9vcGVyYXRpb24uaHRtbAorKysgL2Rldi9udWxsCkBAIC0x
LDE4OSArMCwwIEBACi08IURPQ1RZUEUgSFRNTD4KLTxodG1sPgotPGhlYWQ+Ci08dGl0bGU+SWRs
RGljdGlvbmFyeS5wcm90b3R5cGUuZGVmYXVsdF90b19qc29uX29wZXJhdGlvbigpPC90aXRsZT4K
LTwvaGVhZD4KLTxib2R5PgotPGRpdiBpZD0ibG9nIj48L2Rpdj4KLTxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L1dlYklETFBhcnNlci5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9pZGxo
YXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi9oZWxwZXIuanMiPjwvc2NyaXB0
PgotPHByZSBpZD1mcmFnbWVudHM+Ci0gICAgaW50ZXJmYWNlIEEgOiBCIHsKLSAgICAgIGF0dHJp
YnV0ZSBET01TdHJpbmcgYTsKLSAgICB9OwotCi0gICAgaW50ZXJmYWNlIEIgOiBDIHsKLSAgICAg
IFtEZWZhdWx0XSBvYmplY3QgdG9KU09OKCk7Ci0gICAgICBhdHRyaWJ1dGUgbG9uZyBiOwotICAg
IH07Ci0KLSAgICBpbnRlcmZhY2UgQyB7Ci0gICAgICBhdHRyaWJ1dGUgRE9NU3RyaW5nIGM7Ci0g
ICAgfTsKLQotICAgIGludGVyZmFjZSBEIDogRSB7Ci0gICAgICBbRGVmYXVsdF0gb2JqZWN0IHRv
SlNPTigpOwotICAgICAgYXR0cmlidXRlIGZsb2F0IGQ7Ci0gICAgfTsKLQotICAgIGludGVyZmFj
ZSBFIDogRiB7Ci0gICAgICBhdHRyaWJ1dGUgRE9NU3RyaW5nIGU7Ci0gICAgfTsKLQotICAgIGlu
dGVyZmFjZSBGIHsKLSAgICAgIFtEZWZhdWx0XSBvYmplY3QgdG9KU09OKCk7Ci0gICAgICBhdHRy
aWJ1dGUgdW5yZXN0cmljdGVkIGRvdWJsZSBmOwotICAgIH07Ci0KLSAgICBpbnRlcmZhY2UgRyB7
Ci0gICAgICBbRGVmYXVsdF0gb2JqZWN0IHRvSlNPTigpOwotICAgICAgYXR0cmlidXRlIG9jdGV0
IGc7Ci0gICAgfTsKLQotICAgIGludGVyZmFjZSBIIHsKLSAgICAgIFtEZWZhdWx0XSBvYmplY3Qg
dG9KU09OKCk7Ci0gICAgICBhdHRyaWJ1dGUgRE9NU3RyaW5nIGg7Ci0gICAgfTsKLQotICAgIGlu
dGVyZmFjZSBJIHsKLSAgICAgIFtEZWZhdWx0XSBvYmplY3QgdG9KU09OKCk7Ci0gICAgICBhdHRy
aWJ1dGUgYm9vbGVhbiBpOwotICAgIH07Ci0KLSAgICBpbnRlcmZhY2UgSiB7Ci0gICAgICBbRGVm
YXVsdF0gb2JqZWN0IHRvSlNPTigpOwotICAgICAgYXR0cmlidXRlIEQgajsKLSAgICB9OwotCi0g
ICAgQSBpbXBsZW1lbnRzIEc7Ci0gICAgQSBpbXBsZW1lbnRzIEg7Ci0gICAgQiBpbXBsZW1lbnRz
IEQ7Ci0gICAgRSBpbXBsZW1lbnRzIEk7Ci0gICAgSCBpbXBsZW1lbnRzIEo7Ci08L3ByZT4KLTxz
Y3JpcHQ+Ci0gICAgInVzZSBzdHJpY3QiOwotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAg
IHZhciBtYXAgPSBpbnRlcmZhY2VGcm9tKCdpbnRlcmZhY2UgQSB7IFtEZWZhdWx0XSBvYmplY3Qg
dG9KU09OKCk7IH07JykuZGVmYXVsdF90b19qc29uX29wZXJhdGlvbigpOwotICAgICAgICBhc3Nl
cnRfZXF1YWxzKG1hcC5zaXplLCAwKTsKLSAgICB9LCAnc2hvdWxkIHJldHVybiBhbiBlbXB0eSBt
YXAgd2hlbiB0aGVyZSBhcmUgbm8gYXR0cmlidXRlcycpOwotCi0gICAgdGVzdChmdW5jdGlvbigp
IHsKLSAgICAgICAgdmFyIHIgPSBpbnRlcmZhY2VGcm9tKCdpbnRlcmZhY2UgQSB7IH07JykuZGVm
YXVsdF90b19qc29uX29wZXJhdGlvbigpOwotICAgICAgICBhc3NlcnRfZXF1YWxzKHIsIG51bGwp
OwotICAgIH0sICdzaG91bGQgcmV0dXJuIG51bGwgd2hlbiB0aGVyZSBpcyBubyB0b0pTT04gbWV0
aG9kJyk7Ci0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgciA9IGludGVyZmFj
ZUZyb20oJ2ludGVyZmFjZSBBIHsgRE9NU3RyaW5nIHRvSlNPTigpOyB9OycpLmRlZmF1bHRfdG9f
anNvbl9vcGVyYXRpb24oKTsKLSAgICAgICAgYXNzZXJ0X2VxdWFscyhyLCBudWxsKTsKLSAgICB9
LCAnc2hvdWxkIHJldHVybiBudWxsIHdoZW4gdGhlcmUgaXMgYSB0b0pTT04gbWV0aG9kIGJ1dCBp
dCBkb2VzIG5vdCBoYXZlIHRoZSBbRGVmYXVsdF0gZXh0ZW5kZWQgYXR0cmlidXRlJyk7Ci0KLSAg
ICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgY29udGV4dCA9IG5ldyBJZGxBcnJheSgp
OwotICAgICAgICBjb250ZXh0LmFkZF9pZGxzKCJpbnRlcmZhY2UgQSA6IEIgeyBET01TdHJpbmcg
dG9KU09OKCk7IH07Iik7Ci0gICAgICAgIGNvbnRleHQuYWRkX2lkbHMoImludGVyZmFjZSBCIHsg
W0RlZmF1bHRdIG9iamVjdCB0b0pTT04oKTsgfTsiKTsKLSAgICAgICAgdmFyIHIgPSBjb250ZXh0
Lm1lbWJlcnMuQS5kZWZhdWx0X3RvX2pzb25fb3BlcmF0aW9uKCk7Ci0gICAgICAgIGFzc2VydF9l
cXVhbHMociwgbnVsbCk7Ci0gICAgfSwgJ3Nob3VsZCByZXR1cm4gbnVsbCB3aGVuIHRoZXJlIGlz
IGEgdG9KU09OIG1ldGhvZCBidXQgaXQgZG9lcyBub3QgaGF2ZSB0aGUgW0RlZmF1bHRdIGV4dGVu
ZGVkIGF0dHJpYnV0ZSBldmVuIGlmIHRoaXMgZXh0ZW5kZWQgYXR0cmlidXRlIGV4aXN0cyBvbiBp
bmhlcml0ZWQgaW50ZXJmYWNlcycpOwotCi0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAg
dmFyIG1hcCA9IGludGVyZmFjZUZyb20oJ2ludGVyZmFjZSBBIHsgW0RlZmF1bHRdIG9iamVjdCB0
b0pTT04oKTsgc3RhdGljIGF0dHJpYnV0ZSBET01TdHJpbmcgZm9vOyB9OycpLmRlZmF1bHRfdG9f
anNvbl9vcGVyYXRpb24oKTsKLSAgICAgICAgYXNzZXJ0X2VxdWFscyhtYXAuc2l6ZSwgMCk7Ci0g
ICAgfSwgJ3Nob3VsZCBub3QgaW5jbHVkZSBzdGF0aWMgYXR0cmlidXRlcycpOwotCi0gICAgdGVz
dChmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIG1hcCA9IGludGVyZmFjZUZyb20oJ2ludGVyZmFj
ZSBBIHsgW0RlZmF1bHRdIG9iamVjdCB0b0pTT04oKTsgYXR0cmlidXRlIFByb21pc2U8RE9NU3Ry
aW5nPiBiYXI7IH07JykuZGVmYXVsdF90b19qc29uX29wZXJhdGlvbigpOwotICAgICAgICBhc3Nl
cnRfZXF1YWxzKG1hcC5zaXplLCAwKTsKLSAgICB9LCAnc2hvdWxkIG5vdCBpbmNsdWRlIGF0dHJp
YnV0ZXMgd2hpY2ggYXJlIG5vdCBKU09OIHR5cGVzJyk7Ci0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkg
ewotICAgICAgICB2YXIgbWFwID0gaW50ZXJmYWNlRnJvbSgnaW50ZXJmYWNlIEEgeyBbRGVmYXVs
dF0gb2JqZWN0IHRvSlNPTigpOyBET01TdHJpbmcgYmFyKCk7IH07JykuZGVmYXVsdF90b19qc29u
X29wZXJhdGlvbigpOwotICAgICAgICBhc3NlcnRfZXF1YWxzKG1hcC5zaXplLCAwKTsKLSAgICB9
LCAnc2hvdWxkIG5vdCBpbmNsdWRlIG9wZXJhdGlvbnMnKTsKLQotICAgIHRlc3QoZnVuY3Rpb24o
KSB7Ci0gICAgICAgIHZhciBtYXAgPSBpbnRlcmZhY2VGcm9tKCdpbnRlcmZhY2UgQSB7IFtEZWZh
dWx0XSBvYmplY3QgdG9KU09OKCk7IGF0dHJpYnV0ZSBET01TdHJpbmcgYmFyOyB9OycpLmRlZmF1
bHRfdG9fanNvbl9vcGVyYXRpb24oKTsKLSAgICAgICAgYXNzZXJ0X2VxdWFscyhtYXAuc2l6ZSwg
MSk7Ci0gICAgICAgIGFzc2VydF90cnVlKG1hcC5oYXMoImJhciIpKTsKLSAgICAgICAgYXNzZXJ0
X2VxdWFscyhtYXAuZ2V0KCJiYXIiKS5pZGxUeXBlLCAiRE9NU3RyaW5nIik7Ci0gICAgfSwgJ3No
b3VsZCByZXR1cm4gYSBtYXAgd2hvc2Uga2V5L3ZhbHVlIHBhaXIgcmVwcmVzZW50IHRoZSBpZGVu
dGlmaWVyIGFuZCBJREwgdHlwZSBvZiB2YWxpZCBhdHRyaWJ1dGVzJyk7Ci0KLSAgICB0ZXN0KGZ1
bmN0aW9uKCkgewotICAgICAgICB2YXIgY29udGV4dCA9IG5ldyBJZGxBcnJheSgpOwotICAgICAg
ICBjb250ZXh0LmFkZF9pZGxzKCJpbnRlcmZhY2UgQSA6IEIgeyBbRGVmYXVsdF0gb2JqZWN0IHRv
SlNPTigpOyBhdHRyaWJ1dGUgRE9NU3RyaW5nIGE7IH07Iik7Ci0gICAgICAgIGNvbnRleHQuYWRk
X2lkbHMoImludGVyZmFjZSBCIHsgW0RlZmF1bHRdIG9iamVjdCB0b0pTT04oKTsgYXR0cmlidXRl
IGxvbmcgYjsgfTsiKTsKLSAgICAgICAgdmFyIG1hcCA9IGNvbnRleHQubWVtYmVycy5BLmRlZmF1
bHRfdG9fanNvbl9vcGVyYXRpb24oKTsKLSAgICAgICAgYXNzZXJ0X2FycmF5X2VxdWFscyhbLi4u
bWFwLmtleXMoKV0sIFsiYiIsICJhIl0pOwotICAgICAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKFsu
Li5tYXAudmFsdWVzKCldLm1hcCh2ID0+IHYuaWRsVHlwZSksIFsibG9uZyIsICJET01TdHJpbmci
XSk7Ci0gICAgfSwgJ3Nob3VsZCByZXR1cm4gYSBwcm9wZXJseSBvcmRlcmVkIG1hcCB0aGF0IGNv
bnRhaW5zIElETCB0eXBlcyBvZiB2YWxpZCBhdHRyaWJ1dGVzIGZvciBpbmhlcml0ZWQgaW50ZXJm
YWNlcycpOwotCi0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIGNvbnRleHQgPSBu
ZXcgSWRsQXJyYXkoKTsKLSAgICAgICAgY29udGV4dC5hZGRfaWRscygiaW50ZXJmYWNlIEEgOiBC
IHsgYXR0cmlidXRlIERPTVN0cmluZyBhOyB9OyIpOwotICAgICAgICBjb250ZXh0LmFkZF9pZGxz
KCJpbnRlcmZhY2UgQiB7IFtEZWZhdWx0XSBvYmplY3QgdG9KU09OKCk7IGF0dHJpYnV0ZSBsb25n
IGI7IH07Iik7Ci0gICAgICAgIHZhciBtYXAgPSBjb250ZXh0Lm1lbWJlcnMuQS5kZWZhdWx0X3Rv
X2pzb25fb3BlcmF0aW9uKCk7Ci0gICAgICAgIGFzc2VydF9lcXVhbHMobWFwLnNpemUsIDEpOwot
ICAgICAgICBhc3NlcnRfdHJ1ZShtYXAuaGFzKCJiIikpOwotICAgICAgICBhc3NlcnRfZXF1YWxz
KG1hcC5nZXQoImIiKS5pZGxUeXBlLCAibG9uZyIpOwotICAgICAgICBhc3NlcnRfYXJyYXlfZXF1
YWxzKFsuLi5tYXAua2V5cygpXSwgWyJiIl0pOwotICAgIH0sICdzaG91bGQgbm90IGluY2x1ZGUg
YXR0cmlidXRlcyBvZiB0aGUgY3VycmVudCBpbnRlcmZhY2Ugd2hlbiB0aGUgW0RlZmF1bHRdIHRv
SlNPTiBtZXRob2QgaW4gaW5oZXJpdGVkJyk7Ci0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAg
ICAgICB2YXIgY29udGV4dCA9IG5ldyBJZGxBcnJheSgpOwotICAgICAgICBjb250ZXh0LmFkZF9p
ZGxzKCJpbnRlcmZhY2UgQSA6IEIgeyBbRGVmYXVsdF0gb2JqZWN0IHRvSlNPTigpOyB9OyIpOwot
ICAgICAgICBjb250ZXh0LmFkZF9pZGxzKCJpbnRlcmZhY2UgQiA6IEMgeyBbRGVmYXVsdF0gb2Jq
ZWN0IHRvSlNPTigpOyBhdHRyaWJ1dGUgRE9NU3RyaW5nIGZvbzsgfTsiKTsKLSAgICAgICAgY29u
dGV4dC5hZGRfaWRscygiaW50ZXJmYWNlIEMgeyBbRGVmYXVsdF0gb2JqZWN0IHRvSlNPTigpOyBh
dHRyaWJ1dGUgbG9uZyBmb287IH07Iik7Ci0gICAgICAgIHZhciBtYXAgPSBjb250ZXh0Lm1lbWJl
cnMuQS5kZWZhdWx0X3RvX2pzb25fb3BlcmF0aW9uKCk7Ci0gICAgICAgIGFzc2VydF9lcXVhbHMo
bWFwLnNpemUsIDEpOwotICAgICAgICBhc3NlcnRfdHJ1ZShtYXAuaGFzKCJmb28iKSk7Ci0gICAg
ICAgIGFzc2VydF9lcXVhbHMobWFwLmdldCgiZm9vIikuaWRsVHlwZSwgIkRPTVN0cmluZyIpOwot
ICAgIH0sICdhdHRyaWJ1dGVzIGRlY2xhcmVkIGZ1cnRoZXIgYXdheSBpbiB0aGUgaW5oZXJpdGFu
Y2UgaGllcmFyY2h5IHNob3VsZCBiZSBtYXNrZWQgYnkgYXR0cmlidXRlcyBkZWNsYXJlZCBjbG9z
ZXInKTsKLQotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBjb250ZXh0ID0gbmV3
IElkbEFycmF5KCk7Ci0gICAgICAgIGNvbnRleHQuYWRkX2lkbHMoImludGVyZmFjZSBBIDogQiB7
IFtEZWZhdWx0XSBvYmplY3QgdG9KU09OKCk7IGF0dHJpYnV0ZSBET01TdHJpbmcgYTsgfTsiKTsK
LSAgICAgICAgY29udGV4dC5hZGRfaWRscygiaW50ZXJmYWNlIEIgeyBvYmplY3QgdG9KU09OKCk7
IGF0dHJpYnV0ZSBsb25nIGI7IH07Iik7Ci0gICAgICAgIHZhciBtYXAgPSBjb250ZXh0Lm1lbWJl
cnMuQS5kZWZhdWx0X3RvX2pzb25fb3BlcmF0aW9uKCk7Ci0gICAgICAgIGFzc2VydF9lcXVhbHMo
bWFwLnNpemUsIDEpOwotICAgICAgICBhc3NlcnRfdHJ1ZShtYXAuaGFzKCJhIikpOwotICAgICAg
ICBhc3NlcnRfZmFsc2UobWFwLmhhcygiYiIpKTsKLSAgICAgICAgYXNzZXJ0X2VxdWFscyhtYXAu
Z2V0KCJhIikuaWRsVHlwZSwgIkRPTVN0cmluZyIpOwotICAgIH0sICdzaG91bGQgcmV0dXJuIGFu
IG9yZGVyZWQgbWFwIHRoYXQgaWdub3JlcyBhdHRyaWJ1dGVzIG9mIGluaGVyaXRlZCBpbnRlcmZh
Y2VzIHdoaWNoIGRvIG5vdCBkZWNsYXJlIGEgW0RlZmF1bHRdIHRvSlNPTiBvcGVyYXRpb24uJyk7
Ci0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgY29udGV4dCA9IG5ldyBJZGxB
cnJheSgpOwotICAgICAgICBjb250ZXh0LmFkZF9pZGxzKCJpbnRlcmZhY2UgQSB7IFtEZWZhdWx0
XSBvYmplY3QgdG9KU09OKCk7IGF0dHJpYnV0ZSBET01TdHJpbmcgYTsgfTsiKTsKLSAgICAgICAg
Y29udGV4dC5hZGRfaWRscygiaW50ZXJmYWNlIE4geyBbRGVmYXVsdF0gb2JqZWN0IHRvSlNPTigp
OyBhdHRyaWJ1dGUgbG9uZyBuOyB9OyIpOwotICAgICAgICBjb250ZXh0LmFkZF9pZGxzKCJBIGlt
cGxlbWVudHMgTjsiKTsKLSAgICAgICAgdmFyIG1hcCA9IGNvbnRleHQubWVtYmVycy5BLmRlZmF1
bHRfdG9fanNvbl9vcGVyYXRpb24oKTsKLSAgICAgICAgYXNzZXJ0X2FycmF5X2VxdWFscyhbLi4u
bWFwLmtleXMoKV0sIFsiYSIsICJuIl0pOwotICAgICAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKFsu
Li5tYXAudmFsdWVzKCldLm1hcCh2ID0+IHYuaWRsVHlwZSksIFsiRE9NU3RyaW5nIiwgImxvbmci
XSk7Ci0gICAgfSwgJ3Nob3VsZCByZXR1cm4gYSBwcm9wZXJseSBvcmRlcmVkIG1hcCB0aGF0IGFj
Y291bnRzIGZvciBtaXhlZC1pbiBpbnRlcmZhY2VzIHdoaWNoIGRlY2xhcmUgYSBbRGVmYXVsdF0g
dG9KU09OIG9wZXJhdGlvbi4nKTsKLQotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZh
ciBjb250ZXh0ID0gbmV3IElkbEFycmF5KCk7Ci0gICAgICAgIGNvbnRleHQuYWRkX2lkbHMoImlu
dGVyZmFjZSBBIHsgW0RlZmF1bHRdIG9iamVjdCB0b0pTT04oKTsgYXR0cmlidXRlIERPTVN0cmlu
ZyBhOyB9OyIpOwotICAgICAgICBjb250ZXh0LmFkZF9pZGxzKCJpbnRlcmZhY2UgTiB7IGF0dHJp
YnV0ZSBsb25nIG47IH07Iik7Ci0gICAgICAgIGNvbnRleHQuYWRkX2lkbHMoIkEgaW1wbGVtZW50
cyBOOyIpOwotICAgICAgICB2YXIgbWFwID0gY29udGV4dC5tZW1iZXJzLkEuZGVmYXVsdF90b19q
c29uX29wZXJhdGlvbigpOwotICAgICAgICBhc3NlcnRfZXF1YWxzKG1hcC5zaXplLCAxKTsKLSAg
ICAgICAgYXNzZXJ0X3RydWUobWFwLmhhcygiYSIpKTsKLSAgICAgICAgYXNzZXJ0X2ZhbHNlKG1h
cC5oYXMoIm4iKSk7Ci0gICAgICAgIGFzc2VydF9lcXVhbHMobWFwLmdldCgiYSIpLmlkbFR5cGUs
ICJET01TdHJpbmciKTsKLSAgICB9LCAnc2hvdWxkIHJldHVybiBhIHByb3Blcmx5IG9yZGVyZWQg
bWFwIHRoYXQgaWdub3JlcyBtaXhlZC1pbiBpbnRlcmZhY2VzIHdoaWNoIGRvIG5vdCBkZWNsYXJl
IGEgW0RlZmF1bHRdIHRvSlNPTiBvcGVyYXRpb24uJyk7Ci0KLQotICAgIHRlc3QoZnVuY3Rpb24o
KSB7Ci0gICAgICAgIHZhciBjb250ZXh0ID0gbmV3IElkbEFycmF5KCk7Ci0gICAgICAgIGNvbnRl
eHQuYWRkX2lkbHMoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2ZyYWdtZW50cycpLnRleHRDb250
ZW50KTsKLSAgICAgICAgdmFyIG1hcCA9IGNvbnRleHQubWVtYmVycy5BLmRlZmF1bHRfdG9fanNv
bl9vcGVyYXRpb24oKTsKLSAgICAgICAgYXNzZXJ0X2FycmF5X2VxdWFscyhbLi4ubWFwLmtleXMo
KV0sIFsiYiIsICJmIiwgImkiLCAiZCIsICJnIiwgImgiLCAiaiJdKTsKLSAgICAgICAgYXNzZXJ0
X2FycmF5X2VxdWFscyhbLi4ubWFwLnZhbHVlcygpXS5tYXAodiA9PiB2LmlkbFR5cGUpLCBbImxv
bmciLCAidW5yZXN0cmljdGVkIGRvdWJsZSIsICJib29sZWFuIiwgImZsb2F0IiwgIm9jdGV0Iiwg
IkRPTVN0cmluZyIsICJEIl0pOwotICAgIH0sICdzaG91bGQgcmV0dXJuIGEgcHJvcGVybHkgb3Jk
ZXJlZCBtYXAgb2YgbmFtZS90eXBlIHBhaXJzIGhhbmRsaW5nIGluaGVyaXRlZCBhbmQgY29uc2Vx
dWVudGlhbCBpbnRlcmZhY2VzIGFzIHNwZWNpZmllZC4nKTsKLTwvc2NyaXB0PgotPC9ib2R5Pgot
PC9odG1sPgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2lkbGhhcm5lc3MvSWRsSW50ZXJmYWNlL2dl
dF9pbmhlcml0YW5jZV9zdGFjay5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9pZGxoYXJuZXNzL0lkbEludGVyZmFj
ZS9nZXRfaW5oZXJpdGFuY2Vfc3RhY2suaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggYzFkNjE0MTU2NzY5ZTk0NWUxZmVjOThjN2I5M2ZhN2E0NDA3Njg3Ni4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2lkbGhhcm5lc3MvSWRs
SW50ZXJmYWNlL2dldF9pbmhlcml0YW5jZV9zdGFjay5odG1sCisrKyAvZGV2L251bGwKQEAgLTEs
MzUgKzAsMCBAQAotPCFET0NUWVBFIEhUTUw+Ci08aHRtbD4KLTxoZWFkPgotPHRpdGxlPklkbElu
dGVyZmFjZS5wcm90b3R5cGUuZ2V0X2luaGVyaXRhbmNlX3N0YWNrKCk8L3RpdGxlPgotPC9oZWFk
PgotPGJvZHk+Ci08ZGl2IGlkPSJsb2ciPjwvZGl2PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvV2ViSURM
UGFyc2VyLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL2lkbGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uL2hlbHBlci5qcyI+PC9zY3JpcHQ+Ci08c2Ny
aXB0PgotICAgICJ1c2Ugc3RyaWN0IjsKLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICB2
YXIgc3RhY2sgPSBpbnRlcmZhY2VGcm9tKCdpbnRlcmZhY2UgQSB7IH07JykuZ2V0X2luaGVyaXRh
bmNlX3N0YWNrKCk7Ci0gICAgICAgIGFzc2VydF9hcnJheV9lcXVhbHMoc3RhY2subWFwKGkgPT4g
aS5uYW1lKSwgWyJBIl0pOwotICAgIH0sICdzaG91bGQgcmV0dXJuIGFuIGFycmF5IHRoYXQgaW5j
bHVkZXMgaXRzZWxmLicpOwotICAgIAotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZh
ciBpID0gaW50ZXJmYWNlRnJvbSgnaW50ZXJmYWNlIEEgOiBCIHsgfTsnKTsKLSAgICAgICAgYXNz
ZXJ0X3Rocm93cyhuZXcgRXJyb3IoKSwgXyA9PiBpLmdldF9pbmhlcml0YW5jZV9zdGFjaygpKTsK
LSAgICB9LCAic2hvdWxkIHRocm93IGZvciBpbnRlcmZhY2VzIHdoaWNoIGluaGVyaXQgZnJvbSBh
bm90aGVyIGludGVyZmFjZSB3aGljaCB3YXNuJ3QgYWRkZWQgdG8gdGhlIElkbEFycmF5Iik7Ci0g
ICAgCi0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIGlkbCA9IG5ldyBJZGxBcnJh
eSgpOwotICAgICAgICBpZGwuYWRkX2lkbHMoJ2ludGVyZmFjZSBBIDogQiB7IH07Jyk7Ci0gICAg
ICAgIGlkbC5hZGRfdW50ZXN0ZWRfaWRscygnaW50ZXJmYWNlIEIgOiBDIHsgfTsgaW50ZXJmYWNl
IEMgeyB9OycpOwotICAgICAgICB2YXIgQSA9IGlkbC5tZW1iZXJzWyJBIl07Ci0gICAgICAgIGFz
c2VydF9hcnJheV9lcXVhbHMoQS5nZXRfaW5oZXJpdGFuY2Vfc3RhY2soKS5tYXAoaSA9PiBpLm5h
bWUpLCBbIkEiLCAiQiIsICJDIl0pOwotICAgIH0sICdzaG91bGQgcmV0dXJuIGFuIGFycmF5IG9m
IGluaGVyaXRlZCBpbnRlcmZhY2VzIGluIG9yZGVyIG9mIGluaGVyaXRhbmNlLCBzdGFydGluZyB3
aXRoIGl0c2VsZi4nKTsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgotCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90
ZXN0L3Rlc3RzL2lkbGhhcm5lc3MvSWRsSW50ZXJmYWNlL2hhc19kZWZhdWx0X3RvX2pzb25fcmVn
dWxhcl9vcGVyYXRpb24uaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRsaGFybmVzcy9JZGxJbnRlcmZhY2UvaGFz
X2RlZmF1bHRfdG9fanNvbl9yZWd1bGFyX29wZXJhdGlvbi5odG1sCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCA5NDk4YTNhN2JjZWU1NTA0ZDQyZGM3MzhiYjRhNjllMDFiY2E0YWFlLi4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRs
aGFybmVzcy9JZGxJbnRlcmZhY2UvaGFzX2RlZmF1bHRfdG9fanNvbl9yZWd1bGFyX29wZXJhdGlv
bi5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNDcgKzAsMCBAQAotPCFET0NUWVBFIEhUTUw+Ci08
aHRtbD4KLTxoZWFkPgotPHRpdGxlPklkbEludGVyZmFjZS5wcm90b3R5cGUuaGFzX2RlZmF1bHRf
dG9fanNvbl9yZWd1bGFyX29wZXJhdGlvbigpPC90aXRsZT4KLTwvaGVhZD4KLTxib2R5PgotPGRp
diBpZD0ibG9nIj48L2Rpdj4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL1dlYklETFBhcnNlci5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9pZGxoYXJuZXNzLmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIuLi9oZWxwZXIuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLSAgICAidXNl
IHN0cmljdCI7Ci0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIGkgPSBpbnRlcmZh
Y2VGcm9tKCdpbnRlcmZhY2UgQSB7IH07Jyk7Ci0gICAgICAgIGFzc2VydF9mYWxzZShpLmhhc19k
ZWZhdWx0X3RvX2pzb25fcmVndWxhcl9vcGVyYXRpb24oKSk7Ci0gICAgfSwgJ3Nob3VsZCByZXR1
cm4gZmFsc2Ugd2hlbiB0aGUgaW50ZXJmYWNlIGRlY2xhcmVzIG5vIHRvSlNPTiBvcGVyYXRpb24u
Jyk7Ci0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgaSA9IGludGVyZmFjZUZy
b20oJ2ludGVyZmFjZSBBIHsgc3RhdGljIG9iamVjdCB0b0pTT04oKTsgfTsnKTsKLSAgICAgICAg
YXNzZXJ0X2ZhbHNlKGkuaGFzX2RlZmF1bHRfdG9fanNvbl9yZWd1bGFyX29wZXJhdGlvbigpKTsK
LSAgICB9LCAnc2hvdWxkIHJldHVybiBmYWxzZSB3aGVuIHRoZSBpbnRlcmZhY2UgZGVjbGFyZXMg
YSBzdGF0aWMgdG9KU09OIG9wZXJhdGlvbi4nKTsKLQotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0g
ICAgICAgIHZhciBpID0gaW50ZXJmYWNlRnJvbSgnaW50ZXJmYWNlIEEgeyBvYmplY3QgdG9KU09O
KCk7IH07Jyk7Ci0gICAgICAgIGFzc2VydF9mYWxzZShpLmhhc19kZWZhdWx0X3RvX2pzb25fcmVn
dWxhcl9vcGVyYXRpb24oKSk7Ci0gICAgfSwgJ3Nob3VsZCByZXR1cm4gZmFsc2Ugd2hlbiB0aGUg
aW50ZXJmYWNlIGRlY2xhcmVzIGEgcmVndWxhciB0b0pTT04gb3BlcmF0aW9uIHdpdGggbm8gZXh0
ZW5kZWQgYXR0cmlidXRlLicpOwotCi0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgdmFy
IGkgPSBpbnRlcmZhY2VGcm9tKCdpbnRlcmZhY2UgQSB7IFt4XSBvYmplY3QgdG9KU09OKCk7IH07
Jyk7Ci0gICAgICAgIGFzc2VydF9mYWxzZShpLmhhc19kZWZhdWx0X3RvX2pzb25fcmVndWxhcl9v
cGVyYXRpb24oKSk7Ci0gICAgfSwgJ3Nob3VsZCByZXR1cm4gZmFsc2Ugd2hlbiB0aGUgaW50ZXJm
YWNlIGRlY2xhcmVzIGEgcmVndWxhciB0b0pTT04gb3BlcmF0aW9uIHdpdGggYW5vdGhlciBleHRl
bnRlZCBhdHRyaWJ1dGUuJyk7Ci0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIg
aSA9IGludGVyZmFjZUZyb20oJ2ludGVyZmFjZSBBIHsgW0RlZmF1bHRdIG9iamVjdCB0b0pTT04o
KTsgfTsnKTsKLSAgICAgICAgYXNzZXJ0X3RydWUoaS5oYXNfZGVmYXVsdF90b19qc29uX3JlZ3Vs
YXJfb3BlcmF0aW9uKCkpOwotICAgIH0sICdzaG91bGQgcmV0dXJuIHRydWUgd2hlbiB0aGUgaW50
ZXJmYWNlIGRlY2xhcmVzIGEgcmVndWxhciB0b0pTT04gb3BlcmF0aW9uIHdpdGggdGhlIFtEZWZh
dWx0XSBleHRlbnRlZCBhdHRyaWJ1dGUuJyk7Ci0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAg
ICAgICB2YXIgaSA9IGludGVyZmFjZUZyb20oJ2ludGVyZmFjZSBBIHsgW0F0dHIsIEFub3RoZXJB
dHRyLCBEZWZhdWx0XSBvYmplY3QgdG9KU09OKCk7IH07Jyk7Ci0gICAgICAgIGFzc2VydF90cnVl
KGkuaGFzX2RlZmF1bHRfdG9fanNvbl9yZWd1bGFyX29wZXJhdGlvbigpKTsKLSAgICB9LCAnc2hv
dWxkIHJldHVybiB0cnVlIHdoZW4gdGhlIGludGVyZmFjZSBkZWNsYXJlcyBhIHJlZ3VsYXIgdG9K
U09OIG9wZXJhdGlvbiB3aXRoIG11bHRpcGxlIGV4dGVuZGVkIGF0dHJpYnV0ZXMsIGluY2x1ZGlu
ZyBbRGVmYXVsdF0uJyk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KLQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
dGVzdC90ZXN0cy9pZGxoYXJuZXNzL0lkbEludGVyZmFjZS9oYXNfdG9fanNvbl9yZWd1bGFyX29w
ZXJhdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9pZGxoYXJuZXNzL0lkbEludGVyZmFjZS9oYXNfdG9fanNv
bl9yZWd1bGFyX29wZXJhdGlvbi5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBh
NGI0ZTkxYjUzOGNjNmY5ZWU4OWE1ODRkYmI4MjI0ODg5ZDA4MDcxLi4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRsaGFybmVzcy9JZGxJbnRl
cmZhY2UvaGFzX3RvX2pzb25fcmVndWxhcl9vcGVyYXRpb24uaHRtbAorKysgL2Rldi9udWxsCkBA
IC0xLDMyICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLTx0aXRsZT5J
ZGxJbnRlcmZhY2UucHJvdG90eXBlLmhhc190b19qc29uX3JlZ3VsYXJfb3BlcmF0aW9uKCk8L3Rp
dGxlPgotPC9oZWFkPgotPGJvZHk+Ci08ZGl2IGlkPSJsb2ciPjwvZGl2PgotPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvV2ViSURMUGFyc2VyLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L2lkbGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uL2hlbHBlci5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0PgotICAgICJ1c2Ugc3RyaWN0IjsKLSAgICB0ZXN0KGZ1bmN0aW9uKCkg
ewotICAgICAgICB2YXIgaSA9IGludGVyZmFjZUZyb20oJ2ludGVyZmFjZSBBIHsgfTsnKTsKLSAg
ICAgICAgYXNzZXJ0X2ZhbHNlKGkuaGFzX3RvX2pzb25fcmVndWxhcl9vcGVyYXRpb24oKSk7Ci0g
ICAgfSwgJ3Nob3VsZCByZXR1cm4gZmFsc2Ugd2hlbiB0aGUgaW50ZXJmYWNlIGRlY2xhcmVzIG5v
IHRvSlNPTiBvcGVyYXRpb24uJyk7Ci0gICAgCi0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAg
ICAgdmFyIGkgPSBpbnRlcmZhY2VGcm9tKCdpbnRlcmZhY2UgQSB7IHN0YXRpYyBvYmplY3QgdG9K
U09OKCk7IH07Jyk7Ci0gICAgICAgIGFzc2VydF9mYWxzZShpLmhhc190b19qc29uX3JlZ3VsYXJf
b3BlcmF0aW9uKCkpOwotICAgIH0sICdzaG91bGQgcmV0dXJuIGZhbHNlIHdoZW4gdGhlIGludGVy
ZmFjZSBkZWNsYXJlcyBhIHN0YXRpYyB0b0pTT04gb3BlcmF0aW9uLicpOwotICAgIAotICAgIHRl
c3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBpID0gaW50ZXJmYWNlRnJvbSgnaW50ZXJmYWNl
IEEgeyBvYmplY3QgdG9KU09OKCk7IH07Jyk7Ci0gICAgICAgIGFzc2VydF90cnVlKGkuaGFzX3Rv
X2pzb25fcmVndWxhcl9vcGVyYXRpb24oKSk7Ci0gICAgfSwgJ3Nob3VsZCByZXR1cm4gdHJ1ZSB3
aGVuIHRoZSBpbnRlcmZhY2UgZGVjbGFyZXMgYSByZWd1bGFyIHRvSlNPTiBvcGVyYXRpb24uJyk7
Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9pZGxo
YXJuZXNzL0lkbEludGVyZmFjZS90ZXN0X2ltbXV0YWJsZV9wcm90b3R5cGUuaHRtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVz
dHMvaWRsaGFybmVzcy9JZGxJbnRlcmZhY2UvdGVzdF9pbW11dGFibGVfcHJvdG90eXBlLmh0bWwK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDE2MjE0YzRkMjRmOTg2NDgzMDNiN2U5MWQ1
ZWI2YjFhYTg2YTY1OTcuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvdGVzdC90ZXN0cy9pZGxoYXJuZXNzL0lkbEludGVyZmFjZS90ZXN0X2ltbXV0YWJsZV9wcm90
b3R5cGUuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDMyMSArMCwwIEBACi08IURPQ1RZUEUgSFRN
TD4KLTxodG1sPgotPGhlYWQ+Ci0gIDxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KLSAgPHRpdGxlPmlk
bGhhcm5lc3M6IEltbXV0YWJsZSBwcm90b3R5cGVzPC90aXRsZT4KLSAgPHNjcmlwdCBzcmM9Ii4u
Ly4uLy4uLy4uL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLSAgPHNjcmlwdCBzcmM9Ii4uLy4u
Ly4uLy4uL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLSAgPHNjcmlwdCBzcmM9Ii4u
Ly4uLy4uLy4uL1dlYklETFBhcnNlci5qcyI+PC9zY3JpcHQ+Ci0gIDxzY3JpcHQgc3JjPSIuLi8u
Li8uLi8uLi9pZGxoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPHNjcmlw
dD4KLSJ1c2Ugc3RyaWN0dCI7Ci0KLU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh3aW5kb3csICJGb28i
LCB7Ci0gICAgZW51bWVyYWJsZTogZmFsc2UsCi0gICAgd3JpdGFibGU6IHRydWUsCi0gICAgY29u
ZmlndXJhYmxlOiB0cnVlLAotICAgIHZhbHVlOiBmdW5jdGlvbiBGb28oKSB7fQotICB9KTsKLU9i
amVjdC5kZWZpbmVQcm9wZXJ0eSh3aW5kb3cuRm9vLCAicHJvdG90eXBlIiwgewotICAgIHdyaXRh
YmxlOiBmYWxzZSwKLSAgICB2YWx1ZTogd2luZG93LkZvby5wcm90b3R5cGUKLSAgfSk7Ci1Gb28u
cHJvdG90eXBlW1N5bWJvbC50b1N0cmluZ1RhZ10gPSAiRm9vIjsKLQotdmFyIGlkbEFycmF5ID0g
bmV3IElkbEFycmF5KCk7Ci1pZGxBcnJheS5hZGRfdW50ZXN0ZWRfaWRscygiaW50ZXJmYWNlIEV2
ZW50VGFyZ2V0IHt9OyIpOwotaWRsQXJyYXkuYWRkX2lkbHMoCi0gICAgIltHbG9iYWw9V2luZG93
LCBFeHBvc2VkPVdpbmRvd11cbiIgKwotICAgICJpbnRlcmZhY2UgV2luZG93IDogRXZlbnRUYXJn
ZXQge307XG4iICsKLQotICAgICJbR2xvYmFsPVdpbmRvdywgRXhwb3NlZD1XaW5kb3csIENvbnN0
cnVjdG9yKCldXG4iICsKLQkiaW50ZXJmYWNlIEZvbyB7fTsiCi0gICk7Ci1pZGxBcnJheS5hZGRf
b2JqZWN0cyh7Ci0gIEZvbzogWyJuZXcgRm9vKCkiXSwKLSAgV2luZG93OiBbIndpbmRvdyJdCi19
KTsKLWlkbEFycmF5LnRlc3QoKTsKLTwvc2NyaXB0PgotPHNjcmlwdCB0eXBlPSJ0ZXh0L2pzb24i
IGlkPSJleHBlY3RlZCI+Ci17Ci0gICAgInN1bW1hcml6ZWRfc3RhdHVzIjogewotICAgICAgICAi
bWVzc2FnZSI6IG51bGwsCi0gICAgICAgICJzdGF0dXNfc3RyaW5nIjogIk9LIiwKLSAgICAgICAg
InN0YWNrIjogbnVsbAotICAgIH0sCi0gICAgInN1bW1hcml6ZWRfdGVzdHMiOiBbCi0gICAgICAg
IHsKLSAgICAgICAgICAgICJuYW1lIjogIkZvbyBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aCIsCi0g
ICAgICAgICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICAgICAgICJwcm9wZXJ0
aWVzIjoge30sCi0gICAgICAgICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAgICAgICAic3Rh
Y2siOiBudWxsCi0gICAgICAgIH0sCi0gICAgICAgIHsKLSAgICAgICAgICAgICJuYW1lIjogIkZv
byBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUiLAotICAgICAgICAgICAgInN0YXR1c19zdHJpbmciOiAi
UEFTUyIsCi0gICAgICAgICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgICAgICAgIm1lc3Nh
Z2UiOiBudWxsLAotICAgICAgICAgICAgInN0YWNrIjogbnVsbAotICAgICAgICB9LAotICAgICAg
ICB7Ci0gICAgICAgICAgICAibmFtZSI6ICJGb28gaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHBy
b3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCIsCi0gICAgICAgICAgICAic3RhdHVzX3N0cmlu
ZyI6ICJQQVNTIiwKLSAgICAgICAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAgICAgICAi
bWVzc2FnZSI6IG51bGwsCi0gICAgICAgICAgICAic3RhY2siOiBudWxsCi0gICAgICAgIH0sCi0g
ICAgICAgIHsKLSAgICAgICAgICAgICJuYW1lIjogIkZvbyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBh
bmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCIsCi0gICAgICAgICAg
ICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICAgICAgICJwcm9wZXJ0aWVzIjoge30s
Ci0gICAgICAgICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAgICAgICAic3RhY2siOiBudWxs
Ci0gICAgICAgIH0sCi0gICAgICAgIHsKLSAgICAgICAgICAgICJuYW1lIjogIkZvbyBpbnRlcmZh
Y2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVj
dCdzIFwiY29uc3RydWN0b3JcIiBwcm9wZXJ0eSIsCi0gICAgICAgICAgICAic3RhdHVzX3N0cmlu
ZyI6ICJQQVNTIiwKLSAgICAgICAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAgICAgICAi
bWVzc2FnZSI6IG51bGwsCi0gICAgICAgICAgICAic3RhY2siOiBudWxsCi0gICAgICAgIH0sCi0g
ICAgICAgIHsKLSAgICAgICAgICAgICJuYW1lIjogIkZvbyBpbnRlcmZhY2U6IGludGVybmFsIFtb
U2V0UHJvdG90eXBlT2ZdXSBtZXRob2Qgb2YgZ2xvYmFsIHBsYXRmb3JtIG9iamVjdCAtIHNldHRp
bmcgdG8gYSBuZXcgdmFsdWUgdmlhIE9iamVjdC5zZXRQcm90b3R5cGVPZiBzaG91bGQgdGhyb3cg
YSBUeXBlRXJyb3IiLAotICAgICAgICAgICAgInN0YXR1c19zdHJpbmciOiAiRkFJTCIsCi0gICAg
ICAgICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgICAgICAgIm1lc3NhZ2UiOiAiYXNzZXJ0
X3Rocm93czogZnVuY3Rpb24gXCJmdW5jdGlvbigpIHtcbiAgICAgICAgICAgIE9iamVjdC5zZXRQ
cm90b3R5cGVPZihvYmosIG5ld1ZhbHVlKTtcbiAgICAgICAgfVwiIGRpZCBub3QgdGhyb3ciLAot
ICAgICAgICAgICAgInN0YWNrIjogIihpbXBsZW1lbnRhdGlvbi1kZWZpbmVkKSIKLSAgICAgICAg
fSwKLSAgICAgICAgewotICAgICAgICAgICAgIm5hbWUiOiAiRm9vIGludGVyZmFjZTogaW50ZXJu
YWwgW1tTZXRQcm90b3R5cGVPZl1dIG1ldGhvZCBvZiBnbG9iYWwgcGxhdGZvcm0gb2JqZWN0IC0g
c2V0dGluZyB0byBhIG5ldyB2YWx1ZSB2aWEgUmVmbGVjdC5zZXRQcm90b3R5cGVPZiBzaG91bGQg
cmV0dXJuIGZhbHNlIiwKLSAgICAgICAgICAgICJzdGF0dXNfc3RyaW5nIjogIkZBSUwiLAotICAg
ICAgICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICAgICAgICJtZXNzYWdlIjogImFzc2Vy
dF9mYWxzZTogZXhwZWN0ZWQgZmFsc2UgZ290IHRydWUiLAotICAgICAgICAgICAgInN0YWNrIjog
IihpbXBsZW1lbnRhdGlvbi1kZWZpbmVkKSIKLSAgICAgICAgfSwKLSAgICAgICAgewotICAgICAg
ICAgICAgIm5hbWUiOiAiRm9vIGludGVyZmFjZTogaW50ZXJuYWwgW1tTZXRQcm90b3R5cGVPZl1d
IG1ldGhvZCBvZiBnbG9iYWwgcGxhdGZvcm0gb2JqZWN0IC0gc2V0dGluZyB0byBhIG5ldyB2YWx1
ZSB2aWEgX19wcm90b19fIHNob3VsZCB0aHJvdyBhIFR5cGVFcnJvciIsCi0gICAgICAgICAgICAi
c3RhdHVzX3N0cmluZyI6ICJGQUlMIiwKLSAgICAgICAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0g
ICAgICAgICAgICAibWVzc2FnZSI6ICJhc3NlcnRfdGhyb3dzOiBmdW5jdGlvbiBcImZ1bmN0aW9u
KCkge1xuICAgICAgICAgICAgb2JqLl9fcHJvdG9fXyA9IG5ld1ZhbHVlO1xuICAgICAgICB9XCIg
ZGlkIG5vdCB0aHJvdyIsCi0gICAgICAgICAgICAic3RhY2siOiAiKGltcGxlbWVudGF0aW9uLWRl
ZmluZWQpIgotICAgICAgICB9LAotICAgICAgICB7Ci0gICAgICAgICAgICAibmFtZSI6ICJGb28g
aW50ZXJmYWNlOiBpbnRlcm5hbCBbW1NldFByb3RvdHlwZU9mXV0gbWV0aG9kIG9mIGdsb2JhbCBw
bGF0Zm9ybSBvYmplY3QgLSBzZXR0aW5nIHRvIGl0cyBvcmlnaW5hbCB2YWx1ZSB2aWEgT2JqZWN0
LnNldFByb3RvdHlwZU9mIHNob3VsZCBub3QgdGhyb3ciLAotICAgICAgICAgICAgInN0YXR1c19z
dHJpbmciOiAiUEFTUyIsCi0gICAgICAgICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgICAg
ICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgICAgICAgInN0YWNrIjogbnVsbAotICAgICAgICB9
LAotICAgICAgICB7Ci0gICAgICAgICAgICAibmFtZSI6ICJGb28gaW50ZXJmYWNlOiBpbnRlcm5h
bCBbW1NldFByb3RvdHlwZU9mXV0gbWV0aG9kIG9mIGdsb2JhbCBwbGF0Zm9ybSBvYmplY3QgLSBz
ZXR0aW5nIHRvIGl0cyBvcmlnaW5hbCB2YWx1ZSB2aWEgUmVmbGVjdC5zZXRQcm90b3R5cGVPZiBz
aG91bGQgcmV0dXJuIHRydWUiLAotICAgICAgICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIs
Ci0gICAgICAgICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgICAgICAgIm1lc3NhZ2UiOiBu
dWxsLAotICAgICAgICAgICAgInN0YWNrIjogbnVsbAotICAgICAgICB9LAotICAgICAgICB7Ci0g
ICAgICAgICAgICAibmFtZSI6ICJGb28gaW50ZXJmYWNlOiBpbnRlcm5hbCBbW1NldFByb3RvdHlw
ZU9mXV0gbWV0aG9kIG9mIGdsb2JhbCBwbGF0Zm9ybSBvYmplY3QgLSBzZXR0aW5nIHRvIGl0cyBv
cmlnaW5hbCB2YWx1ZSB2aWEgX19wcm90b19fIHNob3VsZCBub3QgdGhyb3ciLAotICAgICAgICAg
ICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAgICAgICAicHJvcGVydGllcyI6IHt9
LAotICAgICAgICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgICAgICAgInN0YWNrIjogbnVs
bAotICAgICAgICB9LAotICAgICAgICB7Ci0gICAgICAgICAgICAibmFtZSI6ICJGb28gaW50ZXJm
YWNlOiBpbnRlcm5hbCBbW1NldFByb3RvdHlwZU9mXV0gbWV0aG9kIG9mIGludGVyZmFjZSBwcm90
b3R5cGUgb2JqZWN0IC0gc2V0dGluZyB0byBhIG5ldyB2YWx1ZSB2aWEgT2JqZWN0LnNldFByb3Rv
dHlwZU9mIHNob3VsZCB0aHJvdyBhIFR5cGVFcnJvciIsCi0gICAgICAgICAgICAic3RhdHVzX3N0
cmluZyI6ICJGQUlMIiwKLSAgICAgICAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAgICAg
ICAibWVzc2FnZSI6ICJhc3NlcnRfdGhyb3dzOiBmdW5jdGlvbiBcImZ1bmN0aW9uKCkge1xuICAg
ICAgICAgICAgT2JqZWN0LnNldFByb3RvdHlwZU9mKG9iaiwgbmV3VmFsdWUpO1xuICAgICAgICB9
XCIgZGlkIG5vdCB0aHJvdyIsCi0gICAgICAgICAgICAic3RhY2siOiAiKGltcGxlbWVudGF0aW9u
LWRlZmluZWQpIgotICAgICAgICB9LAotICAgICAgICB7Ci0gICAgICAgICAgICAibmFtZSI6ICJG
b28gaW50ZXJmYWNlOiBpbnRlcm5hbCBbW1NldFByb3RvdHlwZU9mXV0gbWV0aG9kIG9mIGludGVy
ZmFjZSBwcm90b3R5cGUgb2JqZWN0IC0gc2V0dGluZyB0byBhIG5ldyB2YWx1ZSB2aWEgUmVmbGVj
dC5zZXRQcm90b3R5cGVPZiBzaG91bGQgcmV0dXJuIGZhbHNlIiwKLSAgICAgICAgICAgICJzdGF0
dXNfc3RyaW5nIjogIkZBSUwiLAotICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAg
ICAgICAgICJtZXNzYWdlIjogImFzc2VydF9mYWxzZTogZXhwZWN0ZWQgZmFsc2UgZ290IHRydWUi
LAotICAgICAgICAgICAgInN0YWNrIjogIihpbXBsZW1lbnRhdGlvbi1kZWZpbmVkKSIKLSAgICAg
ICAgfSwKLSAgICAgICAgewotICAgICAgICAgICAgIm5hbWUiOiAiRm9vIGludGVyZmFjZTogaW50
ZXJuYWwgW1tTZXRQcm90b3R5cGVPZl1dIG1ldGhvZCBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9i
amVjdCAtIHNldHRpbmcgdG8gYSBuZXcgdmFsdWUgdmlhIF9fcHJvdG9fXyBzaG91bGQgdGhyb3cg
YSBUeXBlRXJyb3IiLAotICAgICAgICAgICAgInN0YXR1c19zdHJpbmciOiAiRkFJTCIsCi0gICAg
ICAgICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgICAgICAgIm1lc3NhZ2UiOiAiYXNzZXJ0
X3Rocm93czogZnVuY3Rpb24gXCJmdW5jdGlvbigpIHtcbiAgICAgICAgICAgIG9iai5fX3Byb3Rv
X18gPSBuZXdWYWx1ZTtcbiAgICAgICAgfVwiIGRpZCBub3QgdGhyb3ciLAotICAgICAgICAgICAg
InN0YWNrIjogIihpbXBsZW1lbnRhdGlvbi1kZWZpbmVkKSIKLSAgICAgICAgfSwKLSAgICAgICAg
ewotICAgICAgICAgICAgIm5hbWUiOiAiRm9vIGludGVyZmFjZTogaW50ZXJuYWwgW1tTZXRQcm90
b3R5cGVPZl1dIG1ldGhvZCBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCAtIHNldHRpbmcg
dG8gaXRzIG9yaWdpbmFsIHZhbHVlIHZpYSBPYmplY3Quc2V0UHJvdG90eXBlT2Ygc2hvdWxkIG5v
dCB0aHJvdyIsCi0gICAgICAgICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICAg
ICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAgICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAg
ICAgICAgICAic3RhY2siOiBudWxsCi0gICAgICAgIH0sCi0gICAgICAgIHsKLSAgICAgICAgICAg
ICJuYW1lIjogIkZvbyBpbnRlcmZhY2U6IGludGVybmFsIFtbU2V0UHJvdG90eXBlT2ZdXSBtZXRo
b2Qgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgLSBzZXR0aW5nIHRvIGl0cyBvcmlnaW5h
bCB2YWx1ZSB2aWEgUmVmbGVjdC5zZXRQcm90b3R5cGVPZiBzaG91bGQgcmV0dXJuIHRydWUiLAot
ICAgICAgICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAgICAgICAicHJvcGVy
dGllcyI6IHt9LAotICAgICAgICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgICAgICAgInN0
YWNrIjogbnVsbAotICAgICAgICB9LAotICAgICAgICB7Ci0gICAgICAgICAgICAibmFtZSI6ICJG
b28gaW50ZXJmYWNlOiBpbnRlcm5hbCBbW1NldFByb3RvdHlwZU9mXV0gbWV0aG9kIG9mIGludGVy
ZmFjZSBwcm90b3R5cGUgb2JqZWN0IC0gc2V0dGluZyB0byBpdHMgb3JpZ2luYWwgdmFsdWUgdmlh
IF9fcHJvdG9fXyBzaG91bGQgbm90IHRocm93IiwKLSAgICAgICAgICAgICJzdGF0dXNfc3RyaW5n
IjogIlBBU1MiLAotICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICAgICAgICJt
ZXNzYWdlIjogbnVsbCwKLSAgICAgICAgICAgICJzdGFjayI6IG51bGwKLSAgICAgICAgfSwKLSAg
ICAgICAgewotICAgICAgICAgICAgIm5hbWUiOiAiRm9vIG11c3QgYmUgcHJpbWFyeSBpbnRlcmZh
Y2Ugb2YgbmV3IEZvbygpIiwKLSAgICAgICAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAot
ICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICAgICAgICJtZXNzYWdlIjogbnVs
bCwKLSAgICAgICAgICAgICJzdGFjayI6IG51bGwKLSAgICAgICAgfSwKLSAgICAgICAgewotICAg
ICAgICAgICAgIm5hbWUiOiAiU3RyaW5naWZpY2F0aW9uIG9mIG5ldyBGb28oKSIsCi0gICAgICAg
ICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICAgICAgICJwcm9wZXJ0aWVzIjog
e30sCi0gICAgICAgICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAgICAgICAic3RhY2siOiBu
dWxsCi0gICAgICAgIH0sCi0gICAgICAgIHsKLSAgICAgICAgICAgICJuYW1lIjogIlN0cmluZ2lm
aWNhdGlvbiBvZiB3aW5kb3ciLAotICAgICAgICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIs
Ci0gICAgICAgICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgICAgICAgIm1lc3NhZ2UiOiBu
dWxsLAotICAgICAgICAgICAgInN0YWNrIjogbnVsbAotICAgICAgICB9LAotICAgICAgICB7Ci0g
ICAgICAgICAgICAibmFtZSI6ICJXaW5kb3cgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGgiLAotICAg
ICAgICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAgICAgICAicHJvcGVydGll
cyI6IHt9LAotICAgICAgICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgICAgICAgInN0YWNr
IjogbnVsbAotICAgICAgICB9LAotICAgICAgICB7Ci0gICAgICAgICAgICAibmFtZSI6ICJXaW5k
b3cgaW50ZXJmYWNlIG9iamVjdCBuYW1lIiwKLSAgICAgICAgICAgICJzdGF0dXNfc3RyaW5nIjog
IlBBU1MiLAotICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICAgICAgICJtZXNz
YWdlIjogbnVsbCwKLSAgICAgICAgICAgICJzdGFjayI6IG51bGwKLSAgICAgICAgfSwKLSAgICAg
ICAgewotICAgICAgICAgICAgIm5hbWUiOiAiV2luZG93IGludGVyZmFjZTogZXhpc3RlbmNlIGFu
ZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QiLAotICAgICAgICAgICAgInN0YXR1c19z
dHJpbmciOiAiUEFTUyIsCi0gICAgICAgICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgICAg
ICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgICAgICAgInN0YWNrIjogbnVsbAotICAgICAgICB9
LAotICAgICAgICB7Ci0gICAgICAgICAgICAibmFtZSI6ICJXaW5kb3cgaW50ZXJmYWNlOiBleGlz
dGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QiLAotICAg
ICAgICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAgICAgICAicHJvcGVydGll
cyI6IHt9LAotICAgICAgICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgICAgICAgInN0YWNr
IjogbnVsbAotICAgICAgICB9LAotICAgICAgICB7Ci0gICAgICAgICAgICAibmFtZSI6ICJXaW5k
b3cgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3Rv
dHlwZSBvYmplY3QncyBcImNvbnN0cnVjdG9yXCIgcHJvcGVydHkiLAotICAgICAgICAgICAgInN0
YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAgICAgICAicHJvcGVydGllcyI6IHt9LAotICAg
ICAgICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgICAgICAgInN0YWNrIjogbnVsbAotICAg
ICAgICB9LAotICAgICAgICB7Ci0gICAgICAgICAgICAibmFtZSI6ICJXaW5kb3cgaW50ZXJmYWNl
OiBpbnRlcm5hbCBbW1NldFByb3RvdHlwZU9mXV0gbWV0aG9kIG9mIGdsb2JhbCBwbGF0Zm9ybSBv
YmplY3QgLSBzZXR0aW5nIHRvIGEgbmV3IHZhbHVlIHZpYSBPYmplY3Quc2V0UHJvdG90eXBlT2Yg
c2hvdWxkIHRocm93IGEgVHlwZUVycm9yIiwKLSAgICAgICAgICAgICJzdGF0dXNfc3RyaW5nIjog
IlBBU1MiLAotICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICAgICAgICJtZXNz
YWdlIjogbnVsbCwKLSAgICAgICAgICAgICJzdGFjayI6IG51bGwKLSAgICAgICAgfSwKLSAgICAg
ICAgewotICAgICAgICAgICAgIm5hbWUiOiAiV2luZG93IGludGVyZmFjZTogaW50ZXJuYWwgW1tT
ZXRQcm90b3R5cGVPZl1dIG1ldGhvZCBvZiBnbG9iYWwgcGxhdGZvcm0gb2JqZWN0IC0gc2V0dGlu
ZyB0byBhIG5ldyB2YWx1ZSB2aWEgUmVmbGVjdC5zZXRQcm90b3R5cGVPZiBzaG91bGQgcmV0dXJu
IGZhbHNlIiwKLSAgICAgICAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgICAg
ICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAg
ICAgICAgICJzdGFjayI6IG51bGwKLSAgICAgICAgfSwKLSAgICAgICAgewotICAgICAgICAgICAg
Im5hbWUiOiAiV2luZG93IGludGVyZmFjZTogaW50ZXJuYWwgW1tTZXRQcm90b3R5cGVPZl1dIG1l
dGhvZCBvZiBnbG9iYWwgcGxhdGZvcm0gb2JqZWN0IC0gc2V0dGluZyB0byBhIG5ldyB2YWx1ZSB2
aWEgX19wcm90b19fIHNob3VsZCB0aHJvdyBhIFR5cGVFcnJvciIsCi0gICAgICAgICAgICAic3Rh
dHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAg
ICAgICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAgICAgICAic3RhY2siOiBudWxsCi0gICAg
ICAgIH0sCi0gICAgICAgIHsKLSAgICAgICAgICAgICJuYW1lIjogIldpbmRvdyBpbnRlcmZhY2U6
IGludGVybmFsIFtbU2V0UHJvdG90eXBlT2ZdXSBtZXRob2Qgb2YgZ2xvYmFsIHBsYXRmb3JtIG9i
amVjdCAtIHNldHRpbmcgdG8gaXRzIG9yaWdpbmFsIHZhbHVlIHZpYSBPYmplY3Quc2V0UHJvdG90
eXBlT2Ygc2hvdWxkIG5vdCB0aHJvdyIsCi0gICAgICAgICAgICAic3RhdHVzX3N0cmluZyI6ICJQ
QVNTIiwKLSAgICAgICAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAgICAgICAibWVzc2Fn
ZSI6IG51bGwsCi0gICAgICAgICAgICAic3RhY2siOiBudWxsCi0gICAgICAgIH0sCi0gICAgICAg
IHsKLSAgICAgICAgICAgICJuYW1lIjogIldpbmRvdyBpbnRlcmZhY2U6IGludGVybmFsIFtbU2V0
UHJvdG90eXBlT2ZdXSBtZXRob2Qgb2YgZ2xvYmFsIHBsYXRmb3JtIG9iamVjdCAtIHNldHRpbmcg
dG8gaXRzIG9yaWdpbmFsIHZhbHVlIHZpYSBSZWZsZWN0LnNldFByb3RvdHlwZU9mIHNob3VsZCBy
ZXR1cm4gdHJ1ZSIsCi0gICAgICAgICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAg
ICAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAgICAgICAibWVzc2FnZSI6IG51bGwsCi0g
ICAgICAgICAgICAic3RhY2siOiBudWxsCi0gICAgICAgIH0sCi0gICAgICAgIHsKLSAgICAgICAg
ICAgICJuYW1lIjogIldpbmRvdyBpbnRlcmZhY2U6IGludGVybmFsIFtbU2V0UHJvdG90eXBlT2Zd
XSBtZXRob2Qgb2YgZ2xvYmFsIHBsYXRmb3JtIG9iamVjdCAtIHNldHRpbmcgdG8gaXRzIG9yaWdp
bmFsIHZhbHVlIHZpYSBfX3Byb3RvX18gc2hvdWxkIG5vdCB0aHJvdyIsCi0gICAgICAgICAgICAi
c3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0g
ICAgICAgICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAgICAgICAic3RhY2siOiBudWxsCi0g
ICAgICAgIH0sCi0gICAgICAgIHsKLSAgICAgICAgICAgICJuYW1lIjogIldpbmRvdyBpbnRlcmZh
Y2U6IGludGVybmFsIFtbU2V0UHJvdG90eXBlT2ZdXSBtZXRob2Qgb2YgaW50ZXJmYWNlIHByb3Rv
dHlwZSBvYmplY3QgLSBzZXR0aW5nIHRvIGEgbmV3IHZhbHVlIHZpYSBPYmplY3Quc2V0UHJvdG90
eXBlT2Ygc2hvdWxkIHRocm93IGEgVHlwZUVycm9yIiwKLSAgICAgICAgICAgICJzdGF0dXNfc3Ry
aW5nIjogIlBBU1MiLAotICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICAgICAg
ICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICAgICAgICJzdGFjayI6IG51bGwKLSAgICAgICAgfSwK
LSAgICAgICAgewotICAgICAgICAgICAgIm5hbWUiOiAiV2luZG93IGludGVyZmFjZTogaW50ZXJu
YWwgW1tTZXRQcm90b3R5cGVPZl1dIG1ldGhvZCBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVj
dCAtIHNldHRpbmcgdG8gYSBuZXcgdmFsdWUgdmlhIFJlZmxlY3Quc2V0UHJvdG90eXBlT2Ygc2hv
dWxkIHJldHVybiBmYWxzZSIsCi0gICAgICAgICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwK
LSAgICAgICAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAgICAgICAibWVzc2FnZSI6IG51
bGwsCi0gICAgICAgICAgICAic3RhY2siOiBudWxsCi0gICAgICAgIH0sCi0gICAgICAgIHsKLSAg
ICAgICAgICAgICJuYW1lIjogIldpbmRvdyBpbnRlcmZhY2U6IGludGVybmFsIFtbU2V0UHJvdG90
eXBlT2ZdXSBtZXRob2Qgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgLSBzZXR0aW5nIHRv
IGEgbmV3IHZhbHVlIHZpYSBfX3Byb3RvX18gc2hvdWxkIHRocm93IGEgVHlwZUVycm9yIiwKLSAg
ICAgICAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgICAgICAgInByb3BlcnRp
ZXMiOiB7fSwKLSAgICAgICAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICAgICAgICJzdGFj
ayI6IG51bGwKLSAgICAgICAgfSwKLSAgICAgICAgewotICAgICAgICAgICAgIm5hbWUiOiAiV2lu
ZG93IGludGVyZmFjZTogaW50ZXJuYWwgW1tTZXRQcm90b3R5cGVPZl1dIG1ldGhvZCBvZiBpbnRl
cmZhY2UgcHJvdG90eXBlIG9iamVjdCAtIHNldHRpbmcgdG8gaXRzIG9yaWdpbmFsIHZhbHVlIHZp
YSBPYmplY3Quc2V0UHJvdG90eXBlT2Ygc2hvdWxkIG5vdCB0aHJvdyIsCi0gICAgICAgICAgICAi
c3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0g
ICAgICAgICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAgICAgICAic3RhY2siOiBudWxsCi0g
ICAgICAgIH0sCi0gICAgICAgIHsKLSAgICAgICAgICAgICJuYW1lIjogIldpbmRvdyBpbnRlcmZh
Y2U6IGludGVybmFsIFtbU2V0UHJvdG90eXBlT2ZdXSBtZXRob2Qgb2YgaW50ZXJmYWNlIHByb3Rv
dHlwZSBvYmplY3QgLSBzZXR0aW5nIHRvIGl0cyBvcmlnaW5hbCB2YWx1ZSB2aWEgUmVmbGVjdC5z
ZXRQcm90b3R5cGVPZiBzaG91bGQgcmV0dXJuIHRydWUiLAotICAgICAgICAgICAgInN0YXR1c19z
dHJpbmciOiAiUEFTUyIsCi0gICAgICAgICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgICAg
ICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgICAgICAgInN0YWNrIjogbnVsbAotICAgICAgICB9
LAotICAgICAgICB7Ci0gICAgICAgICAgICAibmFtZSI6ICJXaW5kb3cgaW50ZXJmYWNlOiBpbnRl
cm5hbCBbW1NldFByb3RvdHlwZU9mXV0gbWV0aG9kIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2Jq
ZWN0IC0gc2V0dGluZyB0byBpdHMgb3JpZ2luYWwgdmFsdWUgdmlhIF9fcHJvdG9fXyBzaG91bGQg
bm90IHRocm93IiwKLSAgICAgICAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAg
ICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAg
ICAgICAgICAgICJzdGFjayI6IG51bGwKLSAgICAgICAgfSwKLSAgICAgICAgewotICAgICAgICAg
ICAgIm5hbWUiOiAiV2luZG93IG11c3QgYmUgcHJpbWFyeSBpbnRlcmZhY2Ugb2Ygd2luZG93IiwK
LSAgICAgICAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgICAgICAgInByb3Bl
cnRpZXMiOiB7fSwKLSAgICAgICAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICAgICAgICJz
dGFjayI6IG51bGwKLSAgICAgICAgfQotICAgIF0sCi0gICAgInR5cGUiOiAiY29tcGxldGUiCi19
Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRsaGFy
bmVzcy9JZGxJbnRlcmZhY2UvdGVzdF9wcmltYXJ5X2ludGVyZmFjZV9vZi5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0
cy9pZGxoYXJuZXNzL0lkbEludGVyZmFjZS90ZXN0X3ByaW1hcnlfaW50ZXJmYWNlX29mLmh0bWwK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg1OTM0MGEyMzYyMmM4ZmRhMTEwM2FkNDMw
N2YxYWM4NTUyMzE2ZWUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvdGVzdC90ZXN0cy9pZGxoYXJuZXNzL0lkbEludGVyZmFjZS90ZXN0X3ByaW1hcnlfaW50ZXJm
YWNlX29mLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxMTEgKzAsMCBAQAotPCFET0NUWVBFIEhU
TUw+Ci08aHRtbD4KLTxoZWFkPgotICA8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Ci0gIDx0aXRsZT5p
ZGxoYXJuZXNzOiBQcmltYXJ5IGludGVyZmFjZTwvdGl0bGU+Ci0gIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLSAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotICA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy9XZWJJRExQYXJzZXIuanMiPjwvc2NyaXB0PgotICA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy9pZGxoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPHA+VmVyaWZ5IHRo
ZSBzZXJpZXMgb2Ygc3ViLXRlc3RzIHRoYXQgYXJlIGV4ZWN1dGVkIGZvciAidGVzdGVkIiBpbnRl
cmZhY2UKLW9iamVjdHMgYnV0IHNraXBwZWQgZm9yICJ1bnRlc3RlZCIgaW50ZXJmYWNlIG9iamVj
dHMuPC9wPgotPHNjcmlwdD4KLSJ1c2Ugc3RyaWN0IjsKLQotZnVuY3Rpb24gRm9vUGFyZW50KCkg
e30KLU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh3aW5kb3csICJGb28iLCB7Ci0gICAgZW51bWVyYWJs
ZTogZmFsc2UsCi0gICAgd3JpdGFibGU6IHRydWUsCi0gICAgY29uZmlndXJhYmxlOiB0cnVlLAot
ICAgIHZhbHVlOiBmdW5jdGlvbiBGb28oKSB7fQotICB9KTsKLU9iamVjdC5kZWZpbmVQcm9wZXJ0
eSh3aW5kb3cuRm9vLCAicHJvdG90eXBlIiwgewotICAgIHdyaXRhYmxlOiBmYWxzZSwKLSAgICB2
YWx1ZTogbmV3IEZvb1BhcmVudCgpCi0gIH0pOwotT2JqZWN0LmRlZmluZVByb3BlcnR5KHdpbmRv
dy5Gb28ucHJvdG90eXBlLCAiY29uc3RydWN0b3IiLCB7Ci0gICAgZW51bWVyYWJsZTogZmFsc2Us
Ci0gICAgd3JpdGFibGU6IHRydWUsCi0gICAgY29uZmlndXJhYmxlOiB0cnVlLAotICAgIHZhbHVl
OiB3aW5kb3cuRm9vCi0gIH0pOwotRm9vLl9fcHJvdG9fXyA9IEZvb1BhcmVudDsKLUZvby5wcm90
b3R5cGVbU3ltYm9sLnRvU3RyaW5nVGFnXSA9ICJGb28iOwotCi12YXIgaWRsQXJyYXkgPSBuZXcg
SWRsQXJyYXkoKTsKLWlkbEFycmF5LmFkZF91bnRlc3RlZF9pZGxzKCJpbnRlcmZhY2UgRm9vUGFy
ZW50IHt9OyIpOwotaWRsQXJyYXkuYWRkX2lkbHMoCi0gICAgIltDb25zdHJ1Y3RvcigpXVxuIiAr
Ci0gICAgImludGVyZmFjZSBGb28gOiBGb29QYXJlbnQge307IgotICApOwotaWRsQXJyYXkuYWRk
X29iamVjdHMoewotICBGb286IFsibmV3IEZvbygpIl0sCi0gIEZvb1BhcmVudDogWyJuZXcgRm9v
UGFyZW50KCkiXQotfSk7Ci1pZGxBcnJheS50ZXN0KCk7Ci08L3NjcmlwdD4KLTxzY3JpcHQgdHlw
ZT0idGV4dC9qc29uIiBpZD0iZXhwZWN0ZWQiPgotewotICAic3VtbWFyaXplZF9zdGF0dXMiOiB7
Ci0gICAgInN0YXR1c19zdHJpbmciOiAiT0siLAotICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAi
c3RhY2siOiBudWxsCi0gIH0sCi0gICJzdW1tYXJpemVkX3Rlc3RzIjogWwotICAgIHsKLSAgICAg
ICJuYW1lIjogIkZvbyBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aCIsCi0gICAgICAic3RhdHVzX3N0
cmluZyI6ICJQQVNTIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6
IG51bGwsCi0gICAgICAic3RhY2siOiBudWxsCi0gICAgfSwKLSAgICB7Ci0gICAgICAibmFtZSI6
ICJGb28gaW50ZXJmYWNlIG9iamVjdCBuYW1lIiwKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBB
U1MiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAg
ICAgICJzdGFjayI6IG51bGwKLSAgICB9LAotICAgIHsKLSAgICAgICJuYW1lIjogIkZvbyBpbnRl
cmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IiwKLSAg
ICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAg
ICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICJzdGFjayI6IG51bGwKLSAgICB9LAotICAgIHsK
LSAgICAgICJuYW1lIjogIkZvbyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBv
ZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCIsCi0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQ
QVNTIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6IG51bGwsCi0g
ICAgICAic3RhY2siOiBudWxsCi0gICAgfSwKLSAgICB7Ci0gICAgICAibmFtZSI6ICJGb28gaW50
ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBv
YmplY3QncyBcImNvbnN0cnVjdG9yXCIgcHJvcGVydHkiLAotICAgICAgInN0YXR1c19zdHJpbmci
OiAiUEFTUyIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxs
LAotICAgICAgInN0YWNrIjogbnVsbAotICAgIH0sCi0gICAgewotICAgICAgIm5hbWUiOiAiRm9v
IG11c3QgYmUgcHJpbWFyeSBpbnRlcmZhY2Ugb2YgbmV3IEZvbygpIiwKLSAgICAgICJzdGF0dXNf
c3RyaW5nIjogIlBBU1MiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdl
IjogbnVsbCwKLSAgICAgICJzdGFjayI6IG51bGwKLSAgICB9LAotICAgIHsKLSAgICAgICJuYW1l
IjogIlN0cmluZ2lmaWNhdGlvbiBvZiBuZXcgRm9vKCkiLAotICAgICAgInN0YXR1c19zdHJpbmci
OiAiUEFTUyIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxs
LAotICAgICAgInN0YWNrIjogbnVsbAotICAgIH0KLSAgXSwKLSAgInR5cGUiOiAiY29tcGxldGUi
Ci19Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRs
aGFybmVzcy9JZGxJbnRlcmZhY2UvdGVzdF90b19qc29uX29wZXJhdGlvbi5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0
cy9pZGxoYXJuZXNzL0lkbEludGVyZmFjZS90ZXN0X3RvX2pzb25fb3BlcmF0aW9uLmh0bWwKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDE4ZmMzMTkzZmY4YmUwNmZiNzI0MzE5MTQ4YWM4
ZGQxNTc2Nzg0Y2QuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
dGVzdC90ZXN0cy9pZGxoYXJuZXNzL0lkbEludGVyZmFjZS90ZXN0X3RvX2pzb25fb3BlcmF0aW9u
Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxOTAgKzAsMCBAQAotPCFET0NUWVBFIEhUTUw+Ci08
aHRtbD4KLTxoZWFkPgotICA8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Ci0gIDx0aXRsZT5JZGxJbnRl
cmZhY2UucHJvdG90eXBlLnRlc3RfdG9fanNvbl9vcGVyYXRpb24oKTwvdGl0bGU+Ci0gIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLSAgPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotICA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy9XZWJJRExQYXJzZXIuanMiPjwvc2NyaXB0PgotICA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy9pZGxoYXJuZXNzLmpzIj48L3NjcmlwdD4KLSAgPHNjcmlwdCBzcmM9Ii4u
L2hlbHBlci5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxzY3JpcHQ+Ci0gICAgInVz
ZSBzdHJpY3QiOwotICAgIGZ1bmN0aW9uIHdyYXAob2JqKSB7Ci0gICAgICAgIGZ1bmN0aW9uIEYo
b2JqKSB7Ci0gICAgICAgICAgICB0aGlzLl9vYmogPSBvYmo7Ci0gICAgICAgIH0KLQotICAgICAg
ICBGLnByb3RvdHlwZS50b0pTT04gPSBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgIHJldHVybiB0
aGlzLl9vYmo7Ci0gICAgICAgIH0KLQotICAgICAgICByZXR1cm4gbmV3IEYob2JqKTsKLSAgICB9
Ci0KLSAgICB2YXIgaSwgb2JqOwotICAgIGkgPSBpbnRlcmZhY2VGcm9tKCJpbnRlcmZhY2UgQSB7
IFtEZWZhdWx0XSBvYmplY3QgdG9KU09OKCk7IGF0dHJpYnV0ZSBsb25nIGZvbzsgfTsiKTsKLSAg
ICBpLnRlc3RfdG9fanNvbl9vcGVyYXRpb24od3JhcCh7IGZvbzogMTIzIH0pLCBpLm1lbWJlcnNb
MF0pOwotCi0gICAgLy8gc2hvdWxkIGZhaWwgKHdyb25nIHR5cGUpCi0gICAgaSA9IGludGVyZmFj
ZUZyb20oImludGVyZmFjZSBCIHsgW0RlZmF1bHRdIG9iamVjdCB0b0pTT04oKTsgYXR0cmlidXRl
IGxvbmcgZm9vOyB9OyIpOwotICAgIGkudGVzdF90b19qc29uX29wZXJhdGlvbih3cmFwKHsgZm9v
OiAiYSB2YWx1ZSIgfSksIGkubWVtYmVyc1swXSk7Ci0KLSAgICAvLyBzaG91bGQgaGFuZGxlIGV4
dHJhbmVvdXMgYXR0cmlidXRlcyAoZS5nLiBmcm9tIGFuIGV4dGVuc2lvbiBzcGVjaWZpY2F0aW9u
KQotICAgIGkgPSBpbnRlcmZhY2VGcm9tKCJpbnRlcmZhY2UgQyB7IFtEZWZhdWx0XSBvYmplY3Qg
dG9KU09OKCk7IGF0dHJpYnV0ZSBsb25nIGZvbzsgfTsiKTsKLSAgICBpLnRlc3RfdG9fanNvbl9v
cGVyYXRpb24od3JhcCh7IGZvbzogMTIzLCBiYXI6IDQ1NiB9KSwgaS5tZW1iZXJzWzBdKTsKLQot
ICAgIC8vIHNob3VsZCBmYWlsIChtaXNzaW5nIHByb3BlcnR5KQotICAgIGkgPSBpbnRlcmZhY2VG
cm9tKCJpbnRlcmZhY2UgRCB7IFtEZWZhdWx0XSBvYmplY3QgdG9KU09OKCk7IGF0dHJpYnV0ZSBs
b25nIGZvbzsgfTsiKTsKLSAgICBpLnRlc3RfdG9fanNvbl9vcGVyYXRpb24od3JhcCh7IH0pLCBp
Lm1lbWJlcnNbMF0pOwotCi0gICAgLy8gc2hvdWxkIGZhaWwgKHNob3VsZCBiZSB3cml0YWJsZSkK
LSAgICBvYmogPSBPYmplY3QuZGVmaW5lUHJvcGVydGllcyh7fSwgeyBmb286IHsKLSAgICAgICAg
d3JpdGFibGU6IGZhbHNlLAotICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLAotICAgICAgICBjb25m
aWd1cmFibGU6IHRydWUsCi0gICAgICAgIHZhbHVlOiAxMjMKLSAgICB9fSk7Ci0gICAgaSA9IGlu
dGVyZmFjZUZyb20oImludGVyZmFjZSBGIHsgW0RlZmF1bHRdIG9iamVjdCB0b0pTT04oKTsgYXR0
cmlidXRlIGxvbmcgZm9vOyB9OyIpOwotICAgIGkudGVzdF90b19qc29uX29wZXJhdGlvbih3cmFw
KG9iaiksIGkubWVtYmVyc1swXSk7Ci0KLSAgICAvLyBzaG91bGQgZmFpbCAoc2hvdWxkIGJlIGVu
dW1lcmFibGUpCi0gICAgb2JqID0gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoe30sIHsgZm9vOiB7
Ci0gICAgICAgIHdyaXRhYmxlOiB0cnVlLAotICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwKLSAg
ICAgICAgY29uZmlndXJhYmxlOiB0cnVlLAotICAgICAgICB2YWx1ZTogMTIzCi0gICAgfX0pOwot
ICAgIGkgPSBpbnRlcmZhY2VGcm9tKCJpbnRlcmZhY2UgRyB7IFtEZWZhdWx0XSBvYmplY3QgdG9K
U09OKCk7IGF0dHJpYnV0ZSBsb25nIGZvbzsgfTsiKTsKLSAgICBpLnRlc3RfdG9fanNvbl9vcGVy
YXRpb24od3JhcChvYmopLCBpLm1lbWJlcnNbMF0pOwotCi0gICAgLy8gc2hvdWxkIGZhaWwgKHNo
b3VsZCBiZSBjb25maWd1cmFibGUpCi0gICAgb2JqID0gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMo
e30sIHsgZm9vOiB7Ci0gICAgICAgIHdyaXRhYmxlOiB0cnVlLAotICAgICAgICBlbnVtZXJhYmxl
OiB0cnVlLAotICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlLAotICAgICAgICB2YWx1ZTogMTIz
Ci0gICAgfX0pOwotICAgIGkgPSBpbnRlcmZhY2VGcm9tKCJpbnRlcmZhY2UgSCB7IFtEZWZhdWx0
XSBvYmplY3QgdG9KU09OKCk7IGF0dHJpYnV0ZSBsb25nIGZvbzsgfTsiKTsKLSAgICBpLnRlc3Rf
dG9fanNvbl9vcGVyYXRpb24od3JhcChvYmopLCBpLm1lbWJlcnNbMF0pOwotCi0gICAgdmFyIGlk
bCA9IG5ldyBJZGxBcnJheSgpOwotICAgIGlkbC5hZGRfaWRscygiaW50ZXJmYWNlIEkgOiBKIHsg
W0RlZmF1bHRdIG9iamVjdCB0b0pTT04oKTsgYXR0cmlidXRlIGxvbmcgZm9vOyB9OyIpOwotICAg
IGlkbC5hZGRfaWRscygiaW50ZXJmYWNlIEogeyBbRGVmYXVsdF0gb2JqZWN0IHRvSlNPTigpOyBh
dHRyaWJ1dGUgRE9NU3RyaW5nIGZvbzt9OyIpOwotICAgIHZhciBpID0gaWRsLm1lbWJlcnMuSTsK
LSAgICBpLnRlc3RfdG9fanNvbl9vcGVyYXRpb24od3JhcCh7IGZvbzogMTIzIH0pLCBpLm1lbWJl
cnNbMF0pOwotCi0gICAgaSA9IGludGVyZmFjZUZyb20oImludGVyZmFjZSBLIHsgW0RlZmF1bHRd
IG9iamVjdCB0b0pTT04oKTsgfTsiKTsKLSAgICBpLnRlc3RfdG9fanNvbl9vcGVyYXRpb24od3Jh
cCh7fSksIGkubWVtYmVyc1swXSk7Ci0KLSAgICBpID0gaW50ZXJmYWNlRnJvbSgiaW50ZXJmYWNl
IEwgeyBET01TdHJpbmcgdG9KU09OKCk7IH07Iik7Ci0gICAgaS50ZXN0X3RvX2pzb25fb3BlcmF0
aW9uKHdyYXAoImEgc3RyaW5nIiksIGkubWVtYmVyc1swXSk7Ci0KLSAgICAvLyBzaG91bGQgZmFp
bCAod3Jvbmcgb3V0cHV0IHR5cGUpCi0gICAgaSA9IGludGVyZmFjZUZyb20oImludGVyZmFjZSBN
IHsgRE9NU3RyaW5nIHRvSlNPTigpOyB9OyIpOwotICAgIGkudGVzdF90b19qc29uX29wZXJhdGlv
bih3cmFwKHt9KSwgaS5tZW1iZXJzWzBdKTsKLQotICAgIC8vIHNob3VsZCBmYWlsIChub3QgYW4g
SURMIHR5cGUpCi0gICAgaSA9IGludGVyZmFjZUZyb20oImludGVyZmFjZSBOIHsgRE9NRXhjZXB0
aW9uIHRvSlNPTigpOyB9OyIpOwotICAgIGkudGVzdF90b19qc29uX29wZXJhdGlvbih3cmFwKHt9
KSwgaS5tZW1iZXJzWzBdKTsKLTwvc2NyaXB0PgotPHNjcmlwdCB0eXBlPSJ0ZXh0L2pzb24iIGlk
PSJleHBlY3RlZCI+Ci0gICAgewotICAgICAgICAic3VtbWFyaXplZF9zdGF0dXMiOiB7Ci0gICAg
ICAgICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAgICAgICAic3RhY2siOiBudWxsLAotICAg
ICAgICAgICAgInN0YXR1c19zdHJpbmciOiAiT0siCi0gICAgICAgIH0sCi0gICAgICAgICJzdW1t
YXJpemVkX3Rlc3RzIjogWwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJtZXNzYWdl
IjogbnVsbCwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJUZXN0IGRlZmF1bHQgdG9KU09OIG9w
ZXJhdGlvbiBvZiBBIiwKLSAgICAgICAgICAgICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAg
ICAgICAgICAgICJzdGFjayI6IG51bGwsCi0gICAgICAgICAgICAgICAgInN0YXR1c19zdHJpbmci
OiAiUEFTUyIKLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAg
Im1lc3NhZ2UiOiAiYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgXCJudW1iZXJcIiBidXQgZ290IFwi
c3RyaW5nXCIiLAotICAgICAgICAgICAgICAgICJuYW1lIjogIlRlc3QgZGVmYXVsdCB0b0pTT04g
b3BlcmF0aW9uIG9mIEIiLAotICAgICAgICAgICAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAg
ICAgICAgICAgICAgInN0YWNrIjogIihpbXBsZW1lbnRhdGlvbi1kZWZpbmVkKSIsCi0gICAgICAg
ICAgICAgICAgInN0YXR1c19zdHJpbmciOiAiRkFJTCIKLSAgICAgICAgICAgIH0sCi0gICAgICAg
ICAgICB7Ci0gICAgICAgICAgICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgICAgICAgICAg
ICJuYW1lIjogIlRlc3QgZGVmYXVsdCB0b0pTT04gb3BlcmF0aW9uIG9mIEMiLAotICAgICAgICAg
ICAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAgICAgICAgICAgInN0YWNrIjogbnVsbCwK
LSAgICAgICAgICAgICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIgotICAgICAgICAgICAgfSwK
LSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAibWVzc2FnZSI6ICJhc3NlcnRfdHJ1ZTog
cHJvcGVydHkgXCJmb29cIiBzaG91bGQgYmUgcHJlc2VudCBpbiB0aGUgb3V0cHV0IG9mIEQucHJv
dG90eXBlLnRvSlNPTigpIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlIiwKLSAgICAgICAgICAgICAg
ICAibmFtZSI6ICJUZXN0IGRlZmF1bHQgdG9KU09OIG9wZXJhdGlvbiBvZiBEIiwKLSAgICAgICAg
ICAgICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgICAgICAgICAgICJzdGFjayI6ICIoaW1w
bGVtZW50YXRpb24tZGVmaW5lZCkiLAotICAgICAgICAgICAgICAgICJzdGF0dXNfc3RyaW5nIjog
IkZBSUwiCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJt
ZXNzYWdlIjogImFzc2VydF90cnVlOiBwcm9wZXJ0eSBmb28gc2hvdWxkIGJlIHdyaXRhYmxlIGV4
cGVjdGVkIHRydWUgZ290IGZhbHNlIiwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJUZXN0IGRl
ZmF1bHQgdG9KU09OIG9wZXJhdGlvbiBvZiBGIiwKLSAgICAgICAgICAgICAgICAicHJvcGVydGll
cyI6IHt9LAotICAgICAgICAgICAgICAgICJzdGFjayI6ICIoaW1wbGVtZW50YXRpb24tZGVmaW5l
ZCkiLAotICAgICAgICAgICAgICAgICJzdGF0dXNfc3RyaW5nIjogIkZBSUwiCi0gICAgICAgICAg
ICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJtZXNzYWdlIjogImFzc2VydF90
cnVlOiBwcm9wZXJ0eSBmb28gc2hvdWxkIGJlIGVudW1lcmFibGUgZXhwZWN0ZWQgdHJ1ZSBnb3Qg
ZmFsc2UiLAotICAgICAgICAgICAgICAgICJuYW1lIjogIlRlc3QgZGVmYXVsdCB0b0pTT04gb3Bl
cmF0aW9uIG9mIEciLAotICAgICAgICAgICAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAg
ICAgICAgICAgInN0YWNrIjogIihpbXBsZW1lbnRhdGlvbi1kZWZpbmVkKSIsCi0gICAgICAgICAg
ICAgICAgInN0YXR1c19zdHJpbmciOiAiRkFJTCIKLSAgICAgICAgICAgIH0sCi0gICAgICAgICAg
ICB7Ci0gICAgICAgICAgICAgICAgIm1lc3NhZ2UiOiAiYXNzZXJ0X3RydWU6IHByb3BlcnR5IGZv
byBzaG91bGQgYmUgY29uZmlndXJhYmxlIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlIiwKLSAgICAg
ICAgICAgICAgICAibmFtZSI6ICJUZXN0IGRlZmF1bHQgdG9KU09OIG9wZXJhdGlvbiBvZiBIIiwK
LSAgICAgICAgICAgICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgICAgICAgICAgICJzdGFj
ayI6ICIoaW1wbGVtZW50YXRpb24tZGVmaW5lZCkiLAotICAgICAgICAgICAgICAgICJzdGF0dXNf
c3RyaW5nIjogIkZBSUwiCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAg
ICAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJUZXN0IGRl
ZmF1bHQgdG9KU09OIG9wZXJhdGlvbiBvZiBJIiwKLSAgICAgICAgICAgICAgICAicHJvcGVydGll
cyI6IHt9LAotICAgICAgICAgICAgICAgICJzdGFjayI6IG51bGwsCi0gICAgICAgICAgICAgICAg
InN0YXR1c19zdHJpbmciOiAiUEFTUyIKLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0g
ICAgICAgICAgICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgICAgICAgICAgICJuYW1lIjog
IlRlc3QgZGVmYXVsdCB0b0pTT04gb3BlcmF0aW9uIG9mIEsiLAotICAgICAgICAgICAgICAgICJw
cm9wZXJ0aWVzIjoge30sCi0gICAgICAgICAgICAgICAgInN0YWNrIjogbnVsbCwKLSAgICAgICAg
ICAgICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIgotICAgICAgICAgICAgfSwKLSAgICAgICAg
ICAgIHsKLSAgICAgICAgICAgICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAgICAgICAgICAg
Im5hbWUiOiAiVGVzdCB0b0pTT04gb3BlcmF0aW9uIG9mIEwiLAotICAgICAgICAgICAgICAgICJw
cm9wZXJ0aWVzIjoge30sCi0gICAgICAgICAgICAgICAgInN0YWNrIjogbnVsbCwKLSAgICAgICAg
ICAgICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIgotICAgICAgICAgICAgfSwKLSAgICAgICAg
ICAgIHsKLSAgICAgICAgICAgICAgICAibWVzc2FnZSI6ICJhc3NlcnRfZXF1YWxzOiBleHBlY3Rl
ZCBcInN0cmluZ1wiIGJ1dCBnb3QgXCJvYmplY3RcIiIsCi0gICAgICAgICAgICAgICAgIm5hbWUi
OiAiVGVzdCB0b0pTT04gb3BlcmF0aW9uIG9mIE0iLAotICAgICAgICAgICAgICAgICJwcm9wZXJ0
aWVzIjoge30sCi0gICAgICAgICAgICAgICAgInN0YWNrIjogIihpbXBsZW1lbnRhdGlvbi1kZWZp
bmVkKSIsCi0gICAgICAgICAgICAgICAgInN0YXR1c19zdHJpbmciOiAiRkFJTCIKLSAgICAgICAg
ICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgIm1lc3NhZ2UiOiAiYXNzZXJ0
X3RydWU6IHtcInNlcXVlbmNlXCI6ZmFsc2UsXCJnZW5lcmljXCI6bnVsbCxcIm51bGxhYmxlXCI6
ZmFsc2UsXCJhcnJheVwiOmZhbHNlLFwidW5pb25cIjpmYWxzZSxcImlkbFR5cGVcIjpcIkRPTUV4
Y2VwdGlvblwifSBpcyBub3QgYW4gYXBwcm9wcmlhdGUgcmV0dXJuIHZhbHVlIGZvciB0aGUgdG9K
U09OIG9wZXJhdGlvbiBvZiBOIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlIiwKLSAgICAgICAgICAg
ICAgICAibmFtZSI6ICJUZXN0IHRvSlNPTiBvcGVyYXRpb24gb2YgTiIsCi0gICAgICAgICAgICAg
ICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICAgICAgICAgICAic3RhY2siOiAiKGltcGxlbWVu
dGF0aW9uLWRlZmluZWQpIiwKLSAgICAgICAgICAgICAgICAic3RhdHVzX3N0cmluZyI6ICJGQUlM
IgotICAgICAgICAgICAgfQotICAgICAgICBdLAotICAgICAgICAidHlwZSI6ICJjb21wbGV0ZSIK
LSAgICB9Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2lkbGhhcm5lc3MvSWRsSW50ZXJmYWNlL3RyYXZl
cnNlX2luaGVyaXRlZF9hbmRfY29uc2VxdWVudGlhbF9pbnRlcmZhY2VzLmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3Rz
L2lkbGhhcm5lc3MvSWRsSW50ZXJmYWNlL3RyYXZlcnNlX2luaGVyaXRlZF9hbmRfY29uc2VxdWVu
dGlhbF9pbnRlcmZhY2VzLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDFhMTky
OTE5YWY4ZDdjZTg3ZTdjMjcxOTIyY2RlMmU0MjQyMWJlODkuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9pZGxoYXJuZXNzL0lkbEludGVyZmFj
ZS90cmF2ZXJzZV9pbmhlcml0ZWRfYW5kX2NvbnNlcXVlbnRpYWxfaW50ZXJmYWNlcy5odG1sCisr
KyAvZGV2L251bGwKQEAgLTEsNjUgKzAsMCBAQAotPCFET0NUWVBFIEhUTUw+Ci08aHRtbD4KLTxo
ZWFkPgotPHRpdGxlPklkbERpY3Rpb25hcnkucHJvdG90eXBlLnRyYXZlcnNlX2luaGVyaXRlZF9h
bmRfY29uc2VxdWVudGlhbF9pbnRlcmZhY2VzKCk8L3RpdGxlPgotPC9oZWFkPgotPGJvZHk+Ci08
ZGl2IGlkPSJsb2ciPjwvZGl2PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvV2ViSURMUGFyc2VyLmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL2lkbGhhcm5lc3MuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii4uL2hlbHBlci5qcyI+PC9zY3JpcHQ+Ci08cHJlIGlkPWZyYWdtZW50
cz4KLSAgICBpbnRlcmZhY2UgQSA6IEIgeyB9OwotICAgIGludGVyZmFjZSBCIDogQyB7IH07Ci0g
ICAgaW50ZXJmYWNlIEMgeyB9OwotICAgIGludGVyZmFjZSBEIDogRSB7IH07Ci0gICAgaW50ZXJm
YWNlIEUgOiBGIHsgfTsKLSAgICBpbnRlcmZhY2UgRiB7IH07Ci0gICAgaW50ZXJmYWNlIEcgeyB9
OwotICAgIGludGVyZmFjZSBIIHsgfTsKLSAgICBpbnRlcmZhY2UgSSB7IH07Ci0gICAgaW50ZXJm
YWNlIEogeyB9OwotCi0gICAgQSBpbXBsZW1lbnRzIEc7Ci0gICAgQSBpbXBsZW1lbnRzIEg7Ci0g
ICAgQiBpbXBsZW1lbnRzIEQ7Ci0gICAgRSBpbXBsZW1lbnRzIEk7Ci0gICAgSCBpbXBsZW1lbnRz
IEo7Ci08L3ByZT4KLTxzY3JpcHQ+Ci0gICAgInVzZSBzdHJpY3QiOwotICAgIHRlc3QoZnVuY3Rp
b24oKSB7Ci0gICAgICAgIHZhciBpbnRlcmZhY2VzID0gW107Ci0gICAgICAgIGludGVyZmFjZUZy
b20oJ2ludGVyZmFjZSBBIHsgfTsnKS50cmF2ZXJzZV9pbmhlcml0ZWRfYW5kX2NvbnNlcXVlbnRp
YWxfaW50ZXJmYWNlcyhmdW5jdGlvbihpKSB7Ci0gICAgICAgICAgICBpbnRlcmZhY2VzLnB1c2go
aS5uYW1lKTsKLSAgICAgICAgfSk7Ci0gICAgICAgIGFzc2VydF9hcnJheV9lcXVhbHMoaW50ZXJm
YWNlcywgWyJBIl0pOwotICAgIH0sICdzaG91bGQgcmV0dXJuIGFuIGFycmF5IHRoYXQgaW5jbHVk
ZXMgaXRzZWxmLicpOwotICAgIAotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBj
b250ZXh0ID0gbmV3IElkbEFycmF5KCk7Ci0gICAgICAgIGNvbnRleHQuYWRkX2lkbHMoImludGVy
ZmFjZSBBIHsgfTsgQSBpbXBsZW1lbnRzIEI7Iik7Ci0gICAgICAgIGFzc2VydF90aHJvd3MobmV3
IEVycm9yKCksIF8gPT4gY29udGV4dC5tZW1iZXJzWyJBIl0udHJhdmVyc2VfaW5oZXJpdGVkX2Fu
ZF9jb25zZXF1ZW50aWFsX2ludGVyZmFjZXMoZnVuY3Rpb24oKSB7fSkpOwotICAgIH0sICJzaG91
bGQgdGhyb3cgZm9yIGludGVyZmFjZXMgd2hpY2ggYXJlIGV4dGVuZGVkIGJ5IGFub3RoZXIgaW50
ZXJmYWNlIHdoaWNoIHdhc24ndCBhZGRlZCB0byB0aGUgSWRsQXJyYXkuIik7Ci0KLSAgICB0ZXN0
KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgY29udGV4dCA9IG5ldyBJZGxBcnJheSgpOwotICAg
ICAgICBjb250ZXh0LmFkZF9pZGxzKCJpbnRlcmZhY2UgQSB7IH07Iik7Ci0gICAgICAgIGFzc2Vy
dF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCBfID0+IGNvbnRleHQubWVtYmVyc1siQSJdLnRyYXZl
cnNlX2luaGVyaXRlZF9hbmRfY29uc2VxdWVudGlhbF9pbnRlcmZhY2VzKCkpOwotICAgIH0sICJz
aG91bGQgdGhyb3cgaWYgbm90IHBhc3NlZCBhIGNhbGxiYWNrIik7Ci0gICAgCi0gICAgdGVzdChm
dW5jdGlvbigpIHsKLSAgICAgICAgdmFyIGNvbnRleHQgPSBuZXcgSWRsQXJyYXkoKTsKLSAgICAg
ICAgY29udGV4dC5hZGRfaWRscyhkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZnJhZ21lbnRzJyku
dGV4dENvbnRlbnQpOwotICAgICAgICB2YXIgaW50ZXJmYWNlcyA9IFtdOwotICAgICAgICBjb250
ZXh0Lm1lbWJlcnNbIkEiXS50cmF2ZXJzZV9pbmhlcml0ZWRfYW5kX2NvbnNlcXVlbnRpYWxfaW50
ZXJmYWNlcyhmdW5jdGlvbihpKSB7Ci0gICAgICAgICAgICBpbnRlcmZhY2VzLnB1c2goaS5uYW1l
KTsKLSAgICAgICAgfSk7Ci0gICAgICAgIGFzc2VydF9hcnJheV9lcXVhbHMoaW50ZXJmYWNlcywg
WyJDIiwgIkIiLCAiRiIsICJFIiwgIkkiLCAiRCIsICJBIiwgIkciLCAiSCIsICJKIl0pOwotICAg
IH0sICdzaG91bGQgcmV0dXJuIGFuIGFycmF5IHRoYXQgaW5jbHVkZXMgdGhlIGlkZW50aWZpZXIg
b2YgdGhlIGludGVyZmFjZXMgaW4gdGhlIGNvcnJlY3Qgb3JkZXIuJyk7Ci08L3NjcmlwdD4KLTwv
Ym9keT4KLTwvaHRtbD4KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9pZGxoYXJuZXNzL0lkbEludGVy
ZmFjZS93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRsaGFybmVzcy9JZGxJbnRlcmZhY2UvdzNj
LWltcG9ydC5sb2cKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDc1YWUzMjE2N2QxNmQ1
MjFlYjY2YTU2N2FiNGM4YmY2NmY0ZGZlNDUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9pZGxoYXJuZXNzL0lkbEludGVyZmFjZS93M2MtaW1w
b3J0LmxvZworKysgL2Rldi9udWxsCkBAIC0xLDI0ICswLDAgQEAKLVRoZSB0ZXN0cyBpbiB0aGlz
IGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgotRG8gTk9U
IG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUg
YSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMKLQotVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0
LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKLQotRG8gTk9UIG1vZGlmeSBvciByZW1v
dmUgdGhpcyBmaWxlLgotCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLVByb3BlcnRpZXMgcmVxdWlyaW5nIHZl
bmRvciBwcmVmaXhlczoKLU5vbmUKLVByb3BlcnR5IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9yIHBy
ZWZpeGVzOgotTm9uZQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1MaXN0IG9mIGZpbGVzOgotL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMv
aWRsaGFybmVzcy9JZGxJbnRlcmZhY2UvZGVmYXVsdF90b19qc29uX29wZXJhdGlvbi5odG1sCi0v
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVz
dC90ZXN0cy9pZGxoYXJuZXNzL0lkbEludGVyZmFjZS9nZXRfaW5oZXJpdGFuY2Vfc3RhY2suaHRt
bAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3Rlc3QvdGVzdHMvaWRsaGFybmVzcy9JZGxJbnRlcmZhY2UvaGFzX2RlZmF1bHRfdG9fanNvbl9y
ZWd1bGFyX29wZXJhdGlvbi5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9pZGxoYXJuZXNzL0lkbEludGVyZmFjZS9o
YXNfdG9fanNvbl9yZWd1bGFyX29wZXJhdGlvbi5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9pZGxoYXJuZXNzL0lk
bEludGVyZmFjZS90ZXN0X2ltbXV0YWJsZV9wcm90b3R5cGUuaHRtbAotL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRsaGFy
bmVzcy9JZGxJbnRlcmZhY2UvdGVzdF9wcmltYXJ5X2ludGVyZmFjZV9vZi5odG1sCi0vTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0
cy9pZGxoYXJuZXNzL0lkbEludGVyZmFjZS90ZXN0X3RvX2pzb25fb3BlcmF0aW9uLmh0bWwKLS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0
L3Rlc3RzL2lkbGhhcm5lc3MvSWRsSW50ZXJmYWNlL3RyYXZlcnNlX2luaGVyaXRlZF9hbmRfY29u
c2VxdWVudGlhbF9pbnRlcmZhY2VzLmh0bWwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRsaGFybmVz
cy9JZGxJbnRlcmZhY2VNZW1iZXIvaXNfdG9fanNvbl9yZWd1bGFyX29wZXJhdGlvbi5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVz
dC90ZXN0cy9pZGxoYXJuZXNzL0lkbEludGVyZmFjZU1lbWJlci9pc190b19qc29uX3JlZ3VsYXJf
b3BlcmF0aW9uLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGFjOTIzZGQ1YThm
OTlkZWY5OGY4NzRlNDUxYTViYTc3ZDEyZDVmNjcuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9pZGxoYXJuZXNzL0lkbEludGVyZmFjZU1lbWJl
ci9pc190b19qc29uX3JlZ3VsYXJfb3BlcmF0aW9uLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw0
MiArMCwwIEBACi08IURPQ1RZUEUgSFRNTD4KLTxodG1sPgotPGhlYWQ+Ci08dGl0bGU+SWRsSW50
ZXJmYWNlTWVtYmVyLnByb3RvdHlwZS5pc190b19qc29uX3JlZ3VsYXJfb3BlcmF0aW9uKCk8L3Rp
dGxlPgotPC9oZWFkPgotPGJvZHk+Ci08ZGl2IGlkPSJsb2ciPjwvZGl2PgotPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvV2ViSURMUGFyc2VyLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L2lkbGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uL2hlbHBlci5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0PgotICAgICJ1c2Ugc3RyaWN0IjsKLSAgICB0ZXN0KGZ1bmN0aW9uKCkg
ewotICAgICAgICB2YXIgbSA9IG1lbWJlckZyb20oInJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJp
bmcgZm9vIik7Ci0gICAgICAgIGFzc2VydF9mYWxzZShtLmlzX3RvX2pzb25fcmVndWxhcl9vcGVy
YXRpb24oKSk7Ci0gICAgfSwgJ3Nob3VsZCByZXR1cm4gZmFsc2Ugd2hlbiBtZW1iZXIgaXMgYW4g
YXR0cmlidXRlLicpOwotCi0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIG0gPSBt
ZW1iZXJGcm9tKCJzdGF0aWMgdm9pZCBmb28oKSIpOwotICAgICAgICBhc3NlcnRfZmFsc2UobS5p
c190b19qc29uX3JlZ3VsYXJfb3BlcmF0aW9uKCkpOwotICAgIH0sICdzaG91bGQgcmV0dXJuIGZh
bHNlIHdoZW4gbWVtYmVyIGlzIGEgc3RhdGljIG9wZXJhdGlvbi4nKTsKLQotICAgIHRlc3QoZnVu
Y3Rpb24oKSB7Ci0gICAgICAgIHZhciBtID0gbWVtYmVyRnJvbSgic3RhdGljIG9iamVjdCB0b0pT
T04oKSIpOwotICAgICAgICBhc3NlcnRfZmFsc2UobS5pc190b19qc29uX3JlZ3VsYXJfb3BlcmF0
aW9uKCkpOwotICAgIH0sICdzaG91bGQgcmV0dXJuIGZhbHNlIHdoZW4gbWVtYmVyIGlzIGEgc3Rh
dGljIHRvSlNPTiBvcGVyYXRpb24uJyk7Ci0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAg
ICB2YXIgbSA9IG1lbWJlckZyb20oIm9iamVjdCB0b0pTT04oKSIpOwotICAgICAgICBhc3NlcnRf
dHJ1ZShtLmlzX3RvX2pzb25fcmVndWxhcl9vcGVyYXRpb24oKSk7Ci0gICAgfSwgJ3Nob3VsZCBy
ZXR1cm4gdHJ1ZSB3aGVuIG1lbWJlciBpcyBhIHJlZ3VsYXIgdG9KU09OIG9wZXJhdGlvbi4nKTsK
LQotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBtID0gbWVtYmVyRnJvbSgiW0Zv
b10gb2JqZWN0IHRvSlNPTigpIik7Ci0gICAgICAgIGFzc2VydF90cnVlKG0uaXNfdG9fanNvbl9y
ZWd1bGFyX29wZXJhdGlvbigpKTsKLSAgICB9LCAnc2hvdWxkIHJldHVybiB0cnVlIHdoZW4gbWVt
YmVyIGlzIGEgcmVndWxhciB0b0pTT04gb3BlcmF0aW9uIHdpdGggZXh0ZW5zaWJsZSBhdHRyaWJ1
dGVzLicpOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+Ci0KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVz
dHMvaWRsaGFybmVzcy9JZGxJbnRlcmZhY2VNZW1iZXIvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3Rz
L2lkbGhhcm5lc3MvSWRsSW50ZXJmYWNlTWVtYmVyL3czYy1pbXBvcnQubG9nCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCBkNDczZGNlNzUwNzlhZDY4ODA5YjI3ZWFjMmE4ZmU1YzI4Yzcx
NTUzLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVz
dHMvaWRsaGFybmVzcy9JZGxJbnRlcmZhY2VNZW1iZXIvdzNjLWltcG9ydC5sb2cKKysrIC9kZXYv
bnVsbApAQCAtMSwxNyArMCwwIEBACi1UaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBp
bXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KLURvIE5PVCBtb2RpZnkgdGhlc2UgdGVz
dHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9u
IHRoZSBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzCi0KLVRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2Vi
S2l0IHRvIHJlaW1wb3J0Ci0KLURvIE5PVCBtb2RpZnkgb3IgcmVtb3ZlIHRoaXMgZmlsZS4KLQot
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tCi1Qcm9wZXJ0aWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6Ci1O
b25lCi1Qcm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKLU5vbmUKLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLQotTGlzdCBvZiBmaWxlczoKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2lkbGhhcm5lc3MvSWRsSW50
ZXJmYWNlTWVtYmVyL2lzX3RvX2pzb25fcmVndWxhcl9vcGVyYXRpb24uaHRtbApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
dGVzdC90ZXN0cy9pZGxoYXJuZXNzL09XTkVSUyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRsaGFybmVzcy9PV05FUlMK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDM3ZTgwOTUwMTdjZGE5YTc3MDU4MGQ2NWQ4
YmFiNTA3YWVhNTFhMzEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvdGVzdC90ZXN0cy9pZGxoYXJuZXNzL09XTkVSUworKysgL2Rldi9udWxsCkBAIC0xICswLDAg
QEAKLUB0b2JpZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9pZGxoYXJuZXNzL2Jhc2ljLmh0bWwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0
L3Rlc3RzL2lkbGhhcm5lc3MvYmFzaWMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggZGEzYzNmYWFhMWMyMGE5NjQwZGE4MDFlNjk1YzM0OTQ5NzM1ZDUwOC4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2lkbGhhcm5lc3MvYmFz
aWMuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDM1ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgot
PGh0bWw+Ci08aGVhZD4KLTx0aXRsZT5pZGxoYXJuZXNzIGJhc2ljPC90aXRsZT4KLTwvaGVhZD4K
LTxib2R5PgotPGRpdiBpZD0ibG9nIj48L2Rpdj4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL1dlYklETFBh
cnNlci5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9pZGxoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQ+Ci0gICAgInVzZSBzdHJpY3QiOwotICAgIHRlc3QoZnVuY3Rp
b24oKSB7Ci0gICAgICAgIGFzc2VydF90cnVlKCJJZGxBcnJheSIgaW4gd2luZG93KTsKLSAgICB9
LCAnSWRsQXJyYXkgY29uc3RydWN0b3Igc2hvdWxkIGJlIGEgZ2xvYmFsIG9iamVjdCcpOwotICAg
IHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIGFzc2VydF90cnVlKG5ldyBJZGxBcnJheSgpIGlu
c3RhbmNlb2YgSWRsQXJyYXkpOwotICAgIH0sICdJZGxBcnJheSBjb25zdHJ1Y3RvciBzaG91bGQg
YmUgY29uc3RydWN0aWJsZScpOwotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIGFzc2Vy
dF90cnVlKCJXZWJJREwyIiBpbiB3aW5kb3cpOwotICAgIH0sICdXZWJJREwyIG5hbWVzcGFjZSBz
aG91bGQgYmUgYSBnbG9iYWwgb2JqZWN0Jyk7Ci0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAg
ICAgYXNzZXJ0X2VxdWFscyh0eXBlb2YgV2ViSURMMi5wYXJzZSwgImZ1bmN0aW9uIik7Ci0gICAg
fSwgJ1dlYklETDIgbmFtZXNwYWNlIHNob3VsZCBoYXZlIGEgcGFyc2UgbWV0aG9kJyk7Ci0gICAg
dGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCks
IGZ1bmN0aW9uKCkgeyAgV2ViSURMMi5wYXJzZSgiSSdtIGEgc3ludGF4IGVycm9yIik7IH0pOwot
ICAgIH0sICdXZWJJREwyIHBhcnNlIG1ldGhvZCBzaG91bGQgYmFpbCBvbiBpbmNvcnJlY3QgV2Vi
SURMJyk7Ci0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgYXNzZXJ0X2VxdWFscyh0eXBl
b2YgV2ViSURMMi5wYXJzZSgiaW50ZXJmYWNlIEZvbyB7fTsiKSwgIm9iamVjdCIpOwotICAgIH0s
ICdXZWJJREwyIHBhcnNlIG1ldGhvZCBzaG91bGQgcHJvZHVjZSBhbiBBU1QgZm9yIGNvcnJlY3Qg
V2ViSURMJyk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KLQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90
ZXN0cy9pZGxoYXJuZXNzL2hlbHBlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRsaGFybmVzcy9oZWxwZXIuanMK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDJiNzM1MjdmZjJiZWNlZGZhN2QxOTFkN2Q4
MmU3NmMxYzM3OGZmMjUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvdGVzdC90ZXN0cy9pZGxoYXJuZXNzL2hlbHBlci5qcworKysgL2Rldi9udWxsCkBAIC0xLDI0
ICswLDAgQEAKLSJ1c2Ugc3RyaWN0IjsKLQotdmFyIHR5cGVkZWZGcm9tID0gaW50ZXJmYWNlRnJv
bTsKLXZhciBkaWN0aW9uYXJ5RnJvbSA9IGludGVyZmFjZUZyb207Ci1mdW5jdGlvbiBpbnRlcmZh
Y2VGcm9tKGkpIHsKLSAgICB2YXIgaWRsID0gbmV3IElkbEFycmF5KCk7Ci0gICAgaWRsLmFkZF9p
ZGxzKGkpOwotICAgIGZvciAodmFyIHByb3AgaW4gaWRsLm1lbWJlcnMpIHsKLSAgICAgICAgcmV0
dXJuIGlkbC5tZW1iZXJzW3Byb3BdOwotICAgIH0KLX0KLQotZnVuY3Rpb24gbWVtYmVyRnJvbSht
KSB7Ci0gICAgdmFyIGlkbCA9IG5ldyBJZGxBcnJheSgpOwotICAgIGlkbC5hZGRfaWRscygnaW50
ZXJmYWNlIEEgeyAnICsgbSArICc7IH07Jyk7Ci0gICAgcmV0dXJuIGlkbC5tZW1iZXJzWyJBIl0u
bWVtYmVyc1swXTsKLX0KLQotZnVuY3Rpb24gdHlwZUZyb20odHlwZSkgewotICAgIHZhciBhc3Qg
PSBXZWJJREwyLnBhcnNlKCdpbnRlcmZhY2UgRm9vIHsgJyArIHR5cGUgKyAnIGEoKTsgfTsnKTsK
LSAgICBhc3QgPSBhc3RbMF07IC8vIGdldCB0aGUgZmlyc3QgZnJhZ21lbnQKLSAgICBhc3QgPSBh
c3QubWVtYmVyc1swXTsgLy8gZ2V0IHRoZSBmaXJzdCBtZW1iZXIKLSAgICByZXR1cm4gYXN0Lmlk
bFR5cGU7IC8vIGdldCB0aGUgdHlwZSBvZiB0aGUgZmlyc3QgZmllbGQKLX0KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rl
c3QvdGVzdHMvaWRsaGFybmVzcy93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRsaGFybmVzcy93
M2MtaW1wb3J0LmxvZwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzdmNzMwNWViZWZj
N2NiNzQxMDdiNzlhOTZiNjdkYWY2YjkzNDkzYi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2lkbGhhcm5lc3MvdzNjLWltcG9ydC5sb2cKKysr
IC9kZXYvbnVsbApAQCAtMSwxOSArMCwwIEBACi1UaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkg
d2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KLURvIE5PVCBtb2RpZnkgdGhl
c2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1
ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzCi0KLVRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMg
aW4gV2ViS2l0IHRvIHJlaW1wb3J0Ci0KLURvIE5PVCBtb2RpZnkgb3IgcmVtb3ZlIHRoaXMgZmls
ZS4KLQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1Qcm9wZXJ0aWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4
ZXM6Ci1Ob25lCi1Qcm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKLU5v
bmUKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLQotTGlzdCBvZiBmaWxlczoKLS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2lkbGhhcm5lc3Mv
T1dORVJTCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvdGVzdC90ZXN0cy9pZGxoYXJuZXNzL2Jhc2ljLmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2lkbGhhcm5l
c3MvaGVscGVyLmpzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2lmcmFtZS1jYWxsYmFjay5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVz
dC90ZXN0cy9pZnJhbWUtY2FsbGJhY2suaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMWE4YjJjYmMwMGZmYzlmNmQ0OGFmM2Y3MTFlYjBjYzgwZjllYzU3ZS4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2lmcmFtZS1jYWxsYmFj
ay5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTE4ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgot
PGh0bWw+Ci08aGVhZD4KLTx0aXRsZT5FeGFtcGxlIHdpdGggaWZyYW1lIHRoYXQgbm90aWZpZXMg
Y29udGFpbmluZyBkb2N1bWVudCB2aWEgY2FsbGJhY2tzPC90aXRsZT4KLTxzY3JpcHQgc3JjPSIu
Li8uLi90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgb25sb2FkPSJzdGFydF90
ZXN0X2luX2lmcmFtZSgpIj4KLTxoMT5DYWxsYmFja3MgRnJvbSBUZXN0cyBSdW5uaW5nIEluIEFu
IElGUkFNRTwvaDE+Ci08cD5BIHRlc3QgaXMgcnVuIGluc2lkZSBhbiA8dHQ+aWZyYW1lPC90dD4g
d2l0aCBhIHNhbWUgb3JpZ2luIGRvY3VtZW50LiBUaGUKLWNvbnRhaW5pbmcgZG9jdW1lbnQgc2hv
dWxkIHJlY2VpdmUgY2FsbGJhY2tzIGFzIHRoZSB0ZXN0cyBwcm9ncmVzcyBpbnNpZGUgdGhlCi08
dHQ+aWZyYW1lPC90dD4uIEEgc2luZ2xlIHBhc3NpbmcgdGVzdCBpcyBleHBlY3RlZCBpbiB0aGUg
c3VtbWFyeSBiZWxvdy4KLTxkaXYgaWQ9ImxvZyI+PC9kaXY+Ci0KLTxzY3JpcHQ+Ci12YXIgY2Fs
bGJhY2tzID0gW107Ci12YXIgU1RBUlQgPSAxCi12YXIgVEVTVF9TVEFURSA9IDIKLXZhciBSRVNV
TFQgPSAzCi12YXIgQ09NUExFVElPTiA9IDQKLXZhciB0ZXN0X2NvbXBsZXRlID0gZmFsc2U7Ci0K
LXNldHVwKHtleHBsaWNpdF9kb25lOiB0cnVlfSk7Ci0KLS8vIFRoZSBmb2xsb3dpbmcgY2FsbGJh
Y2tzIGFyZSBjYWxsZWQgZm9yIHRlc3RzIGluIHRoaXMgZG9jdW1lbnQgYXMgd2VsbCBhcyB0aGUK
LS8vIHRlc3RzIGluIHRoZSBJRlJBTUUuIEN1cnJlbnRseSwgY2FsbGJhY2tzIGludm9rZWQgZnJv
bSB0aGlzIGRvY3VtZW50IGFuZCBhbnkKLS8vIGNoaWxkIGRvY3VtZW50IGFyZSBpbmRpc3Rpbmd1
aXNoYWJsZSBmcm9tIGVhY2ggb3RoZXIuCi0KLWZ1bmN0aW9uIHN0YXJ0X2NhbGxiYWNrKHByb3Bl
cnRpZXMpIHsKLSAgICBjYWxsYmFja3MucHVzaChTVEFSVCk7Ci19Ci0KLWZ1bmN0aW9uIHRlc3Rf
c3RhdGVfY2FsbGJhY2sodGVzdCkgewotICAgIGNhbGxiYWNrcy5wdXNoKFRFU1RfU1RBVEUpOwot
fQotCi1mdW5jdGlvbiByZXN1bHRfY2FsbGJhY2sodGVzdCkgewotICAgIGNhbGxiYWNrcy5wdXNo
KFJFU1VMVCk7Ci19Ci0KLWZ1bmN0aW9uIGNvbXBsZXRpb25fY2FsbGJhY2sodGVzdHMsIHN0YXR1
cykgewotICAgIGlmICh0ZXN0X2NvbXBsZXRlKSB7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0g
ICAgdGVzdF9jb21wbGV0ZSA9IHRydWU7Ci0gICAgY2FsbGJhY2tzLnB1c2goQ09NUExFVElPTik7
Ci0gICAgdmVyaWZ5X3JlY2VpdmVkX2NhbGxiYWNrcygpOwotICAgIGRvbmUoKTsKLX0KLQotZnVu
Y3Rpb24gdmVyaWZ5X3JlY2VpdmVkX2NhbGxiYWNrcygpIHsKLSAgICB2YXIgY29weV9vZl9jYWxs
YmFja3MgPSBjYWxsYmFja3Muc2xpY2UoMCk7Ci0KLSAgICAvLyBOb3RlIHRoYXQgeW91IGNhbid0
IHJ1biB0ZXN0IGFzc2VydGlvbnMgZGlyZWN0bHkgaW4gYSBjYWxsYmFjayBldmVuIGlmCi0gICAg
Ly8gdGhpcyBpcyBhIGZpbGUgdGVzdC4gV2hlbiB0aGUgY2FsbGJhY2sgaXMgaW52b2tlZCBmcm9t
IGEgc2FtZS1vcmlnaW4gY2hpbGQKLSAgICAvLyBwYWdlLCB0aGUgY2FsbHN0YWNrIHJlYWNoZXMg
aW50byB0aGUgY2FsbGluZyBjaGlsZCBkb2N1bWVudC4gQW55Ci0gICAgLy8gZXhjZXB0aW9uIHRo
cm93biBpbiBhIGNhbGxiYWNrIHdpbGwgYmUgaGFuZGxlZCBieSB0aGUgY2hpbGQgcmF0aGVyIHRo
YW4KLSAgICAvLyB0aGlzIGRvY3VtZW50LgotICAgIHRlc3QoCi0gICAgICAgIGZ1bmN0aW9uKCkg
ewotICAgICAgICAgICAgLy8gY2FsbGJhY2tzIGxpc3Qgc2hvdWxkIGxvb2sgbGlrZToKLSAgICAg
ICAgICAgIC8vICAgICBTVEFSVCAxKihURVNUX1NUQVRFKSBSRVNVTFQgQ09NUExFVElPTgotICAg
ICAgICAgICAgYXNzZXJ0X2VxdWFscyhjb3B5X29mX2NhbGxiYWNrcy5zaGlmdCgpLCBTVEFSVCwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgIlRoZSBmaXJzdCByZWNlaXZlZCBjYWxsYmFjayBz
aG91bGQgYmUgJ3N0YXJ0X2NhbGxiYWNrJy4iKTsKLSAgICAgICAgICAgIGFzc2VydF9lcXVhbHMo
Y29weV9vZl9jYWxsYmFja3Muc2hpZnQoKSwgVEVTVF9TVEFURSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgIid0ZXN0X3N0YXRlX2NhbGxiYWNrJyBzaG91bGQgYmUgcmVjZWl2ZWQgYmVmb3Jl
IGFueSAiICsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgInJlc3VsdCBvciBjb21wbGV0aW9u
IGNhbGxiYWNrcy4iKTsKLSAgICAgICAgICAgIHdoaWxlKGNvcHlfb2ZfY2FsbGJhY2tzLmxlbmd0
aCA+IDApIHsKLSAgICAgICAgICAgICAgICB2YXIgY2FsbGJhY2sgPSBjb3B5X29mX2NhbGxiYWNr
cy5zaGlmdCgpOwotICAgICAgICAgICAgICAgIGlmIChjYWxsYmFjayAhPSBURVNUX1NUQVRFKSB7
Ci0gICAgICAgICAgICAgICAgICAgIGNvcHlfb2ZfY2FsbGJhY2tzLnVuc2hpZnQoY2FsbGJhY2sp
OwotICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAg
ICAgICB9Ci0gICAgICAgICAgICBhc3NlcnRfZXF1YWxzKGNvcHlfb2ZfY2FsbGJhY2tzLnNoaWZ0
KCksIFJFU1VMVCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIid0ZXN0X3N0YXRlX2NhbGxi
YWNrJyBzaG91bGQgYmUgZm9sbG93ZWQgYnkgJ3Jlc3VsdF9jYWxsYmFjaycuIik7Ci0gICAgICAg
ICAgICBhc3NlcnRfZXF1YWxzKGNvcHlfb2ZfY2FsbGJhY2tzLnNoaWZ0KCksIENPTVBMRVRJT04s
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICJGaW5hbCAncmVzdWx0X2NhbGxiYWNrJyBzaG91
bGQgYmUgZm9sbG93ZWQgYnkgJ2NvbXBsZXRpb25fY2FsbGJhY2snLiIpOwotICAgICAgICAgICAg
YXNzZXJ0X2VxdWFscyhjb3B5X29mX2NhbGxiYWNrcy5sZW5ndGgsIDAsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICInY29tcGxldGlvbl9jYWxsYmFjaycgc2hvdWxkIGJlIHRoZSBsYXN0IGNh
bGxiYWNrLiIpOwotICAgICAgICB9KTsKLX0KLQotZnVuY3Rpb24gc3RhcnRfdGVzdF9pbl9pZnJh
bWUoKSB7Ci0gICAgLy8gVGhpcyBkb2N1bWVudCBpcyBnb2luZyB0byBjbGVhciBhbnkgcmVjZWl2
ZWQgY2FsbGJhY2tzIGFuZCBtYWludGFpbgotICAgIC8vIHJhZGlvIHNpbGVuY2UgdW50aWwgdGhl
IHRlc3QgaW4gdGhlIGlmcmFtZSBydW5zIHRvIGNvbXBsZXRpb24uIFRoZQotICAgIC8vIGNvbXBs
ZXRpb25fY2FsbGJhY2soKSB3aWxsIHRoZW4gY29tcGxldGUgdGhlIHRlc3Rpbmcgb24gdGhpcyBk
b2N1bWVudC4KLSAgICBjYWxsYmFja3MubGVuZ3RoID0gMDsKLSAgICB2YXIgaWZyYW1lID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7Ci0gICAgLy8gc2luZ2xlLXBhZ2UtdGVzdC1w
YXNzLmh0bWwgaGFzIGEgc2luZ2xlIHRlc3QuCi0gICAgaWZyYW1lLnNyYyA9ICJzaW5nbGUtcGFn
ZS10ZXN0LXBhc3MuaHRtbCI7Ci0gICAgaWZyYW1lLnN0eWxlLnNldFByb3BlcnR5KCJkaXNwbGF5
IiwgIm5vbmUiKTsKLSAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGFyZ2V0IikuYXBwZW5k
Q2hpbGQoaWZyYW1lKTsKLX0KLTwvc2NyaXB0PgotCi08ZGl2IGlkPSJ0YXJnZXQiPgotPC9kaXY+
Ci08c2NyaXB0IHR5cGU9InRleHQvanNvbiIgaWQ9ImV4cGVjdGVkIj4KLXsKLSAgInN1bW1hcml6
ZWRfc3RhdHVzIjogewotICAgICJzdGF0dXNfc3RyaW5nIjogIk9LIiwKLSAgICAibWVzc2FnZSI6
IG51bGwsCi0gICAgInN0YWNrIjogbnVsbAotICB9LAotICAic3VtbWFyaXplZF90ZXN0cyI6IFsK
LSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1lIjogIkV4
YW1wbGUgd2l0aCBpZnJhbWUgdGhhdCBub3RpZmllcyBjb250YWluaW5nIGRvY3VtZW50IHZpYSBj
YWxsYmFja3MiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogbnVs
bCwKLSAgICAgICJzdGFjayI6IG51bGwKLSAgICB9Ci0gIF0sCi0gICJ0eXBlIjogImNvbXBsZXRl
IgotfQotPC9zY3JpcHQ+Ci08L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2lmcmFtZS1jb25z
b2xpZGF0ZS1lcnJvcnMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWZyYW1lLWNvbnNvbGlkYXRlLWVycm9ycy5o
dG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmZDIwZDRmNzFmNTkyM2RlOTM0YzEz
YmQ0ODIyNTY1M2ZkYmQwYTUzLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3Rlc3QvdGVzdHMvaWZyYW1lLWNvbnNvbGlkYXRlLWVycm9ycy5odG1sCisrKyAvZGV2
L251bGwKQEAgLTEsNDYgKzAsMCBAQAotPCFET0NUWVBFIEhUTUw+Ci08aHRtbD4KLTxoZWFkPgot
PHRpdGxlPkV4YW1wbGUgd2l0aCBpZnJhbWUgdGhhdCBjb25zb2xpZGF0ZXMgZXJyb3JzIHZpYSBm
ZXRjaF90ZXN0c19mcm9tX3dpbmRvdzwvdGl0bGU+Ci08c2NyaXB0IHNyYz0iLi4vLi4vdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci12YXIgcGFyZW50X3Rlc3QgPSBhc3luY190ZXN0KCJU
ZXN0IGV4ZWN1dGluZyBpbiBwYXJlbnQgY29udGV4dCIpOwotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08
Ym9keSBvbmxvYWQ9InBhcmVudF90ZXN0LmRvbmUoKSI+Ci08aDE+RmV0Y2hpbmcgVGVzdHMgRnJv
bSBhIENoaWxkIENvbnRleHQ8L2gxPgotPHA+VGhpcyB0ZXN0IGRlbW9uc3RyYXRlcyB0aGUgdXNl
IG9mIDx0dD5mZXRjaF90ZXN0c19mcm9tX3dpbmRvdzwvdHQ+IHRvIHB1bGwKLXRlc3RzIGZyb20g
YW4gPHR0PmlmcmFtZTwvdHQ+IGludG8gdGhlIHByaW1hcnkgZG9jdW1lbnQuPC9wPgotPHA+VGhl
IHRlc3Qgc3VpdGUgaXMgZXhwZWN0ZWQgdG8gZmFpbCBkdWUgdG8gYW4gdW5oYW5kbGVkIGV4Y2Vw
dGlvbiBpbiB0aGUKLWNoaWxkIGNvbnRleHQuPC9wPgotPGRpdiBpZD0ibG9nIj48L2Rpdj4KLQot
PGlmcmFtZSBpZD0iY2hpbGRDb250ZXh0IiBzcmM9InVuY2F1Z2h0LWV4Y2VwdGlvbi1oYW5kbGUu
aHRtbCIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+PC9pZnJhbWU+Ci08IS0tIGFwaXNhbXBsZTQuaHRt
bCBpcyBhIGZhaWxpbmcgc3VpdGUgZHVlIHRvIGFuIHVuaGFuZGxlZCBFcnJvci4gLS0+Ci0KLTxz
Y3JpcHQ+Ci0JdmFyIGNoaWxkQ29udGV4dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjaGls
ZENvbnRleHQiKTsKLQlmZXRjaF90ZXN0c19mcm9tX3dpbmRvdyhjaGlsZENvbnRleHQuY29udGVu
dFdpbmRvdyk7Ci08L3NjcmlwdD4KLTxzY3JpcHQgdHlwZT0idGV4dC9qc29uIiBpZD0iZXhwZWN0
ZWQiPgotewotICAic3VtbWFyaXplZF9zdGF0dXMiOiB7Ci0gICAgInN0YXR1c19zdHJpbmciOiAi
RVJST1IiLAotICAgICJtZXNzYWdlIjogIkVycm9yIGluIHJlbW90ZTogRXJyb3I6IEV4YW1wbGUg
RXJyb3IiLAotICAgICJzdGFjayI6IG51bGwKLSAgfSwKLSAgInN1bW1hcml6ZWRfdGVzdHMiOiBb
Ci0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJU
ZXN0IGV4ZWN1dGluZyBpbiBwYXJlbnQgY29udGV4dCIsCi0gICAgICAicHJvcGVydGllcyI6IHt9
LAotICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgInN0YWNrIjogbnVsbAotICAgIH0KLSAg
XSwKLSAgInR5cGUiOiAiY29tcGxldGUiCi19Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWZyYW1lLWNvbnNvbGlkYXRlLXRlc3RzLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rl
c3RzL2lmcmFtZS1jb25zb2xpZGF0ZS10ZXN0cy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCA5MGM1ZjhlY2U5ZjY2MzY1OGVmNzFkZWJhNTU2YTA2MmUxNmFlNmYzLi4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWZyYW1lLWNv
bnNvbGlkYXRlLXRlc3RzLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw5NSArMCwwIEBACi08IURP
Q1RZUEUgSFRNTD4KLTxodG1sPgotPGhlYWQ+Ci08dGl0bGU+RXhhbXBsZSB3aXRoIGlmcmFtZSB0
aGF0IGNvbnNvbGlkYXRlcyB0ZXN0cyB2aWEgZmV0Y2hfdGVzdHNfZnJvbV93aW5kb3c8L3RpdGxl
PgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIuLi8uLi90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotdmFy
IHBhcmVudF90ZXN0ID0gYXN5bmNfdGVzdCgiVGVzdCBleGVjdXRpbmcgaW4gcGFyZW50IGNvbnRl
eHQiKTsKLTwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgb25sb2FkPSJwYXJlbnRfdGVzdC5kb25l
KCkiPgotPGgxPkZldGNoaW5nIFRlc3RzIEZyb20gYSBDaGlsZCBDb250ZXh0PC9oMT4KLTxwPlRo
aXMgdGVzdCBkZW1vbnN0cmF0ZXMgdGhlIHVzZSBvZiA8dHQ+ZmV0Y2hfdGVzdHNfZnJvbV93aW5k
b3c8L3R0PiB0byBwdWxsCi10ZXN0cyBmcm9tIGFuIDx0dD5pZnJhbWU8L3R0PiBpbnRvIHRoZSBw
cmltYXJ5IGRvY3VtZW50LjwvcD4KLTxwPlRoZSB0ZXN0IHN1aXRlIHdpbGwgbm90IGNvbXBsZXRl
IHVudGlsIHRlc3RzIGluIHRoZSBjaGlsZCBjb250ZXh0IGhhdmUgZmluaXNoZWQKLWV4ZWN1dGlu
ZzwvcD4KLTxkaXYgaWQ9ImxvZyI+PC9kaXY+Ci0KLTxpZnJhbWUgaWQ9ImNoaWxkQ29udGV4dCIg
c3JjPSJwcm9taXNlLWFzeW5jLmh0bWwiIHN0eWxlPSJkaXNwbGF5Om5vbmUiPjwvaWZyYW1lPgot
PCEtLSBwcm9taXNlLWFzeW5jLmh0bWwgaGFzIGFzeW5jIHRlc3RzIHdpdGggcHJvbWlzZXMgLS0+
Ci0KLTxzY3JpcHQ+Ci0JdmFyIGNoaWxkQ29udGV4dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjaGlsZENvbnRleHQiKTsKLQlmZXRjaF90ZXN0c19mcm9tX3dpbmRvdyhjaGlsZENvbnRleHQu
Y29udGVudFdpbmRvdyk7Ci08L3NjcmlwdD4KLTxzY3JpcHQgdHlwZT0idGV4dC9qc29uIiBpZD0i
ZXhwZWN0ZWQiPgotewotICAic3VtbWFyaXplZF9zdGF0dXMiOiB7Ci0gICAgInN0YXR1c19zdHJp
bmciOiAiT0siLAotICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAic3RhY2siOiBudWxsCi0gIH0s
Ci0gICJzdW1tYXJpemVkX3Rlc3RzIjogWwotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjog
IlBBU1MiLAotICAgICAgIm5hbWUiOiAiUHJvbWlzZSByZWplY3Rpb24iLAotICAgICAgInByb3Bl
cnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICJzdGFjayI6IG51bGwK
LSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5h
bWUiOiAiUHJvbWlzZSByZXNvbHV0aW9uIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAg
ICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAic3RhY2siOiBudWxsCi0gICAgfSwKLSAgICB7Ci0g
ICAgICAic3RhdHVzX3N0cmluZyI6ICJGQUlMIiwKLSAgICAgICJuYW1lIjogIlByb21pc2VzIGFu
ZCB0ZXN0IGFzc2VydGlvbiBmYWlsdXJlcyAoc2hvdWxkIGZhaWwpIiwKLSAgICAgICJwcm9wZXJ0
aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6ICJhc3NlcnRfdHJ1ZTogVGhpcyBmYWlsdXJlIGlz
IGV4cGVjdGVkIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlIiwKLSAgICAgICJzdGFjayI6ICIoaW1w
bGVtZW50YXRpb24tZGVmaW5lZCkiCi0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmlu
ZyI6ICJQQVNTIiwKLSAgICAgICJuYW1lIjogIlByb21pc2VzIGFyZSBzdXBwb3J0ZWQgaW4geW91
ciBicm93c2VyIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6IG51
bGwsCi0gICAgICAic3RhY2siOiBudWxsCi0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0
cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1lIjogIlByb21pc2VzIHJlc29sdXRpb24gY2hhaW5p
bmciLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAg
ICAgICJzdGFjayI6IG51bGwKLSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjog
IlBBU1MiLAotICAgICAgIm5hbWUiOiAiVGVzdCBleGVjdXRpbmcgaW4gcGFyZW50IGNvbnRleHQi
LAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAg
ICJzdGFjayI6IG51bGwKLSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBB
U1MiLAotICAgICAgIm5hbWUiOiAiVXNlIG9mIHN0ZXBfZnVuYyB3aXRoIFByb21pc2VzIiwKLSAg
ICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAic3Rh
Y2siOiBudWxsCi0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJGQUlMIiwK
LSAgICAgICJuYW1lIjogIlVzZSBvZiB1bnJlYWNoZWRfZnVuYyB3aXRoIFByb21pc2VzIChzaG91
bGQgZmFpbCkiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogImFz
c2VydF91bnJlYWNoZWQ6IFRoaXMgZmFpbHVyZSBpcyBleHBlY3RlZCBSZWFjaGVkIHVucmVhY2hh
YmxlIGNvZGUiLAotICAgICAgInN0YWNrIjogIihpbXBsZW1lbnRhdGlvbi1kZWZpbmVkKSIKLSAg
ICB9Ci0gIF0sCi0gICJ0eXBlIjogImNvbXBsZXRlIgotfQotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2lmcmFtZS1tc2cuaHRtbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWZy
YW1lLW1zZy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxM2EzZmZmOTI0Zjk5
NTFlMGUzMGYyOWIxZTczNGEyZWUwMWNlZTI4Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWZyYW1lLW1zZy5odG1sCisrKyAvZGV2L251bGwK
QEAgLTEsODYgKzAsMCBAQAotPCFET0NUWVBFIEhUTUw+Ci08aHRtbD4KLTxoZWFkPgotPHRpdGxl
PkV4YW1wbGUgd2l0aCBpZnJhbWUgdGhhdCBub3RpZmllcyBjb250YWluaW5nIGRvY3VtZW50IHZp
YSBjcm9zcyBkb2N1bWVudCBtZXNzYWdpbmc8L3RpdGxlPgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxoMT5Ob3RpZmljYXRpb25zIEZy
b20gVGVzdHMgUnVubmluZyBJbiBBbiBJRlJBTUU8L2gxPgotPHA+QSB0ZXN0IGlzIHJ1biBpbnNp
ZGUgYW4gPHR0PmlmcmFtZTwvdHQ+IHdpdGggYSBzYW1lIG9yaWdpbiBkb2N1bWVudC4gVGhlCi1j
b250YWluaW5nIGRvY3VtZW50IHNob3VsZCByZWNlaXZlIG1lc3NhZ2VzIHZpYSA8dHQ+cG9zdE1l
c3NhZ2U8L3R0Pi8KLTx0dD5vbm1lc3NhZ2U8L3R0PiBhcyB0aGUgdGVzdHMgcHJvZ3Jlc3MgaW5z
aWRlIHRoZSA8dHQ+aWZyYW1lPC90dD4uIEEgc2luZ2xlCi1wYXNzaW5nIHRlc3QgaXMgZXhwZWN0
ZWQgaW4gdGhlIHN1bW1hcnkgYmVsb3cuCi08L3A+Ci08ZGl2IGlkPSJsb2ciPjwvZGl2PgotCi08
c2NyaXB0PgotdmFyIHQgPSBhc3luY190ZXN0KCJDb250YWluaW5nIGRvY3VtZW50IHJlY2VpdmVz
IG1lc3NhZ2VzIik7Ci12YXIgc3RhcnRfcmVjZWl2ZWQgPSBmYWxzZTsKLXZhciByZXN1bHRfcmVj
ZWl2ZWQgPSBmYWxzZTsKLXZhciBjb21wbGV0aW9uX3JlY2VpdmVkID0gZmFsc2U7Ci0KLS8vIFRo
ZXNlIGFyZSB0aGUgbWVzc2FnZXMgdGhhdCBhcmUgZXhwZWN0ZWQgdG8gYmUgc2VlbiB3aGlsZSBy
dW5uaW5nIHRoZSB0ZXN0cwotLy8gaW4gdGhlIElGUkFNRS4KLXZhciBleHBlY3RlZF9tZXNzYWdl
cyA9IFsKLSAgICB0LnN0ZXBfZnVuYygKLSAgICAgICAgZnVuY3Rpb24obWVzc2FnZSkgewotICAg
ICAgICAgICAgYXNzZXJ0X2VxdWFscyhtZXNzYWdlLmRhdGEudHlwZSwgInN0YXJ0Iik7Ci0gICAg
ICAgICAgICBhc3NlcnRfb3duX3Byb3BlcnR5KG1lc3NhZ2UuZGF0YSwgInByb3BlcnRpZXMiKTsK
LSAgICAgICAgfSksCi0KLSAgICB0LnN0ZXBfZnVuYygKLSAgICAgICAgZnVuY3Rpb24obWVzc2Fn
ZSkgewotICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhtZXNzYWdlLmRhdGEudHlwZSwgInRlc3Rf
c3RhdGUiKTsKLSAgICAgICAgICAgIGFzc2VydF9lcXVhbHMobWVzc2FnZS5kYXRhLnRlc3Quc3Rh
dHVzLCBtZXNzYWdlLmRhdGEudGVzdC5OT1RSVU4pOwotICAgICAgICB9KSwKLQotICAgIHQuc3Rl
cF9mdW5jKAotICAgICAgICBmdW5jdGlvbihtZXNzYWdlKSB7Ci0gICAgICAgICAgICBhc3NlcnRf
ZXF1YWxzKG1lc3NhZ2UuZGF0YS50eXBlLCAicmVzdWx0Iik7Ci0gICAgICAgICAgICBhc3NlcnRf
ZXF1YWxzKG1lc3NhZ2UuZGF0YS50ZXN0LnN0YXR1cywgbWVzc2FnZS5kYXRhLnRlc3QuUEFTUyk7
Ci0gICAgICAgIH0pLAotCi0gICAgdC5zdGVwX2Z1bmMoCi0gICAgICAgIGZ1bmN0aW9uKG1lc3Nh
Z2UpIHsKLSAgICAgICAgICAgIGFzc2VydF9lcXVhbHMobWVzc2FnZS5kYXRhLnR5cGUsICJjb21w
bGV0ZSIpOwotICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhtZXNzYWdlLmRhdGEudGVzdHMubGVu
Z3RoLCAxKTsKLSAgICAgICAgICAgIGFzc2VydF9lcXVhbHMobWVzc2FnZS5kYXRhLnRlc3RzWzBd
LnN0YXR1cywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZS5kYXRhLnRlc3RzWzBd
LlBBU1MpOwotICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhtZXNzYWdlLmRhdGEuc3RhdHVzLnN0
YXR1cywgbWVzc2FnZS5kYXRhLnN0YXR1cy5PSyk7Ci0gICAgICAgICAgICB0LmRvbmUoKTsKLSAg
ICAgICAgfSksCi0KLSAgICB0LnVucmVhY2hlZF9mdW5jKCJUb28gbWFueSBtZXNzYWdlcyByZWNl
aXZlZCIpCi1dOwotCi1vbl9ldmVudCh3aW5kb3csCi0gICAgICAgICAibWVzc2FnZSIsCi0gICAg
ICAgICBmdW5jdGlvbihtZXNzYWdlKSB7Ci0gICAgICAgICAgICAgdmFyIGhhbmRsZXIgPSBleHBl
Y3RlZF9tZXNzYWdlcy5zaGlmdCgpOwotICAgICAgICAgICAgIGhhbmRsZXIobWVzc2FnZSk7Ci0g
ICAgICAgICB9KTsKLTwvc2NyaXB0PgotPGlmcmFtZSBzcmM9InNpbmdsZS1wYWdlLXRlc3QtcGFz
cy5odG1sIiBzdHlsZT0iZGlzcGxheTpub25lIj4KLSAgPCEtLSBzaW5nbGUtcGFnZS10ZXN0LXBh
c3MuaHRtbCBpbXBsZW1lbnRzIGEgZmlsZV9pc190ZXN0IHRlc3QuIC0tPgotPC9pZnJhbWU+Ci08
c2NyaXB0IHR5cGU9InRleHQvanNvbiIgaWQ9ImV4cGVjdGVkIj4KLXsKLSAgInN1bW1hcml6ZWRf
c3RhdHVzIjogewotICAgICJzdGF0dXNfc3RyaW5nIjogIk9LIiwKLSAgICAibWVzc2FnZSI6IG51
bGwsCi0gICAgInN0YWNrIjogbnVsbAotICB9LAotICAic3VtbWFyaXplZF90ZXN0cyI6IFsKLSAg
ICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1lIjogIkNvbnRh
aW5pbmcgZG9jdW1lbnQgcmVjZWl2ZXMgbWVzc2FnZXMiLAotICAgICAgInByb3BlcnRpZXMiOiB7
fSwKLSAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICJzdGFjayI6IG51bGwKLSAgICB9Ci0g
IF0sCi0gICJ0eXBlIjogImNvbXBsZXRlIgotfQotPC9zY3JpcHQ+Ci08L2JvZHk+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy90ZXN0L3Rlc3RzL29yZGVyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL29yZGVyLmh0bWwKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IGQyMGViNmIxYWQwODliNmU0MWYzMTY5OTk4YjNkZDZjYjU3NWQ5
YWYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0
cy9vcmRlci5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMzkgKzAsMCBAQAotPCFET0NUWVBFIEhU
TUw+Ci08aHRtbD4KLTxoZWFkPgotPHRpdGxlPk9yZGVyaW5nPC90aXRsZT4KLTxtZXRhIG5hbWU9
InRpbWVvdXQiIGNvbnRlbnQ9IjYwMDAiPgotPC9oZWFkPgotPGJvZHk+Ci08ZGl2IGlkPSJsb2ci
PjwvZGl2PgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSIuLi8uLi90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
PgotdGVzdChmdW5jdGlvbigpIHt9LCAnc2Vjb25kJyk7Ci10ZXN0KGZ1bmN0aW9uKCkge30sICdm
aXJzdCcpOwotPC9zY3JpcHQ+Ci08c2NyaXB0IHR5cGU9InRleHQvanNvbiIgaWQ9ImV4cGVjdGVk
Ij4KLXsKLSAgInN1bW1hcml6ZWRfc3RhdHVzIjogewotICAgICJzdGF0dXNfc3RyaW5nIjogIk9L
IiwKLSAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgInN0YWNrIjogbnVsbAotICB9LAotICAic3Vt
bWFyaXplZF90ZXN0cyI6IFt7Ci0gICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgIm5h
bWUiOiAiZmlyc3QiLAotICAgICJzdGFjayI6IG51bGwsCi0gICAgIm1lc3NhZ2UiOiBudWxsLAot
ICAgICJwcm9wZXJ0aWVzIjoge30KLSAgfSwgewotICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1Mi
LAotICAgICJuYW1lIjogInNlY29uZCIsCi0gICAgInN0YWNrIjogbnVsbCwKLSAgICAibWVzc2Fn
ZSI6IG51bGwsCi0gICAgInByb3BlcnRpZXMiOiB7fQotICB9XSwKLSAgInR5cGUiOiAiY29tcGxl
dGUiCi19Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMv
cHJvbWlzZS1hc3luYy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9wcm9taXNlLWFzeW5jLmh0bWwKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg4YjY5NzJhNjBhMjQ3M2JmMTIwY2UwYTQ4ZTBmMzFjZDc5
NTA1Y2EuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90
ZXN0cy9wcm9taXNlLWFzeW5jLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxODAgKzAsMCBAQAot
PCFET0NUWVBFIEhUTUw+Ci08aHRtbD4KLTxoZWFkPgotPHRpdGxlPkFzeW5jIFRlc3RzIGFuZCBQ
cm9taXNlczwvdGl0bGU+Ci08L2hlYWQ+Ci08Ym9keT4KLTxoMT5Bc3luYyBUZXN0cyBhbmQgUHJv
bWlzZXM8L2gxPgotPHA+VGhpcyB0ZXN0IGFzc3VtZXMgRUNNQVNjcmlwdCA2IFByb21pc2Ugc3Vw
cG9ydC4gU29tZSBmYWlsdXJlcyBhcmUgZXhwZWN0ZWQuPC9wPgotPGRpdiBpZD0ibG9nIj48L2Rp
dj4KLTxzY3JpcHQgc3JjPSIuLi8uLi90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0iLi4vLi4vdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLQot
dGVzdChmdW5jdGlvbigpIHsKLSAgdmFyIHAgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZl
LCByZWplY3QpIHt9KTsKLSAgYXNzZXJ0X3RydWUoJ3RoZW4nIGluIHApOwotICBhc3NlcnRfZXF1
YWxzKHR5cGVvZiBQcm9taXNlLnJlc29sdmUsICdmdW5jdGlvbicpOwotICBhc3NlcnRfZXF1YWxz
KHR5cGVvZiBQcm9taXNlLnJlamVjdCwgJ2Z1bmN0aW9uJyk7Ci19LCAiUHJvbWlzZXMgYXJlIHN1
cHBvcnRlZCBpbiB5b3VyIGJyb3dzZXIiKTsKLQotKGZ1bmN0aW9uKCkgewotICB2YXIgdCA9IGFz
eW5jX3Rlc3QoIlByb21pc2UgcmVzb2x1dGlvbiIpOwotICB0LnN0ZXAoZnVuY3Rpb24oKSB7Ci0g
ICAgUHJvbWlzZS5yZXNvbHZlKCd4JykudGhlbigKLSAgICAgIHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHZhbHVlKSB7Ci0gICAgICAgIGFzc2VydF9lcXVhbHModmFsdWUsICd4Jyk7Ci0gICAgICAgIHQu
ZG9uZSgpOwotICAgICAgfSksCi0gICAgICB0LnVucmVhY2hlZF9mdW5jKCdQcm9taXNlIHNob3Vs
ZCBub3QgcmVqZWN0JykKLSAgICApOwotICB9KTsKLX0oKSk7Ci0KLShmdW5jdGlvbigpIHsKLSAg
dmFyIHQgPSBhc3luY190ZXN0KCJQcm9taXNlIHJlamVjdGlvbiIpOwotICB0LnN0ZXAoZnVuY3Rp
b24oKSB7Ci0gICAgUHJvbWlzZS5yZWplY3QoRXJyb3IoJ2ZhaWwnKSkudGhlbigKLSAgICAgIHQu
dW5yZWFjaGVkX2Z1bmMoJ1Byb21pc2Ugc2hvdWxkIHJlamVjdCcpLAotICAgICAgdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7Ci0gICAgICAgIGFzc2VydF90cnVlKHJlYXNvbiBpbnN0YW5j
ZW9mIEVycm9yKTsKLSAgICAgICAgYXNzZXJ0X2VxdWFscyhyZWFzb24ubWVzc2FnZSwgJ2ZhaWwn
KTsKLSAgICAgICAgdC5kb25lKCk7Ci0gICAgICB9KQotICAgICk7Ci0gIH0pOwotfSgpKTsKLQot
KGZ1bmN0aW9uKCkgewotICB2YXIgdCA9IGFzeW5jX3Rlc3QoIlByb21pc2VzIHJlc29sdXRpb24g
Y2hhaW5pbmciKTsKLSAgdC5zdGVwKGZ1bmN0aW9uKCkgewotICAgIHZhciByZXNvbHV0aW9ucyA9
IFtdOwotICAgIFByb21pc2UucmVzb2x2ZSgnYScpLnRoZW4oCi0gICAgICB0LnN0ZXBfZnVuYyhm
dW5jdGlvbih2YWx1ZSkgewotICAgICAgICByZXNvbHV0aW9ucy5wdXNoKHZhbHVlKTsKLSAgICAg
ICAgcmV0dXJuICdiJzsKLSAgICAgIH0pCi0gICAgKS50aGVuKAotICAgICAgdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24odmFsdWUpIHsKLSAgICAgICAgcmVzb2x1dGlvbnMucHVzaCh2YWx1ZSk7Ci0gICAg
ICAgIHJldHVybiAnYyc7Ci0gICAgICB9KQotICAgICkudGhlbigKLSAgICAgIHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHZhbHVlKSB7Ci0gICAgICAgIHJlc29sdXRpb25zLnB1c2godmFsdWUpOwotCi0g
ICAgICAgIGFzc2VydF9hcnJheV9lcXVhbHMocmVzb2x1dGlvbnMsIFsnYScsICdiJywgJ2MnXSk7
Ci0gICAgICAgIHQuZG9uZSgpOwotICAgICAgfSkKLSAgICApLmNhdGNoKAotICAgICAgdC51bnJl
YWNoZWRfZnVuYygncHJvbWlzZSBzaG91bGQgbm90IGhhdmUgcmVqZWN0ZWQnKQotICAgICk7Ci0g
IH0pOwotfSgpKTsKLQotKGZ1bmN0aW9uKCkgewotICB2YXIgdCA9IGFzeW5jX3Rlc3QoIlVzZSBv
ZiBzdGVwX2Z1bmMgd2l0aCBQcm9taXNlcyIpOwotICB0LnN0ZXAoZnVuY3Rpb24oKSB7Ci0gICAg
dmFyIHJlc29sdXRpb25zID0gW107Ci0gICAgUHJvbWlzZS5yZXNvbHZlKCd4JykudGhlbigKLSAg
ICAgIHQuc3RlcF9mdW5jX2RvbmUoKSwKLSAgICAgIHQudW5yZWFjaGVkX2Z1bmMoJ1Byb21pc2Ug
c2hvdWxkIG5vdCBoYXZlIHJlamVjdGVkJykKLSAgICApOwotICB9KTsKLX0oKSk7Ci0KLShmdW5j
dGlvbigpIHsKLSAgdmFyIHQgPSBhc3luY190ZXN0KCJQcm9taXNlcyBhbmQgdGVzdCBhc3NlcnRp
b24gZmFpbHVyZXMgKHNob3VsZCBmYWlsKSIpOwotICB0LnN0ZXAoZnVuY3Rpb24oKSB7Ci0gICAg
dmFyIHJlc29sdXRpb25zID0gW107Ci0gICAgUHJvbWlzZS5yZXNvbHZlKCd4JykudGhlbigKLSAg
ICAgIHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHZhbHVlKSB7Ci0gICAgICAgIGFzc2VydF90cnVlKGZh
bHNlLCAnVGhpcyBmYWlsdXJlIGlzIGV4cGVjdGVkJyk7Ci0gICAgICB9KQotICAgICkudGhlbigK
LSAgICAgIHQudW5yZWFjaGVkX2Z1bmMoJ1Byb21pc2Ugc2hvdWxkIG5vdCBoYXZlIHJlc29sdmVk
JykKLSAgICApLmNhdGNoKAotICAgICAgdC51bnJlYWNoZWRfZnVuYygnUHJvbWlzZSBzaG91bGQg
bm90IGhhdmUgcmVqZWN0ZWQnKQotICAgICk7Ci0gIH0pOwotfSgpKTsKLQotKGZ1bmN0aW9uKCkg
ewotICB2YXIgdCA9IGFzeW5jX3Rlc3QoIlVzZSBvZiB1bnJlYWNoZWRfZnVuYyB3aXRoIFByb21p
c2VzIChzaG91bGQgZmFpbCkiKTsKLSAgdC5zdGVwKGZ1bmN0aW9uKCkgewotICAgIHZhciByZXNv
bHV0aW9ucyA9IFtdOwotICAgIHZhciByOwotICAgIHZhciBwID0gbmV3IFByb21pc2UoZnVuY3Rp
b24ocmVzb2x2ZSwgcmVqZWN0KSB7Ci0gICAgICAvLyBSZWplY3QgaW5zdGVhZCBvZiByZXNvbHZl
LCB0byBkZW1vbnN0cmF0ZSBmYWlsdXJlLgotICAgICAgcmVqZWN0KDEyMyk7Ci0gICAgfSk7Ci0g
ICAgcC50aGVuKAotICAgICAgZnVuY3Rpb24odmFsdWUpIHsKLSAgICAgICAgYXNzZXJ0X2VxdWFs
cyh2YWx1ZSwgMTIzLCAnVGhpcyBzaG91bGQgbm90IGFjdHVhbGx5IGhhcHBlbicpOwotICAgICAg
fSwKLSAgICAgIHQudW5yZWFjaGVkX2Z1bmMoJ1RoaXMgZmFpbHVyZSBpcyBleHBlY3RlZCcpCi0g
ICAgKTsKLSAgfSk7Ci19KCkpOwotPC9zY3JpcHQ+Ci08c2NyaXB0IHR5cGU9InRleHQvanNvbiIg
aWQ9ImV4cGVjdGVkIj4KLXsKLSAgInN1bW1hcml6ZWRfc3RhdHVzIjogewotICAgICJzdGF0dXNf
c3RyaW5nIjogIk9LIiwKLSAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgInN0YWNrIjogbnVsbAot
ICB9LAotICAic3VtbWFyaXplZF90ZXN0cyI6IFsKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmlu
ZyI6ICJQQVNTIiwKLSAgICAgICJuYW1lIjogIlByb21pc2UgcmVqZWN0aW9uIiwKLSAgICAgICJw
cm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAic3RhY2siOiBu
dWxsCi0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAg
ICJuYW1lIjogIlByb21pc2UgcmVzb2x1dGlvbiIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAot
ICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgInN0YWNrIjogbnVsbAotICAgIH0sCi0gICAg
ewotICAgICAgInN0YXR1c19zdHJpbmciOiAiRkFJTCIsCi0gICAgICAibmFtZSI6ICJQcm9taXNl
cyBhbmQgdGVzdCBhc3NlcnRpb24gZmFpbHVyZXMgKHNob3VsZCBmYWlsKSIsCi0gICAgICAicHJv
cGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiAiYXNzZXJ0X3RydWU6IFRoaXMgZmFpbHVy
ZSBpcyBleHBlY3RlZCBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZSIsCi0gICAgICAic3RhY2siOiAi
KGltcGxlbWVudGF0aW9uLWRlZmluZWQpIgotICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19z
dHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJQcm9taXNlcyBhcmUgc3VwcG9ydGVkIGlu
IHlvdXIgYnJvd3NlciIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2Ui
OiBudWxsLAotICAgICAgInN0YWNrIjogbnVsbAotICAgIH0sCi0gICAgewotICAgICAgInN0YXR1
c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJQcm9taXNlcyByZXNvbHV0aW9uIGNo
YWluaW5nIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6IG51bGws
Ci0gICAgICAic3RhY2siOiBudWxsCi0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmlu
ZyI6ICJQQVNTIiwKLSAgICAgICJuYW1lIjogIlVzZSBvZiBzdGVwX2Z1bmMgd2l0aCBQcm9taXNl
cyIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAg
ICAgInN0YWNrIjogbnVsbAotICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAi
RkFJTCIsCi0gICAgICAibmFtZSI6ICJVc2Ugb2YgdW5yZWFjaGVkX2Z1bmMgd2l0aCBQcm9taXNl
cyAoc2hvdWxkIGZhaWwpIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2Fn
ZSI6ICJhc3NlcnRfdW5yZWFjaGVkOiBUaGlzIGZhaWx1cmUgaXMgZXhwZWN0ZWQgUmVhY2hlZCB1
bnJlYWNoYWJsZSBjb2RlIiwKLSAgICAgICJzdGFjayI6ICIoaW1wbGVtZW50YXRpb24tZGVmaW5l
ZCkiCi0gICAgfQotICBdLAotICAidHlwZSI6ICJjb21wbGV0ZSIKLX0KLTwvc2NyaXB0PgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvdGVzdC90ZXN0cy9wcm9taXNlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL3Byb21pc2UuaHRtbApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjFlZjE1ZGVkOTg0ODk3ZjgzOTI4ZTg5NjdjZmRi
MGUzZjNlM2M1MS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90
ZXN0L3Rlc3RzL3Byb21pc2UuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDIyMSArMCwwIEBACi08
IURPQ1RZUEUgSFRNTD4KLTxodG1sPgotPGhlYWQ+Ci08dGl0bGU+UHJvbWlzZSBUZXN0czwvdGl0
bGU+Ci08L2hlYWQ+Ci08Ym9keT4KLTxoMT5Qcm9taXNlIFRlc3RzPC9oMT4KLTxwPlRoaXMgdGVz
dCBkZW1vbnN0cmF0ZXMgdGhlIHVzZSBvZiA8dHQ+cHJvbWlzZV90ZXN0PC90dD4uIEFzc3VtZXMg
RUNNQVNjcmlwdCA2Ci1Qcm9taXNlIHN1cHBvcnQuIFNvbWUgZmFpbHVyZXMgYXJlIGV4cGVjdGVk
LjwvcD4KLTxkaXYgaWQ9ImxvZyI+PC9kaXY+Ci08c2NyaXB0IHNyYz0iLi4vLi4vdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQ+Ci10ZXN0KAotICAgIGZ1bmN0aW9uKCkgewotICAgICAgICB2
YXIgcCA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCl7fSk7Ci0gICAgICAg
IGFzc2VydF90cnVlKCJ0aGVuIiBpbiBwKTsKLSAgICAgICAgYXNzZXJ0X2VxdWFscyh0eXBlb2Yg
UHJvbWlzZS5yZXNvbHZlLCAiZnVuY3Rpb24iKTsKLSAgICAgICAgYXNzZXJ0X2VxdWFscyh0eXBl
b2YgUHJvbWlzZS5yZWplY3QsICJmdW5jdGlvbiIpOwotICAgIH0sCi0gICAgIlByb21pc2VzIGFy
ZSBzdXBwb3J0ZWQgaW4geW91ciBicm93c2VyIik7Ci0KLXByb21pc2VfdGVzdCgKLSAgICBmdW5j
dGlvbigpIHsKLSAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgieCIpCi0gICAgICAgICAg
ICAudGhlbigKLSAgICAgICAgICAgICAgICBmdW5jdGlvbih2YWx1ZSkgewotICAgICAgICAgICAg
ICAgICAgICBhc3NlcnRfZXF1YWxzKHZhbHVlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICJ4IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiRnVsZmlsbGVk
IHByb21pc2Ugc2hvdWxkIHBhc3MgcmVzdWx0IHRvICIgKwotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJmdWxmaWxsIHJlYWN0aW9uLiIpOwotICAgICAgICAgICAgICAgIH0pOwot
ICAgIH0sCi0gICAgIlByb21pc2UgZnVsZmlsbG1lbnQgd2l0aCByZXN1bHQiKTsKLQotcHJvbWlz
ZV90ZXN0KAotICAgIGZ1bmN0aW9uKHQpIHsKLSAgICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0
KG5ldyBFcnJvcigiZmFpbCIpKQotICAgICAgICAgICAgLnRoZW4odC51bnJlYWNoZWRfZnVuYygi
UHJvbWlzZSBzaG91bGQgcmVqZWN0IiksCi0gICAgICAgICAgICAgICAgZnVuY3Rpb24ocmVhc29u
KSB7Ci0gICAgICAgICAgICAgICAgICAgIGFzc2VydF90cnVlKAotICAgICAgICAgICAgICAgICAg
ICAgICAgcmVhc29uIGluc3RhbmNlb2YgRXJyb3IsCi0gICAgICAgICAgICAgICAgICAgICAgICAi
UmVqZWN0ZWQgcHJvbWlzZSBzaG91bGQgcGFzcyByZWFzb24gdG8gZnVsZmlsbCByZWFjdGlvbi4i
KTsKLSAgICAgICAgICAgICAgICAgICAgYXNzZXJ0X2VxdWFscygKLSAgICAgICAgICAgICAgICAg
ICAgICAgIHJlYXNvbi5tZXNzYWdlLAotICAgICAgICAgICAgICAgICAgICAgICAgImZhaWwiLAot
ICAgICAgICAgICAgICAgICAgICAgICAgIlJlamVjdGVkIHByb21pc2Ugc2hvdWxkIHBhc3MgcmVh
c29uIHRvIHJlamVjdCByZWFjdGlvbi4iKTsKLSAgICAgICAgICAgICAgICB9KTsKLSAgICB9LAot
ICAgICJQcm9taXNlIHJlamVjdGlvbiB3aXRoIHJlc3VsdCIpOwotCi1wcm9taXNlX3Rlc3QoCi0g
ICAgZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciByZXNvbHV0aW9ucyA9IFtdOwotICAgICAgICBy
ZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCJhIikKLSAgICAgICAgICAgIC50aGVuKAotICAgICAgICAg
ICAgICAgIGZ1bmN0aW9uKHZhbHVlKSB7Ci0gICAgICAgICAgICAgICAgICAgIHJlc29sdXRpb25z
LnB1c2godmFsdWUpOwotICAgICAgICAgICAgICAgICAgICByZXR1cm4gImIiOwotICAgICAgICAg
ICAgICAgIH0pCi0gICAgICAgICAgICAudGhlbigKLSAgICAgICAgICAgICAgICBmdW5jdGlvbih2
YWx1ZSkgewotICAgICAgICAgICAgICAgICAgICByZXNvbHV0aW9ucy5wdXNoKHZhbHVlKTsKLSAg
ICAgICAgICAgICAgICAgICAgcmV0dXJuICJjIjsKLSAgICAgICAgICAgICAgICB9KQotICAgICAg
ICAgICAgLnRoZW4oCi0gICAgICAgICAgICAgICAgZnVuY3Rpb24odmFsdWUpIHsKLSAgICAgICAg
ICAgICAgICAgICAgcmVzb2x1dGlvbnMucHVzaCh2YWx1ZSk7Ci0gICAgICAgICAgICAgICAgICAg
IGFzc2VydF9hcnJheV9lcXVhbHMocmVzb2x1dGlvbnMsIFsiYSIsICJiIiwgImMiXSk7Ci0gICAg
ICAgICAgICAgICAgfSk7Ci0gICAgfSwKLSAgICAiQ2hhaW4gb2YgcHJvbWlzZSByZXNvbHV0aW9u
cyIpOwotCi1wcm9taXNlX3Rlc3QoCi0gICAgZnVuY3Rpb24odCkgewotICAgICAgICB2YXIgcmVz
b2x1dGlvbnMgPSBbXTsKLSAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgieCIpCi0gICAg
ICAgICAgICAudGhlbigKLSAgICAgICAgICAgICAgICBmdW5jdGlvbih2YWx1ZSkgewotICAgICAg
ICAgICAgICAgICAgICBhc3NlcnRfdHJ1ZShmYWxzZSwgIkV4cGVjdGVkIGZhaWx1cmUuIik7Ci0g
ICAgICAgICAgICAgICAgfSkKLSAgICAgICAgICAgIC50aGVuKHQudW5yZWFjaGVkX2Z1bmMoIlVO
RVhQRUNURUQgRkFJTFVSRTogUHJvbWlzZSBzaG91bGQgbm90IGhhdmUgcmVzb2x2ZWQuIikpOwot
ICAgIH0sCi0gICAgIkFzc2VydGlvbiBmYWlsdXJlIGluIGEgZnVsZmlsbCByZWFjdGlvbiAoc2hv
dWxkIEZBSUwgd2l0aCBhbiBleHBlY3RlZCBmYWlsdXJlKSIpOwotCi1wcm9taXNlX3Rlc3QoCi0g
ICAgZnVuY3Rpb24odCkgewotICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoCi0gICAgICAgICAg
ICAgICAgZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7Ci0gICAgICAgICAgICAgICAgICAgIHJl
amVjdCgxMjMpOwotICAgICAgICAgICAgICAgIH0pCi0gICAgICAgICAgICAudGhlbih0LnVucmVh
Y2hlZF9mdW5jKCJVTkVYUEVDVEVEIEZBSUxVUkU6IEZ1bGZpbGwgcmVhY3Rpb24gcmVhY2hlZCBh
ZnRlciByZWplY3Rpb24uIiksCi0gICAgICAgICAgICAgICAgICB0LnVucmVhY2hlZF9mdW5jKCJF
eHBlY3RlZCBmYWlsdXJlLiIpKTsKLSAgICB9LAotICAgICJ1bnJlYWNoZWRfZnVuYyBhcyByZWFj
dG9yIChzaG91bGQgRkFJTCB3aXRoIGFuIGV4cGVjdGVkIGZhaWx1cmUpIik7Ci0KLXByb21pc2Vf
dGVzdCgKLSAgICBmdW5jdGlvbigpIHsKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfSwKLSAg
ICAicHJvbWlzZV90ZXN0IHdpdGggZnVuY3Rpb24gdGhhdCBkb2Vzbid0IHJldHVybiBhIFByb21p
c2UiKTsKLQotcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKCl7fSwKLSAgICAgICAgICAgICAicHJvbWlz
ZV90ZXN0IHdpdGggZnVuY3Rpb24gdGhhdCBkb2Vzbid0IHJldHVybiBhbnl0aGluZyIpOwotCi1w
cm9taXNlX3Rlc3QoCi0gICAgZnVuY3Rpb24oKSB7Ci0gICAgICAgIHJldHVybiBQcm9taXNlLnJl
amVjdCgiRXhwZWN0ZWQgcmVqZWN0aW9uIik7Ci0gICAgfSwKLSAgICAicHJvbWlzZV90ZXN0IHdp
dGggdW5oYW5kbGVkIHJlamVjdGlvbiAoc2hvdWxkIEZBSUwpIik7Ci0KLXByb21pc2VfdGVzdCgK
LSAgICBmdW5jdGlvbigpIHsKLSAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgxMCkKLSAg
ICAgICAgICAgIC50aGVuKAotICAgICAgICAgICAgICAgIGZ1bmN0aW9uKHZhbHVlKSB7Ci0gICAg
ICAgICAgICAgICAgICAgIHRocm93IEVycm9yKCJFeHBlY3RlZCBleGNlcHRpb24uIik7Ci0gICAg
ICAgICAgICAgICAgfSk7Ci0gICAgfSwKLSAgICAicHJvbWlzZV90ZXN0IHdpdGggdW5oYW5kbGVk
IGV4Y2VwdGlvbiBpbiBmdWxmaWxsIHJlYWN0aW9uIChzaG91bGQgRkFJTCkiKTsKLQotcHJvbWlz
ZV90ZXN0KAotICAgIGZ1bmN0aW9uKHQpIHsKLSAgICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0
KDEwKQotICAgICAgICAgICAgLnRoZW4oCi0gICAgICAgICAgICAgICAgdC51bnJlYWNoZWRfZnVu
YygiVU5FWFBFQ1RFRCBGQUlMVVJFOiBGdWxmaWxsIHJlYWN0aW9uIHJlYWNoZWQgYWZ0ZXIgcmVq
ZWN0aW9uLiIpLAotICAgICAgICAgICAgICAgIGZ1bmN0aW9uKHZhbHVlKSB7Ci0gICAgICAgICAg
ICAgICAgICAgIHRocm93IEVycm9yKCJFeHBlY3RlZCBleGNlcHRpb24uIik7Ci0gICAgICAgICAg
ICAgICAgfSk7Ci0gICAgfSwKLSAgICAicHJvbWlzZV90ZXN0IHdpdGggdW5oYW5kbGVkIGV4Y2Vw
dGlvbiBpbiByZWplY3QgcmVhY3Rpb24gKHNob3VsZCBGQUlMKSIpOwotPC9zY3JpcHQ+Ci08c2Ny
aXB0IHR5cGU9InRleHQvanNvbiIgaWQ9ImV4cGVjdGVkIj4KLXsKLSAgInN1bW1hcml6ZWRfc3Rh
dHVzIjogewotICAgICJzdGF0dXNfc3RyaW5nIjogIk9LIiwKLSAgICAibWVzc2FnZSI6IG51bGws
Ci0gICAgInN0YWNrIjogbnVsbAotICB9LAotICAic3VtbWFyaXplZF90ZXN0cyI6IFsKLSAgICB7
Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJGQUlMIiwKLSAgICAgICJuYW1lIjogIkFzc2VydGlv
biBmYWlsdXJlIGluIGEgZnVsZmlsbCByZWFjdGlvbiAoc2hvdWxkIEZBSUwgd2l0aCBhbiBleHBl
Y3RlZCBmYWlsdXJlKSIsCi0gICAgICAic3RhY2siOiAiKGltcGxlbWVudGF0aW9uLWRlZmluZWQp
IiwKLSAgICAgICJtZXNzYWdlIjogImFzc2VydF90cnVlOiBFeHBlY3RlZCBmYWlsdXJlLiBleHBl
Y3RlZCB0cnVlIGdvdCBmYWxzZSIsCi0gICAgICAicHJvcGVydGllcyI6IHt9Ci0gICAgfSwKLSAg
ICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1lIjogIkNoYWlu
IG9mIHByb21pc2UgcmVzb2x1dGlvbnMiLAotICAgICAgInN0YWNrIjogbnVsbCwKLSAgICAgICJt
ZXNzYWdlIjogbnVsbCwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30KLSAgICB9LAotICAgIHsKLSAg
ICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUiOiAiUHJvbWlzZSBmdWxm
aWxsbWVudCB3aXRoIHJlc3VsdCIsCi0gICAgICAic3RhY2siOiBudWxsLAotICAgICAgIm1lc3Nh
Z2UiOiBudWxsLAotICAgICAgInByb3BlcnRpZXMiOiB7fQotICAgIH0sCi0gICAgewotICAgICAg
InN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJQcm9taXNlIHJlamVjdGlv
biB3aXRoIHJlc3VsdCIsCi0gICAgICAic3RhY2siOiBudWxsLAotICAgICAgIm1lc3NhZ2UiOiBu
dWxsLAotICAgICAgInByb3BlcnRpZXMiOiB7fQotICAgIH0sCi0gICAgewotICAgICAgInN0YXR1
c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJQcm9taXNlcyBhcmUgc3VwcG9ydGVk
IGluIHlvdXIgYnJvd3NlciIsCi0gICAgICAic3RhY2siOiBudWxsLAotICAgICAgIm1lc3NhZ2Ui
OiBudWxsLAotICAgICAgInByb3BlcnRpZXMiOiB7fQotICAgIH0sCi0gICAgewotICAgICAgInN0
YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJwcm9taXNlX3Rlc3Qgd2l0aCBm
dW5jdGlvbiB0aGF0IGRvZXNuJ3QgcmV0dXJuIGEgUHJvbWlzZSIsCi0gICAgICAic3RhY2siOiBu
dWxsLAotICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgInByb3BlcnRpZXMiOiB7fQotICAg
IH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiRkFJTCIsCi0gICAgICAibmFtZSI6
ICJwcm9taXNlX3Rlc3Qgd2l0aCBmdW5jdGlvbiB0aGF0IGRvZXNuJ3QgcmV0dXJuIGFueXRoaW5n
IiwKLSAgICAgICJzdGFjayI6ICIoaW1wbGVtZW50YXRpb24tZGVmaW5lZCkiLAotICAgICAgIm1l
c3NhZ2UiOiAiYXNzZXJ0X25vdF9lcXVhbHM6IGdvdCBkaXNhbGxvd2VkIHZhbHVlIHVuZGVmaW5l
ZCIsCi0gICAgICAicHJvcGVydGllcyI6IHt9Ci0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVz
X3N0cmluZyI6ICJGQUlMIiwKLSAgICAgICJuYW1lIjogInByb21pc2VfdGVzdCB3aXRoIHVuaGFu
ZGxlZCBleGNlcHRpb24gaW4gZnVsZmlsbCByZWFjdGlvbiAoc2hvdWxkIEZBSUwpIiwKLSAgICAg
ICJzdGFjayI6ICIoaW1wbGVtZW50YXRpb24tZGVmaW5lZCkiLAotICAgICAgIm1lc3NhZ2UiOiAi
cHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCBcIkVy
cm9yOiBFeHBlY3RlZCBleGNlcHRpb24uXCIiLAotICAgICAgInByb3BlcnRpZXMiOiB7fQotICAg
IH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiRkFJTCIsCi0gICAgICAibmFtZSI6
ICJwcm9taXNlX3Rlc3Qgd2l0aCB1bmhhbmRsZWQgZXhjZXB0aW9uIGluIHJlamVjdCByZWFjdGlv
biAoc2hvdWxkIEZBSUwpIiwKLSAgICAgICJzdGFjayI6ICIoaW1wbGVtZW50YXRpb24tZGVmaW5l
ZCkiLAotICAgICAgIm1lc3NhZ2UiOiAicHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9u
IHdpdGggdmFsdWU6IG9iamVjdCBcIkVycm9yOiBFeHBlY3RlZCBleGNlcHRpb24uXCIiLAotICAg
ICAgInByb3BlcnRpZXMiOiB7fQotICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmci
OiAiRkFJTCIsCi0gICAgICAibmFtZSI6ICJwcm9taXNlX3Rlc3Qgd2l0aCB1bmhhbmRsZWQgcmVq
ZWN0aW9uIChzaG91bGQgRkFJTCkiLAotICAgICAgInN0YWNrIjogIihpbXBsZW1lbnRhdGlvbi1k
ZWZpbmVkKSIsCi0gICAgICAibWVzc2FnZSI6ICJwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWpl
Y3Rpb24gd2l0aCB2YWx1ZTogXCJFeHBlY3RlZCByZWplY3Rpb25cIiIsCi0gICAgICAicHJvcGVy
dGllcyI6IHt9Ci0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJGQUlMIiwK
LSAgICAgICJuYW1lIjogInVucmVhY2hlZF9mdW5jIGFzIHJlYWN0b3IgKHNob3VsZCBGQUlMIHdp
dGggYW4gZXhwZWN0ZWQgZmFpbHVyZSkiLAotICAgICAgInN0YWNrIjogIihpbXBsZW1lbnRhdGlv
bi1kZWZpbmVkKSIsCi0gICAgICAibWVzc2FnZSI6ICJhc3NlcnRfdW5yZWFjaGVkOiBFeHBlY3Rl
ZCBmYWlsdXJlLiBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUiLAotICAgICAgInByb3BlcnRpZXMi
OiB7fQotICAgIH0KLSAgXSwKLSAgInR5cGUiOiAiY29tcGxldGUiCi19Ci08L3NjcmlwdD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3Rlc3QvdGVzdHMvc2luZ2xlLXBhZ2UtdGVzdC1mYWlsLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL3Np
bmdsZS1wYWdlLXRlc3QtZmFpbC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBh
MWY4ODEwNzM4MmE3OTQ2NzdjMDgwMzM1MmYzMjFkYTY2YzM3NmE2Li4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvc2luZ2xlLXBhZ2UtdGVzdC1m
YWlsLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwyOSArMCwwIEBACi08IURPQ1RZUEUgSFRNTD4K
LTx0aXRsZT5FeGFtcGxlIHdpdGggZmlsZV9pc190ZXN0IChzaG91bGQgZmFpbCk8L3RpdGxlPgot
PHNjcmlwdCBzcmM9Ii4uLy4uL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIuLi8uLi90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0Pgotb25sb2Fk
ID0gZnVuY3Rpb24oKSB7Ci0gIGFzc2VydF90cnVlKGZhbHNlKTsKLSAgZG9uZSgpOwotfQotPC9z
Y3JpcHQ+Ci08c2NyaXB0IHR5cGU9InRleHQvanNvbiIgaWQ9ImV4cGVjdGVkIj4KLXsKLSAgInN1
bW1hcml6ZWRfc3RhdHVzIjogewotICAgICJzdGF0dXNfc3RyaW5nIjogIk9LIiwKLSAgICAibWVz
c2FnZSI6IG51bGwsCi0gICAgInN0YWNrIjogbnVsbAotICB9LAotICAic3VtbWFyaXplZF90ZXN0
cyI6IFsKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJGQUlMIiwKLSAgICAgICJuYW1l
IjogIkV4YW1wbGUgd2l0aCBmaWxlX2lzX3Rlc3QgKHNob3VsZCBmYWlsKSIsCi0gICAgICAicHJv
cGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiAidW5jYXVnaHQgZXhjZXB0aW9uOiBFcnJv
cjogYXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlIiwKLSAgICAgICJzdGFjayI6
ICIoaW1wbGVtZW50YXRpb24tZGVmaW5lZCkiCi0gICAgfQotICBdLAotICAidHlwZSI6ICJjb21w
bGV0ZSIKLX0KLTwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9zaW5nbGUtcGFnZS10ZXN0
LW5vLWFzc2VydGlvbnMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvc2luZ2xlLXBhZ2UtdGVzdC1uby1hc3NlcnRp
b25zLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDM0MDJhNDY5Y2Y4NTgyOTFk
ZjVhZTFhMGIwOWJhOTM5ZDIyNGE3MmEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9zaW5nbGUtcGFnZS10ZXN0LW5vLWFzc2VydGlvbnMuaHRt
bAorKysgL2Rldi9udWxsCkBAIC0xLDI2ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPHRpdGxl
PkV4YW1wbGUgc2luZ2xlIHBhZ2UgdGVzdCB3aXRoIG5vIGFzc2VydHM8L3RpdGxlPgotPHNjcmlw
dCBzcmM9Ii4uLy4uL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8u
Li90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotZG9uZSgpOwotPC9z
Y3JpcHQ+Ci08c2NyaXB0IHR5cGU9InRleHQvanNvbiIgaWQ9ImV4cGVjdGVkIj4KLXsKLSAgInN1
bW1hcml6ZWRfc3RhdHVzIjogewotICAgICJzdGF0dXNfc3RyaW5nIjogIk9LIiwKLSAgICAibWVz
c2FnZSI6IG51bGwsCi0gICAgInN0YWNrIjogbnVsbAotICB9LAotICAic3VtbWFyaXplZF90ZXN0
cyI6IFsKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1l
IjogIkV4YW1wbGUgc2luZ2xlIHBhZ2UgdGVzdCB3aXRoIG5vIGFzc2VydHMiLAotICAgICAgInBy
b3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICJzdGFjayI6IG51
bGwKLSAgICB9Ci0gIF0sCi0gICJ0eXBlIjogImNvbXBsZXRlIgotfQotPC9zY3JpcHQ+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy90ZXN0L3Rlc3RzL3NpbmdsZS1wYWdlLXRlc3Qtbm8tYm9keS5odG1sIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9z
aW5nbGUtcGFnZS10ZXN0LW5vLWJvZHkuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDY1MDkxYTkzZTgwZDFiNWIwMzI4NjljMWI3ZjYzZjk5NTVmMzVmMy4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL3NpbmdsZS1wYWdlLXRl
c3Qtbm8tYm9keS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMjcgKzAsMCBAQAotPCFET0NUWVBF
IEhUTUw+Ci08dGl0bGU+RXhhbXBsZSBzaW5nbGUgcGFnZSB0ZXN0IHdpdGggbm8gYm9keTwvdGl0
bGU+Ci08c2NyaXB0IHNyYz0iLi4vLi4vdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlw
dCBzcmM9Ii4uLy4uL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci1h
c3NlcnRfdHJ1ZSh0cnVlKTsKLWRvbmUoKTsKLTwvc2NyaXB0PgotPHNjcmlwdCB0eXBlPSJ0ZXh0
L2pzb24iIGlkPSJleHBlY3RlZCI+Ci17Ci0gICJzdW1tYXJpemVkX3N0YXR1cyI6IHsKLSAgICAi
c3RhdHVzX3N0cmluZyI6ICJPSyIsCi0gICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICJzdGFjayI6
IG51bGwKLSAgfSwKLSAgInN1bW1hcml6ZWRfdGVzdHMiOiBbCi0gICAgewotICAgICAgInN0YXR1
c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJFeGFtcGxlIHNpbmdsZSBwYWdlIHRl
c3Qgd2l0aCBubyBib2R5IiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2Fn
ZSI6IG51bGwsCi0gICAgICAic3RhY2siOiBudWxsCi0gICAgfQotICBdLAotICAidHlwZSI6ICJj
b21wbGV0ZSIKLX0KLTwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9zaW5nbGUtcGFnZS10
ZXN0LXBhc3MuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvc2luZ2xlLXBhZ2UtdGVzdC1wYXNzLmh0bWwKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDMxZTRlNjQ5NDcxYzFjMmFlMDgyMGM3ODE0NDRlZTkx
ZDFkNTRlMWMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVz
dC90ZXN0cy9zaW5nbGUtcGFnZS10ZXN0LXBhc3MuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDI5
ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPHRpdGxlPkV4YW1wbGUgd2l0aCBmaWxlX2lzX3Rl
c3Q8L3RpdGxlPgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIuLi8uLi90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2Ny
aXB0Pgotb25sb2FkID0gZnVuY3Rpb24oKSB7Ci0gIGFzc2VydF90cnVlKHRydWUpOwotICBkb25l
KCk7Ci19Ci08L3NjcmlwdD4KLTxzY3JpcHQgdHlwZT0idGV4dC9qc29uIiBpZD0iZXhwZWN0ZWQi
PgotewotICAic3VtbWFyaXplZF9zdGF0dXMiOiB7Ci0gICAgInN0YXR1c19zdHJpbmciOiAiT0si
LAotICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAic3RhY2siOiBudWxsCi0gIH0sCi0gICJzdW1t
YXJpemVkX3Rlc3RzIjogWwotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAot
ICAgICAgIm5hbWUiOiAiRXhhbXBsZSB3aXRoIGZpbGVfaXNfdGVzdCIsCi0gICAgICAicHJvcGVy
dGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgInN0YWNrIjogbnVsbAot
ICAgIH0KLSAgXSwKLSAgInR5cGUiOiAiY29tcGxldGUiCi19Ci08L3NjcmlwdD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3Rlc3QvdGVzdHMvdW5jYXVnaHQtZXhjZXB0aW9uLWhhbmRsZS5odG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy91bmNh
dWdodC1leGNlcHRpb24taGFuZGxlLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDdkODI0NGJmMWNlZjRlNDU4OTEyNjg4NDY1MzM5ZGQ3M2Y5ZWJhZjQuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy91bmNhdWdodC1leGNlcHRp
b24taGFuZGxlLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwzNSArMCwwIEBACi08IURPQ1RZUEUg
SFRNTD4KLTxodG1sPgotPGhlYWQ+Ci08dGl0bGU+SGFybmVzcyBIYW5kbGluZyBVbmNhdWdodCBF
eGNlcHRpb248L3RpdGxlPgotPC9oZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Rlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4KLQotPGJvZHk+Ci08aDE+SGFybmVzcyBIYW5kbGluZyBVbmNhdWdodCBF
eGNlcHRpb248L2gxPgotPGRpdiBpZD0ibG9nIj48L2Rpdj4KLTxzY3JpcHQ+Ci12YXIgdCA9IGFz
eW5jX3Rlc3QoIlRoaXMgc2hvdWxkIHNob3cgYSBoYXJuZXNzIHN0YXR1cyBvZiAnRXJyb3InIGFu
ZCBhIHRlc3Qgc3RhdHVzIG9mICdOb3QgUnVuJyIpOwotdGhyb3cgbmV3IEVycm9yKCJFeGFtcGxl
IEVycm9yIik7Ci08L3NjcmlwdD4KLTxzY3JpcHQgdHlwZT0idGV4dC9qc29uIiBpZD0iZXhwZWN0
ZWQiPgotewotICAic3VtbWFyaXplZF9zdGF0dXMiOiB7Ci0gICAgInN0YXR1c19zdHJpbmciOiAi
RVJST1IiLAotICAgICJtZXNzYWdlIjogIkVycm9yOiBFeGFtcGxlIEVycm9yIiwKLSAgICAic3Rh
Y2siOiAiKGltcGxlbWVudGF0aW9uLWRlZmluZWQpIgotICB9LAotICAic3VtbWFyaXplZF90ZXN0
cyI6IFsKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJOT1RSVU4iLAotICAgICAgIm5h
bWUiOiAiVGhpcyBzaG91bGQgc2hvdyBhIGhhcm5lc3Mgc3RhdHVzIG9mICdFcnJvcicgYW5kIGEg
dGVzdCBzdGF0dXMgb2YgJ05vdCBSdW4nIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAg
ICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAic3RhY2siOiBudWxsCi0gICAgfQotICBdLAotICAi
dHlwZSI6ICJjb21wbGV0ZSIKLX0KLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvdGVzdC90ZXN0cy91bmNhdWdodC1leGNlcHRpb24taWdub3JlLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL3Vu
Y2F1Z2h0LWV4Y2VwdGlvbi1pZ25vcmUuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggOWY0NWRkYjQ3ZjU1YzMwOThiMGZhYmU5MmU3M2Y4ZmQ3MDc1ODgxYS4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL3VuY2F1Z2h0LWV4Y2Vw
dGlvbi1pZ25vcmUuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDM3ICswLDAgQEAKLTwhRE9DVFlQ
RSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLTx0aXRsZT5IYXJuZXNzIElnbm9yaW5nIFVuY2F1Z2h0
IEV4Y2VwdGlvbjwvdGl0bGU+Ci08L2hlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0PgotCi08Ym9keT4KLTxoMT5IYXJuZXNzIElnbm9yaW5nIFVuY2F1Z2h0
IEV4Y2VwdGlvbjwvaDE+Ci08ZGl2IGlkPSJsb2ciPjwvZGl2PgotPHNjcmlwdD4KLXNldHVwKHth
bGxvd191bmNhdWdodF9leGNlcHRpb246dHJ1ZX0pOwotdmFyIHQgPSBhc3luY190ZXN0KCJzZXR1
cCh7YWxsb3dfdW5jYXVnaHRfZXhjZXB0aW9uOnRydWV9KSBzaG91bGQgYWxsb3cgdGVzdHMgdG8g
cGFzcyBldmVuIGlmIHRoZXJlIGlzIGFuIGV4Y2VwdGlvbiIpOwotb25lcnJvciA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKCkge3QuZG9uZSgpfSk7Ci10aHJvdyBuZXcgRXJyb3IoIkV4YW1wbGUgRXJy
b3IiKTsKLTwvc2NyaXB0PgotPHNjcmlwdCB0eXBlPSJ0ZXh0L2pzb24iIGlkPSJleHBlY3RlZCI+
Ci17Ci0gICJzdW1tYXJpemVkX3N0YXR1cyI6IHsKLSAgICAic3RhdHVzX3N0cmluZyI6ICJPSyIs
Ci0gICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICJzdGFjayI6IG51bGwKLSAgfSwKLSAgInN1bW1h
cml6ZWRfdGVzdHMiOiBbCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0g
ICAgICAibmFtZSI6ICJzZXR1cCh7YWxsb3dfdW5jYXVnaHRfZXhjZXB0aW9uOnRydWV9KSBzaG91
bGQgYWxsb3cgdGVzdHMgdG8gcGFzcyBldmVuIGlmIHRoZXJlIGlzIGFuIGV4Y2VwdGlvbiIsCi0g
ICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgInN0
YWNrIjogbnVsbAotICAgIH0KLSAgXSwKLSAgInR5cGUiOiAiY29tcGxldGUiCi19Ci08L3Njcmlw
dD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvdzNjLWltcG9ydC5sb2cg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90
ZXN0L3Rlc3RzL3czYy1pbXBvcnQubG9nCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBh
YjcxNTQ2NzllM2Y5YmE3OTA0YTE0N2ZkZjIyYjMyMWE1YWE2MzIzLi4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvdzNjLWltcG9ydC5sb2cKKysr
IC9kZXYvbnVsbApAQCAtMSw0MiArMCwwIEBACi1UaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkg
d2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KLURvIE5PVCBtb2RpZnkgdGhl
c2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1
ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzCi0KLVRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMg
aW4gV2ViS2l0IHRvIHJlaW1wb3J0Ci0KLURvIE5PVCBtb2RpZnkgb3IgcmVtb3ZlIHRoaXMgZmls
ZS4KLQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1Qcm9wZXJ0aWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4
ZXM6Ci1Ob25lCi1Qcm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKLU5v
bmUKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLQotTGlzdCBvZiBmaWxlczoKLS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2FkZF9jbGVhbnVw
Lmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy90ZXN0L3Rlc3RzL2FkZF9jbGVhbnVwX2NvdW50Lmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2FkZF9jbGVh
bnVwX2Vyci5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9hZGRfY2xlYW51cF9lcnJfbXVsdGkuaHRtbAotL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVz
dHMvYXBpLXRlc3RzLTEuaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvYXBpLXRlc3RzLTIuaHRtbAotL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMv
YXBpLXRlc3RzLTMuaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZ2VuZXJhdGUtY2FsbGJhY2suaHRtbAotL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVz
dHMvaWZyYW1lLWNhbGxiYWNrLmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2lmcmFtZS1jb25zb2xpZGF0ZS1lcnJv
cnMuaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3Rlc3QvdGVzdHMvaWZyYW1lLWNvbnNvbGlkYXRlLXRlc3RzLmh0bWwKLS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3Rz
L2lmcmFtZS1tc2cuaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvb3JkZXIuaHRtbAotL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvcHJvbWlzZS1h
c3luYy5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvdGVzdC90ZXN0cy9wcm9taXNlLmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL3NpbmdsZS1wYWdlLXRl
c3QtZmFpbC5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9zaW5nbGUtcGFnZS10ZXN0LW5vLWFzc2VydGlvbnMuaHRt
bAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3Rlc3QvdGVzdHMvc2luZ2xlLXBhZ2UtdGVzdC1uby1ib2R5Lmh0bWwKLS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL3Npbmds
ZS1wYWdlLXRlc3QtcGFzcy5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy91bmNhdWdodC1leGNlcHRpb24taGFuZGxl
Lmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy90ZXN0L3Rlc3RzL3VuY2F1Z2h0LWV4Y2VwdGlvbi1pZ25vcmUuaHRtbAotL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMv
d29ya2VyLWRlZGljYXRlZC5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy93b3JrZXItZXJyb3IuanMKLS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3Rz
L3dvcmtlci1zZXJ2aWNlLmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL3dvcmtlci1zaGFyZWQuaHRtbAotL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVz
dHMvd29ya2VyLmpzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL3dvcmtlci1kZWRpY2F0ZWQuaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rl
c3QvdGVzdHMvd29ya2VyLWRlZGljYXRlZC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwY2EzZTRkMTQ1YTY0NDcxZThkMGY5YmFmZDY3YTMzNzFiMzdjNmU4Li4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvd29ya2VyLWRlZGlj
YXRlZC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsOTcgKzAsMCBAQAotPCFET0NUWVBFIEhUTUw+
Ci08aHRtbD4KLTxoZWFkPgotPHRpdGxlPkRlZGljYXRlZCBXb3JrZXIgVGVzdHM8L3RpdGxlPgot
PHNjcmlwdCBzcmM9Ii4uLy4uL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIuLi8uLi90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4K
LTxoMT5EZWRpY2F0ZWQgV2ViIFdvcmtlciBUZXN0czwvaDE+Ci08cD5EZW1vbnN0cmF0ZXMgcnVu
bmluZyA8dHQ+dGVzdGhhcm5lc3M8L3R0PiBiYXNlZCB0ZXN0cyBpbnNpZGUgYSBkZWRpY2F0ZWQg
d2ViIHdvcmtlci4KLTxwPlRoZSB0ZXN0IGhhcm5lc3MgaXMgZXhwZWN0ZWQgdG8gZmFpbCBkdWUg
dG8gYW4gdW5jYXVnaHQgZXhjZXB0aW9uIGluIG9uZSB3b3JrZXIuPC9wPgotPGRpdiBpZD0ibG9n
Ij48L2Rpdj4KLQotPHNjcmlwdD4KLXRlc3QoZnVuY3Rpb24odCkgewotICAgICAgICBhc3NlcnRf
dHJ1ZSgiV29ya2VyIiBpbiBzZWxmLCAiQnJvd3NlciBzaG91bGQgc3VwcG9ydCBXb3JrZXJzIik7
Ci0gICAgfSwKLSAgICAiQnJvd3NlciBzdXBwb3J0cyBXb3JrZXJzIik7Ci0KLWZldGNoX3Rlc3Rz
X2Zyb21fd29ya2VyKG5ldyBXb3JrZXIoIndvcmtlci5qcyIpKTsKLQotZmV0Y2hfdGVzdHNfZnJv
bV93b3JrZXIobmV3IFdvcmtlcigid29ya2VyLWVycm9yLmpzIikpOwotCi10ZXN0KGZ1bmN0aW9u
KHQpIHsKLSAgICAgICAgYXNzZXJ0X2ZhbHNlKGZhbHNlLCAiRmFsc2UgaXMgZmFsc2UiKTsKLSAg
ICB9LAotICAgICJUZXN0IHJ1bm5pbmcgb24gbWFpbiBkb2N1bWVudC4iKTsKLTwvc2NyaXB0Pgot
PHNjcmlwdCB0eXBlPSJ0ZXh0L2pzb24iIGlkPSJleHBlY3RlZCI+Ci17Ci0gICJzdW1tYXJpemVk
X3N0YXR1cyI6IHsKLSAgICAic3RhdHVzX3N0cmluZyI6ICJFUlJPUiIsCi0gICAgIm1lc3NhZ2Ui
OiAiRXJyb3I6IFRoaXMgZmFpbHVyZSBpcyBleHBlY3RlZC4iLAotICAgICJzdGFjayI6ICIoaW1w
bGVtZW50YXRpb24tZGVmaW5lZCkiCi0gIH0sCi0gICJzdW1tYXJpemVkX3Rlc3RzIjogWwotICAg
IHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUiOiAiQnJvd3Nl
ciBzdXBwb3J0cyBXb3JrZXJzIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVz
c2FnZSI6IG51bGwsCi0gICAgICAic3RhY2siOiBudWxsCi0gICAgfSwKLSAgICB7Ci0gICAgICAi
c3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1lIjogIlRlc3QgcnVubmluZyBvbiBt
YWluIGRvY3VtZW50LiIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2Ui
OiBudWxsLAotICAgICAgInN0YWNrIjogbnVsbAotICAgIH0sCi0gICAgewotICAgICAgInN0YXR1
c19zdHJpbmciOiAiRkFJTCIsCi0gICAgICAibmFtZSI6ICJVbnRpdGxlZCIsCi0gICAgICAicHJv
cGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiAiRXJyb3I6IFRoaXMgZmFpbHVyZSBpcyBl
eHBlY3RlZC4iLAotICAgICAgInN0YWNrIjogIihpbXBsZW1lbnRhdGlvbi1kZWZpbmVkKSIKLSAg
ICB9LAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUi
OiAiV29ya2VyIGFzeW5jX3Rlc3QgdGhhdCBjb21wbGV0ZXMgc3VjY2Vzc2Z1bGx5IiwKLSAgICAg
ICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAic3RhY2si
OiBudWxsCi0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAg
ICAgICJuYW1lIjogIldvcmtlciB0ZXN0IHRoYXQgY29tcGxldGVzIHN1Y2Nlc3NmdWxseSIsCi0g
ICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgInN0
YWNrIjogbnVsbAotICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiTk9UUlVO
IiwKLSAgICAgICJuYW1lIjogIldvcmtlciB0ZXN0IHRoYXQgZG9lc24ndCBydW4gKCdOT1QgUlVO
JykiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAg
ICAgICJzdGFjayI6IG51bGwKLSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjog
IkZBSUwiLAotICAgICAgIm5hbWUiOiAiV29ya2VyIHRlc3QgdGhhdCBmYWlscyAoJ0ZBSUwnKSIs
Ci0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiAiYXNzZXJ0X3RydWU6
IEZhaWxpbmcgdGVzdCBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZSIsCi0gICAgICAic3RhY2siOiAi
KGltcGxlbWVudGF0aW9uLWRlZmluZWQpIgotICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19z
dHJpbmciOiAiVElNRU9VVCIsCi0gICAgICAibmFtZSI6ICJXb3JrZXIgdGVzdCB0aGF0IHRpbWVz
IG91dCAoJ1RJTUVPVVQnKSIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3Nh
Z2UiOiAiVGVzdCB0aW1lZCBvdXQiLAotICAgICAgInN0YWNrIjogbnVsbAotICAgIH0KLSAgXSwK
LSAgInR5cGUiOiAiY29tcGxldGUiCi19Ci08L3NjcmlwdD4KLTwvYm9keT4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rl
c3QvdGVzdHMvd29ya2VyLWVycm9yLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy93b3JrZXItZXJyb3IuanMKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGEyNWYwZGIxODhiMDY5YWU3ZDMwYzU5ODY3ODRmN2Zh
ZGVkNjQ1MzIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVz
dC90ZXN0cy93b3JrZXItZXJyb3IuanMKKysrIC9kZXYvbnVsbApAQCAtMSwzICswLDAgQEAKLWlt
cG9ydFNjcmlwdHMoIi4uLy4uL3Rlc3RoYXJuZXNzLmpzIik7Ci0KLXRocm93IG5ldyBFcnJvcigi
VGhpcyBmYWlsdXJlIGlzIGV4cGVjdGVkLiIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy93b3JrZXIt
c2VydmljZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy93b3JrZXItc2VydmljZS5odG1sCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCA0MThmNmQ3MmJiMTZmMjM3MzQ1NDgzNWRhZWI5ZjZmMjdjYThjOTg5
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMv
d29ya2VyLXNlcnZpY2UuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDEyMyArMCwwIEBACi08IURP
Q1RZUEUgSFRNTD4KLTxodG1sPgotPGhlYWQ+Ci08dGl0bGU+RXhhbXBsZSB3aXRoIGEgc2Vydmlj
ZSB3b3JrZXI8L3RpdGxlPgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Ci08L2hlYWQ+Ci08Ym9keT4KLTxoMT5TZXJ2aWNlIFdvcmtlciBUZXN0czwvaDE+Ci08cD5EZW1v
bnN0cmF0ZXMgcnVubmluZyA8dHQ+dGVzdGhhcm5lc3M8L3R0PiBiYXNlZCB0ZXN0cyBpbnNpZGUg
YSBzZXJ2aWNlIHdvcmtlci4KLTxwPlRoZSB0ZXN0IGhhcm5lc3Mgc2hvdWxkIHRpbWUgb3V0IGR1
ZSB0byBvbmUgb2YgdGhlIHRlc3RzIGluc2lkZSB0aGUgd29ya2VyIHRpbWluZyBvdXQuCi08cD5U
aGlzIHRlc3QgYXNzdW1lcyB0aGF0IHRoZSBicm93c2VyIHN1cHBvcnRzIDxhIGhyZWY9Imh0dHA6
Ly93d3cudzMub3JnL1RSL3NlcnZpY2Utd29ya2Vycy8iPlNlcnZpY2VXb3JrZXJzPC9hPi4KLTxk
aXYgaWQ9ImxvZyI+PC9kaXY+Ci0KLTxzY3JpcHQ+Ci10ZXN0KAotICAgIGZ1bmN0aW9uKHQpIHsK
LSAgICAgICAgYXNzZXJ0X3RydWUoInNlcnZpY2VXb3JrZXIiIGluIG5hdmlnYXRvciwKLSAgICAg
ICAgICAgICAgICAgICAgIm5hdmlnYXRvci5zZXJ2aWNlV29ya2VyIGV4aXN0cyIpOwotICAgIH0s
Ci0gICAgIkJyb3dzZXIgc3VwcG9ydHMgU2VydmljZVdvcmtlciIpOwotCi1wcm9taXNlX3Rlc3Qo
Ci0gICAgZnVuY3Rpb24oKSB7Ci0gICAgICAgIC8vIFNpbmNlIHRoZSBzZXJ2aWNlIHdvcmtlciBy
ZWdpc3RyYXRpb24gY291bGQgYmUgaW4gYW4gaW5kZXRlcm1pbmF0ZQotICAgICAgICAvLyBzdGF0
ZSAoZHVlIHRvLCBmb3IgZXhhbXBsZSwgYSBwcmV2aW91cyB0ZXN0IHJ1biBmYWlsaW5nKSwgd2Ug
c3RhcnQgYnkKLSAgICAgICAgLy8gdW5yZWdzdGVyaW5nIG91ciBzZXJ2aWNlIHdvcmtlciBhbmQg
dGhlbiByZWdpc3RlcmluZyBpdCBhZ2Fpbi4KLSAgICAgICAgdmFyIHNjb3BlID0gInNlcnZpY2Ut
d29ya2VyLXNjb3BlIjsKLSAgICAgICAgdmFyIHdvcmtlcl91cmwgPSAid29ya2VyLmpzIjsKLQot
ICAgICAgICByZXR1cm4gbmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIucmVnaXN0ZXIod29ya2VyX3Vy
bCwge3Njb3BlOiBzY29wZX0pCi0gICAgICAgICAgICAudGhlbigKLSAgICAgICAgICAgICAgICBm
dW5jdGlvbihyZWdpc3RyYXRpb24pIHsKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlZ2lz
dHJhdGlvbi51bnJlZ2lzdGVyKCk7Ci0gICAgICAgICAgICAgICAgfSkKLSAgICAgICAgICAgIC50
aGVuKAotICAgICAgICAgICAgICAgIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgICAgICBy
ZXR1cm4gbmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIucmVnaXN0ZXIod29ya2VyX3VybCwge3Njb3Bl
OiBzY29wZX0pOwotICAgICAgICAgICAgICAgIH0pCi0gICAgICAgICAgICAudGhlbigKLSAgICAg
ICAgICAgICAgICBmdW5jdGlvbihyZWdpc3RyYXRpb24pIHsKLSAgICAgICAgICAgICAgICAgICAg
YWRkX2NvbXBsZXRpb25fY2FsbGJhY2soCi0gICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlv
bigpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWdpc3RyYXRpb24udW5yZWdpc3Rl
cigpOwotICAgICAgICAgICAgICAgICAgICAgICAgfSk7Ci0KLSAgICAgICAgICAgICAgICAgICAg
cmV0dXJuIG5ldyBQcm9taXNlKAotICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24ocmVz
b2x2ZSkgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZ2lzdHJhdGlvbi5hZGRFdmVu
dExpc3RlbmVyKCJ1cGRhdGVmb3VuZCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzb2x2
ZShyZWdpc3RyYXRpb24uaW5zdGFsbGluZyk7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIH0pOwotICAgICAgICAgICAgICAgICAgICAgICAgfSk7Ci0gICAgICAgICAgICAgICAgfSkK
LSAgICAgICAgICAgIC50aGVuKAotICAgICAgICAgICAgICAgIGZ1bmN0aW9uKHdvcmtlcikgewot
ICAgICAgICAgICAgICAgICAgICBmZXRjaF90ZXN0c19mcm9tX3dvcmtlcih3b3JrZXIpOwotICAg
ICAgICAgICAgICAgIH0pOwotICAgIH0sCi0gICAgIlJlZ2lzdGVyIFNlcnZpY2VXb3JrZXIiKTsK
LTwvc2NyaXB0PgotPHNjcmlwdCB0eXBlPSJ0ZXh0L2pzb24iIGlkPSJleHBlY3RlZCI+Ci17Ci0g
ICJzdW1tYXJpemVkX3N0YXR1cyI6IHsKLSAgICAic3RhdHVzX3N0cmluZyI6ICJUSU1FT1VUIiwK
LSAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgInN0YWNrIjogbnVsbAotICB9LAotICAic3VtbWFy
aXplZF90ZXN0cyI6IFsKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAg
ICAgICJuYW1lIjogIkJyb3dzZXIgc3VwcG9ydHMgU2VydmljZVdvcmtlciIsCi0gICAgICAicHJv
cGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgInN0YWNrIjogbnVs
bAotICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAi
bmFtZSI6ICJSZWdpc3RlciBTZXJ2aWNlV29ya2VyIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30s
Ci0gICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAic3RhY2siOiBudWxsCi0gICAgfSwKLSAg
ICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1lIjogIldvcmtl
ciBhc3luY190ZXN0IHRoYXQgY29tcGxldGVzIHN1Y2Nlc3NmdWxseSIsCi0gICAgICAicHJvcGVy
dGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgInN0YWNrIjogbnVsbAot
ICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFt
ZSI6ICJXb3JrZXIgdGVzdCB0aGF0IGNvbXBsZXRlcyBzdWNjZXNzZnVsbHkiLAotICAgICAgInBy
b3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICJzdGFjayI6IG51
bGwKLSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIk5PVFJVTiIsCi0gICAg
ICAibmFtZSI6ICJXb3JrZXIgdGVzdCB0aGF0IGRvZXNuJ3QgcnVuICgnTk9UIFJVTicpIiwKLSAg
ICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAic3Rh
Y2siOiBudWxsCi0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJGQUlMIiwK
LSAgICAgICJuYW1lIjogIldvcmtlciB0ZXN0IHRoYXQgZmFpbHMgKCdGQUlMJykiLAotICAgICAg
InByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogImFzc2VydF90cnVlOiBGYWlsaW5n
IHRlc3QgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UiLAotICAgICAgInN0YWNrIjogIihpbXBsZW1l
bnRhdGlvbi1kZWZpbmVkKSIKLSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjog
IlRJTUVPVVQiLAotICAgICAgIm5hbWUiOiAiV29ya2VyIHRlc3QgdGhhdCB0aW1lcyBvdXQgKCdU
SU1FT1VUJykiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogIlRl
c3QgdGltZWQgb3V0IiwKLSAgICAgICJzdGFjayI6IG51bGwKLSAgICB9Ci0gIF0sCi0gICJ0eXBl
IjogImNvbXBsZXRlIgotfQotPC9zY3JpcHQ+Ci08L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3Rz
L3dvcmtlci1zaGFyZWQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvd29ya2VyLXNoYXJlZC5odG1sCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhNTYwMWRlMDM4NjkxNzU0MDAxYzk1YzY5Y2JiYTY0YTg1
MWVhZTJkLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3Qv
dGVzdHMvd29ya2VyLXNoYXJlZC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsODAgKzAsMCBAQAot
PCFET0NUWVBFIEhUTUw+Ci08aHRtbD4KLTxoZWFkPgotPHRpdGxlPkV4YW1wbGUgd2l0aCBhIHNo
YXJlZCB3b3JrZXI8L3RpdGxlPgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Rlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxoMT5TaGFyZWQgV2ViIFdvcmtlciBUZXN0czwvaDE+Ci08
cD5EZW1vbnN0cmF0ZXMgcnVubmluZyA8dHQ+dGVzdGhhcm5lc3M8L3R0PiBiYXNlZCB0ZXN0cyBp
bnNpZGUgYSBzaGFyZWQgd29ya2VyLgotPHA+VGhlIHRlc3QgaGFybmVzcyBzaG91bGQgdGltZSBv
dXQgZHVlIHRvIG9uZSBvZiB0aGUgdGVzdHMgaW4gdGhlIHdvcmtlciB0aW1pbmcgb3V0LgotPHA+
VGhpcyB0ZXN0IGFzc3VtZXMgdGhhdCB0aGUgYnJvd3NlciBzdXBwb3J0cyA8YSBocmVmPSJodHRw
Oi8vd3d3LnczLm9yZy9UUi93b3JrZXJzLyNzaGFyZWQtd29ya2Vycy1hbmQtdGhlLXNoYXJlZHdv
cmtlci1pbnRlcmZhY2UiPnNoYXJlZCB3ZWIgd29ya2VyczwvYT4uCi08ZGl2IGlkPSJsb2ciPjwv
ZGl2PgotCi08c2NyaXB0PgotdGVzdCgKLSAgICBmdW5jdGlvbih0KSB7Ci0gICAgICAgIGFzc2Vy
dF90cnVlKCJTaGFyZWRXb3JrZXIiIGluIHNlbGYsCi0gICAgICAgICAgICAgICAgICAgICJCcm93
c2VyIHNob3VsZCBzdXBwb3J0IFNoYXJlZFdvcmtlcnMiKTsKLSAgICB9LAotICAgICJCcm93c2Vy
IHN1cHBvcnRzIFNoYXJlZFdvcmtlcnMiKTsKLQotZmV0Y2hfdGVzdHNfZnJvbV93b3JrZXIobmV3
IFNoYXJlZFdvcmtlcigid29ya2VyLmpzIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIk15IHNoYXJlZCB3b3JrZXIiKSk7Ci08L3NjcmlwdD4KLTxzY3JpcHQgdHlw
ZT0idGV4dC9qc29uIiBpZD0iZXhwZWN0ZWQiPgotewotICAic3VtbWFyaXplZF9zdGF0dXMiOiB7
Ci0gICAgInN0YXR1c19zdHJpbmciOiAiVElNRU9VVCIsCi0gICAgIm1lc3NhZ2UiOiBudWxsLAot
ICAgICJzdGFjayI6IG51bGwKLSAgfSwKLSAgInN1bW1hcml6ZWRfdGVzdHMiOiBbCi0gICAgewot
ICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJCcm93c2VyIHN1
cHBvcnRzIFNoYXJlZFdvcmtlcnMiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJt
ZXNzYWdlIjogbnVsbCwKLSAgICAgICJzdGFjayI6IG51bGwKLSAgICB9LAotICAgIHsKLSAgICAg
ICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICJuYW1lIjogIldvcmtlciBhc3luY190ZXN0IHRoYXQg
Y29tcGxldGVzIHN1Y2Nlc3NmdWxseSIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAg
InN0YWNrIjogbnVsbCwKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiCi0gICAgfSwKLSAg
ICB7Ci0gICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAibmFtZSI6ICJXb3JrZXIgdGVzdCB0
aGF0IGNvbXBsZXRlcyBzdWNjZXNzZnVsbHkiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAg
ICAgICJzdGFjayI6IG51bGwsCi0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIgotICAgIH0s
Ci0gICAgewotICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgIm5hbWUiOiAiV29ya2VyIHRl
c3QgdGhhdCBkb2Vzbid0IHJ1biAoJ05PVCBSVU4nKSIsCi0gICAgICAicHJvcGVydGllcyI6IHt9
LAotICAgICAgInN0YWNrIjogbnVsbCwKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIk5PVFJVTiIK
LSAgICB9LAotICAgIHsKLSAgICAgICJtZXNzYWdlIjogImFzc2VydF90cnVlOiBGYWlsaW5nIHRl
c3QgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UiLAotICAgICAgIm5hbWUiOiAiV29ya2VyIHRlc3Qg
dGhhdCBmYWlscyAoJ0ZBSUwnKSIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgInN0
YWNrIjogIihpbXBsZW1lbnRhdGlvbi1kZWZpbmVkKSIsCi0gICAgICAic3RhdHVzX3N0cmluZyI6
ICJGQUlMIgotICAgIH0sCi0gICAgewotICAgICAgIm1lc3NhZ2UiOiAiVGVzdCB0aW1lZCBvdXQi
LAotICAgICAgIm5hbWUiOiAiV29ya2VyIHRlc3QgdGhhdCB0aW1lcyBvdXQgKCdUSU1FT1VUJyki
LAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJzdGFjayI6IG51bGwsCi0gICAgICAi
c3RhdHVzX3N0cmluZyI6ICJUSU1FT1VUIgotICAgIH0KLSAgXSwKLSAgInR5cGUiOiAiY29tcGxl
dGUiCi19Ci08L3NjcmlwdD4KLTwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvd29ya2VyLmpz
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
dGVzdC90ZXN0cy93b3JrZXIuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGEyNTYy
MWFjMWU0MDVmOTU3ZjNkODMyZGFmYTMyYTVhMTIxNDg1NDEuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy93b3JrZXIuanMKKysrIC9kZXYvbnVs
bApAQCAtMSwzNCArMCwwIEBACi1pbXBvcnRTY3JpcHRzKCIuLi8uLi90ZXN0aGFybmVzcy5qcyIp
OwotCi10ZXN0KAotICAgIGZ1bmN0aW9uKHRlc3QpIHsKLSAgICAgICAgYXNzZXJ0X3RydWUodHJ1
ZSwgIlRydWUgaXMgdHJ1ZSIpOwotICAgIH0sCi0gICAgIldvcmtlciB0ZXN0IHRoYXQgY29tcGxl
dGVzIHN1Y2Nlc3NmdWxseSIpOwotCi10ZXN0KAotICAgIGZ1bmN0aW9uKHRlc3QpIHsKLSAgICAg
ICAgYXNzZXJ0X3RydWUoZmFsc2UsICJGYWlsaW5nIHRlc3QiKTsKLSAgICB9LAotICAgICJXb3Jr
ZXIgdGVzdCB0aGF0IGZhaWxzICgnRkFJTCcpIik7Ci0KLWFzeW5jX3Rlc3QoCi0gICAgZnVuY3Rp
b24odGVzdCkgewotICAgICAgICBhc3NlcnRfdHJ1ZSh0cnVlLCAiVHJ1ZSBpcyB0cnVlIik7Ci0g
ICAgfSwKLSAgICAiV29ya2VyIHRlc3QgdGhhdCB0aW1lcyBvdXQgKCdUSU1FT1VUJykiKTsKLQot
YXN5bmNfdGVzdCgiV29ya2VyIHRlc3QgdGhhdCBkb2Vzbid0IHJ1biAoJ05PVCBSVU4nKSIpOwot
Ci1hc3luY190ZXN0KAotICAgIGZ1bmN0aW9uKHRlc3QpIHsKLSAgICAgICAgc2VsZi5zZXRUaW1l
b3V0KAotICAgICAgICAgICAgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgdGVzdC5kb25l
KCk7Ci0gICAgICAgICAgICB9LAotICAgICAgICAgICAgMCk7Ci0gICAgfSwKLSAgICAiV29ya2Vy
IGFzeW5jX3Rlc3QgdGhhdCBjb21wbGV0ZXMgc3VjY2Vzc2Z1bGx5Iik7Ci0KLS8vIEFuIGV4cGxp
Y2l0IGRvbmUoKSBpcyByZXF1aXJlZCBmb3IgZGVkaWNhdGVkIGFuZCBzaGFyZWQgd2ViIHdvcmtl
cnMuCi1kb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3RveC5pbmkgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3RveC5pbmkKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDRmNDU2NDA0NzlmMWJiYjg2NjBiOTM1Y2QyZGI3OGM1MWQ0
MDRkNTcuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90
b3guaW5pCisrKyAvZGV2L251bGwKQEAgLTEsMTMgKzAsMCBAQAotW3RveF0KLXNraXBzZGlzdD1U
cnVlCi0KLVt0ZXN0ZW52XQotcGFzc2Vudj1ESVNQTEFZICMgTmVjZXNzYXJ5IGZvciB0aGUgc3Bh
d25lZCBHZWNrb0RyaXZlciBwcm9jZXNzIHRvIGNvbm5lY3QgdG8KLSAgICAgICAgICAgICAgICAj
IHRoZSBhcHByb3ByaWF0ZSBkaXNwbGF5LgotZGVwcyA9Ci0gIGh0bWw1bGliCi0gIHB5dGVzdD49
Mi45Ci0gIHB5dmlydHVhbGRpc3BsYXkKLSAgc2VsZW5pdW0KLQotY29tbWFuZHMgPSBweXRlc3Qg
e3Bvc2FyZ3N9IC12diB0ZXN0cwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC93M2MtaW1wb3J0LmxvZyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdzNj
LWltcG9ydC5sb2cKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI2ZWNkYTBlZDJmN2Iw
ZGIxN2M0MGVmMDM1Yzc2MzE1MWM3MmJjOTIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvdGVzdC93M2MtaW1wb3J0LmxvZworKysgL2Rldi9udWxsCkBAIC0xLDIy
ICswLDAgQEAKLVRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20g
dGhlIFczQyByZXBvc2l0b3J5LgotRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBp
biBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRo
dWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMKLQotVGhlbiBy
dW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBv
cnQKLQotRG8gTk9UIG1vZGlmeSBvciByZW1vdmUgdGhpcyBmaWxlLgotCi0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0KLVByb3BlcnRpZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKLU5vbmUKLVByb3BlcnR5
IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgotTm9uZQotLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
Ci1MaXN0IG9mIGZpbGVzOgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3Rlc3QvUkVBRE1FLm1kCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC9jb25maWcudGVzdC5qc29uCi0vTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC9j
b25mdGVzdC5weQotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3Rlc3QvaGFybmVzcy5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90b3guaW5pCi0vTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC93cHRzZXJ2ZXIucHkK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3Rlc3Qvd3B0c2VydmVyLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC93cHRzZXJ2ZXIucHkKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IGIwNmYzZTgxNzQ1ZWYxMjU2MWM4YTE3MmJiODI3YjRlNjgyOGIy
YjYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC93cHRz
ZXJ2ZXIucHkKKysrIC9kZXYvbnVsbApAQCAtMSw0OCArMCwwIEBACi1pbXBvcnQganNvbgotaW1w
b3J0IG9zCi1pbXBvcnQgc3NsCi1pbXBvcnQgc3VicHJvY2VzcwotaW1wb3J0IHVybGxpYjIKLQot
X0NPTkZJR19GSUxFID0gb3MucGF0aC5qb2luKG9zLnBhdGguZGlybmFtZShvcy5wYXRoLmFic3Bh
dGgoX19maWxlX18pKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAnY29uZmlnLnRlc3Qu
anNvbicpCi0KLXdpdGggb3BlbihfQ09ORklHX0ZJTEUsICdyJykgYXMgY29uZmlnX2hhbmRsZToK
LSAgICBjb25maWcgPSBqc29uLmxvYWRzKGNvbmZpZ19oYW5kbGUucmVhZCgpKQotICAgIGhvc3Qg
PSBjb25maWdbImhvc3QiXQotICAgIHBvcnQgPSBjb25maWdbInBvcnRzIl1bImh0dHBzIl1bMF0K
LQotY2xhc3MgV1BUU2VydmVyKG9iamVjdCk6Ci0gICAgYmFzZV91cmwgPSAnaHR0cHM6Ly8lczol
cycgJSAoaG9zdCwgcG9ydCkKLQotICAgIGRlZiBfX2luaXRfXyhzZWxmLCB3cHRfcm9vdCk6Ci0g
ICAgICAgIHNlbGYud3B0X3Jvb3QgPSB3cHRfcm9vdAotCi0gICAgZGVmIHN0YXJ0KHNlbGYpOgot
ICAgICAgICBzZWxmLmRldm51bGwgPSBvcGVuKG9zLmRldm51bGwsICd3JykKLSAgICAgICAgc2Vs
Zi5wcm9jID0gc3VicHJvY2Vzcy5Qb3BlbigKLSAgICAgICAgICAgIFtvcy5wYXRoLmpvaW4oc2Vs
Zi53cHRfcm9vdCwgJ3dwdCcpLCAnc2VydmUnLCAnLS1jb25maWc9JyArIF9DT05GSUdfRklMRV0s
Ci0gICAgICAgICAgICBzdGRvdXQ9c2VsZi5kZXZudWxsLAotICAgICAgICAgICAgc3RkZXJyPXNl
bGYuZGV2bnVsbCwKLSAgICAgICAgICAgIGN3ZD1zZWxmLndwdF9yb290KQotICAgICAgICBjb250
ZXh0ID0gc3NsLlNTTENvbnRleHQoc3NsLlBST1RPQ09MX1RMU3YxKQotICAgICAgICBjb250ZXh0
LnZlcmlmeV9tb2RlID0gc3NsLkNFUlRfTk9ORQotICAgICAgICBjb250ZXh0LmNoZWNrX2hvc3Ru
YW1lID0gRmFsc2UKLQotICAgICAgICB3aGlsZSBUcnVlOgotICAgICAgICAgICAgaWYgc2VsZi5w
cm9jLnBvbGwoKSAhPSBOb25lOgotICAgICAgICAgICAgICAgIHJhaXNlIEV4Y2VwdGlvbignQ291
bGQgbm90IHN0YXJ0IHdwdHNlcnZlLicpCi0KLSAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAg
ICAgICB1cmxsaWIyLnVybG9wZW4oc2VsZi5iYXNlX3VybCwgdGltZW91dD0xLCBjb250ZXh0PWNv
bnRleHQpCi0gICAgICAgICAgICAgICAgYnJlYWsKLSAgICAgICAgICAgIGV4Y2VwdCB1cmxsaWIy
LlVSTEVycm9yIGFzIGU6Ci0gICAgICAgICAgICAgICAgcGFzcwotCi0gICAgZGVmIHN0b3Aoc2Vs
Zik6Ci0gICAgICAgIHNlbGYucHJvYy5raWxsKCkKLSAgICAgICAgc2VsZi5wcm9jLndhaXQoKQot
ICAgICAgICBzZWxmLmRldm51bGwuY2xvc2UoKQotCi0gICAgZGVmIHVybChzZWxmLCBhYnNfcGF0
aCk6Ci0gICAgICAgIHJldHVybiBzZWxmLmJhc2VfdXJsICsgJy8nICsgb3MucGF0aC5yZWxwYXRo
KGFic19wYXRoLCBzZWxmLndwdF9yb290KQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdGRyaXZlci1hY3Rpb25zLmpz
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
dGVzdGRyaXZlci1hY3Rpb25zLmpzCmluZGV4IDQzZDhiMWRmMDBhZTRjMmYzNjExNGY1ODY5NWE1
MzE0ZGJkNDFkNjAuLmQzZGMwMGI0ZDBmMDAyNjcwMjU4ZTU2ZDU5ZDMzMDYxZjRmYzU3NzUgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3Rlc3Rkcml2ZXItYWN0aW9ucy5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0ZHJpdmVyLWFjdGlvbnMuanMKQEAg
LTMsOCArMywxMCBAQAogCiAgIC8qKgogICAgKiBCdWlsZGVyIGZvciBjcmVhdGluZyBhIHNlcXVl
bmNlIG9mIGFjdGlvbnMKKyAgICogVGhlIGRlZmF1bHQgdGljayBkdXJhdGlvbiBpcyBzZXQgdG8g
MTZtcywgd2hpY2ggaXMgb25lIGZyYW1lIHRpbWUgYmFzZWQgb24KKyAgICogNjBIeiBkaXNwbGF5
LgogICAgKi8KLSAgZnVuY3Rpb24gQWN0aW9ucygpIHsKKyAgZnVuY3Rpb24gQWN0aW9ucyhkZWZh
dWx0VGlja0R1cmF0aW9uPTE2KSB7CiAgICAgdGhpcy5zb3VyY2VUeXBlcyA9IG5ldyBNYXAoW1si
a2V5IiwgS2V5U291cmNlXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyJwb2lu
dGVyIiwgUG9pbnRlclNvdXJjZV0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsi
bm9uZSIsIEdlbmVyYWxTb3VyY2VdXSk7CkBAIC0xOSw2ICsyMSw3IEBACiAgICAgfQogICAgIHRo
aXMuY3JlYXRlU291cmNlKCJub25lIik7CiAgICAgdGhpcy50aWNrSWR4ID0gMDsKKyAgICB0aGlz
LmRlZmF1bHRUaWNrRHVyYXRpb24gPSBkZWZhdWx0VGlja0R1cmF0aW9uOwogICB9CiAKICAgQWN0
aW9ucy5wcm90b3R5cGUgPSB7CkBAIC00MCw3ICs0Myw3IEBACiAgICAgICBsZXQgYWN0aW9ucyA9
IFtdOwogICAgICAgZm9yIChsZXQgW3NvdXJjZVR5cGUsIHNvdXJjZU5hbWVdIG9mIHRoaXMuc291
cmNlT3JkZXIpIHsKICAgICAgICAgbGV0IHNvdXJjZSA9IHRoaXMuc291cmNlcy5nZXQoc291cmNl
VHlwZSkuZ2V0KHNvdXJjZU5hbWUpOwotICAgICAgICBsZXQgc2VyaWFsaXplZCA9IHNvdXJjZS5z
ZXJpYWxpemUodGhpcy50aWNrSWR4ICsgMSk7CisgICAgICAgIGxldCBzZXJpYWxpemVkID0gc291
cmNlLnNlcmlhbGl6ZSh0aGlzLnRpY2tJZHggKyAxLCB0aGlzLmRlZmF1bHRUaWNrRHVyYXRpb24p
OwogICAgICAgICBpZiAoc2VyaWFsaXplZCkgewogICAgICAgICAgIHNlcmlhbGl6ZWQuaWQgPSBz
b3VyY2VOYW1lOwogICAgICAgICAgIGFjdGlvbnMucHVzaChzZXJpYWxpemVkKTsKQEAgLTE5Miwx
MCArMTk1LDE2IEBACiAgICAgICogQWRkIGEgcGF1c2UgdG8gdGhlIGN1cnJlbnQgdGljawogICAg
ICAqCiAgICAgICogQHBhcmFtIHtOdW1iZXI/fSBkdXJhdGlvbiAtIE1pbmltdW0gbGVuZ3RoIG9m
IHRoZSB0aWNrIGluIG1zLgorICAgICAqIEBwYXJhbSB7U3RyaW5nfSBzb3VyY2VUeXBlIC0gc291
cmNlIHR5cGUKKyAgICAgKiBAcGFyYW0ge1N0cmluZz99IHNvdXJjZU5hbWUgLSBOYW1lZCBrZXkg
b3IgcG9pbnRlciBzb3VyY2UgdG8gdXNlIG9yIG51bGwgZm9yIHRoZSBkZWZhdWx0CisgICAgICog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5IG9yIHBvaW50ZXIgc291cmNlCiAgICAg
ICogQHJldHVybnMge0FjdGlvbnN9CiAgICAgICovCi0gICAgcGF1c2U6IGZ1bmN0aW9uKGR1cmF0
aW9uKSB7Ci0gICAgICB0aGlzLmdldFNvdXJjZSgibm9uZSIpLmFkZFBhdXNlKHRoaXMsIGR1cmF0
aW9uKTsKKyAgICBwYXVzZTogZnVuY3Rpb24oZHVyYXRpb249MCwgc291cmNlVHlwZT0ibm9uZSIs
IHtzb3VyY2VOYW1lPW51bGx9PXt9KSB7CisgICAgICBpZiAoc291cmNlVHlwZT09Im5vbmUiKQor
ICAgICAgICB0aGlzLmdldFNvdXJjZSgibm9uZSIpLmFkZFBhdXNlKHRoaXMsIGR1cmF0aW9uKTsK
KyAgICAgIGVsc2UKKyAgICAgICAgdGhpcy5nZXRTb3VyY2Uoc291cmNlVHlwZSwgc291cmNlTmFt
ZSkuYWRkUGF1c2UodGhpcywgZHVyYXRpb24pOwogICAgICAgcmV0dXJuIHRoaXM7CiAgICAgfSwK
IApAQCAtMjc4LDE3ICsyODcsMTQgQEAKICAgfQogCiAgIEdlbmVyYWxTb3VyY2UucHJvdG90eXBl
ID0gewotICAgIHNlcmlhbGl6ZTogZnVuY3Rpb24odGlja0NvdW50KSB7Ci0gICAgICBpZiAoIXRo
aXMuYWN0aW9ucy5zaXplKSB7Ci0gICAgICAgIHJldHVybiB1bmRlZmluZWQ7Ci0gICAgICB9Cisg
ICAgc2VyaWFsaXplOiBmdW5jdGlvbih0aWNrQ291bnQsIGRlZmF1bHRUaWNrRHVyYXRpb24pIHsK
ICAgICAgIGxldCBhY3Rpb25zID0gW107CiAgICAgICBsZXQgZGF0YSA9IHsidHlwZSI6ICJub25l
IiwgImFjdGlvbnMiOiBhY3Rpb25zfTsKICAgICAgIGZvciAobGV0IGk9MDsgaTx0aWNrQ291bnQ7
IGkrKykgewogICAgICAgICBpZiAodGhpcy5hY3Rpb25zLmhhcyhpKSkgewogICAgICAgICAgIGFj
dGlvbnMucHVzaCh0aGlzLmFjdGlvbnMuZ2V0KGkpKTsKICAgICAgICAgfSBlbHNlIHsKLSAgICAg
ICAgICBhY3Rpb25zLnB1c2goeyJ0eXBlIjogInBhdXNlIn0pOworICAgICAgICAgIGFjdGlvbnMu
cHVzaCh7InR5cGUiOiAicGF1c2UiLCBkdXJhdGlvbjogZGVmYXVsdFRpY2tEdXJhdGlvbn0pOwog
ICAgICAgICB9CiAgICAgICB9CiAgICAgICByZXR1cm4gZGF0YTsKQEAgLTMzOSw2ICszNDUsMTQg
QEAKICAgICAgIH0KICAgICAgIHRoaXMuYWN0aW9ucy5zZXQodGljaywge3R5cGU6ICJrZXlVcCIs
IHZhbHVlOiBrZXl9KTsKICAgICB9LAorCisgICAgYWRkUGF1c2U6IGZ1bmN0aW9uKGFjdGlvbnMs
IGR1cmF0aW9uKSB7CisgICAgICBsZXQgdGljayA9IGFjdGlvbnMudGlja0lkeDsKKyAgICAgIGlm
ICh0aGlzLmFjdGlvbnMuaGFzKHRpY2spKSB7CisgICAgICAgIHRpY2sgPSBhY3Rpb25zLmFkZFRp
Y2soKS50aWNrSWR4OworICAgICAgfQorICAgICAgdGhpcy5hY3Rpb25zLnNldCh0aWNrLCB7dHlw
ZTogInBhdXNlIiwgZHVyYXRpb246IGR1cmF0aW9ufSk7CisgICAgfSwKICAgfTsKIAogICBmdW5j
dGlvbiBQb2ludGVyU291cmNlKHBhcmFtZXRlcnM9e3BvaW50ZXJUeXBlOiAibW91c2UifSkgewpA
QCAtMzkzLDYgKzQwNywxNCBAQAogICAgICAgICB0aGlzLmFjdGlvbnMuZ2V0KHRpY2spLmR1cmF0
aW9uID0gZHVyYXRpb247CiAgICAgICB9CiAgICAgfSwKKworICAgIGFkZFBhdXNlOiBmdW5jdGlv
bihhY3Rpb25zLCBkdXJhdGlvbikgeworICAgICAgbGV0IHRpY2sgPSBhY3Rpb25zLnRpY2tJZHg7
CisgICAgICBpZiAodGhpcy5hY3Rpb25zLmhhcyh0aWNrKSkgeworICAgICAgICB0aWNrID0gYWN0
aW9ucy5hZGRUaWNrKCkudGlja0lkeDsKKyAgICAgIH0KKyAgICAgIHRoaXMuYWN0aW9ucy5zZXQo
dGljaywge3R5cGU6ICJwYXVzZSIsIGR1cmF0aW9uOiBkdXJhdGlvbn0pOworICAgIH0sCiAgIH07
CiAKICAgdGVzdF9kcml2ZXIuQWN0aW9ucyA9IEFjdGlvbnM7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0ZHJpdmVy
LXZlbmRvci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3Rlc3Rkcml2ZXItdmVuZG9yLmpzCmluZGV4IGY1OTRkMzUxMDQ3NmU2NjE5NDI3
N2Q2MTI0NDgwYjJjMzEwODA3NDYuLmU2OWRlMjliYjJkMWQ2NDM0YjhiMjlhZTc3NWFkOGMyZTQ4
YzUzOTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3Rlc3Rkcml2ZXItdmVuZG9yLmpzCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3Rkcml2ZXItdmVuZG9y
LmpzCkBAIC0xLDI1MSArMCwwIEBACi0KLWNvbnN0IGlzRGVidWcgPSBmYWxzZTsKLQotZnVuY3Rp
b24gbG9nRGVidWcoY2FsbGJhY2spCi17Ci0gICAgaWYgKGlzRGVidWcpCi0gICAgICAgIGNvbnNv
bGUubG9nKGNhbGxiYWNrKCkpOwotfQotCi1mdW5jdGlvbiBkaXNwYXRjaE1vdXNlQWN0aW9ucyhh
Y3Rpb25zKQotewotICAgIGlmICghd2luZG93LmV2ZW50U2VuZGVyKQotICAgICAgICByZXR1cm4g
UHJvbWlzZS5yZWplY3QobmV3IEVycm9yKCJ3aW5kb3cuZXZlbnRTZW5kZXIgaXMgdW5kZWZpbmVk
LiIpKTsKLQotICAgIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKLSAgICAgICAgc2V0
VGltZW91dCgoKSA9PiB7Ci0gICAgICAgICAgICBldmVudFNlbmRlci5kcmFnTW9kZSA9IGZhbHNl
OwotCi0gICAgICAgICAgICBmb3IgKGxldCBhY3Rpb24gb2YgYWN0aW9ucykgewotICAgICAgICAg
ICAgICAgIHN3aXRjaCAoYWN0aW9uLnR5cGUpIHsKLSAgICAgICAgICAgICAgICBjYXNlICJwb2lu
dGVyTW92ZSI6Ci0gICAgICAgICAgICAgICAgICAgIGxldCBvcmlnaW4gPSB7IHg6IDAsIHk6IDAg
fTsKLSAgICAgICAgICAgICAgICAgICAgaWYgKGFjdGlvbi5vcmlnaW4gaW5zdGFuY2VvZiBFbGVt
ZW50KSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBib3VuZHMgPSBhY3Rpb24ub3Jp
Z2luLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOwotICAgICAgICAgICAgICAgICAgICAgICAgbG9n
RGVidWcoKCkgPT4gYCR7YWN0aW9uLm9yaWdpbi5pZH0gWyR7Ym91bmRzLmxlZnR9LCAke2JvdW5k
cy50b3B9LCAke2JvdW5kcy53aWR0aH0sICR7Ym91bmRzLmhlaWdodH1dYCk7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICBvcmlnaW4ueCA9IGJvdW5kcy5sZWZ0ICsgMTsKLSAgICAgICAgICAgICAg
ICAgICAgICAgIG9yaWdpbi55ID0gYm91bmRzLnRvcCArIDE7Ci0gICAgICAgICAgICAgICAgICAg
IH0KLSAgICAgICAgICAgICAgICAgICAgbG9nRGVidWcoKCkgPT4gYGV2ZW50U2VuZGVyLm1vdXNl
TW92ZVRvKCR7YWN0aW9uLnggKyBvcmlnaW4ueH0sICR7YWN0aW9uLnkgKyBvcmlnaW4ueX0pYCk7
Ci0gICAgICAgICAgICAgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKGFjdGlvbi54ICsg
b3JpZ2luLngsIGFjdGlvbi55ICsgb3JpZ2luLnkpOwotICAgICAgICAgICAgICAgICAgICBicmVh
azsKLSAgICAgICAgICAgICAgICBjYXNlICJwb2ludGVyRG93biI6Ci0gICAgICAgICAgICAgICAg
ICAgIGxvZ0RlYnVnKCgpID0+IGBldmVudFNlbmRlci5tb3VzZURvd24oKWApOwotICAgICAgICAg
ICAgICAgICAgICBldmVudFNlbmRlci5tb3VzZURvd24oYWN0aW9uLmJ1dHRvbik7Ci0gICAgICAg
ICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgICAgIGNhc2UgInBvaW50ZXJVcCI6Ci0g
ICAgICAgICAgICAgICAgICAgIGxvZ0RlYnVnKCgpID0+IGBldmVudFNlbmRlci5tb3VzZVVwKClg
KTsKLSAgICAgICAgICAgICAgICAgICAgZXZlbnRTZW5kZXIubW91c2VVcChhY3Rpb24uYnV0dG9u
KTsKLSAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgZGVmYXVsdDoK
LSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyBFcnJvcihgVW5r
bm93biBhY3Rpb24gdHlwZSAiJHthY3Rpb24udHlwZX0iLmApKTsKLSAgICAgICAgICAgICAgICB9
Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICByZXNvbHZlKCk7Ci0gICAgICAgIH0pOwotICAg
IH0pOwotfQotCi1mdW5jdGlvbiBkaXNwYXRjaFRvdWNoQWN0aW9ucyhhY3Rpb25zLCBvcHRpb25z
ID0geyBpbnNlcnRQYXVzZUFmdGVyUG9pbnRlclVwOiBmYWxzZSB9KQotewotICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIgfHwgdHlwZW9mIHdpbmRvdy50ZXN0UnVubmVyLnJ1blVJU2NyaXB0ICE9
PSAiZnVuY3Rpb24iKQotICAgICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QobmV3IEVycm9yKCJ3
aW5kb3cudGVzdFJ1bm5lci5ydW5VSVNjcmlwdCgpIGlzIHVuZGVmaW5lZC4iKSk7Ci0KLSAgICBs
ZXQgeCA9IDA7Ci0gICAgbGV0IHkgPSAwOwotICAgIGxldCB0aW1lT2Zmc2V0ID0gMDsKLSAgICBs
ZXQgcG9pbnRlckRvd24gPSBmYWxzZTsKLSAgICBsZXQgaWQgPSAxOwotCi0gICAgY29uc3QgZXZl
bnRzID0gW107Ci0gICAgZm9yIChsZXQgYWN0aW9uIG9mIGFjdGlvbnMpIHsKLSAgICAgICAgY29u
c3QgdG91Y2ggPSB7Ci0gICAgICAgICAgICBpbnB1dFR5cGUgOiAiZmluZ2VyIiwKLSAgICAgICAg
ICAgIGlkLAotICAgICAgICAgICAgeCA6IGFjdGlvbi54LAotICAgICAgICAgICAgeSA6IGFjdGlv
bi55LAotICAgICAgICAgICAgcHJlc3N1cmUgOiAwCi0gICAgICAgIH07Ci0KLSAgICAgICAgY29u
c3QgY29tbWFuZCA9IHsKLSAgICAgICAgICAgIGlucHV0VHlwZSA6ICJoYW5kIiwKLSAgICAgICAg
ICAgIGNvb3JkaW5hdGVTcGFjZSA6ICJjb250ZW50IiwKLSAgICAgICAgICAgIHRvdWNoZXMgOiBb
dG91Y2hdLAotICAgICAgICAgICAgdGltZU9mZnNldAotICAgICAgICB9OwotCi0gICAgICAgIGxl
dCB0aW1lT2Zmc2V0SW5jcmVhc2UgPSAwLjA1OwotCi0gICAgICAgIHN3aXRjaCAoYWN0aW9uLnR5
cGUpIHsKLSAgICAgICAgY2FzZSAicG9pbnRlck1vdmUiOgotICAgICAgICAgICAgdG91Y2gucGhh
c2UgPSAibW92ZWQiOwotICAgICAgICAgICAgaWYgKGFjdGlvbi5vcmlnaW4gaW5zdGFuY2VvZiBF
bGVtZW50KSB7Ci0gICAgICAgICAgICAgICAgY29uc3QgYm91bmRzID0gYWN0aW9uLm9yaWdpbi5n
ZXRCb3VuZGluZ0NsaWVudFJlY3QoKTsKLSAgICAgICAgICAgICAgICB0b3VjaC54ICs9IGJvdW5k
cy5sZWZ0ICsgMTsKLSAgICAgICAgICAgICAgICB0b3VjaC55ICs9IGJvdW5kcy50b3AgKyAxOwot
ICAgICAgICAgICAgfQotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgInBvaW50ZXJE
b3duIjoKLSAgICAgICAgICAgIHBvaW50ZXJEb3duID0gdHJ1ZTsKLSAgICAgICAgICAgIHRvdWNo
LnBoYXNlID0gImJlZ2FuIjsKLSAgICAgICAgICAgIGlmIChhY3Rpb24ueCA9PT0gdW5kZWZpbmVk
KQotICAgICAgICAgICAgICAgIHRvdWNoLnggPSB4OwotICAgICAgICAgICAgaWYgKGFjdGlvbi55
ID09PSB1bmRlZmluZWQpCi0gICAgICAgICAgICAgICAgdG91Y2gueSA9IHk7Ci0gICAgICAgICAg
ICBicmVhazsKLSAgICAgICAgY2FzZSAicG9pbnRlclVwIjoKLSAgICAgICAgICAgIHBvaW50ZXJE
b3duID0gZmFsc2U7Ci0gICAgICAgICAgICB0b3VjaC5waGFzZSA9ICJlbmRlZCI7Ci0gICAgICAg
ICAgICB0b3VjaC54ID0geDsKLSAgICAgICAgICAgIHRvdWNoLnkgPSB5OwotICAgICAgICAgICAg
aWQrKzsKLSAgICAgICAgICAgIC8vIFdlIG5lZWQgdG8gYWRkIGEgcGF1c2UgYWZ0ZXIgYSBwb2lu
dGVyIHVwIHRvIGVuc3VyZSB0aGF0IGEgc3Vic2VxdWVudCB0YXAgbWF5IGJlIHJlY29nbml6ZWQg
YXMgc3VjaC4KLSAgICAgICAgICAgIGlmIChvcHRpb25zLmluc2VydFBhdXNlQWZ0ZXJQb2ludGVy
VXApCi0gICAgICAgICAgICAgICAgdGltZU9mZnNldEluY3JlYXNlID0gMC41OwotICAgICAgICAg
ICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgInBhdXNlIjoKLSAgICAgICAgICAgIHRpbWVPZmZzZXRJ
bmNyZWFzZSA9IGFjdGlvbi5kdXJhdGlvbiAvIDEwMDA7Ci0gICAgICAgICAgICB0b3VjaC5waGFz
ZSA9ICJzdGF0aW9uYXJ5IjsKLSAgICAgICAgICAgIGlmICghcG9pbnRlckRvd24pCi0gICAgICAg
ICAgICAgICAgaWQrKzsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBkZWZhdWx0OgotICAg
ICAgICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyBFcnJvcihgVW5rbm93biBhY3Rpb24g
dHlwZSAiJHthY3Rpb24udHlwZX0iLmApKTsKLSAgICAgICAgfQotCi0gICAgICAgIHggPSB0b3Vj
aC54OwotICAgICAgICB5ID0gdG91Y2gueTsKLQotICAgICAgICBpZiAoIXBvaW50ZXJEb3duICYm
IHRvdWNoLnBoYXNlID09ICJtb3ZlZCIpCi0gICAgICAgICAgICBjb250aW51ZTsKLQotICAgICAg
ICB0aW1lT2Zmc2V0ICs9IHRpbWVPZmZzZXRJbmNyZWFzZTsKLQotICAgICAgICBldmVudHMucHVz
aChjb21tYW5kKTsKLSAgICB9Ci0KLSAgICBjb25zdCBzdHJlYW0gPSBKU09OLnN0cmluZ2lmeSh7
IGV2ZW50cyB9KTsKLSAgICBsb2dEZWJ1ZygoKSA9PiBzdHJlYW0pOwotCi0gICAgcmV0dXJuIG5l
dyBQcm9taXNlKHJlc29sdmUgPT4gdGVzdFJ1bm5lci5ydW5VSVNjcmlwdChgKGZ1bmN0aW9uKCkg
ewotICAgICAgICAoZnVuY3Rpb24oKSB7IHVpQ29udHJvbGxlci5zZW5kRXZlbnRTdHJlYW0oJyR7
c3RyZWFtfScpIH0pKCk7Ci0gICAgICAgIHVpQ29udHJvbGxlci51aVNjcmlwdENvbXBsZXRlKCk7
Ci0gICAgfSkoKTtgLCByZXNvbHZlKSk7Ci19Ci0KLWlmICh3aW5kb3cudGVzdF9kcml2ZXJfaW50
ZXJuYWwgPT09IHVuZGVmaW5lZCkKLSAgICB3aW5kb3cudGVzdF9kcml2ZXJfaW50ZXJuYWwgPSB7
IH07Ci0KLXdpbmRvdy50ZXN0X2RyaXZlcl9pbnRlcm5hbC5zZW5kX2tleXMgPSBmdW5jdGlvbihl
bGVtZW50LCBrZXlzKQotewotICAgIGlmICghd2luZG93LmV2ZW50U2VuZGVyKQotICAgICAgICBy
ZXR1cm4gUHJvbWlzZS5yZWplY3QobmV3IEVycm9yKCJ3aW5kb3cuZXZlbnRTZW5kZXIgaXMgdW5k
ZWZpbmVkLiIpKTsKLQotICAgIC8vIGh0dHBzOi8vc2VsZW5pdW1ocS5naXRodWIuaW8vc2VsZW5p
dW0vZG9jcy9hcGkvcHkvd2ViZHJpdmVyL3NlbGVuaXVtLndlYmRyaXZlci5jb21tb24ua2V5cy5o
dG1sCi0gICAgLy8gRklYTUU6IEFkZCBtb3JlIGNhc2VzLgotICAgIC8vIEZJWE1FOiBBZGQgdGhl
IHN1cHBvcnQgZm9yIG1vZGlmaWVyIGtleXMuCi0gICAgY29uc3QgU2VsZW5pdW1DaGFyQ29kZVRv
RXZlbnRTZW5kZXJLZXkgPSB7Ci0gICAgICAgIDB4RTAwMzogJ2RlbGV0ZScsCi0gICAgICAgIDB4
RTAwNDogJ1x0JywKLSAgICAgICAgMHhFMDBEOiAnICcsCi0gICAgICAgIDB4RTAxMjogJ2xlZnRB
cnJvdycsCi0gICAgICAgIDB4RTAxMzogJ3VwQXJyb3cnLAotICAgICAgICAweEUwMTQ6ICdyaWdo
dEFycm93JywKLSAgICAgICAgMHhFMDE1OiAnZG93bkFycm93JywKLSAgICB9OwotCi0gICAgZnVu
Y3Rpb24gY29udmVydFNlbGVuaXVtS2V5Q29kZShrZXkpCi0gICAgewotICAgICAgICBjb25zdCBj
b2RlID0ga2V5LmNoYXJDb2RlQXQoMCk7Ci0gICAgICAgIHJldHVybiBTZWxlbml1bUNoYXJDb2Rl
VG9FdmVudFNlbmRlcktleVtjb2RlXSB8fCBrZXk7Ci0gICAgfQotCi0gICAgY29uc3Qga2V5TGlz
dCA9IFtdOwotICAgIGZvciAoY29uc3Qga2V5IG9mIGtleXMpCi0gICAgICAgIGtleUxpc3QucHVz
aChjb252ZXJ0U2VsZW5pdW1LZXlDb2RlKGtleSkpOwotCi0gICAgaWYgKHRlc3RSdW5uZXIuaXNJ
T1NGYW1pbHkgJiYgdGVzdFJ1bm5lci5pc1dlYktpdDIpIHsKLSAgICAgICAgcmV0dXJuIG5ldyBQ
cm9taXNlKChyZXNvbHZlKSA9PiB7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLnJ1blVJU2NyaXB0
KGAKLSAgICAgICAgICAgICAgICBjb25zdCBrZXlMaXN0ID0gSlNPTi5wYXJzZSgnJHtKU09OLnN0
cmluZ2lmeShrZXlMaXN0KX0nKTsKLSAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGtleSBvZiBr
ZXlMaXN0KQotICAgICAgICAgICAgICAgICAgICB1aUNvbnRyb2xsZXIua2V5RG93bihrZXkpO2As
IHJlc29sdmUpOwotICAgICAgICB9KTsKLSAgICB9Ci0KLSAgICBmb3IgKGNvbnN0IGtleSBvZiBr
ZXlMaXN0KQotICAgICAgICBldmVudFNlbmRlci5rZXlEb3duKGtleSk7Ci0gICAgcmV0dXJuIFBy
b21pc2UucmVzb2x2ZSgpOwotfQotCi13aW5kb3cudGVzdF9kcml2ZXJfaW50ZXJuYWwuY2xpY2sg
PSBmdW5jdGlvbiAoZWxlbWVudCwgY29vcmRzKQotewotICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCi0gICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTsKLQotICAgIGlmICghd2luZG93
LmV2ZW50U2VuZGVyKQotICAgICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QobmV3IEVycm9yKCJ3
aW5kb3cuZXZlbnRTZW5kZXIgaXMgdW5kZWZpbmVkLiIpKTsKLQotICAgIGlmICh0ZXN0UnVubmVy
LmlzSU9TRmFtaWx5ICYmIHRlc3RSdW5uZXIuaXNXZWJLaXQyKSB7Ci0gICAgICAgIHJldHVybiBu
ZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4gewotICAgICAgICAgICAgdGVzdFJ1bm5lci5ydW5VSVNj
cmlwdChgCi0gICAgICAgICAgICAgICAgdWlDb250cm9sbGVyLnNpbmdsZVRhcEF0UG9pbnQoJHtj
b29yZHMueH0sICR7Y29vcmRzLnl9LCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICAgICAg
dWlDb250cm9sbGVyLnVpU2NyaXB0Q29tcGxldGUoKTsKLSAgICAgICAgICAgICAgICB9KTtgLCBy
ZXNvbHZlKTsKLSAgICAgICAgfSk7Ci0gICAgfQotCi0gICAgZXZlbnRTZW5kZXIubW91c2VNb3Zl
VG8oY29vcmRzLngsIGNvb3Jkcy55KTsKLSAgICBldmVudFNlbmRlci5tb3VzZURvd24oKTsKLSAg
ICBldmVudFNlbmRlci5tb3VzZVVwKCk7Ci0KLSAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7
Ci19Ci0KLXdpbmRvdy50ZXN0X2RyaXZlcl9pbnRlcm5hbC5hY3Rpb25fc2VxdWVuY2UgPSBmdW5j
dGlvbihzb3VyY2VzKQotewotICAgIC8vIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby93ZWJkcml2ZXIv
I3Byb2Nlc3NpbmctYWN0aW9ucyAgICAKLQotICAgIGxldCBub25lU291cmNlOwotICAgIGxldCBw
b2ludGVyU291cmNlOwotICAgIGZvciAobGV0IHNvdXJjZSBvZiBzb3VyY2VzKSB7Ci0gICAgICAg
IHN3aXRjaCAoc291cmNlLnR5cGUpIHsKLSAgICAgICAgY2FzZSAibm9uZSI6Ci0gICAgICAgICAg
ICBub25lU291cmNlID0gc291cmNlOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2Ug
InBvaW50ZXIiOgotICAgICAgICAgICAgcG9pbnRlclNvdXJjZSA9IHNvdXJjZTsKLSAgICAgICAg
ICAgIGJyZWFrOwotICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgcmV0dXJuIFByb21pc2Uu
cmVqZWN0KG5ldyBFcnJvcihgVW5rbm93biBzb3VyY2UgdHlwZSAiJHthY3Rpb24udHlwZX0iLmAp
KTsKLSAgICAgICAgfQotICAgIH0KLQotICAgIGlmICghcG9pbnRlclNvdXJjZSkKLSAgICAgICAg
cmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyBFcnJvcihgVW5rbm93biBwb2ludGVyIHR5cGUgcG9p
bnRlciB0eXBlICIke2FjdGlvbi5wYXJhbWV0ZXJzLnBvaW50ZXJUeXBlfSIuYCkpOwotCi0gICAg
Y29uc3QgcG9pbnRlclR5cGUgPSBwb2ludGVyU291cmNlLnBhcmFtZXRlcnMucG9pbnRlclR5cGU7
Ci0gICAgaWYgKHBvaW50ZXJUeXBlICE9PSAibW91c2UiICYmIHBvaW50ZXJUeXBlICE9PSAidG91
Y2giKQotICAgICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QobmV3IEVycm9yKGBVbmtub3duIHBv
aW50ZXIgdHlwZSAiJHtwb2ludGVyVHlwZX0iLmApKTsKLQotICAgIC8vIElmIHdlIGhhdmUgYSAi
bm9uZSIgc291cmNlLCBsZXQncyBpbmplY3QgYW55IHBhdXNlIHdpdGggbm9uLXplcm8gZHVyYXRp
b25zIGludG8gdGhlIHBvaW50ZXIgc291cmNlCi0gICAgLy8gYWZ0ZXIgdGhlIG1hdGNoaW5nIGFj
dGlvbiBpbiB0aGUgcG9pbnRlciBzb3VyY2UuCi0gICAgaWYgKG5vbmVTb3VyY2UpIHsKLSAgICAg
ICAgbGV0IGluamVjdGVkQWN0aW9ucyA9IDA7Ci0gICAgICAgIG5vbmVTb3VyY2UuYWN0aW9ucy5m
b3JFYWNoKChhY3Rpb24sIGluZGV4KSA9PiB7Ci0gICAgICAgICAgICBpZiAoYWN0aW9uLmR1cmF0
aW9uID4gMCkgewotICAgICAgICAgICAgICAgIHBvaW50ZXJTb3VyY2UuYWN0aW9ucy5zcGxpY2Uo
aW5kZXggKyBpbmplY3RlZEFjdGlvbnMgKyAxLCAwLCBhY3Rpb24pOwotICAgICAgICAgICAgICAg
IGluamVjdGVkQWN0aW9ucysrOwotICAgICAgICAgICAgfQotICAgICAgICB9KTsKLSAgICB9Ci0K
LSAgICBsb2dEZWJ1ZygoKSA9PiBKU09OLnN0cmluZ2lmeShwb2ludGVyU291cmNlKSk7Ci0KLSAg
ICBpZiAocG9pbnRlclR5cGUgPT09ICJ0b3VjaCIpCi0gICAgICAgIHJldHVybiBkaXNwYXRjaFRv
dWNoQWN0aW9ucyhwb2ludGVyU291cmNlLmFjdGlvbnMpOwotICAgIGlmICh0ZXN0UnVubmVyLmlz
SU9TRmFtaWx5ICYmICJjcmVhdGVUb3VjaCIgaW4gZG9jdW1lbnQpCi0gICAgICAgIHJldHVybiBk
aXNwYXRjaFRvdWNoQWN0aW9ucyhwb2ludGVyU291cmNlLmFjdGlvbnMsIHsgaW5zZXJ0UGF1c2VB
ZnRlclBvaW50ZXJVcDogdHJ1ZSB9KTsKLSAgICBpZiAocG9pbnRlclR5cGUgPT09ICJtb3VzZSIp
Ci0gICAgICAgIHJldHVybiBkaXNwYXRjaE1vdXNlQWN0aW9ucyhwb2ludGVyU291cmNlLmFjdGlv
bnMpOwotfTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3Rkcml2ZXItdmVuZG9yLmpzLmhlYWRlcnMgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0ZHJpdmVy
LXZlbmRvci5qcy5oZWFkZXJzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVlOGY2NDBjNjY1OWQxNzZlYWNhNGM3MWNj
MTc5OGI3Mjg1NTQwYjcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0ZHJpdmVyLXZlbmRvci5qcy5oZWFk
ZXJzCkBAIC0wLDAgKzEsMiBAQAorQ29udGVudC1UeXBlOiB0ZXh0L2phdmFzY3JpcHQ7IGNoYXJz
ZXQ9dXRmLTgKK0NhY2hlLUNvbnRyb2w6IG1heC1hZ2U9MzYwMApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdGRyaXZl
ci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3Rlc3Rkcml2ZXIuanMKaW5kZXggMDMxYmUxYjdlNTUwMTY1OGQ0MTJhZWNjNmYwY2JhNTZi
MzQ0NDYwMS4uYmQzOGUzZTAwNmFmZWM5NGMyMzAwNWNiMTcyNWM2ZDRhNmU5YmJlMCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvdGVzdGRyaXZlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0ZHJpdmVyLmpzCkBAIC0yMDgsNyArMjA4LDEyNiBAQAog
ICAgICAgICAgKi8KICAgICAgICAgZ2VuZXJhdGVfdGVzdF9yZXBvcnQ6IGZ1bmN0aW9uKG1lc3Nh
Z2UpIHsKICAgICAgICAgICAgIHJldHVybiB3aW5kb3cudGVzdF9kcml2ZXJfaW50ZXJuYWwuZ2Vu
ZXJhdGVfdGVzdF9yZXBvcnQobWVzc2FnZSk7Ci0gICAgICAgIH0KKyAgICAgICAgfSwKKworICAg
ICAgICAvKioKKyAgICAgICAgICogQ3JlYXRlcyBhIHZpcnR1YWwgYXV0aGVudGljYXRvcgorICAg
ICAgICAgKgorICAgICAgICAgKiBUaGlzIGZ1bmN0aW9uIGNyZWF0ZXMgYSB2aXJ0dWFsIGF1dGhl
bnRpY2F0b3IgZm9yIHVzZSB3aXRoIHRoZSBVMkYKKyAgICAgICAgICogYW5kIFdlYkF1dGhuIEFQ
SXMgYXMgZGVzY3JpYmVkIGluIHtAbGluaworICAgICAgICAgKiBodHRwczovL3czYy5naXRodWIu
aW8vd2ViYXV0aG4vI3NjdG4tYXV0b21hdGlvbi1hZGQtdmlydHVhbC1hdXRoZW50aWNhdG9yfQor
ICAgICAgICAgKgorICAgICAgICAgKiBAcGFyYW0ge09iamVjdH0gY29uZmlnIC0gYW4gW0F1dGhl
bnRpY2F0b3IgQ29uZmlndXJhdGlvbl17QGxpbmsKKyAgICAgICAgICogICAgICAgICAgICAgICAg
ICAgICAgICAgIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby93ZWJhdXRobi8jYXV0aGVudGljYXRvci1j
b25maWd1cmF0aW9ufQorICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqZWN0
CisgICAgICAgICAqIEByZXR1cm5zIHtQcm9taXNlfSBmdWxmaWxsZWQgYWZ0ZXIgdGhlIGF1dGhl
bnRpY2F0b3IgaXMgYWRkZWQsIG9yCisgICAgICAgICAqICAgICAgICAgICAgICAgICAgICByZWpl
Y3RlZCBpbiB0aGUgY2FzZXMgdGhlIFdlYkRyaXZlciBjb21tYW5kCisgICAgICAgICAqICAgICAg
ICAgICAgICAgICAgICBlcnJvcnMuIFJldHVybnMgdGhlIElEIG9mIHRoZSBhdXRoZW50aWNhdG9y
CisgICAgICAgICAqLworICAgICAgICBhZGRfdmlydHVhbF9hdXRoZW50aWNhdG9yOiBmdW5jdGlv
bihjb25maWcpIHsKKyAgICAgICAgICAgIHJldHVybiB3aW5kb3cudGVzdF9kcml2ZXJfaW50ZXJu
YWwuYWRkX3ZpcnR1YWxfYXV0aGVudGljYXRvcihjb25maWcpOworICAgICAgICB9LAorCisgICAg
ICAgIC8qKgorICAgICAgICAgKiBSZW1vdmVzIGEgdmlydHVhbCBhdXRoZW50aWNhdG9yCisgICAg
ICAgICAqCisgICAgICAgICAqIFRoaXMgZnVuY3Rpb24gcmVtb3ZlcyBhIHZpcnR1YWwgYXV0aGVu
dGljYXRvciB0aGF0IGhhcyBiZWVuIGNyZWF0ZWQKKyAgICAgICAgICogYnkgYWRkX3ZpcnR1YWxf
YXV0aGVudGljYXRvcgorICAgICAgICAgKiBodHRwczovL3czYy5naXRodWIuaW8vd2ViYXV0aG4v
I3NjdG4tYXV0b21hdGlvbi1yZW1vdmUtdmlydHVhbC1hdXRoZW50aWNhdG9yCisgICAgICAgICAq
CisgICAgICAgICAqIEBwYXJhbSB7U3RyaW5nfSBhdXRoZW50aWNhdG9yX2lkIC0gdGhlIElEIG9m
IHRoZSBhdXRoZW50aWNhdG9yIHRvIGJlCisgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgcmVtb3ZlZC4KKyAgICAgICAgICoKKyAgICAgICAgICogQHJldHVybnMg
e1Byb21pc2V9IGZ1bGZpbGxlZCBhZnRlciB0aGUgYXV0aGVudGljYXRvciBpcyByZW1vdmVkLCBv
cgorICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgcmVqZWN0ZWQgaW4gdGhlIGNhc2VzIHRo
ZSBXZWJEcml2ZXIgY29tbWFuZAorICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgZXJyb3Jz
CisgICAgICAgICAqLworICAgICAgICByZW1vdmVfdmlydHVhbF9hdXRoZW50aWNhdG9yOiBmdW5j
dGlvbihhdXRoZW50aWNhdG9yX2lkKSB7CisgICAgICAgICAgICByZXR1cm4gd2luZG93LnRlc3Rf
ZHJpdmVyX2ludGVybmFsLnJlbW92ZV92aXJ0dWFsX2F1dGhlbnRpY2F0b3IoYXV0aGVudGljYXRv
cl9pZCk7CisgICAgICAgIH0sCisKKyAgICAgICAgLyoqCisgICAgICAgICAqIEFkZHMgYSBjcmVk
ZW50aWFsIHRvIGEgdmlydHVhbCBhdXRoZW50aWNhdG9yCisgICAgICAgICAqCisgICAgICAgICAq
IGh0dHBzOi8vdzNjLmdpdGh1Yi5pby93ZWJhdXRobi8jc2N0bi1hdXRvbWF0aW9uLWFkZC1jcmVk
ZW50aWFsCisgICAgICAgICAqCisgICAgICAgICAqIEBwYXJhbSB7U3RyaW5nfSBhdXRoZW50aWNh
dG9yX2lkIC0gdGhlIElEIG9mIHRoZSBhdXRoZW50aWNhdG9yCisgICAgICAgICAqIEBwYXJhbSB7
T2JqZWN0fSBjcmVkZW50aWFsIC0gQSBbQ3JlZGVudGlhbCBQYXJhbWV0ZXJzXXtAbGluaworICAg
ICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGh0dHBzOi8vdzNjLmdpdGh1Yi5p
by93ZWJhdXRobi8jY3JlZGVudGlhbC1wYXJhbWV0ZXJzfQorICAgICAgICAgKiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIG9iamVjdAorICAgICAgICAgKgorICAgICAgICAgKiBAcmV0dXJu
cyB7UHJvbWlzZX0gZnVsZmlsbGVkIGFmdGVyIHRoZSBjcmVkZW50aWFsIGlzIGFkZGVkLCBvcgor
ICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgcmVqZWN0ZWQgaW4gdGhlIGNhc2VzIHRoZSBX
ZWJEcml2ZXIgY29tbWFuZAorICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgZXJyb3JzCisg
ICAgICAgICAqLworICAgICAgICBhZGRfY3JlZGVudGlhbDogZnVuY3Rpb24oYXV0aGVudGljYXRv
cl9pZCwgY3JlZGVudGlhbCkgeworICAgICAgICAgICAgcmV0dXJuIHdpbmRvdy50ZXN0X2RyaXZl
cl9pbnRlcm5hbC5hZGRfY3JlZGVudGlhbChhdXRoZW50aWNhdG9yX2lkLCBjcmVkZW50aWFsKTsK
KyAgICAgICAgfSwKKworICAgICAgICAvKioKKyAgICAgICAgICogR2V0cyBhbGwgdGhlIGNyZWRl
bnRpYWxzIHN0b3JlZCBpbiBhbiBhdXRoZW50aWNhdG9yCisgICAgICAgICAqCisgICAgICAgICAq
IFRoaXMgZnVuY3Rpb24gcmV0cmlldmVzIGFsbCB0aGUgY3JlZGVudGlhbHMgKGFkZGVkIHZpYSB0
aGUgVTJGIEFQSSwKKyAgICAgICAgICogV2ViQXV0aG4sIG9yIHRoZSBhZGRfY3JlZGVudGlhbCBm
dW5jdGlvbikgc3RvcmVkIGluIGEgdmlydHVhbAorICAgICAgICAgKiBhdXRoZW50aWNhdG9yCisg
ICAgICAgICAqIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby93ZWJhdXRobi8jc2N0bi1hdXRvbWF0aW9u
LWdldC1jcmVkZW50aWFscworICAgICAgICAgKgorICAgICAgICAgKiBAcGFyYW0ge1N0cmluZ30g
YXV0aGVudGljYXRvcl9pZCAtIHRoZSBJRCBvZiB0aGUgYXV0aGVudGljYXRvcgorICAgICAgICAg
KgorICAgICAgICAgKiBAcmV0dXJucyB7UHJvbWlzZX0gZnVsZmlsbGVkIGFmdGVyIHRoZSBjcmVk
ZW50aWFscyBhcmUgcmV0dXJuZWQsIG9yCisgICAgICAgICAqICAgICAgICAgICAgICAgICAgICBy
ZWplY3RlZCBpbiB0aGUgY2FzZXMgdGhlIFdlYkRyaXZlciBjb21tYW5kCisgICAgICAgICAqICAg
ICAgICAgICAgICAgICAgICBlcnJvcnMuIFJldHVybnMgYW4gYXJyYXkgb2YgW0NyZWRlbnRpYWwK
KyAgICAgICAgICogICAgICAgICAgICAgICAgICAgIFBhcmFtZXRlcnNde0BsaW5rCisgICAgICAg
ICAqICAgICAgICAgICAgICAgICAgICBodHRwczovL3czYy5naXRodWIuaW8vd2ViYXV0aG4vI2Ny
ZWRlbnRpYWwtcGFyYW1ldGVyc30KKyAgICAgICAgICovCisgICAgICAgIGdldF9jcmVkZW50aWFs
czogZnVuY3Rpb24oYXV0aGVudGljYXRvcl9pZCkgeworICAgICAgICAgICAgcmV0dXJuIHdpbmRv
dy50ZXN0X2RyaXZlcl9pbnRlcm5hbC5nZXRfY3JlZGVudGlhbHMoYXV0aGVudGljYXRvcl9pZCk7
CisgICAgICAgIH0sCisKKyAgICAgICAgLyoqCisgICAgICAgICAqIFJlbW92ZSBhIGNyZWRlbnRp
YWwgc3RvcmVkIGluIGFuIGF1dGhlbnRpY2F0b3IKKyAgICAgICAgICoKKyAgICAgICAgICogaHR0
cHM6Ly93M2MuZ2l0aHViLmlvL3dlYmF1dGhuLyNzY3RuLWF1dG9tYXRpb24tcmVtb3ZlLWNyZWRl
bnRpYWwKKyAgICAgICAgICoKKyAgICAgICAgICogQHBhcmFtIHtTdHJpbmd9IGF1dGhlbnRpY2F0
b3JfaWQgLSB0aGUgSUQgb2YgdGhlIGF1dGhlbnRpY2F0b3IKKyAgICAgICAgICogQHBhcmFtIHtT
dHJpbmd9IGNyZWRlbnRpYWxfaWQgLSB0aGUgSUQgb2YgdGhlIGNyZWRlbnRpYWwKKyAgICAgICAg
ICoKKyAgICAgICAgICogQHJldHVybnMge1Byb21pc2V9IGZ1bGZpbGxlZCBhZnRlciB0aGUgY3Jl
ZGVudGlhbCBpcyByZW1vdmVkLCBvcgorICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgcmVq
ZWN0ZWQgaW4gdGhlIGNhc2VzIHRoZSBXZWJEcml2ZXIgY29tbWFuZAorICAgICAgICAgKiAgICAg
ICAgICAgICAgICAgICAgZXJyb3JzLgorICAgICAgICAgKi8KKyAgICAgICAgcmVtb3ZlX2NyZWRl
bnRpYWw6IGZ1bmN0aW9uKGF1dGhlbnRpY2F0b3JfaWQsIGNyZWRlbnRpYWxfaWQpIHsKKyAgICAg
ICAgICAgIHJldHVybiB3aW5kb3cudGVzdF9kcml2ZXJfaW50ZXJuYWwucmVtb3ZlX2NyZWRlbnRp
YWwoYXV0aGVudGljYXRvcl9pZCwgY3JlZGVudGlhbF9pZCk7CisgICAgICAgIH0sCisKKyAgICAg
ICAgLyoqCisgICAgICAgICAqIFJlbW92ZXMgYWxsIHRoZSBjcmVkZW50aWFscyBzdG9yZWQgaW4g
YSB2aXJ0dWFsIGF1dGhlbnRpY2F0b3IKKyAgICAgICAgICoKKyAgICAgICAgICogaHR0cHM6Ly93
M2MuZ2l0aHViLmlvL3dlYmF1dGhuLyNzY3RuLWF1dG9tYXRpb24tcmVtb3ZlLWFsbC1jcmVkZW50
aWFscworICAgICAgICAgKgorICAgICAgICAgKiBAcGFyYW0ge1N0cmluZ30gYXV0aGVudGljYXRv
cl9pZCAtIHRoZSBJRCBvZiB0aGUgYXV0aGVudGljYXRvcgorICAgICAgICAgKgorICAgICAgICAg
KiBAcmV0dXJucyB7UHJvbWlzZX0gZnVsZmlsbGVkIGFmdGVyIHRoZSBjcmVkZW50aWFscyBhcmUg
cmVtb3ZlZCwgb3IKKyAgICAgICAgICogICAgICAgICAgICAgICAgICAgIHJlamVjdGVkIGluIHRo
ZSBjYXNlcyB0aGUgV2ViRHJpdmVyIGNvbW1hbmQKKyAgICAgICAgICogICAgICAgICAgICAgICAg
ICAgIGVycm9ycy4KKyAgICAgICAgICovCisgICAgICAgIHJlbW92ZV9hbGxfY3JlZGVudGlhbHM6
IGZ1bmN0aW9uKGF1dGhlbnRpY2F0b3JfaWQpIHsKKyAgICAgICAgICAgIHJldHVybiB3aW5kb3cu
dGVzdF9kcml2ZXJfaW50ZXJuYWwucmVtb3ZlX2FsbF9jcmVkZW50aWFscyhhdXRoZW50aWNhdG9y
X2lkKTsKKyAgICAgICAgfSwKKworICAgICAgICAvKioKKyAgICAgICAgICogU2V0cyB0aGUgVXNl
ciBWZXJpZmllZCBmbGFnIG9uIGFuIGF1dGhlbnRpY2F0b3IKKyAgICAgICAgICoKKyAgICAgICAg
ICogU2V0cyB3aGV0aGVyIHJlcXVlc3RzIHJlcXVpcmluZyB1c2VyIHZlcmlmaWNhdGlvbiB3aWxs
IHN1Y2NlZWQgb3IKKyAgICAgICAgICogZmFpbCBvbiBhIGdpdmVuIHZpcnR1YWwgYXV0aGVudGlj
YXRvcgorICAgICAgICAgKiBodHRwczovL3czYy5naXRodWIuaW8vd2ViYXV0aG4vI3NjdG4tYXV0
b21hdGlvbi1zZXQtdXNlci12ZXJpZmllZAorICAgICAgICAgKgorICAgICAgICAgKiBAcGFyYW0g
e1N0cmluZ30gYXV0aGVudGljYXRvcl9pZCAtIHRoZSBJRCBvZiB0aGUgYXV0aGVudGljYXRvcgor
ICAgICAgICAgKiBAcGFyYW0ge2Jvb2xlYW59IHV2IC0gdGhlIFVzZXIgVmVyaWZpZWQgZmxhZwor
ICAgICAgICAgKi8KKyAgICAgICAgc2V0X3VzZXJfdmVyaWZpZWQ6IGZ1bmN0aW9uKGF1dGhlbnRp
Y2F0b3JfaWQsIHV2KSB7CisgICAgICAgICAgICByZXR1cm4gd2luZG93LnRlc3RfZHJpdmVyX2lu
dGVybmFsLnNldF91c2VyX3ZlcmlmaWVkKGF1dGhlbnRpY2F0b3JfaWQsIHV2KTsKKyAgICAgICAg
fSwKICAgICB9OwogCiAgICAgd2luZG93LnRlc3RfZHJpdmVyX2ludGVybmFsID0gewpAQCAtMzA2
LDYgKzQyNSwxMDUgQEAKICAgICAgICAgICovCiAgICAgICAgIGdlbmVyYXRlX3Rlc3RfcmVwb3J0
OiBmdW5jdGlvbihtZXNzYWdlKSB7CiAgICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3Qo
bmV3IEVycm9yKCJ1bmltcGxlbWVudGVkIikpOwotICAgICAgICB9CisgICAgICAgIH0sCisKKyAg
ICAgICAgLyoqCisgICAgICAgICAqIENyZWF0ZXMgYSB2aXJ0dWFsIGF1dGhlbnRpY2F0b3IKKyAg
ICAgICAgICoKKyAgICAgICAgICogQHBhcmFtIHtPYmplY3R9IGNvbmZpZyAtIHRoZSBhdXRoZW50
aWNhdG9yIGNvbmZpZ3VyYXRpb24KKyAgICAgICAgICogQHJldHVybnMge1Byb21pc2V9IGZ1bGZp
bGxlZCBhZnRlciB0aGUgYXV0aGVudGljYXRvciBpcyBhZGRlZCwgb3IKKyAgICAgICAgICogICAg
ICAgICAgICAgICAgICAgIHJlamVjdGVkIGluIHRoZSBjYXNlcyB0aGUgV2ViRHJpdmVyIGNvbW1h
bmQKKyAgICAgICAgICogICAgICAgICAgICAgICAgICAgIGVycm9ycy4KKyAgICAgICAgICovCisg
ICAgICAgIGFkZF92aXJ0dWFsX2F1dGhlbnRpY2F0b3I6IGZ1bmN0aW9uKGNvbmZpZykgeworICAg
ICAgICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyBFcnJvcigidW5pbXBsZW1lbnRlZCIp
KTsKKyAgICAgICAgfSwKKworICAgICAgICAvKioKKyAgICAgICAgICogUmVtb3ZlcyBhIHZpcnR1
YWwgYXV0aGVudGljYXRvcgorICAgICAgICAgKgorICAgICAgICAgKiBAcGFyYW0ge1N0cmluZ30g
YXV0aGVudGljYXRvcl9pZCAtIHRoZSBJRCBvZiB0aGUgYXV0aGVudGljYXRvciB0byBiZQorICAg
ICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbW92ZWQuCisgICAg
ICAgICAqCisgICAgICAgICAqIEByZXR1cm5zIHtQcm9taXNlfSBmdWxmaWxsZWQgYWZ0ZXIgdGhl
IGF1dGhlbnRpY2F0b3IgaXMgcmVtb3ZlZCwgb3IKKyAgICAgICAgICogICAgICAgICAgICAgICAg
ICAgIHJlamVjdGVkIGluIHRoZSBjYXNlcyB0aGUgV2ViRHJpdmVyIGNvbW1hbmQKKyAgICAgICAg
ICogICAgICAgICAgICAgICAgICAgIGVycm9ycworICAgICAgICAgKi8KKyAgICAgICAgcmVtb3Zl
X3ZpcnR1YWxfYXV0aGVudGljYXRvcjogZnVuY3Rpb24oYXV0aGVudGljYXRvcl9pZCkgeworICAg
ICAgICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyBFcnJvcigidW5pbXBsZW1lbnRlZCIp
KTsKKyAgICAgICAgfSwKKworICAgICAgICAvKioKKyAgICAgICAgICogQWRkcyBhIGNyZWRlbnRp
YWwgdG8gYSB2aXJ0dWFsIGF1dGhlbnRpY2F0b3IKKyAgICAgICAgICoKKyAgICAgICAgICogQHBh
cmFtIHtTdHJpbmd9IGF1dGhlbnRpY2F0b3JfaWQgLSB0aGUgSUQgb2YgdGhlIGF1dGhlbnRpY2F0
b3IKKyAgICAgICAgICogQHBhcmFtIHtPYmplY3R9IGNyZWRlbnRpYWwgLSBBIFtDcmVkZW50aWFs
IFBhcmFtZXRlcnNde0BsaW5rCisgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3dlYmF1dGhuLyNjcmVkZW50aWFsLXBhcmFtZXRlcnN9
CisgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqZWN0CisgICAgICAg
ICAqCisgICAgICAgICAqIEByZXR1cm5zIHtQcm9taXNlfSBmdWxmaWxsZWQgYWZ0ZXIgdGhlIGNy
ZWRlbnRpYWwgaXMgYWRkZWQsIG9yCisgICAgICAgICAqICAgICAgICAgICAgICAgICAgICByZWpl
Y3RlZCBpbiB0aGUgY2FzZXMgdGhlIFdlYkRyaXZlciBjb21tYW5kCisgICAgICAgICAqICAgICAg
ICAgICAgICAgICAgICBlcnJvcnMKKyAgICAgICAgICoKKyAgICAgICAgICovCisgICAgICAgIGFk
ZF9jcmVkZW50aWFsOiBmdW5jdGlvbihhdXRoZW50aWNhdG9yX2lkLCBjcmVkZW50aWFsKSB7Cisg
ICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QobmV3IEVycm9yKCJ1bmltcGxlbWVudGVk
IikpOworICAgICAgICB9LAorCisgICAgICAgIC8qKgorICAgICAgICAgKiBHZXRzIGFsbCB0aGUg
Y3JlZGVudGlhbHMgc3RvcmVkIGluIGFuIGF1dGhlbnRpY2F0b3IKKyAgICAgICAgICoKKyAgICAg
ICAgICogQHBhcmFtIHtTdHJpbmd9IGF1dGhlbnRpY2F0b3JfaWQgLSB0aGUgSUQgb2YgdGhlIGF1
dGhlbnRpY2F0b3IKKyAgICAgICAgICoKKyAgICAgICAgICogQHJldHVybnMge1Byb21pc2V9IGZ1
bGZpbGxlZCBhZnRlciB0aGUgY3JlZGVudGlhbHMgYXJlIHJldHVybmVkLCBvcgorICAgICAgICAg
KiAgICAgICAgICAgICAgICAgICAgcmVqZWN0ZWQgaW4gdGhlIGNhc2VzIHRoZSBXZWJEcml2ZXIg
Y29tbWFuZAorICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgZXJyb3JzLiBSZXR1cm5zIGFu
IGFycmF5IG9mIFtDcmVkZW50aWFsCisgICAgICAgICAqICAgICAgICAgICAgICAgICAgICBQYXJh
bWV0ZXJzXXtAbGluaworICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgaHR0cHM6Ly93M2Mu
Z2l0aHViLmlvL3dlYmF1dGhuLyNjcmVkZW50aWFsLXBhcmFtZXRlcnN9CisgICAgICAgICAqCisg
ICAgICAgICAqLworICAgICAgICBnZXRfY3JlZGVudGlhbHM6IGZ1bmN0aW9uKGF1dGhlbnRpY2F0
b3JfaWQpIHsKKyAgICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdChuZXcgRXJyb3IoInVu
aW1wbGVtZW50ZWQiKSk7CisgICAgICAgIH0sCisKKyAgICAgICAgLyoqCisgICAgICAgICAqIFJl
bW92ZSBhIGNyZWRlbnRpYWwgc3RvcmVkIGluIGFuIGF1dGhlbnRpY2F0b3IKKyAgICAgICAgICoK
KyAgICAgICAgICogQHBhcmFtIHtTdHJpbmd9IGF1dGhlbnRpY2F0b3JfaWQgLSB0aGUgSUQgb2Yg
dGhlIGF1dGhlbnRpY2F0b3IKKyAgICAgICAgICogQHBhcmFtIHtTdHJpbmd9IGNyZWRlbnRpYWxf
aWQgLSB0aGUgSUQgb2YgdGhlIGNyZWRlbnRpYWwKKyAgICAgICAgICoKKyAgICAgICAgICogQHJl
dHVybnMge1Byb21pc2V9IGZ1bGZpbGxlZCBhZnRlciB0aGUgY3JlZGVudGlhbCBpcyByZW1vdmVk
LCBvcgorICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgcmVqZWN0ZWQgaW4gdGhlIGNhc2Vz
IHRoZSBXZWJEcml2ZXIgY29tbWFuZAorICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgZXJy
b3JzLgorICAgICAgICAgKgorICAgICAgICAgKi8KKyAgICAgICAgcmVtb3ZlX2NyZWRlbnRpYWw6
IGZ1bmN0aW9uKGF1dGhlbnRpY2F0b3JfaWQsIGNyZWRlbnRpYWxfaWQpIHsKKyAgICAgICAgICAg
IHJldHVybiBQcm9taXNlLnJlamVjdChuZXcgRXJyb3IoInVuaW1wbGVtZW50ZWQiKSk7CisgICAg
ICAgIH0sCisKKyAgICAgICAgLyoqCisgICAgICAgICAqIFJlbW92ZXMgYWxsIHRoZSBjcmVkZW50
aWFscyBzdG9yZWQgaW4gYSB2aXJ0dWFsIGF1dGhlbnRpY2F0b3IKKyAgICAgICAgICoKKyAgICAg
ICAgICogQHBhcmFtIHtTdHJpbmd9IGF1dGhlbnRpY2F0b3JfaWQgLSB0aGUgSUQgb2YgdGhlIGF1
dGhlbnRpY2F0b3IKKyAgICAgICAgICoKKyAgICAgICAgICogQHJldHVybnMge1Byb21pc2V9IGZ1
bGZpbGxlZCBhZnRlciB0aGUgY3JlZGVudGlhbHMgYXJlIHJlbW92ZWQsIG9yCisgICAgICAgICAq
ICAgICAgICAgICAgICAgICAgICByZWplY3RlZCBpbiB0aGUgY2FzZXMgdGhlIFdlYkRyaXZlciBj
b21tYW5kCisgICAgICAgICAqICAgICAgICAgICAgICAgICAgICBlcnJvcnMuCisgICAgICAgICAq
CisgICAgICAgICAqLworICAgICAgICByZW1vdmVfYWxsX2NyZWRlbnRpYWxzOiBmdW5jdGlvbihh
dXRoZW50aWNhdG9yX2lkKSB7CisgICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QobmV3
IEVycm9yKCJ1bmltcGxlbWVudGVkIikpOworICAgICAgICB9LAorCisgICAgICAgIC8qKgorICAg
ICAgICAgKiBTZXRzIHRoZSBVc2VyIFZlcmlmaWVkIGZsYWcgb24gYW4gYXV0aGVudGljYXRvcgor
ICAgICAgICAgKgorICAgICAgICAgKiBAcGFyYW0ge1N0cmluZ30gYXV0aGVudGljYXRvcl9pZCAt
IHRoZSBJRCBvZiB0aGUgYXV0aGVudGljYXRvcgorICAgICAgICAgKiBAcGFyYW0ge2Jvb2xlYW59
IHV2IC0gdGhlIFVzZXIgVmVyaWZpZWQgZmxhZworICAgICAgICAgKgorICAgICAgICAgKi8KKyAg
ICAgICAgc2V0X3VzZXJfdmVyaWZpZWQ6IGZ1bmN0aW9uKGF1dGhlbnRpY2F0b3JfaWQsIHV2KSB7
CisgICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QobmV3IEVycm9yKCJ1bmltcGxlbWVu
dGVkIikpOworICAgICAgICB9LAogICAgIH07CiB9KSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdGRyaXZlci5q
cy5oZWFkZXJzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvdGVzdGRyaXZlci5qcy5oZWFkZXJzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVlOGY2NDBjNjY1OWQx
NzZlYWNhNGM3MWNjMTc5OGI3Mjg1NTQwYjcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0ZHJpdmVyLmpz
LmhlYWRlcnMKQEAgLTAsMCArMSwyIEBACitDb250ZW50LVR5cGU6IHRleHQvamF2YXNjcmlwdDsg
Y2hhcnNldD11dGYtOAorQ2FjaGUtQ29udHJvbDogbWF4LWFnZT0zNjAwCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzCmluZGV4IDE1NTkxMDQyYWE0Y2IwZmRkNzVmZTNiZjU2
YjliZGZiNjNmZDE2MWQuLmYyODllNzc5NzIwMWQ3ZDlmYTU2OWMyODY0NjQ5NTcxYmQ1MGI1NGMg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzCkBAIC01MzgsOCArNTM4
LDEyIEBAIHBvbGljaWVzIGFuZCBjb250cmlidXRpb24gZm9ybXMgWzNdLgogICAgICAqLwogICAg
IGZ1bmN0aW9uIHRlc3QoZnVuYywgbmFtZSwgcHJvcGVydGllcykKICAgICB7CisgICAgICAgIGlm
ICh0ZXN0cy5wcm9taXNlX3NldHVwX2NhbGxlZCkgeworICAgICAgICAgICAgdGVzdHMuc3RhdHVz
LnN0YXR1cyA9IHRlc3RzLnN0YXR1cy5FUlJPUjsKKyAgICAgICAgICAgIHRlc3RzLnN0YXR1cy5t
ZXNzYWdlID0gJ2B0ZXN0YCBpbnZva2VkIGFmdGVyIGBwcm9taXNlX3NldHVwYCc7CisgICAgICAg
ICAgICB0ZXN0cy5jb21wbGV0ZSgpOworICAgICAgICB9CiAgICAgICAgIHZhciB0ZXN0X25hbWUg
PSBuYW1lID8gbmFtZSA6IHRlc3RfZW52aXJvbm1lbnQubmV4dF9kZWZhdWx0X3Rlc3RfbmFtZSgp
OwotICAgICAgICBwcm9wZXJ0aWVzID0gcHJvcGVydGllcyA/IHByb3BlcnRpZXMgOiB7fTsKICAg
ICAgICAgdmFyIHRlc3Rfb2JqID0gbmV3IFRlc3QodGVzdF9uYW1lLCBwcm9wZXJ0aWVzKTsKICAg
ICAgICAgdmFyIHZhbHVlID0gdGVzdF9vYmouc3RlcChmdW5jLCB0ZXN0X29iaiwgdGVzdF9vYmop
OwogCkBAIC01NjQsMTMgKzU2OCwxNyBAQCBwb2xpY2llcyBhbmQgY29udHJpYnV0aW9uIGZvcm1z
IFszXS4KIAogICAgIGZ1bmN0aW9uIGFzeW5jX3Rlc3QoZnVuYywgbmFtZSwgcHJvcGVydGllcykK
ICAgICB7CisgICAgICAgIGlmICh0ZXN0cy5wcm9taXNlX3NldHVwX2NhbGxlZCkgeworICAgICAg
ICAgICAgdGVzdHMuc3RhdHVzLnN0YXR1cyA9IHRlc3RzLnN0YXR1cy5FUlJPUjsKKyAgICAgICAg
ICAgIHRlc3RzLnN0YXR1cy5tZXNzYWdlID0gJ2Bhc3luY190ZXN0YCBpbnZva2VkIGFmdGVyIGBw
cm9taXNlX3NldHVwYCc7CisgICAgICAgICAgICB0ZXN0cy5jb21wbGV0ZSgpOworICAgICAgICB9
CiAgICAgICAgIGlmICh0eXBlb2YgZnVuYyAhPT0gImZ1bmN0aW9uIikgewogICAgICAgICAgICAg
cHJvcGVydGllcyA9IG5hbWU7CiAgICAgICAgICAgICBuYW1lID0gZnVuYzsKICAgICAgICAgICAg
IGZ1bmMgPSBudWxsOwogICAgICAgICB9CiAgICAgICAgIHZhciB0ZXN0X25hbWUgPSBuYW1lID8g
bmFtZSA6IHRlc3RfZW52aXJvbm1lbnQubmV4dF9kZWZhdWx0X3Rlc3RfbmFtZSgpOwotICAgICAg
ICBwcm9wZXJ0aWVzID0gcHJvcGVydGllcyA/IHByb3BlcnRpZXMgOiB7fTsKICAgICAgICAgdmFy
IHRlc3Rfb2JqID0gbmV3IFRlc3QodGVzdF9uYW1lLCBwcm9wZXJ0aWVzKTsKICAgICAgICAgaWYg
KGZ1bmMpIHsKICAgICAgICAgICAgIHRlc3Rfb2JqLnN0ZXAoZnVuYywgdGVzdF9vYmosIHRlc3Rf
b2JqKTsKQEAgLTU3OSw3ICs1ODcsMTMgQEAgcG9saWNpZXMgYW5kIGNvbnRyaWJ1dGlvbiBmb3Jt
cyBbM10uCiAgICAgfQogCiAgICAgZnVuY3Rpb24gcHJvbWlzZV90ZXN0KGZ1bmMsIG5hbWUsIHBy
b3BlcnRpZXMpIHsKLSAgICAgICAgdmFyIHRlc3QgPSBhc3luY190ZXN0KG5hbWUsIHByb3BlcnRp
ZXMpOworICAgICAgICBpZiAodHlwZW9mIGZ1bmMgIT09ICJmdW5jdGlvbiIpIHsKKyAgICAgICAg
ICAgIHByb3BlcnRpZXMgPSBuYW1lOworICAgICAgICAgICAgbmFtZSA9IGZ1bmM7CisgICAgICAg
ICAgICBmdW5jID0gbnVsbDsKKyAgICAgICAgfQorICAgICAgICB2YXIgdGVzdF9uYW1lID0gbmFt
ZSA/IG5hbWUgOiB0ZXN0X2Vudmlyb25tZW50Lm5leHRfZGVmYXVsdF90ZXN0X25hbWUoKTsKKyAg
ICAgICAgdmFyIHRlc3QgPSBuZXcgVGVzdCh0ZXN0X25hbWUsIHByb3BlcnRpZXMpOwogICAgICAg
ICB0ZXN0Ll9pc19wcm9taXNlX3Rlc3QgPSB0cnVlOwogCiAgICAgICAgIC8vIElmIHRoZXJlIGlz
IG5vIHByb21pc2UgdGVzdHMgcXVldWUgbWFrZSBvbmUuCkBAIC02MzAsNiArNjQ0LDI3IEBAIHBv
bGljaWVzIGFuZCBjb250cmlidXRpb24gZm9ybXMgWzNdLgogICAgICAgICB9KTsKICAgICB9CiAK
KyAgICBmdW5jdGlvbiBwcm9taXNlX3JlamVjdHNfanModGVzdCwgZXhwZWN0ZWQsIHByb21pc2Us
IGRlc2NyaXB0aW9uKSB7CisgICAgICAgIHJldHVybiBwcm9taXNlLnRoZW4odGVzdC51bnJlYWNo
ZWRfZnVuYygiU2hvdWxkIGhhdmUgcmVqZWN0ZWQ6ICIgKyBkZXNjcmlwdGlvbikpLmNhdGNoKGZ1
bmN0aW9uKGUpIHsKKyAgICAgICAgICAgIGFzc2VydF90aHJvd3NfanNfaW1wbChleHBlY3RlZCwg
ZnVuY3Rpb24oKSB7IHRocm93IGUgfSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBkZXNjcmlwdGlvbiwgInByb21pc2VfcmVqZWN0X2pzIik7CisgICAgICAgIH0pOworICAgIH0K
KworICAgIGZ1bmN0aW9uIHByb21pc2VfcmVqZWN0c19kb20odGVzdCwgZXhwZWN0ZWQsIHByb21p
c2UsIGRlc2NyaXB0aW9uKSB7CisgICAgICAgIHJldHVybiBwcm9taXNlLnRoZW4odGVzdC51bnJl
YWNoZWRfZnVuYygiU2hvdWxkIGhhdmUgcmVqZWN0ZWQ6ICIgKyBkZXNjcmlwdGlvbikpLmNhdGNo
KGZ1bmN0aW9uKGUpIHsKKyAgICAgICAgICAgIGFzc2VydF90aHJvd3NfZG9tX2ltcGwoZXhwZWN0
ZWQsIGZ1bmN0aW9uKCkgeyB0aHJvdyBlIH0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGRlc2NyaXB0aW9uLCAicHJvbWlzZV9yZWplY3RzX2RvbSIpOworICAgICAgICB9KTsK
KyAgICB9CisKKyAgICBmdW5jdGlvbiBwcm9taXNlX3JlamVjdHNfZXhhY3RseSh0ZXN0LCBleHBl
Y3RlZCwgcHJvbWlzZSwgZGVzY3JpcHRpb24pIHsKKyAgICAgICAgcmV0dXJuIHByb21pc2UudGhl
bih0ZXN0LnVucmVhY2hlZF9mdW5jKCJTaG91bGQgaGF2ZSByZWplY3RlZDogIiArIGRlc2NyaXB0
aW9uKSkuY2F0Y2goZnVuY3Rpb24oZSkgeworICAgICAgICAgICAgYXNzZXJ0X3Rocm93c19leGFj
dGx5X2ltcGwoZXhwZWN0ZWQsIGZ1bmN0aW9uKCkgeyB0aHJvdyBlIH0sCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbiwgInByb21pc2VfcmVqZWN0c19l
eGFjdGx5Iik7CisgICAgICAgIH0pOworICAgIH0KKwogICAgIC8qKgogICAgICAqIFRoaXMgY29u
c3RydWN0b3IgaGVscGVyIGFsbG93cyBET00gZXZlbnRzIHRvIGJlIGhhbmRsZWQgdXNpbmcgUHJv
bWlzZXMsCiAgICAgICogd2hpY2ggY2FuIG1ha2UgaXQgYSBsb3QgZWFzaWVyIHRvIHRlc3QgYSB2
ZXJ5IHNwZWNpZmljIHNlcmllcyBvZiBldmVudHMsCkBAIC03NjksOSArODA0LDU2IEBAIHBvbGlj
aWVzIGFuZCBjb250cmlidXRpb24gZm9ybXMgWzNdLgogICAgICAgICB0ZXN0X2Vudmlyb25tZW50
Lm9uX25ld19oYXJuZXNzX3Byb3BlcnRpZXMocHJvcGVydGllcyk7CiAgICAgfQogCisgICAgZnVu
Y3Rpb24gcHJvbWlzZV9zZXR1cChmdW5jLCBtYXliZV9wcm9wZXJ0aWVzKQorICAgIHsKKyAgICAg
ICAgaWYgKHR5cGVvZiBmdW5jICE9PSAiZnVuY3Rpb24iKSB7CisgICAgICAgICAgICB0ZXN0cy5z
ZXRfc3RhdHVzKHRlc3RzLnN0YXR1cy5FUlJPUiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgInByb21pc2VfdGVzdCBpbnZva2VkIHdpdGhvdXQgYSBmdW5jdGlvbiIpOworICAgICAgICAg
ICAgdGVzdHMuY29tcGxldGUoKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAg
ICAgICB0ZXN0cy5wcm9taXNlX3NldHVwX2NhbGxlZCA9IHRydWU7CisKKyAgICAgICAgaWYgKCF0
ZXN0cy5wcm9taXNlX3Rlc3RzKSB7CisgICAgICAgICAgICB0ZXN0cy5wcm9taXNlX3Rlc3RzID0g
UHJvbWlzZS5yZXNvbHZlKCk7CisgICAgICAgIH0KKworICAgICAgICB0ZXN0cy5wcm9taXNlX3Rl
c3RzID0gdGVzdHMucHJvbWlzZV90ZXN0cworICAgICAgICAgICAgLnRoZW4oZnVuY3Rpb24oKQor
ICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgIHZhciBwcm9wZXJ0aWVz
ID0gbWF5YmVfcHJvcGVydGllcyB8fCB7fTsKKyAgICAgICAgICAgICAgICAgICAgICB2YXIgcmVz
dWx0OworCisgICAgICAgICAgICAgICAgICAgICAgdGVzdHMuc2V0dXAobnVsbCwgcHJvcGVydGll
cyk7CisgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0ID0gZnVuYygpOworICAgICAgICAgICAg
ICAgICAgICAgIHRlc3RfZW52aXJvbm1lbnQub25fbmV3X2hhcm5lc3NfcHJvcGVydGllcyhwcm9w
ZXJ0aWVzKTsKKworICAgICAgICAgICAgICAgICAgICAgIGlmICghcmVzdWx0IHx8IHR5cGVvZiBy
ZXN1bHQudGhlbiAhPT0gImZ1bmN0aW9uIikgeworICAgICAgICAgICAgICAgICAgICAgICAgICB0
aHJvdyAiTm9uLXRoZW5hYmxlIHJldHVybmVkIGJ5IGZ1bmN0aW9uIHBhc3NlZCB0byBgcHJvbWlz
ZV9zZXR1cGAiOworICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAg
ICByZXR1cm4gcmVzdWx0OworICAgICAgICAgICAgICAgICAgfSkKKyAgICAgICAgICAgIC5jYXRj
aChmdW5jdGlvbihlKQorICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAg
ICAgdGVzdHMuc2V0X3N0YXR1cyh0ZXN0cy5zdGF0dXMuRVJST1IsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgU3RyaW5nKGUpLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGUgJiYgZS5zdGFjayk7CisgICAgICAgICAgICAgICAgICAgICAg
IHRlc3RzLmNvbXBsZXRlKCk7CisgICAgICAgICAgICAgICAgICAgfSk7CisgICAgfQorCiAgICAg
ZnVuY3Rpb24gZG9uZSgpIHsKICAgICAgICAgaWYgKHRlc3RzLnRlc3RzLmxlbmd0aCA9PT0gMCkg
ewotICAgICAgICAgICAgdGVzdHMuc2V0X2ZpbGVfaXNfdGVzdCgpOworICAgICAgICAgICAgLy8g
YGRvbmVgIGlzIGludm9rZWQgYWZ0ZXIgaGFuZGxpbmcgdW5jYXVnaHQgZXhjZXB0aW9ucywgc28g
aWYgdGhlCisgICAgICAgICAgICAvLyBoYXJuZXNzIHN0YXR1cyBpcyBhbHJlYWR5IHNldCwgdGhl
IGNvcnJlc3BvbmRpbmcgbWVzc2FnZSBpcyBtb3JlCisgICAgICAgICAgICAvLyBkZXNjcmlwdGl2
ZSB0aGFuIHRoZSBnZW5lcmljIG1lc3NhZ2UgZGVmaW5lZCBoZXJlLgorICAgICAgICAgICAgaWYg
KHRlc3RzLnN0YXR1cy5zdGF0dXMgPT09IG51bGwpIHsKKyAgICAgICAgICAgICAgICB0ZXN0cy5z
dGF0dXMuc3RhdHVzID0gdGVzdHMuc3RhdHVzLkVSUk9SOworICAgICAgICAgICAgICAgIHRlc3Rz
LnN0YXR1cy5tZXNzYWdlID0gImRvbmUoKSB3YXMgY2FsbGVkIHdpdGhvdXQgZmlyc3QgZGVmaW5p
bmcgYW55IHRlc3RzIjsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgdGVzdHMuY29tcGxl
dGUoKTsKKyAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogICAgICAgICBpZiAodGVzdHMu
ZmlsZV9pc190ZXN0KSB7CiAgICAgICAgICAgICAvLyBmaWxlIGlzIHRlc3QgZmlsZXMgbmV2ZXIg
aGF2ZSBhc3luY2hyb25vdXMgY2xlYW51cCBsb2dpYywKQEAgLTc5NCw2ICs4NzYsMTIgQEAgcG9s
aWNpZXMgYW5kIGNvbnRyaWJ1dGlvbiBmb3JtcyBbM10uCiAgICAgICAgICAgICAgICAgfSk7CiAg
ICAgfQogCisgICAgLyoKKyAgICAgKiBSZWdpc3RlciBhIGZ1bmN0aW9uIGFzIGEgRE9NIGV2ZW50
IGxpc3RlbmVyIHRvIHRoZSBnaXZlbiBvYmplY3QgZm9yIHRoZQorICAgICAqIGV2ZW50IGJ1YmJs
aW5nIHBoYXNlLgorICAgICAqCisgICAgICogVGhpcyBmdW5jdGlvbiB3YXMgZGVwcmVjYXRlZCBp
biBOb3ZlbWJlciBvZiAyMDE5LgorICAgICAqLwogICAgIGZ1bmN0aW9uIG9uX2V2ZW50KG9iamVj
dCwgZXZlbnQsIGNhbGxiYWNrKQogICAgIHsKICAgICAgICAgb2JqZWN0LmFkZEV2ZW50TGlzdGVu
ZXIoZXZlbnQsIGNhbGxiYWNrLCBmYWxzZSk7CkBAIC04MTEsOCArODk5LDEyIEBAIHBvbGljaWVz
IGFuZCBjb250cmlidXRpb24gZm9ybXMgWzNdLgogICAgIGV4cG9zZShhc3luY190ZXN0LCAnYXN5
bmNfdGVzdCcpOwogICAgIGV4cG9zZShwcm9taXNlX3Rlc3QsICdwcm9taXNlX3Rlc3QnKTsKICAg
ICBleHBvc2UocHJvbWlzZV9yZWplY3RzLCAncHJvbWlzZV9yZWplY3RzJyk7CisgICAgZXhwb3Nl
KHByb21pc2VfcmVqZWN0c19qcywgJ3Byb21pc2VfcmVqZWN0c19qcycpOworICAgIGV4cG9zZShw
cm9taXNlX3JlamVjdHNfZG9tLCAncHJvbWlzZV9yZWplY3RzX2RvbScpOworICAgIGV4cG9zZShw
cm9taXNlX3JlamVjdHNfZXhhY3RseSwgJ3Byb21pc2VfcmVqZWN0c19leGFjdGx5Jyk7CiAgICAg
ZXhwb3NlKGdlbmVyYXRlX3Rlc3RzLCAnZ2VuZXJhdGVfdGVzdHMnKTsKICAgICBleHBvc2Uoc2V0
dXAsICdzZXR1cCcpOworICAgIGV4cG9zZShwcm9taXNlX3NldHVwLCAncHJvbWlzZV9zZXR1cCcp
OwogICAgIGV4cG9zZShkb25lLCAnZG9uZScpOwogICAgIGV4cG9zZShvbl9ldmVudCwgJ29uX2V2
ZW50Jyk7CiAgICAgZXhwb3NlKHN0ZXBfdGltZW91dCwgJ3N0ZXBfdGltZW91dCcpOwpAQCAtMTI3
MCw4ICsxMzYyLDExIEBAIHBvbGljaWVzIGFuZCBjb250cmlidXRpb24gZm9ybXMgWzNdLgogICAg
IGV4cG9zZShhc3NlcnRfcmVnZXhwX21hdGNoLCAiYXNzZXJ0X3JlZ2V4cF9tYXRjaCIpOwogCiAg
ICAgZnVuY3Rpb24gYXNzZXJ0X2NsYXNzX3N0cmluZyhvYmplY3QsIGNsYXNzX3N0cmluZywgZGVz
Y3JpcHRpb24pIHsKLSAgICAgICAgYXNzZXJ0X2VxdWFscyh7fS50b1N0cmluZy5jYWxsKG9iamVj
dCksICJbb2JqZWN0ICIgKyBjbGFzc19zdHJpbmcgKyAiXSIsCi0gICAgICAgICAgICAgICAgICAg
ICAgZGVzY3JpcHRpb24pOworICAgICAgICB2YXIgYWN0dWFsID0ge30udG9TdHJpbmcuY2FsbChv
YmplY3QpOworICAgICAgICB2YXIgZXhwZWN0ZWQgPSAiW29iamVjdCAiICsgY2xhc3Nfc3RyaW5n
ICsgIl0iOworICAgICAgICBhc3NlcnQoc2FtZV92YWx1ZShhY3R1YWwsIGV4cGVjdGVkKSwgImFz
c2VydF9jbGFzc19zdHJpbmciLCBkZXNjcmlwdGlvbiwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJleHBlY3RlZCAke2V4cGVjdGVkfSBidXQgZ290ICR7YWN0
dWFsfSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7ZXhw
ZWN0ZWQ6ZXhwZWN0ZWQsIGFjdHVhbDphY3R1YWx9KTsKICAgICB9CiAgICAgZXhwb3NlKGFzc2Vy
dF9jbGFzc19zdHJpbmcsICJhc3NlcnRfY2xhc3Nfc3RyaW5nIik7CiAKQEAgLTE0ODIsNiArMTU3
NywyNzYgQEAgcG9saWNpZXMgYW5kIGNvbnRyaWJ1dGlvbiBmb3JtcyBbM10uCiAgICAgfQogICAg
IGV4cG9zZShhc3NlcnRfdGhyb3dzLCAiYXNzZXJ0X3Rocm93cyIpOwogCisgICAgLyoqCisgICAg
ICogQXNzZXJ0IGEgSlMgRXJyb3Igd2l0aCB0aGUgZXhwZWN0ZWQgY29uc3RydWN0b3IgaXMgdGhy
b3duLgorICAgICAqCisgICAgICogQHBhcmFtIHtvYmplY3R9IGNvbnN0cnVjdG9yIFRoZSBleHBl
Y3RlZCBleGNlcHRpb24gY29uc3RydWN0b3IuCisgICAgICogQHBhcmFtIHtGdW5jdGlvbn0gZnVu
YyBGdW5jdGlvbiB3aGljaCBzaG91bGQgdGhyb3cuCisgICAgICogQHBhcmFtIHtzdHJpbmd9IGRl
c2NyaXB0aW9uIEVycm9yIGRlc2NyaXB0aW9uIGZvciB0aGUgY2FzZSB0aGF0IHRoZSBlcnJvciBp
cyBub3QgdGhyb3duLgorICAgICAqLworICAgIGZ1bmN0aW9uIGFzc2VydF90aHJvd3NfanMoY29u
c3RydWN0b3IsIGZ1bmMsIGRlc2NyaXB0aW9uKQorICAgIHsKKyAgICAgICAgYXNzZXJ0X3Rocm93
c19qc19pbXBsKGNvbnN0cnVjdG9yLCBmdW5jLCBkZXNjcmlwdGlvbiwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICJhc3NlcnRfdGhyb3dzX2pzIik7CisgICAgfQorICAgIGV4cG9zZShh
c3NlcnRfdGhyb3dzX2pzLCAiYXNzZXJ0X3Rocm93c19qcyIpOworCisgICAgLyoqCisgICAgICog
TGlrZSBhc3NlcnRfdGhyb3dzX2pzIGJ1dCBhbGxvd3Mgc3BlY2lmeWluZyB0aGUgYXNzZXJ0aW9u
IHR5cGUKKyAgICAgKiAoYXNzZXJ0X3Rocm93c19qcyBvciBwcm9taXNlX3JlamVjdHNfanMsIGlu
IHByYWN0aWNlKS4KKyAgICAgKi8KKyAgICBmdW5jdGlvbiBhc3NlcnRfdGhyb3dzX2pzX2ltcGwo
Y29uc3RydWN0b3IsIGZ1bmMsIGRlc2NyaXB0aW9uLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBhc3NlcnRpb25fdHlwZSkKKyAgICB7CisgICAgICAgIHRyeSB7CisgICAgICAg
ICAgICBmdW5jLmNhbGwodGhpcyk7CisgICAgICAgICAgICBhc3NlcnQoZmFsc2UsIGFzc2VydGlv
bl90eXBlLCBkZXNjcmlwdGlvbiwKKyAgICAgICAgICAgICAgICAgICAiJHtmdW5jfSBkaWQgbm90
IHRocm93Iiwge2Z1bmM6ZnVuY30pOworICAgICAgICB9IGNhdGNoIChlKSB7CisgICAgICAgICAg
ICBpZiAoZSBpbnN0YW5jZW9mIEFzc2VydGlvbkVycm9yKSB7CisgICAgICAgICAgICAgICAgdGhy
b3cgZTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgLy8gQmFzaWMgc2FuaXR5LWNoZWNr
cyBvbiB0aGUgdGhyb3duIGV4Y2VwdGlvbi4KKyAgICAgICAgICAgIGFzc2VydCh0eXBlb2YgZSA9
PT0gIm9iamVjdCIsCisgICAgICAgICAgICAgICAgICAgYXNzZXJ0aW9uX3R5cGUsIGRlc2NyaXB0
aW9uLAorICAgICAgICAgICAgICAgICAgICIke2Z1bmN9IHRocmV3ICR7ZX0gd2l0aCB0eXBlICR7
dHlwZX0sIG5vdCBhbiBvYmplY3QiLAorICAgICAgICAgICAgICAgICAgIHtmdW5jOmZ1bmMsIGU6
ZSwgdHlwZTp0eXBlb2YgZX0pOworCisgICAgICAgICAgICBhc3NlcnQoZSAhPT0gbnVsbCwKKyAg
ICAgICAgICAgICAgICAgICBhc3NlcnRpb25fdHlwZSwgZGVzY3JpcHRpb24sCisgICAgICAgICAg
ICAgICAgICAgIiR7ZnVuY30gdGhyZXcgbnVsbCwgbm90IGFuIG9iamVjdCIsCisgICAgICAgICAg
ICAgICAgICAge2Z1bmM6ZnVuY30pOworCisgICAgICAgICAgICAvLyBCYXNpYyBzYW5pdHktY2hl
Y2sgb24gdGhlIHBhc3NlZC1pbiBjb25zdHJ1Y3RvcgorICAgICAgICAgICAgYXNzZXJ0KHR5cGVv
ZiBjb25zdHJ1Y3RvciA9PSAiZnVuY3Rpb24iLAorICAgICAgICAgICAgICAgICAgIGFzc2VydGlv
bl90eXBlLCBkZXNjcmlwdGlvbiwKKyAgICAgICAgICAgICAgICAgICAiJHtjb25zdHJ1Y3Rvcn0g
aXMgbm90IGEgY29uc3RydWN0b3IiLAorICAgICAgICAgICAgICAgICAgIHtjb25zdHJ1Y3Rvcjpj
b25zdHJ1Y3Rvcn0pOworICAgICAgICAgICAgdmFyIG9iaiA9IGNvbnN0cnVjdG9yOworICAgICAg
ICAgICAgd2hpbGUgKG9iaikgeworICAgICAgICAgICAgICAgIGlmICh0eXBlb2Ygb2JqID09PSAi
ZnVuY3Rpb24iICYmCisgICAgICAgICAgICAgICAgICAgIG9iai5uYW1lID09PSAiRXJyb3IiKSB7
CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgICAgICBvYmogPSBPYmplY3QuZ2V0UHJvdG90eXBlT2Yob2JqKTsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIGFzc2VydChvYmogIT0gbnVsbCwKKyAgICAgICAgICAgICAgICAgICBhc3Nl
cnRpb25fdHlwZSwgZGVzY3JpcHRpb24sCisgICAgICAgICAgICAgICAgICAgIiR7Y29uc3RydWN0
b3J9IGlzIG5vdCBhbiBFcnJvciBzdWJ0eXBlIiwKKyAgICAgICAgICAgICAgICAgICB7Y29uc3Ry
dWN0b3I6Y29uc3RydWN0b3J9KTsKKworICAgICAgICAgICAgLy8gQW5kIGNoZWNraW5nIHRoYXQg
b3VyIGV4Y2VwdGlvbiBpcyByZWFzb25hYmxlCisgICAgICAgICAgICBhc3NlcnQoZS5jb25zdHJ1
Y3RvciA9PT0gY29uc3RydWN0b3IgJiYKKyAgICAgICAgICAgICAgICAgICBlLm5hbWUgPT09IGNv
bnN0cnVjdG9yLm5hbWUsCisgICAgICAgICAgICAgICAgICAgYXNzZXJ0aW9uX3R5cGUsIGRlc2Ny
aXB0aW9uLAorICAgICAgICAgICAgICAgICAgICIke2Z1bmN9IHRocmV3ICR7YWN0dWFsfSAoJHth
Y3R1YWxfbmFtZX0pIGV4cGVjdGVkIGluc3RhbmNlIG9mICR7ZXhwZWN0ZWR9ICgke2V4cGVjdGVk
X25hbWV9KSIsCisgICAgICAgICAgICAgICAgICAge2Z1bmM6ZnVuYywgYWN0dWFsOmUsIGFjdHVh
bF9uYW1lOmUubmFtZSwKKyAgICAgICAgICAgICAgICAgICAgZXhwZWN0ZWQ6Y29uc3RydWN0b3Is
CisgICAgICAgICAgICAgICAgICAgIGV4cGVjdGVkX25hbWU6Y29uc3RydWN0b3IubmFtZX0pOwor
ICAgICAgICB9CisgICAgfQorCisgICAgLyoqCisgICAgICogQXNzZXJ0IGEgRE9NRXhjZXB0aW9u
IHdpdGggdGhlIGV4cGVjdGVkIHR5cGUgaXMgdGhyb3duLgorICAgICAqCisgICAgICogQHBhcmFt
IHtudW1iZXJ8c3RyaW5nfSB0eXBlIFRoZSBleHBlY3RlZCBleGNlcHRpb24gbmFtZSBvciBjb2Rl
LiAgU2VlIHRoZQorICAgICAqICAgICAgICB0YWJsZSBvZiBuYW1lcyBhbmQgY29kZXMgYXQKKyAg
ICAgKiAgICAgICAgaHR0cHM6Ly9oZXljYW0uZ2l0aHViLmlvL3dlYmlkbC8jZGZuLWVycm9yLW5h
bWVzLXRhYmxlCisgICAgICogICAgICAgIElmIGEgbnVtYmVyIGlzIHBhc3NlZCBpdCBzaG91bGQg
YmUgb25lIG9mIHRoZSBudW1lcmljIGNvZGUgdmFsdWVzCisgICAgICogICAgICAgIGluIHRoYXQg
dGFibGUgKGUuZy4gMywgNCwgZXRjKS4gIElmIGEgc3RyaW5nIGlzIHBhc3NlZCBpdCBjYW4KKyAg
ICAgKiAgICAgICAgZWl0aGVyIGJlIGFuIGV4Y2VwdGlvbiBuYW1lIChlLmcuICJIaWVyYXJjaHlS
ZXF1ZXN0RXJyb3IiLAorICAgICAqICAgICAgICAiV3JvbmdEb2N1bWVudEVycm9yIikgb3IgdGhl
IG5hbWUgb2YgdGhlIGNvcnJlc3BvbmRpbmcgZXJyb3IgY29kZQorICAgICAqICAgICAgICAoZS5n
LiAiSElFUkFSQ0hZX1JFUVVFU1RfRVJSIiwgIldST05HX0RPQ1VNRU5UX0VSUiIpLgorICAgICAq
IEBwYXJhbSB7RnVuY3Rpb259IGZ1bmMgRnVuY3Rpb24gd2hpY2ggc2hvdWxkIHRocm93LgorICAg
ICAqIEBwYXJhbSB7c3RyaW5nfSBkZXNjcmlwdGlvbiBFcnJvciBkZXNjcmlwdGlvbiBmb3IgdGhl
IGNhc2UgdGhhdCB0aGUgZXJyb3IgaXMgbm90IHRocm93bi4KKyAgICAgKi8KKyAgICBmdW5jdGlv
biBhc3NlcnRfdGhyb3dzX2RvbSh0eXBlLCBmdW5jLCBkZXNjcmlwdGlvbikKKyAgICB7CisgICAg
ICAgIGFzc2VydF90aHJvd3NfZG9tX2ltcGwodHlwZSwgZnVuYywgZGVzY3JpcHRpb24sICJhc3Nl
cnRfdGhyb3dzX2RvbSIpCisgICAgfQorICAgIGV4cG9zZShhc3NlcnRfdGhyb3dzX2RvbSwgImFz
c2VydF90aHJvd3NfZG9tIik7CisKKyAgICAvKioKKyAgICAgKiBMaWtlIGFzc2VydF90aHJvd3Nf
ZG9tIGJ1dCBhbGxvd3Mgc3BlY2lmeWluZyB0aGUgYXNzZXJ0aW9uIHR5cGUKKyAgICAgKiAoYXNz
ZXJ0X3Rocm93c19kb20gb3IgcHJvbWlzZV9yZWplY3RzX2RvbSwgaW4gcHJhY3RpY2UpLgorICAg
ICAqLworICAgIGZ1bmN0aW9uIGFzc2VydF90aHJvd3NfZG9tX2ltcGwodHlwZSwgZnVuYywgZGVz
Y3JpcHRpb24sIGFzc2VydGlvbl90eXBlKQorICAgIHsKKyAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgIGZ1bmMuY2FsbCh0aGlzKTsKKyAgICAgICAgICAgIGFzc2VydChmYWxzZSwgYXNzZXJ0aW9u
X3R5cGUsIGRlc2NyaXB0aW9uLAorICAgICAgICAgICAgICAgICAgICIke2Z1bmN9IGRpZCBub3Qg
dGhyb3ciLCB7ZnVuYzpmdW5jfSk7CisgICAgICAgIH0gY2F0Y2ggKGUpIHsKKyAgICAgICAgICAg
IGlmIChlIGluc3RhbmNlb2YgQXNzZXJ0aW9uRXJyb3IpIHsKKyAgICAgICAgICAgICAgICB0aHJv
dyBlOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBhc3NlcnQodHlwZW9mIGUgPT09ICJv
YmplY3QiLAorICAgICAgICAgICAgICAgICAgIGFzc2VydGlvbl90eXBlLCBkZXNjcmlwdGlvbiwK
KyAgICAgICAgICAgICAgICAgICAiJHtmdW5jfSB0aHJldyAke2V9IHdpdGggdHlwZSAke3R5cGV9
LCBub3QgYW4gb2JqZWN0IiwKKyAgICAgICAgICAgICAgICAgICB7ZnVuYzpmdW5jLCBlOmUsIHR5
cGU6dHlwZW9mIGV9KTsKKworICAgICAgICAgICAgYXNzZXJ0KGUgIT09IG51bGwsCisgICAgICAg
ICAgICAgICAgICAgYXNzZXJ0aW9uX3R5cGUsIGRlc2NyaXB0aW9uLAorICAgICAgICAgICAgICAg
ICAgICIke2Z1bmN9IHRocmV3IG51bGwsIG5vdCBhbiBvYmplY3QiLAorICAgICAgICAgICAgICAg
ICAgIHtmdW5jOmZ1bmN9KTsKKworICAgICAgICAgICAgLy8gU2FuaXR5LWNoZWNrIG91ciB0eXBl
CisgICAgICAgICAgICBhc3NlcnQodHlwZW9mIHR5cGUgPT0gIm51bWJlciIgfHwKKyAgICAgICAg
ICAgICAgICAgICB0eXBlb2YgdHlwZSA9PSAic3RyaW5nIiwKKyAgICAgICAgICAgICAgICAgICBh
c3NlcnRpb25fdHlwZSwgZGVzY3JpcHRpb24sCisgICAgICAgICAgICAgICAgICAgIiR7dHlwZX0g
aXMgbm90IGEgbnVtYmVyIG9yIHN0cmluZyIsCisgICAgICAgICAgICAgICAgICAge3R5cGU6dHlw
ZX0pOworCisgICAgICAgICAgICB2YXIgY29kZW5hbWVfbmFtZV9tYXAgPSB7CisgICAgICAgICAg
ICAgICAgSU5ERVhfU0laRV9FUlI6ICdJbmRleFNpemVFcnJvcicsCisgICAgICAgICAgICAgICAg
SElFUkFSQ0hZX1JFUVVFU1RfRVJSOiAnSGllcmFyY2h5UmVxdWVzdEVycm9yJywKKyAgICAgICAg
ICAgICAgICBXUk9OR19ET0NVTUVOVF9FUlI6ICdXcm9uZ0RvY3VtZW50RXJyb3InLAorICAgICAg
ICAgICAgICAgIElOVkFMSURfQ0hBUkFDVEVSX0VSUjogJ0ludmFsaWRDaGFyYWN0ZXJFcnJvcics
CisgICAgICAgICAgICAgICAgTk9fTU9ESUZJQ0FUSU9OX0FMTE9XRURfRVJSOiAnTm9Nb2RpZmlj
YXRpb25BbGxvd2VkRXJyb3InLAorICAgICAgICAgICAgICAgIE5PVF9GT1VORF9FUlI6ICdOb3RG
b3VuZEVycm9yJywKKyAgICAgICAgICAgICAgICBOT1RfU1VQUE9SVEVEX0VSUjogJ05vdFN1cHBv
cnRlZEVycm9yJywKKyAgICAgICAgICAgICAgICBJTlVTRV9BVFRSSUJVVEVfRVJSOiAnSW5Vc2VB
dHRyaWJ1dGVFcnJvcicsCisgICAgICAgICAgICAgICAgSU5WQUxJRF9TVEFURV9FUlI6ICdJbnZh
bGlkU3RhdGVFcnJvcicsCisgICAgICAgICAgICAgICAgU1lOVEFYX0VSUjogJ1N5bnRheEVycm9y
JywKKyAgICAgICAgICAgICAgICBJTlZBTElEX01PRElGSUNBVElPTl9FUlI6ICdJbnZhbGlkTW9k
aWZpY2F0aW9uRXJyb3InLAorICAgICAgICAgICAgICAgIE5BTUVTUEFDRV9FUlI6ICdOYW1lc3Bh
Y2VFcnJvcicsCisgICAgICAgICAgICAgICAgSU5WQUxJRF9BQ0NFU1NfRVJSOiAnSW52YWxpZEFj
Y2Vzc0Vycm9yJywKKyAgICAgICAgICAgICAgICBUWVBFX01JU01BVENIX0VSUjogJ1R5cGVNaXNt
YXRjaEVycm9yJywKKyAgICAgICAgICAgICAgICBTRUNVUklUWV9FUlI6ICdTZWN1cml0eUVycm9y
JywKKyAgICAgICAgICAgICAgICBORVRXT1JLX0VSUjogJ05ldHdvcmtFcnJvcicsCisgICAgICAg
ICAgICAgICAgQUJPUlRfRVJSOiAnQWJvcnRFcnJvcicsCisgICAgICAgICAgICAgICAgVVJMX01J
U01BVENIX0VSUjogJ1VSTE1pc21hdGNoRXJyb3InLAorICAgICAgICAgICAgICAgIFFVT1RBX0VY
Q0VFREVEX0VSUjogJ1F1b3RhRXhjZWVkZWRFcnJvcicsCisgICAgICAgICAgICAgICAgVElNRU9V
VF9FUlI6ICdUaW1lb3V0RXJyb3InLAorICAgICAgICAgICAgICAgIElOVkFMSURfTk9ERV9UWVBF
X0VSUjogJ0ludmFsaWROb2RlVHlwZUVycm9yJywKKyAgICAgICAgICAgICAgICBEQVRBX0NMT05F
X0VSUjogJ0RhdGFDbG9uZUVycm9yJworICAgICAgICAgICAgfTsKKworICAgICAgICAgICAgdmFy
IG5hbWVfY29kZV9tYXAgPSB7CisgICAgICAgICAgICAgICAgSW5kZXhTaXplRXJyb3I6IDEsCisg
ICAgICAgICAgICAgICAgSGllcmFyY2h5UmVxdWVzdEVycm9yOiAzLAorICAgICAgICAgICAgICAg
IFdyb25nRG9jdW1lbnRFcnJvcjogNCwKKyAgICAgICAgICAgICAgICBJbnZhbGlkQ2hhcmFjdGVy
RXJyb3I6IDUsCisgICAgICAgICAgICAgICAgTm9Nb2RpZmljYXRpb25BbGxvd2VkRXJyb3I6IDcs
CisgICAgICAgICAgICAgICAgTm90Rm91bmRFcnJvcjogOCwKKyAgICAgICAgICAgICAgICBOb3RT
dXBwb3J0ZWRFcnJvcjogOSwKKyAgICAgICAgICAgICAgICBJblVzZUF0dHJpYnV0ZUVycm9yOiAx
MCwKKyAgICAgICAgICAgICAgICBJbnZhbGlkU3RhdGVFcnJvcjogMTEsCisgICAgICAgICAgICAg
ICAgU3ludGF4RXJyb3I6IDEyLAorICAgICAgICAgICAgICAgIEludmFsaWRNb2RpZmljYXRpb25F
cnJvcjogMTMsCisgICAgICAgICAgICAgICAgTmFtZXNwYWNlRXJyb3I6IDE0LAorICAgICAgICAg
ICAgICAgIEludmFsaWRBY2Nlc3NFcnJvcjogMTUsCisgICAgICAgICAgICAgICAgVHlwZU1pc21h
dGNoRXJyb3I6IDE3LAorICAgICAgICAgICAgICAgIFNlY3VyaXR5RXJyb3I6IDE4LAorICAgICAg
ICAgICAgICAgIE5ldHdvcmtFcnJvcjogMTksCisgICAgICAgICAgICAgICAgQWJvcnRFcnJvcjog
MjAsCisgICAgICAgICAgICAgICAgVVJMTWlzbWF0Y2hFcnJvcjogMjEsCisgICAgICAgICAgICAg
ICAgUXVvdGFFeGNlZWRlZEVycm9yOiAyMiwKKyAgICAgICAgICAgICAgICBUaW1lb3V0RXJyb3I6
IDIzLAorICAgICAgICAgICAgICAgIEludmFsaWROb2RlVHlwZUVycm9yOiAyNCwKKyAgICAgICAg
ICAgICAgICBEYXRhQ2xvbmVFcnJvcjogMjUsCisKKyAgICAgICAgICAgICAgICBFbmNvZGluZ0Vy
cm9yOiAwLAorICAgICAgICAgICAgICAgIE5vdFJlYWRhYmxlRXJyb3I6IDAsCisgICAgICAgICAg
ICAgICAgVW5rbm93bkVycm9yOiAwLAorICAgICAgICAgICAgICAgIENvbnN0cmFpbnRFcnJvcjog
MCwKKyAgICAgICAgICAgICAgICBEYXRhRXJyb3I6IDAsCisgICAgICAgICAgICAgICAgVHJhbnNh
Y3Rpb25JbmFjdGl2ZUVycm9yOiAwLAorICAgICAgICAgICAgICAgIFJlYWRPbmx5RXJyb3I6IDAs
CisgICAgICAgICAgICAgICAgVmVyc2lvbkVycm9yOiAwLAorICAgICAgICAgICAgICAgIE9wZXJh
dGlvbkVycm9yOiAwLAorICAgICAgICAgICAgICAgIE5vdEFsbG93ZWRFcnJvcjogMAorICAgICAg
ICAgICAgfTsKKworICAgICAgICAgICAgdmFyIGNvZGVfbmFtZV9tYXAgPSB7fTsKKyAgICAgICAg
ICAgIGZvciAodmFyIGtleSBpbiBuYW1lX2NvZGVfbWFwKSB7CisgICAgICAgICAgICAgICAgaWYg
KG5hbWVfY29kZV9tYXBba2V5XSA+IDApIHsKKyAgICAgICAgICAgICAgICAgICAgY29kZV9uYW1l
X21hcFtuYW1lX2NvZGVfbWFwW2tleV1dID0ga2V5OworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIH0KKworICAgICAgICAgICAgdmFyIHJlcXVpcmVkX3Byb3BzID0ge307CisgICAgICAg
ICAgICB2YXIgbmFtZTsKKworICAgICAgICAgICAgaWYgKHR5cGVvZiB0eXBlID09PSAibnVtYmVy
IikgeworICAgICAgICAgICAgICAgIGlmICh0eXBlID09PSAwKSB7CisgICAgICAgICAgICAgICAg
ICAgIHRocm93IG5ldyBBc3NlcnRpb25FcnJvcignVGVzdCBidWc6IGFtYmlndW91cyBET01FeGNl
cHRpb24gY29kZSAwIHBhc3NlZCB0byBhc3NlcnRfdGhyb3dzX2RvbSgpJyk7CisgICAgICAgICAg
ICAgICAgfSBlbHNlIGlmICghKHR5cGUgaW4gY29kZV9uYW1lX21hcCkpIHsKKyAgICAgICAgICAg
ICAgICAgICAgdGhyb3cgbmV3IEFzc2VydGlvbkVycm9yKCdUZXN0IGJ1ZzogdW5yZWNvZ25pemVk
IERPTUV4Y2VwdGlvbiBjb2RlICInICsgdHlwZSArICciIHBhc3NlZCB0byBhc3NlcnRfdGhyb3dz
X2RvbSgpJyk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIG5hbWUgPSBjb2Rl
X25hbWVfbWFwW3R5cGVdOworICAgICAgICAgICAgICAgIHJlcXVpcmVkX3Byb3BzLmNvZGUgPSB0
eXBlOworICAgICAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgdHlwZSA9PT0gInN0cmluZyIpIHsK
KyAgICAgICAgICAgICAgICBuYW1lID0gdHlwZSBpbiBjb2RlbmFtZV9uYW1lX21hcCA/IGNvZGVu
YW1lX25hbWVfbWFwW3R5cGVdIDogdHlwZTsKKyAgICAgICAgICAgICAgICBpZiAoIShuYW1lIGlu
IG5hbWVfY29kZV9tYXApKSB7CisgICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBBc3NlcnRp
b25FcnJvcignVGVzdCBidWc6IHVucmVjb2duaXplZCBET01FeGNlcHRpb24gY29kZSBuYW1lIG9y
IG5hbWUgIicgKyB0eXBlICsgJyIgcGFzc2VkIHRvIGFzc2VydF90aHJvd3NfZG9tKCknKTsKKyAg
ICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICByZXF1aXJlZF9wcm9wcy5jb2RlID0g
bmFtZV9jb2RlX21hcFtuYW1lXTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgaWYgKHJl
cXVpcmVkX3Byb3BzLmNvZGUgPT09IDAgfHwKKyAgICAgICAgICAgICAgICgibmFtZSIgaW4gZSAm
JgorICAgICAgICAgICAgICAgIGUubmFtZSAhPT0gZS5uYW1lLnRvVXBwZXJDYXNlKCkgJiYKKyAg
ICAgICAgICAgICAgICBlLm5hbWUgIT09ICJET01FeGNlcHRpb24iKSkgeworICAgICAgICAgICAg
ICAgIC8vIE5ldyBzdHlsZSBleGNlcHRpb246IGFsc28gdGVzdCB0aGUgbmFtZSBwcm9wZXJ0eS4K
KyAgICAgICAgICAgICAgICByZXF1aXJlZF9wcm9wcy5uYW1lID0gbmFtZTsKKyAgICAgICAgICAg
IH0KKworICAgICAgICAgICAgLy9XZSdkIGxpa2UgdG8gdGVzdCB0aGF0IGUgaW5zdGFuY2VvZiB0
aGUgYXBwcm9wcmlhdGUgaW50ZXJmYWNlLAorICAgICAgICAgICAgLy9idXQgd2UgY2FuJ3QsIGJl
Y2F1c2Ugd2UgZG9uJ3Qga25vdyB3aGF0IHdpbmRvdyBpdCB3YXMgY3JlYXRlZAorICAgICAgICAg
ICAgLy9pbi4gIEl0IG1pZ2h0IGJlIGFuIGluc3RhbmNlb2YgdGhlIGFwcHJvcHJpYXRlIGludGVy
ZmFjZSBvbiBzb21lCisgICAgICAgICAgICAvL3Vua25vd24gb3RoZXIgd2luZG93LiAgVE9ETzog
V29yayBhcm91bmQgdGhpcyBzb21laG93PyAgTWF5YmUgaGF2ZQorICAgICAgICAgICAgLy90aGUg
Zmlyc3QgYXJnIGp1c3QgYmUgYSBET01FeGNlcHRpb24gd2l0aCB0aGUgcmlnaHQgbmFtZSBpbnN0
ZWFkCisgICAgICAgICAgICAvL29mIHRoZSBzdHJpbmctb3ItY29kZSB0aGluZyB3ZSBoYXZlIG5v
dz8KKworICAgICAgICAgICAgZm9yICh2YXIgcHJvcCBpbiByZXF1aXJlZF9wcm9wcykgeworICAg
ICAgICAgICAgICAgIGFzc2VydChwcm9wIGluIGUgJiYgZVtwcm9wXSA9PSByZXF1aXJlZF9wcm9w
c1twcm9wXSwKKyAgICAgICAgICAgICAgICAgICAgICAgYXNzZXJ0aW9uX3R5cGUsIGRlc2NyaXB0
aW9uLAorICAgICAgICAgICAgICAgICAgICAgICAiJHtmdW5jfSB0aHJldyAke2V9IHRoYXQgaXMg
bm90IGEgRE9NRXhjZXB0aW9uICIgKyB0eXBlICsgIjogcHJvcGVydHkgJHtwcm9wfSBpcyBlcXVh
bCB0byAke2FjdHVhbH0sIGV4cGVjdGVkICR7ZXhwZWN0ZWR9IiwKKyAgICAgICAgICAgICAgICAg
ICAgICAge2Z1bmM6ZnVuYywgZTplLCBwcm9wOnByb3AsIGFjdHVhbDplW3Byb3BdLCBleHBlY3Rl
ZDpyZXF1aXJlZF9wcm9wc1twcm9wXX0pOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAg
fQorCisgICAgLyoqCisgICAgICogQXNzZXJ0IHRoZSBwcm92aWRlZCB2YWx1ZSBpcyB0aHJvd24u
CisgICAgICoKKyAgICAgKiBAcGFyYW0ge3ZhbHVlfSBleGNlcHRpb24gVGhlIGV4cGVjdGVkIGV4
Y2VwdGlvbi4KKyAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBmdW5jIEZ1bmN0aW9uIHdoaWNoIHNo
b3VsZCB0aHJvdy4KKyAgICAgKiBAcGFyYW0ge3N0cmluZ30gZGVzY3JpcHRpb24gRXJyb3IgZGVz
Y3JpcHRpb24gZm9yIHRoZSBjYXNlIHRoYXQgdGhlIGVycm9yIGlzIG5vdCB0aHJvd24uCisgICAg
ICovCisgICAgZnVuY3Rpb24gYXNzZXJ0X3Rocm93c19leGFjdGx5KGV4Y2VwdGlvbiwgZnVuYywg
ZGVzY3JpcHRpb24pCisgICAgeworICAgICAgICBhc3NlcnRfdGhyb3dzX2V4YWN0bHlfaW1wbChl
eGNlcHRpb24sIGZ1bmMsIGRlc2NyaXB0aW9uLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAiYXNzZXJ0X3Rocm93c19leGFjdGx5Iik7CisgICAgfQorICAgIGV4cG9zZShhc3Nl
cnRfdGhyb3dzX2V4YWN0bHksICJhc3NlcnRfdGhyb3dzX2V4YWN0bHkiKTsKKworICAgIC8qKgor
ICAgICAqIExpa2UgYXNzZXJ0X3Rocm93c19leGFjdGx5IGJ1dCBhbGxvd3Mgc3BlY2lmeWluZyB0
aGUgYXNzZXJ0aW9uIHR5cGUKKyAgICAgKiAoYXNzZXJ0X3Rocm93c19leGFjdGx5IG9yIHByb21p
c2VfcmVqZWN0c19leGFjdGx5LCBpbiBwcmFjdGljZSkuCisgICAgICovCisgICAgZnVuY3Rpb24g
YXNzZXJ0X3Rocm93c19leGFjdGx5X2ltcGwoZXhjZXB0aW9uLCBmdW5jLCBkZXNjcmlwdGlvbiwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhc3NlcnRpb25fdHlwZSkK
KyAgICB7CisgICAgICAgIHRyeSB7CisgICAgICAgICAgICBmdW5jLmNhbGwodGhpcyk7CisgICAg
ICAgICAgICBhc3NlcnQoZmFsc2UsIGFzc2VydGlvbl90eXBlLCBkZXNjcmlwdGlvbiwKKyAgICAg
ICAgICAgICAgICAgICAiJHtmdW5jfSBkaWQgbm90IHRocm93Iiwge2Z1bmM6ZnVuY30pOworICAg
ICAgICB9IGNhdGNoIChlKSB7CisgICAgICAgICAgICBpZiAoZSBpbnN0YW5jZW9mIEFzc2VydGlv
bkVycm9yKSB7CisgICAgICAgICAgICAgICAgdGhyb3cgZTsKKyAgICAgICAgICAgIH0KKworICAg
ICAgICAgICAgYXNzZXJ0KHNhbWVfdmFsdWUoZSwgZXhjZXB0aW9uKSwgYXNzZXJ0aW9uX3R5cGUs
IGRlc2NyaXB0aW9uLAorICAgICAgICAgICAgICAgICAgICIke2Z1bmN9IHRocmV3ICR7ZX0gYnV0
IHdlIGV4cGVjdGVkIGl0IHRvIHRocm93ICR7ZXhjZXB0aW9ufSIsCisgICAgICAgICAgICAgICAg
ICAge2Z1bmM6ZnVuYywgZTplLCBleGNlcHRpb246ZXhjZXB0aW9ufSk7CisgICAgICAgIH0KKyAg
ICB9CisKICAgICBmdW5jdGlvbiBhc3NlcnRfdW5yZWFjaGVkKGRlc2NyaXB0aW9uKSB7CiAgICAg
ICAgICBhc3NlcnQoZmFsc2UsICJhc3NlcnRfdW5yZWFjaGVkIiwgZGVzY3JpcHRpb24sCiAgICAg
ICAgICAgICAgICAgIlJlYWNoZWQgdW5yZWFjaGFibGUgY29kZSIpOwpAQCAtMTUwOSw2ICsxODc0
LDEzIEBAIHBvbGljaWVzIGFuZCBjb250cmlidXRpb24gZm9ybXMgWzNdLgogICAgIH0KICAgICBl
eHBvc2UoYXNzZXJ0X2FueSwgImFzc2VydF9hbnkiKTsKIAorICAgIGZ1bmN0aW9uIGFzc2VydF9w
cmVjb25kaXRpb24ocHJlY29uZGl0aW9uLCBkZXNjcmlwdGlvbikgeworICAgICAgICBpZiAoIXBy
ZWNvbmRpdGlvbikgeworICAgICAgICAgICAgdGhyb3cgbmV3IFByZWNvbmRpdGlvbkZhaWxlZEVy
cm9yKGRlc2NyaXB0aW9uKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBleHBvc2UoYXNzZXJ0X3By
ZWNvbmRpdGlvbiwgImFzc2VydF9wcmVjb25kaXRpb24iKTsKKwogICAgIGZ1bmN0aW9uIFRlc3Qo
bmFtZSwgcHJvcGVydGllcykKICAgICB7CiAgICAgICAgIGlmICh0ZXN0cy5maWxlX2lzX3Rlc3Qg
JiYgdGVzdHMudGVzdHMubGVuZ3RoKSB7CkBAIC0xNTIzLDcgKzE4OTUsNyBAQCBwb2xpY2llcyBh
bmQgY29udHJpYnV0aW9uIGZvcm1zIFszXS4KICAgICAgICAgdGhpcy50aW1lb3V0X2lkID0gbnVs
bDsKICAgICAgICAgdGhpcy5pbmRleCA9IG51bGw7CiAKLSAgICAgICAgdGhpcy5wcm9wZXJ0aWVz
ID0gcHJvcGVydGllczsKKyAgICAgICAgdGhpcy5wcm9wZXJ0aWVzID0gcHJvcGVydGllcyB8fCB7
fTsKICAgICAgICAgdGhpcy50aW1lb3V0X2xlbmd0aCA9IHNldHRpbmdzLnRlc3RfdGltZW91dDsK
ICAgICAgICAgaWYgKHRoaXMudGltZW91dF9sZW5ndGggIT09IG51bGwpIHsKICAgICAgICAgICAg
IHRoaXMudGltZW91dF9sZW5ndGggKj0gdGVzdHMudGltZW91dF9tdWx0aXBsaWVyOwpAQCAtMTU1
Myw3ICsxOTI1LDggQEAgcG9saWNpZXMgYW5kIGNvbnRyaWJ1dGlvbiBmb3JtcyBbM10uCiAgICAg
ICAgIFBBU1M6MCwKICAgICAgICAgRkFJTDoxLAogICAgICAgICBUSU1FT1VUOjIsCi0gICAgICAg
IE5PVFJVTjozCisgICAgICAgIE5PVFJVTjozLAorICAgICAgICBQUkVDT05ESVRJT05fRkFJTEVE
OjQKICAgICB9OwogCiAgICAgVGVzdC5wcm90b3R5cGUgPSBtZXJnZSh7fSwgVGVzdC5zdGF0dXNl
cyk7CkBAIC0xNjEzLDEwICsxOTg2LDExIEBAIHBvbGljaWVzIGFuZCBjb250cmlidXRpb24gZm9y
bXMgWzNdLgogICAgICAgICAgICAgaWYgKHRoaXMucGhhc2UgPj0gdGhpcy5waGFzZXMuSEFTX1JF
U1VMVCkgewogICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIHZhciBzdGF0dXMgPSBlIGluc3RhbmNlb2YgUHJlY29uZGl0aW9uRmFpbGVkRXJyb3IgPyB0
aGlzLlBSRUNPTkRJVElPTl9GQUlMRUQgOiB0aGlzLkZBSUw7CiAgICAgICAgICAgICB2YXIgbWVz
c2FnZSA9IFN0cmluZygodHlwZW9mIGUgPT09ICJvYmplY3QiICYmIGUgIT09IG51bGwpID8gZS5t
ZXNzYWdlIDogZSk7CiAgICAgICAgICAgICB2YXIgc3RhY2sgPSBlLnN0YWNrID8gZS5zdGFjayA6
IG51bGw7CiAKLSAgICAgICAgICAgIHRoaXMuc2V0X3N0YXR1cyh0aGlzLkZBSUwsIG1lc3NhZ2Us
IHN0YWNrKTsKKyAgICAgICAgICAgIHRoaXMuc2V0X3N0YXR1cyhzdGF0dXMsIG1lc3NhZ2UsIHN0
YWNrKTsKICAgICAgICAgICAgIHRoaXMucGhhc2UgPSB0aGlzLnBoYXNlcy5IQVNfUkVTVUxUOwog
ICAgICAgICAgICAgdGhpcy5kb25lKCk7CiAgICAgICAgIH0KQEAgLTIwODcsNyArMjQ2MSw4IEBA
IHBvbGljaWVzIGFuZCBjb250cmlidXRpb24gZm9ybXMgWzNdLgogICAgIFRlc3RzU3RhdHVzLnN0
YXR1c2VzID0gewogICAgICAgICBPSzowLAogICAgICAgICBFUlJPUjoxLAotICAgICAgICBUSU1F
T1VUOjIKKyAgICAgICAgVElNRU9VVDoyLAorICAgICAgICBQUkVDT05ESVRJT05fRkFJTEVEOjMK
ICAgICB9OwogCiAgICAgVGVzdHNTdGF0dXMucHJvdG90eXBlID0gbWVyZ2Uoe30sIFRlc3RzU3Rh
dHVzLnN0YXR1c2VzKTsKQEAgLTIxMjgsNiArMjUwMywxMCBAQCBwb2xpY2llcyBhbmQgY29udHJp
YnV0aW9uIGZvcm1zIFszXS4KICAgICAgICAgdGhpcy5hbGxvd191bmNhdWdodF9leGNlcHRpb24g
PSBmYWxzZTsKIAogICAgICAgICB0aGlzLmZpbGVfaXNfdGVzdCA9IGZhbHNlOworICAgICAgICAv
LyBUaGlzIHZhbHVlIGlzIGxhemlseSBpbml0aWFsaXplZCBpbiBvcmRlciB0byBhdm9pZCBpbnRy
b2R1Y2luZyBhCisgICAgICAgIC8vIGRlcGVuZGVuY3kgb24gRUNNQVNjcmlwdCAyMDE1IFByb21p
c2VzIHRvIGFsbCB0ZXN0cy4KKyAgICAgICAgdGhpcy5wcm9taXNlX3Rlc3RzID0gbnVsbDsKKyAg
ICAgICAgdGhpcy5wcm9taXNlX3NldHVwX2NhbGxlZCA9IGZhbHNlOwogCiAgICAgICAgIHRoaXMu
dGltZW91dF9tdWx0aXBsaWVyID0gMTsKICAgICAgICAgdGhpcy50aW1lb3V0X2xlbmd0aCA9IHRl
c3RfZW52aXJvbm1lbnQudGVzdF90aW1lb3V0KCk7CkBAIC0yMTc4LDYgKzI1NTcsOCBAQCBwb2xp
Y2llcyBhbmQgY29udHJpYnV0aW9uIGZvcm1zIFszXS4KICAgICAgICAgICAgICAgICAgICAgewog
ICAgICAgICAgICAgICAgICAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMudGltZW91dF9pZCk7CiAg
ICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHAgPT0gInNp
bmdsZV90ZXN0IiAmJiB2YWx1ZSkgeworICAgICAgICAgICAgICAgICAgICB0aGlzLnNldF9maWxl
X2lzX3Rlc3QoKTsKICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHAgPT0gInRpbWVvdXRfbXVs
dGlwbGllciIpIHsKICAgICAgICAgICAgICAgICAgICAgdGhpcy50aW1lb3V0X211bHRpcGxpZXIg
PSB2YWx1ZTsKICAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMudGltZW91dF9sZW5ndGgpIHsK
QEAgLTIxOTEsOSArMjU3MiwxMCBAQCBwb2xpY2llcyBhbmQgY29udHJpYnV0aW9uIGZvcm1zIFsz
XS4KICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAgZnVuYygpOwogICAgICAgICAg
ICAgfSBjYXRjaCAoZSkgewotICAgICAgICAgICAgICAgIHRoaXMuc3RhdHVzLnN0YXR1cyA9IHRo
aXMuc3RhdHVzLkVSUk9SOworICAgICAgICAgICAgICAgIHRoaXMuc3RhdHVzLnN0YXR1cyA9IGUg
aW5zdGFuY2VvZiBQcmVjb25kaXRpb25GYWlsZWRFcnJvciA/IHRoaXMuc3RhdHVzLlBSRUNPTkRJ
VElPTl9GQUlMRUQgOiB0aGlzLnN0YXR1cy5FUlJPUjsKICAgICAgICAgICAgICAgICB0aGlzLnN0
YXR1cy5tZXNzYWdlID0gU3RyaW5nKGUpOwogICAgICAgICAgICAgICAgIHRoaXMuc3RhdHVzLnN0
YWNrID0gZS5zdGFjayA/IGUuc3RhY2sgOiBudWxsOworICAgICAgICAgICAgICAgIHRoaXMuY29t
cGxldGUoKTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgICAgICB0aGlzLnNldF90aW1l
b3V0KCk7CkBAIC0yNzQ4LDEyICszMTMwLDE0IEBAIHBvbGljaWVzIGFuZCBjb250cmlidXRpb24g
Zm9ybXMgWzNdLgogICAgICAgICBzdGF0dXNfdGV4dF9oYXJuZXNzW2hhcm5lc3Nfc3RhdHVzLk9L
XSA9ICJPSyI7CiAgICAgICAgIHN0YXR1c190ZXh0X2hhcm5lc3NbaGFybmVzc19zdGF0dXMuRVJS
T1JdID0gIkVycm9yIjsKICAgICAgICAgc3RhdHVzX3RleHRfaGFybmVzc1toYXJuZXNzX3N0YXR1
cy5USU1FT1VUXSA9ICJUaW1lb3V0IjsKKyAgICAgICAgc3RhdHVzX3RleHRfaGFybmVzc1toYXJu
ZXNzX3N0YXR1cy5QUkVDT05ESVRJT05fRkFJTEVEXSA9ICJQcmVjb25kaXRpb24gRmFpbGVkIjsK
IAogICAgICAgICB2YXIgc3RhdHVzX3RleHQgPSB7fTsKICAgICAgICAgc3RhdHVzX3RleHRbVGVz
dC5wcm90b3R5cGUuUEFTU10gPSAiUGFzcyI7CiAgICAgICAgIHN0YXR1c190ZXh0W1Rlc3QucHJv
dG90eXBlLkZBSUxdID0gIkZhaWwiOwogICAgICAgICBzdGF0dXNfdGV4dFtUZXN0LnByb3RvdHlw
ZS5USU1FT1VUXSA9ICJUaW1lb3V0IjsKICAgICAgICAgc3RhdHVzX3RleHRbVGVzdC5wcm90b3R5
cGUuTk9UUlVOXSA9ICJOb3QgUnVuIjsKKyAgICAgICAgc3RhdHVzX3RleHRbVGVzdC5wcm90b3R5
cGUuUFJFQ09ORElUSU9OX0ZBSUxFRF0gPSAiUHJlY29uZGl0aW9uIEZhaWxlZCI7CiAKICAgICAg
ICAgdmFyIHN0YXR1c19udW1iZXIgPSB7fTsKICAgICAgICAgZm9yRWFjaCh0ZXN0cywKQEAgLTMw
NzMsOSArMzQ1Nyw2IEBAIHBvbGljaWVzIGFuZCBjb250cmlidXRpb24gZm9ybXMgWzNdLgogICAg
ICAqLwogICAgIGZ1bmN0aW9uIGFzc2VydChleHBlY3RlZF90cnVlLCBmdW5jdGlvbl9uYW1lLCBk
ZXNjcmlwdGlvbiwgZXJyb3IsIHN1YnN0aXR1dGlvbnMpCiAgICAgewotICAgICAgICBpZiAodGVz
dHMudGVzdHMubGVuZ3RoID09PSAwKSB7Ci0gICAgICAgICAgICB0ZXN0cy5zZXRfZmlsZV9pc190
ZXN0KCk7Ci0gICAgICAgIH0KICAgICAgICAgaWYgKGV4cGVjdGVkX3RydWUgIT09IHRydWUpIHsK
ICAgICAgICAgICAgIHZhciBtc2cgPSBtYWtlX21lc3NhZ2UoZnVuY3Rpb25fbmFtZSwgZGVzY3Jp
cHRpb24sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yLCBzdWJzdGl0
dXRpb25zKTsKQEAgLTMxMzgsNiArMzUxOSwxMyBAQCBwb2xpY2llcyBhbmQgY29udHJpYnV0aW9u
IGZvcm1zIFszXS4KICAgICAgICAgcmV0dXJuIGxpbmVzLnNsaWNlKGkpLmpvaW4oIlxuIik7CiAg
ICAgfQogCisgICAgZnVuY3Rpb24gUHJlY29uZGl0aW9uRmFpbGVkRXJyb3IobWVzc2FnZSkKKyAg
ICB7CisgICAgICAgIEFzc2VydGlvbkVycm9yLmNhbGwodGhpcywgbWVzc2FnZSk7CisgICAgfQor
ICAgIFByZWNvbmRpdGlvbkZhaWxlZEVycm9yLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoQXNz
ZXJ0aW9uRXJyb3IucHJvdG90eXBlKTsKKyAgICBleHBvc2UoUHJlY29uZGl0aW9uRmFpbGVkRXJy
b3IsICJQcmVjb25kaXRpb25GYWlsZWRFcnJvciIpOworCiAgICAgZnVuY3Rpb24gbWFrZV9tZXNz
YWdlKGZ1bmN0aW9uX25hbWUsIGRlc2NyaXB0aW9uLCBlcnJvciwgc3Vic3RpdHV0aW9ucykKICAg
ICB7CiAgICAgICAgIGZvciAodmFyIHAgaW4gc3Vic3RpdHV0aW9ucykgewpAQCAtMzM2NSwzOCAr
Mzc1Myw1NiBAQCBwb2xpY2llcyBhbmQgY29udHJpYnV0aW9uIGZvcm1zIFszXS4KICAgICB2YXIg
dGVzdHMgPSBuZXcgVGVzdHMoKTsKIAogICAgIGlmIChnbG9iYWxfc2NvcGUuYWRkRXZlbnRMaXN0
ZW5lcikgewotICAgICAgICB2YXIgZXJyb3JfaGFuZGxlciA9IGZ1bmN0aW9uKGUpIHsKLSAgICAg
ICAgICAgIGlmICh0ZXN0cy50ZXN0cy5sZW5ndGggPT09IDAgJiYgIXRlc3RzLmFsbG93X3VuY2F1
Z2h0X2V4Y2VwdGlvbikgewotICAgICAgICAgICAgICAgIHRlc3RzLnNldF9maWxlX2lzX3Rlc3Qo
KTsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgdmFyIHN0YWNrOwotICAgICAgICAgICAg
aWYgKGUuZXJyb3IgJiYgZS5lcnJvci5zdGFjaykgewotICAgICAgICAgICAgICAgIHN0YWNrID0g
ZS5lcnJvci5zdGFjazsKLSAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgc3Rh
Y2sgPSBlLmZpbGVuYW1lICsgIjoiICsgZS5saW5lbm8gKyAiOiIgKyBlLmNvbG5vOwotICAgICAg
ICAgICAgfQotCisgICAgICAgIHZhciBlcnJvcl9oYW5kbGVyID0gZnVuY3Rpb24oZXJyb3IsIG1l
c3NhZ2UsIHN0YWNrKSB7CisgICAgICAgICAgICB2YXIgcHJlY29uZGl0aW9uX2ZhaWxlZCA9IGVy
cm9yIGluc3RhbmNlb2YgUHJlY29uZGl0aW9uRmFpbGVkRXJyb3I7CiAgICAgICAgICAgICBpZiAo
dGVzdHMuZmlsZV9pc190ZXN0KSB7CiAgICAgICAgICAgICAgICAgdmFyIHRlc3QgPSB0ZXN0cy50
ZXN0c1swXTsKICAgICAgICAgICAgICAgICBpZiAodGVzdC5waGFzZSA+PSB0ZXN0LnBoYXNlcy5I
QVNfUkVTVUxUKSB7CiAgICAgICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgICAg
ICB9Ci0gICAgICAgICAgICAgICAgdGVzdC5zZXRfc3RhdHVzKHRlc3QuRkFJTCwgZS5tZXNzYWdl
LCBzdGFjayk7CisgICAgICAgICAgICAgICAgdmFyIHN0YXR1cyA9IHByZWNvbmRpdGlvbl9mYWls
ZWQgPyB0ZXN0LlBSRUNPTkRJVElPTl9GQUlMRUQgOiB0ZXN0LkZBSUw7CisgICAgICAgICAgICAg
ICAgdGVzdC5zZXRfc3RhdHVzKHN0YXR1cywgbWVzc2FnZSwgc3RhY2spOwogICAgICAgICAgICAg
ICAgIHRlc3QucGhhc2UgPSB0ZXN0LnBoYXNlcy5IQVNfUkVTVUxUOwotICAgICAgICAgICAgICAg
IC8vIFRoZSBmb2xsb3dpbmcgZnVuY3Rpb24gaW52b2NhdGlvbiBpcyBzdXBlcmZsdW91cy4KLSAg
ICAgICAgICAgICAgICAvLyBUT0RPOiBSZW1vdmUuCi0gICAgICAgICAgICAgICAgdGVzdC5kb25l
KCk7CiAgICAgICAgICAgICB9IGVsc2UgaWYgKCF0ZXN0cy5hbGxvd191bmNhdWdodF9leGNlcHRp
b24pIHsKLSAgICAgICAgICAgICAgICB0ZXN0cy5zdGF0dXMuc3RhdHVzID0gdGVzdHMuc3RhdHVz
LkVSUk9SOwotICAgICAgICAgICAgICAgIHRlc3RzLnN0YXR1cy5tZXNzYWdlID0gZS5tZXNzYWdl
OworICAgICAgICAgICAgICAgIHZhciBzdGF0dXMgPSBwcmVjb25kaXRpb25fZmFpbGVkID8gdGVz
dHMuc3RhdHVzLlBSRUNPTkRJVElPTl9GQUlMRUQgOiB0ZXN0cy5zdGF0dXMuRVJST1I7CisgICAg
ICAgICAgICAgICAgdGVzdHMuc3RhdHVzLnN0YXR1cyA9IHN0YXR1czsKKyAgICAgICAgICAgICAg
ICB0ZXN0cy5zdGF0dXMubWVzc2FnZSA9IG1lc3NhZ2U7CiAgICAgICAgICAgICAgICAgdGVzdHMu
c3RhdHVzLnN0YWNrID0gc3RhY2s7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICBkb25lKCk7
CisKKyAgICAgICAgICAgIC8vIERvIG5vdCB0cmFuc2l0aW9uIHRvIHRoZSAiY29tcGxldGUiIHBo
YXNlIGlmIHRoZSB0ZXN0IGhhcyBiZWVuCisgICAgICAgICAgICAvLyBjb25maWd1cmVkIHRvIGFs
bG93IHVuY2F1Z2h0IGV4Y2VwdGlvbnMuIFRoaXMgZ2l2ZXMgdGhlIHRlc3QgYW4KKyAgICAgICAg
ICAgIC8vIG9wcG9ydHVuaXR5IHRvIGRlZmluZSBzdWJ0ZXN0cyBiYXNlZCBvbiB0aGUgZXhjZXB0
aW9uIHJlcG9ydGluZworICAgICAgICAgICAgLy8gYmVoYXZpb3IuCisgICAgICAgICAgICBpZiAo
IXRlc3RzLmFsbG93X3VuY2F1Z2h0X2V4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgIGRvbmUo
KTsKKyAgICAgICAgICAgIH0KICAgICAgICAgfTsKIAotICAgICAgICBhZGRFdmVudExpc3RlbmVy
KCJlcnJvciIsIGVycm9yX2hhbmRsZXIsIGZhbHNlKTsKLSAgICAgICAgYWRkRXZlbnRMaXN0ZW5l
cigidW5oYW5kbGVkcmVqZWN0aW9uIiwgZnVuY3Rpb24oZSl7IGVycm9yX2hhbmRsZXIoZS5yZWFz
b24pOyB9LCBmYWxzZSk7CisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImVycm9yIiwgZnVuY3Rp
b24oZSkgeworICAgICAgICAgICAgdmFyIG1lc3NhZ2UgPSBlLm1lc3NhZ2U7CisgICAgICAgICAg
ICB2YXIgc3RhY2s7CisgICAgICAgICAgICBpZiAoZS5lcnJvciAmJiBlLmVycm9yLnN0YWNrKSB7
CisgICAgICAgICAgICAgICAgc3RhY2sgPSBlLmVycm9yLnN0YWNrOworICAgICAgICAgICAgfSBl
bHNlIHsKKyAgICAgICAgICAgICAgICBzdGFjayA9IGUuZmlsZW5hbWUgKyAiOiIgKyBlLmxpbmVu
byArICI6IiArIGUuY29sbm87CisgICAgICAgICAgICB9CisgICAgICAgICAgICBlcnJvcl9oYW5k
bGVyKGUuZXJyb3IsIG1lc3NhZ2UsIHN0YWNrKTsKKyAgICAgICAgfSwgZmFsc2UpOworCisgICAg
ICAgIGFkZEV2ZW50TGlzdGVuZXIoInVuaGFuZGxlZHJlamVjdGlvbiIsIGZ1bmN0aW9uKGUpIHsK
KyAgICAgICAgICAgIHZhciBtZXNzYWdlOworICAgICAgICAgICAgaWYgKGUucmVhc29uICYmIGUu
cmVhc29uLm1lc3NhZ2UpIHsKKyAgICAgICAgICAgICAgICBtZXNzYWdlID0gIlVuaGFuZGxlZCBy
ZWplY3Rpb246ICIgKyBlLnJlYXNvbi5tZXNzYWdlOworICAgICAgICAgICAgfSBlbHNlIHsKKyAg
ICAgICAgICAgICAgICBtZXNzYWdlID0gIlVuaGFuZGxlZCByZWplY3Rpb24iOworICAgICAgICAg
ICAgfQorICAgICAgICAgICAgdmFyIHN0YWNrOworICAgICAgICAgICAgaWYgKGUucmVhc29uICYm
IGUucmVhc29uLnN0YWNrKSB7CisgICAgICAgICAgICAgICAgc3RhY2sgPSBlLnJlYXNvbi5zdGFj
azsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGVycm9yX2hhbmRsZXIoZS5yZWFzb24sIG1l
c3NhZ2UsIHN0YWNrKTsKKyAgICAgICAgfSwgZmFsc2UpOwogICAgIH0KIAogICAgIHRlc3RfZW52
aXJvbm1lbnQub25fdGVzdHNfcmVhZHkoKTsKQEAgLTM0MzMsNyArMzgzOSw3IEBAIHRhYmxlI3Jl
c3VsdHMge1wKIFwKIHRhYmxlI3Jlc3VsdHMgdGg6Zmlyc3QtY2hpbGQsXAogdGFibGUjcmVzdWx0
cyB0ZDpmaXJzdC1jaGlsZCB7XAotICAgIHdpZHRoOjRlbTtcCisgICAgd2lkdGg6OGVtO1wKIH1c
CiBcCiB0YWJsZSNyZXN1bHRzIHRoOmxhc3QtY2hpbGQsXApAQCAtMzQ3NCw3ICszODgwLDExIEBA
IHRyLm5vdHJ1biA+IHRkOmZpcnN0LWNoaWxkIHtcCiAgICAgY29sb3I6Ymx1ZTtcCiB9XAogXAot
LnBhc3MgPiB0ZDpmaXJzdC1jaGlsZCwgLmZhaWwgPiB0ZDpmaXJzdC1jaGlsZCwgLnRpbWVvdXQg
PiB0ZDpmaXJzdC1jaGlsZCwgLm5vdHJ1biA+IHRkOmZpcnN0LWNoaWxkIHtcCit0ci5wcmVjb25k
aXRpb25mYWlsZWQgPiB0ZDpmaXJzdC1jaGlsZCB7XAorICAgIGNvbG9yOmJsdWU7XAorfVwKK1wK
Ky5wYXNzID4gdGQ6Zmlyc3QtY2hpbGQsIC5mYWlsID4gdGQ6Zmlyc3QtY2hpbGQsIC50aW1lb3V0
ID4gdGQ6Zmlyc3QtY2hpbGQsIC5ub3RydW4gPiB0ZDpmaXJzdC1jaGlsZCwgLnByZWNvbmRpdGlv
bmZhaWxlZCA+IHRkOmZpcnN0LWNoaWxkIHtcCiAgICAgZm9udC12YXJpYW50OnNtYWxsLWNhcHM7
XAogfVwKIFwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzLmhlYWRlcnMgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcy5oZWFkZXJzCmluZGV4IDY4MDVjMzIzZGY1YTk3NTIzMTY0OGI4MzBlMzNjZTE4
M2MzY2JiZDMuLjVlOGY2NDBjNjY1OWQxNzZlYWNhNGM3MWNjMTc5OGI3Mjg1NTQwYjcgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzLmhlYWRlcnMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMu
aGVhZGVycwpAQCAtMSArMSwyIEBACiBDb250ZW50LVR5cGU6IHRleHQvamF2YXNjcmlwdDsgY2hh
cnNldD11dGYtOAorQ2FjaGUtQ29udHJvbDogbWF4LWFnZT0zNjAwCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93M2MtaW1w
b3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3czYy1pbXBvcnQubG9nCmluZGV4IGVjYWI2OGMxYmU4ZjQyNGNhZTJlNWYxYmUwYjUw
MTBkOTljMDJhNmEuLjI5ZTJkZDU3YTJjOTJlZWVmNWVkMzk2NTA2ZTU0NWIyZTA0YmVmZjQgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3czYy1pbXBvcnQubG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3czYy1pbXBvcnQubG9nCkBAIC0xLDcgKzEsNyBAQAog
VGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJl
cG9zaXRvcnkuCiBEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4K
IEluc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKLQlodHRw
czovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cworCWh0dHBzOi8vZ2l0aHViLmNv
bS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0CiAKIFRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2lt
cG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CiAKQEAgLTE2LDExICsxNiwxOCBA
QCBOb25lCiBMaXN0IG9mIGZpbGVzOgogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzLy5odGFjY2VzcwogL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL0xJQ0VOU0UKLS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9PV05FUlMKKy9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9NRVRBLnltbAorL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL1NWR0Fu
aW1hdGlvblRlc3RDYXNlLXRlc3RoYXJuZXNzLmpzCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hlY2stbGF5b3V0LXRoLmpzCiAvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvaWRsaGFybmVz
cy5qcwogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL2lkbGhhcm5lc3MuanMuaGVhZGVycwogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3JlYWRtZS5tZAogL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3NyaWhhcm5lc3MuanMKKy9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0ZHJpdmVy
LWFjdGlvbnMuanMKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy90ZXN0ZHJpdmVyLXZlbmRvci5qcworL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3Rkcml2ZXItdmVuZG9yLmpzLmhlYWRl
cnMKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy90ZXN0ZHJpdmVyLmpzCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvdGVzdGRyaXZlci5qcy5oZWFkZXJzCiAvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuY3NzLmhlYWRl
cnMKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcwogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzLmhlYWRlcnMKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
Q0hBTkdFTE9HLm1kIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi9DSEFOR0VMT0cubWQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDkxZTIyMjc1ZTA3MDBlMWY1NTMxNDhjN2Y1NDE0ZDdjY2FmMGZlMzMuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi9DSEFOR0VMT0cubWQK
KysrIC9kZXYvbnVsbApAQCAtMSwyOTIgKzAsMCBAQAotIyBDaGFuZ2UgTG9nCi0KLSMjIFt2MTAu
Mi4xXShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvdHJlZS92MTAuMi4xKSAoMjAx
OC0wMy0wOSkKLVtGdWxsIENoYW5nZWxvZ10oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwy
LmpzL2NvbXBhcmUvdjEwLjIuMC4uLnYxMC4yLjEpCi0KLSoqTWVyZ2VkIHB1bGwgcmVxdWVzdHM6
KioKLQotLSBPcHRpbWlzZSB0b2tlbmlzYXRpb24gYW5kIHdoaXRlc3BhY2Ugc2tpcHBpbmcgW1wj
MTM5XShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvcHVsbC8xMzkpIChbcmljZWFd
KGh0dHBzOi8vZ2l0aHViLmNvbS9yaWNlYSkpCi0tIHJlZmFjdG9yOiBzbWFsbCBzeW50YXggY2hh
bmdlcyBbXCMxMzddKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9wdWxsLzEzNykg
KFtzYXNjaGFuYXpdKGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNjaGFuYXopKQotCi0jIyBbdjEwLjIu
MF0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL3RyZWUvdjEwLjIuMCkgKDIwMTgt
MDEtMzApCi1bRnVsbCBDaGFuZ2Vsb2ddKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5q
cy9jb21wYXJlL3YxMC4xLjAuLi52MTAuMi4wKQotCi0qKk1lcmdlZCBwdWxsIHJlcXVlc3RzOioq
Ci0KLS0gVHlwZSBvbiB1bmlvbiBpZGxUeXBlIFtcIzEzNV0oaHR0cHM6Ly9naXRodWIuY29tL3cz
Yy93ZWJpZGwyLmpzL3B1bGwvMTM1KSAoW3Nhc2NoYW5hel0oaHR0cHM6Ly9naXRodWIuY29tL3Nh
c2NoYW5heikpCi0tIGZlYXQ6IGFkZCBhcmd1bWVudC9yZXR1cm4gdHlwZSBbXCMxMzRdKGh0dHBz
Oi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9wdWxsLzEzNCkgKFtzYXNjaGFuYXpdKGh0dHBz
Oi8vZ2l0aHViLmNvbS9zYXNjaGFuYXopKQotLSBmZWF0OiBhZGQgZGljdGlvbmFyeS90eXBlZGVm
LXR5cGUgW1wjMTMzXShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvcHVsbC8xMzMp
IChbc2FzY2hhbmF6XShodHRwczovL2dpdGh1Yi5jb20vc2FzY2hhbmF6KSkKLS0gZmVhdDogYWRk
IGNvbnN0LXR5cGUgZm9yIGlkbFR5cGVzICBbXCMxMzJdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mv
d2ViaWRsMi5qcy9wdWxsLzEzMikgKFtzYXNjaGFuYXpdKGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNj
aGFuYXopKQotLSBmZWF0OiBhZGQgdHlwZXMgb24gaWRsVHlwZXMgW1wjMTMxXShodHRwczovL2dp
dGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvcHVsbC8xMzEpIChbc2FzY2hhbmF6XShodHRwczovL2dp
dGh1Yi5jb20vc2FzY2hhbmF6KSkKLS0gQXV0byBhY3F1aXNpdGlvbiBmb3IgcGFyc2VyIHJlc3Vs
dCBjaGFuZ2VzIFtcIzEzMF0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL3B1bGwv
MTMwKSAoW3Nhc2NoYW5hel0oaHR0cHM6Ly9naXRodWIuY29tL3Nhc2NoYW5heikpCi0KLSMjIFt2
MTAuMS4wXShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvdHJlZS92MTAuMS4wKSAo
MjAxOC0wMS0xOSkKLVtGdWxsIENoYW5nZWxvZ10oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJp
ZGwyLmpzL2NvbXBhcmUvdjEwLjAuMC4uLnYxMC4xLjApCi0KLSoqQ2xvc2VkIGlzc3VlczoqKgot
Ci0tIFN1cHBvcnQgYHJhaXNlc2AgYW5kIGBzZXRyYWlzZXNgIFtcIzEyOF0oaHR0cHM6Ly9naXRo
dWIuY29tL3czYy93ZWJpZGwyLmpzL2lzc3Vlcy8xMjgpCi0tIFN1cHBvcnQgYGxlZ2FjeWNhbGxl
cmAgW1wjMTI3XShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvaXNzdWVzLzEyNykK
LS0gSW1wcm92ZSAiTm8gc2VtaWNvbG9uIGFmdGVyIGVudW0iIG1lc3NhZ2UgW1wjMTE5XShodHRw
czovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvaXNzdWVzLzExOSkKLQotKipNZXJnZWQgcHVs
bCByZXF1ZXN0czoqKgotCi0tIExldCBlcnJvciBtZXNzYWdlcyBpbmNsdWRlIHRoZSBjdXJyZW50
IGRlZmluaXRpb24gbmFtZSBbXCMxMjldKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5q
cy9wdWxsLzEyOSkgKFtzYXNjaGFuYXpdKGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNjaGFuYXopKQot
Ci0jIyBbdjEwLjAuMF0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL3RyZWUvdjEw
LjAuMCkgKDIwMTctMTItMjApCi1bRnVsbCBDaGFuZ2Vsb2ddKGh0dHBzOi8vZ2l0aHViLmNvbS93
M2Mvd2ViaWRsMi5qcy9jb21wYXJlL3Y5LjAuMC4uLnYxMC4wLjApCi0KLSoqQ2xvc2VkIGlzc3Vl
czoqKgotCi0tICBBbHdheXMgcmV0dXJuIGFuIGFycmF5IGZvciBpZGxUeXBlLCBldGMuIFtcIzEx
M10oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL2lzc3Vlcy8xMTMpCi0tIE1haW50
YWluIHdyaXRlci5qcyBvciBub3Q/IFtcIzEwOV0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJp
ZGwyLmpzL2lzc3Vlcy8xMDkpCi0KLSoqTWVyZ2VkIHB1bGwgcmVxdWVzdHM6KioKLQotLSBSZW1v
dmUgdHlwZUV4dEF0dHJzIGZyb20gZG9jcyBbXCMxMjRdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mv
d2ViaWRsMi5qcy9wdWxsLzEyNCkgKFtzYXNjaGFuYXpdKGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNj
aGFuYXopKQotLSBSZW1vdmUgaXRlcmF0b3IgZG9jdW1lbnRhdGlvbiBbXCMxMjNdKGh0dHBzOi8v
Z2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9wdWxsLzEyMykgKFtzYXNjaGFuYXpdKGh0dHBzOi8v
Z2l0aHViLmNvbS9zYXNjaGFuYXopKQotLSBNYWludGFpbiB3cml0ZXIuanMgW1wjMTIyXShodHRw
czovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvcHVsbC8xMjIpIChbc2FzY2hhbmF6XShodHRw
czovL2dpdGh1Yi5jb20vc2FzY2hhbmF6KSkKLS0gQlJFQUtJTkcgQ0hBTkdFOiByZW1vdmUgZGVw
cmVjYXRlZCBpdGVyYXRvciBvcGVyYXRpb24gW1wjMTIxXShodHRwczovL2dpdGh1Yi5jb20vdzNj
L3dlYmlkbDIuanMvcHVsbC8xMjEpIChbc2FzY2hhbmF6XShodHRwczovL2dpdGh1Yi5jb20vc2Fz
Y2hhbmF6KSkKLS0gVXNlIGZvci1vZiBvbiB0ZXN0cyBbXCMxMjBdKGh0dHBzOi8vZ2l0aHViLmNv
bS93M2Mvd2ViaWRsMi5qcy9wdWxsLzEyMCkgKFtzYXNjaGFuYXpdKGh0dHBzOi8vZ2l0aHViLmNv
bS9zYXNjaGFuYXopKQotLSBkb2NzXChSRUFETUVcKTogaXRlcmFibGVzIGlsZFR5cGUgaXMgYWx3
YXlzIGFycmF5IFtcIzExOF0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL3B1bGwv
MTE4KSAoW21hcmNvc2NhY2VyZXNdKGh0dHBzOi8vZ2l0aHViLmNvbS9tYXJjb3NjYWNlcmVzKSkK
LQotIyMgW3Y5LjAuMF0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL3RyZWUvdjku
MC4wKSAoMjAxNy0xMS0zMCkKLVtGdWxsIENoYW5nZWxvZ10oaHR0cHM6Ly9naXRodWIuY29tL3cz
Yy93ZWJpZGwyLmpzL2NvbXBhcmUvdjguMS4wLi4udjkuMC4wKQotCi0qKkNsb3NlZCBpc3N1ZXM6
KioKLQotLSBDb2RlIHF1YWxpdHkgW1wjMTE2XShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlk
bDIuanMvaXNzdWVzLzExNikKLS0gVW5hYmxlIHRvIHBhcnNlIEhUTUxBbGxDb2xsZWN0aW9uIGlu
dGVyZmFjZSBbXCMxMTRdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9pc3N1ZXMv
MTE0KQotLSBBZGQgc3VwcG9ydCBmb3IgbWl4aW4gc3ludGF4IFtcIzExMl0oaHR0cHM6Ly9naXRo
dWIuY29tL3czYy93ZWJpZGwyLmpzL2lzc3Vlcy8xMTIpCi0tIFdoaXRlc3BhY2UgaXNzdWVzIFtc
IzExMV0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL2lzc3Vlcy8xMTEpCi0KLSoq
TWVyZ2VkIHB1bGwgcmVxdWVzdHM6KioKLQotLSBDb25zaXN0ZW50IGFycmF5IHR5cGUgZm9yIGl0
ZXJhYmxlLmlkbFR5cGUgW1wjMTE3XShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMv
cHVsbC8xMTcpIChbc2FzY2hhbmF6XShodHRwczovL2dpdGh1Yi5jb20vc2FzY2hhbmF6KSkKLS0g
IFJldmVydCAiY2hvcmU6IGRyb3AgTm9kZSA2IHN1cHBvcnQgXChcIzEwMlwpIiBbXCMxMTVdKGh0
dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9wdWxsLzExNSkgKFtUaW1vdGh5R3VdKGh0
dHBzOi8vZ2l0aHViLmNvbS9UaW1vdGh5R3UpKQotCi0jIyBbdjguMS4wXShodHRwczovL2dpdGh1
Yi5jb20vdzNjL3dlYmlkbDIuanMvdHJlZS92OC4xLjApICgyMDE3LTExLTAzKQotW0Z1bGwgQ2hh
bmdlbG9nXShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvY29tcGFyZS92OC4wLjEu
Li52OC4xLjApCi0KLSoqQ2xvc2VkIGlzc3VlczoqKgotCi0tIEV4dGVuZGVkIEF0dHJpYnV0ZXMg
YHJoc2Agc2hvdWxkIGFsd2F5cyBiZSB0aGVyZSBbXCM5Nl0oaHR0cHM6Ly9naXRodWIuY29tL3cz
Yy93ZWJpZGwyLmpzL2lzc3Vlcy85NikKLQotKipNZXJnZWQgcHVsbCByZXF1ZXN0czoqKgotCi0t
IEFsd2F5cyBhZGQgcmhzIHByb3BlcnR5IFtcIzExMF0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93
ZWJpZGwyLmpzL3B1bGwvMTEwKSAoW3Nhc2NoYW5hel0oaHR0cHM6Ly9naXRodWIuY29tL3Nhc2No
YW5heikpCi0KLSMjIFt2OC4wLjFdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy90
cmVlL3Y4LjAuMSkgKDIwMTctMTEtMDMpCi1bRnVsbCBDaGFuZ2Vsb2ddKGh0dHBzOi8vZ2l0aHVi
LmNvbS93M2Mvd2ViaWRsMi5qcy9jb21wYXJlL3Y4LjAuMC4uLnY4LjAuMSkKLQotKipGaXhlZCBi
dWdzOioqCi0KLS0gQ29tbWVudCBvcmRlciBwYXJzaW5nIGJ1ZyAgW1wjMTA3XShodHRwczovL2dp
dGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvaXNzdWVzLzEwNykKLQotKipNZXJnZWQgcHVsbCByZXF1
ZXN0czoqKgotCi0tIFJlbW92ZSBtIHBvc3RmaXggZnJvbSBhbGxcX3dzXChcKSBbXCMxMDhdKGh0
dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9wdWxsLzEwOCkgKFtzYXNjaGFuYXpdKGh0
dHBzOi8vZ2l0aHViLmNvbS9zYXNjaGFuYXopKQotCi0jIyBbdjguMC4wXShodHRwczovL2dpdGh1
Yi5jb20vdzNjL3dlYmlkbDIuanMvdHJlZS92OC4wLjApICgyMDE3LTExLTAzKQotW0Z1bGwgQ2hh
bmdlbG9nXShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvY29tcGFyZS92Ny4wLjAu
Li52OC4wLjApCi0KLSoqQ2xvc2VkIGlzc3VlczoqKgotCi0tIFJlbW92ZSBjcmVhdG9ycyBzdXBw
b3J0IFtcIzEwMF0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL2lzc3Vlcy8xMDAp
Ci0tIEFkZCBtaXhpbiBzdXBwb3J0IFtcIzkyXShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlk
bDIuanMvaXNzdWVzLzkyKQotCi0qKk1lcmdlZCBwdWxsIHJlcXVlc3RzOioqCi0KLS0gU3VwcG9y
dCBtaXhpbnMgKyBpbmNsdWRlcyBzdGF0ZW1lbnRzIFtcIzEwNV0oaHR0cHM6Ly9naXRodWIuY29t
L3czYy93ZWJpZGwyLmpzL3B1bGwvMTA1KSAoW3Nhc2NoYW5hel0oaHR0cHM6Ly9naXRodWIuY29t
L3Nhc2NoYW5heikpCi0tIGNob3JlOiBkcm9wIE5vZGUgNiBzdXBwb3J0IFtcIzEwMl0oaHR0cHM6
Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL3B1bGwvMTAyKSAoW21hcmNvc2NhY2VyZXNdKGh0
dHBzOi8vZ2l0aHViLmNvbS9tYXJjb3NjYWNlcmVzKSkKLS0gQlJFQUtJTkcgQ0hBTkdFOiBkcm9w
IGNyZWF0b3Igc3VwcG9ydCBbXCMxMDFdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5q
cy9wdWxsLzEwMSkgKFtzYXNjaGFuYXpdKGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNjaGFuYXopKQot
LSBOb3JtYWxpemUgc29tZSB3aGl0ZXNwYWNlIHRvIHBhc3Mgd3B0J3MgbGludCBbXCM5OV0oaHR0
cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL3B1bGwvOTkpIChbZm9vbGlwXShodHRwczov
L2dpdGh1Yi5jb20vZm9vbGlwKSkKLQotIyMgW3Y3LjAuMF0oaHR0cHM6Ly9naXRodWIuY29tL3cz
Yy93ZWJpZGwyLmpzL3RyZWUvdjcuMC4wKSAoMjAxNy0xMC0yNykKLVtGdWxsIENoYW5nZWxvZ10o
aHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL2NvbXBhcmUvdjYuMS4wLi4udjcuMC4w
KQotCi0qKkNsb3NlZCBpc3N1ZXM6KioKLQotLSBUeXBlIGNvbnZlcnNpb24gb24gZGVmYXVsdCB2
YWx1ZXMgaXMgZGVzdHJ1Y3RpdmUgIFtcIzk0XShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlk
bDIuanMvaXNzdWVzLzk0KQotLSBleHRlbmRlZCBhdHRyaWJ1dGUgc3RydWN0dXJlIG1pc3Npbmcg
dHlwZSBbXCM4OV0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL2lzc3Vlcy84OSkK
LQotKipNZXJnZWQgcHVsbCByZXF1ZXN0czoqKgotCi0tICBCUkVBS0lORyBDSEFOR0U6IGFyZ3Vt
ZW50ICsgZGVmYXVsdCB0eXBlcyBzaG91bGQgYmUgc3RyaW5nIFtcIzk1XShodHRwczovL2dpdGh1
Yi5jb20vdzNjL3dlYmlkbDIuanMvcHVsbC85NSkgKFttYXJjb3NjYWNlcmVzXShodHRwczovL2dp
dGh1Yi5jb20vbWFyY29zY2FjZXJlcykpCi0KLSMjIFt2Ni4xLjBdKGh0dHBzOi8vZ2l0aHViLmNv
bS93M2Mvd2ViaWRsMi5qcy90cmVlL3Y2LjEuMCkgKDIwMTctMTAtMjMpCi1bRnVsbCBDaGFuZ2Vs
b2ddKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9jb21wYXJlL3Y2LjAuMS4uLnY2
LjEuMCkKLQotKipNZXJnZWQgcHVsbCByZXF1ZXN0czoqKgotCi0tIGZlYXQ6IGdpdmUgZXh0ZW5k
ZWQgYXR0cmlidXRlcyBhIHR5cGUgW1wjOTBdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRs
Mi5qcy9wdWxsLzkwKSAoW21hcmNvc2NhY2VyZXNdKGh0dHBzOi8vZ2l0aHViLmNvbS9tYXJjb3Nj
YWNlcmVzKSkKLQotIyMgW3Y2LjAuMV0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpz
L3RyZWUvdjYuMC4xKSAoMjAxNy0xMC0xOCkKLVtGdWxsIENoYW5nZWxvZ10oaHR0cHM6Ly9naXRo
dWIuY29tL3czYy93ZWJpZGwyLmpzL2NvbXBhcmUvdjYuMC4wLi4udjYuMC4xKQotCi0qKkNsb3Nl
ZCBpc3N1ZXM6KioKLQotLSBFbnVtIHZhbHVlcyBzaG91bGQgYmUgb2JqZWN0cyBbXCM4Nl0oaHR0
cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL2lzc3Vlcy84NikKLQotKipNZXJnZWQgcHVs
bCByZXF1ZXN0czoqKgotCi0tIFVzZSBFUzIwMTUgc3ludGF4IGZvciB0ZXN0cyBbXCM4OF0oaHR0
cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL3B1bGwvODgpIChbc2FzY2hhbmF6XShodHRw
czovL2dpdGh1Yi5jb20vc2FzY2hhbmF6KSkKLQotIyMgW3Y2LjAuMF0oaHR0cHM6Ly9naXRodWIu
Y29tL3czYy93ZWJpZGwyLmpzL3RyZWUvdjYuMC4wKSAoMjAxNy0xMC0xNykKLVtGdWxsIENoYW5n
ZWxvZ10oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL2NvbXBhcmUvdjUuMC4wLi4u
djYuMC4wKQotCi0qKk1lcmdlZCBwdWxsIHJlcXVlc3RzOioqCi0KLS0gQlJFQUtJTkcgQ0hBTkdF
OiByZXQgZW51bSB2YWx1ZSBhcyBvYmplY3QgW1wjODddKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mv
d2ViaWRsMi5qcy9wdWxsLzg3KSAoW21hcmNvc2NhY2VyZXNdKGh0dHBzOi8vZ2l0aHViLmNvbS9t
YXJjb3NjYWNlcmVzKSkKLQotIyMgW3Y1LjAuMF0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJp
ZGwyLmpzL3RyZWUvdjUuMC4wKSAoMjAxNy0xMC0xNykKLVtGdWxsIENoYW5nZWxvZ10oaHR0cHM6
Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL2NvbXBhcmUvdjQuMi4wLi4udjUuMC4wKQotCi0q
KkNsb3NlZCBpc3N1ZXM6KioKLQotLSBVbmFibGUgdG8gcGFyc2UgYW5ub3RhdGVkIHR5cGVzIGlu
IGdlbmVyaWNzIFtcIzgzXShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvaXNzdWVz
LzgzKQotLSBEcm9wIHN1cHBvcnQgZm9yIE5vZGUgNCwgbW92ZSB0byA2IExUUyBbXCM4Ml0oaHR0
cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL2lzc3Vlcy84MikKLQotKipNZXJnZWQgcHVs
bCByZXF1ZXN0czoqKgotCi0tIEJSRUFLSU5HIENIQU5HRTogVXNlIEVTMjAxNSBzeW50YXggW1wj
ODRdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9wdWxsLzg0KSAoW3Nhc2NoYW5h
el0oaHR0cHM6Ly9naXRodWIuY29tL3Nhc2NoYW5heikpCi0KLSMjIFt2NC4yLjBdKGh0dHBzOi8v
Z2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy90cmVlL3Y0LjIuMCkgKDIwMTctMTAtMTYpCi1bRnVs
bCBDaGFuZ2Vsb2ddKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9jb21wYXJlL3Y0
LjEuMC4uLnY0LjIuMCkKLQotKipDbG9zZWQgaXNzdWVzOioqCi0KLS0gUmVtb3ZlIGxlZ2FjeSBj
YWxsZXIgc3VwcG9ydCBbXCM3OF0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL2lz
c3Vlcy83OCkKLS0gU2hvdWxkIHJlcG9ydCBlcnJvciBmb3IgdXNpbmcgZHVwbGljYXRlIG5hbWVz
IFtcIzc3XShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvaXNzdWVzLzc3KQotCi0q
Kk1lcmdlZCBwdWxsIHJlcXVlc3RzOioqCi0KLS0gQ2hlY2sgZHVwbGljYXRlZCBuYW1lcyBbXCM4
MF0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL3B1bGwvODApIChbc2FzY2hhbmF6
XShodHRwczovL2dpdGh1Yi5jb20vc2FzY2hhbmF6KSkKLS0gUmVtb3ZlIGxlZ2FjeWNhbGxlciBb
XCM3OV0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL3B1bGwvNzkpIChbc2FzY2hh
bmF6XShodHRwczovL2dpdGh1Yi5jb20vc2FzY2hhbmF6KSkKLS0gQWRkICJzZXF1ZW5jZSIgcHJv
cGVydHkgdG8gSURMIFR5cGUgQVNUIGRlZmluaXRpb24gW1wjNzZdKGh0dHBzOi8vZ2l0aHViLmNv
bS93M2Mvd2ViaWRsMi5qcy9wdWxsLzc2KSAoW2xlcm91Y2hlXShodHRwczovL2dpdGh1Yi5jb20v
bGVyb3VjaGUpKQotCi0jIyBbdjQuMS4wXShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIu
anMvdHJlZS92NC4xLjApICgyMDE3LTA3LTA0KQotW0Z1bGwgQ2hhbmdlbG9nXShodHRwczovL2dp
dGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvY29tcGFyZS92NC4wLjAuLi52NC4xLjApCi0KLSoqQ2xv
c2VkIGlzc3VlczoqKgotCi0tIFBhcnNpbmcgZXJyb3IgZm9yIGFubm9uYXRlZCBpbm5lciB0eXBl
cyBvZiBnZW5lcmljIHR5cGVzIFtcIzcxXShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIu
anMvaXNzdWVzLzcxKQotCi0qKk1lcmdlZCBwdWxsIHJlcXVlc3RzOioqCi0KLS0gU3VwcG9ydCBU
eXBlV2l0aEV4dGVuZGVkQXR0cmlidXRlcyBvbiBnZW5lcmljcyBbXCM3NV0oaHR0cHM6Ly9naXRo
dWIuY29tL3czYy93ZWJpZGwyLmpzL3B1bGwvNzUpIChbc2FzY2hhbmF6XShodHRwczovL2dpdGh1
Yi5jb20vc2FzY2hhbmF6KSkKLQotIyMgW3Y0LjAuMF0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93
ZWJpZGwyLmpzL3RyZWUvdjQuMC4wKSAoMjAxNy0wNi0yNykKLVtGdWxsIENoYW5nZWxvZ10oaHR0
cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL2NvbXBhcmUvdjMuMC4yLi4udjQuMC4wKQot
Ci0qKkNsb3NlZCBpc3N1ZXM6KioKLQotLSBSZW1vdmUgc2VyaWFsaXplci1yZWxhdGVkIHByb2R1
Y3Rpb25zIFtcIzczXShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvaXNzdWVzLzcz
KQotLSBSZWNvcmRzIGRvbid0IHNlZW0gdG8gYmUgd29ya2luZyByaWdodCBbXCM3Ml0oaHR0cHM6
Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL2lzc3Vlcy83MikKLS0gRG9jdW1lbnQgbmFtZXNw
YWNlIG1lbWJlciBvdXRwdXQgW1wjNTldKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5q
cy9pc3N1ZXMvNTkpCi0KLSoqTWVyZ2VkIHB1bGwgcmVxdWVzdHM6KioKLQotLSBCUkVBS0lORyBD
SEFOR0U6IHJlbW92ZSBzZXJpYWxpemVycyBcKGNsb3NlcyBcIzczXCkgW1wjNzRdKGh0dHBzOi8v
Z2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9wdWxsLzc0KSAoW21hcmNvc2NhY2VyZXNdKGh0dHBz
Oi8vZ2l0aHViLmNvbS9tYXJjb3NjYWNlcmVzKSkKLS0gQWRkIGRvY3VtZW50YXRpb24gZm9yIG5h
bWVzcGFjZXMgW1wjNzBdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9wdWxsLzcw
KSAoW3Nhc2NoYW5hel0oaHR0cHM6Ly9naXRodWIuY29tL3Nhc2NoYW5heikpCi0KLSMjIFt2My4w
LjJdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy90cmVlL3YzLjAuMikgKDIwMTct
MDUtMjkpCi1bRnVsbCBDaGFuZ2Vsb2ddKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5q
cy9jb21wYXJlL3YzLjAuMS4uLnYzLjAuMikKLQotKipDbG9zZWQgaXNzdWVzOioqCi0KLS0gV2hp
dGVzcGFjZSBpc3N1ZXMgW1wjNjRdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9p
c3N1ZXMvNjQpCi0KLSoqTWVyZ2VkIHB1bGwgcmVxdWVzdHM6KioKLQotLSBUZXN0IGZvciBsYXRl
c3QgTFRTL3N0YWJsZSBub2RlIHZlcnNpb25zIFtcIzY5XShodHRwczovL2dpdGh1Yi5jb20vdzNj
L3dlYmlkbDIuanMvcHVsbC82OSkgKFtzYXNjaGFuYXpdKGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNj
aGFuYXopKQotCi0jIyBbdjMuMC4xXShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMv
dHJlZS92My4wLjEpICgyMDE3LTA1LTE4KQotW0Z1bGwgQ2hhbmdlbG9nXShodHRwczovL2dpdGh1
Yi5jb20vdzNjL3dlYmlkbDIuanMvY29tcGFyZS92Mi40LjAuLi52My4wLjEpCi0KLSoqQ2xvc2Vk
IGlzc3VlczoqKgotCi0tIElzIGFycmF5IHN5bnRheCBkZWFkPyBbXCM2Nl0oaHR0cHM6Ly9naXRo
dWIuY29tL3czYy93ZWJpZGwyLmpzL2lzc3Vlcy82NikKLS0gUmVtb3ZlIGV4Y2VwdGlvbnMgc3Vw
cG9ydCBbXCM2NV0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL2lzc3Vlcy82NSkK
LQotKipNZXJnZWQgcHVsbCByZXF1ZXN0czoqKgotCi0tIEZpeCB3aGl0ZXNwYWNlIGVycm9yIG9u
IHBhcnNpbmcgZXh0ZW5kZWQgYXR0cmlidXRlcyBbXCM2OF0oaHR0cHM6Ly9naXRodWIuY29tL3cz
Yy93ZWJpZGwyLmpzL3B1bGwvNjgpIChbc2FzY2hhbmF6XShodHRwczovL2dpdGh1Yi5jb20vc2Fz
Y2hhbmF6KSkKLS0gUmVtb3ZlIGRlcHJlY2F0ZWQgSURMIGFycmF5cyBhbmQgZXhjZXB0aW9ucyBb
XCM2N10oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL3B1bGwvNjcpIChbc2FzY2hh
bmF6XShodHRwczovL2dpdGh1Yi5jb20vc2FzY2hhbmF6KSkKLQotIyMgW3YyLjQuMF0oaHR0cHM6
Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL3RyZWUvdjIuNC4wKSAoMjAxNy0wNC0xMikKLVtG
dWxsIENoYW5nZWxvZ10oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL2NvbXBhcmUv
djIuMS4wLi4udjIuNC4wKQotCi0qKkNsb3NlZCBpc3N1ZXM6KioKLQotLSBBZGQgc3VwcG9ydCBm
b3IgQW5ub3RhdGVkIFR5cGVzIFtcIzYwXShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIu
anMvaXNzdWVzLzYwKQotLSBRdWVzdGlvbjogQ29udmVydCBXZWJJREwgLVw+IEphdmFzY3JpcHQg
W1wjNTZdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9pc3N1ZXMvNTYpCi0tIEdl
dCBSb2JpbiB0byBnaXZlIHVzIHB1c2ggcGVybWlzc2lvbnMgb24gbnBtIFtcIzU0XShodHRwczov
L2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvaXNzdWVzLzU0KQotLSBBZGQgc3VwcG9ydCBmb3Ig
cmVjb3JkcyBbXCM1M10oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL2lzc3Vlcy81
MykKLS0gbW9kdWxlIG5vdCBzdXBwb3J0ZWQ/IFtcIzUyXShodHRwczovL2dpdGh1Yi5jb20vdzNj
L3dlYmlkbDIuanMvaXNzdWVzLzUyKQotLSBBZGQgc3VwcG9ydCBmb3IgbmFtZXNwYWNlcyBbXCM1
MV0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL2lzc3Vlcy81MSkKLS0gRXhwb3J0
IGlzIG5vdCBBTUQgY29tcGF0aWJsZSBbXCM0OF0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJp
ZGwyLmpzL2lzc3Vlcy80OCkKLS0gQ2FuJ3QgcmVwcmVzZW50IGxhcmdlIGNvbnN0YW50cyBbXCMy
MV0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL2lzc3Vlcy8yMSkKLQotKipNZXJn
ZWQgcHVsbCByZXF1ZXN0czoqKgotCi0tIFVwZGF0ZSB3ZWJpZGwyLmpzIFtcIzYzXShodHRwczov
L2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvcHVsbC82MykgKFt0cWV0b10oaHR0cHM6Ly9naXRo
dWIuY29tL3RxZXRvKSkKLS0gUmVtb3ZlIHN1cHBvcnQgZm9yIE1hcENsYXNzIFwobm8gbG9uZ2Vy
IHZhbGlkIGluIFdlYklETFwpIFtcIzYyXShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIu
anMvcHVsbC82MikgKFtkb250Y2FsbG1lZG9tXShodHRwczovL2dpdGh1Yi5jb20vZG9udGNhbGxt
ZWRvbSkpCi0tIEFkZCBzdXBwb3J0IGZvciBhbm5vdGF0ZWQgdHlwZXMgW1wjNjFdKGh0dHBzOi8v
Z2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9wdWxsLzYxKSAoW2RvbnRjYWxsbWVkb21dKGh0dHBz
Oi8vZ2l0aHViLmNvbS9kb250Y2FsbG1lZG9tKSkKLS0gU3VwcG9ydCBuYW1lc3BhY2VzIFtcIzU4
XShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvcHVsbC81OCkgKFtzYXNjaGFuYXpd
KGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNjaGFuYXopKQotLSBBZGQgc3VwcG9ydCBmb3IgcmVjb3Jk
cyBbXCM1N10oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL3B1bGwvNTcpIChbVGlt
b3RoeUd1XShodHRwczovL2dpdGh1Yi5jb20vVGltb3RoeUd1KSkKLS0gUmVmYWN0b3IgW1wjNTBd
KGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9wdWxsLzUwKSAoW21hcmNvc2NhY2Vy
ZXNdKGh0dHBzOi8vZ2l0aHViLmNvbS9tYXJjb3NjYWNlcmVzKSkKLS0gZmVhdFwobGliXCk6IGFk
ZCBBTUQgZXhwb3J0IHN1cHBvcnQgXChjbG9zZXMgXCM0OFwpIFtcIzQ5XShodHRwczovL2dpdGh1
Yi5jb20vdzNjL3dlYmlkbDIuanMvcHVsbC80OSkgKFttYXJjb3NjYWNlcmVzXShodHRwczovL2dp
dGh1Yi5jb20vbWFyY29zY2FjZXJlcykpCi0KLSMjIFt2Mi4xLjBdKGh0dHBzOi8vZ2l0aHViLmNv
bS93M2Mvd2ViaWRsMi5qcy90cmVlL3YyLjEuMCkgKDIwMTYtMDgtMTIpCi0qKkNsb3NlZCBpc3N1
ZXM6KioKLQotLSBFeGNlcHRpb24gd2hlbiBwYXJzaW5nIHRlc3Qvc3ludGF4L2lkbC90eXBlZGVm
LndpZGwgW1wjNDZdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9pc3N1ZXMvNDYp
Ci0tIFdyb25nIGpzb25kaWZmcGF0Y2ggbG9jYXRpb24gW1wjNDJdKGh0dHBzOi8vZ2l0aHViLmNv
bS93M2Mvd2ViaWRsMi5qcy9pc3N1ZXMvNDIpCi0tICducG0gaW5zdGFsbCcgZmFpbHMgb24gYnVp
bGRpbmcgbWljcm90aW1lIFtcIzQwXShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMv
aXNzdWVzLzQwKQotLSBDYW4ndCByZXByZXNlbnQgdW5pb24gdHlwZXMgaW4gdHlwZWRlZnMgW1wj
MzhdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9pc3N1ZXMvMzgpCi0tIHRva2Vu
aXNlXChcKSBhc3N1bWVzIGEgc3BlY2lmaWMgcHJvcGVydHkgZW51bWVyYXRpb24gb3JkZXIgW1wj
MjddKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9pc3N1ZXMvMjcpCi0tIEFkZCBz
dXBwb3J0IGZvciBpdGVyYWJsZVw8XD4sIG1hcGxpa2VcPFw+LCBzZXRsaWtlXDxcPiBkZWNsYXJh
dGlvbnMgW1wjMjRdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9pc3N1ZXMvMjQp
Ci0tIFdlYklETDIgZmFpbHMgdG8gcGFyc2UgYGF0dHJpYnV0ZSBQcm9taXNlXDxET01TdHJpbmdc
PlxbXF0gYmF6YCBbXCMxOV0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL2lzc3Vl
cy8xOSkKLS0gU3VwcG9ydCBmb3IgRXh0ZW5kZWRBdHRyaWJ1dGVJZGVudExpc3QgXChjdXJyZW50
IGVkaXRvcidzIGRyYWZ0XCkgW1wjMThdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5q
cy9pc3N1ZXMvMTgpCi0tIE5vIExpY2Vuc2luZyBJbmZvcm1hdGlvbiBbXCMxN10oaHR0cHM6Ly9n
aXRodWIuY29tL3czYy93ZWJpZGwyLmpzL2lzc3Vlcy8xNykKLS0gaG93IHRvIHJlZ2VuZXJhdGUg
dzNjIGlkbCBmaWxlcyA/IFtcIzE0XShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMv
aXNzdWVzLzE0KQotLSBXaGF0IGlzIGxpYi93cml0ZXIuanMgW1wjMTNdKGh0dHBzOi8vZ2l0aHVi
LmNvbS93M2Mvd2ViaWRsMi5qcy9pc3N1ZXMvMTMpCi0tIE51bWVyb3VzIHRlc3RzIGFyZSBmYWls
aW5nIFtcIzddKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9pc3N1ZXMvNykKLS0g
QWRkIHN1cHBvcnQgZm9yIG1pc3NpbmcgdHlwZXMgaW4gU2VydmljZVdvcmtlciBbXCM1XShodHRw
czovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvaXNzdWVzLzUpCi0tIEhvdyBjYW4gSSBwYXJz
ZSBqdXN0IGEgZnVuY3Rpb24/IFtcIzNdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5q
cy9pc3N1ZXMvMykKLS0gUGFyc2VyIHRocm93cyBvbiBudWxsYWJsZSBhcnJheSBvZiBudWxsYWJs
ZSBhcnJheSBbXCMyXShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvaXNzdWVzLzIp
Ci0tIFBhcnNlciB0aHJvd3Mgb24gbnVsbGFibGUgYXJyYXkgb2YgYW55IFtcIzFdKGh0dHBzOi8v
Z2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9pc3N1ZXMvMSkKLQotKipNZXJnZWQgcHVsbCByZXF1
ZXN0czoqKgotCi0tIEZpeCAiZGVmYXVsdCI6IHVuZGVmaW5lZCBbXCM0N10oaHR0cHM6Ly9naXRo
dWIuY29tL3czYy93ZWJpZGwyLmpzL3B1bGwvNDcpIChbbWt3dHlzXShodHRwczovL2dpdGh1Yi5j
b20vbWt3dHlzKSkKLS0gUmVwbGFjZSBleHBlY3QuanMgd2l0aCBleHBjdCBbXCM0NV0oaHR0cHM6
Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL3B1bGwvNDUpIChbaGFsdG9uXShodHRwczovL2dp
dGh1Yi5jb20vaGFsdG9uKSkKLS0gQ29ycmVjdCBqc29uZGlmZnBhdGNoIGxvY2F0aW9uLiBbXCM0
NF0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL3B1bGwvNDQpIChbaGFsdG9uXSho
dHRwczovL2dpdGh1Yi5jb20vaGFsdG9uKSkKLS0gQnVtcCBtaWNyb3RpbWUgdG8gMi4xLjEgW1wj
NDNdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9wdWxsLzQzKSAoW2hhbHRvbl0o
aHR0cHM6Ly9naXRodWIuY29tL2hhbHRvbikpCi0tIEV4cGFuZCB3cml0ZXIgc3VwcG9ydCBbXCMz
OV0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL3B1bGwvMzkpIChbbWFya2FuZHJ1
c10oaHR0cHM6Ly9naXRodWIuY29tL21hcmthbmRydXMpKQotLSBBY2NlcHQgd2lkZXIgXChidXQg
c3RpbGwgaW5jb21wbGV0ZVwpIHNldCBvZiBhbGxvd2VkIHN5bnRheCBmb3IgZXh0ZW5kZWQgYXR0
cmlidXRlcyBbXCMzN10oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL3B1bGwvMzcp
IChbbWxvZ2FuXShodHRwczovL2dpdGh1Yi5jb20vbWxvZ2FuKSkKLS0gQWRkIHRlc3QgZm9yIGNh
bGxiYWNrIHdpdGggbXVsdGlwbGUgYXJndW1lbnRzLiBbXCMzNl0oaHR0cHM6Ly9naXRodWIuY29t
L3czYy93ZWJpZGwyLmpzL3B1bGwvMzYpIChbdG9iaWVdKGh0dHBzOi8vZ2l0aHViLmNvbS90b2Jp
ZSkpCi0tIEl0ZXJhYmxlcyBbXCMzNF0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpz
L3B1bGwvMzQpIChbbW90aXo4OF0oaHR0cHM6Ly9naXRodWIuY29tL21vdGl6ODgpKQotLSBBbGxv
dyB0cmFpbGluZyBjb21tYSBpbiBlbnVtIHZhbHVlIGxpc3RzLCBwZXIgc3BlYyBbXCMzM10oaHR0
cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL3B1bGwvMzMpIChbbW90aXo4OF0oaHR0cHM6
Ly9naXRodWIuY29tL21vdGl6ODgpKQotLSBBbGxvdyB0eXBlZGVmcyB3aXRoaW4gaW50ZXJmYWNl
cyBcKGJlaGluZCBhbiBvcHQtaW4gZmxhZ1wpIFtcIzMyXShodHRwczovL2dpdGh1Yi5jb20vdzNj
L3dlYmlkbDIuanMvcHVsbC8zMikgKFttb3Rpejg4XShodHRwczovL2dpdGh1Yi5jb20vbW90aXo4
OCkpCi0tIEluIGRyYWZ0IFtcIzMxXShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMv
cHVsbC8zMSkgKFtvdGhyZWVdKGh0dHBzOi8vZ2l0aHViLmNvbS9vdGhyZWUpKQotLSBBZGQgc3Vw
cG9ydCBmb3IgZXh0ZW5kZWQgYXR0cmlidXRlcyBpZGVudGlmaWVyIGxpc3RzIFtcIzI5XShodHRw
czovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvcHVsbC8yOSkgKFt0b2JpZV0oaHR0cHM6Ly9n
aXRodWIuY29tL3RvYmllKSkKLS0gTWFrZSBgYXR0cmlidXRlIFByb21pc2VcPFRcPlxbXF0gYXR0
cjtgIHdvcmsuIFtcIzI2XShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvcHVsbC8y
NikgKFtqeWFzc2tpbl0oaHR0cHM6Ly9naXRodWIuY29tL2p5YXNza2luKSkKLS0gUGFyc2UgcmVx
dWlyZWQgZGljdGlvbmFyeSBmaWVsZHMuIFtcIzI1XShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dl
YmlkbDIuanMvcHVsbC8yNSkgKFtqeWFzc2tpbl0oaHR0cHM6Ly9naXRodWIuY29tL2p5YXNza2lu
KSkKLS0gRGVmaW5lIHRoZSBXZWJJREwyIHByb3BlcnR5IG9uIHNlbGYgcmF0aGVyIHRoYW4gd2lu
ZG93LiBbXCMyM10oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL3B1bGwvMjMpIChb
TXMyZ2VyXShodHRwczovL2dpdGh1Yi5jb20vTXMyZ2VyKSkKLS0gVGVhY2ggV2ViSURMMiB0byBw
YXJzZSBcW1xdIGRlZmF1bHQgdmFsdWVzLiBbXCMyMl0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93
ZWJpZGwyLmpzL3B1bGwvMjIpIChbanlhc3NraW5dKGh0dHBzOi8vZ2l0aHViLmNvbS9qeWFzc2tp
bikpCi0tIFN1cHBvcnQgSUQgbGlzdCBpbiBleHRlbmRlZCBhdHRyaWJ1dGVzIFtcIzIwXShodHRw
czovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvcHVsbC8yMCkgKFtvdGhyZWVdKGh0dHBzOi8v
Z2l0aHViLmNvbS9vdGhyZWUpKQotLSBNYWtlIHN1cmUgdGhhdCBgc2VxdWVuY2VgIHByb3BlcnR5
IG9mIGlkbCB0eXBlcyBpcyBzZXQgdG8gZmFsc2UgaWYgdGhlIHR5cGUgaXMgYWN0dWFsbHkgYHNl
cXVlbmNlYC4gW1wjMTZdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9wdWxsLzE2
KSAoW3RvYmllXShodHRwczovL2dpdGh1Yi5jb20vdG9iaWUpKQotLSBQYXJhbWV0cml6ZWQgW1wj
MTVdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9wdWxsLzE1KSAoW3RvYmllXSho
dHRwczovL2dpdGh1Yi5jb20vdG9iaWUpKQotLSBBZGQgcHJvbWlzZSBzdXBwb3J0IFtcIzEyXSho
dHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvcHVsbC8xMikgKFt0b2JpZV0oaHR0cHM6
Ly9naXRodWIuY29tL3RvYmllKSkKLS0gUmVtb3ZlIGJyb2tlbiBjb3ZlcmFnZSBzdXBwb3J0IGZy
b20gdHJhdmlzIGZvciBub3cuIFtcIzExXShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIu
anMvcHVsbC8xMSkgKFt0b2JpZV0oaHR0cHM6Ly9naXRodWIuY29tL3RvYmllKSkKLS0gQWRkIHN1
cHBvcnQgZm9yIFxbTWFwQ2xhc3NcKHR5cGUsIHR5cGVcKVxdLiBbXCMxMF0oaHR0cHM6Ly9naXRo
dWIuY29tL3czYy93ZWJpZGwyLmpzL3B1bGwvMTApIChbdG9iaWVdKGh0dHBzOi8vZ2l0aHViLmNv
bS90b2JpZSkpCi0tIEluY29ycG9yYXRlIHRlc3RzIGZyb20gd2lkbHByb2NcWzFcXSBhbmQgcmVt
b3ZlIGRlcGVuZGVuY3kgb24gc2FpZCBwcm9qZWN0LiBbXCM5XShodHRwczovL2dpdGh1Yi5jb20v
dzNjL3dlYmlkbDIuanMvcHVsbC85KSAoW3RvYmllXShodHRwczovL2dpdGh1Yi5jb20vdG9iaWUp
KQotLSBSRUFETUUgaW5jb3JyZWN0bHkgcmVjb21tZW5kZWQgdXBkYXRpbmcgdGhlIHdpZGxwcm9j
IHN1Ym1vZHVsZS4gW1wjOF0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL3B1bGwv
OCkgKFt0b2JpZV0oaHR0cHM6Ly9naXRodWIuY29tL3RvYmllKSkKLS0gRml4IGJ1ZyB3aGVyZSBp
bnN0cnVtZW50ZWQgdmVyc2lvbiBvZiB3ZWJpZGwyIHdhcyBsb2FkZWQuIFtcIzZdKGh0dHBzOi8v
Z2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9wdWxsLzYpIChbdG9iaWVdKGh0dHBzOi8vZ2l0aHVi
LmNvbS90b2JpZSkpCi0tIFVzZSBodHRwczovLyBpbnN0ZWFkIG9mIGdpdDovLyBbXCM0XShodHRw
czovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvcHVsbC80KSAoW01hbmlzaGVhcnRoXShodHRw
czovL2dpdGh1Yi5jb20vTWFuaXNoZWFydGgpKQotCi0KLQotXCogKlRoaXMgQ2hhbmdlIExvZyB3
YXMgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYnkgW2dpdGh1Yl9jaGFuZ2Vsb2dfZ2VuZXJhdG9y
XShodHRwczovL2dpdGh1Yi5jb20vc2t5d2luZGVyL0dpdGh1Yi1DaGFuZ2Vsb2ctR2VuZXJhdG9y
KSoKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL0xJQ0VOU0Ug
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL0xJQ0VOU0UKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGZkMjFkNDM5YjA5
YThkMDhkMTU2MjU1M2U0NmI5Yzk5M2M0NmMxMDMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi9MSUNFTlNFCisrKyAvZGV2L251bGwKQEAgLTEsMjEg
KzAsMCBAQAotVGhlIE1JVCBMaWNlbnNlIChNSVQpCi0KLUNvcHlyaWdodCAoYykgMjAxNCBSb2Jp
biBCZXJqb24KLQotUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2Us
IHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weQotb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNz
b2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksIHRvIGRlYWwKLWlu
IHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1p
dGF0aW9uIHRoZSByaWdodHMKLXRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwg
ZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwKLWNvcGllcyBvZiB0aGUgU29mdHdh
cmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcwotZnVybmlz
aGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKLQotVGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwg
YmUgaW5jbHVkZWQgaW4gYWxsCi1jb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhl
IFNvZnR3YXJlLgotCi1USEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBX
QVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgotSU1QTElFRCwgSU5DTFVESU5HIEJVVCBO
T1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksCi1GSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVO
VCBTSEFMTCBUSEUKLUFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBB
TlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKLUxJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJ
T04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sCi1PVVQgT0Yg
T1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERF
QUxJTkdTIElOIFRIRQotU09GVFdBUkUuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL1JFQURNRS5tZCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvUkVBRE1FLm1kCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5YThmM2Y4ZTljMWRm
YmU4OTdlOGE2ZDgyNjdjZjg5ZWMwMGNiMjBhLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvUkVBRE1FLm1kCisrKyAvZGV2L251bGwKQEAgLTEsNjI5
ICswLDAgQEAKLQotIyBXZWJJREwgMgotCi1bIVtOUE0gdmVyc2lvbl0oaHR0cHM6Ly9iYWRnZS5m
dXJ5LmlvL2pzL3dlYmlkbDIuc3ZnKV0oaHR0cDovL2JhZGdlLmZ1cnkuaW8vanMvd2ViaWRsMikK
LQotIyMgUHVycG9zZQotCi1UaGlzIGlzIGEgcGFyc2VyIGZvciB0aGUgW1dlYklETF0oaHR0cDov
L2Rldi53My5vcmcvMjAwNi93ZWJhcGkvV2ViSURMLykgbGFuZ3VhZ2UuIElmCi15b3UgZG9uJ3Qg
a25vdyB3aGF0IHRoYXQgaXMsIHRoZW4geW91IHByb2JhYmx5IGRvbid0IG5lZWQgaXQuIEl0IGlz
IG1lYW50IHRvIGJlIHVzZWQKLWJvdGggaW4gTm9kZSBhbmQgaW4gdGhlIGJyb3dzZXIgKHRoZSBw
YXJzZXIgbGlrZWx5IHdvcmtzIGluIG90aGVyIEpTIGVudmlyb25tZW50cywgYnV0Ci1ub3QgdGhl
IHRlc3Qgc3VpdGUpLgotCi0jIyBJbnN0YWxsYXRpb24KLQotSnVzdCB0aGUgdXN1YWwuIEZvciBO
b2RlOgotCi1gYGBCYXNoCi1ucG0gaW5zdGFsbCB3ZWJpZGwyCi1gYGAKLQotSW4gdGhlIGJyb3dz
ZXI6Ci0KLWBgYEhUTUwKLTxzY3JpcHQgc3JjPSd3ZWJpZGwyLmpzJz48L3NjcmlwdD4KLWBgYAot
Ci0jIyBEb2N1bWVudGF0aW9uCi0KLVRoZSBBUEkgdG8gV2ViSURMMiBpcyB0cml2aWFsOiB5b3Ug
cGFyc2UgYSBzdHJpbmcgb2YgV2ViSURMIGFuZCBpdCByZXR1cm5zIGEgc3ludGF4IHRyZWUuCi0K
LSMjIyBQYXJzaW5nCi0KLUluIE5vZGUsIHRoYXQgaGFwcGVucyB3aXRoOgotCi1gYGBKUwotdmFy
IFdlYklETDIgPSByZXF1aXJlKCJ3ZWJpZGwyIik7Ci12YXIgdHJlZSA9IFdlYklETDIucGFyc2Uo
InN0cmluZyBvZiBXZWJJREwiKTsKLWBgYAotCi1JbiB0aGUgYnJvd3NlcjoKLWBgYEhUTUwKLTxz
Y3JpcHQgc3JjPSd3ZWJpZGwyLmpzJz48L3NjcmlwdD4KLTxzY3JpcHQ+Ci0gIHZhciB0cmVlID0g
V2ViSURMMi5wYXJzZSgic3RyaW5nIG9mIFdlYklETCIpOwotPC9zY3JpcHQ+Ci1gYGAKLQotIyMj
IEVycm9ycwotCi1XaGVuIHRoZXJlIGlzIGEgc3ludGF4IGVycm9yIGluIHRoZSBXZWJJREwsIGl0
IHRocm93cyBhbiBleGNlcHRpb24gb2JqZWN0IHdpdGggdGhlIGZvbGxvd2luZwotcHJvcGVydGll
czoKLQotKiBgbWVzc2FnZWA6IHRoZSBlcnJvciBtZXNzYWdlCi0qIGBsaW5lYDogdGhlIGxpbmUg
YXQgd2hpY2ggdGhlIGVycm9yIG9jY3VycmVkLgotKiBgaW5wdXRgOiBhIHNob3J0IHBlZWsgYXQg
dGhlIHRleHQgYXQgdGhlIHBvaW50IHdoZXJlIHRoZSBlcnJvciBoYXBwZW5lZAotKiBgdG9rZW5z
YDogdGhlIGZpdmUgdG9rZW5zIGF0IHRoZSBwb2ludCBvZiBlcnJvciwgYXMgdW5kZXJzdG9vZCBi
eSB0aGUgdG9rZW5pc2VyCi0gICh0aGlzIGlzIHRoZSBzYW1lIGNvbnRlbnQgYXMgYGlucHV0YCwg
YnV0IHNlZW4gZnJvbSB0aGUgdG9rZW5pc2VyJ3MgcG9pbnQgb2YgdmlldykKLQotVGhlIGV4Y2Vw
dGlvbiBhbHNvIGhhcyBhIGB0b1N0cmluZygpYCBtZXRob2QgdGhhdCBob3BlZnVsbHkgc2hvdWxk
IHByb2R1Y2UgYSBkZWNlbnQKLWVycm9yIG1lc3NhZ2UuCi0KLSMjIyBBU1QgKEFic3RyYWN0IFN5
bnRheCBUcmVlKQotCi1UaGUgYHBhcnNlKClgIG1ldGhvZCByZXR1cm5zIGEgdHJlZSBvYmplY3Qg
cmVwcmVzZW50aW5nIHRoZSBwYXJzZSB0cmVlIG9mIHRoZSBJREwuCi1Db21tZW50IGFuZCB3aGl0
ZSBzcGFjZSBhcmUgbm90IHJlcHJlc2VudGVkIGluIHRoZSBBU1QuCi0KLVRoZSByb290IG9mIHRo
aXMgb2JqZWN0IGlzIGFsd2F5cyBhbiBhcnJheSBvZiBkZWZpbml0aW9ucyAod2hlcmUgZGVmaW5p
dGlvbnMgYXJlCi1hbnkgb2YgaW50ZXJmYWNlcywgZGljdGlvbmFyaWVzLCBjYWxsYmFja3MsIGV0
Yy4g4oCUIGFueXRoaW5nIHRoYXQgY2FuIG9jY3VyIGF0IHRoZSByb290Ci1vZiB0aGUgSURMKS4K
LQotIyMjIElETCBUeXBlCi0KLVRoaXMgc3RydWN0dXJlIGlzIHVzZWQgaW4gbWFueSBvdGhlciBw
bGFjZXMgKG9wZXJhdGlvbiByZXR1cm4gdHlwZXMsIGFyZ3VtZW50IHR5cGVzLCBldGMuKS4KLUl0
IGNhcHR1cmVzIGEgV2ViSURMIHR5cGUgd2l0aCBhIG51bWJlciBvZiBvcHRpb25zLiBUeXBlcyBs
b29rIGxpa2UgdGhpcyBhbmQgYXJlIHR5cGljYWxseQotYXR0YWNoZWQgdG8gYSBmaWVsZCBjYWxs
ZWQgYGlkbFR5cGVgOgotCi1gYGBKUwotewotICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0g
ICJnZW5lcmljIjogbnVsbCwKLSAgImlkbFR5cGUiOiAidW5zaWduZWQgc2hvcnQiLAotICAibnVs
bGFibGUiOiBmYWxzZSwKLSAgInVuaW9uIjogZmFsc2UsCi0gICJleHRBdHRycyI6IFsuLi5dCi19
Ci1gYGAKLQotV2hlcmUgdGhlIGZpZWxkcyBhcmUgYXMgZm9sbG93czoKLQotKiBgdHlwZWA6IFN0
cmluZyBpbmRpY2F0aW5nIHdoZXJlIHRoaXMgdHlwZSBpcyB1c2VkLiBDYW4gYmUgYG51bGxgIGlm
IG5vdCBhcHBsaWNhYmxlLgotKiBgZ2VuZXJpY2A6IFN0cmluZyBpbmRpY2F0aW5nIHRoZSBnZW5l
cmljIHR5cGUgKGUuZy4gIlByb21pc2UiLCAic2VxdWVuY2UiKS4gYG51bGxgCi0gIG90aGVyd2lz
ZS4KLSogYGlkbFR5cGVgOiBDYW4gYmUgZGlmZmVyZW50IHRoaW5ncyBkZXBlbmRpbmcgb24gY29u
dGV4dC4gSW4gbW9zdCBjYXNlcywgdGhpcyB3aWxsIGp1c3QKLSAgYmUgYSBzdHJpbmcgd2l0aCB0
aGUgdHlwZSBuYW1lLiBCdXQgdGhlIHJlYXNvbiB0aGlzIGZpZWxkIGlzbid0IGNhbGxlZCAidHlw
ZU5hbWUiIGlzCi0gIGJlY2F1c2UgaXQgY2FuIHRha2UgbW9yZSBjb21wbGV4IHZhbHVlcy4gSWYg
dGhlIHR5cGUgaXMgYSB1bmlvbiwgdGhlbiB0aGlzIGNvbnRhaW5zIGFuCi0gIGFycmF5IG9mIHRo
ZSB0eXBlcyBpdCB1bml0ZXMuIElmIGl0IGlzIGEgZ2VuZXJpYyB0eXBlLCBpdCBjb250YWlucyB0
aGUgSURMIHR5cGUKLSAgZGVzY3JpcHRpb24gZm9yIHRoZSB0eXBlIGluIHRoZSBzZXF1ZW5jZSwg
dGhlIGV2ZW50dWFsIHZhbHVlIG9mIHRoZSBwcm9taXNlLCBldGMuCi0qIGBudWxsYWJsZWA6IEJv
b2xlYW4gaW5kaWNhdGluZyB3aGV0aGVyIHRoaXMgaXMgbnVsbGFibGUgb3Igbm90LgotKiBgdW5p
b25gOiBCb29sZWFuIGluZGljYXRpbmcgd2hldGhlciB0aGlzIGlzIGEgdW5pb24gdHlwZSBvciBu
b3QuCi0qIGBleHRBdHRyc2A6IEEgbGlzdCBvZiBbZXh0ZW5kZWQgYXR0cmlidXRlc10oI2V4dGVu
ZGVkLWF0dHJpYnV0ZXMpLgotCi0jIyMgSW50ZXJmYWNlCi0KLUludGVyZmFjZXMgbG9vayBsaWtl
IHRoaXM6Ci0KLWBgYEpTCi17Ci0gICJ0eXBlIjogImludGVyZmFjZSIsCi0gICJuYW1lIjogIkFu
aW1hbCIsCi0gICJwYXJ0aWFsIjogZmFsc2UsCi0gICJtZW1iZXJzIjogWy4uLl0sCi0gICJpbmhl
cml0YW5jZSI6IG51bGwsCi0gICJleHRBdHRycyI6IFsuLi5dCi19LCB7Ci0gICJ0eXBlIjogImlu
dGVyZmFjZSIsCi0gICJuYW1lIjogIkh1bWFuIiwKLSAgInBhcnRpYWwiOiBmYWxzZSwKLSAgIm1l
bWJlcnMiOiBbLi4uXSwKLSAgImluaGVyaXRhbmNlIjogIkFuaW1hbCIsCi0gICJleHRBdHRycyI6
IFsuLi5dCi19Ci1gYGAKLQotVGhlIGZpZWxkcyBhcmUgYXMgZm9sbG93czoKLQotKiBgdHlwZWA6
IEFsd2F5cyAiaW50ZXJmYWNlIi4KLSogYG5hbWVgOiBUaGUgbmFtZSBvZiB0aGUgaW50ZXJmYWNl
LgotKiBgcGFydGlhbGA6IEEgYm9vbGVhbiBpbmRpY2F0aW5nIHdoZXRoZXIgaXQncyBhIHBhcnRp
YWwgaW50ZXJmYWNlLgotKiBgbWVtYmVyc2A6IEFuIGFycmF5IG9mIGludGVyZmFjZSBtZW1iZXJz
IChhdHRyaWJ1dGVzLCBvcGVyYXRpb25zLCBldGMuKS4gRW1wdHkgaWYgdGhlcmUgYXJlIG5vbmUu
Ci0qIGBpbmhlcml0YW5jZWA6IEEgc3RyaW5nIGdpdmluZyB0aGUgbmFtZSBvZiBhbiBpbnRlcmZh
Y2UgdGhpcyBvbmUgaW5oZXJpdHMgZnJvbSwgYG51bGxgIG90aGVyd2lzZS4KLSAgKipOT1RFKio6
IEluIHYxIHRoaXMgd2FzIGFuIGFycmF5LCBidXQgbXVsdGlwbGUgaW5oZXJpdGFuY2UgaXMgbm8g
bG9uZ2VyIHN1cHBvcnRlZCBzbyB0aGlzIGRpZG4ndCBtYWtlCi0gIHNlbnNlLgotKiBgZXh0QXR0
cnNgOiBBIGxpc3Qgb2YgW2V4dGVuZGVkIGF0dHJpYnV0ZXNdKCNleHRlbmRlZC1hdHRyaWJ1dGVz
KS4KLQotIyMjIEludGVyZmFjZSBtaXhpbnMKLQotSW50ZXJmYWNlcyBtaXhpbnMgbG9vayBsaWtl
IHRoaXM6Ci0KLWBgYEpTCi17Ci0gICJ0eXBlIjogImludGVyZmFjZSBtaXhpbiIsCi0gICJuYW1l
IjogIkFuaW1hbCIsCi0gICJwYXJ0aWFsIjogZmFsc2UsCi0gICJtZW1iZXJzIjogWy4uLl0sCi0g
ICJleHRBdHRycyI6IFsuLi5dCi19LCB7Ci0gICJ0eXBlIjogImludGVyZmFjZSBtaXhpbiIsCi0g
ICJuYW1lIjogIkh1bWFuIiwKLSAgInBhcnRpYWwiOiBmYWxzZSwKLSAgIm1lbWJlcnMiOiBbLi4u
XSwKLSAgImV4dEF0dHJzIjogWy4uLl0KLX0KLWBgYAotCi1UaGUgZmllbGRzIGFyZSBhcyBmb2xs
b3dzOgotCi0qIGB0eXBlYDogQWx3YXlzICJpbnRlcmZhY2UgbWl4aW4iLgotKiBgbmFtZWA6IFRo
ZSBuYW1lIG9mIHRoZSBpbnRlcmZhY2UgbWl4aW4uCi0qIGBwYXJ0aWFsYDogQSBib29sZWFuIGlu
ZGljYXRpbmcgd2hldGhlciBpdCdzIGEgcGFydGlhbCBpbnRlcmZhY2UgbWl4aW4uCi0qIGBtZW1i
ZXJzYDogQW4gYXJyYXkgb2YgaW50ZXJmYWNlIG1lbWJlcnMgKGF0dHJpYnV0ZXMsIG9wZXJhdGlv
bnMsIGV0Yy4pLiBFbXB0eSBpZiB0aGVyZSBhcmUgbm9uZS4KLSogYGV4dEF0dHJzYDogQSBsaXN0
IG9mIFtleHRlbmRlZCBhdHRyaWJ1dGVzXSgjZXh0ZW5kZWQtYXR0cmlidXRlcykuCi0KLSMjIyBO
YW1lc3BhY2UKLQotTmFtZXNwYWNlcyBsb29rIGxpa2UgdGhpczoKLQotYGBgSlMKLXsKLSAgInR5
cGUiOiAibmFtZXNwYWNlIiwKLSAgIm5hbWUiOiAiQ29uc29sZSIsCi0gICJwYXJ0aWFsIjogZmFs
c2UsCi0gICJtZW1iZXJzIjogWy4uLl0sCi0gICJleHRBdHRycyI6IFsuLi5dCi19Ci1gYGAKLQot
VGhlIGZpZWxkcyBhcmUgYXMgZm9sbG93czoKLQotKiBgdHlwZWA6IEFsd2F5cyAibmFtZXNwYWNl
Ii4KLSogYG5hbWVgOiBUaGUgbmFtZSBvZiB0aGUgbmFtZXNwYWNlLgotKiBgcGFydGlhbGA6IEEg
Ym9vbGVhbiBpbmRpY2F0aW5nIHdoZXRoZXIgaXQncyBhIHBhcnRpYWwgbmFtZXNwYWNlLgotKiBg
bWVtYmVyc2A6IEFuIGFycmF5IG9mIG5hbWVzcGFjZSBtZW1iZXJzIChhdHRyaWJ1dGVzIGFuZCBv
cGVyYXRpb25zKS4gRW1wdHkgaWYgdGhlcmUgYXJlIG5vbmUuCi0qIGBleHRBdHRyc2A6IEEgbGlz
dCBvZiBbZXh0ZW5kZWQgYXR0cmlidXRlc10oI2V4dGVuZGVkLWF0dHJpYnV0ZXMpLgotCi0jIyMg
Q2FsbGJhY2sgSW50ZXJmYWNlcwotCi1UaGVzZSBhcmUgY2FwdHVyZWQgYnkgdGhlIHNhbWUgc3Ry
dWN0dXJlIGFzIFtJbnRlcmZhY2VzXSgjaW50ZXJmYWNlKSBleGNlcHQgdGhhdAotdGhlaXIgYHR5
cGVgIGZpZWxkIGlzICJjYWxsYmFjayBpbnRlcmZhY2UiLgotCi0jIyMgQ2FsbGJhY2sKLQotQSBj
YWxsYmFjayBsb29rcyBsaWtlIHRoaXM6Ci0KLWBgYEpTCi17Ci0gICJ0eXBlIjogImNhbGxiYWNr
IiwKLSAgIm5hbWUiOiAiQXN5bmNPcGVyYXRpb25DYWxsYmFjayIsCi0gICJpZGxUeXBlIjogewot
ICAgICJ0eXBlIjogInJldHVybi10eXBlIiwKLSAgICAic2VxdWVuY2UiOiBmYWxzZSwKLSAgICAi
Z2VuZXJpYyI6IG51bGwsCi0gICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgInVuaW9uIjogZmFs
c2UsCi0gICAgImlkbFR5cGUiOiAidm9pZCIsCi0gICAgImV4dEF0dHJzIjogW10KLSAgfSwKLSAg
ImFyZ3VtZW50cyI6IFsuLi5dLAotICAiZXh0QXR0cnMiOiBbXQotfQotYGBgCi0KLVRoZSBmaWVs
ZHMgYXJlIGFzIGZvbGxvd3M6Ci0KLSogYHR5cGVgOiBBbHdheXMgImNhbGxiYWNrIi4KLSogYG5h
bWVgOiBUaGUgbmFtZSBvZiB0aGUgY2FsbGJhY2suCi0qIGBpZGxUeXBlYDogQW4gW0lETCBUeXBl
XSgjaWRsLXR5cGUpIGRlc2NyaWJpbmcgd2hhdCB0aGUgY2FsbGJhY2sgcmV0dXJucy4KLSogYGFy
Z3VtZW50c2A6IEEgbGlzdCBvZiBbYXJndW1lbnRzXSgjYXJndW1lbnRzKSwgYXMgaW4gZnVuY3Rp
b24gcGFyYW10ZXJzLgotKiBgZXh0QXR0cnNgOiBBIGxpc3Qgb2YgW2V4dGVuZGVkIGF0dHJpYnV0
ZXNdKCNleHRlbmRlZC1hdHRyaWJ1dGVzKS4KLQotIyMjIERpY3Rpb25hcnkKLQotQSBkaWN0aW9u
YXJ5IGxvb2tzIGxpa2UgdGhpczoKLQotYGBgSlMKLXsKLSAgInR5cGUiOiAiZGljdGlvbmFyeSIs
Ci0gICJuYW1lIjogIlBhaW50T3B0aW9ucyIsCi0gICJwYXJ0aWFsIjogZmFsc2UsCi0gICJtZW1i
ZXJzIjogW3sKLSAgICAidHlwZSI6ICJmaWVsZCIsCi0gICAgIm5hbWUiOiAiZmlsbFBhdHRlcm4i
LAotICAgICJyZXF1aXJlZCI6IGZhbHNlLAotICAgICJpZGxUeXBlIjogewotICAgICAgInR5cGUi
OiAiZGljdGlvbmFyeS10eXBlIiwKLSAgICAgICJzZXF1ZW5jZSI6IGZhbHNlLAotICAgICAgImdl
bmVyaWMiOiBudWxsLAotICAgICAgIm51bGxhYmxlIjogdHJ1ZSwKLSAgICAgICJ1bmlvbiI6IGZh
bHNlLAotICAgICAgImlkbFR5cGUiOiAiRE9NU3RyaW5nIiwKLSAgICAgICJleHRBdHRycyI6IFsu
Li5dCi0gICAgfSwKLSAgICAiZXh0QXR0cnMiOiBbXSwKLSAgICAiZGVmYXVsdCI6IHsKLSAgICAg
ICJ0eXBlIjogInN0cmluZyIsCi0gICAgICAidmFsdWUiOiAiYmxhY2siCi0gICAgfQotICB9XSwK
LSAgImluaGVyaXRhbmNlIjogbnVsbCwKLSAgImV4dEF0dHJzIjogW10KLX0KLWBgYAotCi1UaGUg
ZmllbGRzIGFyZSBhcyBmb2xsb3dzOgotCi0qIGB0eXBlYDogQWx3YXlzICJkaWN0aW9uYXJ5Ii4K
LSogYG5hbWVgOiBUaGUgZGljdGlvbmFyeSBuYW1lLgotKiBgcGFydGlhbGA6IEJvb2xlYW4gaW5k
aWNhdGluZyB3aGV0aGVyIGl0J3MgYSBwYXJ0aWFsIGRpY3Rpb25hcnkuCi0qIGBtZW1iZXJzYDog
QW4gYXJyYXkgb2YgbWVtYmVycyAoc2VlIGJlbG93KS4KLSogYGluaGVyaXRhbmNlYDogQSBzdHJp
bmcgaW5kaWNhdGluZyB3aGljaCBkaWN0aW9uYXJ5IGlzIGJlaW5nIGluaGVyaXRlZCBmcm9tLCBg
bnVsbGAgb3RoZXJ3aXNlLgotKiBgZXh0QXR0cnNgOiBBIGxpc3Qgb2YgW2V4dGVuZGVkIGF0dHJp
YnV0ZXNdKCNleHRlbmRlZC1hdHRyaWJ1dGVzKS4KLQotQWxsIHRoZSBtZW1iZXJzIGFyZSBmaWVs
ZHMgYXMgZm9sbG93czoKLQotKiBgdHlwZWA6IEFsd2F5cyAiZmllbGQiLgotKiBgbmFtZWA6IFRo
ZSBuYW1lIG9mIHRoZSBmaWVsZC4KLSogYHJlcXVpcmVkYDogQm9vbGVhbiBpbmRpY2F0aW5nIHdo
ZXRoZXIgdGhpcyBpcyBhIFtyZXF1aXJlZF0oaHR0cHM6Ly9oZXljYW0uZ2l0aHViLmlvL3dlYmlk
bC8jcmVxdWlyZWQtZGljdGlvbmFyeS1tZW1iZXIpIGZpZWxkLgotKiBgaWRsVHlwZWA6IEFuIFtJ
REwgVHlwZV0oI2lkbC10eXBlKSBkZXNjcmliaW5nIHdoYXQgZmllbGQncyB0eXBlLgotKiBgZXh0
QXR0cnNgOiBBIGxpc3Qgb2YgW2V4dGVuZGVkIGF0dHJpYnV0ZXNdKCNleHRlbmRlZC1hdHRyaWJ1
dGVzKS4KLSogYGRlZmF1bHRgOiBBIFtkZWZhdWx0IHZhbHVlXSgjZGVmYXVsdC1hbmQtY29uc3Qt
dmFsdWVzKSwgYWJzZW50IGlmIHRoZXJlIGlzIG5vbmUuCi0KLSMjIyBFbnVtCi0KLUFuIGVudW0g
bG9va3MgbGlrZSB0aGlzOgotCi1gYGBKUwotewotICAidHlwZSI6ICJlbnVtIiwKLSAgIm5hbWUi
OiAiTWVhbFR5cGUiLAotICAidmFsdWVzIjogWwotICAgIHsgInR5cGUiOiAic3RyaW5nIiwgInZh
bHVlIjogInJpY2UiIH0sCi0gICAgeyAidHlwZSI6ICJzdHJpbmciLCAidmFsdWUiOiAibm9vZGxl
cyIgfSwKLSAgICB7ICJ0eXBlIjogInN0cmluZyIsICJ2YWx1ZSI6ICJvdGhlciIgfQotICBdLAot
ICAiZXh0QXR0cnMiOiBbXQotfQotYGBgCi0KLVRoZSBmaWVsZHMgYXJlIGFzIGZvbGxvd3M6Ci0K
LSogYHR5cGVgOiBBbHdheXMgImVudW0iLgotKiBgbmFtZWA6IFRoZSBlbnVtJ3MgbmFtZS4KLSog
YHZhbHVlc2A6IEFuIGFycmF5IG9mIHZhbHVlcy4KLSogYGV4dEF0dHJzYDogQSBsaXN0IG9mIFtl
eHRlbmRlZCBhdHRyaWJ1dGVzXSgjZXh0ZW5kZWQtYXR0cmlidXRlcykuCi0KLSMjIyBUeXBlZGVm
Ci0KLUEgdHlwZWRlZiBsb29rcyBsaWtlIHRoaXM6Ci0KLWBgYEpTCi17Ci0gICJ0eXBlIjogInR5
cGVkZWYiLAotICAiaWRsVHlwZSI6IHsKLSAgICAidHlwZSI6ICJ0eXBlZGVmLXR5cGUiLAotICAg
ICJzZXF1ZW5jZSI6IHRydWUsCi0gICAgImdlbmVyaWMiOiAic2VxdWVuY2UiLAotICAgICJudWxs
YWJsZSI6IGZhbHNlLAotICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICJpZGxUeXBlIjogewotICAg
ICAgInR5cGUiOiAidHlwZWRlZi10eXBlIiwKLSAgICAgICJzZXF1ZW5jZSI6IGZhbHNlLAotICAg
ICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAidW5p
b24iOiBmYWxzZSwKLSAgICAgICJpZGxUeXBlIjogIlBvaW50IiwKLSAgICAgICJleHRBdHRycyI6
IFsuLi5dCi0gICAgfSwKLSAgICAiZXh0QXR0cnMiOiBbLi4uXQotICB9LAotICAibmFtZSI6ICJQ
b2ludFNlcXVlbmNlIiwKLSAgImV4dEF0dHJzIjogW10KLX0KLWBgYAotCi0KLVRoZSBmaWVsZHMg
YXJlIGFzIGZvbGxvd3M6Ci0KLSogYHR5cGVgOiBBbHdheXMgInR5cGVkZWYiLgotKiBgbmFtZWA6
IFRoZSB0eXBlZGVmJ3MgbmFtZS4KLSogYGlkbFR5cGVgOiBBbiBbSURMIFR5cGVdKCNpZGwtdHlw
ZSkgZGVzY3JpYmluZyB3aGF0IHR5cGVkZWYncyB0eXBlLgotKiBgZXh0QXR0cnNgOiBBIGxpc3Qg
b2YgW2V4dGVuZGVkIGF0dHJpYnV0ZXNdKCNleHRlbmRlZC1hdHRyaWJ1dGVzKS4KLQotIyMjIElt
cGxlbWVudHMKLQotQW4gaW1wbGVtZW50cyBkZWZpbml0aW9uIGxvb2tzIGxpa2UgdGhpczoKLQot
YGBgSlMKLXsKLSAgInR5cGUiOiAiaW1wbGVtZW50cyIsCi0gICJ0YXJnZXQiOiAiTm9kZSIsCi0g
ICJpbXBsZW1lbnRzIjogIkV2ZW50VGFyZ2V0IiwKLSAgImV4dEF0dHJzIjogW10KLX0KLWBgYAot
Ci1UaGUgZmllbGRzIGFyZSBhcyBmb2xsb3dzOgotCi0qIGB0eXBlYDogQWx3YXlzICJpbXBsZW1l
bnRzIi4KLSogYHRhcmdldGA6IFRoZSBpbnRlcmZhY2UgdGhhdCBpbXBsZW1lbnRzIGFub3RoZXIu
Ci0qIGBpbXBsZW1lbnRzYDogVGhlIGludGVyZmFjZSB0aGF0IGlzIGJlaW5nIGltcGxlbWVudGVk
IGJ5IHRoZSB0YXJnZXQuCi0qIGBleHRBdHRyc2A6IEEgbGlzdCBvZiBbZXh0ZW5kZWQgYXR0cmli
dXRlc10oI2V4dGVuZGVkLWF0dHJpYnV0ZXMpLgotCi0jIyMgSW5jbHVkZXMKLQotQW4gaW5jbHVk
ZXMgZGVmaW5pdGlvbiBsb29rcyBsaWtlIHRoaXM6Ci0KLWBgYEpTCi17Ci0gICJ0eXBlIjogImlu
Y2x1ZGVzIiwKLSAgInRhcmdldCI6ICJOb2RlIiwKLSAgImluY2x1ZGVzIjogIkV2ZW50VGFyZ2V0
IiwKLSAgImV4dEF0dHJzIjogW10KLX0KLWBgYAotCi1UaGUgZmllbGRzIGFyZSBhcyBmb2xsb3dz
OgotCi0qIGB0eXBlYDogQWx3YXlzICJpbmNsdWRlcyIuCi0qIGB0YXJnZXRgOiBUaGUgaW50ZXJm
YWNlIHRoYXQgaW5jbHVkZXMgYW4gaW50ZXJmYWNlIG1peGluLgotKiBgaW5jbHVkZXNgOiBUaGUg
aW50ZXJmYWNlIG1peGluIHRoYXQgaXMgYmVpbmcgaW5jbHVkZWQgYnkgdGhlIHRhcmdldC4KLSog
YGV4dEF0dHJzYDogQSBsaXN0IG9mIFtleHRlbmRlZCBhdHRyaWJ1dGVzXSgjZXh0ZW5kZWQtYXR0
cmlidXRlcykuCi0KLSMjIyBPcGVyYXRpb24gTWVtYmVyCi0KLUFuIG9wZXJhdGlvbiBsb29rcyBs
aWtlIHRoaXM6Ci1gYGBKUwotewotICAidHlwZSI6ICJvcGVyYXRpb24iLAotICAiZ2V0dGVyIjog
ZmFsc2UsCi0gICJzZXR0ZXIiOiBmYWxzZSwKLSAgImRlbGV0ZXIiOiBmYWxzZSwKLSAgInN0YXRp
YyI6IGZhbHNlLAotICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgImlkbFR5cGUiOiB7Ci0gICAg
InR5cGUiOiAicmV0dXJuLXR5cGUiLAotICAgICJzZXF1ZW5jZSI6IGZhbHNlLAotICAgICJnZW5l
cmljIjogbnVsbCwKLSAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAidW5pb24iOiBmYWxzZSwK
LSAgICAiaWRsVHlwZSI6ICJ2b2lkIiwKLSAgICAiZXh0QXR0cnMiOiBbXQotICB9LAotICAibmFt
ZSI6ICJpbnRlcnNlY3Rpb24iLAotICAiYXJndW1lbnRzIjogW3sKLSAgICAib3B0aW9uYWwiOiBm
YWxzZSwKLSAgICAidmFyaWFkaWMiOiB0cnVlLAotICAgICJleHRBdHRycyI6IFtdLAotICAgICJp
ZGxUeXBlIjogewotICAgICAgInR5cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAgICAic2VxdWVu
Y2UiOiBmYWxzZSwKLSAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICJudWxsYWJsZSI6IGZh
bHNlLAotICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAiaWRsVHlwZSI6ICJsb25nIiwKLSAg
ICAgICJleHRBdHRycyI6IFsuLi5dCi0gICAgfSwKLSAgICAibmFtZSI6ICJpbnRzIgotICB9XSwK
LSAgImV4dEF0dHJzIjogW10KLX0KLWBgYAotCi1UaGUgZmllbGRzIGFyZSBhcyBmb2xsb3dzOgot
Ci0qIGB0eXBlYDogQWx3YXlzICJvcGVyYXRpb24iLgotKiBgZ2V0dGVyYDogVHJ1ZSBpZiBhIGdl
dHRlciBvcGVyYXRpb24uCi0qIGBzZXR0ZXJgOiBUcnVlIGlmIGEgc2V0dGVyIG9wZXJhdGlvbi4K
LSogYGRlbGV0ZXJgOiBUcnVlIGlmIGEgZGVsZXRlciBvcGVyYXRpb24uCi0qIGBzdGF0aWNgOiBU
cnVlIGlmIGEgc3RhdGljIG9wZXJhdGlvbi4KLSogYHN0cmluZ2lmaWVyYDogVHJ1ZSBpZiBhIHN0
cmluZ2lmaWVyIG9wZXJhdGlvbi4KLSogYGlkbFR5cGVgOiBBbiBbSURMIFR5cGVdKCNpZGwtdHlw
ZSkgb2Ygd2hhdCB0aGUgb3BlcmF0aW9uIHJldHVybnMuIElmIGEgc3RyaW5naWZpZXIsIG1heSBi
ZSBhYnNlbnQuCi0qIGBuYW1lYDogVGhlIG5hbWUgb2YgdGhlIG9wZXJhdGlvbi4gSWYgYSBzdHJp
bmdpZmllciwgbWF5IGJlIGBudWxsYC4KLSogYGFyZ3VtZW50c2A6IEFuIGFycmF5IG9mIFthcmd1
bWVudHNdKCNhcmd1bWVudHMpIGZvciB0aGUgb3BlcmF0aW9uLgotKiBgZXh0QXR0cnNgOiBBIGxp
c3Qgb2YgW2V4dGVuZGVkIGF0dHJpYnV0ZXNdKCNleHRlbmRlZC1hdHRyaWJ1dGVzKS4KLQotIyMj
IEF0dHJpYnV0ZSBNZW1iZXIKLQotQW4gYXR0cmlidXRlIG1lbWJlciBsb29rcyBsaWtlIHRoaXM6
Ci0KLWBgYEpTCi17Ci0gICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0gICJzdGF0aWMiOiBmYWxzZSwK
LSAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICJpbmhlcml0IjogZmFsc2UsCi0gICJyZWFkb25s
eSI6IGZhbHNlLAotICAiaWRsVHlwZSI6IHsKLSAgICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIs
Ci0gICAgInNlcXVlbmNlIjogZmFsc2UsCi0gICAgImdlbmVyaWMiOiBudWxsLAotICAgICJudWxs
YWJsZSI6IGZhbHNlLAotICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICJpZGxUeXBlIjogIlJlZ0V4
cCIsCi0gICAgImV4dEF0dHJzIjogWy4uLl0KLSAgfSwKLSAgIm5hbWUiOiAicmVnZXhwIiwKLSAg
ImV4dEF0dHJzIjogW10KLX0KLWBgYAotCi1UaGUgZmllbGRzIGFyZSBhcyBmb2xsb3dzOgotCi0q
IGB0eXBlYDogQWx3YXlzICJhdHRyaWJ1dGUiLgotKiBgbmFtZWA6IFRoZSBhdHRyaWJ1dGUncyBu
YW1lLgotKiBgc3RhdGljYDogVHJ1ZSBpZiBpdCdzIGEgc3RhdGljIGF0dHJpYnV0ZS4KLSogYHN0
cmluZ2lmaWVyYDogVHJ1ZSBpZiBpdCdzIGEgc3RyaW5naWZpZXIgYXR0cmlidXRlLgotKiBgaW5o
ZXJpdGA6IFRydWUgaWYgaXQncyBhbiBpbmhlcml0IGF0dHJpYnV0ZS4KLSogYHJlYWRvbmx5YDog
VHJ1ZSBpZiBpdCdzIGEgcmVhZC1vbmx5IGF0dHJpYnV0ZS4KLSogYGlkbFR5cGVgOiBBbiBbSURM
IFR5cGVdKCNpZGwtdHlwZSkgZm9yIHRoZSBhdHRyaWJ1dGUuCi0qIGBleHRBdHRyc2A6IEEgbGlz
dCBvZiBbZXh0ZW5kZWQgYXR0cmlidXRlc10oI2V4dGVuZGVkLWF0dHJpYnV0ZXMpLgotCi0jIyMg
Q29uc3RhbnQgTWVtYmVyCi0KLUEgY29uc3RhbnQgbWVtYmVyIGxvb2tzIGxpa2UgdGhpczoKLQot
YGBgSlMKLXsKLSAgInR5cGUiOiAiY29uc3QiLAotICAibnVsbGFibGUiOiBmYWxzZSwKLSAgImlk
bFR5cGUiOiB7Ci0gICAgInR5cGUiOiAiY29uc3QtdHlwZSIsCi0gICAgInNlcXVlbmNlIjogZmFs
c2UsCi0gICAgImdlbmVyaWMiOiBudWxsLAotICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICJ1
bmlvbiI6IGZhbHNlLAotICAgICJpZGxUeXBlIjogImJvb2xlYW4iCi0gICAgImV4dEF0dHJzIjog
W10KLSAgfSwKLSAgIm5hbWUiOiAiREVCVUciLAotICAidmFsdWUiOiB7Ci0gICAgInR5cGUiOiAi
Ym9vbGVhbiIsCi0gICAgInZhbHVlIjogZmFsc2UKLSAgfSwKLSAgImV4dEF0dHJzIjogW10KLX0K
LWBgYAotCi1UaGUgZmllbGRzIGFyZSBhcyBmb2xsb3dzOgotCi0qIGB0eXBlYDogQWx3YXlzICJj
b25zdCIuCi0qIGBudWxsYWJsZWA6IFdoZXRoZXIgaXRzIHR5cGUgaXMgbnVsbGFibGUuCi0qIGBp
ZGxUeXBlYDogQW4gW0lETCBUeXBlXSgjaWRsLXR5cGUpIG9mIHRoZSBjb25zdGFudCB0aGF0IHJl
cHJlc2VudHMgYSBzaW1wbGUgdHlwZSwgdGhlIHR5cGUgbmFtZS4KLSogYG5hbWVgOiBUaGUgbmFt
ZSBvZiB0aGUgY29uc3RhbnQuCi0qIGB2YWx1ZWA6IFRoZSBjb25zdGFudCB2YWx1ZSBhcyBkZXNj
cmliZWQgYnkgW0NvbnN0IFZhbHVlc10oI2RlZmF1bHQtYW5kLWNvbnN0LXZhbHVlcykKLSogYGV4
dEF0dHJzYDogQSBsaXN0IG9mIFtleHRlbmRlZCBhdHRyaWJ1dGVzXSgjZXh0ZW5kZWQtYXR0cmli
dXRlcykuCi0KLSMjIyBBcmd1bWVudHMKLQotVGhlIGFyZ3VtZW50cyAoZS5nLiBmb3IgYW4gb3Bl
cmF0aW9uKSBsb29rIGxpa2UgdGhpczoKLQotYGBgSlMKLXsKLSAgImFyZ3VtZW50cyI6IFt7Ci0g
ICAgIm9wdGlvbmFsIjogZmFsc2UsCi0gICAgInZhcmlhZGljIjogdHJ1ZSwKLSAgICAiZXh0QXR0
cnMiOiBbXSwKLSAgICAiaWRsVHlwZSI6IHsKLSAgICAgICJ0eXBlIjogImFyZ3VtZW50LXR5cGUi
LAotICAgICAgInNlcXVlbmNlIjogZmFsc2UsCi0gICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAg
ICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgImlkbFR5
cGUiOiAibG9uZyIsCi0gICAgICAiZXh0QXR0cnMiOiBbLi4uXQotICAgIH0sCi0gICAgIm5hbWUi
OiAiaW50cyIKLSAgfV0KLX0KLWBgYAotCi1UaGUgZmllbGRzIGFyZSBhcyBmb2xsb3dzOgotCi0q
IGBvcHRpb25hbGA6IFRydWUgaWYgdGhlIGFyZ3VtZW50IGlzIG9wdGlvbmFsLgotKiBgdmFyaWFk
aWNgOiBUcnVlIGlmIHRoZSBhcmd1bWVudCBpcyB2YXJpYWRpYy4KLSogYGlkbFR5cGVgOiBBbiBb
SURMIFR5cGVdKCNpZGwtdHlwZSkgZGVzY3JpYmluZyB0aGUgdHlwZSBvZiB0aGUgYXJndW1lbnQu
Ci0qIGBuYW1lYDogVGhlIGFyZ3VtZW50J3MgbmFtZS4KLSogYGV4dEF0dHJzYDogQSBsaXN0IG9m
IFtleHRlbmRlZCBhdHRyaWJ1dGVzXSgjZXh0ZW5kZWQtYXR0cmlidXRlcykuCi0KLSMjIyBFeHRl
bmRlZCBBdHRyaWJ1dGVzCi0KLUV4dGVuZGVkIGF0dHJpYnV0ZXMgYXJlIGFycmF5cyBvZiBpdGVt
cyB0aGF0IGxvb2sgbGlrZSB0aGlzOgotCi1gYGBKUwotewotICAiZXh0QXR0cnMiOiBbewotICAg
ICJuYW1lIjogIlRyZWF0TnVsbEFzIiwKLSAgICAiYXJndW1lbnRzIjogbnVsbCwKLSAgICAidHlw
ZSI6ICJleHRlbmRlZC1hdHRyaWJ1dGUiLAotICAgICJyaHMiOiB7Ci0gICAgICAidHlwZSI6ICJp
ZGVudGlmaWVyIiwKLSAgICAgICJ2YWx1ZSI6ICJFbXB0eVN0cmluZyIKLSAgICB9Ci0gIH1dCi19
Ci1gYGAKLQotVGhlIGZpZWxkcyBhcmUgYXMgZm9sbG93czoKLQotKiBgbmFtZWA6IFRoZSBleHRl
bmRlZCBhdHRyaWJ1dGUncyBuYW1lLgotKiBgYXJndW1lbnRzYDogSWYgdGhlIGV4dGVuZGVkIGF0
dHJpYnV0ZSB0YWtlcyBhcmd1bWVudHMgKGUuZy4gYFtGb28oKV1gKSBvciBpZgotICBpdHMgcmln
aHQtaGFuZCBzaWRlIGRvZXMgKGUuZy4gYFtOYW1lZENvbnN0cnVjdG9yPU5hbWUoRE9NU3RyaW5n
IGJsYWgpXWApIHRoZXkKLSAgYXJlIGxpc3RlZCBoZXJlLiBOb3RlIHRoYXQgYW4gZW1wdHkgYXJn
dW1lbnRzIGxpc3Qgd2lsbCBwcm9kdWNlIGFuIGVtcHR5IGFycmF5LAotICB3aGVyZWFzIHRoZSBs
YWNrIHRoZXJlb2Ygd2lsbCB5aWVsZCBhIGBudWxsYC4gSWYgdGhlcmUgaXMgYW4gYHJoc2AgZmll
bGQgdGhlbgotICB0aGV5IGFyZSB0aGUgcmlnaHQtaGFuZCBzaWRlJ3MgYXJndW1lbnRzLCBvdGhl
cndpc2UgdGhleSBhcHBseSB0byB0aGUgZXh0ZW5kZWQKLSAgYXR0cmlidXRlIGRpcmVjdGx5Lgot
KiBgdHlwZWA6IEFsd2F5cyBgImV4dGVuZGVkLWF0dHJpYnV0ZSJgLgotKiBgcmhzYDogSWYgdGhl
cmUgaXMgYSByaWdodC1oYW5kIHNpZGUsIHRoaXMgd2lsbCBjYXB0dXJlIGl0cyBgdHlwZWAgKHdo
aWNoIGNhbiBiZQotICAiaWRlbnRpZmllciIgb3IgImlkZW50aWZpZXItbGlzdCIpIGFuZCBpdHMg
YHZhbHVlYC4KLQotIyMjIERlZmF1bHQgYW5kIENvbnN0IFZhbHVlcwotCi1EaWN0aW9uYXJ5IGZp
ZWxkcyBhbmQgb3BlcmF0aW9uIGFyZ3VtZW50cyBjYW4gdGFrZSBkZWZhdWx0IHZhbHVlcywgYW5k
IGNvbnN0YW50cyB0YWtlCi12YWx1ZXMsIGFsbCBvZiB3aGljaCBoYXZlIHRoZSBmb2xsb3dpbmcg
ZmllbGRzOgotCi0qIGB0eXBlYDogT25lIG9mIHN0cmluZywgbnVtYmVyLCBib29sZWFuLCBudWxs
LCBJbmZpbml0eSwgTmFOLCBvciBzZXF1ZW5jZS4KLQotRm9yIHN0cmluZywgbnVtYmVyLCBib29s
ZWFuLCBhbmQgc2VxdWVuY2U6Ci0KLSogYHZhbHVlYDogVGhlIHZhbHVlIG9mIHRoZSBnaXZlbiB0
eXBlLCBhcyBhIHN0cmluZy4gRm9yIHNlcXVlbmNlLCB0aGUgb25seSBwb3NzaWJsZSB2YWx1ZSBp
cyBgW11gLgotCi1Gb3IgSW5maW5pdHk6Ci0KLSogYG5lZ2F0aXZlYDogQm9vbGVhbiBpbmRpY2F0
aW5nIHdoZXRoZXIgdGhpcyBpcyBuZWdhdGl2ZSBJbmZpbml0eSBvciBub3QuCi0KLSMjIyBgaXRl
cmFibGU8PmAsIGBsZWdhY3lpdGVyYWJsZTw+YCwgYG1hcGxpa2U8PmAsIGBzZXRsaWtlPD5gIGRl
Y2xhcmF0aW9ucwotCi1UaGVzZSBhcHBlYXIgYXMgbWVtYmVycyBvZiBpbnRlcmZhY2VzIHRoYXQg
bG9vayBsaWtlIHRoaXM6Ci0KLWBgYEpTCi17Ci0gICJ0eXBlIjogIm1hcGxpa2UiLCAvLyBvciAi
bGVnYWN5aXRlcmFibGUiIC8gIml0ZXJhYmxlIiAvICJzZXRsaWtlIgotICAiaWRsVHlwZSI6IC8q
IE9uZSBvciB0d28gdHlwZXMgKi8gLAotICAicmVhZG9ubHkiOiBmYWxzZSwgLy8gb25seSBmb3Ig
bWFwbGlrZSBhbmQgc2V0bGlrZQotICAiZXh0QXR0cnMiOiBbXQotfQotYGBgCi0KLVRoZSBmaWVs
ZHMgYXJlIGFzIGZvbGxvd3M6Ci0KLSogYHR5cGVgOiBBbHdheXMgb25lIG9mICJpdGVyYWJsZSIs
ICJsZWdhY3lpdGVyYWJsZSIsICJtYXBsaWtlIiBvciAic2V0bGlrZSIuCi0qIGBpZGxUeXBlYDog
QW4gYXJyYXkgd2l0aCBvbmUgb3IgbW9yZSBbSURMIFR5cGVzXSgjaWRsLXR5cGUpIHJlcHJlc2Vu
dGluZyB0aGUgZGVjbGFyZWQgdHlwZSBhcmd1bWVudHMuCi0qIGByZWFkb25seWA6IFdoZXRoZXIg
dGhlIG1hcGxpa2Ugb3Igc2V0bGlrZSBpcyBkZWNsYXJlZCBhcyByZWFkIG9ubHkuCi0qIGBleHRB
dHRyc2A6IEEgbGlzdCBvZiBbZXh0ZW5kZWQgYXR0cmlidXRlc10oI2V4dGVuZGVkLWF0dHJpYnV0
ZXMpLgotCi0KLSMjIFRlc3RpbmcKLQotIyMjIFJ1bm5pbmcKLQotVGhlIHRlc3QgcnVucyB3aXRo
IG1vY2hhIGFuZCBleHBlY3QuanMuIE5vcm1hbGx5LCBydW5uaW5nIG1vY2hhIGluIHRoZSByb290
IGRpcmVjdG9yeQotc2hvdWxkIGJlIGVub3VnaCBvbmNlIHlvdSdyZSBzZXQgdXAuCi0KLSMjIyBD
b3ZlcmFnZQotCi1DdXJyZW50IHRlc3QgY292ZXJhZ2UsIGFzIGRvY3VtZW50ZWQgaW4gYGNvdmVy
YWdlLmh0bWxgLCBpcyA5NSUuIFlvdSBjYW4gcnVuIHlvdXIgb3duCi1jb3ZlcmFnZSBhbmFseXNp
cyB3aXRoOgotCi1gYGBCYXNoCi1qc2NvdmVyYWdlIGxpYiBsaWItY292Ci1gYGAKLQotVGhhdCB3
aWxsIGNyZWF0ZSB0aGUgbGliLWNvdiBkaXJlY3Rvcnkgd2l0aCBpbnN0cnVtZW50ZWQgY29kZTsg
dGhlIHRlc3Qgc3VpdGUga25vd3MKLXRvIHVzZSB0aGF0IGlmIG5lZWRlZC4gWW91IGNhbiB0aGVu
IHJ1biB0aGUgdGVzdHMgd2l0aDoKLQotYGBgQmFzaAotSlNDT1Y9MSBtb2NoYSAtLXJlcG9ydGVy
IGh0bWwtY292ID4gY292ZXJhZ2UuaHRtbAotYGBgCi0KLU5vdGUgdGhhdCBJJ3ZlIGJlZW4gZ2V0
dGluZyB3ZWlyZGx5IG92ZXJlc2NhcGVkIHJlc3VsdHMgZnJvbSB0aGUgaHRtbC1jb3YgcmVwb3J0
ZXIsCi1zbyB5b3UgbWlnaHQgd2lzaCB0byB0cnkgdGhpcyBpbnN0ZWFkOgotCi1gYGBCYXNoCi1K
U0NPVj0xIG1vY2hhICAtLXJlcG9ydGVyIGh0bWwtY292IHwgc2VkICJzLyZsdDsvPC9nIiB8IHNl
ZCAicy8mZ3Q7Lz4vZyIgfCBzZWQgInMvJnF1b3Q7L1wiL2ciID4gY292ZXJhZ2UuaHRtbAotYGBg
Ci0jIyMgQnJvd3NlciB0ZXN0cwotCi1JbiBvcmRlciB0byB0ZXN0IGluIHRoZSBicm93c2VyLCBn
ZXQgaW5zaWRlIGB0ZXN0L3dlYmAgYW5kIHJ1biBgbWFrZS13ZWItdGVzdHMuanNgLiBUaGlzCi13
aWxsIGdlbmVyYXRlIGEgYGJyb3dzZXItdGVzdHMuaHRtbGAgZmlsZSB0aGF0IHlvdSBjYW4gb3Bl
biBpbiBhIGJyb3dzZXIuIEFzIG9mIHRoaXMKLXdyaXRpbmcgdGVzdHMgcGFzcyBpbiB0aGUgbGF0
ZXN0IEZpcmVmb3gsIENocm9tZSwgT3BlcmEsIGFuZCBTYWZhcmkuIFRlc3Rpbmcgb24gSUUKLWFu
ZCBvbGRlciB2ZXJzaW9ucyB3aWxsIGhhcHBlbiBwcm9ncmVzc2l2ZWx5LgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi9jaGVja2VyL2luZGV4Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL2NoZWNrZXIvaW5kZXguaHRtbApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTg5N2Q4NTcyZjIyYTBlNjZiYTZjNDcwNDYwNmQ5NGZi
NjZiYmE1OS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL2NoZWNrZXIvaW5kZXguaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDU1ICswLDAgQEAKLTwh
RE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTx0aXRsZT5XZWJJREwgMiBDaGVja2VyPC90
aXRsZT4KLQotPHNjcmlwdCBzcmM9Jy4uL2xpYi93ZWJpZGwyLmpzJz48L3NjcmlwdD4KLTxzY3Jp
cHQ+Ci1sZXQgcGFyc2VyUmVzdWx0ID0gdW5kZWZpbmVkOwotCi1mdW5jdGlvbiBmb3JtYXRQYXJz
ZXJPdXRwdXQoKSB7Ci0gIGNvbnN0IG91dHB1dEVsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
J3dlYmlkbC1jaGVja2VyLW91dHB1dCcpOwotICBpZiAocGFyc2VyUmVzdWx0KSB7Ci0gICAgY29u
c3QgcHJldHR5UHJpbnRFbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdwcmV0dHktcHJpbnQn
KTsKLSAgICBvdXRwdXRFbC5pbm5lclRleHQgPSBKU09OLnN0cmluZ2lmeShwYXJzZXJSZXN1bHQs
IG51bGwsIHByZXR0eVByaW50RWwuY2hlY2tlZCA/IDIgOiBudWxsKTsKLSAgfSBlbHNlIHsKLSAg
ICBvdXRwdXRFbC5pbm5lclRleHQgPSAnJzsKLSAgfQotfQotCi1mdW5jdGlvbiBjaGVja1dlYklE
TCh0ZXh0VG9DaGVjaykgewotICBjb25zdCB2YWxpZGF0aW9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoJ3dlYmlkbC1jaGVja2VyLXZhbGlkYXRpb24nKTsKLSAgcGFyc2VyUmVzdWx0ID0gbnVs
bDsKLSAgdHJ5IHsKLSAgICBwYXJzZXJSZXN1bHQgPSBXZWJJREwyLnBhcnNlKHRleHRUb0NoZWNr
KTsKLSAgICB2YWxpZGF0aW9uLmlubmVyVGV4dCA9ICdXZWJJREwgcGFyc2VkIHN1Y2Nlc3NmdWxs
eSEnOwotICB9IGNhdGNoIChlKSB7Ci0gICAgdmFsaWRhdGlvbi5pbm5lclRleHQgPSAnRXhjZXB0
aW9uIHdoaWxlIHBhcnNpbmcgV2ViSURMLiBTZWUgSmF2YVNjcmlwdCBjb25zb2xlIGZvciBtb3Jl
IGRldGFpbHMuXG5cbicgKyBlLnRvU3RyaW5nKCk7Ci0gICAgLy8gUGFzcyBpdCBhbG9uZyB0byB0
aGUgSmF2YVNjcmlwdCBjb25zb2xlLgotICAgIHRocm93IGU7Ci0gIH0gZmluYWxseSB7Ci0gICAg
Zm9ybWF0UGFyc2VyT3V0cHV0KCk7Ci0gIH0KLX0KLTwvc2NyaXB0PgotPHN0eWxlPgotdGV4dGFy
ZWEgewotICBmb250LWZhbWlseTogbW9ub3NwYWNlOwotfQotPC9zdHlsZT4KLTwvaGVhZD4KLTxi
b2R5PgotPGgyPldlYklETCBDaGVja2VyPC9oMj4KLTxwPlRoaXMgaXMgYW4gb25saW5lIGNoZWNr
ZXIgZm9yIFdlYklETCBidWlsdCBvbiB0aGUgPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL3cz
Yy93ZWJpZGwyLmpzIj53ZWJpZGwyLmpzPC9hPiBwcm9qZWN0LjwvcD4KLTxwPkVudGVyIHlvdXIg
V2ViSURMIHRvIGNoZWNrIGJlbG93OjwvcD4KLTx0ZXh0YXJlYSBpZD0nd2ViaWRsLXRvLWNoZWNr
JyByb3dzPScyMCcgY29scz0nODAnPjwvdGV4dGFyZWE+Ci08YnI+Ci08aW5wdXQgdHlwZT0nYnV0
dG9uJyB2YWx1ZT0nQ2hlY2sgV2ViSURMJyBvbmNsaWNrPSdjaGVja1dlYklETChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgid2ViaWRsLXRvLWNoZWNrIikudmFsdWUpJz4KLTxwPlZhbGlkYXRpb24g
cmVzdWx0czo8L3A+Ci08dGV4dGFyZWEgaWQ9J3dlYmlkbC1jaGVja2VyLXZhbGlkYXRpb24nIHJv
d3M9JzIwJyBjb2xzPSc4MCc+PC90ZXh0YXJlYT4KLTxwPlBhcnNlciBvdXRwdXQ6PC9wPgotPHRl
eHRhcmVhIGlkPSd3ZWJpZGwtY2hlY2tlci1vdXRwdXQnIHJvd3M9JzIwJyBjb2xzPSc4MCc+PC90
ZXh0YXJlYT4KLTxicj4KLTxpbnB1dCB0eXBlPSdjaGVja2JveCcgaWQ9J3ByZXR0eS1wcmludCcg
Y2hlY2tlZD0ndHJ1ZScgb25jaGFuZ2U9J2Zvcm1hdFBhcnNlck91dHB1dCgpJz5QcmV0dHkgUHJp
bnQKLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvY2hlY2tlci93M2MtaW1wb3J0
LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvY2hlY2tlci93M2MtaW1wb3J0LmxvZwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggN2FmZmMyNmQ5NzUwMDdkYzYyYjlkMzMxZTNmYzI1N2MwMDRhOWUzYy4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL2NoZWNrZXIvdzNj
LWltcG9ydC5sb2cKKysrIC9kZXYvbnVsbApAQCAtMSwxNyArMCwwIEBACi1UaGUgdGVzdHMgaW4g
dGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KLURv
IE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVhZCwgY3Jl
YXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0aHViLmNv
bS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0Ci0KLVRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2lt
cG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0Ci0KLURvIE5PVCBtb2RpZnkgb3Ig
cmVtb3ZlIHRoaXMgZmlsZS4KLQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1Qcm9wZXJ0aWVzIHJlcXVpcmlu
ZyB2ZW5kb3IgcHJlZml4ZXM6Ci1Ob25lCi1Qcm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5nIHZlbmRv
ciBwcmVmaXhlczoKLU5vbmUKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotTGlzdCBvZiBmaWxlczoKLS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L2NoZWNrZXIvaW5kZXguaHRtbApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi9jb3ZlcmFnZS5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi9jb3ZlcmFnZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0NmU3ZWQzMjRl
YzJjODMyZWZjMmI5YWY4MGZhN2M5MDgyZjY4NjQ1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvY292ZXJhZ2UuaHRtbAorKysgL2Rldi9udWxsCkBA
IC0xLDM0MSArMCwwIEBACi08IURPQ1RZUEUgaHRtbD48aHRtbD48aGVhZD48dGl0bGU+Q292ZXJh
Z2U8L3RpdGxlPjxzY3JpcHQ+Ci0KLWhlYWRpbmdzID0gW107Ci0KLW9ubG9hZCA9IGZ1bmN0aW9u
KCl7Ci0gIGhlYWRpbmdzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnaDInKTsKLX07Ci0K
LW9uc2Nyb2xsID0gZnVuY3Rpb24oZSl7Ci0gIHZhciBoZWFkaW5nID0gZmluZCh3aW5kb3cuc2Ny
b2xsWSk7Ci0gIGlmICghaGVhZGluZykgcmV0dXJuOwotICB2YXIgbGlua3MgPSBkb2N1bWVudC5x
dWVyeVNlbGVjdG9yQWxsKCcjbWVudSBhJykKLSAgICAsIGxpbms7Ci0KLSAgZm9yICh2YXIgaSA9
IDAsIGxlbiA9IGxpbmtzLmxlbmd0aDsgaSA8IGxlbjsgKytpKSB7Ci0gICAgbGluayA9IGxpbmtz
W2ldOwotICAgIGxpbmsuY2xhc3NOYW1lID0gbGluay5nZXRBdHRyaWJ1dGUoJ2hyZWYnKSA9PSAn
IycgKyBoZWFkaW5nLmlkCi0gICAgICA/ICdhY3RpdmUnCi0gICAgICA6ICcnOwotICB9Ci19Owot
Ci1mdW5jdGlvbiBmaW5kKHkpIHsKLSAgdmFyIGkgPSBoZWFkaW5ncy5sZW5ndGgKLSAgICAsIGhl
YWRpbmc7Ci0KLSAgd2hpbGUgKGktLSkgewotICAgIGhlYWRpbmcgPSBoZWFkaW5nc1tpXTsKLSAg
ICBpZiAoeSA+PSBoZWFkaW5nLm9mZnNldFRvcCkgewotICAgICAgcmV0dXJuIGhlYWRpbmc7Ci0g
ICAgfQotICB9Ci19Ci08L3NjcmlwdD4KLTxzdHlsZT4KLQotYm9keSB7Ci0gIGZvbnQ6IDE0cHgv
MS42ICJIZWx2ZXRpY2EgTmV1ZSIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7Ci0gIG1h
cmdpbjogMDsKLSAgY29sb3I6ICMyQzJDMkM7Ci0gIGJvcmRlci10b3A6IDJweCBzb2xpZCAjZGRk
OwotfQotCi0jY292ZXJhZ2UgewotICBwYWRkaW5nOiA2MHB4OwotfQotCi1oMSBhIHsKLSAgY29s
b3I6IGluaGVyaXQ7Ci0gIGZvbnQtd2VpZ2h0OiBpbmhlcml0OwotfQotCi1oMSBhOmhvdmVyIHsK
LSAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwotfQotCi0ub25sb2FkIGgxIHsKLSAgb3BhY2l0eTog
MTsKLX0KLQotaDIgewotICB3aWR0aDogODAlOwotICBtYXJnaW4tdG9wOiA4MHB4OwotICBtYXJn
aW4tYm90dG9tOiAwOwotICBmb250LXdlaWdodDogMTAwOwotICBsZXR0ZXItc3BhY2luZzogMXB4
OwotICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VlZTsKLX0KLQotYSB7Ci0gIGNvbG9yOiAj
OEE2MzQzOwotICBmb250LXdlaWdodDogYm9sZDsKLSAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwot
fQotCi1hOmhvdmVyIHsKLSAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7Ci19Ci0KLXVsIHsK
LSAgbWFyZ2luLXRvcDogMjBweDsKLSAgcGFkZGluZzogMCAxNXB4OwotICB3aWR0aDogMTAwJTsK
LX0KLQotdWwgbGkgewotICBmbG9hdDogbGVmdDsKLSAgd2lkdGg6IDQwJTsKLSAgbWFyZ2luLXRv
cDogNXB4OwotICBtYXJnaW4tcmlnaHQ6IDYwcHg7Ci0gIGxpc3Qtc3R5bGU6IG5vbmU7Ci0gIGJv
cmRlci1ib3R0b206IDFweCBzb2xpZCAjZWVlOwotICBwYWRkaW5nOiA1cHggMDsKLSAgZm9udC1z
aXplOiAxMnB4OwotfQotCi11bDo6YWZ0ZXIgewotICBjb250ZW50OiAnLic7Ci0gIGhlaWdodDog
MDsKLSAgZGlzcGxheTogYmxvY2s7Ci0gIHZpc2liaWxpdHk6IGhpZGRlbjsKLSAgY2xlYXI6IGJv
dGg7Ci19Ci0KLWNvZGUgewotICBmb250OiAxMnB4IG1vbmFjbywgbW9ub3NwYWNlOwotfQotCi1w
cmUgewotICBtYXJnaW46IDMwcHg7Ci0gIHBhZGRpbmc6IDMwcHg7Ci0gIGJvcmRlcjogMXB4IHNv
bGlkICNlZWU7Ci0gIGJvcmRlci1ib3R0b20tY29sb3I6ICNkZGQ7Ci0gIC13ZWJraXQtYm9yZGVy
LXJhZGl1czogMnB4OwotICAtbW96LWJvcmRlci1yYWRpdXM6IDJweDsKLSAgLXdlYmtpdC1ib3gt
c2hhZG93OiBpbnNldCAwIDAgMTBweCAjZWVlOwotICAtbW96LWJveC1zaGFkb3c6IGluc2V0IDAg
MCAxMHB4ICNlZWU7Ci0gIG92ZXJmbG93LXg6IGF1dG87Ci19Ci0KLWltZyB7Ci0gIG1hcmdpbjog
MzBweDsKLSAgcGFkZGluZzogMXB4OwotICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDNweDsKLSAg
LW1vei1ib3JkZXItcmFkaXVzOiAzcHg7Ci0gIC13ZWJraXQtYm94LXNoYWRvdzogMCAzcHggMTBw
eCAjZGVkZWRlLCAwIDFweCA1cHggIzg4ODsKLSAgLW1vei1ib3gtc2hhZG93OiAwIDNweCAxMHB4
ICNkZWRlZGUsIDAgMXB4IDVweCAjODg4OwotICBtYXgtd2lkdGg6IDEwMCU7Ci19Ci0KLWZvb3Rl
ciB7Ci0gIGJhY2tncm91bmQ6ICNlZWU7Ci0gIHdpZHRoOiAxMDAlOwotICBwYWRkaW5nOiA1MHB4
IDA7Ci0gIHRleHQtYWxpZ246IHJpZ2h0OwotICBib3JkZXItdG9wOiAxcHggc29saWQgI2RkZDsK
LX0KLQotZm9vdGVyIHNwYW4gewotICBkaXNwbGF5OiBibG9jazsKLSAgbWFyZ2luLXJpZ2h0OiAz
MHB4OwotICBjb2xvcjogIzg4ODsKLSAgZm9udC1zaXplOiAxMnB4OwotfQotCi0jbWVudSB7Ci0g
IHBvc2l0aW9uOiBmaXhlZDsKLSAgZm9udC1zaXplOiAxMnB4OwotICBvdmVyZmxvdy15OiBhdXRv
OwotICB0b3A6IDA7Ci0gIHJpZ2h0OiAwOwotICBtYXJnaW46IDA7Ci0gIGhlaWdodDogMTAwJTsK
LSAgcGFkZGluZzogMTVweCAwOwotICB0ZXh0LWFsaWduOiByaWdodDsKLSAgYm9yZGVyLWxlZnQ6
IDFweCBzb2xpZCAjZWVlOwotICAtbW96LWJveC1zaGFkb3c6IDAgMCAycHggIzg4OAotICAgICAs
IGluc2V0IDVweCAwIDIwcHggcmdiYSgwLDAsMCwuNSkKLSAgICAgLCBpbnNldCA1cHggMCAzcHgg
cmdiYSgwLDAsMCwuMyk7Ci0gIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDJweCAjODg4Ci0gICAg
ICwgaW5zZXQgNXB4IDAgMjBweCByZ2JhKDAsMCwwLC41KQotICAgICAsIGluc2V0IDVweCAwIDNw
eCByZ2JhKDAsMCwwLC4zKTsKLSAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7
Ci0gIGJhY2tncm91bmQ6IHVybCgiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFB
QU5TVWhFVWdBQUFHWUFBQUJtQ0FNQUFBQU9BUlJRQUFBQmVsQk1WRVVqSlNVNk96c2hJeU01T2pv
cUt5MDJOamdzTFMwMU5UWWpKQ1V6TlRVZ0lTTWxKU2MwTlRVdk1EQTZQRHdsSnlnMU5qWW9LaXMy
TmpZckxTMDJPRGtwS3l3ME5EWXJMQzA0T0Rvdkx6QTRPam8wTkRVdEx5ODZPandqSXlVNE9Ub3NM
UzgyT0RndExTOGhJeVF2TVRFbktDb29LU3NyS3kwcUxDd2tKU1VuS0NrckxDd3BLaXd3TWpJeE16
TXFMQzB0TFMwcEtpc3NMQzAwTlRZd01ESXdNVFFwS3lzb0tTb3ZNREV0THpBMk9Ua3hNelVyS3l3
dkx5OHFLeXN6TlRZNU96c3FLaXc2T2pzd01ERXhORFVvS2lvek5EVXZNREl5TkRZMU5qZzJOams1
T1Rvek16VTBOalk0T0RraUl5VWlJeVE0T1RrdU1ERW1LQ293TWpRd01URXJMUzRxS3l3d01UTWhJ
aU1wS2lvcEt5MHRMakFrSlNjeE5EUXZMekV4TkRZeU5EUW1LQ2s1T1RzbEppZzVPanNrSlNZeE16
UXJMUzhnSVNJd01USW9LQ2sxTlRVbEpTVW5KeWd3TURBNE9EZ2lJaU1oSVNJOFBEdzZPam81T1Rr
cEtTb2pJeVE3T3pzeU1qSXBLU3NzTEN3Nk96dzFOamxyZkxha0FBQWcyVWxFUVZSNDJqUjZpM2Vh
NnJZdlBnQU5JQWhWWGg4V3ZrUWxpb1VpRmxGY0J0QW1vaVJOZHp4cXU5cDBKN3ZyZEsyOXp1UGVl
eDc3bm52Ty8zNW4xcjFuZEhSa3RJMGpUT2Fjdi9sN2xDQks1VXFWcE9oYS9ZeG1XSzdCQzRUUUZL
VlhyYllzbmltcXh1dU1WbE9RMFhsdFdqVWRDd1JKMU0rdEMxS3VkT3M5cTYrZGEyYWRVZXdHMFND
MFN3RUxmSHRnRGRzOTNWRXV5ZEVibDNRTVdlTm9Za1I3Yi8weDFaUm9iR0kzbUx3ekFoZVBxVEF3
aGc2YW9nak5zR3k3L2p3UTRya2RxZTdDV0x4RjhrOUxmTVZGeVJTN1ZKcXRrclc4VnQvYmtSOEZa
SmFvMTZpcGtuYkMzWXcybE03bGFPNkhCRU9hZEVaMnRwZjY1YzR2OGUzdTdGeVU2cWJpTk55Q3V6
WFo2cGF3Z253Z21ycFRUL1E3dzJFWm1pSUowZHpXREk3bWhRODBJZlJuTXUya3pBNXI1cjFwSUZv
aWErL2Q5M0hSWXAxR1Y4VGJya1dvVS8ramRJMEZmNnlHd1RqVDFIbjhKKzhtMXJLcEdpWVB1TmlI
bk10Tk1Jdit6cHNrODRNWVROVzEvK0Rwd1hMdmNrZE9DTVlvd1ZOUFJFZTBRbE04eFJIWFhGaGNO
RHp1cHdzU21iNXBIKzB0MFJQMlFrK1F0STdGMVFtNkpSQzZaUEJ0UHEvZHEva0granh0Q2xqbjlU
SXBXNnJRSWdtU1Z5ajZsUElDSXc0Ti90YWthNDFQRlVJbnRoMGplOStqTzZLdDFHNC9hN1YyTEVn
RzAyQjBwSFZ1Q1pyZ2x0U0tNdUlsNVN5dWZVdjltWXVRaSttRmd6YkJFdEZvMmcrRGg0c1NUckxO
dThKUGgwMHNReWRwYjAwdHFYQnZxUk43UTdrcXpjbkl4Q0dudlp0L1dtSmFjb09FTzZEY244UXJl
MDNwT0NTUXhiTU9YVXVETng5U3h1THo0VzFJMThndmpWaVE2N3pWMHJ4ZFdMOFRlL1RRa3VvOFNU
UzQxRFI0OFc3TDZZUDJ1V0lxaVVWOHJkNkdiZi9ybmVnS1plRzhUcEFNNmFmaEd6ZTlKQU94Ykxq
c25VWEViclo5dkxZZDdNVDMyY1BGNW1LS3htank3aHVhb0Q5bjYyR094bmkzaUlKd3YwSXpaQVpq
ZFprVXRvbENOTFZmWVpOYXF1RmpHc3pWVmYrSjB2cno0Q2F3b0tkSG5PemIwTk1IN0NEQk95YmZZ
Tko0cmZlTXlGTmprRllWVHpNRnM4N3JuUEdYTFVPZU5LUlZjMExuVTcvVUlnZWx6c3kzQ011dGgw
WWZ2blkwd3NEM3ZPRFVMM2VKY0txSFFwbTh5TTNYWlFXSnhPNlVuOWlZbG95eUxwT3dOMm9iSHk2
VzZnYnBjYjQ0WG15QyttZytpdEFjYXByR2Nyd1pDcU1qL0dtdEtuMHpQdnBUei9DdjFkdzIxWHdQ
M2NSdXBnM0gzTUYvUzcxZVRLajFZcmR3S2RjMk13MGZSbWIyc0ZmOGxXM2FVNkpiSVpTRVBxdlh2
ak03Ry9hQXB5WGxYZXFLZk1xMGcvU3UzclVHSlBTUHJ0R0VsZ2tuclpNM3hVWHFzQVA2ek1DTlZu
NXU4YUpuU05wSnYydXJ1N3QyamZSemlXMitHdWhxZmxkVU5iUGs3MW9sd28rNDZlUFVvMVUzV0tr
L2U1WUswN0Yvd0dSZ2NwT0RtUW5JbFZlSENXQkU0cHVCaTJqcTI4VUtwcWlOMS80VU9yR3o1OVRO
WXJyUUh0ZCsxMXNHNDBCR0QrcFhkZWxOcUdPZzROWGU4VzRlYWNKVi9OUzkvMlVtdHltNldRcXZl
cVI5eGRDTUVscHhuYmthbE00VmY5dWFFY1daYUtkeWliRUlqV0t4SlpQTjk1bmlDTDNHaWFYeXNz
SXJIeG9Ma3FrekxDWFVMTjQ2L2YyaDN0UUpneWlwK1RrOUVBako5YUpzaHE3dDhYNDVhb3dTS3Nw
TVN2UGY3cjlSOHl4TnB0SWFIUzVvenVFbTZsdVBEQXB1Z3lOUDhPYXFpUTRCamFlcXVYQTU0U0xD
ODNlSElZMnIrQ1pwNDQwOVhxdzhBYTJvSTdYa0NyUWkraW4wdzVBcUYva0xOcmNVeitxa2wvbEFv
YlkxalNueDVPSk5oeVhJejNxZk5GbFhjMFRLYWdsTndkV2tXWXQ5UVExS3I2Vzh6dWUyMWlOcmRK
aytONW9DcjJPOW5FdFdLQzdJUzVKL3pkREVZcm1uQVlmZzZhZ0N5K3FjZ3o3Wm9mZURjNFBiVVdT
dmtzaFd1QWM3T2ppVXlMa2orUkF0ZGx3WEpjanhkcGtUVEhEaEs4bEJDaTgrSnR2RFZMMVc2ZWxt
T00rK1lTMEx1U2xhUDFvVXZBZWlXM2NGbnZUcjhFYlR6MXRzU01ZZEdlWmU0MHNSV3U1dUFmajdx
K1pvS3YyRk5RMHA1WFkxbG1sY2lnSFpxVFBwYWJ1ZkVWck51TlBpMTY1dzN1Q1ZRSkh5SnFtU0o3
WkhuZ3Vxd3RDbXdWaUlKaWpqMDRiYTJKTll0Qit5T1JmNWdnMS85dDlpdzR2VXBlcWl1blNBYmYr
SUJkai9iK2lHMnFySHZ1TlAwVmQvK1RoVlpUL2xydkhZampnRGJieXhhcWdITk0ydWh4YTFHVzNV
ZWRaWWhNTXdNNG1RaGx0b3VLK0lWNE5kYklRTk0rOFl2MzExUlprOWtUNHRpWVI0TGt5RmN1UHBk
Y2p1aFV1RnFCQVdSWmExMWxjWjNnRUJsWHl3c05ocnQrcGxJU1pQNURsc1Y5bDRFZ1k2SjN5WlBU
VWNNcmdhV0FUM29JNzllU2JHRWJjSnByNkJEOGt5RGlWdCtHMC9oWG9zUU40TkZYS2xmV0lmc0lz
MEJIT0RWb2sxL0lHbktGSEpZSXF1aDhYbysyK2JrUU5UR2dXbU4vZlowWTMzTFNqNmxyMUd5Vjdt
V0lLZzdaVFJaUEd1aEYvempSTmNRMVVQdFNZZ25XUXhTczB5clZod05EY2RHTU5TTmUySlQzV3V6
YkFNM0h5a3lBYWpTM1VwaGY2U1RLRXF4TGFzOUVubW5oQS9seWo5VWorSm9ZN1NWZ1ZtR0xsNDZS
bTJ1OThzYmthcDJsekFkS0JHNHI2TGd1bFFPU1NqUXYxR1dkUTBqdERVSy9tQWFxTTFVcWpwdTRr
M1J2ZnZ4djdZVHhMU0srd04zRTVqVkl6bUYyM3VaN2hpSC9zVlA0OUQ3dHZvS3A0UzhiMUx1dlJs
aXZWQi9hbGdiaGNGSVRZVlh2RHBMenBEZnBsUjJ1RDVWNFhKRnhwam1JcExjOVk1c0IyVHBCUml4
N0JtZTZHWklxKzA2djNYek5lVGNBNG9iUUlLeHJuVDRDMkpwT3FEOTJkYm1TWDhNR2F6bHk1RXNa
Vk12U1UxZjRSWnd5dThpUVhiVmRlTGxacmp1VFQxanJZMXVrNWM3aVo3UnN2aGhsdXFBa3E0SnBW
UUFnN1JKRnRTdSt4Z0o4UHY2TzFqNURrTHhUOG1rYmZ5Ulc1RHJRbUc3aGlESWpDZ0JzQURianVv
ZjZZSExHZVY2YTVRMVNteDlqb1VYUHBkYWFEeDk3QS9XcTAwb0prZFI3Wll1UVJmUzUzM0p0eE8x
ZXJkdXFXT1lJdDN3aDB3cGJMdUNOSVlrd3hic3diaWtDVXUyQ0RDUytRKzdyZ1Z0ZlJjbStTT2Nk
S1BSbFovckU3d05WVUVFMzlLVFM1dXZVS04xUFVua2xvUGt5emh5R1E4cWtvdUVqSjNIL1ZYZHFH
NmFzU1JpdzNlY01sQnZERHQ4ZERoQkhYTXdaMkNhanpqcjcvNzZUK0lhdnFQWXZ6NnI3Ly9FLzNY
MytOLy9oLzBRb3pialBnUGlpcjY5UC84WDMvOUYveXY4Yi84MjcvKys5OFdJdFB1NS9IdndkOFlQ
ZjVicC8yL2xYL1QvK09mLzBNSi9sWVRhK0wvRWYrZDl2Ti8zLzJUNlAvK2p5VHp1L2V2ZjZVN3Z4
TjdCNnBKa1J0QUY2alVyOEkrUDhSc1AvcHRHaGZxRmsrcFEvRGdBeTZOSnRSWUpkWG1wNGdLN1dM
cUxLSitNYUtoR2pPb2p2TCtTbklXcmtweTBTTEhEZTRRdXlOemFFQTE1bUxNQ2NtRThFbSs0SGRP
aWhXNC9aV3VwcEpFbXplQXdjRHR2N011TGM5eTJWNWF0dnhYTmUzUzREVU10NS9ReTJMTTlrU1lL
aVZXQnVLbGZwNG54VG50cHVXMDNKYklsa2lSdkJYbVQyM2cxSTJPWWU2SWl6VUhQSXE2em02bWJm
c2J0ZUttaS9zZzlKK29jUUJNY3RHRk83aWxqbzhUUE4rejNqeHc0ZG8rWndmcW9SOWRrTlRLSHlN
MzA1R3BUa2ZoY0hleFZrUFZHRWJVT2p1bzlmMFVNUEhCRmxHRXgwU0x2SnZWUktUd1c3UFNldzVv
UG1lK0U0MitmckphOWNHdDJualMzZEs1a0lpZjJlWWJodVNFUVhFcU1WZlVqaEdJdWluMEcwL1c1
ZXpKeUpReTNTcE1MYWk0TTBKVVdiNXUxazl0bnk1YmQxcFB3WUJwUXVEQ1habDYyeGc0Q2RWRUF0
ZmxYSHM2SkttUC9wSDZtT2w3OTZMZ29wajBvOGQ1a0toMDBoeEczT1NkRUUvUUJvOUhncjhKSnFB
ZUxEd0pvaEc1ai9ER2g2MVJjLyt0ZjIyLzhrRW54SE5DRWpvMEVsdnZHZkVTWmtxbXoyQkRjS1Yx
SDFidVNraGtkZzdwMUlNR3MyczE3bllqcGJscld1RTJLOVdFTy9oY1JwNWU5b09GL1FCbU9hRHRn
aWwrb2FVNnN6UHJkd1c2NWZPQjBLVVRzVlVuN0xGVTdKOGU2Y3hKSWw5K0ZIdzVNUU16dVFKKzRv
eE1IM2lXLzVHSytoV3VHMFQrZ1RMcytmQWpkdFVkNThUbUlVcTA0RWV5UkNZQ2prbGRvdzIzNGFJ
Z1I1YnF3cnRab3NaKzZZRXFBbURxYXRKOWxXYXN6NElxdUtBTFB0ZDkyaEdJM1oyQmR6elp1ZStS
RWwxT200RElXRCtScnRVVE9KTEkrUzBqSG93WFhkQXhzR0xTZDQwellOdUVVbE9HaHJ3TDZjN3Rj
T3RVT3ZwSkNQN1FCUVMxOUgrR3ZabjA1ZXdqbFZMeitJR0tvQzlUeWZRakxNQk5tWEN1cXF0VGRP
U3VrWlc0OEIwSHFnU1RDQnJCbmxGdkY0Q0cyU3U3eUZ6cW1KRlVSSzNVbVRUM3J1MDUwcjBwdFVw
TWlsWW5CSldmbDJCdjZrUGxVdUUxa3h4cGR6dWk5QXVic1IyTjJib1ZTdTgxT3VsQXdCcW9TcjFM
WjBMTFlPb215WkhtanFuWGxQNzJzOExuRG91RUpqdG9kQnZkSGFHMWpNeVNZTzdjcldkOTBNcENS
eUNHMTR2YjVJRTdBcnVwdy95L1JjQ20vVG0zeks2ellqOFBZTmFHbGRpVWZrQi9MSFdjbWYybFZN
K213eVUyN2EwcXEydHNjclEvdnpCak4yNkRubnRJck95R2l6elhLMzV5S1FkWW5VQUJreU40c2F6
M1dEL3ZpRitlQ2NzWG5JYWpkV1lKV2FZSFJzdElpczlDUyt0cW5GR216Mmo1dXpmcjNaNHBycWdL
NFhPVC9QeWZ0dmpacUltOGxoa2Z4SjdPbDNDSkYxcGlZQkdBRzh3dEFrNTZEcncxWXdtT3BjeitO
ZGZrU3BTTHBsUlhMWEhMMFJxdWo2WVcvZ2FicWdLN0RncjZOd3RIMEIvQU43WHJOK01WSjZBbVht
VXVxbVF1bHJOTllQbUgwUm9Eb2d5ZE9LTG8vUWJmWU5BUlNRUUtJU1JDelJYVStxOVdXSkZMM0xa
VzZ1MzRDa2VHOTd4QzBOTkdhSjBidks2U25aUzN6UHNrcjVFdHVDZ2pNV1I1bzJ4NUJxaEttRFdK
UFJlN0pNRU95UmI1dVVLbEhhR1Z0cTVpdlNPYVNsaVNYcDlTUW0ycWs4TVJKaDEwTUFwOVFRMkg1
dDU5Sjhyaml3U1p0b0lmTUdqbExQVk5kWWwvTEJSMEFPNldMR0Rta0xrSVBSRTQ1WTlNZnRkQUsv
eU51MUhuNnR6T1FUZXNnUSs4ZlN6QjE5d085MXZDbk8yM3ZPV1Fkd0o2M1NKcllqZGZLRlc2VzI4
MVBLczJrOGlUOWFpMWNnSjRzYTN4cWR2bXR4UjgvK0QxQjhBS2MydSs2SmZ0cnlSaE1XU1F0b1NC
Z0l5eVFHeXhjbkVMdUFhc1hOMTJvU3JpVTRSTXoxREQ2UkwwVFNWK29tN2kxWXQrakVFL2puYXdN
OGNYL1VoTjRua2l2L3c5ZUFMcnpOaFh1UWZPekZMMEZpNlNqRjcvNFFuOHJMWUJvYTg1Y3ZnQW5r
Q0VCUCtIUGJFbnF1VlhDWnNNUy95ell3MlZydTYwUC8rbkpQWUtrelpGam1ieWt6VW9FcVY4MzZU
NXEzZlAvTDM4M2RGODJ0eDE4L0FaZ1pjek1BZ3llV1lLbVNaSXF0SEwrZStPNFpSY3E5VkkzZy9x
UGVDb2lLNHBjZ0VxZGJTMFMvQmU1NHNiVlFPdUpWUE5CYmxJZ2h6ZWFzTnU3aC9nK1N6MUlkaEk1
bEN3cTFuVWIzSmk0T0NJY3FRWnF0cUo1dzdyWHJnL0RBOUlnVm1FR2hEZ0dlY0V3bkNUSGZmWGNY
czBWM09DRVZ6WURLUzF2cC9vWCtuZys2WFZVODZVakE2Rk1PMlJYT09PcnFZMUdnUHZyQWs5SFYv
Qlh0Q3U1UnV3RjhxZ2RHRExzQmN1aTRFMzN5bWRCaXAxWDh1S3loSVdUOHFOUkRzWHorZ3ZPOVVp
RUMwZDhSRzRUZjJ4OEg0c2xsamdIdENCY3hITFRXT1lKbTVIL2ZDUEN6T2dmOXFnT1V4VFJaMFBj
NmhhNXlMdUxWVDludHZJYTZnYWNFOTltQ292ZFV1bVRRZFJQNFJQc1M5MTI5ZUVlMnVTdnZHaDBi
VjRZM1FQUGhQWk1xaFpXU01hNVIwSGMxU0dPNElWT1FjMEZyaXJsaWJUVmZLUnJZa0Q4a3ozYitY
NjUvUWtVTmFaZHJkbDNtQ2FwMEhmM1ljQ3cvTGlvdUpZTmJxejg4VXFlRFl2OTN5Tzd2dlh0Z2w0
WEN5QU80T0RrWTZXKzgzK0xaVS8vcDMvelhOR0dyVUtDbENpT25MMjdpSlpiTldERjAyWFhBT2VG
bEI3SWFBRG9NSDFZcXIrVVA5Yml5WkRFYS9pSnQ0TURlSXo2R0tUZExWQmZXR1Z0Uk40ZmRUMnJn
UmVYOFVYd0Yyek9ycmFkbTRKMG55VGdkUG5haTNSdnpwWnZDS0RVcWpPd0QvUUE2RURhTUNMZXdY
NlFXWVZuSFkxc3gxYmQ4b3ZZblBtMVp2UEgrckUyMGxXak9Dblo2Ni94RHQwUUFsMTVGamZCY1pw
K2k5T1UwUk5QUTB0M3gycFNOV284ZWlZdWR3c251UDFIcTZpSDFMSkNKeW5rWXNmZ0owcDNwRjZT
b1FrMmwranFFOENQayt6aUdKUlNLanMrVzVBTzE4NXVtUGRrWXpsSzR3bDdUQzlOeHl5RFA3Wm95
WVZvWGl1UzZTam5JbmxMV3J3ejFpOGJHVEtYWDBBVlFXa1NmSWxnbFczelJKUko4Ymc1VmdFNlpF
bnFOdTlCKyswR05RdkRRSnZGaXplNEVTTktCSlArOHZBM0xNNEFYNVNJQnEwOE1vYis3UU1UQ1p4
NG53UC82NCs0Qm5sWkMrOFd0bFAvQ1h3NnQxUHdNd2tKM2poUDFGaVhMaERGLzNJNkZHVXpPMkRT
aTlBQnhLeXlMOXBhWnhTRXo0MFpDUFFUb0RBSnUxOTU5azdRZGJWeGdCNGljc3UyczR6c1RQSmhj
RURvK04xR1g0elNrL3dyaVJoOEFxd0w2Mjk3Mmk5SEpIZDF5ZGFMWFZ6dkt2T2ZHR3c1UlZjVVZN
aUtYRkg0QVBka1FVL2RjNUJYMFlmS1ROWllYQ1c5bWI4YmM4bXVmb1FQNkJiZFFtVDk5WmpvWWZy
L2dvNFRnUVg5SURnenRpbTd3eUZlR01mYk5hZXFqOER6czM4cGdjcXdTdjJoYnFCM29TR0tXS3kr
c2VzWTdwNTd3QUhsZHFFNk5EdWRrL1c3cy96anJLNHJaRmxGdmFHeG5TWmRIYmMxeTQ3cURONnhr
b0s4TzNiZnIyajQxZGxKWjcxckI0ZGxEcWFwUEZhOE42eEJycHJVZHRlblVDSHd4S05odzF1dVRC
aCs5dVU0NWs0UkVwUUFCTjJiQU85RFNMcW9JTDI2Z05yb1dndXA1cFVNeEhVTlNxNEd5ejQ3dkJQ
dmlscG81ZjlPWUkyZGRBcVRxbW54WEVSeFFKM1VLOGZIYlZFOUhhZ0hpMyt0cU5Sb05zQXJkbUF4
SEE1THd0UW85WkFhTktVVGxqbm9rbGpvMng4c2NxVnBFRUlQYzAxZlBDZEhPQ2cwRGVXQno4RDVU
VkFBZng4YVJINVgyWllOSTNlYktEWmRlSitvQkRBeG1ScUozMEVoMi9EYWVBeTVkaVZOTXBFRG1Y
aVBEc0dUekJMWHk4ZVZEZEpvSWFmZ3gvZ3hNeVFpNDU0UXJXNTZuQ3llRUxnU3VOTkVtWWtmbEYr
dDNDWlFPVlJXaktoSXVDY2xtUVNsQVhUMys0SkdHNzVCNHQvNWhRK2xkTVA0THNBVzZ6M1htVTZJ
Skp3cG5HVm5zZ1VaaG9ZMWZabHdUUjh3U1U3eFJlamYydUN4OVo1dHJWVFJSSlA5S25FYjEzNGRF
aWVpbDZlQ09HV2dib0k3eHNxc3FNOTlqZkpMVGVQanlnS2xIMkNWeHhzc2U5UVJ6VEJGakQvS2px
aXRyL0NDVEJ0L1NKNm5MeHo3Y0tQOXBGcUJwcDBsTjV5K2FkS05zWmpyUHVyb2VtWmF1SDlhVFRG
RDNFS0hXOFM1NVhCTEZRQXQxamd4VFFDVHd4bXgvSnlmc1pETjFScm9OM1ZheHBTZW5wSVg3Syta
Ykw4VmRsUURjSTRDYnpnM1FKTGE5eVZxTnhVZWx1K0V0eExWcWVla2FBdlNKa082c1NWcWJVYWp4
cWhLc2hOcHZacW9lQXBGMGsvMFAwaWtrd1VjYmR3YzRBMWVqTjdPbzBPMTVrRzdoVE1vSzNoWlJC
Q1g3WVllTFcwd3ZjWHgvMThuL3UzN3lMZ3pCWVZCVXZPUkdsaStzZlJjWC83NHVENlA0aHErN3h1
NTRUbFdKTEZ6VDYzdXdVRHd1RURkT2pKUXF4N0pWK1pqYUVBUGk3dDBNTXJSNFE4UmtmMTh1eEQ2
UkswUktoMGhMOFlVK0RlTDk3aTRwYTVaU3lBZlhLd1pSUy84Z1hjeGRaWG02MlJCRGo4VTNzTjh4
OTViNVBwUHMvbUNCS1l2cGFBNTBwTjVDdC80OTlBRlR0d1E1dmdlU2grTkhyS0lpNE5WcHdNL1h6
UmFOZkpEODU2bFBFNk0yMXpXUGd1RnNIN2piTFZ5RURmUm10NFZ3cmhDSjVWVFltY1NQZkdnTzVj
bGZOK3ZiYURaN3Nha1U1KzJ2WjJXQ0RZMDMxTnhKYXJWeXRmRERWdGlhZmNUR08yckovdGFvTDN6
Q2hOMnFtanhvZmN6VE9ZUVBQVlFQaDBKVnRZZ2RVUUlOY1NpTkVFeTU4VWRZWFgxTXBXVUNFQng3
TGJjR3RBbThYV1JRVFZPYW9WM3lTcmk0UlNoaHMvQi8wbTRqWDZPQXdYT3ZjQTA5Yk5TRzRjekVH
di9XZXk2Vi9qYlRDTlRXNmF3WGROVGNBMUdzUGUxRTlmWmRHbDdSMHZ5b1ZwSWRKdGZDNmQzMk5O
RXJydnEvUitkNjVWRytZT3dSWHBwWHhPQ1l5R05TZjFLM3g2VnhBVy92dHo0RUMxU2dDT1NQZE42
MnNMc29JenVEZmc4R3daQWJxdVZPOEhJdUZQL1RvVm9lVUI3bm53TUYzNWExd0sxdEk2ZmtycUZL
aFFkZUpwd3lsczBwSXk4QVpkZTMvNkxVVWJGYVlKdGh5VUpTVS9rcURYVExRRWxubjBKcjRCMlJW
Z2hOcm1ObW9FbjdwWEllc2hQZ3VYVnN2d29UZG1DbHE0OUpKVTNMV2hIeVdUckpMOWJSUDZWS3Yz
dFpvQS90aDc3cDVKdysrT0VFTnZ5dld5L3BOZUV4aURVVlFhWElSR2g4eHlTWlRJMzZ5dWVGYVNY
bzF1SlkwUm5YWWdFT29XV09KSGVhVnVYL2JHTmhIc2gyeWluem5sLysrTkpjRTlqNmZCUFJjQmRx
OWhiOGF3Tnc4VTdCbDZHTTd4NjlFRE9JSWJYL25wWisrYW1sSFI5TC8zNW1FLzJTczRnYjB4Q2NZ
NFZ5VEZMUkU3OTZ2SHlzTEFhbXFjeU8rYUZReUpJREJOc2xiSDIvTXJBdlppU0VJZWRjL2Nxam12
NGZiZGEycFhiditGNWEyc3pTc2RrbTlub2lOVVJYdDhlZFVoR1VGNmZTWldkMUlKYVhLRndEKzQ5
UjZlQ1hENEJrZWY3ajl0UnROTVZnVzhCaFJ6L1FweTFUbWVZazBkb3lqWm9KU2JlUE9SZVZIZ2tG
c0NGdVFKK0xnYzRCeGVBc0svY09pTkRSbWROdzBjdFlobi9uUTQ5OGRZSTV6bnpHTG9KaTFyYXY3
Q244OHJMM3dMZVBWdERLNWdsNzdUa2kzZ0hFc0lBUTIrSUtnYXJqN1k4VzFJUXpWNVY5TiswVGpM
cWJnNjhXZktjT21CQ09qM0prd0poVklrd0RoYytKb3JYdVpFUE1FaDB2dkgzeDdpcWYrVkF3WGdk
NGRpWmlhSkQxekhMOVNueDZXZmc0SXVncmV5aGFiUWtjaXIreTVYZ0R0ZHgzQXZzN2xrZWVDQndE
dlpvVFVDWHg1UXJaa2NFcVdmWUVpRVlScy9FcGhtUkFMU05HUjFJY2xnZHI1VkZvRUxwekY0Kytm
MzV3My9qMHQ1dWNXM24yY2g0UFFDTHVVWHVwc1BSUjdVQTVGalNLck10UGNLQVpKZmFnTzRsR0U3
RkgzWUtNam9ycEswWnhBditpMkprSmh0QU1XV1dGZWo0UmhQUi9jSjNEeHdvY0N2WERpNFNHWlU0
Y3UrSzMyWG5kaUZXZ29wQWwrMEdBcGN3ZjFYdnltSmNGczM5akV4SUJPNHlValU5TUV4QkxRWWM5
SCtXNytJZ2RFU1BScGNpVCtyS1pQZWJWdGFWcSsxR1lPLzV4VEFMM0hBU2pOVEdJZ012ZGpXYmdj
N0p2ZEUxeklGcHVDMFU5RVNpWnl6Qml4enhXeGo0S3doOE15MzRxK0ZLM0tOTHRtc0ExcXlybUtT
TlFPWENQVVpkK09OZWxCVHZGb1VJL0NZc3FhL1JodEtpeU1mMkNnU0ZxRVBrNTlZM3VxbmxaOGdG
cHN3ZlNZeWtvMjN5VlpZeHpLR3hHbTQ5WnF4ZzFsOG96NVJhOVhhUndIa3V4ZXBtZ3lobTBTb055
MktsYmNFcUsrOVFxUzlQTng5SWhtOVU3Z3NSNTVTU0oxRkJETm5rdVdLeElaMFNEcFh1T0d3WmRv
VWJPTURQSFA0dkJBZ3oyVmxTRUpBSFpHSlZiWUlnN2wvRk81S2ZJVnZ4QzhwUFB4TUdjTk1vZXZG
RGVTdHQyaXF6dEUxMG4yVEE0ZGdKSDc2WVM5SERoS0hEM2lDeDZpZUZYODRCQUkzUVFubmdoNzZm
NXJ1UFFWYnI1cVptY2svNVVqRGMyNmxmck92VUJXeTBPZ2w4YkNvT2tNT25zODFUbkMzY3VVUzlL
VzgrOUErZmUzWFlaT0ZVUEcxdTVlcFNTbURMdzBzNXMyRjBXMzBBTmVvK3pKa0pRejlTUFpnendZ
cEVva3RvZmhHVmZtTE9BQjIwYm9DYlcxUVdxL05wRVQvaG5NZWN3L3VTeUFINE5KYzNFQ09VNG5u
a0sxZmozUy9pNWR3YjNSN2swMEFxUVFVd3Q3SWUxcVYwYVkvVlFYMEo4aExQeTdlQk5YTUhZWllE
TnhIWjJRaDZBdVhKeHErQWVSZWMvUStKTGhaVjZocFh3UUV6dzdiZjV2OXVVZjJ2cHEzcWxobXkw
SUlHVGt3WWRDZlNBRm1xYmRvKzNYdkRURGpGSmRlMG1iZVFMY24ybjMxeGFBcUowaXhPL0NMc1Q0
STRHNERvbmNWVGdSR05CdHNDY2pJU1dUK29lWFo0SWVkdy84T3NKSTFhUG5OS0xYLzYwVnZjWmI5
NHVhc1J4Q2txbFBRMTF1MVNhMmhIdkI4MFdRRU54Vnl6am5zMC9QaUVCeXlpbDIxVGU2b2lzazNt
TkNFTXJob3VDRk8zeUVaVEhIT0NNeTllYi80VG1pOGNWZjNMZjdQNTNTWTJoWDNQU04wMzNBczNF
VElNTEhXdW1XRU85SlhIQTJ5MlNJQmxJUHBMR0cycXZOc0NJbElyK0IxU1dBcVJLbTJ3NkJsZjdV
K3pDU0J3SnJmSEc1aThKNUdheC9jVm9uTWxvbjdhSEpYL2dTdnVjSW5jUlA5M1hDcWt2N0Q4SUZL
RnNMaUJnSHFVcFhoRTNwWWpFY1YxZGsvSkQ5ekZWQ2ZFYVFJVlg4Sm1mejdJSW9mY0JLUTRPYUcr
QzN4QzJ2ZVg5Q0QraUFGWEROYUdnOWVUVnh2a2JKUkpsVzROazlXazEza242OTZqV3BwUkRlLzhw
RHJZTU85Wnl4Wjk4UmVLU3o5a1dLTEx5azJ6Q1pnQW5pQ2tMSlZYM24xTTlEWWJvbXlhaFdpdi9L
aXhSSVY5aGovb0Z6ODdJK0hMem5iUFRqcGErRCtiWlFuTXVSc2xqVHB2OTB2UVV0L3BLN2pDRm5B
MzBCL2p0cm9TRjIvbS9ncFduMWFRczVXZUE2Z2h6RjhTZHFXSTIwZmdoZFNlRE9DU0NtTGdUa2Zh
R2dHRG13N25IRmtSekd0YWc1N0lIUzJuYTA2SStnekVwaFhvMXcvWngyQk0vaktMMm5ab0ZqSGdn
dEZRallpOG5TVlJTWElFNThSUGJCT2JYazd1dUlMOStycy81Wm83c3VKSW5FVXhnc2laWkFXUzI1
aUJ0cEVpWmVCZ0R0Z2hFb0FFMHNqY2F5TnE4NU00dGJ1L0xGNWg1MTMzNVBzR3pRMDlPODc1K3ZV
Uzg5bGtXTXlOT0ZvaXAyUHV5V3lNUC9pVTJYSVpkZkNDSk5EamViRG9CTFFkcHk3UVFaQzdzOWMw
d2pISmVydlFORHUyald6Qlc1TVNBSk1yN2JQK0l2OTJCa1MvR0dnempFbjdNRjFJUktGd3d6Ympi
UzQvc2xHT21oeDljWnJGdTdIU0VlZm9qTnYzcjBVYUtmS09XelhzcTF6RXVnYnpsTURGc2FjUkpK
SS9pSmxLM3Z0a1orUExaSVZNRmxLQTMyd2JxMktkNVQwdUNMWjFDUGtBZkNkemt6MkVZc2NqRGNa
cTJBV2Z6aU4yY292TjRrWEUxbFFYUFBMVE5NMXh4M3RiaWVwY08vdDNTV200dzg3cWZoOTlTTDBa
blkrTEtGUExQZVhWTTJtSUlvVld0KzlOazBJN25ZNE83OWlHWXF4WjhSVnoyODlhbjZOVmRKV25T
S1p2SlFDQXVITmlWYUR4UEFGb0gzOTJ0OXdvdDV0MC9xbVU5NWVFV05iVTJ1ZFVXNXNOOUpWcWNZ
bHZBSWZMZVlDMzNvVXp6eFpnU2t0c3YyMW1BN1VseTFGQTVWbm9KRmg2TjI0NFdtdjNZSkdGdi9U
Q1ByeWF3K1pPUmxwWmpRZHEvMkRZWHIzRVpza2ZlZDBHNjFQMDlpcFRLbWxUUTEwNjdSZzUrUEFr
NUZsUTllMFNXYkdmMkIvMDhrcXltT1RNVk96bnNBTEhITkZINExGUktsMkYvTk9pWUZsOWtoTkhu
U3U5QWs1c3EyNllubC9pMmZkVGxlMjlZMXVncW1SNVlqNFlUOXB2c2xGeVlDYncwbU5GcjVyVlFt
MUx2a0cyN1FNcTlwaDN0OGZtbjZyNlNRNG9TYnI1dHorSjFrSWF3R3pEeGI2VllPdnZXaG9iRFRY
ZkJlTnYzYjRhTm01WFVpbnNDR3FHMnEvNDVtMytMb0NPc2RkRmNlWWhSeDFUc3NzOVBMZFBmSmRF
ckZNallkM2dkZGppUDArWFFqY1JhZFpQNmJ3Tkx5U3Z1bkZmMjBDenk2SnFkRVcyYTk2S3hkWWRP
cnlCdjFCamJ1VXEyeUNIZWgrNnNrN2ZHbW1QaTUwcGUvMWw1VHlQZTVvSFc5b1BuaFBzd0x5ZjJU
RkRkQ3lZbGh3QkNzdHY1QzFId2xXN3hXb0dUOVhadDRxVmo1V3J5TFBMTEQ2aC81Y01MRWpXemdD
ZUFJS05zTGFrOTJhQnFCc0hsNEFKd2wyTjRqZnZiU2tCRXhHaW12MG5GdnYwOXVEU2NRYmp4K3c0
a1BRamdqbFcrZzl3czlWRUp2STJrOE42WHhWdTB1SXdvdmdURmR1bkcyNGdCdGFEaSt5MVlMUXda
OG13YmlwNWZWbE8zazBuMEFFci9FVGJ0dThWamttK25OU2lFYjdYLzNmTWpCTDVBOFBkZ0crL0Zu
YmV4YkZGRXhtRWZldFhBbmlzRUt5NXo0NFdWUHBRWmpTeS9qemVHbjR5RFJzRkdxaGg4N1FQYURC
V2hsbzM3SUZiZS9DMHh5blM5MWQydFAvQUpvSlMwc1ZGNml3QUFBQUFFbEZUa1N1UW1DQyIpOwot
fQotCi0jbWVudTo6YWZ0ZXIgewotICBkaXNwbGF5OiBibG9jazsKLSAgY29udGVudDogJyc7Ci0g
IHBhZGRpbmctdG9wOiA4MHB4OwotfQotCi0jbG9nbyB7Ci0gIHBvc2l0aW9uOiBmaXhlZDsKLSAg
Ym90dG9tOiAxMHB4OwotICByaWdodDogMTBweDsKLSAgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1
LDI1NSwuMSk7Ci0gIGZvbnQtc2l6ZTogMTFweDsKLSAgZGlzcGxheTogYmxvY2s7Ci0gIHdpZHRo
OiAyMHB4OwotICBoZWlnaHQ6IDIwcHg7Ci0gIGxpbmUtaGVpZ2h0OiAyMHB4OwotICB0ZXh0LWFs
aWduOiBjZW50ZXI7Ci0gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMjBweDsKLSAgLW1vei1ib3Jk
ZXItcmFkaXVzOiAyMHB4OwotICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMCAzcHggcmdiYSgwLDAs
MCwuMik7Ci0gIC1tb3otYm94LXNoYWRvdzogMCAwIDNweCByZ2JhKDAsMCwwLC4yKTsKLSAgY29s
b3I6IGluaGVyaXQ7Ci19Ci0KLSNtZW51IGxpIGEgewotICBkaXNwbGF5OiBibG9jazsKLSAgY29s
b3I6IHdoaXRlOwotICBwYWRkaW5nOiAwIDM1cHggMCAyNXB4OwotICAtd2Via2l0LXRyYW5zaXRp
b246IGJhY2tncm91bmQgMzAwbXM7Ci0gIC1tb3otdHJhbnNpdGlvbjogYmFja2dyb3VuZCAzMDBt
czsKLX0KLQotI21lbnUgbGkgewotICBwb3NpdGlvbjogcmVsYXRpdmU7Ci0gIGxpc3Qtc3R5bGU6
IG5vbmU7Ci19Ci0KLSNtZW51IGE6aG92ZXIsCi0jbWVudSBhLmFjdGl2ZSB7Ci0gIHRleHQtZGVj
b3JhdGlvbjogbm9uZTsKLSAgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwuMSk7Ci19Ci0K
LSNtZW51IGxpOmhvdmVyIC5jb3YgewotICBvcGFjaXR5OiAxOwotfQotCi0jbWVudSBsaSAuZGly
bmFtZSB7Ci0gIG9wYWNpdHk6IC42MDsKLSAgcGFkZGluZy1yaWdodDogMnB4OwotfQotCi0jbWVu
dSBsaSAuYmFzZW5hbWUgewotICBvcGFjaXR5OiAxOwotfQotCi0jbWVudSAuY292IHsKLSAgYmFj
a2dyb3VuZDogcmdiYSgwLDAsMCwuNCk7Ci0gIHBvc2l0aW9uOiBhYnNvbHV0ZTsKLSAgdG9wOiAw
OwotICByaWdodDogOHB4OwotICBmb250LXNpemU6IDlweDsKLSAgb3BhY2l0eTogLjY7Ci0gIHRl
eHQtYWxpZ246IGxlZnQ7Ci0gIHdpZHRoOiAxN3B4OwotICAtd2Via2l0LWJvcmRlci1yYWRpdXM6
IDEwcHg7Ci0gIC1tb3otYm9yZGVyLXJhZGl1czogMTBweDsKLSAgcGFkZGluZzogMnB4IDNweDsK
LSAgdGV4dC1hbGlnbjogY2VudGVyOwotfQotCi0jc3RhdHM6bnRoLWNoaWxkKDJuKSB7Ci0gIGRp
c3BsYXk6IGlubGluZS1ibG9jazsKLSAgbWFyZ2luLXRvcDogMTVweDsKLSAgYm9yZGVyOiAxcHgg
c29saWQgI2VlZTsKLSAgcGFkZGluZzogMTBweDsKLSAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNl
dCAwIDAgMnB4ICNlZWU7Ci0gIC1tb3otYm94LXNoYWRvdzogaW5zZXQgMCAwIDJweCAjZWVlOwot
ICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDVweDsKLSAgLW1vei1ib3JkZXItcmFkaXVzOiA1cHg7
Ci19Ci0KLSNzdGF0cyBkaXYgewotICBmbG9hdDogbGVmdDsKLSAgcGFkZGluZzogMCA1cHg7Ci19
Ci0KLSNzdGF0czo6YWZ0ZXIgewotICBkaXNwbGF5OiBibG9jazsKLSAgY29udGVudDogJyc7Ci0g
IGNsZWFyOiBib3RoOwotfQotCi0jc3RhdHMgLnNsb2M6OmFmdGVyIHsKLSAgY29udGVudDogJyBT
TE9DJzsKLSAgY29sb3I6ICNiNmI2YjY7Ci19Ci0KLSNzdGF0cyAucGVyY2VudGFnZTo6YWZ0ZXIg
ewotICBjb250ZW50OiAnIGNvdmVyYWdlJzsKLSAgY29sb3I6ICNiNmI2YjY7Ci19Ci0KLSNzdGF0
cyAuaGl0cywKLSNzdGF0cyAubWlzc2VzIHsKLSAgZGlzcGxheTogbm9uZTsKLX0KLQotLmhpZ2gg
ewotICBjb2xvcjogIzAwZDRiNDsKLX0KLS5tZWRpdW0gewotICBjb2xvcjogI2U4N2QwZDsKLX0K
LS5sb3cgewotICBjb2xvcjogI2Q0MDgxYTsKLX0KLS50ZXJyaWJsZSB7Ci0gIGNvbG9yOiAjZDQw
ODFhOwotICBmb250LXdlaWdodDogYm9sZDsKLX0KLQotdGFibGUgewotICB3aWR0aDogODAlOwot
ICBtYXJnaW4tdG9wOiAxMHB4OwotICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOwotICBib3Jk
ZXI6IDFweCBzb2xpZCAjY2JjYmNiOwotICBjb2xvcjogIzM2MzYzNjsKLSAgLXdlYmtpdC1ib3Jk
ZXItcmFkaXVzOiAzcHg7Ci0gIC1tb3otYm9yZGVyLXJhZGl1czogM3B4OwotfQotCi10YWJsZSB0
aGVhZCB7Ci0gIGRpc3BsYXk6IG5vbmU7Ci19Ci0KLXRhYmxlIHRkLmxpbmUsCi10YWJsZSB0ZC5o
aXRzIHsKLSAgd2lkdGg6IDIwcHg7Ci0gIGJhY2tncm91bmQ6ICNlYWVhZWE7Ci0gIHRleHQtYWxp
Z246IGNlbnRlcjsKLSAgZm9udC1zaXplOiAxMXB4OwotICBwYWRkaW5nOiAwIDEwcHg7Ci0gIGNv
bG9yOiAjOTQ5NDk0OwotfQotCi10YWJsZSB0ZC5oaXRzIHsKLSAgd2lkdGg6IDEwcHg7Ci0gIHBh
ZGRpbmc6IDJweCA1cHg7Ci0gIGNvbG9yOiByZ2JhKDAsMCwwLC4yKTsKLSAgYmFja2dyb3VuZDog
I2YwZjBmMDsKLX0KLQotdHIubWlzcyB0ZC5saW5lLAotdHIubWlzcyB0ZC5oaXRzIHsKLSAgYmFj
a2dyb3VuZDogI2U2YzNjNzsKLX0KLQotdHIubWlzcyB0ZCB7Ci0gIGJhY2tncm91bmQ6ICNmOGQ1
ZDg7Ci19Ci0KLXRkLnNvdXJjZSB7Ci0gIHBhZGRpbmctbGVmdDogMTVweDsKLSAgbGluZS1oZWln
aHQ6IDE1cHg7Ci0gIHdoaXRlLXNwYWNlOiBwcmU7Ci0gIGZvbnQ6IDEycHggbW9uYWNvLCBtb25v
c3BhY2U7Ci19Ci0KLWNvZGUgLmNvbW1lbnQgeyBjb2xvcjogI2RkZCB9Ci1jb2RlIC5pbml0IHsg
Y29sb3I6ICMyRjZGQUQgfQotY29kZSAuc3RyaW5nIHsgY29sb3I6ICM1ODkwQUQgfQotY29kZSAu
a2V5d29yZCB7IGNvbG9yOiAjOEE2MzQzIH0KLWNvZGUgLm51bWJlciB7IGNvbG9yOiAjMkY2RkFE
IH0KLTwvc3R5bGU+PC9oZWFkPjxib2R5PjxkaXYgaWQ9ImNvdmVyYWdlIj48aDEgaWQ9Im92ZXJ2
aWV3Ij5Db3ZlcmFnZTwvaDE+PGRpdiBpZD0ibWVudSI+PGxpPjxhIGhyZWY9IiNvdmVydmlldyI+
b3ZlcnZpZXc8L2E+PC9saT48bGk+PHNwYW4gY2xhc3M9ImNvdiBoaWdoIj45NTwvc3Bhbj48YSBo
cmVmPSIjd2ViaWRsMi5qcyI+PHNwYW4gY2xhc3M9ImJhc2VuYW1lIj53ZWJpZGwyLmpzPC9zcGFu
PjwvYT48L2xpPjxhIGlkPSJsb2dvIiBocmVmPSJodHRwOi8vdmlzaW9ubWVkaWEuZ2l0aHViLmNv
bS9tb2NoYS8iPm08L2E+PC9kaXY+PGRpdiBpZD0ic3RhdHMiIGNsYXNzPSJoaWdoIj48ZGl2IGNs
YXNzPSJwZXJjZW50YWdlIj45NSU8L2Rpdj48ZGl2IGNsYXNzPSJzbG9jIj41NzI8L2Rpdj48ZGl2
IGNsYXNzPSJoaXRzIj41NDg8L2Rpdj48ZGl2IGNsYXNzPSJtaXNzZXMiPjI0PC9kaXY+PC9kaXY+
PGRpdiBpZD0iZmlsZXMiPjxkaXYgY2xhc3M9ImZpbGUiPjxoMiBpZD0id2ViaWRsMi5qcyI+d2Vi
aWRsMi5qczwvaDI+PGRpdiBpZD0ic3RhdHMiIGNsYXNzPSJoaWdoIj48ZGl2IGNsYXNzPSJwZXJj
ZW50YWdlIj45NSU8L2Rpdj48ZGl2IGNsYXNzPSJzbG9jIj41NzI8L2Rpdj48ZGl2IGNsYXNzPSJo
aXRzIj41NDg8L2Rpdj48ZGl2IGNsYXNzPSJtaXNzZXMiPjI0PC9kaXY+PC9kaXY+PHRhYmxlIGlk
PSJzb3VyY2UiPjx0aGVhZD48dHI+PHRoPkxpbmU8L3RoPjx0aD5IaXRzPC90aD48dGg+U291cmNl
PC90aD48L3RyPjwvdGhlYWQ+PHRib2R5Pjx0cj48dGQgY2xhc3M9ImxpbmUiPjE8L3RkPjx0ZCBj
bGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+IDwvdGQ+PC90cj48dHI+PHRkIGNs
YXNzPSJsaW5lIj4yPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2Ui
PiA8L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjM8L3RkPjx0ZCBj
bGFzcz0iaGl0cyI+MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPjxzcGFuIGNsYXNzPSJrIj4oPC9z
cGFuPjxzcGFuIGNsYXNzPSJrIj5mdW5jdGlvbjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPigpPC9z
cGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8
dGQgY2xhc3M9ImxpbmUiPjQ8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTwvdGQ+PHRkIGNsYXNzPSJz
b3VyY2UiPiAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiB0b2tlbmlzZSA8c3BhbiBjbGFz
cz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPmZ1bmN0aW9uPC9zcGFuPiA8c3BhbiBjbGFz
cz0iayI+KDwvc3Bhbj5zdHI8c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9Imsi
Pns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj41PC90
ZD48dGQgY2xhc3M9ImhpdHMiPjQ3PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8c3Bh
biBjbGFzcz0iayI+dmFyPC9zcGFuPiB0b2tlbnMgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxz
cGFuIGNsYXNzPSJrIj5bXTwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+Njwv
dGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxzcGFu
IGNsYXNzPSJrIj4sPC9zcGFuPiAgIHJlIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBj
bGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NzwvdGQ+PHRk
IGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgPHNw
YW4gY2xhc3M9InMiPiJmbG9hdCI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjo8L3NwYW4+ICAgICAg
ICA8c3BhbiBjbGFzcz0icyI+L14tPygoWzAtOV0rXC5bMC05XSp8WzAtOV0qXC5bMC05XSspKFtF
ZV1bLStdP1swLTldKyk/fFswLTldK1tFZV1bLStdP1swLTldKykvPC9zcGFuPjwvdGQ+PC90cj48
dHI+PHRkIGNsYXNzPSJsaW5lIj44PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNz
PSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiAgIDxzcGFuIGNs
YXNzPSJzIj4iaW50ZWdlciI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjo8L3NwYW4+ICAgICAgPHNw
YW4gY2xhc3M9InMiPi9eLT8oMChbWHhdWzAtOUEtRmEtZl0rfFswLTddKil8WzEtOV1bMC05XSop
Lzwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+OTwvdGQ+PHRkIGNsYXNzPSJo
aXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+
LDwvc3Bhbj4gICA8c3BhbiBjbGFzcz0icyI+ImlkZW50aWZpZXIiPC9zcGFuPjxzcGFuIGNsYXNz
PSJrIj46PC9zcGFuPiAgIDxzcGFuIGNsYXNzPSJzIj4vXltBLVpfYS16XVswLTlBLVpfYS16XSov
PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj4xMDwvdGQ+PHRkIGNsYXNzPSJo
aXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+
LDwvc3Bhbj4gICA8c3BhbiBjbGFzcz0icyI+InN0cmluZyI8L3NwYW4+PHNwYW4gY2xhc3M9Imsi
Pjo8L3NwYW4+ICAgICAgIDxzcGFuIGNsYXNzPSJzIj4vXiJbXiJdKiIvPC9zcGFuPjwvdGQ+PC90
cj48dHI+PHRkIGNsYXNzPSJsaW5lIj4xMTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBj
bGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gICA8c3Bh
biBjbGFzcz0icyI+IndoaXRlc3BhY2UiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj46PC9zcGFuPiAg
IDxzcGFuIGNsYXNzPSJzIj4vXig/OltcdFxuXHIgXSt8W1x0XG5cciBdKigoXC9cLy4qfFwvXCoo
LnxcbnxccikqP1wqXC8pW1x0XG5cciBdKikpKy88L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xh
c3M9ImxpbmUiPjEyPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2Ui
PiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiAgIDxzcGFuIGNsYXNzPSJzIj4i
b3RoZXIiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj46PC9zcGFuPiAgICAgICAgPHNwYW4gY2xhc3M9
InMiPi9eW15cdFxuXHIgMC05QS1aX2Etel0vPC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNz
PSJsaW5lIj4xMzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4g
ICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFz
cz0ibGluZSI+MTQ8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+
ICAgICAgICA8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gICB0eXBlcyA8c3BhbiBjbGFzcz0iayI+
PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPltdPC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNz
PSJsaW5lIj4xNTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4g
ICAgICAgIDxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+
IDx0ZCBjbGFzcz0ibGluZSI+MTY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MzI5PC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFzcz0iayI+Zm9yPC9zcGFuPiA8c3BhbiBjbGFz
cz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiBrIDxzcGFuIGNsYXNzPSJr
Ij5pbjwvc3Bhbj4gcmU8c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gdHlwZXM8c3BhbiBjbGFzcz0i
ayI+Ljwvc3Bhbj5wdXNoPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+azxzcGFuIGNsYXNzPSJrIj4p
Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjE3PC90
ZD48dGQgY2xhc3M9ImhpdHMiPjQ3PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8c3Bh
biBjbGFzcz0iayI+d2hpbGU8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPnN0cjxzcGFu
IGNsYXNzPSJrIj4uPC9zcGFuPmxlbmd0aCA8c3BhbiBjbGFzcz0iayI+Pjwvc3Bhbj4gPHNwYW4g
Y2xhc3M9InMiPjA8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJr
Ij57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MTg8
L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MjkxNDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAg
ICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IG1hdGNoZWQgPHNwYW4gY2xhc3M9ImsiPj08
L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5mYWxzZTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bh
bj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjE5PC90ZD48dGQg
Y2xhc3M9ImhpdHMiPjI5MTQ8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3Bh
biBjbGFzcz0iayI+Zm9yPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3BhbiBjbGFz
cz0iayI+dmFyPC9zcGFuPiBpIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0i
cyI+MDwvc3Bhbj48c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gbiA8c3BhbiBjbGFzcz0iayI+PTwv
c3Bhbj4gdHlwZXM8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5sZW5ndGg8c3BhbiBjbGFzcz0iayI+
Ozwvc3Bhbj4gaSA8c3BhbiBjbGFzcz0iayI+PDwvc3Bhbj4gbjxzcGFuIGNsYXNzPSJrIj47PC9z
cGFuPiBpPHNwYW4gY2xhc3M9ImsiPisrKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+
PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4yMDwvdGQ+PHRkIGNs
YXNzPSJoaXRzIj4xMzMyNTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8
c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiB0eXBlIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiB0
eXBlczxzcGFuIGNsYXNzPSJrIj5bPC9zcGFuPmk8c3BhbiBjbGFzcz0iayI+XTs8L3NwYW4+PC90
ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4yMTwvdGQ+PHRkIGNsYXNz
PSJoaXRzIj4xMzMyNTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICBzdHIg
PHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IHN0cjxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnJlcGxh
Y2U8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5yZTxzcGFuIGNsYXNzPSJrIj5bPC9zcGFuPnR5cGU8
c3BhbiBjbGFzcz0iayI+XSw8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5mdW5jdGlvbjwvc3Bhbj4g
PHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+dG9rPHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFu
IGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0i
bGluZSI+MjI8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MjkxNDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2Ui
PiAgICAgICAgICAgICAgICAgICAgdG9rZW5zPHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+cHVzaDxz
cGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPiB0eXBlPHNwYW4g
Y2xhc3M9ImsiPjo8L3NwYW4+IHR5cGU8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gdmFsdWU8c3Bh
biBjbGFzcz0iayI+Ojwvc3Bhbj4gdG9rIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjxzcGFuIGNs
YXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9Imxp
bmUiPjIzPC90ZD48dGQgY2xhc3M9ImhpdHMiPjI5MTQ8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4g
ICAgICAgICAgICAgICAgICAgIG1hdGNoZWQgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFu
IGNsYXNzPSJrIj50cnVlPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48
dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MjQ8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+
MjkxNDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xh
c3M9ImsiPnJldHVybjwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiIiPC9zcGFuPjxzcGFuIGNsYXNz
PSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj4yNTwvdGQ+PHRkIGNs
YXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4g
Y2xhc3M9ImsiPn08L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIg
Y2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MjY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTYy
Mzk8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Imsi
PmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5tYXRjaGVkPHNwYW4gY2xhc3M9Imsi
Pik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5icmVhazwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwv
c3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+Mjc8L3RkPjx0ZCBjbGFzcz0iaGl0
cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08
L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4yODwvdGQ+
PHRkIGNsYXNzPSJoaXRzIj41ODI4PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAg
PHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5tYXRjaGVk
PHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5jb250aW51ZTwvc3Bhbj48
c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJtaXNzIj4gPHRkIGNs
YXNzPSJsaW5lIj4yOTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4wPC90ZD48dGQgY2xhc3M9InNvdXJj
ZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnRocm93PC9zcGFuPiA8c3BhbiBjbGFzcz0i
ayI+bmV3PC9zcGFuPiBFcnJvcjxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJz
Ij4iVG9rZW4gc3RyZWFtIG5vdCBwcm9ncmVzc2luZyI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7
PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj4zMDwvdGQ+PHRkIGNsYXNzPSJo
aXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9z
cGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MzE8L3RkPjx0
ZCBjbGFzcz0iaGl0cyI+NDc8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxzcGFuIGNs
YXNzPSJrIj5yZXR1cm48L3NwYW4+IHRva2VuczxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+
PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj4zMjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0
ZCBjbGFzcz0ic291cmNlIj4gICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PHNwYW4gY2xhc3M9
ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjMzPC90ZD48dGQgY2xh
c3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICA8L3RkPjwvdHI+PHRyIGNsYXNz
PSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjM0PC90ZD48dGQgY2xhc3M9ImhpdHMiPjE8L3RkPjx0
ZCBjbGFzcz0ic291cmNlIj4gICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gcGFyc2UgPHNw
YW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5mdW5jdGlvbjwvc3Bhbj4gPHNw
YW4gY2xhc3M9ImsiPig8L3NwYW4+dG9rZW5zPHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFu
IGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0i
bGluZSI+MzU8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDc8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4g
ICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IGxpbmUgPHNwYW4gY2xhc3M9ImsiPj08
L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4xPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwv
dGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MzY8L3RkPjx0ZCBjbGFz
cz0iaGl0cyI+NDc8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIHRva2VucyA8c3BhbiBj
bGFzcz0iayI+PTwvc3Bhbj4gdG9rZW5zPHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+c2xpY2U8c3Bh
biBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj4zNzwv
dGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDwvdGQ+
PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+Mzg8L3RkPjx0ZCBjbGFzcz0i
aGl0cyI+NDc8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj52
YXI8L3NwYW4+IEZMT0FUIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+
ImZsb2F0Ijwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+Mzk8L3RkPjx0ZCBj
bGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFzcz0i
ayI+LDwvc3Bhbj4gICBJTlQgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJz
Ij4iaW50ZWdlciI8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjQwPC90ZD48
dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xh
c3M9ImsiPiw8L3NwYW4+ICAgSUQgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNz
PSJzIj4iaWRlbnRpZmllciI8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjQx
PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNw
YW4gY2xhc3M9ImsiPiw8L3NwYW4+ICAgU1RSIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3Bh
biBjbGFzcz0icyI+InN0cmluZyI8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUi
PjQyPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAg
PHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+ICAgT1RIRVIgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+
IDxzcGFuIGNsYXNzPSJzIj4ib3RoZXIiPC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJs
aW5lIj40MzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAg
ICAgIDxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5l
Ij40NDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAg
IDwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NDU8L3RkPjx0ZCBj
bGFzcz0iaGl0cyI+NDc8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxzcGFuIGNsYXNz
PSJrIj52YXI8L3NwYW4+IFdlYklETFBhcnNlRXJyb3IgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+
IDxzcGFuIGNsYXNzPSJrIj5mdW5jdGlvbjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+
c3RyPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IGxpbmU8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4g
aW5wdXQ8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gdG9rZW5zPHNwYW4gY2xhc3M9ImsiPik8L3Nw
YW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9Im1pc3MiPiA8
dGQgY2xhc3M9ImxpbmUiPjQ2PC90ZD48dGQgY2xhc3M9ImhpdHMiPjA8L3RkPjx0ZCBjbGFzcz0i
c291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+dGhpczwvc3Bhbj48c3BhbiBjbGFz
cz0iayI+Ljwvc3Bhbj5tZXNzYWdlIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiBzdHI8c3BhbiBj
bGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJtaXNzIj4gPHRkIGNsYXNzPSJs
aW5lIj40NzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4wPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAg
ICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnRoaXM8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPi48L3Nw
YW4+bGluZSA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gbGluZTxzcGFuIGNsYXNzPSJrIj47PC9z
cGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9Im1pc3MiPiA8dGQgY2xhc3M9ImxpbmUiPjQ4PC90ZD48
dGQgY2xhc3M9ImhpdHMiPjA8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3Bh
biBjbGFzcz0iayI+dGhpczwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5pbnB1dCA8c3Bh
biBjbGFzcz0iayI+PTwvc3Bhbj4gaW5wdXQ8c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwv
dHI+PHRyIGNsYXNzPSJtaXNzIj4gPHRkIGNsYXNzPSJsaW5lIj40OTwvdGQ+PHRkIGNsYXNzPSJo
aXRzIj4wPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9Imsi
PnRoaXM8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+dG9rZW5zIDxzcGFuIGNsYXNzPSJr
Ij49PC9zcGFuPiB0b2tlbnM8c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0
ZCBjbGFzcz0ibGluZSI+NTA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNv
dXJjZSI+ICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwv
c3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjUxPC90ZD48
dGQgY2xhc3M9ImhpdHMiPjQ3PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICBXZWJJRExQ
YXJzZUVycm9yPHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+cHJvdG90eXBlPHNwYW4gY2xhc3M9Imsi
Pi48L3NwYW4+dG9TdHJpbmcgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJr
Ij5mdW5jdGlvbjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPigpPC9zcGFuPiA8c3BhbiBjbGFzcz0i
ayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJtaXNzIj4gPHRkIGNsYXNzPSJsaW5lIj41
MjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4wPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAg
ICAgPHNwYW4gY2xhc3M9ImsiPnJldHVybjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnRoaXM8L3Nw
YW4+PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+bWVzc2FnZSA8c3BhbiBjbGFzcz0iayI+Kzwvc3Bh
bj4gPHNwYW4gY2xhc3M9InMiPiIsIGxpbmUgIjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPis8L3Nw
YW4+IDxzcGFuIGNsYXNzPSJrIj50aGlzPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPmxp
bmUgPHNwYW4gY2xhc3M9ImsiPis8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iICh0b2tlbnM6ICci
PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+Kzwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnRoaXM8L3Nw
YW4+PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+aW5wdXQgPHNwYW4gY2xhc3M9ImsiPis8L3NwYW4+
IDxzcGFuIGNsYXNzPSJzIj4iJyk8L3NwYW4+PHNwYW4gY2xhc3M9InQiPlxuPC9zcGFuPjxzcGFu
IGNsYXNzPSJzIj4iPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+Kzwvc3Bhbj48L3RkPjwvdHI+PHRy
Pjx0ZCBjbGFzcz0ibGluZSI+NTM8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9
InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgIEpTT048c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5z
dHJpbmdpZnk8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0iayI+dGhpczwvc3Bh
bj48c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj50b2tlbnM8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4g
PHNwYW4gY2xhc3M9ImsiPm51bGw8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFu
IGNsYXNzPSJzIj40PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRy
Pjx0ZCBjbGFzcz0ibGluZSI+NTQ8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9
InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+
Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NTU8L3RkPjx0ZCBjbGFzcz0i
aGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8L3RkPjwvdHI+PHRyIGNsYXNz
PSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjU2PC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ3PC90ZD48
dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiBlcnJv
ciA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPmZ1bmN0aW9uPC9zcGFu
PiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5zdHI8c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNw
YW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0ibWlzcyI+IDx0ZCBjbGFz
cz0ibGluZSI+NTc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2Ui
PiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IHRvayA8c3BhbiBjbGFzcz0i
ayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiIiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4sPC9z
cGFuPiBudW1Ub2tlbnMgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4w
PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiBtYXhUb2tlbnMgPHNwYW4gY2xhc3M9Imsi
Pj08L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj41PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFu
PjwvdGQ+PC90cj48dHIgY2xhc3M9Im1pc3MiPiA8dGQgY2xhc3M9ImxpbmUiPjU4PC90ZD48dGQg
Y2xhc3M9ImhpdHMiPjA8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBj
bGFzcz0iayI+d2hpbGU8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPm51bVRva2VucyA8
c3BhbiBjbGFzcz0iayI+PDwvc3Bhbj4gbWF4VG9rZW5zIDxzcGFuIGNsYXNzPSJrIj4mYW1wOyZh
bXA7PC9zcGFuPiB0b2tlbnM8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5sZW5ndGggPHNwYW4gY2xh
c3M9ImsiPj48L3NwYW4+IG51bVRva2VuczxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBj
bGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJtaXNzIj4gPHRkIGNsYXNzPSJs
aW5lIj41OTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4wPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAg
ICAgICAgICAgICAgIHRvayA8c3BhbiBjbGFzcz0iayI+Kz08L3NwYW4+IHRva2VuczxzcGFuIGNs
YXNzPSJrIj5bPC9zcGFuPm51bVRva2VuczxzcGFuIGNsYXNzPSJrIj5dLjwvc3Bhbj52YWx1ZTxz
cGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9Im1pc3MiPiA8dGQgY2xh
c3M9ImxpbmUiPjYwPC90ZD48dGQgY2xhc3M9ImhpdHMiPjA8L3RkPjx0ZCBjbGFzcz0ic291cmNl
Ij4gICAgICAgICAgICAgICAgbnVtVG9rZW5zPHNwYW4gY2xhc3M9ImsiPisrOzwvc3Bhbj48L3Rk
PjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NjE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48
dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PC90
ZD48L3RyPjx0ciBjbGFzcz0ibWlzcyI+IDx0ZCBjbGFzcz0ibGluZSI+NjI8L3RkPjx0ZCBjbGFz
cz0iaGl0cyI+MDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNz
PSJrIj50aHJvdzwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPm5ldzwvc3Bhbj4gV2ViSURMUGFyc2VF
cnJvcjxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPnN0cjxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiBs
aW5lPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IHRvazxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiB0
b2tlbnM8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5zbGljZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFu
PjxzcGFuIGNsYXNzPSJzIj4wPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBj
bGFzcz0icyI+NTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KSk7PC9zcGFuPjwvdGQ+PC90cj48dHI+
PHRkIGNsYXNzPSJsaW5lIj42MzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0i
c291cmNlIj4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47
PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj42NDwvdGQ+PHRkIGNsYXNzPSJo
aXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDwvdGQ+PC90cj48dHIgY2xhc3M9
ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NjU8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDc8L3RkPjx0
ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IGxhc3Rf
dG9rZW4gPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5udWxsPC9zcGFu
PjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj42
NjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDwv
dGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+Njc8L3RkPjx0ZCBjbGFz
cz0iaGl0cyI+NDc8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxzcGFuIGNsYXNzPSJr
Ij52YXI8L3NwYW4+IGNvbnN1bWUgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNz
PSJrIj5mdW5jdGlvbjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+dHlwZTxzcGFuIGNs
YXNzPSJrIj4sPC9zcGFuPiB2YWx1ZTxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFz
cz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUi
PjY4PC90ZD48dGQgY2xhc3M9ImhpdHMiPjg3Nzg8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAg
ICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oITwvc3Bh
bj50b2tlbnM8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5sZW5ndGggPHNwYW4gY2xhc3M9ImsiPnx8
PC9zcGFuPiB0b2tlbnM8c3BhbiBjbGFzcz0iayI+Wzwvc3Bhbj48c3BhbiBjbGFzcz0icyI+MDwv
c3Bhbj48c3BhbiBjbGFzcz0iayI+XS48L3NwYW4+dHlwZSA8c3BhbiBjbGFzcz0iayI+IT09PC9z
cGFuPiB0eXBlPHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5yZXR1cm48
L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4g
PHRkIGNsYXNzPSJsaW5lIj42OTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj41NDcwPC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBj
bGFzcz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0iayI+dHlwZW9mPC9zcGFuPiB2YWx1ZSA8c3Bh
biBjbGFzcz0iayI+PT09PC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+InVuZGVmaW5lZCI8L3NwYW4+
IDxzcGFuIGNsYXNzPSJrIj58fDwvc3Bhbj4gdG9rZW5zPHNwYW4gY2xhc3M9ImsiPls8L3NwYW4+
PHNwYW4gY2xhc3M9InMiPjA8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPl0uPC9zcGFuPnZhbHVlIDxz
cGFuIGNsYXNzPSJrIj49PT08L3NwYW4+IHZhbHVlPHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxz
cGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFz
cz0ibGluZSI+NzA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTczODwvdGQ+PHRkIGNsYXNzPSJzb3Vy
Y2UiPiAgICAgICAgICAgICAgICAgbGFzdF90b2tlbiA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4g
dG9rZW5zPHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+c2hpZnQ8c3BhbiBjbGFzcz0iayI+KCk7PC9z
cGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NzE8L3RkPjx0
ZCBjbGFzcz0iaGl0cyI+MTczODwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAg
ICAgPHNwYW4gY2xhc3M9ImsiPnJldHVybjwvc3Bhbj4gbGFzdF90b2tlbjxzcGFuIGNsYXNzPSJr
Ij47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj43MjwvdGQ+PHRkIGNsYXNz
PSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgPHNwYW4gY2xhc3M9
ImsiPn08L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjczPC90ZD48dGQgY2xh
c3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9Imsi
Pn08L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9
ImxpbmUiPjc0PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAg
ICAgICAgPC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj43NTwvdGQ+
PHRkIGNsYXNzPSJoaXRzIj40NzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4g
Y2xhc3M9ImsiPnZhcjwvc3Bhbj4gd3MgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNs
YXNzPSJrIj5mdW5jdGlvbjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPigpPC9zcGFuPiA8c3BhbiBj
bGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9Imxp
bmUiPjc2PC90ZD48dGQgY2xhc3M9ImhpdHMiPjY5NjE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4g
ICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oITwv
c3Bhbj50b2tlbnM8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5sZW5ndGg8c3BhbiBjbGFzcz0iayI+
KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnJldHVybjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwv
c3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+Nzc8L3RkPjx0ZCBjbGFzcz0iaGl0
cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImMiPi8v
IGNvbnNvbGUubG9nKCJ0b2tlbnMubGVuZ3RoIiwgdG9rZW5zLmxlbmd0aCwgdG9rZW5zWzBdKTs8
L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj43ODwvdGQ+
PHRkIGNsYXNzPSJoaXRzIj42MTE1PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAg
PHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj50b2tlbnM8
c3BhbiBjbGFzcz0iayI+Wzwvc3Bhbj48c3BhbiBjbGFzcz0icyI+MDwvc3Bhbj48c3BhbiBjbGFz
cz0iayI+XS48L3NwYW4+dHlwZSA8c3BhbiBjbGFzcz0iayI+PT09PC9zcGFuPiA8c3BhbiBjbGFz
cz0icyI+IndoaXRlc3BhY2UiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBj
bGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9Imxp
bmUiPjc5PC90ZD48dGQgY2xhc3M9ImhpdHMiPjExNzI8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4g
ICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gdCA8c3BhbiBjbGFzcz0i
ayI+PTwvc3Bhbj4gdG9rZW5zPHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+c2hpZnQ8c3BhbiBjbGFz
cz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGlu
ZSI+ODA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MjI5NDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAg
ICAgICAgICAgICAgICB0PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+dmFsdWU8c3BhbiBjbGFzcz0i
ayI+Ljwvc3Bhbj5yZXBsYWNlPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9InMi
Pi9cbi9nPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ZnVu
Y3Rpb248L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPm08c3BhbiBjbGFzcz0iayI+KTwv
c3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+IGxpbmU8c3BhbiBjbGFzcz0iayI+Kys7PC9z
cGFuPiA8c3BhbiBjbGFzcz0iayI+cmV0dXJuPC9zcGFuPiBtPHNwYW4gY2xhc3M9ImsiPjs8L3Nw
YW4+IDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3Rk
PjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjgxPC90ZD48dGQgY2xhc3M9
ImhpdHMiPjExNzI8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4g
Y2xhc3M9ImsiPnJldHVybjwvc3Bhbj4gdDxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90
cj48dHI+PHRkIGNsYXNzPSJsaW5lIj44MjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBj
bGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48L3RkPjwv
dHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+ODM8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQg
Y2xhc3M9InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48c3BhbiBjbGFz
cz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+ODQ8L3RkPjx0ZCBj
bGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8L3RkPjwvdHI+PHRy
IGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjg1PC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ3
PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFu
PiBhbGxfd3MgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5mdW5jdGlv
bjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPigpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bh
bj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjg2PC90ZD48dGQg
Y2xhc3M9ImhpdHMiPjUzNjY8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3Bh
biBjbGFzcz0iayI+dmFyPC9zcGFuPiB0IDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBj
bGFzcz0iayI+ezwvc3Bhbj4gdHlwZTxzcGFuIGNsYXNzPSJrIj46PC9zcGFuPiA8c3BhbiBjbGFz
cz0icyI+IndoaXRlc3BhY2UiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiB2YWx1ZTxz
cGFuIGNsYXNzPSJrIj46PC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+IiI8L3NwYW4+IDxzcGFuIGNs
YXNzPSJrIj59PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xh
c3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+ODc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NTM2Njwv
dGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj53aGlsZTwv
c3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPnRydWU8L3NwYW4+
PHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90
cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+ODg8L3RkPjx0ZCBjbGFzcz0iaGl0
cyI+NjUzODwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFz
cz0iayI+dmFyPC9zcGFuPiB3IDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiB3czxzcGFuIGNsYXNz
PSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5l
Ij44OTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xMTkwNDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAg
ICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4o
ITwvc3Bhbj53PHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5icmVhazwv
c3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8
dGQgY2xhc3M9ImxpbmUiPjkwPC90ZD48dGQgY2xhc3M9ImhpdHMiPjExNzI8L3RkPjx0ZCBjbGFz
cz0ic291cmNlIj4gICAgICAgICAgICAgICAgdDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnZhbHVl
IDxzcGFuIGNsYXNzPSJrIj4rPTwvc3Bhbj4gdzxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnZhbHVl
PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjkx
PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAg
IDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBj
bGFzcz0ibGluZSI+OTI8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NjUzODwvdGQ+PHRkIGNsYXNzPSJz
b3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9
ImsiPig8L3NwYW4+dDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnZhbHVlPHNwYW4gY2xhc3M9Imsi
Pi48L3NwYW4+bGVuZ3RoIDxzcGFuIGNsYXNzPSJrIj4+PC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+
MDwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnJldHVybjwv
c3Bhbj4gdDxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJs
aW5lIj45MzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAg
ICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+
PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj45NDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0
ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBj
bGFzcz0ibGluZSI+OTU8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDc8L3RkPjx0ZCBjbGFzcz0ic291
cmNlIj4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IGludGVnZXJfdHlwZSA8c3Bh
biBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPmZ1bmN0aW9uPC9zcGFuPiA8c3Bh
biBjbGFzcz0iayI+KCk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48
dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+OTY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+
MjczPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZh
cjwvc3Bhbj4gcmV0IDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+IiI8
L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4g
PHRkIGNsYXNzPSJsaW5lIj45NzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yNzM8L3RkPjx0ZCBjbGFz
cz0ic291cmNlIj4gICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwv
dGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+OTg8L3RkPjx0ZCBjbGFz
cz0iaGl0cyI+MzEyPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xh
c3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5jb25zdW1lPHNwYW4gY2xh
c3M9ImsiPig8L3NwYW4+SUQ8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMi
PiJ1bnNpZ25lZCI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPikpPC9zcGFuPiByZXQgPHNwYW4gY2xh
c3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4idW5zaWduZWQgIjwvc3Bhbj48c3BhbiBj
bGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9Imxp
bmUiPjk5PC90ZD48dGQgY2xhc3M9ImhpdHMiPjI3MzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAg
ICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBj
bGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4xMDA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+Mjg3
PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9z
cGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5jb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3Nw
YW4+SUQ8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJzaG9ydCI8L3Nw
YW4+PHNwYW4gY2xhc3M9ImsiPikpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+cmV0dXJuPC9zcGFu
PiByZXQgPHNwYW4gY2xhc3M9ImsiPis8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4ic2hvcnQiPC9z
cGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0
ZCBjbGFzcz0ibGluZSI+MTAxPC90ZD48dGQgY2xhc3M9ImhpdHMiPjI1OTwvdGQ+PHRkIGNsYXNz
PSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xh
c3M9ImsiPig8L3NwYW4+Y29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPklEPHNwYW4gY2xh
c3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4ibG9uZyI8L3NwYW4+PHNwYW4gY2xhc3M9
ImsiPikpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNz
PSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjEwMjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40MTwvdGQ+
PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICByZXQgPHNwYW4gY2xhc3M9ImsiPis9
PC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+ImxvbmciPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9z
cGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MTAzPC90ZD48
dGQgY2xhc3M9ImhpdHMiPjQxPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAg
IGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0
Ij4gPHRkIGNsYXNzPSJsaW5lIj4xMDQ8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDM8L3RkPjx0ZCBj
bGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8
c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5jb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+SUQ8
c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJsb25nIjwvc3Bhbj48c3Bh
biBjbGFzcz0iayI+KSk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5yZXR1cm48L3NwYW4+IHJldCA8
c3BhbiBjbGFzcz0iayI+Kzwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiIgbG9uZyI8L3NwYW4+PHNw
YW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNz
PSJsaW5lIj4xMDU8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+Mzk8L3RkPjx0ZCBjbGFzcz0ic291cmNl
Ij4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnJldHVybjwvc3Bhbj4gcmV0PHNwYW4g
Y2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjEwNjwvdGQ+
PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3Bh
biBjbGFzcz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9
ImxpbmUiPjEwNzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yMTg8L3RkPjx0ZCBjbGFzcz0ic291cmNl
Ij4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4o
PC9zcGFuPnJldDxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiBlcnJvcjxzcGFuIGNsYXNzPSJrIj4o
PC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4iRmFpbGVkIHRvIHBhcnNlIGludGVnZXIgdHlwZSI8L3Nw
YW4+PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5l
Ij4xMDg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAg
ICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwv
dHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+MTA5PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRk
IGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNs
YXNzPSJsaW5lIj4xMTA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDc8L3RkPjx0ZCBjbGFzcz0ic291
cmNlIj4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IGZsb2F0X3R5cGUgPHNwYW4g
Y2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5mdW5jdGlvbjwvc3Bhbj4gPHNwYW4g
Y2xhc3M9ImsiPigpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRy
IGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjExMTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4y
MTg8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFy
PC9zcGFuPiByZXQgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iIjwv
c3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8
dGQgY2xhc3M9ImxpbmUiPjExMjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yMTg8L3RkPjx0ZCBjbGFz
cz0ic291cmNlIj4gICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwv
dGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MTEzPC90ZD48dGQgY2xh
c3M9ImhpdHMiPjIyMjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNs
YXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+Y29uc3VtZTxzcGFuIGNs
YXNzPSJrIj4oPC9zcGFuPklEPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJz
Ij4idW5yZXN0cmljdGVkIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KSk8L3NwYW4+IHJldCA8c3Bh
biBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJ1bnJlc3RyaWN0ZWQgIjwvc3Bh
bj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQg
Y2xhc3M9ImxpbmUiPjExNDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yMTg8L3RkPjx0ZCBjbGFzcz0i
c291cmNlIj4gICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+
PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MTE1PC90ZD48dGQgY2xhc3M9
ImhpdHMiPjI1NzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNz
PSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+Y29uc3VtZTxzcGFuIGNsYXNz
PSJrIj4oPC9zcGFuPklEPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4i
ZmxvYXQiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnJl
dHVybjwvc3Bhbj4gcmV0IDxzcGFuIGNsYXNzPSJrIj4rPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+
ImZsb2F0Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNz
PSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjExNjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xODI8L3Rk
Pjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+
IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPmNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5J
RDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+ImRvdWJsZSI8L3NwYW4+
PHNwYW4gY2xhc3M9ImsiPikpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+cmV0dXJuPC9zcGFuPiBy
ZXQgPHNwYW4gY2xhc3M9ImsiPis8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iZG91YmxlIjwvc3Bh
bj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQg
Y2xhc3M9ImxpbmUiPjExNzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xNzY8L3RkPjx0ZCBjbGFzcz0i
c291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNz
PSJrIj4oPC9zcGFuPnJldDxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiBlcnJvcjxzcGFuIGNsYXNz
PSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4iRmFpbGVkIHRvIHBhcnNlIGZsb2F0IHR5cGUi
PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0i
bGluZSI+MTE4PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAg
ICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90
ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjExOTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3Rk
Pjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0
ZCBjbGFzcz0ibGluZSI+MTIwPC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ3PC90ZD48dGQgY2xhc3M9
InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiBwcmltaXRpdmVfdHlw
ZSA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPmZ1bmN0aW9uPC9zcGFu
PiA8c3BhbiBjbGFzcz0iayI+KCk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+
PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MTIxPC90ZD48dGQgY2xhc3M9
ImhpdHMiPjI3MzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNz
PSJrIj52YXI8L3NwYW4+IG51bV90eXBlIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiBpbnRlZ2Vy
X3R5cGU8c3BhbiBjbGFzcz0iayI+KCk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj58fDwvc3Bhbj4g
ZmxvYXRfdHlwZTxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0i
aGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4xMjI8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MzcwPC90ZD48
dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8
c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5udW1fdHlwZTxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8
c3BhbiBjbGFzcz0iayI+cmV0dXJuPC9zcGFuPiBudW1fdHlwZTxzcGFuIGNsYXNzPSJrIj47PC9z
cGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MTIzPC90ZD48
dGQgY2xhc3M9ImhpdHMiPjE3NjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIGFs
bF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4g
PHRkIGNsYXNzPSJsaW5lIj4xMjQ8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTg2PC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBj
bGFzcz0iayI+KDwvc3Bhbj5jb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+SUQ8c3BhbiBj
bGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJib29sZWFuIjwvc3Bhbj48c3BhbiBj
bGFzcz0iayI+KSk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5yZXR1cm48L3NwYW4+IDxzcGFuIGNs
YXNzPSJzIj4iYm9vbGVhbiI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3Ry
Pjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4xMjU8L3RkPjx0ZCBjbGFzcz0iaGl0
cyI+MTY3PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9Imsi
PmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5jb25zdW1lPHNwYW4gY2xhc3M9Imsi
Pig8L3NwYW4+SUQ8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJieXRl
Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KSk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5yZXR1cm48
L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iYnl0ZSI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3Nw
YW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4xMjY8L3RkPjx0
ZCBjbGFzcz0iaGl0cyI+MTY4PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNw
YW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5jb25zdW1lPHNw
YW4gY2xhc3M9ImsiPig8L3NwYW4+SUQ8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xh
c3M9InMiPiJvY3RldCI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPikpPC9zcGFuPiA8c3BhbiBjbGFz
cz0iayI+cmV0dXJuPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+Im9jdGV0Ijwvc3Bhbj48c3BhbiBj
bGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+MTI3PC90ZD48
dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xh
c3M9ImsiPn08L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQg
Y2xhc3M9ImxpbmUiPjEyODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291
cmNlIj4gICAgICAgIDwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+
MTI5PC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ3PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAg
ICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiBjb25zdF92YWx1ZSA8c3BhbiBjbGFzcz0iayI+
PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPmZ1bmN0aW9uPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+
KCk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9Imhp
dCI+IDx0ZCBjbGFzcz0ibGluZSI+MTMwPC90ZD48dGQgY2xhc3M9ImhpdHMiPjE3PC90ZD48dGQg
Y2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3Bh
biBjbGFzcz0iayI+KDwvc3Bhbj5jb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+SUQ8c3Bh
biBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJ0cnVlIjwvc3Bhbj48c3BhbiBj
bGFzcz0iayI+KSk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5yZXR1cm48L3NwYW4+IDxzcGFuIGNs
YXNzPSJrIj50cnVlPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIg
Y2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MTMxPC90ZD48dGQgY2xhc3M9ImhpdHMiPjE5
PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9z
cGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5jb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3Nw
YW4+SUQ8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJmYWxzZSI8L3Nw
YW4+PHNwYW4gY2xhc3M9ImsiPikpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+cmV0dXJuPC9zcGFu
PiA8c3BhbiBjbGFzcz0iayI+ZmFsc2U8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90
ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4xMzI8L3RkPjx0ZCBjbGFz
cz0iaGl0cyI+MTc8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFz
cz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPmNvbnN1bWU8c3BhbiBjbGFz
cz0iayI+KDwvc3Bhbj5JRDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+
Im51bGwiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnJl
dHVybjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPm51bGw8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8
L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4xMzM8L3Rk
Pjx0ZCBjbGFzcz0iaGl0cyI+MTQ8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8
c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPmNvbnN1bWU8
c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5JRDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBj
bGFzcz0icyI+IkluZmluaXR5Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KSk8L3NwYW4+IDxzcGFu
IGNsYXNzPSJrIj5yZXR1cm48L3NwYW4+IEluZmluaXR5PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+
PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4xMzQ8L3RkPjx0ZCBj
bGFzcz0iaGl0cyI+MTM8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBj
bGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPmNvbnN1bWU8c3BhbiBj
bGFzcz0iayI+KDwvc3Bhbj5JRDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0i
cyI+Ik5hTiI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPikpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+
cmV0dXJuPC9zcGFuPiBOYU48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNs
YXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjEzNTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xMTwv
dGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3Nw
YW4+IHJldCA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gY29uc3VtZTxzcGFuIGNsYXNzPSJrIj4o
PC9zcGFuPkZMT0FUPHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj58fDwv
c3Bhbj4gY29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPklOVDxzcGFuIGNsYXNzPSJrIj4p
Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjEzNjwv
dGQ+PHRkIGNsYXNzPSJoaXRzIj4xOTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAg
IDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+cmV0PHNw
YW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5yZXR1cm48L3NwYW4+IDxzcGFu
IGNsYXNzPSJzIj4xPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+Kjwvc3Bhbj4gcmV0PHNwYW4gY2xh
c3M9ImsiPi48L3NwYW4+dmFsdWU8c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRy
IGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjEzNzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4z
PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwv
c3Bhbj4gdG9rIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiBjb25zdW1lPHNwYW4gY2xhc3M9Imsi
Pig8L3NwYW4+T1RIRVI8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiIt
Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0
Ij4gPHRkIGNsYXNzPSJsaW5lIj4xMzg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MzwvdGQ+PHRkIGNs
YXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4g
Y2xhc3M9ImsiPig8L3NwYW4+dG9rPHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNz
PSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+
MTM5PC90ZD48dGQgY2xhc3M9ImhpdHMiPjI8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAg
ICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bh
bj5jb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+SUQ8c3BhbiBjbGFzcz0iayI+LDwvc3Bh
bj4gPHNwYW4gY2xhc3M9InMiPiJJbmZpbml0eSI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPikpPC9z
cGFuPiA8c3BhbiBjbGFzcz0iayI+cmV0dXJuPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+LTwvc3Bh
bj5JbmZpbml0eTxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9Im1p
c3MiPiA8dGQgY2xhc3M9ImxpbmUiPjE0MDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4wPC90ZD48dGQg
Y2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5lbHNlPC9zcGFu
PiB0b2tlbnM8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj51bnNoaWZ0PHNwYW4gY2xhc3M9ImsiPig8
L3NwYW4+dG9rPHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNz
PSJsaW5lIj4xNDE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+
ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xh
c3M9ImxpbmUiPjE0MjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNl
Ij4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFu
PjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj4xNDM8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+
PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQi
PiA8dGQgY2xhc3M9ImxpbmUiPjE0NDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40NzwvdGQ+PHRkIGNs
YXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gdHlwZV9zdWZm
aXggPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5mdW5jdGlvbjwvc3Bh
bj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+b2JqPHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxz
cGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFz
cz0ibGluZSI+MTQ1PC90ZD48dGQgY2xhc3M9ImhpdHMiPjI0OTwvdGQ+PHRkIGNsYXNzPSJzb3Vy
Y2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj53aGlsZTwvc3Bhbj4gPHNwYW4gY2xhc3M9
ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPnRydWU8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik8
L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+
IDx0ZCBjbGFzcz0ibGluZSI+MTQ2PC90ZD48dGQgY2xhc3M9ImhpdHMiPjI2MzwvdGQ+PHRkIGNs
YXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9z
cGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MTQ3PC90ZD48
dGQgY2xhc3M9ImhpdHMiPjI2MzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAg
ICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPmNvbnN1
bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5PVEhFUjxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8
c3BhbiBjbGFzcz0icyI+Ij8iPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pKTwvc3Bhbj4gPHNwYW4g
Y2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJs
aW5lIj4xNDg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4g
ICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9
ImsiPig8L3NwYW4+b2JqPHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+bnVsbGFibGU8c3BhbiBjbGFz
cz0iayI+KTwvc3Bhbj4gZXJyb3I8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0i
cyI+IkNhbid0IG51bGxhYmxlIG1vcmUgdGhhbiBvbmNlIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+
KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4xNDk8
L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAg
ICAgICAgICAgIG9iajxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPm51bGxhYmxlIDxzcGFuIGNsYXNz
PSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+dHJ1ZTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+
Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+MTUwPC90ZD48dGQgY2xhc3M9
ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFz
cz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUi
PjE1MTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yNTI8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAg
ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmVsc2U8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5p
Zjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+Y29uc3VtZTxzcGFuIGNsYXNzPSJrIj4o
PC9zcGFuPk9USEVSPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iWyI8
L3NwYW4+PHNwYW4gY2xhc3M9ImsiPikpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48
L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjE1MjwvdGQ+PHRkIGNs
YXNzPSJoaXRzIj4zPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICBh
bGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+
IDx0ZCBjbGFzcz0ibGluZSI+MTUzPC90ZD48dGQgY2xhc3M9ImhpdHMiPjM8L3RkPjx0ZCBjbGFz
cz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAgIGNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwv
c3Bhbj5PVEhFUjxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+Il0iPC9z
cGFuPjxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+fHw8L3NwYW4+IGVy
cm9yPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9InMiPiJVbnRlcm1pbmF0ZWQg
YXJyYXkgdHlwZSI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIg
Y2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MTU0PC90ZD48dGQgY2xhc3M9ImhpdHMiPjU8
L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJr
Ij5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPighPC9zcGFuPm9iajxzcGFuIGNsYXNzPSJrIj4u
PC9zcGFuPmFycmF5PHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IG9iajxzcGFuIGNsYXNzPSJrIj4u
PC9zcGFuPmFycmF5IDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+MTwv
c3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8
dGQgY2xhc3M9ImxpbmUiPjE1NTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xPC90ZD48dGQgY2xhc3M9
InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+ZWxzZTwvc3Bhbj4g
b2JqPHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+YXJyYXk8c3BhbiBjbGFzcz0iayI+Kys7PC9zcGFu
PjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj4xNTY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+
PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj59
PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MTU3PC90
ZD48dGQgY2xhc3M9ImhpdHMiPjI0OTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAg
ICAgICA8c3BhbiBjbGFzcz0iayI+ZWxzZTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnJldHVybjwv
c3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGlu
ZSI+MTU4PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAg
ICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJs
aW5lIj4xNTk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAg
ICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3Rk
PjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+MTYwPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+
PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRk
IGNsYXNzPSJsaW5lIj4xNjE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDc8L3RkPjx0ZCBjbGFzcz0i
c291cmNlIj4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IHNpbmdsZV90eXBlIDxz
cGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ZnVuY3Rpb248L3NwYW4+IDxz
cGFuIGNsYXNzPSJrIj4oKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3Ry
Pjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4xNjI8L3RkPjx0ZCBjbGFzcz0iaGl0
cyI+MjYxPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9Imsi
PnZhcjwvc3Bhbj4gcHJpbSA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gcHJpbWl0aXZlX3R5cGU8
c3BhbiBjbGFzcz0iayI+KCk8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjE2
MzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAg
ICA8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gICByZXQgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+
IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPiBzZXF1ZW5jZTxzcGFuIGNsYXNzPSJrIj46PC9zcGFu
PiA8c3BhbiBjbGFzcz0iayI+ZmFsc2U8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IG51
bGxhYmxlPHNwYW4gY2xhc3M9ImsiPjo8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5mYWxzZTwvc3Bh
bj48c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gYXJyYXk8c3BhbiBjbGFzcz0iayI+Ojwvc3Bhbj4g
PHNwYW4gY2xhc3M9ImsiPmZhbHNlPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiB1bmlv
bjxzcGFuIGNsYXNzPSJrIj46PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ZmFsc2U8L3NwYW4+IDxz
cGFuIGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj4xNjQ8
L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAg
PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNs
YXNzPSJsaW5lIj4xNjU8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MjYxPC90ZD48dGQgY2xhc3M9InNv
dXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0i
ayI+KDwvc3Bhbj5wcmltPHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57
PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MTY2PC90
ZD48dGQgY2xhc3M9ImhpdHMiPjk5PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAg
ICAgIHJldDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPmlkbFR5cGUgPHNwYW4gY2xhc3M9ImsiPj08
L3NwYW4+IHByaW08c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFz
cz0ibGluZSI+MTY3PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2Ui
PiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9
ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MTY4PC90ZD48dGQgY2xhc3M9ImhpdHMiPjE2MjwvdGQ+
PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5lbHNlPC9zcGFu
PiA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPmNvbnN1
bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5JRDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3Bh
biBjbGFzcz0icyI+InNlcXVlbmNlIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KSk8L3NwYW4+IDxz
cGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFz
cz0ibGluZSI+MTY5PC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ8L3RkPjx0ZCBjbGFzcz0ic291cmNl
Ij4gICAgICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwv
dHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjE3MDwvdGQ+PHRkIGNsYXNzPSJo
aXRzIj40PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNz
PSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPighPC9zcGFuPmNvbnN1bWU8c3BhbiBjbGFz
cz0iayI+KDwvc3Bhbj5PVEhFUjxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0i
cyI+IjwiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8
L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0ibWlzcyI+IDx0ZCBjbGFzcz0ibGluZSI+MTcxPC90
ZD48dGQgY2xhc3M9ImhpdHMiPjA8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAg
ICAgICAgIHJldDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPmlkbFR5cGUgPHNwYW4gY2xhc3M9Imsi
Pj08L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4ic2VxdWVuY2UiPC9zcGFuPjxzcGFuIGNsYXNzPSJr
Ij47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj4xNzI8L3RkPjx0ZCBjbGFz
cz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNs
YXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj4xNzM8L3RkPjx0
ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxz
cGFuIGNsYXNzPSJrIj5lbHNlPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwv
dHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjE3NDwvdGQ+PHRkIGNsYXNzPSJo
aXRzIj40PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICByZXQ8c3Bh
biBjbGFzcz0iayI+Ljwvc3Bhbj5zZXF1ZW5jZSA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNw
YW4gY2xhc3M9ImsiPnRydWU8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3Ry
Pjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4xNzU8L3RkPjx0ZCBjbGFzcz0iaGl0
cyI+NDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAgcmV0PHNwYW4g
Y2xhc3M9ImsiPi48L3NwYW4+aWRsVHlwZSA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gdHlwZTxz
cGFuIGNsYXNzPSJrIj4oKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnx8PC9zcGFuPiBlcnJvcjxz
cGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4iRXJyb3IgcGFyc2luZyBzZXF1
ZW5jZSB0eXBlIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBj
bGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4xNzY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDwv
dGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xh
c3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9Imxp
bmUiPjE3NzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAg
ICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJr
Ij4oITwvc3Bhbj5jb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+T1RIRVI8c3BhbiBjbGFz
cz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiI+Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+
KSk8L3NwYW4+IGVycm9yPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9InMiPiJV
bnRlcm1pbmF0ZWQgc2VxdWVuY2UiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3Rk
PjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjE3ODwvdGQ+PHRkIGNsYXNz
PSJoaXRzIj40PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICBhbGxf
d3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0
ZCBjbGFzcz0ibGluZSI+MTc5PC90ZD48dGQgY2xhc3M9ImhpdHMiPjU8L3RkPjx0ZCBjbGFzcz0i
c291cmNlIj4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNw
YW4gY2xhc3M9ImsiPig8L3NwYW4+Y29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPk9USEVS
PHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iPyI8L3NwYW4+PHNwYW4g
Y2xhc3M9ImsiPikpPC9zcGFuPiByZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5udWxsYWJsZSA8
c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnRydWU8L3NwYW4+PHNwYW4g
Y2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJs
aW5lIj4xODA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAg
ICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnJldHVybjwvc3Bhbj4gcmV0PHNwYW4g
Y2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjE4MTwvdGQ+
PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAg
PHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjE4
MjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAg
ICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+
MTgzPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAg
ICAgIDxzcGFuIGNsYXNzPSJrIj5lbHNlPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48
L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjE4NDwvdGQ+PHRkIGNs
YXNzPSJoaXRzIj4xNTg8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgPHNw
YW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gbmFtZSA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gY29u
c3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPklEPHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwv
dGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MTg1PC90ZD48dGQgY2xh
c3M9ImhpdHMiPjE2OTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3Bh
biBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oITwvc3Bhbj5uYW1lPHNwYW4g
Y2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5yZXR1cm48L3NwYW4+PHNwYW4gY2xh
c3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5l
Ij4xODY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTQ3PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAg
ICAgICAgICAgICAgIHJldDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPmlkbFR5cGUgPHNwYW4gY2xh
c3M9ImsiPj08L3NwYW4+IG5hbWU8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj52YWx1ZTxzcGFuIGNs
YXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj4xODc8L3RkPjx0
ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4g
Y2xhc3M9ImsiPn08L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJs
aW5lIj4xODg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MjQ2PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+
ICAgICAgICAgICAgdHlwZV9zdWZmaXg8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5yZXQ8c3BhbiBj
bGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJs
aW5lIj4xODk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MjQ2PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+
ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwv
c3Bhbj5yZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5udWxsYWJsZSA8c3BhbiBjbGFzcz0iayI+
JmFtcDsmYW1wOzwvc3Bhbj4gcmV0PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+aWRsVHlwZSA8c3Bh
biBjbGFzcz0iayI+PT09PC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+ImFueSI8L3NwYW4+PHNwYW4g
Y2xhc3M9ImsiPik8L3NwYW4+IGVycm9yPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xh
c3M9InMiPiJUeXBlIGFueSBjYW5ub3QgYmUgbWFkZSBudWxsYWJsZSI8L3NwYW4+PHNwYW4gY2xh
c3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGlu
ZSI+MTkwPC90ZD48dGQgY2xhc3M9ImhpdHMiPjI0NjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAg
ICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5yZXR1cm48L3NwYW4+IHJldDxzcGFuIGNsYXNzPSJr
Ij47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj4xOTE8L3RkPjx0ZCBjbGFz
cz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFzcz0iayI+
fTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0i
bGluZSI+MTkyPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAg
ICAgICAgPC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4xOTM8L3Rk
Pjx0ZCBjbGFzcz0iaGl0cyI+NDc8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxzcGFu
IGNsYXNzPSJrIj52YXI8L3NwYW4+IHVuaW9uX3R5cGUgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+
IDxzcGFuIGNsYXNzPSJrIj5mdW5jdGlvbjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPigpPC9zcGFu
PiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQg
Y2xhc3M9ImxpbmUiPjE5NDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xMTwvdGQ+PHRkIGNsYXNzPSJz
b3VyY2UiPiAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48
L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4xOTU8L3RkPjx0ZCBjbGFzcz0i
aGl0cyI+MTk8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0i
ayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oITwvc3Bhbj5jb25zdW1lPHNwYW4gY2xhc3M9
ImsiPig8L3NwYW4+T1RIRVI8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMi
PiIoIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KSk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5yZXR1
cm48L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0
Ij4gPHRkIGNsYXNzPSJsaW5lIj4xOTY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MzwvdGQ+PHRkIGNs
YXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IHJldCA8
c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+IHNlcXVlbmNl
PHNwYW4gY2xhc3M9ImsiPjo8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5mYWxzZTwvc3Bhbj48c3Bh
biBjbGFzcz0iayI+LDwvc3Bhbj4gbnVsbGFibGU8c3BhbiBjbGFzcz0iayI+Ojwvc3Bhbj4gPHNw
YW4gY2xhc3M9ImsiPmZhbHNlPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiBhcnJheTxz
cGFuIGNsYXNzPSJrIj46PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ZmFsc2U8L3NwYW4+PHNwYW4g
Y2xhc3M9ImsiPiw8L3NwYW4+IHVuaW9uPHNwYW4gY2xhc3M9ImsiPjo8L3NwYW4+IDxzcGFuIGNs
YXNzPSJrIj50cnVlPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiBpZGxUeXBlPHNwYW4g
Y2xhc3M9ImsiPjo8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5bXTwvc3Bhbj4gPHNwYW4gY2xhc3M9
ImsiPn08L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0i
aGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4xOTc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MzwvdGQ+PHRk
IGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IGZz
dCA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gdHlwZTxzcGFuIGNsYXNzPSJrIj4oKTwvc3Bhbj4g
PHNwYW4gY2xhc3M9ImsiPnx8PC9zcGFuPiBlcnJvcjxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxz
cGFuIGNsYXNzPSJzIj4iVW5pb24gdHlwZSB3aXRoIG5vIGNvbnRlbnQiPC9zcGFuPjxzcGFuIGNs
YXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9Imxp
bmUiPjE5ODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4zPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAg
ICAgICAgICAgcmV0PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+aWRsVHlwZTxzcGFuIGNsYXNzPSJr
Ij4uPC9zcGFuPnB1c2g8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5mc3Q8c3BhbiBjbGFzcz0iayI+
KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4xOTk8
L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAg
IDxzcGFuIGNsYXNzPSJrIj53aGlsZTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNw
YW4gY2xhc3M9ImsiPnRydWU8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNs
YXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGlu
ZSI+MjAwPC90ZD48dGQgY2xhc3M9ImhpdHMiPjc8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAg
ICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRy
IGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjIwMTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4x
MDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+
aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oITwvc3Bhbj5jb25zdW1lPHNwYW4gY2xhc3M9Imsi
Pig8L3NwYW4+SUQ8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJvciI8
L3NwYW4+PHNwYW4gY2xhc3M9ImsiPikpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+YnJlYWs8L3Nw
YW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRk
IGNsYXNzPSJsaW5lIj4yMDI8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDwvdGQ+PHRkIGNsYXNzPSJz
b3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiB0eXAgPHNw
YW4gY2xhc3M9ImsiPj08L3NwYW4+IHR5cGU8c3BhbiBjbGFzcz0iayI+KCk8L3NwYW4+IDxzcGFu
IGNsYXNzPSJrIj58fDwvc3Bhbj4gZXJyb3I8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3BhbiBj
bGFzcz0icyI+Ik5vIHR5cGUgYWZ0ZXIgJ29yJyBpbiB1bmlvbiB0eXBlIjwvc3Bhbj48c3BhbiBj
bGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJs
aW5lIj4yMDM8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAg
ICAgICAgICAgICAgICByZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5pZGxUeXBlPHNwYW4gY2xh
c3M9ImsiPi48L3NwYW4+cHVzaDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPnR5cDxzcGFuIGNsYXNz
PSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+MjA0PC90ZD48dGQg
Y2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNs
YXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGlu
ZSI+MjA1PC90ZD48dGQgY2xhc3M9ImhpdHMiPjM8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAg
ICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oITwvc3Bh
bj5jb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+T1RIRVI8c3BhbiBjbGFzcz0iayI+LDwv
c3Bhbj4gPHNwYW4gY2xhc3M9InMiPiIpIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KSk8L3NwYW4+
IGVycm9yPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9InMiPiJVbnRlcm1pbmF0
ZWQgdW5pb24gdHlwZSI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48
dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MjA2PC90ZD48dGQgY2xhc3M9ImhpdHMi
PjM8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICB0eXBlX3N1ZmZpeDxzcGFuIGNs
YXNzPSJrIj4oPC9zcGFuPnJldDxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRy
IGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjIwNzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4z
PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnJldHVy
bjwvc3Bhbj4gcmV0PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xh
c3M9ImxpbmUiPjIwODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNl
Ij4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFu
PjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj4yMDk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+
PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQi
PiA8dGQgY2xhc3M9ImxpbmUiPjIxMDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40NzwvdGQ+PHRkIGNs
YXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gdHlwZSA8c3Bh
biBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPmZ1bmN0aW9uPC9zcGFuPiA8c3Bh
biBjbGFzcz0iayI+KCk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48
dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MjExPC90ZD48dGQgY2xhc3M9ImhpdHMi
PjI2MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5y
ZXR1cm48L3NwYW4+IHNpbmdsZV90eXBlPHNwYW4gY2xhc3M9ImsiPigpPC9zcGFuPiA8c3BhbiBj
bGFzcz0iayI+fHw8L3NwYW4+IHVuaW9uX3R5cGU8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwv
dGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj4yMTI8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90
ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48c3Bh
biBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+MjEzPC90
ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPC90ZD48
L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4yMTQ8L3RkPjx0ZCBjbGFzcz0i
aGl0cyI+NDc8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj52
YXI8L3NwYW4+IGFyZ3VtZW50IDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0i
ayI+ZnVuY3Rpb248L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oKTwvc3Bhbj4gPHNwYW4gY2xhc3M9
ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4y
MTU8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+Nzk8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAg
ICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiByZXQgPHNwYW4gY2xhc3M9ImsiPj08L3Nw
YW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPiBvcHRpb25hbDxzcGFuIGNsYXNzPSJrIj46PC9z
cGFuPiA8c3BhbiBjbGFzcz0iayI+ZmFsc2U8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+
IHZhcmlhZGljPHNwYW4gY2xhc3M9ImsiPjo8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5mYWxzZTwv
c3Bhbj4gPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90
ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4yMTY8L3RkPjx0ZCBjbGFz
cz0iaGl0cyI+Nzk8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICByZXQ8c3BhbiBj
bGFzcz0iayI+Ljwvc3Bhbj5leHRBdHRycyA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gZXh0ZW5k
ZWRfYXR0cnM8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9Imhp
dCI+IDx0ZCBjbGFzcz0ibGluZSI+MjE3PC90ZD48dGQgY2xhc3M9ImhpdHMiPjc5PC90ZD48dGQg
Y2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bh
bj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjIxODwvdGQ+PHRk
IGNsYXNzPSJoaXRzIj43OTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFu
IGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+Y29uc3VtZTxzcGFu
IGNsYXNzPSJrIj4oPC9zcGFuPklEPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNz
PSJzIj4ib3B0aW9uYWwiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pKTwvc3Bhbj4gPHNwYW4gY2xh
c3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5l
Ij4yMTk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAg
ICAgICAgICAgICByZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5vcHRpb25hbCA8c3BhbiBjbGFz
cz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnRydWU8L3NwYW4+PHNwYW4gY2xhc3M9Imsi
Pjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4yMjA8
L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAg
ICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNs
YXNzPSJsaW5lIj4yMjE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJj
ZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFz
cz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4yMjI8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+Nzk8L3Rk
Pjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICByZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bh
bj50eXBlIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiB0eXBlPHNwYW4gY2xhc3M9ImsiPigpOzwv
c3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjIyMzwvdGQ+
PHRkIGNsYXNzPSJoaXRzIj44NzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxz
cGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPighPC9zcGFuPnJldDxzcGFu
IGNsYXNzPSJrIj4uPC9zcGFuPnR5cGU8c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xh
c3M9ImsiPnJldHVybjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRy
IGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjIyNDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj43
MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwv
c3Bhbj4gPHNwYW4gY2xhc3M9ImsiPighPC9zcGFuPnJldDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFu
Pm9wdGlvbmFsPHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFu
PjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MjI1PC90ZD48dGQg
Y2xhc3M9ImhpdHMiPjY5PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIGFs
bF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4g
PHRkIGNsYXNzPSJsaW5lIj4yMjY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+Njk8L3RkPjx0ZCBjbGFz
cz0ic291cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3Bh
biBjbGFzcz0iayI+KDwvc3Bhbj50b2tlbnM8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5sZW5ndGgg
PHNwYW4gY2xhc3M9ImsiPj49PC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+Mzwvc3Bhbj4gPHNwYW4g
Y2xhc3M9ImsiPiZhbXA7JmFtcDs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUi
PjIyNzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAg
ICAgICAgICAgICAgIHRva2VuczxzcGFuIGNsYXNzPSJrIj5bPC9zcGFuPjxzcGFuIGNsYXNzPSJz
Ij4wPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj5dLjwvc3Bhbj50eXBlIDxzcGFuIGNsYXNzPSJrIj49
PT08L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4ib3RoZXIiPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+
JmFtcDsmYW1wOzwvc3Bhbj4gdG9rZW5zPHNwYW4gY2xhc3M9ImsiPls8L3NwYW4+PHNwYW4gY2xh
c3M9InMiPjA8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPl0uPC9zcGFuPnZhbHVlIDxzcGFuIGNsYXNz
PSJrIj49PT08L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iLiI8L3NwYW4+IDxzcGFuIGNsYXNzPSJr
Ij4mYW1wOyZhbXA7PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj4yMjg8L3Rk
Pjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAg
ICAgICB0b2tlbnM8c3BhbiBjbGFzcz0iayI+Wzwvc3Bhbj48c3BhbiBjbGFzcz0icyI+MTwvc3Bh
bj48c3BhbiBjbGFzcz0iayI+XS48L3NwYW4+dHlwZSA8c3BhbiBjbGFzcz0iayI+PT09PC9zcGFu
PiA8c3BhbiBjbGFzcz0icyI+Im90aGVyIjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPiZhbXA7JmFt
cDs8L3NwYW4+IHRva2VuczxzcGFuIGNsYXNzPSJrIj5bPC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4x
PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj5dLjwvc3Bhbj52YWx1ZSA8c3BhbiBjbGFzcz0iayI+PT09
PC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+Ii4iPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+JmFtcDsm
YW1wOzwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+MjI5PC90ZD48dGQgY2xh
c3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAgdG9r
ZW5zPHNwYW4gY2xhc3M9ImsiPls8L3NwYW4+PHNwYW4gY2xhc3M9InMiPjI8L3NwYW4+PHNwYW4g
Y2xhc3M9ImsiPl0uPC9zcGFuPnR5cGUgPHNwYW4gY2xhc3M9ImsiPj09PTwvc3Bhbj4gPHNwYW4g
Y2xhc3M9InMiPiJvdGhlciI8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4mYW1wOyZhbXA7PC9zcGFu
PiB0b2tlbnM8c3BhbiBjbGFzcz0iayI+Wzwvc3Bhbj48c3BhbiBjbGFzcz0icyI+Mjwvc3Bhbj48
c3BhbiBjbGFzcz0iayI+XS48L3NwYW4+dmFsdWUgPHNwYW4gY2xhc3M9ImsiPj09PTwvc3Bhbj4g
PHNwYW4gY2xhc3M9InMiPiIuIjwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+
MjMwPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAg
ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9z
cGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MjMxPC90ZD48
dGQgY2xhc3M9ImhpdHMiPjQ8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAg
ICAgIHRva2VuczxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnNoaWZ0PHNwYW4gY2xhc3M9ImsiPigp
Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjIzMjwv
dGQ+PHRkIGNsYXNzPSJoaXRzIj40PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAg
ICAgICAgICB0b2tlbnM8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5zaGlmdDxzcGFuIGNsYXNzPSJr
Ij4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4y
MzM8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAg
ICAgICAgICAgICAgdG9rZW5zPHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+c2hpZnQ8c3BhbiBjbGFz
cz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGlu
ZSI+MjM0PC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAg
ICAgICAgICAgICAgICAgIHJldDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnZhcmlhZGljIDxzcGFu
IGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+dHJ1ZTwvc3Bhbj48c3BhbiBjbGFz
cz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+MjM1PC90ZD48dGQg
Y2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3Bh
biBjbGFzcz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+MjM2PC90
ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxz
cGFuIGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFz
cz0ibGluZSI+MjM3PC90ZD48dGQgY2xhc3M9ImhpdHMiPjcxPC90ZD48dGQgY2xhc3M9InNvdXJj
ZSI+ICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+
PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjIzODwvdGQ+PHRkIGNsYXNzPSJoaXRz
Ij43MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj52
YXI8L3NwYW4+IG5hbWUgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IGNvbnN1bWU8c3BhbiBjbGFz
cz0iayI+KDwvc3Bhbj5JRDxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+
fHw8L3NwYW4+IGVycm9yPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9InMiPiJO
byBuYW1lIGluIGFyZ3VtZW50Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48
L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4yMzk8L3RkPjx0ZCBjbGFzcz0i
aGl0cyI+NzE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICByZXQ8c3BhbiBjbGFz
cz0iayI+Ljwvc3Bhbj5uYW1lIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiBuYW1lPHNwYW4gY2xh
c3M9ImsiPi48L3NwYW4+dmFsdWU8c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRy
IGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjI0MDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj43
MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwv
c3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+cmV0PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+
b3B0aW9uYWw8c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+
PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4yNDE8L3RkPjx0ZCBj
bGFzcz0iaGl0cyI+MjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICBhbGxf
d3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0
ZCBjbGFzcz0ibGluZSI+MjQyPC90ZD48dGQgY2xhc3M9ImhpdHMiPjI8L3RkPjx0ZCBjbGFzcz0i
c291cmNlIj4gICAgICAgICAgICAgICAgcmV0PHNwYW4gY2xhc3M9ImsiPls8L3NwYW4+PHNwYW4g
Y2xhc3M9InMiPiJkZWZhdWx0Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+XTwvc3Bhbj4gPHNwYW4g
Y2xhc3M9ImsiPj08L3NwYW4+IGRlZmF1bHRfPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3Rk
PjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+MjQzPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+
PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjwv
dGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MjQ0PC90ZD48dGQgY2xh
c3M9ImhpdHMiPjcxPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xh
c3M9ImsiPnJldHVybjwvc3Bhbj4gcmV0PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3Ry
Pjx0cj48dGQgY2xhc3M9ImxpbmUiPjI0NTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBj
bGFzcz0ic291cmNlIj4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjxzcGFuIGNsYXNz
PSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj4yNDY8L3RkPjx0ZCBj
bGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8L3RkPjwvdHI+PHRy
IGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjI0NzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40
NzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bh
bj4gYXJndW1lbnRfbGlzdCA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9Imsi
PmZ1bmN0aW9uPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KCk8L3NwYW4+IDxzcGFuIGNsYXNzPSJr
Ij57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MjQ4
PC90ZD48dGQgY2xhc3M9ImhpdHMiPjU5PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAg
ICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gYXJnIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFu
PiBhcmd1bWVudDxzcGFuIGNsYXNzPSJrIj4oKSw8L3NwYW4+IHJldCA8c3BhbiBjbGFzcz0iayI+
PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPltdOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJo
aXQiPiA8dGQgY2xhc3M9ImxpbmUiPjI0OTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj42NzwvdGQ+PHRk
IGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNw
YW4gY2xhc3M9ImsiPighPC9zcGFuPmFyZzxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBj
bGFzcz0iayI+cmV0dXJuPC9zcGFuPiByZXQ8c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwv
dHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjI1MDwvdGQ+PHRkIGNsYXNzPSJo
aXRzIj41MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIHJldDxzcGFuIGNsYXNz
PSJrIj4uPC9zcGFuPnB1c2g8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5hcmc8c3BhbiBjbGFzcz0i
ayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4y
NTE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NTE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAg
ICAgICA8c3BhbiBjbGFzcz0iayI+d2hpbGU8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFu
PjxzcGFuIGNsYXNzPSJrIj50cnVlPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3Bh
biBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9
ImxpbmUiPjI1MjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj43MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2Ui
PiAgICAgICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90
cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MjUzPC90ZD48dGQgY2xhc3M9Imhp
dHMiPjEyMjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFz
cz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oITwvc3Bhbj5jb25zdW1lPHNwYW4gY2xh
c3M9ImsiPig8L3NwYW4+T1RIRVI8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9
InMiPiIsIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KSk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5y
ZXR1cm48L3NwYW4+IHJldDxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xh
c3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MjU0PC90ZD48dGQgY2xhc3M9ImhpdHMiPjIwPC90
ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJr
Ij4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4y
NTU8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MjA8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAg
ICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gbnh0IDxzcGFuIGNsYXNzPSJrIj49
PC9zcGFuPiBhcmd1bWVudDxzcGFuIGNsYXNzPSJrIj4oKTwvc3Bhbj4gPHNwYW4gY2xhc3M9Imsi
Pnx8PC9zcGFuPiBlcnJvcjxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4i
VHJhaWxpbmcgY29tbWEgaW4gYXJndW1lbnRzIGxpc3QiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4p
Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjI1Njwv
dGQ+PHRkIGNsYXNzPSJoaXRzIj4yMDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAg
ICAgICByZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5wdXNoPHNwYW4gY2xhc3M9ImsiPig8L3Nw
YW4+bnh0PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJs
aW5lIj4yNTc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAg
ICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9
ImxpbmUiPjI1ODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4g
ICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwv
dGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj4yNTk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90
ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8
dGQgY2xhc3M9ImxpbmUiPjI2MDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40NzwvdGQ+PHRkIGNsYXNz
PSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gc2ltcGxlX2V4dGVu
ZGVkX2F0dHIgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5mdW5jdGlv
bjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPigpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bh
bj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjI2MTwvdGQ+PHRk
IGNsYXNzPSJoaXRzIj4xNzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIGFsbF93
czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRk
IGNsYXNzPSJsaW5lIj4yNjI8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTc8L3RkPjx0ZCBjbGFzcz0i
c291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiBuYW1lIDxzcGFu
IGNsYXNzPSJrIj49PC9zcGFuPiBjb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+SUQ8c3Bh
biBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNz
PSJsaW5lIj4yNjM8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTc8L3RkPjx0ZCBjbGFzcz0ic291cmNl
Ij4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4o
ITwvc3Bhbj5uYW1lPHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5yZXR1
cm48L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0
Ij4gPHRkIGNsYXNzPSJsaW5lIj4yNjQ8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTc8L3RkPjx0ZCBj
bGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiByZXQg
PHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90
cj48dHI+PHRkIGNsYXNzPSJsaW5lIj4yNjU8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQg
Y2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIG5hbWU8c3BhbiBjbGFzcz0iayI+Ojwvc3Bh
bj4gbmFtZTxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnZhbHVlPC90ZD48L3RyPjx0cj48dGQgY2xh
c3M9ImxpbmUiPjI2NjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNl
Ij4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gICA8c3BhbiBjbGFzcz0icyI+
ImFyZ3VtZW50cyI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjo8L3NwYW4+IDxzcGFuIGNsYXNzPSJr
Ij5udWxsPC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj4yNjc8L3RkPjx0ZCBj
bGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xh
c3M9ImsiPn08L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFz
cz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4yNjg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTc8L3Rk
Pjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7
PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MjY5PC90
ZD48dGQgY2xhc3M9ImhpdHMiPjE3PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAg
PHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gZXEgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IGNv
bnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5PVEhFUjxzcGFuIGNsYXNzPSJrIj4sPC9zcGFu
PiA8c3BhbiBjbGFzcz0icyI+Ij0iPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3Rk
PjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjI3MDwvdGQ+PHRkIGNsYXNz
PSJoaXRzIj4xNzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNz
PSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+ZXE8c3BhbiBjbGFzcz0iayI+
KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0
Ij4gPHRkIGNsYXNzPSJsaW5lIj4yNzE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NTwvdGQ+PHRkIGNs
YXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9z
cGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MjcyPC90ZD48
dGQgY2xhc3M9ImhpdHMiPjU8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAg
cmV0PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+cmhzIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiBj
b25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+SUQ8c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+
PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4yNzM8L3RkPjx0ZCBj
bGFzcz0iaGl0cyI+NTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3Bh
biBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oITwvc3Bhbj5yZXQ8c3BhbiBj
bGFzcz0iayI+Ljwvc3Bhbj5yaHM8c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9
ImsiPnJldHVybjwvc3Bhbj4gZXJyb3I8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3BhbiBjbGFz
cz0icyI+Ik5vIHJpZ2h0IGhhbmQgc2lkZSB0byBleHRlbmRlZCBhdHRyaWJ1dGUgYXNzaWdubWVu
dCI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNz
PSJsaW5lIj4yNzQ8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+
ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0i
aGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4yNzU8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTc8L3RkPjx0
ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9z
cGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+Mjc2PC90ZD48
dGQgY2xhc3M9ImhpdHMiPjE3PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNw
YW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5jb25zdW1lPHNw
YW4gY2xhc3M9ImsiPig8L3NwYW4+T1RIRVI8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4g
Y2xhc3M9InMiPiIoIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KSk8L3NwYW4+IDxzcGFuIGNsYXNz
PSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+
Mjc3PC90ZD48dGQgY2xhc3M9ImhpdHMiPjI8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAg
ICAgICAgICAgcmV0PHNwYW4gY2xhc3M9ImsiPls8L3NwYW4+PHNwYW4gY2xhc3M9InMiPiJhcmd1
bWVudHMiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj5dPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+PTwv
c3Bhbj4gYXJndW1lbnRfbGlzdDxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0
ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4yNzg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+
MjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFz
cz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGlu
ZSI+Mjc5PC90ZD48dGQgY2xhc3M9ImhpdHMiPjI8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAg
ICAgICAgICAgICAgY29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPk9USEVSPHNwYW4gY2xh
c3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iKSI8L3NwYW4+PHNwYW4gY2xhc3M9Imsi
Pik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj58fDwvc3Bhbj4gZXJyb3I8c3BhbiBjbGFzcz0iayI+
KDwvc3Bhbj48c3BhbiBjbGFzcz0icyI+IlVuY2xvc2VkIGFyZ3VtZW50IGluIGV4dGVuZGVkIGF0
dHJpYnV0ZSI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRk
IGNsYXNzPSJsaW5lIj4yODA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNv
dXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PC90ZD48L3RyPjx0ciBj
bGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4yODE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTc8
L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+cmV0dXJu
PC9zcGFuPiByZXQ8c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFz
cz0ibGluZSI+MjgyPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2Ui
PiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+
PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjI4MzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48
L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJs
aW5lIj4yODQ8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAg
ICAgICA8c3BhbiBjbGFzcz0iYyI+Ly8gTm90ZTogd2UgcGFyc2Ugc29tZXRoaW5nIHNpbXBsZXIg
dGhhbiB0aGUgb2ZmaWNpYWwgc3ludGF4LiBJdCdzIGFsbCB0aGF0IGV2ZXI8L3NwYW4+PC90ZD48
L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjI4NTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0
ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxzcGFuIGNsYXNzPSJjIj4vLyBzZWVtcyB0byBiZSB1
c2VkPC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+Mjg2
PC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ3PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8
c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiBleHRlbmRlZF9hdHRycyA8c3BhbiBjbGFzcz0iayI+
PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPmZ1bmN0aW9uPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+
KCk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9Imhp
dCI+IDx0ZCBjbGFzcz0ibGluZSI+Mjg3PC90ZD48dGQgY2xhc3M9ImhpdHMiPjQxNTwvdGQ+PHRk
IGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IGVh
cyA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPltdOzwvc3Bhbj48L3Rk
PjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjI4ODwvdGQ+PHRkIGNsYXNz
PSJoaXRzIj40MTU8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICBhbGxfd3M8c3Bh
biBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFz
cz0ibGluZSI+Mjg5PC90ZD48dGQgY2xhc3M9ImhpdHMiPjgxNTwvdGQ+PHRkIGNsYXNzPSJzb3Vy
Y2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9Imsi
PighPC9zcGFuPmNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5PVEhFUjxzcGFuIGNsYXNz
PSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+IlsiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4p
KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnJldHVybjwvc3Bhbj4gZWFzPHNwYW4gY2xhc3M9Imsi
Pjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4yOTA8
L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTU8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAg
ICBlYXM8c3BhbiBjbGFzcz0iayI+Wzwvc3Bhbj48c3BhbiBjbGFzcz0icyI+MDwvc3Bhbj48c3Bh
biBjbGFzcz0iayI+XTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IHNpbXBsZV9leHRl
bmRlZF9hdHRyPHNwYW4gY2xhc3M9ImsiPigpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+fHw8L3Nw
YW4+IGVycm9yPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9InMiPiJFeHRlbmRl
ZCBhdHRyaWJ1dGUgd2l0aCBub3QgY29udGVudCI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7PC9z
cGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MjkxPC90ZD48
dGQgY2xhc3M9ImhpdHMiPjE1PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgYWxs
X3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8
dGQgY2xhc3M9ImxpbmUiPjI5MjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xNTwvdGQ+PHRkIGNsYXNz
PSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj53aGlsZTwvc3Bhbj4gPHNwYW4g
Y2xhc3M9ImsiPig8L3NwYW4+Y29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPk9USEVSPHNw
YW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iLCI8L3NwYW4+PHNwYW4gY2xh
c3M9ImsiPikpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNs
YXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjI5MzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yPC90
ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJr
Ij4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4y
OTQ8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAg
ICAgICAgICBlYXM8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5wdXNoPHNwYW4gY2xhc3M9ImsiPig8
L3NwYW4+c2ltcGxlX2V4dGVuZGVkX2F0dHI8c3BhbiBjbGFzcz0iayI+KCk8L3NwYW4+IDxzcGFu
IGNsYXNzPSJrIj58fDwvc3Bhbj4gZXJyb3I8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3BhbiBj
bGFzcz0icyI+IlRyYWlsaW5nIGNvbW1hIGluIGV4dGVuZGVkIGF0dHJpYnV0ZSI8L3NwYW4+PHNw
YW4gY2xhc3M9ImsiPikpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xh
c3M9ImxpbmUiPjI5NTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yPC90ZD48dGQgY2xhc3M9InNvdXJj
ZSI+ICAgICAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48
L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjI5NjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0
ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48L3Rk
PjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjI5NzwvdGQ+PHRkIGNsYXNz
PSJoaXRzIj4xNTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIGNvbnN1bWU8c3Bh
biBjbGFzcz0iayI+KDwvc3Bhbj5PVEhFUjxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBj
bGFzcz0icyI+Il0iPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0i
ayI+fHw8L3NwYW4+IGVycm9yPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9InMi
PiJObyBlbmQgb2YgZXh0ZW5kZWQgYXR0cmlidXRlIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTs8
L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4yOTg8L3Rk
Pjx0ZCBjbGFzcz0iaGl0cyI+MTU8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8
c3BhbiBjbGFzcz0iayI+cmV0dXJuPC9zcGFuPiBlYXM8c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48
L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+Mjk5PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwv
dGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PHNw
YW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjMwMDwv
dGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDwvdGQ+
PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MzAxPC90ZD48dGQgY2xhc3M9
ImhpdHMiPjQ3PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFzcz0iayI+
dmFyPC9zcGFuPiBkZWZhdWx0XyA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9
ImsiPmZ1bmN0aW9uPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KCk8L3NwYW4+IDxzcGFuIGNsYXNz
PSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+
MzAyPC90ZD48dGQgY2xhc3M9ImhpdHMiPjExPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAg
ICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNz
PSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjMwMzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xMTwvdGQ+
PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4g
PHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+Y29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPk9U
SEVSPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iPSI8L3NwYW4+PHNw
YW4gY2xhc3M9ImsiPikpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+
PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjMwNDwvdGQ+PHRkIGNsYXNzPSJoaXRz
Ij41PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIGFsbF93czxzcGFuIGNs
YXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJs
aW5lIj4zMDU8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAg
ICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiBkZWYgPHNwYW4gY2xhc3M9
ImsiPj08L3NwYW4+IGNvbnN0X3ZhbHVlPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwv
dHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjMwNjwvdGQ+PHRkIGNsYXNzPSJo
aXRzIj41PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNz
PSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPnR5
cGVvZjwvc3Bhbj4gZGVmIDxzcGFuIGNsYXNzPSJrIj4hPT08L3NwYW4+IDxzcGFuIGNsYXNzPSJz
Ij4idW5kZWZpbmVkIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9
ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4z
MDc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAg
ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnJldHVybjwvc3Bhbj4gZGVmPHNwYW4gY2xhc3M9
ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjMwODwvdGQ+PHRkIGNs
YXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4g
Y2xhc3M9ImsiPn08L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjMwOTwvdGQ+
PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAg
PHNwYW4gY2xhc3M9ImsiPmVsc2U8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+
PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MzEwPC90ZD48dGQgY2xhc3M9
ImhpdHMiPjI8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAgIDxzcGFu
IGNsYXNzPSJrIj52YXI8L3NwYW4+IHN0ciA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gY29uc3Vt
ZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPlNUUjxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3Bh
biBjbGFzcz0iayI+fHw8L3NwYW4+IGVycm9yPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4g
Y2xhc3M9InMiPiJObyB2YWx1ZSBmb3IgZGVmYXVsdCI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7
PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MzExPC90
ZD48dGQgY2xhc3M9ImhpdHMiPjI8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAg
ICAgICAgIDxzcGFuIGNsYXNzPSJrIj5yZXR1cm48L3NwYW4+IHN0cjxzcGFuIGNsYXNzPSJrIj47
PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj4zMTI8L3RkPjx0ZCBjbGFzcz0i
aGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNz
PSJrIj59PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj4zMTM8L3RkPjx0ZCBj
bGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xh
c3M9ImsiPn08L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjMxNDwvdGQ+PHRk
IGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxzcGFuIGNsYXNz
PSJrIj59PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNs
YXNzPSJsaW5lIj4zMTU8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJj
ZSI+ICAgICAgICA8L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjMx
NjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40NzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAg
PHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gY29uc3RfIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFu
PiA8c3BhbiBjbGFzcz0iayI+ZnVuY3Rpb248L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oKTwvc3Bh
bj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRk
IGNsYXNzPSJsaW5lIj4zMTc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTgwPC90ZD48dGQgY2xhc3M9
InNvdXJjZSI+ICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3Rk
PjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjMxODwvdGQ+PHRkIGNsYXNz
PSJoaXRzIj4zNDg8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFz
cz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oITwvc3Bhbj5jb25zdW1lPHNwYW4gY2xh
c3M9ImsiPig8L3NwYW4+SUQ8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMi
PiJjb25zdCI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPikpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+
cmV0dXJuPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9
ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MzE5PC90ZD48dGQgY2xhc3M9ImhpdHMiPjEyPC90ZD48
dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4g
cmV0IDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj4gdHlw
ZTxzcGFuIGNsYXNzPSJrIj46PC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+ImNvbnN0Ijwvc3Bhbj48
c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gbnVsbGFibGU8c3BhbiBjbGFzcz0iayI+Ojwvc3Bhbj4g
PHNwYW4gY2xhc3M9ImsiPmZhbHNlPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48c3Bh
biBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9
ImxpbmUiPjMyMDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xMjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2Ui
PiAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0
ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4zMjE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+
MTI8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFy
PC9zcGFuPiB0eXAgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IHByaW1pdGl2ZV90eXBlPHNwYW4g
Y2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9
ImxpbmUiPjMyMjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xMjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2Ui
PiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPigh
PC9zcGFuPnR5cDxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bh
bj48L3RkPjwvdHI+PHRyIGNsYXNzPSJtaXNzIj4gPHRkIGNsYXNzPSJsaW5lIj4zMjM8L3RkPjx0
ZCBjbGFzcz0iaGl0cyI+MDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICB0
eXAgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IGNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bh
bj5JRDxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+fHw8L3NwYW4+IGVy
cm9yPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9InMiPiJObyB0eXBlIGZvciBj
b25zdCI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9
Im1pc3MiPiA8dGQgY2xhc3M9ImxpbmUiPjMyNDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4wPC90ZD48
dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIHR5cCA8c3BhbiBjbGFzcz0iayI+PTwv
c3Bhbj4gdHlwPHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+dmFsdWU8c3BhbiBjbGFzcz0iayI+Ozwv
c3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+MzI1PC90ZD48dGQgY2xhc3M9Imhp
dHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj59
PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MzI2PC90
ZD48dGQgY2xhc3M9ImhpdHMiPjEyPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAg
cmV0PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+aWRsVHlwZSA8c3BhbiBjbGFzcz0iayI+PTwvc3Bh
bj4gdHlwPHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4g
PHRkIGNsYXNzPSJsaW5lIj4zMjc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTI8L3RkPjx0ZCBjbGFz
cz0ic291cmNlIj4gICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwv
dGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MzI4PC90ZD48dGQgY2xh
c3M9ImhpdHMiPjEyPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xh
c3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5jb25zdW1lPHNwYW4gY2xh
c3M9ImsiPig8L3NwYW4+T1RIRVI8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9
InMiPiI/Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KSk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57
PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MzI5PC90
ZD48dGQgY2xhc3M9ImhpdHMiPjE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAg
ICAgcmV0PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+bnVsbGFibGUgPHNwYW4gY2xhc3M9ImsiPj08
L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj50cnVlPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFu
PjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MzMwPC90ZD48dGQg
Y2xhc3M9ImhpdHMiPjE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgYWxs
X3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGlu
ZSI+MzMxPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAg
ICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+
IDx0ZCBjbGFzcz0ibGluZSI+MzMyPC90ZD48dGQgY2xhc3M9ImhpdHMiPjEyPC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gbmFtZSA8
c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gY29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPklE
PHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj58fDwvc3Bhbj4gZXJyb3I8
c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0icyI+Ik5vIG5hbWUgZm9yIGNvbnN0
Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0
Ij4gPHRkIGNsYXNzPSJsaW5lIj4zMzM8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTI8L3RkPjx0ZCBj
bGFzcz0ic291cmNlIj4gICAgICAgICAgICByZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5uYW1l
IDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiBuYW1lPHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+dmFs
dWU8c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQg
Y2xhc3M9ImxpbmUiPjMzNDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xMjwvdGQ+PHRkIGNsYXNzPSJz
b3VyY2UiPiAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48
L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4zMzU8L3RkPjx0ZCBjbGFzcz0i
aGl0cyI+MTI8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICBjb25zdW1lPHNwYW4g
Y2xhc3M9ImsiPig8L3NwYW4+T1RIRVI8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xh
c3M9InMiPiI9Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9Imsi
Pnx8PC9zcGFuPiBlcnJvcjxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4i
Tm8gdmFsdWUgYXNzaWdubWVudCBmb3IgY29uc3QiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwv
c3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjMzNjwvdGQ+
PHRkIGNsYXNzPSJoaXRzIj4xMjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIGFs
bF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4g
PHRkIGNsYXNzPSJsaW5lIj4zMzc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTI8L3RkPjx0ZCBjbGFz
cz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiBjbnQgPHNw
YW4gY2xhc3M9ImsiPj08L3NwYW4+IGNvbnN0X3ZhbHVlPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bh
bj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjMzODwvdGQ+PHRk
IGNsYXNzPSJoaXRzIj4yNDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFu
IGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9
ImsiPnR5cGVvZjwvc3Bhbj4gY250IDxzcGFuIGNsYXNzPSJrIj4hPT08L3NwYW4+IDxzcGFuIGNs
YXNzPSJzIj4idW5kZWZpbmVkIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gcmV0PHNw
YW4gY2xhc3M9ImsiPi48L3NwYW4+dmFsdWUgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IGNudDxz
cGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9Im1pc3MiPiA8dGQgY2xh
c3M9ImxpbmUiPjMzOTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4wPC90ZD48dGQgY2xhc3M9InNvdXJj
ZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmVsc2U8L3NwYW4+IGVycm9yPHNwYW4gY2xh
c3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9InMiPiJObyB2YWx1ZSBmb3IgY29uc3QiPC9zcGFu
PjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQg
Y2xhc3M9ImxpbmUiPjM0MDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xMjwvdGQ+PHRkIGNsYXNzPSJz
b3VyY2UiPiAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48
L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4zNDE8L3RkPjx0ZCBjbGFzcz0i
aGl0cyI+MTI8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICBjb25zdW1lPHNwYW4g
Y2xhc3M9ImsiPig8L3NwYW4+T1RIRVI8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xh
c3M9InMiPiI7Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9Imsi
Pnx8PC9zcGFuPiBlcnJvcjxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4i
VW50ZXJtaW5hdGVkIGNvbnN0Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48
L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4zNDI8L3RkPjx0ZCBjbGFzcz0i
aGl0cyI+MTI8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0i
ayI+cmV0dXJuPC9zcGFuPiByZXQ8c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRy
Pjx0ZCBjbGFzcz0ibGluZSI+MzQzPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNz
PSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PHNwYW4gY2xhc3M9Imsi
Pjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjM0NDwvdGQ+PHRkIGNsYXNz
PSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDwvdGQ+PC90cj48dHIgY2xh
c3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MzQ1PC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ3PC90
ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiBp
bmhlcml0YW5jZSA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPmZ1bmN0
aW9uPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KCk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9z
cGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MzQ2PC90ZD48
dGQgY2xhc3M9ImhpdHMiPjg5PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgYWxs
X3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8
dGQgY2xhc3M9ImxpbmUiPjM0NzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj44OTwvdGQ+PHRkIGNsYXNz
PSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xh
c3M9ImsiPig8L3NwYW4+Y29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPk9USEVSPHNwYW4g
Y2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iOiI8L3NwYW4+PHNwYW4gY2xhc3M9
ImsiPikpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNz
PSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjM0ODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj45PC90ZD48
dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4o
KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4zNDk8
L3RkPjx0ZCBjbGFzcz0iaGl0cyI+OTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAg
ICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiBpbmggPHNwYW4gY2xhc3M9ImsiPj08L3Nw
YW4+IGNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5JRDxzcGFuIGNsYXNzPSJrIj4pPC9z
cGFuPiA8c3BhbiBjbGFzcz0iayI+fHw8L3NwYW4+IGVycm9yIDxzcGFuIGNsYXNzPSJrIj4oPC9z
cGFuPjxzcGFuIGNsYXNzPSJzIj4iTm8gdHlwZSBpbiBpbmhlcml0YW5jZSI8L3NwYW4+PHNwYW4g
Y2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0i
bGluZSI+MzUwPC90ZD48dGQgY2xhc3M9ImhpdHMiPjk8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4g
ICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnJldHVybjwvc3Bhbj4gaW5oPHNwYW4gY2xh
c3M9ImsiPi48L3NwYW4+dmFsdWU8c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRy
Pjx0ZCBjbGFzcz0ibGluZSI+MzUxPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNz
PSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90cj48
dHI+PHRkIGNsYXNzPSJsaW5lIj4zNTI8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48c3BhbiBjbGFzcz0i
ayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+MzUzPC90ZD48dGQgY2xh
c3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPC90ZD48L3RyPjx0ciBj
bGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4zNTQ8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDc8
L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+
IG9wZXJhdGlvbl9yZXN0IDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+
ZnVuY3Rpb248L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPnJldDxzcGFuIGNsYXNzPSJr
Ij4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJo
aXQiPiA8dGQgY2xhc3M9ImxpbmUiPjM1NTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj41NjwvdGQ+PHRk
IGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3Nw
YW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4zNTY8L3RkPjx0
ZCBjbGFzcz0iaGl0cyI+NTc8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3Bh
biBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oITwvc3Bhbj5yZXQ8c3BhbiBj
bGFzcz0iayI+KTwvc3Bhbj4gcmV0IDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFz
cz0iayI+e308L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFz
cz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4zNTc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NTY8L3Rk
Pjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFu
PiBuYW1lIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiBjb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8
L3NwYW4+SUQ8c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0
Ij4gPHRkIGNsYXNzPSJsaW5lIj4zNTg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NTY8L3RkPjx0ZCBj
bGFzcz0ic291cmNlIj4gICAgICAgICAgICByZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5uYW1l
IDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiBuYW1lIDxzcGFuIGNsYXNzPSJrIj4/PC9zcGFuPiBu
YW1lPHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+dmFsdWUgPHNwYW4gY2xhc3M9ImsiPjo8L3NwYW4+
IDxzcGFuIGNsYXNzPSJrIj5udWxsPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+
PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MzU5PC90ZD48dGQgY2xhc3M9
ImhpdHMiPjU2PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgYWxsX3dzPHNwYW4g
Y2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9
ImxpbmUiPjM2MDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj41NjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2Ui
PiAgICAgICAgICAgIGNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5PVEhFUjxzcGFuIGNs
YXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+IigiPC9zcGFuPjxzcGFuIGNsYXNzPSJr
Ij4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+fHw8L3NwYW4+IGVycm9yPHNwYW4gY2xhc3M9Imsi
Pig8L3NwYW4+PHNwYW4gY2xhc3M9InMiPiJJbnZhbGlkIG9wZXJhdGlvbiI8L3NwYW4+PHNwYW4g
Y2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0i
bGluZSI+MzYxPC90ZD48dGQgY2xhc3M9ImhpdHMiPjU2PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+
ICAgICAgICAgICAgcmV0PHNwYW4gY2xhc3M9ImsiPls8L3NwYW4+PHNwYW4gY2xhc3M9InMiPiJh
cmd1bWVudHMiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj5dPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+
PTwvc3Bhbj4gYXJndW1lbnRfbGlzdDxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3Ry
Pjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4zNjI8L3RkPjx0ZCBjbGFzcz0iaGl0
cyI+NTY8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFz
cz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGlu
ZSI+MzYzPC90ZD48dGQgY2xhc3M9ImhpdHMiPjU2PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAg
ICAgICAgICAgY29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPk9USEVSPHNwYW4gY2xhc3M9
ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iKSI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik8
L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj58fDwvc3Bhbj4gZXJyb3I8c3BhbiBjbGFzcz0iayI+KDwv
c3Bhbj48c3BhbiBjbGFzcz0icyI+IlVudGVybWluYXRlZCBvcGVyYXRpb24iPC9zcGFuPjxzcGFu
IGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9
ImxpbmUiPjM2NDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj41NjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2Ui
PiAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0
ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4zNjU8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+
NTY8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICBjb25zdW1lPHNwYW4gY2xhc3M9
ImsiPig8L3NwYW4+T1RIRVI8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMi
PiI7Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnx8PC9z
cGFuPiBlcnJvcjxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4iVW50ZXJt
aW5hdGVkIG9wZXJhdGlvbiI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90
cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MzY2PC90ZD48dGQgY2xhc3M9Imhp
dHMiPjU2PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9Imsi
PnJldHVybjwvc3Bhbj4gcmV0PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48
dGQgY2xhc3M9ImxpbmUiPjM2NzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0i
c291cmNlIj4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47
PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj4zNjg8L3RkPjx0ZCBjbGFzcz0i
aGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8L3RkPjwvdHI+PHRyIGNsYXNz
PSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjM2OTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40NzwvdGQ+
PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gY2Fs
bGJhY2sgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5mdW5jdGlvbjwv
c3Bhbj4gPHNwYW4gY2xhc3M9ImsiPigpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48
L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjM3MDwvdGQ+PHRkIGNs
YXNzPSJoaXRzIj4xNDQ8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICBhbGxfd3M8
c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBj
bGFzcz0ibGluZSI+MzcxPC90ZD48dGQgY2xhc3M9ImhpdHMiPjE0NDwvdGQ+PHRkIGNsYXNzPSJz
b3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IHJldDxzcGFuIGNs
YXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGlu
ZSI+MzcyPC90ZD48dGQgY2xhc3M9ImhpdHMiPjI4NjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAg
ICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPighPC9z
cGFuPmNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5JRDxzcGFuIGNsYXNzPSJrIj4sPC9z
cGFuPiA8c3BhbiBjbGFzcz0icyI+ImNhbGxiYWNrIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KSk8
L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5yZXR1cm48L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3Nw
YW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4zNzM8L3RkPjx0
ZCBjbGFzcz0iaGl0cyI+MjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIGFsbF93
czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRk
IGNsYXNzPSJsaW5lIj4zNzQ8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MjwvdGQ+PHRkIGNsYXNzPSJz
b3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IHRvayA8c3BhbiBj
bGFzcz0iayI+PTwvc3Bhbj4gY29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPklEPHNwYW4g
Y2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iaW50ZXJmYWNlIjwvc3Bhbj48c3Bh
biBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNz
PSJsaW5lIj4zNzU8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2Ui
PiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8
L3NwYW4+dG9rPHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFu
PjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+Mzc2PC90ZD48dGQg
Y2xhc3M9ImhpdHMiPjE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgdG9r
ZW5zPHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+dW5zaGlmdDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFu
PnRvazxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8
dGQgY2xhc3M9ImxpbmUiPjM3NzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xPC90ZD48dGQgY2xhc3M9
InNvdXJjZSI+ICAgICAgICAgICAgICAgIHJldCA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gaW50
ZXJmYWNlXzxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0
Ij4gPHRkIGNsYXNzPSJsaW5lIj4zNzg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTwvdGQ+PHRkIGNs
YXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICByZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj50
eXBlIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+ImNhbGxiYWNrIGlu
dGVyZmFjZSI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFz
cz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4zNzk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTwvdGQ+
PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+cmV0dXJu
PC9zcGFuPiByZXQ8c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFz
cz0ibGluZSI+MzgwPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2Ui
PiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9
ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MzgxPC90ZD48dGQgY2xhc3M9ImhpdHMiPjE8L3RkPjx0
ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiBu
YW1lIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiBjb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3Nw
YW4+SUQ8c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnx8PC9zcGFuPiBl
cnJvcjxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4iTm8gbmFtZSBmb3Ig
Y2FsbGJhY2siPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNs
YXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjM4MjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xPC90
ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgcmV0IDxzcGFuIGNsYXNzPSJrIj49PC9z
cGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj4gdHlwZTxzcGFuIGNsYXNzPSJrIj46PC9zcGFu
PiA8c3BhbiBjbGFzcz0icyI+ImNhbGxiYWNrIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+LDwvc3Bh
bj4gbmFtZTxzcGFuIGNsYXNzPSJrIj46PC9zcGFuPiBuYW1lPHNwYW4gY2xhc3M9ImsiPi48L3Nw
YW4+dmFsdWUgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+
PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4zODM8L3RkPjx0ZCBj
bGFzcz0iaGl0cyI+MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIGFsbF93czxz
cGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNs
YXNzPSJsaW5lIj4zODQ8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTwvdGQ+PHRkIGNsYXNzPSJzb3Vy
Y2UiPiAgICAgICAgICAgIGNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5PVEhFUjxzcGFu
IGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+Ij0iPC9zcGFuPjxzcGFuIGNsYXNz
PSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+fHw8L3NwYW4+IGVycm9yPHNwYW4gY2xhc3M9
ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9InMiPiJObyBhc3NpZ25tZW50IGluIGNhbGxiYWNrIjwv
c3Bhbj48c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4g
PHRkIGNsYXNzPSJsaW5lIj4zODU8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTwvdGQ+PHRkIGNsYXNz
PSJzb3VyY2UiPiAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90
ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4zODY8L3RkPjx0ZCBjbGFz
cz0iaGl0cyI+MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIHJldDxzcGFuIGNs
YXNzPSJrIj4uPC9zcGFuPmlkbFR5cGUgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IHJldHVybl90
eXBlPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8
dGQgY2xhc3M9ImxpbmUiPjM4NzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xPC90ZD48dGQgY2xhc3M9
InNvdXJjZSI+ICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3Rk
PjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjM4ODwvdGQ+PHRkIGNsYXNz
PSJoaXRzIj4xPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgY29uc3VtZTxzcGFu
IGNsYXNzPSJrIj4oPC9zcGFuPk9USEVSPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNs
YXNzPSJzIj4iKCI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJr
Ij58fDwvc3Bhbj4gZXJyb3I8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0icyI+
Ik5vIGFyZ3VtZW50cyBpbiBjYWxsYmFjayI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFu
PjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+Mzg5PC90ZD48dGQg
Y2xhc3M9ImhpdHMiPjE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICByZXQ8c3Bh
biBjbGFzcz0iayI+Wzwvc3Bhbj48c3BhbiBjbGFzcz0icyI+ImFyZ3VtZW50cyI8L3NwYW4+PHNw
YW4gY2xhc3M9ImsiPl08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiBhcmd1bWVudF9s
aXN0PHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8
dGQgY2xhc3M9ImxpbmUiPjM5MDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xPC90ZD48dGQgY2xhc3M9
InNvdXJjZSI+ICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3Rk
PjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjM5MTwvdGQ+PHRkIGNsYXNz
PSJoaXRzIj4xPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgY29uc3VtZTxzcGFu
IGNsYXNzPSJrIj4oPC9zcGFuPk9USEVSPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNs
YXNzPSJzIj4iKSI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJr
Ij58fDwvc3Bhbj4gZXJyb3I8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0icyI+
IlVudGVybWluYXRlZCBjYWxsYmFjayI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwv
dGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MzkyPC90ZD48dGQgY2xh
c3M9ImhpdHMiPjE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICBhbGxfd3M8c3Bh
biBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFz
cz0ibGluZSI+MzkzPC90ZD48dGQgY2xhc3M9ImhpdHMiPjE8L3RkPjx0ZCBjbGFzcz0ic291cmNl
Ij4gICAgICAgICAgICBjb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+T1RIRVI8c3BhbiBj
bGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiI7Ijwvc3Bhbj48c3BhbiBjbGFzcz0i
ayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnx8PC9zcGFuPiBlcnJvcjxzcGFuIGNsYXNzPSJr
Ij4oPC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4iVW50ZXJtaW5hdGVkIGNhbGxiYWNrIjwvc3Bhbj48
c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNs
YXNzPSJsaW5lIj4zOTQ8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTwvdGQ+PHRkIGNsYXNzPSJzb3Vy
Y2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5yZXR1cm48L3NwYW4+IHJldDxzcGFuIGNs
YXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj4zOTU8L3RkPjx0
ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFz
cz0iayI+fTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBj
bGFzcz0ibGluZSI+Mzk2PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3Vy
Y2UiPiA8L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjM5NzwvdGQ+
PHRkIGNsYXNzPSJoaXRzIj40NzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4g
Y2xhc3M9ImsiPnZhcjwvc3Bhbj4gYXR0cmlidXRlIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8
c3BhbiBjbGFzcz0iayI+ZnVuY3Rpb248L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oKTwvc3Bhbj4g
PHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNs
YXNzPSJsaW5lIj4zOTg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTU0PC90ZD48dGQgY2xhc3M9InNv
dXJjZSI+ICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwv
dHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjM5OTwvdGQ+PHRkIGNsYXNzPSJo
aXRzIj4xNTQ8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0i
ayI+dmFyPC9zcGFuPiBncmFiYmVkIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFz
cz0iayI+W108L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjQwMDwvdGQ+PHRk
IGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBj
bGFzcz0iayI+LDwvc3Bhbj4gICByZXQgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNs
YXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj40MDE8L3RkPjx0
ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIHR5
cGU8c3BhbiBjbGFzcz0iayI+Ojwvc3Bhbj4gICAgICAgICAgIDxzcGFuIGNsYXNzPSJzIj4iYXR0
cmlidXRlIjwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NDAyPC90ZD48dGQg
Y2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNs
YXNzPSJrIj4sPC9zcGFuPiAgIDxzcGFuIGNsYXNzPSJzIj4ic3RhdGljIjwvc3Bhbj48c3BhbiBj
bGFzcz0iayI+Ojwvc3Bhbj4gICAgICAgPHNwYW4gY2xhc3M9ImsiPmZhbHNlPC9zcGFuPjwvdGQ+
PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj40MDM8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48
dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+ICAg
c3RyaW5naWZpZXI8c3BhbiBjbGFzcz0iayI+Ojwvc3Bhbj4gICAgPHNwYW4gY2xhc3M9ImsiPmZh
bHNlPC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj40MDQ8L3RkPjx0ZCBjbGFz
cz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9
ImsiPiw8L3NwYW4+ICAgaW5oZXJpdDxzcGFuIGNsYXNzPSJrIj46PC9zcGFuPiAgICAgICAgPHNw
YW4gY2xhc3M9ImsiPmZhbHNlPC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj40
MDU8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAg
ICAgPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+ICAgcmVhZG9ubHk8c3BhbiBjbGFzcz0iayI+Ojwv
c3Bhbj4gICAgICAgPHNwYW4gY2xhc3M9ImsiPmZhbHNlPC9zcGFuPjwvdGQ+PC90cj48dHI+PHRk
IGNsYXNzPSJsaW5lIj40MDY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNv
dXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PHNwYW4gY2xhc3M9Imsi
Pjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj40MDc8
L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTU0PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAg
ICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5jb25z
dW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+SUQ8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNw
YW4gY2xhc3M9InMiPiJzdGF0aWMiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pKTwvc3Bhbj4gPHNw
YW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNz
PSJsaW5lIj40MDg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2Ui
PiAgICAgICAgICAgICAgICByZXQ8c3BhbiBjbGFzcz0iayI+Wzwvc3Bhbj48c3BhbiBjbGFzcz0i
cyI+InN0YXRpYyI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPl08L3NwYW4+IDxzcGFuIGNsYXNzPSJr
Ij49PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+dHJ1ZTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwv
c3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjQwOTwvdGQ+
PHRkIGNsYXNzPSJoaXRzIj4yPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAg
IGdyYWJiZWQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5wdXNoPHNwYW4gY2xhc3M9ImsiPig8L3Nw
YW4+bGFzdF90b2tlbjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBj
bGFzcz0ibGluZSI+NDEwPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3Vy
Y2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xh
c3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NDExPC90ZD48dGQgY2xhc3M9ImhpdHMiPjE1Mjwv
dGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5lbHNlPC9z
cGFuPiA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPmNv
bnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5JRDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8
c3BhbiBjbGFzcz0icyI+InN0cmluZ2lmaWVyIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KSk8L3Nw
YW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0
ZCBjbGFzcz0ibGluZSI+NDEyPC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ8L3RkPjx0ZCBjbGFzcz0i
c291cmNlIj4gICAgICAgICAgICAgICAgcmV0PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+c3RyaW5n
aWZpZXIgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj50cnVlPC9zcGFu
PjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBj
bGFzcz0ibGluZSI+NDEzPC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ8L3RkPjx0ZCBjbGFzcz0ic291
cmNlIj4gICAgICAgICAgICAgICAgZ3JhYmJlZDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnB1c2g8
c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5sYXN0X3Rva2VuPHNwYW4gY2xhc3M9ImsiPik7PC9zcGFu
PjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj40MTQ8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+
PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3Nw
YW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj40MTU8L3RkPjx0
ZCBjbGFzcz0iaGl0cyI+MTU0PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNw
YW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gdyA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gYWxsX3dz
PHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQg
Y2xhc3M9ImxpbmUiPjQxNjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xNTk8L3RkPjx0ZCBjbGFzcz0i
c291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNz
PSJrIj4oPC9zcGFuPnc8c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gZ3JhYmJlZDxzcGFuIGNsYXNz
PSJrIj4uPC9zcGFuPnB1c2g8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj53PHNwYW4gY2xhc3M9Imsi
Pik7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NDE3
PC90ZD48dGQgY2xhc3M9ImhpdHMiPjE1NDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAg
ICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+Y29u
c3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPklEPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxz
cGFuIGNsYXNzPSJzIj4iaW5oZXJpdCI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPikpPC9zcGFuPiA8
c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xh
c3M9ImxpbmUiPjQxODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xPC90ZD48dGQgY2xhc3M9InNvdXJj
ZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9
ImsiPig8L3NwYW4+cmV0PHNwYW4gY2xhc3M9ImsiPls8L3NwYW4+PHNwYW4gY2xhc3M9InMiPiJz
dGF0aWMiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj5dPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+fHw8
L3NwYW4+IHJldDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnN0cmluZ2lmaWVyPHNwYW4gY2xhc3M9
ImsiPik8L3NwYW4+IGVycm9yPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9InMi
PiJDYW5ub3QgaGF2ZSBhIHN0YXRpYyBvciBzdHJpbmdpZmllciBpbmhlcml0Ijwvc3Bhbj48c3Bh
biBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNz
PSJsaW5lIj40MTk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2Ui
PiAgICAgICAgICAgICAgICByZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5pbmhlcml0IDxzcGFu
IGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+dHJ1ZTwvc3Bhbj48c3BhbiBjbGFz
cz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUi
PjQyMDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAg
ICAgICAgICAgIGdyYWJiZWQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5wdXNoPHNwYW4gY2xhc3M9
ImsiPig8L3NwYW4+bGFzdF90b2tlbjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+
PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjQyMTwvdGQ+PHRkIGNsYXNzPSJoaXRz
Ij4xPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJr
Ij52YXI8L3NwYW4+IHcgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IGFsbF93czxzcGFuIGNsYXNz
PSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5l
Ij40MjI8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAg
ICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9z
cGFuPnc8c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gZ3JhYmJlZDxzcGFuIGNsYXNzPSJrIj4uPC9z
cGFuPnB1c2g8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj53PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFu
PjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj40MjM8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+
PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3Nw
YW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj40MjQ8L3RkPjx0
ZCBjbGFzcz0iaGl0cyI+MTU0PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNw
YW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5jb25zdW1lPHNw
YW4gY2xhc3M9ImsiPig8L3NwYW4+SUQ8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xh
c3M9InMiPiJyZWFkb25seSI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPikpPC9zcGFuPiA8c3BhbiBj
bGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9Imxp
bmUiPjQyNTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4zMjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAg
ICAgICAgICAgICAgICByZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5yZWFkb25seSA8c3BhbiBj
bGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnRydWU8L3NwYW4+PHNwYW4gY2xhc3M9
ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj40
MjY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MzI8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAg
ICAgICAgICAgZ3JhYmJlZDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnB1c2g8c3BhbiBjbGFzcz0i
ayI+KDwvc3Bhbj5sYXN0X3Rva2VuPHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48
dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NDI3PC90ZD48dGQgY2xhc3M9ImhpdHMi
PjMyPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJr
Ij52YXI8L3NwYW4+IHcgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IGFsbF93czxzcGFuIGNsYXNz
PSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5l
Ij40Mjg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NjQ8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAg
ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwv
c3Bhbj53PHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IGdyYWJiZWQ8c3BhbiBjbGFzcz0iayI+Ljwv
c3Bhbj5wdXNoPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+dzxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bh
bj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NDI5PC90ZD48dGQgY2xhc3M9ImhpdHMi
PjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9z
cGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NDMwPC90ZD48
dGQgY2xhc3M9ImhpdHMiPjE1NDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxz
cGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPighPC9zcGFuPmNvbnN1bWU8
c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5JRDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBj
bGFzcz0icyI+ImF0dHJpYnV0ZSI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPikpPC9zcGFuPiA8c3Bh
biBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9
ImxpbmUiPjQzMTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj42MDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2Ui
PiAgICAgICAgICAgICAgICB0b2tlbnMgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IGdyYWJiZWQ8
c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5jb25jYXQ8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj50b2tl
bnM8c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRk
IGNsYXNzPSJsaW5lIj40MzI8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NjA8L3RkPjx0ZCBjbGFzcz0i
c291cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnJldHVybjwvc3Bhbj48c3Bh
biBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NDMzPC90
ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxz
cGFuIGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFz
cz0ibGluZSI+NDM0PC90ZD48dGQgY2xhc3M9ImhpdHMiPjk0PC90ZD48dGQgY2xhc3M9InNvdXJj
ZSI+ICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+
PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjQzNTwvdGQ+PHRkIGNsYXNzPSJoaXRz
Ij45NDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIHJldDxzcGFuIGNsYXNzPSJr
Ij4uPC9zcGFuPmlkbFR5cGUgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IHR5cGU8c3BhbiBjbGFz
cz0iayI+KCk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj58fDwvc3Bhbj4gZXJyb3I8c3BhbiBjbGFz
cz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0icyI+Ik5vIHR5cGUgaW4gYXR0cmlidXRlIjwvc3Bh
bj48c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRk
IGNsYXNzPSJsaW5lIj40MzY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+OTQ8L3RkPjx0ZCBjbGFzcz0i
c291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNz
PSJrIj4oPC9zcGFuPnJldDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPmlkbFR5cGU8c3BhbiBjbGFz
cz0iayI+Ljwvc3Bhbj5zZXF1ZW5jZTxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiBlcnJvcjxzcGFu
IGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4iQXR0cmlidXRlcyBjYW5ub3QgYWNj
ZXB0IHNlcXVlbmNlIHR5cGVzIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48
L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj40Mzc8L3RkPjx0ZCBjbGFzcz0i
aGl0cyI+OTQ8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICBhbGxfd3M8c3BhbiBj
bGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0i
bGluZSI+NDM4PC90ZD48dGQgY2xhc3M9ImhpdHMiPjk0PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+
ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gbmFtZSA8c3BhbiBjbGFzcz0i
ayI+PTwvc3Bhbj4gY29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPklEPHNwYW4gY2xhc3M9
ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj58fDwvc3Bhbj4gZXJyb3I8c3BhbiBjbGFzcz0i
ayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0icyI+Ik5vIG5hbWUgaW4gYXR0cmlidXRlIjwvc3Bhbj48
c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNs
YXNzPSJsaW5lIj40Mzk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+OTQ8L3RkPjx0ZCBjbGFzcz0ic291
cmNlIj4gICAgICAgICAgICByZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5uYW1lIDxzcGFuIGNs
YXNzPSJrIj49PC9zcGFuPiBuYW1lPHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+dmFsdWU8c3BhbiBj
bGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9Imxp
bmUiPjQ0MDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj45NDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAg
ICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBj
bGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj40NDE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+OTQ8
L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICBjb25zdW1lPHNwYW4gY2xhc3M9Imsi
Pig8L3NwYW4+T1RIRVI8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiI7
Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnx8PC9zcGFu
PiBlcnJvcjxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4iVW50ZXJtaW5h
dGVkIGF0dHJpYnV0ZSI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48
dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NDQyPC90ZD48dGQgY2xhc3M9ImhpdHMi
Pjk0PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnJl
dHVybjwvc3Bhbj4gcmV0PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQg
Y2xhc3M9ImxpbmUiPjQ0MzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291
cmNlIj4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9z
cGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj40NDQ8L3RkPjx0ZCBjbGFzcz0iaGl0
cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8L3RkPjwvdHI+PHRyIGNsYXNzPSJo
aXQiPiA8dGQgY2xhc3M9ImxpbmUiPjQ0NTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40NzwvdGQ+PHRk
IGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gcmV0dXJu
X3R5cGUgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5mdW5jdGlvbjwv
c3Bhbj4gPHNwYW4gY2xhc3M9ImsiPigpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48
L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjQ0NjwvdGQ+PHRkIGNs
YXNzPSJoaXRzIj42MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNs
YXNzPSJrIj52YXI8L3NwYW4+IHR5cCA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gdHlwZTxzcGFu
IGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNz
PSJsaW5lIj40NDc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NjE8L3RkPjx0ZCBjbGFzcz0ic291cmNl
Ij4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4o
ITwvc3Bhbj50eXA8c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3Nw
YW4+PC90ZD48L3RyPjx0ciBjbGFzcz0ibWlzcyI+IDx0ZCBjbGFzcz0ibGluZSI+NDQ4PC90ZD48
dGQgY2xhc3M9ImhpdHMiPjA8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAg
PHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5jb25zdW1l
PHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+SUQ8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4g
Y2xhc3M9InMiPiJ2b2lkIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KSk8L3NwYW4+IDxzcGFuIGNs
YXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9Im1pc3MiPiA8dGQgY2xhc3M9Imxp
bmUiPjQ0OTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4wPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAg
ICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+cmV0dXJuPC9zcGFuPiA8c3BhbiBjbGFz
cz0icyI+InZvaWQiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+
PHRkIGNsYXNzPSJsaW5lIj40NTA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9
InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90
cj48dHIgY2xhc3M9Im1pc3MiPiA8dGQgY2xhc3M9ImxpbmUiPjQ1MTwvdGQ+PHRkIGNsYXNzPSJo
aXRzIj4wPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNz
PSJrIj5lbHNlPC9zcGFuPiBlcnJvcjxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNz
PSJzIj4iTm8gcmV0dXJuIHR5cGUiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3Rk
PjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NDUyPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+
PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjwv
dGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NDUzPC90ZD48dGQgY2xh
c3M9ImhpdHMiPjYxPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xh
c3M9ImsiPnJldHVybjwvc3Bhbj4gdHlwPHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3Ry
Pjx0cj48dGQgY2xhc3M9ImxpbmUiPjQ1NDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBj
bGFzcz0ic291cmNlIj4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjxzcGFuIGNsYXNz
PSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj40NTU8L3RkPjx0ZCBj
bGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8L3RkPjwvdHI+PHRy
IGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjQ1NjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40
NzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bh
bj4gb3BlcmF0aW9uIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ZnVu
Y3Rpb248L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8
L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj40NTc8L3Rk
Pjx0ZCBjbGFzcz0iaGl0cyI+NjA8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICBh
bGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+
IDx0ZCBjbGFzcz0ibGluZSI+NDU4PC90ZD48dGQgY2xhc3M9ImhpdHMiPjYwPC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gcmV0IDxz
cGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+
PHRyPjx0ZCBjbGFzcz0ibGluZSI+NDU5PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNs
YXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICB0eXBlPHNwYW4gY2xhc3M9ImsiPjo8L3NwYW4+
ICAgICAgICAgICA8c3BhbiBjbGFzcz0icyI+Im9wZXJhdGlvbiI8L3NwYW4+PC90ZD48L3RyPjx0
cj48dGQgY2xhc3M9ImxpbmUiPjQ2MDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFz
cz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gICBnZXR0ZXI8
c3BhbiBjbGFzcz0iayI+Ojwvc3Bhbj4gICAgICAgICA8c3BhbiBjbGFzcz0iayI+ZmFsc2U8L3Nw
YW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjQ2MTwvdGQ+PHRkIGNsYXNzPSJoaXRz
Ij48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+LDwv
c3Bhbj4gICBzZXR0ZXI8c3BhbiBjbGFzcz0iayI+Ojwvc3Bhbj4gICAgICAgICA8c3BhbiBjbGFz
cz0iayI+ZmFsc2U8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjQ2MjwvdGQ+
PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3Bh
biBjbGFzcz0iayI+LDwvc3Bhbj4gICBjcmVhdG9yPHNwYW4gY2xhc3M9ImsiPjo8L3NwYW4+ICAg
ICAgICA8c3BhbiBjbGFzcz0iayI+ZmFsc2U8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9
ImxpbmUiPjQ2MzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4g
ICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gICBkZWxldGVyPHNwYW4gY2xhc3M9
ImsiPjo8L3NwYW4+ICAgICAgICA8c3BhbiBjbGFzcz0iayI+ZmFsc2U8L3NwYW4+PC90ZD48L3Ry
Pjx0cj48dGQgY2xhc3M9ImxpbmUiPjQ2NDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBj
bGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gICBsZWdh
Y3ljYWxsZXI8c3BhbiBjbGFzcz0iayI+Ojwvc3Bhbj4gICA8c3BhbiBjbGFzcz0iayI+ZmFsc2U8
L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjQ2NTwvdGQ+PHRkIGNsYXNzPSJo
aXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+
LDwvc3Bhbj4gICA8c3BhbiBjbGFzcz0icyI+InN0YXRpYyI8L3NwYW4+PHNwYW4gY2xhc3M9Imsi
Pjo8L3NwYW4+ICAgICAgIDxzcGFuIGNsYXNzPSJrIj5mYWxzZTwvc3Bhbj48L3RkPjwvdHI+PHRy
Pjx0ZCBjbGFzcz0ibGluZSI+NDY2PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNz
PSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiAgIHN0cmluZ2lm
aWVyPHNwYW4gY2xhc3M9ImsiPjo8L3NwYW4+ICAgIDxzcGFuIGNsYXNzPSJrIj5mYWxzZTwvc3Bh
bj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NDY3PC90ZD48dGQgY2xhc3M9ImhpdHMi
PjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9z
cGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0
ZCBjbGFzcz0ibGluZSI+NDY4PC90ZD48dGQgY2xhc3M9ImhpdHMiPjYwPC90ZD48dGQgY2xhc3M9
InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPndoaWxlPC9zcGFuPiA8c3BhbiBj
bGFzcz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0iayI+dHJ1ZTwvc3Bhbj48c3BhbiBjbGFzcz0i
ayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0i
aGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj40Njk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+Nzg8L3RkPjx0
ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigp
Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjQ3MDwv
dGQ+PHRkIGNsYXNzPSJoaXRzIj44NzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAg
ICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPmNv
bnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5JRDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8
c3BhbiBjbGFzcz0icyI+ImdldHRlciI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPikpPC9zcGFuPiBy
ZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5nZXR0ZXIgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+
IDxzcGFuIGNsYXNzPSJrIj50cnVlPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+
PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NDcxPC90ZD48dGQgY2xhc3M9
ImhpdHMiPjc0PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNs
YXNzPSJrIj5lbHNlPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNz
PSJrIj4oPC9zcGFuPmNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5JRDxzcGFuIGNsYXNz
PSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+InNldHRlciI8L3NwYW4+PHNwYW4gY2xhc3M9
ImsiPikpPC9zcGFuPiByZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5zZXR0ZXIgPHNwYW4gY2xh
c3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj50cnVlPC9zcGFuPjxzcGFuIGNsYXNzPSJr
Ij47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NDcy
PC90ZD48dGQgY2xhc3M9ImhpdHMiPjY1PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAg
ICAgICAgIDxzcGFuIGNsYXNzPSJrIj5lbHNlPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+aWY8L3Nw
YW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPmNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bh
bj5JRDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+ImNyZWF0b3IiPC9z
cGFuPjxzcGFuIGNsYXNzPSJrIj4pKTwvc3Bhbj4gcmV0PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+
Y3JlYXRvciA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnRydWU8L3Nw
YW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRk
IGNsYXNzPSJsaW5lIj40NzM8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NjU8L3RkPjx0ZCBjbGFzcz0i
c291cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmVsc2U8L3NwYW4+IDxzcGFu
IGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+Y29uc3VtZTxzcGFu
IGNsYXNzPSJrIj4oPC9zcGFuPklEPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNz
PSJzIj4iZGVsZXRlciI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPikpPC9zcGFuPiByZXQ8c3BhbiBj
bGFzcz0iayI+Ljwvc3Bhbj5kZWxldGVyIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBj
bGFzcz0iayI+dHJ1ZTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRy
IGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjQ3NDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj42
MjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+
ZWxzZTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwv
c3Bhbj5jb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+SUQ8c3BhbiBjbGFzcz0iayI+LDwv
c3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJsZWdhY3ljYWxsZXIiPC9zcGFuPjxzcGFuIGNsYXNzPSJr
Ij4pKTwvc3Bhbj4gcmV0PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+bGVnYWN5Y2FsbGVyIDxzcGFu
IGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+dHJ1ZTwvc3Bhbj48c3BhbiBjbGFz
cz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUi
PjQ3NTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj42MDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAg
ICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+ZWxzZTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPmJy
ZWFrPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNz
PSJsaW5lIj40NzY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+
ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0i
aGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj40Nzc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NjA8L3RkPjx0
ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxz
cGFuIGNsYXNzPSJrIj4oPC9zcGFuPnJldDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPmdldHRlciA8
c3BhbiBjbGFzcz0iayI+fHw8L3NwYW4+IHJldDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnNldHRl
ciA8c3BhbiBjbGFzcz0iayI+fHw8L3NwYW4+IHJldDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPmNy
ZWF0b3IgPHNwYW4gY2xhc3M9ImsiPnx8PC9zcGFuPiByZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bh
bj5kZWxldGVyIDxzcGFuIGNsYXNzPSJrIj58fDwvc3Bhbj4gcmV0PHNwYW4gY2xhc3M9ImsiPi48
L3NwYW4+bGVnYWN5Y2FsbGVyPHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJr
Ij57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NDc4
PC90ZD48dGQgY2xhc3M9ImhpdHMiPjE3PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAg
ICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFz
cz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj40Nzk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTc8L3Rk
Pjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgcmV0PHNwYW4gY2xhc3M9ImsiPi48
L3NwYW4+aWRsVHlwZSA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gcmV0dXJuX3R5cGU8c3BhbiBj
bGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0i
bGluZSI+NDgwPC90ZD48dGQgY2xhc3M9ImhpdHMiPjE3PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+
ICAgICAgICAgICAgICAgIG9wZXJhdGlvbl9yZXN0PHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+cmV0
PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBj
bGFzcz0ibGluZSI+NDgxPC90ZD48dGQgY2xhc3M9ImhpdHMiPjE3PC90ZD48dGQgY2xhc3M9InNv
dXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5yZXR1cm48L3NwYW4+IHJldDxz
cGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj40ODI8
L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAg
PHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNs
YXNzPSJsaW5lIj40ODM8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDM8L3RkPjx0ZCBjbGFzcz0ic291
cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJr
Ij4oPC9zcGFuPmNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5JRDxzcGFuIGNsYXNzPSJr
Ij4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+InN0YXRpYyI8L3NwYW4+PHNwYW4gY2xhc3M9Imsi
PikpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJo
aXQiPiA8dGQgY2xhc3M9ImxpbmUiPjQ4NDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xPC90ZD48dGQg
Y2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIHJldDxzcGFuIGNsYXNzPSJrIj5bPC9zcGFu
PjxzcGFuIGNsYXNzPSJzIj4ic3RhdGljIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+XTwvc3Bhbj4g
PHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj50cnVlPC9zcGFuPjxzcGFu
IGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0i
bGluZSI+NDg1PC90ZD48dGQgY2xhc3M9ImhpdHMiPjE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4g
ICAgICAgICAgICAgICAgcmV0PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+aWRsVHlwZSA8c3BhbiBj
bGFzcz0iayI+PTwvc3Bhbj4gcmV0dXJuX3R5cGU8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwv
dGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NDg2PC90ZD48dGQgY2xh
c3M9ImhpdHMiPjE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgb3BlcmF0
aW9uX3Jlc3Q8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5yZXQ8c3BhbiBjbGFzcz0iayI+KTs8L3Nw
YW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj40ODc8L3RkPjx0
ZCBjbGFzcz0iaGl0cyI+MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8
c3BhbiBjbGFzcz0iayI+cmV0dXJuPC9zcGFuPiByZXQ8c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48
L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NDg4PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwv
dGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFu
PjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NDg5PC90ZD48dGQg
Y2xhc3M9ImhpdHMiPjQyPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4g
Y2xhc3M9ImsiPmVsc2U8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xh
c3M9ImsiPig8L3NwYW4+Y29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPklEPHNwYW4gY2xh
c3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4ic3RyaW5naWZpZXIiPC9zcGFuPjxzcGFu
IGNsYXNzPSJrIj4pKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0
ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj40OTA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+
MzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICByZXQ8c3BhbiBjbGFzcz0i
ayI+Ljwvc3Bhbj5zdHJpbmdpZmllciA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xh
c3M9ImsiPnRydWU8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBj
bGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj40OTE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+Mzwv
dGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0i
ayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+
NDkyPC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAg
ICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bh
bj5jb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+T1RIRVI8c3BhbiBjbGFzcz0iayI+LDwv
c3Bhbj4gPHNwYW4gY2xhc3M9InMiPiI7Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KSk8L3NwYW4+
IDxzcGFuIGNsYXNzPSJrIj5yZXR1cm48L3NwYW4+IHJldDxzcGFuIGNsYXNzPSJrIj47PC9zcGFu
PjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NDkzPC90ZD48dGQg
Y2xhc3M9ImhpdHMiPjI8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgcmV0
PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+aWRsVHlwZSA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4g
cmV0dXJuX3R5cGU8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9
ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NDk0PC90ZD48dGQgY2xhc3M9ImhpdHMiPjI8L3RkPjx0
ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgb3BlcmF0aW9uX3Jlc3Q8c3BhbiBjbGFz
cz0iayI+KDwvc3Bhbj5yZXQ8c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBj
bGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj40OTU8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+Mjwv
dGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+cmV0
dXJuPC9zcGFuPiByZXQ8c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBj
bGFzcz0ibGluZSI+NDk2PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3Vy
Y2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xh
c3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NDk3PC90ZD48dGQgY2xhc3M9ImhpdHMiPjM5PC90
ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgcmV0PHNwYW4gY2xhc3M9ImsiPi48L3Nw
YW4+aWRsVHlwZSA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gcmV0dXJuX3R5cGU8c3BhbiBjbGFz
cz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGlu
ZSI+NDk4PC90ZD48dGQgY2xhc3M9ImhpdHMiPjM5PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAg
ICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNs
YXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjQ5OTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4zOTwv
dGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bh
bj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+Y29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFu
PklEPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iaXRlcmF0b3IiPC9z
cGFuPjxzcGFuIGNsYXNzPSJrIj4pKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90
ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj41MDA8L3RkPjx0ZCBjbGFz
cz0iaGl0cyI+NDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICBhbGxfd3M8
c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBj
bGFzcz0ibGluZSI+NTAxPC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ8L3RkPjx0ZCBjbGFzcz0ic291
cmNlIj4gICAgICAgICAgICAgICAgcmV0PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+dHlwZSA8c3Bh
biBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJpdGVyYXRvciI8L3NwYW4+PHNw
YW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNz
PSJsaW5lIj41MDI8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2Ui
PiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJr
Ij4oPC9zcGFuPmNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5JRDxzcGFuIGNsYXNzPSJr
Ij4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+Im9iamVjdCI8L3NwYW4+PHNwYW4gY2xhc3M9Imsi
PikpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJo
aXQiPiA8dGQgY2xhc3M9ImxpbmUiPjUwMzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xPC90ZD48dGQg
Y2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICByZXQ8c3BhbiBjbGFzcz0iayI+Ljwv
c3Bhbj5pdGVyYXRvck9iamVjdCA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9
InMiPiJvYmplY3QiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+
PHRkIGNsYXNzPSJsaW5lIj41MDQ8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9
InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90
cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NTA1PC90ZD48dGQgY2xhc3M9Imhp
dHMiPjM8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9
ImsiPmVsc2U8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9Imsi
Pig8L3NwYW4+Y29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPk9USEVSPHNwYW4gY2xhc3M9
ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iPSI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPikp
PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQi
PiA8dGQgY2xhc3M9ImxpbmUiPjUwNjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yPC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7
PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NTA3PC90
ZD48dGQgY2xhc3M9ImhpdHMiPjI8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAg
ICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IG5hbWUgPHNwYW4gY2xhc3M9ImsiPj08
L3NwYW4+IGNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5JRDxzcGFuIGNsYXNzPSJrIj4p
PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+fHw8L3NwYW4+IGVycm9yPHNwYW4gY2xhc3M9ImsiPig8
L3NwYW4+PHNwYW4gY2xhc3M9InMiPiJObyByaWdodCBoYW5kIHNpZGUgaW4gaXRlcmF0b3IiPC9z
cGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8
dGQgY2xhc3M9ImxpbmUiPjUwODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yPC90ZD48dGQgY2xhc3M9
InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICByZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5p
dGVyYXRvck9iamVjdCA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gbmFtZTxzcGFuIGNsYXNzPSJr
Ij4uPC9zcGFuPnZhbHVlPHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQg
Y2xhc3M9ImxpbmUiPjUwOTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291
cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PC90ZD48L3RyPjx0
ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj41MTA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+
NDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFz
cz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGlu
ZSI+NTExPC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAg
ICAgICAgICAgICAgY29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPk9USEVSPHNwYW4gY2xh
c3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iOyI8L3NwYW4+PHNwYW4gY2xhc3M9Imsi
Pik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj58fDwvc3Bhbj4gZXJyb3I8c3BhbiBjbGFzcz0iayI+
KDwvc3Bhbj48c3BhbiBjbGFzcz0icyI+IlVudGVybWluYXRlZCBpdGVyYXRvciI8L3NwYW4+PHNw
YW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFz
cz0ibGluZSI+NTEyPC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ8L3RkPjx0ZCBjbGFzcz0ic291cmNl
Ij4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnJldHVybjwvc3Bhbj4gcmV0PHNwYW4g
Y2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjUxMzwvdGQ+
PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3Bh
biBjbGFzcz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NTE0PC90
ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxz
cGFuIGNsYXNzPSJrIj5lbHNlPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwv
dHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjUxNTwvdGQ+PHRkIGNsYXNzPSJo
aXRzIj4zNTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICBvcGVyYXRpb25f
cmVzdDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPnJldDxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48
L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjUxNjwvdGQ+PHRkIGNs
YXNzPSJoaXRzIj4zNTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3Bh
biBjbGFzcz0iayI+cmV0dXJuPC9zcGFuPiByZXQ8c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3Rk
PjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NTE3PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+
PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjwv
dGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj41MTg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90
ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48c3Bh
biBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NTE5PC90
ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPC90ZD48
L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj41MjA8L3RkPjx0ZCBjbGFzcz0i
aGl0cyI+NDc8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj52
YXI8L3NwYW4+IGlkZW50aWZpZXJzIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFz
cz0iayI+ZnVuY3Rpb248L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPmFycjxzcGFuIGNs
YXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNs
YXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjUyMTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj41PC90
ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPndoaWxlPC9z
cGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0iayI+dHJ1ZTwvc3Bhbj48
c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3Ry
Pjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj41MjI8L3RkPjx0ZCBjbGFzcz0iaGl0
cyI+MTE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgYWxsX3dzPHNwYW4g
Y2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9
ImxpbmUiPjUyMzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xMTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2Ui
PiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJr
Ij4oPC9zcGFuPmNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5PVEhFUjxzcGFuIGNsYXNz
PSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+IiwiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4p
KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0
Ij4gPHRkIGNsYXNzPSJsaW5lIj41MjQ8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NjwvdGQ+PHRkIGNs
YXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigp
Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjUyNTwv
dGQ+PHRkIGNsYXNzPSJoaXRzIj42PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAg
ICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiBuYW1lIDxzcGFuIGNsYXNzPSJrIj49
PC9zcGFuPiBjb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+SUQ8c3BhbiBjbGFzcz0iayI+
KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnx8PC9zcGFuPiBlcnJvcjxzcGFuIGNsYXNzPSJrIj4o
PC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4iVHJhaWxpbmcgY29tbWEgaW4gaWRlbnRpZmllcnMgbGlz
dCI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9Imhp
dCI+IDx0ZCBjbGFzcz0ibGluZSI+NTI2PC90ZD48dGQgY2xhc3M9ImhpdHMiPjY8L3RkPjx0ZCBj
bGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAgIGFycjxzcGFuIGNsYXNzPSJrIj4uPC9z
cGFuPnB1c2g8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5uYW1lPHNwYW4gY2xhc3M9ImsiPi48L3Nw
YW4+dmFsdWU8c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9
ImxpbmUiPjUyNzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4g
ICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFz
cz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj41Mjg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NTwvdGQ+
PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+ZWxzZTwv
c3Bhbj4gPHNwYW4gY2xhc3M9ImsiPmJyZWFrPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFu
PjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj41Mjk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+
PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3Nw
YW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjUzMDwvdGQ+PHRkIGNsYXNzPSJoaXRz
Ij48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFu
PjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj41
MzE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8
L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjUzMjwvdGQ+PHRkIGNs
YXNzPSJoaXRzIj40NzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9
ImsiPnZhcjwvc3Bhbj4gc2VyaWFsaXNlciA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4g
Y2xhc3M9ImsiPmZ1bmN0aW9uPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KCk8L3NwYW4+IDxzcGFu
IGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0i
bGluZSI+NTMzPC90ZD48dGQgY2xhc3M9ImhpdHMiPjE2NDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2Ui
PiAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0
ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj41MzQ8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+
MzE4PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlm
PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KCE8L3NwYW4+Y29uc3VtZTxzcGFuIGNsYXNzPSJrIj4o
PC9zcGFuPklEPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4ic2VyaWFs
aXplciI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPikpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+cmV0
dXJuPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9Imhp
dCI+IDx0ZCBjbGFzcz0ibGluZSI+NTM1PC90ZD48dGQgY2xhc3M9ImhpdHMiPjEwPC90ZD48dGQg
Y2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gcmV0
IDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj4gdHlwZTxz
cGFuIGNsYXNzPSJrIj46PC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+InNlcmlhbGl6ZXIiPC9zcGFu
PiA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwv
dHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjUzNjwvdGQ+PHRkIGNsYXNzPSJo
aXRzIj4xMDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIGFsbF93czxzcGFuIGNs
YXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJs
aW5lIj41Mzc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTA8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4g
ICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9z
cGFuPmNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5PVEhFUjxzcGFuIGNsYXNzPSJrIj4s
PC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+Ij0iPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pKTwvc3Bh
bj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRk
IGNsYXNzPSJsaW5lIj41Mzg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+ODwvdGQ+PHRkIGNsYXNzPSJz
b3VyY2UiPiAgICAgICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwv
dGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NTM5PC90ZD48dGQgY2xh
c3M9ImhpdHMiPjg8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4g
Y2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5jb25zdW1lPHNwYW4g
Y2xhc3M9ImsiPig8L3NwYW4+T1RIRVI8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xh
c3M9InMiPiJ7Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KSk8L3NwYW4+IDxzcGFuIGNsYXNzPSJr
Ij57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NTQw
PC90ZD48dGQgY2xhc3M9ImhpdHMiPjU8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAg
ICAgICAgICAgIHJldDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnBhdHRlcm5NYXAgPHNwYW4gY2xh
c3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj50cnVlPC9zcGFuPjxzcGFuIGNsYXNzPSJr
Ij47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NTQx
PC90ZD48dGQgY2xhc3M9ImhpdHMiPjU8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAg
ICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBj
bGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj41NDI8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NTwv
dGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Imsi
PnZhcjwvc3Bhbj4gaWQgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IGNvbnN1bWU8c3BhbiBjbGFz
cz0iayI+KDwvc3Bhbj5JRDxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNs
YXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjU0MzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj41PC90
ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+
aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPmlkIDxzcGFuIGNsYXNzPSJrIj4mYW1w
OyZhbXA7PC9zcGFuPiBpZDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnZhbHVlIDxzcGFuIGNsYXNz
PSJrIj49PT08L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iZ2V0dGVyIjwvc3Bhbj48c3BhbiBjbGFz
cz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFz
cz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj41NDQ8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTwvdGQ+
PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAgICAgIHJldDxzcGFuIGNsYXNz
PSJrIj4uPC9zcGFuPm5hbWVzIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0i
ayI+Wzwvc3Bhbj48c3BhbiBjbGFzcz0icyI+ImdldHRlciI8L3NwYW4+PHNwYW4gY2xhc3M9Imsi
Pl07PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj41NDU8L3RkPjx0ZCBjbGFz
cz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICA8c3Bh
biBjbGFzcz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9
ImxpbmUiPjU0NjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+
ICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+ZWxzZTwvc3Bhbj4gPHNwYW4gY2xh
c3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5pZCA8c3BhbiBjbGFzcz0i
ayI+JmFtcDsmYW1wOzwvc3Bhbj4gaWQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj52YWx1ZSA8c3Bh
biBjbGFzcz0iayI+PT09PC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+ImluaGVyaXQiPC9zcGFuPjxz
cGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+
PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjU0NzwvdGQ+PHRkIGNsYXNzPSJoaXRz
Ij4yPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICAgICAgcmV0PHNw
YW4gY2xhc3M9ImsiPi48L3NwYW4+bmFtZXMgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFu
IGNsYXNzPSJrIj5bPC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4iaW5oZXJpdCI8L3NwYW4+PHNwYW4g
Y2xhc3M9ImsiPl07PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0i
bGluZSI+NTQ4PC90ZD48dGQgY2xhc3M9ImhpdHMiPjI8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4g
ICAgICAgICAgICAgICAgICAgICAgICBpZGVudGlmaWVyczxzcGFuIGNsYXNzPSJrIj4oPC9zcGFu
PnJldDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPm5hbWVzPHNwYW4gY2xhc3M9ImsiPik7PC9zcGFu
PjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj41NDk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+
PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0i
ayI+fTwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjU1
MDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAg
ICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+ZWxzZTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPmlm
PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5pZDxzcGFuIGNsYXNzPSJrIj4pPC9zcGFu
PiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQg
Y2xhc3M9ImxpbmUiPjU1MTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yPC90ZD48dGQgY2xhc3M9InNv
dXJjZSI+ICAgICAgICAgICAgICAgICAgICAgICAgcmV0PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+
bmFtZXMgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5bPC9zcGFuPmlk
PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+dmFsdWU8c3BhbiBjbGFzcz0iayI+XTs8L3NwYW4+PC90
ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj41NTI8L3RkPjx0ZCBjbGFz
cz0iaGl0cyI+MjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAgICAg
IGlkZW50aWZpZXJzPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+cmV0PHNwYW4gY2xhc3M9ImsiPi48
L3NwYW4+bmFtZXM8c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xh
c3M9ImxpbmUiPjU1MzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNl
Ij4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90cj48
dHI+PHRkIGNsYXNzPSJsaW5lIj41NTQ8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+ZWxzZTwvc3Bh
bj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0ibWlzcyI+IDx0
ZCBjbGFzcz0ibGluZSI+NTU1PC90ZD48dGQgY2xhc3M9ImhpdHMiPjA8L3RkPjx0ZCBjbGFzcz0i
c291cmNlIj4gICAgICAgICAgICAgICAgICAgICAgICByZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bh
bj5uYW1lcyA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPltdOzwvc3Bh
bj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NTU2PC90ZD48dGQgY2xhc3M9ImhpdHMi
PjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9
ImsiPn08L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj41
NTc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAg
ICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRy
IGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjU1ODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj41
PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICBjb25zdW1lPHNwYW4g
Y2xhc3M9ImsiPig8L3NwYW4+T1RIRVI8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xh
c3M9InMiPiJ9Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9Imsi
Pnx8PC9zcGFuPiBlcnJvcjxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4i
VW50ZXJtaW5hdGVkIHNlcmlhbGl6ZXIgcGF0dGVybiBtYXAiPC9zcGFuPjxzcGFuIGNsYXNzPSJr
Ij4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NTU5PC90ZD48dGQgY2xh
c3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBj
bGFzcz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9Imxp
bmUiPjU2MDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4zPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAg
ICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5lbHNlPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+
aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPmNvbnN1bWU8c3BhbiBjbGFzcz0iayI+
KDwvc3Bhbj5PVEhFUjxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+Ilsi
PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+
PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj41NjE8L3RkPjx0ZCBj
bGFzcz0iaGl0cyI+MjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAg
cmV0PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+cGF0dGVybkxpc3QgPHNwYW4gY2xhc3M9ImsiPj08
L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj50cnVlPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFu
PjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NTYyPC90ZD48dGQg
Y2xhc3M9ImhpdHMiPjI8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAg
IGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0
Ij4gPHRkIGNsYXNzPSJsaW5lIj41NjM8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MjwvdGQ+PHRkIGNs
YXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bh
bj4gaWQgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IGNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwv
c3Bhbj5JRDxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQi
PiA8dGQgY2xhc3M9ImxpbmUiPjU2NDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yPC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+
IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPmlkIDxzcGFuIGNsYXNzPSJrIj4mYW1wOyZhbXA7PC9z
cGFuPiBpZDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnZhbHVlIDxzcGFuIGNsYXNzPSJrIj49PT08
L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iZ2V0dGVyIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTwv
c3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4g
PHRkIGNsYXNzPSJsaW5lIj41NjU8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTwvdGQ+PHRkIGNsYXNz
PSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAgICAgIHJldDxzcGFuIGNsYXNzPSJrIj4uPC9z
cGFuPm5hbWVzIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+Wzwvc3Bh
bj48c3BhbiBjbGFzcz0icyI+ImdldHRlciI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPl07PC9zcGFu
PjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj41NjY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+
PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0i
ayI+fTwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjU2
NzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAg
ICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+ZWxzZTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPmlm
PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5pZDxzcGFuIGNsYXNzPSJrIj4pPC9zcGFu
PiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQg
Y2xhc3M9ImxpbmUiPjU2ODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xPC90ZD48dGQgY2xhc3M9InNv
dXJjZSI+ICAgICAgICAgICAgICAgICAgICAgICAgcmV0PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+
bmFtZXMgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5bPC9zcGFuPmlk
PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+dmFsdWU8c3BhbiBjbGFzcz0iayI+XTs8L3NwYW4+PC90
ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj41Njk8L3RkPjx0ZCBjbGFz
cz0iaGl0cyI+MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAgICAg
IGlkZW50aWZpZXJzPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+cmV0PHNwYW4gY2xhc3M9ImsiPi48
L3NwYW4+bmFtZXM8c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xh
c3M9ImxpbmUiPjU3MDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNl
Ij4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90cj48
dHI+PHRkIGNsYXNzPSJsaW5lIj41NzE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+ZWxzZTwvc3Bh
bj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0ibWlzcyI+IDx0
ZCBjbGFzcz0ibGluZSI+NTcyPC90ZD48dGQgY2xhc3M9ImhpdHMiPjA8L3RkPjx0ZCBjbGFzcz0i
c291cmNlIj4gICAgICAgICAgICAgICAgICAgICAgICByZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bh
bj5uYW1lcyA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPltdOzwvc3Bh
bj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NTczPC90ZD48dGQgY2xhc3M9ImhpdHMi
PjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9
ImsiPn08L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj41
NzQ8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAg
ICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRy
IGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjU3NTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4y
PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICBjb25zdW1lPHNwYW4g
Y2xhc3M9ImsiPig8L3NwYW4+T1RIRVI8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xh
c3M9InMiPiJdIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9Imsi
Pnx8PC9zcGFuPiBlcnJvcjxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4i
VW50ZXJtaW5hdGVkIHNlcmlhbGl6ZXIgcGF0dGVybiBsaXN0Ijwvc3Bhbj48c3BhbiBjbGFzcz0i
ayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjU3NjwvdGQ+PHRkIGNs
YXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4g
Y2xhc3M9ImsiPn08L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjU3NzwvdGQ+
PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAg
PHNwYW4gY2xhc3M9ImsiPmVsc2U8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+
PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NTc4PC90ZD48dGQgY2xhc3M9
ImhpdHMiPjE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAgIDxzcGFu
IGNsYXNzPSJrIj52YXI8L3NwYW4+IG5hbWUgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IGNvbnN1
bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5JRDxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3Bh
biBjbGFzcz0iayI+fHw8L3NwYW4+IGVycm9yPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4g
Y2xhc3M9InMiPiJJbnZhbGlkIHNlcmlhbGl6ZXIiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwv
c3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjU3OTwvdGQ+
PHRkIGNsYXNzPSJoaXRzIj4xPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAg
ICAgICByZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5uYW1lIDxzcGFuIGNsYXNzPSJrIj49PC9z
cGFuPiBuYW1lPHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+dmFsdWU8c3BhbiBjbGFzcz0iayI+Ozwv
c3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NTgwPC90ZD48dGQgY2xhc3M9Imhp
dHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0i
ayI+fTwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjU4
MTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj44PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAg
ICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFz
cz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj41ODI8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+ODwvdGQ+
PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICBjb25zdW1lPHNwYW4gY2xhc3M9Imsi
Pig8L3NwYW4+T1RIRVI8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiI7
Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnx8PC9zcGFu
PiBlcnJvcjxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4iVW50ZXJtaW5h
dGVkIHNlcmlhbGl6ZXIiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+
PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjU4MzwvdGQ+PHRkIGNsYXNzPSJoaXRz
Ij44PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJr
Ij5yZXR1cm48L3NwYW4+IHJldDxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+
PHRkIGNsYXNzPSJsaW5lIj41ODQ8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9
InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PC90ZD48L3RyPjx0
ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj41ODU8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+
MjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5lbHNl
PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFu
PmNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5PVEhFUjxzcGFuIGNsYXNzPSJrIj4sPC9z
cGFuPiA8c3BhbiBjbGFzcz0icyI+IjsiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pKTwvc3Bhbj4g
PHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjU4
NjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAg
ICAgICAgPHNwYW4gY2xhc3M9ImMiPi8vIG5vb3AsIGp1c3QgcGFyc2luZzwvc3Bhbj48L3RkPjwv
dHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NTg3PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRk
IGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+
PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj41ODg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48
dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmVsc2U8L3NwYW4+
IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBj
bGFzcz0ibGluZSI+NTg5PC90ZD48dGQgY2xhc3M9ImhpdHMiPjE8L3RkPjx0ZCBjbGFzcz0ic291
cmNlIj4gICAgICAgICAgICAgICAgcmV0PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+aWRsVHlwZSA8
c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gcmV0dXJuX3R5cGU8c3BhbiBjbGFzcz0iayI+KCk7PC9z
cGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NTkwPC90ZD48
dGQgY2xhc3M9ImhpdHMiPjE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAg
YWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQi
PiA8dGQgY2xhc3M9ImxpbmUiPjU5MTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xPC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIHJldDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPm9w
ZXJhdGlvbiA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gb3BlcmF0aW9uX3Jlc3Q8c3BhbiBjbGFz
cz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj41OTI8L3RkPjx0
ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4g
Y2xhc3M9ImsiPn08L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJs
aW5lIj41OTM8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAg
ICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5yZXR1cm48L3NwYW4+IHJldDxzcGFuIGNsYXNzPSJr
Ij47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj41OTQ8L3RkPjx0ZCBjbGFz
cz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFzcz0iayI+
fTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0i
bGluZSI+NTk1PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAg
ICAgICAgPC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj41OTY8L3Rk
Pjx0ZCBjbGFzcz0iaGl0cyI+NDc8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxzcGFu
IGNsYXNzPSJrIj52YXI8L3NwYW4+IGludGVyZmFjZV8gPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+
IDxzcGFuIGNsYXNzPSJrIj5mdW5jdGlvbjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+
aXNQYXJ0aWFsPHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFu
PjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NTk3PC90ZD48dGQg
Y2xhc3M9ImhpdHMiPjE0NDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIGFsbF93
czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRk
IGNsYXNzPSJsaW5lIj41OTg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MjEwPC90ZD48dGQgY2xhc3M9
InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFz
cz0iayI+KCE8L3NwYW4+Y29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPklEPHNwYW4gY2xh
c3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iaW50ZXJmYWNlIjwvc3Bhbj48c3BhbiBj
bGFzcz0iayI+KSk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5yZXR1cm48L3NwYW4+PHNwYW4gY2xh
c3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5l
Ij41OTk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+Nzg8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAg
ICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xh
c3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NjAwPC90ZD48dGQgY2xhc3M9ImhpdHMiPjc4PC90
ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bh
bj4gbmFtZSA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gY29uc3VtZTxzcGFuIGNsYXNzPSJrIj4o
PC9zcGFuPklEPHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj58fDwvc3Bh
bj4gZXJyb3I8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0icyI+Ik5vIG5hbWUg
Zm9yIGludGVyZmFjZSI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48
dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NjAxPC90ZD48dGQgY2xhc3M9ImhpdHMi
Pjc4PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZh
cjwvc3Bhbj4gcmV0IDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwv
c3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NjAyPC90ZD48dGQgY2xhc3M9Imhp
dHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICB0eXBlPHNwYW4gY2xh
c3M9ImsiPjo8L3NwYW4+ICAgPHNwYW4gY2xhc3M9InMiPiJpbnRlcmZhY2UiPC9zcGFuPjwvdGQ+
PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj42MDM8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48
dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+ICAg
bmFtZTxzcGFuIGNsYXNzPSJrIj46PC9zcGFuPiAgIG5hbWU8c3BhbiBjbGFzcz0iayI+Ljwvc3Bh
bj52YWx1ZTwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj42MDQ8L3RkPjx0ZCBjbGFzcz0i
aGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9Imsi
Piw8L3NwYW4+ICAgcGFydGlhbDxzcGFuIGNsYXNzPSJrIj46PC9zcGFuPiAgICA8c3BhbiBjbGFz
cz0iayI+ZmFsc2U8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjYwNTwvdGQ+
PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3Bh
biBjbGFzcz0iayI+LDwvc3Bhbj4gICBtZW1iZXJzPHNwYW4gY2xhc3M9ImsiPjo8L3NwYW4+ICAg
IDxzcGFuIGNsYXNzPSJrIj5bXTwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+
NjA2PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAg
ICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+
PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NjA3PC90ZD48dGQgY2xhc3M9
ImhpdHMiPjE1NTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNz
PSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPighPC9zcGFuPmlzUGFydGlhbDxzcGFuIGNs
YXNzPSJrIj4pPC9zcGFuPiByZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5pbmhlcml0YW5jZSA8
c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gaW5oZXJpdGFuY2U8c3BhbiBjbGFzcz0iayI+KCk8L3Nw
YW4+IDxzcGFuIGNsYXNzPSJrIj58fDwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPm51bGw8L3NwYW4+
PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNs
YXNzPSJsaW5lIj42MDg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+Nzg8L3RkPjx0ZCBjbGFzcz0ic291
cmNlIj4gICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90
cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NjA5PC90ZD48dGQgY2xhc3M9Imhp
dHMiPjc4PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgY29uc3VtZTxzcGFuIGNs
YXNzPSJrIj4oPC9zcGFuPk9USEVSPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNz
PSJzIj4ieyI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj58
fDwvc3Bhbj4gZXJyb3I8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0icyI+IkJv
ZHlsZXNzIGludGVyZmFjZSI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90
cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NjEwPC90ZD48dGQgY2xhc3M9Imhp
dHMiPjc4PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9Imsi
PndoaWxlPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0iayI+dHJ1
ZTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+
PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj42MTE8L3RkPjx0ZCBj
bGFzcz0iaGl0cyI+MjUxPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIGFs
bF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4g
PHRkIGNsYXNzPSJsaW5lIj42MTI8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MjUxPC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNw
YW4gY2xhc3M9ImsiPig8L3NwYW4+Y29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPk9USEVS
PHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4ifSI8L3NwYW4+PHNwYW4g
Y2xhc3M9ImsiPikpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRy
IGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjYxMzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj43
ODwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAgYWxsX3dzPHNwYW4g
Y2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9
ImxpbmUiPjYxNDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj43ODwvdGQ+PHRkIGNsYXNzPSJzb3VyY2Ui
PiAgICAgICAgICAgICAgICAgICAgY29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPk9USEVS
PHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iOyI8L3NwYW4+PHNwYW4g
Y2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj58fDwvc3Bhbj4gZXJyb3I8c3BhbiBj
bGFzcz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0icyI+Ik1pc3Npbmcgc2VtaWNvbG9uIGFmdGVy
IGludGVyZmFjZSI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIg
Y2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NjE1PC90ZD48dGQgY2xhc3M9ImhpdHMiPjc4
PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0i
ayI+cmV0dXJuPC9zcGFuPiByZXQ8c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRy
Pjx0ZCBjbGFzcz0ibGluZSI+NjE2PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNz
PSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48L3RkPjwv
dHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjYxNzwvdGQ+PHRkIGNsYXNzPSJo
aXRzIj4xNzM8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4gY2xh
c3M9ImsiPnZhcjwvc3Bhbj4gZWEgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IGV4dGVuZGVkX2F0
dHJzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8
dGQgY2xhc3M9ImxpbmUiPjYxODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xNzM8L3RkPjx0ZCBjbGFz
cz0ic291cmNlIj4gICAgICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bh
bj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjYxOTwvdGQ+PHRk
IGNsYXNzPSJoaXRzIj4xNzM8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAg
PHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gY250IDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiBj
b25zdF88c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+
IDx0ZCBjbGFzcz0ibGluZSI+NjIwPC90ZD48dGQgY2xhc3M9ImhpdHMiPjE3MzwvdGQ+PHRkIGNs
YXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxz
cGFuIGNsYXNzPSJrIj4oPC9zcGFuPmNudDxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBj
bGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9Imxp
bmUiPjYyMTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj45PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAg
ICAgICAgICAgICAgICAgICBjbnQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5leHRBdHRycyA8c3Bh
biBjbGFzcz0iayI+PTwvc3Bhbj4gZWE8c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+
PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjYyMjwvdGQ+PHRkIGNsYXNzPSJoaXRz
Ij45PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICByZXQ8c3BhbiBj
bGFzcz0iayI+Ljwvc3Bhbj5tZW1iZXJzPHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+cHVzaDxzcGFu
IGNsYXNzPSJrIj4oPC9zcGFuPmNudDxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+
PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjYyMzwvdGQ+PHRkIGNsYXNzPSJoaXRz
Ij45PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFz
cz0iayI+Y29udGludWU8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0
cj48dGQgY2xhc3M9ImxpbmUiPjYyNDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFz
cz0ic291cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PC90ZD48
L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj42MjU8L3RkPjx0ZCBjbGFzcz0i
aGl0cyI+MTY0PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNs
YXNzPSJrIj52YXI8L3NwYW4+IG1lbSA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gc2VyaWFsaXNl
cjxzcGFuIGNsYXNzPSJrIj4oKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnx8PC9zcGFuPiBhdHRy
aWJ1dGU8c3BhbiBjbGFzcz0iayI+KCk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj58fDwvc3Bhbj4g
b3BlcmF0aW9uPHNwYW4gY2xhc3M9ImsiPigpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+fHw8L3Nw
YW4+IGVycm9yPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9InMiPiJVbmtub3du
IG1lbWJlciI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xh
c3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NjI2PC90ZD48dGQgY2xhc3M9ImhpdHMiPjE2NDwv
dGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICBtZW08c3BhbiBjbGFzcz0iayI+
Ljwvc3Bhbj5leHRBdHRycyA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gZWE8c3BhbiBjbGFzcz0i
ayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjYy
NzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xNjQ8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAg
ICAgICAgICAgcmV0PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+bWVtYmVyczxzcGFuIGNsYXNzPSJr
Ij4uPC9zcGFuPnB1c2g8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5tZW08c3BhbiBjbGFzcz0iayI+
KTs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjYyODwvdGQ+PHRkIGNsYXNz
PSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0i
ayI+fTwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NjI5PC90ZD48dGQgY2xh
c3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9Imsi
Pn08L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9
ImxpbmUiPjYzMDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4g
ICAgICAgIDwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NjMxPC90
ZD48dGQgY2xhc3M9ImhpdHMiPjQ3PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8c3Bh
biBjbGFzcz0iayI+dmFyPC9zcGFuPiBwYXJ0aWFsIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8
c3BhbiBjbGFzcz0iayI+ZnVuY3Rpb248L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oKTwvc3Bhbj4g
PHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNs
YXNzPSJsaW5lIj42MzI8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NjY8L3RkPjx0ZCBjbGFzcz0ic291
cmNlIj4gICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90
cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NjMzPC90ZD48dGQgY2xhc3M9Imhp
dHMiPjEzMDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJr
Ij5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPighPC9zcGFuPmNvbnN1bWU8c3BhbiBjbGFzcz0i
ayI+KDwvc3Bhbj5JRDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+InBh
cnRpYWwiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnJl
dHVybjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJo
aXQiPiA8dGQgY2xhc3M9ImxpbmUiPjYzNDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yPC90ZD48dGQg
Y2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gdGhp
bmcgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IGRpY3Rpb25hcnk8c3BhbiBjbGFzcz0iayI+KDwv
c3Bhbj48c3BhbiBjbGFzcz0iayI+dHJ1ZTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4g
PHNwYW4gY2xhc3M9ImsiPnx8PC9zcGFuPiBpbnRlcmZhY2VfPHNwYW4gY2xhc3M9ImsiPig8L3Nw
YW4+PHNwYW4gY2xhc3M9ImsiPnRydWU8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxz
cGFuIGNsYXNzPSJrIj58fDwvc3Bhbj4gZXJyb3I8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3Bh
biBjbGFzcz0icyI+IlBhcnRpYWwgZG9lc24ndCBhcHBseSB0byBhbnl0aGluZyI8L3NwYW4+PHNw
YW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFz
cz0ibGluZSI+NjM1PC90ZD48dGQgY2xhc3M9ImhpdHMiPjI8L3RkPjx0ZCBjbGFzcz0ic291cmNl
Ij4gICAgICAgICAgICB0aGluZzxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnBhcnRpYWwgPHNwYW4g
Y2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj50cnVlPC9zcGFuPjxzcGFuIGNsYXNz
PSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+
NjM2PC90ZD48dGQgY2xhc3M9ImhpdHMiPjI8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAg
ICAgICA8c3BhbiBjbGFzcz0iayI+cmV0dXJuPC9zcGFuPiB0aGluZzxzcGFuIGNsYXNzPSJrIj47
PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj42Mzc8L3RkPjx0ZCBjbGFzcz0i
aGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwv
c3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGlu
ZSI+NjM4PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAg
ICAgPC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj42Mzk8L3RkPjx0
ZCBjbGFzcz0iaGl0cyI+NDc8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxzcGFuIGNs
YXNzPSJrIj52YXI8L3NwYW4+IGRpY3Rpb25hcnkgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxz
cGFuIGNsYXNzPSJrIj5mdW5jdGlvbjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+aXNQ
YXJ0aWFsPHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwv
dGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NjQwPC90ZD48dGQgY2xh
c3M9ImhpdHMiPjY2PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgYWxsX3dzPHNw
YW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xh
c3M9ImxpbmUiPjY0MTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xMjg8L3RkPjx0ZCBjbGFzcz0ic291
cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJr
Ij4oITwvc3Bhbj5jb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+SUQ8c3BhbiBjbGFzcz0i
ayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJkaWN0aW9uYXJ5Ijwvc3Bhbj48c3BhbiBjbGFz
cz0iayI+KSk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5yZXR1cm48L3NwYW4+PHNwYW4gY2xhc3M9
ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj42
NDI8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAg
ICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0i
aGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj42NDM8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDwvdGQ+PHRk
IGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IG5h
bWUgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IGNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bh
bj5JRDxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+fHw8L3NwYW4+IGVy
cm9yPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9InMiPiJObyBuYW1lIGZvciBk
aWN0aW9uYXJ5Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBj
bGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj42NDQ8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDwv
dGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3Nw
YW4+IHJldCA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+
PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjY0NTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48
L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgdHlwZTxzcGFuIGNsYXNzPSJr
Ij46PC9zcGFuPiAgIDxzcGFuIGNsYXNzPSJzIj4iZGljdGlvbmFyeSI8L3NwYW4+PC90ZD48L3Ry
Pjx0cj48dGQgY2xhc3M9ImxpbmUiPjY0NjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBj
bGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gICBuYW1l
PHNwYW4gY2xhc3M9ImsiPjo8L3NwYW4+ICAgbmFtZTxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnZh
bHVlPC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjY0NzwvdGQ+PHRkIGNsYXNzPSJoaXRz
Ij48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+LDwv
c3Bhbj4gICBwYXJ0aWFsPHNwYW4gY2xhc3M9ImsiPjo8L3NwYW4+ICAgIDxzcGFuIGNsYXNzPSJr
Ij5mYWxzZTwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NjQ4PC90ZD48dGQg
Y2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNs
YXNzPSJrIj4sPC9zcGFuPiAgIG1lbWJlcnM8c3BhbiBjbGFzcz0iayI+Ojwvc3Bhbj4gICAgPHNw
YW4gY2xhc3M9ImsiPltdPC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj42NDk8
L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAg
PHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3Ry
Pjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj42NTA8L3RkPjx0ZCBjbGFzcz0iaGl0
cyI+NzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5p
Zjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPighPC9zcGFuPmlzUGFydGlhbDxzcGFuIGNsYXNzPSJr
Ij4pPC9zcGFuPiByZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5pbmhlcml0YW5jZSA8c3BhbiBj
bGFzcz0iayI+PTwvc3Bhbj4gaW5oZXJpdGFuY2U8c3BhbiBjbGFzcz0iayI+KCk8L3NwYW4+IDxz
cGFuIGNsYXNzPSJrIj58fDwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPm51bGw8L3NwYW4+PHNwYW4g
Y2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJs
aW5lIj42NTE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAg
ICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBj
bGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj42NTI8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDwv
dGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIGNvbnN1bWU8c3BhbiBjbGFzcz0iayI+
KDwvc3Bhbj5PVEhFUjxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+Insi
PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+fHw8L3NwYW4+
IGVycm9yPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9InMiPiJCb2R5bGVzcyBk
aWN0aW9uYXJ5Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBj
bGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj42NTM8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDwv
dGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj53aGlsZTwv
c3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPnRydWU8L3NwYW4+
PHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90
cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NjU0PC90ZD48dGQgY2xhc3M9Imhp
dHMiPjEzPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIGFsbF93czxzcGFu
IGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNz
PSJsaW5lIj42NTU8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTM8L3RkPjx0ZCBjbGFzcz0ic291cmNl
Ij4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0i
ayI+KDwvc3Bhbj5jb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+T1RIRVI8c3BhbiBjbGFz
cz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJ9Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+
KSk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9Imhp
dCI+IDx0ZCBjbGFzcz0ibGluZSI+NjU2PC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ8L3RkPjx0ZCBj
bGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4o
KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj42NTc8
L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAg
ICAgICAgICAgY29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPk9USEVSPHNwYW4gY2xhc3M9
ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iOyI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik8
L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj58fDwvc3Bhbj4gZXJyb3I8c3BhbiBjbGFzcz0iayI+KDwv
c3Bhbj48c3BhbiBjbGFzcz0icyI+Ik1pc3Npbmcgc2VtaWNvbG9uIGFmdGVyIGRpY3Rpb25hcnki
PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQi
PiA8dGQgY2xhc3M9ImxpbmUiPjY1ODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40PC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+cmV0dXJuPC9z
cGFuPiByZXQ8c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0i
bGluZSI+NjU5PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAg
ICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNz
PSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjY2MDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj45PC90ZD48
dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3Nw
YW4+IGVhIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiBleHRlbmRlZF9hdHRyczxzcGFuIGNsYXNz
PSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5l
Ij42NjE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+OTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAg
ICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIg
Y2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NjYyPC90ZD48dGQgY2xhc3M9ImhpdHMiPjk8
L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZh
cjwvc3Bhbj4gdHlwIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiB0eXBlPHNwYW4gY2xhc3M9Imsi
PigpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+fHw8L3NwYW4+IGVycm9yPHNwYW4gY2xhc3M9Imsi
Pig8L3NwYW4+PHNwYW4gY2xhc3M9InMiPiJObyB0eXBlIGZvciBkaWN0aW9uYXJ5IG1lbWJlciI8
L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+
IDx0ZCBjbGFzcz0ibGluZSI+NjYzPC90ZD48dGQgY2xhc3M9ImhpdHMiPjk8L3RkPjx0ZCBjbGFz
cz0ic291cmNlIj4gICAgICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bh
bj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjY2NDwvdGQ+PHRk
IGNsYXNzPSJoaXRzIj45PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxz
cGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IG5hbWUgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IGNv
bnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5JRDxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8
c3BhbiBjbGFzcz0iayI+fHw8L3NwYW4+IGVycm9yPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNw
YW4gY2xhc3M9InMiPiJObyBuYW1lIGZvciBkaWN0aW9uYXJ5IG1lbWJlciI8L3NwYW4+PHNwYW4g
Y2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0i
bGluZSI+NjY1PC90ZD48dGQgY2xhc3M9ImhpdHMiPjk8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4g
ICAgICAgICAgICAgICAgcmV0PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+bWVtYmVyczxzcGFuIGNs
YXNzPSJrIj4uPC9zcGFuPnB1c2g8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0i
ayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NjY2PC90ZD48dGQgY2xh
c3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAgdHlw
ZTxzcGFuIGNsYXNzPSJrIj46PC9zcGFuPiAgICAgICA8c3BhbiBjbGFzcz0icyI+ImZpZWxkIjwv
c3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NjY3PC90ZD48dGQgY2xhc3M9Imhp
dHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0i
ayI+LDwvc3Bhbj4gICBuYW1lPHNwYW4gY2xhc3M9ImsiPjo8L3NwYW4+ICAgICAgIG5hbWU8c3Bh
biBjbGFzcz0iayI+Ljwvc3Bhbj52YWx1ZTwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj42
Njg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAg
ICAgICAgIDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiAgIGlkbFR5cGU8c3BhbiBjbGFzcz0iayI+
Ojwvc3Bhbj4gICAgdHlwPC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjY2OTwvdGQ+PHRk
IGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgPHNw
YW4gY2xhc3M9ImsiPiw8L3NwYW4+ICAgZXh0QXR0cnM8c3BhbiBjbGFzcz0iayI+Ojwvc3Bhbj4g
ICBlYTwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj42NzA8L3RkPjx0ZCBjbGFzcz0iaGl0
cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJr
Ij4sPC9zcGFuPiAgIDxzcGFuIGNsYXNzPSJzIj4iZGVmYXVsdCI8L3NwYW4+PHNwYW4gY2xhc3M9
ImsiPjo8L3NwYW4+ICBkZWZhdWx0XzxzcGFuIGNsYXNzPSJrIj4oKTwvc3Bhbj48L3RkPjwvdHI+
PHRyPjx0ZCBjbGFzcz0ibGluZSI+NjcxPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNs
YXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48c3Bh
biBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNz
PSJsaW5lIj42NzI8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+OTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2Ui
PiAgICAgICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90
cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NjczPC90ZD48dGQgY2xhc3M9Imhp
dHMiPjk8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgY29uc3VtZTxzcGFu
IGNsYXNzPSJrIj4oPC9zcGFuPk9USEVSPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNs
YXNzPSJzIj4iOyI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJr
Ij58fDwvc3Bhbj4gZXJyb3I8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0icyI+
IlVudGVybWluYXRlZCBkaWN0aW9uYXJ5IG1lbWJlciI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7
PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj42NzQ8L3RkPjx0ZCBjbGFzcz0i
aGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9Imsi
Pn08L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjY3NTwvdGQ+PHRkIGNsYXNz
PSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj59
PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJs
aW5lIj42NzY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAg
ICAgICA8L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjY3NzwvdGQ+
PHRkIGNsYXNzPSJoaXRzIj40NzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4g
Y2xhc3M9ImsiPnZhcjwvc3Bhbj4gZXhjZXB0aW9uIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8
c3BhbiBjbGFzcz0iayI+ZnVuY3Rpb248L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oKTwvc3Bhbj4g
PHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNs
YXNzPSJsaW5lIj42Nzg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NjE8L3RkPjx0ZCBjbGFzcz0ic291
cmNlIj4gICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90
cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+Njc5PC90ZD48dGQgY2xhc3M9Imhp
dHMiPjExMzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJr
Ij5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPighPC9zcGFuPmNvbnN1bWU8c3BhbiBjbGFzcz0i
ayI+KDwvc3Bhbj5JRDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+ImV4
Y2VwdGlvbiI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPikpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+
cmV0dXJuPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9
ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NjgwPC90ZD48dGQgY2xhc3M9ImhpdHMiPjk8L3RkPjx0
ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9z
cGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NjgxPC90ZD48
dGQgY2xhc3M9ImhpdHMiPjk8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3Bh
biBjbGFzcz0iayI+dmFyPC9zcGFuPiBuYW1lIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiBjb25z
dW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+SUQ8c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNw
YW4gY2xhc3M9ImsiPnx8PC9zcGFuPiBlcnJvcjxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFu
IGNsYXNzPSJzIj4iTm8gbmFtZSBmb3IgZXhjZXB0aW9uIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+
KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj42ODI8
L3RkPjx0ZCBjbGFzcz0iaGl0cyI+OTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAg
IDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IHJldCA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4g
PHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjY4
MzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAg
ICAgICAgdHlwZTxzcGFuIGNsYXNzPSJrIj46PC9zcGFuPiAgIDxzcGFuIGNsYXNzPSJzIj4iZXhj
ZXB0aW9uIjwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+Njg0PC90ZD48dGQg
Y2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNs
YXNzPSJrIj4sPC9zcGFuPiAgIG5hbWU8c3BhbiBjbGFzcz0iayI+Ojwvc3Bhbj4gICBuYW1lPHNw
YW4gY2xhc3M9ImsiPi48L3NwYW4+dmFsdWU8L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+
Njg1PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAg
ICAgIDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiAgIG1lbWJlcnM8c3BhbiBjbGFzcz0iayI+Ojwv
c3Bhbj4gICAgPHNwYW4gY2xhc3M9ImsiPltdPC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNz
PSJsaW5lIj42ODY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+
ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3Nw
YW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj42ODc8L3RkPjx0
ZCBjbGFzcz0iaGl0cyI+OTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIHJldDxz
cGFuIGNsYXNzPSJrIj4uPC9zcGFuPmluaGVyaXRhbmNlIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFu
PiBpbmhlcml0YW5jZTxzcGFuIGNsYXNzPSJrIj4oKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnx8
PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+bnVsbDwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bh
bj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjY4ODwvdGQ+PHRk
IGNsYXNzPSJoaXRzIj45PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgYWxsX3dz
PHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQg
Y2xhc3M9ImxpbmUiPjY4OTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj45PC90ZD48dGQgY2xhc3M9InNv
dXJjZSI+ICAgICAgICAgICAgY29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPk9USEVSPHNw
YW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4ieyI8L3NwYW4+PHNwYW4gY2xh
c3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj58fDwvc3Bhbj4gZXJyb3I8c3BhbiBjbGFz
cz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0icyI+IkJvZHlsZXNzIGV4Y2VwdGlvbiI8L3NwYW4+
PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBj
bGFzcz0ibGluZSI+NjkwPC90ZD48dGQgY2xhc3M9ImhpdHMiPjk8L3RkPjx0ZCBjbGFzcz0ic291
cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+d2hpbGU8L3NwYW4+IDxzcGFuIGNsYXNz
PSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj50cnVlPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4p
PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQi
PiA8dGQgY2xhc3M9ImxpbmUiPjY5MTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xNjwvdGQ+PHRkIGNs
YXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9z
cGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NjkyPC90ZD48
dGQgY2xhc3M9ImhpdHMiPjE2PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAg
IDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+Y29uc3Vt
ZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPk9USEVSPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxz
cGFuIGNsYXNzPSJzIj4ifSI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPikpPC9zcGFuPiA8c3BhbiBj
bGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9Imxp
bmUiPjY5MzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj45PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAg
ICAgICAgICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90
cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+Njk0PC90ZD48dGQgY2xhc3M9Imhp
dHMiPjk8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAgIGNvbnN1bWU8
c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5PVEhFUjxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3Bh
biBjbGFzcz0icyI+IjsiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFz
cz0iayI+fHw8L3NwYW4+IGVycm9yPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9
InMiPiJNaXNzaW5nIHNlbWljb2xvbiBhZnRlciBleGNlcHRpb24iPC9zcGFuPjxzcGFuIGNsYXNz
PSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUi
PjY5NTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj45PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAg
ICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+cmV0dXJuPC9zcGFuPiByZXQ8c3BhbiBjbGFz
cz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+Njk2PC90ZD48dGQg
Y2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3Bh
biBjbGFzcz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9
ImxpbmUiPjY5NzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj43PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+
ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IGVhIDxzcGFuIGNsYXNz
PSJrIj49PC9zcGFuPiBleHRlbmRlZF9hdHRyczxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90
ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj42OTg8L3RkPjx0ZCBjbGFz
cz0iaGl0cyI+NzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICBhbGxfd3M8
c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBj
bGFzcz0ibGluZSI+Njk5PC90ZD48dGQgY2xhc3M9ImhpdHMiPjc8L3RkPjx0ZCBjbGFzcz0ic291
cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gY250IDxzcGFu
IGNsYXNzPSJrIj49PC9zcGFuPiBjb25zdF88c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+
PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NzAwPC90ZD48dGQgY2xhc3M9
ImhpdHMiPjc8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4gY2xh
c3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5jbnQ8c3BhbiBjbGFzcz0i
ayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0i
aGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj43MDE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MzwvdGQ+PHRk
IGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAgY250PHNwYW4gY2xhc3M9ImsiPi48
L3NwYW4+ZXh0QXR0cnMgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IGVhPHNwYW4gY2xhc3M9Imsi
Pjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj43MDI8
L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAg
ICAgICAgICAgcmV0PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+bWVtYmVyczxzcGFuIGNsYXNzPSJr
Ij4uPC9zcGFuPnB1c2g8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5jbnQ8c3BhbiBjbGFzcz0iayI+
KTs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjcwMzwvdGQ+PHRkIGNsYXNz
PSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4gY2xh
c3M9ImsiPn08L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjcwNDwvdGQ+PHRk
IGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgPHNw
YW4gY2xhc3M9ImsiPmVsc2U8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90
cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NzA1PC90ZD48dGQgY2xhc3M9Imhp
dHMiPjQ8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNs
YXNzPSJrIj52YXI8L3NwYW4+IHR5cCA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gdHlwZTxzcGFu
IGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNz
PSJsaW5lIj43MDY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2Ui
PiAgICAgICAgICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3Rk
PjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjcwNzwvdGQ+PHRkIGNsYXNz
PSJoaXRzIj40PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICA8c3Bh
biBjbGFzcz0iayI+dmFyPC9zcGFuPiBuYW1lIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiBjb25z
dW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+SUQ8c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90
ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj43MDg8L3RkPjx0ZCBjbGFz
cz0iaGl0cyI+NDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAgYWxs
X3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8
dGQgY2xhc3M9ImxpbmUiPjcwOTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40PC90ZD48dGQgY2xhc3M9
InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxz
cGFuIGNsYXNzPSJrIj4oITwvc3Bhbj50eXAgPHNwYW4gY2xhc3M9ImsiPnx8PC9zcGFuPiA8c3Bh
biBjbGFzcz0iayI+ITwvc3Bhbj5uYW1lIDxzcGFuIGNsYXNzPSJrIj58fDwvc3Bhbj4gPHNwYW4g
Y2xhc3M9ImsiPiE8L3NwYW4+Y29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPk9USEVSPHNw
YW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iOyI8L3NwYW4+PHNwYW4gY2xh
c3M9ImsiPikpPC9zcGFuPiBlcnJvcjxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNz
PSJzIj4iVW5rbm93biBtZW1iZXIgaW4gZXhjZXB0aW9uIGJvZHkiPC9zcGFuPjxzcGFuIGNsYXNz
PSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUi
PjcxMDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAg
ICAgICAgICAgICAgICByZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5tZW1iZXJzPHNwYW4gY2xh
c3M9ImsiPi48L3NwYW4+cHVzaDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJr
Ij57PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj43MTE8L3RkPjx0ZCBjbGFz
cz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICAgICAg
dHlwZTxzcGFuIGNsYXNzPSJrIj46PC9zcGFuPiAgICAgICA8c3BhbiBjbGFzcz0icyI+ImZpZWxk
Ijwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NzEyPC90ZD48dGQgY2xhc3M9
ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAgPHNwYW4g
Y2xhc3M9ImsiPiw8L3NwYW4+ICAgbmFtZTxzcGFuIGNsYXNzPSJrIj46PC9zcGFuPiAgICAgICBu
YW1lPHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+dmFsdWU8L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0i
bGluZSI+NzEzPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAg
ICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+ICAgaWRsVHlwZTxzcGFu
IGNsYXNzPSJrIj46PC9zcGFuPiAgICB0eXA8L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+
NzE0PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAg
ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+ICAgZXh0QXR0cnM8c3BhbiBjbGFz
cz0iayI+Ojwvc3Bhbj4gICBlYTwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj43MTU8L3Rk
Pjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAg
ICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90
ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjcxNjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3Rk
Pjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3Nw
YW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjcxNzwvdGQ+PHRkIGNsYXNzPSJoaXRz
Ij48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwv
c3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NzE4PC90ZD48dGQgY2xhc3M9Imhp
dHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3Nw
YW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUi
PjcxOTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAg
IDwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NzIwPC90ZD48dGQg
Y2xhc3M9ImhpdHMiPjQ3PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFz
cz0iayI+dmFyPC9zcGFuPiBlbnVtXyA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xh
c3M9ImsiPmZ1bmN0aW9uPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KCk8L3NwYW4+IDxzcGFuIGNs
YXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGlu
ZSI+NzIxPC90ZD48dGQgY2xhc3M9ImhpdHMiPjUyPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAg
ICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNs
YXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjcyMjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xMDM8
L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3Nw
YW4+IDxzcGFuIGNsYXNzPSJrIj4oITwvc3Bhbj5jb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3Nw
YW4+SUQ8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJlbnVtIjwvc3Bh
bj48c3BhbiBjbGFzcz0iayI+KSk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5yZXR1cm48L3NwYW4+
PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNs
YXNzPSJsaW5lIj43MjM8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTwvdGQ+PHRkIGNsYXNzPSJzb3Vy
Y2UiPiAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3Ry
Pjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj43MjQ8L3RkPjx0ZCBjbGFzcz0iaGl0
cyI+MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj52
YXI8L3NwYW4+IG5hbWUgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IGNvbnN1bWU8c3BhbiBjbGFz
cz0iayI+KDwvc3Bhbj5JRDxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+
fHw8L3NwYW4+IGVycm9yPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9InMiPiJO
byBuYW1lIGZvciBlbnVtIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3Ry
Pjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj43MjU8L3RkPjx0ZCBjbGFzcz0iaGl0
cyI+MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj52
YXI8L3NwYW4+IHJldCA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8
L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjcyNjwvdGQ+PHRkIGNsYXNzPSJo
aXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgdHlwZTxzcGFuIGNs
YXNzPSJrIj46PC9zcGFuPiAgIDxzcGFuIGNsYXNzPSJzIj4iZW51bSI8L3NwYW4+PC90ZD48L3Ry
Pjx0cj48dGQgY2xhc3M9ImxpbmUiPjcyNzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBj
bGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gICBuYW1l
PHNwYW4gY2xhc3M9ImsiPjo8L3NwYW4+ICAgbmFtZTxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnZh
bHVlPC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjcyODwvdGQ+PHRkIGNsYXNzPSJoaXRz
Ij48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+LDwv
c3Bhbj4gICB2YWx1ZXM8c3BhbiBjbGFzcz0iayI+Ojwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPltd
PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj43Mjk8L3RkPjx0ZCBjbGFzcz0i
aGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9Imsi
Pn08L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0
Ij4gPHRkIGNsYXNzPSJsaW5lIj43MzA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTwvdGQ+PHRkIGNs
YXNzPSJzb3VyY2UiPiAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+
PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj43MzE8L3RkPjx0ZCBj
bGFzcz0iaGl0cyI+MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIGNvbnN1bWU8
c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5PVEhFUjxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3Bh
biBjbGFzcz0icyI+InsiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFz
cz0iayI+fHw8L3NwYW4+IGVycm9yPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9
InMiPiJObyBjdXJseSBmb3IgZW51bSI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwv
dGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NzMyPC90ZD48dGQgY2xh
c3M9ImhpdHMiPjE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFz
cz0iayI+dmFyPC9zcGFuPiBzYXdfY29tbWEgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFu
IGNsYXNzPSJrIj5mYWxzZTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+
PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjczMzwvdGQ+PHRkIGNsYXNzPSJoaXRz
Ij4xPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPndo
aWxlPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0iayI+dHJ1ZTwv
c3Bhbj48c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90
ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj43MzQ8L3RkPjx0ZCBjbGFz
cz0iaGl0cyI+NDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICBhbGxfd3M8
c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBj
bGFzcz0ibGluZSI+NzM1PC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ8L3RkPjx0ZCBjbGFzcz0ic291
cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFz
cz0iayI+KDwvc3Bhbj5jb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+T1RIRVI8c3BhbiBj
bGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJ9Ijwvc3Bhbj48c3BhbiBjbGFzcz0i
ayI+KSk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9
ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NzM2PC90ZD48dGQgY2xhc3M9ImhpdHMiPjE8L3RkPjx0
ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJr
Ij4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj43
Mzc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAg
ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwv
c3Bhbj5zYXdfY29tbWE8c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gZXJyb3I8c3BhbiBjbGFzcz0i
ayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0icyI+IlRyYWlsaW5nIGNvbW1hIGluIGVudW0iPC9zcGFu
PjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQg
Y2xhc3M9ImxpbmUiPjczODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xPC90ZD48dGQgY2xhc3M9InNv
dXJjZSI+ICAgICAgICAgICAgICAgICAgICBjb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+
T1RIRVI8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiI7Ijwvc3Bhbj48
c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnx8PC9zcGFuPiBlcnJvcjxz
cGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4iTm8gc2VtaWNvbG9uIGFmdGVy
IGVudW0iPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNz
PSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjczOTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xPC90ZD48
dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+cmV0
dXJuPC9zcGFuPiByZXQ8c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBj
bGFzcz0ibGluZSI+NzQwPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3Vy
Y2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+PHRy
IGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjc0MTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4z
PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj52
YXI8L3NwYW4+IHZhbCA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gY29uc3VtZTxzcGFuIGNsYXNz
PSJrIj4oPC9zcGFuPlNUUjxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+
fHw8L3NwYW4+IGVycm9yPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9InMiPiJV
bmV4cGVjdGVkIHZhbHVlIGluIGVudW0iPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48
L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjc0MjwvdGQ+PHRkIGNs
YXNzPSJoaXRzIj4zPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIHJldDxz
cGFuIGNsYXNzPSJrIj4uPC9zcGFuPnZhbHVlczxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnB1c2g8
c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj52YWw8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj52YWx1ZTxz
cGFuIGNsYXNzPSJrIj4uPC9zcGFuPnJlcGxhY2U8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3Bh
biBjbGFzcz0icyI+LyIvZzwvc3Bhbj48c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xh
c3M9InMiPiIiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBj
bGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj43NDM8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+Mzwv
dGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0i
ayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+
NzQ0PC90ZD48dGQgY2xhc3M9ImhpdHMiPjM8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAg
ICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bh
bj5jb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+T1RIRVI8c3BhbiBjbGFzcz0iayI+LDwv
c3Bhbj4gPHNwYW4gY2xhc3M9InMiPiIsIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KSk8L3NwYW4+
IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBj
bGFzcz0ibGluZSI+NzQ1PC90ZD48dGQgY2xhc3M9ImhpdHMiPjI8L3RkPjx0ZCBjbGFzcz0ic291
cmNlIj4gICAgICAgICAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+
PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj43NDY8L3RkPjx0ZCBj
bGFzcz0iaGl0cyI+MjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAg
c2F3X2NvbW1hIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+dHJ1ZTwv
c3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGlu
ZSI+NzQ3PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAg
ICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFz
cz0ibGluZSI+NzQ4PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2Ui
PiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+ZWxzZTwvc3Bhbj4gPHNwYW4gY2xhc3M9
ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj43
NDk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAg
ICAgICAgICAgICAgc2F3X2NvbW1hIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFz
cz0iayI+ZmFsc2U8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48
dGQgY2xhc3M9ImxpbmUiPjc1MDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0i
c291cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PC90ZD48L3Ry
Pjx0cj48dGQgY2xhc3M9ImxpbmUiPjc1MTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBj
bGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48L3RkPjwv
dHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NzUyPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRk
IGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PHNwYW4gY2xh
c3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjc1MzwvdGQ+PHRk
IGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDwvdGQ+PC90cj48
dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NzU0PC90ZD48dGQgY2xhc3M9ImhpdHMi
PjQ3PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9z
cGFuPiB0eXBlZGVmIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ZnVu
Y3Rpb248L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8
L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj43NTU8L3Rk
Pjx0ZCBjbGFzcz0iaGl0cyI+NTE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICBh
bGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+
IDx0ZCBjbGFzcz0ibGluZSI+NzU2PC90ZD48dGQgY2xhc3M9ImhpdHMiPjk5PC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBj
bGFzcz0iayI+KCE8L3NwYW4+Y29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPklEPHNwYW4g
Y2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4idHlwZWRlZiI8L3NwYW4+PHNwYW4g
Y2xhc3M9ImsiPikpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+cmV0dXJuPC9zcGFuPjxzcGFuIGNs
YXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGlu
ZSI+NzU3PC90ZD48dGQgY2xhc3M9ImhpdHMiPjM8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAg
ICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiByZXQgPHNwYW4gY2xhc3M9ImsiPj08
L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJs
aW5lIj43NTg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAg
ICAgICAgICAgICAgIHR5cGU8c3BhbiBjbGFzcz0iayI+Ojwvc3Bhbj4gICA8c3BhbiBjbGFzcz0i
cyI+InR5cGVkZWYiPC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj43NTk8L3Rk
Pjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNw
YW4gY2xhc3M9ImsiPn08L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0
ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj43NjA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+
MzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJr
Ij4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj43
NjE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAg
ICAgIHJldDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPmV4dEF0dHJzIDxzcGFuIGNsYXNzPSJrIj49
PC9zcGFuPiBleHRlbmRlZF9hdHRyczxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3Ry
Pjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj43NjI8L3RkPjx0ZCBjbGFzcz0iaGl0
cyI+MzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNz
PSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5l
Ij43NjM8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAg
ICAgICAgIHJldDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPmlkbFR5cGUgPHNwYW4gY2xhc3M9Imsi
Pj08L3NwYW4+IHR5cGU8c3BhbiBjbGFzcz0iayI+KCk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj58
fDwvc3Bhbj4gZXJyb3I8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0icyI+Ik5v
IHR5cGUgaW4gdHlwZWRlZiI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90
cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NzY0PC90ZD48dGQgY2xhc3M9Imhp
dHMiPjM8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFz
cz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGlu
ZSI+NzY1PC90ZD48dGQgY2xhc3M9ImhpdHMiPjM8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAg
ICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiBuYW1lIDxzcGFuIGNsYXNzPSJrIj49
PC9zcGFuPiBjb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+SUQ8c3BhbiBjbGFzcz0iayI+
KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnx8PC9zcGFuPiBlcnJvcjxzcGFuIGNsYXNzPSJrIj4o
PC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4iTm8gbmFtZSBpbiB0eXBlZGVmIjwvc3Bhbj48c3BhbiBj
bGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJs
aW5lIj43NjY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAg
ICAgICAgICAgIHJldDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPm5hbWUgPHNwYW4gY2xhc3M9Imsi
Pj08L3NwYW4+IG5hbWU8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj52YWx1ZTxzcGFuIGNsYXNzPSJr
Ij47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NzY3
PC90ZD48dGQgY2xhc3M9ImhpdHMiPjM8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAg
ICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9Imhp
dCI+IDx0ZCBjbGFzcz0ibGluZSI+NzY4PC90ZD48dGQgY2xhc3M9ImhpdHMiPjM8L3RkPjx0ZCBj
bGFzcz0ic291cmNlIj4gICAgICAgICAgICBjb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+
T1RIRVI8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiI7Ijwvc3Bhbj48
c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnx8PC9zcGFuPiBlcnJvcjxz
cGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4iVW50ZXJtaW5hdGVkIHR5cGVk
ZWYiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJo
aXQiPiA8dGQgY2xhc3M9ImxpbmUiPjc2OTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4zPC90ZD48dGQg
Y2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnJldHVybjwvc3Bhbj4g
cmV0PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUi
Pjc3MDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAg
IDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90
cj48dHI+PHRkIGNsYXNzPSJsaW5lIj43NzE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQg
Y2xhc3M9InNvdXJjZSI+ICAgICAgICA8L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xh
c3M9ImxpbmUiPjc3MjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40NzwvdGQ+PHRkIGNsYXNzPSJzb3Vy
Y2UiPiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gaW1wbGVtZW50c18gPHNwYW4g
Y2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5mdW5jdGlvbjwvc3Bhbj4gPHNwYW4g
Y2xhc3M9ImsiPigpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRy
IGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjc3MzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40
ODwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJr
Ij4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj43
NzQ8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDg8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAg
ICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiB0YXJnZXQgPHNwYW4gY2xhc3M9ImsiPj08
L3NwYW4+IGNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5JRDxzcGFuIGNsYXNzPSJrIj4p
Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjc3NTwv
dGQ+PHRkIGNsYXNzPSJoaXRzIj45NTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAg
IDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPighPC9zcGFuPnRhcmdl
dDxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+cmV0dXJuPC9zcGFuPjxz
cGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFz
cz0ibGluZSI+Nzc2PC90ZD48dGQgY2xhc3M9ImhpdHMiPjE8L3RkPjx0ZCBjbGFzcz0ic291cmNl
Ij4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiB3IDxzcGFuIGNsYXNzPSJr
Ij49PC9zcGFuPiBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIg
Y2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+Nzc3PC90ZD48dGQgY2xhc3M9ImhpdHMiPjE8
L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3Nw
YW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPmNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bh
bj5JRDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+ImltcGxlbWVudHMi
PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+
PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj43Nzg8L3RkPjx0ZCBj
bGFzcz0iaGl0cyI+MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3Bh
biBjbGFzcz0iayI+dmFyPC9zcGFuPiByZXQgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFu
IGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj43Nzk8L3Rk
Pjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAg
ICAgICB0eXBlPHNwYW4gY2xhc3M9ImsiPjo8L3NwYW4+ICAgPHNwYW4gY2xhc3M9InMiPiJpbXBs
ZW1lbnRzIjwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NzgwPC90ZD48dGQg
Y2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3Bh
biBjbGFzcz0iayI+LDwvc3Bhbj4gICB0YXJnZXQ8c3BhbiBjbGFzcz0iayI+Ojwvc3Bhbj4gdGFy
Z2V0PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+dmFsdWU8L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0i
bGluZSI+NzgxPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAg
ICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwv
c3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjc4MjwvdGQ+
PHRkIGNsYXNzPSJoaXRzIj4xPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAg
IGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0
Ij4gPHRkIGNsYXNzPSJsaW5lIj43ODM8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTwvdGQ+PHRkIGNs
YXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiBp
bXAgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IGNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bh
bj5JRDxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+fHw8L3NwYW4+IGVy
cm9yPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9InMiPiJJbmNvbXBsZXRlIGlt
cGxlbWVudHMgc3RhdGVtZW50Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48
L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj43ODQ8L3RkPjx0ZCBjbGFzcz0i
aGl0cyI+MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICByZXQ8c3BhbiBj
bGFzcz0iayI+Wzwvc3Bhbj48c3BhbiBjbGFzcz0icyI+ImltcGxlbWVudHMiPC9zcGFuPjxzcGFu
IGNsYXNzPSJrIj5dPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gaW1wPHNwYW4gY2xh
c3M9ImsiPi48L3NwYW4+dmFsdWU8c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRy
IGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjc4NTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4x
PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNz
PSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5l
Ij43ODY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAg
ICAgICAgICAgICBjb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+T1RIRVI8c3BhbiBjbGFz
cz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiI7Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+
KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnx8PC9zcGFuPiBlcnJvcjxzcGFuIGNsYXNzPSJrIj4o
PC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4iTm8gdGVybWluYXRpbmcgOyBmb3IgaW1wbGVtZW50cyBz
dGF0ZW1lbnQiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNs
YXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjc4NzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xPC90
ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5yZXR1
cm48L3NwYW4+IHJldDxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNs
YXNzPSJsaW5lIj43ODg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJj
ZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PC90ZD48L3RyPjx0cj48dGQg
Y2xhc3M9ImxpbmUiPjc4OTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291
cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+ZWxzZTwvc3Bhbj4gPHNwYW4gY2xhc3M9
ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjc5MDwvdGQ+PHRkIGNs
YXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4g
Y2xhc3M9ImMiPi8vIHJvbGxiYWNrPC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9Im1pc3MiPiA8
dGQgY2xhc3M9ImxpbmUiPjc5MTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4wPC90ZD48dGQgY2xhc3M9
InNvdXJjZSI+ICAgICAgICAgICAgICAgIHRva2VuczxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnVu
c2hpZnQ8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj53PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwv
dGQ+PC90cj48dHIgY2xhc3M9Im1pc3MiPiA8dGQgY2xhc3M9ImxpbmUiPjc5MjwvdGQ+PHRkIGNs
YXNzPSJoaXRzIj4wPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIHRva2Vu
czxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnVuc2hpZnQ8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj50
YXJnZXQ8c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9Imxp
bmUiPjc5MzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAg
ICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0i
bGluZSI+Nzk0PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAg
ICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90
ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjc5NTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3Rk
Pjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0
ZCBjbGFzcz0ibGluZSI+Nzk2PC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ3PC90ZD48dGQgY2xhc3M9
InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiBkZWZpbml0aW9uIDxz
cGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ZnVuY3Rpb248L3NwYW4+IDxz
cGFuIGNsYXNzPSJrIj4oKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3Ry
Pjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj43OTc8L3RkPjx0ZCBjbGFzcz0iaGl0
cyI+MTQ0PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9Imsi
PnJldHVybjwvc3Bhbj4gIGNhbGxiYWNrPHNwYW4gY2xhc3M9ImsiPigpPC9zcGFuPiAgICAgIDxz
cGFuIGNsYXNzPSJrIj58fDwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+Nzk4
PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAg
ICAgICAgICAgaW50ZXJmYWNlXzxzcGFuIGNsYXNzPSJrIj4oKTwvc3Bhbj4gICAgPHNwYW4gY2xh
c3M9ImsiPnx8PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj43OTk8L3RkPjx0
ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAg
ICBwYXJ0aWFsPHNwYW4gY2xhc3M9ImsiPigpPC9zcGFuPiAgICAgICA8c3BhbiBjbGFzcz0iayI+
fHw8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjgwMDwvdGQ+PHRkIGNsYXNz
PSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAgIGRpY3Rp
b25hcnk8c3BhbiBjbGFzcz0iayI+KCk8L3NwYW4+ICAgIDxzcGFuIGNsYXNzPSJrIj58fDwvc3Bh
bj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+ODAxPC90ZD48dGQgY2xhc3M9ImhpdHMi
PjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAgZXhjZXB0aW9uPHNw
YW4gY2xhc3M9ImsiPigpPC9zcGFuPiAgICAgPHNwYW4gY2xhc3M9ImsiPnx8PC9zcGFuPjwvdGQ+
PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj44MDI8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48
dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICBlbnVtXzxzcGFuIGNsYXNzPSJr
Ij4oKTwvc3Bhbj4gICAgICAgICA8c3BhbiBjbGFzcz0iayI+fHw8L3NwYW4+PC90ZD48L3RyPjx0
cj48dGQgY2xhc3M9ImxpbmUiPjgwMzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFz
cz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAgIHR5cGVkZWY8c3BhbiBjbGFzcz0iayI+KCk8
L3NwYW4+ICAgICAgIDxzcGFuIGNsYXNzPSJrIj58fDwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBj
bGFzcz0ibGluZSI+ODA0PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3Vy
Y2UiPiAgICAgICAgICAgICAgICAgICAgaW1wbGVtZW50c188c3BhbiBjbGFzcz0iayI+KCk8L3Nw
YW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjgwNTwvdGQ+PHRkIGNsYXNzPSJoaXRz
Ij48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNz
PSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj44MDY8L3RkPjx0ZCBj
bGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFzcz0i
ayI+fTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFz
cz0ibGluZSI+ODA3PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2Ui
PiAgICAgICAgPC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj44MDg8
L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDc8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxz
cGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IGRlZmluaXRpb25zIDxzcGFuIGNsYXNzPSJrIj49PC9z
cGFuPiA8c3BhbiBjbGFzcz0iayI+ZnVuY3Rpb248L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oKTwv
c3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4g
PHRkIGNsYXNzPSJsaW5lIj44MDk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDc8L3RkPjx0ZCBjbGFz
cz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNs
YXNzPSJrIj4oITwvc3Bhbj50b2tlbnM8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5sZW5ndGg8c3Bh
biBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnJldHVybjwvc3Bhbj4gPHNwYW4g
Y2xhc3M9ImsiPltdOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9
ImxpbmUiPjgxMDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40NzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2Ui
PiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IGRlZnMgPHNwYW4gY2xhc3M9
ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5bXTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFz
cz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj44MTE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDc8L3Rk
Pjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+d2hpbGU8L3Nw
YW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj50cnVlPC9zcGFuPjxz
cGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+
PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjgxMjwvdGQ+PHRkIGNsYXNzPSJoaXRz
Ij4xNDQ8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9
ImsiPnZhcjwvc3Bhbj4gZWEgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IGV4dGVuZGVkX2F0dHJz
PHNwYW4gY2xhc3M9ImsiPigpPC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj44
MTM8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAg
ICAgICAgIDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiAgIGRlZiA8c3BhbiBjbGFzcz0iayI+PTwv
c3Bhbj4gZGVmaW5pdGlvbjxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBj
bGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj44MTQ8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTQ0
PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5p
Zjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPighPC9zcGFuPmRlZjxzcGFuIGNsYXNzPSJrIj4pPC9z
cGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8
dGQgY2xhc3M9ImxpbmUiPjgxNTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40NzwvdGQ+PHRkIGNsYXNz
PSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8
c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5lYTxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPmxlbmd0aDxz
cGFuIGNsYXNzPSJrIj4pPC9zcGFuPiBlcnJvcjxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFu
IGNsYXNzPSJzIj4iU3RyYXkgZXh0ZW5kZWQgYXR0cmlidXRlcyI8L3NwYW4+PHNwYW4gY2xhc3M9
ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+
ODE2PC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ3PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAg
ICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+YnJlYWs8L3NwYW4+PHNwYW4gY2xhc3M9Imsi
Pjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjgxNzwvdGQ+PHRkIGNsYXNz
PSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4gY2xh
c3M9ImsiPn08L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5l
Ij44MTg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+OTc8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAg
ICAgICAgICAgICAgZGVmPHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+ZXh0QXR0cnMgPHNwYW4gY2xh
c3M9ImsiPj08L3NwYW4+IGVhPHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBj
bGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj44MTk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+OTc8
L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgZGVmczxzcGFuIGNsYXNzPSJr
Ij4uPC9zcGFuPnB1c2g8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5kZWY8c3BhbiBjbGFzcz0iayI+
KTs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjgyMDwvdGQ+PHRkIGNsYXNz
PSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0i
ayI+fTwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjgy
MTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40NzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAg
ICAgIDxzcGFuIGNsYXNzPSJrIj5yZXR1cm48L3NwYW4+IGRlZnM8c3BhbiBjbGFzcz0iayI+Ozwv
c3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+ODIyPC90ZD48dGQgY2xhc3M9Imhp
dHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3Nw
YW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRk
IGNsYXNzPSJsaW5lIj44MjM8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDc8L3RkPjx0ZCBjbGFzcz0i
c291cmNlIj4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IHJlcyA8c3BhbiBjbGFz
cz0iayI+PTwvc3Bhbj4gZGVmaW5pdGlvbnM8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+
PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+ODI0PC90ZD48dGQgY2xhc3M9
ImhpdHMiPjQ3PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFzcz0iayI+
aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPnRva2VuczxzcGFuIGNsYXNzPSJrIj4u
PC9zcGFuPmxlbmd0aDxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiBlcnJvcjxzcGFuIGNsYXNzPSJr
Ij4oPC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4iVW5yZWNvZ25pc2VkIHRva2VucyI8L3NwYW4+PHNw
YW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFz
cz0ibGluZSI+ODI1PC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ3PC90ZD48dGQgY2xhc3M9InNvdXJj
ZSI+ICAgICAgICA8c3BhbiBjbGFzcz0iayI+cmV0dXJuPC9zcGFuPiByZXM8c3BhbiBjbGFzcz0i
ayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+ODI2PC90ZD48dGQgY2xh
c3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICA8c3BhbiBjbGFzcz0iayI+fTwv
c3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGlu
ZSI+ODI3PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiA8L3Rk
PjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjgyODwvdGQ+PHRkIGNsYXNz
PSJoaXRzIj4xPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8
L3NwYW4+IG9iaiA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3Nw
YW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjgyOTwvdGQ+PHRkIGNsYXNzPSJoaXRz
Ij48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIHBhcnNlPHNwYW4gY2xhc3M9ImsiPjo8
L3NwYW4+ICA8c3BhbiBjbGFzcz0iayI+ZnVuY3Rpb248L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4o
PC9zcGFuPnN0cjxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bh
bj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjgzMDwvdGQ+PHRk
IGNsYXNzPSJoaXRzIj40NzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFu
IGNsYXNzPSJrIj52YXI8L3NwYW4+IHRva2VucyA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gdG9r
ZW5pc2U8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5zdHI8c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+
PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjgzMTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48
L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iYyI+Ly8gY29u
c29sZS5sb2codG9rZW5zKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNs
YXNzPSJsaW5lIj44MzI8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDc8L3RkPjx0ZCBjbGFzcz0ic291
cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+cmV0dXJuPC9zcGFuPiBwYXJzZTxzcGFu
IGNsYXNzPSJrIj4oPC9zcGFuPnRva2VuczxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwv
dHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+ODMzPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRk
IGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PC90ZD48L3Ry
Pjx0cj48dGQgY2xhc3M9ImxpbmUiPjgzNDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBj
bGFzcz0ic291cmNlIj4gICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PHNwYW4gY2xhc3M9Imsi
Pjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj44MzU8
L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICA8c3BhbiBj
bGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJr
Ij50eXBlb2Y8L3NwYW4+IG1vZHVsZSA8c3BhbiBjbGFzcz0iayI+IT09PC9zcGFuPiA8c3BhbiBj
bGFzcz0icyI+InVuZGVmaW5lZCI8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4mYW1wOyZhbXA7PC9z
cGFuPiBtb2R1bGU8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5leHBvcnRzPHNwYW4gY2xhc3M9Imsi
Pik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9Imhp
dCI+IDx0ZCBjbGFzcz0ibGluZSI+ODM2PC90ZD48dGQgY2xhc3M9ImhpdHMiPjE8L3RkPjx0ZCBj
bGFzcz0ic291cmNlIj4gICAgICAgIG1vZHVsZTxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPmV4cG9y
dHMgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IG9iajxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwv
dGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj44Mzc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90
ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90
cj48dHI+PHRkIGNsYXNzPSJsaW5lIj44Mzg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQg
Y2xhc3M9InNvdXJjZSI+ICAgIDxzcGFuIGNsYXNzPSJrIj5lbHNlPC9zcGFuPiA8c3BhbiBjbGFz
cz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJtaXNzIj4gPHRkIGNsYXNzPSJsaW5l
Ij44Mzk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAg
ICAgd2luZG93PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+V2ViSURMMiA8c3BhbiBjbGFzcz0iayI+
PTwvc3Bhbj4gb2JqPHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xh
c3M9ImxpbmUiPjg0MDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNl
Ij4gICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9Imxp
bmUiPjg0MTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj48c3Bh
biBjbGFzcz0iayI+fTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KCkpOzwvc3Bhbj48L3RkPjwvdHI+
PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PjwvZGl2PjwvYm9keT48L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL2luZGV4LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi9pbmRleC5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDlmOWViNDZhYTc4ZjQ4NjkyZWUzZDk3NmRhZDNhN2JiMTc0YjE0OC4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL2luZGV4LmpzCisr
KyAvZGV2L251bGwKQEAgLTEgKzAsMCBAQAotbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKCIuL2xp
Yi93ZWJpZGwyLmpzIik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL2xpYi9SRUFETUUubWQgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL2xp
Yi9SRUFETUUubWQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMWJkNTgzMjY5ZDI5MjlhMTZiMWM3YWQwYzU4ZmFiNmU5
OWI3MmExMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvbGliL1JFQURNRS5tZApAQCAtMCwwICsx
LDQgQEAKK1RoaXMgZGlyZWN0b3J5IGNvbnRhaW5zIGEgYnVpbHQgdmVyc2lvbiBvZiB0aGUgW3dl
YmlkbDIuanMgbGlicmFyeV0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzKS4KK0l0
IGlzIGJ1aWx0IGJ5IHJ1bm5pbmcgYG5wbSBydW4gYnVpbGQtZGVidWdgIGF0IHRoZSByb290IG9m
IHRoYXQgcmVwb3NpdG9yeS4KKworVGhlIGB3ZWJpZGwyLmpzLmhlYWRlcnNgIGZpbGUgaXMgYSBs
b2NhbCBhZGRpdGlvbiB0byBlbnN1cmUgdGhlIHNjcmlwdCBpcyBpbnRlcnByZXRlZCBhcyBVVEYt
OC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvbGliL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi9saWIvdzNjLWlt
cG9ydC5sb2cKaW5kZXggMGJjOWFiYmExOTMwYzk2ZDQyZDAyMzc0MWFmMWVhNWM3NTdjMTZiZC4u
ZGNiODg5ZjAzM2YzNTJkNDA1NjNjN2E5ZWNhZTcwZTE3NDk2YjY4NyAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi9saWIvdzNjLWltcG9ydC5sb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi9saWIvdzNjLWltcG9ydC5sb2cKQEAgLTE0
LDYgKzE0LDYgQEAgUHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CiBO
b25lCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0KIExpc3Qgb2YgZmlsZXM6CisvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi9saWIvUkVBRE1FLm1k
CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi9saWIvd2ViaWRsMi5qcwogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvbGliL3dlYmlkbDIuanMuaGVhZGVycwotL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvbGliL3dyaXRlci5qcwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi9saWIvd2ViaWRsMi5qcyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
bGliL3dlYmlkbDIuanMKaW5kZXggYzYwYTQ1NmMzMjQxNjU1ZDA1YTdlNDBmODJiMTlkODczNWQw
MTdkNC4uMmExNzRjOTJlYmU2N2Q2MmJjNTI3MzU1NmY5Y2NhMDNkZTMzMmQwNSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi9saWIvd2ViaWRsMi5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL2xpYi93ZWJpZGwyLmpzCkBAIC01MjQs
NyArNTI0LDcgQEAgZnVuY3Rpb24gbGFzdExpbmUodGV4dCkgewogICogQHBhcmFtIHsiU3ludGF4
IiB8ICJWYWxpZGF0aW9uIn0ga2luZCBlcnJvciB0eXBlCiAgKiBAcGFyYW0ge1dlYklETDJFcnJv
ck9wdGlvbnN9IFtvcHRpb25zXQogICovCi1mdW5jdGlvbiBlcnJvcihzb3VyY2UsIHBvc2l0aW9u
LCBjdXJyZW50LCBtZXNzYWdlLCBraW5kLCB7IGxldmVsID0gImVycm9yIiwgYXV0b2ZpeCB9ID0g
e30pIHsKK2Z1bmN0aW9uIGVycm9yKHNvdXJjZSwgcG9zaXRpb24sIGN1cnJlbnQsIG1lc3NhZ2Us
IGtpbmQsIHsgbGV2ZWwgPSAiZXJyb3IiLCBhdXRvZml4LCBydWxlTmFtZSB9ID0ge30pIHsKICAg
LyoqCiAgICAqIEBwYXJhbSB7bnVtYmVyfSBjb3VudAogICAgKi8KQEAgLTU3NCw2ICs1NzQsNyBA
QCBmdW5jdGlvbiBlcnJvcihzb3VyY2UsIHBvc2l0aW9uLCBjdXJyZW50LCBtZXNzYWdlLCBraW5k
LCB7IGxldmVsID0gImVycm9yIiwgYXV0bwogICAgIGxpbmUsCiAgICAgc291cmNlTmFtZTogc291
cmNlLm5hbWUsCiAgICAgbGV2ZWwsCisgICAgcnVsZU5hbWUsCiAgICAgYXV0b2ZpeCwKICAgICBp
bnB1dDogc3Vic2VxdWVudFRleHQsCiAgICAgdG9rZW5zOiBzdWJzZXF1ZW50VG9rZW5zCkBAIC01
OTEsOCArNTkyLDkgQEAgZnVuY3Rpb24gc3ludGF4RXJyb3Ioc291cmNlLCBwb3NpdGlvbiwgY3Vy
cmVudCwgbWVzc2FnZSkgewogICogQHBhcmFtIHtzdHJpbmd9IG1lc3NhZ2UgZXJyb3IgbWVzc2Fn
ZQogICogQHBhcmFtIHtXZWJJREwyRXJyb3JPcHRpb25zfSBbb3B0aW9uc10KICAqLwotZnVuY3Rp
b24gdmFsaWRhdGlvbkVycm9yKHNvdXJjZSwgdG9rZW4sIGN1cnJlbnQsIG1lc3NhZ2UsIG9wdGlv
bnMpIHsKLSAgcmV0dXJuIGVycm9yKHNvdXJjZSwgdG9rZW4uaW5kZXgsIGN1cnJlbnQsIG1lc3Nh
Z2UsICJWYWxpZGF0aW9uIiwgb3B0aW9ucyk7CitmdW5jdGlvbiB2YWxpZGF0aW9uRXJyb3IodG9r
ZW4sIGN1cnJlbnQsIHJ1bGVOYW1lLCBtZXNzYWdlLCBvcHRpb25zID0ge30pIHsKKyAgb3B0aW9u
cy5ydWxlTmFtZSA9IHJ1bGVOYW1lOworICByZXR1cm4gZXJyb3IoY3VycmVudC5zb3VyY2UsIHRv
a2VuLmluZGV4LCBjdXJyZW50LCBtZXNzYWdlLCAiVmFsaWRhdGlvbiIsIG9wdGlvbnMpOwogfQog
CiAKQEAgLTYxMiw3ICs2MTQsMTAgQEAgX193ZWJwYWNrX3JlcXVpcmVfXy5yKF9fd2VicGFja19l
eHBvcnRzX18pOwogLyogaGFybW9ueSBleHBvcnQgKGJpbmRpbmcpICovIF9fd2VicGFja19yZXF1
aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCAidHlwZV93aXRoX2V4dGVuZGVkX2F0dHJpYnV0
ZXMiLCBmdW5jdGlvbigpIHsgcmV0dXJuIHR5cGVfd2l0aF9leHRlbmRlZF9hdHRyaWJ1dGVzOyB9
KTsKIC8qIGhhcm1vbnkgZXhwb3J0IChiaW5kaW5nKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQo
X193ZWJwYWNrX2V4cG9ydHNfXywgInJldHVybl90eXBlIiwgZnVuY3Rpb24oKSB7IHJldHVybiBy
ZXR1cm5fdHlwZTsgfSk7CiAvKiBoYXJtb255IGV4cG9ydCAoYmluZGluZykgKi8gX193ZWJwYWNr
X3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sICJzdHJpbmdpZmllciIsIGZ1bmN0aW9u
KCkgeyByZXR1cm4gc3RyaW5naWZpZXI7IH0pOworLyogaGFybW9ueSBleHBvcnQgKGJpbmRpbmcp
ICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCAiZ2V0TGFzdElu
ZGVudGF0aW9uIiwgZnVuY3Rpb24oKSB7IHJldHVybiBnZXRMYXN0SW5kZW50YXRpb247IH0pOwor
LyogaGFybW9ueSBleHBvcnQgKGJpbmRpbmcpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dl
YnBhY2tfZXhwb3J0c19fLCAiZ2V0TWVtYmVySW5kZW50YXRpb24iLCBmdW5jdGlvbigpIHsgcmV0
dXJuIGdldE1lbWJlckluZGVudGF0aW9uOyB9KTsKIC8qIGhhcm1vbnkgZXhwb3J0IChiaW5kaW5n
KSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgImF1dG9maXhB
ZGRFeHBvc2VkV2luZG93IiwgZnVuY3Rpb24oKSB7IHJldHVybiBhdXRvZml4QWRkRXhwb3NlZFdp
bmRvdzsgfSk7CisvKiBoYXJtb255IGV4cG9ydCAoYmluZGluZykgKi8gX193ZWJwYWNrX3JlcXVp
cmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sICJnZXRGaXJzdFRva2VuIiwgZnVuY3Rpb24oKSB7
IHJldHVybiBnZXRGaXJzdFRva2VuOyB9KTsKIC8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfdHlw
ZV9qc19fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fID0gX193ZWJwYWNrX3JlcXVpcmVfXyg1
KTsKIC8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfYXJndW1lbnRfanNfX1dFQlBBQ0tfSU1QT1JU
RURfTU9EVUxFXzFfXyA9IF9fd2VicGFja19yZXF1aXJlX18oOCk7CiAvKiBoYXJtb255IGltcG9y
dCAqLyB2YXIgX3Rva2VuX2pzX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX18gPSBfX3dlYnBh
Y2tfcmVxdWlyZV9fKDEyKTsKQEAgLTc4OSw2ICs3OTQsMzAgQEAgZnVuY3Rpb24gc3RyaW5naWZp
ZXIodG9rZW5pc2VyKSB7CiAgIHJldHVybiBtZW1iZXI7CiB9CiAKKy8qKgorICogQHBhcmFtIHtz
dHJpbmd9IHN0cgorICovCitmdW5jdGlvbiBnZXRMYXN0SW5kZW50YXRpb24oc3RyKSB7CisgIGNv
bnN0IGxpbmVzID0gc3RyLnNwbGl0KCJcbiIpOworICAvLyB0aGUgZmlyc3QgbGluZSB2aXN1YWxs
eSBiaW5kcyB0byB0aGUgcHJlY2VkaW5nIHRva2VuCisgIGlmIChsaW5lcy5sZW5ndGgpIHsKKyAg
ICBjb25zdCBtYXRjaCA9IGxpbmVzW2xpbmVzLmxlbmd0aCAtIDFdLm1hdGNoKC9eXHMrLyk7Cisg
ICAgaWYgKG1hdGNoKSB7CisgICAgICByZXR1cm4gbWF0Y2hbMF07CisgICAgfQorICB9CisgIHJl
dHVybiAiIjsKK30KKworLyoqCisgKiBAcGFyYW0ge3N0cmluZ30gcGFyZW50VHJpdmlhCisgKi8K
K2Z1bmN0aW9uIGdldE1lbWJlckluZGVudGF0aW9uKHBhcmVudFRyaXZpYSkgeworICBjb25zdCBp
bmRlbnRhdGlvbiA9IGdldExhc3RJbmRlbnRhdGlvbihwYXJlbnRUcml2aWEpOworICBjb25zdCBp
bmRlbnRDaCA9IGluZGVudGF0aW9uLmluY2x1ZGVzKCJcdCIpID8gIlx0IiA6ICIgICI7CisgIHJl
dHVybiBpbmRlbnRhdGlvbiArIGluZGVudENoOworfQorCiAvKioKICAqIEBwYXJhbSB7b2JqZWN0
fSBkZWYKICAqIEBwYXJhbSB7aW1wb3J0KCIuL2V4dGVuZGVkLWF0dHJpYnV0ZXMuanMiKS5FeHRl
bmRlZEF0dHJpYnV0ZXN9IGRlZi5leHRBdHRycwpAQCAtODA2LDEyICs4MzUsMjggQEAgZnVuY3Rp
b24gYXV0b2ZpeEFkZEV4cG9zZWRXaW5kb3coZGVmKSB7CiAgICAgICBkZWYuZXh0QXR0cnMudW5z
aGlmdChleHBvc2VkKTsKICAgICB9IGVsc2UgewogICAgICAgZGVmLmV4dEF0dHJzID0gX2V4dGVu
ZGVkX2F0dHJpYnV0ZXNfanNfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzNfX1siRXh0ZW5kZWRB
dHRyaWJ1dGVzIl0ucGFyc2UobmV3IF90b2tlbmlzZXJfanNfX1dFQlBBQ0tfSU1QT1JURURfTU9E
VUxFXzZfX1siVG9rZW5pc2VyIl0oIltFeHBvc2VkPVdpbmRvd10iKSk7Ci0gICAgICBkZWYuZXh0
QXR0cnMudG9rZW5zLm9wZW4udHJpdmlhID0gZGVmLnRva2Vucy5iYXNlLnRyaXZpYTsKLSAgICAg
IGRlZi50b2tlbnMuYmFzZS50cml2aWEgPSAiICI7CisgICAgICBjb25zdCB0cml2aWEgPSBkZWYu
dG9rZW5zLmJhc2UudHJpdmlhOworICAgICAgZGVmLmV4dEF0dHJzLnRva2Vucy5vcGVuLnRyaXZp
YSA9IHRyaXZpYTsKKyAgICAgIGRlZi50b2tlbnMuYmFzZS50cml2aWEgPSBgXG4ke2dldExhc3RJ
bmRlbnRhdGlvbih0cml2aWEpfWA7CiAgICAgfQogICB9OwogfQogCisvKioKKyAqIEdldCB0aGUg
Zmlyc3Qgc3ludGF4IHRva2VuIGZvciB0aGUgZ2l2ZW4gSURMIG9iamVjdC4KKyAqIEBwYXJhbSB7
Kn0gZGF0YQorICovCitmdW5jdGlvbiBnZXRGaXJzdFRva2VuKGRhdGEpIHsKKyAgaWYgKGRhdGEu
ZXh0QXR0cnMubGVuZ3RoKSB7CisgICAgcmV0dXJuIGRhdGEuZXh0QXR0cnMudG9rZW5zLm9wZW47
CisgIH0KKyAgaWYgKGRhdGEudHlwZSA9PT0gIm9wZXJhdGlvbiIpIHsKKyAgICByZXR1cm4gZ2V0
Rmlyc3RUb2tlbihkYXRhLmlkbFR5cGUpOworICB9CisgIGNvbnN0IHRva2VucyA9IE9iamVjdC52
YWx1ZXMoZGF0YS50b2tlbnMpLnNvcnQoKHgsIHkpID0+IHguaW5kZXggLSB5LmluZGV4KTsKKyAg
cmV0dXJuIHRva2Vuc1swXTsKK30KKwogCiAvKioqLyB9KSwKIC8qIDUgKi8KQEAgLTk4OSw3ICsx
MDM0LDcgQEAgY2xhc3MgVHlwZSBleHRlbmRzIF9iYXNlX2pzX19XRUJQQUNLX0lNUE9SVEVEX01P
RFVMRV8wX19bIkJhc2UiXSB7CiAgICAgICBpZiAocmVmZXJlbmNlKSB7CiAgICAgICAgIGNvbnN0
IHRhcmdldFRva2VuID0gKHRoaXMudW5pb24gPyByZWZlcmVuY2UgOiB0aGlzKS50b2tlbnMuYmFz
ZTsKICAgICAgICAgY29uc3QgbWVzc2FnZSA9IGBOdWxsYWJsZSB1bmlvbiBjYW5ub3QgaW5jbHVk
ZSBhIGRpY3Rpb25hcnkgdHlwZWA7Ci0gICAgICAgIHlpZWxkIE9iamVjdChfZXJyb3JfanNfX1dF
QlBBQ0tfSU1QT1JURURfTU9EVUxFXzNfX1sidmFsaWRhdGlvbkVycm9yIl0pKHRoaXMuc291cmNl
LCB0YXJnZXRUb2tlbiwgdGhpcywgbWVzc2FnZSk7CisgICAgICAgIHlpZWxkIE9iamVjdChfZXJy
b3JfanNfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzNfX1sidmFsaWRhdGlvbkVycm9yIl0pKHRh
cmdldFRva2VuLCB0aGlzLCAibm8tbnVsbGFibGUtdW5pb24tZGljdCIsIG1lc3NhZ2UpOwogICAg
ICAgfQogICAgIH0gZWxzZSB7CiAgICAgICAvLyBhbGxvdyBzb21lIGRpY3Rpb25hcnkKQEAgLTEx
NDgsMTAgKzExOTMsMTAgQEAgY2xhc3MgQXJndW1lbnQgZXh0ZW5kcyBfYmFzZV9qc19fV0VCUEFD
S19JTVBPUlRFRF9NT0RVTEVfMF9fWyJCYXNlIl0gewogICAgIGlmIChPYmplY3QoX3ZhbGlkYXRv
cnNfaGVscGVyc19qc19fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNl9fWyJpZGxUeXBlSW5jbHVk
ZXNEaWN0aW9uYXJ5Il0pKHRoaXMuaWRsVHlwZSwgZGVmcywgeyB1c2VOdWxsYWJsZUlubmVyOiB0
cnVlIH0pKSB7CiAgICAgICBpZiAodGhpcy5pZGxUeXBlLm51bGxhYmxlKSB7CiAgICAgICAgIGNv
bnN0IG1lc3NhZ2UgPSBgRGljdGlvbmFyeSBhcmd1bWVudHMgY2Fubm90IGJlIG51bGxhYmxlLmA7
Ci0gICAgICAgIHlpZWxkIE9iamVjdChfZXJyb3JfanNfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxF
XzVfX1sidmFsaWRhdGlvbkVycm9yIl0pKHRoaXMuc291cmNlLCB0aGlzLnRva2Vucy5uYW1lLCB0
aGlzLCBtZXNzYWdlKTsKKyAgICAgICAgeWllbGQgT2JqZWN0KF9lcnJvcl9qc19fV0VCUEFDS19J
TVBPUlRFRF9NT0RVTEVfNV9fWyJ2YWxpZGF0aW9uRXJyb3IiXSkodGhpcy50b2tlbnMubmFtZSwg
dGhpcywgIm5vLW51bGxhYmxlLWRpY3QtYXJnIiwgbWVzc2FnZSk7CiAgICAgICB9IGVsc2UgaWYg
KHRoaXMub3B0aW9uYWwgJiYgIXRoaXMuZGVmYXVsdCkgewogICAgICAgICBjb25zdCBtZXNzYWdl
ID0gYE9wdGlvbmFsIGRpY3Rpb25hcnkgYXJndW1lbnRzIG11c3QgaGF2ZSBhIGRlZmF1bHQgdmFs
dWUgb2YgXGB7fVxgLmA7Ci0gICAgICAgIHlpZWxkIE9iamVjdChfZXJyb3JfanNfX1dFQlBBQ0tf
SU1QT1JURURfTU9EVUxFXzVfX1sidmFsaWRhdGlvbkVycm9yIl0pKHRoaXMuc291cmNlLCB0aGlz
LnRva2Vucy5uYW1lLCB0aGlzLCBtZXNzYWdlLCB7CisgICAgICAgIHlpZWxkIE9iamVjdChfZXJy
b3JfanNfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzVfX1sidmFsaWRhdGlvbkVycm9yIl0pKHRo
aXMudG9rZW5zLm5hbWUsIHRoaXMsICJkaWN0LWFyZy1kZWZhdWx0IiwgbWVzc2FnZSwgewogICAg
ICAgICAgIGF1dG9maXg6IGF1dG9maXhPcHRpb25hbERpY3Rpb25hcnlEZWZhdWx0VmFsdWUodGhp
cykKICAgICAgICAgfSk7CiAgICAgICB9CkBAIC0xMzE1LDcgKzEzNjAsNyBAQCBjbGFzcyBTaW1w
bGVFeHRlbmRlZEF0dHJpYnV0ZSBleHRlbmRzIF9iYXNlX2pzX19XRUJQQUNLX0lNUE9SVEVEX01P
RFVMRV8wX19bIkJhcwogdW5kZXNpcmFibGUgZmVhdHVyZSB0aGF0IG1heSBiZSByZW1vdmVkIGZy
b20gV2ViIElETCBpbiB0aGUgZnV0dXJlLiBSZWZlciB0byB0aGUgXAogW3JlbGV2YW50IHVwc3Ry
ZWFtIFBSXShodHRwczovL2dpdGh1Yi5jb20vaGV5Y2FtL3dlYmlkbC9wdWxsLzYwOSkgZm9yIG1v
cmUgXAogaW5mb3JtYXRpb24uYDsKLSAgICAgIHlpZWxkIE9iamVjdChfZXJyb3JfanNfX1dFQlBB
Q0tfSU1QT1JURURfTU9EVUxFXzNfX1sidmFsaWRhdGlvbkVycm9yIl0pKHRoaXMuc291cmNlLCB0
aGlzLnRva2Vucy5uYW1lLCB0aGlzLCBtZXNzYWdlLCB7IGxldmVsOiAid2FybmluZyIgfSk7Cisg
ICAgICB5aWVsZCBPYmplY3QoX2Vycm9yX2pzX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX19b
InZhbGlkYXRpb25FcnJvciJdKSh0aGlzLnRva2Vucy5uYW1lLCB0aGlzLCAibm8tbm9pbnRlcmZh
Y2VvYmplY3QiLCBtZXNzYWdlLCB7IGxldmVsOiAid2FybmluZyIgfSk7CiAgICAgfQogICAgIGZv
ciAoY29uc3QgYXJnIG9mIHRoaXMuYXJndW1lbnRzKSB7CiAgICAgICB5aWVsZCogYXJnLnZhbGlk
YXRlKGRlZnMpOwpAQCAtMTQ2NCw3ICsxNTA5LDcgQEAgY2xhc3MgT3BlcmF0aW9uIGV4dGVuZHMg
X2Jhc2VfanNfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX1siQmFzZSJdIHsKICAgKnZhbGlk
YXRlKGRlZnMpIHsKICAgICBpZiAoIXRoaXMubmFtZSAmJiBbIiIsICJzdGF0aWMiXS5pbmNsdWRl
cyh0aGlzLnNwZWNpYWwpKSB7CiAgICAgICBjb25zdCBtZXNzYWdlID0gYFJlZ3VsYXIgb3Igc3Rh
dGljIG9wZXJhdGlvbnMgbXVzdCBoYXZlIGJvdGggYSByZXR1cm4gdHlwZSBhbmQgYW4gaWRlbnRp
Zmllci5gOwotICAgICAgeWllbGQgT2JqZWN0KF9lcnJvcl9qc19fV0VCUEFDS19JTVBPUlRFRF9N
T0RVTEVfMl9fWyJ2YWxpZGF0aW9uRXJyb3IiXSkodGhpcy5zb3VyY2UsIHRoaXMudG9rZW5zLm9w
ZW4sIHRoaXMsIG1lc3NhZ2UpOworICAgICAgeWllbGQgT2JqZWN0KF9lcnJvcl9qc19fV0VCUEFD
S19JTVBPUlRFRF9NT0RVTEVfMl9fWyJ2YWxpZGF0aW9uRXJyb3IiXSkodGhpcy50b2tlbnMub3Bl
biwgdGhpcywgImluY29tcGxldGUtb3AiLCBtZXNzYWdlKTsKICAgICB9CiAgICAgaWYgKHRoaXMu
aWRsVHlwZSkgewogICAgICAgeWllbGQqIHRoaXMuaWRsVHlwZS52YWxpZGF0ZShkZWZzKTsKQEAg
LTE3NjAsNiArMTgwNSw4IEBAIF9fd2VicGFja19yZXF1aXJlX18ucihfX3dlYnBhY2tfZXhwb3J0
c19fKTsKIC8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfZXJyb3JfanNfX1dFQlBBQ0tfSU1QT1JU
RURfTU9EVUxFXzZfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMyk7CiAvKiBoYXJtb255IGltcG9y
dCAqLyB2YXIgX3ZhbGlkYXRvcnNfaW50ZXJmYWNlX2pzX19XRUJQQUNLX0lNUE9SVEVEX01PRFVM
RV83X18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDIzKTsKIC8qIGhhcm1vbnkgaW1wb3J0ICovIHZh
ciBfY29uc3RydWN0b3JfanNfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzhfXyA9IF9fd2VicGFj
a19yZXF1aXJlX18oMjQpOworLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF90b2tlbmlzZXJfanNf
X1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzlfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMik7CisK
IAogCiAKQEAgLTE4MTksMTAgKzE4NjYsMjAgQEAgVG8gZml4LCBhZGQsIGZvciBleGFtcGxlLCBc
YFtFeHBvc2VkPVdpbmRvd11cYC4gUGxlYXNlIGFsc28gY29uc2lkZXIgY2FyZWZ1bGx5IFwKIGlm
IHlvdXIgaW50ZXJmYWNlIHNob3VsZCBhbHNvIGJlIGV4cG9zZWQgaW4gYSBXb3JrZXIgc2NvcGUu
IFJlZmVyIHRvIHRoZSBcCiBbV2ViSURMIHNwZWMgc2VjdGlvbiBvbiBFeHBvc2VkXShodHRwczov
L2hleWNhbS5naXRodWIuaW8vd2ViaWRsLyNFeHBvc2VkKSBcCiBmb3IgbW9yZSBpbmZvcm1hdGlv
bi5gOwotICAgICAgeWllbGQgT2JqZWN0KF9lcnJvcl9qc19fV0VCUEFDS19JTVBPUlRFRF9NT0RV
TEVfNl9fWyJ2YWxpZGF0aW9uRXJyb3IiXSkodGhpcy5zb3VyY2UsIHRoaXMudG9rZW5zLm5hbWUs
IHRoaXMsIG1lc3NhZ2UsIHsKKyAgICAgIHlpZWxkIE9iamVjdChfZXJyb3JfanNfX1dFQlBBQ0tf
SU1QT1JURURfTU9EVUxFXzZfX1sidmFsaWRhdGlvbkVycm9yIl0pKHRoaXMudG9rZW5zLm5hbWUs
IHRoaXMsICJyZXF1aXJlLWV4cG9zZWQiLCBtZXNzYWdlLCB7CiAgICAgICAgIGF1dG9maXg6IE9i
amVjdChfaGVscGVyc19qc19fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNV9fWyJhdXRvZml4QWRk
RXhwb3NlZFdpbmRvdyJdKSh0aGlzKQogICAgICAgfSk7CiAgICAgfQorICAgIGNvbnN0IGNvbnN0
cnVjdG9ycyA9IHRoaXMuZXh0QXR0cnMuZmlsdGVyKGV4dEF0dHIgPT4gZXh0QXR0ci5uYW1lID09
PSAiQ29uc3RydWN0b3IiKTsKKyAgICBmb3IgKGNvbnN0IGNvbnN0cnVjdG9yIG9mIGNvbnN0cnVj
dG9ycykgeworICAgICAgY29uc3QgbWVzc2FnZSA9IGBDb25zdHJ1Y3RvcnMgc2hvdWxkIG5vdyBi
ZSByZXByZXNlbnRlZCBhcyBhIFxgY29uc3RydWN0b3IoKVxgIG9wZXJhdGlvbiBvbiB0aGUgaW50
ZXJmYWNlIFwKK2luc3RlYWQgb2YgXGBbQ29uc3RydWN0b3JdXGAgZXh0ZW5kZWQgYXR0cmlidXRl
LiBSZWZlciB0byB0aGUgXAorW1dlYklETCBzcGVjIHNlY3Rpb24gb24gY29uc3RydWN0b3Igb3Bl
cmF0aW9uc10oaHR0cHM6Ly9oZXljYW0uZ2l0aHViLmlvL3dlYmlkbC8jaWRsLWNvbnN0cnVjdG9y
cykgXAorZm9yIG1vcmUgaW5mb3JtYXRpb24uYDsKKyAgICAgIHlpZWxkIE9iamVjdChfZXJyb3Jf
anNfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzZfX1sidmFsaWRhdGlvbkVycm9yIl0pKGNvbnN0
cnVjdG9yLnRva2Vucy5uYW1lLCB0aGlzLCAiY29uc3RydWN0b3ItbWVtYmVyIiwgbWVzc2FnZSwg
eworICAgICAgICBhdXRvZml4OiBhdXRvZml4Q29uc3RydWN0b3IodGhpcywgY29uc3RydWN0b3Ip
CisgICAgICB9KTsKKyAgICB9CiAKICAgICB5aWVsZCogc3VwZXIudmFsaWRhdGUoZGVmcyk7CiAg
ICAgaWYgKCF0aGlzLnBhcnRpYWwpIHsKQEAgLTE4MzEsNiArMTg4OCwzNyBAQCBmb3IgbW9yZSBp
bmZvcm1hdGlvbi5gOwogICB9CiB9CiAKK2Z1bmN0aW9uIGF1dG9maXhDb25zdHJ1Y3RvcihpbnRl
cmZhY2VEZWYsIGNvbnN0cnVjdG9yRXh0QXR0cikgeworICByZXR1cm4gKCkgPT4geworICAgIGNv
bnN0IGluZGVudGF0aW9uID0gT2JqZWN0KF9oZWxwZXJzX2pzX19XRUJQQUNLX0lNUE9SVEVEX01P
RFVMRV81X19bImdldExhc3RJbmRlbnRhdGlvbiJdKShpbnRlcmZhY2VEZWYuZXh0QXR0cnMudG9r
ZW5zLm9wZW4udHJpdmlhKTsKKyAgICBjb25zdCBtZW1iZXJJbmRlbnQgPSBpbnRlcmZhY2VEZWYu
bWVtYmVycy5sZW5ndGggPworICAgICAgT2JqZWN0KF9oZWxwZXJzX2pzX19XRUJQQUNLX0lNUE9S
VEVEX01PRFVMRV81X19bImdldExhc3RJbmRlbnRhdGlvbiJdKShPYmplY3QoX2hlbHBlcnNfanNf
X1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzVfX1siZ2V0Rmlyc3RUb2tlbiJdKShpbnRlcmZhY2VE
ZWYubWVtYmVyc1swXSkudHJpdmlhKSA6CisgICAgICBPYmplY3QoX2hlbHBlcnNfanNfX1dFQlBB
Q0tfSU1QT1JURURfTU9EVUxFXzVfX1siZ2V0TWVtYmVySW5kZW50YXRpb24iXSkoaW5kZW50YXRp
b24pOworICAgIGNvbnN0IGNvbnN0cnVjdG9yT3AgPSBfY29uc3RydWN0b3JfanNfX1dFQlBBQ0tf
SU1QT1JURURfTU9EVUxFXzhfX1siQ29uc3RydWN0b3IiXS5wYXJzZShuZXcgX3Rva2VuaXNlcl9q
c19fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfOV9fWyJUb2tlbmlzZXIiXShgXG4ke21lbWJlcklu
ZGVudH1jb25zdHJ1Y3RvcigpO2ApKTsKKyAgICBjb25zdHJ1Y3Rvck9wLmV4dEF0dHJzID0gW107
CisgICAgY29uc3RydWN0b3JPcC5hcmd1bWVudHMgPSBjb25zdHJ1Y3RvckV4dEF0dHIuYXJndW1l
bnRzOworCisgICAgY29uc3QgZXhpc3RpbmdJbmRleCA9IGludGVyZmFjZURlZi5tZW1iZXJzLmZp
bmRJbmRleChtID0+IG0udHlwZSA9PT0gImNvbnN0cnVjdG9yIik7CisgICAgaW50ZXJmYWNlRGVm
Lm1lbWJlcnMuc3BsaWNlKGV4aXN0aW5nSW5kZXggKyAxLCAwLCBjb25zdHJ1Y3Rvck9wKTsKKwor
ICAgIGNvbnN0IHsgY2xvc2UgfSAgPSBpbnRlcmZhY2VEZWYudG9rZW5zOworICAgIGlmICghY2xv
c2UudHJpdmlhLmluY2x1ZGVzKCJcbiIpKSB7CisgICAgICBjbG9zZS50cml2aWEgKz0gYFxuJHtp
bmRlbnRhdGlvbn1gOworICAgIH0KKworICAgIGNvbnN0IHsgZXh0QXR0cnMgfSA9IGludGVyZmFj
ZURlZjsKKyAgICBjb25zdCBpbmRleCA9IGV4dEF0dHJzLmluZGV4T2YoY29uc3RydWN0b3JFeHRB
dHRyKTsKKyAgICBjb25zdCByZW1vdmVkID0gZXh0QXR0cnMuc3BsaWNlKGluZGV4LCAxKTsKKyAg
ICBpZiAoIWV4dEF0dHJzLmxlbmd0aCkgeworICAgICAgZXh0QXR0cnMudG9rZW5zLm9wZW4gPSBl
eHRBdHRycy50b2tlbnMuY2xvc2UgPSB1bmRlZmluZWQ7CisgICAgfSBlbHNlIGlmIChleHRBdHRy
cy5sZW5ndGggPT09IGluZGV4KSB7CisgICAgICBleHRBdHRyc1tpbmRleCAtIDFdLnRva2Vucy5z
ZXBhcmF0b3IgPSB1bmRlZmluZWQ7CisgICAgfSBlbHNlIGlmICghZXh0QXR0cnNbaW5kZXhdLnRv
a2Vucy5uYW1lLnRyaXZpYS50cmltKCkpIHsKKyAgICAgIGV4dEF0dHJzW2luZGV4XS50b2tlbnMu
bmFtZS50cml2aWEgPSByZW1vdmVkWzBdLnRva2Vucy5uYW1lLnRyaXZpYTsKKyAgICB9CisgIH07
Cit9CisKIAogLyoqKi8gfSksCiAvKiAyMCAqLwpAQCAtMjA2Niw3ICsyMTU0LDcgQEAgZnVuY3Rp
b24qIGNoZWNrSW50ZXJmYWNlTWVtYmVyRHVwbGljYXRpb24oZGVmcywgaSkgewogICAgICAgY29u
c3QgeyBuYW1lIH0gPSBhZGRpdGlvbjsKICAgICAgIGlmIChuYW1lICYmIGV4aXN0aW5ncy5oYXMo
bmFtZSkpIHsKICAgICAgICAgY29uc3QgbWVzc2FnZSA9IGBUaGUgb3BlcmF0aW9uICIke25hbWV9
IiBoYXMgYWxyZWFkeSBiZWVuIGRlZmluZWQgZm9yIHRoZSBiYXNlIGludGVyZmFjZSAiJHtiYXNl
Lm5hbWV9IiBlaXRoZXIgaW4gaXRzZWxmIG9yIGluIGEgbWl4aW5gOwotICAgICAgICB5aWVsZCBP
YmplY3QoX2Vycm9yX2pzX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19bInZhbGlkYXRpb25F
cnJvciJdKShleHQuc291cmNlLCBhZGRpdGlvbi50b2tlbnMubmFtZSwgZXh0LCBtZXNzYWdlKTsK
KyAgICAgICAgeWllbGQgT2JqZWN0KF9lcnJvcl9qc19fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVf
MF9fWyJ2YWxpZGF0aW9uRXJyb3IiXSkoYWRkaXRpb24udG9rZW5zLm5hbWUsIGV4dCwgIm5vLWNy
b3NzLW92ZXJsb2FkIiwgbWVzc2FnZSk7CiAgICAgICB9CiAgICAgfQogICB9CkBAIC0yMTEyLDYg
KzIyMDAsMTUgQEAgY2xhc3MgQ29uc3RydWN0b3IgZXh0ZW5kcyBfYmFzZV9qc19fV0VCUEFDS19J
TVBPUlRFRF9NT0RVTEVfMF9fWyJCYXNlIl0gewogICBnZXQgdHlwZSgpIHsKICAgICByZXR1cm4g
ImNvbnN0cnVjdG9yIjsKICAgfQorCisgICp2YWxpZGF0ZShkZWZzKSB7CisgICAgaWYgKHRoaXMu
aWRsVHlwZSkgeworICAgICAgeWllbGQqIHRoaXMuaWRsVHlwZS52YWxpZGF0ZShkZWZzKTsKKyAg
ICB9CisgICAgZm9yIChjb25zdCBhcmd1bWVudCBvZiB0aGlzLmFyZ3VtZW50cykgeworICAgICAg
eWllbGQqIGFyZ3VtZW50LnZhbGlkYXRlKGRlZnMpOworICAgIH0KKyAgfQogfQogCiAKQEAgLTIy
OTQsNyArMjM5MSw3IEBAIFRvIGZpeCwgYWRkLCBmb3IgZXhhbXBsZSwgW0V4cG9zZWQ9V2luZG93
XS4gUGxlYXNlIGFsc28gY29uc2lkZXIgY2FyZWZ1bGx5IFwKIGlmIHlvdXIgbmFtZXNwYWNlIHNo
b3VsZCBhbHNvIGJlIGV4cG9zZWQgaW4gYSBXb3JrZXIgc2NvcGUuIFJlZmVyIHRvIHRoZSBcCiBb
V2ViSURMIHNwZWMgc2VjdGlvbiBvbiBFeHBvc2VkXShodHRwczovL2hleWNhbS5naXRodWIuaW8v
d2ViaWRsLyNFeHBvc2VkKSBcCiBmb3IgbW9yZSBpbmZvcm1hdGlvbi5gOwotICAgICAgeWllbGQg
T2JqZWN0KF9lcnJvcl9qc19fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfM19fWyJ2YWxpZGF0aW9u
RXJyb3IiXSkodGhpcy5zb3VyY2UsIHRoaXMudG9rZW5zLm5hbWUsIHRoaXMsIG1lc3NhZ2UsIHsK
KyAgICAgIHlpZWxkIE9iamVjdChfZXJyb3JfanNfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzNf
X1sidmFsaWRhdGlvbkVycm9yIl0pKHRoaXMudG9rZW5zLm5hbWUsIHRoaXMsICJyZXF1aXJlLWV4
cG9zZWQiLCBtZXNzYWdlLCB7CiAgICAgICAgIGF1dG9maXg6IE9iamVjdChfaGVscGVyc19qc19f
V0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNF9fWyJhdXRvZml4QWRkRXhwb3NlZFdpbmRvdyJdKSh0
aGlzKQogICAgICAgfSk7CiAgICAgfQpAQCAtMjY1MCw3ICsyNzQ3LDYgQEAgZnVuY3Rpb24gd3Jp
dGUoYXN0LCB7IHRlbXBsYXRlczogdHMgPSB0ZW1wbGF0ZXMgfSA9IHt9KSB7CiAgICAgZW51bTog
ZW51bV8sCiAgICAgImVudW0tdmFsdWUiOiBlbnVtX3ZhbHVlLAogICAgIGl0ZXJhYmxlOiBpdGVy
YWJsZV9saWtlLAotICAgIGxlZ2FjeWl0ZXJhYmxlOiBpdGVyYWJsZV9saWtlLAogICAgIG1hcGxp
a2U6IGl0ZXJhYmxlX2xpa2UsCiAgICAgc2V0bGlrZTogaXRlcmFibGVfbGlrZSwKICAgICAiY2Fs
bGJhY2sgaW50ZXJmYWNlIjogY29udGFpbmVyLApAQCAtMjc0MSw3ICsyODM3LDcgQEAgZnVuY3Rp
b24qIGNoZWNrRHVwbGljYXRlZE5hbWVzKHsgdW5pcXVlLCBkdXBsaWNhdGVzIH0pIHsKICAgZm9y
IChjb25zdCBkdXAgb2YgZHVwbGljYXRlcykgewogICAgIGNvbnN0IHsgbmFtZSB9ID0gZHVwOwog
ICAgIGNvbnN0IG1lc3NhZ2UgPSBgVGhlIG5hbWUgIiR7bmFtZX0iIG9mIHR5cGUgIiR7dW5pcXVl
LmdldChuYW1lKS50eXBlfSIgd2FzIGFscmVhZHkgc2VlbmA7Ci0gICAgeWllbGQgT2JqZWN0KF9l
cnJvcl9qc19fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fWyJ2YWxpZGF0aW9uRXJyb3IiXSko
ZHVwLnNvdXJjZSwgZHVwLnRva2Vucy5uYW1lLCBkdXAsIG1lc3NhZ2UpOworICAgIHlpZWxkIE9i
amVjdChfZXJyb3JfanNfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX1sidmFsaWRhdGlvbkVy
cm9yIl0pKGR1cC50b2tlbnMubmFtZSwgZHVwLCAibm8tZHVwbGljYXRlIiwgbWVzc2FnZSk7CiAg
IH0KIH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi9saWIvd3JpdGVyLmpzIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi9saWIvd3JpdGVy
LmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiMzA5N2E2ZjhhNzRlNGNkZWFmNzFm
Njg4ZWNlMjA0MjNjMjM4YTBkLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvbGliL3dyaXRlci5qcworKysgL2Rldi9udWxsCkBAIC0xLDIyMSArMCww
IEBACi0idXNlIHN0cmljdCI7Ci0KLSgoKSA9PiB7Ci0gIGZ1bmN0aW9uIHdyaXRlKGFzdCwgb3B0
ID0ge30pIHsKLSAgICBjb25zdCBub29wID0gc3RyID0+IHN0cjsKLSAgICBjb25zdCBvcHROYW1l
cyA9ICJ0eXBlIi5zcGxpdCgiICIpOwotICAgIGNvbnN0IGNvbnRleHQgPSBbXTsKLSAgICBmb3Ig
KGNvbnN0IG8gb2Ygb3B0TmFtZXMpIHsKLSAgICAgIGlmICghb3B0W29dKSBvcHRbb10gPSBub29w
OwotICAgIH0KLQotICAgIGZ1bmN0aW9uIGxpdGVyYWwoaXQpIHsKLSAgICAgIHJldHVybiBpdC52
YWx1ZTsKLSAgICB9OwotICAgIGZ1bmN0aW9uIHR5cGUoaXQpIHsKLSAgICAgIGlmICh0eXBlb2Yg
aXQgPT09ICJzdHJpbmciKSByZXR1cm4gb3B0LnR5cGUoaXQpOyAvLyBYWFggc2hvdWxkIG1haW50
YWluIHNvbWUgY29udGV4dAotICAgICAgbGV0IHJldCA9IGV4dGVuZGVkX2F0dHJpYnV0ZXMoaXQu
ZXh0QXR0cnMpOwotICAgICAgaWYgKGl0LnVuaW9uKSByZXQgKz0gYCgke2l0LmlkbFR5cGUubWFw
KHR5cGUpLmpvaW4oIiBvciAiKX0pYDsKLSAgICAgIGVsc2UgewotICAgICAgICBpZiAoaXQuZ2Vu
ZXJpYykgcmV0ICs9IGAke2l0LmdlbmVyaWN9PGA7Ci0gICAgICAgIGlmIChBcnJheS5pc0FycmF5
KGl0LmlkbFR5cGUpKSByZXQgKz0gaXQuaWRsVHlwZS5tYXAodHlwZSkuam9pbigiLCAiKTsKLSAg
ICAgICAgZWxzZSByZXQgKz0gdHlwZShpdC5pZGxUeXBlKTsKLSAgICAgICAgaWYgKGl0LmdlbmVy
aWMpIHJldCArPSAiPiI7Ci0gICAgICB9Ci0gICAgICBpZiAoaXQubnVsbGFibGUpIHJldCArPSAi
PyI7Ci0KLSAgICAgIHJldHVybiByZXQ7Ci0gICAgfTsKLSAgICBmdW5jdGlvbiBjb25zdF92YWx1
ZShpdCkgewotICAgICAgY29uc3QgdHAgPSBpdC50eXBlOwotICAgICAgaWYgKHRwID09PSAiYm9v
bGVhbiIpIHJldHVybiBpdC52YWx1ZSA/ICJ0cnVlIiA6ICJmYWxzZSI7Ci0gICAgICBlbHNlIGlm
ICh0cCA9PT0gIm51bGwiKSByZXR1cm4gIm51bGwiOwotICAgICAgZWxzZSBpZiAodHAgPT09ICJJ
bmZpbml0eSIpIHJldHVybiAoaXQubmVnYXRpdmUgPyAiLSIgOiAiIikgKyAiSW5maW5pdHkiOwot
ICAgICAgZWxzZSBpZiAodHAgPT09ICJOYU4iKSByZXR1cm4gIk5hTiI7Ci0gICAgICBlbHNlIGlm
ICh0cCA9PT0gIm51bWJlciIpIHJldHVybiBpdC52YWx1ZTsKLSAgICAgIGVsc2UgaWYgKHRwID09
PSAic2VxdWVuY2UiKSByZXR1cm4gIltdIjsKLSAgICAgIGVsc2UgcmV0dXJuIGAiJHtpdC52YWx1
ZX0iYDsKLSAgICB9OwotICAgIGZ1bmN0aW9uIGFyZ3VtZW50KGFyZykgewotICAgICAgbGV0IHJl
dCA9IGV4dGVuZGVkX2F0dHJpYnV0ZXMoYXJnLmV4dEF0dHJzKTsKLSAgICAgIGlmIChhcmcub3B0
aW9uYWwpIHJldCArPSAib3B0aW9uYWwgIjsKLSAgICAgIHJldCArPSB0eXBlKGFyZy5pZGxUeXBl
KTsKLSAgICAgIGlmIChhcmcudmFyaWFkaWMpIHJldCArPSAiLi4uIjsKLSAgICAgIHJldCArPSBg
ICR7YXJnLmVzY2FwZWROYW1lfWA7Ci0gICAgICBpZiAoYXJnLmRlZmF1bHQpIHJldCArPSBgID0g
JHtjb25zdF92YWx1ZShhcmcuZGVmYXVsdCl9YDsKLSAgICAgIHJldHVybiByZXQ7Ci0gICAgfTsK
LSAgICBmdW5jdGlvbiBtYWtlX2V4dF9hdChpdCkgewotICAgICAgY29udGV4dC51bnNoaWZ0KGl0
KTsKLSAgICAgIGxldCByZXQgPSBpdC5uYW1lOwotICAgICAgaWYgKGl0LnJocykgewotICAgICAg
ICBpZiAoaXQucmhzLnR5cGUgPT09ICJpZGVudGlmaWVyLWxpc3QiKSByZXQgKz0gYD0oJHtpdC5y
aHMudmFsdWUuam9pbigiLCIpfSlgOwotICAgICAgICBlbHNlIHJldCArPSBgPSR7aXQucmhzLnZh
bHVlfWA7Ci0gICAgICB9Ci0gICAgICBpZiAoaXQuYXJndW1lbnRzKSByZXQgKz0gYCgke2l0LmFy
Z3VtZW50cy5sZW5ndGggPyBpdC5hcmd1bWVudHMubWFwKGFyZ3VtZW50KS5qb2luKCIsIikgOiAi
In0pYDsKLSAgICAgIGNvbnRleHQuc2hpZnQoKTsgLy8gWFhYIG5lZWQgdG8gYWRkIG1vcmUgY29u
dGV4dHMsIGJ1dCBub3QgbW9yZSB0aGFuIG5lZWRlZCBmb3IgUmVTcGVjCi0gICAgICByZXR1cm4g
cmV0OwotICAgIH07Ci0gICAgZnVuY3Rpb24gZXh0ZW5kZWRfYXR0cmlidXRlcyhlYXRzKSB7Ci0g
ICAgICBpZiAoIWVhdHMgfHwgIWVhdHMubGVuZ3RoKSByZXR1cm4gIiI7Ci0gICAgICByZXR1cm4g
YFske2VhdHMubWFwKG1ha2VfZXh0X2F0KS5qb2luKCIsICIpfV1gOwotICAgIH07Ci0KLSAgICBj
b25zdCBtb2RpZmllcnMgPSAiZ2V0dGVyIHNldHRlciBkZWxldGVyIHN0cmluZ2lmaWVyIHN0YXRp
YyIuc3BsaXQoIiAiKTsKLSAgICBmdW5jdGlvbiBvcGVyYXRpb24oaXQpIHsKLSAgICAgIGxldCBy
ZXQgPSBleHRlbmRlZF9hdHRyaWJ1dGVzKGl0LmV4dEF0dHJzKTsKLSAgICAgIGlmIChpdC5zdHJp
bmdpZmllciAmJiAhaXQuaWRsVHlwZSkgcmV0dXJuICJzdHJpbmdpZmllcjsiOwotICAgICAgZm9y
IChjb25zdCBtb2Qgb2YgbW9kaWZpZXJzKSB7Ci0gICAgICAgIGlmIChpdFttb2RdKSByZXQgKz0g
bW9kICsgIiAiOwotICAgICAgfQotICAgICAgcmV0ICs9IHR5cGUoaXQuaWRsVHlwZSkgKyAiICI7
Ci0gICAgICBpZiAoaXQubmFtZSkgcmV0ICs9IGl0LmVzY2FwZWROYW1lOwotICAgICAgcmV0ICs9
IGAoJHtpdC5hcmd1bWVudHMubWFwKGFyZ3VtZW50KS5qb2luKCIsIil9KTtgOwotICAgICAgcmV0
dXJuIHJldDsKLSAgICB9OwotCi0gICAgZnVuY3Rpb24gYXR0cmlidXRlKGl0KSB7Ci0gICAgICBs
ZXQgcmV0ID0gZXh0ZW5kZWRfYXR0cmlidXRlcyhpdC5leHRBdHRycyk7Ci0gICAgICBpZiAoaXQu
c3RhdGljKSByZXQgKz0gInN0YXRpYyAiOwotICAgICAgaWYgKGl0LnN0cmluZ2lmaWVyKSByZXQg
Kz0gInN0cmluZ2lmaWVyICI7Ci0gICAgICBpZiAoaXQuaW5oZXJpdCkgcmV0ICs9ICJpbmhlcml0
ICI7Ci0gICAgICBpZiAoaXQucmVhZG9ubHkpIHJldCArPSAicmVhZG9ubHkgIjsKLSAgICAgIHJl
dCArPSBgYXR0cmlidXRlICR7dHlwZShpdC5pZGxUeXBlKX0gJHtpdC5lc2NhcGVkTmFtZX07YDsK
LSAgICAgIHJldHVybiByZXQ7Ci0gICAgfTsKLQotICAgIGZ1bmN0aW9uIGludGVyZmFjZV8oaXQp
IHsKLSAgICAgIGxldCByZXQgPSBleHRlbmRlZF9hdHRyaWJ1dGVzKGl0LmV4dEF0dHJzKTsKLSAg
ICAgIGlmIChpdC5wYXJ0aWFsKSByZXQgKz0gInBhcnRpYWwgIjsKLSAgICAgIHJldCArPSBgaW50
ZXJmYWNlICR7aXQubmFtZX0gYDsKLSAgICAgIGlmIChpdC5pbmhlcml0YW5jZSkgcmV0ICs9IGA6
ICR7aXQuaW5oZXJpdGFuY2V9IGA7Ci0gICAgICByZXQgKz0gYHske2l0ZXJhdGUoaXQubWVtYmVy
cyl9fTtgOwotICAgICAgcmV0dXJuIHJldDsKLSAgICB9OwotCi0gICAgZnVuY3Rpb24gaW50ZXJm
YWNlX21peGluKGl0KSB7Ci0gICAgICBsZXQgcmV0ID0gZXh0ZW5kZWRfYXR0cmlidXRlcyhpdC5l
eHRBdHRycyk7Ci0gICAgICBpZiAoaXQucGFydGlhbCkgcmV0ICs9ICJwYXJ0aWFsICI7Ci0gICAg
ICByZXQgKz0gYGludGVyZmFjZSBtaXhpbiAke2l0Lm5hbWV9IGA7Ci0gICAgICByZXQgKz0gYHsk
e2l0ZXJhdGUoaXQubWVtYmVycyl9fTtgOwotICAgICAgcmV0dXJuIHJldDsKLSAgICB9Ci0KLSAg
ICBmdW5jdGlvbiBuYW1lc3BhY2UoaXQpIHsKLSAgICAgIGxldCByZXQgPSBleHRlbmRlZF9hdHRy
aWJ1dGVzKGl0LmV4dEF0dHJzKTsKLSAgICAgIGlmIChpdC5wYXJ0aWFsKSByZXQgKz0gInBhcnRp
YWwgIjsKLSAgICAgIHJldCArPSBgbmFtZXNwYWNlICR7aXQubmFtZX0gYDsKLSAgICAgIHJldCAr
PSBgeyR7aXRlcmF0ZShpdC5tZW1iZXJzKX19O2A7Ci0gICAgICByZXR1cm4gcmV0OwotICAgIH0K
LQotICAgIGZ1bmN0aW9uIGRpY3Rpb25hcnkoaXQpIHsKLSAgICAgIGxldCByZXQgPSBleHRlbmRl
ZF9hdHRyaWJ1dGVzKGl0LmV4dEF0dHJzKTsKLSAgICAgIGlmIChpdC5wYXJ0aWFsKSByZXQgKz0g
InBhcnRpYWwgIjsKLSAgICAgIHJldCArPSBgZGljdGlvbmFyeSAke2l0Lm5hbWV9IGA7Ci0gICAg
ICBpZiAoaXQuaW5oZXJpdGFuY2UpIHJldCArPSBgOiAke2l0LmluaGVyaXRhbmNlfSBgOwotICAg
ICAgcmV0ICs9IGB7JHtpdGVyYXRlKGl0Lm1lbWJlcnMpfX07YDsKLSAgICAgIHJldHVybiByZXQ7
Ci0gICAgfTsKLSAgICBmdW5jdGlvbiBmaWVsZChpdCkgewotICAgICAgbGV0IHJldCA9IGV4dGVu
ZGVkX2F0dHJpYnV0ZXMoaXQuZXh0QXR0cnMpOwotICAgICAgaWYgKGl0LnJlcXVpcmVkKSByZXQg
Kz0gInJlcXVpcmVkICI7Ci0gICAgICByZXQgKz0gYCR7dHlwZShpdC5pZGxUeXBlKX0gJHtpdC5l
c2NhcGVkTmFtZX1gOwotICAgICAgaWYgKGl0LmRlZmF1bHQpIHJldCArPSBgID0gJHtjb25zdF92
YWx1ZShpdC5kZWZhdWx0KX1gOwotICAgICAgcmV0ICs9ICI7IjsKLSAgICAgIHJldHVybiByZXQ7
Ci0gICAgfTsKLSAgICBmdW5jdGlvbiBjb25zdF8oaXQpIHsKLSAgICAgIGNvbnN0IHJldCA9IGV4
dGVuZGVkX2F0dHJpYnV0ZXMoaXQuZXh0QXR0cnMpOwotICAgICAgcmV0dXJuIGAke3JldH1jb25z
dCAke3R5cGUoaXQuaWRsVHlwZSl9JHtpdC5udWxsYWJsZSA/ICI/IiA6ICIifSAke2l0Lm5hbWV9
ID0gJHtjb25zdF92YWx1ZShpdC52YWx1ZSl9O2A7Ci0gICAgfTsKLSAgICBmdW5jdGlvbiB0eXBl
ZGVmKGl0KSB7Ci0gICAgICBsZXQgcmV0ID0gZXh0ZW5kZWRfYXR0cmlidXRlcyhpdC5leHRBdHRy
cyk7Ci0gICAgICByZXQgKz0gYHR5cGVkZWYgJHtleHRlbmRlZF9hdHRyaWJ1dGVzKGl0LnR5cGVF
eHRBdHRycyl9YDsKLSAgICAgIHJldHVybiBgJHtyZXR9JHt0eXBlKGl0LmlkbFR5cGUpfSAke2l0
Lm5hbWV9O2A7Ci0gICAgfTsKLSAgICBmdW5jdGlvbiBpbXBsZW1lbnRzXyhpdCkgewotICAgICAg
Y29uc3QgcmV0ID0gZXh0ZW5kZWRfYXR0cmlidXRlcyhpdC5leHRBdHRycyk7Ci0gICAgICByZXR1
cm4gYCR7cmV0fSR7aXQudGFyZ2V0fSBpbXBsZW1lbnRzICR7aXQuaW1wbGVtZW50c307YDsKLSAg
ICB9OwotICAgIGZ1bmN0aW9uIGluY2x1ZGVzKGl0KSB7Ci0gICAgICBjb25zdCByZXQgPSBleHRl
bmRlZF9hdHRyaWJ1dGVzKGl0LmV4dEF0dHJzKTsKLSAgICAgIHJldHVybiBgJHtyZXR9JHtpdC50
YXJnZXR9IGluY2x1ZGVzICR7aXQuaW5jbHVkZXN9O2A7Ci0gICAgfTsKLSAgICBmdW5jdGlvbiBj
YWxsYmFjayhpdCkgewotICAgICAgY29uc3QgcmV0ID0gZXh0ZW5kZWRfYXR0cmlidXRlcyhpdC5l
eHRBdHRycyk7Ci0gICAgICByZXR1cm4gYCR7cmV0fWNhbGxiYWNrICR7aXQubmFtZX0gPSAke3R5
cGUoaXQuaWRsVHlwZSl9KCR7aXQuYXJndW1lbnRzLm1hcChhcmd1bWVudCkuam9pbigiLCIpfSk7
YDsKLSAgICB9OwotICAgIGZ1bmN0aW9uIGVudW1fKGl0KSB7Ci0gICAgICBsZXQgcmV0ID0gZXh0
ZW5kZWRfYXR0cmlidXRlcyhpdC5leHRBdHRycyk7Ci0gICAgICByZXQgKz0gYGVudW0gJHtpdC5u
YW1lfSB7YDsKLSAgICAgIGZvciAoY29uc3QgdiBvZiBpdC52YWx1ZXMpIHsKLSAgICAgICAgcmV0
ICs9IGAiJHt2LnZhbHVlfSIsYDsKLSAgICAgIH0KLSAgICAgIHJldHVybiByZXQgKyAifTsiOwot
ICAgIH07Ci0gICAgZnVuY3Rpb24gaXRlcmFibGUoaXQpIHsKLSAgICAgIHJldHVybiBgaXRlcmFi
bGU8JHtBcnJheS5pc0FycmF5KGl0LmlkbFR5cGUpID8gaXQuaWRsVHlwZS5tYXAodHlwZSkuam9p
bigiLCAiKSA6IHR5cGUoaXQuaWRsVHlwZSl9PjtgOwotICAgIH07Ci0gICAgZnVuY3Rpb24gbGVn
YWN5aXRlcmFibGUoaXQpIHsKLSAgICAgIHJldHVybiBgbGVnYWN5aXRlcmFibGU8JHtBcnJheS5p
c0FycmF5KGl0LmlkbFR5cGUpID8gaXQuaWRsVHlwZS5tYXAodHlwZSkuam9pbigiLCAiKSA6IHR5
cGUoaXQuaWRsVHlwZSl9PjtgOwotICAgIH07Ci0gICAgZnVuY3Rpb24gbWFwbGlrZShpdCkgewot
ICAgICAgcmV0dXJuIGAke2l0LnJlYWRvbmx5ID8gInJlYWRvbmx5ICIgOiAiIn1tYXBsaWtlPCR7
aXQuaWRsVHlwZS5tYXAodHlwZSkuam9pbigiLCAiKX0+O2A7Ci0gICAgfTsKLSAgICBmdW5jdGlv
biBzZXRsaWtlKGl0KSB7Ci0gICAgICByZXR1cm4gYCR7aXQucmVhZG9ubHkgPyAicmVhZG9ubHkg
IiA6ICIifXNldGxpa2U8JHt0eXBlKGl0LmlkbFR5cGVbMF0pfT47YDsKLSAgICB9OwotICAgIGZ1
bmN0aW9uIGNhbGxiYWNrSW50ZXJmYWNlKGl0KSB7Ci0gICAgICByZXR1cm4gYGNhbGxiYWNrICR7
aW50ZXJmYWNlXyhpdCl9YDsKLSAgICB9OwotCi0gICAgY29uc3QgdGFibGUgPSB7Ci0gICAgICBp
bnRlcmZhY2U6IGludGVyZmFjZV8sCi0gICAgICAiaW50ZXJmYWNlIG1peGluIjogaW50ZXJmYWNl
X21peGluLAotICAgICAgbmFtZXNwYWNlLAotICAgICAgb3BlcmF0aW9uLAotICAgICAgYXR0cmli
dXRlLAotICAgICAgZGljdGlvbmFyeSwKLSAgICAgIGZpZWxkLAotICAgICAgY29uc3Q6IGNvbnN0
XywKLSAgICAgIHR5cGVkZWYsCi0gICAgICBpbXBsZW1lbnRzOiBpbXBsZW1lbnRzXywKLSAgICAg
IGluY2x1ZGVzLAotICAgICAgY2FsbGJhY2ssCi0gICAgICBlbnVtOiBlbnVtXywKLSAgICAgIGl0
ZXJhYmxlLAotICAgICAgbGVnYWN5aXRlcmFibGUsCi0gICAgICBtYXBsaWtlLAotICAgICAgc2V0
bGlrZSwKLSAgICAgICJjYWxsYmFjayBpbnRlcmZhY2UiOiBjYWxsYmFja0ludGVyZmFjZQotICAg
IH07Ci0gICAgZnVuY3Rpb24gZGlzcGF0Y2goaXQpIHsKLSAgICAgIGNvbnN0IGRpc3BhdGNoZXIg
PSB0YWJsZVtpdC50eXBlXTsKLSAgICAgIGlmICghZGlzcGF0Y2hlcikgewotICAgICAgICB0aHJv
dyBuZXcgRXJyb3IoYFR5cGUgIiR7aXQudHlwZX0iIGlzIHVuc3VwcG9ydGVkYCkKLSAgICAgIH0K
LSAgICAgIHJldHVybiB0YWJsZVtpdC50eXBlXShpdCk7Ci0gICAgfTsKLSAgICBmdW5jdGlvbiBp
dGVyYXRlKHRoaW5ncykgewotICAgICAgaWYgKCF0aGluZ3MpIHJldHVybjsKLSAgICAgIGxldCBy
ZXQgPSAiIjsKLSAgICAgIGZvciAoY29uc3QgdGhpbmcgb2YgdGhpbmdzKSByZXQgKz0gZGlzcGF0
Y2godGhpbmcpOwotICAgICAgcmV0dXJuIHJldDsKLSAgICB9OwotICAgIHJldHVybiBpdGVyYXRl
KGFzdCk7Ci0gIH07Ci0KLQotICBjb25zdCBvYmogPSB7Ci0gICAgd3JpdGUKLSAgfTsKLQotICBp
ZiAodHlwZW9mIG1vZHVsZSAhPT0gJ3VuZGVmaW5lZCcgJiYgdHlwZW9mIG1vZHVsZS5leHBvcnRz
ICE9PSAndW5kZWZpbmVkJykgewotICAgIG1vZHVsZS5leHBvcnRzID0gb2JqOwotICB9IGVsc2Ug
aWYgKHR5cGVvZiBkZWZpbmUgPT09ICdmdW5jdGlvbicgJiYgZGVmaW5lLmFtZCkgewotICAgIGRl
ZmluZShbXSwgKCkgPT4gb2JqKTsKLSAgfSBlbHNlIHsKLSAgICAoc2VsZiB8fCB3aW5kb3cpLldl
YklETDJXcml0ZXIgPSBvYmo7Ci0gIH0KLX0pKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3BhY2thZ2Ut
bG9jay5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi9wYWNrYWdlLWxvY2suanNvbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggYjA1ODEwMzdmZTk0MzQyM2Y0ZjA5YmNlYWJiZWYwZjg4MjhkNmZjMy4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3BhY2thZ2UtbG9j
ay5qc29uCisrKyAvZGV2L251bGwKQEAgLTEsNzAwICswLDAgQEAKLXsKLSAgIm5hbWUiOiAid2Vi
aWRsMiIsCi0gICJ2ZXJzaW9uIjogIjEzLjAuMyIsCi0gICJsb2NrZmlsZVZlcnNpb24iOiAxLAot
ICAicmVxdWlyZXMiOiB0cnVlLAotICAiZGVwZW5kZW5jaWVzIjogewotICAgICJAYmFiZWwvY29k
ZS1mcmFtZSI6IHsKLSAgICAgICJ2ZXJzaW9uIjogIjcuMC4wLWJldGEuNDAiLAotICAgICAgInJl
c29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL0BiYWJlbC9jb2RlLWZyYW1lLy0v
Y29kZS1mcmFtZS03LjAuMC1iZXRhLjQwLnRneiIsCi0gICAgICAiaW50ZWdyaXR5IjogInNoYTUx
Mi1lVlhRU2J1L1JpbVU2T0tjSzIvZ0RKVlRGY3hYSkk0c0hiSXF3Mm1od01aZVEyYXMvOEFoUzlE
R2tFRG9ITUJCTkpaNUIwVVM2M2xGNTZ4K0tEY3hpQT09IiwKLSAgICAgICJkZXYiOiB0cnVlLAot
ICAgICAgInJlcXVpcmVzIjogewotICAgICAgICAiQGJhYmVsL2hpZ2hsaWdodCI6ICI3LjAuMC1i
ZXRhLjQwIgotICAgICAgfQotICAgIH0sCi0gICAgIkBiYWJlbC9oaWdobGlnaHQiOiB7Ci0gICAg
ICAidmVyc2lvbiI6ICI3LjAuMC1iZXRhLjQwIiwKLSAgICAgICJyZXNvbHZlZCI6ICJodHRwczov
L3JlZ2lzdHJ5Lm5wbWpzLm9yZy9AYmFiZWwvaGlnaGxpZ2h0Ly0vaGlnaGxpZ2h0LTcuMC4wLWJl
dGEuNDAudGd6IiwKLSAgICAgICJpbnRlZ3JpdHkiOiAic2hhNTEyLW1PaGhUcnppZVY2Vk83b2Rn
ekZHRmFwaXdSSzBlaThSWlJoZnpIaGI2Y3BYM1FNOFhYdUNMWFdqTjhxQkI3SlJlRGRVUjgwVjNM
RmZGckdVWWV2aE5nPT0iLAotICAgICAgImRldiI6IHRydWUsCi0gICAgICAicmVxdWlyZXMiOiB7
Ci0gICAgICAgICJjaGFsayI6ICJeMi4wLjAiLAotICAgICAgICAiZXN1dGlscyI6ICJeMi4wLjIi
LAotICAgICAgICAianMtdG9rZW5zIjogIl4zLjAuMCIKLSAgICAgIH0KLSAgICB9LAotICAgICJh
bnNpLXJlZ2V4IjogewotICAgICAgInZlcnNpb24iOiAiMy4wLjAiLAotICAgICAgInJlc29sdmVk
IjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2Fuc2ktcmVnZXgvLS9hbnNpLXJlZ2V4LTMu
MC4wLnRneiIsCi0gICAgICAiaW50ZWdyaXR5IjogInNoYTEtN1FNWHd5SUdUM2xHYkFLV2E5MjJC
YXMzMlpnPSIsCi0gICAgICAiZGV2IjogdHJ1ZQotICAgIH0sCi0gICAgImFuc2ktc3R5bGVzIjog
ewotICAgICAgInZlcnNpb24iOiAiMy4yLjEiLAotICAgICAgInJlc29sdmVkIjogImh0dHBzOi8v
cmVnaXN0cnkubnBtanMub3JnL2Fuc2ktc3R5bGVzLy0vYW5zaS1zdHlsZXMtMy4yLjEudGd6IiwK
LSAgICAgICJpbnRlZ3JpdHkiOiAic2hhNTEyLVZUMFpJNmtaUmRUaDhZeUp3M1NNYlltL3UrTnFm
c0F4RXBXTzBQZjlzcTgvZTk0V3h4T3BQS3g5RlIxRmx5Q3RPVkROT1ErOG50bHFGeGlSYytyNXFB
PT0iLAotICAgICAgImRldiI6IHRydWUsCi0gICAgICAicmVxdWlyZXMiOiB7Ci0gICAgICAgICJj
b2xvci1jb252ZXJ0IjogIl4xLjkuMCIKLSAgICAgIH0KLSAgICB9LAotICAgICJhcnItZGlmZiI6
IHsKLSAgICAgICJ2ZXJzaW9uIjogIjIuMC4wIiwKLSAgICAgICJyZXNvbHZlZCI6ICJodHRwczov
L3JlZ2lzdHJ5Lm5wbWpzLm9yZy9hcnItZGlmZi8tL2Fyci1kaWZmLTIuMC4wLnRneiIsCi0gICAg
ICAiaW50ZWdyaXR5IjogInNoYTEtanp1Q2Y1VmFpOVpwYVg1S1FsYXNQT3JqVnM4PSIsCi0gICAg
ICAiZGV2IjogdHJ1ZSwKLSAgICAgICJyZXF1aXJlcyI6IHsKLSAgICAgICAgImFyci1mbGF0dGVu
IjogIl4xLjAuMSIKLSAgICAgIH0KLSAgICB9LAotICAgICJhcnItZmxhdHRlbiI6IHsKLSAgICAg
ICJ2ZXJzaW9uIjogIjEuMS4wIiwKLSAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5
Lm5wbWpzLm9yZy9hcnItZmxhdHRlbi8tL2Fyci1mbGF0dGVuLTEuMS4wLnRneiIsCi0gICAgICAi
aW50ZWdyaXR5IjogInNoYTUxMi1MM2hLVjVSL3A1bzgxUjdPMDJJR253cERta3A2RTk4MlhodGJ1
d1NlM080cU90TU1NdG9kaWNBU0ExQ255MlUrYUNYY05wbWwrbTRkUHN2c0ozamF0Zz09IiwKLSAg
ICAgICJkZXYiOiB0cnVlCi0gICAgfSwKLSAgICAiYXJyYXktdW5pcXVlIjogewotICAgICAgInZl
cnNpb24iOiAiMC4yLjEiLAotICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBt
anMub3JnL2FycmF5LXVuaXF1ZS8tL2FycmF5LXVuaXF1ZS0wLjIuMS50Z3oiLAotICAgICAgImlu
dGVncml0eSI6ICJzaGExLW9kbDh5dnk4SmlYTWNQcmM2emFsREZpd0dsTT0iLAotICAgICAgImRl
diI6IHRydWUKLSAgICB9LAotICAgICJiYWxhbmNlZC1tYXRjaCI6IHsKLSAgICAgICJ2ZXJzaW9u
IjogIjEuMC4wIiwKLSAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9y
Zy9iYWxhbmNlZC1tYXRjaC8tL2JhbGFuY2VkLW1hdGNoLTEuMC4wLnRneiIsCi0gICAgICAiaW50
ZWdyaXR5IjogInNoYTEtaWJUUm1hc3I3a25lRms2Z0s0bk9SaTF4dDJjPSIsCi0gICAgICAiZGV2
IjogdHJ1ZQotICAgIH0sCi0gICAgImJyYWNlLWV4cGFuc2lvbiI6IHsKLSAgICAgICJ2ZXJzaW9u
IjogIjEuMS4xMSIsCi0gICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5v
cmcvYnJhY2UtZXhwYW5zaW9uLy0vYnJhY2UtZXhwYW5zaW9uLTEuMS4xMS50Z3oiLAotICAgICAg
ImludGVncml0eSI6ICJzaGE1MTItaUN1UEhERmdySFg3SDJ2RUkvNXhwejA3elNIQjAwVHB1Z3Fo
bVl0Vm1NTzY1MThtQ3VSTW9PWUZsZEVCbDBnMTg3dWZvemRhSGdXS2NZRmI2MXFHaUE9PSIsCi0g
ICAgICAiZGV2IjogdHJ1ZSwKLSAgICAgICJyZXF1aXJlcyI6IHsKLSAgICAgICAgImJhbGFuY2Vk
LW1hdGNoIjogIl4xLjAuMCIsCi0gICAgICAgICJjb25jYXQtbWFwIjogIjAuMC4xIgotICAgICAg
fQotICAgIH0sCi0gICAgImJyYWNlcyI6IHsKLSAgICAgICJ2ZXJzaW9uIjogIjEuOC41IiwKLSAg
ICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9icmFjZXMvLS9icmFj
ZXMtMS44LjUudGd6IiwKLSAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS11bmVXTGhMZitXbld0MmNS
NlJTM040Vjc5cWM9IiwKLSAgICAgICJkZXYiOiB0cnVlLAotICAgICAgInJlcXVpcmVzIjogewot
ICAgICAgICAiZXhwYW5kLXJhbmdlIjogIl4xLjguMSIsCi0gICAgICAgICJwcmVzZXJ2ZSI6ICJe
MC4yLjAiLAotICAgICAgICAicmVwZWF0LWVsZW1lbnQiOiAiXjEuMS4yIgotICAgICAgfQotICAg
IH0sCi0gICAgImJyb3dzZXItc3Rkb3V0IjogewotICAgICAgInZlcnNpb24iOiAiMS4zLjEiLAot
ICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2Jyb3dzZXItc3Rk
b3V0Ly0vYnJvd3Nlci1zdGRvdXQtMS4zLjEudGd6IiwKLSAgICAgICJpbnRlZ3JpdHkiOiAic2hh
NTEyLXFoQVZJMStBdjJYN3FlbE9mQUlZd1hPTm9vZDZYbFpFL2ZYYUJTbVcvVDVTekxBbUNnemkr
ZWlXRTdmVXZiSGFlTkJRSDEzVWZ0anBYeHNmTGtNcGd3PT0iLAotICAgICAgImRldiI6IHRydWUK
LSAgICB9LAotICAgICJjaGFsayI6IHsKLSAgICAgICJ2ZXJzaW9uIjogIjIuMy4yIiwKLSAgICAg
ICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9jaGFsay8tL2NoYWxrLTIu
My4yLnRneiIsCi0gICAgICAiaW50ZWdyaXR5IjogInNoYTUxMi1aTTRqMi9sZC9ZWkRjM01hOFBn
TjdneUFrK2tITU1NeXpMTnJ5Q1BHaFdyc2ZBdURWZXVpZDVicFJGVERnTUg5SkJLMmxBNGR5eUFr
a1pZRi9XY3FEUT09IiwKLSAgICAgICJkZXYiOiB0cnVlLAotICAgICAgInJlcXVpcmVzIjogewot
ICAgICAgICAiYW5zaS1zdHlsZXMiOiAiXjMuMi4xIiwKLSAgICAgICAgImVzY2FwZS1zdHJpbmct
cmVnZXhwIjogIl4xLjAuNSIsCi0gICAgICAgICJzdXBwb3J0cy1jb2xvciI6ICJeNS4zLjAiCi0g
ICAgICB9Ci0gICAgfSwKLSAgICAiY29sb3ItY29udmVydCI6IHsKLSAgICAgICJ2ZXJzaW9uIjog
IjEuOS4xIiwKLSAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9j
b2xvci1jb252ZXJ0Ly0vY29sb3ItY29udmVydC0xLjkuMS50Z3oiLAotICAgICAgImludGVncml0
eSI6ICJzaGE1MTItbWpHYW5JaXdRSnNrQ0MxOHJQUjZPbXJaNmZtMkxjN1BlR0ZZd0NteTVKMzR3
QzZGMVB6ZEdMNnhlTWZtZ2ljZlljTkxHdVZGQTNXelh0SURDUVNaeFE9PSIsCi0gICAgICAiZGV2
IjogdHJ1ZSwKLSAgICAgICJyZXF1aXJlcyI6IHsKLSAgICAgICAgImNvbG9yLW5hbWUiOiAiXjEu
MS4xIgotICAgICAgfQotICAgIH0sCi0gICAgImNvbG9yLW5hbWUiOiB7Ci0gICAgICAidmVyc2lv
biI6ICIxLjEuMyIsCi0gICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5v
cmcvY29sb3ItbmFtZS8tL2NvbG9yLW5hbWUtMS4xLjMudGd6IiwKLSAgICAgICJpbnRlZ3JpdHki
OiAic2hhMS1wOUJWaTlpY1F2ZVYzVUl5ajNRSU1jcFR2Q1U9IiwKLSAgICAgICJkZXYiOiB0cnVl
Ci0gICAgfSwKLSAgICAiY29tbWFuZGVyIjogewotICAgICAgInZlcnNpb24iOiAiMi4xMS4wIiwK
LSAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9jb21tYW5kZXIv
LS9jb21tYW5kZXItMi4xMS4wLnRneiIsCi0gICAgICAiaW50ZWdyaXR5IjogInNoYTUxMi1iMDU1
M3VZQTVZQUVHZ3lZSUdZUk96S1E3WDVSQXFlZGtmamlaeHdpMGtMMWczYk9hQk5OWmZZa3p0L0NM
MHVtZ0Q1d2M5SmVjMkZiQjk4Q2prTVJ2UT09IiwKLSAgICAgICJkZXYiOiB0cnVlCi0gICAgfSwK
LSAgICAiY29uY2F0LW1hcCI6IHsKLSAgICAgICJ2ZXJzaW9uIjogIjAuMC4xIiwKLSAgICAgICJy
ZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9jb25jYXQtbWFwLy0vY29uY2F0
LW1hcC0wLjAuMS50Z3oiLAotICAgICAgImludGVncml0eSI6ICJzaGExLTJLbHIxMy9XamZkNU9u
TURhanVnMVVCZFIzcz0iLAotICAgICAgImRldiI6IHRydWUKLSAgICB9LAotICAgICJkZWJ1ZyI6
IHsKLSAgICAgICJ2ZXJzaW9uIjogIjMuMS4wIiwKLSAgICAgICJyZXNvbHZlZCI6ICJodHRwczov
L3JlZ2lzdHJ5Lm5wbWpzLm9yZy9kZWJ1Zy8tL2RlYnVnLTMuMS4wLnRneiIsCi0gICAgICAiaW50
ZWdyaXR5IjogInNoYTUxMi1PWDhYcVA3LzFhOWNxa3hZdzJ5WHNzMTVmMjZOS1dCcERYUWQwL3VL
L0tQcWRRaHhiUGE5OTRobnpqY0UyVnFRcERzbGY1NTcyM2NLUFVPR1NtTVkzZz09IiwKLSAgICAg
ICJkZXYiOiB0cnVlLAotICAgICAgInJlcXVpcmVzIjogewotICAgICAgICAibXMiOiAiMi4wLjAi
Ci0gICAgICB9Ci0gICAgfSwKLSAgICAiZGlmZiI6IHsKLSAgICAgICJ2ZXJzaW9uIjogIjMuNS4w
IiwKLSAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9kaWZmLy0v
ZGlmZi0zLjUuMC50Z3oiLAotICAgICAgImludGVncml0eSI6ICJzaGE1MTItQTQ2cXRGZ2QrZzdw
RFppbnBud2lSSnR4YkMxaHBnZjB1elAzaUc4OXNjSGswQVVDN0ExVEd4ZjVPaWlPVXYvSk1aUjhH
T3Q4aEw5MDBoVjBiT3k1eEE9PSIsCi0gICAgICAiZGV2IjogdHJ1ZQotICAgIH0sCi0gICAgImRp
ZmYtbWF0Y2gtcGF0Y2giOiB7Ci0gICAgICAidmVyc2lvbiI6ICIxLjAuMCIsCi0gICAgICAicmVz
b2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvZGlmZi1tYXRjaC1wYXRjaC8tL2Rp
ZmYtbWF0Y2gtcGF0Y2gtMS4wLjAudGd6IiwKLSAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1ITVBJ
T2trTlovbGRrZU9mYXRIeTRJYTJNRWc9IiwKLSAgICAgICJkZXYiOiB0cnVlCi0gICAgfSwKLSAg
ICAiZXNjYXBlLXN0cmluZy1yZWdleHAiOiB7Ci0gICAgICAidmVyc2lvbiI6ICIxLjAuNSIsCi0g
ICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvZXNjYXBlLXN0cmlu
Zy1yZWdleHAvLS9lc2NhcGUtc3RyaW5nLXJlZ2V4cC0xLjAuNS50Z3oiLAotICAgICAgImludGVn
cml0eSI6ICJzaGExLUcySEFWaUdRcU4vMnJqdXl6d0lBeWhNTGh0UT0iLAotICAgICAgImRldiI6
IHRydWUKLSAgICB9LAotICAgICJlc3V0aWxzIjogewotICAgICAgInZlcnNpb24iOiAiMi4wLjIi
LAotICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2VzdXRpbHMv
LS9lc3V0aWxzLTIuMC4yLnRneiIsCi0gICAgICAiaW50ZWdyaXR5IjogInNoYTEtQ3I5UEhLcGJ5
eDk2bllyTWJlcFBxcUJMckpzPSIsCi0gICAgICAiZGV2IjogdHJ1ZQotICAgIH0sCi0gICAgImV4
cGFuZC1icmFja2V0cyI6IHsKLSAgICAgICJ2ZXJzaW9uIjogIjAuMS41IiwKLSAgICAgICJyZXNv
bHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9leHBhbmQtYnJhY2tldHMvLS9leHBh
bmQtYnJhY2tldHMtMC4xLjUudGd6IiwKLSAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS0zd2NvVGpR
cWdIelhNNnhhOXlRUjVZSFJGM3M9IiwKLSAgICAgICJkZXYiOiB0cnVlLAotICAgICAgInJlcXVp
cmVzIjogewotICAgICAgICAiaXMtcG9zaXgtYnJhY2tldCI6ICJeMC4xLjAiCi0gICAgICB9Ci0g
ICAgfSwKLSAgICAiZXhwYW5kLXJhbmdlIjogewotICAgICAgInZlcnNpb24iOiAiMS44LjIiLAot
ICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2V4cGFuZC1yYW5n
ZS8tL2V4cGFuZC1yYW5nZS0xLjguMi50Z3oiLAotICAgICAgImludGVncml0eSI6ICJzaGExLW9w
bnYvVE5mNG5JZXV1amlWK3g1WkUvSVV6Yz0iLAotICAgICAgImRldiI6IHRydWUsCi0gICAgICAi
cmVxdWlyZXMiOiB7Ci0gICAgICAgICJmaWxsLXJhbmdlIjogIl4yLjEuMCIKLSAgICAgIH0KLSAg
ICB9LAotICAgICJleHBlY3QiOiB7Ci0gICAgICAidmVyc2lvbiI6ICIyMi40LjAiLAotICAgICAg
InJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2V4cGVjdC8tL2V4cGVjdC0y
Mi40LjAudGd6IiwKLSAgICAgICJpbnRlZ3JpdHkiOiAic2hhNTEyLUZpeTg2MmpUM3FjNzBod0lI
d3dDQk5JU21hcUJyZldLS3J0cXlNSjZpd1pyKzZLWHRjbkhvalpGdGQ2M1RQUnZSbDhFUVRKK1lY
WXkybEs2LzZ1K0h3PT0iLAotICAgICAgImRldiI6IHRydWUsCi0gICAgICAicmVxdWlyZXMiOiB7
Ci0gICAgICAgICJhbnNpLXN0eWxlcyI6ICJeMy4yLjAiLAotICAgICAgICAiamVzdC1kaWZmIjog
Il4yMi40LjAiLAotICAgICAgICAiamVzdC1nZXQtdHlwZSI6ICJeMjIuMS4wIiwKLSAgICAgICAg
Implc3QtbWF0Y2hlci11dGlscyI6ICJeMjIuNC4wIiwKLSAgICAgICAgImplc3QtbWVzc2FnZS11
dGlsIjogIl4yMi40LjAiLAotICAgICAgICAiamVzdC1yZWdleC11dGlsIjogIl4yMi4xLjAiCi0g
ICAgICB9Ci0gICAgfSwKLSAgICAiZXh0Z2xvYiI6IHsKLSAgICAgICJ2ZXJzaW9uIjogIjAuMy4y
IiwKLSAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9leHRnbG9i
Ly0vZXh0Z2xvYi0wLjMuMi50Z3oiLAotICAgICAgImludGVncml0eSI6ICJzaGExLUxoai9QUzlK
cXlkbHpza0NQd0VkcW8yRFNhRT0iLAotICAgICAgImRldiI6IHRydWUsCi0gICAgICAicmVxdWly
ZXMiOiB7Ci0gICAgICAgICJpcy1leHRnbG9iIjogIl4xLjAuMCIKLSAgICAgIH0KLSAgICB9LAot
ICAgICJmaWxlbmFtZS1yZWdleCI6IHsKLSAgICAgICJ2ZXJzaW9uIjogIjIuMC4xIiwKLSAgICAg
ICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9maWxlbmFtZS1yZWdleC8t
L2ZpbGVuYW1lLXJlZ2V4LTIuMC4xLnRneiIsCi0gICAgICAiaW50ZWdyaXR5IjogInNoYTEtd2NT
NXZ1UGdseVhkc1FhM1hCNHdIK0x4aXlZPSIsCi0gICAgICAiZGV2IjogdHJ1ZQotICAgIH0sCi0g
ICAgImZpbGwtcmFuZ2UiOiB7Ci0gICAgICAidmVyc2lvbiI6ICIyLjIuNCIsCi0gICAgICAicmVz
b2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvZmlsbC1yYW5nZS8tL2ZpbGwtcmFu
Z2UtMi4yLjQudGd6IiwKLSAgICAgICJpbnRlZ3JpdHkiOiAic2hhNTEyLWNucmNDYmowMStqMmdU
RzkyMVZaUG5IYmptZEFmOG9RVi9pR2VWMmtaeEdTeWZZampUeVk3OUVyc0sxV0pXTXB3NkRhQXBF
WDcyYmlucUpFKy9kKzVRPT0iLAotICAgICAgImRldiI6IHRydWUsCi0gICAgICAicmVxdWlyZXMi
OiB7Ci0gICAgICAgICJpcy1udW1iZXIiOiAiXjIuMS4wIiwKLSAgICAgICAgImlzb2JqZWN0Ijog
Il4yLjAuMCIsCi0gICAgICAgICJyYW5kb21hdGljIjogIl4zLjAuMCIsCi0gICAgICAgICJyZXBl
YXQtZWxlbWVudCI6ICJeMS4xLjIiLAotICAgICAgICAicmVwZWF0LXN0cmluZyI6ICJeMS41LjIi
Ci0gICAgICB9Ci0gICAgfSwKLSAgICAiZm9yLWluIjogewotICAgICAgInZlcnNpb24iOiAiMS4w
LjIiLAotICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2Zvci1p
bi8tL2Zvci1pbi0xLjAuMi50Z3oiLAotICAgICAgImludGVncml0eSI6ICJzaGExLWdRYU5LVnFC
UXV3S3h5Ykc0aUFNTVB0dFhvQT0iLAotICAgICAgImRldiI6IHRydWUKLSAgICB9LAotICAgICJm
b3Itb3duIjogewotICAgICAgInZlcnNpb24iOiAiMC4xLjUiLAotICAgICAgInJlc29sdmVkIjog
Imh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2Zvci1vd24vLS9mb3Itb3duLTAuMS41LnRneiIs
Ci0gICAgICAiaW50ZWdyaXR5IjogInNoYTEtVW1YR2dhVHlsTnE3OFh5VkNiWjJPcWhGRU00PSIs
Ci0gICAgICAiZGV2IjogdHJ1ZSwKLSAgICAgICJyZXF1aXJlcyI6IHsKLSAgICAgICAgImZvci1p
biI6ICJeMS4wLjEiCi0gICAgICB9Ci0gICAgfSwKLSAgICAiZnMucmVhbHBhdGgiOiB7Ci0gICAg
ICAidmVyc2lvbiI6ICIxLjAuMCIsCi0gICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3Ry
eS5ucG1qcy5vcmcvZnMucmVhbHBhdGgvLS9mcy5yZWFscGF0aC0xLjAuMC50Z3oiLAotICAgICAg
ImludGVncml0eSI6ICJzaGExLUZRU3RKU01WaktwQTIwb25oOHNCUVJtVTZrOD0iLAotICAgICAg
ImRldiI6IHRydWUKLSAgICB9LAotICAgICJnbG9iIjogewotICAgICAgInZlcnNpb24iOiAiNy4x
LjIiLAotICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2dsb2Iv
LS9nbG9iLTcuMS4yLnRneiIsCi0gICAgICAiaW50ZWdyaXR5IjogInNoYTUxMi1NSlRVZzFranVM
ZVFDSitjY0U0VnBhNmtLVlhrUFlKMm1PQ1F5VXVLTGNMUXNkck1DcEJQVWk4cVZFNitZdWFKa296
ZUE5TnVzVEF3M2hMcjhYZTVFUT09IiwKLSAgICAgICJkZXYiOiB0cnVlLAotICAgICAgInJlcXVp
cmVzIjogewotICAgICAgICAiZnMucmVhbHBhdGgiOiAiXjEuMC4wIiwKLSAgICAgICAgImluZmxp
Z2h0IjogIl4xLjAuNCIsCi0gICAgICAgICJpbmhlcml0cyI6ICIyIiwKLSAgICAgICAgIm1pbmlt
YXRjaCI6ICJeMy4wLjQiLAotICAgICAgICAib25jZSI6ICJeMS4zLjAiLAotICAgICAgICAicGF0
aC1pcy1hYnNvbHV0ZSI6ICJeMS4wLjAiCi0gICAgICB9Ci0gICAgfSwKLSAgICAiZ2xvYi1iYXNl
IjogewotICAgICAgInZlcnNpb24iOiAiMC4zLjAiLAotICAgICAgInJlc29sdmVkIjogImh0dHBz
Oi8vcmVnaXN0cnkubnBtanMub3JnL2dsb2ItYmFzZS8tL2dsb2ItYmFzZS0wLjMuMC50Z3oiLAot
ICAgICAgImludGVncml0eSI6ICJzaGExLTI3Rms5aUliSEFzY3o0S3VveWkwbDk4T284UT0iLAot
ICAgICAgImRldiI6IHRydWUsCi0gICAgICAicmVxdWlyZXMiOiB7Ci0gICAgICAgICJnbG9iLXBh
cmVudCI6ICJeMi4wLjAiLAotICAgICAgICAiaXMtZ2xvYiI6ICJeMi4wLjAiCi0gICAgICB9Ci0g
ICAgfSwKLSAgICAiZ2xvYi1wYXJlbnQiOiB7Ci0gICAgICAidmVyc2lvbiI6ICIyLjAuMCIsCi0g
ICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvZ2xvYi1wYXJlbnQv
LS9nbG9iLXBhcmVudC0yLjAuMC50Z3oiLAotICAgICAgImludGVncml0eSI6ICJzaGExLWdUZzlj
dHNGVDh6UFV6YmFxUUx4Z3ZidHV5Zz0iLAotICAgICAgImRldiI6IHRydWUsCi0gICAgICAicmVx
dWlyZXMiOiB7Ci0gICAgICAgICJpcy1nbG9iIjogIl4yLjAuMCIKLSAgICAgIH0KLSAgICB9LAot
ICAgICJncm93bCI6IHsKLSAgICAgICJ2ZXJzaW9uIjogIjEuMTAuMyIsCi0gICAgICAicmVzb2x2
ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvZ3Jvd2wvLS9ncm93bC0xLjEwLjMudGd6
IiwKLSAgICAgICJpbnRlZ3JpdHkiOiAic2hhNTEyLWhLbHNiQTVWdTN4c2gxQ2czSjdqU21YL1dh
VzZBNW9CZXF6TTg4b05iQ1JRRnorelVhWG02eXhTNFJWeXRwMXNjQm9KelNZbDRZQUVPUUl0Nk84
VjFRPT0iLAotICAgICAgImRldiI6IHRydWUKLSAgICB9LAotICAgICJoYXMtZmxhZyI6IHsKLSAg
ICAgICJ2ZXJzaW9uIjogIjMuMC4wIiwKLSAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lz
dHJ5Lm5wbWpzLm9yZy9oYXMtZmxhZy8tL2hhcy1mbGFnLTMuMC4wLnRneiIsCi0gICAgICAiaW50
ZWdyaXR5IjogInNoYTEtdGRSVTNDR1pyaUpXbWZOR2Zsb0g4N2xWdXYwPSIsCi0gICAgICAiZGV2
IjogdHJ1ZQotICAgIH0sCi0gICAgImhlIjogewotICAgICAgInZlcnNpb24iOiAiMS4xLjEiLAot
ICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2hlLy0vaGUtMS4x
LjEudGd6IiwKLSAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1rMEVQMGhzQWx6VVZINGhvd3ZKeDgw
SitJLzA9IiwKLSAgICAgICJkZXYiOiB0cnVlCi0gICAgfSwKLSAgICAiaW5mbGlnaHQiOiB7Ci0g
ICAgICAidmVyc2lvbiI6ICIxLjAuNiIsCi0gICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdp
c3RyeS5ucG1qcy5vcmcvaW5mbGlnaHQvLS9pbmZsaWdodC0xLjAuNi50Z3oiLAotICAgICAgImlu
dGVncml0eSI6ICJzaGExLVNiMWpNZGZRTFF3SnZKRUtFSFc2Z1dXMWJmaz0iLAotICAgICAgImRl
diI6IHRydWUsCi0gICAgICAicmVxdWlyZXMiOiB7Ci0gICAgICAgICJvbmNlIjogIl4xLjMuMCIs
Ci0gICAgICAgICJ3cmFwcHkiOiAiMSIKLSAgICAgIH0KLSAgICB9LAotICAgICJpbmhlcml0cyI6
IHsKLSAgICAgICJ2ZXJzaW9uIjogIjIuMC4zIiwKLSAgICAgICJyZXNvbHZlZCI6ICJodHRwczov
L3JlZ2lzdHJ5Lm5wbWpzLm9yZy9pbmhlcml0cy8tL2luaGVyaXRzLTIuMC4zLnRneiIsCi0gICAg
ICAiaW50ZWdyaXR5IjogInNoYTEtWXp3c2crUGFRcVVDOVNSbUFpU0E5Q0NDWWQ0PSIsCi0gICAg
ICAiZGV2IjogdHJ1ZQotICAgIH0sCi0gICAgImlzLWJ1ZmZlciI6IHsKLSAgICAgICJ2ZXJzaW9u
IjogIjEuMS42IiwKLSAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9y
Zy9pcy1idWZmZXIvLS9pcy1idWZmZXItMS4xLjYudGd6IiwKLSAgICAgICJpbnRlZ3JpdHkiOiAi
c2hhNTEyLU5jZEFMd3BYa1RtNVp2dmJrN293T1VTdlZ2QktEZ0tQNS9ld2ZYRXpubVFGZnM0WlJt
YW5PZUtCVGpSVmprYTNRRm9ONlhKKzlGM1VTcWZIcVRhVTV3PT0iLAotICAgICAgImRldiI6IHRy
dWUKLSAgICB9LAotICAgICJpcy1kb3RmaWxlIjogewotICAgICAgInZlcnNpb24iOiAiMS4wLjMi
LAotICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2lzLWRvdGZp
bGUvLS9pcy1kb3RmaWxlLTEuMC4zLnRneiIsCi0gICAgICAiaW50ZWdyaXR5IjogInNoYTEtcHFM
ekwvMHQrd1QxeWlYczBQYTRQUGVZb2VFPSIsCi0gICAgICAiZGV2IjogdHJ1ZQotICAgIH0sCi0g
ICAgImlzLWVxdWFsLXNoYWxsb3ciOiB7Ci0gICAgICAidmVyc2lvbiI6ICIwLjEuMyIsCi0gICAg
ICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvaXMtZXF1YWwtc2hhbGxv
dy8tL2lzLWVxdWFsLXNoYWxsb3ctMC4xLjMudGd6IiwKLSAgICAgICJpbnRlZ3JpdHkiOiAic2hh
MS1JamdKajhJaDNndlBwZG5xeE1SZFk0cWh4VFE9IiwKLSAgICAgICJkZXYiOiB0cnVlLAotICAg
ICAgInJlcXVpcmVzIjogewotICAgICAgICAiaXMtcHJpbWl0aXZlIjogIl4yLjAuMCIKLSAgICAg
IH0KLSAgICB9LAotICAgICJpcy1leHRlbmRhYmxlIjogewotICAgICAgInZlcnNpb24iOiAiMC4x
LjEiLAotICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2lzLWV4
dGVuZGFibGUvLS9pcy1leHRlbmRhYmxlLTAuMS4xLnRneiIsCi0gICAgICAiaW50ZWdyaXR5Ijog
InNoYTEtWXJFUTRvbWtjVUdPUHNOcVlYMUhMakFkL0lrPSIsCi0gICAgICAiZGV2IjogdHJ1ZQot
ICAgIH0sCi0gICAgImlzLWV4dGdsb2IiOiB7Ci0gICAgICAidmVyc2lvbiI6ICIxLjAuMCIsCi0g
ICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvaXMtZXh0Z2xvYi8t
L2lzLWV4dGdsb2ItMS4wLjAudGd6IiwKLSAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1yRWFCZDhT
VU5BV2drdnlQS1hZTWIveGlCc0E9IiwKLSAgICAgICJkZXYiOiB0cnVlCi0gICAgfSwKLSAgICAi
aXMtZ2xvYiI6IHsKLSAgICAgICJ2ZXJzaW9uIjogIjIuMC4xIiwKLSAgICAgICJyZXNvbHZlZCI6
ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9pcy1nbG9iLy0vaXMtZ2xvYi0yLjAuMS50Z3oi
LAotICAgICAgImludGVncml0eSI6ICJzaGExLTBKYjVKcVBlMVdBUFA5L1pFWmpMQ0lqQzJHTT0i
LAotICAgICAgImRldiI6IHRydWUsCi0gICAgICAicmVxdWlyZXMiOiB7Ci0gICAgICAgICJpcy1l
eHRnbG9iIjogIl4xLjAuMCIKLSAgICAgIH0KLSAgICB9LAotICAgICJpcy1udW1iZXIiOiB7Ci0g
ICAgICAidmVyc2lvbiI6ICIyLjEuMCIsCi0gICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdp
c3RyeS5ucG1qcy5vcmcvaXMtbnVtYmVyLy0vaXMtbnVtYmVyLTIuMS4wLnRneiIsCi0gICAgICAi
aW50ZWdyaXR5IjogInNoYTEtQWZ5N3M1TkdPbFNQTDBac3poYmV6a25ia0k4PSIsCi0gICAgICAi
ZGV2IjogdHJ1ZSwKLSAgICAgICJyZXF1aXJlcyI6IHsKLSAgICAgICAgImtpbmQtb2YiOiAiXjMu
MC4yIgotICAgICAgfQotICAgIH0sCi0gICAgImlzLXBvc2l4LWJyYWNrZXQiOiB7Ci0gICAgICAi
dmVyc2lvbiI6ICIwLjEuMSIsCi0gICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5u
cG1qcy5vcmcvaXMtcG9zaXgtYnJhY2tldC8tL2lzLXBvc2l4LWJyYWNrZXQtMC4xLjEudGd6IiwK
LSAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1NelRjZVhkRGFPa3ZBVzV2dkFxSTljMXVhOFE9IiwK
LSAgICAgICJkZXYiOiB0cnVlCi0gICAgfSwKLSAgICAiaXMtcHJpbWl0aXZlIjogewotICAgICAg
InZlcnNpb24iOiAiMi4wLjAiLAotICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnku
bnBtanMub3JnL2lzLXByaW1pdGl2ZS8tL2lzLXByaW1pdGl2ZS0yLjAuMC50Z3oiLAotICAgICAg
ImludGVncml0eSI6ICJzaGExLUlIdXJrV09FbWNCN0t0OGtDa0dvY2hBRFJYVT0iLAotICAgICAg
ImRldiI6IHRydWUKLSAgICB9LAotICAgICJpc2FycmF5IjogewotICAgICAgInZlcnNpb24iOiAi
MS4wLjAiLAotICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2lz
YXJyYXkvLS9pc2FycmF5LTEuMC4wLnRneiIsCi0gICAgICAiaW50ZWdyaXR5IjogInNoYTEtdTVO
ZFNGZ3N1aGFNQm9OSlY2VktQZ2NTVHhFPSIsCi0gICAgICAiZGV2IjogdHJ1ZQotICAgIH0sCi0g
ICAgImlzb2JqZWN0IjogewotICAgICAgInZlcnNpb24iOiAiMi4xLjAiLAotICAgICAgInJlc29s
dmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2lzb2JqZWN0Ly0vaXNvYmplY3QtMi4x
LjAudGd6IiwKLSAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS04R1ZXRUphajhkb3U5R0p5K0JYSVFO
aCtESWs9IiwKLSAgICAgICJkZXYiOiB0cnVlLAotICAgICAgInJlcXVpcmVzIjogewotICAgICAg
ICAiaXNhcnJheSI6ICIxLjAuMCIKLSAgICAgIH0KLSAgICB9LAotICAgICJqZXN0LWRpZmYiOiB7
Ci0gICAgICAidmVyc2lvbiI6ICIyMi40LjAiLAotICAgICAgInJlc29sdmVkIjogImh0dHBzOi8v
cmVnaXN0cnkubnBtanMub3JnL2plc3QtZGlmZi8tL2plc3QtZGlmZi0yMi40LjAudGd6IiwKLSAg
ICAgICJpbnRlZ3JpdHkiOiAic2hhNTEyLSsvdDIwV21ua09rQjhNT2FHYVB6aUk4eldLeHF1TXZZ
dzRVYit3T3ppN0FVaG1wRlh6NDNidVdTeFZvWm80SjVSbkNvenBHYlgzL0Zzc2pKNUtWOU53PT0i
LAotICAgICAgImRldiI6IHRydWUsCi0gICAgICAicmVxdWlyZXMiOiB7Ci0gICAgICAgICJjaGFs
ayI6ICJeMi4wLjEiLAotICAgICAgICAiZGlmZiI6ICJeMy4yLjAiLAotICAgICAgICAiamVzdC1n
ZXQtdHlwZSI6ICJeMjIuMS4wIiwKLSAgICAgICAgInByZXR0eS1mb3JtYXQiOiAiXjIyLjQuMCIK
LSAgICAgIH0KLSAgICB9LAotICAgICJqZXN0LWdldC10eXBlIjogewotICAgICAgInZlcnNpb24i
OiAiMjIuMS4wIiwKLSAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9y
Zy9qZXN0LWdldC10eXBlLy0vamVzdC1nZXQtdHlwZS0yMi4xLjAudGd6IiwKLSAgICAgICJpbnRl
Z3JpdHkiOiAic2hhNTEyLW5EOTdJVk9sTlA2ZmpJTjVpN2o1WFJIK2hGc0hMN1ZsYXVCYnpSdnVl
YWFVZTcwdW9ocmt6N3BML044bHgvSUF3WlJUSi8vd09kVmdoODVPZ003ZzN3PT0iLAotICAgICAg
ImRldiI6IHRydWUKLSAgICB9LAotICAgICJqZXN0LW1hdGNoZXItdXRpbHMiOiB7Ci0gICAgICAi
dmVyc2lvbiI6ICIyMi40LjAiLAotICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnku
bnBtanMub3JnL2plc3QtbWF0Y2hlci11dGlscy8tL2plc3QtbWF0Y2hlci11dGlscy0yMi40LjAu
dGd6IiwKLSAgICAgICJpbnRlZ3JpdHkiOiAic2hhNTEyLTAzbTNpc3N4VVhwV013RFlUZm1MOGhS
TmV3VUIweUNSVGVYUG0rZXEwNThyWnhMSEQ5ZjVOdFNTTzk4Q1dIcWU0VXlJU0l4ZDlBbzlpRFZq
SFdkMnFnPT0iLAotICAgICAgImRldiI6IHRydWUsCi0gICAgICAicmVxdWlyZXMiOiB7Ci0gICAg
ICAgICJjaGFsayI6ICJeMi4wLjEiLAotICAgICAgICAiamVzdC1nZXQtdHlwZSI6ICJeMjIuMS4w
IiwKLSAgICAgICAgInByZXR0eS1mb3JtYXQiOiAiXjIyLjQuMCIKLSAgICAgIH0KLSAgICB9LAot
ICAgICJqZXN0LW1lc3NhZ2UtdXRpbCI6IHsKLSAgICAgICJ2ZXJzaW9uIjogIjIyLjQuMCIsCi0g
ICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvamVzdC1tZXNzYWdl
LXV0aWwvLS9qZXN0LW1lc3NhZ2UtdXRpbC0yMi40LjAudGd6IiwKLSAgICAgICJpbnRlZ3JpdHki
OiAic2hhNTEyLWV5Q0pCMFQzaHJscEZGMkZxUW9JQjA5M091bFArMXF2QVRRbUQzSU9nSmdNR3FQ
TDZlWXc4VGJDNVAvVkNXUHFLaEdMNTF4dmpJSWhvdzVlWjJ3SEZ3PT0iLAotICAgICAgImRldiI6
IHRydWUsCi0gICAgICAicmVxdWlyZXMiOiB7Ci0gICAgICAgICJAYmFiZWwvY29kZS1mcmFtZSI6
ICJeNy4wLjAtYmV0YS4zNSIsCi0gICAgICAgICJjaGFsayI6ICJeMi4wLjEiLAotICAgICAgICAi
bWljcm9tYXRjaCI6ICJeMi4zLjExIiwKLSAgICAgICAgInNsYXNoIjogIl4xLjAuMCIsCi0gICAg
ICAgICJzdGFjay11dGlscyI6ICJeMS4wLjEiCi0gICAgICB9Ci0gICAgfSwKLSAgICAiamVzdC1y
ZWdleC11dGlsIjogewotICAgICAgInZlcnNpb24iOiAiMjIuMS4wIiwKLSAgICAgICJyZXNvbHZl
ZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9qZXN0LXJlZ2V4LXV0aWwvLS9qZXN0LXJl
Z2V4LXV0aWwtMjIuMS4wLnRneiIsCi0gICAgICAiaW50ZWdyaXR5IjogInNoYTUxMi1vbjBMcVZT
NlhlaDY5c3czZDFSdWtWbnVyK2xWT2wzemttYjBRNTRGSGo5d0hvcTZkYnRXcWIzVFNsblZVeXgz
NmhxakpoamdzL1FMcXMwN0J6dTcyUT09IiwKLSAgICAgICJkZXYiOiB0cnVlCi0gICAgfSwKLSAg
ICAianMtdG9rZW5zIjogewotICAgICAgInZlcnNpb24iOiAiMy4wLjIiLAotICAgICAgInJlc29s
dmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2pzLXRva2Vucy8tL2pzLXRva2Vucy0z
LjAuMi50Z3oiLAotICAgICAgImludGVncml0eSI6ICJzaGExLW1HYmZPVkVDRXc0NDkvbVd2T3Rs
UkRJSndscz0iLAotICAgICAgImRldiI6IHRydWUKLSAgICB9LAotICAgICJqc29uZGlmZnBhdGNo
IjogewotICAgICAgInZlcnNpb24iOiAiMC4zLjUiLAotICAgICAgInJlc29sdmVkIjogImh0dHBz
Oi8vcmVnaXN0cnkubnBtanMub3JnL2pzb25kaWZmcGF0Y2gvLS9qc29uZGlmZnBhdGNoLTAuMy41
LnRneiIsCi0gICAgICAiaW50ZWdyaXR5IjogInNoYTUxMi12N2VhR0xETUNIWEgrZnNJYVpocHRF
VUptUzhFSnB1bnE3SU00Y2M0dklUL2tTUkFrYVo2WkY0ZWJpTmN5VWVsTDB6bmJ2ajZvMkI1R2g5
djdPZzBCUT09IiwKLSAgICAgICJkZXYiOiB0cnVlLAotICAgICAgInJlcXVpcmVzIjogewotICAg
ICAgICAiY2hhbGsiOiAiXjIuMy4wIiwKLSAgICAgICAgImRpZmYtbWF0Y2gtcGF0Y2giOiAiXjEu
MC4wIgotICAgICAgfQotICAgIH0sCi0gICAgImtpbmQtb2YiOiB7Ci0gICAgICAidmVyc2lvbiI6
ICIzLjIuMiIsCi0gICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcv
a2luZC1vZi8tL2tpbmQtb2YtMy4yLjIudGd6IiwKLSAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1N
ZW9ocHpTNnVidXc4eVJtMkpPdXBSNUtQR1E9IiwKLSAgICAgICJkZXYiOiB0cnVlLAotICAgICAg
InJlcXVpcmVzIjogewotICAgICAgICAiaXMtYnVmZmVyIjogIl4xLjEuNSIKLSAgICAgIH0KLSAg
ICB9LAotICAgICJtYXRoLXJhbmRvbSI6IHsKLSAgICAgICJ2ZXJzaW9uIjogIjEuMC4xIiwKLSAg
ICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9tYXRoLXJhbmRvbS8t
L21hdGgtcmFuZG9tLTEuMC4xLnRneiIsCi0gICAgICAiaW50ZWdyaXR5IjogInNoYTEtaXpxc1dJ
dUtadVNYWGp6ZXBuOTdzeWxnSDZ3PSIsCi0gICAgICAiZGV2IjogdHJ1ZQotICAgIH0sCi0gICAg
Im1pY3JvbWF0Y2giOiB7Ci0gICAgICAidmVyc2lvbiI6ICIyLjMuMTEiLAotICAgICAgInJlc29s
dmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL21pY3JvbWF0Y2gvLS9taWNyb21hdGNo
LTIuMy4xMS50Z3oiLAotICAgICAgImludGVncml0eSI6ICJzaGExLWhtZDhsOUZ5Q3pZME1kQk5E
UlVwTzlPTUZXVT0iLAotICAgICAgImRldiI6IHRydWUsCi0gICAgICAicmVxdWlyZXMiOiB7Ci0g
ICAgICAgICJhcnItZGlmZiI6ICJeMi4wLjAiLAotICAgICAgICAiYXJyYXktdW5pcXVlIjogIl4w
LjIuMSIsCi0gICAgICAgICJicmFjZXMiOiAiXjEuOC4yIiwKLSAgICAgICAgImV4cGFuZC1icmFj
a2V0cyI6ICJeMC4xLjQiLAotICAgICAgICAiZXh0Z2xvYiI6ICJeMC4zLjEiLAotICAgICAgICAi
ZmlsZW5hbWUtcmVnZXgiOiAiXjIuMC4wIiwKLSAgICAgICAgImlzLWV4dGdsb2IiOiAiXjEuMC4w
IiwKLSAgICAgICAgImlzLWdsb2IiOiAiXjIuMC4xIiwKLSAgICAgICAgImtpbmQtb2YiOiAiXjMu
MC4yIiwKLSAgICAgICAgIm5vcm1hbGl6ZS1wYXRoIjogIl4yLjAuMSIsCi0gICAgICAgICJvYmpl
Y3Qub21pdCI6ICJeMi4wLjAiLAotICAgICAgICAicGFyc2UtZ2xvYiI6ICJeMy4wLjQiLAotICAg
ICAgICAicmVnZXgtY2FjaGUiOiAiXjAuNC4yIgotICAgICAgfQotICAgIH0sCi0gICAgIm1pbmlt
YXRjaCI6IHsKLSAgICAgICJ2ZXJzaW9uIjogIjMuMC40IiwKLSAgICAgICJyZXNvbHZlZCI6ICJo
dHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9taW5pbWF0Y2gvLS9taW5pbWF0Y2gtMy4wLjQudGd6
IiwKLSAgICAgICJpbnRlZ3JpdHkiOiAic2hhNTEyLXlKSFZRRWh5cVBMVVRndDlCODNQWHU2VzNy
eDRNdnZIdlNVdlRvb2dwd29HRE9VUSt5RHJSMEhSb3QreU9DZENPN3U0aFgzcFdmdDZrV0JCY3Fo
MFVBPT0iLAotICAgICAgImRldiI6IHRydWUsCi0gICAgICAicmVxdWlyZXMiOiB7Ci0gICAgICAg
ICJicmFjZS1leHBhbnNpb24iOiAiXjEuMS43IgotICAgICAgfQotICAgIH0sCi0gICAgIm1pbmlt
aXN0IjogewotICAgICAgInZlcnNpb24iOiAiMC4wLjgiLAotICAgICAgInJlc29sdmVkIjogImh0
dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL21pbmltaXN0Ly0vbWluaW1pc3QtMC4wLjgudGd6IiwK
LSAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1oWC9LdjhNNWZTWWx1Q0tDWXVocXA2QVJzRjA9IiwK
LSAgICAgICJkZXYiOiB0cnVlCi0gICAgfSwKLSAgICAibWtkaXJwIjogewotICAgICAgInZlcnNp
b24iOiAiMC41LjEiLAotICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMu
b3JnL21rZGlycC8tL21rZGlycC0wLjUuMS50Z3oiLAotICAgICAgImludGVncml0eSI6ICJzaGEx
LU1BVjBPT3JHejMrTVIyZnpoa2pXYVgxMXlRTT0iLAotICAgICAgImRldiI6IHRydWUsCi0gICAg
ICAicmVxdWlyZXMiOiB7Ci0gICAgICAgICJtaW5pbWlzdCI6ICIwLjAuOCIKLSAgICAgIH0KLSAg
ICB9LAotICAgICJtb2NoYSI6IHsKLSAgICAgICJ2ZXJzaW9uIjogIjUuMC40IiwKLSAgICAgICJy
ZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9tb2NoYS8tL21vY2hhLTUuMC40
LnRneiIsCi0gICAgICAiaW50ZWdyaXR5IjogInNoYTUxMi1uTU9wQVBGb3NVMUI0SXgxamRoeDVl
M3E3WE81NWljNWE4Y2dZdlcyN0NlcXVjRVkrQmFiUzBrVVZMMUN3MVY1UHVWSFpXZU5SV0ZMbUVQ
ZXhvNzlWQT09IiwKLSAgICAgICJkZXYiOiB0cnVlLAotICAgICAgInJlcXVpcmVzIjogewotICAg
ICAgICAiYnJvd3Nlci1zdGRvdXQiOiAiMS4zLjEiLAotICAgICAgICAiY29tbWFuZGVyIjogIjIu
MTEuMCIsCi0gICAgICAgICJkZWJ1ZyI6ICIzLjEuMCIsCi0gICAgICAgICJkaWZmIjogIjMuNS4w
IiwKLSAgICAgICAgImVzY2FwZS1zdHJpbmctcmVnZXhwIjogIjEuMC41IiwKLSAgICAgICAgImds
b2IiOiAiNy4xLjIiLAotICAgICAgICAiZ3Jvd2wiOiAiMS4xMC4zIiwKLSAgICAgICAgImhlIjog
IjEuMS4xIiwKLSAgICAgICAgIm1rZGlycCI6ICIwLjUuMSIsCi0gICAgICAgICJzdXBwb3J0cy1j
b2xvciI6ICI0LjQuMCIKLSAgICAgIH0sCi0gICAgICAiZGVwZW5kZW5jaWVzIjogewotICAgICAg
ICAiaGFzLWZsYWciOiB7Ci0gICAgICAgICAgInZlcnNpb24iOiAiMi4wLjAiLAotICAgICAgICAg
ICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9oYXMtZmxhZy8tL2hhcy1m
bGFnLTIuMC4wLnRneiIsCi0gICAgICAgICAgImludGVncml0eSI6ICJzaGExLTZDQjY4Y3g3TU5S
R3pIQzNOTFhvdmhqNGpWRT0iLAotICAgICAgICAgICJkZXYiOiB0cnVlCi0gICAgICAgIH0sCi0g
ICAgICAgICJzdXBwb3J0cy1jb2xvciI6IHsKLSAgICAgICAgICAidmVyc2lvbiI6ICI0LjQuMCIs
Ci0gICAgICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL3N1cHBv
cnRzLWNvbG9yLy0vc3VwcG9ydHMtY29sb3ItNC40LjAudGd6IiwKLSAgICAgICAgICAiaW50ZWdy
aXR5IjogInNoYTUxMi1yS0MzK0R5WFdnSzBaTEt3bVJzcmt5SFZaQWpOa2Z6ZWVodUZXZEdHY3FH
RFRaRkg3MytSSDZTL1JEQUF4bDlHdXNTalpTVVdZTG1UOU41cHpYRk9YUT09IiwKLSAgICAgICAg
ICAiZGV2IjogdHJ1ZSwKLSAgICAgICAgICAicmVxdWlyZXMiOiB7Ci0gICAgICAgICAgICAiaGFz
LWZsYWciOiAiXjIuMC4wIgotICAgICAgICAgIH0KLSAgICAgICAgfQotICAgICAgfQotICAgIH0s
Ci0gICAgIm1zIjogewotICAgICAgInZlcnNpb24iOiAiMi4wLjAiLAotICAgICAgInJlc29sdmVk
IjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL21zLy0vbXMtMi4wLjAudGd6IiwKLSAgICAg
ICJpbnRlZ3JpdHkiOiAic2hhMS1WZ2l1cmZ3QXZtd3BBZDlmbUdGNGplRFZsOGc9IiwKLSAgICAg
ICJkZXYiOiB0cnVlCi0gICAgfSwKLSAgICAibm9ybWFsaXplLXBhdGgiOiB7Ci0gICAgICAidmVy
c2lvbiI6ICIyLjEuMSIsCi0gICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1q
cy5vcmcvbm9ybWFsaXplLXBhdGgvLS9ub3JtYWxpemUtcGF0aC0yLjEuMS50Z3oiLAotICAgICAg
ImludGVncml0eSI6ICJzaGExLUdyS0xWVzRaZzJPb3dhYjM1dm9nRTMvbXJ0az0iLAotICAgICAg
ImRldiI6IHRydWUsCi0gICAgICAicmVxdWlyZXMiOiB7Ci0gICAgICAgICJyZW1vdmUtdHJhaWxp
bmctc2VwYXJhdG9yIjogIl4xLjAuMSIKLSAgICAgIH0KLSAgICB9LAotICAgICJvYmplY3Qub21p
dCI6IHsKLSAgICAgICJ2ZXJzaW9uIjogIjIuMC4xIiwKLSAgICAgICJyZXNvbHZlZCI6ICJodHRw
czovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9vYmplY3Qub21pdC8tL29iamVjdC5vbWl0LTIuMC4xLnRn
eiIsCi0gICAgICAiaW50ZWdyaXR5IjogInNoYTEtR3B4MFNDbnpuYnVGakhiS05YbXVLbFRyMGZv
PSIsCi0gICAgICAiZGV2IjogdHJ1ZSwKLSAgICAgICJyZXF1aXJlcyI6IHsKLSAgICAgICAgImZv
ci1vd24iOiAiXjAuMS40IiwKLSAgICAgICAgImlzLWV4dGVuZGFibGUiOiAiXjAuMS4xIgotICAg
ICAgfQotICAgIH0sCi0gICAgIm9uY2UiOiB7Ci0gICAgICAidmVyc2lvbiI6ICIxLjQuMCIsCi0g
ICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvb25jZS8tL29uY2Ut
MS40LjAudGd6IiwKLSAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1XRHNhcDNXV0hVc1JPc0Y5bkZD
Njc1M1hhOUU9IiwKLSAgICAgICJkZXYiOiB0cnVlLAotICAgICAgInJlcXVpcmVzIjogewotICAg
ICAgICAid3JhcHB5IjogIjEiCi0gICAgICB9Ci0gICAgfSwKLSAgICAicGFyc2UtZ2xvYiI6IHsK
LSAgICAgICJ2ZXJzaW9uIjogIjMuMC40IiwKLSAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3Jl
Z2lzdHJ5Lm5wbWpzLm9yZy9wYXJzZS1nbG9iLy0vcGFyc2UtZ2xvYi0zLjAuNC50Z3oiLAotICAg
ICAgImludGVncml0eSI6ICJzaGExLXNzTjJ6N0VmTlZFN3JkRno3d3UyNDZPSU9Sdz0iLAotICAg
ICAgImRldiI6IHRydWUsCi0gICAgICAicmVxdWlyZXMiOiB7Ci0gICAgICAgICJnbG9iLWJhc2Ui
OiAiXjAuMy4wIiwKLSAgICAgICAgImlzLWRvdGZpbGUiOiAiXjEuMC4wIiwKLSAgICAgICAgImlz
LWV4dGdsb2IiOiAiXjEuMC4wIiwKLSAgICAgICAgImlzLWdsb2IiOiAiXjIuMC4wIgotICAgICAg
fQotICAgIH0sCi0gICAgInBhdGgtaXMtYWJzb2x1dGUiOiB7Ci0gICAgICAidmVyc2lvbiI6ICIx
LjAuMSIsCi0gICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvcGF0
aC1pcy1hYnNvbHV0ZS8tL3BhdGgtaXMtYWJzb2x1dGUtMS4wLjEudGd6IiwKLSAgICAgICJpbnRl
Z3JpdHkiOiAic2hhMS1GMHVTYUhOVk5QKzhlczVyOVRwYW5odGNYMTg9IiwKLSAgICAgICJkZXYi
OiB0cnVlCi0gICAgfSwKLSAgICAicHJlc2VydmUiOiB7Ci0gICAgICAidmVyc2lvbiI6ICIwLjIu
MCIsCi0gICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvcHJlc2Vy
dmUvLS9wcmVzZXJ2ZS0wLjIuMC50Z3oiLAotICAgICAgImludGVncml0eSI6ICJzaGExLWdWN1I5
dXZHV1NiNFpiTVF3SEU3eXpNVnprcz0iLAotICAgICAgImRldiI6IHRydWUKLSAgICB9LAotICAg
ICJwcmV0dHktZm9ybWF0IjogewotICAgICAgInZlcnNpb24iOiAiMjIuNC4wIiwKLSAgICAgICJy
ZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9wcmV0dHktZm9ybWF0Ly0vcHJl
dHR5LWZvcm1hdC0yMi40LjAudGd6IiwKLSAgICAgICJpbnRlZ3JpdHkiOiAic2hhNTEyLXB2Q3hQ
MmlPRElJazlhZFhsbzRTM0dSajBCckppaWw2OGtCeUFhMVByZ0c5N2MxdENsaDlkTE1ncDNaNmNI
RlpyY2xhQUJ0MFVIOFBJaHdIdUZMcVlBPT0iLAotICAgICAgImRldiI6IHRydWUsCi0gICAgICAi
cmVxdWlyZXMiOiB7Ci0gICAgICAgICJhbnNpLXJlZ2V4IjogIl4zLjAuMCIsCi0gICAgICAgICJh
bnNpLXN0eWxlcyI6ICJeMy4yLjAiCi0gICAgICB9Ci0gICAgfSwKLSAgICAicmFuZG9tYXRpYyI6
IHsKLSAgICAgICJ2ZXJzaW9uIjogIjMuMC4wIiwKLSAgICAgICJyZXNvbHZlZCI6ICJodHRwczov
L3JlZ2lzdHJ5Lm5wbWpzLm9yZy9yYW5kb21hdGljLy0vcmFuZG9tYXRpYy0zLjAuMC50Z3oiLAot
ICAgICAgImludGVncml0eSI6ICJzaGE1MTItVmR4Rk9JRVkzbU5PNVB0U1Jra2xlL2hQSkRIdlFo
SzIxb2E3M0s0eUFjOXFtcDZONDI5Z0F5RjFnWk1PVE1lUzAvQVl6YVYvMlRyY2VmK05hSW9uU0E9
PSIsCi0gICAgICAiZGV2IjogdHJ1ZSwKLSAgICAgICJyZXF1aXJlcyI6IHsKLSAgICAgICAgImlz
LW51bWJlciI6ICJeNC4wLjAiLAotICAgICAgICAia2luZC1vZiI6ICJeNi4wLjAiLAotICAgICAg
ICAibWF0aC1yYW5kb20iOiAiXjEuMC4xIgotICAgICAgfSwKLSAgICAgICJkZXBlbmRlbmNpZXMi
OiB7Ci0gICAgICAgICJpcy1udW1iZXIiOiB7Ci0gICAgICAgICAgInZlcnNpb24iOiAiNC4wLjAi
LAotICAgICAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9pcy1u
dW1iZXIvLS9pcy1udW1iZXItNC4wLjAudGd6IiwKLSAgICAgICAgICAiaW50ZWdyaXR5IjogInNo
YTUxMi1yU2tsY0FJbGYxT21GZHlBcWJuV1RMVmVsc1E1OHV2WjY2Uy9aeWF3aldxSXZpVFdDamcy
UHpWR3c4V1VBK25OdVBUcWI0d2dBK05zenJKKzA4TGxnUT09IiwKLSAgICAgICAgICAiZGV2Ijog
dHJ1ZQotICAgICAgICB9LAotICAgICAgICAia2luZC1vZiI6IHsKLSAgICAgICAgICAidmVyc2lv
biI6ICI2LjAuMiIsCi0gICAgICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBt
anMub3JnL2tpbmQtb2YvLS9raW5kLW9mLTYuMC4yLnRneiIsCi0gICAgICAgICAgImludGVncml0
eSI6ICJzaGE1MTItczVrTE9jbkgwWHFETytGdnVhTFg4RERqWjE4Q0dGazdWeWdINDBRb0tQVVFo
VzRlMnJ2TTByd1VxMHQ4SVFET3dZU2VMSzAxVTkwT2p6QlRtZTJRcUE9PSIsCi0gICAgICAgICAg
ImRldiI6IHRydWUKLSAgICAgICAgfQotICAgICAgfQotICAgIH0sCi0gICAgInJlZ2V4LWNhY2hl
IjogewotICAgICAgInZlcnNpb24iOiAiMC40LjQiLAotICAgICAgInJlc29sdmVkIjogImh0dHBz
Oi8vcmVnaXN0cnkubnBtanMub3JnL3JlZ2V4LWNhY2hlLy0vcmVnZXgtY2FjaGUtMC40LjQudGd6
IiwKLSAgICAgICJpbnRlZ3JpdHkiOiAic2hhNTEyLW5WSVp3dENqa0M5WWd2V2twTTU1QjVyQmhC
WVJaaEFhSmJnY0ZZWFhzSG5iWjlVWkk5bm5WV1lacEJsQ3F2OWhvMmVacnlQbldyWkdzT2RQd1ZX
WFdRPT0iLAotICAgICAgImRldiI6IHRydWUsCi0gICAgICAicmVxdWlyZXMiOiB7Ci0gICAgICAg
ICJpcy1lcXVhbC1zaGFsbG93IjogIl4wLjEuMyIKLSAgICAgIH0KLSAgICB9LAotICAgICJyZW1v
dmUtdHJhaWxpbmctc2VwYXJhdG9yIjogewotICAgICAgInZlcnNpb24iOiAiMS4xLjAiLAotICAg
ICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL3JlbW92ZS10cmFpbGlu
Zy1zZXBhcmF0b3IvLS9yZW1vdmUtdHJhaWxpbmctc2VwYXJhdG9yLTEuMS4wLnRneiIsCi0gICAg
ICAiaW50ZWdyaXR5IjogInNoYTEtd2t2T0tpZzYydFc4UDFqZzFJSkp1U041Mk84PSIsCi0gICAg
ICAiZGV2IjogdHJ1ZQotICAgIH0sCi0gICAgInJlcGVhdC1lbGVtZW50IjogewotICAgICAgInZl
cnNpb24iOiAiMS4xLjIiLAotICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBt
anMub3JnL3JlcGVhdC1lbGVtZW50Ly0vcmVwZWF0LWVsZW1lbnQtMS4xLjIudGd6IiwKLSAgICAg
ICJpbnRlZ3JpdHkiOiAic2hhMS03d2lhRjQwVWc3cXVUWlBybUxUNTVPRWRtUW89IiwKLSAgICAg
ICJkZXYiOiB0cnVlCi0gICAgfSwKLSAgICAicmVwZWF0LXN0cmluZyI6IHsKLSAgICAgICJ2ZXJz
aW9uIjogIjEuNi4xIiwKLSAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpz
Lm9yZy9yZXBlYXQtc3RyaW5nLy0vcmVwZWF0LXN0cmluZy0xLjYuMS50Z3oiLAotICAgICAgImlu
dGVncml0eSI6ICJzaGExLWpjcmtjT0hJaXJ3dFlBLy9TbmRpaHRwMTVqYz0iLAotICAgICAgImRl
diI6IHRydWUKLSAgICB9LAotICAgICJzbGFzaCI6IHsKLSAgICAgICJ2ZXJzaW9uIjogIjEuMC4w
IiwKLSAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9zbGFzaC8t
L3NsYXNoLTEuMC4wLnRneiIsCi0gICAgICAiaW50ZWdyaXR5IjogInNoYTEteEI4dmJEbjhGdEhO
RjYxTFhZbGhGSzVIRFZVPSIsCi0gICAgICAiZGV2IjogdHJ1ZQotICAgIH0sCi0gICAgInN0YWNr
LXV0aWxzIjogewotICAgICAgInZlcnNpb24iOiAiMS4wLjEiLAotICAgICAgInJlc29sdmVkIjog
Imh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL3N0YWNrLXV0aWxzLy0vc3RhY2stdXRpbHMtMS4w
LjEudGd6IiwKLSAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS0xUE02dFU2T09IZUxES1hQMDdPdnNT
MjJoaUE9IiwKLSAgICAgICJkZXYiOiB0cnVlCi0gICAgfSwKLSAgICAic3VwcG9ydHMtY29sb3Ii
OiB7Ci0gICAgICAidmVyc2lvbiI6ICI1LjMuMCIsCi0gICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6
Ly9yZWdpc3RyeS5ucG1qcy5vcmcvc3VwcG9ydHMtY29sb3IvLS9zdXBwb3J0cy1jb2xvci01LjMu
MC50Z3oiLAotICAgICAgImludGVncml0eSI6ICJzaGE1MTItMGFQMDFMTElza2pLczNscTUyRUMw
YUdCQUpoTHE3QjJSZDhIQy9EUi9QdE5OcGNMaWxObUhDMTJPK2h1MHVzUXBvN3d0SE5ScXRyaEJ3
dERiMCtkTmc9PSIsCi0gICAgICAiZGV2IjogdHJ1ZSwKLSAgICAgICJyZXF1aXJlcyI6IHsKLSAg
ICAgICAgImhhcy1mbGFnIjogIl4zLjAuMCIKLSAgICAgIH0KLSAgICB9LAotICAgICJ3cmFwcHki
OiB7Ci0gICAgICAidmVyc2lvbiI6ICIxLjAuMiIsCi0gICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6
Ly9yZWdpc3RyeS5ucG1qcy5vcmcvd3JhcHB5Ly0vd3JhcHB5LTEuMC4yLnRneiIsCi0gICAgICAi
aW50ZWdyaXR5IjogInNoYTEtdFNROWp6N0Jxalh4TmtZRnZBMFFOdU1LdHA4PSIsCi0gICAgICAi
ZGV2IjogdHJ1ZQotICAgIH0KLSAgfQotfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi9wYWNrYWdlLmpzb24g
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3BhY2thZ2UuanNvbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTJmYWNj
YWZhODEzZmI2MDdmNWJlNzNhMDdjZGE3ZjcwNzlkNjNkNS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3BhY2thZ2UuanNvbgorKysgL2Rldi9udWxs
CkBAIC0xLDI3ICswLDAgQEAKLXsKLSAgIm5hbWUiOiAid2ViaWRsMiIsCi0gICJkZXNjcmlwdGlv
biI6ICJBIFdlYklETCBQYXJzZXIiLAotICAidmVyc2lvbiI6ICIxMy4wLjMiLAotICAiY29udHJp
YnV0b3JzIjogWwotICAgICJSb2JpbiBCZXJqb24gPHJvYmluQGJlcmpvbi5jb20+IChodHRwczov
L2Jlcmpvbi5jb20pIiwKLSAgICAiTWFyY29zIENhY2VyZXMgPG1hcmNvc0BtYXJjb3NjLmNvbT4g
KGh0dHBzOi8vbWFyY29zYy5jb20pIiwKLSAgICAiS2FnYW1pIFNhc2NoYSBSb3N5bGlnaHQgPHNh
c2NoYXBsYXNAb3V0bG9vay5jb20+IiwKLSAgICAiVGltb3RoeSBHdSA8dGltb3RoeWd1OTlAZ21h
aWwuY29tPiIKLSAgXSwKLSAgImxpY2Vuc2UiOiAiVzNDIiwKLSAgImRlcGVuZGVuY2llcyI6IHt9
LAotICAiZGV2RGVwZW5kZW5jaWVzIjogewotICAgICJleHBlY3QiOiAiMjIuNC4wIiwKLSAgICAi
anNvbmRpZmZwYXRjaCI6ICIwLjMuNSIsCi0gICAgIm1vY2hhIjogIjUuMC40IgotICB9LAotICAi
c2NyaXB0cyI6IHsKLSAgICAidGVzdCI6ICJtb2NoYSIsCi0gICAgImFjcXVpcmUiOiAibm9kZSB0
ZXN0L3V0aWwvYWNxdWlyZS5qcyIKLSAgfSwKLSAgInJlcG9zaXRvcnkiOiAiZ2l0Oi8vZ2l0aHVi
LmNvbS93M2Mvd2ViaWRsMi5qcyIsCi0gICJtYWluIjogImluZGV4LmpzIiwKLSAgImZpbGVzIjog
WwotICAgICJsaWIvKiIKLSAgXQotfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQuanMg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3QvaW52YWxpZC5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTli
YmYwMDZlNTc5ZWY1OTk3YWUyM2MwMWRlY2YyOGMwYjBhY2I2OC4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC5qcworKysgL2Rl
di9udWxsCkBAIC0xLDIwICswLDAgQEAKLS8vIE5PVEVTOgotLy8gIC0gdGhlIGVycm9ycyBhY3R1
YWxseSBzdGlsbCBuZWVkIHRvIGJlIHJldmlld2VkIHRvIGNoZWNrIHRoYXQgdGhleQotLy8gICAg
YXJlIGZ1bGx5IGNvcnJlY3QgaW50ZXJwcmV0YXRpb25zIG9mIHRoZSBJRExzCi0KLSJ1c2Ugc3Ry
aWN0IjsKLQotY29uc3QgeyBjb2xsZWN0IH0gPSByZXF1aXJlKCIuL3V0aWwvY29sbGVjdCIpOwot
Y29uc3QgZnMgPSByZXF1aXJlKCJmcyIpOwotY29uc3QgZXhwZWN0ID0gcmVxdWlyZSgiZXhwZWN0
Iik7Ci0KLWRlc2NyaWJlKCJQYXJzZXMgYWxsIG9mIHRoZSBpbnZhbGlkIElETHMgdG8gY2hlY2sg
dGhhdCB0aGV5IGJsb3cgdXAgY29ycmVjdGx5IiwgKCkgPT4gewotICBmb3IgKGNvbnN0IHRlc3Qg
b2YgY29sbGVjdCgiaW52YWxpZCIsIHsgZXhwZWN0RXJyb3I6IHRydWUgfSkpIHsKLSAgICBpdChg
c2hvdWxkIHByb2R1Y2UgdGhlIHJpZ2h0IGVycm9yIGZvciAke3Rlc3QucGF0aH1gLCAoKSA9PiB7
Ci0gICAgICBjb25zdCBlcnIgPSB0ZXN0LnJlYWRKU09OKCk7Ci0gICAgICBleHBlY3QodGVzdC5l
cnJvcikudG9CZVRydXRoeSgpOwotICAgICAgZXhwZWN0KHRlc3QuZXJyb3IubWVzc2FnZSkudG9F
cXVhbChlcnIubWVzc2FnZSk7Ci0gICAgICBleHBlY3QodGVzdC5lcnJvci5saW5lKS50b0VxdWFs
KGVyci5saW5lKTsKLSAgICB9KTsKLSAgfQotfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52
YWxpZC9pZGwvYXJyYXkud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9hcnJheS53aWRsCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1OGE4NjE4YWI2NDg1NzkyNDdhOGNkMDBhYzlk
YzRhNTg1ZmFmNmI4Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9hcnJheS53aWRsCisrKyAvZGV2L251bGwKQEAgLTEs
NiArMCwwIEBACi0vLyBFeHRyYWN0ZWQgZnJvbSBodHRwOi8vZGV2LnczLm9yZy8yMDA2L3dlYmFw
aS9XZWJJREwvIG9uIDIwMTEtMDUtMDYKLS8vIFRbXSBpcyByZW1vdmVkIGJ5IGh0dHBzOi8vZ2l0
aHViLmNvbS9oZXljYW0vd2ViaWRsL2NvbW1pdC8wNzljYmI4NjFhOTllOWU4NTdhM2YyYTE2OWMw
YmVlYjQ5Y2QwMjBhCi1bQ29uc3RydWN0b3JdCi1pbnRlcmZhY2UgTG90dGVyeVJlc3VsdHMgewot
ICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgc2hvcnRbXVtdIG51bWJlcnM7Ci19OwpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lk
bC9jYWxsZXIud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9jYWxsZXIud2lkbApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjZmZWRjMzNmOTQwMmM2NTFlYmQxNTYyOWE4ZmNiNzIx
MjEwMjEyMC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3QvaW52YWxpZC9pZGwvY2FsbGVyLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSw3ICsw
LDAgQEAKLS8vIEV4dHJhY3RlZCBmcm9tIGh0dHA6Ly9kZXYudzMub3JnLzIwMDYvd2ViYXBpL1dl
YklETC8gb24gMjAxMS0wNS0wNgotLy8gbGVnYWN5Y2FsbGVycyBhcmUgcmVtb3ZlZCBieSBodHRw
czovL2dpdGh1Yi5jb20vaGV5Y2FtL3dlYmlkbC9wdWxsLzQxMgotCi1pbnRlcmZhY2UgTnVtYmVy
UXVhZHJ1cGxlciB7Ci0gIC8vIFRoaXMgb3BlcmF0aW9uIHNpbXBseSByZXR1cm5zIGZvdXIgdGlt
ZXMgdGhlIGdpdmVuIG51bWJlciB4LgotICBsZWdhY3ljYWxsZXIgZmxvYXQgY29tcHV0ZShmbG9h
dCB4KTsKLX07ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L2ludmFsaWQvaWRsL2RpY3QtcmVxdWlyZWQtZGVmYXVsdC53aWRsIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2lu
dmFsaWQvaWRsL2RpY3QtcmVxdWlyZWQtZGVmYXVsdC53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCA0MTI0NDhkMjI2MWY4ODJiMTE3YWI4YmIwMTdkYjZhNDQzZTMwZWViLi4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZh
bGlkL2lkbC9kaWN0LXJlcXVpcmVkLWRlZmF1bHQud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDUg
KzAsMCBAQAotLy8gaHR0cHM6Ly9oZXljYW0uZ2l0aHViLmlvL3dlYmlkbC8jcmVxdWlyZWQtZGlj
dGlvbmFyeS1tZW1iZXIKLS8vICJBIHJlcXVpcmVkIGRpY3Rpb25hcnkgbWVtYmVyIG11c3Qgbm90
IGhhdmUgYSBkZWZhdWx0IHZhbHVlLiIKLWRpY3Rpb25hcnkgRGljdCB7Ci0gIHJlcXVpcmVkIGxv
bmcgbWVtYmVyID0gMDsKLX07CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvZHVw
bGljYXRlLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvZHVwbGljYXRlLndpZGwKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ5MTZhZjM0MjczZDMwZGQ3NTc5YTliZTM2MmM1Zjhk
ZWI2NWRmMzYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L2ludmFsaWQvaWRsL2R1cGxpY2F0ZS53aWRsCisrKyAvZGV2L251bGwKQEAgLTEs
NSArMCwwIEBACi10eXBlZGVmIGludCBUZXN0OwotCi1pbnRlcmZhY2UgVGVzdCB7Ci0gIHZvaWQg
Zm9vKCk7Ci19OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL2VudW0tZW1wdHku
d2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9lbnVtLWVtcHR5LndpZGwKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDdmMTg5ZWI2MmMxYmQyYjZkNzEwNTMyYjgwNDJhNDU5ZDdiYTFi
MWYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L2ludmFsaWQvaWRsL2VudW0tZW1wdHkud2lkbAorKysgL2Rldi9udWxsCkBAIC0xICswLDAg
QEAKLWVudW0gRW1wdHkge307CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvZW51
bS13by1jb21tYS53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL2VudW0td28tY29tbWEud2lk
bApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZWJjNTMwNjVlZGVkZWQ2MmQyN2M4N2Fl
M2IxYjY2MTg3NGQzYzcxNS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvZW51bS13by1jb21tYS53aWRsCisrKyAvZGV2
L251bGwKQEAgLTEgKzAsMCBAQAotZW51bSBOb0NvbW1hIHsgInZhbHVlMSIgInZhbHVlMiIgfTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9lbnVtLndpZGwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
aW52YWxpZC9pZGwvZW51bS53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjMzU1
YzMyNTFjMDA4NDM1MmEzMmM1NjBhMTc0ZTAwYmRlZDA4MTA5Li4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9lbnVtLndp
ZGwKKysrIC9kZXYvbnVsbApAQCAtMSArMCwwIEBACi1lbnVtIGZvbyB7IDEsIDIsIDN9OwpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lk
bC9leGNlcHRpb24ud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9leGNlcHRpb24ud2lkbApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTBlYTJlNDdlMjA4MzM2NDE0NDBiMDk1YTli
MmQyZDAyZjQ1MDRiNy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvZXhjZXB0aW9uLndpZGwKKysrIC9kZXYvbnVsbApA
QCAtMSw2ICswLDAgQEAKLS8vIEV4dHJhY3RlZCBmcm9tIGh0dHA6Ly9kZXYudzMub3JnLzIwMDYv
d2ViYXBpL1dlYklETC8gb24gMjAxMS0wNS0wNgotLy8gSURMIGV4Y2VwdGlvbnMgYXJlIHJlbW92
ZWQgYnkgaHR0cHM6Ly9naXRodWIuY29tL2hleWNhbS93ZWJpZGwvY29tbWl0LzUwZTE3MmVjMDc5
ZGIwNzNjMzcyNGM5YmVhYzFiNTc2ZmI1ZGJjNDcKLQotZXhjZXB0aW9uIFNvbWVFeGNlcHRpb24g
ewotfTsKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL2V4dGF0dHItZW1wdHkt
aWRzLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvZXh0YXR0ci1lbXB0eS1pZHMud2lkbApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTNjNDhjM2FkZTVmYTQ0OGNkZGQzMzk5ZjBk
NDFkZTU2MjY4ZjJhZi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvZXh0YXR0ci1lbXB0eS1pZHMud2lkbAorKysgL2Rl
di9udWxsCkBAIC0xLDIgKzAsMCBAQAotW0V4cG9zZWQ9KCldCi1pbnRlcmZhY2UgVW5leHBvc2Vk
IHt9OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL2lkLXVuZGVyc2NvcmVkLW51
bWJlci53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL2lkLXVuZGVyc2NvcmVkLW51bWJlci53
aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkMDAxMjFmZDU0ZjJmMzE5MDNmYjc1
OTJmNWQ2ZTQzOGI2OTdhNGZiLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9pZC11bmRlcnNjb3JlZC1udW1iZXIud2lk
bAorKysgL2Rldi9udWxsCkBAIC0xICswLDAgQEAKLWludGVyZmFjZSBfMCB7fTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9pbXBsZW1lbnRzX2FuZF9pbmNsdWRlc193cy53aWRs
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL2ltcGxlbWVudHNfYW5kX2luY2x1ZGVzX3dzLndpZGwK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY2NjZkYWVkMDBjM2U3ZDliN2Y2NDk3MDAz
MGEyZDQ2YTM4ZTQ5NjcuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL2ltcGxlbWVudHNfYW5kX2luY2x1ZGVzX3dzLndp
ZGwKKysrIC9kZXYvbnVsbApAQCAtMSw0ICswLDAgQEAKLS8vIFRoaXMgaGl0cyB0aGUgdW5zaGlm
dGluZyBvZiB3aGl0ZXNwYWNlIGluIHRoZSAiaW1wbGVtZW50cyIgYW5kCi0vLyAiaW5jbHVkZXMi
IHByb2R1Y3Rpb25zLiBJZiB0aGVyZSBpcyBhIGJ1ZyBpbiB0aGF0IHdoaXRlc3BhY2UKLS8vIHJv
bGxiYWNrLCB0aGUgd3JvbmcgZXhjZXB0aW9uIHdpbGwgYmUgcHJvZHVjZWQuCi1mb29iYXI7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvaXRlcmF0b3Iud2lkbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC9pbnZhbGlkL2lkbC9pdGVyYXRvci53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAzYmYxYjM2ZGVjNjc1NjU2Y2JmZDdlYTQ2MDM2MTdiM2RiOTFiZmM2Li4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9p
dGVyYXRvci53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsMzUgKzAsMCBAQAotaW50ZXJmYWNlIFNl
c3Npb25NYW5hZ2VyIHsKLSAgU2Vzc2lvbiBnZXRTZXNzaW9uRm9yVXNlcihET01TdHJpbmcgdXNl
cm5hbWUpOwotICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBzZXNzaW9uQ291bnQ7
Ci0KLSAgU2Vzc2lvbiBpdGVyYXRvcjsKLX07Ci0KLWludGVyZmFjZSBTZXNzaW9uIHsKLSAgcmVh
ZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyB1c2VybmFtZTsKLSAgLy8gLi4uCi19OwotCi1pbnRl
cmZhY2UgU2Vzc2lvbk1hbmFnZXIyIHsKLSAgU2Vzc2lvbjIgZ2V0U2Vzc2lvbkZvclVzZXIoRE9N
U3RyaW5nIHVzZXJuYW1lKTsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgc2Vz
c2lvbkNvdW50OwotCi0gIFNlc3Npb24yIGl0ZXJhdG9yID0gU2Vzc2lvbkl0ZXJhdG9yOwotfTsK
LQotaW50ZXJmYWNlIFNlc3Npb24yIHsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyB1
c2VybmFtZTsKLSAgLy8gLi4uCi19OwotCi1pbnRlcmZhY2UgU2Vzc2lvbkl0ZXJhdG9yIHsKLSAg
cmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgcmVtYWluaW5nU2Vzc2lvbnM7Ci19Owot
Ci0gICAgIGludGVyZmFjZSBOb2RlTGlzdCB7Ci0gICAgICAgTm9kZSBpdGVyYXRvciA9IE5vZGVJ
dGVyYXRvcjsKLSAgICAgfTsKLQotICAgICBpbnRlcmZhY2UgTm9kZUl0ZXJhdG9yIHsKLSAgICAg
ICBOb2RlIGl0ZXJhdG9yIG9iamVjdDsKLSAgICAgfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvbWFwbGlrZS0xdHlwZS53aWRs
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL21hcGxpa2UtMXR5cGUud2lkbApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggZWZiNWMxNGZmZDYyNmY3NzE5Mjc3ZWUzODkyZmNlNWZiNjY0ZWM0
NS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3QvaW52YWxpZC9pZGwvbWFwbGlrZS0xdHlwZS53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsMyAr
MCwwIEBACi1pbnRlcmZhY2UgTWFwTGlrZU9uZVR5cGUgewotICBtYXBsaWtlPGxvbmc+OwotfQpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlk
L2lkbC9tb2R1bGUud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9tb2R1bGUud2lkbApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTRjNzlmZGYxNTVlYTU1OGFlZWFjNTExMzM0NWMz
MDA3NDVkNjI4MS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvbW9kdWxlLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSwy
NSArMCwwIEBACi0vLyBFeHRyYWN0ZWQgZnJvbSBodHRwOi8vZGV2LnczLm9yZy8yMDA2L3dlYmFw
aS9XZWJJREwvIG9uIDIwMTEtMDUtMDYKLW1vZHVsZSBnZnggewotCi0gIG1vZHVsZSBnZW9tIHsK
LSAgICBpbnRlcmZhY2UgU2hhcGUgeyAvKiAuLi4gKi8gfTsKLSAgICBpbnRlcmZhY2UgUmVjdGFu
Z2xlIDogU2hhcGUgeyAvKiAuLi4gKi8gfTsKLSAgICBpbnRlcmZhY2UgUGF0aCA6IFNoYXBlIHsg
LyogLi4uICovIH07Ci0gIH07Ci0KLSAgaW50ZXJmYWNlIEdyYXBoaWNzQ29udGV4dCB7Ci0gICAg
dm9pZCBmaWxsU2hhcGUoZ2VvbTo6U2hhcGUgcyk7Ci0gICAgdm9pZCBzdHJva2VTaGFwZShnZW9t
OjpTaGFwZSBzKTsKLSAgfTsKLX07Ci0KLW1vZHVsZSBndWkgewotCi0gIGludGVyZmFjZSBXaWRn
ZXQgeyAvKiAuLi4gKi8gIH07Ci0KLSAgaW50ZXJmYWNlIFdpbmRvdyA6IFdpZGdldCB7Ci0gICAg
Z2Z4OjpHcmFwaGljc0NvbnRleHQgZ2V0R3JhcGhpY3NDb250ZXh0KCk7Ci0gIH07Ci0KLSAgaW50
ZXJmYWNlIEJ1dHRvbiA6IFdpZGdldCB7IC8qIC4uLiAqLyAgfTsKLX07ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL25hbWVzcGFj
ZS1yZWFkd3JpdGUud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9uYW1lc3BhY2UtcmVhZHdy
aXRlLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGUxODQxMzMyMjg0NThlOTFj
ZmYyY2M4OGZjZjNlZTg3ZmZmOTJlM2YuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL25hbWVzcGFjZS1yZWFkd3JpdGUu
d2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDMgKzAsMCBAQAotbmFtZXNwYWNlIENTUyB7Ci0gIGF0
dHJpYnV0ZSBvYmplY3QgcmVhZHdyaXRlOwotfTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZh
bGlkL2lkbC9uby1zZW1pY29sb24tY2FsbGJhY2sud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lk
bC9uby1zZW1pY29sb24tY2FsbGJhY2sud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggY2IyMDU1NzE4ZTVmMDQ0YTY3MTQyNDUzMmVlZTZhZmU1NzdiZWJjMi4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwv
bm8tc2VtaWNvbG9uLWNhbGxiYWNrLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSw3ICswLDAgQEAK
LWNhbGxiYWNrIGludGVyZmFjZSBOb1NlbWljb2xvbiB7Ci0gIGF0dHJpYnV0ZSBib29sZWFuIG5v
U2VtaUNvbG9uOwotfQotCi1lbnVtIFlvdU5lZWRPbmUgewotICAicmVhbGx5IgotfQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL25vLXNlbWljb2xvbi53aWRsIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L2ludmFsaWQvaWRsL25vLXNlbWljb2xvbi53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAxMGJjNzE2MjQ5YjNlMWZhNDBmYWFjYjcyOThlZTNiMWY3YjY3M2JmLi4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lk
bC9uby1zZW1pY29sb24ud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDcgKzAsMCBAQAotcGFydGlh
bCBpbnRlcmZhY2UgTm9TZW1pY29sb24gewotICBhdHRyaWJ1dGUgYm9vbGVhbiBub1NlbWlDb2xv
bjsKLX0KLQotZW51bSBZb3VOZWVkT25lIHsKLSAgInJlYWxseSIKLX0KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC9pbnZhbGlkL2lkbC9ub25udWxsYWJsZWFueS53aWRsIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFs
aWQvaWRsL25vbm51bGxhYmxlYW55LndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDM4OTU3NjU1NTIzNmQ5MTFjYTdjNmI3YmJiNTY2MDVmZTAxMDE4MTQuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL25v
bm51bGxhYmxlYW55LndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSwzICswLDAgQEAKLWludGVyZmFj
ZSBOb25OdWxsYWJsZSB7Ci0gIGF0dHJpYnV0ZSBhbnk/IGZvbzsKLX07ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL25vbm51bGxh
Ymxlb2JqZWN0cy53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL25vbm51bGxhYmxlb2JqZWN0
cy53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2Yzg3NWZmMDRiNTIzMTJiYzU1
ZjczNzM0N2U5OTI0YzI2ODQ3Y2Q4Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9ub25udWxsYWJsZW9iamVjdHMud2lk
bAorKysgL2Rldi9udWxsCkBAIC0xLDYgKzAsMCBAQAotaW50ZXJmYWNlIEZvbyB7fTsKLQotaW50
ZXJmYWNlIE5vbk51bGxhYmxlIHsKLSAgYXR0cmlidXRlIEZvbz8/Ci0gICAgZm9vOwotfTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9wcm9taXNlLW51bGxhYmxlLndpZGwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3QvaW52YWxpZC9pZGwvcHJvbWlzZS1udWxsYWJsZS53aWRsCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCA4OTRkN2MwNDRiMmE1YjRlOWQzMDQyN2NkOTEzZGY3YjcwOWJkZmE1
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC9pbnZhbGlkL2lkbC9wcm9taXNlLW51bGxhYmxlLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSw0
ICswLDAgQEAKLWludGVyZmFjZSBYIHsKLSAgICBhdHRyaWJ1dGUgUHJvbWlzZTx2b2lkPj8KLSAg
ICAgICAgcHJvbWlzZTsKLX07CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvcHJv
bWlzZS13aXRoLWV4dGVuZGVkLWF0dHJpYnV0ZS53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRs
L3Byb21pc2Utd2l0aC1leHRlbmRlZC1hdHRyaWJ1dGUud2lkbApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMGNlMTcxZmVjMzNlNzJkMzYxNjhhZDBkNzMxYzUxOTlhZGI4YjA4ZS4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52
YWxpZC9pZGwvcHJvbWlzZS13aXRoLWV4dGVuZGVkLWF0dHJpYnV0ZS53aWRsCisrKyAvZGV2L251
bGwKQEAgLTEsMyArMCwwIEBACi1pbnRlcmZhY2UgRm9vIHsKLSAgUHJvbWlzZTxbWEF0dHJdIERP
TVN0cmluZz4gZm9vKGFueSBwYXJhbSk7Ci19OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFs
aWQvaWRsL3JhaXNlcy53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL3JhaXNlcy53aWRsCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmZjY1NTIyZjJiMzM1NTdlNTIzNjg2ZWI2MzMy
ZTEzYTdmZDRhMDc5Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9yYWlzZXMud2lkbAorKysgL2Rldi9udWxsCkBAIC0x
LDE4ICswLDAgQEAKLS8vIGdldHJhaXNlcyBhbmQgc2V0cmFpc2VzIGFyZSBub3QgbG9uZ2VyIHZh
bGlkIFdlYiBJREwKLWludGVyZmFjZSBQZXJzb24gewotCi0gIC8vIEFuIGF0dHJpYnV0ZSB0aGF0
IGNhbiByYWlzZSBhbiBleGNlcHRpb24gaWYgaXQgaXMgc2V0IHRvIGFuIGludmFsaWQgdmFsdWUu
Ci0gIGF0dHJpYnV0ZSBET01TdHJpbmcgbmFtZSBzZXRyYWlzZXMgKEludmFsaWROYW1lKTsKLQot
ICAvLyBBbiBhdHRyaWJ1dGUgd2hvc2UgdmFsdWUgY2Fubm90IGJlIGFzc2lnbmVkIHRvLCBhbmQg
d2hpY2ggY2FuIHJhaXNlIGFuCi0gIC8vIGV4Y2VwdGlvbiBzb21lIGNpcmN1bXN0YW5jZXMuCi0g
IHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgcGV0TmFtZSBnZXRyYWlzZXMgKE5vU3VjaFBl
dCk7Ci19OwotCi1leGNlcHRpb24gU29tZUV4Y2VwdGlvbiB7Ci19OwotCi1pbnRlcmZhY2UgRXhj
ZXB0aW9uVGhyb3dlciB7Ci0gIC8vIFRoaXMgYXR0cmlidXRlIGFsd2F5cyB0aHJvd3MgYSBTb21l
RXhjZXB0aW9uIGFuZCBuZXZlciByZXR1cm5zIGEgdmFsdWUuCi0gIGF0dHJpYnV0ZSBsb25nIHZh
bHVlT2YgZ2V0cmFpc2VzKFNvbWVFeGNlcHRpb24pOwotfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvcmVhZG9ubHktaXRlcmFi
bGUud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9yZWFkb25seS1pdGVyYWJsZS53aWRsCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2MDU3YWExZmViYTY0ZWJjZTYxYzllYzA2N2Y2
MjUwZjAzNmVmYTBlLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9yZWFkb25seS1pdGVyYWJsZS53aWRsCisrKyAvZGV2
L251bGwKQEAgLTEsMyArMCwwIEBACi1pbnRlcmZhY2UgUmVhZG9ubHlJdGVyYWJsZSB7Ci0gIHJl
YWRvbmx5IGl0ZXJhYmxlPGxvbmc+OwotfQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9yZWNvcmQta2V5LXdpdGgtZXh0ZW5kZWQt
YXR0cmlidXRlLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvcmVjb3JkLWtleS13aXRoLWV4
dGVuZGVkLWF0dHJpYnV0ZS53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjMTFl
Yjc0MTRiMGI4ZmNkOWYyZjZhMTgzM2JjNzY0MTg1YjA1MWZlLi4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9yZWNvcmQt
a2V5LXdpdGgtZXh0ZW5kZWQtYXR0cmlidXRlLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSwzICsw
LDAgQEAKLWludGVyZmFjZSBGb28gewotICB2b2lkIGZvbyhyZWNvcmQ8W1hBdHRyXSBET01TdHJp
bmcsIGFueT4gcGFyYW0pOwotfTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9y
ZWNvcmQta2V5LndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvcmVjb3JkLWtleS53aWRsCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzOWRjMzg2MTgyZjgwOWRmNjUxZDc3NzE1YWI1
NTMzOGY2M2FhNmY1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9yZWNvcmQta2V5LndpZGwKKysrIC9kZXYvbnVsbApA
QCAtMSwzICswLDAgQEAKLWludGVyZmFjZSBGb28gewotICB2b2lkIGZvbyhyZWNvcmQ8b2N0ZXQs
IGFueT4gcGFyYW0pOwotfTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9yZWNv
cmQtc2luZ2xlLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvcmVjb3JkLXNpbmdsZS53aWRs
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4NGRiNDAyODI0MzNiODVmNmEyOWNkMjM2
ZmRkNTFhZmU0MmM1M2E4Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9yZWNvcmQtc2luZ2xlLndpZGwKKysrIC9kZXYv
bnVsbApAQCAtMSwzICswLDAgQEAKLWludGVyZmFjZSBGb28gewotICB2b2lkIGZvbyhyZWNvcmQ8
RE9NU3RyaW5nPiBwYXJhbSk7Ci19OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRs
L3Njb3BlZG5hbWUud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9zY29wZWRuYW1lLndpZGwK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGNmY2IxY2NjOTM5NWNkNDJlZDUxOTJmZTRl
YTA5NDU1MGY3MzU0ZWUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL3Njb3BlZG5hbWUud2lkbAorKysgL2Rldi9udWxs
CkBAIC0xLDIgKzAsMCBAQAotLy8gc2NvcGVkIG5hbWVzIGFyZSBubyBsb25nZXIgdmFsaWQgaW4g
V2ViSURMCi0gIHR5cGVkZWYgZ2Z4OjpnZW9tOjpnZW9tMmQ6OlBvaW50IFBvaW50OwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL3NlcXVlbmNlQXNBdHRyaWJ1dGUud2lkbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC9pbnZhbGlkL2lkbC9zZXF1ZW5jZUFzQXR0cmlidXRlLndpZGwKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IGMyM2RhODJhYzIyMTk4YWE1N2UxZGFiYjY0ZmE3YmExMjVjNzU5
OTYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L2ludmFsaWQvaWRsL3NlcXVlbmNlQXNBdHRyaWJ1dGUud2lkbAorKysgL2Rldi9udWxsCkBA
IC0xLDMgKzAsMCBAQAotaW50ZXJmYWNlIHNlcXVlbmNlQXNBdHRyaWJ1dGUgewotICBhdHRyaWJ1
dGUgc2VxdWVuY2U8c2hvcnQ+IGludmFsaWQ7Ci19OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9zZXRsaWtlLTJ0eXBlcy53aWRs
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL3NldGxpa2UtMnR5cGVzLndpZGwKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IGMyNjgxYmM3NWYxZThiMzhhMmI4M2NlOWVlNWEyNjJmYmRjZGE3
NjIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L2ludmFsaWQvaWRsL3NldGxpa2UtMnR5cGVzLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSwz
ICswLDAgQEAKLWludGVyZmFjZSBTZXRMaWtlVHdvVHlwZXMgewotICBzZXRsaWtlPGxvbmcsIGxv
bmc+OwotfQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC9pbnZhbGlkL2lkbC9zZXR0ZXItY3JlYXRvci53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRs
L3NldHRlci1jcmVhdG9yLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGE3MGIy
Njc3NGQ3MjJmOTkxMTliOGU3Y2U5NzViMTE2MjczMzgxNDUuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL3NldHRlci1j
cmVhdG9yLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSw0ICswLDAgQEAKLS8vIEV4dHJhY3RlZCBm
cm9tIGh0dHA6Ly9kZXYudzMub3JnLzIwMDYvd2ViYXBpL1dlYklETC8gb24gMjAxMS0wNS0wNgot
aW50ZXJmYWNlIE9yZGVyZWRNYXAgewotICBzZXR0ZXIgY3JlYXRvciB2b2lkIHNldChET01TdHJp
bmcgbmFtZSwgYW55IHZhbHVlKTsKLX07CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9p
ZGwvc3BhY2VkLW5lZ2F0aXZlLWluZmluaXR5LndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwv
c3BhY2VkLW5lZ2F0aXZlLWluZmluaXR5LndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDNkNzEyMjJlNTRiNTkyOTA2MmZjN2IyMDgwYjk5MTA3ZTlmMTE5YzIuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRs
L3NwYWNlZC1uZWdhdGl2ZS1pbmZpbml0eS53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsMyArMCww
IEBACi1pbnRlcmZhY2UgWCB7Ci0gICAgY29uc3QgZmxvYXQgaW5maW5pdHkgPSAtIEluZmluaXR5
OwotfTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9zcGFjZWQtdmFyaWFkaWMu
d2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9zcGFjZWQtdmFyaWFkaWMud2lkbApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmQ3N2UxODZkNjY3MGZkMDM1MTkzNGRiMTJiZTAxZjdk
NGFmZjAxYS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3QvaW52YWxpZC9pZGwvc3BhY2VkLXZhcmlhZGljLndpZGwKKysrIC9kZXYvbnVsbApA
QCAtMSwzICswLDAgQEAKLWludGVyZmFjZSBYIHsKLSAgICB2b2lkIG9wZXJhdGlvbihvYmplY3Qg
LiAuIC4gYXJncyk7Ci19OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL3NwZWNp
YWwtb21pdHRhYmxlLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvc3BlY2lhbC1vbWl0dGFi
bGUud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZGQwYzFiMTg1ODk5NzljNGJh
YmEzMDFhNmU3OTJiYjFkMWVjYTRlMS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvc3BlY2lhbC1vbWl0dGFibGUud2lk
bAorKysgL2Rldi9udWxsCkBAIC0xLDggKzAsMCBAQAotLy8gRXh0cmFjdGVkIGZyb20gaHR0cDov
L2Rldi53My5vcmcvMjAwNi93ZWJhcGkvV2ViSURMLyBvbiAyMDExLTA1LTA2Ci0vLyBvbWl0dGFi
bGUgaXMgbm8gbG9uZ2VyIGEgcmVjb2duaXplZCBrZXl3b3JkIGFzIG9mIDIwMTEwOTA1Ci1pbnRl
cmZhY2UgRGljdGlvbmFyeSB7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIHBy
b3BlcnR5Q291bnQ7Ci0KLSAgb21pdHRhYmxlIGdldHRlciBmbG9hdCBnZXRQcm9wZXJ0eShET01T
dHJpbmcgcHJvcGVydHlOYW1lKTsKLSAgb21pdHRhYmxlIHNldHRlciB2b2lkIHNldFByb3BlcnR5
KERPTVN0cmluZyBwcm9wZXJ0eU5hbWUsIGZsb2F0IHByb3BlcnR5VmFsdWUpOwotfTsKXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwv
c3RyYXktc2xhc2gud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9zdHJheS1zbGFzaC53aWRs
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiNjczYWE5NGIwMWQ2NWEwYjY2Njg3OWY4
Yzg5OWM4NjExMWM3YWI0Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9zdHJheS1zbGFzaC53aWRsCisrKyAvZGV2L251
bGwKQEAgLTEsMiArMCwwIEBACi0vLyBUaGlzIGlzIGEgY29tbWVudC4KLS8gVGhpcyBpcyBub3Qu
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvc3RyaW5nY29uc3RhbnRzLndpZGwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvc3RyaW5nY29uc3RhbnRzLndpZGwKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDQ0ZmQzZmYxMzZlZTU2NzE2MzdkMDJjYjgwOTY0ZGRiYTA5MmE2
NTguLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L2ludmFsaWQvaWRsL3N0cmluZ2NvbnN0YW50cy53aWRsCisrKyAvZGV2L251bGwKQEAgLTEs
MyArMCwwIEBACi1pbnRlcmZhY2UgVXRpbCB7Ci0gIGNvbnN0IERPTVN0cmluZyBoZWxsbyA9ICJ3
b3JsZCI7Ci19OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC9pbnZhbGlkL2lkbC90eXBlZGVmLW5lc3RlZC53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQv
aWRsL3R5cGVkZWYtbmVzdGVkLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRm
ZDM3N2JmOTMyYjk4Y2NlZWViNjk3NTVlOGVhY2ZhMzg0MTdhZTAuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL3R5cGVk
ZWYtbmVzdGVkLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSwyMiArMCwwIEBACi0KLSAgICAgIGlu
dGVyZmFjZSBQb2ludCB7Ci0gICAgICAgIGF0dHJpYnV0ZSBmbG9hdCB4OwotICAgICAgICBhdHRy
aWJ1dGUgZmxvYXQgeTsKLSAgICAgIH07Ci0KLQotICAgICAgaW50ZXJmYWNlIFJlY3QgewotICAg
ICAgICBhdHRyaWJ1dGUgUG9pbnQgdG9wbGVmdDsKLSAgICAgICAgYXR0cmlidXRlIFBvaW50IGJv
dHRvbXJpZ2h0OwotICAgICAgfTsKLQotICBpbnRlcmZhY2UgV2lkZ2V0IHsKLSAgICB0eXBlZGVm
IHNlcXVlbmNlPFBvaW50PiBQb2ludFNlcXVlbmNlOwotCi0gICAgcmVhZG9ubHkgYXR0cmlidXRl
IFJlY3QgYm91bmRzOwotCi0gICAgYm9vbGVhbiBwb2ludFdpdGhpbkJvdW5kcyhQb2ludCBwKTsK
LSAgICBib29sZWFuIGFsbFBvaW50c1dpdGhpbkJvdW5kcyhQb2ludFNlcXVlbmNlIHBzKTsKLSAg
fTsKLQotICB0eXBlZGVmIFtDbGFtcF0gb2N0ZXQgdmFsdWU7ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL3VuaW9uLWRhbmdsaW5n
LW9yLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvdW5pb24tZGFuZ2xpbmctb3Iud2lkbApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMGFhMDQzZTlhY2E5NTg3ZGZiNWM0NGVmOTY0
NzdiOThkNTIxNWVkNC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvdW5pb24tZGFuZ2xpbmctb3Iud2lkbAorKysgL2Rl
di9udWxsCkBAIC0xICswLDAgQEAKLXR5cGVkZWYgKE9uZSBvciBUd28gb3IpIFVuaW9uT3I7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvdW5pb24tb25lLndpZGwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3QvaW52YWxpZC9pZGwvdW5pb24tb25lLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDg2ZWU5NmY1MTZkNjM1MzZhMTdiZjFlZjVjYjhkMTc4ZGMwY2EzMjYuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRs
L3VuaW9uLW9uZS53aWRsCisrKyAvZGV2L251bGwKQEAgLTEgKzAsMCBAQAotdHlwZWRlZiAoT25s
eU9uZSkgVW5pb25PbmU7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvdW5pb24t
emVyby53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL3VuaW9uLXplcm8ud2lkbApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTc3ZmM0YzcwOGY5MDFjMDg5OTgzMzE3YjVkYmNlMjM5
NDEzMjliMS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3QvaW52YWxpZC9pZGwvdW5pb24temVyby53aWRsCisrKyAvZGV2L251bGwKQEAgLTEg
KzAsMCBAQAotdHlwZWRlZiAoKSBVbmlvblplcm87CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52
YWxpZC9pZGwvdW5rbm93bi1nZW5lcmljLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvdW5r
bm93bi1nZW5lcmljLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGVlNGEyZGI3
NGE2M2JkZWYxMWQyOTIwZTZiNjk4YjdiNGRjMGYxNTUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL3Vua25vd24tZ2Vu
ZXJpYy53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsMyArMCwwIEBACi1pbnRlcmZhY2UgRmV0Y2hF
dmVudCA6IEV2ZW50IHsKLSAgUmVzcG9uc2VQcm9taXNlPGFueT4gZGVmYXVsdCgpOwotfTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC9pbnZhbGlkL2lkbC93M2MtaW1wb3J0LmxvZwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggZjJjZWI0ZGY2ZWM3ZDU2ZGU5MWU4MGQ4NWQ4ZTNhNDI5ZGIwM2Q1Yy4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwv
dzNjLWltcG9ydC5sb2cKKysrIC9kZXYvbnVsbApAQCAtMSw1NiArMCwwIEBACi1UaGUgdGVzdHMg
aW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4K
LURvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVhZCwg
Y3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0aHVi
LmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0Ci0KLVRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRz
L2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0Ci0KLURvIE5PVCBtb2RpZnkg
b3IgcmVtb3ZlIHRoaXMgZmlsZS4KLQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1Qcm9wZXJ0aWVzIHJlcXVp
cmluZyB2ZW5kb3IgcHJlZml4ZXM6Ci1Ob25lCi1Qcm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5nIHZl
bmRvciBwcmVmaXhlczoKLU5vbmUKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotTGlzdCBvZiBmaWxlczoKLS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3QvaW52YWxpZC9pZGwvYXJyYXkud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9j
YWxsZXIud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9kaWN0LXJlcXVpcmVkLWRlZmF1bHQu
d2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9kdXBsaWNhdGUud2lkbAotL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9p
bnZhbGlkL2lkbC9lbnVtLWVtcHR5LndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvZW51bS13
by1jb21tYS53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL2VudW0ud2lkbAotL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC9pbnZhbGlkL2lkbC9leGNlcHRpb24ud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9leHRh
dHRyLWVtcHR5LWlkcy53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL2lkLXVuZGVyc2NvcmVk
LW51bWJlci53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL2ltcGxlbWVudHNfYW5kX2luY2x1
ZGVzX3dzLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvaXRlcmF0b3Iud2lkbAotL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC9pbnZhbGlkL2lkbC9tYXBsaWtlLTF0eXBlLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9p
ZGwvbW9kdWxlLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvbmFtZXNwYWNlLXJlYWR3cml0
ZS53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL25vLXNlbWljb2xvbi1jYWxsYmFjay53aWRs
Ci0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL25vLXNlbWljb2xvbi53aWRsCi0vTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2lu
dmFsaWQvaWRsL25vbm51bGxhYmxlYW55LndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvbm9u
bnVsbGFibGVvYmplY3RzLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvcHJvbWlzZS1udWxs
YWJsZS53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL3Byb21pc2Utd2l0aC1leHRlbmRlZC1h
dHRyaWJ1dGUud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9yYWlzZXMud2lkbAotL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC9pbnZhbGlkL2lkbC9yZWFkb25seS1pdGVyYWJsZS53aWRsCi0vTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFs
aWQvaWRsL3JlY29yZC1rZXktd2l0aC1leHRlbmRlZC1hdHRyaWJ1dGUud2lkbAotL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC9pbnZhbGlkL2lkbC9yZWNvcmQta2V5LndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvcmVj
b3JkLXNpbmdsZS53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL3Njb3BlZG5hbWUud2lkbAot
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9zZXF1ZW5jZUFzQXR0cmlidXRlLndpZGwKLS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3QvaW52YWxpZC9pZGwvc2V0bGlrZS0ydHlwZXMud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lk
bC9zZXR0ZXItY3JlYXRvci53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL3NwYWNlZC1uZWdh
dGl2ZS1pbmZpbml0eS53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL3NwYWNlZC12YXJpYWRp
Yy53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL3NwZWNpYWwtb21pdHRhYmxlLndpZGwKLS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3QvaW52YWxpZC9pZGwvc3RyYXktc2xhc2gud2lkbAotL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlk
L2lkbC9zdHJpbmdjb25zdGFudHMud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC90eXBlZGVm
LW5lc3RlZC53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL3VuaW9uLWRhbmdsaW5nLW9yLndp
ZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvdW5pb24tb25lLndpZGwKLS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52
YWxpZC9pZGwvdW5pb24temVyby53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL3Vua25vd24t
Z2VuZXJpYy53aWRsCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL2FycmF5Lmpz
b24gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL2FycmF5Lmpzb24KZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDg5OGIyZDgzNmJmZjgxMzMwZDczNGUwYmExMDM3MmU5NzcyZmQ1MjMuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2lu
dmFsaWQvanNvbi9hcnJheS5qc29uCisrKyAvZGV2L251bGwKQEAgLTEsNCArMCwwIEBACi17Ci0g
ICAgIm1lc3NhZ2UiOiAiR290IGFuIGVycm9yIGR1cmluZyBvciByaWdodCBhZnRlciBwYXJzaW5n
IGBpbnRlcmZhY2UgTG90dGVyeVJlc3VsdHNgOiBObyBuYW1lIGluIGF0dHJpYnV0ZSIsCi0gICAg
ImxpbmUiOiA1Ci19CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL2NhbGxlci5q
c29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9jYWxsZXIuanNvbgpkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggNTY3ZmEzMzY4MTI5ZjliNmQ1NGJiM2JiNGMwZjlkNGQ1MDE4NjUyNS4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
aW52YWxpZC9qc29uL2NhbGxlci5qc29uCisrKyAvZGV2L251bGwKQEAgLTEsNCArMCwwIEBACi17
Ci0gICAgIm1lc3NhZ2UiOiAiR290IGFuIGVycm9yIGR1cmluZyBvciByaWdodCBhZnRlciBwYXJz
aW5nIGBpbnRlcmZhY2UgTnVtYmVyUXVhZHJ1cGxlcmA6IEludmFsaWQgb3BlcmF0aW9uIiwKLSAg
ICAibGluZSI6IDYKLX0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vZGljdC1y
ZXF1aXJlZC1kZWZhdWx0Lmpzb24gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL2RpY3QtcmVxdWly
ZWQtZGVmYXVsdC5qc29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4MmI2YjJhZTQy
YTZmNjFhMjBhMzJiY2I2N2Y0NDQ2MWJhN2FkYWUxLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vZGljdC1yZXF1aXJl
ZC1kZWZhdWx0Lmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSw0ICswLDAgQEAKLXsKLSAgICAibWVz
c2FnZSI6ICAiR290IGFuIGVycm9yIGR1cmluZyBvciByaWdodCBhZnRlciBwYXJzaW5nIGBkaWN0
aW9uYXJ5IERpY3RgOiBSZXF1aXJlZCBtZW1iZXIgbXVzdCBub3QgaGF2ZSBhIGRlZmF1bHQiCi0s
ICAgImxpbmUiOiAgICAgNAotfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9k
dXBsaWNhdGUuanNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vZHVwbGljYXRlLmpzb24KZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGU4OGE3MTU2ZmU4YzFjNjAyZWJlMWFlOGQ2NmNi
ZWViZTY5ZmYwNjAuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9kdXBsaWNhdGUuanNvbgorKysgL2Rldi9udWxsCkBA
IC0xLDQgKzAsMCBAQAotewotICAgICJtZXNzYWdlIjogIkdvdCBhbiBlcnJvciBkdXJpbmcgb3Ig
cmlnaHQgYWZ0ZXIgcGFyc2luZyBgdHlwZWRlZiBUZXN0YDogVGhlIG5hbWUgXCJUZXN0XCIgb2Yg
dHlwZSBcInR5cGVkZWZcIiBpcyBhbHJlYWR5IHNlZW4iLAotICAgICJsaW5lIjogMwotfQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9lbnVtLWVtcHR5Lmpzb24gYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3QvaW52YWxpZC9qc29uL2VudW0tZW1wdHkuanNvbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggNzM0YmM2N2RlMWZkNjdlOThjOGM4ZDc4YmRlNDVjNjJmYjMyMDFlZC4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9q
c29uL2VudW0tZW1wdHkuanNvbgorKysgL2Rldi9udWxsCkBAIC0xLDQgKzAsMCBAQAotewotICAg
ICJtZXNzYWdlIjogIkdvdCBhbiBlcnJvciBkdXJpbmcgb3IgcmlnaHQgYWZ0ZXIgcGFyc2luZyBg
ZW51bSBFbXB0eWA6IE5vIHZhbHVlIGluIGVudW0iLAotICAgICJsaW5lIjogMQotfQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9lbnVtLXdvLWNvbW1hLmpzb24gYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3QvaW52YWxpZC9qc29uL2VudW0td28tY29tbWEuanNvbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggYmZkMGIwOTUxZmNlOGQyNTczOWQyZTE4YTAyN2U3ZmM2MDBkOWIxNC4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxp
ZC9qc29uL2VudW0td28tY29tbWEuanNvbgorKysgL2Rldi9udWxsCkBAIC0xLDQgKzAsMCBAQAot
ewotICAgICJtZXNzYWdlIjogIkdvdCBhbiBlcnJvciBkdXJpbmcgb3IgcmlnaHQgYWZ0ZXIgcGFy
c2luZyBgZW51bSBOb0NvbW1hYDogTm8gY29tbWEgYmV0d2VlbiBlbnVtIHZhbHVlcyIsCi0gICAg
ImxpbmUiOiAxCi19CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL2VudW0uanNv
biBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vZW51bS5qc29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwNzNmZjZjMjkwY2FmZGY2MTQ5MDliOGY2ZWYyN2JhMGE0YzU4MjlkLi4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZh
bGlkL2pzb24vZW51bS5qc29uCisrKyAvZGV2L251bGwKQEAgLTEsNCArMCwwIEBACi17Ci0gICAg
Im1lc3NhZ2UiOiAgIkdvdCBhbiBlcnJvciBkdXJpbmcgb3IgcmlnaHQgYWZ0ZXIgcGFyc2luZyBg
ZW51bSBmb29gOiBVbmV4cGVjdGVkIHZhbHVlIGluIGVudW0iCi0sICAgImxpbmUiOiAgICAgMQot
fQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9leGNlcHRpb24uanNvbiBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC9pbnZhbGlkL2pzb24vZXhjZXB0aW9uLmpzb24KZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IGFkOWZhYzZjYTJmNjRlNzA4MzQyMTUxNmE5Y2ViOWU2Mzk3NTU1ZWMuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFs
aWQvanNvbi9leGNlcHRpb24uanNvbgorKysgL2Rldi9udWxsCkBAIC0xLDQgKzAsMCBAQAotewot
ICAgICJtZXNzYWdlIjogIkdvdCBhbiBlcnJvciBiZWZvcmUgcGFyc2luZyBhbnkgbmFtZWQgZGVm
aW5pdGlvbjogVW5yZWNvZ25pc2VkIHRva2VucyIsCi0gICAgImxpbmUiOiA0Ci19CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL2V4dGF0dHItZW1wdHktaWRzLmpzb24gYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3QvaW52YWxpZC9qc29uL2V4dGF0dHItZW1wdHktaWRzLmpzb24KZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDQzMzdmMWUxODBjMjg4ODE1MTQ4NDVkNTQ1NTc4MTk2NzRhNzY0MTgu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L2ludmFsaWQvanNvbi9leHRhdHRyLWVtcHR5LWlkcy5qc29uCisrKyAvZGV2L251bGwKQEAgLTEs
NCArMCwwIEBACi17Ci0gICAgIm1lc3NhZ2UiOiAiR290IGFuIGVycm9yIGJlZm9yZSBwYXJzaW5n
IGFueSBuYW1lZCBkZWZpbml0aW9uOiBFeHBlY3RlZCBpZGVudGlmaWVycyBidXQgbm90IGZvdW5k
IiwKLSAgICAibGluZSI6IDEKLX0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24v
aWQtdW5kZXJzY29yZWQtbnVtYmVyLmpzb24gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL2lkLXVu
ZGVyc2NvcmVkLW51bWJlci5qc29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0MTll
ZDk0NmZjYTA1YzIwOTdmZjNjMmM0OGI5MWNiMTFlNWExYjJhLi4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vaWQtdW5k
ZXJzY29yZWQtbnVtYmVyLmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSw0ICswLDAgQEAKLXsKLSAg
ICAibWVzc2FnZSI6ICJHb3QgYW4gZXJyb3IgYmVmb3JlIHBhcnNpbmcgYW55IG5hbWVkIGRlZmlu
aXRpb246IE5vIG5hbWUgZm9yIGludGVyZmFjZSIsCi0gICAgImxpbmUiOiAxCi19CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL2ltcGxlbWVudHNfYW5kX2luY2x1ZGVzX3dzLmpz
b24gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL2ltcGxlbWVudHNfYW5kX2luY2x1ZGVzX3dzLmpz
b24KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGFkOWZhYzZjYTJmNjRlNzA4MzQyMTUx
NmE5Y2ViOWU2Mzk3NTU1ZWMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9pbXBsZW1lbnRzX2FuZF9pbmNsdWRlc193
cy5qc29uCisrKyAvZGV2L251bGwKQEAgLTEsNCArMCwwIEBACi17Ci0gICAgIm1lc3NhZ2UiOiAi
R290IGFuIGVycm9yIGJlZm9yZSBwYXJzaW5nIGFueSBuYW1lZCBkZWZpbml0aW9uOiBVbnJlY29n
bmlzZWQgdG9rZW5zIiwKLSAgICAibGluZSI6IDQKLX0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9p
bnZhbGlkL2pzb24vaXRlcmF0b3IuanNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vaXRlcmF0
b3IuanNvbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTQ2ZDY1M2FlM2M1MTI5M2Q1
ODQwNDVjZGFkZDZjMGEzMDEyMDZmZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL2l0ZXJhdG9yLmpzb24KKysrIC9k
ZXYvbnVsbApAQCAtMSw0ICswLDAgQEAKLXsKLSAgICAibWVzc2FnZSI6ICJHb3QgYW4gZXJyb3Ig
ZHVyaW5nIG9yIHJpZ2h0IGFmdGVyIHBhcnNpbmcgYGludGVyZmFjZSBTZXNzaW9uTWFuYWdlcmA6
IEludmFsaWQgb3BlcmF0aW9uIiwKLSAgICAibGluZSI6IDUKLX0KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC9pbnZhbGlkL2pzb24vbWFwbGlrZS0xdHlwZS5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQv
anNvbi9tYXBsaWtlLTF0eXBlLmpzb24KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDc1
ZTdhMzVlZTI1NmU5MTM1Nzk5NGZmOGE4NWIxODI4Y2I0ODExMmUuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9tYXBs
aWtlLTF0eXBlLmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSw0ICswLDAgQEAKLXsKLSAgICAibWVz
c2FnZSI6ICJHb3QgYW4gZXJyb3IgZHVyaW5nIG9yIHJpZ2h0IGFmdGVyIHBhcnNpbmcgYGludGVy
ZmFjZSBNYXBMaWtlT25lVHlwZWA6IE1pc3Npbmcgc2Vjb25kIHR5cGUgYXJndW1lbnQgaW4gbWFw
bGlrZSBkZWNsYXJhdGlvbiIsCi0gICAgImxpbmUiOiAyCi19CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3QvaW52YWxpZC9qc29uL21vZHVsZS5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9tb2R1
bGUuanNvbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWMwNzFjZGQwN2E3YTM5ZWQx
ODU5MmU4MjEwMGQ4ZDUwMDY1YTAzMC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL21vZHVsZS5qc29uCisrKyAvZGV2
L251bGwKQEAgLTEsNCArMCwwIEBACi17Ci0gICAgIm1lc3NhZ2UiOiAgIkdvdCBhbiBlcnJvciBi
ZWZvcmUgcGFyc2luZyBhbnkgbmFtZWQgZGVmaW5pdGlvbjogVW5yZWNvZ25pc2VkIHRva2VucyIK
LSwgICAibGluZSI6ICAgICAyCi19CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29u
L25hbWVzcGFjZS1yZWFkd3JpdGUuanNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vbmFtZXNw
YWNlLXJlYWR3cml0ZS5qc29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkMjEyMTUx
MTFmMWVlMjdhZTczZGYwMzUzNDljNTc2YzY0MzYyYTQzLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vbmFtZXNwYWNl
LXJlYWR3cml0ZS5qc29uCisrKyAvZGV2L251bGwKQEAgLTEsNCArMCwwIEBACi17Ci0gICAgIm1l
c3NhZ2UiOiAiR290IGFuIGVycm9yIGR1cmluZyBvciByaWdodCBhZnRlciBwYXJzaW5nIGBuYW1l
c3BhY2UgQ1NTYDogQXR0cmlidXRlcyBtdXN0IGJlIHJlYWRvbmx5IGluIHRoaXMgY29udGV4dCIs
Ci0gICAgImxpbmUiOiAyCi19CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL25v
LXNlbWljb2xvbi1jYWxsYmFjay5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9uby1zZW1p
Y29sb24tY2FsbGJhY2suanNvbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMWRiOWQx
NGM4ZTJjNTEyMDRhMWUyYTJkN2QxZTk4YzMwNjYxMDZlZi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL25vLXNlbWlj
b2xvbi1jYWxsYmFjay5qc29uCisrKyAvZGV2L251bGwKQEAgLTEsNCArMCwwIEBACi17Ci0gICAg
Im1lc3NhZ2UiOiAiR290IGFuIGVycm9yIGR1cmluZyBvciByaWdodCBhZnRlciBwYXJzaW5nIGBj
YWxsYmFjayBpbnRlcmZhY2UgTm9TZW1pY29sb25gOiBNaXNzaW5nIHNlbWljb2xvbiBhZnRlciBp
bnRlcmZhY2UiLAotICAgICJsaW5lIjogNQotfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFs
aWQvanNvbi9uby1zZW1pY29sb24uanNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vbm8tc2Vt
aWNvbG9uLmpzb24KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDA4NzUzMmEwMTJmNTky
NzY5NzZiNzBiMTcwOWU5MjdjMmRkZDA3OTcuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9uby1zZW1pY29sb24uanNv
bgorKysgL2Rldi9udWxsCkBAIC0xLDQgKzAsMCBAQAotewotICAgICJtZXNzYWdlIjogIkdvdCBh
biBlcnJvciBkdXJpbmcgb3IgcmlnaHQgYWZ0ZXIgcGFyc2luZyBgcGFydGlhbCBpbnRlcmZhY2Ug
Tm9TZW1pY29sb25gOiBNaXNzaW5nIHNlbWljb2xvbiBhZnRlciBpbnRlcmZhY2UiLAotICAgICJs
aW5lIjogNQotfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9ub25udWxsYWJs
ZWFueS5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9ub25udWxsYWJsZWFueS5qc29uCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4YTFmOTAwNDZhZTRkOWRmOGM1OGJmMTdlMGMy
ZWQ2YmRjN2M0ZmQwLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vbm9ubnVsbGFibGVhbnkuanNvbgorKysgL2Rldi9u
dWxsCkBAIC0xLDQgKzAsMCBAQAotewotICAgICJtZXNzYWdlIjogICJHb3QgYW4gZXJyb3IgZHVy
aW5nIG9yIHJpZ2h0IGFmdGVyIHBhcnNpbmcgYGludGVyZmFjZSBOb25OdWxsYWJsZWA6IFR5cGUg
YW55IGNhbm5vdCBiZSBtYWRlIG51bGxhYmxlIgotLCAgICJsaW5lIjogICAgIDIKLX0KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vbm9ubnVsbGFibGVvYmplY3RzLmpzb24gYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3QvaW52YWxpZC9qc29uL25vbm51bGxhYmxlb2JqZWN0cy5qc29uCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCBkNDcwZWM5NGE2MDZjNmNhYTAxOTAxZDk3MjQxMjhkMzExMTFk
MjE2Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC9pbnZhbGlkL2pzb24vbm9ubnVsbGFibGVvYmplY3RzLmpzb24KKysrIC9kZXYvbnVsbApA
QCAtMSw0ICswLDAgQEAKLXsKLSAgICAibWVzc2FnZSI6ICJHb3QgYW4gZXJyb3IgZHVyaW5nIG9y
IHJpZ2h0IGFmdGVyIHBhcnNpbmcgYGludGVyZmFjZSBOb25OdWxsYWJsZWA6IENhbid0IG51bGxh
YmxlIG1vcmUgdGhhbiBvbmNlIiwKLSAgICAibGluZSI6IDQKLX0KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC9pbnZhbGlkL2pzb24vcHJvbWlzZS1udWxsYWJsZS5qc29uIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFs
aWQvanNvbi9wcm9taXNlLW51bGxhYmxlLmpzb24KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IGNlZDUxZmFmMWJlNGRmNzU2YjRiYzk4NzM1NmFkODhhZGEwZjAwMzguLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNv
bi9wcm9taXNlLW51bGxhYmxlLmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSw0ICswLDAgQEAKLXsK
LSAgICAibWVzc2FnZSI6ICJHb3QgYW4gZXJyb3IgZHVyaW5nIG9yIHJpZ2h0IGFmdGVyIHBhcnNp
bmcgYGludGVyZmFjZSBYYDogUHJvbWlzZSB0eXBlIGNhbm5vdCBiZSBudWxsYWJsZSIsCi0gICAg
ImxpbmUiOiAyCi19CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL3Byb21pc2Ut
d2l0aC1leHRlbmRlZC1hdHRyaWJ1dGUuanNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vcHJv
bWlzZS13aXRoLWV4dGVuZGVkLWF0dHJpYnV0ZS5qc29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCA3MTIxMmQ0NmUzYzAxMWFlZDY0Y2I2YjYwMDhhNGExYjQyN2QxNGJmLi4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlk
L2pzb24vcHJvbWlzZS13aXRoLWV4dGVuZGVkLWF0dHJpYnV0ZS5qc29uCisrKyAvZGV2L251bGwK
QEAgLTEsNCArMCwwIEBACi17Ci0gICAgIm1lc3NhZ2UiOiAiR290IGFuIGVycm9yIGR1cmluZyBv
ciByaWdodCBhZnRlciBwYXJzaW5nIGBpbnRlcmZhY2UgRm9vYDogUHJvbWlzZSB0eXBlIGNhbm5v
dCBoYXZlIGV4dGVuZGVkIGF0dHJpYnV0ZSIsCi0gICAgImxpbmUiOiAyCi19CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL3JhaXNlcy5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQv
anNvbi9yYWlzZXMuanNvbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzE2NWI4NzRm
MGMxODkxMTg2YjQ3OWI2NDYwYzBhZTkwYTg1MzNkYi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL3JhaXNlcy5qc29u
CisrKyAvZGV2L251bGwKQEAgLTEsNCArMCwwIEBACi17Ci0gICAgIm1lc3NhZ2UiOiAgIkdvdCBh
biBlcnJvciBkdXJpbmcgb3IgcmlnaHQgYWZ0ZXIgcGFyc2luZyBgaW50ZXJmYWNlIFBlcnNvbmA6
IFVudGVybWluYXRlZCBhdHRyaWJ1dGUiCi0sICAgImxpbmUiOiAgICAgNQotfQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9yZWFkb25seS1pdGVyYWJsZS5qc29uIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L2ludmFsaWQvanNvbi9yZWFkb25seS1pdGVyYWJsZS5qc29uCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCBhNTcxYjIyMjcxYjgwZTFmODYzZmRiYTI2MzYwMzUxOGE3MTg5OWIzLi4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9p
bnZhbGlkL2pzb24vcmVhZG9ubHktaXRlcmFibGUuanNvbgorKysgL2Rldi9udWxsCkBAIC0xLDQg
KzAsMCBAQAotewotICAgICJtZXNzYWdlIjogIkdvdCBhbiBlcnJvciBkdXJpbmcgb3IgcmlnaHQg
YWZ0ZXIgcGFyc2luZyBgaW50ZXJmYWNlIFJlYWRvbmx5SXRlcmFibGVgOiBNaXNzaW5nIHJldHVy
biB0eXBlIiwKLSAgICAibGluZSI6IDIKLX0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlk
L2pzb24vcmVjb3JkLWtleS13aXRoLWV4dGVuZGVkLWF0dHJpYnV0ZS5qc29uIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L2ludmFsaWQvanNvbi9yZWNvcmQta2V5LXdpdGgtZXh0ZW5kZWQtYXR0cmlidXRlLmpzb24KZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQwMDJlN2ZlMDE1NWQ1YmMyZDYxNWQ1NWE0ZTRl
OTc2ZTEzZTM4YTguLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9yZWNvcmQta2V5LXdpdGgtZXh0ZW5kZWQtYXR0cmli
dXRlLmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSw0ICswLDAgQEAKLXsKLSAgICAibWVzc2FnZSI6
ICJHb3QgYW4gZXJyb3IgZHVyaW5nIG9yIHJpZ2h0IGFmdGVyIHBhcnNpbmcgYGludGVyZmFjZSBG
b29gOiBSZWNvcmQga2V5IGNhbm5vdCBoYXZlIGV4dGVuZGVkIGF0dHJpYnV0ZSIsCi0gICAgImxp
bmUiOiAyCi19CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL3JlY29yZC1rZXku
anNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vcmVjb3JkLWtleS5qc29uCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCA2ZjFiYjk5YmU5MDgwODczYWRjMGM3YzY4NWRjYTBkNTVjMmI2
N2VjLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC9pbnZhbGlkL2pzb24vcmVjb3JkLWtleS5qc29uCisrKyAvZGV2L251bGwKQEAgLTEsNCAr
MCwwIEBACi17Ci0gICAgIm1lc3NhZ2UiOiAiR290IGFuIGVycm9yIGR1cmluZyBvciByaWdodCBh
ZnRlciBwYXJzaW5nIGBpbnRlcmZhY2UgRm9vYDogUmVjb3JkIGtleSBtdXN0IGJlIGEgc3RyaW5n
IHR5cGUiLAotICAgICJsaW5lIjogMgotfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQv
anNvbi9yZWNvcmQtc2luZ2xlLmpzb24gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL3JlY29yZC1z
aW5nbGUuanNvbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZWNlNGZiMmZlZTNjMDdj
M2FhNjI0MWUzYzBjYjZlZDU0NzcyNTdkYi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL3JlY29yZC1zaW5nbGUuanNv
bgorKysgL2Rldi9udWxsCkBAIC0xLDQgKzAsMCBAQAotewotICAgICJtZXNzYWdlIjogIkdvdCBh
biBlcnJvciBkdXJpbmcgb3IgcmlnaHQgYWZ0ZXIgcGFyc2luZyBgaW50ZXJmYWNlIEZvb2A6IE1p
c3NpbmcgY29tbWEgYWZ0ZXIgcmVjb3JkIGtleSB0eXBlIiwKLSAgICAibGluZSI6IDIKLX0KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vc2NvcGVkbmFtZS5qc29uIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L2ludmFsaWQvanNvbi9zY29wZWRuYW1lLmpzb24KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDQ2MjBkMmRmNWZhMGNjMjU0YTZkNmNkM2M2Yjc1MTQ3YzY1OGI0MGEuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQv
anNvbi9zY29wZWRuYW1lLmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSw0ICswLDAgQEAKLXsKLSAg
ICAibWVzc2FnZSI6ICAiR290IGFuIGVycm9yIGJlZm9yZSBwYXJzaW5nIGFueSBuYW1lZCBkZWZp
bml0aW9uOiBObyBuYW1lIGluIHR5cGVkZWYiCi0sICAgImxpbmUiOiAgICAgMgotfQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9zZXF1ZW5jZUFzQXR0cmlidXRlLmpzb24gYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3QvaW52YWxpZC9qc29uL3NlcXVlbmNlQXNBdHRyaWJ1dGUuanNvbgpkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggNWI0MzE0YTZkZTEyOGRjNjAyYWUxZGVjNDYwMWEwMGY4NmMx
MTFiZi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3QvaW52YWxpZC9qc29uL3NlcXVlbmNlQXNBdHRyaWJ1dGUuanNvbgorKysgL2Rldi9udWxs
CkBAIC0xLDQgKzAsMCBAQAotewotICAgICJtZXNzYWdlIjogICJHb3QgYW4gZXJyb3IgZHVyaW5n
IG9yIHJpZ2h0IGFmdGVyIHBhcnNpbmcgYGludGVyZmFjZSBzZXF1ZW5jZUFzQXR0cmlidXRlYDog
QXR0cmlidXRlcyBjYW5ub3QgYWNjZXB0IHNlcXVlbmNlIHR5cGVzIgotLCAgICJsaW5lIjogICAg
IDIKLX0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vc2V0bGlrZS0ydHlwZXMu
anNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vc2V0bGlrZS0ydHlwZXMuanNvbgpkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjkwMGUxYmFjMzAwNzQyY2VjNzFlZThmNjY5NzdiZGU5
YjljNjBhYy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3QvaW52YWxpZC9qc29uL3NldGxpa2UtMnR5cGVzLmpzb24KKysrIC9kZXYvbnVsbApA
QCAtMSw0ICswLDAgQEAKLXsKLSAgICAibWVzc2FnZSI6ICJHb3QgYW4gZXJyb3IgZHVyaW5nIG9y
IHJpZ2h0IGFmdGVyIHBhcnNpbmcgYGludGVyZmFjZSBTZXRMaWtlVHdvVHlwZXNgOiBVbnRlcm1p
bmF0ZWQgc2V0bGlrZSBkZWNsYXJhdGlvbiIsCi0gICAgImxpbmUiOiAyCi19CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL3NldHRlci1jcmVhdG9yLmpzb24gYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
aW52YWxpZC9qc29uL3NldHRlci1jcmVhdG9yLmpzb24KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDI1ZGVjYjM3NGUxMmZlMjdmMDU5NzllNDBkN2YzMDY0NzM5NWJlMTYuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQv
anNvbi9zZXR0ZXItY3JlYXRvci5qc29uCisrKyAvZGV2L251bGwKQEAgLTEsNCArMCwwIEBACi17
Ci0gICAgIm1lc3NhZ2UiOiAiR290IGFuIGVycm9yIGR1cmluZyBvciByaWdodCBhZnRlciBwYXJz
aW5nIGBpbnRlcmZhY2UgT3JkZXJlZE1hcGA6IEludmFsaWQgb3BlcmF0aW9uIiwKLSAgICAibGlu
ZSI6IDMKLX0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vc3BhY2VkLW5lZ2F0
aXZlLWluZmluaXR5Lmpzb24gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL3NwYWNlZC1uZWdhdGl2
ZS1pbmZpbml0eS5qc29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5ZTVkNjE4MDQ5
OTBiYjhhOTllMWM4NjNiMmM3M2JiOGViNWVlMTQyLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vc3BhY2VkLW5lZ2F0
aXZlLWluZmluaXR5Lmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSw0ICswLDAgQEAKLXsKLSAgICAi
bWVzc2FnZSI6ICJHb3QgYW4gZXJyb3IgZHVyaW5nIG9yIHJpZ2h0IGFmdGVyIHBhcnNpbmcgYGlu
dGVyZmFjZSBYYDogTm8gdmFsdWUgZm9yIGNvbnN0IiwKLSAgICAibGluZSI6IDIKLX0KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vc3BhY2VkLXZhcmlhZGljLmpzb24gYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3QvaW52YWxpZC9qc29uL3NwYWNlZC12YXJpYWRpYy5qc29uCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDkwYWJlZWI3MWIyMzE0OGE1ZDljY2QyYTNiZmY5Mjc3NzRlZDVkLi4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9p
bnZhbGlkL2pzb24vc3BhY2VkLXZhcmlhZGljLmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSw0ICsw
LDAgQEAKLXsKLSAgICAibWVzc2FnZSI6ICJHb3QgYW4gZXJyb3IgZHVyaW5nIG9yIHJpZ2h0IGFm
dGVyIHBhcnNpbmcgYGludGVyZmFjZSBYYDogVW50ZXJtaW5hdGVkIG9wZXJhdGlvbiIsCi0gICAg
ImxpbmUiOiAyCi19CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL3NwZWNpYWwt
b21pdHRhYmxlLmpzb24gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL3NwZWNpYWwtb21pdHRhYmxl
Lmpzb24KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGMyMGIyOGUwM2MxN2Q2ZGYyOWUy
Y2ExYjdlZTk0OGY1NzlmZjNmMjcuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9zcGVjaWFsLW9taXR0YWJsZS5qc29u
CisrKyAvZGV2L251bGwKQEAgLTEsNCArMCwwIEBACi17Ci0gICAgIm1lc3NhZ2UiOiAgIkdvdCBh
biBlcnJvciBkdXJpbmcgb3IgcmlnaHQgYWZ0ZXIgcGFyc2luZyBgaW50ZXJmYWNlIERpY3Rpb25h
cnlgOiBJbnZhbGlkIG9wZXJhdGlvbiIKLSwgICAibGluZSI6ICAgICA2Ci19CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL3N0cmF5LXNsYXNoLmpzb24gYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52
YWxpZC9qc29uL3N0cmF5LXNsYXNoLmpzb24KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDljMDcxY2RkMDdhN2EzOWVkMTg1OTJlODIxMDBkOGQ1MDA2NWEwMzAuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9z
dHJheS1zbGFzaC5qc29uCisrKyAvZGV2L251bGwKQEAgLTEsNCArMCwwIEBACi17Ci0gICAgIm1l
c3NhZ2UiOiAgIkdvdCBhbiBlcnJvciBiZWZvcmUgcGFyc2luZyBhbnkgbmFtZWQgZGVmaW5pdGlv
bjogVW5yZWNvZ25pc2VkIHRva2VucyIKLSwgICAibGluZSI6ICAgICAyCi19CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL3N0cmluZ2NvbnN0YW50cy5qc29uIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L2ludmFsaWQvanNvbi9zdHJpbmdjb25zdGFudHMuanNvbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggNzQ1ZDZlNmUwOGJhMjIzODAwMmQyN2JiNWJjNGE3ZTBjNmMwMWJmYS4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxp
ZC9qc29uL3N0cmluZ2NvbnN0YW50cy5qc29uCisrKyAvZGV2L251bGwKQEAgLTEsNCArMCwwIEBA
Ci17Ci0gICAgIm1lc3NhZ2UiOiAgIkdvdCBhbiBlcnJvciBkdXJpbmcgb3IgcmlnaHQgYWZ0ZXIg
cGFyc2luZyBgaW50ZXJmYWNlIFV0aWxgOiBObyB0eXBlIGZvciBjb25zdCIKLSwgICAibGluZSI6
ICAgICAyCi19CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL3R5cGVkZWYtbmVz
dGVkLmpzb24gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL3R5cGVkZWYtbmVzdGVkLmpzb24KZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGUxODQzY2VjN2Q5M2U0ZjdkZjU4ODcyNGE0ZmUz
OTg1ZWM1M2M0OGIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi90eXBlZGVmLW5lc3RlZC5qc29uCisrKyAvZGV2L251
bGwKQEAgLTEsNCArMCwwIEBACi17Ci0gICAgIm1lc3NhZ2UiOiAgIkdvdCBhbiBlcnJvciBkdXJp
bmcgb3IgcmlnaHQgYWZ0ZXIgcGFyc2luZyBgaW50ZXJmYWNlIFdpZGdldGA6IE1pc3NpbmcgcmV0
dXJuIHR5cGUiCi0sICAgImxpbmUiOiAgICAgMTQKLX0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9p
bnZhbGlkL2pzb24vdW5pb24tZGFuZ2xpbmctb3IuanNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pz
b24vdW5pb24tZGFuZ2xpbmctb3IuanNvbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
NjhkZmQ4YjJhZTYwOTg2YjE1YWIwNmI0YmQ5MGMzYTlhMWY2NGQ1Yi4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL3Vu
aW9uLWRhbmdsaW5nLW9yLmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSw0ICswLDAgQEAKLXsKLSAg
ICAibWVzc2FnZSI6ICJHb3QgYW4gZXJyb3IgYmVmb3JlIHBhcnNpbmcgYW55IG5hbWVkIGRlZmlu
aXRpb246IE5vIHR5cGUgYWZ0ZXIgb3BlbiBwYXJlbnRoZXNpcyBvciAnb3InIGluIHVuaW9uIHR5
cGUiLAotICAgICJsaW5lIjogMQotfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNv
bi91bmlvbi1vbmUuanNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vdW5pb24tb25lLmpzb24K
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ3NjQwM2Q2ODg5YmU3NzU0ZmY3ZDJmYTY1
ZWRiZTMxYjRiYjRlYTEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi91bmlvbi1vbmUuanNvbgorKysgL2Rldi9udWxs
CkBAIC0xLDQgKzAsMCBAQAotewotICAgICJtZXNzYWdlIjogIkdvdCBhbiBlcnJvciBiZWZvcmUg
cGFyc2luZyBhbnkgbmFtZWQgZGVmaW5pdGlvbjogQXQgbGVhc3QgdHdvIHR5cGVzIGFyZSBleHBl
Y3RlZCBpbiBhIHVuaW9uIHR5cGUgYnV0IGZvdW5kIGxlc3MiLAotICAgICJsaW5lIjogMQotfQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi91bmlvbi16ZXJvLmpzb24gYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3QvaW52YWxpZC9qc29uL3VuaW9uLXplcm8uanNvbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggNjhkZmQ4YjJhZTYwOTg2YjE1YWIwNmI0YmQ5MGMzYTlhMWY2NGQ1Yi4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxp
ZC9qc29uL3VuaW9uLXplcm8uanNvbgorKysgL2Rldi9udWxsCkBAIC0xLDQgKzAsMCBAQAotewot
ICAgICJtZXNzYWdlIjogIkdvdCBhbiBlcnJvciBiZWZvcmUgcGFyc2luZyBhbnkgbmFtZWQgZGVm
aW5pdGlvbjogTm8gdHlwZSBhZnRlciBvcGVuIHBhcmVudGhlc2lzIG9yICdvcicgaW4gdW5pb24g
dHlwZSIsCi0gICAgImxpbmUiOiAxCi19CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9q
c29uL3Vua25vd24tZ2VuZXJpYy5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi91bmtub3du
LWdlbmVyaWMuanNvbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzcwM2RiM2IyYWIz
MzJiYjE3NTRlMDFmMGU4ZGJlMDEyYTNmOTlkNy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL3Vua25vd24tZ2VuZXJp
Yy5qc29uCisrKyAvZGV2L251bGwKQEAgLTEsNCArMCwwIEBACi17Ci0gICAgIm1lc3NhZ2UiOiAi
R290IGFuIGVycm9yIGR1cmluZyBvciByaWdodCBhZnRlciBwYXJzaW5nIGBpbnRlcmZhY2UgRmV0
Y2hFdmVudGA6IFVuc3VwcG9ydGVkIGdlbmVyaWMgdHlwZSBSZXNwb25zZVByb21pc2UiLAotICAg
ICJsaW5lIjogMgotfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi93M2MtaW1w
b3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vdzNjLWltcG9ydC5sb2cKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDMwMTgxYmY2MTU3NWM4YzkyNTljZGQxNzExMWY1ZjdjNTk3
ZDk5MmEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L2ludmFsaWQvanNvbi93M2MtaW1wb3J0LmxvZworKysgL2Rldi9udWxsCkBAIC0xLDU2
ICswLDAgQEAKLVRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20g
dGhlIFczQyByZXBvc2l0b3J5LgotRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBp
biBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRo
dWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQKLQotVGhlbiBy
dW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBv
cnQKLQotRG8gTk9UIG1vZGlmeSBvciByZW1vdmUgdGhpcyBmaWxlLgotCi0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0KLVByb3BlcnRpZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKLU5vbmUKLVByb3BlcnR5
IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgotTm9uZQotLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
Ci1MaXN0IG9mIGZpbGVzOgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vYXJyYXkuanNvbgotL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC9pbnZhbGlkL2pzb24vY2FsbGVyLmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29u
L2RpY3QtcmVxdWlyZWQtZGVmYXVsdC5qc29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9kdXBs
aWNhdGUuanNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vZW51bS1lbXB0eS5qc29uCi0vTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L2ludmFsaWQvanNvbi9lbnVtLXdvLWNvbW1hLmpzb24KLS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxp
ZC9qc29uL2VudW0uanNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vZXhjZXB0aW9uLmpzb24K
LS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL2V4dGF0dHItZW1wdHktaWRzLmpzb24KLS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3QvaW52YWxpZC9qc29uL2lkLXVuZGVyc2NvcmVkLW51bWJlci5qc29uCi0vTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2lu
dmFsaWQvanNvbi9pbXBsZW1lbnRzX2FuZF9pbmNsdWRlc193cy5qc29uCi0vTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2lu
dmFsaWQvanNvbi9pdGVyYXRvci5qc29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9tYXBsaWtl
LTF0eXBlLmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL21vZHVsZS5qc29uCi0vTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L2ludmFsaWQvanNvbi9uYW1lc3BhY2UtcmVhZHdyaXRlLmpzb24KLS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52
YWxpZC9qc29uL25vLXNlbWljb2xvbi1jYWxsYmFjay5qc29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQv
anNvbi9uby1zZW1pY29sb24uanNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vbm9ubnVsbGFi
bGVhbnkuanNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vbm9ubnVsbGFibGVvYmplY3RzLmpz
b24KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL3Byb21pc2UtbnVsbGFibGUuanNvbgotL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC9pbnZhbGlkL2pzb24vcHJvbWlzZS13aXRoLWV4dGVuZGVkLWF0dHJpYnV0ZS5qc29uCi0v
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L2ludmFsaWQvanNvbi9yYWlzZXMuanNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pz
b24vcmVhZG9ubHktaXRlcmFibGUuanNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vcmVjb3Jk
LWtleS13aXRoLWV4dGVuZGVkLWF0dHJpYnV0ZS5qc29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNv
bi9yZWNvcmQta2V5Lmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL3JlY29yZC1zaW5nbGUu
anNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vc2NvcGVkbmFtZS5qc29uCi0vTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L2ludmFsaWQvanNvbi9zZXF1ZW5jZUFzQXR0cmlidXRlLmpzb24KLS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxp
ZC9qc29uL3NldGxpa2UtMnR5cGVzLmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL3NldHRl
ci1jcmVhdG9yLmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL3NwYWNlZC1uZWdhdGl2ZS1p
bmZpbml0eS5qc29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9zcGFjZWQtdmFyaWFkaWMuanNv
bgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vc3BlY2lhbC1vbWl0dGFibGUuanNvbgotL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC9pbnZhbGlkL2pzb24vc3RyYXktc2xhc2guanNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pz
b24vc3RyaW5nY29uc3RhbnRzLmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL3R5cGVkZWYt
bmVzdGVkLmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL3VuaW9uLWRhbmdsaW5nLW9yLmpz
b24KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL3VuaW9uLW9uZS5qc29uCi0vTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2lu
dmFsaWQvanNvbi91bmlvbi16ZXJvLmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL3Vua25v
d24tZ2VuZXJpYy5qc29uCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvbW9jaGEub3B0cyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC9tb2NoYS5vcHRzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1YWRhNDdiZTE2
YmY0NzU3MmM4MzYzNTJkMDg0MjBjZmRhYzk1NGQzLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9tb2NoYS5vcHRzCisrKyAvZGV2L251bGwK
QEAgLTEgKzAsMCBAQAotLS1yZXBvcnRlciBzcGVjCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3lu
dGF4LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDVkNjQ3ZWRhMTAzOTQ1YjA2MzNiZWYwYjUzZWU3ODkyNjgxNjVkMy4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4LmpzCisr
KyAvZGV2L251bGwKQEAgLTEsMTkgKzAsMCBAQAotInVzZSBzdHJpY3QiOwotCi1jb25zdCB7IGNv
bGxlY3QgfSA9IHJlcXVpcmUoIi4vdXRpbC9jb2xsZWN0Iik7Ci1jb25zdCBleHBlY3QgPSByZXF1
aXJlKCJleHBlY3QiKTsKLWNvbnN0IGRlYnVnID0gdHJ1ZTsKLQotZGVzY3JpYmUoIlBhcnNlcyBh
bGwgb2YgdGhlIElETHMgdG8gcHJvZHVjZSB0aGUgY29ycmVjdCBBU1RzIiwgKCkgPT4gewotICBm
b3IgKGNvbnN0IHRlc3Qgb2YgY29sbGVjdCgic3ludGF4IikpIHsKLSAgICBpdChgc2hvdWxkIHBy
b2R1Y2UgdGhlIHNhbWUgQVNUIGZvciAke3Rlc3QucGF0aH1gLCAoKSA9PiB7Ci0gICAgICB0cnkg
ewotICAgICAgICBleHBlY3QodGVzdC5kaWZmKCkpLnRvQmVGYWxzeSgpOwotICAgICAgfQotICAg
ICAgY2F0Y2ggKGUpIHsKLSAgICAgICAgY29uc29sZS5sb2coZS50b1N0cmluZygpKTsKLSAgICAg
ICAgdGhyb3cgZTsKLSAgICAgIH0KLSAgICB9KTsKLSAgfQotfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvc3ludGF4L2lkbC9hbGxvd2FueS53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvYWxs
b3dhbnkud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjM0M2JiOTYzNzRmOTg2
MTcyYjgwMGZmY2M0NDNiMjk1OWEwY2RhNS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9hbGxvd2FueS53aWRsCisrKyAv
ZGV2L251bGwKQEAgLTEsNiArMCwwIEBACi0vLyBFeHRyYWN0ZWQgZnJvbSBodHRwOi8vZGV2Lncz
Lm9yZy8yMDA2L3dlYmFwaS9XZWJJREwvIG9uIDIwMTEtMDUtMDYKLWludGVyZmFjZSBCIHsKLSAg
dm9pZCBnKCk7Ci0gIHZvaWQgZyhCIGIpOwotICB2b2lkIGcoW0FsbG93QW55XSBET01TdHJpbmcg
cyk7Ci19OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC9zeW50YXgvaWRsL2F0dHJpYnV0ZXMud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL2F0dHJp
YnV0ZXMud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjY2NWMxZmM0NzI3NmY3
MDBkYWJhYjcxZjg2OWMwYjBlYWQyODE2My4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9hdHRyaWJ1dGVzLndpZGwKKysr
IC9kZXYvbnVsbApAQCAtMSwxMSArMCwwIEBACi0vLyBFeHRyYWN0ZWQgZnJvbSBodHRwOi8vZGV2
LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJJREwvIG9uIDIwMTEtMDUtMDYKLQotaW50ZXJmYWNlIFBl
cnNvbiB7Ci0KLSAgLy8gQSBzaW1wbGUgYXR0cmlidXRlIHRoYXQgY2FuIGJlIHNldCB0byBhbnkg
dmFsdWUgdGhlIHJhbmdlIGFuIHVuc2lnbmVkCi0gIC8vIHNob3J0IGNhbiB0YWtlLgotICBhdHRy
aWJ1dGUgdW5zaWduZWQgc2hvcnQgYWdlOwotCi0gIC8vIHJlcXVpcmVkIGlzIGFuIGFsbG93ZWQg
YXR0cmlidXRlIG5hbWUKLSAgYXR0cmlidXRlIGFueSByZXF1aXJlZDsKLX07CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9jYWxsYmFjay53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9p
ZGwvY2FsbGJhY2sud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYWRhZjc1ZTA0
OWM5Y2JlZGQ3ZjliOWM1MDMwNjIxNjc2N2VlODhkYi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9jYWxsYmFjay53aWRs
CisrKyAvZGV2L251bGwKQEAgLTEsNyArMCwwIEBACi1jYWxsYmFjayBBc3luY09wZXJhdGlvbkNh
bGxiYWNrID0gdm9pZCAoRE9NU3RyaW5nIHN0YXR1cyk7Ci0KLWNhbGxiYWNrIGludGVyZmFjZSBF
dmVudEhhbmRsZXIgewotICB2b2lkIGV2ZW50T2NjdXJyZWQoRE9NU3RyaW5nIGRldGFpbHMpOwot
fTsKLQotY2FsbGJhY2sgU29ydENhbGxiYWNrID0gYm9vbGVhbiAoYW55IGEsIGFueSBiKTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL2NvbnN0YW50cy53aWRsIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3N5bnRheC9pZGwvY29uc3RhbnRzLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDA0M2IwMjJiNjQ2MmVlZDYwMGM4YTljZWFiODdkMWViYWVmNWVhMTguLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvY29u
c3RhbnRzLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSwxMSArMCwwIEBACi0vLyBFeHRyYWN0ZWQg
ZnJvbSBodHRwOi8vZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJJREwvIG9uIDIwMTEtMDUtMDYK
LWludGVyZmFjZSBVdGlsIHsKLSAgY29uc3QgYm9vbGVhbiBERUJVRyA9IGZhbHNlOwotICBjb25z
dCBzaG9ydCBuZWdhdGl2ZSA9IC0xOwotICBjb25zdCBvY3RldCBMRiA9IDEwOwotICBjb25zdCB1
bnNpZ25lZCBsb25nIEJJVF9NQVNLID0gMHgwMDAwZmMwMDsKLSAgY29uc3QgZmxvYXQgQVZPR0FE
Uk8gPSA2LjAyMmUyMzsKLSAgY29uc3QgdW5yZXN0cmljdGVkIGZsb2F0IHNvYmlnID0gSW5maW5p
dHk7Ci0gIGNvbnN0IHVucmVzdHJpY3RlZCBkb3VibGUgbWludXNvbmVkaXZpZGVkYnl6ZXJvID0g
LUluZmluaXR5OwotICBjb25zdCBzaG9ydCBub3RhbnVtYmVyID0gTmFOOwotfTsKXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9jb25z
dHJ1Y3Rvci53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvY29uc3RydWN0b3Iud2lkbApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjkzZWMwOGE2ZTZmODFiZGEwOTQ2MWZiNjQ5MTIw
NGZjOWQ4NGYwZi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9jb25zdHJ1Y3Rvci53aWRsCisrKyAvZGV2L251bGwKQEAg
LTEsOSArMCwwIEBACi0vLyBFeHRyYWN0ZWQgZnJvbSBodHRwOi8vZGV2LnczLm9yZy8yMDA2L3dl
YmFwaS9XZWJJREwvIG9uIDIwMTEtMDUtMDYKLVtDb25zdHJ1Y3RvciwKLSBDb25zdHJ1Y3Rvcihm
bG9hdCByYWRpdXMpXQotaW50ZXJmYWNlIENpcmNsZSB7Ci0gIGF0dHJpYnV0ZSBmbG9hdCByOwot
ICBhdHRyaWJ1dGUgZmxvYXQgY3g7Ci0gIGF0dHJpYnV0ZSBmbG9hdCBjeTsKLSAgcmVhZG9ubHkg
YXR0cmlidXRlIGZsb2F0IGNpcmN1bWZlcmVuY2U7Ci19OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL2RpY3Rpb25hcnktaW5oZXJp
dHMud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL2RpY3Rpb25hcnktaW5oZXJpdHMud2lkbApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDhmOGEwZmRjZWI2YzI0YjJkZmRmYmQyYzUz
NDM5ZTY1MDU0YWE3Zi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9kaWN0aW9uYXJ5LWluaGVyaXRzLndpZGwKKysrIC9k
ZXYvbnVsbApAQCAtMSw5ICswLDAgQEAKLWRpY3Rpb25hcnkgUGFpbnRPcHRpb25zIHsKLSAgRE9N
U3RyaW5nPyBmaWxsUGF0dGVybiA9ICJibGFjayI7Ci0gIERPTVN0cmluZz8gc3Ryb2tlUGF0dGVy
biA9IG51bGw7Ci0gIFBvaW50IHBvc2l0aW9uOwotfTsKLQotZGljdGlvbmFyeSBXZXRQYWludE9w
dGlvbnMgOiBQYWludE9wdGlvbnMgewotICBmbG9hdCBoeWRyb21ldHJ5OwotfTsKXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9kaWN0
aW9uYXJ5LndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9kaWN0aW9uYXJ5LndpZGwKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM2NGExNGM4NTkwOTg3ODZkMTBmZDMyNzBjZjY2ZTVj
NGVmOGIwMjAuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3N5bnRheC9pZGwvZGljdGlvbmFyeS53aWRsCisrKyAvZGV2L251bGwKQEAgLTEs
MTUgKzAsMCBAQAotLy8gRXh0cmFjdGVkIGZyb20gV2ViIElETCBlZGl0b3JzIGRyYWZ0IE1heSAz
MSAyMDExCi1kaWN0aW9uYXJ5IFBhaW50T3B0aW9ucyB7Ci0gIERPTVN0cmluZz8gZmlsbFBhdHRl
cm4gPSAiYmxhY2siOwotICBET01TdHJpbmc/IHN0cm9rZVBhdHRlcm4gPSBudWxsOwotICBQb2lu
dCBwb3NpdGlvbjsKLSAgLy8gaHR0cHM6Ly9oZXljYW0uZ2l0aHViLmlvL3dlYmlkbC8jZGZuLW9w
dGlvbmFsLWFyZ3VtZW50LWRlZmF1bHQtdmFsdWUgYWxsb3dzIHNlcXVlbmNlcyB0byBkZWZhdWx0
IHRvICJbXSIuCi0gIHNlcXVlbmNlPGxvbmc+IHNlcSA9IFtdOwotICAvLyBodHRwczovL2hleWNh
bS5naXRodWIuaW8vd2ViaWRsLyNyZXF1aXJlZC1kaWN0aW9uYXJ5LW1lbWJlcgotICByZXF1aXJl
ZCBsb25nIHJlcVNlcTsKLX07Ci0KLXBhcnRpYWwgZGljdGlvbmFyeSBBIHsKLSAgbG9uZyBoOwot
ICBsb25nIGQ7Ci19OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC9zeW50YXgvaWRsL2RvY3VtZW50YXRpb24tZG9zLndpZGwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3lu
dGF4L2lkbC9kb2N1bWVudGF0aW9uLWRvcy53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCBmYjgwMTEwMWYxNDkxMGQyNmQzMmRjODhhNTc5Mzg3YWM0YzUwNTYwLi4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRs
L2RvY3VtZW50YXRpb24tZG9zLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSwzMyArMCwwIEBACi0v
KioKLSogXGJyaWVmIFRlc3RpbmcgZG9jdW1lbnRhdGlvbiBmZWF0dXJlcwotKgotKiBUaGlzIGlz
IGEKLSogc2luZ2xlIHBhcmFncmFwaAotKgotKiA8cD5UaGlzIGlzIHZhbGlkLjwvcD4KLSogPHA+
VGhpcyBpcyA8ZW0+dmFsaWQ8L2VtPi48L3A+Ci0qIDxwPlRoaXMgaXMgPGI+dmFsaWQ8L2I+Ljwv
cD4KLSogPHA+VGhpcyBpcyA8YSBocmVmPScnPnZhbGlkPC9hPi48L3A+Ci0qIDx1bD4KLSogPGxp
PlRoaXM8L2xpPgotKiA8bGk+aXM8L2xpPgotKiA8bGk+dmFsaWQ8L2xpPgotKiA8L3VsPgotKiA8
ZGw+Ci0qIDxkdD5UaGlzPC9kdD4KLSogPGRkPnZhbGlkPC9kZD4KLSogPC9kbD4KLSogPHRhYmxl
PgotKiA8dHI+Ci0qIDx0ZD50aGlzPC90ZD4KLSogPHRkPmlzPC90ZD4KLSogPC90cj4KLSogPHRy
PgotKiA8dGQ+dmFsaWQ8L3RkPgotKiA8L3RyPgotKiA8L3RhYmxlPgotKiA8cD5UaGlzIGlzIDxi
cj4gdmFsaWQuPC9wPgotKiA8cD5UaGlzIGlzIDxiciAvPiB2YWxpZC48L3A+Ci0qIDxwPlRoaXMg
aXMgPGJyLz4gdmFsaWQuPC9wPgotKi8KLWludGVyZmFjZSBEb2N1bWVudGF0aW9uIHt9OwpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRs
L2RvY3VtZW50YXRpb24ud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL2RvY3VtZW50YXRpb24u
d2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAzZTkyMjZmNjcyYzIyMjEzNzM3
MjE3ZTY5MzU0ZmRjY2IwNTM4ZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9kb2N1bWVudGF0aW9uLndpZGwKKysrIC9k
ZXYvbnVsbApAQCAtMSwzNCArMCwwIEBACi0vKioKLSogXGJyaWVmIFRlc3RpbmcgZG9jdW1lbnRh
dGlvbiBmZWF0dXJlcwotKgotKiBUaGlzIGlzIGEKLSogc2luZ2xlIHBhcmFncmFwaAotKgotKiA8
cD5UaGlzIGlzIHZhbGlkLjwvcD4KLSogPHA+VGhpcyBpcyA8ZW0+dmFsaWQ8L2VtPi48L3A+Ci0q
IDxwPlRoaXMgaXMgPGI+dmFsaWQ8L2I+LjwvcD4KLSogPHA+VGhpcyBpcyA8YSBocmVmPScnPnZh
bGlkPC9hPi48L3A+Ci0qIDx1bD4KLSogPGxpPlRoaXM8L2xpPgotKiA8bGk+aXM8L2xpPgotKiA8
bGk+dmFsaWQ8L2xpPgotKiA8L3VsPgotKiA8ZGw+Ci0qIDxkdD5UaGlzPC9kdD4KLSogPGRkPnZh
bGlkPC9kZD4KLSogPC9kbD4KLSogPHRhYmxlPgotKiA8dHI+Ci0qIDx0ZD50aGlzPC90ZD4KLSog
PHRkPmlzPC90ZD4KLSogPC90cj4KLSogPHRyPgotKiA8dGQ+dmFsaWQ8L3RkPgotKiA8L3RyPgot
KiA8L3RhYmxlPgotKiA8cD5UaGlzIGlzIDxicj4gdmFsaWQuPC9wPgotKiA8cD5UaGlzIGlzIDxi
ciAvPiB2YWxpZC48L3A+Ci0qIDxwPlRoaXMgaXMgPGJyLz4gdmFsaWQuPC9wPgotKiA8cD48aW1n
IHNyYz0iZm9vLnBuZyIgYWx0PSJWYWxpZCIvPjwvcD4KLSovCi1pbnRlcmZhY2UgRG9jdW1lbnRh
dGlvbiB7fTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvc3ludGF4L2lkbC9lbnVtLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9lbnVtLndpZGwK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDM3YzRmZmRkZWUzMWI2Mzg3NjM2ZDA0Y2E4
MjZhMGYyNjNmYTk4OWEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvZW51bS53aWRsCisrKyAvZGV2L251bGwKQEAgLTEs
MTAgKzAsMCBAQAotZW51bSBNZWFsVHlwZSB7ICJyaWNlIiwgIm5vb2RsZXMiLCAib3RoZXIiIH07
Ci0KLWludGVyZmFjZSBNZWFsIHsKLSAgYXR0cmlidXRlIE1lYWxUeXBlIHR5cGU7Ci0gIGF0dHJp
YnV0ZSBmbG9hdCBzaXplOyAgICAgLy8gaW4gZ3JhbXMKLQotICB2b2lkIGluaXRpYWxpemUoTWVh
bFR5cGUgdHlwZSwgZmxvYXQgc2l6ZSk7Ci19OwotCi1lbnVtIEFsdE1lYWxUeXBlIHsgInJpY2Ui
LCAibm9vZGxlcyIsICJvdGhlciIsIH07ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvZXF1aXZhbGVudC1kZWNsLndpZGwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvc3ludGF4L2lkbC9lcXVpdmFsZW50LWRlY2wud2lkbApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggNmZmZWIzYzIwYTFhNDcyMDljZWIyZWMyNDQxZjYyYmUzZjU1MzE1OC4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3lu
dGF4L2lkbC9lcXVpdmFsZW50LWRlY2wud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDE4ICswLDAg
QEAKLS8vIEV4dHJhY3RlZCBmcm9tIGh0dHA6Ly9kZXYudzMub3JnLzIwMDYvd2ViYXBpL1dlYklE
TC8gb24gMjAxMS0wNS0wNgotaW50ZXJmYWNlIERpY3Rpb25hcnkgewotICByZWFkb25seSBhdHRy
aWJ1dGUgdW5zaWduZWQgbG9uZyBwcm9wZXJ0eUNvdW50OwotCi0gIGdldHRlciBmbG9hdCBnZXRQ
cm9wZXJ0eShET01TdHJpbmcgcHJvcGVydHlOYW1lKTsKLSAgc2V0dGVyIHZvaWQgc2V0UHJvcGVy
dHkoRE9NU3RyaW5nIHByb3BlcnR5TmFtZSwgZmxvYXQgcHJvcGVydHlWYWx1ZSk7Ci19OwotCi0K
LWludGVyZmFjZSBEaWN0aW9uYXJ5MiB7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBs
b25nIHByb3BlcnR5Q291bnQ7Ci0KLSAgZmxvYXQgZ2V0UHJvcGVydHkoRE9NU3RyaW5nIHByb3Bl
cnR5TmFtZSk7Ci0gIHZvaWQgc2V0UHJvcGVydHkoRE9NU3RyaW5nIHByb3BlcnR5TmFtZSwgZmxv
YXQgcHJvcGVydHlWYWx1ZSk7Ci0KLSAgZ2V0dGVyIGZsb2F0IChET01TdHJpbmcgcHJvcGVydHlO
YW1lKTsKLSAgc2V0dGVyIHZvaWQgKERPTVN0cmluZyBwcm9wZXJ0eU5hbWUsIGZsb2F0IHByb3Bl
cnR5VmFsdWUpOwotfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3Qvc3ludGF4L2lkbC9leHRlbmRlZC1hdHRyaWJ1dGVzLndpZGwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
c3ludGF4L2lkbC9leHRlbmRlZC1hdHRyaWJ1dGVzLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDU3ZDRmOTdkZTdjMzE3NmI2NWUzZGEyYWE3ZWQ1M2QzZGI3ODlmZDkuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRh
eC9pZGwvZXh0ZW5kZWQtYXR0cmlidXRlcy53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsMjkgKzAs
MCBAQAotLy8gRXh0cmFjdGVkIGZyb20gaHR0cDovL3d3dy53My5vcmcvVFIvMjAxNS9XRC1zZXJ2
aWNlLXdvcmtlcnMtMjAxNTAyMDUvCi0KLVtHbG9iYWw9KFdvcmtlcixTZXJ2aWNlV29ya2VyKSwg
RXhwb3NlZD1TZXJ2aWNlV29ya2VyXQotaW50ZXJmYWNlIFNlcnZpY2VXb3JrZXJHbG9iYWxTY29w
ZSA6IFdvcmtlckdsb2JhbFNjb3BlIHsKLQotfTsKLQotLy8gQ29uZm9ybWFuY2Ugd2l0aCBFeHRl
bmRlZEF0dHJpYnV0ZUxpc3QgZ3JhbW1hciBpbiBodHRwOi8vd3d3LnczLm9yZy9UUi9XZWJJREwv
I2lkbC1leHRlbmRlZC1hdHRyaWJ1dGVzCi0vLyBTZWN0aW9uIDMuMTEKLVtJbnRBdHRyPTAsIEZs
b2F0QXR0cj0zLjE0LCBTdHJpbmdBdHRyPSJhYmMiXQotaW50ZXJmYWNlIElkSW50ZXJmYWNlIHt9
OwotCi0vLyBFeHRyYWN0ZWQgZnJvbSBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDE2L1JFQy1XZWJJ
REwtMS0yMDE2MTIxNS8jQ29uc3RydWN0b3Igb24gMjAxNy01LTE4IHdpdGggd2hpdGVzcGFjZSBk
aWZmZXJlbmNlcwotWwotICBDb25zdHJ1Y3RvciwKLSAgQ29uc3RydWN0b3IoZG91YmxlIHJhZGl1
cykKLV0KLWludGVyZmFjZSBDaXJjbGUgewotICBhdHRyaWJ1dGUgZG91YmxlIHI7Ci0gIGF0dHJp
YnV0ZSBkb3VibGUgY3g7Ci0gIGF0dHJpYnV0ZSBkb3VibGUgY3k7Ci0gIHJlYWRvbmx5IGF0dHJp
YnV0ZSBkb3VibGUgY2lyY3VtZmVyZW5jZTsKLX07Ci0KLS8vIEV4dHJhY3RlZCBmcm9tIGh0dHBz
Oi8vaGV5Y2FtLmdpdGh1Yi5pby93ZWJpZGwvI2lkbC1hbm5vdGF0ZWQtdHlwZXMgb24gMjAxNy0x
Mi0xNQotW0V4cG9zZWQ9V2luZG93XQotaW50ZXJmYWNlIEkgewotICAgIGF0dHJpYnV0ZSBbWEF0
dHJdIChsb25nIG9yIE5vZGUpIGF0dHJpYjsKLX07CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3lu
dGF4L2lkbC9nZW5lcmljLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9nZW5lcmljLndpZGwK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY5M2NkMzI0ZTk2Yjg1ZGJiNGZmMjVkMmM5
ZDhkZDFlZGJmNDk1YjMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvZ2VuZXJpYy53aWRsCisrKyAvZGV2L251bGwKQEAg
LTEsMTcgKzAsMCBAQAotaW50ZXJmYWNlIEZvbyB7Ci0gIFByb21pc2U8UHJvbWlzZTxzZXF1ZW5j
ZTxET01TdHJpbmc/Pj4+IGJhcigpOwotICByZWFkb25seSBhdHRyaWJ1dGUgUHJvbWlzZTxET01T
dHJpbmc+IGJhejsKLX07Ci0KLS8vIEV4dHJhY3RlZCBmcm9tIGh0dHBzOi8vc2xpZ2h0bHlvZmYu
Z2l0aHViLmlvL1NlcnZpY2VXb3JrZXIvc3BlYy9zZXJ2aWNlX3dvcmtlci8gb24gMjAxNC0wNS0w
OAotCi1pbnRlcmZhY2UgU2VydmljZVdvcmtlckNsaWVudHMgewotICBQcm9taXNlPENsaWVudD8+
IGdldFNlcnZpY2VkKCk7Ci0gIFByb21pc2U8YW55PiByZWxvYWRBbGwoKTsKLX07Ci0KLS8vIEV4
dHJhY3RlZCBmcm9tIGh0dHBzOi8vc2xpZ2h0bHlvZmYuZ2l0aHViLmlvL1NlcnZpY2VXb3JrZXIv
c3BlYy9zZXJ2aWNlX3dvcmtlci8gb24gMjAxNC0wNS0xMwotCi1pbnRlcmZhY2UgRmV0Y2hFdmVu
dCA6IEV2ZW50IHsKLSAgUHJvbWlzZTxhbnk+IGRlZmF1bHQoKTsKLX07CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3Qvc3ludGF4L2lkbC9nZXR0ZXItc2V0dGVyLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4
L2lkbC9nZXR0ZXItc2V0dGVyLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGJk
Zjg3ZTFjN2M3MmYyOWM3MjUzMmIxYmIzYjYwMDM1OTljNjAxODcuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvZ2V0dGVy
LXNldHRlci53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsNyArMCwwIEBACi0vLyBFeHRyYWN0ZWQg
ZnJvbSBodHRwOi8vZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJJREwvIG9uIDIwMTEtMDUtMDYK
LWludGVyZmFjZSBEaWN0aW9uYXJ5IHsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxv
bmcgcHJvcGVydHlDb3VudDsKLQotICBnZXR0ZXIgZmxvYXQgKERPTVN0cmluZyBwcm9wZXJ0eU5h
bWUpOwotICBzZXR0ZXIgdm9pZCAoRE9NU3RyaW5nIHByb3BlcnR5TmFtZSwgZmxvYXQgcHJvcGVy
dHlWYWx1ZSk7Ci19OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC9zeW50YXgvaWRsL2lkZW50aWZpZXItcXVhbGlmaWVkLW5hbWVzLndpZGwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvc3ludGF4L2lkbC9pZGVudGlmaWVyLXF1YWxpZmllZC1uYW1lcy53aWRsCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjMzlmODRiNDVhMzZjY2NkMzYwYTg2MWIxMThjMzcyM2Fl
YjNlZjJkLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC9zeW50YXgvaWRsL2lkZW50aWZpZXItcXVhbGlmaWVkLW5hbWVzLndpZGwKKysrIC9k
ZXYvbnVsbApAQCAtMSwzMyArMCwwIEBACi0vLyBFeHRyYWN0ZWQgZnJvbSBodHRwOi8vZGV2Lncz
Lm9yZy8yMDA2L3dlYmFwaS9XZWJJREwvIG9uIDIwMTEtMDUtMDYKLSAgLy8gVHlwZWRlZiBpZGVu
dGlmaWVyOiAibnVtYmVyIgotICAvLyBRdWFsaWZpZWQgbmFtZTogICAgIjo6ZnJhbWV3b3JrOjpu
dW1iZXIiCi0gIHR5cGVkZWYgZmxvYXQgbnVtYmVyOwotCi0gIC8vIEludGVyZmFjZSBpZGVudGlm
aWVyOiAiU3lzdGVtIgotICAvLyBRdWFsaWZpZWQgbmFtZTogICAgICAgIjo6ZnJhbWV3b3JrOjpT
eXN0ZW0iCi0gIGludGVyZmFjZSBTeXN0ZW0gewotCi0gICAgLy8gT3BlcmF0aW9uIGlkZW50aWZp
ZXI6ICAgICAgICAgICJjcmVhdGVPYmplY3QiCi0gICAgLy8gT3BlcmF0aW9uIGFyZ3VtZW50IGlk
ZW50aWZpZXI6ICJpbnRlcmZhY2UiCi0gICAgb2JqZWN0IGNyZWF0ZU9iamVjdChET01TdHJpbmcg
X2ludGVyZmFjZSk7Ci0KLSAgICAvLyBPcGVyYXRpb24gaGFzIG5vIGlkZW50aWZpZXI7IGl0IGRl
Y2xhcmVzIGEgZ2V0dGVyLgotICAgIGdldHRlciBET01TdHJpbmcgKERPTVN0cmluZyBrZXlOYW1l
KTsKLSAgfTsKLQotCi0gICAgLy8gSW50ZXJmYWNlIGlkZW50aWZpZXI6ICJUZXh0RmllbGQiCi0g
ICAgLy8gUXVhbGlmaWVkIG5hbWU6ICAgICAgICI6OmZyYW1ld29yazo6Z3VpOjpUZXh0RmllbGQi
Ci0gICAgaW50ZXJmYWNlIFRleHRGaWVsZCB7Ci0KLSAgICAgIC8vIEF0dHJpYnV0ZSBpZGVudGlm
aWVyOiAiY29uc3QiCi0gICAgICBhdHRyaWJ1dGUgYm9vbGVhbiBfY29uc3Q7Ci0KLSAgICAgIC8v
IEF0dHJpYnV0ZSBpZGVudGlmaWVyOiAidmFsdWUiCi0gICAgICBhdHRyaWJ1dGUgRE9NU3RyaW5n
PyBfdmFsdWU7Ci0gICAgfTsKLQotaW50ZXJmYWNlIEZvb0V2ZW50VGFyZ2V0IHsKLSAgLy8gQXJn
dW1lbnQgbmFtZXMgYWxsb3cgc29tZSBzZWxlY3RlZCBrZXl3b3JkcwotICB2b2lkIGFkZEV2ZW50
TGlzdGVuZXIoRXZlbnRMaXN0ZW5lcj8gY2FsbGJhY2spOwotfTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC9zeW50YXgvaWRsL2ltcGxlbWVudHMud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL2lt
cGxlbWVudHMud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggN2EzMTA5MjZmMWM4
ZDQ0MWQ3NThhZjA2YTgxZTBkYWZhMDFiZjU5Mi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9pbXBsZW1lbnRzLndpZGwK
KysrIC9kZXYvbnVsbApAQCAtMSwxNCArMCwwIEBACi0vLyBFeHRyYWN0ZWQgZnJvbSBodHRwOi8v
ZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJJREwvIG9uIDIwMTEtMDUtMDYKLSAgaW50ZXJmYWNl
IE5vZGUgewotICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBzaG9ydCBub2RlVHlwZTsK
LSAgICAvLyAuLi4KLSAgfTsKLQotICBpbnRlcmZhY2UgRXZlbnRUYXJnZXQgewotICAgIHZvaWQg
YWRkRXZlbnRMaXN0ZW5lcihET01TdHJpbmcgdHlwZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgRXZlbnRMaXN0ZW5lciBsaXN0ZW5lciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgYm9v
bGVhbiB1c2VDYXB0dXJlKTsKLSAgICAvLyAuLi4KLSAgfTsKLQotICBOb2RlIGltcGxlbWVudHMg
RXZlbnRUYXJnZXQ7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9pbmRleGVkLXBy
b3BlcnRpZXMud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL2luZGV4ZWQtcHJvcGVydGllcy53
aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0YjhhYTllMzUzZmFjODljMDVhZDIx
ZmUwNjViNDU1ZTA0OTI2OGUzLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL2luZGV4ZWQtcHJvcGVydGllcy53aWRsCisr
KyAvZGV2L251bGwKQEAgLTEsMTIgKzAsMCBAQAotLy8gRXh0cmFjdGVkIGZyb20gaHR0cDovL2Rl
di53My5vcmcvMjAwNi93ZWJhcGkvV2ViSURMLyBvbiAyMDExLTA1LTA2Ci1pbnRlcmZhY2UgT3Jk
ZXJlZE1hcCB7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIHNpemU7Ci0KLSAg
Z2V0dGVyIGFueSBnZXRCeUluZGV4KHVuc2lnbmVkIGxvbmcgaW5kZXgpOwotICBzZXR0ZXIgdm9p
ZCBzZXRCeUluZGV4KHVuc2lnbmVkIGxvbmcgaW5kZXgsIGFueSB2YWx1ZSk7Ci0gIGRlbGV0ZXIg
dm9pZCByZW1vdmVCeUluZGV4KHVuc2lnbmVkIGxvbmcgaW5kZXgpOwotCi0gIGdldHRlciBhbnkg
Z2V0KERPTVN0cmluZyBuYW1lKTsKLSAgc2V0dGVyIHZvaWQgc2V0KERPTVN0cmluZyBuYW1lLCBh
bnkgdmFsdWUpOwotICBkZWxldGVyIHZvaWQgcmVtb3ZlKERPTVN0cmluZyBuYW1lKTsKLX07CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9pbmhlcml0cy1nZXR0ZXIud2lkbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC9zeW50YXgvaWRsL2luaGVyaXRzLWdldHRlci53aWRsCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCA0MzViM2FiM2M4Y2Q1ODc3YTFjMDk2NTA0Zjk1M2RkMjg3YThhY2ZjLi4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9z
eW50YXgvaWRsL2luaGVyaXRzLWdldHRlci53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsMjIgKzAs
MCBAQAotaW50ZXJmYWNlIEFuaW1hbCB7Ci0KLSAgLy8gQSBzaW1wbGUgYXR0cmlidXRlIHRoYXQg
Y2FuIGJlIHNldCB0byBhbnkgc3RyaW5nIHZhbHVlLgotICByZWFkb25seSBhdHRyaWJ1dGUgRE9N
U3RyaW5nIG5hbWU7Ci19OwotCi1pbnRlcmZhY2UgUGVyc29uIDogQW5pbWFsIHsKLQotICAvLyBB
biBhdHRyaWJ1dGUgd2hvc2UgdmFsdWUgY2Fubm90IGJlIGFzc2lnbmVkIHRvLgotICByZWFkb25s
eSBhdHRyaWJ1dGUgdW5zaWduZWQgc2hvcnQgYWdlOwotCi0gIC8vIEFuIGF0dHJpYnV0ZSB0aGF0
IGNhbiByYWlzZSBhbiBleGNlcHRpb24gaWYgaXQgaXMgc2V0IHRvIGFuIGludmFsaWQgdmFsdWUu
Ci0gIC8vIEl0cyBnZXR0ZXIgYmVoYXZpb3IgaXMgaW5oZXJpdGVkIGZyb20gQW5pbWFsLCBhbmQg
bmVlZCBub3QgYmUgc3BlY2lmaWVkCi0gIC8vIHRoZSBkZXNjcmlwdGlvbiBvZiBQZXJzb24uCi0g
IGluaGVyaXQgYXR0cmlidXRlIERPTVN0cmluZyBuYW1lOwotfTsKLQotaW50ZXJmYWNlIEdob3N0
IDogUGVyc29uIHsKLQotICAvLyBBbiBhdHRyaWJ1dGUgdGhhdCBvbmx5IGluaGVyaXRzIHRoZSBn
ZXR0ZXIgYmVoYXZpb3IKLSAgaW5oZXJpdCByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIG5h
bWU7Ci19OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvaW50ZXJmYWNlLWluaGVy
aXRzLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9pbnRlcmZhY2UtaW5oZXJpdHMud2lkbApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzkyMWRlZjc3Mjc5ZjcwNDEwYzIyMWI0ZWQx
ZjIyNWM2YjA5NDI3Ni4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9pbnRlcmZhY2UtaW5oZXJpdHMud2lkbAorKysgL2Rl
di9udWxsCkBAIC0xLDEyICswLDAgQEAKLS8vIEV4dHJhY3RlZCBmcm9tIGh0dHA6Ly9kZXYudzMu
b3JnLzIwMDYvd2ViYXBpL1dlYklETC8gb24gMjAxMS0wNS0wNgotaW50ZXJmYWNlIEFuaW1hbCB7
Ci0gIGF0dHJpYnV0ZSBET01TdHJpbmcgbmFtZTsKLX07Ci0KLWludGVyZmFjZSBIdW1hbiA6IEFu
aW1hbCB7Ci0gIGF0dHJpYnV0ZSBEb2cgcGV0OwotfTsKLQotaW50ZXJmYWNlIERvZyA6IEFuaW1h
bCB7Ci0gIGF0dHJpYnV0ZSBIdW1hbiBvd25lcjsKLX07ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvaXRlcmFibGUud2lkbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC9zeW50YXgvaWRsL2l0ZXJhYmxlLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDdmNzI2ZjkyNmZkZWNkNzI2MDBjNDNlMzI4ZjFlMGJmYjM2ZjliZTEuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9p
ZGwvaXRlcmFibGUud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDExICswLDAgQEAKLWludGVyZmFj
ZSBJdGVyYWJsZU9uZSB7Ci0gIGl0ZXJhYmxlPGxvbmc+OwotfTsKLQotaW50ZXJmYWNlIEl0ZXJh
YmxlVHdvIHsKLSAgaXRlcmFibGU8c2hvcnQsIGRvdWJsZT8+OwotfTsKLQotaW50ZXJmYWNlIEl0
ZXJhYmxlVGhyZWUgewotICBpdGVyYWJsZTxbWEF0dHJdIGxvbmc+OwotfTsKXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9sZWdhY3lp
dGVyYWJsZS53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvbGVnYWN5aXRlcmFibGUud2lkbApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWUxZTljNTI3NDQ3YTJiYjIwMTNiYWYyOGMz
MWQzZmFkZGNhYzZmZi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9sZWdhY3lpdGVyYWJsZS53aWRsCisrKyAvZGV2L251
bGwKQEAgLTEsMyArMCwwIEBACi1pbnRlcmZhY2UgTGVnYWN5SXRlcmFibGUgewotICBsZWdhY3lp
dGVyYWJsZTxsb25nPjsKLX07CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9tYXBs
aWtlLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9tYXBsaWtlLndpZGwKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDQzN2UzODFmZWY3NjczZWNhY2M1MjM2MmI1YTMwOTEwYzY4MTU2
Y2QuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3N5bnRheC9pZGwvbWFwbGlrZS53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsMTMgKzAsMCBA
QAotaW50ZXJmYWNlIE1hcExpa2UgewotICBtYXBsaWtlPGxvbmcsIGZsb2F0PjsKLX07Ci0KLWlu
dGVyZmFjZSBSZWFkT25seU1hcExpa2UgewotICByZWFkb25seSBtYXBsaWtlPGxvbmcsIGZsb2F0
PjsKLX07Ci0KLS8vIEV4dHJhY3RlZCBmcm9tIGh0dHBzOi8vaGV5Y2FtLmdpdGh1Yi5pby93ZWJp
ZGwvI2lkbC10eXBlLWV4dGVuZGVkLWF0dHJpYnV0ZS1hc3NvY2lhdGVkLXdpdGggb24gMjAxNy0w
Ny0wMQotCi1pbnRlcmZhY2UgSSB7Ci0gICAgbWFwbGlrZTxbWEF0dHIyXSBET01TdHJpbmcsIFtY
QXR0cjNdIGxvbmc+OwotfTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL21peGlu
LndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9taXhpbi53aWRsCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCA3YzM3YTZlZTQyMDdiMzFkZGQyYzQ4ZjllMTcyNTcyMTY3OWU3OWUyLi4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9z
eW50YXgvaWRsL21peGluLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSwxMiArMCwwIEBACi0vLyBF
eHRyYWN0ZWQgZnJvbSBodHRwczovL2hleWNhbS5naXRodWIuaW8vd2ViaWRsLyN1c2luZy1taXhp
bnMtYW5kLXBhcnRpYWxzIG9uIDIwMTctMTEtMDIKLQotaW50ZXJmYWNlIG1peGluIEdsb2JhbENy
eXB0byB7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSBDcnlwdG8gY3J5cHRvOwotfTsKLQotV2luZG93
IGluY2x1ZGVzIEdsb2JhbENyeXB0bzsKLVdvcmtlckdsb2JhbFNjb3BlIGluY2x1ZGVzIEdsb2Jh
bENyeXB0bzsKLQotcGFydGlhbCBpbnRlcmZhY2UgbWl4aW4gV2luZG93T3JXb3JrZXJHbG9iYWxT
Y29wZSB7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSBDcnlwdG8gY3J5cHRvOwotfTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL25hbWVkY29uc3RydWN0b3Iud2lkbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC9zeW50YXgvaWRsL25hbWVkY29uc3RydWN0b3Iud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggYzQ2OGI3OGY4ZTE4MTQyMzMyNzIyNzM5Y2ZiNGM1NGZmYzdlNDUyMi4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4
L2lkbC9uYW1lZGNvbnN0cnVjdG9yLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSw2ICswLDAgQEAK
LS8vIEV4dHJhY3RlZCBmcm9tIGh0dHA6Ly9kZXYudzMub3JnLzIwMDYvd2ViYXBpL1dlYklETC8g
b24gMjAxMS0wNS0wNgotW05hbWVkQ29uc3RydWN0b3I9QXVkaW8sCi0gTmFtZWRDb25zdHJ1Y3Rv
cj1BdWRpbyhET01TdHJpbmcgc3JjKV0KLWludGVyZmFjZSBIVE1MQXVkaW9FbGVtZW50IDogSFRN
TE1lZGlhRWxlbWVudCB7Ci0gIC8vIC4uLgotfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9uYW1lc3BhY2Uud2lkbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC9zeW50YXgvaWRsL25hbWVzcGFjZS53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCBkOTYxMDU1NWUxN2FkMmZlZGQ0Y2MwMDU1YzAxMDI1ZjcwMTkzZGVhLi4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRs
L25hbWVzcGFjZS53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsMTAgKzAsMCBAQAotLy8gRXh0cmFj
dGVkIGZyb20gV2ViIElETCBlZGl0b3JzIGRyYWZ0IE1hcmNoIDI3IDIwMTcKLW5hbWVzcGFjZSBW
ZWN0b3JVdGlscyB7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSBWZWN0b3IgdW5pdDsKLSAgZG91Ymxl
IGRvdFByb2R1Y3QoVmVjdG9yIHgsIFZlY3RvciB5KTsKLSAgVmVjdG9yIGNyb3NzUHJvZHVjdChW
ZWN0b3IgeCwgVmVjdG9yIHkpOwotfTsKLQotcGFydGlhbCBuYW1lc3BhY2UgU29tZU5hbWVzcGFj
ZSB7Ci0gIC8qIG5hbWVzcGFjZV9tZW1iZXJzLi4uICovCi19OwpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL25vaW50ZXJmYWNlb2Jq
ZWN0LndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9ub2ludGVyZmFjZW9iamVjdC53aWRsCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjMTdkNzVmZjhmZDM3MzJjZGNiZTgxNWY2OGE3
YTgzYWVmZWQ1YzE4Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL25vaW50ZXJmYWNlb2JqZWN0LndpZGwKKysrIC9kZXYv
bnVsbApAQCAtMSw1ICswLDAgQEAKLS8vIEV4dHJhY3RlZCBmcm9tIGh0dHA6Ly9kZXYudzMub3Jn
LzIwMDYvd2ViYXBpL1dlYklETC8gb24gMjAxMS0wNS0wNgotW05vSW50ZXJmYWNlT2JqZWN0XQot
aW50ZXJmYWNlIFF1ZXJ5IHsKLSAgYW55IGxvb2t1cEVudHJ5KHVuc2lnbmVkIGxvbmcga2V5KTsK
LX07ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5
bnRheC9pZGwvbnVsbGFibGUud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL251bGxhYmxlLndp
ZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGNjYmY2MjVmZjhhZWExMmI1YmU1YjEy
MDYwOTljOWIwN2M2Y2NkYmQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvbnVsbGFibGUud2lkbAorKysgL2Rldi9udWxs
CkBAIC0xLDkgKzAsMCBAQAotLy8gRXh0cmFjdGVkIGZyb20gaHR0cDovL2Rldi53My5vcmcvMjAw
Ni93ZWJhcGkvV2ViSURMLyBvbiAyMDExLTA1LTA2Ci1pbnRlcmZhY2UgTXlDb25zdGFudHMgewot
ICBjb25zdCBib29sZWFuPyBBUkVfV0VfVEhFUkVfWUVUID0gZmFsc2U7Ci19OwotCi1pbnRlcmZh
Y2UgTm9kZSB7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmc/IG5hbWVzcGFjZVVSSTsK
LSAgLy8gLi4uCi19OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC9zeW50YXgvaWRsL251bGxhYmxlb2JqZWN0cy53aWRsIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRh
eC9pZGwvbnVsbGFibGVvYmplY3RzLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDgzZDFkNDBiMmFjZmEzYTM2ZWQ4YjUwM2RmNDIwNTAzMzhjZGFiYjYuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvbnVs
bGFibGVvYmplY3RzLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSwxMyArMCwwIEBACi0vLyBFeHRy
YWN0ZWQgZnJvbSBXZWJJREwgc3BlYyAyMDExLTA1LTIzCi0KLWludGVyZmFjZSBBIHsKLSAgLy8g
Li4uCi19OwotaW50ZXJmYWNlIEIgewotICAvLyAuLi4KLX07Ci1pbnRlcmZhY2UgQyB7Ci0gIHZv
aWQgZihBPyB4KTsKLSAgdm9pZCBmKEI/IHgpOwotCi19OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL29wZXJhdGlvbi1vcHRpb25h
bC1hcmcud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL29wZXJhdGlvbi1vcHRpb25hbC1hcmcu
d2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzc5MDUzYjQ1ZjE0YTE1ZGU4YmU5
YjVkMTA5MDFiNDU5NmM4NzBmYS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9vcGVyYXRpb24tb3B0aW9uYWwtYXJnLndp
ZGwKKysrIC9kZXYvbnVsbApAQCAtMSw0ICswLDAgQEAKLS8vIEV4dHJhY3RlZCBmcm9tIGh0dHA6
Ly9kZXYudzMub3JnLzIwMDYvd2ViYXBpL1dlYklETC8gb24gMjAxMS0wNS0wNgotaW50ZXJmYWNl
IENvbG9yQ3JlYXRvciB7Ci0gIG9iamVjdCBjcmVhdGVDb2xvcihmbG9hdCB2MSwgZmxvYXQgdjIs
IGZsb2F0IHYzLCBvcHRpb25hbCBmbG9hdCBhbHBoYSA9IDMuNSk7Ci19OwpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL292ZXJsb2Fk
aW5nLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9vdmVybG9hZGluZy53aWRsCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1MmQ4ZDE1YzFhMTNjODEzOTdiZmY1OTgxZDU3NDVkOWU0
MmVhOTJkLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC9zeW50YXgvaWRsL292ZXJsb2FkaW5nLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSwy
MCArMCwwIEBACi0vLyBFeHRyYWN0ZWQgZnJvbSBodHRwOi8vZGV2LnczLm9yZy8yMDA2L3dlYmFw
aS9XZWJJREwvIG9uIDIwMTEtMDUtMDYKLWludGVyZmFjZSBBIHsKLSAgLy8gLi4uCi19OwotCi1p
bnRlcmZhY2UgQiB7Ci0gIC8vIC4uLgotfTsKLQotaW50ZXJmYWNlIEMgewotICB2b2lkIGYoQSB4
KTsKLSAgdm9pZCBmKEIgeCk7Ci19OwotCi1pbnRlcmZhY2UgRCB7Ci0gIC8qIGYxICovIHZvaWQg
ZihET01TdHJpbmcgYSk7Ci0gIC8qIGYyICovIHZvaWQgZihbQWxsb3dBbnldIERPTVN0cmluZyBh
LCBET01TdHJpbmcgYiwgZmxvYXQuLi4gYyk7Ci0gIC8qIGYzICovIHZvaWQgZigpOwotICAvKiBm
NCAqLyB2b2lkIGYobG9uZyBhLCBET01TdHJpbmcgYiwgb3B0aW9uYWwgRE9NU3RyaW5nIGMsIGZs
b2F0Li4uIGQpOwotfTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL292ZXJyaWRl
YnVpbHRpbnMud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL292ZXJyaWRlYnVpbHRpbnMud2lk
bApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzkyMTFjMjllODQzNmQwMWM1MWVlYTFh
OWQzOTAyZTBlNmNjMTkxNi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9vdmVycmlkZWJ1aWx0aW5zLndpZGwKKysrIC9k
ZXYvbnVsbApAQCAtMSw2ICswLDAgQEAKLS8vIEV4dHJhY3RlZCBmcm9tIGh0dHA6Ly9kZXYudzMu
b3JnLzIwMDYvd2ViYXBpL1dlYklETC8gb24gMjAxMS0wNS0wNgotW092ZXJyaWRlQnVpbHRpbnNd
Ci1pbnRlcmZhY2UgU3RyaW5nTWFwMiB7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBs
b25nIGxlbmd0aDsKLSAgZ2V0dGVyIERPTVN0cmluZyBsb29rdXAoRE9NU3RyaW5nIGtleSk7Ci19
OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50
YXgvaWRsL3BhcnRpYWwtaW50ZXJmYWNlLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9wYXJ0
aWFsLWludGVyZmFjZS53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5MGU3ZTBl
YTQyMWI0ZjFiOWQzZTVhNThkMmQxNDcwMzk1YTlmM2E4Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL3BhcnRpYWwtaW50
ZXJmYWNlLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSw3ICswLDAgQEAKLWludGVyZmFjZSBGb28g
ewotICBhdHRyaWJ1dGUgRE9NU3RyaW5nIGJhcjsKLX07Ci0KLXBhcnRpYWwgaW50ZXJmYWNlIEZv
byB7Ci0gIGF0dHJpYnV0ZSBET01TdHJpbmcgcXV1eDsKLX07ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvcHJpbWl0aXZlcy53aWRs
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvcHJpbWl0aXZlcy53aWRsCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCBhOTE0NTVlZTE5MmYxOTIxODdlMjM3MjhjNzhlYWE2ZmRhOGQ3MzNmLi4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9z
eW50YXgvaWRsL3ByaW1pdGl2ZXMud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDE5ICswLDAgQEAK
LWludGVyZmFjZSBQcmltaXRpdmVzIHsKLSAgYXR0cmlidXRlIGJvb2xlYW4gdHJ1dGg7Ci0gIGF0
dHJpYnV0ZSBieXRlIGNoYXJhY3RlcjsKLSAgYXR0cmlidXRlIG9jdGV0IHZhbHVlOwotICBhdHRy
aWJ1dGUgc2hvcnQgbnVtYmVyOwotICBhdHRyaWJ1dGUgdW5zaWduZWQgc2hvcnQgcG9zaXRpdmU7
Ci0gIGF0dHJpYnV0ZSBsb25nIGJpZzsKLSAgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgYmlncG9z
aXRpdmU7Ci0gIGF0dHJpYnV0ZSBsb25nIGxvbmcgYmlnYmlnOwotICBhdHRyaWJ1dGUgIHVuc2ln
bmVkIGxvbmcgbG9uZyBiaWdiaWdwb3NpdGl2ZTsKLSAgYXR0cmlidXRlIGZsb2F0IHJlYWw7Ci0g
IGF0dHJpYnV0ZSBkb3VibGUgYmlncmVhbDsKLSAgYXR0cmlidXRlIHVucmVzdHJpY3RlZCBmbG9h
dCByZWFsd2l0aGluZmluaXR5OwotICBhdHRyaWJ1dGUgdW5yZXN0cmljdGVkIGRvdWJsZSBiaWdy
ZWFsd2l0aGluZmluaXR5OwotICBhdHRyaWJ1dGUgRE9NU3RyaW5nIHN0cmluZzsKLSAgYXR0cmli
dXRlIEJ5dGVTdHJpbmcgYnl0ZXM7Ci0gIGF0dHJpYnV0ZSBEYXRlIGRhdGU7Ci0gIGF0dHJpYnV0
ZSBSZWdFeHAgcmVnZXhwOwotfTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL3By
b21pc2Utdm9pZC53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvcHJvbWlzZS12b2lkLndpZGwK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM0ZWFjM2I3NWM0NmFjMDJhMjJjNzY4MjA1
NmNiMzJiNWVjYjRkODkuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvcHJvbWlzZS12b2lkLndpZGwKKysrIC9kZXYvbnVs
bApAQCAtMSwzICswLDAgQEAKLWludGVyZmFjZSBDYXQgewotICAgIGF0dHJpYnV0ZSBQcm9taXNl
PHZvaWQ+IG1lb3c7Ci19OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvcHJvdG90
eXBlcm9vdC53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvcHJvdG90eXBlcm9vdC53aWRsCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzMGRkNWNiY2ExM2JlMDBlYWVmMWU1M2M2YjYz
ZTc5ZjRjOGE1NjRhLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL3Byb3RvdHlwZXJvb3Qud2lkbAorKysgL2Rldi9udWxs
CkBAIC0xLDUgKzAsMCBAQAotLy8gRXh0cmFjdGVkIGZyb20gaHR0cDovL2Rldi53My5vcmcvMjAw
Ni93ZWJhcGkvV2ViSURMLyBvbiAyMDExLTA1LTA2Ci1bUHJvdG90eXBlUm9vdF0KLWludGVyZmFj
ZSBOb2RlIHsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIHNob3J0IG5vZGVUeXBlOwot
fTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3lu
dGF4L2lkbC9wdXRmb3J3YXJkcy53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvcHV0Zm9yd2Fy
ZHMud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMWU1MGE0ZWUzOTRmNWRlNmFl
ZGIyOWNkNGZmOTE4ZjMzODJiMDRkZC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9wdXRmb3J3YXJkcy53aWRsCisrKyAv
ZGV2L251bGwKQEAgLTEsNSArMCwwIEBACi0vLyBFeHRyYWN0ZWQgZnJvbSBodHRwOi8vZGV2Lncz
Lm9yZy8yMDA2L3dlYmFwaS9XZWJJREwvIG9uIDIwMTEtMDUtMDYKLWludGVyZmFjZSBQZXJzb24g
ewotICBbUHV0Rm9yd2FyZHM9ZnVsbF0gcmVhZG9ubHkgYXR0cmlidXRlIE5hbWUgbmFtZTsKLSAg
YXR0cmlidXRlIHVuc2lnbmVkIHNob3J0IGFnZTsKLX07ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvcmVjb3JkLndpZGwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvc3ludGF4L2lkbC9yZWNvcmQud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggZGJmYWQzYWZiZmViNjg3NTcyNWM5NzdiZTMwMTQ3NjI5MmU0OGY0MS4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9y
ZWNvcmQud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDkgKzAsMCBAQAotW0NvbnN0cnVjdG9yKHJl
Y29yZDxVU1ZTdHJpbmcsIFVTVlN0cmluZz4gaW5pdCldCi1pbnRlcmZhY2UgRm9vIHsKLSAgdm9p
ZCBmb28oc2VxdWVuY2U8cmVjb3JkPEJ5dGVTdHJpbmcsIGFueT4+IHBhcmFtKTsKLSAgcmVjb3Jk
PERPTVN0cmluZywgKGZsb2F0IG9yIERPTVN0cmluZyk/PiBiYXIoKTsKLX07Ci0KLWludGVyZmFj
ZSBCYXIgewotICByZWNvcmQ8RE9NU3RyaW5nLCBbWEF0dHJdIGZsb2F0PiBiYXIoKTsKLX07CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9yZWctb3BlcmF0aW9ucy53aWRsIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L3N5bnRheC9pZGwvcmVnLW9wZXJhdGlvbnMud2lkbApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMzM4YzhkNDI3NjM2ZmIzNDBhMDBkYjllYzliMWFjNTFjZmUxNTM4OC4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3lu
dGF4L2lkbC9yZWctb3BlcmF0aW9ucy53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsMTUgKzAsMCBA
QAotLy8gRXh0cmFjdGVkIGZyb20gaHR0cDovL2Rldi53My5vcmcvMjAwNi93ZWJhcGkvV2ViSURM
LyBvbiAyMDExLTA1LTA2Ci1pbnRlcmZhY2UgRGltZW5zaW9ucyB7Ci0gIGF0dHJpYnV0ZSB1bnNp
Z25lZCBsb25nIHdpZHRoOwotICBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBoZWlnaHQ7Ci19Owot
Ci1pbnRlcmZhY2UgQnV0dG9uIHsKLQotICAvLyBBbiBvcGVyYXRpb24gdGhhdCB0YWtlcyBubyBh
cmd1bWVudHMsIHJldHVybnMgYSBib29sZWFuCi0gIGJvb2xlYW4gaXNNb3VzZU92ZXIoKTsKLQot
ICAvLyBPdmVybG9hZGVkIG9wZXJhdGlvbnMuCi0gIHZvaWQgc2V0RGltZW5zaW9ucyhEaW1lbnNp
b25zIHNpemUpOwotICB2b2lkIHNldERpbWVuc2lvbnModW5zaWduZWQgbG9uZyB3aWR0aCwgdW5z
aWduZWQgbG9uZyBoZWlnaHQpOwotfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9yZXBsYWNlYWJsZS53aWRsIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3N5bnRheC9pZGwvcmVwbGFjZWFibGUud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggYzE0ZDBjMzc2ODkwNDc0YTk4MjMxOGE2MDFjNTEwNTQ1OWY3Y2YyZS4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9y
ZXBsYWNlYWJsZS53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsNSArMCwwIEBACi0vLyBFeHRyYWN0
ZWQgZnJvbSBodHRwOi8vZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJJREwvIG9uIDIwMTEtMDUt
MDYKLWludGVyZmFjZSBDb3VudGVyIHsKLSAgW1JlcGxhY2VhYmxlXSByZWFkb25seSBhdHRyaWJ1
dGUgdW5zaWduZWQgbG9uZyB2YWx1ZTsKLSAgdm9pZCBpbmNyZW1lbnQoKTsKLX07ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvc2Vx
dWVuY2Uud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL3NlcXVlbmNlLndpZGwKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IGI0N2M5ODIyNWM3MTU2OGU5MzMxMzlhOTAyNTE3YmNmODYw
YTIwZTkuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L3N5bnRheC9pZGwvc2VxdWVuY2Uud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDEzICsw
LDAgQEAKLS8vIEV4dHJhY3RlZCBmcm9tIGh0dHA6Ly9kZXYudzMub3JnLzIwMDYvd2ViYXBpL1dl
YklETC8gb24gMjAxMS0wNS0wNgotLy8gZWRpdGVkIHRvIHJlbW92ZSBzZXF1ZW5jZSBhcyBhdHRy
aWJ1dGVzLCBub3cgaW52YWxpZAotaW50ZXJmYWNlIENhbnZhcyB7Ci0gIHZvaWQgZHJhd1BvbHln
b24oc2VxdWVuY2U8ZmxvYXQ+IGNvb3JkaW5hdGVzKTsKLSAgc2VxdWVuY2U8ZmxvYXQ+IGdldElu
ZmxlY3Rpb25Qb2ludHMoKTsKLSAgLy8gLi4uCi19OwotCi0vLyBFeHRyYWN0ZWQgZnJvbSBodHRw
czovL2hleWNhbS5naXRodWIuaW8vd2ViaWRsLyNpZGwtdHlwZS1leHRlbmRlZC1hdHRyaWJ1dGUt
YXNzb2NpYXRlZC13aXRoIG9uIDIwMTctMDctMDEKLQotaW50ZXJmYWNlIEkgewotICAgIHZvaWQg
ZjEoc2VxdWVuY2U8W1hBdHRyXSBsb25nPiBhcmcpOwotfTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC9zeW50YXgvaWRsL3NldGxpa2Uud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL3NldGxpa2Uu
d2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDUxMmYyODZiNTlhNTA2ZmNiYjk1
N2JlZmUyNGEwODFiMDk3ZDczZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9zZXRsaWtlLndpZGwKKysrIC9kZXYvbnVs
bApAQCAtMSwxMSArMCwwIEBACi1pbnRlcmZhY2UgU2V0TGlrZSB7Ci0gIHNldGxpa2U8bG9uZz47
Ci19OwotCi1pbnRlcmZhY2UgUmVhZE9ubHlTZXRMaWtlIHsKLSAgcmVhZG9ubHkgc2V0bGlrZTxs
b25nPjsKLX07Ci0KLWludGVyZmFjZSBTZXRMaWtlRXh0IHsKLSAgc2V0bGlrZTxbWEF0dHJdIGxv
bmc+OwotfTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL3N0YXRpYy53aWRsIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3N5bnRheC9pZGwvc3RhdGljLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDViMmNkMzY1OTBmZDZmMjVlZmY5NmQzNTM3ZmI0OGJjZjdlMmI2YTMuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9p
ZGwvc3RhdGljLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSwxMSArMCwwIEBACi0vLyBFeHRyYWN0
ZWQgZnJvbSBodHRwOi8vZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJJREwvIG9uIDIwMTEtMDUt
MDYKLWludGVyZmFjZSBQb2ludCB7IC8qIC4uLiAqLyB9OwotCi1pbnRlcmZhY2UgQ2lyY2xlIHsK
LSAgYXR0cmlidXRlIGZsb2F0IGN4OwotICBhdHRyaWJ1dGUgZmxvYXQgY3k7Ci0gIGF0dHJpYnV0
ZSBmbG9hdCByYWRpdXM7Ci0KLSAgc3RhdGljIHJlYWRvbmx5IGF0dHJpYnV0ZSBsb25nIHRyaWFu
Z3VsYXRpb25Db3VudDsKLSAgc3RhdGljIFBvaW50IHRyaWFuZ3VsYXRlKENpcmNsZSBjMSwgQ2ly
Y2xlIGMyLCBDaXJjbGUgYzMpOwotfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9zdHJpbmdpZmllci1hdHRyaWJ1dGUud2lkbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC9zeW50YXgvaWRsL3N0cmluZ2lmaWVyLWF0dHJpYnV0ZS53aWRsCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjOTY0ZWNiOTNlNjAxZjQ5Mzc0MWJiZWRhYTQ3ZmYyMTYz
MzA3MzM1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC9zeW50YXgvaWRsL3N0cmluZ2lmaWVyLWF0dHJpYnV0ZS53aWRsCisrKyAvZGV2L251
bGwKQEAgLTEsNiArMCwwIEBACi0vLyBFeHRyYWN0ZWQgZnJvbSBodHRwOi8vZGV2LnczLm9yZy8y
MDA2L3dlYmFwaS9XZWJJREwvIG9uIDIwMTEtMDUtMDYKLVtDb25zdHJ1Y3Rvcl0KLWludGVyZmFj
ZSBTdHVkZW50IHsKLSAgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgaWQ7Ci0gIHN0cmluZ2lmaWVy
IGF0dHJpYnV0ZSBET01TdHJpbmcgbmFtZTsKLX07ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvc3RyaW5naWZpZXItY3VzdG9tLndp
ZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9zdHJpbmdpZmllci1jdXN0b20ud2lkbApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjVkN2M4N2U3ZjQ1NzIwZjI0OGU4YTEwZDRiMTk0ZTcy
MjFmYTJlZi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3Qvc3ludGF4L2lkbC9zdHJpbmdpZmllci1jdXN0b20ud2lkbAorKysgL2Rldi9udWxs
CkBAIC0xLDkgKzAsMCBAQAotLy8gRXh0cmFjdGVkIGZyb20gaHR0cDovL2Rldi53My5vcmcvMjAw
Ni93ZWJhcGkvV2ViSURMLyBvbiAyMDExLTA1LTA2Ci1bQ29uc3RydWN0b3JdCi1pbnRlcmZhY2Ug
U3R1ZGVudCB7Ci0gIGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGlkOwotICBhdHRyaWJ1dGUgRE9N
U3RyaW5nPyBmYW1pbHlOYW1lOwotICBhdHRyaWJ1dGUgRE9NU3RyaW5nIGdpdmVuTmFtZTsKLQot
ICBzdHJpbmdpZmllciBET01TdHJpbmcgKCk7Ci19OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL3N0cmluZ2lmaWVyLndpZGwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3Qvc3ludGF4L2lkbC9zdHJpbmdpZmllci53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCBjNDUyNzdlYThkYjMzNzc5NTJiNGJmYThhMDQwYWFkYjFkMWMzNDBlLi4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50
YXgvaWRsL3N0cmluZ2lmaWVyLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSw4ICswLDAgQEAKLS8v
IEV4dHJhY3RlZCBmcm9tIGh0dHA6Ly9kZXYudzMub3JnLzIwMDYvd2ViYXBpL1dlYklETC8gb24g
MjAxMS0wNS0wNgotaW50ZXJmYWNlIEEgewotICBzdHJpbmdpZmllciBET01TdHJpbmcgKCk7Ci19
OwotCi1pbnRlcmZhY2UgQiB7Ci0gIHN0cmluZ2lmaWVyOwotfTsKXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC90cmVhdGFzbnVsbC53
aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvdHJlYXRhc251bGwud2lkbApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggZDNjNTViMDA4YzBkODZmMzdlOGViZjBhODYzNzg2MjhjYmUwN2Zm
ZC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvc3ludGF4L2lkbC90cmVhdGFzbnVsbC53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsNyArMCww
IEBACi0vLyBFeHRyYWN0ZWQgZnJvbSBodHRwOi8vZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJJ
REwvIG9uIDIwMTEtMDUtMDYKLWludGVyZmFjZSBEb2cgewotICBhdHRyaWJ1dGUgRE9NU3RyaW5n
IG5hbWU7Ci0gIGF0dHJpYnV0ZSBET01TdHJpbmcgb3duZXI7Ci0KLSAgYm9vbGVhbiBpc01lbWJl
ck9mQnJlZWQoW1RyZWF0TnVsbEFzPUVtcHR5U3RyaW5nXSBET01TdHJpbmcgYnJlZWROYW1lKTsK
LX07ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5
bnRheC9pZGwvdHJlYXRhc3VuZGVmaW5lZC53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvdHJl
YXRhc3VuZGVmaW5lZC53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlMzAwNTBm
ODQxMzQwM2QyNDQwYjI2YzNhMDBlM2VjNmM1YWFiNzkzLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL3RyZWF0YXN1bmRl
ZmluZWQud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDcgKzAsMCBAQAotLy8gRXh0cmFjdGVkIGZy
b20gaHR0cDovL2Rldi53My5vcmcvMjAwNi93ZWJhcGkvV2ViSURMLyBvbiAyMDExLTA1LTA2Ci1p
bnRlcmZhY2UgQ2F0IHsKLSAgYXR0cmlidXRlIERPTVN0cmluZyBuYW1lOwotICBhdHRyaWJ1dGUg
RE9NU3RyaW5nIG93bmVyOwotCi0gIGJvb2xlYW4gaXNNZW1iZXJPZkJyZWVkKFtUcmVhdFVuZGVm
aW5lZEFzPUVtcHR5U3RyaW5nXSBET01TdHJpbmcgYnJlZWROYW1lKTsKLX07ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvdHlwZWRl
Zi11bmlvbi53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvdHlwZWRlZi11bmlvbi53aWRsCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzMDQ4NzAzZTBjNTU0MWQ1Y2E2OWY1MTg3MGYy
MTlhYmYzNzQ1YjQ0Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL3R5cGVkZWYtdW5pb24ud2lkbAorKysgL2Rldi9udWxs
CkBAIC0xLDQgKzAsMCBAQAotICB0eXBlZGVmIChJbWFnZURhdGEgb3IKLSAgICAgICAgICAgSFRN
TEltYWdlRWxlbWVudCBvcgotICAgICAgICAgICBIVE1MQ2FudmFzRWxlbWVudCBvcgotICAgICAg
ICAgICBIVE1MVmlkZW9FbGVtZW50KSBUZXhJbWFnZVNvdXJjZTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC9zeW50YXgvaWRsL3R5cGVkZWYud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL3R5cGVk
ZWYud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjRjMTdkOGQzNmE4OWZiNTBl
YzNiYjYyMzJhMTIzN2ZlODZkZmIwZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC90eXBlZGVmLndpZGwKKysrIC9kZXYv
bnVsbApAQCAtMSwyMiArMCwwIEBACi0vLyBFeHRyYWN0ZWQgZnJvbSBodHRwOi8vZGV2LnczLm9y
Zy8yMDA2L3dlYmFwaS9XZWJJREwvIG9uIDIwMTEtMDUtMDYKLSAgICAgIGludGVyZmFjZSBQb2lu
dCB7Ci0gICAgICAgIGF0dHJpYnV0ZSBmbG9hdCB4OwotICAgICAgICBhdHRyaWJ1dGUgZmxvYXQg
eTsKLSAgICAgIH07Ci0KLSAgICAgIHR5cGVkZWYgc2VxdWVuY2U8UG9pbnQ+IFBvaW50U2VxdWVu
Y2U7Ci0KLSAgICAgIGludGVyZmFjZSBSZWN0IHsKLSAgICAgICAgYXR0cmlidXRlIFBvaW50IHRv
cGxlZnQ7Ci0gICAgICAgIGF0dHJpYnV0ZSBQb2ludCBib3R0b21yaWdodDsKLSAgICAgIH07Ci0K
LSAgaW50ZXJmYWNlIFdpZGdldCB7Ci0KLSAgICByZWFkb25seSBhdHRyaWJ1dGUgUmVjdCBib3Vu
ZHM7Ci0KLSAgICBib29sZWFuIHBvaW50V2l0aGluQm91bmRzKFBvaW50IHApOwotICAgIGJvb2xl
YW4gYWxsUG9pbnRzV2l0aGluQm91bmRzKFBvaW50U2VxdWVuY2UgcHMpOwotICB9OwotCi0gIHR5
cGVkZWYgW0NsYW1wXSBvY3RldCB2YWx1ZTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC90eXBlc3VmZml4ZXMud2lkbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC9zeW50YXgvaWRsL3R5cGVzdWZmaXhlcy53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCBiZWFhYTg3MjYwMDllNmIxYTNmZmUzYWFmZDVmODliZjdjYWZlNGJiLi4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgv
aWRsL3R5cGVzdWZmaXhlcy53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsMyArMCwwIEBACi1pbnRl
cmZhY2UgU3VmZml4ZXMgewotICB2b2lkIHRlc3Qoc2VxdWVuY2U8RE9NU3RyaW5nPz4/IGZvbyk7
Ci19OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvdW5pb250eXBlLndpZGwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3Qvc3ludGF4L2lkbC91bmlvbnR5cGUud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMGQ1ZmU5YmU0Mjg2NDBiZTcyMGZlMThiY2YyNWU3MTRkNDU5NDJhYS4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4
L2lkbC91bmlvbnR5cGUud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDQgKzAsMCBAQAotaW50ZXJm
YWNlIFVuaW9uIHsKLSBhdHRyaWJ1dGUgKGZsb2F0IG9yIChEYXRlIG9yIEV2ZW50KSBvciAoTm9k
ZSBvciBET01TdHJpbmcpPykgdGVzdDsKLSBhdHRyaWJ1dGUgKFtFbmZvcmNlUmFuZ2VdIGxvbmcg
b3IgRGF0ZSkgdGVzdDI7Ci19OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL3ZhcmlhZGljLW9wZXJhdGlvbnMud2lkbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC9zeW50YXgvaWRsL3ZhcmlhZGljLW9wZXJhdGlvbnMud2lkbApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggNTFmYWU0Y2MxZWExYzRhMzMzM2FmYzdkNzkxZmVkMDY2NDE1MDIzNS4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
c3ludGF4L2lkbC92YXJpYWRpYy1vcGVyYXRpb25zLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSw3
ICswLDAgQEAKLS8vIEV4dHJhY3RlZCBmcm9tIGh0dHA6Ly9kZXYudzMub3JnLzIwMDYvd2ViYXBp
L1dlYklETC8gb24gMjAxMS0wNS0wNgotaW50ZXJmYWNlIEludGVnZXJTZXQgewotICByZWFkb25s
eSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBjYXJkaW5hbGl0eTsKLQotICB2b2lkIHVuaW9uKGxv
bmcuLi4gaW50cyk7Ci0gIHZvaWQgaW50ZXJzZWN0aW9uKGxvbmcuLi4gaW50cyk7Ci19OwpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRs
L3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvdzNjLWltcG9ydC5sb2cKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQyZDFkNzYwZGYwZjVmZTJjOTBlY2JmOWYyOThk
OTg5ODJhMDVhOWUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvdzNjLWltcG9ydC5sb2cKKysrIC9kZXYvbnVsbApAQCAt
MSw2OCArMCwwIEBACi1UaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBm
cm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KLURvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0
bHkgaW4gV2ViS2l0LgotSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQg
Z2l0aHViOgotCWh0dHBzOi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0Ci0KLVRo
ZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJl
aW1wb3J0Ci0KLURvIE5PVCBtb2RpZnkgb3IgcmVtb3ZlIHRoaXMgZmlsZS4KLQotLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tCi1Qcm9wZXJ0aWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6Ci1Ob25lCi1Qcm9w
ZXJ0eSB2YWx1ZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKLU5vbmUKLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLQotTGlzdCBvZiBmaWxlczoKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9hbGxvd2FueS53aWRs
Ci0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvYXR0cmlidXRlcy53aWRsCi0vTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRh
eC9pZGwvY2FsbGJhY2sud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL2NvbnN0YW50cy53aWRs
Ci0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvY29uc3RydWN0b3Iud2lkbAotL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50
YXgvaWRsL2RpY3Rpb25hcnktaW5oZXJpdHMud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL2Rp
Y3Rpb25hcnkud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL2RvY3VtZW50YXRpb24tZG9zLndp
ZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9kb2N1bWVudGF0aW9uLndpZGwKLS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
c3ludGF4L2lkbC9lbnVtLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9lcXVpdmFsZW50LWRl
Y2wud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL2V4dGVuZGVkLWF0dHJpYnV0ZXMud2lkbAot
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC9zeW50YXgvaWRsL2dlbmVyaWMud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRs
L2dldHRlci1zZXR0ZXIud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL2lkZW50aWZpZXItcXVh
bGlmaWVkLW5hbWVzLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9pbXBsZW1lbnRzLndpZGwK
LS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9pbmRleGVkLXByb3BlcnRpZXMud2lkbAotL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC9zeW50YXgvaWRsL2luaGVyaXRzLWdldHRlci53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwv
aW50ZXJmYWNlLWluaGVyaXRzLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9pdGVyYWJsZS53
aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvbGVnYWN5aXRlcmFibGUud2lkbAotL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC9zeW50YXgvaWRsL21hcGxpa2Uud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL21peGluLndp
ZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9uYW1lZGNvbnN0cnVjdG9yLndpZGwKLS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvc3ludGF4L2lkbC9uYW1lc3BhY2Uud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL25vaW50
ZXJmYWNlb2JqZWN0LndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9udWxsYWJsZS53aWRsCi0v
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3N5bnRheC9pZGwvbnVsbGFibGVvYmplY3RzLndpZGwKLS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3lu
dGF4L2lkbC9vcGVyYXRpb24tb3B0aW9uYWwtYXJnLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lk
bC9vdmVybG9hZGluZy53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvb3ZlcnJpZGVidWlsdGlu
cy53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvcGFydGlhbC1pbnRlcmZhY2Uud2lkbAotL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC9zeW50YXgvaWRsL3ByaW1pdGl2ZXMud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRs
L3Byb21pc2Utdm9pZC53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvcHJvdG90eXBlcm9vdC53
aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvcHV0Zm9yd2FyZHMud2lkbAotL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9z
eW50YXgvaWRsL3JlY29yZC53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvcmVnLW9wZXJhdGlv
bnMud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL3JlcGxhY2VhYmxlLndpZGwKLS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvc3ludGF4L2lkbC9zZXF1ZW5jZS53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvc2V0bGlr
ZS53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvc3RhdGljLndpZGwKLS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3lu
dGF4L2lkbC9zdHJpbmdpZmllci1hdHRyaWJ1dGUud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRs
L3N0cmluZ2lmaWVyLWN1c3RvbS53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvc3RyaW5naWZp
ZXIud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL3RyZWF0YXNudWxsLndpZGwKLS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvc3ludGF4L2lkbC90cmVhdGFzdW5kZWZpbmVkLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lk
bC90eXBlZGVmLXVuaW9uLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC90eXBlZGVmLndpZGwK
LS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC90eXBlc3VmZml4ZXMud2lkbAotL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50
YXgvaWRsL3VuaW9udHlwZS53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvdmFyaWFkaWMtb3Bl
cmF0aW9ucy53aWRsCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vYWxsb3dhbnku
anNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9hbGxvd2FueS5qc29uCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAyYTkzNTE4ZWQ5NDYzNzc2ZDNlNzM5NzA3NDY1NWEyYWE5NTI2YWY3
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC9zeW50YXgvanNvbi9hbGxvd2FueS5qc29uCisrKyAvZGV2L251bGwKQEAgLTEsMTEyICswLDAg
QEAKLVsKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAgICAgICJuYW1l
IjogIkIiLAotICAgICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFsK
LSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJvcGVyYXRpb24iLAotICAg
ICAgICAgICAgICAgICJnZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic2V0dGVyIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgImRlbGV0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBl
IjogInJldHVybi10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAot
ICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAg
ICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogInZvaWQi
LAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0s
Ci0gICAgICAgICAgICAgICAgIm5hbWUiOiAiZyIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWRO
YW1lIjogImciLAotICAgICAgICAgICAgICAgICJhcmd1bWVudHMiOiBbXSwKLSAgICAgICAgICAg
ICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAg
ICAgICAgICAgICAidHlwZSI6ICJvcGVyYXRpb24iLAotICAgICAgICAgICAgICAgICJnZXR0ZXIi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgImRlbGV0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlk
bFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInJldHVybi10eXBlIiwKLSAg
ICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAi
bnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogInZvaWQiLAotICAgICAgICAgICAgICAgICAg
ICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5h
bWUiOiAiZyIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImciLAotICAgICAgICAg
ICAgICAgICJhcmd1bWVudHMiOiBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJvcHRpb25hbCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAg
InZhcmlhZGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdCI6IG51
bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0
eXBlIjogImFyZ3VtZW50LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5l
cmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJCIiwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJuYW1lIjogImIiLAotICAgICAgICAgICAgICAgICAgICAgICAg
ImVzY2FwZWROYW1lIjogImIiCi0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAg
ICBdLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9LAotICAg
ICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogIm9wZXJhdGlvbiIsCi0gICAgICAg
ICAgICAgICAgImdldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzZXR0ZXIiOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAiZGVsZXRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJz
dGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAi
cmV0dXJuLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAg
ICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAi
dW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAidm9pZCIsCi0g
ICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAg
ICAgICAgICAgICAgICAibmFtZSI6ICJnIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUi
OiAiZyIsCi0gICAgICAgICAgICAgICAgImFyZ3VtZW50cyI6IFsKLSAgICAgICAgICAgICAgICAg
ICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIm9wdGlvbmFsIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAidmFyaWFkaWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJkZWZhdWx0IjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6
IFsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJuYW1lIjogIkFsbG93QW55IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgImFyZ3VtZW50cyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICJ0eXBlIjogImV4dGVuZGVkLWF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICJyaHMiOiBudWxsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgfQotICAgICAg
ICAgICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjog
ewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImFyZ3VtZW50LXR5cGUiLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRs
VHlwZSI6ICJET01TdHJpbmciLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRy
cyI6IFtdCi0gICAgICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICAg
ICAgIm5hbWUiOiAicyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAi
cyIKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAg
ICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAg
ImluaGVyaXRhbmNlIjogbnVsbCwKLSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9Ci1dCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vYXR0cmlidXRlcy5qc29uIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3N5bnRheC9qc29uL2F0dHJpYnV0ZXMuanNvbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggZjAyY2IyMTg3YTJhZjJkOTVkOTIxMzU4OTNlY2RiOTdmOTFiYTYxMS4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pz
b24vYXR0cmlidXRlcy5qc29uCisrKyAvZGV2L251bGwKQEAgLTEsNDcgKzAsMCBAQAotWwotICAg
IHsKLSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUiOiAiUGVyc29u
IiwKLSAgICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJlcnMiOiBbCi0gICAg
ICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAgICAgICAg
ICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAicmVhZG9ubHkiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAg
ICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlLXR5cGUiLAotICAgICAgICAgICAgICAg
ICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAgICAgImlkbFR5cGUiOiAidW5zaWduZWQgc2hvcnQiLAotICAgICAgICAgICAgICAgICAgICAi
ZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUi
OiAiYWdlIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiYWdlIiwKLSAgICAgICAg
ICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAg
ICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJzdGF0
aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJyZWFkb25seSI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAg
ICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmlj
IjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlw
ZSI6ICJhbnkiLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAg
ICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAicmVxdWlyZWQiLAotICAgICAgICAg
ICAgICAgICJlc2NhcGVkTmFtZSI6ICJyZXF1aXJlZCIsCi0gICAgICAgICAgICAgICAgImV4dEF0
dHJzIjogW10KLSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImluaGVyaXRhbmNl
IjogbnVsbCwKLSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9Ci1dCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3Qvc3ludGF4L2pzb24vY2FsbGJhY2suanNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNv
bi9jYWxsYmFjay5qc29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4OWQ2M2FhZTUz
ZDAyYTVmNTFkZmNhZTQxMzdmZDNiOWIxZmUyYzFkLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9jYWxsYmFjay5qc29u
CisrKyAvZGV2L251bGwKQEAgLTEsMTI2ICswLDAgQEAKLVsKLSAgICB7Ci0gICAgICAgICJ0eXBl
IjogImNhbGxiYWNrIiwKLSAgICAgICAgIm5hbWUiOiAiQXN5bmNPcGVyYXRpb25DYWxsYmFjayIs
Ci0gICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgInR5cGUiOiAicmV0dXJuLXR5cGUi
LAotICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgIm51bGxhYmxlIjog
ZmFsc2UsCi0gICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICJpZGxUeXBl
IjogInZvaWQiLAotICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgfSwKLSAgICAg
ICAgImFyZ3VtZW50cyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAib3B0aW9u
YWwiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAidmFyaWFkaWMiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAiZGVmYXVsdCI6IG51bGwsCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10s
Ci0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBl
IjogImFyZ3VtZW50LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGws
Ci0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiRE9N
U3RyaW5nIiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAg
ICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogInN0YXR1cyIsCi0gICAgICAgICAgICAg
ICAgImVzY2FwZWROYW1lIjogInN0YXR1cyIKLSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAg
ICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9LAotICAgIHsKLSAgICAgICAgInR5cGUiOiAiY2Fs
bGJhY2sgaW50ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUiOiAiRXZlbnRIYW5kbGVyIiwKLSAgICAg
ICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJlcnMiOiBbCi0gICAgICAgICAgICB7
Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAib3BlcmF0aW9uIiwKLSAgICAgICAgICAgICAgICAi
Z2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInNldHRlciI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICJkZWxldGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJyZXR1cm4tdHlw
ZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAg
ICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJ2b2lkIiwKLSAgICAgICAgICAg
ICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAg
ICAgICJuYW1lIjogImV2ZW50T2NjdXJyZWQiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFt
ZSI6ICJldmVudE9jY3VycmVkIiwKLSAgICAgICAgICAgICAgICAiYXJndW1lbnRzIjogWwotICAg
ICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAib3B0aW9uYWwiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ2YXJpYWRpYyI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgImRlZmF1bHQiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAg
ICAgImV4dEF0dHJzIjogW10sCi0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5
cGUiOiAiRE9NU3RyaW5nIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMi
OiBbXQotICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJuYW1lIjogImRldGFpbHMiLAotICAgICAgICAgICAgICAgICAgICAgICAgImVzY2FwZWROYW1l
IjogImRldGFpbHMiCi0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdLAot
ICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0s
Ci0gICAgICAgICJpbmhlcml0YW5jZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0g
ICAgfSwKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImNhbGxiYWNrIiwKLSAgICAgICAgIm5hbWUi
OiAiU29ydENhbGxiYWNrIiwKLSAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAidHlw
ZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAg
ICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAg
ICAgICAgICAgImlkbFR5cGUiOiAiYm9vbGVhbiIsCi0gICAgICAgICAgICAiZXh0QXR0cnMiOiBb
XQotICAgICAgICB9LAotICAgICAgICAiYXJndW1lbnRzIjogWwotICAgICAgICAgICAgewotICAg
ICAgICAgICAgICAgICJvcHRpb25hbCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJ2YXJpYWRp
YyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJkZWZhdWx0IjogbnVsbCwKLSAgICAgICAgICAg
ICAgICAiZXh0QXR0cnMiOiBbXSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAg
ICAgICAgICAgICAgICAgInR5cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAgICAg
ICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICAgICAiaWRsVHlwZSI6ICJhbnkiLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBb
XQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiYSIsCi0gICAg
ICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImEiCi0gICAgICAgICAgICB9LAotICAgICAgICAg
ICAgewotICAgICAgICAgICAgICAgICJvcHRpb25hbCI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICJ2YXJpYWRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJkZWZhdWx0IjogbnVsbCwKLSAg
ICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6
IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAgICAg
ICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxh
YmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJhbnkiLAotICAgICAgICAgICAgICAgICAgICAiZXh0
QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAi
YiIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImIiCi0gICAgICAgICAgICB9Ci0g
ICAgICAgIF0sCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgfQotXQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3N5bnRheC9qc29uL2NvbnN0YW50cy5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9q
c29uL2NvbnN0YW50cy5qc29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlZjJiOGM0
NGNhMTY3Y2Y2ZWI4NjZmZWJiODUwMDYyZjJmNDU2YTc1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9jb25zdGFudHMu
anNvbgorKysgL2Rldi9udWxsCkBAIC0xLDE1NCArMCwwIEBACi1bCi0gICAgewotICAgICAgICAi
dHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFtZSI6ICJVdGlsIiwKLSAgICAgICAgInBh
cnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJlcnMiOiBbCi0gICAgICAgICAgICB7Ci0gICAg
ICAgICAgICAgICAgInR5cGUiOiAiY29uc3QiLAotICAgICAgICAgICAgICAgICJudWxsYWJsZSI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAg
ICAidHlwZSI6ICJjb25zdC10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBu
dWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjog
ImJvb2xlYW4iLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAg
ICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiREVCVUciLAotICAgICAgICAgICAg
ICAgICJ2YWx1ZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCi0g
ICAgICAgICAgICAgICAgICAgICJ2YWx1ZSI6IGZhbHNlCi0gICAgICAgICAgICAgICAgfSwKLSAg
ICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAg
IHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJjb25zdCIsCi0gICAgICAgICAgICAgICAgIm51
bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAg
ICAgICAgICAgICJ0eXBlIjogImNvbnN0LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2Vu
ZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlk
bFR5cGUiOiAic2hvcnQiLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAg
ICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAibmVnYXRpdmUiLAotICAg
ICAgICAgICAgICAgICJ2YWx1ZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAibnVt
YmVyIiwKLSAgICAgICAgICAgICAgICAgICAgInZhbHVlIjogIi0xIgotICAgICAgICAgICAgICAg
IH0sCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0gICAg
ICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiY29uc3QiLAotICAgICAgICAgICAg
ICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAg
ICAgICAgICAgICAgICAgICAidHlwZSI6ICJjb25zdC10eXBlIiwKLSAgICAgICAgICAgICAgICAg
ICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ICAgICJpZGxUeXBlIjogIm9jdGV0IiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjog
W10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogIkxGIiwKLSAg
ICAgICAgICAgICAgICAidmFsdWUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogIm51
bWJlciIsCi0gICAgICAgICAgICAgICAgICAgICJ2YWx1ZSI6ICIxMCIKLSAgICAgICAgICAgICAg
ICB9LAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9LAotICAg
ICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogImNvbnN0IiwKLSAgICAgICAgICAg
ICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAg
ICAgICAgICAgICAgICAgICAgInR5cGUiOiAiY29uc3QtdHlwZSIsCi0gICAgICAgICAgICAgICAg
ICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICAgICAiaWRsVHlwZSI6ICJ1bnNpZ25lZCBsb25nIiwKLSAgICAgICAgICAgICAgICAgICAgImV4
dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjog
IkJJVF9NQVNLIiwKLSAgICAgICAgICAgICAgICAidmFsdWUiOiB7Ci0gICAgICAgICAgICAgICAg
ICAgICJ0eXBlIjogIm51bWJlciIsCi0gICAgICAgICAgICAgICAgICAgICJ2YWx1ZSI6ICIweDAw
MDBmYzAwIgotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjog
W10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUi
OiAiY29uc3QiLAotICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJjb25zdC10
eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAg
ICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogImZsb2F0IiwKLSAgICAgICAg
ICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAg
ICAgICAgICJuYW1lIjogIkFWT0dBRFJPIiwKLSAgICAgICAgICAgICAgICAidmFsdWUiOiB7Ci0g
ICAgICAgICAgICAgICAgICAgICJ0eXBlIjogIm51bWJlciIsCi0gICAgICAgICAgICAgICAgICAg
ICJ2YWx1ZSI6ICI2LjAyMmUyMyIKLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAg
ICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAg
ICAgICAgICJ0eXBlIjogImNvbnN0IiwKLSAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5
cGUiOiAiY29uc3QtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwK
LSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJ1bnJl
c3RyaWN0ZWQgZmxvYXQiLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAg
ICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAic29iaWciLAotICAgICAg
ICAgICAgICAgICJ2YWx1ZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiSW5maW5p
dHkiLAotICAgICAgICAgICAgICAgICAgICAibmVnYXRpdmUiOiBmYWxzZQotICAgICAgICAgICAg
ICAgIH0sCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0g
ICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiY29uc3QiLAotICAgICAgICAg
ICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewot
ICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJjb25zdC10eXBlIiwKLSAgICAgICAgICAgICAg
ICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgICAgICJpZGxUeXBlIjogInVucmVzdHJpY3RlZCBkb3VibGUiLAotICAgICAgICAgICAgICAg
ICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAg
Im5hbWUiOiAibWludXNvbmVkaXZpZGVkYnl6ZXJvIiwKLSAgICAgICAgICAgICAgICAidmFsdWUi
OiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogIkluZmluaXR5IiwKLSAgICAgICAgICAg
ICAgICAgICAgIm5lZ2F0aXZlIjogdHJ1ZQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAg
ICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAg
ICAgICAgICAgICAgInR5cGUiOiAiY29uc3QiLAotICAgICAgICAgICAgICAgICJudWxsYWJsZSI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAg
ICAidHlwZSI6ICJjb25zdC10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBu
dWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjog
InNob3J0IiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAg
ICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogIm5vdGFudW1iZXIiLAotICAgICAgICAg
ICAgICAgICJ2YWx1ZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiTmFOIgotICAg
ICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAg
ICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImluaGVyaXRhbmNlIjogbnVsbCwKLSAgICAgICAg
ImV4dEF0dHJzIjogW10KLSAgICB9Ci1dCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pz
b24vY29uc3RydWN0b3IuanNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9jb25zdHJ1Y3Rvci5q
c29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlZmRkMWI1YTZiZWRjNjI2YjQ4M2Ew
NmQ5MjI2MGU1N2UzN2FjZWVlLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9jb25zdHJ1Y3Rvci5qc29uCisrKyAvZGV2
L251bGwKQEAgLTEsMTEzICswLDAgQEAKLVsKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImludGVy
ZmFjZSIsCi0gICAgICAgICJuYW1lIjogIkNpcmNsZSIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFs
c2UsCi0gICAgICAgICJtZW1iZXJzIjogWwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAg
ICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJp
bmhlcml0IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5IjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImF0
dHJpYnV0ZS10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAg
ICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAg
InVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogImZsb2F0IiwK
LSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAot
ICAgICAgICAgICAgICAgICJuYW1lIjogInIiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFt
ZSI6ICJyIiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfSwK
LSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAg
ICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZp
ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICJyZWFkb25seSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewot
ICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAgICAgICAg
ICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxl
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICAgICAiaWRsVHlwZSI6ICJmbG9hdCIsCi0gICAgICAgICAgICAgICAgICAgICJleHRB
dHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJj
eCIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImN4IiwKLSAgICAgICAgICAgICAg
ICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAg
ICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJyZWFkb25seSI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlw
ZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVs
bCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJm
bG9hdCIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAg
ICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJjeSIsCi0gICAgICAgICAgICAgICAgImVz
Y2FwZWROYW1lIjogImN5IiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAg
ICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1
dGUiLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAi
c3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICJyZWFkb25seSI6IHRydWUsCi0gICAgICAgICAgICAgICAgImlkbFR5
cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZS10eXBlIiwKLSAg
ICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAi
bnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogImZsb2F0IiwKLSAgICAgICAgICAgICAgICAg
ICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJu
YW1lIjogImNpcmN1bWZlcmVuY2UiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJj
aXJjdW1mZXJlbmNlIiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAg
ICAgfQotICAgICAgICBdLAotICAgICAgICAiaW5oZXJpdGFuY2UiOiBudWxsLAotICAgICAgICAi
ZXh0QXR0cnMiOiBbCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgIm5hbWUiOiAiQ29u
c3RydWN0b3IiLAotICAgICAgICAgICAgICAgICJhcmd1bWVudHMiOiBudWxsLAotICAgICAgICAg
ICAgICAgICJ0eXBlIjogImV4dGVuZGVkLWF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInJo
cyI6IG51bGwKLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAg
Im5hbWUiOiAiQ29uc3RydWN0b3IiLAotICAgICAgICAgICAgICAgICJhcmd1bWVudHMiOiBbCi0g
ICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJvcHRpb25hbCI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgInZhcmlhZGljIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdCI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAiZXh0QXR0cnMiOiBbXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjog
ewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImFyZ3VtZW50LXR5cGUiLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRs
VHlwZSI6ICJmbG9hdCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjog
W10KLSAgICAgICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgICAgICAi
bmFtZSI6ICJyYWRpdXMiLAotICAgICAgICAgICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjog
InJhZGl1cyIKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAg
ICAgICAgICAgICAgInR5cGUiOiAiZXh0ZW5kZWQtYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAg
ICAicmhzIjogbnVsbAotICAgICAgICAgICAgfQotICAgICAgICBdCi0gICAgfQotXQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2RpY3Rpb25hcnktaW5oZXJpdHMuanNvbiBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC9zeW50YXgvanNvbi9kaWN0aW9uYXJ5LWluaGVyaXRzLmpzb24KZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDU5NWMzNWNmNzk3NDhhYzUzNWEwNGQ1NjRiYzhmZTYzNzdiNWQ3
MjguLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3N5bnRheC9qc29uL2RpY3Rpb25hcnktaW5oZXJpdHMuanNvbgorKysgL2Rldi9udWxsCkBA
IC0xLDg5ICswLDAgQEAKLVsKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImRpY3Rpb25hcnkiLAot
ICAgICAgICAibmFtZSI6ICJQYWludE9wdGlvbnMiLAotICAgICAgICAicGFydGlhbCI6IGZhbHNl
LAotICAgICAgICAibWVtYmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAi
dHlwZSI6ICJmaWVsZCIsCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiZmlsbFBhdHRlcm4iLAot
ICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJmaWxsUGF0dGVybiIsCi0gICAgICAgICAg
ICAgICAgInJlcXVpcmVkIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0g
ICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImRpY3Rpb25hcnktdHlwZSIsCi0gICAgICAgICAg
ICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxl
IjogdHJ1ZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgICAgICJpZGxUeXBlIjogIkRPTVN0cmluZyIsCi0gICAgICAgICAgICAgICAgICAgICJl
eHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAiZXh0QXR0
cnMiOiBbXSwKLSAgICAgICAgICAgICAgICAiZGVmYXVsdCI6IHsKLSAgICAgICAgICAgICAgICAg
ICAgInR5cGUiOiAic3RyaW5nIiwKLSAgICAgICAgICAgICAgICAgICAgInZhbHVlIjogImJsYWNr
IgotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAg
ICAgICAgICAgICAgInR5cGUiOiAiZmllbGQiLAotICAgICAgICAgICAgICAgICJuYW1lIjogInN0
cm9rZVBhdHRlcm4iLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJzdHJva2VQYXR0
ZXJuIiwKLSAgICAgICAgICAgICAgICAicmVxdWlyZWQiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiZGljdGlvbmFyeS10
eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAg
ICAgICAgICAibnVsbGFibGUiOiB0cnVlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiRE9NU3RyaW5nIiwKLSAgICAg
ICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAg
ICAgICAgICAgICJleHRBdHRycyI6IFtdLAotICAgICAgICAgICAgICAgICJkZWZhdWx0Ijogewot
ICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJudWxsIgotICAgICAgICAgICAgICAgIH0KLSAg
ICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiZmll
bGQiLAotICAgICAgICAgICAgICAgICJuYW1lIjogInBvc2l0aW9uIiwKLSAgICAgICAgICAgICAg
ICAiZXNjYXBlZE5hbWUiOiAicG9zaXRpb24iLAotICAgICAgICAgICAgICAgICJyZXF1aXJlZCI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAg
ICAidHlwZSI6ICJkaWN0aW9uYXJ5LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJp
YyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5
cGUiOiAiUG9pbnQiLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAg
ICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10sCi0gICAgICAgICAg
ICAgICAgImRlZmF1bHQiOiBudWxsCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAg
ICJpbmhlcml0YW5jZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgfSwKLSAg
ICB7Ci0gICAgICAgICJ0eXBlIjogImRpY3Rpb25hcnkiLAotICAgICAgICAibmFtZSI6ICJXZXRQ
YWludE9wdGlvbnMiLAotICAgICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVy
cyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJmaWVsZCIsCi0g
ICAgICAgICAgICAgICAgIm5hbWUiOiAiaHlkcm9tZXRyeSIsCi0gICAgICAgICAgICAgICAgImVz
Y2FwZWROYW1lIjogImh5ZHJvbWV0cnkiLAotICAgICAgICAgICAgICAgICJyZXF1aXJlZCI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAi
dHlwZSI6ICJkaWN0aW9uYXJ5LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6
IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUi
OiAiZmxvYXQiLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAg
ICAgICAgIH0sCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10sCi0gICAgICAgICAgICAg
ICAgImRlZmF1bHQiOiBudWxsCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJp
bmhlcml0YW5jZSI6ICJQYWludE9wdGlvbnMiLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAg
IH0KLV0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9kaWN0aW9uYXJ5Lmpzb24g
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vZGljdGlvbmFyeS5qc29uCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCA4YmJjNmI5ZGZhYmI0ZTU1YzMwOWZmMmVlMzEwNDI4MjNkY2Y5NjNjLi4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9z
eW50YXgvanNvbi9kaWN0aW9uYXJ5Lmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSwxNDYgKzAsMCBA
QAotWwotICAgIHsKLSAgICAgICAgInR5cGUiOiAiZGljdGlvbmFyeSIsCi0gICAgICAgICJuYW1l
IjogIlBhaW50T3B0aW9ucyIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0gICAgICAgICJt
ZW1iZXJzIjogWwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogImZpZWxk
IiwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJmaWxsUGF0dGVybiIsCi0gICAgICAgICAgICAg
ICAgImVzY2FwZWROYW1lIjogImZpbGxQYXR0ZXJuIiwKLSAgICAgICAgICAgICAgICAicmVxdWly
ZWQiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAg
ICAgICAgInR5cGUiOiAiZGljdGlvbmFyeS10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdl
bmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiB0cnVlLAotICAg
ICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlk
bFR5cGUiOiAiRE9NU3RyaW5nIiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10K
LSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdLAotICAg
ICAgICAgICAgICAgICJkZWZhdWx0IjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJz
dHJpbmciLAotICAgICAgICAgICAgICAgICAgICAidmFsdWUiOiAiYmxhY2siCi0gICAgICAgICAg
ICAgICAgfQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAi
dHlwZSI6ICJmaWVsZCIsCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAic3Ryb2tlUGF0dGVybiIs
Ci0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogInN0cm9rZVBhdHRlcm4iLAotICAgICAg
ICAgICAgICAgICJyZXF1aXJlZCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjog
ewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJkaWN0aW9uYXJ5LXR5cGUiLAotICAgICAg
ICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxs
YWJsZSI6IHRydWUsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJET01TdHJpbmciLAotICAgICAgICAgICAgICAgICAg
ICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgImV4
dEF0dHJzIjogW10sCi0gICAgICAgICAgICAgICAgImRlZmF1bHQiOiB7Ci0gICAgICAgICAgICAg
ICAgICAgICJ0eXBlIjogIm51bGwiCi0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgfSwK
LSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJmaWVsZCIsCi0gICAgICAg
ICAgICAgICAgIm5hbWUiOiAicG9zaXRpb24iLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFt
ZSI6ICJwb3NpdGlvbiIsCi0gICAgICAgICAgICAgICAgInJlcXVpcmVkIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImRp
Y3Rpb25hcnktdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAg
ICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAg
ICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJQb2ludCIs
Ci0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwK
LSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXSwKLSAgICAgICAgICAgICAgICAiZGVmYXVs
dCI6IG51bGwKLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAg
InR5cGUiOiAiZmllbGQiLAotICAgICAgICAgICAgICAgICJuYW1lIjogInNlcSIsCi0gICAgICAg
ICAgICAgICAgImVzY2FwZWROYW1lIjogInNlcSIsCi0gICAgICAgICAgICAgICAgInJlcXVpcmVk
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAg
ICAgICJ0eXBlIjogImRpY3Rpb25hcnktdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5l
cmljIjogInNlcXVlbmNlIiwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAg
ICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImRpY3Rpb25h
cnktdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUi
OiAibG9uZyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAg
ICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAg
ICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10sCi0gICAgICAg
ICAgICAgICAgImRlZmF1bHQiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInNlcXVl
bmNlIiwKLSAgICAgICAgICAgICAgICAgICAgInZhbHVlIjogW10KLSAgICAgICAgICAgICAgICB9
Ci0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjog
ImZpZWxkIiwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJyZXFTZXEiLAotICAgICAgICAgICAg
ICAgICJlc2NhcGVkTmFtZSI6ICJyZXFTZXEiLAotICAgICAgICAgICAgICAgICJyZXF1aXJlZCI6
IHRydWUsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAg
ICJ0eXBlIjogImRpY3Rpb25hcnktdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmlj
IjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlw
ZSI6ICJsb25nIiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAg
ICAgICAgICB9LAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdLAotICAgICAgICAgICAg
ICAgICJkZWZhdWx0IjogbnVsbAotICAgICAgICAgICAgfQotICAgICAgICBdLAotICAgICAgICAi
aW5oZXJpdGFuY2UiOiBudWxsLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0sCi0gICAg
ewotICAgICAgICAidHlwZSI6ICJkaWN0aW9uYXJ5IiwKLSAgICAgICAgIm5hbWUiOiAiQSIsCi0g
ICAgICAgICJwYXJ0aWFsIjogdHJ1ZSwKLSAgICAgICAgIm1lbWJlcnMiOiBbCi0gICAgICAgICAg
ICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiZmllbGQiLAotICAgICAgICAgICAgICAgICJu
YW1lIjogImgiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJoIiwKLSAgICAgICAg
ICAgICAgICAicmVxdWlyZWQiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsK
LSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiZGljdGlvbmFyeS10eXBlIiwKLSAgICAgICAg
ICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFi
bGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgICAgICJpZGxUeXBlIjogImxvbmciLAotICAgICAgICAgICAgICAgICAgICAiZXh0
QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgImV4dEF0dHJz
IjogW10sCi0gICAgICAgICAgICAgICAgImRlZmF1bHQiOiBudWxsCi0gICAgICAgICAgICB9LAot
ICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogImZpZWxkIiwKLSAgICAgICAg
ICAgICAgICAibmFtZSI6ICJkIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiZCIs
Ci0gICAgICAgICAgICAgICAgInJlcXVpcmVkIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlk
bFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImRpY3Rpb25hcnktdHlwZSIs
Ci0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAg
ICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJsb25nIiwKLSAgICAgICAgICAgICAg
ICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAg
ICJleHRBdHRycyI6IFtdLAotICAgICAgICAgICAgICAgICJkZWZhdWx0IjogbnVsbAotICAgICAg
ICAgICAgfQotICAgICAgICBdLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0KLV0KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9kb2N1bWVudGF0aW9uLWRvcy5qc29uIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3N5bnRheC9qc29uL2RvY3VtZW50YXRpb24tZG9zLmpzb24KZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IGJhYTBiNWEwOWI1ZWUxN2I5NWJjZGQ0MmRiYTRmYWJhMjVjZDM3
MzMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3N5bnRheC9qc29uL2RvY3VtZW50YXRpb24tZG9zLmpzb24KKysrIC9kZXYvbnVsbApAQCAt
MSwxMCArMCwwIEBACi1bCi0gICAgewotICAgICAgICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAg
ICAgICAibmFtZSI6ICJEb2N1bWVudGF0aW9uIiwKLSAgICAgICAgInBhcnRpYWwiOiBmYWxzZSwK
LSAgICAgICAgIm1lbWJlcnMiOiBbXSwKLSAgICAgICAgImluaGVyaXRhbmNlIjogbnVsbCwKLSAg
ICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9Ci1dCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3lu
dGF4L2pzb24vZG9jdW1lbnRhdGlvbi5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2RvY3Vt
ZW50YXRpb24uanNvbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYmFhMGI1YTA5YjVl
ZTE3Yjk1YmNkZDQyZGJhNGZhYmEyNWNkMzczMy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vZG9jdW1lbnRhdGlvbi5q
c29uCisrKyAvZGV2L251bGwKQEAgLTEsMTAgKzAsMCBAQAotWwotICAgIHsKLSAgICAgICAgInR5
cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUiOiAiRG9jdW1lbnRhdGlvbiIsCi0gICAg
ICAgICJwYXJ0aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJzIjogW10sCi0gICAgICAgICJp
bmhlcml0YW5jZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgfQotXQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2VudW0uanNvbiBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50
YXgvanNvbi9lbnVtLmpzb24KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDExZjVkMDlm
NTRiNjJiOWViMTRiNWFkYWUxNTgyMjI2M2QwY2U3MzguLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2VudW0uanNvbgor
KysgL2Rldi9udWxsCkBAIC0xLDEzOCArMCwwIEBACi1bCi0gICAgewotICAgICAgICAidHlwZSI6
ICJlbnVtIiwKLSAgICAgICAgIm5hbWUiOiAiTWVhbFR5cGUiLAotICAgICAgICAidmFsdWVzIjog
WwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCi0gICAg
ICAgICAgICAgICAgInZhbHVlIjogInJpY2UiCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAg
ewotICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCi0gICAgICAgICAgICAgICAgInZh
bHVlIjogIm5vb2RsZXMiCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAg
ICAgICAgICJ0eXBlIjogInN0cmluZyIsCi0gICAgICAgICAgICAgICAgInZhbHVlIjogIm90aGVy
IgotICAgICAgICAgICAgfQotICAgICAgICBdLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAg
IH0sCi0gICAgewotICAgICAgICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFtZSI6
ICJNZWFsIiwKLSAgICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJlcnMiOiBb
Ci0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAg
ICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lm
aWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAicmVhZG9ubHkiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsK
LSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlLXR5cGUiLAotICAgICAgICAg
ICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJs
ZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAgICAgImlkbFR5cGUiOiAiTWVhbFR5cGUiLAotICAgICAgICAgICAgICAgICAgICAi
ZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUi
OiAidHlwZSIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogInR5cGUiLAotICAgICAg
ICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewot
ICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInN0
YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICJpbmhlcml0IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAg
ICAgICJ0eXBlIjogImF0dHJpYnV0ZS10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVy
aWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxU
eXBlIjogImZsb2F0IiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAg
ICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogInNpemUiLAotICAgICAgICAg
ICAgICAgICJlc2NhcGVkTmFtZSI6ICJzaXplIiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMi
OiBbXQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlw
ZSI6ICJvcGVyYXRpb24iLAotICAgICAgICAgICAgICAgICJnZXR0ZXIiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAic2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImRlbGV0ZXIiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
InN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAg
ICAgICAgICAgICAgICAgICJ0eXBlIjogInJldHVybi10eXBlIiwKLSAgICAgICAgICAgICAgICAg
ICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ICAgICJpZGxUeXBlIjogInZvaWQiLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBb
XQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiaW5pdGlhbGl6
ZSIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImluaXRpYWxpemUiLAotICAgICAg
ICAgICAgICAgICJhcmd1bWVudHMiOiBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAg
ICAgICAgICAgICAgICAgICJvcHRpb25hbCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgInZhcmlhZGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdCI6
IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICJ0eXBlIjogImFyZ3VtZW50LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJn
ZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJNZWFsVHlwZSIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgICAg
IH0sCi0gICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJ0eXBlIiwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJ0eXBlIgotICAgICAgICAgICAgICAgICAgICB9
LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAib3B0aW9u
YWwiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ2YXJpYWRpYyI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHQiOiBudWxsLAotICAgICAgICAgICAgICAg
ICAgICAgICAgImV4dEF0dHJzIjogW10sCi0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlw
ZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBl
IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ImlkbFR5cGUiOiAiZmxvYXQiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRy
cyI6IFtdCi0gICAgICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICAg
ICAgIm5hbWUiOiAic2l6ZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUi
OiAic2l6ZSIKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAg
ICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAg
ICAgICAgImluaGVyaXRhbmNlIjogbnVsbCwKLSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9
LAotICAgIHsKLSAgICAgICAgInR5cGUiOiAiZW51bSIsCi0gICAgICAgICJuYW1lIjogIkFsdE1l
YWxUeXBlIiwKLSAgICAgICAgInZhbHVlcyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAg
ICAgICAidHlwZSI6ICJzdHJpbmciLAotICAgICAgICAgICAgICAgICJ2YWx1ZSI6ICJyaWNlIgot
ICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJz
dHJpbmciLAotICAgICAgICAgICAgICAgICJ2YWx1ZSI6ICJub29kbGVzIgotICAgICAgICAgICAg
fSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAotICAg
ICAgICAgICAgICAgICJ2YWx1ZSI6ICJvdGhlciIKLSAgICAgICAgICAgIH0KLSAgICAgICAgXSwK
LSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9Ci1dCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
c3ludGF4L2pzb24vZXF1aXZhbGVudC1kZWNsLmpzb24gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24v
ZXF1aXZhbGVudC1kZWNsLmpzb24KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGVlMDc5
YTc3NzkwNTMxNjY2ZDIxNGI2N2I1OGVhMGQ5Zjg5ZTJmMjguLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2VxdWl2YWxl
bnQtZGVjbC5qc29uCisrKyAvZGV2L251bGwKQEAgLTEsMzI2ICswLDAgQEAKLVsKLSAgICB7Ci0g
ICAgICAgICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAgICAgICJuYW1lIjogIkRpY3Rpb25hcnki
LAotICAgICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFsKLSAgICAg
ICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAg
ICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICJyZWFkb25seSI6IHRydWUsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAg
ICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZS10eXBlIiwKLSAgICAgICAgICAgICAgICAg
ICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ICAgICJpZGxUeXBlIjogInVuc2lnbmVkIGxvbmciLAotICAgICAgICAgICAgICAgICAgICAiZXh0
QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAi
cHJvcGVydHlDb3VudCIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogInByb3BlcnR5
Q291bnQiLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9LAot
ICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogIm9wZXJhdGlvbiIsCi0gICAg
ICAgICAgICAgICAgImdldHRlciI6IHRydWUsCi0gICAgICAgICAgICAgICAgInNldHRlciI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICJkZWxldGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
InN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6
ICJyZXR1cm4tdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAg
ICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAg
ICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJmbG9hdCIs
Ci0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwK
LSAgICAgICAgICAgICAgICAibmFtZSI6ICJnZXRQcm9wZXJ0eSIsCi0gICAgICAgICAgICAgICAg
ImVzY2FwZWROYW1lIjogImdldFByb3BlcnR5IiwKLSAgICAgICAgICAgICAgICAiYXJndW1lbnRz
IjogWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAib3B0
aW9uYWwiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ2YXJpYWRpYyI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHQiOiBudWxsLAotICAgICAgICAgICAg
ICAgICAgICAgICAgImV4dEF0dHJzIjogW10sCi0gICAgICAgICAgICAgICAgICAgICAgICAiaWRs
VHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10
eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgImlkbFR5cGUiOiAiRE9NU3RyaW5nIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAi
ZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICJuYW1lIjogInByb3BlcnR5TmFtZSIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAiZXNjYXBlZE5hbWUiOiAicHJvcGVydHlOYW1lIgotICAgICAgICAgICAgICAgICAgICB9Ci0g
ICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAg
ICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJvcGVyYXRp
b24iLAotICAgICAgICAgICAgICAgICJnZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAi
c2V0dGVyIjogdHJ1ZSwKLSAgICAgICAgICAgICAgICAiZGVsZXRlciI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAg
ICAgInR5cGUiOiAicmV0dXJuLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6
IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUi
OiAidm9pZCIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAg
ICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJzZXRQcm9wZXJ0eSIsCi0gICAgICAg
ICAgICAgICAgImVzY2FwZWROYW1lIjogInNldFByb3BlcnR5IiwKLSAgICAgICAgICAgICAgICAi
YXJndW1lbnRzIjogWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICAib3B0aW9uYWwiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ2YXJpYWRp
YyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHQiOiBudWxsLAotICAg
ICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10sCi0gICAgICAgICAgICAgICAgICAg
ICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJh
cmd1bWVudC10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51
bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgImlkbFR5cGUiOiAiRE9NU3RyaW5nIiwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJuYW1lIjogInByb3BlcnR5TmFtZSIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAicHJvcGVydHlOYW1lIgotICAgICAgICAgICAgICAg
ICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAi
b3B0aW9uYWwiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ2YXJpYWRpYyI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHQiOiBudWxsLAotICAgICAgICAg
ICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10sCi0gICAgICAgICAgICAgICAgICAgICAgICAi
aWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVu
dC10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgImlkbFR5cGUiOiAiZmxvYXQiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJl
eHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAg
ICAgICAgICAgIm5hbWUiOiAicHJvcGVydHlWYWx1ZSIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAiZXNjYXBlZE5hbWUiOiAicHJvcGVydHlWYWx1ZSIKLSAgICAgICAgICAgICAgICAgICAgfQot
ICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAg
ICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImluaGVyaXRhbmNlIjogbnVsbCwKLSAgICAg
ICAgImV4dEF0dHJzIjogW10KLSAgICB9LAotICAgIHsKLSAgICAgICAgInR5cGUiOiAiaW50ZXJm
YWNlIiwKLSAgICAgICAgIm5hbWUiOiAiRGljdGlvbmFyeTIiLAotICAgICAgICAicGFydGlhbCI6
IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAg
ICAgICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAiaW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJyZWFkb25seSI6IHRydWUsCi0g
ICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjog
ImF0dHJpYnV0ZS10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAot
ICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAg
ICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogInVuc2ln
bmVkIGxvbmciLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAg
ICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAicHJvcGVydHlDb3VudCIsCi0gICAg
ICAgICAgICAgICAgImVzY2FwZWROYW1lIjogInByb3BlcnR5Q291bnQiLAotICAgICAgICAgICAg
ICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAg
ICAgICAgICAgICJ0eXBlIjogIm9wZXJhdGlvbiIsCi0gICAgICAgICAgICAgICAgImdldHRlciI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICJzZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAiZGVsZXRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRs
VHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAicmV0dXJuLXR5cGUiLAotICAg
ICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJu
dWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiZmxvYXQiLAotICAgICAgICAgICAgICAgICAg
ICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5h
bWUiOiAiZ2V0UHJvcGVydHkiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJnZXRQ
cm9wZXJ0eSIsCi0gICAgICAgICAgICAgICAgImFyZ3VtZW50cyI6IFsKLSAgICAgICAgICAgICAg
ICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIm9wdGlvbmFsIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAidmFyaWFkaWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICJkZWZhdWx0IjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRy
cyI6IFtdLAotICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlv
biI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogIkRPTVN0
cmluZyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAg
ICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJw
cm9wZXJ0eU5hbWUiLAotICAgICAgICAgICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogInBy
b3BlcnR5TmFtZSIKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0g
ICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAg
ICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAib3BlcmF0aW9uIiwKLSAgICAgICAgICAgICAg
ICAiZ2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInNldHRlciI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICJkZWxldGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJyZXR1cm4t
dHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAg
ICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJ2b2lkIiwKLSAgICAgICAg
ICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAg
ICAgICAgICJuYW1lIjogInNldFByb3BlcnR5IiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5h
bWUiOiAic2V0UHJvcGVydHkiLAotICAgICAgICAgICAgICAgICJhcmd1bWVudHMiOiBbCi0gICAg
ICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJvcHRpb25hbCI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgInZhcmlhZGljIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAiZGVmYXVsdCI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAiZXh0QXR0cnMiOiBbXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImFyZ3VtZW50LXR5cGUiLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlw
ZSI6ICJET01TdHJpbmciLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6
IFtdCi0gICAgICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICAgICAg
Im5hbWUiOiAicHJvcGVydHlOYW1lIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJlc2NhcGVk
TmFtZSI6ICJwcm9wZXJ0eU5hbWUiCi0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAg
ICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJvcHRpb25hbCI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgInZhcmlhZGljIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAiZGVmYXVsdCI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXh0
QXR0cnMiOiBbXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImFyZ3VtZW50LXR5cGUiLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAi
dW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJm
bG9hdCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAg
ICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJw
cm9wZXJ0eVZhbHVlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJw
cm9wZXJ0eVZhbHVlIgotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXSwK
LSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfSwKLSAgICAgICAg
ICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJvcGVyYXRpb24iLAotICAgICAgICAgICAg
ICAgICJnZXR0ZXIiOiB0cnVlLAotICAgICAgICAgICAgICAgICJzZXR0ZXIiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAiZGVsZXRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdGF0aWMi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAicmV0dXJu
LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAg
ICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24i
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiZmxvYXQiLAotICAgICAg
ICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAg
ICAgICAgICAgIm5hbWUiOiBudWxsLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6IG51
bGwsCi0gICAgICAgICAgICAgICAgImFyZ3VtZW50cyI6IFsKLSAgICAgICAgICAgICAgICAgICAg
ewotICAgICAgICAgICAgICAgICAgICAgICAgIm9wdGlvbmFsIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAidmFyaWFkaWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJkZWZhdWx0IjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtd
LAotICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgInR5cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJu
dWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogIkRPTVN0cmluZyIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAg
ICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJwcm9wZXJ0
eU5hbWUiLAotICAgICAgICAgICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogInByb3BlcnR5
TmFtZSIKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAg
ICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0g
ICAgICAgICAgICAgICAgInR5cGUiOiAib3BlcmF0aW9uIiwKLSAgICAgICAgICAgICAgICAiZ2V0
dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInNldHRlciI6IHRydWUsCi0gICAgICAgICAg
ICAgICAgImRlbGV0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInJldHVybi10eXBlIiwK
LSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAg
ICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogInZvaWQiLAotICAgICAgICAgICAgICAg
ICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAg
Im5hbWUiOiBudWxsLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6IG51bGwsCi0gICAg
ICAgICAgICAgICAgImFyZ3VtZW50cyI6IFsKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAg
ICAgICAgICAgICAgICAgICAgIm9wdGlvbmFsIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAidmFyaWFkaWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0
IjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdLAotICAgICAg
ICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgInR5cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogIkRPTVN0cmluZyIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAg
ICAgIH0sCi0gICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJwcm9wZXJ0eU5hbWUiLAot
ICAgICAgICAgICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogInByb3BlcnR5TmFtZSIKLSAg
ICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAg
ICAgICAgICAgICAgIm9wdGlvbmFsIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAi
dmFyaWFkaWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0IjogbnVs
bCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdLAotICAgICAgICAgICAg
ICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5
cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVy
aWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogImZsb2F0IiwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjogInByb3BlcnR5VmFsdWUiLAotICAgICAgICAg
ICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogInByb3BlcnR5VmFsdWUiCi0gICAgICAgICAg
ICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgICJleHRBdHRy
cyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJpbmhlcml0YW5jZSI6
IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgfQotXQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L3N5bnRheC9qc29uL2V4Y2VwdGlvbi1pbmhlcml0YW5jZS5qc29uIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3N5bnRheC9qc29uL2V4Y2VwdGlvbi1pbmhlcml0YW5jZS5qc29uCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCA0YTc2Yjk4Mjg1Njk3ZTM5YjNiN2EyODRiYjIwZThmYTBhNzJjMWFiLi4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9z
eW50YXgvanNvbi9leGNlcHRpb24taW5oZXJpdGFuY2UuanNvbgorKysgL2Rldi9udWxsCkBAIC0x
LDM2ICswLDAgQEAKLVsKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImV4Y2VwdGlvbiIsCi0gICAg
ICAgICJuYW1lIjogIkRPTUV4Y2VwdGlvbiIsCi0gICAgICAgICJtZW1iZXJzIjogWwotICAgICAg
ICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogImZpZWxkIiwKLSAgICAgICAgICAgICAg
ICAibmFtZSI6ICJjb2RlIiwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAg
ICAgICAgICAgICAgInNlcXVlbmNlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJnZW5l
cmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRs
VHlwZSI6ICJ1bnNpZ25lZCBzaG9ydCIKLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAg
ICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJp
bmhlcml0YW5jZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgfSwKLSAgICB7
Ci0gICAgICAgICJ0eXBlIjogImV4Y2VwdGlvbiIsCi0gICAgICAgICJuYW1lIjogIkhpZXJhcmNo
eVJlcXVlc3RFcnJvciIsCi0gICAgICAgICJtZW1iZXJzIjogW10sCi0gICAgICAgICJpbmhlcml0
YW5jZSI6ICJET01FeGNlcHRpb24iLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0sCi0g
ICAgewotICAgICAgICAidHlwZSI6ICJleGNlcHRpb24iLAotICAgICAgICAibmFtZSI6ICJOb01v
ZGlmaWNhdGlvbkFsbG93ZWRFcnJvciIsCi0gICAgICAgICJtZW1iZXJzIjogW10sCi0gICAgICAg
ICJpbmhlcml0YW5jZSI6ICJET01FeGNlcHRpb24iLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQot
ICAgIH0KLV0KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvc3ludGF4L2pzb24vZXh0ZW5kZWQtYXR0cmlidXRlcy5qc29uIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRh
eC9qc29uL2V4dGVuZGVkLWF0dHJpYnV0ZXMuanNvbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMjVmNTZmMDM0MGFjODczNmIwNDhmYzJjNDhkZTg3YzJiMzdjNmJkNC4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pz
b24vZXh0ZW5kZWQtYXR0cmlidXRlcy5qc29uCisrKyAvZGV2L251bGwKQEAgLTEsMjQwICswLDAg
QEAKLVsKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAgICAgICJuYW1l
IjogIlNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZSIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFsc2Us
Ci0gICAgICAgICJtZW1iZXJzIjogW10sCi0gICAgICAgICJpbmhlcml0YW5jZSI6ICJXb3JrZXJH
bG9iYWxTY29wZSIsCi0gICAgICAgICJleHRBdHRycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAg
ICAgICAgICAgICAibmFtZSI6ICJHbG9iYWwiLAotICAgICAgICAgICAgICAgICJhcmd1bWVudHMi
OiBudWxsLAotICAgICAgICAgICAgICAgICJ0eXBlIjogImV4dGVuZGVkLWF0dHJpYnV0ZSIsCi0g
ICAgICAgICAgICAgICAgInJocyI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiaWRl
bnRpZmllci1saXN0IiwKLSAgICAgICAgICAgICAgICAgICAgInZhbHVlIjogWwotICAgICAgICAg
ICAgICAgICAgICAgICAgIldvcmtlciIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiU2Vydmlj
ZVdvcmtlciIKLSAgICAgICAgICAgICAgICAgICAgXQotICAgICAgICAgICAgICAgIH0KLSAgICAg
ICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgIm5hbWUiOiAiRXhwb3Nl
ZCIsCi0gICAgICAgICAgICAgICAgImFyZ3VtZW50cyI6IG51bGwsCi0gICAgICAgICAgICAgICAg
InR5cGUiOiAiZXh0ZW5kZWQtYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAicmhzIjogewot
ICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJpZGVudGlmaWVyIiwKLSAgICAgICAgICAgICAg
ICAgICAgInZhbHVlIjogIlNlcnZpY2VXb3JrZXIiCi0gICAgICAgICAgICAgICAgfQotICAgICAg
ICAgICAgfQotICAgICAgICBdCi0gICAgfSwKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImludGVy
ZmFjZSIsCi0gICAgICAgICJuYW1lIjogIklkSW50ZXJmYWNlIiwKLSAgICAgICAgInBhcnRpYWwi
OiBmYWxzZSwKLSAgICAgICAgIm1lbWJlcnMiOiBbXSwKLSAgICAgICAgImluaGVyaXRhbmNlIjog
bnVsbCwKLSAgICAgICAgImV4dEF0dHJzIjogWwotICAgICAgICAgICAgewotICAgICAgICAgICAg
ICAgICJuYW1lIjogIkludEF0dHIiLAotICAgICAgICAgICAgICAgICJhcmd1bWVudHMiOiBudWxs
LAotICAgICAgICAgICAgICAgICJ0eXBlIjogImV4dGVuZGVkLWF0dHJpYnV0ZSIsCi0gICAgICAg
ICAgICAgICAgInJocyI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiaW50ZWdlciIs
Ci0gICAgICAgICAgICAgICAgICAgICJ2YWx1ZSI6ICIwIgotICAgICAgICAgICAgICAgIH0KLSAg
ICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgIm5hbWUiOiAiRmxv
YXRBdHRyIiwKLSAgICAgICAgICAgICAgICAiYXJndW1lbnRzIjogbnVsbCwKLSAgICAgICAgICAg
ICAgICAidHlwZSI6ICJleHRlbmRlZC1hdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJyaHMi
OiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImZsb2F0IiwKLSAgICAgICAgICAgICAg
ICAgICAgInZhbHVlIjogIjMuMTQiCi0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgfSwK
LSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJTdHJpbmdBdHRyIiwKLSAg
ICAgICAgICAgICAgICAiYXJndW1lbnRzIjogbnVsbCwKLSAgICAgICAgICAgICAgICAidHlwZSI6
ICJleHRlbmRlZC1hdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJyaHMiOiB7Ci0gICAgICAg
ICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCi0gICAgICAgICAgICAgICAgICAgICJ2YWx1
ZSI6ICJcImFiY1wiIgotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0KLSAgICAgICAg
XQotICAgIH0sCi0gICAgewotICAgICAgICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAi
bmFtZSI6ICJDaXJjbGUiLAotICAgICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVt
YmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1
dGUiLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAi
c3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICJyZWFkb25seSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxU
eXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0g
ICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAg
Im51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJkb3VibGUiLAotICAgICAgICAgICAgICAg
ICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAg
Im5hbWUiOiAiciIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogInIiLAotICAgICAg
ICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewot
ICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInN0
YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICJpbmhlcml0IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAg
ICAgICJ0eXBlIjogImF0dHJpYnV0ZS10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVy
aWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxU
eXBlIjogImRvdWJsZSIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAg
ICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJjeCIsCi0gICAgICAgICAg
ICAgICAgImVzY2FwZWROYW1lIjogImN4IiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBb
XQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6
ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaW5oZXJpdCI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICJyZWFkb25seSI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUt
dHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAg
ICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJkb3VibGUiLAotICAgICAg
ICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAg
ICAgICAgICAgIm5hbWUiOiAiY3kiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJj
eSIsCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0gICAg
ICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAgICAgICAg
ICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAicmVhZG9ubHkiOiB0cnVlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAg
ICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAgICAgICAgICAgICAg
ICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICAgICAiaWRsVHlwZSI6ICJkb3VibGUiLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMi
OiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiY2lyY3Vt
ZmVyZW5jZSIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImNpcmN1bWZlcmVuY2Ui
LAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAg
IF0sCi0gICAgICAgICJpbmhlcml0YW5jZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6IFsK
LSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJDb25zdHJ1Y3RvciIsCi0g
ICAgICAgICAgICAgICAgImFyZ3VtZW50cyI6IG51bGwsCi0gICAgICAgICAgICAgICAgInR5cGUi
OiAiZXh0ZW5kZWQtYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAicmhzIjogbnVsbAotICAg
ICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJDb25z
dHJ1Y3RvciIsCi0gICAgICAgICAgICAgICAgImFyZ3VtZW50cyI6IFsKLSAgICAgICAgICAgICAg
ICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIm9wdGlvbmFsIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAidmFyaWFkaWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICJkZWZhdWx0IjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRy
cyI6IFtdLAotICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlv
biI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogImRvdWJs
ZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAg
ICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJyYWRp
dXMiLAotICAgICAgICAgICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogInJhZGl1cyIKLSAg
ICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAg
InR5cGUiOiAiZXh0ZW5kZWQtYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAicmhzIjogbnVs
bAotICAgICAgICAgICAgfQotICAgICAgICBdCi0gICAgfSwKLSAgICB7Ci0gICAgICAgICJ0eXBl
IjogImludGVyZmFjZSIsCi0gICAgICAgICJuYW1lIjogIkkiLAotICAgICAgICAicGFydGlhbCI6
IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAg
ICAgICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAiaW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJyZWFkb25seSI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6
ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwK
LSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ICAgICJ1bmlvbiI6IHRydWUsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogWwotICAg
ICAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBl
IjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgImlkbFR5cGUiOiAibG9uZyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4
dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAg
ICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiBudWxsLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlw
ZSI6ICJOb2RlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQot
ICAgICAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICAgICBdLAotICAgICAg
ICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbCi0gICAgICAgICAgICAgICAgICAgICAgICB7Ci0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAiWEF0dHIiLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICJhcmd1bWVudHMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICJ0eXBlIjogImV4dGVuZGVkLWF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgInJocyI6IG51bGwKLSAgICAgICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAg
ICAgICAgICAgICAgXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUi
OiAiYXR0cmliIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiYXR0cmliIiwKLSAg
ICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfQotICAgICAgICBdLAot
ICAgICAgICAiaW5oZXJpdGFuY2UiOiBudWxsLAotICAgICAgICAiZXh0QXR0cnMiOiBbCi0gICAg
ICAgICAgICB7Ci0gICAgICAgICAgICAgICAgIm5hbWUiOiAiRXhwb3NlZCIsCi0gICAgICAgICAg
ICAgICAgImFyZ3VtZW50cyI6IG51bGwsCi0gICAgICAgICAgICAgICAgInR5cGUiOiAiZXh0ZW5k
ZWQtYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAicmhzIjogewotICAgICAgICAgICAgICAg
ICAgICAidHlwZSI6ICJpZGVudGlmaWVyIiwKLSAgICAgICAgICAgICAgICAgICAgInZhbHVlIjog
IldpbmRvdyIKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB9Ci0gICAgICAgIF0KLSAg
ICB9Ci1dCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vZ2VuZXJpYy5qc29uIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3N5bnRheC9qc29uL2dlbmVyaWMuanNvbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggZDNjMjZhYzdjZDBkZGQ5ZWIxNjdkN2E1ZWE5ODkxZjgyZmIwNmQ1Yi4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4
L2pzb24vZ2VuZXJpYy5qc29uCisrKyAvZGV2L251bGwKQEAgLTEsMTc2ICswLDAgQEAKLVsKLSAg
ICB7Ci0gICAgICAgICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAgICAgICJuYW1lIjogIkZvbyIs
Ci0gICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJzIjogWwotICAgICAg
ICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogIm9wZXJhdGlvbiIsCi0gICAgICAgICAg
ICAgICAgImdldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzZXR0ZXIiOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAiZGVsZXRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdGF0
aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAicmV0
dXJuLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6ICJQcm9taXNlIiwKLSAg
ICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAg
ICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInJldHVybi10eXBlIiwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICJnZW5lcmljIjogIlByb21pc2UiLAotICAgICAgICAgICAgICAgICAgICAgICAg
Im51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJ0eXBlIjogInJldHVybi10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAiZ2VuZXJpYyI6ICJzZXF1ZW5jZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9u
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInJldHVybi10eXBlIiwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiB0cnVlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgImlkbFR5cGUiOiAiRE9NU3RyaW5nIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAg
ICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAg
ICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAg
ICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogImJhciIsCi0gICAgICAg
ICAgICAgICAgImVzY2FwZWROYW1lIjogImJhciIsCi0gICAgICAgICAgICAgICAgImFyZ3VtZW50
cyI6IFtdLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9LAot
ICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0gICAg
ICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmll
ciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpbmhlcml0IjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgInJlYWRvbmx5IjogdHJ1ZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAg
ICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlLXR5cGUiLAotICAgICAgICAgICAg
ICAgICAgICAiZ2VuZXJpYyI6ICJQcm9taXNlIiwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxh
YmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBl
IjogImF0dHJpYnV0ZS10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjog
bnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAiaWRsVHlwZSI6ICJET01TdHJpbmciLAotICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0
dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgImV4
dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjog
ImJheiIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImJheiIsCi0gICAgICAgICAg
ICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAg
ImluaGVyaXRhbmNlIjogbnVsbCwKLSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9LAotICAg
IHsKLSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUiOiAiU2Vydmlj
ZVdvcmtlckNsaWVudHMiLAotICAgICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVt
YmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJvcGVyYXRp
b24iLAotICAgICAgICAgICAgICAgICJnZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAi
c2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImRlbGV0ZXIiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVy
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAg
ICAgICJ0eXBlIjogInJldHVybi10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMi
OiAiUHJvbWlzZSIsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlk
bFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJyZXR1cm4tdHlwZSIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAibnVsbGFibGUiOiB0cnVlLAotICAgICAgICAgICAgICAgICAgICAgICAgInVu
aW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJDbGllbnQi
LAotICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAg
ICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAg
ICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogImdldFNlcnZpY2VkIiwKLSAgICAgICAg
ICAgICAgICAiZXNjYXBlZE5hbWUiOiAiZ2V0U2VydmljZWQiLAotICAgICAgICAgICAgICAgICJh
cmd1bWVudHMiOiBbXSwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAg
ICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJvcGVyYXRpb24i
LAotICAgICAgICAgICAgICAgICJnZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic2V0
dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImRlbGV0ZXIiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAg
ICJ0eXBlIjogInJldHVybi10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiAi
UHJvbWlzZSIsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5
cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJyZXR1cm4tdHlwZSIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlv
biI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiYW55IiwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgICAg
IH0sCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAg
fSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJyZWxvYWRBbGwiLAotICAgICAgICAgICAgICAg
ICJlc2NhcGVkTmFtZSI6ICJyZWxvYWRBbGwiLAotICAgICAgICAgICAgICAgICJhcmd1bWVudHMi
OiBbXSwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfQotICAg
ICAgICBdLAotICAgICAgICAiaW5oZXJpdGFuY2UiOiBudWxsLAotICAgICAgICAiZXh0QXR0cnMi
OiBbXQotICAgIH0sCi0gICAgewotICAgICAgICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAg
ICAibmFtZSI6ICJGZXRjaEV2ZW50IiwKLSAgICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAg
ICAgIm1lbWJlcnMiOiBbCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAi
b3BlcmF0aW9uIiwKLSAgICAgICAgICAgICAgICAiZ2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgInNldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJkZWxldGVyIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJp
bmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAg
ICAgICAgICAgICAidHlwZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJn
ZW5lcmljIjogIlByb21pc2UiLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAicmV0dXJu
LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAg
ICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjog
ImFueSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAg
ICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAg
ICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiZGVmYXVsdCIsCi0gICAgICAg
ICAgICAgICAgImVzY2FwZWROYW1lIjogImRlZmF1bHQiLAotICAgICAgICAgICAgICAgICJhcmd1
bWVudHMiOiBbXSwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAg
fQotICAgICAgICBdLAotICAgICAgICAiaW5oZXJpdGFuY2UiOiAiRXZlbnQiLAotICAgICAgICAi
ZXh0QXR0cnMiOiBbXQotICAgIH0KLV0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNv
bi9nZXR0ZXItc2V0dGVyLmpzb24gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vZ2V0dGVyLXNldHRl
ci5qc29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2ZjgxOTZmZTU2ZGQzZDA0ZTlm
NjRmNzE5YzgyYzU1MjE5MzMyMGQ4Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9nZXR0ZXItc2V0dGVyLmpzb24KKysr
IC9kZXYvbnVsbApAQCAtMSwxMTkgKzAsMCBAQAotWwotICAgIHsKLSAgICAgICAgInR5cGUiOiAi
aW50ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUiOiAiRGljdGlvbmFyeSIsCi0gICAgICAgICJwYXJ0
aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJzIjogWwotICAgICAgICAgICAgewotICAgICAg
ICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICJpbmhlcml0IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5IjogdHJ1
ZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5
cGUiOiAiYXR0cmlidXRlLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51
bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAi
dW5zaWduZWQgbG9uZyIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAg
ICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJwcm9wZXJ0eUNvdW50IiwK
LSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAicHJvcGVydHlDb3VudCIsCi0gICAgICAg
ICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0g
ICAgICAgICAgICAgICAgInR5cGUiOiAib3BlcmF0aW9uIiwKLSAgICAgICAgICAgICAgICAiZ2V0
dGVyIjogdHJ1ZSwKLSAgICAgICAgICAgICAgICAic2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgImRlbGV0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInJldHVybi10eXBlIiwK
LSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAg
ICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogImZsb2F0IiwKLSAgICAgICAgICAgICAg
ICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAg
ICJuYW1lIjogbnVsbCwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiBudWxsLAotICAg
ICAgICAgICAgICAgICJhcmd1bWVudHMiOiBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJvcHRpb25hbCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgInZhcmlhZGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVs
dCI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJ0eXBlIjogImFyZ3VtZW50LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJET01TdHJpbmciLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgICAg
ICAgICB9LAotICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAicHJvcGVydHlOYW1lIiwK
LSAgICAgICAgICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJwcm9wZXJ0eU5hbWUiCi0g
ICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAg
ICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAg
ICAgICAgICJ0eXBlIjogIm9wZXJhdGlvbiIsCi0gICAgICAgICAgICAgICAgImdldHRlciI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICJzZXR0ZXIiOiB0cnVlLAotICAgICAgICAgICAgICAgICJk
ZWxldGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBl
IjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAgICAg
ICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxh
YmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJ2b2lkIiwKLSAgICAgICAgICAgICAgICAgICAgImV4
dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjog
bnVsbCwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiBudWxsLAotICAgICAgICAgICAg
ICAgICJhcmd1bWVudHMiOiBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAg
ICAgICAgICAgICJvcHRpb25hbCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgInZh
cmlhZGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdCI6IG51bGws
Ci0gICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBl
IjogImFyZ3VtZW50LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmlj
IjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJET01TdHJpbmciLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgICAgICAgICB9LAot
ICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAicHJvcGVydHlOYW1lIiwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJwcm9wZXJ0eU5hbWUiCi0gICAgICAgICAg
ICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJvcHRpb25hbCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgInZhcmlhZGlj
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdCI6IG51bGwsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImFy
Z3VtZW50LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVs
bCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAiaWRsVHlwZSI6ICJmbG9hdCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAg
ICAgICAgICAgICAgICAibmFtZSI6ICJwcm9wZXJ0eVZhbHVlIiwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICJlc2NhcGVkTmFtZSI6ICJwcm9wZXJ0eVZhbHVlIgotICAgICAgICAgICAgICAgICAg
ICB9Ci0gICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQot
ICAgICAgICAgICAgfQotICAgICAgICBdLAotICAgICAgICAiaW5oZXJpdGFuY2UiOiBudWxsLAot
ICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0KLV0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9z
eW50YXgvanNvbi9pZGVudGlmaWVyLXF1YWxpZmllZC1uYW1lcy5qc29uIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5
bnRheC9qc29uL2lkZW50aWZpZXItcXVhbGlmaWVkLW5hbWVzLmpzb24KZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDA5OGNkY2IxZmJiYzRmMTQwZjZhYWRhYTdlZTI5NzdiMmZjY2Q0Yjku
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3N5bnRheC9qc29uL2lkZW50aWZpZXItcXVhbGlmaWVkLW5hbWVzLmpzb24KKysrIC9kZXYvbnVs
bApAQCAtMSwxODkgKzAsMCBAQAotWwotICAgIHsKLSAgICAgICAgInR5cGUiOiAidHlwZWRlZiIs
Ci0gICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgInR5cGUiOiAidHlwZWRlZi10eXBl
IiwKLSAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICJudWxsYWJsZSI6
IGZhbHNlLAotICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAiaWRsVHlw
ZSI6ICJmbG9hdCIsCi0gICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICB9LAotICAg
ICAgICAibmFtZSI6ICJudW1iZXIiLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0sCi0g
ICAgewotICAgICAgICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFtZSI6ICJTeXN0
ZW0iLAotICAgICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFsKLSAg
ICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJvcGVyYXRpb24iLAotICAgICAg
ICAgICAgICAgICJnZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic2V0dGVyIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgImRlbGV0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAi
c3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjog
InJldHVybi10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAg
ICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAg
InVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogIm9iamVjdCIs
Ci0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwK
LSAgICAgICAgICAgICAgICAibmFtZSI6ICJjcmVhdGVPYmplY3QiLAotICAgICAgICAgICAgICAg
ICJlc2NhcGVkTmFtZSI6ICJjcmVhdGVPYmplY3QiLAotICAgICAgICAgICAgICAgICJhcmd1bWVu
dHMiOiBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJv
cHRpb25hbCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgInZhcmlhZGljIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdCI6IG51bGwsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJp
ZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImFyZ3VtZW50
LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAiaWRsVHlwZSI6ICJET01TdHJpbmciLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAg
ICAgICAgICAgICAgIm5hbWUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJlc2NhcGVkTmFtZSI6ICJfaW50ZXJmYWNlIgotICAgICAgICAgICAgICAgICAgICB9Ci0gICAg
ICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAg
ICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJvcGVyYXRpb24i
LAotICAgICAgICAgICAgICAgICJnZXR0ZXIiOiB0cnVlLAotICAgICAgICAgICAgICAgICJzZXR0
ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiZGVsZXRlciI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAg
InR5cGUiOiAicmV0dXJuLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51
bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAi
RE9NU3RyaW5nIiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAg
ICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogbnVsbCwKLSAgICAgICAgICAgICAg
ICAiZXNjYXBlZE5hbWUiOiBudWxsLAotICAgICAgICAgICAgICAgICJhcmd1bWVudHMiOiBbCi0g
ICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJvcHRpb25hbCI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgInZhcmlhZGljIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdCI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAiZXh0QXR0cnMiOiBbXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjog
ewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImFyZ3VtZW50LXR5cGUiLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRs
VHlwZSI6ICJET01TdHJpbmciLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRy
cyI6IFtdCi0gICAgICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICAg
ICAgIm5hbWUiOiAia2V5TmFtZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXNjYXBlZE5h
bWUiOiAia2V5TmFtZSIKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0s
Ci0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0KLSAgICAgICAg
XSwKLSAgICAgICAgImluaGVyaXRhbmNlIjogbnVsbCwKLSAgICAgICAgImV4dEF0dHJzIjogW10K
LSAgICB9LAotICAgIHsKLSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5h
bWUiOiAiVGV4dEZpZWxkIiwKLSAgICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1l
bWJlcnMiOiBbCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmli
dXRlIiwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
InN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAicmVhZG9ubHkiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRs
VHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlLXR5cGUiLAot
ICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAg
ICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiYm9vbGVhbiIsCi0gICAgICAgICAgICAg
ICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAg
ICAibmFtZSI6ICJjb25zdCIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogIl9jb25z
dCIsCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0gICAg
ICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAgICAgICAg
ICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAicmVhZG9ubHkiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAg
ICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlLXR5cGUiLAotICAgICAgICAgICAgICAg
ICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IHRy
dWUsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICAgICAiaWRsVHlwZSI6ICJET01TdHJpbmciLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0
cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAidmFs
dWUiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJfdmFsdWUiLAotICAgICAgICAg
ICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAg
ICJpbmhlcml0YW5jZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgfSwKLSAg
ICB7Ci0gICAgICAgICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAgICAgICJuYW1lIjogIkZvb0V2
ZW50VGFyZ2V0IiwKLSAgICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJlcnMi
OiBbCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAib3BlcmF0aW9uIiwK
LSAgICAgICAgICAgICAgICAiZ2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInNldHRl
ciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJkZWxldGVyIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAi
dHlwZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVs
bCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJ2
b2lkIiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAg
ICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogImFkZEV2ZW50TGlzdGVuZXIiLAotICAgICAg
ICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJhZGRFdmVudExpc3RlbmVyIiwKLSAgICAgICAgICAg
ICAgICAiYXJndW1lbnRzIjogWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICAib3B0aW9uYWwiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ2
YXJpYWRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHQiOiBudWxs
LAotICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10sCi0gICAgICAgICAgICAg
ICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlw
ZSI6ICJhcmd1bWVudC10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJp
YyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogdHJ1ZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJFdmVudExpc3RlbmVyIiwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAgICAg
fSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjogImNhbGxiYWNrIiwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJjYWxsYmFjayIKLSAgICAgICAgICAgICAg
ICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjog
W10KLSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImluaGVyaXRhbmNlIjogbnVs
bCwKLSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9Ci1dCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvc3ludGF4L2pzb24vaW1wbGVtZW50cy5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2lt
cGxlbWVudHMuanNvbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTczNjExOGNkOTAy
ZmI2YWY1ZWJjYTRlYmE2NTZmZmI1MWJmZjI4Yi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vaW1wbGVtZW50cy5qc29u
CisrKyAvZGV2L251bGwKQEAgLTEsMTEzICswLDAgQEAKLVsKLSAgICB7Ci0gICAgICAgICJ0eXBl
IjogImludGVyZmFjZSIsCi0gICAgICAgICJuYW1lIjogIk5vZGUiLAotICAgICAgICAicGFydGlh
bCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAg
ICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJyZWFkb25seSI6IHRydWUs
Ci0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBl
IjogImF0dHJpYnV0ZS10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxs
LAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogInVu
c2lnbmVkIHNob3J0IiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAg
ICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogIm5vZGVUeXBlIiwKLSAgICAg
ICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAibm9kZVR5cGUiLAotICAgICAgICAgICAgICAgICJl
eHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJpbmhlcml0
YW5jZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgfSwKLSAgICB7Ci0gICAg
ICAgICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAgICAgICJuYW1lIjogIkV2ZW50VGFyZ2V0IiwK
LSAgICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJlcnMiOiBbCi0gICAgICAg
ICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAib3BlcmF0aW9uIiwKLSAgICAgICAgICAg
ICAgICAiZ2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInNldHRlciI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICJkZWxldGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0YXRp
YyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJyZXR1
cm4tdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAg
ICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlv
biI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJ2b2lkIiwKLSAgICAg
ICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAg
ICAgICAgICAgICJuYW1lIjogImFkZEV2ZW50TGlzdGVuZXIiLAotICAgICAgICAgICAgICAgICJl
c2NhcGVkTmFtZSI6ICJhZGRFdmVudExpc3RlbmVyIiwKLSAgICAgICAgICAgICAgICAiYXJndW1l
bnRzIjogWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAi
b3B0aW9uYWwiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ2YXJpYWRpYyI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHQiOiBudWxsLAotICAgICAgICAg
ICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10sCi0gICAgICAgICAgICAgICAgICAgICAgICAi
aWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVu
dC10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgImlkbFR5cGUiOiAiRE9NU3RyaW5nIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJuYW1lIjogInR5cGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgImVz
Y2FwZWROYW1lIjogInR5cGUiCi0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAg
ICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJvcHRpb25hbCI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgInZhcmlhZGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAiZGVmYXVsdCI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0
cnMiOiBbXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImFyZ3VtZW50LXR5cGUiLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5p
b24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJFdmVu
dExpc3RlbmVyIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQot
ICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJuYW1l
IjogImxpc3RlbmVyIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJs
aXN0ZW5lciIKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewot
ICAgICAgICAgICAgICAgICAgICAgICAgIm9wdGlvbmFsIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAidmFyaWFkaWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJk
ZWZhdWx0IjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdLAot
ICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgInR5cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJudWxs
YWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogImJvb2xlYW4iLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAg
ICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAidXNlQ2FwdHVyZSIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAidXNlQ2FwdHVyZSIKLSAg
ICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAg
ImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImluaGVy
aXRhbmNlIjogbnVsbCwKLSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9LAotICAgIHsKLSAg
ICAgICAgInR5cGUiOiAiaW1wbGVtZW50cyIsCi0gICAgICAgICJ0YXJnZXQiOiAiTm9kZSIsCi0g
ICAgICAgICJpbXBsZW1lbnRzIjogIkV2ZW50VGFyZ2V0IiwKLSAgICAgICAgImV4dEF0dHJzIjog
W10KLSAgICB9Ci1dCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vaW5kZXhlZC1w
cm9wZXJ0aWVzLmpzb24gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vaW5kZXhlZC1wcm9wZXJ0aWVz
Lmpzb24KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRjY2Q1MTFhZjk2YmZkNmU5MGQy
YjY4MjlkODIzZmFiYmY4YzZkOTQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2luZGV4ZWQtcHJvcGVydGllcy5qc29u
CisrKyAvZGV2L251bGwKQEAgLTEsMjgzICswLDAgQEAKLVsKLSAgICB7Ci0gICAgICAgICJ0eXBl
IjogImludGVyZmFjZSIsCi0gICAgICAgICJuYW1lIjogIk9yZGVyZWRNYXAiLAotICAgICAgICAi
cGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAg
ICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJzdGF0
aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJyZWFkb25seSI6
IHRydWUsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAg
ICJ0eXBlIjogImF0dHJpYnV0ZS10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMi
OiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBl
IjogInVuc2lnbmVkIGxvbmciLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQot
ICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAic2l6ZSIsCi0gICAg
ICAgICAgICAgICAgImVzY2FwZWROYW1lIjogInNpemUiLAotICAgICAgICAgICAgICAgICJleHRB
dHRycyI6IFtdCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAg
ICJ0eXBlIjogIm9wZXJhdGlvbiIsCi0gICAgICAgICAgICAgICAgImdldHRlciI6IHRydWUsCi0g
ICAgICAgICAgICAgICAgInNldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJkZWxldGVy
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewot
ICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAgICAgICAgICAg
ICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICAgICAiaWRsVHlwZSI6ICJhbnkiLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMi
OiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiZ2V0QnlJ
bmRleCIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImdldEJ5SW5kZXgiLAotICAg
ICAgICAgICAgICAgICJhcmd1bWVudHMiOiBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJvcHRpb25hbCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgInZhcmlhZGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVs
dCI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJ0eXBlIjogImFyZ3VtZW50LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJ1bnNpZ25lZCBsb25nIiwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAg
ICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjogImluZGV4IiwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJpbmRleCIKLSAgICAgICAgICAg
ICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgImV4dEF0dHJz
IjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5
cGUiOiAib3BlcmF0aW9uIiwKLSAgICAgICAgICAgICAgICAiZ2V0dGVyIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgInNldHRlciI6IHRydWUsCi0gICAgICAgICAgICAgICAgImRlbGV0ZXIiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
InN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAg
ICAgICAgICAgICAgICAgICJ0eXBlIjogInJldHVybi10eXBlIiwKLSAgICAgICAgICAgICAgICAg
ICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ICAgICJpZGxUeXBlIjogInZvaWQiLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBb
XQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAic2V0QnlJbmRl
eCIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogInNldEJ5SW5kZXgiLAotICAgICAg
ICAgICAgICAgICJhcmd1bWVudHMiOiBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAg
ICAgICAgICAgICAgICAgICJvcHRpb25hbCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgInZhcmlhZGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdCI6
IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICJ0eXBlIjogImFyZ3VtZW50LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJn
ZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJ1bnNpZ25lZCBsb25nIiwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAg
ICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjogImluZGV4IiwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJpbmRleCIKLSAgICAgICAgICAgICAg
ICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAg
Im9wdGlvbmFsIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAidmFyaWFkaWMiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0IjogbnVsbCwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdLAotICAgICAgICAgICAgICAgICAgICAgICAg
ImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXJndW1l
bnQtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICJpZGxUeXBlIjogImFueSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4
dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAg
ICAgICAgICAibmFtZSI6ICJ2YWx1ZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXNjYXBl
ZE5hbWUiOiAidmFsdWUiCi0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBd
LAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9LAotICAgICAg
ICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogIm9wZXJhdGlvbiIsCi0gICAgICAgICAg
ICAgICAgImdldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzZXR0ZXIiOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAiZGVsZXRlciI6IHRydWUsCi0gICAgICAgICAgICAgICAgInN0YXRp
YyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJyZXR1
cm4tdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAg
ICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlv
biI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJ2b2lkIiwKLSAgICAg
ICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAg
ICAgICAgICAgICJuYW1lIjogInJlbW92ZUJ5SW5kZXgiLAotICAgICAgICAgICAgICAgICJlc2Nh
cGVkTmFtZSI6ICJyZW1vdmVCeUluZGV4IiwKLSAgICAgICAgICAgICAgICAiYXJndW1lbnRzIjog
WwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAib3B0aW9u
YWwiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ2YXJpYWRpYyI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHQiOiBudWxsLAotICAgICAgICAgICAgICAg
ICAgICAgICAgImV4dEF0dHJzIjogW10sCi0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlw
ZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBl
IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ImlkbFR5cGUiOiAidW5zaWduZWQgbG9uZyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAg
ICAgICAgICAgICAibmFtZSI6ICJpbmRleCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXNj
YXBlZE5hbWUiOiAiaW5kZXgiCi0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAg
ICBdLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9LAotICAg
ICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogIm9wZXJhdGlvbiIsCi0gICAgICAg
ICAgICAgICAgImdldHRlciI6IHRydWUsCi0gICAgICAgICAgICAgICAgInNldHRlciI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICJkZWxldGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0
YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJy
ZXR1cm4tdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAg
ICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1
bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJhbnkiLAotICAg
ICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAg
ICAgICAgICAgICAgIm5hbWUiOiAiZ2V0IiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUi
OiAiZ2V0IiwKLSAgICAgICAgICAgICAgICAiYXJndW1lbnRzIjogWwotICAgICAgICAgICAgICAg
ICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAib3B0aW9uYWwiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJ2YXJpYWRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgImRlZmF1bHQiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJz
IjogW10sCi0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9u
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiRE9NU3Ry
aW5nIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAg
ICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjogIm5h
bWUiLAotICAgICAgICAgICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogIm5hbWUiCi0gICAg
ICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgICJl
eHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAg
ICAgICJ0eXBlIjogIm9wZXJhdGlvbiIsCi0gICAgICAgICAgICAgICAgImdldHRlciI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICJzZXR0ZXIiOiB0cnVlLAotICAgICAgICAgICAgICAgICJkZWxl
dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjog
ewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAgICAgICAg
ICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxl
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICAgICAiaWRsVHlwZSI6ICJ2b2lkIiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0
dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogInNl
dCIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogInNldCIsCi0gICAgICAgICAgICAg
ICAgImFyZ3VtZW50cyI6IFsKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAg
ICAgICAgICAgIm9wdGlvbmFsIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAidmFy
aWFkaWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0IjogbnVsbCwK
LSAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdLAotICAgICAgICAgICAgICAg
ICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUi
OiAiYXJndW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMi
OiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICJpZGxUeXBlIjogIkRPTVN0cmluZyIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgICAgIH0sCi0g
ICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJuYW1lIiwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICJlc2NhcGVkTmFtZSI6ICJuYW1lIgotICAgICAgICAgICAgICAgICAgICB9LAotICAg
ICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAib3B0aW9uYWwiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ2YXJpYWRpYyI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgImRlZmF1bHQiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAg
ICAgImV4dEF0dHJzIjogW10sCi0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5
cGUiOiAiYW55IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQot
ICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJuYW1l
IjogInZhbHVlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJ2YWx1
ZSIKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAg
ICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAg
ICAgICAgICAgICAgInR5cGUiOiAib3BlcmF0aW9uIiwKLSAgICAgICAgICAgICAgICAiZ2V0dGVy
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInNldHRlciI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICJkZWxldGVyIjogdHJ1ZSwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlk
bFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInJldHVybi10eXBlIiwKLSAg
ICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAi
bnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogInZvaWQiLAotICAgICAgICAgICAgICAgICAg
ICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5h
bWUiOiAicmVtb3ZlIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAicmVtb3ZlIiwK
LSAgICAgICAgICAgICAgICAiYXJndW1lbnRzIjogWwotICAgICAgICAgICAgICAgICAgICB7Ci0g
ICAgICAgICAgICAgICAgICAgICAgICAib3B0aW9uYWwiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICJ2YXJpYWRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgImRl
ZmF1bHQiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10sCi0g
ICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxh
YmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiRE9NU3RyaW5nIiwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAg
ICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjogIm5hbWUiLAotICAg
ICAgICAgICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogIm5hbWUiCi0gICAgICAgICAgICAg
ICAgICAgIH0KLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6
IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJpbmhlcml0YW5jZSI6IG51
bGwsCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgfQotXQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3N5bnRheC9qc29uL2luaGVyaXRzLWdldHRlci5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9q
c29uL2luaGVyaXRzLWdldHRlci5qc29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4
NmViNjhlMjcwZTQ2YTljNWFiNTY0NTZjMzYxMGQ1MjNiY2RhZWI5Li4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9pbmhl
cml0cy1nZXR0ZXIuanNvbgorKysgL2Rldi9udWxsCkBAIC0xLDEwMSArMCwwIEBACi1bCi0gICAg
ewotICAgICAgICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFtZSI6ICJBbmltYWwi
LAotICAgICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFsKLSAgICAg
ICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAg
ICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICJyZWFkb25seSI6IHRydWUsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAg
ICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZS10eXBlIiwKLSAgICAgICAgICAgICAgICAg
ICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ICAgICJpZGxUeXBlIjogIkRPTVN0cmluZyIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRy
cyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJuYW1l
IiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAibmFtZSIsCi0gICAgICAgICAgICAg
ICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImlu
aGVyaXRhbmNlIjogbnVsbCwKLSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9LAotICAgIHsK
LSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUiOiAiUGVyc29uIiwK
LSAgICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJlcnMiOiBbCi0gICAgICAg
ICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAgICAgICAgICAg
ICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAi
cmVhZG9ubHkiOiB0cnVlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAg
ICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAg
ICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAg
ICAiaWRsVHlwZSI6ICJ1bnNpZ25lZCBzaG9ydCIsCi0gICAgICAgICAgICAgICAgICAgICJleHRB
dHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJh
Z2UiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJhZ2UiLAotICAgICAgICAgICAg
ICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAg
ICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICJpbmhlcml0IjogdHJ1ZSwKLSAgICAgICAgICAgICAgICAicmVhZG9ubHkiOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5
cGUiOiAiYXR0cmlidXRlLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51
bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAi
RE9NU3RyaW5nIiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAg
ICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogIm5hbWUiLAotICAgICAgICAgICAg
ICAgICJlc2NhcGVkTmFtZSI6ICJuYW1lIiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBb
XQotICAgICAgICAgICAgfQotICAgICAgICBdLAotICAgICAgICAiaW5oZXJpdGFuY2UiOiAiQW5p
bWFsIiwKLSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9LAotICAgIHsKLSAgICAgICAgInR5
cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUiOiAiR2hvc3QiLAotICAgICAgICAicGFy
dGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAg
ICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJzdGF0aWMi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAiaW5oZXJpdCI6IHRydWUsCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5IjogdHJ1
ZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5
cGUiOiAiYXR0cmlidXRlLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51
bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAi
RE9NU3RyaW5nIiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAg
ICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogIm5hbWUiLAotICAgICAgICAgICAg
ICAgICJlc2NhcGVkTmFtZSI6ICJuYW1lIiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBb
XQotICAgICAgICAgICAgfQotICAgICAgICBdLAotICAgICAgICAiaW5oZXJpdGFuY2UiOiAiUGVy
c29uIiwKLSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9Ci1dCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvc3ludGF4L2pzb24vaW50ZXJmYWNlLWluaGVyaXRzLmpzb24gYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3lu
dGF4L2pzb24vaW50ZXJmYWNlLWluaGVyaXRzLmpzb24KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAyY2FmMzVmNjA1YWIzNzZjZWU0MmM4YjVlOTgxZDFjYTE4NzcyYzEuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9q
c29uL2ludGVyZmFjZS1pbmhlcml0cy5qc29uCisrKyAvZGV2L251bGwKQEAgLTEsODMgKzAsMCBA
QAotWwotICAgIHsKLSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUi
OiAiQW5pbWFsIiwKLSAgICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJlcnMi
OiBbCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwK
LSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmlu
Z2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAicmVhZG9ubHkiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6
IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlLXR5cGUiLAotICAgICAg
ICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxs
YWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiRE9NU3RyaW5nIiwKLSAgICAgICAgICAgICAgICAg
ICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJu
YW1lIjogIm5hbWUiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJuYW1lIiwKLSAg
ICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfQotICAgICAgICBdLAot
ICAgICAgICAiaW5oZXJpdGFuY2UiOiBudWxsLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAg
IH0sCi0gICAgewotICAgICAgICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFtZSI6
ICJIdW1hbiIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJzIjog
WwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0g
ICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdp
ZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpbmhlcml0IjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgInJlYWRvbmx5IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7
Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZS10eXBlIiwKLSAgICAgICAg
ICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFi
bGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgICAgICJpZGxUeXBlIjogIkRvZyIsCi0gICAgICAgICAgICAgICAgICAgICJleHRB
dHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJw
ZXQiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJwZXQiLAotICAgICAgICAgICAg
ICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJp
bmhlcml0YW5jZSI6ICJBbmltYWwiLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0sCi0g
ICAgewotICAgICAgICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFtZSI6ICJEb2ci
LAotICAgICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFsKLSAgICAg
ICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAg
ICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICJyZWFkb25seSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAg
ICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAgICAgICAgICAgICAg
ICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICAgICAiaWRsVHlwZSI6ICJIdW1hbiIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6
IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJvd25lciIs
Ci0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogIm93bmVyIiwKLSAgICAgICAgICAgICAg
ICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfQotICAgICAgICBdLAotICAgICAgICAiaW5o
ZXJpdGFuY2UiOiAiQW5pbWFsIiwKLSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9Ci1dCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vaXRlcmFibGUuanNvbiBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC9zeW50YXgvanNvbi9pdGVyYWJsZS5qc29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCBlZTkwNmY3NWVhMmViNWY3YTNhZWYzM2M1M2E3ZTAzNDQzYjZmNDUwLi4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9p
dGVyYWJsZS5qc29uCisrKyAvZGV2L251bGwKQEAgLTEsODYgKzAsMCBAQAotWwotICAgIHsKLSAg
ICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUiOiAiSXRlcmFibGVPbmUi
LAotICAgICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFsKLSAgICAg
ICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJpdGVyYWJsZSIsCi0gICAgICAgICAg
ICAgICAgImlkbFR5cGUiOiBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAg
ICAgICAgICAgICJ0eXBlIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmlj
IjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAiaWRsVHlwZSI6ICJsb25nIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRy
cyI6IFtdCi0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdLAotICAgICAg
ICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAg
ICAgICJpbmhlcml0YW5jZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgfSwK
LSAgICB7Ci0gICAgICAgICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAgICAgICJuYW1lIjogIkl0
ZXJhYmxlVHdvIiwKLSAgICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJlcnMi
OiBbCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiaXRlcmFibGUiLAot
ICAgICAgICAgICAgICAgICJpZGxUeXBlIjogWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICAidHlwZSI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgImlkbFR5cGUiOiAic2hvcnQiLAotICAgICAgICAgICAgICAgICAgICAg
ICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAg
ICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiBudWxsLAotICAgICAgICAg
ICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAg
Im51bGxhYmxlIjogdHJ1ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiZG91YmxlIiwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgICAgIH0KLSAg
ICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAg
ICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJpbmhlcml0YW5jZSI6IG51bGwsCi0gICAgICAg
ICJleHRBdHRycyI6IFtdCi0gICAgfSwKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImludGVyZmFj
ZSIsCi0gICAgICAgICJuYW1lIjogIkl0ZXJhYmxlVGhyZWUiLAotICAgICAgICAicGFydGlhbCI6
IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAg
ICAgICAidHlwZSI6ICJpdGVyYWJsZSIsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiBbCi0g
ICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogbnVs
bCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAg
InVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJsb25n
IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFsKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjog
IlhBdHRyIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImFyZ3VtZW50cyI6IG51
bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImV4dGVuZGVkLWF0
dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyaHMiOiBudWxsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICAgICAgICAgXQot
ICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAg
ICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfQotICAgICAgICBdLAotICAgICAgICAiaW5o
ZXJpdGFuY2UiOiBudWxsLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0KLV0KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9pdGVyYXRvci5qc29uIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5
bnRheC9qc29uL2l0ZXJhdG9yLmpzb24KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGY5
NjA1YjgzNDUwY2I1ZGNkMjFlYzMzOGI4Mjc5NmEyYTIzMDRiMDguLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2l0ZXJh
dG9yLmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSwyNzYgKzAsMCBAQAotWwotICAgIHsKLSAgICAg
ICAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUiOiAiU2Vzc2lvbk1hbmFnZXIi
LAotICAgICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFsKLSAgICAg
ICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJvcGVyYXRpb24iLAotICAgICAgICAg
ICAgICAgICJnZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic2V0dGVyIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgImRlbGV0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3Rh
dGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJzZXF1ZW5jZSI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAg
ICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24i
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiU2Vzc2lvbiIKLSAgICAg
ICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogImdldFNlc3Npb25Gb3JVc2Vy
IiwKLSAgICAgICAgICAgICAgICAiYXJndW1lbnRzIjogWwotICAgICAgICAgICAgICAgICAgICB7
Ci0gICAgICAgICAgICAgICAgICAgICAgICAib3B0aW9uYWwiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJ2YXJpYWRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ImV4dEF0dHJzIjogW10sCi0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAic2VxdWVuY2UiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInVu
aW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiRE9N
U3RyaW5nIgotICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJuYW1lIjogInVzZXJuYW1lIgotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAg
ICAgICAgXSwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfSwK
LSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAg
ICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZp
ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICJyZWFkb25seSI6IHRydWUsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0g
ICAgICAgICAgICAgICAgICAgICJzZXF1ZW5jZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAg
ICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAg
ICAgImlkbFR5cGUiOiAidW5zaWduZWQgbG9uZyIKLSAgICAgICAgICAgICAgICB9LAotICAgICAg
ICAgICAgICAgICJuYW1lIjogInNlc3Npb25Db3VudCIsCi0gICAgICAgICAgICAgICAgImV4dEF0
dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAg
InR5cGUiOiAiaXRlcmF0b3IiLAotICAgICAgICAgICAgICAgICJnZXR0ZXIiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAic2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImRlbGV0ZXIi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0g
ICAgICAgICAgICAgICAgICAgICJzZXF1ZW5jZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAg
ICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAg
ICAgImlkbFR5cGUiOiAiU2Vzc2lvbiIKLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAg
ICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJp
bmhlcml0YW5jZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgfSwKLSAgICB7
Ci0gICAgICAgICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAgICAgICJuYW1lIjogIlNlc3Npb24i
LAotICAgICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFsKLSAgICAg
ICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAg
ICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICJyZWFkb25seSI6IHRydWUsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAg
ICAgICAgICAgICAgICJzZXF1ZW5jZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiZ2Vu
ZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlk
bFR5cGUiOiAiRE9NU3RyaW5nIgotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAg
Im5hbWUiOiAidXNlcm5hbWUiLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAg
ICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJpbmhlcml0YW5jZSI6IG51bGwsCi0gICAg
ICAgICJleHRBdHRycyI6IFtdCi0gICAgfSwKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImludGVy
ZmFjZSIsCi0gICAgICAgICJuYW1lIjogIlNlc3Npb25NYW5hZ2VyMiIsCi0gICAgICAgICJwYXJ0
aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJzIjogWwotICAgICAgICAgICAgewotICAgICAg
ICAgICAgICAgICJ0eXBlIjogIm9wZXJhdGlvbiIsCi0gICAgICAgICAgICAgICAgImdldHRlciI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICJzZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAiZGVsZXRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRs
VHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInNlcXVlbmNlIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxh
YmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJTZXNzaW9uMiIKLSAgICAgICAgICAgICAgICB9LAot
ICAgICAgICAgICAgICAgICJuYW1lIjogImdldFNlc3Npb25Gb3JVc2VyIiwKLSAgICAgICAgICAg
ICAgICAiYXJndW1lbnRzIjogWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICAib3B0aW9uYWwiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ2
YXJpYWRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10s
Ci0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAic2VxdWVuY2UiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxl
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiRE9NU3RyaW5nIgotICAgICAg
ICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjogInVz
ZXJuYW1lIgotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXSwKLSAgICAg
ICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsK
LSAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJz
dGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJyZWFkb25s
eSI6IHRydWUsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAg
ICAgICJzZXF1ZW5jZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51
bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAi
dW5zaWduZWQgbG9uZyIKLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1l
IjogInNlc3Npb25Db3VudCIsCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAg
ICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiaXRlcmF0
b3IiLAotICAgICAgICAgICAgICAgICJnZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAi
c2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImRlbGV0ZXIiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVy
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAg
ICAgICJzZXF1ZW5jZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51
bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAi
U2Vzc2lvbjIiCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAiaXRlcmF0b3JP
YmplY3QiOiAiU2Vzc2lvbkl0ZXJhdG9yIiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBb
XQotICAgICAgICAgICAgfQotICAgICAgICBdLAotICAgICAgICAiaW5oZXJpdGFuY2UiOiBudWxs
LAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0sCi0gICAgewotICAgICAgICAidHlwZSI6
ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFtZSI6ICJTZXNzaW9uMiIsCi0gICAgICAgICJwYXJ0
aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJzIjogWwotICAgICAgICAgICAgewotICAgICAg
ICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICJpbmhlcml0IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5IjogdHJ1
ZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInNl
cXVlbmNlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAg
ICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAg
ICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJET01TdHJp
bmciCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJ1c2VybmFt
ZSIsCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0KLSAgICAg
ICAgXSwKLSAgICAgICAgImluaGVyaXRhbmNlIjogbnVsbCwKLSAgICAgICAgImV4dEF0dHJzIjog
W10KLSAgICB9LAotICAgIHsKLSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAg
Im5hbWUiOiAiU2Vzc2lvbkl0ZXJhdG9yIiwKLSAgICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAg
ICAgICAgIm1lbWJlcnMiOiBbCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUi
OiAiYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImluaGVyaXQi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAicmVhZG9ubHkiOiB0cnVlLAotICAgICAgICAgICAg
ICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAic2VxdWVuY2UiOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAg
ICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogInVuc2lnbmVkIGxvbmciCi0gICAgICAg
ICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJyZW1haW5pbmdTZXNzaW9ucyIs
Ci0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0KLSAgICAgICAg
XSwKLSAgICAgICAgImluaGVyaXRhbmNlIjogbnVsbCwKLSAgICAgICAgImV4dEF0dHJzIjogW10K
LSAgICB9LAotICAgIHsKLSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5h
bWUiOiAiTm9kZUxpc3QiLAotICAgICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVt
YmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJpdGVyYXRv
ciIsCi0gICAgICAgICAgICAgICAgImdldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJz
ZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiZGVsZXRlciI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAg
ICAgInNlcXVlbmNlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVs
bCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJO
b2RlIgotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIml0ZXJhdG9yT2JqZWN0
IjogIk5vZGVJdGVyYXRvciIsCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAg
ICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImluaGVyaXRhbmNlIjogbnVsbCwKLSAgICAg
ICAgImV4dEF0dHJzIjogW10KLSAgICB9LAotICAgIHsKLSAgICAgICAgInR5cGUiOiAiaW50ZXJm
YWNlIiwKLSAgICAgICAgIm5hbWUiOiAiTm9kZUl0ZXJhdG9yIiwKLSAgICAgICAgInBhcnRpYWwi
OiBmYWxzZSwKLSAgICAgICAgIm1lbWJlcnMiOiBbCi0gICAgICAgICAgICB7Ci0gICAgICAgICAg
ICAgICAgInR5cGUiOiAiaXRlcmF0b3IiLAotICAgICAgICAgICAgICAgICJnZXR0ZXIiOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAic2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImRl
bGV0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUi
OiB7Ci0gICAgICAgICAgICAgICAgICAgICJzZXF1ZW5jZSI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAgICAgImlkbFR5cGUiOiAiTm9kZSIKLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAg
ICAgICAgICJpdGVyYXRvck9iamVjdCI6ICJvYmplY3QiLAotICAgICAgICAgICAgICAgICJleHRB
dHRycyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJpbmhlcml0YW5j
ZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgfQotXQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3N5bnRheC9qc29uL2xlZ2FjeWl0ZXJhYmxlLmpzb24gYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3lu
dGF4L2pzb24vbGVnYWN5aXRlcmFibGUuanNvbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggODBmZDAwMGE4NDkzNzE2MmRlYjc2NWY1ODVlNGJkZDI0ZGM4M2ViZS4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24v
bGVnYWN5aXRlcmFibGUuanNvbgorKysgL2Rldi9udWxsCkBAIC0xLDI1ICswLDAgQEAKLVsKLSAg
ICB7Ci0gICAgICAgICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAgICAgICJuYW1lIjogIkxlZ2Fj
eUl0ZXJhYmxlIiwKLSAgICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJlcnMi
OiBbCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAibGVnYWN5aXRlcmFi
bGUiLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogWwotICAgICAgICAgICAgICAgICAgICB7
Ci0gICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6IG51bGwsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFi
bGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAibG9uZyIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAg
ICAgICAgXSwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfQot
ICAgICAgICBdLAotICAgICAgICAiaW5oZXJpdGFuY2UiOiBudWxsLAotICAgICAgICAiZXh0QXR0
cnMiOiBbXQotICAgIH0KLV0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9tYXBs
aWtlLmpzb24gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vbWFwbGlrZS5qc29uCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAyY2I4YzM2MGVlM2UyZjAzZmU0MDAzMDdiYmY3NTdiNDQ1OGFm
ODg3Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC9zeW50YXgvanNvbi9tYXBsaWtlLmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSwxMTIgKzAs
MCBAQAotWwotICAgIHsKLSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5h
bWUiOiAiTWFwTGlrZSIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1i
ZXJzIjogWwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogIm1hcGxpa2Ui
LAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogWwotICAgICAgICAgICAgICAgICAgICB7Ci0g
ICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAibG9uZyIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAg
ICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6IG51bGwsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiZmxvYXQiLAotICAgICAg
ICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgfQot
ICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5IjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0KLSAgICAgICAgXSwK
LSAgICAgICAgImluaGVyaXRhbmNlIjogbnVsbCwKLSAgICAgICAgImV4dEF0dHJzIjogW10KLSAg
ICB9LAotICAgIHsKLSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUi
OiAiUmVhZE9ubHlNYXBMaWtlIiwKLSAgICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAg
Im1lbWJlcnMiOiBbCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAibWFw
bGlrZSIsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiBbCi0gICAgICAgICAgICAgICAgICAg
IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogbnVsbCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJudWxs
YWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJsb25nIiwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAg
ICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogbnVsbCwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9u
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJmbG9hdCIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAg
ICB9Ci0gICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICAicmVhZG9ubHkiOiB0cnVl
LAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAg
IF0sCi0gICAgICAgICJpbmhlcml0YW5jZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6IFtd
Ci0gICAgfSwKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAgICAgICJu
YW1lIjogIkkiLAotICAgICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6
IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJtYXBsaWtlIiwKLSAg
ICAgICAgICAgICAgICAiaWRsVHlwZSI6IFsKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAg
ICAgICAgICAgICAgICAgICAgInR5cGUiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAg
ImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJpZGxUeXBlIjogIkRPTVN0cmluZyIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAiZXh0QXR0cnMiOiBbCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgewotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJYQXR0cjIiLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAiYXJndW1lbnRzIjogbnVsbCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgInR5cGUiOiAiZXh0ZW5kZWQtYXR0cmlidXRlIiwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgInJocyI6IG51bGwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB9Ci0gICAgICAgICAgICAgICAgICAgICAgICBdCi0gICAgICAgICAgICAgICAgICAgIH0s
Ci0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjog
bnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJs
b25nIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFsKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1l
IjogIlhBdHRyMyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJhcmd1bWVudHMi
OiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJleHRlbmRl
ZC1hdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicmhzIjogbnVs
bAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAgICAg
IF0KLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAg
ICAgICAgInJlYWRvbmx5IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10K
LSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImluaGVyaXRhbmNlIjogbnVsbCwK
LSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9Ci1dCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
c3ludGF4L2pzb24vbWl4aW4uanNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9taXhpbi5qc29u
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiMDM3Y2IzNTc3OTQxYWRmNWM1OTFiMmQy
ZTkzMTJlYmQ2ZDc3ZjAyLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9taXhpbi5qc29uCisrKyAvZGV2L251bGwKQEAg
LTEsNjYgKzAsMCBAQAotWwotICAgIHsKLSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIG1peGlu
IiwKLSAgICAgICAgIm5hbWUiOiAiR2xvYmFsQ3J5cHRvIiwKLSAgICAgICAgInBhcnRpYWwiOiBm
YWxzZSwKLSAgICAgICAgIm1lbWJlcnMiOiBbCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAg
ICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAicmVhZG9ubHkiOiB0cnVlLAotICAg
ICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJh
dHRyaWJ1dGUtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAg
ICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAg
ICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJDcnlwdG8i
LAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0s
Ci0gICAgICAgICAgICAgICAgIm5hbWUiOiAiY3J5cHRvIiwKLSAgICAgICAgICAgICAgICAiZXNj
YXBlZE5hbWUiOiAiY3J5cHRvIiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAg
ICAgICAgICAgfQotICAgICAgICBdLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0sCi0g
ICAgewotICAgICAgICAidHlwZSI6ICJpbmNsdWRlcyIsCi0gICAgICAgICJ0YXJnZXQiOiAiV2lu
ZG93IiwKLSAgICAgICAgImluY2x1ZGVzIjogIkdsb2JhbENyeXB0byIsCi0gICAgICAgICJleHRB
dHRycyI6IFtdCi0gICAgfSwKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImluY2x1ZGVzIiwKLSAg
ICAgICAgInRhcmdldCI6ICJXb3JrZXJHbG9iYWxTY29wZSIsCi0gICAgICAgICJpbmNsdWRlcyI6
ICJHbG9iYWxDcnlwdG8iLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0sCi0gICAgewot
ICAgICAgICAidHlwZSI6ICJpbnRlcmZhY2UgbWl4aW4iLAotICAgICAgICAibmFtZSI6ICJXaW5k
b3dPcldvcmtlckdsb2JhbFNjb3BlIiwKLSAgICAgICAgInBhcnRpYWwiOiB0cnVlLAotICAgICAg
ICAibWVtYmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJh
dHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaW5oZXJpdCI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICJyZWFkb25seSI6IHRydWUsCi0gICAgICAgICAgICAgICAg
ImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZS10eXBl
IiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAg
ICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogIkNyeXB0byIsCi0gICAgICAgICAg
ICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAg
ICAgICAibmFtZSI6ICJjcnlwdG8iLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJj
cnlwdG8iLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9Ci0g
ICAgICAgIF0sCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgfQotXQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3N5bnRheC9qc29uL25hbWVkY29uc3RydWN0b3IuanNvbiBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9z
eW50YXgvanNvbi9uYW1lZGNvbnN0cnVjdG9yLmpzb24KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IGRlYjQyOWU5ODZlYjEwNmU5NThlNzk5MDQ4ZjZiNGNlMmRhMWRmNTEuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9q
c29uL25hbWVkY29uc3RydWN0b3IuanNvbgorKysgL2Rldi9udWxsCkBAIC0xLDQ2ICswLDAgQEAK
LVsKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAgICAgICJuYW1lIjog
IkhUTUxBdWRpb0VsZW1lbnQiLAotICAgICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAi
bWVtYmVycyI6IFtdLAotICAgICAgICAiaW5oZXJpdGFuY2UiOiAiSFRNTE1lZGlhRWxlbWVudCIs
Ci0gICAgICAgICJleHRBdHRycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAi
bmFtZSI6ICJOYW1lZENvbnN0cnVjdG9yIiwKLSAgICAgICAgICAgICAgICAiYXJndW1lbnRzIjog
bnVsbCwKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJleHRlbmRlZC1hdHRyaWJ1dGUiLAotICAg
ICAgICAgICAgICAgICJyaHMiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImlkZW50
aWZpZXIiLAotICAgICAgICAgICAgICAgICAgICAidmFsdWUiOiAiQXVkaW8iCi0gICAgICAgICAg
ICAgICAgfQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAi
bmFtZSI6ICJOYW1lZENvbnN0cnVjdG9yIiwKLSAgICAgICAgICAgICAgICAiYXJndW1lbnRzIjog
WwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAib3B0aW9u
YWwiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ2YXJpYWRpYyI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHQiOiBudWxsLAotICAgICAgICAgICAgICAg
ICAgICAgICAgImV4dEF0dHJzIjogW10sCi0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlw
ZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBl
IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ImlkbFR5cGUiOiAiRE9NU3RyaW5nIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0
QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICJuYW1lIjogInNyYyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXNjYXBlZE5h
bWUiOiAic3JjIgotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXSwKLSAg
ICAgICAgICAgICAgICAidHlwZSI6ICJleHRlbmRlZC1hdHRyaWJ1dGUiLAotICAgICAgICAgICAg
ICAgICJyaHMiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImlkZW50aWZpZXIiLAot
ICAgICAgICAgICAgICAgICAgICAidmFsdWUiOiAiQXVkaW8iCi0gICAgICAgICAgICAgICAgfQot
ICAgICAgICAgICAgfQotICAgICAgICBdCi0gICAgfQotXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3N5bnRheC9qc29uL25hbWVzcGFjZS5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL25hbWVz
cGFjZS5qc29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5ZTM3YjI2ZmE2NTA0Zjk4
NjI4NzdjMjVjOTdlOTQ4OTNkYzhkODMzLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9uYW1lc3BhY2UuanNvbgorKysg
L2Rldi9udWxsCkBAIC0xLDE0MSArMCwwIEBACi1bCi0gICAgewotICAgICAgICAidHlwZSI6ICJu
YW1lc3BhY2UiLAotICAgICAgICAibmFtZSI6ICJWZWN0b3JVdGlscyIsCi0gICAgICAgICJwYXJ0
aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJzIjogWwotICAgICAgICAgICAgewotICAgICAg
ICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICJpbmhlcml0IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5IjogdHJ1
ZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5
cGUiOiAiYXR0cmlidXRlLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51
bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAi
VmVjdG9yIiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAg
ICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogInVuaXQiLAotICAgICAgICAgICAgICAg
ICJlc2NhcGVkTmFtZSI6ICJ1bml0IiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQot
ICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJv
cGVyYXRpb24iLAotICAgICAgICAgICAgICAgICJnZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAic2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImRlbGV0ZXIiOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmlu
Z2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAg
ICAgICAgICAgICJ0eXBlIjogInJldHVybi10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdl
bmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJp
ZGxUeXBlIjogImRvdWJsZSIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0g
ICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJkb3RQcm9kdWN0IiwK
LSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiZG90UHJvZHVjdCIsCi0gICAgICAgICAg
ICAgICAgImFyZ3VtZW50cyI6IFsKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAg
ICAgICAgICAgICAgIm9wdGlvbmFsIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAi
dmFyaWFkaWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0IjogbnVs
bCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdLAotICAgICAgICAgICAg
ICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5
cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVy
aWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogIlZlY3RvciIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgICAgIH0sCi0g
ICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJ4IiwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJlc2NhcGVkTmFtZSI6ICJ4IgotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAg
ICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAib3B0aW9uYWwiOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICJ2YXJpYWRpYyI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgImRlZmF1bHQiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgImV4
dEF0dHJzIjogW10sCi0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
InVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAi
VmVjdG9yIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAg
ICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjog
InkiLAotICAgICAgICAgICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogInkiCi0gICAgICAg
ICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgICJleHRB
dHRycyI6IFtdCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAg
ICJ0eXBlIjogIm9wZXJhdGlvbiIsCi0gICAgICAgICAgICAgICAgImdldHRlciI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICJzZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiZGVsZXRl
ciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsK
LSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAicmV0dXJuLXR5cGUiLAotICAgICAgICAgICAg
ICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAgICAgImlkbFR5cGUiOiAiVmVjdG9yIiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0
dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogImNy
b3NzUHJvZHVjdCIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImNyb3NzUHJvZHVj
dCIsCi0gICAgICAgICAgICAgICAgImFyZ3VtZW50cyI6IFsKLSAgICAgICAgICAgICAgICAgICAg
ewotICAgICAgICAgICAgICAgICAgICAgICAgIm9wdGlvbmFsIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAidmFyaWFkaWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJkZWZhdWx0IjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtd
LAotICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgInR5cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJu
dWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogIlZlY3RvciIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAg
ICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJ4IiwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJ4IgotICAgICAgICAgICAgICAgICAg
ICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAib3B0
aW9uYWwiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ2YXJpYWRpYyI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHQiOiBudWxsLAotICAgICAgICAgICAg
ICAgICAgICAgICAgImV4dEF0dHJzIjogW10sCi0gICAgICAgICAgICAgICAgICAgICAgICAiaWRs
VHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10
eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgImlkbFR5cGUiOiAiVmVjdG9yIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0
QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICJuYW1lIjogInkiLAotICAgICAgICAgICAgICAgICAgICAgICAgImVzY2FwZWROYW1l
IjogInkiCi0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdLAotICAgICAg
ICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAg
ICAgICJleHRBdHRycyI6IFtdCi0gICAgfSwKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogIm5hbWVz
cGFjZSIsCi0gICAgICAgICJuYW1lIjogIlNvbWVOYW1lc3BhY2UiLAotICAgICAgICAicGFydGlh
bCI6IHRydWUsCi0gICAgICAgICJtZW1iZXJzIjogW10sCi0gICAgICAgICJleHRBdHRycyI6IFtd
Ci0gICAgfQotXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL25vaW50ZXJmYWNl
b2JqZWN0Lmpzb24gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vbm9pbnRlcmZhY2VvYmplY3QuanNv
bgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggY2FmYjVlMGUxNTZiZDBiNmU5MGYzN2Y5
NGJjNTUxYTk5MzdmNWU0MC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vbm9pbnRlcmZhY2VvYmplY3QuanNvbgorKysg
L2Rldi9udWxsCkBAIC0xLDU1ICswLDAgQEAKLVsKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImlu
dGVyZmFjZSIsCi0gICAgICAgICJuYW1lIjogIlF1ZXJ5IiwKLSAgICAgICAgInBhcnRpYWwiOiBm
YWxzZSwKLSAgICAgICAgIm1lbWJlcnMiOiBbCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAg
ICAgInR5cGUiOiAib3BlcmF0aW9uIiwKLSAgICAgICAgICAgICAgICAiZ2V0dGVyIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgInNldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJkZWxl
dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjog
ewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAgICAgICAg
ICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxl
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICAgICAiaWRsVHlwZSI6ICJhbnkiLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0
cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAibG9v
a3VwRW50cnkiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJsb29rdXBFbnRyeSIs
Ci0gICAgICAgICAgICAgICAgImFyZ3VtZW50cyI6IFsKLSAgICAgICAgICAgICAgICAgICAgewot
ICAgICAgICAgICAgICAgICAgICAgICAgIm9wdGlvbmFsIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAidmFyaWFkaWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJk
ZWZhdWx0IjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdLAot
ICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgInR5cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJudWxs
YWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogInVuc2lnbmVkIGxvbmci
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAg
ICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAia2V5IiwK
LSAgICAgICAgICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJrZXkiCi0gICAgICAgICAg
ICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgICJleHRBdHRy
cyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJpbmhlcml0YW5jZSI6
IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAg
ICAgICAibmFtZSI6ICJOb0ludGVyZmFjZU9iamVjdCIsCi0gICAgICAgICAgICAgICAgImFyZ3Vt
ZW50cyI6IG51bGwsCi0gICAgICAgICAgICAgICAgInR5cGUiOiAiZXh0ZW5kZWQtYXR0cmlidXRl
IiwKLSAgICAgICAgICAgICAgICAicmhzIjogbnVsbAotICAgICAgICAgICAgfQotICAgICAgICBd
Ci0gICAgfQotXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL251bGxhYmxlLmpz
b24gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vbnVsbGFibGUuanNvbgpkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggZjMyNWUyZWFiN2I4YWY2YzEwMmM5NDFkNjg2ZjE0NDExOTE1YzVjMS4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
c3ludGF4L2pzb24vbnVsbGFibGUuanNvbgorKysgL2Rldi9udWxsCkBAIC0xLDU2ICswLDAgQEAK
LVsKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAgICAgICJuYW1lIjog
Ik15Q29uc3RhbnRzIiwKLSAgICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJl
cnMiOiBbCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiY29uc3QiLAot
ICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IHRydWUsCi0gICAgICAgICAgICAgICAgImlkbFR5
cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImNvbnN0LXR5cGUiLAotICAgICAg
ICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxs
YWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiYm9vbGVhbiIsCi0gICAgICAgICAgICAgICAgICAg
ICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFt
ZSI6ICJBUkVfV0VfVEhFUkVfWUVUIiwKLSAgICAgICAgICAgICAgICAidmFsdWUiOiB7Ci0gICAg
ICAgICAgICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAotICAgICAgICAgICAgICAgICAgICAi
dmFsdWUiOiBmYWxzZQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgImV4dEF0
dHJzIjogW10KLSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImluaGVyaXRhbmNl
IjogbnVsbCwKLSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9LAotICAgIHsKLSAgICAgICAg
InR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUiOiAiTm9kZSIsCi0gICAgICAgICJw
YXJ0aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJzIjogWwotICAgICAgICAgICAgewotICAg
ICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInN0YXRp
YyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICJpbmhlcml0IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5Ijog
dHJ1ZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAg
InR5cGUiOiAiYXR0cmlidXRlLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6
IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IHRydWUsCi0gICAgICAgICAg
ICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6
ICJET01TdHJpbmciLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAg
ICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAibmFtZXNwYWNlVVJJIiwKLSAg
ICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAibmFtZXNwYWNlVVJJIiwKLSAgICAgICAgICAg
ICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfQotICAgICAgICBdLAotICAgICAgICAi
aW5oZXJpdGFuY2UiOiBudWxsLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0KLV0KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9udWxsYWJsZW9iamVjdHMuanNvbiBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC9zeW50YXgvanNvbi9udWxsYWJsZW9iamVjdHMuanNvbgpkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMjdlY2QyNWQzNjNiZmIzOTUyNDMyN2QwOWUwZjhjYTZjMGE1Njc4OC4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
c3ludGF4L2pzb24vbnVsbGFibGVvYmplY3RzLmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSwxMDEg
KzAsMCBAQAotWwotICAgIHsKLSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAg
Im5hbWUiOiAiQSIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJz
IjogW10sCi0gICAgICAgICJpbmhlcml0YW5jZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6
IFtdCi0gICAgfSwKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAgICAg
ICJuYW1lIjogIkIiLAotICAgICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVy
cyI6IFtdLAotICAgICAgICAiaW5oZXJpdGFuY2UiOiBudWxsLAotICAgICAgICAiZXh0QXR0cnMi
OiBbXQotICAgIH0sCi0gICAgewotICAgICAgICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAg
ICAibmFtZSI6ICJDIiwKLSAgICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJl
cnMiOiBbCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAib3BlcmF0aW9u
IiwKLSAgICAgICAgICAgICAgICAiZ2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInNl
dHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJkZWxldGVyIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAg
ICAidHlwZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjog
bnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6
ICJ2b2lkIiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAg
ICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogImYiLAotICAgICAgICAgICAgICAgICJl
c2NhcGVkTmFtZSI6ICJmIiwKLSAgICAgICAgICAgICAgICAiYXJndW1lbnRzIjogWwotICAgICAg
ICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAib3B0aW9uYWwiOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ2YXJpYWRpYyI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgImRlZmF1bHQiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAg
ImV4dEF0dHJzIjogW10sCi0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIm51bGxhYmxlIjogdHJ1ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6
ICJBIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAg
ICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjogIngi
LAotICAgICAgICAgICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogIngiCi0gICAgICAgICAg
ICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgICJleHRBdHRy
cyI6IFtdCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0
eXBlIjogIm9wZXJhdGlvbiIsCi0gICAgICAgICAgICAgICAgImdldHRlciI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICJzZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiZGVsZXRlciI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAg
ICAgICAgICAgICAgICAgICAgInR5cGUiOiAicmV0dXJuLXR5cGUiLAotICAgICAgICAgICAgICAg
ICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAgICAgImlkbFR5cGUiOiAidm9pZCIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6
IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJmIiwKLSAg
ICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiZiIsCi0gICAgICAgICAgICAgICAgImFyZ3Vt
ZW50cyI6IFsKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAg
Im9wdGlvbmFsIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAidmFyaWFkaWMiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0IjogbnVsbCwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdLAotICAgICAgICAgICAgICAgICAgICAgICAg
ImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXJndW1l
bnQtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IHRydWUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgImlkbFR5cGUiOiAiQiIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0
dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAg
ICAgICAibmFtZSI6ICJ4IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6
ICJ4IgotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXSwKLSAgICAgICAg
ICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfQotICAgICAgICBdLAotICAgICAg
ICAiaW5oZXJpdGFuY2UiOiBudWxsLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0KLV0K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9vcGVyYXRpb24tb3B0aW9uYWwtYXJn
Lmpzb24gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vb3BlcmF0aW9uLW9wdGlvbmFsLWFyZy5qc29u
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0Yjc0MzZiYTViYWY3NjAxOTM2YjM0MDUw
ZTcxMTkxYTQ3ODEyYzZiLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9vcGVyYXRpb24tb3B0aW9uYWwtYXJnLmpzb24K
KysrIC9kZXYvbnVsbApAQCAtMSw5OSArMCwwIEBACi1bCi0gICAgewotICAgICAgICAidHlwZSI6
ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFtZSI6ICJDb2xvckNyZWF0b3IiLAotICAgICAgICAi
cGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAg
ICAgICAgICAgICAgICAidHlwZSI6ICJvcGVyYXRpb24iLAotICAgICAgICAgICAgICAgICJnZXR0
ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgImRlbGV0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInJldHVybi10eXBlIiwK
LSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAg
ICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogIm9iamVjdCIsCi0gICAgICAgICAgICAg
ICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAg
ICAibmFtZSI6ICJjcmVhdGVDb2xvciIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjog
ImNyZWF0ZUNvbG9yIiwKLSAgICAgICAgICAgICAgICAiYXJndW1lbnRzIjogWwotICAgICAgICAg
ICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAib3B0aW9uYWwiOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICJ2YXJpYWRpYyI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgImRlZmF1bHQiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgImV4
dEF0dHJzIjogW10sCi0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
InVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAi
ZmxvYXQiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAg
ICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAi
djEiLAotICAgICAgICAgICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogInYxIgotICAgICAg
ICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICAib3B0aW9uYWwiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ2YXJp
YWRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHQiOiBudWxsLAot
ICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10sCi0gICAgICAgICAgICAgICAg
ICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6
ICJhcmd1bWVudC10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6
IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiZmxvYXQiLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgICAgICAgICB9LAotICAgICAg
ICAgICAgICAgICAgICAgICAgIm5hbWUiOiAidjIiLAotICAgICAgICAgICAgICAgICAgICAgICAg
ImVzY2FwZWROYW1lIjogInYyIgotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAg
ICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAib3B0aW9uYWwiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJ2YXJpYWRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgImRlZmF1bHQiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0
dHJzIjogW10sCi0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInVu
aW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiZmxv
YXQiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAg
ICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAidjMi
LAotICAgICAgICAgICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogInYzIgotICAgICAgICAg
ICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICAib3B0aW9uYWwiOiB0cnVlLAotICAgICAgICAgICAgICAgICAgICAgICAgInZhcmlhZGlj
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdCI6IHsKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJudW1iZXIiLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJ2YWx1ZSI6ICIzLjUiCi0gICAgICAgICAgICAgICAgICAgICAgICB9LAotICAg
ICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10sCi0gICAgICAgICAgICAgICAgICAg
ICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJh
cmd1bWVudC10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51
bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgImlkbFR5cGUiOiAiZmxvYXQiLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAg
ICAgICAgICAgICAgICAgIm5hbWUiOiAiYWxwaGEiLAotICAgICAgICAgICAgICAgICAgICAgICAg
ImVzY2FwZWROYW1lIjogImFscGhhIgotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAg
ICAgICAgXSwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfQot
ICAgICAgICBdLAotICAgICAgICAiaW5oZXJpdGFuY2UiOiBudWxsLAotICAgICAgICAiZXh0QXR0
cnMiOiBbXQotICAgIH0KLV0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9vdmVy
bG9hZGluZy5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL292ZXJsb2FkaW5nLmpzb24KZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGJmN2FjYTZjZGUzODA4ZTdlZDM2MTY0MDdmN2Rj
NDlmYTYzMWI3NjkuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL292ZXJsb2FkaW5nLmpzb24KKysrIC9kZXYvbnVsbApA
QCAtMSwzMjggKzAsMCBAQAotWwotICAgIHsKLSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIiwK
LSAgICAgICAgIm5hbWUiOiAiQSIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0gICAgICAg
ICJtZW1iZXJzIjogW10sCi0gICAgICAgICJpbmhlcml0YW5jZSI6IG51bGwsCi0gICAgICAgICJl
eHRBdHRycyI6IFtdCi0gICAgfSwKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImludGVyZmFjZSIs
Ci0gICAgICAgICJuYW1lIjogIkIiLAotICAgICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAg
ICAibWVtYmVycyI6IFtdLAotICAgICAgICAiaW5oZXJpdGFuY2UiOiBudWxsLAotICAgICAgICAi
ZXh0QXR0cnMiOiBbXQotICAgIH0sCi0gICAgewotICAgICAgICAidHlwZSI6ICJpbnRlcmZhY2Ui
LAotICAgICAgICAibmFtZSI6ICJDIiwKLSAgICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAg
ICAgIm1lbWJlcnMiOiBbCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAi
b3BlcmF0aW9uIiwKLSAgICAgICAgICAgICAgICAiZ2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgInNldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJkZWxldGVyIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJp
bmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAg
ICAgICAgICAgICAidHlwZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJn
ZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAi
aWRsVHlwZSI6ICJ2b2lkIiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAg
ICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogImYiLAotICAgICAgICAg
ICAgICAgICJlc2NhcGVkTmFtZSI6ICJmIiwKLSAgICAgICAgICAgICAgICAiYXJndW1lbnRzIjog
WwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAib3B0aW9u
YWwiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ2YXJpYWRpYyI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHQiOiBudWxsLAotICAgICAgICAgICAgICAg
ICAgICAgICAgImV4dEF0dHJzIjogW10sCi0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlw
ZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBl
IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ImlkbFR5cGUiOiAiQSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjog
W10KLSAgICAgICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgICAgICAi
bmFtZSI6ICJ4IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJ4Igot
ICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAg
ICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAg
ICAgICAgICAidHlwZSI6ICJvcGVyYXRpb24iLAotICAgICAgICAgICAgICAgICJnZXR0ZXIiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAic2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ImRlbGV0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5
cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInJldHVybi10eXBlIiwKLSAgICAg
ICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVs
bGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgICAgICJpZGxUeXBlIjogInZvaWQiLAotICAgICAgICAgICAgICAgICAgICAi
ZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUi
OiAiZiIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImYiLAotICAgICAgICAgICAg
ICAgICJhcmd1bWVudHMiOiBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAg
ICAgICAgICAgICJvcHRpb25hbCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgInZh
cmlhZGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdCI6IG51bGws
Ci0gICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBl
IjogImFyZ3VtZW50LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmlj
IjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJCIiwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICJuYW1lIjogIngiLAotICAgICAgICAgICAgICAgICAgICAgICAgImVz
Y2FwZWROYW1lIjogIngiCi0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBd
LAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAg
IF0sCi0gICAgICAgICJpbmhlcml0YW5jZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6IFtd
Ci0gICAgfSwKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAgICAgICJu
YW1lIjogIkQiLAotICAgICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6
IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJvcGVyYXRpb24iLAot
ICAgICAgICAgICAgICAgICJnZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic2V0dGVy
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImRlbGV0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0
eXBlIjogInJldHVybi10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxs
LAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogInZv
aWQiLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAg
IH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiZiIsCi0gICAgICAgICAgICAgICAgImVzY2Fw
ZWROYW1lIjogImYiLAotICAgICAgICAgICAgICAgICJhcmd1bWVudHMiOiBbCi0gICAgICAgICAg
ICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJvcHRpb25hbCI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgInZhcmlhZGljIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAiZGVmYXVsdCI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXh0
QXR0cnMiOiBbXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImFyZ3VtZW50LXR5cGUiLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAi
dW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJE
T01TdHJpbmciLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0g
ICAgICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUi
OiAiYSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiYSIKLSAgICAg
ICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgImV4
dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAg
ICAgInR5cGUiOiAib3BlcmF0aW9uIiwKLSAgICAgICAgICAgICAgICAiZ2V0dGVyIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgInNldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJkZWxl
dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjog
ewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAgICAgICAg
ICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxl
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICAgICAiaWRsVHlwZSI6ICJ2b2lkIiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0
dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogImYi
LAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJmIiwKLSAgICAgICAgICAgICAgICAi
YXJndW1lbnRzIjogWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICAib3B0aW9uYWwiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ2YXJpYWRp
YyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHQiOiBudWxsLAotICAg
ICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogWwotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAiQWxsb3dB
bnkiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYXJndW1lbnRzIjogbnVsbCwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiZXh0ZW5kZWQtYXR0cmli
dXRlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInJocyI6IG51bGwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgICAgICBdLAotICAg
ICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgInR5cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJs
ZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogIkRPTVN0cmluZyIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAg
ICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJhIiwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJhIgotICAgICAgICAgICAgICAgICAgICB9
LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAib3B0aW9u
YWwiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ2YXJpYWRpYyI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHQiOiBudWxsLAotICAgICAgICAgICAgICAg
ICAgICAgICAgImV4dEF0dHJzIjogW10sCi0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlw
ZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBl
IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ImlkbFR5cGUiOiAiRE9NU3RyaW5nIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0
QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICJuYW1lIjogImIiLAotICAgICAgICAgICAgICAgICAgICAgICAgImVzY2FwZWROYW1l
IjogImIiCi0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJvcHRpb25hbCI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgInZhcmlhZGljIjogdHJ1ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJkZWZh
dWx0IjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdLAotICAg
ICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgInR5cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJs
ZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogImZsb2F0IiwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAg
ICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjogImMiLAotICAgICAgICAgICAg
ICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImMiCi0gICAgICAgICAgICAgICAgICAgIH0KLSAg
ICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAg
ICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogIm9wZXJhdGlv
biIsCi0gICAgICAgICAgICAgICAgImdldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJz
ZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiZGVsZXRlciI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAg
ICAgInR5cGUiOiAicmV0dXJuLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6
IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUi
OiAidm9pZCIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAg
ICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJmIiwKLSAgICAgICAgICAgICAgICAi
ZXNjYXBlZE5hbWUiOiAiZiIsCi0gICAgICAgICAgICAgICAgImFyZ3VtZW50cyI6IFtdLAotICAg
ICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAg
ewotICAgICAgICAgICAgICAgICJ0eXBlIjogIm9wZXJhdGlvbiIsCi0gICAgICAgICAgICAgICAg
ImdldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzZXR0ZXIiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAiZGVsZXRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAicmV0dXJuLXR5
cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAg
ICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAidm9pZCIsCi0gICAgICAgICAg
ICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAg
ICAgICAibmFtZSI6ICJmIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiZiIsCi0g
ICAgICAgICAgICAgICAgImFyZ3VtZW50cyI6IFsKLSAgICAgICAgICAgICAgICAgICAgewotICAg
ICAgICAgICAgICAgICAgICAgICAgIm9wdGlvbmFsIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAidmFyaWFkaWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJkZWZh
dWx0IjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdLAotICAg
ICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgInR5cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJs
ZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogImxvbmciLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgICAgICAg
ICB9LAotICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAiYSIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiYSIKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAg
ICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIm9wdGlvbmFsIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAidmFyaWFkaWMiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJkZWZhdWx0IjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJleHRBdHRycyI6IFtdLAotICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxU
eXBlIjogIkRPTVN0cmluZyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJz
IjogW10KLSAgICAgICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgICAg
ICAibmFtZSI6ICJiIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJi
IgotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAg
ICAgICAgICAgICAgICAgICAib3B0aW9uYWwiOiB0cnVlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgInZhcmlhZGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdCI6
IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICJ0eXBlIjogImFyZ3VtZW50LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJn
ZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJET01TdHJpbmciLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgICAgICAg
ICB9LAotICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAiYyIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiYyIKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAg
ICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIm9wdGlvbmFsIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAidmFyaWFkaWMiOiB0cnVlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgImRlZmF1bHQiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAg
ICAgImV4dEF0dHJzIjogW10sCi0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5
cGUiOiAiZmxvYXQiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtd
Ci0gICAgICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICAgICAgIm5h
bWUiOiAiZCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiZCIKLSAg
ICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAg
ImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImluaGVy
aXRhbmNlIjogbnVsbCwKLSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9Ci1dCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vb3ZlcnJpZGVidWlsdGlucy5qc29uIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3N5bnRheC9qc29uL292ZXJyaWRlYnVpbHRpbnMuanNvbgpkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggZTU0YTQ2OGViOThlODY3ZWQ4YjBkNjhhOWM3NWRjZmJkNzYzZTk4Zi4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3lu
dGF4L2pzb24vb3ZlcnJpZGVidWlsdGlucy5qc29uCisrKyAvZGV2L251bGwKQEAgLTEsNzMgKzAs
MCBAQAotWwotICAgIHsKLSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5h
bWUiOiAiU3RyaW5nTWFwMiIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0gICAgICAgICJt
ZW1iZXJzIjogWwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJp
YnV0ZSIsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpbmhlcml0IjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgInJlYWRvbmx5IjogdHJ1ZSwKLSAgICAgICAgICAgICAgICAiaWRs
VHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlLXR5cGUiLAot
ICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAg
ICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAidW5zaWduZWQgbG9uZyIsCi0gICAgICAg
ICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAg
ICAgICAgICAibmFtZSI6ICJsZW5ndGgiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6
ICJsZW5ndGgiLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9
LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogIm9wZXJhdGlvbiIsCi0g
ICAgICAgICAgICAgICAgImdldHRlciI6IHRydWUsCi0gICAgICAgICAgICAgICAgInNldHRlciI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICJkZWxldGVyIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlw
ZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwK
LSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJET01T
dHJpbmciLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAg
ICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAibG9va3VwIiwKLSAgICAgICAgICAgICAg
ICAiZXNjYXBlZE5hbWUiOiAibG9va3VwIiwKLSAgICAgICAgICAgICAgICAiYXJndW1lbnRzIjog
WwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAib3B0aW9u
YWwiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ2YXJpYWRpYyI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHQiOiBudWxsLAotICAgICAgICAgICAgICAg
ICAgICAgICAgImV4dEF0dHJzIjogW10sCi0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlw
ZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBl
IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ImlkbFR5cGUiOiAiRE9NU3RyaW5nIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0
QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICJuYW1lIjogImtleSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXNjYXBlZE5h
bWUiOiAia2V5IgotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXSwKLSAg
ICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfQotICAgICAgICBdLAot
ICAgICAgICAiaW5oZXJpdGFuY2UiOiBudWxsLAotICAgICAgICAiZXh0QXR0cnMiOiBbCi0gICAg
ICAgICAgICB7Ci0gICAgICAgICAgICAgICAgIm5hbWUiOiAiT3ZlcnJpZGVCdWlsdGlucyIsCi0g
ICAgICAgICAgICAgICAgImFyZ3VtZW50cyI6IG51bGwsCi0gICAgICAgICAgICAgICAgInR5cGUi
OiAiZXh0ZW5kZWQtYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAicmhzIjogbnVsbAotICAg
ICAgICAgICAgfQotICAgICAgICBdCi0gICAgfQotXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5
bnRheC9qc29uL3BhcnRpYWwtaW50ZXJmYWNlLmpzb24gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24v
cGFydGlhbC1pbnRlcmZhY2UuanNvbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDc5
MTI2MmY0NjU2OTFlYmQ3YWVhYjkxMThkNDg0NzVjMzIzMGEwYy4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vcGFydGlh
bC1pbnRlcmZhY2UuanNvbgorKysgL2Rldi9udWxsCkBAIC0xLDU1ICswLDAgQEAKLVsKLSAgICB7
Ci0gICAgICAgICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAgICAgICJuYW1lIjogIkZvbyIsCi0g
ICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJzIjogWwotICAgICAgICAg
ICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAg
ICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICJpbmhlcml0IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInJl
YWRvbmx5IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAg
ICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZS10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAg
ImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAg
ICJpZGxUeXBlIjogIkRPTVN0cmluZyIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6
IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJiYXIiLAot
ICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJiYXIiLAotICAgICAgICAgICAgICAgICJl
eHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJpbmhlcml0
YW5jZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgfSwKLSAgICB7Ci0gICAg
ICAgICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAgICAgICJuYW1lIjogIkZvbyIsCi0gICAgICAg
ICJwYXJ0aWFsIjogdHJ1ZSwKLSAgICAgICAgIm1lbWJlcnMiOiBbCi0gICAgICAgICAgICB7Ci0g
ICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAic3Rh
dGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAicmVhZG9ubHki
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAg
ICAgInR5cGUiOiAiYXR0cmlidXRlLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJp
YyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5
cGUiOiAiRE9NU3RyaW5nIiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAg
ICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogInF1dXgiLAotICAgICAg
ICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJxdXV4IiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0
cnMiOiBbXQotICAgICAgICAgICAgfQotICAgICAgICBdLAotICAgICAgICAiZXh0QXR0cnMiOiBb
XQotICAgIH0KLV0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9wcmltaXRpdmVz
Lmpzb24gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vcHJpbWl0aXZlcy5qc29uCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCBhMjE2MjIxMTQwYzY1YWVjOWQ3ODc4ZWYwYTk2YThmMDJmZTBl
YTYwLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC9zeW50YXgvanNvbi9wcmltaXRpdmVzLmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSwzMTcg
KzAsMCBAQAotWwotICAgIHsKLSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAg
Im5hbWUiOiAiUHJpbWl0aXZlcyIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0gICAgICAg
ICJtZW1iZXJzIjogWwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogImF0
dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpbmhlcml0IjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5IjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZS10eXBl
IiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAg
ICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogImJvb2xlYW4iLAotICAgICAgICAg
ICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAg
ICAgICAgIm5hbWUiOiAidHJ1dGgiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJ0
cnV0aCIsCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0g
ICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAgICAg
ICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVy
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAicmVhZG9ubHkiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAg
ICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlLXR5cGUiLAotICAgICAgICAgICAg
ICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAgICAgImlkbFR5cGUiOiAiYnl0ZSIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRy
cyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJjaGFy
YWN0ZXIiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJjaGFyYWN0ZXIiLAotICAg
ICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAg
ewotICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAg
InN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICJpbmhlcml0IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInJlYWRv
bmx5IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAg
ICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZS10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdl
bmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJp
ZGxUeXBlIjogIm9jdGV0IiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAg
ICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogInZhbHVlIiwKLSAgICAg
ICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAidmFsdWUiLAotICAgICAgICAgICAgICAgICJleHRB
dHRycyI6IFtdCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAg
ICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJp
bmhlcml0IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5IjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImF0
dHJpYnV0ZS10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAg
ICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAg
InVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogInNob3J0IiwK
LSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAot
ICAgICAgICAgICAgICAgICJuYW1lIjogIm51bWJlciIsCi0gICAgICAgICAgICAgICAgImVzY2Fw
ZWROYW1lIjogIm51bWJlciIsCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAg
ICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmli
dXRlIiwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
InN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAicmVhZG9ubHkiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRs
VHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlLXR5cGUiLAot
ICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAg
ICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAidW5zaWduZWQgc2hvcnQiLAotICAgICAg
ICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAg
ICAgICAgICAgIm5hbWUiOiAicG9zaXRpdmUiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFt
ZSI6ICJwb3NpdGl2ZSIsCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAg
ICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRl
IiwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0
cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAicmVhZG9ubHkiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlw
ZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlLXR5cGUiLAotICAg
ICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJu
dWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAibG9uZyIsCi0gICAgICAgICAgICAgICAgICAg
ICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFt
ZSI6ICJiaWciLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJiaWciLAotICAgICAg
ICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewot
ICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInN0
YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICJpbmhlcml0IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAg
ICAgICJ0eXBlIjogImF0dHJpYnV0ZS10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVy
aWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxU
eXBlIjogInVuc2lnbmVkIGxvbmciLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBb
XQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiYmlncG9zaXRp
dmUiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJiaWdwb3NpdGl2ZSIsCi0gICAg
ICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7
Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAi
c3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAicmVhZG9u
bHkiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAg
ICAgICAgInR5cGUiOiAiYXR0cmlidXRlLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2Vu
ZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlk
bFR5cGUiOiAibG9uZyBsb25nIiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10K
LSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogImJpZ2JpZyIsCi0g
ICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImJpZ2JpZyIsCi0gICAgICAgICAgICAgICAg
ImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAg
ICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAicmVhZG9ubHkiOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUi
OiAiYXR0cmlidXRlLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGws
Ci0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAidW5z
aWduZWQgbG9uZyBsb25nIiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAg
ICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogImJpZ2JpZ3Bvc2l0aXZl
IiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiYmlnYmlncG9zaXRpdmUiLAotICAg
ICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAg
ewotICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAg
InN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICJpbmhlcml0IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInJlYWRv
bmx5IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAg
ICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZS10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdl
bmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJp
ZGxUeXBlIjogImZsb2F0IiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAg
ICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogInJlYWwiLAotICAgICAg
ICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJyZWFsIiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0
cnMiOiBbXQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAi
dHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaW5o
ZXJpdCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJyZWFkb25seSI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRy
aWJ1dGUtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAg
ICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1
bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJkb3VibGUiLAot
ICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0g
ICAgICAgICAgICAgICAgIm5hbWUiOiAiYmlncmVhbCIsCi0gICAgICAgICAgICAgICAgImVzY2Fw
ZWROYW1lIjogImJpZ3JlYWwiLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAg
ICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJp
YnV0ZSIsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpbmhlcml0IjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgInJlYWRvbmx5IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlk
bFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZS10eXBlIiwK
LSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAg
ICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogInVucmVzdHJpY3RlZCBmbG9hdCIsCi0g
ICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAg
ICAgICAgICAgICAgICAibmFtZSI6ICJyZWFsd2l0aGluZmluaXR5IiwKLSAgICAgICAgICAgICAg
ICAiZXNjYXBlZE5hbWUiOiAicmVhbHdpdGhpbmZpbml0eSIsCi0gICAgICAgICAgICAgICAgImV4
dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAg
ICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAicmVhZG9ubHkiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAi
YXR0cmlidXRlLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0g
ICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAg
ICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAidW5yZXN0
cmljdGVkIGRvdWJsZSIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAg
ICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJiaWdyZWFsd2l0aGluZmlu
aXR5IiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiYmlncmVhbHdpdGhpbmZpbml0
eSIsCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0gICAg
ICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAgICAgICAg
ICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAicmVhZG9ubHkiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAg
ICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlLXR5cGUiLAotICAgICAgICAgICAgICAg
ICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAgICAgImlkbFR5cGUiOiAiRE9NU3RyaW5nIiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0
dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogInN0
cmluZyIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogInN0cmluZyIsCi0gICAgICAg
ICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0g
ICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAic3Rh
dGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAicmVhZG9ubHki
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAg
ICAgInR5cGUiOiAiYXR0cmlidXRlLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJp
YyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5
cGUiOiAiQnl0ZVN0cmluZyIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0g
ICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJieXRlcyIsCi0gICAg
ICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImJ5dGVzIiwKLSAgICAgICAgICAgICAgICAiZXh0
QXR0cnMiOiBbXQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAg
ICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAi
aW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJyZWFkb25seSI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJh
dHRyaWJ1dGUtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAg
ICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAg
ICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJEYXRlIiwK
LSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAot
ICAgICAgICAgICAgICAgICJuYW1lIjogImRhdGUiLAotICAgICAgICAgICAgICAgICJlc2NhcGVk
TmFtZSI6ICJkYXRlIiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAg
ICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUi
LAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3Ry
aW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICJyZWFkb25seSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBl
IjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAg
ICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51
bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJSZWdFeHAiLAotICAgICAgICAgICAgICAgICAg
ICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5h
bWUiOiAicmVnZXhwIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAicmVnZXhwIiwK
LSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfQotICAgICAgICBd
LAotICAgICAgICAiaW5oZXJpdGFuY2UiOiBudWxsLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQot
ICAgIH0KLV0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9wcm9taXNlLXZvaWQu
anNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9wcm9taXNlLXZvaWQuanNvbgpkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggNzY3NjgzOGI4MTc5ZDllNzM2YThmMzZiOTc2MjhiZWNlMTJh
ODRkOC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvc3ludGF4L2pzb24vcHJvbWlzZS12b2lkLmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSwz
NiArMCwwIEBACi1bCi0gICAgewotICAgICAgICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAg
ICAibmFtZSI6ICJDYXQiLAotICAgICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVt
YmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1
dGUiLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAi
c3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICJyZWFkb25seSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxU
eXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0g
ICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogIlByb21pc2UiLAotICAgICAgICAgICAgICAg
ICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAg
ICAgICAgInR5cGUiOiAicmV0dXJuLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgImdl
bmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICJpZGxUeXBlIjogInZvaWQiLAotICAgICAgICAgICAgICAgICAgICAgICAgImV4
dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAg
ImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1l
IjogIm1lb3ciLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJtZW93IiwKLSAgICAg
ICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfQotICAgICAgICBdLAotICAg
ICAgICAiaW5oZXJpdGFuY2UiOiBudWxsLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0K
LV0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9wcm90b3R5cGVyb290Lmpzb24g
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vcHJvdG90eXBlcm9vdC5qc29uCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCBjZWM3OWZmNjZiNmE0OWRjMzlkZWY3NmM0MjUyZDg3ZTk2YTJjZTI4
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC9zeW50YXgvanNvbi9wcm90b3R5cGVyb290Lmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSwzNiAr
MCwwIEBACi1bCi0gICAgewotICAgICAgICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAi
bmFtZSI6ICJOb2RlIiwKLSAgICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJl
cnMiOiBbCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRl
IiwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0
cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAicmVhZG9ubHkiOiB0cnVlLAotICAgICAgICAgICAgICAgICJpZGxUeXBl
IjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAg
ICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51
bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJ1bnNpZ25lZCBzaG9ydCIsCi0gICAgICAgICAg
ICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAg
ICAgICAibmFtZSI6ICJub2RlVHlwZSIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjog
Im5vZGVUeXBlIiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAg
fQotICAgICAgICBdLAotICAgICAgICAiaW5oZXJpdGFuY2UiOiBudWxsLAotICAgICAgICAiZXh0
QXR0cnMiOiBbCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgIm5hbWUiOiAiUHJvdG90
eXBlUm9vdCIsCi0gICAgICAgICAgICAgICAgImFyZ3VtZW50cyI6IG51bGwsCi0gICAgICAgICAg
ICAgICAgInR5cGUiOiAiZXh0ZW5kZWQtYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAicmhz
IjogbnVsbAotICAgICAgICAgICAgfQotICAgICAgICBdCi0gICAgfQotXQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3N5bnRheC9qc29uL3B1dGZvcndhcmRzLmpzb24gYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4
L2pzb24vcHV0Zm9yd2FyZHMuanNvbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTUx
YjNlZjcxOGNjYzkwYzdjZWUzZmYwMzVhY2E2MWU2MTM5Njg5OC4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vcHV0Zm9y
d2FyZHMuanNvbgorKysgL2Rldi9udWxsCkBAIC0xLDU3ICswLDAgQEAKLVsKLSAgICB7Ci0gICAg
ICAgICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAgICAgICJuYW1lIjogIlBlcnNvbiIsCi0gICAg
ICAgICJwYXJ0aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJzIjogWwotICAgICAgICAgICAg
ewotICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAg
InN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICJpbmhlcml0IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInJlYWRv
bmx5IjogdHJ1ZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAg
ICAgICAgInR5cGUiOiAiYXR0cmlidXRlLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2Vu
ZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlk
bFR5cGUiOiAiTmFtZSIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAg
ICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJuYW1lIiwKLSAgICAgICAg
ICAgICAgICAiZXNjYXBlZE5hbWUiOiAibmFtZSIsCi0gICAgICAgICAgICAgICAgImV4dEF0dHJz
IjogWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAibmFt
ZSI6ICJQdXRGb3J3YXJkcyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiYXJndW1lbnRzIjog
bnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImV4dGVuZGVkLWF0dHJpYnV0
ZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAicmhzIjogewotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJ0eXBlIjogImlkZW50aWZpZXIiLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJ2YWx1ZSI6ICJmdWxsIgotICAgICAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAg
ICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXQotICAgICAgICAgICAgfSwKLSAgICAgICAg
ICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAg
ICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJy
ZWFkb25seSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAg
ICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAg
ICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAg
ICAiaWRsVHlwZSI6ICJ1bnNpZ25lZCBzaG9ydCIsCi0gICAgICAgICAgICAgICAgICAgICJleHRB
dHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJh
Z2UiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJhZ2UiLAotICAgICAgICAgICAg
ICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJp
bmhlcml0YW5jZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgfQotXQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL3JlY29yZC5qc29uIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5
bnRheC9qc29uL3JlY29yZC5qc29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxYmU1
NDI3Yzc0ZDZjODNiNDI5MjczNDQzZmVmYjAzMjYzZDBmOThmLi4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9yZWNvcmQu
anNvbgorKysgL2Rldi9udWxsCkBAIC0xLDIyMCArMCwwIEBACi1bCi0gICAgewotICAgICAgICAi
dHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFtZSI6ICJGb28iLAotICAgICAgICAicGFy
dGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAg
ICAgICAgICAgICAidHlwZSI6ICJvcGVyYXRpb24iLAotICAgICAgICAgICAgICAgICJnZXR0ZXIi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgImRlbGV0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlk
bFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInJldHVybi10eXBlIiwKLSAg
ICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAi
bnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogInZvaWQiLAotICAgICAgICAgICAgICAgICAg
ICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5h
bWUiOiAiZm9vIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiZm9vIiwKLSAgICAg
ICAgICAgICAgICAiYXJndW1lbnRzIjogWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAg
ICAgICAgICAgICAgICAgICAib3B0aW9uYWwiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJ2YXJpYWRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHQi
OiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10sCi0gICAgICAg
ICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAi
Z2VuZXJpYyI6ICJzZXF1ZW5jZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxh
YmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImFyZ3VtZW50LXR5cGUiLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6ICJyZWNvcmQiLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJpZGxUeXBlIjogWwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImFyZ3VtZW50
LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmlj
IjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFi
bGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5p
b24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRs
VHlwZSI6ICJCeXRlU3RyaW5nIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
fSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiYW55IiwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0
cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgICAgIH0sCi0g
ICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJwYXJhbSIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAiZXNjYXBlZE5hbWUiOiAicGFyYW0iCi0gICAgICAgICAgICAgICAgICAgIH0KLSAg
ICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAg
ICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogIm9wZXJhdGlv
biIsCi0gICAgICAgICAgICAgICAgImdldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJz
ZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiZGVsZXRlciI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAg
ICAgInR5cGUiOiAicmV0dXJuLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6
ICJyZWNvcmQiLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxU
eXBlIjogWwotICAgICAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICJ0eXBlIjogInJldHVybi10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxl
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiRE9NU3RyaW5nIiwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAg
ICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAidHlwZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJs
ZSI6IHRydWUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogdHJ1ZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IFsKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5
cGUiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMi
OiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogImZsb2F0
IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjog
bnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVs
bCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJET01TdHJpbmci
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAg
ICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAg
ICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAg
ICAgICJuYW1lIjogImJhciIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImJhciIs
Ci0gICAgICAgICAgICAgICAgImFyZ3VtZW50cyI6IFtdLAotICAgICAgICAgICAgICAgICJleHRB
dHRycyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJpbmhlcml0YW5j
ZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAg
ICAgICAgICAibmFtZSI6ICJDb25zdHJ1Y3RvciIsCi0gICAgICAgICAgICAgICAgImFyZ3VtZW50
cyI6IFsKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIm9w
dGlvbmFsIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAidmFyaWFkaWMiOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0IjogbnVsbCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJleHRBdHRycyI6IFtdLAotICAgICAgICAgICAgICAgICAgICAgICAgImlk
bFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXJndW1lbnQt
dHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiAicmVjb3JkIiwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAiaWRsVHlwZSI6IFsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXJndW1lbnQtdHlw
ZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGws
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiVVNWU3RyaW5nIiwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImFy
Z3VtZW50LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVy
aWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxl
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogIlVT
VlN0cmluZyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMi
OiBbXQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBb
XQotICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJu
YW1lIjogImluaXQiLAotICAgICAgICAgICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImlu
aXQiCi0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAg
ICAgICAgICJ0eXBlIjogImV4dGVuZGVkLWF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInJo
cyI6IG51bGwKLSAgICAgICAgICAgIH0KLSAgICAgICAgXQotICAgIH0sCi0gICAgewotICAgICAg
ICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFtZSI6ICJCYXIiLAotICAgICAgICAi
cGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAg
ICAgICAgICAgICAgICAidHlwZSI6ICJvcGVyYXRpb24iLAotICAgICAgICAgICAgICAgICJnZXR0
ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgImRlbGV0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInJldHVybi10eXBlIiwK
LSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiAicmVjb3JkIiwKLSAgICAgICAgICAgICAg
ICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IFsKLSAgICAgICAgICAgICAgICAg
ICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJyZXR1cm4tdHlw
ZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICJpZGxUeXBlIjogIkRPTVN0cmluZyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4
dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAg
ICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAicmV0dXJuLXR5
cGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAiaWRsVHlwZSI6ICJmbG9hdCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0
dHJzIjogWwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJYQXR0ciIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAiYXJndW1lbnRzIjogbnVsbCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImV4dGVuZGVkLWF0dHJpYnV0ZSIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicmhzIjogbnVsbAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgXQotICAgICAg
ICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAg
ICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAg
ICAgIm5hbWUiOiAiYmFyIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiYmFyIiwK
LSAgICAgICAgICAgICAgICAiYXJndW1lbnRzIjogW10sCi0gICAgICAgICAgICAgICAgImV4dEF0
dHJzIjogW10KLSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImluaGVyaXRhbmNl
IjogbnVsbCwKLSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9Ci1dCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3Qvc3ludGF4L2pzb24vcmVnLW9wZXJhdGlvbnMuanNvbiBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50
YXgvanNvbi9yZWctb3BlcmF0aW9ucy5qc29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCA4Nzk1YzU5ZWM4NzM3MWU3NGJmNzU5Nzg2MTQ3OGFiOGIxYzE1YjU0Li4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9y
ZWctb3BlcmF0aW9ucy5qc29uCisrKyAvZGV2L251bGwKQEAgLTEsMTY2ICswLDAgQEAKLVsKLSAg
ICB7Ci0gICAgICAgICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAgICAgICJuYW1lIjogIkRpbWVu
c2lvbnMiLAotICAgICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFsK
LSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAg
ICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZp
ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICJyZWFkb25seSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewot
ICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAgICAgICAg
ICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxl
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICAgICAiaWRsVHlwZSI6ICJ1bnNpZ25lZCBsb25nIiwKLSAgICAgICAgICAgICAgICAg
ICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJu
YW1lIjogIndpZHRoIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAid2lkdGgiLAot
ICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9LAotICAgICAgICAg
ICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAg
ICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICJpbmhlcml0IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInJl
YWRvbmx5IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAg
ICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZS10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAg
ImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAg
ICJpZGxUeXBlIjogInVuc2lnbmVkIGxvbmciLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0
cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiaGVp
Z2h0IiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiaGVpZ2h0IiwKLSAgICAgICAg
ICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfQotICAgICAgICBdLAotICAgICAg
ICAiaW5oZXJpdGFuY2UiOiBudWxsLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0sCi0g
ICAgewotICAgICAgICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFtZSI6ICJCdXR0
b24iLAotICAgICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFsKLSAg
ICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJvcGVyYXRpb24iLAotICAgICAg
ICAgICAgICAgICJnZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic2V0dGVyIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgImRlbGV0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAi
c3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjog
InJldHVybi10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAg
ICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAg
InVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogImJvb2xlYW4i
LAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0s
Ci0gICAgICAgICAgICAgICAgIm5hbWUiOiAiaXNNb3VzZU92ZXIiLAotICAgICAgICAgICAgICAg
ICJlc2NhcGVkTmFtZSI6ICJpc01vdXNlT3ZlciIsCi0gICAgICAgICAgICAgICAgImFyZ3VtZW50
cyI6IFtdLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9LAot
ICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogIm9wZXJhdGlvbiIsCi0gICAg
ICAgICAgICAgICAgImdldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzZXR0ZXIiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAiZGVsZXRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUi
OiAicmV0dXJuLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0g
ICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAg
ICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAidm9pZCIs
Ci0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwK
LSAgICAgICAgICAgICAgICAibmFtZSI6ICJzZXREaW1lbnNpb25zIiwKLSAgICAgICAgICAgICAg
ICAiZXNjYXBlZE5hbWUiOiAic2V0RGltZW5zaW9ucyIsCi0gICAgICAgICAgICAgICAgImFyZ3Vt
ZW50cyI6IFsKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAg
Im9wdGlvbmFsIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAidmFyaWFkaWMiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0IjogbnVsbCwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdLAotICAgICAgICAgICAgICAgICAgICAgICAg
ImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXJndW1l
bnQtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICJpZGxUeXBlIjogIkRpbWVuc2lvbnMiLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAg
ICAgICAgICAgICAgICAgIm5hbWUiOiAic2l6ZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAi
ZXNjYXBlZE5hbWUiOiAic2l6ZSIKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAg
ICAgIF0sCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0g
ICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAib3BlcmF0aW9uIiwKLSAgICAg
ICAgICAgICAgICAiZ2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInNldHRlciI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICJkZWxldGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
InN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6
ICJyZXR1cm4tdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAg
ICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAg
ICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJ2b2lkIiwK
LSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAot
ICAgICAgICAgICAgICAgICJuYW1lIjogInNldERpbWVuc2lvbnMiLAotICAgICAgICAgICAgICAg
ICJlc2NhcGVkTmFtZSI6ICJzZXREaW1lbnNpb25zIiwKLSAgICAgICAgICAgICAgICAiYXJndW1l
bnRzIjogWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAi
b3B0aW9uYWwiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ2YXJpYWRpYyI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHQiOiBudWxsLAotICAgICAgICAg
ICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10sCi0gICAgICAgICAgICAgICAgICAgICAgICAi
aWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVu
dC10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgImlkbFR5cGUiOiAidW5zaWduZWQgbG9uZyIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAg
ICAgICAgICAgICAgICAgICAibmFtZSI6ICJ3aWR0aCIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAiZXNjYXBlZE5hbWUiOiAid2lkdGgiCi0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAg
ICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJvcHRpb25hbCI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICAgICAgICAgInZhcmlhZGljIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAiZGVmYXVsdCI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAi
ZXh0QXR0cnMiOiBbXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImFyZ3VtZW50LXR5cGUiLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6
ICJ1bnNpZ25lZCBsb25nIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMi
OiBbXQotICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJuYW1lIjogImhlaWdodCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUi
OiAiaGVpZ2h0IgotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXSwKLSAg
ICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfQotICAgICAgICBdLAot
ICAgICAgICAiaW5oZXJpdGFuY2UiOiBudWxsLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAg
IH0KLV0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9yZXBsYWNlYWJsZS5qc29u
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL3JlcGxhY2VhYmxlLmpzb24KZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDEzMzg5MWQ0NjFkYjMxNWMxN2I0MTg0YjBkNzQ0M2RkMzVmZWFmNTAu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3N5bnRheC9qc29uL3JlcGxhY2VhYmxlLmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSw1NiArMCww
IEBACi1bCi0gICAgewotICAgICAgICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFt
ZSI6ICJDb3VudGVyIiwKLSAgICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJl
cnMiOiBbCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRl
IiwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0
cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAicmVhZG9ubHkiOiB0cnVlLAotICAgICAgICAgICAgICAgICJpZGxUeXBl
IjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAg
ICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51
bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJ1bnNpZ25lZCBsb25nIiwKLSAgICAgICAgICAg
ICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAg
ICAgICJuYW1lIjogInZhbHVlIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAidmFs
dWUiLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFsKLSAgICAgICAgICAgICAgICAgICAg
ewotICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAiUmVwbGFjZWFibGUiLAotICAgICAg
ICAgICAgICAgICAgICAgICAgImFyZ3VtZW50cyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAidHlwZSI6ICJleHRlbmRlZC1hdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICAgICAg
ICAgInJocyI6IG51bGwKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0K
LSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAi
b3BlcmF0aW9uIiwKLSAgICAgICAgICAgICAgICAiZ2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgInNldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJkZWxldGVyIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJp
bmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAg
ICAgICAgICAgICAidHlwZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJn
ZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAi
aWRsVHlwZSI6ICJ2b2lkIiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAg
ICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogImluY3JlbWVudCIsCi0g
ICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImluY3JlbWVudCIsCi0gICAgICAgICAgICAg
ICAgImFyZ3VtZW50cyI6IFtdLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAg
ICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJpbmhlcml0YW5jZSI6IG51bGwsCi0gICAg
ICAgICJleHRBdHRycyI6IFtdCi0gICAgfQotXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRh
eC9qc29uL3NlcXVlbmNlLmpzb24gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vc2VxdWVuY2UuanNv
bgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZWFkMGNkZDg2MmM3ODY3Y2M4Y2IyZTBi
NTViYmNhNDM2N2FlYjg5ZC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vc2VxdWVuY2UuanNvbgorKysgL2Rldi9udWxs
CkBAIC0xLDE0MiArMCwwIEBACi1bCi0gICAgewotICAgICAgICAidHlwZSI6ICJpbnRlcmZhY2Ui
LAotICAgICAgICAibmFtZSI6ICJDYW52YXMiLAotICAgICAgICAicGFydGlhbCI6IGZhbHNlLAot
ICAgICAgICAibWVtYmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlw
ZSI6ICJvcGVyYXRpb24iLAotICAgICAgICAgICAgICAgICJnZXR0ZXIiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAic2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImRlbGV0ZXIiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
InN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAg
ICAgICAgICAgICAgICAgICJ0eXBlIjogInJldHVybi10eXBlIiwKLSAgICAgICAgICAgICAgICAg
ICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ICAgICJpZGxUeXBlIjogInZvaWQiLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBb
XQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiZHJhd1BvbHln
b24iLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJkcmF3UG9seWdvbiIsCi0gICAg
ICAgICAgICAgICAgImFyZ3VtZW50cyI6IFsKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAg
ICAgICAgICAgICAgICAgICAgIm9wdGlvbmFsIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAidmFyaWFkaWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0
IjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdLAotICAgICAg
ICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgInR5cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ImdlbmVyaWMiOiAic2VxdWVuY2UiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJudWxs
YWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICJpZGxUeXBlIjogImZsb2F0IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4
dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgICAgICAgICB9
LAotICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAiY29vcmRpbmF0ZXMiLAotICAgICAg
ICAgICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImNvb3JkaW5hdGVzIgotICAgICAgICAg
ICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICAiZXh0QXR0
cnMiOiBbXQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAi
dHlwZSI6ICJvcGVyYXRpb24iLAotICAgICAgICAgICAgICAgICJnZXR0ZXIiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAic2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImRlbGV0ZXIi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0g
ICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInJldHVybi10eXBlIiwKLSAgICAgICAgICAgICAg
ICAgICAgImdlbmVyaWMiOiAic2VxdWVuY2UiLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFi
bGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUi
OiAicmV0dXJuLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxs
LAotICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJp
ZGxUeXBlIjogImZsb2F0IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtd
Ci0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6
IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJnZXRJbmZs
ZWN0aW9uUG9pbnRzIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiZ2V0SW5mbGVj
dGlvblBvaW50cyIsCi0gICAgICAgICAgICAgICAgImFyZ3VtZW50cyI6IFtdLAotICAgICAgICAg
ICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAg
ICJpbmhlcml0YW5jZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgfSwKLSAg
ICB7Ci0gICAgICAgICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAgICAgICJuYW1lIjogIkkiLAot
ICAgICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFsKLSAgICAgICAg
ICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJvcGVyYXRpb24iLAotICAgICAgICAgICAg
ICAgICJnZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic2V0dGVyIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgImRlbGV0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RhdGlj
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInJldHVy
bi10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAg
ICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9u
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogInZvaWQiLAotICAgICAg
ICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAg
ICAgICAgICAgIm5hbWUiOiAiZjEiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJm
MSIsCi0gICAgICAgICAgICAgICAgImFyZ3VtZW50cyI6IFsKLSAgICAgICAgICAgICAgICAgICAg
ewotICAgICAgICAgICAgICAgICAgICAgICAgIm9wdGlvbmFsIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAidmFyaWFkaWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJkZWZhdWx0IjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtd
LAotICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgInR5cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgImdlbmVyaWMiOiAic2VxdWVuY2UiLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlv
biI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJpZGxUeXBlIjogImxvbmciLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAiZXh0QXR0cnMiOiBbCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAiWEF0dHIi
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJhcmd1bWVudHMiOiBu
dWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImV4
dGVuZGVkLWF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgInJocyI6IG51bGwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXQotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIH0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAg
ICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJh
cmciLAotICAgICAgICAgICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImFyZyIKLSAgICAg
ICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgImV4
dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImluaGVyaXRh
bmNlIjogbnVsbCwKLSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9Ci1dCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vc2V0bGlrZS5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9q
c29uL3NldGxpa2UuanNvbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDg1ODM1Mzhm
ZDBmMGExZjFlNGIzZTAzOTQyYzJhY2E1ZjYxNTI3MC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vc2V0bGlrZS5qc29u
CisrKyAvZGV2L251bGwKQEAgLTEsODEgKzAsMCBAQAotWwotICAgIHsKLSAgICAgICAgInR5cGUi
OiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUiOiAiU2V0TGlrZSIsCi0gICAgICAgICJwYXJ0
aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJzIjogWwotICAgICAgICAgICAgewotICAgICAg
ICAgICAgICAgICJ0eXBlIjogInNldGxpa2UiLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjog
WwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6
IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAi
bG9uZyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAg
ICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICAicmVhZG9u
bHkiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAg
fQotICAgICAgICBdLAotICAgICAgICAiaW5oZXJpdGFuY2UiOiBudWxsLAotICAgICAgICAiZXh0
QXR0cnMiOiBbXQotICAgIH0sCi0gICAgewotICAgICAgICAidHlwZSI6ICJpbnRlcmZhY2UiLAot
ICAgICAgICAibmFtZSI6ICJSZWFkT25seVNldExpa2UiLAotICAgICAgICAicGFydGlhbCI6IGZh
bHNlLAotICAgICAgICAibWVtYmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAg
ICAidHlwZSI6ICJzZXRsaWtlIiwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IFsKLSAgICAg
ICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiBudWxsLAot
ICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAg
ICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAidW5p
b24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogImxvbmciLAot
ICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAg
ICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5IjogdHJ1
ZSwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfQotICAgICAg
ICBdLAotICAgICAgICAiaW5oZXJpdGFuY2UiOiBudWxsLAotICAgICAgICAiZXh0QXR0cnMiOiBb
XQotICAgIH0sCi0gICAgewotICAgICAgICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAi
bmFtZSI6ICJTZXRMaWtlRXh0IiwKLSAgICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAg
Im1lbWJlcnMiOiBbCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAic2V0
bGlrZSIsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiBbCi0gICAgICAgICAgICAgICAgICAg
IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogbnVsbCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJudWxs
YWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJsb25nIiwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICJleHRBdHRycyI6IFsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Ci0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjogIlhBdHRyIiwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgImFyZ3VtZW50cyI6IG51bGwsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImV4dGVuZGVkLWF0dHJpYnV0ZSIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICJyaHMiOiBudWxsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgfQotICAgICAgICAgICAgICAgICAgICAgICAgXQotICAgICAgICAgICAgICAgICAg
ICB9Ci0gICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICAicmVhZG9ubHkiOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfQotICAgICAg
ICBdLAotICAgICAgICAiaW5oZXJpdGFuY2UiOiBudWxsLAotICAgICAgICAiZXh0QXR0cnMiOiBb
XQotICAgIH0KLV0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9zdGF0aWMuanNv
biBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9zdGF0aWMuanNvbgpkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggZDBkZGYzNWVjNmU0YjVkYTZhY2RmMjAzZWFlM2RhYTVmMDEzMmQxOS4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3lu
dGF4L2pzb24vc3RhdGljLmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSwxNjAgKzAsMCBAQAotWwot
ICAgIHsKLSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUiOiAiUG9p
bnQiLAotICAgICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFtdLAot
ICAgICAgICAiaW5oZXJpdGFuY2UiOiBudWxsLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAg
IH0sCi0gICAgewotICAgICAgICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFtZSI6
ICJDaXJjbGUiLAotICAgICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6
IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUiLAot
ICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5n
aWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICJyZWFkb25seSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjog
ewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAgICAg
ICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxh
YmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJmbG9hdCIsCi0gICAgICAgICAgICAgICAgICAgICJl
eHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6
ICJjeCIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImN4IiwKLSAgICAgICAgICAg
ICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAg
ICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJzdGF0aWMi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJyZWFkb25seSI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAi
dHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjog
bnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6
ICJmbG9hdCIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAg
ICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJjeSIsCi0gICAgICAgICAgICAgICAg
ImVzY2FwZWROYW1lIjogImN5IiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAg
ICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRy
aWJ1dGUiLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaW5oZXJpdCI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICJyZWFkb25seSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJp
ZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIs
Ci0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAg
ICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJmbG9hdCIsCi0gICAgICAgICAgICAg
ICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAg
ICAibmFtZSI6ICJyYWRpdXMiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJyYWRp
dXMiLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9LAotICAg
ICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0gICAgICAg
ICAgICAgICAgInN0YXRpYyI6IHRydWUsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAicmVhZG9ubHkiOiB0cnVlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAg
ICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAgICAgICAgICAgICAg
ICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICAgICAiaWRsVHlwZSI6ICJsb25nIiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjog
W10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogInRyaWFuZ3Vs
YXRpb25Db3VudCIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogInRyaWFuZ3VsYXRp
b25Db3VudCIsCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0s
Ci0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAib3BlcmF0aW9uIiwKLSAg
ICAgICAgICAgICAgICAiZ2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInNldHRlciI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICJkZWxldGVyIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgInN0YXRpYyI6IHRydWUsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBl
IjogInJldHVybi10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAot
ICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAg
ICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogIlBvaW50
IiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9
LAotICAgICAgICAgICAgICAgICJuYW1lIjogInRyaWFuZ3VsYXRlIiwKLSAgICAgICAgICAgICAg
ICAiZXNjYXBlZE5hbWUiOiAidHJpYW5ndWxhdGUiLAotICAgICAgICAgICAgICAgICJhcmd1bWVu
dHMiOiBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJv
cHRpb25hbCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgInZhcmlhZGljIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdCI6IG51bGwsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJp
ZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImFyZ3VtZW50
LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAiaWRsVHlwZSI6ICJDaXJjbGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJl
eHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAg
ICAgICAgICAgIm5hbWUiOiAiYzEiLAotICAgICAgICAgICAgICAgICAgICAgICAgImVzY2FwZWRO
YW1lIjogImMxIgotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7
Ci0gICAgICAgICAgICAgICAgICAgICAgICAib3B0aW9uYWwiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJ2YXJpYWRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ImRlZmF1bHQiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10s
Ci0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51
bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiQ2lyY2xlIiwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAg
ICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjogImMyIiwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJjMiIKLSAgICAgICAgICAgICAgICAg
ICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIm9w
dGlvbmFsIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAidmFyaWFkaWMiOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0IjogbnVsbCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJleHRBdHRycyI6IFtdLAotICAgICAgICAgICAgICAgICAgICAgICAgImlk
bFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXJndW1lbnQt
dHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJpZGxUeXBlIjogIkNpcmNsZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4
dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAg
ICAgICAgICAibmFtZSI6ICJjMyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXNjYXBlZE5h
bWUiOiAiYzMiCi0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdLAotICAg
ICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0g
ICAgICAgICJpbmhlcml0YW5jZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0gICAg
fQotXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL3N0cmluZ2lmaWVyLWF0dHJp
YnV0ZS5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL3N0cmluZ2lmaWVyLWF0dHJpYnV0ZS5q
c29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkYmNhN2YxNzkwMmMyYjMxN2U5ZGU3
NGNhN2E1NGIxZThjMTIwNzgzLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9zdHJpbmdpZmllci1hdHRyaWJ1dGUuanNv
bgorKysgL2Rldi9udWxsCkBAIC0xLDU0ICswLDAgQEAKLVsKLSAgICB7Ci0gICAgICAgICJ0eXBl
IjogImludGVyZmFjZSIsCi0gICAgICAgICJuYW1lIjogIlN0dWRlbnQiLAotICAgICAgICAicGFy
dGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAg
ICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJzdGF0aWMi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJyZWFkb25seSI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAi
dHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjog
bnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6
ICJ1bnNpZ25lZCBsb25nIiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAg
ICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogImlkIiwKLSAgICAgICAg
ICAgICAgICAiZXNjYXBlZE5hbWUiOiAiaWQiLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6
IFtdCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBl
IjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICJzdHJpbmdpZmllciI6IHRydWUsCi0gICAgICAgICAgICAgICAgImluaGVyaXQi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAicmVhZG9ubHkiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRl
LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAg
ICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24i
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiRE9NU3RyaW5nIiwKLSAg
ICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAg
ICAgICAgICAgICAgICJuYW1lIjogIm5hbWUiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFt
ZSI6ICJuYW1lIiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAg
fQotICAgICAgICBdLAotICAgICAgICAiaW5oZXJpdGFuY2UiOiBudWxsLAotICAgICAgICAiZXh0
QXR0cnMiOiBbCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgIm5hbWUiOiAiQ29uc3Ry
dWN0b3IiLAotICAgICAgICAgICAgICAgICJhcmd1bWVudHMiOiBudWxsLAotICAgICAgICAgICAg
ICAgICJ0eXBlIjogImV4dGVuZGVkLWF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInJocyI6
IG51bGwKLSAgICAgICAgICAgIH0KLSAgICAgICAgXQotICAgIH0KLV0KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC9zeW50YXgvanNvbi9zdHJpbmdpZmllci1jdXN0b20uanNvbiBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9z
eW50YXgvanNvbi9zdHJpbmdpZmllci1jdXN0b20uanNvbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggYzEzZGY2ZWYxMGMwYzUwNTAwODQ0OGMwNTVlMTkxMWRlZjMzYzlkYS4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4
L2pzb24vc3RyaW5naWZpZXItY3VzdG9tLmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSw5MiArMCww
IEBACi1bCi0gICAgewotICAgICAgICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFt
ZSI6ICJTdHVkZW50IiwKLSAgICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJl
cnMiOiBbCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRl
IiwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0
cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAicmVhZG9ubHkiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlw
ZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlLXR5cGUiLAotICAg
ICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJu
dWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAidW5zaWduZWQgbG9uZyIsCi0gICAgICAgICAg
ICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAg
ICAgICAibmFtZSI6ICJpZCIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImlkIiwK
LSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfSwKLSAgICAgICAg
ICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAg
ICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJy
ZWFkb25seSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAg
ICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAg
ICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogdHJ1ZSwK
LSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAg
ICJpZGxUeXBlIjogIkRPTVN0cmluZyIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6
IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJmYW1pbHlO
YW1lIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiZmFtaWx5TmFtZSIsCi0gICAg
ICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7
Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAi
c3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAicmVhZG9u
bHkiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAg
ICAgICAgInR5cGUiOiAiYXR0cmlidXRlLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2Vu
ZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlk
bFR5cGUiOiAiRE9NU3RyaW5nIiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10K
LSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogImdpdmVuTmFtZSIs
Ci0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImdpdmVuTmFtZSIsCi0gICAgICAgICAg
ICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAg
ICAgICAgICAgICAgInR5cGUiOiAib3BlcmF0aW9uIiwKLSAgICAgICAgICAgICAgICAiZ2V0dGVy
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInNldHRlciI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICJkZWxldGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IHRydWUsCi0gICAgICAgICAgICAgICAgImlk
bFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInJldHVybi10eXBlIiwKLSAg
ICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAi
bnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogIkRPTVN0cmluZyIsCi0gICAgICAgICAgICAg
ICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAg
ICAibmFtZSI6IG51bGwsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogbnVsbCwKLSAg
ICAgICAgICAgICAgICAiYXJndW1lbnRzIjogW10sCi0gICAgICAgICAgICAgICAgImV4dEF0dHJz
IjogW10KLSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImluaGVyaXRhbmNlIjog
bnVsbCwKLSAgICAgICAgImV4dEF0dHJzIjogWwotICAgICAgICAgICAgewotICAgICAgICAgICAg
ICAgICJuYW1lIjogIkNvbnN0cnVjdG9yIiwKLSAgICAgICAgICAgICAgICAiYXJndW1lbnRzIjog
bnVsbCwKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJleHRlbmRlZC1hdHRyaWJ1dGUiLAotICAg
ICAgICAgICAgICAgICJyaHMiOiBudWxsCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0KLSAgICB9
Ci1dCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vc3RyaW5naWZpZXIuanNvbiBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC9zeW50YXgvanNvbi9zdHJpbmdpZmllci5qc29uCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCBhNGYyM2UwM2Y2NmQ0MjEzYmY1NWZjZDQzYjQwNmViNTQ1ODc5MzMzLi4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9z
eW50YXgvanNvbi9zdHJpbmdpZmllci5qc29uCisrKyAvZGV2L251bGwKQEAgLTEsNDkgKzAsMCBA
QAotWwotICAgIHsKLSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUi
OiAiQSIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJzIjogWwot
ICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogIm9wZXJhdGlvbiIsCi0gICAg
ICAgICAgICAgICAgImdldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzZXR0ZXIiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAiZGVsZXRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiB0cnVlLAot
ICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6
ICJyZXR1cm4tdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAg
ICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAg
ICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJET01TdHJp
bmciLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAg
IH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiBudWxsLAotICAgICAgICAgICAgICAgICJlc2Nh
cGVkTmFtZSI6IG51bGwsCi0gICAgICAgICAgICAgICAgImFyZ3VtZW50cyI6IFtdLAotICAgICAg
ICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAg
ICAgICJpbmhlcml0YW5jZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgfSwK
LSAgICB7Ci0gICAgICAgICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAgICAgICJuYW1lIjogIkIi
LAotICAgICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFsKLSAgICAg
ICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJvcGVyYXRpb24iLAotICAgICAgICAg
ICAgICAgICJnZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic2V0dGVyIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgImRlbGV0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3Rh
dGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogdHJ1ZSwKLSAgICAg
ICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfQotICAgICAgICBdLAotICAg
ICAgICAiaW5oZXJpdGFuY2UiOiBudWxsLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0K
LV0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi90cmVhdGFzbnVsbC5qc29uIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3N5bnRheC9qc29uL3RyZWF0YXNudWxsLmpzb24KZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IGQ1MTU2YmNiNGYxYjVkZGI0ZGI1YjJhMjUxOGY5Y2YwYTdiNDE3NDUuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5
bnRheC9qc29uL3RyZWF0YXNudWxsLmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSw5NCArMCwwIEBA
Ci1bCi0gICAgewotICAgICAgICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFtZSI6
ICJEb2ciLAotICAgICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFsK
LSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAg
ICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZp
ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICJyZWFkb25seSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewot
ICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAgICAgICAg
ICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxl
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICAgICAiaWRsVHlwZSI6ICJET01TdHJpbmciLAotICAgICAgICAgICAgICAgICAgICAi
ZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUi
OiAibmFtZSIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogIm5hbWUiLAotICAgICAg
ICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewot
ICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInN0
YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICJpbmhlcml0IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAg
ICAgICJ0eXBlIjogImF0dHJpYnV0ZS10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVy
aWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxU
eXBlIjogIkRPTVN0cmluZyIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0g
ICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJvd25lciIsCi0gICAg
ICAgICAgICAgICAgImVzY2FwZWROYW1lIjogIm93bmVyIiwKLSAgICAgICAgICAgICAgICAiZXh0
QXR0cnMiOiBbXQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAg
ICAidHlwZSI6ICJvcGVyYXRpb24iLAotICAgICAgICAgICAgICAgICJnZXR0ZXIiOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAic2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImRlbGV0
ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7
Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInJldHVybi10eXBlIiwKLSAgICAgICAgICAg
ICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgICAgICJpZGxUeXBlIjogImJvb2xlYW4iLAotICAgICAgICAgICAgICAgICAgICAiZXh0
QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAi
aXNNZW1iZXJPZkJyZWVkIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiaXNNZW1i
ZXJPZkJyZWVkIiwKLSAgICAgICAgICAgICAgICAiYXJndW1lbnRzIjogWwotICAgICAgICAgICAg
ICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAib3B0aW9uYWwiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJ2YXJpYWRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgImRlZmF1bHQiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0
dHJzIjogWwotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIm5hbWUiOiAiVHJlYXROdWxsQXMiLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAiYXJndW1lbnRzIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgInR5cGUiOiAiZXh0ZW5kZWQtYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgInJocyI6IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJ0eXBlIjogImlkZW50aWZpZXIiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgInZhbHVlIjogIkVtcHR5U3RyaW5nIgotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB9Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICAg
ICAgICAgXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImFyZ3VtZW50LXR5cGUiLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5p
b24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJET01T
dHJpbmciLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAg
ICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAi
YnJlZWROYW1lIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJicmVl
ZE5hbWUiCi0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdLAotICAgICAg
ICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAg
ICAgICJpbmhlcml0YW5jZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgfQot
XQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL3RyZWF0YXN1bmRlZmluZWQuanNv
biBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi90cmVhdGFzdW5kZWZpbmVkLmpzb24KZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDFlOTgzMTVkOWYxM2JmYjAyOThkOGE3NDI5MGFiOTBlNjlk
OTYxZDQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L3N5bnRheC9qc29uL3RyZWF0YXN1bmRlZmluZWQuanNvbgorKysgL2Rldi9udWxsCkBA
IC0xLDk0ICswLDAgQEAKLVsKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImludGVyZmFjZSIsCi0g
ICAgICAgICJuYW1lIjogIkNhdCIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0gICAgICAg
ICJtZW1iZXJzIjogWwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogImF0
dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpbmhlcml0IjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5IjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZS10eXBl
IiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAg
ICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogIkRPTVN0cmluZyIsCi0gICAgICAg
ICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAg
ICAgICAgICAibmFtZSI6ICJuYW1lIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAi
bmFtZSIsCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0g
ICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAgICAg
ICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVy
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAicmVhZG9ubHkiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAg
ICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlLXR5cGUiLAotICAgICAgICAgICAg
ICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAgICAgImlkbFR5cGUiOiAiRE9NU3RyaW5nIiwKLSAgICAgICAgICAgICAgICAgICAgImV4
dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjog
Im93bmVyIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAib3duZXIiLAotICAgICAg
ICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewot
ICAgICAgICAgICAgICAgICJ0eXBlIjogIm9wZXJhdGlvbiIsCi0gICAgICAgICAgICAgICAgImdl
dHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAiZGVsZXRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAicmV0dXJuLXR5cGUi
LAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAg
ICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiYm9vbGVhbiIsCi0gICAgICAgICAg
ICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAg
ICAgICAibmFtZSI6ICJpc01lbWJlck9mQnJlZWQiLAotICAgICAgICAgICAgICAgICJlc2NhcGVk
TmFtZSI6ICJpc01lbWJlck9mQnJlZWQiLAotICAgICAgICAgICAgICAgICJhcmd1bWVudHMiOiBb
Ci0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJvcHRpb25h
bCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgInZhcmlhZGljIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdCI6IG51bGwsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAiZXh0QXR0cnMiOiBbCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgewotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJUcmVhdFVuZGVmaW5lZEFzIiwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImFyZ3VtZW50cyI6IG51bGwsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImV4dGVuZGVkLWF0dHJpYnV0ZSIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyaHMiOiB7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJpZGVudGlmaWVyIiwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSI6ICJFbXB0eVN0cmluZyIKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0K
LSAgICAgICAgICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAiaWRs
VHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10
eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgImlkbFR5cGUiOiAiRE9NU3RyaW5nIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAi
ZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICJuYW1lIjogImJyZWVkTmFtZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAi
ZXNjYXBlZE5hbWUiOiAiYnJlZWROYW1lIgotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAg
ICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAg
fQotICAgICAgICBdLAotICAgICAgICAiaW5oZXJpdGFuY2UiOiBudWxsLAotICAgICAgICAiZXh0
QXR0cnMiOiBbXQotICAgIH0KLV0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi90
eXBlZGVmLXVuaW9uLmpzb24gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vdHlwZWRlZi11bmlvbi5q
c29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzMWUyNDE5OGFiMTMwZjNjZDdlZmRk
M2U4MGE0YmFhZjZiYjIxM2UzLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi90eXBlZGVmLXVuaW9uLmpzb24KKysrIC9k
ZXYvbnVsbApAQCAtMSw0OCArMCwwIEBACi1bCi0gICAgewotICAgICAgICAidHlwZSI6ICJ0eXBl
ZGVmIiwKLSAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAidHlwZSI6ICJ0eXBlZGVm
LXR5cGUiLAotICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgIm51bGxh
YmxlIjogZmFsc2UsCi0gICAgICAgICAgICAidW5pb24iOiB0cnVlLAotICAgICAgICAgICAgImlk
bFR5cGUiOiBbCi0gICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6
IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAg
ICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJJbWFnZURhdGEiLAotICAg
ICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAg
ICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6IG51bGwsCi0gICAgICAg
ICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxh
YmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJIVE1MSW1hZ2VFbGVtZW50IiwKLSAgICAgICAgICAg
ICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAg
ICAgIHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiBudWxsLAotICAgICAgICAgICAgICAg
ICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAgICAgImlkbFR5cGUiOiAiSFRNTENhbnZhc0VsZW1lbnQiLAotICAgICAgICAgICAgICAgICAg
ICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgewot
ICAgICAgICAgICAgICAgICAgICAidHlwZSI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJn
ZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAi
aWRsVHlwZSI6ICJIVE1MVmlkZW9FbGVtZW50IiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0
dHJzIjogW10KLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICBdLAotICAgICAgICAgICAg
ImV4dEF0dHJzIjogW10KLSAgICAgICAgfSwKLSAgICAgICAgIm5hbWUiOiAiVGV4SW1hZ2VTb3Vy
Y2UiLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0KLV0KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC9zeW50YXgvanNvbi90eXBlZGVmLmpzb24gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vdHlw
ZWRlZi5qc29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzNWY5ODhlNzIxZTc1ZTk4
MDhhNmEwMGE3NDlhZWYzZmIwNTFiMGUzLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi90eXBlZGVmLmpzb24KKysrIC9k
ZXYvbnVsbApAQCAtMSwyMzMgKzAsMCBAQAotWwotICAgIHsKLSAgICAgICAgInR5cGUiOiAiaW50
ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUiOiAiUG9pbnQiLAotICAgICAgICAicGFydGlhbCI6IGZh
bHNlLAotICAgICAgICAibWVtYmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAg
ICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAi
aW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJyZWFkb25seSI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJh
dHRyaWJ1dGUtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAg
ICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAg
ICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJmbG9hdCIs
Ci0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwK
LSAgICAgICAgICAgICAgICAibmFtZSI6ICJ4IiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5h
bWUiOiAieCIsCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0s
Ci0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAg
ICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lm
aWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAicmVhZG9ubHkiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsK
LSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlLXR5cGUiLAotICAgICAgICAg
ICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJs
ZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAgICAgImlkbFR5cGUiOiAiZmxvYXQiLAotICAgICAgICAgICAgICAgICAgICAiZXh0
QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAi
eSIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogInkiLAotICAgICAgICAgICAgICAg
ICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJpbmhl
cml0YW5jZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgfSwKLSAgICB7Ci0g
ICAgICAgICJ0eXBlIjogInR5cGVkZWYiLAotICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAg
ICAgICJ0eXBlIjogInR5cGVkZWYtdHlwZSIsCi0gICAgICAgICAgICAiZ2VuZXJpYyI6ICJzZXF1
ZW5jZSIsCi0gICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICJ1bmlv
biI6IGZhbHNlLAotICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgInR5
cGUiOiAidHlwZWRlZi10eXBlIiwKLSAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0g
ICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInVuaW9u
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiUG9pbnQiLAotICAgICAgICAg
ICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgImV4dEF0
dHJzIjogW10KLSAgICAgICAgfSwKLSAgICAgICAgIm5hbWUiOiAiUG9pbnRTZXF1ZW5jZSIsCi0g
ICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgfSwKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImlu
dGVyZmFjZSIsCi0gICAgICAgICJuYW1lIjogIlJlY3QiLAotICAgICAgICAicGFydGlhbCI6IGZh
bHNlLAotICAgICAgICAibWVtYmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAg
ICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAi
aW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJyZWFkb25seSI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJh
dHRyaWJ1dGUtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAg
ICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAg
ICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJQb2ludCIs
Ci0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwK
LSAgICAgICAgICAgICAgICAibmFtZSI6ICJ0b3BsZWZ0IiwKLSAgICAgICAgICAgICAgICAiZXNj
YXBlZE5hbWUiOiAidG9wbGVmdCIsCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAg
ICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0
cmlidXRlIiwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImluaGVyaXQiOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAicmVhZG9ubHkiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAi
aWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlLXR5cGUi
LAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAg
ICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiUG9pbnQiLAotICAgICAgICAgICAg
ICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAg
ICAgIm5hbWUiOiAiYm90dG9tcmlnaHQiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6
ICJib3R0b21yaWdodCIsCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAg
ICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImluaGVyaXRhbmNlIjogbnVsbCwKLSAgICAgICAg
ImV4dEF0dHJzIjogW10KLSAgICB9LAotICAgIHsKLSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNl
IiwKLSAgICAgICAgIm5hbWUiOiAiV2lkZ2V0IiwKLSAgICAgICAgInBhcnRpYWwiOiBmYWxzZSwK
LSAgICAgICAgIm1lbWJlcnMiOiBbCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5
cGUiOiAiYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImluaGVy
aXQiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAicmVhZG9ubHkiOiB0cnVlLAotICAgICAgICAg
ICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1
dGUtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAg
ICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlv
biI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJSZWN0IiwKLSAgICAg
ICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAg
ICAgICAgICAgICJuYW1lIjogImJvdW5kcyIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1l
IjogImJvdW5kcyIsCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAg
IH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAib3BlcmF0aW9uIiwK
LSAgICAgICAgICAgICAgICAiZ2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInNldHRl
ciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJkZWxldGVyIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAi
dHlwZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVs
bCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJi
b29sZWFuIiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAg
ICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogInBvaW50V2l0aGluQm91bmRzIiwKLSAg
ICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAicG9pbnRXaXRoaW5Cb3VuZHMiLAotICAgICAg
ICAgICAgICAgICJhcmd1bWVudHMiOiBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAg
ICAgICAgICAgICAgICAgICJvcHRpb25hbCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgInZhcmlhZGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdCI6
IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICJ0eXBlIjogImFyZ3VtZW50LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJn
ZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJQb2ludCIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgICAgIH0s
Ci0gICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJwIiwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICJlc2NhcGVkTmFtZSI6ICJwIgotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAg
ICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAg
fSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJvcGVyYXRpb24iLAot
ICAgICAgICAgICAgICAgICJnZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic2V0dGVy
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImRlbGV0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0
eXBlIjogInJldHVybi10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxs
LAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogImJv
b2xlYW4iLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAg
ICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiYWxsUG9pbnRzV2l0aGluQm91bmRzIiwK
LSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiYWxsUG9pbnRzV2l0aGluQm91bmRzIiwK
LSAgICAgICAgICAgICAgICAiYXJndW1lbnRzIjogWwotICAgICAgICAgICAgICAgICAgICB7Ci0g
ICAgICAgICAgICAgICAgICAgICAgICAib3B0aW9uYWwiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICJ2YXJpYWRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgImRl
ZmF1bHQiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10sCi0g
ICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxh
YmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiUG9pbnRTZXF1ZW5jZSIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAg
ICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJwcyIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAicHMiCi0gICAgICAgICAgICAg
ICAgICAgIH0KLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6
IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJpbmhlcml0YW5jZSI6IG51
bGwsCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgfSwKLSAgICB7Ci0gICAgICAgICJ0eXBl
IjogInR5cGVkZWYiLAotICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICJ0eXBlIjog
InR5cGVkZWYtdHlwZSIsCi0gICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAg
ICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAg
ICAgICAgImlkbFR5cGUiOiAib2N0ZXQiLAotICAgICAgICAgICAgImV4dEF0dHJzIjogWwotICAg
ICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAiQ2xhbXAiLAotICAg
ICAgICAgICAgICAgICAgICAiYXJndW1lbnRzIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAg
InR5cGUiOiAiZXh0ZW5kZWQtYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAgICAgInJocyI6
IG51bGwKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICBdCi0gICAgICAgIH0sCi0gICAg
ICAgICJuYW1lIjogInZhbHVlIiwKLSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9Ci1dCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vdHlwZXN1ZmZpeGVzLmpzb24gYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvc3ludGF4L2pzb24vdHlwZXN1ZmZpeGVzLmpzb24KZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDUyODcwYzIyZjRiNDc2MTZlMmRmMTVkNjI3NTJmOTUwZDAzZTBiMDcuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRh
eC9qc29uL3R5cGVzdWZmaXhlcy5qc29uCisrKyAvZGV2L251bGwKQEAgLTEsNTUgKzAsMCBAQAot
WwotICAgIHsKLSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUiOiAi
U3VmZml4ZXMiLAotICAgICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6
IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJvcGVyYXRpb24iLAot
ICAgICAgICAgICAgICAgICJnZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic2V0dGVy
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImRlbGV0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0
eXBlIjogInJldHVybi10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxs
LAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogInZv
aWQiLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAg
IH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAidGVzdCIsCi0gICAgICAgICAgICAgICAgImVz
Y2FwZWROYW1lIjogInRlc3QiLAotICAgICAgICAgICAgICAgICJhcmd1bWVudHMiOiBbCi0gICAg
ICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJvcHRpb25hbCI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgInZhcmlhZGljIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAiZGVmYXVsdCI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAiZXh0QXR0cnMiOiBbXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImFyZ3VtZW50LXR5cGUiLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogInNlcXVlbmNlIiwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiB0cnVlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJp
ZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1
bWVudC10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBu
dWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiB0cnVlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiRE9NU3RyaW5nIiwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtd
Ci0gICAgICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICAgICAgIm5h
bWUiOiAiZm9vIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJmb28i
Ci0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAg
ICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJp
bmhlcml0YW5jZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgfQotXQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL3VuaW9udHlwZS5qc29uIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3N5bnRheC9qc29uL3VuaW9udHlwZS5qc29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCA5MGViMDc0ZWYzYTBhNzE5ZTllY2Q1ZjY3YjQ3Y2Q1MmI2ODJmMDk0Li4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi91
bmlvbnR5cGUuanNvbgorKysgL2Rldi9udWxsCkBAIC0xLDEzMCArMCwwIEBACi1bCi0gICAgewot
ICAgICAgICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFtZSI6ICJVbmlvbiIsCi0g
ICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJzIjogWwotICAgICAgICAg
ICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAg
ICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICJpbmhlcml0IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInJl
YWRvbmx5IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAg
ICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZS10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAg
ImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogdHJ1ZSwKLSAgICAgICAgICAgICAgICAgICAg
ImlkbFR5cGUiOiBbCi0gICAgICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgInR5cGUiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJn
ZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJmbG9hdCIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgICAgIH0s
Ci0gICAgICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
InR5cGUiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVs
bCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiB0cnVlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJpZGxUeXBlIjogWwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6IG51bGwsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiRGF0ZSIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6IG51bGwsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiRXZlbnQiLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgfQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgICAgIH0s
Ci0gICAgICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
InR5cGUiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVs
bCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiB0cnVlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IHRydWUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgImlkbFR5cGUiOiBbCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogbnVsbCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJOb2RlIiwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogbnVsbCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJET01TdHJpbmciLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgICAg
IH0KLSAgICAgICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJz
IjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogInRlc3Qi
LAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJ0ZXN0IiwKLSAgICAgICAgICAgICAg
ICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAg
ICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJyZWFkb25seSI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlw
ZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVs
bCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgICAgICJ1bmlvbiI6IHRydWUsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogWwot
ICAgICAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0
eXBlIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGws
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgImlkbFR5cGUiOiAibG9uZyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ImV4dEF0dHJzIjogWwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJFbmZvcmNlUmFuZ2UiLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImFyZ3VtZW50cyI6IG51bGwsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJleHRlbmRlZC1hdHRyaWJ1
dGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInJocyI6IG51bGwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIF0KLSAgICAgICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgICAg
ICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiBudWxsLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAi
dW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJE
YXRlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAg
ICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAg
ICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAg
ICAgIm5hbWUiOiAidGVzdDIiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJ0ZXN0
MiIsCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0KLSAgICAg
ICAgXSwKLSAgICAgICAgImluaGVyaXRhbmNlIjogbnVsbCwKLSAgICAgICAgImV4dEF0dHJzIjog
W10KLSAgICB9Ci1dCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vdmFyaWFkaWMt
b3BlcmF0aW9ucy5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL3ZhcmlhZGljLW9wZXJhdGlv
bnMuanNvbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzI4MGI3YjZhNzhhOTQxOWUw
MDhlZmVlNDZjMGY3ZTVkYzJiNWJhYy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vdmFyaWFkaWMtb3BlcmF0aW9ucy5q
c29uCisrKyAvZGV2L251bGwKQEAgLTEsMTAzICswLDAgQEAKLVsKLSAgICB7Ci0gICAgICAgICJ0
eXBlIjogImludGVyZmFjZSIsCi0gICAgICAgICJuYW1lIjogIkludGVnZXJTZXQiLAotICAgICAg
ICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFsKLSAgICAgICAgICAgIHsK
LSAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJz
dGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJyZWFkb25s
eSI6IHRydWUsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAg
ICAgICJ0eXBlIjogImF0dHJpYnV0ZS10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVy
aWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxU
eXBlIjogInVuc2lnbmVkIGxvbmciLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBb
XQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiY2FyZGluYWxp
dHkiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJjYXJkaW5hbGl0eSIsCi0gICAg
ICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7
Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAib3BlcmF0aW9uIiwKLSAgICAgICAgICAgICAgICAi
Z2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInNldHRlciI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICJkZWxldGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJyZXR1cm4tdHlw
ZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAg
ICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJ2b2lkIiwKLSAgICAgICAgICAg
ICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAg
ICAgICJuYW1lIjogInVuaW9uIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAidW5p
b24iLAotICAgICAgICAgICAgICAgICJhcmd1bWVudHMiOiBbCi0gICAgICAgICAgICAgICAgICAg
IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJvcHRpb25hbCI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgInZhcmlhZGljIjogdHJ1ZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJkZWZhdWx0IjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtd
LAotICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgInR5cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJu
dWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogImxvbmciLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAg
ICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAiaW50cyIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiaW50cyIKLSAgICAgICAgICAgICAg
ICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjog
W10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUi
OiAib3BlcmF0aW9uIiwKLSAgICAgICAgICAgICAgICAiZ2V0dGVyIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgInNldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJkZWxldGVyIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJz
dHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAg
ICAgICAgICAgICAgICAidHlwZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAgICAgICAgICAgICAgICAg
ICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAg
ICAiaWRsVHlwZSI6ICJ2b2lkIiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10K
LSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogImludGVyc2VjdGlv
biIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImludGVyc2VjdGlvbiIsCi0gICAg
ICAgICAgICAgICAgImFyZ3VtZW50cyI6IFsKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAg
ICAgICAgICAgICAgICAgICAgIm9wdGlvbmFsIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAidmFyaWFkaWMiOiB0cnVlLAotICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHQi
OiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10sCi0gICAgICAg
ICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAi
Z2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAibG9uZyIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgICAgIH0s
Ci0gICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJpbnRzIiwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJpbnRzIgotICAgICAgICAgICAgICAgICAgICB9Ci0g
ICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAg
ICAgICAgfQotICAgICAgICBdLAotICAgICAgICAiaW5oZXJpdGFuY2UiOiBudWxsLAotICAgICAg
ICAiZXh0QXR0cnMiOiBbXQotICAgIH0KLV0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgv
anNvbi93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi93M2MtaW1wb3J0Lmxv
ZwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMGUyOWZlNzgzODhlNjAzODcyNWYxZDE4
MDJmNmI1NjcwNjg1ZTA1OC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vdzNjLWltcG9ydC5sb2cKKysrIC9kZXYvbnVs
bApAQCAtMSw3MCArMCwwIEBACi1UaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBv
cnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KLURvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMg
ZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRo
ZSBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0
Ci0KLVRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0
IHRvIHJlaW1wb3J0Ci0KLURvIE5PVCBtb2RpZnkgb3IgcmVtb3ZlIHRoaXMgZmlsZS4KLQotLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tCi1Qcm9wZXJ0aWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6Ci1Ob25l
Ci1Qcm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKLU5vbmUKLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLQotTGlzdCBvZiBmaWxlczoKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vYWxsb3dh
bnkuanNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9hdHRyaWJ1dGVzLmpzb24KLS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvc3ludGF4L2pzb24vY2FsbGJhY2suanNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9jb25z
dGFudHMuanNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9jb25zdHJ1Y3Rvci5qc29uCi0vTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L3N5bnRheC9qc29uL2RpY3Rpb25hcnktaW5oZXJpdHMuanNvbgotL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9z
eW50YXgvanNvbi9kaWN0aW9uYXJ5Lmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vZG9jdW1l
bnRhdGlvbi1kb3MuanNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9kb2N1bWVudGF0aW9uLmpz
b24KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vZW51bS5qc29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9q
c29uL2VxdWl2YWxlbnQtZGVjbC5qc29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2V4Y2VwdGlv
bi1pbmhlcml0YW5jZS5qc29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2V4dGVuZGVkLWF0dHJp
YnV0ZXMuanNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9nZW5lcmljLmpzb24KLS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvc3ludGF4L2pzb24vZ2V0dGVyLXNldHRlci5qc29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29u
L2lkZW50aWZpZXItcXVhbGlmaWVkLW5hbWVzLmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24v
aW1wbGVtZW50cy5qc29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2luZGV4ZWQtcHJvcGVydGll
cy5qc29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2luaGVyaXRzLWdldHRlci5qc29uCi0vTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L3N5bnRheC9qc29uL2ludGVyZmFjZS1pbmhlcml0cy5qc29uCi0vTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5
bnRheC9qc29uL2l0ZXJhYmxlLmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vaXRlcmF0b3Iu
anNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9sZWdhY3lpdGVyYWJsZS5qc29uCi0vTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3N5bnRheC9qc29uL21hcGxpa2UuanNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9taXhp
bi5qc29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL25hbWVkY29uc3RydWN0b3IuanNvbgotL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC9zeW50YXgvanNvbi9uYW1lc3BhY2UuanNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNv
bi9ub2ludGVyZmFjZW9iamVjdC5qc29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL251bGxhYmxl
Lmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vbnVsbGFibGVvYmplY3RzLmpzb24KLS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvc3ludGF4L2pzb24vb3BlcmF0aW9uLW9wdGlvbmFsLWFyZy5qc29uCi0vTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3N5bnRheC9qc29uL292ZXJsb2FkaW5nLmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vb3Zl
cnJpZGVidWlsdGlucy5qc29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL3BhcnRpYWwtaW50ZXJm
YWNlLmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vcHJpbWl0aXZlcy5qc29uCi0vTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3N5bnRheC9qc29uL3Byb21pc2Utdm9pZC5qc29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29u
L3Byb3RvdHlwZXJvb3QuanNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9wdXRmb3J3YXJkcy5q
c29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL3JlY29yZC5qc29uCi0vTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRh
eC9qc29uL3JlZy1vcGVyYXRpb25zLmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vcmVwbGFj
ZWFibGUuanNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9zZXF1ZW5jZS5qc29uCi0vTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3N5bnRheC9qc29uL3NldGxpa2UuanNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9zdGF0
aWMuanNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9zdHJpbmdpZmllci1hdHRyaWJ1dGUuanNv
bgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9zdHJpbmdpZmllci1jdXN0b20uanNvbgotL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC9zeW50YXgvanNvbi9zdHJpbmdpZmllci5qc29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29u
L3RyZWF0YXNudWxsLmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vdHJlYXRhc3VuZGVmaW5l
ZC5qc29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL3R5cGVkZWYtdW5pb24uanNvbgotL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC9zeW50YXgvanNvbi90eXBlZGVmLmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vdHlw
ZXN1ZmZpeGVzLmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vdW5pb250eXBlLmpzb24KLS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3Qvc3ludGF4L2pzb24vdmFyaWFkaWMtb3BlcmF0aW9ucy5qc29uCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3Qvc3ludGF4L29wdC90eXBlZGVmLW5lc3RlZC5qc29uIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5
bnRheC9vcHQvdHlwZWRlZi1uZXN0ZWQuanNvbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggZjA3OTRlNzRlMDdlYjFjYWIxYTZmMmE3NTllNTA1NjJlMjlmZDhiMi4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L29wdC90
eXBlZGVmLW5lc3RlZC5qc29uCisrKyAvZGV2L251bGwKQEAgLTEsMyArMCwwIEBACi17Ci0gICAg
ImFsbG93TmVzdGVkVHlwZWRlZnMiOiB0cnVlCi19ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9vcHQvdzNjLWltcG9ydC5sb2cgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvc3ludGF4L29wdC93M2MtaW1wb3J0LmxvZwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMmU4MTEyM2IwN2NhNzU3NWYyMWFkMjczMzdkMTQ4NDVhNzE3YWM4ZS4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L29w
dC93M2MtaW1wb3J0LmxvZworKysgL2Rldi9udWxsCkBAIC0xLDE3ICswLDAgQEAKLVRoZSB0ZXN0
cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5
LgotRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFk
LCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRo
dWIuY29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMKLQotVGhlbiBydW4gdGhlIFRvb2xzL1Njcmlw
dHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKLQotRG8gTk9UIG1vZGlm
eSBvciByZW1vdmUgdGhpcyBmaWxlLgotCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLVByb3BlcnRpZXMgcmVx
dWlyaW5nIHZlbmRvciBwcmVmaXhlczoKLU5vbmUKLVByb3BlcnR5IHZhbHVlcyByZXF1aXJpbmcg
dmVuZG9yIHByZWZpeGVzOgotTm9uZQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1MaXN0IG9mIGZpbGVzOgot
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC9zeW50YXgvb3B0L3R5cGVkZWYtbmVzdGVkLmpzb24KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC91dGlsL2FjcXVpcmUuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvdXRpbC9hY3F1aXJlLmpzCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2ZjM3ZGQ2MDgzYzNjNzVkZmU1NjE3MjdlOWE4NDM0
NjVlM2NmYTZjLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC91dGlsL2FjcXVpcmUuanMKKysrIC9kZXYvbnVsbApAQCAtMSw4ICswLDAgQEAK
LSJ1c2Ugc3RyaWN0IjsKLQotY29uc3QgeyBjb2xsZWN0IH0gPSByZXF1aXJlKCIuL2NvbGxlY3Qi
KTsKLWNvbnN0IGZzID0gcmVxdWlyZSgiZnMiKTsKLQotZm9yIChjb25zdCB0ZXN0IG9mIGNvbGxl
Y3QoInN5bnRheCIpKSB7Ci0gIGZzLndyaXRlRmlsZVN5bmModGVzdC5qc29uUGF0aCwgYCR7SlNP
Ti5zdHJpbmdpZnkodGVzdC5hc3QsIG51bGwsIDQpfVxuYCkKLX0KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC91dGlsL2NvbGxlY3QuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvdXRpbC9jb2xsZWN0LmpzCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3ZTNkOWQzYmYzMTI2NzU3OGMwY2UyMDQ2ZWVjM2Y1MjQ1
YzU3M2RjLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC91dGlsL2NvbGxlY3QuanMKKysrIC9kZXYvbnVsbApAQCAtMSw1OSArMCwwIEBACi0i
dXNlIHN0cmljdCI7Ci0KLWNvbnN0IHdwID0gcmVxdWlyZSgiLi4vLi4vbGliL3dlYmlkbDIiKTsK
LWNvbnN0IHB0aCA9IHJlcXVpcmUoInBhdGgiKTsKLWNvbnN0IGZzID0gcmVxdWlyZSgiZnMiKTsK
LWNvbnN0IGpkcCA9IHJlcXVpcmUoImpzb25kaWZmcGF0Y2giKTsKLQotLyoqCi0gKiBDb2xsZWN0
cyB0ZXN0IGl0ZW1zIGZyb20gdGhlIHNwZWNpZmllZCBkaXJlY3RvcnkKLSAqIEBwYXJhbSB7c3Ry
aW5nfSBiYXNlCi0gKi8KLWZ1bmN0aW9uKiBjb2xsZWN0KGJhc2UsIHsgZXhwZWN0RXJyb3IgfSA9
IHt9KSB7Ci0gIGJhc2UgPSBwdGguam9pbihfX2Rpcm5hbWUsICIuLiIsIGJhc2UpOwotICBjb25z
dCBkaXIgPSBwdGguam9pbihiYXNlLCAiaWRsIik7Ci0gIGNvbnN0IGlkbHMgPSBmcy5yZWFkZGly
U3luYyhkaXIpCi0gICAgLmZpbHRlcihpdCA9PiAoL1wud2lkbCQvKS50ZXN0KGl0KSkKLSAgICAu
bWFwKGl0ID0+IHB0aC5qb2luKGRpciwgaXQpKTsKLQotICBmb3IgKGNvbnN0IHBhdGggb2YgaWRs
cykgewotICAgIGNvbnN0IG9wdEZpbGUgPSBwdGguam9pbihiYXNlLCAib3B0IiwgcHRoLmJhc2Vu
YW1lKHBhdGgpKS5yZXBsYWNlKCIud2lkbCIsICIuanNvbiIpOwotICAgIGxldCBvcHQ7Ci0gICAg
aWYgKGZzLmV4aXN0c1N5bmMob3B0RmlsZSkpCi0gICAgICBvcHQgPSBKU09OLnBhcnNlKGZzLnJl
YWRGaWxlU3luYyhvcHRGaWxlLCAidXRmOCIpKTsKLQotICAgIHRyeSB7Ci0gICAgICBjb25zdCBh
c3QgPSB3cC5wYXJzZShmcy5yZWFkRmlsZVN5bmMocGF0aCwgInV0ZjgiKS5yZXBsYWNlKC9cclxu
L2csICJcbiIpLCBvcHQpOwotICAgICAgeWllbGQgbmV3IFRlc3RJdGVtKHsgYXN0LCBwYXRoLCBv
cHQgfSk7Ci0gICAgfQotICAgIGNhdGNoIChlcnJvcikgewotICAgICAgaWYgKGV4cGVjdEVycm9y
KSB7Ci0gICAgICAgIHlpZWxkIG5ldyBUZXN0SXRlbSh7IHBhdGgsIGVycm9yIH0pOwotICAgICAg
fQotICAgICAgZWxzZSB7Ci0gICAgICAgIHRocm93IGVycm9yOwotICAgICAgfQotICAgIH0KLSAg
fQotfTsKLQotCi1jbGFzcyBUZXN0SXRlbSB7Ci0gIGNvbnN0cnVjdG9yKHsgYXN0LCBwYXRoLCBl
cnJvciwgb3B0IH0pIHsKLSAgICB0aGlzLmFzdCA9IGFzdDsKLSAgICB0aGlzLnBhdGggPSBwYXRo
OwotICAgIHRoaXMuZXJyb3IgPSBlcnJvcjsKLSAgICB0aGlzLm9wdCA9IG9wdDsKLSAgICB0aGlz
Lmpzb25QYXRoID0gcHRoLmpvaW4ocHRoLmRpcm5hbWUocGF0aCksICIuLi9qc29uIiwgcHRoLmJh
c2VuYW1lKHBhdGgpLnJlcGxhY2UoIi53aWRsIiwgIi5qc29uIikpOwotICB9Ci0KLSAgcmVhZEpT
T04oKSB7Ci0gICAgcmV0dXJuIEpTT04ucGFyc2UoZnMucmVhZEZpbGVTeW5jKHRoaXMuanNvblBh
dGgsICJ1dGY4IikpOwotICB9Ci0KLSAgZGlmZih0YXJnZXQgPSB0aGlzLnJlYWRKU09OKCkpIHsK
LSAgICByZXR1cm4gamRwLmRpZmYodGFyZ2V0LCB0aGlzLmFzdCk7Ci0gIH0KLX0KLQotbW9kdWxl
LmV4cG9ydHMuY29sbGVjdCA9IGNvbGxlY3Q7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvdXRpbC93
M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC91dGlsL3czYy1pbXBvcnQubG9nCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCA4YTViZDRkMDdhN2FmMGJmMzFkMmU5NjMwZDY5MTY3OTRhMmQ3
MGFjLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC91dGlsL3czYy1pbXBvcnQubG9nCisrKyAvZGV2L251bGwKQEAgLTEsMTggKzAsMCBAQAot
VGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJl
cG9zaXRvcnkuCi1EbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4K
LUluc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKLQlodHRw
czovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdAotCi1UaGVuIHJ1biB0aGUgVG9v
bHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydAotCi1EbyBO
T1QgbW9kaWZ5IG9yIHJlbW92ZSB0aGlzIGZpbGUuCi0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotUHJvcGVy
dGllcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgotTm9uZQotUHJvcGVydHkgdmFsdWVzIHJl
cXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6Ci1Ob25lCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLUxpc3Qgb2Yg
ZmlsZXM6Ci0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L3V0aWwvYWNxdWlyZS5qcwotL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC91dGlsL2NvbGxl
Y3QuanMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93
M2MtaW1wb3J0LmxvZwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDdiN2NiOWZlNTYz
MDcwMzgxNzExNzY4ZjE5ODM2MDAzYzI5NDJmNS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvdzNjLWltcG9ydC5sb2cKKysrIC9kZXYvbnVs
bApAQCAtMSwyMCArMCwwIEBACi1UaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBv
cnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KLURvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMg
ZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRo
ZSBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0
Ci0KLVRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0
IHRvIHJlaW1wb3J0Ci0KLURvIE5PVCBtb2RpZnkgb3IgcmVtb3ZlIHRoaXMgZmlsZS4KLQotLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tCi1Qcm9wZXJ0aWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6Ci1Ob25l
Ci1Qcm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKLU5vbmUKLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLQotTGlzdCBvZiBmaWxlczoKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC5qcwotL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC9tb2NoYS5vcHRzCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC5qcwotL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93cml0ZXIu
anMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93ZWIvbWFrZS13ZWItdGVzdHMuanMgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvd2ViL21ha2Utd2ViLXRlc3RzLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAx
Nzc0ODA2OTk0ZTBhNzQ2MjRmZDE5NDY5YTg2Y2NmMjE4Mjg4NjJmLi4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93ZWIvbWFrZS13ZWItdGVz
dHMuanMKKysrIC9kZXYvbnVsbApAQCAtMSw1MiArMCwwIEBACi0KLS8vIGdlbmVyYXRlcyB0ZXN0
cyB0aGF0IHdvcmsgaW4gYSBicm93c2VyCi0KLS8vIFhYWAotLy8gIGhhdmUgaXQgcnVuIHRocm91
Z2ggdmFsaWQgYW5kIGludmFsaWQgcHJvcGVybHkKLQotdmFyIHB0aCA9IHJlcXVpcmUoInBhdGgi
KQotLCAgIGZzID0gcmVxdWlyZSgiZnMiKQotLCAgIGRpciA9IGZ1bmN0aW9uIChwYXRoKSB7Ci0g
ICAgICAgIHJldHVybiBwdGguam9pbihfX2Rpcm5hbWUsICIuLiIsIHBhdGgpOwotICAgIH0KLSwg
ICBhbGxGcm9tRGlyID0gZnVuY3Rpb24gKGRpciwgZXh0LCBhc0pTT04pIHsKLSAgICAgICAgcmV0
dXJuIGZzLnJlYWRkaXJTeW5jKGRpcikKLSAgICAgICAgICAgICAgICAgLmZpbHRlcihmdW5jdGlv
biAoaXQpIHsgcmV0dXJuIGV4dC50ZXN0KGl0KTsgfSkKLSAgICAgICAgICAgICAgICAgLm1hcChm
dW5jdGlvbiAoaXQpIHsKLSAgICAgICAgICAgICAgICAgICAgIHZhciBjbnQgPSBmcy5yZWFkRmls
ZVN5bmMocHRoLmpvaW4oZGlyLCBpdCksICJ1dGY4Iik7Ci0gICAgICAgICAgICAgICAgICAgICBy
ZXR1cm4gYXNKU09OID8gSlNPTi5wYXJzZShjbnQpIDogY250OwotICAgICAgICAgICAgICAgICB9
KTsKLSAgICB9Ci0sICAgZGF0YSA9IHsKLSAgICAgICAgdmFsaWQ6ICB7Ci0gICAgICAgICAgICBq
c29uOiAgIGFsbEZyb21EaXIoZGlyKCJzeW50YXgvanNvbiIpLCAvXC5qc29uJC8sIHRydWUpCi0g
ICAgICAgICwgICBpZGw6ICAgIGFsbEZyb21EaXIoZGlyKCJzeW50YXgvaWRsIiksIC9cLnc/aWRs
JC8sIGZhbHNlKQotICAgICAgICB9Ci0gICAgLCAgIGludmFsaWQ6ewotICAgICAgICAgICAganNv
bjogICBhbGxGcm9tRGlyKGRpcigiaW52YWxpZC9qc29uIiksIC9cLmpzb24kLywgdHJ1ZSkKLSAg
ICAgICAgLCAgIGlkbDogICAgYWxsRnJvbURpcihkaXIoImludmFsaWQvaWRsIiksIC9cLnc/aWRs
JC8sIGZhbHNlKQotICAgICAgICB9Ci0gICAgfQotLCAgIGh0bWwgPSBbCi0gICAgICAgICI8IURP
Q1RZUEUgaHRtbD4iCi0gICAgLCAgICI8aHRtbD4iCi0gICAgLCAgICIgIDxoZWFkPjxtZXRhIGNo
YXJzZXQ9J3V0Zi04Jyc+PGxpbmsgcmVsPSdzdHlsZXNoZWV0JyBocmVmPScuLi8uLi9ub2RlX21v
ZHVsZXMvbW9jaGEvbW9jaGEuY3NzJz4iCi0gICAgLCAgICIgICAgPHRpdGxlPldlYklETDIgQnJv
d3NlciBUZXN0czwvdGl0bGU+IgotICAgICwgICAiICAgIDxzY3JpcHQ+dmFyIGRhdGEgPSAiICsg
SlNPTi5zdHJpbmdpZnkoZGF0YSkgKyAiPC9zY3JpcHQ+IgotICAgICwgICAiICA8L2hlYWQ+Igot
ICAgICwgICAiICA8Ym9keT48ZGl2IGlkPSdtb2NoYSc+PC9kaXY+IgotICAgICwgICAiICA8c2Ny
aXB0IHNyYz0naHR0cHM6Ly9hamF4Lmdvb2dsZWFwaXMuY29tL2FqYXgvbGlicy9qcXVlcnkvMS44
LjMvanF1ZXJ5Lm1pbi5qcyc+PC9zY3JpcHQ+IgotICAgICwgICAiICA8c2NyaXB0IHNyYz0nLi4v
Li4vbm9kZV9tb2R1bGVzL2V4cGVjdC91bWQvZXhwZWN0Lm1pbi5qcyc+PC9zY3JpcHQ+IgotICAg
ICwgICAiICA8c2NyaXB0IHNyYz0nLi4vLi4vbm9kZV9tb2R1bGVzL2V4cGVjdC5qcy9pbmRleC5q
cyc+PC9zY3JpcHQ+IgotICAgICwgICAiICA8c2NyaXB0IHNyYz0nLi4vLi4vbm9kZV9tb2R1bGVz
L21vY2hhL21vY2hhLmpzJz48L3NjcmlwdD4iCi0gICAgLCAgICIgIDxzY3JpcHQgc3JjPScuLi8u
Li9ub2RlX21vZHVsZXMvanNvbmRpZmZwYXRjaC9wdWJsaWMvYnVpbGQvanNvbmRpZmZwYXRjaC5t
aW4uanMnPjwvc2NyaXB0PiIKLSAgICAsICAgIiAgPHNjcmlwdCBzcmM9Jy4uLy4uL2xpYi93ZWJp
ZGwyLmpzJz48L3NjcmlwdD4iCi0gICAgLCAgICIgIDxzY3JpcHQ+bW9jaGEuc2V0dXAoJ2JkZCcp
Ozwvc2NyaXB0PiIKLSAgICAsICAgIiAgPHNjcmlwdCBzcmM9J3J1bi10ZXN0cy5qcyc+PC9zY3Jp
cHQ+IgotICAgICwgICAiICA8c2NyaXB0Pm1vY2hhLnJ1bigpOzwvc2NyaXB0PiIKLSAgICAsICAg
IiAgPC9ib2R5PiIKLSAgICAsICAgIjwvaHRtbD4iCi0gICAgXS5qb2luKCJcbiIpCi07Ci0KLWZz
LndyaXRlRmlsZVN5bmMoImJyb3dzZXItdGVzdHMuaHRtbCIsIGh0bWwsICJ1dGY4Iik7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvd2ViL3J1bi10ZXN0cy5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93ZWIvcnVuLXRl
c3RzLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0NTJmNzk5YjJhNmYwMzRhN2Q1
ZjI0Y2ViOTMyOWU4NWIzNDBiZWUxLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93ZWIvcnVuLXRlc3RzLmpzCisrKyAvZGV2L251bGwKQEAg
LTEsNDggKzAsMCBAQAotCi1kZXNjcmliZSgiUGFyc2VzIGFsbCBvZiB0aGUgSURMcyB0byBwcm9k
dWNlIHRoZSBjb3JyZWN0IEFTVHMiLCBmdW5jdGlvbiAoKSB7Ci0gICAgZm9yICh2YXIgaSA9IDAs
IG4gPSBkYXRhLnZhbGlkLmlkbC5sZW5ndGg7IGkgPCBuOyBpKyspIHsKLSAgICAgICAgdmFyIGlk
bCA9IGRhdGEudmFsaWQuaWRsW2ldLCBqc29uID0gZGF0YS52YWxpZC5qc29uW2ldOwotICAgICAg
ICB2YXIgZnVuYyA9IChmdW5jdGlvbiAoaWRsLCBqc29uKSB7Ci0gICAgICAgICAgICByZXR1cm4g
ZnVuY3Rpb24gKCkgewotICAgICAgICAgICAgICAgIHRyeSB7Ci0gICAgICAgICAgICAgICAgICAg
IC8vIHRoZSBBU1QgY29udGFpbnMgTmFOIGFuZCArLy1JbmZpbml0eSB0aGF0IGNhbm5vdCBiZSBz
ZXJpYWxpc2VkIHRvIEpTT04KLSAgICAgICAgICAgICAgICAgICAgLy8gdGhlIHN0b3JlZCBKU09O
IEFTVHMgdXNlIHRoZSBzYW1lIHJlcGxhY2VtZW50IGZ1bmN0aW9uIGFzIGlzIHVzZWQgYmVsb3cK
LSAgICAgICAgICAgICAgICAgICAgLy8gc28gd2UgY29tcGFyZSBiYXNlZCBvbiB0aGF0Ci0gICAg
ICAgICAgICAgICAgICAgIHZhciBkaWZmID0ganNvbmRpZmZwYXRjaC5kaWZmKGpzb24sIFdlYklE
TDIucGFyc2UoaWRsKSk7Ci0gICAgICAgICAgICAgICAgICAgIGlmIChkaWZmICYmIGRlYnVnKSBj
b25zb2xlLmxvZyhKU09OLnN0cmluZ2lmeShkaWZmLCBudWxsLCA0KSk7Ci0gICAgICAgICAgICAg
ICAgICAgIGV4cGVjdChkaWZmKS50b0JlKHVuZGVmaW5lZCk7Ci0gICAgICAgICAgICAgICAgfQot
ICAgICAgICAgICAgICAgIGNhdGNoIChlKSB7Ci0gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUu
bG9nKGUudG9TdHJpbmcoKSk7Ci0gICAgICAgICAgICAgICAgICAgIHRocm93IGU7Ci0gICAgICAg
ICAgICAgICAgfQotICAgICAgICAgICAgfTsKLSAgICAgICAgfShpZGwsIGpzb24pKTsKLSAgICAg
ICAgaXQoInNob3VsZCBwcm9kdWNlIHRoZSBzYW1lIEFTVCBmb3IgIiArIGksIGZ1bmMpOwotICAg
IH0KLX0pOwotCi1kZXNjcmliZSgiUGFyc2VzIGFsbCBvZiB0aGUgaW52YWxpZCBJRExzIHRvIGNo
ZWNrIHRoYXQgdGhleSBibG93IHVwIGNvcnJlY3RseSIsIGZ1bmN0aW9uICgpIHsKLSAgICBmb3Ig
KHZhciBpID0gMCwgbiA9IGRhdGEuaW52YWxpZC5pZGwubGVuZ3RoOyBpIDwgbjsgaSsrKSB7Ci0g
ICAgICAgIHZhciBpZGwgPSBkYXRhLmludmFsaWQuaWRsW2ldLCBlcnJvciA9IGRhdGEuaW52YWxp
ZC5qc29uW2ldOwotICAgICAgICB2YXIgZnVuYyA9IChmdW5jdGlvbiAoaWRsLCBlcnIpIHsKLSAg
ICAgICAgICAgIHJldHVybiBmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAgICAgICAgdmFyIGVycm9y
OwotICAgICAgICAgICAgICAgIHRyeSB7Ci0gICAgICAgICAgICAgICAgICAgIHZhciBhc3QgPSBX
ZWJJREwyLnBhcnNlKGlkbCk7Ci0gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKEpTT04u
c3RyaW5naWZ5KGFzdCwgbnVsbCwgNCkpOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAg
ICAgICBjYXRjaCAoZSkgewotICAgICAgICAgICAgICAgICAgICBlcnJvciA9IGU7Ci0gICAgICAg
ICAgICAgICAgfQotICAgICAgICAgICAgICAgIGZpbmFsbHkgewotICAgICAgICAgICAgICAgICAg
ICBleHBlY3QoZXJyb3IpLnRvRXhpc3QoKTsKLSAgICAgICAgICAgICAgICAgICAgZXhwZWN0KGVy
cm9yLm1lc3NhZ2UpLnRvRXF1YWwoZXJyLm1lc3NhZ2UpOwotICAgICAgICAgICAgICAgICAgICBl
eHBlY3QoZXJyb3IubGluZSkudG9FcXVhbChlcnIubGluZSk7Ci0gICAgICAgICAgICAgICAgfQot
Ci0gICAgICAgICAgICB9OwotICAgICAgICB9KGlkbCwgZXJyb3IpKTsKLSAgICAgICAgaXQoInNo
b3VsZCBwcm9kdWNlIHRoZSByaWdodCBlcnJvciBmb3IgIiArIGksIGZ1bmMpOwotICAgIH0KLX0p
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dlYi93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93
ZWIvdzNjLWltcG9ydC5sb2cKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ0YmRiOWZi
NTQ1NGQxZDA0MDE3NzllZWQyNjM0OWVkMzA1ZmJkNmUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dlYi93M2MtaW1wb3J0LmxvZworKysg
L2Rldi9udWxsCkBAIC0xLDE4ICswLDAgQEAKLVRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3
ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgotRG8gTk9UIG1vZGlmeSB0aGVz
ZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVl
c3Qgb24gdGhlIFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10
ZXN0cy93cHQKLQotVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBp
biBXZWJLaXQgdG8gcmVpbXBvcnQKLQotRG8gTk9UIG1vZGlmeSBvciByZW1vdmUgdGhpcyBmaWxl
LgotCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0KLVByb3BlcnRpZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhl
czoKLU5vbmUKLVByb3BlcnR5IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgotTm9u
ZQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tCi1MaXN0IG9mIGZpbGVzOgotL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93ZWIvbWFrZS13
ZWItdGVzdHMuanMKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2ViL3J1bi10ZXN0cy5qcwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L3dpZGxwcm9jL0xJQ0VOU0UgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvTElDRU5TRQpkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDY0NTY5NTY3MzM0OWUzOTQ3ZThlNWFlNDIzMzJk
MGFjMzE2NGNkNy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvTElDRU5TRQorKysgL2Rldi9udWxsCkBAIC0xLDIwMiArMCww
IEBACi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFwYWNoZSBMaWNlbnNlCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICBWZXJzaW9uIDIuMCwgSmFudWFyeSAyMDA0Ci0gICAg
ICAgICAgICAgICAgICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvCi0KLSAg
IFRFUk1TIEFORCBDT05ESVRJT05TIEZPUiBVU0UsIFJFUFJPRFVDVElPTiwgQU5EIERJU1RSSUJV
VElPTgotCi0gICAxLiBEZWZpbml0aW9ucy4KLQotICAgICAgIkxpY2Vuc2UiIHNoYWxsIG1lYW4g
dGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIGZvciB1c2UsIHJlcHJvZHVjdGlvbiwKLSAgICAgIGFu
ZCBkaXN0cmlidXRpb24gYXMgZGVmaW5lZCBieSBTZWN0aW9ucyAxIHRocm91Z2ggOSBvZiB0aGlz
IGRvY3VtZW50LgotCi0gICAgICAiTGljZW5zb3IiIHNoYWxsIG1lYW4gdGhlIGNvcHlyaWdodCBv
d25lciBvciBlbnRpdHkgYXV0aG9yaXplZCBieQotICAgICAgdGhlIGNvcHlyaWdodCBvd25lciB0
aGF0IGlzIGdyYW50aW5nIHRoZSBMaWNlbnNlLgotCi0gICAgICAiTGVnYWwgRW50aXR5IiBzaGFs
bCBtZWFuIHRoZSB1bmlvbiBvZiB0aGUgYWN0aW5nIGVudGl0eSBhbmQgYWxsCi0gICAgICBvdGhl
ciBlbnRpdGllcyB0aGF0IGNvbnRyb2wsIGFyZSBjb250cm9sbGVkIGJ5LCBvciBhcmUgdW5kZXIg
Y29tbW9uCi0gICAgICBjb250cm9sIHdpdGggdGhhdCBlbnRpdHkuIEZvciB0aGUgcHVycG9zZXMg
b2YgdGhpcyBkZWZpbml0aW9uLAotICAgICAgImNvbnRyb2wiIG1lYW5zIChpKSB0aGUgcG93ZXIs
IGRpcmVjdCBvciBpbmRpcmVjdCwgdG8gY2F1c2UgdGhlCi0gICAgICBkaXJlY3Rpb24gb3IgbWFu
YWdlbWVudCBvZiBzdWNoIGVudGl0eSwgd2hldGhlciBieSBjb250cmFjdCBvcgotICAgICAgb3Ro
ZXJ3aXNlLCBvciAoaWkpIG93bmVyc2hpcCBvZiBmaWZ0eSBwZXJjZW50ICg1MCUpIG9yIG1vcmUg
b2YgdGhlCi0gICAgICBvdXRzdGFuZGluZyBzaGFyZXMsIG9yIChpaWkpIGJlbmVmaWNpYWwgb3du
ZXJzaGlwIG9mIHN1Y2ggZW50aXR5LgotCi0gICAgICAiWW91IiAob3IgIllvdXIiKSBzaGFsbCBt
ZWFuIGFuIGluZGl2aWR1YWwgb3IgTGVnYWwgRW50aXR5Ci0gICAgICBleGVyY2lzaW5nIHBlcm1p
c3Npb25zIGdyYW50ZWQgYnkgdGhpcyBMaWNlbnNlLgotCi0gICAgICAiU291cmNlIiBmb3JtIHNo
YWxsIG1lYW4gdGhlIHByZWZlcnJlZCBmb3JtIGZvciBtYWtpbmcgbW9kaWZpY2F0aW9ucywKLSAg
ICAgIGluY2x1ZGluZyBidXQgbm90IGxpbWl0ZWQgdG8gc29mdHdhcmUgc291cmNlIGNvZGUsIGRv
Y3VtZW50YXRpb24KLSAgICAgIHNvdXJjZSwgYW5kIGNvbmZpZ3VyYXRpb24gZmlsZXMuCi0KLSAg
ICAgICJPYmplY3QiIGZvcm0gc2hhbGwgbWVhbiBhbnkgZm9ybSByZXN1bHRpbmcgZnJvbSBtZWNo
YW5pY2FsCi0gICAgICB0cmFuc2Zvcm1hdGlvbiBvciB0cmFuc2xhdGlvbiBvZiBhIFNvdXJjZSBm
b3JtLCBpbmNsdWRpbmcgYnV0Ci0gICAgICBub3QgbGltaXRlZCB0byBjb21waWxlZCBvYmplY3Qg
Y29kZSwgZ2VuZXJhdGVkIGRvY3VtZW50YXRpb24sCi0gICAgICBhbmQgY29udmVyc2lvbnMgdG8g
b3RoZXIgbWVkaWEgdHlwZXMuCi0KLSAgICAgICJXb3JrIiBzaGFsbCBtZWFuIHRoZSB3b3JrIG9m
IGF1dGhvcnNoaXAsIHdoZXRoZXIgaW4gU291cmNlIG9yCi0gICAgICBPYmplY3QgZm9ybSwgbWFk
ZSBhdmFpbGFibGUgdW5kZXIgdGhlIExpY2Vuc2UsIGFzIGluZGljYXRlZCBieSBhCi0gICAgICBj
b3B5cmlnaHQgbm90aWNlIHRoYXQgaXMgaW5jbHVkZWQgaW4gb3IgYXR0YWNoZWQgdG8gdGhlIHdv
cmsKLSAgICAgIChhbiBleGFtcGxlIGlzIHByb3ZpZGVkIGluIHRoZSBBcHBlbmRpeCBiZWxvdyku
Ci0KLSAgICAgICJEZXJpdmF0aXZlIFdvcmtzIiBzaGFsbCBtZWFuIGFueSB3b3JrLCB3aGV0aGVy
IGluIFNvdXJjZSBvciBPYmplY3QKLSAgICAgIGZvcm0sIHRoYXQgaXMgYmFzZWQgb24gKG9yIGRl
cml2ZWQgZnJvbSkgdGhlIFdvcmsgYW5kIGZvciB3aGljaCB0aGUKLSAgICAgIGVkaXRvcmlhbCBy
ZXZpc2lvbnMsIGFubm90YXRpb25zLCBlbGFib3JhdGlvbnMsIG9yIG90aGVyIG1vZGlmaWNhdGlv
bnMKLSAgICAgIHJlcHJlc2VudCwgYXMgYSB3aG9sZSwgYW4gb3JpZ2luYWwgd29yayBvZiBhdXRo
b3JzaGlwLiBGb3IgdGhlIHB1cnBvc2VzCi0gICAgICBvZiB0aGlzIExpY2Vuc2UsIERlcml2YXRp
dmUgV29ya3Mgc2hhbGwgbm90IGluY2x1ZGUgd29ya3MgdGhhdCByZW1haW4KLSAgICAgIHNlcGFy
YWJsZSBmcm9tLCBvciBtZXJlbHkgbGluayAob3IgYmluZCBieSBuYW1lKSB0byB0aGUgaW50ZXJm
YWNlcyBvZiwKLSAgICAgIHRoZSBXb3JrIGFuZCBEZXJpdmF0aXZlIFdvcmtzIHRoZXJlb2YuCi0K
LSAgICAgICJDb250cmlidXRpb24iIHNoYWxsIG1lYW4gYW55IHdvcmsgb2YgYXV0aG9yc2hpcCwg
aW5jbHVkaW5nCi0gICAgICB0aGUgb3JpZ2luYWwgdmVyc2lvbiBvZiB0aGUgV29yayBhbmQgYW55
IG1vZGlmaWNhdGlvbnMgb3IgYWRkaXRpb25zCi0gICAgICB0byB0aGF0IFdvcmsgb3IgRGVyaXZh
dGl2ZSBXb3JrcyB0aGVyZW9mLCB0aGF0IGlzIGludGVudGlvbmFsbHkKLSAgICAgIHN1Ym1pdHRl
ZCB0byBMaWNlbnNvciBmb3IgaW5jbHVzaW9uIGluIHRoZSBXb3JrIGJ5IHRoZSBjb3B5cmlnaHQg
b3duZXIKLSAgICAgIG9yIGJ5IGFuIGluZGl2aWR1YWwgb3IgTGVnYWwgRW50aXR5IGF1dGhvcml6
ZWQgdG8gc3VibWl0IG9uIGJlaGFsZiBvZgotICAgICAgdGhlIGNvcHlyaWdodCBvd25lci4gRm9y
IHRoZSBwdXJwb3NlcyBvZiB0aGlzIGRlZmluaXRpb24sICJzdWJtaXR0ZWQiCi0gICAgICBtZWFu
cyBhbnkgZm9ybSBvZiBlbGVjdHJvbmljLCB2ZXJiYWwsIG9yIHdyaXR0ZW4gY29tbXVuaWNhdGlv
biBzZW50Ci0gICAgICB0byB0aGUgTGljZW5zb3Igb3IgaXRzIHJlcHJlc2VudGF0aXZlcywgaW5j
bHVkaW5nIGJ1dCBub3QgbGltaXRlZCB0bwotICAgICAgY29tbXVuaWNhdGlvbiBvbiBlbGVjdHJv
bmljIG1haWxpbmcgbGlzdHMsIHNvdXJjZSBjb2RlIGNvbnRyb2wgc3lzdGVtcywKLSAgICAgIGFu
ZCBpc3N1ZSB0cmFja2luZyBzeXN0ZW1zIHRoYXQgYXJlIG1hbmFnZWQgYnksIG9yIG9uIGJlaGFs
ZiBvZiwgdGhlCi0gICAgICBMaWNlbnNvciBmb3IgdGhlIHB1cnBvc2Ugb2YgZGlzY3Vzc2luZyBh
bmQgaW1wcm92aW5nIHRoZSBXb3JrLCBidXQKLSAgICAgIGV4Y2x1ZGluZyBjb21tdW5pY2F0aW9u
IHRoYXQgaXMgY29uc3BpY3VvdXNseSBtYXJrZWQgb3Igb3RoZXJ3aXNlCi0gICAgICBkZXNpZ25h
dGVkIGluIHdyaXRpbmcgYnkgdGhlIGNvcHlyaWdodCBvd25lciBhcyAiTm90IGEgQ29udHJpYnV0
aW9uLiIKLQotICAgICAgIkNvbnRyaWJ1dG9yIiBzaGFsbCBtZWFuIExpY2Vuc29yIGFuZCBhbnkg
aW5kaXZpZHVhbCBvciBMZWdhbCBFbnRpdHkKLSAgICAgIG9uIGJlaGFsZiBvZiB3aG9tIGEgQ29u
dHJpYnV0aW9uIGhhcyBiZWVuIHJlY2VpdmVkIGJ5IExpY2Vuc29yIGFuZAotICAgICAgc3Vic2Vx
dWVudGx5IGluY29ycG9yYXRlZCB3aXRoaW4gdGhlIFdvcmsuCi0KLSAgIDIuIEdyYW50IG9mIENv
cHlyaWdodCBMaWNlbnNlLiBTdWJqZWN0IHRvIHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZgot
ICAgICAgdGhpcyBMaWNlbnNlLCBlYWNoIENvbnRyaWJ1dG9yIGhlcmVieSBncmFudHMgdG8gWW91
IGEgcGVycGV0dWFsLAotICAgICAgd29ybGR3aWRlLCBub24tZXhjbHVzaXZlLCBuby1jaGFyZ2Us
IHJveWFsdHktZnJlZSwgaXJyZXZvY2FibGUKLSAgICAgIGNvcHlyaWdodCBsaWNlbnNlIHRvIHJl
cHJvZHVjZSwgcHJlcGFyZSBEZXJpdmF0aXZlIFdvcmtzIG9mLAotICAgICAgcHVibGljbHkgZGlz
cGxheSwgcHVibGljbHkgcGVyZm9ybSwgc3VibGljZW5zZSwgYW5kIGRpc3RyaWJ1dGUgdGhlCi0g
ICAgICBXb3JrIGFuZCBzdWNoIERlcml2YXRpdmUgV29ya3MgaW4gU291cmNlIG9yIE9iamVjdCBm
b3JtLgotCi0gICAzLiBHcmFudCBvZiBQYXRlbnQgTGljZW5zZS4gU3ViamVjdCB0byB0aGUgdGVy
bXMgYW5kIGNvbmRpdGlvbnMgb2YKLSAgICAgIHRoaXMgTGljZW5zZSwgZWFjaCBDb250cmlidXRv
ciBoZXJlYnkgZ3JhbnRzIHRvIFlvdSBhIHBlcnBldHVhbCwKLSAgICAgIHdvcmxkd2lkZSwgbm9u
LWV4Y2x1c2l2ZSwgbm8tY2hhcmdlLCByb3lhbHR5LWZyZWUsIGlycmV2b2NhYmxlCi0gICAgICAo
ZXhjZXB0IGFzIHN0YXRlZCBpbiB0aGlzIHNlY3Rpb24pIHBhdGVudCBsaWNlbnNlIHRvIG1ha2Us
IGhhdmUgbWFkZSwKLSAgICAgIHVzZSwgb2ZmZXIgdG8gc2VsbCwgc2VsbCwgaW1wb3J0LCBhbmQg
b3RoZXJ3aXNlIHRyYW5zZmVyIHRoZSBXb3JrLAotICAgICAgd2hlcmUgc3VjaCBsaWNlbnNlIGFw
cGxpZXMgb25seSB0byB0aG9zZSBwYXRlbnQgY2xhaW1zIGxpY2Vuc2FibGUKLSAgICAgIGJ5IHN1
Y2ggQ29udHJpYnV0b3IgdGhhdCBhcmUgbmVjZXNzYXJpbHkgaW5mcmluZ2VkIGJ5IHRoZWlyCi0g
ICAgICBDb250cmlidXRpb24ocykgYWxvbmUgb3IgYnkgY29tYmluYXRpb24gb2YgdGhlaXIgQ29u
dHJpYnV0aW9uKHMpCi0gICAgICB3aXRoIHRoZSBXb3JrIHRvIHdoaWNoIHN1Y2ggQ29udHJpYnV0
aW9uKHMpIHdhcyBzdWJtaXR0ZWQuIElmIFlvdQotICAgICAgaW5zdGl0dXRlIHBhdGVudCBsaXRp
Z2F0aW9uIGFnYWluc3QgYW55IGVudGl0eSAoaW5jbHVkaW5nIGEKLSAgICAgIGNyb3NzLWNsYWlt
IG9yIGNvdW50ZXJjbGFpbSBpbiBhIGxhd3N1aXQpIGFsbGVnaW5nIHRoYXQgdGhlIFdvcmsKLSAg
ICAgIG9yIGEgQ29udHJpYnV0aW9uIGluY29ycG9yYXRlZCB3aXRoaW4gdGhlIFdvcmsgY29uc3Rp
dHV0ZXMgZGlyZWN0Ci0gICAgICBvciBjb250cmlidXRvcnkgcGF0ZW50IGluZnJpbmdlbWVudCwg
dGhlbiBhbnkgcGF0ZW50IGxpY2Vuc2VzCi0gICAgICBncmFudGVkIHRvIFlvdSB1bmRlciB0aGlz
IExpY2Vuc2UgZm9yIHRoYXQgV29yayBzaGFsbCB0ZXJtaW5hdGUKLSAgICAgIGFzIG9mIHRoZSBk
YXRlIHN1Y2ggbGl0aWdhdGlvbiBpcyBmaWxlZC4KLQotICAgNC4gUmVkaXN0cmlidXRpb24uIFlv
dSBtYXkgcmVwcm9kdWNlIGFuZCBkaXN0cmlidXRlIGNvcGllcyBvZiB0aGUKLSAgICAgIFdvcmsg
b3IgRGVyaXZhdGl2ZSBXb3JrcyB0aGVyZW9mIGluIGFueSBtZWRpdW0sIHdpdGggb3Igd2l0aG91
dAotICAgICAgbW9kaWZpY2F0aW9ucywgYW5kIGluIFNvdXJjZSBvciBPYmplY3QgZm9ybSwgcHJv
dmlkZWQgdGhhdCBZb3UKLSAgICAgIG1lZXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgotCi0g
ICAgICAoYSkgWW91IG11c3QgZ2l2ZSBhbnkgb3RoZXIgcmVjaXBpZW50cyBvZiB0aGUgV29yayBv
cgotICAgICAgICAgIERlcml2YXRpdmUgV29ya3MgYSBjb3B5IG9mIHRoaXMgTGljZW5zZTsgYW5k
Ci0KLSAgICAgIChiKSBZb3UgbXVzdCBjYXVzZSBhbnkgbW9kaWZpZWQgZmlsZXMgdG8gY2Fycnkg
cHJvbWluZW50IG5vdGljZXMKLSAgICAgICAgICBzdGF0aW5nIHRoYXQgWW91IGNoYW5nZWQgdGhl
IGZpbGVzOyBhbmQKLQotICAgICAgKGMpIFlvdSBtdXN0IHJldGFpbiwgaW4gdGhlIFNvdXJjZSBm
b3JtIG9mIGFueSBEZXJpdmF0aXZlIFdvcmtzCi0gICAgICAgICAgdGhhdCBZb3UgZGlzdHJpYnV0
ZSwgYWxsIGNvcHlyaWdodCwgcGF0ZW50LCB0cmFkZW1hcmssIGFuZAotICAgICAgICAgIGF0dHJp
YnV0aW9uIG5vdGljZXMgZnJvbSB0aGUgU291cmNlIGZvcm0gb2YgdGhlIFdvcmssCi0gICAgICAg
ICAgZXhjbHVkaW5nIHRob3NlIG5vdGljZXMgdGhhdCBkbyBub3QgcGVydGFpbiB0byBhbnkgcGFy
dCBvZgotICAgICAgICAgIHRoZSBEZXJpdmF0aXZlIFdvcmtzOyBhbmQKLQotICAgICAgKGQpIElm
IHRoZSBXb3JrIGluY2x1ZGVzIGEgIk5PVElDRSIgdGV4dCBmaWxlIGFzIHBhcnQgb2YgaXRzCi0g
ICAgICAgICAgZGlzdHJpYnV0aW9uLCB0aGVuIGFueSBEZXJpdmF0aXZlIFdvcmtzIHRoYXQgWW91
IGRpc3RyaWJ1dGUgbXVzdAotICAgICAgICAgIGluY2x1ZGUgYSByZWFkYWJsZSBjb3B5IG9mIHRo
ZSBhdHRyaWJ1dGlvbiBub3RpY2VzIGNvbnRhaW5lZAotICAgICAgICAgIHdpdGhpbiBzdWNoIE5P
VElDRSBmaWxlLCBleGNsdWRpbmcgdGhvc2Ugbm90aWNlcyB0aGF0IGRvIG5vdAotICAgICAgICAg
IHBlcnRhaW4gdG8gYW55IHBhcnQgb2YgdGhlIERlcml2YXRpdmUgV29ya3MsIGluIGF0IGxlYXN0
IG9uZQotICAgICAgICAgIG9mIHRoZSBmb2xsb3dpbmcgcGxhY2VzOiB3aXRoaW4gYSBOT1RJQ0Ug
dGV4dCBmaWxlIGRpc3RyaWJ1dGVkCi0gICAgICAgICAgYXMgcGFydCBvZiB0aGUgRGVyaXZhdGl2
ZSBXb3Jrczsgd2l0aGluIHRoZSBTb3VyY2UgZm9ybSBvcgotICAgICAgICAgIGRvY3VtZW50YXRp
b24sIGlmIHByb3ZpZGVkIGFsb25nIHdpdGggdGhlIERlcml2YXRpdmUgV29ya3M7IG9yLAotICAg
ICAgICAgIHdpdGhpbiBhIGRpc3BsYXkgZ2VuZXJhdGVkIGJ5IHRoZSBEZXJpdmF0aXZlIFdvcmtz
LCBpZiBhbmQKLSAgICAgICAgICB3aGVyZXZlciBzdWNoIHRoaXJkLXBhcnR5IG5vdGljZXMgbm9y
bWFsbHkgYXBwZWFyLiBUaGUgY29udGVudHMKLSAgICAgICAgICBvZiB0aGUgTk9USUNFIGZpbGUg
YXJlIGZvciBpbmZvcm1hdGlvbmFsIHB1cnBvc2VzIG9ubHkgYW5kCi0gICAgICAgICAgZG8gbm90
IG1vZGlmeSB0aGUgTGljZW5zZS4gWW91IG1heSBhZGQgWW91ciBvd24gYXR0cmlidXRpb24KLSAg
ICAgICAgICBub3RpY2VzIHdpdGhpbiBEZXJpdmF0aXZlIFdvcmtzIHRoYXQgWW91IGRpc3RyaWJ1
dGUsIGFsb25nc2lkZQotICAgICAgICAgIG9yIGFzIGFuIGFkZGVuZHVtIHRvIHRoZSBOT1RJQ0Ug
dGV4dCBmcm9tIHRoZSBXb3JrLCBwcm92aWRlZAotICAgICAgICAgIHRoYXQgc3VjaCBhZGRpdGlv
bmFsIGF0dHJpYnV0aW9uIG5vdGljZXMgY2Fubm90IGJlIGNvbnN0cnVlZAotICAgICAgICAgIGFz
IG1vZGlmeWluZyB0aGUgTGljZW5zZS4KLQotICAgICAgWW91IG1heSBhZGQgWW91ciBvd24gY29w
eXJpZ2h0IHN0YXRlbWVudCB0byBZb3VyIG1vZGlmaWNhdGlvbnMgYW5kCi0gICAgICBtYXkgcHJv
dmlkZSBhZGRpdGlvbmFsIG9yIGRpZmZlcmVudCBsaWNlbnNlIHRlcm1zIGFuZCBjb25kaXRpb25z
Ci0gICAgICBmb3IgdXNlLCByZXByb2R1Y3Rpb24sIG9yIGRpc3RyaWJ1dGlvbiBvZiBZb3VyIG1v
ZGlmaWNhdGlvbnMsIG9yCi0gICAgICBmb3IgYW55IHN1Y2ggRGVyaXZhdGl2ZSBXb3JrcyBhcyBh
IHdob2xlLCBwcm92aWRlZCBZb3VyIHVzZSwKLSAgICAgIHJlcHJvZHVjdGlvbiwgYW5kIGRpc3Ry
aWJ1dGlvbiBvZiB0aGUgV29yayBvdGhlcndpc2UgY29tcGxpZXMgd2l0aAotICAgICAgdGhlIGNv
bmRpdGlvbnMgc3RhdGVkIGluIHRoaXMgTGljZW5zZS4KLQotICAgNS4gU3VibWlzc2lvbiBvZiBD
b250cmlidXRpb25zLiBVbmxlc3MgWW91IGV4cGxpY2l0bHkgc3RhdGUgb3RoZXJ3aXNlLAotICAg
ICAgYW55IENvbnRyaWJ1dGlvbiBpbnRlbnRpb25hbGx5IHN1Ym1pdHRlZCBmb3IgaW5jbHVzaW9u
IGluIHRoZSBXb3JrCi0gICAgICBieSBZb3UgdG8gdGhlIExpY2Vuc29yIHNoYWxsIGJlIHVuZGVy
IHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZgotICAgICAgdGhpcyBMaWNlbnNlLCB3aXRob3V0
IGFueSBhZGRpdGlvbmFsIHRlcm1zIG9yIGNvbmRpdGlvbnMuCi0gICAgICBOb3R3aXRoc3RhbmRp
bmcgdGhlIGFib3ZlLCBub3RoaW5nIGhlcmVpbiBzaGFsbCBzdXBlcnNlZGUgb3IgbW9kaWZ5Ci0g
ICAgICB0aGUgdGVybXMgb2YgYW55IHNlcGFyYXRlIGxpY2Vuc2UgYWdyZWVtZW50IHlvdSBtYXkg
aGF2ZSBleGVjdXRlZAotICAgICAgd2l0aCBMaWNlbnNvciByZWdhcmRpbmcgc3VjaCBDb250cmli
dXRpb25zLgotCi0gICA2LiBUcmFkZW1hcmtzLiBUaGlzIExpY2Vuc2UgZG9lcyBub3QgZ3JhbnQg
cGVybWlzc2lvbiB0byB1c2UgdGhlIHRyYWRlCi0gICAgICBuYW1lcywgdHJhZGVtYXJrcywgc2Vy
dmljZSBtYXJrcywgb3IgcHJvZHVjdCBuYW1lcyBvZiB0aGUgTGljZW5zb3IsCi0gICAgICBleGNl
cHQgYXMgcmVxdWlyZWQgZm9yIHJlYXNvbmFibGUgYW5kIGN1c3RvbWFyeSB1c2UgaW4gZGVzY3Jp
YmluZyB0aGUKLSAgICAgIG9yaWdpbiBvZiB0aGUgV29yayBhbmQgcmVwcm9kdWNpbmcgdGhlIGNv
bnRlbnQgb2YgdGhlIE5PVElDRSBmaWxlLgotCi0gICA3LiBEaXNjbGFpbWVyIG9mIFdhcnJhbnR5
LiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IKLSAgICAgIGFncmVlZCB0byBp
biB3cml0aW5nLCBMaWNlbnNvciBwcm92aWRlcyB0aGUgV29yayAoYW5kIGVhY2gKLSAgICAgIENv
bnRyaWJ1dG9yIHByb3ZpZGVzIGl0cyBDb250cmlidXRpb25zKSBvbiBhbiAiQVMgSVMiIEJBU0lT
LAotICAgICAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVp
dGhlciBleHByZXNzIG9yCi0gICAgICBpbXBsaWVkLCBpbmNsdWRpbmcsIHdpdGhvdXQgbGltaXRh
dGlvbiwgYW55IHdhcnJhbnRpZXMgb3IgY29uZGl0aW9ucwotICAgICAgb2YgVElUTEUsIE5PTi1J
TkZSSU5HRU1FTlQsIE1FUkNIQU5UQUJJTElUWSwgb3IgRklUTkVTUyBGT1IgQQotICAgICAgUEFS
VElDVUxBUiBQVVJQT1NFLiBZb3UgYXJlIHNvbGVseSByZXNwb25zaWJsZSBmb3IgZGV0ZXJtaW5p
bmcgdGhlCi0gICAgICBhcHByb3ByaWF0ZW5lc3Mgb2YgdXNpbmcgb3IgcmVkaXN0cmlidXRpbmcg
dGhlIFdvcmsgYW5kIGFzc3VtZSBhbnkKLSAgICAgIHJpc2tzIGFzc29jaWF0ZWQgd2l0aCBZb3Vy
IGV4ZXJjaXNlIG9mIHBlcm1pc3Npb25zIHVuZGVyIHRoaXMgTGljZW5zZS4KLQotICAgOC4gTGlt
aXRhdGlvbiBvZiBMaWFiaWxpdHkuIEluIG5vIGV2ZW50IGFuZCB1bmRlciBubyBsZWdhbCB0aGVv
cnksCi0gICAgICB3aGV0aGVyIGluIHRvcnQgKGluY2x1ZGluZyBuZWdsaWdlbmNlKSwgY29udHJh
Y3QsIG9yIG90aGVyd2lzZSwKLSAgICAgIHVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxh
dyAoc3VjaCBhcyBkZWxpYmVyYXRlIGFuZCBncm9zc2x5Ci0gICAgICBuZWdsaWdlbnQgYWN0cykg
b3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNoYWxsIGFueSBDb250cmlidXRvciBiZQotICAgICAg
bGlhYmxlIHRvIFlvdSBmb3IgZGFtYWdlcywgaW5jbHVkaW5nIGFueSBkaXJlY3QsIGluZGlyZWN0
LCBzcGVjaWFsLAotICAgICAgaW5jaWRlbnRhbCwgb3IgY29uc2VxdWVudGlhbCBkYW1hZ2VzIG9m
IGFueSBjaGFyYWN0ZXIgYXJpc2luZyBhcyBhCi0gICAgICByZXN1bHQgb2YgdGhpcyBMaWNlbnNl
IG9yIG91dCBvZiB0aGUgdXNlIG9yIGluYWJpbGl0eSB0byB1c2UgdGhlCi0gICAgICBXb3JrIChp
bmNsdWRpbmcgYnV0IG5vdCBsaW1pdGVkIHRvIGRhbWFnZXMgZm9yIGxvc3Mgb2YgZ29vZHdpbGws
Ci0gICAgICB3b3JrIHN0b3BwYWdlLCBjb21wdXRlciBmYWlsdXJlIG9yIG1hbGZ1bmN0aW9uLCBv
ciBhbnkgYW5kIGFsbAotICAgICAgb3RoZXIgY29tbWVyY2lhbCBkYW1hZ2VzIG9yIGxvc3Nlcyks
IGV2ZW4gaWYgc3VjaCBDb250cmlidXRvcgotICAgICAgaGFzIGJlZW4gYWR2aXNlZCBvZiB0aGUg
cG9zc2liaWxpdHkgb2Ygc3VjaCBkYW1hZ2VzLgotCi0gICA5LiBBY2NlcHRpbmcgV2FycmFudHkg
b3IgQWRkaXRpb25hbCBMaWFiaWxpdHkuIFdoaWxlIHJlZGlzdHJpYnV0aW5nCi0gICAgICB0aGUg
V29yayBvciBEZXJpdmF0aXZlIFdvcmtzIHRoZXJlb2YsIFlvdSBtYXkgY2hvb3NlIHRvIG9mZmVy
LAotICAgICAgYW5kIGNoYXJnZSBhIGZlZSBmb3IsIGFjY2VwdGFuY2Ugb2Ygc3VwcG9ydCwgd2Fy
cmFudHksIGluZGVtbml0eSwKLSAgICAgIG9yIG90aGVyIGxpYWJpbGl0eSBvYmxpZ2F0aW9ucyBh
bmQvb3IgcmlnaHRzIGNvbnNpc3RlbnQgd2l0aCB0aGlzCi0gICAgICBMaWNlbnNlLiBIb3dldmVy
LCBpbiBhY2NlcHRpbmcgc3VjaCBvYmxpZ2F0aW9ucywgWW91IG1heSBhY3Qgb25seQotICAgICAg
b24gWW91ciBvd24gYmVoYWxmIGFuZCBvbiBZb3VyIHNvbGUgcmVzcG9uc2liaWxpdHksIG5vdCBv
biBiZWhhbGYKLSAgICAgIG9mIGFueSBvdGhlciBDb250cmlidXRvciwgYW5kIG9ubHkgaWYgWW91
IGFncmVlIHRvIGluZGVtbmlmeSwKLSAgICAgIGRlZmVuZCwgYW5kIGhvbGQgZWFjaCBDb250cmli
dXRvciBoYXJtbGVzcyBmb3IgYW55IGxpYWJpbGl0eQotICAgICAgaW5jdXJyZWQgYnksIG9yIGNs
YWltcyBhc3NlcnRlZCBhZ2FpbnN0LCBzdWNoIENvbnRyaWJ1dG9yIGJ5IHJlYXNvbgotICAgICAg
b2YgeW91ciBhY2NlcHRpbmcgYW55IHN1Y2ggd2FycmFudHkgb3IgYWRkaXRpb25hbCBsaWFiaWxp
dHkuCi0KLSAgIEVORCBPRiBURVJNUyBBTkQgQ09ORElUSU9OUwotCi0gICBBUFBFTkRJWDogSG93
IHRvIGFwcGx5IHRoZSBBcGFjaGUgTGljZW5zZSB0byB5b3VyIHdvcmsuCi0KLSAgICAgIFRvIGFw
cGx5IHRoZSBBcGFjaGUgTGljZW5zZSB0byB5b3VyIHdvcmssIGF0dGFjaCB0aGUgZm9sbG93aW5n
Ci0gICAgICBib2lsZXJwbGF0ZSBub3RpY2UsIHdpdGggdGhlIGZpZWxkcyBlbmNsb3NlZCBieSBi
cmFja2V0cyAiW10iCi0gICAgICByZXBsYWNlZCB3aXRoIHlvdXIgb3duIGlkZW50aWZ5aW5nIGlu
Zm9ybWF0aW9uLiAoRG9uJ3QgaW5jbHVkZQotICAgICAgdGhlIGJyYWNrZXRzISkgIFRoZSB0ZXh0
IHNob3VsZCBiZSBlbmNsb3NlZCBpbiB0aGUgYXBwcm9wcmlhdGUKLSAgICAgIGNvbW1lbnQgc3lu
dGF4IGZvciB0aGUgZmlsZSBmb3JtYXQuIFdlIGFsc28gcmVjb21tZW5kIHRoYXQgYQotICAgICAg
ZmlsZSBvciBjbGFzcyBuYW1lIGFuZCBkZXNjcmlwdGlvbiBvZiBwdXJwb3NlIGJlIGluY2x1ZGVk
IG9uIHRoZQotICAgICAgc2FtZSAicHJpbnRlZCBwYWdlIiBhcyB0aGUgY29weXJpZ2h0IG5vdGlj
ZSBmb3IgZWFzaWVyCi0gICAgICBpZGVudGlmaWNhdGlvbiB3aXRoaW4gdGhpcmQtcGFydHkgYXJj
aGl2ZXMuCi0KLSAgIENvcHlyaWdodCBbeXl5eV0gW25hbWUgb2YgY29weXJpZ2h0IG93bmVyXQot
Ci0gICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUg
IkxpY2Vuc2UiKTsKLSAgIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBs
aWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KLSAgIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUg
TGljZW5zZSBhdAotCi0gICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VO
U0UtMi4wCi0KLSAgIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQg
dG8gaW4gd3JpdGluZywgc29mdHdhcmUKLSAgIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNl
IGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCi0gICBXSVRIT1VUIFdBUlJBTlRJ
RVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4K
LSAgIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBw
ZXJtaXNzaW9ucyBhbmQKLSAgIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL01ha2VmaWxlIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL01h
a2VmaWxlCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkNTE3NDY2ZTQ4ZDJhNGIyODRm
YzQzOTdiNDJlMjE1MjM2YzRjYTFiLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9NYWtlZmlsZQorKysgL2Rldi9udWxsCkBA
IC0xLDE1OCArMCwwIEBACi0jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKLSMgJElkJAotIyBDb3B5cmlnaHQgMjAw
OSBBcGxpeCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSMgTGljZW5zZWQgdW5k
ZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7Ci0jIHlv
dSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGlj
ZW5zZS4KLSMgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0Ci0jICAgICBo
dHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKLSMgVW5sZXNzIHJlcXVp
cmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQot
IyBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMg
SVMiIEJBU0lTLAotIyBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lO
RCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KLSMgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUg
c3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAotIyBsaW1pdGF0aW9u
cyB1bmRlciB0aGUgTGljZW5zZS4KLSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwotCi1VTkFNRSA9ICQoc2hlbGwg
dW5hbWUpCi1JTkNESVJTID0gJChPQkpESVIpCi1TUkNESVIgPSBzcmMKLURPQ0RJUiA9IGRvYwot
RVhBTVBMRVNESVIgPSBleGFtcGxlcwotT0JKRElSID0gb2JqCi0KLSMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwot
IyBMaW51eCBjb25maWd1cmF0aW9uCi0jCi1pZm5lcSAoLCQoZmlsdGVyIExpbnV4JSwgJChVTkFN
RSkpKSAKLQotQ0ZMQUdTID0gLWcgLVdhbGwgLVdlcnJvciAtTzAgJChwYXRzdWJzdCAlLCAtSSUs
ICQoSU5DRElSUykpCi1PQkpTVUZGSVggPSAubwotRVhFU1VGRklYID0KLSNMSUJTID0gLWxlZmVu
Y2UKLU9CSk9QVElPTiA9IC1vCi1FWEVPUFRJT04gPSAtbwotCi1lbHNlCi0jIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMKLSMgRGFyd2luIGNvbmZpZ3VyYXRpb24KLSMKLWlmbmVxICgsJChmaWx0ZXIgRGFyd2luJSwg
JChVTkFNRSkpKSAKLQotQ0ZMQUdTID0gLWcgLVdhbGwgLVdlcnJvciAtTzIgJChwYXRzdWJzdCAl
LCAtSSUsICQoSU5DRElSUykpCi1PQkpTVUZGSVggPSAubwotRVhFU1VGRklYID0KLU9CSk9QVElP
TiA9IC1vCi0jIFRoZSAtbyBpbiB0aGUgZm9sbG93aW5nIGxpbmUgaGFzIGEgc3BhY2UgYWZ0ZXIg
aXQsIHdoaWNoIG11c3Qgbm90IGJlIHJlbW92ZWQuCi1FWEVPUFRJT04gPSAtbyAKLQotZWxzZQot
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjCi0jIFdpbmRvd3MgKGN5Z3dpbiBidXQgdXNpbmcgTVMgY29tcGlsZXIp
IGNvbmZpZ3VyYXRpb24KLSMKLSMgdGhpcyBpcyBtZXNzeSAtIHNob3VsZCBwcm9iYWJseSB1c2Ug
dmN2YXJzLmJhdAotaWZuZXEgKCwkKGZpbHRlciBDWUdXSU4lLCAkKFVOQU1FKSkpIAotVklTVUFM
U1RVRElPRElSID0gJCh3aWxkY2FyZCAvY3lnZHJpdmUvYy9Qcm9ncmFtKkZpbGVzL01pY3Jvc29m
dCpWaXN1YWwqU3R1ZGlvKjgpCi1TREtESVIgPSAkKHdpbGRjYXJkIC9jeWdkcml2ZS9jL1Byb2dy
YW0qRmlsZXMvTWljcm9zb2Z0KlNES3MvV2luZG93cy8qL0xpYikKLWlmZXEgKCwkKFZJU1VBTFNU
VURJT0RJUikpCi1WSVNVQUxTVFVESU9ESVIgPSAkKHdpbGRjYXJkIC9jeWdkcml2ZS9jL1Byb2dy
YW1cIEZpbGVzXCAqL01pY3Jvc29mdCpWaXN1YWwqU3R1ZGlvKjEwKikKLWVuZGlmCi1pZmVxICgs
JChWSVNVQUxTVFVESU9ESVIpKQotVklTVUFMU1RVRElPRElSID0gJCh3aWxkY2FyZCAvY3lnZHJp
dmUvYy9Qcm9ncmFtXCBGaWxlc1wgKi9NaWNyb3NvZnQqVmlzdWFsKlN0dWRpbyoxMSopCi1lbmRp
ZgotIyB0aGlzIGlzIHJldmVsdmFudCBmb3IgdnMyMDEyIGFuZCB3aW5kb3dzIDggLSBzZGsgbG9j
YXRpb24gaGFzIGNoYW5nZWQKLWlmZXEgKCwkKFNES0RJUikpCi1TREtESVIgPSAkKHdpbGRjYXJk
IC9jeWdkcml2ZS9jL1Byb2dyYW1cIEZpbGVzXCAqL1dpbmRvd3MqS2l0cykKLWVuZGlmCi0KLWlm
ZXEgKCwkKFZJU1VBTFNUVURJT0RJUikpCi0kKGVycm9yIENvdWxkIG5vdCBmaW5kICBNUyBWaXN1
YWwgU3R1ZGlvKSAKLWVsc2UKLVdJTlZJU1VBTFNUVURJT0RJUiA9ICQoc2hlbGwgY3lncGF0aCAt
dyAnJChWSVNVQUxTVFVESU9ESVIpJykKLVdJTlNES0RJUiA9ICQoc2hlbGwgY3lncGF0aCAtdyAn
JChTREtESVIpJykKLQotIyQoZXJyb3IgJChWSVNVQUxTVFVESU9ESVIpKSAKLQotQ0MgPSBcCi0J
TGliPSckKFdJTlZJU1VBTFNUVURJT0RJUilcVkNcTElCOyQoV0lOVklTVUFMU1RVRElPRElSKVxW
Q1xQbGF0Zm9ybVNES1xMaWI7JChXSU5TREtESVIpJyBcCi0JUEFUSD0nJChWSVNVQUxTVFVESU9E
SVIpL0NvbW1vbjcvSURFOiQoVklTVUFMU1RVRElPRElSKS9WQy9CSU46JChWSVNVQUxTVFVESU9E
SVIpL0NvbW1vbjcvVG9vbHM6JChWSVNVQUxTVFVESU9ESVIpL1NESy92Mi4wL2JpbjokKFZJU1VB
TFNUVURJT0RJUikvOC4wL0xpYi93aW44L3VtL3g4NjonJCRQQVRIIFwKLQlJbmNsdWRlPSckKFdJ
TlZJU1VBTFNUVURJT0RJUilcVkNcSU5DTFVERTskKFdJTlZJU1VBTFNUVURJT0RJUilcVkNcUGxh
dGZvcm1TREtcSW5jbHVkZScgXAotCWNsCi1lbmRpZgotCi1DRkxBR1MgPSAvbm9sb2dvIC9XWCAv
VzMgL3dkNDk5NiAvWmkgL08yICQocGF0c3Vic3QgJSwgL0klLCAkKElOQ0RJUlMpKQotT0JKU1VG
RklYID0gLm9iagotRVhFU1VGRklYID0gLmV4ZQotT0JKT1BUSU9OID0gL0ZvCi1FWEVPUFRJT04g
PSAvRmUKLQotZW5kaWYKLWVuZGlmCi1lbmRpZgotCi0jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKLSMgQ29tbW9u
IG1ha2VmaWxlCi0jCi1XSURMUFJPQyA9ICQoT0JKRElSKS93aWRscHJvYyQoRVhFU1VGRklYKQot
RFREID0gJChPQkpESVIpL3dpZGxwcm9jeG1sLmR0ZAotCi1BTEwgPSAkKFdJRExQUk9DKSAkKERU
RCkKLWFsbCA6ICQoQUxMKQotCi1TUkNTID0gXAotCWNvbW1lbnQuYyBcCi0JbGV4LmMgXAotCW1h
aW4uYyBcCi0JbWlzYy5jIFwKLQlub2RlLmMgXAotCXBhcnNlLmMgXAotCXByb2Nlc3MuYwotCi1P
QkpTID0gJChwYXRzdWJzdCAlLmMsICQoT0JKRElSKS8lJChPQkpTVUZGSVgpLCAkKFNSQ1MpKQot
JChXSURMUFJPQykgOiAkKE9CSlMpCi0JJChDQykgJChDRkxBR1MpICQoRVhFT1BUSU9OKSRAICRe
ICQoTElCUykKLQotJChPQkpESVIpLyUkKE9CSlNVRkZJWCkgOiAkKFNSQ0RJUikvJS5jCi0JbWtk
aXIgLXAgJChkaXIgJEApCi0JJChDQykgJChDRkxBR1MpICQoT0JKT1BUSU9OKSRAIC1jICQ8Ci0K
LSQoT0JKRElSKS8lLmQgOiAkKFNSQ0RJUikvJS5jCi0JbWtkaXIgLXAgJChkaXIgJEApCi0JY2Mg
JChwYXRzdWJzdCAlLCAtSSUsICQoSU5DRElSUykpIC1NTSAtTUcgLU1UICQocGF0c3Vic3QgJS5k
LCAlJChPQkpTVUZGSVgpLCAkQCkgJDwgfCBzZWQgJyQocGF0c3Vic3QgJSwgc3wgXCglXCl8ICQo
T0JKRElSKS9cMXw7LCAkKEFVVE9HRU5IRUFERVJTKSknID4kQAotCi1pbmNsdWRlICQocGF0c3Vi
c3QgJS5jLCAkKE9CSkRJUikvJS5kLCAkKFNSQ1MpKQotCi0KLSQoRFREKSA6ICQoRE9DRElSKS9o
dG1sdG9kdGQueHNsICQoRE9DRElSKS93aWRscHJvYy5odG1sCi0JeHNsdHByb2MgLWh0bWwgJF4g
PiRACi0KLWNsZWFuIDoKLQlybSAtZiAkKEFMTCkgJChPQkpTKQotCi12ZXJ5Y2xlYW4gOgotCXJt
IC1yZiAkKE9CSkRJUikKLQotU1ZORklMRVMgPSAkKHNoZWxsIHRlc3QgLWQgLnN2biAmJiBzdm4g
aW5mbyAtUiAuIHwgc2VkIC1uICdzL15QYXRoOiBcKC4qXCkkJC9cMS9wJykKLVNWTkJSQU5DSCA9
ICQoc2hlbGwgdGVzdCAtZCAuc3ZuICYmIHN2biBpbmZvIC4gfCBzZWQgLW4gJ3N8XlVSTDouKi9c
KFteL10qXCkkJHxcMXxwJykKLVNWTlJFViA9ICQoc2hlbGwgdGVzdCAtZCAuc3ZuICYmIHN2biBp
bmZvIC1SIC4gfCBzZWQgLW4gJ3MvXkxhc3QgQ2hhbmdlZCBSZXY6IFwoWzAtOV1bMC05XSpcKSQk
L1wxL3AnIHwgc29ydCAtZyB8IHRhaWwgLTEpCi0KLVNWTkxPRyA9IGhpc3RvcnkKLSQoU1ZOTE9H
KSA6ICQoU1ZORklMRVMpCi0Jc3ZuIGxvZyAtdnJIRUFEOjMxMSA+JEAKLQotemlwIDogJChPQkpE
SVIpL3dpZGxwcm9jLSQoU1ZOQlJBTkNIKSQoU1ZOUkVWKS56aXAKLSQoT0JKRElSKS93aWRscHJv
Yy0kKFNWTkJSQU5DSCkkKFNWTlJFVikuemlwIDogJChXSURMUFJPQykgJChEVEQpICQoRE9DRElS
KS93aWRscHJvYy5odG1sICQoU1JDRElSKS93aWRscHJvY3htbHRvaHRtbC54c2wgTWFrZWZpbGUg
JChTVk5MT0cpCi0Jcm0gLWYgJEAKLQl6aXAgLWogJEAgJF4gLXggTWFrZWZpbGUKLQl6aXAgJEAg
ZXhhbXBsZXMvKi53aWRsIGV4YW1wbGVzLyouY3NzIGV4YW1wbGVzL01ha2VmaWxlIGV4YW1wbGVz
L1JFQURNRSBleGFtcGxlcy8qLnhzbCBleGFtcGxlcy8qLmh0bWwKLQotc3JjemlwIDogd2lkbHBy
b2Mtc3JjLSQoU1ZOQlJBTkNIKSQoU1ZOUkVWKS56aXAKLQotd2lkbHByb2Mtc3JjLSUuemlwIDog
JChTVk5GSUxFUykgJChTVk5MT0cpCi0JemlwICRAICReIAotCi1leGFtcGxlcyA6Ci0JJChNQUtF
KSAtQyBleGFtcGxlcyBTUkNESVI9Li4vc3JjIE9CSkRJUj0uLi9vYmogRVhBTVBMRVNPQkpESVI9
Li4vb2JqL2V4YW1wbGVzCi0KLXRlc3QgOiAkKE9CSlMpCi0JJChNQUtFKSAtQyB0ZXN0IFNSQ0RJ
Uj0uLi9zcmMgT0JKRElSPS4uL29iagotCi0uREVMRVRFX09OX0VSUk9SOgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3dpZGxwcm9jL1JFQURNRS5tZCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9SRUFETUUu
bWQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDhlZDgyNGU3ZDlkODRkNDVlNmU2MDlh
M2E4YzliZDU2NDNlZWE3ZDcuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL1JFQURNRS5tZAorKysgL2Rldi9udWxsCkBAIC0x
LDQwICswLDAgQEAKLSMgVXNlcwotCi13aWRscHJvYyBjYW4gYmUgdXNlZCB0byB2YWxpZGF0ZSBX
ZWJJREwgaW4gVzNDIHNwZWNpZmljYXRpb25zLiBJdCBzZXJ2ZXMgYXMgdGhlIGJhc2lzIGZvciB0
aGUgW1czQyBXZWIgSURMIG9uLWxpbmUgY2hlY2tlcl0oaHR0cDovL3d3dy53My5vcmcvMjAwOS8w
Ny93ZWJpZGwtY2hlY2spLgotCi13aWRscHJvYydzIGdlbmVyYXRlZCBYTUwgaXMgdXNlZCB0byBn
ZW5lcmF0ZSBbd2ViaW5vcyBKYXZhU2NyaXB0IEFQSXMgc3BlY2lmaWNhdGlvbnNdKGh0dHA6Ly9k
ZXYud2ViaW5vcy5vcmcvc3BlY2lmaWNhdGlvbnMvZHJhZnQvKS4KLQotIyBMaWNlbnNlCi0KLXdp
ZGxwcm9jIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgMiBMaWNlbnNlLgotCi0jIE90aGVy
cwotCi1TZWUgYWxzbyBbd2ViaWRsLmpzXShodHRwczovL2dpdGh1Yi5jb20vZGFyb2Jpbi93ZWJp
ZGwuanMpLCBhIEphdmFTY3JpcHQtYmFzZWQgV2ViIElETCBwYXJzZXIgdXNlZCBieSB2YXJpb3Vz
IHRvb2xzIGluIFczQy4KLQotIyBDcmVkaXRzCi0KLU1vc3Qgb2YgdGhlIHdvcmsgb24gd2lkbHBy
b2Mgd2FzIGRvbmUgYnkgVGltIFJlbm91ZiBhbmQgUGFkZHkgQnllcnMuIEFwbGl4IGNvcnBvcmF0
aW9uIG93bnMgdGhlIGNvcHlyaWdodCBvZiB0aGUgY29kZSB1cCB0byBKdW5lIDIwMTEuCi0KLVRo
ZSB0b29sIGlzIGtlcHQgdXAgdG8gZGF0ZSB3aXRoIHRoZSBjaGFuZ2VzIGluIHRoZSBzcGVjIGJ5
IERvbWluaXF1ZSBIYXphZWwtTWFzc2lldXgsIHRocm91Z2ggZnVuZGluZyBmcm9tIHRoZSBbd2Vi
aW5vcyBwcm9qZWN0XShodHRwOi8vd2ViaW5vcy5vcmcvKSBzaW5jZSBKdW5lIDIwMTEuCi0KLSMg
RG9jdW1lbnRhdGlvbgotCi1TZWUgZG9jL3dpZGxwcm9jLmh0bWwgaW4gdGhlIHRyZWUuCi0KLSMg
QnVpbGQgSW5zdHJ1Y3Rpb25zCi0KLSMjIFdpbmRvd3MKLQotSW5zdGFsbCByZXF1aXJlbWVudHMK
LSogQ3lnd2luIC0gbXVzdCBpbnN0YWxsIG11c3QgaW5zdGFsbCBsaWJzL2xpYnhzbHQKLSogVmlz
dWFsIFN0dWRpbyBleHByZXNzIDIwMTIgb3IgMjAxMCAoc2VlIGRpZmZlcmVuY2UgYmVsb3cpCi0K
LW1ha2VmaWxlIHVzZXMgY3lnd2luIG1ha2UuIFJlZmVyZW5jZXMgYXJlIGNvZGVkIGluIHRoZSBt
YWtlIGZpbGUgdG8gZGV0ZWN0IHRlaCBjdXJyZW50IHZlcnNpb24gb2YgdmlzdWFsIHN0dWRpbyAK
LQotIyBGdXR1cmUgd29yawotd2luZG93cyBidWlsZCBjb3VsZCBiZSBpbXByb3ZlZCB0byBoYW5k
bGUgbXVsdGlwZSB2ZXJzaW9ucyB3aXRoIHZjdmFycy5iYXQKLWh0dHA6Ly9zdGFja292ZXJmbG93
LmNvbS9xdWVzdGlvbnMvNjIwMjkvdnMyMDA4LWNvbW1hbmQtcHJvbXB0LWN5Z3dpbgotCi0KLQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL2RvYy9odG1sdG9kdGQueHNsIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3dpZGxwcm9jL2RvYy9odG1sdG9kdGQueHNsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCBkOGI3ZjU5NzNmYjEyZWY2OWFmZTRmMzNiYTU0ZjZmZWVjNjA4OThmLi4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9k
b2MvaHRtbHRvZHRkLnhzbAorKysgL2Rldi9udWxsCkBAIC0xLDI4ICswLDAgQEAKLTw/eG1sIHZl
cnNpb249IjEuMCIgZW5jb2Rpbmc9InVzLWFzY2lpIj8+Ci08IS0tPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLSRJZCQK
LUNvcHlyaWdodCAyMDA5IEFwbGl4IENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgot
TGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNl
bnNlIik7Ci15b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdp
dGggdGhlIExpY2Vuc2UuCi1Zb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQK
LSAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKLVVubGVzcyBy
ZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdh
cmUKLWRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJB
UyBJUyIgQkFTSVMsCi1XSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lO
RCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KLVNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNw
ZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKLWxpbWl0YXRpb25zIHVu
ZGVyIHRoZSBMaWNlbnNlLgotCi1TdHlsZXNoZWV0IHRvIGV4dHJhY3QgRFREIGZvciB3aWRscHJv
Y3htbCBmcm9tIHdpZGxwcm9jLmh0bWwKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PS0tPgotPHhzbDpzdHlsZXNoZWV0
IHhtbG5zOnhzbD0iaHR0cDovL3d3dy53My5vcmcvMTk5OS9YU0wvVHJhbnNmb3JtIiB2ZXJzaW9u
PSIxLjAiPgotPHhzbDpvdXRwdXQgbWV0aG9kPSJ0ZXh0IiBlbmNvZGluZz0idXMtYXNjaWkiIGlu
ZGVudD0ibm8iLz4KLQotPCEtLSA8cHJlIGNsYXNzPSJkdGQiPiBlbGVtZW50IC0tPgotPHhzbDp0
ZW1wbGF0ZSBtYXRjaD0icHJlW0BjbGFzcz0nZHRkJ10iPgotICAgIDx4c2w6dmFsdWUtb2Ygc2Vs
ZWN0PSIuIi8+Ci08L3hzbDp0ZW1wbGF0ZT4KLQotPCEtLUlnbm9yZSBvdGhlciB0ZXh0LiAtLT4K
LTx4c2w6dGVtcGxhdGUgbWF0Y2g9InRleHQoKSIgcHJpb3JpdHk9Ii0xMDAiLz4KLQotPC94c2w6
c3R5bGVzaGVldD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9kb2MvdzNjLWltcG9y
dC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvZG9jL3czYy1pbXBvcnQubG9nCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCA5Nzc0ODNjZTNlOTBhZmRkMDg2MDY3ZWI2MGJlNmRmZjA3NDVi
YzFmLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC93aWRscHJvYy9kb2MvdzNjLWltcG9ydC5sb2cKKysrIC9kZXYvbnVsbApAQCAtMSwxOSAr
MCwwIEBACi1UaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRo
ZSBXM0MgcmVwb3NpdG9yeS4KLURvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4g
V2ViS2l0LgotSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXM0MgQ1NTIG9y
IFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy10ZXN0Ci0JaHR0cHM6
Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMKLQotVGhlbiBydW4gdGhlIFRvb2xz
L1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKLQotRG8gTk9U
IG1vZGlmeSBvciByZW1vdmUgdGhpcyBmaWxlLgotCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLVByb3BlcnRp
ZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKLU5vbmUKLVByb3BlcnR5IHZhbHVlcyByZXF1
aXJpbmcgdmVuZG9yIHByZWZpeGVzOgotTm9uZQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1MaXN0IG9mIGZp
bGVzOgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9kb2MvaHRtbHRvZHRkLnhzbAotL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93
aWRscHJvYy9kb2Mvd2lkbHByb2MuaHRtbApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9j
L2RvYy93aWRscHJvYy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL2RvYy93aWRscHJvYy5odG1s
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0ZWI0MmMzOWJiOWMxMDRkNGU4MTZiNjM2
MjdhMzU3MmYyNjFkYWU2Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9kb2Mvd2lkbHByb2MuaHRtbAorKysgL2Rldi9udWxs
CkBAIC0xLDExMjQgKzAsMCBAQAotPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBI
VE1MIDQuMDEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIvaHRtbDQvc3RyaWN0LmR0ZCI+Ci08
IS0tPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLUNvcHlyaWdodCAyMDA5IEFwbGl4IENvcnBvcmF0aW9uLiBBbGwgcmln
aHRzIHJlc2VydmVkLgotTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9u
IDIuMCAodGhlICJMaWNlbnNlIik7Ci15b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBp
biBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCi1Zb3UgbWF5IG9idGFpbiBhIGNvcHkgb2Yg
dGhlIExpY2Vuc2UgYXQKLSAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5T
RS0yLjAKLVVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4g
d3JpdGluZywgc29mdHdhcmUKLWRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3Ry
aWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCi1XSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElU
SU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KLVNlZSB0aGUgTGlj
ZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQK
LWxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgotPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09LS0+Ci08aHRtbD4K
LTxoZWFkPgotPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0
bWw7IGNoYXJzZXQ9dXMtYXNjaWkiPgotPHRpdGxlPndpZGxwcm9jPC90aXRsZT4KLTxzdHlsZSB0
eXBlPSJ0ZXh0L2NzcyI+Ci0gICAgYm9keSB7IGNvbG9yOiBibGFjazsgZm9udDogMTBwdCB2ZXJk
YW5hOyB9Ci0gICAgYTpsaW5rIHsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9Ci0gICAgYTp2aXNp
dGVkIHsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9Ci0gICAgYTpob3ZlciB7IHRleHQtZGVjb3Jh
dGlvbjogdW5kZXJsaW5lOyB9Ci0gICAgZHQgeyBtYXJnaW4tdG9wOiAwLjVlbTsgfQotICAgIGRk
IHsgbWFyZ2luLWxlZnQ6IDFlbTsgbWFyZ2luLWJvdHRvbTogMC41ZW07IH0KLSAgICBsaSB7IG1h
cmdpbi1ib3R0b206IDA7IH0KLSAgICBoNCB7IGZvbnQtc2l6ZTogMTBwdDsgfQotICAgIHRhYmxl
IHsgYm9yZGVyOiAxcHggc29saWQ7IGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7IH0KLSAgICB0
ZCB7IGJvcmRlcjogMXB4IHNvbGlkOyB9Ci0gICAgdGggeyBib3JkZXI6IDFweCBzb2xpZDsgfQot
ICAgIGNvZGUgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmMGYwOyB9Ci0gICAgcHJlIHsgYmFja2dy
b3VuZC1jb2xvcjogI2YwZjBmMDsgfQotICAgIC5pbmRlbnQgeyBtYXJnaW4tbGVmdDogM2VtOyB9
Ci0gICAgLmlzc3VlIHsgYmFja2dyb3VuZC1jb2xvcjogIzAwQ0NDQzsgfQotPC9zdHlsZT4KLTwv
aGVhZD4KLTxib2R5PgotPGgxPndpZGxwcm9jPC9oMT4KLQotPHA+VGltIFJlbm91ZiwgQXBsaXgg
Q29ycDwvcD4KLTxwPiRJZCQKLTwvcD4KLQotPGgyPkludHJvZHVjdGlvbjwvaDI+Ci0KLTxwPgot
d2lkbHByb2MgaXMgYSBwcm9jZXNzb3IgdGhhdCBhY2NlcHRzIGFzIGlucHV0Ci08YSBocmVmPSIj
d2ViaWRsIj5XZWIgSURMPC9hPiAodGhlIDMwIFNlcHRlbWJlciAyMDA5IGVkaXRvcidzIGRyYWZ0
KSwKLXdpdGggY29tbWVudHMgaW4gYSBzdWJzZXQgb2YgdGhlIGZvcm1hdCB1c2VkIGJ5Ci08YSBo
cmVmPSIjZG94eWdlbiI+RG94eWdlbjwvYT4uCi1UaGUgZm9ybWF0IGl0IGFjY2VwdHMgaXMgcHJv
cG9zZWQgYnkgQXBsaXggZm9yIGF1dGhvcmluZwotPGEgaHJlZj0iI2JvbmRpIj5CT05ESTwvYT4g
aW50ZXJmYWNlIGRlZmluaXRpb25zLgotPC9wPgotCi08cD4KLVRoZSBvdXRwdXQgb2Ygd2lkbHBy
b2MgaXMgYW4gWE1MIHJlcHJlc2VudGF0aW9uIG9mIHRoZQotPGEgaHJlZj0iI3dlYmlkbCI+V2Vi
IElETDwvYT4gaW5wdXQsCi13aXRoIGFkZGVkIFhNTCBlbGVtZW50cyByZXByZXNlbnRpbmcgdGhl
Ci08YSBocmVmPSIjZG94eWdlbiI+RG94eWdlbjwvYT4tbGlrZSBjb21tZW50cy4KLTwvcD4KLQot
PGgyPlVzYWdlPC9oMj4KLQotPHA+Ci08Y29kZT53aWRscHJvYyA8aT5maWxlbmFtZTwvaT48L2Nv
ZGU+Ci08L3A+Ci0KLTxwPgotd2lkbHByb2MgcmVhZHMgdGhlIGZpbGUgbmFtZWQgPGVtPmZpbGVu
YW1lPC9lbT4sIGFuZCAKLXNlbmRzIGl0cyBYTUwgb3V0cHV0IGZvcm1hdCB0byBzdGRvdXQuCi08
L3A+Ci0KLTxoMj5JbnB1dCBmb3JtYXQ8L2gyPgotCi08cD4KLVRoZSBpbnB1dCBmb3JtYXQgYWNj
ZXB0ZWQgYnkgd2lkbHByb2MgaXMKLTxhIGhyZWY9IiN3ZWJpZGwiPldlYiBJREw8L2E+Ci0od2l0
aCBhbiBleHRlbnNpb24gdXNlZCBpbiB0aGUKLTxhIGhyZWY9IiN3M2NnZW8iPlczQyBHZW9sb2Nh
dGlvbiBBUEk8L2E+KSwKLXdpdGggY29tbWVudHMgaW4gYSBmb3JtYXQgcmVtaW5pc2NlbnQgb2Yg
dGhhdCB1c2VkIGJ5Ci08YSBocmVmPSIjZG94eWdlbiI+RG94eWdlbjwvYT4uCi08L3A+Ci0KLTxo
Mz5XZWIgSURMIGV4dGVuc2lvbiBmcm9tIFczQyBnZW9sb2NhdGlvbiBBUEk8L2gzPgotCi08aDQ+
ZG91YmxlPC9oND4KLQotPHA+Ci08Y29kZT5kb3VibGU8L2NvZGU+IGlzIGFsbG93ZWQgYXMgYSBE
ZWNsYXJhdGlvblR5cGUgb3IgYSBCb3hlZFR5cGUuCi08L3A+Ci0KLTxoMz5Eb3h5Z2VuLWxpa2Ug
Y29tbWVudCBpbnRyb2R1Y3Rpb248L2gzPgotCi08cD4KLU9ubHkgYSBzbWFsbCBzdWJzZXQgb2Yg
RG94eWdlbiBmdW5jdGlvbmFsaXR5IGlzIHN1cHBvcnRlZCBieQotd2lkbHByb2MsIHBsdXMgYWRk
aXRpb25zIHRvIGhhbmRsZSB0aGUgQk9OREkgY29uY2VwdHMgb2YgQVBJIGZlYXR1cmVzCi1hbmQg
ZGV2aWNlIGNhcGFiaWxpdGllcy4KLTwvcD4KLQotPHA+Ci1JbiBwYXJ0aWN1bGFyLCBubyBsaW5r
cyBhcmUgYWRkZWQgYXV0b21hdGljYWxseS4gKFRoaXMgY291bGQgYmUgYWRkZWQKLWluIHRoZSBm
dXR1cmUuKQotPC9wPgotCi08aDM+RG94eWdlbiBjb21tZW50IGJsb2NrPC9oMz4KLQotPGg0PkNv
bW1lbnQgcmVmZXJyYWwgcG9pbnQ8L2g0PgotCi08cD4KLUVhY2ggPGVtPkRveHlnZW4gY29tbWVu
dCBibG9jazwvZW0+IHJlZmVycyB0byBhIDxlbT5jb21tZW50IHJlZmVycmFsCi1wb2ludDwvZW0+
IGluIHRoZSBXZWIgSURMLCBvbmUgb2YKLW1vZHVsZSwgaW50ZXJmYWNlLCBleGNlcHRpb24sIGNv
bnN0LCBhdHRyaWJ1dGUsIG9wZXJhdGlvbiBvciBhcmd1bWVudC4KLTwvcD4KLQotPGg0PkJsb2Nr
IGNvbW1lbnQ8L2g0PgotCi08cD4KLUEgYmxvY2sgY29tbWVudCAoZGVsaW1pdGVkIGJ5IDxjb2Rl
Pi8qICovPC9jb2RlPikgd2hvc2UgZmlyc3QgY2hhcmFjdGVyCi1hZnRlciB0aGUgPGNvZGU+Lyo8
L2NvZGU+IGlzIDxjb2RlPiE8L2NvZGU+IG9yIGEgc2Vjb25kIDxjb2RlPio8L2NvZGU+Ci1pcyBh
IDxlbT5Eb3h5Z2VuIGNvbW1lbnQgYmxvY2s8L2VtPi4KLTwvcD4KLQotPHA+Ci1Ob3JtYWxseSB0
aGUgY29tbWVudCBibG9jayByZWZlcnMgdG8gdGhlIG5leHQgY29tbWVudCByZWZlcnJhbCBwb2lu
dCBpbgotdGhlIFdlYiBJREwuCi1JZiB0aGUgZmlyc3QgY2hhcmFjdGVyIGlzIDxjb2RlPiZsdDs8
L2NvZGU+LCBzbyB0aGUgY29tbWVudCBibG9jayBpcyBpbnRyb2R1Y2VkCi13aXRoIDxjb2RlPi8q
KiZsdDs8L2NvZGU+IG9yIDxjb2RlPi8qISZsdDs8L2NvZGU+ICwgdGhlbiB0aGUgY29tbWVudCBi
bG9jawotcmVmZXJzIGJhY2sgdG8gdGhlIHByZXZpb3VzIGNvbW1lbnQgcmVmZXJyYWwgcG9pbnQu
Ci08L3A+Ci0KLTxwPgotVGhlIHRleHQgb2YgdGhlIGNvbW1lbnQgYmxvY2sKLWV4Y2x1ZGVzIHRo
ZSBpbml0aWFsIDxjb2RlPiE8L2NvZGU+IG9yIDxjb2RlPio8L2NvZGU+IChhbmQgdGhlIDxjb2Rl
PiZsdDs8L2NvZGU+Ci1mb3IgYSByZWZlcnJpbmcgYmFjayBibG9jayksCi1hbmQgZXhjbHVkZXMg
YW4gaW5pdGlhbCAoYWZ0ZXIgd2hpdGVzcGFjZSkgPGNvZGU+KjwvY29kZT4KLW9uIGVhY2ggbGlu
ZSwKLWFuZCwgd2hlbiBub3QgaW4gYSA8YSBocmVmPSIjY29kZSI+PGNvZGU+XGNvZGU8L2NvZGU+
PC9hPiBibG9jaywKLWV4Y2x1ZGVzIGFueSBsaW5lIGNvbnNpc3RpbmcgZW50aXJlbHkgb2Ygd2hp
dGVzcGFjZSwgdGhlbiA8Y29kZT4qPC9jb2RlPgotY2hhcmFjdGVycywgdGhlbiB3aGl0ZXNwYWNl
LgotPC9wPgotCi08cD4KLXdpZGxwcm9jIGRvZXMgbm90IHN1cHBvcnQgRG94eWdlbiBjb21tYW5k
cyB0byBmb3JjZSBhIGNvbW1lbnQKLWJsb2NrIHRvIHJlZmVyIHRvIGEgZGlmZmVyZW50IHJlZmVy
cmFsIHBvaW50LgotPC9wPgotCi08aDQ+SW5saW5lIGNvbW1lbnRzPC9oND4KLQotPHA+Ci1UaGUg
bWF4aW1hbCBzZXF1ZW5jZSBvZiBpbmxpbmUgY29tbWVudHMgKGRlbGltaXRlZCBieSA8Y29kZT4v
LzwvY29kZT4pCi1vbiBhZGphY2VudCBsaW5lcywgd2hlcmUgYWxsIG9mIHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucyBob2xkOgotPC9wPgotPHVsPgotPGxpPgotZWFjaCBoYXMgYSBmaXJzdCBjaGFy
YWN0ZXIgYWZ0ZXIgdGhlIDxjb2RlPi88L2NvZGU+IG9mIDxjb2RlPiE8L2NvZGU+IG9yCi1hIHRo
aXJkIDxjb2RlPi88L2NvZGU+OwotPGxpPgotbm8gY29tbWVudCByZWZlcnJhbCBwb2ludCBpbnRl
cnZlbmVzOwotPGxpPgotZWl0aGVyIGVhY2ggY29tbWVudCBpbiB0aGUgc2VxdWVuY2Ugc3RhcnRz
IHdpdGggYSA8Y29kZT4mbHQ7PC9jb2RlPgotKHNlZSBiZWxvdyksIG9yIG5vbmUgZG9lczsKLTxs
aT4KLXRoZSBzZXF1ZW5jZSBjb250YWlucyBhdCBsZWFzdCB0d28gaW5saW5lIGNvbW1lbnRzLCBv
ciwgaWYgb25seSBvbmUsCi10aGVuIGl0IHN0YXJ0cyB3aXRoIDxjb2RlPiZsdDs8L2NvZGU+IChz
ZWUgYmVsb3cpOwotPC91bD4KLTxwPgotZm9ybXMgYSA8ZW0+RG94eWdlbiBjb21tZW50IGJsb2Nr
PC9lbT4uCi08L3A+Ci0KLTxwPgotTm9ybWFsbHkgdGhlIGNvbW1lbnQgYmxvY2sgcmVmZXJzIHRv
IHRoZSBuZXh0IGNvbW1lbnQgcmVmZXJyYWwgcG9pbnQgaW4KLXRoZSBXZWIgSURMLgotSWYgdGhl
IGZpcnN0IGNoYXJhY3RlciBvZiBlYWNoIGNvbW1lbnQgaXMgPGNvZGU+Jmx0OzwvY29kZT4sIHNv
IGVhY2gKLWNvbW1lbnQgaW4gdGhlIGJsb2NrIGlzIGludHJvZHVjZWQKLXdpdGggPGNvZGU+Ly8v
Jmx0OzwvY29kZT4gb3IgPGNvZGU+Ly8hJmx0OzwvY29kZT4gLCB0aGVuIHRoZSBjb21tZW50IGJs
b2NrCi1yZWZlcnMgYmFjayB0byB0aGUgcHJldmlvdXMgY29tbWVudCByZWZlcnJhbCBwb2ludC4K
LTwvcD4KLQotPHA+Ci1UaGUgdGV4dCBvZiB0aGUgY29tbWVudCBibG9jawotZXhjbHVkZXMgdGhl
IGluaXRpYWwgPGNvZGU+ITwvY29kZT4gb3IgPGNvZGU+LzwvY29kZT4gKGFuZCB0aGUgPGNvZGU+
Jmx0OzwvY29kZT4KLWZvciBhIHJlZmVycmluZyBiYWNrIGJsb2NrKSBvZiBlYWNoIGlubGluZSBj
b21tZW50LAotYW5kLCB3aGVuIG5vdCBpbiBhIDxhIGhyZWY9IiNjb2RlIj48Y29kZT5cY29kZTwv
Y29kZT48L2E+IGJsb2NrLAotZXhjbHVkZXMgYW55IGxpbmUgY29uc2lzdGluZyBlbnRpcmVseSBv
ZiB3aGl0ZXNwYWNlLCB0aGVuIDxjb2RlPi88L2NvZGU+Ci1jaGFyYWN0ZXJzLCB0aGVuIHdoaXRl
c3BhY2UuCi08L3A+Ci0KLTxwPgotd2lkbHByb2MgZG9lcyBub3Qgc3VwcG9ydCBEb3h5Z2VuIGNv
bW1hbmRzIHRvIGZvcmNlIGEgY29tbWVudAotYmxvY2sgdG8gcmVmZXIgdG8gYSBkaWZmZXJlbnQg
cmVmZXJyYWwgcG9pbnQuCi08L3A+Ci0KLTxoMz5QYXJhZ3JhcGg8L2gzPgotCi08cD4KLUEgY29t
bWVudCBibG9jayBpcyBicm9rZW4gaW50byB6ZXJvIG9yIG1vcmUgPGVtPnBhcmFncmFwaDwvZW0+
cy4KLU9uZSBvciBtb3JlIGJsYW5rIGxpbmVzIGJyZWFrIHRoZSBwYXJhZ3JhcGhzICh1bmxlc3Mg
aW4gYQotPGEgaHJlZj0iI2NvZGUiPjxjb2RlPlxjb2RlPC9jb2RlPjwvYT4gYmxvY2spLgotPC9w
PgotCi08cD4KLUNlcnRhaW4gY29tbWFuZHMgKGJlbG93KSBhbHNvIHN0YXJ0IGEgbmV3IHBhcmFn
cmFwaC4KLTwvcD4KLQotPHA+Ci1BbgotPGEgaHJlZj0iI2h0bWwiPkhUTUwgYmxvY2sgZWxlbWVu
dDwvYT4KLWlzIGEgcGFyYWdyYXBoLgotQSBibGFuayBsaW5lIChvdGhlciB0aGFuIGluIGEKLTxh
IGhyZWY9IiNjb2RlIj48Y29kZT5cY29kZTwvY29kZT48L2E+IGJsb2NrKQotaW1wbGljaXRseSBj
bG9zZXMgYW55IG9wZW4gSFRNTCBlbGVtZW50cywgdGh1cyBlbmRpbmcgdGhlIHBhcmFncmFwaC4K
LTwvcD4KLQotPGgzPkRveHlnZW4tbGlrZSBjb21tYW5kczwvaDM+Ci0KLTxwPgotd2lkbHByb2Mg
c3VwcG9ydHMgYSBzbWFsbCBzdWJzZXQgb2YgRG94eWdlbiBjb21tYW5kcywgcGx1cyBzb21lIGFk
ZGl0aW9ucwotdG8gaGFuZGxlIEJPTkRJIEFQSSBmZWF0dXJlcyBhbmQgZGV2aWNlIGNhcGFiaWxp
dGllcy4KLTwvcD4KLQotPHA+Ci1BIGNvbW1hbmQgaXMgYWx3YXlzIGludHJvZHVjZWQgd2l0aCBh
IDxjb2RlPlw8L2NvZGU+IGNoYXJhY3Rlci4KLVRoZSBEb3h5Z2VuIGFsdGVybmF0aXZlIChmcm9t
IEphdmFEb2MpIG9mIDxjb2RlPkA8L2NvZGU+IGlzIG5vdAotc3VwcG9ydGVkLgotPC9wPgotCi08
aDQgaWQ9ImFwaS1mZWF0dXJlIj5cYXBpLWZlYXR1cmU8L2g0PgotCi08cD4KLVN0YXJ0cyBhIG5l
dyBwYXJhZ3JhcGguIFRoZSBmb2xsb3dpbmcgd29yZCBpcyB0aGUgbmFtZSBvZiBhbiBBUEkgZmVh
dHVyZQotdXNlZCBieSB0aGUgbWV0aG9kIGJlaW5nIGRvY3VtZW50ZWQuIFRoZSByZW1haW5kZXIg
b2YgdGhlIHBhcmFncmFwaCBpcwotYW55IGRlc2NyaXB0aW9uIHJlcXVpcmVkIG9mIGhvdyAoZWcg
aW4gd2hhdCBjaXJjdW1zdGFuY2UpIHRoZSBBUEkgZmVhdHVyZQotaXMgdXNlZC4KLTwvcD4KLQot
PGg0PlxuYW1lPC9oND4KLQotPHA+Ci1EZWNsYXJlcyBhIG5hbWUgZm9yIHRoZSBkb2N1bWVudCBu
b2RlIGFzc29jaWF0ZWQgd2l0aCB0aGUgY3VycmVudCByZWZlcnJhbAotcG9pbnQuIFRoaXMgaXMg
dXNlZnVsIGZvciB0aGUgcm9vdCBkb2N1bWVudCBub2RlIHRoYXQgb3RoZXJ3aXNlIGRvZXMgbm90
IGhhdmUKLWEgV2ViSURMIGlkZW50aWZpZXIuCi08L3A+Ci0KLTxoND5cYXV0aG9yPC9oND4KLQot
PHA+Ci1TdGFydHMgYSBuZXcgcGFyYWdyYXBoLiBUaGUgcmVtYWluZGVyIG9mIHRoZSBwYXJhZ3Jh
cGggY29udGFpbnMKLWluZm9ybWF0aW9uIGFib3V0IGEgc2luZ2xlIGF1dGhvciBvZiB0aGUgc3Bl
Y2lmaWNhdGlvbi4gTXVsdGlwbGUKLTxjb2RlPlxhdXRob3I8L2NvZGU+IGNvbW1hbmRzIHNob3Vs
ZCBiZSB1c2VkIGZvciBtdWx0aXBsZSBhdXRob3JzLgotPC9wPgotCi08cD4KLShIZXJlIHdpZGxw
cm9jIGRpZmZlcnMgZnJvbSBEb3h5Z2VuOyBEb3h5Z2VuIGFsc28gYWxsb3dzCi1tdWx0aXBsZSBh
dXRob3JzIG9uIHNlcGFyYXRlIGxpbmVzIHRvIGFwcGVhciBpbiBvbmUgPGNvZGU+XGF1dGhvcjwv
Y29kZT4KLXBhcmFncmFwaC4pCi08L3A+Ci0KLTxoND5cYjwvaDQ+Ci0KLTxwPgotVGhpcyByZW5k
ZXJzIHRoZSBuZXh0IHdvcmQgYXMgYm9sZC4gSXQgaXMgZXF1aXZhbGVudCB0byBlbmNsb3Npbmcg
dGhlCi1uZXh0IHdvcmQgd2l0aCA8Y29kZT4mbHQ7Yj4gJmx0Oy9iPjwvY29kZT4uCi08L3A+Ci0K
LTxoND5cYnJpZWY8L2g0PgotCi08cD4KLVN0YXJ0cyBhIG5ldyBwYXJhZ3JhcGguIFRoZSByZW1h
aW5kZXIgb2YgdGhlIHBhcmFncmFwaCBjb250YWlucyBhIGJyaWVmCi1kZXNjcmlwdGlvbiBvZiB0
aGUgZW50aXR5IGJlaW5nIGRvY3VtZW50ZWQuCi08L3A+Ci0KLTxoNCBpZD0iY29kZSI+XGNvZGUs
IFxlbmRjb2RlPC9oND4KLQotPHA+Ci08Y29kZT5cY29kZTwvY29kZT4KLXN0YXJ0cyBhIG5ldyBw
YXJhZ3JhcGggd2hpY2ggaXMgYSA8ZW0+Y29kZSBibG9jazwvZW0+LiBUaGUgY29kZSBibG9jawot
ZW5kcyBhdCB0aGUgbmV4dCA8Y29kZT5cZW5kY29kZTwvY29kZT4gY29tbWFuZC4KLTwvcD4KLQot
PHA+Ci1XaXRoaW4gdGhlIGNvZGUgYmxvY2ssIHdoaXRlc3BhY2UgYW5kIG5ld2xpbmVzIGFyZSBw
YXNzZWQgdmVyYmF0aW0gaW50bwotdGhlIG91dHB1dC4KLTwvcD4KLQotPGg0IGlkPSJkZWYtYXBp
LWZlYXR1cmUiPlxkZWYtYXBpLWZlYXR1cmU8L2g0PgotCi08cD4KLVN0YXJ0cyBhIG5ldyBwYXJh
Z3JhcGguIFRoZSBmb2xsb3dpbmcgd29yZCBpcyB0aGUgbmFtZSBvZiB0aGUgQVBJIGZlYXR1cmUK
LXdoaWNoIGlzIGRlZmluZWQgaGVyZS4gVGhlIGRlc2NyaXB0aW9uIGlzIGFuIDxlbT5kZWYtYXBp
LWZlYXR1cmUgYmxvY2s8L2VtPiwKLWNvbnNpc3Rpbmcgb2YgdGhlCi1yZW1haW5kZXIgb2YgdGhl
IHBhcmFncmFwaCwgdG9nZXRoZXIgd2l0aAotZnVydGhlciBwYXJhZ3JhcGhzIGluIHRoZSBzYW1l
IGJsb2NrIGNvbW1lbnQgZWFjaCBvZiB3aGljaCBpcyBhIHBsYWluCi1wYXJhZ3JhcGgsIGEgcGFy
YWdyYXBoIHN0YXJ0ZWQgZHVlIHRvIEhUTUwgbWFya3VwLCBhIDxjb2RlPlxicmllZjwvY29kZT4K
LXBhcmFncmFwaCwgb3IgYQotPGEgaHJlZj0iI2RldmljZS1jYXAiPjxjb2RlPlxkZXZpY2UtY2Fw
PC9jb2RlPjwvYT4KLXBhcmFncmFwaC4KLTwvcD4KLQotPGg0IGlkPSJkZWYtYXBpLWZlYXR1cmUt
c2V0Ij5cZGVmLWFwaS1mZWF0dXJlLXNldDwvaDQ+Ci0KLTxwPgotU3RhcnRzIGEgbmV3IHBhcmFn
cmFwaC4gVGhlIGZvbGxvd2luZyB3b3JkIGlzIHRoZSBuYW1lIG9mIHRoZSBBUEkgZmVhdHVyZQot
c2V0IHdoaWNoIGlzIGRlZmluZWQgaGVyZS4gVGhlIGRlc2NyaXB0aW9uIGlzIGFuIDxlbT5kZWYt
YXBpLWZlYXR1cmUtc2V0IGJsb2NrPC9lbT4sCi1jb25zaXN0aW5nIG9mIHRoZQotcmVtYWluZGVy
IG9mIHRoZSBwYXJhZ3JhcGgsIHRvZ2V0aGVyIHdpdGgKLWZ1cnRoZXIgcGFyYWdyYXBocyBpbiB0
aGUgc2FtZSBibG9jayBjb21tZW50IGVhY2ggb2Ygd2hpY2ggaXMgYSBwbGFpbgotcGFyYWdyYXBo
LCBhIHBhcmFncmFwaCBzdGFydGVkIGR1ZSB0byBIVE1MIG1hcmt1cCwgYSA8Y29kZT5cYnJpZWY8
L2NvZGU+Ci1wYXJhZ3JhcGgsIG9yIGEKLTxhIGhyZWY9IiNkZXZpY2UtY2FwIj48Y29kZT5cYXBp
LWZlYXR1cmU8L2NvZGU+PC9hPgotcGFyYWdyYXBoLgotPC9wPgotCi08aDQ+XGRlZi1kZXZpY2Ut
Y2FwPC9oND4KLQotPHA+Ci1TdGFydHMgYSBuZXcgcGFyYWdyYXBoLiBUaGUgZm9sbG93aW5nIHdv
cmQgaXMgdGhlIG5hbWUgb2YgdGhlIGRldmljZSBjYXBhYmlsaXR5Ci13aGljaCBpcyBkZWZpbmVk
IGhlcmUuIFRoZSBkZXNjcmlwdGlvbiBjb25zaXN0cyBvZiB0aGUKLXJlbWFpbmRlciBvZiB0aGUg
cGFyYWdyYXBoLCB0b2dldGhlciB3aXRoCi1mdXJ0aGVyIHBhcmFncmFwaHMgaW4gdGhlIHNhbWUg
YmxvY2sgY29tbWVudCBlYWNoIG9mIHdoaWNoIGlzIGEgcGxhaW4KLXBhcmFncmFwaCwgYSBwYXJh
Z3JhcGggc3RhcnRlZCBkdWUgdG8gSFRNTCBtYXJrdXAsIGEgPGNvZGU+XGJyaWVmPC9jb2RlPgot
cGFyYWdyYXBoLCBvciBhCi08YSBocmVmPSIjcGFyYW0iPjxjb2RlPlxwYXJhbTwvY29kZT48L2E+
Ci1wYXJhZ3JhcGguCi08L3A+Ci0KLTxoNCBpZD0iZGVmLWluc3RhbnRpYXRlZCI+XGRlZi1pbnN0
YW50aWF0ZWQ8L2g0PgotCi08cD4KLVN0YXJ0cyBhIG5ldyBwYXJhZ3JhcGguICBUaGUgZGVzY3Jp
cHRpb24gaXMgYW4gPGVtPmRlZi1pbnN0YW50aWF0ZWQgYmxvY2s8L2VtPiwKLWNvbnNpc3Rpbmcg
b2YgdGhlCi1yZW1haW5kZXIgb2YgdGhlIHBhcmFncmFwaCwgdG9nZXRoZXIgd2l0aAotZnVydGhl
ciBwYXJhZ3JhcGhzIGluIHRoZSBzYW1lIGJsb2NrIGNvbW1lbnQgZWFjaCBvZiB3aGljaCBpcyBh
IHBsYWluCi1wYXJhZ3JhcGgsIGEgcGFyYWdyYXBoIHN0YXJ0ZWQgZHVlIHRvIEhUTUwgbWFya3Vw
LCBhIDxjb2RlPlxicmllZjwvY29kZT4KLXBhcmFncmFwaCwgb3IgYQotPGEgaHJlZj0iI2FwaS1m
ZWF0dXJlIj48Y29kZT5cYXBpLWZlYXR1cmU8L2NvZGU+PC9hPgotcGFyYWdyYXBoLgotPC9wPgot
Ci08aDQgaWQ9ImRldmljZS1jYXAiPlxkZXZpY2UtY2FwPC9oND4KLQotPHA+Ci1TdGFydHMgYSBu
ZXcgcGFyYWdyYXBoLgotVGhpcyBjb21tYW5kIGNhbiBhcHBlYXIgb25seSBpbnNpZGUgYW4KLTxh
IGhyZWY9IiNkZWYtYXBpLWZlYXR1cmUiPmRlZi1hcGktZmVhdHVyZSBibG9jazwvYT4uCi1UaGUg
Zm9sbG93aW5nIHdvcmQgaXMgdGhlIG5hbWUgb2YgYSBkZXZpY2UgY2FwYWJpbGl0eQotdXNlZCBi
eSB0aGUgQVBJIGZlYXR1cmUgYmVpbmcgZG9jdW1lbnRlZC4KLVRoZSByZW1haW5kZXIgb2YgdGhl
IHBhcmFncmFwaCBpcwotYW55IGRlc2NyaXB0aW9uIHJlcXVpcmVkIG9mIGhvdyAoZWcgaW4gd2hh
dCBjaXJjdW1zdGFuY2UpIHRoZSBkZXZpY2UgY2FwYWJpbGl0eQotaXMgdXNlZC4KLTwvcD4KLQot
PGg0PlxuPC9oND4KLQotPHA+Ci1DcmVhdGVzIGEgbGluZSBicmVhayBpbiB0aGUgb3V0cHV0Lgot
PC9wPgotCi08aDQgaWQ9InBhcmFtIj5ccGFyYW08L2g0PgotCi08cD4KLVN0YXJ0cyBhIG5ldyBw
YXJhZ3JhcGguIFRoaXMgdGFrZXMgdGhlIGZvbGxvd2luZyB3b3JkIGFzIHRoZSBuYW1lIG9mCi1h
IHBhcmFtZXRlciAoYXJndW1lbnQpIG9mIHRoZSBlbnRpdHkgYmVpbmcgZG9jdW1lbnRlZCwgdGhl
biBtYWtlcyB0aGUKLXJlbWFpbmRlciBvZiB0aGUgcGFyYWdyYXBoIHJlZmVyIHRvIHRoYXQgcGFy
YW1ldGVyLgotPC9wPgotCi08aDQ+XHJldHVybjwvaDQ+Ci0KLTxwPgotU3RhcnRzIGEgbmV3IHBh
cmFncmFwaC4gVGhlIHJlbWFpbmRlciBvZiB0aGUgcGFyYWdyYXBoIGlzIG1hZGUgdG8gcmVmZXIg
dG8KLXRoZSByZXR1cm4gdHlwZSBvZiB0aGUgZW50aXR5IGJlaW5nIGRvY3VtZW50ZWQuCi08L3A+
Ci0KLTxoND5cdGhyb3c8L2g0PgotCi08cD4KLVN0YXJ0cyBhIG5ldyBwYXJhZ3JhcGguIFRoZSBu
ZXh0IHdvcmQgaXMgdGFrZW4gdG8gYmUgdGhlIG5hbWUgb2YgYW4KLWV4Y2VwdGlvbiB0aHJvd24g
YnkgdGhlIGVudGl0eSBiZWluZyBkb2N1bWVudGVkLCBhbmQgdGhlIHJlbWFpbmRlciBvZgotdGhl
IHBhcmFncmFwaCBkb2N1bWVudHMgdGhhdCBleGNlcHRpb24gKGluIHRoZSA8Y29kZT5yYWlzZXM8
L2NvZGU+IGxpc3Qgb2YKLWFuIDxjb2RlPm9wZXJhdGlvbjwvY29kZT4sIG9yIHRoZSA8Y29kZT5z
ZXRyYWlzZXM8L2NvZGU+Ci1jbGF1c2Ugb2YgYW4gPGNvZGU+YXR0cmlidXRlPC9jb2RlPikuCi08
L3A+Ci0KLTxoND5cdmVyc2lvbjwvaDQ+Ci0KLTxwPgotU3RhcnRzIGEgbmV3IHBhcmFncmFwaC4g
VGhlIHJlbWFpbmRlciBvZiB0aGUgcGFyYWdyYXBoIGNvbnRhaW5zCi12ZXJzaW9uIG51bWJlciBp
bmZvcm1hdGlvbi4KLTwvcD4KLQotPGgzPkVzY2FwZSBzZXF1ZW5jZXM8L2gzPgotCi08cD4KLVRo
ZSBmb2xsb3dpbmcgZXNjYXBlIHNlcXVlbmNlcyBhcmUgcmVjb2duaXplZCBpbiBhIGNvbW1lbnQg
YmxvY2s6Ci08L3A+Ci0KLTx0YWJsZT4KLTx0cj4KLTx0aD5lc2NhcGUgc2VxdWVuY2UKLTx0aD5y
ZXN1bHQKLTx0cj4KLTx0ZD48Y29kZT5cXDwvY29kZT4KLTx0ZD48Y29kZT5cPC9jb2RlPgotPHRy
PgotPHRkPjxjb2RlPlwmYW1wOzwvY29kZT4KLTx0ZD48Y29kZT4mYW1wOzwvY29kZT4gKGVzY2Fw
ZWQgdG8gPGNvZGU+JmFtcDthbXA7PC9jb2RlPiBpbiBvdXRwdXQgWE1MKQotPHRyPgotPHRkPjxj
b2RlPlwkPC9jb2RlPgotPHRkPjxjb2RlPiQ8L2NvZGU+Ci08dHI+Ci08dGQ+PGNvZGU+XCM8L2Nv
ZGU+Ci08dGQ+PGNvZGU+IzwvY29kZT4KLTx0cj4KLTx0ZD48Y29kZT5cJmx0OzwvY29kZT4KLTx0
ZD48Y29kZT4mbHQ7PC9jb2RlPiAoZXNjYXBlZCB0byA8Y29kZT4mYW1wO2x0OzwvY29kZT4gaW4g
b3V0cHV0IFhNTCkKLTx0cj4KLTx0ZD48Y29kZT5cPjwvY29kZT4KLTx0ZD48Y29kZT4+PC9jb2Rl
PgotPHRyPgotPHRkPjxjb2RlPlwlPC9jb2RlPgotPHRkPjxjb2RlPiU8L2NvZGU+Ci08L3RhYmxl
PgotCi08cD4KLVNvbWUgb2YgdGhlc2UgZXNjYXBlIHNlcXVlbmNlcyBhcmUgdXNlZCB0byBhdm9p
ZCBEb3h5Z2VuIGZlYXR1cmVzIHRoYXQKLXdpZGxwcm9jIGRvZXMgbm90IGN1cnJlbnRseSBpbXBs
ZW1lbnQuIEluIHBhcnRpY3VsYXIsCi13aWRscHJvYyBpbnNpc3RzIG9uIGEgPGNvZGU+JDwvY29k
ZT4gYmVpbmcgZXNjYXBlZCwgdG8KLWFsbG93IGZvciBwb3NzaWJsZSBmdXR1cmUgZnVuY3Rpb25h
bGl0eS4KLTwvcD4KLQotPGgzIGlkPSJodG1sIj5IVE1MIGluIGNvbW1lbnRzPC9oMz4KLQotPHA+
Ci13aWRscHJvYyBhY2NlcHRzIGEgc21hbGwgc3Vic2V0IG9mIEhUTUwgZWxlbWVudHMuCi08L3A+
Ci0KLTxwPgotQW4gSFRNTCBibG9jayBlbGVtZW50IGlzIGEgcGFyYWdyYXBoLgotQSBibGFuayBs
aW5lIChvdGhlciB0aGFuIGluIGEKLTxhIGhyZWY9IiNjb2RlIj48Y29kZT5cY29kZTwvY29kZT48
L2E+IGJsb2NrKQotaW1wbGljaXRseSBjbG9zZXMgYW55IG9wZW4gSFRNTCBlbGVtZW50cywgdGh1
cyBlbmRpbmcgdGhlIHBhcmFncmFwaC4KLTwvcD4KLQotPHA+Ci1UaGUgZm9sbG93aW5nIEhUTUwg
YmxvY2sgZWxlbWVudHMgYXJlIGFjY2VwdGVkOgotPGNvZGU+ZGw8L2NvZGU+Ci08Y29kZT5vbDwv
Y29kZT4KLTxjb2RlPnA8L2NvZGU+Ci08Y29kZT50YWJsZTwvY29kZT4KLTxjb2RlPnVsPC9jb2Rl
PgotPC9wPgotCi08cD4KLVRoZSBmb2xsb3dpbmcgSFRNTCBpbmxpbmUgZWxlbWVudHMgYXJlIGFj
Y2VwdGVkOgotPGNvZGU+YTwvY29kZT4KLTxjb2RlPmltZzwvY29kZT4KLTxjb2RlPmI8L2NvZGU+
Ci08Y29kZT5icjwvY29kZT4KLTxjb2RlPmVtPC9jb2RlPgotPC9wPgotCi08cD4KLVRoZSBmb2xs
b3dpbmcgSFRNTCBlbGVtZW50cyBhcmUgYWNjZXB0ZWQgd2hlcmUgdmFsaWQgaW5zaWRlIG9uZSBv
ZiB0aGUKLW90aGVyIGVsZW1lbnRzOgotPGNvZGU+ZGQ8L2NvZGU+Ci08Y29kZT5kdDwvY29kZT4K
LTxjb2RlPmxpPC9jb2RlPgotPGNvZGU+dGQ8L2NvZGU+Ci08Y29kZT50aDwvY29kZT4KLTxjb2Rl
PnRyPC9jb2RlPgotPC9wPgotCi0KLTxoMj5PdXRwdXQgZm9ybWF0PC9oMj4KLQotPHA+Ci1UaGUg
b3V0cHV0IG9mIHdpZGxwcm9jIGlzIGFuIFhNTCByZXByZXNlbnRhdGlvbiBvZiB0aGUKLTxhIGhy
ZWY9IiN3ZWJpZGwiPldlYiBJREw8L2E+LAotd2l0aCBhZGRlZCBYTUwgZWxlbWVudHMgcmVwcmVz
ZW50aW5nIHRoZQotPGEgaHJlZj0iI2RveHlnZW4iPkRveHlnZW48L2E+LWxpa2UgY29tbWVudHMu
Ci08L3A+Ci0KLTxoMz5Bbm5vdGF0ZWQgZG9jdW1lbnQgdHlwZSBkZWNsYXJhdGlvbjwvaDM+Ci0K
LTxwcmUgY2xhc3M9ImR0ZCI+Ci0mbHQ7IS0tIEF1dG9nZW5lcmF0ZWQgZnJvbSB3aWRscHJvYy5o
dG1sIDogZG8gbm90IGVkaXQuIC0tPgotPC9wcmU+Ci0KLTxoND5FbnRpdGllcyB1c2VkIGVsc2V3
aGVyZTwvaDQ+Ci0KLTxwcmUgY2xhc3M9ImR0ZCI+Ci0mbHQ7IUVOVElUWSAlIGJsb2NrICdkbCB8
IHAgfCB0YWJsZSB8IHVsJyA+Ci0mbHQ7IUVOVElUWSAlIEJsb2NrICcoJWJsb2NrOykqJyA+Ci0m
bHQ7IUVOVElUWSAlIGlubGluZSAnYSB8IGIgfCBiciB8IGVtIHwgaW1nJyA+Ci0mbHQ7IUVOVElU
WSAlIElubGluZSAnKCNQQ0RBVEEgfCAlaW5saW5lOykqJyA+Ci0mbHQ7IUVOVElUWSAlIEZsb3cg
JygjUENEQVRBIHwgJWlubGluZTsgfCAlYmxvY2s7KSonID4KLQotJmx0OyFFTEVNRU5UIHdlYmlk
bCAoI1BDREFUQSB8IHJlZikqID4KLTwvcHJlPgotCi08cD4KLVRoZSA8Y29kZT4mbHQ7d2ViaWRs
PjwvY29kZT4gZWxlbWVudCBjb250YWlucyB0aGUgbGl0ZXJhbCB0ZXh0IG9mIHRoZQotb3JpZ2lu
YWwgV2ViIElETCB0aGF0IHRoZSBwYXJlbnQKLWVsZW1lbnQgd2FzIHBhcnNlZCBmcm9tLCBtaW51
cyB0aGUgY29tbWVudHMsIHdpdGggZWFjaCByZWZlcmVuY2UgdG8KLWFuIGludGVyZmFjZSBuYW1l
IAotZW5jbG9zZWQgaW4gYSA8Y29kZT4mbHQ7cmVmPjwvY29kZT4uLjxjb2RlPiZsdDsvcmVmPjwv
Y29kZT4uCi08L3A+Ci0KLTxoND5EZWZpbml0aW9uczwvaDQ+Ci0KLTxwPgotPGVtPkRlZmluaXRp
b25zPC9lbT4gaXMgdGhlIHJvb3QgZWxlbWVudCBvZiB0aGUgWE1MIGRvY3VtZW50LgotPC9wPgot
Ci08cD4KLVRoZSA8ZW0+RXh0ZW5kZWRBdHRyaWJ1dGVMaXN0PC9lbT4gc3BlY2lmaWVzIGFueSBl
eHRlbmRlZCBhdHRyaWJ1dGVzCi1mb3IgdGhlICA8ZW0+SW50ZXJmYWNlPC9lbT4sIDxlbT5EaWN0
aW9uYXJ5PC9lbT4sIDxlbT5FeGNlcHRpb248L2VtPiwKLTxlbT5UeXBlZGVmPC9lbT4sIDxlbT5W
YWx1ZXR5cGU8L2VtPiBvciA8ZW0+Q29uc3Q8L2VtPiBpbiB0aGUKLTxlbT5EZWZpbml0aW9uPC9l
bT4uCi08L3A+Ci0KLTxwcmUgY2xhc3M9ImR0ZCI+Ci0mbHQ7IUVMRU1FTlQgRGVmaW5pdGlvbnMg
KCB3ZWJpZGwsIGRlc2NyaXB0aXZlPywgKEludGVyZmFjZSB8IERpY3Rpb25hcnkgfCBDYWxsYmFj
awotICAgIHwgRW51bSB8IEV4Y2VwdGlvbiB8IFR5cGVkZWYgfCBJbXBsZW1lbnRzKSopID4KLTwv
cHJlPgotCi08aDQ+SW50ZXJmYWNlPC9oND4KLQotPHA+Ci1BbiA8ZW0+SW50ZXJmYWNlPC9lbT4g
cmVwcmVzZW50cyBhbiBpbnRlcmZhY2UuIFRoZSA8ZW0+bmFtZTwvZW0+Ci1hdHRyaWJ1dGUgc3Bl
Y2lmaWVzIHRoZSBuYW1lIG9mIHRoZSBpbnRlcmZhY2UuIFRoZSA8ZW0+ZGVzY3JpcHRpdmU8L2Vt
PiBlbGVtZW50Ci1wcm92aWRlcyBpdHMgZG9jdW1lbnRhdGlvbiBpZiBhbnkuCi1UaGUgPGVtPmlk
PC9lbT4gYXR0cmlidXRlIHNwZWNpZmllcyB0aGUgYWJzb2x1dGUgc2NvcGVkIG5hbWUgb2YgdGhl
IGludGVyZmFjZS4KLTwvcD4KLQotPHA+VGhlIDxlbT5wYXJ0aWFsPC9lbT4gYXR0cmlidXRlIGlu
ZGljYXRlcyB0aGF0IHRoZSBkZWZpbml0aW9uIG9mIHRoZSBpbnRlcmZhY2UgY29tcGxlbWVudHMg
YW4gZXhpc3RpbmcgZGVmaW5pdGlvbi4gVGhlIDxlbT5jYWxsYmFjazwvZW0+IGF0dHJpYnV0ZSBz
cGVjaWZpY2llcyB0aGF0IGEgZ2l2ZW4gaW50ZXJmYWNlIGlzIGEgY2FsbGJhY2sgaW50ZXJmYWNl
LjwvcD4KLQotPHA+Ci1UaGUgPGVtPkludGVyZmFjZUluaGVyaXRhbmNlPC9lbT4gZWxlbWVudCBp
bmRpY2F0ZXMgdGhhdCB0aGUgaW50ZXJmYWNlCi1pbmhlcml0cyBmcm9tIG90aGVyIGludGVyZmFj
ZShzKS4gRWFjaCA8ZW0+TmFtZTwvZW0+IGluIHRoZQotPGVtPkludGVyZmFjZUluaGVyaXRhbmNl
PC9lbT4gaGFzIGEgPGVtPm5hbWU8L2VtPiBhdHRyaWJ1dGUgZ2l2aW5nIHRoZQotc2NvcGVkIG5h
bWUgb2YgdGhlIGludGVyZmFjZSBiZWluZyBpbmhlcml0ZWQgZnJvbS4KLTwvcD4KLQotPHByZSBj
bGFzcz0iZHRkIj4KLSZsdDshRUxFTUVOVCBJbnRlcmZhY2UgKHdlYmlkbCwgZGVzY3JpcHRpdmU/
LCBFeHRlbmRlZEF0dHJpYnV0ZUxpc3Q/LAotICAgICAgICBJbnRlcmZhY2VJbmhlcml0YW5jZT8s
IChDb25zdCB8IEF0dHJpYnV0ZSB8IE9wZXJhdGlvbiB8IFN0cmluZ2lmaWVyKiB8IFNlcmlhbGl6
ZXIqIHwgSXRlcmF0b3IgfCBJdGVyYXRvck9iamVjdCkqICkgPgotJmx0OyFBVFRMSVNUIEludGVy
ZmFjZSBuYW1lIENEQVRBICNSRVFVSVJFRAotICAgICAgICAgICAgICAgICAgICBwYXJ0aWFsIChw
YXJ0aWFsKSAjSU1QTElFRAotICAgICAgICAgICAgICAgICAgICBjYWxsYmFjayAoY2FsbGJhY2sp
ICNJTVBMSUVECi0gICAgICAgICAgICAgICAgICAgIGlkIENEQVRBICNSRVFVSVJFRCA+Ci0KLSZs
dDshRUxFTUVOVCBJbnRlcmZhY2VJbmhlcml0YW5jZSAoTmFtZSspID4KLQotJmx0OyFFTEVNRU5U
IE5hbWUgRU1QVFkgPgotJmx0OyFBVFRMSVNUIE5hbWUgbmFtZSBDREFUQSAjUkVRVUlSRUQgPgot
PC9wcmU+Ci0KLTxoND5EaWN0aW9uYXJ5PC9oND4KLQotPHA+Ci1BIDxlbT5EaWN0aW9uYXJ5PC9l
bT4gcmVwcmVzZW50cyBhIGRpY3Rpb25hcnkuIFRoZSA8ZW0+bmFtZTwvZW0+Ci1hdHRyaWJ1dGUg
c3BlY2lmaWVzIHRoZSBuYW1lIG9mIHRoZSBkaWN0aW9uYXJ5LiBUaGUgPGVtPmRlc2NyaXB0aXZl
PC9lbT4gZWxlbWVudAotcHJvdmlkZXMgaXRzIGRvY3VtZW50YXRpb24gaWYgYW55LgotVGhlIDxl
bT5pZDwvZW0+IGF0dHJpYnV0ZSBzcGVjaWZpZXMgdGhlIGFic29sdXRlIHNjb3BlZCBuYW1lIG9m
IHRoZSBkaWN0aW9uYXJ5LgotPC9wPgotCi08cD5UaGUgPGVtPnBhcnRpYWw8L2VtPiBhdHRyaWJ1
dGUgaW5kaWNhdGVzIHRoYXQgdGhlIGRlZmluaXRpb24gb2YgdGhlIGludGVyZmFjZSBjb21wbGVt
ZW50cyBhbiBleGlzdGluZyBkZWZpbml0aW9uLjwvcD4KLQotPHA+Ci1UaGUgPGVtPkRpY3Rpb25h
cnlJbmhlcml0YW5jZTwvZW0+IGVsZW1lbnQgaW5kaWNhdGVzIHRoYXQgdGhlIGRpY3Rpb25hcnkK
LWluaGVyaXRzIGZyb20gb3RoZXIgZGljdGlvbmFyeShzKS4gRWFjaCA8ZW0+TmFtZTwvZW0+IGlu
IHRoZQotPGVtPkRpY3Rpb25hcnlJbmhlcml0YW5jZTwvZW0+IGhhcyBhIDxlbT5uYW1lPC9lbT4g
YXR0cmlidXRlIGdpdmluZyB0aGUKLXNjb3BlZCBuYW1lIG9mIHRoZSBkaWN0aW9uYXJ5IGJlaW5n
IGluaGVyaXRlZCBmcm9tLgotPC9wPgotCi0KLTxwcmUgY2xhc3M9ImR0ZCI+Ci0mbHQ7IUVMRU1F
TlQgRGljdGlvbmFyeSAod2ViaWRsLCBkZXNjcmlwdGl2ZT8sIERpY3Rpb25hcnlJbmhlcml0YW5j
ZT8sIERpY3Rpb25hcnlNZW1iZXIqICkgPgotJmx0OyFBVFRMSVNUIERpY3Rpb25hcnkgbmFtZSBD
REFUQSAjUkVRVUlSRUQKLSAgICAgICAgICAgICAgICAgICAgcGFydGlhbCAocGFydGlhbCkgI0lN
UExJRUQKLSAgICAgICAgICAgICAgICAgICAgaWQgQ0RBVEEgI1JFUVVJUkVEID4KLQotJmx0OyFF
TEVNRU5UIERpY3Rpb25hcnlJbmhlcml0YW5jZSAoTmFtZSspID4KLTwvcHJlPgotCi08aDQ+Q2Fs
bGJhY2s8L2g0PgotCi08cD4KLUEgPGVtPkNhbGxiYWNrPC9lbT4gcmVwcmVzZW50cyBhIGNhbGxi
YWNrIHR5cGUuIFRoZSA8ZW0+bmFtZTwvZW0+Ci1hdHRyaWJ1dGUgc3BlY2lmaWVzIHRoZSBuYW1l
IG9mIHRoZSBkaWN0aW9uYXJ5LiBUaGUgPGVtPmRlc2NyaXB0aXZlPC9lbT4gZWxlbWVudAotcHJv
dmlkZXMgaXRzIGRvY3VtZW50YXRpb24gaWYgYW55LjwvcD4KLQotPHA+VGhlIDxlbT5UeXBlPC9l
bT4gZWxlbWVudCBzcGVjaWZpZXMgaXRzIHJldHVybiB0eXBlLjwvcD4KLQotPHA+Ci1BbiA8ZW0+
QXJndW1lbnQ8L2VtPiBpcyBhbiBhcmd1bWVudCB0byBhbiBvcGVyYXRpb24uCi1UaGUgPGVtPlR5
cGU8L2VtPiBlbGVtZW50IHNwZWNpZmllcyBpdHMgdHlwZS4gVGhlIDxlbT5uYW1lPC9lbT4KLWF0
dHJpYnV0ZSBzcGVjaWZpZXMgaXRzIG5hbWUgaWYgaXQgaGFzIG9uZS4KLTwvcD4KLQotPHByZSBj
bGFzcz0iZHRkIj4KLSZsdDshRUxFTUVOVCBDYWxsYmFjayAod2ViaWRsLCBkZXNjcmlwdGl2ZT8s
IFR5cGUsIEFyZ3VtZW50TGlzdD8gKSA+Ci0mbHQ7IUFUVExJU1QgQ2FsbGJhY2sgbmFtZSBDREFU
QSAjUkVRVUlSRUQKLSAgICAgICAgICAgICAgICAgICAgICBpZCBDREFUQSAjUkVRVUlSRUQ+Ci08
L3ByZT4KLQotCi08aDQ+RW51bTwvaDQ+Ci0KLTxwPgotQW4gPGVtPkVudW08L2VtPiByZXByZXNl
bnRzIGFuIGVudW1lcmF0aW9uLiBUaGUgPGVtPm5hbWU8L2VtPgotYXR0cmlidXRlIHNwZWNpZmll
cyB0aGUgbmFtZSBvZiB0aGUgZW51bWVyYXRpb24uIFRoZSA8ZW0+ZGVzY3JpcHRpdmU8L2VtPiBl
bGVtZW50Ci1wcm92aWRlcyBpdHMgZG9jdW1lbnRhdGlvbiBpZiBhbnkuCi08L3A+Ci0KLTxwPgot
VGhlIDxlbT5FbnVtVmFsdWU8L2VtPiBlbGVtZW50IGluZGljYXRlcyB0aGUgdmFsdWVzIGRlZmlu
ZWQgZm9yIHRoYXQgZW51bWVyYXRpb24gaW4gaXRzIDxlbT5zdHJpbmd2YWx1ZTwvZW0+IGF0dHJp
YnV0ZS4KLTwvcD4KLQotCi08cHJlIGNsYXNzPSJkdGQiPgotJmx0OyFFTEVNRU5UIEVudW0gKHdl
YmlkbCwgZGVzY3JpcHRpdmU/LCBFbnVtVmFsdWUqICkgPgotJmx0OyFBVFRMSVNUIEVudW0gbmFt
ZSBDREFUQSAjUkVRVUlSRUQgCi0gICAgICAgICAgICAgICAgICAgIGlkIENEQVRBICNSRVFVSVJF
RCA+Ci0KLSZsdDshRUxFTUVOVCBFbnVtVmFsdWUgKHdlYmlkbCwgZGVzY3JpcHRpdmU/KSA+Ci0m
bHQ7IUFUVExJU1QgRW51bVZhbHVlIHN0cmluZ3ZhbHVlIENEQVRBICNSRVFVSVJFRCA+Ci08L3By
ZT4KLQotCi0KLTxoND5FeGNlcHRpb248L2g0PgotCi08cD4KLUFuIDxlbT5FeGNlcHRpb248L2Vt
PiByZXByZXNlbnRzIGFuIGV4Y2VwdGlvbi4KLVRoZSA8ZW0+bmFtZTwvZW0+Ci1hdHRyaWJ1dGUg
c3BlY2lmaWVzIHRoZSBuYW1lIG9mIHRoZSBleGNlcHRpb24uCi1UaGUgPGVtPmRlc2NyaXB0aXZl
PC9lbT4gZWxlbWVudAotcHJvdmlkZXMgaXRzIGRvY3VtZW50YXRpb24gaWYgYW55LgotVGhlIDxl
bT5pZDwvZW0+IGF0dHJpYnV0ZSBzcGVjaWZpZXMgdGhlIGFic29sdXRlIHNjb3BlZCBuYW1lIG9m
IHRoZSBleGNlcHRpb24uCi08L3A+Ci0KLTxwPgotQW4gPGVtPkV4Y2VwdGlvbkZpZWxkPC9lbT4g
cmVwcmVzZW50cyBhIGZpZWxkIGluIGFuIGV4Y2VwdGlvbi4KLVRoZSA8ZW0+bmFtZTwvZW0+Ci1h
dHRyaWJ1dGUgc3BlY2lmaWVzIHRoZSBuYW1lIG9mIHRoZSBmaWVsZC4KLVRoZSA8ZW0+VHlwZTwv
ZW0+IGVsZW1lbnQgc3BlY2lmaWVzIGl0cyB0eXBlLgotVGhlIDxlbT5kZXNjcmlwdGl2ZT48L2Vt
PiBlbGVtZW50Ci1wcm92aWRlcyBpdHMgZG9jdW1lbnRhdGlvbiBpZiBhbnkuCi1UaGUgPGVtPmlk
PC9lbT4gYXR0cmlidXRlIHNwZWNpZmllcyB0aGUgYWJzb2x1dGUgc2NvcGVkIG5hbWUgb2YgdGhl
IGZpZWxkLgotPC9wPgotCi08cD4KLVRoZSA8ZW0+RXhjZXB0aW9uSW5oZXJpdGFuY2U8L2VtPiBl
bGVtZW50IGluZGljYXRlcyB0aGF0IHRoZSBleGNlcHRpb24KLWluaGVyaXRzIGZyb20gYW5vdGhl
ciBleGNlcHRpb24uIFRoZSA8ZW0+TmFtZTwvZW0+IGluIHRoZQotPGVtPkV4Y2VwdGlvbkluaGVy
aXRhbmNlPC9lbT4gaGFzIGEgPGVtPm5hbWU8L2VtPiBhdHRyaWJ1dGUgZ2l2aW5nIHRoZQotc2Nv
cGVkIG5hbWUgb2YgdGhlIGV4Y2VwdGlvbiBiZWluZyBpbmhlcml0ZWQgZnJvbS4KLTwvcD4KLQot
Ci08cHJlIGNsYXNzPSJkdGQiPgotJmx0OyFFTEVNRU5UIEV4Y2VwdGlvbiAod2ViaWRsLCBkZXNj
cmlwdGl2ZT8sIEV4dGVuZGVkQXR0cmlidXRlTGlzdD8sIEV4Y2VwdGlvbkluaGVyaXRhbmNlPywK
LSAgICAgICAgKENvbnN0IHwgRXhjZXB0aW9uRmllbGQpKiApID4KLSZsdDshQVRUTElTVCBFeGNl
cHRpb24gbmFtZSBDREFUQSAjUkVRVUlSRUQgCi0gICAgICAgICAgICAgICAgICAgIGlkIENEQVRB
ICNSRVFVSVJFRCA+Ci0KLSZsdDshRUxFTUVOVCBFeGNlcHRpb25Jbmhlcml0YW5jZSAoTmFtZSkg
PgotJmx0OyFFTEVNRU5UIEV4Y2VwdGlvbkZpZWxkICh3ZWJpZGwsIGRlc2NyaXB0aXZlPywgRXh0
ZW5kZWRBdHRyaWJ1dGVMaXN0PywgKFR5cGUpKSA+Ci0mbHQ7IUFUVExJU1QgRXhjZXB0aW9uRmll
bGQgbmFtZSBDREFUQSAjUkVRVUlSRUQKLSAgICAgICAgICAgICAgICAgICAgICAgICBpZCBDREFU
QSAjUkVRVUlSRUQgPgotPC9wcmU+Ci0KLTxoND5UeXBlZGVmPC9oND4KLQotPHA+Ci1BIDxlbT5U
eXBlZGVmPC9lbT4gcmVwcmVzZW50cyBhIHR5cGUgZGVmaW5pdGlvbi4KLVRoZSA8ZW0+bmFtZTwv
ZW0+Ci1hdHRyaWJ1dGUgc3BlY2lmaWVzIHRoZSBuYW1lIG9mIHRoZSBuZXcgdHlwZS4KLVRoZSA8
ZW0+VHlwZTwvZW0+IGVsZW1lbnQgc3BlY2lmaWVzIGl0IGluIHRlcm1zIG9mIG90aGVyIHR5cGVz
LgotVGhlIDxlbT5kZXNjcmlwdGl2ZT48L2VtPiBlbGVtZW50Ci1wcm92aWRlcyBpdHMgZG9jdW1l
bnRhdGlvbiBpZiBhbnkuCi1UaGUgPGVtPmlkPC9lbT4gYXR0cmlidXRlIHNwZWNpZmllcyB0aGUg
YWJzb2x1dGUgc2NvcGVkIG5hbWUgb2YgdGhlIHR5cGVkZWYuCi08L3A+Ci0KLTxwcmUgY2xhc3M9
ImR0ZCI+Ci0mbHQ7IUVMRU1FTlQgVHlwZWRlZiAod2ViaWRsLCBkZXNjcmlwdGl2ZT8sIEV4dGVu
ZGVkQXR0cmlidXRlTGlzdD8sIChUeXBlKSkgPgotJmx0OyFBVFRMSVNUIFR5cGVkZWYgbmFtZSBD
REFUQSAjUkVRVUlSRUQKLSAgICAgICAgICAgICAgICAgIGlkIENEQVRBICNSRVFVSVJFRCA+Ci08
L3ByZT4KLQotPGg0PkltcGxlbWVudHM8L2g0PgotCi08cD4KLUFuIDxlbT5JbXBsZW1lbnRzPC9l
bT4gcmVwcmVzZW50cyBXZWIgSURMJ3MKLTxjb2RlPjxpPlNjb3BlZE5hbWU8L2k+IGltcGxlbWVu
dHMgPGk+U2NvcGVkTmFtZTwvaT47PC9jb2RlPgotc3ludGF4LiBUaGUgPGVtPm5hbWUxPC9lbT4g
YW5kIDxlbT5uYW1lMjwvZW0+IGF0dHJpYnV0ZXMgZ2l2ZSB0aGUKLWZpcnN0IGFuZCBzZWNvbmQg
c2NvcGVkIG5hbWVzIHJlc3BlY3RpdmVseS4KLVRoZSA8ZW0+ZGVzY3JpcHRpdmU+PC9lbT4gZWxl
bWVudAotcHJvdmlkZXMgdGhlIDxlbT5JbXBsZW1lbnRzPC9lbT4ncyBkb2N1bWVudGF0aW9uIGlm
IGFueS4KLTwvcD4KLQotPHByZSBjbGFzcz0iZHRkIj4KLSZsdDshRUxFTUVOVCBJbXBsZW1lbnRz
ICh3ZWJpZGwsIGRlc2NyaXB0aXZlPywgRXh0ZW5kZWRBdHRyaWJ1dGVMaXN0PykgPgotJmx0OyFB
VFRMSVNUIEltcGxlbWVudHMgbmFtZTEgQ0RBVEEgI1JFUVVJUkVECi0gICAgICAgICAgICAgICAg
ICAgICBuYW1lMiBDREFUQSAjUkVRVUlSRUQgPgotPC9wcmU+Ci0KLTxoND5Db25zdDwvaDQ+Ci0K
LTxwPgotPGVtPkNvbnN0PC9lbT4gcmVwcmVzZW50cyBXZWIgSURMJ3MKLTxjb2RlPmNvbnN0IDxp
PlR5cGU8L2k+IDxpPmlkZW50aWZpZXI8L2k+ID0gPGk+Q29uc3RFeHByPC9pPjs8L2NvZGU+Ci1z
eW50YXguCi1UaGUgPGVtPlR5cGU8L2VtPiBzcGVjaWZpZXMgdGhlIGNvbnN0YW50J3MgdHlwZSwg
dGhlCi08ZW0+bmFtZTwvZW0+IGF0dHJpYnV0ZSBzcGVjaWZpZXMgdGhlIGNvbnN0YW50J3MgbmFt
ZSwgYW5kIHRoZQotPGVtPnZhbHVlPC9lbT4gYXR0cmlidXRlIHNwZWNpZmllcyBpdHMgdmFsdWUu
Ci1UaGUgPGVtPmRlc2NyaXB0aXZlPjwvZW0+IGVsZW1lbnQKLXByb3ZpZGVzIHRoZSA8ZW0+Q29u
c3Q8L2VtPidzIGRvY3VtZW50YXRpb24gaWYgYW55LgotVGhlIDxlbT5pZDwvZW0+IGF0dHJpYnV0
ZSBzcGVjaWZpZXMgdGhlIGFic29sdXRlIHNjb3BlZCBuYW1lIG9mIHRoZSBjb25zdC4KLTwvcD4K
LQotPHByZSBjbGFzcz0iZHRkIj4KLSZsdDshRUxFTUVOVCBDb25zdCAod2ViaWRsLCBkZXNjcmlw
dGl2ZT8sIEV4dGVuZGVkQXR0cmlidXRlTGlzdD8sIFR5cGUpID4KLSZsdDshQVRUTElTVCBDb25z
dCBuYW1lIENEQVRBICNSRVFVSVJFRAotICAgICAgICAgICAgICAgIHZhbHVlIENEQVRBICNJTVBM
SUVECi0gICAgICAgICAgICAgICAgaWQgQ0RBVEEgI1JFUVVJUkVEID4KLTwvcHJlPgotCi08aDQ+
U3RyaW5naWZpZXI8L2g0PgotCi08cD4KLUEgPGVtPlN0cmluZ2lmaWVyPC9lbT4gcmVwcmVzZW50
cyB0aGUgV2ViIElETCA8Y29kZT5zdHJpbmdpZmllcjs8L2NvZGU+Ci1zeW50YXggYXMgYW4gaW50
ZXJmYWNlIG1lbWJlci4KLVRoZSA8ZW0+ZGVzY3JpcHRpdmU+PC9lbT4gZWxlbWVudAotcHJvdmlk
ZXMgdGhlIDxlbT5TdHJpbmdpZmllcjwvZW0+J3MgZG9jdW1lbnRhdGlvbiBpZiBhbnkuCi08L3A+
Ci0KLTxwcmUgY2xhc3M9ImR0ZCI+Ci0mbHQ7IUVMRU1FTlQgU3RyaW5naWZpZXIgKHdlYmlkbCwg
ZGVzY3JpcHRpdmU/LCBFeHRlbmRlZEF0dHJpYnV0ZUxpc3Q/KSA+Ci08L3ByZT4KLQotPGg0PkF0
dHJpYnV0ZTwvaDQ+Ci0KLTxwPgotQW4gPGVtPkF0dHJpYnV0ZTwvZW0+IHJlcHJlc2VudHMgYW4g
YXR0cmlidXRlIGFzIGFuIGludGVyZmFjZSBtZW1iZXIuCi1UaGUgPGVtPlR5cGU8L2VtPiBlbGVt
ZW50IHNwZWNpZmllcyBpdHMgdHlwZS4gVGhlIDxlbT5uYW1lPC9lbT4KLWF0dHJpYnV0ZSBzcGVj
aWZpZXMgaXRzIG5hbWUuIEVhY2ggb2YgdGhlIDxlbT5zdHJpbmdpZmllcjwvZW0+LCA8ZW0+c3Rh
dGljPC9lbT4gYW5kCi08ZW0+cmVhZG9ubHk8L2VtPiBhdHRyaWJ1dGVzIGlzIHNldCB0byBhIHZh
bHVlIHRoZSBzYW1lIGFzIHRoZSBhdHRyaWJ1dGUKLW5hbWUgd2hlbiB0aGUgY29ycmVzcG9uZGlu
ZyBrZXl3b3JkIGFwcGVhcnMgaW4gdGhlIFdlYiBJREwgaW5wdXQuIFRoZSA8ZW0+aW5oZXJpdDwv
ZW0+IGF0dHJpYnV0ZSBpcyBzZXQgdG8gPGVtPmluaGVyaXQ8L2VtPiB3aGVuIHRoZSBhdHRyaWJ1
dGUgaW5oZXJpdHMgaXRzIGdldHRlci4KLTwvcD4KLQotCi08cD4KLVRoZSA8ZW0+ZGVzY3JpcHRp
dmU+PC9lbT4gZWxlbWVudCBwcm92aWRlcyB0aGUgYXR0cmlidXRlJ3MgZG9jdW1lbnRhdGlvbgot
aWYgYW55LgotVGhlIDxlbT5pZDwvZW0+IGF0dHJpYnV0ZSBzcGVjaWZpZXMgdGhlIGFic29sdXRl
IHNjb3BlZCBuYW1lIG9mIHRoZSBhdHRyaWJ1dGUuCi08L3A+Ci0KLTxwcmUgY2xhc3M9ImR0ZCI+
Ci0mbHQ7IUVMRU1FTlQgQXR0cmlidXRlICh3ZWJpZGwsIGRlc2NyaXB0aXZlPywgRXh0ZW5kZWRB
dHRyaWJ1dGVMaXN0PywgKFR5cGUpKSA+Ci0mbHQ7IUFUVExJU1QgQXR0cmlidXRlIHN0cmluZ2lm
aWVyIChzdHJpbmdpZmllcikgI0lNUExJRUQKLSAgICAgICAgICAgICAgICAgICAgcmVhZG9ubHkg
KHJlYWRvbmx5KSAjSU1QTElFRAotICAgICAgICAgICAgICAgICAgICBpbmhlcml0IChpbmhlcml0
KSAjSU1QTElFRAotICAgICAgICAgICAgICAgICAgICBzdGF0aWMgKHN0YXRpYykgI0lNUExJRUQK
LSAgICAgICAgICAgICAgICAgICAgbmFtZSBDREFUQSAjUkVRVUlSRUQKLSAgICAgICAgICAgICAg
ICAgICAgaWQgQ0RBVEEgI1JFUVVJUkVEID4KLQotPC9wcmU+Ci0KLQotPGg0Pk9wZXJhdGlvbjwv
aDQ+Ci0KLTxwPgotQW4gPGVtPk9wZXJhdGlvbjwvZW0+IHJlcHJlc2VudHMgYSBtZXRob2Qgb24g
aW50ZXJmYWNlLgotVGhlIDxlbT5UeXBlPC9lbT4gZWxlbWVudCBzcGVjaWZpZXMgaXRzIHJldHVy
biB0eXBlLiBUaGUgPGVtPm5hbWU8L2VtPgotYXR0cmlidXRlIHNwZWNpZmllcyBpdHMgbmFtZS4K
LTwvcD4KLQotPHA+Ci1FYWNoIG9mIHRoZSA8ZW0+c3RyaW5naWZpZXI8L2VtPiwgPGVtPnN0YXRp
YzwvZW0+LCA8ZW0+Z2V0dGVyPC9lbT4sCi08ZW0+c2V0dGVyPC9lbT4sIDxlbT5jcmVhdG9yPC9l
bT4sIDxlbT5kZWxldGVyPC9lbT4gYW5kIDxlbT5sZWdhY3ljYWxsZXI8L2VtPiwgPGVtPnNlcmlh
bGl6ZXI8L2VtPgotYXR0cmlidXRlcyBpcyBzZXQgdG8gYSB2YWx1ZSB0aGUgc2FtZSBhcyB0aGUg
YXR0cmlidXRlCi1uYW1lIHdoZW4gdGhlIGNvcnJlc3BvbmRpbmcga2V5d29yZCBhcHBlYXJzIGlu
IHRoZSBXZWIgSURMIGlucHV0LgotPC9wPgotCi0KLTxwPgotVGhlIDxlbT5kZXNjcmlwdGl2ZT48
L2VtPiBlbGVtZW50IHByb3ZpZGVzIHRoZSBhdHRyaWJ1dGUncyBkb2N1bWVudGF0aW9uCi1pZiBh
bnkuCi1UaGUgPGVtPmlkPC9lbT4gYXR0cmlidXRlIHNwZWNpZmllcyB0aGUgYWJzb2x1dGUgc2Nv
cGVkIG5hbWUgb2YgdGhlIG9wZXJhdGlvbiBpZiBpdCBoYXMgb25lLgotPC9wPgotCi08cD4KLUFu
IDxlbT5Bcmd1bWVudDwvZW0+IGlzIGFuIGFyZ3VtZW50IHRvIGFuIG9wZXJhdGlvbi4KLVRoZSA8
ZW0+VHlwZTwvZW0+IGVsZW1lbnQgc3BlY2lmaWVzIGl0cyB0eXBlLiBUaGUgPGVtPm5hbWU8L2Vt
PgotYXR0cmlidXRlIHNwZWNpZmllcyBpdHMgbmFtZSBpZiBpdCBoYXMgb25lLgotPC9wPgotCi08
cD4KLUVhY2ggb2YgdGhlIDxlbT5vcHRpb25hbDwvZW0+IGFuZCA8ZW0+ZWxsaXBzaXM8L2VtPgot
YXR0cmlidXRlcyBpcyBzZXQgdG8gYSB2YWx1ZSB0aGUgc2FtZSBhcyB0aGUgYXR0cmlidXRlCi1u
YW1lIHdoZW4gdGhlIGNvcnJlc3BvbmRpbmcgc3ludGF4IGFwcGVhcnMgaW4gdGhlIFdlYiBJREwg
aW5wdXQuCi08L3A+Ci0KLTxwPlRoZQotPGVtPnZhbHVlPC9lbT4gYXR0cmlidXRlIHVzZWQgb24g
b3B0aW9uYWwgYXJndW1lbnRzIHNwZWNpZmllcyBkZWZhdWx0IHZhbHVlIGZvciBub24tc3RyaW5n
IHZhbHVlcywgYW5kIDxlbT5zdHJpbmd2YWx1ZTwvZW0+IGZvciBzdHJpbmcgdmFsdWVzLjwvcD4K
LQotCi08cHJlIGNsYXNzPSJkdGQiPgotJmx0OyFFTEVNRU5UIE9wZXJhdGlvbiAod2ViaWRsLCBk
ZXNjcmlwdGl2ZT8sIEV4dGVuZGVkQXR0cmlidXRlTGlzdD8sCi0gICAgICAgIChUeXBlKSwgQXJn
dW1lbnRMaXN0KSA+Ci0mbHQ7IUFUVExJU1QgT3BlcmF0aW9uIHN0cmluZ2lmaWVyIChzdHJpbmdp
ZmllcikgI0lNUExJRUQKLSAgICAgICAgICAgICAgICAgICAgc3RhdGljIChzdGF0aWMpICNJTVBM
SUVECi0gICAgICAgICAgICAgICAgICAgIGdldHRlciAoZ2V0dGVyKSAjSU1QTElFRAotICAgICAg
ICAgICAgICAgICAgICBzZXR0ZXIgKHNldHRlcikgI0lNUExJRUQKLSAgICAgICAgICAgICAgICAg
ICAgY3JlYXRvciAoY3JlYXRvcikgI0lNUExJRUQKLSAgICAgICAgICAgICAgICAgICAgZGVsZXRl
ciAoZGVsZXRlcikgI0lNUExJRUQKLSAgICAgICAgICAgICAgICAgICAgc2VyaWFsaXplciAoc2Vy
aWFsaXplcikgI0lNUExJRUQKLSAgICAgICAgICAgICAgICAgICAgbGVnYWN5Y2FsbGVyIChsZWdh
Y3ljYWxsZXIpICNJTVBMSUVECi0gICAgICAgICAgICAgICAgICAgIG5hbWUgTk1UT0tFTiAjSU1Q
TElFRAotICAgICAgICAgICAgICAgICAgICBpZCBOTVRPS0VOICNJTVBMSUVEID4KLQotCi0mbHQ7
IUVMRU1FTlQgQXJndW1lbnRMaXN0IChBcmd1bWVudCopID4KLQotJmx0OyFFTEVNRU5UIEFyZ3Vt
ZW50IChkZXNjcmlwdGl2ZT8sIEV4dGVuZGVkQXR0cmlidXRlTGlzdD8sIChUeXBlKSkgPgotJmx0
OyFBVFRMSVNUIEFyZ3VtZW50Ci0gICAgICAgICAgICAgICAgICAgb3B0aW9uYWwgKG9wdGlvbmFs
KSAjSU1QTElFRAotICAgICAgICAgICAgICAgICAgIGVsbGlwc2lzIChlbGxpcHNpcykgI0lNUExJ
RUQKLSAgICAgICAgICAgICAgICB2YWx1ZSBDREFUQSAjSU1QTElFRAotICAgICAgICAgICAgICAg
IHN0cmluZ3ZhbHVlIENEQVRBICNJTVBMSUVECi0gICAgICAgICAgICAgICAgICAgbmFtZSBOTVRP
S0VOICNSRVFVSVJFRCA+Ci08L3ByZT4KLQotPGg0PlNlcmlhbGl6ZXI8L2g0PgotPHA+QSA8ZW0+
U2VyaWFsaXplcjwvZW0+IHJlcHJlc2VudHMgYSBzZXJpYWxpemVyIGZvciBhbiBpbnRlcmZhY2Us
IGVpdGhlciBkZWZpbmVkIGluIHRoZSBwcm9zZSBvciB2aWEgYSBwYXR0ZXJuLjwvcD4KLQotPHA+
VGhlIDxlbT5kZXNjcmlwdGl2ZTwvZW0+IGVsZW1lbnQgcHJvdmlkZXMgdGhlIHNlcmlhbGl6ZXIn
cyBkb2N1bWVudGF0aW9uIGlmIGFueS48L3A+Ci0KLQotPHA+VGhlIDxlbT5hdHRyaWJ1dGU8L2Vt
PiBhdHRyaWJ1dGUgZGVmaW5lcyB0aGUgYXR0cmlidXRlIHRoYXQgaXMgdXNlZCBmb3Igc2VyaWFs
aXphdGlvbiBpZiBhbnkuPC9wPgotCi08cD5UaGUgb3B0aW9uYWwgPGVtPk1hcDwvZW0+IGFuZCA8
ZW0+TGlzdDwvZW0+IGVsZW1lbnRzIGRlc2NyaWJlIHRoZSBwYXR0ZXJuIChpZiBhbnkpIGZvciB0
aGUgc2VyaWFsaXplci4gVGhleSB0YWtlIDxlbT5QYXR0ZXJuQXR0cmlidXRlPC9lbT4gZWxlbWVu
dHMgd2l0aCBhIDxlbT5uYW1lPC9lbT4gYXR0cmlidXRlIHRoYXQgZGVzY3JpYmVzIHRoZSBhdHRy
aWJ1dGVzIHVzZWQgZm9yIHNlcmlhbGl6YXRpb24uPC9wPgotCi08cD48ZW0+TWFwPC9lbT4gZWxl
bWVudHMgdGFrZSBhIDxlbT5wYXR0ZXJuPC9lbT4gYXR0cmlidXRlIHRoYXQgY2FuIGJlIHNldCB0
byBlaXRoZXIgImdldHRlciIgKGlmIHRoZSBnZXR0ZXIgaXMgdXNlZCBmb3Igc2VyaWFsaXphdGlv
biksICJhbGwiIGlmIGFsbCBzZXJpYWxpemFibGUgYXR0cmlidXRlcyBhcmUgdG8gYmUgdXNlZCwg
b3IgInNlbGVjdGlvbiIgaWYgdGhlIGF0dHJpYnV0ZXMgbmFtZWQgYXMgY2hpbGRyZW4gZWxlbWVu
dHMgYXJlIHRvIGJlIHVzZWQuIE9wdGlvbmFsbHksIHRoZXkgdGFrZSBhIDxlbT5pbmhlcml0PC9l
bT4gYXR0cmlidXRlIHNldCB0byAiaW5oZXJpdCIgaWYgdGhlIHNlcmlhbGl6YXRpb24gdGFrZXMg
YWxzbyBpbnRvIGFjY291bnQgaW5oZXJpdGVkIGF0dHJpYnV0ZXMuPC9wPgotCi08cD48ZW0+TGlz
dDwvZW0+IGVsZW1lbnRzIHRha2UgYSA8ZW0+cGF0dGVybjwvZW0+IGF0dHJpYnV0ZSB0aGF0IGNh
biBiZSBzZXQgdG8gZWl0aGVyICJnZXR0ZXIiIChpZiB0aGUgZ2V0dGVyIGlzIHVzZWQgZm9yIHNl
cmlhbGl6YXRpb24pLCBvciAic2VsZWN0aW9uIiBpZiB0aGUgYXR0cmlidXRlcyBuYW1lZCBhcyBj
aGlsZHJlbiBlbGVtZW50cyBhcmUgdG8gYmUgdXNlZC48L3A+Ci0KLTxwcmUgY2xhc3M9ImR0ZCI+
Ci0mbHQ7IUVMRU1FTlQgU2VyaWFsaXplciAod2ViaWRsLCBkZXNjcmlwdGl2ZT8sIEV4dGVuZGVk
QXR0cmlidXRlTGlzdD8sIChNYXAgfCBMaXN0KT8pID4KLSZsdDshQVRUTElTVCBTZXJpYWxpemVy
IGF0dHJpYnV0ZSBDREFUQSAjSU1QTElFRCA+Ci0KLSZsdDshRUxFTUVOVCBNYXAgICgoUGF0dGVy
bkF0dHJpYnV0ZSopKSA+Ci0KLSZsdDshQVRUTElTVCBNYXAgaW5oZXJpdCAoaW5oZXJpdCkgI0lN
UExJRUQKLSAgICAgICAgICAgICAgICAgcGF0dGVybiAoZ2V0dGVyfGFsbHxzZWxlY3Rpb24pICNS
RVFVSVJFRD4KLQotJmx0OyFFTEVNRU5UIExpc3QgICgoUGF0dGVybkF0dHJpYnV0ZSopKSA+Ci0K
LSZsdDshQVRUTElTVCBMaXN0IHBhdHRlcm4gKGdldHRlcnxzZWxlY3Rpb24pICNSRVFVSVJFRD4K
LQotJmx0OyFFTEVNRU5UIFBhdHRlcm5BdHRyaWJ1dGUgRU1QVFk+Ci0mbHQ7IUFUVExJU1QgUGF0
dGVybkF0dHJpYnV0ZSBuYW1lIENEQVRBICNSRVFVSVJFRD4KLQotPC9wcmU+Ci0KLTxoND5JdGVy
YXRvcjwvaDQ+Ci08cD5BbiA8ZW0+SXRlcmF0b3I8L2VtPiBlbGVtZW50IGRlZmluZXMgIHdoZXRo
ZXIgdGhlIGludGVyZmFjZSBoYXMgYSBjdXN0b20gaXRlcmF0b3I7IHRoZSB0eXBlIG9mIHRoZSBp
dGVyYXRlZCBvYmplY3RzIGlzIGRlZmluZWQgaW4gdGhlIDxlbT5UeXBlPC9lbT4gY2hpbGQuIElm
IHRoYXQgaW50ZXJhdG9yIGltcGxlbWVudHMgYSBwYXJ0aWN1bGFyIGludGVyZmFjZSwgdGhlIG5h
bWUgb2YgdGhhdCBpbnRlcmZhY2UgaXMgc2V0IGluIHRoZSA8ZW0+aW50ZXJmYWNlPC9lbT4gYXR0
cmlidXRlLjwvcD4KLTxwcmUgY2xhc3M9ImR0ZCI+Ci0mbHQ7IUVMRU1FTlQgSXRlcmF0b3IgKHdl
YmlkbCwgZGVzY3JpcHRpdmU/LCBFeHRlbmRlZEF0dHJpYnV0ZUxpc3Q/LCBUeXBlKSA+Ci0mbHQ7
IUFUVExJU1QgSXRlcmF0b3IgaW50ZXJmYWNlIENEQVRBICNJTVBMSUVEPgotPC9wcmU+Ci0KLTxo
ND5JdGVyYXRvck9iamVjdDwvaDQ+Ci08cD5BbiA8ZW0+SXRlcmF0b3JPYmplY3Q8L2VtPiBlbGVt
ZW50IGRlbm90ZXMgdGhhdCB0aGUgaW50ZXJmYWNlIHNlcnZlcyBhcyBhbiBpdGVyYXRvciBvYmpl
Y3QgaW50ZXJmYWNlOyB0aGUgdHlwZSBvZiB0aGUgaXRlcmF0ZWQgb2JqZWN0cyBpcyBkZWZpbmVk
IGluIHRoZSA8ZW0+VHlwZTwvZW0+IGNoaWxkLjwvcD4KLQotPHByZSBjbGFzcz0iZHRkIj4KLSZs
dDshRUxFTUVOVCBJdGVyYXRvck9iamVjdCAod2ViaWRsLCBkZXNjcmlwdGl2ZT8sIEV4dGVuZGVk
QXR0cmlidXRlTGlzdD8sIFR5cGUpID4KLTwvcHJlPgotCi0KLTxoND5EaWN0aW9uYXJ5TWVtYmVy
PC9oND4KLQotPHA+Ci1BIDxlbT5EaWN0aW9uYXJ5TWVtYmVyPC9lbT4gcmVwcmVzZW50cyBhIG1l
bWJlciBvZiBhIGRpY3Rpb25hcnkuCi1UaGUgPGVtPlR5cGU8L2VtPiBlbGVtZW50IHNwZWNpZmll
cyBpdHMgdHlwZS4gVGhlIDxlbT5uYW1lPC9lbT4KLWF0dHJpYnV0ZSBzcGVjaWZpZXMgaXRzIG5h
bWUuIAotPC9wPgotCi08cD4KLVRoZSA8ZW0+ZGVzY3JpcHRpdmU+PC9lbT4gZWxlbWVudCBwcm92
aWRlcyB0aGUgZGljdGlvbmFyeSBtZW1iZXIncyBkb2N1bWVudGF0aW9uCi1pZiBhbnkuCi1UaGUg
PGVtPmlkPC9lbT4gYXR0cmlidXRlIHNwZWNpZmllcyB0aGUgYWJzb2x1dGUgc2NvcGVkIG5hbWUg
b2YgdGhlIGF0dHJpYnV0ZS4KLTwvcD4KLQotPHA+VGhlCi08ZW0+dmFsdWU8L2VtPiBhdHRyaWJ1
dGUgc3BlY2lmaWVzIGl0cyB2YWx1ZSBmb3Igbm9uLXN0cmluZyB2YWx1ZXMsIGFuZCA8ZW0+c3Ry
aW5ndmFsdWU8L2VtPiBmb3Igc3RyaW5nIHZhbHVlcy48L3A+Ci0KLTxwcmUgY2xhc3M9ImR0ZCI+
Ci0mbHQ7IUVMRU1FTlQgRGljdGlvbmFyeU1lbWJlciAod2ViaWRsLCBkZXNjcmlwdGl2ZT8sIEV4
dGVuZGVkQXR0cmlidXRlTGlzdD8sIFR5cGUpID4KLSZsdDshQVRUTElTVCBEaWN0aW9uYXJ5TWVt
YmVyIG5hbWUgQ0RBVEEgI1JFUVVJUkVECi0gICAgICAgICAgICAgICAgICAgIGlkIENEQVRBICNS
RVFVSVJFRAotICAgICAgICAgICAgICAgIHZhbHVlIENEQVRBICNJTVBMSUVECi0gICAgICAgICAg
ICAgICAgc3RyaW5ndmFsdWUgQ0RBVEEgI0lNUExJRUQgPgotCi08L3ByZT4KLQotCi08aDQ+RXh0
ZW5kZWQgYXR0cmlidXRlczwvaDQ+Ci0KLTxwPgotQW4gPGVtPkV4dGVuZGVkQXR0cmlidXRlTGlz
dDwvZW0+IGNvbnRhaW5zIG9uZSBvciBtb3JlCi08ZW0+RXh0ZW5kZWRBdHRyaWJ1dGU8L2VtPiBl
bGVtZW50LiBFYWNoIDxlbT5FeHRlbmRlZEF0dHJpYnV0ZTwvZW0+Ci1oYXM6Ci08L3A+Ci08dWw+
Ci08bGk+Ci1hIDxlbT5uYW1lPC9lbT4gYXR0cmlidXRlIGdpdmluZyB0aGUgbmFtZSBvZiB0aGUg
ZXh0ZW5kZWQgYXR0cmlidXRlOwotPGxpPgotaWYgdGhlIGV4dGVuZGVkIGF0dHJpYnV0ZSBjb250
YWlucyBhbiA8Y29kZT49PC9jb2RlPiBzaWduIGZvbGxvd2VkIGJ5IGEKLXZhbHVlLCBhIDxlbT52
YWx1ZTwvZW0+IGF0dHJpYnV0ZSBnaXZpbmcgdGhlIHZhbHVlLCB3aGljaCBpcyBhIHNjb3BlZAot
bmFtZSBvciBhbiBpZGVudGlmaWVyOwotPGxpPgotaWYgdGhlIGV4dGVuZGVkIGF0dHJpYnV0ZSBj
b250YWlucyBwYXJlbnRoZXNlcyAoZWl0aGVyIHdpdGggb3Igd2l0aG91dAotYW4gPGNvZGU+PTwv
Y29kZT4gc2lnbiksIGFuIDxlbT5Bcmd1bWVudExpc3Q8L2VtPiBlbGVtZW50IGdpdmluZyB0aGUK
LWNvbnRlbnRzIG9mIHRoZSBwYXJlbnRoZXNlcy4KLTwvdWw+Ci08cD4KLUlmIHRoZSA8ZW0+dmFs
dWU8L2VtPiBhdHRyaWJ1dGUgYW5kIHRoZSA8ZW0+QXJndW1lbnRMaXN0PC9lbT4gZWxlbWVudCBh
cmUKLWJvdGggcHJlc2VudCwgdGhlbiA8ZW0+dmFsdWU8L2VtPiBtdXN0IGdpdmUgYW4gaWRlbnRp
ZmllciByYXRoZXIgdGhhbgotYSBzY29wZWQgbmFtZS4KLTwvcD4KLQotPHByZSBjbGFzcz0iZHRk
Ij4KLSZsdDshRUxFTUVOVCBFeHRlbmRlZEF0dHJpYnV0ZUxpc3QgKEV4dGVuZGVkQXR0cmlidXRl
KykgPgotCi0mbHQ7IUVMRU1FTlQgRXh0ZW5kZWRBdHRyaWJ1dGUgKHdlYmlkbCwgQXJndW1lbnRM
aXN0PykgPgotJmx0OyFBVFRMSVNUIEV4dGVuZGVkQXR0cmlidXRlIG5hbWUgTk1UT0tFTiAjUkVR
VUlSRUQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBDREFUQSAjSU1QTElFRCA+
Ci08L3ByZT4KLQotPGg0PlR5cGU8L2g0PgotCi08cD4KLTxlbT5UeXBlPC9lbT4gcmVwcmVzZW50
cyBhIHR5cGUuIEl0IGhhcyBvbmUgb2YgdGhlc2UgZm9ybXM6Ci08L3A+Ci08dWw+Ci08bGk+Ci1U
aGUgPGNvZGU+YW55PC9jb2RlPiwgPGNvZGU+b2JqZWN0PC9jb2RlPiBhbmQgPGNvZGU+dm9pZDwv
Y29kZT4KLXR5cGVzIGhhdmUgdGhlIGF0dHJpYnV0ZQotPGVtPnR5cGU8L2VtPiBzZXQgdG8gdGhl
IHR5cGUsIGFuZCBubyBvdGhlciBhdHRyaWJ1dGVzIG9yIGVsZW1lbnRzLgotTm90ZSB0aGF0IHRo
ZSA8Y29kZT52b2lkPC9jb2RlPiB0eXBlIGFwcGVhcnMgb25seSB3aGVuIHRoZSA8ZW0+VHlwZTwv
ZW0+Ci1lbGVtZW50IGlzIGEgY2hpbGQgb2YgPGVtPk9wZXJhdGlvbjwvZW0+LgotPGxpPgotQSB0
eXBlIHRoYXQgaXMgYW4gaW50ZXJmYWNlIGhhcyB0aGUgYXR0cmlidXRlIDxlbT5uYW1lPC9lbT4g
c2V0IHRvIHRoZQotbmFtZSBvZiB0aGF0IGludGVyZmFjZSwgYW5kIG5vIG90aGVyIGF0dHJpYnV0
ZXMgb3IgZWxlbWVudHMuCi08bGk+Ci1Gb3IgdGhlIHByaW1pdGl2ZSB0eXBlcyA8Y29kZT5zaG9y
dDwvY29kZT4sIDxjb2RlPnVuc2lnbmVkIHNob3J0PC9jb2RlPiwKLTxjb2RlPmxvbmc8L2NvZGU+
LCA8Y29kZT51bnNpZ25lZCBsb25nPC9jb2RlPiwgPGNvZGU+bG9uZyBsb25nPC9jb2RlPiwKLTxj
b2RlPnVuc2lnbmVkIGxvbmcgbG9uZzwvY29kZT4sIDxjb2RlPmZsb2F0PC9jb2RlPiwgPGNvZGU+
ZG91YmxlPC9jb2RlPiwKLTxjb2RlPmJvb2xlYW48L2NvZGU+LCA8Y29kZT5vY3RldDwvY29kZT4s
IDxjb2RlPmJ5dGU8L2NvZGU+IGFuZCA8Y29kZT5ET01TdHJpbmc8L2NvZGU+LAotdGhlcmUgaXMg
YW4gYXR0cmlidXRlIDxlbT50eXBlPC9lbT4KLXdob3NlIHZhbHVlIGlzIG9uZSBvZiB0aG9zZSBz
dHJpbmdzLCBhbmQgbm8gb3RoZXIgYXR0cmlidXRlcyBvciBlbGVtZW50cy4KLUhvd2V2ZXIsIGlm
IHRoZSB0eXBlIHdhcyBzcGVjaWZpZWQgaW4gdGhlIFdlYiBJREwgd2l0aCBhIHRyYWlsaW5nIDxj
b2RlPj88L2NvZGU+Ci1zaWduLCB0aGVuIHRoZXJlIGlzIGFuIGF0dHJpYnV0ZSA8ZW0+bnVsbGFi
bGU8L2VtPiB3aXRoIHRoZSB2YWx1ZQotPGNvZGU+bnVsbGFibGU8L2NvZGU+LgotPC91bD4KLTxw
PgotVGhlIHJlc3RyaWN0aW9ucyBvbiB3aGljaCBjb21iaW5hdGlvbnMgb2YgZWxlbWVudHMgYW5k
IGF0dHJpYnV0ZXMgYXJlCi1wZXJtaXR0ZWQgYXJlIG5vdCBlbmNvZGVkIGJ5IHRoZSBEVEQuCi08
L3A+Ci08cD4KLVRoZSA8ZW0+ZGVzY3JpcHRpdmU8L2VtPiBlbGVtZW50IHByb3ZpZGVzIHRoZSBk
b2N1bWVudGF0aW9uCi1pZiBhbnksIHdoZW4gdGhlIDxlbT5UeXBlPC9lbT4gaXMgYSBjaGlsZCBv
ZiA8ZW0+T3BlcmF0aW9uPC9lbT4sIGFuZCB0aHVzCi1yZXByZXNlbnRpbmcgYW4gb3BlcmF0aW9u
J3MgcmV0dXJuIHR5cGUuCi08L3A+Ci0KLTxwPlRoZSA8ZW0+RXh0ZW5kZWRBdHRyaWJ1dGVMaXN0
PC9lbT4gZWxlbWVudCBwcm92aWRlcyB0aGUgb3B0aW9uYWwgZXh0ZW5kZWQgYXR0cmlidXRlcyB0
aGF0IGNhbiBiZSBkZWZpbmVkIGZvciBhIHR5cGUgdGhyb3VnaCB0eXBlZGVmLCAmYWdyYXZlOyBs
YSA8Y29kZT50eXBlZGVmIFtDbGFtcF0gb2N0ZXQgVmFsdWU7PC9jb2RlPi48L3A+Ci0KLTwhLS0g
Y2FuJ3QgdXNlIGVudW1lcmF0ZWQgdmFsdWVzIGZvciB0aGUgdmFsdWVzIG9mIHR5cGUsIHNpbmNl
IERURCBkb24ndCBhbGxvdyBlbnVtZXJhdGVkIHZhbHVlcyB0byBoYXZlIHNwYWNlIGluIHRoZW0g
KHdoaWNoIHdvdWxkIGJlIG5lZWRlZCBlLmcuIGZvciAibG9uZyBsb25nIikgLS0+Ci08cHJlIGNs
YXNzPSJkdGQiPgotJmx0OyFFTEVNRU5UIFR5cGUgKGRlc2NyaXB0aXZlPywgRXh0ZW5kZWRBdHRy
aWJ1dGVMaXN0PywgVHlwZSopID4KLSZsdDshQVRUTElTVCBUeXBlIHR5cGUgQ0RBVEEgI0lNUExJ
RUQKLSAgICAgICAgICAgICAgIG5hbWUgTk1UT0tFTiAjSU1QTElFRAotICAgICAgICAgICAgICAg
bnVsbGFibGUgKG51bGxhYmxlKSAjSU1QTElFRCA+Ci08L3ByZT4KLQotPGg0PlNlcXVlbmNlPC9o
ND4KLQotPHA+Rm9yIGEgc2VxdWVuY2UgdHlwZSwgdGhlIDxlbT5UeXBlPC9lbT4gZWxlbWVudCB3
aXRoIGFuIGF0dHJpYnV0ZSA8ZW0+dHlwZTwvZW0+IHNldCB0byA8ZW0+c2VxdWVuY2U8L2VtPiBj
b250YWlucyBhbiBlbGVtZW50IDxlbT5UeXBlPC9lbT4gZ2l2aW5nIHRoZSBzZXF1ZW5jZSBlbGVt
ZW50IHR5cGUsIGFuZCBubyBvdGhlciBhdHRyaWJ1dGVzIG9yIGVsZW1lbnRzLiBJZiB0aGUgc2Vx
dWVuY2UgaXMgc3BlY2lmaWVkIGluIHRoZSBXZWIgSURMIHdpdGggYSB0cmFpbGluZyA8Y29kZT4/
PC9jb2RlPgotc2lnbiwgdGhlbiB0aGVyZSBpcyBhbiBhdHRyaWJ1dGUgPGVtPm51bGxhYmxlPC9l
bT4gd2l0aCB0aGUgdmFsdWUKLTxjb2RlPm51bGxhYmxlPC9jb2RlPi4KLQotCi08aDQ+QXJyYXk8
L2g0PgotCi08cD5Gb3IgYW4gYXJyYXkgdHlwZSwgdGhlIDxlbT5UeXBlPC9lbT4gZWxlbWVudCB3
aXRoIGFuIGF0dHJpYnV0ZSA8ZW0+dHlwZTwvZW0+IHNldCB0byA8ZW0+YXJyYXk8L2VtPiBjb250
YWlucyBhbiBlbGVtZW50IDxlbT5UeXBlPC9lbT4gZ2l2aW5nIHRoZSBhcnJheSBlbGVtZW50IHR5
cGUuIElmIHRoZSBhcnJheSBpcyBzcGVjaWZpZWQgaW4gdGhlIFdlYiBJREwgd2l0aCBhIHRyYWls
aW5nIDxjb2RlPj88L2NvZGU+Ci1zaWduLCB0aGVuIHRoZXJlIGlzIGFuIGF0dHJpYnV0ZSA8ZW0+
bnVsbGFibGU8L2VtPiB3aXRoIHRoZSB2YWx1ZQotPGNvZGU+bnVsbGFibGU8L2NvZGU+LgotCi08
aDQ+VW5pb248L2g0PgotCi08cD5Gb3IgYSB1bmlvbiB0eXBlLCB0aGUgPGVtPlR5cGU8L2VtPiBl
bGVtZW50IHdpdGggYW4gYXR0cmlidXRlIDxlbT50eXBlPC9lbT4gc2V0IHRvIDxlbT51bmlvbjwv
ZW0+IGNvbnRhaW5zIGF0IGxlYXN0IHR3byBlbGVtZW50IDxlbT5UeXBlPC9lbT4gZ2l2aW5nIHRo
ZSB1bmlvbiBtZW1iZXJzIHR5cGUuIElmIHRoZSB1bmlvbiBpcyBzcGVjaWZpZWQgaW4gdGhlIFdl
YiBJREwgd2l0aCBhIHRyYWlsaW5nIDxjb2RlPj88L2NvZGU+Ci1zaWduLCB0aGVuIHRoZXJlIGlz
IGFuIGF0dHJpYnV0ZSA8ZW0+bnVsbGFibGU8L2VtPiB3aXRoIHRoZSB2YWx1ZQotPGNvZGU+bnVs
bGFibGU8L2NvZGU+LgotCi0KLQotPGg0PkRlc2NyaXB0aXZlIGVsZW1lbnRzPC9oND4KLQotPHA+
Ci1UaGUgZm9sbG93aW5nIGVsZW1lbnRzIGNvbnRhaW4gZG9jdW1lbnRhdGlvbiwgZXh0cmFjdGVk
IGZyb20gdGhlCi1Eb3h5Z2VuLWxpa2UgY29tbWVudHMgaW4gdGhlIGlucHV0LiA8Y29kZT4mbHQ7
cGFyYW0+PC9jb2RlPgotZGVyaXZlcyBvbmx5IGZyb20gYSA8Y29kZT5ccGFyYW08L2NvZGU+IGNv
bW1hbmQgdXNlZCBpbnNpZGUgYQotPGNvZGU+XGRlZi1kZXZpY2UtY2FwPC9jb2RlPiBibG9jazsg
YW55IG90aGVyIDxjb2RlPlxwYXJhbTwvY29kZT4gY29tbWFuZAotaXMgbGlua2VkIHRvIGEgcGFy
YW1ldGVyIChhcmd1bWVudCkgb2YgdGhlIG1ldGhvZCBiZWluZyBkb2N1bWVudGVkLgotPC9wPgot
Ci08cHJlIGNsYXNzPSJkdGQiPgotJmx0OyFFTEVNRU5UIGRlc2NyaXB0aXZlIChkZXNjcmlwdGlv
biB8IGJyaWVmIHwgdGhyb3cgfCBhdXRob3IKLSAgICB8IHZlcnNpb24gfCBDb2RlIHwgYXBpLWZl
YXR1cmUgfCBkZXZpY2UtY2FwIHwgZGVmLWFwaS1mZWF0dXJlCi0gICAgfCBkZWYtYXBpLWZlYXR1
cmUtc2V0IHwgZGVmLWRldmljZS1jYXAgfCBkZWYtaW5zdGFudGlhdGVkIHwgcGFyYW0pKiA+Ci0K
LSZsdDshRUxFTUVOVCBkZXNjcmlwdGlvbiAlQmxvY2s7ID4KLQotJmx0OyFFTEVNRU5UIGJyaWVm
ICVJbmxpbmU7ID4KLQotJmx0OyFFTEVNRU5UIHRocm93ICVJbmxpbmU7ID4KLQotJmx0OyFFTEVN
RU5UIGF1dGhvciAlSW5saW5lOyA+Ci0KLSZsdDshRUxFTUVOVCB2ZXJzaW9uICVJbmxpbmU7ID4K
LQotJmx0OyFFTEVNRU5UIENvZGUgJUlubGluZTsgPgotCi0mbHQ7IUVMRU1FTlQgYXBpLWZlYXR1
cmUgJUlubGluZTsgPgotJmx0OyFBVFRMSVNUIGFwaS1mZWF0dXJlIGlkZW50aWZpZXIgQ0RBVEEg
I1JFUVVJUkVEID4KLQotJmx0OyFFTEVNRU5UIGRldmljZS1jYXAgJUlubGluZTsgPgotJmx0OyFB
VFRMSVNUIGRldmljZS1jYXAgaWRlbnRpZmllciBDREFUQSAjUkVRVUlSRUQgPgotCi0mbHQ7IUVM
RU1FTlQgcGFyYW0gJUlubGluZTsgPgotJmx0OyFBVFRMSVNUIHBhcmFtIGlkZW50aWZpZXIgQ0RB
VEEgI1JFUVVJUkVEID4KLQotJmx0OyFFTEVNRU5UIGRlZi1hcGktZmVhdHVyZSAoZGVzY3JpcHRp
dmU/KSA+Ci0mbHQ7IUFUVExJU1QgZGVmLWFwaS1mZWF0dXJlIGlkZW50aWZpZXIgQ0RBVEEgI1JF
UVVJUkVEID4KLQotJmx0OyFFTEVNRU5UIGRlZi1hcGktZmVhdHVyZS1zZXQgKGRlc2NyaXB0aXZl
PykgPgotJmx0OyFBVFRMSVNUIGRlZi1hcGktZmVhdHVyZS1zZXQgaWRlbnRpZmllciBDREFUQSAj
UkVRVUlSRUQgPgotCi0mbHQ7IUVMRU1FTlQgZGVmLWluc3RhbnRpYXRlZCAoZGVzY3JpcHRpdmU/
KSA+Ci0KLSZsdDshRUxFTUVOVCBkZWYtZGV2aWNlLWNhcCAoZGVzY3JpcHRpdmU/KSA+Ci0mbHQ7
IUFUVExJU1QgZGVmLWRldmljZS1jYXAgaWRlbnRpZmllciBDREFUQSAjUkVRVUlSRUQgPgotCi0m
bHQ7IUVMRU1FTlQgcmVmICgjUENEQVRBKSA+Ci08L3ByZT4KLQotPGg0PlhIVE1MIGVsZW1lbnRz
PC9oND4KLQotPHA+Ci1UaGUgZm9sbG93aW5nIFhIVE1MIGVsZW1lbnRzIGFyZSBwYXJ0IG9mIHdp
ZGxwcm9jeG1sOgotPC9wPgotCi08cHJlIGNsYXNzPSJkdGQiPgotJmx0OyFFTEVNRU5UIGEgJUlu
bGluZTsgPgotJmx0OyFBVFRMSVNUIGEgaHJlZiBDREFUQSAjUkVRVUlSRUQgPgotCi0mbHQ7IUVM
RU1FTlQgYiAlSW5saW5lOyA+Ci0KLSZsdDshRUxFTUVOVCBiciBFTVBUWSA+Ci0KLSZsdDshRUxF
TUVOVCBkZCAlRmxvdzsgPgotCi0mbHQ7IUVMRU1FTlQgZGwgKChkdCB8IGRkKSopID4KLQotJmx0
OyFFTEVNRU5UIGR0ICVJbmxpbmU7ID4KLQotJmx0OyFFTEVNRU5UIGVtICVJbmxpbmU7ID4KLQot
Jmx0OyFFTEVNRU5UIGltZyAlSW5saW5lOyA+Ci0mbHQ7IUFUVExJU1QgaW1nIHNyYyBDREFUQSAj
UkVRVUlSRUQgCi0gICAgICAgICAgICAgICAgIGFsdCBDREFUQSAjSU1QTElFRD4KLQotCi0mbHQ7
IUVMRU1FTlQgbGkgJUZsb3c7ID4KLQotJmx0OyFFTEVNRU5UIHAgJUlubGluZTsgPgotCi0mbHQ7
IUVMRU1FTlQgdGFibGUgKHRyKikgPgotCi0mbHQ7IUVMRU1FTlQgdGQgJUZsb3c7ID4KLQotJmx0
OyFFTEVNRU5UIHRoICVGbG93OyA+Ci0KLSZsdDshRUxFTUVOVCB0ciAoKHRoIHwgdGQpKikgPgot
Ci0mbHQ7IUVMRU1FTlQgdWwgKGxpKikgPgotPC9wcmU+Ci0KLQotPGgyPkJpYmxpb2dyYXBoeTwv
aDI+Ci0KLTxwIGlkPSJib25kaSI+Ci1CT05ESSAtIGFuIG9wZW4gc291cmNlIGluZHVzdHJ5IGNv
bGxhYm9yYXRpb24gZm9yIHdpZGdldCBhbmQgd2ViIHRlY2hub2xvZ2llcywKLTxhIGhyZWY9Imh0
dHA6Ly9ib25kaS5vbXRwLm9yZy8iPmh0dHA6Ly9ib25kaS5vbXRwLm9yZy88L2E+Ci08L3A+Ci0K
LTxwIGlkPSJkb3h5Z2VuIj4KLURveHlnZW4gU291cmNlIGNvZGUgZG9jdW1lbnRhdGlvbiBnZW5l
cmF0b3IgdG9vbCwKLTxhIGhyZWY9Imh0dHA6Ly93d3cuc3RhY2submwvfmRpbWl0cmkvZG94eWdl
bi9pbmRleC5odG1sIj4KLWh0dHA6Ly93d3cuc3RhY2submwvfmRpbWl0cmkvZG94eWdlbi9pbmRl
eC5odG1sPC9hPgotPC9wPgotCi08cCBpZD0idzNjZ2VvIj4KLVczQyBHZW9sb2NhdGlvbiBBUEkg
U3BlY2lmaWNhdGlvbiBFZGl0b3IncyBEcmFmdCAzIEFwcmlsIDIwMDksCi08YSBocmVmPSJodHRw
Oi8vZGV2LnczLm9yZy9nZW8vYXBpL3NwZWMtc291cmNlLmh0bWwiPgotaHR0cDovL2Rldi53My5v
cmcvZ2VvL2FwaS9zcGVjLXNvdXJjZS5odG1sPC9hPgotPC9wPgotCi08cCBpZD0id2ViaWRsIj4K
LVdlYiBJREwgVzNDIEVkaXRvcidzIERyYWZ0IDMgTWF5IDIwMTEsCi08YSBocmVmPSJodHRwOi8v
ZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJJREwiPmh0dHA6Ly9kZXYudzMub3JnLzIwMDYvd2Vi
YXBpL1dlYklETDwvYT4KLTwvcD4KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL2V4
YW1wbGVzL01ha2VmaWxlIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL2V4YW1wbGVzL01ha2VmaWxlCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2MTQ0NTNkMjNjMDEzNGQ5NWNkOWM4MmIzY2Q2
MGM2ZDUyZjIzMTJmLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC93aWRscHJvYy9leGFtcGxlcy9NYWtlZmlsZQorKysgL2Rldi9udWxsCkBA
IC0xLDc5ICswLDAgQEAKLSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwotIyAkSWQkCi0jIENvcHlyaWdodCAyMDA5
IEFwbGl4IENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotIyBMaWNlbnNlZCB1bmRl
ciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKLSMgeW91
IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNl
bnNlLgotIyBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKLSMgICAgIGh0
dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAotIyBVbmxlc3MgcmVxdWly
ZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCi0j
IGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJ
UyIgQkFTSVMsCi0jIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5E
LCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgotIyBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBz
cGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCi0jIGxpbWl0YXRpb25z
IHVuZGVyIHRoZSBMaWNlbnNlLgotIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCi0KLVVOQU1FID0gJChzaGVsbCB1
bmFtZSkKLUVYQU1QTEVTRElSID0gLgotIyBUaGUgc2V0dGluZ3Mgb2YgU1JDRElSICh3aGVyZSB0
byBmaW5kIHRoZSB4c2wgc3R5bGUgc2hlZXRzKSwgT0JKRElSICh3aGVyZSB0bwotIyBmaW5kIHdp
ZGxwcm9jIGFuZCB3aWRscHJvY3htbC5kdGQpIGFuZCBFWEFNUExFU09CSkRJUiAod2hlcmUgdG8g
cHV0IHRoZQotIyByZXN1bHRpbmcgaHRtbCBmaWxlcyBhbmQgYW55IGludGVybWVkaWF0ZSBmaWxl
cykgcmVmbGVjdCB0aGUgZGlyZWN0b3J5Ci0jIHN0cnVjdHVyZSBvZiB0aGUgcmVsZWFzZWQgd2lk
bHByb2MuemlwIGZpbGUgd2hlbiB1bnppcHBlZC4gLi4vTWFrZWZpbGUgY2FsbHMKLSMgdGhpcyBN
YWtlZmlsZSB3aXRoIHRoZXNlIHNldHRpbmdzIG92ZXJyaWRkZW4gdG8gcmVmbGVjdCB0aGUgZGly
ZWN0b3J5Ci0jIHN0cnVjdHVyZSBpbiBzdm4uCi1TUkNESVIgPSAuLgotT0JKRElSID0gLi4KLUVY
QU1QTEVTT0JKRElSID0gb2JqCi0KLSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwotIyBMaW51eCBjb25maWd1cmF0
aW9uCi0jCi1pZm5lcSAoLCQoZmlsdGVyIExpbnV4JSwgJChVTkFNRSkpKSAKLQotRVhFU1VGRklY
ID0KLQotZWxzZQotIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCi0jIERhcndpbiBjb25maWd1cmF0aW9uCi0jCi1p
Zm5lcSAoLCQoZmlsdGVyIERhcndpbiUsICQoVU5BTUUpKSkgCi0KLUVYRVNVRkZJWCA9Ci0KLWVs
c2UKLSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIwotIyBXaW5kb3dzIChjeWd3aW4gYnV0IHVzaW5nIE1TIGNvbXBp
bGVyKSBjb25maWd1cmF0aW9uCi0jCi1pZm5lcSAoLCQoZmlsdGVyIENZR1dJTiUsICQoVU5BTUUp
KSkgCi0KLUVYRVNVRkZJWCA9IC5leGUKLQotZW5kaWYKLWVuZGlmCi1lbmRpZgotCi0jIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMKLSMgQ29tbW9uIG1ha2VmaWxlCi0jCi1XSURMUFJPQyA9ICQoT0JKRElSKS93aWRs
cHJvYyQoRVhFU1VGRklYKQotRFREID0gJChPQkpESVIpL3dpZGxwcm9jeG1sLmR0ZAotCi1XSURM
UyA9ICQocGF0c3Vic3QgJChFWEFNUExFU0RJUikvJSwgJSwgJCh3aWxkY2FyZCAkKEVYQU1QTEVT
RElSKS8qLndpZGwpKQotCi10ZXN0IDogJChwYXRzdWJzdCAlLndpZGwsICQoRVhBTVBMRVNPQkpE
SVIpLyUuaHRtbCwgJChXSURMUykpICQoRVhBTVBMRVNPQkpESVIpL3dpZGxodG1sLmNzcwotCUBl
Y2hvICIkQCBwYXNzIgotCi0kKEVYQU1QTEVTT0JKRElSKS8lLmh0bWwgOiAkKEVYQU1QTEVTT0JK
RElSKS8lLndpZGxwcm9jeG1sICQoU1JDRElSKS93aWRscHJvY3htbHRvaHRtbC54c2wgTWFrZWZp
bGUKLQljcCAkKFNSQ0RJUikvd2lkbHByb2N4bWx0b2h0bWwueHNsICQoZGlyICRAKS8KLQl4c2x0
cHJvYyAkKGRpciAkQCkvd2lkbHByb2N4bWx0b2h0bWwueHNsICQ8ID4kQAotCi0kKEVYQU1QTEVT
T0JKRElSKS8lLndpZGxwcm9jeG1sIDogJChFWEFNUExFU0RJUikvJS53aWRsICQoV0lETFBST0Mp
ICQoRFREKSBNYWtlZmlsZQotCW1rZGlyIC1wICQoZGlyICRAKQotCSQoV0lETFBST0MpICQ8ID4k
QAotCWNwICQoT0JKRElSKS93aWRscHJvY3htbC5kdGQgJChkaXIgJEApLwotCXhtbGxpbnQgLS1u
b291dCAtLWR0ZHZhbGlkICQoRFREKSAkQAotCi0kKEVYQU1QTEVTT0JKRElSKS93aWRsaHRtbC5j
c3MgOiAkKEVYQU1QTEVTRElSKS93aWRsaHRtbC5jc3MKLQljcCAkPCAkQAotCi0uREVMRVRFX09O
X0VSUk9SOgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvZXhhbXBsZXMvUkVBRE1F
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3dpZGxwcm9jL2V4YW1wbGVzL1JFQURNRQpkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggZWZiYjcyZGRhOGQyODg5MGI4NjFhZmVmYjZmN2IxYTA4M2I2NmZlMS4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lk
bHByb2MvZXhhbXBsZXMvUkVBRE1FCisrKyAvZGV2L251bGwKQEAgLTEsNDEgKzAsMCBAQAotIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjCi0jICRJZCQKLSMgQ29weXJpZ2h0IDIwMDkgQXBsaXggQ29ycG9yYXRpb24u
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0jIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5z
ZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOwotIyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBm
aWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCi0jIFlvdSBtYXkgb2J0
YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAotIyAgICAgaHR0cDovL3d3dy5hcGFjaGUub3Jn
L2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCi0jIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxh
dyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKLSMgZGlzdHJpYnV0ZWQgdW5kZXIg
dGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKLSMgV0lUSE9V
VCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9y
IGltcGxpZWQuCi0jIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdv
dmVybmluZyBwZXJtaXNzaW9ucyBhbmQKLSMgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2Uu
Ci0jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMKLQotVGhpcyBleGFtcGxlcyBkaXJlY3RvcnkgY29udGFpbnMgdHdv
IG9mIHRoZSBCT05ESSAud2lkbCBmaWxlcywgYSBNYWtlZmlsZQotdGhhdCBwcm9jZXNzZXMgdGhl
bSB0byBnZW5lcmF0ZSBodG1sLCBhbmQgYSAuY3NzIGZpbGUgdGhhdCB0aGUgcmVzdWx0aW5nCi1o
dG1sIHVzZXMuCi0KLVRoZSBNYWtlZmlsZSBwcm9jZXNzZXMgdGhlIC53aWRsIGZpbGVzIGFzIGZv
bGxvd3M6Ci0KLSAxLiBGb3IgZWFjaCAud2lkbCwgZ2VuZXJhdGUgdGhlIC53aWRscHJvY3htbCBm
aWxlIChhbiBYTUwgcmVwcmVzZW50YXRpb24KLSAgICBvZiB0aGUgaW5mb3JtYXRpb24gaW4gdGhl
IC53aWRsKSB1c2luZyB3aWRscHJvYy4KLQotIDIuIFZhbGlkYXRlICh1c2luZyB4bWxsaW50KSBl
YWNoIC53aWRscHJvY3htbCBhZ2FpbnN0IHRoZSBEVEQuCi0KLSAzLiBXZSB3YW50IGFueSByZWZl
cmVuY2UgaW4gdGhlIHJlc3VsdGluZyBodG1sIHRvIGEgdHlwZSBlbHNld2hlcmUgaW4gdGhlCi0g
ICAgQVBJIHRvIGJlIGEgbGluay4gVGhpcyBpcyB3aGVyZSB3ZSBhY2hpZXZlIHRoaXMuIEZpcnN0
IGdlbmVyYXRlIGEKLSAgICBsaXN0IG9mIGZxaWRzIChmdWxseSBxdWFsaWZpZWQgaWRlbnRpZmll
cnMpIGZyb20gZnFpZCBhdHRyaWJ1dGVzIGluCi0gICAgdGhlIFhNTCBieSBydW5uaW5nIGFsbCAu
d2lkbHByb2N4bWwgZmlsZXMgdGhyb3VnaCB0aGUgc3R5bGUgc2hlZXQKLSAgICB3aWRscHJvY3ht
bGZxaWRzLnhzbC4KLQotIDQuIFR1cm4gdGhhdCBsaXN0IG9mIGZxaWRzIGludG8gYSBzZWQgc2Ny
aXB0IHRoYXQgdHVybnMgYSA8cmVmPiB0byBhbgotICAgIGZxaWQgaW50byBhIDxyZWYgcmVmPSIu
LiI+IHRvIHRoZSBmcWlkIGluIHRoZSByaWdodCAuaHRtbCBmaWxlLgotCi0gNS4gRm9yIGVhY2gg
LndpZGxwcm9jeG1sIGZpbGUsIGdlbmVyYXRlIGEgLndpZGxwcm9jeG1sMiBmaWxlIGJ5IHJ1bm5p
bmcKLSAgICBpdCB0aHJvdWdoIHRoZSBzZWQgc2NyaXB0IGdlbmVyYXRlZCBhYm92ZS4KLQotIDYu
IEZvciBlYWNoIC53aWRscHJvY3htbDIgZmlsZSwgZ2VuZXJhdGUgYSAuaHRtbCBmaWxlIGJ5IHJ1
bm5pbmcgaXQgdGhyb3VnaAotICAgIHRoZSB3aWRscHJvY3htbHRvaHRtbC54c2wgc3R5bGUgc2hl
ZXQuCi0KLVNlZSB0aGUgTWFrZWZpbGUgZm9yIGRldGFpbHMuCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvd2lkbHByb2MvZXhhbXBsZXMvYm9uZGkud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9leGFt
cGxlcy9ib25kaS53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyMDBiOTVmZTlj
MWUxMjNjMWI3YjM3NWY0OGNhMjhmYzUzYTQ2NTI1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCAwCkhjbVY/ZDAwMDAxCgps
aXRlcmFsIDY4MjcKemNtYl9oWWl9RjU3NXl2JntTU257KUhaQnM/UU0lVFA2OVp3OWpMVj4hP0dJ
YGJyRGNBbCpERTxvRiEtTTIqdipRCnpvX2pCNkc8dFpJMXtJTD9pQGM5PiZ3WCl3TXw8aT4tUHB3
QiFLQThtWUl5cl9yKjZ1JHN9QVZmTHNqTGVAeWd7IQp6SWpgbzw4PG5gY15tYmc4XyhkakhtN2FR
STx8WiNnU0NQbihGeysjeUg1ZmtoS1ZHU2MmNVROSWtiQlZkViNeczAKeipxfm1WfEVlWXNyUElg
dyo1eGA9SHBlZ0tudG9FPU90bnZLSzRyT3lEO0N+UFhRZ3M0eCQkOVUzc0ZjKUFFNUJ3CnpPcEde
cVZwTS0jV05lYmlJU0JnTXUlYntVR2dXOWAySVZHZnJFZjBUKWt8fW84ckd8eXdheFN4VUktcStL
ITdnYwp6cjFBNWhiZTw5ezt5XmY1QFFiZ21VbjVCNU0kfUFaVWxjbVE/Xyg1PilpZUFlJihGRik5
amoxe3w4MF96TFBNN3UKekNIUDV+KDdSQ2twTWhaNVhCK2t9amtuS203X080Jl9AfDEzM3k5a2hB
amxJcHBCdFo4S3dlYjdhS1hVdER3SnckCnpTZSFSPVpGNCRTV0xEPjg5WDNPPEtNVigjZUg5OW0q
b2pSOVdGMXVELU1xQEN6JFI3V2g0Mlk3NDE3Y15Hb3lwKQp6cygtbDN0Mkx9IWhgYillbXplPCE7
Rz5gZDl8QS1yPTF9WT1iNHhOQWhlOFhqYUxvUlkqJFk/NisxITxPdlMwezMKemQ/K2x+RH0rR3dt
Ti1NMHJYTkZMbGdkPmZ0WF8wVTVkREs2Mj1xY2htSUJDN2lATzVNdDNIQC1pNzg1T3l1bFNACnpq
cnF7OVVgZ3MpZyZWVkRXSnxIQWk1b2VpSyFzVVo3SEBqSm16UzVXVzxxdEhwWX4jWWhUYVgqYTRA
PCQwalk9eQp6eElwJkRPSmt5TCpVaWc8RlI9cUI/SGY0VCt1UTNNYWsrUkpkdXR9QEJnZ31taW5v
KDBQYjdKNSQ/JVokMk0kN04KekNOfTVIMkNPPEtaWlJKVCplcHx5PDAoPytGMEM/ZjVIdzBuVk5p
TVUjRl94T0E/Pk5vaV9gOFkrYXNxSDg/WE1lCnp4N1EqMkkmQE1EeXptfk8waih+Rnc8QT1aZDxz
ZVVkdkM4KEUoIXk/UjR+NihSNG0+JE44VCRyJTlxYzdMK0dEUgp6I3VoPShnUHJEfUkoVFFNQW0r
MnFEemYrJEp1V0Z0YENpZkkhPWZ9aHdWZUttKSU8VHQhcCEtb1dKS1RZKWJqSiQKejRgfDY7Snsz
Plk0Wmh1fVdSZmApM0RvaHowanltPkBvNW8lTyY0RGl8SCteWSpoSm14QXtLPnA/MXhlKzgxd28r
CnpJSzNzZHdKYkQ8IX58ayVtV180dG00b1hpSXgpNUVlfTBVQWRVcVgoS2dfZW11XlBCT2MpJitS
P1oxfEgpa3d0Rgp6UzMlaGg+PUR4OW59KVp5Q349TSRfM1hZPHRERzZHWFVLfDBwM0o8PHNTMSY4
UWIwX0pqRU4+c3N3YFd1U2YrWEIKeio7eTMrSlplNVRKbTJnNTNkYzg2Ql83en5GP1VRKVglZm43
cXNzfmQwOWhzbEtNMm5XKSpwaThlbnMjR0spKnhjCnpeSmdiV1JlQDVaQk1kK1J0PnpWekJSY1Zt
ZFpJbykyWCQyQk56O3t4cztFdXN1Vn5fPCM5UCR0aUBRRmU1RjkhdAp6d1lSMmRNYGlkYGdvdD44
JnJ6QE9LJl4hVyloe1lePEhQZks+e29vVjhKd0R5IyhWMTd8NmZ2R2s8Y0hhQnVjcWgKejxkVVRG
IzAydHE0T2NtVk1pOV5QKVBmJUF3WiUtKnpfaXo/c21rXm8wRztTSHwxNmhsX085M1lSZVkhckZM
TT48CnpwaV5AKDJDJldGUjs1JCM1VFNIQmM4XiRqI2V1fTdsPjFXREpLcEhqQT5Zd088M1BMWTE2
K0hObjVtSW0+dlQ0Zgp6P2IxQUJZUTg5SiVlUTVqOzFhYFRGSHN8TCVnR0dqNUhHI1hyJChMcmd3
TSg4VS0wM1pYd3hrPnFwR3tVc0N4NHEKemVtfn00YklqSFBgTzteYWZMaVROKzxZQVRaN30+aV87
UGlCS2ZJXiMkSW0tNGklUlNVdUtnUz41PjwmQ0M1OT1+CnpFKlQrX0pAfj1xTU9EJnR1SURJaGV1
bn01IVFVQCNgaj1sVz9tcz09VUpWezxPVD5XRnRwKlVSIUR4P315UzQmcAp6PClsbEhKdjdXczlP
bkVUJUNYeWd4Z0lfYUVeRG5ULWspdCVKfWVCQDJBYn1YMVReOEclSXJ7Y2NaRTU3QGFmQyYKej8m
fCpIcCtCdFE3OVc0IXMte21VX0omblNVXjBid0RDck5eb0xLU1k0X2xRQ2ZLI1o3MHV1KDF7Mm5j
WSp5IT1ACnpaZ35IMilrYU5SYEQ1JSg+LWp4MHM0b35STWEyKGkke0E8TThEKXdUZ2pTeF5EcWN5
R1BHPjlxNXM9JmRYaGIybwp6eWMrWnltKTxHWF5APS1wNjdffSZoenlzX0JofTBmJFpyaGpSMzs0
P0V7JkppcSptSSR0OWU4amdNcHJRXndNJEoKenp5a0pjdjlAQVUmPV9zQU8hKEheVjExWkBtJklg
MUJBUUcjQHxKbzhaSntFUkQtZl4zKkA3RDdjSEBMfVRzTkB7Cnp6I3BEa0BLdEJucVN7bC12OWV3
NGc7ZHZLUjtiMmN7KndxWGNzNzhpKEp8bWNuTStSLXZkMXJicXAwRXohe35CaAp6N2N8dmRHay10
UFN1ayZWXylnalNaVlJqdzEmWWM1azV3akpROWQ/X21SKWF+dCtlWHxzd19JQUhpNy1hVzg+aSkK
ekI4Nk9CMkBITntzWndjJEg0QDlkTm9HMEw+SV9kVGI2YXVARGJgQ05FJWNrMmdeeld5biZwOE9u
LVY+MEpFUzZwCno3a2khYD0+YkRsRXtaMH42SjJCUEYkY3FpMzckVl9ecksodjB1KERlJXxLQzE5
NyhWblRhV3xgOXRFTlhwWWJregp6d0ZCLTViciYtPFUjRyFhMWQ1VklEJjt+OExfb2Q0N352Zl8t
V2ZaR0NrTCRCb0M/aFZ5azI1dHtxem5ZJEJmNHIKejY4QjJ9OXI8ZktSaUpOcCF7VUA5MyNPU0hC
UzZ3UklRTzJnUkcjUjxvPW9EWHluVnNPaUp0Ny1hZE0ydUh8byp7CnpURmtlbVcxTzZrTi1BRjdO
VmErPnVWLU84bzE/OSFeJGh7R293X3ZCZkMtVyliYmJUYzwmczR5KXRATFYhNys1ZQp6clIzMHNI
aFZ0U15DfTUwRmc7X0VZMTI0MS1rOEQ1TnhKcWI+TDNDeDZeUHsmMTh6SHc0dzZwPE1vclhlWlRO
WWEKelMkZy1BPktISC1rXnt7VUpJQkpPRjs5X3xFUiR6QTJ1a15GRUE5ZmhFSWByTlI/OEQ8ZlAt
dz5hNiprQ2hwWjFLCnoheDBETG17JH55ZlhBQWNNK2R4WW5ReGpOQSY9RipQXjdUKUY0fEEybFhD
d01APS1vSCYxVDMkWT0lZmc8Zmw5agp6aVdNPCE4JkprWkFtTWVnJjYycUx0ZTxhM3VTckUhdnFe
TnN0RT1jXldAdGpQPDA1JDtNLTJIdzd3ZT9xS2xiblkKenRTYWhAd2ZrPFpjYEIzUlJoSWx+MUo4
SSEkX3JwSUI1bWclSHBzKU07d2pNMz51SWEyT2s5P143dCtEKmhCd2lxCno2MShgekk/Rzt9TllQ
fDhVSjVnTSpSSzFDX1MxQDwlKyhBLT1oel5ZRykta3orOFFXPTcxbnhjQl53N0ZTXnxiSAp6QGtj
I3Z3UGJ4ZmplVHlEb1FiUDRYP0xpeHQtLWdKeUUrYGJIdVEqaWZvNCsmTkp+dSlSYTdofCFzMXlj
P05NZT4KemdRMUI+RV5CI3drdTBlcE5PQC1oc1J9KXw4NFpJQ1htfSg5V1dOYzs+WWhUZVNsTHx9
VzA9dkRKMjdOQWZXI1VGCnpNKldgTyNfTz82bHYxREI7QU1wMVRLV0pqd0QmNzc1fkg9cHB0VTRD
Q0tHbWlBb0ZUdmRzbk5+QEg9SFJQb0dnOAp6VyMxdnhjWCZxKzJkaWNEODJAV1cjJk9taWNrPFJT
JHRgT3IrWjRAX1RiNTwlWUZ5cFVRSFN2JiklZ3E+QWVvdiQKUDFfP299UHZvNU07bUNnaGREVmtL
CgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL2V4YW1wbGVzL2ZpbGVzeXN0ZW0ud2lk
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC93aWRscHJvYy9leGFtcGxlcy9maWxlc3lzdGVtLndpZGwKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDM1ZjYwMmI4NThhZDc2ZjA4OTlkNGEzOTc2OWU5ODIyODM3
ZjE1YmQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L3dpZGxwcm9jL2V4YW1wbGVzL2ZpbGVzeXN0ZW0ud2lkbAorKysgL2Rldi9udWxsCkBA
IC0xLDEwMzggKzAsMCBAQAotLyogCi0gKiBMaWNlbnNlZCB0byBPTVRQIEx0ZC4gKE9NVFApIHVu
ZGVyIG9uZSBvciBtb3JlIGNvbnRyaWJ1dG9yIGxpY2Vuc2UgYWdyZWVtZW50cy4gCi0gKiBTZWUg
dGhlIE5PVElDRSBmaWxlIGRpc3RyaWJ1dGVkIHdpdGggdGhpcyB3b3JrIGZvciBhZGRpdGlvbmFs
IGluZm9ybWF0aW9uIHJlZ2FyZGluZyAKLSAqIGNvcHlyaWdodCBvd25lcnNoaXAuIAotICogCi0g
KiBUaGUgUmVmZXJlbmNlIEltcGxlbWVudGF0aW9uIChzYXZlIGZvciBzdWNoIHBhcnRzIG9mIHRo
ZSByZWZlcmVuY2UgaW1wbGVtZW50YXRpb24gbWFkZSAKLSAqIGF2YWlsYWJsZSB1bmRlciBzZXBh
cmF0ZSB0ZXJtcyBhbmQgY29uZGl0aW9ucykgaXMgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRl
cm1zIG9mIHRoZSAKLSAqIEFwYWNoZSBMaWNlbnNlLCB2ZXJzaW9uIDIuMCwgc3ViamVjdCB0byB0
aGUgY29uZGl0aW9uIHRoYXQgYW55ICJXb3JrcyIgYW5kICJEZXJpdmF0aXZlIAotICogV29ya3Mi
IHVzZWQgb3IgZGlzdHJpYnV0ZWQgZm9yIGNvbW1lcmNpYWwgcHVycG9zZXMgbXVzdCBiZSBhbmQg
cmVtYWluIGNvbXBsaWFudCB3aXRoIHRoZQotICogQk9OREkgc3BlY2lmaWNhdGlvbiBhcyBwcm9t
dWxnYXRlZCBieSBPTVRQIGluIGVhY2ggcmVsZWFzZS4gWW91ciBpbXBsZW1lbnRhdGlvbiBvZiB0
aGUgCi0gKiBSZWZlcmVuY2UgSW1wbGVtZW50YXRpb24gKHdoZXRoZXIgb2JqZWN0IG9yIHNvdXJj
ZSkgbXVzdCBtYWludGFpbiB0aGVzZSBjb25kaXRpb25zLCBhbmQgCi0gKiB5b3UgbXVzdCBub3Rp
ZnkgYW55IHJlY2lwaWVudCBvZiB0aGlzIGNvbmRpdGlvbiBpbiBhIGNvbnNwaWN1b3VzIHdheS4K
LSAqIAotICogWW91IG1heSBub3QgdXNlIHRoaXMgQk9OREkgUmVmZXJlbmNlIEltcGxlbWVudGF0
aW9uIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuIAotICogCi0gKiBZb3Ug
bWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQgaHR0cDovL3d3dy5hcGFjaGUub3Jn
L2xpY2Vuc2VzL0xJQ0VOU0UtMi4wIG9yIGF0IAotICogaHR0cDovL2JvbmRpLm9tdHAub3JnL0JP
TkRJLUxJQ0VOU0UtMi4wIAotICovCi0KLS8qKgotICogXGJyaWVmIEJPTkRJIGZpbGVzeXN0ZW0g
QVBJLgotICoKLSAqIFRoZSBCT05ESSBmaWxlc3lzdGVtIEFQSSBwcm92aWRlcyBhY2Nlc3MgdG8g
dGhlIGZpbGVzeXN0ZW0gb2YgYSBkZXZpY2UuIFRoZQotICogZmlsZXN5c3RlbSBpcyBhYnN0cmFj
dGx5IHJlcHJlc2VudGVkIGFzIGEgY29sbGVjdGlvbiBvZiBkaXNqb2ludCBmaWxlc3lzdGVtCi0g
KiByb290IGxvY2F0aW9ucyBlYWNoIGNvcnJlc3BvbmRpbmcgdG8gc29tZSBzcGVjaWZpYyBsb2Nh
dGlvbiBpbiB0aGUgZGV2aWNlCi0gKiBmaWxlc3lzdGVtLiAgVGhlIGZpbGVzeXN0ZW0gQVBJIGV4
cG9zZXMgdGhlIGhpZXJhcmNoaWVzIGJlbG93IHRoZXNlIHJvb3QKLSAqIGxvY2F0aW9ucyBhcyBh
IHNpbmdsZSB2aXJ0dWFsIGZpbGVzeXN0ZW0gYnV0IHByb3ZpZGVzIG5vIGFjY2VzcyB0byBvdGhl
cgotICogcGFydHMgb2YgdGhlIGRldmljZSBmaWxlc3lzdGVtLgotICoKLSAqIFRoZSByb290cyB0
aGF0IGFyZSBleHBvc2VkIGFyZSBkZXRlcm1pbmVkIGJ5IHRoZSBwbGF0Zm9ybSBhbHNvIGJ5IHRo
ZQotICogY29udGV4dCBpbiB3aGljaCB0aGUgZmlsZXN5c3RlbSBBUEkgaXMgaW52b2tlZC4KLSAq
Ci0gKiBFYWNoIHJvb3QgaGFzIGEgc3RyaW5nIG5hbWUuIEVhY2ggZmlsZSBvciBkaXJlY3Rvcnkg
d2l0aGluIHRoZSB2aXJ0dWFsCi0gKiBmaWxlc3lzdGVtIGlzIGFkZHJlc3NlZCB1c2luZyBhIGZ1
bGx5LXF1YWxpZmllZCBwYXRoIG9mIHRoZSBmb3JtOgotICogPGVtPiZsdDtyb290IG5hbWUmZ3Q7
LyZsdDtwYXRoJmd0OzwvZW0+IHdoZXJlIDxlbT4mbHQ7cm9vdG5hbWUmZ3Q7PC9lbT4gaXMKLSAq
IHRoZSBuYW1lIG9mIHRoZSByb290IGFuZCA8ZW0+Jmx0O3BhdGgmZ3Q7PC9lbT4gaXMgdGhlIHBh
dGggdG8gdGhlIGZpbGUgb3IKLSAqIGRpcmVjdG9yeSByZWxhdGl2ZSB0byB0aGF0IHJvb3QuCi0g
KiAKLSAqIFRoZSBsaXN0IG9mIHRoZSBzdXBwb3J0ZWQgcm9vdCBsb2NhdGlvbnMgY2FuIGJlIHJl
dHJpZXZlZCBieSBjYWxsaW5nCi0gKiBmaWxlc3lzdGVtLmdldFJvb3RMb2NhdGlvbnMoKS4KLSAq
Ci0gKiBUaGUgZGVmYXVsdCBsb2NhdGlvbiBmb3IgYSBzcGVjaWZpYyB0eXBlIG9mIGZpbGUsIGlm
IG9uZSBleGlzdHMsIGNhbiBiZQotICogb2J0YWluZWQgYnkgY2FsbGluZyB0aGUgZmlsZXN5c3Rl
bS5nZXREZWZhdWx0TG9jYXRpb24oLi4uKSBtZXRob2QuIEEgc2V0IG9mCi0gKiBwbGF0Zm9ybS1p
bmRlcGVuZGVudCBzeW1ib2xpYyBuYW1lcyBmb3IgbWVkaWEgdHlwZXMgaXMgZGVmaW5lZC4gVGhl
IGRlZmF1bHQKLSAqIGxvY2F0aW9uIGZvciBhIGdpdmVuIGZpbGUgdHlwZSBtYXkgaXRzZWxmIGJl
IGEgcm9vdCwgb3Igc29tZSBzdWJkaXJlY3Rvcnkgb2YKLSAqIGEgcm9vdC4gQWx0aG91Z2ggdGhl
IHNldCBvZiByb290cyBhdmFpbGFibGUgb24gYSBkZXZpY2UgaXMKLSAqIHBsYXRmb3JtLWRlcGVu
ZGVudCwgdGhlIGdldERlZmF1bHRMb2NhdGlvbiguLi4pIGZ1bmN0aW9uYWxpdHkgY2FuIGJlIHVz
ZWQgdG8KLSAqIGVuc3VyZSB0aGF0IHdlYiBhcHBsaWNhdGlvbnMgY2FuIGJlIHdyaXR0ZW4gaW4g
YSBwbGF0Zm9ybS1pbmRlcGVuZGVudCB3YXkuCi0gKgotICogSW4gb3JkZXIgdG8gYWNjZXNzIHNw
ZWNpZmljIGxvY2F0aW9ucyB3aGljaCBhcmUgcHJlZml4ZWQgd2l0aCBhIHZhbHVlCi0gKiByZXRy
aWV2ZWQgYnkgZmlsZXN5c3RlbS5nZXREZWZhdWx0TG9jYXRpb24gb3Igc29tZSByb290IGxvY2F0
aW9uIHJldHVybmVkIGJ5Ci0gKiBmaWxlc3lzdGVtLmdldFJvb3RMb2NhdGlvbnMgYSBGaWxlIGhh
bmRsZSBtdXN0IGJlIHJldHJpZXZlZCB1c2luZyB0aGUKLSAqIGZpbGVzeXN0ZW0ucmVzb2x2ZSBj
YWxsLgotICoKLSAqIEEgRmlsZSBoYW5kbGUgcmVwcmVzZW50cyBlaXRoZXIgYSBmaWxlIG9yIGEg
ZGlyZWN0b3J5LiBJZiBpdCBpcyBhIGZpbGUgdGhlCi0gKiBpc0ZpbGUgYXR0cmlidXRlIHdpbGwg
YmUgPGVtPnRydWU8L2VtPiwgb3RoZXJ3aXNlIHRoZSBpc0RpcmVjdG9yeSBhdHRyaWJ1dGUKLSAq
IHdpbGwgYmUgPGVtPnRydWU8L2VtPi4gQSBmaWxlIGNhbiBiZSBvcGVuZWQgZm9yIHJlYWRpbmcg
YW5kIHdyaXRpbmcsIHVzaW5nIGEKLSAqIEZpbGVTdHJlYW0gaGFuZGxlLiBBIGRpcmVjdG9yeSBj
YW4gYmUgdXNlZCB0byBsaXN0IGl0cyBjb250ZW50cyB3aGljaCBpcyBhCi0gKiBsaXN0IG9mIGZp
bGVzIGFuZCBzdWItZGlyZWN0b3JpZXMuIFRoZXJlIGlzIGEgcmVzb2x2ZSBtZXRob2Qgb24gZGly
ZWN0b3JpZXMKLSAqIGFzIHdlbGwgaW4gb3JkZXIgdG8gcmVzb2x2ZSBmaWxlcyBvciBzdWItZGly
ZWN0b3JpZXMgbW9yZSBjb252ZW5pZW50bHkgdGhhbgotICogcHJvY2Vzc2luZyBkaXJlY3Rvcnkg
bGlzdGluZ3MuCi0gKgotICogVGhlICIvIiBjaGFyYWN0ZXIgaXMgdXNlZCBhcyB0aGUgKHBhdGgp
IGNvbXBvbmVudCBzZXBhcmF0b3IuCi0gKiBUaGUgdXNlIG9mICIuIiBvciAiLi4iIGluIGxvY2F0
aW9uIGNvbXBvbmVudHMgaXMgbm90IHJlcXVpcmVkIHRvIGJlCi0gKiBzdXBwb3J0ZWQuCi0gKgot
ICogQWxsIHBhdGggY2hhcmFjdGVycyBuZWVkIHRvIGJlIDxhIGhyZWY9Imh0dHA6Ly93d3cuaWV0
Zi5vcmcvcmZjL3JmYzIyNzkudHh0Ij5VVEYtODwvYT4gZW5jb2RlZC4KLSAqCi0gKiBcY29kZQot
ICogCWZ1bmN0aW9uIGVycm9yQ0IoZXJyKSB7Ci0gKiAJCWFsZXJ0KCJCT05ESSBmaWxlc3lzdGVt
IEFQSSBjb3VsZG4ndCBiZSByZXF1ZXN0ZWQ6ICIgKyBlcnIubWVzc2FnZSk7Ci0gKiAJfQotICoK
LSAqIAlmdW5jdGlvbiBzdWNjZXNzQ0IoKSB7Ci0gKiAJCXZhciBkb2NMb2NhdGlvbiA9IGJvbmRp
LmZpbGVzeXN0ZW0uZ2V0RGVmYXVsdExvY2F0aW9uKCJkb2N1bWVudHMiKTsKLSAqIAkJdmFyIGRv
Y0RpciA9IGJvbmRpLmZpbGVzeXN0ZW0ucmVzb2x2ZShkb2NMb2NhdGlvbik7Ci0gKiAJCXZhciBk
b2NGaWxlcyA9IGRvY0Rpci5saXN0RmlsZXMoKTsKLSAqIAkJZm9yKHZhciBpID0gMDsgaSAmbHQ7
IGRvY0ZpbGVzLmxlbmd0aDsgaSsrKSB7Ci0gKiAJCQkvLyBkaXNwbGF5cyBuYW1lIG9mIGVhY2gg
aW1hZ2UgZmlsZSBpbiBpbWFnZSBkaXJlY3RvcnkKLSAqIAkJCWFsZXJ0KGRvY0ZpbGVzW2ldLm5h
bWUpOwotICogCQl9Ci0gKiAJCXZhciB0ZXN0RmlsZSA9IGRvY0Rpci5jcmVhdGVGaWxlKCJ0ZXN0
LnR4dCIpOwotICogCQl2YXIgb3V0ID0gdGVzdEZpbGUub3BlbigidyIsICJVVEYtOCIpOwotICog
CQkvLyB3cml0ZXMgSGVsbG8gV29ybGQgdG8gdGVzdC50eHQKLSAqIAkJb3V0LndyaXRlKCJIZWxs
byBXb3JsZCIpOwotICogCQlvdXQuY2xvc2UoKTsKLSAqIAl9Ci0gKgotICogCWJvbmRpLnJlcXVl
c3RGZWF0dXJlKHN1Y2Nlc3NDQiwgZXJyb3JDQiwgImZpbGVzeXN0ZW0iKTsKLSAqIFxlbmRjb2Rl
Ci0gKiAKLSAqIFxkZWYtYXBpLWZlYXR1cmUgaHR0cDovL2JvbmRpLm9tdHAub3JnL2FwaS9maWxl
c3lzdGVtLnJlYWQKLSAqIFxicmllZiBGaWxlc3lzdGVtIHJlYWQgb3BlcmF0aW9ucywgaW5jbHVk
aW5nIHJlYWRpbmcgZGlyZWN0b3J5IGxpc3RpbmdzLAotICogICAgICAgIGZpbGUgY29udGVudHMg
YW5kIHJlc29sdmluZyByb290IGxvY2F0aW9ucy4KLSAqIFxkZXZpY2UtY2FwIGlvLmZpbGUucmVh
ZAotICoKLSAqIFxkZWYtYXBpLWZlYXR1cmUgaHR0cDovL2JvbmRpLm9tdHAub3JnL2FwaS9maWxl
c3lzdGVtLndyaXRlCi0gKiBcYnJpZWYgRmlsZXN5c3RlbSB3cml0ZSBvcGVyYXRpb25zLCBpbmNs
dWRpbmcgY3JlYXRpbmcgZmlsZXMvZGlyZWN0b3JpZXMsCi0gKiAgICAgICAgd3JpdGluZyB0byBm
aWxlcywgZGVsZXRpbmcgZmlsZXMvZGlyZWN0b3JpZXMsIG1vdmluZyBhbmQgY29weWluZwotICog
ICAgICAgIGZpbGVzLgotICogXGRldmljZS1jYXAgaW8uZmlsZS53cml0ZQotICogCi0gKiBcZGVm
LWFwaS1mZWF0dXJlLXNldCBodHRwOi8vYm9uZGkub210cC5vcmcvYXBpL2ZpbGVzeXN0ZW0KLSAq
IFxicmllZiBBbGwgdGhlIEZpbGVTeXN0ZW0gZmVhdHVyZXMKLSAqIFxhcGktZmVhdHVyZSBodHRw
Oi8vYm9uZGkub210cC5vcmcvYXBpL2ZpbGVzeXN0ZW0ucmVhZAotICogXGFwaS1mZWF0dXJlIGh0
dHA6Ly9ib25kaS5vbXRwLm9yZy9hcGkvZmlsZXN5c3RlbS53cml0ZQotICoKLSAqIFxkZWYtZGV2
aWNlLWNhcCBpby5maWxlLnJlYWQKLSAqIFxicmllZiBSZWFkIGRpcmVjdG9yeSBvciBmaWxlCi0g
KiBccGFyYW0gbmFtZSBOYW1lIG9mIGRpcmVjdG9yeSBvciBmaWxlLCBpbiB2aXJ0dWFsIGZpbGVz
eXN0ZW0sCi0gKiBlLmcuIHJvb3Rsb2NhdGlvbi9maWxlbmFtZQotICoKLSAqIFxkZWYtZGV2aWNl
LWNhcCBpby5maWxlLndyaXRlCi0gKiBcYnJpZWYgV3JpdGUgZGlyZWN0b3J5IG9yIGZpbGUKLSAq
IFxwYXJhbSBuYW1lIE5hbWUgb2YgZGlyZWN0b3J5IG9yIGZpbGUsIGluIHZpcnR1YWwgZmlsZXN5
c3RlbSwKLSAqIGUuZy4gcm9vdGxvY2F0aW9uL2ZpbGVuYW1lCi0gKgotICogXGF1dGhvciBQYWRk
eSBCeWVycyAmbHQ7cGFkZHlAYXBsaXhjb3JwLmNvbSZndDsKLSAqIFxhdXRob3IgQW5zZWxtIFIg
R2FyYmUgJmx0O2Fuc2VsbUBhcGxpeGNvcnAuY29tJmd0OwotICogXHZlcnNpb24gMS4xCi0gKi8K
LW1vZHVsZSBmaWxlc3lzdGVtIHsKLQotCS8qKgotCSAqIFxicmllZiBBcnJheSBvZiBGaWxlIGhh
bmRsZXMuCi0JICoKLQkgKiBUaGlzIGFycmF5IHR5cGUgaXMgcmV0dXJuZWQgd2hlbiBkaXJlY3Rv
cnkgbGlzdGluZ3MgYXJlIHJlcXVlc3RlZC4KLQkgKi8KLQl0eXBlZGVmIHNlcXVlbmNlPEZpbGU+
IEZpbGVBcnJheTsKLQotCS8qKgotCSAqIFxicmllZiBGaWxlIHN5c3RlbSBzcGVjaWZpYyBzdWNj
ZXNzIGNhbGxiYWNrLgotCSAqCi0JICogVGhpcyBjYWxsYmFjayBpbnRlcmZhY2Ugc3BlY2lmaWVz
IGEgc3VjY2VzcyBjYWxsYmFjayB3aXRoIGEgZnVuY3Rpb24KLQkgKiB0YWtpbmcgYSBGaWxlIG9i
amVjdCBhcyBpbnB1dCBhcmd1bWVudC4gSXQgaXMgdXNlZCBpbiBhc3luY2hyb25vdXMKLQkgKiBv
cGVyYXRpb25zIHN1Y2ggYXMgY29weWluZywgbW92aW5nIGFuZCBkZWxldGluZyBmaWxlcy4KLQkg
Ki8KLQlbQ2FsbGJhY2s9RnVuY3Rpb25Pbmx5LCBOb0ludGVyZmFjZU9iamVjdF0gaW50ZXJmYWNl
IEZpbGVTeXN0ZW1TdWNjZXNzQ2FsbGJhY2sgewotCSAgIC8qKgotCSAgICAqIFxicmllZiBNZXRo
b2QgaW52b2tlZCB3aGVuIHRoZSBhc3luY2hyb25vdXMgY2FsbCBjb21wbGV0ZXMgc3VjY2VzZnVs
bHkKLQkgICAgKgotCSAgICAqIFxwYXJhbSBmaWxlIFRoZSBmaWxlIHJlc3VsdGluZyBmcm9tIHRo
ZSBhc3luY2hyb25vdXMgY2FsbAotCSAgICAqLwotCQl2b2lkIG9uU3VjY2VzcyhpbiBGaWxlIGZp
bGUpOwotCX07Ci0KLQkvKioKLQkgKiBcYnJpZWYgTWFuYWdlciBjbGFzcyBleHBvc2VkIGFzIHRo
ZSBmaWxlc3lzdGVtIG1vZHVsZXMgQVBJLgotCSAqCi0JICogVGhpcyBtYW5hZ2VyIGNsYXNzIGV4
cG9zZXMgdGhlIGZpbGVzeXN0ZW0gYmFzZSBBUEksIHN1Y2ggYXMKLQkgKiBkZXRlcm1pbmluZyBy
b290IGFuZCBkZWZhdWx0IGxvY2F0aW9ucywgcmVzb2x2aW5nIGEgZ2l2ZW4gbG9jYXRpb24KLQkg
KiBpbnRvIGEgRmlsZSBIYW5kbGUgYW5kIHJlZ2lzdGVyaW5nIGZpbGVzeXN0ZW0gbGlzdGVuZXJz
IGZvcgotCSAqIGZpbGVzeXN0ZW0gZXZlbnRzLgotCSAqCi0JICogXGNvZGUKLQkgKiAJZnVuY3Rp
b24gZXJyb3JDQihlcnIpIHsKLQkgKiAJCWFsZXJ0KCJCT05ESSBmaWxlc3lzdGVtIEFQSSBjb3Vs
ZG4ndCBiZSByZXF1ZXN0ZWQ6ICIgKyBlcnIubWVzc2FnZSk7Ci0JICogCX0KLQkgKgotCSAqIAlm
dW5jdGlvbiBzdWNjZXNzQ0IoKSB7Ci0JICogCQl2YXIgZG9jTG9jYXRpb24gPSBib25kaS5maWxl
c3lzdGVtLmdldERlZmF1bHRMb2NhdGlvbigiZG9jdW1lbnRzIik7Ci0JICogCQl2YXIgZG9jRGly
ID0gYm9uZGkuZmlsZXN5c3RlbS5yZXNvbHZlKGRvY0xvY2F0aW9uKTsKLQkgKiAJCXZhciBkb2NG
aWxlcyA9IGRvY0Rpci5saXN0RmlsZXMoKTsKLQkgKiAJCWZvcih2YXIgaSA9IDA7IGkgJmx0OyBk
b2NGaWxlcy5sZW5ndGg7IGkrKykgewotCSAqIAkJCS8vIGRpc3BsYXlzIG5hbWUgb2YgZWFjaCBp
bWFnZSBmaWxlIGluIGltYWdlIGRpcmVjdG9yeQotCSAqIAkJCWFsZXJ0KGRvY0ZpbGVzW2ldLm5h
bWUpOwotCSAqIAkJfQotCSAqIAkJdmFyIHRlc3RGaWxlID0gZG9jRGlyLmNyZWF0ZUZpbGUoInRl
c3QudHh0Iik7Ci0JICogCQl2YXIgb3V0ID0gdGVzdEZpbGUub3BlbigidyIsICJVVEYtOCIpOwot
CSAqIAkJLy8gd3JpdGVzIEhlbGxvIFdvcmxkIHRvIHRlc3QudHh0Ci0JICogCQlvdXQud3JpdGUo
IkhlbGxvIFdvcmxkIik7Ci0JICogCQlvdXQuY2xvc2UoKTsKLQkgKiAJfQotCSAqCi0JICogCWJv
bmRpLnJlcXVlc3RGZWF0dXJlKHN1Y2Nlc3NDQiwgZXJyb3JDQiwgImZpbGVzeXN0ZW0iKTsKLQkg
KiBcZW5kY29kZQotCSAqLwotCWludGVyZmFjZSBGaWxlU3lzdGVtTWFuYWdlciB7Ci0KLQkJLyoq
Ci0JCSAqIFxicmllZiBDb250YWlucyB0aGUgcGxhdGZvcm0tZGVwZW5kZW50IG1heGltdW0gcGF0
aCBsZW5ndGguCi0JCSAqCi0JCSAqIFJlYWQtb25seS4KLQkJICoKLQkJICogXGNvZGUKLQkJICog
CWFsZXJ0KGJvbmRpLmZpbGVzeXN0ZW0ubWF4UGF0aExlbmd0aCk7Ci0JCSAqIFxlbmRjb2RlCi0J
CSAqLwotCQlyZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBtYXhQYXRoTGVuZ3RoOwot
Ci0JCS8qKgotCQkgKiBcYnJpZWYgUmV0dXJucyBhIGRlZmF1bHQgbG9jYXRpb24gcGF0aCBmb3Ig
dGhlIGdpdmVuIGFyZ3VtZW50cywKLQkJICogaW5jbHVkaW5nIHRoZSByb290IGxvY2F0aW9uIHBy
ZWZpeC4KLQkJICoKLQkJICogT3B0aW9uYWxseSB0aGlzIG1ldGhvZCBjYW4gYmUgY2FsbGVkIHdp
dGggdGhlIHNwYWNlIGFyZ3VtZW50Ci0JCSAqIHNwZWNpZnlpbmcgdGhlIG1pbmltdW0gZnJlZSBk
aXNrIHNwYWNlIHJlcXVpcmVkLgotCQkgKgotCQkgKiBUaGlzIGZ1bmN0aW9uIHJlc29sdmVzIGxv
Y2F0aW9uIHNwZWNpZmllcnMgdG8gbG9jYXRpb24gcGF0aHMuCi0JCSAqIFRoZSBmb2xsb3dpbmcg
bG9jYXRpb24gc3BlY2lmaWVycyBhcmUgc3VwcG9ydGVkOgotCQkgKiBcbiAid2d0OnBhY2thZ2Ui
IHRoZSB3aWRnZXQgcGFja2FnZSBsb2NhdGlvbgotCQkgKiBcbiAid2d0OnByaXZhdGUiIHRoZSB3
aWRnZXRzIHByaXZhdGUgc3RvcmFnZQotCQkgKiBcbiAid2d0OnB1YmxpYyIgIHRoZSB3aWRnZXRz
IHB1YmxpYyBzdG9yYWdlCi0JCSAqIFxuICJ3Z3Q6dGVtcCIgICAgdGhlIHdpZGdldHMgdGVtcG9y
YXJ5IHN0b3JhZ2UKLQkJICogXG4gImRvY3VtZW50cyIgICB0aGUgZG9jdW1lbnRzIGxvY2F0aW9u
LAotCQkgKiAgICAgICAgICAgICAgICAgICAgZS5nLiB0aGUgIk15IERvY3VtZW50cyIgZGlyZWN0
b3J5IG9uIHNvbWUgc3lzdGVtcwotCQkgKiBcbiAiaW1hZ2VzIiAgICAgIHRoZSBpbWFnZXMgbG9j
YXRpb24sCi0JCSAqICAgICAgICAgICAgICAgICAgICBlLmcuIHRoZSAiTXkgUGljdHVyZXMiIGRp
cmVjdG9yeSBvbiBzb21lIHN5c3RlbXMKLQkJICogXG4gInZpZGVvcyIgICAgICB0aGUgdmlkZW9z
IGxvY2F0aW9uLAotCQkgKiAgICAgICAgICAgICAgICAgICAgZS5nLiB0aGUgIk15IFZpZGVvcyIg
ZGlyZWN0b3J5IG9uIHNvbWUgc3lzdGVtcwotCQkgKiBcbiAidGVtcCIgICAgICAgIHRoZSB0ZW1w
b3Jhcnkgc3RvcmFnZSwKLQkJICogICAgICAgICAgICAgICAgICAgIGUuZyByZXNvbHZpbmcgdG8g
IlRlbXAiCi0JCSAqIFxuICJzZGNhcmQiICAgICAgdGhlIHNkY2FyZCBzdG9yYWdlLCBpZiBhbnkK
LQkJICoKLQkJICogXGNvZGUKLQkJICogCXZhciB3Z3RMb2NhdGlvbiA9IGJvbmRpLmZpbGVzeXN0
ZW0uZ2V0RGVmYXVsdExvY2F0aW9uKCd3Z3Q6cGFja2FnZScpOwotCQkgKiBcZW5kY29kZQotCQkg
KgotCQkgKiBccGFyYW0gc3BlY2lmaWVyICAgIHRoZSBsb2NhdGlvbiBzcGVjaWZpZXIsIHNlZSBh
Ym92ZSBmb3Igc3VwcG9ydGVkIHNwZWNpZmllcnMuCi0JCSAqIFxwYXJhbSBtaW5GcmVlU3BhY2Ug
b3B0aW9uYWwsIG1pbmltdW0gcmVxdWlyZWQgZnJlZSBkaXNrIHNwYWNlIGluIGJ5dGVzIGZvcgot
CQkgKiAgICAgICAgICAgICAgICAgICAgIHRoaXMgbG9jYXRpb24sIDxlbT4wPC9lbT4gKGRlZmF1
bHQpIG1lYW5zIG5vIGxpbWl0YXRpb24KLQkJICogXHJldHVybiB0aGUgbG9jYXRpb24gYXMgYSBz
dHJpbmcgb3IgPGVtPm51bGw8L2VtPiBpZiB0aGVyZQotCQkgKiAgICAgICAgIGlzIG5vIGxvY2F0
aW9uIGZvciB0aGUgZ2l2ZW4gc3BlY2lmaWVyIG9yIGlmIHRoZXJlIGlzIG5vdAotCQkgKiAgICAg
ICAgIGVub3VnaCBzcGFjZSBsZWZ0IGZvciB0aGUgcmVxdWVzdGVkIHNwYWNlIGluIGJ5dGVzLgot
CQkgKiBcdGhyb3cgRGV2aWNlQVBJRXJyb3IgSU5WQUxJRF9BUkdVTUVOVF9FUlJPUiBpZiB0aGUK
LQkJICogICAgICAgIHNwZWNpZmllciBvciBzcGFjZSBhcmd1bWVudHMgYXJlIGludmFsaWQKLQkJ
ICovCi0JCURPTVN0cmluZyBnZXREZWZhdWx0TG9jYXRpb24oaW4gRE9NU3RyaW5nIHNwZWNpZmll
ciwgaW4gdW5zaWduZWQgbG9uZyBtaW5GcmVlU3BhY2UpCi0JCQlyYWlzZXMoRGV2aWNlQVBJRXJy
b3IpOwotCi0JCS8qKgotCQkgKiBcYnJpZWYgUmV0dXJucyBhbGwgcm9vdCBsb2NhdGlvbnMuCi0J
CSAqCi0JCSAqIFRoZSByb290IGxvY2F0aW9ucyBhcmUgc3ltYm9saWMgbmFtZXMgZm9yIGZpbGVz
eXN0ZW0KLQkJICogbG9jYXRpb25zIHdoaWNoIGFyZSBhY2Nlc3NpYmxlIGFuZCBzdXBwb3J0ZWQg
YnkgdGhlCi0JCSAqIHVuZGVybHlpbmcgcGxhdGZvcm0uCi0JCSAqCi0JCSAqIFVzdWFsbHkgdGhl
IGZvbGxvd2luZyByb290IGxvY2F0aW9ucyB3aWxsIGJlIHN1cHBvcnRlZDoKLQkJICogXG4gImRv
Y3VtZW50cyIgcmVwcmVzZW50cyAiTXkgRG9jdW1lbnRzIiBvbiBzb21lIHBsYXRmb3JtcwotCQkg
KiBcbiAiaW1hZ2VzIiAgICByZXByZXNlbnRzICJNeSBQaWN0dXJlcyIgb24gc29tZSBwbGF0Zm9y
bXMKLQkJICogXG4gInZpZGVvcyIgICAgcmVwcmVzZW50cyAiTXkgVmlkZW9zIiBvbiBzb21lIHBs
YXRmb3JtcwotCQkgKiBcbiAidGVtcCIgICAgICByZXByZXNlbnRzICJ0bXAiIG9uIHNvbWUgcGxh
dGZvcm1zCi0JCSAqIFxuICJzZGNhcmQiICAgIHJlcHJlc2VudHMgdGhlIHNkY2FyZCBvbiBzb21l
IHBsYXRmb3JtcwotCQkgKgotCQkgKiBTZWUgYWxzbyB0aGUgZ2V0RGVmYXVsdExvY2F0aW9uIG1l
dGhvZC4KLQkJICoKLQkJICogXGNvZGUKLQkJICogCXZhciBsb2NhdGlvbnMgPSBib25kaS5maWxl
c3lzdGVtLmdldFJvb3RMb2NhdGlvbnMoKTsKLQkJICogCWZvcih2YXIgaSA9IDA7IGkgJmx0OyBs
b2NhdGlvbnMubGVuZ3RoOyBpKyspIHsKLQkJICogCQkvLyBsb2NhdGlvbnNbaV0gaXMgYSByZXNv
bHZhYmxlIHJvb3QgbG9jYXRpb24KLQkJICogCX0KLQkJICogXGVuZGNvZGUKLQkJICoKLQkJICog
XHJldHVybiBzdHJpbmcgYXJyYXkgb2Ygcm9vdCBsb2NhdGlvbnMuCi0JCSAqLwotCQlTdHJpbmdB
cnJheSBnZXRSb290TG9jYXRpb25zKCk7Ci0KLQkJLyoqCi0JCSAqIFxicmllZiBSZXNvbHZlcyBh
IGxvY2F0aW9uIHRvIGEgRmlsZSBoYW5kbGUuCi0JCSAqCi0JCSAqIFZhbGlkYXRlcyBhbmQgcmVz
b2x2ZXMgdGhlIGdpdmVuIGxvY2F0aW9uIHRvIGEgRmlsZSBoYW5kbGUKLQkJICogYW5kIHJldHVy
bnMgYSBoYW5kbGUuIEEgdmFsaWQgbG9jYXRpb24gaXMgcHJlZml4ZWQgd2l0aCBhCi0JCSAqIHZh
bGlkIHJvb3Qgb3IgZGVmYXVsdCBsb2NhdGlvbiBhbmQgbXVzdCBhZGRyZXNzIGFuIGV4aXN0aW5n
Ci0JCSAqIGFuZCBhY2Nlc3NpYmxlIGZpbGUuICAKLQkJICoKLQkJICogXGFwaS1mZWF0dXJlIGh0
dHA6Ly9ib25kaS5vbXRwLm9yZy9hcGkvZmlsZXN5c3RlbS5yZWFkCi0JCSAqCi0JCSAqIFxjb2Rl
Ci0JCSAqIAl2YXIgbG9jYXRpb24gPSBib25kaS5maWxlc3lzdGVtLmdldERlZmF1bHRMb2NhdGlv
bigidGVtcCIpOwotCQkgKiAJdmFyIHRlbXAgPSBib25kaS5maWxlc3lzdGVtLnJlc29sdmUobG9j
YXRpb24pOwotCQkgKiAJdmFyIGRvY3VtZW50cyA9IGJvbmRpLmZpbGVzeXN0ZW0uZ2V0RGVmYXVs
dExvY2F0aW9uKCJkb2N1bWVudHMiKTsKLQkJICogCXZhciBteWRvYyA9IGJvbmRpLmZpbGVzeXN0
ZW0ucmVzb2x2ZShkb2N1bWVudHMgKyAiL2RhdGEvMjAwOS9teWRvYy50eHQiKTsKLQkJICogXGVu
ZGNvZGUKLQkJICoKLQkJICogXHBhcmFtIGxvY2F0aW9uIHRoZSBsb2NhdGlvbiB0byByZXNvbHZl
LiBNdXN0IGJlIGFic29sdXRlCi0JCSAqICAgICAgICBwcmVmaXhlZCBieSBhIHZhbGlkIHJvb3Qg
b3IgZGVmYXVsdCBsb2NhdGlvbi4KLQkJICogXHJldHVybiB0aGUgcmVzb2x2ZWQgZmlsZSBvYmpl
Y3QuCi0JCSAqIFx0aHJvdyBTZWN1cml0eUVycm9yIFBFUk1JU1NJT05fREVOSUVEX0VSUk9SIHdo
ZW4KLQkJICogICAgICAgIGFjY2VzcyBpcyBkZW5pZWQgYnkgdGhlIHNlY3VyaXR5IHBvbGljeS4K
LQkJICogXHRocm93IERldmljZUFQSUVycm9yIElOVkFMSURfQVJHVU1FTlRfRVJST1IgaWYgaW52
YWxpZCBsb2NhdGlvbiB3YXMgZ2l2ZW4uCi0JCSAqLwotCQlGaWxlIHJlc29sdmUoaW4gRE9NU3Ry
aW5nIGxvY2F0aW9uKQotCQkJcmFpc2VzKFNlY3VyaXR5RXJyb3IsIERldmljZUFQSUVycm9yKTsK
LQotCQkvKioKLQkJICogXGJyaWVmIFJlZ2lzdGVycyBhIGZpbGVzeXN0ZW0gZXZlbnQgbGlzdGVu
ZXIuCi0JCSAqCi0JCSAqIEZpbGVzeXN0ZW0gZXZlbnQgbGlzdGVuZXJzIGFyZSB1c2VkIGluIG9y
ZGVyIHRvIHJldHJpZXZlCi0JCSAqIG5vdGlmaWNhdGlvbnMgaWYgcm9vdCBvciBkZWZhdWx0IGxv
Y2F0aW9ucyBzdWNoIGFzIHN0b3JhZ2UKLQkJICogY2FyZHMgYXJlIG1vdW50ZWQvdW5tb3VudGVk
IGludG8vZnJvbSB0aGUgZGV2aWNlIGZpbGVzeXN0ZW0uCi0JCSAqCi0JCSAqIFxhcGktZmVhdHVy
ZSBodHRwOi8vYm9uZGkub210cC5vcmcvYXBpL2ZpbGVzeXN0ZW0ucmVhZAotCQkgKgotCQkgKiBc
Y29kZQotCQkgKiAJdmFyIGxpc3RlbmVyID0geyBtb3VudEV2ZW50OiBmdW5jdGlvbihsb2NhdGlv
bikgeyBhbGVydCgnbW91bnRlZCAnICsgbG9jYXRpb24pOyB9LAotCQkgKiAJICAgICAgICAgICAg
ICAgICB1bm1vdW50RXZlbnQ6IGZ1bmN0aW9uKGxvY2F0aW9uKSB7IGFsZXJ0KCd1bm1vdW50ZWQg
JyArIGxvY2F0aW9uKTsgfTsKLQkJICogCWJvbmRpLmZpbGVzeXN0ZW0ucmVnaXN0ZXJFdmVudExp
c3RlbmVyKGxpc3RlbmVyKTsKLQkJICogXGVuZGNvZGUKLQkJICoKLQkJICogXHBhcmFtIGxpc3Rl
bmVyIHRoZSBsaXN0ZW5lciBpbnRlcmZhY2UgaW1wbGVtZW50YXRpb24KLQkJICogXHRocm93IERl
dmljZUFQSUVycm9yIElOVkFMSURfQVJHVU1FTlRfRVJST1IgaWYgdGhlIGdpdmVuIGxpc3RlbmVy
Ci0JCSAqICAgICAgICBpcyBpbnZhbGlkIG9yIG5vdCBhIGxpc3RlbmVyLgotCQkgKi8KLQkJdm9p
ZCByZWdpc3RlckV2ZW50TGlzdGVuZXIoaW4gRmlsZVN5c3RlbUxpc3RlbmVyIGxpc3RlbmVyKQot
CQkJcmFpc2VzKERldmljZUFQSUVycm9yKTsKLQotCQkvKioKLQkJICogXGJyaWVmIFVucmVnaXN0
ZXJzIGEgZmlsZXN5c3RlbSBldmVudCBsaXN0ZW5lci4KLQkJICoKLQkJICogXGNvZGUKLQkJICog
CWJvbmRpLmZpbGVzeXN0ZW0udW5yZWdpc3RlckV2ZW50TGlzdGVuZXIobGlzdGVuZXIpOwotCQkg
KiBcZW5kY29kZQotCQkgKgotCQkgKiBccGFyYW0gbGlzdGVuZXIgdGhlIGxpc3RlbmVyIGludGVy
ZmFjZSBpbXBsZW1lbnRhdGlvbgotCQkgKiBcdGhyb3cgRGV2aWNlQVBJRXJyb3IgSU5WQUxJRF9B
UkdVTUVOVF9FUlJPUiBpZiB0aGUgZ2l2ZW4gbGlzdGVuZXIKLQkJICogICAgICAgIGlzIGludmFs
aWQgb3Igbm90IGEgbGlzdGVuZXIuCi0JCSAqLwotCQl2b2lkIHVucmVnaXN0ZXJFdmVudExpc3Rl
bmVyKGluIEZpbGVTeXN0ZW1MaXN0ZW5lciBsaXN0ZW5lcikKLQkJCXJhaXNlcyhEZXZpY2VBUElF
cnJvcik7Ci0JfTsKLQotCS8qKgotCSAqIFxicmllZiBGaWxlc3lzdGVtIGV2ZW50IGxpc3RlbmVy
IGNsYXNzLgotCSAqCi0JICogVGhpcyBsaXN0ZW5lciBpbXBsZW1lbnRzIHR3byBtZXRob2RzIHRv
IHJldHJpZXZlIG1vdW50IGFuZCB1bm1vdW50Ci0JICogbm90aWZpY2F0aW9ucyBpZiByb290IG9y
IGRlZmF1bHQgbG9jYXRpb25zIG9uIGEgc3RvcmFnZSBjYXJkIGdldAotCSAqIGF2YWlsYWJsZSBv
ciB1bmF2YWlsYWJsZS4KLQkgKgotCSAqIFxjb2RlCi0JICogCXZhciBmc0V2ZW50SW1wbCA9IHsK
LQkgKiAJCW1vdW50RXZlbnQ6IGZ1bmN0aW9uKGxvY2F0aW9uKSB7Ci0JICogCQkJLy8gbG9jYXRp
b24gaGFzIGJlZW4gbW91bnRlZAotCSAqIAkJfSwKLQkgKiAJCXVubW91bnRFdmVudDogZnVuY3Rp
b24obG9jYXRpb24pIHsKLQkgKiAJCQkvLyBsb2NhdGlvbiBoYXMgYmVlbiB1bm1vdW50ZWQKLQkg
KiAJCX0KLQkgKiAJfTsKLQkgKiBcZW5kY29kZQotCSAqLwotCWludGVyZmFjZSBGaWxlU3lzdGVt
TGlzdGVuZXIgewotCi0JCS8qKgotCQkgKiBcYnJpZWYgQ2FsbGVkIHdoZW4gYSBuZXcgcm9vdCBs
b2NhdGlvbiBnZXRzIGF2YWlsYWJsZS4KLQkJICoKLQkJICogQSBuZXcgbG9jYXRpb24gY291bGQg
YmUgYSBzdG9yYWdlIGNhcmQgZm9yIGV4YW1wbGUuCi0JCSAqCi0JCSAqIFxwYXJhbSBsb2NhdGlv
biB0aGUgbmV3bHkgYXZhaWxhYmxlIGxvY2F0aW9uCi0JCSAqLwotCQl2b2lkIG1vdW50RXZlbnQo
aW4gRE9NU3RyaW5nIGxvY2F0aW9uKTsKLQotCQkvKioKLQkJICogXGJyaWVmIENhbGxlZCB3aGVu
IGEgbG9jYXRpb24gZ2V0cyB1bmF2YWlsYWJsZS4KLQkJICoKLQkJICogU3VjaCBhIGxvY2F0aW9u
IGNvdWxkIGJlIGEgc3RvcmFnZSBjYXJkIGZvciBleGFtcGxlLgotCQkgKgotCQkgKiBccGFyYW0g
bG9jYXRpb24gdGhlIGxvY2F0aW9uIHdoaWNoIGlzIGJlY29taW5nIHVuYXZhaWxhYmxlCi0JCSAq
LwotCQl2b2lkIHVubW91bnRFdmVudChpbiBET01TdHJpbmcgbG9jYXRpb24pOwotCX07Ci0KLQkv
KioKLQkgKiBcYnJpZWYgRmlsZSBjbGFzcy4KLQkgKgotCSAqIFRoaXMgaW50ZXJmYWNlIHJlcHJl
c2VudHMgdGhlIGZpbGUgYWJzdHJhY3Rpb24gaW4gdXNlLiBBIGZpbGUgaGFuZGxlCi0JICogY2Fu
IGFkZHJlc3MgZmlsZXMgb3IgZGlyZWN0b3JpZXMuICBBIGZpbGUgaGFuZGxlIHJlcHJlc2VudHMg
YSBmaWxlCi0JICogaWYgdGhlIGlzRmlsZSBwcm9wZXJ0eSBpcyA8ZW0+dHJ1ZTwvZW0+LCBvdGhl
cndpc2UgaXQgcmVwcmVzZW50cyBhCi0JICogZGlyZWN0b3J5LgotCSAqCi0JICogQSBmaWxlIGhh
bmRsZSByZXByZXNlbnRpbmcgYSBmaWxlIGNhbiBiZSBvcGVuZWQgZm9yIEkvTyBvcGVyYXRpb25z
Ci0JICogc3VjaCBhcyByZWFkaW5nIGFuZCB3cml0aW5nLgotCSAqCi0JICogQSBmaWxlIGhhbmRs
ZSByZXByZXNlbnRpbmcgYSBkaXJlY3RvcnkgY2FuIGxpc3QgYWxsIGZpbGVzIGluIHRoZQotCSAq
IGN1cnJlbnQgZGlyZWN0b3J5LgotCSAqCi0JICogXGNvZGUKLQkgKgotCSAqCS8vIGxpc3QgZGly
ZWN0b3J5IGNvbnRlbnRzCi0JICogCXZhciBmaWxlcyA9IGRpci5saXN0RmlsZXMoKTsKLQkgKiAJ
Zm9yKHZhciBpID0gMDsgaSAmbHQ7IGZpbGVzLmxlbmd0aDsgaSsrKSB7Ci0JICogCQkvLyBhbGVy
dHMgZWFjaCBuYW1lIG9mIGRpcidzIGNvbnRlbnRzCi0JICogCQlhbGVydChmaWxlc1tpXS5uYW1l
KTsKLQkgKiAJfQotCSAqIAotCSAqIAkvLyBvcGVucyBhIGZpbGUgZm9yIHdyaXRpbmcKLQkgKiAJ
dmFyIGZpbGUgPSBkaXIuY3JlYXRlRmlsZSgidGVzdC50eHQiKTsKLQkgKiAJdmFyIG91dCAgPSBm
aWxlLm9wZW4oInciLCAiVVRGLTgiKTsKLQkgKiAJLy8gd3JpdGVzIEhlbGxvIFdvcmxkIHRvIHRl
c3QudHh0Ci0JICogCW91dC53cml0ZSgiSGVsbG8gV29ybGQiKTsKLQkgKiAJb3V0LmNsb3NlKCk7
Ci0JICogXGVuZGNvZGUKLQkgKi8KLQlpbnRlcmZhY2UgRmlsZSB7Ci0KLQkJLyoqCi0JCSAqIFxi
cmllZiBQYXJlbnQgZGlyZWN0b3J5IGhhbmRsZS4KLQkJICoKLQkJICogUmVhZC1vbmx5LgotCQkg
KgotCQkgKiA8ZW0+bnVsbDwvZW0+IGlmIHRoZXJlIGlzIG5vIHBhcmVudCBkaXJlY3RvcnkuCi0J
CSAqCi0JCSAqIElmIHRoZXJlIGlzIG5vIHBhcmVudCBkaXJlY3RvcnksIHRoaXMgcmVwcmVzZW50
cyBhIHJvb3QgbG9jYXRpb24uCi0JCSAqCi0JCSAqIFxjb2RlCi0JCSAqIAl2YXIgcGFyZW50ID0g
ZmlsZS5wYXJlbnQ7Ci0JCSAqIAlpZihwYXJlbnQgIT0gbnVsbCkgewotCQkgKiAJCS8vIHBhcmVu
dCBkaXJlY3RvcnkgaGFuZGxlCi0JCSAqIAl9Ci0JCSAqIFxlbmRjb2RlCi0JCSAqLwotCQlyZWFk
b25seSBhdHRyaWJ1dGUgRmlsZSBwYXJlbnQ7Ci0KLQkJLyoqCi0JCSAqIFxicmllZiBGaWxlL2Rp
cmVjdG9yeSBhY2Nlc3Mgc3RhdGUgaW4gdGhlIGZpbGVzeXN0ZW0uCi0JCSAqCi0JCSAqIFJlYWQt
b25seS4KLQkJICoKLQkJICogPGVtPmZhbHNlPC9lbT4gaWYgdGhlcmUgaXMgd3JpdGUgYWNjZXNz
LgotCQkgKgotCQkgKiBUaGlzIGF0dHJpYnV0ZSByZXByZXNlbnRzIHRoZSBhY3R1YWwgc3RhdGUg
b2YgYQotCQkgKiBmaWxlL2RpcmVjdG9yeSBpbiB0aGUgZmlsZXN5c3RlbS4gSXQgZG9lcyBub3Qg
Y2hlY2sgaWYgdGhlCi0JCSAqIGFjY2Vzc29yIGhhcyBpby5maWxlLndyaXRlIHBlcm1pc3Npb24u
Ci0JCSAqCi0JCSAqIFxjb2RlCi0JCSAqIAlpZihmaWxlLnJlYWRPbmx5KSB7Ci0JCSAqIAkJLy8g
ZmlsZSBjYW5ub3QgYmUgd3JpdHRlbgotCQkgKiAJfQotCQkgKiBcZW5kY29kZQotCQkgKi8KLQkJ
cmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gcmVhZE9ubHk7Ci0KLQkJLyoqCi0JCSAqIFxicmll
ZiBGaWxlIHR5cGUuCi0JCSAqCi0JCSAqIFJlYWQtb25seS4KLQkJICoKLQkJICogPGVtPnRydWU8
L2VtPiBpZiB0aGlzIGhhbmRsZSBpcyBhIGZpbGUuCi0JCSAqIDxlbT5mYWxzZTwvZW0+IGlmIHRo
aXMgaGFuZGxlIGlzIGEgZGlyZWN0b3J5LgotCQkgKgotCQkgKiBcY29kZQotCQkgKiAJaWYoZmls
ZS5pc0ZpbGUpIHsKLQkJICogCQkvLyBpcyBhIGZpbGUKLQkJICogCX0KLQkJICogXGVuZGNvZGUK
LQkJICovCi0JCXJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIGlzRmlsZTsKLQotCQkvKioKLQkJ
ICogXGJyaWVmIEZpbGUgdHlwZS4KLQkJICoKLQkJICogUmVhZC1vbmx5LgotCQkgKgotCQkgKiA8
ZW0+dHJ1ZTwvZW0+IGlmIHRoaXMgaGFuZGxlIGlzIGEgZGlyZWN0b3J5LgotCQkgKiA8ZW0+ZmFs
c2U8L2VtPiBpZiB0aGlzIGhhbmRsZSBpcyBhIGZpbGUuCi0JCSAqCi0JCSAqIFxjb2RlCi0JCSAq
IAlpZihmaWxlLmlzRGlyZWN0b3J5KSB7Ci0JCSAqIAkJLy8gaXMgYSBkaXJlY3RvcnkKLQkJICog
CX0KLQkJICogXGVuZGNvZGUKLQkJICovCi0JCXJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIGlz
RGlyZWN0b3J5OwotCi0JCS8qKgotCQkgKiBcYnJpZWYgQ3JlYXRpb24gdGltZXN0YW1wLgotCQkg
KgotCQkgKiBSZWFkLW9ubHkuCi0JCSAqCi0JCSAqIFRoZSBjcmVhdGlvbiB0aW1lc3RhbXAgb2Yg
dGhpcyBmaWxlLiBUaGlzIGlzIHRoZSB0aW1lc3RhbXAKLQkJICogd2hlbiB0aGUgZmlsZSB3YXMg
Zmlyc3QgY3JlYXRlZCBpbiB0aGUgZmlsZXN5c3RlbS4gVGhpcyBpcwotCQkgKiBlcXVpdmFsZW50
IHRvIHRoZSB0aW1lc3RhbXAgd2hlbiBhIGNhbGwgdG8gY3JlYXRlRmlsZSgpCi0JCSAqIHN1Y2Nl
ZWRzLgotCQkgKgotCQkgKiBJdCBpcyB1bnNwZWNpZmllZCBhbmQgcGxhdGZvcm0tZGVwZW5kZW50
IGlmIHRoZSBjcmVhdGlvbgotCQkgKiB0aW1lc3RhbXAgY2hhbmdlcyB3aGVuIGEgZmlsZSBpcyBt
b3ZlZC4KLQkJICoKLQkJICogXGNvZGUKLQkJICogCWFsZXJ0KGZpbGUuY3JlYXRlZCk7IC8vIGRp
c3BsYXlzIHRoZSBjcmVhdGlvbiB0aW1lc3RhbXAKLQkJICogXGVuZGNvZGUKLQkJICoKLQkJICov
Ci0JCXJlYWRvbmx5IGF0dHJpYnV0ZSBEYXRlIGNyZWF0ZWQ7Ci0KLQkJLyoqCi0JCSAqIFxicmll
ZiBNb2RpZmljYXRpb24gdGltZXN0YW1wLgotCQkgKgotCQkgKiBSZWFkLW9ubHkuCi0JCSAqCi0J
CSAqIFRoZSBtb2RpZmljYXRpb24gdGltZXN0YW1wIG9mIHRoaXMgZmlsZS4gVGhpcyBpcyB0aGUg
dGltZXN0YW1wCi0JCSAqIG9mIHRoZSBtb3N0IHJlY2VudCBtb2RpZmljYXRpb24gdG8gdGhlIGZp
bGUsIHVzdWFsbHkgd2hlbiB0aGUgbGFzdAotCQkgKiB3cml0ZSBvcGVyYXRpb24gc3VjY2VlZGVk
LiBPcGVuaW5nIGEgZmlsZSBmb3IgcmVhZGluZyBkb2VzIG5vdCBjaGFuZ2UKLQkJICogdGhlIG1v
ZGlmaWNhdGlvbiB0aW1lc3RhbXAuCi0JCSAqCi0JCSAqIFxjb2RlCi0JCSAqIAlhbGVydChmaWxl
Lm1vZGlmaWVkKTsgLy8gZGlzcGxheXMgdGhlIG1vZGlmaWNhdGlvbiB0aW1lc3RhbXAKLQkJICog
XGVuZGNvZGUKLQkJICoKLQkJICovCi0JCXJlYWRvbmx5IGF0dHJpYnV0ZSBEYXRlIG1vZGlmaWVk
OwotCi0JCS8qKgotCQkgKiBcYnJpZWYgUGF0aCBvZiB0aGlzIGZpbGUsIGV4Y2x1ZGluZyB0aGUg
ZmlsZSBuYW1lLgotCQkgKgotCQkgKiBSZWFkLW9ubHkuCi0JCSAqCi0JCSAqIElmIHRoZSBmaWxl
IHBhdGggaXMgPGVtPi9iYXovZm9vLmJhcjwvZW0+LCB0aGVuCi0JCSAqIHRoZSBwYXRoIGlzIDxl
bT4vYmF6LzwvZW0+LiAgCi0JCSAqCi0JCSAqIFRoZSBlbmNvZGluZyBvZiBmaWxlIHBhdGhzIGlz
IDxhIGhyZWY9Imh0dHA6Ly93d3cuaWV0Zi5vcmcvcmZjL3JmYzIyNzkudHh0Ij5VVEYtODwvYT4u
Ci0JCSAqCi0JCSAqIFxjb2RlCi0JCSAqIAlhbGVydChmaWxlLnBhdGgpOyAvLyBzaG91bGQgYmUg
L2Jhei8gaWYgdGhlIGZpbGUgaXMgL2Jhei9mb28uYmFyCi0JCSAqIFxlbmRjb2RlCi0JCSAqLwot
CQlyZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHBhdGg7Ci0KLQkJLyoqCi0JCSAqIFxicmll
ZiBGaWxlIG5hbWUsIGV4Y2x1ZGluZyBhbnkgcGF0aCBjb21wb25lbnRzLgotCQkgKgotCQkgKiBS
ZWFkLW9ubHkuCi0JCSAqCi0JCSAqIEFzc3VtZWQgdGhlIGZpbGUgcGF0aCBpcyA8ZW0+L2Jhei9m
b28uYmFyPC9lbT4sIHRoZW4KLQkJICogdGhlIGZpbGUgbmFtZSBpcyA8ZW0+Zm9vLmJhcjwvZW0+
LgotCQkgKgotCQkgKiBUaGUgZW5jb2Rpbmcgb2YgZmlsZSBuYW1lcyBpcyA8YSBocmVmPSJodHRw
Oi8vd3d3LmlldGYub3JnL3JmYy9yZmMyMjc5LnR4dCI+VVRGLTg8L2E+LgotCQkgKgotCQkgKiBc
Y29kZQotCQkgKiAJYWxlcnQoZmlsZS5uYW1lKTsgLy8gc2hvdWxkIGJlIGZvby5iYXIgaWYgdGhl
IGZpbGUgcGF0aCBpcyAvYmF6L2Zvby5iYXIKLQkJICogXGVuZGNvZGUKLQkJICovCi0JCXJlYWRv
bmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgbmFtZTsKLQotCQkvKioKLQkJICogXGJyaWVmIEFic29s
dXRlIHBhdGggb2YgdGhpcyBmaWxlLgotCQkgKgotCQkgKiBSZWFkLW9ubHkuCi0JCSAqCi0JCSAq
IEFzc3VtZWQgdGhlIGZpbGUgcGF0aCBpcyA8ZW0+L2Jhei9mb28uYmFyPC9lbT4sIHRoZW4gdGhp
cyBpcyB0aGUgYWJzb2x1dGUgcGF0aC4KLQkJICoKLQkJICogVGhlIGVuY29kaW5nIG9mIGZpbGUg
cGF0aHMgaXMgPGEgaHJlZj0iaHR0cDovL3d3dy5pZXRmLm9yZy9yZmMvcmZjMjI3OS50eHQiPlVU
Ri04PC9hPi4KLQkJICoKLQkJICogXGNvZGUKLQkJICogCWFsZXJ0KGZpbGUuYWJzb2x1dGVQYXRo
KTsgLy8gc2hvdWxkIGJlIC9iYXovZm9vLmJhciBpZiB0aGUgZmlsZSBpcyAvYmF6L2Zvby5iYXIK
LQkJICogXGVuZGNvZGUKLQkJICovCi0JCXJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgYWJz
b2x1dGVQYXRoOwotCi0JCS8qKgotCQkgKiBcYnJpZWYgU2l6ZSBpbiBieXRlcyBvZiB0aGlzIGZp
bGUuCi0JCSAqCi0JCSAqIFJlYWQtb25seS4KLQkJICoKLQkJICogSWYgaXQgaXMgYXR0ZW1wdGVk
IHRvIHJlYWQgdGhpcyBhdHRyaWJ1dGUgb24gYSBkaXJlY3RvcnksCi0JCSAqIDxlbT51bmRlZmlu
ZWQ8L2VtPiBpcyByZXR1cm5lZC4KLQkJICoKLQkJICogXGNvZGUKLQkJICogCWFsZXJ0KGZpbGUu
ZmlsZVNpemUpOyAvLyBkaXNwbGF5cyB0aGUgZmlsZSBzaXplCi0JCSAqIFxlbmRjb2RlCi0JCSAq
LwotCQlyZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBmaWxlU2l6ZTsKLQotCQkvKioK
LQkJICogXGJyaWVmIEZpbGVzIG1ldGFkYXRhLgotCQkgKgotCQkgKiBUaGUgYWN0dWFsIG1hcCBj
b250ZW50cyBhcmUgaW1wbGVtZW50YXRpb24gZGVwZW5kZW50LgotCQkgKgotCQkgKiBcY29kZQot
CQkgKiAJLy8gc2hvdWxkIGRpc3BsYXkgdGhlIGZpbGUgYXV0aG9yLCBpZiBzdXBwb3J0ZWQgYnkg
dGhlCi0JCSAqIAkvLyBwbGF0Zm9ybSwgdW5kZWZpbmVkIG90aGVyd2lzZQotCQkgKiAJYWxlcnQo
ZmlsZS5tZXRhZGF0YS5hdXRob3IpOwotCQkgKiBcZW5kY29kZQotCQkgKi8KLQkJcmVhZG9ubHkg
YXR0cmlidXRlIE1hcCBtZXRhZGF0YTsKLQotCQkvKioKLQkJICogXGJyaWVmIFJldHVybnMgbGlz
dCBvZiBhbGwgZmlsZXMgb2YgdGhpcyBkaXJlY3RvcnkuCi0JCSAqCi0JCSAqIFRoZSBsaXN0IG9m
IGZpbGVzIGNvbnRhaW5zIGRpcmVjdG9yaWVzIGFuZCBmaWxlcywgaXQgZG9lcwotCQkgKiBub3Qg
Y29udGFpbiB0aGUgZGlyZWN0b3JpZXMgIi4iIGFuZCAiLi4iLgotCQkgKgotCQkgKiBcYXBpLWZl
YXR1cmUgaHR0cDovL2JvbmRpLm9tdHAub3JnL2FwaS9maWxlc3lzdGVtLnJlYWQKLQkJICoKLQkJ
ICogXGNvZGUKLQkJICogCXZhciBmaWxlcyA9IGRpci5saXN0RmlsZXMoKTsKLQkJICogCWZvcih2
YXIgaSA9IDA7IGkgJmx0OyBmaWxlcy5sZW5ndGg7IGkrKykgewotCQkgKiAJCS8vIGZpbGVzW2ld
IGl0ZXJhdGUgb3ZlciBhbGwgZmlsZXMgb2YgdGhpcyBkaXJlY3RvcnkKLQkJICogCX0KLQkJICog
XGVuZGNvZGUKLQkJICoKLQkJICogXHJldHVybiBhcnJheSBvZiBjb250ZW50cyBvZiB0aGlzIGRp
cmVjdG9yeS4KLQkJICogXHRocm93IFNlY3VyaXR5RXJyb3IgUEVSTUlTU0lPTl9ERU5JRURfRVJS
T1Igd2hlbgotCQkgKiAgICAgICAgYWNjZXNzIGlzIGRlbmllZCBieSB0aGUgc2VjdXJpdHkgcG9s
aWN5LgotCQkgKiBcdGhyb3cgRGV2aWNlQVBJRXJyb3IgSU9fRVJST1IgaWYgdGhpcyBpcyBub3Qg
YSBkaXJlY3RvcnkuCi0JCSAqLwotCQlGaWxlQXJyYXkgbGlzdEZpbGVzKCkKLQkJCXJhaXNlcyhT
ZWN1cml0eUVycm9yLCBEZXZpY2VBUElFcnJvcik7Ci0KLQkJLyoqCi0JCSAqIFxicmllZiBPcGVu
cyB0aGUgZmlsZSBpbiB0aGUgZ2l2ZW4gbW9kZSBzdXBwb3J0aW5nIHRoZSBnaXZlbgotCQkgKiBl
bmNvZGluZy4KLQkJICoKLQkJICogXGFwaS1mZWF0dXJlIGh0dHA6Ly9ib25kaS5vbXRwLm9yZy9h
cGkvZmlsZXN5c3RlbS5yZWFkCi0JCSAqIFxhcGktZmVhdHVyZSBodHRwOi8vYm9uZGkub210cC5v
cmcvYXBpL2ZpbGVzeXN0ZW0ud3JpdGUKLQkJICoKLQkJICogXGNvZGUKLQkJICogCS8vIG9wZW5z
IGZpbGUgZm9yIHJlYWRpbmcKLQkJICogCXZhciBpbiA9IGZpbGUub3BlbigiciIsICJVVEYtOCIp
OwotCQkgKiBcZW5kY29kZQotCQkgKgotCQkgKiBccGFyYW0gbW9kZSB0aGUgbW9kZSBmb3Igb3Bl
bmluZyBhIGZpbGUKLQkJICogXG4gInIiIGZvciByZWFkaW5nCi0JCSAqIFxuICJhIiBmb3IgYXBw
ZW5kaW5nCi0JCSAqIFxuICJ3IiBmb3IgW292ZXJdd3JpdGluZwotCQkgKiBccGFyYW0gZW5jb2Rp
bmcgdGhlIGVuY29kaW5nIGZvciByZWFkL3dyaXRlIG9wZXJhdGlvbnMgb24gdGhlIGZpbGUsCi0J
CSAqICAgICAgICAgICAgICAgICAgIHN1cHBvcnRlZCBlbmNvZGluZ3MgYXJlOgotCQkgKiBcbiAi
PGEgaHJlZj0iaHR0cDovL3d3dy5pZXRmLm9yZy9yZmMvcmZjMjI3OS50eHQiPlVURi04PC9hPiIg
ZGVmYXVsdCBlbmNvZGluZwotCQkgKiBcbiAiPGEgaHJlZj0iaHR0cDovL2VuLndpa2lwZWRpYS5v
cmcvd2lraS9JU08vSUVDXzg4NTktMSI+SVNPODg1OS0xPC9hPiIgbGF0aW4xIGVuY29kaW5nCi0J
CSAqIFxyZXR1cm4gZmlsZSBzdHJlYW0gaGFuZGxlIHRvIHJlYWQvd3JpdGUgZnJvbS90by4KLQkJ
ICogXHRocm93IFNlY3VyaXR5RXJyb3IgUEVSTUlTU0lPTl9ERU5JRURfRVJST1Igd2hlbgotCQkg
KiAgICAgICAgYWNjZXNzIGlzIGRlbmllZCBieSB0aGUgc2VjdXJpdHkgcG9saWN5LgotCQkgKiBc
dGhyb3cgRGV2aWNlQVBJRXJyb3IgSU5WQUxJRF9BUkdVTUVOVF9FUlJPUiBpZiBpbnZhbGlkIG1v
ZGUKLQkJICogICAgICAgIG9yIHVuc3VwcG9ydGVkIGVuY29kaW5nIGlzIHN1cHBsaWVkLgotCQkg
KiBcdGhyb3cgRGV2aWNlQVBJRXJyb3IgSU9fRVJST1IgaWYgdGhpcyBpcyBub3QgYSBmaWxlLgot
CQkgKi8KLQkJRmlsZVN0cmVhbSBvcGVuKGluIERPTVN0cmluZyBtb2RlLCBpbiBET01TdHJpbmcg
ZW5jb2RpbmcpCi0JCQlyYWlzZXMoU2VjdXJpdHlFcnJvciwgRGV2aWNlQVBJRXJyb3IpOwotCi0J
CS8qKgotCQkgKiBcYnJpZWYgQ29waWVzIHRoaXMgZmlsZS4KLQkJICoKLQkJICogVGhlIGNvcHkg
d2lsbCBiZSBjcmVhdGVkIGluIHRoZSBnaXZlbiBwYXRoLiBJZiB0aGlzIGZ1bmN0aW9uCi0JCSAq
IGZhaWxzIGFuZCB0aGUgZXJyb3IgY2FsbGJhY2sgaXMgY2FsbGVkLCBpdCB3aWxsIHBhc3MgYW4K
LQkJICogRGV2aWNlQVBJRXJyb3IgSU9fRVJST1IgdG8gdGhlIGNhbGxiYWNrLgotCQkgKgotCQkg
KiBUaGUgZW5jb2Rpbmcgb2YgZmlsZSBwYXRocyBpcyA8YSBocmVmPSJodHRwOi8vd3d3LmlldGYu
b3JnL3JmYy9yZmMyMjc5LnR4dCI+VVRGLTg8L2E+LgotCQkgKgotCQkgKiBcYXBpLWZlYXR1cmUg
aHR0cDovL2JvbmRpLm9tdHAub3JnL2FwaS9maWxlc3lzdGVtLndyaXRlCi0JCSAqCi0JCSAqIFxj
b2RlCi0JCSAqIAkvLyBjb3BpZXMgdGhpcyBmaWxlIHRvIC90ZW1wL2ZpbGUuY29weQotCQkgKiAJ
dmFyIG9wID0gZmlsZS5jb3B5VG8oZnVuY3Rpb24oY29waWVkRmlsZSkgeyBhbGVydCgiZmlsZSBj
b3BpZWQiKTsgfSwgbnVsbCwgIi90ZW1wL2ZpbGUuY29weSIsIGZhbHNlKTsKLQkJICogXGVuZGNv
ZGUKLQkJICoKLQkJICogXHBhcmFtIHN1Y2Nlc3NDYWxsYmFjayBjYWxsZWQgd2hlbiB0aGUgZmls
ZSBoYXMgYmVlbiBjb3BpZWQuCi0JCSAqIFxwYXJhbSBlcnJvckNhbGxiYWNrIGNhbGxlZCBpZiBh
biBlcnJvciBvY2N1cmVkLgotCQkgKiBccGFyYW0gZmlsZVBhdGggdGhlIG5ldyBmaWxlIHBhdGgs
IFthLVowLTlfLSAvXSsgYXJlIGFsbG93ZWQgCi0JCSAqIFxwYXJhbSBvdmVyd3JpdGUgPGVtPnRy
dWU8L2VtPiBlbmZvcmNlcyBvdmVyd3JpdGluZyBhbiBleGlzdGluZyBmaWxlLgotCQkgKiBccmV0
dXJuIFBlbmRpbmdPcGVyYXRpb24gZW5hYmxpbmcgdGhlIHJlcXVlc3RlciB0byBjYW5jZWwgdGhp
cyByZXF1ZXN0LgotCQkgKiBcdGhyb3cgU2VjdXJpdHlFcnJvciBQRVJNSVNTSU9OX0RFTklFRF9F
UlJPUiB3aGVuCi0JCSAqICAgICAgICBhY2Nlc3MgaXMgZGVuaWVkIGJ5IHRoZSBzZWN1cml0eSBw
b2xpY3kuCi0JCSAqIFx0aHJvdyBEZXZpY2VBUElFcnJvciBJT19FUlJPUiBpZiBpdCBpcyBhdHRl
bXB0ZWQgdG8gbW92ZSB0byBhIGRpcmVjdG9yeS4KLQkJICogXHRocm93IERldmljZUFQSUVycm9y
IElPX0VSUk9SIGlmIG92ZXJ3cml0ZSBpcyA8ZW0+ZmFsc2U8L2VtPiBhbmQgdGFyZ2V0IGZpbGUg
ZXhpc3RzLgotCQkgKiBcdGhyb3cgRGV2aWNlQVBJRXJyb3IgSU9fRVJST1IgaWYgYW55IGNoYXJh
Y3RlcnMgaW4gdGhlIHBhdGggYXJlIG5vdCBzdXBwb3J0ZWQuCi0JCSAqIFx0aHJvdyBEZXZpY2VB
UElFcnJvciBJT19FUlJPUiBpZiB0aGUgZmlsZSBjYW5ub3QgYmUgY29waWVkLgotCQkgKi8KLQkJ
UGVuZGluZ09wZXJhdGlvbiBjb3B5VG8oaW4gRmlsZVN5c3RlbVN1Y2Nlc3NDYWxsYmFjayBzdWNj
ZXNzQ2FsbGJhY2ssCi0JCSAgICAgICAgICAgICAgICAgICAgICAgIGluIEVycm9yQ2FsbGJhY2sg
ZXJyb3JDYWxsYmFjaywKLQkJICAgICAgICAgICAgICAgICAgICAgICAgaW4gRE9NU3RyaW5nIGZp
bGVQYXRoLAotCQkgICAgICAgICAgICAgICAgICAgICAgICBpbiBib29sZWFuIG92ZXJ3cml0ZSkK
LQkJCXJhaXNlcyhTZWN1cml0eUVycm9yLCBEZXZpY2VBUElFcnJvcik7Ci0KLQkJLyoqCi0JCSAq
IFxicmllZiBNb3ZlcyB0aGlzIGZpbGUuCi0JCSAqCi0JCSAqIFRoZSBmaWxlIHdpbGwgYmUgbW92
ZWQgYXRvbWljYWxseSB0byB0aGUgZ2l2ZW4gcGF0aC4gVGhpcyBpcwotCQkgKiBkaWZmZXJlbnQg
dG8gY29weVRvIGFuZCBkZWxldGluZyB0aGUgb2xkIGZpbGUsIGJlY2F1c2UgdGhpcwotCQkgKiBv
cGVyYXRpb24gZG9lcyBub3QgbmVlZCBleHRyYSBkaXNrIHNwYWNlIG9uIGNlcnRhaW4gcGxhdGZv
cm1zLgotCQkgKiBJZiB0aGlzIGZ1bmN0aW9uIGZhaWxzIGFuZCB0aGUgZXJyb3IgY2FsbGJhY2sg
aXMgY2FsbGVkLCBpdAotCQkgKiB3aWxsIHBhc3MgYW4gRGV2aWNlQVBJRXJyb3IgSU9fRVJST1Ig
dG8gdGhlIGNhbGxiYWNrLgotCQkgKgotCQkgKiBUaGUgZW5jb2Rpbmcgb2YgZmlsZSBwYXRocyBp
cyA8YSBocmVmPSJodHRwOi8vd3d3LmlldGYub3JnL3JmYy9yZmMyMjc5LnR4dCI+VVRGLTg8L2E+
LgotCQkgKgotCQkgKiBcYXBpLWZlYXR1cmUgaHR0cDovL2JvbmRpLm9tdHAub3JnL2FwaS9maWxl
c3lzdGVtLndyaXRlCi0JCSAqCi0JCSAqIFxjb2RlCi0JCSAqIAkvLyBtb3ZlcyB0aGlzIGZpbGUg
dG8gL3RlbXAvZmlsZS5tb3ZlCi0JCSAqIAl2YXIgb3AgPSBmaWxlLm1vdmVUbyhmdW5jdGlvbiht
b3ZlZEZpbGUpIHsgZmlsZSA9IG1vdmVkRmlsZTsgfSwgbnVsbCwgIi90ZW1wL2ZpbGUubW92ZSIp
OwotCQkgKiBcZW5kY29kZQotCQkgKgotCQkgKiBccGFyYW0gc3VjY2Vzc0NhbGxiYWNrIGNhbGxl
ZCB3aGVuIHRoZSBmaWxlIGhhcyBiZWVuIGNvcGllZC4KLQkJICogXHBhcmFtIGVycm9yQ2FsbGJh
Y2sgY2FsbGVkIGlmIGFuIGVycm9yIG9jY3VyZWQuCi0JCSAqIFxwYXJhbSBmaWxlUGF0aCB0aGUg
bmV3IGZpbGUgbmFtZSwgW2EtWjAtOV8tIC9dKyBhcmUgYWxsb3dlZAotCQkgKiBccGFyYW0gb3Zl
cndyaXRlIDxlbT50cnVlPC9lbT4gZW5mb3JjZXMgb3ZlcndyaXRpbmcgYW4gZXhpc3RpbmcgZmls
ZS4KLQkJICogXHJldHVybiBQZW5kaW5nT3BlcmF0aW9uIGVuYWJsaW5nIHRoZSByZXF1ZXN0ZXIg
dG8gY2FuY2VsIHRoaXMgcmVxdWVzdC4KLQkJICogXHRocm93IFNlY3VyaXR5RXJyb3IgUEVSTUlT
U0lPTl9ERU5JRURfRVJST1Igd2hlbgotCQkgKiAgICAgICAgYWNjZXNzIGlzIGRlbmllZCBieSB0
aGUgc2VjdXJpdHkgcG9saWN5LgotCQkgKiBcdGhyb3cgRGV2aWNlQVBJRXJyb3IgSU9fRVJST1Ig
aWYgaXQgaXMgYXR0ZW1wdGVkIHRvIG1vdmUgdG8gYSBkaXJlY3RvcnkuCi0JCSAqIFx0aHJvdyBE
ZXZpY2VBUElFcnJvciBJT19FUlJPUiBpZiBvdmVyd3JpdGUgaXMgPGVtPmZhbHNlPC9lbT4gYW5k
IHRhcmdldCBmaWxlIGV4aXN0cy4KLQkJICogXHRocm93IERldmljZUFQSUVycm9yIElPX0VSUk9S
IGlmIGFueSBjaGFyYWN0ZXJzIGluIHRoZSBwYXRoIGFyZSBub3Qgc3VwcG9ydGVkLgotCQkgKiBc
dGhyb3cgRGV2aWNlQVBJRXJyb3IgSU9fRVJST1IgaWYgdGhlIGZpbGUgY2Fubm90IGJlIG1vdmVk
LgotCQkgKi8KLQkJUGVuZGluZ09wZXJhdGlvbiBtb3ZlVG8oaW4gRmlsZVN5c3RlbVN1Y2Nlc3ND
YWxsYmFjayBzdWNjZXNzQ2FsbGJhY2ssCi0JCSAgICAgICAgICAgICAgICAgICAgICAgIGluIEVy
cm9yQ2FsbGJhY2sgZXJyb3JDYWxsYmFjaywKLQkJICAgICAgICAgICAgICAgICAgICAgICAgaW4g
RE9NU3RyaW5nIGZpbGVQYXRoLAotCQkgICAgICAgICAgICAgICAgICAgICAgICBpbiBib29sZWFu
IG92ZXJ3cml0ZSkKLQkJCXJhaXNlcyhTZWN1cml0eUVycm9yLCBEZXZpY2VBUElFcnJvcik7Ci0K
LQkJLyoqCi0JCSAqIFxicmllZiBDcmVhdGVzIGEgZGlyZWN0b3J5LgotCQkgKgotCQkgKiBUaGUg
bmV3IGRpcmVjdG9yeSB3aWxsIGJlIGNyZWF0ZWQgcmVsYXRpdmVseSB0byB0aGUgY3VycmVudAot
CQkgKiBkaXJlY3RvcnkgdGhpcyBvcGVyYXRpb24gaXMgcGVyZm9ybWVkIG9uLiBJdCB3aWxsIGF0
dGVtcHQgdG8KLQkJICogY3JlYXRlIGFsbCBuZWNlc3Nhcnkgc3ViLWRpcmVjdG9yaWVzIGFzIHdl
bGwuIFRoZSB1c2Ugb2YgIi4iCi0JCSAqIG9yICIuLiIgaW4gcGF0aCBjb21wb25lbnRzIGlzIG5v
dCBzdXBwb3J0ZWQuIElmIHRoZQotCQkgKiBib3R0b20tbW9zdCBkaXJlY3RvcnkgYmVpbmcgY3Jl
YXRlZCBhbHJlYWR5IGV4aXN0cyB0aGlzCi0JCSAqIG1ldGhvZCB3aWxsIHRocm93IGFuIElPX0VS
Uk9SLgotCQkgKgotCQkgKiBUaGUgZW5jb2Rpbmcgb2YgZmlsZSBwYXRocyBpcyA8YSBocmVmPSJo
dHRwOi8vd3d3LmlldGYub3JnL3JmYy9yZmMyMjc5LnR4dCI+VVRGLTg8L2E+LgotCQkgKgotCQkg
KiBcYXBpLWZlYXR1cmUgaHR0cDovL2JvbmRpLm9tdHAub3JnL2FwaS9maWxlc3lzdGVtLndyaXRl
Ci0JCSAqCi0JCSAqIFxjb2RlCi0JCSAqIAl2YXIgbmV3RGlyID0gZGlyLmNyZWF0ZURpcmVjdG9y
eSgibmV3RGlyIik7Ci0JCSAqIAl2YXIgYW5vdGhlck5ld0RpciA9IGRpci5jcmVhdGVEaXJlY3Rv
cnkoIm5ld0RpcjEvc3ViTmV3RGlyMSIpOwotCQkgKiBcZW5kY29kZQotCQkgKgotCQkgKiBccGFy
YW0gZGlyUGF0aCB0aGUgbmV3IGRpcmVjdG9yeSBwYXRoLCBpdCBzaG91bGQgb25seSBjb250YWlu
Ci0JCSAqICAgICAgICBjaGFyYWN0ZXJzIHN1cHBvcnRlZCBieSB0aGUgdW5kZXJseWluZyBmaWxl
c3lzdGVtLgotCQkgKiBccmV0dXJuIGZpbGUgaGFuZGxlIG9mIHRoZSBuZXcgZGlyZWN0b3J5Ci0J
CSAqIFx0aHJvdyBTZWN1cml0eUVycm9yIFBFUk1JU1NJT05fREVOSUVEX0VSUk9SIHdoZW4KLQkJ
ICogICAgICAgIGFjY2VzcyBpcyBkZW5pZWQgYnkgdGhlIHNlY3VyaXR5IHBvbGljeS4KLQkJICog
XHRocm93IERldmljZUFQSUVycm9yIElPX0VSUk9SIGlmIHRoaXMgaXMgbm90IGEgZGlyZWN0b3J5
LgotCQkgKiBcdGhyb3cgRGV2aWNlQVBJRXJyb3IgSU9fRVJST1IgaWYgYW55IHBhdGggY29tcG9u
ZW50IGRvZXMgbm90IGV4aXN0LgotCQkgKiBcdGhyb3cgRGV2aWNlQVBJRXJyb3IgSU9fRVJST1Ig
aWYgYSBmaWxlIHdpdGggdGhlIHNhbWUgbmFtZSBleGlzdHMuCi0JCSAqIFx0aHJvdyBEZXZpY2VB
UElFcnJvciBJT19FUlJPUiBpZiBhbnkgY2hhcmFjdGVycyBpbiB0aGUgcGF0aCBhcmUgbm90IHN1
cHBvcnRlZC4KLQkJICogXHRocm93IERldmljZUFQSUVycm9yIElPX0VSUk9SIGlmIHRoZSBkaXJl
Y3RvcnkgY2Fubm90IGJlIGNyZWF0ZWQuCi0JCSAqLwotCQlGaWxlIGNyZWF0ZURpcmVjdG9yeShp
biBET01TdHJpbmcgZGlyUGF0aCkKLQkJCXJhaXNlcyhTZWN1cml0eUVycm9yLCBEZXZpY2VBUElF
cnJvcik7Ci0KLQkJLyoqCi0JCSAqIFxicmllZiBDcmVhdGVzIGEgbmV3IGVtcHR5IGZpbGUuCi0J
CSAqCi0JCSAqIFRoZSBuZXcgZW1wdHkgZmlsZSBpcyBjcmVhdGVkIGluIHRoZSBnaXZlbiBwYXRo
IHJlbGF0aXZlbHkKLQkJICogdG8gdGhlIGN1cnJlbnQgZGlyZWN0b3J5IHRoZSBvcGVyYXRpb24g
aXMgcGVyZm9ybWVkIG9uLiAgVGhlCi0JCSAqIHVzZSBvZiAiLiIgb3IgIi4uIiBpbiBwYXRoIGNv
bXBvbmVudHMgaXMgbm90IHN1cHBvcnRlZC4gIElmCi0JCSAqIHRoZSBib3R0b20tbW9zdCBmaWxl
IGJlaW5nIGNyZWF0ZWQgYWxyZWFkeSBleGlzdHMgdGhpcwotCQkgKiBtZXRob2Qgd2lsbCB0aHJv
dyBhbiBJT19FUlJPUi4gIElmIGFueSBwYXRoIGNvbXBvbmVudCBkb2VzCi0JCSAqIG5vdCBleGlz
dCB0aGlzIG1ldGhvZCB3aWxsIHRocm93IGFuIElPX0VSUk9SLgotCQkgKgotCQkgKiBUaGUgZW5j
b2Rpbmcgb2YgZmlsZSBwYXRocyBpcyA8YSBocmVmPSJodHRwOi8vd3d3LmlldGYub3JnL3JmYy9y
ZmMyMjc5LnR4dCI+VVRGLTg8L2E+LgotCQkgKgotCQkgKiBcYXBpLWZlYXR1cmUgaHR0cDovL2Jv
bmRpLm9tdHAub3JnL2FwaS9maWxlc3lzdGVtLndyaXRlCi0JCSAqCi0JCSAqIFxjb2RlCi0JCSAq
IAl2YXIgbmV3RmlsZSA9IGRpci5jcmVhdGVGaWxlKCJuZXdGaWxlIik7Ci0JCSAqIFxlbmRjb2Rl
Ci0JCSAqCi0JCSAqIFxwYXJhbSBmaWxlUGF0aCB0aGUgbmV3IGZpbGUgcGF0aCwgaXQgc2hvdWxk
IG9ubHkgY29udGFpbgotCQkgKiAgICAgICAgY2hhcmFjdGVycyBzdXBwb3J0ZWQgYnkgdGhlIHVu
ZGVybHlpbmcgZmlsZXN5c3RlbS4KLQkJICogXHJldHVybiBmaWxlIGhhbmRsZSBvZiB0aGUgbmV3
IGVtcHR5IGZpbGUKLQkJICogXHRocm93IFNlY3VyaXR5RXJyb3IgUEVSTUlTU0lPTl9ERU5JRURf
RVJST1Igd2hlbgotCQkgKiAgICAgICAgYWNjZXNzIGlzIGRlbmllZCBieSB0aGUgc2VjdXJpdHkg
cG9saWN5LgotCQkgKiBcdGhyb3cgRGV2aWNlQVBJRXJyb3IgSU9fRVJST1IgaWYgdGhpcyBpcyBu
b3QgYSBkaXJlY3RvcnkuCi0JCSAqIFx0aHJvdyBEZXZpY2VBUElFcnJvciBJT19FUlJPUiBpZiBh
bnkgcGF0aCBjb21wb25lbnQgZG9lcyBub3QgZXhpc3QuCi0JCSAqIFx0aHJvdyBEZXZpY2VBUElF
cnJvciBJT19FUlJPUiBpZiB0aGUgZmlsZSBhbHJlYWR5IGV4aXN0cy4KLQkJICogXHRocm93IERl
dmljZUFQSUVycm9yIElPX0VSUk9SIGlmIGFueSBjaGFyYWN0ZXJzIGluIHRoZSBwYXRoIGFyZSBu
b3Qgc3VwcG9ydGVkLgotCQkgKiBcdGhyb3cgRGV2aWNlQVBJRXJyb3IgSU9fRVJST1IgaWYgdGhl
IGZpbGUgY2Fubm90IGJlIGNyZWF0ZWQuCi0JCSAqLwotCQlGaWxlIGNyZWF0ZUZpbGUoaW4gRE9N
U3RyaW5nIGZpbGVQYXRoKQotCQkJcmFpc2VzKFNlY3VyaXR5RXJyb3IsIERldmljZUFQSUVycm9y
KTsKLQotCQkvKioKLQkJICogXGJyaWVmIFJlc29sdmVzIGFuIGV4aXN0aW5nIGZpbGUgb3IgZGly
ZWN0b3J5IHJlbGF0aXZlbHkgdG8KLQkJICogdGhlIGN1cnJlbnQgZGlyZWN0b3J5IHRoaXMgb3Bl
cmF0aW9uIGlzIHBlcmZvcm1lZCBvbjsgYW5kCi0JCSAqIHJldHVybnMgYSBmaWxlIGhhbmRsZSBm
b3IgaXQuCi0JCSAqIAotCQkgKiBUaGUgZmlsZVBhdGggaXMgbm90IGFsbG93ZWQgdG8gY29udGFp
biB0aGUgIi4iIG9yICIuLiIgZGlyZWN0b3JpZXMuCi0JCSAqCi0JCSAqIFRoZSBlbmNvZGluZyBv
ZiBmaWxlIHBhdGhzIGlzIDxhIGhyZWY9Imh0dHA6Ly93d3cuaWV0Zi5vcmcvcmZjL3JmYzIyNzku
dHh0Ij5VVEYtODwvYT4uCi0JCSAqCi0JCSAqIFxhcGktZmVhdHVyZSBodHRwOi8vYm9uZGkub210
cC5vcmcvYXBpL2ZpbGVzeXN0ZW0ucmVhZAotCQkgKgotCQkgKiBcY29kZQotCQkgKiAJdmFyIGhl
bGxvZmlsZSA9IGRpci5yZXNvbHZlKCJmb28vaGVsbG8udHh0Iik7Ci0JCSAqIFxlbmRjb2RlCi0J
CSAqCi0JCSAqIFxwYXJhbSBmaWxlUGF0aCB0aGUgcmVsYXRpdmUgZmlsZS9kaXJlY3RvcnkgcGF0
aCB0byByZXNvbHZlLgotCQkgKiBccmV0dXJuIGZpbGUgaGFuZGxlIG9mIHRoZSBmaWxlIG9yIDxl
bT5udWxsPC9lbT4gaWYgaXQgY2Fubm90IGJlIHJlc29sdmVkLgotCQkgKiBcdGhyb3cgU2VjdXJp
dHlFcnJvciBQRVJNSVNTSU9OX0RFTklFRF9FUlJPUiB3aGVuCi0JCSAqICAgICAgICBhY2Nlc3Mg
aXMgZGVuaWVkIGJ5IHRoZSBzZWN1cml0eSBwb2xpY3kuCi0JCSAqIFx0aHJvdyBEZXZpY2VBUElF
cnJvciBJT19FUlJPUiBpZiB0aGlzIGlzIG5vdCBhIGRpcmVjdG9yeS4KLQkJICogXHRocm93IERl
dmljZUFQSUVycm9yIElPX0VSUk9SIGlmIGFueSBjaGFyYWN0ZXJzIGluIHRoZSBwYXRoIGFyZSBu
b3Qgc3VwcG9ydGVkLgotCQkgKiBcdGhyb3cgRGV2aWNlQVBJRXJyb3IgSU9fRVJST1IgaWYgdGhl
IGZpbGUgb3IgZGlyZWN0b3J5IGNhbm5vdCBiZSByZXNvbHZlZC4KLQkJICovCi0JCUZpbGUgcmVz
b2x2ZShpbiBET01TdHJpbmcgZmlsZVBhdGgpCi0JCQlyYWlzZXMoU2VjdXJpdHlFcnJvciwgRGV2
aWNlQVBJRXJyb3IpOwotCi0JCS8qKgotCQkgKiBcYnJpZWYgRGVsZXRlcyB0aGlzIGRpcmVjdG9y
eS4KLQkJICoKLQkJICogVGhpcyBmdW5jdGlvbiBhdHRlbXB0cyB0byBkZWxldGUgYSBkaXJlY3Rv
cnkgb3IgZGlyZWN0b3J5Ci0JCSAqIHRyZWUgc3luY2hyb25vdXNseSBhbmQgcmV0dXJucyA8ZW0+
dHJ1ZTwvZW0+IG9uIHN1Y2Nlc3MsCi0JCSAqIDxlbT5mYWxzZTwvZW0+IG90aGVyd2lzZS4gSXQg
bWF5IHRocm93IGFuIElPX0VSUk9SIGlmIGEKLQkJICogcmVjdXJzaXZlIGRlbGV0aW9uIHBhcnRp
YWxseSBmYWlscyBhbmQgYW55IGRlbGV0ZWQgZGF0YSBzbwotCQkgKiBmYXIgY2Fubm90IGJlIHJl
Y292ZXJlZC4gVGhpcyBtaWdodCBoYXBwZW4gZHVlIHRoZSBsYWNrIG9mCi0JCSAqIGZpbGVzeXN0
ZW0gcGVybWlzc2lvbnMgb3IgaWYgYW55IGRpcmVjdG9yaWVzIG9yIGZpbGVzIGFyZQotCQkgKiBv
cGVuZW5lZCBieSBvdGhlciBwcm9jZXNzZXMuCi0JCSAqCi0JCSAqIFxhcGktZmVhdHVyZSBodHRw
Oi8vYm9uZGkub210cC5vcmcvYXBpL2ZpbGVzeXN0ZW0ud3JpdGUKLQkJICoKLQkJICogXGNvZGUK
LQkJICogCXZhciBmdWxsUGF0aCA9IGRpci5mdWxsUGF0aDsKLQkJICogCWlmKGRpci5kZWxldGVE
aXJlY3RvcnkodHJ1ZSkpIHsKLQkJICogCQkvLyBzdWJzZXF1ZW50IGFjY2Vzc2VzIHRvIGRpciB3
aWxsIHRocm93IGFuIGVycm9yCi0JCSAqIAkJYWxlcnQoZnVsbFBhdGggKyAnIGRlbGV0ZWQnKTsK
LQkJICogCX0KLQkJICogXGVuZGNvZGUKLQkJICoKLQkJICogXHBhcmFtIHJlY3Vyc2l2ZSA8ZW0+
dHJ1ZTwvZW0+IG1lYW5zIGEgcmVjdXJzaXZlIGRlbGV0aW9uLCB0aGlzCi0JCSAqICAgICAgICB3
aWxsIGRlc3Ryb3kgYWxsIGRhdGEgcmVjdXJzaXZlbHksIHVzZSB3aXRoIGNhdXRpb24uCi0JCSAq
IFxyZXR1cm4gPGVtPnRydWU8L2VtPiBvbiBzdWNjZXNzCi0JCSAqIFx0aHJvdyBTZWN1cml0eUVy
cm9yIFBFUk1JU1NJT05fREVOSUVEX0VSUk9SIHdoZW4KLQkJICogICAgICAgIGFjY2VzcyBpcyBk
ZW5pZWQgYnkgdGhlIHNlY3VyaXR5IHBvbGljeS4KLQkJICogXHRocm93IERldmljZUFQSUVycm9y
IElPX0VSUk9SIGlmIHRoaXMgaXMgYSBmaWxlLgotCQkgKiBcdGhyb3cgRGV2aWNlQVBJRXJyb3Ig
SU9fRVJST1IgaWYgdGhlIGRpcmVjdG9yeSBpcyBub3QgZW1wdHkgYW5kCi0JCSAqICAgICAgICB0
aGlzIG9wZXJhdGlvbiBpcyBub3QgcGVyZm9ybWVkIHJlY3Vyc2l2ZWx5LgotCQkgKiBcdGhyb3cg
RGV2aWNlQVBJRXJyb3IgSU9fRVJST1IgaWYgdGhlIGRpcmVjdG9yeSBvciBhbnkgZmlsZSBvciBz
dWItZGlyZWN0b3J5IGNhbm5vdCBiZSBkZWxldGVkLgotCQkgKi8KLQkJYm9vbGVhbiBkZWxldGVE
aXJlY3RvcnkoaW4gYm9vbGVhbiByZWN1cnNpdmUpCi0JCQlyYWlzZXMoU2VjdXJpdHlFcnJvciwg
RGV2aWNlQVBJRXJyb3IpOwotCi0JCS8qKgotCQkgKiBcYnJpZWYgRGVsZXRlcyB0aGlzIGZpbGUu
Ci0JCSAqCi0JCSAqIFJldHVybnMgPGVtPnRydWU8L2VtPiBvbiBzdWNjZXNzLCA8ZW0+ZmFsc2U8
L2VtPiBvdGhlcndpc2UuCi0JCSAqCi0JCSAqIFxhcGktZmVhdHVyZSBodHRwOi8vYm9uZGkub210
cC5vcmcvYXBpL2ZpbGVzeXN0ZW0ud3JpdGUKLQkJICoKLQkJICogXGNvZGUKLQkJICogCXZhciBm
dWxsUGF0aCA9IGRpci5mdWxsUGF0aDsKLQkJICogCWlmKGRpci5kZWxldGVGaWxlKCkpIHsKLQkJ
ICogCQkvLyBzdWJzZXF1ZW50IGFjY2Vzc2VzIHRvIGRpciB3aWxsIHRocm93IGFuIGVycm9yCi0J
CSAqIAkJYWxlcnQoZnVsbFBhdGggKyAnIGRlbGV0ZWQnKTsKLQkJICogCX0KLQkJICogXGVuZGNv
ZGUKLQkJICoKLQkJICogXHJldHVybiA8ZW0+dHJ1ZTwvZW0+IG9uIHN1Y2Nlc3MKLQkJICogXHRo
cm93IFNlY3VyaXR5RXJyb3IgUEVSTUlTU0lPTl9ERU5JRURfRVJST1Igd2hlbgotCQkgKiAgICAg
ICAgYWNjZXNzIGlzIGRlbmllZCBieSB0aGUgc2VjdXJpdHkgcG9saWN5LgotCQkgKiBcdGhyb3cg
RGV2aWNlQVBJRXJyb3IgSU9fRVJST1IgaWYgdGhpcyBpcyBhIGRpcmVjdG9yeS4KLQkJICogXHRo
cm93IERldmljZUFQSUVycm9yIElPX0VSUk9SIGlmIHRoZSBmaWxlIGNhbm5vdCBiZSBkZWxldGVk
IGR1ZQotCQkgKiAgICAgICAgdGhlIGxhY2sgb2YgZmlsZXN5c3RlbSBwZXJtaXNzaW9ucyBvciBp
ZiBpdCBpcyBsb2NrZWQgb3IKLQkJICogICAgICAgIG9wZW5lZCBieSBhbm90aGVyIHByb2Nlc3Mu
Ci0JCSAqLwotCQlib29sZWFuIGRlbGV0ZUZpbGUoKQotCQkJcmFpc2VzKFNlY3VyaXR5RXJyb3Is
IERldmljZUFQSUVycm9yKTsKLQl9OwotCi0JLyoqCi0JICogXGJyaWVmIEZpbGVTdHJlYW0gQVBJ
LgotCSAqCi0JICogQSBGaWxlU3RyZWFtIHJlcHJlc2VudHMgYSBoYW5kbGUgdG8gYSBGaWxlIG9w
ZW5lZCBmb3IgcmVhZCBhbmQvb3IKLQkgKiB3cml0ZSBvcGVyYXRpb25zLiAgUmVhZCBhbmQgd3Jp
dGUgb3BlcmF0aW9ucyBhcmUgcGVyZm9ybWVkIHJlbGF0aXZlCi0JICogdG8gYSBmaWxlIHBvaW50
ZXIgd2hpY2ggcmVwcmVzZW50cyB0aGUgY3VycmVudCBwb3NpdGlvbiBpbiB0aGUgZmlsZS4KLQkg
KiAKLQkgKiBBIHNlcmllcyBvZiByZWFkL3dyaXRlIG1ldGhvZHMgYXJlIGF2YWlsYWJsZSB0aGF0
IHBlcm1pdCBib3RoIGJpbmFyeSBhbmQKLQkgKiB0ZXh0IHRvIGJlIHByb2Nlc3NlZC4KLQkgKgot
CSAqIE9uY2UgYSBmaWxlIHN0cmVhbSBpcyBjbG9zZWQsIGFueSBvcGVyYXRpb24gYXR0ZW1wdGVk
IG9uIHRoaXMgc3RyZWFtCi0JICogd2lsbCByZXN1bHQgaW4gYSBub3JtYWwgSmF2YVNjcmlwdCBl
cnJvci4KLQkgKi8KLQlpbnRlcmZhY2UgRmlsZVN0cmVhbSB7Ci0KLQkJLyoqCi0JCSAqIFxicmll
ZiBJbmRpY2F0ZXMgd2hldGhlciBvciBub3QgdGhlIGN1cnJlbnQgZmlsZSBwb2ludGVyIGlzIGF0
IHRoZSBlbmQKLQkJICogb2YgdGhlIGZpbGUuCi0JCSAqIAotCQkgKiA8ZW0+dHJ1ZTwvZW0+IGlm
IHRoZSBwb3NpdGlvbiBpcyBhdCB0aGUgZW5kIG9mIHRoZSBjdXJyZW50IGZpbGUgc3RyZWFtLgot
CQkgKgotCQkgKiBcY29kZQotCQkgKiAJaWYoc3RyZWFtLmVvZikgewotCQkgKiAJCS8vIGZpbGUg
aGFzIGJlZW4gcmVhZCBjb21wbGV0ZWx5Ci0JCSAqIAl9Ci0JCSAqIFxlbmRjb2RlCi0JCSAqLwot
CQlyZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiBlb2Y7Ci0KLQkJLyoqCi0JCSAqIFxicmllZiBH
ZXQvc2V0IHN0cmVhbSBwb3NpdGlvbiBmb3IgcmVhZHMvd3JpdGVzLgotCQkgKiAKLQkJICogVGhl
IHN0cmVhbSBwb3NpdGlvbiBpcyBhbiBvZmZzZXQgb2YgYnl0ZXMgZnJvbSB0aGUgc3RhcnQgb2YK
LQkJICogdGhlIGZpbGUgc3RyZWFtLiAgV2hlbiBpbnZva2luZyBhbiBvcGVyYXRpb24gdGhhdCBy
ZWFkcyBvcgotCQkgKiB3cml0ZXMgZnJvbSB0aGUgc3RyZWFtLCB0aGUgb3BlcmF0aW9uIHdpbGwg
dGFrZSBwbGFjZSBmcm9tCi0JCSAqIHRoZSBwb3NpdGlvbiBpbiB0aGUgcG9zaXRpb24gYXR0cmli
dXRlLgotCQkgKgotCQkgKiBcY29kZQotCQkgKiAJYWxlcnQoc3RyZWFtLnBvc2l0aW9uKTsgLy8g
ZGlzcGxheXMgY3VycmVudCBzdHJlYW0gcG9zaXRpb24KLQkJICogCS8vIGFsdGVycyBjdXJyZW50
IHN0cmVhbSBwb3NpdGlvbiB0byB0aGUgYmVnaW4gb2YgdGhlIGZpbGUsCi0JCSAqIAkvLyBsaWtl
IHNlZWsoKSBpbiBDCi0JCSAqIAlzdHJlYW0ucG9zaXRpb24gPSAwOwotCQkgKiBcZW5kY29kZQot
CQkgKiBcdGhyb3cgRGV2aWNlQVBJRXJyb3IgSU9fRVJST1IgaWYgYSBwb3NpdGlvbiB3YXMgZ2l2
ZW4gdGhhdCBpcyBvdXQgb2YgdGhlIHN0cmVhbSByYW5nZS4KLQkJICovCi0JCWF0dHJpYnV0ZSB1
bnNpZ25lZCBsb25nIHBvc2l0aW9uCi0JCQlzZXRyYWlzZXMoRGV2aWNlQVBJRXJyb3IpOwotCi0J
CS8qKgotCQkgKiBcYnJpZWYgUmV0dXJucyB0aGUgbnVtYmVyIG9mIGJ5dGVzIHRoYXQgYXJlIGF2
YWlsYWJsZSBmb3IKLQkJICogcmVhZGluZyBmcm9tIHRoZSBzdHJlYW0uCi0JCSAqCi0JCSAqIFRo
ZSBudW1iZXIgb2YgYnl0ZXMgYXZhaWxhYmxlIGZvciByZWFkaW5nIGlzIHRoZSBtYXhpbXVtCi0J
CSAqIGFtb3VudCBvZiBieXRlcyB0aGF0IGNhbiBiZSByZWFkIGluIHRoZSBuZXh0IHJlYWQgb3Bl
cmF0aW9uLgotCQkgKiAKLQkJICogLTEgaWYgZW9mIGlzIDxlbT50cnVlPC9lbT4uCi0JCSAqCi0J
CSAqIFxjb2RlCi0JCSAqIAlhbGVydChzdHJlYW0uYnl0ZXNBdmFpbGFibGUpOyAvLyBkaXNwbGF5
cyB0aGUgYXZhaWxhYmxlIGJ5dGVzIHRvIGJlIHJlYWQKLQkJICogXGVuZGNvZGUKLQkJICovCi0J
CXJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGJ5dGVzQXZhaWxhYmxlOwotCi0JCS8q
KgotCQkgKiBcYnJpZWYgQ2xvc2VzIHRoaXMgRmlsZVN0cmVhbS4KLQkJICogCi0JCSAqIEZsdXNo
ZXMgYW55IHBlbmRpbmcgYnVmZmVyZWQgd3JpdGVzIGFuZCBjbG9zZXMgdGhlIEZpbGUuIEFsd2F5
cyBzdWNjZWVkcy4KLQkJICogTm90ZSB0aGF0IHBlbmRpbmcgd3JpdGVzIG1pZ2h0IG5vdCBzdWNj
ZWVkLgotCQkgKgotCQkgKiBcY29kZQotCQkgKiAJc3RyZWFtLmNsb3NlKCk7IC8vIGNsb3NlcyB0
aGlzIHN0cmVhbSwgbm8gc3Vic2VxdWVudCBhY2Nlc3MgdG8gc3RyZWFtIGFsbG93ZWQKLQkJICog
XGVuZGNvZGUKLQkJICovCi0JCXZvaWQgY2xvc2UoKTsKLQotCQkvKioKLQkJICogXGJyaWVmIFJl
YWRzIHRoZSBzcGVjaWZpZWQgbnVtYmVyIG9mIGNoYXJhY3RlcnMuCi0JCSAqCi0JCSAqIFJlYWRz
IHNwZWNpZmllZCBudW1iZXIgb2YgY2hhcmFjdGVycyBhbmQgcmV0dXJucyB0aGVtIGFzIHN0cmlu
Zy4KLQkJICogVGhlIHJlc3VsdGluZyBzdHJpbmcgbGVuZ3RoIG1pZ2h0IGJlIHNob3J0ZXIgdGhh
biBjaGFyQ291bnQgaWYgZW9mCi0JCSAqIGlzIDxlbT50cnVlPC9lbT4uCi0JCSAqCi0JCSAqIFxj
b2RlCi0JCSAqIAl2YXIgdGV4dCA9IHN0cmVhbS5yZWFkKDApOwotCQkgKiAJc3RyZWFtLmNsb3Nl
KCk7Ci0JCSAqIFxlbmRjb2RlCi0JCSAqCi0JCSAqIFxwYXJhbSBjaGFyQ291bnQgbnVtYmVyIG9m
IGNoYXJhY3RlcnMgYmVpbmcgcmVhZCwgaWYKLQkJICogICAgICAgICAgICAgICAgICAgIDxlbT4w
PC9lbT4gaXQgd2lsbCByZWFkIGFzIGxvbmcgYXMgYnl0ZXMgYXJlIGF2YWlsYWJsZS4KLQkJICog
XHJldHVybiB0aGUgcmVzdWx0IG9mIHJlYWQgY2hhcmFjdGVycyBhcyBhIHN0cmluZy4KLQkJICog
XHRocm93IERldmljZUFQSUVycm9yIElPX0VSUk9SIGlmIGFuIGVycm9yIG9jY3VycyBkdXJpbmcg
cmVhZC4KLQkJICovCi0JCURPTVN0cmluZyByZWFkKGluIHVuc2lnbmVkIGxvbmcgY2hhckNvdW50
KQotCQkJcmFpc2VzKERldmljZUFQSUVycm9yKTsKLQotCQkvKioKLQkJICogXGJyaWVmIFJlYWRz
IHRoZSBzcGVjaWZpZWQgbnVtYmVyIG9mIGJ5dGVzIGZyb20gdGhpcyBGaWxlU3RyZWFtLgotCQkg
KgotCQkgKiBJZiAwIGlzIHN1cHBsaWVkIGl0IHdpbGwgcmVhZCBhbGwgYXZhaWxhYmxlIGJ5dGVz
IGluIGEKLQkJICogc2luZ2xlIHJlYWQgb3BlcmF0aW9uLgotCQkgKgotCQkgKiBcY29kZQotCQkg
KiAJLy8gcmVhZHMgdXAgdG8gMjU2IGJ5dGVzIGZyb20gdGhlIHN0cmVhbQotCQkgKiAJdmFyIHJh
dyA9IHN0cmVhbS5yZWFkQnl0ZXMoMjU2KTsKLQkJICogCWZvcih2YXIgaSA9IDA7IGkgJmx0OyBy
YXcubGVuZ3RoOyBpKyspIHsKLQkJICogCQkvLyByYXdbaV0gY29udGFpbnMgdGhlIGktdGggYnl0
ZSBvZiB0aGUgY3VycmVudCBkYXRhIGNodW5rCi0JCSAqIAl9Ci0JCSAqIFxlbmRjb2RlCi0JCSAq
Ci0JCSAqIFxwYXJhbSBieXRlQ291bnQgbnVtYmVyIG9mIGJ5dGVzIGJlaW5nIHJlYWQuIE11c3Qg
bm90IGJlIDxlbT4wPC9lbT4uCi0JCSAqIFxyZXR1cm4gdGhlIHJlc3VsdCBvZiByZWFkIGJ5dGVz
IGFzIGEgYnl0ZSAob3IgbnVtYmVyKSBhcnJheS4KLQkJICogXHRocm93IERldmljZUFQSUVycm9y
IElPX0VSUk9SIGlmIGFuIGVycm9yIG9jY3VycyBkdXJpbmcgcmVhZEJ5dGVzLgotCQkgKi8KLQkJ
Qnl0ZUFycmF5IHJlYWRCeXRlcyhpbiB1bnNpZ25lZCBsb25nIGJ5dGVDb3VudCkKLQkJCXJhaXNl
cyhEZXZpY2VBUElFcnJvcik7Ci0KLQkJLyoqCi0JCSAqIFxicmllZiBSZWFkcyB0aGUgc3BlY2lm
aWVkIG51bWJlciBvZiBieXRlcyBmcm9tIHRoaXMgRmlsZVN0cmVhbSwgZW5jb2RpbmcKLQkJICog
dGhlIHJlc3VsdCBpbiBiYXNlNjQuCi0JCSAqCi0JCSAqIElmIDAgaXMgc3VwcGxpZWQgaXQgd2ls
bCByZWFkIGFsbCBhdmFpbGFibGUgYnl0ZXMgaW4gYQotCQkgKiBzaW5nbGUgcmVhZCBvcGVyYXRp
b24uCi0JCSAqCi0JCSAqIFxjb2RlCi0JCSAqIAkvLyByZWFkcyB1cCB0byAyNTYgYnl0ZXMgZnJv
bSB0aGUgc3RyZWFtCi0JCSAqIAl2YXIgYmFzZTY0ID0gc3RyZWFtLnJlYWRCYXNlNjQoMjU2KTsK
LQkJICogXGVuZGNvZGUKLQkJICoKLQkJICogXHBhcmFtIGJ5dGVDb3VudCBudW1iZXIgb2YgYnl0
ZXMgYmVpbmcgcmVhZC4gTXVzdCBub3QgYmUgPGVtPjA8L2VtPi4KLQkJICogXHJldHVybiB0aGUg
cmVzdWx0IG9mIHJlYWQgYnl0ZXMgYXMgYmFzZTY0IGVuY29kaW5nIHN0cmluZy4KLQkJICogXHRo
cm93IERldmljZUFQSUVycm9yIElPX0VSUk9SIGlmIGFuIGVycm9yIG9jY3VycyBkdXJpbmcgcmVh
ZEJhc2U2NC4KLQkJICovCi0JCURPTVN0cmluZyByZWFkQmFzZTY0KGluIHVuc2lnbmVkIGxvbmcg
Ynl0ZUNvdW50KQotCQkJcmFpc2VzKERldmljZUFQSUVycm9yKTsKLQotCQkvKioKLQkJICogXGJy
aWVmIFdyaXRlcyB0aGUgc3BlY2lmaWVkIERPTVN0cmluZyB0byB0aGlzIEZpbGVTdHJlYW0uCi0J
CSAqCi0JCSAqIFxjb2RlCi0JCSAqIAl2YXIgdGV4dCA9ICJIZWxsbyB3b3JsZCI7Ci0JCSAqIAlz
dHJlYW0ud3JpdGUodGV4dCk7Ci0JCSAqIFxlbmRjb2RlCi0JCSAqCi0JCSAqIFxwYXJhbSBzdHJp
bmdEYXRhIHRoZSBhY3R1YWwgc3RyaW5nIHRvIGJlIHdyaXR0ZW4uCi0JCSAqIFx0aHJvdyBEZXZp
Y2VBUElFcnJvciBJT19FUlJPUiBpZiBhbiBlcnJvciBvY2N1cnMgZHVyaW5nIHdyaXRlLgotCQkg
Ki8KLQkJdm9pZCB3cml0ZShpbiBET01TdHJpbmcgc3RyaW5nRGF0YSkKLQkJCXJhaXNlcyhEZXZp
Y2VBUElFcnJvcik7Ci0KLQkJLyoqCi0JCSAqIFxicmllZiBXcml0ZXMgdGhlIHNwZWNpZmllZCBi
eXRlcyB0byB0aGlzIEZpbGVTdHJlYW0uCi0JCSAqCi0JCSAqIFxjb2RlCi0JCSAqIAl2YXIgYnl0
ZXMgPSBpbi5yZWFkQnl0ZXMoMjU2KTsKLQkJICogCW91dC53cml0ZUJ5dGVzKGJ5dGVzKTsgLy8g
d3JpdGVzIHRoZSBieXRlcyByZWFkIGZyb20gaW4gdG8gb3V0Ci0JCSAqIFxlbmRjb2RlCi0JCSAq
Ci0JCSAqIFxwYXJhbSBieXRlRGF0YSB0aGUgYnl0ZSBkYXRhIGFycmF5IGJlaW5nIHdyaXR0ZW4u
Ci0JCSAqIFx0aHJvdyBEZXZpY2VBUElFcnJvciBJT19FUlJPUiBpZiBhbiBlcnJvciBvY2N1cnMg
ZHVyaW5nIHdyaXRlQnl0ZXMuCi0JCSAqLwotCQl2b2lkIHdyaXRlQnl0ZXMoaW4gQnl0ZUFycmF5
IGJ5dGVEYXRhKQotCQkJcmFpc2VzKERldmljZUFQSUVycm9yKTsKLQotCQkvKioKLQkJICogXGJy
aWVmIENvbnZlcnRzIHRoZSBzcGVjaWZpZWQgYmFzZTY0IERPTVN0cmluZyB0byBieXRlcyBhbmQg
d3JpdGVzIHRoZSAKLQkJICogcmVzdWx0IHRvIHRoaXMgRmlsZVN0cmVhbS4KLQkJICoKLQkJICog
XGNvZGUKLQkJICogCXZhciBiYXNlNjQgPSBpbi5yZWFkQmFzZTY0KDI1Nik7Ci0JCSAqIAlvdXQu
d3JpdGVCYXNlNjQoYmFzZTY0KTsgLy8gd3JpdGVzIHRoZSBiYXNlNjQgZGF0YSByZWFkIGZyb20g
aW4gdG8gb3V0Ci0JCSAqIFxlbmRjb2RlCi0JCSAqCi0JCSAqIFxwYXJhbSBiYXNlNjREYXRhIHRo
ZSBiYXNlNjQgZGF0YSBiZWluZyB3cml0dGVuLgotCQkgKiBcdGhyb3cgRGV2aWNlQVBJRXJyb3Ig
SU9fRVJST1IgaWYgYW4gZXJyb3Igb2NjdXJzIGR1cmluZyB3cml0ZUJhc2U2NC4KLQkJICovCi0J
CXZvaWQgd3JpdGVCYXNlNjQoaW4gRE9NU3RyaW5nIGJhc2U2NERhdGEpCi0JCQlyYWlzZXMoRGV2
aWNlQVBJRXJyb3IpOwotCX07Ci0KLSAgLyoqCi0gICAqIFxicmllZiBTcGVjaWZpZXMgd2hhdCBp
cyBpbnN0YW50aWF0ZWQgYXQgZmVhdHVyZSByZXF1ZXN0Ci0gICAqIFxkZWYtaW5zdGFudGlhdGVk
Ci0gICAqIFxhcGktZmVhdHVyZSBodHRwOi8vYm9uZGkub210cC5vcmcvYXBpL2ZpbGVzeXN0ZW0u
cmVhZAotICAgKiBcYXBpLWZlYXR1cmUgaHR0cDovL2JvbmRpLm9tdHAub3JnL2FwaS9maWxlc3lz
dGVtLndyaXRlCi0gICAqLwotCWludGVyZmFjZSBGaWxlU3lzdGVtTWFuYWdlck9iamVjdCB7Ci0J
CXJlYWRvbmx5IGF0dHJpYnV0ZSBGaWxlU3lzdGVtTWFuYWdlciBmaWxlU3lzdGVtTWFuYWdlcjsg
Ci0JfTsKLQlib25kaSBpbXBsZW1lbnRzIEZpbGVTeXN0ZW1NYW5hZ2VyT2JqZWN0OwotCi19Owpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL2V4YW1wbGVzL3NwZWN0b3dpZGwueHNsIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3dpZGxwcm9jL2V4YW1wbGVzL3NwZWN0b3dpZGwueHNsCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCA0NDI1Mjc3MDk0MDZlZmEzYjM4ODkwNDlmNWFjNDVmNGJiOTI1YmU0
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC93aWRscHJvYy9leGFtcGxlcy9zcGVjdG93aWRsLnhzbAorKysgL2Rldi9udWxsCkBAIC0xLDI3
ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Ci08IS0tPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLSRJZCQKLUNvcHlyaWdodCAyMDA5IEFwbGl4IENvcnBvcmF0aW9uLiBBbGwgcmln
aHRzIHJlc2VydmVkLgotTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9u
IDIuMCAodGhlICJMaWNlbnNlIik7Ci15b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBp
biBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCi1Zb3UgbWF5IG9idGFpbiBhIGNvcHkgb2Yg
dGhlIExpY2Vuc2UgYXQKLSAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5T
RS0yLjAKLVVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4g
d3JpdGluZywgc29mdHdhcmUKLWRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3Ry
aWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCi1XSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElU
SU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KLVNlZSB0aGUgTGlj
ZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQK
LWxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgotCi1YU0xUIHN0eWxlc2hlZXQgdG8gZXh0
cmFjdCBXZWIgSURMIHNuaXBwZXRzIGZyb20gV2ViIElETCBzcGVjLiAKLT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PS0t
PgotPHhzbDpzdHlsZXNoZWV0IHhtbG5zOnhzbD0iaHR0cDovL3d3dy53My5vcmcvMTk5OS9YU0wv
VHJhbnNmb3JtIiB2ZXJzaW9uPSIxLjAiPgotPHhzbDpvdXRwdXQgbWV0aG9kPSJ0ZXh0IiBlbmNv
ZGluZz0idXRmLTgiLz4KLQotPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iY29kZVtAY2xhc3M9J2lkbC1j
b2RlJ10iPgotICAgIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIuIi8+PHhzbDp0ZXh0PgotPC94c2w6
dGV4dD4KLTwveHNsOnRlbXBsYXRlPgotCi08eHNsOnRlbXBsYXRlIG1hdGNoPSJ0ZXh0KCkiLz4K
LQotPC94c2w6c3R5bGVzaGVldD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9leGFt
cGxlcy93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9leGFtcGxlcy93M2MtaW1w
b3J0LmxvZwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMWM5YmY1YWUxMzIyMDMzOWI4
M2U0Y2U2MzI2NDAyZTc5YWYxNTM5Mi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvZXhhbXBsZXMvdzNjLWltcG9ydC5sb2cK
KysrIC9kZXYvbnVsbApAQCAtMSwyMyArMCwwIEBACi1UaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rv
cnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KLURvIE5PVCBtb2RpZnkg
dGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCBy
ZXF1ZXN0IG9uIHRoZSBXM0MgQ1NTIG9yIFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRodWIuY29t
L3czYy9jc3N3Zy10ZXN0Ci0JaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMKLQotVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJL
aXQgdG8gcmVpbXBvcnQKLQotRG8gTk9UIG1vZGlmeSBvciByZW1vdmUgdGhpcyBmaWxlLgotCi0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0KLVByb3BlcnRpZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKLU5v
bmUKLVByb3BlcnR5IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgotTm9uZQotLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tCi1MaXN0IG9mIGZpbGVzOgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9leGFtcGxl
cy9NYWtlZmlsZQotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9leGFtcGxlcy9SRUFETUUKLS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvd2lkbHByb2MvZXhhbXBsZXMvYm9uZGkud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9leGFt
cGxlcy9maWxlc3lzdGVtLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvZXhhbXBsZXMvc3BlY3Rv
d2lkbC54c2wKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvZXhhbXBsZXMvd2lkbGh0bWwuY3NzCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvZXhhbXBsZXMvd2lkbGh0bWwuY3NzIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3dpZGxwcm9jL2V4YW1wbGVzL3dpZGxodG1sLmNzcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggODU0MzA5N2EzY2M4MGQzZmM1ODhkY2YzMGM1ZDNmNGI1Yjk1YzNmMS4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHBy
b2MvZXhhbXBsZXMvd2lkbGh0bWwuY3NzCisrKyAvZGV2L251bGwKQEAgLTEsMTAwICswLDAgQEAK
LWJvZHkgewotICBwYWRkaW5nOiAyZW07Ci0gIG1hcmdpbjogMDsKLSAgZm9udC1mYW1pbHk6IHNh
bnMtc2VyaWY7Ci0gIGNvbG9yOiBibGFjazsKLSAgYmFja2dyb3VuZDogd2hpdGU7Ci0gIGJhY2tn
cm91bmQtcG9zaXRpb246IHRvcCBsZWZ0OwotICBiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IGZpeGVk
OwotICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OwotfQotOmxpbmsgeyBjb2xvcjogIzAw
QzsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgfQotOnZpc2l0ZWQgeyBjb2xvcjogIzYwOTsgYmFj
a2dyb3VuZDogdHJhbnNwYXJlbnQgfQotYTphY3RpdmUgeyBjb2xvcjogI0MwMDsgYmFja2dyb3Vu
ZDogdHJhbnNwYXJlbnQgfQotYTpsaW5rIGltZywgYTp2aXNpdGVkIGltZyB7IGJvcmRlci1zdHls
ZTogbm9uZSB9IC8qIG5vIGJvcmRlciBvbiBpbWcgbGlua3MgKi8KLQotaDEsIGgyLCBoMywgaDQs
IGg1LCBoNiB7IHRleHQtYWxpZ246IGxlZnQgfQotLyogYmFja2dyb3VuZCBzaG91bGQgYmUgdHJh
bnNwYXJlbnQsIGJ1dCBXZWJUViBoYXMgYSBidWcgKi8KLWgxLCBoMiwgaDMgeyBjb2xvcjogIzAw
OTM5MzsgYmFja2dyb3VuZDogd2hpdGUgfQotaDEgeyBmb250OiAxNzAlIHNhbnMtc2VyaWYgfQot
aDIgeyBmb250OiAxNDAlIHNhbnMtc2VyaWYgfQotaDMgeyBmb250OiAxMjAlIHNhbnMtc2VyaWYg
fQotaDQgeyBmb250OiBib2xkIDEwMCUgc2Fucy1zZXJpZiB9Ci1oNSB7IGZvbnQ6IGl0YWxpYyAx
MDAlIHNhbnMtc2VyaWYgfQotaDYgeyBmb250OiBzbWFsbC1jYXBzIDEwMCUgc2Fucy1zZXJpZjsg
bWFyZ2luLWJvdHRvbTogMCB9Ci0KLS5oaWRlIHsgZGlzcGxheTogbm9uZSB9Ci0KLWNvZGUgeyBm
b250LXNpemU6IDEyMCUgfQotCi11bC50b2MsIG9sLnRvYywgdWwuYXV0aG9ycyB7Ci0gIGxpc3Qt
c3R5bGU6IG5vbmU7Ci19Ci0KLS5oaWRlIHsgZGlzcGxheTogbm9uZSB9Ci0KLWRpdi5oZWFkIHsg
bWFyZ2luLWJvdHRvbTogMWVtIH0KLWRpdi5oZWFkIGgxIHsgbWFyZ2luLXRvcDogMmVtOyBjbGVh
cjogYm90aCB9Ci1kaXYuaGVhZCB0YWJsZSB7IG1hcmdpbi1sZWZ0OiAyZW07IG1hcmdpbi10b3A6
IDJlbSB9Ci1kaXYuY29uc3RyYWludCwgZGl2Lmlzc3VlLCBkaXYubm90ZSwgZGl2Lm5vdGljZSAg
ICAgeyBtYXJnaW4tbGVmdDogMmVtOyB9Ci1kaXYuZXhhbXBsZUlubmVyIHByZSB7IG1hcmdpbi1s
ZWZ0OiAxZW07IG1hcmdpbi10b3A6IDBlbTsgbWFyZ2luLWJvdHRvbTogMGVtfQotZGl2LmV4YW1w
bGVPdXRlciB7Ym9yZGVyOiA0cHggZG91YmxlIGdyYXk7IG1hcmdpbjogMGVtOyBwYWRkaW5nOiAw
ZW19Ci1kaXYuZXhhbXBsZUlubmVyIHsgYmFja2dyb3VuZC1jb2xvcjogI2Q1ZGVlMzsKLSAgICAg
CSAgICAgICAgICAgYm9yZGVyLXRvcC13aWR0aDogNHB4OwotICAgICAgIAkgICAgICAgICAgIGJv
cmRlci10b3Atc3R5bGU6IGRvdWJsZTsKLSAgICAgICAJICAgICAgICAgICBib3JkZXItdG9wLWNv
bG9yOiAjZDNkM2QzOwotICAgICAgIAkgICAgICAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDRw
eDsKLSAgICAgICAJICAgICAgICAgICBib3JkZXItYm90dG9tLXN0eWxlOiBkb3VibGU7Ci0gICAg
ICAgCSAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2QzZDNkMzsKLSAgICAgICAJICAg
ICAgICAgICBwYWRkaW5nOiA0cHg7IG1hcmdpbjogMGVtIH0KLWRpdi5leGFtcGxlV3JhcHBlciB7
IG1hcmdpbjogNHB4IH0KLWRpdi5leGFtcGxlSGVhZGVyIHsgZm9udC13ZWlnaHQ6IGJvbGQ7IG1h
cmdpbjogNHB4fQotZGl2LnRlcm0geyBmb250OiAxMDAlIHNhbnMtc2VyaWY7IGNvbG9yOiMwMDAw
MDA7IGZvbnQtd2VpZ2h0OiBib2xkOyBsaW5lLWhlaWdodDogNjAlfSAgIAotZGl2Lmxpc3QgeyBm
b250OiAxMDAlIHNhbnMtc2VyaWY7IGNvbG9yOiMwMDAwMDA7IGZvbnQtd2VpZ2h0OiBub3JtYWw7
IGxpbmUtaGVpZ2h0OiA2MCV9IAotCi0ub3B0aW9uYWwge3RleHQtZGVjb3JhdGlvbjogbGluZS10
aHJvdWdoOyBkaXNwbGF5OiBub25lO30KLQotLmNvcHlyaWdodCwubGVnYWxub3RpY2UgeyBmb250
LXNpemU6IHNtYWxsIH0KLS5jb3B5cmlnaHQgc21hbGwgeyBmb250LXNpemU6IHNtYWxsIH0KLQot
QG1lZGlhIHNjcmVlbiB7ICAvKiBoaWRlIGZyb20gSUUzICovCi1hW2hyZWZdOmhvdmVyIHsgYmFj
a2dyb3VuZDogI2ZmYSB9Ci19Ci0KLW9sLmVudW1hciAgICAgIHsgbGlzdC1zdHlsZS10eXBlOiBk
ZWNpbWFsOyB9Ci1vbC5lbnVtbGEgICAgICB7IGxpc3Qtc3R5bGUtdHlwZTogbG93ZXItYWxwaGE7
IH0KLW9sLmVudW1sciAgICAgIHsgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1yb21hbjsgfQotb2wu
ZW51bXVhICAgICAgeyBsaXN0LXN0eWxlLXR5cGU6IHVwcGVyLWFscGhhOyB9Ci1vbC5lbnVtdXIg
ICAgICB7IGxpc3Qtc3R5bGUtdHlwZTogdXBwZXItcm9tYW47IH0KLQotLyogQk9OREkgYWRkaXRp
b25zICovCi0KLS50b2MgewotICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsKLX0KLQotcHJlIHsK
LSAgYmFja2dyb3VuZC1jb2xvcjojRDVERUUzOwotICBvdmVyZmxvdzogYXV0bzsKLSAgcGFkZGlu
ZzogMWVtOwotfQotCi0uZXhhbXBsZWNvZGUgewotICAgIGJhY2tncm91bmQtY29sb3I6ICNFRUU7
Ci19Ci0KLS5kZWYtYXBpLWZlYXR1cmUtc2V0IGR0LCAuZGVmLWFwaS1mZWF0dXJlIGR0LCBkdCAu
ZGVmLWRldmljZS1jYXAsIGR0LmNvbnN0IGNvZGUgeyBmb250OiBib2xkIDEwMCUgc2Fucy1zZXJp
ZjsgfQotZHQuYXR0cmlidXRlIGNvZGUsIGR0Lm1ldGhvZCBjb2RlIHsgZm9udDogaXRhbGljIDEw
MCUgc2Fucy1zZXJpZjsgfQotCi0uZGVmLWRldmljZS1jYXBzIGRkIHsgbWFyZ2luLWJvdHRvbTog
MmVtIH0KLQotZHQubWV0aG9kIHsgbWFyZ2luLXRvcDogMmVtIH0KLQotLnN1bW1hcnkgdGQgewot
ICAgIHRleHQtYWxpZ246IGxlZnQ7Ci0gICAgYmFja2dyb3VuZC1jb2xvcjogI0JCRERERDsKLSAg
ICBjb2xvcjogaW5oZXJpdDsKLSAgICBmb250LWZhbWlseTogbW9ub3NwYWNlOwotICAgIHdoaXRl
LXNwYWNlOnByZTsKLSAgICBwYWRkaW5nOiAuM2VtIDFlbSAuM2VtIDFlbTsKLX0KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC93aWRscHJvYy9zcmMvY29tbWVudC5jIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9j
L3NyYy9jb21tZW50LmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDYyMmE3YmVhN2I0
YzVjOTEyZDkyZGUxYmI1NjQ4ZGYzZjgyNzc1ODguLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3NyYy9jb21tZW50LmMKKysr
IC9kZXYvbnVsbApAQCAtMSwxODI3ICswLDAgQEAKLS8qKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogJElkJAot
ICogQ29weXJpZ2h0IDIwMDkgQXBsaXggQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQu
Ci0gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUg
IkxpY2Vuc2UiKTsKLSAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBs
aWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KLSAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUg
TGljZW5zZSBhdAotICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNF
LTIuMAotICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBp
biB3cml0aW5nLCBzb2Z0d2FyZQotICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMg
ZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKLSAqIFdJVEhPVVQgV0FSUkFOVElFUyBP
UiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgotICog
U2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1p
c3Npb25zIGFuZAotICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCi0gKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKiovCi0jaW5jbHVkZSA8YXNzZXJ0Lmg+Ci0jaW5jbHVkZSA8c3RyaW5nLmg+Ci0jaW5jbHVk
ZSA8c3RkaW8uaD4KLQotI2luY2x1ZGUgImNvbW1lbnQuaCIKLSNpbmNsdWRlICJlbnRpdGllcy5o
IgotI2luY2x1ZGUgImxleC5oIgotI2luY2x1ZGUgIm1pc2MuaCIKLSNpbmNsdWRlICJub2RlLmgi
Ci0jaW5jbHVkZSAib3MuaCIKLSNpbmNsdWRlICJwcm9jZXNzLmgiCi0KLS8qIHN0cnVjdCBjbm9k
ZSA6IGEgbm9kZSBpbiB0aGUgY29tbWVudCBwYXJzZSB0cmVlICovCi1zdHJ1Y3QgY25vZGUgewot
ICAgIHN0cnVjdCBjbm9kZSAqbmV4dDsKLSAgICBzdHJ1Y3QgY25vZGUgKmNoaWxkcmVuOwotICAg
IHN0cnVjdCBjbm9kZSAqcGFyZW50OwotICAgIGNvbnN0IHN0cnVjdCBjbm9kZWZ1bmNzICpmdW5j
czsKLSAgICBjb25zdCBjaGFyICphdHRydGV4dDsKLSAgICBjb25zdCBjaGFyICpmaWxlbmFtZTsK
LSAgICB1bnNpZ25lZCBpbnQgbGluZW51bTsKLX07Ci0KLXN0cnVjdCBjbm9kZWZ1bmNzIHsKLSAg
ICBpbnQgaW5kZXNjOyAvKiBub24temVybyBpZiBpdCBvdXRwdXRzIGl0cyBvd24geG1sIGVsZW1l
bnQgdGhhdCBkb2VzCi0gICAgICAgICAgICAgICAgICAgICAgbm90IHdhbnQgdG8gYmUgaW5zaWRl
IDxkZXNjcmlwdGlvbj4gKi8KLSAgICBpbnQgbmVlZHBhcmE7IC8qIG5vbi16ZXJvIGlmIHRleHQg
bXVzdCBiZSBpbiBhIHBhcmEgbm9kZSB0aGF0IGlzIGEgY2hpbGQKLSAgICAgICAgICAgICAgICAg
ICAgIG9mIHRoaXMgb25lICovCi0gICAgaW50ICgqYXNrZW5kKShzdHJ1Y3QgY25vZGUgKmNub2Rl
LCBjb25zdCBzdHJ1Y3QgY25vZGVmdW5jcyAqdHlwZSk7Ci0gICAgdm9pZCAoKmVuZCkoc3RydWN0
IGNub2RlICpjbm9kZSk7Ci0gICAgdm9pZCAoKm91dHB1dCkoc3RydWN0IGNub2RlICpjbm9kZSwg
dW5zaWduZWQgaW50IGluZGVudCk7Ci19OwotCi1zdHJ1Y3QgcGFyYW1jbm9kZSB7Ci0gICAgc3Ry
dWN0IGNub2RlIGNuOwotICAgIGludCBpbm91dDsKLSAgICBjaGFyIG5hbWVbMV07Ci19OwotCi0v
KiBzdHJ1Y3QgY29tbWVudCA6IGEgZG94eWdlbiBjb21tZW50ICovCi1zdHJ1Y3QgY29tbWVudCB7
Ci0gICAgc3RydWN0IGNvbW1lbnQgKm5leHQ7Ci0gICAgc3RydWN0IG5vZGUgKm5vZGU7Ci0gICAg
dW5zaWduZWQgaW50IHR5cGU7Ci0gICAgY29uc3QgY2hhciAqZmlsZW5hbWU7Ci0gICAgdW5zaWdu
ZWQgaW50IGxpbmVudW07Ci0gICAgc3RydWN0IGNub2RlIHJvb3Q7Ci0gICAgaW50IGJhY2s7IC8q
IFdoZXRoZXIgdGhlIGNvbW1lbnQgcmVmZXJzIGJhY2sgcmF0aGVyIHRoYW4gZm9yd2FyZC4gKi8K
LSAgICBjaGFyICp0ZXh0OwotfTsKLQotCi1zdGF0aWMgc3RydWN0IG5vZGUgKmxhc3RpZGVudGlm
aWVyOwotc3RhdGljIHN0cnVjdCBjb21tZW50ICpjb21tZW50czsKLXN0YXRpYyBpbnQgaW5jb2Rl
LCBpbmh0bWxibG9jazsKLXN0YXRpYyBzdHJ1Y3QgY29tbWVudCAqY3VyY29tbWVudDsKLQotLyoq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqCi0gKiBodG1sZWxkZXNjcyA6IHRhYmxlIG9mIHJlY25vZ2l6ZWQgSFRNTCBl
bGVtZW50cwotICovCi0jZGVmaW5lIEhUTUxFTF9FTVBUWSAxCi0jZGVmaW5lIEhUTUxFTF9JTkxJ
TkUgMgotI2RlZmluZSBIVE1MRUxfQkxPQ0sgNAotI2RlZmluZSBIVE1MRUxfQVVUT0NMT1NFIDgK
LSNkZWZpbmUgSFRNTEVMX0xJIDB4MTAKLSNkZWZpbmUgSFRNTEVMX0RMQ09OVEVOVFMgMHgyMAot
I2RlZmluZSBIVE1MRUxfVEFCTEVDT05URU5UUyAweDQwCi0jZGVmaW5lIEhUTUxFTF9UUkNPTlRF
TlRTIDB4ODAKLQotI2RlZmluZSBIVE1MRUxfRkxPVyAoSFRNTEVMX0JMT0NLIHwgSFRNTEVMX0lO
TElORSkKLQotc3RydWN0IGh0bWxlbGRlc2MgewotICAgIHVuc2lnbmVkIGludCBuYW1lbGVuOwot
ICAgIGNvbnN0IGNoYXIgKm5hbWU7Ci0gICAgdW5zaWduZWQgaW50IGZsYWdzOwotICAgIHVuc2ln
bmVkIGludCBjb250ZW50OwotfTsKLQotc3RhdGljIGNvbnN0IHN0cnVjdCBodG1sZWxkZXNjIGh0
bWxlbGRlc2NzW10gPSB7Ci0gICAgeyAxLCAiYSIsIEhUTUxFTF9JTkxJTkUsIDAgfSwKLSAgICB7
IDEsICJiIiwgSFRNTEVMX0lOTElORSwgMCB9LAotICAgIHsgMiwgImJyIiwgSFRNTEVMX0lOTElO
RSwgSFRNTEVMX0VNUFRZIH0sCi0gICAgeyAzLCAiaW1nIiwgSFRNTEVMX0lOTElORSwgSFRNTEVM
X0VNUFRZIH0sCi0gICAgeyAyLCAiZGQiLCBIVE1MRUxfRExDT05URU5UUywgSFRNTEVMX0ZMT1cg
fSwKLSAgICB7IDIsICJkbCIsIEhUTUxFTF9CTE9DSywgSFRNTEVMX0RMQ09OVEVOVFMgfSwKLSAg
ICB7IDIsICJkdCIsIEhUTUxFTF9ETENPTlRFTlRTLCBIVE1MRUxfSU5MSU5FIH0sCi0gICAgeyAy
LCAiZW0iLCBIVE1MRUxfSU5MSU5FLCAwIH0sCi0gICAgeyAyLCAibGkiLCBIVE1MRUxfTEksIEhU
TUxFTF9GTE9XIH0sCi0gICAgeyAyLCAib2wiLCBIVE1MRUxfQkxPQ0ssIEhUTUxFTF9MSSB9LAot
ICAgIHsgMSwgInAiLCBIVE1MRUxfQkxPQ0ssIEhUTUxFTF9JTkxJTkUgfSwKLSAgICB7IDIsICJ0
ZCIsIEhUTUxFTF9UUkNPTlRFTlRTIHwgSFRNTEVMX0FVVE9DTE9TRSwgSFRNTEVMX0ZMT1cgfSwK
LSAgICB7IDIsICJ0aCIsIEhUTUxFTF9UUkNPTlRFTlRTIHwgSFRNTEVMX0FVVE9DTE9TRSwgSFRN
TEVMX0ZMT1cgfSwKLSAgICB7IDIsICJ0ciIsIEhUTUxFTF9UQUJMRUNPTlRFTlRTIHwgSFRNTEVM
X0FVVE9DTE9TRSwgSFRNTEVMX1RSQ09OVEVOVFMgfSwKLSAgICB7IDUsICJ0YWJsZSIsIEhUTUxF
TF9CTE9DSywgSFRNTEVMX1RBQkxFQ09OVEVOVFMgfSwKLSAgICB7IDIsICJ1bCIsIEhUTUxFTF9C
TE9DSywgSFRNTEVMX0xJIH0sCi0gICAgeyAwLCAwLCAwLCAwIH0KLX07Ci0jZGVmaW5lIEhUTUxF
TERFU0NfQiAoaHRtbGVsZGVzY3MgKyAxKQotI2RlZmluZSBIVE1MRUxERVNDX0JSIChodG1sZWxk
ZXNjcyArIDIpCi0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogYWRkY29tbWVudCA6IGFkZCBhIGNvbW1l
bnQgdG8gdGhlIGxpc3Qgb2YgY29tbWVudHMgaWYgaXQgaGFzIGRveHlnZW4gc3ludGF4Ci0gKgot
ICogRW50ZXI6ICAgdG9rIHN0cnVjdAotICovCi12b2lkCi1hZGRjb21tZW50KHN0cnVjdCB0b2sg
KnRvaykKLXsKLSAgICBpZiAodG9rLT5sZW4gPj0gMSAmJiAodG9rLT5zdGFydFswXSA9PSAnIScK
LSAgICAgICAgfHwgKHRvay0+dHlwZSA9PSBUT0tfQkxPQ0tDT01NRU5UICYmIHRvay0+c3RhcnRb
MF0gPT0gJyonKQotICAgICAgICB8fCAodG9rLT50eXBlID09IFRPS19JTkxJTkVDT01NRU5UICYm
IHRvay0+c3RhcnRbMF0gPT0gJy8nKSkpCi0gICAgewotICAgICAgICBzdHJ1Y3QgY29tbWVudCAq
Y29tbWVudDsKLSAgICAgICAgY29tbWVudCA9IG1lbWFsbG9jKHNpemVvZihzdHJ1Y3QgY29tbWVu
dCkpOwotICAgICAgICBjb21tZW50LT50ZXh0ID0gbWVtYWxsb2ModG9rLT5sZW4gKyAxKTsKLSAg
ICAgICAgbWVtY3B5KGNvbW1lbnQtPnRleHQsIHRvay0+c3RhcnQsIHRvay0+bGVuKTsKLSAgICAg
ICAgY29tbWVudC0+dGV4dFt0b2stPmxlbl0gPSAwOwotICAgICAgICBjb21tZW50LT50eXBlID0g
dG9rLT50eXBlOwotICAgICAgICBjb21tZW50LT5maWxlbmFtZSA9IHRvay0+ZmlsZW5hbWU7Ci0g
ICAgICAgIGNvbW1lbnQtPmxpbmVudW0gPSB0b2stPmxpbmVudW07Ci0gICAgICAgIGNvbW1lbnQt
Pm5vZGUgPSAwOwotICAgICAgICBjb21tZW50LT5iYWNrID0gMDsKLSAgICAgICAgaWYgKGNvbW1l
bnQtPnRleHRbMV0gPT0gJzwnKSB7Ci0gICAgICAgICAgICBjb21tZW50LT5iYWNrID0gMTsKLSAg
ICAgICAgICAgIGlmICghbGFzdGlkZW50aWZpZXIpIHsKLSAgICAgICAgICAgICAgICBsb2NlcnJv
cmV4aXQoY29tbWVudC0+ZmlsZW5hbWUsIGNvbW1lbnQtPmxpbmVudW0sCi0gICAgICAgICAgICAg
ICAgICAgICJubyBpZGVudGlmaWVyIHRvIGF0dGFjaCBkb3h5Z2VuIGNvbW1lbnQgdG8iKTsKLSAg
ICAgICAgICAgIH0KLSAgICAgICAgICAgIGNvbW1lbnQtPm5vZGUgPSBsYXN0aWRlbnRpZmllcjsK
LSAgICAgICAgfQotICAgICAgICBjb21tZW50LT5uZXh0ID0gY29tbWVudHM7Ci0gICAgICAgIGNv
bW1lbnRzID0gY29tbWVudDsKLSAgICB9Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogc2V0Y29t
bWVudG5vZGUgOiBzZXQgcGFyc2Ugbm9kZSB0byBhdHRhY2ggY29tbWVudHMgdG8KLSAqCi0gKiBF
bnRlcjogICBub2RlMiA9IHBhcnNlIG5vZGUgZm9yIGlkZW50aWZpZXIKLSAqLwotdm9pZAotc2V0
Y29tbWVudG5vZGUoc3RydWN0IG5vZGUgKm5vZGUyKQotewotICAgIHN0cnVjdCBjb21tZW50ICpj
b21tZW50ID0gY29tbWVudHM7Ci0gICAgd2hpbGUgKGNvbW1lbnQgJiYgIWNvbW1lbnQtPm5vZGUp
IHsKLSAgICAgICAgY29tbWVudC0+bm9kZSA9IG5vZGUyOwotICAgICAgICBjb21tZW50ID0gY29t
bWVudC0+bmV4dDsKLSAgICB9Ci0gICAgbGFzdGlkZW50aWZpZXIgPSBub2RlMjsKLX0KLQotLyoq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqCi0gKiBqb2luaW5saW5lY29tbWVudHMgOiBqb2luIGFkamFjZW50IGlubGlu
ZSBjb21tZW50cwotICoKLSAqIEVudGVyOiAgIGNvbW1lbnQgPSBsaXN0IG9mIGNvbW1lbnQgc3Ry
dWN0cwotICoKLSAqIFJldHVybjogIG5ldyBsaXN0IG9mIGNvbW1lbnQgc3RydWN0cwotICoKLSAq
IFRoaXMgZnVuY3Rpb24gYWxzbyBkaXNjYXJkcyBhbnkgc2luZ2xlIGlubGluZSBjb21tZW50IHRo
YXQgZG9lcyBub3QKLSAqIHJlZmVyIGJhY2suCi0gKi8KLXN0YXRpYyBzdHJ1Y3QgY29tbWVudCAq
Ci1qb2luaW5saW5lY29tbWVudHMoc3RydWN0IGNvbW1lbnQgKmNvbW1lbnRzKQotewotICAgIHN0
cnVjdCBjb21tZW50ICoqcGNvbW1lbnQ7Ci0gICAgcGNvbW1lbnQgPSAmY29tbWVudHM7Ci0gICAg
Zm9yICg7OykgewotICAgICAgICBzdHJ1Y3QgY29tbWVudCAqY29tbWVudDsKLSAgICAgICAgY29t
bWVudCA9ICpwY29tbWVudDsKLSAgICAgICAgaWYgKCFjb21tZW50KQotICAgICAgICAgICAgYnJl
YWs7Ci0gICAgICAgIGlmIChjb21tZW50LT50eXBlICE9IFRPS19JTkxJTkVDT01NRU5UKSB7Ci0g
ICAgICAgICAgICAvKiBLZWVwIGJsb2NrIGNvbW1lbnQgYXMgaXMuICovCi0gICAgICAgICAgICBw
Y29tbWVudCA9ICZjb21tZW50LT5uZXh0OwotICAgICAgICB9IGVsc2UgaWYgKCFjb21tZW50LT5i
YWNrICYmICghY29tbWVudC0+bmV4dAotICAgICAgICAgICAgICAgIHx8IGNvbW1lbnQtPm5leHQt
PnR5cGUgIT0gVE9LX0lOTElORUNPTU1FTlQKLSAgICAgICAgICAgICAgICB8fCBjb21tZW50LT5u
ZXh0LT5maWxlbmFtZSAhPSBjb21tZW50LT5maWxlbmFtZQotICAgICAgICAgICAgICAgIHx8IGNv
bW1lbnQtPm5leHQtPmxpbmVudW0gIT0gY29tbWVudC0+bGluZW51bSArIDEpKQotICAgICAgICB7
Ci0gICAgICAgICAgICAvKiBEaXNjYXJkIHNpbmdsZSAvLyBjb21tZW50IHRoYXQgZG9lcyBub3Qg
cmVmZXIgYmFjay4gKi8KLSAgICAgICAgICAgICpwY29tbWVudCA9IGNvbW1lbnQtPm5leHQ7Ci0K
LSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIC8qIEZpbmQgc2VxdWVuY2Ugb2YgYWRqYWNl
bnQgLy8gY29tbWVudHMgKGFkamFjZW50IGxpbmVzLAotICAgICAgICAgICAgICogcmVmZXJyaW5n
IHRvIHNhbWUgbm9kZSkgYW5kIGpvaW4gdGhlbS4gV2UgZG8gdGhpcyBpbiB0d28KLSAgICAgICAg
ICAgICAqIHBhc3Nlcywgb25lIHRvIGNvdW50IHRoZSBsZW5ndGggb2YgdGhlIGNvbW1lbnQgYW5k
IG9uZQotICAgICAgICAgICAgICogdG8gam9pbi4gTm90ZSB0aGF0IHRoZSBsaXN0IGlzIHN0aWxs
IGluIHJldmVyc2Ugb3JkZXIsCi0gICAgICAgICAgICAgKiBzbyB3ZSBleHBlY3QgdGhlIGxpbmUg
bnVtYmVyIHRvIGRlY3JlYXNlIGJ5IDEgZWFjaCB0aW1lLiAqLwotICAgICAgICAgICAgc3RydWN0
IGNvbW1lbnQgKm5ld2NvbW1lbnQgPSAwLCAqY29tbWVudDI7Ci0gICAgICAgICAgICBjb25zdCBj
aGFyICpmaWxlbmFtZSA9IGNvbW1lbnQtPmZpbGVuYW1lOwotICAgICAgICAgICAgdW5zaWduZWQg
aW50IGxpbmVudW0gPSBjb21tZW50LT5saW5lbnVtOwotICAgICAgICAgICAgZm9yICg7Oykgewot
ICAgICAgICAgICAgICAgIGNoYXIgKndwID0gbmV3Y29tbWVudC0+dGV4dDsKLSAgICAgICAgICAg
ICAgICBjb21tZW50MiA9IGNvbW1lbnQ7Ci0gICAgICAgICAgICAgICAgZG8gewotICAgICAgICAg
ICAgICAgICAgICB1bnNpZ25lZCBpbnQgbGVuID0gc3RybGVuKGNvbW1lbnQyLT50ZXh0KTsKLSAg
ICAgICAgICAgICAgICAgICAgaWYgKG5ld2NvbW1lbnQpCi0gICAgICAgICAgICAgICAgICAgICAg
ICBtZW1jcHkod3AsIGNvbW1lbnQyLT50ZXh0LCBsZW4pOwotICAgICAgICAgICAgICAgICAgICB3
cCArPSBsZW47Ci0gICAgICAgICAgICAgICAgICAgIGxpbmVudW0tLTsKLSAgICAgICAgICAgICAg
ICAgICAgY29tbWVudDIgPSBjb21tZW50Mi0+bmV4dDsKLSAgICAgICAgICAgICAgICB9IHdoaWxl
IChjb21tZW50MiAmJiBjb21tZW50Mi0+ZmlsZW5hbWUgPT0gZmlsZW5hbWUKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAmJiBjb21tZW50Mi0+bGluZW51bSA9PSBsaW5lbnVtCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgJiYgY29tbWVudDItPm5vZGUgPT0gY29tbWVudC0+bm9kZSk7
Ci0gICAgICAgICAgICAgICAgLyogRmluaXNoZWQgYSBwYXNzLiAqLwotICAgICAgICAgICAgICAg
IGlmIChuZXdjb21tZW50KSB7Ci0gICAgICAgICAgICAgICAgICAgICp3cCA9IDA7Ci0gICAgICAg
ICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBu
ZXdjb21tZW50ID0gbWVtYWxsb2Moc2l6ZW9mKHN0cnVjdCBjb21tZW50KQotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICArIHdwIC0gbmV3Y29tbWVudC0+dGV4dCk7Ci0gICAgICAgICAg
ICAgICAgbmV3Y29tbWVudC0+bm9kZSA9IGNvbW1lbnQtPm5vZGU7Ci0gICAgICAgICAgICAgICAg
bmV3Y29tbWVudC0+dHlwZSA9IGNvbW1lbnQtPnR5cGU7Ci0gICAgICAgICAgICAgICAgbmV3Y29t
bWVudC0+ZmlsZW5hbWUgPSBmaWxlbmFtZTsKLSAgICAgICAgICAgICAgICBuZXdjb21tZW50LT5s
aW5lbnVtID0gbGluZW51bSArIDE7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICAvKiBSZXBs
YWNlIHRoZSBzY2FubmVkIGNvbW1lbnQgc3RydWN0IHdpdGggbmV3Y29tbWVudCBpbiB0aGUKLSAg
ICAgICAgICAgICAqIGxpc3QuICovCi0gICAgICAgICAgICBuZXdjb21tZW50LT5uZXh0ID0gY29t
bWVudDI7Ci0gICAgICAgICAgICAqcGNvbW1lbnQgPSBuZXdjb21tZW50OwotICAgICAgICAgICAg
cGNvbW1lbnQgPSAmbmV3Y29tbWVudC0+bmV4dDsKLSAgICAgICAgfQotICAgIH0KLSAgICByZXR1
cm4gY29tbWVudHM7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogb3V0cHV0Y2hpbGRyZW4gOiBj
YWxsIG91dHB1dCByZWN1cnNpdmVseSBvbiBjaGlsZHJlbiBvZiBjbm9kZQotICoKLSAqIEVudGVy
OiAgIGNub2RlCi0gKiAgICAgICAgICBpbmRlbnQgPSBpbmRlbnQgKG5lc3RpbmcpIGxldmVsIG9m
IHBhcmVudAotICogICAgICAgICAgaW5kZXNjID0gd2hldGhlciBhbHJlYWR5IGluIDxkZXNjcmlw
dGlvbj4gb3Igb3RoZXIgdG9wLWxldmVsCi0gKiAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGl2
ZSBlbGVtZW50Ci0gKi8KLXN0YXRpYyB2b2lkCi1vdXRwdXRjaGlsZHJlbihzdHJ1Y3QgY25vZGUg
KmNub2RlLCB1bnNpZ25lZCBpbnQgaW5kZW50LCBpbnQgaW5kZXNjKQotewotICAgIGludCBjdXJp
bmRlc2MgPSBpbmRlc2M7Ci0gICAgY25vZGUgPSBjbm9kZS0+Y2hpbGRyZW47Ci0gICAgd2hpbGUg
KGNub2RlKSB7Ci0gICAgICAgIGlmIChjdXJpbmRlc2MgIT0gY25vZGUtPmZ1bmNzLT5pbmRlc2Mp
IHsKLSAgICAgICAgICAgIGFzc2VydCghaW5kZXNjKTsKLSAgICAgICAgICAgIHByaW50ZigiJSpz
PCVzZGVzY3JpcHRpb24+XG4iLCBpbmRlbnQgKyAxLCAiIiwgY3VyaW5kZXNjID8gIi8iIDogIiIp
OwotICAgICAgICAgICAgY3VyaW5kZXNjID0gIWN1cmluZGVzYzsKLSAgICAgICAgfQotICAgICAg
ICAoKmNub2RlLT5mdW5jcy0+b3V0cHV0KShjbm9kZSwgaW5kZW50ICsgMik7Ci0gICAgICAgIGNu
b2RlID0gY25vZGUtPm5leHQ7Ci0gICAgfQotICAgIGlmIChjdXJpbmRlc2MgIT0gaW5kZXNjKQot
ICAgICAgICBwcmludGYoIiUqczwlc2Rlc2NyaXB0aW9uPlxuIiwgaW5kZW50ICsgMSwgIiIsIGN1
cmluZGVzYyA/ICIvIiA6ICIiKTsKLX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBkZWZhdWx0X2Fz
a2VuZCA6IGFzayBub2RlIGlmIGl0IHdhbnRzIHRvIGVuZCBhdCBhIHBhcmEgc3RhcnQgKGRlZmF1
bHQKLSAqICAgICAgICAgICAgICAgICAgaW1wbGVtZW50YXRpb24pCi0gKgotICogRW50ZXI6ICAg
Y25vZGUKLSAqICAgICAgICAgIHR5cGUgPSAwIGVsc2UgY25vZGVmdW5jcyBmb3IgbmV3bHkgc3Rh
cnRpbmcgcGFyYQotICoKLSAqIFJldHVybjogIG5vbi16ZXJvIGlmIHRoaXMgbm9kZSB3YW50cyB0
byBlbmQKLSAqLwotc3RhdGljIGludAotZGVmYXVsdF9hc2tlbmQoc3RydWN0IGNub2RlICpjbm9k
ZSwgY29uc3Qgc3RydWN0IGNub2RlZnVuY3MgKnR5cGUpCi17Ci0gICAgcmV0dXJuIDE7Ci19Ci0K
LS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKgotICogcm9vdF9hc2tlbmQgOiBhc2sgcm9vdCBub2RlIGlmIGl0IHdh
bnRzIHRvIGVuZCBhdCBhIHBhcmEgc3RhcnQKLSAqCi0gKiBFbnRlcjogICBjbm9kZSBmb3Igcm9v
dAotICogICAgICAgICAgdHlwZSA9IDAgZWxzZSBjbm9kZWZ1bmNzIGZvciBuZXdseSBzdGFydGlu
ZyBwYXJhCi0gKgotICogUmV0dXJuOiAgbm9uLXplcm8gaWYgdGhpcyBub2RlIHdhbnRzIHRvIGVu
ZAotICovCi1zdGF0aWMgaW50Ci1yb290X2Fza2VuZChzdHJ1Y3QgY25vZGUgKmNub2RlLCBjb25z
dCBzdHJ1Y3QgY25vZGVmdW5jcyAqdHlwZSkKLXsKLSAgICByZXR1cm4gMDsKLX0KLQotLyoqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqCi0gKiByb290X291dHB1dCA6IG91dHB1dCByb290IGNub2RlCi0gKgotICogRW50
ZXI6ICAgY25vZGUgZm9yIHJvb3QKLSAqICAgICAgICAgIGluZGVudCA9IGluZGVudCAobmVzdGlu
ZykgbGV2ZWwKLSAqLwotc3RhdGljIHZvaWQKLXJvb3Rfb3V0cHV0KHN0cnVjdCBjbm9kZSAqY25v
ZGUsIHVuc2lnbmVkIGludCBpbmRlbnQpCi17Ci0gICAgb3V0cHV0Y2hpbGRyZW4oY25vZGUsIGlu
ZGVudCwgMCk7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogY25vZGUgdHlwZSByb290Ci0gKi8K
LXN0YXRpYyBjb25zdCBzdHJ1Y3QgY25vZGVmdW5jcyByb290X2Z1bmNzID0gewotICAgIDAsIC8q
ICFpbmRlc2MgKi8KLSAgICAxLCAvKiBuZWVkcGFyYSAqLwotICAgICZyb290X2Fza2VuZCwKLSAg
ICAwLCAvKiBlbmQgKi8KLSAgICAmcm9vdF9vdXRwdXQsCi19OwotCi0vKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioK
LSAqIGVuZGNub2RlIDogZW5kIGN1cnJlbnQgY25vZGUKLSAqCi0gKiBFbnRlcjogICBjbm9kZSA9
IGN1cnJlbnQgY25vZGUKLSAqCi0gKiBSZXR1cm46ICBjbm9kZSA9IG5ldyBjdXJyZW50IGNvZGUg
KHBhcmVudCBvZiBvbGQgb25lKQotICovCi1zdGF0aWMgc3RydWN0IGNub2RlICoKLWVuZGNub2Rl
KHN0cnVjdCBjbm9kZSAqY25vZGUpCi17Ci0gICAgaWYgKGNub2RlLT5mdW5jcy0+ZW5kKQotICAg
ICAgICAoKmNub2RlLT5mdW5jcy0+ZW5kKShjbm9kZSk7Ci0gICAgLyogUmV2ZXJzZSB0aGUgY2hp
bGRyZW4gbGlzdC4gKi8KLSAgICB7Ci0gICAgICAgIHN0cnVjdCBjbm9kZSAqY2hpbGQgPSBjbm9k
ZS0+Y2hpbGRyZW47Ci0gICAgICAgIGNub2RlLT5jaGlsZHJlbiA9IDA7Ci0gICAgICAgIHdoaWxl
IChjaGlsZCkgewotICAgICAgICAgICAgc3RydWN0IGNub2RlICpuZXh0ID0gY2hpbGQtPm5leHQ7
Ci0gICAgICAgICAgICBjaGlsZC0+bmV4dCA9IGNub2RlLT5jaGlsZHJlbjsKLSAgICAgICAgICAg
IGNub2RlLT5jaGlsZHJlbiA9IGNoaWxkOwotICAgICAgICAgICAgY2hpbGQgPSBuZXh0OwotICAg
ICAgICB9Ci0gICAgfQotICAgIHJldHVybiBjbm9kZS0+cGFyZW50OwotfQotCi0vKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioKLSAqIGVuZHNwZWNpZmljY25vZGUgOiBlbmQgYSBzcGVjaWZpYyB0eXBlIG9mIGNub2Rl
Ci0gKgotICogRW50ZXI6ICAgY25vZGUgPSBjdXJyZW50IGNub2RlCi0gKiAgICAgICAgICB0eXBl
ID0gdHlwZSBvZiBub2RlIHRvIGVuZAotICogICAgICAgICAgZmlsZW5hbWUsIGxpbmVudW0gPSBm
aWxlbmFtZSBhbmQgbGluZSBudW1iZXIgKGZvciBlcnJvciByZXBvcnRpbmcpCi0gKgotICogUmV0
dXJuOiAgbmV3IGN1cnJlbnQgY25vZGUKLSAqLwotc3RhdGljIHN0cnVjdCBjbm9kZSAqCi1lbmRz
cGVjaWZpY2Nub2RlKHN0cnVjdCBjbm9kZSAqY25vZGUsIGNvbnN0IHN0cnVjdCBjbm9kZWZ1bmNz
ICp0eXBlLAotICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpmaWxlbmFtZSwgdW5zaWduZWQg
aW50IGxpbmVudW0pCi17Ci0gICAgd2hpbGUgKGNub2RlLT5mdW5jcyAhPSB0eXBlKSB7Ci0gICAg
ICAgIGlmIChjbm9kZS0+ZnVuY3MgPT0gJnJvb3RfZnVuY3MpCi0gICAgICAgICAgICBsb2NlcnJv
cmV4aXQoZmlsZW5hbWUsIGxpbmVudW0sICJ1bm1hdGNoZWQgXFxlbmRjb2RlIik7Ci0gICAgICAg
IGNub2RlID0gZW5kY25vZGUoY25vZGUpOwotICAgIH0KLSAgICByZXR1cm4gY25vZGU7Ci19Ci0K
LS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKgotICogc3RhcnRjbm9kZSA6IHN0YXJ0IGEgbmV3bHkgY3JlYXRlZCBj
bm9kZQotICoKLSAqIEVudGVyOiAgIGNub2RlID0gY3VycmVudCBjbm9kZQotICogICAgICAgICAg
bmV3Y25vZGUgPSBuZXcgY25vZGUgdG8gc3RhcnQKLSAqCi0gKiBSZXR1cm46ICBuZXcgY3VycmVu
dCBjbm9kZSAod2hpY2ggaXMgdGhlIHNhbWUgYXMgbmV3Y25vZGUpCi0gKi8KLXN0YXRpYyBzdHJ1
Y3QgY25vZGUgKgotc3RhcnRjbm9kZShzdHJ1Y3QgY25vZGUgKmNub2RlLCBzdHJ1Y3QgY25vZGUg
Km5ld2Nub2RlKQotewotICAgIG5ld2Nub2RlLT5wYXJlbnQgPSBjbm9kZTsKLSAgICBuZXdjbm9k
ZS0+bmV4dCA9IGNub2RlLT5jaGlsZHJlbjsKLSAgICBjbm9kZS0+Y2hpbGRyZW4gPSBuZXdjbm9k
ZTsKLSAgICByZXR1cm4gbmV3Y25vZGU7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogcGFyYV9v
dXRwdXQgOiBvdXRwdXQgcGFyYSBjbm9kZQotICoKLSAqIEVudGVyOiAgIGNub2RlIGZvciByb290
Ci0gKiAgICAgICAgICBpbmRlbnQgPSBpbmRlbnQgKG5lc3RpbmcpIGxldmVsCi0gKi8KLXN0YXRp
YyB2b2lkCi1wYXJhX291dHB1dChzdHJ1Y3QgY25vZGUgKmNub2RlLCB1bnNpZ25lZCBpbnQgaW5k
ZW50KQotewotICAgIHByaW50ZigiJSpzPHA+XG4iLCBpbmRlbnQsICIiKTsKLSAgICBvdXRwdXRj
aGlsZHJlbihjbm9kZSwgaW5kZW50LCAxKTsKLSAgICBwcmludGYoIiUqczwvcD5cbiIsIGluZGVu
dCwgIiIpOwotfQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIHBhcmFfZW5kIDogZW5kIGEgcGFyYSBj
bm9kZQotICoKLSAqIEVudGVyOiAgIGNub2RlIHN0cnVjdAotICovCi1zdGF0aWMgdm9pZAotcGFy
YV9lbmQoc3RydWN0IGNub2RlICpjbm9kZSkKLXsKLSAgICAvKiBJZiB0aGUgcGFyYSBjbm9kZSBp
cyBlbXB0eSwgcmVtb3ZlIGl0LiAqLwotICAgIGlmICghY25vZGUtPmNoaWxkcmVuKQotICAgICAg
ICBjbm9kZS0+cGFyZW50LT5jaGlsZHJlbiA9IGNub2RlLT5uZXh0OwotfQotCi0vKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioKLSAqIGNub2RlIHR5cGUgcGFyYQotICovCi1zdGF0aWMgY29uc3Qgc3RydWN0IGNub2Rl
ZnVuY3MgcGFyYV9mdW5jcyA9IHsKLSAgICAxLCAvKiBpbmRlc2MgKi8KLSAgICAwLCAvKiAhbmVl
ZHBhcmEgKi8KLSAgICAmZGVmYXVsdF9hc2tlbmQsCi0gICAgJnBhcmFfZW5kLCAvKiBlbmQgKi8K
LSAgICAmcGFyYV9vdXRwdXQsCi19OwotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIGJyaWVmX291dHB1
dCA6IG91dHB1dCBicmllZiBjbm9kZQotICoKLSAqIEVudGVyOiAgIGNub2RlIGZvciByb290Ci0g
KiAgICAgICAgICBpbmRlbnQgPSBpbmRlbnQgKG5lc3RpbmcpIGxldmVsCi0gKi8KLXN0YXRpYyB2
b2lkCi1icmllZl9vdXRwdXQoc3RydWN0IGNub2RlICpjbm9kZSwgdW5zaWduZWQgaW50IGluZGVu
dCkKLXsKLSAgICBwcmludGYoIiUqczxicmllZj5cbiIsIGluZGVudCwgIiIpOwotICAgIG91dHB1
dGNoaWxkcmVuKGNub2RlLCBpbmRlbnQsIDEpOwotICAgIHByaW50ZigiJSpzPC9icmllZj5cbiIs
IGluZGVudCwgIiIpOwotfQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIGNub2RlIHR5cGUgYnJpZWYK
LSAqLwotc3RhdGljIGNvbnN0IHN0cnVjdCBjbm9kZWZ1bmNzIGJyaWVmX2Z1bmNzID0gewotICAg
IDAsIC8qICFpbmRlc2MgKi8KLSAgICAwLCAvKiAhbmVlZHBhcmEgKi8KLSAgICAmZGVmYXVsdF9h
c2tlbmQsCi0gICAgMCwgLyogZW5kICovCi0gICAgJmJyaWVmX291dHB1dCwKLX07Ci0KLS8qKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKgotICogcmV0dXJuX291dHB1dCA6IG91dHB1dCByZXR1cm4gY25vZGUKLSAqCi0g
KiBFbnRlcjogICBjbm9kZSBmb3Igcm9vdAotICogICAgICAgICAgaW5kZW50ID0gaW5kZW50IChu
ZXN0aW5nKSBsZXZlbAotICovCi1zdGF0aWMgdm9pZAotcmV0dXJuX291dHB1dChzdHJ1Y3QgY25v
ZGUgKmNub2RlLCB1bnNpZ25lZCBpbnQgaW5kZW50KQotewotICAgIHByaW50ZigiJSpzPGRlc2Ny
aXB0aW9uPjxwPlxuIiwgaW5kZW50LCAiIik7Ci0gICAgb3V0cHV0Y2hpbGRyZW4oY25vZGUsIGlu
ZGVudCwgMSk7Ci0gICAgcHJpbnRmKCIlKnM8L3A+PC9kZXNjcmlwdGlvbj5cbiIsIGluZGVudCwg
IiIpOwotfQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIGNub2RlIHR5cGUgcmV0dXJuCi0gKi8KLXN0
YXRpYyBjb25zdCBzdHJ1Y3QgY25vZGVmdW5jcyByZXR1cm5fZnVuY3MgPSB7Ci0gICAgMCwgLyog
IWluZGVzYyAqLwotICAgIDAsIC8qICFuZWVkcGFyYSAqLwotICAgICZkZWZhdWx0X2Fza2VuZCwK
LSAgICAwLCAvKiBlbmQgKi8KLSAgICAmcmV0dXJuX291dHB1dCwKLX07Ci0KLS8qKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKgotICogYXV0aG9yX291dHB1dCA6IG91dHB1dCBuYW1lIGNub2RlCi0gKgotICogRW50ZXI6
ICAgY25vZGUgZm9yIHJvb3QKLSAqICAgICAgICAgIGluZGVudCA9IGluZGVudCAobmVzdGluZykg
bGV2ZWwKLSAqLwotc3RhdGljIHZvaWQKLW5hbWVfb3V0cHV0KHN0cnVjdCBjbm9kZSAqY25vZGUs
IHVuc2lnbmVkIGludCBpbmRlbnQpCi17Ci0gICAgcHJpbnRmKCIlKnM8bmFtZT5cbiIsIGluZGVu
dCwgIiIpOwotICAgIG91dHB1dGNoaWxkcmVuKGNub2RlLCBpbmRlbnQsIDEpOwotICAgIHByaW50
ZigiJSpzPC9uYW1lPlxuIiwgaW5kZW50LCAiIik7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICog
Y25vZGUgdHlwZSBuYW1lCi0gKi8KLXN0YXRpYyBjb25zdCBzdHJ1Y3QgY25vZGVmdW5jcyBuYW1l
X2Z1bmNzID0gewotICAgIDAsIC8qICFpbmRlc2MgKi8KLSAgICAwLCAvKiAhbmVlZHBhcmEgKi8K
LSAgICAmZGVmYXVsdF9hc2tlbmQsCi0gICAgMCwgLyogZW5kICovCi0gICAgJm5hbWVfb3V0cHV0
LAotfTsKLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBhdXRob3Jfb3V0cHV0IDogb3V0cHV0IGF1dGhv
ciBjbm9kZQotICoKLSAqIEVudGVyOiAgIGNub2RlIGZvciByb290Ci0gKiAgICAgICAgICBpbmRl
bnQgPSBpbmRlbnQgKG5lc3RpbmcpIGxldmVsCi0gKi8KLXN0YXRpYyB2b2lkCi1hdXRob3Jfb3V0
cHV0KHN0cnVjdCBjbm9kZSAqY25vZGUsIHVuc2lnbmVkIGludCBpbmRlbnQpCi17Ci0gICAgcHJp
bnRmKCIlKnM8YXV0aG9yPlxuIiwgaW5kZW50LCAiIik7Ci0gICAgb3V0cHV0Y2hpbGRyZW4oY25v
ZGUsIGluZGVudCwgMSk7Ci0gICAgcHJpbnRmKCIlKnM8L2F1dGhvcj5cbiIsIGluZGVudCwgIiIp
OwotfQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioKLSAqIGNub2RlIHR5cGUgYXV0aG9yCi0gKi8KLXN0YXRp
YyBjb25zdCBzdHJ1Y3QgY25vZGVmdW5jcyBhdXRob3JfZnVuY3MgPSB7Ci0gICAgMCwgLyogIWlu
ZGVzYyAqLwotICAgIDAsIC8qICFuZWVkcGFyYSAqLwotICAgICZkZWZhdWx0X2Fza2VuZCwKLSAg
ICAwLCAvKiBlbmQgKi8KLSAgICAmYXV0aG9yX291dHB1dCwKLX07Ci0KLS8qKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KgotICogdmVyc2lvbl9vdXRwdXQgOiBvdXRwdXQgdmVyc2lvbiBjbm9kZQotICoKLSAqIEVudGVy
OiAgIGNub2RlIGZvciByb290Ci0gKiAgICAgICAgICBpbmRlbnQgPSBpbmRlbnQgKG5lc3Rpbmcp
IGxldmVsCi0gKi8KLXN0YXRpYyB2b2lkCi12ZXJzaW9uX291dHB1dChzdHJ1Y3QgY25vZGUgKmNu
b2RlLCB1bnNpZ25lZCBpbnQgaW5kZW50KQotewotICAgIHByaW50ZigiJSpzPHZlcnNpb24+XG4i
LCBpbmRlbnQsICIiKTsKLSAgICBvdXRwdXRjaGlsZHJlbihjbm9kZSwgaW5kZW50LCAxKTsKLSAg
ICBwcmludGYoIiUqczwvdmVyc2lvbj5cbiIsIGluZGVudCwgIiIpOwotfQotCi0vKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioKLSAqIGNub2RlIHR5cGUgdmVyc2lvbgotICovCi1zdGF0aWMgY29uc3Qgc3RydWN0IGNu
b2RlZnVuY3MgdmVyc2lvbl9mdW5jcyA9IHsKLSAgICAwLCAvKiAhaW5kZXNjICovCi0gICAgMCwg
LyogIW5lZWRwYXJhICovCi0gICAgJmRlZmF1bHRfYXNrZW5kLAotICAgIDAsIC8qIGVuZCAqLwot
ICAgICZ2ZXJzaW9uX291dHB1dCwKLX07Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogY25vZGUgdHlw
ZSBjb2RlCi0gKi8KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogY29kZV9lbmQgOiBlbmQgYSBjb2RlIGNu
b2RlCi0gKgotICogRW50ZXI6ICAgY25vZGUgc3RydWN0Ci0gKi8KLXN0YXRpYyB2b2lkCi1jb2Rl
X2VuZChzdHJ1Y3QgY25vZGUgKmNub2RlKQotewotICAgIGlmIChpbmNvZGUpIHsKLSAgICAgICAg
LyogVGhlIGluY29kZSBmbGFnIGhhcyBub3QgYmVlbiBjbGVhcmVkLCBzbyB0aGlzIGNvZGUgY25v
ZGUgaXMKLSAgICAgICAgICogYmVpbmcgZW5kZWQgaW1wbGljaXRseS4gV2UgY29tcGxhaW4gYWJv
dXQgdGhhdC4gKi8KLSAgICAgICAgbG9jZXJyb3JleGl0KGNub2RlLT5maWxlbmFtZSwgY25vZGUt
PmxpbmVudW0sICJtaXNtYXRjaGVkIFxcY29kZSIpOwotICAgIH0KLX0KLQotLyoqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqCi0gKiBjb2RlX291dHB1dCA6IG91dHB1dCBjb2RlIGNub2RlCi0gKgotICogRW50ZXI6ICAg
Y25vZGUgZm9yIHJvb3QKLSAqICAgICAgICAgIGluZGVudCA9IGluZGVudCAobmVzdGluZykgbGV2
ZWwKLSAqLwotc3RhdGljIHZvaWQKLWNvZGVfb3V0cHV0KHN0cnVjdCBjbm9kZSAqY25vZGUsIHVu
c2lnbmVkIGludCBpbmRlbnQpCi17Ci0gICAgLyogTm90ZSBjYXBpdGFsaXphdGlvbiB0byBkaWZm
ZXJlbnRpYXRlIGl0IGZyb20gSFRNTCBjb2RlIGVsZW1lbnQuICovCi0gICAgaWYoY25vZGUtPmF0
dHJ0ZXh0KQotCSAgICBwcmludGYoIiUqczxDb2RlICVzPiIsIGluZGVudCwgIiIsIGNub2RlLT5h
dHRydGV4dCk7Ci0JZWxzZQotCSAgICBwcmludGYoIiUqczxDb2RlPiIsIGluZGVudCwgIiIpOwot
ICAgIG91dHB1dGNoaWxkcmVuKGNub2RlLCBpbmRlbnQsIDEpOwotICAgIHByaW50ZigiPC9Db2Rl
PlxuIik7Ci19Ci0KLXN0YXRpYyBjb25zdCBzdHJ1Y3QgY25vZGVmdW5jcyBjb2RlX2Z1bmNzID0g
ewotICAgIDAsIC8qIGluZGVzYyAqLwotICAgIDAsIC8qICFuZWVkcGFyYSAqLwotICAgICZkZWZh
dWx0X2Fza2VuZCwKLSAgICAmY29kZV9lbmQsIC8qIGVuZCAqLwotICAgICZjb2RlX291dHB1dCwK
LX07Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKgotICogc3RhcnRwYXJhIDogc3RhcnQgYSBuZXcgcGFyYSBj
bm9kZSBpbiB0aGUgcGFyc2UgdHJlZQotICoKLSAqIEVudGVyOiAgIGNub2RlID0gY3VycmVudCBj
bm9kZQotICogICAgICAgICAgdHlwZSA9IHZ0YWJsZSBmb3IgcGFydGljdWxhciB0eXBlIG9mIGNu
b2RlCi0gKgotICogUmV0dXJuOiAgbmV3IGN1cnJlbnQgY25vZGUKLSAqLwotc3RhdGljIHN0cnVj
dCBjbm9kZSAqCi1zdGFydHBhcmEoc3RydWN0IGNub2RlICpjbm9kZSwgY29uc3Qgc3RydWN0IGNu
b2RlZnVuY3MgKnR5cGUpCi17Ci0gICAgc3RydWN0IGNub2RlICpuZXdjbm9kZTsKLSAgICB3aGls
ZSAoKCpjbm9kZS0+ZnVuY3MtPmFza2VuZCkoY25vZGUsIHR5cGUpKQotICAgICAgICBjbm9kZSA9
IGVuZGNub2RlKGNub2RlKTsKLSAgICBuZXdjbm9kZSA9IG1lbWFsbG9jKHNpemVvZihzdHJ1Y3Qg
Y25vZGUpKTsKLSAgICBuZXdjbm9kZS0+ZnVuY3MgPSB0eXBlOwotICAgIHJldHVybiBzdGFydGNu
b2RlKGNub2RlLCBuZXdjbm9kZSk7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogY25vZGUgdHlw
ZSB0ZXh0Ci0gKi8KLXN0cnVjdCB0ZXh0Y25vZGUgewotICAgIHN0cnVjdCBjbm9kZSBjbjsKLSAg
ICB1bnNpZ25lZCBjaGFyICpkYXRhOwotICAgIHVuc2lnbmVkIGludCBsZW47Ci0gICAgdW5zaWdu
ZWQgaW50IG1heDsKLX07Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogdGV4dF9lbmQgOiBlbmQgYSB0
ZXh0IGNub2RlCi0gKgotICogRW50ZXI6ICAgY25vZGUgc3RydWN0Ci0gKi8KLXN0YXRpYyB2b2lk
Ci10ZXh0X2VuZChzdHJ1Y3QgY25vZGUgKmNub2RlKQotewotICAgIHN0cnVjdCB0ZXh0Y25vZGUg
KnRleHRjbm9kZSA9ICh2b2lkICopY25vZGU7Ci0gICAgdGV4dGNub2RlLT5kYXRhW3RleHRjbm9k
ZS0+bGVuXSA9IDA7Ci0gICAgdGV4dGNub2RlLT5tYXggPSB0ZXh0Y25vZGUtPmxlbiArIDE7Ci0g
ICAgdGV4dGNub2RlLT5kYXRhID0gbWVtcmVhbGxvYyh0ZXh0Y25vZGUtPmRhdGEsIHRleHRjbm9k
ZS0+bWF4KTsKLX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiB0ZXh0X291dHB1dCA6IG91dHB1dCB0
ZXh0IGNub2RlCi0gKgotICogRW50ZXI6ICAgY25vZGUgZm9yIHJvb3QKLSAqICAgICAgICAgIGlu
ZGVudCA9IGluZGVudCAobmVzdGluZykgbGV2ZWwKLSAqLwotc3RhdGljIHZvaWQKLXRleHRfb3V0
cHV0KHN0cnVjdCBjbm9kZSAqY25vZGUsIHVuc2lnbmVkIGludCBpbmRlbnQpCi17Ci0gICAgLyog
V2UgZG8gbm90IGluZGVudCwgaW4gY2FzZSB0aGlzIGlzIGluc2lkZSBhIGNvZGUgY25vZGUuICov
Ci0gICAgc3RydWN0IHRleHRjbm9kZSAqdGV4dGNub2RlID0gKHZvaWQgKiljbm9kZTsKLSAgICB1
bnNpZ25lZCBpbnQgbGVuID0gdGV4dGNub2RlLT5sZW47Ci0gICAgdW5zaWduZWQgY29uc3QgY2hh
ciAqcCA9IHRleHRjbm9kZS0+ZGF0YTsKLSAgICB3aGlsZSAobGVuKSB7Ci0gICAgICAgIHVuc2ln
bmVkIGludCB0aGlzbGVuOwotICAgICAgICBjb25zdCBjaGFyICp0aGlzcHRyOwotICAgICAgICB0
aGlzbGVuID0gcFswXTsKLSAgICAgICAgLyogKHZvaWQgKikgY2FzdCBpcyB0byBhdm9pZCBhIHdh
cm5pbmcgZnJvbSB0aGUgTVMgY29tcGlsZXIuCi0gICAgICAgICAqIEkgdGhpbmsgdGhlIHdhcm5p
bmcgaXMgd3JvbmcsIGJ1dCBJIGNvdWxkIGJlIHdyb25nLiAqLwotICAgICAgICBtZW1jcHkoKHZv
aWQgKikmdGhpc3B0ciwgcCArIDEsIHNpemVvZih2b2lkICopKTsKLSAgICAgICAgcCArPSAxICsg
c2l6ZW9mKHZvaWQgKik7Ci0gICAgICAgIGxlbiAtPSAxICsgc2l6ZW9mKHZvaWQgKik7Ci0gICAg
ICAgIHByaW50dGV4dCh0aGlzcHRyLCB0aGlzbGVuLCAwKTsKLSAgICB9Ci19Ci0KLXN0YXRpYyBj
b25zdCBzdHJ1Y3QgY25vZGVmdW5jcyB0ZXh0X2Z1bmNzID0gewotICAgIDEsIC8qICFpbmRlc2Mg
Ki8KLSAgICAwLCAvKiAhbmVlZHBhcmEgKi8KLSAgICAmZGVmYXVsdF9hc2tlbmQsCi0gICAgJnRl
eHRfZW5kLCAvKiBlbmQgKi8KLSAgICAmdGV4dF9vdXRwdXQsCi19OwotCi0vKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioKLSAqIGNub2RlIHR5cGUgaHRtbCAoSFRNTCBlbGVtZW50KQotICovCi1zdHJ1Y3QgaHRtbGNu
b2RlIHsKLSAgICBzdHJ1Y3QgY25vZGUgY247Ci0gICAgY29uc3Qgc3RydWN0IGh0bWxlbGRlc2Mg
KmRlc2M7Ci0gICAgY2hhciBhdHRyc1sxXTsKLX07Ci0KLS8qKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogaHRt
bF9lbmQgOiBlbmQgYW4gaHRtbCBjbm9kZQotICoKLSAqIEVudGVyOiAgIGNub2RlIHN0cnVjdAot
ICovCi1zdGF0aWMgdm9pZAotaHRtbF9lbmQoc3RydWN0IGNub2RlICpjbm9kZSkKLXsKLSAgICBp
ZiAoKChzdHJ1Y3QgaHRtbGNub2RlICopY25vZGUpLT5kZXNjLT5mbGFncyAmIEhUTUxFTF9CTE9D
SykKLSAgICAgICAgaW5odG1sYmxvY2stLTsKLX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBodG1s
X291dHB1dCA6IG91dHB1dCBodG1sIGNub2RlCi0gKgotICogRW50ZXI6ICAgY25vZGUgZm9yIHJv
b3QKLSAqICAgICAgICAgIGluZGVudCA9IGluZGVudCAobmVzdGluZykgbGV2ZWwKLSAqLwotc3Rh
dGljIHZvaWQKLWh0bWxfb3V0cHV0KHN0cnVjdCBjbm9kZSAqY25vZGUsIHVuc2lnbmVkIGludCBp
bmRlbnQpCi17Ci0gICAgc3RydWN0IGh0bWxjbm9kZSAqaHRtbGNub2RlID0gKHZvaWQgKiljbm9k
ZTsKLSAgICBpZiAoIShodG1sY25vZGUtPmRlc2MtPmZsYWdzICYgSFRNTEVMX0lOTElORSkpCi0g
ICAgICAgIHByaW50ZigiJSpzIiwgaW5kZW50LCAiIik7Ci0gICAgaWYgKGh0bWxjbm9kZS0+Y24u
Y2hpbGRyZW4pIHsKLSAgICAgICAgcHJpbnRmKCI8JXMlcz4iLCBodG1sY25vZGUtPmRlc2MtPm5h
bWUsIGh0bWxjbm9kZS0+YXR0cnMpOwotICAgICAgICBpZiAoIShodG1sY25vZGUtPmRlc2MtPmZs
YWdzICYgSFRNTEVMX0lOTElORSkpCi0gICAgICAgICAgICBwdXRjaGFyKCdcbicpOwotICAgICAg
ICBvdXRwdXRjaGlsZHJlbigmaHRtbGNub2RlLT5jbiwgaW5kZW50LCAxKTsKLSAgICAgICAgaWYg
KCEoaHRtbGNub2RlLT5kZXNjLT5mbGFncyAmIEhUTUxFTF9JTkxJTkUpKQotICAgICAgICAgICAg
cHJpbnRmKCIlKnMiLCBpbmRlbnQsICIiKTsKLSAgICAgICAgcHJpbnRmKCI8LyVzPiIsIGh0bWxj
bm9kZS0+ZGVzYy0+bmFtZSk7Ci0gICAgfSBlbHNlCi0gICAgICAgIHByaW50ZigiPCVzJXMvPiIs
IGh0bWxjbm9kZS0+ZGVzYy0+bmFtZSwgaHRtbGNub2RlLT5hdHRycyk7Ci0gICAgaWYgKCEoaHRt
bGNub2RlLT5kZXNjLT5mbGFncyAmIEhUTUxFTF9JTkxJTkUpKQotICAgICAgICBwdXRjaGFyKCdc
bicpOwotfQotCi1zdGF0aWMgY29uc3Qgc3RydWN0IGNub2RlZnVuY3MgaHRtbF9mdW5jcyA9IHsK
LSAgICAxLCAvKiBpbmRlc2MgKi8KLSAgICAwLCAvKiAhbmVlZHBhcmEgKi8KLSAgICAmZGVmYXVs
dF9hc2tlbmQsCi0gICAgJmh0bWxfZW5kLCAvKiBlbmQgKi8KLSAgICAmaHRtbF9vdXRwdXQsCi19
OwotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioKLSAqIHN0YXJ0aHRtbGNub2RlIDogc3RhcnQgYSBuZXcgaHRt
bCBjbm9kZQotICoKLSAqIEVudGVyOiAgIGNub2RlID0gY3VycmVudCBjbm9kZQotICogICAgICAg
ICAgaHRtbGVsZGVzYyA9IGh0bWwgZWxlbWVudCBkZXNjcmlwdG9yCi0gKiAgICAgICAgICBhdHRy
cyA9IGF0dHJpYnV0ZXMgdGV4dAotICogICAgICAgICAgYXR0cnNsZW4gPSBsZW5ndGggb2YgYXR0
cmlidXRlcyB0ZXh0Ci0gKiAgICAgICAgICBmaWxlbmFtZQotICogICAgICAgICAgbGluZW51bSA9
IGxpbmUgbnVtYmVyCi0gKgotICogUmV0dXJuOiAgbmV3IGN1cnJlbnQgY25vZGUKLSAqLwotc3Rh
dGljIHN0cnVjdCBjbm9kZSAqCi1zdGFydGh0bWxjbm9kZShzdHJ1Y3QgY25vZGUgKmNub2RlLCBj
b25zdCBzdHJ1Y3QgaHRtbGVsZGVzYyAqaHRtbGVsZGVzYywKLSAgICAgICAgICAgICAgIGNvbnN0
IGNoYXIgKmF0dHJzLCB1bnNpZ25lZCBpbnQgYXR0cnNsZW4sCi0gICAgICAgICAgICAgICBjb25z
dCBjaGFyICpmaWxlbmFtZSwgdW5zaWduZWQgaW50IGxpbmVudW0pCi17Ci0gICAgc3RydWN0IGh0
bWxjbm9kZSAqaHRtbGNub2RlOwotICAgIC8qIEZpcnN0IGNsb3NlIGVub3VnaCBlbGVtZW50cyB0
byBnZXQgdG8gYSBjb250ZW50Ci0gICAgICogbW9kZWwgdGhhdCB3aWxsIGFjY2VwdCB0aGlzIG5l
dyBlbGVtZW50LiAqLwotICAgIGZvciAoOzspIHsKLSAgICAgICAgaWYgKGNub2RlLT5mdW5jcyAh
PSAmaHRtbF9mdW5jcykgewotICAgICAgICAgICAgLyogTm90IGluIGFueSBodG1sIGVsZW1lbnQu
IFdlIGNhbiBhY2NlcHQgYW55IGJsb2NrIGVsZW1lbnQKLSAgICAgICAgICAgICAqIChpbiB3aGlj
aCBjYXNlIHdlIG5lZWQgdG8gY2xvc2UgdGhlIGN1cnJlbnQgcGFyYWdyYXBoCi0gICAgICAgICAg
ICAgKiBmaXJzdCkgb3IgYW55IGlubGluZSBlbGVtZW50IChpbiB3aGljaCBjYXNlIHdlIG5lZWQg
dG8KLSAgICAgICAgICAgICAqIGNsb3NlIHRoZSBjdXJyZW50IHRleHQgY25vZGUgZmlyc3QpLiAq
LwotICAgICAgICAgICAgaWYgKCEoaHRtbGVsZGVzYy0+ZmxhZ3MgJiBIVE1MRUxfSU5MSU5FKSkg
ewotICAgICAgICAgICAgICAgIGlmICghKGh0bWxlbGRlc2MtPmZsYWdzICYgSFRNTEVMX0JMT0NL
KSkKLSAgICAgICAgICAgICAgICAgICAgbG9jZXJyb3JleGl0KGZpbGVuYW1lLCBsaW5lbnVtLCAi
PCVzPiBub3QgdmFsaWQgaGVyZSIsIGh0bWxlbGRlc2MtPm5hbWUpOwotICAgICAgICAgICAgICAg
IHdoaWxlICgoKmNub2RlLT5mdW5jcy0+YXNrZW5kKShjbm9kZSwgMCkpCi0gICAgICAgICAgICAg
ICAgICAgIGNub2RlID0gZW5kY25vZGUoY25vZGUpOwotICAgICAgICAgICAgfSBlbHNlIHsKLSAg
ICAgICAgICAgICAgICB3aGlsZSAoY25vZGUtPmZ1bmNzID09ICZ0ZXh0X2Z1bmNzKQotICAgICAg
ICAgICAgICAgICAgICBjbm9kZSA9IGVuZGNub2RlKGNub2RlKTsKLSAgICAgICAgICAgIH0KLSAg
ICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0gICAgICAgIGh0bWxjbm9kZSA9IChzdHJ1Y3Qg
aHRtbGNub2RlICopY25vZGU7Ci0gICAgICAgIGlmICghKGh0bWxlbGRlc2MtPmZsYWdzICYgaHRt
bGNub2RlLT5kZXNjLT5jb250ZW50KSkKLSAgICAgICAgICAgIGxvY2Vycm9yZXhpdChmaWxlbmFt
ZSwgbGluZW51bSwgIjwlcz4gbm90IHZhbGlkIGhlcmUiLCBodG1sZWxkZXNjLT5uYW1lKTsKLSAg
ICAgICAgYnJlYWs7Ci0gICAgfQotICAgIGlmIChodG1sZWxkZXNjLT5mbGFncyAmIEhUTUxFTF9C
TE9DSykKLSAgICAgICAgaW5odG1sYmxvY2srKzsKLSAgICAvKiBDcmVhdGUgdGhlIG5ldyBodG1s
IGNub2RlLiAqLwotICAgIGh0bWxjbm9kZSA9IG1lbWFsbG9jKHNpemVvZihzdHJ1Y3QgaHRtbGNu
b2RlKSArIGF0dHJzbGVuKTsKLSAgICBodG1sY25vZGUtPmRlc2MgPSBodG1sZWxkZXNjOwotICAg
IGh0bWxjbm9kZS0+Y24uZnVuY3MgPSAmaHRtbF9mdW5jczsKLSAgICBodG1sY25vZGUtPmNuLmZp
bGVuYW1lID0gZmlsZW5hbWU7Ci0gICAgaHRtbGNub2RlLT5jbi5saW5lbnVtID0gbGluZW51bTsK
LSAgICBtZW1jcHkoaHRtbGNub2RlLT5hdHRycywgYXR0cnMsIGF0dHJzbGVuKTsKLSAgICBodG1s
Y25vZGUtPmF0dHJzW2F0dHJzbGVuXSA9IDA7Ci0gICAgLyogU3RhcnQgdGhlIGh0bWwgY25vZGUu
ICovCi0gICAgY25vZGUgPSBzdGFydGNub2RlKGNub2RlLCAmaHRtbGNub2RlLT5jbik7Ci0gICAg
cmV0dXJuIGNub2RlOwotfQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIHBhcmFtX291dHB1dCA6IG91
dHB1dCBwYXJhbSBjbm9kZQotICoKLSAqIEVudGVyOiAgIGNub2RlIGZvciBwYXJhbQotICogICAg
ICAgICAgaW5kZW50ID0gaW5kZW50IChuZXN0aW5nKSBsZXZlbAotICoKLSAqIFRoaXMgaXMgb25s
eSB1c2VkIGZvciBhIFxwYXJhbSBpbnNpZGUgYSBcZGVmLWRldmljZS1jYXAuIEEgbm9ybWFsCi0g
KiBccGFyYW0gdGhhdCBnZXRzIGF0dGFjaGVkIHRvIGEgZnVuY3Rpb24gYXJndW1lbnQgZ2V0cyBj
aGFuZ2VkIHRvCi0gKiBhIFxyZXR1cm4gc28gaXQgZG9lcyBub3QgdXNlIHRoaXMgb3V0cHV0IGZ1
bmN0aW9uLgotICovCi1zdGF0aWMgdm9pZAotcGFyYW1fb3V0cHV0KHN0cnVjdCBjbm9kZSAqY25v
ZGUsIHVuc2lnbmVkIGludCBpbmRlbnQpCi17Ci0gICAgc3RydWN0IHBhcmFtY25vZGUgKnBhcmFt
Y25vZGUgPSAodm9pZCAqKWNub2RlOwotICAgIHByaW50ZigiJSpzPHBhcmFtIGlkZW50aWZpZXI9
XCIlc1wiPlxuIiwgaW5kZW50LCAiIiwgcGFyYW1jbm9kZS0+bmFtZSk7Ci0gICAgb3V0cHV0Y2hp
bGRyZW4oJnBhcmFtY25vZGUtPmNuLCBpbmRlbnQsIDEpOwotICAgIHByaW50ZigiJSpzPC9wYXJh
bT5cbiIsIGluZGVudCwgIiIpOwotfQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIGNub2RlIHR5cGUg
cGFyYW0KLSAqLwotc3RhdGljIGNvbnN0IHN0cnVjdCBjbm9kZWZ1bmNzIHBhcmFtX2Z1bmNzID0g
ewotICAgIDAsIC8qICFpbmRlc2MgKi8KLSAgICAwLCAvKiAhbmVlZHBhcmEgKi8KLSAgICAmZGVm
YXVsdF9hc2tlbmQsCi0gICAgMCwgLyogZW5kICovCi0gICAgJnBhcmFtX291dHB1dCwKLX07Ci0K
LS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKgotICogY25vZGUgdHlwZSB0aHJvdwotICovCi1zdGF0aWMgY29uc3Qg
c3RydWN0IGNub2RlZnVuY3MgdGhyb3dfZnVuY3MgPSB7Ci0gICAgMCwgLyogIWluZGVzYyAqLwot
ICAgIDAsIC8qICFuZWVkcGFyYSAqLwotICAgICZkZWZhdWx0X2Fza2VuZCwKLSAgICAwLCAvKiBl
bmQgKi8KLSAgICAmcmV0dXJuX291dHB1dCwKLX07Ci0KLS8qKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogc3Rh
cnRwYXJhbWNub2RlIDogc3RhcnQgcGFyYW0gKG9yIHRocm93KSBjbm9kZQotICoKLSAqIEVudGVy
OiAgIGNub2RlID0gY3VycmVudCBjbm9kZQotICogICAgICAgICAgd29yZCA9IG5hbWUgb2YgcGFy
YW0KLSAqICAgICAgICAgIHdvcmRsZW4gPSBsZW5ndGggb2YgbmFtZQotICogICAgICAgICAgaW5v
dXQgPSBiaXQgMCA9IGluLCBiaXQgMSA9IG91dAotICogICAgICAgICAgdHlwZSA9ICZwYXJhbV9m
dW5jcyBvciAmdGhyb3dfZnVuY3MKLSAqCi0gKiBSZXR1cm46ICBuZXcgY3VycmVudCBjbm9kZQot
ICovCi1zdGF0aWMgc3RydWN0IGNub2RlICoKLXN0YXJ0cGFyYW1jbm9kZShzdHJ1Y3QgY25vZGUg
KmNub2RlLCBjb25zdCBjaGFyICp3b3JkLCB1bnNpZ25lZCBpbnQgd29yZGxlbiwKLSAgICAgICAg
ICAgICAgICBpbnQgaW5vdXQsIGNvbnN0IHN0cnVjdCBjbm9kZWZ1bmNzICpmdW5jcykKLXsKLSAg
ICBzdHJ1Y3QgcGFyYW1jbm9kZSAqcGFyYW1jbm9kZTsKLSAgICBwYXJhbWNub2RlID0gbWVtYWxs
b2Moc2l6ZW9mKHN0cnVjdCBwYXJhbWNub2RlKSArIHdvcmRsZW4pOwotICAgIHBhcmFtY25vZGUt
PmNuLmZ1bmNzID0gZnVuY3M7Ci0gICAgbWVtY3B5KHBhcmFtY25vZGUtPm5hbWUsIHdvcmQsIHdv
cmRsZW4pOwotICAgIHBhcmFtY25vZGUtPm5hbWVbd29yZGxlbl0gPSAwOwotICAgIHBhcmFtY25v
ZGUtPmlub3V0ID0gaW5vdXQ7Ci0gICAgcmV0dXJuIHN0YXJ0Y25vZGUoY25vZGUsICZwYXJhbWNu
b2RlLT5jbik7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogYXBpX2ZlYXR1cmVfb3V0cHV0IDog
b3V0cHV0IGFwaS1mZWF0dXJlIGNub2RlCi0gKgotICogRW50ZXI6ICAgY25vZGUgZm9yIHJvb3QK
LSAqICAgICAgICAgIGluZGVudCA9IGluZGVudCAobmVzdGluZykgbGV2ZWwKLSAqLwotc3RhdGlj
IHZvaWQKLWFwaV9mZWF0dXJlX291dHB1dChzdHJ1Y3QgY25vZGUgKmNub2RlLCB1bnNpZ25lZCBp
bnQgaW5kZW50KQotewotICAgIHN0cnVjdCBwYXJhbWNub2RlICpwYXJhbWNub2RlID0gKHZvaWQg
Kiljbm9kZTsKLSAgICBwcmludGYoIiUqczxhcGktZmVhdHVyZSBpZGVudGlmaWVyPVwiJXNcIj5c
biIsIGluZGVudCwgIiIsIHBhcmFtY25vZGUtPm5hbWUpOwotICAgIG91dHB1dGNoaWxkcmVuKGNu
b2RlLCBpbmRlbnQsIDEpOwotICAgIHByaW50ZigiJSpzPC9hcGktZmVhdHVyZT5cbiIsIGluZGVu
dCwgIiIpOwotfQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIGNub2RlIHR5cGUgYXBpX2ZlYXR1cmUK
LSAqLwotc3RhdGljIGNvbnN0IHN0cnVjdCBjbm9kZWZ1bmNzIGFwaV9mZWF0dXJlX2Z1bmNzID0g
ewotICAgIDAsIC8qICFpbmRlc2MgKi8KLSAgICAwLCAvKiBuZWVkcGFyYSAqLwotICAgICZkZWZh
dWx0X2Fza2VuZCwKLSAgICAwLCAvKiBlbmQgKi8KLSAgICAmYXBpX2ZlYXR1cmVfb3V0cHV0LAot
fTsKLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqCi0gKiBkZXZpY2VfY2FwX291dHB1dCA6IG91dHB1dCBkZXZp
Y2UtY2FwIGNub2RlCi0gKgotICogRW50ZXI6ICAgY25vZGUgZm9yIHJvb3QKLSAqICAgICAgICAg
IGluZGVudCA9IGluZGVudCAobmVzdGluZykgbGV2ZWwKLSAqLwotc3RhdGljIHZvaWQKLWRldmlj
ZV9jYXBfb3V0cHV0KHN0cnVjdCBjbm9kZSAqY25vZGUsIHVuc2lnbmVkIGludCBpbmRlbnQpCi17
Ci0gICAgc3RydWN0IHBhcmFtY25vZGUgKnBhcmFtY25vZGUgPSAodm9pZCAqKWNub2RlOwotICAg
IHByaW50ZigiJSpzPGRldmljZS1jYXAgaWRlbnRpZmllcj1cIiVzXCI+XG4iLCBpbmRlbnQsICIi
LCBwYXJhbWNub2RlLT5uYW1lKTsKLSAgICBvdXRwdXRjaGlsZHJlbihjbm9kZSwgaW5kZW50LCAx
KTsKLSAgICBwcmludGYoIiUqczwvZGV2aWNlLWNhcD5cbiIsIGluZGVudCwgIiIpOwotfQotCi0v
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioKLSAqIGNub2RlIHR5cGUgZGV2aWNlX2NhcAotICovCi1zdGF0aWMgY29u
c3Qgc3RydWN0IGNub2RlZnVuY3MgZGV2aWNlX2NhcF9mdW5jcyA9IHsKLSAgICAwLCAvKiAhaW5k
ZXNjICovCi0gICAgMCwgLyogbmVlZHBhcmEgKi8KLSAgICAmZGVmYXVsdF9hc2tlbmQsCi0gICAg
MCwgLyogZW5kICovCi0gICAgJmRldmljZV9jYXBfb3V0cHV0LAotfTsKLQotLyoqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqCi0gKiBkZWZfYXBpX2ZlYXR1cmVfYXNrZW5kIDogYXNrIGlmIGRlZi1hcGktZmVhdHVyZSBj
bm9kZSB3YW50cyB0byBlbmQgYXQgbmV3IHBhcmEKLSAqCi0gKiBFbnRlcjogICBjbm9kZSBmb3Ig
ZGVmLWFwaS1mZWF0dXJlCi0gKiAgICAgICAgICB0eXBlID0gY25vZGVmdW5jcyBmb3IgbmV3IHBh
cmEgKDAgaWYgaHRtbCBibG9jayBlbGVtZW50KQotICoKLSAqIFJldHVybjogIG5vbi16ZXJvIHRv
IGVuZCB0aGUgZGVmLWFwaS1mZWF0dXJlCi0gKi8KLXN0YXRpYyBpbnQKLWRlZl9hcGlfZmVhdHVy
ZV9hc2tlbmQoc3RydWN0IGNub2RlICpjbm9kZSwgY29uc3Qgc3RydWN0IGNub2RlZnVuY3MgKnR5
cGUpCi17Ci0gICAgLyogQSBkZWYtYXBpLWZlYXR1cmUgZG9lcyBub3QgZW5kIGF0IGEgcGxhaW4g
cGFyYSwgYW4gaHRtbCBibG9jayBlbGVtZW50LAotICAgICAqIGEgYnJpZWYgcGFyYSwgb3IgYSBk
ZXZpY2UtY2FwLiAqLwotICAgIGlmICghdHlwZSB8fCB0eXBlID09ICZwYXJhX2Z1bmNzIHx8IHR5
cGUgPT0gJmRldmljZV9jYXBfZnVuY3MgfHwgdHlwZSA9PSAmYnJpZWZfZnVuY3MpCi0gICAgICAg
IHJldHVybiAwOwotICAgIHJldHVybiAxOwotfQotCi0vKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIGRlZl9h
cGlfZmVhdHVyZV9vdXRwdXQgOiBvdXRwdXQgZGVmLWFwaS1mZWF0dXJlIGNub2RlCi0gKgotICog
RW50ZXI6ICAgY25vZGUgZm9yIHJvb3QKLSAqICAgICAgICAgIGluZGVudCA9IGluZGVudCAobmVz
dGluZykgbGV2ZWwKLSAqLwotc3RhdGljIHZvaWQKLWRlZl9hcGlfZmVhdHVyZV9vdXRwdXQoc3Ry
dWN0IGNub2RlICpjbm9kZSwgdW5zaWduZWQgaW50IGluZGVudCkKLXsKLSAgICBzdHJ1Y3QgcGFy
YW1jbm9kZSAqcGFyYW1jbm9kZSA9ICh2b2lkICopY25vZGU7Ci0gICAgcHJpbnRmKCIlKnM8ZGVm
LWFwaS1mZWF0dXJlIGlkZW50aWZpZXI9XCIlc1wiPlxuIiwgaW5kZW50LCAiIiwgcGFyYW1jbm9k
ZS0+bmFtZSk7Ci0gICAgcHJpbnRmKCIlKnM8ZGVzY3JpcHRpdmU+XG4iLCBpbmRlbnQgKyAyLCAi
Iik7Ci0gICAgb3V0cHV0Y2hpbGRyZW4oY25vZGUsIGluZGVudCArIDIsIDApOwotICAgIHByaW50
ZigiJSpzPC9kZXNjcmlwdGl2ZT5cbiIsIGluZGVudCArIDIsICIiKTsKLSAgICBwcmludGYoIiUq
czwvZGVmLWFwaS1mZWF0dXJlPlxuIiwgaW5kZW50LCAiIik7Ci19Ci0KLS8qKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KgotICogY25vZGUgdHlwZSBkZWZfYXBpX2ZlYXR1cmUKLSAqLwotc3RhdGljIGNvbnN0IHN0cnVj
dCBjbm9kZWZ1bmNzIGRlZl9hcGlfZmVhdHVyZV9mdW5jcyA9IHsKLSAgICAwLCAvKiAhaW5kZXNj
ICovCi0gICAgMSwgLyogbmVlZHBhcmEgKi8KLSAgICAmZGVmX2FwaV9mZWF0dXJlX2Fza2VuZCwK
LSAgICAwLCAvKiBlbmQgKi8KLSAgICAmZGVmX2FwaV9mZWF0dXJlX291dHB1dCwKLX07Ci0KLS8q
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKgotICogZGVmX2FwaV9mZWF0dXJlX3NldF9hc2tlbmQgOiBhc2sgaWYgZGVm
LWFwaS1mZWF0dXJlLXNldCBjbm9kZSB3YW50cyB0byBlbmQgYXQgbmV3IHBhcmEKLSAqCi0gKiBF
bnRlcjogICBjbm9kZSBmb3IgZGVmLWFwaS1mZWF0dXJlLXNldAotICogICAgICAgICAgdHlwZSA9
IGNub2RlZnVuY3MgZm9yIG5ldyBwYXJhICgwIGlmIGh0bWwgYmxvY2sgZWxlbWVudCkKLSAqCi0g
KiBSZXR1cm46ICBub24temVybyB0byBlbmQgdGhlIGRlZi1hcGktZmVhdHVyZS1zZXQKLSAqLwot
c3RhdGljIGludAotZGVmX2FwaV9mZWF0dXJlX3NldF9hc2tlbmQoc3RydWN0IGNub2RlICpjbm9k
ZSwgY29uc3Qgc3RydWN0IGNub2RlZnVuY3MgKnR5cGUpCi17Ci0gICAgLyogQSBkZWYtYXBpLWZl
YXR1cmUtc2V0IGRvZXMgbm90IGVuZCBhdCBhIHBsYWluIHBhcmEsIGFuIGh0bWwgYmxvY2sgZWxl
bWVudCwKLSAgICAgKiBhIGJyaWVmIHBhcmEsIG9yIGFuIGFwaS1mZWF0dXJlLiAqLwotICAgIGlm
ICghdHlwZSB8fCB0eXBlID09ICZwYXJhX2Z1bmNzIHx8IHR5cGUgPT0gJmFwaV9mZWF0dXJlX2Z1
bmNzIHx8IHR5cGUgPT0gJmJyaWVmX2Z1bmNzKQotICAgICAgICByZXR1cm4gMDsKLSAgICByZXR1
cm4gMTsKLX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBkZWZfYXBpX2ZlYXR1cmVfc2V0X291dHB1
dCA6IG91dHB1dCBkZWYtYXBpLWZlYXR1cmUtc2V0IGNub2RlCi0gKgotICogRW50ZXI6ICAgY25v
ZGUgZm9yIHJvb3QKLSAqICAgICAgICAgIGluZGVudCA9IGluZGVudCAobmVzdGluZykgbGV2ZWwK
LSAqLwotc3RhdGljIHZvaWQKLWRlZl9hcGlfZmVhdHVyZV9zZXRfb3V0cHV0KHN0cnVjdCBjbm9k
ZSAqY25vZGUsIHVuc2lnbmVkIGludCBpbmRlbnQpCi17Ci0gICAgc3RydWN0IHBhcmFtY25vZGUg
KnBhcmFtY25vZGUgPSAodm9pZCAqKWNub2RlOwotICAgIHByaW50ZigiJSpzPGRlZi1hcGktZmVh
dHVyZS1zZXQgaWRlbnRpZmllcj1cIiVzXCI+XG4iLCBpbmRlbnQsICIiLCBwYXJhbWNub2RlLT5u
YW1lKTsKLSAgICBwcmludGYoIiUqczxkZXNjcmlwdGl2ZT5cbiIsIGluZGVudCArIDIsICIiKTsK
LSAgICBvdXRwdXRjaGlsZHJlbihjbm9kZSwgaW5kZW50ICsgMiwgMCk7Ci0gICAgcHJpbnRmKCIl
KnM8L2Rlc2NyaXB0aXZlPlxuIiwgaW5kZW50ICsgMiwgIiIpOwotICAgIHByaW50ZigiJSpzPC9k
ZWYtYXBpLWZlYXR1cmUtc2V0PlxuIiwgaW5kZW50LCAiIik7Ci19Ci0KLS8qKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KgotICogY25vZGUgdHlwZSBkZWZfYXBpX2ZlYXR1cmVfc2V0Ci0gKi8KLXN0YXRpYyBjb25zdCBz
dHJ1Y3QgY25vZGVmdW5jcyBkZWZfYXBpX2ZlYXR1cmVfc2V0X2Z1bmNzID0gewotICAgIDAsIC8q
ICFpbmRlc2MgKi8KLSAgICAxLCAvKiBuZWVkcGFyYSAqLwotICAgICZkZWZfYXBpX2ZlYXR1cmVf
c2V0X2Fza2VuZCwKLSAgICAwLCAvKiBlbmQgKi8KLSAgICAmZGVmX2FwaV9mZWF0dXJlX3NldF9v
dXRwdXQsCi19OwotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIGRlZl9pbnN0YW50aWF0ZWRfYXNrZW5k
IDogYXNrIGlmIGRlZi1pbnN0YW50aWF0ZWQgY25vZGUgd2FudHMgdG8gZW5kIGF0IG5ldyBwYXJh
Ci0gKgotICogRW50ZXI6ICAgY25vZGUgZm9yIGRlZi1pbnN0YW50aWF0ZWQKLSAqICAgICAgICAg
IHR5cGUgPSBjbm9kZWZ1bmNzIGZvciBuZXcgcGFyYSAoMCBpZiBodG1sIGJsb2NrIGVsZW1lbnQp
Ci0gKgotICogUmV0dXJuOiAgbm9uLXplcm8gdG8gZW5kIHRoZSBkZWYtaW5zdGFudGlhdGVkCi0g
Ki8KLXN0YXRpYyBpbnQKLWRlZl9pbnN0YW50aWF0ZWRfYXNrZW5kKHN0cnVjdCBjbm9kZSAqY25v
ZGUsIGNvbnN0IHN0cnVjdCBjbm9kZWZ1bmNzICp0eXBlKQotewotICAgIC8qIEEgZGVmLWluc3Rh
bnRpYXRlZCBkb2VzIG5vdCBlbmQgYXQgYSBwbGFpbiBwYXJhLCBhbiBodG1sIGJsb2NrIGVsZW1l
bnQsCi0gICAgICogYSBicmllZiBwYXJhLCBvciBhbiBhcGktZmVhdHVyZS4gKi8KLSAgICBpZiAo
IXR5cGUgfHwgdHlwZSA9PSAmcGFyYV9mdW5jcyB8fCB0eXBlID09ICZhcGlfZmVhdHVyZV9mdW5j
cyB8fCB0eXBlID09ICZicmllZl9mdW5jcykKLSAgICAgICAgcmV0dXJuIDA7Ci0gICAgcmV0dXJu
IDE7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKgotICogZGVmX2luc3RhbnRpYXRlZF9vdXRwdXQgOiBv
dXRwdXQgZGVmLWluc3RhbnRpYXRlZCBjbm9kZQotICoKLSAqIEVudGVyOiAgIGNub2RlIGZvciBy
b290Ci0gKiAgICAgICAgICBpbmRlbnQgPSBpbmRlbnQgKG5lc3RpbmcpIGxldmVsCi0gKi8KLXN0
YXRpYyB2b2lkCi1kZWZfaW5zdGFudGlhdGVkX291dHB1dChzdHJ1Y3QgY25vZGUgKmNub2RlLCB1
bnNpZ25lZCBpbnQgaW5kZW50KQotewotICAgIHByaW50ZigiJSpzPGRlZi1pbnN0YW50aWF0ZWQ+
XG4iLCBpbmRlbnQsICIiKTsKLSAgICBwcmludGYoIiUqczxkZXNjcmlwdGl2ZT5cbiIsIGluZGVu
dCArIDIsICIiKTsKLSAgICBvdXRwdXRjaGlsZHJlbihjbm9kZSwgaW5kZW50ICsgMiwgMCk7Ci0g
ICAgcHJpbnRmKCIlKnM8L2Rlc2NyaXB0aXZlPlxuIiwgaW5kZW50ICsgMiwgIiIpOwotICAgIHBy
aW50ZigiJSpzPC9kZWYtaW5zdGFudGlhdGVkPlxuIiwgaW5kZW50LCAiIik7Ci19Ci0KLS8qKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKgotICogY25vZGUgdHlwZSBkZWZfaW5zdGFudGlhdGVkCi0gKi8KLXN0YXRpYyBj
b25zdCBzdHJ1Y3QgY25vZGVmdW5jcyBkZWZfaW5zdGFudGlhdGVkX2Z1bmNzID0gewotICAgIDAs
IC8qICFpbmRlc2MgKi8KLSAgICAxLCAvKiBuZWVkcGFyYSAqLwotICAgICZkZWZfaW5zdGFudGlh
dGVkX2Fza2VuZCwKLSAgICAwLCAvKiBlbmQgKi8KLSAgICAmZGVmX2luc3RhbnRpYXRlZF9vdXRw
dXQsCi19OwotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIGRlZl9kZXZpY2VfY2FwX2Fza2VuZCA6IGFz
ayBpZiBkZWYtZGV2aWNlLWNhcCBjbm9kZSB3YW50cyB0byBlbmQgYXQgbmV3IHBhcmEKLSAqCi0g
KiBFbnRlcjogICBjbm9kZSBmb3IgZGVmLWRldmljZS1jYXAKLSAqICAgICAgICAgIHR5cGUgPSBj
bm9kZWZ1bmNzIGZvciBuZXcgcGFyYSAoMCBpZiBodG1sIGJsb2NrIGVsZW1lbnQpCi0gKgotICog
UmV0dXJuOiAgbm9uLXplcm8gdG8gZW5kIHRoZSBkZWYtZGV2aWNlLWNhcAotICovCi1zdGF0aWMg
aW50Ci1kZWZfZGV2aWNlX2NhcF9hc2tlbmQoc3RydWN0IGNub2RlICpjbm9kZSwgY29uc3Qgc3Ry
dWN0IGNub2RlZnVuY3MgKnR5cGUpCi17Ci0gICAgLyogQSBkZWYtZGV2aWNlLWNhcCBkb2VzIG5v
dCBlbmQgYXQgYSBwbGFpbiBwYXJhLCBhbiBodG1sIGJsb2NrIGVsZW1lbnQsCi0gICAgICogYSBc
YnJpZWYgcGFyYSwgb3IgYSBwYXJhbS4gKi8KLSAgICBpZiAoIXR5cGUgfHwgdHlwZSA9PSAmcGFy
YV9mdW5jcyB8fCB0eXBlID09ICZwYXJhbV9mdW5jcyB8fCB0eXBlID09ICZicmllZl9mdW5jcykK
LSAgICAgICAgcmV0dXJuIDA7Ci0gICAgcmV0dXJuIDE7Ci19Ci0KLS8qKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgot
ICogZGVmX2RldmljZV9jYXBfb3V0cHV0IDogb3V0cHV0IGRlZl9kZXZpY2UtY2FwIGNub2RlCi0g
KgotICogRW50ZXI6ICAgY25vZGUgZm9yIHJvb3QKLSAqICAgICAgICAgIGluZGVudCA9IGluZGVu
dCAobmVzdGluZykgbGV2ZWwKLSAqLwotc3RhdGljIHZvaWQKLWRlZl9kZXZpY2VfY2FwX291dHB1
dChzdHJ1Y3QgY25vZGUgKmNub2RlLCB1bnNpZ25lZCBpbnQgaW5kZW50KQotewotICAgIHN0cnVj
dCBwYXJhbWNub2RlICpwYXJhbWNub2RlID0gKHZvaWQgKiljbm9kZTsKLSAgICBwcmludGYoIiUq
czxkZWYtZGV2aWNlLWNhcCBpZGVudGlmaWVyPVwiJXNcIj5cbiIsIGluZGVudCwgIiIsIHBhcmFt
Y25vZGUtPm5hbWUpOwotICAgIHByaW50ZigiJSpzPGRlc2NyaXB0aXZlPlxuIiwgaW5kZW50ICsg
MiwgIiIpOwotICAgIG91dHB1dGNoaWxkcmVuKGNub2RlLCBpbmRlbnQgKyAyLCAwKTsKLSAgICBw
cmludGYoIiUqczwvZGVzY3JpcHRpdmU+XG4iLCBpbmRlbnQgKyAyLCAiIik7Ci0gICAgcHJpbnRm
KCIlKnM8L2RlZi1kZXZpY2UtY2FwPlxuIiwgaW5kZW50LCAiIik7Ci19Ci0KLS8qKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKgotICogY25vZGUgdHlwZSBkZWZfZGV2aWNlX2NhcAotICovCi1zdGF0aWMgY29uc3Qgc3Ry
dWN0IGNub2RlZnVuY3MgZGVmX2RldmljZV9jYXBfZnVuY3MgPSB7Ci0gICAgMCwgLyogIWluZGVz
YyAqLwotICAgIDEsIC8qIG5lZWRwYXJhICovCi0gICAgJmRlZl9kZXZpY2VfY2FwX2Fza2VuZCwK
LSAgICAwLCAvKiBlbmQgKi8KLSAgICAmZGVmX2RldmljZV9jYXBfb3V0cHV0LAotfTsKLQotLyoq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqCi0gKiBhZGR0ZXh0IDogYWRkIHRleHQgdG8gY3VycmVudCB0ZXh0IG5vZGUs
IHN0YXJ0aW5nIG9uZSBpZiBuZWNlc3NhcnkKLSAqCi0gKiBFbnRlcjogICBjbm9kZSA9IGN1cnJl
bnQgY25vZGUKLSAqICAgICAgICAgIHRleHQKLSAqICAgICAgICAgIGxlbiA9IGxlbmd0aCBvZiB0
ZXh0Ci0gKgotICogUmV0dXJuOiAgbmV3IGN1cnJlbnQgY25vZGUKLSAqLwotc3RhdGljIHN0cnVj
dCBjbm9kZSAqCi1hZGR0ZXh0KHN0cnVjdCBjbm9kZSAqY25vZGUsIGNvbnN0IGNoYXIgKnRleHQs
IHVuc2lnbmVkIGludCBsZW4pCi17Ci0gICAgc3RydWN0IHRleHRjbm9kZSAqdGV4dGNub2RlOwot
ICAgIGlmICghbGVuKQotICAgICAgICByZXR1cm4gY25vZGU7Ci0gICAgaWYgKGNub2RlLT5mdW5j
cyAhPSAmdGV4dF9mdW5jcykgewotICAgICAgICAvKiBTdGFydCBuZXcgdGV4dCBjbm9kZS4gKi8K
LSAgICAgICAgdGV4dGNub2RlID0gbWVtYWxsb2Moc2l6ZW9mKHN0cnVjdCB0ZXh0Y25vZGUpKTsK
LSAgICAgICAgdGV4dGNub2RlLT5jbi5mdW5jcyA9ICZ0ZXh0X2Z1bmNzOwotICAgICAgICBjbm9k
ZSA9IHN0YXJ0Y25vZGUoY25vZGUsICZ0ZXh0Y25vZGUtPmNuKTsKLSAgICB9Ci0gICAgdGV4dGNu
b2RlID0gKHZvaWQgKiljbm9kZTsKLSAgICBkbyB7Ci0gICAgICAgIHVuc2lnbmVkIGNoYXIgYnVm
WzEgKyBzaXplb2Yodm9pZCAqKV07Ci0gICAgICAgIHVuc2lnbmVkIGludCB0aGlzbGVuID0gbGVu
OwotICAgICAgICBpZiAodGhpc2xlbiA+IDI1NSkKLSAgICAgICAgICAgIHRoaXNsZW4gPSAyNTU7
Ci0gICAgICAgIC8qIEVuY29kZSBhIHJlY29yZCBhcyBhIHNpbmdsZSBieXRlIGxlbmd0aCBmb2xs
b3dlZCBieSBhIHBvaW50ZXIuICovCi0gICAgICAgIGJ1ZlswXSA9IHRoaXNsZW47Ci0gICAgICAg
IG1lbWNweShidWYgKyAxLCAmdGV4dCwgc2l6ZW9mKHZvaWQgKikpOwotICAgICAgICAvKiBBZGQg
dG8gdGhlIHRleHQgY25vZGUncyBkYXRhLiAqLwotICAgICAgICBpZiAodGV4dGNub2RlLT5sZW4g
KyBzaXplb2YoYnVmKSA+PSB0ZXh0Y25vZGUtPm1heCkgewotICAgICAgICAgICAgLyogTmVlZCB0
byByZWFsbG9jYXRlIChvciBhbGxvY2F0ZSkgZGF0YSBidWZmZXIuICovCi0gICAgICAgICAgICB0
ZXh0Y25vZGUtPm1heCA9IHRleHRjbm9kZS0+bWF4ID8gMiAqIHRleHRjbm9kZS0+bWF4IDogMTAy
NDsKLSAgICAgICAgICAgIHRleHRjbm9kZS0+ZGF0YSA9IG1lbXJlYWxsb2ModGV4dGNub2RlLT5k
YXRhLCB0ZXh0Y25vZGUtPm1heCk7Ci0gICAgICAgIH0KLSAgICAgICAgbWVtY3B5KHRleHRjbm9k
ZS0+ZGF0YSArIHRleHRjbm9kZS0+bGVuLCBidWYsIHNpemVvZihidWYpKTsKLSAgICAgICAgdGV4
dGNub2RlLT5sZW4gKz0gc2l6ZW9mKGJ1Zik7Ci0gICAgICAgIHRleHQgKz0gdGhpc2xlbjsKLSAg
ICAgICAgbGVuIC09IHRoaXNsZW47Ci0gICAgfSB3aGlsZSAobGVuKTsKLSAgICByZXR1cm4gJnRl
eHRjbm9kZS0+Y247Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogaXN3aGl0ZXNwYWNlIDogZGV0
ZXJtaW5lIGlmIGNoYXJhY3RlciBpcyB3aGl0ZXNwYWNlCi0gKgotICogRW50ZXI6ICAgY2ggPSBj
aGFyYWN0ZXIKLSAqCi0gKiBSZXR1cm46ICAxIGlmIHdoaXRlc3BhY2UKLSAqLwotc3RhdGljIGlu
bGluZSBpbnQKLWlzd2hpdGVzcGFjZShpbnQgY2gpCi17Ci0gICAgdW5zaWduZWQgaW50IGkgPSBj
aCAtIDE7Ci0gICAgaWYgKGkgPj0gMzIpCi0gICAgICAgIHJldHVybiAwOwotICAgIHJldHVybiAw
eDgwMDAxMTAwID4+IGkgJiAxOwotfQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIHBhcnNld29yZCA6
IHBhcnNlIHRoZSBuZXh0IHdvcmQsIGlnbm9yaW5nIGxlYWRpbmcgd2hpdGVzcGFjZQotICoKLSAq
IEVudGVyOiAgICpwcCA9IHRleHQgcG9pbnRlcgotICoKLSAqIFJldHVybjogIDAgZWxzZSBzdGFy
dCBvZiB3b3JkICgqcHAgdXBkYXRlZCB0byBqdXN0IGJleW9uZCBlbmQpCi0gKi8KLXN0YXRpYyBj
b25zdCBjaGFyICoKLXBhcnNld29yZChjb25zdCBjaGFyICoqcHApCi17Ci0gICAgY29uc3QgY2hh
ciAqcCA9ICpwcCwgKndvcmQgPSAwOwotICAgIGludCBjaCA9ICpwOwotICAgIHdoaWxlIChpc3do
aXRlc3BhY2UoY2gpKQotICAgICAgICBjaCA9ICorK3A7Ci0gICAgd29yZCA9IHA7Ci0gICAgd2hp
bGUgKCh1bnNpZ25lZCkoKGNoICYgfjB4MjApIC0gJ0EnKSA8PSAnWicgLSAnQScKLSAgICAgICAg
ICAgIHx8ICh1bnNpZ25lZCkoY2ggLSAnMCcpIDwgMTAgfHwgY2ggPT0gJ18nIHx8IGNoID09ICcu
JwotICAgICAgICAgICAgfHwgY2ggPT0gJzonIHx8IGNoID09ICcvJyB8fCBjaCA9PSAnLScpCi0g
ICAgewotICAgICAgICBjaCA9ICorK3A7Ci0gICAgfQotICAgIGlmIChwID09IHdvcmQpCi0gICAg
ICAgIHJldHVybiAwOwotICAgICpwcCA9IHA7Ci0gICAgcmV0dXJuIHdvcmQ7Ci19Ci0KLS8qKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKgotICogRG94eWdlbiBjb21tYW5kIGhhbmRsZXJzCi0gKgotICogRW50ZXI6ICAg
cCA9IHRleHQganVzdCBhZnRlciBjb21tYW5kCi0gKiAgICAgICAgICAqcGNub2RlID0gcG9pbnRl
ciB0byBjdXJyZW50IGNub2RlIHN0cnVjdAotICogICAgICAgICAgdHlwZSA9IDAgZWxzZSBjbm9k
ZWZ1bmNzIHBvaW50ZXIgZm9yIHR5cGUgb2Ygbm9kZSB0byBzdGFydAotICogICAgICAgICAgZmls
ZW5hbWUsIGxpbmVudW0gPSBjdXJyZW50IGZpbGVuYW1lIGFuZCBsaW5lIG51bWJlciAoZm9yIGVy
cm9yIHJlcG9ydGluZykKLSAqCi0gKiBSZXR1cm46ICBwID0gdXBkYXRlZCBpZiBleHRyYSB0ZXh0
IHdhcyBlYXRlbgotICoKLSAqIE9uIHJldHVybiwgKnBub2RlIGlzIHVwZGF0ZWQgaWYgYW55IG5v
ZGUgd2FzIGNsb3NlZCBvciBvcGVuZWQuCi0gKi8KLQotLyoqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBEb3h5
Z2VuIGNvbW1hbmQgaGFuZGxlciA6IFxiCi0gKi8KLXN0YXRpYyBjb25zdCBjaGFyICoKLWRveF9i
KGNvbnN0IGNoYXIgKnAsIHN0cnVjdCBjbm9kZSAqKnBjbm9kZSwgY29uc3Qgc3RydWN0IGNub2Rl
ZnVuY3MgKnR5cGUsCi0gICAgICBjb25zdCBjaGFyICpmaWxlbmFtZSwgdW5zaWduZWQgaW50IGxp
bmVudW0sIGNvbnN0IGNoYXIgKmNtZG5hbWUpCi17Ci0gICAgc3RydWN0IGNub2RlICpjbm9kZSA9
ICpwY25vZGU7Ci0gICAgY29uc3QgY2hhciAqd29yZCA9IHBhcnNld29yZCgmcCk7Ci0gICAgLyog
U2lsZW50bHkgaWdub3JlIFxiIHdpdGggbm8gZm9sbG93aW5nIHdvcmQuICovCi0gICAgaWYgKHdv
cmQpIHsKLSAgICAgICAgc3RydWN0IGNub2RlICpteWNub2RlOwotICAgICAgICBteWNub2RlID0g
Y25vZGUgPSBzdGFydGh0bWxjbm9kZShjbm9kZSwgSFRNTEVMREVTQ19CLCAwLCAwLCBmaWxlbmFt
ZSwgbGluZW51bSk7Ci0gICAgICAgIGNub2RlID0gYWRkdGV4dChjbm9kZSwgd29yZCwgcCAtIHdv
cmQpOwotICAgICAgICB3aGlsZSAoY25vZGUgIT0gbXljbm9kZSkKLSAgICAgICAgICAgIGNub2Rl
ID0gZW5kY25vZGUoY25vZGUpOwotICAgICAgICBjbm9kZSA9IGVuZGNub2RlKGNub2RlKTsKLSAg
ICB9Ci0gICAgKnBjbm9kZSA9IGNub2RlOwotICAgIHJldHVybiBwOwotfQotCi0vKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioKLSAqIERveHlnZW4gY29tbWFuZCBoYW5kbGVyIDogXG4KLSAqLwotc3RhdGljIGNvbnN0
IGNoYXIgKgotZG94X24oY29uc3QgY2hhciAqcCwgc3RydWN0IGNub2RlICoqcGNub2RlLCBjb25z
dCBzdHJ1Y3QgY25vZGVmdW5jcyAqdHlwZSwKLSAgICAgIGNvbnN0IGNoYXIgKmZpbGVuYW1lLCB1
bnNpZ25lZCBpbnQgbGluZW51bSwgY29uc3QgY2hhciAqY21kbmFtZSkKLXsKLSAgICBzdHJ1Y3Qg
Y25vZGUgKmNub2RlID0gKnBjbm9kZTsKLSAgICBjbm9kZSA9IHN0YXJ0aHRtbGNub2RlKGNub2Rl
LCBIVE1MRUxERVNDX0JSLCAwLCAwLCBmaWxlbmFtZSwgbGluZW51bSk7Ci0gICAgY25vZGUgPSBl
bmRjbm9kZShjbm9kZSk7Ci0gICAgKnBjbm9kZSA9IGNub2RlOwotICAgIHJldHVybiBwOwotfQot
Ci0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioKLSAqIERveHlnZW4gY29tbWFuZCBoYW5kbGVyIDogXGNvZGUKLSAq
Lwotc3RhdGljIGNvbnN0IGNoYXIgKgotZG94X2NvZGUoY29uc3QgY2hhciAqcCwgc3RydWN0IGNu
b2RlICoqcGNub2RlLCBjb25zdCBzdHJ1Y3QgY25vZGVmdW5jcyAqdHlwZSwKLSAgICAgICAgIGNv
bnN0IGNoYXIgKmZpbGVuYW1lLCB1bnNpZ25lZCBpbnQgbGluZW51bSwgY29uc3QgY2hhciAqY21k
bmFtZSkKLXsKLSAgICAqcGNub2RlID0gc3RhcnRwYXJhKCpwY25vZGUsICZjb2RlX2Z1bmNzKTsK
LSAgICAoKnBjbm9kZSktPmZpbGVuYW1lID0gZmlsZW5hbWU7Ci0gICAgKCpwY25vZGUpLT5saW5l
bnVtID0gbGluZW51bTsgLyogZm9yIHJlcG9ydGluZyBtaXNtYXRjaGVkIFxjb2RlIGVycm9yICov
Ci0gICAgaW5jb2RlID0gMTsKLSAgICByZXR1cm4gcDsKLX0KLQotLyoqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0g
KiBEb3h5Z2VuIGNvbW1hbmQgaGFuZGxlciA6IFxlbmRjb2RlCi0gKi8KLXN0YXRpYyBjb25zdCBj
aGFyICoKLWRveF9lbmRjb2RlKGNvbnN0IGNoYXIgKnAsIHN0cnVjdCBjbm9kZSAqKnBjbm9kZSwg
Y29uc3Qgc3RydWN0IGNub2RlZnVuY3MgKnR5cGUsCi0gICAgICAgICAgICBjb25zdCBjaGFyICpm
aWxlbmFtZSwgdW5zaWduZWQgaW50IGxpbmVudW0sIGNvbnN0IGNoYXIgKmNtZG5hbWUpCi17Ci0g
ICAgaW5jb2RlID0gMDsKLSAgICAqcGNub2RlID0gZW5kc3BlY2lmaWNjbm9kZSgqcGNub2RlLCAm
Y29kZV9mdW5jcywgZmlsZW5hbWUsIGxpbmVudW0pOwotICAgIHJldHVybiBwOwotfQotCi0vKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioKLSAqIERveHlnZW4gY29tbWFuZCBoYW5kbGVyIDogXHBhcmFtCi0gKi8KLXN0
YXRpYyBjb25zdCBjaGFyICoKLWRveF9wYXJhbShjb25zdCBjaGFyICpwLCBzdHJ1Y3QgY25vZGUg
KipwY25vZGUsIGNvbnN0IHN0cnVjdCBjbm9kZWZ1bmNzICp0eXBlLAotICAgICAgICAgIGNvbnN0
IGNoYXIgKmZpbGVuYW1lLCB1bnNpZ25lZCBpbnQgbGluZW51bSwgY29uc3QgY2hhciAqY21kbmFt
ZSkKLXsKLSAgICBzdHJ1Y3QgY25vZGUgKmNub2RlID0gKnBjbm9kZTsKLSAgICB1bnNpZ25lZCBp
bnQgaW5vdXQgPSAwOwotICAgIGNvbnN0IGNoYXIgKndvcmQ7Ci0gICAgLyogQ2hlY2sgZm9yICJp
biIsICJvdXQiIG9yIGJvdGggYXMgYXR0cmlidXRlcy4gKi8KLSAgICBpZiAoKnAgPT0gJ1snKSB7
Ci0gICAgICAgIGZvciAoOzspIHsKLSAgICAgICAgICAgIHArKzsKLSAgICAgICAgICAgIGlmICgh
bWVtY21wKHAsICJpbiIsIDIpKSB7Ci0gICAgICAgICAgICAgICAgaW5vdXQgfD0gMTsKLSAgICAg
ICAgICAgICAgICBwICs9IDI7Ci0gICAgICAgICAgICB9IGVsc2UgaWYgKCFtZW1jbXAocCwgIm91
dCIsIDMpKSB7Ci0gICAgICAgICAgICAgICAgaW5vdXQgfD0gMjsKLSAgICAgICAgICAgICAgICBw
ICs9IDM7Ci0gICAgICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAg
ICAgICAgIGlmICgqcCAhPSAnLCcpCi0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0K
LSAgICAgICAgaWYgKCpwICE9ICddJykKLSAgICAgICAgICAgIGxvY2Vycm9yZXhpdChmaWxlbmFt
ZSwgbGluZW51bSwgImJhZCBhdHRyaWJ1dGVzIG9uIFxccGFyYW0iKTsKLSAgICAgICAgcCsrOwot
ICAgIH0KLSAgICAvKiBHZXQgdGhlIG5leHQgd29yZCBhcyB0aGUgcGFyYW1ldGVyIG5hbWUuICov
Ci0gICAgd29yZCA9IHBhcnNld29yZCgmcCk7Ci0gICAgaWYgKCF3b3JkKQotICAgICAgICBsb2Nl
cnJvcmV4aXQoZmlsZW5hbWUsIGxpbmVudW0sICJleHBlY3RlZCB3b3JkIGFmdGVyIFxccGFyYW0i
KTsKLSAgICAvKiBDbG9zZSBhbnkgb3BlbiBub2Rlcy4gKi8KLSAgICB3aGlsZSAoKCpjbm9kZS0+
ZnVuY3MtPmFza2VuZCkoY25vZGUsIHR5cGUpKQotICAgICAgICBjbm9kZSA9IGVuZGNub2RlKGNu
b2RlKTsKLSAgICAvKiBDcmVhdGUgYSBuZXcgcGFyYW0gY25vZGUuICovCi0gICAgY25vZGUgPSBz
dGFydHBhcmFtY25vZGUoY25vZGUsIHdvcmQsIHAgLSB3b3JkLCBpbm91dCwgdHlwZSk7Ci0gICAg
Y25vZGUtPmZpbGVuYW1lID0gZmlsZW5hbWU7Ci0gICAgY25vZGUtPmxpbmVudW0gPSBsaW5lbnVt
OwotICAgICpwY25vZGUgPSBjbm9kZTsKLSAgICByZXR1cm4gcDsKLX0KLQotLyoqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqCi0gKiBEb3h5Z2VuIGNvbW1hbmQgaGFuZGxlciA6IFxicmllZiwgXHJldHVybgotICovCi1z
dGF0aWMgY29uc3QgY2hhciAqCi1kb3hfcGFyYShjb25zdCBjaGFyICpwLCBzdHJ1Y3QgY25vZGUg
KipwY25vZGUsIGNvbnN0IHN0cnVjdCBjbm9kZWZ1bmNzICp0eXBlLAotICAgICAgICAgY29uc3Qg
Y2hhciAqZmlsZW5hbWUsIHVuc2lnbmVkIGludCBsaW5lbnVtLCBjb25zdCBjaGFyICpjbWRuYW1l
KQotewotICAgICpwY25vZGUgPSBzdGFydHBhcmEoKnBjbm9kZSwgdHlwZSk7Ci0gICAgcmV0dXJu
IHA7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKgotICogRG94eWdlbiBjb21tYW5kIGhhbmRsZXIgOiBc
dGhyb3cKLSAqLwotc3RhdGljIGNvbnN0IGNoYXIgKgotZG94X3Rocm93KGNvbnN0IGNoYXIgKnAs
IHN0cnVjdCBjbm9kZSAqKnBjbm9kZSwgY29uc3Qgc3RydWN0IGNub2RlZnVuY3MgKnR5cGUsCi0g
ICAgICAgICAgY29uc3QgY2hhciAqZmlsZW5hbWUsIHVuc2lnbmVkIGludCBsaW5lbnVtLCBjb25z
dCBjaGFyICpjbWRuYW1lKQotewotICAgIHN0cnVjdCBjbm9kZSAqY25vZGUgPSAqcGNub2RlOwot
ICAgIGNvbnN0IGNoYXIgKndvcmQ7Ci0gICAgLyogR2V0IHRoZSBuZXh0IHdvcmQgYXMgdGhlIGV4
Y2VwdGlvbiBuYW1lLiAqLwotICAgIHdvcmQgPSBwYXJzZXdvcmQoJnApOwotICAgIGlmICghd29y
ZCkKLSAgICAgICAgbG9jZXJyb3JleGl0KGZpbGVuYW1lLCBsaW5lbnVtLCAiZXhwZWN0ZWQgd29y
ZCBhZnRlciBcXHRocm93Iik7Ci0gICAgLyogQ2xvc2UgYW55IG9wZW4gbm9kZXMuICovCi0gICAg
d2hpbGUgKCgqY25vZGUtPmZ1bmNzLT5hc2tlbmQpKGNub2RlLCB0eXBlKSkKLSAgICAgICAgY25v
ZGUgPSBlbmRjbm9kZShjbm9kZSk7Ci0gICAgLyogQ3JlYXRlIGEgbmV3IHRocm93IGNub2RlLiAq
LwotICAgIGNub2RlID0gc3RhcnRwYXJhbWNub2RlKGNub2RlLCB3b3JkLCBwIC0gd29yZCwgMCwg
dHlwZSk7Ci0gICAgY25vZGUtPmZpbGVuYW1lID0gZmlsZW5hbWU7Ci0gICAgY25vZGUtPmxpbmVu
dW0gPSBsaW5lbnVtOwotICAgICpwY25vZGUgPSBjbm9kZTsKLSAgICByZXR1cm4gcDsKLX0KLQot
LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqCi0gKiBEb3h5Z2VuIGNvbW1hbmQgaGFuZGxlciA6IFxsYW5nCi0gKi8K
LXN0YXRpYyBjb25zdCBjaGFyICoKLWRveF9hdHRyKGNvbnN0IGNoYXIgKnAsIHN0cnVjdCBjbm9k
ZSAqKnBjbm9kZSwgY29uc3Qgc3RydWN0IGNub2RlZnVuY3MgKnR5cGUsCi0gICAgICAgICAgY29u
c3QgY2hhciAqZmlsZW5hbWUsIHVuc2lnbmVkIGludCBsaW5lbnVtLCBjb25zdCBjaGFyICpjbWRu
YW1lKQotewotICBzdHJ1Y3QgY25vZGUgKmNub2RlID0gKnBjbm9kZTsKLSAgICBjb25zdCBjaGFy
ICp3b3JkOwotICAgIGludCBsZW4sIHdvcmRsZW4sIG9mZnNldCA9IDA7Ci0JY2hhciAqYXR0cnRl
eHQ7Ci0gICAgLyogR2V0IHRoZSBuZXh0IHdvcmQgYXMgdGhlIGF0dHJpYnV0ZSB2YWx1ZS4gKi8K
LSAgICB3b3JkID0gcGFyc2V3b3JkKCZwKTsKLSAgICBpZiAoIXdvcmQpCi0gICAgICAgIGxvY2Vy
cm9yZXhpdChmaWxlbmFtZSwgbGluZW51bSwgImV4cGVjdGVkIHdvcmQgYWZ0ZXIgXFwlcyIsIGNt
ZG5hbWUpOwotCi0JbGVuID0gc3RybGVuKGNtZG5hbWUpICsgKHdvcmRsZW4gPSBwLXdvcmQpICsg
NDsgLyogcD0id29yZCJcMCAqLwotCWlmKGNub2RlLT5hdHRydGV4dCkKLQkgIGxlbiArPSAob2Zm
c2V0ID0gc3RybGVuKGNub2RlLT5hdHRydGV4dCkpICsgMTsgLyogYWRkIHNwYWNlIGZvciBzcGFj
ZSAqLwotCWF0dHJ0ZXh0ID0gbWVtYWxsb2MobGVuKTsKLQlpZihvZmZzZXQpIHsKLQkJbWVtY3B5
KGF0dHJ0ZXh0LCBjbm9kZS0+YXR0cnRleHQsIG9mZnNldCk7Ci0JCWF0dHJ0ZXh0W29mZnNldCsr
XSA9ICcgJzsKLQkJbWVtZnJlZSgoKHZvaWQqKWNub2RlLT5hdHRydGV4dCkpOwotCX0KLQlvZmZz
ZXQgKz0gc3ByaW50ZigmYXR0cnRleHRbb2Zmc2V0XSwgIiVzPVwiIiwgY21kbmFtZSk7Ci0JbWVt
Y3B5KCZhdHRydGV4dFtvZmZzZXRdLCB3b3JkLCB3b3JkbGVuKTsKLQlzdHJjcHkoJmF0dHJ0ZXh0
W29mZnNldCArIHdvcmRsZW5dLCAiXCIiKTsKLQljbm9kZS0+YXR0cnRleHQgPSBhdHRydGV4dDsK
LQkvKiBza2lwIGRlbGltaXRlciBiZWNhdXNlIGl0IHdvbid0IGJlIGRvbmUgb3RoZXJ3aXNlICov
Ci0JaWYoaW5jb2RlICYmIGlzd2hpdGVzcGFjZSgqcCkpICsrcDsKLSAgICByZXR1cm4gcDsKLX0K
LQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqCi0gKiBjb21tYW5kcyA6IHRhYmxlIG9mIERveHlnZW4gY29tbWFu
ZHMKLSAqLwotc3RydWN0IGNvbW1hbmQgewotICAgIGNvbnN0IGNoYXIgKigqZnVuYykoY29uc3Qg
Y2hhciAqcCwgc3RydWN0IGNub2RlICoqcGNub2RlLCBjb25zdCBzdHJ1Y3QgY25vZGVmdW5jcyAq
dHlwZSwgY29uc3QgY2hhciAqZmlsZW5hbWUsIHVuc2lnbmVkIGludCBsaW5lbnVtLCBjb25zdCBj
aGFyICpjbWRuYW1lKTsKLSAgICBjb25zdCBzdHJ1Y3QgY25vZGVmdW5jcyAqdHlwZTsKLSAgICB1
bnNpZ25lZCBpbnQgbmFtZWxlbjsKLSAgICBjb25zdCBjaGFyICpuYW1lOwotfTsKLXN0YXRpYyBj
b25zdCBzdHJ1Y3QgY29tbWFuZCBjb21tYW5kc1tdID0gewotICAgIHsgJmRveF90aHJvdywgJmRl
Zl9hcGlfZmVhdHVyZV9mdW5jcywgMTUsICJkZWYtYXBpLWZlYXR1cmUiIH0sCi0gICAgeyAmZG94
X3Rocm93LCAmZGVmX2FwaV9mZWF0dXJlX3NldF9mdW5jcywgMTksICJkZWYtYXBpLWZlYXR1cmUt
c2V0IiB9LAotICAgIHsgJmRveF9wYXJhLCAmZGVmX2luc3RhbnRpYXRlZF9mdW5jcywgMTYsICJk
ZWYtaW5zdGFudGlhdGVkIiB9LAotICAgIHsgJmRveF9wYXJhLCAmbmFtZV9mdW5jcywgNCwgIm5h
bWUiIH0sCi0gICAgeyAmZG94X3BhcmEsICZhdXRob3JfZnVuY3MsIDYsICJhdXRob3IiIH0sCi0g
ICAgeyAmZG94X2IsIDAsIDEsICJiIiB9LAotICAgIHsgJmRveF9wYXJhLCAmYnJpZWZfZnVuY3Ms
IDUsICJicmllZiIgfSwKLSAgICB7ICZkb3hfY29kZSwgMCwgNCwgImNvZGUiIH0sCi0gICAgeyAm
ZG94X3Rocm93LCAmZGVmX2RldmljZV9jYXBfZnVuY3MsIDE0LCAiZGVmLWRldmljZS1jYXAiIH0s
Ci0gICAgeyAmZG94X2F0dHIsIDAsIDQsICJsYW5nIiB9LAotICAgIHsgJmRveF9lbmRjb2RlLCAw
LCA3LCAiZW5kY29kZSIgfSwKLSAgICB7ICZkb3hfbiwgMCwgMSwgIm4iIH0sCi0gICAgeyAmZG94
X3BhcmFtLCAmcGFyYW1fZnVuY3MsIDUsICJwYXJhbSIgfSwKLSAgICB7ICZkb3hfcGFyYSwgJnJl
dHVybl9mdW5jcywgNiwgInJldHVybiIgfSwKLSAgICB7ICZkb3hfdGhyb3csICZ0aHJvd19mdW5j
cywgNSwgInRocm93IiB9LAotICAgIHsgJmRveF90aHJvdywgJmFwaV9mZWF0dXJlX2Z1bmNzLCAx
MSwgImFwaS1mZWF0dXJlIiB9LAotICAgIHsgJmRveF90aHJvdywgJmRldmljZV9jYXBfZnVuY3Ms
IDEwLCAiZGV2aWNlLWNhcCIgfSwKLSAgICB7ICZkb3hfcGFyYSwgJnZlcnNpb25fZnVuY3MsIDcs
ICJ2ZXJzaW9uIiB9LAotICAgIHsgMCwgMCwgMCB9Ci19OwotCi0vKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAq
IHBhcnNlaHRtbHRhZyA6IHBhcnNlIGh0bWwgdGFnCi0gKgotICogRW50ZXI6ICAgc3RhcnQgPSBz
dGFydCBvZiB0YWcsIHRoZSAnPCcgY2hhcgotICogICAgICAgICAgKnBjbm9kZSA9IGN1cnJlbnQg
Y25vZGUKLSAqICAgICAgICAgIGZpbGVuYW1lID0gZmlsZW5hbWUKLSAqICAgICAgICAgICpwbGlu
ZW51bSA9IGN1cnJlbnQgbGluZSBudW1iZXIKLSAqCi0gKiBSZXR1cm46ICBqdXN0IGFmdGVyIHRo
ZSB0YWcKLSAqICAgICAgICAgICpwY25vZGUgYW5kICpwbGluZW51bSB1cGRhdGVkIGlmIGFwcGxp
Y2FibGUKLSAqLwotc3RhdGljIGNvbnN0IGNoYXIgKgotcGFyc2VodG1sdGFnKGNvbnN0IGNoYXIg
KnN0YXJ0LCBzdHJ1Y3QgY25vZGUgKipwY25vZGUsCi0gICAgICAgICAgICAgY29uc3QgY2hhciAq
ZmlsZW5hbWUsIHVuc2lnbmVkIGludCAqcGxpbmVudW0pCi17Ci0gICAgc3RydWN0IGNub2RlICpj
bm9kZSA9ICpwY25vZGU7Ci0gICAgY29uc3QgY2hhciAqZW5kID0gc3RhcnQgKyAxLCAqZW5kbmFt
ZSA9IDAsICpuYW1lID0gZW5kOwotICAgIGludCBjaCA9ICplbmQ7Ci0gICAgaW50IHF1b3RlID0g
MDsKLSAgICBpbnQgY2xvc2UgPSAwOwotICAgIHVuc2lnbmVkIGludCBsaW5lbnVtID0gKnBsaW5l
bnVtOwotICAgIGNvbnN0IHN0cnVjdCBodG1sZWxkZXNjICpodG1sZWxkZXNjOwotICAgIGlmIChj
aCA9PSAnLycpIHsKLSAgICAgICAgY2xvc2UgPSAxOwotICAgICAgICBjaCA9ICorK2VuZDsKLSAg
ICAgICAgbmFtZSA9IGVuZDsKLSAgICB9Ci0gICAgLyogRmluZCB0aGUgZW5kIG9mIHRoZSB0YWcu
ICovCi0gICAgZm9yICg7OykgewotICAgICAgICBpZiAoIWNoKQotICAgICAgICAgICAgbG9jZXJy
b3JleGl0KGZpbGVuYW1lLCAqcGxpbmVudW0sICJ1bnRlcm1pbmF0ZWQgSFRNTCB0YWciKTsKLSAg
ICAgICAgaWYgKGNoID09ICdcbicpCi0gICAgICAgICAgICBsaW5lbnVtKys7Ci0gICAgICAgIGVs
c2UgaWYgKGlzd2hpdGVzcGFjZShjaCkgfHwgY2ggPT0gJy8nKSB7Ci0gICAgICAgICAgICBpZiAo
IWVuZG5hbWUpCi0gICAgICAgICAgICAgICAgZW5kbmFtZSA9IGVuZDsKLSAgICAgICAgfSBlbHNl
IGlmICghcXVvdGUpIHsKLSAgICAgICAgICAgIGlmIChjaCA9PSAnIicgfHwgY2ggPT0gJ1wnJykK
LSAgICAgICAgICAgICAgICBxdW90ZSA9IGNoOwotICAgICAgICAgICAgZWxzZSBpZiAoY2ggPT0g
Jz4nKQotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9IGVsc2UgewotICAgICAgICAg
ICAgaWYgKGNoID09IHF1b3RlKQotICAgICAgICAgICAgICAgIHF1b3RlID0gMDsKLSAgICAgICAg
fQotICAgICAgICBjaCA9ICorK2VuZDsKLSAgICB9Ci0gICAgaWYgKCFlbmRuYW1lKQotICAgICAg
ICBlbmRuYW1lID0gZW5kOwotICAgIGVuZCsrOwotICAgIC8qIFNlZSBpZiBpdCdzIGFuIHhtbCBv
cGVuLWNsb3NlIHRhZy4gKi8KLSAgICBpZiAoIWNsb3NlICYmIGVuZG5hbWUgIT0gbmFtZSAmJiBl
bmRbLTJdID09ICcvJykKLSAgICAgICAgY2xvc2UgPSAyOwotICAgIC8qIEZpbmQgdGhlIHRhZyBm
cm9tIG91ciBsaXN0LiAqLwotICAgIGh0bWxlbGRlc2MgPSBodG1sZWxkZXNjczsKLSAgICBmb3Ig
KDs7KSB7Ci0gICAgICAgIGlmICghaHRtbGVsZGVzYy0+bmFtZWxlbikgewotICAgICAgICAgICAg
bG9jZXJyb3JleGl0KGZpbGVuYW1lLCAqcGxpbmVudW0sICJ1bnJlY29nbml6ZWQgSFRNTCB0YWcg
JS4qcyIsCi0gICAgICAgICAgICAgICAgICAgIGVuZCAtIHN0YXJ0LCBzdGFydCk7Ci0gICAgICAg
IH0KLSAgICAgICAgaWYgKGh0bWxlbGRlc2MtPm5hbWVsZW4gPT0gZW5kbmFtZSAtIG5hbWUKLSAg
ICAgICAgICAgICAgICAmJiAhc3RybmNhc2VjbXAoaHRtbGVsZGVzYy0+bmFtZSwgbmFtZSwgZW5k
bmFtZSAtIG5hbWUpKQotICAgICAgICB7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgfQot
ICAgICAgICBodG1sZWxkZXNjKys7Ci0gICAgfQotICAgIGlmIChjbG9zZSA9PSAxKSB7Ci0gICAg
ICAgIC8qIENsb3NpbmcgdGFnLiBGaW5kIG9wZW4gZWxlbWVudCB0byBjbG9zZS4gKi8KLSAgICAg
ICAgZm9yICg7OykgewotICAgICAgICAgICAgc3RydWN0IGh0bWxjbm9kZSAqaHRtbGNub2RlOwot
ICAgICAgICAgICAgaWYgKGNub2RlLT5mdW5jcyAhPSAmdGV4dF9mdW5jcykgewotICAgICAgICAg
ICAgICAgIGlmIChjbm9kZS0+ZnVuY3MgIT0gJmh0bWxfZnVuY3MpIHsKLSAgICAgICAgICAgICAg
ICAgICAgbG9jZXJyb3JleGl0KGZpbGVuYW1lLCAqcGxpbmVudW0sICJtaXNtYXRjaGVkICUuKnMi
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuZCAtIHN0YXJ0LCBzdGFydCk7Ci0gICAg
ICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGh0bWxjbm9kZSA9IChzdHJ1Y3QgaHRtbGNu
b2RlICopY25vZGU7Ci0gICAgICAgICAgICAgICAgaWYgKGh0bWxjbm9kZS0+ZGVzYyA9PSBodG1s
ZWxkZXNjKQotICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgICAgICBpZiAo
IShodG1sY25vZGUtPmRlc2MtPmZsYWdzICYgSFRNTEVMX0FVVE9DTE9TRSkpIHsKLSAgICAgICAg
ICAgICAgICAgICAgbG9jZXJyb3JleGl0KGZpbGVuYW1lLCBodG1sY25vZGUtPmNuLmxpbmVudW0s
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1pc21hdGNoZWQgPCUuKnM+IiwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBodG1sY25vZGUtPmRlc2MtPm5hbWVsZW4sIGh0bWxjbm9k
ZS0+ZGVzYy0+bmFtZSk7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgfQotICAgICAg
ICAgICAgY25vZGUgPSBlbmRjbm9kZShjbm9kZSk7Ci0gICAgICAgIH0KLSAgICAgICAgY25vZGUg
PSBlbmRjbm9kZShjbm9kZSk7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgLyogT3BlbmluZyB0YWcu
ICovCi0gICAgICBpZiAoY2xvc2UgIT0yKQotCSAgIGNub2RlID0gc3RhcnRodG1sY25vZGUoY25v
ZGUsIGh0bWxlbGRlc2MsIGVuZG5hbWUsIGVuZCAtIDEgLSBlbmRuYW1lLCBmaWxlbmFtZSwgKnBs
aW5lbnVtKTsKLSAgICAgIGVsc2UgLy8gZG9uJ3QgaW5jbHVkZSB0aGUgY2xvc2luZyAiLyIgaW4g
dGhlIGF0dHJpYnV0ZXMgbGlzdAotCSAgIGNub2RlID0gc3RhcnRodG1sY25vZGUoY25vZGUsIGh0
bWxlbGRlc2MsIGVuZG5hbWUsIGVuZCAtIDIgLSBlbmRuYW1lLCBmaWxlbmFtZSwgKnBsaW5lbnVt
KTsKLSAgICAgIGlmIChjbG9zZSA9PSAyIHx8IChodG1sZWxkZXNjLT5jb250ZW50ICYgSFRNTEVM
X0VNUFRZKSkgewotCS8qIEVtcHR5IGVsZW1lbnQgLS0gY2xvc2UgaXQgYWdhaW4uICovCi0JY25v
ZGUgPSBlbmRjbm9kZShjbm9kZSk7Ci0gICAgICB9Ci0gICAgfQotICAgICpwY25vZGUgPSBjbm9k
ZTsKLSAgICAqcGxpbmVudW0gPSBsaW5lbnVtOwotICAgIHJldHVybiBlbmQ7Ci19Ci0KLS8qKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKgotICogcGFyc2Vjb21tZW50IDogcGFyc2Ugb25lIGNvbW1lbnQKLSAqCi0gKiBF
bnRlcjogICBjb21tZW50IHN0cnVjdAotICovCi1zdGF0aWMgdm9pZAotcGFyc2Vjb21tZW50KHN0
cnVjdCBjb21tZW50ICpjb21tZW50KQotewotICAgIHN0cnVjdCBjbm9kZSAqY25vZGUgPSAmY29t
bWVudC0+cm9vdDsKLSAgICBjb25zdCBjaGFyICpwID0gY29tbWVudC0+dGV4dCArIGNvbW1lbnQt
PmJhY2s7Ci0gICAgdW5zaWduZWQgaW50IGxpbmVudW0gPSBjb21tZW50LT5saW5lbnVtIC0gMTsK
LSAgICBpbnQgY2g7Ci0gICAgY3VyY29tbWVudCA9IGNvbW1lbnQ7Ci0gICAgaW5jb2RlID0gMDsK
LSAgICBpbmh0bWxibG9jayA9IDA7Ci0gICAgY25vZGUtPmZ1bmNzID0gJnJvb3RfZnVuY3M7Ci0g
ICAgZm9yICg7OykgewotICAgICAgICAvKiBTdGFydCBvZiBuZXcgbGluZS4gKi8KLSAgICAgICAg
Y29uc3QgY2hhciAqc3RhcnR0ZXh0OwotICAgICAgICBjaCA9ICpwOwotICAgICAgICBsaW5lbnVt
Kys7Ci0gICAgICAgIHsKLSAgICAgICAgICAgIC8qIEZpbmQgZmlyc3Qgbm9uLXdoaXRlc3BhY2Ug
Y2hhcmFjdGVyLiAqLwotICAgICAgICAgICAgY29uc3QgY2hhciAqcDIgPSBwOwotICAgICAgICAg
ICAgaW50IGNoMiA9IGNoOwotICAgICAgICAgICAgd2hpbGUgKGlzd2hpdGVzcGFjZShjaDIpKQot
ICAgICAgICAgICAgICAgIGNoMiA9ICorK3AyOwotICAgICAgICAgICAgaWYgKGNvbW1lbnQtPnR5
cGUgPT0gVE9LX0JMT0NLQ09NTUVOVCAmJiBjaDIgPT0gJyonKSB7Ci0gICAgICAgICAgICAgICAg
LyogSWdub3JlIGluaXRpYWwgKiBpbiBibG9jayBjb21tZW50IChldmVuIGluIFxjb2RlIGJsb2Nr
KS4gKi8KLSAgICAgICAgICAgICAgICBjaDIgPSAqKytwMjsKLSAgICAgICAgICAgICAgICBjaCA9
IGNoMjsKLSAgICAgICAgICAgICAgICBwID0gcDI7Ci0gICAgICAgICAgICAgICAgaWYgKGNoID09
ICcqJykKLSAgICAgICAgICAgICAgICAgICAgZ290byBjaGVja2ZvcmxpbmVvZnN0YXJzOwotICAg
ICAgICAgICAgICAgIHdoaWxlIChpc3doaXRlc3BhY2UoY2gyKSkKLSAgICAgICAgICAgICAgICAg
ICAgY2gyID0gKisrcDI7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBpZiAoY29tbWVudC0+
dHlwZSA9PSBUT0tfSU5MSU5FQ09NTUVOVCAmJiBjaDIgPT0gJy8nKSB7Ci1jaGVja2ZvcmxpbmVv
ZnN0YXJzOgotICAgICAgICAgICAgICAgIGlmICghaW5jb2RlKSB7Ci0gICAgICAgICAgICAgICAg
ICAgIC8qIElnbm9yZSB3aG9sZSBsaW5lIG9mICogZm9yIGJsb2NrIGNvbW1lbnQgb3IgLyBmb3Ig
aW5saW5lCi0gICAgICAgICAgICAgICAgICAgICAqIGNvbW1lbnQgaWYgdGhhdCBpcyB0aGUgb25s
eSB0aGluZyBvbiB0aGUgbGluZS4gKi8KLSAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAq
cDMgPSBwMjsKLSAgICAgICAgICAgICAgICAgICAgaW50IGNoMzsKLSAgICAgICAgICAgICAgICAg
ICAgZG8gY2gzID0gKisrcDM7IHdoaWxlIChjaDMgPT0gY2gyKTsKLSAgICAgICAgICAgICAgICAg
ICAgd2hpbGUgKGlzd2hpdGVzcGFjZShjaDMpKSBjaDMgPSAqKytwMzsKLSAgICAgICAgICAgICAg
ICAgICAgaWYgKCFjaDMgfHwgY2gzID09ICdcbicpIHsKLSAgICAgICAgICAgICAgICAgICAgICAg
IC8qIFJlYWNoZWQgZW5kIG9mIGxpbmUgKG9yIHdob2xlIGNvbW1lbnQpIC0tIHRyZWF0IGFzCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgKiBlbXB0eSBsaW5lLiAqLwotICAgICAgICAgICAgICAg
ICAgICAgICAgY2gyID0gY2gzOwotICAgICAgICAgICAgICAgICAgICAgICAgcDIgPSBwMzsKLSAg
ICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0KLSAg
ICAgICAgICAgIGlmICghaW5jb2RlKSB7Ci0gICAgICAgICAgICAgICAgLyogT25seSBhbGxvdyB3
aGl0ZXNwYWNlIG9taXNzaW9uIGFib3ZlIHRvIHRha2UgZWZmZWN0IGlmCi0gICAgICAgICAgICAg
ICAgICogbm90IGluIFxjb2RlIGJsb2NrLiAqLwotICAgICAgICAgICAgICAgIGNoID0gY2gyOwot
ICAgICAgICAgICAgICAgIHAgPSBwMjsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQotICAgICAg
ICBpZiAoIWNoKSB7Ci0gICAgICAgICAgICAvKiBFbmQgb2YgY29tbWVudHMgLS0gZmluaXNoLiAq
LwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLSAgICAgICAgaWYgKCFpbmNvZGUgJiYg
IWluaHRtbGJsb2NrICYmIGNoID09ICdcbicpIHsKLSAgICAgICAgICAgIC8qIEJsYW5rIGxpbmUg
LS0gZmluaXNoIGFueSBwYXJhLCBidXQgb25seSBpZiBub3QgaW4gY29kZSBhbmQKLSAgICAgICAg
ICAgICAqIG5vdCBpbiBhbnkgSFRNTCBibG9jayBlbGVtZW50LiAqLwotICAgICAgICAgICAgd2hp
bGUgKCgqY25vZGUtPmZ1bmNzLT5hc2tlbmQpKGNub2RlLCAwKSkKLSAgICAgICAgICAgICAgICBj
bm9kZSA9IGVuZGNub2RlKGNub2RlKTsKLSAgICAgICAgICAgIHArKzsKLSAgICAgICAgICAgIGNv
bnRpbnVlOwotICAgICAgICB9Ci0gICAgICAgIC8qIFN0YXJ0IG5ldyBwYXJhIGlmIHRoZXJlIGlz
bid0IGFscmVhZHkgb25lIGdvaW5nLiAqLwotICAgICAgICBpZiAoY25vZGUtPmZ1bmNzLT5uZWVk
cGFyYSkKLSAgICAgICAgICAgIGNub2RlID0gc3RhcnRwYXJhKGNub2RlLCAmcGFyYV9mdW5jcyk7
Ci0gICAgICAgIC8qIFByb2Nlc3MgdGV4dCBvbiB0aGUgbGluZS4gKi8KLSAgICAgICAgc3RhcnR0
ZXh0ID0gcDsKLSAgICAgICAgd2hpbGUgKGNoICYmIGNoICE9ICdcbicpIHsKLSAgICAgICAgICAg
IGlmIChjaCAhPSAnXFwnICYmIGNoICE9ICc8JyAvKiAmJiBjaCAhPSAnQCcgKi8gJiYgY2ggIT0g
JyQnCi0gICAgICAgICAgICAgICAgICAgICYmIGNoICE9ICcmJyAmJiBjaCAhPSAnXHInKQotICAg
ICAgICAgICAgewotICAgICAgICAgICAgICAgIGNoID0gKisrcDsKLSAgICAgICAgICAgICAgICBj
b250aW51ZTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIC8qIE91dHB1dCBhbnkgcGVuZGlu
ZyB0ZXh0LiAqLwotICAgICAgICAgICAgaWYgKHAgLSBzdGFydHRleHQpCi0gICAgICAgICAgICAg
ICAgY25vZGUgPSBhZGR0ZXh0KGNub2RlLCBzdGFydHRleHQsIHAgLSBzdGFydHRleHQpOwotCSAg
ICAvKiBJZ25vcmUgXHIgaW4gRE9TIGxpbmUgcmV0dXJucyAqLwotCSAgICBpZiAoY2ggPT0gJ1xy
JykgewotCSAgICAgICAgY2ggPSAqKytwOwotICAJICAgICAgICBzdGFydHRleHQgPSBwOwotCQlj
b250aW51ZTsKLQkgICAgfQotICAgICAgICAgICAgaWYgKGNoID09ICckJykKLSAgICAgICAgICAg
ICAgICBsb2NlcnJvcmV4aXQoY29tbWVudC0+ZmlsZW5hbWUsIGxpbmVudW0sICJ1c2UgXFwkIGlu
c3RlYWQgb2YgJCIpOwotICAgICAgICAgICAgLyogU2VlIGlmIGl0IGlzIGFuIGh0bWwgbmFtZWQg
ZW50aXR5LiAqLwotICAgICAgICAgICAgaWYgKGNoID09ICcmJyAmJiBwWzFdICE9ICcjJykgewot
ICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmVudGl0eSA9IEVOVElUSUVTOwotICAgICAgICAg
ICAgICAgIC8qIFRoaXMgc2VhcmNoIGNvdWxkIGJlIGZhc3RlciBpZiB0aGUgZW50aXR5IG5hbWVz
IHdlcmUgcHV0Ci0gICAgICAgICAgICAgICAgICogaW4gYSBoYXNoIHRhYmxlIG9yIHNvbWV0aGlu
Zy4gKi8KLSAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpzZW1pY29sb24gPSBzdHJjaHIocCwg
JzsnKTsKLSAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgbGVuOwotICAgICAgICAgICAgICAg
IGlmICghc2VtaWNvbG9uKQotICAgICAgICAgICAgICAgICAgICBsb2NlcnJvcmV4aXQoY29tbWVu
dC0+ZmlsZW5hbWUsIGxpbmVudW0sICJ1bnRlcm1pbmF0ZWQgSFRNTCBlbnRpdHkiKTsKLSAgICAg
ICAgICAgICAgICBwKys7Ci0gICAgICAgICAgICAgICAgZm9yICg7OykgewotICAgICAgICAgICAg
ICAgICAgICBsZW4gPSBzdHJsZW4oZW50aXR5KTsKLSAgICAgICAgICAgICAgICAgICAgaWYgKCFs
ZW4pCi0gICAgICAgICAgICAgICAgICAgICAgICBsb2NlcnJvcmV4aXQoY29tbWVudC0+ZmlsZW5h
bWUsIGxpbmVudW0sICJ1bnJlY29nbmlzZWQgSFRNTCBlbnRpdHkgJiUuKnM7Iiwgc2VtaWNvbG9u
IC0gcCwgcCk7Ci0gICAgICAgICAgICAgICAgICAgIGlmIChsZW4gPT0gc2VtaWNvbG9uIC0gcCAm
JiAhbWVtY21wKHAsIGVudGl0eSwgbGVuKSkKLSAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFr
OwotICAgICAgICAgICAgICAgICAgICBlbnRpdHkgKz0gbGVuICsgMTsKLSAgICAgICAgICAgICAg
ICAgICAgZW50aXR5ICs9IHN0cmxlbihlbnRpdHkpICsgMTsKLSAgICAgICAgICAgICAgICB9Ci0g
ICAgICAgICAgICAgICAgZW50aXR5ICs9IGxlbiArIDE7Ci0gICAgICAgICAgICAgICAgY25vZGUg
PSBhZGR0ZXh0KGNub2RlLCBlbnRpdHksIHN0cmxlbihlbnRpdHkpKTsKLSAgICAgICAgICAgICAg
ICBwID0gc2VtaWNvbG9uICsgMTsKLSAgICAgICAgICAgICAgICBjaCA9ICpwOwotICAgICAgICAg
ICAgICAgIHN0YXJ0dGV4dCA9IHA7Ci0gICAgICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAg
ICAgICB9Ci0gICAgICAgICAgICAvKiBTZWUgaWYgaXQgaXMgYSBiYWNrc2xhc2ggZXNjYXBlIHNl
cXVlbmNlLiAqLwotICAgICAgICAgICAgZWxzZSBpZiAoY2ggPT0gJ1xcJykgewotICAgICAgICAg
ICAgICAgIGNvbnN0IGNoYXIgKm1hdGNoID0gIlxcQCYkIzw+JSI7Ci0gICAgICAgICAgICAgICAg
Y29uc3QgY2hhciAqcG9zOwotICAgICAgICAgICAgICAgIGNoID0gcFsxXTsKLSAgICAgICAgICAg
ICAgICBwb3MgPSBzdHJjaHIobWF0Y2gsIGNoKTsKLSAgICAgICAgICAgICAgICBpZiAocG9zKSB7
Ci0gICAgICAgICAgICAgICAgICAgIC8qIEdvdCBhIFwgZXNjYXBlIHNlcXVlbmNlLiAqLwotICAg
ICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICp0ZXh0ID0gCi0gICAgICAgICAgICAgICAgICAg
ICAgICAiXFxcMCAgICBAXDAgICAgJmFtcDtcMCRcMCAgICAjXDAgICAgJmx0O1wwID5cMCAgICAl
IgotICAgICAgICAgICAgICAgICAgICAgICAgKyA2ICogKHBvcyAtIG1hdGNoKTsKLSAgICAgICAg
ICAgICAgICAgICAgY25vZGUgPSBhZGR0ZXh0KGNub2RlLCB0ZXh0LCBzdHJsZW4odGV4dCkpOwot
ICAgICAgICAgICAgICAgICAgICBwICs9IDI7Ci0gICAgICAgICAgICAgICAgICAgIGNoID0gKnA7
Ci0gICAgICAgICAgICAgICAgICAgIHN0YXJ0dGV4dCA9IHA7Ci0gICAgICAgICAgICAgICAgICAg
IGNvbnRpbnVlOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0gZWxzZSBpZiAoY2gg
PT0gJzwnKSB7Ci0gICAgICAgICAgICAgICAgaWYgKGluY29kZSkgewotICAgICAgICAgICAgICAg
ICAgICBjaCA9ICorK3A7Ci0gICAgICAgICAgICAgICAgICAgIHN0YXJ0dGV4dCA9IHA7Ci0gICAg
ICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAg
ICAgICAvKiBJdCdzIGFuIGh0bWwgdGFnLiAqLwotICAgICAgICAgICAgICAgIHAgPSBwYXJzZWh0
bWx0YWcocCwgJmNub2RlLCBjb21tZW50LT5maWxlbmFtZSwgJmxpbmVudW0pOwotICAgICAgICAg
ICAgICAgIGNoID0gKnA7Ci0gICAgICAgICAgICAgICAgc3RhcnR0ZXh0ID0gcDsKLSAgICAgICAg
ICAgICAgICBjb250aW51ZTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIHsKLSAgICAgICAg
ICAgICAgICAvKiBHb3QgYSBkb3h5Z2VuIGNvbW1hbmQuIEZpcnN0IHdvcmsgb3V0IGl0cyBsZW5n
dGguICovCi0gICAgICAgICAgICAgICAgY29uc3QgY2hhciAqc3RhcnQgPSArK3A7Ci0gICAgICAg
ICAgICAgICAgdW5zaWduZWQgaW50IGNtZGxlbjsKLSAgICAgICAgICAgICAgICBjb25zdCBzdHJ1
Y3QgY29tbWFuZCAqY29tbWFuZDsKLSAgICAgICAgICAgICAgICBjaCA9ICpwOwotICAgICAgICAg
ICAgICAgIHdoaWxlICgodW5zaWduZWQpKChjaCAmIH4weDIwKSAtICdBJykgPD0gJ1onIC0gJ0En
Ci0gICAgICAgICAgICAgICAgICAgICAgICB8fCAodW5zaWduZWQpKGNoIC0gJzAnKSA8IDEwIHx8
IGNoID09ICdfJyB8fCBjaCA9PSAnLScpCi0gICAgICAgICAgICAgICAgewotICAgICAgICAgICAg
ICAgICAgICBjaCA9ICorK3A7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGNt
ZGxlbiA9IHAgLSBzdGFydDsKLSAgICAgICAgICAgICAgICBpZiAoIWNtZGxlbikKLSAgICAgICAg
ICAgICAgICAgICAgbG9jZXJyb3JleGl0KGNvbW1lbnQtPmZpbGVuYW1lLCBsaW5lbnVtLCAiXFwg
b3IgQCB3aXRob3V0IERveHlnZW4gY29tbWFuZCIpOwotICAgICAgICAgICAgICAgIC8qIExvb2sg
aXQgdXAgaW4gdGhlIHRhYmxlLiAqLwotICAgICAgICAgICAgICAgIGNvbW1hbmQgPSBjb21tYW5k
czsKLSAgICAgICAgICAgICAgICBmb3IgKDs7KSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmICgh
Y29tbWFuZC0+bmFtZWxlbikgewotICAgICAgICAgICAgICAgICAgICAgICAgbG9jZXJyb3JleGl0
KGNvbW1lbnQtPmZpbGVuYW1lLCBsaW5lbnVtLCAidW5yZWNvZ25pemVkIERveHlnZW4gY29tbWFu
ZCAnJS4qcyciLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbWRsZW4gKyAxLCBz
dGFydCAtIDEpOwotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgIGlm
IChjb21tYW5kLT5uYW1lbGVuID09IGNtZGxlbgotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICYmICFtZW1jbXAoY29tbWFuZC0+bmFtZSwgc3RhcnQsIGNtZGxlbikpCi0gICAgICAgICAgICAg
ICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgICAg
ICAgICB9Ci0gICAgICAgICAgICAgICAgICAgIGNvbW1hbmQrKzsKLSAgICAgICAgICAgICAgICB9
Ci0gICAgICAgICAgICAgICAgcCA9ICgqY29tbWFuZC0+ZnVuYykocCwgJmNub2RlLCBjb21tYW5k
LT50eXBlLAotICAgICAgICAgICAgICAgICAgICAgICAgY29tbWVudC0+ZmlsZW5hbWUsIGxpbmVu
dW0sIGNvbW1hbmQtPm5hbWUpOwotICAgICAgICAgICAgICAgIGNoID0gKnA7Ci0gICAgICAgICAg
ICAgICAgc3RhcnR0ZXh0ID0gcDsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQotICAgICAgICBp
ZiAocCAtIHN0YXJ0dGV4dCkgewotICAgICAgICAgICAgLyogU3RhcnQgbmV3IHBhcmEgaWYgdGhl
cmUgaXNuJ3QgYWxyZWFkeSBvbmUgZ29pbmcuICovCi0gICAgICAgICAgICBpZiAoY25vZGUtPmZ1
bmNzLT5uZWVkcGFyYSkKLSAgICAgICAgICAgICAgICBjbm9kZSA9IHN0YXJ0cGFyYShjbm9kZSwg
JnBhcmFfZnVuY3MpOwotICAgICAgICAgICAgY25vZGUgPSBhZGR0ZXh0KGNub2RlLCBzdGFydHRl
eHQsIHAgLSBzdGFydHRleHQpOwotICAgICAgICB9Ci0gICAgICAgIGlmICghY2gpCi0gICAgICAg
ICAgICBicmVhazsKLSAgICAgICAgaWYgKGNub2RlLT5mdW5jcyA9PSAmdGV4dF9mdW5jcykKLSAg
ICAgICAgICAgIGFkZHRleHQoY25vZGUsICJcbiIsIDEpOwotICAgICAgICBwKys7Ci0gICAgfQot
ICAgIC8qIEZpbmlzaCB0aGUgcm9vdCBjbm9kZS4gKi8KLSAgICBkbwotICAgICAgICBjbm9kZSA9
IGVuZGNub2RlKGNub2RlKTsKLSAgICB3aGlsZSAoY25vZGUpOwotICAgIGFzc2VydCghaW5jb2Rl
KTsKLSAgICBhc3NlcnQoIWluaHRtbGJsb2NrKTsKLX0KLQotLyoqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBw
YXJzZWNvbW1lbnRzIDogcGFyc2UgY29tbWVudHMKLSAqCi0gKiBFbnRlcjogICBjb21tZW50ID0g
Zmlyc3QgY29tbWVudCBpbiBsaXN0Ci0gKi8KLXN0YXRpYyB2b2lkCi1wYXJzZWNvbW1lbnRzKHN0
cnVjdCBjb21tZW50ICpjb21tZW50KQotewotICAgIHdoaWxlIChjb21tZW50KSB7Ci0gICAgICAg
IHBhcnNlY29tbWVudChjb21tZW50KTsKLSAgICAgICAgY29tbWVudCA9IGNvbW1lbnQtPm5leHQ7
Ci0gICAgfQotfQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIGF0dGFjaGNvbW1lbnR0b25vZGUgOiBh
dHRhY2ggY29tbWVudCBzdHJ1Y3QgdG8gbm9kZQotICoKLSAqIEVudGVyOiAgIG5vZGUgPSBwYXJz
ZSBub2RlIGZvciBpZGVudGlmaWVyCi0gKiAgICAgICAgICBjb21tZW50ID0gY29tbWVudCBzdHJ1
Y3QKLSAqLwotc3RhdGljIHZvaWQKLWF0dGFjaGNvbW1lbnR0b25vZGUoc3RydWN0IG5vZGUgKm5v
ZGUsIHN0cnVjdCBjb21tZW50ICpjb21tZW50KQotewotICAgIGNvbW1lbnQtPm5leHQgPSBub2Rl
LT5jb21tZW50czsKLSAgICBub2RlLT5jb21tZW50cyA9IGNvbW1lbnQ7Ci19Ci0KLS8qKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKgotICogYXR0YWNoY29tbWVudHMgOiBhdHRhY2ggY29tbWVudHMgdG8gYXBwbGljYWJs
ZSBwYXJzZSBub2RlcwotICoKLSAqIEVudGVyOiAgIGNvbW1lbnQgPSBmaXJzdCBpbiAocmV2ZXJz
ZWQpIGxpc3Qgb2YgY29tbWVudCBzdHJ1Y3RzCi0gKiAgICAgICAgICByb290ID0gcm9vdCBwYXJz
ZSBub2RlIChmb3IgYXR0YWNoaW5nIFxmaWxlIGNvbW1lbnQgYmxvY2tzIHRvKQotICovCi1zdGF0
aWMgdm9pZAotYXR0YWNoY29tbWVudHMoc3RydWN0IGNvbW1lbnQgKmNvbW1lbnQsIHN0cnVjdCBu
b2RlICpyb290KQotewotICAgIHdoaWxlIChjb21tZW50KSB7Ci0gICAgICAgIHN0cnVjdCBjb21t
ZW50ICpuZXh0ID0gY29tbWVudC0+bmV4dDsKLSAgICAgICAgLyogU2VlIGlmIHRoZXJlIGFyZSBh
bnkgXHBhcmFtLCBccmV0dXJuLCBcdGhyb3csIFxkZWYtYXBpLWZlYXR1cmUgb3IKLSAgICAgICAg
ICogXGRlZi1kZXZpY2UtY2FwIGNub2RlcyB0byBkZXRhY2ggYW5kIGF0dGFjaAotICAgICAgICAg
KiBlbHNld2hlcmUuIChUaGlzIG9ubHkgbG9va3MgYXQgdG9wLWxldmVsIG5vZGVzLCBkaXJlY3Qg
Y2hpbGRyZW4KLSAgICAgICAgICogb2YgdGhlIHJvb3QsIHNvIGRvZXMgbm90IGRldGFjaCBhIFxw
YXJhbSBpbnNpZGUgYQotICAgICAgICAgKiBcZGVmLWRldmljZS1jYXAuKSAqLwotICAgICAgICBz
dHJ1Y3QgY25vZGUgKipwY25vZGUgPSAmY29tbWVudC0+cm9vdC5jaGlsZHJlbjsKLSAgICAgICAg
Zm9yICg7OykgewotICAgICAgICAgICAgc3RydWN0IGNub2RlICpjbm9kZSA9ICpwY25vZGU7Ci0g
ICAgICAgICAgICBpZiAoIWNub2RlKQotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAg
ICAgaWYgKGNub2RlLT5mdW5jcyA9PSAmcGFyYW1fZnVuY3MgfHwgY25vZGUtPmZ1bmNzID09ICZy
ZXR1cm5fZnVuY3MKLSAgICAgICAgICAgICAgICAgICAgfHwgY25vZGUtPmZ1bmNzID09ICZ0aHJv
d19mdW5jcykKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAvKiBGb3VuZCBhIFxwYXJh
bSBvciBccmV0dXJuIG9yIFx0aHJvdyB0byBkZXRhY2guIEZpbmQgdGhlCi0gICAgICAgICAgICAg
ICAgICogcGFyYW1ldGVyL2V4Y2VwdGlvbiBvZiB0aGUgc2FtZSBuYW1lLCBvciB0aGUgcmV0dXJu
IHR5cGUuICovCi0gICAgICAgICAgICAgICAgc3RydWN0IG5vZGUgKm5vZGU7Ci0gICAgICAgICAg
ICAgICAgc3RydWN0IGNvbW1lbnQgKm5ld2NvbW1lbnQ7Ci0gICAgICAgICAgICAgICAgaWYgKGNu
b2RlLT5mdW5jcyA9PSAmcGFyYW1fZnVuY3MpIHsKLSAgICAgICAgICAgICAgICAgICAgbm9kZSA9
IGZpbmRwYXJhbWlkZW50aWZpZXIoY29tbWVudC0+bm9kZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICgoc3RydWN0IHBhcmFtY25vZGUgKiljbm9kZSktPm5hbWUpOwotICAgICAgICAgICAgICAg
ICAgICBpZiAoIW5vZGUpCi0gICAgICAgICAgICAgICAgICAgICAgICBsb2NlcnJvcmV4aXQoY29t
bWVudC0+ZmlsZW5hbWUsIGNub2RlLT5saW5lbnVtLCAibm8gcGFyYW1ldGVyICclcycgZm91bmQi
LCAoKHN0cnVjdCBwYXJhbWNub2RlICopY25vZGUpLT5uYW1lKTsKLSAgICAgICAgICAgICAgICB9
IGVsc2UgaWYgKGNub2RlLT5mdW5jcyA9PSAmcmV0dXJuX2Z1bmNzKSB7Ci0gICAgICAgICAgICAg
ICAgICAgIG5vZGUgPSBmaW5kcmV0dXJudHlwZShjb21tZW50LT5ub2RlKTsKLSAgICAgICAgICAg
ICAgICAgICAgaWYgKCFub2RlKQotICAgICAgICAgICAgICAgICAgICAgICAgbG9jZXJyb3JleGl0
KGNvbW1lbnQtPmZpbGVuYW1lLCBjbm9kZS0+bGluZW51bSwgIm5vIHJldHVybiB0eXBlIGZvdW5k
Iik7Ci0gICAgICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgbm9kZSA9
IGZpbmR0aHJvd2lkZW50aWZpZXIoY29tbWVudC0+bm9kZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICgoc3RydWN0IHBhcmFtY25vZGUgKiljbm9kZSktPm5hbWUpOwotICAgICAgICAgICAgICAg
ICAgICBpZiAoIW5vZGUpCi0gICAgICAgICAgICAgICAgICAgICAgICBsb2NlcnJvcmV4aXQoY29t
bWVudC0+ZmlsZW5hbWUsIGNub2RlLT5saW5lbnVtLCAibm8gZXhjZXB0aW9uICclcycgZm91bmQi
LCAoKHN0cnVjdCBwYXJhbWNub2RlICopY25vZGUpLT5uYW1lKTsKLSAgICAgICAgICAgICAgICB9
Ci0gICAgICAgICAgICAgICAgLyogRGV0YWNoIHRoZSBjbm9kZSBmcm9tIGl0cyBvbGQgY29tbWVu
dC4gKi8KLSAgICAgICAgICAgICAgICAqcGNub2RlID0gY25vZGUtPm5leHQ7Ci0gICAgICAgICAg
ICAgICAgLyogQ3JlYXRlIGEgbmV3IGNvbW1lbnQgc3RydWN0IHRvIGNvbnRhaW4gdGhpcyBjbm9k
ZS4gKi8KLSAgICAgICAgICAgICAgICBuZXdjb21tZW50ID0gbWVtYWxsb2Moc2l6ZW9mKHN0cnVj
dCBjb21tZW50KSk7Ci0gICAgICAgICAgICAgICAgbmV3Y29tbWVudC0+cm9vdC5mdW5jcyA9ICZy
b290X2Z1bmNzOwotICAgICAgICAgICAgICAgIG5ld2NvbW1lbnQtPmxpbmVudW0gPSBjbm9kZS0+
bGluZW51bTsKLSAgICAgICAgICAgICAgICAvKiBBdHRhY2ggdGhlIGNub2RlLiAqLwotICAgICAg
ICAgICAgICAgIG5ld2NvbW1lbnQtPnJvb3QuY2hpbGRyZW4gPSBjbm9kZTsKLSAgICAgICAgICAg
ICAgICBjbm9kZS0+cGFyZW50ID0gJm5ld2NvbW1lbnQtPnJvb3Q7Ci0gICAgICAgICAgICAgICAg
Y25vZGUtPm5leHQgPSAwOwotICAgICAgICAgICAgICAgIC8qIE1ha2UgdGhlIGNub2RlIGEgXHJl
dHVybiBvbmUsIGp1c3Qgc28gZXZlbiBhIFxwYXJhbQotICAgICAgICAgICAgICAgICAqIHVzZXMg
cmV0dXJuX291dHB1dC4gKi8KLSAgICAgICAgICAgICAgICBjbm9kZS0+ZnVuY3MgPSAmcmV0dXJu
X2Z1bmNzOwotICAgICAgICAgICAgICAgIC8qIEF0dGFjaCB0aGUgbmV3IGNvbW1lbnQgc3RydWN0
IHRvIHRoZSBwYXJzZSBub2RlLiAqLwotICAgICAgICAgICAgICAgIGF0dGFjaGNvbW1lbnR0b25v
ZGUobm9kZSwgbmV3Y29tbWVudCk7Ci0gICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAg
ICAgIHBjbm9kZSA9ICZjbm9kZS0+bmV4dDsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQotICAg
ICAgICAvKiBOb3cgYXR0YWNoIHRoZSBjb21tZW50IHRvIGl0cyBpZGVudGlmaWVyIHBhcnNlIG5v
ZGUuICovCi0gICAgICAgIHsKLSAgICAgICAgICAgIHN0cnVjdCBub2RlICpub2RlID0gY29tbWVu
dC0+bm9kZTsKLSAgICAgICAgICAgIGlmICghbm9kZSkKLSAgICAgICAgICAgICAgICBub2RlID0g
cm9vdDsKLSAgICAgICAgICAgIGF0dGFjaGNvbW1lbnR0b25vZGUobm9kZSwgY29tbWVudCk7Ci0g
ICAgICAgIH0KLSAgICAgICAgY29tbWVudCA9IG5leHQ7Ci0gICAgfQotfQotCi0vKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioKLSAqIHByb2Nlc3Njb21tZW50cyA6IGpvaW4sIHBhcnNlIGFuZCBhdHRhY2ggY29tbWVu
dHMKLSAqCi0gKiBFbnRlcjogICByb290ID0gcm9vdCBwYXJzZSBub2RlCi0gKi8KLXZvaWQKLXBy
b2Nlc3Njb21tZW50cyhzdHJ1Y3Qgbm9kZSAqcm9vdCkKLXsKLSAgICBjb21tZW50cyA9IGpvaW5p
bmxpbmVjb21tZW50cyhjb21tZW50cyk7Ci0gICAgcGFyc2Vjb21tZW50cyhjb21tZW50cyk7Ci0g
ICAgYXR0YWNoY29tbWVudHMoY29tbWVudHMsIHJvb3QpOwotfQotCi0vKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioK
LSAqIG91dHB1dGRlc2NyaXB0aXZlIDogb3V0cHV0IGRlc2NyaXB0aXZlIGVsZW1lbnRzIGZvciBh
IG5vZGUKLSAqCi0gKiBFbnRlcjogICBub2RlID0gaWRlbnRpZmllciBub2RlIHRoYXQgbWlnaHQg
aGF2ZSBzb21lIGNvbW1lbnRzCi0gKiAgICAgICAgICBpbmRlbnQgPSBpbmRlbnQgKG5lc3Rpbmcp
IGxldmVsCi0gKi8KLXZvaWQKLW91dHB1dGRlc2NyaXB0aXZlKHN0cnVjdCBub2RlICpub2RlLCB1
bnNpZ25lZCBpbnQgaW5kZW50KQotewotICAgIHN0cnVjdCBjb21tZW50ICpjb21tZW50ID0gbm9k
ZS0+Y29tbWVudHM7Ci0gICAgaW50IGluZGVzY3JpcHRpdmUgPSAwOwotICAgIHdoaWxlIChjb21t
ZW50KSB7Ci0gICAgICAgIHN0cnVjdCBjbm9kZSAqcm9vdCA9ICZjb21tZW50LT5yb290OwotICAg
ICAgICBpZiAoIWluZGVzY3JpcHRpdmUpCi0gICAgICAgICAgICBwcmludGYoIiUqczxkZXNjcmlw
dGl2ZT5cbiIsIGluZGVudCwgIiIpOwotICAgICAgICBpbmRlc2NyaXB0aXZlID0gMTsKLSAgICAg
ICAgKCpyb290LT5mdW5jcy0+b3V0cHV0KShyb290LCBpbmRlbnQgKyAyKTsKLSAgICAgICAgY29t
bWVudCA9IGNvbW1lbnQtPm5leHQ7Ci0gICAgfQotICAgIGlmIChpbmRlc2NyaXB0aXZlKQotICAg
ICAgICBwcmludGYoIiUqczwvZGVzY3JpcHRpdmU+XG4iLCBpbmRlbnQsICIiKTsKLX0KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9zcmMvY29tbWVudC5oIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxw
cm9jL3NyYy9jb21tZW50LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDk2ZDE4ZTJj
YzhhZTAzMTRkZTVhYjNlMTdhZTg1Y2QyNTNiOWNkMjQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3NyYy9jb21tZW50LmgK
KysrIC9kZXYvbnVsbApAQCAtMSwyNSArMCwwIEBACi0vKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqICRJZCQK
LSAqIENvcHlyaWdodCAyMDA5IEFwbGl4IENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgotICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhl
ICJMaWNlbnNlIik7Ci0gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21w
bGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCi0gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhl
IExpY2Vuc2UgYXQKLSAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5T
RS0yLjAKLSAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8g
aW4gd3JpdGluZywgc29mdHdhcmUKLSAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlz
IGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCi0gKiBXSVRIT1VUIFdBUlJBTlRJRVMg
T1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KLSAq
IFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJt
aXNzaW9ucyBhbmQKLSAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgotICoqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqLwotI2lmbmRlZiBjb21tZW50X2gKLSNkZWZpbmUgY29tbWVudF9oCi0KLXN0cnVjdCB0
b2s7Ci1zdHJ1Y3Qgbm9kZTsKLQotdm9pZCBhZGRjb21tZW50KHN0cnVjdCB0b2sgKnRvayk7Ci12
b2lkIHNldGNvbW1lbnRub2RlKHN0cnVjdCBub2RlICpub2RlMik7Ci12b2lkIHByb2Nlc3Njb21t
ZW50cyhzdHJ1Y3Qgbm9kZSAqcm9vdCk7Ci12b2lkIG91dHB1dGRlc2NyaXB0aXZlKHN0cnVjdCBu
b2RlICpub2RlLCB1bnNpZ25lZCBpbnQgaW5kZW50KTsKLQotI2VuZGlmIC8qIG5kZWYgY29tbWVu
dF9oICovCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mvc3JjL2VudGl0aWVzLmggYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3Qvd2lkbHByb2Mvc3JjL2VudGl0aWVzLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IGZmNzRjMWNiM2IyYTY2ODY3OTA5ZmU5Mjc4N2JmOTI1YTgwYjQwOGMuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9j
L3NyYy9lbnRpdGllcy5oCisrKyAvZGV2L251bGwKQEAgLTEsMjcxICswLDAgQEAKLS8qKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKgotICogJElkJAotICogQ29weXJpZ2h0IDIwMDkgQXBsaXggQ29ycG9yYXRpb24uIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCi0gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2Us
IFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKLSAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZp
bGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KLSAqIFlvdSBtYXkgb2J0
YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAotICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9y
Zy9saWNlbnNlcy9MSUNFTlNFLTIuMAotICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUg
bGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQotICogZGlzdHJpYnV0ZWQgdW5k
ZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKLSAqIFdJ
VEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVz
cyBvciBpbXBsaWVkLgotICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3Vh
Z2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAotICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExp
Y2Vuc2UuCi0gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKiovCi0jaWZuZGVmIGVudGl0aWVzX2gKLSNkZWZpbmUgZW50
aXRpZXNfaAotCi0jZGVmaW5lIEVOVElUSUVTIFwKLSJuYnNwXDAmIzE2MDtcMCIgXAotImlleGNs
XDAmIzE2MTtcMCIgXAotImNlbnRcMCYjMTYyO1wwIiBcCi0icG91bmRcMCYjMTYzO1wwIiBcCi0i
Y3VycmVuXDAmIzE2NDtcMCIgXAotInllblwwJiMxNjU7XDAiIFwKLSJicnZiYXJcMCYjMTY2O1ww
IiBcCi0ic2VjdFwwJiMxNjc7XDAiIFwKLSJ1bWxcMCYjMTY4O1wwIiBcCi0iY29weVwwJiMxNjk7
XDAiIFwKLSJvcmRmXDAmIzE3MDtcMCIgXAotImxhcXVvXDAmIzE3MTtcMCIgXAotIm5vdFwwJiMx
NzI7XDAiIFwKLSJzaHlcMCYjMTczO1wwIiBcCi0icmVnXDAmIzE3NDtcMCIgXAotIm1hY3JcMCYj
MTc1O1wwIiBcCi0iZGVnXDAmIzE3NjtcMCIgXAotInBsdXNtblwwJiMxNzc7XDAiIFwKLSJzdXAy
XDAmIzE3ODtcMCIgXAotInN1cDNcMCYjMTc5O1wwIiBcCi0iYWN1dGVcMCYjMTgwO1wwIiBcCi0i
bWljcm9cMCYjMTgxO1wwIiBcCi0icGFyYVwwJiMxODI7XDAiIFwKLSJtaWRkb3RcMCYjMTgzO1ww
IiBcCi0iY2VkaWxcMCYjMTg0O1wwIiBcCi0ic3VwMVwwJiMxODU7XDAiIFwKLSJvcmRtXDAmIzE4
NjtcMCIgXAotInJhcXVvXDAmIzE4NztcMCIgXAotImZyYWMxNFwwJiMxODg7XDAiIFwKLSJmcmFj
MTJcMCYjMTg5O1wwIiBcCi0iZnJhYzM0XDAmIzE5MDtcMCIgXAotImlxdWVzdFwwJiMxOTE7XDAi
IFwKLSJBZ3JhdmVcMCYjMTkyO1wwIiBcCi0iQWFjdXRlXDAmIzE5MztcMCIgXAotIkFjaXJjXDAm
IzE5NDtcMCIgXAotIkF0aWxkZVwwJiMxOTU7XDAiIFwKLSJBdW1sXDAmIzE5NjtcMCIgXAotIkFy
aW5nXDAmIzE5NztcMCIgXAotIkFFbGlnXDAmIzE5ODtcMCIgXAotIkNjZWRpbFwwJiMxOTk7XDAi
IFwKLSJFZ3JhdmVcMCYjMjAwO1wwIiBcCi0iRWFjdXRlXDAmIzIwMTtcMCIgXAotIkVjaXJjXDAm
IzIwMjtcMCIgXAotIkV1bWxcMCYjMjAzO1wwIiBcCi0iSWdyYXZlXDAmIzIwNDtcMCIgXAotIklh
Y3V0ZVwwJiMyMDU7XDAiIFwKLSJJY2lyY1wwJiMyMDY7XDAiIFwKLSJJdW1sXDAmIzIwNztcMCIg
XAotIkVUSFwwJiMyMDg7XDAiIFwKLSJOdGlsZGVcMCYjMjA5O1wwIiBcCi0iT2dyYXZlXDAmIzIx
MDtcMCIgXAotIk9hY3V0ZVwwJiMyMTE7XDAiIFwKLSJPY2lyY1wwJiMyMTI7XDAiIFwKLSJPdGls
ZGVcMCYjMjEzO1wwIiBcCi0iT3VtbFwwJiMyMTQ7XDAiIFwKLSJ0aW1lc1wwJiMyMTU7XDAiIFwK
LSJPc2xhc2hcMCYjMjE2O1wwIiBcCi0iVWdyYXZlXDAmIzIxNztcMCIgXAotIlVhY3V0ZVwwJiMy
MTg7XDAiIFwKLSJVY2lyY1wwJiMyMTk7XDAiIFwKLSJVdW1sXDAmIzIyMDtcMCIgXAotIllhY3V0
ZVwwJiMyMjE7XDAiIFwKLSJUSE9STlwwJiMyMjI7XDAiIFwKLSJzemxpZ1wwJiMyMjM7XDAiIFwK
LSJhZ3JhdmVcMCYjMjI0O1wwIiBcCi0iYWFjdXRlXDAmIzIyNTtcMCIgXAotImFjaXJjXDAmIzIy
NjtcMCIgXAotImF0aWxkZVwwJiMyMjc7XDAiIFwKLSJhdW1sXDAmIzIyODtcMCIgXAotImFyaW5n
XDAmIzIyOTtcMCIgXAotImFlbGlnXDAmIzIzMDtcMCIgXAotImNjZWRpbFwwJiMyMzE7XDAiIFwK
LSJlZ3JhdmVcMCYjMjMyO1wwIiBcCi0iZWFjdXRlXDAmIzIzMztcMCIgXAotImVjaXJjXDAmIzIz
NDtcMCIgXAotImV1bWxcMCYjMjM1O1wwIiBcCi0iaWdyYXZlXDAmIzIzNjtcMCIgXAotImlhY3V0
ZVwwJiMyMzc7XDAiIFwKLSJpY2lyY1wwJiMyMzg7XDAiIFwKLSJpdW1sXDAmIzIzOTtcMCIgXAot
ImV0aFwwJiMyNDA7XDAiIFwKLSJudGlsZGVcMCYjMjQxO1wwIiBcCi0ib2dyYXZlXDAmIzI0Mjtc
MCIgXAotIm9hY3V0ZVwwJiMyNDM7XDAiIFwKLSJvY2lyY1wwJiMyNDQ7XDAiIFwKLSJvdGlsZGVc
MCYjMjQ1O1wwIiBcCi0ib3VtbFwwJiMyNDY7XDAiIFwKLSJkaXZpZGVcMCYjMjQ3O1wwIiBcCi0i
b3NsYXNoXDAmIzI0ODtcMCIgXAotInVncmF2ZVwwJiMyNDk7XDAiIFwKLSJ1YWN1dGVcMCYjMjUw
O1wwIiBcCi0idWNpcmNcMCYjMjUxO1wwIiBcCi0idXVtbFwwJiMyNTI7XDAiIFwKLSJ5YWN1dGVc
MCYjMjUzO1wwIiBcCi0idGhvcm5cMCYjMjU0O1wwIiBcCi0ieXVtbFwwJiMyNTU7XDAiIFwKLSJm
bm9mXDAmIzQwMjtcMCIgXAotIkFscGhhXDAmIzkxMztcMCIgXAotIkJldGFcMCYjOTE0O1wwIiBc
Ci0iR2FtbWFcMCYjOTE1O1wwIiBcCi0iRGVsdGFcMCYjOTE2O1wwIiBcCi0iRXBzaWxvblwwJiM5
MTc7XDAiIFwKLSJaZXRhXDAmIzkxODtcMCIgXAotIkV0YVwwJiM5MTk7XDAiIFwKLSJUaGV0YVww
JiM5MjA7XDAiIFwKLSJJb3RhXDAmIzkyMTtcMCIgXAotIkthcHBhXDAmIzkyMjtcMCIgXAotIkxh
bWJkYVwwJiM5MjM7XDAiIFwKLSJNdVwwJiM5MjQ7XDAiIFwKLSJOdVwwJiM5MjU7XDAiIFwKLSJY
aVwwJiM5MjY7XDAiIFwKLSJPbWljcm9uXDAmIzkyNztcMCIgXAotIlBpXDAmIzkyODtcMCIgXAot
IlJob1wwJiM5Mjk7XDAiIFwKLSJTaWdtYVwwJiM5MzE7XDAiIFwKLSJUYXVcMCYjOTMyO1wwIiBc
Ci0iVXBzaWxvblwwJiM5MzM7XDAiIFwKLSJQaGlcMCYjOTM0O1wwIiBcCi0iQ2hpXDAmIzkzNTtc
MCIgXAotIlBzaVwwJiM5MzY7XDAiIFwKLSJPbWVnYVwwJiM5Mzc7XDAiIFwKLSJhbHBoYVwwJiM5
NDU7XDAiIFwKLSJiZXRhXDAmIzk0NjtcMCIgXAotImdhbW1hXDAmIzk0NztcMCIgXAotImRlbHRh
XDAmIzk0ODtcMCIgXAotImVwc2lsb25cMCYjOTQ5O1wwIiBcCi0iemV0YVwwJiM5NTA7XDAiIFwK
LSJldGFcMCYjOTUxO1wwIiBcCi0idGhldGFcMCYjOTUyO1wwIiBcCi0iaW90YVwwJiM5NTM7XDAi
IFwKLSJrYXBwYVwwJiM5NTQ7XDAiIFwKLSJsYW1iZGFcMCYjOTU1O1wwIiBcCi0ibXVcMCYjOTU2
O1wwIiBcCi0ibnVcMCYjOTU3O1wwIiBcCi0ieGlcMCYjOTU4O1wwIiBcCi0ib21pY3JvblwwJiM5
NTk7XDAiIFwKLSJwaVwwJiM5NjA7XDAiIFwKLSJyaG9cMCYjOTYxO1wwIiBcCi0ic2lnbWFmXDAm
Izk2MjtcMCIgXAotInNpZ21hXDAmIzk2MztcMCIgXAotInRhdVwwJiM5NjQ7XDAiIFwKLSJ1cHNp
bG9uXDAmIzk2NTtcMCIgXAotInBoaVwwJiM5NjY7XDAiIFwKLSJjaGlcMCYjOTY3O1wwIiBcCi0i
cHNpXDAmIzk2ODtcMCIgXAotIm9tZWdhXDAmIzk2OTtcMCIgXAotInRoZXRhc3ltXDAmIzk3Nztc
MCIgXAotInVwc2loXDAmIzk3ODtcMCIgXAotInBpdlwwJiM5ODI7XDAiIFwKLSJidWxsXDAmIzgy
MjY7XDAiIFwKLSJoZWxsaXBcMCYjODIzMDtcMCIgXAotInByaW1lXDAmIzgyNDI7XDAiIFwKLSJQ
cmltZVwwJiM4MjQzO1wwIiBcCi0ib2xpbmVcMCYjODI1NDtcMCIgXAotImZyYXNsXDAmIzgyNjA7
XDAiIFwKLSJ3ZWllcnBcMCYjODQ3MjtcMCIgXAotImltYWdlXDAmIzg0NjU7XDAiIFwKLSJyZWFs
XDAmIzg0NzY7XDAiIFwKLSJ0cmFkZVwwJiM4NDgyO1wwIiBcCi0iYWxlZnN5bVwwJiM4NTAxO1ww
IiBcCi0ibGFyclwwJiM4NTkyO1wwIiBcCi0idWFyclwwJiM4NTkzO1wwIiBcCi0icmFyclwwJiM4
NTk0O1wwIiBcCi0iZGFyclwwJiM4NTk1O1wwIiBcCi0iaGFyclwwJiM4NTk2O1wwIiBcCi0iY3Jh
cnJcMCYjODYyOTtcMCIgXAotImxBcnJcMCYjODY1NjtcMCIgXAotInVBcnJcMCYjODY1NztcMCIg
XAotInJBcnJcMCYjODY1ODtcMCIgXAotImRBcnJcMCYjODY1OTtcMCIgXAotImhBcnJcMCYjODY2
MDtcMCIgXAotImZvcmFsbFwwJiM4NzA0O1wwIiBcCi0icGFydFwwJiM4NzA2O1wwIiBcCi0iZXhp
c3RcMCYjODcwNztcMCIgXAotImVtcHR5XDAmIzg3MDk7XDAiIFwKLSJuYWJsYVwwJiM4NzExO1ww
IiBcCi0iaXNpblwwJiM4NzEyO1wwIiBcCi0ibm90aW5cMCYjODcxMztcMCIgXAotIm5pXDAmIzg3
MTU7XDAiIFwKLSJwcm9kXDAmIzg3MTk7XDAiIFwKLSJzdW1cMCYjODcyMTtcMCIgXAotIm1pbnVz
XDAmIzg3MjI7XDAiIFwKLSJsb3dhc3RcMCYjODcyNztcMCIgXAotInJhZGljXDAmIzg3MzA7XDAi
IFwKLSJwcm9wXDAmIzg3MzM7XDAiIFwKLSJpbmZpblwwJiM4NzM0O1wwIiBcCi0iYW5nXDAmIzg3
MzY7XDAiIFwKLSJhbmRcMCYjODc0MztcMCIgXAotIm9yXDAmIzg3NDQ7XDAiIFwKLSJjYXBcMCYj
ODc0NTtcMCIgXAotImN1cFwwJiM4NzQ2O1wwIiBcCi0iaW50XDAmIzg3NDc7XDAiIFwKLSJ0aGVy
ZTRcMCYjODc1NjtcMCIgXAotInNpbVwwJiM4NzY0O1wwIiBcCi0iY29uZ1wwJiM4NzczO1wwIiBc
Ci0iYXN5bXBcMCYjODc3NjtcMCIgXAotIm5lXDAmIzg4MDA7XDAiIFwKLSJlcXVpdlwwJiM4ODAx
O1wwIiBcCi0ibGVcMCYjODgwNDtcMCIgXAotImdlXDAmIzg4MDU7XDAiIFwKLSJzdWJcMCYjODgz
NDtcMCIgXAotInN1cFwwJiM4ODM1O1wwIiBcCi0ibnN1YlwwJiM4ODM2O1wwIiBcCi0ic3ViZVww
JiM4ODM4O1wwIiBcCi0ic3VwZVwwJiM4ODM5O1wwIiBcCi0ib3BsdXNcMCYjODg1MztcMCIgXAot
Im90aW1lc1wwJiM4ODU1O1wwIiBcCi0icGVycFwwJiM4ODY5O1wwIiBcCi0ic2RvdFwwJiM4OTAx
O1wwIiBcCi0ibGNlaWxcMCYjODk2ODtcMCIgXAotInJjZWlsXDAmIzg5Njk7XDAiIFwKLSJsZmxv
b3JcMCYjODk3MDtcMCIgXAotInJmbG9vclwwJiM4OTcxO1wwIiBcCi0ibGFuZ1wwJiM5MDAxO1ww
IiBcCi0icmFuZ1wwJiM5MDAyO1wwIiBcCi0ibG96XDAmIzk2NzQ7XDAiIFwKLSJzcGFkZXNcMCYj
OTgyNDtcMCIgXAotImNsdWJzXDAmIzk4Mjc7XDAiIFwKLSJoZWFydHNcMCYjOTgyOTtcMCIgXAot
ImRpYW1zXDAmIzk4MzA7XDAiIFwKLSJxdW90XDAmIzM0O1wwIiBcCi0iYW1wXDAmIzM4O1wwIiBc
Ci0ibHRcMCYjNjA7XDAiIFwKLSJndFwwJiM2MjtcMCIgXAotIk9FbGlnXDAmIzMzODtcMCIgXAot
Im9lbGlnXDAmIzMzOTtcMCIgXAotIlNjYXJvblwwJiMzNTI7XDAiIFwKLSJzY2Fyb25cMCYjMzUz
O1wwIiBcCi0iWXVtbFwwJiMzNzY7XDAiIFwKLSJjaXJjXDAmIzcxMDtcMCIgXAotInRpbGRlXDAm
IzczMjtcMCIgXAotImVuc3BcMCYjODE5NDtcMCIgXAotImVtc3BcMCYjODE5NTtcMCIgXAotInRo
aW5zcFwwJiM4MjAxO1wwIiBcCi0iendualwwJiM4MjA0O1wwIiBcCi0iendqXDAmIzgyMDU7XDAi
IFwKLSJscm1cMCYjODIwNjtcMCIgXAotInJsbVwwJiM4MjA3O1wwIiBcCi0ibmRhc2hcMCYjODIx
MTtcMCIgXAotIm1kYXNoXDAmIzgyMTI7XDAiIFwKLSJsc3F1b1wwJiM4MjE2O1wwIiBcCi0icnNx
dW9cMCYjODIxNztcMCIgXAotInNicXVvXDAmIzgyMTg7XDAiIFwKLSJsZHF1b1wwJiM4MjIwO1ww
IiBcCi0icmRxdW9cMCYjODIyMTtcMCIgXAotImJkcXVvXDAmIzgyMjI7XDAiIFwKLSJkYWdnZXJc
MCYjODIyNDtcMCIgXAotIkRhZ2dlclwwJiM4MjI1O1wwIiBcCi0icGVybWlsXDAmIzgyNDA7XDAi
IFwKLSJsc2FxdW9cMCYjODI0OTtcMCIgXAotInJzYXF1b1wwJiM4MjUwO1wwIiBcCi0iZXVyb1ww
JiM4MzY0O1wwIgotCi0jZW5kaWYgLyogbmRlZiBlbnRpdGllc19oICovCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3Qvd2lkbHByb2Mvc3JjL2xleC5jIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3NyYy9sZXgu
YwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWY5MTAzMzg2YmQ2YmFmODYzZjcyNDRm
M2Q3YjZmZWExMzFlYzBmMC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mvc3JjL2xleC5jCisrKyAvZGV2L251bGwKQEAgLTEs
NTYwICswLDAgQEAKLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogJElkJAotICogQ29weXJpZ2h0IDIwMDkg
QXBsaXggQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKiBMaWNlbnNlZCB1bmRl
ciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKLSAqIHlv
dSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGlj
ZW5zZS4KLSAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAotICogICAg
IGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAotICogVW5sZXNzIHJl
cXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2Fy
ZQotICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4g
IkFTIElTIiBCQVNJUywKLSAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFO
WSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgotICogU2VlIHRoZSBMaWNlbnNlIGZv
ciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAotICogbGlt
aXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCi0gKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi0jaW5jbHVkZSA8
YXNzZXJ0Lmg+Ci0jaW5jbHVkZSA8ZXJybm8uaD4KLSNpbmNsdWRlIDxzdGRpby5oPgotI2luY2x1
ZGUgPHN0cmluZy5oPgotI2luY2x1ZGUgImxleC5oIgotI2luY2x1ZGUgIm1pc2MuaCIKLSNpbmNs
dWRlICJub2RlLmgiCi0jaW5jbHVkZSAicHJvY2Vzcy5oIgotCi1zdHJ1Y3QgZmlsZSB7Ci0gICAg
c3RydWN0IGZpbGUgKm5leHQ7Ci0gICAgY29uc3QgY2hhciAqZmlsZW5hbWU7Ci0gICAgY2hhciAq
YnVmOwotICAgIGNvbnN0IGNoYXIgKnBvcywgKmVuZDsKLSAgICB1bnNpZ25lZCBpbnQgbGluZW51
bTsKLX07Ci0KLWNvbnN0IGNoYXIga2V5d29yZHNbXSA9IEtFWVdPUkRTOwotCi1zdGF0aWMgc3Ry
dWN0IGZpbGUgKmZpbGUsICpmaXJzdGZpbGU7Ci1zdGF0aWMgc3RydWN0IHRvayB0b2s7Ci0KLS8q
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKgotICogcmVhZGlucHV0IDogcmVhZCBhbGwgaW5wdXQgZmlsZXMgaW50byBt
ZW1vcnkKLSAqCi0gKiBFbnRlcjogICBhcmd2ID0gMC10ZXJtaW5hdGVkIGFycmF5IG9mIGZpbGVu
YW1lcwotICovCi12b2lkCi1yZWFkaW5wdXQoY29uc3QgY2hhciAqY29uc3QgKmFyZ3YpCi17Ci0g
ICAgc3RydWN0IGZpbGUgKipwZmlsZSA9ICZmaWxlOwotICAgIGZvciAoOzspIHsKLSAgICAgICAg
c3RydWN0IGZpbGUgKmZpbGU7Ci0gICAgICAgIGNvbnN0IGNoYXIgKmZpbGVuYW1lID0gKmFyZ3Yr
KzsKLSAgICAgICAgY2hhciAqYnVmID0gMDsKLSAgICAgICAgaW50IGxlbiA9IDAsIHRoaXNsZW4s
IGlzc3RkaW47Ci0gICAgICAgIEZJTEUgKmhhbmRsZTsKLSAgICAgICAgaWYgKCFmaWxlbmFtZSkK
LSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAvKiBSZWFkIHRoZSBmaWxlLiAqLwotICAgICAg
ICBpc3N0ZGluID0gIXN0cmNtcChmaWxlbmFtZSwgIi0iKTsKLSAgICAgICAgaWYgKGlzc3RkaW4p
IHsKLSAgICAgICAgICAgIGhhbmRsZSA9IHN0ZGluOwotICAgICAgICAgICAgZmlsZW5hbWUgPSAi
PHN0ZGluPiI7Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICBoYW5kbGUgPSBmb3Blbihm
aWxlbmFtZSwgInJiIik7Ci0gICAgICAgICAgICBpZiAoIWhhbmRsZSkKLSAgICAgICAgICAgICAg
ICBlcnJvcmV4aXQoIiVzOiAlcyIsIGZpbGVuYW1lLCBzdHJlcnJvcihlcnJubykpOwotICAgICAg
ICB9Ci0gICAgICAgIGZvciAoOzspIHsKLSAgICAgICAgICAgIHRoaXNsZW4gPSBsZW4gPyBsZW4g
KiAyIDogNDA5NjsKLSAgICAgICAgICAgIGJ1ZiA9IG1lbXJlYWxsb2MoYnVmLCBsZW4gKyB0aGlz
bGVuICsgMSk7Ci0gICAgICAgICAgICB0aGlzbGVuID0gZnJlYWQoYnVmICsgbGVuLCAxLCB0aGlz
bGVuLCBoYW5kbGUpOwotICAgICAgICAgICAgaWYgKCF0aGlzbGVuKQotICAgICAgICAgICAgICAg
IGJyZWFrOwotICAgICAgICAgICAgbGVuICs9IHRoaXNsZW47Ci0gICAgICAgIH0KLSAgICAgICAg
aWYgKGZlcnJvcihoYW5kbGUpKQotICAgICAgICAgICAgZXJyb3JleGl0KCIlczogSS9PIGVycm9y
IiwgZmlsZW5hbWUpOwotICAgICAgICBpZiAoIWlzc3RkaW4pCi0gICAgICAgICAgICBmY2xvc2Uo
aGFuZGxlKTsKLSAgICAgICAgYnVmW2xlbl0gPSAwOwotICAgICAgICBidWYgPSBtZW1yZWFsbG9j
KGJ1ZiwgbGVuICsgMSk7Ci0gICAgICAgIC8qIENyZWF0ZSB0aGUgZmlsZSBzdHJ1Y3QgZm9yIGl0
LiAqLwotICAgICAgICBmaWxlID0gbWVtYWxsb2Moc2l6ZW9mKHN0cnVjdCBmaWxlKSk7Ci0gICAg
ICAgICpwZmlsZSA9IGZpbGU7Ci0gICAgICAgIHBmaWxlID0gJmZpbGUtPm5leHQ7Ci0gICAgICAg
IGZpbGUtPmZpbGVuYW1lID0gZmlsZW5hbWU7Ci0gICAgICAgIGZpbGUtPnBvcyA9IGZpbGUtPmJ1
ZiA9IGJ1ZjsKLSAgICAgICAgZmlsZS0+ZW5kID0gYnVmICsgbGVuOwotICAgICAgICBmaWxlLT5s
aW5lbnVtID0gMTsKLSAgICB9Ci0gICAgKnBmaWxlID0gMDsKLSAgICBmaXJzdGZpbGUgPSBmaWxl
OwotfQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioKLSAqIGxleGVycm9yZXhpdCA6IGVycm9yIGFuZCBleGl0
IHdpdGggbGluZSBudW1iZXIKLSAqLwotc3RhdGljIHZvaWQKLWxleGVycm9yZXhpdChjb25zdCBj
aGFyICpmb3JtYXQsIC4uLikKLXsKLSAgICB2YV9saXN0IGFwOwotICAgIHZhX3N0YXJ0KGFwLCBm
b3JtYXQpOwotICAgIHZsb2NlcnJvcmV4aXQoZmlsZS0+ZmlsZW5hbWUsIGZpbGUtPmxpbmVudW0s
IGZvcm1hdCwgYXApOwotICAgIHZhX2VuZChhcCk7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICog
bGV4YmxvY2tjb21tZW50IDogbGV4IGEgYmxvY2sgY29tbWVudAotICoKLSAqIEVudGVyOiAgIHN0
YXJ0ID0gc3RhcnQgb2YgY29tbWVudAotICoKLSAqIFJldHVybjogIHRvayBzdHJ1Y3QsIGxpZmV0
aW1lIHVudGlsIG5leHQgY2FsbCB0byBsZXgKLSAqLwotc3RhdGljIHN0cnVjdCB0b2sgKgotbGV4
YmxvY2tjb21tZW50KGNvbnN0IGNoYXIgKnN0YXJ0KQotewotICAgIGNvbnN0IGNoYXIgKnAgPSBz
dGFydCArIDE7Ci0gICAgdG9rLmZpbGVuYW1lID0gZmlsZS0+ZmlsZW5hbWU7Ci0gICAgdG9rLmxp
bmVudW0gPSBmaWxlLT5saW5lbnVtOwotICAgIGZvciAoOzspIHsKLSAgICAgICAgaW50IGNoID0g
KisrcDsKLSAgICAgICAgaWYgKCFjaCkKLSAgICAgICAgICAgIGxleGVycm9yZXhpdCgidW50ZXJt
aW5hdGVkIGJsb2NrIGNvbW1lbnQiKTsKLSAgICAgICAgaWYgKGNoICE9ICcqJykgewotICAgICAg
ICAgICAgaWYgKGNoID09ICdcbicpCi0gICAgICAgICAgICAgICAgZmlsZS0+bGluZW51bSsrOwot
ICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgIH0KLSAgICAgICAgY2ggPSBwWzFdOwotICAg
ICAgICBpZiAoIWNoKQotICAgICAgICAgICAgbGV4ZXJyb3JleGl0KCJ1bnRlcm1pbmF0ZWQgYmxv
Y2sgY29tbWVudCIpOwotICAgICAgICBpZiAoY2ggPT0gJy8nKQotICAgICAgICAgICAgYnJlYWs7
Ci0gICAgfQotICAgIHAgKz0gMjsKLSAgICBmaWxlLT5wb3MgPSBwOwotICAgIHRvay50eXBlID0g
VE9LX0JMT0NLQ09NTUVOVDsKLSAgICB0b2suc3RhcnQgPSBzdGFydCArIDI7Ci0gICAgdG9rLmxl
biA9IHAgLSBzdGFydCAtIDQ7Ci0gICAgcmV0dXJuICZ0b2s7Ci19Ci0KLS8qKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KgotICogbGV4aW5saW5lY29tbWVudCA6IGxleCBhbiBpbmxpbmUgY29tbWVudAotICoKLSAqIEVu
dGVyOiAgIHN0YXJ0ID0gc3RhcnQgb2YgY29tbWVudCwgc3RhcnRzIHdpdGggIi8vIgotICoKLSAq
IFJldHVybjogIHRvayBzdHJ1Y3QsIGxpZmV0aW1lIHVudGlsIG5leHQgY2FsbCB0byBsZXgKLSAq
Lwotc3RhdGljIHN0cnVjdCB0b2sgKgotbGV4aW5saW5lY29tbWVudChjb25zdCBjaGFyICpzdGFy
dCkKLXsKLSAgICBjb25zdCBjaGFyICpwID0gc3RhcnQgKyAyOwotICAgIHAgPSBzdGFydCArIDE7
Ci0gICAgZm9yICg7OykgewotICAgICAgICBpbnQgY2ggPSAqKytwOwotICAgICAgICBpZiAoIWNo
IHx8IGNoID09ICdcbicpCi0gICAgICAgICAgICBicmVhazsKLSAgICB9Ci0gICAgcCsrOwotICAg
IGZpbGUtPnBvcyA9IHA7Ci0gICAgdG9rLnR5cGUgPSBUT0tfSU5MSU5FQ09NTUVOVDsKLSAgICB0
b2suc3RhcnQgPSBzdGFydCArIDI7Ci0gICAgdG9rLmxlbiA9IHAgLSBzdGFydCAtIDI7Ci0gICAg
dG9rLmZpbGVuYW1lID0gZmlsZS0+ZmlsZW5hbWU7Ci0gICAgdG9rLmxpbmVudW0gPSBmaWxlLT5s
aW5lbnVtKys7Ci0gICAgcmV0dXJuICZ0b2s7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogbGV4
bnVtYmVyIDogbGV4IGEgbnVtYmVyIChvciBqdXN0IGEgJy0nIHN5bWJvbCkKLSAqCi0gKiBFbnRl
cjogICBzdGFydCA9IHN0YXJ0IG9mIHRva2VuCi0gKgotICogUmV0dXJuOiAgdG9rIHN0cnVjdCwg
bGlmZXRpbWUgdW50aWwgbmV4dCBjYWxsIHRvIGxleAotICoKLSAqIFRoZSBJREwgZ3JhbW1hciBz
ZWVtcyB0byBzYXkgdGhhdCBhIGZsb2F0IGNhbid0IHN0YXJ0IHdpdGggYQotICogZGVjaW1hbCBw
b2ludCwgc28gdGhhdCdzIHdoYXQgd2UgaGF2ZSBpbXBsZW1lbnRlZCBoZXJlLgotICovCi1zdGF0
aWMgc3RydWN0IHRvayAqCi1sZXhudW1iZXIoY29uc3QgY2hhciAqc3RhcnQpCi17Ci0gICAgZm9y
ICg7OykgewotICAgICAgICBjb25zdCBjaGFyICpwID0gc3RhcnQ7Ci0gICAgICAgIGNvbnN0IGNo
YXIgKm9jdGFsZW5kID0gc3RhcnQ7Ci0gICAgICAgIGludCBjaCA9ICpwOwotICAgICAgICBlbnVt
IHsgU1RBVEVfU1RBUlQsIFNUQVRFX0lOVCwgU1RBVEVfSEVYLCBTVEFURV9PQ1RBTCwgU1RBVEVf
QkFET0NUQUwsCi0gICAgICAgICAgICAgICAgU1RBVEVfRFAsIFNUQVRFX0VYUFNUQVJULCBTVEFU
RV9FWFBTSUdOLCBTVEFURV9FWFAKLSAgICAgICAgICAgICAgICB9IHN0YXRlID0gU1RBVEVfU1RB
UlQ7Ci0gICAgICAgIGlmIChjaCA9PSAnLScpIHsKLSAgICAgICAgICAgIGNoID0gKisrcDsKLQkg
ICAgaWYgKGNoID09ICdJJykgeyAvLyBzdGFydHMgb2YgSW5maW5pdHkKLQkgICAgICBjaGFyICog
aW5maW5pdHkgPSAiLUluZmluaXR5IjsKLSAgICAgICAgICAgICAgdW5zaWduZWQgaW50IGxlbiA9
IHN0cmxlbihpbmZpbml0eSk7Ci0JICAgICAgaWYgKCFtZW1jbXAoc3RhcnQsIGluZmluaXR5LCBs
ZW4pKSB7Ci0gICAgICAgICAgICAgICAgdG9rLnR5cGUgPSBUT0tfbWludXNpbmZpbml0eTsKLQkJ
dG9rLnN0YXJ0ID0gc3RhcnQ7Ci0JCXRvay5sZW4gPSBsZW47Ci0JCXRvay5maWxlbmFtZSA9IGZp
bGUtPmZpbGVuYW1lOwotCQl0b2subGluZW51bSA9IGZpbGUtPmxpbmVudW07Ci0JCWZpbGUtPnBv
cyA9IHN0YXJ0ICsgbGVuOwotCQlyZXR1cm4gJnRvazsKLQkgICAgICB9Ci0JICAgIH0KLQl9Ci0g
ICAgICAgIGlmIChjaCA9PSAnMCcpIHsKLSAgICAgICAgICAgIHN0YXRlID0gU1RBVEVfT0NUQUw7
Ci0gICAgICAgICAgICBjaCA9ICorK3A7Ci0gICAgICAgICAgICBpZiAoKGNoICYgfjB4MjApID09
ICdYJykgewotICAgICAgICAgICAgICAgIHN0YXRlID0gU1RBVEVfSEVYOwotICAgICAgICAgICAg
ICAgIGNoID0gKisrcDsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQotCi0gICAgICAgIGZvciAo
OzspIHsKLSAgICAgICAgICAgIGlmICgodW5zaWduZWQpKGNoIC0gJzAnKSA+PSA4KSB7Ci0gICAg
ICAgICAgICAgICAgaWYgKChjaCAmIC0yKSA9PSAnOCcpIHsKLSAgICAgICAgICAgICAgICAgICAg
aWYgKHN0YXRlID09IFNUQVRFX09DVEFMKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBzdGF0
ZSA9IFNUQVRFX0JBRE9DVEFMOwotICAgICAgICAgICAgICAgICAgICAgICAgb2N0YWxlbmQgPSBw
OwotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgfSBlbHNlIGlmICgodW5z
aWduZWQpKChjaCAmIH4weDIwKSAtICdBJykgPD0gJ0YnIC0gJ0EnKSB7Ci0gICAgICAgICAgICAg
ICAgICAgIGlmIChzdGF0ZSAhPSBTVEFURV9IRVgpIHsKLSAgICAgICAgICAgICAgICAgICAgICAg
IGlmICgoY2ggJiB+MHgyMCkgIT0gJ0UnKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJy
ZWFrOwotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHN0YXRlID09IFNUQVRFX0hFWCB8fCBz
dGF0ZSA+PSBTVEFURV9FWFBTVEFSVCB8fCBzdGF0ZSA9PSBTVEFURV9TVEFSVCkKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRl
ID0gU1RBVEVfRVhQU1RBUlQ7Ci0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAg
ICB9IGVsc2UgaWYgKGNoID09ICcuJykgewotICAgICAgICAgICAgICAgICAgICBpZiAoc3RhdGUg
PT0gU1RBVEVfSEVYIHx8IHN0YXRlID49IFNUQVRFX0RQKQotICAgICAgICAgICAgICAgICAgICAg
ICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgICAgIHN0YXRlID0gU1RBVEVfRFA7Ci0gICAgICAg
ICAgICAgICAgfSBlbHNlIGlmIChjaCA9PSAnLScpIHsKLSAgICAgICAgICAgICAgICAgICAgaWYg
KHN0YXRlICE9IFNUQVRFX0VYUFNUQVJUKQotICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7
Ci0gICAgICAgICAgICAgICAgICAgIHN0YXRlID0gU1RBVEVfRVhQU0lHTjsKLSAgICAgICAgICAg
ICAgICB9IGVsc2UKLSAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICB9Ci0g
ICAgICAgICAgICBjaCA9ICorK3A7Ci0gICAgICAgICAgICBpZiAoc3RhdGUgPT0gU1RBVEVfU1RB
UlQpCi0gICAgICAgICAgICAgICAgc3RhdGUgPSBTVEFURV9JTlQ7Ci0gICAgICAgICAgICBlbHNl
IGlmIChzdGF0ZSA9PSBTVEFURV9FWFBTVEFSVCB8fCBzdGF0ZSA9PSBTVEFURV9FWFBTSUdOKQot
ICAgICAgICAgICAgICAgIHN0YXRlID0gU1RBVEVfRVhQOwotICAgICAgICB9Ci0gICAgICAgIHN3
aXRjaCAoc3RhdGUpIHsKLSAgICAgICAgY2FzZSBTVEFURV9TVEFSVDoKLSAgICAgICAgICAgIC8q
IE11c3QgaGF2ZSBqdXN0IGJlZW4gYSAtIGNoYXJhY3RlciBieSBpdHNlbGYuICovCi0gICAgICAg
ICAgICB0b2sudHlwZSA9ICctJzsKLSAgICAgICAgICAgIHAgPSBzdGFydCArIDE7Ci0gICAgICAg
ICAgICBicmVhazsKLSAgICAgICAgY2FzZSBTVEFURV9CQURPQ1RBTDoKLSAgICAgICAgICAgIHAg
PSBvY3RhbGVuZDsKLSAgICAgICAgICAgIC8qIGZhbGwgdGhyb3VnaC4uLiAqLwotICAgICAgICBj
YXNlIFNUQVRFX0lOVDoKLSAgICAgICAgY2FzZSBTVEFURV9PQ1RBTDoKLSAgICAgICAgICAgIHRv
ay50eXBlID0gVE9LX0lOVEVHRVI7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSBT
VEFURV9IRVg6Ci0gICAgICAgICAgICBpZiAocCAtIHN0YXJ0ID09IDIgfHwgKHAgLSBzdGFydCA9
PSAzICYmICpzdGFydCA9PSAnLScpKQotICAgICAgICAgICAgICAgIHAgPSBzdGFydCArIDE7Ci0g
ICAgICAgICAgICB0b2sudHlwZSA9IFRPS19JTlRFR0VSOwotICAgICAgICAgICAgYnJlYWs7Ci0g
ICAgICAgIGNhc2UgU1RBVEVfRVhQOgotICAgICAgICBjYXNlIFNUQVRFX0RQOgotICAgICAgICAg
ICAgdG9rLnR5cGUgPSBUT0tfRkxPQVQ7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2Fz
ZSBTVEFURV9FWFBTSUdOOgotICAgICAgICAgICAgcC0tOwotICAgICAgICAgICAgLyogZmFsbCB0
aHJvdWdoLi4uICovCi0gICAgICAgIGNhc2UgU1RBVEVfRVhQU1RBUlQ6Ci0gICAgICAgICAgICBw
LS07Ci0gICAgICAgICAgICB0b2sudHlwZSA9IFRPS19GTE9BVDsKLSAgICAgICAgICAgIGJyZWFr
OwotICAgICAgICB9Ci0gICAgICAgIHRvay5zdGFydCA9IHN0YXJ0OwotICAgICAgICB0b2subGVu
ID0gcCAtIHN0YXJ0OwotICAgICAgICB0b2suZmlsZW5hbWUgPSBmaWxlLT5maWxlbmFtZTsKLSAg
ICAgICAgdG9rLmxpbmVudW0gPSBmaWxlLT5saW5lbnVtOwotICAgICAgICBmaWxlLT5wb3MgPSBw
OwotICAgICAgICByZXR1cm4gJnRvazsKLSAgICB9Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICog
bGV4c3RyaW5nIDogbGV4IGEgcXVvdGVkIHN0cmluZwotICoKLSAqIEVudGVyOiAgIHN0YXJ0ID0g
c3RhcnQgb2YgdG9rZW4KLSAqCi0gKiBSZXR1cm46ICB0b2sgc3RydWN0LCBsaWZldGltZSB1bnRp
bCBuZXh0IGNhbGwgdG8gbGV4Ci0gKi8KLXN0YXRpYyBzdHJ1Y3QgdG9rICoKLWxleHN0cmluZyhj
b25zdCBjaGFyICpzdGFydCkKLXsKLSAgICBmb3IgKDs7KSB7Ci0gICAgICAgIGNvbnN0IGNoYXIg
KnAgPSBzdGFydCArIDE7Ci0gICAgICAgIGludCBjaCA9ICpwOwotICAgICAgICBmb3IgKDs7KSB7
Ci0gICAgICAgICAgICBpZiAoIWNoIHx8IGNoID09ICdcbicpCi0gICAgICAgICAgICAgICAgbGV4
ZXJyb3JleGl0KCJ1bnRlcm1pbmF0ZWQgc3RyaW5nIik7Ci0gICAgICAgICAgICBpZiAoY2ggPT0g
JyInKSB7Ci0gICAgICAgICAgICAgICAgdG9rLnR5cGUgPSBUT0tfU1RSSU5HOwotICAgICAgICAg
ICAgICAgIHRvay5zdGFydCA9IHN0YXJ0ICsgMTsKLSAgICAgICAgICAgICAgICB0b2subGVuID0g
cCAtIHN0YXJ0IC0gMTsKLSAgICAgICAgICAgICAgICB0b2suZmlsZW5hbWUgPSBmaWxlLT5maWxl
bmFtZTsKLSAgICAgICAgICAgICAgICB0b2subGluZW51bSA9IGZpbGUtPmxpbmVudW07Ci0gICAg
ICAgICAgICAgICAgZmlsZS0+cG9zID0gcCArIDE7Ci0gICAgICAgICAgICAgICAgcmV0dXJuICZ0
b2s7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICAvKiBOb3RlIHRoZSBJREwgc3BlYyBkb2Vz
bid0IHNlZW0gdG8gYWxsb3cgZm9yIGVzY2FwZSBzZXF1ZW5jZXMKLSAgICAgICAgICAgICAqIGlu
IHN0cmluZ3MuICovCi0gICAgICAgICAgICBjaCA9ICorK3A7Ci0gICAgICAgIH0KLSAgICB9Ci19
Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKgotICogbGV4aWRlbnRpZmllciA6IGxleCBhbiBpZGVudGlmaWVy
Ci0gKgotICogRW50ZXI6ICAgc3RhcnQgPSBzdGFydCBvZiB0b2tlbgotICoKLSAqIFJldHVybjog
IHRvayBzdHJ1Y3QsIGxpZmV0aW1lIHVudGlsIG5leHQgY2FsbCB0byBsZXgKLSAqLwotc3RhdGlj
IHN0cnVjdCB0b2sgKgotbGV4aWRlbnRpZmllcihjb25zdCBjaGFyICpzdGFydCkKLXsKLSAgICBj
b25zdCBjaGFyICpwID0gc3RhcnQgKyAxOwotICAgIGZvciAoOzspIHsKLSAgICAgICAgaW50IGNo
ID0gKnA7Ci0gICAgICAgIGlmIChjaCAhPSAnXycgJiYgKHVuc2lnbmVkKShjaCAtICcwJykgPj0g
MTAKLSAgICAgICAgICAgICAgICAmJiAodW5zaWduZWQpKChjaCAmIH4weDIwKSAtICdBJykgPiAn
WicgLSAnQScpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0gICAg
ICAgIHArKzsKLSAgICB9Ci0gICAgdG9rLnR5cGUgPSBUT0tfSURFTlRJRklFUjsKLSAgICB0b2su
c3RhcnQgPSBzdGFydDsKLSAgICB0b2subGVuID0gcCAtIHN0YXJ0OwotICAgIHRvay5maWxlbmFt
ZSA9IGZpbGUtPmZpbGVuYW1lOwotICAgIHRvay5saW5lbnVtID0gZmlsZS0+bGluZW51bTsKLSAg
ICBmaWxlLT5wb3MgPSBwOwotICAgIC8qIFNlZSBpZiB0aGlzIGlzIGEga2V5d29yZC4gKFRoaXMg
c2VhcmNoIGlzIGEgYml0IG4tc3F1YXJlZC4pICovCi0gICAgewotICAgICAgICB1bnNpZ25lZCBp
bnQgdHlwZSA9IFRPS19ET01TdHJpbmc7Ci0gICAgICAgIHAgPSBrZXl3b3JkczsKLSAgICAgICAg
Zm9yICg7OykgewotICAgICAgICAgICAgdW5zaWduZWQgaW50IGxlbiA9IHN0cmxlbihwKTsKLSAg
ICAgICAgICAgIGlmICghbGVuKQotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAg
aWYgKGxlbiA9PSB0b2subGVuICYmICFtZW1jbXAoc3RhcnQsIHAsIGxlbikpIHsKLSAgICAgICAg
ICAgICAgICB0b2sudHlwZSA9IHR5cGU7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAg
ICAgICB9Ci0gICAgICAgICAgICBwICs9IGxlbiArIDE7Ci0gICAgICAgICAgICB0eXBlKys7Ci0g
ICAgICAgIH0KLSAgICB9Ci0gICAgcmV0dXJuICZ0b2s7Ci19Ci0KLS8qKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgot
ICogbGV4IDogcmV0cmlldmUgbmV4dCB0b2tlbgotICoKLSAqIFJldHVybjogIHRvayBzdHJ1Y3Qs
IGxpZmV0aW1lIHVudGlsIG5leHQgY2FsbCB0byBsZXgKLSAqLwotc3RydWN0IHRvayAqCi1sZXgo
dm9pZCkKLXsKLSAgICBjb25zdCBjaGFyICpwOwotICAgIGludCBjaDsKLSAgICBmb3IgKDs7KSB7
Ci0gICAgICAgIGlmICghZmlsZSkgewotICAgICAgICAgICAgdG9rLnR5cGUgPSBUT0tfRU9GOwot
ICAgICAgICAgICAgdG9rLnN0YXJ0ID0gImVuZCBvZiBmaWxlIjsKLSAgICAgICAgICAgIHRvay5s
ZW4gPSBzdHJsZW4odG9rLnN0YXJ0KTsKLSAgICAgICAgICAgIHJldHVybiAmdG9rOwotICAgICAg
ICB9Ci0gICAgICAgIHRvay5wcmVzdGFydCA9IHAgPSBmaWxlLT5wb3M7Ci0gICAgICAgIC8qIEZs
dXNoIHdoaXRlc3BhY2UuICovCi0gICAgICAgIGZvciAoOzspIHsKLSAgICAgICAgICAgIGNoID0g
KnArKzsKLSAgICAgICAgICAgIHN3aXRjaCAoY2gpIHsKLSAgICAgICAgICAgIGNhc2UgJyAnOgot
ICAgICAgICAgICAgY2FzZSAnXHQnOgotICAgICAgICAgICAgY2FzZSAnXHInOgotICAgICAgICAg
ICAgICAgIGNvbnRpbnVlOwotICAgICAgICAgICAgY2FzZSAnXG4nOgotICAgICAgICAgICAgICAg
ICsrZmlsZS0+bGluZW51bTsKLSAgICAgICAgICAgICAgICB0b2sucHJlc3RhcnQgPSBwOwotICAg
ICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgYnJlYWs7
Ci0gICAgICAgIH0KLSAgICAgICAgcC0tOwotICAgICAgICBpZiAoY2gpCi0gICAgICAgICAgICBi
cmVhazsKLSAgICAgICAgaWYgKHAgIT0gZmlsZS0+ZW5kKQotICAgICAgICAgICAgbGV4ZXJyb3Jl
eGl0KCJcXDAgYnl0ZSBub3QgYWxsb3dlZCIpOwotICAgICAgICBmaWxlID0gZmlsZS0+bmV4dDsK
LSAgICB9Ci0gICAgLyogU2VlIGlmIHdlIGhhdmUgYSBjb21tZW50LiAqLwotICAgIHRvay5zdGFy
dCA9IHA7Ci0gICAgaWYgKGNoID09ICcvJykgewotICAgICAgICBzd2l0Y2ggKCorK3ApIHsKLSAg
ICAgICAgY2FzZSAnKic6Ci0gICAgICAgICAgICByZXR1cm4gbGV4YmxvY2tjb21tZW50KHAgLSAx
KTsKLSAgICAgICAgY2FzZSAnLyc6Ci0gICAgICAgICAgICByZXR1cm4gbGV4aW5saW5lY29tbWVu
dChwIC0gMSk7Ci0gICAgICAgIH0KLSAgICAgICAgdG9rLnR5cGUgPSAnLyc7Ci0gICAgfSBlbHNl
IHsKLSAgICAgICAgLyogSGFuZGxlIHRoaW5ncyB0aGF0IHN0YXJ0IHdpdGggJy0nLCB3aGljaCBp
cyBlaXRoZXIgJy0nIGFzIGEgdG9rZW4sCi0gICAgICAgICAqIG9yIGEgbnVtYmVyLiBIYW5kbGUg
bnVtYmVycy4gKi8KLSAgICAgICAgaWYgKGNoID09ICctJyB8fCAodW5zaWduZWQpKGNoIC0gJzAn
KSA8IDEwKQotICAgICAgICAgICAgcmV0dXJuIGxleG51bWJlcihwKTsKLSAgICAgICAgLyogSGFu
ZGxlIHN0cmluZy4gKi8KLSAgICAgICAgaWYgKGNoID09ICciJykKLSAgICAgICAgICAgIHJldHVy
biBsZXhzdHJpbmcocCk7Ci0gICAgICAgIC8qIEhhbmRsZSBpZGVudGlmaWVyLiAqLwotICAgICAg
ICBpZiAoY2ggPT0gJ18nIHx8ICh1bnNpZ25lZCkoKGNoICYgfjB4MjApIC0gJ0EnKSA8PSAnWicg
LSAnQScpCi0gICAgICAgICAgICByZXR1cm4gbGV4aWRlbnRpZmllcihwKTsKLSAgICAgICAgLyog
VGhlIG9ubHkgbXVsdGktc3ltYm9sIHRva2VuIGFyZSAuLi4gYW5kIFtdICovCi0gICAgICAgIGlm
IChjaCA9PSAnLicpIHsKLSAgICAgICAgICAgIHRvay50eXBlID0gJy4nOwotICAgICAgICAgICAg
aWYgKCorK3AgPT0gJy4nICYmIHBbMV0gPT0gJy4nKSB7Ci0gICAgICAgICAgICAgICAgdG9rLnR5
cGUgPSBUT0tfRUxMSVBTSVM7Ci0gICAgICAgICAgICAgICAgcCArPSAyOwotICAgICAgICAgICAg
fQotICAgICAgICAgICAgZ290byBkb25lOwotICAgICAgICB9Ci0gICAgICAgIGlmIChjaCA9PSAn
WycpIHsKLSAgICAgICAgICAgIHRvay50eXBlID0gJ1snOwotICAgICAgICAgICAgaWYgKCorK3Ag
PT0gJ10nKSB7Ci0gICAgICAgICAgICAgICAgdG9rLnR5cGUgPSBUT0tfRE9VQkxFQlJBQ0tFVDsK
LSAgICAgICAgICAgICAgICBwKys7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBnb3RvIGRv
bmU7Ci0gICAgICAgIH0KLSAgICB9Ci0gICAgLyogU2luZ2xlIHN5bWJvbCB0b2tlbi4gKi8KLSAg
ICB0b2sudHlwZSA9IGNoOwotICAgIHArKzsKLWRvbmU6Ci0gICAgdG9rLmZpbGVuYW1lID0gZmls
ZS0+ZmlsZW5hbWU7Ci0gICAgdG9rLmxpbmVudW0gPSBmaWxlLT5saW5lbnVtOwotICAgIHRvay5s
ZW4gPSBwIC0gdG9rLnN0YXJ0OwotICAgIGZpbGUtPnBvcyA9IHA7Ci0gICAgcmV0dXJuICZ0b2s7
Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKgotICogb3V0cHV0d2lkbCA6IG91dHB1dCBsaXRlcmFsIFdl
YiBJREwgaW5wdXQgdGhhdCBub2RlIHdhcyBwYXJzZWQgZnJvbQotICoKLSAqIEVudGVyOiAgIG5v
ZGUgPSBwYXJzZSBub2RlIHRvIG91dHB1dCBsaXRlcmFsIFdlYiBJREwgZm9yCi0gKi8KLXZvaWQK
LW91dHB1dHdpZGwoc3RydWN0IG5vZGUgKm5vZGUpCi17Ci0gICAgY29uc3QgY2hhciAqc3RhcnQg
PSBub2RlLT53c3N0YXJ0LCAqZW5kID0gbm9kZS0+ZW5kOwotICAgIC8qIEZpbmQgdGhlIGZpbGUg
dGhhdCBzdGFydCBpcyBpbi4gKi8KLSAgICBzdHJ1Y3QgZmlsZSAqZmlsZSA9IGZpcnN0ZmlsZTsK
LSAgICB3aGlsZSAoc3RhcnQgPCBmaWxlLT5idWYgfHwgc3RhcnQgPj0gZmlsZS0+ZW5kKSB7Ci0g
ICAgICAgIGZpbGUgPSBmaWxlLT5uZXh0OwotICAgICAgICBhc3NlcnQoZmlsZSk7Ci0gICAgfQot
ICAgIC8qIEZpbmQgdGhlIChjdXJyZW50IG9yKSBuZXh0IG5vZGUgdGhhdCBoYXMgbm9kZS0+c3Rh
cnQgc2V0LiBBbnkgc3VjaAotICAgICAqIG5vZGUgbmVlZHMgdG8gYmUgcHV0IGluc2lkZSBhIDxy
ZWY+IGVsZW1lbnQuICovCi0gICAgd2hpbGUgKG5vZGUgJiYgIW5vZGUtPnN0YXJ0KQotICAgICAg
ICBub2RlID0gbm9kZXdhbGsobm9kZSk7Ci0gICAgLyogT3V0cHV0IHVudGlsIHdlIGdldCB0byB0
aGUgZW5kLiBUaGlzIGhhcyB0byBjb3BlIHdpdGggdGhlIHRleHQKLSAgICAgKiBzcGFubmluZyBt
dWx0aXBsZSBpbnB1dCBmaWxlcy4gKi8KLSAgICBmb3IgKDs7KSB7Ci0gICAgICAgIGludCBmaW5h
bCA9IGVuZCA+PSBmaWxlLT5idWYgJiYgZW5kIDw9IGZpbGUtPmVuZDsKLSAgICAgICAgY29uc3Qg
Y2hhciAqdGhpc2VuZCA9IGZpbmFsID8gZW5kIDogZmlsZS0+ZW5kOwotICAgICAgICAvKiBPdXRw
dXQgdGhlIFdlYiBJREwsIG9taXR0aW5nIGNvbW1lbnRzLiAqLwotICAgICAgICB3aGlsZSAoc3Rh
cnQgIT0gZW5kKSB7Ci0gICAgICAgICAgICBjb25zdCBjaGFyICpwLCAqcDIsICpjb21tZW50LCAq
ZW5kY29tbWVudDsKLSAgICAgICAgICAgIGludCBjaDsKLSAgICAgICAgICAgIGlmIChub2RlICYm
IHN0YXJ0ID09IG5vZGUtPnN0YXJ0KSB7Ci0gICAgICAgICAgICAgICAgLyogV2UgYXJlIG9uIHRo
ZSBzdGFydCBvZiB0aGUgcHJlc2VudCBub2RlIGluIHRoZSB0cmVlCi0gICAgICAgICAgICAgICAg
ICogd2Fsay4gUHV0IGl0IGluIGEgPHJlZj4uICovCi0gICAgICAgICAgICAgICAgZnB1dHMoIjxy
ZWY+Iiwgc3Rkb3V0KTsKLSAgICAgICAgICAgICAgICBwcmludHRleHQobm9kZS0+c3RhcnQsIG5v
ZGUtPmVuZCAtIG5vZGUtPnN0YXJ0LCAxKTsKLSAgICAgICAgICAgICAgICBmcHV0cygiPC9yZWY+
Iiwgc3Rkb3V0KTsKLSAgICAgICAgICAgICAgICBzdGFydCA9IG5vZGUtPmVuZDsKLSAgICAgICAg
ICAgICAgICAvKiBTa2lwIHRvIHRoZSBuZXh0IG5vZGUgd2l0aCBub2RlLT5zdGFydCBzZXQgaWYg
YW55LiAqLwotICAgICAgICAgICAgICAgIGRvCi0gICAgICAgICAgICAgICAgICAgIG5vZGUgPSBu
b2Rld2Fsayhub2RlKTsKLSAgICAgICAgICAgICAgICB3aGlsZSAobm9kZSAmJiAhbm9kZS0+c3Rh
cnQpOwotICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAgICAgfQotICAgICAgICAg
ICAgcDIgPSB0aGlzZW5kOwotICAgICAgICAgICAgaWYgKG5vZGUgJiYgbm9kZS0+c3RhcnQgPj0g
ZmlsZS0+YnVmICYmIG5vZGUtPnN0YXJ0IDwgcDIpCi0gICAgICAgICAgICAgICAgcDIgPSBub2Rl
LT5zdGFydDsKLSAgICAgICAgICAgIHAgPSBtZW1jaHIoc3RhcnQsICcvJywgcDIgLSBzdGFydCk7
Ci0gICAgICAgICAgICBpZiAoIXApIHsKLSAgICAgICAgICAgICAgICBwcmludHRleHQoc3RhcnQs
IHAyIC0gc3RhcnQsIDEpOwotICAgICAgICAgICAgICAgIGlmIChwMiAhPSB0aGlzZW5kKSB7Ci0g
ICAgICAgICAgICAgICAgICAgIHN0YXJ0ID0gcDI7Ci0gICAgICAgICAgICAgICAgICAgIGNvbnRp
bnVlOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAg
ICAgIH0KLSAgICAgICAgICAgIC8qIFNlZSBpZiB3ZSdyZSBhdCB0aGUgc3RhcnQgb2YgYSBjb21t
ZW50LiBJZiBzbyBmaW5kIHRoZSBlbmQuICovCi0gICAgICAgICAgICBjb21tZW50ID0gMDsKLSAg
ICAgICAgICAgIGlmIChwICsgMSAhPSB0aGlzZW5kKSB7Ci0gICAgICAgICAgICAgICAgc3dpdGNo
IChwWzFdKSB7Ci0gICAgICAgICAgICAgICAgY2FzZSAnKic6Ci0gICAgICAgICAgICAgICAgICAg
IC8qIEJsb2NrIGNvbW1lbnQuICovCi0gICAgICAgICAgICAgICAgICAgIGNvbW1lbnQgPSBwOwot
ICAgICAgICAgICAgICAgICAgICBwKys7Ci0gICAgICAgICAgICAgICAgICAgIGRvIAotICAgICAg
ICAgICAgICAgICAgICAgICAgcCA9IG1lbWNocihwICsgMSwgJyonLCB0aGlzZW5kIC0gcCAtIDEp
OwotICAgICAgICAgICAgICAgICAgICB3aGlsZSAocFsxXSAhPSAnLycpOwotICAgICAgICAgICAg
ICAgICAgICBlbmRjb21tZW50ID0gcCArIDI7Ci0gICAgICAgICAgICAgICAgICAgIGJyZWFrOwot
ICAgICAgICAgICAgICAgIGNhc2UgJy8nOgotICAgICAgICAgICAgICAgICAgICAvKiBJbmxpbmUg
Y29tbWVudC4gKi8KLSAgICAgICAgICAgICAgICAgICAgY29tbWVudCA9IHA7Ci0gICAgICAgICAg
ICAgICAgICAgIHAgPSBtZW1jaHIocCwgJ1xuJywgdGhpc2VuZCAtIHApOwotICAgICAgICAgICAg
ICAgICAgICBpZiAoIXApCi0gICAgICAgICAgICAgICAgICAgICAgICBwID0gdGhpc2VuZDsKLSAg
ICAgICAgICAgICAgICAgICAgZW5kY29tbWVudCA9IHA7Ci0gICAgICAgICAgICAgICAgICAgIGJy
ZWFrOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGlmICgh
Y29tbWVudCkgewotICAgICAgICAgICAgICAgIC8qIE5vdCBhdCBzdGFydCBvZiBjb21tZW50LiAq
LwotICAgICAgICAgICAgICAgIHArKzsKLSAgICAgICAgICAgICAgICBwcmludHRleHQoc3RhcnQs
IHAgLSBzdGFydCwgMSk7Ci0gICAgICAgICAgICAgICAgc3RhcnQgPSBwOwotICAgICAgICAgICAg
ICAgIGFzc2VydChzdGFydCA8PSBlbmQpOwotICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotICAg
ICAgICAgICAgfQotICAgICAgICAgICAgLyogSWYgdGhlIGNvbW1lbnQgaGFzIG9ubHkgd2hpdGVz
cGFjZSBiZWZvcmUgaXQgb24gdGhlIGxpbmUsCi0gICAgICAgICAgICAgKiBlYXQgdGhhdCB1cC4g
Ki8KLSAgICAgICAgICAgIHAgPSBjb21tZW50OwotICAgICAgICAgICAgd2hpbGUgKHAgIT0gc3Rh
cnQgJiYgKChjaCA9IHBbLTFdKSA9PSAnICcgfHwgY2ggPT0gJ1x0JykpCi0gICAgICAgICAgICAg
ICAgcC0tOwotICAgICAgICAgICAgaWYgKHAgPT0gc3RhcnQgfHwgcFstMV0gPT0gJ1xuJykgewot
ICAgICAgICAgICAgICAgIGNvbW1lbnQgPSBwOwotICAgICAgICAgICAgICAgIC8qIElmIHRoZSBj
b21tZW50IGhhcyBvbmx5IHdoaXRlc3BhY2UgYWZ0ZXIgaXQgdG8gdGhlIGVuZAotICAgICAgICAg
ICAgICAgICAqIG9mIHRoZSBsaW5lLCBlYXQgdGhhdCBhbmQgdGhlIG5ld2xpbmUgdXAuIFRoaXMg
YWx3YXlzCi0gICAgICAgICAgICAgICAgICogaGFwcGVucyBmb3IgYW4gaW5saW5lIGNvbW1lbnQg
b24gYSBsaW5lIGJ5IGl0c2VsZi4gKi8KLSAgICAgICAgICAgICAgICBwID0gZW5kY29tbWVudDsK
LSAgICAgICAgICAgICAgICB3aGlsZSAocCAhPSB0aGlzZW5kICYmICgoY2ggPSAqcCkgPT0gJyAn
IHx8IGNoID09ICdcdCcpKQotICAgICAgICAgICAgICAgICAgICBwKys7Ci0gICAgICAgICAgICAg
ICAgaWYgKHAgIT0gdGhpc2VuZCAmJiAqcCA9PSAnXG4nKQotICAgICAgICAgICAgICAgICAgICBw
Kys7Ci0gICAgICAgICAgICAgICAgZW5kY29tbWVudCA9IHA7Ci0gICAgICAgICAgICB9Ci0gICAg
ICAgICAgICBwcmludHRleHQoc3RhcnQsIGNvbW1lbnQgLSBzdGFydCwgMSk7Ci0gICAgICAgICAg
ICBzdGFydCA9IGVuZGNvbW1lbnQ7Ci0gICAgICAgICAgICBpZiAoc3RhcnQgPiB0aGlzZW5kKQot
ICAgICAgICAgICAgICAgIHN0YXJ0ID0gdGhpc2VuZDsKLSAgICAgICAgfQotICAgICAgICBpZiAo
ZmluYWwpCi0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgZmlsZSA9IGZpbGUtPm5leHQ7Ci0g
ICAgICAgIGFzc2VydChmaWxlKTsKLSAgICAgICAgc3RhcnQgPSBmaWxlLT5idWY7Ci0gICAgfQot
fQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3NyYy9sZXguaCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93
aWRscHJvYy9zcmMvbGV4LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGUzMGI3N2Iz
NjVjNjJlZTlkYjUyNjgzYmNiZjM3YzdmNmFmZjQxYmEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3NyYy9sZXguaAorKysg
L2Rldi9udWxsCkBAIC0xLDE0MSArMCwwIEBACi0KLS8qKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogJElkJAot
ICogQ29weXJpZ2h0IDIwMDkgQXBsaXggQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQu
Ci0gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUg
IkxpY2Vuc2UiKTsKLSAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBs
aWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KLSAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUg
TGljZW5zZSBhdAotICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNF
LTIuMAotICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBp
biB3cml0aW5nLCBzb2Z0d2FyZQotICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMg
ZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKLSAqIFdJVEhPVVQgV0FSUkFOVElFUyBP
UiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgotICog
U2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1p
c3Npb25zIGFuZAotICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCi0gKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKiovCi0jaWZuZGVmIGxleF9oCi0jZGVmaW5lIGxleF9oCi0KLS8vIHN0YXJ0aW5nIGZyb20g
ImF0dHJpYnV0ZSIgYXJlIHRoZSBsaXN0IG9mIG5hbWVzIGFsbG93ZWQgYXMgYXJndW1lbnRzIGlk
ZW50aWZpZXIKLSNkZWZpbmUgS0VZV09SRFMgXAotICAgICJET01TdHJpbmdcMCIgXAotICAgICJC
eXRlU3RyaW5nXDAiIFwKLSAgICAiRGF0ZVwwIiBcCi0gICAgIlJlZ0V4cFwwIiBcCi0gICAgImZh
bHNlXDAiIFwKLSAgICAib2JqZWN0XDAiIFwKLSAgICAidHJ1ZVwwIiBcCi0gICAgImFueVwwIiBc
Ci0gICAgImJvb2xlYW5cMCIgXAotICAgICJieXRlXDAiIFwKLSAgICAiZG91YmxlXDAiIFwKLSAg
ICAiZmxvYXRcMCIgXAotICAgICJJbmZpbml0eVwwIiBcCi0gICAgIi1JbmZpbml0eVwwIiBcCi0g
ICAgIml0ZXJhdG9yXDAiIFwKLSAgICAibG9uZ1wwIiBcCi0gICAgIk5hTlwwIiBcCi0gICAgIm51
bGxcMCIgXAotICAgICJvY3RldFwwIiBcCi0gICAgIm9wdGlvbmFsXDAiIFwKLSAgICAib3JcMCIg
XAotICAgICJyZWFkb25seVwwIiBcCi0gICAgInNlcXVlbmNlXDAiIFwKLSAgICAic2hvcnRcMCIg
XAotICAgICJ1bnNpZ25lZFwwIiBcCi0gICAgInZvaWRcMCIgXAotICAgICJhdHRyaWJ1dGVcMCIg
XAotICAgICJjYWxsYmFja1wwIiBcCi0gICAgImNvbnN0XDAiIFwKLSAgICAiY3JlYXRvclwwIiBc
Ci0gICAgImRlbGV0ZXJcMCIgXAotICAgICJkaWN0aW9uYXJ5XDAiIFwKLSAgICAiZW51bVwwIiBc
Ci0gICAgImV4Y2VwdGlvblwwIiBcCi0gICAgImdldHRlclwwIiBcCi0gICAgImltcGxlbWVudHNc
MCIgXAotICAgICJpbmhlcml0XDAiIFwKLSAgICAiaW50ZXJmYWNlXDAiIFwKLSAgICAibGVnYWN5
Y2FsbGVyXDAiIFwKLSAgICAicGFydGlhbFwwIiBcCi0gICAgInNlcmlhbGl6ZXJcMCIgXAotICAg
ICJzZXR0ZXJcMCIgXAotICAgICJzdGF0aWNcMCIgXAotICAgICJzdHJpbmdpZmllclwwIiBcCi0g
ICAgInR5cGVkZWZcMCIgXAotICAgICJ1bnJlc3RyaWN0ZWRcMCIKLQotCi1lbnVtIHRva3R5cGUg
ewotICAgIFRPS19FT0YgPSAtMSwKLSAgICBUT0tfQkxPQ0tDT01NRU5UID0gMHg4MCwKLSAgICBU
T0tfSU5MSU5FQ09NTUVOVCwgVE9LX0lOVEVHRVIsIFRPS19GTE9BVCwgVE9LX0lERU5USUZJRVIs
Ci0gICAgVE9LX1NUUklORywgVE9LX0VMTElQU0lTLCBUT0tfRE9VQkxFQlJBQ0tFVCwKLSAgICAv
KiBLZXl3b3JkcyBtdXN0IGJlIGluIHRoZSBzYW1lIG9yZGVyIGFzIGFib3ZlLiAqLwotICAgIFRP
S19ET01TdHJpbmcsCi0gICAgVE9LX0J5dGVTdHJpbmcsCi0gICAgVE9LX0RhdGUsCi0gICAgVE9L
X1JlZ0V4cCwKLSAgICBUT0tfZmFsc2UsCi0gICAgVE9LX29iamVjdCwKLSAgICBUT0tfdHJ1ZSwK
LSAgICBUT0tfYW55LAotICAgIFRPS19ib29sZWFuLAotICAgIFRPS19ieXRlLAotICAgIFRPS19k
b3VibGUsCi0gICAgVE9LX2Zsb2F0LAotICAgIFRPS19pbmZpbml0eSwKLSAgICBUT0tfbWludXNp
bmZpbml0eSwKLSAgICBUT0tfaXRlcmF0b3IsCi0gICAgVE9LX2xvbmcsCi0gICAgVE9LX05hTiwK
LSAgICBUT0tfbnVsbCwKLSAgICBUT0tfb2N0ZXQsCi0gICAgVE9LX29wdGlvbmFsLAotICAgIFRP
S19vciwKLSAgICBUT0tfcmVhZG9ubHksCi0gICAgVE9LX3NlcXVlbmNlLAotICAgIFRPS19zaG9y
dCwKLSAgICBUT0tfdW5zaWduZWQsCi0gICAgVE9LX3ZvaWQsCi0gICAgLyogQmVsb3cgdGhhdCBs
aW5lIGFyZSBrZXl3b3JkcyB0aGF0IGFyZSBhbGxvd2VkIGFzIGFyZ3VtZW50cyBuYW1lcyAqLwot
ICAgIFRPS19hdHRyaWJ1dGUsCi0gICAgVE9LX2NhbGxiYWNrLAotICAgIFRPS19jb25zdCwKLSAg
ICBUT0tfY3JlYXRvciwKLSAgICBUT0tfZGVsZXRlciwKLSAgICBUT0tfZGljdGlvbmFyeSwKLSAg
ICBUT0tfZW51bSwKLSAgICBUT0tfZXhjZXB0aW9uLAotICAgIFRPS19nZXR0ZXIsCi0gICAgVE9L
X2ltcGxlbWVudHMsCi0gICAgVE9LX2luaGVyaXQsCi0gICAgVE9LX2ludGVyZmFjZSwKLSAgICBU
T0tfbGVnYWN5Y2FsbGVyLAotICAgIFRPS19wYXJ0aWFsLAotICAgIFRPS19zZXJpYWxpemVyLAot
ICAgIFRPS19zZXR0ZXIsCi0gICAgVE9LX3N0YXRpYywKLSAgICBUT0tfc3RyaW5naWZpZXIsCi0g
ICAgVE9LX3R5cGVkZWYsCi0gICAgVE9LX3VucmVzdHJpY3RlZCwKLX07Ci0KLXN0cnVjdCB0b2sg
ewotICAgIGVudW0gdG9rdHlwZSB0eXBlOwotICAgIGNvbnN0IGNoYXIgKmZpbGVuYW1lOwotICAg
IHVuc2lnbmVkIGludCBsaW5lbnVtOwotICAgIGNvbnN0IGNoYXIgKnByZXN0YXJ0OwotICAgIGNv
bnN0IGNoYXIgKnN0YXJ0OwotICAgIHVuc2lnbmVkIGludCBsZW47Ci19OwotCi1leHRlcm4gY29u
c3QgY2hhciAqZmlsZW5hbWU7Ci1leHRlcm4gY29uc3QgY2hhciBrZXl3b3Jkc1tdOwotCi1zdHJ1
Y3Qgbm9kZTsKLQotdm9pZCByZWFkaW5wdXQoY29uc3QgY2hhciAqY29uc3QgKmFyZ3YpOwotc3Ry
dWN0IHRvayAqbGV4KHZvaWQpOwotdm9pZCBvdXRwdXR3aWRsKHN0cnVjdCBub2RlICpub2RlKTsK
LQotI2VuZGlmIC8qIG5kZWYgbGV4X2ggKi8KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJv
Yy9zcmMvbWFpbi5jIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3NyYy9tYWluLmMKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IGRmOTBlMzQ3ZGU4YzVkMDFkZjk0ODZkNzQzZGE3MGNlYzhjMmYx
NWUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3dpZGxwcm9jL3NyYy9tYWluLmMKKysrIC9kZXYvbnVsbApAQCAtMSw2MyArMCwwIEBACi0v
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioKLSAqICRJZCQKLSAqIENvcHlyaWdodCAyMDA5IEFwbGl4IENvcnBvcmF0
aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBM
aWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7Ci0gKiB5b3UgbWF5IG5vdCB1c2Ug
dGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCi0gKiBZb3Ug
bWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKLSAqICAgICBodHRwOi8vd3d3LmFw
YWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKLSAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBs
aWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKLSAqIGRpc3RyaWJ1
dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMs
Ci0gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVy
IGV4cHJlc3Mgb3IgaW1wbGllZC4KLSAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmlj
IGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKLSAqIGxpbWl0YXRpb25zIHVuZGVy
IHRoZSBMaWNlbnNlLgotICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwotI2luY2x1ZGUgPHN0cmluZy5oPgotI2lu
Y2x1ZGUgIm1pc2MuaCIKLSNpbmNsdWRlICJwcm9jZXNzLmgiCi0KLXN0YXRpYyBjb25zdCBjaGFy
IG5vZHRkb3B0W10gPSAiLW5vLWR0ZC1yZWYiOwotY29uc3QgY2hhciAqcHJvZ25hbWU7Ci0KLS8q
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKgotICogb3B0aW9ucyA6IHByb2Nlc3MgY29tbWFuZCBsaW5lIG9wdGlvbnMK
LSAqCi0gKiBFbnRlcjogICBhcmd2Ci0gKgotICogUmV0dXJuOiAgYXJndiBzdGVwcGVkIHRvIHBv
aW50IHRvIGZpcnN0IG5vbi1vcHRpb24gYXJndW1lbnQKLSAqLwotc3RhdGljIGNvbnN0IGNoYXIg
KmNvbnN0ICoKLW9wdGlvbnMoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKmNvbnN0ICphcmd2KQotewot
ICAgIC8qIFNldCBwcm9nbmFtZSBmb3IgZXJyb3IgbWVzc2FnZXMgZXRjLiAqLwotICAgIHsKLSAg
ICAgICAgY29uc3QgY2hhciAqYmFzZTsKLSAgICAgICAgcHJvZ25hbWUgPSBhcmd2WzBdOwotICAg
ICAgICBiYXNlID0gc3RycmNocihwcm9nbmFtZSwgJy8nKTsKLSNpZmRlZiBESVJTRVAKLSAgICAg
ICAgewotICAgICAgICAgICAgY29uc3QgY2hhciAqYmFzZTIgPSBzdHJyY2hyKGJhc2UsICdcXCcp
OwotICAgICAgICAgICAgaWYgKGJhc2UyID4gYmFzZSkKLSAgICAgICAgICAgICAgICBiYXNlID0g
YmFzZTI7Ci0gICAgICAgIH0KLSNlbmRpZiAvKiBkZWYgRElSU0VQICovCi0gICAgICAgIGlmIChi
YXNlKQotICAgICAgICAgICAgcHJvZ25hbWUgPSBiYXNlICsgMTsKLSAgICB9Ci0gICAgcmV0dXJu
IChhcmdjID4gMSAmJiBzdHJuY21wKGFyZ3ZbMV0sIG5vZHRkb3B0LCBzaXplb2Ygbm9kdGRvcHQp
ID09IDApCi0gICAgICAgICAgPyBhcmd2ICsgMiA6IGFyZ3YgKyAxOwotfQotCi0vKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioKLSAqIG1haW4gOiBtYWluIGNvZGUgZm9yIGJvbmRpaWRsIGNvbW1hbmQKLSAqLwotaW50
Ci1tYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKLXsKLSAgICBjb25zdCBjaGFyICpjb25zdCAq
cGFyZzsKLSAgICBwYXJnID0gb3B0aW9ucyhhcmdjLCAoY29uc3QgY2hhciAqY29uc3QgKilhcmd2
KTsKLSAgICBpZiAoISpwYXJnKQotICAgICAgICBlcnJvcmV4aXQoInVzYWdlOiAlcyBbLW5vLWR0
ZC1yZWZdIDxpbnRlcmZhY2U+LndpZGwgLi4uIiwgcHJvZ25hbWUpOwotICAgIHByb2Nlc3NmaWxl
cyhwYXJnLCBwYXJnID09IChjb25zdCBjaGFyICpjb25zdCAqKWFyZ3YgKyAxKTsKLSAgICByZXR1
cm4gMDsKLX0KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3NyYy9taXNjLmMgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3Qvd2lkbHByb2Mvc3JjL21pc2MuYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMzdhZmYzZjM0ZGI2NjE2NGM2ZDYxY2ZkMDRkOTg1NzYyZGMwYTk2ZS4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mvc3Jj
L21pc2MuYworKysgL2Rldi9udWxsCkBAIC0xLDExOSArMCwwIEBACi0vKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioK
LSAqICRJZCQKLSAqIENvcHlyaWdodCAyMDA5IEFwbGl4IENvcnBvcmF0aW9uLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgotICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9u
IDIuMCAodGhlICJMaWNlbnNlIik7Ci0gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2Vw
dCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCi0gKiBZb3UgbWF5IG9idGFpbiBhIGNv
cHkgb2YgdGhlIExpY2Vuc2UgYXQKLSAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5z
ZXMvTElDRU5TRS0yLjAKLSAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBh
Z3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKLSAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBM
aWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCi0gKiBXSVRIT1VUIFdB
UlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1w
bGllZC4KLSAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVy
bmluZyBwZXJtaXNzaW9ucyBhbmQKLSAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgot
ICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqLwotI2luY2x1ZGUgPHN0ZGFyZy5oPgotI2luY2x1ZGUgPHN0ZGlvLmg+
Ci0jaW5jbHVkZSA8c3RkbGliLmg+Ci0jaW5jbHVkZSA8c3RyaW5nLmg+Ci0jaW5jbHVkZSAibWlz
Yy5oIgotI2luY2x1ZGUgIm9zLmgiIC8qIHRvIGdldCB2YV9jb3B5IG9uIHdpbmRvd3MgKi8KLQot
ZXh0ZXJuIGNvbnN0IGNoYXIgKnByb2duYW1lOwotCi0vKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIG1lbW9y
eSBhbGxvY2F0aW9uIHdyYXBwZXJzCi0gKi8KLXZvaWQgKgotbWVtYWxsb2Moc2l6ZV90IHNpemUp
Ci17Ci0gICAgdm9pZCAqcHRyID0gbWFsbG9jKHNpemUpOwotICAgIGlmICghcHRyKQotICAgICAg
ICBlcnJvcmV4aXQoIm91dCBvZiBtZW1vcnkiKTsKLSAgICAvKiBaZXJvIGluaXRpYWxpc2UgbWVt
b3J5IGZyb20gbWVtYWxsb2MuICovCi0gICAgbWVtc2V0KHB0ciwgMCwgc2l6ZSk7Ci0gICAgcmV0
dXJuIHB0cjsKLX0KLQotdm9pZCAqCi1tZW1yZWFsbG9jKHZvaWQgKnB0ciwgc2l6ZV90IHNpemUp
Ci17Ci0gICAgdm9pZCAqbmV3cHRyID0gcmVhbGxvYyhwdHIsIHNpemUpOwotICAgIGlmICghbmV3
cHRyKQotICAgICAgICBlcnJvcmV4aXQoIm91dCBvZiBtZW1vcnkiKTsKLSAgICByZXR1cm4gbmV3
cHRyOwotfQotCi12b2lkCi1tZW1mcmVlKHZvaWQgKnB0cikKLXsKLSAgICAqKGludCAqKXB0ciA9
IDB4ZmVmZWZlZmU7Ci0gICAgZnJlZShwdHIpOwotfQotCi0vKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIHZt
ZW1wcmludGYsIG1lbXByaW50ZiA6IGFsbG9jYXRlIGJ1ZmZlciBhbmQgc3ByaW50ZiBpbnRvIGl0
Ci0gKi8KLWNoYXIgKgotbWVtcHJpbnRmKGNvbnN0IGNoYXIgKmZvcm1hdCwgLi4uKQotewotICAg
IHZhX2xpc3QgYXA7Ci0gICAgY2hhciAqYnVmOwotICAgIHZhX3N0YXJ0KGFwLCBmb3JtYXQpOwot
ICAgIGJ1ZiA9IHZtZW1wcmludGYoZm9ybWF0LCBhcCk7Ci0gICAgdmFfZW5kKGFwKTsKLSAgICBy
ZXR1cm4gYnVmOwotfQotCi1jaGFyICoKLXZtZW1wcmludGYoY29uc3QgY2hhciAqZm9ybWF0LCB2
YV9saXN0IGFwKQotewotICAgIGNoYXIgKmJ1ZjsKLSAgICB1bnNpZ25lZCBpbnQgbWF4LCBsZW47
Ci0gICAgdmFfbGlzdCBhcDI7Ci0gICAgbWF4ID0gMTY7Ci0gICAgZm9yICg7OykgewotICAgICAg
ICB2YV9jb3B5KGFwMiwgYXApOwotICAgICAgICBidWYgPSBtZW1hbGxvYyhtYXgpOwotICAgICAg
ICBsZW4gPSB2c25wcmludGYoYnVmLCBtYXgsIGZvcm1hdCwgYXAyKTsKLSAgICAgICAgdmFfZW5k
KGFwMik7Ci0gICAgICAgIGlmIChsZW4gPCBtYXgpCi0gICAgICAgICAgICBicmVhazsKLSAgICAg
ICAgbWVtZnJlZShidWYpOwotICAgICAgICBtYXggKj0gMjsKLSAgICB9Ci0gICAgcmV0dXJuIGJ1
ZjsKLX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBlcnJvcmV4aXQgOiBwcmludCBlcnJvciBtZXNz
YWdlIHRoZW4gZXhpdAotICovCi12b2lkCi12bG9jZXJyb3JleGl0KGNvbnN0IGNoYXIgKmZpbGVu
YW1lLCB1bnNpZ25lZCBpbnQgbGluZW51bSwKLSAgICAgICAgY29uc3QgY2hhciAqZm9ybWF0LCB2
YV9saXN0IGFwKQotewotICAgIGlmIChmaWxlbmFtZSkKLSAgICAgICAgZnByaW50ZihzdGRlcnIs
IGxpbmVudW0gPyAiJXM6ICVpOiAiIDogIiVzOiAiLCBmaWxlbmFtZSwgbGluZW51bSk7Ci0gICAg
dmZwcmludGYoc3RkZXJyLCBmb3JtYXQsIGFwKTsKLSAgICBmcHV0YygnXG4nLCBzdGRlcnIpOwot
ICAgIGV4aXQoMSk7Ci19Ci0KLXZvaWQKLWxvY2Vycm9yZXhpdChjb25zdCBjaGFyICpmaWxlbmFt
ZSwgdW5zaWduZWQgaW50IGxpbmVudW0sCi0gICAgICAgIGNvbnN0IGNoYXIgKmZvcm1hdCwgLi4u
KQotewotICAgIHZhX2xpc3QgYXA7Ci0gICAgdmFfc3RhcnQoYXAsIGZvcm1hdCk7Ci0gICAgdmxv
Y2Vycm9yZXhpdChmaWxlbmFtZSwgbGluZW51bSwgZm9ybWF0LCBhcCk7Ci0gICAgdmFfZW5kKGFw
KTsKLX0KLQotdm9pZAotZXJyb3JleGl0KGNvbnN0IGNoYXIgKmZvcm1hdCwgLi4uKQotewotICAg
IHZhX2xpc3QgYXA7Ci0gICAgdmFfc3RhcnQoYXAsIGZvcm1hdCk7Ci0gICAgdmxvY2Vycm9yZXhp
dCgwLCAwLCBmb3JtYXQsIGFwKTsKLSAgICB2YV9lbmQoYXApOwotfQotCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3Qvd2lkbHByb2Mvc3JjL21pc2MuaCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9zcmMvbWlz
Yy5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMWMzNmQyMThlZGVmYjJkMjBiNjk4
NjkwNjI0OTA4NDc1ZTkzMDJkLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9zcmMvbWlzYy5oCisrKyAvZGV2L251bGwKQEAg
LTEsMzEgKzAsMCBAQAotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiAkSWQkCi0gKiBDb3B5cmlnaHQgMjAw
OSBBcGxpeCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIExpY2Vuc2VkIHVu
ZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOwotICog
eW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBM
aWNlbnNlLgotICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0Ci0gKiAg
ICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCi0gKiBVbmxlc3Mg
cmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3
YXJlCi0gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBh
biAiQVMgSVMiIEJBU0lTLAotICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0Yg
QU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCi0gKiBTZWUgdGhlIExpY2Vuc2Ug
Zm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCi0gKiBs
aW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KLSAqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLSNpZm5kZWYg
bWlzY19oCi0jZGVmaW5lIG1pc2NfaAotI2luY2x1ZGUgPHN0ZGFyZy5oPgotI2luY2x1ZGUgPHN0
ZGxpYi5oPgotCi12b2lkICptZW1hbGxvYyhzaXplX3Qgc2l6ZSk7Ci12b2lkICptZW1yZWFsbG9j
KHZvaWQgKnB0ciwgc2l6ZV90IHNpemUpOwotdm9pZCBtZW1mcmVlKHZvaWQgKnB0cik7Ci0KLWNo
YXIgKnZtZW1wcmludGYoY29uc3QgY2hhciAqZm9ybWF0LCB2YV9saXN0IGFwKTsKLWNoYXIgKm1l
bXByaW50Zihjb25zdCBjaGFyICpmb3JtYXQsIC4uLik7Ci0KLXZvaWQgdmxvY2Vycm9yZXhpdChj
b25zdCBjaGFyICpmaWxlbmFtZSwgdW5zaWduZWQgaW50IGxpbmVudW0sIGNvbnN0IGNoYXIgKmZv
cm1hdCwgdmFfbGlzdCBhcCk7Ci12b2lkIGxvY2Vycm9yZXhpdChjb25zdCBjaGFyICpmaWxlbmFt
ZSwgdW5zaWduZWQgaW50IGxpbmVudW0sIGNvbnN0IGNoYXIgKmZvcm1hdCwgLi4uKTsKLXZvaWQg
ZXJyb3JleGl0KGNvbnN0IGNoYXIgKmZvcm1hdCwgLi4uKTsKLQotI2VuZGlmIC8qIG5kZWYgbWlz
Y19oICovCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9zcmMvbm9kZS5jIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L3dpZGxwcm9jL3NyYy9ub2RlLmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IGQ4ZjczNzkwOWE0MDQ4MGNmNGViZjA1MTI1YmFkYzZjYjllYTM1YzYuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3NyYy9u
b2RlLmMKKysrIC9kZXYvbnVsbApAQCAtMSwzMzEgKzAsMCBAQAotLyoqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0g
KiAkSWQkCi0gKiBDb3B5cmlnaHQgMjAwOSBBcGxpeCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KLSAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAy
LjAgKHRoZSAiTGljZW5zZSIpOwotICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQg
aW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgotICogWW91IG1heSBvYnRhaW4gYSBjb3B5
IG9mIHRoZSBMaWNlbnNlIGF0Ci0gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2Vz
L0xJQ0VOU0UtMi4wCi0gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdy
ZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCi0gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGlj
ZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAotICogV0lUSE9VVCBXQVJS
QU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxp
ZWQuCi0gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5p
bmcgcGVybWlzc2lvbnMgYW5kCi0gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KLSAq
Ci0gKiBOb2RlLXNwZWNpZmljIGZ1bmN0aW9ucwotICoqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwotI2luY2x1ZGUg
PGFzc2VydC5oPgotI2luY2x1ZGUgPHN0ZGlvLmg+Ci0jaW5jbHVkZSA8c3RyaW5nLmg+Ci0jaW5j
bHVkZSAiY29tbWVudC5oIgotI2luY2x1ZGUgImxleC5oIgotI2luY2x1ZGUgIm1pc2MuaCIKLSNp
bmNsdWRlICJub2RlLmgiCi0jaW5jbHVkZSAicHJvY2Vzcy5oIgotCi1zdHJ1Y3Qgbm9kZSAqCi1u
ZXdlbGVtZW50KGNvbnN0IGNoYXIgKm5hbWUpCi17Ci0gICAgc3RydWN0IGVsZW1lbnQgKmVsZW1l
bnQgPSBtZW1hbGxvYyhzaXplb2Yoc3RydWN0IGVsZW1lbnQpKTsKLSAgICBlbGVtZW50LT5uLnR5
cGUgPSBOT0RFX0VMRU1FTlQ7Ci0gICAgZWxlbWVudC0+bmFtZSA9IG5hbWU7Ci0gICAgcmV0dXJu
ICZlbGVtZW50LT5uOwotfQotCi1zdHJ1Y3Qgbm9kZSAqCi1uZXdhdHRyKGNvbnN0IGNoYXIgKm5h
bWUsIGNvbnN0IGNoYXIgKnZhbCkKLXsKLSAgICBzdHJ1Y3QgYXR0ciAqYXR0ciA9IG1lbWFsbG9j
KHNpemVvZihzdHJ1Y3QgYXR0cikpOwotICAgIGF0dHItPm4udHlwZSA9IE5PREVfQVRUUjsKLSAg
ICBhdHRyLT5uYW1lID0gbmFtZTsKLSAgICBhdHRyLT52YWx1ZSA9IHZhbDsKLSAgICByZXR1cm4g
JmF0dHItPm47Ci19Ci0KLXN0cnVjdCBub2RlICoKLW5ld2F0dHJsaXN0KHZvaWQpCi17Ci0gICAg
c3RydWN0IGF0dHJsaXN0ICphdHRybGlzdCA9IG1lbWFsbG9jKHNpemVvZihzdHJ1Y3QgYXR0cmxp
c3QpKTsKLSAgICBhdHRybGlzdC0+bi50eXBlID0gTk9ERV9BVFRSTElTVDsKLSAgICByZXR1cm4g
JmF0dHJsaXN0LT5uOwotfQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIGFkZG5vZGUgOiBhZGQgbm9k
ZSBhcyBjaGlsZCBvZiBhbm90aGVyIG5vZGUKLSAqCi0gKiBFbnRlcjogICBwYXJlbnQgbm9kZQot
ICogICAgICAgICAgY2hpbGQgbm9kZQotICoKLSAqIFRoZSBjaGlsZHJlbiBsaXN0IGlzIGNvbnN0
cnVjdGVkIGJhY2t3YXJkcy4gVGhpcyBpcyBmaXhlZCBsYXRlciB3aXRoCi0gKiBhIGNhbGwgdG8g
cmV2ZXJzZWNoaWxkcmVuLgotICoKLSAqIElmIGNoaWxkIGlzIGFuIGF0dHJsaXN0LCBpdHMgY2hp
bGRyZW4gYXJlIGFkZGVkIHRvIHBhcmVudCBhbmQgdGhlCi0gKiBhdHRybGlzdCBpcyBmcmVlZC4K
LSAqLwotdm9pZAotYWRkbm9kZShzdHJ1Y3Qgbm9kZSAqcGFyZW50LCBzdHJ1Y3Qgbm9kZSAqY2hp
bGQpCi17Ci0gICAgaWYgKCFjaGlsZCkKLSAgICAgICAgcmV0dXJuOwotICAgIGlmIChjaGlsZC0+
dHlwZSA9PSBOT0RFX0FUVFJMSVNUKSB7Ci0gICAgICAgIC8qIEFkZCB0aGUgYXR0cnMgaW4gdGhl
IGF0dHJsaXN0IHRvIHBhcmVudC4gKi8KLSAgICAgICAgc3RydWN0IG5vZGUgKmNoaWxkMjsKLSAg
ICAgICAgcmV2ZXJzZWNoaWxkcmVuKGNoaWxkKTsKLSAgICAgICAgY2hpbGQyID0gY2hpbGQtPmNo
aWxkcmVuOwotICAgICAgICBtZW1mcmVlKGNoaWxkKTsKLSAgICAgICAgd2hpbGUgKGNoaWxkMikg
ewotICAgICAgICAgICAgc3RydWN0IG5vZGUgKm5leHQgPSBjaGlsZDItPm5leHQ7Ci0gICAgICAg
ICAgICBhZGRub2RlKHBhcmVudCwgY2hpbGQyKTsKLSAgICAgICAgICAgIGNoaWxkMiA9IG5leHQ7
Ci0gICAgICAgIH0KLSAgICB9IGVsc2UgewotICAgICAgICBjaGlsZC0+bmV4dCA9IHBhcmVudC0+
Y2hpbGRyZW47Ci0gICAgICAgIHBhcmVudC0+Y2hpbGRyZW4gPSBjaGlsZDsKLSAgICAgICAgY2hp
bGQtPnBhcmVudCA9IHBhcmVudDsKLSAgICB9Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogcmV2
ZXJzZWNoaWxkcmVuIDogcmVjdXJzaXZlbHkgcmV2ZXJzZSBjaGlsZCBsaXN0cwotICoKLSAqIEFs
c28gc2V0cyBwYXJlbnQgZmllbGQgb24gZWFjaCBub2RlLgotICovCi12b2lkCi1yZXZlcnNlY2hp
bGRyZW4oc3RydWN0IG5vZGUgKm5vZGUpCi17Ci0gICAgc3RydWN0IG5vZGUgKm5ld2xpc3QgPSAw
OwotICAgIHN0cnVjdCBub2RlICpjaGlsZCA9IG5vZGUtPmNoaWxkcmVuOwotICAgIHdoaWxlIChj
aGlsZCkgewotICAgICAgICBzdHJ1Y3Qgbm9kZSAqbmV4dCA9IGNoaWxkLT5uZXh0OwotICAgICAg
ICBjaGlsZC0+cGFyZW50ID0gbm9kZTsKLSAgICAgICAgY2hpbGQtPm5leHQgPSBuZXdsaXN0Owot
ICAgICAgICBuZXdsaXN0ID0gY2hpbGQ7Ci0gICAgICAgIHJldmVyc2VjaGlsZHJlbihjaGlsZCk7
Ci0gICAgICAgIGNoaWxkID0gbmV4dDsKLSAgICB9Ci0gICAgbm9kZS0+Y2hpbGRyZW4gPSBuZXds
aXN0OwotfQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIG5vZGVpc2VtcHR5IDogdGVzdCBpZiBub2Rl
IGlzIGVtcHR5IChoYXMgbm8gY2hpbGRyZW4pCi0gKi8KLWludAotbm9kZWlzZW1wdHkoc3RydWN0
IG5vZGUgKm5vZGUpCi17Ci0gICAgcmV0dXJuICFub2RlLT5jaGlsZHJlbjsKLX0KLQotLyoqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqCi0gKiBub2Rld2FsayA6IHNpbmdsZSBzdGVwIG9mIGRlcHRoIGxhc3QgdHJhdmVy
c2FsIG9mIG5vZGUgdHJlZQotICoKLSAqIFJldHVybjogIG5leHQgbm9kZSBpbiB3YWxrLCAwIGlm
IGZpbmlzaGVkCi0gKi8KLXN0cnVjdCBub2RlICoKLW5vZGV3YWxrKHN0cnVjdCBub2RlICpub2Rl
KQotewotICAgIGlmIChub2RlLT5jaGlsZHJlbikKLSAgICAgICAgcmV0dXJuIG5vZGUtPmNoaWxk
cmVuOwotICAgIGlmIChub2RlLT5uZXh0KQotICAgICAgICByZXR1cm4gbm9kZS0+bmV4dDsKLSAg
ICBkbyB7Ci0gICAgICAgIG5vZGUgPSBub2RlLT5wYXJlbnQ7Ci0gICAgICAgIGlmICghbm9kZSkK
LSAgICAgICAgICAgIHJldHVybiAwOwotICAgIH0gd2hpbGUgKCFub2RlLT5uZXh0KTsKLSAgICBy
ZXR1cm4gbm9kZS0+bmV4dDsKLX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBmaW5kY2hpbGRlbGVt
ZW50IDogZmluZCBjaGlsZCBlbGVtZW50IG9mIGEgcGFydGljdWxhciBuYW1lCi0gKgotICogRW50
ZXI6ICAgbm9kZSA9IGVsZW1lbnQKLSAqICAgICAgICAgIG5hbWUgPSBuYW1lIHRvIGZpbmQKLSAq
Ci0gKiBSZXR1cm46ICAwIGVsc2UgY2hpbGQgZWxlbWVudCBvZiB0aGF0IG5hbWUKLSAqLwotc3Rh
dGljIHN0cnVjdCBub2RlICoKLWZpbmRjaGlsZGVsZW1lbnQoc3RydWN0IG5vZGUgKm5vZGUsIGNv
bnN0IGNoYXIgKm5hbWUpCi17Ci0gICAgbm9kZSA9IG5vZGUtPmNoaWxkcmVuOwotICAgIHdoaWxl
IChub2RlKSB7Ci0gICAgICAgIGlmIChub2RlLT50eXBlID09IE5PREVfRUxFTUVOVCkgewotICAg
ICAgICAgICAgc3RydWN0IGVsZW1lbnQgKmVsZW1lbnQgPSAodm9pZCAqKW5vZGU7Ci0gICAgICAg
ICAgICBpZiAoIXN0cmNtcChlbGVtZW50LT5uYW1lLCBuYW1lKSkKLSAgICAgICAgICAgICAgICBi
cmVhazsKLSAgICAgICAgfQotICAgICAgICBub2RlID0gbm9kZS0+bmV4dDsKLSAgICB9Ci0gICAg
cmV0dXJuIG5vZGU7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogZ2V0YXR0ciA6IGdldCB2YWx1
ZSBvZiBhdHRyaWJ1dGUKLSAqCi0gKiBFbnRlcjogICBub2RlID0gZWxlbWVudCB0byBmaW5kIGF0
dHJpYnV0ZSBpbgotICogICAgICAgICAgbmFtZSA9IG5hbWUgb2YgYXR0cmlidXRlCi0gKgotICog
UmV0dXJuOiAgMCBpZiBub3QgZm91bmQsIGVsc2UgMC10ZXJtaW5hdGVkIHN0cmluZyB2YWx1ZQot
ICovCi1jb25zdCBjaGFyICoKLWdldGF0dHIoc3RydWN0IG5vZGUgKm5vZGUsIGNvbnN0IGNoYXIg
Km5hbWUpCi17Ci0gICAgbm9kZSA9IG5vZGUtPmNoaWxkcmVuOwotICAgIHdoaWxlIChub2RlKSB7
Ci0gICAgICAgIGlmIChub2RlLT50eXBlID09IE5PREVfQVRUUikgewotICAgICAgICAgICAgc3Ry
dWN0IGF0dHIgKmF0dHIgPSAodm9pZCAqKW5vZGU7Ci0gICAgICAgICAgICBpZiAoIXN0cmNtcChh
dHRyLT5uYW1lLCBuYW1lKSkKLSAgICAgICAgICAgICAgICByZXR1cm4gYXR0ci0+dmFsdWU7Ci0g
ICAgICAgIH0KLSAgICAgICAgbm9kZSA9IG5vZGUtPm5leHQ7Ci0gICAgfQotICAgIHJldHVybiAw
OwotfQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioKLSAqIGZpbmRjaGlsZGVsZW1lbnR3aXRobmFtZWF0dHIg
OiBmaW5kIGNoaWxkIGVsZW1lbnQgd2l0aCBhIG5hbWUgYXR0cmlidXRlCi0gKiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgb2YgYSBwYXJ0aWN1bGFyIHZhbHVlCi0gKgotICogRW50ZXI6
ICAgbm9kZSA9IGVsZW1lbnQKLSAqICAgICAgICAgIG5hbWUgPSBuYW1lIHRvIGZpbmQKLSAqCi0g
KiBSZXR1cm46ICAwIGVsc2UgY2hpbGQgZWxlbWVudCB3aXRoIG5hbWUgYXR0ciBvZiB0aGF0IHZh
bHVlCi0gKi8KLXN0YXRpYyBzdHJ1Y3Qgbm9kZSAqCi1maW5kY2hpbGRlbGVtZW50d2l0aG5hbWVh
dHRyKHN0cnVjdCBub2RlICpub2RlLCBjb25zdCBjaGFyICpuYW1lKQotewotICAgIG5vZGUgPSBu
b2RlLT5jaGlsZHJlbjsKLSAgICB3aGlsZSAobm9kZSkgewotICAgICAgICBpZiAobm9kZS0+dHlw
ZSA9PSBOT0RFX0VMRU1FTlQpIHsKLSAgICAgICAgICAgIGNvbnN0IGNoYXIgKnMgPSBnZXRhdHRy
KG5vZGUsICJuYW1lIik7Ci0gICAgICAgICAgICBpZiAocyAmJiAhc3RyY21wKHMsIG5hbWUpKQot
ICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0gICAgICAgIG5vZGUgPSBub2RlLT5u
ZXh0OwotICAgIH0KLSAgICByZXR1cm4gbm9kZTsKLX0KLQotLyoqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBm
aW5kcmV0dXJudHlwZSA6IGZpbmQgVHlwZSBwYXJzZSBub2RlIGZvciByZXR1cm4gdHlwZQotICoK
LSAqIEVudGVyOiAgIG5vZGUgPSBPcGVyYXRpb24gZWxlbWVudAotICoKLSAqIFJldHVybjogIDAg
aWYgbm90IGZvdW5kLCBlbHNlIFR5cGUgcGFyc2Ugbm9kZSBmb3IgcmV0dXJuIHR5cGUKLSAqLwot
c3RydWN0IG5vZGUgKgotZmluZHJldHVybnR5cGUoc3RydWN0IG5vZGUgKm5vZGUpCi17Ci0gICAg
cmV0dXJuIGZpbmRjaGlsZGVsZW1lbnQobm9kZSwgIlR5cGUiKTsKLX0KLQotLyoqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqCi0gKiBmaW5kcGFyYW1pZGVudGlmaWVyIDogZmluZCBpZGVudGlmaWVyIHBhcnNlIG5vZGUg
Zm9yIHBhcmFtZXRlcgotICoKLSAqIEVudGVyOiAgIG5vZGUgPSBPcGVyYXRpb24gZWxlbWVudAot
ICogICAgICAgICAgbmFtZSA9IHBhcmFtZXRlciBuYW1lIHRvIGZpbmQKLSAqCi0gKiBSZXR1cm46
ICAwIGlmIG5vdCBmb3VuZCwgZWxzZSBub2RlIHN0cnVjdCBmb3IgcGFyYW1ldGVyIGlkZW50aWZp
ZXIKLSAqLwotc3RydWN0IG5vZGUgKgotZmluZHBhcmFtaWRlbnRpZmllcihzdHJ1Y3Qgbm9kZSAq
bm9kZSwgY29uc3QgY2hhciAqbmFtZSkKLXsKLSAgICBub2RlID0gZmluZGNoaWxkZWxlbWVudChu
b2RlLCAiQXJndW1lbnRMaXN0Iik7Ci0gICAgaWYgKG5vZGUpCi0gICAgICAgIG5vZGUgPSBmaW5k
Y2hpbGRlbGVtZW50d2l0aG5hbWVhdHRyKG5vZGUsIG5hbWUpOwotICAgIHJldHVybiBub2RlOwot
fQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioKLSAqIGZpbmR0aHJvd2lkZW50aWZpZXIgOiBmaW5kIGlkZW50
aWZpZXIgcGFyc2Ugbm9kZSBmb3IgZXhjZXB0aW9uIG5hbWUKLSAqCi0gKiBFbnRlcjogICBub2Rl
ID0gT3BlcmF0aW9uIGVsZW1lbnQKLSAqICAgICAgICAgIG5hbWUgPSBleGNlcHRpb24gbmFtZSB0
byBmaW5kCi0gKgotICogUmV0dXJuOiAgMCBpZiBub3QgZm91bmQsIGVsc2Ugbm9kZSBmb3IgTmFt
ZSBlbGVtZW50LCBjaGlsZCBvZiBSYWlzZXMKLSAqICAgICAgICAgICAgICBvciBTZXRSYWlzZXMK
LSAqLwotc3RydWN0IG5vZGUgKgotZmluZHRocm93aWRlbnRpZmllcihzdHJ1Y3Qgbm9kZSAqbm9k
ZSwgY29uc3QgY2hhciAqbmFtZSkKLXsKLSAgICBzdHJ1Y3Qgbm9kZSAqbm9kZTIgPSBmaW5kY2hp
bGRlbGVtZW50KG5vZGUsICJSYWlzZXMiKTsKLSAgICBpZiAobm9kZTIpCi0gICAgICAgIG5vZGUy
ID0gZmluZGNoaWxkZWxlbWVudHdpdGhuYW1lYXR0cihub2RlMiwgbmFtZSk7Ci0gICAgaWYgKCFu
b2RlMikgewotICAgICAgICBub2RlMiA9IGZpbmRjaGlsZGVsZW1lbnQobm9kZSwgIlNldFJhaXNl
cyIpOwotICAgICAgICBpZiAobm9kZTIpCi0gICAgICAgICAgICBub2RlMiA9IGZpbmRjaGlsZGVs
ZW1lbnR3aXRobmFtZWF0dHIobm9kZTIsIG5hbWUpOwotICAgIH0KLSAgICByZXR1cm4gbm9kZTI7
Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKgotICogb3V0cHV0aWQgOiBvdXRwdXQgdGhlIGlkIG9mIGEg
bm9kZQotICovCi1zdGF0aWMgdm9pZAotb3V0cHV0aWQoc3RydWN0IG5vZGUgKm5vZGUpCi17Ci0g
ICAgaWYgKG5vZGUtPnBhcmVudCkKLSAgICAgICAgb3V0cHV0aWQobm9kZS0+cGFyZW50KTsKLSAg
ICBpZiAobm9kZS0+aWQpIHsKLSAgICAgICAgZnB1dHMoIjo6Iiwgc3Rkb3V0KTsKLSAgICAgICAg
cHJpbnR0ZXh0KG5vZGUtPmlkLCBzdHJsZW4obm9kZS0+aWQpLCAxKTsKLSAgICB9Ci19Ci0KLS8q
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKgotICogb3V0cHV0bm9kZSA6IG91dHB1dCBub2RlIGFuZCBpdHMgY2hpbGRy
ZW4KLSAqCi0gKiBFbnRlcjogICBub2RlID0gbm9kZSB0byBvdXRwdXQsIGFzc3VtZWQgdG8gYmUg
YW4gZWxlbWVudAotICogICAgICAgICAgaW5kZW50Ci0gKi8KLXZvaWQKLW91dHB1dG5vZGUoc3Ry
dWN0IG5vZGUgKm5vZGUsIHVuc2lnbmVkIGludCBpbmRlbnQpCi17Ci0gICAgc3RydWN0IGVsZW1l
bnQgKmVsZW1lbnQgPSAodm9pZCAqKW5vZGU7Ci0gICAgc3RydWN0IG5vZGUgKmNoaWxkOwotICAg
IGludCBlbXB0eSA9IDE7Ci0gICAgcHJpbnRmKCIlKnM8JXMiLCBpbmRlbnQsICIiLCBlbGVtZW50
LT5uYW1lKTsKLSAgICBjaGlsZCA9IGVsZW1lbnQtPm4uY2hpbGRyZW47Ci0gICAgd2hpbGUgKGNo
aWxkKSB7Ci0gICAgICAgIHN3aXRjaChjaGlsZC0+dHlwZSkgewotICAgICAgICBjYXNlIE5PREVf
RUxFTUVOVDoKLSAgICAgICAgICAgIGVtcHR5ID0gMDsKLSAgICAgICAgICAgIGJyZWFrOwotICAg
ICAgICBjYXNlIE5PREVfQVRUUjoKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBzdHJ1
Y3QgYXR0ciAqYXR0ciA9ICh2b2lkICopY2hpbGQ7Ci0gICAgICAgICAgICAgICAgcHJpbnRmKCIg
JXM9XCIiLCBhdHRyLT5uYW1lKTsKLSAgICAgICAgICAgICAgICBwcmludHRleHQoYXR0ci0+dmFs
dWUsIHN0cmxlbihhdHRyLT52YWx1ZSksIDEpOwotICAgICAgICAgICAgICAgIHByaW50ZigiXCIi
KTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0gICAgICAg
IGNoaWxkID0gY2hpbGQtPm5leHQ7Ci0gICAgfQotICAgIGlmIChub2RlLT5pZCkgewotICAgICAg
ICBwcmludGYoIiBpZD1cIiIpOwotICAgICAgICBvdXRwdXRpZChub2RlKTsKLSAgICAgICAgcHJp
bnRmKCJcIiIpOwotICAgIH0KLSAgICBpZiAoIWVtcHR5IHx8IG5vZGUtPmNvbW1lbnRzIHx8IG5v
ZGUtPndzc3RhcnQpIHsKLSAgICAgICAgcHJpbnRmKCI+XG4iKTsKLSAgICAgICAgaWYgKG5vZGUt
Pndzc3RhcnQpIHsKLSAgICAgICAgICAgIHByaW50ZigiJSpzICA8d2ViaWRsPiIsIGluZGVudCwg
IiIpOwotICAgICAgICAgICAgb3V0cHV0d2lkbChub2RlKTsKLSAgICAgICAgICAgIHByaW50Zigi
PC93ZWJpZGw+XG4iKTsKLSAgICAgICAgfQotICAgICAgICBvdXRwdXRkZXNjcmlwdGl2ZShub2Rl
LCBpbmRlbnQgKyAyKTsKLSAgICAgICAgY2hpbGQgPSBlbGVtZW50LT5uLmNoaWxkcmVuOwotICAg
ICAgICB3aGlsZSAoY2hpbGQpIHsKLSAgICAgICAgICAgIHN3aXRjaChjaGlsZC0+dHlwZSkgewot
ICAgICAgICAgICAgY2FzZSBOT0RFX0VMRU1FTlQ6Ci0gICAgICAgICAgICAgICAgb3V0cHV0bm9k
ZShjaGlsZCwgaW5kZW50ICsgMik7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAg
ICB9Ci0gICAgICAgICAgICBjaGlsZCA9IGNoaWxkLT5uZXh0OwotICAgICAgICB9Ci0gICAgICAg
IHByaW50ZigiJSpzPC8lcz5cbiIsIGluZGVudCwgIiIsIGVsZW1lbnQtPm5hbWUpOwotICAgIH0g
ZWxzZQotICAgICAgICBwcmludGYoIi8+XG4iKTsKLX0KLQotCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvd2lkbHByb2Mvc3JjL25vZGUuaCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9zcmMvbm9kZS5oCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyZDZlMzhlNTMyM2E4NjU3ZTkwMmZjN2EzOTcz
ZWViNWZhMGUyMjJmLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC93aWRscHJvYy9zcmMvbm9kZS5oCisrKyAvZGV2L251bGwKQEAgLTEsNjUg
KzAsMCBAQAotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqCi0gKiAkSWQkCi0gKiBDb3B5cmlnaHQgMjAwOSBBcGxp
eCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIExpY2Vuc2VkIHVuZGVyIHRo
ZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOwotICogeW91IG1h
eSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNl
LgotICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0Ci0gKiAgICAgaHR0
cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCi0gKiBVbmxlc3MgcmVxdWly
ZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCi0g
KiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMg
SVMiIEJBU0lTLAotICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJ
TkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCi0gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRo
ZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCi0gKiBsaW1pdGF0
aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KLSAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLSNpZm5kZWYgbm9kZV9o
Ci0jZGVmaW5lIG5vZGVfaAotCi0vKiBzdHJ1Y3Qgbm9kZSA6IGEgbm9kZSBpbiB0aGUgcGFyc2Ug
dHJlZSAoZXhjbHVkaW5nIGNvbW1lbnRzKSAqLwotZW51bSB7IE5PREVfRUxFTUVOVCwgTk9ERV9B
VFRSLCBOT0RFX0FUVFJMSVNUIH07Ci1zdHJ1Y3Qgbm9kZSB7Ci0gICAgaW50IHR5cGU7Ci0gICAg
c3RydWN0IG5vZGUgKm5leHQ7Ci0gICAgc3RydWN0IG5vZGUgKnBhcmVudDsKLSAgICBzdHJ1Y3Qg
bm9kZSAqY2hpbGRyZW47Ci0gICAgc3RydWN0IGNvbW1lbnQgKmNvbW1lbnRzOyAvKiBsaXN0IG9m
IGNvbW1lbnRzIGF0dGFjaGVkIHRvIHRoaXMgbm9kZSAqLwotICAgIC8qIElmIHdzc3RhcnQgYW5k
IGVuZCBhcmUgc2V0LCB0aGV5IGdpdmUgdGhlIGxpdGVyYWwgV2ViIElETCB0aGF0IGNhbgotICAg
ICAqIGJlIG91dHB1dCBpbiBhIDx3ZWJpZGw+IGVsZW1lbnQuICovCi0gICAgY29uc3QgY2hhciAq
d3NzdGFydDsKLSAgICAvKiBJZiBzdGFydCBhbmQgZW5kIGFyZSBzZXQsIHRoZXkgZ2l2ZSB0aGUg
dGV4dCBvZiBhIHNjb3BlZCBuYW1lIHRoYXQKLSAgICAgKiBjYW4gYmUgZW5jbG9zZWQgaW4gYSA8
cmVmPiB3aGVuIG91dHB1dHRpbmcgYSA8d2ViaWRsPiBlbGVtZW50IGZvcgotICAgICAqIGFuIGFu
Y2VzdG9yIGVsZW1lbnQuICovCi0gICAgY29uc3QgY2hhciAqc3RhcnQ7Ci0gICAgY29uc3QgY2hh
ciAqZW5kOwotICAgIGNvbnN0IGNoYXIgKmlkOwotfTsKLQotc3RydWN0IGVsZW1lbnQgewotICAg
IHN0cnVjdCBub2RlIG47Ci0gICAgY29uc3QgY2hhciAqbmFtZTsKLX07Ci0KLXN0cnVjdCBhdHRy
IHsKLSAgICBzdHJ1Y3Qgbm9kZSBuOwotICAgIGNvbnN0IGNoYXIgKm5hbWU7Ci0gICAgY29uc3Qg
Y2hhciAqdmFsdWU7Ci19OwotCi1zdHJ1Y3QgYXR0cmxpc3QgewotICAgIHN0cnVjdCBub2RlIG47
Ci19OwotCi1zdHJ1Y3Qgbm9kZSAqbmV3ZWxlbWVudChjb25zdCBjaGFyICpuYW1lKTsKLXN0cnVj
dCBub2RlICpuZXdhdHRyKGNvbnN0IGNoYXIgKm5hbWUsIGNvbnN0IGNoYXIgKnZhbCk7Ci1zdHJ1
Y3Qgbm9kZSAqbmV3YXR0cmxpc3Qodm9pZCk7Ci12b2lkIGFkZG5vZGUoc3RydWN0IG5vZGUgKnBh
cmVudCwgc3RydWN0IG5vZGUgKmNoaWxkKTsKLXZvaWQgcmV2ZXJzZWNoaWxkcmVuKHN0cnVjdCBu
b2RlICpub2RlKTsKLWludCBub2RlaXNlbXB0eShzdHJ1Y3Qgbm9kZSAqbm9kZSk7Ci1jb25zdCBj
aGFyICpnZXRhdHRyKHN0cnVjdCBub2RlICpub2RlLCBjb25zdCBjaGFyICpuYW1lKTsKLXN0cnVj
dCBub2RlICpub2Rld2FsayhzdHJ1Y3Qgbm9kZSAqbm9kZSk7Ci1zdHJ1Y3Qgbm9kZSAqZmluZHJl
dHVybnR5cGUoc3RydWN0IG5vZGUgKm5vZGUpOwotc3RydWN0IG5vZGUgKmZpbmRwYXJhbWlkZW50
aWZpZXIoc3RydWN0IG5vZGUgKm5vZGUsIGNvbnN0IGNoYXIgKm5hbWUpOwotc3RydWN0IG5vZGUg
KmZpbmR0aHJvd2lkZW50aWZpZXIoc3RydWN0IG5vZGUgKm5vZGUsIGNvbnN0IGNoYXIgKm5hbWUp
Owotdm9pZCBvdXRwdXRub2RlKHN0cnVjdCBub2RlICpub2RlLCB1bnNpZ25lZCBpbnQgaW5kZW50
KTsKLQotI2VuZGlmIC8qIG5kZWYgbm9kZV9oICovCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93
aWRscHJvYy9zcmMvb3MuaCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9zcmMvb3MuaApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggYWM4ZjQxODlkMTk0MjlhYjgxZWQ5MWM4YTU2ZTE3OGUwODRk
NGJlZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvd2lkbHByb2Mvc3JjL29zLmgKKysrIC9kZXYvbnVsbApAQCAtMSwzMSArMCwwIEBACi0v
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioKLSAqICRJZCQKLSAqIENvcHlyaWdodCAyMDA5IEFwbGl4IENvcnBvcmF0
aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBM
aWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7Ci0gKiB5b3UgbWF5IG5vdCB1c2Ug
dGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCi0gKiBZb3Ug
bWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKLSAqICAgICBodHRwOi8vd3d3LmFw
YWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKLSAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBs
aWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKLSAqIGRpc3RyaWJ1
dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMs
Ci0gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVy
IGV4cHJlc3Mgb3IgaW1wbGllZC4KLSAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmlj
IGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKLSAqIGxpbWl0YXRpb25zIHVuZGVy
IHRoZSBMaWNlbnNlLgotICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwotI2lmbmRlZiBvc19oCi0jZGVmaW5lIG9z
X2gKLQotLyogTGludXggY29uZmlndXJhdGlvbiAqLwotI2lmIGRlZmluZWQoX19nbnVfbGludXhf
XykKLQotCi0vKiBXaW5kb3dzIGNvbmZpZ3VyYXRpb24gKi8KLSNlbGlmIGRlZmluZWQoX01TQ19W
RVIpCi0KLSNkZWZpbmUgaW5saW5lIF9faW5saW5lCi0jZGVmaW5lIHN0cm5jYXNlY21wIHN0cm5p
Y21wCi0jZGVmaW5lIHNucHJpbnRmIF9zbnByaW50ZgotI2RlZmluZSB2YV9jb3B5KGEsYikgKChh
KT0oYikpCi0KLSNlbmRpZgotCi0jZW5kaWYgLyogbmRlZiBvc19oICovCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3Qvd2lkbHByb2Mvc3JjL3BhcnNlLmMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mvc3JjL3Bh
cnNlLmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGMwZTg0NTRjZWFjNTlhNWU4OTBi
ZjA5ZWI4MWI2NTRiN2Y0YTg2YjguLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3NyYy9wYXJzZS5jCisrKyAvZGV2L251bGwK
QEAgLTEsMTQxNCArMCwwIEBACi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqICRJZCQKLSAqIENvcHlyaWdo
dCAyMDA5IEFwbGl4IENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICogTGljZW5z
ZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7
Ci0gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGgg
dGhlIExpY2Vuc2UuCi0gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQK
LSAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKLSAqIFVu
bGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywg
c29mdHdhcmUKLSAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVk
IG9uIGFuICJBUyBJUyIgQkFTSVMsCi0gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9O
UyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KLSAqIFNlZSB0aGUgTGlj
ZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQK
LSAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgotICoKLSAqIEhhbmQtY3JhZnRlZCBy
ZWN1cnNpdmUgZGVzY2VudCBwYXJzZXIgZm9yIFdlYiBJREwgZ3JhbW1hci4KLSAqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKi8KLSNpbmNsdWRlIDxhc3NlcnQuaD4KLSNpbmNsdWRlIDxzdGRhcmcuaD4KLSNpbmNsdWRl
IDxzdGRpby5oPgotI2luY2x1ZGUgPHN0cmluZy5oPgotCi0jaW5jbHVkZSAiY29tbWVudC5oIgot
I2luY2x1ZGUgImxleC5oIgotI2luY2x1ZGUgIm1pc2MuaCIKLSNpbmNsdWRlICJub2RlLmgiCi0j
aW5jbHVkZSAicGFyc2UuaCIKLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiB0b2tlcnJvcmV4aXQgOiBl
cnJvciBhbmQgZXhpdCB3aXRoIGxpbmUgbnVtYmVyIGZyb20gdG9rZW4KLSAqLwotc3RhdGljIHZv
aWQKLXRva2Vycm9yZXhpdChzdHJ1Y3QgdG9rICp0b2ssIGNvbnN0IGNoYXIgKmZvcm1hdCwgLi4u
KQotewotICAgIHZhX2xpc3QgYXA7Ci0gICAgY2hhciAqbTsKLSAgICB2YV9zdGFydChhcCwgZm9y
bWF0KTsKLSAgICBtID0gdm1lbXByaW50Zihmb3JtYXQsIGFwKTsKLSAgICBpZiAodG9rLT50eXBl
ID09IFRPS19FT0YpCi0gICAgICAgIGxvY2Vycm9yZXhpdCh0b2stPmZpbGVuYW1lLCB0b2stPmxp
bmVudW0sICJhdCBlbmQgb2YgaW5wdXQ6ICVzIiwgbSk7Ci0gICAgZWxzZQotICAgICAgICBsb2Nl
cnJvcmV4aXQodG9rLT5maWxlbmFtZSwgdG9rLT5saW5lbnVtLCAiYXQgJyUuKnMnOiAlcyIsIHRv
ay0+bGVuLCB0b2stPnN0YXJ0LCBtKTsKLSAgICB2YV9lbmQoYXApOwotfQotCi0vKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioKLSAqIGxleG5vY29tbWVudCA6IGxleCBuZXh0IHRva2VuLCBkaXNjYXJkaW5nIG9yIHN0
b3JpbmcgY29tbWVudHMKLSAqCi0gKiBBIGJsb2NrIGNvbW1lbnQgc3RhcnRpbmcgd2l0aCB8Kiog
b3IgfCohIGlzIGEgZG94eWdlbiBjb21tZW50LgotICogSWYgaXQgc3RhcnRzIHdpdGggfCoqPCBv
ciB8KiE8IHRoZW4gaXQgcmVmZXJzIHRvIHRoZSBwcmV2aW91cwotICogaWRlbnRpZmllciwgbm90
IHRoZSBuZXh0IG9uZS4gKEkgYW0gdXNpbmcgfCB0byByZXByZXNlbnQgLyBvdGhlcndpc2UKLSAq
IHRoaXMgY29tbWVudCB3b3VsZCBiZSBpbGxlZ2FsLikKLSAqCi0gKiBBbiBpbmxpbmUgY29tbWVu
dCBzdGFydGluZyB3aXRoIC8vLyBvciAvLyEgaXMgYSBkb3h5Z2VuIGNvbW1lbnQuCi0gKiBJZiBp
dCBzdGFydHMgd2l0aCAvLy88IG9yIC8vITwgdGhlbiBpdCByZWZlcnMgdG8gdGhlIHByZXZpb3Vz
Ci0gKiBpZGVudGlmaWVyLCBub3QgdGhlIG5leHQgb25lLgotICovCi1zdGF0aWMgc3RydWN0IHRv
ayAqCi1sZXhub2NvbW1lbnQodm9pZCkKLXsKLSAgICBzdHJ1Y3QgdG9rICp0b2s7Ci0gICAgZm9y
ICg7OykgewotICAgICAgICB0b2sgPSBsZXgoKTsKLSAgICAgICAgaWYgKHRvay0+dHlwZSAhPSBU
T0tfQkxPQ0tDT01NRU5UICYmIHRvay0+dHlwZSAhPSBUT0tfSU5MSU5FQ09NTUVOVCkKLSAgICAg
ICAgICAgIGJyZWFrOwotICAgICAgICBhZGRjb21tZW50KHRvayk7Ci0gICAgfQotICAgIHJldHVy
biB0b2s7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogZWF0IDogY2hlY2sgdG9rZW4gdGhlbiBy
ZWFkIHRoZSBmb2xsb3dpbmcgb25lCi0gKgotICogRW50ZXI6ICAgdG9rIHN0cnVjdAotICogICAg
ICAgICAgdHlwZSA9IHR5cGUgb2YgdG9rZW4gZXhwZWN0ZWQsIGVycm9yIGdpdmVuIGlmIG5vIG1h
dGNoCi0gKgotICogT24gcmV0dXJuLCB0b2sgaXMgdXBkYXRlZCB0byB0aGUgZm9sbG93aW5nIHRv
a2VuLgotICovCi1zdGF0aWMgdm9pZAotZWF0KHN0cnVjdCB0b2sgKnRvaywgaW50IHR5cGUpCi17
Ci0gICAgaWYgKHRvay0+dHlwZSAhPSB0eXBlKSB7Ci0gICAgICAgIGNvbnN0IGNoYXIgKnA7Ci0g
ICAgICAgIGlmICh0eXBlIDwgVE9LX0RPTVN0cmluZykKLSAgICAgICAgICAgIHRva2Vycm9yZXhp
dCh0b2ssICJleHBlY3RlZCAnJWMnIiwgdHlwZSk7Ci0gICAgICAgIHAgPSBrZXl3b3JkczsKLSAg
ICAgICAgd2hpbGUgKHR5cGUgIT0gVE9LX0RPTVN0cmluZykgewotICAgICAgICAgICAgcCArPSBz
dHJsZW4ocCkgKyAxOwotICAgICAgICAgICAgdHlwZS0tOwotICAgICAgICB9Ci0gICAgICAgIHRv
a2Vycm9yZXhpdCh0b2ssICJleHBlY3RlZCAnJXMnIiwgcCk7Ci0gICAgfQotICAgIGxleG5vY29t
bWVudCgpOwotfQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIHNldGlkIDogZmxhZyB0aGF0IGFuIGlk
IGF0dHJpYnV0ZSBpcyByZXF1aXJlZCBvbiBub2RlCi0gKgotICogRW50ZXI6ICAgbm9kZQotICoK
LSAqIG5vZGUtPmlkIGlzIHNldCB0byB0aGUgdmFsdWUgb2YgdGhlIG5hbWUgYXR0cmlidXRlLiBU
aGlzIG1ha2VzCi0gKiBvdXRwdXRub2RlIGdpdmUgaXQgYW4gaWQgYXR0cmlidXRlIHdob3NlIHZh
bHVlIGlzIHRoZSBpZCBhdHRyaWJ1dGUKLSAqIG9mIHRoZSBwYXJlbnQgaWYgYW55LCB0aGVuICI6
OiIsIHRoZW4gbm9kZS0+aWQuCi0gKi8KLXN0YXRpYyB2b2lkCi1zZXRpZChzdHJ1Y3Qgbm9kZSAq
bm9kZSkKLXsKLSAgICBub2RlLT5pZCA9IGdldGF0dHIobm9kZSwgIm5hbWUiKTsKLX0KLQotLyoq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqCi0gKiBzZXRpZGVudGlmaWVyIDogYWxsb2NhdGUgMC10ZXJtaW5hdGVkIHN0
cmluZyBmb3IgaWRlbnRpZmllciB0b2tlbgotICoKLSAqIEVudGVyOiAgIHRvayA9IHRva2VuLCBl
cnJvciBnaXZlbiBpZiBub3QgaWRlbnRpZmllcgotICoKLSAqIFJldHVybjogIGFsbG9jYXRlZCAw
LXRlcm1pbmF0ZWQgc3RyaW5nCi0gKi8KLXN0YXRpYyBjaGFyICoKLXNldGlkZW50aWZpZXIoc3Ry
dWN0IHRvayAqdG9rKQotewotICAgIGNoYXIgKnM7Ci0gICAgaWYgKHRvay0+dHlwZSAhPSBUT0tf
SURFTlRJRklFUikKLSAgICAgICAgdG9rZXJyb3JleGl0KHRvaywgImV4cGVjdGVkIGlkZW50aWZp
ZXIiKTsKLSAgICBzID0gbWVtcHJpbnRmKCIlLipzIiwgdG9rLT5sZW4sIHRvay0+c3RhcnQpOwot
ICAgIHJldHVybiBzOwotfQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIHNldGFyZ3VtZW50bmFtZSA6
IGFsbG9jYXRlIDAtdGVybWluYXRlZCBzdHJpbmcgZm9yIGlkZW50aWZpZXIgdG9rZW4KLSAqCi0g
KiBFbnRlcjogICB0b2sgPSB0b2tlbiwgZXJyb3IgZ2l2ZW4gaWYgbm90IGlkZW50aWZpZXIKLSAq
Ci0gKiBSZXR1cm46ICBhbGxvY2F0ZWQgMC10ZXJtaW5hdGVkIHN0cmluZwotICovCi1zdGF0aWMg
Y2hhciAqCi1zZXRhcmd1bWVudG5hbWUoc3RydWN0IHRvayAqdG9rKQotewotICAgIGNoYXIgKnM7
Ci0gICAgaWYgKHRvay0+dHlwZSAhPSBUT0tfSURFTlRJRklFUiAmJiB0b2stPnR5cGUgPCBUT0tf
YXR0cmlidXRlKQotICAgICAgICB0b2tlcnJvcmV4aXQodG9rLCAiZXhwZWN0ZWQgYXJndW1lbnQg
bmFtZSIpOwotICAgIHMgPSBtZW1wcmludGYoIiUuKnMiLCB0b2stPmxlbiwgdG9rLT5zdGFydCk7
Ci0gICAgcmV0dXJuIHM7Ci19Ci0KLQotLyogUHJvdG90eXBlcyBmb3IgZnVuY3MgdGhhdCBoYXZl
IGEgZm9yd2FyZCByZWZlcmVuY2UuICovCi1zdGF0aWMgc3RydWN0IG5vZGUgKnBhcnNldHlwZShz
dHJ1Y3QgdG9rICp0b2spOwotc3RhdGljIHN0cnVjdCBub2RlICpwYXJzZWRlZmF1bHR2YWx1ZShz
dHJ1Y3QgdG9rICp0b2ssIHN0cnVjdCBub2RlICpwYXJlbnQpOwotc3RhdGljIHN0cnVjdCBub2Rl
ICpwYXJzZXVuaW9udHlwZShzdHJ1Y3QgdG9rICp0b2spOwotc3RhdGljIHN0cnVjdCBub2RlICpw
YXJzZWFyZ3VtZW50bGlzdChzdHJ1Y3QgdG9rICp0b2spOwotc3RhdGljIHZvaWQgcGFyc2VkZWZp
bml0aW9ucyhzdHJ1Y3QgdG9rICp0b2ssIHN0cnVjdCBub2RlICpwYXJlbnQpOwotc3RhdGljIHN0
cnVjdCBub2RlICpwYXJzZXR5cGVzdWZmaXhzdGFydGluZ3dpdGhhcnJheShzdHJ1Y3QgdG9rICp0
b2ssIHN0cnVjdCBub2RlICpub2RlKTsKLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBwYXJzZXNjb3Bl
ZG5hbWUgOiBwYXJzZSBbNTNdIFNjb3BlZE5hbWUKLSAqCi0gKiBFbnRlcjogICB0b2sgPSBuZXh0
IHRva2VuCi0gKiAgICAgICAgICBuYW1lID0gbmFtZSBvZiBhdHRyaWJ1dGUgdG8gcHV0IHNjb3Bl
ZCBuYW1lIGluCi0gKiAgICAgICAgICByZWYgPSB3aGV0aGVyIHRvIGVuYWJsZSBlbmNsb3Npbmcg
b2YgdGhlIG5hbWUgaW4gPHJlZj4gaW4KLSAqICAgICAgICAgICAgICAgIG91dHB1dHdpZGwKLSAq
Ci0gKiBSZXR1cm46ICBub2RlIHN0cnVjdCBmb3IgbmV3IGF0dHJpYnV0ZQotICogICAgICAgICAg
dG9rIHVwZGF0ZWQKLSAqLwotc3RhdGljIHN0cnVjdCBub2RlICoKLXBhcnNlc2NvcGVkbmFtZShz
dHJ1Y3QgdG9rICp0b2ssIGNvbnN0IGNoYXIgKm5hbWUsIGludCByZWYpCi17Ci0gICAgY29uc3Qg
Y2hhciAqc3RhcnQgPSB0b2stPnN0YXJ0LCAqZW5kOwotICAgIHN0cnVjdCBub2RlICpub2RlOwot
ICAgIHVuc2lnbmVkIGludCBsZW4gPSAwOwotICAgIGNoYXIgKnMgPSBtZW1hbGxvYygzKTsKLSAg
ICBpZiAodG9rLT50eXBlICE9IFRPS19JREVOVElGSUVSKQotICAgICAgICB0b2tlcnJvcmV4aXQo
dG9rLCAiZXhwZWN0ZWQgaWRlbnRpZmllciIpOwotICAgIHMgPSBtZW1yZWFsbG9jKHMsIGxlbiAr
IHRvay0+bGVuICsgMSk7Ci0gICAgbWVtY3B5KHMgKyBsZW4sIHRvay0+c3RhcnQsIHRvay0+bGVu
KTsKLSAgICBsZW4gKz0gdG9rLT5sZW47Ci0gICAgZW5kID0gdG9rLT5zdGFydCArIHRvay0+bGVu
OwotICAgIGxleG5vY29tbWVudCgpOwotICAgIHNbbGVuXSA9IDA7Ci0gICAgbm9kZSA9IG5ld2F0
dHIobmFtZSwgcyk7Ci0gICAgaWYgKHJlZikgewotICAgICAgICBub2RlLT5zdGFydCA9IHN0YXJ0
OwotICAgICAgICBub2RlLT5lbmQgPSBlbmQ7Ci0gICAgfQotICAgIHJldHVybiBub2RlOwotfQot
Ci0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioKLSAqIHBhcnNlc2NvcGVkbmFtZWxpc3QgOiBwYXJzZSBbNTFdIFNj
b3BlZE5hbWVMaXN0Ci0gKgotICogRW50ZXI6ICAgdG9rID0gbmV4dCB0b2tlbgotICogICAgICAg
ICAgbmFtZSA9IG5hbWUgb2YgZWxlbWVudCBmb3Igc2NvcGVkIG5hbWUgbGlzdAotICogICAgICAg
ICAgbmFtZTIgPSBuYW1lIG9mIGVsZW1lbnQgZm9yIGVudHJ5IGluIGxpc3QKLSAqICAgICAgICAg
IGNvbW1lbnQgPSB3aGV0aGVyIHRvIGF0dGFjaCBkb2N1bWVudGF0aW9uIHRvIGVhY2ggbmFtZQot
ICoKLSAqIFJldHVybjogIG5vZGUgZm9yIGxpc3Qgb2Ygc2NvcGVkIG5hbWVzCi0gKiAgICAgICAg
ICB0b2sgdXBkYXRlZAotICovCi1zdGF0aWMgc3RydWN0IG5vZGUgKgotcGFyc2VzY29wZWRuYW1l
bGlzdChzdHJ1Y3QgdG9rICp0b2ssIGNvbnN0IGNoYXIgKm5hbWUsIGNvbnN0IGNoYXIgKm5hbWUy
LAotICAgICAgICBpbnQgY29tbWVudCkKLXsKLSAgICBzdHJ1Y3Qgbm9kZSAqbm9kZSA9IG5ld2Vs
ZW1lbnQobmFtZSk7Ci0gICAgZm9yICg7OykgewotICAgICAgICBzdHJ1Y3Qgbm9kZSAqYXR0ciA9
IHBhcnNlc2NvcGVkbmFtZSh0b2ssICJuYW1lIiwgMSk7Ci0gICAgICAgIHN0cnVjdCBub2RlICpu
ID0gbmV3ZWxlbWVudChuYW1lMik7Ci0gICAgICAgIGlmIChjb21tZW50KQotICAgICAgICAgICAg
c2V0Y29tbWVudG5vZGUobik7Ci0gICAgICAgIGFkZG5vZGUobiwgYXR0cik7Ci0gICAgICAgIGFk
ZG5vZGUobm9kZSwgbik7Ci0gICAgICAgIGlmICh0b2stPnR5cGUgIT0gJywnKQotICAgICAgICAg
ICAgYnJlYWs7Ci0gICAgICAgIGxleG5vY29tbWVudCgpOwotICAgIH0KLSAgICByZXR1cm4gbm9k
ZTsKLX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBwYXJzZXJldHVybnR5cGUgOiBwYXJzZSBbNTBd
IFJldHVyblR5cGUKLSAqCi0gKiBFbnRlcjogICB0b2sgPSBuZXh0IHRva2VuCi0gKgotICogUmV0
dXJuOiAgbm9kZSBmb3IgdHlwZQotICogICAgICAgICAgdG9rIHVwZGF0ZWQKLSAqLwotc3RhdGlj
IHN0cnVjdCBub2RlICoKLXBhcnNlcmV0dXJudHlwZShzdHJ1Y3QgdG9rICp0b2spCi17Ci0gICAg
aWYgKHRvay0+dHlwZSA9PSBUT0tfdm9pZCkgewotICAgICAgICBzdHJ1Y3Qgbm9kZSAqbm9kZSA9
IG5ld2VsZW1lbnQoIlR5cGUiKTsKLSAgICAgICAgYWRkbm9kZShub2RlLCBuZXdhdHRyKCJ0eXBl
IiwgInZvaWQiKSk7Ci0gICAgICAgIGxleG5vY29tbWVudCgpOwotICAgICAgICByZXR1cm4gbm9k
ZTsKLSAgICB9Ci0gICAgcmV0dXJuIHBhcnNldHlwZSh0b2spOwotfQotCi0vKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioKLSAqIHBhcnNldW5zaWduZWRpbnRlZ2VydHlwZSA6IHBhcnNlIFs0Nl0gVW5zaWduZWRJbnRl
Z2VyVHlwZQotICoKLSAqIEVudGVyOiAgIHRvayA9IG5leHQgdG9rZW4gKG9uZSBvZiAidW5zaWdu
ZWQiLCAic2hvcnQiIG9yICJsb25nIikKLSAqCi0gKiBSZXR1cm46ICAwLXRlcm1pbmF0ZWQgY2Fu
b25pY2FsIHN0cmluZyBmb3IgdGhlIHR5cGUKLSAqICAgICAgICAgIHRvayB1cGRhdGVkIHRvIGp1
c3QgcGFzdCBVbnNpZ25lZEludGVnZXJUeXBlCi0gKi8KLXN0YXRpYyBjb25zdCBjaGFyICoKLXBh
cnNldW5zaWduZWRpbnRlZ2VydHlwZShzdHJ1Y3QgdG9rICp0b2spCi17Ci0gICAgc3RhdGljIGNv
bnN0IGNoYXIgKm5hbWVzW10gPSB7Ci0gICAgICAgICJzaG9ydCIsICJsb25nIiwgImxvbmcgbG9u
ZyIsIDAsCi0gICAgICAgICJ1bnNpZ25lZCBzaG9ydCIsICJ1bnNpZ25lZCBsb25nIiwgInVuc2ln
bmVkIGxvbmcgbG9uZyIgfTsKLSAgICBlbnVtIHsgVFlQRV9TSE9SVCwgVFlQRV9MT05HLCBUWVBF
X0xPTkdMT05HLAotICAgICAgICAgICBUWVBFX1VOU0lHTkVEID0gNCB9OwotICAgIGludCB0eXBl
ID0gMDsKLSAgICBpZiAodG9rLT50eXBlID09IFRPS191bnNpZ25lZCkgewotICAgICAgICB0eXBl
ID0gVFlQRV9VTlNJR05FRDsKLSAgICAgICAgbGV4bm9jb21tZW50KCk7Ci0gICAgfQotICAgIGlm
ICh0b2stPnR5cGUgPT0gVE9LX3Nob3J0KSB7Ci0gICAgICAgIHR5cGUgfD0gVFlQRV9TSE9SVDsK
LSAgICAgICAgbGV4bm9jb21tZW50KCk7Ci0gICAgfSBlbHNlIGlmICh0b2stPnR5cGUgIT0gVE9L
X2xvbmcpCi0gICAgICAgIHRva2Vycm9yZXhpdCh0b2ssICJleHBlY3RlZCAnc2hvcnQnIG9yICds
b25nJyBhZnRlciAndW5zaWduZWQnIik7Ci0gICAgZWxzZSB7Ci0gICAgICAgIHR5cGUgfD0gVFlQ
RV9MT05HOwotICAgICAgICBsZXhub2NvbW1lbnQoKTsKLSAgICAgICAgaWYgKHRvay0+dHlwZSA9
PSBUT0tfbG9uZykgewotICAgICAgICAgICAgdHlwZSArPSBUWVBFX0xPTkdMT05HIC0gVFlQRV9M
T05HOwotICAgICAgICAgICAgbGV4bm9jb21tZW50KCk7Ci0gICAgICAgIH0KLSAgICB9Ci0gICAg
cmV0dXJuIG5hbWVzW3R5cGVdOwotfQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBwYXJzZXR5cGVzdWZm
aXggOiBwYXJzZSBbNDRdIFR5cGVTdWZmaXgKLSAqCi0gKiBFbnRlcjogICB0b2sgPSBuZXh0IHRv
a2VuCi0gKgotICogUmV0dXJuOiAgbm9kZSBmb3IgdHlwZQotICogICAgICAgICAgdG9rIHVwZGF0
ZWQKLSAqLwotc3RhdGljIHN0cnVjdCBub2RlICoKLXBhcnNldHlwZXN1ZmZpeChzdHJ1Y3QgdG9r
ICp0b2ssIHN0cnVjdCBub2RlICpub2RlKQotewotICAgIGlmICh0b2stPnR5cGUgPT0gVE9LX0RP
VUJMRUJSQUNLRVQpIHsKLSAgICAgICAgc3RydWN0IG5vZGUgKnR5cGVub2RlID0gbm9kZTsKLQlu
b2RlID0gbmV3ZWxlbWVudCgiVHlwZSIpOwotICAgICAgICBhZGRub2RlKG5vZGUsIG5ld2F0dHIo
InR5cGUiLCAiYXJyYXkiKSk7Ci0gICAgICAgIGFkZG5vZGUobm9kZSwgdHlwZW5vZGUpOwotICAg
ICAgICBsZXhub2NvbW1lbnQoKTsKLQlub2RlID0gcGFyc2V0eXBlc3VmZml4KHRvaywgbm9kZSk7
Ci0gICAgfSBlbHNlIGlmICh0b2stPnR5cGUgPT0gJz8nKSB7Ci0gICAgICAgIGFkZG5vZGUobm9k
ZSwgbmV3YXR0cigibnVsbGFibGUiLCAibnVsbGFibGUiKSk7Ci0gICAgICAgIGxleG5vY29tbWVu
dCgpOwotCW5vZGUgPSBwYXJzZXR5cGVzdWZmaXhzdGFydGluZ3dpdGhhcnJheSh0b2ssIG5vZGUp
OwotICAgIH0KLSAgICByZXR1cm4gbm9kZTsKLX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBwYXJz
ZXR5cGVzdWZmaXhzdGFydGluZ3dpdGhhcnJheSA6IHBhcnNlIFs0NF0gVHlwZVN1ZmZpeFN0YXJ0
aW5nV2l0aEFycmF5Ci0gKgotICogRW50ZXI6ICAgdG9rID0gbmV4dCB0b2tlbgotICoKLSAqIFJl
dHVybjogIG5vZGUgZm9yIHR5cGUKLSAqICAgICAgICAgIHRvayB1cGRhdGVkCi0gKi8KLXN0YXRp
YyBzdHJ1Y3Qgbm9kZSAqCi1wYXJzZXR5cGVzdWZmaXhzdGFydGluZ3dpdGhhcnJheShzdHJ1Y3Qg
dG9rICp0b2ssICBzdHJ1Y3Qgbm9kZSAqbm9kZSkKLXsKLSAgICBpZiAodG9rLT50eXBlID09IFRP
S19ET1VCTEVCUkFDS0VUKSB7Ci0gICAgICAgIHN0cnVjdCBub2RlICp0eXBlbm9kZSA9IG5vZGU7
Ci0Jbm9kZSA9IG5ld2VsZW1lbnQoIlR5cGUiKTsKLSAgICAgICAgYWRkbm9kZShub2RlLCBuZXdh
dHRyKCJ0eXBlIiwgImFycmF5IikpOwotICAgICAgICBhZGRub2RlKG5vZGUsIHR5cGVub2RlKTsK
LSAgICAgICAgbGV4bm9jb21tZW50KCk7Ci0Jbm9kZSA9IHBhcnNldHlwZXN1ZmZpeCh0b2ssIG5v
ZGUpOwotICAgIH0KLSAgICByZXR1cm4gbm9kZTsKLX0KLQotLyoqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBw
YXJzZXByaW1pdGl2ZW9yc3RyaW5ndHlwZSA6IHBhcnNlIFs0NV0gUHJpbWl0aXZlT3JTdHJpbmcK
LSAqCi0gKiBFbnRlcjogICB0b2sgPSBuZXh0IHRva2VuCi0gKgotICogUmV0dXJuOiAgbm9kZSBm
b3IgdHlwZQotICogICAgICAgICAgdG9rIHVwZGF0ZWQKLSAqLwotc3RhdGljIHN0cnVjdCBub2Rl
ICoKLXBhcnNlcHJpbWl0aXZlb3JzdHJpbmd0eXBlKHN0cnVjdCB0b2sgKnRvaykKLXsKLSAgc3Ry
dWN0IG5vZGUgKm5vZGU7Ci0gICAgc3dpdGNoICh0b2stPnR5cGUpIHsKLSAgICBjYXNlIFRPS191
bnNpZ25lZDoKLSAgICBjYXNlIFRPS19zaG9ydDoKLSAgICBjYXNlIFRPS19sb25nOgotICAgICAg
ICBub2RlID0gbmV3ZWxlbWVudCgiVHlwZSIpOwotICAgICAgICBhZGRub2RlKG5vZGUsIG5ld2F0
dHIoInR5cGUiLCBwYXJzZXVuc2lnbmVkaW50ZWdlcnR5cGUodG9rKSkpOwotICAgICAgICBicmVh
azsKLSAgICBkZWZhdWx0OgotICAgICAgICBub2RlID0gbmV3ZWxlbWVudCgiVHlwZSIpOwotICAg
ICAgICBzd2l0Y2ggKHRvay0+dHlwZSkgewotICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAg
dG9rZXJyb3JleGl0KHRvaywgImV4cGVjdGVkIHR5cGUiKTsKLSAgICAgICAgICAgIGJyZWFrOwot
CWNhc2UgVE9LX3VucmVzdHJpY3RlZDoKLQkgIGxleG5vY29tbWVudCgpOwotCSAgaWYgKHRvay0+
dHlwZSA9PSBUT0tfZmxvYXQpIHsKLSAgICAgICAgICAgIGFkZG5vZGUobm9kZSwgbmV3YXR0cigi
dHlwZSIsICJ1bnJlc3RyaWN0ZWQgZmxvYXQiKSk7Ci0JICB9IGVsc2UgaWYgKHRvay0+dHlwZSA9
PSBUT0tfZG91YmxlKSB7Ci0gICAgICAgICAgICBhZGRub2RlKG5vZGUsIG5ld2F0dHIoInR5cGUi
LCAidW5yZXN0cmljdGVkIGRvdWJsZSIpKTsKLQkgIH0gZWxzZSB7Ci0gICAgICAgICAgICB0b2tl
cnJvcmV4aXQodG9rLCAiZXhwZWN0ZWQgZmxvYXQgb3IgZG91YmxlIGFmdGVyIHVucmVzdHJpY3Rl
ZCIpOwotCSAgfQotCSAgYnJlYWs7Ci0gICAgICAgIGNhc2UgVE9LX2Jvb2xlYW46Ci0gICAgICAg
ICAgICBhZGRub2RlKG5vZGUsIG5ld2F0dHIoInR5cGUiLCAiYm9vbGVhbiIpKTsKLSAgICAgICAg
ICAgIGJyZWFrOwotICAgICAgICBjYXNlIFRPS19ieXRlOgotICAgICAgICAgICAgYWRkbm9kZShu
b2RlLCBuZXdhdHRyKCJ0eXBlIiwgImJ5dGUiKSk7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAg
ICAgY2FzZSBUT0tfb2N0ZXQ6Ci0gICAgICAgICAgICBhZGRub2RlKG5vZGUsIG5ld2F0dHIoInR5
cGUiLCAib2N0ZXQiKSk7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSBUT0tfZmxv
YXQ6Ci0gICAgICAgICAgICBhZGRub2RlKG5vZGUsIG5ld2F0dHIoInR5cGUiLCAiZmxvYXQiKSk7
Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSBUT0tfZG91YmxlOgotICAgICAgICAg
ICAgYWRkbm9kZShub2RlLCBuZXdhdHRyKCJ0eXBlIiwgImRvdWJsZSIpKTsKLSAgICAgICAgICAg
IGJyZWFrOwotICAgICAgICBjYXNlIFRPS19ET01TdHJpbmc6Ci0gICAgICAgICAgICBhZGRub2Rl
KG5vZGUsIG5ld2F0dHIoInR5cGUiLCAiRE9NU3RyaW5nIikpOwotICAgICAgICAgICAgYnJlYWs7
Ci0gICAgICAgIGNhc2UgVE9LX0J5dGVTdHJpbmc6Ci0gICAgICAgICAgICBhZGRub2RlKG5vZGUs
IG5ld2F0dHIoInR5cGUiLCAiQnl0ZVN0cmluZyIpKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAg
ICAgICBjYXNlIFRPS19EYXRlOgotICAgICAgICAgICAgYWRkbm9kZShub2RlLCBuZXdhdHRyKCJ0
eXBlIiwgIkRhdGUiKSk7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSBUT0tfUmVn
RXhwOgotICAgICAgICAgICAgYWRkbm9kZShub2RlLCBuZXdhdHRyKCJ0eXBlIiwgIlJlZ0V4cCIp
KTsKLSAgICAgICAgICAgIGJyZWFrOwotCi0gICAgICAgIH0KLSAgICAgICAgbGV4bm9jb21tZW50
KCk7Ci0gICAgfQotICAgIHJldHVybiBub2RlOwotfQotCi0vKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIHBh
cnNlbm9uYW55dHlwZSA6IHBhcnNlIE5vbkFueVR5cGUKLSAqCi0gKiBFbnRlcjogICB0b2sgPSBu
ZXh0IHRva2VuCi0gKgotICogUmV0dXJuOiAgbm9kZSBmb3IgdHlwZQotICogICAgICAgICAgdG9r
IHVwZGF0ZWQKLSAqLwotc3RhdGljIHN0cnVjdCBub2RlICoKLXBhcnNlbm9uYW55dHlwZShzdHJ1
Y3QgdG9rICp0b2spCi17Ci0gICAgc3RydWN0IG5vZGUgKm5vZGU7Ci0gICAgc3dpdGNoICh0b2st
PnR5cGUpIHsKLSAgICBjYXNlIFRPS19JREVOVElGSUVSOgotICAgICAgICBub2RlID0gbmV3ZWxl
bWVudCgiVHlwZSIpOwotICAgICAgICBhZGRub2RlKG5vZGUsIHBhcnNlc2NvcGVkbmFtZSh0b2ss
ICJuYW1lIiwgMSkpOwotCW5vZGUgPSBwYXJzZXR5cGVzdWZmaXgodG9rLCBub2RlKTsKLSAgICAg
ICAgYnJlYWs7Ci0gICAgY2FzZSBUT0tfc2VxdWVuY2U6Ci0gICAgICAgIG5vZGUgPSBuZXdlbGVt
ZW50KCJUeXBlIik7Ci0gICAgICAgIGFkZG5vZGUobm9kZSwgbmV3YXR0cigidHlwZSIsICJzZXF1
ZW5jZSIpKTsKLSAgICAgICAgbGV4bm9jb21tZW50KCk7Ci0gICAgICAgIGVhdCh0b2ssICc8Jyk7
Ci0gICAgICAgIGFkZG5vZGUobm9kZSwgcGFyc2V0eXBlKHRvaykpOwotICAgICAgICBlYXQodG9r
LCAnPicpOwotCWlmICh0b2stPnR5cGUgPT0gJz8nKSB7Ci0JICBhZGRub2RlKG5vZGUsIG5ld2F0
dHIoIm51bGxhYmxlIiwgIm51bGxhYmxlIikpOwotCSAgbGV4bm9jb21tZW50KCk7Ci0JfQotICAg
ICAgICBicmVhazsKLSAgICBjYXNlIFRPS19vYmplY3Q6Ci0gICAgICAgIG5vZGUgPSBuZXdlbGVt
ZW50KCJUeXBlIik7Ci0gICAgICAgIGFkZG5vZGUobm9kZSwgbmV3YXR0cigidHlwZSIsICJvYmpl
Y3QiKSk7Ci0gICAgICAgIGxleG5vY29tbWVudCgpOwotCW5vZGUgPSBwYXJzZXR5cGVzdWZmaXgo
dG9rLCBub2RlKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgZGVmYXVsdDoKLSAgICAgICAgbm9kZSA9
IHBhcnNlcHJpbWl0aXZlb3JzdHJpbmd0eXBlKHRvayk7Ci0gICAgICAgIG5vZGUgPSBwYXJzZXR5
cGVzdWZmaXgodG9rLCBub2RlKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgfSAgICAgICAKLSAgICBy
ZXR1cm4gbm9kZTsKLX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBwYXJzZXVuaW9ubWVtYmVydHlw
ZTogcGFyc2UgVW5pb25NZW1iZXJUeXBlCi0gKgotICogRW50ZXI6ICAgdG9rID0gbmV4dCB0b2tl
bgotICoKLSAqIFJldHVybjogIG5vZGUgZm9yIHR5cGUKLSAqICAgICAgICAgIHRvayB1cGRhdGVk
Ci0gKi8KLXN0YXRpYyBzdHJ1Y3Qgbm9kZSAqCi1wYXJzZXVuaW9ubWVtYmVydHlwZShzdHJ1Y3Qg
dG9rICp0b2spCi17Ci0gIHN0cnVjdCBub2RlICpub2RlOwotICBpZiAodG9rLT50eXBlID09IFRP
S19hbnkpIHsKLSAgICBzdHJ1Y3Qgbm9kZSAqdHlwZW5vZGUgPSBuZXdlbGVtZW50KCJUeXBlIik7
Ci0gICAgYWRkbm9kZSh0eXBlbm9kZSwgbmV3YXR0cigidHlwZSIsICJhbnkiKSk7Ci0gICAgbGV4
bm9jb21tZW50KCk7Ci0gICAgZWF0KHRvaywgVE9LX0RPVUJMRUJSQUNLRVQpOwotICAgIG5vZGUg
PSBuZXdlbGVtZW50KCJUeXBlIik7Ci0gICAgYWRkbm9kZShub2RlLCBuZXdhdHRyKCJ0eXBlIiwg
ImFycmF5IikpOwotICAgIGFkZG5vZGUobm9kZSwgdHlwZW5vZGUpOwotICAgIGxleG5vY29tbWVu
dCgpOwotICAgIG5vZGUgPSBwYXJzZXR5cGVzdWZmaXgodG9rLCBub2RlKTsKLSAgfSBlbHNlIGlm
ICh0b2stPnR5cGUgPT0gJygnKSB7IAotICAgIG5vZGUgPSBwYXJzZXVuaW9udHlwZSh0b2spOwot
ICB9IGVsc2UgewotICAgIG5vZGUgPSBwYXJzZW5vbmFueXR5cGUodG9rKTsKLSAgfQotICByZXR1
cm4gbm9kZTsKLX0KLQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIHBhcnNldW5pb250eXBlIDogcGFy
c2UgVW5pb25UeXBlCi0gKgotICogRW50ZXI6ICAgdG9rID0gbmV4dCB0b2tlbgotICoKLSAqIFJl
dHVybjogIG5vZGUgZm9yIHR5cGUKLSAqICAgICAgICAgIHRvayB1cGRhdGVkCi0gKi8KLXN0YXRp
YyBzdHJ1Y3Qgbm9kZSAqCi1wYXJzZXVuaW9udHlwZShzdHJ1Y3QgdG9rICp0b2spCi17Ci0gIHN0
cnVjdCBub2RlICpub2RlOwotICBlYXQodG9rLCAnKCcpOwotICBub2RlID0gbmV3ZWxlbWVudCgi
VHlwZSIpOwotICBhZGRub2RlKG5vZGUsIG5ld2F0dHIoInR5cGUiLCAidW5pb24iKSk7Ci0gIGlm
ICh0b2stPnR5cGUgIT0gJyknKSB7Ci0gICAgZm9yICg7OykgewotICAgICAgYWRkbm9kZShub2Rl
LCBwYXJzZXVuaW9ubWVtYmVydHlwZSh0b2spKTsKLSAgICAgIGlmICh0b2stPnR5cGUgIT0gVE9L
X29yKQotCWJyZWFrOwotICAgICAgbGV4bm9jb21tZW50KCk7Ci0gICAgfQotICB9Ci0gIGVhdCh0
b2ssICcpJyk7Ci0gIG5vZGUgPSBwYXJzZXR5cGVzdWZmaXgodG9rLCBub2RlKTsgICAgICAKLSAg
cmV0dXJuIG5vZGU7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogcGFyc2V0eXBlIDogcGFyc2Ug
WzQ0XSBUeXBlCi0gKgotICogRW50ZXI6ICAgdG9rID0gbmV4dCB0b2tlbgotICoKLSAqIFJldHVy
bjogIG5vZGUgZm9yIHR5cGUKLSAqICAgICAgICAgIHRvayB1cGRhdGVkCi0gKi8KLXN0YXRpYyBz
dHJ1Y3Qgbm9kZSAqCi1wYXJzZXR5cGUoc3RydWN0IHRvayAqdG9rKQotewotICAgIHN0cnVjdCBu
b2RlICpub2RlOwotICAgIGlmICh0b2stPnR5cGUgPT0gJygnKSB7Ci0gICAgICBub2RlID0gcGFy
c2V1bmlvbnR5cGUodG9rKTsKLSAgICB9IGVsc2UgaWYgKHRvay0+dHlwZSA9PSBUT0tfYW55KSB7
Ci0gICAgICBub2RlID0gbmV3ZWxlbWVudCgiVHlwZSIpOwotICAgICAgYWRkbm9kZShub2RlLCBu
ZXdhdHRyKCJ0eXBlIiwgImFueSIpKTsKLSAgICAgIGxleG5vY29tbWVudCgpOwotICAgICAgbm9k
ZSA9IHBhcnNldHlwZXN1ZmZpeHN0YXJ0aW5nd2l0aGFycmF5KHRvaywgbm9kZSk7Ci0gICAgfSBl
bHNlIHsKLSAgICAgIG5vZGUgPSBwYXJzZW5vbmFueXR5cGUodG9rKTsJCi0gICAgfQotICAgIHJl
dHVybiBub2RlOwotfQotCi0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogcGFyc2VleHRlbmRlZGF0dHJp
YnV0ZSA6IHBhcnNlIFszOV0gRXh0ZW5kZWRBdHRyaWJ1dGUKLSAqCi0gKiBFbnRlcjogICB0b2sg
PSBuZXh0IHRva2VuCi0gKgotICogUmV0dXJuOiAgbm9kZSBmb3IgZXh0ZW5kZWQgYXR0cmlidXRl
Ci0gKgotICogVGhpcyBwYXJzZXMgdGhlIHZhcmlvdXMgZm9ybXMgb2YgZXh0ZW5kZWQgYXR0cmli
dXRlLCBhcyBpbgotICogcnVsZXMgWzU3XSBbNThdIFs1OV0gWzYwXSBbNjFdLgotICoKLSAqIFRo
aXMgZG9lcyBub3Qgc3BvdCB0aGUgZXJyb3IgdGhhdCB5b3UgY2Fubm90IGhhdmUgYSBTY29wZWRO
YW1lCi0gKiBhbmQgYW4gQXJndW1lbnRMaXN0LgotICovCi1zdGF0aWMgc3RydWN0IG5vZGUgKgot
cGFyc2VleHRlbmRlZGF0dHJpYnV0ZShzdHJ1Y3QgdG9rICp0b2spCi17Ci0JY29uc3QgY2hhciAq
c3RhcnQgOwotICAgIHN0cnVjdCBub2RlICpub2RlID0gbmV3ZWxlbWVudCgiRXh0ZW5kZWRBdHRy
aWJ1dGUiKTsKLSAgICBjaGFyICphdHRybmFtZSA9IHNldGlkZW50aWZpZXIodG9rKTsKLSAgICBh
ZGRub2RlKG5vZGUsIG5ld2F0dHIoIm5hbWUiLCBhdHRybmFtZSkpOwotICAgIHN0YXJ0ID0gdG9r
LT5wcmVzdGFydDsKLSAgICBub2RlLT53c3N0YXJ0ID0gc3RhcnQ7Ci0gICAgbm9kZS0+ZW5kID0g
dG9rLT5zdGFydCArIHRvay0+bGVuOwotICAgIGlmKCFzdHJjbXAoYXR0cm5hbWUsICJDb25zdHJ1
Y3RvciIpIHx8ICFzdHJjbXAoYXR0cm5hbWUsICJOYW1lZENvbnN0cnVjdG9yIikpIHsKLQkgICAg
c2V0Y29tbWVudG5vZGUobm9kZSk7Ci0JfQotICAgIGxleG5vY29tbWVudCgpOwotICAgIGlmICh0
b2stPnR5cGUgPT0gJz0nKSB7Ci0gICAgICAgIGxleG5vY29tbWVudCgpOwotICAgICAgICBhZGRu
b2RlKG5vZGUsIHBhcnNlc2NvcGVkbmFtZSh0b2ssICJ2YWx1ZSIsIDApKTsKLSAgICB9Ci0gICAg
aWYgKHRvay0+dHlwZSA9PSAnKCcpIHsKLSAgICAgICAgbGV4bm9jb21tZW50KCk7Ci0gICAgICAg
IGFkZG5vZGUobm9kZSwgcGFyc2Vhcmd1bWVudGxpc3QodG9rKSk7Ci0JICAgIG5vZGUtPmVuZCA9
IHRvay0+c3RhcnQgKyB0b2stPmxlbjsKLSAgICAgICAgZWF0KHRvaywgJyknKTsKLSAgICB9Ci0g
ICAgcmV0dXJuIG5vZGU7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogcGFyc2VleHRlbmRlZGF0
dHJpYnV0ZWxpc3QgOiBwYXJzZSBbMzddIEV4dGVuZGVkQXR0cmlidXRlTGlzdAotICoKLSAqIEVu
dGVyOiAgIHRvayA9IG5leHQgdG9rZW4KLSAqCi0gKiBSZXR1cm46ICAwIGVsc2Ugbm9kZSBmb3Ig
ZXh0ZW5kZWQgYXR0cmlidXRlIGxpc3QKLSAqICAgICAgICAgIHRvayB1cGRhdGVkIGlmIGFueXRo
aW5nIHBhcnNlZAotICovCi1zdGF0aWMgc3RydWN0IG5vZGUgKgotcGFyc2VleHRlbmRlZGF0dHJp
YnV0ZWxpc3Qoc3RydWN0IHRvayAqdG9rKQotewotICAgIHN0cnVjdCBub2RlICpub2RlOwotICAg
IGlmICh0b2stPnR5cGUgIT0gJ1snKQotICAgICAgICByZXR1cm4gMDsKLSAgICBub2RlID0gbmV3
ZWxlbWVudCgiRXh0ZW5kZWRBdHRyaWJ1dGVMaXN0Iik7Ci0gICAgZm9yICg7OykgewotICAgICAg
ICBsZXhub2NvbW1lbnQoKTsKLSAgICAgICAgYWRkbm9kZShub2RlLCBwYXJzZWV4dGVuZGVkYXR0
cmlidXRlKHRvaykpOwotICAgICAgICBpZiAodG9rLT50eXBlICE9ICcsJykKLSAgICAgICAgICAg
IGJyZWFrOwotICAgIH0KLSAgICBpZiAodG9rLT50eXBlICE9ICddJykKLSAgICAgICAgdG9rZXJy
b3JleGl0KHRvaywgImV4cGVjdGVkICcsJyBvciAnXSciKTsKLSAgICBsZXhub2NvbW1lbnQoKTsK
LSAgICByZXR1cm4gbm9kZTsKLX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBwYXJzZWV4Y2VwdGlv
bmZpZWxkIDogcGFyc2UgWzM2XSBFeGNlcHRpb25GaWVsZAotICoKLSAqIEVudGVyOiAgIHRvayA9
IG5leHQgdG9rZW4KLSAqICAgICAgICAgIGVhbCA9IDAgZWxzZSBleHRlbmRlZCBhdHRyaWJ1dGUg
bGlzdCBub2RlCi0gKgotICogUmV0dXJuOiAgbmV3IG5vZGUgZm9yIHRoZSBleGNlcHRpb25maWVs
ZAotICogICAgICAgICAgdG9rIHVwZGF0ZWQKLSAqLwotc3RhdGljIHN0cnVjdCBub2RlICoKLXBh
cnNlZXhjZXB0aW9uZmllbGQoc3RydWN0IHRvayAqdG9rLCBzdHJ1Y3Qgbm9kZSAqZWFsKQotewot
ICAgIHN0cnVjdCBub2RlICpub2RlID0gbmV3ZWxlbWVudCgiRXhjZXB0aW9uRmllbGQiKTsKLSAg
ICBpZiAoZWFsKSBhZGRub2RlKG5vZGUsIGVhbCk7Ci0gICAgc2V0Y29tbWVudG5vZGUobm9kZSk7
Ci0gICAgYWRkbm9kZShub2RlLCBwYXJzZXR5cGUodG9rKSk7Ci0gICAgYWRkbm9kZShub2RlLCBu
ZXdhdHRyKCJuYW1lIiwgc2V0aWRlbnRpZmllcih0b2spKSk7Ci0gICAgdG9rID0gbGV4bm9jb21t
ZW50KCk7Ci0gICAgcmV0dXJuIG5vZGU7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogcGFyc2Vh
cmd1bWVudCA6IHBhcnNlIFszMV0gQXJndW1lbnQKLSAqCi0gKiBFbnRlcjogICB0b2sgPSBuZXh0
IHRva2VuCi0gKgotICogUmV0dXJuOiAgbmV3IG5vZGUKLSAqCi0gKiB0b2sgdXBkYXRlZCBvbiBy
ZXR1cm4KLSAqLwotc3RhdGljIHN0cnVjdCBub2RlICoKLXBhcnNlYXJndW1lbnQoc3RydWN0IHRv
ayAqdG9rKQotewotICAgIHN0cnVjdCBub2RlICpub2RlID0gbmV3ZWxlbWVudCgiQXJndW1lbnQi
KTsKLSAgICBzdHJ1Y3Qgbm9kZSAqZWFsID0gcGFyc2VleHRlbmRlZGF0dHJpYnV0ZWxpc3QodG9r
KTsKLSAgICBzZXRjb21tZW50bm9kZShub2RlKTsKLSAgICBpZiAoZWFsKSBhZGRub2RlKG5vZGUs
IGVhbCk7Ci0gICAgaWYgKHRvay0+dHlwZSA9PSBUT0tfb3B0aW9uYWwpIHsKLSAgICAgICAgYWRk
bm9kZShub2RlLCBuZXdhdHRyKCJvcHRpb25hbCIsICJvcHRpb25hbCIpKTsKLSAgICAgICAgbGV4
bm9jb21tZW50KCk7Ci0gICAgfQotICAgIGFkZG5vZGUobm9kZSwgcGFyc2V0eXBlKHRvaykpOwot
ICAgIGlmICh0b2stPnR5cGUgPT0gVE9LX0VMTElQU0lTKSB7Ci0gICAgICAgIGFkZG5vZGUobm9k
ZSwgbmV3YXR0cigiZWxsaXBzaXMiLCAiZWxsaXBzaXMiKSk7Ci0gICAgICAgIGxleG5vY29tbWVu
dCgpOwotICAgIH0KLSAgICBhZGRub2RlKG5vZGUsIG5ld2F0dHIoIm5hbWUiLCBzZXRhcmd1bWVu
dG5hbWUodG9rKSkpOwotICAgIGxleG5vY29tbWVudCgpOwotICAgIC8vIE9wdGlvbmFsIGRlZmF1
bHQgdmFsdWUKLSAgICBpZiAodG9rLT50eXBlID09ICc9JykgewotICAgICAgdG9rID0gbGV4bm9j
b21tZW50KCk7Ci0gICAgICBub2RlID0gcGFyc2VkZWZhdWx0dmFsdWUodG9rLCBub2RlKTsKLSAg
ICB9Ci0gICAgcmV0dXJuIG5vZGU7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogcGFyc2Vhcmd1
bWVudGxpc3QgOiBwYXJzZSBbMjldIEFyZ3VtZW50TGlzdAotICoKLSAqIEVudGVyOiAgIHRvayA9
IG5leHQgdG9rZW4KLSAqCi0gKiBSZXR1cm46ICBuZXcgbm9kZSBmb3IgdGhlIGFyZ2xpc3QKLSAq
ICAgICAgICAgIHRvayB1cGRhdGVkCi0gKi8KLXN0YXRpYyBzdHJ1Y3Qgbm9kZSAqCi1wYXJzZWFy
Z3VtZW50bGlzdChzdHJ1Y3QgdG9rICp0b2spCi17Ci0gICAgc3RydWN0IG5vZGUgKm5vZGUgPSBu
ZXdlbGVtZW50KCJBcmd1bWVudExpc3QiKTsKLSAgICAvKiBXZSByZWx5IG9uIHRoZSBmYWN0IHRo
YXQgQXJndW1lbnRMaXN0IGlzIGFsd2F5cyBmb2xsb3dlZCBieSAnKScuICovCi0gICAgaWYgKHRv
ay0+dHlwZSAhPSAnKScpIHsKLSAgICAgICAgZm9yICg7OykgewotICAgICAgICAgICAgYWRkbm9k
ZShub2RlLCBwYXJzZWFyZ3VtZW50KHRvaykpOwotICAgICAgICAgICAgaWYgKHRvay0+dHlwZSAh
PSAnLCcpCi0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBsZXhub2NvbW1lbnQo
KTsKLSAgICAgICAgfQotICAgIH0KLSAgICByZXR1cm4gbm9kZTsKLX0KLQotCi0vKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioKLSAqIHBhcnNlb3BlcmF0aW9ucmVzdCA6IHBhcnNlIFsyNV0gT3BlcmF0aW9uUmVzdAot
ICoKLSAqIEVudGVyOiAgIHRvayA9IG5leHQgdG9rZW4KLSAqICAgICAgICAgIG5vZGUKLSAqCi0g
KiBSZXR1cm46ICBub2RlCi0gKiAgICAgICAgICB0b2sgb24gdGVybWluYXRpbmcgJzsnCi0gKi8K
LXN0YXRpYyBzdHJ1Y3Qgbm9kZSAqCi1wYXJzZW9wZXJhdGlvbnJlc3Qoc3RydWN0IHRvayAqdG9r
LCBzdHJ1Y3Qgbm9kZSAqbm9kZSkKLXsKLSAgICBpZiAodG9rLT50eXBlID09IFRPS19JREVOVElG
SUVSKSB7Ci0gICAgICAgIGFkZG5vZGUobm9kZSwgbmV3YXR0cigibmFtZSIsIHNldGlkZW50aWZp
ZXIodG9rKSkpOwotICAgICAgICBsZXhub2NvbW1lbnQoKTsKLSAgICB9Ci0gICAgZWF0KHRvaywg
JygnKTsKLSAgICBhZGRub2RlKG5vZGUsIHBhcnNlYXJndW1lbnRsaXN0KHRvaykpOwotICAgIGVh
dCh0b2ssICcpJyk7Ci0gICAgcmV0dXJuIG5vZGU7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICog
cGFyc2VyZXR1cm50eXBlYW5kb3BlcmF0aW9ucmVzdDogcGFyc2UgUmV0dXJuVHlwZSBPcGVyYXRp
b25SZXN0Ci0gKiBFbnRlcjogICB0b2sgPSBuZXh0IHRva2VuCi0gKiAgICAgICAgICBlYWwKLSAq
ICAgICAgICAgIGF0dHJzIGxpc3Qgb2YgYXR0cmlidXRlcwotICogUmV0dXJuOiAgbm9kZQotICog
ICAgICAgICAgdG9rIG9uIHRlcm1pbmF0aW5nICc7JwotICovCi1zdGF0aWMgc3RydWN0IG5vZGUg
KgotcGFyc2VyZXR1cm50eXBlYW5kb3BlcmF0aW9ucmVzdChzdHJ1Y3QgdG9rICp0b2ssIHN0cnVj
dCBub2RlICplYWwsIHN0cnVjdCBub2RlICphdHRycykgCi17Ci0gIHN0cnVjdCBub2RlICpub2Rl
ID0gIG5ld2VsZW1lbnQoIk9wZXJhdGlvbiIpOwotICBzdHJ1Y3Qgbm9kZSAqbm9kZVR5cGUgPSBw
YXJzZXJldHVybnR5cGUodG9rKTsKLSAgaWYgKGVhbCkgYWRkbm9kZShub2RlLCBlYWwpOwotICBz
ZXRjb21tZW50bm9kZShub2RlKTsKLSAgYWRkbm9kZShub2RlLCBhdHRycyk7Ci0gIGFkZG5vZGUo
bm9kZSwgbm9kZVR5cGUpOwotICByZXR1cm4gcGFyc2VvcGVyYXRpb25yZXN0KHRvaywgbm9kZSk7
Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKgotICogcGFyc2VpdGVyYXRvcnJlc3QgOiBwYXJzZSBPcHRp
b25hbEl0ZXJhdG9ySW50ZXJmYWNlCi0gKgotICogRW50ZXI6ICAgdG9rID0gbmV4dCB0b2tlbgot
ICogICAgICAgICAgbm9kZQotICoKLSAqIFJldHVybjogIG5vZGUKLSAqICAgICAgICAgIHRvayBv
biB0ZXJtaW5hdGluZyAnOycKLSAqLwotc3RhdGljIHN0cnVjdCBub2RlICoKLXBhcnNlb3B0aW9u
YWxpdGVyYXRvcmludGVyZmFjZShzdHJ1Y3QgdG9rICp0b2ssIHN0cnVjdCBub2RlICpub2RlKQot
ewotICBpZiAodG9rLT50eXBlID09ICc9JykgewotICAgIGxleG5vY29tbWVudCgpOwotICAgIGFk
ZG5vZGUobm9kZSwgbmV3YXR0cigiaW50ZXJmYWNlIiwgc2V0aWRlbnRpZmllcih0b2spKSk7Ci0g
ICAgbGV4bm9jb21tZW50KCk7Ci0gIH0KLSAgcmV0dXJuIG5vZGU7Ci19Ci0KLS8qKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKgotICogcGFyc2VvcGVyYXRpb25vcml0ZXJhdG9ycmVzdCA6IHBhcnNlIFsyNV0gT3BlcmF0
aW9uT3JJdGVyYXRvclJlc3QKLSAqCi0gKiBFbnRlcjogICB0b2sgPSBuZXh0IHRva2VuCi0gKiAg
ICAgICAgICBlYWwgPSAwIGVsc2UgZXh0ZW5kZWQgYXR0cmlidXRlIGxpc3Qgbm9kZQotICogICAg
ICAgICAgYXR0cnMgPSBsaXN0LW9mLWF0dHJzIG5vZGUgY29udGFpbmluZyBhdHRycyB0byBhZGQg
dG8gbmV3IG5vZGUKLSAqCi0gKiBSZXR1cm46ICBuZXcgbm9kZQotICogICAgICAgICAgdG9rIG9u
IHRlcm1pbmF0aW5nICc7JwotICovCi1zdGF0aWMgc3RydWN0IG5vZGUgKgotcGFyc2VvcGVyYXRp
b25vcml0ZXJhdG9ycmVzdChzdHJ1Y3QgdG9rICp0b2ssIHN0cnVjdCBub2RlICplYWwsIHN0cnVj
dCBub2RlICphdHRycykKLXsKLSAgc3RydWN0IG5vZGUgKm5vZGU7Ci0gIHN0cnVjdCBub2RlICpu
b2RlVHlwZSA9IHBhcnNlcmV0dXJudHlwZSh0b2spOwotICB1bnNpZ25lZCBpbnQgaXNJdGVyYXRv
ciA9IDA7Ci0gIGlmICh0b2stPnR5cGUgPT0gVE9LX2l0ZXJhdG9yKSB7Ci0gICAgbGV4bm9jb21t
ZW50KCk7Ci0gICAgaWYgKHRvay0+dHlwZSA9PSBUT0tfb2JqZWN0KSB7Ci0gICAgICBsZXhub2Nv
bW1lbnQoKTsKLSAgICAgIG5vZGUgPSBuZXdlbGVtZW50KCJJdGVyYXRvck9iamVjdCIpOwotICAg
ICAgYWRkbm9kZShub2RlLCBub2RlVHlwZSk7Ci0gICAgICByZXR1cm4gbm9kZTsKLSAgICB9IGVs
c2UgewotICAgICAgbm9kZSA9IG5ld2VsZW1lbnQoIkl0ZXJhdG9yIik7Ci0gICAgICBpc0l0ZXJh
dG9yID0gMTsgICAgCi0gICAgfQotICB9IGVsc2UgewotICAgIG5vZGUgPSBuZXdlbGVtZW50KCJP
cGVyYXRpb24iKTsKLSAgfQotICBpZiAoZWFsKSBhZGRub2RlKG5vZGUsIGVhbCk7Ci0gIHNldGNv
bW1lbnRub2RlKG5vZGUpOwotICBhZGRub2RlKG5vZGUsIGF0dHJzKTsKLSAgYWRkbm9kZShub2Rl
LCBub2RlVHlwZSk7Ci0gIGlmIChpc0l0ZXJhdG9yKQotICAgIHJldHVybiBwYXJzZW9wdGlvbmFs
aXRlcmF0b3JpbnRlcmZhY2UodG9rLCBub2RlKTsKLSAgZWxzZQotICAgIHJldHVybiBwYXJzZW9w
ZXJhdGlvbnJlc3QodG9rLCBub2RlKTsKLX0KLQotCi0vKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIHBhcnNl
YXR0cmlidXRlIDogcGFyc2UgWzE3XSBBdHRyaWJ1dGUKLSAqCi0gKiBFbnRlcjogICB0b2sgPSBu
ZXh0IHRva2VuICgicmVhZG9ubHkiIG9yICJhdHRyaWJ1dGUiKQotICogICAgICAgICAgZWFsID0g
MCBlbHNlIGV4dGVuZGVkIGF0dHJpYnV0ZSBsaXN0IG5vZGUKLSAqICAgICAgICAgIGF0dHJzID0g
bGlzdC1vZi1hdHRycyBub2RlIGNvbnRhaW5pbmcgYXR0cnMgdG8gYWRkIHRvIG5ldyBub2RlCi0g
KgotICogUmV0dXJuOiAgbm9kZQotICogICAgICAgICAgdG9rIG9uIHRlcm1pbmF0aW5nICc7Jwot
ICovCi1zdGF0aWMgc3RydWN0IG5vZGUgKgotcGFyc2VhdHRyaWJ1dGUoc3RydWN0IHRvayAqdG9r
LCBzdHJ1Y3Qgbm9kZSAqZWFsLCBzdHJ1Y3Qgbm9kZSAqYXR0cnMpCi17Ci0gICAgc3RydWN0IG5v
ZGUgKm5vZGUgPSBuZXdlbGVtZW50KCJBdHRyaWJ1dGUiKTsKLSAgICBpZiAoZWFsKSBhZGRub2Rl
KG5vZGUsIGVhbCk7Ci0gICAgc2V0Y29tbWVudG5vZGUobm9kZSk7Ci0gICAgYWRkbm9kZShub2Rl
LCBhdHRycyk7Ci0gICAgaWYgKHRvay0+dHlwZSA9PSBUT0tfaW5oZXJpdCkgewotICAgICAgICBs
ZXhub2NvbW1lbnQoKTsKLQlhZGRub2RlKG5vZGUsIG5ld2F0dHIoImluaGVyaXQiLCAiaW5oZXJp
dCIpKTsKLSAgICB9Ci0gICAgaWYgKHRvay0+dHlwZSA9PSBUT0tfcmVhZG9ubHkpIHsKLSAgICAg
ICAgbGV4bm9jb21tZW50KCk7Ci0gICAgICAgIGFkZG5vZGUobm9kZSwgbmV3YXR0cigicmVhZG9u
bHkiLCAicmVhZG9ubHkiKSk7Ci0gICAgfQotICAgIGVhdCh0b2ssIFRPS19hdHRyaWJ1dGUpOwot
ICAgIGFkZG5vZGUobm9kZSwgcGFyc2V0eXBlKHRvaykpOwotICAgIGFkZG5vZGUobm9kZSwgbmV3
YXR0cigibmFtZSIsIHNldGlkZW50aWZpZXIodG9rKSkpOwotICAgIGxleG5vY29tbWVudCgpOwot
ICAgIHJldHVybiBub2RlOwotfQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIHBhcnNlc2VyaWFsaXpl
ciA6IHBhcnNlIFNlcmlhbGl6ZXIKLSAqCi0gKiBFbnRlcjogICB0b2sgPSBuZXh0IHRva2VuCi0g
KiAgICAgICAgICBlYWwKLSAqCi0gKiBSZXR1cm46ICBub2RlIHVwZGF0ZWQgd2l0aCB2YWx1ZQot
ICogICAgICAgICAgdG9rIHVwZGF0ZWQKLSAqLwotc3RhdGljIHN0cnVjdCBub2RlICoKLXBhcnNl
c2VyaWFsaXplciAoc3RydWN0IHRvayAqdG9rLCBzdHJ1Y3Qgbm9kZSAqZWFsKSB7Ci0Jc3RydWN0
IG5vZGUgKm5vZGVBdHRyaWJ1dGU7Ci0Jc3RydWN0IG5vZGUgKm5vZGUgPSBuZXdlbGVtZW50KCJT
ZXJpYWxpemVyIik7Ci0gIGlmICh0b2stPnR5cGUgPT0gJz0nKSB7Ci0gICAgaWYgKGVhbCkgYWRk
bm9kZShub2RlLCBlYWwpOwotICAgIGxleG5vY29tbWVudCgpOwotICAgIGlmICh0b2stPnR5cGUg
PT0gVE9LX0lERU5USUZJRVIpIHsKLSAgICAgIGFkZG5vZGUobm9kZSwgbmV3YXR0cigiYXR0cmli
dXRlIiwgc2V0aWRlbnRpZmllcih0b2spKSk7Ci0gICAgICBsZXhub2NvbW1lbnQoKTsKLSAgICB9
IGVsc2UgaWYgKHRvay0+dHlwZSA9PSAneycpIHsKLSAgICAgIHVuc2lnbmVkIGludCBkb25lID0g
MDsKLSAgICAgIHN0cnVjdCBub2RlICpub2RlTWFwID0gbmV3ZWxlbWVudCgiTWFwIik7Ci0gICAg
ICBsZXhub2NvbW1lbnQoKTsKLSAgICAgIGlmICh0b2stPnR5cGUgPT0gVE9LX2dldHRlcikgewot
CWFkZG5vZGUobm9kZU1hcCwgbmV3YXR0cigicGF0dGVybiIsICJnZXR0ZXIiKSk7Ci0JZG9uZSA9
IDE7Ci0gICAgICB9IGVsc2UgaWYgKHRvay0+dHlwZSA9PSBUT0tfYXR0cmlidXRlKSB7Ci0JYWRk
bm9kZShub2RlTWFwLCBuZXdhdHRyKCJwYXR0ZXJuIiwgImFsbCIpKTsKLQlkb25lID0gMTsKLSAg
ICAgIH0gZWxzZSBpZiAodG9rLT50eXBlID09IFRPS19pbmhlcml0KSB7Ci0JYWRkbm9kZShub2Rl
TWFwLCBuZXdhdHRyKCJpbmhlcml0IiwgImluaGVyaXQiKSk7Ci0JbGV4bm9jb21tZW50KCk7Ci0J
ZWF0KHRvaywgJywnKTsKLQlpZiAodG9rLT50eXBlID09IFRPS19hdHRyaWJ1dGUpIHsKLQkgIGFk
ZG5vZGUobm9kZU1hcCwgbmV3YXR0cigicGF0dGVybiIsICJhbGwiKSk7Ci0JICBkb25lID0gMTsK
LQl9Ci0gICAgICB9IGVsc2UgaWYgKHRvay0+dHlwZSAhPSBUT0tfSURFTlRJRklFUikgewotCXRv
a2Vycm9yZXhpdCh0b2ssICJleHBlY3RlZCAnYXR0cmlidXRlJywgJ2dldHRlcicsICdpbmhlcml0
JyBvciBhdHRyaWJ1dGUgaWRlbnRpZmllcnMgaW4gc2VyaWFsaXplciBtYXAiKTsKLSAgICAgIH0K
LSAgICAgIGlmIChkb25lKSB7Ci0JbGV4bm9jb21tZW50KCk7Ci0JZWF0KHRvaywgJ30nKTsKLSAg
ICAgIH0gZWxzZSB7Ci0JYWRkbm9kZShub2RlTWFwLCBuZXdhdHRyKCJwYXR0ZXJuIiwgInNlbGVj
dGlvbiIpKTsKLQlkbyB7Ci0JICBpZiAodG9rLT50eXBlICE9IFRPS19JREVOVElGSUVSKQotCSAg
ICB0b2tlcnJvcmV4aXQodG9rLCAiZXhwZWN0ZWQgYXR0cmlidXRlIGlkZW50aWZpZXJzIGluIHNl
cmlhbGl6ZXIgbWFwICVzIiwgdG9rLT5wcmVzdGFydCk7Ci0JICBub2RlQXR0cmlidXRlID0gbmV3
ZWxlbWVudCgiUGF0dGVybkF0dHJpYnV0ZSIpOwotCSAgYWRkbm9kZShub2RlQXR0cmlidXRlLCBu
ZXdhdHRyKCJuYW1lIiwgc2V0aWRlbnRpZmllcih0b2spKSk7Ci0JICBhZGRub2RlKG5vZGVNYXAs
IG5vZGVBdHRyaWJ1dGUpOwotCSAgbGV4bm9jb21tZW50KCk7Ci0JICBpZiAodG9rLT50eXBlID09
ICcsJykKLQkgICAgbGV4bm9jb21tZW50KCk7Ci0JfSB3aGlsZSAodG9rLT50eXBlICE9ICd9Jyk7
Ci0JZWF0KHRvaywgJ30nKTsKLSAgICAgIH0KLSAgICAgIGFkZG5vZGUobm9kZSwgbm9kZU1hcCk7
Ci0gICAgfSBlbHNlIGlmICh0b2stPnR5cGUgPT0gJ1snKSB7Ci0gICAgICBzdHJ1Y3Qgbm9kZSAq
bm9kZUxpc3QgPSBuZXdlbGVtZW50KCJMaXN0Iik7Ci0gICAgICBsZXhub2NvbW1lbnQoKTsKLSAg
ICAgIGlmICh0b2stPnR5cGUgPT0gVE9LX2dldHRlcikgewotCWFkZG5vZGUobm9kZUxpc3QsIG5l
d2F0dHIoInBhdHRlcm4iLCAiZ2V0dGVyIikpOwotCWxleG5vY29tbWVudCgpOwotCWVhdCh0b2ss
ICddJyk7Ci0gICAgICB9IGVsc2UgewotCWFkZG5vZGUobm9kZUxpc3QsIG5ld2F0dHIoInBhdHRl
cm4iLCAic2VsZWN0aW9uIikpOwotCWRvIHsKLQkgIGlmICh0b2stPnR5cGUgIT0gVE9LX0lERU5U
SUZJRVIpCi0JICAgIHRva2Vycm9yZXhpdCh0b2ssICJleHBlY3RlZCBhdHRyaWJ1dGUgaWRlbnRp
ZmllcnMgaW4gc2VyaWFsaXplciBsaXN0Iik7Ci0JICBub2RlQXR0cmlidXRlID0gbmV3ZWxlbWVu
dCgiUGF0dGVybkF0dHJpYnV0ZSIpOwotCSAgYWRkbm9kZShub2RlQXR0cmlidXRlLCBuZXdhdHRy
KCJuYW1lIiwgc2V0aWRlbnRpZmllcih0b2spKSk7Ci0JICBhZGRub2RlKG5vZGVMaXN0LCBub2Rl
QXR0cmlidXRlKTsKLQkgIGxleG5vY29tbWVudCgpOwotCSAgaWYgKHRvay0+dHlwZSA9PSAnLCcp
Ci0JICAgIGxleG5vY29tbWVudCgpOwotCX0gd2hpbGUgKHRvay0+dHlwZSAhPSAnXScpOwkgICAg
Ci0JZWF0KHRvaywgJ10nKTsKLSAgICAgIH0KLSAgICAgIGFkZG5vZGUobm9kZSwgbm9kZUxpc3Qp
OwotICAgIH0gZWxzZSB7Ci0gICAgICB0b2tlcnJvcmV4aXQodG9rLCAiRXhwZWN0ZWQgJ3snLCAn
Wycgb3IgYW4gYXR0cmlidXRlIGlkZW50aWZpZXIgaW4gdGhlIHNlcmlhbGl6ZXIgZGVjbGFyYXRp
b24iKTsKLSAgICB9Ci0gICAgcmV0dXJuIG5vZGU7Ci0gIH0gZWxzZSB7Ci0gICAgaWYgKGVhbCkg
YWRkbm9kZShub2RlLCBlYWwpOwotICAgIHJldHVybiBub2RlOwotICB9Ci19Ci0KLS8qKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKgotICogcGFyc2VhdHRyaWJ1dGVvcm9wZXJhdGlvbm9yaXRlcmF0b3IgOiBwYXJzZSBb
MTVdIEF0dHJpYnV0ZU9yT3BlcmF0aW9uT3JJdGVyYXRvcgotICoKLSAqIEVudGVyOiAgIHRvayA9
IG5leHQgdG9rZW4KLSAqICAgICAgICAgIGVhbCA9IDAgZWxzZSBleHRlbmRlZCBhdHRyaWJ1dGUg
bGlzdCBub2RlCi0gKgotICogUmV0dXJuOiAgbmV3IG5vZGUKLSAqICAgICAgICAgIHRvayBvbiB0
ZXJtaW5hdGluZyAnOycKLSAqLwotc3RhdGljIHN0cnVjdCBub2RlICoKLXBhcnNlYXR0cmlidXRl
b3JvcGVyYXRpb25vcml0ZXJhdG9yKHN0cnVjdCB0b2sgKnRvaywgc3RydWN0IG5vZGUgKmVhbCkK
LXsKLQlpbnQgYWxyZWFkeXNlZW4gOwotICAgIHN0cnVjdCBub2RlICphdHRycyA9IG5ld2F0dHJs
aXN0KCk7Ci0gICAgaWYgKHRvay0+dHlwZSA9PSBUT0tfc2VyaWFsaXplcikgewotICAgICAgbGV4
bm9jb21tZW50KCk7Ci0gICAgICBpZiAodG9rLT50eXBlID09ICc9JyB8fCB0b2stPnR5cGUgPT0n
OycpIHsKLQlyZXR1cm4gcGFyc2VzZXJpYWxpemVyKHRvaywgZWFsKTsKLSAgICAgIH0gZWxzZSB7
Ci0JYWRkbm9kZShhdHRycywgbmV3YXR0cigic2VyaWFsaXplciIsICJzZXJpYWxpemVyIikpOwot
CXJldHVybiBwYXJzZXJldHVybnR5cGVhbmRvcGVyYXRpb25yZXN0KHRvaywgZWFsLCBhdHRycyk7
Ci0gICAgICB9Ci0gICAgfQotICAgIGlmICh0b2stPnR5cGUgPT0gVE9LX3N0cmluZ2lmaWVyKSB7
Ci0gICAgICAgIGFkZG5vZGUoYXR0cnMsIG5ld2F0dHIoInN0cmluZ2lmaWVyIiwgInN0cmluZ2lm
aWVyIikpOwotICAgICAgICBsZXhub2NvbW1lbnQoKTsKLSAgICAgICAgaWYgKHRvay0+dHlwZSA9
PSAnOycpIHsKLSAgICAgICAgICAgIHN0cnVjdCBub2RlICpub2RlID0gbmV3ZWxlbWVudCgiU3Ry
aW5naWZpZXIiKTsKLSAgICAgICAgICAgIGlmIChlYWwpIGFkZG5vZGUobm9kZSwgZWFsKTsKLSAg
ICAgICAgICAgIHJldHVybiBub2RlOwotICAgICAgICB9Ci0gICAgfQotICAgIGlmICh0b2stPnR5
cGUgPT0gVE9LX3N0YXRpYykgewotICAgICAgICBsZXhub2NvbW1lbnQoKTsKLSAgICAgICAgYWRk
bm9kZShhdHRycywgbmV3YXR0cigic3RhdGljIiwgInN0YXRpYyIpKTsKLSAgICB9Ci0gICAgaWYg
KHRvay0+dHlwZSA9PSBUT0tfaW5oZXJpdCB8fCB0b2stPnR5cGUgPT0gVE9LX3JlYWRvbmx5IHx8
IHRvay0+dHlwZSA9PSBUT0tfYXR0cmlidXRlKQotICAgICAgICByZXR1cm4gcGFyc2VhdHRyaWJ1
dGUodG9rLCBlYWwsIGF0dHJzKTsKLSAgICBpZiAoIW5vZGVpc2VtcHR5KGF0dHJzKSkKLSAJcmV0
dXJuIHBhcnNlcmV0dXJudHlwZWFuZG9wZXJhdGlvbnJlc3QodG9rLCBlYWwsIGF0dHJzKTsKLSAg
ICBhbHJlYWR5c2VlbiA9IDA7Ci0gICAgZm9yICg7OykgewotICAgICAgc3RhdGljIGNvbnN0IGlu
dCB0W10gPSB7IFRPS19nZXR0ZXIsCi0JCQkgICAgICAgVE9LX3NldHRlciwgVE9LX2NyZWF0b3Is
IFRPS19kZWxldGVyLCBUT0tfbGVnYWN5Y2FsbGVyLAotCQkJICAgICAgIDAgfTsKLSAgICAgIGNv
bnN0IGludCAqdHQgPSB0OwotICAgICAgY2hhciAqczsKLSAgICAgIHdoaWxlICgqdHQgJiYgKnR0
ICE9IHRvay0+dHlwZSkKLQl0dCsrOwotICAgICAgaWYgKCEqdHQpCi0JYnJlYWs7Ci0gICAgICBz
ID0gbWVtcHJpbnRmKCIlLipzIiwgdG9rLT5sZW4sIHRvay0+c3RhcnQpOwotICAgICAgaWYgKGFs
cmVhZHlzZWVuICYgKDEgPDwgKHR0IC0gdCkpKQotCXRva2Vycm9yZXhpdCh0b2ssICInJXMnIHF1
YWxpZmllciBjYW5ub3QgYmUgcmVwZWF0ZWQiLCBzKTsKLSAgICAgIGFscmVhZHlzZWVuIHw9IDEg
PDwgKHR0IC0gdCk7Ci0gICAgICBhZGRub2RlKGF0dHJzLCBuZXdhdHRyKHMsIHMpKTsKLSAgICAg
IGxleG5vY29tbWVudCgpOwotICAgIH0KLSAgICBpZiAoIW5vZGVpc2VtcHR5KGF0dHJzKSkgICAg
Ci0gICAgICByZXR1cm4gcGFyc2VyZXR1cm50eXBlYW5kb3BlcmF0aW9ucmVzdCh0b2ssIGVhbCwg
YXR0cnMpOwotICAgIGVsc2UKLSAgICAgIHJldHVybiBwYXJzZW9wZXJhdGlvbm9yaXRlcmF0b3Jy
ZXN0KHRvaywgZWFsLCBhdHRycyk7Ci19Ci0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBwYXJzZWNv
bnN0ZXhwciA6IHBhcnNlIENvbnN0VmFsdWUKLSAqCi0gKiBFbnRlcjogICB0b2sgPSBuZXh0IHRv
a2VuCi0gKiAgICAgICAgICBub2RlCi0gKgotICogUmV0dXJuOiAgbm9kZSB1cGRhdGVkIHdpdGgg
dmFsdWUKLSAqICAgICAgICAgIHRvayB1cGRhdGVkCi0gKi8KLXN0YXRpYyBzdHJ1Y3Qgbm9kZSAq
Ci1wYXJzZWNvbnN0ZXhwciAoc3RydWN0IHRvayAqdG9rLCBzdHJ1Y3Qgbm9kZSAqbm9kZSkgewot
ICBjaGFyICpzOwotICBzd2l0Y2godG9rLT50eXBlKSB7Ci0gIGNhc2UgVE9LX3RydWU6Ci0gIGNh
c2UgVE9LX2ZhbHNlOgotICBjYXNlIFRPS19taW51c2luZmluaXR5OgotICBjYXNlIFRPS19JTlRF
R0VSOgotICBjYXNlIFRPS19GTE9BVDoKLSAgY2FzZSBUT0tfbnVsbDoKLSAgY2FzZSBUT0tfaW5m
aW5pdHk6Ci0gIGNhc2UgVE9LX05hTjoKLSAgICBicmVhazsKLSAgZGVmYXVsdDoKLSAgICB0b2tl
cnJvcmV4aXQodG9rLCAiZXhwZWN0ZWQgY29uc3RhbnQgdmFsdWUiKTsKLSAgICBicmVhazsKLSAg
fQotICBzID0gbWVtYWxsb2ModG9rLT5sZW4gKyAxKTsKLSAgbWVtY3B5KHMsIHRvay0+c3RhcnQs
IHRvay0+bGVuKTsKLSAgc1t0b2stPmxlbl0gPSAwOwotICBpZiAodG9rLT50eXBlICE9IFRPS19T
VFJJTkcpIHsKLSAgICBhZGRub2RlKG5vZGUsIG5ld2F0dHIoInZhbHVlIiwgcykpOwotICB9IGVs
c2UgewotICAgIGFkZG5vZGUobm9kZSwgbmV3YXR0cigic3RyaW5ndmFsdWUiLCBzKSk7Ci0gIH0K
LSAgbGV4bm9jb21tZW50KCk7Ci0gIHJldHVybiBub2RlOwotfQotCi0vKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioK
LSAqIHBhcnNlZGVmYXVsdHZhbHVlIDogcGFyc2UgRGVmYXVsdFZhbHVlCi0gKgotICogRW50ZXI6
ICAgdG9rID0gbmV4dCB0b2tlbgotICogICAgICAgICAgbm9kZQotICoKLSAqIFJldHVybjogIG5v
ZGUgdXBkYXRlZCB3aXRoIHZhbHVlCi0gKiAgICAgICAgICB0b2sgdXBkYXRlZAotICovCi1zdGF0
aWMgc3RydWN0IG5vZGUgKgotcGFyc2VkZWZhdWx0dmFsdWUgKHN0cnVjdCB0b2sgKnRvaywgc3Ry
dWN0IG5vZGUgKm5vZGUpIHsKLSAgY2hhciAqczsKLSAgaWYgKHRvay0+dHlwZSA9PSBUT0tfU1RS
SU5HKSB7Ci0gICAgcyA9IG1lbWFsbG9jKHRvay0+bGVuICsgMSk7Ci0gICAgbWVtY3B5KHMsIHRv
ay0+c3RhcnQsIHRvay0+bGVuKTsKLSAgICBzW3Rvay0+bGVuXSA9IDA7Ci0gICAgYWRkbm9kZShu
b2RlLCBuZXdhdHRyKCJzdHJpbmd2YWx1ZSIsIHMpKTsKLSAgICBsZXhub2NvbW1lbnQoKTsKLSAg
ICByZXR1cm4gbm9kZTsKLSAgfSBlbHNlIHsKLSAgICByZXR1cm4gcGFyc2Vjb25zdGV4cHIodG9r
LCBub2RlKTsKLSAgfQotfQotCi0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBwYXJzZWRpY3Rpb25h
cnltZW1iZXIgOiBwYXJzZSBEaWN0aW9uYXJ5TWVtYmVyCi0gKgotICogRW50ZXI6ICAgdG9rID0g
bmV4dCB0b2tlbgotICogICAgICAgICAgZWFsID0gMCBlbHNlIGV4dGVuZGVkIGF0dHJpYnV0ZSBs
aXN0IG5vZGUKLSAqCi0gKiBSZXR1cm46ICBuZXcgbm9kZQotICogICAgICAgICAgdG9rIG9uIHRl
cm1pbmF0aW5nICc7JwotICovCi1zdGF0aWMgc3RydWN0IG5vZGUgKgotcGFyc2VkaWN0aW9uYXJ5
bWVtYmVyKHN0cnVjdCB0b2sgKnRvaywgc3RydWN0IG5vZGUgKmVhbCkKLXsKLSAgICBzdHJ1Y3Qg
bm9kZSAqbm9kZSA9IG5ld2VsZW1lbnQoIkRpY3Rpb25hcnlNZW1iZXIiKTsKLSAgICBpZiAoZWFs
KSBhZGRub2RlKG5vZGUsIGVhbCk7Ci0gICAgc2V0Y29tbWVudG5vZGUobm9kZSk7Ci0gICAgYWRk
bm9kZShub2RlLCBwYXJzZXR5cGUodG9rKSk7Ci0gICAgYWRkbm9kZShub2RlLCBuZXdhdHRyKCJu
YW1lIiwgc2V0aWRlbnRpZmllcih0b2spKSk7Ci0gICAgdG9rID0gbGV4bm9jb21tZW50KCk7Ci0g
ICAgLy8gT3B0aW9uYWwgdmFsdWUKLSAgICBpZiAodG9rLT50eXBlID09ICc9JykgewotICAgICAg
dG9rID0gbGV4bm9jb21tZW50KCk7Ci0gICAgICBub2RlID0gcGFyc2VkZWZhdWx0dmFsdWUodG9r
LCBub2RlKTsKLSAgICB9Ci0gICAgcmV0dXJuIG5vZGU7Ci19Ci0KLS8qKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgot
ICogcGFyc2Vjb25zdCA6IHBhcnNlIFsxMl0gQ29uc3QKLSAqCi0gKiBFbnRlcjogICB0b2sgPSBu
ZXh0IHRva2VuLCBrbm93biB0byBiZSBUT0tfY29uc3QKLSAqICAgICAgICAgIGVhbCA9IDAgZWxz
ZSBleHRlbmRlZCBhdHRyaWJ1dGUgbGlzdCBub2RlCi0gKgotICogUmV0dXJuOiAgbmV3IG5vZGUg
Zm9yIHRoZSBjb25zdAotICogICAgICAgICAgdG9rIG9uIHRlcm1pbmF0aW5nICc7JwotICovCi1z
dGF0aWMgc3RydWN0IG5vZGUgKgotcGFyc2Vjb25zdChzdHJ1Y3QgdG9rICp0b2ssIHN0cnVjdCBu
b2RlICplYWwpCi17Ci0gICAgc3RydWN0IG5vZGUgKm5vZGUgPSBuZXdlbGVtZW50KCJDb25zdCIp
OwotICAgIHNldGNvbW1lbnRub2RlKG5vZGUpOwotICAgIGlmIChlYWwpIGFkZG5vZGUobm9kZSwg
ZWFsKTsKLSAgICB0b2sgPSBsZXhub2NvbW1lbnQoKTsKLSAgICBzd2l0Y2godG9rLT50eXBlKSB7
Ci0gICAgY2FzZSBUT0tfYm9vbGVhbjoKLSAgICBjYXNlIFRPS19ieXRlOgotICAgIGNhc2UgVE9L
X29jdGV0OgotICAgIGNhc2UgVE9LX2Zsb2F0OgotICAgIGNhc2UgVE9LX2RvdWJsZToKLSAgICBj
YXNlIFRPS191bnNpZ25lZDoKLSAgICBjYXNlIFRPS191bnJlc3RyaWN0ZWQ6Ci0gICAgY2FzZSBU
T0tfc2hvcnQ6Ci0gICAgY2FzZSBUT0tfbG9uZzoKLSAgICAgICAgYWRkbm9kZShub2RlLCBwYXJz
ZXR5cGUodG9rKSk7Ci0JYnJlYWs7Ci0gICAgZGVmYXVsdDoKLSAgICAgICAgdG9rZXJyb3JleGl0
KHRvaywgImV4cGVjdGVkIGFjY2VwdGFibGUgY29uc3RhbnQgdHlwZSIpOwotICAgICAgICBicmVh
azsKLSAgICB9Ci0gICAgYWRkbm9kZShub2RlLCBuZXdhdHRyKCJuYW1lIiwgc2V0aWRlbnRpZmll
cih0b2spKSk7Ci0gICAgdG9rID0gbGV4bm9jb21tZW50KCk7Ci0gICAgZWF0KHRvaywgJz0nKTsK
LSAgICBub2RlID0gcGFyc2Vjb25zdGV4cHIodG9rLCBub2RlKTsKLSAgICByZXR1cm4gbm9kZTsK
LX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqCi0gKiBwYXJzZWltcGxlbWVudHNzdGF0ZW1lbnQgOiBwYXJz
ZSBbMTFdIEltcGxlbWVudHNTdGF0ZW1lbnQKLSAqCi0gKiBFbnRlcjogICB0b2sgPSBuZXh0IHRv
a2VuLCBrbm93biB0byBiZSA6OiBvciBUT0tfSURFTlRJRklFUgotICogICAgICAgICAgZWFsID0g
MCBlbHNlIGV4dGVuZGVkIGF0dHJpYnV0ZSBsaXN0IG5vZGUKLSAqCi0gKiBSZXR1cm46ICBuZXcg
bm9kZSBmb3IgdGhlIHR5cGVkZWYKLSAqICAgICAgICAgIHRvayB1cGRhdGVkIHRvIHRoZSB0ZXJt
aW5hdGluZyAnOycKLSAqLwotc3RhdGljIHN0cnVjdCBub2RlICoKLXBhcnNlaW1wbGVtZW50c3N0
YXRlbWVudChzdHJ1Y3QgdG9rICp0b2ssIHN0cnVjdCBub2RlICplYWwpCi17Ci0gICAgc3RydWN0
IG5vZGUgKm5vZGUgPSBuZXdlbGVtZW50KCJJbXBsZW1lbnRzIik7Ci0gICAgc2V0Y29tbWVudG5v
ZGUobm9kZSk7Ci0gICAgaWYgKGVhbCkgYWRkbm9kZShub2RlLCBlYWwpOwotICAgIGFkZG5vZGUo
bm9kZSwgcGFyc2VzY29wZWRuYW1lKHRvaywgIm5hbWUxIiwgMSkpOwotICAgIGVhdCh0b2ssIFRP
S19pbXBsZW1lbnRzKTsKLSAgICBhZGRub2RlKG5vZGUsIHBhcnNlc2NvcGVkbmFtZSh0b2ssICJu
YW1lMiIsIDEpKTsKLSAgICByZXR1cm4gbm9kZTsKLX0KLQotLyoqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBw
YXJzZXR5cGVkZWYgOiBwYXJzZSBbMTBdIFR5cGVkZWYKLSAqCi0gKiBFbnRlcjogICB0b2sgPSBu
ZXh0IHRva2VuLCBrbm93biB0byBiZSBUT0tfdHlwZWRlZgotICogICAgICAgICAgZWFsID0gMCBl
bHNlIGV4dGVuZGVkIGF0dHJpYnV0ZSBsaXN0IG5vZGUKLSAqCi0gKiBSZXR1cm46ICBuZXcgbm9k
ZSBmb3IgdGhlIHR5cGVkZWYKLSAqICAgICAgICAgIHRvayB1cGRhdGVkIHRvIHRoZSB0ZXJtaW5h
dGluZyAnOycKLSAqLwotc3RhdGljIHN0cnVjdCBub2RlICoKLXBhcnNldHlwZWRlZihzdHJ1Y3Qg
dG9rICp0b2ssIHN0cnVjdCBub2RlICplYWwpCi17Ci1zdHJ1Y3Qgbm9kZSAqZWFsdHlwZTsKLXN0
cnVjdCBub2RlICp0eXBlbm9kZTsKLSAgICBzdHJ1Y3Qgbm9kZSAqbm9kZSA9IG5ld2VsZW1lbnQo
IlR5cGVkZWYiKTsKLSAgICBzZXRjb21tZW50bm9kZShub2RlKTsKLSAgICBpZiAoZWFsKSBhZGRu
b2RlKG5vZGUsIGVhbCk7Ci0gICAgdG9rID0gbGV4bm9jb21tZW50KCk7Ci0gICAgZWFsdHlwZSA9
IHBhcnNlZXh0ZW5kZWRhdHRyaWJ1dGVsaXN0KHRvayk7Ci0gICAgdHlwZW5vZGUgPSBwYXJzZXR5
cGUodG9rKTsKLSAgICBpZiAoZWFsdHlwZSkgYWRkbm9kZSh0eXBlbm9kZSwgZWFsdHlwZSk7Ci0g
ICAgYWRkbm9kZShub2RlLCB0eXBlbm9kZSk7Ci0gICAgYWRkbm9kZShub2RlLCBuZXdhdHRyKCJu
YW1lIiwgc2V0aWRlbnRpZmllcih0b2spKSk7Ci0gICAgdG9rID0gbGV4bm9jb21tZW50KCk7Ci0g
ICAgcmV0dXJuIG5vZGU7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogcGFyc2VleGNlcHRpb24g
OiBwYXJzZSBbOF0gRXhjZXB0aW9uCi0gKgotICogRW50ZXI6ICAgdG9rID0gbmV4dCB0b2tlbiwg
a25vd24gdG8gYmUgVE9LX2V4Y2VwdGlvbgotICogICAgICAgICAgZWFsID0gMCBlbHNlIGV4dGVu
ZGVkIGF0dHJpYnV0ZSBsaXN0IG5vZGUKLSAqCi0gKiBSZXR1cm46ICBuZXcgbm9kZSBmb3IgdGhl
IGV4Y2VwdGlvbgotICogICAgICAgICAgdG9rIHVwZGF0ZWQgdG8gdGhlIHRlcm1pbmF0aW5nICc7
JwotICovCi1zdGF0aWMgc3RydWN0IG5vZGUgKgotcGFyc2VleGNlcHRpb24oc3RydWN0IHRvayAq
dG9rLCBzdHJ1Y3Qgbm9kZSAqZWFsKQotewotICAgIHN0cnVjdCBub2RlICpub2RlID0gbmV3ZWxl
bWVudCgiRXhjZXB0aW9uIik7Ci0gICAgc2V0Y29tbWVudG5vZGUobm9kZSk7Ci0gICAgaWYgKGVh
bCkgYWRkbm9kZShub2RlLCBlYWwpOwotICAgIHRvayA9IGxleG5vY29tbWVudCgpOwotICAgIGFk
ZG5vZGUobm9kZSwgbmV3YXR0cigibmFtZSIsIHNldGlkZW50aWZpZXIodG9rKSkpOwotICAgIGxl
eG5vY29tbWVudCgpOwotICAgIGlmICh0b2stPnR5cGUgPT0gJzonKSB7Ci0gICAgICAgIGxleG5v
Y29tbWVudCgpOwotICAgICAgICBhZGRub2RlKG5vZGUsIHBhcnNlc2NvcGVkbmFtZWxpc3QodG9r
LCAiRXhjZXB0aW9uSW5oZXJpdGFuY2UiLCAiTmFtZSIsIDEpKTsKLSAgICB9Ci0gICAgZWF0KHRv
aywgJ3snKTsKLSAgICB3aGlsZSAodG9rLT50eXBlICE9ICd9JykgewotICAgICAgICBjb25zdCBj
aGFyICpzdGFydCA9IHRvay0+cHJlc3RhcnQ7Ci0gICAgICAgIHN0cnVjdCBub2RlICpub2RlMjsK
LSAgICAgICAgc3RydWN0IG5vZGUgKmVhbCA9IHBhcnNlZXh0ZW5kZWRhdHRyaWJ1dGVsaXN0KHRv
ayk7Ci0gICAgICAgIGlmICh0b2stPnR5cGUgPT0gVE9LX2NvbnN0KQotICAgICAgICAgICAgbm9k
ZTIgPSBwYXJzZWNvbnN0KHRvaywgZWFsKTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgbm9k
ZTIgPSBwYXJzZWV4Y2VwdGlvbmZpZWxkKHRvaywgZWFsKTsKLSAgICAgICAgYWRkbm9kZShub2Rl
LCBub2RlMik7Ci0gICAgICAgIG5vZGUyLT53c3N0YXJ0ID0gc3RhcnQ7Ci0gICAgICAgIG5vZGUy
LT5lbmQgPSB0b2stPnN0YXJ0ICsgdG9rLT5sZW47Ci0gICAgICAgIHNldGlkKG5vZGUyKTsKLSAg
ICAgICAgZWF0KHRvaywgJzsnKTsKLSAgICB9Ci0gICAgbGV4bm9jb21tZW50KCk7Ci0gICAgcmV0
dXJuIG5vZGU7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogcGFyc2VpbnRlcmZhY2UgOiBwYXJz
ZSBbNF0gSW50ZXJmYWNlCi0gKgotICogRW50ZXI6ICAgdG9rID0gbmV4dCB0b2tlbiwga25vd24g
dG8gYmUgVE9LX2ludGVyZmFjZQotICogICAgICAgICAgZWFsID0gMCBlbHNlIGV4dGVuZGVkIGF0
dHJpYnV0ZSBsaXN0IG5vZGUKLSAqCi0gKiBSZXR1cm46ICBuZXcgbm9kZSBmb3IgdGhlIGludGVy
ZmFjZQotICogICAgICAgICAgdG9rIHVwZGF0ZWQgdG8gdGhlIHRlcm1pbmF0aW5nICc7JwotICov
Ci1zdGF0aWMgc3RydWN0IG5vZGUgKgotcGFyc2VpbnRlcmZhY2Uoc3RydWN0IHRvayAqdG9rLCBz
dHJ1Y3Qgbm9kZSAqZWFsKQotewotICAgIHN0cnVjdCBub2RlICpub2RlID0gbmV3ZWxlbWVudCgi
SW50ZXJmYWNlIik7Ci0gICAgaWYgKGVhbCkgYWRkbm9kZShub2RlLCBlYWwpOwotICAgIHNldGNv
bW1lbnRub2RlKG5vZGUpOwotICAgIHRvayA9IGxleG5vY29tbWVudCgpOwotICAgIGFkZG5vZGUo
bm9kZSwgbmV3YXR0cigibmFtZSIsIHNldGlkZW50aWZpZXIodG9rKSkpOwotICAgIHRvayA9IGxl
eG5vY29tbWVudCgpOwotICAgIGlmICh0b2stPnR5cGUgPT0gJzonKSB7Ci0gICAgICAgIGxleG5v
Y29tbWVudCgpOwotICAgICAgICBhZGRub2RlKG5vZGUsIHBhcnNlc2NvcGVkbmFtZWxpc3QodG9r
LCAiSW50ZXJmYWNlSW5oZXJpdGFuY2UiLCAiTmFtZSIsIDEpKTsKLSAgICB9Ci0gICAgZWF0KHRv
aywgJ3snKTsKLSAgICB3aGlsZSAodG9rLT50eXBlICE9ICd9JykgewotICAgICAgICBjb25zdCBj
aGFyICpzdGFydCA9IHRvay0+cHJlc3RhcnQ7Ci0gICAgICAgIHN0cnVjdCBub2RlICplYWwgPSBw
YXJzZWV4dGVuZGVkYXR0cmlidXRlbGlzdCh0b2spOwotICAgICAgICBzdHJ1Y3Qgbm9kZSAqbm9k
ZTI7Ci0gICAgICAgIGlmICh0b2stPnR5cGUgPT0gVE9LX2NvbnN0KQotICAgICAgICAgICAgYWRk
bm9kZShub2RlLCBub2RlMiA9IHBhcnNlY29uc3QodG9rLCBlYWwpKTsKLSAgICAgICAgZWxzZQot
ICAgICAgICAgICAgYWRkbm9kZShub2RlLCBub2RlMiA9IHBhcnNlYXR0cmlidXRlb3JvcGVyYXRp
b25vcml0ZXJhdG9yKHRvaywgZWFsKSk7Ci0gICAgICAgIG5vZGUyLT53c3N0YXJ0ID0gc3RhcnQ7
Ci0gICAgICAgIG5vZGUyLT5lbmQgPSB0b2stPnN0YXJ0ICsgdG9rLT5sZW47Ci0gICAgICAgIHNl
dGlkKG5vZGUyKTsKLSAgICAgICAgZWF0KHRvaywgJzsnKTsKLSAgICB9Ci0gICAgbGV4bm9jb21t
ZW50KCk7Ci0gICAgcmV0dXJuIG5vZGU7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogcGFyc2Vj
YWxsYmFjayA6IHBhcnNlIENhbGxiYWNrCi0gKgotICogRW50ZXI6ICAgdG9rID0gbmV4dCB0b2tl
biwga25vd24gdG8gYmUgVE9LX2RpY3Rpb25hcnkKLSAqICAgICAgICAgIGVhbCA9IDAgZWxzZSBl
eHRlbmRlZCBhdHRyaWJ1dGUgbGlzdCBub2RlCi0gKgotICogUmV0dXJuOiAgbmV3IG5vZGUgZm9y
IHRoZSBlbnVtCi0gKiAgICAgICAgICB0b2sgdXBkYXRlZCB0byB0aGUgdGVybWluYXRpbmcgJzsn
Ci0gKi8KLXN0YXRpYyBzdHJ1Y3Qgbm9kZSAqCi1wYXJzZWNhbGxiYWNrKHN0cnVjdCB0b2sgKnRv
aywgc3RydWN0IG5vZGUgKmVhbCkKLXsKLSAgc3RydWN0IG5vZGUgKm5vZGU7Ci0gIGlmICh0b2st
PnR5cGUgPT0gVE9LX2ludGVyZmFjZSkgewotICAgIG5vZGUgPSBwYXJzZWludGVyZmFjZSh0b2ss
IGVhbCk7Ci0gICAgYWRkbm9kZShub2RlLCBuZXdhdHRyKCJjYWxsYmFjayIsICJjYWxsYmFjayIp
KTsgICAgCi0gIH0gZWxzZSB7Ci0gICAgbm9kZSA9IG5ld2VsZW1lbnQoIkNhbGxiYWNrIik7Ci0g
ICAgaWYgKGVhbCkgYWRkbm9kZShub2RlLCBlYWwpOwotICAgIHNldGNvbW1lbnRub2RlKG5vZGUp
OwotICAgIGFkZG5vZGUobm9kZSwgbmV3YXR0cigibmFtZSIsIHNldGlkZW50aWZpZXIodG9rKSkp
OwotICAgIHRvayA9IGxleG5vY29tbWVudCgpOwotICAgIGVhdCh0b2ssICc9Jyk7Ci0gICAgYWRk
bm9kZShub2RlLCBwYXJzZXJldHVybnR5cGUodG9rKSk7Ci0gICAgZWF0KHRvaywgJygnKTsKLSAg
ICBhZGRub2RlKG5vZGUsIHBhcnNlYXJndW1lbnRsaXN0KHRvaykpOwotICAgIGVhdCh0b2ssICcp
Jyk7Ci0gIH0KLSAgcmV0dXJuIG5vZGU7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogcGFyc2Vk
aWN0aW9uYXJ5IDogcGFyc2UgRGljdGlvbmFyeQotICoKLSAqIEVudGVyOiAgIHRvayA9IG5leHQg
dG9rZW4sIGtub3duIHRvIGJlIFRPS19kaWN0aW9uYXJ5Ci0gKiAgICAgICAgICBlYWwgPSAwIGVs
c2UgZXh0ZW5kZWQgYXR0cmlidXRlIGxpc3Qgbm9kZQotICoKLSAqIFJldHVybjogIG5ldyBub2Rl
IGZvciB0aGUgZGljdGlvbmFyeQotICogICAgICAgICAgdG9rIHVwZGF0ZWQgdG8gdGhlIHRlcm1p
bmF0aW5nICc7JwotICovCi1zdGF0aWMgc3RydWN0IG5vZGUgKgotcGFyc2VkaWN0aW9uYXJ5KHN0
cnVjdCB0b2sgKnRvaywgc3RydWN0IG5vZGUgKmVhbCkKLXsKLSAgICBzdHJ1Y3Qgbm9kZSAqbm9k
ZSA9IG5ld2VsZW1lbnQoIkRpY3Rpb25hcnkiKTsKLSAgICBpZiAoZWFsKSBhZGRub2RlKG5vZGUs
IGVhbCk7Ci0gICAgc2V0Y29tbWVudG5vZGUobm9kZSk7Ci0gICAgdG9rID0gbGV4bm9jb21tZW50
KCk7Ci0gICAgYWRkbm9kZShub2RlLCBuZXdhdHRyKCJuYW1lIiwgc2V0aWRlbnRpZmllcih0b2sp
KSk7Ci0gICAgdG9rID0gbGV4bm9jb21tZW50KCk7Ci0gICAgaWYgKHRvay0+dHlwZSA9PSAnOicp
IHsKLSAgICAgICAgbGV4bm9jb21tZW50KCk7Ci0gICAgICAgIGFkZG5vZGUobm9kZSwgcGFyc2Vz
Y29wZWRuYW1lbGlzdCh0b2ssICJEaWN0aW9uYXJ5SW5oZXJpdGFuY2UiLCAiTmFtZSIsIDEpKTsK
LSAgICB9Ci0gICAgZWF0KHRvaywgJ3snKTsKLSAgICB3aGlsZSAodG9rLT50eXBlICE9ICd9Jykg
ewotICAgICAgICBjb25zdCBjaGFyICpzdGFydCA9IHRvay0+cHJlc3RhcnQ7Ci0gICAgICAgIHN0
cnVjdCBub2RlICplYWwgPSBwYXJzZWV4dGVuZGVkYXR0cmlidXRlbGlzdCh0b2spOwotICAgICAg
ICBzdHJ1Y3Qgbm9kZSAqbm9kZTI7Ci0gICAgICAgIGlmICh0b2stPnR5cGUgPT0gVE9LX2NvbnN0
KQotICAgICAgICAgICAgYWRkbm9kZShub2RlLCBub2RlMiA9IHBhcnNlY29uc3QodG9rLCBlYWwp
KTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgYWRkbm9kZShub2RlLCBub2RlMiA9IHBhcnNl
ZGljdGlvbmFyeW1lbWJlcih0b2ssIGVhbCkpOwotICAgICAgICBub2RlMi0+d3NzdGFydCA9IHN0
YXJ0OwotICAgICAgICBub2RlMi0+ZW5kID0gdG9rLT5zdGFydCArIHRvay0+bGVuOwotICAgICAg
ICBzZXRpZChub2RlMik7Ci0gICAgICAgIGVhdCh0b2ssICc7Jyk7Ci0gICAgfQotICAgIGxleG5v
Y29tbWVudCgpOwotICAgIHJldHVybiBub2RlOwotfQotCi0vKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIHBh
cnNlZW51bSA6IHBhcnNlIEVudW0KLSAqCi0gKiBFbnRlcjogICB0b2sgPSBuZXh0IHRva2VuLCBr
bm93biB0byBiZSBUT0tfZGljdGlvbmFyeQotICogICAgICAgICAgZWFsID0gMCBlbHNlIGV4dGVu
ZGVkIGF0dHJpYnV0ZSBsaXN0IG5vZGUKLSAqCi0gKiBSZXR1cm46ICBuZXcgbm9kZSBmb3IgdGhl
IGVudW0KLSAqICAgICAgICAgIHRvayB1cGRhdGVkIHRvIHRoZSB0ZXJtaW5hdGluZyAnOycKLSAq
Lwotc3RhdGljIHN0cnVjdCBub2RlICoKLXBhcnNlZW51bShzdHJ1Y3QgdG9rICp0b2ssIHN0cnVj
dCBub2RlICplYWwpCi17Ci0JY2hhciAqczsKLSAgICBzdHJ1Y3Qgbm9kZSAqbm9kZSA9IG5ld2Vs
ZW1lbnQoIkVudW0iKTsKLSAgICBpZiAoZWFsKSBhZGRub2RlKG5vZGUsIGVhbCk7Ci0gICAgc2V0
Y29tbWVudG5vZGUobm9kZSk7Ci0gICAgdG9rID0gbGV4bm9jb21tZW50KCk7Ci0gICAgYWRkbm9k
ZShub2RlLCBuZXdhdHRyKCJuYW1lIiwgc2V0aWRlbnRpZmllcih0b2spKSk7Ci0gICAgdG9rID0g
bGV4bm9jb21tZW50KCk7Ci0gICAgZWF0KHRvaywgJ3snKTsKLSAgICB3aGlsZSAodG9rLT50eXBl
ICE9ICd9JykgewotICAgICAgaWYgKHRvay0+dHlwZSA9PSBUT0tfU1RSSU5HKSB7Ci0JY29uc3Qg
Y2hhciAqc3RhcnQgPSB0b2stPnByZXN0YXJ0OwotCXN0cnVjdCBub2RlICpub2RlMiA9IG5ld2Vs
ZW1lbnQoIkVudW1WYWx1ZSIpOwotCXNldGNvbW1lbnRub2RlKG5vZGUyKTsKLQkKLQlzID0gbWVt
YWxsb2ModG9rLT5sZW4gKyAxKTsKLQltZW1jcHkocywgdG9rLT5zdGFydCwgdG9rLT5sZW4pOwot
CXNbdG9rLT5sZW5dID0gMDsKLQlhZGRub2RlKG5vZGUyLCBuZXdhdHRyKCJzdHJpbmd2YWx1ZSIs
IHMpKTsKLSAgICAgICAgbm9kZTItPndzc3RhcnQgPSBzdGFydDsKLSAgICAgICAgbm9kZTItPmVu
ZCA9IHRvay0+c3RhcnQgKyB0b2stPmxlbjsKLSAgICAgICAgc2V0aWQobm9kZTIpOwotCWFkZG5v
ZGUobm9kZSwgbm9kZTIpOwotICAgICAgfSBlbHNlIHsKLQl0b2tlcnJvcmV4aXQodG9rLCAiZXhw
ZWN0ZWQgc3RyaW5nIGluIGVudW0iKTsKLSAgICAgIH0KLSAgICAgIGxleG5vY29tbWVudCgpOwot
ICAgICAgaWYgKHRvay0+dHlwZSA9PSAnLCcpIHsKLQlsZXhub2NvbW1lbnQoKTsKLSAgICAgIH0K
LSAgICB9Ci0gICAgZWF0KHRvaywgJ30nKTsKLSAgICByZXR1cm4gbm9kZTsKLX0KLQotLyoqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqCi0gKiBwYXJzZWRlZmluaXRpb25zIDogcGFyc2UgWzFdIERlZmluaXRpb25zCi0g
KgotICogRW50ZXI6ICAgdG9rID0gbmV4dCB0b2tlbgotICogICAgICAgICAgcGFyZW50ID0gcGFy
ZW50IG5vZGUgdG8gYWRkIGRlZmluaXRpb25zIHRvCi0gKgotICogT24gcmV0dXJuLCB0b2sgaGFz
IGJlZW4gdXBkYXRlZC4KLSAqLwotc3RhdGljIHZvaWQKLXBhcnNlZGVmaW5pdGlvbnMoc3RydWN0
IHRvayAqdG9rLCBzdHJ1Y3Qgbm9kZSAqcGFyZW50KQotewotICAgIHBhcmVudC0+d3NzdGFydCA9
IHRvay0+cHJlc3RhcnQ7Ci0gICAgZm9yICg7OykgewotICAgICAgICBjb25zdCBjaGFyICp3c3N0
YXJ0ID0gdG9rLT5wcmVzdGFydDsKLSAgICAgICAgc3RydWN0IG5vZGUgKmVhbCA9IHBhcnNlZXh0
ZW5kZWRhdHRyaWJ1dGVsaXN0KHRvayk7Ci0gICAgICAgIHN0cnVjdCBub2RlICpub2RlOwotICAg
ICAgICBzd2l0Y2ggKHRvay0+dHlwZSkgewotICAgICAgICBjYXNlIFRPS19wYXJ0aWFsOgotCSAg
ICBlYXQodG9rLCBUT0tfcGFydGlhbCk7Ci0JICAgIGlmICh0b2stPnR5cGUgPT0gVE9LX2RpY3Rp
b25hcnkpIHsKLQkgICAgICBub2RlID0gcGFyc2VkaWN0aW9uYXJ5KHRvaywgZWFsKTsKLQkgICAg
fSBlbHNlIHsKLQkgICAgICBub2RlID0gcGFyc2VpbnRlcmZhY2UodG9rLCBlYWwpOwotCSAgICB9
Ci0JICAgIGFkZG5vZGUobm9kZSwgbmV3YXR0cigicGFydGlhbCIsICJwYXJ0aWFsIikpOwotICAg
ICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgVE9LX2ludGVyZmFjZToKLSAgCSAgICBub2Rl
ID0gcGFyc2VpbnRlcmZhY2UodG9rLCBlYWwpOwotICAgICAgICAgICAgYnJlYWs7Ci0JY2FzZSBU
T0tfY2FsbGJhY2s6Ci0JICAgIGVhdCh0b2ssIFRPS19jYWxsYmFjayk7Ci0JICAgIG5vZGUgPSBw
YXJzZWNhbGxiYWNrKHRvaywgZWFsKTsKLSAgICAgICAgICAgIGJyZWFrOwotCWNhc2UgVE9LX2Rp
Y3Rpb25hcnk6Ci0gICAgICAgICAgICBub2RlID0gcGFyc2VkaWN0aW9uYXJ5KHRvaywgZWFsKTsK
LSAgICAgICAgICAgIGJyZWFrOwkgIAotCWNhc2UgVE9LX2VudW06Ci0gICAgICAgICAgICBub2Rl
ID0gcGFyc2VlbnVtKHRvaywgZWFsKTsKLSAgICAgICAgICAgIGJyZWFrOwkgIAotICAgICAgICBj
YXNlIFRPS19leGNlcHRpb246Ci0gICAgICAgICAgICBub2RlID0gcGFyc2VleGNlcHRpb24odG9r
LCBlYWwpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgVE9LX3R5cGVkZWY6Ci0g
ICAgICAgICAgICBub2RlID0gcGFyc2V0eXBlZGVmKHRvaywgZWFsKTsKLSAgICAgICAgICAgIGJy
ZWFrOwotICAgICAgICBjYXNlIFRPS19JREVOVElGSUVSOgotICAgICAgICAgICAgbm9kZSA9IHBh
cnNlaW1wbGVtZW50c3N0YXRlbWVudCh0b2ssIGVhbCk7Ci0gICAgICAgICAgICBicmVhazsKLSAg
ICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgIGlmIChlYWwpCi0gICAgICAgICAgICAgICAgdG9r
ZXJyb3JleGl0KHRvaywgImV4cGVjdGVkIGRlZmluaXRpb24gYWZ0ZXIgZXh0ZW5kZWQgYXR0cmli
dXRlIGxpc3QiKTsKLSAgICAgICAgICAgIG5vZGUgPSAwOwotICAgICAgICAgICAgYnJlYWs7Ci0g
ICAgICAgIH0KLSAgICAgICAgaWYgKCFub2RlKQotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAg
IG5vZGUtPndzc3RhcnQgPSB3c3N0YXJ0OwotICAgICAgICBub2RlLT5lbmQgPSB0b2stPnN0YXJ0
ICsgdG9rLT5sZW47Ci0gICAgICAgIGVhdCh0b2ssICc7Jyk7Ci0gICAgICAgIGFkZG5vZGUocGFy
ZW50LCBub2RlKTsKLSAgICAgICAgc2V0aWQobm9kZSk7Ci0gICAgICAgIHBhcmVudC0+ZW5kID0g
bm9kZS0+ZW5kOwotICAgIH0KLX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBwYXJzZQotICoKLSAq
IFJldHVybjogIHJvb3QgZWxlbWVudCBjb250YWluaW5nIChwb3NzaWJseSBlbXB0eSkgbGlzdCBv
ZiBkZWZpbml0aW9ucwotICovCi1zdHJ1Y3Qgbm9kZSAqCi1wYXJzZSh2b2lkKQotewotCXN0cnVj
dCB0b2sgKnRvazsgCi0gICAgc3RydWN0IG5vZGUgKnJvb3QgPSBuZXdlbGVtZW50KCJEZWZpbml0
aW9ucyIpOwotICAgIHNldGNvbW1lbnRub2RlKHJvb3QpOwotICAgIHRvayA9IGxleG5vY29tbWVu
dCgpOwotICAgIHBhcnNlZGVmaW5pdGlvbnModG9rLCByb290KTsKLSAgICBpZiAodG9rLT50eXBl
ICE9IFRPS19FT0YpCi0gICAgICAgIHRva2Vycm9yZXhpdCh0b2ssICJleHBlY3RlZCBlbmQgb2Yg
aW5wdXQiKTsKLSAgICByZXZlcnNlY2hpbGRyZW4ocm9vdCk7Ci0gICAgcmV0dXJuIHJvb3Q7Ci19
Ci0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9zcmMvcGFyc2UuaCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC93aWRscHJvYy9zcmMvcGFyc2UuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYWQ5
MDcxYjQ1M2U3OWY1NjA1ZWI2ZTRjOGUzMDVkODRhYmNlYmY4MC4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mvc3JjL3BhcnNl
LmgKKysrIC9kZXYvbnVsbApAQCAtMSwxOSArMCwwIEBACi0vKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqICRJ
ZCQKLSAqIENvcHlyaWdodCAyMDA5IEFwbGl4IENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgotICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAo
dGhlICJMaWNlbnNlIik7Ci0gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBj
b21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCi0gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2Yg
dGhlIExpY2Vuc2UgYXQKLSAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElD
RU5TRS0yLjAKLSAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQg
dG8gaW4gd3JpdGluZywgc29mdHdhcmUKLSAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNl
IGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCi0gKiBXSVRIT1VUIFdBUlJBTlRJ
RVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4K
LSAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBw
ZXJtaXNzaW9ucyBhbmQKLSAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgotICoqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqLwotI2lmbmRlZiBwYXJzZV9oCi0jZGVmaW5lIHBhcnNlX2gKLQotc3RydWN0IG5v
ZGUgKnBhcnNlKHZvaWQpOwotCi0jZW5kaWYgLyogbmRlZiBwYXJzZV9oICovCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mvc3JjL3Byb2Nlc3MuYyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9z
cmMvcHJvY2Vzcy5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkNmEzNDNiOGFhMDE4
YzVhMGQxM2YwZTQ0ZGRiNmZjYTdlZjJlMjIwLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9zcmMvcHJvY2Vzcy5jCisrKyAv
ZGV2L251bGwKQEAgLTEsMzE5ICswLDAgQEAKLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogJElkJAotICog
Q29weXJpZ2h0IDIwMDkgQXBsaXggQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0g
KiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxp
Y2Vuc2UiKTsKLSAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFu
Y2Ugd2l0aCB0aGUgTGljZW5zZS4KLSAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGlj
ZW5zZSBhdAotICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIu
MAotICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3
cml0aW5nLCBzb2Z0d2FyZQotICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlz
dHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKLSAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBD
T05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgotICogU2Vl
IHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Np
b25zIGFuZAotICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCi0gKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KiovCi0jaW5jbHVkZSA8YXNzZXJ0Lmg+Ci0jaW5jbHVkZSA8c3RkaW8uaD4KLSNpbmNsdWRlIDxz
dHJpbmcuaD4KLSNpbmNsdWRlICJjb21tZW50LmgiCi0jaW5jbHVkZSAibGV4LmgiCi0jaW5jbHVk
ZSAibWlzYy5oIgotI2luY2x1ZGUgIm5vZGUuaCIKLSNpbmNsdWRlICJvcy5oIgotI2luY2x1ZGUg
InBhcnNlLmgiCi0jaW5jbHVkZSAicHJvY2Vzcy5oIgotCi0jaWYgMAotc3RhdGljIGNvbnN0IGNo
YXIgbnRuYW1lc1tdID0geyBOVE5BTUVTIH07Ci0jZW5kaWYgLyowKi8KLQotLyoqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqCi0gKiBwcmludHRleHQgOiBwcmludCB0ZXh0IHdpdGggeG1sIGVudGl0eSBlc2NhcGVzCi0g
KgotICogRW50ZXI6ICAgcyA9IHRleHQKLSAqICAgICAgICAgIGxlbiA9IG51bWJlciBvZiBieXRl
cwotICogICAgICAgICAgZXNjYW1wID0gd2hldGhlciB0byBlc2NhcGUgJgotICoKLSAqIFRoaXMg
YWxzbyBlc2NhcGVzIGRvdWJsZSBxdW90ZSBtYXJrIHNvIGl0IGNhbiBiZSB1c2VkIGZvciBhbgot
ICogYXR0cmlidXRlIHZhbHVlLiBJdCBhbHNvIHR1cm5zIGEgdGFiIGludG8gc3BhY2VzLgotICov
Ci12b2lkCi1wcmludHRleHQoY29uc3QgY2hhciAqcywgdW5zaWduZWQgaW50IGxlbiwgaW50IGVz
Y2FtcCkKLXsKLSAgICBjb25zdCBjaGFyICpwID0gcywgKmVuZCA9IHMgKyBsZW47Ci0gICAgdW5z
aWduZWQgaW50IGNvdW50ID0gMDsKLSAgICB3aGlsZSAocCAhPSBlbmQpIHsKLSAgICAgICAgaW50
IGNoID0gKnA7Ci0gICAgICAgIGNoYXIgYnVmWzldOwotICAgICAgICBjb25zdCBjaGFyICpzZXEg
PSAwOwotICAgICAgICBjb3VudCsrOwotICAgICAgICBzd2l0Y2ggKGNoKSB7Ci0gICAgICAgIGNh
c2UgJzwnOgotICAgICAgICAgICAgc2VxID0gIiZsdDsiOwotICAgICAgICAgICAgYnJlYWs7Ci0g
ICAgICAgIGNhc2UgJyYnOgotICAgICAgICAgICAgc2VxID0gZXNjYW1wID8gIiZhbXA7IiA6ICIm
IjsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlICciJzoKLSAgICAgICAgICAgIHNl
cSA9ICImcXVvdDsiOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgJ1xuJzoKLSAg
ICAgICAgICAgIHArKzsKLSAgICAgICAgICAgIGNvdW50ID0gMDsKLSAgICAgICAgICAgIGNvbnRp
bnVlOwotICAgICAgICBjYXNlICdcdCc6Ci0gICAgICAgICAgICBzZXEgPSAiICAgICAgICAiICsg
KChjb3VudCAtIDEpICYgNyk7Ci0gICAgICAgICAgICBjb3VudCA9IDA7Ci0gICAgICAgICAgICBi
cmVhazsKLSAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgIGlmICgodW5zaWduZWQgY2hhcilj
aCA+PSAweDIwKSB7Ci0gICAgICAgICAgICAgICAgcCsrOwotICAgICAgICAgICAgICAgIGNvbnRp
bnVlOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgc25wcmludGYoYnVmLCA5LCAiJiMlaTsi
LCBjaCk7Ci0gICAgICAgICAgICBzZXEgPSBidWY7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAg
ICAgfQotICAgICAgICBpZiAocCAtIHMgIT0gZndyaXRlKHMsIDEsIHAgLSBzLCBzdGRvdXQpKQot
ICAgICAgICAgICAgZXJyb3JleGl0KCJ3cml0ZSBlcnJvciIpOwotICAgICAgICBmcHV0cyhzZXEs
IHN0ZG91dCk7Ci0gICAgICAgIHMgPSArK3A7Ci0gICAgfQotICAgIGlmIChwIC0gcyAhPSBmd3Jp
dGUocywgMSwgcCAtIHMsIHN0ZG91dCkpCi0gICAgICAgIGVycm9yZXhpdCgid3JpdGUgZXJyb3Ii
KTsKLX0KLQotI2lmIDAKLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogb3V0cHV0bm9kZWFzdGV4dCA6IG91
dHB1dCBwYXJzZSBub2RlIGFuZCBkZXNjZW5kYW50cyBhcyBkZXBhcnNlZCB0ZXh0Ci0gKgotICog
RW50ZXI6ICAgbm9kZSA9IHBhcnNlIG5vZGUKLSAqICAgICAgICAgIG5lZWRzcGFjZSA9IHRydWUg
aWYgbGFzdCBvdXRwdXQgY2hhciB3YXMgYW4gaWRlbnRpZmllciBjaGFyCi0gKgotICogUmV0dXJu
OiAgdXBkYXRlZCBuZWVkc3BhY2UgdmFsdWUKLSAqLwotc3RhdGljIGludAotb3V0cHV0bm9kZWFz
dGV4dChzdHJ1Y3Qgbm9kZSAqbm9kZSwgaW50IG5lZWRzcGFjZSkKLXsKLSAgICBpZiAobm9kZS0+
dHlwZSA+PSBOVF9TVEFSVCkgewotICAgICAgICBzdHJ1Y3Qgbm9kZSAqY2hpbGQgPSBub2RlLT5j
aGlsZHJlbjsKLSAgICAgICAgd2hpbGUgKGNoaWxkKSB7Ci0gICAgICAgICAgICBuZWVkc3BhY2Ug
PSBvdXRwdXRub2RlYXN0ZXh0KGNoaWxkLCBuZWVkc3BhY2UpOwotICAgICAgICAgICAgY2hpbGQg
PSBjaGlsZC0+bmV4dDsKLSAgICAgICAgfQotICAgIH0gZWxzZSB7Ci0gICAgICAgIHVuc2lnbmVk
IGludCBsZW4gPSBzdHJsZW4obm9kZS0+bmFtZSk7Ci0gICAgICAgIGlmIChsZW4pIHsKLSAgICAg
ICAgICAgIGludCBjaCA9IG5vZGUtPm5hbWVbMF07Ci0gICAgICAgICAgICBpZiAoY2ggPT0gJ18n
IHx8ICgodW5zaWduZWQpKGNoIC0gJzAnKSA8IDEwCi0gICAgICAgICAgICAgICAgICAgIHx8ICh1
bnNpZ25lZCkoKGNoICYgfjB4MjApIC0gJ0EnKSA8IDI2KSkKLSAgICAgICAgICAgIHsKLSAgICAg
ICAgICAgICAgICBpZiAobmVlZHNwYWNlKSBwdXRjaGFyKCcgJyk7Ci0gICAgICAgICAgICB9Ci0g
ICAgICAgICAgICBjaCA9IG5vZGUtPm5hbWVbbGVuIC0gMV07Ci0gICAgICAgICAgICBpZiAoY2gg
PT0gJ18nIHx8ICgodW5zaWduZWQpKGNoIC0gJzAnKSA8IDEwCi0gICAgICAgICAgICAgICAgICAg
IHx8ICh1bnNpZ25lZCkoKGNoICYgfjB4MjApIC0gJ0EnKSA8IDI2KSkKLSAgICAgICAgICAgIHsK
LSAgICAgICAgICAgICAgICBuZWVkc3BhY2UgPSAxOwotICAgICAgICAgICAgfQotICAgICAgICAg
ICAgcHJpbnR0ZXh0KG5vZGUtPm5hbWUsIGxlbiwgMSk7Ci0gICAgICAgIH0KLSAgICB9Ci0gICAg
cmV0dXJuIG5lZWRzcGFjZTsKLX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBwcmludGZxaWQgOiBw
cmludCBmdWxseS1xdWFsaWZpZWQgaWQKLSAqCi0gKiBFbnRlcjogICBub2RlIHN0cnVjdAotICoK
LSAqIFJldHVybjogIHdoZXRoZXIgYW55dGhpbmcgcHJpbnRlZAotICovCi1zdGF0aWMgaW50Ci1w
cmludGZxaWQoc3RydWN0IG5vZGUgKm5vZGUpCi17Ci0gICAgaW50IGFueSA9IDA7Ci0gICAgc3Ry
dWN0IG5vZGUgKmlkZW50aWZpZXI7Ci0gICAgaWYgKG5vZGUtPnBhcmVudCkgewotICAgICAgICBh
bnkgPSBwcmludGZxaWQobm9kZS0+cGFyZW50KTsKLSAgICB9Ci0gICAgc3dpdGNoIChub2RlLT50
eXBlKSB7Ci0gICAgY2FzZSBOVF9Nb2R1bGU6Ci0gICAgY2FzZSBOVF9JbnRlcmZhY2U6Ci0gICAg
Y2FzZSBOVF9UeXBlZGVmOgotICAgIGNhc2UgTlRfT3BlcmF0aW9uOgotICAgIGNhc2UgTlRfQXR0
cmlidXRlOgotICAgIGNhc2UgTlRfQ29uc3Q6Ci0gICAgICAgIGlmIChhbnkpCi0gICAgICAgICAg
ICBwcmludGYoIjoiKTsKLSAgICAgICAgLyogRmluZCBpZGVudGlmaWVyIGNoaWxkIGlmIGFueS4g
Ki8KLSAgICAgICAgaWRlbnRpZmllciA9IG5vZGUtPmNoaWxkcmVuOwotICAgICAgICB3aGlsZSAo
aWRlbnRpZmllcikgewotICAgICAgICAgICAgaWYgKGlkZW50aWZpZXItPnR5cGUgPT0gVE9LX0lE
RU5USUZJRVIpCi0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBpZiAoaWRlbnRp
Zmllci0+dHlwZSA9PSBOVF9UeXBlZGVmUmVzdCkgewotICAgICAgICAgICAgICAgIGlkZW50aWZp
ZXIgPSBpZGVudGlmaWVyLT5jaGlsZHJlbjsKLSAgICAgICAgICAgICAgICBjb250aW51ZTsKLSAg
ICAgICAgICAgIH0KLSAgICAgICAgICAgIGlkZW50aWZpZXIgPSBpZGVudGlmaWVyLT5uZXh0Owot
ICAgICAgICB9Ci0gICAgICAgIGlmIChpZGVudGlmaWVyKSB7Ci0gICAgICAgICAgICBwcmludHRl
eHQoaWRlbnRpZmllci0+bmFtZSwgc3RybGVuKGlkZW50aWZpZXItPm5hbWUpLCAxKTsKLSAgICAg
ICAgICAgIGFueSA9IDE7Ci0gICAgICAgIH0KLSAgICAgICAgYnJlYWs7Ci0gICAgfQotICAgIHJl
dHVybiBhbnk7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogb3V0cHV0IDogb3V0cHV0IHN1YnRy
ZWUgb2YgcGFyc2UgdHJlZQotICoKLSAqIEVudGVyOiAgIG5vZGUgPSByb290IG9mIHN1YnRyZWUK
LSAqICAgICAgICAgIGV4dGVuZGVkYXR0cmlidXRlbGlzdCA9IDAgZWxzZSBleHRlbmRlZCBhdHRy
aWJ1dGUgbGlzdCBub2RlCi0gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcHBs
eWluZyB0byBub2RlCi0gKiAgICAgICAgICBpbmRlbnQgPSBpbmRlbnQgKG5lc3RpbmcpIGxldmVs
Ci0gKi8KLXN0YXRpYyB2b2lkIG91dHB1dGNoaWxkcmVuKHN0cnVjdCBub2RlICpub2RlLCBzdHJ1
Y3Qgbm9kZSAqaWRlbnRpZmllciwgdW5zaWduZWQgaW50IGluZGVudCk7Ci0KLXN0YXRpYyB2b2lk
Ci1vdXRwdXQoc3RydWN0IG5vZGUgKm5vZGUsIHN0cnVjdCBub2RlICpleHRlbmRlZGF0dHJpYnV0
ZWxpc3QsCi0gICAgICAgdW5zaWduZWQgaW50IGluZGVudCkKLXsKLSAgICBpZiAoZXh0ZW5kZWRh
dHRyaWJ1dGVsaXN0KSB7Ci0gICAgICAgIG5vZGUtPndzc3RhcnQgPSBleHRlbmRlZGF0dHJpYnV0
ZWxpc3QtPndzc3RhcnQ7Ci0gICAgICAgIG5vZGUtPnN0YXJ0ID0gZXh0ZW5kZWRhdHRyaWJ1dGVs
aXN0LT5zdGFydDsKLSAgICB9Ci0gICAgaWYgKG5vZGUtPnR5cGUgPT0gTlRfRXh0ZW5kZWRBdHRy
aWJ1dGUpIHsKLSAgICAgICAgcHJpbnRmKCIlKnM8RXh0ZW5kZWRBdHRyaWJ1dGUgdmFsdWU9XCIi
LCBpbmRlbnQsICIiKTsKLSAgICAgICAgb3V0cHV0bm9kZWFzdGV4dChub2RlLCAwKTsKLSAgICAg
ICAgcHJpbnRmKCJcIi8+XG4iKTsKLSAgICB9IGVsc2UgaWYgKG5vZGUtPnR5cGUgPT0gTlRfQm9v
bGVhbkxpdGVyYWwpIHsKLSAgICAgICAgcHJpbnRmKCIlKnM8Qm9vbGVhbkxpdGVyYWwgdmFsdWU9
XCIlc1wiLz4iLCBpbmRlbnQsICIiLAotICAgICAgICAgICAgbm9kZS0+Y2hpbGRyZW4tPm5hbWUp
OwotICAgIH0gZWxzZSBpZiAobm9kZS0+dHlwZSA9PSBOVF9SZWFkT25seSkgewotICAgICAgICBw
cmludGYoIiUqczxSZWFkT25seS8+XG4iLCBpbmRlbnQsICIiKTsKLSAgICB9IGVsc2UgaWYgKG5v
ZGUtPnR5cGUgPj0gTlRfU1RBUlQpIHsKLSAgICAgICAgY29uc3QgY2hhciAqbnRuYW1lOwotICAg
ICAgICAvKiBGaW5kIGlkZW50aWZpZXIgY2hpbGQgaWYgYW55LiAqLwotICAgICAgICBzdHJ1Y3Qg
bm9kZSAqaWRlbnRpZmllciA9IG5vZGUtPmNoaWxkcmVuOwotICAgICAgICB3aGlsZSAoaWRlbnRp
ZmllcikgewotICAgICAgICAgICAgaWYgKGlkZW50aWZpZXItPnR5cGUgPT0gVE9LX0lERU5USUZJ
RVIpCi0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBpZGVudGlmaWVyID0gaWRl
bnRpZmllci0+bmV4dDsKLSAgICAgICAgfQotICAgICAgICAvKiBGaW5kIG5vbnRlcm1pbmFsIG5h
bWUuICovCi0gICAgICAgIG50bmFtZSA9IG50bmFtZXMgKyAyOwotICAgICAgICB3aGlsZSAobm9k
ZS0+dHlwZSAtIE5UX1NUQVJUICE9ICgodW5zaWduZWQgY2hhciludG5hbWVbLTJdIHwgKHVuc2ln
bmVkIGNoYXIpbnRuYW1lWy0xXSA8PCA4KSkKLSAgICAgICAgICAgIG50bmFtZSArPSBzdHJsZW4o
bnRuYW1lKSArIDM7Ci0gICAgICAgIC8qIE91dHB1dCBzdGFydCBvZiBlbGVtZW50LiAqLwotICAg
ICAgICBwcmludGYoIiUqczwlcyIsIGluZGVudCwgIiIsIG50bmFtZSk7Ci0gICAgICAgIC8qIE91
dHB1dCBpZGVudGlmaWVyIGlmIGFueSBhcyBhdHRyaWJ1dGUuICovCi0gICAgICAgIGlmIChpZGVu
dGlmaWVyKSB7Ci0gICAgICAgICAgICBwcmludGYoIiBpZGVudGlmaWVyPVwiIik7Ci0gICAgICAg
ICAgICBwcmludHRleHQoaWRlbnRpZmllci0+bmFtZSwgc3RybGVuKGlkZW50aWZpZXItPm5hbWUp
LCAxKTsKLSAgICAgICAgICAgIHByaW50ZigiXCIiKTsKLSAgICAgICAgfQotICAgICAgICBzd2l0
Y2ggKG5vZGUtPnR5cGUpIHsKLSAgICAgICAgY2FzZSBOVF9Nb2R1bGU6Ci0gICAgICAgIGNhc2Ug
TlRfSW50ZXJmYWNlOgotICAgICAgICBjYXNlIE5UX1R5cGVkZWY6Ci0gICAgICAgIGNhc2UgTlRf
Q29uc3Q6Ci0gICAgICAgICAgICAvKiBPdXRwdXQgZnVsbHkgcXVhbGlmaWVkIGlkLiAqLwotICAg
ICAgICAgICAgcHJpbnRmKCIgZnFpZD1cIiIpOwotICAgICAgICAgICAgcHJpbnRmcWlkKG5vZGUp
OwotICAgICAgICAgICAgcHJpbnRmKCJcIiIpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAg
IH0KLSAgICAgICAgaWYgKCFpZGVudGlmaWVyICYmICFleHRlbmRlZGF0dHJpYnV0ZWxpc3QgJiYg
IW5vZGUtPmNoaWxkcmVuICYmICFub2RlLT5jb21tZW50cykKLSAgICAgICAgICAgIHByaW50Zigi
Lz5cbiIpOwotICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgIHByaW50ZigiPlxuIik7Ci0gICAg
ICAgICAgICAvKiBPdXRwdXQgZGVzY3JpcHRpdmUgZWxlbWVudHMgKGRveHlnZW4gY29tbWVudHMp
IGZvciBub2RlLiAqLwotICAgICAgICAgICAgb3V0cHV0ZGVzY3JpcHRpdmUobm9kZSwgaW5kZW50
ICsgMik7Ci0gICAgICAgICAgICAvKiBPdXRwdXQgZGVzY3JpcHRpdmUgZWxlbWVudHMgKGRveHln
ZW4gY29tbWVudHMpIGZvciBpZGVudGlmaWVyLiAqLwotICAgICAgICAgICAgaWYgKGlkZW50aWZp
ZXIpCi0gICAgICAgICAgICAgICAgb3V0cHV0ZGVzY3JpcHRpdmUoaWRlbnRpZmllciwgaW5kZW50
ICsgMik7Ci0gICAgICAgICAgICAvKiBPdXRwdXQgZXh0ZW5kZWQgYXR0cmlidXRlIGxpc3QuICov
Ci0gICAgICAgICAgICBpZiAoZXh0ZW5kZWRhdHRyaWJ1dGVsaXN0KQotICAgICAgICAgICAgICAg
IG91dHB1dChleHRlbmRlZGF0dHJpYnV0ZWxpc3QsIDAsIGluZGVudCArIDIpOwotICAgICAgICAg
ICAgLyogT3V0cHV0IGNoaWxkcmVuIChleGNsdWRpbmcgaWRlbnRpZmllciBjaGlsZCkuICovCi0g
ICAgICAgICAgICBvdXRwdXRjaGlsZHJlbihub2RlLCBpZGVudGlmaWVyLCBpbmRlbnQgKyAyKTsK
LSAgICAgICAgICAgIHByaW50ZigiJSpzPC8lcz5cbiIsIGluZGVudCwgIiIsIG50bmFtZSk7Ci0g
ICAgICAgIH0KLSAgICB9IGVsc2Ugc3dpdGNoIChub2RlLT50eXBlKSB7Ci0gICAgY2FzZSBUT0tf
RE9NU3RyaW5nOgotICAgIGNhc2UgVE9LX2FueToKLSAgICBjYXNlIFRPS19ib29sZWFuOgotICAg
IGNhc2UgVE9LX29jdGV0OgotICAgIGNhc2UgVE9LX2Zsb2F0OgotICAgIGNhc2UgVE9LX2RvdWJs
ZToKLSAgICBjYXNlIFRPS19PYmplY3Q6Ci0gICAgY2FzZSBUT0tfdW5zaWduZWQ6Ci0gICAgY2Fz
ZSBUT0tfc2hvcnQ6Ci0gICAgY2FzZSBUT0tfbG9uZzoKLSAgICBjYXNlIFRPS192b2lkOgotICAg
ICAgICBwcmludGYoIiUqczwlcy8+XG4iLCBpbmRlbnQsICIiLCBub2RlLT5uYW1lKTsKLSAgICAg
ICAgYnJlYWs7Ci0gICAgY2FzZSBUT0tfSU5URUdFUjoKLSAgICAgICAgcHJpbnRmKCIlKnM8aW50
ZWdlciB2YWx1ZT1cIiIsIGluZGVudCwgIiIpOwotICAgICAgICBwcmludHRleHQobm9kZS0+bmFt
ZSwgc3RybGVuKG5vZGUtPm5hbWUpLCAxKTsKLSAgICAgICAgcHJpbnRmKCJcIi8+XG4iKTsKLSAg
ICAgICAgYnJlYWs7Ci0gICAgY2FzZSBUT0tfRkxPQVQ6Ci0gICAgICAgIHByaW50ZigiJSpzPEZs
b2F0IHZhbHVlPVwiIiwgaW5kZW50LCAiIik7Ci0gICAgICAgIHByaW50dGV4dChub2RlLT5uYW1l
LCBzdHJsZW4obm9kZS0+bmFtZSksIDEpOwotICAgICAgICBwcmludGYoIlwiLz5cbiIpOwotICAg
ICAgICBicmVhazsKLSAgICBjYXNlIFRPS19TVFJJTkc6Ci0gICAgICAgIHByaW50ZigiJSpzPHN0
cmluZyB2YWx1ZT1cIiIsIGluZGVudCwgIiIpOwotICAgICAgICBwcmludHRleHQobm9kZS0+bmFt
ZSwgc3RybGVuKG5vZGUtPm5hbWUpLCAxKTsKLSAgICAgICAgcHJpbnRmKCJcIi8+XG4iKTsKLSAg
ICAgICAgYnJlYWs7Ci0gICAgfQotfQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIG91dHB1dGNoaWxk
cmVuIDogY2FsbCBvdXRwdXQgZm9yIGVhY2ggY2hpbGQgb2Ygbm9kZQotICoKLSAqIEVudGVyOiAg
IG5vZGUKLSAqICAgICAgICAgIGlkZW50aWZpZXIgPSBjaGlsZCBub2RlIHRvIG9taXQgZnJvbSBv
dXRwdXQKLSAqICAgICAgICAgIGluZGVudCA9IGluZGVudCAobmVzdGluZykgbGV2ZWwKLSAqLwot
c3RhdGljIHZvaWQKLW91dHB1dGNoaWxkcmVuKHN0cnVjdCBub2RlICpub2RlLCBzdHJ1Y3Qgbm9k
ZSAqaWRlbnRpZmllciwgdW5zaWduZWQgaW50IGluZGVudCkKLXsKLSAgICBzdHJ1Y3Qgbm9kZSAq
ZXh0ZW5kZWRhdHRyaWJ1dGVsaXN0OwotICAgIHN0cnVjdCBub2RlICpjaGlsZDsKLSAgICBjaGls
ZCA9IG5vZGUtPmNoaWxkcmVuOwotICAgIGV4dGVuZGVkYXR0cmlidXRlbGlzdCA9IDA7Ci0gICAg
d2hpbGUgKGNoaWxkKSB7Ci0gICAgICAgIGlmIChjaGlsZC0+dHlwZSA9PSBOVF9FeHRlbmRlZEF0
dHJpYnV0ZUxpc3QgJiYgbm9kZS0+dHlwZSAhPSBOVF9Bcmd1bWVudCkKLSAgICAgICAgICAgIGV4
dGVuZGVkYXR0cmlidXRlbGlzdCA9IGNoaWxkOwotICAgICAgICBlbHNlIHsKLSAgICAgICAgICAg
IGlmIChpZGVudGlmaWVyICE9IGNoaWxkKQotICAgICAgICAgICAgICAgIG91dHB1dChjaGlsZCwg
ZXh0ZW5kZWRhdHRyaWJ1dGVsaXN0LCBpbmRlbnQpOwotICAgICAgICAgICAgZXh0ZW5kZWRhdHRy
aWJ1dGVsaXN0ID0gMDsKLSAgICAgICAgfQotICAgICAgICBjaGlsZCA9IGNoaWxkLT5uZXh0Owot
ICAgIH0KLX0KLSNlbmRpZiAvKjAqLwotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIHByb2Nlc3NmaWxl
cyA6IHByb2Nlc3MgaW5wdXQgZmlsZXMKLSAqCi0gKiBFbnRlcjogICBuYW1lID0gZmlsZW5hbWUK
LSAqLwotdm9pZAotcHJvY2Vzc2ZpbGVzKGNvbnN0IGNoYXIgKmNvbnN0ICpuYW1lcywgaW50IGR0
ZHJlZikKLXsKLSAgICBzdHJ1Y3Qgbm9kZSAqcm9vdDsKLSAgICByZWFkaW5wdXQobmFtZXMpOwot
ICAgIHJvb3QgPSBwYXJzZSgpOwotICAgIHByb2Nlc3Njb21tZW50cyhyb290KTsKLSAgICBwcmlu
dGYoIjw/eG1sIHZlcnNpb249XCIxLjBcIiBlbmNvZGluZz1cIlVURi04XCI/PlxuIik7Ci0gICAg
aWYoZHRkcmVmKQotICAgICAgICBwcmludGYoIjwhRE9DVFlQRSBEZWZpbml0aW9ucyBTWVNURU0g
XCJ3aWRscHJvY3htbC5kdGRcIj5cbiIpOwotICAgIG91dHB1dG5vZGUocm9vdCwgMCk7Ci19Ci0K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9zcmMvcHJvY2Vzcy5oIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3dpZGxwcm9jL3NyYy9wcm9jZXNzLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGJi
OTJiMjJjZTEzOGNhMzY0YTc4YzZiM2VlYmNmM2I0MzExYjdhZjkuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3NyYy9wcm9j
ZXNzLmgKKysrIC9kZXYvbnVsbApAQCAtMSwyNyArMCwwIEBACi0vKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAq
ICRJZCQKLSAqIENvcHlyaWdodCAyMDA5IEFwbGl4IENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgotICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIu
MCAodGhlICJMaWNlbnNlIik7Ci0gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBp
biBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCi0gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkg
b2YgdGhlIExpY2Vuc2UgYXQKLSAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMv
TElDRU5TRS0yLjAKLSAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3Jl
ZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKLSAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNl
bnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCi0gKiBXSVRIT1VUIFdBUlJB
TlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGll
ZC4KLSAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmlu
ZyBwZXJtaXNzaW9ucyBhbmQKLSAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgotICoq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqLwotI2lmbmRlZiBwcm9jZXNzX2gKLSNkZWZpbmUgcHJvY2Vzc19oCi0KLSNp
ZiAwCi0jZGVmaW5lIE5UX1NUQVJUIDB4MTAwCi0jaW5jbHVkZSAibm9udGVybWluYWxzLmgiCi0j
ZW5kaWYvKjAqLwotCi12b2lkIHByaW50dGV4dChjb25zdCBjaGFyICpzLCB1bnNpZ25lZCBpbnQg
bGVuLCBpbnQgZXNjYW1wKTsKLQotdm9pZCBwcm9jZXNzZmlsZXMoY29uc3QgY2hhciAqY29uc3Qg
Km5hbWVzLCBpbnQgZHRkcmVmKTsKLQotI2VuZGlmIC8qIG5kZWYgcHJvY2Vzc19oICovCi0KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9zcmMvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvd2lkbHByb2Mvc3JjL3czYy1pbXBvcnQubG9nCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCBiNGVlZWVmOGZjMmE2NjdhYjZkNzE3MDQ1N2E5NWU0ZTg3ZjM1NThiLi4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9z
cmMvdzNjLWltcG9ydC5sb2cKKysrIC9kZXYvbnVsbApAQCAtMSwzMyArMCwwIEBACi1UaGUgdGVz
dHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9y
eS4KLURvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVh
ZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXM0MgQ1NTIG9yIFdQVCBnaXRodWI6Ci0J
aHR0cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy10ZXN0Ci0JaHR0cHM6Ly9naXRodWIuY29tL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMKLQotVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0
LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKLQotRG8gTk9UIG1vZGlmeSBvciByZW1v
dmUgdGhpcyBmaWxlLgotCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLVByb3BlcnRpZXMgcmVxdWlyaW5nIHZl
bmRvciBwcmVmaXhlczoKLU5vbmUKLVByb3BlcnR5IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9yIHBy
ZWZpeGVzOgotTm9uZQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1MaXN0IG9mIGZpbGVzOgotL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC93aWRscHJvYy9zcmMvY29tbWVudC5jCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3NyYy9jb21tZW50
LmgKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mvc3JjL2VudGl0aWVzLmgKLS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHBy
b2Mvc3JjL2xleC5jCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3NyYy9sZXguaAotL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93
aWRscHJvYy9zcmMvbWFpbi5jCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3NyYy9taXNjLmMKLS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvd2lkbHByb2Mvc3JjL21pc2MuaAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9zcmMvbm9kZS5j
Ci0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3dpZGxwcm9jL3NyYy9ub2RlLmgKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mvc3Jj
L29zLmgKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mvc3JjL3BhcnNlLmMKLS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHBy
b2Mvc3JjL3BhcnNlLmgKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mvc3JjL3Byb2Nlc3MuYwotL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC93aWRscHJvYy9zcmMvcHJvY2Vzcy5oCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3NyYy93aWRs
cHJvY3htbHRvaHRtbC54c2wKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9zcmMvd2lk
bHByb2N4bWx0b2h0bWwueHNsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3NyYy93aWRscHJvY3htbHRv
aHRtbC54c2wKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDJiNTgzMzcxZTdkZDJjOTU0
MmUwOTEyYTVmYTc2ZDBmZDA2MzAzZjIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3NyYy93aWRscHJvY3htbHRvaHRtbC54
c2wKKysrIC9kZXYvbnVsbApAQCAtMSw4MjggKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBl
bmNvZGluZz0idXRmLTgiPz4KLTwhLS09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotJElkOiB3aWRscHJvY3htbHRvaHRt
bC54c2wgNDA3IDIwMDktMTAtMjYgMTM6NDg6NDhaIHRwciAkCi1Db3B5cmlnaHQgMjAwOSBBcGxp
eCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLUxpY2Vuc2VkIHVuZGVyIHRoZSBB
cGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOwoteW91IG1heSBub3Qg
dXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgotWW91
IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0Ci0gICAgaHR0cDovL3d3dy5hcGFj
aGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCi1Vbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJs
ZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCi1kaXN0cmlidXRlZCB1bmRl
ciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAotV0lUSE9V
VCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9y
IGltcGxpZWQuCi1TZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zl
cm5pbmcgcGVybWlzc2lvbnMgYW5kCi1saW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KLQot
WFNMVCBzdHlsZXNoZWV0IHRvIGNvbnZlcnQgd2lkbHByb2N4bWwgaW50byBodG1sIGRvY3VtZW50
YXRpb24uCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0tLT4KLTx4c2w6c3R5bGVzaGVldCB4bWxuczp4c2w9Imh0dHA6
Ly93d3cudzMub3JnLzE5OTkvWFNML1RyYW5zZm9ybSIgdmVyc2lvbj0iMS4wIj4KLTx4c2w6b3V0
cHV0IG1ldGhvZD0iaHRtbCIgZW5jb2Rpbmc9InV0Zi04IiBpbmRlbnQ9InllcyIgZG9jdHlwZS1w
dWJsaWM9Imh0bWwiLz4KLQotPHhzbDpwYXJhbSBuYW1lPSJkYXRlIiBzZWxlY3Q9IidlcnJvcjog
bWlzc2luZyBkYXRlJyIvPgotCi08eHNsOnZhcmlhYmxlIG5hbWU9InRpdGxlIiBzZWxlY3Q9ImNv
bmNhdCgnVGhlICcsL0RlZmluaXRpb25zL2Rlc2NyaXB0aXZlL25hbWUsJyBNb2R1bGUgLSBWZXJz
aW9uICcsL0RlZmluaXRpb25zL2Rlc2NyaXB0aXZlL3ZlcnNpb24pIi8+Ci0KLTwhLS1Sb290IG9m
IGRvY3VtZW50Li0tPgotPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iLyI+Ci0gICAgPGh0bWw+Ci0gICAg
ICAgIDxoZWFkPgotICAgICAgICAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0
L2NzcyIgaHJlZj0id2lkbGh0bWwuY3NzIiBtZWRpYT0ic2NyZWVuIi8+Ci0gICAgICAgICAgICA8
dGl0bGU+Ci0gICAgICAgICAgICAgICAgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IiR0aXRsZSIvPgot
ICAgICAgICAgICAgPC90aXRsZT4KLSAgICAgICAgPC9oZWFkPgotICAgICAgICA8Ym9keT4KLSAg
ICAgICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzLz4KLSAgICAgICAgPC9ib2R5PgotICAgIDwv
aHRtbD4KLTwveHNsOnRlbXBsYXRlPgotCi08IS0tUm9vdCBvZiBEZWZpbml0aW9ucy4tLT4KLTx4
c2w6dGVtcGxhdGUgbWF0Y2g9IkRlZmluaXRpb25zIj4KLSAgICA8ZGl2IGNsYXNzPSJhcGkiIGlk
PSJ7QGlkfSI+Ci0gICAgICAgIDxhIGhyZWY9Imh0dHA6Ly9ib25kaS5vbXRwLm9yZyI+PGltZyBz
cmM9Imh0dHA6Ly93d3cub210cC5vcmcvaW1hZ2VzL0JvbmRpU21hbGwuanBnIiBhbHQ9IkJvbmRp
IGxvZ28iLz48L2E+Ci0gICAgICAgIDxoMT48eHNsOnZhbHVlLW9mIHNlbGVjdD0iJHRpdGxlIi8+
PC9oMT4KLSAgICAgICAgPGgzPjEyIE1heSAyMDA5PC9oMz4KLQotICAgICAgICA8aDI+QXV0aG9y
czwvaDI+Ci0gICAgICAgIDx1bCBjbGFzcz0iYXV0aG9ycyI+Ci0gICAgICAgICAgPHhzbDphcHBs
eS10ZW1wbGF0ZXMgc2VsZWN0PSJkZXNjcmlwdGl2ZS9hdXRob3IiLz4KLSAgICAgICAgPC91bD4K
LQotICAgICAgICA8cCBjbGFzcz0iY29weXJpZ2h0Ij48c21hbGw+wqkgVGhlIGF1dGhvcnMsIDIw
MTIuIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9zbWFsbD48L3A+Ci0KLSAgICAgICAgPGhyLz4KLQot
ICAgICAgICA8aDI+QWJzdHJhY3Q8L2gyPgotCi0gICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVz
IHNlbGVjdD0iZGVzY3JpcHRpdmUvYnJpZWYiLz4KLSAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0
ZXMgc2VsZWN0PSJkZXNjcmlwdGl2ZS9kZXNjcmlwdGlvbiIvPgotICAgICAgICA8eHNsOmFwcGx5
LXRlbXBsYXRlcyBzZWxlY3Q9ImRlc2NyaXB0aXZlL0NvZGUiLz4KLQotICAgICAgICA8aDI+VGFi
bGUgb2YgQ29udGVudHM8L2gyPgotICAgICAgICA8dWwgY2xhc3M9InRvYyI+Ci0gICAgICAgICAg
PGxpPjxhIGhyZWY9IiNpbnRybyI+SW50cm9kdWN0aW9uPC9hPgotICAgICAgICAgIDx1bD4KLSAg
ICAgICAgICAgIDx4c2w6aWYgdGVzdD0iZGVzY3JpcHRpdmUvZGVmLWFwaS1mZWF0dXJlLXNldCI+
Ci0gICAgICAgICAgICAgIDxsaT48YSBocmVmPSIjZGVmLWFwaS1mZWF0dXJlLXNldHMiPkZlYXR1
cmUgc2V0PC9hPjwvbGk+Ci0gICAgICAgICAgICA8L3hzbDppZj4KLSAgICAgICAgICAgIDx4c2w6
aWYgdGVzdD0iZGVzY3JpcHRpdmUvZGVmLWFwaS1mZWF0dXJlIj4KLSAgICAgICAgICAgICAgPGxp
PjxhIGhyZWY9IiNkZWYtYXBpLWZlYXR1cmVzIj5GZWF0dXJlczwvYT48L2xpPgotICAgICAgICAg
ICAgPC94c2w6aWY+Ci0gICAgICAgICAgICA8eHNsOmlmIHRlc3Q9ImRlc2NyaXB0aXZlL2RlZi1k
ZXZpY2UtY2FwIj4KLSAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9IiNkZWYtZGV2aWNlLWNhcHMi
PkRldmljZSBDYXBhYmlsaXRpZXM8L2E+PC9saT4KLSAgICAgICAgICAgIDwveHNsOmlmPgotICAg
ICAgICAgIDwvdWw+Ci0gICAgICAgICAgPC9saT4KLSAgICAgICAgICA8eHNsOmlmIHRlc3Q9IlR5
cGVkZWYiPgotICAgICAgICAgICAgPGxpPjxhIGhyZWY9IiN0eXBlZGVmcyI+VHlwZSBEZWZpbml0
aW9uczwvYT4KLSAgICAgICAgICAgIDx1bCBjbGFzcz0idG9jIj4KLSAgICAgICAgICAgICAgPHhz
bDpmb3ItZWFjaCBzZWxlY3Q9IlR5cGVkZWZbZGVzY3JpcHRpdmVdIj4KLSAgICAgICAgICAgICAg
ICA8bGk+PGEgaHJlZj0iI3tAaWR9Ij48Y29kZT48eHNsOnZhbHVlLW9mIHNlbGVjdD0iQG5hbWUi
Lz48L2NvZGU+PC9hPjwvbGk+Ci0gICAgICAgICAgICAgIDwveHNsOmZvci1lYWNoPgotICAgICAg
ICAgICAgPC91bD4KLSAgICAgICAgICAgIDwvbGk+Ci0gICAgICAgICAgPC94c2w6aWY+Ci0gICAg
ICAgICAgPHhzbDppZiB0ZXN0PSJJbnRlcmZhY2UiPgotCSAgICAgICAgICA8bGk+PGEgaHJlZj0i
I2ludGVyZmFjZXMiPkludGVyZmFjZXM8L2E+Ci0JICAgICAgICAgIDx1bCBjbGFzcz0idG9jIj4K
LQkgICAgICAgICAgPHhzbDpmb3ItZWFjaCBzZWxlY3Q9IkludGVyZmFjZVtkZXNjcmlwdGl2ZV0i
PgotCSAgICAgICAgICAgIDxsaT48YSBocmVmPSIje0BpZH0iPjxjb2RlPjx4c2w6dmFsdWUtb2Yg
c2VsZWN0PSJAbmFtZSIvPjwvY29kZT48L2E+PC9saT4KLQkgICAgICAgICAgPC94c2w6Zm9yLWVh
Y2g+Ci0JICAgICAgICAgIDwvdWw+Ci0JICAgICAgICAgIDwvbGk+Ci0gICAgICAgICAgPC94c2w6
aWY+Ci0gICAgICAgICAgPHhzbDppZiB0ZXN0PSJEaWN0aW9uYXJ5Ij4KLQkgICAgICAgICAgPGxp
PjxhIGhyZWY9IiNkaWN0aW9uYXJpZXMiPkRpY3Rpb25hcnkgdHlwZXM8L2E+Ci0JICAgICAgICAg
IDx1bCBjbGFzcz0idG9jIj4KLQkgICAgICAgICAgPHhzbDpmb3ItZWFjaCBzZWxlY3Q9IkRpY3Rp
b25hcnlbZGVzY3JpcHRpdmVdIj4KLQkgICAgICAgICAgICA8bGk+PGEgaHJlZj0iI3tAaWR9Ij48
Y29kZT48eHNsOnZhbHVlLW9mIHNlbGVjdD0iQG5hbWUiLz48L2NvZGU+PC9hPjwvbGk+Ci0JICAg
ICAgICAgIDwveHNsOmZvci1lYWNoPgotCSAgICAgICAgICA8L3VsPgotCSAgICAgICAgICA8L2xp
PgotICAgICAgICAgIDwveHNsOmlmPgotICAgICAgICAgIDx4c2w6aWYgdGVzdD0iQ2FsbGJhY2si
PgotCSAgICAgICAgICA8bGk+PGEgaHJlZj0iI2NhbGxiYWNrcyI+Q2FsbGJhY2tzPC9hPgotCSAg
ICAgICAgICA8dWwgY2xhc3M9InRvYyI+Ci0JICAgICAgICAgIDx4c2w6Zm9yLWVhY2ggc2VsZWN0
PSJDYWxsYmFja1tkZXNjcmlwdGl2ZV0iPgotCSAgICAgICAgICAgIDxsaT48YSBocmVmPSIje0Bp
ZH0iPjxjb2RlPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAbmFtZSIvPjwvY29kZT48L2E+PC9saT4K
LQkgICAgICAgICAgPC94c2w6Zm9yLWVhY2g+Ci0JICAgICAgICAgIDwvdWw+Ci0JICAgICAgICAg
IDwvbGk+Ci0gICAgICAgICAgPC94c2w6aWY+Ci0gICAgICAgICAgPHhzbDppZiB0ZXN0PSJFbnVt
Ij4KLQkgICAgICAgICAgPGxpPjxhIGhyZWY9IiNlbnVtcyI+RW51bXM8L2E+Ci0JICAgICAgICAg
IDx1bCBjbGFzcz0idG9jIj4KLQkgICAgICAgICAgPHhzbDpmb3ItZWFjaCBzZWxlY3Q9IkVudW1b
ZGVzY3JpcHRpdmVdIj4KLQkgICAgICAgICAgICA8bGk+PGEgaHJlZj0iI3tAaWR9Ij48Y29kZT48
eHNsOnZhbHVlLW9mIHNlbGVjdD0iQG5hbWUiLz48L2NvZGU+PC9hPjwvbGk+Ci0JICAgICAgICAg
IDwveHNsOmZvci1lYWNoPgotCSAgICAgICAgICA8L3VsPgotCSAgICAgICAgICA8L2xpPgotICAg
ICAgICAgIDwveHNsOmlmPgotICAgICAgICA8L3VsPgotCi0gICAgICAgIDxoci8+Ci0KLSAgICAg
ICAgPGgyPlN1bW1hcnkgb2YgTWV0aG9kczwvaDI+Ci0gICAgICAgIDx4c2w6Y2FsbC10ZW1wbGF0
ZSBuYW1lPSJzdW1tYXJ5Ii8+Ci0gICAgICAgIAotICAgICAgICA8aDIgaWQ9ImludHJvIj5JbnRy
b2R1Y3Rpb248L2gyPgotCi0gICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iZGVz
Y3JpcHRpdmUvZGVzY3JpcHRpb24iLz4KLSAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2Vs
ZWN0PSJkZXNjcmlwdGl2ZS9Db2RlIi8+Ci0KLSAgICAgICAgPHhzbDppZiB0ZXN0PSJkZXNjcmlw
dGl2ZS9kZWYtYXBpLWZlYXR1cmUtc2V0Ij4KLSAgICAgICAgICAgIDxkaXYgaWQ9ImRlZi1hcGkt
ZmVhdHVyZS1zZXRzIiBjbGFzcz0iZGVmLWFwaS1mZWF0dXJlLXNldHMiPgotICAgICAgICAgICAg
ICAgIDxoMyBpZD0iZmVhdHVyZXMiPkZlYXR1cmUgc2V0PC9oMz4KLSAgICAgICAgICAgICAgICA8
cD5UaGlzIGlzIHRoZSBVUkkgdXNlZCB0byBkZWNsYXJlIHRoaXMgQVBJJ3MgZmVhdHVyZSBzZXQs
IGZvciB1c2UgaW4gYm9uZGkucmVxdWVzdEZlYXR1cmUuIEZvciB0aGUgVVJMLCB0aGUgbGlzdCBv
ZiBmZWF0dXJlcyBpbmNsdWRlZCBieSB0aGUgZmVhdHVyZSBzZXQgaXMgcHJvdmlkZWQuPC9wPgot
ICAgICAgICAgICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iZGVzY3JpcHRpdmUv
ZGVmLWFwaS1mZWF0dXJlLXNldCIvPgotICAgICAgICAgICAgPC9kaXY+Ci0gICAgICAgIDwveHNs
OmlmPgotICAgICAgICA8eHNsOmlmIHRlc3Q9ImRlc2NyaXB0aXZlL2RlZi1hcGktZmVhdHVyZSI+
Ci0gICAgICAgICAgICA8ZGl2IGlkPSJkZWYtYXBpLWZlYXR1cmVzIiBjbGFzcz0iZGVmLWFwaS1m
ZWF0dXJlcyI+Ci0gICAgICAgICAgICAgICAgPGgzIGlkPSJmZWF0dXJlcyI+RmVhdHVyZXM8L2gz
PgotICAgICAgICAgICAgICAgIDxwPlRoaXMgaXMgdGhlIGxpc3Qgb2YgVVJJcyB1c2VkIHRvIGRl
Y2xhcmUgdGhpcyBBUEkncyBmZWF0dXJlcywgZm9yIHVzZSBpbiBib25kaS5yZXF1ZXN0RmVhdHVy
ZS4gRm9yIGVhY2ggVVJMLCB0aGUgbGlzdCBvZiBmdW5jdGlvbnMgY292ZXJlZCBpcyBwcm92aWRl
ZC48L3A+Ci0gICAgICAgICAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJJbnRl
cmZhY2UvZGVzY3JpcHRpdmUvZGVmLWluc3RhbnRpYXRlZCIvPgotICAgICAgICAgICAgICAgIDx4
c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iZGVzY3JpcHRpdmUvZGVmLWFwaS1mZWF0dXJlIi8+
Ci0gICAgICAgICAgICA8L2Rpdj4KLSAgICAgICAgPC94c2w6aWY+Ci0gICAgICAgIDx4c2w6aWYg
dGVzdD0iZGVzY3JpcHRpdmUvZGVmLWRldmljZS1jYXAiPgotICAgICAgICAgICAgPGRpdiBjbGFz
cz0iZGVmLWRldmljZS1jYXBzIiBpZD0iZGVmLWRldmljZS1jYXBzIj4KLSAgICAgICAgICAgICAg
ICA8aDM+RGV2aWNlIGNhcGFiaWxpdGllczwvaDM+Ci0gICAgICAgICAgICAgICAgPGRsPgotICAg
ICAgICAgICAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJkZXNjcmlwdGl2ZS9k
ZWYtZGV2aWNlLWNhcCIvPgotICAgICAgICAgICAgICAgIDwvZGw+Ci0gICAgICAgICAgICA8L2Rp
dj4KLSAgICAgICAgPC94c2w6aWY+Ci0gICAgICAgIDx4c2w6aWYgdGVzdD0iVHlwZWRlZiI+Ci0g
ICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0eXBlZGVmcyIgaWQ9InR5cGVkZWZzIj4KLSAgICAgICAg
ICAgICAgICA8aDI+VHlwZSBEZWZpbml0aW9uczwvaDI+Ci0gICAgICAgICAgICAgICAgPHhzbDph
cHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJUeXBlZGVmW2Rlc2NyaXB0aXZlXSIvPgotICAgICAgICAg
ICAgPC9kaXY+Ci0gICAgICAgIDwveHNsOmlmPgotICAgICAgICA8eHNsOmlmIHRlc3Q9IkludGVy
ZmFjZSI+Ci0gICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbnRlcmZhY2VzIiBpZD0iaW50ZXJmYWNl
cyI+Ci0JCSAgICAgICAgPGgyPkludGVyZmFjZXM8L2gyPgotICAgICAgIAkJICAgIDx4c2w6YXBw
bHktdGVtcGxhdGVzIHNlbGVjdD0iSW50ZXJmYWNlIi8+Ci0gICAgICAgICAgICA8L2Rpdj4KLSAg
ICAgICAgPC94c2w6aWY+Ci0gICAgICAgIDx4c2w6aWYgdGVzdD0iRGljdGlvbmFyeSI+Ci0gICAg
ICAgICAgICA8ZGl2IGNsYXNzPSJkaWN0aW9uYXJpZXMiIGlkPSJkaWN0aW9uYXJpZXMiPgotICAg
ICAgICAJCTxoMj5EaWN0aW9uYXJ5IHR5cGVzPC9oMj4KLSAgICAgICAgCQk8eHNsOmFwcGx5LXRl
bXBsYXRlcyBzZWxlY3Q9IkRpY3Rpb25hcnkiLz4KLSAgICAgICAgICAgIDwvZGl2PgotICAgICAg
ICA8L3hzbDppZj4KLSAgICAgICAgPHhzbDppZiB0ZXN0PSJDYWxsYmFjayI+Ci0gICAgICAgICAg
ICA8ZGl2IGNsYXNzPSJjYWxsYmFja3MiIGlkPSJjYWxsYmFja3MiPgotICAgICAgICAJCTxoMj5D
YWxsYmFja3M8L2gyPgotICAgICAgICAJCTx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iQ2Fs
bGJhY2siLz4KLSAgICAgICAgICAgIDwvZGl2PgotICAgICAgICA8L3hzbDppZj4KLSAgICAgICAg
PHhzbDppZiB0ZXN0PSJFbnVtIj4KLSAgICAgICAgICAgIDxkaXYgY2xhc3M9ImVudW1zIiBpZD0i
ZW51bXMiPgotICAgICAgICAJCTxoMj5FbnVtczwvaDI+Ci0gICAgICAgIAkJPHhzbDphcHBseS10
ZW1wbGF0ZXMgc2VsZWN0PSJFbnVtIi8+Ci0gICAgICAgICAgICA8L2Rpdj4KLSAgICAgICAgPC94
c2w6aWY+Ci0gICAgPC9kaXY+Ci08L3hzbDp0ZW1wbGF0ZT4KLQotPCEtLWRlZi1hcGktZmVhdHVy
ZS1zZXQtLT4KLTx4c2w6dGVtcGxhdGUgbWF0Y2g9ImRlZi1hcGktZmVhdHVyZS1zZXQiPgotICAg
ICAgPGRsIGNsYXNzPSJkZWYtYXBpLWZlYXR1cmUtc2V0Ij4KLSAgICAgICAgICA8ZHQ+PHhzbDp2
YWx1ZS1vZiBzZWxlY3Q9IkBpZGVudGlmaWVyIi8+PC9kdD4KLSAgICAgICAgICA8ZGQ+Ci0gICAg
ICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9ImRlc2NyaXB0aXZlL2JyaWVmIi8+
Ci0gICAgICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9ImRlc2NyaXB0aXZlIi8+
Ci0gICAgICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9ImRlc2NyaXB0aXZlL0Nv
ZGUiLz4KLSAgICAgICAgICAgIDx4c2w6aWYgdGVzdD0iZGVzY3JpcHRpdmUvYXBpLWZlYXR1cmUi
PgotICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhcGktZmVhdHVyZXMiPgotICAgICAgICAgICAg
ICAgIDxwPgotICAgICAgICAgICAgICAgICAgSW5jbHVkZXMgQVBJIGZlYXR1cmVzOgotICAgICAg
ICAgICAgICAgIDwvcD4KLSAgICAgICAgICAgICAgICA8dWw+Ci0gICAgICAgICAgICAgICAgICA8
eHNsOmZvci1lYWNoIHNlbGVjdD0iZGVzY3JpcHRpdmUvYXBpLWZlYXR1cmUiPgotICAgICAgICAg
ICAgICAgICAgICA8bGk+PGNvZGU+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBpZGVudGlmaWVyIi8+
PC9jb2RlPjwvbGk+Ci0gICAgICAgICAgICAgICAgICA8L3hzbDpmb3ItZWFjaD4KLSAgICAgICAg
ICAgICAgICA8L3VsPgotICAgICAgICAgICAgICA8L2Rpdj4KLSAgICAgICAgICAgIDwveHNsOmlm
PgotICAgICAgICAgIDwvZGQ+Ci0gICAgICA8L2RsPgotPC94c2w6dGVtcGxhdGU+Ci0KLTwhLS1k
ZWYtYXBpLWZlYXR1cmUtLT4KLTx4c2w6dGVtcGxhdGUgbWF0Y2g9ImRlZi1hcGktZmVhdHVyZSI+
Ci0gICAgICA8ZGwgY2xhc3M9ImRlZi1hcGktZmVhdHVyZSI+Ci0gICAgICAgICAgPGR0Pjx4c2w6
dmFsdWUtb2Ygc2VsZWN0PSJAaWRlbnRpZmllciIvPjwvZHQ+Ci0gICAgICAgICAgPGRkPgotICAg
ICAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJkZXNjcmlwdGl2ZS9icmllZiIv
PgotICAgICAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJkZXNjcmlwdGl2ZSIv
PgotICAgICAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJkZXNjcmlwdGl2ZS9D
b2RlIi8+Ci0gICAgICAgICAgICA8eHNsOmlmIHRlc3Q9ImRlc2NyaXB0aXZlL2RldmljZS1jYXAi
PgotICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkZXZpY2UtY2FwcyI+Ci0gICAgICAgICAgICAg
ICAgPHA+Ci0gICAgICAgICAgICAgICAgICBEZXZpY2UgY2FwYWJpbGl0aWVzOgotICAgICAgICAg
ICAgICAgIDwvcD4KLSAgICAgICAgICAgICAgICA8dWw+Ci0gICAgICAgICAgICAgICAgICA8eHNs
OmZvci1lYWNoIHNlbGVjdD0iZGVzY3JpcHRpdmUvZGV2aWNlLWNhcCI+Ci0gICAgICAgICAgICAg
ICAgICAgIDxsaT48Y29kZT48eHNsOnZhbHVlLW9mIHNlbGVjdD0iQGlkZW50aWZpZXIiLz48L2Nv
ZGU+PC9saT4KLSAgICAgICAgICAgICAgICAgIDwveHNsOmZvci1lYWNoPgotICAgICAgICAgICAg
ICAgIDwvdWw+Ci0gICAgICAgICAgICAgIDwvZGl2PgotICAgICAgICAgICAgPC94c2w6aWY+Ci0g
ICAgICAgICAgPC9kZD4KLSAgICAgIDwvZGw+Ci08L3hzbDp0ZW1wbGF0ZT4KLQotPCEtLWRlZi1k
ZXZpY2UtY2FwLS0+Ci08eHNsOnRlbXBsYXRlIG1hdGNoPSJkZWYtZGV2aWNlLWNhcCI+Ci0gICAg
PGR0IGNsYXNzPSJkZWYtZGV2aWNlLWNhcCI+PGNvZGU+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBp
ZGVudGlmaWVyIi8+PC9jb2RlPjwvZHQ+Ci0gICAgPGRkPgotICAgICAgPHhzbDphcHBseS10ZW1w
bGF0ZXMgc2VsZWN0PSJkZXNjcmlwdGl2ZS9icmllZiIvPgotICAgICAgPHhzbDphcHBseS10ZW1w
bGF0ZXMgc2VsZWN0PSJkZXNjcmlwdGl2ZSIvPgotICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMg
c2VsZWN0PSJkZXNjcmlwdGl2ZS9Db2RlIi8+Ci0gICAgICA8eHNsOmlmIHRlc3Q9ImRlc2NyaXB0
aXZlL3BhcmFtIj4KLSAgICAgICAgPGRpdiBjbGFzcz0iZGV2aWNlLWNhcHMiPgotICAgICAgICAg
IDxwPlNlY3VyaXR5IHBhcmFtZXRlcnM6PC9wPgotICAgICAgICAgIDx1bD4KLSAgICAgICAgICAg
IDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iZGVzY3JpcHRpdmUvcGFyYW0iLz4KLSAgICAg
ICAgICA8L3VsPgotICAgICAgICA8L2Rpdj4KLSAgICAgIDwveHNsOmlmPgotICAgIDwvZGQ+Ci08
L3hzbDp0ZW1wbGF0ZT4KLQotPCEtLUV4Y2VwdGlvbjogbm90IGltcGxlbWVudGVkLS0+Ci08IS0t
VmFsdWV0eXBlOiBub3QgaW1wbGVtZW50ZWQtLT4KLTx4c2w6dGVtcGxhdGUgbWF0Y2g9IkV4Y2Vw
dGlvbnxWYWx1ZXR5cGV8Q29uc3QiPgotICAgIDx4c2w6aWYgdGVzdD0iZGVzY3JpcHRpdmUiPgot
ICAgICAgICA8eHNsOm1lc3NhZ2UgdGVybWluYXRlPSJ5ZXMiPmVsZW1lbnQgPHhzbDp2YWx1ZS1v
ZiBzZWxlY3Q9Im5hbWUoKSIvPiBub3Qgc3VwcG9ydGVkPC94c2w6bWVzc2FnZT4KLSAgICA8L3hz
bDppZj4KLTwveHNsOnRlbXBsYXRlPgotCi08IS0tVHlwZWRlZi4tLT4KLTx4c2w6dGVtcGxhdGUg
bWF0Y2g9IlR5cGVkZWZbZGVzY3JpcHRpdmVdIj4KLSAgICA8ZGl2IGNsYXNzPSJ0eXBlZGVmIiBp
ZD0ie0BpZH0iPgotICAgICAgICA8aDM+Mi48eHNsOm51bWJlciB2YWx1ZT0icG9zaXRpb24oKSIv
Pi4gPGNvZGU+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBuYW1lIi8+PC9jb2RlPjwvaDM+Ci0gICAg
ICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iZGVzY3JpcHRpdmUvYnJpZWYiLz4KLSAg
ICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJ3ZWJpZGwiLz4KLSAgICAgICAgPHhz
bDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJkZXNjcmlwdGl2ZSIvPgotICAgICAgICA8eHNsOmFw
cGx5LXRlbXBsYXRlcyBzZWxlY3Q9ImRlc2NyaXB0aXZlL0NvZGUiLz4KLSAgICA8L2Rpdj4KLTwv
eHNsOnRlbXBsYXRlPgotCi08IS0tSW50ZXJmYWNlLi0tPgotPHhzbDp0ZW1wbGF0ZSBtYXRjaD0i
SW50ZXJmYWNlW2Rlc2NyaXB0aXZlXSI+Ci0gICAgPHhzbDp2YXJpYWJsZSBuYW1lPSJuYW1lIiBz
ZWxlY3Q9IkBuYW1lIi8+Ci0gICAgPGRpdiBjbGFzcz0iaW50ZXJmYWNlIiBpZD0ie0BpZH0iPgot
ICAgICAgICA8aDM+PGNvZGU+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBuYW1lIi8+PC9jb2RlPjwv
aDM+Ci0gICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iZGVzY3JpcHRpdmUvYnJp
ZWYiLz4KLSAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJ3ZWJpZGwiLz4KLSAg
ICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSIuLi9JbXBsZW1lbnRzW0BuYW1lMj0k
bmFtZV0vd2ViaWRsIi8+Ci0gICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iZGVz
Y3JpcHRpdmUiLz4KLSAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJkZXNjcmlw
dGl2ZS9Db2RlIi8+Ci0gICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iSW50ZXJm
YWNlSW5oZXJpdGFuY2UiLz4KLSAgICAgICAgPHhzbDppZiB0ZXN0PSJDb25zdC9kZXNjcmlwdGl2
ZSI+Ci0gICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb25zdHMiPgotICAgICAgICAgICAgICAgIDxo
ND5Db25zdGFudHM8L2g0PgotICAgICAgICAgICAgICAgIDxkbD4KLSAgICAgICAgICAgICAgICAg
IDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iQ29uc3QiLz4KLSAgICAgICAgICAgICAgICA8
L2RsPgotICAgICAgICAgICAgPC9kaXY+Ci0gICAgICAgIDwveHNsOmlmPgotICAgICAgICA8eHNs
OmlmIHRlc3Q9IkV4dGVuZGVkQXR0cmlidXRlTGlzdC9FeHRlbmRlZEF0dHJpYnV0ZS9kZXNjcmlw
dGl2ZSI+Ci0gICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb25zdHJ1Y3RvcnMiPgotICAgICAgICAg
ICAgICAgIDxoND5Db25zdHJ1Y3RvcnM8L2g0PgotICAgICAgICAgICAgICAgIDxkbD4KLSAgICAg
ICAgICAgICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iRXh0ZW5kZWRBdHRyaWJ1
dGVMaXN0L0V4dGVuZGVkQXR0cmlidXRlIi8+Ci0gICAgICAgICAgICAgICAgPC9kbD4KLSAgICAg
ICAgICAgIDwvZGl2PgotICAgICAgICA8L3hzbDppZj4KLSAgICAgICAgPHhzbDppZiB0ZXN0PSJB
dHRyaWJ1dGUvZGVzY3JpcHRpdmUiPgotICAgICAgICAgICAgPGRpdiBjbGFzcz0iYXR0cmlidXRl
cyI+Ci0gICAgICAgICAgICAgICAgPGg0PkF0dHJpYnV0ZXM8L2g0PgotICAgICAgICAgICAgICAg
IDxkbD4KLSAgICAgICAgICAgICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iQXR0
cmlidXRlIi8+Ci0gICAgICAgICAgICAgICAgPC9kbD4KLSAgICAgICAgICAgIDwvZGl2PgotICAg
ICAgICA8L3hzbDppZj4KLSAgICAgICAgPHhzbDppZiB0ZXN0PSJPcGVyYXRpb24vZGVzY3JpcHRp
dmUiPgotICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWV0aG9kcyI+Ci0gICAgICAgICAgICAgICAg
PGg0Pk1ldGhvZHM8L2g0PgotICAgICAgICAgICAgICAgIDxkbD4KLSAgICAgICAgICAgICAgICAg
IDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iT3BlcmF0aW9uIi8+Ci0gICAgICAgICAgICAg
ICAgPC9kbD4KLSAgICAgICAgICAgIDwvZGl2PgotICAgICAgICA8L3hzbDppZj4KLSAgICA8L2Rp
dj4KLTwveHNsOnRlbXBsYXRlPgotPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iSW50ZXJmYWNlW25vdChk
ZXNjcmlwdGl2ZSldIj4KLTwveHNsOnRlbXBsYXRlPgotCi08IS0tRGljdGlvbmFyeS4tLT4KLTx4
c2w6dGVtcGxhdGUgbWF0Y2g9IkRpY3Rpb25hcnlbZGVzY3JpcHRpdmVdIj4KLSAgICA8eHNsOnZh
cmlhYmxlIG5hbWU9Im5hbWUiIHNlbGVjdD0iQG5hbWUiLz4KLSAgICA8ZGl2IGNsYXNzPSJkaWN0
aW9uYXJ5IiBpZD0ie0BpZH0iPgotICAgICAgICA8aDM+PGNvZGU+PHhzbDp2YWx1ZS1vZiBzZWxl
Y3Q9IkBuYW1lIi8+PC9jb2RlPjwvaDM+Ci0gICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNl
bGVjdD0iZGVzY3JpcHRpdmUvYnJpZWYiLz4KLSAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMg
c2VsZWN0PSJ3ZWJpZGwiLz4KLSAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJk
ZXNjcmlwdGl2ZSIvPgotICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9ImRlc2Ny
aXB0aXZlL0NvZGUiLz4KLSAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJJbnRl
cmZhY2VJbmhlcml0YW5jZSIvPgotICAgICAgICA8eHNsOmlmIHRlc3Q9IkNvbnN0L2Rlc2NyaXB0
aXZlIj4KLSAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnN0cyI+Ci0gICAgICAgICAgICAgICAg
PGg0PkNvbnN0YW50czwvaDQ+Ci0gICAgICAgICAgICAgICAgPGRsPgotICAgICAgICAgICAgICAg
ICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJDb25zdCIvPgotICAgICAgICAgICAgICAg
IDwvZGw+Ci0gICAgICAgICAgICA8L2Rpdj4KLSAgICAgICAgPC94c2w6aWY+Ci0gICAgICAgIDx4
c2w6aWYgdGVzdD0iQXR0cmlidXRlL2Rlc2NyaXB0aXZlIj4KLSAgICAgICAgICAgIDxkaXYgY2xh
c3M9ImF0dHJpYnV0ZXMiPgotICAgICAgICAgICAgICAgIDxoND5BdHRyaWJ1dGVzPC9oND4KLSAg
ICAgICAgICAgICAgICA8ZGw+Ci0gICAgICAgICAgICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRl
cyBzZWxlY3Q9IkF0dHJpYnV0ZSIvPgotICAgICAgICAgICAgICAgIDwvZGw+Ci0gICAgICAgICAg
ICA8L2Rpdj4KLSAgICAgICAgPC94c2w6aWY+Ci0gICAgPC9kaXY+Ci08L3hzbDp0ZW1wbGF0ZT4K
LTx4c2w6dGVtcGxhdGUgbWF0Y2g9IkRpY3Rpb25hcnlbbm90KGRlc2NyaXB0aXZlKV0iPgotPC94
c2w6dGVtcGxhdGU+Ci0KLTx4c2w6dGVtcGxhdGUgbWF0Y2g9IkludGVyZmFjZUluaGVyaXRhbmNl
L1Njb3BlZE5hbWVMaXN0Ij4KLSAgICAgICAgICAgICAgPHA+Ci0gICAgICAgICAgICAgICAgPHhz
bDp0ZXh0PlRoaXMgaW50ZXJmYWNlIGluaGVyaXRzIGZyb206IDwveHNsOnRleHQ+Ci0gICAgICAg
ICAgICAgICAgPHhzbDpmb3ItZWFjaCBzZWxlY3Q9Ik5hbWUiPgotICAgICAgICAgICAgICAgICAg
PGNvZGU+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBuYW1lIi8+PC9jb2RlPgotICAgICAgICAgICAg
ICAgICAgPHhzbDppZiB0ZXN0PSJwb3NpdGlvbiE9bGFzdCgpIj4sIDwveHNsOmlmPgotICAgICAg
ICAgICAgICAgIDwveHNsOmZvci1lYWNoPgotICAgICAgICAgICAgICA8L3A+Ci08L3hzbDp0ZW1w
bGF0ZT4KLQotPCEtLUF0dHJpYnV0ZS0tPgotPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iQXR0cmlidXRl
Ij4KLSAgICA8ZHQgY2xhc3M9ImF0dHJpYnV0ZSIgaWQ9IntAbmFtZX0iPgotICAgICAgICA8Y29k
ZT4KLSAgICAgICAgICAgIDx4c2w6aWYgdGVzdD0iQHN0cmluZ2lmaWVyIj4KLSAgICAgICAgICAg
ICAgICBzdHJpbmdpZmllcgotICAgICAgICAgICAgPC94c2w6aWY+Ci0gICAgICAgICAgICA8eHNs
OmlmIHRlc3Q9IkByZWFkb25seSI+Ci0gICAgICAgICAgICAgICAgcmVhZG9ubHkKLSAgICAgICAg
ICAgIDwveHNsOmlmPgotICAgICAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJU
eXBlIi8+Ci0gICAgICAgICAgICA8eHNsOnRleHQ+IDwveHNsOnRleHQ+Ci0gICAgICAgICAgICA8
eHNsOnZhbHVlLW9mIHNlbGVjdD0iQG5hbWUiLz4KLSAgICAgICAgPC9jb2RlPjwvZHQ+Ci0gICAg
ICAgIDxkZD4KLSAgICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9ImRlc2NyaXB0
aXZlL2JyaWVmIi8+Ci0gICAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJkZXNj
cmlwdGl2ZSIvPgotICAgICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iR2V0UmFp
c2VzIi8+Ci0gICAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJTZXRSYWlzZXMi
Lz4KLSAgICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9ImRlc2NyaXB0aXZlL0Nv
ZGUiLz4KLSAgICAgICAgPC9kZD4KLTwveHNsOnRlbXBsYXRlPgotCi08IS0tQ29uc3QtLT4KLTx4
c2w6dGVtcGxhdGUgbWF0Y2g9IkNvbnN0Ij4KLSAgPGR0IGNsYXNzPSJjb25zdCIgaWQ9IntAaWR9
Ij4KLSAgICA8Y29kZT4KLSAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iVHlwZSIv
PgotICAgICAgPHhzbDp0ZXh0PiA8L3hzbDp0ZXh0PgotICAgICAgPHhzbDp2YWx1ZS1vZiBzZWxl
Y3Q9IkBuYW1lIi8+Ci0gICAgPC9jb2RlPgotICA8L2R0PgotICA8ZGQ+Ci0gICAgPHhzbDphcHBs
eS10ZW1wbGF0ZXMgc2VsZWN0PSJkZXNjcmlwdGl2ZS9icmllZiIvPgotICAgIDx4c2w6YXBwbHkt
dGVtcGxhdGVzIHNlbGVjdD0iZGVzY3JpcHRpdmUiLz4KLSAgICA8eHNsOmFwcGx5LXRlbXBsYXRl
cyBzZWxlY3Q9ImRlc2NyaXB0aXZlL0NvZGUiLz4KLSAgPC9kZD4KLTwveHNsOnRlbXBsYXRlPgot
Ci08IS0tRXh0ZW5kZWRBdHRyaWJ1dGUgbmFtZT09Q29uc3RydWN0b3IgfHwgbmFtZT09TmFtZWRD
b25zdHJ1Y3Rvci0tPgotPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iRXh0ZW5kZWRBdHRyaWJ1dGVMaXN0
L0V4dGVuZGVkQXR0cmlidXRlIj4KLSAgICA8ZHQgY2xhc3M9ImNvbnN0cnVjdG9yIiBpZD0ie2Nv
bmNhdChAbmFtZSxnZW5lcmF0ZS1pZCguKSl9Ij4KLSAgICAgICAgPGNvZGU+Ci0gICAgICAgICAg
ICA8eHNsOnZhbHVlLW9mIHNlbGVjdD0iLi4vLi4vQG5hbWUiLz4KLSAgICAgICAgICAgICA8eHNs
OnRleHQ+KDwveHNsOnRleHQ+Ci0gICAgICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxl
Y3Q9IkFyZ3VtZW50TGlzdCI+Ci0gICAgICAgICAgICAgICAgPHhzbDp3aXRoLXBhcmFtIG5hbWU9
Im5vZGVzYyIgc2VsZWN0PSIxIi8+Ci0gICAgICAgICAgICA8L3hzbDphcHBseS10ZW1wbGF0ZXM+
Ci0gICAgICAgICAgICA8eHNsOnRleHQ+KTs8L3hzbDp0ZXh0PgotICAgICAgICA8L2NvZGU+Ci0g
ICAgPC9kdD4KLSAgICA8ZGQ+Ci0gICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0i
ZGVzY3JpcHRpdmUvYnJpZWYiLz4KLSAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0
PSJkZXNjcmlwdGl2ZSIvPgotICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9IkFy
Z3VtZW50TGlzdCIvPgotICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9IlJhaXNl
cyIvPgotICAgICAgICA8eHNsOmlmIHRlc3Q9ImRlc2NyaXB0aXZlL2FwaS1mZWF0dXJlIj4KLSAg
ICAgICAgICAgIDxkaXYgY2xhc3M9ImFwaS1mZWF0dXJlcyI+Ci0gICAgICAgICAgICAgICAgPGg2
PkFQSSBmZWF0dXJlczwvaDY+Ci0gICAgICAgICAgICAgICAgPGRsPgotICAgICAgICAgICAgICAg
ICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9ImRlc2NyaXB0aXZlL2FwaS1mZWF0dXJl
Ii8+Ci0gICAgICAgICAgICAgICAgPC9kbD4KLSAgICAgICAgICAgIDwvZGl2PgotICAgICAgICA8
L3hzbDppZj4KLSAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJ3ZWJpZGwiLz4K
LSAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJkZXNjcmlwdGl2ZS9Db2RlIi8+
Ci0gICAgPC9kZD4KLTwveHNsOnRlbXBsYXRlPgotCi08IS0tT3BlcmF0aW9uLS0+Ci08eHNsOnRl
bXBsYXRlIG1hdGNoPSJPcGVyYXRpb24iPgotICAgIDxkdCBjbGFzcz0ibWV0aG9kIiBpZD0ie2Nv
bmNhdChAbmFtZSxnZW5lcmF0ZS1pZCguKSl9Ij4KLSAgICAgICAgPGNvZGU+Ci0gICAgICAgICAg
ICA8eHNsOmlmIHRlc3Q9IkBzdHJpbmdpZmllciI+Ci0gICAgICAgICAgICAgICAgPHhzbDp2YWx1
ZS1vZiBzZWxlY3Q9ImNvbmNhdChAc3RyaW5naWZpZXIsICcgJykiLz4KLSAgICAgICAgICAgIDwv
eHNsOmlmPgotICAgICAgICAgICAgPHhzbDppZiB0ZXN0PSJAb21pdHRhYmxlIj4KLSAgICAgICAg
ICAgICAgICA8eHNsOnZhbHVlLW9mIHNlbGVjdD0iY29uY2F0KEBvbWl0dGFibGUsICcgJykiLz4K
LSAgICAgICAgICAgIDwveHNsOmlmPgotICAgICAgICAgICAgPHhzbDppZiB0ZXN0PSJAZ2V0dGVy
Ij4KLSAgICAgICAgICAgICAgICA8eHNsOnZhbHVlLW9mIHNlbGVjdD0iY29uY2F0KEBnZXR0ZXIs
ICcgJykiLz4KLSAgICAgICAgICAgIDwveHNsOmlmPgotICAgICAgICAgICAgPHhzbDppZiB0ZXN0
PSJAc2V0dGVyIj4KLSAgICAgICAgICAgICAgICA8eHNsOnZhbHVlLW9mIHNlbGVjdD0iY29uY2F0
KEBzZXR0ZXIsICcgJykiLz4KLSAgICAgICAgICAgIDwveHNsOmlmPgotICAgICAgICAgICAgPHhz
bDppZiB0ZXN0PSJAY3JlYXRvciI+Ci0gICAgICAgICAgICAJPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9
ImNvbmNhdChAY3JlYXRvciwgJyAnKSIvPgotICAgICAgICAgICAgPC94c2w6aWY+Ci0gICAgICAg
ICAgICA8eHNsOmlmIHRlc3Q9IkBkZWxldGVyIj4KLSAgICAgICAgICAgICAgICA8eHNsOnZhbHVl
LW9mIHNlbGVjdD0iY29uY2F0KEBkZWxldGVyLCAnICcpIi8+Ci0gICAgICAgICAgICA8L3hzbDpp
Zj4KLSAgICAgICAgICAgIDx4c2w6aWYgdGVzdD0iQGNhbGxlciI+Ci0gICAgICAgICAgICAgICAg
PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9ImNvbmNhdChAY2FsbGVyLCAnICcpIi8+Ci0gICAgICAgICAg
ICA8L3hzbDppZj4KLSAgICAgICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iVHlw
ZSIvPgotICAgICAgICAgICAgPHhzbDp0ZXh0PiA8L3hzbDp0ZXh0PgotICAgICAgICAgICAgPHhz
bDp2YWx1ZS1vZiBzZWxlY3Q9IkBuYW1lIi8+Ci0gICAgICAgICAgICA8eHNsOnRleHQ+KDwveHNs
OnRleHQ+Ci0gICAgICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9IkFyZ3VtZW50
TGlzdCI+Ci0gICAgICAgICAgICAgICAgPHhzbDp3aXRoLXBhcmFtIG5hbWU9Im5vZGVzYyIgc2Vs
ZWN0PSIxIi8+Ci0gICAgICAgICAgICA8L3hzbDphcHBseS10ZW1wbGF0ZXM+Ci0gICAgICAgICAg
ICA8eHNsOnRleHQ+KTs8L3hzbDp0ZXh0PgotICAgICAgICA8L2NvZGU+Ci0gICAgPC9kdD4KLSAg
ICA8ZGQ+Ci0gICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iZGVzY3JpcHRpdmUv
YnJpZWYiLz4KLSAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJ3ZWJpZGwiLz4K
LSAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJkZXNjcmlwdGl2ZS9Db2RlIi8+
Ci0gICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iZGVzY3JpcHRpdmUiLz4KLSAg
ICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJBcmd1bWVudExpc3QiLz4KLSAgICAg
ICAgPHhzbDppZiB0ZXN0PSJUeXBlL2Rlc2NyaXB0aXZlIj4KLSAgICAgICAgICA8ZGl2IGNsYXNz
PSJyZXR1cm50eXBlIj4KLSAgICAgICAgICAgIDxoNT5SZXR1cm4gdmFsdWU8L2g1PgotICAgICAg
ICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJUeXBlL2Rlc2NyaXB0aXZlIi8+Ci0g
ICAgICAgICAgPC9kaXY+Ci0gICAgICAgIDwveHNsOmlmPgotICAgICAgICA8eHNsOmFwcGx5LXRl
bXBsYXRlcyBzZWxlY3Q9IlJhaXNlcyIvPgotICAgICAgICA8eHNsOmlmIHRlc3Q9ImRlc2NyaXB0
aXZlL2FwaS1mZWF0dXJlIj4KLSAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFwaS1mZWF0dXJlcyI+
Ci0gICAgICAgICAgICAgICAgPGg2PkFQSSBmZWF0dXJlczwvaDY+Ci0gICAgICAgICAgICAgICAg
PGRsPgotICAgICAgICAgICAgICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9ImRl
c2NyaXB0aXZlL2FwaS1mZWF0dXJlIi8+Ci0gICAgICAgICAgICAgICAgPC9kbD4KLSAgICAgICAg
ICAgIDwvZGl2PgotICAgICAgICA8L3hzbDppZj4KLSAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0
ZXMgc2VsZWN0PSJkZXNjcmlwdGl2ZS9Db2RlIi8+Ci0gICAgPC9kZD4KLTwveHNsOnRlbXBsYXRl
PgotCi08IS0tQ2FsbGJhY2stLT4KLTx4c2w6dGVtcGxhdGUgbWF0Y2g9IkNhbGxiYWNrIj4KLSAg
ICA8eHNsOnZhcmlhYmxlIG5hbWU9Im5hbWUiIHNlbGVjdD0iQG5hbWUiLz4KLSAgICA8ZGl2IGNs
YXNzPSJjYWxsYmFjayIgaWQ9IntAaWR9Ij4KLSAgICAgICAgPGgzPjxjb2RlPjx4c2w6dmFsdWUt
b2Ygc2VsZWN0PSJAbmFtZSIvPjwvY29kZT48L2gzPgotCi0JICAgIDxkZD4KLQkgICAgICAgIDx4
c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iZGVzY3JpcHRpdmUvYnJpZWYiLz4KLQkgICAgICAg
IDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0id2ViaWRsIi8+Ci0JICAgICAgICA8eHNsOmFw
cGx5LXRlbXBsYXRlcyBzZWxlY3Q9ImRlc2NyaXB0aXZlIi8+Ci0JICAgICAgICA8ZGl2IGNsYXNz
PSJzeW5vcHNpcyI+Ci0JICAgICAgICAgICAgPGg2PlNpZ25hdHVyZTwvaDY+Ci0JICAgICAgICAg
ICAgPHByZT4KLQkgICAgICAgICAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJU
eXBlIi8+Ci0JICAgICAgICAgICAgICAgIDx4c2w6dGV4dD4gPC94c2w6dGV4dD4KLQkgICAgICAg
ICAgICAgICAgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBuYW1lIi8+Ci0JICAgICAgICAgICAgICAg
IDx4c2w6dGV4dD4oPC94c2w6dGV4dD4KLQkgICAgICAgICAgICAgICAgPHhzbDphcHBseS10ZW1w
bGF0ZXMgc2VsZWN0PSJBcmd1bWVudExpc3QiPgotCSAgICAgICAgICAgICAgICAgICAgPHhzbDp3
aXRoLXBhcmFtIG5hbWU9Im5vZGVzYyIgc2VsZWN0PSIxIi8+Ci0JICAgICAgICAgICAgICAgIDwv
eHNsOmFwcGx5LXRlbXBsYXRlcz4KLQkgICAgICAgICAgICAgICAgPHhzbDp0ZXh0Pik7Ci08L3hz
bDp0ZXh0PjwvcHJlPgotCSAgICAgICAgPC9kaXY+Ci0JICAgICAgICA8eHNsOmFwcGx5LXRlbXBs
YXRlcyBzZWxlY3Q9ImRlc2NyaXB0aXZlIi8+Ci0JICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRl
cyBzZWxlY3Q9IkFyZ3VtZW50TGlzdCIvPgotCSAgICAgICAgPHhzbDppZiB0ZXN0PSJUeXBlL2Rl
c2NyaXB0aXZlIj4KLQkgICAgICAgICAgPGRpdiBjbGFzcz0icmV0dXJudHlwZSI+Ci0JICAgICAg
ICAgICAgPGg1PlJldHVybiB2YWx1ZTwvaDU+Ci0JICAgICAgICAgICAgPHhzbDphcHBseS10ZW1w
bGF0ZXMgc2VsZWN0PSJUeXBlL2Rlc2NyaXB0aXZlIi8+Ci0JICAgICAgICAgIDwvZGl2PgotCSAg
ICAgICAgPC94c2w6aWY+Ci0JICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9ImRl
c2NyaXB0aXZlL0NvZGUiLz4KLQkgICAgPC9kZD4KLQk8L2Rpdj4KLTwveHNsOnRlbXBsYXRlPgot
Ci08IS0tQXJndW1lbnRMaXN0LiBUaGlzIGlzIHBhc3NlZCAkbm9kZXNjPXRydWUgdG8gb3V0cHV0
IGp1c3QgdGhlIGFyZ3VtZW50Ci0gICAgdHlwZXMgYW5kIG5hbWVzLCBhbmQgbm90IGFueSBkb2N1
bWVudGF0aW9uIGZvciB0aGVtLi0tPgotPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iQXJndW1lbnRMaXN0
Ij4KLSAgICA8eHNsOnBhcmFtIG5hbWU9Im5vZGVzYyIvPgotICAgIDx4c2w6Y2hvb3NlPgotICAg
ICAgICA8eHNsOndoZW4gdGVzdD0iJG5vZGVzYyI+Ci0gICAgICAgICAgICA8IS0tJG5vZGVzYyBp
cyB0cnVlOiBqdXN0IG91dHB1dCB0aGUgdHlwZXMgYW5kIG5hbWVzLS0+Ci0gICAgICAgICAgICA8
eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9IkFyZ3VtZW50WzFdIj4KLSAgICAgICAgICAgICAg
ICA8eHNsOndpdGgtcGFyYW0gbmFtZT0ibm9kZXNjIiBzZWxlY3Q9Iidub2NvbW1hJyIvPgotICAg
ICAgICAgICAgPC94c2w6YXBwbHktdGVtcGxhdGVzPgotICAgICAgICAgICAgPHhzbDphcHBseS10
ZW1wbGF0ZXMgc2VsZWN0PSJBcmd1bWVudFtwb3NpdGlvbigpICE9IDFdIj4KLSAgICAgICAgICAg
ICAgICA8eHNsOndpdGgtcGFyYW0gbmFtZT0ibm9kZXNjIiBzZWxlY3Q9Iidjb21tYSciLz4KLSAg
ICAgICAgICAgIDwveHNsOmFwcGx5LXRlbXBsYXRlcz4KLSAgICAgICAgPC94c2w6d2hlbj4KLSAg
ICAgICAgPHhzbDp3aGVuIHRlc3Q9IkFyZ3VtZW50Ij4KLSAgICAgICAgICAgIDwhLS0kbm9kZXNj
IGlzIGZhbHNlOiBvdXRwdXQgdGhlIGRvY3VtZW50YXRpb24tLT4KLSAgICAgICAgICAgIDxkaXYg
Y2xhc3M9InBhcmFtZXRlcnMiPgotICAgICAgICAgICAgICAgIDxoNj5QYXJhbWV0ZXJzPC9oNj4K
LSAgICAgICAgICAgICAgICA8dWw+Ci0gICAgICAgICAgICAgICAgICAgIDx4c2w6YXBwbHktdGVt
cGxhdGVzLz4KLSAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgPC9kaXY+Ci0gICAg
ICAgIDwveHNsOndoZW4+Ci0gICAgPC94c2w6Y2hvb3NlPgotPC94c2w6dGVtcGxhdGU+Ci0KLTwh
LS1Bcmd1bWVudC4gVGhpcyBpcyBwYXNzZWQgJG5vZGVzYz1mYWxzZSB0byBvdXRwdXQgdGhlIGRv
Y3VtZW50YXRpb24sCi0gICAgb3IgJG5vZGVzYz0ibm9jb21tYSIgdG8gb3V0cHV0IHRoZSB0eXBl
IGFuZCBuYW1lLCBvciAkbm9kZXNjPSJjb21tYSIKLSAgICB0byBvdXRwdXQgYSBjb21tYSB0aGVu
IHRoZSB0eXBlIGFuZCBuYW1lLiAtLT4KLTx4c2w6dGVtcGxhdGUgbWF0Y2g9IkFyZ3VtZW50Ij4K
LSAgICA8eHNsOnBhcmFtIG5hbWU9Im5vZGVzYyIvPgotICAgIDx4c2w6Y2hvb3NlPgotICAgICAg
ICA8eHNsOndoZW4gdGVzdD0iJG5vZGVzYyI+Ci0gICAgICAgICAgICA8IS0tJG5vZGVzYyBpcyB0
cnVlOiBqdXN0IG91dHB1dCB0aGUgdHlwZXMgYW5kIG5hbWVzLS0+Ci0gICAgICAgICAgICA8eHNs
OmlmIHRlc3Q9IiRub2Rlc2MgPSAnY29tbWEnIj4KLSAgICAgICAgICAgICAgICA8IS0tTmVlZCBh
IGNvbW1hIGZpcnN0Li0tPgotICAgICAgICAgICAgICAgIDx4c2w6dGV4dD4sIDwveHNsOnRleHQ+
Ci0gICAgICAgICAgICA8L3hzbDppZj4KLSAgICAgICAgICAgIDx4c2w6aWYgdGVzdD0iQGluIj48
eHNsOnZhbHVlLW9mIHNlbGVjdD0iY29uY2F0KEBpbiwgJyAnKSIvPjwveHNsOmlmPgotICAgICAg
ICAgICAgPHhzbDppZiB0ZXN0PSJAb3B0aW9uYWwiPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJjb25j
YXQoQG9wdGlvbmFsLCAnICcpIi8+PC94c2w6aWY+Ci0gICAgICAgICAgICA8eHNsOmFwcGx5LXRl
bXBsYXRlcyBzZWxlY3Q9IlR5cGUiLz4KLSAgICAgICAgICAgIDx4c2w6aWYgdGVzdD0iQGVsbGlw
c2lzIj48eHNsOnRleHQ+Li4uPC94c2w6dGV4dD48L3hzbDppZj4KLSAgICAgICAgICAgIDx4c2w6
dGV4dD4gPC94c2w6dGV4dD4KLSAgICAgICAgICAgIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAbmFt
ZSIvPgotCSAgICA8eHNsOmlmIHRlc3Q9IkB2YWx1ZSI+Ci0JICAgICAgPHhzbDp0ZXh0PkRlZmF1
bHQgdmFsdWU6IDwveHNsOnRleHQ+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkB2YWx1ZSIvPgotCSAg
ICA8L3hzbDppZj4KLQkgICAgPHhzbDppZiB0ZXN0PSJAc3RyaW5ndmFsdWUiPgotCSAgICAgIDx4
c2w6dGV4dD5EZWZhdWx0IHZhbHVlOiAiPC94c2w6dGV4dD48eHNsOnZhbHVlLW9mIHNlbGVjdD0i
QHN0cmluZ3ZhbHVlIi8+PHhzbDp0ZXh0PiI8L3hzbDp0ZXh0PgotCSAgICA8L3hzbDppZj4JICAg
IAotICAgICAgICA8L3hzbDp3aGVuPgotICAgICAgICA8eHNsOm90aGVyd2lzZT4KLSAgICAgICAg
ICAgIDwhLS0kbm9kZXNjIGlzIGZhbHNlOiBvdXRwdXQgdGhlIGRvY3VtZW50YXRpb24tLT4KLSAg
ICAgICAgICAgIDxsaSBjbGFzcz0icGFyYW0iPgotICAgICAgICAgICAgICAgIDx4c2w6dmFsdWUt
b2Ygc2VsZWN0PSJAbmFtZSIvPjoKLSAgICAgICAgICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRl
cyBzZWxlY3Q9ImRlc2NyaXB0aXZlIi8+Ci0gICAgICAgICAgICA8L2xpPgotICAgICAgICA8L3hz
bDpvdGhlcndpc2U+Ci0gICAgPC94c2w6Y2hvb3NlPgotPC94c2w6dGVtcGxhdGU+Ci0KLTwhLS1S
YWlzZXMgKGZvciBhbiBPcGVyYXRpb24pLiBJdCBpcyBhbHJlYWR5IGtub3duIHRoYXQgdGhlIGxp
c3QKLSAgICBpcyBub3QgZW1wdHkuLS0+Ci08eHNsOnRlbXBsYXRlIG1hdGNoPSJSYWlzZXMiPgot
ICAgIDxkaXYgY2xhc3M9ImV4Y2VwdGlvbmxpc3QiPgotICAgICAgICA8aDU+RXhjZXB0aW9uczwv
aDU+Ci0gICAgICAgIDx1bD4KLSAgICAgICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzLz4KLSAg
ICAgICAgPC91bD4KLSAgICA8L2Rpdj4KLTwveHNsOnRlbXBsYXRlPgotCi08IS0tUmFpc2VFeGNl
cHRpb24sIHRoZSBuYW1lIG9mIGFuIGV4Y2VwdGlvbiBpbiBhIFJhaXNlcy4tLT4KLTx4c2w6dGVt
cGxhdGUgbWF0Y2g9IlJhaXNlRXhjZXB0aW9uIj4KLSAgICA8bGkgY2xhc3M9ImV4Y2VwdGlvbiI+
Ci0gICAgICAgIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAbmFtZSIvPjoKLSAgICAgICAgPHhzbDph
cHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJkZXNjcmlwdGl2ZSIvPgotICAgIDwvbGk+Ci08L3hzbDp0
ZW1wbGF0ZT4KLQotPCEtLVR5cGUuLS0+Ci08eHNsOnRlbXBsYXRlIG1hdGNoPSJUeXBlIj4KLSAg
ICA8eHNsOmNob29zZT4KLSAgICAgICAgPHhzbDp3aGVuIHRlc3Q9IlR5cGUiPgotICAgICAgICAg
ICAgPHhzbDp0ZXh0PnNlcXVlbmNlICZsdDs8L3hzbDp0ZXh0PgotICAgICAgICAgICAgPHhzbDph
cHBseS10ZW1wbGF0ZXMvPgotICAgICAgICAgICAgPHhzbDp0ZXh0Pj48L3hzbDp0ZXh0PgotICAg
ICAgICA8L3hzbDp3aGVuPgotICAgICAgICA8eHNsOm90aGVyd2lzZT4KLSAgICAgICAgICAgIDx4
c2w6dmFsdWUtb2Ygc2VsZWN0PSJAbmFtZSIvPgotICAgICAgICAgICAgPHhzbDp2YWx1ZS1vZiBz
ZWxlY3Q9IkB0eXBlIi8+Ci0gICAgICAgICAgICA8eHNsOmlmIHRlc3Q9IkBudWxsYWJsZSI+Ci0g
ICAgICAgICAgICAgICAgPHhzbDp0ZXh0Pj88L3hzbDp0ZXh0PgotICAgICAgICAgICAgPC94c2w6
aWY+Ci0gICAgICAgIDwveHNsOm90aGVyd2lzZT4KLSAgICA8L3hzbDpjaG9vc2U+Ci08L3hzbDp0
ZW1wbGF0ZT4KLQotPCEtLUVudW0uLS0+Ci08eHNsOnRlbXBsYXRlIG1hdGNoPSJFbnVtW2Rlc2Ny
aXB0aXZlXSI+Ci0gICAgPHhzbDp2YXJpYWJsZSBuYW1lPSJuYW1lIiBzZWxlY3Q9IkBuYW1lIi8+
Ci0gICAgPGRpdiBjbGFzcz0iZW51bSIgaWQ9IntAaWR9Ij4KLSAgICAgICAgPGgzPjxjb2RlPjx4
c2w6dmFsdWUtb2Ygc2VsZWN0PSJAbmFtZSIvPjwvY29kZT48L2gzPgotICAgICAgICA8eHNsOmFw
cGx5LXRlbXBsYXRlcyBzZWxlY3Q9ImRlc2NyaXB0aXZlL2JyaWVmIi8+Ci0gICAgICAgIDx4c2w6
YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0id2ViaWRsIi8+Ci0gICAgICAgIDx4c2w6YXBwbHktdGVt
cGxhdGVzIHNlbGVjdD0iZGVzY3JpcHRpdmUiLz4KLSAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0
ZXMgc2VsZWN0PSJkZXNjcmlwdGl2ZS9Db2RlIi8+Ci0gICAgICAgIDxkaXYgY2xhc3M9ImVudW12
YWx1ZXMiPgotICAgICAgICAgICAgPGg0PlZhbHVlczwvaDQ+Ci0gICAgICAgICAgICA8ZGw+Ci0g
ICAgICAgICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iRW51bVZhbHVlIi8+Ci0g
ICAgICAgICAgICA8L2RsPgotICAgICAgICA8L2Rpdj4KLSAgICA8L2Rpdj4KLTwveHNsOnRlbXBs
YXRlPgotPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iRW51bVtub3QoZGVzY3JpcHRpdmUpXSI+Ci08L3hz
bDp0ZW1wbGF0ZT4KLQotPCEtLUVudW1WYWx1ZS0tPgotPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iRW51
bVZhbHVlIj4KLSAgPGR0IGNsYXNzPSJlbnVtdmFsdWUiIGlkPSJ7QGlkfSI+Ci0gICAgPGNvZGU+
Ci0gICAgICA8eHNsOnZhbHVlLW9mIHNlbGVjdD0iQHN0cmluZ3ZhbHVlIi8+Ci0gICAgPC9jb2Rl
PgotICA8L2R0PgotICA8ZGQ+Ci0gICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJkZXNj
cmlwdGl2ZS9icmllZiIvPgotICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iZGVzY3Jp
cHRpdmUiLz4KLSAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9ImRlc2NyaXB0aXZlL0Nv
ZGUiLz4KLSAgPC9kZD4KLTwveHNsOnRlbXBsYXRlPgotCi08eHNsOnRlbXBsYXRlIG1hdGNoPSJk
ZXNjcmlwdGl2ZVtub3QoYXV0aG9yKV0iPgotICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9
InZlcnNpb24iLz4KLSAgPHhzbDppZiB0ZXN0PSJhdXRob3IiPgotICA8L3hzbDppZj4KLSAgPHhz
bDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJkZXNjcmlwdGlvbiIvPgotPC94c2w6dGVtcGxhdGU+
Ci0KLTwhLS1icmllZi0tPgotPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iYnJpZWYiPgotICAgIDxkaXYg
Y2xhc3M9ImJyaWVmIj4KLSAgICAgICAgPHA+Ci0gICAgICAgICAgICA8eHNsOmFwcGx5LXRlbXBs
YXRlcy8+Ci0gICAgICAgIDwvcD4KLSAgICA8L2Rpdj4KLTwveHNsOnRlbXBsYXRlPgotCi08IS0t
ZGVzY3JpcHRpb24gaW4gUmV0dXJuVHlwZSBvciBBcmd1bWVudCBvciBTY29wZWROYW1lLS0+Ci08
eHNsOnRlbXBsYXRlIG1hdGNoPSJUeXBlL2Rlc2NyaXB0aXZlL2Rlc2NyaXB0aW9ufEFyZ3VtZW50
L2Rlc2NyaXB0aXZlL2Rlc2NyaXB0aW9ufE5hbWUvZGVzY3JpcHRpdmUvZGVzY3JpcHRpb24iPgot
ICAgIDwhLS1JZiB0aGUgZGVzY3JpcHRpb24gY29udGFpbnMganVzdCBhIHNpbmdsZSA8cD4gdGhl
biB3ZSBvbWl0Ci0gICAgICAgIHRoZSA8cD4gYW5kIGp1c3QgZG8gaXRzIGNvbnRlbnRzLi0tPgot
ICAgIDx4c2w6Y2hvb3NlPgotICAgICAgICA8eHNsOndoZW4gdGVzdD0icCBhbmQgY291bnQoKikg
PSAxIj4KLSAgICAgICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0icC8qfHAvdGV4
dCgpIi8+Ci0gICAgICAgIDwveHNsOndoZW4+Ci0gICAgICAgIDx4c2w6b3RoZXJ3aXNlPgotICAg
ICAgICAgICAgPGRpdiBjbGFzcz0iZGVzY3JpcHRpb24iPgotICAgICAgICAgICAgICAgIDx4c2w6
YXBwbHktdGVtcGxhdGVzLz4KLSAgICAgICAgICAgIDwvZGl2PgotICAgICAgICA8L3hzbDpvdGhl
cndpc2U+Ci0gICAgPC94c2w6Y2hvb3NlPgotPC94c2w6dGVtcGxhdGU+Ci0KLTwhLS1PdGhlciBk
ZXNjcmlwdGlvbi0tPgotPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iZGVzY3JpcHRpb24iPgotICAgIDxk
aXYgY2xhc3M9ImRlc2NyaXB0aW9uIj4KLSAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMvPgot
ICAgIDwvZGl2PgotPC94c2w6dGVtcGxhdGU+Ci0KLTwhLS1Db2RlLS0+Ci08eHNsOnRlbXBsYXRl
IG1hdGNoPSJDb2RlIj4KLSAgICA8ZGl2IGNsYXNzPSJleGFtcGxlIj4KLSAgICAJPHhzbDpjaG9v
c2U+Ci0gICAgICAgIAk8eHNsOndoZW4gdGVzdD0iQGxhbmciPgotCSAgICAgICAJCTxoNT48eHNs
OnZhbHVlLW9mIHNlbGVjdD0iQGxhbmciLz48L2g1PgotICAgICAgICAJPC94c2w6d2hlbj4KLSAg
ICAgICAgCTx4c2w6b3RoZXJ3aXNlPgotCSAgICAgICAJCTxoNT5Db2RlIGV4YW1wbGU8L2g1Pgot
ICAgICAgICAJPC94c2w6b3RoZXJ3aXNlPgotICAgIAk8L3hzbDpjaG9vc2U+Ci0gICAgICAgIDxw
cmUgY2xhc3M9ImV4YW1wbGVjb2RlIj48eHNsOmFwcGx5LXRlbXBsYXRlcy8+PC9wcmU+Ci0gICAg
PC9kaXY+Ci08L3hzbDp0ZW1wbGF0ZT4KLQotPCEtLXdlYmlkbCA6IGxpdGVyYWwgV2ViIElETCBm
cm9tIGlucHV0LS0+Ci08eHNsOnRlbXBsYXRlIG1hdGNoPSJ3ZWJpZGwiPgotICAgIDxoNT5XZWJJ
REw8L2g1PgotICAgIDxwcmUgY2xhc3M9IndlYmlkbCI+PHhzbDphcHBseS10ZW1wbGF0ZXMvPjwv
cHJlPgotPC94c2w6dGVtcGxhdGU+Ci0KLTwhLS1hdXRob3ItLT4KLTx4c2w6dGVtcGxhdGUgbWF0
Y2g9ImF1dGhvciI+Ci0gICAgPGxpIGNsYXNzPSJhdXRob3IiPjx4c2w6YXBwbHktdGVtcGxhdGVz
Lz48L2xpPgotPC94c2w6dGVtcGxhdGU+Ci0KLTwhLS12ZXJzaW9uLS0+Ci08eHNsOnRlbXBsYXRl
IG1hdGNoPSJ2ZXJzaW9uIj4KLSAgICA8ZGl2IGNsYXNzPSJ2ZXJzaW9uIj4KLSAgICAgICAgPGgy
PgotICAgICAgICAgICAgVmVyc2lvbjogPHhzbDphcHBseS10ZW1wbGF0ZXMvPgotICAgICAgICA8
L2gyPgotICAgIDwvZGl2PgotPC94c2w6dGVtcGxhdGU+Ci0KLTwhLS1hcGktZmVhdHVyZS0tPgot
PHhzbDp0ZW1wbGF0ZSBtYXRjaD0iYXBpLWZlYXR1cmUiPgotICAgIDxkdD4KLSAgICAgICAgPHhz
bDp2YWx1ZS1vZiBzZWxlY3Q9IkBpZGVudGlmaWVyIi8+Ci0gICAgPC9kdD4KLSAgICA8ZGQ+Ci0g
ICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzLz4KLSAgICA8L2RkPgotPC94c2w6dGVtcGxhdGU+
Ci0KLTwhLS1wYXJhbS0tPgotPHhzbDp0ZW1wbGF0ZSBtYXRjaD0icGFyYW0iPgotICAgIDxsaT4K
LSAgICAgICAgPGNvZGU+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBpZGVudGlmaWVyIi8+PC9jb2Rl
PjoKLSAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMvPgotICAgIDwvbGk+Ci08L3hzbDp0ZW1w
bGF0ZT4KLQotPCEtLWRlZi1pbnN0YW50aWF0ZWQuCi0gICAgVGhpcyBhc3N1bWVzIHRoYXQgb25s
eSBvbmUgaW50ZXJmYWNlIGluIHRoZSBtb2R1bGUgaGFzIGEgZGVmLWluc3RhbnRpYXRlZCwKLSAg
ICBhbmQgdGhhdCBpbnRlcmZhY2UgY29udGFpbnMganVzdCBvbmUgYXR0cmlidXRlLi0tPgotPHhz
bDp0ZW1wbGF0ZSBtYXRjaD0iZGVmLWluc3RhbnRpYXRlZCI+Ci0gICAgPHhzbDp2YXJpYWJsZSBu
YW1lPSJpZmFjZW5hbWUiIHNlbGVjdD0iLi4vLi4vQG5hbWUiLz4KLSAgICA8cD4KLSAgICAgICAg
PHhzbDpjaG9vc2U+Ci0gICAgICAgICAgICA8eHNsOndoZW4gdGVzdD0iY291bnQoZGVzY3JpcHRp
dmUvYXBpLWZlYXR1cmUpPTEiPgotICAgICAgICAgICAgICAgIFdoZW4gdGhlIGZlYXR1cmUKLSAg
ICAgICAgICAgIDwveHNsOndoZW4+Ci0gICAgICAgICAgICA8eHNsOm90aGVyd2lzZT4KLSAgICAg
ICAgICAgICAgICBXaGVuIGFueSBvZiB0aGUgZmVhdHVyZXMKLSAgICAgICAgICAgIDwveHNsOm90
aGVyd2lzZT4KLSAgICAgICAgPC94c2w6Y2hvb3NlPgotICAgIDwvcD4KLSAgICA8dWw+Ci0gICAg
ICAgIDx4c2w6Zm9yLWVhY2ggc2VsZWN0PSJkZXNjcmlwdGl2ZS9hcGktZmVhdHVyZSI+Ci0gICAg
ICAgICAgICA8bGk+PGNvZGU+Ci0gICAgICAgICAgICAgICAgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9
IkBpZGVudGlmaWVyIi8+Ci0gICAgICAgICAgICA8L2NvZGU+PC9saT4KLSAgICAgICAgPC94c2w6
Zm9yLWVhY2g+Ci0gICAgPC91bD4KLSAgICA8cD4KLSAgICAgICAgaXMgc3VjY2Vzc2Z1bGx5IHJl
cXVlc3RlZCwgdGhlIGludGVyZmFjZQotICAgICAgICA8Y29kZT48eHNsOmFwcGx5LXRlbXBsYXRl
cyBzZWxlY3Q9Ii4uLy4uL0F0dHJpYnV0ZS9UeXBlIi8+PC9jb2RlPgotICAgICAgICBpcyBpbnN0
YW50aWF0ZWQsIGFuZCB0aGUgcmVzdWx0aW5nIG9iamVjdCBhcHBlYXJzIGluIHRoZSBnbG9iYWwK
LSAgICAgICAgbmFtZXNwYWNlIGFzCi0gICAgICAgIDxjb2RlPjx4c2w6dmFsdWUtb2Ygc2VsZWN0
PSIuLi8uLi8uLi9JbXBsZW1lbnRzW0BuYW1lMj0kaWZhY2VuYW1lXS9AbmFtZTEiLz4uPHhzbDp2
YWx1ZS1vZiBzZWxlY3Q9Ii4uLy4uL0F0dHJpYnV0ZS9AbmFtZSIvPjwvY29kZT4uCi0gICAgPC9w
PgotPC94c2w6dGVtcGxhdGU+Ci0KLQotCi08IS0taHRtbCBlbGVtZW50cy0tPgotPHhzbDp0ZW1w
bGF0ZSBtYXRjaD0iYXxifGJyfGRkfGRsfGR0fGVtfGxpfHB8dGFibGV8dGR8dGh8dHJ8dWwiPgot
ICAgIDx4c2w6ZWxlbWVudCBuYW1lPSJ7bmFtZSgpfSI+PHhzbDpmb3ItZWFjaCBzZWxlY3Q9IkAq
Ij48eHNsOmF0dHJpYnV0ZSBuYW1lPSJ7bmFtZSgpfSI+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9Ii4i
Lz48L3hzbDphdHRyaWJ1dGU+PC94c2w6Zm9yLWVhY2g+PHhzbDphcHBseS10ZW1wbGF0ZXMvPjwv
eHNsOmVsZW1lbnQ+Ci08L3hzbDp0ZW1wbGF0ZT4KLQotPHhzbDp0ZW1wbGF0ZSBuYW1lPSJzdW1t
YXJ5Ij4KLSAgPHRhYmxlIGNsYXNzPSJzdW1tYXJ5Ij4KLSAgICA8dGhlYWQ+Ci0gICAgICA8dHI+
PHRoPkludGVyZmFjZTwvdGg+PHRoPk1ldGhvZDwvdGg+PC90cj4KLSAgICA8L3RoZWFkPgotICAg
IDx0Ym9keT4KLSAgICAgIDx4c2w6Zm9yLWVhY2ggc2VsZWN0PSJJbnRlcmZhY2VbZGVzY3JpcHRp
dmVdIj4KLSAgICAgICAgPHRyPjx0ZD48YSBocmVmPSIje0BpZH0iPjx4c2w6dmFsdWUtb2Ygc2Vs
ZWN0PSJAbmFtZSIvPjwvYT48L3RkPgotICAgICAgICA8dGQ+Ci0gICAgICAgICAgPHhzbDpmb3It
ZWFjaCBzZWxlY3Q9Ik9wZXJhdGlvbiI+Ci0KLSAgICAgICAgICAgIDx4c2w6YXBwbHktdGVtcGxh
dGVzIHNlbGVjdD0iVHlwZSIvPgotICAgICAgICAgICAgPHhzbDp0ZXh0PiA8L3hzbDp0ZXh0Pgot
ICAgICAgICAgICAgPGEgaHJlZj0iI3tjb25jYXQoQG5hbWUsZ2VuZXJhdGUtaWQoLikpfSI+PHhz
bDp2YWx1ZS1vZiBzZWxlY3Q9IkBuYW1lIi8+PC9hPgotICAgICAgICAgICAgPHhzbDp0ZXh0Pig8
L3hzbDp0ZXh0PgotICAgICAgICAgICAgPHhzbDpmb3ItZWFjaCBzZWxlY3Q9IkFyZ3VtZW50TGlz
dC9Bcmd1bWVudCI+Ci0gICAgICAgICAgICAgIDx4c2w6dmFyaWFibGUgbmFtZT0idHlwZSI+PHhz
bDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJUeXBlIi8+PC94c2w6dmFyaWFibGU+Ci0gICAgICAg
ICAgICAgIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJjb25jYXQobm9ybWFsaXplLXNwYWNlKCR0eXBl
KSwnICcsQG5hbWUpIi8+Ci0gICAgICAgICAgICAgIDx4c2w6aWYgdGVzdD0icG9zaXRpb24oKSAh
PSBsYXN0KCkiPiwgPC94c2w6aWY+Ci0gICAgICAgICAgICA8L3hzbDpmb3ItZWFjaD4KLSAgICAg
ICAgICAgIDx4c2w6dGV4dD4pPC94c2w6dGV4dD4KLSAgICAgICAgICAgIDx4c2w6aWYgdGVzdD0i
cG9zaXRpb24oKSE9bGFzdCgpIj48YnIvPjwveHNsOmlmPgotICAgICAgICAgIDwveHNsOmZvci1l
YWNoPgotICAgICAgICA8L3RkPgotICAgICAgICA8L3RyPgotICAgICAgPC94c2w6Zm9yLWVhY2g+
Ci0gICAgPC90Ym9keT4KLSAgPC90YWJsZT4KLTwveHNsOnRlbXBsYXRlPgotCi08IS0tPHJlZj4g
ZWxlbWVudCBpbiBsaXRlcmFsIFdlYiBJREwuLS0+Ci08eHNsOnRlbXBsYXRlIG1hdGNoPSJyZWZb
QHJlZl0iPgotICAgIDxhIGhyZWY9IntAcmVmfSI+Ci0gICAgICAgIDx4c2w6YXBwbHktdGVtcGxh
dGVzLz4KLSAgICA8L2E+Ci08L3hzbDp0ZW1wbGF0ZT4KLQotPC94c2w6c3R5bGVzaGVldD4KLQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvTWFrZWZpbGUgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
d2lkbHByb2MvdGVzdC9NYWtlZmlsZQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzQw
OTM5ZTM2ZmM5YjkxN2NiZDc5YWQxMWY2OGUzNzlmMGVjZTE4OS4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9NYWtl
ZmlsZQorKysgL2Rldi9udWxsCkBAIC0xLDkxICswLDAgQEAKLSMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwotIyAk
SWQ6IE1ha2VmaWxlIDQxOCAyMDEwLTA2LTE2IDE1OjI2OjUxWiB0cHIgJAotIyBDb3B5cmlnaHQg
MjAwOSBBcGxpeCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSMgTGljZW5zZWQg
dW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7Ci0j
IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUg
TGljZW5zZS4KLSMgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0Ci0jICAg
ICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKLSMgVW5sZXNzIHJl
cXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2Fy
ZQotIyBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAi
QVMgSVMiIEJBU0lTLAotIyBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkg
S0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KLSMgU2VlIHRoZSBMaWNlbnNlIGZvciB0
aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAotIyBsaW1pdGF0
aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KLSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwotCi1VTkFNRSA9ICQoc2hl
bGwgdW5hbWUpCi1WQUxJRFRFU1RESVIgPSB2YWxpZC9pZGwKLVZBTElEVEVTVFJFRkRJUiA9IHZh
bGlkL3htbAotVkFMSURURVNUT0JKRElSID0gdmFsaWQvb2JqCi1JTlZBTElEVEVTVERJUiA9IGlu
dmFsaWQvaWRsCi1JTlZBTElEVEVTVFJFRkRJUiA9IGludmFsaWQvZXJyb3IKLUlOVkFMSURURVNU
T0JKRElSID0gaW52YWxpZC9vYmoKLQotIyBUaGUgc2V0dGluZ3Mgb2YgU1JDRElSICh3aGVyZSB0
byBmaW5kIHRoZSB4c2wgc3R5bGUgc2hlZXRzKSwgT0JKRElSICh3aGVyZSB0bwotIyBmaW5kIHdp
ZGxwcm9jIGFuZCB3aWRscHJvY3htbC5kdGQpIGFuZCBWQUxEVEVTVE9CSkRJUiAod2hlcmUgdG8g
cHV0IHRoZQotIyByZXN1bHRpbmcgWE1MIGZpbGVzKSByZWZsZWN0IHRoZSBkaXJlY3RvcnkKLSMg
c3RydWN0dXJlIG9mIHRoZSByZWxlYXNlZCB3aWRscHJvYy56aXAgZmlsZSB3aGVuIHVuemlwcGVk
LiAuLi9NYWtlZmlsZSBjYWxscwotIyB0aGlzIE1ha2VmaWxlIHdpdGggdGhlc2Ugc2V0dGluZ3Mg
b3ZlcnJpZGRlbiB0byByZWZsZWN0IHRoZSBkaXJlY3RvcnkKLSMgc3RydWN0dXJlIGluIHN2bi4K
LVNSQ0RJUiA9IC4uCi1PQkpESVIgPSAuLgotCi0jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKLSMgTGludXggY29u
ZmlndXJhdGlvbgotIwotaWZuZXEgKCwkKGZpbHRlciBMaW51eCUsICQoVU5BTUUpKSkgCi0KLUVY
RVNVRkZJWCA9Ci0KLWVsc2UKLSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwotIyBEYXJ3aW4gY29uZmlndXJhdGlv
bgotIwotaWZuZXEgKCwkKGZpbHRlciBEYXJ3aW4lLCAkKFVOQU1FKSkpIAotCi1FWEVTVUZGSVgg
PQotCi1lbHNlCi0jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKLSMgV2luZG93cyAoY3lnd2luIGJ1dCB1c2luZyBN
UyBjb21waWxlcikgY29uZmlndXJhdGlvbgotIwotaWZuZXEgKCwkKGZpbHRlciBDWUdXSU4lLCAk
KFVOQU1FKSkpIAotCi1FWEVTVUZGSVggPSAuZXhlCi0KLWVuZGlmCi1lbmRpZgotZW5kaWYKLQot
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjCi0jIENvbW1vbiBtYWtlZmlsZQotIwotV0lETFBST0MgPSAkKE9CSkRJ
Uikvd2lkbHByb2MkKEVYRVNVRkZJWCkKLURURCA9ICQoT0JKRElSKS93aWRscHJvY3htbC5kdGQK
LQotVkFMSURfV0lETFMgPSAkKHBhdHN1YnN0ICQoVkFMSURURVNURElSKS8lLCAlLCAkKHdpbGRj
YXJkICQoVkFMSURURVNURElSKS8qLndpZGwpKQotSU5WQUxJRF9XSURMUyA9ICQocGF0c3Vic3Qg
JChJTlZBTElEVEVTVERJUikvJSwgJSwgJCh3aWxkY2FyZCAkKElOVkFMSURURVNURElSKS8qLndp
ZGwpKQotCi10ZXN0IDogJChwYXRzdWJzdCAlLndpZGwsICQoVkFMSURURVNUT0JKRElSKS8lLndp
ZGxwcm9jeG1sLCAkKFZBTElEX1dJRExTKSkgJChwYXRzdWJzdCAlLndpZGwsICQoSU5WQUxJRFRF
U1RPQkpESVIpLyUudHh0LCAkKElOVkFMSURfV0lETFMpKSAkKFdJRExQUk9DKSAKLQlAZWNobyAi
JEAgcGFzcyIKLQotIyQoRVhBTVBMRVNPQkpESVIpLyUuaHRtbCA6ICQoRVhBTVBMRVNPQkpESVIp
LyUud2lkbHByb2N4bWwgJChTUkNESVIpL3dpZGxwcm9jeG1sdG9odG1sLnhzbCBNYWtlZmlsZQot
IwljcCAkKFNSQ0RJUikvd2lkbHByb2N4bWx0b2h0bWwueHNsICQoZGlyICRAKS8KLSMJeHNsdHBy
b2MgJChkaXIgJEApL3dpZGxwcm9jeG1sdG9odG1sLnhzbCAkPCA+JEAKLQotCi0kKFZBTElEVEVT
VE9CSkRJUikvJS53aWRscHJvY3htbCA6ICQoVkFMSURURVNURElSKS8lLndpZGwgJChXSURMUFJP
QykgJChEVEQpIE1ha2VmaWxlICQocGF0c3Vic3QgJS53aWRsLCAkKFZBTElEVEVTVFJFRkRJUikv
JS53aWRscHJvY3htbCwgJChWQUxJRF9XSURMUykpCi0JbWtkaXIgLXAgJChkaXIgJEApCi0JJChX
SURMUFJPQykgJDwgPiRACi0JY3AgJChPQkpESVIpL3dpZGxwcm9jeG1sLmR0ZCAkKGRpciAkQCkv
Ci0JeG1sbGludCAtLW5vb3V0IC0tZHRkdmFsaWQgJChEVEQpICRACi0JZGlmZiAkQCAkKFZBTElE
VEVTVFJFRkRJUikvYGJhc2VuYW1lICRAYAotCi0kKElOVkFMSURURVNUT0JKRElSKS8lLnR4dCA6
ICQoSU5WQUxJRFRFU1RESVIpLyUud2lkbCAkKFdJRExQUk9DKSBNYWtlZmlsZSAkKHBhdHN1YnN0
ICUud2lkbCwgJChJTlZBTElEVEVTVFJFRkRJUikvJS50eHQsICQoSU5WQUxJRF9XSURMUykpCi0J
bWtkaXIgLXAgJChkaXIgJEApCi0JLSQoV0lETFBST0MpICQ8ICA+JEAgMj4mMQotCWRpZmYgJEAg
JChJTlZBTElEVEVTVFJFRkRJUikvYGJhc2VuYW1lICRAYAotCi0KLQotLkRFTEVURV9PTl9FUlJP
UjoKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvaW52YWxpZC9lcnJvci9l
bnVtLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L2ludmFsaWQvZXJyb3IvZW51bS50eHQK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZmOGJhOGVlZjQ2MWUzYWYyYjU4NWYzZGYx
MGEyOGE5ZTk2ODM0OWIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvaW52YWxpZC9lcnJvci9lbnVtLnR4dAorKysg
L2Rldi9udWxsCkBAIC0xICswLDAgQEAKLWludmFsaWQvaWRsL2VudW0ud2lkbDogMTogYXQgJzEn
OiBleHBlY3RlZCBzdHJpbmcgaW4gZW51bQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9j
L3Rlc3QvaW52YWxpZC9lcnJvci9tb2R1bGUudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3Qv
aW52YWxpZC9lcnJvci9tb2R1bGUudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3
ZTUwNDMxNmU1MTdkOTlhN2VkOTA2YTFlYzM5ZWNlMGE1ODE2N2U4Li4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L2lu
dmFsaWQvZXJyb3IvbW9kdWxlLnR4dAorKysgL2Rldi9udWxsCkBAIC0xICswLDAgQEAKLWludmFs
aWQvaWRsL21vZHVsZS53aWRsOiAyOiBhdCAnZ2Z4JzogZXhwZWN0ZWQgJ2ltcGxlbWVudHMnCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9pbnZhbGlkL2Vycm9yL25vbm51bGxh
YmxlYW55LnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L2ludmFsaWQvZXJyb3Ivbm9ubnVs
bGFibGVhbnkudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlZWViMjVmMTJhYjA5
NzM5MTA3MjgxNTdhZWM1OGMzNzg3YjQ4Mzk0Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L2ludmFsaWQvZXJyb3Iv
bm9ubnVsbGFibGVhbnkudHh0CisrKyAvZGV2L251bGwKQEAgLTEgKzAsMCBAQAotaW52YWxpZC9p
ZGwvbm9ubnVsbGFibGVhbnkud2lkbDogMjogYXQgJz8nOiBleHBlY3RlZCBpZGVudGlmaWVyCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9pbnZhbGlkL2Vycm9yL25vbm51bGxh
Ymxlb2JqZWN0cy50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9pbnZhbGlkL2Vycm9yL25v
bm51bGxhYmxlb2JqZWN0cy50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDUyNjYy
MjU5OWI3MTVmNzk4MzExYzg4ZDQxM2RkYTJiMWMyOTk5NmYuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvaW52YWxp
ZC9lcnJvci9ub25udWxsYWJsZW9iamVjdHMudHh0CisrKyAvZGV2L251bGwKQEAgLTEgKzAsMCBA
QAotaW52YWxpZC9pZGwvbm9ubnVsbGFibGVvYmplY3RzLndpZGw6IDQ6IGF0ICc/JzogZXhwZWN0
ZWQgaWRlbnRpZmllcgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvaW52YWxp
ZC9lcnJvci9zY29wZWRuYW1lLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L2ludmFsaWQv
ZXJyb3Ivc2NvcGVkbmFtZS50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDU2NDY2
MDhjZDM3MTEyMmFlMzRiZmNhMTM2MjJhMTZhZDUzMTI3MWYuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvaW52YWxp
ZC9lcnJvci9zY29wZWRuYW1lLnR4dAorKysgL2Rldi9udWxsCkBAIC0xICswLDAgQEAKLWludmFs
aWQvaWRsL3Njb3BlZG5hbWUud2lkbDogMjogYXQgJzonOiBleHBlY3RlZCBpZGVudGlmaWVyCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9pbnZhbGlkL2Vycm9yL3NlcXVlbmNl
QXNBdHRyaWJ1dGUudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvaW52YWxpZC9lcnJvci9z
ZXF1ZW5jZUFzQXR0cmlidXRlLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTU5
NjBjYjhiNWYzNjViYzU5YzczYmY4ZDFhY2E2ZDcwNTRlMjI1NS4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9pbnZh
bGlkL2Vycm9yL3NlcXVlbmNlQXNBdHRyaWJ1dGUudHh0CisrKyAvZGV2L251bGwKQEAgLTEgKzAs
MCBAQAotaW52YWxpZC9pZGwvc2VxdWVuY2VBc0F0dHJpYnV0ZS53aWRsOiAyOiBhdCAnc2VxdWVu
Y2UnOiBleHBlY3RlZCB0eXBlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9p
bnZhbGlkL2Vycm9yL3N0cmluZ2NvbnN0YW50cy5pZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVz
dC9pbnZhbGlkL2Vycm9yL3N0cmluZ2NvbnN0YW50cy5pZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDE1NWE4OTJjNTVhZGFjOTUyNzhhMjQ3NjY0NDVkMjhkYzVmMWFhOTIuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxw
cm9jL3Rlc3QvaW52YWxpZC9lcnJvci9zdHJpbmdjb25zdGFudHMuaWRsCisrKyAvZGV2L251bGwK
QEAgLTEgKzAsMCBAQAotaW52YWxpZC9pZGwvc3RyaW5nY29uc3RhbnRzLmlkbDogMjogYXQgJ0RP
TVN0cmluZyc6IGV4cGVjdGVkIGFjY2VwdGFibGUgY29uc3RhbnQgdHlwZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvaW52YWxpZC9lcnJvci93M2MtaW1wb3J0LmxvZyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC93aWRscHJvYy90ZXN0L2ludmFsaWQvZXJyb3IvdzNjLWltcG9ydC5sb2cKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZjZTg1NWNhYjY5MTc5NGJkMzQxMWJmZjU1NjQ3MjNi
MWQ5N2M3MDMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvaW52YWxpZC9lcnJvci93M2MtaW1wb3J0LmxvZworKysg
L2Rldi9udWxsCkBAIC0xLDI0ICswLDAgQEAKLVRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3
ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgotRG8gTk9UIG1vZGlmeSB0aGVz
ZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVl
c3Qgb24gdGhlIFczQyBDU1Mgb3IgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20vdzNj
L2Nzc3dnLXRlc3QKLQlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cwot
Ci1UaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0
byByZWltcG9ydAotCi1EbyBOT1QgbW9kaWZ5IG9yIHJlbW92ZSB0aGlzIGZpbGUuCi0KLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLQotUHJvcGVydGllcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgotTm9uZQot
UHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6Ci1Ob25lCi0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0KLUxpc3Qgb2YgZmlsZXM6Ci0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvaW52YWxp
ZC9lcnJvci9lbnVtLnR4dAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L2ludmFsaWQvZXJyb3Iv
bW9kdWxlLnR4dAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L2ludmFsaWQvZXJyb3Ivbm9ubnVs
bGFibGVhbnkudHh0Ci0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvaW52YWxpZC9lcnJvci9ub25u
dWxsYWJsZW9iamVjdHMudHh0Ci0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvaW52YWxpZC9lcnJv
ci9zY29wZWRuYW1lLnR4dAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L2ludmFsaWQvZXJyb3Iv
c2VxdWVuY2VBc0F0dHJpYnV0ZS50eHQKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9pbnZhbGlk
L2Vycm9yL3N0cmluZ2NvbnN0YW50cy5pZGwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJv
Yy90ZXN0L2ludmFsaWQvaWRsL2VudW0ud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L2lu
dmFsaWQvaWRsL2VudW0ud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzM1NWMz
MjUxYzAwODQzNTJhMzJjNTYwYTE3NGUwMGJkZWQwODEwOS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9pbnZhbGlk
L2lkbC9lbnVtLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSArMCwwIEBACi1lbnVtIGZvbyB7IDEs
IDIsIDN9OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC93aWRscHJvYy90ZXN0L2ludmFsaWQvaWRsL21vZHVsZS53aWRsIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxw
cm9jL3Rlc3QvaW52YWxpZC9pZGwvbW9kdWxlLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IGE0Yzc5ZmRmMTU1ZWE1NThhZWVhYzUxMTMzNDVjMzAwNzQ1ZDYyODEuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9j
L3Rlc3QvaW52YWxpZC9pZGwvbW9kdWxlLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSwyNSArMCww
IEBACi0vLyBFeHRyYWN0ZWQgZnJvbSBodHRwOi8vZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJJ
REwvIG9uIDIwMTEtMDUtMDYKLW1vZHVsZSBnZnggewotCi0gIG1vZHVsZSBnZW9tIHsKLSAgICBp
bnRlcmZhY2UgU2hhcGUgeyAvKiAuLi4gKi8gfTsKLSAgICBpbnRlcmZhY2UgUmVjdGFuZ2xlIDog
U2hhcGUgeyAvKiAuLi4gKi8gfTsKLSAgICBpbnRlcmZhY2UgUGF0aCA6IFNoYXBlIHsgLyogLi4u
ICovIH07Ci0gIH07Ci0KLSAgaW50ZXJmYWNlIEdyYXBoaWNzQ29udGV4dCB7Ci0gICAgdm9pZCBm
aWxsU2hhcGUoZ2VvbTo6U2hhcGUgcyk7Ci0gICAgdm9pZCBzdHJva2VTaGFwZShnZW9tOjpTaGFw
ZSBzKTsKLSAgfTsKLX07Ci0KLW1vZHVsZSBndWkgewotCi0gIGludGVyZmFjZSBXaWRnZXQgeyAv
KiAuLi4gKi8gIH07Ci0KLSAgaW50ZXJmYWNlIFdpbmRvdyA6IFdpZGdldCB7Ci0gICAgZ2Z4OjpH
cmFwaGljc0NvbnRleHQgZ2V0R3JhcGhpY3NDb250ZXh0KCk7Ci0gIH07Ci0KLSAgaW50ZXJmYWNl
IEJ1dHRvbiA6IFdpZGdldCB7IC8qIC4uLiAqLyAgfTsKLX07ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvaW52YWxpZC9pZGwv
bm9ubnVsbGFibGVhbnkud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L2ludmFsaWQvaWRs
L25vbm51bGxhYmxlYW55LndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDM4OTU3
NjU1NTIzNmQ5MTFjYTdjNmI3YmJiNTY2MDVmZTAxMDE4MTQuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvaW52YWxp
ZC9pZGwvbm9ubnVsbGFibGVhbnkud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDMgKzAsMCBAQAot
aW50ZXJmYWNlIE5vbk51bGxhYmxlIHsKLSAgYXR0cmlidXRlIGFueT8gZm9vOwotfTsKXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVz
dC9pbnZhbGlkL2lkbC9ub25udWxsYWJsZW9iamVjdHMud2lkbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJv
Yy90ZXN0L2ludmFsaWQvaWRsL25vbm51bGxhYmxlb2JqZWN0cy53aWRsCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAxZGVhYzVhZWVjOTA4MTUxMDJiZjQxZmM0MzdkYTJjOTYyZWFlZmFj
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC93aWRscHJvYy90ZXN0L2ludmFsaWQvaWRsL25vbm51bGxhYmxlb2JqZWN0cy53aWRsCisrKyAv
ZGV2L251bGwKQEAgLTEsNSArMCwwIEBACi1pbnRlcmZhY2UgRm9vIHt9OwotCi1pbnRlcmZhY2Ug
Tm9uTnVsbGFibGUgewotICBhdHRyaWJ1dGUgRm9vPz8gZm9vOwotfTsKXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9pbnZhbGlk
L2lkbC9yYWlzZXMud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L2ludmFsaWQvaWRsL3Jh
aXNlcy53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmZjY1NTIyZjJiMzM1NTdl
NTIzNjg2ZWI2MzMyZTEzYTdmZDRhMDc5Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L2ludmFsaWQvaWRsL3JhaXNl
cy53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsMTggKzAsMCBAQAotLy8gZ2V0cmFpc2VzIGFuZCBz
ZXRyYWlzZXMgYXJlIG5vdCBsb25nZXIgdmFsaWQgV2ViIElETAotaW50ZXJmYWNlIFBlcnNvbiB7
Ci0KLSAgLy8gQW4gYXR0cmlidXRlIHRoYXQgY2FuIHJhaXNlIGFuIGV4Y2VwdGlvbiBpZiBpdCBp
cyBzZXQgdG8gYW4gaW52YWxpZCB2YWx1ZS4KLSAgYXR0cmlidXRlIERPTVN0cmluZyBuYW1lIHNl
dHJhaXNlcyAoSW52YWxpZE5hbWUpOwotCi0gIC8vIEFuIGF0dHJpYnV0ZSB3aG9zZSB2YWx1ZSBj
YW5ub3QgYmUgYXNzaWduZWQgdG8sIGFuZCB3aGljaCBjYW4gcmFpc2UgYW4KLSAgLy8gZXhjZXB0
aW9uIHNvbWUgY2lyY3Vtc3RhbmNlcy4KLSAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBw
ZXROYW1lIGdldHJhaXNlcyAoTm9TdWNoUGV0KTsKLX07Ci0KLWV4Y2VwdGlvbiBTb21lRXhjZXB0
aW9uIHsKLX07Ci0KLWludGVyZmFjZSBFeGNlcHRpb25UaHJvd2VyIHsKLSAgLy8gVGhpcyBhdHRy
aWJ1dGUgYWx3YXlzIHRocm93cyBhIFNvbWVFeGNlcHRpb24gYW5kIG5ldmVyIHJldHVybnMgYSB2
YWx1ZS4KLSAgYXR0cmlidXRlIGxvbmcgdmFsdWVPZiBnZXRyYWlzZXMoU29tZUV4Y2VwdGlvbik7
Ci19OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93
aWRscHJvYy90ZXN0L2ludmFsaWQvaWRsL3Njb3BlZG5hbWUud2lkbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRs
cHJvYy90ZXN0L2ludmFsaWQvaWRsL3Njb3BlZG5hbWUud2lkbApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggY2ZjYjFjY2M5Mzk1Y2Q0MmVkNTE5MmZlNGVhMDk0NTUwZjczNTRlZS4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lk
bHByb2MvdGVzdC9pbnZhbGlkL2lkbC9zY29wZWRuYW1lLndpZGwKKysrIC9kZXYvbnVsbApAQCAt
MSwyICswLDAgQEAKLS8vIHNjb3BlZCBuYW1lcyBhcmUgbm8gbG9uZ2VyIHZhbGlkIGluIFdlYklE
TAotICB0eXBlZGVmIGdmeDo6Z2VvbTo6Z2VvbTJkOjpQb2ludCBQb2ludDsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L2ludmFsaWQvaWRsL3NlcXVlbmNlQXNBdHRyaWJ1dGUu
d2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L2ludmFsaWQvaWRsL3NlcXVlbmNlQXNBdHRy
aWJ1dGUud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzIzZGE4MmFjMjIxOThh
YTU3ZTFkYWJiNjRmYTdiYTEyNWM3NTk5Ni4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9pbnZhbGlkL2lkbC9zZXF1
ZW5jZUFzQXR0cmlidXRlLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSwzICswLDAgQEAKLWludGVy
ZmFjZSBzZXF1ZW5jZUFzQXR0cmlidXRlIHsKLSAgYXR0cmlidXRlIHNlcXVlbmNlPHNob3J0PiBp
bnZhbGlkOwotfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvd2lkbHByb2MvdGVzdC9pbnZhbGlkL2lkbC9zcGVjaWFsLW9taXR0YWJsZS53aWRsIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvaW52YWxpZC9pZGwvc3BlY2lhbC1vbWl0dGFibGUud2lk
bApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYmRmYmZhNzA5NzMzZjlmYWE2NjcyYWMz
OTUzYjQ2NzNmMjgzMDkyZi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9pbnZhbGlkL2lkbC9zcGVjaWFsLW9taXR0
YWJsZS53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsOCArMCwwIEBACi0vLyBFeHRyYWN0ZWQgZnJv
bSBodHRwOi8vZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJJREwvIG9uIDIwMTEtMDUtMDYKLS8v
IG9taXR0YWJsZSBpcyBubyBsb25nZXIgYSByZWNvZ25pemVkIGtleXdvYXJkIGFzIG9mIDIwMTEw
OTA1Ci1pbnRlcmZhY2UgRGljdGlvbmFyeSB7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25l
ZCBsb25nIHByb3BlcnR5Q291bnQ7Ci0KLSAgb21pdHRhYmxlIGdldHRlciBmbG9hdCBnZXRQcm9w
ZXJ0eShET01TdHJpbmcgcHJvcGVydHlOYW1lKTsKLSAgb21pdHRhYmxlIHNldHRlciB2b2lkIHNl
dFByb3BlcnR5KERPTVN0cmluZyBwcm9wZXJ0eU5hbWUsIGZsb2F0IHByb3BlcnR5VmFsdWUpOwot
fTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lk
bHByb2MvdGVzdC9pbnZhbGlkL2lkbC9zdHJpbmdjb25zdGFudHMuaWRsIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dp
ZGxwcm9jL3Rlc3QvaW52YWxpZC9pZGwvc3RyaW5nY29uc3RhbnRzLmlkbApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggNDRmZDNmZjEzNmVlNTY3MTYzN2QwMmNiODA5NjRkZGJhMDkyYTY1
OC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvd2lkbHByb2MvdGVzdC9pbnZhbGlkL2lkbC9zdHJpbmdjb25zdGFudHMuaWRsCisrKyAvZGV2
L251bGwKQEAgLTEsMyArMCwwIEBACi1pbnRlcmZhY2UgVXRpbCB7Ci0gIGNvbnN0IERPTVN0cmlu
ZyBoZWxsbyA9ICJ3b3JsZCI7Ci19OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L2ludmFsaWQvaWRsL3czYy1pbXBvcnQubG9n
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvaW52YWxpZC9pZGwvdzNjLWltcG9ydC5sb2cKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGMxZTFjMjI0OGNlMjZhNWVjZWUyOWVkNGYyOTM4
NDU3Yzk0ZjIzYWQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvaW52YWxpZC9pZGwvdzNjLWltcG9ydC5sb2cKKysr
IC9kZXYvbnVsbApAQCAtMSwyNiArMCwwIEBACi1UaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkg
d2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KLURvIE5PVCBtb2RpZnkgdGhl
c2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1
ZXN0IG9uIHRoZSBXM0MgQ1NTIG9yIFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3cz
Yy9jc3N3Zy10ZXN0Ci0JaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMK
LQotVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQg
dG8gcmVpbXBvcnQKLQotRG8gTk9UIG1vZGlmeSBvciByZW1vdmUgdGhpcyBmaWxlLgotCi0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0KLVByb3BlcnRpZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKLU5vbmUK
LVByb3BlcnR5IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgotTm9uZQotLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tCi1MaXN0IG9mIGZpbGVzOgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L2ludmFs
aWQvaWRsL2VudW0ud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L2ludmFsaWQvaWRsL21v
ZHVsZS53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvaW52YWxpZC9pZGwvbm9ubnVsbGFi
bGVhbnkud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L2ludmFsaWQvaWRsL25vbm51bGxh
Ymxlb2JqZWN0cy53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvaW52YWxpZC9pZGwvcmFp
c2VzLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9pbnZhbGlkL2lkbC9zY29wZWRuYW1l
LndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9pbnZhbGlkL2lkbC9zZXF1ZW5jZUFzQXR0
cmlidXRlLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9pbnZhbGlkL2lkbC9zcGVjaWFs
LW9taXR0YWJsZS53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvaW52YWxpZC9pZGwvc3Ry
aW5nY29uc3RhbnRzLmlkbApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFs
aWQvaWRsL2FsbG93YW55LndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwv
YWxsb3dhbnkud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjM0M2JiOTYzNzRm
OTg2MTcyYjgwMGZmY2M0NDNiMjk1OWEwY2RhNS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvYWxs
b3dhbnkud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDYgKzAsMCBAQAotLy8gRXh0cmFjdGVkIGZy
b20gaHR0cDovL2Rldi53My5vcmcvMjAwNi93ZWJhcGkvV2ViSURMLyBvbiAyMDExLTA1LTA2Ci1p
bnRlcmZhY2UgQiB7Ci0gIHZvaWQgZygpOwotICB2b2lkIGcoQiBiKTsKLSAgdm9pZCBnKFtBbGxv
d0FueV0gRE9NU3RyaW5nIHMpOwotfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvYXJyYXkud2lkbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9hcnJheS53aWRsCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAyMmUyMWZiNjU2NDczOGJkNTY4MzBjZTAzMDBkYTM4OWNlMDU3NGJm
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9hcnJheS53aWRsCisrKyAvZGV2L251bGwKQEAgLTEs
NSArMCwwIEBACi0vLyBFeHRyYWN0ZWQgZnJvbSBodHRwOi8vZGV2LnczLm9yZy8yMDA2L3dlYmFw
aS9XZWJJREwvIG9uIDIwMTEtMDUtMDYKLVtDb25zdHJ1Y3Rvcl0KLWludGVyZmFjZSBMb3R0ZXJ5
UmVzdWx0cyB7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBzaG9ydFtdW10gbnVtYmVy
czsKLX07ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL2F0dHJpYnV0ZXMud2lkbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRs
cHJvYy90ZXN0L3ZhbGlkL2lkbC9hdHRyaWJ1dGVzLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDdlMWQ2OTFjYmUyOGFmZGM1ODA4MmE3ZmQ4MWNiZGI0ZjM3Y2Y0NTYuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxw
cm9jL3Rlc3QvdmFsaWQvaWRsL2F0dHJpYnV0ZXMud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDE0
ICswLDAgQEAKLS8vIEV4dHJhY3RlZCBmcm9tIGh0dHA6Ly9kZXYudzMub3JnLzIwMDYvd2ViYXBp
L1dlYklETC8gb24gMjAxMS0wNS0wNgotZXhjZXB0aW9uIEludmFsaWROYW1lIHsKLSAgRE9NU3Ry
aW5nIHJlYXNvbjsKLX07Ci0KLWV4Y2VwdGlvbiBOb1N1Y2hQZXQgeyB9OwotCi1pbnRlcmZhY2Ug
UGVyc29uIHsKLQotICAvLyBBIHNpbXBsZSBhdHRyaWJ1dGUgdGhhdCBjYW4gYmUgc2V0IHRvIGFu
eSB2YWx1ZSB0aGUgcmFuZ2UgYW4gdW5zaWduZWQKLSAgLy8gc2hvcnQgY2FuIHRha2UuCi0gIGF0
dHJpYnV0ZSB1bnNpZ25lZCBzaG9ydCBhZ2U7Ci0KLX07ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL2NhbGxi
YWNrLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvY2FsbGJhY2sud2lk
bApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDkyZjZhMThjMGE1MzFiY2JmOTg5NWU4
MTA5YWVkMGI3YTFlY2ZkNC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvY2FsbGJhY2sud2lkbAor
KysgL2Rldi9udWxsCkBAIC0xLDUgKzAsMCBAQAotY2FsbGJhY2sgQXN5bmNPcGVyYXRpb25DYWxs
YmFjayA9IHZvaWQgKERPTVN0cmluZyBzdGF0dXMpOwotCi1jYWxsYmFjayBpbnRlcmZhY2UgRXZl
bnRIYW5kbGVyIHsKLSAgdm9pZCBldmVudE9jY3VycmVkKERPTVN0cmluZyBkZXRhaWxzKTsKLX07
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxw
cm9jL3Rlc3QvdmFsaWQvaWRsL2NhbGxlci53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3Qv
dmFsaWQvaWRsL2NhbGxlci53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5MmFj
YjFjMDE3NjMxZjA0NzYyZjhkNjhlMDQ2MmUxMGQzNzM5ZGFkLi4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlk
L2lkbC9jYWxsZXIud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDUgKzAsMCBAQAotLy8gRXh0cmFj
dGVkIGZyb20gaHR0cDovL2Rldi53My5vcmcvMjAwNi93ZWJhcGkvV2ViSURMLyBvbiAyMDExLTA1
LTA2Ci1pbnRlcmZhY2UgTnVtYmVyUXVhZHJ1cGxlciB7Ci0gIC8vIFRoaXMgb3BlcmF0aW9uIHNp
bXBseSByZXR1cm5zIGZvdXIgdGltZXMgdGhlIGdpdmVuIG51bWJlciB4LgotICBsZWdhY3ljYWxs
ZXIgZmxvYXQgY29tcHV0ZShmbG9hdCB4KTsKLX07ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL2NvbnN0YW50
cy53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL2NvbnN0YW50cy53aWRs
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1ZTI4YWU5YzExNmE5ZDkyNjJlYTllNTll
NWI5NTM1MGExY2U2MTNmLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9jb25zdGFudHMud2lkbAor
KysgL2Rldi9udWxsCkBAIC0xLDE4ICswLDAgQEAKLS8vIEV4dHJhY3RlZCBmcm9tIGh0dHA6Ly9k
ZXYudzMub3JnLzIwMDYvd2ViYXBpL1dlYklETC8gb24gMjAxMS0wNS0wNgotaW50ZXJmYWNlIFV0
aWwgewotICBjb25zdCBib29sZWFuIERFQlVHID0gZmFsc2U7Ci0gIGNvbnN0IHNob3J0IG5lZ2F0
aXZlID0gLTE7Ci0gIGNvbnN0IG9jdGV0IExGID0gMTA7Ci0gIGNvbnN0IHVuc2lnbmVkIGxvbmcg
QklUX01BU0sgPSAweDAwMDBmYzAwOwotICBjb25zdCBmbG9hdCBBVk9HQURSTyA9IDYuMDIyZTIz
OwotICBjb25zdCB1bnJlc3RyaWN0ZWQgZmxvYXQgc29iaWcgPSBJbmZpbml0eTsKLSAgY29uc3Qg
dW5yZXN0cmljdGVkIGRvdWJsZSBtaW51c29uZWRpdmlkZWRieXplcm8gPSAtSW5maW5pdHk7Ci0g
IGNvbnN0IHNob3J0IG5vdGFudW1iZXIgPSBOYU47Ci19OwotCi1leGNlcHRpb24gRXJyb3Igewot
ICBjb25zdCBzaG9ydCBFUlJfVU5LTk9XTiA9IDA7Ci0gIGNvbnN0IHNob3J0IEVSUl9PVVRfT0Zf
TUVNT1JZID0gMTsKLQotICBzaG9ydCBlcnJvckNvZGU7Ci19OwpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9j
b25zdHJ1Y3Rvci53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL2NvbnN0
cnVjdG9yLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGY5M2VjMDhhNmU2Zjgx
YmRhMDk0NjFmYjY0OTEyMDRmYzlkODRmMGYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL2NvbnN0
cnVjdG9yLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSw5ICswLDAgQEAKLS8vIEV4dHJhY3RlZCBm
cm9tIGh0dHA6Ly9kZXYudzMub3JnLzIwMDYvd2ViYXBpL1dlYklETC8gb24gMjAxMS0wNS0wNgot
W0NvbnN0cnVjdG9yLAotIENvbnN0cnVjdG9yKGZsb2F0IHJhZGl1cyldCi1pbnRlcmZhY2UgQ2ly
Y2xlIHsKLSAgYXR0cmlidXRlIGZsb2F0IHI7Ci0gIGF0dHJpYnV0ZSBmbG9hdCBjeDsKLSAgYXR0
cmlidXRlIGZsb2F0IGN5OwotICByZWFkb25seSBhdHRyaWJ1dGUgZmxvYXQgY2lyY3VtZmVyZW5j
ZTsKLX07ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL2RpY3Rpb25hcnktaW5oZXJpdHMud2lkbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9kaWN0aW9uYXJ5LWluaGVyaXRzLndpZGwKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ4ZjhhMGZkY2ViNmMyNGIyZGZkZmJkMmM1MzQz
OWU2NTA1NGFhN2YuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL2RpY3Rpb25hcnktaW5oZXJpdHMu
d2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDkgKzAsMCBAQAotZGljdGlvbmFyeSBQYWludE9wdGlv
bnMgewotICBET01TdHJpbmc/IGZpbGxQYXR0ZXJuID0gImJsYWNrIjsKLSAgRE9NU3RyaW5nPyBz
dHJva2VQYXR0ZXJuID0gbnVsbDsKLSAgUG9pbnQgcG9zaXRpb247Ci19OwotCi1kaWN0aW9uYXJ5
IFdldFBhaW50T3B0aW9ucyA6IFBhaW50T3B0aW9ucyB7Ci0gIGZsb2F0IGh5ZHJvbWV0cnk7Ci19
OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRs
cHJvYy90ZXN0L3ZhbGlkL2lkbC9kaWN0aW9uYXJ5LndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mv
dGVzdC92YWxpZC9pZGwvZGljdGlvbmFyeS53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCBmNDZiN2JhNzgwNmFmYWZhMTgyY2I1ZGNkMzFkYzBlOGQ2YzFiNmJmLi4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90
ZXN0L3ZhbGlkL2lkbC9kaWN0aW9uYXJ5LndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSwxMSArMCww
IEBACi0vLyBFeHRyYWN0ZWQgZnJvbSBXZWIgSURMIGVkaXRvcnMgZHJhZnQgTWF5IDMxIDIwMTEK
LWRpY3Rpb25hcnkgUGFpbnRPcHRpb25zIHsKLSAgRE9NU3RyaW5nPyBmaWxsUGF0dGVybiA9ICJi
bGFjayI7Ci0gIERPTVN0cmluZz8gc3Ryb2tlUGF0dGVybiA9IG51bGw7Ci0gIFBvaW50IHBvc2l0
aW9uOwotfTsKLQotcGFydGlhbCBkaWN0aW9uYXJ5IEEgewotICBsb25nIGg7Ci0gIGxvbmcgZDsK
LX07ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dp
ZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL2RvY3VtZW50YXRpb24tZG9zLndpZGwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
d2lkbHByb2MvdGVzdC92YWxpZC9pZGwvZG9jdW1lbnRhdGlvbi1kb3Mud2lkbApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggZmI4MDExMDFmMTQ5MTBkMjZkMzJkYzg4YTU3OTM4N2FjNGM1
MDU2MC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvZG9jdW1lbnRhdGlvbi1kb3Mud2lkbAorKysg
L2Rldi9udWxsCkBAIC0xLDMzICswLDAgQEAKLS8qKgotKiBcYnJpZWYgVGVzdGluZyBkb2N1bWVu
dGF0aW9uIGZlYXR1cmVzCi0qCi0qIFRoaXMgaXMgYQotKiBzaW5nbGUgcGFyYWdyYXBoCi0qCi0q
IDxwPlRoaXMgaXMgdmFsaWQuPC9wPgotKiA8cD5UaGlzIGlzIDxlbT52YWxpZDwvZW0+LjwvcD4K
LSogPHA+VGhpcyBpcyA8Yj52YWxpZDwvYj4uPC9wPgotKiA8cD5UaGlzIGlzIDxhIGhyZWY9Jyc+
dmFsaWQ8L2E+LjwvcD4KLSogPHVsPgotKiA8bGk+VGhpczwvbGk+Ci0qIDxsaT5pczwvbGk+Ci0q
IDxsaT52YWxpZDwvbGk+Ci0qIDwvdWw+Ci0qIDxkbD4KLSogPGR0PlRoaXM8L2R0PgotKiA8ZGQ+
dmFsaWQ8L2RkPgotKiA8L2RsPgotKiA8dGFibGU+Ci0qIDx0cj4KLSogPHRkPnRoaXM8L3RkPgot
KiA8dGQ+aXM8L3RkPgotKiA8L3RyPgotKiA8dHI+Ci0qIDx0ZD52YWxpZDwvdGQ+Ci0qIDwvdHI+
Ci0qIDwvdGFibGU+Ci0qIDxwPlRoaXMgaXMgPGJyPiB2YWxpZC48L3A+Ci0qIDxwPlRoaXMgaXMg
PGJyIC8+IHZhbGlkLjwvcD4KLSogPHA+VGhpcyBpcyA8YnIvPiB2YWxpZC48L3A+Ci0qLwotaW50
ZXJmYWNlIERvY3VtZW50YXRpb24ge307ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL2RvY3VtZW50YXRpb24u
d2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9kb2N1bWVudGF0aW9uLndp
ZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwM2U5MjI2ZjY3MmMyMjIxMzczNzIx
N2U2OTM1NGZkY2NiMDUzOGUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL2RvY3VtZW50YXRpb24u
d2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDM0ICswLDAgQEAKLS8qKgotKiBcYnJpZWYgVGVzdGlu
ZyBkb2N1bWVudGF0aW9uIGZlYXR1cmVzCi0qCi0qIFRoaXMgaXMgYQotKiBzaW5nbGUgcGFyYWdy
YXBoCi0qCi0qIDxwPlRoaXMgaXMgdmFsaWQuPC9wPgotKiA8cD5UaGlzIGlzIDxlbT52YWxpZDwv
ZW0+LjwvcD4KLSogPHA+VGhpcyBpcyA8Yj52YWxpZDwvYj4uPC9wPgotKiA8cD5UaGlzIGlzIDxh
IGhyZWY9Jyc+dmFsaWQ8L2E+LjwvcD4KLSogPHVsPgotKiA8bGk+VGhpczwvbGk+Ci0qIDxsaT5p
czwvbGk+Ci0qIDxsaT52YWxpZDwvbGk+Ci0qIDwvdWw+Ci0qIDxkbD4KLSogPGR0PlRoaXM8L2R0
PgotKiA8ZGQ+dmFsaWQ8L2RkPgotKiA8L2RsPgotKiA8dGFibGU+Ci0qIDx0cj4KLSogPHRkPnRo
aXM8L3RkPgotKiA8dGQ+aXM8L3RkPgotKiA8L3RyPgotKiA8dHI+Ci0qIDx0ZD52YWxpZDwvdGQ+
Ci0qIDwvdHI+Ci0qIDwvdGFibGU+Ci0qIDxwPlRoaXMgaXMgPGJyPiB2YWxpZC48L3A+Ci0qIDxw
PlRoaXMgaXMgPGJyIC8+IHZhbGlkLjwvcD4KLSogPHA+VGhpcyBpcyA8YnIvPiB2YWxpZC48L3A+
Ci0qIDxwPjxpbWcgc3JjPSJmb28ucG5nIiBhbHQ9IlZhbGlkIi8+PC9wPgotKi8KLWludGVyZmFj
ZSBEb2N1bWVudGF0aW9uIHt9OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9lbnVtLndpZGwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvZW51bS53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCA4NTFmY2EyZTZmNjEzMTNiNGNlMjg1ZTY5ZDc3M2YwMmMzMjY0ZDg5Li4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRs
cHJvYy90ZXN0L3ZhbGlkL2lkbC9lbnVtLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSw4ICswLDAg
QEAKLWVudW0gTWVhbFR5cGUgeyAicmljZSIsICJub29kbGVzIiwgIm90aGVyIiB9OwotCi1pbnRl
cmZhY2UgTWVhbCB7Ci0gIGF0dHJpYnV0ZSBNZWFsVHlwZSB0eXBlOwotICBhdHRyaWJ1dGUgZmxv
YXQgc2l6ZTsgICAgIC8vIGluIGdyYW1zCi0KLSAgdm9pZCBpbml0aWFsaXplKE1lYWxUeXBlIHR5
cGUsIGZsb2F0IHNpemUpOwotfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvZXF1aXZhbGVudC1kZWNsLndp
ZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvZXF1aXZhbGVudC1kZWNsLndp
ZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZiM2UwZWRhMjg0YWQ3MWY3YjNhZDYy
MjFhMTUyMTRkNGZjMGZjMjMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL2VxdWl2YWxlbnQtZGVj
bC53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsMTggKzAsMCBAQAotLy8gRXh0cmFjdGVkIGZyb20g
aHR0cDovL2Rldi53My5vcmcvMjAwNi93ZWJhcGkvV2ViSURMLyBvbiAyMDExLTA1LTA2Ci1pbnRl
cmZhY2UgRGljdGlvbmFyeSB7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIHBy
b3BlcnR5Q291bnQ7Ci0KLSAgZ2V0dGVyIGZsb2F0IGdldFByb3BlcnR5KERPTVN0cmluZyBwcm9w
ZXJ0eU5hbWUpOwotICBzZXR0ZXIgdm9pZCBzZXRQcm9wZXJ0eShET01TdHJpbmcgcHJvcGVydHlO
YW1lLCBmbG9hdCBwcm9wZXJ0eVZhbHVlKTsKLX07Ci0KLQotaW50ZXJmYWNlIERpY3Rpb25hcnkg
ewotICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBwcm9wZXJ0eUNvdW50OwotCi0g
IGZsb2F0IGdldFByb3BlcnR5KERPTVN0cmluZyBwcm9wZXJ0eU5hbWUpOwotICB2b2lkIHNldFBy
b3BlcnR5KERPTVN0cmluZyBwcm9wZXJ0eU5hbWUsIGZsb2F0IHByb3BlcnR5VmFsdWUpOwotCi0g
IGdldHRlciBmbG9hdCAoRE9NU3RyaW5nIHByb3BlcnR5TmFtZSk7Ci0gIHNldHRlciB2b2lkIChE
T01TdHJpbmcgcHJvcGVydHlOYW1lLCBmbG9hdCBwcm9wZXJ0eVZhbHVlKTsKLX07ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3Qv
dmFsaWQvaWRsL2V4Y2VwdGlvbi1pbmhlcml0YW5jZS53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9j
L3Rlc3QvdmFsaWQvaWRsL2V4Y2VwdGlvbi1pbmhlcml0YW5jZS53aWRsCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAyNThmZGViYTZmNDNkMzZhMmE4ZDc5MjdiNjk1ZDUzYTVjYzVkMmUz
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9leGNlcHRpb24taW5oZXJpdGFuY2Uud2lkbAorKysg
L2Rldi9udWxsCkBAIC0xLDcgKzAsMCBAQAotLy8gZnJvbSBodHRwOi8vbGlzdHMudzMub3JnL0Fy
Y2hpdmVzL1B1YmxpYy9wdWJsaWMtc2NyaXB0LWNvb3JkLzIwMTBPY3REZWMvMDExMi5odG1sCi0g
IGV4Y2VwdGlvbiBET01FeGNlcHRpb24gewotICAgIHVuc2lnbmVkIHNob3J0IGNvZGU7Ci0gIH07
Ci0KLSAgZXhjZXB0aW9uIEhpZXJhcmNoeVJlcXVlc3RFcnJvciA6IERPTUV4Y2VwdGlvbiB7IH07
Ci0gIGV4Y2VwdGlvbiBOb01vZGlmaWNhdGlvbkFsbG93ZWRFcnJvciA6IERPTUV4Y2VwdGlvbiB7
IH07ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dp
ZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL2V4Y2VwdGlvbi53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9j
L3Rlc3QvdmFsaWQvaWRsL2V4Y2VwdGlvbi53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCBmNGI2YWUyOWUxMGRkYjE4ZmZhNWZjMmI2MjAxZjkyM2NiMWFkNTBkLi4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90
ZXN0L3ZhbGlkL2lkbC9leGNlcHRpb24ud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDggKzAsMCBA
QAotLy8gRXh0cmFjdGVkIGZyb20gaHR0cDovL2Rldi53My5vcmcvMjAwNi93ZWJhcGkvV2ViSURM
LyBvbiAyMDExLTA1LTA2Ci1pbnRlcmZhY2UgRGFodXQgewotICBhdHRyaWJ1dGUgRE9NU3RyaW5n
IHR5cGU7Ci19OwotCi1leGNlcHRpb24gU29tZUV4Y2VwdGlvbiB7Ci19OwotCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvZ2V0dGVyLXNldHRlci53aWRsIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL2dldHRlci1zZXR0ZXIud2lkbApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYmRmODdlMWM3YzcyZjI5YzcyNTMyYjFiYjNiNjAw
MzU5OWM2MDE4Ny4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvZ2V0dGVyLXNldHRlci53aWRsCisr
KyAvZGV2L251bGwKQEAgLTEsNyArMCwwIEBACi0vLyBFeHRyYWN0ZWQgZnJvbSBodHRwOi8vZGV2
LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJJREwvIG9uIDIwMTEtMDUtMDYKLWludGVyZmFjZSBEaWN0
aW9uYXJ5IHsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgcHJvcGVydHlDb3Vu
dDsKLQotICBnZXR0ZXIgZmxvYXQgKERPTVN0cmluZyBwcm9wZXJ0eU5hbWUpOwotICBzZXR0ZXIg
dm9pZCAoRE9NU3RyaW5nIHByb3BlcnR5TmFtZSwgZmxvYXQgcHJvcGVydHlWYWx1ZSk7Ci19Owpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJv
Yy90ZXN0L3ZhbGlkL2lkbC9pZGVudGlmaWVyLXF1YWxpZmllZC1uYW1lcy53aWRsIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL2lkZW50aWZpZXItcXVhbGlmaWVkLW5hbWVzLndp
ZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDMzODkzZDRjNjQ0OTgyNDBiNWNiODRm
MTkwODFkYmQ2ZjkwZTBkMmEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL2lkZW50aWZpZXItcXVh
bGlmaWVkLW5hbWVzLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSw0NCArMCwwIEBACi0vLyBFeHRy
YWN0ZWQgZnJvbSBodHRwOi8vZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJJREwvIG9uIDIwMTEt
MDUtMDYKLSAgLy8gVHlwZWRlZiBpZGVudGlmaWVyOiAibnVtYmVyIgotICAvLyBRdWFsaWZpZWQg
bmFtZTogICAgIjo6ZnJhbWV3b3JrOjpudW1iZXIiCi0gIHR5cGVkZWYgZmxvYXQgbnVtYmVyOwot
Ci0gIC8vIEV4Y2VwdGlvbiBpZGVudGlmaWVyOiAiRnJhbWV3b3JrRXhjZXB0aW9uIgotICAvLyBR
dWFsaWZpZWQgbmFtZTogICAgICAgIjo6ZnJhbWV3b3JrOjpGcmFtZXdvcmtFeGNlcHRpb24iCi0g
IGV4Y2VwdGlvbiBGcmFtZXdvcmtFeGNlcHRpb24gewotCi0gICAgLy8gQ29uc3RhbnQgaWRlbnRp
ZmllcjogIkVSUl9OT1RfRk9VTkQiCi0gICAgLy8gUXVhbGlmaWVkIG5hbWU6ICAgICAgIjo6ZnJh
bWV3b3JrOjpGcmFtZXdvcmtFeGNlcHRpb246OkVSUl9OT1RfRk9VTkQiCi0gICAgY29uc3QgbG9u
ZyBFUlJfTk9UX0ZPVU5EID0gMTsKLQotICAgIC8vIEV4Y2VwdGlvbiBmaWVsZCBpZGVudGlmaWVy
OiAiY29kZSIKLSAgICBsb25nIGNvZGU7Ci0gIH07Ci0KLSAgLy8gSW50ZXJmYWNlIGlkZW50aWZp
ZXI6ICJTeXN0ZW0iCi0gIC8vIFF1YWxpZmllZCBuYW1lOiAgICAgICAiOjpmcmFtZXdvcms6OlN5
c3RlbSIKLSAgaW50ZXJmYWNlIFN5c3RlbSB7Ci0KLSAgICAvLyBPcGVyYXRpb24gaWRlbnRpZmll
cjogICAgICAgICAgImNyZWF0ZU9iamVjdCIKLSAgICAvLyBPcGVyYXRpb24gYXJndW1lbnQgaWRl
bnRpZmllcjogImludGVyZmFjZSIKLSAgICBvYmplY3QgY3JlYXRlT2JqZWN0KERPTVN0cmluZyBf
aW50ZXJmYWNlKTsKLQotICAgIC8vIE9wZXJhdGlvbiBoYXMgbm8gaWRlbnRpZmllcjsgaXQgZGVj
bGFyZXMgYSBnZXR0ZXIuCi0gICAgZ2V0dGVyIERPTVN0cmluZyAoRE9NU3RyaW5nIGtleU5hbWUp
OwotICB9OwotCi0gICAgCi0gICAgLy8gSW50ZXJmYWNlIGlkZW50aWZpZXI6ICJUZXh0RmllbGQi
Ci0gICAgLy8gUXVhbGlmaWVkIG5hbWU6ICAgICAgICI6OmZyYW1ld29yazo6Z3VpOjpUZXh0Rmll
bGQiCi0gICAgaW50ZXJmYWNlIFRleHRGaWVsZCB7Ci0KLSAgICAgIC8vIEF0dHJpYnV0ZSBpZGVu
dGlmaWVyOiAiY29uc3QiCi0gICAgICBhdHRyaWJ1dGUgYm9vbGVhbiBfY29uc3Q7Ci0KLSAgICAg
IC8vIEF0dHJpYnV0ZSBpZGVudGlmaWVyOiAidmFsdWUiCi0gICAgICBhdHRyaWJ1dGUgRE9NU3Ry
aW5nPyBfdmFsdWU7Ci0gICAgfTsKLQotaW50ZXJmYWNlIEZvbyB7Ci0gdm9pZCBvcChvYmplY3Qg
aW50ZXJmYWNlKTsKLX07ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL2ltcGxlbWVudHMud2lkbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9pbXBsZW1lbnRzLndpZGwKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDdhMzEwOTI2ZjFjOGQ0NDFkNzU4YWYwNmE4MWUwZGFmYTAxYmY1
OTIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL2ltcGxlbWVudHMud2lkbAorKysgL2Rldi9udWxs
CkBAIC0xLDE0ICswLDAgQEAKLS8vIEV4dHJhY3RlZCBmcm9tIGh0dHA6Ly9kZXYudzMub3JnLzIw
MDYvd2ViYXBpL1dlYklETC8gb24gMjAxMS0wNS0wNgotICBpbnRlcmZhY2UgTm9kZSB7Ci0gICAg
cmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIHNob3J0IG5vZGVUeXBlOwotICAgIC8vIC4uLgot
ICB9OwotCi0gIGludGVyZmFjZSBFdmVudFRhcmdldCB7Ci0gICAgdm9pZCBhZGRFdmVudExpc3Rl
bmVyKERPTVN0cmluZyB0eXBlLAotICAgICAgICAgICAgICAgICAgICAgICAgICBFdmVudExpc3Rl
bmVyIGxpc3RlbmVyLAotICAgICAgICAgICAgICAgICAgICAgICAgICBib29sZWFuIHVzZUNhcHR1
cmUpOwotICAgIC8vIC4uLgotICB9OwotCi0gIE5vZGUgaW1wbGVtZW50cyBFdmVudFRhcmdldDsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9pbmRleGVkLXBy
b3BlcnRpZXMud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9pbmRleGVk
LXByb3BlcnRpZXMud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYWNmMGVkM2Jm
ODQ5ZjA2YjJmYzFkMzc1Y2IzYTgyNDg4YjNiZDA1MC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwv
aW5kZXhlZC1wcm9wZXJ0aWVzLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSwxMiArMCwwIEBACi0v
LyBFeHRyYWN0ZWQgZnJvbSBodHRwOi8vZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJJREwvIG9u
IDIwMTEtMDUtMDYKLWludGVyZmFjZSBPcmRlcmVkTWFwIHsKLSAgcmVhZG9ubHkgYXR0cmlidXRl
IHVuc2lnbmVkIGxvbmcgc2l6ZTsKLQotICBnZXR0ZXIgYW55IGdldEJ5SW5kZXgodW5zaWduZWQg
bG9uZyBpbmRleCk7Ci0gIHNldHRlciB2b2lkIHNldEJ5SW5kZXgodW5zaWduZWQgbG9uZyBpbmRl
eCwgYW55IHZhbHVlKTsKLSAgZGVsZXRlciB2b2lkIHJlbW92ZUJ5SW5kZXgodW5zaWduZWQgbG9u
ZyBpbmRleCk7Ci0KLSAgZ2V0dGVyIGFueSBnZXQoRE9NU3RyaW5nIG5hbWUpOwotICBzZXR0ZXIg
Y3JlYXRvciB2b2lkIHNldChET01TdHJpbmcgbmFtZSwgYW55IHZhbHVlKTsKLSAgZGVsZXRlciB2
b2lkIHJlbW92ZShET01TdHJpbmcgbmFtZSk7Ci19OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9pbmhlcml0
cy1nZXR0ZXIud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9pbmhlcml0
cy1nZXR0ZXIud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTU4ZTgxMTY0OTRi
MmIzYjVjZjBhYjViYzRmM2M5ZjM4NGFhOTA2Yi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvaW5o
ZXJpdHMtZ2V0dGVyLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSwxNiArMCwwIEBACi1pbnRlcmZh
Y2UgQW5pbWFsIHsKLQotICAvLyBBIHNpbXBsZSBhdHRyaWJ1dGUgdGhhdCBjYW4gYmUgc2V0IHRv
IGFueSBzdHJpbmcgdmFsdWUuCi0gIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgbmFtZTsK
LX07Ci0KLWludGVyZmFjZSBQZXJzb24gOiBBbmltYWwgewotCi0gIC8vIEFuIGF0dHJpYnV0ZSB3
aG9zZSB2YWx1ZSBjYW5ub3QgYmUgYXNzaWduZWQgdG8uCi0gIHJlYWRvbmx5IGF0dHJpYnV0ZSB1
bnNpZ25lZCBzaG9ydCBhZ2U7Ci0KLSAgLy8gQW4gYXR0cmlidXRlIHRoYXQgY2FuIHJhaXNlIGFu
IGV4Y2VwdGlvbiBpZiBpdCBpcyBzZXQgdG8gYW4gaW52YWxpZCB2YWx1ZS4KLSAgLy8gSXRzIGdl
dHRlciBiZWhhdmlvciBpcyBpbmhlcml0ZWQgZnJvbSBBbmltYWwsIGFuZCBuZWVkIG5vdCBiZSBz
cGVjaWZpZWQKLSAgLy8gdGhlIGRlc2NyaXB0aW9uIG9mIFBlcnNvbi4KLSAgaW5oZXJpdCBhdHRy
aWJ1dGUgRE9NU3RyaW5nIG5hbWU7Ci19OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9pbnRlcmZhY2UtaW5o
ZXJpdHMud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9pbnRlcmZhY2Ut
aW5oZXJpdHMud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzkyMWRlZjc3Mjc5
ZjcwNDEwYzIyMWI0ZWQxZjIyNWM2YjA5NDI3Ni4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvaW50
ZXJmYWNlLWluaGVyaXRzLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSwxMiArMCwwIEBACi0vLyBF
eHRyYWN0ZWQgZnJvbSBodHRwOi8vZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJJREwvIG9uIDIw
MTEtMDUtMDYKLWludGVyZmFjZSBBbmltYWwgewotICBhdHRyaWJ1dGUgRE9NU3RyaW5nIG5hbWU7
Ci19OwotCi1pbnRlcmZhY2UgSHVtYW4gOiBBbmltYWwgewotICBhdHRyaWJ1dGUgRG9nIHBldDsK
LX07Ci0KLWludGVyZmFjZSBEb2cgOiBBbmltYWwgewotICBhdHRyaWJ1dGUgSHVtYW4gb3duZXI7
Ci19OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93
aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9pdGVyYXRvci53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9j
L3Rlc3QvdmFsaWQvaWRsL2l0ZXJhdG9yLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDNiZjFiMzZkZWM2NzU2NTZjYmZkN2VhNDYwMzYxN2IzZGI5MWJmYzYuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rl
c3QvdmFsaWQvaWRsL2l0ZXJhdG9yLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSwzNSArMCwwIEBA
Ci1pbnRlcmZhY2UgU2Vzc2lvbk1hbmFnZXIgewotICBTZXNzaW9uIGdldFNlc3Npb25Gb3JVc2Vy
KERPTVN0cmluZyB1c2VybmFtZSk7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25n
IHNlc3Npb25Db3VudDsKLQotICBTZXNzaW9uIGl0ZXJhdG9yOwotfTsKLQotaW50ZXJmYWNlIFNl
c3Npb24gewotICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHVzZXJuYW1lOwotICAvLyAu
Li4KLX07Ci0KLWludGVyZmFjZSBTZXNzaW9uTWFuYWdlcjIgewotICBTZXNzaW9uMiBnZXRTZXNz
aW9uRm9yVXNlcihET01TdHJpbmcgdXNlcm5hbWUpOwotICByZWFkb25seSBhdHRyaWJ1dGUgdW5z
aWduZWQgbG9uZyBzZXNzaW9uQ291bnQ7Ci0KLSAgU2Vzc2lvbjIgaXRlcmF0b3IgPSBTZXNzaW9u
SXRlcmF0b3I7Ci19OwotCi1pbnRlcmZhY2UgU2Vzc2lvbjIgewotICByZWFkb25seSBhdHRyaWJ1
dGUgRE9NU3RyaW5nIHVzZXJuYW1lOwotICAvLyAuLi4KLX07Ci0KLWludGVyZmFjZSBTZXNzaW9u
SXRlcmF0b3IgewotICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyByZW1haW5pbmdT
ZXNzaW9uczsKLX07Ci0KLSAgICAgaW50ZXJmYWNlIE5vZGVMaXN0IHsKLSAgICAgICBOb2RlIGl0
ZXJhdG9yID0gTm9kZUl0ZXJhdG9yOwotICAgICB9OwotCi0gICAgIGludGVyZmFjZSBOb2RlSXRl
cmF0b3IgewotICAgICAgIE5vZGUgaXRlcmF0b3Igb2JqZWN0OwotICAgICB9OwpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3Zh
bGlkL2lkbC9uYW1lZGNvbnN0cnVjdG9yLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92
YWxpZC9pZGwvbmFtZWRjb25zdHJ1Y3Rvci53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCBjNDY4Yjc4ZjhlMTgxNDIzMzI3MjI3MzljZmI0YzU0ZmZjN2U0NTIyLi4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90
ZXN0L3ZhbGlkL2lkbC9uYW1lZGNvbnN0cnVjdG9yLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSw2
ICswLDAgQEAKLS8vIEV4dHJhY3RlZCBmcm9tIGh0dHA6Ly9kZXYudzMub3JnLzIwMDYvd2ViYXBp
L1dlYklETC8gb24gMjAxMS0wNS0wNgotW05hbWVkQ29uc3RydWN0b3I9QXVkaW8sCi0gTmFtZWRD
b25zdHJ1Y3Rvcj1BdWRpbyhET01TdHJpbmcgc3JjKV0KLWludGVyZmFjZSBIVE1MQXVkaW9FbGVt
ZW50IDogSFRNTE1lZGlhRWxlbWVudCB7Ci0gIC8vIC4uLgotfTsKXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwv
bm9pbnRlcmZhY2VvYmplY3Qud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lk
bC9ub2ludGVyZmFjZW9iamVjdC53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBj
MTdkNzVmZjhmZDM3MzJjZGNiZTgxNWY2OGE3YTgzYWVmZWQ1YzE4Li4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3Zh
bGlkL2lkbC9ub2ludGVyZmFjZW9iamVjdC53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsNSArMCww
IEBACi0vLyBFeHRyYWN0ZWQgZnJvbSBodHRwOi8vZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJJ
REwvIG9uIDIwMTEtMDUtMDYKLVtOb0ludGVyZmFjZU9iamVjdF0KLWludGVyZmFjZSBRdWVyeSB7
Ci0gIGFueSBsb29rdXBFbnRyeSh1bnNpZ25lZCBsb25nIGtleSk7Ci19OwpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlk
L2lkbC9udWxsYWJsZS53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL251
bGxhYmxlLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGNjYmY2MjVmZjhhZWEx
MmI1YmU1YjEyMDYwOTljOWIwN2M2Y2NkYmQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL251bGxh
YmxlLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSw5ICswLDAgQEAKLS8vIEV4dHJhY3RlZCBmcm9t
IGh0dHA6Ly9kZXYudzMub3JnLzIwMDYvd2ViYXBpL1dlYklETC8gb24gMjAxMS0wNS0wNgotaW50
ZXJmYWNlIE15Q29uc3RhbnRzIHsKLSAgY29uc3QgYm9vbGVhbj8gQVJFX1dFX1RIRVJFX1lFVCA9
IGZhbHNlOwotfTsKLQotaW50ZXJmYWNlIE5vZGUgewotICByZWFkb25seSBhdHRyaWJ1dGUgRE9N
U3RyaW5nPyBuYW1lc3BhY2VVUkk7Ci0gIC8vIC4uLgotfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvbnVs
bGFibGVvYmplY3RzLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvbnVs
bGFibGVvYmplY3RzLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDgzZDFkNDBi
MmFjZmEzYTM2ZWQ4YjUwM2RmNDIwNTAzMzhjZGFiYjYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRs
L251bGxhYmxlb2JqZWN0cy53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsMTMgKzAsMCBAQAotLy8g
RXh0cmFjdGVkIGZyb20gV2ViSURMIHNwZWMgMjAxMS0wNS0yMwotCi1pbnRlcmZhY2UgQSB7Ci0g
IC8vIC4uLgotfTsKLWludGVyZmFjZSBCIHsKLSAgLy8gLi4uCi19OwotaW50ZXJmYWNlIEMgewot
ICB2b2lkIGYoQT8geCk7Ci0gIHZvaWQgZihCPyB4KTsKLQotfTsKXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwv
b3BlcmF0aW9uLW9wdGlvbmFsLWFyZy53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFs
aWQvaWRsL29wZXJhdGlvbi1vcHRpb25hbC1hcmcud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMzc5MDUzYjQ1ZjE0YTE1ZGU4YmU5YjVkMTA5MDFiNDU5NmM4NzBmYS4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHBy
b2MvdGVzdC92YWxpZC9pZGwvb3BlcmF0aW9uLW9wdGlvbmFsLWFyZy53aWRsCisrKyAvZGV2L251
bGwKQEAgLTEsNCArMCwwIEBACi0vLyBFeHRyYWN0ZWQgZnJvbSBodHRwOi8vZGV2LnczLm9yZy8y
MDA2L3dlYmFwaS9XZWJJREwvIG9uIDIwMTEtMDUtMDYKLWludGVyZmFjZSBDb2xvckNyZWF0b3Ig
ewotICBvYmplY3QgY3JlYXRlQ29sb3IoZmxvYXQgdjEsIGZsb2F0IHYyLCBmbG9hdCB2Mywgb3B0
aW9uYWwgZmxvYXQgYWxwaGEgPSAzLjUpOwotfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvb3ZlcmxvYWRp
bmcud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9vdmVybG9hZGluZy53
aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlZjEyODhhODg3NzYzZGQ3ODk0N2Rl
NmI4Nzg2YzAwNTM5NDc0ZTk3Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9vdmVybG9hZGluZy53
aWRsCisrKyAvZGV2L251bGwKQEAgLTEsMjAgKzAsMCBAQAotLy8gRXh0cmFjdGVkIGZyb20gaHR0
cDovL2Rldi53My5vcmcvMjAwNi93ZWJhcGkvV2ViSURMLyBvbiAyMDExLTA1LTA2Ci1pbnRlcmZh
Y2UgQSB7Ci0gIC8vIC4uLgotfTsKLQotaW50ZXJmYWNlIEIgewotICAvLyAuLi4KLX07Ci0KLWlu
dGVyZmFjZSBDIHsKLSAgdm9pZCBmKEEgeCk7Ci0gIHZvaWQgZihCIHgpOwotfTsKLQotaW50ZXJm
YWNlIEEgewotICAvKiBmMSAqLyB2b2lkIGYoRE9NU3RyaW5nIGEpOwotICAvKiBmMiAqLyB2b2lk
IGYoW0FsbG93QW55XSBET01TdHJpbmcgYSwgRE9NU3RyaW5nIGIsIGZsb2F0Li4uIGMpOwotICAv
KiBmMyAqLyB2b2lkIGYoKTsKLSAgLyogZjQgKi8gdm9pZCBmKGxvbmcgYSwgRE9NU3RyaW5nIGIs
IG9wdGlvbmFsIERPTVN0cmluZyBjLCBmbG9hdC4uLiBkKTsKLX07ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRs
L292ZXJyaWRlYnVpbHRpbnMud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lk
bC9vdmVycmlkZWJ1aWx0aW5zLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDc5
MjExYzI5ZTg0MzZkMDFjNTFlZWExYTlkMzkwMmUwZTZjYzE5MTYuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFs
aWQvaWRsL292ZXJyaWRlYnVpbHRpbnMud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDYgKzAsMCBA
QAotLy8gRXh0cmFjdGVkIGZyb20gaHR0cDovL2Rldi53My5vcmcvMjAwNi93ZWJhcGkvV2ViSURM
LyBvbiAyMDExLTA1LTA2Ci1bT3ZlcnJpZGVCdWlsdGluc10KLWludGVyZmFjZSBTdHJpbmdNYXAy
IHsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbGVuZ3RoOwotICBnZXR0ZXIg
RE9NU3RyaW5nIGxvb2t1cChET01TdHJpbmcga2V5KTsKLX07ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3Bh
cnRpYWwtaW50ZXJmYWNlLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwv
cGFydGlhbC1pbnRlcmZhY2Uud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTBl
N2UwZWE0MjFiNGYxYjlkM2U1YTU4ZDJkMTQ3MDM5NWE5ZjNhOC4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxp
ZC9pZGwvcGFydGlhbC1pbnRlcmZhY2Uud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDcgKzAsMCBA
QAotaW50ZXJmYWNlIEZvbyB7Ci0gIGF0dHJpYnV0ZSBET01TdHJpbmcgYmFyOwotfTsKLQotcGFy
dGlhbCBpbnRlcmZhY2UgRm9vIHsKLSAgYXR0cmlidXRlIERPTVN0cmluZyBxdXV4OwotfTsKXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mv
dGVzdC92YWxpZC9pZGwvcHJpbWl0aXZlcy53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3Qv
dmFsaWQvaWRsL3ByaW1pdGl2ZXMud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
OTI5Mzk2MDFhMWE4MzljZjdjNDhjM2VkNzQ4ZWViOTNiZmEzZmViYy4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92
YWxpZC9pZGwvcHJpbWl0aXZlcy53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsMTkgKzAsMCBAQAot
aW50ZXJmYWNlIFByaW1pdGl2ZXMgewotICBhdHRyaWJ1dGUgYm9vbGVhbiB0cnV0aDsKLSAgYXR0
cmlidXRlIGJ5dGUgY2hhcmFjdGVyOwotICBhdHRyaWJ1dGUgb2N0ZXQgdmFsdWU7Ci0gIGF0dHJp
YnV0ZSBzaG9ydCBudW1iZXI7Ci0gIGF0dHJpYnV0ZSB1bnNpZ25lZCBzaG9ydCBwb3NpdGl2ZTsK
LSAgYXR0cmlidXRlIGxvbmcgYmlnOwotICBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBiaWdwb3Np
dGl2ZTsKLSAgYXR0cmlidXRlIGxvbmcgbG9uZyBiaWdiaWc7Ci0gIGF0dHJpYnV0ZSAgdW5zaWdu
ZWQgbG9uZyBsb25nIGJpZ2JpZ3Bvc2l0aXZlOwotICBhdHRyaWJ1dGUgZmxvYXQgcmVhbDsKLSAg
YXR0cmlidXRlIGRvdWJsZSBiaWdyZWFsOyAKLSAgYXR0cmlidXRlIHVucmVzdHJpY3RlZCBmbG9h
dCByZWFsd2l0aGluZmluaXR5OwotICBhdHRyaWJ1dGUgdW5yZXN0cmljdGVkIGRvdWJsZSBiaWdy
ZWFsd2l0aGluZmluaXR5OyAKLSAgYXR0cmlidXRlIERPTVN0cmluZyBzdHJpbmc7IAotICBhdHRy
aWJ1dGUgQnl0ZVN0cmluZyBieXRlczsgCi0gIGF0dHJpYnV0ZSBEYXRlIGRhdGU7Ci0gIGF0dHJp
YnV0ZSBSZWdFeHAgcmVnZXhwOwotfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvcHJvdG90eXBlcm9vdC53
aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3Byb3RvdHlwZXJvb3Qud2lk
bApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzBkZDVjYmNhMTNiZTAwZWFlZjFlNTNj
NmI2M2U3OWY0YzhhNTY0YS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvcHJvdG90eXBlcm9vdC53
aWRsCisrKyAvZGV2L251bGwKQEAgLTEsNSArMCwwIEBACi0vLyBFeHRyYWN0ZWQgZnJvbSBodHRw
Oi8vZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJJREwvIG9uIDIwMTEtMDUtMDYKLVtQcm90b3R5
cGVSb290XQotaW50ZXJmYWNlIE5vZGUgewotICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQg
c2hvcnQgbm9kZVR5cGU7Ci19OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9wdXRmb3J3YXJkcy53aWRsIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3B1dGZvcndhcmRzLndpZGwKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDFlNTBhNGVlMzk0ZjVkZTZhZWRiMjljZDRmZjkxOGYz
MzgyYjA0ZGQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3B1dGZvcndhcmRzLndpZGwKKysrIC9k
ZXYvbnVsbApAQCAtMSw1ICswLDAgQEAKLS8vIEV4dHJhY3RlZCBmcm9tIGh0dHA6Ly9kZXYudzMu
b3JnLzIwMDYvd2ViYXBpL1dlYklETC8gb24gMjAxMS0wNS0wNgotaW50ZXJmYWNlIFBlcnNvbiB7
Ci0gIFtQdXRGb3J3YXJkcz1mdWxsXSByZWFkb25seSBhdHRyaWJ1dGUgTmFtZSBuYW1lOwotICBh
dHRyaWJ1dGUgdW5zaWduZWQgc2hvcnQgYWdlOwotfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvcmVnLW9w
ZXJhdGlvbnMud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9yZWctb3Bl
cmF0aW9ucy53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxMzk5N2NiMWQxMjFj
ZTEwNmY0OWNmZGNkZWI5Nzg5MDc0NzA0ODQyLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9yZWct
b3BlcmF0aW9ucy53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsMTcgKzAsMCBAQAotLy8gRXh0cmFj
dGVkIGZyb20gaHR0cDovL2Rldi53My5vcmcvMjAwNi93ZWJhcGkvV2ViSURMLyBvbiAyMDExLTA1
LTA2Ci1pbnRlcmZhY2UgRGltZW5zaW9ucyB7Ci0gIGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIHdp
ZHRoOwotICBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBoZWlnaHQ7Ci19OwotCi1leGNlcHRpb24g
Tm9Qb2ludGVyRGV2aWNlIHsgfTsKLQotaW50ZXJmYWNlIEJ1dHRvbiB7Ci0KLSAgLy8gQW4gb3Bl
cmF0aW9uIHRoYXQgdGFrZXMgbm8gYXJndW1lbnRzLCByZXR1cm5zIGEgYm9vbGVhbgotICBib29s
ZWFuIGlzTW91c2VPdmVyKCk7Ci0KLSAgLy8gT3ZlcmxvYWRlZCBvcGVyYXRpb25zLgotICB2b2lk
IHNldERpbWVuc2lvbnMoRGltZW5zaW9ucyBzaXplKTsKLSAgdm9pZCBzZXREaW1lbnNpb25zKHVu
c2lnbmVkIGxvbmcgd2lkdGgsIHVuc2lnbmVkIGxvbmcgaGVpZ2h0KTsKLX07ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFs
aWQvaWRsL3JlcGxhY2VhYmxlLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9p
ZGwvcmVwbGFjZWFibGUud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzE0ZDBj
Mzc2ODkwNDc0YTk4MjMxOGE2MDFjNTEwNTQ1OWY3Y2YyZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9p
ZGwvcmVwbGFjZWFibGUud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDUgKzAsMCBAQAotLy8gRXh0
cmFjdGVkIGZyb20gaHR0cDovL2Rldi53My5vcmcvMjAwNi93ZWJhcGkvV2ViSURMLyBvbiAyMDEx
LTA1LTA2Ci1pbnRlcmZhY2UgQ291bnRlciB7Ci0gIFtSZXBsYWNlYWJsZV0gcmVhZG9ubHkgYXR0
cmlidXRlIHVuc2lnbmVkIGxvbmcgdmFsdWU7Ci0gIHZvaWQgaW5jcmVtZW50KCk7Ci19OwpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90
ZXN0L3ZhbGlkL2lkbC9zZXF1ZW5jZS53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFs
aWQvaWRsL3NlcXVlbmNlLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGExYWE5
MzFmNWYwMGExODk5MzAzMWQ5NWQ1ZDJkODEwOTEwMWEwMzcuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQv
aWRsL3NlcXVlbmNlLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSw3ICswLDAgQEAKLS8vIEV4dHJh
Y3RlZCBmcm9tIGh0dHA6Ly9kZXYudzMub3JnLzIwMDYvd2ViYXBpL1dlYklETC8gb24gMjAxMS0w
NS0wNgotLy8gZWRpdGVkIHRvIHJlbW92ZSBzZXF1ZW5jZSBhcyBhdHRyaWJ1dGVzLCBub3cgaW52
YWxpZAotaW50ZXJmYWNlIENhbnZhcyB7Ci0gIHZvaWQgZHJhd1BvbHlnb24oc2VxdWVuY2U8Zmxv
YXQ+IGNvb3JkaW5hdGVzKTsKLSAgc2VxdWVuY2U8ZmxvYXQ+IGdldEluZmxlY3Rpb25Qb2ludHMo
KTsKLSAgLy8gLi4uCi19OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9zZXJpYWxpemVyLndpZGwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvc2VyaWFsaXplci53aWRsCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCA2ZjZjY2QwZThkNTllM2UwNTdmNWFkMGQyZjY1NTMwYjE2YTM5
MzU5Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9zZXJpYWxpemVyLndpZGwKKysrIC9kZXYvbnVs
bApAQCAtMSw2NCArMCwwIEBACi1pbnRlcmZhY2UgVHJhbnNhY3Rpb24gewotICByZWFkb25seSBh
dHRyaWJ1dGUgQWNjb3VudCBmcm9tOwotICByZWFkb25seSBhdHRyaWJ1dGUgQWNjb3VudCB0bzsK
LSAgcmVhZG9ubHkgYXR0cmlidXRlIGZsb2F0IGFtb3VudDsKLSAgcmVhZG9ubHkgYXR0cmlidXRl
IERPTVN0cmluZyBkZXNjcmlwdGlvbjsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxv
bmcgbnVtYmVyOwotCi0gIHNlcmlhbGl6ZXI7Ci19OwotCi1pbnRlcmZhY2UgQWNjb3VudCB7Ci0g
IGF0dHJpYnV0ZSBET01TdHJpbmcgbmFtZTsKLSAgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbnVt
YmVyOwotICBzZXJpYWxpemVyIERPTVN0cmluZyBzZXJpYWxpemUoKTsKLX07Ci0KLWludGVyZmFj
ZSBUcmFuc2FjdGlvbjIgewotICByZWFkb25seSBhdHRyaWJ1dGUgQWNjb3VudDIgZnJvbTsKLSAg
cmVhZG9ubHkgYXR0cmlidXRlIEFjY291bnQyIHRvOwotICByZWFkb25seSBhdHRyaWJ1dGUgZmxv
YXQgYW1vdW50OwotICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGRlc2NyaXB0aW9uOwot
ICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBudW1iZXI7Ci0KLSAgc2VyaWFsaXpl
ciA9IHsgZnJvbSwgdG8sIGFtb3VudCwgZGVzY3JpcHRpb24gfTsKLX07Ci0KLWludGVyZmFjZSBB
Y2NvdW50MiB7Ci0gIGF0dHJpYnV0ZSBET01TdHJpbmcgbmFtZTsKLSAgYXR0cmlidXRlIHVuc2ln
bmVkIGxvbmcgbnVtYmVyOwotICBzZXJpYWxpemVyID0gbnVtYmVyOwotfTsKLQotaW50ZXJmYWNl
IEFjY291bnQzIHsKLSAgYXR0cmlidXRlIERPTVN0cmluZyBuYW1lOwotICBhdHRyaWJ1dGUgdW5z
aWduZWQgbG9uZyBudW1iZXI7Ci0KLSAgc2VyaWFsaXplciA9IHsgYXR0cmlidXRlIH07Ci19Owot
Ci1pbnRlcmZhY2UgQWNjb3VudDQgewotICBnZXR0ZXIgb2JqZWN0IGdldEl0ZW0odW5zaWduZWQg
bG9uZyBpbmRleCk7Ci0gIHNlcmlhbGl6ZXIgPSB7IGdldHRlciB9OwotfTsKLQotaW50ZXJmYWNl
IEFjY291bnQ1IDogQWNjb3VudCB7Ci0gIGF0dHJpYnV0ZSBET01TdHJpbmcgc2Vjb25kbmFtZTsK
LSAgc2VyaWFsaXplciA9IHsgaW5oZXJpdCwgc2Vjb25kbmFtZSB9OwotfTsKLQotaW50ZXJmYWNl
IEFjY291bnQ2IDogQWNjb3VudCB7Ci0gIGF0dHJpYnV0ZSBET01TdHJpbmcgc2Vjb25kbmFtZTsK
LSAgc2VyaWFsaXplciA9IHsgaW5oZXJpdCwgYXR0cmlidXRlIH07Ci19OwotCi1pbnRlcmZhY2Ug
QWNjb3VudDcgewotICBhdHRyaWJ1dGUgRE9NU3RyaW5nIG5hbWU7Ci0gIGF0dHJpYnV0ZSB1bnNp
Z25lZCBsb25nIG51bWJlcjsKLSAgc2VyaWFsaXplciA9IFsgbmFtZSwgbnVtYmVyIF07Ci19Owot
Ci1pbnRlcmZhY2UgQWNjb3VudDggewotICBnZXR0ZXIgb2JqZWN0IGdldEl0ZW0odW5zaWduZWQg
bG9uZyBpbmRleCk7Ci0gIHNlcmlhbGl6ZXIgPSBbIGdldHRlciBdOwotfTsKXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxp
ZC9pZGwvc3RhdGljLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvc3Rh
dGljLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDViMmNkMzY1OTBmZDZmMjVl
ZmY5NmQzNTM3ZmI0OGJjZjdlMmI2YTMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3N0YXRpYy53
aWRsCisrKyAvZGV2L251bGwKQEAgLTEsMTEgKzAsMCBAQAotLy8gRXh0cmFjdGVkIGZyb20gaHR0
cDovL2Rldi53My5vcmcvMjAwNi93ZWJhcGkvV2ViSURMLyBvbiAyMDExLTA1LTA2Ci1pbnRlcmZh
Y2UgUG9pbnQgeyAvKiAuLi4gKi8gfTsKLQotaW50ZXJmYWNlIENpcmNsZSB7Ci0gIGF0dHJpYnV0
ZSBmbG9hdCBjeDsKLSAgYXR0cmlidXRlIGZsb2F0IGN5OwotICBhdHRyaWJ1dGUgZmxvYXQgcmFk
aXVzOwotCi0gIHN0YXRpYyByZWFkb25seSBhdHRyaWJ1dGUgbG9uZyB0cmlhbmd1bGF0aW9uQ291
bnQ7Ci0gIHN0YXRpYyBQb2ludCB0cmlhbmd1bGF0ZShDaXJjbGUgYzEsIENpcmNsZSBjMiwgQ2ly
Y2xlIGMzKTsKLX07ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3N0cmluZ2lmaWVyLWF0dHJpYnV0ZS53aWRs
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3N0cmluZ2lmaWVyLWF0dHJpYnV0
ZS53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjOTY0ZWNiOTNlNjAxZjQ5Mzc0
MWJiZWRhYTQ3ZmYyMTYzMzA3MzM1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9zdHJpbmdpZmll
ci1hdHRyaWJ1dGUud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDYgKzAsMCBAQAotLy8gRXh0cmFj
dGVkIGZyb20gaHR0cDovL2Rldi53My5vcmcvMjAwNi93ZWJhcGkvV2ViSURMLyBvbiAyMDExLTA1
LTA2Ci1bQ29uc3RydWN0b3JdCi1pbnRlcmZhY2UgU3R1ZGVudCB7Ci0gIGF0dHJpYnV0ZSB1bnNp
Z25lZCBsb25nIGlkOwotICBzdHJpbmdpZmllciBhdHRyaWJ1dGUgRE9NU3RyaW5nIG5hbWU7Ci19
OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRs
cHJvYy90ZXN0L3ZhbGlkL2lkbC9zdHJpbmdpZmllci1jdXN0b20ud2lkbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93
aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9zdHJpbmdpZmllci1jdXN0b20ud2lkbApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggYjVkN2M4N2U3ZjQ1NzIwZjI0OGU4YTEwZDRiMTk0ZTcyMjFm
YTJlZi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvc3RyaW5naWZpZXItY3VzdG9tLndpZGwKKysr
IC9kZXYvbnVsbApAQCAtMSw5ICswLDAgQEAKLS8vIEV4dHJhY3RlZCBmcm9tIGh0dHA6Ly9kZXYu
dzMub3JnLzIwMDYvd2ViYXBpL1dlYklETC8gb24gMjAxMS0wNS0wNgotW0NvbnN0cnVjdG9yXQot
aW50ZXJmYWNlIFN0dWRlbnQgewotICBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBpZDsKLSAgYXR0
cmlidXRlIERPTVN0cmluZz8gZmFtaWx5TmFtZTsKLSAgYXR0cmlidXRlIERPTVN0cmluZyBnaXZl
bk5hbWU7Ci0KLSAgc3RyaW5naWZpZXIgRE9NU3RyaW5nICgpOwotfTsKXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9p
ZGwvc3RyaW5naWZpZXIud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9z
dHJpbmdpZmllci53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0ZWI0ODNkOWI1
Mzg2MWExMDRmNzEyZDk0MmFmM2IxMDU2NjAyM2M1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9z
dHJpbmdpZmllci53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsOCArMCwwIEBACi0vLyBFeHRyYWN0
ZWQgZnJvbSBodHRwOi8vZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJJREwvIG9uIDIwMTEtMDUt
MDYKLWludGVyZmFjZSBBIHsKLSAgc3RyaW5naWZpZXIgRE9NU3RyaW5nICgpOwotfTsKLQotaW50
ZXJmYWNlIEEgewotICBzdHJpbmdpZmllcjsKLX07ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3RyZWF0YXNu
dWxsLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvdHJlYXRhc251bGwu
d2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDNjNTViMDA4YzBkODZmMzdlOGVi
ZjBhODYzNzg2MjhjYmUwN2ZmZC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvdHJlYXRhc251bGwu
d2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDcgKzAsMCBAQAotLy8gRXh0cmFjdGVkIGZyb20gaHR0
cDovL2Rldi53My5vcmcvMjAwNi93ZWJhcGkvV2ViSURMLyBvbiAyMDExLTA1LTA2Ci1pbnRlcmZh
Y2UgRG9nIHsKLSAgYXR0cmlidXRlIERPTVN0cmluZyBuYW1lOwotICBhdHRyaWJ1dGUgRE9NU3Ry
aW5nIG93bmVyOwotCi0gIGJvb2xlYW4gaXNNZW1iZXJPZkJyZWVkKFtUcmVhdE51bGxBcz1FbXB0
eVN0cmluZ10gRE9NU3RyaW5nIGJyZWVkTmFtZSk7Ci19OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC90cmVh
dGFzdW5kZWZpbmVkLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvdHJl
YXRhc3VuZGVmaW5lZC53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlMzAwNTBm
ODQxMzQwM2QyNDQwYjI2YzNhMDBlM2VjNmM1YWFiNzkzLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lk
bC90cmVhdGFzdW5kZWZpbmVkLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSw3ICswLDAgQEAKLS8v
IEV4dHJhY3RlZCBmcm9tIGh0dHA6Ly9kZXYudzMub3JnLzIwMDYvd2ViYXBpL1dlYklETC8gb24g
MjAxMS0wNS0wNgotaW50ZXJmYWNlIENhdCB7Ci0gIGF0dHJpYnV0ZSBET01TdHJpbmcgbmFtZTsK
LSAgYXR0cmlidXRlIERPTVN0cmluZyBvd25lcjsKLQotICBib29sZWFuIGlzTWVtYmVyT2ZCcmVl
ZChbVHJlYXRVbmRlZmluZWRBcz1FbXB0eVN0cmluZ10gRE9NU3RyaW5nIGJyZWVkTmFtZSk7Ci19
OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRs
cHJvYy90ZXN0L3ZhbGlkL2lkbC90eXBlZGVmLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVz
dC92YWxpZC9pZGwvdHlwZWRlZi53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBi
NGMxN2Q4ZDM2YTg5ZmI1MGVjM2JiNjIzMmExMjM3ZmU4NmRmYjBlLi4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3Zh
bGlkL2lkbC90eXBlZGVmLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSwyMiArMCwwIEBACi0vLyBF
eHRyYWN0ZWQgZnJvbSBodHRwOi8vZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJJREwvIG9uIDIw
MTEtMDUtMDYKLSAgICAgIGludGVyZmFjZSBQb2ludCB7Ci0gICAgICAgIGF0dHJpYnV0ZSBmbG9h
dCB4OwotICAgICAgICBhdHRyaWJ1dGUgZmxvYXQgeTsKLSAgICAgIH07Ci0KLSAgICAgIHR5cGVk
ZWYgc2VxdWVuY2U8UG9pbnQ+IFBvaW50U2VxdWVuY2U7Ci0KLSAgICAgIGludGVyZmFjZSBSZWN0
IHsKLSAgICAgICAgYXR0cmlidXRlIFBvaW50IHRvcGxlZnQ7Ci0gICAgICAgIGF0dHJpYnV0ZSBQ
b2ludCBib3R0b21yaWdodDsKLSAgICAgIH07Ci0KLSAgaW50ZXJmYWNlIFdpZGdldCB7Ci0KLSAg
ICByZWFkb25seSBhdHRyaWJ1dGUgUmVjdCBib3VuZHM7Ci0KLSAgICBib29sZWFuIHBvaW50V2l0
aGluQm91bmRzKFBvaW50IHApOwotICAgIGJvb2xlYW4gYWxsUG9pbnRzV2l0aGluQm91bmRzKFBv
aW50U2VxdWVuY2UgcHMpOwotICB9OwotCi0gIHR5cGVkZWYgW0NsYW1wXSBvY3RldCB2YWx1ZTsK
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHBy
b2MvdGVzdC92YWxpZC9pZGwvdHlwZXN1ZmZpeGVzLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mv
dGVzdC92YWxpZC9pZGwvdHlwZXN1ZmZpeGVzLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDk1ZTMxYzE2OTAyMzZjZTc3NzAzYzlhM2NhMDNlODhlNWJhMWZjMDYuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9j
L3Rlc3QvdmFsaWQvaWRsL3R5cGVzdWZmaXhlcy53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsMyAr
MCwwIEBACi1pbnRlcmZhY2UgU3VmZml4ZXMgewotICB2b2lkIHRlc3Qoc2VxdWVuY2U8RE9NU3Ry
aW5nW10/Pj8gZm9vKTsKLX07CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92
YWxpZC9pZGwvdW5pb250eXBlLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9p
ZGwvdW5pb250eXBlLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDRkOTlmMDE5
NjMwOGFlYzZlZjQ2N2YxOGIwMTc2YTQ2ZTk1YTJjMmIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRs
L3VuaW9udHlwZS53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsMyArMCwwIEBACi1pbnRlcmZhY2Ug
VW5pb24gewotIGF0dHJpYnV0ZSAoZmxvYXQgb3IgKERhdGUgb3IgRXZlbnQpIG9yIChOb2RlIG9y
IERPTVN0cmluZyk/KSB0ZXN0OwotfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvdmFyaWFkaWMtb3BlcmF0
aW9ucy53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3ZhcmlhZGljLW9w
ZXJhdGlvbnMud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTFmYWU0Y2MxZWEx
YzRhMzMzM2FmYzdkNzkxZmVkMDY2NDE1MDIzNS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvdmFy
aWFkaWMtb3BlcmF0aW9ucy53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsNyArMCwwIEBACi0vLyBF
eHRyYWN0ZWQgZnJvbSBodHRwOi8vZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJJREwvIG9uIDIw
MTEtMDUtMDYKLWludGVyZmFjZSBJbnRlZ2VyU2V0IHsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIHVu
c2lnbmVkIGxvbmcgY2FyZGluYWxpdHk7Ci0KLSAgdm9pZCB1bmlvbihsb25nLi4uIGludHMpOwot
ICB2b2lkIGludGVyc2VjdGlvbihsb25nLi4uIGludHMpOwotfTsKXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwv
dzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvdzNjLWlt
cG9ydC5sb2cKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDcyNTA5Yjk0ZDc4OTE2Njc2
NjFhZWZkYmI3YzYyMzEyOGFlZjdjOWUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3czYy1pbXBv
cnQubG9nCisrKyAvZGV2L251bGwKQEAgLTEsNjQgKzAsMCBAQAotVGhlIHRlc3RzIGluIHRoaXMg
ZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCi1EbyBOT1Qg
bW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQsIGNyZWF0ZSBh
IHB1bGwgcmVxdWVzdCBvbiB0aGUgVzNDIENTUyBvciBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0
aHViLmNvbS93M2MvY3Nzd2ctdGVzdAotCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzCi0KLVRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMg
aW4gV2ViS2l0IHRvIHJlaW1wb3J0Ci0KLURvIE5PVCBtb2RpZnkgb3IgcmVtb3ZlIHRoaXMgZmls
ZS4KLQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1Qcm9wZXJ0aWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4
ZXM6Ci1Ob25lCi1Qcm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKLU5v
bmUKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLQotTGlzdCBvZiBmaWxlczoKLS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mv
dGVzdC92YWxpZC9pZGwvYWxsb3dhbnkud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3Zh
bGlkL2lkbC9hcnJheS53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL2F0
dHJpYnV0ZXMud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9jYWxsYmFj
ay53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL2NhbGxlci53aWRsCi0v
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL2NvbnN0YW50cy53aWRsCi0vTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL2NvbnN0cnVjdG9yLndpZGwKLS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
d2lkbHByb2MvdGVzdC92YWxpZC9pZGwvZGljdGlvbmFyeS1pbmhlcml0cy53aWRsCi0vTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL2RpY3Rpb25hcnkud2lkbAotL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93
aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9kb2N1bWVudGF0aW9uLWRvcy53aWRsCi0vTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL2RvY3VtZW50YXRpb24ud2lkbAotL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93
aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9lbnVtLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVz
dC92YWxpZC9pZGwvZXF1aXZhbGVudC1kZWNsLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVz
dC92YWxpZC9pZGwvZXhjZXB0aW9uLWluaGVyaXRhbmNlLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHBy
b2MvdGVzdC92YWxpZC9pZGwvZXhjZXB0aW9uLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVz
dC92YWxpZC9pZGwvZ2V0dGVyLXNldHRlci53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3Qv
dmFsaWQvaWRsL2lkZW50aWZpZXItcXVhbGlmaWVkLW5hbWVzLndpZGwKLS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lk
bHByb2MvdGVzdC92YWxpZC9pZGwvaW1wbGVtZW50cy53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9j
L3Rlc3QvdmFsaWQvaWRsL2luZGV4ZWQtcHJvcGVydGllcy53aWRsCi0vTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxw
cm9jL3Rlc3QvdmFsaWQvaWRsL2luaGVyaXRzLWdldHRlci53aWRsCi0vTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxw
cm9jL3Rlc3QvdmFsaWQvaWRsL2ludGVyZmFjZS1pbmhlcml0cy53aWRsCi0vTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dp
ZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL2l0ZXJhdG9yLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mv
dGVzdC92YWxpZC9pZGwvbmFtZWRjb25zdHJ1Y3Rvci53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9j
L3Rlc3QvdmFsaWQvaWRsL25vaW50ZXJmYWNlb2JqZWN0LndpZGwKLS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHBy
b2MvdGVzdC92YWxpZC9pZGwvbnVsbGFibGUud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0
L3ZhbGlkL2lkbC9udWxsYWJsZW9iamVjdHMud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0
L3ZhbGlkL2lkbC9vcGVyYXRpb24tb3B0aW9uYWwtYXJnLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHBy
b2MvdGVzdC92YWxpZC9pZGwvb3ZlcmxvYWRpbmcud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90
ZXN0L3ZhbGlkL2lkbC9vdmVycmlkZWJ1aWx0aW5zLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mv
dGVzdC92YWxpZC9pZGwvcGFydGlhbC1pbnRlcmZhY2Uud2lkbAotL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJv
Yy90ZXN0L3ZhbGlkL2lkbC9wcmltaXRpdmVzLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVz
dC92YWxpZC9pZGwvcHJvdG90eXBlcm9vdC53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3Qv
dmFsaWQvaWRsL3B1dGZvcndhcmRzLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxp
ZC9pZGwvcmVnLW9wZXJhdGlvbnMud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlk
L2lkbC9yZXBsYWNlYWJsZS53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRs
L3NlcXVlbmNlLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvc2VyaWFs
aXplci53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3N0YXRpYy53aWRs
Ci0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3N0cmluZ2lmaWVyLWF0dHJpYnV0
ZS53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3N0cmluZ2lmaWVyLWN1
c3RvbS53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3N0cmluZ2lmaWVy
LndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvdHJlYXRhc251bGwud2lk
bAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC90cmVhdGFzdW5kZWZpbmVkLndp
ZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvdHlwZWRlZi53aWRsCi0vTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3R5cGVzdWZmaXhlcy53aWRsCi0vTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3VuaW9udHlwZS53aWRsCi0vTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dp
ZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3ZhcmlhZGljLW9wZXJhdGlvbnMud2lkbApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL2FsbG93YW55LndpZGxwcm9jeG1s
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL2FsbG93YW55LndpZGxwcm9jeG1s
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3ZGE1MDhiY2I1YzhmYThmNGRjZTM0N2Jh
Njk1ZGM2YzdiNzg1MzYyLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9hbGxvd2FueS53aWRscHJv
Y3htbAorKysgL2Rldi9udWxsCkBAIC0xLDQ0ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIg
ZW5jb2Rpbmc9IlVURi04Ij8+Ci08IURPQ1RZUEUgRGVmaW5pdGlvbnMgU1lTVEVNICJ3aWRscHJv
Y3htbC5kdGQiPgotPERlZmluaXRpb25zPgotICA8d2ViaWRsPmludGVyZmFjZSBCIHsKLSAgdm9p
ZCBnKCk7Ci0gIHZvaWQgZyg8cmVmPkI8L3JlZj4gYik7Ci0gIHZvaWQgZyhbQWxsb3dBbnldIERP
TVN0cmluZyBzKTsKLX07PC93ZWJpZGw+Ci0gIDxJbnRlcmZhY2UgbmFtZT0iQiIgaWQ9Ijo6QiI+
Ci0gICAgPHdlYmlkbD5pbnRlcmZhY2UgQiB7Ci0gIHZvaWQgZygpOwotICB2b2lkIGcoPHJlZj5C
PC9yZWY+IGIpOwotICB2b2lkIGcoW0FsbG93QW55XSBET01TdHJpbmcgcyk7Ci19Ozwvd2ViaWRs
PgotICAgIDxPcGVyYXRpb24gbmFtZT0iZyIgaWQ9Ijo6Qjo6ZyI+Ci0gICAgICA8d2ViaWRsPiAg
dm9pZCBnKCk7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJ2b2lkIi8+Ci0gICAgICA8QXJn
dW1lbnRMaXN0Lz4KLSAgICA8L09wZXJhdGlvbj4KLSAgICA8T3BlcmF0aW9uIG5hbWU9ImciIGlk
PSI6OkI6OmciPgotICAgICAgPHdlYmlkbD4gIHZvaWQgZyg8cmVmPkI8L3JlZj4gYik7PC93ZWJp
ZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJ2b2lkIi8+Ci0gICAgICA8QXJndW1lbnRMaXN0PgotICAg
ICAgICA8QXJndW1lbnQgbmFtZT0iYiI+Ci0gICAgICAgICAgPFR5cGUgbmFtZT0iQiIvPgotICAg
ICAgICA8L0FyZ3VtZW50PgotICAgICAgPC9Bcmd1bWVudExpc3Q+Ci0gICAgPC9PcGVyYXRpb24+
Ci0gICAgPE9wZXJhdGlvbiBuYW1lPSJnIiBpZD0iOjpCOjpnIj4KLSAgICAgIDx3ZWJpZGw+ICB2
b2lkIGcoW0FsbG93QW55XSBET01TdHJpbmcgcyk7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBl
PSJ2b2lkIi8+Ci0gICAgICA8QXJndW1lbnRMaXN0PgotICAgICAgICA8QXJndW1lbnQgbmFtZT0i
cyI+Ci0gICAgICAgICAgPEV4dGVuZGVkQXR0cmlidXRlTGlzdD4KLSAgICAgICAgICAgIDxFeHRl
bmRlZEF0dHJpYnV0ZSBuYW1lPSJBbGxvd0FueSI+Ci0gICAgICAgICAgICAgIDx3ZWJpZGw+QWxs
b3dBbnk8L3dlYmlkbD4KLSAgICAgICAgICAgIDwvRXh0ZW5kZWRBdHRyaWJ1dGU+Ci0gICAgICAg
ICAgPC9FeHRlbmRlZEF0dHJpYnV0ZUxpc3Q+Ci0gICAgICAgICAgPFR5cGUgdHlwZT0iRE9NU3Ry
aW5nIi8+Ci0gICAgICAgIDwvQXJndW1lbnQ+Ci0gICAgICA8L0FyZ3VtZW50TGlzdD4KLSAgICA8
L09wZXJhdGlvbj4KLSAgPC9JbnRlcmZhY2U+Ci08L0RlZmluaXRpb25zPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL2FycmF5LndpZGxwcm9jeG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL2FycmF5LndpZGxwcm9jeG1sCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzZGY3MmZmMTYwODgxZWQwNTIyNGViZWY4NGI1YWI1MGQ5
ODJjZDNhLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9hcnJheS53aWRscHJvY3htbAorKysgL2Rl
di9udWxsCkBAIC0xLDI3ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVU
Ri04Ij8+Ci08IURPQ1RZUEUgRGVmaW5pdGlvbnMgU1lTVEVNICJ3aWRscHJvY3htbC5kdGQiPgot
PERlZmluaXRpb25zPgotICA8d2ViaWRsPltDb25zdHJ1Y3Rvcl0KLWludGVyZmFjZSBMb3R0ZXJ5
UmVzdWx0cyB7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBzaG9ydFtdW10gbnVtYmVy
czsKLX07PC93ZWJpZGw+Ci0gIDxJbnRlcmZhY2UgbmFtZT0iTG90dGVyeVJlc3VsdHMiIGlkPSI6
OkxvdHRlcnlSZXN1bHRzIj4KLSAgICA8d2ViaWRsPltDb25zdHJ1Y3Rvcl0KLWludGVyZmFjZSBM
b3R0ZXJ5UmVzdWx0cyB7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBzaG9ydFtdW10g
bnVtYmVyczsKLX07PC93ZWJpZGw+Ci0gICAgPEV4dGVuZGVkQXR0cmlidXRlTGlzdD4KLSAgICAg
IDxFeHRlbmRlZEF0dHJpYnV0ZSBuYW1lPSJDb25zdHJ1Y3RvciI+Ci0gICAgICAgIDx3ZWJpZGw+
Q29uc3RydWN0b3I8L3dlYmlkbD4KLSAgICAgIDwvRXh0ZW5kZWRBdHRyaWJ1dGU+Ci0gICAgPC9F
eHRlbmRlZEF0dHJpYnV0ZUxpc3Q+Ci0gICAgPEF0dHJpYnV0ZSByZWFkb25seT0icmVhZG9ubHki
IG5hbWU9Im51bWJlcnMiIGlkPSI6OkxvdHRlcnlSZXN1bHRzOjpudW1iZXJzIj4KLSAgICAgIDx3
ZWJpZGw+ICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgc2hvcnRbXVtdIG51bWJlcnM7PC93
ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJhcnJheSI+Ci0gICAgICAgIDxUeXBlIHR5cGU9ImFy
cmF5Ij4KLSAgICAgICAgICA8VHlwZSB0eXBlPSJ1bnNpZ25lZCBzaG9ydCIvPgotICAgICAgICA8
L1R5cGU+Ci0gICAgICA8L1R5cGU+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gIDwvSW50ZXJmYWNlPgot
PC9EZWZpbml0aW9ucz4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlk
L3htbC9hdHRyaWJ1dGVzLndpZGxwcm9jeG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFs
aWQveG1sL2F0dHJpYnV0ZXMud2lkbHByb2N4bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDg5YmQ4YWM5YjAxOWEyZTlkNWEyZjY2YjAwOWEyYzliOGE5NDBlMTguLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rl
c3QvdmFsaWQveG1sL2F0dHJpYnV0ZXMud2lkbHByb2N4bWwKKysrIC9kZXYvbnVsbApAQCAtMSwz
OCArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgotPCFET0NU
WVBFIERlZmluaXRpb25zIFNZU1RFTSAid2lkbHByb2N4bWwuZHRkIj4KLTxEZWZpbml0aW9ucz4K
LSAgPHdlYmlkbD5leGNlcHRpb24gSW52YWxpZE5hbWUgewotICBET01TdHJpbmcgcmVhc29uOwot
fTsKLQotZXhjZXB0aW9uIE5vU3VjaFBldCB7IH07Ci0KLWludGVyZmFjZSBQZXJzb24gewotCi0g
IGF0dHJpYnV0ZSB1bnNpZ25lZCBzaG9ydCBhZ2U7Ci0KLX07PC93ZWJpZGw+Ci0gIDxFeGNlcHRp
b24gbmFtZT0iSW52YWxpZE5hbWUiIGlkPSI6OkludmFsaWROYW1lIj4KLSAgICA8d2ViaWRsPmV4
Y2VwdGlvbiBJbnZhbGlkTmFtZSB7Ci0gIERPTVN0cmluZyByZWFzb247Ci19Ozwvd2ViaWRsPgot
ICAgIDxFeGNlcHRpb25GaWVsZCBuYW1lPSJyZWFzb24iIGlkPSI6OkludmFsaWROYW1lOjpyZWFz
b24iPgotICAgICAgPHdlYmlkbD4gIERPTVN0cmluZyByZWFzb247PC93ZWJpZGw+Ci0gICAgICA8
VHlwZSB0eXBlPSJET01TdHJpbmciLz4KLSAgICA8L0V4Y2VwdGlvbkZpZWxkPgotICA8L0V4Y2Vw
dGlvbj4KLSAgPEV4Y2VwdGlvbiBuYW1lPSJOb1N1Y2hQZXQiIGlkPSI6Ok5vU3VjaFBldCI+Ci0g
ICAgPHdlYmlkbD5leGNlcHRpb24gTm9TdWNoUGV0IHsgfTs8L3dlYmlkbD4KLSAgPC9FeGNlcHRp
b24+Ci0gIDxJbnRlcmZhY2UgbmFtZT0iUGVyc29uIiBpZD0iOjpQZXJzb24iPgotICAgIDx3ZWJp
ZGw+aW50ZXJmYWNlIFBlcnNvbiB7Ci0KLSAgYXR0cmlidXRlIHVuc2lnbmVkIHNob3J0IGFnZTsK
LQotfTs8L3dlYmlkbD4KLSAgICA8QXR0cmlidXRlIG5hbWU9ImFnZSIgaWQ9Ijo6UGVyc29uOjph
Z2UiPgotICAgICAgPHdlYmlkbD4gIGF0dHJpYnV0ZSB1bnNpZ25lZCBzaG9ydCBhZ2U7PC93ZWJp
ZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJ1bnNpZ25lZCBzaG9ydCIvPgotICAgIDwvQXR0cmlidXRl
PgotICA8L0ludGVyZmFjZT4KLTwvRGVmaW5pdGlvbnM+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
d2lkbHByb2MvdGVzdC92YWxpZC94bWwvY2FsbGJhY2sud2lkbHByb2N4bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
d2lkbHByb2MvdGVzdC92YWxpZC94bWwvY2FsbGJhY2sud2lkbHByb2N4bWwKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDllYWMwNmNlMjc5ZDg0MTMzMjdmYmJjNzAyZDI4MzU3MTU4OTkw
NzIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL2NhbGxiYWNrLndpZGxwcm9jeG1sCisrKyAvZGV2
L251bGwKQEAgLTEsMzIgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRG
LTgiPz4KLTwhRE9DVFlQRSBEZWZpbml0aW9ucyBTWVNURU0gIndpZGxwcm9jeG1sLmR0ZCI+Ci08
RGVmaW5pdGlvbnM+Ci0gIDx3ZWJpZGw+Y2FsbGJhY2sgQXN5bmNPcGVyYXRpb25DYWxsYmFjayA9
IHZvaWQgKERPTVN0cmluZyBzdGF0dXMpOwotCi1jYWxsYmFjayBpbnRlcmZhY2UgRXZlbnRIYW5k
bGVyIHsKLSAgdm9pZCBldmVudE9jY3VycmVkKERPTVN0cmluZyBkZXRhaWxzKTsKLX07PC93ZWJp
ZGw+Ci0gIDxDYWxsYmFjayBuYW1lPSJBc3luY09wZXJhdGlvbkNhbGxiYWNrIiBpZD0iOjpBc3lu
Y09wZXJhdGlvbkNhbGxiYWNrIj4KLSAgICA8d2ViaWRsPmNhbGxiYWNrIEFzeW5jT3BlcmF0aW9u
Q2FsbGJhY2sgPSB2b2lkIChET01TdHJpbmcgc3RhdHVzKTs8L3dlYmlkbD4KLSAgICA8VHlwZSB0
eXBlPSJ2b2lkIi8+Ci0gICAgPEFyZ3VtZW50TGlzdD4KLSAgICAgIDxBcmd1bWVudCBuYW1lPSJz
dGF0dXMiPgotICAgICAgICA8VHlwZSB0eXBlPSJET01TdHJpbmciLz4KLSAgICAgIDwvQXJndW1l
bnQ+Ci0gICAgPC9Bcmd1bWVudExpc3Q+Ci0gIDwvQ2FsbGJhY2s+Ci0gIDxJbnRlcmZhY2UgbmFt
ZT0iRXZlbnRIYW5kbGVyIiBjYWxsYmFjaz0iY2FsbGJhY2siIGlkPSI6OkV2ZW50SGFuZGxlciI+
Ci0gICAgPHdlYmlkbD5jYWxsYmFjayBpbnRlcmZhY2UgRXZlbnRIYW5kbGVyIHsKLSAgdm9pZCBl
dmVudE9jY3VycmVkKERPTVN0cmluZyBkZXRhaWxzKTsKLX07PC93ZWJpZGw+Ci0gICAgPE9wZXJh
dGlvbiBuYW1lPSJldmVudE9jY3VycmVkIiBpZD0iOjpFdmVudEhhbmRsZXI6OmV2ZW50T2NjdXJy
ZWQiPgotICAgICAgPHdlYmlkbD4gIHZvaWQgZXZlbnRPY2N1cnJlZChET01TdHJpbmcgZGV0YWls
cyk7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJ2b2lkIi8+Ci0gICAgICA8QXJndW1lbnRM
aXN0PgotICAgICAgICA8QXJndW1lbnQgbmFtZT0iZGV0YWlscyI+Ci0gICAgICAgICAgPFR5cGUg
dHlwZT0iRE9NU3RyaW5nIi8+Ci0gICAgICAgIDwvQXJndW1lbnQ+Ci0gICAgICA8L0FyZ3VtZW50
TGlzdD4KLSAgICA8L09wZXJhdGlvbj4KLSAgPC9JbnRlcmZhY2U+Ci08L0RlZmluaXRpb25zPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL2NhbGxlci53aWRs
cHJvY3htbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9jYWxsZXIud2lkbHBy
b2N4bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDk3NTRkNGUwMjY4NDkxNWJiMDMz
ZDNlYTk2ODRkZTUwNTc1Zjc4OWQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL2NhbGxlci53aWRs
cHJvY3htbAorKysgL2Rldi9udWxsCkBAIC0xLDIxICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEu
MCIgZW5jb2Rpbmc9IlVURi04Ij8+Ci08IURPQ1RZUEUgRGVmaW5pdGlvbnMgU1lTVEVNICJ3aWRs
cHJvY3htbC5kdGQiPgotPERlZmluaXRpb25zPgotICA8d2ViaWRsPmludGVyZmFjZSBOdW1iZXJR
dWFkcnVwbGVyIHsKLSAgbGVnYWN5Y2FsbGVyIGZsb2F0IGNvbXB1dGUoZmxvYXQgeCk7Ci19Ozwv
d2ViaWRsPgotICA8SW50ZXJmYWNlIG5hbWU9Ik51bWJlclF1YWRydXBsZXIiIGlkPSI6Ok51bWJl
clF1YWRydXBsZXIiPgotICAgIDx3ZWJpZGw+aW50ZXJmYWNlIE51bWJlclF1YWRydXBsZXIgewot
ICBsZWdhY3ljYWxsZXIgZmxvYXQgY29tcHV0ZShmbG9hdCB4KTsKLX07PC93ZWJpZGw+Ci0gICAg
PE9wZXJhdGlvbiBsZWdhY3ljYWxsZXI9ImxlZ2FjeWNhbGxlciIgbmFtZT0iY29tcHV0ZSIgaWQ9
Ijo6TnVtYmVyUXVhZHJ1cGxlcjo6Y29tcHV0ZSI+Ci0gICAgICA8d2ViaWRsPiAgbGVnYWN5Y2Fs
bGVyIGZsb2F0IGNvbXB1dGUoZmxvYXQgeCk7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJm
bG9hdCIvPgotICAgICAgPEFyZ3VtZW50TGlzdD4KLSAgICAgICAgPEFyZ3VtZW50IG5hbWU9Ingi
PgotICAgICAgICAgIDxUeXBlIHR5cGU9ImZsb2F0Ii8+Ci0gICAgICAgIDwvQXJndW1lbnQ+Ci0g
ICAgICA8L0FyZ3VtZW50TGlzdD4KLSAgICA8L09wZXJhdGlvbj4KLSAgPC9JbnRlcmZhY2U+Ci08
L0RlZmluaXRpb25zPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQv
eG1sL2NvbnN0YW50cy53aWRscHJvY3htbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlk
L3htbC9jb25zdGFudHMud2lkbHByb2N4bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDUxY2I0MzMxZjc1NGMyM2M1NDdkYzE5M2ExZWZkMGUyNGYyYTE4MTIuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3Qv
dmFsaWQveG1sL2NvbnN0YW50cy53aWRscHJvY3htbAorKysgL2Rldi9udWxsCkBAIC0xLDg1ICsw
LDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Ci08IURPQ1RZUEUg
RGVmaW5pdGlvbnMgU1lTVEVNICJ3aWRscHJvY3htbC5kdGQiPgotPERlZmluaXRpb25zPgotICA8
d2ViaWRsPmludGVyZmFjZSBVdGlsIHsKLSAgY29uc3QgYm9vbGVhbiBERUJVRyA9IGZhbHNlOwot
ICBjb25zdCBzaG9ydCBuZWdhdGl2ZSA9IC0xOwotICBjb25zdCBvY3RldCBMRiA9IDEwOwotICBj
b25zdCB1bnNpZ25lZCBsb25nIEJJVF9NQVNLID0gMHgwMDAwZmMwMDsKLSAgY29uc3QgZmxvYXQg
QVZPR0FEUk8gPSA2LjAyMmUyMzsKLSAgY29uc3QgdW5yZXN0cmljdGVkIGZsb2F0IHNvYmlnID0g
SW5maW5pdHk7Ci0gIGNvbnN0IHVucmVzdHJpY3RlZCBkb3VibGUgbWludXNvbmVkaXZpZGVkYnl6
ZXJvID0gLUluZmluaXR5OwotICBjb25zdCBzaG9ydCBub3RhbnVtYmVyID0gTmFOOwotfTsKLQot
ZXhjZXB0aW9uIEVycm9yIHsKLSAgY29uc3Qgc2hvcnQgRVJSX1VOS05PV04gPSAwOwotICBjb25z
dCBzaG9ydCBFUlJfT1VUX09GX01FTU9SWSA9IDE7Ci0KLSAgc2hvcnQgZXJyb3JDb2RlOwotfTs8
L3dlYmlkbD4KLSAgPEludGVyZmFjZSBuYW1lPSJVdGlsIiBpZD0iOjpVdGlsIj4KLSAgICA8d2Vi
aWRsPmludGVyZmFjZSBVdGlsIHsKLSAgY29uc3QgYm9vbGVhbiBERUJVRyA9IGZhbHNlOwotICBj
b25zdCBzaG9ydCBuZWdhdGl2ZSA9IC0xOwotICBjb25zdCBvY3RldCBMRiA9IDEwOwotICBjb25z
dCB1bnNpZ25lZCBsb25nIEJJVF9NQVNLID0gMHgwMDAwZmMwMDsKLSAgY29uc3QgZmxvYXQgQVZP
R0FEUk8gPSA2LjAyMmUyMzsKLSAgY29uc3QgdW5yZXN0cmljdGVkIGZsb2F0IHNvYmlnID0gSW5m
aW5pdHk7Ci0gIGNvbnN0IHVucmVzdHJpY3RlZCBkb3VibGUgbWludXNvbmVkaXZpZGVkYnl6ZXJv
ID0gLUluZmluaXR5OwotICBjb25zdCBzaG9ydCBub3RhbnVtYmVyID0gTmFOOwotfTs8L3dlYmlk
bD4KLSAgICA8Q29uc3QgbmFtZT0iREVCVUciIHZhbHVlPSJmYWxzZSIgaWQ9Ijo6VXRpbDo6REVC
VUciPgotICAgICAgPHdlYmlkbD4gIGNvbnN0IGJvb2xlYW4gREVCVUcgPSBmYWxzZTs8L3dlYmlk
bD4KLSAgICAgIDxUeXBlIHR5cGU9ImJvb2xlYW4iLz4KLSAgICA8L0NvbnN0PgotICAgIDxDb25z
dCBuYW1lPSJuZWdhdGl2ZSIgdmFsdWU9Ii0xIiBpZD0iOjpVdGlsOjpuZWdhdGl2ZSI+Ci0gICAg
ICA8d2ViaWRsPiAgY29uc3Qgc2hvcnQgbmVnYXRpdmUgPSAtMTs8L3dlYmlkbD4KLSAgICAgIDxU
eXBlIHR5cGU9InNob3J0Ii8+Ci0gICAgPC9Db25zdD4KLSAgICA8Q29uc3QgbmFtZT0iTEYiIHZh
bHVlPSIxMCIgaWQ9Ijo6VXRpbDo6TEYiPgotICAgICAgPHdlYmlkbD4gIGNvbnN0IG9jdGV0IExG
ID0gMTA7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJvY3RldCIvPgotICAgIDwvQ29uc3Q+
Ci0gICAgPENvbnN0IG5hbWU9IkJJVF9NQVNLIiB2YWx1ZT0iMHgwMDAwZmMwMCIgaWQ9Ijo6VXRp
bDo6QklUX01BU0siPgotICAgICAgPHdlYmlkbD4gIGNvbnN0IHVuc2lnbmVkIGxvbmcgQklUX01B
U0sgPSAweDAwMDBmYzAwOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0idW5zaWduZWQgbG9u
ZyIvPgotICAgIDwvQ29uc3Q+Ci0gICAgPENvbnN0IG5hbWU9IkFWT0dBRFJPIiB2YWx1ZT0iNi4w
MjJlMjMiIGlkPSI6OlV0aWw6OkFWT0dBRFJPIj4KLSAgICAgIDx3ZWJpZGw+ICBjb25zdCBmbG9h
dCBBVk9HQURSTyA9IDYuMDIyZTIzOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0iZmxvYXQi
Lz4KLSAgICA8L0NvbnN0PgotICAgIDxDb25zdCBuYW1lPSJzb2JpZyIgdmFsdWU9IkluZmluaXR5
IiBpZD0iOjpVdGlsOjpzb2JpZyI+Ci0gICAgICA8d2ViaWRsPiAgY29uc3QgdW5yZXN0cmljdGVk
IGZsb2F0IHNvYmlnID0gSW5maW5pdHk7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJ1bnJl
c3RyaWN0ZWQgZmxvYXQiLz4KLSAgICA8L0NvbnN0PgotICAgIDxDb25zdCBuYW1lPSJtaW51c29u
ZWRpdmlkZWRieXplcm8iIHZhbHVlPSItSW5maW5pdHkiIGlkPSI6OlV0aWw6Om1pbnVzb25lZGl2
aWRlZGJ5emVybyI+Ci0gICAgICA8d2ViaWRsPiAgY29uc3QgdW5yZXN0cmljdGVkIGRvdWJsZSBt
aW51c29uZWRpdmlkZWRieXplcm8gPSAtSW5maW5pdHk7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0
eXBlPSJ1bnJlc3RyaWN0ZWQgZG91YmxlIi8+Ci0gICAgPC9Db25zdD4KLSAgICA8Q29uc3QgbmFt
ZT0ibm90YW51bWJlciIgdmFsdWU9Ik5hTiIgaWQ9Ijo6VXRpbDo6bm90YW51bWJlciI+Ci0gICAg
ICA8d2ViaWRsPiAgY29uc3Qgc2hvcnQgbm90YW51bWJlciA9IE5hTjs8L3dlYmlkbD4KLSAgICAg
IDxUeXBlIHR5cGU9InNob3J0Ii8+Ci0gICAgPC9Db25zdD4KLSAgPC9JbnRlcmZhY2U+Ci0gIDxF
eGNlcHRpb24gbmFtZT0iRXJyb3IiIGlkPSI6OkVycm9yIj4KLSAgICA8d2ViaWRsPmV4Y2VwdGlv
biBFcnJvciB7Ci0gIGNvbnN0IHNob3J0IEVSUl9VTktOT1dOID0gMDsKLSAgY29uc3Qgc2hvcnQg
RVJSX09VVF9PRl9NRU1PUlkgPSAxOwotCi0gIHNob3J0IGVycm9yQ29kZTsKLX07PC93ZWJpZGw+
Ci0gICAgPENvbnN0IG5hbWU9IkVSUl9VTktOT1dOIiB2YWx1ZT0iMCIgaWQ9Ijo6RXJyb3I6OkVS
Ul9VTktOT1dOIj4KLSAgICAgIDx3ZWJpZGw+ICBjb25zdCBzaG9ydCBFUlJfVU5LTk9XTiA9IDA7
PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJzaG9ydCIvPgotICAgIDwvQ29uc3Q+Ci0gICAg
PENvbnN0IG5hbWU9IkVSUl9PVVRfT0ZfTUVNT1JZIiB2YWx1ZT0iMSIgaWQ9Ijo6RXJyb3I6OkVS
Ul9PVVRfT0ZfTUVNT1JZIj4KLSAgICAgIDx3ZWJpZGw+ICBjb25zdCBzaG9ydCBFUlJfT1VUX09G
X01FTU9SWSA9IDE7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJzaG9ydCIvPgotICAgIDwv
Q29uc3Q+Ci0gICAgPEV4Y2VwdGlvbkZpZWxkIG5hbWU9ImVycm9yQ29kZSIgaWQ9Ijo6RXJyb3I6
OmVycm9yQ29kZSI+Ci0gICAgICA8d2ViaWRsPiAgc2hvcnQgZXJyb3JDb2RlOzwvd2ViaWRsPgot
ICAgICAgPFR5cGUgdHlwZT0ic2hvcnQiLz4KLSAgICA8L0V4Y2VwdGlvbkZpZWxkPgotICA8L0V4
Y2VwdGlvbj4KLTwvRGVmaW5pdGlvbnM+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mv
dGVzdC92YWxpZC94bWwvY29uc3RydWN0b3Iud2lkbHByb2N4bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHBy
b2MvdGVzdC92YWxpZC94bWwvY29uc3RydWN0b3Iud2lkbHByb2N4bWwKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDhlNzhmYmFiMzY1OWYxNGQ3ZTU5MTE0MWIzZWVlZjBlOGEwZTI3ZTUu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL2NvbnN0cnVjdG9yLndpZGxwcm9jeG1sCisrKyAvZGV2
L251bGwKQEAgLTEsNTEgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRG
LTgiPz4KLTwhRE9DVFlQRSBEZWZpbml0aW9ucyBTWVNURU0gIndpZGxwcm9jeG1sLmR0ZCI+Ci08
RGVmaW5pdGlvbnM+Ci0gIDx3ZWJpZGw+W0NvbnN0cnVjdG9yLAotIENvbnN0cnVjdG9yKGZsb2F0
IHJhZGl1cyldCi1pbnRlcmZhY2UgQ2lyY2xlIHsKLSAgYXR0cmlidXRlIGZsb2F0IHI7Ci0gIGF0
dHJpYnV0ZSBmbG9hdCBjeDsKLSAgYXR0cmlidXRlIGZsb2F0IGN5OwotICByZWFkb25seSBhdHRy
aWJ1dGUgZmxvYXQgY2lyY3VtZmVyZW5jZTsKLX07PC93ZWJpZGw+Ci0gIDxJbnRlcmZhY2UgbmFt
ZT0iQ2lyY2xlIiBpZD0iOjpDaXJjbGUiPgotICAgIDx3ZWJpZGw+W0NvbnN0cnVjdG9yLAotIENv
bnN0cnVjdG9yKGZsb2F0IHJhZGl1cyldCi1pbnRlcmZhY2UgQ2lyY2xlIHsKLSAgYXR0cmlidXRl
IGZsb2F0IHI7Ci0gIGF0dHJpYnV0ZSBmbG9hdCBjeDsKLSAgYXR0cmlidXRlIGZsb2F0IGN5Owot
ICByZWFkb25seSBhdHRyaWJ1dGUgZmxvYXQgY2lyY3VtZmVyZW5jZTsKLX07PC93ZWJpZGw+Ci0g
ICAgPEV4dGVuZGVkQXR0cmlidXRlTGlzdD4KLSAgICAgIDxFeHRlbmRlZEF0dHJpYnV0ZSBuYW1l
PSJDb25zdHJ1Y3RvciI+Ci0gICAgICAgIDx3ZWJpZGw+Q29uc3RydWN0b3I8L3dlYmlkbD4KLSAg
ICAgIDwvRXh0ZW5kZWRBdHRyaWJ1dGU+Ci0gICAgICA8RXh0ZW5kZWRBdHRyaWJ1dGUgbmFtZT0i
Q29uc3RydWN0b3IiPgotICAgICAgICA8d2ViaWRsPiBDb25zdHJ1Y3RvcihmbG9hdCByYWRpdXMp
PC93ZWJpZGw+Ci0gICAgICAgIDxBcmd1bWVudExpc3Q+Ci0gICAgICAgICAgPEFyZ3VtZW50IG5h
bWU9InJhZGl1cyI+Ci0gICAgICAgICAgICA8VHlwZSB0eXBlPSJmbG9hdCIvPgotICAgICAgICAg
IDwvQXJndW1lbnQ+Ci0gICAgICAgIDwvQXJndW1lbnRMaXN0PgotICAgICAgPC9FeHRlbmRlZEF0
dHJpYnV0ZT4KLSAgICA8L0V4dGVuZGVkQXR0cmlidXRlTGlzdD4KLSAgICA8QXR0cmlidXRlIG5h
bWU9InIiIGlkPSI6OkNpcmNsZTo6ciI+Ci0gICAgICA8d2ViaWRsPiAgYXR0cmlidXRlIGZsb2F0
IHI7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJmbG9hdCIvPgotICAgIDwvQXR0cmlidXRl
PgotICAgIDxBdHRyaWJ1dGUgbmFtZT0iY3giIGlkPSI6OkNpcmNsZTo6Y3giPgotICAgICAgPHdl
YmlkbD4gIGF0dHJpYnV0ZSBmbG9hdCBjeDs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9ImZs
b2F0Ii8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gICAgPEF0dHJpYnV0ZSBuYW1lPSJjeSIgaWQ9Ijo6
Q2lyY2xlOjpjeSI+Ci0gICAgICA8d2ViaWRsPiAgYXR0cmlidXRlIGZsb2F0IGN5Ozwvd2ViaWRs
PgotICAgICAgPFR5cGUgdHlwZT0iZmxvYXQiLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAgICA8QXR0
cmlidXRlIHJlYWRvbmx5PSJyZWFkb25seSIgbmFtZT0iY2lyY3VtZmVyZW5jZSIgaWQ9Ijo6Q2ly
Y2xlOjpjaXJjdW1mZXJlbmNlIj4KLSAgICAgIDx3ZWJpZGw+ICByZWFkb25seSBhdHRyaWJ1dGUg
ZmxvYXQgY2lyY3VtZmVyZW5jZTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9ImZsb2F0Ii8+
Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gIDwvSW50ZXJmYWNlPgotPC9EZWZpbml0aW9ucz4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9kaWN0aW9uYXJ5LWluaGVy
aXRzLndpZGxwcm9jeG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL2RpY3Rp
b25hcnktaW5oZXJpdHMud2lkbHByb2N4bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDI2OWE4M2NkODQ5YjNhMzVmYzI4YTFhMzFhY2NiNTczNDExNjJkMjEuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3Qv
dmFsaWQveG1sL2RpY3Rpb25hcnktaW5oZXJpdHMud2lkbHByb2N4bWwKKysrIC9kZXYvbnVsbApA
QCAtMSw0NCArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/Pgot
PCFET0NUWVBFIERlZmluaXRpb25zIFNZU1RFTSAid2lkbHByb2N4bWwuZHRkIj4KLTxEZWZpbml0
aW9ucz4KLSAgPHdlYmlkbD5kaWN0aW9uYXJ5IFBhaW50T3B0aW9ucyB7Ci0gIERPTVN0cmluZz8g
ZmlsbFBhdHRlcm4gPSAmcXVvdDtibGFjayZxdW90OzsKLSAgRE9NU3RyaW5nPyBzdHJva2VQYXR0
ZXJuID0gbnVsbDsKLSAgPHJlZj5Qb2ludDwvcmVmPiBwb3NpdGlvbjsKLX07Ci0KLWRpY3Rpb25h
cnkgV2V0UGFpbnRPcHRpb25zIDogPHJlZj5QYWludE9wdGlvbnM8L3JlZj4gewotICBmbG9hdCBo
eWRyb21ldHJ5OwotfTs8L3dlYmlkbD4KLSAgPERpY3Rpb25hcnkgbmFtZT0iUGFpbnRPcHRpb25z
IiBpZD0iOjpQYWludE9wdGlvbnMiPgotICAgIDx3ZWJpZGw+ZGljdGlvbmFyeSBQYWludE9wdGlv
bnMgewotICBET01TdHJpbmc/IGZpbGxQYXR0ZXJuID0gJnF1b3Q7YmxhY2smcXVvdDs7Ci0gIERP
TVN0cmluZz8gc3Ryb2tlUGF0dGVybiA9IG51bGw7Ci0gIDxyZWY+UG9pbnQ8L3JlZj4gcG9zaXRp
b247Ci19Ozwvd2ViaWRsPgotICAgIDxEaWN0aW9uYXJ5TWVtYmVyIG5hbWU9ImZpbGxQYXR0ZXJu
IiBzdHJpbmd2YWx1ZT0iYmxhY2siIGlkPSI6OlBhaW50T3B0aW9uczo6ZmlsbFBhdHRlcm4iPgot
ICAgICAgPHdlYmlkbD4gIERPTVN0cmluZz8gZmlsbFBhdHRlcm4gPSAmcXVvdDtibGFjayZxdW90
Ozs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9IkRPTVN0cmluZyIgbnVsbGFibGU9Im51bGxh
YmxlIi8+Ci0gICAgPC9EaWN0aW9uYXJ5TWVtYmVyPgotICAgIDxEaWN0aW9uYXJ5TWVtYmVyIG5h
bWU9InN0cm9rZVBhdHRlcm4iIHZhbHVlPSJudWxsIiBpZD0iOjpQYWludE9wdGlvbnM6OnN0cm9r
ZVBhdHRlcm4iPgotICAgICAgPHdlYmlkbD4gIERPTVN0cmluZz8gc3Ryb2tlUGF0dGVybiA9IG51
bGw7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJET01TdHJpbmciIG51bGxhYmxlPSJudWxs
YWJsZSIvPgotICAgIDwvRGljdGlvbmFyeU1lbWJlcj4KLSAgICA8RGljdGlvbmFyeU1lbWJlciBu
YW1lPSJwb3NpdGlvbiIgaWQ9Ijo6UGFpbnRPcHRpb25zOjpwb3NpdGlvbiI+Ci0gICAgICA8d2Vi
aWRsPiAgPHJlZj5Qb2ludDwvcmVmPiBwb3NpdGlvbjs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIG5h
bWU9IlBvaW50Ii8+Ci0gICAgPC9EaWN0aW9uYXJ5TWVtYmVyPgotICA8L0RpY3Rpb25hcnk+Ci0g
IDxEaWN0aW9uYXJ5IG5hbWU9IldldFBhaW50T3B0aW9ucyIgaWQ9Ijo6V2V0UGFpbnRPcHRpb25z
Ij4KLSAgICA8d2ViaWRsPmRpY3Rpb25hcnkgV2V0UGFpbnRPcHRpb25zIDogPHJlZj5QYWludE9w
dGlvbnM8L3JlZj4gewotICBmbG9hdCBoeWRyb21ldHJ5OwotfTs8L3dlYmlkbD4KLSAgICA8RGlj
dGlvbmFyeUluaGVyaXRhbmNlPgotICAgICAgPE5hbWUgbmFtZT0iUGFpbnRPcHRpb25zIi8+Ci0g
ICAgPC9EaWN0aW9uYXJ5SW5oZXJpdGFuY2U+Ci0gICAgPERpY3Rpb25hcnlNZW1iZXIgbmFtZT0i
aHlkcm9tZXRyeSIgaWQ9Ijo6V2V0UGFpbnRPcHRpb25zOjpoeWRyb21ldHJ5Ij4KLSAgICAgIDx3
ZWJpZGw+ICBmbG9hdCBoeWRyb21ldHJ5Ozwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0iZmxv
YXQiLz4KLSAgICA8L0RpY3Rpb25hcnlNZW1iZXI+Ci0gIDwvRGljdGlvbmFyeT4KLTwvRGVmaW5p
dGlvbnM+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvZGlj
dGlvbmFyeS53aWRscHJvY3htbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9k
aWN0aW9uYXJ5LndpZGxwcm9jeG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5Nzhj
Y2I0ZTI3MWZhMDhiYTc2MWM4MTYwMTkwYWNhN2JmMjhlOTBhLi4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlk
L3htbC9kaWN0aW9uYXJ5LndpZGxwcm9jeG1sCisrKyAvZGV2L251bGwKQEAgLTEsNDcgKzAsMCBA
QAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KLTwhRE9DVFlQRSBEZWZp
bml0aW9ucyBTWVNURU0gIndpZGxwcm9jeG1sLmR0ZCI+Ci08RGVmaW5pdGlvbnM+Ci0gIDx3ZWJp
ZGw+ZGljdGlvbmFyeSBQYWludE9wdGlvbnMgewotICBET01TdHJpbmc/IGZpbGxQYXR0ZXJuID0g
JnF1b3Q7YmxhY2smcXVvdDs7Ci0gIERPTVN0cmluZz8gc3Ryb2tlUGF0dGVybiA9IG51bGw7Ci0g
IDxyZWY+UG9pbnQ8L3JlZj4gcG9zaXRpb247Ci19OwotCi1wYXJ0aWFsIGRpY3Rpb25hcnkgQSB7
Ci0gIGxvbmcgaDsKLSAgbG9uZyBkOwotfTs8L3dlYmlkbD4KLSAgPERpY3Rpb25hcnkgbmFtZT0i
UGFpbnRPcHRpb25zIiBpZD0iOjpQYWludE9wdGlvbnMiPgotICAgIDx3ZWJpZGw+ZGljdGlvbmFy
eSBQYWludE9wdGlvbnMgewotICBET01TdHJpbmc/IGZpbGxQYXR0ZXJuID0gJnF1b3Q7YmxhY2sm
cXVvdDs7Ci0gIERPTVN0cmluZz8gc3Ryb2tlUGF0dGVybiA9IG51bGw7Ci0gIDxyZWY+UG9pbnQ8
L3JlZj4gcG9zaXRpb247Ci19Ozwvd2ViaWRsPgotICAgIDxEaWN0aW9uYXJ5TWVtYmVyIG5hbWU9
ImZpbGxQYXR0ZXJuIiBzdHJpbmd2YWx1ZT0iYmxhY2siIGlkPSI6OlBhaW50T3B0aW9uczo6Zmls
bFBhdHRlcm4iPgotICAgICAgPHdlYmlkbD4gIERPTVN0cmluZz8gZmlsbFBhdHRlcm4gPSAmcXVv
dDtibGFjayZxdW90Ozs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9IkRPTVN0cmluZyIgbnVs
bGFibGU9Im51bGxhYmxlIi8+Ci0gICAgPC9EaWN0aW9uYXJ5TWVtYmVyPgotICAgIDxEaWN0aW9u
YXJ5TWVtYmVyIG5hbWU9InN0cm9rZVBhdHRlcm4iIHZhbHVlPSJudWxsIiBpZD0iOjpQYWludE9w
dGlvbnM6OnN0cm9rZVBhdHRlcm4iPgotICAgICAgPHdlYmlkbD4gIERPTVN0cmluZz8gc3Ryb2tl
UGF0dGVybiA9IG51bGw7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJET01TdHJpbmciIG51
bGxhYmxlPSJudWxsYWJsZSIvPgotICAgIDwvRGljdGlvbmFyeU1lbWJlcj4KLSAgICA8RGljdGlv
bmFyeU1lbWJlciBuYW1lPSJwb3NpdGlvbiIgaWQ9Ijo6UGFpbnRPcHRpb25zOjpwb3NpdGlvbiI+
Ci0gICAgICA8d2ViaWRsPiAgPHJlZj5Qb2ludDwvcmVmPiBwb3NpdGlvbjs8L3dlYmlkbD4KLSAg
ICAgIDxUeXBlIG5hbWU9IlBvaW50Ii8+Ci0gICAgPC9EaWN0aW9uYXJ5TWVtYmVyPgotICA8L0Rp
Y3Rpb25hcnk+Ci0gIDxEaWN0aW9uYXJ5IG5hbWU9IkEiIHBhcnRpYWw9InBhcnRpYWwiIGlkPSI6
OkEiPgotICAgIDx3ZWJpZGw+cGFydGlhbCBkaWN0aW9uYXJ5IEEgewotICBsb25nIGg7Ci0gIGxv
bmcgZDsKLX07PC93ZWJpZGw+Ci0gICAgPERpY3Rpb25hcnlNZW1iZXIgbmFtZT0iaCIgaWQ9Ijo6
QTo6aCI+Ci0gICAgICA8d2ViaWRsPiAgbG9uZyBoOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlw
ZT0ibG9uZyIvPgotICAgIDwvRGljdGlvbmFyeU1lbWJlcj4KLSAgICA8RGljdGlvbmFyeU1lbWJl
ciBuYW1lPSJkIiBpZD0iOjpBOjpkIj4KLSAgICAgIDx3ZWJpZGw+ICBsb25nIGQ7PC93ZWJpZGw+
Ci0gICAgICA8VHlwZSB0eXBlPSJsb25nIi8+Ci0gICAgPC9EaWN0aW9uYXJ5TWVtYmVyPgotICA8
L0RpY3Rpb25hcnk+Ci08L0RlZmluaXRpb25zPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxw
cm9jL3Rlc3QvdmFsaWQveG1sL2RvY3VtZW50YXRpb24tZG9zLndpZGxwcm9jeG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL2RvY3VtZW50YXRpb24tZG9zLndpZGxwcm9jeG1s
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxNjExZjBlNTc2YTAzOGFlNzc3NjFiZjE4
Yjg3ZjJjY2ZjMzY1YWVmLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9kb2N1bWVudGF0aW9uLWRv
cy53aWRscHJvY3htbAorKysgL2Rldi9udWxsCkBAIC0xLDU5ICswLDAgQEAKLTw/eG1sIHZlcnNp
b249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Ci08IURPQ1RZUEUgRGVmaW5pdGlvbnMgU1lTVEVN
ICJ3aWRscHJvY3htbC5kdGQiPgotPERlZmluaXRpb25zPgotICA8d2ViaWRsPmludGVyZmFjZSBE
b2N1bWVudGF0aW9uIHt9Ozwvd2ViaWRsPgotICA8SW50ZXJmYWNlIG5hbWU9IkRvY3VtZW50YXRp
b24iIGlkPSI6OkRvY3VtZW50YXRpb24iPgotICAgIDx3ZWJpZGw+aW50ZXJmYWNlIERvY3VtZW50
YXRpb24ge307PC93ZWJpZGw+Ci0gICAgPGRlc2NyaXB0aXZlPgotICAgICAgICA8YnJpZWY+Ci0g
VGVzdGluZyBkb2N1bWVudGF0aW9uIGZlYXR1cmVzCi0gICAgICAgIDwvYnJpZWY+Ci0gICAgICAg
PGRlc2NyaXB0aW9uPgotICAgICAgICA8cD4KLVRoaXMgaXMgYQotc2luZ2xlIHBhcmFncmFwaAot
ICAgICAgICA8L3A+Ci0gICAgICAgIDxwPgotVGhpcyBpcyB2YWxpZC4gICAgICAgIDwvcD4KLSAg
ICAgICAgPHA+Ci1UaGlzIGlzIDxlbT52YWxpZDwvZW0+LiAgICAgICAgPC9wPgotICAgICAgICA8
cD4KLVRoaXMgaXMgPGI+dmFsaWQ8L2I+LiAgICAgICAgPC9wPgotICAgICAgICA8cD4KLVRoaXMg
aXMgPGEgaHJlZj0nJz52YWxpZDwvYT4uICAgICAgICA8L3A+Ci0gICAgICAgIDx1bD4KLSAgICAg
ICAgICA8bGk+Ci1UaGlzICAgICAgICAgIDwvbGk+Ci0gICAgICAgICAgPGxpPgotaXMgICAgICAg
ICAgPC9saT4KLSAgICAgICAgICA8bGk+Ci12YWxpZCAgICAgICAgICA8L2xpPgotICAgICAgICA8
L3VsPgotICAgICAgICA8ZGw+Ci0gICAgICAgICAgPGR0PgotVGhpcyAgICAgICAgICA8L2R0Pgot
ICAgICAgICAgIDxkZD4KLXZhbGlkICAgICAgICAgIDwvZGQ+Ci0gICAgICAgIDwvZGw+Ci0gICAg
ICAgIDx0YWJsZT4KLSAgICAgICAgICA8dHI+Ci0gICAgICAgICAgICA8dGQ+Ci10aGlzICAgICAg
ICAgICAgPC90ZD4KLSAgICAgICAgICAgIDx0ZD4KLWlzICAgICAgICAgICAgPC90ZD4KLSAgICAg
ICAgICA8L3RyPgotICAgICAgICAgIDx0cj4KLSAgICAgICAgICAgIDx0ZD4KLXZhbGlkICAgICAg
ICAgICAgPC90ZD4KLSAgICAgICAgICA8L3RyPgotICAgICAgICA8L3RhYmxlPgotICAgICAgICA8
cD4KLVRoaXMgaXMgPGJyLz4gdmFsaWQuICAgICAgICA8L3A+Ci0gICAgICAgIDxwPgotVGhpcyBp
cyA8YnIgLz4gdmFsaWQuICAgICAgICA8L3A+Ci0gICAgICAgIDxwPgotVGhpcyBpcyA8YnIvPiB2
YWxpZC4gICAgICAgIDwvcD4KLSAgICAgICA8L2Rlc2NyaXB0aW9uPgotICAgIDwvZGVzY3JpcHRp
dmU+Ci0gIDwvSW50ZXJmYWNlPgotPC9EZWZpbml0aW9ucz4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9kb2N1bWVudGF0aW9uLndpZGxwcm9jeG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL2RvY3VtZW50YXRpb24ud2lkbHByb2N4bWwK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGFmZTQ1MjdjMjIxMTI5MjI1ZGMzMjNiYTU3
ZjQ4ZTc2MGVkM2EzZDkuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL2RvY3VtZW50YXRpb24ud2lk
bHByb2N4bWwKKysrIC9kZXYvbnVsbApAQCAtMSw2MSArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIx
LjAiIGVuY29kaW5nPSJVVEYtOCI/PgotPCFET0NUWVBFIERlZmluaXRpb25zIFNZU1RFTSAid2lk
bHByb2N4bWwuZHRkIj4KLTxEZWZpbml0aW9ucz4KLSAgPHdlYmlkbD5pbnRlcmZhY2UgRG9jdW1l
bnRhdGlvbiB7fTs8L3dlYmlkbD4KLSAgPEludGVyZmFjZSBuYW1lPSJEb2N1bWVudGF0aW9uIiBp
ZD0iOjpEb2N1bWVudGF0aW9uIj4KLSAgICA8d2ViaWRsPmludGVyZmFjZSBEb2N1bWVudGF0aW9u
IHt9Ozwvd2ViaWRsPgotICAgIDxkZXNjcmlwdGl2ZT4KLSAgICAgICAgPGJyaWVmPgotIFRlc3Rp
bmcgZG9jdW1lbnRhdGlvbiBmZWF0dXJlcwotICAgICAgICA8L2JyaWVmPgotICAgICAgIDxkZXNj
cmlwdGlvbj4KLSAgICAgICAgPHA+Ci1UaGlzIGlzIGEKLXNpbmdsZSBwYXJhZ3JhcGgKLSAgICAg
ICAgPC9wPgotICAgICAgICA8cD4KLVRoaXMgaXMgdmFsaWQuICAgICAgICA8L3A+Ci0gICAgICAg
IDxwPgotVGhpcyBpcyA8ZW0+dmFsaWQ8L2VtPi4gICAgICAgIDwvcD4KLSAgICAgICAgPHA+Ci1U
aGlzIGlzIDxiPnZhbGlkPC9iPi4gICAgICAgIDwvcD4KLSAgICAgICAgPHA+Ci1UaGlzIGlzIDxh
IGhyZWY9Jyc+dmFsaWQ8L2E+LiAgICAgICAgPC9wPgotICAgICAgICA8dWw+Ci0gICAgICAgICAg
PGxpPgotVGhpcyAgICAgICAgICA8L2xpPgotICAgICAgICAgIDxsaT4KLWlzICAgICAgICAgIDwv
bGk+Ci0gICAgICAgICAgPGxpPgotdmFsaWQgICAgICAgICAgPC9saT4KLSAgICAgICAgPC91bD4K
LSAgICAgICAgPGRsPgotICAgICAgICAgIDxkdD4KLVRoaXMgICAgICAgICAgPC9kdD4KLSAgICAg
ICAgICA8ZGQ+Ci12YWxpZCAgICAgICAgICA8L2RkPgotICAgICAgICA8L2RsPgotICAgICAgICA8
dGFibGU+Ci0gICAgICAgICAgPHRyPgotICAgICAgICAgICAgPHRkPgotdGhpcyAgICAgICAgICAg
IDwvdGQ+Ci0gICAgICAgICAgICA8dGQ+Ci1pcyAgICAgICAgICAgIDwvdGQ+Ci0gICAgICAgICAg
PC90cj4KLSAgICAgICAgICA8dHI+Ci0gICAgICAgICAgICA8dGQ+Ci12YWxpZCAgICAgICAgICAg
IDwvdGQ+Ci0gICAgICAgICAgPC90cj4KLSAgICAgICAgPC90YWJsZT4KLSAgICAgICAgPHA+Ci1U
aGlzIGlzIDxici8+IHZhbGlkLiAgICAgICAgPC9wPgotICAgICAgICA8cD4KLVRoaXMgaXMgPGJy
IC8+IHZhbGlkLiAgICAgICAgPC9wPgotICAgICAgICA8cD4KLVRoaXMgaXMgPGJyLz4gdmFsaWQu
ICAgICAgICA8L3A+Ci0gICAgICAgIDxwPgotPGltZyBzcmM9ImZvby5wbmciIGFsdD0iVmFsaWQi
Lz4gICAgICAgIDwvcD4KLSAgICAgICA8L2Rlc2NyaXB0aW9uPgotICAgIDwvZGVzY3JpcHRpdmU+
Ci0gIDwvSW50ZXJmYWNlPgotPC9EZWZpbml0aW9ucz4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93
aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9lbnVtLndpZGxwcm9jeG1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxw
cm9jL3Rlc3QvdmFsaWQveG1sL2VudW0ud2lkbHByb2N4bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IGUxZTgyNThmYmQwNjE2ZmJkMTc3NTZmODQ1YmExMTI5ZjQwNWExYTAuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxw
cm9jL3Rlc3QvdmFsaWQveG1sL2VudW0ud2lkbHByb2N4bWwKKysrIC9kZXYvbnVsbApAQCAtMSw1
MiArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgotPCFET0NU
WVBFIERlZmluaXRpb25zIFNZU1RFTSAid2lkbHByb2N4bWwuZHRkIj4KLTxEZWZpbml0aW9ucz4K
LSAgPHdlYmlkbD5lbnVtIE1lYWxUeXBlIHsgJnF1b3Q7cmljZSZxdW90OywgJnF1b3Q7bm9vZGxl
cyZxdW90OywgJnF1b3Q7b3RoZXImcXVvdDsgfTsKLQotaW50ZXJmYWNlIE1lYWwgewotICBhdHRy
aWJ1dGUgPHJlZj5NZWFsVHlwZTwvcmVmPiB0eXBlOwotICBhdHRyaWJ1dGUgZmxvYXQgc2l6ZTsg
ICAgIAotCi0gIHZvaWQgaW5pdGlhbGl6ZSg8cmVmPk1lYWxUeXBlPC9yZWY+IHR5cGUsIGZsb2F0
IHNpemUpOwotfTs8L3dlYmlkbD4KLSAgPEVudW0gbmFtZT0iTWVhbFR5cGUiIGlkPSI6Ok1lYWxU
eXBlIj4KLSAgICA8d2ViaWRsPmVudW0gTWVhbFR5cGUgeyAmcXVvdDtyaWNlJnF1b3Q7LCAmcXVv
dDtub29kbGVzJnF1b3Q7LCAmcXVvdDtvdGhlciZxdW90OyB9Ozwvd2ViaWRsPgotICAgIDxFbnVt
VmFsdWUgc3RyaW5ndmFsdWU9InJpY2UiPgotICAgICAgPHdlYmlkbD4gJnF1b3Q7cmljZTwvd2Vi
aWRsPgotICAgIDwvRW51bVZhbHVlPgotICAgIDxFbnVtVmFsdWUgc3RyaW5ndmFsdWU9Im5vb2Rs
ZXMiPgotICAgICAgPHdlYmlkbD4gJnF1b3Q7bm9vZGxlczwvd2ViaWRsPgotICAgIDwvRW51bVZh
bHVlPgotICAgIDxFbnVtVmFsdWUgc3RyaW5ndmFsdWU9Im90aGVyIj4KLSAgICAgIDx3ZWJpZGw+
ICZxdW90O290aGVyPC93ZWJpZGw+Ci0gICAgPC9FbnVtVmFsdWU+Ci0gIDwvRW51bT4KLSAgPElu
dGVyZmFjZSBuYW1lPSJNZWFsIiBpZD0iOjpNZWFsIj4KLSAgICA8d2ViaWRsPmludGVyZmFjZSBN
ZWFsIHsKLSAgYXR0cmlidXRlIDxyZWY+TWVhbFR5cGU8L3JlZj4gdHlwZTsKLSAgYXR0cmlidXRl
IGZsb2F0IHNpemU7ICAgICAKLQotICB2b2lkIGluaXRpYWxpemUoPHJlZj5NZWFsVHlwZTwvcmVm
PiB0eXBlLCBmbG9hdCBzaXplKTsKLX07PC93ZWJpZGw+Ci0gICAgPEF0dHJpYnV0ZSBuYW1lPSJ0
eXBlIiBpZD0iOjpNZWFsOjp0eXBlIj4KLSAgICAgIDx3ZWJpZGw+ICBhdHRyaWJ1dGUgPHJlZj5N
ZWFsVHlwZTwvcmVmPiB0eXBlOzwvd2ViaWRsPgotICAgICAgPFR5cGUgbmFtZT0iTWVhbFR5cGUi
Lz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAgICA8QXR0cmlidXRlIG5hbWU9InNpemUiIGlkPSI6Ok1l
YWw6OnNpemUiPgotICAgICAgPHdlYmlkbD4gIGF0dHJpYnV0ZSBmbG9hdCBzaXplOzwvd2ViaWRs
PgotICAgICAgPFR5cGUgdHlwZT0iZmxvYXQiLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAgICA8T3Bl
cmF0aW9uIG5hbWU9ImluaXRpYWxpemUiIGlkPSI6Ok1lYWw6OmluaXRpYWxpemUiPgotICAgICAg
PHdlYmlkbD4gIHZvaWQgaW5pdGlhbGl6ZSg8cmVmPk1lYWxUeXBlPC9yZWY+IHR5cGUsIGZsb2F0
IHNpemUpOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0idm9pZCIvPgotICAgICAgPEFyZ3Vt
ZW50TGlzdD4KLSAgICAgICAgPEFyZ3VtZW50IG5hbWU9InR5cGUiPgotICAgICAgICAgIDxUeXBl
IG5hbWU9Ik1lYWxUeXBlIi8+Ci0gICAgICAgIDwvQXJndW1lbnQ+Ci0gICAgICAgIDxBcmd1bWVu
dCBuYW1lPSJzaXplIj4KLSAgICAgICAgICA8VHlwZSB0eXBlPSJmbG9hdCIvPgotICAgICAgICA8
L0FyZ3VtZW50PgotICAgICAgPC9Bcmd1bWVudExpc3Q+Ci0gICAgPC9PcGVyYXRpb24+Ci0gIDwv
SW50ZXJmYWNlPgotPC9EZWZpbml0aW9ucz4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJv
Yy90ZXN0L3ZhbGlkL3htbC9lcXVpdmFsZW50LWRlY2wud2lkbHByb2N4bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
d2lkbHByb2MvdGVzdC92YWxpZC94bWwvZXF1aXZhbGVudC1kZWNsLndpZGxwcm9jeG1sCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjMzIyZDBhNWUyMjMzMGRhZDVjOGQ1YWRlZWRjMTBj
NWU2ZjdmODVmLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9lcXVpdmFsZW50LWRlY2wud2lkbHBy
b2N4bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxMTEgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4w
IiBlbmNvZGluZz0iVVRGLTgiPz4KLTwhRE9DVFlQRSBEZWZpbml0aW9ucyBTWVNURU0gIndpZGxw
cm9jeG1sLmR0ZCI+Ci08RGVmaW5pdGlvbnM+Ci0gIDx3ZWJpZGw+aW50ZXJmYWNlIERpY3Rpb25h
cnkgewotICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBwcm9wZXJ0eUNvdW50Owot
Ci0gIGdldHRlciBmbG9hdCBnZXRQcm9wZXJ0eShET01TdHJpbmcgcHJvcGVydHlOYW1lKTsKLSAg
c2V0dGVyIHZvaWQgc2V0UHJvcGVydHkoRE9NU3RyaW5nIHByb3BlcnR5TmFtZSwgZmxvYXQgcHJv
cGVydHlWYWx1ZSk7Ci19OwotCi0KLWludGVyZmFjZSBEaWN0aW9uYXJ5IHsKLSAgcmVhZG9ubHkg
YXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgcHJvcGVydHlDb3VudDsKLQotICBmbG9hdCBnZXRQcm9w
ZXJ0eShET01TdHJpbmcgcHJvcGVydHlOYW1lKTsKLSAgdm9pZCBzZXRQcm9wZXJ0eShET01TdHJp
bmcgcHJvcGVydHlOYW1lLCBmbG9hdCBwcm9wZXJ0eVZhbHVlKTsKLQotICBnZXR0ZXIgZmxvYXQg
KERPTVN0cmluZyBwcm9wZXJ0eU5hbWUpOwotICBzZXR0ZXIgdm9pZCAoRE9NU3RyaW5nIHByb3Bl
cnR5TmFtZSwgZmxvYXQgcHJvcGVydHlWYWx1ZSk7Ci19Ozwvd2ViaWRsPgotICA8SW50ZXJmYWNl
IG5hbWU9IkRpY3Rpb25hcnkiIGlkPSI6OkRpY3Rpb25hcnkiPgotICAgIDx3ZWJpZGw+aW50ZXJm
YWNlIERpY3Rpb25hcnkgewotICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBwcm9w
ZXJ0eUNvdW50OwotCi0gIGdldHRlciBmbG9hdCBnZXRQcm9wZXJ0eShET01TdHJpbmcgcHJvcGVy
dHlOYW1lKTsKLSAgc2V0dGVyIHZvaWQgc2V0UHJvcGVydHkoRE9NU3RyaW5nIHByb3BlcnR5TmFt
ZSwgZmxvYXQgcHJvcGVydHlWYWx1ZSk7Ci19Ozwvd2ViaWRsPgotICAgIDxBdHRyaWJ1dGUgcmVh
ZG9ubHk9InJlYWRvbmx5IiBuYW1lPSJwcm9wZXJ0eUNvdW50IiBpZD0iOjpEaWN0aW9uYXJ5Ojpw
cm9wZXJ0eUNvdW50Ij4KLSAgICAgIDx3ZWJpZGw+ICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWdu
ZWQgbG9uZyBwcm9wZXJ0eUNvdW50Ozwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0idW5zaWdu
ZWQgbG9uZyIvPgotICAgIDwvQXR0cmlidXRlPgotICAgIDxPcGVyYXRpb24gZ2V0dGVyPSJnZXR0
ZXIiIG5hbWU9ImdldFByb3BlcnR5IiBpZD0iOjpEaWN0aW9uYXJ5OjpnZXRQcm9wZXJ0eSI+Ci0g
ICAgICA8d2ViaWRsPiAgZ2V0dGVyIGZsb2F0IGdldFByb3BlcnR5KERPTVN0cmluZyBwcm9wZXJ0
eU5hbWUpOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0iZmxvYXQiLz4KLSAgICAgIDxBcmd1
bWVudExpc3Q+Ci0gICAgICAgIDxBcmd1bWVudCBuYW1lPSJwcm9wZXJ0eU5hbWUiPgotICAgICAg
ICAgIDxUeXBlIHR5cGU9IkRPTVN0cmluZyIvPgotICAgICAgICA8L0FyZ3VtZW50PgotICAgICAg
PC9Bcmd1bWVudExpc3Q+Ci0gICAgPC9PcGVyYXRpb24+Ci0gICAgPE9wZXJhdGlvbiBzZXR0ZXI9
InNldHRlciIgbmFtZT0ic2V0UHJvcGVydHkiIGlkPSI6OkRpY3Rpb25hcnk6OnNldFByb3BlcnR5
Ij4KLSAgICAgIDx3ZWJpZGw+ICBzZXR0ZXIgdm9pZCBzZXRQcm9wZXJ0eShET01TdHJpbmcgcHJv
cGVydHlOYW1lLCBmbG9hdCBwcm9wZXJ0eVZhbHVlKTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5
cGU9InZvaWQiLz4KLSAgICAgIDxBcmd1bWVudExpc3Q+Ci0gICAgICAgIDxBcmd1bWVudCBuYW1l
PSJwcm9wZXJ0eU5hbWUiPgotICAgICAgICAgIDxUeXBlIHR5cGU9IkRPTVN0cmluZyIvPgotICAg
ICAgICA8L0FyZ3VtZW50PgotICAgICAgICA8QXJndW1lbnQgbmFtZT0icHJvcGVydHlWYWx1ZSI+
Ci0gICAgICAgICAgPFR5cGUgdHlwZT0iZmxvYXQiLz4KLSAgICAgICAgPC9Bcmd1bWVudD4KLSAg
ICAgIDwvQXJndW1lbnRMaXN0PgotICAgIDwvT3BlcmF0aW9uPgotICA8L0ludGVyZmFjZT4KLSAg
PEludGVyZmFjZSBuYW1lPSJEaWN0aW9uYXJ5IiBpZD0iOjpEaWN0aW9uYXJ5Ij4KLSAgICA8d2Vi
aWRsPmludGVyZmFjZSBEaWN0aW9uYXJ5IHsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVk
IGxvbmcgcHJvcGVydHlDb3VudDsKLQotICBmbG9hdCBnZXRQcm9wZXJ0eShET01TdHJpbmcgcHJv
cGVydHlOYW1lKTsKLSAgdm9pZCBzZXRQcm9wZXJ0eShET01TdHJpbmcgcHJvcGVydHlOYW1lLCBm
bG9hdCBwcm9wZXJ0eVZhbHVlKTsKLQotICBnZXR0ZXIgZmxvYXQgKERPTVN0cmluZyBwcm9wZXJ0
eU5hbWUpOwotICBzZXR0ZXIgdm9pZCAoRE9NU3RyaW5nIHByb3BlcnR5TmFtZSwgZmxvYXQgcHJv
cGVydHlWYWx1ZSk7Ci19Ozwvd2ViaWRsPgotICAgIDxBdHRyaWJ1dGUgcmVhZG9ubHk9InJlYWRv
bmx5IiBuYW1lPSJwcm9wZXJ0eUNvdW50IiBpZD0iOjpEaWN0aW9uYXJ5Ojpwcm9wZXJ0eUNvdW50
Ij4KLSAgICAgIDx3ZWJpZGw+ICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBwcm9w
ZXJ0eUNvdW50Ozwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0idW5zaWduZWQgbG9uZyIvPgot
ICAgIDwvQXR0cmlidXRlPgotICAgIDxPcGVyYXRpb24gbmFtZT0iZ2V0UHJvcGVydHkiIGlkPSI6
OkRpY3Rpb25hcnk6OmdldFByb3BlcnR5Ij4KLSAgICAgIDx3ZWJpZGw+ICBmbG9hdCBnZXRQcm9w
ZXJ0eShET01TdHJpbmcgcHJvcGVydHlOYW1lKTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9
ImZsb2F0Ii8+Ci0gICAgICA8QXJndW1lbnRMaXN0PgotICAgICAgICA8QXJndW1lbnQgbmFtZT0i
cHJvcGVydHlOYW1lIj4KLSAgICAgICAgICA8VHlwZSB0eXBlPSJET01TdHJpbmciLz4KLSAgICAg
ICAgPC9Bcmd1bWVudD4KLSAgICAgIDwvQXJndW1lbnRMaXN0PgotICAgIDwvT3BlcmF0aW9uPgot
ICAgIDxPcGVyYXRpb24gbmFtZT0ic2V0UHJvcGVydHkiIGlkPSI6OkRpY3Rpb25hcnk6OnNldFBy
b3BlcnR5Ij4KLSAgICAgIDx3ZWJpZGw+ICB2b2lkIHNldFByb3BlcnR5KERPTVN0cmluZyBwcm9w
ZXJ0eU5hbWUsIGZsb2F0IHByb3BlcnR5VmFsdWUpOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlw
ZT0idm9pZCIvPgotICAgICAgPEFyZ3VtZW50TGlzdD4KLSAgICAgICAgPEFyZ3VtZW50IG5hbWU9
InByb3BlcnR5TmFtZSI+Ci0gICAgICAgICAgPFR5cGUgdHlwZT0iRE9NU3RyaW5nIi8+Ci0gICAg
ICAgIDwvQXJndW1lbnQ+Ci0gICAgICAgIDxBcmd1bWVudCBuYW1lPSJwcm9wZXJ0eVZhbHVlIj4K
LSAgICAgICAgICA8VHlwZSB0eXBlPSJmbG9hdCIvPgotICAgICAgICA8L0FyZ3VtZW50PgotICAg
ICAgPC9Bcmd1bWVudExpc3Q+Ci0gICAgPC9PcGVyYXRpb24+Ci0gICAgPE9wZXJhdGlvbiBnZXR0
ZXI9ImdldHRlciI+Ci0gICAgICA8d2ViaWRsPiAgZ2V0dGVyIGZsb2F0IChET01TdHJpbmcgcHJv
cGVydHlOYW1lKTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9ImZsb2F0Ii8+Ci0gICAgICA8
QXJndW1lbnRMaXN0PgotICAgICAgICA8QXJndW1lbnQgbmFtZT0icHJvcGVydHlOYW1lIj4KLSAg
ICAgICAgICA8VHlwZSB0eXBlPSJET01TdHJpbmciLz4KLSAgICAgICAgPC9Bcmd1bWVudD4KLSAg
ICAgIDwvQXJndW1lbnRMaXN0PgotICAgIDwvT3BlcmF0aW9uPgotICAgIDxPcGVyYXRpb24gc2V0
dGVyPSJzZXR0ZXIiPgotICAgICAgPHdlYmlkbD4gIHNldHRlciB2b2lkIChET01TdHJpbmcgcHJv
cGVydHlOYW1lLCBmbG9hdCBwcm9wZXJ0eVZhbHVlKTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5
cGU9InZvaWQiLz4KLSAgICAgIDxBcmd1bWVudExpc3Q+Ci0gICAgICAgIDxBcmd1bWVudCBuYW1l
PSJwcm9wZXJ0eU5hbWUiPgotICAgICAgICAgIDxUeXBlIHR5cGU9IkRPTVN0cmluZyIvPgotICAg
ICAgICA8L0FyZ3VtZW50PgotICAgICAgICA8QXJndW1lbnQgbmFtZT0icHJvcGVydHlWYWx1ZSI+
Ci0gICAgICAgICAgPFR5cGUgdHlwZT0iZmxvYXQiLz4KLSAgICAgICAgPC9Bcmd1bWVudD4KLSAg
ICAgIDwvQXJndW1lbnRMaXN0PgotICAgIDwvT3BlcmF0aW9uPgotICA8L0ludGVyZmFjZT4KLTwv
RGVmaW5pdGlvbnM+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94
bWwvZXhjZXB0aW9uLWluaGVyaXRhbmNlLndpZGxwcm9jeG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9j
L3Rlc3QvdmFsaWQveG1sL2V4Y2VwdGlvbi1pbmhlcml0YW5jZS53aWRscHJvY3htbApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggM2ExZjg2OGE0YjRjZWI2ZWE5OGVkMjYyY2RmZjQwM2Fk
YTRhODFmZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvZXhjZXB0aW9uLWluaGVyaXRhbmNlLndp
ZGxwcm9jeG1sCisrKyAvZGV2L251bGwKQEAgLTEsMzEgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0i
MS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KLTwhRE9DVFlQRSBEZWZpbml0aW9ucyBTWVNURU0gIndp
ZGxwcm9jeG1sLmR0ZCI+Ci08RGVmaW5pdGlvbnM+Ci0gIDx3ZWJpZGw+ICBleGNlcHRpb24gRE9N
RXhjZXB0aW9uIHsKLSAgICB1bnNpZ25lZCBzaG9ydCBjb2RlOwotICB9OwotCi0gIGV4Y2VwdGlv
biBIaWVyYXJjaHlSZXF1ZXN0RXJyb3IgOiA8cmVmPkRPTUV4Y2VwdGlvbjwvcmVmPiB7IH07Ci0g
IGV4Y2VwdGlvbiBOb01vZGlmaWNhdGlvbkFsbG93ZWRFcnJvciA6IDxyZWY+RE9NRXhjZXB0aW9u
PC9yZWY+IHsgfTs8L3dlYmlkbD4KLSAgPEV4Y2VwdGlvbiBuYW1lPSJET01FeGNlcHRpb24iIGlk
PSI6OkRPTUV4Y2VwdGlvbiI+Ci0gICAgPHdlYmlkbD4gIGV4Y2VwdGlvbiBET01FeGNlcHRpb24g
ewotICAgIHVuc2lnbmVkIHNob3J0IGNvZGU7Ci0gIH07PC93ZWJpZGw+Ci0gICAgPEV4Y2VwdGlv
bkZpZWxkIG5hbWU9ImNvZGUiIGlkPSI6OkRPTUV4Y2VwdGlvbjo6Y29kZSI+Ci0gICAgICA8d2Vi
aWRsPiAgICB1bnNpZ25lZCBzaG9ydCBjb2RlOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0i
dW5zaWduZWQgc2hvcnQiLz4KLSAgICA8L0V4Y2VwdGlvbkZpZWxkPgotICA8L0V4Y2VwdGlvbj4K
LSAgPEV4Y2VwdGlvbiBuYW1lPSJIaWVyYXJjaHlSZXF1ZXN0RXJyb3IiIGlkPSI6OkhpZXJhcmNo
eVJlcXVlc3RFcnJvciI+Ci0gICAgPHdlYmlkbD4gIGV4Y2VwdGlvbiBIaWVyYXJjaHlSZXF1ZXN0
RXJyb3IgOiA8cmVmPkRPTUV4Y2VwdGlvbjwvcmVmPiB7IH07PC93ZWJpZGw+Ci0gICAgPEV4Y2Vw
dGlvbkluaGVyaXRhbmNlPgotICAgICAgPE5hbWUgbmFtZT0iRE9NRXhjZXB0aW9uIi8+Ci0gICAg
PC9FeGNlcHRpb25Jbmhlcml0YW5jZT4KLSAgPC9FeGNlcHRpb24+Ci0gIDxFeGNlcHRpb24gbmFt
ZT0iTm9Nb2RpZmljYXRpb25BbGxvd2VkRXJyb3IiIGlkPSI6Ok5vTW9kaWZpY2F0aW9uQWxsb3dl
ZEVycm9yIj4KLSAgICA8d2ViaWRsPiAgZXhjZXB0aW9uIE5vTW9kaWZpY2F0aW9uQWxsb3dlZEVy
cm9yIDogPHJlZj5ET01FeGNlcHRpb248L3JlZj4geyB9Ozwvd2ViaWRsPgotICAgIDxFeGNlcHRp
b25Jbmhlcml0YW5jZT4KLSAgICAgIDxOYW1lIG5hbWU9IkRPTUV4Y2VwdGlvbiIvPgotICAgIDwv
RXhjZXB0aW9uSW5oZXJpdGFuY2U+Ci0gIDwvRXhjZXB0aW9uPgotPC9EZWZpbml0aW9ucz4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9leGNlcHRpb24ud2lk
bHByb2N4bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvZXhjZXB0aW9uLndp
ZGxwcm9jeG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhYzkzMzIwZmUxNmJiMzdj
MTMyMTlhNzdhNWY2MGMyZmIyNTRmNjk4Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9leGNlcHRp
b24ud2lkbHByb2N4bWwKKysrIC9kZXYvbnVsbApAQCAtMSwyMyArMCwwIEBACi08P3htbCB2ZXJz
aW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgotPCFET0NUWVBFIERlZmluaXRpb25zIFNZU1RF
TSAid2lkbHByb2N4bWwuZHRkIj4KLTxEZWZpbml0aW9ucz4KLSAgPHdlYmlkbD5pbnRlcmZhY2Ug
RGFodXQgewotICBhdHRyaWJ1dGUgRE9NU3RyaW5nIHR5cGU7Ci19OwotCi1leGNlcHRpb24gU29t
ZUV4Y2VwdGlvbiB7Ci19Ozwvd2ViaWRsPgotICA8SW50ZXJmYWNlIG5hbWU9IkRhaHV0IiBpZD0i
OjpEYWh1dCI+Ci0gICAgPHdlYmlkbD5pbnRlcmZhY2UgRGFodXQgewotICBhdHRyaWJ1dGUgRE9N
U3RyaW5nIHR5cGU7Ci19Ozwvd2ViaWRsPgotICAgIDxBdHRyaWJ1dGUgbmFtZT0idHlwZSIgaWQ9
Ijo6RGFodXQ6OnR5cGUiPgotICAgICAgPHdlYmlkbD4gIGF0dHJpYnV0ZSBET01TdHJpbmcgdHlw
ZTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9IkRPTVN0cmluZyIvPgotICAgIDwvQXR0cmli
dXRlPgotICA8L0ludGVyZmFjZT4KLSAgPEV4Y2VwdGlvbiBuYW1lPSJTb21lRXhjZXB0aW9uIiBp
ZD0iOjpTb21lRXhjZXB0aW9uIj4KLSAgICA8d2ViaWRsPmV4Y2VwdGlvbiBTb21lRXhjZXB0aW9u
IHsKLX07PC93ZWJpZGw+Ci0gIDwvRXhjZXB0aW9uPgotPC9EZWZpbml0aW9ucz4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9nZXR0ZXItc2V0dGVyLndpZGxw
cm9jeG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL2dldHRlci1zZXR0ZXIu
d2lkbHByb2N4bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDc2YWZjMDU4YzY4ODdj
ZDNkNTdiNDI5ZWFlOWZkNGFlMjYyMDM3NTcuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL2dldHRl
ci1zZXR0ZXIud2lkbHByb2N4bWwKKysrIC9kZXYvbnVsbApAQCAtMSw0MyArMCwwIEBACi08P3ht
bCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgotPCFET0NUWVBFIERlZmluaXRpb25z
IFNZU1RFTSAid2lkbHByb2N4bWwuZHRkIj4KLTxEZWZpbml0aW9ucz4KLSAgPHdlYmlkbD5pbnRl
cmZhY2UgRGljdGlvbmFyeSB7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIHBy
b3BlcnR5Q291bnQ7Ci0KLSAgZ2V0dGVyIGZsb2F0IChET01TdHJpbmcgcHJvcGVydHlOYW1lKTsK
LSAgc2V0dGVyIHZvaWQgKERPTVN0cmluZyBwcm9wZXJ0eU5hbWUsIGZsb2F0IHByb3BlcnR5VmFs
dWUpOwotfTs8L3dlYmlkbD4KLSAgPEludGVyZmFjZSBuYW1lPSJEaWN0aW9uYXJ5IiBpZD0iOjpE
aWN0aW9uYXJ5Ij4KLSAgICA8d2ViaWRsPmludGVyZmFjZSBEaWN0aW9uYXJ5IHsKLSAgcmVhZG9u
bHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgcHJvcGVydHlDb3VudDsKLQotICBnZXR0ZXIgZmxv
YXQgKERPTVN0cmluZyBwcm9wZXJ0eU5hbWUpOwotICBzZXR0ZXIgdm9pZCAoRE9NU3RyaW5nIHBy
b3BlcnR5TmFtZSwgZmxvYXQgcHJvcGVydHlWYWx1ZSk7Ci19Ozwvd2ViaWRsPgotICAgIDxBdHRy
aWJ1dGUgcmVhZG9ubHk9InJlYWRvbmx5IiBuYW1lPSJwcm9wZXJ0eUNvdW50IiBpZD0iOjpEaWN0
aW9uYXJ5Ojpwcm9wZXJ0eUNvdW50Ij4KLSAgICAgIDx3ZWJpZGw+ICByZWFkb25seSBhdHRyaWJ1
dGUgdW5zaWduZWQgbG9uZyBwcm9wZXJ0eUNvdW50Ozwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlw
ZT0idW5zaWduZWQgbG9uZyIvPgotICAgIDwvQXR0cmlidXRlPgotICAgIDxPcGVyYXRpb24gZ2V0
dGVyPSJnZXR0ZXIiPgotICAgICAgPHdlYmlkbD4gIGdldHRlciBmbG9hdCAoRE9NU3RyaW5nIHBy
b3BlcnR5TmFtZSk7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJmbG9hdCIvPgotICAgICAg
PEFyZ3VtZW50TGlzdD4KLSAgICAgICAgPEFyZ3VtZW50IG5hbWU9InByb3BlcnR5TmFtZSI+Ci0g
ICAgICAgICAgPFR5cGUgdHlwZT0iRE9NU3RyaW5nIi8+Ci0gICAgICAgIDwvQXJndW1lbnQ+Ci0g
ICAgICA8L0FyZ3VtZW50TGlzdD4KLSAgICA8L09wZXJhdGlvbj4KLSAgICA8T3BlcmF0aW9uIHNl
dHRlcj0ic2V0dGVyIj4KLSAgICAgIDx3ZWJpZGw+ICBzZXR0ZXIgdm9pZCAoRE9NU3RyaW5nIHBy
b3BlcnR5TmFtZSwgZmxvYXQgcHJvcGVydHlWYWx1ZSk7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0
eXBlPSJ2b2lkIi8+Ci0gICAgICA8QXJndW1lbnRMaXN0PgotICAgICAgICA8QXJndW1lbnQgbmFt
ZT0icHJvcGVydHlOYW1lIj4KLSAgICAgICAgICA8VHlwZSB0eXBlPSJET01TdHJpbmciLz4KLSAg
ICAgICAgPC9Bcmd1bWVudD4KLSAgICAgICAgPEFyZ3VtZW50IG5hbWU9InByb3BlcnR5VmFsdWUi
PgotICAgICAgICAgIDxUeXBlIHR5cGU9ImZsb2F0Ii8+Ci0gICAgICAgIDwvQXJndW1lbnQ+Ci0g
ICAgICA8L0FyZ3VtZW50TGlzdD4KLSAgICA8L09wZXJhdGlvbj4KLSAgPC9JbnRlcmZhY2U+Ci08
L0RlZmluaXRpb25zPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQv
eG1sL2lkZW50aWZpZXItcXVhbGlmaWVkLW5hbWVzLndpZGxwcm9jeG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dp
ZGxwcm9jL3Rlc3QvdmFsaWQveG1sL2lkZW50aWZpZXItcXVhbGlmaWVkLW5hbWVzLndpZGxwcm9j
eG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiNjAyNGU1ZmY2ODk2MzBkNTBhNTFj
ZDE0MjBhNTFiZDU0YTJlMDIyLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9pZGVudGlmaWVyLXF1
YWxpZmllZC1uYW1lcy53aWRscHJvY3htbAorKysgL2Rldi9udWxsCkBAIC0xLDEwNyArMCwwIEBA
Ci08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgotPCFET0NUWVBFIERlZmlu
aXRpb25zIFNZU1RFTSAid2lkbHByb2N4bWwuZHRkIj4KLTxEZWZpbml0aW9ucz4KLSAgPHdlYmlk
bD4gIHR5cGVkZWYgZmxvYXQgbnVtYmVyOwotCi0gIGV4Y2VwdGlvbiBGcmFtZXdvcmtFeGNlcHRp
b24gewotCi0gICAgY29uc3QgbG9uZyBFUlJfTk9UX0ZPVU5EID0gMTsKLQotICAgIGxvbmcgY29k
ZTsKLSAgfTsKLQotICBpbnRlcmZhY2UgU3lzdGVtIHsKLQotICAgIG9iamVjdCBjcmVhdGVPYmpl
Y3QoRE9NU3RyaW5nIF9pbnRlcmZhY2UpOwotCi0gICAgZ2V0dGVyIERPTVN0cmluZyAoRE9NU3Ry
aW5nIGtleU5hbWUpOwotICB9OwotCi0gICAgCi0gICAgaW50ZXJmYWNlIFRleHRGaWVsZCB7Ci0K
LSAgICAgIGF0dHJpYnV0ZSBib29sZWFuIF9jb25zdDsKLQotICAgICAgYXR0cmlidXRlIERPTVN0
cmluZz8gX3ZhbHVlOwotICAgIH07Ci0KLWludGVyZmFjZSBGb28gewotIHZvaWQgb3Aob2JqZWN0
IGludGVyZmFjZSk7Ci19Ozwvd2ViaWRsPgotICA8VHlwZWRlZiBuYW1lPSJudW1iZXIiIGlkPSI6
Om51bWJlciI+Ci0gICAgPHdlYmlkbD4gIHR5cGVkZWYgZmxvYXQgbnVtYmVyOzwvd2ViaWRsPgot
ICAgIDxUeXBlIHR5cGU9ImZsb2F0Ii8+Ci0gIDwvVHlwZWRlZj4KLSAgPEV4Y2VwdGlvbiBuYW1l
PSJGcmFtZXdvcmtFeGNlcHRpb24iIGlkPSI6OkZyYW1ld29ya0V4Y2VwdGlvbiI+Ci0gICAgPHdl
YmlkbD4gIGV4Y2VwdGlvbiBGcmFtZXdvcmtFeGNlcHRpb24gewotCi0gICAgY29uc3QgbG9uZyBF
UlJfTk9UX0ZPVU5EID0gMTsKLQotICAgIGxvbmcgY29kZTsKLSAgfTs8L3dlYmlkbD4KLSAgICA8
Q29uc3QgbmFtZT0iRVJSX05PVF9GT1VORCIgdmFsdWU9IjEiIGlkPSI6OkZyYW1ld29ya0V4Y2Vw
dGlvbjo6RVJSX05PVF9GT1VORCI+Ci0gICAgICA8d2ViaWRsPiAgICBjb25zdCBsb25nIEVSUl9O
T1RfRk9VTkQgPSAxOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0ibG9uZyIvPgotICAgIDwv
Q29uc3Q+Ci0gICAgPEV4Y2VwdGlvbkZpZWxkIG5hbWU9ImNvZGUiIGlkPSI6OkZyYW1ld29ya0V4
Y2VwdGlvbjo6Y29kZSI+Ci0gICAgICA8d2ViaWRsPiAgICBsb25nIGNvZGU7PC93ZWJpZGw+Ci0g
ICAgICA8VHlwZSB0eXBlPSJsb25nIi8+Ci0gICAgPC9FeGNlcHRpb25GaWVsZD4KLSAgPC9FeGNl
cHRpb24+Ci0gIDxJbnRlcmZhY2UgbmFtZT0iU3lzdGVtIiBpZD0iOjpTeXN0ZW0iPgotICAgIDx3
ZWJpZGw+ICBpbnRlcmZhY2UgU3lzdGVtIHsKLQotICAgIG9iamVjdCBjcmVhdGVPYmplY3QoRE9N
U3RyaW5nIF9pbnRlcmZhY2UpOwotCi0gICAgZ2V0dGVyIERPTVN0cmluZyAoRE9NU3RyaW5nIGtl
eU5hbWUpOwotICB9Ozwvd2ViaWRsPgotICAgIDxPcGVyYXRpb24gbmFtZT0iY3JlYXRlT2JqZWN0
IiBpZD0iOjpTeXN0ZW06OmNyZWF0ZU9iamVjdCI+Ci0gICAgICA8d2ViaWRsPiAgICBvYmplY3Qg
Y3JlYXRlT2JqZWN0KERPTVN0cmluZyBfaW50ZXJmYWNlKTs8L3dlYmlkbD4KLSAgICAgIDxUeXBl
IHR5cGU9Im9iamVjdCIvPgotICAgICAgPEFyZ3VtZW50TGlzdD4KLSAgICAgICAgPEFyZ3VtZW50
IG5hbWU9Il9pbnRlcmZhY2UiPgotICAgICAgICAgIDxUeXBlIHR5cGU9IkRPTVN0cmluZyIvPgot
ICAgICAgICA8L0FyZ3VtZW50PgotICAgICAgPC9Bcmd1bWVudExpc3Q+Ci0gICAgPC9PcGVyYXRp
b24+Ci0gICAgPE9wZXJhdGlvbiBnZXR0ZXI9ImdldHRlciI+Ci0gICAgICA8d2ViaWRsPiAgICBn
ZXR0ZXIgRE9NU3RyaW5nIChET01TdHJpbmcga2V5TmFtZSk7PC93ZWJpZGw+Ci0gICAgICA8VHlw
ZSB0eXBlPSJET01TdHJpbmciLz4KLSAgICAgIDxBcmd1bWVudExpc3Q+Ci0gICAgICAgIDxBcmd1
bWVudCBuYW1lPSJrZXlOYW1lIj4KLSAgICAgICAgICA8VHlwZSB0eXBlPSJET01TdHJpbmciLz4K
LSAgICAgICAgPC9Bcmd1bWVudD4KLSAgICAgIDwvQXJndW1lbnRMaXN0PgotICAgIDwvT3BlcmF0
aW9uPgotICA8L0ludGVyZmFjZT4KLSAgPEludGVyZmFjZSBuYW1lPSJUZXh0RmllbGQiIGlkPSI6
OlRleHRGaWVsZCI+Ci0gICAgPHdlYmlkbD4gICAgaW50ZXJmYWNlIFRleHRGaWVsZCB7Ci0KLSAg
ICAgIGF0dHJpYnV0ZSBib29sZWFuIF9jb25zdDsKLQotICAgICAgYXR0cmlidXRlIERPTVN0cmlu
Zz8gX3ZhbHVlOwotICAgIH07PC93ZWJpZGw+Ci0gICAgPEF0dHJpYnV0ZSBuYW1lPSJfY29uc3Qi
IGlkPSI6OlRleHRGaWVsZDo6X2NvbnN0Ij4KLSAgICAgIDx3ZWJpZGw+ICAgICAgYXR0cmlidXRl
IGJvb2xlYW4gX2NvbnN0Ozwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0iYm9vbGVhbiIvPgot
ICAgIDwvQXR0cmlidXRlPgotICAgIDxBdHRyaWJ1dGUgbmFtZT0iX3ZhbHVlIiBpZD0iOjpUZXh0
RmllbGQ6Ol92YWx1ZSI+Ci0gICAgICA8d2ViaWRsPiAgICAgIGF0dHJpYnV0ZSBET01TdHJpbmc/
IF92YWx1ZTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9IkRPTVN0cmluZyIgbnVsbGFibGU9
Im51bGxhYmxlIi8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gIDwvSW50ZXJmYWNlPgotICA8SW50ZXJm
YWNlIG5hbWU9IkZvbyIgaWQ9Ijo6Rm9vIj4KLSAgICA8d2ViaWRsPmludGVyZmFjZSBGb28gewot
IHZvaWQgb3Aob2JqZWN0IGludGVyZmFjZSk7Ci19Ozwvd2ViaWRsPgotICAgIDxPcGVyYXRpb24g
bmFtZT0ib3AiIGlkPSI6OkZvbzo6b3AiPgotICAgICAgPHdlYmlkbD4gdm9pZCBvcChvYmplY3Qg
aW50ZXJmYWNlKTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9InZvaWQiLz4KLSAgICAgIDxB
cmd1bWVudExpc3Q+Ci0gICAgICAgIDxBcmd1bWVudCBuYW1lPSJpbnRlcmZhY2UiPgotICAgICAg
ICAgIDxUeXBlIHR5cGU9Im9iamVjdCIvPgotICAgICAgICA8L0FyZ3VtZW50PgotICAgICAgPC9B
cmd1bWVudExpc3Q+Ci0gICAgPC9PcGVyYXRpb24+Ci0gIDwvSW50ZXJmYWNlPgotPC9EZWZpbml0
aW9ucz4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9pbXBs
ZW1lbnRzLndpZGxwcm9jeG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL2lt
cGxlbWVudHMud2lkbHByb2N4bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDNkMWMx
YWI4NDc4ZmQwN2I3MDllZGZlOTg5NDIwYjVjNGRkODg4M2EuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQv
eG1sL2ltcGxlbWVudHMud2lkbHByb2N4bWwKKysrIC9kZXYvbnVsbApAQCAtMSw1MSArMCwwIEBA
Ci08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgotPCFET0NUWVBFIERlZmlu
aXRpb25zIFNZU1RFTSAid2lkbHByb2N4bWwuZHRkIj4KLTxEZWZpbml0aW9ucz4KLSAgPHdlYmlk
bD4gIGludGVyZmFjZSBOb2RlIHsKLSAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgc2hv
cnQgbm9kZVR5cGU7Ci0gIH07Ci0KLSAgaW50ZXJmYWNlIEV2ZW50VGFyZ2V0IHsKLSAgICB2b2lk
IGFkZEV2ZW50TGlzdGVuZXIoRE9NU3RyaW5nIHR5cGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgIDxyZWY+RXZlbnRMaXN0ZW5lcjwvcmVmPiBsaXN0ZW5lciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgYm9vbGVhbiB1c2VDYXB0dXJlKTsKLSAgfTsKLQotICA8cmVmPk5vZGU8L3JlZj4g
aW1wbGVtZW50cyA8cmVmPkV2ZW50VGFyZ2V0PC9yZWY+Ozwvd2ViaWRsPgotICA8SW50ZXJmYWNl
IG5hbWU9Ik5vZGUiIGlkPSI6Ok5vZGUiPgotICAgIDx3ZWJpZGw+ICBpbnRlcmZhY2UgTm9kZSB7
Ci0gICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIHNob3J0IG5vZGVUeXBlOwotICB9Ozwv
d2ViaWRsPgotICAgIDxBdHRyaWJ1dGUgcmVhZG9ubHk9InJlYWRvbmx5IiBuYW1lPSJub2RlVHlw
ZSIgaWQ9Ijo6Tm9kZTo6bm9kZVR5cGUiPgotICAgICAgPHdlYmlkbD4gICAgcmVhZG9ubHkgYXR0
cmlidXRlIHVuc2lnbmVkIHNob3J0IG5vZGVUeXBlOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlw
ZT0idW5zaWduZWQgc2hvcnQiLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAgPC9JbnRlcmZhY2U+Ci0g
IDxJbnRlcmZhY2UgbmFtZT0iRXZlbnRUYXJnZXQiIGlkPSI6OkV2ZW50VGFyZ2V0Ij4KLSAgICA8
d2ViaWRsPiAgaW50ZXJmYWNlIEV2ZW50VGFyZ2V0IHsKLSAgICB2b2lkIGFkZEV2ZW50TGlzdGVu
ZXIoRE9NU3RyaW5nIHR5cGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWY+RXZlbnRM
aXN0ZW5lcjwvcmVmPiBsaXN0ZW5lciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbGVh
biB1c2VDYXB0dXJlKTsKLSAgfTs8L3dlYmlkbD4KLSAgICA8T3BlcmF0aW9uIG5hbWU9ImFkZEV2
ZW50TGlzdGVuZXIiIGlkPSI6OkV2ZW50VGFyZ2V0OjphZGRFdmVudExpc3RlbmVyIj4KLSAgICAg
IDx3ZWJpZGw+ICAgIHZvaWQgYWRkRXZlbnRMaXN0ZW5lcihET01TdHJpbmcgdHlwZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgPHJlZj5FdmVudExpc3RlbmVyPC9yZWY+IGxpc3RlbmVyLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICBib29sZWFuIHVzZUNhcHR1cmUpOzwvd2ViaWRsPgot
ICAgICAgPFR5cGUgdHlwZT0idm9pZCIvPgotICAgICAgPEFyZ3VtZW50TGlzdD4KLSAgICAgICAg
PEFyZ3VtZW50IG5hbWU9InR5cGUiPgotICAgICAgICAgIDxUeXBlIHR5cGU9IkRPTVN0cmluZyIv
PgotICAgICAgICA8L0FyZ3VtZW50PgotICAgICAgICA8QXJndW1lbnQgbmFtZT0ibGlzdGVuZXIi
PgotICAgICAgICAgIDxUeXBlIG5hbWU9IkV2ZW50TGlzdGVuZXIiLz4KLSAgICAgICAgPC9Bcmd1
bWVudD4KLSAgICAgICAgPEFyZ3VtZW50IG5hbWU9InVzZUNhcHR1cmUiPgotICAgICAgICAgIDxU
eXBlIHR5cGU9ImJvb2xlYW4iLz4KLSAgICAgICAgPC9Bcmd1bWVudD4KLSAgICAgIDwvQXJndW1l
bnRMaXN0PgotICAgIDwvT3BlcmF0aW9uPgotICA8L0ludGVyZmFjZT4KLSAgPEltcGxlbWVudHMg
bmFtZTE9Ik5vZGUiIG5hbWUyPSJFdmVudFRhcmdldCI+Ci0gICAgPHdlYmlkbD4gIDxyZWY+Tm9k
ZTwvcmVmPiBpbXBsZW1lbnRzIDxyZWY+RXZlbnRUYXJnZXQ8L3JlZj47PC93ZWJpZGw+Ci0gIDwv
SW1wbGVtZW50cz4KLTwvRGVmaW5pdGlvbnM+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHBy
b2MvdGVzdC92YWxpZC94bWwvaW5kZXhlZC1wcm9wZXJ0aWVzLndpZGxwcm9jeG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL2luZGV4ZWQtcHJvcGVydGllcy53aWRscHJvY3ht
bApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZmI4MzYyMWI2MGQzNjBkMDUyODVmMGU5
ZmZkNGVkOGY4M2MzMDE5OS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvaW5kZXhlZC1wcm9wZXJ0
aWVzLndpZGxwcm9jeG1sCisrKyAvZGV2L251bGwKQEAgLTEsOTIgKzAsMCBAQAotPD94bWwgdmVy
c2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KLTwhRE9DVFlQRSBEZWZpbml0aW9ucyBTWVNU
RU0gIndpZGxwcm9jeG1sLmR0ZCI+Ci08RGVmaW5pdGlvbnM+Ci0gIDx3ZWJpZGw+aW50ZXJmYWNl
IE9yZGVyZWRNYXAgewotICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBzaXplOwot
Ci0gIGdldHRlciBhbnkgZ2V0QnlJbmRleCh1bnNpZ25lZCBsb25nIGluZGV4KTsKLSAgc2V0dGVy
IHZvaWQgc2V0QnlJbmRleCh1bnNpZ25lZCBsb25nIGluZGV4LCBhbnkgdmFsdWUpOwotICBkZWxl
dGVyIHZvaWQgcmVtb3ZlQnlJbmRleCh1bnNpZ25lZCBsb25nIGluZGV4KTsKLQotICBnZXR0ZXIg
YW55IGdldChET01TdHJpbmcgbmFtZSk7Ci0gIHNldHRlciBjcmVhdG9yIHZvaWQgc2V0KERPTVN0
cmluZyBuYW1lLCBhbnkgdmFsdWUpOwotICBkZWxldGVyIHZvaWQgcmVtb3ZlKERPTVN0cmluZyBu
YW1lKTsKLX07PC93ZWJpZGw+Ci0gIDxJbnRlcmZhY2UgbmFtZT0iT3JkZXJlZE1hcCIgaWQ9Ijo6
T3JkZXJlZE1hcCI+Ci0gICAgPHdlYmlkbD5pbnRlcmZhY2UgT3JkZXJlZE1hcCB7Ci0gIHJlYWRv
bmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIHNpemU7Ci0KLSAgZ2V0dGVyIGFueSBnZXRCeUlu
ZGV4KHVuc2lnbmVkIGxvbmcgaW5kZXgpOwotICBzZXR0ZXIgdm9pZCBzZXRCeUluZGV4KHVuc2ln
bmVkIGxvbmcgaW5kZXgsIGFueSB2YWx1ZSk7Ci0gIGRlbGV0ZXIgdm9pZCByZW1vdmVCeUluZGV4
KHVuc2lnbmVkIGxvbmcgaW5kZXgpOwotCi0gIGdldHRlciBhbnkgZ2V0KERPTVN0cmluZyBuYW1l
KTsKLSAgc2V0dGVyIGNyZWF0b3Igdm9pZCBzZXQoRE9NU3RyaW5nIG5hbWUsIGFueSB2YWx1ZSk7
Ci0gIGRlbGV0ZXIgdm9pZCByZW1vdmUoRE9NU3RyaW5nIG5hbWUpOwotfTs8L3dlYmlkbD4KLSAg
ICA8QXR0cmlidXRlIHJlYWRvbmx5PSJyZWFkb25seSIgbmFtZT0ic2l6ZSIgaWQ9Ijo6T3JkZXJl
ZE1hcDo6c2l6ZSI+Ci0gICAgICA8d2ViaWRsPiAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVk
IGxvbmcgc2l6ZTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9InVuc2lnbmVkIGxvbmciLz4K
LSAgICA8L0F0dHJpYnV0ZT4KLSAgICA8T3BlcmF0aW9uIGdldHRlcj0iZ2V0dGVyIiBuYW1lPSJn
ZXRCeUluZGV4IiBpZD0iOjpPcmRlcmVkTWFwOjpnZXRCeUluZGV4Ij4KLSAgICAgIDx3ZWJpZGw+
ICBnZXR0ZXIgYW55IGdldEJ5SW5kZXgodW5zaWduZWQgbG9uZyBpbmRleCk7PC93ZWJpZGw+Ci0g
ICAgICA8VHlwZSB0eXBlPSJhbnkiLz4KLSAgICAgIDxBcmd1bWVudExpc3Q+Ci0gICAgICAgIDxB
cmd1bWVudCBuYW1lPSJpbmRleCI+Ci0gICAgICAgICAgPFR5cGUgdHlwZT0idW5zaWduZWQgbG9u
ZyIvPgotICAgICAgICA8L0FyZ3VtZW50PgotICAgICAgPC9Bcmd1bWVudExpc3Q+Ci0gICAgPC9P
cGVyYXRpb24+Ci0gICAgPE9wZXJhdGlvbiBzZXR0ZXI9InNldHRlciIgbmFtZT0ic2V0QnlJbmRl
eCIgaWQ9Ijo6T3JkZXJlZE1hcDo6c2V0QnlJbmRleCI+Ci0gICAgICA8d2ViaWRsPiAgc2V0dGVy
IHZvaWQgc2V0QnlJbmRleCh1bnNpZ25lZCBsb25nIGluZGV4LCBhbnkgdmFsdWUpOzwvd2ViaWRs
PgotICAgICAgPFR5cGUgdHlwZT0idm9pZCIvPgotICAgICAgPEFyZ3VtZW50TGlzdD4KLSAgICAg
ICAgPEFyZ3VtZW50IG5hbWU9ImluZGV4Ij4KLSAgICAgICAgICA8VHlwZSB0eXBlPSJ1bnNpZ25l
ZCBsb25nIi8+Ci0gICAgICAgIDwvQXJndW1lbnQ+Ci0gICAgICAgIDxBcmd1bWVudCBuYW1lPSJ2
YWx1ZSI+Ci0gICAgICAgICAgPFR5cGUgdHlwZT0iYW55Ii8+Ci0gICAgICAgIDwvQXJndW1lbnQ+
Ci0gICAgICA8L0FyZ3VtZW50TGlzdD4KLSAgICA8L09wZXJhdGlvbj4KLSAgICA8T3BlcmF0aW9u
IGRlbGV0ZXI9ImRlbGV0ZXIiIG5hbWU9InJlbW92ZUJ5SW5kZXgiIGlkPSI6Ok9yZGVyZWRNYXA6
OnJlbW92ZUJ5SW5kZXgiPgotICAgICAgPHdlYmlkbD4gIGRlbGV0ZXIgdm9pZCByZW1vdmVCeUlu
ZGV4KHVuc2lnbmVkIGxvbmcgaW5kZXgpOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0idm9p
ZCIvPgotICAgICAgPEFyZ3VtZW50TGlzdD4KLSAgICAgICAgPEFyZ3VtZW50IG5hbWU9ImluZGV4
Ij4KLSAgICAgICAgICA8VHlwZSB0eXBlPSJ1bnNpZ25lZCBsb25nIi8+Ci0gICAgICAgIDwvQXJn
dW1lbnQ+Ci0gICAgICA8L0FyZ3VtZW50TGlzdD4KLSAgICA8L09wZXJhdGlvbj4KLSAgICA8T3Bl
cmF0aW9uIGdldHRlcj0iZ2V0dGVyIiBuYW1lPSJnZXQiIGlkPSI6Ok9yZGVyZWRNYXA6OmdldCI+
Ci0gICAgICA8d2ViaWRsPiAgZ2V0dGVyIGFueSBnZXQoRE9NU3RyaW5nIG5hbWUpOzwvd2ViaWRs
PgotICAgICAgPFR5cGUgdHlwZT0iYW55Ii8+Ci0gICAgICA8QXJndW1lbnRMaXN0PgotICAgICAg
ICA8QXJndW1lbnQgbmFtZT0ibmFtZSI+Ci0gICAgICAgICAgPFR5cGUgdHlwZT0iRE9NU3RyaW5n
Ii8+Ci0gICAgICAgIDwvQXJndW1lbnQ+Ci0gICAgICA8L0FyZ3VtZW50TGlzdD4KLSAgICA8L09w
ZXJhdGlvbj4KLSAgICA8T3BlcmF0aW9uIHNldHRlcj0ic2V0dGVyIiBjcmVhdG9yPSJjcmVhdG9y
IiBuYW1lPSJzZXQiIGlkPSI6Ok9yZGVyZWRNYXA6OnNldCI+Ci0gICAgICA8d2ViaWRsPiAgc2V0
dGVyIGNyZWF0b3Igdm9pZCBzZXQoRE9NU3RyaW5nIG5hbWUsIGFueSB2YWx1ZSk7PC93ZWJpZGw+
Ci0gICAgICA8VHlwZSB0eXBlPSJ2b2lkIi8+Ci0gICAgICA8QXJndW1lbnRMaXN0PgotICAgICAg
ICA8QXJndW1lbnQgbmFtZT0ibmFtZSI+Ci0gICAgICAgICAgPFR5cGUgdHlwZT0iRE9NU3RyaW5n
Ii8+Ci0gICAgICAgIDwvQXJndW1lbnQ+Ci0gICAgICAgIDxBcmd1bWVudCBuYW1lPSJ2YWx1ZSI+
Ci0gICAgICAgICAgPFR5cGUgdHlwZT0iYW55Ii8+Ci0gICAgICAgIDwvQXJndW1lbnQ+Ci0gICAg
ICA8L0FyZ3VtZW50TGlzdD4KLSAgICA8L09wZXJhdGlvbj4KLSAgICA8T3BlcmF0aW9uIGRlbGV0
ZXI9ImRlbGV0ZXIiIG5hbWU9InJlbW92ZSIgaWQ9Ijo6T3JkZXJlZE1hcDo6cmVtb3ZlIj4KLSAg
ICAgIDx3ZWJpZGw+ICBkZWxldGVyIHZvaWQgcmVtb3ZlKERPTVN0cmluZyBuYW1lKTs8L3dlYmlk
bD4KLSAgICAgIDxUeXBlIHR5cGU9InZvaWQiLz4KLSAgICAgIDxBcmd1bWVudExpc3Q+Ci0gICAg
ICAgIDxBcmd1bWVudCBuYW1lPSJuYW1lIj4KLSAgICAgICAgICA8VHlwZSB0eXBlPSJET01TdHJp
bmciLz4KLSAgICAgICAgPC9Bcmd1bWVudD4KLSAgICAgIDwvQXJndW1lbnRMaXN0PgotICAgIDwv
T3BlcmF0aW9uPgotICA8L0ludGVyZmFjZT4KLTwvRGVmaW5pdGlvbnM+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvaW5oZXJpdHMtZ2V0dGVyLndpZGxwcm9j
eG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL2luaGVyaXRzLWdldHRlci53
aWRscHJvY3htbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTVlN2EzMTdmZDk4Y2Qx
YTE2MDlkZmE3ZTVhNGZiNWRiYTQ3MTJkMi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvaW5oZXJp
dHMtZ2V0dGVyLndpZGxwcm9jeG1sCisrKyAvZGV2L251bGwKQEAgLTEsNDQgKzAsMCBAQAotPD94
bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KLTwhRE9DVFlQRSBEZWZpbml0aW9u
cyBTWVNURU0gIndpZGxwcm9jeG1sLmR0ZCI+Ci08RGVmaW5pdGlvbnM+Ci0gIDx3ZWJpZGw+aW50
ZXJmYWNlIEFuaW1hbCB7Ci0KLSAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBuYW1lOwot
fTsKLQotaW50ZXJmYWNlIFBlcnNvbiA6IDxyZWY+QW5pbWFsPC9yZWY+IHsKLQotICByZWFkb25s
eSBhdHRyaWJ1dGUgdW5zaWduZWQgc2hvcnQgYWdlOwotCi0gIGluaGVyaXQgYXR0cmlidXRlIERP
TVN0cmluZyBuYW1lOwotfTs8L3dlYmlkbD4KLSAgPEludGVyZmFjZSBuYW1lPSJBbmltYWwiIGlk
PSI6OkFuaW1hbCI+Ci0gICAgPHdlYmlkbD5pbnRlcmZhY2UgQW5pbWFsIHsKLQotICByZWFkb25s
eSBhdHRyaWJ1dGUgRE9NU3RyaW5nIG5hbWU7Ci19Ozwvd2ViaWRsPgotICAgIDxBdHRyaWJ1dGUg
cmVhZG9ubHk9InJlYWRvbmx5IiBuYW1lPSJuYW1lIiBpZD0iOjpBbmltYWw6Om5hbWUiPgotICAg
ICAgPHdlYmlkbD4gIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgbmFtZTs8L3dlYmlkbD4K
LSAgICAgIDxUeXBlIHR5cGU9IkRPTVN0cmluZyIvPgotICAgIDwvQXR0cmlidXRlPgotICA8L0lu
dGVyZmFjZT4KLSAgPEludGVyZmFjZSBuYW1lPSJQZXJzb24iIGlkPSI6OlBlcnNvbiI+Ci0gICAg
PHdlYmlkbD5pbnRlcmZhY2UgUGVyc29uIDogPHJlZj5BbmltYWw8L3JlZj4gewotCi0gIHJlYWRv
bmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBzaG9ydCBhZ2U7Ci0KLSAgaW5oZXJpdCBhdHRyaWJ1dGUg
RE9NU3RyaW5nIG5hbWU7Ci19Ozwvd2ViaWRsPgotICAgIDxJbnRlcmZhY2VJbmhlcml0YW5jZT4K
LSAgICAgIDxOYW1lIG5hbWU9IkFuaW1hbCIvPgotICAgIDwvSW50ZXJmYWNlSW5oZXJpdGFuY2U+
Ci0gICAgPEF0dHJpYnV0ZSByZWFkb25seT0icmVhZG9ubHkiIG5hbWU9ImFnZSIgaWQ9Ijo6UGVy
c29uOjphZ2UiPgotICAgICAgPHdlYmlkbD4gIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBz
aG9ydCBhZ2U7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJ1bnNpZ25lZCBzaG9ydCIvPgot
ICAgIDwvQXR0cmlidXRlPgotICAgIDxBdHRyaWJ1dGUgaW5oZXJpdD0iaW5oZXJpdCIgbmFtZT0i
bmFtZSIgaWQ9Ijo6UGVyc29uOjpuYW1lIj4KLSAgICAgIDx3ZWJpZGw+ICBpbmhlcml0IGF0dHJp
YnV0ZSBET01TdHJpbmcgbmFtZTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9IkRPTVN0cmlu
ZyIvPgotICAgIDwvQXR0cmlidXRlPgotICA8L0ludGVyZmFjZT4KLTwvRGVmaW5pdGlvbnM+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvaW50ZXJmYWNlLWlu
aGVyaXRzLndpZGxwcm9jeG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL2lu
dGVyZmFjZS1pbmhlcml0cy53aWRscHJvY3htbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggOTRmMGUyOWRmMDVlYjQzMDg1NjlhODgwYjc0MjU2MmQ3M2U5M2RlMS4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVz
dC92YWxpZC94bWwvaW50ZXJmYWNlLWluaGVyaXRzLndpZGxwcm9jeG1sCisrKyAvZGV2L251bGwK
QEAgLTEsNDggKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4K
LTwhRE9DVFlQRSBEZWZpbml0aW9ucyBTWVNURU0gIndpZGxwcm9jeG1sLmR0ZCI+Ci08RGVmaW5p
dGlvbnM+Ci0gIDx3ZWJpZGw+aW50ZXJmYWNlIEFuaW1hbCB7Ci0gIGF0dHJpYnV0ZSBET01TdHJp
bmcgbmFtZTsKLX07Ci0KLWludGVyZmFjZSBIdW1hbiA6IDxyZWY+QW5pbWFsPC9yZWY+IHsKLSAg
YXR0cmlidXRlIDxyZWY+RG9nPC9yZWY+IHBldDsKLX07Ci0KLWludGVyZmFjZSBEb2cgOiA8cmVm
PkFuaW1hbDwvcmVmPiB7Ci0gIGF0dHJpYnV0ZSA8cmVmPkh1bWFuPC9yZWY+IG93bmVyOwotfTs8
L3dlYmlkbD4KLSAgPEludGVyZmFjZSBuYW1lPSJBbmltYWwiIGlkPSI6OkFuaW1hbCI+Ci0gICAg
PHdlYmlkbD5pbnRlcmZhY2UgQW5pbWFsIHsKLSAgYXR0cmlidXRlIERPTVN0cmluZyBuYW1lOwot
fTs8L3dlYmlkbD4KLSAgICA8QXR0cmlidXRlIG5hbWU9Im5hbWUiIGlkPSI6OkFuaW1hbDo6bmFt
ZSI+Ci0gICAgICA8d2ViaWRsPiAgYXR0cmlidXRlIERPTVN0cmluZyBuYW1lOzwvd2ViaWRsPgot
ICAgICAgPFR5cGUgdHlwZT0iRE9NU3RyaW5nIi8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gIDwvSW50
ZXJmYWNlPgotICA8SW50ZXJmYWNlIG5hbWU9Ikh1bWFuIiBpZD0iOjpIdW1hbiI+Ci0gICAgPHdl
YmlkbD5pbnRlcmZhY2UgSHVtYW4gOiA8cmVmPkFuaW1hbDwvcmVmPiB7Ci0gIGF0dHJpYnV0ZSA8
cmVmPkRvZzwvcmVmPiBwZXQ7Ci19Ozwvd2ViaWRsPgotICAgIDxJbnRlcmZhY2VJbmhlcml0YW5j
ZT4KLSAgICAgIDxOYW1lIG5hbWU9IkFuaW1hbCIvPgotICAgIDwvSW50ZXJmYWNlSW5oZXJpdGFu
Y2U+Ci0gICAgPEF0dHJpYnV0ZSBuYW1lPSJwZXQiIGlkPSI6Okh1bWFuOjpwZXQiPgotICAgICAg
PHdlYmlkbD4gIGF0dHJpYnV0ZSA8cmVmPkRvZzwvcmVmPiBwZXQ7PC93ZWJpZGw+Ci0gICAgICA8
VHlwZSBuYW1lPSJEb2ciLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAgPC9JbnRlcmZhY2U+Ci0gIDxJ
bnRlcmZhY2UgbmFtZT0iRG9nIiBpZD0iOjpEb2ciPgotICAgIDx3ZWJpZGw+aW50ZXJmYWNlIERv
ZyA6IDxyZWY+QW5pbWFsPC9yZWY+IHsKLSAgYXR0cmlidXRlIDxyZWY+SHVtYW48L3JlZj4gb3du
ZXI7Ci19Ozwvd2ViaWRsPgotICAgIDxJbnRlcmZhY2VJbmhlcml0YW5jZT4KLSAgICAgIDxOYW1l
IG5hbWU9IkFuaW1hbCIvPgotICAgIDwvSW50ZXJmYWNlSW5oZXJpdGFuY2U+Ci0gICAgPEF0dHJp
YnV0ZSBuYW1lPSJvd25lciIgaWQ9Ijo6RG9nOjpvd25lciI+Ci0gICAgICA8d2ViaWRsPiAgYXR0
cmlidXRlIDxyZWY+SHVtYW48L3JlZj4gb3duZXI7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSBuYW1l
PSJIdW1hbiIvPgotICAgIDwvQXR0cmlidXRlPgotICA8L0ludGVyZmFjZT4KLTwvRGVmaW5pdGlv
bnM+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvaXRlcmF0
b3Iud2lkbHByb2N4bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvaXRlcmF0
b3Iud2lkbHByb2N4bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDhjYTk1ZmJiZDE3
ZjMwMmUyNWQ3YWIwZjI1NWM4NzUxODIzYWUwYTUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL2l0
ZXJhdG9yLndpZGxwcm9jeG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTMyICswLDAgQEAKLTw/eG1s
IHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Ci08IURPQ1RZUEUgRGVmaW5pdGlvbnMg
U1lTVEVNICJ3aWRscHJvY3htbC5kdGQiPgotPERlZmluaXRpb25zPgotICA8d2ViaWRsPmludGVy
ZmFjZSBTZXNzaW9uTWFuYWdlciB7Ci0gIDxyZWY+U2Vzc2lvbjwvcmVmPiBnZXRTZXNzaW9uRm9y
VXNlcihET01TdHJpbmcgdXNlcm5hbWUpOwotICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQg
bG9uZyBzZXNzaW9uQ291bnQ7Ci0KLSAgPHJlZj5TZXNzaW9uPC9yZWY+IGl0ZXJhdG9yOwotfTsK
LQotaW50ZXJmYWNlIFNlc3Npb24gewotICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHVz
ZXJuYW1lOwotfTsKLQotaW50ZXJmYWNlIFNlc3Npb25NYW5hZ2VyMiB7Ci0gIDxyZWY+U2Vzc2lv
bjI8L3JlZj4gZ2V0U2Vzc2lvbkZvclVzZXIoRE9NU3RyaW5nIHVzZXJuYW1lKTsKLSAgcmVhZG9u
bHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgc2Vzc2lvbkNvdW50OwotCi0gIDxyZWY+U2Vzc2lv
bjI8L3JlZj4gaXRlcmF0b3IgPSBTZXNzaW9uSXRlcmF0b3I7Ci19OwotCi1pbnRlcmZhY2UgU2Vz
c2lvbjIgewotICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHVzZXJuYW1lOwotfTsKLQot
aW50ZXJmYWNlIFNlc3Npb25JdGVyYXRvciB7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25l
ZCBsb25nIHJlbWFpbmluZ1Nlc3Npb25zOwotfTsKLQotICAgICBpbnRlcmZhY2UgTm9kZUxpc3Qg
ewotICAgICAgIDxyZWY+Tm9kZTwvcmVmPiBpdGVyYXRvciA9IE5vZGVJdGVyYXRvcjsKLSAgICAg
fTsKLQotICAgICBpbnRlcmZhY2UgTm9kZUl0ZXJhdG9yIHsKLSAgICAgICA8cmVmPk5vZGU8L3Jl
Zj4gaXRlcmF0b3Igb2JqZWN0OwotICAgICB9Ozwvd2ViaWRsPgotICA8SW50ZXJmYWNlIG5hbWU9
IlNlc3Npb25NYW5hZ2VyIiBpZD0iOjpTZXNzaW9uTWFuYWdlciI+Ci0gICAgPHdlYmlkbD5pbnRl
cmZhY2UgU2Vzc2lvbk1hbmFnZXIgewotICA8cmVmPlNlc3Npb248L3JlZj4gZ2V0U2Vzc2lvbkZv
clVzZXIoRE9NU3RyaW5nIHVzZXJuYW1lKTsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVk
IGxvbmcgc2Vzc2lvbkNvdW50OwotCi0gIDxyZWY+U2Vzc2lvbjwvcmVmPiBpdGVyYXRvcjsKLX07
PC93ZWJpZGw+Ci0gICAgPE9wZXJhdGlvbiBuYW1lPSJnZXRTZXNzaW9uRm9yVXNlciIgaWQ9Ijo6
U2Vzc2lvbk1hbmFnZXI6OmdldFNlc3Npb25Gb3JVc2VyIj4KLSAgICAgIDx3ZWJpZGw+ICA8cmVm
PlNlc3Npb248L3JlZj4gZ2V0U2Vzc2lvbkZvclVzZXIoRE9NU3RyaW5nIHVzZXJuYW1lKTs8L3dl
YmlkbD4KLSAgICAgIDxUeXBlIG5hbWU9IlNlc3Npb24iLz4KLSAgICAgIDxBcmd1bWVudExpc3Q+
Ci0gICAgICAgIDxBcmd1bWVudCBuYW1lPSJ1c2VybmFtZSI+Ci0gICAgICAgICAgPFR5cGUgdHlw
ZT0iRE9NU3RyaW5nIi8+Ci0gICAgICAgIDwvQXJndW1lbnQ+Ci0gICAgICA8L0FyZ3VtZW50TGlz
dD4KLSAgICA8L09wZXJhdGlvbj4KLSAgICA8QXR0cmlidXRlIHJlYWRvbmx5PSJyZWFkb25seSIg
bmFtZT0ic2Vzc2lvbkNvdW50IiBpZD0iOjpTZXNzaW9uTWFuYWdlcjo6c2Vzc2lvbkNvdW50Ij4K
LSAgICAgIDx3ZWJpZGw+ICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBzZXNzaW9u
Q291bnQ7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJ1bnNpZ25lZCBsb25nIi8+Ci0gICAg
PC9BdHRyaWJ1dGU+Ci0gICAgPEl0ZXJhdG9yPgotICAgICAgPHdlYmlkbD4gIDxyZWY+U2Vzc2lv
bjwvcmVmPiBpdGVyYXRvcjs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIG5hbWU9IlNlc3Npb24iLz4K
LSAgICA8L0l0ZXJhdG9yPgotICA8L0ludGVyZmFjZT4KLSAgPEludGVyZmFjZSBuYW1lPSJTZXNz
aW9uIiBpZD0iOjpTZXNzaW9uIj4KLSAgICA8d2ViaWRsPmludGVyZmFjZSBTZXNzaW9uIHsKLSAg
cmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyB1c2VybmFtZTsKLX07PC93ZWJpZGw+Ci0gICAg
PEF0dHJpYnV0ZSByZWFkb25seT0icmVhZG9ubHkiIG5hbWU9InVzZXJuYW1lIiBpZD0iOjpTZXNz
aW9uOjp1c2VybmFtZSI+Ci0gICAgICA8d2ViaWRsPiAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0
cmluZyB1c2VybmFtZTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9IkRPTVN0cmluZyIvPgot
ICAgIDwvQXR0cmlidXRlPgotICA8L0ludGVyZmFjZT4KLSAgPEludGVyZmFjZSBuYW1lPSJTZXNz
aW9uTWFuYWdlcjIiIGlkPSI6OlNlc3Npb25NYW5hZ2VyMiI+Ci0gICAgPHdlYmlkbD5pbnRlcmZh
Y2UgU2Vzc2lvbk1hbmFnZXIyIHsKLSAgPHJlZj5TZXNzaW9uMjwvcmVmPiBnZXRTZXNzaW9uRm9y
VXNlcihET01TdHJpbmcgdXNlcm5hbWUpOwotICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQg
bG9uZyBzZXNzaW9uQ291bnQ7Ci0KLSAgPHJlZj5TZXNzaW9uMjwvcmVmPiBpdGVyYXRvciA9IFNl
c3Npb25JdGVyYXRvcjsKLX07PC93ZWJpZGw+Ci0gICAgPE9wZXJhdGlvbiBuYW1lPSJnZXRTZXNz
aW9uRm9yVXNlciIgaWQ9Ijo6U2Vzc2lvbk1hbmFnZXIyOjpnZXRTZXNzaW9uRm9yVXNlciI+Ci0g
ICAgICA8d2ViaWRsPiAgPHJlZj5TZXNzaW9uMjwvcmVmPiBnZXRTZXNzaW9uRm9yVXNlcihET01T
dHJpbmcgdXNlcm5hbWUpOzwvd2ViaWRsPgotICAgICAgPFR5cGUgbmFtZT0iU2Vzc2lvbjIiLz4K
LSAgICAgIDxBcmd1bWVudExpc3Q+Ci0gICAgICAgIDxBcmd1bWVudCBuYW1lPSJ1c2VybmFtZSI+
Ci0gICAgICAgICAgPFR5cGUgdHlwZT0iRE9NU3RyaW5nIi8+Ci0gICAgICAgIDwvQXJndW1lbnQ+
Ci0gICAgICA8L0FyZ3VtZW50TGlzdD4KLSAgICA8L09wZXJhdGlvbj4KLSAgICA8QXR0cmlidXRl
IHJlYWRvbmx5PSJyZWFkb25seSIgbmFtZT0ic2Vzc2lvbkNvdW50IiBpZD0iOjpTZXNzaW9uTWFu
YWdlcjI6OnNlc3Npb25Db3VudCI+Ci0gICAgICA8d2ViaWRsPiAgcmVhZG9ubHkgYXR0cmlidXRl
IHVuc2lnbmVkIGxvbmcgc2Vzc2lvbkNvdW50Ozwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0i
dW5zaWduZWQgbG9uZyIvPgotICAgIDwvQXR0cmlidXRlPgotICAgIDxJdGVyYXRvciBpbnRlcmZh
Y2U9IlNlc3Npb25JdGVyYXRvciI+Ci0gICAgICA8d2ViaWRsPiAgPHJlZj5TZXNzaW9uMjwvcmVm
PiBpdGVyYXRvciA9IFNlc3Npb25JdGVyYXRvcjs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIG5hbWU9
IlNlc3Npb24yIi8+Ci0gICAgPC9JdGVyYXRvcj4KLSAgPC9JbnRlcmZhY2U+Ci0gIDxJbnRlcmZh
Y2UgbmFtZT0iU2Vzc2lvbjIiIGlkPSI6OlNlc3Npb24yIj4KLSAgICA8d2ViaWRsPmludGVyZmFj
ZSBTZXNzaW9uMiB7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgdXNlcm5hbWU7Ci19
Ozwvd2ViaWRsPgotICAgIDxBdHRyaWJ1dGUgcmVhZG9ubHk9InJlYWRvbmx5IiBuYW1lPSJ1c2Vy
bmFtZSIgaWQ9Ijo6U2Vzc2lvbjI6OnVzZXJuYW1lIj4KLSAgICAgIDx3ZWJpZGw+ICByZWFkb25s
eSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHVzZXJuYW1lOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlw
ZT0iRE9NU3RyaW5nIi8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gIDwvSW50ZXJmYWNlPgotICA8SW50
ZXJmYWNlIG5hbWU9IlNlc3Npb25JdGVyYXRvciIgaWQ9Ijo6U2Vzc2lvbkl0ZXJhdG9yIj4KLSAg
ICA8d2ViaWRsPmludGVyZmFjZSBTZXNzaW9uSXRlcmF0b3IgewotICByZWFkb25seSBhdHRyaWJ1
dGUgdW5zaWduZWQgbG9uZyByZW1haW5pbmdTZXNzaW9uczsKLX07PC93ZWJpZGw+Ci0gICAgPEF0
dHJpYnV0ZSByZWFkb25seT0icmVhZG9ubHkiIG5hbWU9InJlbWFpbmluZ1Nlc3Npb25zIiBpZD0i
OjpTZXNzaW9uSXRlcmF0b3I6OnJlbWFpbmluZ1Nlc3Npb25zIj4KLSAgICAgIDx3ZWJpZGw+ICBy
ZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyByZW1haW5pbmdTZXNzaW9uczs8L3dlYmlk
bD4KLSAgICAgIDxUeXBlIHR5cGU9InVuc2lnbmVkIGxvbmciLz4KLSAgICA8L0F0dHJpYnV0ZT4K
LSAgPC9JbnRlcmZhY2U+Ci0gIDxJbnRlcmZhY2UgbmFtZT0iTm9kZUxpc3QiIGlkPSI6Ok5vZGVM
aXN0Ij4KLSAgICA8d2ViaWRsPiAgICAgaW50ZXJmYWNlIE5vZGVMaXN0IHsKLSAgICAgICA8cmVm
Pk5vZGU8L3JlZj4gaXRlcmF0b3IgPSBOb2RlSXRlcmF0b3I7Ci0gICAgIH07PC93ZWJpZGw+Ci0g
ICAgPEl0ZXJhdG9yIGludGVyZmFjZT0iTm9kZUl0ZXJhdG9yIj4KLSAgICAgIDx3ZWJpZGw+ICAg
ICAgIDxyZWY+Tm9kZTwvcmVmPiBpdGVyYXRvciA9IE5vZGVJdGVyYXRvcjs8L3dlYmlkbD4KLSAg
ICAgIDxUeXBlIG5hbWU9Ik5vZGUiLz4KLSAgICA8L0l0ZXJhdG9yPgotICA8L0ludGVyZmFjZT4K
LSAgPEludGVyZmFjZSBuYW1lPSJOb2RlSXRlcmF0b3IiIGlkPSI6Ok5vZGVJdGVyYXRvciI+Ci0g
ICAgPHdlYmlkbD4gICAgIGludGVyZmFjZSBOb2RlSXRlcmF0b3IgewotICAgICAgIDxyZWY+Tm9k
ZTwvcmVmPiBpdGVyYXRvciBvYmplY3Q7Ci0gICAgIH07PC93ZWJpZGw+Ci0gICAgPEl0ZXJhdG9y
T2JqZWN0PgotICAgICAgPHdlYmlkbD4gICAgICAgPHJlZj5Ob2RlPC9yZWY+IGl0ZXJhdG9yIG9i
amVjdDs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIG5hbWU9Ik5vZGUiLz4KLSAgICA8L0l0ZXJhdG9y
T2JqZWN0PgotICA8L0ludGVyZmFjZT4KLTwvRGVmaW5pdGlvbnM+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvbW9kdWxlLndpZGxwcm9jeG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL21vZHVsZS53aWRscHJvY3htbApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggYjU3NWI4NzA1YWZhYzAzYzNjMTU5NGI4MWE0YzA4MjE2MzQ2
ZTE1OS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvbW9kdWxlLndpZGxwcm9jeG1sCisrKyAvZGV2
L251bGwKQEAgLTEsOTkgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRG
LTgiPz4KLTwhRE9DVFlQRSBEZWZpbml0aW9ucyBTWVNURU0gIndpZGxwcm9jeG1sLmR0ZCI+Ci08
RGVmaW5pdGlvbnM+Ci0gIDxNb2R1bGUgbmFtZT0iZ2Z4IiBpZD0iOjpnZngiPgotICAgIDx3ZWJp
ZGw+bW9kdWxlIGdmeCB7Ci0KLSAgbW9kdWxlIGdlb20gewotICAgIGludGVyZmFjZSBTaGFwZSB7
ICB9OwotICAgIGludGVyZmFjZSBSZWN0YW5nbGUgOiA8cmVmPlNoYXBlPC9yZWY+IHsgIH07Ci0g
ICAgaW50ZXJmYWNlIFBhdGggOiA8cmVmPlNoYXBlPC9yZWY+IHsgIH07Ci0gIH07Ci0KLSAgaW50
ZXJmYWNlIEdyYXBoaWNzQ29udGV4dCB7Ci0gICAgdm9pZCBmaWxsU2hhcGUoPHJlZj5nZW9tOjpT
aGFwZTwvcmVmPiBzKTsKLSAgICB2b2lkIHN0cm9rZVNoYXBlKDxyZWY+Z2VvbTo6U2hhcGU8L3Jl
Zj4gcyk7Ci0gIH07Ci19Ozwvd2ViaWRsPgotICAgIDxNb2R1bGUgbmFtZT0iZ2VvbSIgaWQ9Ijo6
Z2Z4OjpnZW9tIj4KLSAgICAgIDx3ZWJpZGw+ICBtb2R1bGUgZ2VvbSB7Ci0gICAgaW50ZXJmYWNl
IFNoYXBlIHsgIH07Ci0gICAgaW50ZXJmYWNlIFJlY3RhbmdsZSA6IDxyZWY+U2hhcGU8L3JlZj4g
eyAgfTsKLSAgICBpbnRlcmZhY2UgUGF0aCA6IDxyZWY+U2hhcGU8L3JlZj4geyAgfTsKLSAgfTs8
L3dlYmlkbD4KLSAgICAgIDxJbnRlcmZhY2UgbmFtZT0iU2hhcGUiIGlkPSI6OmdmeDo6Z2VvbTo6
U2hhcGUiPgotICAgICAgICA8d2ViaWRsPiAgICBpbnRlcmZhY2UgU2hhcGUgeyAgfTs8L3dlYmlk
bD4KLSAgICAgIDwvSW50ZXJmYWNlPgotICAgICAgPEludGVyZmFjZSBuYW1lPSJSZWN0YW5nbGUi
IGlkPSI6OmdmeDo6Z2VvbTo6UmVjdGFuZ2xlIj4KLSAgICAgICAgPHdlYmlkbD4gICAgaW50ZXJm
YWNlIFJlY3RhbmdsZSA6IDxyZWY+U2hhcGU8L3JlZj4geyAgfTs8L3dlYmlkbD4KLSAgICAgICAg
PEludGVyZmFjZUluaGVyaXRhbmNlPgotICAgICAgICAgIDxOYW1lIG5hbWU9IlNoYXBlIi8+Ci0g
ICAgICAgIDwvSW50ZXJmYWNlSW5oZXJpdGFuY2U+Ci0gICAgICA8L0ludGVyZmFjZT4KLSAgICAg
IDxJbnRlcmZhY2UgbmFtZT0iUGF0aCIgaWQ9Ijo6Z2Z4OjpnZW9tOjpQYXRoIj4KLSAgICAgICAg
PHdlYmlkbD4gICAgaW50ZXJmYWNlIFBhdGggOiA8cmVmPlNoYXBlPC9yZWY+IHsgIH07PC93ZWJp
ZGw+Ci0gICAgICAgIDxJbnRlcmZhY2VJbmhlcml0YW5jZT4KLSAgICAgICAgICA8TmFtZSBuYW1l
PSJTaGFwZSIvPgotICAgICAgICA8L0ludGVyZmFjZUluaGVyaXRhbmNlPgotICAgICAgPC9JbnRl
cmZhY2U+Ci0gICAgPC9Nb2R1bGU+Ci0gICAgPEludGVyZmFjZSBuYW1lPSJHcmFwaGljc0NvbnRl
eHQiIGlkPSI6OmdmeDo6R3JhcGhpY3NDb250ZXh0Ij4KLSAgICAgIDx3ZWJpZGw+ICBpbnRlcmZh
Y2UgR3JhcGhpY3NDb250ZXh0IHsKLSAgICB2b2lkIGZpbGxTaGFwZSg8cmVmPmdlb206OlNoYXBl
PC9yZWY+IHMpOwotICAgIHZvaWQgc3Ryb2tlU2hhcGUoPHJlZj5nZW9tOjpTaGFwZTwvcmVmPiBz
KTsKLSAgfTs8L3dlYmlkbD4KLSAgICAgIDxPcGVyYXRpb24gbmFtZT0iZmlsbFNoYXBlIiBpZD0i
OjpnZng6OkdyYXBoaWNzQ29udGV4dDo6ZmlsbFNoYXBlIj4KLSAgICAgICAgPHdlYmlkbD4gICAg
dm9pZCBmaWxsU2hhcGUoPHJlZj5nZW9tOjpTaGFwZTwvcmVmPiBzKTs8L3dlYmlkbD4KLSAgICAg
ICAgPFR5cGUgdHlwZT0idm9pZCIvPgotICAgICAgICA8QXJndW1lbnRMaXN0PgotICAgICAgICAg
IDxBcmd1bWVudCBuYW1lPSJzIj4KLSAgICAgICAgICAgIDxUeXBlIG5hbWU9Imdlb206OlNoYXBl
Ii8+Ci0gICAgICAgICAgPC9Bcmd1bWVudD4KLSAgICAgICAgPC9Bcmd1bWVudExpc3Q+Ci0gICAg
ICA8L09wZXJhdGlvbj4KLSAgICAgIDxPcGVyYXRpb24gbmFtZT0ic3Ryb2tlU2hhcGUiIGlkPSI6
OmdmeDo6R3JhcGhpY3NDb250ZXh0OjpzdHJva2VTaGFwZSI+Ci0gICAgICAgIDx3ZWJpZGw+ICAg
IHZvaWQgc3Ryb2tlU2hhcGUoPHJlZj5nZW9tOjpTaGFwZTwvcmVmPiBzKTs8L3dlYmlkbD4KLSAg
ICAgICAgPFR5cGUgdHlwZT0idm9pZCIvPgotICAgICAgICA8QXJndW1lbnRMaXN0PgotICAgICAg
ICAgIDxBcmd1bWVudCBuYW1lPSJzIj4KLSAgICAgICAgICAgIDxUeXBlIG5hbWU9Imdlb206OlNo
YXBlIi8+Ci0gICAgICAgICAgPC9Bcmd1bWVudD4KLSAgICAgICAgPC9Bcmd1bWVudExpc3Q+Ci0g
ICAgICA8L09wZXJhdGlvbj4KLSAgICA8L0ludGVyZmFjZT4KLSAgPC9Nb2R1bGU+Ci0gIDxNb2R1
bGUgbmFtZT0iZ3VpIiBpZD0iOjpndWkiPgotICAgIDx3ZWJpZGw+bW9kdWxlIGd1aSB7Ci0KLSAg
aW50ZXJmYWNlIFdpZGdldCB7ICAgfTsKLQotICBpbnRlcmZhY2UgV2luZG93IDogPHJlZj5XaWRn
ZXQ8L3JlZj4gewotICAgIDxyZWY+Z2Z4OjpHcmFwaGljc0NvbnRleHQ8L3JlZj4gZ2V0R3JhcGhp
Y3NDb250ZXh0KCk7Ci0gIH07Ci0KLSAgaW50ZXJmYWNlIEJ1dHRvbiA6IDxyZWY+V2lkZ2V0PC9y
ZWY+IHsgICB9OwotfTs8L3dlYmlkbD4KLSAgICA8SW50ZXJmYWNlIG5hbWU9IldpZGdldCIgaWQ9
Ijo6Z3VpOjpXaWRnZXQiPgotICAgICAgPHdlYmlkbD4gIGludGVyZmFjZSBXaWRnZXQgeyAgIH07
PC93ZWJpZGw+Ci0gICAgPC9JbnRlcmZhY2U+Ci0gICAgPEludGVyZmFjZSBuYW1lPSJXaW5kb3ci
IGlkPSI6Omd1aTo6V2luZG93Ij4KLSAgICAgIDx3ZWJpZGw+ICBpbnRlcmZhY2UgV2luZG93IDog
PHJlZj5XaWRnZXQ8L3JlZj4gewotICAgIDxyZWY+Z2Z4OjpHcmFwaGljc0NvbnRleHQ8L3JlZj4g
Z2V0R3JhcGhpY3NDb250ZXh0KCk7Ci0gIH07PC93ZWJpZGw+Ci0gICAgICA8SW50ZXJmYWNlSW5o
ZXJpdGFuY2U+Ci0gICAgICAgIDxOYW1lIG5hbWU9IldpZGdldCIvPgotICAgICAgPC9JbnRlcmZh
Y2VJbmhlcml0YW5jZT4KLSAgICAgIDxPcGVyYXRpb24gbmFtZT0iZ2V0R3JhcGhpY3NDb250ZXh0
IiBpZD0iOjpndWk6OldpbmRvdzo6Z2V0R3JhcGhpY3NDb250ZXh0Ij4KLSAgICAgICAgPHdlYmlk
bD4gICAgPHJlZj5nZng6OkdyYXBoaWNzQ29udGV4dDwvcmVmPiBnZXRHcmFwaGljc0NvbnRleHQo
KTs8L3dlYmlkbD4KLSAgICAgICAgPFR5cGUgbmFtZT0iZ2Z4OjpHcmFwaGljc0NvbnRleHQiLz4K
LSAgICAgICAgPEFyZ3VtZW50TGlzdC8+Ci0gICAgICA8L09wZXJhdGlvbj4KLSAgICA8L0ludGVy
ZmFjZT4KLSAgICA8SW50ZXJmYWNlIG5hbWU9IkJ1dHRvbiIgaWQ9Ijo6Z3VpOjpCdXR0b24iPgot
ICAgICAgPHdlYmlkbD4gIGludGVyZmFjZSBCdXR0b24gOiA8cmVmPldpZGdldDwvcmVmPiB7ICAg
fTs8L3dlYmlkbD4KLSAgICAgIDxJbnRlcmZhY2VJbmhlcml0YW5jZT4KLSAgICAgICAgPE5hbWUg
bmFtZT0iV2lkZ2V0Ii8+Ci0gICAgICA8L0ludGVyZmFjZUluaGVyaXRhbmNlPgotICAgIDwvSW50
ZXJmYWNlPgotICA8L01vZHVsZT4KLTwvRGVmaW5pdGlvbnM+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvbmFtZWRjb25zdHJ1Y3Rvci53aWRscHJvY3htbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9uYW1lZGNvbnN0cnVjdG9yLndpZGxw
cm9jeG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5ZjY2MTYxMjg3OThjZThkZWI4
YzdhMTI5OWY5NDM2NmU5ZGYzYzE1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9uYW1lZGNvbnN0
cnVjdG9yLndpZGxwcm9jeG1sCisrKyAvZGV2L251bGwKQEAgLTEsMzAgKzAsMCBAQAotPD94bWwg
dmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KLTwhRE9DVFlQRSBEZWZpbml0aW9ucyBT
WVNURU0gIndpZGxwcm9jeG1sLmR0ZCI+Ci08RGVmaW5pdGlvbnM+Ci0gIDx3ZWJpZGw+W05hbWVk
Q29uc3RydWN0b3I9QXVkaW8sCi0gTmFtZWRDb25zdHJ1Y3Rvcj1BdWRpbyhET01TdHJpbmcgc3Jj
KV0KLWludGVyZmFjZSBIVE1MQXVkaW9FbGVtZW50IDogPHJlZj5IVE1MTWVkaWFFbGVtZW50PC9y
ZWY+IHsKLX07PC93ZWJpZGw+Ci0gIDxJbnRlcmZhY2UgbmFtZT0iSFRNTEF1ZGlvRWxlbWVudCIg
aWQ9Ijo6SFRNTEF1ZGlvRWxlbWVudCI+Ci0gICAgPHdlYmlkbD5bTmFtZWRDb25zdHJ1Y3Rvcj1B
dWRpbywKLSBOYW1lZENvbnN0cnVjdG9yPUF1ZGlvKERPTVN0cmluZyBzcmMpXQotaW50ZXJmYWNl
IEhUTUxBdWRpb0VsZW1lbnQgOiA8cmVmPkhUTUxNZWRpYUVsZW1lbnQ8L3JlZj4gewotfTs8L3dl
YmlkbD4KLSAgICA8RXh0ZW5kZWRBdHRyaWJ1dGVMaXN0PgotICAgICAgPEV4dGVuZGVkQXR0cmli
dXRlIG5hbWU9Ik5hbWVkQ29uc3RydWN0b3IiIHZhbHVlPSJBdWRpbyI+Ci0gICAgICAgIDx3ZWJp
ZGw+TmFtZWRDb25zdHJ1Y3Rvcjwvd2ViaWRsPgotICAgICAgPC9FeHRlbmRlZEF0dHJpYnV0ZT4K
LSAgICAgIDxFeHRlbmRlZEF0dHJpYnV0ZSBuYW1lPSJOYW1lZENvbnN0cnVjdG9yIiB2YWx1ZT0i
QXVkaW8iPgotICAgICAgICA8d2ViaWRsPiBOYW1lZENvbnN0cnVjdG9yPUF1ZGlvKERPTVN0cmlu
ZyBzcmMpPC93ZWJpZGw+Ci0gICAgICAgIDxBcmd1bWVudExpc3Q+Ci0gICAgICAgICAgPEFyZ3Vt
ZW50IG5hbWU9InNyYyI+Ci0gICAgICAgICAgICA8VHlwZSB0eXBlPSJET01TdHJpbmciLz4KLSAg
ICAgICAgICA8L0FyZ3VtZW50PgotICAgICAgICA8L0FyZ3VtZW50TGlzdD4KLSAgICAgIDwvRXh0
ZW5kZWRBdHRyaWJ1dGU+Ci0gICAgPC9FeHRlbmRlZEF0dHJpYnV0ZUxpc3Q+Ci0gICAgPEludGVy
ZmFjZUluaGVyaXRhbmNlPgotICAgICAgPE5hbWUgbmFtZT0iSFRNTE1lZGlhRWxlbWVudCIvPgot
ICAgIDwvSW50ZXJmYWNlSW5oZXJpdGFuY2U+Ci0gIDwvSW50ZXJmYWNlPgotPC9EZWZpbml0aW9u
cz4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9uYW1lc3Bh
Y2VvYmplY3Qud2lkbHByb2N4bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwv
bmFtZXNwYWNlb2JqZWN0LndpZGxwcm9jeG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCBhZjBjZGU5MzcxOTk2NDJlNTQzZDFkMzBkMjY2OTc1NDE2NDM4NjUxLi4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0
L3ZhbGlkL3htbC9uYW1lc3BhY2VvYmplY3Qud2lkbHByb2N4bWwKKysrIC9kZXYvbnVsbApAQCAt
MSw2MCArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgotPCFE
T0NUWVBFIERlZmluaXRpb25zIFNZU1RFTSAid2lkbHByb2N4bWwuZHRkIj4KLTxEZWZpbml0aW9u
cz4KLSAgPE1vZHVsZSBuYW1lPSJhY21lIiBpZD0iOjphY21lIj4KLSAgICA8d2ViaWRsPltOYW1l
c3BhY2VPYmplY3RdCi1tb2R1bGUgYWNtZSB7Ci0gIAotICBleGNlcHRpb24gRGV2aWNlRXhjZXB0
aW9uIHsgfTsKLQotICBtb2R1bGUgcGltIHsKLQotICAgIFtDb25zdHJ1Y3Rvcl0KLSAgICBpbnRl
cmZhY2UgQ29udGFjdCB7IH07Ci0KLSAgICBbQ29uc3RydWN0b3IsCi0gICAgIE5hbWVkQ29uc3Ry
dWN0b3I9UmVjdXJyaW5nRXZlbnQobG9uZyBmcmVxKV0KLSAgICBpbnRlcmZhY2UgQ2FsZW5kYXJF
dmVudCB7IH07Ci0gIH07Ci19Ozwvd2ViaWRsPgotICAgIDxFeHRlbmRlZEF0dHJpYnV0ZUxpc3Q+
Ci0gICAgICA8RXh0ZW5kZWRBdHRyaWJ1dGUgbmFtZT0iTmFtZXNwYWNlT2JqZWN0Ii8+Ci0gICAg
PC9FeHRlbmRlZEF0dHJpYnV0ZUxpc3Q+Ci0gICAgPEV4Y2VwdGlvbiBuYW1lPSJEZXZpY2VFeGNl
cHRpb24iIGlkPSI6OmFjbWU6OkRldmljZUV4Y2VwdGlvbiI+Ci0gICAgICA8d2ViaWRsPiAgZXhj
ZXB0aW9uIERldmljZUV4Y2VwdGlvbiB7IH07PC93ZWJpZGw+Ci0gICAgPC9FeGNlcHRpb24+Ci0g
ICAgPE1vZHVsZSBuYW1lPSJwaW0iIGlkPSI6OmFjbWU6OnBpbSI+Ci0gICAgICA8d2ViaWRsPiAg
bW9kdWxlIHBpbSB7Ci0KLSAgICBbQ29uc3RydWN0b3JdCi0gICAgaW50ZXJmYWNlIENvbnRhY3Qg
eyB9OwotCi0gICAgW0NvbnN0cnVjdG9yLAotICAgICBOYW1lZENvbnN0cnVjdG9yPVJlY3Vycmlu
Z0V2ZW50KGxvbmcgZnJlcSldCi0gICAgaW50ZXJmYWNlIENhbGVuZGFyRXZlbnQgeyB9OwotICB9
Ozwvd2ViaWRsPgotICAgICAgPEludGVyZmFjZSBuYW1lPSJDb250YWN0IiBpZD0iOjphY21lOjpw
aW06OkNvbnRhY3QiPgotICAgICAgICA8d2ViaWRsPiAgICBbQ29uc3RydWN0b3JdCi0gICAgaW50
ZXJmYWNlIENvbnRhY3QgeyB9Ozwvd2ViaWRsPgotICAgICAgICA8RXh0ZW5kZWRBdHRyaWJ1dGVM
aXN0PgotICAgICAgICAgIDxFeHRlbmRlZEF0dHJpYnV0ZSBuYW1lPSJDb25zdHJ1Y3RvciIvPgot
ICAgICAgICA8L0V4dGVuZGVkQXR0cmlidXRlTGlzdD4KLSAgICAgIDwvSW50ZXJmYWNlPgotICAg
ICAgPEludGVyZmFjZSBuYW1lPSJDYWxlbmRhckV2ZW50IiBpZD0iOjphY21lOjpwaW06OkNhbGVu
ZGFyRXZlbnQiPgotICAgICAgICA8d2ViaWRsPiAgICBbQ29uc3RydWN0b3IsCi0gICAgIE5hbWVk
Q29uc3RydWN0b3I9UmVjdXJyaW5nRXZlbnQobG9uZyBmcmVxKV0KLSAgICBpbnRlcmZhY2UgQ2Fs
ZW5kYXJFdmVudCB7IH07PC93ZWJpZGw+Ci0gICAgICAgIDxFeHRlbmRlZEF0dHJpYnV0ZUxpc3Q+
Ci0gICAgICAgICAgPEV4dGVuZGVkQXR0cmlidXRlIG5hbWU9IkNvbnN0cnVjdG9yIi8+Ci0gICAg
ICAgICAgPEV4dGVuZGVkQXR0cmlidXRlIG5hbWU9Ik5hbWVkQ29uc3RydWN0b3IiIHZhbHVlPSJS
ZWN1cnJpbmdFdmVudCI+Ci0gICAgICAgICAgICA8QXJndW1lbnRMaXN0PgotICAgICAgICAgICAg
ICA8QXJndW1lbnQgbmFtZT0iZnJlcSI+Ci0gICAgICAgICAgICAgICAgPFR5cGUgdHlwZT0ibG9u
ZyIvPgotICAgICAgICAgICAgICA8L0FyZ3VtZW50PgotICAgICAgICAgICAgPC9Bcmd1bWVudExp
c3Q+Ci0gICAgICAgICAgPC9FeHRlbmRlZEF0dHJpYnV0ZT4KLSAgICAgICAgPC9FeHRlbmRlZEF0
dHJpYnV0ZUxpc3Q+Ci0gICAgICA8L0ludGVyZmFjZT4KLSAgICA8L01vZHVsZT4KLSAgPC9Nb2R1
bGU+Ci08L0RlZmluaXRpb25zPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3Qv
dmFsaWQveG1sL25vaW50ZXJmYWNlb2JqZWN0LndpZGxwcm9jeG1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxw
cm9jL3Rlc3QvdmFsaWQveG1sL25vaW50ZXJmYWNlb2JqZWN0LndpZGxwcm9jeG1sCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmNjRmMTE2YjYwZmI4ZTU2YjY1NjBhNjliMWUyYjY3ZjEz
YWZhYWQ5Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9ub2ludGVyZmFjZW9iamVjdC53aWRscHJv
Y3htbAorKysgL2Rldi9udWxsCkBAIC0xLDI4ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIg
ZW5jb2Rpbmc9IlVURi04Ij8+Ci08IURPQ1RZUEUgRGVmaW5pdGlvbnMgU1lTVEVNICJ3aWRscHJv
Y3htbC5kdGQiPgotPERlZmluaXRpb25zPgotICA8d2ViaWRsPltOb0ludGVyZmFjZU9iamVjdF0K
LWludGVyZmFjZSBRdWVyeSB7Ci0gIGFueSBsb29rdXBFbnRyeSh1bnNpZ25lZCBsb25nIGtleSk7
Ci19Ozwvd2ViaWRsPgotICA8SW50ZXJmYWNlIG5hbWU9IlF1ZXJ5IiBpZD0iOjpRdWVyeSI+Ci0g
ICAgPHdlYmlkbD5bTm9JbnRlcmZhY2VPYmplY3RdCi1pbnRlcmZhY2UgUXVlcnkgewotICBhbnkg
bG9va3VwRW50cnkodW5zaWduZWQgbG9uZyBrZXkpOwotfTs8L3dlYmlkbD4KLSAgICA8RXh0ZW5k
ZWRBdHRyaWJ1dGVMaXN0PgotICAgICAgPEV4dGVuZGVkQXR0cmlidXRlIG5hbWU9Ik5vSW50ZXJm
YWNlT2JqZWN0Ij4KLSAgICAgICAgPHdlYmlkbD5Ob0ludGVyZmFjZU9iamVjdDwvd2ViaWRsPgot
ICAgICAgPC9FeHRlbmRlZEF0dHJpYnV0ZT4KLSAgICA8L0V4dGVuZGVkQXR0cmlidXRlTGlzdD4K
LSAgICA8T3BlcmF0aW9uIG5hbWU9Imxvb2t1cEVudHJ5IiBpZD0iOjpRdWVyeTo6bG9va3VwRW50
cnkiPgotICAgICAgPHdlYmlkbD4gIGFueSBsb29rdXBFbnRyeSh1bnNpZ25lZCBsb25nIGtleSk7
PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJhbnkiLz4KLSAgICAgIDxBcmd1bWVudExpc3Q+
Ci0gICAgICAgIDxBcmd1bWVudCBuYW1lPSJrZXkiPgotICAgICAgICAgIDxUeXBlIHR5cGU9InVu
c2lnbmVkIGxvbmciLz4KLSAgICAgICAgPC9Bcmd1bWVudD4KLSAgICAgIDwvQXJndW1lbnRMaXN0
PgotICAgIDwvT3BlcmF0aW9uPgotICA8L0ludGVyZmFjZT4KLTwvRGVmaW5pdGlvbnM+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvbnVsbGFibGUud2lkbHBy
b2N4bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvbnVsbGFibGUud2lkbHBy
b2N4bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg3MzllNDQzMjYyYTYyZmNiZTRk
ZTg4ZGY4YjdhOTg5ZTRlZDk1OTguLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL251bGxhYmxlLndp
ZGxwcm9jeG1sCisrKyAvZGV2L251bGwKQEAgLTEsMjkgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0i
MS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KLTwhRE9DVFlQRSBEZWZpbml0aW9ucyBTWVNURU0gIndp
ZGxwcm9jeG1sLmR0ZCI+Ci08RGVmaW5pdGlvbnM+Ci0gIDx3ZWJpZGw+aW50ZXJmYWNlIE15Q29u
c3RhbnRzIHsKLSAgY29uc3QgYm9vbGVhbj8gQVJFX1dFX1RIRVJFX1lFVCA9IGZhbHNlOwotfTsK
LQotaW50ZXJmYWNlIE5vZGUgewotICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nPyBuYW1l
c3BhY2VVUkk7Ci19Ozwvd2ViaWRsPgotICA8SW50ZXJmYWNlIG5hbWU9Ik15Q29uc3RhbnRzIiBp
ZD0iOjpNeUNvbnN0YW50cyI+Ci0gICAgPHdlYmlkbD5pbnRlcmZhY2UgTXlDb25zdGFudHMgewot
ICBjb25zdCBib29sZWFuPyBBUkVfV0VfVEhFUkVfWUVUID0gZmFsc2U7Ci19Ozwvd2ViaWRsPgot
ICAgIDxDb25zdCBuYW1lPSJBUkVfV0VfVEhFUkVfWUVUIiB2YWx1ZT0iZmFsc2UiIGlkPSI6Ok15
Q29uc3RhbnRzOjpBUkVfV0VfVEhFUkVfWUVUIj4KLSAgICAgIDx3ZWJpZGw+ICBjb25zdCBib29s
ZWFuPyBBUkVfV0VfVEhFUkVfWUVUID0gZmFsc2U7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBl
PSJib29sZWFuIiBudWxsYWJsZT0ibnVsbGFibGUiLz4KLSAgICA8L0NvbnN0PgotICA8L0ludGVy
ZmFjZT4KLSAgPEludGVyZmFjZSBuYW1lPSJOb2RlIiBpZD0iOjpOb2RlIj4KLSAgICA8d2ViaWRs
PmludGVyZmFjZSBOb2RlIHsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZz8gbmFtZXNw
YWNlVVJJOwotfTs8L3dlYmlkbD4KLSAgICA8QXR0cmlidXRlIHJlYWRvbmx5PSJyZWFkb25seSIg
bmFtZT0ibmFtZXNwYWNlVVJJIiBpZD0iOjpOb2RlOjpuYW1lc3BhY2VVUkkiPgotICAgICAgPHdl
YmlkbD4gIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmc/IG5hbWVzcGFjZVVSSTs8L3dlYmlk
bD4KLSAgICAgIDxUeXBlIHR5cGU9IkRPTVN0cmluZyIgbnVsbGFibGU9Im51bGxhYmxlIi8+Ci0g
ICAgPC9BdHRyaWJ1dGU+Ci0gIDwvSW50ZXJmYWNlPgotPC9EZWZpbml0aW9ucz4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9udWxsYWJsZW9iamVjdHMud2lk
bHByb2N4bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvbnVsbGFibGVvYmpl
Y3RzLndpZGxwcm9jeG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyMmQ5ZmRkMjVk
NjdjNjFjZGFiMjlmNjRjOTI3MzM0Mjg5ZDAwNDU0Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9u
dWxsYWJsZW9iamVjdHMud2lkbHByb2N4bWwKKysrIC9kZXYvbnVsbApAQCAtMSw0NiArMCwwIEBA
Ci08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgotPCFET0NUWVBFIERlZmlu
aXRpb25zIFNZU1RFTSAid2lkbHByb2N4bWwuZHRkIj4KLTxEZWZpbml0aW9ucz4KLSAgPHdlYmlk
bD5pbnRlcmZhY2UgQSB7Ci19OwotaW50ZXJmYWNlIEIgewotfTsKLWludGVyZmFjZSBDIHsKLSAg
dm9pZCBmKDxyZWY+QTwvcmVmPj8geCk7Ci0gIHZvaWQgZig8cmVmPkI8L3JlZj4/IHgpOwotCi19
Ozwvd2ViaWRsPgotICA8SW50ZXJmYWNlIG5hbWU9IkEiIGlkPSI6OkEiPgotICAgIDx3ZWJpZGw+
aW50ZXJmYWNlIEEgewotfTs8L3dlYmlkbD4KLSAgPC9JbnRlcmZhY2U+Ci0gIDxJbnRlcmZhY2Ug
bmFtZT0iQiIgaWQ9Ijo6QiI+Ci0gICAgPHdlYmlkbD5pbnRlcmZhY2UgQiB7Ci19Ozwvd2ViaWRs
PgotICA8L0ludGVyZmFjZT4KLSAgPEludGVyZmFjZSBuYW1lPSJDIiBpZD0iOjpDIj4KLSAgICA8
d2ViaWRsPmludGVyZmFjZSBDIHsKLSAgdm9pZCBmKDxyZWY+QTwvcmVmPj8geCk7Ci0gIHZvaWQg
Zig8cmVmPkI8L3JlZj4/IHgpOwotCi19Ozwvd2ViaWRsPgotICAgIDxPcGVyYXRpb24gbmFtZT0i
ZiIgaWQ9Ijo6Qzo6ZiI+Ci0gICAgICA8d2ViaWRsPiAgdm9pZCBmKDxyZWY+QTwvcmVmPj8geCk7
PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJ2b2lkIi8+Ci0gICAgICA8QXJndW1lbnRMaXN0
PgotICAgICAgICA8QXJndW1lbnQgbmFtZT0ieCI+Ci0gICAgICAgICAgPFR5cGUgbmFtZT0iQSIg
bnVsbGFibGU9Im51bGxhYmxlIi8+Ci0gICAgICAgIDwvQXJndW1lbnQ+Ci0gICAgICA8L0FyZ3Vt
ZW50TGlzdD4KLSAgICA8L09wZXJhdGlvbj4KLSAgICA8T3BlcmF0aW9uIG5hbWU9ImYiIGlkPSI6
OkM6OmYiPgotICAgICAgPHdlYmlkbD4gIHZvaWQgZig8cmVmPkI8L3JlZj4/IHgpOzwvd2ViaWRs
PgotICAgICAgPFR5cGUgdHlwZT0idm9pZCIvPgotICAgICAgPEFyZ3VtZW50TGlzdD4KLSAgICAg
ICAgPEFyZ3VtZW50IG5hbWU9IngiPgotICAgICAgICAgIDxUeXBlIG5hbWU9IkIiIG51bGxhYmxl
PSJudWxsYWJsZSIvPgotICAgICAgICA8L0FyZ3VtZW50PgotICAgICAgPC9Bcmd1bWVudExpc3Q+
Ci0gICAgPC9PcGVyYXRpb24+Ci0gIDwvSW50ZXJmYWNlPgotPC9EZWZpbml0aW9ucz4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9vcGVyYXRpb24tb3B0aW9u
YWwtYXJnLndpZGxwcm9jeG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL29w
ZXJhdGlvbi1vcHRpb25hbC1hcmcud2lkbHByb2N4bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDU0YWVmMWY4N2UzODcwYTkzYWZjOWRjNWI3Nzg0MzQ2OWE2NTYyYmYuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9j
L3Rlc3QvdmFsaWQveG1sL29wZXJhdGlvbi1vcHRpb25hbC1hcmcud2lkbHByb2N4bWwKKysrIC9k
ZXYvbnVsbApAQCAtMSwzMCArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJV
VEYtOCI/PgotPCFET0NUWVBFIERlZmluaXRpb25zIFNZU1RFTSAid2lkbHByb2N4bWwuZHRkIj4K
LTxEZWZpbml0aW9ucz4KLSAgPHdlYmlkbD5pbnRlcmZhY2UgQ29sb3JDcmVhdG9yIHsKLSAgb2Jq
ZWN0IGNyZWF0ZUNvbG9yKGZsb2F0IHYxLCBmbG9hdCB2MiwgZmxvYXQgdjMsIG9wdGlvbmFsIGZs
b2F0IGFscGhhID0gMy41KTsKLX07PC93ZWJpZGw+Ci0gIDxJbnRlcmZhY2UgbmFtZT0iQ29sb3JD
cmVhdG9yIiBpZD0iOjpDb2xvckNyZWF0b3IiPgotICAgIDx3ZWJpZGw+aW50ZXJmYWNlIENvbG9y
Q3JlYXRvciB7Ci0gIG9iamVjdCBjcmVhdGVDb2xvcihmbG9hdCB2MSwgZmxvYXQgdjIsIGZsb2F0
IHYzLCBvcHRpb25hbCBmbG9hdCBhbHBoYSA9IDMuNSk7Ci19Ozwvd2ViaWRsPgotICAgIDxPcGVy
YXRpb24gbmFtZT0iY3JlYXRlQ29sb3IiIGlkPSI6OkNvbG9yQ3JlYXRvcjo6Y3JlYXRlQ29sb3Ii
PgotICAgICAgPHdlYmlkbD4gIG9iamVjdCBjcmVhdGVDb2xvcihmbG9hdCB2MSwgZmxvYXQgdjIs
IGZsb2F0IHYzLCBvcHRpb25hbCBmbG9hdCBhbHBoYSA9IDMuNSk7PC93ZWJpZGw+Ci0gICAgICA8
VHlwZSB0eXBlPSJvYmplY3QiLz4KLSAgICAgIDxBcmd1bWVudExpc3Q+Ci0gICAgICAgIDxBcmd1
bWVudCBuYW1lPSJ2MSI+Ci0gICAgICAgICAgPFR5cGUgdHlwZT0iZmxvYXQiLz4KLSAgICAgICAg
PC9Bcmd1bWVudD4KLSAgICAgICAgPEFyZ3VtZW50IG5hbWU9InYyIj4KLSAgICAgICAgICA8VHlw
ZSB0eXBlPSJmbG9hdCIvPgotICAgICAgICA8L0FyZ3VtZW50PgotICAgICAgICA8QXJndW1lbnQg
bmFtZT0idjMiPgotICAgICAgICAgIDxUeXBlIHR5cGU9ImZsb2F0Ii8+Ci0gICAgICAgIDwvQXJn
dW1lbnQ+Ci0gICAgICAgIDxBcmd1bWVudCBvcHRpb25hbD0ib3B0aW9uYWwiIG5hbWU9ImFscGhh
IiB2YWx1ZT0iMy41Ij4KLSAgICAgICAgICA8VHlwZSB0eXBlPSJmbG9hdCIvPgotICAgICAgICA8
L0FyZ3VtZW50PgotICAgICAgPC9Bcmd1bWVudExpc3Q+Ci0gICAgPC9PcGVyYXRpb24+Ci0gIDwv
SW50ZXJmYWNlPgotPC9EZWZpbml0aW9ucz4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJv
Yy90ZXN0L3ZhbGlkL3htbC9vdmVybG9hZGluZy53aWRscHJvY3htbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRs
cHJvYy90ZXN0L3ZhbGlkL3htbC9vdmVybG9hZGluZy53aWRscHJvY3htbApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggZGI2ZGE3YTY4Yzc3OWMyODVlY2ExZGMzMTE5ODdiMzRmMmU4ZmNm
NS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvb3ZlcmxvYWRpbmcud2lkbHByb2N4bWwKKysrIC9k
ZXYvbnVsbApAQCAtMSwxMTMgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0i
VVRGLTgiPz4KLTwhRE9DVFlQRSBEZWZpbml0aW9ucyBTWVNURU0gIndpZGxwcm9jeG1sLmR0ZCI+
Ci08RGVmaW5pdGlvbnM+Ci0gIDx3ZWJpZGw+aW50ZXJmYWNlIEEgewotfTsKLQotaW50ZXJmYWNl
IEIgewotfTsKLQotaW50ZXJmYWNlIEMgewotICB2b2lkIGYoPHJlZj5BPC9yZWY+IHgpOwotICB2
b2lkIGYoPHJlZj5CPC9yZWY+IHgpOwotfTsKLQotaW50ZXJmYWNlIEEgewotdm9pZCBmKERPTVN0
cmluZyBhKTsKLXZvaWQgZihbQWxsb3dBbnldIERPTVN0cmluZyBhLCBET01TdHJpbmcgYiwgZmxv
YXQuLi4gYyk7Ci12b2lkIGYoKTsKLXZvaWQgZihsb25nIGEsIERPTVN0cmluZyBiLCBvcHRpb25h
bCBET01TdHJpbmcgYywgZmxvYXQuLi4gZCk7Ci19Ozwvd2ViaWRsPgotICA8SW50ZXJmYWNlIG5h
bWU9IkEiIGlkPSI6OkEiPgotICAgIDx3ZWJpZGw+aW50ZXJmYWNlIEEgewotfTs8L3dlYmlkbD4K
LSAgPC9JbnRlcmZhY2U+Ci0gIDxJbnRlcmZhY2UgbmFtZT0iQiIgaWQ9Ijo6QiI+Ci0gICAgPHdl
YmlkbD5pbnRlcmZhY2UgQiB7Ci19Ozwvd2ViaWRsPgotICA8L0ludGVyZmFjZT4KLSAgPEludGVy
ZmFjZSBuYW1lPSJDIiBpZD0iOjpDIj4KLSAgICA8d2ViaWRsPmludGVyZmFjZSBDIHsKLSAgdm9p
ZCBmKDxyZWY+QTwvcmVmPiB4KTsKLSAgdm9pZCBmKDxyZWY+QjwvcmVmPiB4KTsKLX07PC93ZWJp
ZGw+Ci0gICAgPE9wZXJhdGlvbiBuYW1lPSJmIiBpZD0iOjpDOjpmIj4KLSAgICAgIDx3ZWJpZGw+
ICB2b2lkIGYoPHJlZj5BPC9yZWY+IHgpOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0idm9p
ZCIvPgotICAgICAgPEFyZ3VtZW50TGlzdD4KLSAgICAgICAgPEFyZ3VtZW50IG5hbWU9IngiPgot
ICAgICAgICAgIDxUeXBlIG5hbWU9IkEiLz4KLSAgICAgICAgPC9Bcmd1bWVudD4KLSAgICAgIDwv
QXJndW1lbnRMaXN0PgotICAgIDwvT3BlcmF0aW9uPgotICAgIDxPcGVyYXRpb24gbmFtZT0iZiIg
aWQ9Ijo6Qzo6ZiI+Ci0gICAgICA8d2ViaWRsPiAgdm9pZCBmKDxyZWY+QjwvcmVmPiB4KTs8L3dl
YmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9InZvaWQiLz4KLSAgICAgIDxBcmd1bWVudExpc3Q+Ci0g
ICAgICAgIDxBcmd1bWVudCBuYW1lPSJ4Ij4KLSAgICAgICAgICA8VHlwZSBuYW1lPSJCIi8+Ci0g
ICAgICAgIDwvQXJndW1lbnQ+Ci0gICAgICA8L0FyZ3VtZW50TGlzdD4KLSAgICA8L09wZXJhdGlv
bj4KLSAgPC9JbnRlcmZhY2U+Ci0gIDxJbnRlcmZhY2UgbmFtZT0iQSIgaWQ9Ijo6QSI+Ci0gICAg
PHdlYmlkbD5pbnRlcmZhY2UgQSB7Ci12b2lkIGYoRE9NU3RyaW5nIGEpOwotdm9pZCBmKFtBbGxv
d0FueV0gRE9NU3RyaW5nIGEsIERPTVN0cmluZyBiLCBmbG9hdC4uLiBjKTsKLXZvaWQgZigpOwot
dm9pZCBmKGxvbmcgYSwgRE9NU3RyaW5nIGIsIG9wdGlvbmFsIERPTVN0cmluZyBjLCBmbG9hdC4u
LiBkKTsKLX07PC93ZWJpZGw+Ci0gICAgPE9wZXJhdGlvbiBuYW1lPSJmIiBpZD0iOjpBOjpmIj4K
LSAgICAgIDx3ZWJpZGw+IHZvaWQgZihET01TdHJpbmcgYSk7PC93ZWJpZGw+Ci0gICAgICA8VHlw
ZSB0eXBlPSJ2b2lkIi8+Ci0gICAgICA8QXJndW1lbnRMaXN0PgotICAgICAgICA8QXJndW1lbnQg
bmFtZT0iYSI+Ci0gICAgICAgICAgPFR5cGUgdHlwZT0iRE9NU3RyaW5nIi8+Ci0gICAgICAgIDwv
QXJndW1lbnQ+Ci0gICAgICA8L0FyZ3VtZW50TGlzdD4KLSAgICA8L09wZXJhdGlvbj4KLSAgICA8
T3BlcmF0aW9uIG5hbWU9ImYiIGlkPSI6OkE6OmYiPgotICAgICAgPHdlYmlkbD4gdm9pZCBmKFtB
bGxvd0FueV0gRE9NU3RyaW5nIGEsIERPTVN0cmluZyBiLCBmbG9hdC4uLiBjKTs8L3dlYmlkbD4K
LSAgICAgIDxUeXBlIHR5cGU9InZvaWQiLz4KLSAgICAgIDxBcmd1bWVudExpc3Q+Ci0gICAgICAg
IDxBcmd1bWVudCBuYW1lPSJhIj4KLSAgICAgICAgICA8RXh0ZW5kZWRBdHRyaWJ1dGVMaXN0Pgot
ICAgICAgICAgICAgPEV4dGVuZGVkQXR0cmlidXRlIG5hbWU9IkFsbG93QW55Ij4KLSAgICAgICAg
ICAgICAgPHdlYmlkbD5BbGxvd0FueTwvd2ViaWRsPgotICAgICAgICAgICAgPC9FeHRlbmRlZEF0
dHJpYnV0ZT4KLSAgICAgICAgICA8L0V4dGVuZGVkQXR0cmlidXRlTGlzdD4KLSAgICAgICAgICA8
VHlwZSB0eXBlPSJET01TdHJpbmciLz4KLSAgICAgICAgPC9Bcmd1bWVudD4KLSAgICAgICAgPEFy
Z3VtZW50IG5hbWU9ImIiPgotICAgICAgICAgIDxUeXBlIHR5cGU9IkRPTVN0cmluZyIvPgotICAg
ICAgICA8L0FyZ3VtZW50PgotICAgICAgICA8QXJndW1lbnQgZWxsaXBzaXM9ImVsbGlwc2lzIiBu
YW1lPSJjIj4KLSAgICAgICAgICA8VHlwZSB0eXBlPSJmbG9hdCIvPgotICAgICAgICA8L0FyZ3Vt
ZW50PgotICAgICAgPC9Bcmd1bWVudExpc3Q+Ci0gICAgPC9PcGVyYXRpb24+Ci0gICAgPE9wZXJh
dGlvbiBuYW1lPSJmIiBpZD0iOjpBOjpmIj4KLSAgICAgIDx3ZWJpZGw+IHZvaWQgZigpOzwvd2Vi
aWRsPgotICAgICAgPFR5cGUgdHlwZT0idm9pZCIvPgotICAgICAgPEFyZ3VtZW50TGlzdC8+Ci0g
ICAgPC9PcGVyYXRpb24+Ci0gICAgPE9wZXJhdGlvbiBuYW1lPSJmIiBpZD0iOjpBOjpmIj4KLSAg
ICAgIDx3ZWJpZGw+IHZvaWQgZihsb25nIGEsIERPTVN0cmluZyBiLCBvcHRpb25hbCBET01TdHJp
bmcgYywgZmxvYXQuLi4gZCk7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJ2b2lkIi8+Ci0g
ICAgICA8QXJndW1lbnRMaXN0PgotICAgICAgICA8QXJndW1lbnQgbmFtZT0iYSI+Ci0gICAgICAg
ICAgPFR5cGUgdHlwZT0ibG9uZyIvPgotICAgICAgICA8L0FyZ3VtZW50PgotICAgICAgICA8QXJn
dW1lbnQgbmFtZT0iYiI+Ci0gICAgICAgICAgPFR5cGUgdHlwZT0iRE9NU3RyaW5nIi8+Ci0gICAg
ICAgIDwvQXJndW1lbnQ+Ci0gICAgICAgIDxBcmd1bWVudCBvcHRpb25hbD0ib3B0aW9uYWwiIG5h
bWU9ImMiPgotICAgICAgICAgIDxUeXBlIHR5cGU9IkRPTVN0cmluZyIvPgotICAgICAgICA8L0Fy
Z3VtZW50PgotICAgICAgICA8QXJndW1lbnQgZWxsaXBzaXM9ImVsbGlwc2lzIiBuYW1lPSJkIj4K
LSAgICAgICAgICA8VHlwZSB0eXBlPSJmbG9hdCIvPgotICAgICAgICA8L0FyZ3VtZW50PgotICAg
ICAgPC9Bcmd1bWVudExpc3Q+Ci0gICAgPC9PcGVyYXRpb24+Ci0gIDwvSW50ZXJmYWNlPgotPC9E
ZWZpbml0aW9ucz4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3ht
bC9vdmVycmlkZWJ1aWx0aW5zLndpZGxwcm9jeG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3Qv
dmFsaWQveG1sL292ZXJyaWRlYnVpbHRpbnMud2lkbHByb2N4bWwKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDU2YzkyNTE3YmViNjhkODUyYzk2NWQxZTNjYzMxODJiYzk0NjM4ZWQuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dp
ZGxwcm9jL3Rlc3QvdmFsaWQveG1sL292ZXJyaWRlYnVpbHRpbnMud2lkbHByb2N4bWwKKysrIC9k
ZXYvbnVsbApAQCAtMSwzNCArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJV
VEYtOCI/PgotPCFET0NUWVBFIERlZmluaXRpb25zIFNZU1RFTSAid2lkbHByb2N4bWwuZHRkIj4K
LTxEZWZpbml0aW9ucz4KLSAgPHdlYmlkbD5bT3ZlcnJpZGVCdWlsdGluc10KLWludGVyZmFjZSBT
dHJpbmdNYXAyIHsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbGVuZ3RoOwot
ICBnZXR0ZXIgRE9NU3RyaW5nIGxvb2t1cChET01TdHJpbmcga2V5KTsKLX07PC93ZWJpZGw+Ci0g
IDxJbnRlcmZhY2UgbmFtZT0iU3RyaW5nTWFwMiIgaWQ9Ijo6U3RyaW5nTWFwMiI+Ci0gICAgPHdl
YmlkbD5bT3ZlcnJpZGVCdWlsdGluc10KLWludGVyZmFjZSBTdHJpbmdNYXAyIHsKLSAgcmVhZG9u
bHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbGVuZ3RoOwotICBnZXR0ZXIgRE9NU3RyaW5nIGxv
b2t1cChET01TdHJpbmcga2V5KTsKLX07PC93ZWJpZGw+Ci0gICAgPEV4dGVuZGVkQXR0cmlidXRl
TGlzdD4KLSAgICAgIDxFeHRlbmRlZEF0dHJpYnV0ZSBuYW1lPSJPdmVycmlkZUJ1aWx0aW5zIj4K
LSAgICAgICAgPHdlYmlkbD5PdmVycmlkZUJ1aWx0aW5zPC93ZWJpZGw+Ci0gICAgICA8L0V4dGVu
ZGVkQXR0cmlidXRlPgotICAgIDwvRXh0ZW5kZWRBdHRyaWJ1dGVMaXN0PgotICAgIDxBdHRyaWJ1
dGUgcmVhZG9ubHk9InJlYWRvbmx5IiBuYW1lPSJsZW5ndGgiIGlkPSI6OlN0cmluZ01hcDI6Omxl
bmd0aCI+Ci0gICAgICA8d2ViaWRsPiAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcg
bGVuZ3RoOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0idW5zaWduZWQgbG9uZyIvPgotICAg
IDwvQXR0cmlidXRlPgotICAgIDxPcGVyYXRpb24gZ2V0dGVyPSJnZXR0ZXIiIG5hbWU9Imxvb2t1
cCIgaWQ9Ijo6U3RyaW5nTWFwMjo6bG9va3VwIj4KLSAgICAgIDx3ZWJpZGw+ICBnZXR0ZXIgRE9N
U3RyaW5nIGxvb2t1cChET01TdHJpbmcga2V5KTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9
IkRPTVN0cmluZyIvPgotICAgICAgPEFyZ3VtZW50TGlzdD4KLSAgICAgICAgPEFyZ3VtZW50IG5h
bWU9ImtleSI+Ci0gICAgICAgICAgPFR5cGUgdHlwZT0iRE9NU3RyaW5nIi8+Ci0gICAgICAgIDwv
QXJndW1lbnQ+Ci0gICAgICA8L0FyZ3VtZW50TGlzdD4KLSAgICA8L09wZXJhdGlvbj4KLSAgPC9J
bnRlcmZhY2U+Ci08L0RlZmluaXRpb25zPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9j
L3Rlc3QvdmFsaWQveG1sL3BhcnRpYWwtaW50ZXJmYWNlLndpZGxwcm9jeG1sIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL3BhcnRpYWwtaW50ZXJmYWNlLndpZGxwcm9jeG1sCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4ZDdkY2I0ZTRmNzg2OGYzZTQyZTQwZWFmMzU2
YmI1NTgzZWM0ZDdhLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9wYXJ0aWFsLWludGVyZmFjZS53
aWRscHJvY3htbAorKysgL2Rldi9udWxsCkBAIC0xLDI5ICswLDAgQEAKLTw/eG1sIHZlcnNpb249
IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Ci08IURPQ1RZUEUgRGVmaW5pdGlvbnMgU1lTVEVNICJ3
aWRscHJvY3htbC5kdGQiPgotPERlZmluaXRpb25zPgotICA8d2ViaWRsPmludGVyZmFjZSBGb28g
ewotICBhdHRyaWJ1dGUgRE9NU3RyaW5nIGJhcjsKLX07Ci0KLXBhcnRpYWwgaW50ZXJmYWNlIEZv
byB7Ci0gIGF0dHJpYnV0ZSBET01TdHJpbmcgcXV1eDsKLX07PC93ZWJpZGw+Ci0gIDxJbnRlcmZh
Y2UgbmFtZT0iRm9vIiBpZD0iOjpGb28iPgotICAgIDx3ZWJpZGw+aW50ZXJmYWNlIEZvbyB7Ci0g
IGF0dHJpYnV0ZSBET01TdHJpbmcgYmFyOwotfTs8L3dlYmlkbD4KLSAgICA8QXR0cmlidXRlIG5h
bWU9ImJhciIgaWQ9Ijo6Rm9vOjpiYXIiPgotICAgICAgPHdlYmlkbD4gIGF0dHJpYnV0ZSBET01T
dHJpbmcgYmFyOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0iRE9NU3RyaW5nIi8+Ci0gICAg
PC9BdHRyaWJ1dGU+Ci0gIDwvSW50ZXJmYWNlPgotICA8SW50ZXJmYWNlIG5hbWU9IkZvbyIgcGFy
dGlhbD0icGFydGlhbCIgaWQ9Ijo6Rm9vIj4KLSAgICA8d2ViaWRsPnBhcnRpYWwgaW50ZXJmYWNl
IEZvbyB7Ci0gIGF0dHJpYnV0ZSBET01TdHJpbmcgcXV1eDsKLX07PC93ZWJpZGw+Ci0gICAgPEF0
dHJpYnV0ZSBuYW1lPSJxdXV4IiBpZD0iOjpGb286OnF1dXgiPgotICAgICAgPHdlYmlkbD4gIGF0
dHJpYnV0ZSBET01TdHJpbmcgcXV1eDs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9IkRPTVN0
cmluZyIvPgotICAgIDwvQXR0cmlidXRlPgotICA8L0ludGVyZmFjZT4KLTwvRGVmaW5pdGlvbnM+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvcHJpbWl0aXZl
cy53aWRscHJvY3htbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9wcmltaXRp
dmVzLndpZGxwcm9jeG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0Njk3N2EyZDc0
ZTU3NDJlMzU4ZDBkNTRmZWZlNGVjMWM4YzgxZWU1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9w
cmltaXRpdmVzLndpZGxwcm9jeG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTEyICswLDAgQEAKLTw/
eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Ci08IURPQ1RZUEUgRGVmaW5pdGlv
bnMgU1lTVEVNICJ3aWRscHJvY3htbC5kdGQiPgotPERlZmluaXRpb25zPgotICA8d2ViaWRsPmlu
dGVyZmFjZSBQcmltaXRpdmVzIHsKLSAgYXR0cmlidXRlIGJvb2xlYW4gdHJ1dGg7Ci0gIGF0dHJp
YnV0ZSBieXRlIGNoYXJhY3RlcjsKLSAgYXR0cmlidXRlIG9jdGV0IHZhbHVlOwotICBhdHRyaWJ1
dGUgc2hvcnQgbnVtYmVyOwotICBhdHRyaWJ1dGUgdW5zaWduZWQgc2hvcnQgcG9zaXRpdmU7Ci0g
IGF0dHJpYnV0ZSBsb25nIGJpZzsKLSAgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgYmlncG9zaXRp
dmU7Ci0gIGF0dHJpYnV0ZSBsb25nIGxvbmcgYmlnYmlnOwotICBhdHRyaWJ1dGUgIHVuc2lnbmVk
IGxvbmcgbG9uZyBiaWdiaWdwb3NpdGl2ZTsKLSAgYXR0cmlidXRlIGZsb2F0IHJlYWw7Ci0gIGF0
dHJpYnV0ZSBkb3VibGUgYmlncmVhbDsgCi0gIGF0dHJpYnV0ZSB1bnJlc3RyaWN0ZWQgZmxvYXQg
cmVhbHdpdGhpbmZpbml0eTsKLSAgYXR0cmlidXRlIHVucmVzdHJpY3RlZCBkb3VibGUgYmlncmVh
bHdpdGhpbmZpbml0eTsgCi0gIGF0dHJpYnV0ZSBET01TdHJpbmcgc3RyaW5nOyAKLSAgYXR0cmli
dXRlIEJ5dGVTdHJpbmcgYnl0ZXM7IAotICBhdHRyaWJ1dGUgRGF0ZSBkYXRlOwotICBhdHRyaWJ1
dGUgUmVnRXhwIHJlZ2V4cDsKLX07PC93ZWJpZGw+Ci0gIDxJbnRlcmZhY2UgbmFtZT0iUHJpbWl0
aXZlcyIgaWQ9Ijo6UHJpbWl0aXZlcyI+Ci0gICAgPHdlYmlkbD5pbnRlcmZhY2UgUHJpbWl0aXZl
cyB7Ci0gIGF0dHJpYnV0ZSBib29sZWFuIHRydXRoOwotICBhdHRyaWJ1dGUgYnl0ZSBjaGFyYWN0
ZXI7Ci0gIGF0dHJpYnV0ZSBvY3RldCB2YWx1ZTsKLSAgYXR0cmlidXRlIHNob3J0IG51bWJlcjsK
LSAgYXR0cmlidXRlIHVuc2lnbmVkIHNob3J0IHBvc2l0aXZlOwotICBhdHRyaWJ1dGUgbG9uZyBi
aWc7Ci0gIGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGJpZ3Bvc2l0aXZlOwotICBhdHRyaWJ1dGUg
bG9uZyBsb25nIGJpZ2JpZzsKLSAgYXR0cmlidXRlICB1bnNpZ25lZCBsb25nIGxvbmcgYmlnYmln
cG9zaXRpdmU7Ci0gIGF0dHJpYnV0ZSBmbG9hdCByZWFsOwotICBhdHRyaWJ1dGUgZG91YmxlIGJp
Z3JlYWw7IAotICBhdHRyaWJ1dGUgdW5yZXN0cmljdGVkIGZsb2F0IHJlYWx3aXRoaW5maW5pdHk7
Ci0gIGF0dHJpYnV0ZSB1bnJlc3RyaWN0ZWQgZG91YmxlIGJpZ3JlYWx3aXRoaW5maW5pdHk7IAot
ICBhdHRyaWJ1dGUgRE9NU3RyaW5nIHN0cmluZzsgCi0gIGF0dHJpYnV0ZSBCeXRlU3RyaW5nIGJ5
dGVzOyAKLSAgYXR0cmlidXRlIERhdGUgZGF0ZTsKLSAgYXR0cmlidXRlIFJlZ0V4cCByZWdleHA7
Ci19Ozwvd2ViaWRsPgotICAgIDxBdHRyaWJ1dGUgbmFtZT0idHJ1dGgiIGlkPSI6OlByaW1pdGl2
ZXM6OnRydXRoIj4KLSAgICAgIDx3ZWJpZGw+ICBhdHRyaWJ1dGUgYm9vbGVhbiB0cnV0aDs8L3dl
YmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9ImJvb2xlYW4iLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAg
ICA8QXR0cmlidXRlIG5hbWU9ImNoYXJhY3RlciIgaWQ9Ijo6UHJpbWl0aXZlczo6Y2hhcmFjdGVy
Ij4KLSAgICAgIDx3ZWJpZGw+ICBhdHRyaWJ1dGUgYnl0ZSBjaGFyYWN0ZXI7PC93ZWJpZGw+Ci0g
ICAgICA8VHlwZSB0eXBlPSJieXRlIi8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gICAgPEF0dHJpYnV0
ZSBuYW1lPSJ2YWx1ZSIgaWQ9Ijo6UHJpbWl0aXZlczo6dmFsdWUiPgotICAgICAgPHdlYmlkbD4g
IGF0dHJpYnV0ZSBvY3RldCB2YWx1ZTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9Im9jdGV0
Ii8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gICAgPEF0dHJpYnV0ZSBuYW1lPSJudW1iZXIiIGlkPSI6
OlByaW1pdGl2ZXM6Om51bWJlciI+Ci0gICAgICA8d2ViaWRsPiAgYXR0cmlidXRlIHNob3J0IG51
bWJlcjs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9InNob3J0Ii8+Ci0gICAgPC9BdHRyaWJ1
dGU+Ci0gICAgPEF0dHJpYnV0ZSBuYW1lPSJwb3NpdGl2ZSIgaWQ9Ijo6UHJpbWl0aXZlczo6cG9z
aXRpdmUiPgotICAgICAgPHdlYmlkbD4gIGF0dHJpYnV0ZSB1bnNpZ25lZCBzaG9ydCBwb3NpdGl2
ZTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9InVuc2lnbmVkIHNob3J0Ii8+Ci0gICAgPC9B
dHRyaWJ1dGU+Ci0gICAgPEF0dHJpYnV0ZSBuYW1lPSJiaWciIGlkPSI6OlByaW1pdGl2ZXM6OmJp
ZyI+Ci0gICAgICA8d2ViaWRsPiAgYXR0cmlidXRlIGxvbmcgYmlnOzwvd2ViaWRsPgotICAgICAg
PFR5cGUgdHlwZT0ibG9uZyIvPgotICAgIDwvQXR0cmlidXRlPgotICAgIDxBdHRyaWJ1dGUgbmFt
ZT0iYmlncG9zaXRpdmUiIGlkPSI6OlByaW1pdGl2ZXM6OmJpZ3Bvc2l0aXZlIj4KLSAgICAgIDx3
ZWJpZGw+ICBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBiaWdwb3NpdGl2ZTs8L3dlYmlkbD4KLSAg
ICAgIDxUeXBlIHR5cGU9InVuc2lnbmVkIGxvbmciLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAgICA8
QXR0cmlidXRlIG5hbWU9ImJpZ2JpZyIgaWQ9Ijo6UHJpbWl0aXZlczo6YmlnYmlnIj4KLSAgICAg
IDx3ZWJpZGw+ICBhdHRyaWJ1dGUgbG9uZyBsb25nIGJpZ2JpZzs8L3dlYmlkbD4KLSAgICAgIDxU
eXBlIHR5cGU9ImxvbmcgbG9uZyIvPgotICAgIDwvQXR0cmlidXRlPgotICAgIDxBdHRyaWJ1dGUg
bmFtZT0iYmlnYmlncG9zaXRpdmUiIGlkPSI6OlByaW1pdGl2ZXM6OmJpZ2JpZ3Bvc2l0aXZlIj4K
LSAgICAgIDx3ZWJpZGw+ICBhdHRyaWJ1dGUgIHVuc2lnbmVkIGxvbmcgbG9uZyBiaWdiaWdwb3Np
dGl2ZTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9InVuc2lnbmVkIGxvbmcgbG9uZyIvPgot
ICAgIDwvQXR0cmlidXRlPgotICAgIDxBdHRyaWJ1dGUgbmFtZT0icmVhbCIgaWQ9Ijo6UHJpbWl0
aXZlczo6cmVhbCI+Ci0gICAgICA8d2ViaWRsPiAgYXR0cmlidXRlIGZsb2F0IHJlYWw7PC93ZWJp
ZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJmbG9hdCIvPgotICAgIDwvQXR0cmlidXRlPgotICAgIDxB
dHRyaWJ1dGUgbmFtZT0iYmlncmVhbCIgaWQ9Ijo6UHJpbWl0aXZlczo6YmlncmVhbCI+Ci0gICAg
ICA8d2ViaWRsPiAgYXR0cmlidXRlIGRvdWJsZSBiaWdyZWFsOzwvd2ViaWRsPgotICAgICAgPFR5
cGUgdHlwZT0iZG91YmxlIi8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gICAgPEF0dHJpYnV0ZSBuYW1l
PSJyZWFsd2l0aGluZmluaXR5IiBpZD0iOjpQcmltaXRpdmVzOjpyZWFsd2l0aGluZmluaXR5Ij4K
LSAgICAgIDx3ZWJpZGw+ICBhdHRyaWJ1dGUgdW5yZXN0cmljdGVkIGZsb2F0IHJlYWx3aXRoaW5m
aW5pdHk7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJ1bnJlc3RyaWN0ZWQgZmxvYXQiLz4K
LSAgICA8L0F0dHJpYnV0ZT4KLSAgICA8QXR0cmlidXRlIG5hbWU9ImJpZ3JlYWx3aXRoaW5maW5p
dHkiIGlkPSI6OlByaW1pdGl2ZXM6OmJpZ3JlYWx3aXRoaW5maW5pdHkiPgotICAgICAgPHdlYmlk
bD4gIGF0dHJpYnV0ZSB1bnJlc3RyaWN0ZWQgZG91YmxlIGJpZ3JlYWx3aXRoaW5maW5pdHk7PC93
ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJ1bnJlc3RyaWN0ZWQgZG91YmxlIi8+Ci0gICAgPC9B
dHRyaWJ1dGU+Ci0gICAgPEF0dHJpYnV0ZSBuYW1lPSJzdHJpbmciIGlkPSI6OlByaW1pdGl2ZXM6
OnN0cmluZyI+Ci0gICAgICA8d2ViaWRsPiAgYXR0cmlidXRlIERPTVN0cmluZyBzdHJpbmc7PC93
ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJET01TdHJpbmciLz4KLSAgICA8L0F0dHJpYnV0ZT4K
LSAgICA8QXR0cmlidXRlIG5hbWU9ImJ5dGVzIiBpZD0iOjpQcmltaXRpdmVzOjpieXRlcyI+Ci0g
ICAgICA8d2ViaWRsPiAgYXR0cmlidXRlIEJ5dGVTdHJpbmcgYnl0ZXM7PC93ZWJpZGw+Ci0gICAg
ICA8VHlwZSB0eXBlPSJCeXRlU3RyaW5nIi8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gICAgPEF0dHJp
YnV0ZSBuYW1lPSJkYXRlIiBpZD0iOjpQcmltaXRpdmVzOjpkYXRlIj4KLSAgICAgIDx3ZWJpZGw+
ICBhdHRyaWJ1dGUgRGF0ZSBkYXRlOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0iRGF0ZSIv
PgotICAgIDwvQXR0cmlidXRlPgotICAgIDxBdHRyaWJ1dGUgbmFtZT0icmVnZXhwIiBpZD0iOjpQ
cmltaXRpdmVzOjpyZWdleHAiPgotICAgICAgPHdlYmlkbD4gIGF0dHJpYnV0ZSBSZWdFeHAgcmVn
ZXhwOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0iUmVnRXhwIi8+Ci0gICAgPC9BdHRyaWJ1
dGU+Ci0gIDwvSW50ZXJmYWNlPgotPC9EZWZpbml0aW9ucz4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9wcm90b3R5cGVyb290LndpZGxwcm9jeG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL3Byb3RvdHlwZXJvb3Qud2lkbHByb2N4bWwK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDJlNTZjZDc1ZWMzOGEwZDAxN2ZlNzEyZDI3
ZTBjOTU1NTkyNDkyYjkuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL3Byb3RvdHlwZXJvb3Qud2lk
bHByb2N4bWwKKysrIC9kZXYvbnVsbApAQCAtMSwyMyArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIx
LjAiIGVuY29kaW5nPSJVVEYtOCI/PgotPCFET0NUWVBFIERlZmluaXRpb25zIFNZU1RFTSAid2lk
bHByb2N4bWwuZHRkIj4KLTxEZWZpbml0aW9ucz4KLSAgPHdlYmlkbD5bUHJvdG90eXBlUm9vdF0K
LWludGVyZmFjZSBOb2RlIHsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIHNob3J0IG5v
ZGVUeXBlOwotfTs8L3dlYmlkbD4KLSAgPEludGVyZmFjZSBuYW1lPSJOb2RlIiBpZD0iOjpOb2Rl
Ij4KLSAgICA8d2ViaWRsPltQcm90b3R5cGVSb290XQotaW50ZXJmYWNlIE5vZGUgewotICByZWFk
b25seSBhdHRyaWJ1dGUgdW5zaWduZWQgc2hvcnQgbm9kZVR5cGU7Ci19Ozwvd2ViaWRsPgotICAg
IDxFeHRlbmRlZEF0dHJpYnV0ZUxpc3Q+Ci0gICAgICA8RXh0ZW5kZWRBdHRyaWJ1dGUgbmFtZT0i
UHJvdG90eXBlUm9vdCI+Ci0gICAgICAgIDx3ZWJpZGw+UHJvdG90eXBlUm9vdDwvd2ViaWRsPgot
ICAgICAgPC9FeHRlbmRlZEF0dHJpYnV0ZT4KLSAgICA8L0V4dGVuZGVkQXR0cmlidXRlTGlzdD4K
LSAgICA8QXR0cmlidXRlIHJlYWRvbmx5PSJyZWFkb25seSIgbmFtZT0ibm9kZVR5cGUiIGlkPSI6
Ok5vZGU6Om5vZGVUeXBlIj4KLSAgICAgIDx3ZWJpZGw+ICByZWFkb25seSBhdHRyaWJ1dGUgdW5z
aWduZWQgc2hvcnQgbm9kZVR5cGU7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJ1bnNpZ25l
ZCBzaG9ydCIvPgotICAgIDwvQXR0cmlidXRlPgotICA8L0ludGVyZmFjZT4KLTwvRGVmaW5pdGlv
bnM+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvcHV0Zm9y
d2FyZHMud2lkbHByb2N4bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvcHV0
Zm9yd2FyZHMud2lkbHByb2N4bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDYzNGZh
ZDU1YTU2ZDUzYTI1M2M5Y2M0MTA4MTAyMTZhMDg0MGE5OWUuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQv
eG1sL3B1dGZvcndhcmRzLndpZGxwcm9jeG1sCisrKyAvZGV2L251bGwKQEAgLTEsMjcgKzAsMCBA
QAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KLTwhRE9DVFlQRSBEZWZp
bml0aW9ucyBTWVNURU0gIndpZGxwcm9jeG1sLmR0ZCI+Ci08RGVmaW5pdGlvbnM+Ci0gIDx3ZWJp
ZGw+aW50ZXJmYWNlIFBlcnNvbiB7Ci0gIFtQdXRGb3J3YXJkcz1mdWxsXSByZWFkb25seSBhdHRy
aWJ1dGUgPHJlZj5OYW1lPC9yZWY+IG5hbWU7Ci0gIGF0dHJpYnV0ZSB1bnNpZ25lZCBzaG9ydCBh
Z2U7Ci19Ozwvd2ViaWRsPgotICA8SW50ZXJmYWNlIG5hbWU9IlBlcnNvbiIgaWQ9Ijo6UGVyc29u
Ij4KLSAgICA8d2ViaWRsPmludGVyZmFjZSBQZXJzb24gewotICBbUHV0Rm9yd2FyZHM9ZnVsbF0g
cmVhZG9ubHkgYXR0cmlidXRlIDxyZWY+TmFtZTwvcmVmPiBuYW1lOwotICBhdHRyaWJ1dGUgdW5z
aWduZWQgc2hvcnQgYWdlOwotfTs8L3dlYmlkbD4KLSAgICA8QXR0cmlidXRlIHJlYWRvbmx5PSJy
ZWFkb25seSIgbmFtZT0ibmFtZSIgaWQ9Ijo6UGVyc29uOjpuYW1lIj4KLSAgICAgIDx3ZWJpZGw+
ICBbUHV0Rm9yd2FyZHM9ZnVsbF0gcmVhZG9ubHkgYXR0cmlidXRlIDxyZWY+TmFtZTwvcmVmPiBu
YW1lOzwvd2ViaWRsPgotICAgICAgPEV4dGVuZGVkQXR0cmlidXRlTGlzdD4KLSAgICAgICAgPEV4
dGVuZGVkQXR0cmlidXRlIG5hbWU9IlB1dEZvcndhcmRzIiB2YWx1ZT0iZnVsbCI+Ci0gICAgICAg
ICAgPHdlYmlkbD5QdXRGb3J3YXJkczwvd2ViaWRsPgotICAgICAgICA8L0V4dGVuZGVkQXR0cmli
dXRlPgotICAgICAgPC9FeHRlbmRlZEF0dHJpYnV0ZUxpc3Q+Ci0gICAgICA8VHlwZSBuYW1lPSJO
YW1lIi8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gICAgPEF0dHJpYnV0ZSBuYW1lPSJhZ2UiIGlkPSI6
OlBlcnNvbjo6YWdlIj4KLSAgICAgIDx3ZWJpZGw+ICBhdHRyaWJ1dGUgdW5zaWduZWQgc2hvcnQg
YWdlOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0idW5zaWduZWQgc2hvcnQiLz4KLSAgICA8
L0F0dHJpYnV0ZT4KLSAgPC9JbnRlcmZhY2U+Ci08L0RlZmluaXRpb25zPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL3JlZy1vcGVyYXRpb25zLndpZGxwcm9j
eG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL3JlZy1vcGVyYXRpb25zLndp
ZGxwcm9jeG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzYjc1NmVkNjhkODk0Yjlh
MjJlZmYwMDQ5OTA0MDUyYjU4ZWJlMmQ3Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9yZWctb3Bl
cmF0aW9ucy53aWRscHJvY3htbAorKysgL2Rldi9udWxsCkBAIC0xLDcwICswLDAgQEAKLTw/eG1s
IHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Ci08IURPQ1RZUEUgRGVmaW5pdGlvbnMg
U1lTVEVNICJ3aWRscHJvY3htbC5kdGQiPgotPERlZmluaXRpb25zPgotICA8d2ViaWRsPmludGVy
ZmFjZSBEaW1lbnNpb25zIHsKLSAgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgd2lkdGg7Ci0gIGF0
dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGhlaWdodDsKLX07Ci0KLWV4Y2VwdGlvbiBOb1BvaW50ZXJE
ZXZpY2UgeyB9OwotCi1pbnRlcmZhY2UgQnV0dG9uIHsKLQotICBib29sZWFuIGlzTW91c2VPdmVy
KCk7Ci0KLSAgdm9pZCBzZXREaW1lbnNpb25zKDxyZWY+RGltZW5zaW9uczwvcmVmPiBzaXplKTsK
LSAgdm9pZCBzZXREaW1lbnNpb25zKHVuc2lnbmVkIGxvbmcgd2lkdGgsIHVuc2lnbmVkIGxvbmcg
aGVpZ2h0KTsKLX07PC93ZWJpZGw+Ci0gIDxJbnRlcmZhY2UgbmFtZT0iRGltZW5zaW9ucyIgaWQ9
Ijo6RGltZW5zaW9ucyI+Ci0gICAgPHdlYmlkbD5pbnRlcmZhY2UgRGltZW5zaW9ucyB7Ci0gIGF0
dHJpYnV0ZSB1bnNpZ25lZCBsb25nIHdpZHRoOwotICBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBo
ZWlnaHQ7Ci19Ozwvd2ViaWRsPgotICAgIDxBdHRyaWJ1dGUgbmFtZT0id2lkdGgiIGlkPSI6OkRp
bWVuc2lvbnM6OndpZHRoIj4KLSAgICAgIDx3ZWJpZGw+ICBhdHRyaWJ1dGUgdW5zaWduZWQgbG9u
ZyB3aWR0aDs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9InVuc2lnbmVkIGxvbmciLz4KLSAg
ICA8L0F0dHJpYnV0ZT4KLSAgICA8QXR0cmlidXRlIG5hbWU9ImhlaWdodCIgaWQ9Ijo6RGltZW5z
aW9uczo6aGVpZ2h0Ij4KLSAgICAgIDx3ZWJpZGw+ICBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBo
ZWlnaHQ7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJ1bnNpZ25lZCBsb25nIi8+Ci0gICAg
PC9BdHRyaWJ1dGU+Ci0gIDwvSW50ZXJmYWNlPgotICA8RXhjZXB0aW9uIG5hbWU9Ik5vUG9pbnRl
ckRldmljZSIgaWQ9Ijo6Tm9Qb2ludGVyRGV2aWNlIj4KLSAgICA8d2ViaWRsPmV4Y2VwdGlvbiBO
b1BvaW50ZXJEZXZpY2UgeyB9Ozwvd2ViaWRsPgotICA8L0V4Y2VwdGlvbj4KLSAgPEludGVyZmFj
ZSBuYW1lPSJCdXR0b24iIGlkPSI6OkJ1dHRvbiI+Ci0gICAgPHdlYmlkbD5pbnRlcmZhY2UgQnV0
dG9uIHsKLQotICBib29sZWFuIGlzTW91c2VPdmVyKCk7Ci0KLSAgdm9pZCBzZXREaW1lbnNpb25z
KDxyZWY+RGltZW5zaW9uczwvcmVmPiBzaXplKTsKLSAgdm9pZCBzZXREaW1lbnNpb25zKHVuc2ln
bmVkIGxvbmcgd2lkdGgsIHVuc2lnbmVkIGxvbmcgaGVpZ2h0KTsKLX07PC93ZWJpZGw+Ci0gICAg
PE9wZXJhdGlvbiBuYW1lPSJpc01vdXNlT3ZlciIgaWQ9Ijo6QnV0dG9uOjppc01vdXNlT3ZlciI+
Ci0gICAgICA8d2ViaWRsPiAgYm9vbGVhbiBpc01vdXNlT3ZlcigpOzwvd2ViaWRsPgotICAgICAg
PFR5cGUgdHlwZT0iYm9vbGVhbiIvPgotICAgICAgPEFyZ3VtZW50TGlzdC8+Ci0gICAgPC9PcGVy
YXRpb24+Ci0gICAgPE9wZXJhdGlvbiBuYW1lPSJzZXREaW1lbnNpb25zIiBpZD0iOjpCdXR0b246
OnNldERpbWVuc2lvbnMiPgotICAgICAgPHdlYmlkbD4gIHZvaWQgc2V0RGltZW5zaW9ucyg8cmVm
PkRpbWVuc2lvbnM8L3JlZj4gc2l6ZSk7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJ2b2lk
Ii8+Ci0gICAgICA8QXJndW1lbnRMaXN0PgotICAgICAgICA8QXJndW1lbnQgbmFtZT0ic2l6ZSI+
Ci0gICAgICAgICAgPFR5cGUgbmFtZT0iRGltZW5zaW9ucyIvPgotICAgICAgICA8L0FyZ3VtZW50
PgotICAgICAgPC9Bcmd1bWVudExpc3Q+Ci0gICAgPC9PcGVyYXRpb24+Ci0gICAgPE9wZXJhdGlv
biBuYW1lPSJzZXREaW1lbnNpb25zIiBpZD0iOjpCdXR0b246OnNldERpbWVuc2lvbnMiPgotICAg
ICAgPHdlYmlkbD4gIHZvaWQgc2V0RGltZW5zaW9ucyh1bnNpZ25lZCBsb25nIHdpZHRoLCB1bnNp
Z25lZCBsb25nIGhlaWdodCk7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJ2b2lkIi8+Ci0g
ICAgICA8QXJndW1lbnRMaXN0PgotICAgICAgICA8QXJndW1lbnQgbmFtZT0id2lkdGgiPgotICAg
ICAgICAgIDxUeXBlIHR5cGU9InVuc2lnbmVkIGxvbmciLz4KLSAgICAgICAgPC9Bcmd1bWVudD4K
LSAgICAgICAgPEFyZ3VtZW50IG5hbWU9ImhlaWdodCI+Ci0gICAgICAgICAgPFR5cGUgdHlwZT0i
dW5zaWduZWQgbG9uZyIvPgotICAgICAgICA8L0FyZ3VtZW50PgotICAgICAgPC9Bcmd1bWVudExp
c3Q+Ci0gICAgPC9PcGVyYXRpb24+Ci0gIDwvSW50ZXJmYWNlPgotPC9EZWZpbml0aW9ucz4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9yZXBsYWNlYWJsZS53
aWRscHJvY3htbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9yZXBsYWNlYWJs
ZS53aWRscHJvY3htbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjk3NjIxNjY4MjVh
YTQ5NjNkZjdhNjI1ZjE3OGMyZTllZGUyOGVkNS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvcmVw
bGFjZWFibGUud2lkbHByb2N4bWwKKysrIC9kZXYvbnVsbApAQCAtMSwyOCArMCwwIEBACi08P3ht
bCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgotPCFET0NUWVBFIERlZmluaXRpb25z
IFNZU1RFTSAid2lkbHByb2N4bWwuZHRkIj4KLTxEZWZpbml0aW9ucz4KLSAgPHdlYmlkbD5pbnRl
cmZhY2UgQ291bnRlciB7Ci0gIFtSZXBsYWNlYWJsZV0gcmVhZG9ubHkgYXR0cmlidXRlIHVuc2ln
bmVkIGxvbmcgdmFsdWU7Ci0gIHZvaWQgaW5jcmVtZW50KCk7Ci19Ozwvd2ViaWRsPgotICA8SW50
ZXJmYWNlIG5hbWU9IkNvdW50ZXIiIGlkPSI6OkNvdW50ZXIiPgotICAgIDx3ZWJpZGw+aW50ZXJm
YWNlIENvdW50ZXIgewotICBbUmVwbGFjZWFibGVdIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25l
ZCBsb25nIHZhbHVlOwotICB2b2lkIGluY3JlbWVudCgpOwotfTs8L3dlYmlkbD4KLSAgICA8QXR0
cmlidXRlIHJlYWRvbmx5PSJyZWFkb25seSIgbmFtZT0idmFsdWUiIGlkPSI6OkNvdW50ZXI6OnZh
bHVlIj4KLSAgICAgIDx3ZWJpZGw+ICBbUmVwbGFjZWFibGVdIHJlYWRvbmx5IGF0dHJpYnV0ZSB1
bnNpZ25lZCBsb25nIHZhbHVlOzwvd2ViaWRsPgotICAgICAgPEV4dGVuZGVkQXR0cmlidXRlTGlz
dD4KLSAgICAgICAgPEV4dGVuZGVkQXR0cmlidXRlIG5hbWU9IlJlcGxhY2VhYmxlIj4KLSAgICAg
ICAgICA8d2ViaWRsPlJlcGxhY2VhYmxlPC93ZWJpZGw+Ci0gICAgICAgIDwvRXh0ZW5kZWRBdHRy
aWJ1dGU+Ci0gICAgICA8L0V4dGVuZGVkQXR0cmlidXRlTGlzdD4KLSAgICAgIDxUeXBlIHR5cGU9
InVuc2lnbmVkIGxvbmciLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAgICA8T3BlcmF0aW9uIG5hbWU9
ImluY3JlbWVudCIgaWQ9Ijo6Q291bnRlcjo6aW5jcmVtZW50Ij4KLSAgICAgIDx3ZWJpZGw+ICB2
b2lkIGluY3JlbWVudCgpOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0idm9pZCIvPgotICAg
ICAgPEFyZ3VtZW50TGlzdC8+Ci0gICAgPC9PcGVyYXRpb24+Ci0gIDwvSW50ZXJmYWNlPgotPC9E
ZWZpbml0aW9ucz4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3ht
bC9zZXF1ZW5jZS53aWRscHJvY3htbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3ht
bC9zZXF1ZW5jZS53aWRscHJvY3htbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDVm
NDU2NDE3NWI5M2JmYWJkZGY2MDY4NjU0YmM3NjE4MWY1MzVkNi4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxp
ZC94bWwvc2VxdWVuY2Uud2lkbHByb2N4bWwKKysrIC9kZXYvbnVsbApAQCAtMSwzMiArMCwwIEBA
Ci08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgotPCFET0NUWVBFIERlZmlu
aXRpb25zIFNZU1RFTSAid2lkbHByb2N4bWwuZHRkIj4KLTxEZWZpbml0aW9ucz4KLSAgPHdlYmlk
bD5pbnRlcmZhY2UgQ2FudmFzIHsKLSAgdm9pZCBkcmF3UG9seWdvbihzZXF1ZW5jZSZsdDtmbG9h
dD4gY29vcmRpbmF0ZXMpOwotICBzZXF1ZW5jZSZsdDtmbG9hdD4gZ2V0SW5mbGVjdGlvblBvaW50
cygpOwotfTs8L3dlYmlkbD4KLSAgPEludGVyZmFjZSBuYW1lPSJDYW52YXMiIGlkPSI6OkNhbnZh
cyI+Ci0gICAgPHdlYmlkbD5pbnRlcmZhY2UgQ2FudmFzIHsKLSAgdm9pZCBkcmF3UG9seWdvbihz
ZXF1ZW5jZSZsdDtmbG9hdD4gY29vcmRpbmF0ZXMpOwotICBzZXF1ZW5jZSZsdDtmbG9hdD4gZ2V0
SW5mbGVjdGlvblBvaW50cygpOwotfTs8L3dlYmlkbD4KLSAgICA8T3BlcmF0aW9uIG5hbWU9ImRy
YXdQb2x5Z29uIiBpZD0iOjpDYW52YXM6OmRyYXdQb2x5Z29uIj4KLSAgICAgIDx3ZWJpZGw+ICB2
b2lkIGRyYXdQb2x5Z29uKHNlcXVlbmNlJmx0O2Zsb2F0PiBjb29yZGluYXRlcyk7PC93ZWJpZGw+
Ci0gICAgICA8VHlwZSB0eXBlPSJ2b2lkIi8+Ci0gICAgICA8QXJndW1lbnRMaXN0PgotICAgICAg
ICA8QXJndW1lbnQgbmFtZT0iY29vcmRpbmF0ZXMiPgotICAgICAgICAgIDxUeXBlIHR5cGU9InNl
cXVlbmNlIj4KLSAgICAgICAgICAgIDxUeXBlIHR5cGU9ImZsb2F0Ii8+Ci0gICAgICAgICAgPC9U
eXBlPgotICAgICAgICA8L0FyZ3VtZW50PgotICAgICAgPC9Bcmd1bWVudExpc3Q+Ci0gICAgPC9P
cGVyYXRpb24+Ci0gICAgPE9wZXJhdGlvbiBuYW1lPSJnZXRJbmZsZWN0aW9uUG9pbnRzIiBpZD0i
OjpDYW52YXM6OmdldEluZmxlY3Rpb25Qb2ludHMiPgotICAgICAgPHdlYmlkbD4gIHNlcXVlbmNl
Jmx0O2Zsb2F0PiBnZXRJbmZsZWN0aW9uUG9pbnRzKCk7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0
eXBlPSJzZXF1ZW5jZSI+Ci0gICAgICAgIDxUeXBlIHR5cGU9ImZsb2F0Ii8+Ci0gICAgICA8L1R5
cGU+Ci0gICAgICA8QXJndW1lbnRMaXN0Lz4KLSAgICA8L09wZXJhdGlvbj4KLSAgPC9JbnRlcmZh
Y2U+Ci08L0RlZmluaXRpb25zPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3Qv
dmFsaWQveG1sL3NlcmlhbGl6ZXIud2lkbHByb2N4bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVz
dC92YWxpZC94bWwvc2VyaWFsaXplci53aWRscHJvY3htbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggZWI0MjE5ZjhhNWUyNTcxYjJiMGIxNTRjYzZmOGRjMjM4MDAwZTNhMS4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHBy
b2MvdGVzdC92YWxpZC94bWwvc2VyaWFsaXplci53aWRscHJvY3htbAorKysgL2Rldi9udWxsCkBA
IC0xLDI5NiArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/Pgot
PCFET0NUWVBFIERlZmluaXRpb25zIFNZU1RFTSAid2lkbHByb2N4bWwuZHRkIj4KLTxEZWZpbml0
aW9ucz4KLSAgPHdlYmlkbD5pbnRlcmZhY2UgVHJhbnNhY3Rpb24gewotICByZWFkb25seSBhdHRy
aWJ1dGUgPHJlZj5BY2NvdW50PC9yZWY+IGZyb207Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSA8cmVm
PkFjY291bnQ8L3JlZj4gdG87Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSBmbG9hdCBhbW91bnQ7Ci0g
IHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgZGVzY3JpcHRpb247Ci0gIHJlYWRvbmx5IGF0
dHJpYnV0ZSB1bnNpZ25lZCBsb25nIG51bWJlcjsKLQotICBzZXJpYWxpemVyOwotfTsKLQotaW50
ZXJmYWNlIEFjY291bnQgewotICBhdHRyaWJ1dGUgRE9NU3RyaW5nIG5hbWU7Ci0gIGF0dHJpYnV0
ZSB1bnNpZ25lZCBsb25nIG51bWJlcjsKLSAgc2VyaWFsaXplciBET01TdHJpbmcgc2VyaWFsaXpl
KCk7Ci19OwotCi1pbnRlcmZhY2UgVHJhbnNhY3Rpb24yIHsKLSAgcmVhZG9ubHkgYXR0cmlidXRl
IDxyZWY+QWNjb3VudDI8L3JlZj4gZnJvbTsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIDxyZWY+QWNj
b3VudDI8L3JlZj4gdG87Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSBmbG9hdCBhbW91bnQ7Ci0gIHJl
YWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgZGVzY3JpcHRpb247Ci0gIHJlYWRvbmx5IGF0dHJp
YnV0ZSB1bnNpZ25lZCBsb25nIG51bWJlcjsKLQotICBzZXJpYWxpemVyID0geyBmcm9tLCB0bywg
YW1vdW50LCBkZXNjcmlwdGlvbiB9OwotfTsKLQotaW50ZXJmYWNlIEFjY291bnQyIHsKLSAgYXR0
cmlidXRlIERPTVN0cmluZyBuYW1lOwotICBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBudW1iZXI7
Ci0gIHNlcmlhbGl6ZXIgPSBudW1iZXI7Ci19OwotCi1pbnRlcmZhY2UgQWNjb3VudDMgewotICBh
dHRyaWJ1dGUgRE9NU3RyaW5nIG5hbWU7Ci0gIGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIG51bWJl
cjsKLQotICBzZXJpYWxpemVyID0geyBhdHRyaWJ1dGUgfTsKLX07Ci0KLWludGVyZmFjZSBBY2Nv
dW50NCB7Ci0gIGdldHRlciBvYmplY3QgZ2V0SXRlbSh1bnNpZ25lZCBsb25nIGluZGV4KTsKLSAg
c2VyaWFsaXplciA9IHsgZ2V0dGVyIH07Ci19OwotCi1pbnRlcmZhY2UgQWNjb3VudDUgOiA8cmVm
PkFjY291bnQ8L3JlZj4gewotICBhdHRyaWJ1dGUgRE9NU3RyaW5nIHNlY29uZG5hbWU7Ci0gIHNl
cmlhbGl6ZXIgPSB7IGluaGVyaXQsIHNlY29uZG5hbWUgfTsKLX07Ci0KLWludGVyZmFjZSBBY2Nv
dW50NiA6IDxyZWY+QWNjb3VudDwvcmVmPiB7Ci0gIGF0dHJpYnV0ZSBET01TdHJpbmcgc2Vjb25k
bmFtZTsKLSAgc2VyaWFsaXplciA9IHsgaW5oZXJpdCwgYXR0cmlidXRlIH07Ci19OwotCi1pbnRl
cmZhY2UgQWNjb3VudDcgewotICBhdHRyaWJ1dGUgRE9NU3RyaW5nIG5hbWU7Ci0gIGF0dHJpYnV0
ZSB1bnNpZ25lZCBsb25nIG51bWJlcjsKLSAgc2VyaWFsaXplciA9IFsgbmFtZSwgbnVtYmVyIF07
Ci19OwotCi1pbnRlcmZhY2UgQWNjb3VudDggewotICBnZXR0ZXIgb2JqZWN0IGdldEl0ZW0odW5z
aWduZWQgbG9uZyBpbmRleCk7Ci0gIHNlcmlhbGl6ZXIgPSBbIGdldHRlciBdOwotfTs8L3dlYmlk
bD4KLSAgPEludGVyZmFjZSBuYW1lPSJUcmFuc2FjdGlvbiIgaWQ9Ijo6VHJhbnNhY3Rpb24iPgot
ICAgIDx3ZWJpZGw+aW50ZXJmYWNlIFRyYW5zYWN0aW9uIHsKLSAgcmVhZG9ubHkgYXR0cmlidXRl
IDxyZWY+QWNjb3VudDwvcmVmPiBmcm9tOwotICByZWFkb25seSBhdHRyaWJ1dGUgPHJlZj5BY2Nv
dW50PC9yZWY+IHRvOwotICByZWFkb25seSBhdHRyaWJ1dGUgZmxvYXQgYW1vdW50OwotICByZWFk
b25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGRlc2NyaXB0aW9uOwotICByZWFkb25seSBhdHRyaWJ1
dGUgdW5zaWduZWQgbG9uZyBudW1iZXI7Ci0KLSAgc2VyaWFsaXplcjsKLX07PC93ZWJpZGw+Ci0g
ICAgPEF0dHJpYnV0ZSByZWFkb25seT0icmVhZG9ubHkiIG5hbWU9ImZyb20iIGlkPSI6OlRyYW5z
YWN0aW9uOjpmcm9tIj4KLSAgICAgIDx3ZWJpZGw+ICByZWFkb25seSBhdHRyaWJ1dGUgPHJlZj5B
Y2NvdW50PC9yZWY+IGZyb207PC93ZWJpZGw+Ci0gICAgICA8VHlwZSBuYW1lPSJBY2NvdW50Ii8+
Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gICAgPEF0dHJpYnV0ZSByZWFkb25seT0icmVhZG9ubHkiIG5h
bWU9InRvIiBpZD0iOjpUcmFuc2FjdGlvbjo6dG8iPgotICAgICAgPHdlYmlkbD4gIHJlYWRvbmx5
IGF0dHJpYnV0ZSA8cmVmPkFjY291bnQ8L3JlZj4gdG87PC93ZWJpZGw+Ci0gICAgICA8VHlwZSBu
YW1lPSJBY2NvdW50Ii8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gICAgPEF0dHJpYnV0ZSByZWFkb25s
eT0icmVhZG9ubHkiIG5hbWU9ImFtb3VudCIgaWQ9Ijo6VHJhbnNhY3Rpb246OmFtb3VudCI+Ci0g
ICAgICA8d2ViaWRsPiAgcmVhZG9ubHkgYXR0cmlidXRlIGZsb2F0IGFtb3VudDs8L3dlYmlkbD4K
LSAgICAgIDxUeXBlIHR5cGU9ImZsb2F0Ii8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gICAgPEF0dHJp
YnV0ZSByZWFkb25seT0icmVhZG9ubHkiIG5hbWU9ImRlc2NyaXB0aW9uIiBpZD0iOjpUcmFuc2Fj
dGlvbjo6ZGVzY3JpcHRpb24iPgotICAgICAgPHdlYmlkbD4gIHJlYWRvbmx5IGF0dHJpYnV0ZSBE
T01TdHJpbmcgZGVzY3JpcHRpb247PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJET01TdHJp
bmciLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAgICA8QXR0cmlidXRlIHJlYWRvbmx5PSJyZWFkb25s
eSIgbmFtZT0ibnVtYmVyIiBpZD0iOjpUcmFuc2FjdGlvbjo6bnVtYmVyIj4KLSAgICAgIDx3ZWJp
ZGw+ICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBudW1iZXI7PC93ZWJpZGw+Ci0g
ICAgICA8VHlwZSB0eXBlPSJ1bnNpZ25lZCBsb25nIi8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gICAg
PFNlcmlhbGl6ZXI+Ci0gICAgICA8d2ViaWRsPiAgc2VyaWFsaXplcjs8L3dlYmlkbD4KLSAgICA8
L1NlcmlhbGl6ZXI+Ci0gIDwvSW50ZXJmYWNlPgotICA8SW50ZXJmYWNlIG5hbWU9IkFjY291bnQi
IGlkPSI6OkFjY291bnQiPgotICAgIDx3ZWJpZGw+aW50ZXJmYWNlIEFjY291bnQgewotICBhdHRy
aWJ1dGUgRE9NU3RyaW5nIG5hbWU7Ci0gIGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIG51bWJlcjsK
LSAgc2VyaWFsaXplciBET01TdHJpbmcgc2VyaWFsaXplKCk7Ci19Ozwvd2ViaWRsPgotICAgIDxB
dHRyaWJ1dGUgbmFtZT0ibmFtZSIgaWQ9Ijo6QWNjb3VudDo6bmFtZSI+Ci0gICAgICA8d2ViaWRs
PiAgYXR0cmlidXRlIERPTVN0cmluZyBuYW1lOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0i
RE9NU3RyaW5nIi8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gICAgPEF0dHJpYnV0ZSBuYW1lPSJudW1i
ZXIiIGlkPSI6OkFjY291bnQ6Om51bWJlciI+Ci0gICAgICA8d2ViaWRsPiAgYXR0cmlidXRlIHVu
c2lnbmVkIGxvbmcgbnVtYmVyOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0idW5zaWduZWQg
bG9uZyIvPgotICAgIDwvQXR0cmlidXRlPgotICAgIDxPcGVyYXRpb24gc2VyaWFsaXplcj0ic2Vy
aWFsaXplciIgbmFtZT0ic2VyaWFsaXplIiBpZD0iOjpBY2NvdW50OjpzZXJpYWxpemUiPgotICAg
ICAgPHdlYmlkbD4gIHNlcmlhbGl6ZXIgRE9NU3RyaW5nIHNlcmlhbGl6ZSgpOzwvd2ViaWRsPgot
ICAgICAgPFR5cGUgdHlwZT0iRE9NU3RyaW5nIi8+Ci0gICAgICA8QXJndW1lbnRMaXN0Lz4KLSAg
ICA8L09wZXJhdGlvbj4KLSAgPC9JbnRlcmZhY2U+Ci0gIDxJbnRlcmZhY2UgbmFtZT0iVHJhbnNh
Y3Rpb24yIiBpZD0iOjpUcmFuc2FjdGlvbjIiPgotICAgIDx3ZWJpZGw+aW50ZXJmYWNlIFRyYW5z
YWN0aW9uMiB7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSA8cmVmPkFjY291bnQyPC9yZWY+IGZyb207
Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSA8cmVmPkFjY291bnQyPC9yZWY+IHRvOwotICByZWFkb25s
eSBhdHRyaWJ1dGUgZmxvYXQgYW1vdW50OwotICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5n
IGRlc2NyaXB0aW9uOwotICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBudW1iZXI7
Ci0KLSAgc2VyaWFsaXplciA9IHsgZnJvbSwgdG8sIGFtb3VudCwgZGVzY3JpcHRpb24gfTsKLX07
PC93ZWJpZGw+Ci0gICAgPEF0dHJpYnV0ZSByZWFkb25seT0icmVhZG9ubHkiIG5hbWU9ImZyb20i
IGlkPSI6OlRyYW5zYWN0aW9uMjo6ZnJvbSI+Ci0gICAgICA8d2ViaWRsPiAgcmVhZG9ubHkgYXR0
cmlidXRlIDxyZWY+QWNjb3VudDI8L3JlZj4gZnJvbTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIG5h
bWU9IkFjY291bnQyIi8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gICAgPEF0dHJpYnV0ZSByZWFkb25s
eT0icmVhZG9ubHkiIG5hbWU9InRvIiBpZD0iOjpUcmFuc2FjdGlvbjI6OnRvIj4KLSAgICAgIDx3
ZWJpZGw+ICByZWFkb25seSBhdHRyaWJ1dGUgPHJlZj5BY2NvdW50MjwvcmVmPiB0bzs8L3dlYmlk
bD4KLSAgICAgIDxUeXBlIG5hbWU9IkFjY291bnQyIi8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gICAg
PEF0dHJpYnV0ZSByZWFkb25seT0icmVhZG9ubHkiIG5hbWU9ImFtb3VudCIgaWQ9Ijo6VHJhbnNh
Y3Rpb24yOjphbW91bnQiPgotICAgICAgPHdlYmlkbD4gIHJlYWRvbmx5IGF0dHJpYnV0ZSBmbG9h
dCBhbW91bnQ7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJmbG9hdCIvPgotICAgIDwvQXR0
cmlidXRlPgotICAgIDxBdHRyaWJ1dGUgcmVhZG9ubHk9InJlYWRvbmx5IiBuYW1lPSJkZXNjcmlw
dGlvbiIgaWQ9Ijo6VHJhbnNhY3Rpb24yOjpkZXNjcmlwdGlvbiI+Ci0gICAgICA8d2ViaWRsPiAg
cmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBkZXNjcmlwdGlvbjs8L3dlYmlkbD4KLSAgICAg
IDxUeXBlIHR5cGU9IkRPTVN0cmluZyIvPgotICAgIDwvQXR0cmlidXRlPgotICAgIDxBdHRyaWJ1
dGUgcmVhZG9ubHk9InJlYWRvbmx5IiBuYW1lPSJudW1iZXIiIGlkPSI6OlRyYW5zYWN0aW9uMjo6
bnVtYmVyIj4KLSAgICAgIDx3ZWJpZGw+ICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9u
ZyBudW1iZXI7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJ1bnNpZ25lZCBsb25nIi8+Ci0g
ICAgPC9BdHRyaWJ1dGU+Ci0gICAgPFNlcmlhbGl6ZXI+Ci0gICAgICA8d2ViaWRsPiAgc2VyaWFs
aXplciA9IHsgZnJvbSwgdG8sIGFtb3VudCwgZGVzY3JpcHRpb24gfTs8L3dlYmlkbD4KLSAgICAg
IDxNYXAgcGF0dGVybj0ic2VsZWN0aW9uIj4KLSAgICAgICAgPFBhdHRlcm5BdHRyaWJ1dGUgbmFt
ZT0iZnJvbSIvPgotICAgICAgICA8UGF0dGVybkF0dHJpYnV0ZSBuYW1lPSJ0byIvPgotICAgICAg
ICA8UGF0dGVybkF0dHJpYnV0ZSBuYW1lPSJhbW91bnQiLz4KLSAgICAgICAgPFBhdHRlcm5BdHRy
aWJ1dGUgbmFtZT0iZGVzY3JpcHRpb24iLz4KLSAgICAgIDwvTWFwPgotICAgIDwvU2VyaWFsaXpl
cj4KLSAgPC9JbnRlcmZhY2U+Ci0gIDxJbnRlcmZhY2UgbmFtZT0iQWNjb3VudDIiIGlkPSI6OkFj
Y291bnQyIj4KLSAgICA8d2ViaWRsPmludGVyZmFjZSBBY2NvdW50MiB7Ci0gIGF0dHJpYnV0ZSBE
T01TdHJpbmcgbmFtZTsKLSAgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbnVtYmVyOwotICBzZXJp
YWxpemVyID0gbnVtYmVyOwotfTs8L3dlYmlkbD4KLSAgICA8QXR0cmlidXRlIG5hbWU9Im5hbWUi
IGlkPSI6OkFjY291bnQyOjpuYW1lIj4KLSAgICAgIDx3ZWJpZGw+ICBhdHRyaWJ1dGUgRE9NU3Ry
aW5nIG5hbWU7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJET01TdHJpbmciLz4KLSAgICA8
L0F0dHJpYnV0ZT4KLSAgICA8QXR0cmlidXRlIG5hbWU9Im51bWJlciIgaWQ9Ijo6QWNjb3VudDI6
Om51bWJlciI+Ci0gICAgICA8d2ViaWRsPiAgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbnVtYmVy
Ozwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0idW5zaWduZWQgbG9uZyIvPgotICAgIDwvQXR0
cmlidXRlPgotICAgIDxTZXJpYWxpemVyIGF0dHJpYnV0ZT0ibnVtYmVyIj4KLSAgICAgIDx3ZWJp
ZGw+ICBzZXJpYWxpemVyID0gbnVtYmVyOzwvd2ViaWRsPgotICAgIDwvU2VyaWFsaXplcj4KLSAg
PC9JbnRlcmZhY2U+Ci0gIDxJbnRlcmZhY2UgbmFtZT0iQWNjb3VudDMiIGlkPSI6OkFjY291bnQz
Ij4KLSAgICA8d2ViaWRsPmludGVyZmFjZSBBY2NvdW50MyB7Ci0gIGF0dHJpYnV0ZSBET01TdHJp
bmcgbmFtZTsKLSAgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbnVtYmVyOwotCi0gIHNlcmlhbGl6
ZXIgPSB7IGF0dHJpYnV0ZSB9OwotfTs8L3dlYmlkbD4KLSAgICA8QXR0cmlidXRlIG5hbWU9Im5h
bWUiIGlkPSI6OkFjY291bnQzOjpuYW1lIj4KLSAgICAgIDx3ZWJpZGw+ICBhdHRyaWJ1dGUgRE9N
U3RyaW5nIG5hbWU7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJET01TdHJpbmciLz4KLSAg
ICA8L0F0dHJpYnV0ZT4KLSAgICA8QXR0cmlidXRlIG5hbWU9Im51bWJlciIgaWQ9Ijo6QWNjb3Vu
dDM6Om51bWJlciI+Ci0gICAgICA8d2ViaWRsPiAgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbnVt
YmVyOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0idW5zaWduZWQgbG9uZyIvPgotICAgIDwv
QXR0cmlidXRlPgotICAgIDxTZXJpYWxpemVyPgotICAgICAgPHdlYmlkbD4gIHNlcmlhbGl6ZXIg
PSB7IGF0dHJpYnV0ZSB9Ozwvd2ViaWRsPgotICAgICAgPE1hcCBwYXR0ZXJuPSJhbGwiLz4KLSAg
ICA8L1NlcmlhbGl6ZXI+Ci0gIDwvSW50ZXJmYWNlPgotICA8SW50ZXJmYWNlIG5hbWU9IkFjY291
bnQ0IiBpZD0iOjpBY2NvdW50NCI+Ci0gICAgPHdlYmlkbD5pbnRlcmZhY2UgQWNjb3VudDQgewot
ICBnZXR0ZXIgb2JqZWN0IGdldEl0ZW0odW5zaWduZWQgbG9uZyBpbmRleCk7Ci0gIHNlcmlhbGl6
ZXIgPSB7IGdldHRlciB9OwotfTs8L3dlYmlkbD4KLSAgICA8T3BlcmF0aW9uIGdldHRlcj0iZ2V0
dGVyIiBuYW1lPSJnZXRJdGVtIiBpZD0iOjpBY2NvdW50NDo6Z2V0SXRlbSI+Ci0gICAgICA8d2Vi
aWRsPiAgZ2V0dGVyIG9iamVjdCBnZXRJdGVtKHVuc2lnbmVkIGxvbmcgaW5kZXgpOzwvd2ViaWRs
PgotICAgICAgPFR5cGUgdHlwZT0ib2JqZWN0Ii8+Ci0gICAgICA8QXJndW1lbnRMaXN0PgotICAg
ICAgICA8QXJndW1lbnQgbmFtZT0iaW5kZXgiPgotICAgICAgICAgIDxUeXBlIHR5cGU9InVuc2ln
bmVkIGxvbmciLz4KLSAgICAgICAgPC9Bcmd1bWVudD4KLSAgICAgIDwvQXJndW1lbnRMaXN0Pgot
ICAgIDwvT3BlcmF0aW9uPgotICAgIDxTZXJpYWxpemVyPgotICAgICAgPHdlYmlkbD4gIHNlcmlh
bGl6ZXIgPSB7IGdldHRlciB9Ozwvd2ViaWRsPgotICAgICAgPE1hcCBwYXR0ZXJuPSJnZXR0ZXIi
Lz4KLSAgICA8L1NlcmlhbGl6ZXI+Ci0gIDwvSW50ZXJmYWNlPgotICA8SW50ZXJmYWNlIG5hbWU9
IkFjY291bnQ1IiBpZD0iOjpBY2NvdW50NSI+Ci0gICAgPHdlYmlkbD5pbnRlcmZhY2UgQWNjb3Vu
dDUgOiA8cmVmPkFjY291bnQ8L3JlZj4gewotICBhdHRyaWJ1dGUgRE9NU3RyaW5nIHNlY29uZG5h
bWU7Ci0gIHNlcmlhbGl6ZXIgPSB7IGluaGVyaXQsIHNlY29uZG5hbWUgfTsKLX07PC93ZWJpZGw+
Ci0gICAgPEludGVyZmFjZUluaGVyaXRhbmNlPgotICAgICAgPE5hbWUgbmFtZT0iQWNjb3VudCIv
PgotICAgIDwvSW50ZXJmYWNlSW5oZXJpdGFuY2U+Ci0gICAgPEF0dHJpYnV0ZSBuYW1lPSJzZWNv
bmRuYW1lIiBpZD0iOjpBY2NvdW50NTo6c2Vjb25kbmFtZSI+Ci0gICAgICA8d2ViaWRsPiAgYXR0
cmlidXRlIERPTVN0cmluZyBzZWNvbmRuYW1lOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0i
RE9NU3RyaW5nIi8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gICAgPFNlcmlhbGl6ZXI+Ci0gICAgICA8
d2ViaWRsPiAgc2VyaWFsaXplciA9IHsgaW5oZXJpdCwgc2Vjb25kbmFtZSB9Ozwvd2ViaWRsPgot
ICAgICAgPE1hcCBpbmhlcml0PSJpbmhlcml0IiBwYXR0ZXJuPSJzZWxlY3Rpb24iPgotICAgICAg
ICA8UGF0dGVybkF0dHJpYnV0ZSBuYW1lPSJzZWNvbmRuYW1lIi8+Ci0gICAgICA8L01hcD4KLSAg
ICA8L1NlcmlhbGl6ZXI+Ci0gIDwvSW50ZXJmYWNlPgotICA8SW50ZXJmYWNlIG5hbWU9IkFjY291
bnQ2IiBpZD0iOjpBY2NvdW50NiI+Ci0gICAgPHdlYmlkbD5pbnRlcmZhY2UgQWNjb3VudDYgOiA8
cmVmPkFjY291bnQ8L3JlZj4gewotICBhdHRyaWJ1dGUgRE9NU3RyaW5nIHNlY29uZG5hbWU7Ci0g
IHNlcmlhbGl6ZXIgPSB7IGluaGVyaXQsIGF0dHJpYnV0ZSB9OwotfTs8L3dlYmlkbD4KLSAgICA8
SW50ZXJmYWNlSW5oZXJpdGFuY2U+Ci0gICAgICA8TmFtZSBuYW1lPSJBY2NvdW50Ii8+Ci0gICAg
PC9JbnRlcmZhY2VJbmhlcml0YW5jZT4KLSAgICA8QXR0cmlidXRlIG5hbWU9InNlY29uZG5hbWUi
IGlkPSI6OkFjY291bnQ2OjpzZWNvbmRuYW1lIj4KLSAgICAgIDx3ZWJpZGw+ICBhdHRyaWJ1dGUg
RE9NU3RyaW5nIHNlY29uZG5hbWU7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJET01TdHJp
bmciLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAgICA8U2VyaWFsaXplcj4KLSAgICAgIDx3ZWJpZGw+
ICBzZXJpYWxpemVyID0geyBpbmhlcml0LCBhdHRyaWJ1dGUgfTs8L3dlYmlkbD4KLSAgICAgIDxN
YXAgaW5oZXJpdD0iaW5oZXJpdCIgcGF0dGVybj0iYWxsIi8+Ci0gICAgPC9TZXJpYWxpemVyPgot
ICA8L0ludGVyZmFjZT4KLSAgPEludGVyZmFjZSBuYW1lPSJBY2NvdW50NyIgaWQ9Ijo6QWNjb3Vu
dDciPgotICAgIDx3ZWJpZGw+aW50ZXJmYWNlIEFjY291bnQ3IHsKLSAgYXR0cmlidXRlIERPTVN0
cmluZyBuYW1lOwotICBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBudW1iZXI7Ci0gIHNlcmlhbGl6
ZXIgPSBbIG5hbWUsIG51bWJlciBdOwotfTs8L3dlYmlkbD4KLSAgICA8QXR0cmlidXRlIG5hbWU9
Im5hbWUiIGlkPSI6OkFjY291bnQ3OjpuYW1lIj4KLSAgICAgIDx3ZWJpZGw+ICBhdHRyaWJ1dGUg
RE9NU3RyaW5nIG5hbWU7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJET01TdHJpbmciLz4K
LSAgICA8L0F0dHJpYnV0ZT4KLSAgICA8QXR0cmlidXRlIG5hbWU9Im51bWJlciIgaWQ9Ijo6QWNj
b3VudDc6Om51bWJlciI+Ci0gICAgICA8d2ViaWRsPiAgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcg
bnVtYmVyOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0idW5zaWduZWQgbG9uZyIvPgotICAg
IDwvQXR0cmlidXRlPgotICAgIDxTZXJpYWxpemVyPgotICAgICAgPHdlYmlkbD4gIHNlcmlhbGl6
ZXIgPSBbIG5hbWUsIG51bWJlciBdOzwvd2ViaWRsPgotICAgICAgPExpc3QgcGF0dGVybj0ic2Vs
ZWN0aW9uIj4KLSAgICAgICAgPFBhdHRlcm5BdHRyaWJ1dGUgbmFtZT0ibmFtZSIvPgotICAgICAg
ICA8UGF0dGVybkF0dHJpYnV0ZSBuYW1lPSJudW1iZXIiLz4KLSAgICAgIDwvTGlzdD4KLSAgICA8
L1NlcmlhbGl6ZXI+Ci0gIDwvSW50ZXJmYWNlPgotICA8SW50ZXJmYWNlIG5hbWU9IkFjY291bnQ4
IiBpZD0iOjpBY2NvdW50OCI+Ci0gICAgPHdlYmlkbD5pbnRlcmZhY2UgQWNjb3VudDggewotICBn
ZXR0ZXIgb2JqZWN0IGdldEl0ZW0odW5zaWduZWQgbG9uZyBpbmRleCk7Ci0gIHNlcmlhbGl6ZXIg
PSBbIGdldHRlciBdOwotfTs8L3dlYmlkbD4KLSAgICA8T3BlcmF0aW9uIGdldHRlcj0iZ2V0dGVy
IiBuYW1lPSJnZXRJdGVtIiBpZD0iOjpBY2NvdW50ODo6Z2V0SXRlbSI+Ci0gICAgICA8d2ViaWRs
PiAgZ2V0dGVyIG9iamVjdCBnZXRJdGVtKHVuc2lnbmVkIGxvbmcgaW5kZXgpOzwvd2ViaWRsPgot
ICAgICAgPFR5cGUgdHlwZT0ib2JqZWN0Ii8+Ci0gICAgICA8QXJndW1lbnRMaXN0PgotICAgICAg
ICA8QXJndW1lbnQgbmFtZT0iaW5kZXgiPgotICAgICAgICAgIDxUeXBlIHR5cGU9InVuc2lnbmVk
IGxvbmciLz4KLSAgICAgICAgPC9Bcmd1bWVudD4KLSAgICAgIDwvQXJndW1lbnRMaXN0PgotICAg
IDwvT3BlcmF0aW9uPgotICAgIDxTZXJpYWxpemVyPgotICAgICAgPHdlYmlkbD4gIHNlcmlhbGl6
ZXIgPSBbIGdldHRlciBdOzwvd2ViaWRsPgotICAgICAgPExpc3QgcGF0dGVybj0iZ2V0dGVyIi8+
Ci0gICAgPC9TZXJpYWxpemVyPgotICA8L0ludGVyZmFjZT4KLTwvRGVmaW5pdGlvbnM+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvc3BlY2lhbC1vbWl0dGFi
bGUud2lkbHByb2N4bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvc3BlY2lh
bC1vbWl0dGFibGUud2lkbHByb2N4bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDE5
ODZkMTkwYTgwY2RkOTQ5YjY0NjVjYTZjNzA4ZDE2ODFmMGU0MWIuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFs
aWQveG1sL3NwZWNpYWwtb21pdHRhYmxlLndpZGxwcm9jeG1sCisrKyAvZGV2L251bGwKQEAgLTEs
MzcgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KLTwhRE9D
VFlQRSBEZWZpbml0aW9ucyBTWVNURU0gIndpZGxwcm9jeG1sLmR0ZCI+Ci08RGVmaW5pdGlvbnM+
Ci0gIDxJbnRlcmZhY2UgbmFtZT0iRGljdGlvbmFyeSIgaWQ9Ijo6RGljdGlvbmFyeSI+Ci0gICAg
PHdlYmlkbD5pbnRlcmZhY2UgRGljdGlvbmFyeSB7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNp
Z25lZCBsb25nIHByb3BlcnR5Q291bnQ7Ci0KLSAgb21pdHRhYmxlIGdldHRlciBmbG9hdCBnZXRQ
cm9wZXJ0eShET01TdHJpbmcgcHJvcGVydHlOYW1lKTsKLSAgb21pdHRhYmxlIHNldHRlciB2b2lk
IHNldFByb3BlcnR5KERPTVN0cmluZyBwcm9wZXJ0eU5hbWUsIGZsb2F0IHByb3BlcnR5VmFsdWUp
OwotfTs8L3dlYmlkbD4KLSAgICA8QXR0cmlidXRlIHJlYWRvbmx5PSJyZWFkb25seSIgbmFtZT0i
cHJvcGVydHlDb3VudCIgaWQ9Ijo6RGljdGlvbmFyeTo6cHJvcGVydHlDb3VudCI+Ci0gICAgICA8
d2ViaWRsPiAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgcHJvcGVydHlDb3VudDs8
L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9InVuc2lnbmVkIGxvbmciLz4KLSAgICA8L0F0dHJp
YnV0ZT4KLSAgICA8T3BlcmF0aW9uIG9taXR0YWJsZT0ib21pdHRhYmxlIiBnZXR0ZXI9ImdldHRl
ciIgbmFtZT0iZ2V0UHJvcGVydHkiIGlkPSI6OkRpY3Rpb25hcnk6OmdldFByb3BlcnR5Ij4KLSAg
ICAgIDx3ZWJpZGw+ICBvbWl0dGFibGUgZ2V0dGVyIGZsb2F0IGdldFByb3BlcnR5KERPTVN0cmlu
ZyBwcm9wZXJ0eU5hbWUpOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0iZmxvYXQiLz4KLSAg
ICAgIDxBcmd1bWVudExpc3Q+Ci0gICAgICAgIDxBcmd1bWVudCBuYW1lPSJwcm9wZXJ0eU5hbWUi
PgotICAgICAgICAgIDxUeXBlIHR5cGU9IkRPTVN0cmluZyIvPgotICAgICAgICA8L0FyZ3VtZW50
PgotICAgICAgPC9Bcmd1bWVudExpc3Q+Ci0gICAgPC9PcGVyYXRpb24+Ci0gICAgPE9wZXJhdGlv
biBvbWl0dGFibGU9Im9taXR0YWJsZSIgc2V0dGVyPSJzZXR0ZXIiIG5hbWU9InNldFByb3BlcnR5
IiBpZD0iOjpEaWN0aW9uYXJ5OjpzZXRQcm9wZXJ0eSI+Ci0gICAgICA8d2ViaWRsPiAgb21pdHRh
YmxlIHNldHRlciB2b2lkIHNldFByb3BlcnR5KERPTVN0cmluZyBwcm9wZXJ0eU5hbWUsIGZsb2F0
IHByb3BlcnR5VmFsdWUpOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0idm9pZCIvPgotICAg
ICAgPEFyZ3VtZW50TGlzdD4KLSAgICAgICAgPEFyZ3VtZW50IG5hbWU9InByb3BlcnR5TmFtZSI+
Ci0gICAgICAgICAgPFR5cGUgdHlwZT0iRE9NU3RyaW5nIi8+Ci0gICAgICAgIDwvQXJndW1lbnQ+
Ci0gICAgICAgIDxBcmd1bWVudCBuYW1lPSJwcm9wZXJ0eVZhbHVlIj4KLSAgICAgICAgICA8VHlw
ZSB0eXBlPSJmbG9hdCIvPgotICAgICAgICA8L0FyZ3VtZW50PgotICAgICAgPC9Bcmd1bWVudExp
c3Q+Ci0gICAgPC9PcGVyYXRpb24+Ci0gIDwvSW50ZXJmYWNlPgotPC9EZWZpbml0aW9ucz4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9zdGF0aWMud2lkbHBy
b2N4bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvc3RhdGljLndpZGxwcm9j
eG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwM2MxNGUxNmViYThjM2VlZmVjZjIw
ZTAxYmRhYmJhZTgxNWI0ZTI3Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9zdGF0aWMud2lkbHBy
b2N4bWwKKysrIC9kZXYvbnVsbApAQCAtMSw1OCArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAi
IGVuY29kaW5nPSJVVEYtOCI/PgotPCFET0NUWVBFIERlZmluaXRpb25zIFNZU1RFTSAid2lkbHBy
b2N4bWwuZHRkIj4KLTxEZWZpbml0aW9ucz4KLSAgPHdlYmlkbD5pbnRlcmZhY2UgUG9pbnQgeyAg
fTsKLQotaW50ZXJmYWNlIENpcmNsZSB7Ci0gIGF0dHJpYnV0ZSBmbG9hdCBjeDsKLSAgYXR0cmli
dXRlIGZsb2F0IGN5OwotICBhdHRyaWJ1dGUgZmxvYXQgcmFkaXVzOwotCi0gIHN0YXRpYyByZWFk
b25seSBhdHRyaWJ1dGUgbG9uZyB0cmlhbmd1bGF0aW9uQ291bnQ7Ci0gIHN0YXRpYyA8cmVmPlBv
aW50PC9yZWY+IHRyaWFuZ3VsYXRlKDxyZWY+Q2lyY2xlPC9yZWY+IGMxLCA8cmVmPkNpcmNsZTwv
cmVmPiBjMiwgPHJlZj5DaXJjbGU8L3JlZj4gYzMpOwotfTs8L3dlYmlkbD4KLSAgPEludGVyZmFj
ZSBuYW1lPSJQb2ludCIgaWQ9Ijo6UG9pbnQiPgotICAgIDx3ZWJpZGw+aW50ZXJmYWNlIFBvaW50
IHsgIH07PC93ZWJpZGw+Ci0gIDwvSW50ZXJmYWNlPgotICA8SW50ZXJmYWNlIG5hbWU9IkNpcmNs
ZSIgaWQ9Ijo6Q2lyY2xlIj4KLSAgICA8d2ViaWRsPmludGVyZmFjZSBDaXJjbGUgewotICBhdHRy
aWJ1dGUgZmxvYXQgY3g7Ci0gIGF0dHJpYnV0ZSBmbG9hdCBjeTsKLSAgYXR0cmlidXRlIGZsb2F0
IHJhZGl1czsKLQotICBzdGF0aWMgcmVhZG9ubHkgYXR0cmlidXRlIGxvbmcgdHJpYW5ndWxhdGlv
bkNvdW50OwotICBzdGF0aWMgPHJlZj5Qb2ludDwvcmVmPiB0cmlhbmd1bGF0ZSg8cmVmPkNpcmNs
ZTwvcmVmPiBjMSwgPHJlZj5DaXJjbGU8L3JlZj4gYzIsIDxyZWY+Q2lyY2xlPC9yZWY+IGMzKTsK
LX07PC93ZWJpZGw+Ci0gICAgPEF0dHJpYnV0ZSBuYW1lPSJjeCIgaWQ9Ijo6Q2lyY2xlOjpjeCI+
Ci0gICAgICA8d2ViaWRsPiAgYXR0cmlidXRlIGZsb2F0IGN4Ozwvd2ViaWRsPgotICAgICAgPFR5
cGUgdHlwZT0iZmxvYXQiLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAgICA8QXR0cmlidXRlIG5hbWU9
ImN5IiBpZD0iOjpDaXJjbGU6OmN5Ij4KLSAgICAgIDx3ZWJpZGw+ICBhdHRyaWJ1dGUgZmxvYXQg
Y3k7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJmbG9hdCIvPgotICAgIDwvQXR0cmlidXRl
PgotICAgIDxBdHRyaWJ1dGUgbmFtZT0icmFkaXVzIiBpZD0iOjpDaXJjbGU6OnJhZGl1cyI+Ci0g
ICAgICA8d2ViaWRsPiAgYXR0cmlidXRlIGZsb2F0IHJhZGl1czs8L3dlYmlkbD4KLSAgICAgIDxU
eXBlIHR5cGU9ImZsb2F0Ii8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gICAgPEF0dHJpYnV0ZSBzdGF0
aWM9InN0YXRpYyIgcmVhZG9ubHk9InJlYWRvbmx5IiBuYW1lPSJ0cmlhbmd1bGF0aW9uQ291bnQi
IGlkPSI6OkNpcmNsZTo6dHJpYW5ndWxhdGlvbkNvdW50Ij4KLSAgICAgIDx3ZWJpZGw+ICBzdGF0
aWMgcmVhZG9ubHkgYXR0cmlidXRlIGxvbmcgdHJpYW5ndWxhdGlvbkNvdW50Ozwvd2ViaWRsPgot
ICAgICAgPFR5cGUgdHlwZT0ibG9uZyIvPgotICAgIDwvQXR0cmlidXRlPgotICAgIDxPcGVyYXRp
b24gc3RhdGljPSJzdGF0aWMiIG5hbWU9InRyaWFuZ3VsYXRlIiBpZD0iOjpDaXJjbGU6OnRyaWFu
Z3VsYXRlIj4KLSAgICAgIDx3ZWJpZGw+ICBzdGF0aWMgPHJlZj5Qb2ludDwvcmVmPiB0cmlhbmd1
bGF0ZSg8cmVmPkNpcmNsZTwvcmVmPiBjMSwgPHJlZj5DaXJjbGU8L3JlZj4gYzIsIDxyZWY+Q2ly
Y2xlPC9yZWY+IGMzKTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIG5hbWU9IlBvaW50Ii8+Ci0gICAg
ICA8QXJndW1lbnRMaXN0PgotICAgICAgICA8QXJndW1lbnQgbmFtZT0iYzEiPgotICAgICAgICAg
IDxUeXBlIG5hbWU9IkNpcmNsZSIvPgotICAgICAgICA8L0FyZ3VtZW50PgotICAgICAgICA8QXJn
dW1lbnQgbmFtZT0iYzIiPgotICAgICAgICAgIDxUeXBlIG5hbWU9IkNpcmNsZSIvPgotICAgICAg
ICA8L0FyZ3VtZW50PgotICAgICAgICA8QXJndW1lbnQgbmFtZT0iYzMiPgotICAgICAgICAgIDxU
eXBlIG5hbWU9IkNpcmNsZSIvPgotICAgICAgICA8L0FyZ3VtZW50PgotICAgICAgPC9Bcmd1bWVu
dExpc3Q+Ci0gICAgPC9PcGVyYXRpb24+Ci0gIDwvSW50ZXJmYWNlPgotPC9EZWZpbml0aW9ucz4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9zdHJpbmdpZmll
ci1hdHRyaWJ1dGUud2lkbHByb2N4bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94
bWwvc3RyaW5naWZpZXItYXR0cmlidXRlLndpZGxwcm9jeG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwODJjZTRkMzQxYmJmNDYyOTA3M2E2NjVkZDc5YWRhNTcyODU1MGY3Li4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRs
cHJvYy90ZXN0L3ZhbGlkL3htbC9zdHJpbmdpZmllci1hdHRyaWJ1dGUud2lkbHByb2N4bWwKKysr
IC9kZXYvbnVsbApAQCAtMSwyOSArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5n
PSJVVEYtOCI/PgotPCFET0NUWVBFIERlZmluaXRpb25zIFNZU1RFTSAid2lkbHByb2N4bWwuZHRk
Ij4KLTxEZWZpbml0aW9ucz4KLSAgPHdlYmlkbD5bQ29uc3RydWN0b3JdCi1pbnRlcmZhY2UgU3R1
ZGVudCB7Ci0gIGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGlkOwotICBzdHJpbmdpZmllciBhdHRy
aWJ1dGUgRE9NU3RyaW5nIG5hbWU7Ci19Ozwvd2ViaWRsPgotICA8SW50ZXJmYWNlIG5hbWU9IlN0
dWRlbnQiIGlkPSI6OlN0dWRlbnQiPgotICAgIDx3ZWJpZGw+W0NvbnN0cnVjdG9yXQotaW50ZXJm
YWNlIFN0dWRlbnQgewotICBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBpZDsKLSAgc3RyaW5naWZp
ZXIgYXR0cmlidXRlIERPTVN0cmluZyBuYW1lOwotfTs8L3dlYmlkbD4KLSAgICA8RXh0ZW5kZWRB
dHRyaWJ1dGVMaXN0PgotICAgICAgPEV4dGVuZGVkQXR0cmlidXRlIG5hbWU9IkNvbnN0cnVjdG9y
Ij4KLSAgICAgICAgPHdlYmlkbD5Db25zdHJ1Y3Rvcjwvd2ViaWRsPgotICAgICAgPC9FeHRlbmRl
ZEF0dHJpYnV0ZT4KLSAgICA8L0V4dGVuZGVkQXR0cmlidXRlTGlzdD4KLSAgICA8QXR0cmlidXRl
IG5hbWU9ImlkIiBpZD0iOjpTdHVkZW50OjppZCI+Ci0gICAgICA8d2ViaWRsPiAgYXR0cmlidXRl
IHVuc2lnbmVkIGxvbmcgaWQ7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJ1bnNpZ25lZCBs
b25nIi8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gICAgPEF0dHJpYnV0ZSBzdHJpbmdpZmllcj0ic3Ry
aW5naWZpZXIiIG5hbWU9Im5hbWUiIGlkPSI6OlN0dWRlbnQ6Om5hbWUiPgotICAgICAgPHdlYmlk
bD4gIHN0cmluZ2lmaWVyIGF0dHJpYnV0ZSBET01TdHJpbmcgbmFtZTs8L3dlYmlkbD4KLSAgICAg
IDxUeXBlIHR5cGU9IkRPTVN0cmluZyIvPgotICAgIDwvQXR0cmlidXRlPgotICA8L0ludGVyZmFj
ZT4KLTwvRGVmaW5pdGlvbnM+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92
YWxpZC94bWwvc3RyaW5naWZpZXItY3VzdG9tLndpZGxwcm9jeG1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxw
cm9jL3Rlc3QvdmFsaWQveG1sL3N0cmluZ2lmaWVyLWN1c3RvbS53aWRscHJvY3htbApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggY2RhYjFjY2ZjMzdjMWE4NTRiYTlmMTlhNGIwNjRjNDE0
MTNjNTIwNi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvc3RyaW5naWZpZXItY3VzdG9tLndpZGxw
cm9jeG1sCisrKyAvZGV2L251bGwKQEAgLTEsNDQgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4w
IiBlbmNvZGluZz0iVVRGLTgiPz4KLTwhRE9DVFlQRSBEZWZpbml0aW9ucyBTWVNURU0gIndpZGxw
cm9jeG1sLmR0ZCI+Ci08RGVmaW5pdGlvbnM+Ci0gIDx3ZWJpZGw+W0NvbnN0cnVjdG9yXQotaW50
ZXJmYWNlIFN0dWRlbnQgewotICBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBpZDsKLSAgYXR0cmli
dXRlIERPTVN0cmluZz8gZmFtaWx5TmFtZTsKLSAgYXR0cmlidXRlIERPTVN0cmluZyBnaXZlbk5h
bWU7Ci0KLSAgc3RyaW5naWZpZXIgRE9NU3RyaW5nICgpOwotfTs8L3dlYmlkbD4KLSAgPEludGVy
ZmFjZSBuYW1lPSJTdHVkZW50IiBpZD0iOjpTdHVkZW50Ij4KLSAgICA8d2ViaWRsPltDb25zdHJ1
Y3Rvcl0KLWludGVyZmFjZSBTdHVkZW50IHsKLSAgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgaWQ7
Ci0gIGF0dHJpYnV0ZSBET01TdHJpbmc/IGZhbWlseU5hbWU7Ci0gIGF0dHJpYnV0ZSBET01TdHJp
bmcgZ2l2ZW5OYW1lOwotCi0gIHN0cmluZ2lmaWVyIERPTVN0cmluZyAoKTsKLX07PC93ZWJpZGw+
Ci0gICAgPEV4dGVuZGVkQXR0cmlidXRlTGlzdD4KLSAgICAgIDxFeHRlbmRlZEF0dHJpYnV0ZSBu
YW1lPSJDb25zdHJ1Y3RvciI+Ci0gICAgICAgIDx3ZWJpZGw+Q29uc3RydWN0b3I8L3dlYmlkbD4K
LSAgICAgIDwvRXh0ZW5kZWRBdHRyaWJ1dGU+Ci0gICAgPC9FeHRlbmRlZEF0dHJpYnV0ZUxpc3Q+
Ci0gICAgPEF0dHJpYnV0ZSBuYW1lPSJpZCIgaWQ9Ijo6U3R1ZGVudDo6aWQiPgotICAgICAgPHdl
YmlkbD4gIGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGlkOzwvd2ViaWRsPgotICAgICAgPFR5cGUg
dHlwZT0idW5zaWduZWQgbG9uZyIvPgotICAgIDwvQXR0cmlidXRlPgotICAgIDxBdHRyaWJ1dGUg
bmFtZT0iZmFtaWx5TmFtZSIgaWQ9Ijo6U3R1ZGVudDo6ZmFtaWx5TmFtZSI+Ci0gICAgICA8d2Vi
aWRsPiAgYXR0cmlidXRlIERPTVN0cmluZz8gZmFtaWx5TmFtZTs8L3dlYmlkbD4KLSAgICAgIDxU
eXBlIHR5cGU9IkRPTVN0cmluZyIgbnVsbGFibGU9Im51bGxhYmxlIi8+Ci0gICAgPC9BdHRyaWJ1
dGU+Ci0gICAgPEF0dHJpYnV0ZSBuYW1lPSJnaXZlbk5hbWUiIGlkPSI6OlN0dWRlbnQ6OmdpdmVu
TmFtZSI+Ci0gICAgICA8d2ViaWRsPiAgYXR0cmlidXRlIERPTVN0cmluZyBnaXZlbk5hbWU7PC93
ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJET01TdHJpbmciLz4KLSAgICA8L0F0dHJpYnV0ZT4K
LSAgICA8T3BlcmF0aW9uIHN0cmluZ2lmaWVyPSJzdHJpbmdpZmllciI+Ci0gICAgICA8d2ViaWRs
PiAgc3RyaW5naWZpZXIgRE9NU3RyaW5nICgpOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0i
RE9NU3RyaW5nIi8+Ci0gICAgICA8QXJndW1lbnRMaXN0Lz4KLSAgICA8L09wZXJhdGlvbj4KLSAg
PC9JbnRlcmZhY2U+Ci08L0RlZmluaXRpb25zPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxw
cm9jL3Rlc3QvdmFsaWQveG1sL3N0cmluZ2lmaWVyLndpZGxwcm9jeG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dp
ZGxwcm9jL3Rlc3QvdmFsaWQveG1sL3N0cmluZ2lmaWVyLndpZGxwcm9jeG1sCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCA0YTE4YjgwYjcwNGI0ZjQ2OTU1MjlhYjRmYTU3MDRjMjNkZDMz
MGFjLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9zdHJpbmdpZmllci53aWRscHJvY3htbAorKysg
L2Rldi9udWxsCkBAIC0xLDI5ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9
IlVURi04Ij8+Ci08IURPQ1RZUEUgRGVmaW5pdGlvbnMgU1lTVEVNICJ3aWRscHJvY3htbC5kdGQi
PgotPERlZmluaXRpb25zPgotICA8d2ViaWRsPmludGVyZmFjZSBBIHsKLSAgc3RyaW5naWZpZXIg
RE9NU3RyaW5nICgpOwotfTsKLQotaW50ZXJmYWNlIEEgewotICBzdHJpbmdpZmllcjsKLX07PC93
ZWJpZGw+Ci0gIDxJbnRlcmZhY2UgbmFtZT0iQSIgaWQ9Ijo6QSI+Ci0gICAgPHdlYmlkbD5pbnRl
cmZhY2UgQSB7Ci0gIHN0cmluZ2lmaWVyIERPTVN0cmluZyAoKTsKLX07PC93ZWJpZGw+Ci0gICAg
PE9wZXJhdGlvbiBzdHJpbmdpZmllcj0ic3RyaW5naWZpZXIiPgotICAgICAgPHdlYmlkbD4gIHN0
cmluZ2lmaWVyIERPTVN0cmluZyAoKTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9IkRPTVN0
cmluZyIvPgotICAgICAgPEFyZ3VtZW50TGlzdC8+Ci0gICAgPC9PcGVyYXRpb24+Ci0gIDwvSW50
ZXJmYWNlPgotICA8SW50ZXJmYWNlIG5hbWU9IkEiIGlkPSI6OkEiPgotICAgIDx3ZWJpZGw+aW50
ZXJmYWNlIEEgewotICBzdHJpbmdpZmllcjsKLX07PC93ZWJpZGw+Ci0gICAgPFN0cmluZ2lmaWVy
PgotICAgICAgPHdlYmlkbD4gIHN0cmluZ2lmaWVyOzwvd2ViaWRsPgotICAgIDwvU3RyaW5naWZp
ZXI+Ci0gIDwvSW50ZXJmYWNlPgotPC9EZWZpbml0aW9ucz4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC90cmVhdGFzbnVsbC53aWRscHJvY3htbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC90cmVhdGFzbnVsbC53aWRscHJvY3htbApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTU3YWUxNjNmMGI5ODc3NGRjODRkYjFhOTc1ZmY3
Nzk5MmE4Y2VkMy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvdHJlYXRhc251bGwud2lkbHByb2N4
bWwKKysrIC9kZXYvbnVsbApAQCAtMSw0MCArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVu
Y29kaW5nPSJVVEYtOCI/PgotPCFET0NUWVBFIERlZmluaXRpb25zIFNZU1RFTSAid2lkbHByb2N4
bWwuZHRkIj4KLTxEZWZpbml0aW9ucz4KLSAgPHdlYmlkbD5pbnRlcmZhY2UgRG9nIHsKLSAgYXR0
cmlidXRlIERPTVN0cmluZyBuYW1lOwotICBhdHRyaWJ1dGUgRE9NU3RyaW5nIG93bmVyOwotCi0g
IGJvb2xlYW4gaXNNZW1iZXJPZkJyZWVkKFtUcmVhdE51bGxBcz1FbXB0eVN0cmluZ10gRE9NU3Ry
aW5nIGJyZWVkTmFtZSk7Ci19Ozwvd2ViaWRsPgotICA8SW50ZXJmYWNlIG5hbWU9IkRvZyIgaWQ9
Ijo6RG9nIj4KLSAgICA8d2ViaWRsPmludGVyZmFjZSBEb2cgewotICBhdHRyaWJ1dGUgRE9NU3Ry
aW5nIG5hbWU7Ci0gIGF0dHJpYnV0ZSBET01TdHJpbmcgb3duZXI7Ci0KLSAgYm9vbGVhbiBpc01l
bWJlck9mQnJlZWQoW1RyZWF0TnVsbEFzPUVtcHR5U3RyaW5nXSBET01TdHJpbmcgYnJlZWROYW1l
KTsKLX07PC93ZWJpZGw+Ci0gICAgPEF0dHJpYnV0ZSBuYW1lPSJuYW1lIiBpZD0iOjpEb2c6Om5h
bWUiPgotICAgICAgPHdlYmlkbD4gIGF0dHJpYnV0ZSBET01TdHJpbmcgbmFtZTs8L3dlYmlkbD4K
LSAgICAgIDxUeXBlIHR5cGU9IkRPTVN0cmluZyIvPgotICAgIDwvQXR0cmlidXRlPgotICAgIDxB
dHRyaWJ1dGUgbmFtZT0ib3duZXIiIGlkPSI6OkRvZzo6b3duZXIiPgotICAgICAgPHdlYmlkbD4g
IGF0dHJpYnV0ZSBET01TdHJpbmcgb3duZXI7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJE
T01TdHJpbmciLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAgICA8T3BlcmF0aW9uIG5hbWU9ImlzTWVt
YmVyT2ZCcmVlZCIgaWQ9Ijo6RG9nOjppc01lbWJlck9mQnJlZWQiPgotICAgICAgPHdlYmlkbD4g
IGJvb2xlYW4gaXNNZW1iZXJPZkJyZWVkKFtUcmVhdE51bGxBcz1FbXB0eVN0cmluZ10gRE9NU3Ry
aW5nIGJyZWVkTmFtZSk7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJib29sZWFuIi8+Ci0g
ICAgICA8QXJndW1lbnRMaXN0PgotICAgICAgICA8QXJndW1lbnQgbmFtZT0iYnJlZWROYW1lIj4K
LSAgICAgICAgICA8RXh0ZW5kZWRBdHRyaWJ1dGVMaXN0PgotICAgICAgICAgICAgPEV4dGVuZGVk
QXR0cmlidXRlIG5hbWU9IlRyZWF0TnVsbEFzIiB2YWx1ZT0iRW1wdHlTdHJpbmciPgotICAgICAg
ICAgICAgICA8d2ViaWRsPlRyZWF0TnVsbEFzPC93ZWJpZGw+Ci0gICAgICAgICAgICA8L0V4dGVu
ZGVkQXR0cmlidXRlPgotICAgICAgICAgIDwvRXh0ZW5kZWRBdHRyaWJ1dGVMaXN0PgotICAgICAg
ICAgIDxUeXBlIHR5cGU9IkRPTVN0cmluZyIvPgotICAgICAgICA8L0FyZ3VtZW50PgotICAgICAg
PC9Bcmd1bWVudExpc3Q+Ci0gICAgPC9PcGVyYXRpb24+Ci0gIDwvSW50ZXJmYWNlPgotPC9EZWZp
bml0aW9ucz4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC90
cmVhdGFzdW5kZWZpbmVkLndpZGxwcm9jeG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFs
aWQveG1sL3RyZWF0YXN1bmRlZmluZWQud2lkbHByb2N4bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDE3ZTcxMDgxZGEwMzZiYTE0NjFjOWNmMTZlMjMzNTQ0OTFhNjZkNzUuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxw
cm9jL3Rlc3QvdmFsaWQveG1sL3RyZWF0YXN1bmRlZmluZWQud2lkbHByb2N4bWwKKysrIC9kZXYv
bnVsbApAQCAtMSw0MCArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYt
OCI/PgotPCFET0NUWVBFIERlZmluaXRpb25zIFNZU1RFTSAid2lkbHByb2N4bWwuZHRkIj4KLTxE
ZWZpbml0aW9ucz4KLSAgPHdlYmlkbD5pbnRlcmZhY2UgQ2F0IHsKLSAgYXR0cmlidXRlIERPTVN0
cmluZyBuYW1lOwotICBhdHRyaWJ1dGUgRE9NU3RyaW5nIG93bmVyOwotCi0gIGJvb2xlYW4gaXNN
ZW1iZXJPZkJyZWVkKFtUcmVhdFVuZGVmaW5lZEFzPUVtcHR5U3RyaW5nXSBET01TdHJpbmcgYnJl
ZWROYW1lKTsKLX07PC93ZWJpZGw+Ci0gIDxJbnRlcmZhY2UgbmFtZT0iQ2F0IiBpZD0iOjpDYXQi
PgotICAgIDx3ZWJpZGw+aW50ZXJmYWNlIENhdCB7Ci0gIGF0dHJpYnV0ZSBET01TdHJpbmcgbmFt
ZTsKLSAgYXR0cmlidXRlIERPTVN0cmluZyBvd25lcjsKLQotICBib29sZWFuIGlzTWVtYmVyT2ZC
cmVlZChbVHJlYXRVbmRlZmluZWRBcz1FbXB0eVN0cmluZ10gRE9NU3RyaW5nIGJyZWVkTmFtZSk7
Ci19Ozwvd2ViaWRsPgotICAgIDxBdHRyaWJ1dGUgbmFtZT0ibmFtZSIgaWQ9Ijo6Q2F0OjpuYW1l
Ij4KLSAgICAgIDx3ZWJpZGw+ICBhdHRyaWJ1dGUgRE9NU3RyaW5nIG5hbWU7PC93ZWJpZGw+Ci0g
ICAgICA8VHlwZSB0eXBlPSJET01TdHJpbmciLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAgICA8QXR0
cmlidXRlIG5hbWU9Im93bmVyIiBpZD0iOjpDYXQ6Om93bmVyIj4KLSAgICAgIDx3ZWJpZGw+ICBh
dHRyaWJ1dGUgRE9NU3RyaW5nIG93bmVyOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0iRE9N
U3RyaW5nIi8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gICAgPE9wZXJhdGlvbiBuYW1lPSJpc01lbWJl
ck9mQnJlZWQiIGlkPSI6OkNhdDo6aXNNZW1iZXJPZkJyZWVkIj4KLSAgICAgIDx3ZWJpZGw+ICBi
b29sZWFuIGlzTWVtYmVyT2ZCcmVlZChbVHJlYXRVbmRlZmluZWRBcz1FbXB0eVN0cmluZ10gRE9N
U3RyaW5nIGJyZWVkTmFtZSk7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJib29sZWFuIi8+
Ci0gICAgICA8QXJndW1lbnRMaXN0PgotICAgICAgICA8QXJndW1lbnQgbmFtZT0iYnJlZWROYW1l
Ij4KLSAgICAgICAgICA8RXh0ZW5kZWRBdHRyaWJ1dGVMaXN0PgotICAgICAgICAgICAgPEV4dGVu
ZGVkQXR0cmlidXRlIG5hbWU9IlRyZWF0VW5kZWZpbmVkQXMiIHZhbHVlPSJFbXB0eVN0cmluZyI+
Ci0gICAgICAgICAgICAgIDx3ZWJpZGw+VHJlYXRVbmRlZmluZWRBczwvd2ViaWRsPgotICAgICAg
ICAgICAgPC9FeHRlbmRlZEF0dHJpYnV0ZT4KLSAgICAgICAgICA8L0V4dGVuZGVkQXR0cmlidXRl
TGlzdD4KLSAgICAgICAgICA8VHlwZSB0eXBlPSJET01TdHJpbmciLz4KLSAgICAgICAgPC9Bcmd1
bWVudD4KLSAgICAgIDwvQXJndW1lbnRMaXN0PgotICAgIDwvT3BlcmF0aW9uPgotICA8L0ludGVy
ZmFjZT4KLTwvRGVmaW5pdGlvbnM+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVz
dC92YWxpZC94bWwvdHlwZWRlZi53aWRscHJvY3htbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0
L3ZhbGlkL3htbC90eXBlZGVmLndpZGxwcm9jeG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCA3ODVmNjcwNmU2ZDY3NWE1ZDMwMWRjZDlmMmEwMzgwMTBhYjY0ZjZjLi4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90
ZXN0L3ZhbGlkL3htbC90eXBlZGVmLndpZGxwcm9jeG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTAw
ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Ci08IURPQ1RZ
UEUgRGVmaW5pdGlvbnMgU1lTVEVNICJ3aWRscHJvY3htbC5kdGQiPgotPERlZmluaXRpb25zPgot
ICA8d2ViaWRsPiAgICAgIGludGVyZmFjZSBQb2ludCB7Ci0gICAgICAgIGF0dHJpYnV0ZSBmbG9h
dCB4OwotICAgICAgICBhdHRyaWJ1dGUgZmxvYXQgeTsKLSAgICAgIH07Ci0KLSAgICAgIHR5cGVk
ZWYgc2VxdWVuY2UmbHQ7PHJlZj5Qb2ludDwvcmVmPj4gUG9pbnRTZXF1ZW5jZTsKLQotICAgICAg
aW50ZXJmYWNlIFJlY3QgewotICAgICAgICBhdHRyaWJ1dGUgPHJlZj5Qb2ludDwvcmVmPiB0b3Bs
ZWZ0OwotICAgICAgICBhdHRyaWJ1dGUgPHJlZj5Qb2ludDwvcmVmPiBib3R0b21yaWdodDsKLSAg
ICAgIH07Ci0KLSAgaW50ZXJmYWNlIFdpZGdldCB7Ci0KLSAgICByZWFkb25seSBhdHRyaWJ1dGUg
PHJlZj5SZWN0PC9yZWY+IGJvdW5kczsKLQotICAgIGJvb2xlYW4gcG9pbnRXaXRoaW5Cb3VuZHMo
PHJlZj5Qb2ludDwvcmVmPiBwKTsKLSAgICBib29sZWFuIGFsbFBvaW50c1dpdGhpbkJvdW5kcyg8
cmVmPlBvaW50U2VxdWVuY2U8L3JlZj4gcHMpOwotICB9OwotCi0gIHR5cGVkZWYgW0NsYW1wXSBv
Y3RldCB2YWx1ZTs8L3dlYmlkbD4KLSAgPEludGVyZmFjZSBuYW1lPSJQb2ludCIgaWQ9Ijo6UG9p
bnQiPgotICAgIDx3ZWJpZGw+ICAgICAgaW50ZXJmYWNlIFBvaW50IHsKLSAgICAgICAgYXR0cmli
dXRlIGZsb2F0IHg7Ci0gICAgICAgIGF0dHJpYnV0ZSBmbG9hdCB5OwotICAgICAgfTs8L3dlYmlk
bD4KLSAgICA8QXR0cmlidXRlIG5hbWU9IngiIGlkPSI6OlBvaW50Ojp4Ij4KLSAgICAgIDx3ZWJp
ZGw+ICAgICAgICBhdHRyaWJ1dGUgZmxvYXQgeDs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9
ImZsb2F0Ii8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gICAgPEF0dHJpYnV0ZSBuYW1lPSJ5IiBpZD0i
OjpQb2ludDo6eSI+Ci0gICAgICA8d2ViaWRsPiAgICAgICAgYXR0cmlidXRlIGZsb2F0IHk7PC93
ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJmbG9hdCIvPgotICAgIDwvQXR0cmlidXRlPgotICA8
L0ludGVyZmFjZT4KLSAgPFR5cGVkZWYgbmFtZT0iUG9pbnRTZXF1ZW5jZSIgaWQ9Ijo6UG9pbnRT
ZXF1ZW5jZSI+Ci0gICAgPHdlYmlkbD4gICAgICB0eXBlZGVmIHNlcXVlbmNlJmx0OzxyZWY+UG9p
bnQ8L3JlZj4+IFBvaW50U2VxdWVuY2U7PC93ZWJpZGw+Ci0gICAgPFR5cGUgdHlwZT0ic2VxdWVu
Y2UiPgotICAgICAgPFR5cGUgbmFtZT0iUG9pbnQiLz4KLSAgICA8L1R5cGU+Ci0gIDwvVHlwZWRl
Zj4KLSAgPEludGVyZmFjZSBuYW1lPSJSZWN0IiBpZD0iOjpSZWN0Ij4KLSAgICA8d2ViaWRsPiAg
ICAgIGludGVyZmFjZSBSZWN0IHsKLSAgICAgICAgYXR0cmlidXRlIDxyZWY+UG9pbnQ8L3JlZj4g
dG9wbGVmdDsKLSAgICAgICAgYXR0cmlidXRlIDxyZWY+UG9pbnQ8L3JlZj4gYm90dG9tcmlnaHQ7
Ci0gICAgICB9Ozwvd2ViaWRsPgotICAgIDxBdHRyaWJ1dGUgbmFtZT0idG9wbGVmdCIgaWQ9Ijo6
UmVjdDo6dG9wbGVmdCI+Ci0gICAgICA8d2ViaWRsPiAgICAgICAgYXR0cmlidXRlIDxyZWY+UG9p
bnQ8L3JlZj4gdG9wbGVmdDs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIG5hbWU9IlBvaW50Ii8+Ci0g
ICAgPC9BdHRyaWJ1dGU+Ci0gICAgPEF0dHJpYnV0ZSBuYW1lPSJib3R0b21yaWdodCIgaWQ9Ijo6
UmVjdDo6Ym90dG9tcmlnaHQiPgotICAgICAgPHdlYmlkbD4gICAgICAgIGF0dHJpYnV0ZSA8cmVm
PlBvaW50PC9yZWY+IGJvdHRvbXJpZ2h0Ozwvd2ViaWRsPgotICAgICAgPFR5cGUgbmFtZT0iUG9p
bnQiLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAgPC9JbnRlcmZhY2U+Ci0gIDxJbnRlcmZhY2UgbmFt
ZT0iV2lkZ2V0IiBpZD0iOjpXaWRnZXQiPgotICAgIDx3ZWJpZGw+ICBpbnRlcmZhY2UgV2lkZ2V0
IHsKLQotICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSA8cmVmPlJlY3Q8L3JlZj4gYm91bmRzOwotCi0g
ICAgYm9vbGVhbiBwb2ludFdpdGhpbkJvdW5kcyg8cmVmPlBvaW50PC9yZWY+IHApOwotICAgIGJv
b2xlYW4gYWxsUG9pbnRzV2l0aGluQm91bmRzKDxyZWY+UG9pbnRTZXF1ZW5jZTwvcmVmPiBwcyk7
Ci0gIH07PC93ZWJpZGw+Ci0gICAgPEF0dHJpYnV0ZSByZWFkb25seT0icmVhZG9ubHkiIG5hbWU9
ImJvdW5kcyIgaWQ9Ijo6V2lkZ2V0Ojpib3VuZHMiPgotICAgICAgPHdlYmlkbD4gICAgcmVhZG9u
bHkgYXR0cmlidXRlIDxyZWY+UmVjdDwvcmVmPiBib3VuZHM7PC93ZWJpZGw+Ci0gICAgICA8VHlw
ZSBuYW1lPSJSZWN0Ii8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gICAgPE9wZXJhdGlvbiBuYW1lPSJw
b2ludFdpdGhpbkJvdW5kcyIgaWQ9Ijo6V2lkZ2V0Ojpwb2ludFdpdGhpbkJvdW5kcyI+Ci0gICAg
ICA8d2ViaWRsPiAgICBib29sZWFuIHBvaW50V2l0aGluQm91bmRzKDxyZWY+UG9pbnQ8L3JlZj4g
cCk7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJib29sZWFuIi8+Ci0gICAgICA8QXJndW1l
bnRMaXN0PgotICAgICAgICA8QXJndW1lbnQgbmFtZT0icCI+Ci0gICAgICAgICAgPFR5cGUgbmFt
ZT0iUG9pbnQiLz4KLSAgICAgICAgPC9Bcmd1bWVudD4KLSAgICAgIDwvQXJndW1lbnRMaXN0Pgot
ICAgIDwvT3BlcmF0aW9uPgotICAgIDxPcGVyYXRpb24gbmFtZT0iYWxsUG9pbnRzV2l0aGluQm91
bmRzIiBpZD0iOjpXaWRnZXQ6OmFsbFBvaW50c1dpdGhpbkJvdW5kcyI+Ci0gICAgICA8d2ViaWRs
PiAgICBib29sZWFuIGFsbFBvaW50c1dpdGhpbkJvdW5kcyg8cmVmPlBvaW50U2VxdWVuY2U8L3Jl
Zj4gcHMpOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0iYm9vbGVhbiIvPgotICAgICAgPEFy
Z3VtZW50TGlzdD4KLSAgICAgICAgPEFyZ3VtZW50IG5hbWU9InBzIj4KLSAgICAgICAgICA8VHlw
ZSBuYW1lPSJQb2ludFNlcXVlbmNlIi8+Ci0gICAgICAgIDwvQXJndW1lbnQ+Ci0gICAgICA8L0Fy
Z3VtZW50TGlzdD4KLSAgICA8L09wZXJhdGlvbj4KLSAgPC9JbnRlcmZhY2U+Ci0gIDxUeXBlZGVm
IG5hbWU9InZhbHVlIiBpZD0iOjp2YWx1ZSI+Ci0gICAgPHdlYmlkbD4gIHR5cGVkZWYgW0NsYW1w
XSBvY3RldCB2YWx1ZTs8L3dlYmlkbD4KLSAgICA8VHlwZSB0eXBlPSJvY3RldCI+Ci0gICAgICA8
RXh0ZW5kZWRBdHRyaWJ1dGVMaXN0PgotICAgICAgICA8RXh0ZW5kZWRBdHRyaWJ1dGUgbmFtZT0i
Q2xhbXAiPgotICAgICAgICAgIDx3ZWJpZGw+Q2xhbXA8L3dlYmlkbD4KLSAgICAgICAgPC9FeHRl
bmRlZEF0dHJpYnV0ZT4KLSAgICAgIDwvRXh0ZW5kZWRBdHRyaWJ1dGVMaXN0PgotICAgIDwvVHlw
ZT4KLSAgPC9UeXBlZGVmPgotPC9EZWZpbml0aW9ucz4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93
aWRscHJvYy90ZXN0L3ZhbGlkL3htbC90eXBlc3VmZml4ZXMud2lkbHByb2N4bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvdHlwZXN1ZmZpeGVzLndpZGxwcm9jeG1sCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4MzBmZTYyYmMwZGYxMTNjYzBkZThlMzYwZTJkYThi
MDkxOWJjZGM3Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC90eXBlc3VmZml4ZXMud2lkbHByb2N4
bWwKKysrIC9kZXYvbnVsbApAQCAtMSwyNSArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVu
Y29kaW5nPSJVVEYtOCI/PgotPCFET0NUWVBFIERlZmluaXRpb25zIFNZU1RFTSAid2lkbHByb2N4
bWwuZHRkIj4KLTxEZWZpbml0aW9ucz4KLSAgPHdlYmlkbD5pbnRlcmZhY2UgU3VmZml4ZXMgewot
ICB2b2lkIHRlc3Qoc2VxdWVuY2UmbHQ7RE9NU3RyaW5nW10/Pj8gZm9vKTsKLX07PC93ZWJpZGw+
Ci0gIDxJbnRlcmZhY2UgbmFtZT0iU3VmZml4ZXMiIGlkPSI6OlN1ZmZpeGVzIj4KLSAgICA8d2Vi
aWRsPmludGVyZmFjZSBTdWZmaXhlcyB7Ci0gIHZvaWQgdGVzdChzZXF1ZW5jZSZsdDtET01TdHJp
bmdbXT8+PyBmb28pOwotfTs8L3dlYmlkbD4KLSAgICA8T3BlcmF0aW9uIG5hbWU9InRlc3QiIGlk
PSI6OlN1ZmZpeGVzOjp0ZXN0Ij4KLSAgICAgIDx3ZWJpZGw+ICB2b2lkIHRlc3Qoc2VxdWVuY2Um
bHQ7RE9NU3RyaW5nW10/Pj8gZm9vKTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9InZvaWQi
Lz4KLSAgICAgIDxBcmd1bWVudExpc3Q+Ci0gICAgICAgIDxBcmd1bWVudCBuYW1lPSJmb28iPgot
ICAgICAgICAgIDxUeXBlIHR5cGU9InNlcXVlbmNlIiBudWxsYWJsZT0ibnVsbGFibGUiPgotICAg
ICAgICAgICAgPFR5cGUgdHlwZT0iYXJyYXkiIG51bGxhYmxlPSJudWxsYWJsZSI+Ci0gICAgICAg
ICAgICAgIDxUeXBlIHR5cGU9IkRPTVN0cmluZyIvPgotICAgICAgICAgICAgPC9UeXBlPgotICAg
ICAgICAgIDwvVHlwZT4KLSAgICAgICAgPC9Bcmd1bWVudD4KLSAgICAgIDwvQXJndW1lbnRMaXN0
PgotICAgIDwvT3BlcmF0aW9uPgotICA8L0ludGVyZmFjZT4KLTwvRGVmaW5pdGlvbnM+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvdW5pb250eXBlLndpZGxw
cm9jeG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL3VuaW9udHlwZS53aWRs
cHJvY3htbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggN2QwODgwNzk5NTZhMTEzMzY5
OGQ1YmI3NzI0NTNmNDdjOGZlYTlhZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvdW5pb250eXBl
LndpZGxwcm9jeG1sCisrKyAvZGV2L251bGwKQEAgLTEsMjYgKzAsMCBAQAotPD94bWwgdmVyc2lv
bj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KLTwhRE9DVFlQRSBEZWZpbml0aW9ucyBTWVNURU0g
IndpZGxwcm9jeG1sLmR0ZCI+Ci08RGVmaW5pdGlvbnM+Ci0gIDx3ZWJpZGw+aW50ZXJmYWNlIFVu
aW9uIHsKLSBhdHRyaWJ1dGUgKGZsb2F0IG9yIChEYXRlIG9yIDxyZWY+RXZlbnQ8L3JlZj4pIG9y
ICg8cmVmPk5vZGU8L3JlZj4gb3IgRE9NU3RyaW5nKT8pIHRlc3Q7Ci19Ozwvd2ViaWRsPgotICA8
SW50ZXJmYWNlIG5hbWU9IlVuaW9uIiBpZD0iOjpVbmlvbiI+Ci0gICAgPHdlYmlkbD5pbnRlcmZh
Y2UgVW5pb24gewotIGF0dHJpYnV0ZSAoZmxvYXQgb3IgKERhdGUgb3IgPHJlZj5FdmVudDwvcmVm
Pikgb3IgKDxyZWY+Tm9kZTwvcmVmPiBvciBET01TdHJpbmcpPykgdGVzdDsKLX07PC93ZWJpZGw+
Ci0gICAgPEF0dHJpYnV0ZSBuYW1lPSJ0ZXN0IiBpZD0iOjpVbmlvbjo6dGVzdCI+Ci0gICAgICA8
d2ViaWRsPiBhdHRyaWJ1dGUgKGZsb2F0IG9yIChEYXRlIG9yIDxyZWY+RXZlbnQ8L3JlZj4pIG9y
ICg8cmVmPk5vZGU8L3JlZj4gb3IgRE9NU3RyaW5nKT8pIHRlc3Q7PC93ZWJpZGw+Ci0gICAgICA8
VHlwZSB0eXBlPSJ1bmlvbiI+Ci0gICAgICAgIDxUeXBlIHR5cGU9ImZsb2F0Ii8+Ci0gICAgICAg
IDxUeXBlIHR5cGU9InVuaW9uIj4KLSAgICAgICAgICA8VHlwZSB0eXBlPSJEYXRlIi8+Ci0gICAg
ICAgICAgPFR5cGUgbmFtZT0iRXZlbnQiLz4KLSAgICAgICAgPC9UeXBlPgotICAgICAgICA8VHlw
ZSB0eXBlPSJ1bmlvbiIgbnVsbGFibGU9Im51bGxhYmxlIj4KLSAgICAgICAgICA8VHlwZSBuYW1l
PSJOb2RlIi8+Ci0gICAgICAgICAgPFR5cGUgdHlwZT0iRE9NU3RyaW5nIi8+Ci0gICAgICAgIDwv
VHlwZT4KLSAgICAgIDwvVHlwZT4KLSAgICA8L0F0dHJpYnV0ZT4KLSAgPC9JbnRlcmZhY2U+Ci08
L0RlZmluaXRpb25zPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQv
eG1sL3ZhcmlhZGljLW9wZXJhdGlvbnMud2lkbHByb2N4bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mv
dGVzdC92YWxpZC94bWwvdmFyaWFkaWMtb3BlcmF0aW9ucy53aWRscHJvY3htbApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMGJjOWY3ODQ0MTM3ODUzYTRkZjk5OTZlMzMwODdjOWRiMTg0
NjgyZC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvdmFyaWFkaWMtb3BlcmF0aW9ucy53aWRscHJv
Y3htbAorKysgL2Rldi9udWxsCkBAIC0xLDQwICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIg
ZW5jb2Rpbmc9IlVURi04Ij8+Ci08IURPQ1RZUEUgRGVmaW5pdGlvbnMgU1lTVEVNICJ3aWRscHJv
Y3htbC5kdGQiPgotPERlZmluaXRpb25zPgotICA8d2ViaWRsPmludGVyZmFjZSBJbnRlZ2VyU2V0
IHsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgY2FyZGluYWxpdHk7Ci0KLSAg
dm9pZCB1bmlvbihsb25nLi4uIGludHMpOwotICB2b2lkIGludGVyc2VjdGlvbihsb25nLi4uIGlu
dHMpOwotfTs8L3dlYmlkbD4KLSAgPEludGVyZmFjZSBuYW1lPSJJbnRlZ2VyU2V0IiBpZD0iOjpJ
bnRlZ2VyU2V0Ij4KLSAgICA8d2ViaWRsPmludGVyZmFjZSBJbnRlZ2VyU2V0IHsKLSAgcmVhZG9u
bHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgY2FyZGluYWxpdHk7Ci0KLSAgdm9pZCB1bmlvbihs
b25nLi4uIGludHMpOwotICB2b2lkIGludGVyc2VjdGlvbihsb25nLi4uIGludHMpOwotfTs8L3dl
YmlkbD4KLSAgICA8QXR0cmlidXRlIHJlYWRvbmx5PSJyZWFkb25seSIgbmFtZT0iY2FyZGluYWxp
dHkiIGlkPSI6OkludGVnZXJTZXQ6OmNhcmRpbmFsaXR5Ij4KLSAgICAgIDx3ZWJpZGw+ICByZWFk
b25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBjYXJkaW5hbGl0eTs8L3dlYmlkbD4KLSAgICAg
IDxUeXBlIHR5cGU9InVuc2lnbmVkIGxvbmciLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAgICA8T3Bl
cmF0aW9uIG5hbWU9InVuaW9uIiBpZD0iOjpJbnRlZ2VyU2V0Ojp1bmlvbiI+Ci0gICAgICA8d2Vi
aWRsPiAgdm9pZCB1bmlvbihsb25nLi4uIGludHMpOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlw
ZT0idm9pZCIvPgotICAgICAgPEFyZ3VtZW50TGlzdD4KLSAgICAgICAgPEFyZ3VtZW50IGVsbGlw
c2lzPSJlbGxpcHNpcyIgbmFtZT0iaW50cyI+Ci0gICAgICAgICAgPFR5cGUgdHlwZT0ibG9uZyIv
PgotICAgICAgICA8L0FyZ3VtZW50PgotICAgICAgPC9Bcmd1bWVudExpc3Q+Ci0gICAgPC9PcGVy
YXRpb24+Ci0gICAgPE9wZXJhdGlvbiBuYW1lPSJpbnRlcnNlY3Rpb24iIGlkPSI6OkludGVnZXJT
ZXQ6OmludGVyc2VjdGlvbiI+Ci0gICAgICA8d2ViaWRsPiAgdm9pZCBpbnRlcnNlY3Rpb24obG9u
Zy4uLiBpbnRzKTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9InZvaWQiLz4KLSAgICAgIDxB
cmd1bWVudExpc3Q+Ci0gICAgICAgIDxBcmd1bWVudCBlbGxpcHNpcz0iZWxsaXBzaXMiIG5hbWU9
ImludHMiPgotICAgICAgICAgIDxUeXBlIHR5cGU9ImxvbmciLz4KLSAgICAgICAgPC9Bcmd1bWVu
dD4KLSAgICAgIDwvQXJndW1lbnRMaXN0PgotICAgIDwvT3BlcmF0aW9uPgotICA8L0ludGVyZmFj
ZT4KLTwvRGVmaW5pdGlvbnM+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92
YWxpZC94bWwvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94
bWwvdzNjLWltcG9ydC5sb2cKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGI0ZDEyM2Vl
MWVmNDc0MzU3MWQ4MWFmMjVlODRjY2YxMGNjN2Y5OTIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1s
L3czYy1pbXBvcnQubG9nCisrKyAvZGV2L251bGwKQEAgLTEsNjcgKzAsMCBAQAotVGhlIHRlc3Rz
IGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnku
Ci1EbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQs
IGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgVzNDIENTUyBvciBXUFQgZ2l0aHViOgotCWh0
dHBzOi8vZ2l0aHViLmNvbS93M2MvY3Nzd2ctdGVzdAotCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzCi0KLVRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13
M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0Ci0KLURvIE5PVCBtb2RpZnkgb3IgcmVtb3Zl
IHRoaXMgZmlsZS4KLQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1Qcm9wZXJ0aWVzIHJlcXVpcmluZyB2ZW5k
b3IgcHJlZml4ZXM6Ci1Ob25lCi1Qcm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVm
aXhlczoKLU5vbmUKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotTGlzdCBvZiBmaWxlczoKLS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
d2lkbHByb2MvdGVzdC92YWxpZC94bWwvYWxsb3dhbnkud2lkbHByb2N4bWwKLS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
d2lkbHByb2MvdGVzdC92YWxpZC94bWwvYXJyYXkud2lkbHByb2N4bWwKLS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lk
bHByb2MvdGVzdC92YWxpZC94bWwvYXR0cmlidXRlcy53aWRscHJvY3htbAotL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93
aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9jYWxsYmFjay53aWRscHJvY3htbAotL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93
aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9jYWxsZXIud2lkbHByb2N4bWwKLS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lk
bHByb2MvdGVzdC92YWxpZC94bWwvY29uc3RhbnRzLndpZGxwcm9jeG1sCi0vTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dp
ZGxwcm9jL3Rlc3QvdmFsaWQveG1sL2NvbnN0cnVjdG9yLndpZGxwcm9jeG1sCi0vTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL2RpY3Rpb25hcnktaW5oZXJpdHMud2lkbHByb2N4bWwK
LS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvZGljdGlvbmFyeS53aWRscHJvY3ht
bAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9kb2N1bWVudGF0aW9uLWRvcy53
aWRscHJvY3htbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9kb2N1bWVudGF0
aW9uLndpZGxwcm9jeG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL2VudW0u
d2lkbHByb2N4bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvZXF1aXZhbGVu
dC1kZWNsLndpZGxwcm9jeG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL2V4
Y2VwdGlvbi1pbmhlcml0YW5jZS53aWRscHJvY3htbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0
L3ZhbGlkL3htbC9leGNlcHRpb24ud2lkbHByb2N4bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVz
dC92YWxpZC94bWwvZ2V0dGVyLXNldHRlci53aWRscHJvY3htbAotL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJv
Yy90ZXN0L3ZhbGlkL3htbC9pZGVudGlmaWVyLXF1YWxpZmllZC1uYW1lcy53aWRscHJvY3htbAot
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9pbXBsZW1lbnRzLndpZGxwcm9jeG1s
Ci0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL2luZGV4ZWQtcHJvcGVydGllcy53
aWRscHJvY3htbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9pbmhlcml0cy1n
ZXR0ZXIud2lkbHByb2N4bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvaW50
ZXJmYWNlLWluaGVyaXRzLndpZGxwcm9jeG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFs
aWQveG1sL2l0ZXJhdG9yLndpZGxwcm9jeG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFs
aWQveG1sL21vZHVsZS53aWRscHJvY3htbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlk
L3htbC9uYW1lZGNvbnN0cnVjdG9yLndpZGxwcm9jeG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rl
c3QvdmFsaWQveG1sL25hbWVzcGFjZW9iamVjdC53aWRscHJvY3htbAotL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRs
cHJvYy90ZXN0L3ZhbGlkL3htbC9ub2ludGVyZmFjZW9iamVjdC53aWRscHJvY3htbAotL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9udWxsYWJsZS53aWRscHJvY3htbAotL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9udWxsYWJsZW9iamVjdHMud2lkbHByb2N4bWwK
LS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvb3BlcmF0aW9uLW9wdGlvbmFsLWFy
Zy53aWRscHJvY3htbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9vdmVybG9h
ZGluZy53aWRscHJvY3htbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9vdmVy
cmlkZWJ1aWx0aW5zLndpZGxwcm9jeG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQv
eG1sL3BhcnRpYWwtaW50ZXJmYWNlLndpZGxwcm9jeG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rl
c3QvdmFsaWQveG1sL3ByaW1pdGl2ZXMud2lkbHByb2N4bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mv
dGVzdC92YWxpZC94bWwvcHJvdG90eXBlcm9vdC53aWRscHJvY3htbAotL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRs
cHJvYy90ZXN0L3ZhbGlkL3htbC9wdXRmb3J3YXJkcy53aWRscHJvY3htbAotL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93
aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9yZWctb3BlcmF0aW9ucy53aWRscHJvY3htbAotL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9yZXBsYWNlYWJsZS53aWRscHJvY3htbAotL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9zZXF1ZW5jZS53aWRscHJvY3htbAotL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9zZXJpYWxpemVyLndpZGxwcm9jeG1sCi0v
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL3NwZWNpYWwtb21pdHRhYmxlLndpZGxw
cm9jeG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL3N0YXRpYy53aWRscHJv
Y3htbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9zdHJpbmdpZmllci1hdHRy
aWJ1dGUud2lkbHByb2N4bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvc3Ry
aW5naWZpZXItY3VzdG9tLndpZGxwcm9jeG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFs
aWQveG1sL3N0cmluZ2lmaWVyLndpZGxwcm9jeG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3Qv
dmFsaWQveG1sL3RyZWF0YXNudWxsLndpZGxwcm9jeG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rl
c3QvdmFsaWQveG1sL3RyZWF0YXN1bmRlZmluZWQud2lkbHByb2N4bWwKLS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lk
bHByb2MvdGVzdC92YWxpZC94bWwvdHlwZWRlZi53aWRscHJvY3htbAotL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRs
cHJvYy90ZXN0L3ZhbGlkL3htbC90eXBlc3VmZml4ZXMud2lkbHByb2N4bWwKLS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
d2lkbHByb2MvdGVzdC92YWxpZC94bWwvdW5pb250eXBlLndpZGxwcm9jeG1sCi0vTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL3ZhcmlhZGljLW9wZXJhdGlvbnMud2lkbHByb2N4bWwK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3czYy1pbXBvcnQubG9nIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L3dpZGxwcm9jL3Rlc3QvdzNjLWltcG9ydC5sb2cKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IGU0ZGZiMTdhMTkxYTJlMzJkMmYxNGM0YjVmOGM2ZTVhNTg0ZTUxMjMuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxw
cm9jL3Rlc3QvdzNjLWltcG9ydC5sb2cKKysrIC9kZXYvbnVsbApAQCAtMSwxOCArMCwwIEBACi1U
aGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVw
b3NpdG9yeS4KLURvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0Lgot
SW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXM0MgQ1NTIG9yIFdQVCBnaXRo
dWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy10ZXN0Ci0JaHR0cHM6Ly9naXRodWIu
Y29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMKLQotVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMv
aW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKLQotRG8gTk9UIG1vZGlmeSBv
ciByZW1vdmUgdGhpcyBmaWxlLgotCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLVByb3BlcnRpZXMgcmVxdWly
aW5nIHZlbmRvciBwcmVmaXhlczoKLU5vbmUKLVByb3BlcnR5IHZhbHVlcyByZXF1aXJpbmcgdmVu
ZG9yIHByZWZpeGVzOgotTm9uZQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1MaXN0IG9mIGZpbGVzOgotL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC93aWRscHJvYy90ZXN0L01ha2VmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lk
bHByb2MvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdzNjLWltcG9ydC5sb2cK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDdmZDE0MTRkNzYzYWZkMzhkNmZkYTYyYzdk
OThmY2IyMjUxODIzMjUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3czYy1pbXBvcnQubG9nCisrKyAvZGV2L251bGwKQEAg
LTEsMjAgKzAsMCBAQAotVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQg
ZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCi1EbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVj
dGx5IGluIFdlYktpdC4KLUluc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgVzND
IENTUyBvciBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0aHViLmNvbS93M2MvY3Nzd2ctdGVzdAot
CWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCi0KLVRoZW4gcnVuIHRo
ZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0Ci0K
LURvIE5PVCBtb2RpZnkgb3IgcmVtb3ZlIHRoaXMgZmlsZS4KLQotLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1Q
cm9wZXJ0aWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6Ci1Ob25lCi1Qcm9wZXJ0eSB2YWx1
ZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKLU5vbmUKLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotTGlz
dCBvZiBmaWxlczoKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvTElDRU5TRQotL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRs
cHJvYy9NYWtlZmlsZQotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9SRUFETUUubWQKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC93cml0ZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd3JpdGVyLmpzCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCBlODQwNzZiNGYyOGNlMzhjYmI0MWU0NzY4MWFjOTc4NDNkZjBlNDI3
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC93cml0ZXIuanMKKysrIC9kZXYvbnVsbApAQCAtMSwyMyArMCwwIEBACi0idXNlIHN0cmljdCI7
Ci0KLWNvbnN0IHsgY29sbGVjdCB9ID0gcmVxdWlyZSgiLi91dGlsL2NvbGxlY3QiKTsKLWNvbnN0
IHdwID0gcmVxdWlyZSgiLi4vbGliL3dlYmlkbDIiKTsKLWNvbnN0IHdyaXRlciA9IHJlcXVpcmUo
Ii4uL2xpYi93cml0ZXIiKTsKLWNvbnN0IGV4cGVjdCA9IHJlcXVpcmUoImV4cGVjdCIpOwotY29u
c3QgZGVidWcgPSB0cnVlOwotCi1kZXNjcmliZSgiUmV3cml0ZSBhbmQgcGFyc2VzIGFsbCBvZiB0
aGUgSURMcyB0byBwcm9kdWNlIHRoZSBzYW1lIEFTVHMiLCAoKSA9PiB7Ci0gIGZvciAoY29uc3Qg
dGVzdCBvZiBjb2xsZWN0KCJzeW50YXgiKSkgewotICAgIGl0KGBzaG91bGQgcHJvZHVjZSB0aGUg
c2FtZSBBU1QgZm9yICR7dGVzdC5wYXRofWAsICgpID0+IHsKLSAgICAgIHRyeSB7Ci0gICAgICAg
IGNvbnN0IGRpZmYgPSB0ZXN0LmRpZmYod3AucGFyc2Uod3JpdGVyLndyaXRlKHRlc3QuYXN0KSwg
dGVzdC5vcHQpKTsKLSAgICAgICAgaWYgKGRpZmYgJiYgZGVidWcpIGNvbnNvbGUubG9nKEpTT04u
c3RyaW5naWZ5KGRpZmYsIG51bGwsIDQpKTsKLSAgICAgICAgZXhwZWN0KGRpZmYpLnRvQmUodW5k
ZWZpbmVkKTsKLSAgICAgIH0KLSAgICAgIGNhdGNoIChlKSB7Ci0gICAgICAgIGNvbnNvbGUubG9n
KGUudG9TdHJpbmcoKSk7Ci0gICAgICAgIHRocm93IGU7Ci0gICAgICB9Ci0gICAgfSk7Ci0gIH0K
LX0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdzNjLWltcG9ydC5s
b2cKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDgyNDU5ZWMyNTc4OWYxMWFmYWMzYjRl
YjQyNjQ5NjdkNTAxOTg3MzcuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi93M2MtaW1wb3J0LmxvZworKysgL2Rldi9udWxsCkBAIC0xLDIzICswLDAg
QEAKLVRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFcz
QyByZXBvc2l0b3J5LgotRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJL
aXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6Ci0J
aHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQKLQotVGhlbiBydW4gdGhl
IFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKLQot
RG8gTk9UIG1vZGlmeSBvciByZW1vdmUgdGhpcyBmaWxlLgotCi0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLVBy
b3BlcnRpZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKLU5vbmUKLVByb3BlcnR5IHZhbHVl
cyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgotTm9uZQotLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1MaXN0
IG9mIGZpbGVzOgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvQ0hBTkdFTE9HLm1kCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi9MSUNFTlNFCi0vTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi9SRUFE
TUUubWQKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL2NvdmVyYWdlLmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL2luZGV4LmpzCi0vTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi9wYWNrYWdl
LWxvY2suanNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvcGFja2FnZS5qc29uCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>386938</attachid>
            <date>2020-01-06 23:52:40 -0800</date>
            <delta_ts>2020-01-06 23:54:19 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>204652-binary.diff</filename>
            <type>text/plain</type>
            <size>2252766</size>
            <attacher name="Alexey Shvayka">ashvayka</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IGRhZWFlY2ViMjRhLi42NjNmZThiMjE1
MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMjAt
MDEtMDYgIEFsZXhleSBTaHZheWthICA8c2h2YWlrYWxlc2hAZ21haWwuY29tPgorCisgICAgICAg
IENsZWFuIHVwIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNDY1MgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggcmVtb3ZlcyB3ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzIHN1YmRpcmVjdG9yaWVzIHRoYXQgYXJlCisgICAgICAgIG1p
c3NpbmcgaW4gdXBzdHJlYW0gNzNkNzQ4ZmNhN2U4IChpbXBvcnQtdzNjLXRlc3RzIHRvb2wgc2Vt
bXMgdG8ga2VlcCB0aGVtKS4KKworICAgICAgICBBbHNvIGl0IHJlbW92ZXMgYW5kIG1hcmtzIGFz
ICJza2lwIiBpbiBpbXBvcnQtZXhwZWN0YXRpb25zLmpzb24gdHdvIHN1YmRpcmVjdG9yaWVzOgor
ICAgICAgICAxLiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtIGFzIGl0IGNv
bnRhaW5zIENocm9taXVtLXNwZWNpZmljIGhhcm5lc3Mgd2UgZG9uJ3QgdXNlOworICAgICAgICAy
LiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QgYXMgaXQgY29udGFpbnMgaGFybmVz
cyB0ZXN0cyB3ZSBkb24ndCBydW4uCisKKyAgICAgICAgSW4gdG90YWwsIHRoaXMgcGF0Y2ggcmVt
b3ZlcyB+MyBNQiBvZiB1bm5lZWRlZCBmaWxlcy4KKworICAgICAgICAqIHJlc291cmNlcy9pbXBv
cnQtZXhwZWN0YXRpb25zLmpzb246CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy8qOiBVcGRhdGVkLgorCiAyMDIwLTAxLTA1ICBSb2IgQnVpcyAgPHJidWlzQGlnYWxpYS5j
b20+CiAKICAgICAgICAgVGlnaHRlbiB1cCBzdHlsZXNoZWV0IGxvYWRpbmcKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9yZXNvdXJjZXMvaW1wb3J0LWV4cGVjdGF0aW9ucy5q
c29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3Jlc291cmNlcy9pbXBvcnQtZXhwZWN0YXRp
b25zLmpzb24KaW5kZXggOGIyNjg2MTA2ZDIuLjQ5MjU5OTI3NzVlIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2MvcmVzb3VyY2VzL2ltcG9ydC1leHBlY3RhdGlvbnMuanNvbgor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcmVzb3VyY2VzL2ltcG9ydC1leHBlY3RhdGlv
bnMuanNvbgpAQCAtMzM0LDYgKzMzNCw4IEBACiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9yZXNp
emUtb2JzZXJ2ZXIvIjogImltcG9ydCIsIAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2UtdGltaW5nIjogImltcG9ydCIsIAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
IjogImltcG9ydCIsIAorICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVt
IjogInNraXAiLCAKKyAgICAid2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0IjogInNr
aXAiLCAKICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL3NjcmVlbi1vcmllbnRhdGlvbiI6ICJza2lw
IiwgCiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9zY3JvbGwtYW5jaG9yaW5nIjogInNraXAiLCAK
ICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL3Njcm9sbC1pbnRvLXZpZXciOiAic2tpcCIsIApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvY2hyb21pdW0vUkVBRE1FLm1kIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vUkVBRE1FLm1kCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCBiNTNjNmE4YzQyMy4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vUkVB
RE1FLm1kCisrKyAvZGV2L251bGwKQEAgLTEsNCArMCwwIEBACi1UaGlzIGRpcmVjdG9yeSBjb250
YWlucyBDaHJvbWl1bS1zcGVjaWZpYyB0ZXN0IHJlc291cmNlcy4KLQotVGhlIGZpbGVzIGBtb2pv
X2JpbmRpbmdzLmpzYCBhbmQgYCoubW9qb20uanNgIGFyZSBtYW51YWxseSBjb3BpZWQgZnJvbSB0
aGUKLUNocm9taXVtIGJ1aWxkIHByb2Nlc3MncyBnZW5lcmF0ZWQgZmlsZXMgYW5kIHNob3VsZCBu
b3QgYmUgZWRpdGVkIG1hbnVhbGx5LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vYmlnX2J1ZmZlci5tb2pv
bS5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL2Nocm9taXVtL2JpZ19idWZmZXIubW9qb20uanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IGYwOTcwNmVlYmI4Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS9iaWdfYnVmZmVyLm1v
am9tLmpzCisrKyAvZGV2L251bGwKQEAgLTEsMjYzICswLDAgQEAKLS8vIENvcHlyaWdodCAyMDE0
IFRoZSBDaHJvbWl1bSBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotLy8gVXNlIG9mIHRo
aXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZSB0aGF0IGNh
biBiZQotLy8gZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KLQotJ3VzZSBzdHJpY3QnOwotCi0o
ZnVuY3Rpb24oKSB7Ci0gIHZhciBtb2pvbUlkID0gJ21vam8vcHVibGljL21vam9tL2Jhc2UvYmln
X2J1ZmZlci5tb2pvbSc7Ci0gIGlmIChtb2pvLmludGVybmFsLmlzTW9qb21Mb2FkZWQobW9qb21J
ZCkpIHsKLSAgICBjb25zb2xlLndhcm4oJ1RoZSBmb2xsb3dpbmcgbW9qb20gaXMgbG9hZGVkIG11
bHRpcGxlIHRpbWVzOiAnICsgbW9qb21JZCk7Ci0gICAgcmV0dXJuOwotICB9Ci0gIG1vam8uaW50
ZXJuYWwubWFya01vam9tTG9hZGVkKG1vam9tSWQpOwotICB2YXIgYmluZGluZ3MgPSBtb2pvOwot
ICB2YXIgYXNzb2NpYXRlZEJpbmRpbmdzID0gbW9qbzsKLSAgdmFyIGNvZGVjID0gbW9qby5pbnRl
cm5hbDsKLSAgdmFyIHZhbGlkYXRvciA9IG1vam8uaW50ZXJuYWw7Ci0KLSAgdmFyIGV4cG9ydHMg
PSBtb2pvLmludGVybmFsLmV4cG9zZU5hbWVzcGFjZSgnbW9qb0Jhc2UubW9qb20nKTsKLQotCi0K
LSAgZnVuY3Rpb24gQmlnQnVmZmVyU2hhcmVkTWVtb3J5UmVnaW9uKHZhbHVlcykgewotICAgIHRo
aXMuaW5pdERlZmF1bHRzXygpOwotICAgIHRoaXMuaW5pdEZpZWxkc18odmFsdWVzKTsKLSAgfQot
Ci0KLSAgQmlnQnVmZmVyU2hhcmVkTWVtb3J5UmVnaW9uLnByb3RvdHlwZS5pbml0RGVmYXVsdHNf
ID0gZnVuY3Rpb24oKSB7Ci0gICAgdGhpcy5idWZmZXJIYW5kbGUgPSBudWxsOwotICAgIHRoaXMu
c2l6ZSA9IDA7Ci0gIH07Ci0gIEJpZ0J1ZmZlclNoYXJlZE1lbW9yeVJlZ2lvbi5wcm90b3R5cGUu
aW5pdEZpZWxkc18gPSBmdW5jdGlvbihmaWVsZHMpIHsKLSAgICBmb3IodmFyIGZpZWxkIGluIGZp
ZWxkcykgewotICAgICAgICBpZiAodGhpcy5oYXNPd25Qcm9wZXJ0eShmaWVsZCkpCi0gICAgICAg
ICAgdGhpc1tmaWVsZF0gPSBmaWVsZHNbZmllbGRdOwotICAgIH0KLSAgfTsKLQotICBCaWdCdWZm
ZXJTaGFyZWRNZW1vcnlSZWdpb24udmFsaWRhdGUgPSBmdW5jdGlvbihtZXNzYWdlVmFsaWRhdG9y
LCBvZmZzZXQpIHsKLSAgICB2YXIgZXJyOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFs
aWRhdGVTdHJ1Y3RIZWFkZXIob2Zmc2V0LCBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSk7Ci0gICAg
aWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1
cm4gZXJyOwotCi0gICAgdmFyIGtWZXJzaW9uU2l6ZXMgPSBbCi0gICAgICB7dmVyc2lvbjogMCwg
bnVtQnl0ZXM6IDE2fQotICAgIF07Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0
ZVN0cnVjdFZlcnNpb24ob2Zmc2V0LCBrVmVyc2lvblNpemVzKTsKLSAgICBpZiAoZXJyICE9PSB2
YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQot
ICAgIC8vIHZhbGlkYXRlIEJpZ0J1ZmZlclNoYXJlZE1lbW9yeVJlZ2lvbi5idWZmZXJIYW5kbGUK
LSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlSGFuZGxlKG9mZnNldCArIGNvZGVj
LmtTdHJ1Y3RIZWFkZXJTaXplICsgMCwgZmFsc2UpCi0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9y
LnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0KLSAgICByZXR1
cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIEJpZ0J1ZmZlclNo
YXJlZE1lbW9yeVJlZ2lvbi5lbmNvZGVkU2l6ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsg
ODsKLQotICBCaWdCdWZmZXJTaGFyZWRNZW1vcnlSZWdpb24uZGVjb2RlID0gZnVuY3Rpb24oZGVj
b2RlcikgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgdmFyIHZhbCA9IG5ldyBCaWdCdWZmZXJTaGFy
ZWRNZW1vcnlSZWdpb24oKTsKLSAgICB2YXIgbnVtYmVyT2ZCeXRlcyA9IGRlY29kZXIucmVhZFVp
bnQzMigpOwotICAgIHZhciB2ZXJzaW9uID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFs
LmJ1ZmZlckhhbmRsZSA9IGRlY29kZXIuZGVjb2RlU3RydWN0KGNvZGVjLkhhbmRsZSk7Ci0gICAg
dmFsLnNpemUgPSBkZWNvZGVyLmRlY29kZVN0cnVjdChjb2RlYy5VaW50MzIpOwotICAgIHJldHVy
biB2YWw7Ci0gIH07Ci0KLSAgQmlnQnVmZmVyU2hhcmVkTWVtb3J5UmVnaW9uLmVuY29kZSA9IGZ1
bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgZW5jb2Rlci53cml0
ZVVpbnQzMihCaWdCdWZmZXJTaGFyZWRNZW1vcnlSZWdpb24uZW5jb2RlZFNpemUpOwotICAgIGVu
Y29kZXIud3JpdGVVaW50MzIoMCk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3QoY29kZWMuSGFu
ZGxlLCB2YWwuYnVmZmVySGFuZGxlKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdChjb2RlYy5V
aW50MzIsIHZhbC5zaXplKTsKLSAgfTsKLQotICBmdW5jdGlvbiBCaWdCdWZmZXIodmFsdWUpIHsK
LSAgICB0aGlzLmluaXREZWZhdWx0XygpOwotICAgIHRoaXMuaW5pdFZhbHVlXyh2YWx1ZSk7Ci0g
IH0KLQotCi0gIEJpZ0J1ZmZlci5UYWdzID0gewotICAgIGJ5dGVzOiAwLAotICAgIHNoYXJlZE1l
bW9yeTogMSwKLSAgICBpbnZhbGlkQnVmZmVyOiAyLAotICB9OwotCi0gIEJpZ0J1ZmZlci5wcm90
b3R5cGUuaW5pdERlZmF1bHRfID0gZnVuY3Rpb24oKSB7Ci0gICAgdGhpcy4kZGF0YSA9IG51bGw7
Ci0gICAgdGhpcy4kdGFnID0gdW5kZWZpbmVkOwotICB9Ci0KLSAgQmlnQnVmZmVyLnByb3RvdHlw
ZS5pbml0VmFsdWVfID0gZnVuY3Rpb24odmFsdWUpIHsKLSAgICBpZiAodmFsdWUgPT0gdW5kZWZp
bmVkKSB7Ci0gICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgdmFyIGtleXMgPSBPYmplY3Qua2V5
cyh2YWx1ZSk7Ci0gICAgaWYgKGtleXMubGVuZ3RoID09IDApIHsKLSAgICAgIHJldHVybjsKLSAg
ICB9Ci0KLSAgICBpZiAoa2V5cy5sZW5ndGggPiAxKSB7Ci0gICAgICB0aHJvdyBuZXcgVHlwZUVy
cm9yKCJZb3UgbWF5IHNldCBvbmx5IG9uZSBtZW1iZXIgb24gYSB1bmlvbi4iKTsKLSAgICB9Ci0K
LSAgICB2YXIgZmllbGRzID0gWwotICAgICAgICAiYnl0ZXMiLAotICAgICAgICAic2hhcmVkTWVt
b3J5IiwKLSAgICAgICAgImludmFsaWRCdWZmZXIiLAotICAgIF07Ci0KLSAgICBpZiAoZmllbGRz
LmluZGV4T2Yoa2V5c1swXSkgPCAwKSB7Ci0gICAgICB0aHJvdyBuZXcgUmVmZXJlbmNlRXJyb3Io
a2V5c1swXSArICIgaXMgbm90IGEgQmlnQnVmZmVyIG1lbWJlci4iKTsKLQotICAgIH0KLQotICAg
IHRoaXNba2V5c1swXV0gPSB2YWx1ZVtrZXlzWzBdXTsKLSAgfQotICBPYmplY3QuZGVmaW5lUHJv
cGVydHkoQmlnQnVmZmVyLnByb3RvdHlwZSwgImJ5dGVzIiwgewotICAgIGdldDogZnVuY3Rpb24o
KSB7Ci0gICAgICBpZiAodGhpcy4kdGFnICE9IEJpZ0J1ZmZlci5UYWdzLmJ5dGVzKSB7Ci0gICAg
ICAgIHRocm93IG5ldyBSZWZlcmVuY2VFcnJvcigKLSAgICAgICAgICAgICJCaWdCdWZmZXIuYnl0
ZXMgaXMgbm90IGN1cnJlbnRseSBzZXQuIik7Ci0gICAgICB9Ci0gICAgICByZXR1cm4gdGhpcy4k
ZGF0YTsKLSAgICB9LAotCi0gICAgc2V0OiBmdW5jdGlvbih2YWx1ZSkgewotICAgICAgdGhpcy4k
dGFnID0gQmlnQnVmZmVyLlRhZ3MuYnl0ZXM7Ci0gICAgICB0aGlzLiRkYXRhID0gdmFsdWU7Ci0g
ICAgfQotICB9KTsKLSAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEJpZ0J1ZmZlci5wcm90b3R5cGUs
ICJzaGFyZWRNZW1vcnkiLCB7Ci0gICAgZ2V0OiBmdW5jdGlvbigpIHsKLSAgICAgIGlmICh0aGlz
LiR0YWcgIT0gQmlnQnVmZmVyLlRhZ3Muc2hhcmVkTWVtb3J5KSB7Ci0gICAgICAgIHRocm93IG5l
dyBSZWZlcmVuY2VFcnJvcigKLSAgICAgICAgICAgICJCaWdCdWZmZXIuc2hhcmVkTWVtb3J5IGlz
IG5vdCBjdXJyZW50bHkgc2V0LiIpOwotICAgICAgfQotICAgICAgcmV0dXJuIHRoaXMuJGRhdGE7
Ci0gICAgfSwKLQotICAgIHNldDogZnVuY3Rpb24odmFsdWUpIHsKLSAgICAgIHRoaXMuJHRhZyA9
IEJpZ0J1ZmZlci5UYWdzLnNoYXJlZE1lbW9yeTsKLSAgICAgIHRoaXMuJGRhdGEgPSB2YWx1ZTsK
LSAgICB9Ci0gIH0pOwotICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQmlnQnVmZmVyLnByb3RvdHlw
ZSwgImludmFsaWRCdWZmZXIiLCB7Ci0gICAgZ2V0OiBmdW5jdGlvbigpIHsKLSAgICAgIGlmICh0
aGlzLiR0YWcgIT0gQmlnQnVmZmVyLlRhZ3MuaW52YWxpZEJ1ZmZlcikgewotICAgICAgICB0aHJv
dyBuZXcgUmVmZXJlbmNlRXJyb3IoCi0gICAgICAgICAgICAiQmlnQnVmZmVyLmludmFsaWRCdWZm
ZXIgaXMgbm90IGN1cnJlbnRseSBzZXQuIik7Ci0gICAgICB9Ci0gICAgICByZXR1cm4gdGhpcy4k
ZGF0YTsKLSAgICB9LAotCi0gICAgc2V0OiBmdW5jdGlvbih2YWx1ZSkgewotICAgICAgdGhpcy4k
dGFnID0gQmlnQnVmZmVyLlRhZ3MuaW52YWxpZEJ1ZmZlcjsKLSAgICAgIHRoaXMuJGRhdGEgPSB2
YWx1ZTsKLSAgICB9Ci0gIH0pOwotCi0KLSAgICBCaWdCdWZmZXIuZW5jb2RlID0gZnVuY3Rpb24o
ZW5jb2RlciwgdmFsKSB7Ci0gICAgICBpZiAodmFsID09IG51bGwpIHsKLSAgICAgICAgZW5jb2Rl
ci53cml0ZVVpbnQ2NCgwKTsKLSAgICAgICAgZW5jb2Rlci53cml0ZVVpbnQ2NCgwKTsKLSAgICAg
ICAgcmV0dXJuOwotICAgICAgfQotICAgICAgaWYgKHZhbC4kdGFnID09IHVuZGVmaW5lZCkgewot
ICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgZW5jb2RlIHVuaW9ucyB3aXRoIGFu
IHVua25vd24gbWVtYmVyIHNldC4iKTsKLSAgICAgIH0KLQotICAgICAgZW5jb2Rlci53cml0ZVVp
bnQzMigxNik7Ci0gICAgICBlbmNvZGVyLndyaXRlVWludDMyKHZhbC4kdGFnKTsKLSAgICAgIHN3
aXRjaCAodmFsLiR0YWcpIHsKLSAgICAgICAgY2FzZSBCaWdCdWZmZXIuVGFncy5ieXRlczoKLSAg
ICAgICAgICBlbmNvZGVyLmVuY29kZUFycmF5UG9pbnRlcihjb2RlYy5VaW50OCwgdmFsLmJ5dGVz
KTsKLSAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSBCaWdCdWZmZXIuVGFncy5zaGFyZWRN
ZW1vcnk6Ci0gICAgICAgICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3RQb2ludGVyKEJpZ0J1ZmZlclNo
YXJlZE1lbW9yeVJlZ2lvbiwgdmFsLnNoYXJlZE1lbW9yeSk7Ci0gICAgICAgICAgYnJlYWs7Ci0g
ICAgICAgIGNhc2UgQmlnQnVmZmVyLlRhZ3MuaW52YWxpZEJ1ZmZlcjoKLSAgICAgICAgICBlbmNv
ZGVyLndyaXRlVWludDgodmFsLmludmFsaWRCdWZmZXIgPyAxIDogMCk7Ci0gICAgICAgICAgYnJl
YWs7Ci0gICAgICB9Ci0gICAgICBlbmNvZGVyLmFsaWduKCk7Ci0gICAgfTsKLQotCi0gICAgQmln
QnVmZmVyLmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICAgIHZhciBzaXplID0gZGVj
b2Rlci5yZWFkVWludDMyKCk7Ci0gICAgICBpZiAoc2l6ZSA9PSAwKSB7Ci0gICAgICAgIGRlY29k
ZXIucmVhZFVpbnQzMigpOwotICAgICAgICBkZWNvZGVyLnJlYWRVaW50NjQoKTsKLSAgICAgICAg
cmV0dXJuIG51bGw7Ci0gICAgICB9Ci0KLSAgICAgIHZhciByZXN1bHQgPSBuZXcgQmlnQnVmZmVy
KCk7Ci0gICAgICB2YXIgdGFnID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgICBzd2l0Y2gg
KHRhZykgewotICAgICAgICBjYXNlIEJpZ0J1ZmZlci5UYWdzLmJ5dGVzOgotICAgICAgICAgIHJl
c3VsdC5ieXRlcyA9IGRlY29kZXIuZGVjb2RlQXJyYXlQb2ludGVyKGNvZGVjLlVpbnQ4KTsKLSAg
ICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSBCaWdCdWZmZXIuVGFncy5zaGFyZWRNZW1vcnk6
Ci0gICAgICAgICAgcmVzdWx0LnNoYXJlZE1lbW9yeSA9IGRlY29kZXIuZGVjb2RlU3RydWN0UG9p
bnRlcihCaWdCdWZmZXJTaGFyZWRNZW1vcnlSZWdpb24pOwotICAgICAgICAgIGJyZWFrOwotICAg
ICAgICBjYXNlIEJpZ0J1ZmZlci5UYWdzLmludmFsaWRCdWZmZXI6Ci0gICAgICAgICAgcmVzdWx0
LmludmFsaWRCdWZmZXIgPSBkZWNvZGVyLnJlYWRVaW50OCgpID8gdHJ1ZSA6IGZhbHNlOwotICAg
ICAgICAgIGJyZWFrOwotICAgICAgfQotICAgICAgZGVjb2Rlci5hbGlnbigpOwotCi0gICAgICBy
ZXR1cm4gcmVzdWx0OwotICAgIH07Ci0KLQotICAgIEJpZ0J1ZmZlci52YWxpZGF0ZSA9IGZ1bmN0
aW9uKG1lc3NhZ2VWYWxpZGF0b3IsIG9mZnNldCkgewotICAgICAgdmFyIHNpemUgPSBtZXNzYWdl
VmFsaWRhdG9yLmRlY29kZVVuaW9uU2l6ZShvZmZzZXQpOwotICAgICAgaWYgKHNpemUgIT0gMTYp
IHsKLSAgICAgICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuSU5WQUxJRF9VTklP
Tl9TSVpFOwotICAgICAgfQotCi0gICAgICB2YXIgdGFnID0gbWVzc2FnZVZhbGlkYXRvci5kZWNv
ZGVVbmlvblRhZyhvZmZzZXQpOwotICAgICAgdmFyIGRhdGFfb2Zmc2V0ID0gb2Zmc2V0ICsgODsK
LSAgICAgIHZhciBlcnI7Ci0gICAgICBzd2l0Y2ggKHRhZykgewotICAgICAgICBjYXNlIEJpZ0J1
ZmZlci5UYWdzLmJ5dGVzOgotCi0KLSAgICAvLyB2YWxpZGF0ZSBCaWdCdWZmZXIuYnl0ZXMKLSAg
ICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlQXJyYXlQb2ludGVyKGRhdGFfb2Zmc2V0
LCAxLCBjb2RlYy5VaW50OCwgZmFsc2UsIFswXSwgMCk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRh
dG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotICAgICAgICAg
IGJyZWFrOwotICAgICAgICBjYXNlIEJpZ0J1ZmZlci5UYWdzLnNoYXJlZE1lbW9yeToKLQotCi0g
ICAgLy8gdmFsaWRhdGUgQmlnQnVmZmVyLnNoYXJlZE1lbW9yeQotICAgIGVyciA9IG1lc3NhZ2VW
YWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RQb2ludGVyKGRhdGFfb2Zmc2V0LCBCaWdCdWZmZXJTaGFy
ZWRNZW1vcnlSZWdpb24sIGZhbHNlKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRh
dGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0gICAgICAgICAgYnJlYWs7Ci0g
ICAgICAgIGNhc2UgQmlnQnVmZmVyLlRhZ3MuaW52YWxpZEJ1ZmZlcjoKLQotCi0gICAgICAgICAg
YnJlYWs7Ci0gICAgICB9Ci0KLSAgICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9y
Lk5PTkU7Ci0gICAgfTsKLQotICBCaWdCdWZmZXIuZW5jb2RlZFNpemUgPSAxNjsKLSAgZXhwb3J0
cy5CaWdCdWZmZXJTaGFyZWRNZW1vcnlSZWdpb24gPSBCaWdCdWZmZXJTaGFyZWRNZW1vcnlSZWdp
b247Ci0gIGV4cG9ydHMuQmlnQnVmZmVyID0gQmlnQnVmZmVyOwotfSkoKTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2No
cm9taXVtL2JpZ19idWZmZXIubW9qb20uanMuaGVhZGVycyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL2JpZ19idWZmZXIubW9q
b20uanMuaGVhZGVycwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmM2MWEzNGE0ZWMu
LjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL2JpZ19idWZmZXIubW9qb20uanMuaGVhZGVycworKysg
L2Rldi9udWxsCkBAIC0xICswLDAgQEAKLUNvbnRlbnQtVHlwZTogdGV4dC9qYXZhc2NyaXB0OyBj
aGFyc2V0PXV0Zi04ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21p
dW0vY29udGFjdHNfbWFuYWdlcl9tb2NrLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vY29udGFjdHNfbWFuYWdlcl9tb2Nr
LmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiYmVlNjViMGM5ZS4uMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvY2hyb21pdW0vY29udGFjdHNfbWFuYWdlcl9tb2NrLmpzCisrKyAvZGV2L251bGwKQEAg
LTEsOTAgKzAsMCBAQAotLy8gQ29weXJpZ2h0IDIwMTggVGhlIENocm9taXVtIEF1dGhvcnMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCi0vLyBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5l
ZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCi0vLyBmb3VuZCBpbiB0aGUgTElD
RU5TRSBmaWxlLgotCi0ndXNlIHN0cmljdCc7Ci0KLWNvbnN0IFdlYkNvbnRhY3RzVGVzdCA9ICgo
KSA9PiB7Ci0gIGNsYXNzIE1vY2tDb250YWN0cyB7Ci0gICAgY29uc3RydWN0b3IoKSB7Ci0gICAg
ICB0aGlzLmJpbmRpbmdTZXRfID0gbmV3IG1vam8uQmluZGluZ1NldChibGluay5tb2pvbS5Db250
YWN0c01hbmFnZXIpOwotCi0gICAgICB0aGlzLmludGVyY2VwdG9yXyA9IG5ldyBNb2pvSW50ZXJm
YWNlSW50ZXJjZXB0b3IoCi0gICAgICAgIGJsaW5rLm1vam9tLkNvbnRhY3RzTWFuYWdlci5uYW1l
LCAiY29udGV4dCIsIHRydWUpOwotICAgICAgdGhpcy5pbnRlcmNlcHRvcl8ub25pbnRlcmZhY2Vy
ZXF1ZXN0ID0KLSAgICAgICAgICBlID0+IHRoaXMuYmluZGluZ1NldF8uYWRkQmluZGluZyh0aGlz
LCBlLmhhbmRsZSk7Ci0gICAgICB0aGlzLmludGVyY2VwdG9yXy5zdGFydCgpOwotCi0gICAgICB0
aGlzLnNlbGVjdGVkQ29udGFjdHNfID0gW107Ci0gICAgfQotCi0gICAgZm9ybWF0QWRkcmVzc18o
YWRkcmVzcykgewotICAgICAgLy8gVGhlc2UgYXJlIGFsbCByZXF1aXJlZCBmaWVsZHMgaW4gdGhl
IG1vam8gZGVmaW5pdGlvbi4KLSAgICAgIHJldHVybiB7Ci0gICAgICAgIGNvdW50cnk6IGFkZHJl
c3MuY291bnRyeSB8fCAnJywKLSAgICAgICAgYWRkcmVzc0xpbmU6IGFkZHJlc3MuYWRkcmVzc0xp
bmUgfHwgW10sCi0gICAgICAgIHJlZ2lvbjogYWRkcmVzcy5yZWdpb24gfHwgJycsCi0gICAgICAg
IGNpdHk6IGFkZHJlc3MuY2l0eSB8fCAnJywKLSAgICAgICAgZGVwZW5kZW50TG9jYWxpdHk6IGFk
ZHJlc3MuZGVwZW5kZW50TG9jYWxpdHkgfHwgJycsCi0gICAgICAgIHBvc3RhbENvZGU6IGFkZHJl
c3MucG9zdENvZGUgfHwgJycsCi0gICAgICAgIHNvcnRpbmdDb2RlOiBhZGRyZXNzLnNvcnRpbmdD
b2RlIHx8ICcnLAotICAgICAgICBvcmdhbml6YXRpb246IGFkZHJlc3Mub3JnYW5pemF0aW9uIHx8
ICcnLAotICAgICAgICByZWNpcGllbnQ6IGFkZHJlc3MucmVjaXBpZW50IHx8ICcnLAotICAgICAg
ICBwaG9uZTogYWRkcmVzcy5waG9uZSB8fCAnJywKLSAgICAgIH07Ci0gICAgfQotCi0gICAgYXN5
bmMgc2VsZWN0KG11bHRpcGxlLCBpbmNsdWRlTmFtZXMsIGluY2x1ZGVFbWFpbHMsIGluY2x1ZGVU
ZWwsIGluY2x1ZGVBZGRyZXNzZXMsIGluY2x1ZGVJY29ucykgewotICAgICAgaWYgKHRoaXMuc2Vs
ZWN0ZWRDb250YWN0c18gPT09IG51bGwpCi0gICAgICAgIHJldHVybiB7Y29udGFjdHM6IG51bGx9
OwotCi0gICAgICBjb25zdCBjb250YWN0SW5mb3MgPSBhd2FpdCBQcm9taXNlLmFsbCh0aGlzLnNl
bGVjdGVkQ29udGFjdHNfLm1hcChhc3luYyBjb250YWN0ID0+IHsKLSAgICAgICAgY29uc3QgY29u
dGFjdEluZm8gPSBuZXcgYmxpbmsubW9qb20uQ29udGFjdEluZm8oKTsKLSAgICAgICAgaWYgKGlu
Y2x1ZGVOYW1lcykKLSAgICAgICAgICBjb250YWN0SW5mby5uYW1lID0gY29udGFjdC5uYW1lIHx8
IFtdOwotICAgICAgICBpZiAoaW5jbHVkZUVtYWlscykKLSAgICAgICAgICBjb250YWN0SW5mby5l
bWFpbCA9IGNvbnRhY3QuZW1haWwgfHwgW107Ci0gICAgICAgIGlmIChpbmNsdWRlVGVsKQotICAg
ICAgICAgIGNvbnRhY3RJbmZvLnRlbCA9IGNvbnRhY3QudGVsIHx8IFtdOwotICAgICAgICBpZiAo
aW5jbHVkZUFkZHJlc3NlcykgewotICAgICAgICAgIGNvbnRhY3RJbmZvLmFkZHJlc3MgPSAoY29u
dGFjdC5hZGRyZXNzIHx8IFtdKS5tYXAoYWRkcmVzcyA9PiB0aGlzLmZvcm1hdEFkZHJlc3NfKGFk
ZHJlc3MpKTsKLSAgICAgICAgfQotICAgICAgICBpZiAoaW5jbHVkZUljb25zKSB7Ci0gICAgICAg
ICAgY29udGFjdEluZm8uaWNvbiA9IGF3YWl0IFByb21pc2UuYWxsKAotICAgICAgICAgICAgKGNv
bnRhY3QuaWNvbiB8fCBbXSkubWFwKGFzeW5jIGJsb2IgPT4gKHsKLSAgICAgICAgICAgICAgbWlt
ZVR5cGU6IGJsb2IudHlwZSwKLSAgICAgICAgICAgICAgZGF0YTogKGF3YWl0IGJsb2IudGV4dCgp
KS5zcGxpdCgnJykubWFwKHMgPT4gcy5jaGFyQ29kZUF0KDApKSwKLSAgICAgICAgICAgIH0pKSk7
Ci0gICAgICAgIH0KLSAgICAgICAgcmV0dXJuIGNvbnRhY3RJbmZvOwotICAgICAgfSkpOwotCi0g
ICAgICBpZiAoIWNvbnRhY3RJbmZvcy5sZW5ndGgpIHJldHVybiB7Y29udGFjdHM6IFtdfTsKLSAg
ICAgIGlmICghbXVsdGlwbGUpIHJldHVybiB7Y29udGFjdHM6IFtjb250YWN0SW5mb3NbMF1dfTsK
LSAgICAgIHJldHVybiB7Y29udGFjdHM6IGNvbnRhY3RJbmZvc307Ci0gICAgfQotCi0gICAgc2V0
U2VsZWN0ZWRDb250YWN0cyhjb250YWN0cykgewotICAgICAgdGhpcy5zZWxlY3RlZENvbnRhY3Rz
XyA9IGNvbnRhY3RzOwotICAgIH0KLQotICAgIHJlc2V0KCkgewotICAgICAgdGhpcy5iaW5kaW5n
U2V0Xy5jbG9zZUFsbEJpbmRpbmdzKCk7Ci0gICAgICB0aGlzLmludGVyY2VwdG9yXy5zdG9wKCk7
Ci0gICAgfQotICB9Ci0KLSAgY29uc3QgbW9ja0NvbnRhY3RzID0gbmV3IE1vY2tDb250YWN0cygp
OwotCi0gIGNsYXNzIENvbnRhY3RzVGVzdENocm9taXVtIHsKLSAgICBjb25zdHJ1Y3RvcigpIHsK
LSAgICAgIE9iamVjdC5mcmVlemUodGhpcyk7IC8vIE1ha2UgaXQgaW1tdXRhYmxlLgotICAgIH0K
LQotICAgIHNldFNlbGVjdGVkQ29udGFjdHMoY29udGFjdHMpIHsKLSAgICAgIG1vY2tDb250YWN0
cy5zZXRTZWxlY3RlZENvbnRhY3RzKGNvbnRhY3RzKTsKLSAgICB9Ci0gIH0KLQotICByZXR1cm4g
Q29udGFjdHNUZXN0Q2hyb21pdW07Ci19KSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vZGV2aWNlLm1v
am9tLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvY2hyb21pdW0vZGV2aWNlLm1vam9tLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCA2NDg4Y2JjNjljMi4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vZGV2aWNlLm1vam9tLmpz
CisrKyAvZGV2L251bGwKQEAgLTEsMzc4OCArMCwwIEBACi0vLyBDb3B5cmlnaHQgMjAxNCBUaGUg
Q2hyb21pdW0gQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLS8vIFVzZSBvZiB0aGlzIHNv
dXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUK
LS8vIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCi0KLSd1c2Ugc3RyaWN0JzsKLQotKGZ1bmN0
aW9uKCkgewotICB2YXIgbW9qb21JZCA9ICdkZXZpY2UvdXNiL3B1YmxpYy9tb2pvbS9kZXZpY2Uu
bW9qb20nOwotICBpZiAobW9qby5pbnRlcm5hbC5pc01vam9tTG9hZGVkKG1vam9tSWQpKSB7Ci0g
ICAgY29uc29sZS53YXJuKCdUaGUgZm9sbG93aW5nIG1vam9tIGlzIGxvYWRlZCBtdWx0aXBsZSB0
aW1lczogJyArIG1vam9tSWQpOwotICAgIHJldHVybjsKLSAgfQotICBtb2pvLmludGVybmFsLm1h
cmtNb2pvbUxvYWRlZChtb2pvbUlkKTsKLSAgdmFyIGJpbmRpbmdzID0gbW9qbzsKLSAgdmFyIGFz
c29jaWF0ZWRCaW5kaW5ncyA9IG1vam87Ci0gIHZhciBjb2RlYyA9IG1vam8uaW50ZXJuYWw7Ci0g
IHZhciB2YWxpZGF0b3IgPSBtb2pvLmludGVybmFsOwotCi0gIHZhciBleHBvcnRzID0gbW9qby5p
bnRlcm5hbC5leHBvc2VOYW1lc3BhY2UoJ2RldmljZS5tb2pvbScpOwotICB2YXIgc3RyaW5nMTYk
ID0KLSAgICAgIG1vam8uaW50ZXJuYWwuZXhwb3NlTmFtZXNwYWNlKCdtb2pvQmFzZS5tb2pvbScp
OwotICBpZiAobW9qby5jb25maWcuYXV0b0xvYWRNb2pvbURlcHMpIHsKLSAgICBtb2pvLmludGVy
bmFsLmxvYWRNb2pvbUlmTmVjZXNzYXJ5KAotICAgICAgICAnbW9qby9wdWJsaWMvbW9qb20vYmFz
ZS9zdHJpbmcxNi5tb2pvbScsICcuLi8uLi8uLi8uLi9tb2pvL3B1YmxpYy9tb2pvbS9iYXNlL3N0
cmluZzE2Lm1vam9tLmpzJyk7Ci0gIH0KLSAgdmFyIHVybCQgPQotICAgICAgbW9qby5pbnRlcm5h
bC5leHBvc2VOYW1lc3BhY2UoJ3VybC5tb2pvbScpOwotICBpZiAobW9qby5jb25maWcuYXV0b0xv
YWRNb2pvbURlcHMpIHsKLSAgICBtb2pvLmludGVybmFsLmxvYWRNb2pvbUlmTmVjZXNzYXJ5KAot
ICAgICAgICAndXJsL21vam9tL3VybC5tb2pvbScsICcuLi8uLi8uLi8uLi91cmwvbW9qb20vdXJs
Lm1vam9tLmpzJyk7Ci0gIH0KLQotCi0gIHZhciBVc2JPcGVuRGV2aWNlRXJyb3IgPSB7fTsKLSAg
VXNiT3BlbkRldmljZUVycm9yLk9LID0gMDsKLSAgVXNiT3BlbkRldmljZUVycm9yLkFDQ0VTU19E
RU5JRUQgPSBVc2JPcGVuRGV2aWNlRXJyb3IuT0sgKyAxOwotICBVc2JPcGVuRGV2aWNlRXJyb3Iu
QUxSRUFEWV9PUEVOID0gVXNiT3BlbkRldmljZUVycm9yLkFDQ0VTU19ERU5JRUQgKyAxOwotICBV
c2JPcGVuRGV2aWNlRXJyb3IuTUlOX1ZBTFVFID0gMCwKLSAgVXNiT3BlbkRldmljZUVycm9yLk1B
WF9WQUxVRSA9IDIsCi0KLSAgVXNiT3BlbkRldmljZUVycm9yLmlzS25vd25FbnVtVmFsdWUgPSBm
dW5jdGlvbih2YWx1ZSkgewotICAgIHN3aXRjaCAodmFsdWUpIHsKLSAgICBjYXNlIDA6Ci0gICAg
Y2FzZSAxOgotICAgIGNhc2UgMjoKLSAgICAgIHJldHVybiB0cnVlOwotICAgIH0KLSAgICByZXR1
cm4gZmFsc2U7Ci0gIH07Ci0KLSAgVXNiT3BlbkRldmljZUVycm9yLnZhbGlkYXRlID0gZnVuY3Rp
b24oZW51bVZhbHVlKSB7Ci0gICAgdmFyIGlzRXh0ZW5zaWJsZSA9IGZhbHNlOwotICAgIGlmIChp
c0V4dGVuc2libGUgfHwgdGhpcy5pc0tub3duRW51bVZhbHVlKGVudW1WYWx1ZSkpCi0gICAgICBy
ZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwotCi0gICAgcmV0dXJuIHZhbGlk
YXRvci52YWxpZGF0aW9uRXJyb3IuVU5LTk9XTl9FTlVNX1ZBTFVFOwotICB9OwotICB2YXIgVXNi
VHJhbnNmZXJEaXJlY3Rpb24gPSB7fTsKLSAgVXNiVHJhbnNmZXJEaXJlY3Rpb24uSU5CT1VORCA9
IDA7Ci0gIFVzYlRyYW5zZmVyRGlyZWN0aW9uLk9VVEJPVU5EID0gVXNiVHJhbnNmZXJEaXJlY3Rp
b24uSU5CT1VORCArIDE7Ci0gIFVzYlRyYW5zZmVyRGlyZWN0aW9uLk1JTl9WQUxVRSA9IDAsCi0g
IFVzYlRyYW5zZmVyRGlyZWN0aW9uLk1BWF9WQUxVRSA9IDEsCi0KLSAgVXNiVHJhbnNmZXJEaXJl
Y3Rpb24uaXNLbm93bkVudW1WYWx1ZSA9IGZ1bmN0aW9uKHZhbHVlKSB7Ci0gICAgc3dpdGNoICh2
YWx1ZSkgewotICAgIGNhc2UgMDoKLSAgICBjYXNlIDE6Ci0gICAgICByZXR1cm4gdHJ1ZTsKLSAg
ICB9Ci0gICAgcmV0dXJuIGZhbHNlOwotICB9OwotCi0gIFVzYlRyYW5zZmVyRGlyZWN0aW9uLnZh
bGlkYXRlID0gZnVuY3Rpb24oZW51bVZhbHVlKSB7Ci0gICAgdmFyIGlzRXh0ZW5zaWJsZSA9IGZh
bHNlOwotICAgIGlmIChpc0V4dGVuc2libGUgfHwgdGhpcy5pc0tub3duRW51bVZhbHVlKGVudW1W
YWx1ZSkpCi0gICAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwotCi0g
ICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuVU5LTk9XTl9FTlVNX1ZBTFVFOwot
ICB9OwotICB2YXIgVXNiQ29udHJvbFRyYW5zZmVyVHlwZSA9IHt9OwotICBVc2JDb250cm9sVHJh
bnNmZXJUeXBlLlNUQU5EQVJEID0gMDsKLSAgVXNiQ29udHJvbFRyYW5zZmVyVHlwZS5DTEFTUyA9
IFVzYkNvbnRyb2xUcmFuc2ZlclR5cGUuU1RBTkRBUkQgKyAxOwotICBVc2JDb250cm9sVHJhbnNm
ZXJUeXBlLlZFTkRPUiA9IFVzYkNvbnRyb2xUcmFuc2ZlclR5cGUuQ0xBU1MgKyAxOwotICBVc2JD
b250cm9sVHJhbnNmZXJUeXBlLlJFU0VSVkVEID0gVXNiQ29udHJvbFRyYW5zZmVyVHlwZS5WRU5E
T1IgKyAxOwotICBVc2JDb250cm9sVHJhbnNmZXJUeXBlLk1JTl9WQUxVRSA9IDAsCi0gIFVzYkNv
bnRyb2xUcmFuc2ZlclR5cGUuTUFYX1ZBTFVFID0gMywKLQotICBVc2JDb250cm9sVHJhbnNmZXJU
eXBlLmlzS25vd25FbnVtVmFsdWUgPSBmdW5jdGlvbih2YWx1ZSkgewotICAgIHN3aXRjaCAodmFs
dWUpIHsKLSAgICBjYXNlIDA6Ci0gICAgY2FzZSAxOgotICAgIGNhc2UgMjoKLSAgICBjYXNlIDM6
Ci0gICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9Ci0gICAgcmV0dXJuIGZhbHNlOwotICB9OwotCi0g
IFVzYkNvbnRyb2xUcmFuc2ZlclR5cGUudmFsaWRhdGUgPSBmdW5jdGlvbihlbnVtVmFsdWUpIHsK
LSAgICB2YXIgaXNFeHRlbnNpYmxlID0gZmFsc2U7Ci0gICAgaWYgKGlzRXh0ZW5zaWJsZSB8fCB0
aGlzLmlzS25vd25FbnVtVmFsdWUoZW51bVZhbHVlKSkKLSAgICAgIHJldHVybiB2YWxpZGF0b3Iu
dmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0KLSAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25F
cnJvci5VTktOT1dOX0VOVU1fVkFMVUU7Ci0gIH07Ci0gIHZhciBVc2JDb250cm9sVHJhbnNmZXJS
ZWNpcGllbnQgPSB7fTsKLSAgVXNiQ29udHJvbFRyYW5zZmVyUmVjaXBpZW50LkRFVklDRSA9IDA7
Ci0gIFVzYkNvbnRyb2xUcmFuc2ZlclJlY2lwaWVudC5JTlRFUkZBQ0UgPSBVc2JDb250cm9sVHJh
bnNmZXJSZWNpcGllbnQuREVWSUNFICsgMTsKLSAgVXNiQ29udHJvbFRyYW5zZmVyUmVjaXBpZW50
LkVORFBPSU5UID0gVXNiQ29udHJvbFRyYW5zZmVyUmVjaXBpZW50LklOVEVSRkFDRSArIDE7Ci0g
IFVzYkNvbnRyb2xUcmFuc2ZlclJlY2lwaWVudC5PVEhFUiA9IFVzYkNvbnRyb2xUcmFuc2ZlclJl
Y2lwaWVudC5FTkRQT0lOVCArIDE7Ci0gIFVzYkNvbnRyb2xUcmFuc2ZlclJlY2lwaWVudC5NSU5f
VkFMVUUgPSAwLAotICBVc2JDb250cm9sVHJhbnNmZXJSZWNpcGllbnQuTUFYX1ZBTFVFID0gMywK
LQotICBVc2JDb250cm9sVHJhbnNmZXJSZWNpcGllbnQuaXNLbm93bkVudW1WYWx1ZSA9IGZ1bmN0
aW9uKHZhbHVlKSB7Ci0gICAgc3dpdGNoICh2YWx1ZSkgewotICAgIGNhc2UgMDoKLSAgICBjYXNl
IDE6Ci0gICAgY2FzZSAyOgotICAgIGNhc2UgMzoKLSAgICAgIHJldHVybiB0cnVlOwotICAgIH0K
LSAgICByZXR1cm4gZmFsc2U7Ci0gIH07Ci0KLSAgVXNiQ29udHJvbFRyYW5zZmVyUmVjaXBpZW50
LnZhbGlkYXRlID0gZnVuY3Rpb24oZW51bVZhbHVlKSB7Ci0gICAgdmFyIGlzRXh0ZW5zaWJsZSA9
IGZhbHNlOwotICAgIGlmIChpc0V4dGVuc2libGUgfHwgdGhpcy5pc0tub3duRW51bVZhbHVlKGVu
dW1WYWx1ZSkpCi0gICAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwot
Ci0gICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuVU5LTk9XTl9FTlVNX1ZBTFVF
OwotICB9OwotICB2YXIgVXNiVHJhbnNmZXJUeXBlID0ge307Ci0gIFVzYlRyYW5zZmVyVHlwZS5D
T05UUk9MID0gMDsKLSAgVXNiVHJhbnNmZXJUeXBlLklTT0NIUk9OT1VTID0gVXNiVHJhbnNmZXJU
eXBlLkNPTlRST0wgKyAxOwotICBVc2JUcmFuc2ZlclR5cGUuQlVMSyA9IFVzYlRyYW5zZmVyVHlw
ZS5JU09DSFJPTk9VUyArIDE7Ci0gIFVzYlRyYW5zZmVyVHlwZS5JTlRFUlJVUFQgPSBVc2JUcmFu
c2ZlclR5cGUuQlVMSyArIDE7Ci0gIFVzYlRyYW5zZmVyVHlwZS5NSU5fVkFMVUUgPSAwLAotICBV
c2JUcmFuc2ZlclR5cGUuTUFYX1ZBTFVFID0gMywKLQotICBVc2JUcmFuc2ZlclR5cGUuaXNLbm93
bkVudW1WYWx1ZSA9IGZ1bmN0aW9uKHZhbHVlKSB7Ci0gICAgc3dpdGNoICh2YWx1ZSkgewotICAg
IGNhc2UgMDoKLSAgICBjYXNlIDE6Ci0gICAgY2FzZSAyOgotICAgIGNhc2UgMzoKLSAgICAgIHJl
dHVybiB0cnVlOwotICAgIH0KLSAgICByZXR1cm4gZmFsc2U7Ci0gIH07Ci0KLSAgVXNiVHJhbnNm
ZXJUeXBlLnZhbGlkYXRlID0gZnVuY3Rpb24oZW51bVZhbHVlKSB7Ci0gICAgdmFyIGlzRXh0ZW5z
aWJsZSA9IGZhbHNlOwotICAgIGlmIChpc0V4dGVuc2libGUgfHwgdGhpcy5pc0tub3duRW51bVZh
bHVlKGVudW1WYWx1ZSkpCi0gICAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5O
T05FOwotCi0gICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuVU5LTk9XTl9FTlVN
X1ZBTFVFOwotICB9OwotICB2YXIgVXNiU3luY2hyb25pemF0aW9uVHlwZSA9IHt9OwotICBVc2JT
eW5jaHJvbml6YXRpb25UeXBlLk5PTkUgPSAwOwotICBVc2JTeW5jaHJvbml6YXRpb25UeXBlLkFT
WU5DSFJPTk9VUyA9IFVzYlN5bmNocm9uaXphdGlvblR5cGUuTk9ORSArIDE7Ci0gIFVzYlN5bmNo
cm9uaXphdGlvblR5cGUuQURBUFRJVkUgPSBVc2JTeW5jaHJvbml6YXRpb25UeXBlLkFTWU5DSFJP
Tk9VUyArIDE7Ci0gIFVzYlN5bmNocm9uaXphdGlvblR5cGUuU1lOQ0hST05PVVMgPSBVc2JTeW5j
aHJvbml6YXRpb25UeXBlLkFEQVBUSVZFICsgMTsKLSAgVXNiU3luY2hyb25pemF0aW9uVHlwZS5N
SU5fVkFMVUUgPSAwLAotICBVc2JTeW5jaHJvbml6YXRpb25UeXBlLk1BWF9WQUxVRSA9IDMsCi0K
LSAgVXNiU3luY2hyb25pemF0aW9uVHlwZS5pc0tub3duRW51bVZhbHVlID0gZnVuY3Rpb24odmFs
dWUpIHsKLSAgICBzd2l0Y2ggKHZhbHVlKSB7Ci0gICAgY2FzZSAwOgotICAgIGNhc2UgMToKLSAg
ICBjYXNlIDI6Ci0gICAgY2FzZSAzOgotICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfQotICAgIHJl
dHVybiBmYWxzZTsKLSAgfTsKLQotICBVc2JTeW5jaHJvbml6YXRpb25UeXBlLnZhbGlkYXRlID0g
ZnVuY3Rpb24oZW51bVZhbHVlKSB7Ci0gICAgdmFyIGlzRXh0ZW5zaWJsZSA9IGZhbHNlOwotICAg
IGlmIChpc0V4dGVuc2libGUgfHwgdGhpcy5pc0tub3duRW51bVZhbHVlKGVudW1WYWx1ZSkpCi0g
ICAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwotCi0gICAgcmV0dXJu
IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuVU5LTk9XTl9FTlVNX1ZBTFVFOwotICB9OwotICB2
YXIgVXNiVXNhZ2VUeXBlID0ge307Ci0gIFVzYlVzYWdlVHlwZS5EQVRBID0gMDsKLSAgVXNiVXNh
Z2VUeXBlLkZFRURCQUNLID0gVXNiVXNhZ2VUeXBlLkRBVEEgKyAxOwotICBVc2JVc2FnZVR5cGUu
RVhQTElDSVRfRkVFREJBQ0sgPSBVc2JVc2FnZVR5cGUuRkVFREJBQ0sgKyAxOwotICBVc2JVc2Fn
ZVR5cGUuUEVSSU9ESUMgPSBVc2JVc2FnZVR5cGUuRVhQTElDSVRfRkVFREJBQ0sgKyAxOwotICBV
c2JVc2FnZVR5cGUuTk9USUZJQ0FUSU9OID0gVXNiVXNhZ2VUeXBlLlBFUklPRElDICsgMTsKLSAg
VXNiVXNhZ2VUeXBlLlJFU0VSVkVEID0gVXNiVXNhZ2VUeXBlLk5PVElGSUNBVElPTiArIDE7Ci0g
IFVzYlVzYWdlVHlwZS5NSU5fVkFMVUUgPSAwLAotICBVc2JVc2FnZVR5cGUuTUFYX1ZBTFVFID0g
NSwKLQotICBVc2JVc2FnZVR5cGUuaXNLbm93bkVudW1WYWx1ZSA9IGZ1bmN0aW9uKHZhbHVlKSB7
Ci0gICAgc3dpdGNoICh2YWx1ZSkgewotICAgIGNhc2UgMDoKLSAgICBjYXNlIDE6Ci0gICAgY2Fz
ZSAyOgotICAgIGNhc2UgMzoKLSAgICBjYXNlIDQ6Ci0gICAgY2FzZSA1OgotICAgICAgcmV0dXJu
IHRydWU7Ci0gICAgfQotICAgIHJldHVybiBmYWxzZTsKLSAgfTsKLQotICBVc2JVc2FnZVR5cGUu
dmFsaWRhdGUgPSBmdW5jdGlvbihlbnVtVmFsdWUpIHsKLSAgICB2YXIgaXNFeHRlbnNpYmxlID0g
ZmFsc2U7Ci0gICAgaWYgKGlzRXh0ZW5zaWJsZSB8fCB0aGlzLmlzS25vd25FbnVtVmFsdWUoZW51
bVZhbHVlKSkKLSAgICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0K
LSAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5VTktOT1dOX0VOVU1fVkFMVUU7
Ci0gIH07Ci0gIHZhciBVc2JUcmFuc2ZlclN0YXR1cyA9IHt9OwotICBVc2JUcmFuc2ZlclN0YXR1
cy5DT01QTEVURUQgPSAwOwotICBVc2JUcmFuc2ZlclN0YXR1cy5UUkFOU0ZFUl9FUlJPUiA9IFVz
YlRyYW5zZmVyU3RhdHVzLkNPTVBMRVRFRCArIDE7Ci0gIFVzYlRyYW5zZmVyU3RhdHVzLlRJTUVP
VVQgPSBVc2JUcmFuc2ZlclN0YXR1cy5UUkFOU0ZFUl9FUlJPUiArIDE7Ci0gIFVzYlRyYW5zZmVy
U3RhdHVzLkNBTkNFTExFRCA9IFVzYlRyYW5zZmVyU3RhdHVzLlRJTUVPVVQgKyAxOwotICBVc2JU
cmFuc2ZlclN0YXR1cy5TVEFMTEVEID0gVXNiVHJhbnNmZXJTdGF0dXMuQ0FOQ0VMTEVEICsgMTsK
LSAgVXNiVHJhbnNmZXJTdGF0dXMuRElTQ09OTkVDVCA9IFVzYlRyYW5zZmVyU3RhdHVzLlNUQUxM
RUQgKyAxOwotICBVc2JUcmFuc2ZlclN0YXR1cy5CQUJCTEUgPSBVc2JUcmFuc2ZlclN0YXR1cy5E
SVNDT05ORUNUICsgMTsKLSAgVXNiVHJhbnNmZXJTdGF0dXMuU0hPUlRfUEFDS0VUID0gVXNiVHJh
bnNmZXJTdGF0dXMuQkFCQkxFICsgMTsKLSAgVXNiVHJhbnNmZXJTdGF0dXMuUEVSTUlTU0lPTl9E
RU5JRUQgPSBVc2JUcmFuc2ZlclN0YXR1cy5TSE9SVF9QQUNLRVQgKyAxOwotICBVc2JUcmFuc2Zl
clN0YXR1cy5NSU5fVkFMVUUgPSAwLAotICBVc2JUcmFuc2ZlclN0YXR1cy5NQVhfVkFMVUUgPSA4
LAotCi0gIFVzYlRyYW5zZmVyU3RhdHVzLmlzS25vd25FbnVtVmFsdWUgPSBmdW5jdGlvbih2YWx1
ZSkgewotICAgIHN3aXRjaCAodmFsdWUpIHsKLSAgICBjYXNlIDA6Ci0gICAgY2FzZSAxOgotICAg
IGNhc2UgMjoKLSAgICBjYXNlIDM6Ci0gICAgY2FzZSA0OgotICAgIGNhc2UgNToKLSAgICBjYXNl
IDY6Ci0gICAgY2FzZSA3OgotICAgIGNhc2UgODoKLSAgICAgIHJldHVybiB0cnVlOwotICAgIH0K
LSAgICByZXR1cm4gZmFsc2U7Ci0gIH07Ci0KLSAgVXNiVHJhbnNmZXJTdGF0dXMudmFsaWRhdGUg
PSBmdW5jdGlvbihlbnVtVmFsdWUpIHsKLSAgICB2YXIgaXNFeHRlbnNpYmxlID0gZmFsc2U7Ci0g
ICAgaWYgKGlzRXh0ZW5zaWJsZSB8fCB0aGlzLmlzS25vd25FbnVtVmFsdWUoZW51bVZhbHVlKSkK
LSAgICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0KLSAgICByZXR1
cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5VTktOT1dOX0VOVU1fVkFMVUU7Ci0gIH07Ci0K
LSAgZnVuY3Rpb24gVXNiRW5kcG9pbnRJbmZvKHZhbHVlcykgewotICAgIHRoaXMuaW5pdERlZmF1
bHRzXygpOwotICAgIHRoaXMuaW5pdEZpZWxkc18odmFsdWVzKTsKLSAgfQotCi0KLSAgVXNiRW5k
cG9pbnRJbmZvLnByb3RvdHlwZS5pbml0RGVmYXVsdHNfID0gZnVuY3Rpb24oKSB7Ci0gICAgdGhp
cy5lbmRwb2ludE51bWJlciA9IDA7Ci0gICAgdGhpcy5wb2xsaW5nSW50ZXJ2YWwgPSAwOwotICAg
IHRoaXMuZGlyZWN0aW9uID0gMDsKLSAgICB0aGlzLnR5cGUgPSAwOwotICAgIHRoaXMucGFja2V0
U2l6ZSA9IDA7Ci0gICAgdGhpcy5zeW5jaHJvbml6YXRpb25UeXBlID0gMDsKLSAgICB0aGlzLnVz
YWdlVHlwZSA9IDA7Ci0gICAgdGhpcy5leHRyYURhdGEgPSBudWxsOwotICB9OwotICBVc2JFbmRw
b2ludEluZm8ucHJvdG90eXBlLmluaXRGaWVsZHNfID0gZnVuY3Rpb24oZmllbGRzKSB7Ci0gICAg
Zm9yKHZhciBmaWVsZCBpbiBmaWVsZHMpIHsKLSAgICAgICAgaWYgKHRoaXMuaGFzT3duUHJvcGVy
dHkoZmllbGQpKQotICAgICAgICAgIHRoaXNbZmllbGRdID0gZmllbGRzW2ZpZWxkXTsKLSAgICB9
Ci0gIH07Ci0KLSAgVXNiRW5kcG9pbnRJbmZvLnZhbGlkYXRlID0gZnVuY3Rpb24obWVzc2FnZVZh
bGlkYXRvciwgb2Zmc2V0KSB7Ci0gICAgdmFyIGVycjsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRh
dG9yLnZhbGlkYXRlU3RydWN0SGVhZGVyKG9mZnNldCwgY29kZWMua1N0cnVjdEhlYWRlclNpemUp
OwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAg
ICAgcmV0dXJuIGVycjsKLQotICAgIHZhciBrVmVyc2lvblNpemVzID0gWwotICAgICAge3ZlcnNp
b246IDAsIG51bUJ5dGVzOiA0MH0KLSAgICBdOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3Iu
dmFsaWRhdGVTdHJ1Y3RWZXJzaW9uKG9mZnNldCwga1ZlcnNpb25TaXplcyk7Ci0gICAgaWYgKGVy
ciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJy
OwotCi0KLQotICAgIC8vIHZhbGlkYXRlIFVzYkVuZHBvaW50SW5mby5kaXJlY3Rpb24KLSAgICBl
cnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlRW51bShvZmZzZXQgKyBjb2RlYy5rU3RydWN0
SGVhZGVyU2l6ZSArIDQsIFVzYlRyYW5zZmVyRGlyZWN0aW9uKTsKLSAgICBpZiAoZXJyICE9PSB2
YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQot
ICAgIC8vIHZhbGlkYXRlIFVzYkVuZHBvaW50SW5mby50eXBlCi0gICAgZXJyID0gbWVzc2FnZVZh
bGlkYXRvci52YWxpZGF0ZUVudW0ob2Zmc2V0ICsgY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyA4
LCBVc2JUcmFuc2ZlclR5cGUpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9u
RXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0KLSAgICAvLyB2YWxpZGF0ZSBV
c2JFbmRwb2ludEluZm8uc3luY2hyb25pemF0aW9uVHlwZQotICAgIGVyciA9IG1lc3NhZ2VWYWxp
ZGF0b3IudmFsaWRhdGVFbnVtKG9mZnNldCArIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgMTYs
IFVzYlN5bmNocm9uaXphdGlvblR5cGUpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxp
ZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0gICAgLy8gdmFsaWRh
dGUgVXNiRW5kcG9pbnRJbmZvLnVzYWdlVHlwZQotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3Iu
dmFsaWRhdGVFbnVtKG9mZnNldCArIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgMjAsIFVzYlVz
YWdlVHlwZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05F
KQotICAgICAgICByZXR1cm4gZXJyOwotCi0KLQotICAgIC8vIHZhbGlkYXRlIFVzYkVuZHBvaW50
SW5mby5leHRyYURhdGEKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlQXJyYXlQ
b2ludGVyKG9mZnNldCArIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgMjQsIDEsIGNvZGVjLlVp
bnQ4LCBmYWxzZSwgWzBdLCAwKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlv
bkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICByZXR1cm4gdmFsaWRhdG9y
LnZhbGlkYXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIFVzYkVuZHBvaW50SW5mby5lbmNvZGVk
U2l6ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgMzI7Ci0KLSAgVXNiRW5kcG9pbnRJbmZv
LmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIHZhciB2
YWwgPSBuZXcgVXNiRW5kcG9pbnRJbmZvKCk7Ci0gICAgdmFyIG51bWJlck9mQnl0ZXMgPSBkZWNv
ZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YXIgdmVyc2lvbiA9IGRlY29kZXIucmVhZFVpbnQzMigp
OwotICAgIHZhbC5lbmRwb2ludE51bWJlciA9IGRlY29kZXIuZGVjb2RlU3RydWN0KGNvZGVjLlVp
bnQ4KTsKLSAgICB2YWwucG9sbGluZ0ludGVydmFsID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoY29k
ZWMuVWludDgpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0g
ICAgdmFsLmRpcmVjdGlvbiA9IGRlY29kZXIuZGVjb2RlU3RydWN0KGNvZGVjLkludDMyKTsKLSAg
ICB2YWwudHlwZSA9IGRlY29kZXIuZGVjb2RlU3RydWN0KGNvZGVjLkludDMyKTsKLSAgICB2YWwu
cGFja2V0U2l6ZSA9IGRlY29kZXIuZGVjb2RlU3RydWN0KGNvZGVjLlVpbnQzMik7Ci0gICAgdmFs
LnN5bmNocm9uaXphdGlvblR5cGUgPSBkZWNvZGVyLmRlY29kZVN0cnVjdChjb2RlYy5JbnQzMik7
Ci0gICAgdmFsLnVzYWdlVHlwZSA9IGRlY29kZXIuZGVjb2RlU3RydWN0KGNvZGVjLkludDMyKTsK
LSAgICB2YWwuZXh0cmFEYXRhID0gZGVjb2Rlci5kZWNvZGVBcnJheVBvaW50ZXIoY29kZWMuVWlu
dDgpOwotICAgIHJldHVybiB2YWw7Ci0gIH07Ci0KLSAgVXNiRW5kcG9pbnRJbmZvLmVuY29kZSA9
IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgZW5jb2Rlci53
cml0ZVVpbnQzMihVc2JFbmRwb2ludEluZm8uZW5jb2RlZFNpemUpOwotICAgIGVuY29kZXIud3Jp
dGVVaW50MzIoMCk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3QoY29kZWMuVWludDgsIHZhbC5l
bmRwb2ludE51bWJlcik7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3QoY29kZWMuVWludDgsIHZh
bC5wb2xsaW5nSW50ZXJ2YWwpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNr
aXAoMSk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3QoY29kZWMuSW50MzIsIHZhbC5kaXJlY3Rp
b24pOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNvZGVjLkludDMyLCB2YWwudHlwZSk7Ci0g
ICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3QoY29kZWMuVWludDMyLCB2YWwucGFja2V0U2l6ZSk7Ci0g
ICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3QoY29kZWMuSW50MzIsIHZhbC5zeW5jaHJvbml6YXRpb25U
eXBlKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdChjb2RlYy5JbnQzMiwgdmFsLnVzYWdlVHlw
ZSk7Ci0gICAgZW5jb2Rlci5lbmNvZGVBcnJheVBvaW50ZXIoY29kZWMuVWludDgsIHZhbC5leHRy
YURhdGEpOwotICB9OwotICBmdW5jdGlvbiBVc2JBbHRlcm5hdGVJbnRlcmZhY2VJbmZvKHZhbHVl
cykgewotICAgIHRoaXMuaW5pdERlZmF1bHRzXygpOwotICAgIHRoaXMuaW5pdEZpZWxkc18odmFs
dWVzKTsKLSAgfQotCi0KLSAgVXNiQWx0ZXJuYXRlSW50ZXJmYWNlSW5mby5wcm90b3R5cGUuaW5p
dERlZmF1bHRzXyA9IGZ1bmN0aW9uKCkgewotICAgIHRoaXMuYWx0ZXJuYXRlU2V0dGluZyA9IDA7
Ci0gICAgdGhpcy5jbGFzc0NvZGUgPSAwOwotICAgIHRoaXMuc3ViY2xhc3NDb2RlID0gMDsKLSAg
ICB0aGlzLnByb3RvY29sQ29kZSA9IDA7Ci0gICAgdGhpcy5pbnRlcmZhY2VOYW1lID0gbnVsbDsK
LSAgICB0aGlzLmVuZHBvaW50cyA9IG51bGw7Ci0gICAgdGhpcy5leHRyYURhdGEgPSBudWxsOwot
ICB9OwotICBVc2JBbHRlcm5hdGVJbnRlcmZhY2VJbmZvLnByb3RvdHlwZS5pbml0RmllbGRzXyA9
IGZ1bmN0aW9uKGZpZWxkcykgewotICAgIGZvcih2YXIgZmllbGQgaW4gZmllbGRzKSB7Ci0gICAg
ICAgIGlmICh0aGlzLmhhc093blByb3BlcnR5KGZpZWxkKSkKLSAgICAgICAgICB0aGlzW2ZpZWxk
XSA9IGZpZWxkc1tmaWVsZF07Ci0gICAgfQotICB9OwotCi0gIFVzYkFsdGVybmF0ZUludGVyZmFj
ZUluZm8udmFsaWRhdGUgPSBmdW5jdGlvbihtZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsKLSAg
ICB2YXIgZXJyOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RIZWFk
ZXIob2Zmc2V0LCBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFs
aWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAg
dmFyIGtWZXJzaW9uU2l6ZXMgPSBbCi0gICAgICB7dmVyc2lvbjogMCwgbnVtQnl0ZXM6IDQwfQot
ICAgIF07Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFZlcnNpb24o
b2Zmc2V0LCBrVmVyc2lvblNpemVzKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRh
dGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotCi0KLQotCi0gICAgLy8g
dmFsaWRhdGUgVXNiQWx0ZXJuYXRlSW50ZXJmYWNlSW5mby5pbnRlcmZhY2VOYW1lCi0gICAgZXJy
ID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFBvaW50ZXIob2Zmc2V0ICsgY29kZWMu
a1N0cnVjdEhlYWRlclNpemUgKyA4LCBzdHJpbmcxNiQuU3RyaW5nMTYsIHRydWUpOwotICAgIGlm
IChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJu
IGVycjsKLQotCi0gICAgLy8gdmFsaWRhdGUgVXNiQWx0ZXJuYXRlSW50ZXJmYWNlSW5mby5lbmRw
b2ludHMKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlQXJyYXlQb2ludGVyKG9m
ZnNldCArIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgMTYsIDgsIG5ldyBjb2RlYy5Qb2ludGVy
VG8oVXNiRW5kcG9pbnRJbmZvKSwgZmFsc2UsIFswXSwgMCk7Ci0gICAgaWYgKGVyciAhPT0gdmFs
aWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0KLSAg
ICAvLyB2YWxpZGF0ZSBVc2JBbHRlcm5hdGVJbnRlcmZhY2VJbmZvLmV4dHJhRGF0YQotICAgIGVy
ciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVBcnJheVBvaW50ZXIob2Zmc2V0ICsgY29kZWMu
a1N0cnVjdEhlYWRlclNpemUgKyAyNCwgMSwgY29kZWMuVWludDgsIGZhbHNlLCBbMF0sIDApOwot
ICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAg
cmV0dXJuIGVycjsKLQotICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7
Ci0gIH07Ci0KLSAgVXNiQWx0ZXJuYXRlSW50ZXJmYWNlSW5mby5lbmNvZGVkU2l6ZSA9IGNvZGVj
LmtTdHJ1Y3RIZWFkZXJTaXplICsgMzI7Ci0KLSAgVXNiQWx0ZXJuYXRlSW50ZXJmYWNlSW5mby5k
ZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICB2YXIgdmFs
ID0gbmV3IFVzYkFsdGVybmF0ZUludGVyZmFjZUluZm8oKTsKLSAgICB2YXIgbnVtYmVyT2ZCeXRl
cyA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhciB2ZXJzaW9uID0gZGVjb2Rlci5yZWFk
VWludDMyKCk7Ci0gICAgdmFsLmFsdGVybmF0ZVNldHRpbmcgPSBkZWNvZGVyLmRlY29kZVN0cnVj
dChjb2RlYy5VaW50OCk7Ci0gICAgdmFsLmNsYXNzQ29kZSA9IGRlY29kZXIuZGVjb2RlU3RydWN0
KGNvZGVjLlVpbnQ4KTsKLSAgICB2YWwuc3ViY2xhc3NDb2RlID0gZGVjb2Rlci5kZWNvZGVTdHJ1
Y3QoY29kZWMuVWludDgpOwotICAgIHZhbC5wcm90b2NvbENvZGUgPSBkZWNvZGVyLmRlY29kZVN0
cnVjdChjb2RlYy5VaW50OCk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tp
cCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIHZh
bC5pbnRlcmZhY2VOYW1lID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3RQb2ludGVyKHN0cmluZzE2JC5T
dHJpbmcxNik7Ci0gICAgdmFsLmVuZHBvaW50cyA9IGRlY29kZXIuZGVjb2RlQXJyYXlQb2ludGVy
KG5ldyBjb2RlYy5Qb2ludGVyVG8oVXNiRW5kcG9pbnRJbmZvKSk7Ci0gICAgdmFsLmV4dHJhRGF0
YSA9IGRlY29kZXIuZGVjb2RlQXJyYXlQb2ludGVyKGNvZGVjLlVpbnQ4KTsKLSAgICByZXR1cm4g
dmFsOwotICB9OwotCi0gIFVzYkFsdGVybmF0ZUludGVyZmFjZUluZm8uZW5jb2RlID0gZnVuY3Rp
b24oZW5jb2RlciwgdmFsKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICBlbmNvZGVyLndyaXRlVWlu
dDMyKFVzYkFsdGVybmF0ZUludGVyZmFjZUluZm8uZW5jb2RlZFNpemUpOwotICAgIGVuY29kZXIu
d3JpdGVVaW50MzIoMCk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3QoY29kZWMuVWludDgsIHZh
bC5hbHRlcm5hdGVTZXR0aW5nKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdChjb2RlYy5VaW50
OCwgdmFsLmNsYXNzQ29kZSk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3QoY29kZWMuVWludDgs
IHZhbC5zdWJjbGFzc0NvZGUpOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNvZGVjLlVpbnQ4
LCB2YWwucHJvdG9jb2xDb2RlKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5z
a2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAg
ZW5jb2Rlci5lbmNvZGVTdHJ1Y3RQb2ludGVyKHN0cmluZzE2JC5TdHJpbmcxNiwgdmFsLmludGVy
ZmFjZU5hbWUpOwotICAgIGVuY29kZXIuZW5jb2RlQXJyYXlQb2ludGVyKG5ldyBjb2RlYy5Qb2lu
dGVyVG8oVXNiRW5kcG9pbnRJbmZvKSwgdmFsLmVuZHBvaW50cyk7Ci0gICAgZW5jb2Rlci5lbmNv
ZGVBcnJheVBvaW50ZXIoY29kZWMuVWludDgsIHZhbC5leHRyYURhdGEpOwotICB9OwotICBmdW5j
dGlvbiBVc2JJbnRlcmZhY2VJbmZvKHZhbHVlcykgewotICAgIHRoaXMuaW5pdERlZmF1bHRzXygp
OwotICAgIHRoaXMuaW5pdEZpZWxkc18odmFsdWVzKTsKLSAgfQotCi0KLSAgVXNiSW50ZXJmYWNl
SW5mby5wcm90b3R5cGUuaW5pdERlZmF1bHRzXyA9IGZ1bmN0aW9uKCkgewotICAgIHRoaXMuaW50
ZXJmYWNlTnVtYmVyID0gMDsKLSAgICB0aGlzLmFsdGVybmF0ZXMgPSBudWxsOwotICB9OwotICBV
c2JJbnRlcmZhY2VJbmZvLnByb3RvdHlwZS5pbml0RmllbGRzXyA9IGZ1bmN0aW9uKGZpZWxkcykg
ewotICAgIGZvcih2YXIgZmllbGQgaW4gZmllbGRzKSB7Ci0gICAgICAgIGlmICh0aGlzLmhhc093
blByb3BlcnR5KGZpZWxkKSkKLSAgICAgICAgICB0aGlzW2ZpZWxkXSA9IGZpZWxkc1tmaWVsZF07
Ci0gICAgfQotICB9OwotCi0gIFVzYkludGVyZmFjZUluZm8udmFsaWRhdGUgPSBmdW5jdGlvbiht
ZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsKLSAgICB2YXIgZXJyOwotICAgIGVyciA9IG1lc3Nh
Z2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RIZWFkZXIob2Zmc2V0LCBjb2RlYy5rU3RydWN0SGVh
ZGVyU2l6ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05F
KQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgdmFyIGtWZXJzaW9uU2l6ZXMgPSBbCi0gICAg
ICB7dmVyc2lvbjogMCwgbnVtQnl0ZXM6IDI0fQotICAgIF07Ci0gICAgZXJyID0gbWVzc2FnZVZh
bGlkYXRvci52YWxpZGF0ZVN0cnVjdFZlcnNpb24ob2Zmc2V0LCBrVmVyc2lvblNpemVzKTsKLSAg
ICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJl
dHVybiBlcnI7Ci0KLQotCi0gICAgLy8gdmFsaWRhdGUgVXNiSW50ZXJmYWNlSW5mby5hbHRlcm5h
dGVzCi0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZUFycmF5UG9pbnRlcihvZmZz
ZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDgsIDgsIG5ldyBjb2RlYy5Qb2ludGVyVG8o
VXNiQWx0ZXJuYXRlSW50ZXJmYWNlSW5mbyksIGZhbHNlLCBbMF0sIDApOwotICAgIGlmIChlcnIg
IT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsK
LQotICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gIH07Ci0KLSAg
VXNiSW50ZXJmYWNlSW5mby5lbmNvZGVkU2l6ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsg
MTY7Ci0KLSAgVXNiSW50ZXJmYWNlSW5mby5kZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0g
ICAgdmFyIHBhY2tlZDsKLSAgICB2YXIgdmFsID0gbmV3IFVzYkludGVyZmFjZUluZm8oKTsKLSAg
ICB2YXIgbnVtYmVyT2ZCeXRlcyA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhciB2ZXJz
aW9uID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFsLmludGVyZmFjZU51bWJlciA9IGRl
Y29kZXIuZGVjb2RlU3RydWN0KGNvZGVjLlVpbnQ4KTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0g
ICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNr
aXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBk
ZWNvZGVyLnNraXAoMSk7Ci0gICAgdmFsLmFsdGVybmF0ZXMgPSBkZWNvZGVyLmRlY29kZUFycmF5
UG9pbnRlcihuZXcgY29kZWMuUG9pbnRlclRvKFVzYkFsdGVybmF0ZUludGVyZmFjZUluZm8pKTsK
LSAgICByZXR1cm4gdmFsOwotICB9OwotCi0gIFVzYkludGVyZmFjZUluZm8uZW5jb2RlID0gZnVu
Y3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICBlbmNvZGVyLndyaXRl
VWludDMyKFVzYkludGVyZmFjZUluZm8uZW5jb2RlZFNpemUpOwotICAgIGVuY29kZXIud3JpdGVV
aW50MzIoMCk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3QoY29kZWMuVWludDgsIHZhbC5pbnRl
cmZhY2VOdW1iZXIpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7
Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVy
LnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAg
ICBlbmNvZGVyLmVuY29kZUFycmF5UG9pbnRlcihuZXcgY29kZWMuUG9pbnRlclRvKFVzYkFsdGVy
bmF0ZUludGVyZmFjZUluZm8pLCB2YWwuYWx0ZXJuYXRlcyk7Ci0gIH07Ci0gIGZ1bmN0aW9uIFVz
YkNvbmZpZ3VyYXRpb25JbmZvKHZhbHVlcykgewotICAgIHRoaXMuaW5pdERlZmF1bHRzXygpOwot
ICAgIHRoaXMuaW5pdEZpZWxkc18odmFsdWVzKTsKLSAgfQotCi0KLSAgVXNiQ29uZmlndXJhdGlv
bkluZm8ucHJvdG90eXBlLmluaXREZWZhdWx0c18gPSBmdW5jdGlvbigpIHsKLSAgICB0aGlzLmNv
bmZpZ3VyYXRpb25WYWx1ZSA9IDA7Ci0gICAgdGhpcy5zZWxmUG93ZXJlZCA9IGZhbHNlOwotICAg
IHRoaXMucmVtb3RlV2FrZXVwID0gZmFsc2U7Ci0gICAgdGhpcy5tYXhpbXVtUG93ZXIgPSAwOwot
ICAgIHRoaXMuY29uZmlndXJhdGlvbk5hbWUgPSBudWxsOwotICAgIHRoaXMuaW50ZXJmYWNlcyA9
IG51bGw7Ci0gICAgdGhpcy5leHRyYURhdGEgPSBudWxsOwotICB9OwotICBVc2JDb25maWd1cmF0
aW9uSW5mby5wcm90b3R5cGUuaW5pdEZpZWxkc18gPSBmdW5jdGlvbihmaWVsZHMpIHsKLSAgICBm
b3IodmFyIGZpZWxkIGluIGZpZWxkcykgewotICAgICAgICBpZiAodGhpcy5oYXNPd25Qcm9wZXJ0
eShmaWVsZCkpCi0gICAgICAgICAgdGhpc1tmaWVsZF0gPSBmaWVsZHNbZmllbGRdOwotICAgIH0K
LSAgfTsKLQotICBVc2JDb25maWd1cmF0aW9uSW5mby52YWxpZGF0ZSA9IGZ1bmN0aW9uKG1lc3Nh
Z2VWYWxpZGF0b3IsIG9mZnNldCkgewotICAgIHZhciBlcnI7Ci0gICAgZXJyID0gbWVzc2FnZVZh
bGlkYXRvci52YWxpZGF0ZVN0cnVjdEhlYWRlcihvZmZzZXQsIGNvZGVjLmtTdHJ1Y3RIZWFkZXJT
aXplKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0g
ICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICB2YXIga1ZlcnNpb25TaXplcyA9IFsKLSAgICAgIHt2
ZXJzaW9uOiAwLCBudW1CeXRlczogNDB9Ci0gICAgXTsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRh
dG9yLnZhbGlkYXRlU3RydWN0VmVyc2lvbihvZmZzZXQsIGtWZXJzaW9uU2l6ZXMpOwotICAgIGlm
IChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJu
IGVycjsKLQotCi0KLSAgICAvLyB2YWxpZGF0ZSBVc2JDb25maWd1cmF0aW9uSW5mby5jb25maWd1
cmF0aW9uTmFtZQotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RQb2lu
dGVyKG9mZnNldCArIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgOCwgc3RyaW5nMTYkLlN0cmlu
ZzE2LCB0cnVlKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5P
TkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotCi0KLQotICAgIC8vIHZhbGlkYXRlIFVzYkNv
bmZpZ3VyYXRpb25JbmZvLmludGVyZmFjZXMKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZh
bGlkYXRlQXJyYXlQb2ludGVyKG9mZnNldCArIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgMTYs
IDgsIG5ldyBjb2RlYy5Qb2ludGVyVG8oVXNiSW50ZXJmYWNlSW5mbyksIGZhbHNlLCBbMF0sIDAp
OwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAg
ICAgcmV0dXJuIGVycjsKLQotCi0gICAgLy8gdmFsaWRhdGUgVXNiQ29uZmlndXJhdGlvbkluZm8u
ZXh0cmFEYXRhCi0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZUFycmF5UG9pbnRl
cihvZmZzZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDI0LCAxLCBjb2RlYy5VaW50OCwg
ZmFsc2UsIFswXSwgMCk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJv
ci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgcmV0dXJuIHZhbGlkYXRvci52YWxp
ZGF0aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQotICBVc2JDb25maWd1cmF0aW9uSW5mby5lbmNvZGVk
U2l6ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgMzI7Ci0KLSAgVXNiQ29uZmlndXJhdGlv
bkluZm8uZGVjb2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHZhciBwYWNrZWQ7Ci0gICAg
dmFyIHZhbCA9IG5ldyBVc2JDb25maWd1cmF0aW9uSW5mbygpOwotICAgIHZhciBudW1iZXJPZkJ5
dGVzID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFyIHZlcnNpb24gPSBkZWNvZGVyLnJl
YWRVaW50MzIoKTsKLSAgICB2YWwuY29uZmlndXJhdGlvblZhbHVlID0gZGVjb2Rlci5kZWNvZGVT
dHJ1Y3QoY29kZWMuVWludDgpOwotICAgIHBhY2tlZCA9IGRlY29kZXIucmVhZFVpbnQ4KCk7Ci0g
ICAgdmFsLnNlbGZQb3dlcmVkID0gKHBhY2tlZCA+PiAwKSAmIDEgPyB0cnVlIDogZmFsc2U7Ci0g
ICAgdmFsLnJlbW90ZVdha2V1cCA9IChwYWNrZWQgPj4gMSkgJiAxID8gdHJ1ZSA6IGZhbHNlOwot
ICAgIHZhbC5tYXhpbXVtUG93ZXIgPSBkZWNvZGVyLmRlY29kZVN0cnVjdChjb2RlYy5VaW50OCk7
Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVy
LnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAg
ICB2YWwuY29uZmlndXJhdGlvbk5hbWUgPSBkZWNvZGVyLmRlY29kZVN0cnVjdFBvaW50ZXIoc3Ry
aW5nMTYkLlN0cmluZzE2KTsKLSAgICB2YWwuaW50ZXJmYWNlcyA9IGRlY29kZXIuZGVjb2RlQXJy
YXlQb2ludGVyKG5ldyBjb2RlYy5Qb2ludGVyVG8oVXNiSW50ZXJmYWNlSW5mbykpOwotICAgIHZh
bC5leHRyYURhdGEgPSBkZWNvZGVyLmRlY29kZUFycmF5UG9pbnRlcihjb2RlYy5VaW50OCk7Ci0g
ICAgcmV0dXJuIHZhbDsKLSAgfTsKLQotICBVc2JDb25maWd1cmF0aW9uSW5mby5lbmNvZGUgPSBm
dW5jdGlvbihlbmNvZGVyLCB2YWwpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIGVuY29kZXIud3Jp
dGVVaW50MzIoVXNiQ29uZmlndXJhdGlvbkluZm8uZW5jb2RlZFNpemUpOwotICAgIGVuY29kZXIu
d3JpdGVVaW50MzIoMCk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3QoY29kZWMuVWludDgsIHZh
bC5jb25maWd1cmF0aW9uVmFsdWUpOwotICAgIHBhY2tlZCA9IDA7Ci0gICAgcGFja2VkIHw9ICh2
YWwuc2VsZlBvd2VyZWQgJiAxKSA8PCAwCi0gICAgcGFja2VkIHw9ICh2YWwucmVtb3RlV2FrZXVw
ICYgMSkgPDwgMQotICAgIGVuY29kZXIud3JpdGVVaW50OChwYWNrZWQpOwotICAgIGVuY29kZXIu
ZW5jb2RlU3RydWN0KGNvZGVjLlVpbnQ4LCB2YWwubWF4aW11bVBvd2VyKTsKLSAgICBlbmNvZGVy
LnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAg
ICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuZW5j
b2RlU3RydWN0UG9pbnRlcihzdHJpbmcxNiQuU3RyaW5nMTYsIHZhbC5jb25maWd1cmF0aW9uTmFt
ZSk7Ci0gICAgZW5jb2Rlci5lbmNvZGVBcnJheVBvaW50ZXIobmV3IGNvZGVjLlBvaW50ZXJUbyhV
c2JJbnRlcmZhY2VJbmZvKSwgdmFsLmludGVyZmFjZXMpOwotICAgIGVuY29kZXIuZW5jb2RlQXJy
YXlQb2ludGVyKGNvZGVjLlVpbnQ4LCB2YWwuZXh0cmFEYXRhKTsKLSAgfTsKLSAgZnVuY3Rpb24g
VXNiRGV2aWNlSW5mbyh2YWx1ZXMpIHsKLSAgICB0aGlzLmluaXREZWZhdWx0c18oKTsKLSAgICB0
aGlzLmluaXRGaWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0gIFVzYkRldmljZUluZm8ucHJvdG90
eXBlLmluaXREZWZhdWx0c18gPSBmdW5jdGlvbigpIHsKLSAgICB0aGlzLmd1aWQgPSBudWxsOwot
ICAgIHRoaXMudXNiVmVyc2lvbk1ham9yID0gMDsKLSAgICB0aGlzLnVzYlZlcnNpb25NaW5vciA9
IDA7Ci0gICAgdGhpcy51c2JWZXJzaW9uU3VibWlub3IgPSAwOwotICAgIHRoaXMuY2xhc3NDb2Rl
ID0gMDsKLSAgICB0aGlzLnN1YmNsYXNzQ29kZSA9IDA7Ci0gICAgdGhpcy5wcm90b2NvbENvZGUg
PSAwOwotICAgIHRoaXMudmVuZG9ySWQgPSAwOwotICAgIHRoaXMuYnVzTnVtYmVyID0gMDsKLSAg
ICB0aGlzLnBvcnROdW1iZXIgPSAwOwotICAgIHRoaXMucHJvZHVjdElkID0gMDsKLSAgICB0aGlz
LmRldmljZVZlcnNpb25NYWpvciA9IDA7Ci0gICAgdGhpcy5kZXZpY2VWZXJzaW9uTWlub3IgPSAw
OwotICAgIHRoaXMuZGV2aWNlVmVyc2lvblN1Ym1pbm9yID0gMDsKLSAgICB0aGlzLmFjdGl2ZUNv
bmZpZ3VyYXRpb24gPSAwOwotICAgIHRoaXMubWFudWZhY3R1cmVyTmFtZSA9IG51bGw7Ci0gICAg
dGhpcy5wcm9kdWN0TmFtZSA9IG51bGw7Ci0gICAgdGhpcy5zZXJpYWxOdW1iZXIgPSBudWxsOwot
ICAgIHRoaXMud2VidXNiTGFuZGluZ1BhZ2UgPSBudWxsOwotICAgIHRoaXMuY29uZmlndXJhdGlv
bnMgPSBudWxsOwotICB9OwotICBVc2JEZXZpY2VJbmZvLnByb3RvdHlwZS5pbml0RmllbGRzXyA9
IGZ1bmN0aW9uKGZpZWxkcykgewotICAgIGZvcih2YXIgZmllbGQgaW4gZmllbGRzKSB7Ci0gICAg
ICAgIGlmICh0aGlzLmhhc093blByb3BlcnR5KGZpZWxkKSkKLSAgICAgICAgICB0aGlzW2ZpZWxk
XSA9IGZpZWxkc1tmaWVsZF07Ci0gICAgfQotICB9OwotCi0gIFVzYkRldmljZUluZm8udmFsaWRh
dGUgPSBmdW5jdGlvbihtZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsKLSAgICB2YXIgZXJyOwot
ICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RIZWFkZXIob2Zmc2V0LCBj
b2RlYy5rU3RydWN0SGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlk
YXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgdmFyIGtWZXJzaW9u
U2l6ZXMgPSBbCi0gICAgICB7dmVyc2lvbjogMCwgbnVtQnl0ZXM6IDgwfQotICAgIF07Ci0gICAg
ZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFZlcnNpb24ob2Zmc2V0LCBrVmVy
c2lvblNpemVzKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5P
TkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotICAgIC8vIHZhbGlkYXRlIFVzYkRldmljZUlu
Zm8uZ3VpZAotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJpbmdQb2ludGVy
KG9mZnNldCArIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgMCwgZmFsc2UpCi0gICAgaWYgKGVy
ciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJy
OwotCi0KLQotCi0KLQotCi0KLQotCi0KLQotCi0KLQotICAgIC8vIHZhbGlkYXRlIFVzYkRldmlj
ZUluZm8ubWFudWZhY3R1cmVyTmFtZQotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRh
dGVTdHJ1Y3RQb2ludGVyKG9mZnNldCArIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgMzIsIHN0
cmluZzE2JC5TdHJpbmcxNiwgdHJ1ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlk
YXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0KLSAgICAvLyB2YWxpZGF0
ZSBVc2JEZXZpY2VJbmZvLnByb2R1Y3ROYW1lCi0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52
YWxpZGF0ZVN0cnVjdFBvaW50ZXIob2Zmc2V0ICsgY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyA0
MCwgc3RyaW5nMTYkLlN0cmluZzE2LCB0cnVlKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3Iu
dmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotICAgIC8vIHZh
bGlkYXRlIFVzYkRldmljZUluZm8uc2VyaWFsTnVtYmVyCi0gICAgZXJyID0gbWVzc2FnZVZhbGlk
YXRvci52YWxpZGF0ZVN0cnVjdFBvaW50ZXIob2Zmc2V0ICsgY29kZWMua1N0cnVjdEhlYWRlclNp
emUgKyA0OCwgc3RyaW5nMTYkLlN0cmluZzE2LCB0cnVlKTsKLSAgICBpZiAoZXJyICE9PSB2YWxp
ZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotICAg
IC8vIHZhbGlkYXRlIFVzYkRldmljZUluZm8ud2VidXNiTGFuZGluZ1BhZ2UKLSAgICBlcnIgPSBt
ZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0UG9pbnRlcihvZmZzZXQgKyBjb2RlYy5rU3Ry
dWN0SGVhZGVyU2l6ZSArIDU2LCB1cmwkLlVybCwgdHJ1ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFs
aWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0KLQot
ICAgIC8vIHZhbGlkYXRlIFVzYkRldmljZUluZm8uY29uZmlndXJhdGlvbnMKLSAgICBlcnIgPSBt
ZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlQXJyYXlQb2ludGVyKG9mZnNldCArIGNvZGVjLmtTdHJ1
Y3RIZWFkZXJTaXplICsgNjQsIDgsIG5ldyBjb2RlYy5Qb2ludGVyVG8oVXNiQ29uZmlndXJhdGlv
bkluZm8pLCBmYWxzZSwgWzBdLCAwKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRh
dGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICByZXR1cm4gdmFsaWRh
dG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIFVzYkRldmljZUluZm8uZW5jb2Rl
ZFNpemUgPSBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDcyOwotCi0gIFVzYkRldmljZUluZm8u
ZGVjb2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgdmFyIHZh
bCA9IG5ldyBVc2JEZXZpY2VJbmZvKCk7Ci0gICAgdmFyIG51bWJlck9mQnl0ZXMgPSBkZWNvZGVy
LnJlYWRVaW50MzIoKTsKLSAgICB2YXIgdmVyc2lvbiA9IGRlY29kZXIucmVhZFVpbnQzMigpOwot
ICAgIHZhbC5ndWlkID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoY29kZWMuU3RyaW5nKTsKLSAgICB2
YWwudXNiVmVyc2lvbk1ham9yID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoY29kZWMuVWludDgpOwot
ICAgIHZhbC51c2JWZXJzaW9uTWlub3IgPSBkZWNvZGVyLmRlY29kZVN0cnVjdChjb2RlYy5VaW50
OCk7Ci0gICAgdmFsLnVzYlZlcnNpb25TdWJtaW5vciA9IGRlY29kZXIuZGVjb2RlU3RydWN0KGNv
ZGVjLlVpbnQ4KTsKLSAgICB2YWwuY2xhc3NDb2RlID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoY29k
ZWMuVWludDgpOwotICAgIHZhbC5zdWJjbGFzc0NvZGUgPSBkZWNvZGVyLmRlY29kZVN0cnVjdChj
b2RlYy5VaW50OCk7Ci0gICAgdmFsLnByb3RvY29sQ29kZSA9IGRlY29kZXIuZGVjb2RlU3RydWN0
KGNvZGVjLlVpbnQ4KTsKLSAgICB2YWwudmVuZG9ySWQgPSBkZWNvZGVyLmRlY29kZVN0cnVjdChj
b2RlYy5VaW50MTYpOwotICAgIHZhbC5idXNOdW1iZXIgPSBkZWNvZGVyLmRlY29kZVN0cnVjdChj
b2RlYy5VaW50MzIpOwotICAgIHZhbC5wb3J0TnVtYmVyID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3Qo
Y29kZWMuVWludDMyKTsKLSAgICB2YWwucHJvZHVjdElkID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3Qo
Y29kZWMuVWludDE2KTsKLSAgICB2YWwuZGV2aWNlVmVyc2lvbk1ham9yID0gZGVjb2Rlci5kZWNv
ZGVTdHJ1Y3QoY29kZWMuVWludDgpOwotICAgIHZhbC5kZXZpY2VWZXJzaW9uTWlub3IgPSBkZWNv
ZGVyLmRlY29kZVN0cnVjdChjb2RlYy5VaW50OCk7Ci0gICAgdmFsLmRldmljZVZlcnNpb25TdWJt
aW5vciA9IGRlY29kZXIuZGVjb2RlU3RydWN0KGNvZGVjLlVpbnQ4KTsKLSAgICB2YWwuYWN0aXZl
Q29uZmlndXJhdGlvbiA9IGRlY29kZXIuZGVjb2RlU3RydWN0KGNvZGVjLlVpbnQ4KTsKLSAgICBk
ZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIHZhbC5tYW51ZmFjdHVy
ZXJOYW1lID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3RQb2ludGVyKHN0cmluZzE2JC5TdHJpbmcxNik7
Ci0gICAgdmFsLnByb2R1Y3ROYW1lID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3RQb2ludGVyKHN0cmlu
ZzE2JC5TdHJpbmcxNik7Ci0gICAgdmFsLnNlcmlhbE51bWJlciA9IGRlY29kZXIuZGVjb2RlU3Ry
dWN0UG9pbnRlcihzdHJpbmcxNiQuU3RyaW5nMTYpOwotICAgIHZhbC53ZWJ1c2JMYW5kaW5nUGFn
ZSA9IGRlY29kZXIuZGVjb2RlU3RydWN0UG9pbnRlcih1cmwkLlVybCk7Ci0gICAgdmFsLmNvbmZp
Z3VyYXRpb25zID0gZGVjb2Rlci5kZWNvZGVBcnJheVBvaW50ZXIobmV3IGNvZGVjLlBvaW50ZXJU
byhVc2JDb25maWd1cmF0aW9uSW5mbykpOwotICAgIHJldHVybiB2YWw7Ci0gIH07Ci0KLSAgVXNi
RGV2aWNlSW5mby5lbmNvZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2YWwpIHsKLSAgICB2YXIgcGFj
a2VkOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoVXNiRGV2aWNlSW5mby5lbmNvZGVkU2l6ZSk7
Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMigwKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdChj
b2RlYy5TdHJpbmcsIHZhbC5ndWlkKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdChjb2RlYy5V
aW50OCwgdmFsLnVzYlZlcnNpb25NYWpvcik7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3QoY29k
ZWMuVWludDgsIHZhbC51c2JWZXJzaW9uTWlub3IpOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0
KGNvZGVjLlVpbnQ4LCB2YWwudXNiVmVyc2lvblN1Ym1pbm9yKTsKLSAgICBlbmNvZGVyLmVuY29k
ZVN0cnVjdChjb2RlYy5VaW50OCwgdmFsLmNsYXNzQ29kZSk7Ci0gICAgZW5jb2Rlci5lbmNvZGVT
dHJ1Y3QoY29kZWMuVWludDgsIHZhbC5zdWJjbGFzc0NvZGUpOwotICAgIGVuY29kZXIuZW5jb2Rl
U3RydWN0KGNvZGVjLlVpbnQ4LCB2YWwucHJvdG9jb2xDb2RlKTsKLSAgICBlbmNvZGVyLmVuY29k
ZVN0cnVjdChjb2RlYy5VaW50MTYsIHZhbC52ZW5kb3JJZCk7Ci0gICAgZW5jb2Rlci5lbmNvZGVT
dHJ1Y3QoY29kZWMuVWludDMyLCB2YWwuYnVzTnVtYmVyKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0
cnVjdChjb2RlYy5VaW50MzIsIHZhbC5wb3J0TnVtYmVyKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0
cnVjdChjb2RlYy5VaW50MTYsIHZhbC5wcm9kdWN0SWQpOwotICAgIGVuY29kZXIuZW5jb2RlU3Ry
dWN0KGNvZGVjLlVpbnQ4LCB2YWwuZGV2aWNlVmVyc2lvbk1ham9yKTsKLSAgICBlbmNvZGVyLmVu
Y29kZVN0cnVjdChjb2RlYy5VaW50OCwgdmFsLmRldmljZVZlcnNpb25NaW5vcik7Ci0gICAgZW5j
b2Rlci5lbmNvZGVTdHJ1Y3QoY29kZWMuVWludDgsIHZhbC5kZXZpY2VWZXJzaW9uU3VibWlub3Ip
OwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNvZGVjLlVpbnQ4LCB2YWwuYWN0aXZlQ29uZmln
dXJhdGlvbik7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAg
ICBlbmNvZGVyLmVuY29kZVN0cnVjdFBvaW50ZXIoc3RyaW5nMTYkLlN0cmluZzE2LCB2YWwubWFu
dWZhY3R1cmVyTmFtZSk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3RQb2ludGVyKHN0cmluZzE2
JC5TdHJpbmcxNiwgdmFsLnByb2R1Y3ROYW1lKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdFBv
aW50ZXIoc3RyaW5nMTYkLlN0cmluZzE2LCB2YWwuc2VyaWFsTnVtYmVyKTsKLSAgICBlbmNvZGVy
LmVuY29kZVN0cnVjdFBvaW50ZXIodXJsJC5VcmwsIHZhbC53ZWJ1c2JMYW5kaW5nUGFnZSk7Ci0g
ICAgZW5jb2Rlci5lbmNvZGVBcnJheVBvaW50ZXIobmV3IGNvZGVjLlBvaW50ZXJUbyhVc2JDb25m
aWd1cmF0aW9uSW5mbyksIHZhbC5jb25maWd1cmF0aW9ucyk7Ci0gIH07Ci0gIGZ1bmN0aW9uIFVz
YkNvbnRyb2xUcmFuc2ZlclBhcmFtcyh2YWx1ZXMpIHsKLSAgICB0aGlzLmluaXREZWZhdWx0c18o
KTsKLSAgICB0aGlzLmluaXRGaWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0gIFVzYkNvbnRyb2xU
cmFuc2ZlclBhcmFtcy5wcm90b3R5cGUuaW5pdERlZmF1bHRzXyA9IGZ1bmN0aW9uKCkgewotICAg
IHRoaXMudHlwZSA9IDA7Ci0gICAgdGhpcy5yZWNpcGllbnQgPSAwOwotICAgIHRoaXMucmVxdWVz
dCA9IDA7Ci0gICAgdGhpcy52YWx1ZSA9IDA7Ci0gICAgdGhpcy5pbmRleCA9IDA7Ci0gIH07Ci0g
IFVzYkNvbnRyb2xUcmFuc2ZlclBhcmFtcy5wcm90b3R5cGUuaW5pdEZpZWxkc18gPSBmdW5jdGlv
bihmaWVsZHMpIHsKLSAgICBmb3IodmFyIGZpZWxkIGluIGZpZWxkcykgewotICAgICAgICBpZiAo
dGhpcy5oYXNPd25Qcm9wZXJ0eShmaWVsZCkpCi0gICAgICAgICAgdGhpc1tmaWVsZF0gPSBmaWVs
ZHNbZmllbGRdOwotICAgIH0KLSAgfTsKLQotICBVc2JDb250cm9sVHJhbnNmZXJQYXJhbXMudmFs
aWRhdGUgPSBmdW5jdGlvbihtZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsKLSAgICB2YXIgZXJy
OwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RIZWFkZXIob2Zmc2V0
LCBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZh
bGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgdmFyIGtWZXJz
aW9uU2l6ZXMgPSBbCi0gICAgICB7dmVyc2lvbjogMCwgbnVtQnl0ZXM6IDI0fQotICAgIF07Ci0g
ICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFZlcnNpb24ob2Zmc2V0LCBr
VmVyc2lvblNpemVzKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9y
Lk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotICAgIC8vIHZhbGlkYXRlIFVzYkNvbnRy
b2xUcmFuc2ZlclBhcmFtcy50eXBlCi0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0
ZUVudW0ob2Zmc2V0ICsgY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyAwLCBVc2JDb250cm9sVHJh
bnNmZXJUeXBlKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5P
TkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotICAgIC8vIHZhbGlkYXRlIFVzYkNvbnRyb2xU
cmFuc2ZlclBhcmFtcy5yZWNpcGllbnQKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlk
YXRlRW51bShvZmZzZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDQsIFVzYkNvbnRyb2xU
cmFuc2ZlclJlY2lwaWVudCk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25F
cnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0KLQotCi0gICAgcmV0dXJuIHZhbGlk
YXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQotICBVc2JDb250cm9sVHJhbnNmZXJQ
YXJhbXMuZW5jb2RlZFNpemUgPSBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDE2OwotCi0gIFVz
YkNvbnRyb2xUcmFuc2ZlclBhcmFtcy5kZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0gICAg
dmFyIHBhY2tlZDsKLSAgICB2YXIgdmFsID0gbmV3IFVzYkNvbnRyb2xUcmFuc2ZlclBhcmFtcygp
OwotICAgIHZhciBudW1iZXJPZkJ5dGVzID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFy
IHZlcnNpb24gPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YWwudHlwZSA9IGRlY29kZXIu
ZGVjb2RlU3RydWN0KGNvZGVjLkludDMyKTsKLSAgICB2YWwucmVjaXBpZW50ID0gZGVjb2Rlci5k
ZWNvZGVTdHJ1Y3QoY29kZWMuSW50MzIpOwotICAgIHZhbC5yZXF1ZXN0ID0gZGVjb2Rlci5kZWNv
ZGVTdHJ1Y3QoY29kZWMuVWludDgpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICB2YWwudmFs
dWUgPSBkZWNvZGVyLmRlY29kZVN0cnVjdChjb2RlYy5VaW50MTYpOwotICAgIHZhbC5pbmRleCA9
IGRlY29kZXIuZGVjb2RlU3RydWN0KGNvZGVjLlVpbnQxNik7Ci0gICAgZGVjb2Rlci5za2lwKDEp
OwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICByZXR1cm4gdmFsOwotICB9OwotCi0gIFVzYkNv
bnRyb2xUcmFuc2ZlclBhcmFtcy5lbmNvZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2YWwpIHsKLSAg
ICB2YXIgcGFja2VkOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoVXNiQ29udHJvbFRyYW5zZmVy
UGFyYW1zLmVuY29kZWRTaXplKTsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKDApOwotICAgIGVu
Y29kZXIuZW5jb2RlU3RydWN0KGNvZGVjLkludDMyLCB2YWwudHlwZSk7Ci0gICAgZW5jb2Rlci5l
bmNvZGVTdHJ1Y3QoY29kZWMuSW50MzIsIHZhbC5yZWNpcGllbnQpOwotICAgIGVuY29kZXIuZW5j
b2RlU3RydWN0KGNvZGVjLlVpbnQ4LCB2YWwucmVxdWVzdCk7Ci0gICAgZW5jb2Rlci5za2lwKDEp
OwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNvZGVjLlVpbnQxNiwgdmFsLnZhbHVlKTsKLSAg
ICBlbmNvZGVyLmVuY29kZVN0cnVjdChjb2RlYy5VaW50MTYsIHZhbC5pbmRleCk7Ci0gICAgZW5j
b2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgfTsKLSAgZnVuY3Rpb24gVXNi
SXNvY2hyb25vdXNQYWNrZXQodmFsdWVzKSB7Ci0gICAgdGhpcy5pbml0RGVmYXVsdHNfKCk7Ci0g
ICAgdGhpcy5pbml0RmllbGRzXyh2YWx1ZXMpOwotICB9Ci0KLQotICBVc2JJc29jaHJvbm91c1Bh
Y2tldC5wcm90b3R5cGUuaW5pdERlZmF1bHRzXyA9IGZ1bmN0aW9uKCkgewotICAgIHRoaXMubGVu
Z3RoID0gMDsKLSAgICB0aGlzLnRyYW5zZmVycmVkTGVuZ3RoID0gMDsKLSAgICB0aGlzLnN0YXR1
cyA9IDA7Ci0gIH07Ci0gIFVzYklzb2Nocm9ub3VzUGFja2V0LnByb3RvdHlwZS5pbml0RmllbGRz
XyA9IGZ1bmN0aW9uKGZpZWxkcykgewotICAgIGZvcih2YXIgZmllbGQgaW4gZmllbGRzKSB7Ci0g
ICAgICAgIGlmICh0aGlzLmhhc093blByb3BlcnR5KGZpZWxkKSkKLSAgICAgICAgICB0aGlzW2Zp
ZWxkXSA9IGZpZWxkc1tmaWVsZF07Ci0gICAgfQotICB9OwotCi0gIFVzYklzb2Nocm9ub3VzUGFj
a2V0LnZhbGlkYXRlID0gZnVuY3Rpb24obWVzc2FnZVZhbGlkYXRvciwgb2Zmc2V0KSB7Ci0gICAg
dmFyIGVycjsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0SGVhZGVy
KG9mZnNldCwgY29kZWMua1N0cnVjdEhlYWRlclNpemUpOwotICAgIGlmIChlcnIgIT09IHZhbGlk
YXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHZh
ciBrVmVyc2lvblNpemVzID0gWwotICAgICAge3ZlcnNpb246IDAsIG51bUJ5dGVzOiAyNH0KLSAg
ICBdOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RWZXJzaW9uKG9m
ZnNldCwga1ZlcnNpb25TaXplcyk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRp
b25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0KLQotCi0gICAgLy8gdmFsaWRh
dGUgVXNiSXNvY2hyb25vdXNQYWNrZXQuc3RhdHVzCi0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRv
ci52YWxpZGF0ZUVudW0ob2Zmc2V0ICsgY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyA4LCBVc2JU
cmFuc2ZlclN0YXR1cyk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJv
ci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgcmV0dXJuIHZhbGlkYXRvci52YWxp
ZGF0aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQotICBVc2JJc29jaHJvbm91c1BhY2tldC5lbmNvZGVk
U2l6ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgMTY7Ci0KLSAgVXNiSXNvY2hyb25vdXNQ
YWNrZXQuZGVjb2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHZhciBwYWNrZWQ7Ci0gICAg
dmFyIHZhbCA9IG5ldyBVc2JJc29jaHJvbm91c1BhY2tldCgpOwotICAgIHZhciBudW1iZXJPZkJ5
dGVzID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFyIHZlcnNpb24gPSBkZWNvZGVyLnJl
YWRVaW50MzIoKTsKLSAgICB2YWwubGVuZ3RoID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoY29kZWMu
VWludDMyKTsKLSAgICB2YWwudHJhbnNmZXJyZWRMZW5ndGggPSBkZWNvZGVyLmRlY29kZVN0cnVj
dChjb2RlYy5VaW50MzIpOwotICAgIHZhbC5zdGF0dXMgPSBkZWNvZGVyLmRlY29kZVN0cnVjdChj
b2RlYy5JbnQzMik7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsK
LSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIHJldHVybiB2
YWw7Ci0gIH07Ci0KLSAgVXNiSXNvY2hyb25vdXNQYWNrZXQuZW5jb2RlID0gZnVuY3Rpb24oZW5j
b2RlciwgdmFsKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKFVz
Yklzb2Nocm9ub3VzUGFja2V0LmVuY29kZWRTaXplKTsKLSAgICBlbmNvZGVyLndyaXRlVWludDMy
KDApOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNvZGVjLlVpbnQzMiwgdmFsLmxlbmd0aCk7
Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3QoY29kZWMuVWludDMyLCB2YWwudHJhbnNmZXJyZWRM
ZW5ndGgpOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNvZGVjLkludDMyLCB2YWwuc3RhdHVz
KTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29k
ZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gIH07Ci0gIGZ1bmN0aW9uIFVzYkRl
dmljZV9PcGVuX1BhcmFtcyh2YWx1ZXMpIHsKLSAgICB0aGlzLmluaXREZWZhdWx0c18oKTsKLSAg
ICB0aGlzLmluaXRGaWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0gIFVzYkRldmljZV9PcGVuX1Bh
cmFtcy5wcm90b3R5cGUuaW5pdERlZmF1bHRzXyA9IGZ1bmN0aW9uKCkgewotICB9OwotICBVc2JE
ZXZpY2VfT3Blbl9QYXJhbXMucHJvdG90eXBlLmluaXRGaWVsZHNfID0gZnVuY3Rpb24oZmllbGRz
KSB7Ci0gICAgZm9yKHZhciBmaWVsZCBpbiBmaWVsZHMpIHsKLSAgICAgICAgaWYgKHRoaXMuaGFz
T3duUHJvcGVydHkoZmllbGQpKQotICAgICAgICAgIHRoaXNbZmllbGRdID0gZmllbGRzW2ZpZWxk
XTsKLSAgICB9Ci0gIH07Ci0KLSAgVXNiRGV2aWNlX09wZW5fUGFyYW1zLnZhbGlkYXRlID0gZnVu
Y3Rpb24obWVzc2FnZVZhbGlkYXRvciwgb2Zmc2V0KSB7Ci0gICAgdmFyIGVycjsKLSAgICBlcnIg
PSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0SGVhZGVyKG9mZnNldCwgY29kZWMua1N0
cnVjdEhlYWRlclNpemUpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJy
b3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHZhciBrVmVyc2lvblNpemVzID0g
WwotICAgICAge3ZlcnNpb246IDAsIG51bUJ5dGVzOiA4fQotICAgIF07Ci0gICAgZXJyID0gbWVz
c2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFZlcnNpb24ob2Zmc2V0LCBrVmVyc2lvblNpemVz
KTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAg
ICAgIHJldHVybiBlcnI7Ci0KLSAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5O
T05FOwotICB9OwotCi0gIFVzYkRldmljZV9PcGVuX1BhcmFtcy5lbmNvZGVkU2l6ZSA9IGNvZGVj
LmtTdHJ1Y3RIZWFkZXJTaXplICsgMDsKLQotICBVc2JEZXZpY2VfT3Blbl9QYXJhbXMuZGVjb2Rl
ID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgdmFyIHZhbCA9IG5l
dyBVc2JEZXZpY2VfT3Blbl9QYXJhbXMoKTsKLSAgICB2YXIgbnVtYmVyT2ZCeXRlcyA9IGRlY29k
ZXIucmVhZFVpbnQzMigpOwotICAgIHZhciB2ZXJzaW9uID0gZGVjb2Rlci5yZWFkVWludDMyKCk7
Ci0gICAgcmV0dXJuIHZhbDsKLSAgfTsKLQotICBVc2JEZXZpY2VfT3Blbl9QYXJhbXMuZW5jb2Rl
ID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICBlbmNvZGVy
LndyaXRlVWludDMyKFVzYkRldmljZV9PcGVuX1BhcmFtcy5lbmNvZGVkU2l6ZSk7Ci0gICAgZW5j
b2Rlci53cml0ZVVpbnQzMigwKTsKLSAgfTsKLSAgZnVuY3Rpb24gVXNiRGV2aWNlX09wZW5fUmVz
cG9uc2VQYXJhbXModmFsdWVzKSB7Ci0gICAgdGhpcy5pbml0RGVmYXVsdHNfKCk7Ci0gICAgdGhp
cy5pbml0RmllbGRzXyh2YWx1ZXMpOwotICB9Ci0KLQotICBVc2JEZXZpY2VfT3Blbl9SZXNwb25z
ZVBhcmFtcy5wcm90b3R5cGUuaW5pdERlZmF1bHRzXyA9IGZ1bmN0aW9uKCkgewotICAgIHRoaXMu
ZXJyb3IgPSAwOwotICB9OwotICBVc2JEZXZpY2VfT3Blbl9SZXNwb25zZVBhcmFtcy5wcm90b3R5
cGUuaW5pdEZpZWxkc18gPSBmdW5jdGlvbihmaWVsZHMpIHsKLSAgICBmb3IodmFyIGZpZWxkIGlu
IGZpZWxkcykgewotICAgICAgICBpZiAodGhpcy5oYXNPd25Qcm9wZXJ0eShmaWVsZCkpCi0gICAg
ICAgICAgdGhpc1tmaWVsZF0gPSBmaWVsZHNbZmllbGRdOwotICAgIH0KLSAgfTsKLQotICBVc2JE
ZXZpY2VfT3Blbl9SZXNwb25zZVBhcmFtcy52YWxpZGF0ZSA9IGZ1bmN0aW9uKG1lc3NhZ2VWYWxp
ZGF0b3IsIG9mZnNldCkgewotICAgIHZhciBlcnI7Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRv
ci52YWxpZGF0ZVN0cnVjdEhlYWRlcihvZmZzZXQsIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplKTsK
LSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAg
IHJldHVybiBlcnI7Ci0KLSAgICB2YXIga1ZlcnNpb25TaXplcyA9IFsKLSAgICAgIHt2ZXJzaW9u
OiAwLCBudW1CeXRlczogMTZ9Ci0gICAgXTsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZh
bGlkYXRlU3RydWN0VmVyc2lvbihvZmZzZXQsIGtWZXJzaW9uU2l6ZXMpOwotICAgIGlmIChlcnIg
IT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsK
LQotCi0gICAgLy8gdmFsaWRhdGUgVXNiRGV2aWNlX09wZW5fUmVzcG9uc2VQYXJhbXMuZXJyb3IK
LSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlRW51bShvZmZzZXQgKyBjb2RlYy5r
U3RydWN0SGVhZGVyU2l6ZSArIDAsIFVzYk9wZW5EZXZpY2VFcnJvcik7Ci0gICAgaWYgKGVyciAh
PT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwot
Ci0gICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQotICBV
c2JEZXZpY2VfT3Blbl9SZXNwb25zZVBhcmFtcy5lbmNvZGVkU2l6ZSA9IGNvZGVjLmtTdHJ1Y3RI
ZWFkZXJTaXplICsgODsKLQotICBVc2JEZXZpY2VfT3Blbl9SZXNwb25zZVBhcmFtcy5kZWNvZGUg
PSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICB2YXIgdmFsID0gbmV3
IFVzYkRldmljZV9PcGVuX1Jlc3BvbnNlUGFyYW1zKCk7Ci0gICAgdmFyIG51bWJlck9mQnl0ZXMg
PSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YXIgdmVyc2lvbiA9IGRlY29kZXIucmVhZFVp
bnQzMigpOwotICAgIHZhbC5lcnJvciA9IGRlY29kZXIuZGVjb2RlU3RydWN0KGNvZGVjLkludDMy
KTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29k
ZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgcmV0dXJuIHZhbDsKLSAgfTsK
LQotICBVc2JEZXZpY2VfT3Blbl9SZXNwb25zZVBhcmFtcy5lbmNvZGUgPSBmdW5jdGlvbihlbmNv
ZGVyLCB2YWwpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoVXNi
RGV2aWNlX09wZW5fUmVzcG9uc2VQYXJhbXMuZW5jb2RlZFNpemUpOwotICAgIGVuY29kZXIud3Jp
dGVVaW50MzIoMCk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3QoY29kZWMuSW50MzIsIHZhbC5l
cnJvcik7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBl
bmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICB9OwotICBmdW5jdGlvbiBV
c2JEZXZpY2VfQ2xvc2VfUGFyYW1zKHZhbHVlcykgewotICAgIHRoaXMuaW5pdERlZmF1bHRzXygp
OwotICAgIHRoaXMuaW5pdEZpZWxkc18odmFsdWVzKTsKLSAgfQotCi0KLSAgVXNiRGV2aWNlX0Ns
b3NlX1BhcmFtcy5wcm90b3R5cGUuaW5pdERlZmF1bHRzXyA9IGZ1bmN0aW9uKCkgewotICB9Owot
ICBVc2JEZXZpY2VfQ2xvc2VfUGFyYW1zLnByb3RvdHlwZS5pbml0RmllbGRzXyA9IGZ1bmN0aW9u
KGZpZWxkcykgewotICAgIGZvcih2YXIgZmllbGQgaW4gZmllbGRzKSB7Ci0gICAgICAgIGlmICh0
aGlzLmhhc093blByb3BlcnR5KGZpZWxkKSkKLSAgICAgICAgICB0aGlzW2ZpZWxkXSA9IGZpZWxk
c1tmaWVsZF07Ci0gICAgfQotICB9OwotCi0gIFVzYkRldmljZV9DbG9zZV9QYXJhbXMudmFsaWRh
dGUgPSBmdW5jdGlvbihtZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsKLSAgICB2YXIgZXJyOwot
ICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RIZWFkZXIob2Zmc2V0LCBj
b2RlYy5rU3RydWN0SGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlk
YXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgdmFyIGtWZXJzaW9u
U2l6ZXMgPSBbCi0gICAgICB7dmVyc2lvbjogMCwgbnVtQnl0ZXM6IDh9Ci0gICAgXTsKLSAgICBl
cnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0VmVyc2lvbihvZmZzZXQsIGtWZXJz
aW9uU2l6ZXMpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9O
RSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlv
bkVycm9yLk5PTkU7Ci0gIH07Ci0KLSAgVXNiRGV2aWNlX0Nsb3NlX1BhcmFtcy5lbmNvZGVkU2l6
ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgMDsKLQotICBVc2JEZXZpY2VfQ2xvc2VfUGFy
YW1zLmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIHZh
ciB2YWwgPSBuZXcgVXNiRGV2aWNlX0Nsb3NlX1BhcmFtcygpOwotICAgIHZhciBudW1iZXJPZkJ5
dGVzID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFyIHZlcnNpb24gPSBkZWNvZGVyLnJl
YWRVaW50MzIoKTsKLSAgICByZXR1cm4gdmFsOwotICB9OwotCi0gIFVzYkRldmljZV9DbG9zZV9Q
YXJhbXMuZW5jb2RlID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAgdmFyIHBhY2tlZDsK
LSAgICBlbmNvZGVyLndyaXRlVWludDMyKFVzYkRldmljZV9DbG9zZV9QYXJhbXMuZW5jb2RlZFNp
emUpOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoMCk7Ci0gIH07Ci0gIGZ1bmN0aW9uIFVzYkRl
dmljZV9DbG9zZV9SZXNwb25zZVBhcmFtcyh2YWx1ZXMpIHsKLSAgICB0aGlzLmluaXREZWZhdWx0
c18oKTsKLSAgICB0aGlzLmluaXRGaWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0gIFVzYkRldmlj
ZV9DbG9zZV9SZXNwb25zZVBhcmFtcy5wcm90b3R5cGUuaW5pdERlZmF1bHRzXyA9IGZ1bmN0aW9u
KCkgewotICB9OwotICBVc2JEZXZpY2VfQ2xvc2VfUmVzcG9uc2VQYXJhbXMucHJvdG90eXBlLmlu
aXRGaWVsZHNfID0gZnVuY3Rpb24oZmllbGRzKSB7Ci0gICAgZm9yKHZhciBmaWVsZCBpbiBmaWVs
ZHMpIHsKLSAgICAgICAgaWYgKHRoaXMuaGFzT3duUHJvcGVydHkoZmllbGQpKQotICAgICAgICAg
IHRoaXNbZmllbGRdID0gZmllbGRzW2ZpZWxkXTsKLSAgICB9Ci0gIH07Ci0KLSAgVXNiRGV2aWNl
X0Nsb3NlX1Jlc3BvbnNlUGFyYW1zLnZhbGlkYXRlID0gZnVuY3Rpb24obWVzc2FnZVZhbGlkYXRv
ciwgb2Zmc2V0KSB7Ci0gICAgdmFyIGVycjsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZh
bGlkYXRlU3RydWN0SGVhZGVyKG9mZnNldCwgY29kZWMua1N0cnVjdEhlYWRlclNpemUpOwotICAg
IGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0
dXJuIGVycjsKLQotICAgIHZhciBrVmVyc2lvblNpemVzID0gWwotICAgICAge3ZlcnNpb246IDAs
IG51bUJ5dGVzOiA4fQotICAgIF07Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0
ZVN0cnVjdFZlcnNpb24ob2Zmc2V0LCBrVmVyc2lvblNpemVzKTsKLSAgICBpZiAoZXJyICE9PSB2
YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAg
ICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIFVzYkRl
dmljZV9DbG9zZV9SZXNwb25zZVBhcmFtcy5lbmNvZGVkU2l6ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFk
ZXJTaXplICsgMDsKLQotICBVc2JEZXZpY2VfQ2xvc2VfUmVzcG9uc2VQYXJhbXMuZGVjb2RlID0g
ZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgdmFyIHZhbCA9IG5ldyBV
c2JEZXZpY2VfQ2xvc2VfUmVzcG9uc2VQYXJhbXMoKTsKLSAgICB2YXIgbnVtYmVyT2ZCeXRlcyA9
IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhciB2ZXJzaW9uID0gZGVjb2Rlci5yZWFkVWlu
dDMyKCk7Ci0gICAgcmV0dXJuIHZhbDsKLSAgfTsKLQotICBVc2JEZXZpY2VfQ2xvc2VfUmVzcG9u
c2VQYXJhbXMuZW5jb2RlID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAgdmFyIHBhY2tl
ZDsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKFVzYkRldmljZV9DbG9zZV9SZXNwb25zZVBhcmFt
cy5lbmNvZGVkU2l6ZSk7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMigwKTsKLSAgfTsKLSAgZnVu
Y3Rpb24gVXNiRGV2aWNlX1NldENvbmZpZ3VyYXRpb25fUGFyYW1zKHZhbHVlcykgewotICAgIHRo
aXMuaW5pdERlZmF1bHRzXygpOwotICAgIHRoaXMuaW5pdEZpZWxkc18odmFsdWVzKTsKLSAgfQot
Ci0KLSAgVXNiRGV2aWNlX1NldENvbmZpZ3VyYXRpb25fUGFyYW1zLnByb3RvdHlwZS5pbml0RGVm
YXVsdHNfID0gZnVuY3Rpb24oKSB7Ci0gICAgdGhpcy52YWx1ZSA9IDA7Ci0gIH07Ci0gIFVzYkRl
dmljZV9TZXRDb25maWd1cmF0aW9uX1BhcmFtcy5wcm90b3R5cGUuaW5pdEZpZWxkc18gPSBmdW5j
dGlvbihmaWVsZHMpIHsKLSAgICBmb3IodmFyIGZpZWxkIGluIGZpZWxkcykgewotICAgICAgICBp
ZiAodGhpcy5oYXNPd25Qcm9wZXJ0eShmaWVsZCkpCi0gICAgICAgICAgdGhpc1tmaWVsZF0gPSBm
aWVsZHNbZmllbGRdOwotICAgIH0KLSAgfTsKLQotICBVc2JEZXZpY2VfU2V0Q29uZmlndXJhdGlv
bl9QYXJhbXMudmFsaWRhdGUgPSBmdW5jdGlvbihtZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsK
LSAgICB2YXIgZXJyOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RI
ZWFkZXIob2Zmc2V0LCBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVyciAhPT0g
dmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0g
ICAgdmFyIGtWZXJzaW9uU2l6ZXMgPSBbCi0gICAgICB7dmVyc2lvbjogMCwgbnVtQnl0ZXM6IDE2
fQotICAgIF07Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFZlcnNp
b24ob2Zmc2V0LCBrVmVyc2lvblNpemVzKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFs
aWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotICAgIHJldHVybiB2
YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gIH07Ci0KLSAgVXNiRGV2aWNlX1NldENv
bmZpZ3VyYXRpb25fUGFyYW1zLmVuY29kZWRTaXplID0gY29kZWMua1N0cnVjdEhlYWRlclNpemUg
KyA4OwotCi0gIFVzYkRldmljZV9TZXRDb25maWd1cmF0aW9uX1BhcmFtcy5kZWNvZGUgPSBmdW5j
dGlvbihkZWNvZGVyKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICB2YXIgdmFsID0gbmV3IFVzYkRl
dmljZV9TZXRDb25maWd1cmF0aW9uX1BhcmFtcygpOwotICAgIHZhciBudW1iZXJPZkJ5dGVzID0g
ZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFyIHZlcnNpb24gPSBkZWNvZGVyLnJlYWRVaW50
MzIoKTsKLSAgICB2YWwudmFsdWUgPSBkZWNvZGVyLmRlY29kZVN0cnVjdChjb2RlYy5VaW50OCk7
Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVy
LnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAg
ICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIHJldHVybiB2YWw7
Ci0gIH07Ci0KLSAgVXNiRGV2aWNlX1NldENvbmZpZ3VyYXRpb25fUGFyYW1zLmVuY29kZSA9IGZ1
bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgZW5jb2Rlci53cml0
ZVVpbnQzMihVc2JEZXZpY2VfU2V0Q29uZmlndXJhdGlvbl9QYXJhbXMuZW5jb2RlZFNpemUpOwot
ICAgIGVuY29kZXIud3JpdGVVaW50MzIoMCk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3QoY29k
ZWMuVWludDgsIHZhbC52YWx1ZSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIu
c2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAg
IGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lw
KDEpOwotICB9OwotICBmdW5jdGlvbiBVc2JEZXZpY2VfU2V0Q29uZmlndXJhdGlvbl9SZXNwb25z
ZVBhcmFtcyh2YWx1ZXMpIHsKLSAgICB0aGlzLmluaXREZWZhdWx0c18oKTsKLSAgICB0aGlzLmlu
aXRGaWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0gIFVzYkRldmljZV9TZXRDb25maWd1cmF0aW9u
X1Jlc3BvbnNlUGFyYW1zLnByb3RvdHlwZS5pbml0RGVmYXVsdHNfID0gZnVuY3Rpb24oKSB7Ci0g
ICAgdGhpcy5zdWNjZXNzID0gZmFsc2U7Ci0gIH07Ci0gIFVzYkRldmljZV9TZXRDb25maWd1cmF0
aW9uX1Jlc3BvbnNlUGFyYW1zLnByb3RvdHlwZS5pbml0RmllbGRzXyA9IGZ1bmN0aW9uKGZpZWxk
cykgewotICAgIGZvcih2YXIgZmllbGQgaW4gZmllbGRzKSB7Ci0gICAgICAgIGlmICh0aGlzLmhh
c093blByb3BlcnR5KGZpZWxkKSkKLSAgICAgICAgICB0aGlzW2ZpZWxkXSA9IGZpZWxkc1tmaWVs
ZF07Ci0gICAgfQotICB9OwotCi0gIFVzYkRldmljZV9TZXRDb25maWd1cmF0aW9uX1Jlc3BvbnNl
UGFyYW1zLnZhbGlkYXRlID0gZnVuY3Rpb24obWVzc2FnZVZhbGlkYXRvciwgb2Zmc2V0KSB7Ci0g
ICAgdmFyIGVycjsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0SGVh
ZGVyKG9mZnNldCwgY29kZWMua1N0cnVjdEhlYWRlclNpemUpOwotICAgIGlmIChlcnIgIT09IHZh
bGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAg
IHZhciBrVmVyc2lvblNpemVzID0gWwotICAgICAge3ZlcnNpb246IDAsIG51bUJ5dGVzOiAxNn0K
LSAgICBdOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RWZXJzaW9u
KG9mZnNldCwga1ZlcnNpb25TaXplcyk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlk
YXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0KLSAgICByZXR1cm4gdmFs
aWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIFVzYkRldmljZV9TZXRDb25m
aWd1cmF0aW9uX1Jlc3BvbnNlUGFyYW1zLmVuY29kZWRTaXplID0gY29kZWMua1N0cnVjdEhlYWRl
clNpemUgKyA4OwotCi0gIFVzYkRldmljZV9TZXRDb25maWd1cmF0aW9uX1Jlc3BvbnNlUGFyYW1z
LmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIHZhciB2
YWwgPSBuZXcgVXNiRGV2aWNlX1NldENvbmZpZ3VyYXRpb25fUmVzcG9uc2VQYXJhbXMoKTsKLSAg
ICB2YXIgbnVtYmVyT2ZCeXRlcyA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhciB2ZXJz
aW9uID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgcGFja2VkID0gZGVjb2Rlci5yZWFkVWlu
dDgoKTsKLSAgICB2YWwuc3VjY2VzcyA9IChwYWNrZWQgPj4gMCkgJiAxID8gdHJ1ZSA6IGZhbHNl
OwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rl
ci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0g
ICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICByZXR1cm4gdmFs
OwotICB9OwotCi0gIFVzYkRldmljZV9TZXRDb25maWd1cmF0aW9uX1Jlc3BvbnNlUGFyYW1zLmVu
Y29kZSA9IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgZW5j
b2Rlci53cml0ZVVpbnQzMihVc2JEZXZpY2VfU2V0Q29uZmlndXJhdGlvbl9SZXNwb25zZVBhcmFt
cy5lbmNvZGVkU2l6ZSk7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMigwKTsKLSAgICBwYWNrZWQg
PSAwOwotICAgIHBhY2tlZCB8PSAodmFsLnN1Y2Nlc3MgJiAxKSA8PCAwCi0gICAgZW5jb2Rlci53
cml0ZVVpbnQ4KHBhY2tlZCk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tp
cCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVu
Y29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEp
OwotICB9OwotICBmdW5jdGlvbiBVc2JEZXZpY2VfQ2xhaW1JbnRlcmZhY2VfUGFyYW1zKHZhbHVl
cykgewotICAgIHRoaXMuaW5pdERlZmF1bHRzXygpOwotICAgIHRoaXMuaW5pdEZpZWxkc18odmFs
dWVzKTsKLSAgfQotCi0KLSAgVXNiRGV2aWNlX0NsYWltSW50ZXJmYWNlX1BhcmFtcy5wcm90b3R5
cGUuaW5pdERlZmF1bHRzXyA9IGZ1bmN0aW9uKCkgewotICAgIHRoaXMuaW50ZXJmYWNlTnVtYmVy
ID0gMDsKLSAgfTsKLSAgVXNiRGV2aWNlX0NsYWltSW50ZXJmYWNlX1BhcmFtcy5wcm90b3R5cGUu
aW5pdEZpZWxkc18gPSBmdW5jdGlvbihmaWVsZHMpIHsKLSAgICBmb3IodmFyIGZpZWxkIGluIGZp
ZWxkcykgewotICAgICAgICBpZiAodGhpcy5oYXNPd25Qcm9wZXJ0eShmaWVsZCkpCi0gICAgICAg
ICAgdGhpc1tmaWVsZF0gPSBmaWVsZHNbZmllbGRdOwotICAgIH0KLSAgfTsKLQotICBVc2JEZXZp
Y2VfQ2xhaW1JbnRlcmZhY2VfUGFyYW1zLnZhbGlkYXRlID0gZnVuY3Rpb24obWVzc2FnZVZhbGlk
YXRvciwgb2Zmc2V0KSB7Ci0gICAgdmFyIGVycjsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9y
LnZhbGlkYXRlU3RydWN0SGVhZGVyKG9mZnNldCwgY29kZWMua1N0cnVjdEhlYWRlclNpemUpOwot
ICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAg
cmV0dXJuIGVycjsKLQotICAgIHZhciBrVmVyc2lvblNpemVzID0gWwotICAgICAge3ZlcnNpb246
IDAsIG51bUJ5dGVzOiAxNn0KLSAgICBdOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFs
aWRhdGVTdHJ1Y3RWZXJzaW9uKG9mZnNldCwga1ZlcnNpb25TaXplcyk7Ci0gICAgaWYgKGVyciAh
PT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwot
Ci0KLSAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwotICB9OwotCi0g
IFVzYkRldmljZV9DbGFpbUludGVyZmFjZV9QYXJhbXMuZW5jb2RlZFNpemUgPSBjb2RlYy5rU3Ry
dWN0SGVhZGVyU2l6ZSArIDg7Ci0KLSAgVXNiRGV2aWNlX0NsYWltSW50ZXJmYWNlX1BhcmFtcy5k
ZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICB2YXIgdmFs
ID0gbmV3IFVzYkRldmljZV9DbGFpbUludGVyZmFjZV9QYXJhbXMoKTsKLSAgICB2YXIgbnVtYmVy
T2ZCeXRlcyA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhciB2ZXJzaW9uID0gZGVjb2Rl
ci5yZWFkVWludDMyKCk7Ci0gICAgdmFsLmludGVyZmFjZU51bWJlciA9IGRlY29kZXIuZGVjb2Rl
U3RydWN0KGNvZGVjLlVpbnQ4KTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5z
a2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAg
ZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAo
MSk7Ci0gICAgcmV0dXJuIHZhbDsKLSAgfTsKLQotICBVc2JEZXZpY2VfQ2xhaW1JbnRlcmZhY2Vf
UGFyYW1zLmVuY29kZSA9IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgIHZhciBwYWNrZWQ7
Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMihVc2JEZXZpY2VfQ2xhaW1JbnRlcmZhY2VfUGFyYW1z
LmVuY29kZWRTaXplKTsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKDApOwotICAgIGVuY29kZXIu
ZW5jb2RlU3RydWN0KGNvZGVjLlVpbnQ4LCB2YWwuaW50ZXJmYWNlTnVtYmVyKTsKLSAgICBlbmNv
ZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsK
LSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIu
c2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gIH07Ci0gIGZ1bmN0aW9uIFVzYkRldmlj
ZV9DbGFpbUludGVyZmFjZV9SZXNwb25zZVBhcmFtcyh2YWx1ZXMpIHsKLSAgICB0aGlzLmluaXRE
ZWZhdWx0c18oKTsKLSAgICB0aGlzLmluaXRGaWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0gIFVz
YkRldmljZV9DbGFpbUludGVyZmFjZV9SZXNwb25zZVBhcmFtcy5wcm90b3R5cGUuaW5pdERlZmF1
bHRzXyA9IGZ1bmN0aW9uKCkgewotICAgIHRoaXMuc3VjY2VzcyA9IGZhbHNlOwotICB9OwotICBV
c2JEZXZpY2VfQ2xhaW1JbnRlcmZhY2VfUmVzcG9uc2VQYXJhbXMucHJvdG90eXBlLmluaXRGaWVs
ZHNfID0gZnVuY3Rpb24oZmllbGRzKSB7Ci0gICAgZm9yKHZhciBmaWVsZCBpbiBmaWVsZHMpIHsK
LSAgICAgICAgaWYgKHRoaXMuaGFzT3duUHJvcGVydHkoZmllbGQpKQotICAgICAgICAgIHRoaXNb
ZmllbGRdID0gZmllbGRzW2ZpZWxkXTsKLSAgICB9Ci0gIH07Ci0KLSAgVXNiRGV2aWNlX0NsYWlt
SW50ZXJmYWNlX1Jlc3BvbnNlUGFyYW1zLnZhbGlkYXRlID0gZnVuY3Rpb24obWVzc2FnZVZhbGlk
YXRvciwgb2Zmc2V0KSB7Ci0gICAgdmFyIGVycjsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9y
LnZhbGlkYXRlU3RydWN0SGVhZGVyKG9mZnNldCwgY29kZWMua1N0cnVjdEhlYWRlclNpemUpOwot
ICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAg
cmV0dXJuIGVycjsKLQotICAgIHZhciBrVmVyc2lvblNpemVzID0gWwotICAgICAge3ZlcnNpb246
IDAsIG51bUJ5dGVzOiAxNn0KLSAgICBdOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFs
aWRhdGVTdHJ1Y3RWZXJzaW9uKG9mZnNldCwga1ZlcnNpb25TaXplcyk7Ci0gICAgaWYgKGVyciAh
PT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwot
Ci0KLSAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwotICB9OwotCi0g
IFVzYkRldmljZV9DbGFpbUludGVyZmFjZV9SZXNwb25zZVBhcmFtcy5lbmNvZGVkU2l6ZSA9IGNv
ZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgODsKLQotICBVc2JEZXZpY2VfQ2xhaW1JbnRlcmZhY2Vf
UmVzcG9uc2VQYXJhbXMuZGVjb2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHZhciBwYWNr
ZWQ7Ci0gICAgdmFyIHZhbCA9IG5ldyBVc2JEZXZpY2VfQ2xhaW1JbnRlcmZhY2VfUmVzcG9uc2VQ
YXJhbXMoKTsKLSAgICB2YXIgbnVtYmVyT2ZCeXRlcyA9IGRlY29kZXIucmVhZFVpbnQzMigpOwot
ICAgIHZhciB2ZXJzaW9uID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgcGFja2VkID0gZGVj
b2Rlci5yZWFkVWludDgoKTsKLSAgICB2YWwuc3VjY2VzcyA9IChwYWNrZWQgPj4gMCkgJiAxID8g
dHJ1ZSA6IGZhbHNlOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7
Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVy
LnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAg
ICByZXR1cm4gdmFsOwotICB9OwotCi0gIFVzYkRldmljZV9DbGFpbUludGVyZmFjZV9SZXNwb25z
ZVBhcmFtcy5lbmNvZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2YWwpIHsKLSAgICB2YXIgcGFja2Vk
OwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoVXNiRGV2aWNlX0NsYWltSW50ZXJmYWNlX1Jlc3Bv
bnNlUGFyYW1zLmVuY29kZWRTaXplKTsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKDApOwotICAg
IHBhY2tlZCA9IDA7Ci0gICAgcGFja2VkIHw9ICh2YWwuc3VjY2VzcyAmIDEpIDw8IDAKLSAgICBl
bmNvZGVyLndyaXRlVWludDgocGFja2VkKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5j
b2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7
Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVy
LnNraXAoMSk7Ci0gIH07Ci0gIGZ1bmN0aW9uIFVzYkRldmljZV9SZWxlYXNlSW50ZXJmYWNlX1Bh
cmFtcyh2YWx1ZXMpIHsKLSAgICB0aGlzLmluaXREZWZhdWx0c18oKTsKLSAgICB0aGlzLmluaXRG
aWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0gIFVzYkRldmljZV9SZWxlYXNlSW50ZXJmYWNlX1Bh
cmFtcy5wcm90b3R5cGUuaW5pdERlZmF1bHRzXyA9IGZ1bmN0aW9uKCkgewotICAgIHRoaXMuaW50
ZXJmYWNlTnVtYmVyID0gMDsKLSAgfTsKLSAgVXNiRGV2aWNlX1JlbGVhc2VJbnRlcmZhY2VfUGFy
YW1zLnByb3RvdHlwZS5pbml0RmllbGRzXyA9IGZ1bmN0aW9uKGZpZWxkcykgewotICAgIGZvcih2
YXIgZmllbGQgaW4gZmllbGRzKSB7Ci0gICAgICAgIGlmICh0aGlzLmhhc093blByb3BlcnR5KGZp
ZWxkKSkKLSAgICAgICAgICB0aGlzW2ZpZWxkXSA9IGZpZWxkc1tmaWVsZF07Ci0gICAgfQotICB9
OwotCi0gIFVzYkRldmljZV9SZWxlYXNlSW50ZXJmYWNlX1BhcmFtcy52YWxpZGF0ZSA9IGZ1bmN0
aW9uKG1lc3NhZ2VWYWxpZGF0b3IsIG9mZnNldCkgewotICAgIHZhciBlcnI7Ci0gICAgZXJyID0g
bWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdEhlYWRlcihvZmZzZXQsIGNvZGVjLmtTdHJ1
Y3RIZWFkZXJTaXplKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9y
Lk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICB2YXIga1ZlcnNpb25TaXplcyA9IFsK
LSAgICAgIHt2ZXJzaW9uOiAwLCBudW1CeXRlczogMTZ9Ci0gICAgXTsKLSAgICBlcnIgPSBtZXNz
YWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0VmVyc2lvbihvZmZzZXQsIGtWZXJzaW9uU2l6ZXMp
OwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAg
ICAgcmV0dXJuIGVycjsKLQotCi0gICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3Iu
Tk9ORTsKLSAgfTsKLQotICBVc2JEZXZpY2VfUmVsZWFzZUludGVyZmFjZV9QYXJhbXMuZW5jb2Rl
ZFNpemUgPSBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDg7Ci0KLSAgVXNiRGV2aWNlX1JlbGVh
c2VJbnRlcmZhY2VfUGFyYW1zLmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICB2YXIg
cGFja2VkOwotICAgIHZhciB2YWwgPSBuZXcgVXNiRGV2aWNlX1JlbGVhc2VJbnRlcmZhY2VfUGFy
YW1zKCk7Ci0gICAgdmFyIG51bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAg
ICB2YXIgdmVyc2lvbiA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhbC5pbnRlcmZhY2VO
dW1iZXIgPSBkZWNvZGVyLmRlY29kZVN0cnVjdChjb2RlYy5VaW50OCk7Ci0gICAgZGVjb2Rlci5z
a2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAg
ZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAo
MSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIHJldHVybiB2YWw7Ci0gIH07Ci0KLSAgVXNi
RGV2aWNlX1JlbGVhc2VJbnRlcmZhY2VfUGFyYW1zLmVuY29kZSA9IGZ1bmN0aW9uKGVuY29kZXIs
IHZhbCkgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMihVc2JEZXZp
Y2VfUmVsZWFzZUludGVyZmFjZV9QYXJhbXMuZW5jb2RlZFNpemUpOwotICAgIGVuY29kZXIud3Jp
dGVVaW50MzIoMCk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3QoY29kZWMuVWludDgsIHZhbC5p
bnRlcmZhY2VOdW1iZXIpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAo
MSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNv
ZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsK
LSAgfTsKLSAgZnVuY3Rpb24gVXNiRGV2aWNlX1JlbGVhc2VJbnRlcmZhY2VfUmVzcG9uc2VQYXJh
bXModmFsdWVzKSB7Ci0gICAgdGhpcy5pbml0RGVmYXVsdHNfKCk7Ci0gICAgdGhpcy5pbml0Rmll
bGRzXyh2YWx1ZXMpOwotICB9Ci0KLQotICBVc2JEZXZpY2VfUmVsZWFzZUludGVyZmFjZV9SZXNw
b25zZVBhcmFtcy5wcm90b3R5cGUuaW5pdERlZmF1bHRzXyA9IGZ1bmN0aW9uKCkgewotICAgIHRo
aXMuc3VjY2VzcyA9IGZhbHNlOwotICB9OwotICBVc2JEZXZpY2VfUmVsZWFzZUludGVyZmFjZV9S
ZXNwb25zZVBhcmFtcy5wcm90b3R5cGUuaW5pdEZpZWxkc18gPSBmdW5jdGlvbihmaWVsZHMpIHsK
LSAgICBmb3IodmFyIGZpZWxkIGluIGZpZWxkcykgewotICAgICAgICBpZiAodGhpcy5oYXNPd25Q
cm9wZXJ0eShmaWVsZCkpCi0gICAgICAgICAgdGhpc1tmaWVsZF0gPSBmaWVsZHNbZmllbGRdOwot
ICAgIH0KLSAgfTsKLQotICBVc2JEZXZpY2VfUmVsZWFzZUludGVyZmFjZV9SZXNwb25zZVBhcmFt
cy52YWxpZGF0ZSA9IGZ1bmN0aW9uKG1lc3NhZ2VWYWxpZGF0b3IsIG9mZnNldCkgewotICAgIHZh
ciBlcnI7Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdEhlYWRlcihv
ZmZzZXQsIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0
b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICB2YXIg
a1ZlcnNpb25TaXplcyA9IFsKLSAgICAgIHt2ZXJzaW9uOiAwLCBudW1CeXRlczogMTZ9Ci0gICAg
XTsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0VmVyc2lvbihvZmZz
ZXQsIGtWZXJzaW9uU2l6ZXMpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9u
RXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0gICAgcmV0dXJuIHZhbGlkYXRv
ci52YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQotICBVc2JEZXZpY2VfUmVsZWFzZUludGVy
ZmFjZV9SZXNwb25zZVBhcmFtcy5lbmNvZGVkU2l6ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXpl
ICsgODsKLQotICBVc2JEZXZpY2VfUmVsZWFzZUludGVyZmFjZV9SZXNwb25zZVBhcmFtcy5kZWNv
ZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICB2YXIgdmFsID0g
bmV3IFVzYkRldmljZV9SZWxlYXNlSW50ZXJmYWNlX1Jlc3BvbnNlUGFyYW1zKCk7Ci0gICAgdmFy
IG51bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YXIgdmVyc2lvbiA9
IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHBhY2tlZCA9IGRlY29kZXIucmVhZFVpbnQ4KCk7
Ci0gICAgdmFsLnN1Y2Nlc3MgPSAocGFja2VkID4+IDApICYgMSA/IHRydWUgOiBmYWxzZTsKLSAg
ICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tp
cCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRl
Y29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgcmV0dXJuIHZhbDsKLSAg
fTsKLQotICBVc2JEZXZpY2VfUmVsZWFzZUludGVyZmFjZV9SZXNwb25zZVBhcmFtcy5lbmNvZGUg
PSBmdW5jdGlvbihlbmNvZGVyLCB2YWwpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIGVuY29kZXIu
d3JpdGVVaW50MzIoVXNiRGV2aWNlX1JlbGVhc2VJbnRlcmZhY2VfUmVzcG9uc2VQYXJhbXMuZW5j
b2RlZFNpemUpOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoMCk7Ci0gICAgcGFja2VkID0gMDsK
LSAgICBwYWNrZWQgfD0gKHZhbC5zdWNjZXNzICYgMSkgPDwgMAotICAgIGVuY29kZXIud3JpdGVV
aW50OChwYWNrZWQpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7
Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVy
LnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAg
fTsKLSAgZnVuY3Rpb24gVXNiRGV2aWNlX1NldEludGVyZmFjZUFsdGVybmF0ZVNldHRpbmdfUGFy
YW1zKHZhbHVlcykgewotICAgIHRoaXMuaW5pdERlZmF1bHRzXygpOwotICAgIHRoaXMuaW5pdEZp
ZWxkc18odmFsdWVzKTsKLSAgfQotCi0KLSAgVXNiRGV2aWNlX1NldEludGVyZmFjZUFsdGVybmF0
ZVNldHRpbmdfUGFyYW1zLnByb3RvdHlwZS5pbml0RGVmYXVsdHNfID0gZnVuY3Rpb24oKSB7Ci0g
ICAgdGhpcy5pbnRlcmZhY2VOdW1iZXIgPSAwOwotICAgIHRoaXMuYWx0ZXJuYXRlU2V0dGluZyA9
IDA7Ci0gIH07Ci0gIFVzYkRldmljZV9TZXRJbnRlcmZhY2VBbHRlcm5hdGVTZXR0aW5nX1BhcmFt
cy5wcm90b3R5cGUuaW5pdEZpZWxkc18gPSBmdW5jdGlvbihmaWVsZHMpIHsKLSAgICBmb3IodmFy
IGZpZWxkIGluIGZpZWxkcykgewotICAgICAgICBpZiAodGhpcy5oYXNPd25Qcm9wZXJ0eShmaWVs
ZCkpCi0gICAgICAgICAgdGhpc1tmaWVsZF0gPSBmaWVsZHNbZmllbGRdOwotICAgIH0KLSAgfTsK
LQotICBVc2JEZXZpY2VfU2V0SW50ZXJmYWNlQWx0ZXJuYXRlU2V0dGluZ19QYXJhbXMudmFsaWRh
dGUgPSBmdW5jdGlvbihtZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsKLSAgICB2YXIgZXJyOwot
ICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RIZWFkZXIob2Zmc2V0LCBj
b2RlYy5rU3RydWN0SGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlk
YXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgdmFyIGtWZXJzaW9u
U2l6ZXMgPSBbCi0gICAgICB7dmVyc2lvbjogMCwgbnVtQnl0ZXM6IDE2fQotICAgIF07Ci0gICAg
ZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFZlcnNpb24ob2Zmc2V0LCBrVmVy
c2lvblNpemVzKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5P
TkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotCi0gICAgcmV0dXJuIHZhbGlkYXRvci52YWxp
ZGF0aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQotICBVc2JEZXZpY2VfU2V0SW50ZXJmYWNlQWx0ZXJu
YXRlU2V0dGluZ19QYXJhbXMuZW5jb2RlZFNpemUgPSBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSAr
IDg7Ci0KLSAgVXNiRGV2aWNlX1NldEludGVyZmFjZUFsdGVybmF0ZVNldHRpbmdfUGFyYW1zLmRl
Y29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIHZhciB2YWwg
PSBuZXcgVXNiRGV2aWNlX1NldEludGVyZmFjZUFsdGVybmF0ZVNldHRpbmdfUGFyYW1zKCk7Ci0g
ICAgdmFyIG51bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YXIgdmVy
c2lvbiA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhbC5pbnRlcmZhY2VOdW1iZXIgPSBk
ZWNvZGVyLmRlY29kZVN0cnVjdChjb2RlYy5VaW50OCk7Ci0gICAgdmFsLmFsdGVybmF0ZVNldHRp
bmcgPSBkZWNvZGVyLmRlY29kZVN0cnVjdChjb2RlYy5VaW50OCk7Ci0gICAgZGVjb2Rlci5za2lw
KDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVj
b2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7
Ci0gICAgcmV0dXJuIHZhbDsKLSAgfTsKLQotICBVc2JEZXZpY2VfU2V0SW50ZXJmYWNlQWx0ZXJu
YXRlU2V0dGluZ19QYXJhbXMuZW5jb2RlID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAg
dmFyIHBhY2tlZDsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKFVzYkRldmljZV9TZXRJbnRlcmZh
Y2VBbHRlcm5hdGVTZXR0aW5nX1BhcmFtcy5lbmNvZGVkU2l6ZSk7Ci0gICAgZW5jb2Rlci53cml0
ZVVpbnQzMigwKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdChjb2RlYy5VaW50OCwgdmFsLmlu
dGVyZmFjZU51bWJlcik7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3QoY29kZWMuVWludDgsIHZh
bC5hbHRlcm5hdGVTZXR0aW5nKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5z
a2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAg
ZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgfTsKLSAgZnVuY3Rpb24g
VXNiRGV2aWNlX1NldEludGVyZmFjZUFsdGVybmF0ZVNldHRpbmdfUmVzcG9uc2VQYXJhbXModmFs
dWVzKSB7Ci0gICAgdGhpcy5pbml0RGVmYXVsdHNfKCk7Ci0gICAgdGhpcy5pbml0RmllbGRzXyh2
YWx1ZXMpOwotICB9Ci0KLQotICBVc2JEZXZpY2VfU2V0SW50ZXJmYWNlQWx0ZXJuYXRlU2V0dGlu
Z19SZXNwb25zZVBhcmFtcy5wcm90b3R5cGUuaW5pdERlZmF1bHRzXyA9IGZ1bmN0aW9uKCkgewot
ICAgIHRoaXMuc3VjY2VzcyA9IGZhbHNlOwotICB9OwotICBVc2JEZXZpY2VfU2V0SW50ZXJmYWNl
QWx0ZXJuYXRlU2V0dGluZ19SZXNwb25zZVBhcmFtcy5wcm90b3R5cGUuaW5pdEZpZWxkc18gPSBm
dW5jdGlvbihmaWVsZHMpIHsKLSAgICBmb3IodmFyIGZpZWxkIGluIGZpZWxkcykgewotICAgICAg
ICBpZiAodGhpcy5oYXNPd25Qcm9wZXJ0eShmaWVsZCkpCi0gICAgICAgICAgdGhpc1tmaWVsZF0g
PSBmaWVsZHNbZmllbGRdOwotICAgIH0KLSAgfTsKLQotICBVc2JEZXZpY2VfU2V0SW50ZXJmYWNl
QWx0ZXJuYXRlU2V0dGluZ19SZXNwb25zZVBhcmFtcy52YWxpZGF0ZSA9IGZ1bmN0aW9uKG1lc3Nh
Z2VWYWxpZGF0b3IsIG9mZnNldCkgewotICAgIHZhciBlcnI7Ci0gICAgZXJyID0gbWVzc2FnZVZh
bGlkYXRvci52YWxpZGF0ZVN0cnVjdEhlYWRlcihvZmZzZXQsIGNvZGVjLmtTdHJ1Y3RIZWFkZXJT
aXplKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0g
ICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICB2YXIga1ZlcnNpb25TaXplcyA9IFsKLSAgICAgIHt2
ZXJzaW9uOiAwLCBudW1CeXRlczogMTZ9Ci0gICAgXTsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRh
dG9yLnZhbGlkYXRlU3RydWN0VmVyc2lvbihvZmZzZXQsIGtWZXJzaW9uU2l6ZXMpOwotICAgIGlm
IChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJu
IGVycjsKLQotCi0gICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAg
fTsKLQotICBVc2JEZXZpY2VfU2V0SW50ZXJmYWNlQWx0ZXJuYXRlU2V0dGluZ19SZXNwb25zZVBh
cmFtcy5lbmNvZGVkU2l6ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgODsKLQotICBVc2JE
ZXZpY2VfU2V0SW50ZXJmYWNlQWx0ZXJuYXRlU2V0dGluZ19SZXNwb25zZVBhcmFtcy5kZWNvZGUg
PSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICB2YXIgdmFsID0gbmV3
IFVzYkRldmljZV9TZXRJbnRlcmZhY2VBbHRlcm5hdGVTZXR0aW5nX1Jlc3BvbnNlUGFyYW1zKCk7
Ci0gICAgdmFyIG51bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YXIg
dmVyc2lvbiA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHBhY2tlZCA9IGRlY29kZXIucmVh
ZFVpbnQ4KCk7Ci0gICAgdmFsLnN1Y2Nlc3MgPSAocGFja2VkID4+IDApICYgMSA/IHRydWUgOiBm
YWxzZTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRl
Y29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEp
OwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgcmV0dXJu
IHZhbDsKLSAgfTsKLQotICBVc2JEZXZpY2VfU2V0SW50ZXJmYWNlQWx0ZXJuYXRlU2V0dGluZ19S
ZXNwb25zZVBhcmFtcy5lbmNvZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2YWwpIHsKLSAgICB2YXIg
cGFja2VkOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoVXNiRGV2aWNlX1NldEludGVyZmFjZUFs
dGVybmF0ZVNldHRpbmdfUmVzcG9uc2VQYXJhbXMuZW5jb2RlZFNpemUpOwotICAgIGVuY29kZXIu
d3JpdGVVaW50MzIoMCk7Ci0gICAgcGFja2VkID0gMDsKLSAgICBwYWNrZWQgfD0gKHZhbC5zdWNj
ZXNzICYgMSkgPDwgMAotICAgIGVuY29kZXIud3JpdGVVaW50OChwYWNrZWQpOwotICAgIGVuY29k
ZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwot
ICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5z
a2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgfTsKLSAgZnVuY3Rpb24gVXNiRGV2aWNl
X1Jlc2V0X1BhcmFtcyh2YWx1ZXMpIHsKLSAgICB0aGlzLmluaXREZWZhdWx0c18oKTsKLSAgICB0
aGlzLmluaXRGaWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0gIFVzYkRldmljZV9SZXNldF9QYXJh
bXMucHJvdG90eXBlLmluaXREZWZhdWx0c18gPSBmdW5jdGlvbigpIHsKLSAgfTsKLSAgVXNiRGV2
aWNlX1Jlc2V0X1BhcmFtcy5wcm90b3R5cGUuaW5pdEZpZWxkc18gPSBmdW5jdGlvbihmaWVsZHMp
IHsKLSAgICBmb3IodmFyIGZpZWxkIGluIGZpZWxkcykgewotICAgICAgICBpZiAodGhpcy5oYXNP
d25Qcm9wZXJ0eShmaWVsZCkpCi0gICAgICAgICAgdGhpc1tmaWVsZF0gPSBmaWVsZHNbZmllbGRd
OwotICAgIH0KLSAgfTsKLQotICBVc2JEZXZpY2VfUmVzZXRfUGFyYW1zLnZhbGlkYXRlID0gZnVu
Y3Rpb24obWVzc2FnZVZhbGlkYXRvciwgb2Zmc2V0KSB7Ci0gICAgdmFyIGVycjsKLSAgICBlcnIg
PSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0SGVhZGVyKG9mZnNldCwgY29kZWMua1N0
cnVjdEhlYWRlclNpemUpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJy
b3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHZhciBrVmVyc2lvblNpemVzID0g
WwotICAgICAge3ZlcnNpb246IDAsIG51bUJ5dGVzOiA4fQotICAgIF07Ci0gICAgZXJyID0gbWVz
c2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFZlcnNpb24ob2Zmc2V0LCBrVmVyc2lvblNpemVz
KTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAg
ICAgIHJldHVybiBlcnI7Ci0KLSAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5O
T05FOwotICB9OwotCi0gIFVzYkRldmljZV9SZXNldF9QYXJhbXMuZW5jb2RlZFNpemUgPSBjb2Rl
Yy5rU3RydWN0SGVhZGVyU2l6ZSArIDA7Ci0KLSAgVXNiRGV2aWNlX1Jlc2V0X1BhcmFtcy5kZWNv
ZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICB2YXIgdmFsID0g
bmV3IFVzYkRldmljZV9SZXNldF9QYXJhbXMoKTsKLSAgICB2YXIgbnVtYmVyT2ZCeXRlcyA9IGRl
Y29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhciB2ZXJzaW9uID0gZGVjb2Rlci5yZWFkVWludDMy
KCk7Ci0gICAgcmV0dXJuIHZhbDsKLSAgfTsKLQotICBVc2JEZXZpY2VfUmVzZXRfUGFyYW1zLmVu
Y29kZSA9IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgZW5j
b2Rlci53cml0ZVVpbnQzMihVc2JEZXZpY2VfUmVzZXRfUGFyYW1zLmVuY29kZWRTaXplKTsKLSAg
ICBlbmNvZGVyLndyaXRlVWludDMyKDApOwotICB9OwotICBmdW5jdGlvbiBVc2JEZXZpY2VfUmVz
ZXRfUmVzcG9uc2VQYXJhbXModmFsdWVzKSB7Ci0gICAgdGhpcy5pbml0RGVmYXVsdHNfKCk7Ci0g
ICAgdGhpcy5pbml0RmllbGRzXyh2YWx1ZXMpOwotICB9Ci0KLQotICBVc2JEZXZpY2VfUmVzZXRf
UmVzcG9uc2VQYXJhbXMucHJvdG90eXBlLmluaXREZWZhdWx0c18gPSBmdW5jdGlvbigpIHsKLSAg
ICB0aGlzLnN1Y2Nlc3MgPSBmYWxzZTsKLSAgfTsKLSAgVXNiRGV2aWNlX1Jlc2V0X1Jlc3BvbnNl
UGFyYW1zLnByb3RvdHlwZS5pbml0RmllbGRzXyA9IGZ1bmN0aW9uKGZpZWxkcykgewotICAgIGZv
cih2YXIgZmllbGQgaW4gZmllbGRzKSB7Ci0gICAgICAgIGlmICh0aGlzLmhhc093blByb3BlcnR5
KGZpZWxkKSkKLSAgICAgICAgICB0aGlzW2ZpZWxkXSA9IGZpZWxkc1tmaWVsZF07Ci0gICAgfQot
ICB9OwotCi0gIFVzYkRldmljZV9SZXNldF9SZXNwb25zZVBhcmFtcy52YWxpZGF0ZSA9IGZ1bmN0
aW9uKG1lc3NhZ2VWYWxpZGF0b3IsIG9mZnNldCkgewotICAgIHZhciBlcnI7Ci0gICAgZXJyID0g
bWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdEhlYWRlcihvZmZzZXQsIGNvZGVjLmtTdHJ1
Y3RIZWFkZXJTaXplKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9y
Lk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICB2YXIga1ZlcnNpb25TaXplcyA9IFsK
LSAgICAgIHt2ZXJzaW9uOiAwLCBudW1CeXRlczogMTZ9Ci0gICAgXTsKLSAgICBlcnIgPSBtZXNz
YWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0VmVyc2lvbihvZmZzZXQsIGtWZXJzaW9uU2l6ZXMp
OwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAg
ICAgcmV0dXJuIGVycjsKLQotCi0gICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3Iu
Tk9ORTsKLSAgfTsKLQotICBVc2JEZXZpY2VfUmVzZXRfUmVzcG9uc2VQYXJhbXMuZW5jb2RlZFNp
emUgPSBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDg7Ci0KLSAgVXNiRGV2aWNlX1Jlc2V0X1Jl
c3BvbnNlUGFyYW1zLmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICB2YXIgcGFja2Vk
OwotICAgIHZhciB2YWwgPSBuZXcgVXNiRGV2aWNlX1Jlc2V0X1Jlc3BvbnNlUGFyYW1zKCk7Ci0g
ICAgdmFyIG51bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YXIgdmVy
c2lvbiA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHBhY2tlZCA9IGRlY29kZXIucmVhZFVp
bnQ4KCk7Ci0gICAgdmFsLnN1Y2Nlc3MgPSAocGFja2VkID4+IDApICYgMSA/IHRydWUgOiBmYWxz
ZTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29k
ZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwot
ICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgcmV0dXJuIHZh
bDsKLSAgfTsKLQotICBVc2JEZXZpY2VfUmVzZXRfUmVzcG9uc2VQYXJhbXMuZW5jb2RlID0gZnVu
Y3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICBlbmNvZGVyLndyaXRl
VWludDMyKFVzYkRldmljZV9SZXNldF9SZXNwb25zZVBhcmFtcy5lbmNvZGVkU2l6ZSk7Ci0gICAg
ZW5jb2Rlci53cml0ZVVpbnQzMigwKTsKLSAgICBwYWNrZWQgPSAwOwotICAgIHBhY2tlZCB8PSAo
dmFsLnN1Y2Nlc3MgJiAxKSA8PCAwCi0gICAgZW5jb2Rlci53cml0ZVVpbnQ4KHBhY2tlZCk7Ci0g
ICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNr
aXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBl
bmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICB9OwotICBmdW5jdGlvbiBV
c2JEZXZpY2VfQ2xlYXJIYWx0X1BhcmFtcyh2YWx1ZXMpIHsKLSAgICB0aGlzLmluaXREZWZhdWx0
c18oKTsKLSAgICB0aGlzLmluaXRGaWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0gIFVzYkRldmlj
ZV9DbGVhckhhbHRfUGFyYW1zLnByb3RvdHlwZS5pbml0RGVmYXVsdHNfID0gZnVuY3Rpb24oKSB7
Ci0gICAgdGhpcy5lbmRwb2ludCA9IDA7Ci0gIH07Ci0gIFVzYkRldmljZV9DbGVhckhhbHRfUGFy
YW1zLnByb3RvdHlwZS5pbml0RmllbGRzXyA9IGZ1bmN0aW9uKGZpZWxkcykgewotICAgIGZvcih2
YXIgZmllbGQgaW4gZmllbGRzKSB7Ci0gICAgICAgIGlmICh0aGlzLmhhc093blByb3BlcnR5KGZp
ZWxkKSkKLSAgICAgICAgICB0aGlzW2ZpZWxkXSA9IGZpZWxkc1tmaWVsZF07Ci0gICAgfQotICB9
OwotCi0gIFVzYkRldmljZV9DbGVhckhhbHRfUGFyYW1zLnZhbGlkYXRlID0gZnVuY3Rpb24obWVz
c2FnZVZhbGlkYXRvciwgb2Zmc2V0KSB7Ci0gICAgdmFyIGVycjsKLSAgICBlcnIgPSBtZXNzYWdl
VmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0SGVhZGVyKG9mZnNldCwgY29kZWMua1N0cnVjdEhlYWRl
clNpemUpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkK
LSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHZhciBrVmVyc2lvblNpemVzID0gWwotICAgICAg
e3ZlcnNpb246IDAsIG51bUJ5dGVzOiAxNn0KLSAgICBdOwotICAgIGVyciA9IG1lc3NhZ2VWYWxp
ZGF0b3IudmFsaWRhdGVTdHJ1Y3RWZXJzaW9uKG9mZnNldCwga1ZlcnNpb25TaXplcyk7Ci0gICAg
aWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1
cm4gZXJyOwotCi0KLSAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwot
ICB9OwotCi0gIFVzYkRldmljZV9DbGVhckhhbHRfUGFyYW1zLmVuY29kZWRTaXplID0gY29kZWMu
a1N0cnVjdEhlYWRlclNpemUgKyA4OwotCi0gIFVzYkRldmljZV9DbGVhckhhbHRfUGFyYW1zLmRl
Y29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIHZhciB2YWwg
PSBuZXcgVXNiRGV2aWNlX0NsZWFySGFsdF9QYXJhbXMoKTsKLSAgICB2YXIgbnVtYmVyT2ZCeXRl
cyA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhciB2ZXJzaW9uID0gZGVjb2Rlci5yZWFk
VWludDMyKCk7Ci0gICAgdmFsLmVuZHBvaW50ID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoY29kZWMu
VWludDgpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAg
ZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAo
MSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICByZXR1
cm4gdmFsOwotICB9OwotCi0gIFVzYkRldmljZV9DbGVhckhhbHRfUGFyYW1zLmVuY29kZSA9IGZ1
bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgZW5jb2Rlci53cml0
ZVVpbnQzMihVc2JEZXZpY2VfQ2xlYXJIYWx0X1BhcmFtcy5lbmNvZGVkU2l6ZSk7Ci0gICAgZW5j
b2Rlci53cml0ZVVpbnQzMigwKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdChjb2RlYy5VaW50
OCwgdmFsLmVuZHBvaW50KTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lw
KDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5j
b2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7
Ci0gIH07Ci0gIGZ1bmN0aW9uIFVzYkRldmljZV9DbGVhckhhbHRfUmVzcG9uc2VQYXJhbXModmFs
dWVzKSB7Ci0gICAgdGhpcy5pbml0RGVmYXVsdHNfKCk7Ci0gICAgdGhpcy5pbml0RmllbGRzXyh2
YWx1ZXMpOwotICB9Ci0KLQotICBVc2JEZXZpY2VfQ2xlYXJIYWx0X1Jlc3BvbnNlUGFyYW1zLnBy
b3RvdHlwZS5pbml0RGVmYXVsdHNfID0gZnVuY3Rpb24oKSB7Ci0gICAgdGhpcy5zdWNjZXNzID0g
ZmFsc2U7Ci0gIH07Ci0gIFVzYkRldmljZV9DbGVhckhhbHRfUmVzcG9uc2VQYXJhbXMucHJvdG90
eXBlLmluaXRGaWVsZHNfID0gZnVuY3Rpb24oZmllbGRzKSB7Ci0gICAgZm9yKHZhciBmaWVsZCBp
biBmaWVsZHMpIHsKLSAgICAgICAgaWYgKHRoaXMuaGFzT3duUHJvcGVydHkoZmllbGQpKQotICAg
ICAgICAgIHRoaXNbZmllbGRdID0gZmllbGRzW2ZpZWxkXTsKLSAgICB9Ci0gIH07Ci0KLSAgVXNi
RGV2aWNlX0NsZWFySGFsdF9SZXNwb25zZVBhcmFtcy52YWxpZGF0ZSA9IGZ1bmN0aW9uKG1lc3Nh
Z2VWYWxpZGF0b3IsIG9mZnNldCkgewotICAgIHZhciBlcnI7Ci0gICAgZXJyID0gbWVzc2FnZVZh
bGlkYXRvci52YWxpZGF0ZVN0cnVjdEhlYWRlcihvZmZzZXQsIGNvZGVjLmtTdHJ1Y3RIZWFkZXJT
aXplKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0g
ICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICB2YXIga1ZlcnNpb25TaXplcyA9IFsKLSAgICAgIHt2
ZXJzaW9uOiAwLCBudW1CeXRlczogMTZ9Ci0gICAgXTsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRh
dG9yLnZhbGlkYXRlU3RydWN0VmVyc2lvbihvZmZzZXQsIGtWZXJzaW9uU2l6ZXMpOwotICAgIGlm
IChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJu
IGVycjsKLQotCi0gICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAg
fTsKLQotICBVc2JEZXZpY2VfQ2xlYXJIYWx0X1Jlc3BvbnNlUGFyYW1zLmVuY29kZWRTaXplID0g
Y29kZWMua1N0cnVjdEhlYWRlclNpemUgKyA4OwotCi0gIFVzYkRldmljZV9DbGVhckhhbHRfUmVz
cG9uc2VQYXJhbXMuZGVjb2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHZhciBwYWNrZWQ7
Ci0gICAgdmFyIHZhbCA9IG5ldyBVc2JEZXZpY2VfQ2xlYXJIYWx0X1Jlc3BvbnNlUGFyYW1zKCk7
Ci0gICAgdmFyIG51bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YXIg
dmVyc2lvbiA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHBhY2tlZCA9IGRlY29kZXIucmVh
ZFVpbnQ4KCk7Ci0gICAgdmFsLnN1Y2Nlc3MgPSAocGFja2VkID4+IDApICYgMSA/IHRydWUgOiBm
YWxzZTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRl
Y29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEp
OwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgcmV0dXJu
IHZhbDsKLSAgfTsKLQotICBVc2JEZXZpY2VfQ2xlYXJIYWx0X1Jlc3BvbnNlUGFyYW1zLmVuY29k
ZSA9IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgZW5jb2Rl
ci53cml0ZVVpbnQzMihVc2JEZXZpY2VfQ2xlYXJIYWx0X1Jlc3BvbnNlUGFyYW1zLmVuY29kZWRT
aXplKTsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKDApOwotICAgIHBhY2tlZCA9IDA7Ci0gICAg
cGFja2VkIHw9ICh2YWwuc3VjY2VzcyAmIDEpIDw8IDAKLSAgICBlbmNvZGVyLndyaXRlVWludDgo
cGFja2VkKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAg
IGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lw
KDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gIH07Ci0g
IGZ1bmN0aW9uIFVzYkRldmljZV9Db250cm9sVHJhbnNmZXJJbl9QYXJhbXModmFsdWVzKSB7Ci0g
ICAgdGhpcy5pbml0RGVmYXVsdHNfKCk7Ci0gICAgdGhpcy5pbml0RmllbGRzXyh2YWx1ZXMpOwot
ICB9Ci0KLQotICBVc2JEZXZpY2VfQ29udHJvbFRyYW5zZmVySW5fUGFyYW1zLnByb3RvdHlwZS5p
bml0RGVmYXVsdHNfID0gZnVuY3Rpb24oKSB7Ci0gICAgdGhpcy5wYXJhbXMgPSBudWxsOwotICAg
IHRoaXMubGVuZ3RoID0gMDsKLSAgICB0aGlzLnRpbWVvdXQgPSAwOwotICB9OwotICBVc2JEZXZp
Y2VfQ29udHJvbFRyYW5zZmVySW5fUGFyYW1zLnByb3RvdHlwZS5pbml0RmllbGRzXyA9IGZ1bmN0
aW9uKGZpZWxkcykgewotICAgIGZvcih2YXIgZmllbGQgaW4gZmllbGRzKSB7Ci0gICAgICAgIGlm
ICh0aGlzLmhhc093blByb3BlcnR5KGZpZWxkKSkKLSAgICAgICAgICB0aGlzW2ZpZWxkXSA9IGZp
ZWxkc1tmaWVsZF07Ci0gICAgfQotICB9OwotCi0gIFVzYkRldmljZV9Db250cm9sVHJhbnNmZXJJ
bl9QYXJhbXMudmFsaWRhdGUgPSBmdW5jdGlvbihtZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsK
LSAgICB2YXIgZXJyOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RI
ZWFkZXIob2Zmc2V0LCBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVyciAhPT0g
dmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0g
ICAgdmFyIGtWZXJzaW9uU2l6ZXMgPSBbCi0gICAgICB7dmVyc2lvbjogMCwgbnVtQnl0ZXM6IDI0
fQotICAgIF07Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFZlcnNp
b24ob2Zmc2V0LCBrVmVyc2lvblNpemVzKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFs
aWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotICAgIC8vIHZhbGlk
YXRlIFVzYkRldmljZV9Db250cm9sVHJhbnNmZXJJbl9QYXJhbXMucGFyYW1zCi0gICAgZXJyID0g
bWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFBvaW50ZXIob2Zmc2V0ICsgY29kZWMua1N0
cnVjdEhlYWRlclNpemUgKyAwLCBVc2JDb250cm9sVHJhbnNmZXJQYXJhbXMsIGZhbHNlKTsKLSAg
ICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJl
dHVybiBlcnI7Ci0KLQotCi0gICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9O
RTsKLSAgfTsKLQotICBVc2JEZXZpY2VfQ29udHJvbFRyYW5zZmVySW5fUGFyYW1zLmVuY29kZWRT
aXplID0gY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyAxNjsKLQotICBVc2JEZXZpY2VfQ29udHJv
bFRyYW5zZmVySW5fUGFyYW1zLmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICB2YXIg
cGFja2VkOwotICAgIHZhciB2YWwgPSBuZXcgVXNiRGV2aWNlX0NvbnRyb2xUcmFuc2ZlckluX1Bh
cmFtcygpOwotICAgIHZhciBudW1iZXJPZkJ5dGVzID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0g
ICAgdmFyIHZlcnNpb24gPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YWwucGFyYW1zID0g
ZGVjb2Rlci5kZWNvZGVTdHJ1Y3RQb2ludGVyKFVzYkNvbnRyb2xUcmFuc2ZlclBhcmFtcyk7Ci0g
ICAgdmFsLmxlbmd0aCA9IGRlY29kZXIuZGVjb2RlU3RydWN0KGNvZGVjLlVpbnQzMik7Ci0gICAg
dmFsLnRpbWVvdXQgPSBkZWNvZGVyLmRlY29kZVN0cnVjdChjb2RlYy5VaW50MzIpOwotICAgIHJl
dHVybiB2YWw7Ci0gIH07Ci0KLSAgVXNiRGV2aWNlX0NvbnRyb2xUcmFuc2ZlckluX1BhcmFtcy5l
bmNvZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2YWwpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIGVu
Y29kZXIud3JpdGVVaW50MzIoVXNiRGV2aWNlX0NvbnRyb2xUcmFuc2ZlckluX1BhcmFtcy5lbmNv
ZGVkU2l6ZSk7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMigwKTsKLSAgICBlbmNvZGVyLmVuY29k
ZVN0cnVjdFBvaW50ZXIoVXNiQ29udHJvbFRyYW5zZmVyUGFyYW1zLCB2YWwucGFyYW1zKTsKLSAg
ICBlbmNvZGVyLmVuY29kZVN0cnVjdChjb2RlYy5VaW50MzIsIHZhbC5sZW5ndGgpOwotICAgIGVu
Y29kZXIuZW5jb2RlU3RydWN0KGNvZGVjLlVpbnQzMiwgdmFsLnRpbWVvdXQpOwotICB9OwotICBm
dW5jdGlvbiBVc2JEZXZpY2VfQ29udHJvbFRyYW5zZmVySW5fUmVzcG9uc2VQYXJhbXModmFsdWVz
KSB7Ci0gICAgdGhpcy5pbml0RGVmYXVsdHNfKCk7Ci0gICAgdGhpcy5pbml0RmllbGRzXyh2YWx1
ZXMpOwotICB9Ci0KLQotICBVc2JEZXZpY2VfQ29udHJvbFRyYW5zZmVySW5fUmVzcG9uc2VQYXJh
bXMucHJvdG90eXBlLmluaXREZWZhdWx0c18gPSBmdW5jdGlvbigpIHsKLSAgICB0aGlzLnN0YXR1
cyA9IDA7Ci0gICAgdGhpcy5kYXRhID0gbnVsbDsKLSAgfTsKLSAgVXNiRGV2aWNlX0NvbnRyb2xU
cmFuc2ZlckluX1Jlc3BvbnNlUGFyYW1zLnByb3RvdHlwZS5pbml0RmllbGRzXyA9IGZ1bmN0aW9u
KGZpZWxkcykgewotICAgIGZvcih2YXIgZmllbGQgaW4gZmllbGRzKSB7Ci0gICAgICAgIGlmICh0
aGlzLmhhc093blByb3BlcnR5KGZpZWxkKSkKLSAgICAgICAgICB0aGlzW2ZpZWxkXSA9IGZpZWxk
c1tmaWVsZF07Ci0gICAgfQotICB9OwotCi0gIFVzYkRldmljZV9Db250cm9sVHJhbnNmZXJJbl9S
ZXNwb25zZVBhcmFtcy52YWxpZGF0ZSA9IGZ1bmN0aW9uKG1lc3NhZ2VWYWxpZGF0b3IsIG9mZnNl
dCkgewotICAgIHZhciBlcnI7Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0
cnVjdEhlYWRlcihvZmZzZXQsIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplKTsKLSAgICBpZiAoZXJy
ICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7
Ci0KLSAgICB2YXIga1ZlcnNpb25TaXplcyA9IFsKLSAgICAgIHt2ZXJzaW9uOiAwLCBudW1CeXRl
czogMjR9Ci0gICAgXTsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0
VmVyc2lvbihvZmZzZXQsIGtWZXJzaW9uU2l6ZXMpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRv
ci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0gICAgLy8g
dmFsaWRhdGUgVXNiRGV2aWNlX0NvbnRyb2xUcmFuc2ZlckluX1Jlc3BvbnNlUGFyYW1zLnN0YXR1
cwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVFbnVtKG9mZnNldCArIGNvZGVj
LmtTdHJ1Y3RIZWFkZXJTaXplICsgMCwgVXNiVHJhbnNmZXJTdGF0dXMpOwotICAgIGlmIChlcnIg
IT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsK
LQotCi0gICAgLy8gdmFsaWRhdGUgVXNiRGV2aWNlX0NvbnRyb2xUcmFuc2ZlckluX1Jlc3BvbnNl
UGFyYW1zLmRhdGEKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlQXJyYXlQb2lu
dGVyKG9mZnNldCArIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgOCwgMSwgY29kZWMuVWludDgs
IGZhbHNlLCBbMF0sIDApOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJy
b3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHJldHVybiB2YWxpZGF0b3IudmFs
aWRhdGlvbkVycm9yLk5PTkU7Ci0gIH07Ci0KLSAgVXNiRGV2aWNlX0NvbnRyb2xUcmFuc2Zlcklu
X1Jlc3BvbnNlUGFyYW1zLmVuY29kZWRTaXplID0gY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyAx
NjsKLQotICBVc2JEZXZpY2VfQ29udHJvbFRyYW5zZmVySW5fUmVzcG9uc2VQYXJhbXMuZGVjb2Rl
ID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgdmFyIHZhbCA9IG5l
dyBVc2JEZXZpY2VfQ29udHJvbFRyYW5zZmVySW5fUmVzcG9uc2VQYXJhbXMoKTsKLSAgICB2YXIg
bnVtYmVyT2ZCeXRlcyA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhciB2ZXJzaW9uID0g
ZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFsLnN0YXR1cyA9IGRlY29kZXIuZGVjb2RlU3Ry
dWN0KGNvZGVjLkludDMyKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lw
KDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgdmFs
LmRhdGEgPSBkZWNvZGVyLmRlY29kZUFycmF5UG9pbnRlcihjb2RlYy5VaW50OCk7Ci0gICAgcmV0
dXJuIHZhbDsKLSAgfTsKLQotICBVc2JEZXZpY2VfQ29udHJvbFRyYW5zZmVySW5fUmVzcG9uc2VQ
YXJhbXMuZW5jb2RlID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAgdmFyIHBhY2tlZDsK
LSAgICBlbmNvZGVyLndyaXRlVWludDMyKFVzYkRldmljZV9Db250cm9sVHJhbnNmZXJJbl9SZXNw
b25zZVBhcmFtcy5lbmNvZGVkU2l6ZSk7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMigwKTsKLSAg
ICBlbmNvZGVyLmVuY29kZVN0cnVjdChjb2RlYy5JbnQzMiwgdmFsLnN0YXR1cyk7Ci0gICAgZW5j
b2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7
Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuZW5jb2RlQXJyYXlQb2ludGVyKGNv
ZGVjLlVpbnQ4LCB2YWwuZGF0YSk7Ci0gIH07Ci0gIGZ1bmN0aW9uIFVzYkRldmljZV9Db250cm9s
VHJhbnNmZXJPdXRfUGFyYW1zKHZhbHVlcykgewotICAgIHRoaXMuaW5pdERlZmF1bHRzXygpOwot
ICAgIHRoaXMuaW5pdEZpZWxkc18odmFsdWVzKTsKLSAgfQotCi0KLSAgVXNiRGV2aWNlX0NvbnRy
b2xUcmFuc2Zlck91dF9QYXJhbXMucHJvdG90eXBlLmluaXREZWZhdWx0c18gPSBmdW5jdGlvbigp
IHsKLSAgICB0aGlzLnBhcmFtcyA9IG51bGw7Ci0gICAgdGhpcy5kYXRhID0gbnVsbDsKLSAgICB0
aGlzLnRpbWVvdXQgPSAwOwotICB9OwotICBVc2JEZXZpY2VfQ29udHJvbFRyYW5zZmVyT3V0X1Bh
cmFtcy5wcm90b3R5cGUuaW5pdEZpZWxkc18gPSBmdW5jdGlvbihmaWVsZHMpIHsKLSAgICBmb3Io
dmFyIGZpZWxkIGluIGZpZWxkcykgewotICAgICAgICBpZiAodGhpcy5oYXNPd25Qcm9wZXJ0eShm
aWVsZCkpCi0gICAgICAgICAgdGhpc1tmaWVsZF0gPSBmaWVsZHNbZmllbGRdOwotICAgIH0KLSAg
fTsKLQotICBVc2JEZXZpY2VfQ29udHJvbFRyYW5zZmVyT3V0X1BhcmFtcy52YWxpZGF0ZSA9IGZ1
bmN0aW9uKG1lc3NhZ2VWYWxpZGF0b3IsIG9mZnNldCkgewotICAgIHZhciBlcnI7Ci0gICAgZXJy
ID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdEhlYWRlcihvZmZzZXQsIGNvZGVjLmtT
dHJ1Y3RIZWFkZXJTaXplKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVy
cm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICB2YXIga1ZlcnNpb25TaXplcyA9
IFsKLSAgICAgIHt2ZXJzaW9uOiAwLCBudW1CeXRlczogMzJ9Ci0gICAgXTsKLSAgICBlcnIgPSBt
ZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0VmVyc2lvbihvZmZzZXQsIGtWZXJzaW9uU2l6
ZXMpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAg
ICAgICAgcmV0dXJuIGVycjsKLQotCi0gICAgLy8gdmFsaWRhdGUgVXNiRGV2aWNlX0NvbnRyb2xU
cmFuc2Zlck91dF9QYXJhbXMucGFyYW1zCi0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxp
ZGF0ZVN0cnVjdFBvaW50ZXIob2Zmc2V0ICsgY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyAwLCBV
c2JDb250cm9sVHJhbnNmZXJQYXJhbXMsIGZhbHNlKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0
b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotICAgIC8v
IHZhbGlkYXRlIFVzYkRldmljZV9Db250cm9sVHJhbnNmZXJPdXRfUGFyYW1zLmRhdGEKLSAgICBl
cnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlQXJyYXlQb2ludGVyKG9mZnNldCArIGNvZGVj
LmtTdHJ1Y3RIZWFkZXJTaXplICsgOCwgMSwgY29kZWMuVWludDgsIGZhbHNlLCBbMF0sIDApOwot
ICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAg
cmV0dXJuIGVycjsKLQotCi0gICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9O
RTsKLSAgfTsKLQotICBVc2JEZXZpY2VfQ29udHJvbFRyYW5zZmVyT3V0X1BhcmFtcy5lbmNvZGVk
U2l6ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgMjQ7Ci0KLSAgVXNiRGV2aWNlX0NvbnRy
b2xUcmFuc2Zlck91dF9QYXJhbXMuZGVjb2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHZh
ciBwYWNrZWQ7Ci0gICAgdmFyIHZhbCA9IG5ldyBVc2JEZXZpY2VfQ29udHJvbFRyYW5zZmVyT3V0
X1BhcmFtcygpOwotICAgIHZhciBudW1iZXJPZkJ5dGVzID0gZGVjb2Rlci5yZWFkVWludDMyKCk7
Ci0gICAgdmFyIHZlcnNpb24gPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YWwucGFyYW1z
ID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3RQb2ludGVyKFVzYkNvbnRyb2xUcmFuc2ZlclBhcmFtcyk7
Ci0gICAgdmFsLmRhdGEgPSBkZWNvZGVyLmRlY29kZUFycmF5UG9pbnRlcihjb2RlYy5VaW50OCk7
Ci0gICAgdmFsLnRpbWVvdXQgPSBkZWNvZGVyLmRlY29kZVN0cnVjdChjb2RlYy5VaW50MzIpOwot
ICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5z
a2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICByZXR1cm4gdmFsOwotICB9OwotCi0g
IFVzYkRldmljZV9Db250cm9sVHJhbnNmZXJPdXRfUGFyYW1zLmVuY29kZSA9IGZ1bmN0aW9uKGVu
Y29kZXIsIHZhbCkgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMihV
c2JEZXZpY2VfQ29udHJvbFRyYW5zZmVyT3V0X1BhcmFtcy5lbmNvZGVkU2l6ZSk7Ci0gICAgZW5j
b2Rlci53cml0ZVVpbnQzMigwKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdFBvaW50ZXIoVXNi
Q29udHJvbFRyYW5zZmVyUGFyYW1zLCB2YWwucGFyYW1zKTsKLSAgICBlbmNvZGVyLmVuY29kZUFy
cmF5UG9pbnRlcihjb2RlYy5VaW50OCwgdmFsLmRhdGEpOwotICAgIGVuY29kZXIuZW5jb2RlU3Ry
dWN0KGNvZGVjLlVpbnQzMiwgdmFsLnRpbWVvdXQpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAg
ICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tp
cCgxKTsKLSAgfTsKLSAgZnVuY3Rpb24gVXNiRGV2aWNlX0NvbnRyb2xUcmFuc2Zlck91dF9SZXNw
b25zZVBhcmFtcyh2YWx1ZXMpIHsKLSAgICB0aGlzLmluaXREZWZhdWx0c18oKTsKLSAgICB0aGlz
LmluaXRGaWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0gIFVzYkRldmljZV9Db250cm9sVHJhbnNm
ZXJPdXRfUmVzcG9uc2VQYXJhbXMucHJvdG90eXBlLmluaXREZWZhdWx0c18gPSBmdW5jdGlvbigp
IHsKLSAgICB0aGlzLnN0YXR1cyA9IDA7Ci0gIH07Ci0gIFVzYkRldmljZV9Db250cm9sVHJhbnNm
ZXJPdXRfUmVzcG9uc2VQYXJhbXMucHJvdG90eXBlLmluaXRGaWVsZHNfID0gZnVuY3Rpb24oZmll
bGRzKSB7Ci0gICAgZm9yKHZhciBmaWVsZCBpbiBmaWVsZHMpIHsKLSAgICAgICAgaWYgKHRoaXMu
aGFzT3duUHJvcGVydHkoZmllbGQpKQotICAgICAgICAgIHRoaXNbZmllbGRdID0gZmllbGRzW2Zp
ZWxkXTsKLSAgICB9Ci0gIH07Ci0KLSAgVXNiRGV2aWNlX0NvbnRyb2xUcmFuc2Zlck91dF9SZXNw
b25zZVBhcmFtcy52YWxpZGF0ZSA9IGZ1bmN0aW9uKG1lc3NhZ2VWYWxpZGF0b3IsIG9mZnNldCkg
ewotICAgIHZhciBlcnI7Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVj
dEhlYWRlcihvZmZzZXQsIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplKTsKLSAgICBpZiAoZXJyICE9
PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0K
LSAgICB2YXIga1ZlcnNpb25TaXplcyA9IFsKLSAgICAgIHt2ZXJzaW9uOiAwLCBudW1CeXRlczog
MTZ9Ci0gICAgXTsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0VmVy
c2lvbihvZmZzZXQsIGtWZXJzaW9uU2l6ZXMpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52
YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0gICAgLy8gdmFs
aWRhdGUgVXNiRGV2aWNlX0NvbnRyb2xUcmFuc2Zlck91dF9SZXNwb25zZVBhcmFtcy5zdGF0dXMK
LSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlRW51bShvZmZzZXQgKyBjb2RlYy5r
U3RydWN0SGVhZGVyU2l6ZSArIDAsIFVzYlRyYW5zZmVyU3RhdHVzKTsKLSAgICBpZiAoZXJyICE9
PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0K
LSAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIFVz
YkRldmljZV9Db250cm9sVHJhbnNmZXJPdXRfUmVzcG9uc2VQYXJhbXMuZW5jb2RlZFNpemUgPSBj
b2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDg7Ci0KLSAgVXNiRGV2aWNlX0NvbnRyb2xUcmFuc2Zl
ck91dF9SZXNwb25zZVBhcmFtcy5kZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgdmFy
IHBhY2tlZDsKLSAgICB2YXIgdmFsID0gbmV3IFVzYkRldmljZV9Db250cm9sVHJhbnNmZXJPdXRf
UmVzcG9uc2VQYXJhbXMoKTsKLSAgICB2YXIgbnVtYmVyT2ZCeXRlcyA9IGRlY29kZXIucmVhZFVp
bnQzMigpOwotICAgIHZhciB2ZXJzaW9uID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFs
LnN0YXR1cyA9IGRlY29kZXIuZGVjb2RlU3RydWN0KGNvZGVjLkludDMyKTsKLSAgICBkZWNvZGVy
LnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAg
ICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgcmV0dXJuIHZhbDsKLSAgfTsKLQotICBVc2JEZXZpY2Vf
Q29udHJvbFRyYW5zZmVyT3V0X1Jlc3BvbnNlUGFyYW1zLmVuY29kZSA9IGZ1bmN0aW9uKGVuY29k
ZXIsIHZhbCkgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMihVc2JE
ZXZpY2VfQ29udHJvbFRyYW5zZmVyT3V0X1Jlc3BvbnNlUGFyYW1zLmVuY29kZWRTaXplKTsKLSAg
ICBlbmNvZGVyLndyaXRlVWludDMyKDApOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNvZGVj
LkludDMyLCB2YWwuc3RhdHVzKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5z
a2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gIH07
Ci0gIGZ1bmN0aW9uIFVzYkRldmljZV9HZW5lcmljVHJhbnNmZXJJbl9QYXJhbXModmFsdWVzKSB7
Ci0gICAgdGhpcy5pbml0RGVmYXVsdHNfKCk7Ci0gICAgdGhpcy5pbml0RmllbGRzXyh2YWx1ZXMp
OwotICB9Ci0KLQotICBVc2JEZXZpY2VfR2VuZXJpY1RyYW5zZmVySW5fUGFyYW1zLnByb3RvdHlw
ZS5pbml0RGVmYXVsdHNfID0gZnVuY3Rpb24oKSB7Ci0gICAgdGhpcy5lbmRwb2ludE51bWJlciA9
IDA7Ci0gICAgdGhpcy5sZW5ndGggPSAwOwotICAgIHRoaXMudGltZW91dCA9IDA7Ci0gIH07Ci0g
IFVzYkRldmljZV9HZW5lcmljVHJhbnNmZXJJbl9QYXJhbXMucHJvdG90eXBlLmluaXRGaWVsZHNf
ID0gZnVuY3Rpb24oZmllbGRzKSB7Ci0gICAgZm9yKHZhciBmaWVsZCBpbiBmaWVsZHMpIHsKLSAg
ICAgICAgaWYgKHRoaXMuaGFzT3duUHJvcGVydHkoZmllbGQpKQotICAgICAgICAgIHRoaXNbZmll
bGRdID0gZmllbGRzW2ZpZWxkXTsKLSAgICB9Ci0gIH07Ci0KLSAgVXNiRGV2aWNlX0dlbmVyaWNU
cmFuc2ZlckluX1BhcmFtcy52YWxpZGF0ZSA9IGZ1bmN0aW9uKG1lc3NhZ2VWYWxpZGF0b3IsIG9m
ZnNldCkgewotICAgIHZhciBlcnI7Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0
ZVN0cnVjdEhlYWRlcihvZmZzZXQsIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplKTsKLSAgICBpZiAo
ZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBl
cnI7Ci0KLSAgICB2YXIga1ZlcnNpb25TaXplcyA9IFsKLSAgICAgIHt2ZXJzaW9uOiAwLCBudW1C
eXRlczogMjR9Ci0gICAgXTsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3Ry
dWN0VmVyc2lvbihvZmZzZXQsIGtWZXJzaW9uU2l6ZXMpOwotICAgIGlmIChlcnIgIT09IHZhbGlk
YXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0KLQot
ICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gIH07Ci0KLSAgVXNi
RGV2aWNlX0dlbmVyaWNUcmFuc2ZlckluX1BhcmFtcy5lbmNvZGVkU2l6ZSA9IGNvZGVjLmtTdHJ1
Y3RIZWFkZXJTaXplICsgMTY7Ci0KLSAgVXNiRGV2aWNlX0dlbmVyaWNUcmFuc2ZlckluX1BhcmFt
cy5kZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICB2YXIg
dmFsID0gbmV3IFVzYkRldmljZV9HZW5lcmljVHJhbnNmZXJJbl9QYXJhbXMoKTsKLSAgICB2YXIg
bnVtYmVyT2ZCeXRlcyA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhciB2ZXJzaW9uID0g
ZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFsLmVuZHBvaW50TnVtYmVyID0gZGVjb2Rlci5k
ZWNvZGVTdHJ1Y3QoY29kZWMuVWludDgpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNv
ZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIHZhbC5sZW5ndGggPSBkZWNv
ZGVyLmRlY29kZVN0cnVjdChjb2RlYy5VaW50MzIpOwotICAgIHZhbC50aW1lb3V0ID0gZGVjb2Rl
ci5kZWNvZGVTdHJ1Y3QoY29kZWMuVWludDMyKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAg
ZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAo
MSk7Ci0gICAgcmV0dXJuIHZhbDsKLSAgfTsKLQotICBVc2JEZXZpY2VfR2VuZXJpY1RyYW5zZmVy
SW5fUGFyYW1zLmVuY29kZSA9IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgIHZhciBwYWNr
ZWQ7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMihVc2JEZXZpY2VfR2VuZXJpY1RyYW5zZmVySW5f
UGFyYW1zLmVuY29kZWRTaXplKTsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKDApOwotICAgIGVu
Y29kZXIuZW5jb2RlU3RydWN0KGNvZGVjLlVpbnQ4LCB2YWwuZW5kcG9pbnROdW1iZXIpOwotICAg
IGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lw
KDEpOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNvZGVjLlVpbnQzMiwgdmFsLmxlbmd0aCk7
Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3QoY29kZWMuVWludDMyLCB2YWwudGltZW91dCk7Ci0g
ICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNr
aXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICB9OwotICBmdW5jdGlvbiBVc2JEZXZpY2Vf
R2VuZXJpY1RyYW5zZmVySW5fUmVzcG9uc2VQYXJhbXModmFsdWVzKSB7Ci0gICAgdGhpcy5pbml0
RGVmYXVsdHNfKCk7Ci0gICAgdGhpcy5pbml0RmllbGRzXyh2YWx1ZXMpOwotICB9Ci0KLQotICBV
c2JEZXZpY2VfR2VuZXJpY1RyYW5zZmVySW5fUmVzcG9uc2VQYXJhbXMucHJvdG90eXBlLmluaXRE
ZWZhdWx0c18gPSBmdW5jdGlvbigpIHsKLSAgICB0aGlzLnN0YXR1cyA9IDA7Ci0gICAgdGhpcy5k
YXRhID0gbnVsbDsKLSAgfTsKLSAgVXNiRGV2aWNlX0dlbmVyaWNUcmFuc2ZlckluX1Jlc3BvbnNl
UGFyYW1zLnByb3RvdHlwZS5pbml0RmllbGRzXyA9IGZ1bmN0aW9uKGZpZWxkcykgewotICAgIGZv
cih2YXIgZmllbGQgaW4gZmllbGRzKSB7Ci0gICAgICAgIGlmICh0aGlzLmhhc093blByb3BlcnR5
KGZpZWxkKSkKLSAgICAgICAgICB0aGlzW2ZpZWxkXSA9IGZpZWxkc1tmaWVsZF07Ci0gICAgfQot
ICB9OwotCi0gIFVzYkRldmljZV9HZW5lcmljVHJhbnNmZXJJbl9SZXNwb25zZVBhcmFtcy52YWxp
ZGF0ZSA9IGZ1bmN0aW9uKG1lc3NhZ2VWYWxpZGF0b3IsIG9mZnNldCkgewotICAgIHZhciBlcnI7
Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdEhlYWRlcihvZmZzZXQs
IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFs
aWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICB2YXIga1ZlcnNp
b25TaXplcyA9IFsKLSAgICAgIHt2ZXJzaW9uOiAwLCBudW1CeXRlczogMjR9Ci0gICAgXTsKLSAg
ICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0VmVyc2lvbihvZmZzZXQsIGtW
ZXJzaW9uU2l6ZXMpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3Iu
Tk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0gICAgLy8gdmFsaWRhdGUgVXNiRGV2aWNl
X0dlbmVyaWNUcmFuc2ZlckluX1Jlc3BvbnNlUGFyYW1zLnN0YXR1cwotICAgIGVyciA9IG1lc3Nh
Z2VWYWxpZGF0b3IudmFsaWRhdGVFbnVtKG9mZnNldCArIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXpl
ICsgMCwgVXNiVHJhbnNmZXJTdGF0dXMpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxp
ZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0gICAgLy8gdmFsaWRh
dGUgVXNiRGV2aWNlX0dlbmVyaWNUcmFuc2ZlckluX1Jlc3BvbnNlUGFyYW1zLmRhdGEKLSAgICBl
cnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlQXJyYXlQb2ludGVyKG9mZnNldCArIGNvZGVj
LmtTdHJ1Y3RIZWFkZXJTaXplICsgOCwgMSwgY29kZWMuVWludDgsIGZhbHNlLCBbMF0sIDApOwot
ICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAg
cmV0dXJuIGVycjsKLQotICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7
Ci0gIH07Ci0KLSAgVXNiRGV2aWNlX0dlbmVyaWNUcmFuc2ZlckluX1Jlc3BvbnNlUGFyYW1zLmVu
Y29kZWRTaXplID0gY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyAxNjsKLQotICBVc2JEZXZpY2Vf
R2VuZXJpY1RyYW5zZmVySW5fUmVzcG9uc2VQYXJhbXMuZGVjb2RlID0gZnVuY3Rpb24oZGVjb2Rl
cikgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgdmFyIHZhbCA9IG5ldyBVc2JEZXZpY2VfR2VuZXJp
Y1RyYW5zZmVySW5fUmVzcG9uc2VQYXJhbXMoKTsKLSAgICB2YXIgbnVtYmVyT2ZCeXRlcyA9IGRl
Y29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhciB2ZXJzaW9uID0gZGVjb2Rlci5yZWFkVWludDMy
KCk7Ci0gICAgdmFsLnN0YXR1cyA9IGRlY29kZXIuZGVjb2RlU3RydWN0KGNvZGVjLkludDMyKTsK
LSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIu
c2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgdmFsLmRhdGEgPSBkZWNvZGVyLmRl
Y29kZUFycmF5UG9pbnRlcihjb2RlYy5VaW50OCk7Ci0gICAgcmV0dXJuIHZhbDsKLSAgfTsKLQot
ICBVc2JEZXZpY2VfR2VuZXJpY1RyYW5zZmVySW5fUmVzcG9uc2VQYXJhbXMuZW5jb2RlID0gZnVu
Y3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICBlbmNvZGVyLndyaXRl
VWludDMyKFVzYkRldmljZV9HZW5lcmljVHJhbnNmZXJJbl9SZXNwb25zZVBhcmFtcy5lbmNvZGVk
U2l6ZSk7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMigwKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0
cnVjdChjb2RlYy5JbnQzMiwgdmFsLnN0YXR1cyk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAg
IGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lw
KDEpOwotICAgIGVuY29kZXIuZW5jb2RlQXJyYXlQb2ludGVyKGNvZGVjLlVpbnQ4LCB2YWwuZGF0
YSk7Ci0gIH07Ci0gIGZ1bmN0aW9uIFVzYkRldmljZV9HZW5lcmljVHJhbnNmZXJPdXRfUGFyYW1z
KHZhbHVlcykgewotICAgIHRoaXMuaW5pdERlZmF1bHRzXygpOwotICAgIHRoaXMuaW5pdEZpZWxk
c18odmFsdWVzKTsKLSAgfQotCi0KLSAgVXNiRGV2aWNlX0dlbmVyaWNUcmFuc2Zlck91dF9QYXJh
bXMucHJvdG90eXBlLmluaXREZWZhdWx0c18gPSBmdW5jdGlvbigpIHsKLSAgICB0aGlzLmVuZHBv
aW50TnVtYmVyID0gMDsKLSAgICB0aGlzLnRpbWVvdXQgPSAwOwotICAgIHRoaXMuZGF0YSA9IG51
bGw7Ci0gIH07Ci0gIFVzYkRldmljZV9HZW5lcmljVHJhbnNmZXJPdXRfUGFyYW1zLnByb3RvdHlw
ZS5pbml0RmllbGRzXyA9IGZ1bmN0aW9uKGZpZWxkcykgewotICAgIGZvcih2YXIgZmllbGQgaW4g
ZmllbGRzKSB7Ci0gICAgICAgIGlmICh0aGlzLmhhc093blByb3BlcnR5KGZpZWxkKSkKLSAgICAg
ICAgICB0aGlzW2ZpZWxkXSA9IGZpZWxkc1tmaWVsZF07Ci0gICAgfQotICB9OwotCi0gIFVzYkRl
dmljZV9HZW5lcmljVHJhbnNmZXJPdXRfUGFyYW1zLnZhbGlkYXRlID0gZnVuY3Rpb24obWVzc2Fn
ZVZhbGlkYXRvciwgb2Zmc2V0KSB7Ci0gICAgdmFyIGVycjsKLSAgICBlcnIgPSBtZXNzYWdlVmFs
aWRhdG9yLnZhbGlkYXRlU3RydWN0SGVhZGVyKG9mZnNldCwgY29kZWMua1N0cnVjdEhlYWRlclNp
emUpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAg
ICAgICAgcmV0dXJuIGVycjsKLQotICAgIHZhciBrVmVyc2lvblNpemVzID0gWwotICAgICAge3Zl
cnNpb246IDAsIG51bUJ5dGVzOiAyNH0KLSAgICBdOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0
b3IudmFsaWRhdGVTdHJ1Y3RWZXJzaW9uKG9mZnNldCwga1ZlcnNpb25TaXplcyk7Ci0gICAgaWYg
KGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4g
ZXJyOwotCi0KLQotICAgIC8vIHZhbGlkYXRlIFVzYkRldmljZV9HZW5lcmljVHJhbnNmZXJPdXRf
UGFyYW1zLmRhdGEKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlQXJyYXlQb2lu
dGVyKG9mZnNldCArIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgOCwgMSwgY29kZWMuVWludDgs
IGZhbHNlLCBbMF0sIDApOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJy
b3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0gICAgcmV0dXJuIHZhbGlkYXRvci52
YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQotICBVc2JEZXZpY2VfR2VuZXJpY1RyYW5zZmVy
T3V0X1BhcmFtcy5lbmNvZGVkU2l6ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgMTY7Ci0K
LSAgVXNiRGV2aWNlX0dlbmVyaWNUcmFuc2Zlck91dF9QYXJhbXMuZGVjb2RlID0gZnVuY3Rpb24o
ZGVjb2RlcikgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgdmFyIHZhbCA9IG5ldyBVc2JEZXZpY2Vf
R2VuZXJpY1RyYW5zZmVyT3V0X1BhcmFtcygpOwotICAgIHZhciBudW1iZXJPZkJ5dGVzID0gZGVj
b2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFyIHZlcnNpb24gPSBkZWNvZGVyLnJlYWRVaW50MzIo
KTsKLSAgICB2YWwuZW5kcG9pbnROdW1iZXIgPSBkZWNvZGVyLmRlY29kZVN0cnVjdChjb2RlYy5V
aW50OCk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBk
ZWNvZGVyLnNraXAoMSk7Ci0gICAgdmFsLnRpbWVvdXQgPSBkZWNvZGVyLmRlY29kZVN0cnVjdChj
b2RlYy5VaW50MzIpOwotICAgIHZhbC5kYXRhID0gZGVjb2Rlci5kZWNvZGVBcnJheVBvaW50ZXIo
Y29kZWMuVWludDgpOwotICAgIHJldHVybiB2YWw7Ci0gIH07Ci0KLSAgVXNiRGV2aWNlX0dlbmVy
aWNUcmFuc2Zlck91dF9QYXJhbXMuZW5jb2RlID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0g
ICAgdmFyIHBhY2tlZDsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKFVzYkRldmljZV9HZW5lcmlj
VHJhbnNmZXJPdXRfUGFyYW1zLmVuY29kZWRTaXplKTsKLSAgICBlbmNvZGVyLndyaXRlVWludDMy
KDApOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNvZGVjLlVpbnQ4LCB2YWwuZW5kcG9pbnRO
dW1iZXIpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAg
ZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNvZGVjLlVpbnQzMiwg
dmFsLnRpbWVvdXQpOwotICAgIGVuY29kZXIuZW5jb2RlQXJyYXlQb2ludGVyKGNvZGVjLlVpbnQ4
LCB2YWwuZGF0YSk7Ci0gIH07Ci0gIGZ1bmN0aW9uIFVzYkRldmljZV9HZW5lcmljVHJhbnNmZXJP
dXRfUmVzcG9uc2VQYXJhbXModmFsdWVzKSB7Ci0gICAgdGhpcy5pbml0RGVmYXVsdHNfKCk7Ci0g
ICAgdGhpcy5pbml0RmllbGRzXyh2YWx1ZXMpOwotICB9Ci0KLQotICBVc2JEZXZpY2VfR2VuZXJp
Y1RyYW5zZmVyT3V0X1Jlc3BvbnNlUGFyYW1zLnByb3RvdHlwZS5pbml0RGVmYXVsdHNfID0gZnVu
Y3Rpb24oKSB7Ci0gICAgdGhpcy5zdGF0dXMgPSAwOwotICB9OwotICBVc2JEZXZpY2VfR2VuZXJp
Y1RyYW5zZmVyT3V0X1Jlc3BvbnNlUGFyYW1zLnByb3RvdHlwZS5pbml0RmllbGRzXyA9IGZ1bmN0
aW9uKGZpZWxkcykgewotICAgIGZvcih2YXIgZmllbGQgaW4gZmllbGRzKSB7Ci0gICAgICAgIGlm
ICh0aGlzLmhhc093blByb3BlcnR5KGZpZWxkKSkKLSAgICAgICAgICB0aGlzW2ZpZWxkXSA9IGZp
ZWxkc1tmaWVsZF07Ci0gICAgfQotICB9OwotCi0gIFVzYkRldmljZV9HZW5lcmljVHJhbnNmZXJP
dXRfUmVzcG9uc2VQYXJhbXMudmFsaWRhdGUgPSBmdW5jdGlvbihtZXNzYWdlVmFsaWRhdG9yLCBv
ZmZzZXQpIHsKLSAgICB2YXIgZXJyOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRh
dGVTdHJ1Y3RIZWFkZXIob2Zmc2V0LCBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSk7Ci0gICAgaWYg
KGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4g
ZXJyOwotCi0gICAgdmFyIGtWZXJzaW9uU2l6ZXMgPSBbCi0gICAgICB7dmVyc2lvbjogMCwgbnVt
Qnl0ZXM6IDE2fQotICAgIF07Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0
cnVjdFZlcnNpb24ob2Zmc2V0LCBrVmVyc2lvblNpemVzKTsKLSAgICBpZiAoZXJyICE9PSB2YWxp
ZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotICAg
IC8vIHZhbGlkYXRlIFVzYkRldmljZV9HZW5lcmljVHJhbnNmZXJPdXRfUmVzcG9uc2VQYXJhbXMu
c3RhdHVzCi0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZUVudW0ob2Zmc2V0ICsg
Y29kZWMua1N0cnVjdEhlYWRlclNpemUgKyAwLCBVc2JUcmFuc2ZlclN0YXR1cyk7Ci0gICAgaWYg
KGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4g
ZXJyOwotCi0gICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAgfTsK
LQotICBVc2JEZXZpY2VfR2VuZXJpY1RyYW5zZmVyT3V0X1Jlc3BvbnNlUGFyYW1zLmVuY29kZWRT
aXplID0gY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyA4OwotCi0gIFVzYkRldmljZV9HZW5lcmlj
VHJhbnNmZXJPdXRfUmVzcG9uc2VQYXJhbXMuZGVjb2RlID0gZnVuY3Rpb24oZGVjb2Rlcikgewot
ICAgIHZhciBwYWNrZWQ7Ci0gICAgdmFyIHZhbCA9IG5ldyBVc2JEZXZpY2VfR2VuZXJpY1RyYW5z
ZmVyT3V0X1Jlc3BvbnNlUGFyYW1zKCk7Ci0gICAgdmFyIG51bWJlck9mQnl0ZXMgPSBkZWNvZGVy
LnJlYWRVaW50MzIoKTsKLSAgICB2YXIgdmVyc2lvbiA9IGRlY29kZXIucmVhZFVpbnQzMigpOwot
ICAgIHZhbC5zdGF0dXMgPSBkZWNvZGVyLmRlY29kZVN0cnVjdChjb2RlYy5JbnQzMik7Ci0gICAg
ZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAo
MSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIHJldHVybiB2YWw7Ci0gIH07Ci0KLSAgVXNi
RGV2aWNlX0dlbmVyaWNUcmFuc2Zlck91dF9SZXNwb25zZVBhcmFtcy5lbmNvZGUgPSBmdW5jdGlv
bihlbmNvZGVyLCB2YWwpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIGVuY29kZXIud3JpdGVVaW50
MzIoVXNiRGV2aWNlX0dlbmVyaWNUcmFuc2Zlck91dF9SZXNwb25zZVBhcmFtcy5lbmNvZGVkU2l6
ZSk7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMigwKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVj
dChjb2RlYy5JbnQzMiwgdmFsLnN0YXR1cyk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVu
Y29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEp
OwotICB9OwotICBmdW5jdGlvbiBVc2JEZXZpY2VfSXNvY2hyb25vdXNUcmFuc2ZlckluX1BhcmFt
cyh2YWx1ZXMpIHsKLSAgICB0aGlzLmluaXREZWZhdWx0c18oKTsKLSAgICB0aGlzLmluaXRGaWVs
ZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0gIFVzYkRldmljZV9Jc29jaHJvbm91c1RyYW5zZmVySW5f
UGFyYW1zLnByb3RvdHlwZS5pbml0RGVmYXVsdHNfID0gZnVuY3Rpb24oKSB7Ci0gICAgdGhpcy5l
bmRwb2ludE51bWJlciA9IDA7Ci0gICAgdGhpcy50aW1lb3V0ID0gMDsKLSAgICB0aGlzLnBhY2tl
dExlbmd0aHMgPSBudWxsOwotICB9OwotICBVc2JEZXZpY2VfSXNvY2hyb25vdXNUcmFuc2Zlcklu
X1BhcmFtcy5wcm90b3R5cGUuaW5pdEZpZWxkc18gPSBmdW5jdGlvbihmaWVsZHMpIHsKLSAgICBm
b3IodmFyIGZpZWxkIGluIGZpZWxkcykgewotICAgICAgICBpZiAodGhpcy5oYXNPd25Qcm9wZXJ0
eShmaWVsZCkpCi0gICAgICAgICAgdGhpc1tmaWVsZF0gPSBmaWVsZHNbZmllbGRdOwotICAgIH0K
LSAgfTsKLQotICBVc2JEZXZpY2VfSXNvY2hyb25vdXNUcmFuc2ZlckluX1BhcmFtcy52YWxpZGF0
ZSA9IGZ1bmN0aW9uKG1lc3NhZ2VWYWxpZGF0b3IsIG9mZnNldCkgewotICAgIHZhciBlcnI7Ci0g
ICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdEhlYWRlcihvZmZzZXQsIGNv
ZGVjLmtTdHJ1Y3RIZWFkZXJTaXplKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRh
dGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICB2YXIga1ZlcnNpb25T
aXplcyA9IFsKLSAgICAgIHt2ZXJzaW9uOiAwLCBudW1CeXRlczogMjR9Ci0gICAgXTsKLSAgICBl
cnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0VmVyc2lvbihvZmZzZXQsIGtWZXJz
aW9uU2l6ZXMpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9O
RSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0KLSAgICAvLyB2YWxpZGF0ZSBVc2JEZXZpY2Vf
SXNvY2hyb25vdXNUcmFuc2ZlckluX1BhcmFtcy5wYWNrZXRMZW5ndGhzCi0gICAgZXJyID0gbWVz
c2FnZVZhbGlkYXRvci52YWxpZGF0ZUFycmF5UG9pbnRlcihvZmZzZXQgKyBjb2RlYy5rU3RydWN0
SGVhZGVyU2l6ZSArIDgsIDQsIGNvZGVjLlVpbnQzMiwgZmFsc2UsIFswXSwgMCk7Ci0gICAgaWYg
KGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4g
ZXJyOwotCi0KLSAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwotICB9
OwotCi0gIFVzYkRldmljZV9Jc29jaHJvbm91c1RyYW5zZmVySW5fUGFyYW1zLmVuY29kZWRTaXpl
ID0gY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyAxNjsKLQotICBVc2JEZXZpY2VfSXNvY2hyb25v
dXNUcmFuc2ZlckluX1BhcmFtcy5kZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgdmFy
IHBhY2tlZDsKLSAgICB2YXIgdmFsID0gbmV3IFVzYkRldmljZV9Jc29jaHJvbm91c1RyYW5zZmVy
SW5fUGFyYW1zKCk7Ci0gICAgdmFyIG51bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50MzIo
KTsKLSAgICB2YXIgdmVyc2lvbiA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhbC5lbmRw
b2ludE51bWJlciA9IGRlY29kZXIuZGVjb2RlU3RydWN0KGNvZGVjLlVpbnQ4KTsKLSAgICBkZWNv
ZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsK
LSAgICB2YWwudGltZW91dCA9IGRlY29kZXIuZGVjb2RlU3RydWN0KGNvZGVjLlVpbnQzMik7Ci0g
ICAgdmFsLnBhY2tldExlbmd0aHMgPSBkZWNvZGVyLmRlY29kZUFycmF5UG9pbnRlcihjb2RlYy5V
aW50MzIpOwotICAgIHJldHVybiB2YWw7Ci0gIH07Ci0KLSAgVXNiRGV2aWNlX0lzb2Nocm9ub3Vz
VHJhbnNmZXJJbl9QYXJhbXMuZW5jb2RlID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAg
dmFyIHBhY2tlZDsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKFVzYkRldmljZV9Jc29jaHJvbm91
c1RyYW5zZmVySW5fUGFyYW1zLmVuY29kZWRTaXplKTsKLSAgICBlbmNvZGVyLndyaXRlVWludDMy
KDApOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNvZGVjLlVpbnQ4LCB2YWwuZW5kcG9pbnRO
dW1iZXIpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAg
ZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNvZGVjLlVpbnQzMiwg
dmFsLnRpbWVvdXQpOwotICAgIGVuY29kZXIuZW5jb2RlQXJyYXlQb2ludGVyKGNvZGVjLlVpbnQz
MiwgdmFsLnBhY2tldExlbmd0aHMpOwotICB9OwotICBmdW5jdGlvbiBVc2JEZXZpY2VfSXNvY2hy
b25vdXNUcmFuc2ZlckluX1Jlc3BvbnNlUGFyYW1zKHZhbHVlcykgewotICAgIHRoaXMuaW5pdERl
ZmF1bHRzXygpOwotICAgIHRoaXMuaW5pdEZpZWxkc18odmFsdWVzKTsKLSAgfQotCi0KLSAgVXNi
RGV2aWNlX0lzb2Nocm9ub3VzVHJhbnNmZXJJbl9SZXNwb25zZVBhcmFtcy5wcm90b3R5cGUuaW5p
dERlZmF1bHRzXyA9IGZ1bmN0aW9uKCkgewotICAgIHRoaXMuZGF0YSA9IG51bGw7Ci0gICAgdGhp
cy5wYWNrZXRzID0gbnVsbDsKLSAgfTsKLSAgVXNiRGV2aWNlX0lzb2Nocm9ub3VzVHJhbnNmZXJJ
bl9SZXNwb25zZVBhcmFtcy5wcm90b3R5cGUuaW5pdEZpZWxkc18gPSBmdW5jdGlvbihmaWVsZHMp
IHsKLSAgICBmb3IodmFyIGZpZWxkIGluIGZpZWxkcykgewotICAgICAgICBpZiAodGhpcy5oYXNP
d25Qcm9wZXJ0eShmaWVsZCkpCi0gICAgICAgICAgdGhpc1tmaWVsZF0gPSBmaWVsZHNbZmllbGRd
OwotICAgIH0KLSAgfTsKLQotICBVc2JEZXZpY2VfSXNvY2hyb25vdXNUcmFuc2ZlckluX1Jlc3Bv
bnNlUGFyYW1zLnZhbGlkYXRlID0gZnVuY3Rpb24obWVzc2FnZVZhbGlkYXRvciwgb2Zmc2V0KSB7
Ci0gICAgdmFyIGVycjsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0
SGVhZGVyKG9mZnNldCwgY29kZWMua1N0cnVjdEhlYWRlclNpemUpOwotICAgIGlmIChlcnIgIT09
IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQot
ICAgIHZhciBrVmVyc2lvblNpemVzID0gWwotICAgICAge3ZlcnNpb246IDAsIG51bUJ5dGVzOiAy
NH0KLSAgICBdOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RWZXJz
aW9uKG9mZnNldCwga1ZlcnNpb25TaXplcyk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZh
bGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0KLSAgICAvLyB2YWxp
ZGF0ZSBVc2JEZXZpY2VfSXNvY2hyb25vdXNUcmFuc2ZlckluX1Jlc3BvbnNlUGFyYW1zLmRhdGEK
LSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlQXJyYXlQb2ludGVyKG9mZnNldCAr
IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgMCwgMSwgY29kZWMuVWludDgsIGZhbHNlLCBbMF0s
IDApOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAg
ICAgICAgcmV0dXJuIGVycjsKLQotCi0gICAgLy8gdmFsaWRhdGUgVXNiRGV2aWNlX0lzb2Nocm9u
b3VzVHJhbnNmZXJJbl9SZXNwb25zZVBhcmFtcy5wYWNrZXRzCi0gICAgZXJyID0gbWVzc2FnZVZh
bGlkYXRvci52YWxpZGF0ZUFycmF5UG9pbnRlcihvZmZzZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVy
U2l6ZSArIDgsIDgsIG5ldyBjb2RlYy5Qb2ludGVyVG8oVXNiSXNvY2hyb25vdXNQYWNrZXQpLCBm
YWxzZSwgWzBdLCAwKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9y
Lk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlk
YXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIFVzYkRldmljZV9Jc29jaHJvbm91c1RyYW5zZmVy
SW5fUmVzcG9uc2VQYXJhbXMuZW5jb2RlZFNpemUgPSBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSAr
IDE2OwotCi0gIFVzYkRldmljZV9Jc29jaHJvbm91c1RyYW5zZmVySW5fUmVzcG9uc2VQYXJhbXMu
ZGVjb2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgdmFyIHZh
bCA9IG5ldyBVc2JEZXZpY2VfSXNvY2hyb25vdXNUcmFuc2ZlckluX1Jlc3BvbnNlUGFyYW1zKCk7
Ci0gICAgdmFyIG51bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YXIg
dmVyc2lvbiA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhbC5kYXRhID0gZGVjb2Rlci5k
ZWNvZGVBcnJheVBvaW50ZXIoY29kZWMuVWludDgpOwotICAgIHZhbC5wYWNrZXRzID0gZGVjb2Rl
ci5kZWNvZGVBcnJheVBvaW50ZXIobmV3IGNvZGVjLlBvaW50ZXJUbyhVc2JJc29jaHJvbm91c1Bh
Y2tldCkpOwotICAgIHJldHVybiB2YWw7Ci0gIH07Ci0KLSAgVXNiRGV2aWNlX0lzb2Nocm9ub3Vz
VHJhbnNmZXJJbl9SZXNwb25zZVBhcmFtcy5lbmNvZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2YWwp
IHsKLSAgICB2YXIgcGFja2VkOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoVXNiRGV2aWNlX0lz
b2Nocm9ub3VzVHJhbnNmZXJJbl9SZXNwb25zZVBhcmFtcy5lbmNvZGVkU2l6ZSk7Ci0gICAgZW5j
b2Rlci53cml0ZVVpbnQzMigwKTsKLSAgICBlbmNvZGVyLmVuY29kZUFycmF5UG9pbnRlcihjb2Rl
Yy5VaW50OCwgdmFsLmRhdGEpOwotICAgIGVuY29kZXIuZW5jb2RlQXJyYXlQb2ludGVyKG5ldyBj
b2RlYy5Qb2ludGVyVG8oVXNiSXNvY2hyb25vdXNQYWNrZXQpLCB2YWwucGFja2V0cyk7Ci0gIH07
Ci0gIGZ1bmN0aW9uIFVzYkRldmljZV9Jc29jaHJvbm91c1RyYW5zZmVyT3V0X1BhcmFtcyh2YWx1
ZXMpIHsKLSAgICB0aGlzLmluaXREZWZhdWx0c18oKTsKLSAgICB0aGlzLmluaXRGaWVsZHNfKHZh
bHVlcyk7Ci0gIH0KLQotCi0gIFVzYkRldmljZV9Jc29jaHJvbm91c1RyYW5zZmVyT3V0X1BhcmFt
cy5wcm90b3R5cGUuaW5pdERlZmF1bHRzXyA9IGZ1bmN0aW9uKCkgewotICAgIHRoaXMuZW5kcG9p
bnROdW1iZXIgPSAwOwotICAgIHRoaXMudGltZW91dCA9IDA7Ci0gICAgdGhpcy5kYXRhID0gbnVs
bDsKLSAgICB0aGlzLnBhY2tldExlbmd0aHMgPSBudWxsOwotICB9OwotICBVc2JEZXZpY2VfSXNv
Y2hyb25vdXNUcmFuc2Zlck91dF9QYXJhbXMucHJvdG90eXBlLmluaXRGaWVsZHNfID0gZnVuY3Rp
b24oZmllbGRzKSB7Ci0gICAgZm9yKHZhciBmaWVsZCBpbiBmaWVsZHMpIHsKLSAgICAgICAgaWYg
KHRoaXMuaGFzT3duUHJvcGVydHkoZmllbGQpKQotICAgICAgICAgIHRoaXNbZmllbGRdID0gZmll
bGRzW2ZpZWxkXTsKLSAgICB9Ci0gIH07Ci0KLSAgVXNiRGV2aWNlX0lzb2Nocm9ub3VzVHJhbnNm
ZXJPdXRfUGFyYW1zLnZhbGlkYXRlID0gZnVuY3Rpb24obWVzc2FnZVZhbGlkYXRvciwgb2Zmc2V0
KSB7Ci0gICAgdmFyIGVycjsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3Ry
dWN0SGVhZGVyKG9mZnNldCwgY29kZWMua1N0cnVjdEhlYWRlclNpemUpOwotICAgIGlmIChlcnIg
IT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsK
LQotICAgIHZhciBrVmVyc2lvblNpemVzID0gWwotICAgICAge3ZlcnNpb246IDAsIG51bUJ5dGVz
OiAzMn0KLSAgICBdOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RW
ZXJzaW9uKG9mZnNldCwga1ZlcnNpb25TaXplcyk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9y
LnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0KLQotICAgIC8v
IHZhbGlkYXRlIFVzYkRldmljZV9Jc29jaHJvbm91c1RyYW5zZmVyT3V0X1BhcmFtcy5kYXRhCi0g
ICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZUFycmF5UG9pbnRlcihvZmZzZXQgKyBj
b2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDgsIDEsIGNvZGVjLlVpbnQ4LCBmYWxzZSwgWzBdLCAw
KTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAg
ICAgIHJldHVybiBlcnI7Ci0KLQotICAgIC8vIHZhbGlkYXRlIFVzYkRldmljZV9Jc29jaHJvbm91
c1RyYW5zZmVyT3V0X1BhcmFtcy5wYWNrZXRMZW5ndGhzCi0gICAgZXJyID0gbWVzc2FnZVZhbGlk
YXRvci52YWxpZGF0ZUFycmF5UG9pbnRlcihvZmZzZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVyU2l6
ZSArIDE2LCA0LCBjb2RlYy5VaW50MzIsIGZhbHNlLCBbMF0sIDApOwotICAgIGlmIChlcnIgIT09
IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQot
Ci0gICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQotICBV
c2JEZXZpY2VfSXNvY2hyb25vdXNUcmFuc2Zlck91dF9QYXJhbXMuZW5jb2RlZFNpemUgPSBjb2Rl
Yy5rU3RydWN0SGVhZGVyU2l6ZSArIDI0OwotCi0gIFVzYkRldmljZV9Jc29jaHJvbm91c1RyYW5z
ZmVyT3V0X1BhcmFtcy5kZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgdmFyIHBhY2tl
ZDsKLSAgICB2YXIgdmFsID0gbmV3IFVzYkRldmljZV9Jc29jaHJvbm91c1RyYW5zZmVyT3V0X1Bh
cmFtcygpOwotICAgIHZhciBudW1iZXJPZkJ5dGVzID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0g
ICAgdmFyIHZlcnNpb24gPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YWwuZW5kcG9pbnRO
dW1iZXIgPSBkZWNvZGVyLmRlY29kZVN0cnVjdChjb2RlYy5VaW50OCk7Ci0gICAgZGVjb2Rlci5z
a2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAg
dmFsLnRpbWVvdXQgPSBkZWNvZGVyLmRlY29kZVN0cnVjdChjb2RlYy5VaW50MzIpOwotICAgIHZh
bC5kYXRhID0gZGVjb2Rlci5kZWNvZGVBcnJheVBvaW50ZXIoY29kZWMuVWludDgpOwotICAgIHZh
bC5wYWNrZXRMZW5ndGhzID0gZGVjb2Rlci5kZWNvZGVBcnJheVBvaW50ZXIoY29kZWMuVWludDMy
KTsKLSAgICByZXR1cm4gdmFsOwotICB9OwotCi0gIFVzYkRldmljZV9Jc29jaHJvbm91c1RyYW5z
ZmVyT3V0X1BhcmFtcy5lbmNvZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2YWwpIHsKLSAgICB2YXIg
cGFja2VkOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoVXNiRGV2aWNlX0lzb2Nocm9ub3VzVHJh
bnNmZXJPdXRfUGFyYW1zLmVuY29kZWRTaXplKTsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKDAp
OwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNvZGVjLlVpbnQ4LCB2YWwuZW5kcG9pbnROdW1i
ZXIpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5j
b2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNvZGVjLlVpbnQzMiwgdmFs
LnRpbWVvdXQpOwotICAgIGVuY29kZXIuZW5jb2RlQXJyYXlQb2ludGVyKGNvZGVjLlVpbnQ4LCB2
YWwuZGF0YSk7Ci0gICAgZW5jb2Rlci5lbmNvZGVBcnJheVBvaW50ZXIoY29kZWMuVWludDMyLCB2
YWwucGFja2V0TGVuZ3Rocyk7Ci0gIH07Ci0gIGZ1bmN0aW9uIFVzYkRldmljZV9Jc29jaHJvbm91
c1RyYW5zZmVyT3V0X1Jlc3BvbnNlUGFyYW1zKHZhbHVlcykgewotICAgIHRoaXMuaW5pdERlZmF1
bHRzXygpOwotICAgIHRoaXMuaW5pdEZpZWxkc18odmFsdWVzKTsKLSAgfQotCi0KLSAgVXNiRGV2
aWNlX0lzb2Nocm9ub3VzVHJhbnNmZXJPdXRfUmVzcG9uc2VQYXJhbXMucHJvdG90eXBlLmluaXRE
ZWZhdWx0c18gPSBmdW5jdGlvbigpIHsKLSAgICB0aGlzLnBhY2tldHMgPSBudWxsOwotICB9Owot
ICBVc2JEZXZpY2VfSXNvY2hyb25vdXNUcmFuc2Zlck91dF9SZXNwb25zZVBhcmFtcy5wcm90b3R5
cGUuaW5pdEZpZWxkc18gPSBmdW5jdGlvbihmaWVsZHMpIHsKLSAgICBmb3IodmFyIGZpZWxkIGlu
IGZpZWxkcykgewotICAgICAgICBpZiAodGhpcy5oYXNPd25Qcm9wZXJ0eShmaWVsZCkpCi0gICAg
ICAgICAgdGhpc1tmaWVsZF0gPSBmaWVsZHNbZmllbGRdOwotICAgIH0KLSAgfTsKLQotICBVc2JE
ZXZpY2VfSXNvY2hyb25vdXNUcmFuc2Zlck91dF9SZXNwb25zZVBhcmFtcy52YWxpZGF0ZSA9IGZ1
bmN0aW9uKG1lc3NhZ2VWYWxpZGF0b3IsIG9mZnNldCkgewotICAgIHZhciBlcnI7Ci0gICAgZXJy
ID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdEhlYWRlcihvZmZzZXQsIGNvZGVjLmtT
dHJ1Y3RIZWFkZXJTaXplKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVy
cm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICB2YXIga1ZlcnNpb25TaXplcyA9
IFsKLSAgICAgIHt2ZXJzaW9uOiAwLCBudW1CeXRlczogMTZ9Ci0gICAgXTsKLSAgICBlcnIgPSBt
ZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0VmVyc2lvbihvZmZzZXQsIGtWZXJzaW9uU2l6
ZXMpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAg
ICAgICAgcmV0dXJuIGVycjsKLQotCi0gICAgLy8gdmFsaWRhdGUgVXNiRGV2aWNlX0lzb2Nocm9u
b3VzVHJhbnNmZXJPdXRfUmVzcG9uc2VQYXJhbXMucGFja2V0cwotICAgIGVyciA9IG1lc3NhZ2VW
YWxpZGF0b3IudmFsaWRhdGVBcnJheVBvaW50ZXIob2Zmc2V0ICsgY29kZWMua1N0cnVjdEhlYWRl
clNpemUgKyAwLCA4LCBuZXcgY29kZWMuUG9pbnRlclRvKFVzYklzb2Nocm9ub3VzUGFja2V0KSwg
ZmFsc2UsIFswXSwgMCk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJv
ci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgcmV0dXJuIHZhbGlkYXRvci52YWxp
ZGF0aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQotICBVc2JEZXZpY2VfSXNvY2hyb25vdXNUcmFuc2Zl
ck91dF9SZXNwb25zZVBhcmFtcy5lbmNvZGVkU2l6ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXpl
ICsgODsKLQotICBVc2JEZXZpY2VfSXNvY2hyb25vdXNUcmFuc2Zlck91dF9SZXNwb25zZVBhcmFt
cy5kZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICB2YXIg
dmFsID0gbmV3IFVzYkRldmljZV9Jc29jaHJvbm91c1RyYW5zZmVyT3V0X1Jlc3BvbnNlUGFyYW1z
KCk7Ci0gICAgdmFyIG51bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2
YXIgdmVyc2lvbiA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhbC5wYWNrZXRzID0gZGVj
b2Rlci5kZWNvZGVBcnJheVBvaW50ZXIobmV3IGNvZGVjLlBvaW50ZXJUbyhVc2JJc29jaHJvbm91
c1BhY2tldCkpOwotICAgIHJldHVybiB2YWw7Ci0gIH07Ci0KLSAgVXNiRGV2aWNlX0lzb2Nocm9u
b3VzVHJhbnNmZXJPdXRfUmVzcG9uc2VQYXJhbXMuZW5jb2RlID0gZnVuY3Rpb24oZW5jb2Rlciwg
dmFsKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKFVzYkRldmlj
ZV9Jc29jaHJvbm91c1RyYW5zZmVyT3V0X1Jlc3BvbnNlUGFyYW1zLmVuY29kZWRTaXplKTsKLSAg
ICBlbmNvZGVyLndyaXRlVWludDMyKDApOwotICAgIGVuY29kZXIuZW5jb2RlQXJyYXlQb2ludGVy
KG5ldyBjb2RlYy5Qb2ludGVyVG8oVXNiSXNvY2hyb25vdXNQYWNrZXQpLCB2YWwucGFja2V0cyk7
Ci0gIH07Ci0gIGZ1bmN0aW9uIFVzYkRldmljZUNsaWVudF9PbkRldmljZU9wZW5lZF9QYXJhbXMo
dmFsdWVzKSB7Ci0gICAgdGhpcy5pbml0RGVmYXVsdHNfKCk7Ci0gICAgdGhpcy5pbml0RmllbGRz
Xyh2YWx1ZXMpOwotICB9Ci0KLQotICBVc2JEZXZpY2VDbGllbnRfT25EZXZpY2VPcGVuZWRfUGFy
YW1zLnByb3RvdHlwZS5pbml0RGVmYXVsdHNfID0gZnVuY3Rpb24oKSB7Ci0gIH07Ci0gIFVzYkRl
dmljZUNsaWVudF9PbkRldmljZU9wZW5lZF9QYXJhbXMucHJvdG90eXBlLmluaXRGaWVsZHNfID0g
ZnVuY3Rpb24oZmllbGRzKSB7Ci0gICAgZm9yKHZhciBmaWVsZCBpbiBmaWVsZHMpIHsKLSAgICAg
ICAgaWYgKHRoaXMuaGFzT3duUHJvcGVydHkoZmllbGQpKQotICAgICAgICAgIHRoaXNbZmllbGRd
ID0gZmllbGRzW2ZpZWxkXTsKLSAgICB9Ci0gIH07Ci0KLSAgVXNiRGV2aWNlQ2xpZW50X09uRGV2
aWNlT3BlbmVkX1BhcmFtcy52YWxpZGF0ZSA9IGZ1bmN0aW9uKG1lc3NhZ2VWYWxpZGF0b3IsIG9m
ZnNldCkgewotICAgIHZhciBlcnI7Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0
ZVN0cnVjdEhlYWRlcihvZmZzZXQsIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplKTsKLSAgICBpZiAo
ZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBl
cnI7Ci0KLSAgICB2YXIga1ZlcnNpb25TaXplcyA9IFsKLSAgICAgIHt2ZXJzaW9uOiAwLCBudW1C
eXRlczogOH0KLSAgICBdOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1
Y3RWZXJzaW9uKG9mZnNldCwga1ZlcnNpb25TaXplcyk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRh
dG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgcmV0
dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQotICBVc2JEZXZpY2VD
bGllbnRfT25EZXZpY2VPcGVuZWRfUGFyYW1zLmVuY29kZWRTaXplID0gY29kZWMua1N0cnVjdEhl
YWRlclNpemUgKyAwOwotCi0gIFVzYkRldmljZUNsaWVudF9PbkRldmljZU9wZW5lZF9QYXJhbXMu
ZGVjb2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgdmFyIHZh
bCA9IG5ldyBVc2JEZXZpY2VDbGllbnRfT25EZXZpY2VPcGVuZWRfUGFyYW1zKCk7Ci0gICAgdmFy
IG51bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YXIgdmVyc2lvbiA9
IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHJldHVybiB2YWw7Ci0gIH07Ci0KLSAgVXNiRGV2
aWNlQ2xpZW50X09uRGV2aWNlT3BlbmVkX1BhcmFtcy5lbmNvZGUgPSBmdW5jdGlvbihlbmNvZGVy
LCB2YWwpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoVXNiRGV2
aWNlQ2xpZW50X09uRGV2aWNlT3BlbmVkX1BhcmFtcy5lbmNvZGVkU2l6ZSk7Ci0gICAgZW5jb2Rl
ci53cml0ZVVpbnQzMigwKTsKLSAgfTsKLSAgZnVuY3Rpb24gVXNiRGV2aWNlQ2xpZW50X09uRGV2
aWNlQ2xvc2VkX1BhcmFtcyh2YWx1ZXMpIHsKLSAgICB0aGlzLmluaXREZWZhdWx0c18oKTsKLSAg
ICB0aGlzLmluaXRGaWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0gIFVzYkRldmljZUNsaWVudF9P
bkRldmljZUNsb3NlZF9QYXJhbXMucHJvdG90eXBlLmluaXREZWZhdWx0c18gPSBmdW5jdGlvbigp
IHsKLSAgfTsKLSAgVXNiRGV2aWNlQ2xpZW50X09uRGV2aWNlQ2xvc2VkX1BhcmFtcy5wcm90b3R5
cGUuaW5pdEZpZWxkc18gPSBmdW5jdGlvbihmaWVsZHMpIHsKLSAgICBmb3IodmFyIGZpZWxkIGlu
IGZpZWxkcykgewotICAgICAgICBpZiAodGhpcy5oYXNPd25Qcm9wZXJ0eShmaWVsZCkpCi0gICAg
ICAgICAgdGhpc1tmaWVsZF0gPSBmaWVsZHNbZmllbGRdOwotICAgIH0KLSAgfTsKLQotICBVc2JE
ZXZpY2VDbGllbnRfT25EZXZpY2VDbG9zZWRfUGFyYW1zLnZhbGlkYXRlID0gZnVuY3Rpb24obWVz
c2FnZVZhbGlkYXRvciwgb2Zmc2V0KSB7Ci0gICAgdmFyIGVycjsKLSAgICBlcnIgPSBtZXNzYWdl
VmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0SGVhZGVyKG9mZnNldCwgY29kZWMua1N0cnVjdEhlYWRl
clNpemUpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkK
LSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHZhciBrVmVyc2lvblNpemVzID0gWwotICAgICAg
e3ZlcnNpb246IDAsIG51bUJ5dGVzOiA4fQotICAgIF07Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlk
YXRvci52YWxpZGF0ZVN0cnVjdFZlcnNpb24ob2Zmc2V0LCBrVmVyc2lvblNpemVzKTsKLSAgICBp
ZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVy
biBlcnI7Ci0KLSAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwotICB9
OwotCi0gIFVzYkRldmljZUNsaWVudF9PbkRldmljZUNsb3NlZF9QYXJhbXMuZW5jb2RlZFNpemUg
PSBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDA7Ci0KLSAgVXNiRGV2aWNlQ2xpZW50X09uRGV2
aWNlQ2xvc2VkX1BhcmFtcy5kZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgdmFyIHBh
Y2tlZDsKLSAgICB2YXIgdmFsID0gbmV3IFVzYkRldmljZUNsaWVudF9PbkRldmljZUNsb3NlZF9Q
YXJhbXMoKTsKLSAgICB2YXIgbnVtYmVyT2ZCeXRlcyA9IGRlY29kZXIucmVhZFVpbnQzMigpOwot
ICAgIHZhciB2ZXJzaW9uID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgcmV0dXJuIHZhbDsK
LSAgfTsKLQotICBVc2JEZXZpY2VDbGllbnRfT25EZXZpY2VDbG9zZWRfUGFyYW1zLmVuY29kZSA9
IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgZW5jb2Rlci53
cml0ZVVpbnQzMihVc2JEZXZpY2VDbGllbnRfT25EZXZpY2VDbG9zZWRfUGFyYW1zLmVuY29kZWRT
aXplKTsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKDApOwotICB9OwotICB2YXIga1VzYkRldmlj
ZV9PcGVuX05hbWUgPSAwOwotICB2YXIga1VzYkRldmljZV9DbG9zZV9OYW1lID0gMTsKLSAgdmFy
IGtVc2JEZXZpY2VfU2V0Q29uZmlndXJhdGlvbl9OYW1lID0gMjsKLSAgdmFyIGtVc2JEZXZpY2Vf
Q2xhaW1JbnRlcmZhY2VfTmFtZSA9IDM7Ci0gIHZhciBrVXNiRGV2aWNlX1JlbGVhc2VJbnRlcmZh
Y2VfTmFtZSA9IDQ7Ci0gIHZhciBrVXNiRGV2aWNlX1NldEludGVyZmFjZUFsdGVybmF0ZVNldHRp
bmdfTmFtZSA9IDU7Ci0gIHZhciBrVXNiRGV2aWNlX1Jlc2V0X05hbWUgPSA2OwotICB2YXIga1Vz
YkRldmljZV9DbGVhckhhbHRfTmFtZSA9IDc7Ci0gIHZhciBrVXNiRGV2aWNlX0NvbnRyb2xUcmFu
c2ZlckluX05hbWUgPSA4OwotICB2YXIga1VzYkRldmljZV9Db250cm9sVHJhbnNmZXJPdXRfTmFt
ZSA9IDk7Ci0gIHZhciBrVXNiRGV2aWNlX0dlbmVyaWNUcmFuc2ZlckluX05hbWUgPSAxMDsKLSAg
dmFyIGtVc2JEZXZpY2VfR2VuZXJpY1RyYW5zZmVyT3V0X05hbWUgPSAxMTsKLSAgdmFyIGtVc2JE
ZXZpY2VfSXNvY2hyb25vdXNUcmFuc2ZlckluX05hbWUgPSAxMjsKLSAgdmFyIGtVc2JEZXZpY2Vf
SXNvY2hyb25vdXNUcmFuc2Zlck91dF9OYW1lID0gMTM7Ci0KLSAgZnVuY3Rpb24gVXNiRGV2aWNl
UHRyKGhhbmRsZU9yUHRySW5mbykgewotICAgIHRoaXMucHRyID0gbmV3IGJpbmRpbmdzLkludGVy
ZmFjZVB0ckNvbnRyb2xsZXIoVXNiRGV2aWNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlT3JQdHJJbmZvKTsKLSAgfQotCi0gIGZ1bmN0
aW9uIFVzYkRldmljZUFzc29jaWF0ZWRQdHIoYXNzb2NpYXRlZEludGVyZmFjZVB0ckluZm8pIHsK
LSAgICB0aGlzLnB0ciA9IG5ldyBhc3NvY2lhdGVkQmluZGluZ3MuQXNzb2NpYXRlZEludGVyZmFj
ZVB0ckNvbnRyb2xsZXIoCi0gICAgICAgIFVzYkRldmljZSwgYXNzb2NpYXRlZEludGVyZmFjZVB0
ckluZm8pOwotICB9Ci0KLSAgVXNiRGV2aWNlQXNzb2NpYXRlZFB0ci5wcm90b3R5cGUgPQotICAg
ICAgT2JqZWN0LmNyZWF0ZShVc2JEZXZpY2VQdHIucHJvdG90eXBlKTsKLSAgVXNiRGV2aWNlQXNz
b2NpYXRlZFB0ci5wcm90b3R5cGUuY29uc3RydWN0b3IgPQotICAgICAgVXNiRGV2aWNlQXNzb2Np
YXRlZFB0cjsKLQotICBmdW5jdGlvbiBVc2JEZXZpY2VQcm94eShyZWNlaXZlcikgewotICAgIHRo
aXMucmVjZWl2ZXJfID0gcmVjZWl2ZXI7Ci0gIH0KLSAgVXNiRGV2aWNlUHRyLnByb3RvdHlwZS5v
cGVuID0gZnVuY3Rpb24oKSB7Ci0gICAgcmV0dXJuIFVzYkRldmljZVByb3h5LnByb3RvdHlwZS5v
cGVuCi0gICAgICAgIC5hcHBseSh0aGlzLnB0ci5nZXRQcm94eSgpLCBhcmd1bWVudHMpOwotICB9
OwotCi0gIFVzYkRldmljZVByb3h5LnByb3RvdHlwZS5vcGVuID0gZnVuY3Rpb24oKSB7Ci0gICAg
dmFyIHBhcmFtc18gPSBuZXcgVXNiRGV2aWNlX09wZW5fUGFyYW1zKCk7Ci0gICAgcmV0dXJuIG5l
dyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewotICAgICAgdmFyIGJ1aWxkZXIg
PSBuZXcgY29kZWMuTWVzc2FnZVYxQnVpbGRlcigKLSAgICAgICAgICBrVXNiRGV2aWNlX09wZW5f
TmFtZSwKLSAgICAgICAgICBjb2RlYy5hbGlnbihVc2JEZXZpY2VfT3Blbl9QYXJhbXMuZW5jb2Rl
ZFNpemUpLAotICAgICAgICAgIGNvZGVjLmtNZXNzYWdlRXhwZWN0c1Jlc3BvbnNlLCAwKTsKLSAg
ICAgIGJ1aWxkZXIuZW5jb2RlU3RydWN0KFVzYkRldmljZV9PcGVuX1BhcmFtcywgcGFyYW1zXyk7
Ci0gICAgICB2YXIgbWVzc2FnZSA9IGJ1aWxkZXIuZmluaXNoKCk7Ci0gICAgICB0aGlzLnJlY2Vp
dmVyXy5hY2NlcHRBbmRFeHBlY3RSZXNwb25zZShtZXNzYWdlKS50aGVuKGZ1bmN0aW9uKG1lc3Nh
Z2UpIHsKLSAgICAgICAgdmFyIHJlYWRlciA9IG5ldyBjb2RlYy5NZXNzYWdlUmVhZGVyKG1lc3Nh
Z2UpOwotICAgICAgICB2YXIgcmVzcG9uc2VQYXJhbXMgPQotICAgICAgICAgICAgcmVhZGVyLmRl
Y29kZVN0cnVjdChVc2JEZXZpY2VfT3Blbl9SZXNwb25zZVBhcmFtcyk7Ci0gICAgICAgIHJlc29s
dmUocmVzcG9uc2VQYXJhbXMpOwotICAgICAgfSkuY2F0Y2goZnVuY3Rpb24ocmVzdWx0KSB7Ci0g
ICAgICAgIHJlamVjdChFcnJvcigiQ29ubmVjdGlvbiBlcnJvcjogIiArIHJlc3VsdCkpOwotICAg
ICAgfSk7Ci0gICAgfS5iaW5kKHRoaXMpKTsKLSAgfTsKLSAgVXNiRGV2aWNlUHRyLnByb3RvdHlw
ZS5jbG9zZSA9IGZ1bmN0aW9uKCkgewotICAgIHJldHVybiBVc2JEZXZpY2VQcm94eS5wcm90b3R5
cGUuY2xvc2UKLSAgICAgICAgLmFwcGx5KHRoaXMucHRyLmdldFByb3h5KCksIGFyZ3VtZW50cyk7
Ci0gIH07Ci0KLSAgVXNiRGV2aWNlUHJveHkucHJvdG90eXBlLmNsb3NlID0gZnVuY3Rpb24oKSB7
Ci0gICAgdmFyIHBhcmFtc18gPSBuZXcgVXNiRGV2aWNlX0Nsb3NlX1BhcmFtcygpOwotICAgIHJl
dHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKLSAgICAgIHZhciBi
dWlsZGVyID0gbmV3IGNvZGVjLk1lc3NhZ2VWMUJ1aWxkZXIoCi0gICAgICAgICAga1VzYkRldmlj
ZV9DbG9zZV9OYW1lLAotICAgICAgICAgIGNvZGVjLmFsaWduKFVzYkRldmljZV9DbG9zZV9QYXJh
bXMuZW5jb2RlZFNpemUpLAotICAgICAgICAgIGNvZGVjLmtNZXNzYWdlRXhwZWN0c1Jlc3BvbnNl
LCAwKTsKLSAgICAgIGJ1aWxkZXIuZW5jb2RlU3RydWN0KFVzYkRldmljZV9DbG9zZV9QYXJhbXMs
IHBhcmFtc18pOwotICAgICAgdmFyIG1lc3NhZ2UgPSBidWlsZGVyLmZpbmlzaCgpOwotICAgICAg
dGhpcy5yZWNlaXZlcl8uYWNjZXB0QW5kRXhwZWN0UmVzcG9uc2UobWVzc2FnZSkudGhlbihmdW5j
dGlvbihtZXNzYWdlKSB7Ci0gICAgICAgIHZhciByZWFkZXIgPSBuZXcgY29kZWMuTWVzc2FnZVJl
YWRlcihtZXNzYWdlKTsKLSAgICAgICAgdmFyIHJlc3BvbnNlUGFyYW1zID0KLSAgICAgICAgICAg
IHJlYWRlci5kZWNvZGVTdHJ1Y3QoVXNiRGV2aWNlX0Nsb3NlX1Jlc3BvbnNlUGFyYW1zKTsKLSAg
ICAgICAgcmVzb2x2ZShyZXNwb25zZVBhcmFtcyk7Ci0gICAgICB9KS5jYXRjaChmdW5jdGlvbihy
ZXN1bHQpIHsKLSAgICAgICAgcmVqZWN0KEVycm9yKCJDb25uZWN0aW9uIGVycm9yOiAiICsgcmVz
dWx0KSk7Ci0gICAgICB9KTsKLSAgICB9LmJpbmQodGhpcykpOwotICB9OwotICBVc2JEZXZpY2VQ
dHIucHJvdG90eXBlLnNldENvbmZpZ3VyYXRpb24gPSBmdW5jdGlvbigpIHsKLSAgICByZXR1cm4g
VXNiRGV2aWNlUHJveHkucHJvdG90eXBlLnNldENvbmZpZ3VyYXRpb24KLSAgICAgICAgLmFwcGx5
KHRoaXMucHRyLmdldFByb3h5KCksIGFyZ3VtZW50cyk7Ci0gIH07Ci0KLSAgVXNiRGV2aWNlUHJv
eHkucHJvdG90eXBlLnNldENvbmZpZ3VyYXRpb24gPSBmdW5jdGlvbih2YWx1ZSkgewotICAgIHZh
ciBwYXJhbXNfID0gbmV3IFVzYkRldmljZV9TZXRDb25maWd1cmF0aW9uX1BhcmFtcygpOwotICAg
IHBhcmFtc18udmFsdWUgPSB2YWx1ZTsKLSAgICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24o
cmVzb2x2ZSwgcmVqZWN0KSB7Ci0gICAgICB2YXIgYnVpbGRlciA9IG5ldyBjb2RlYy5NZXNzYWdl
VjFCdWlsZGVyKAotICAgICAgICAgIGtVc2JEZXZpY2VfU2V0Q29uZmlndXJhdGlvbl9OYW1lLAot
ICAgICAgICAgIGNvZGVjLmFsaWduKFVzYkRldmljZV9TZXRDb25maWd1cmF0aW9uX1BhcmFtcy5l
bmNvZGVkU2l6ZSksCi0gICAgICAgICAgY29kZWMua01lc3NhZ2VFeHBlY3RzUmVzcG9uc2UsIDAp
OwotICAgICAgYnVpbGRlci5lbmNvZGVTdHJ1Y3QoVXNiRGV2aWNlX1NldENvbmZpZ3VyYXRpb25f
UGFyYW1zLCBwYXJhbXNfKTsKLSAgICAgIHZhciBtZXNzYWdlID0gYnVpbGRlci5maW5pc2goKTsK
LSAgICAgIHRoaXMucmVjZWl2ZXJfLmFjY2VwdEFuZEV4cGVjdFJlc3BvbnNlKG1lc3NhZ2UpLnRo
ZW4oZnVuY3Rpb24obWVzc2FnZSkgewotICAgICAgICB2YXIgcmVhZGVyID0gbmV3IGNvZGVjLk1l
c3NhZ2VSZWFkZXIobWVzc2FnZSk7Ci0gICAgICAgIHZhciByZXNwb25zZVBhcmFtcyA9Ci0gICAg
ICAgICAgICByZWFkZXIuZGVjb2RlU3RydWN0KFVzYkRldmljZV9TZXRDb25maWd1cmF0aW9uX1Jl
c3BvbnNlUGFyYW1zKTsKLSAgICAgICAgcmVzb2x2ZShyZXNwb25zZVBhcmFtcyk7Ci0gICAgICB9
KS5jYXRjaChmdW5jdGlvbihyZXN1bHQpIHsKLSAgICAgICAgcmVqZWN0KEVycm9yKCJDb25uZWN0
aW9uIGVycm9yOiAiICsgcmVzdWx0KSk7Ci0gICAgICB9KTsKLSAgICB9LmJpbmQodGhpcykpOwot
ICB9OwotICBVc2JEZXZpY2VQdHIucHJvdG90eXBlLmNsYWltSW50ZXJmYWNlID0gZnVuY3Rpb24o
KSB7Ci0gICAgcmV0dXJuIFVzYkRldmljZVByb3h5LnByb3RvdHlwZS5jbGFpbUludGVyZmFjZQot
ICAgICAgICAuYXBwbHkodGhpcy5wdHIuZ2V0UHJveHkoKSwgYXJndW1lbnRzKTsKLSAgfTsKLQot
ICBVc2JEZXZpY2VQcm94eS5wcm90b3R5cGUuY2xhaW1JbnRlcmZhY2UgPSBmdW5jdGlvbihpbnRl
cmZhY2VOdW1iZXIpIHsKLSAgICB2YXIgcGFyYW1zXyA9IG5ldyBVc2JEZXZpY2VfQ2xhaW1JbnRl
cmZhY2VfUGFyYW1zKCk7Ci0gICAgcGFyYW1zXy5pbnRlcmZhY2VOdW1iZXIgPSBpbnRlcmZhY2VO
dW1iZXI7Ci0gICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkg
ewotICAgICAgdmFyIGJ1aWxkZXIgPSBuZXcgY29kZWMuTWVzc2FnZVYxQnVpbGRlcigKLSAgICAg
ICAgICBrVXNiRGV2aWNlX0NsYWltSW50ZXJmYWNlX05hbWUsCi0gICAgICAgICAgY29kZWMuYWxp
Z24oVXNiRGV2aWNlX0NsYWltSW50ZXJmYWNlX1BhcmFtcy5lbmNvZGVkU2l6ZSksCi0gICAgICAg
ICAgY29kZWMua01lc3NhZ2VFeHBlY3RzUmVzcG9uc2UsIDApOwotICAgICAgYnVpbGRlci5lbmNv
ZGVTdHJ1Y3QoVXNiRGV2aWNlX0NsYWltSW50ZXJmYWNlX1BhcmFtcywgcGFyYW1zXyk7Ci0gICAg
ICB2YXIgbWVzc2FnZSA9IGJ1aWxkZXIuZmluaXNoKCk7Ci0gICAgICB0aGlzLnJlY2VpdmVyXy5h
Y2NlcHRBbmRFeHBlY3RSZXNwb25zZShtZXNzYWdlKS50aGVuKGZ1bmN0aW9uKG1lc3NhZ2UpIHsK
LSAgICAgICAgdmFyIHJlYWRlciA9IG5ldyBjb2RlYy5NZXNzYWdlUmVhZGVyKG1lc3NhZ2UpOwot
ICAgICAgICB2YXIgcmVzcG9uc2VQYXJhbXMgPQotICAgICAgICAgICAgcmVhZGVyLmRlY29kZVN0
cnVjdChVc2JEZXZpY2VfQ2xhaW1JbnRlcmZhY2VfUmVzcG9uc2VQYXJhbXMpOwotICAgICAgICBy
ZXNvbHZlKHJlc3BvbnNlUGFyYW1zKTsKLSAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uKHJlc3VsdCkg
ewotICAgICAgICByZWplY3QoRXJyb3IoIkNvbm5lY3Rpb24gZXJyb3I6ICIgKyByZXN1bHQpKTsK
LSAgICAgIH0pOwotICAgIH0uYmluZCh0aGlzKSk7Ci0gIH07Ci0gIFVzYkRldmljZVB0ci5wcm90
b3R5cGUucmVsZWFzZUludGVyZmFjZSA9IGZ1bmN0aW9uKCkgewotICAgIHJldHVybiBVc2JEZXZp
Y2VQcm94eS5wcm90b3R5cGUucmVsZWFzZUludGVyZmFjZQotICAgICAgICAuYXBwbHkodGhpcy5w
dHIuZ2V0UHJveHkoKSwgYXJndW1lbnRzKTsKLSAgfTsKLQotICBVc2JEZXZpY2VQcm94eS5wcm90
b3R5cGUucmVsZWFzZUludGVyZmFjZSA9IGZ1bmN0aW9uKGludGVyZmFjZU51bWJlcikgewotICAg
IHZhciBwYXJhbXNfID0gbmV3IFVzYkRldmljZV9SZWxlYXNlSW50ZXJmYWNlX1BhcmFtcygpOwot
ICAgIHBhcmFtc18uaW50ZXJmYWNlTnVtYmVyID0gaW50ZXJmYWNlTnVtYmVyOwotICAgIHJldHVy
biBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKLSAgICAgIHZhciBidWls
ZGVyID0gbmV3IGNvZGVjLk1lc3NhZ2VWMUJ1aWxkZXIoCi0gICAgICAgICAga1VzYkRldmljZV9S
ZWxlYXNlSW50ZXJmYWNlX05hbWUsCi0gICAgICAgICAgY29kZWMuYWxpZ24oVXNiRGV2aWNlX1Jl
bGVhc2VJbnRlcmZhY2VfUGFyYW1zLmVuY29kZWRTaXplKSwKLSAgICAgICAgICBjb2RlYy5rTWVz
c2FnZUV4cGVjdHNSZXNwb25zZSwgMCk7Ci0gICAgICBidWlsZGVyLmVuY29kZVN0cnVjdChVc2JE
ZXZpY2VfUmVsZWFzZUludGVyZmFjZV9QYXJhbXMsIHBhcmFtc18pOwotICAgICAgdmFyIG1lc3Nh
Z2UgPSBidWlsZGVyLmZpbmlzaCgpOwotICAgICAgdGhpcy5yZWNlaXZlcl8uYWNjZXB0QW5kRXhw
ZWN0UmVzcG9uc2UobWVzc2FnZSkudGhlbihmdW5jdGlvbihtZXNzYWdlKSB7Ci0gICAgICAgIHZh
ciByZWFkZXIgPSBuZXcgY29kZWMuTWVzc2FnZVJlYWRlcihtZXNzYWdlKTsKLSAgICAgICAgdmFy
IHJlc3BvbnNlUGFyYW1zID0KLSAgICAgICAgICAgIHJlYWRlci5kZWNvZGVTdHJ1Y3QoVXNiRGV2
aWNlX1JlbGVhc2VJbnRlcmZhY2VfUmVzcG9uc2VQYXJhbXMpOwotICAgICAgICByZXNvbHZlKHJl
c3BvbnNlUGFyYW1zKTsKLSAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uKHJlc3VsdCkgewotICAgICAg
ICByZWplY3QoRXJyb3IoIkNvbm5lY3Rpb24gZXJyb3I6ICIgKyByZXN1bHQpKTsKLSAgICAgIH0p
OwotICAgIH0uYmluZCh0aGlzKSk7Ci0gIH07Ci0gIFVzYkRldmljZVB0ci5wcm90b3R5cGUuc2V0
SW50ZXJmYWNlQWx0ZXJuYXRlU2V0dGluZyA9IGZ1bmN0aW9uKCkgewotICAgIHJldHVybiBVc2JE
ZXZpY2VQcm94eS5wcm90b3R5cGUuc2V0SW50ZXJmYWNlQWx0ZXJuYXRlU2V0dGluZwotICAgICAg
ICAuYXBwbHkodGhpcy5wdHIuZ2V0UHJveHkoKSwgYXJndW1lbnRzKTsKLSAgfTsKLQotICBVc2JE
ZXZpY2VQcm94eS5wcm90b3R5cGUuc2V0SW50ZXJmYWNlQWx0ZXJuYXRlU2V0dGluZyA9IGZ1bmN0
aW9uKGludGVyZmFjZU51bWJlciwgYWx0ZXJuYXRlU2V0dGluZykgewotICAgIHZhciBwYXJhbXNf
ID0gbmV3IFVzYkRldmljZV9TZXRJbnRlcmZhY2VBbHRlcm5hdGVTZXR0aW5nX1BhcmFtcygpOwot
ICAgIHBhcmFtc18uaW50ZXJmYWNlTnVtYmVyID0gaW50ZXJmYWNlTnVtYmVyOwotICAgIHBhcmFt
c18uYWx0ZXJuYXRlU2V0dGluZyA9IGFsdGVybmF0ZVNldHRpbmc7Ci0gICAgcmV0dXJuIG5ldyBQ
cm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewotICAgICAgdmFyIGJ1aWxkZXIgPSBu
ZXcgY29kZWMuTWVzc2FnZVYxQnVpbGRlcigKLSAgICAgICAgICBrVXNiRGV2aWNlX1NldEludGVy
ZmFjZUFsdGVybmF0ZVNldHRpbmdfTmFtZSwKLSAgICAgICAgICBjb2RlYy5hbGlnbihVc2JEZXZp
Y2VfU2V0SW50ZXJmYWNlQWx0ZXJuYXRlU2V0dGluZ19QYXJhbXMuZW5jb2RlZFNpemUpLAotICAg
ICAgICAgIGNvZGVjLmtNZXNzYWdlRXhwZWN0c1Jlc3BvbnNlLCAwKTsKLSAgICAgIGJ1aWxkZXIu
ZW5jb2RlU3RydWN0KFVzYkRldmljZV9TZXRJbnRlcmZhY2VBbHRlcm5hdGVTZXR0aW5nX1BhcmFt
cywgcGFyYW1zXyk7Ci0gICAgICB2YXIgbWVzc2FnZSA9IGJ1aWxkZXIuZmluaXNoKCk7Ci0gICAg
ICB0aGlzLnJlY2VpdmVyXy5hY2NlcHRBbmRFeHBlY3RSZXNwb25zZShtZXNzYWdlKS50aGVuKGZ1
bmN0aW9uKG1lc3NhZ2UpIHsKLSAgICAgICAgdmFyIHJlYWRlciA9IG5ldyBjb2RlYy5NZXNzYWdl
UmVhZGVyKG1lc3NhZ2UpOwotICAgICAgICB2YXIgcmVzcG9uc2VQYXJhbXMgPQotICAgICAgICAg
ICAgcmVhZGVyLmRlY29kZVN0cnVjdChVc2JEZXZpY2VfU2V0SW50ZXJmYWNlQWx0ZXJuYXRlU2V0
dGluZ19SZXNwb25zZVBhcmFtcyk7Ci0gICAgICAgIHJlc29sdmUocmVzcG9uc2VQYXJhbXMpOwot
ICAgICAgfSkuY2F0Y2goZnVuY3Rpb24ocmVzdWx0KSB7Ci0gICAgICAgIHJlamVjdChFcnJvcigi
Q29ubmVjdGlvbiBlcnJvcjogIiArIHJlc3VsdCkpOwotICAgICAgfSk7Ci0gICAgfS5iaW5kKHRo
aXMpKTsKLSAgfTsKLSAgVXNiRGV2aWNlUHRyLnByb3RvdHlwZS5yZXNldCA9IGZ1bmN0aW9uKCkg
ewotICAgIHJldHVybiBVc2JEZXZpY2VQcm94eS5wcm90b3R5cGUucmVzZXQKLSAgICAgICAgLmFw
cGx5KHRoaXMucHRyLmdldFByb3h5KCksIGFyZ3VtZW50cyk7Ci0gIH07Ci0KLSAgVXNiRGV2aWNl
UHJveHkucHJvdG90eXBlLnJlc2V0ID0gZnVuY3Rpb24oKSB7Ci0gICAgdmFyIHBhcmFtc18gPSBu
ZXcgVXNiRGV2aWNlX1Jlc2V0X1BhcmFtcygpOwotICAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5j
dGlvbihyZXNvbHZlLCByZWplY3QpIHsKLSAgICAgIHZhciBidWlsZGVyID0gbmV3IGNvZGVjLk1l
c3NhZ2VWMUJ1aWxkZXIoCi0gICAgICAgICAga1VzYkRldmljZV9SZXNldF9OYW1lLAotICAgICAg
ICAgIGNvZGVjLmFsaWduKFVzYkRldmljZV9SZXNldF9QYXJhbXMuZW5jb2RlZFNpemUpLAotICAg
ICAgICAgIGNvZGVjLmtNZXNzYWdlRXhwZWN0c1Jlc3BvbnNlLCAwKTsKLSAgICAgIGJ1aWxkZXIu
ZW5jb2RlU3RydWN0KFVzYkRldmljZV9SZXNldF9QYXJhbXMsIHBhcmFtc18pOwotICAgICAgdmFy
IG1lc3NhZ2UgPSBidWlsZGVyLmZpbmlzaCgpOwotICAgICAgdGhpcy5yZWNlaXZlcl8uYWNjZXB0
QW5kRXhwZWN0UmVzcG9uc2UobWVzc2FnZSkudGhlbihmdW5jdGlvbihtZXNzYWdlKSB7Ci0gICAg
ICAgIHZhciByZWFkZXIgPSBuZXcgY29kZWMuTWVzc2FnZVJlYWRlcihtZXNzYWdlKTsKLSAgICAg
ICAgdmFyIHJlc3BvbnNlUGFyYW1zID0KLSAgICAgICAgICAgIHJlYWRlci5kZWNvZGVTdHJ1Y3Qo
VXNiRGV2aWNlX1Jlc2V0X1Jlc3BvbnNlUGFyYW1zKTsKLSAgICAgICAgcmVzb2x2ZShyZXNwb25z
ZVBhcmFtcyk7Ci0gICAgICB9KS5jYXRjaChmdW5jdGlvbihyZXN1bHQpIHsKLSAgICAgICAgcmVq
ZWN0KEVycm9yKCJDb25uZWN0aW9uIGVycm9yOiAiICsgcmVzdWx0KSk7Ci0gICAgICB9KTsKLSAg
ICB9LmJpbmQodGhpcykpOwotICB9OwotICBVc2JEZXZpY2VQdHIucHJvdG90eXBlLmNsZWFySGFs
dCA9IGZ1bmN0aW9uKCkgewotICAgIHJldHVybiBVc2JEZXZpY2VQcm94eS5wcm90b3R5cGUuY2xl
YXJIYWx0Ci0gICAgICAgIC5hcHBseSh0aGlzLnB0ci5nZXRQcm94eSgpLCBhcmd1bWVudHMpOwot
ICB9OwotCi0gIFVzYkRldmljZVByb3h5LnByb3RvdHlwZS5jbGVhckhhbHQgPSBmdW5jdGlvbihl
bmRwb2ludCkgewotICAgIHZhciBwYXJhbXNfID0gbmV3IFVzYkRldmljZV9DbGVhckhhbHRfUGFy
YW1zKCk7Ci0gICAgcGFyYW1zXy5lbmRwb2ludCA9IGVuZHBvaW50OwotICAgIHJldHVybiBuZXcg
UHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKLSAgICAgIHZhciBidWlsZGVyID0g
bmV3IGNvZGVjLk1lc3NhZ2VWMUJ1aWxkZXIoCi0gICAgICAgICAga1VzYkRldmljZV9DbGVhckhh
bHRfTmFtZSwKLSAgICAgICAgICBjb2RlYy5hbGlnbihVc2JEZXZpY2VfQ2xlYXJIYWx0X1BhcmFt
cy5lbmNvZGVkU2l6ZSksCi0gICAgICAgICAgY29kZWMua01lc3NhZ2VFeHBlY3RzUmVzcG9uc2Us
IDApOwotICAgICAgYnVpbGRlci5lbmNvZGVTdHJ1Y3QoVXNiRGV2aWNlX0NsZWFySGFsdF9QYXJh
bXMsIHBhcmFtc18pOwotICAgICAgdmFyIG1lc3NhZ2UgPSBidWlsZGVyLmZpbmlzaCgpOwotICAg
ICAgdGhpcy5yZWNlaXZlcl8uYWNjZXB0QW5kRXhwZWN0UmVzcG9uc2UobWVzc2FnZSkudGhlbihm
dW5jdGlvbihtZXNzYWdlKSB7Ci0gICAgICAgIHZhciByZWFkZXIgPSBuZXcgY29kZWMuTWVzc2Fn
ZVJlYWRlcihtZXNzYWdlKTsKLSAgICAgICAgdmFyIHJlc3BvbnNlUGFyYW1zID0KLSAgICAgICAg
ICAgIHJlYWRlci5kZWNvZGVTdHJ1Y3QoVXNiRGV2aWNlX0NsZWFySGFsdF9SZXNwb25zZVBhcmFt
cyk7Ci0gICAgICAgIHJlc29sdmUocmVzcG9uc2VQYXJhbXMpOwotICAgICAgfSkuY2F0Y2goZnVu
Y3Rpb24ocmVzdWx0KSB7Ci0gICAgICAgIHJlamVjdChFcnJvcigiQ29ubmVjdGlvbiBlcnJvcjog
IiArIHJlc3VsdCkpOwotICAgICAgfSk7Ci0gICAgfS5iaW5kKHRoaXMpKTsKLSAgfTsKLSAgVXNi
RGV2aWNlUHRyLnByb3RvdHlwZS5jb250cm9sVHJhbnNmZXJJbiA9IGZ1bmN0aW9uKCkgewotICAg
IHJldHVybiBVc2JEZXZpY2VQcm94eS5wcm90b3R5cGUuY29udHJvbFRyYW5zZmVySW4KLSAgICAg
ICAgLmFwcGx5KHRoaXMucHRyLmdldFByb3h5KCksIGFyZ3VtZW50cyk7Ci0gIH07Ci0KLSAgVXNi
RGV2aWNlUHJveHkucHJvdG90eXBlLmNvbnRyb2xUcmFuc2ZlckluID0gZnVuY3Rpb24ocGFyYW1z
LCBsZW5ndGgsIHRpbWVvdXQpIHsKLSAgICB2YXIgcGFyYW1zXyA9IG5ldyBVc2JEZXZpY2VfQ29u
dHJvbFRyYW5zZmVySW5fUGFyYW1zKCk7Ci0gICAgcGFyYW1zXy5wYXJhbXMgPSBwYXJhbXM7Ci0g
ICAgcGFyYW1zXy5sZW5ndGggPSBsZW5ndGg7Ci0gICAgcGFyYW1zXy50aW1lb3V0ID0gdGltZW91
dDsKLSAgICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7Ci0g
ICAgICB2YXIgYnVpbGRlciA9IG5ldyBjb2RlYy5NZXNzYWdlVjFCdWlsZGVyKAotICAgICAgICAg
IGtVc2JEZXZpY2VfQ29udHJvbFRyYW5zZmVySW5fTmFtZSwKLSAgICAgICAgICBjb2RlYy5hbGln
bihVc2JEZXZpY2VfQ29udHJvbFRyYW5zZmVySW5fUGFyYW1zLmVuY29kZWRTaXplKSwKLSAgICAg
ICAgICBjb2RlYy5rTWVzc2FnZUV4cGVjdHNSZXNwb25zZSwgMCk7Ci0gICAgICBidWlsZGVyLmVu
Y29kZVN0cnVjdChVc2JEZXZpY2VfQ29udHJvbFRyYW5zZmVySW5fUGFyYW1zLCBwYXJhbXNfKTsK
LSAgICAgIHZhciBtZXNzYWdlID0gYnVpbGRlci5maW5pc2goKTsKLSAgICAgIHRoaXMucmVjZWl2
ZXJfLmFjY2VwdEFuZEV4cGVjdFJlc3BvbnNlKG1lc3NhZ2UpLnRoZW4oZnVuY3Rpb24obWVzc2Fn
ZSkgewotICAgICAgICB2YXIgcmVhZGVyID0gbmV3IGNvZGVjLk1lc3NhZ2VSZWFkZXIobWVzc2Fn
ZSk7Ci0gICAgICAgIHZhciByZXNwb25zZVBhcmFtcyA9Ci0gICAgICAgICAgICByZWFkZXIuZGVj
b2RlU3RydWN0KFVzYkRldmljZV9Db250cm9sVHJhbnNmZXJJbl9SZXNwb25zZVBhcmFtcyk7Ci0g
ICAgICAgIHJlc29sdmUocmVzcG9uc2VQYXJhbXMpOwotICAgICAgfSkuY2F0Y2goZnVuY3Rpb24o
cmVzdWx0KSB7Ci0gICAgICAgIHJlamVjdChFcnJvcigiQ29ubmVjdGlvbiBlcnJvcjogIiArIHJl
c3VsdCkpOwotICAgICAgfSk7Ci0gICAgfS5iaW5kKHRoaXMpKTsKLSAgfTsKLSAgVXNiRGV2aWNl
UHRyLnByb3RvdHlwZS5jb250cm9sVHJhbnNmZXJPdXQgPSBmdW5jdGlvbigpIHsKLSAgICByZXR1
cm4gVXNiRGV2aWNlUHJveHkucHJvdG90eXBlLmNvbnRyb2xUcmFuc2Zlck91dAotICAgICAgICAu
YXBwbHkodGhpcy5wdHIuZ2V0UHJveHkoKSwgYXJndW1lbnRzKTsKLSAgfTsKLQotICBVc2JEZXZp
Y2VQcm94eS5wcm90b3R5cGUuY29udHJvbFRyYW5zZmVyT3V0ID0gZnVuY3Rpb24ocGFyYW1zLCBk
YXRhLCB0aW1lb3V0KSB7Ci0gICAgdmFyIHBhcmFtc18gPSBuZXcgVXNiRGV2aWNlX0NvbnRyb2xU
cmFuc2Zlck91dF9QYXJhbXMoKTsKLSAgICBwYXJhbXNfLnBhcmFtcyA9IHBhcmFtczsKLSAgICBw
YXJhbXNfLmRhdGEgPSBkYXRhOwotICAgIHBhcmFtc18udGltZW91dCA9IHRpbWVvdXQ7Ci0gICAg
cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewotICAgICAgdmFy
IGJ1aWxkZXIgPSBuZXcgY29kZWMuTWVzc2FnZVYxQnVpbGRlcigKLSAgICAgICAgICBrVXNiRGV2
aWNlX0NvbnRyb2xUcmFuc2Zlck91dF9OYW1lLAotICAgICAgICAgIGNvZGVjLmFsaWduKFVzYkRl
dmljZV9Db250cm9sVHJhbnNmZXJPdXRfUGFyYW1zLmVuY29kZWRTaXplKSwKLSAgICAgICAgICBj
b2RlYy5rTWVzc2FnZUV4cGVjdHNSZXNwb25zZSwgMCk7Ci0gICAgICBidWlsZGVyLmVuY29kZVN0
cnVjdChVc2JEZXZpY2VfQ29udHJvbFRyYW5zZmVyT3V0X1BhcmFtcywgcGFyYW1zXyk7Ci0gICAg
ICB2YXIgbWVzc2FnZSA9IGJ1aWxkZXIuZmluaXNoKCk7Ci0gICAgICB0aGlzLnJlY2VpdmVyXy5h
Y2NlcHRBbmRFeHBlY3RSZXNwb25zZShtZXNzYWdlKS50aGVuKGZ1bmN0aW9uKG1lc3NhZ2UpIHsK
LSAgICAgICAgdmFyIHJlYWRlciA9IG5ldyBjb2RlYy5NZXNzYWdlUmVhZGVyKG1lc3NhZ2UpOwot
ICAgICAgICB2YXIgcmVzcG9uc2VQYXJhbXMgPQotICAgICAgICAgICAgcmVhZGVyLmRlY29kZVN0
cnVjdChVc2JEZXZpY2VfQ29udHJvbFRyYW5zZmVyT3V0X1Jlc3BvbnNlUGFyYW1zKTsKLSAgICAg
ICAgcmVzb2x2ZShyZXNwb25zZVBhcmFtcyk7Ci0gICAgICB9KS5jYXRjaChmdW5jdGlvbihyZXN1
bHQpIHsKLSAgICAgICAgcmVqZWN0KEVycm9yKCJDb25uZWN0aW9uIGVycm9yOiAiICsgcmVzdWx0
KSk7Ci0gICAgICB9KTsKLSAgICB9LmJpbmQodGhpcykpOwotICB9OwotICBVc2JEZXZpY2VQdHIu
cHJvdG90eXBlLmdlbmVyaWNUcmFuc2ZlckluID0gZnVuY3Rpb24oKSB7Ci0gICAgcmV0dXJuIFVz
YkRldmljZVByb3h5LnByb3RvdHlwZS5nZW5lcmljVHJhbnNmZXJJbgotICAgICAgICAuYXBwbHko
dGhpcy5wdHIuZ2V0UHJveHkoKSwgYXJndW1lbnRzKTsKLSAgfTsKLQotICBVc2JEZXZpY2VQcm94
eS5wcm90b3R5cGUuZ2VuZXJpY1RyYW5zZmVySW4gPSBmdW5jdGlvbihlbmRwb2ludE51bWJlciwg
bGVuZ3RoLCB0aW1lb3V0KSB7Ci0gICAgdmFyIHBhcmFtc18gPSBuZXcgVXNiRGV2aWNlX0dlbmVy
aWNUcmFuc2ZlckluX1BhcmFtcygpOwotICAgIHBhcmFtc18uZW5kcG9pbnROdW1iZXIgPSBlbmRw
b2ludE51bWJlcjsKLSAgICBwYXJhbXNfLmxlbmd0aCA9IGxlbmd0aDsKLSAgICBwYXJhbXNfLnRp
bWVvdXQgPSB0aW1lb3V0OwotICAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZl
LCByZWplY3QpIHsKLSAgICAgIHZhciBidWlsZGVyID0gbmV3IGNvZGVjLk1lc3NhZ2VWMUJ1aWxk
ZXIoCi0gICAgICAgICAga1VzYkRldmljZV9HZW5lcmljVHJhbnNmZXJJbl9OYW1lLAotICAgICAg
ICAgIGNvZGVjLmFsaWduKFVzYkRldmljZV9HZW5lcmljVHJhbnNmZXJJbl9QYXJhbXMuZW5jb2Rl
ZFNpemUpLAotICAgICAgICAgIGNvZGVjLmtNZXNzYWdlRXhwZWN0c1Jlc3BvbnNlLCAwKTsKLSAg
ICAgIGJ1aWxkZXIuZW5jb2RlU3RydWN0KFVzYkRldmljZV9HZW5lcmljVHJhbnNmZXJJbl9QYXJh
bXMsIHBhcmFtc18pOwotICAgICAgdmFyIG1lc3NhZ2UgPSBidWlsZGVyLmZpbmlzaCgpOwotICAg
ICAgdGhpcy5yZWNlaXZlcl8uYWNjZXB0QW5kRXhwZWN0UmVzcG9uc2UobWVzc2FnZSkudGhlbihm
dW5jdGlvbihtZXNzYWdlKSB7Ci0gICAgICAgIHZhciByZWFkZXIgPSBuZXcgY29kZWMuTWVzc2Fn
ZVJlYWRlcihtZXNzYWdlKTsKLSAgICAgICAgdmFyIHJlc3BvbnNlUGFyYW1zID0KLSAgICAgICAg
ICAgIHJlYWRlci5kZWNvZGVTdHJ1Y3QoVXNiRGV2aWNlX0dlbmVyaWNUcmFuc2ZlckluX1Jlc3Bv
bnNlUGFyYW1zKTsKLSAgICAgICAgcmVzb2x2ZShyZXNwb25zZVBhcmFtcyk7Ci0gICAgICB9KS5j
YXRjaChmdW5jdGlvbihyZXN1bHQpIHsKLSAgICAgICAgcmVqZWN0KEVycm9yKCJDb25uZWN0aW9u
IGVycm9yOiAiICsgcmVzdWx0KSk7Ci0gICAgICB9KTsKLSAgICB9LmJpbmQodGhpcykpOwotICB9
OwotICBVc2JEZXZpY2VQdHIucHJvdG90eXBlLmdlbmVyaWNUcmFuc2Zlck91dCA9IGZ1bmN0aW9u
KCkgewotICAgIHJldHVybiBVc2JEZXZpY2VQcm94eS5wcm90b3R5cGUuZ2VuZXJpY1RyYW5zZmVy
T3V0Ci0gICAgICAgIC5hcHBseSh0aGlzLnB0ci5nZXRQcm94eSgpLCBhcmd1bWVudHMpOwotICB9
OwotCi0gIFVzYkRldmljZVByb3h5LnByb3RvdHlwZS5nZW5lcmljVHJhbnNmZXJPdXQgPSBmdW5j
dGlvbihlbmRwb2ludE51bWJlciwgZGF0YSwgdGltZW91dCkgewotICAgIHZhciBwYXJhbXNfID0g
bmV3IFVzYkRldmljZV9HZW5lcmljVHJhbnNmZXJPdXRfUGFyYW1zKCk7Ci0gICAgcGFyYW1zXy5l
bmRwb2ludE51bWJlciA9IGVuZHBvaW50TnVtYmVyOwotICAgIHBhcmFtc18uZGF0YSA9IGRhdGE7
Ci0gICAgcGFyYW1zXy50aW1lb3V0ID0gdGltZW91dDsKLSAgICByZXR1cm4gbmV3IFByb21pc2Uo
ZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7Ci0gICAgICB2YXIgYnVpbGRlciA9IG5ldyBjb2Rl
Yy5NZXNzYWdlVjFCdWlsZGVyKAotICAgICAgICAgIGtVc2JEZXZpY2VfR2VuZXJpY1RyYW5zZmVy
T3V0X05hbWUsCi0gICAgICAgICAgY29kZWMuYWxpZ24oVXNiRGV2aWNlX0dlbmVyaWNUcmFuc2Zl
ck91dF9QYXJhbXMuZW5jb2RlZFNpemUpLAotICAgICAgICAgIGNvZGVjLmtNZXNzYWdlRXhwZWN0
c1Jlc3BvbnNlLCAwKTsKLSAgICAgIGJ1aWxkZXIuZW5jb2RlU3RydWN0KFVzYkRldmljZV9HZW5l
cmljVHJhbnNmZXJPdXRfUGFyYW1zLCBwYXJhbXNfKTsKLSAgICAgIHZhciBtZXNzYWdlID0gYnVp
bGRlci5maW5pc2goKTsKLSAgICAgIHRoaXMucmVjZWl2ZXJfLmFjY2VwdEFuZEV4cGVjdFJlc3Bv
bnNlKG1lc3NhZ2UpLnRoZW4oZnVuY3Rpb24obWVzc2FnZSkgewotICAgICAgICB2YXIgcmVhZGVy
ID0gbmV3IGNvZGVjLk1lc3NhZ2VSZWFkZXIobWVzc2FnZSk7Ci0gICAgICAgIHZhciByZXNwb25z
ZVBhcmFtcyA9Ci0gICAgICAgICAgICByZWFkZXIuZGVjb2RlU3RydWN0KFVzYkRldmljZV9HZW5l
cmljVHJhbnNmZXJPdXRfUmVzcG9uc2VQYXJhbXMpOwotICAgICAgICByZXNvbHZlKHJlc3BvbnNl
UGFyYW1zKTsKLSAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uKHJlc3VsdCkgewotICAgICAgICByZWpl
Y3QoRXJyb3IoIkNvbm5lY3Rpb24gZXJyb3I6ICIgKyByZXN1bHQpKTsKLSAgICAgIH0pOwotICAg
IH0uYmluZCh0aGlzKSk7Ci0gIH07Ci0gIFVzYkRldmljZVB0ci5wcm90b3R5cGUuaXNvY2hyb25v
dXNUcmFuc2ZlckluID0gZnVuY3Rpb24oKSB7Ci0gICAgcmV0dXJuIFVzYkRldmljZVByb3h5LnBy
b3RvdHlwZS5pc29jaHJvbm91c1RyYW5zZmVySW4KLSAgICAgICAgLmFwcGx5KHRoaXMucHRyLmdl
dFByb3h5KCksIGFyZ3VtZW50cyk7Ci0gIH07Ci0KLSAgVXNiRGV2aWNlUHJveHkucHJvdG90eXBl
Lmlzb2Nocm9ub3VzVHJhbnNmZXJJbiA9IGZ1bmN0aW9uKGVuZHBvaW50TnVtYmVyLCBwYWNrZXRM
ZW5ndGhzLCB0aW1lb3V0KSB7Ci0gICAgdmFyIHBhcmFtc18gPSBuZXcgVXNiRGV2aWNlX0lzb2No
cm9ub3VzVHJhbnNmZXJJbl9QYXJhbXMoKTsKLSAgICBwYXJhbXNfLmVuZHBvaW50TnVtYmVyID0g
ZW5kcG9pbnROdW1iZXI7Ci0gICAgcGFyYW1zXy5wYWNrZXRMZW5ndGhzID0gcGFja2V0TGVuZ3Ro
czsKLSAgICBwYXJhbXNfLnRpbWVvdXQgPSB0aW1lb3V0OwotICAgIHJldHVybiBuZXcgUHJvbWlz
ZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKLSAgICAgIHZhciBidWlsZGVyID0gbmV3IGNv
ZGVjLk1lc3NhZ2VWMUJ1aWxkZXIoCi0gICAgICAgICAga1VzYkRldmljZV9Jc29jaHJvbm91c1Ry
YW5zZmVySW5fTmFtZSwKLSAgICAgICAgICBjb2RlYy5hbGlnbihVc2JEZXZpY2VfSXNvY2hyb25v
dXNUcmFuc2ZlckluX1BhcmFtcy5lbmNvZGVkU2l6ZSksCi0gICAgICAgICAgY29kZWMua01lc3Nh
Z2VFeHBlY3RzUmVzcG9uc2UsIDApOwotICAgICAgYnVpbGRlci5lbmNvZGVTdHJ1Y3QoVXNiRGV2
aWNlX0lzb2Nocm9ub3VzVHJhbnNmZXJJbl9QYXJhbXMsIHBhcmFtc18pOwotICAgICAgdmFyIG1l
c3NhZ2UgPSBidWlsZGVyLmZpbmlzaCgpOwotICAgICAgdGhpcy5yZWNlaXZlcl8uYWNjZXB0QW5k
RXhwZWN0UmVzcG9uc2UobWVzc2FnZSkudGhlbihmdW5jdGlvbihtZXNzYWdlKSB7Ci0gICAgICAg
IHZhciByZWFkZXIgPSBuZXcgY29kZWMuTWVzc2FnZVJlYWRlcihtZXNzYWdlKTsKLSAgICAgICAg
dmFyIHJlc3BvbnNlUGFyYW1zID0KLSAgICAgICAgICAgIHJlYWRlci5kZWNvZGVTdHJ1Y3QoVXNi
RGV2aWNlX0lzb2Nocm9ub3VzVHJhbnNmZXJJbl9SZXNwb25zZVBhcmFtcyk7Ci0gICAgICAgIHJl
c29sdmUocmVzcG9uc2VQYXJhbXMpOwotICAgICAgfSkuY2F0Y2goZnVuY3Rpb24ocmVzdWx0KSB7
Ci0gICAgICAgIHJlamVjdChFcnJvcigiQ29ubmVjdGlvbiBlcnJvcjogIiArIHJlc3VsdCkpOwot
ICAgICAgfSk7Ci0gICAgfS5iaW5kKHRoaXMpKTsKLSAgfTsKLSAgVXNiRGV2aWNlUHRyLnByb3Rv
dHlwZS5pc29jaHJvbm91c1RyYW5zZmVyT3V0ID0gZnVuY3Rpb24oKSB7Ci0gICAgcmV0dXJuIFVz
YkRldmljZVByb3h5LnByb3RvdHlwZS5pc29jaHJvbm91c1RyYW5zZmVyT3V0Ci0gICAgICAgIC5h
cHBseSh0aGlzLnB0ci5nZXRQcm94eSgpLCBhcmd1bWVudHMpOwotICB9OwotCi0gIFVzYkRldmlj
ZVByb3h5LnByb3RvdHlwZS5pc29jaHJvbm91c1RyYW5zZmVyT3V0ID0gZnVuY3Rpb24oZW5kcG9p
bnROdW1iZXIsIGRhdGEsIHBhY2tldExlbmd0aHMsIHRpbWVvdXQpIHsKLSAgICB2YXIgcGFyYW1z
XyA9IG5ldyBVc2JEZXZpY2VfSXNvY2hyb25vdXNUcmFuc2Zlck91dF9QYXJhbXMoKTsKLSAgICBw
YXJhbXNfLmVuZHBvaW50TnVtYmVyID0gZW5kcG9pbnROdW1iZXI7Ci0gICAgcGFyYW1zXy5kYXRh
ID0gZGF0YTsKLSAgICBwYXJhbXNfLnBhY2tldExlbmd0aHMgPSBwYWNrZXRMZW5ndGhzOwotICAg
IHBhcmFtc18udGltZW91dCA9IHRpbWVvdXQ7Ci0gICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0
aW9uKHJlc29sdmUsIHJlamVjdCkgewotICAgICAgdmFyIGJ1aWxkZXIgPSBuZXcgY29kZWMuTWVz
c2FnZVYxQnVpbGRlcigKLSAgICAgICAgICBrVXNiRGV2aWNlX0lzb2Nocm9ub3VzVHJhbnNmZXJP
dXRfTmFtZSwKLSAgICAgICAgICBjb2RlYy5hbGlnbihVc2JEZXZpY2VfSXNvY2hyb25vdXNUcmFu
c2Zlck91dF9QYXJhbXMuZW5jb2RlZFNpemUpLAotICAgICAgICAgIGNvZGVjLmtNZXNzYWdlRXhw
ZWN0c1Jlc3BvbnNlLCAwKTsKLSAgICAgIGJ1aWxkZXIuZW5jb2RlU3RydWN0KFVzYkRldmljZV9J
c29jaHJvbm91c1RyYW5zZmVyT3V0X1BhcmFtcywgcGFyYW1zXyk7Ci0gICAgICB2YXIgbWVzc2Fn
ZSA9IGJ1aWxkZXIuZmluaXNoKCk7Ci0gICAgICB0aGlzLnJlY2VpdmVyXy5hY2NlcHRBbmRFeHBl
Y3RSZXNwb25zZShtZXNzYWdlKS50aGVuKGZ1bmN0aW9uKG1lc3NhZ2UpIHsKLSAgICAgICAgdmFy
IHJlYWRlciA9IG5ldyBjb2RlYy5NZXNzYWdlUmVhZGVyKG1lc3NhZ2UpOwotICAgICAgICB2YXIg
cmVzcG9uc2VQYXJhbXMgPQotICAgICAgICAgICAgcmVhZGVyLmRlY29kZVN0cnVjdChVc2JEZXZp
Y2VfSXNvY2hyb25vdXNUcmFuc2Zlck91dF9SZXNwb25zZVBhcmFtcyk7Ci0gICAgICAgIHJlc29s
dmUocmVzcG9uc2VQYXJhbXMpOwotICAgICAgfSkuY2F0Y2goZnVuY3Rpb24ocmVzdWx0KSB7Ci0g
ICAgICAgIHJlamVjdChFcnJvcigiQ29ubmVjdGlvbiBlcnJvcjogIiArIHJlc3VsdCkpOwotICAg
ICAgfSk7Ci0gICAgfS5iaW5kKHRoaXMpKTsKLSAgfTsKLQotICBmdW5jdGlvbiBVc2JEZXZpY2VT
dHViKGRlbGVnYXRlKSB7Ci0gICAgdGhpcy5kZWxlZ2F0ZV8gPSBkZWxlZ2F0ZTsKLSAgfQotICBV
c2JEZXZpY2VTdHViLnByb3RvdHlwZS5vcGVuID0gZnVuY3Rpb24oKSB7Ci0gICAgcmV0dXJuIHRo
aXMuZGVsZWdhdGVfICYmIHRoaXMuZGVsZWdhdGVfLm9wZW4gJiYgdGhpcy5kZWxlZ2F0ZV8ub3Bl
bigpOwotICB9Ci0gIFVzYkRldmljZVN0dWIucHJvdG90eXBlLmNsb3NlID0gZnVuY3Rpb24oKSB7
Ci0gICAgcmV0dXJuIHRoaXMuZGVsZWdhdGVfICYmIHRoaXMuZGVsZWdhdGVfLmNsb3NlICYmIHRo
aXMuZGVsZWdhdGVfLmNsb3NlKCk7Ci0gIH0KLSAgVXNiRGV2aWNlU3R1Yi5wcm90b3R5cGUuc2V0
Q29uZmlndXJhdGlvbiA9IGZ1bmN0aW9uKHZhbHVlKSB7Ci0gICAgcmV0dXJuIHRoaXMuZGVsZWdh
dGVfICYmIHRoaXMuZGVsZWdhdGVfLnNldENvbmZpZ3VyYXRpb24gJiYgdGhpcy5kZWxlZ2F0ZV8u
c2V0Q29uZmlndXJhdGlvbih2YWx1ZSk7Ci0gIH0KLSAgVXNiRGV2aWNlU3R1Yi5wcm90b3R5cGUu
Y2xhaW1JbnRlcmZhY2UgPSBmdW5jdGlvbihpbnRlcmZhY2VOdW1iZXIpIHsKLSAgICByZXR1cm4g
dGhpcy5kZWxlZ2F0ZV8gJiYgdGhpcy5kZWxlZ2F0ZV8uY2xhaW1JbnRlcmZhY2UgJiYgdGhpcy5k
ZWxlZ2F0ZV8uY2xhaW1JbnRlcmZhY2UoaW50ZXJmYWNlTnVtYmVyKTsKLSAgfQotICBVc2JEZXZp
Y2VTdHViLnByb3RvdHlwZS5yZWxlYXNlSW50ZXJmYWNlID0gZnVuY3Rpb24oaW50ZXJmYWNlTnVt
YmVyKSB7Ci0gICAgcmV0dXJuIHRoaXMuZGVsZWdhdGVfICYmIHRoaXMuZGVsZWdhdGVfLnJlbGVh
c2VJbnRlcmZhY2UgJiYgdGhpcy5kZWxlZ2F0ZV8ucmVsZWFzZUludGVyZmFjZShpbnRlcmZhY2VO
dW1iZXIpOwotICB9Ci0gIFVzYkRldmljZVN0dWIucHJvdG90eXBlLnNldEludGVyZmFjZUFsdGVy
bmF0ZVNldHRpbmcgPSBmdW5jdGlvbihpbnRlcmZhY2VOdW1iZXIsIGFsdGVybmF0ZVNldHRpbmcp
IHsKLSAgICByZXR1cm4gdGhpcy5kZWxlZ2F0ZV8gJiYgdGhpcy5kZWxlZ2F0ZV8uc2V0SW50ZXJm
YWNlQWx0ZXJuYXRlU2V0dGluZyAmJiB0aGlzLmRlbGVnYXRlXy5zZXRJbnRlcmZhY2VBbHRlcm5h
dGVTZXR0aW5nKGludGVyZmFjZU51bWJlciwgYWx0ZXJuYXRlU2V0dGluZyk7Ci0gIH0KLSAgVXNi
RGV2aWNlU3R1Yi5wcm90b3R5cGUucmVzZXQgPSBmdW5jdGlvbigpIHsKLSAgICByZXR1cm4gdGhp
cy5kZWxlZ2F0ZV8gJiYgdGhpcy5kZWxlZ2F0ZV8ucmVzZXQgJiYgdGhpcy5kZWxlZ2F0ZV8ucmVz
ZXQoKTsKLSAgfQotICBVc2JEZXZpY2VTdHViLnByb3RvdHlwZS5jbGVhckhhbHQgPSBmdW5jdGlv
bihlbmRwb2ludCkgewotICAgIHJldHVybiB0aGlzLmRlbGVnYXRlXyAmJiB0aGlzLmRlbGVnYXRl
Xy5jbGVhckhhbHQgJiYgdGhpcy5kZWxlZ2F0ZV8uY2xlYXJIYWx0KGVuZHBvaW50KTsKLSAgfQot
ICBVc2JEZXZpY2VTdHViLnByb3RvdHlwZS5jb250cm9sVHJhbnNmZXJJbiA9IGZ1bmN0aW9uKHBh
cmFtcywgbGVuZ3RoLCB0aW1lb3V0KSB7Ci0gICAgcmV0dXJuIHRoaXMuZGVsZWdhdGVfICYmIHRo
aXMuZGVsZWdhdGVfLmNvbnRyb2xUcmFuc2ZlckluICYmIHRoaXMuZGVsZWdhdGVfLmNvbnRyb2xU
cmFuc2ZlckluKHBhcmFtcywgbGVuZ3RoLCB0aW1lb3V0KTsKLSAgfQotICBVc2JEZXZpY2VTdHVi
LnByb3RvdHlwZS5jb250cm9sVHJhbnNmZXJPdXQgPSBmdW5jdGlvbihwYXJhbXMsIGRhdGEsIHRp
bWVvdXQpIHsKLSAgICByZXR1cm4gdGhpcy5kZWxlZ2F0ZV8gJiYgdGhpcy5kZWxlZ2F0ZV8uY29u
dHJvbFRyYW5zZmVyT3V0ICYmIHRoaXMuZGVsZWdhdGVfLmNvbnRyb2xUcmFuc2Zlck91dChwYXJh
bXMsIGRhdGEsIHRpbWVvdXQpOwotICB9Ci0gIFVzYkRldmljZVN0dWIucHJvdG90eXBlLmdlbmVy
aWNUcmFuc2ZlckluID0gZnVuY3Rpb24oZW5kcG9pbnROdW1iZXIsIGxlbmd0aCwgdGltZW91dCkg
ewotICAgIHJldHVybiB0aGlzLmRlbGVnYXRlXyAmJiB0aGlzLmRlbGVnYXRlXy5nZW5lcmljVHJh
bnNmZXJJbiAmJiB0aGlzLmRlbGVnYXRlXy5nZW5lcmljVHJhbnNmZXJJbihlbmRwb2ludE51bWJl
ciwgbGVuZ3RoLCB0aW1lb3V0KTsKLSAgfQotICBVc2JEZXZpY2VTdHViLnByb3RvdHlwZS5nZW5l
cmljVHJhbnNmZXJPdXQgPSBmdW5jdGlvbihlbmRwb2ludE51bWJlciwgZGF0YSwgdGltZW91dCkg
ewotICAgIHJldHVybiB0aGlzLmRlbGVnYXRlXyAmJiB0aGlzLmRlbGVnYXRlXy5nZW5lcmljVHJh
bnNmZXJPdXQgJiYgdGhpcy5kZWxlZ2F0ZV8uZ2VuZXJpY1RyYW5zZmVyT3V0KGVuZHBvaW50TnVt
YmVyLCBkYXRhLCB0aW1lb3V0KTsKLSAgfQotICBVc2JEZXZpY2VTdHViLnByb3RvdHlwZS5pc29j
aHJvbm91c1RyYW5zZmVySW4gPSBmdW5jdGlvbihlbmRwb2ludE51bWJlciwgcGFja2V0TGVuZ3Ro
cywgdGltZW91dCkgewotICAgIHJldHVybiB0aGlzLmRlbGVnYXRlXyAmJiB0aGlzLmRlbGVnYXRl
Xy5pc29jaHJvbm91c1RyYW5zZmVySW4gJiYgdGhpcy5kZWxlZ2F0ZV8uaXNvY2hyb25vdXNUcmFu
c2ZlckluKGVuZHBvaW50TnVtYmVyLCBwYWNrZXRMZW5ndGhzLCB0aW1lb3V0KTsKLSAgfQotICBV
c2JEZXZpY2VTdHViLnByb3RvdHlwZS5pc29jaHJvbm91c1RyYW5zZmVyT3V0ID0gZnVuY3Rpb24o
ZW5kcG9pbnROdW1iZXIsIGRhdGEsIHBhY2tldExlbmd0aHMsIHRpbWVvdXQpIHsKLSAgICByZXR1
cm4gdGhpcy5kZWxlZ2F0ZV8gJiYgdGhpcy5kZWxlZ2F0ZV8uaXNvY2hyb25vdXNUcmFuc2Zlck91
dCAmJiB0aGlzLmRlbGVnYXRlXy5pc29jaHJvbm91c1RyYW5zZmVyT3V0KGVuZHBvaW50TnVtYmVy
LCBkYXRhLCBwYWNrZXRMZW5ndGhzLCB0aW1lb3V0KTsKLSAgfQotCi0gIFVzYkRldmljZVN0dWIu
cHJvdG90eXBlLmFjY2VwdCA9IGZ1bmN0aW9uKG1lc3NhZ2UpIHsKLSAgICB2YXIgcmVhZGVyID0g
bmV3IGNvZGVjLk1lc3NhZ2VSZWFkZXIobWVzc2FnZSk7Ci0gICAgc3dpdGNoIChyZWFkZXIubWVz
c2FnZU5hbWUpIHsKLSAgICBkZWZhdWx0OgotICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0KLSAg
fTsKLQotICBVc2JEZXZpY2VTdHViLnByb3RvdHlwZS5hY2NlcHRXaXRoUmVzcG9uZGVyID0KLSAg
ICAgIGZ1bmN0aW9uKG1lc3NhZ2UsIHJlc3BvbmRlcikgewotICAgIHZhciByZWFkZXIgPSBuZXcg
Y29kZWMuTWVzc2FnZVJlYWRlcihtZXNzYWdlKTsKLSAgICBzd2l0Y2ggKHJlYWRlci5tZXNzYWdl
TmFtZSkgewotICAgIGNhc2Uga1VzYkRldmljZV9PcGVuX05hbWU6Ci0gICAgICB2YXIgcGFyYW1z
ID0gcmVhZGVyLmRlY29kZVN0cnVjdChVc2JEZXZpY2VfT3Blbl9QYXJhbXMpOwotICAgICAgdGhp
cy5vcGVuKCkudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgICAgICB2YXIgcmVzcG9uc2VQ
YXJhbXMgPQotICAgICAgICAgICAgbmV3IFVzYkRldmljZV9PcGVuX1Jlc3BvbnNlUGFyYW1zKCk7
Ci0gICAgICAgIHJlc3BvbnNlUGFyYW1zLmVycm9yID0gcmVzcG9uc2UuZXJyb3I7Ci0gICAgICAg
IHZhciBidWlsZGVyID0gbmV3IGNvZGVjLk1lc3NhZ2VWMUJ1aWxkZXIoCi0gICAgICAgICAgICBr
VXNiRGV2aWNlX09wZW5fTmFtZSwKLSAgICAgICAgICAgIGNvZGVjLmFsaWduKFVzYkRldmljZV9P
cGVuX1Jlc3BvbnNlUGFyYW1zLmVuY29kZWRTaXplKSwKLSAgICAgICAgICAgIGNvZGVjLmtNZXNz
YWdlSXNSZXNwb25zZSwgcmVhZGVyLnJlcXVlc3RJRCk7Ci0gICAgICAgIGJ1aWxkZXIuZW5jb2Rl
U3RydWN0KFVzYkRldmljZV9PcGVuX1Jlc3BvbnNlUGFyYW1zLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICByZXNwb25zZVBhcmFtcyk7Ci0gICAgICAgIHZhciBtZXNzYWdlID0gYnVpbGRl
ci5maW5pc2goKTsKLSAgICAgICAgcmVzcG9uZGVyLmFjY2VwdChtZXNzYWdlKTsKLSAgICAgIH0p
OwotICAgICAgcmV0dXJuIHRydWU7Ci0gICAgY2FzZSBrVXNiRGV2aWNlX0Nsb3NlX05hbWU6Ci0g
ICAgICB2YXIgcGFyYW1zID0gcmVhZGVyLmRlY29kZVN0cnVjdChVc2JEZXZpY2VfQ2xvc2VfUGFy
YW1zKTsKLSAgICAgIHRoaXMuY2xvc2UoKS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAg
ICAgIHZhciByZXNwb25zZVBhcmFtcyA9Ci0gICAgICAgICAgICBuZXcgVXNiRGV2aWNlX0Nsb3Nl
X1Jlc3BvbnNlUGFyYW1zKCk7Ci0gICAgICAgIHZhciBidWlsZGVyID0gbmV3IGNvZGVjLk1lc3Nh
Z2VWMUJ1aWxkZXIoCi0gICAgICAgICAgICBrVXNiRGV2aWNlX0Nsb3NlX05hbWUsCi0gICAgICAg
ICAgICBjb2RlYy5hbGlnbihVc2JEZXZpY2VfQ2xvc2VfUmVzcG9uc2VQYXJhbXMuZW5jb2RlZFNp
emUpLAotICAgICAgICAgICAgY29kZWMua01lc3NhZ2VJc1Jlc3BvbnNlLCByZWFkZXIucmVxdWVz
dElEKTsKLSAgICAgICAgYnVpbGRlci5lbmNvZGVTdHJ1Y3QoVXNiRGV2aWNlX0Nsb3NlX1Jlc3Bv
bnNlUGFyYW1zLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNwb25zZVBhcmFtcyk7
Ci0gICAgICAgIHZhciBtZXNzYWdlID0gYnVpbGRlci5maW5pc2goKTsKLSAgICAgICAgcmVzcG9u
ZGVyLmFjY2VwdChtZXNzYWdlKTsKLSAgICAgIH0pOwotICAgICAgcmV0dXJuIHRydWU7Ci0gICAg
Y2FzZSBrVXNiRGV2aWNlX1NldENvbmZpZ3VyYXRpb25fTmFtZToKLSAgICAgIHZhciBwYXJhbXMg
PSByZWFkZXIuZGVjb2RlU3RydWN0KFVzYkRldmljZV9TZXRDb25maWd1cmF0aW9uX1BhcmFtcyk7
Ci0gICAgICB0aGlzLnNldENvbmZpZ3VyYXRpb24ocGFyYW1zLnZhbHVlKS50aGVuKGZ1bmN0aW9u
KHJlc3BvbnNlKSB7Ci0gICAgICAgIHZhciByZXNwb25zZVBhcmFtcyA9Ci0gICAgICAgICAgICBu
ZXcgVXNiRGV2aWNlX1NldENvbmZpZ3VyYXRpb25fUmVzcG9uc2VQYXJhbXMoKTsKLSAgICAgICAg
cmVzcG9uc2VQYXJhbXMuc3VjY2VzcyA9IHJlc3BvbnNlLnN1Y2Nlc3M7Ci0gICAgICAgIHZhciBi
dWlsZGVyID0gbmV3IGNvZGVjLk1lc3NhZ2VWMUJ1aWxkZXIoCi0gICAgICAgICAgICBrVXNiRGV2
aWNlX1NldENvbmZpZ3VyYXRpb25fTmFtZSwKLSAgICAgICAgICAgIGNvZGVjLmFsaWduKFVzYkRl
dmljZV9TZXRDb25maWd1cmF0aW9uX1Jlc3BvbnNlUGFyYW1zLmVuY29kZWRTaXplKSwKLSAgICAg
ICAgICAgIGNvZGVjLmtNZXNzYWdlSXNSZXNwb25zZSwgcmVhZGVyLnJlcXVlc3RJRCk7Ci0gICAg
ICAgIGJ1aWxkZXIuZW5jb2RlU3RydWN0KFVzYkRldmljZV9TZXRDb25maWd1cmF0aW9uX1Jlc3Bv
bnNlUGFyYW1zLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNwb25zZVBhcmFtcyk7
Ci0gICAgICAgIHZhciBtZXNzYWdlID0gYnVpbGRlci5maW5pc2goKTsKLSAgICAgICAgcmVzcG9u
ZGVyLmFjY2VwdChtZXNzYWdlKTsKLSAgICAgIH0pOwotICAgICAgcmV0dXJuIHRydWU7Ci0gICAg
Y2FzZSBrVXNiRGV2aWNlX0NsYWltSW50ZXJmYWNlX05hbWU6Ci0gICAgICB2YXIgcGFyYW1zID0g
cmVhZGVyLmRlY29kZVN0cnVjdChVc2JEZXZpY2VfQ2xhaW1JbnRlcmZhY2VfUGFyYW1zKTsKLSAg
ICAgIHRoaXMuY2xhaW1JbnRlcmZhY2UocGFyYW1zLmludGVyZmFjZU51bWJlcikudGhlbihmdW5j
dGlvbihyZXNwb25zZSkgewotICAgICAgICB2YXIgcmVzcG9uc2VQYXJhbXMgPQotICAgICAgICAg
ICAgbmV3IFVzYkRldmljZV9DbGFpbUludGVyZmFjZV9SZXNwb25zZVBhcmFtcygpOwotICAgICAg
ICByZXNwb25zZVBhcmFtcy5zdWNjZXNzID0gcmVzcG9uc2Uuc3VjY2VzczsKLSAgICAgICAgdmFy
IGJ1aWxkZXIgPSBuZXcgY29kZWMuTWVzc2FnZVYxQnVpbGRlcigKLSAgICAgICAgICAgIGtVc2JE
ZXZpY2VfQ2xhaW1JbnRlcmZhY2VfTmFtZSwKLSAgICAgICAgICAgIGNvZGVjLmFsaWduKFVzYkRl
dmljZV9DbGFpbUludGVyZmFjZV9SZXNwb25zZVBhcmFtcy5lbmNvZGVkU2l6ZSksCi0gICAgICAg
ICAgICBjb2RlYy5rTWVzc2FnZUlzUmVzcG9uc2UsIHJlYWRlci5yZXF1ZXN0SUQpOwotICAgICAg
ICBidWlsZGVyLmVuY29kZVN0cnVjdChVc2JEZXZpY2VfQ2xhaW1JbnRlcmZhY2VfUmVzcG9uc2VQ
YXJhbXMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlUGFyYW1zKTsKLSAg
ICAgICAgdmFyIG1lc3NhZ2UgPSBidWlsZGVyLmZpbmlzaCgpOwotICAgICAgICByZXNwb25kZXIu
YWNjZXB0KG1lc3NhZ2UpOwotICAgICAgfSk7Ci0gICAgICByZXR1cm4gdHJ1ZTsKLSAgICBjYXNl
IGtVc2JEZXZpY2VfUmVsZWFzZUludGVyZmFjZV9OYW1lOgotICAgICAgdmFyIHBhcmFtcyA9IHJl
YWRlci5kZWNvZGVTdHJ1Y3QoVXNiRGV2aWNlX1JlbGVhc2VJbnRlcmZhY2VfUGFyYW1zKTsKLSAg
ICAgIHRoaXMucmVsZWFzZUludGVyZmFjZShwYXJhbXMuaW50ZXJmYWNlTnVtYmVyKS50aGVuKGZ1
bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgICAgIHZhciByZXNwb25zZVBhcmFtcyA9Ci0gICAgICAg
ICAgICBuZXcgVXNiRGV2aWNlX1JlbGVhc2VJbnRlcmZhY2VfUmVzcG9uc2VQYXJhbXMoKTsKLSAg
ICAgICAgcmVzcG9uc2VQYXJhbXMuc3VjY2VzcyA9IHJlc3BvbnNlLnN1Y2Nlc3M7Ci0gICAgICAg
IHZhciBidWlsZGVyID0gbmV3IGNvZGVjLk1lc3NhZ2VWMUJ1aWxkZXIoCi0gICAgICAgICAgICBr
VXNiRGV2aWNlX1JlbGVhc2VJbnRlcmZhY2VfTmFtZSwKLSAgICAgICAgICAgIGNvZGVjLmFsaWdu
KFVzYkRldmljZV9SZWxlYXNlSW50ZXJmYWNlX1Jlc3BvbnNlUGFyYW1zLmVuY29kZWRTaXplKSwK
LSAgICAgICAgICAgIGNvZGVjLmtNZXNzYWdlSXNSZXNwb25zZSwgcmVhZGVyLnJlcXVlc3RJRCk7
Ci0gICAgICAgIGJ1aWxkZXIuZW5jb2RlU3RydWN0KFVzYkRldmljZV9SZWxlYXNlSW50ZXJmYWNl
X1Jlc3BvbnNlUGFyYW1zLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNwb25zZVBh
cmFtcyk7Ci0gICAgICAgIHZhciBtZXNzYWdlID0gYnVpbGRlci5maW5pc2goKTsKLSAgICAgICAg
cmVzcG9uZGVyLmFjY2VwdChtZXNzYWdlKTsKLSAgICAgIH0pOwotICAgICAgcmV0dXJuIHRydWU7
Ci0gICAgY2FzZSBrVXNiRGV2aWNlX1NldEludGVyZmFjZUFsdGVybmF0ZVNldHRpbmdfTmFtZToK
LSAgICAgIHZhciBwYXJhbXMgPSByZWFkZXIuZGVjb2RlU3RydWN0KFVzYkRldmljZV9TZXRJbnRl
cmZhY2VBbHRlcm5hdGVTZXR0aW5nX1BhcmFtcyk7Ci0gICAgICB0aGlzLnNldEludGVyZmFjZUFs
dGVybmF0ZVNldHRpbmcocGFyYW1zLmludGVyZmFjZU51bWJlciwgcGFyYW1zLmFsdGVybmF0ZVNl
dHRpbmcpLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICAgICAgdmFyIHJlc3BvbnNlUGFy
YW1zID0KLSAgICAgICAgICAgIG5ldyBVc2JEZXZpY2VfU2V0SW50ZXJmYWNlQWx0ZXJuYXRlU2V0
dGluZ19SZXNwb25zZVBhcmFtcygpOwotICAgICAgICByZXNwb25zZVBhcmFtcy5zdWNjZXNzID0g
cmVzcG9uc2Uuc3VjY2VzczsKLSAgICAgICAgdmFyIGJ1aWxkZXIgPSBuZXcgY29kZWMuTWVzc2Fn
ZVYxQnVpbGRlcigKLSAgICAgICAgICAgIGtVc2JEZXZpY2VfU2V0SW50ZXJmYWNlQWx0ZXJuYXRl
U2V0dGluZ19OYW1lLAotICAgICAgICAgICAgY29kZWMuYWxpZ24oVXNiRGV2aWNlX1NldEludGVy
ZmFjZUFsdGVybmF0ZVNldHRpbmdfUmVzcG9uc2VQYXJhbXMuZW5jb2RlZFNpemUpLAotICAgICAg
ICAgICAgY29kZWMua01lc3NhZ2VJc1Jlc3BvbnNlLCByZWFkZXIucmVxdWVzdElEKTsKLSAgICAg
ICAgYnVpbGRlci5lbmNvZGVTdHJ1Y3QoVXNiRGV2aWNlX1NldEludGVyZmFjZUFsdGVybmF0ZVNl
dHRpbmdfUmVzcG9uc2VQYXJhbXMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3Bv
bnNlUGFyYW1zKTsKLSAgICAgICAgdmFyIG1lc3NhZ2UgPSBidWlsZGVyLmZpbmlzaCgpOwotICAg
ICAgICByZXNwb25kZXIuYWNjZXB0KG1lc3NhZ2UpOwotICAgICAgfSk7Ci0gICAgICByZXR1cm4g
dHJ1ZTsKLSAgICBjYXNlIGtVc2JEZXZpY2VfUmVzZXRfTmFtZToKLSAgICAgIHZhciBwYXJhbXMg
PSByZWFkZXIuZGVjb2RlU3RydWN0KFVzYkRldmljZV9SZXNldF9QYXJhbXMpOwotICAgICAgdGhp
cy5yZXNldCgpLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICAgICAgdmFyIHJlc3BvbnNl
UGFyYW1zID0KLSAgICAgICAgICAgIG5ldyBVc2JEZXZpY2VfUmVzZXRfUmVzcG9uc2VQYXJhbXMo
KTsKLSAgICAgICAgcmVzcG9uc2VQYXJhbXMuc3VjY2VzcyA9IHJlc3BvbnNlLnN1Y2Nlc3M7Ci0g
ICAgICAgIHZhciBidWlsZGVyID0gbmV3IGNvZGVjLk1lc3NhZ2VWMUJ1aWxkZXIoCi0gICAgICAg
ICAgICBrVXNiRGV2aWNlX1Jlc2V0X05hbWUsCi0gICAgICAgICAgICBjb2RlYy5hbGlnbihVc2JE
ZXZpY2VfUmVzZXRfUmVzcG9uc2VQYXJhbXMuZW5jb2RlZFNpemUpLAotICAgICAgICAgICAgY29k
ZWMua01lc3NhZ2VJc1Jlc3BvbnNlLCByZWFkZXIucmVxdWVzdElEKTsKLSAgICAgICAgYnVpbGRl
ci5lbmNvZGVTdHJ1Y3QoVXNiRGV2aWNlX1Jlc2V0X1Jlc3BvbnNlUGFyYW1zLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICByZXNwb25zZVBhcmFtcyk7Ci0gICAgICAgIHZhciBtZXNzYWdl
ID0gYnVpbGRlci5maW5pc2goKTsKLSAgICAgICAgcmVzcG9uZGVyLmFjY2VwdChtZXNzYWdlKTsK
LSAgICAgIH0pOwotICAgICAgcmV0dXJuIHRydWU7Ci0gICAgY2FzZSBrVXNiRGV2aWNlX0NsZWFy
SGFsdF9OYW1lOgotICAgICAgdmFyIHBhcmFtcyA9IHJlYWRlci5kZWNvZGVTdHJ1Y3QoVXNiRGV2
aWNlX0NsZWFySGFsdF9QYXJhbXMpOwotICAgICAgdGhpcy5jbGVhckhhbHQocGFyYW1zLmVuZHBv
aW50KS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgICAgIHZhciByZXNwb25zZVBhcmFt
cyA9Ci0gICAgICAgICAgICBuZXcgVXNiRGV2aWNlX0NsZWFySGFsdF9SZXNwb25zZVBhcmFtcygp
OwotICAgICAgICByZXNwb25zZVBhcmFtcy5zdWNjZXNzID0gcmVzcG9uc2Uuc3VjY2VzczsKLSAg
ICAgICAgdmFyIGJ1aWxkZXIgPSBuZXcgY29kZWMuTWVzc2FnZVYxQnVpbGRlcigKLSAgICAgICAg
ICAgIGtVc2JEZXZpY2VfQ2xlYXJIYWx0X05hbWUsCi0gICAgICAgICAgICBjb2RlYy5hbGlnbihV
c2JEZXZpY2VfQ2xlYXJIYWx0X1Jlc3BvbnNlUGFyYW1zLmVuY29kZWRTaXplKSwKLSAgICAgICAg
ICAgIGNvZGVjLmtNZXNzYWdlSXNSZXNwb25zZSwgcmVhZGVyLnJlcXVlc3RJRCk7Ci0gICAgICAg
IGJ1aWxkZXIuZW5jb2RlU3RydWN0KFVzYkRldmljZV9DbGVhckhhbHRfUmVzcG9uc2VQYXJhbXMs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlUGFyYW1zKTsKLSAgICAgICAg
dmFyIG1lc3NhZ2UgPSBidWlsZGVyLmZpbmlzaCgpOwotICAgICAgICByZXNwb25kZXIuYWNjZXB0
KG1lc3NhZ2UpOwotICAgICAgfSk7Ci0gICAgICByZXR1cm4gdHJ1ZTsKLSAgICBjYXNlIGtVc2JE
ZXZpY2VfQ29udHJvbFRyYW5zZmVySW5fTmFtZToKLSAgICAgIHZhciBwYXJhbXMgPSByZWFkZXIu
ZGVjb2RlU3RydWN0KFVzYkRldmljZV9Db250cm9sVHJhbnNmZXJJbl9QYXJhbXMpOwotICAgICAg
dGhpcy5jb250cm9sVHJhbnNmZXJJbihwYXJhbXMucGFyYW1zLCBwYXJhbXMubGVuZ3RoLCBwYXJh
bXMudGltZW91dCkudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgICAgICB2YXIgcmVzcG9u
c2VQYXJhbXMgPQotICAgICAgICAgICAgbmV3IFVzYkRldmljZV9Db250cm9sVHJhbnNmZXJJbl9S
ZXNwb25zZVBhcmFtcygpOwotICAgICAgICByZXNwb25zZVBhcmFtcy5zdGF0dXMgPSByZXNwb25z
ZS5zdGF0dXM7Ci0gICAgICAgIHJlc3BvbnNlUGFyYW1zLmRhdGEgPSByZXNwb25zZS5kYXRhOwot
ICAgICAgICB2YXIgYnVpbGRlciA9IG5ldyBjb2RlYy5NZXNzYWdlVjFCdWlsZGVyKAotICAgICAg
ICAgICAga1VzYkRldmljZV9Db250cm9sVHJhbnNmZXJJbl9OYW1lLAotICAgICAgICAgICAgY29k
ZWMuYWxpZ24oVXNiRGV2aWNlX0NvbnRyb2xUcmFuc2ZlckluX1Jlc3BvbnNlUGFyYW1zLmVuY29k
ZWRTaXplKSwKLSAgICAgICAgICAgIGNvZGVjLmtNZXNzYWdlSXNSZXNwb25zZSwgcmVhZGVyLnJl
cXVlc3RJRCk7Ci0gICAgICAgIGJ1aWxkZXIuZW5jb2RlU3RydWN0KFVzYkRldmljZV9Db250cm9s
VHJhbnNmZXJJbl9SZXNwb25zZVBhcmFtcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
cmVzcG9uc2VQYXJhbXMpOwotICAgICAgICB2YXIgbWVzc2FnZSA9IGJ1aWxkZXIuZmluaXNoKCk7
Ci0gICAgICAgIHJlc3BvbmRlci5hY2NlcHQobWVzc2FnZSk7Ci0gICAgICB9KTsKLSAgICAgIHJl
dHVybiB0cnVlOwotICAgIGNhc2Uga1VzYkRldmljZV9Db250cm9sVHJhbnNmZXJPdXRfTmFtZToK
LSAgICAgIHZhciBwYXJhbXMgPSByZWFkZXIuZGVjb2RlU3RydWN0KFVzYkRldmljZV9Db250cm9s
VHJhbnNmZXJPdXRfUGFyYW1zKTsKLSAgICAgIHRoaXMuY29udHJvbFRyYW5zZmVyT3V0KHBhcmFt
cy5wYXJhbXMsIHBhcmFtcy5kYXRhLCBwYXJhbXMudGltZW91dCkudGhlbihmdW5jdGlvbihyZXNw
b25zZSkgewotICAgICAgICB2YXIgcmVzcG9uc2VQYXJhbXMgPQotICAgICAgICAgICAgbmV3IFVz
YkRldmljZV9Db250cm9sVHJhbnNmZXJPdXRfUmVzcG9uc2VQYXJhbXMoKTsKLSAgICAgICAgcmVz
cG9uc2VQYXJhbXMuc3RhdHVzID0gcmVzcG9uc2Uuc3RhdHVzOwotICAgICAgICB2YXIgYnVpbGRl
ciA9IG5ldyBjb2RlYy5NZXNzYWdlVjFCdWlsZGVyKAotICAgICAgICAgICAga1VzYkRldmljZV9D
b250cm9sVHJhbnNmZXJPdXRfTmFtZSwKLSAgICAgICAgICAgIGNvZGVjLmFsaWduKFVzYkRldmlj
ZV9Db250cm9sVHJhbnNmZXJPdXRfUmVzcG9uc2VQYXJhbXMuZW5jb2RlZFNpemUpLAotICAgICAg
ICAgICAgY29kZWMua01lc3NhZ2VJc1Jlc3BvbnNlLCByZWFkZXIucmVxdWVzdElEKTsKLSAgICAg
ICAgYnVpbGRlci5lbmNvZGVTdHJ1Y3QoVXNiRGV2aWNlX0NvbnRyb2xUcmFuc2Zlck91dF9SZXNw
b25zZVBhcmFtcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2VQYXJhbXMp
OwotICAgICAgICB2YXIgbWVzc2FnZSA9IGJ1aWxkZXIuZmluaXNoKCk7Ci0gICAgICAgIHJlc3Bv
bmRlci5hY2NlcHQobWVzc2FnZSk7Ci0gICAgICB9KTsKLSAgICAgIHJldHVybiB0cnVlOwotICAg
IGNhc2Uga1VzYkRldmljZV9HZW5lcmljVHJhbnNmZXJJbl9OYW1lOgotICAgICAgdmFyIHBhcmFt
cyA9IHJlYWRlci5kZWNvZGVTdHJ1Y3QoVXNiRGV2aWNlX0dlbmVyaWNUcmFuc2ZlckluX1BhcmFt
cyk7Ci0gICAgICB0aGlzLmdlbmVyaWNUcmFuc2ZlckluKHBhcmFtcy5lbmRwb2ludE51bWJlciwg
cGFyYW1zLmxlbmd0aCwgcGFyYW1zLnRpbWVvdXQpLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsK
LSAgICAgICAgdmFyIHJlc3BvbnNlUGFyYW1zID0KLSAgICAgICAgICAgIG5ldyBVc2JEZXZpY2Vf
R2VuZXJpY1RyYW5zZmVySW5fUmVzcG9uc2VQYXJhbXMoKTsKLSAgICAgICAgcmVzcG9uc2VQYXJh
bXMuc3RhdHVzID0gcmVzcG9uc2Uuc3RhdHVzOwotICAgICAgICByZXNwb25zZVBhcmFtcy5kYXRh
ID0gcmVzcG9uc2UuZGF0YTsKLSAgICAgICAgdmFyIGJ1aWxkZXIgPSBuZXcgY29kZWMuTWVzc2Fn
ZVYxQnVpbGRlcigKLSAgICAgICAgICAgIGtVc2JEZXZpY2VfR2VuZXJpY1RyYW5zZmVySW5fTmFt
ZSwKLSAgICAgICAgICAgIGNvZGVjLmFsaWduKFVzYkRldmljZV9HZW5lcmljVHJhbnNmZXJJbl9S
ZXNwb25zZVBhcmFtcy5lbmNvZGVkU2l6ZSksCi0gICAgICAgICAgICBjb2RlYy5rTWVzc2FnZUlz
UmVzcG9uc2UsIHJlYWRlci5yZXF1ZXN0SUQpOwotICAgICAgICBidWlsZGVyLmVuY29kZVN0cnVj
dChVc2JEZXZpY2VfR2VuZXJpY1RyYW5zZmVySW5fUmVzcG9uc2VQYXJhbXMsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlUGFyYW1zKTsKLSAgICAgICAgdmFyIG1lc3NhZ2Ug
PSBidWlsZGVyLmZpbmlzaCgpOwotICAgICAgICByZXNwb25kZXIuYWNjZXB0KG1lc3NhZ2UpOwot
ICAgICAgfSk7Ci0gICAgICByZXR1cm4gdHJ1ZTsKLSAgICBjYXNlIGtVc2JEZXZpY2VfR2VuZXJp
Y1RyYW5zZmVyT3V0X05hbWU6Ci0gICAgICB2YXIgcGFyYW1zID0gcmVhZGVyLmRlY29kZVN0cnVj
dChVc2JEZXZpY2VfR2VuZXJpY1RyYW5zZmVyT3V0X1BhcmFtcyk7Ci0gICAgICB0aGlzLmdlbmVy
aWNUcmFuc2Zlck91dChwYXJhbXMuZW5kcG9pbnROdW1iZXIsIHBhcmFtcy5kYXRhLCBwYXJhbXMu
dGltZW91dCkudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgICAgICB2YXIgcmVzcG9uc2VQ
YXJhbXMgPQotICAgICAgICAgICAgbmV3IFVzYkRldmljZV9HZW5lcmljVHJhbnNmZXJPdXRfUmVz
cG9uc2VQYXJhbXMoKTsKLSAgICAgICAgcmVzcG9uc2VQYXJhbXMuc3RhdHVzID0gcmVzcG9uc2Uu
c3RhdHVzOwotICAgICAgICB2YXIgYnVpbGRlciA9IG5ldyBjb2RlYy5NZXNzYWdlVjFCdWlsZGVy
KAotICAgICAgICAgICAga1VzYkRldmljZV9HZW5lcmljVHJhbnNmZXJPdXRfTmFtZSwKLSAgICAg
ICAgICAgIGNvZGVjLmFsaWduKFVzYkRldmljZV9HZW5lcmljVHJhbnNmZXJPdXRfUmVzcG9uc2VQ
YXJhbXMuZW5jb2RlZFNpemUpLAotICAgICAgICAgICAgY29kZWMua01lc3NhZ2VJc1Jlc3BvbnNl
LCByZWFkZXIucmVxdWVzdElEKTsKLSAgICAgICAgYnVpbGRlci5lbmNvZGVTdHJ1Y3QoVXNiRGV2
aWNlX0dlbmVyaWNUcmFuc2Zlck91dF9SZXNwb25zZVBhcmFtcywKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgcmVzcG9uc2VQYXJhbXMpOwotICAgICAgICB2YXIgbWVzc2FnZSA9IGJ1aWxk
ZXIuZmluaXNoKCk7Ci0gICAgICAgIHJlc3BvbmRlci5hY2NlcHQobWVzc2FnZSk7Ci0gICAgICB9
KTsKLSAgICAgIHJldHVybiB0cnVlOwotICAgIGNhc2Uga1VzYkRldmljZV9Jc29jaHJvbm91c1Ry
YW5zZmVySW5fTmFtZToKLSAgICAgIHZhciBwYXJhbXMgPSByZWFkZXIuZGVjb2RlU3RydWN0KFVz
YkRldmljZV9Jc29jaHJvbm91c1RyYW5zZmVySW5fUGFyYW1zKTsKLSAgICAgIHRoaXMuaXNvY2hy
b25vdXNUcmFuc2ZlckluKHBhcmFtcy5lbmRwb2ludE51bWJlciwgcGFyYW1zLnBhY2tldExlbmd0
aHMsIHBhcmFtcy50aW1lb3V0KS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgICAgIHZh
ciByZXNwb25zZVBhcmFtcyA9Ci0gICAgICAgICAgICBuZXcgVXNiRGV2aWNlX0lzb2Nocm9ub3Vz
VHJhbnNmZXJJbl9SZXNwb25zZVBhcmFtcygpOwotICAgICAgICByZXNwb25zZVBhcmFtcy5kYXRh
ID0gcmVzcG9uc2UuZGF0YTsKLSAgICAgICAgcmVzcG9uc2VQYXJhbXMucGFja2V0cyA9IHJlc3Bv
bnNlLnBhY2tldHM7Ci0gICAgICAgIHZhciBidWlsZGVyID0gbmV3IGNvZGVjLk1lc3NhZ2VWMUJ1
aWxkZXIoCi0gICAgICAgICAgICBrVXNiRGV2aWNlX0lzb2Nocm9ub3VzVHJhbnNmZXJJbl9OYW1l
LAotICAgICAgICAgICAgY29kZWMuYWxpZ24oVXNiRGV2aWNlX0lzb2Nocm9ub3VzVHJhbnNmZXJJ
bl9SZXNwb25zZVBhcmFtcy5lbmNvZGVkU2l6ZSksCi0gICAgICAgICAgICBjb2RlYy5rTWVzc2Fn
ZUlzUmVzcG9uc2UsIHJlYWRlci5yZXF1ZXN0SUQpOwotICAgICAgICBidWlsZGVyLmVuY29kZVN0
cnVjdChVc2JEZXZpY2VfSXNvY2hyb25vdXNUcmFuc2ZlckluX1Jlc3BvbnNlUGFyYW1zLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICByZXNwb25zZVBhcmFtcyk7Ci0gICAgICAgIHZhciBt
ZXNzYWdlID0gYnVpbGRlci5maW5pc2goKTsKLSAgICAgICAgcmVzcG9uZGVyLmFjY2VwdChtZXNz
YWdlKTsKLSAgICAgIH0pOwotICAgICAgcmV0dXJuIHRydWU7Ci0gICAgY2FzZSBrVXNiRGV2aWNl
X0lzb2Nocm9ub3VzVHJhbnNmZXJPdXRfTmFtZToKLSAgICAgIHZhciBwYXJhbXMgPSByZWFkZXIu
ZGVjb2RlU3RydWN0KFVzYkRldmljZV9Jc29jaHJvbm91c1RyYW5zZmVyT3V0X1BhcmFtcyk7Ci0g
ICAgICB0aGlzLmlzb2Nocm9ub3VzVHJhbnNmZXJPdXQocGFyYW1zLmVuZHBvaW50TnVtYmVyLCBw
YXJhbXMuZGF0YSwgcGFyYW1zLnBhY2tldExlbmd0aHMsIHBhcmFtcy50aW1lb3V0KS50aGVuKGZ1
bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgICAgIHZhciByZXNwb25zZVBhcmFtcyA9Ci0gICAgICAg
ICAgICBuZXcgVXNiRGV2aWNlX0lzb2Nocm9ub3VzVHJhbnNmZXJPdXRfUmVzcG9uc2VQYXJhbXMo
KTsKLSAgICAgICAgcmVzcG9uc2VQYXJhbXMucGFja2V0cyA9IHJlc3BvbnNlLnBhY2tldHM7Ci0g
ICAgICAgIHZhciBidWlsZGVyID0gbmV3IGNvZGVjLk1lc3NhZ2VWMUJ1aWxkZXIoCi0gICAgICAg
ICAgICBrVXNiRGV2aWNlX0lzb2Nocm9ub3VzVHJhbnNmZXJPdXRfTmFtZSwKLSAgICAgICAgICAg
IGNvZGVjLmFsaWduKFVzYkRldmljZV9Jc29jaHJvbm91c1RyYW5zZmVyT3V0X1Jlc3BvbnNlUGFy
YW1zLmVuY29kZWRTaXplKSwKLSAgICAgICAgICAgIGNvZGVjLmtNZXNzYWdlSXNSZXNwb25zZSwg
cmVhZGVyLnJlcXVlc3RJRCk7Ci0gICAgICAgIGJ1aWxkZXIuZW5jb2RlU3RydWN0KFVzYkRldmlj
ZV9Jc29jaHJvbm91c1RyYW5zZmVyT3V0X1Jlc3BvbnNlUGFyYW1zLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICByZXNwb25zZVBhcmFtcyk7Ci0gICAgICAgIHZhciBtZXNzYWdlID0gYnVp
bGRlci5maW5pc2goKTsKLSAgICAgICAgcmVzcG9uZGVyLmFjY2VwdChtZXNzYWdlKTsKLSAgICAg
IH0pOwotICAgICAgcmV0dXJuIHRydWU7Ci0gICAgZGVmYXVsdDoKLSAgICAgIHJldHVybiBmYWxz
ZTsKLSAgICB9Ci0gIH07Ci0KLSAgZnVuY3Rpb24gdmFsaWRhdGVVc2JEZXZpY2VSZXF1ZXN0KG1l
c3NhZ2VWYWxpZGF0b3IpIHsKLSAgICB2YXIgbWVzc2FnZSA9IG1lc3NhZ2VWYWxpZGF0b3IubWVz
c2FnZTsKLSAgICB2YXIgcGFyYW1zQ2xhc3MgPSBudWxsOwotICAgIHN3aXRjaCAobWVzc2FnZS5n
ZXROYW1lKCkpIHsKLSAgICAgIGNhc2Uga1VzYkRldmljZV9PcGVuX05hbWU6Ci0gICAgICAgIGlm
IChtZXNzYWdlLmV4cGVjdHNSZXNwb25zZSgpKQotICAgICAgICAgIHBhcmFtc0NsYXNzID0gVXNi
RGV2aWNlX09wZW5fUGFyYW1zOwotICAgICAgYnJlYWs7Ci0gICAgICBjYXNlIGtVc2JEZXZpY2Vf
Q2xvc2VfTmFtZToKLSAgICAgICAgaWYgKG1lc3NhZ2UuZXhwZWN0c1Jlc3BvbnNlKCkpCi0gICAg
ICAgICAgcGFyYW1zQ2xhc3MgPSBVc2JEZXZpY2VfQ2xvc2VfUGFyYW1zOwotICAgICAgYnJlYWs7
Ci0gICAgICBjYXNlIGtVc2JEZXZpY2VfU2V0Q29uZmlndXJhdGlvbl9OYW1lOgotICAgICAgICBp
ZiAobWVzc2FnZS5leHBlY3RzUmVzcG9uc2UoKSkKLSAgICAgICAgICBwYXJhbXNDbGFzcyA9IFVz
YkRldmljZV9TZXRDb25maWd1cmF0aW9uX1BhcmFtczsKLSAgICAgIGJyZWFrOwotICAgICAgY2Fz
ZSBrVXNiRGV2aWNlX0NsYWltSW50ZXJmYWNlX05hbWU6Ci0gICAgICAgIGlmIChtZXNzYWdlLmV4
cGVjdHNSZXNwb25zZSgpKQotICAgICAgICAgIHBhcmFtc0NsYXNzID0gVXNiRGV2aWNlX0NsYWlt
SW50ZXJmYWNlX1BhcmFtczsKLSAgICAgIGJyZWFrOwotICAgICAgY2FzZSBrVXNiRGV2aWNlX1Jl
bGVhc2VJbnRlcmZhY2VfTmFtZToKLSAgICAgICAgaWYgKG1lc3NhZ2UuZXhwZWN0c1Jlc3BvbnNl
KCkpCi0gICAgICAgICAgcGFyYW1zQ2xhc3MgPSBVc2JEZXZpY2VfUmVsZWFzZUludGVyZmFjZV9Q
YXJhbXM7Ci0gICAgICBicmVhazsKLSAgICAgIGNhc2Uga1VzYkRldmljZV9TZXRJbnRlcmZhY2VB
bHRlcm5hdGVTZXR0aW5nX05hbWU6Ci0gICAgICAgIGlmIChtZXNzYWdlLmV4cGVjdHNSZXNwb25z
ZSgpKQotICAgICAgICAgIHBhcmFtc0NsYXNzID0gVXNiRGV2aWNlX1NldEludGVyZmFjZUFsdGVy
bmF0ZVNldHRpbmdfUGFyYW1zOwotICAgICAgYnJlYWs7Ci0gICAgICBjYXNlIGtVc2JEZXZpY2Vf
UmVzZXRfTmFtZToKLSAgICAgICAgaWYgKG1lc3NhZ2UuZXhwZWN0c1Jlc3BvbnNlKCkpCi0gICAg
ICAgICAgcGFyYW1zQ2xhc3MgPSBVc2JEZXZpY2VfUmVzZXRfUGFyYW1zOwotICAgICAgYnJlYWs7
Ci0gICAgICBjYXNlIGtVc2JEZXZpY2VfQ2xlYXJIYWx0X05hbWU6Ci0gICAgICAgIGlmIChtZXNz
YWdlLmV4cGVjdHNSZXNwb25zZSgpKQotICAgICAgICAgIHBhcmFtc0NsYXNzID0gVXNiRGV2aWNl
X0NsZWFySGFsdF9QYXJhbXM7Ci0gICAgICBicmVhazsKLSAgICAgIGNhc2Uga1VzYkRldmljZV9D
b250cm9sVHJhbnNmZXJJbl9OYW1lOgotICAgICAgICBpZiAobWVzc2FnZS5leHBlY3RzUmVzcG9u
c2UoKSkKLSAgICAgICAgICBwYXJhbXNDbGFzcyA9IFVzYkRldmljZV9Db250cm9sVHJhbnNmZXJJ
bl9QYXJhbXM7Ci0gICAgICBicmVhazsKLSAgICAgIGNhc2Uga1VzYkRldmljZV9Db250cm9sVHJh
bnNmZXJPdXRfTmFtZToKLSAgICAgICAgaWYgKG1lc3NhZ2UuZXhwZWN0c1Jlc3BvbnNlKCkpCi0g
ICAgICAgICAgcGFyYW1zQ2xhc3MgPSBVc2JEZXZpY2VfQ29udHJvbFRyYW5zZmVyT3V0X1BhcmFt
czsKLSAgICAgIGJyZWFrOwotICAgICAgY2FzZSBrVXNiRGV2aWNlX0dlbmVyaWNUcmFuc2Zlcklu
X05hbWU6Ci0gICAgICAgIGlmIChtZXNzYWdlLmV4cGVjdHNSZXNwb25zZSgpKQotICAgICAgICAg
IHBhcmFtc0NsYXNzID0gVXNiRGV2aWNlX0dlbmVyaWNUcmFuc2ZlckluX1BhcmFtczsKLSAgICAg
IGJyZWFrOwotICAgICAgY2FzZSBrVXNiRGV2aWNlX0dlbmVyaWNUcmFuc2Zlck91dF9OYW1lOgot
ICAgICAgICBpZiAobWVzc2FnZS5leHBlY3RzUmVzcG9uc2UoKSkKLSAgICAgICAgICBwYXJhbXND
bGFzcyA9IFVzYkRldmljZV9HZW5lcmljVHJhbnNmZXJPdXRfUGFyYW1zOwotICAgICAgYnJlYWs7
Ci0gICAgICBjYXNlIGtVc2JEZXZpY2VfSXNvY2hyb25vdXNUcmFuc2ZlckluX05hbWU6Ci0gICAg
ICAgIGlmIChtZXNzYWdlLmV4cGVjdHNSZXNwb25zZSgpKQotICAgICAgICAgIHBhcmFtc0NsYXNz
ID0gVXNiRGV2aWNlX0lzb2Nocm9ub3VzVHJhbnNmZXJJbl9QYXJhbXM7Ci0gICAgICBicmVhazsK
LSAgICAgIGNhc2Uga1VzYkRldmljZV9Jc29jaHJvbm91c1RyYW5zZmVyT3V0X05hbWU6Ci0gICAg
ICAgIGlmIChtZXNzYWdlLmV4cGVjdHNSZXNwb25zZSgpKQotICAgICAgICAgIHBhcmFtc0NsYXNz
ID0gVXNiRGV2aWNlX0lzb2Nocm9ub3VzVHJhbnNmZXJPdXRfUGFyYW1zOwotICAgICAgYnJlYWs7
Ci0gICAgfQotICAgIGlmIChwYXJhbXNDbGFzcyA9PT0gbnVsbCkKLSAgICAgIHJldHVybiB2YWxp
ZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gICAgcmV0dXJuIHBhcmFtc0NsYXNzLnZhbGlk
YXRlKG1lc3NhZ2VWYWxpZGF0b3IsIG1lc3NhZ2VWYWxpZGF0b3IubWVzc2FnZS5nZXRIZWFkZXJO
dW1CeXRlcygpKTsKLSAgfQotCi0gIGZ1bmN0aW9uIHZhbGlkYXRlVXNiRGV2aWNlUmVzcG9uc2Uo
bWVzc2FnZVZhbGlkYXRvcikgewotICAgdmFyIG1lc3NhZ2UgPSBtZXNzYWdlVmFsaWRhdG9yLm1l
c3NhZ2U7Ci0gICB2YXIgcGFyYW1zQ2xhc3MgPSBudWxsOwotICAgc3dpdGNoIChtZXNzYWdlLmdl
dE5hbWUoKSkgewotICAgICAgY2FzZSBrVXNiRGV2aWNlX09wZW5fTmFtZToKLSAgICAgICAgaWYg
KG1lc3NhZ2UuaXNSZXNwb25zZSgpKQotICAgICAgICAgIHBhcmFtc0NsYXNzID0gVXNiRGV2aWNl
X09wZW5fUmVzcG9uc2VQYXJhbXM7Ci0gICAgICAgIGJyZWFrOwotICAgICAgY2FzZSBrVXNiRGV2
aWNlX0Nsb3NlX05hbWU6Ci0gICAgICAgIGlmIChtZXNzYWdlLmlzUmVzcG9uc2UoKSkKLSAgICAg
ICAgICBwYXJhbXNDbGFzcyA9IFVzYkRldmljZV9DbG9zZV9SZXNwb25zZVBhcmFtczsKLSAgICAg
ICAgYnJlYWs7Ci0gICAgICBjYXNlIGtVc2JEZXZpY2VfU2V0Q29uZmlndXJhdGlvbl9OYW1lOgot
ICAgICAgICBpZiAobWVzc2FnZS5pc1Jlc3BvbnNlKCkpCi0gICAgICAgICAgcGFyYW1zQ2xhc3Mg
PSBVc2JEZXZpY2VfU2V0Q29uZmlndXJhdGlvbl9SZXNwb25zZVBhcmFtczsKLSAgICAgICAgYnJl
YWs7Ci0gICAgICBjYXNlIGtVc2JEZXZpY2VfQ2xhaW1JbnRlcmZhY2VfTmFtZToKLSAgICAgICAg
aWYgKG1lc3NhZ2UuaXNSZXNwb25zZSgpKQotICAgICAgICAgIHBhcmFtc0NsYXNzID0gVXNiRGV2
aWNlX0NsYWltSW50ZXJmYWNlX1Jlc3BvbnNlUGFyYW1zOwotICAgICAgICBicmVhazsKLSAgICAg
IGNhc2Uga1VzYkRldmljZV9SZWxlYXNlSW50ZXJmYWNlX05hbWU6Ci0gICAgICAgIGlmIChtZXNz
YWdlLmlzUmVzcG9uc2UoKSkKLSAgICAgICAgICBwYXJhbXNDbGFzcyA9IFVzYkRldmljZV9SZWxl
YXNlSW50ZXJmYWNlX1Jlc3BvbnNlUGFyYW1zOwotICAgICAgICBicmVhazsKLSAgICAgIGNhc2Ug
a1VzYkRldmljZV9TZXRJbnRlcmZhY2VBbHRlcm5hdGVTZXR0aW5nX05hbWU6Ci0gICAgICAgIGlm
IChtZXNzYWdlLmlzUmVzcG9uc2UoKSkKLSAgICAgICAgICBwYXJhbXNDbGFzcyA9IFVzYkRldmlj
ZV9TZXRJbnRlcmZhY2VBbHRlcm5hdGVTZXR0aW5nX1Jlc3BvbnNlUGFyYW1zOwotICAgICAgICBi
cmVhazsKLSAgICAgIGNhc2Uga1VzYkRldmljZV9SZXNldF9OYW1lOgotICAgICAgICBpZiAobWVz
c2FnZS5pc1Jlc3BvbnNlKCkpCi0gICAgICAgICAgcGFyYW1zQ2xhc3MgPSBVc2JEZXZpY2VfUmVz
ZXRfUmVzcG9uc2VQYXJhbXM7Ci0gICAgICAgIGJyZWFrOwotICAgICAgY2FzZSBrVXNiRGV2aWNl
X0NsZWFySGFsdF9OYW1lOgotICAgICAgICBpZiAobWVzc2FnZS5pc1Jlc3BvbnNlKCkpCi0gICAg
ICAgICAgcGFyYW1zQ2xhc3MgPSBVc2JEZXZpY2VfQ2xlYXJIYWx0X1Jlc3BvbnNlUGFyYW1zOwot
ICAgICAgICBicmVhazsKLSAgICAgIGNhc2Uga1VzYkRldmljZV9Db250cm9sVHJhbnNmZXJJbl9O
YW1lOgotICAgICAgICBpZiAobWVzc2FnZS5pc1Jlc3BvbnNlKCkpCi0gICAgICAgICAgcGFyYW1z
Q2xhc3MgPSBVc2JEZXZpY2VfQ29udHJvbFRyYW5zZmVySW5fUmVzcG9uc2VQYXJhbXM7Ci0gICAg
ICAgIGJyZWFrOwotICAgICAgY2FzZSBrVXNiRGV2aWNlX0NvbnRyb2xUcmFuc2Zlck91dF9OYW1l
OgotICAgICAgICBpZiAobWVzc2FnZS5pc1Jlc3BvbnNlKCkpCi0gICAgICAgICAgcGFyYW1zQ2xh
c3MgPSBVc2JEZXZpY2VfQ29udHJvbFRyYW5zZmVyT3V0X1Jlc3BvbnNlUGFyYW1zOwotICAgICAg
ICBicmVhazsKLSAgICAgIGNhc2Uga1VzYkRldmljZV9HZW5lcmljVHJhbnNmZXJJbl9OYW1lOgot
ICAgICAgICBpZiAobWVzc2FnZS5pc1Jlc3BvbnNlKCkpCi0gICAgICAgICAgcGFyYW1zQ2xhc3Mg
PSBVc2JEZXZpY2VfR2VuZXJpY1RyYW5zZmVySW5fUmVzcG9uc2VQYXJhbXM7Ci0gICAgICAgIGJy
ZWFrOwotICAgICAgY2FzZSBrVXNiRGV2aWNlX0dlbmVyaWNUcmFuc2Zlck91dF9OYW1lOgotICAg
ICAgICBpZiAobWVzc2FnZS5pc1Jlc3BvbnNlKCkpCi0gICAgICAgICAgcGFyYW1zQ2xhc3MgPSBV
c2JEZXZpY2VfR2VuZXJpY1RyYW5zZmVyT3V0X1Jlc3BvbnNlUGFyYW1zOwotICAgICAgICBicmVh
azsKLSAgICAgIGNhc2Uga1VzYkRldmljZV9Jc29jaHJvbm91c1RyYW5zZmVySW5fTmFtZToKLSAg
ICAgICAgaWYgKG1lc3NhZ2UuaXNSZXNwb25zZSgpKQotICAgICAgICAgIHBhcmFtc0NsYXNzID0g
VXNiRGV2aWNlX0lzb2Nocm9ub3VzVHJhbnNmZXJJbl9SZXNwb25zZVBhcmFtczsKLSAgICAgICAg
YnJlYWs7Ci0gICAgICBjYXNlIGtVc2JEZXZpY2VfSXNvY2hyb25vdXNUcmFuc2Zlck91dF9OYW1l
OgotICAgICAgICBpZiAobWVzc2FnZS5pc1Jlc3BvbnNlKCkpCi0gICAgICAgICAgcGFyYW1zQ2xh
c3MgPSBVc2JEZXZpY2VfSXNvY2hyb25vdXNUcmFuc2Zlck91dF9SZXNwb25zZVBhcmFtczsKLSAg
ICAgICAgYnJlYWs7Ci0gICAgfQotICAgIGlmIChwYXJhbXNDbGFzcyA9PT0gbnVsbCkKLSAgICAg
IHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gICAgcmV0dXJuIHBhcmFt
c0NsYXNzLnZhbGlkYXRlKG1lc3NhZ2VWYWxpZGF0b3IsIG1lc3NhZ2VWYWxpZGF0b3IubWVzc2Fn
ZS5nZXRIZWFkZXJOdW1CeXRlcygpKTsKLSAgfQotCi0gIHZhciBVc2JEZXZpY2UgPSB7Ci0gICAg
bmFtZTogJ2RldmljZS5tb2pvbS5Vc2JEZXZpY2UnLAotICAgIGtWZXJzaW9uOiAwLAotICAgIHB0
ckNsYXNzOiBVc2JEZXZpY2VQdHIsCi0gICAgcHJveHlDbGFzczogVXNiRGV2aWNlUHJveHksCi0g
ICAgc3R1YkNsYXNzOiBVc2JEZXZpY2VTdHViLAotICAgIHZhbGlkYXRlUmVxdWVzdDogdmFsaWRh
dGVVc2JEZXZpY2VSZXF1ZXN0LAotICAgIHZhbGlkYXRlUmVzcG9uc2U6IHZhbGlkYXRlVXNiRGV2
aWNlUmVzcG9uc2UsCi0gIH07Ci0gIFVzYkRldmljZVN0dWIucHJvdG90eXBlLnZhbGlkYXRvciA9
IHZhbGlkYXRlVXNiRGV2aWNlUmVxdWVzdDsKLSAgVXNiRGV2aWNlUHJveHkucHJvdG90eXBlLnZh
bGlkYXRvciA9IHZhbGlkYXRlVXNiRGV2aWNlUmVzcG9uc2U7Ci0gIHZhciBrVXNiRGV2aWNlQ2xp
ZW50X09uRGV2aWNlT3BlbmVkX05hbWUgPSAwOwotICB2YXIga1VzYkRldmljZUNsaWVudF9PbkRl
dmljZUNsb3NlZF9OYW1lID0gMTsKLQotICBmdW5jdGlvbiBVc2JEZXZpY2VDbGllbnRQdHIoaGFu
ZGxlT3JQdHJJbmZvKSB7Ci0gICAgdGhpcy5wdHIgPSBuZXcgYmluZGluZ3MuSW50ZXJmYWNlUHRy
Q29udHJvbGxlcihVc2JEZXZpY2VDbGllbnQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVPclB0ckluZm8pOwotICB9Ci0KLSAgZnVuY3Rp
b24gVXNiRGV2aWNlQ2xpZW50QXNzb2NpYXRlZFB0cihhc3NvY2lhdGVkSW50ZXJmYWNlUHRySW5m
bykgewotICAgIHRoaXMucHRyID0gbmV3IGFzc29jaWF0ZWRCaW5kaW5ncy5Bc3NvY2lhdGVkSW50
ZXJmYWNlUHRyQ29udHJvbGxlcigKLSAgICAgICAgVXNiRGV2aWNlQ2xpZW50LCBhc3NvY2lhdGVk
SW50ZXJmYWNlUHRySW5mbyk7Ci0gIH0KLQotICBVc2JEZXZpY2VDbGllbnRBc3NvY2lhdGVkUHRy
LnByb3RvdHlwZSA9Ci0gICAgICBPYmplY3QuY3JlYXRlKFVzYkRldmljZUNsaWVudFB0ci5wcm90
b3R5cGUpOwotICBVc2JEZXZpY2VDbGllbnRBc3NvY2lhdGVkUHRyLnByb3RvdHlwZS5jb25zdHJ1
Y3RvciA9Ci0gICAgICBVc2JEZXZpY2VDbGllbnRBc3NvY2lhdGVkUHRyOwotCi0gIGZ1bmN0aW9u
IFVzYkRldmljZUNsaWVudFByb3h5KHJlY2VpdmVyKSB7Ci0gICAgdGhpcy5yZWNlaXZlcl8gPSBy
ZWNlaXZlcjsKLSAgfQotICBVc2JEZXZpY2VDbGllbnRQdHIucHJvdG90eXBlLm9uRGV2aWNlT3Bl
bmVkID0gZnVuY3Rpb24oKSB7Ci0gICAgcmV0dXJuIFVzYkRldmljZUNsaWVudFByb3h5LnByb3Rv
dHlwZS5vbkRldmljZU9wZW5lZAotICAgICAgICAuYXBwbHkodGhpcy5wdHIuZ2V0UHJveHkoKSwg
YXJndW1lbnRzKTsKLSAgfTsKLQotICBVc2JEZXZpY2VDbGllbnRQcm94eS5wcm90b3R5cGUub25E
ZXZpY2VPcGVuZWQgPSBmdW5jdGlvbigpIHsKLSAgICB2YXIgcGFyYW1zXyA9IG5ldyBVc2JEZXZp
Y2VDbGllbnRfT25EZXZpY2VPcGVuZWRfUGFyYW1zKCk7Ci0gICAgdmFyIGJ1aWxkZXIgPSBuZXcg
Y29kZWMuTWVzc2FnZVYwQnVpbGRlcigKLSAgICAgICAga1VzYkRldmljZUNsaWVudF9PbkRldmlj
ZU9wZW5lZF9OYW1lLAotICAgICAgICBjb2RlYy5hbGlnbihVc2JEZXZpY2VDbGllbnRfT25EZXZp
Y2VPcGVuZWRfUGFyYW1zLmVuY29kZWRTaXplKSk7Ci0gICAgYnVpbGRlci5lbmNvZGVTdHJ1Y3Qo
VXNiRGV2aWNlQ2xpZW50X09uRGV2aWNlT3BlbmVkX1BhcmFtcywgcGFyYW1zXyk7Ci0gICAgdmFy
IG1lc3NhZ2UgPSBidWlsZGVyLmZpbmlzaCgpOwotICAgIHRoaXMucmVjZWl2ZXJfLmFjY2VwdCht
ZXNzYWdlKTsKLSAgfTsKLSAgVXNiRGV2aWNlQ2xpZW50UHRyLnByb3RvdHlwZS5vbkRldmljZUNs
b3NlZCA9IGZ1bmN0aW9uKCkgewotICAgIHJldHVybiBVc2JEZXZpY2VDbGllbnRQcm94eS5wcm90
b3R5cGUub25EZXZpY2VDbG9zZWQKLSAgICAgICAgLmFwcGx5KHRoaXMucHRyLmdldFByb3h5KCks
IGFyZ3VtZW50cyk7Ci0gIH07Ci0KLSAgVXNiRGV2aWNlQ2xpZW50UHJveHkucHJvdG90eXBlLm9u
RGV2aWNlQ2xvc2VkID0gZnVuY3Rpb24oKSB7Ci0gICAgdmFyIHBhcmFtc18gPSBuZXcgVXNiRGV2
aWNlQ2xpZW50X09uRGV2aWNlQ2xvc2VkX1BhcmFtcygpOwotICAgIHZhciBidWlsZGVyID0gbmV3
IGNvZGVjLk1lc3NhZ2VWMEJ1aWxkZXIoCi0gICAgICAgIGtVc2JEZXZpY2VDbGllbnRfT25EZXZp
Y2VDbG9zZWRfTmFtZSwKLSAgICAgICAgY29kZWMuYWxpZ24oVXNiRGV2aWNlQ2xpZW50X09uRGV2
aWNlQ2xvc2VkX1BhcmFtcy5lbmNvZGVkU2l6ZSkpOwotICAgIGJ1aWxkZXIuZW5jb2RlU3RydWN0
KFVzYkRldmljZUNsaWVudF9PbkRldmljZUNsb3NlZF9QYXJhbXMsIHBhcmFtc18pOwotICAgIHZh
ciBtZXNzYWdlID0gYnVpbGRlci5maW5pc2goKTsKLSAgICB0aGlzLnJlY2VpdmVyXy5hY2NlcHQo
bWVzc2FnZSk7Ci0gIH07Ci0KLSAgZnVuY3Rpb24gVXNiRGV2aWNlQ2xpZW50U3R1YihkZWxlZ2F0
ZSkgewotICAgIHRoaXMuZGVsZWdhdGVfID0gZGVsZWdhdGU7Ci0gIH0KLSAgVXNiRGV2aWNlQ2xp
ZW50U3R1Yi5wcm90b3R5cGUub25EZXZpY2VPcGVuZWQgPSBmdW5jdGlvbigpIHsKLSAgICByZXR1
cm4gdGhpcy5kZWxlZ2F0ZV8gJiYgdGhpcy5kZWxlZ2F0ZV8ub25EZXZpY2VPcGVuZWQgJiYgdGhp
cy5kZWxlZ2F0ZV8ub25EZXZpY2VPcGVuZWQoKTsKLSAgfQotICBVc2JEZXZpY2VDbGllbnRTdHVi
LnByb3RvdHlwZS5vbkRldmljZUNsb3NlZCA9IGZ1bmN0aW9uKCkgewotICAgIHJldHVybiB0aGlz
LmRlbGVnYXRlXyAmJiB0aGlzLmRlbGVnYXRlXy5vbkRldmljZUNsb3NlZCAmJiB0aGlzLmRlbGVn
YXRlXy5vbkRldmljZUNsb3NlZCgpOwotICB9Ci0KLSAgVXNiRGV2aWNlQ2xpZW50U3R1Yi5wcm90
b3R5cGUuYWNjZXB0ID0gZnVuY3Rpb24obWVzc2FnZSkgewotICAgIHZhciByZWFkZXIgPSBuZXcg
Y29kZWMuTWVzc2FnZVJlYWRlcihtZXNzYWdlKTsKLSAgICBzd2l0Y2ggKHJlYWRlci5tZXNzYWdl
TmFtZSkgewotICAgIGNhc2Uga1VzYkRldmljZUNsaWVudF9PbkRldmljZU9wZW5lZF9OYW1lOgot
ICAgICAgdmFyIHBhcmFtcyA9IHJlYWRlci5kZWNvZGVTdHJ1Y3QoVXNiRGV2aWNlQ2xpZW50X09u
RGV2aWNlT3BlbmVkX1BhcmFtcyk7Ci0gICAgICB0aGlzLm9uRGV2aWNlT3BlbmVkKCk7Ci0gICAg
ICByZXR1cm4gdHJ1ZTsKLSAgICBjYXNlIGtVc2JEZXZpY2VDbGllbnRfT25EZXZpY2VDbG9zZWRf
TmFtZToKLSAgICAgIHZhciBwYXJhbXMgPSByZWFkZXIuZGVjb2RlU3RydWN0KFVzYkRldmljZUNs
aWVudF9PbkRldmljZUNsb3NlZF9QYXJhbXMpOwotICAgICAgdGhpcy5vbkRldmljZUNsb3NlZCgp
OwotICAgICAgcmV0dXJuIHRydWU7Ci0gICAgZGVmYXVsdDoKLSAgICAgIHJldHVybiBmYWxzZTsK
LSAgICB9Ci0gIH07Ci0KLSAgVXNiRGV2aWNlQ2xpZW50U3R1Yi5wcm90b3R5cGUuYWNjZXB0V2l0
aFJlc3BvbmRlciA9Ci0gICAgICBmdW5jdGlvbihtZXNzYWdlLCByZXNwb25kZXIpIHsKLSAgICB2
YXIgcmVhZGVyID0gbmV3IGNvZGVjLk1lc3NhZ2VSZWFkZXIobWVzc2FnZSk7Ci0gICAgc3dpdGNo
IChyZWFkZXIubWVzc2FnZU5hbWUpIHsKLSAgICBkZWZhdWx0OgotICAgICAgcmV0dXJuIGZhbHNl
OwotICAgIH0KLSAgfTsKLQotICBmdW5jdGlvbiB2YWxpZGF0ZVVzYkRldmljZUNsaWVudFJlcXVl
c3QobWVzc2FnZVZhbGlkYXRvcikgewotICAgIHZhciBtZXNzYWdlID0gbWVzc2FnZVZhbGlkYXRv
ci5tZXNzYWdlOwotICAgIHZhciBwYXJhbXNDbGFzcyA9IG51bGw7Ci0gICAgc3dpdGNoIChtZXNz
YWdlLmdldE5hbWUoKSkgewotICAgICAgY2FzZSBrVXNiRGV2aWNlQ2xpZW50X09uRGV2aWNlT3Bl
bmVkX05hbWU6Ci0gICAgICAgIGlmICghbWVzc2FnZS5leHBlY3RzUmVzcG9uc2UoKSAmJiAhbWVz
c2FnZS5pc1Jlc3BvbnNlKCkpCi0gICAgICAgICAgcGFyYW1zQ2xhc3MgPSBVc2JEZXZpY2VDbGll
bnRfT25EZXZpY2VPcGVuZWRfUGFyYW1zOwotICAgICAgYnJlYWs7Ci0gICAgICBjYXNlIGtVc2JE
ZXZpY2VDbGllbnRfT25EZXZpY2VDbG9zZWRfTmFtZToKLSAgICAgICAgaWYgKCFtZXNzYWdlLmV4
cGVjdHNSZXNwb25zZSgpICYmICFtZXNzYWdlLmlzUmVzcG9uc2UoKSkKLSAgICAgICAgICBwYXJh
bXNDbGFzcyA9IFVzYkRldmljZUNsaWVudF9PbkRldmljZUNsb3NlZF9QYXJhbXM7Ci0gICAgICBi
cmVhazsKLSAgICB9Ci0gICAgaWYgKHBhcmFtc0NsYXNzID09PSBudWxsKQotICAgICAgcmV0dXJu
IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAgICByZXR1cm4gcGFyYW1zQ2xhc3Mu
dmFsaWRhdGUobWVzc2FnZVZhbGlkYXRvciwgbWVzc2FnZVZhbGlkYXRvci5tZXNzYWdlLmdldEhl
YWRlck51bUJ5dGVzKCkpOwotICB9Ci0KLSAgZnVuY3Rpb24gdmFsaWRhdGVVc2JEZXZpY2VDbGll
bnRSZXNwb25zZShtZXNzYWdlVmFsaWRhdG9yKSB7Ci0gICAgcmV0dXJuIHZhbGlkYXRvci52YWxp
ZGF0aW9uRXJyb3IuTk9ORTsKLSAgfQotCi0gIHZhciBVc2JEZXZpY2VDbGllbnQgPSB7Ci0gICAg
bmFtZTogJ2RldmljZS5tb2pvbS5Vc2JEZXZpY2VDbGllbnQnLAotICAgIGtWZXJzaW9uOiAwLAot
ICAgIHB0ckNsYXNzOiBVc2JEZXZpY2VDbGllbnRQdHIsCi0gICAgcHJveHlDbGFzczogVXNiRGV2
aWNlQ2xpZW50UHJveHksCi0gICAgc3R1YkNsYXNzOiBVc2JEZXZpY2VDbGllbnRTdHViLAotICAg
IHZhbGlkYXRlUmVxdWVzdDogdmFsaWRhdGVVc2JEZXZpY2VDbGllbnRSZXF1ZXN0LAotICAgIHZh
bGlkYXRlUmVzcG9uc2U6IG51bGwsCi0gIH07Ci0gIFVzYkRldmljZUNsaWVudFN0dWIucHJvdG90
eXBlLnZhbGlkYXRvciA9IHZhbGlkYXRlVXNiRGV2aWNlQ2xpZW50UmVxdWVzdDsKLSAgVXNiRGV2
aWNlQ2xpZW50UHJveHkucHJvdG90eXBlLnZhbGlkYXRvciA9IG51bGw7Ci0gIGV4cG9ydHMuVXNi
T3BlbkRldmljZUVycm9yID0gVXNiT3BlbkRldmljZUVycm9yOwotICBleHBvcnRzLlVzYlRyYW5z
ZmVyRGlyZWN0aW9uID0gVXNiVHJhbnNmZXJEaXJlY3Rpb247Ci0gIGV4cG9ydHMuVXNiQ29udHJv
bFRyYW5zZmVyVHlwZSA9IFVzYkNvbnRyb2xUcmFuc2ZlclR5cGU7Ci0gIGV4cG9ydHMuVXNiQ29u
dHJvbFRyYW5zZmVyUmVjaXBpZW50ID0gVXNiQ29udHJvbFRyYW5zZmVyUmVjaXBpZW50OwotICBl
eHBvcnRzLlVzYlRyYW5zZmVyVHlwZSA9IFVzYlRyYW5zZmVyVHlwZTsKLSAgZXhwb3J0cy5Vc2JT
eW5jaHJvbml6YXRpb25UeXBlID0gVXNiU3luY2hyb25pemF0aW9uVHlwZTsKLSAgZXhwb3J0cy5V
c2JVc2FnZVR5cGUgPSBVc2JVc2FnZVR5cGU7Ci0gIGV4cG9ydHMuVXNiVHJhbnNmZXJTdGF0dXMg
PSBVc2JUcmFuc2ZlclN0YXR1czsKLSAgZXhwb3J0cy5Vc2JFbmRwb2ludEluZm8gPSBVc2JFbmRw
b2ludEluZm87Ci0gIGV4cG9ydHMuVXNiQWx0ZXJuYXRlSW50ZXJmYWNlSW5mbyA9IFVzYkFsdGVy
bmF0ZUludGVyZmFjZUluZm87Ci0gIGV4cG9ydHMuVXNiSW50ZXJmYWNlSW5mbyA9IFVzYkludGVy
ZmFjZUluZm87Ci0gIGV4cG9ydHMuVXNiQ29uZmlndXJhdGlvbkluZm8gPSBVc2JDb25maWd1cmF0
aW9uSW5mbzsKLSAgZXhwb3J0cy5Vc2JEZXZpY2VJbmZvID0gVXNiRGV2aWNlSW5mbzsKLSAgZXhw
b3J0cy5Vc2JDb250cm9sVHJhbnNmZXJQYXJhbXMgPSBVc2JDb250cm9sVHJhbnNmZXJQYXJhbXM7
Ci0gIGV4cG9ydHMuVXNiSXNvY2hyb25vdXNQYWNrZXQgPSBVc2JJc29jaHJvbm91c1BhY2tldDsK
LSAgZXhwb3J0cy5Vc2JEZXZpY2UgPSBVc2JEZXZpY2U7Ci0gIGV4cG9ydHMuVXNiRGV2aWNlUHRy
ID0gVXNiRGV2aWNlUHRyOwotICBleHBvcnRzLlVzYkRldmljZUFzc29jaWF0ZWRQdHIgPSBVc2JE
ZXZpY2VBc3NvY2lhdGVkUHRyOwotICBleHBvcnRzLlVzYkRldmljZUNsaWVudCA9IFVzYkRldmlj
ZUNsaWVudDsKLSAgZXhwb3J0cy5Vc2JEZXZpY2VDbGllbnRQdHIgPSBVc2JEZXZpY2VDbGllbnRQ
dHI7Ci0gIGV4cG9ydHMuVXNiRGV2aWNlQ2xpZW50QXNzb2NpYXRlZFB0ciA9IFVzYkRldmljZUNs
aWVudEFzc29jaWF0ZWRQdHI7Ci19KSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vZGV2aWNlLm1vam9t
LmpzLmhlYWRlcnMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy9jaHJvbWl1bS9kZXZpY2UubW9qb20uanMuaGVhZGVycwpkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggNjgwNWMzMjNkZjUuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL2Rl
dmljZS5tb2pvbS5qcy5oZWFkZXJzCisrKyAvZGV2L251bGwKQEAgLTEgKzAsMCBAQAotQ29udGVu
dC1UeXBlOiB0ZXh0L2phdmFzY3JpcHQ7IGNoYXJzZXQ9dXRmLTgKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVt
L2RldmljZV9lbnVtZXJhdGlvbl9vcHRpb25zLm1vam9tLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vZGV2aWNlX2VudW1l
cmF0aW9uX29wdGlvbnMubW9qb20uanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDVh
Nzc1YWQzNjg3Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS9kZXZpY2VfZW51bWVyYXRpb25fb3B0
aW9ucy5tb2pvbS5qcworKysgL2Rldi9udWxsCkBAIC0xLDE4NCArMCwwIEBACi0vLyBDb3B5cmln
aHQgMjAxNCBUaGUgQ2hyb21pdW0gQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLS8vIFVz
ZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2Ug
dGhhdCBjYW4gYmUKLS8vIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCi0KLSd1c2Ugc3RyaWN0
JzsKLQotKGZ1bmN0aW9uKCkgewotICB2YXIgbW9qb21JZCA9ICdkZXZpY2UvdXNiL3B1YmxpYy9t
b2pvbS9kZXZpY2VfZW51bWVyYXRpb25fb3B0aW9ucy5tb2pvbSc7Ci0gIGlmIChtb2pvLmludGVy
bmFsLmlzTW9qb21Mb2FkZWQobW9qb21JZCkpIHsKLSAgICBjb25zb2xlLndhcm4oJ1RoZSBmb2xs
b3dpbmcgbW9qb20gaXMgbG9hZGVkIG11bHRpcGxlIHRpbWVzOiAnICsgbW9qb21JZCk7Ci0gICAg
cmV0dXJuOwotICB9Ci0gIG1vam8uaW50ZXJuYWwubWFya01vam9tTG9hZGVkKG1vam9tSWQpOwot
ICB2YXIgYmluZGluZ3MgPSBtb2pvOwotICB2YXIgYXNzb2NpYXRlZEJpbmRpbmdzID0gbW9qbzsK
LSAgdmFyIGNvZGVjID0gbW9qby5pbnRlcm5hbDsKLSAgdmFyIHZhbGlkYXRvciA9IG1vam8uaW50
ZXJuYWw7Ci0KLSAgdmFyIGV4cG9ydHMgPSBtb2pvLmludGVybmFsLmV4cG9zZU5hbWVzcGFjZSgn
ZGV2aWNlLm1vam9tJyk7Ci0gIHZhciBzdHJpbmcxNiQgPQotICAgICAgbW9qby5pbnRlcm5hbC5l
eHBvc2VOYW1lc3BhY2UoJ21vam9CYXNlLm1vam9tJyk7Ci0gIGlmIChtb2pvLmNvbmZpZy5hdXRv
TG9hZE1vam9tRGVwcykgewotICAgIG1vam8uaW50ZXJuYWwubG9hZE1vam9tSWZOZWNlc3Nhcnko
Ci0gICAgICAgICdtb2pvL3B1YmxpYy9tb2pvbS9iYXNlL3N0cmluZzE2Lm1vam9tJywgJy4uLy4u
Ly4uLy4uL21vam8vcHVibGljL21vam9tL2Jhc2Uvc3RyaW5nMTYubW9qb20uanMnKTsKLSAgfQot
Ci0KLQotICBmdW5jdGlvbiBVc2JEZXZpY2VGaWx0ZXIodmFsdWVzKSB7Ci0gICAgdGhpcy5pbml0
RGVmYXVsdHNfKCk7Ci0gICAgdGhpcy5pbml0RmllbGRzXyh2YWx1ZXMpOwotICB9Ci0KLQotICBV
c2JEZXZpY2VGaWx0ZXIucHJvdG90eXBlLmluaXREZWZhdWx0c18gPSBmdW5jdGlvbigpIHsKLSAg
ICB0aGlzLmhhc1ZlbmRvcklkID0gZmFsc2U7Ci0gICAgdGhpcy5oYXNQcm9kdWN0SWQgPSBmYWxz
ZTsKLSAgICB0aGlzLmhhc0NsYXNzQ29kZSA9IGZhbHNlOwotICAgIHRoaXMuaGFzU3ViY2xhc3ND
b2RlID0gZmFsc2U7Ci0gICAgdGhpcy5oYXNQcm90b2NvbENvZGUgPSBmYWxzZTsKLSAgICB0aGlz
LmNsYXNzQ29kZSA9IDA7Ci0gICAgdGhpcy52ZW5kb3JJZCA9IDA7Ci0gICAgdGhpcy5wcm9kdWN0
SWQgPSAwOwotICAgIHRoaXMuc3ViY2xhc3NDb2RlID0gMDsKLSAgICB0aGlzLnByb3RvY29sQ29k
ZSA9IDA7Ci0gICAgdGhpcy5zZXJpYWxOdW1iZXIgPSBudWxsOwotICB9OwotICBVc2JEZXZpY2VG
aWx0ZXIucHJvdG90eXBlLmluaXRGaWVsZHNfID0gZnVuY3Rpb24oZmllbGRzKSB7Ci0gICAgZm9y
KHZhciBmaWVsZCBpbiBmaWVsZHMpIHsKLSAgICAgICAgaWYgKHRoaXMuaGFzT3duUHJvcGVydHko
ZmllbGQpKQotICAgICAgICAgIHRoaXNbZmllbGRdID0gZmllbGRzW2ZpZWxkXTsKLSAgICB9Ci0g
IH07Ci0KLSAgVXNiRGV2aWNlRmlsdGVyLnZhbGlkYXRlID0gZnVuY3Rpb24obWVzc2FnZVZhbGlk
YXRvciwgb2Zmc2V0KSB7Ci0gICAgdmFyIGVycjsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9y
LnZhbGlkYXRlU3RydWN0SGVhZGVyKG9mZnNldCwgY29kZWMua1N0cnVjdEhlYWRlclNpemUpOwot
ICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAg
cmV0dXJuIGVycjsKLQotICAgIHZhciBrVmVyc2lvblNpemVzID0gWwotICAgICAge3ZlcnNpb246
IDAsIG51bUJ5dGVzOiAyNH0KLSAgICBdOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFs
aWRhdGVTdHJ1Y3RWZXJzaW9uKG9mZnNldCwga1ZlcnNpb25TaXplcyk7Ci0gICAgaWYgKGVyciAh
PT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwot
Ci0KLQotCi0KLQotCi0KLQotCi0KLQotICAgIC8vIHZhbGlkYXRlIFVzYkRldmljZUZpbHRlci5z
ZXJpYWxOdW1iZXIKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0UG9p
bnRlcihvZmZzZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDgsIHN0cmluZzE2JC5TdHJp
bmcxNiwgdHJ1ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5O
T05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0
aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQotICBVc2JEZXZpY2VGaWx0ZXIuZW5jb2RlZFNpemUgPSBj
b2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDE2OwotCi0gIFVzYkRldmljZUZpbHRlci5kZWNvZGUg
PSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICB2YXIgdmFsID0gbmV3
IFVzYkRldmljZUZpbHRlcigpOwotICAgIHZhciBudW1iZXJPZkJ5dGVzID0gZGVjb2Rlci5yZWFk
VWludDMyKCk7Ci0gICAgdmFyIHZlcnNpb24gPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICBw
YWNrZWQgPSBkZWNvZGVyLnJlYWRVaW50OCgpOwotICAgIHZhbC5oYXNWZW5kb3JJZCA9IChwYWNr
ZWQgPj4gMCkgJiAxID8gdHJ1ZSA6IGZhbHNlOwotICAgIHZhbC5oYXNQcm9kdWN0SWQgPSAocGFj
a2VkID4+IDEpICYgMSA/IHRydWUgOiBmYWxzZTsKLSAgICB2YWwuaGFzQ2xhc3NDb2RlID0gKHBh
Y2tlZCA+PiAyKSAmIDEgPyB0cnVlIDogZmFsc2U7Ci0gICAgdmFsLmhhc1N1YmNsYXNzQ29kZSA9
IChwYWNrZWQgPj4gMykgJiAxID8gdHJ1ZSA6IGZhbHNlOwotICAgIHZhbC5oYXNQcm90b2NvbENv
ZGUgPSAocGFja2VkID4+IDQpICYgMSA/IHRydWUgOiBmYWxzZTsKLSAgICB2YWwuY2xhc3NDb2Rl
ID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoY29kZWMuVWludDgpOwotICAgIHZhbC52ZW5kb3JJZCA9
IGRlY29kZXIuZGVjb2RlU3RydWN0KGNvZGVjLlVpbnQxNik7Ci0gICAgdmFsLnByb2R1Y3RJZCA9
IGRlY29kZXIuZGVjb2RlU3RydWN0KGNvZGVjLlVpbnQxNik7Ci0gICAgdmFsLnN1YmNsYXNzQ29k
ZSA9IGRlY29kZXIuZGVjb2RlU3RydWN0KGNvZGVjLlVpbnQ4KTsKLSAgICB2YWwucHJvdG9jb2xD
b2RlID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoY29kZWMuVWludDgpOwotICAgIHZhbC5zZXJpYWxO
dW1iZXIgPSBkZWNvZGVyLmRlY29kZVN0cnVjdFBvaW50ZXIoc3RyaW5nMTYkLlN0cmluZzE2KTsK
LSAgICByZXR1cm4gdmFsOwotICB9OwotCi0gIFVzYkRldmljZUZpbHRlci5lbmNvZGUgPSBmdW5j
dGlvbihlbmNvZGVyLCB2YWwpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIGVuY29kZXIud3JpdGVV
aW50MzIoVXNiRGV2aWNlRmlsdGVyLmVuY29kZWRTaXplKTsKLSAgICBlbmNvZGVyLndyaXRlVWlu
dDMyKDApOwotICAgIHBhY2tlZCA9IDA7Ci0gICAgcGFja2VkIHw9ICh2YWwuaGFzVmVuZG9ySWQg
JiAxKSA8PCAwCi0gICAgcGFja2VkIHw9ICh2YWwuaGFzUHJvZHVjdElkICYgMSkgPDwgMQotICAg
IHBhY2tlZCB8PSAodmFsLmhhc0NsYXNzQ29kZSAmIDEpIDw8IDIKLSAgICBwYWNrZWQgfD0gKHZh
bC5oYXNTdWJjbGFzc0NvZGUgJiAxKSA8PCAzCi0gICAgcGFja2VkIHw9ICh2YWwuaGFzUHJvdG9j
b2xDb2RlICYgMSkgPDwgNAotICAgIGVuY29kZXIud3JpdGVVaW50OChwYWNrZWQpOwotICAgIGVu
Y29kZXIuZW5jb2RlU3RydWN0KGNvZGVjLlVpbnQ4LCB2YWwuY2xhc3NDb2RlKTsKLSAgICBlbmNv
ZGVyLmVuY29kZVN0cnVjdChjb2RlYy5VaW50MTYsIHZhbC52ZW5kb3JJZCk7Ci0gICAgZW5jb2Rl
ci5lbmNvZGVTdHJ1Y3QoY29kZWMuVWludDE2LCB2YWwucHJvZHVjdElkKTsKLSAgICBlbmNvZGVy
LmVuY29kZVN0cnVjdChjb2RlYy5VaW50OCwgdmFsLnN1YmNsYXNzQ29kZSk7Ci0gICAgZW5jb2Rl
ci5lbmNvZGVTdHJ1Y3QoY29kZWMuVWludDgsIHZhbC5wcm90b2NvbENvZGUpOwotICAgIGVuY29k
ZXIuZW5jb2RlU3RydWN0UG9pbnRlcihzdHJpbmcxNiQuU3RyaW5nMTYsIHZhbC5zZXJpYWxOdW1i
ZXIpOwotICB9OwotICBmdW5jdGlvbiBVc2JFbnVtZXJhdGlvbk9wdGlvbnModmFsdWVzKSB7Ci0g
ICAgdGhpcy5pbml0RGVmYXVsdHNfKCk7Ci0gICAgdGhpcy5pbml0RmllbGRzXyh2YWx1ZXMpOwot
ICB9Ci0KLQotICBVc2JFbnVtZXJhdGlvbk9wdGlvbnMucHJvdG90eXBlLmluaXREZWZhdWx0c18g
PSBmdW5jdGlvbigpIHsKLSAgICB0aGlzLmZpbHRlcnMgPSBudWxsOwotICB9OwotICBVc2JFbnVt
ZXJhdGlvbk9wdGlvbnMucHJvdG90eXBlLmluaXRGaWVsZHNfID0gZnVuY3Rpb24oZmllbGRzKSB7
Ci0gICAgZm9yKHZhciBmaWVsZCBpbiBmaWVsZHMpIHsKLSAgICAgICAgaWYgKHRoaXMuaGFzT3du
UHJvcGVydHkoZmllbGQpKQotICAgICAgICAgIHRoaXNbZmllbGRdID0gZmllbGRzW2ZpZWxkXTsK
LSAgICB9Ci0gIH07Ci0KLSAgVXNiRW51bWVyYXRpb25PcHRpb25zLnZhbGlkYXRlID0gZnVuY3Rp
b24obWVzc2FnZVZhbGlkYXRvciwgb2Zmc2V0KSB7Ci0gICAgdmFyIGVycjsKLSAgICBlcnIgPSBt
ZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0SGVhZGVyKG9mZnNldCwgY29kZWMua1N0cnVj
dEhlYWRlclNpemUpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3Iu
Tk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHZhciBrVmVyc2lvblNpemVzID0gWwot
ICAgICAge3ZlcnNpb246IDAsIG51bUJ5dGVzOiAxNn0KLSAgICBdOwotICAgIGVyciA9IG1lc3Nh
Z2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RWZXJzaW9uKG9mZnNldCwga1ZlcnNpb25TaXplcyk7
Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAg
ICByZXR1cm4gZXJyOwotCi0KLSAgICAvLyB2YWxpZGF0ZSBVc2JFbnVtZXJhdGlvbk9wdGlvbnMu
ZmlsdGVycwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVBcnJheVBvaW50ZXIo
b2Zmc2V0ICsgY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyAwLCA4LCBuZXcgY29kZWMuUG9pbnRl
clRvKFVzYkRldmljZUZpbHRlciksIGZhbHNlLCBbMF0sIDApOwotICAgIGlmIChlcnIgIT09IHZh
bGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAg
IHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gIH07Ci0KLSAgVXNiRW51
bWVyYXRpb25PcHRpb25zLmVuY29kZWRTaXplID0gY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyA4
OwotCi0gIFVzYkVudW1lcmF0aW9uT3B0aW9ucy5kZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7
Ci0gICAgdmFyIHBhY2tlZDsKLSAgICB2YXIgdmFsID0gbmV3IFVzYkVudW1lcmF0aW9uT3B0aW9u
cygpOwotICAgIHZhciBudW1iZXJPZkJ5dGVzID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAg
dmFyIHZlcnNpb24gPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YWwuZmlsdGVycyA9IGRl
Y29kZXIuZGVjb2RlQXJyYXlQb2ludGVyKG5ldyBjb2RlYy5Qb2ludGVyVG8oVXNiRGV2aWNlRmls
dGVyKSk7Ci0gICAgcmV0dXJuIHZhbDsKLSAgfTsKLQotICBVc2JFbnVtZXJhdGlvbk9wdGlvbnMu
ZW5jb2RlID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICBl
bmNvZGVyLndyaXRlVWludDMyKFVzYkVudW1lcmF0aW9uT3B0aW9ucy5lbmNvZGVkU2l6ZSk7Ci0g
ICAgZW5jb2Rlci53cml0ZVVpbnQzMigwKTsKLSAgICBlbmNvZGVyLmVuY29kZUFycmF5UG9pbnRl
cihuZXcgY29kZWMuUG9pbnRlclRvKFVzYkRldmljZUZpbHRlciksIHZhbC5maWx0ZXJzKTsKLSAg
fTsKLSAgZXhwb3J0cy5Vc2JEZXZpY2VGaWx0ZXIgPSBVc2JEZXZpY2VGaWx0ZXI7Ci0gIGV4cG9y
dHMuVXNiRW51bWVyYXRpb25PcHRpb25zID0gVXNiRW51bWVyYXRpb25PcHRpb25zOwotfSkoKTsK
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS9kZXZpY2VfZW51
bWVyYXRpb25fb3B0aW9ucy5tb2pvbS5qcy5oZWFkZXJzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vZGV2aWNlX2VudW1lcmF0
aW9uX29wdGlvbnMubW9qb20uanMuaGVhZGVycwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggNmM2MWEzNGE0ZWMuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL2RldmljZV9lbnVtZXJhdGlv
bl9vcHRpb25zLm1vam9tLmpzLmhlYWRlcnMKKysrIC9kZXYvbnVsbApAQCAtMSArMCwwIEBACi1D
b250ZW50LVR5cGU6IHRleHQvamF2YXNjcmlwdDsgY2hhcnNldD11dGYtOApcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL2RldmljZV9tYW5hZ2VyX2NsaWVudC5t
b2pvbS5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL2Nocm9taXVtL2RldmljZV9tYW5hZ2VyX2NsaWVudC5tb2pvbS5qcwpkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggNDM5ZjY0NjU3NGQuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVt
L2RldmljZV9tYW5hZ2VyX2NsaWVudC5tb2pvbS5qcworKysgL2Rldi9udWxsCkBAIC0xLDI2MiAr
MCwwIEBACi0vLyBDb3B5cmlnaHQgMjAxNCBUaGUgQ2hyb21pdW0gQXV0aG9ycy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KLS8vIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEg
QlNELXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKLS8vIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZp
bGUuCi0KLSd1c2Ugc3RyaWN0JzsKLQotKGZ1bmN0aW9uKCkgewotICB2YXIgbW9qb21JZCA9ICdk
ZXZpY2UvdXNiL3B1YmxpYy9tb2pvbS9kZXZpY2VfbWFuYWdlcl9jbGllbnQubW9qb20nOwotICBp
ZiAobW9qby5pbnRlcm5hbC5pc01vam9tTG9hZGVkKG1vam9tSWQpKSB7Ci0gICAgY29uc29sZS53
YXJuKCdUaGUgZm9sbG93aW5nIG1vam9tIGlzIGxvYWRlZCBtdWx0aXBsZSB0aW1lczogJyArIG1v
am9tSWQpOwotICAgIHJldHVybjsKLSAgfQotICBtb2pvLmludGVybmFsLm1hcmtNb2pvbUxvYWRl
ZChtb2pvbUlkKTsKLSAgdmFyIGJpbmRpbmdzID0gbW9qbzsKLSAgdmFyIGFzc29jaWF0ZWRCaW5k
aW5ncyA9IG1vam87Ci0gIHZhciBjb2RlYyA9IG1vam8uaW50ZXJuYWw7Ci0gIHZhciB2YWxpZGF0
b3IgPSBtb2pvLmludGVybmFsOwotCi0gIHZhciBleHBvcnRzID0gbW9qby5pbnRlcm5hbC5leHBv
c2VOYW1lc3BhY2UoJ2RldmljZS5tb2pvbScpOwotICB2YXIgZGV2aWNlJCA9Ci0gICAgICBtb2pv
LmludGVybmFsLmV4cG9zZU5hbWVzcGFjZSgnZGV2aWNlLm1vam9tJyk7Ci0gIGlmIChtb2pvLmNv
bmZpZy5hdXRvTG9hZE1vam9tRGVwcykgewotICAgIG1vam8uaW50ZXJuYWwubG9hZE1vam9tSWZO
ZWNlc3NhcnkoCi0gICAgICAgICdkZXZpY2UvdXNiL3B1YmxpYy9tb2pvbS9kZXZpY2UubW9qb20n
LCAnZGV2aWNlLm1vam9tLmpzJyk7Ci0gIH0KLQotCi0KLSAgZnVuY3Rpb24gVXNiRGV2aWNlTWFu
YWdlckNsaWVudF9PbkRldmljZUFkZGVkX1BhcmFtcyh2YWx1ZXMpIHsKLSAgICB0aGlzLmluaXRE
ZWZhdWx0c18oKTsKLSAgICB0aGlzLmluaXRGaWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0gIFVz
YkRldmljZU1hbmFnZXJDbGllbnRfT25EZXZpY2VBZGRlZF9QYXJhbXMucHJvdG90eXBlLmluaXRE
ZWZhdWx0c18gPSBmdW5jdGlvbigpIHsKLSAgICB0aGlzLmRldmljZUluZm8gPSBudWxsOwotICB9
OwotICBVc2JEZXZpY2VNYW5hZ2VyQ2xpZW50X09uRGV2aWNlQWRkZWRfUGFyYW1zLnByb3RvdHlw
ZS5pbml0RmllbGRzXyA9IGZ1bmN0aW9uKGZpZWxkcykgewotICAgIGZvcih2YXIgZmllbGQgaW4g
ZmllbGRzKSB7Ci0gICAgICAgIGlmICh0aGlzLmhhc093blByb3BlcnR5KGZpZWxkKSkKLSAgICAg
ICAgICB0aGlzW2ZpZWxkXSA9IGZpZWxkc1tmaWVsZF07Ci0gICAgfQotICB9OwotCi0gIFVzYkRl
dmljZU1hbmFnZXJDbGllbnRfT25EZXZpY2VBZGRlZF9QYXJhbXMudmFsaWRhdGUgPSBmdW5jdGlv
bihtZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsKLSAgICB2YXIgZXJyOwotICAgIGVyciA9IG1l
c3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RIZWFkZXIob2Zmc2V0LCBjb2RlYy5rU3RydWN0
SGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5O
T05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgdmFyIGtWZXJzaW9uU2l6ZXMgPSBbCi0g
ICAgICB7dmVyc2lvbjogMCwgbnVtQnl0ZXM6IDE2fQotICAgIF07Ci0gICAgZXJyID0gbWVzc2Fn
ZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFZlcnNpb24ob2Zmc2V0LCBrVmVyc2lvblNpemVzKTsK
LSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAg
IHJldHVybiBlcnI7Ci0KLQotICAgIC8vIHZhbGlkYXRlIFVzYkRldmljZU1hbmFnZXJDbGllbnRf
T25EZXZpY2VBZGRlZF9QYXJhbXMuZGV2aWNlSW5mbwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0
b3IudmFsaWRhdGVTdHJ1Y3RQb2ludGVyKG9mZnNldCArIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXpl
ICsgMCwgZGV2aWNlJC5Vc2JEZXZpY2VJbmZvLCBmYWxzZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFs
aWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAg
cmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQotICBVc2JEZXZp
Y2VNYW5hZ2VyQ2xpZW50X09uRGV2aWNlQWRkZWRfUGFyYW1zLmVuY29kZWRTaXplID0gY29kZWMu
a1N0cnVjdEhlYWRlclNpemUgKyA4OwotCi0gIFVzYkRldmljZU1hbmFnZXJDbGllbnRfT25EZXZp
Y2VBZGRlZF9QYXJhbXMuZGVjb2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHZhciBwYWNr
ZWQ7Ci0gICAgdmFyIHZhbCA9IG5ldyBVc2JEZXZpY2VNYW5hZ2VyQ2xpZW50X09uRGV2aWNlQWRk
ZWRfUGFyYW1zKCk7Ci0gICAgdmFyIG51bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50MzIo
KTsKLSAgICB2YXIgdmVyc2lvbiA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhbC5kZXZp
Y2VJbmZvID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3RQb2ludGVyKGRldmljZSQuVXNiRGV2aWNlSW5m
byk7Ci0gICAgcmV0dXJuIHZhbDsKLSAgfTsKLQotICBVc2JEZXZpY2VNYW5hZ2VyQ2xpZW50X09u
RGV2aWNlQWRkZWRfUGFyYW1zLmVuY29kZSA9IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAg
IHZhciBwYWNrZWQ7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMihVc2JEZXZpY2VNYW5hZ2VyQ2xp
ZW50X09uRGV2aWNlQWRkZWRfUGFyYW1zLmVuY29kZWRTaXplKTsKLSAgICBlbmNvZGVyLndyaXRl
VWludDMyKDApOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0UG9pbnRlcihkZXZpY2UkLlVzYkRl
dmljZUluZm8sIHZhbC5kZXZpY2VJbmZvKTsKLSAgfTsKLSAgZnVuY3Rpb24gVXNiRGV2aWNlTWFu
YWdlckNsaWVudF9PbkRldmljZVJlbW92ZWRfUGFyYW1zKHZhbHVlcykgewotICAgIHRoaXMuaW5p
dERlZmF1bHRzXygpOwotICAgIHRoaXMuaW5pdEZpZWxkc18odmFsdWVzKTsKLSAgfQotCi0KLSAg
VXNiRGV2aWNlTWFuYWdlckNsaWVudF9PbkRldmljZVJlbW92ZWRfUGFyYW1zLnByb3RvdHlwZS5p
bml0RGVmYXVsdHNfID0gZnVuY3Rpb24oKSB7Ci0gICAgdGhpcy5kZXZpY2VJbmZvID0gbnVsbDsK
LSAgfTsKLSAgVXNiRGV2aWNlTWFuYWdlckNsaWVudF9PbkRldmljZVJlbW92ZWRfUGFyYW1zLnBy
b3RvdHlwZS5pbml0RmllbGRzXyA9IGZ1bmN0aW9uKGZpZWxkcykgewotICAgIGZvcih2YXIgZmll
bGQgaW4gZmllbGRzKSB7Ci0gICAgICAgIGlmICh0aGlzLmhhc093blByb3BlcnR5KGZpZWxkKSkK
LSAgICAgICAgICB0aGlzW2ZpZWxkXSA9IGZpZWxkc1tmaWVsZF07Ci0gICAgfQotICB9OwotCi0g
IFVzYkRldmljZU1hbmFnZXJDbGllbnRfT25EZXZpY2VSZW1vdmVkX1BhcmFtcy52YWxpZGF0ZSA9
IGZ1bmN0aW9uKG1lc3NhZ2VWYWxpZGF0b3IsIG9mZnNldCkgewotICAgIHZhciBlcnI7Ci0gICAg
ZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdEhlYWRlcihvZmZzZXQsIGNvZGVj
LmtTdHJ1Y3RIZWFkZXJTaXplKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlv
bkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICB2YXIga1ZlcnNpb25TaXpl
cyA9IFsKLSAgICAgIHt2ZXJzaW9uOiAwLCBudW1CeXRlczogMTZ9Ci0gICAgXTsKLSAgICBlcnIg
PSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0VmVyc2lvbihvZmZzZXQsIGtWZXJzaW9u
U2l6ZXMpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkK
LSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0gICAgLy8gdmFsaWRhdGUgVXNiRGV2aWNlTWFuYWdl
ckNsaWVudF9PbkRldmljZVJlbW92ZWRfUGFyYW1zLmRldmljZUluZm8KLSAgICBlcnIgPSBtZXNz
YWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0UG9pbnRlcihvZmZzZXQgKyBjb2RlYy5rU3RydWN0
SGVhZGVyU2l6ZSArIDAsIGRldmljZSQuVXNiRGV2aWNlSW5mbywgZmFsc2UpOwotICAgIGlmIChl
cnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVy
cjsKLQotICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gIH07Ci0K
LSAgVXNiRGV2aWNlTWFuYWdlckNsaWVudF9PbkRldmljZVJlbW92ZWRfUGFyYW1zLmVuY29kZWRT
aXplID0gY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyA4OwotCi0gIFVzYkRldmljZU1hbmFnZXJD
bGllbnRfT25EZXZpY2VSZW1vdmVkX1BhcmFtcy5kZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7
Ci0gICAgdmFyIHBhY2tlZDsKLSAgICB2YXIgdmFsID0gbmV3IFVzYkRldmljZU1hbmFnZXJDbGll
bnRfT25EZXZpY2VSZW1vdmVkX1BhcmFtcygpOwotICAgIHZhciBudW1iZXJPZkJ5dGVzID0gZGVj
b2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFyIHZlcnNpb24gPSBkZWNvZGVyLnJlYWRVaW50MzIo
KTsKLSAgICB2YWwuZGV2aWNlSW5mbyA9IGRlY29kZXIuZGVjb2RlU3RydWN0UG9pbnRlcihkZXZp
Y2UkLlVzYkRldmljZUluZm8pOwotICAgIHJldHVybiB2YWw7Ci0gIH07Ci0KLSAgVXNiRGV2aWNl
TWFuYWdlckNsaWVudF9PbkRldmljZVJlbW92ZWRfUGFyYW1zLmVuY29kZSA9IGZ1bmN0aW9uKGVu
Y29kZXIsIHZhbCkgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMihV
c2JEZXZpY2VNYW5hZ2VyQ2xpZW50X09uRGV2aWNlUmVtb3ZlZF9QYXJhbXMuZW5jb2RlZFNpemUp
OwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoMCk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3RQ
b2ludGVyKGRldmljZSQuVXNiRGV2aWNlSW5mbywgdmFsLmRldmljZUluZm8pOwotICB9OwotICB2
YXIga1VzYkRldmljZU1hbmFnZXJDbGllbnRfT25EZXZpY2VBZGRlZF9OYW1lID0gMDsKLSAgdmFy
IGtVc2JEZXZpY2VNYW5hZ2VyQ2xpZW50X09uRGV2aWNlUmVtb3ZlZF9OYW1lID0gMTsKLQotICBm
dW5jdGlvbiBVc2JEZXZpY2VNYW5hZ2VyQ2xpZW50UHRyKGhhbmRsZU9yUHRySW5mbykgewotICAg
IHRoaXMucHRyID0gbmV3IGJpbmRpbmdzLkludGVyZmFjZVB0ckNvbnRyb2xsZXIoVXNiRGV2aWNl
TWFuYWdlckNsaWVudCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGhhbmRsZU9yUHRySW5mbyk7Ci0gIH0KLQotICBmdW5jdGlvbiBVc2JEZXZpY2VN
YW5hZ2VyQ2xpZW50QXNzb2NpYXRlZFB0cihhc3NvY2lhdGVkSW50ZXJmYWNlUHRySW5mbykgewot
ICAgIHRoaXMucHRyID0gbmV3IGFzc29jaWF0ZWRCaW5kaW5ncy5Bc3NvY2lhdGVkSW50ZXJmYWNl
UHRyQ29udHJvbGxlcigKLSAgICAgICAgVXNiRGV2aWNlTWFuYWdlckNsaWVudCwgYXNzb2NpYXRl
ZEludGVyZmFjZVB0ckluZm8pOwotICB9Ci0KLSAgVXNiRGV2aWNlTWFuYWdlckNsaWVudEFzc29j
aWF0ZWRQdHIucHJvdG90eXBlID0KLSAgICAgIE9iamVjdC5jcmVhdGUoVXNiRGV2aWNlTWFuYWdl
ckNsaWVudFB0ci5wcm90b3R5cGUpOwotICBVc2JEZXZpY2VNYW5hZ2VyQ2xpZW50QXNzb2NpYXRl
ZFB0ci5wcm90b3R5cGUuY29uc3RydWN0b3IgPQotICAgICAgVXNiRGV2aWNlTWFuYWdlckNsaWVu
dEFzc29jaWF0ZWRQdHI7Ci0KLSAgZnVuY3Rpb24gVXNiRGV2aWNlTWFuYWdlckNsaWVudFByb3h5
KHJlY2VpdmVyKSB7Ci0gICAgdGhpcy5yZWNlaXZlcl8gPSByZWNlaXZlcjsKLSAgfQotICBVc2JE
ZXZpY2VNYW5hZ2VyQ2xpZW50UHRyLnByb3RvdHlwZS5vbkRldmljZUFkZGVkID0gZnVuY3Rpb24o
KSB7Ci0gICAgcmV0dXJuIFVzYkRldmljZU1hbmFnZXJDbGllbnRQcm94eS5wcm90b3R5cGUub25E
ZXZpY2VBZGRlZAotICAgICAgICAuYXBwbHkodGhpcy5wdHIuZ2V0UHJveHkoKSwgYXJndW1lbnRz
KTsKLSAgfTsKLQotICBVc2JEZXZpY2VNYW5hZ2VyQ2xpZW50UHJveHkucHJvdG90eXBlLm9uRGV2
aWNlQWRkZWQgPSBmdW5jdGlvbihkZXZpY2VJbmZvKSB7Ci0gICAgdmFyIHBhcmFtc18gPSBuZXcg
VXNiRGV2aWNlTWFuYWdlckNsaWVudF9PbkRldmljZUFkZGVkX1BhcmFtcygpOwotICAgIHBhcmFt
c18uZGV2aWNlSW5mbyA9IGRldmljZUluZm87Ci0gICAgdmFyIGJ1aWxkZXIgPSBuZXcgY29kZWMu
TWVzc2FnZVYwQnVpbGRlcigKLSAgICAgICAga1VzYkRldmljZU1hbmFnZXJDbGllbnRfT25EZXZp
Y2VBZGRlZF9OYW1lLAotICAgICAgICBjb2RlYy5hbGlnbihVc2JEZXZpY2VNYW5hZ2VyQ2xpZW50
X09uRGV2aWNlQWRkZWRfUGFyYW1zLmVuY29kZWRTaXplKSk7Ci0gICAgYnVpbGRlci5lbmNvZGVT
dHJ1Y3QoVXNiRGV2aWNlTWFuYWdlckNsaWVudF9PbkRldmljZUFkZGVkX1BhcmFtcywgcGFyYW1z
Xyk7Ci0gICAgdmFyIG1lc3NhZ2UgPSBidWlsZGVyLmZpbmlzaCgpOwotICAgIHRoaXMucmVjZWl2
ZXJfLmFjY2VwdChtZXNzYWdlKTsKLSAgfTsKLSAgVXNiRGV2aWNlTWFuYWdlckNsaWVudFB0ci5w
cm90b3R5cGUub25EZXZpY2VSZW1vdmVkID0gZnVuY3Rpb24oKSB7Ci0gICAgcmV0dXJuIFVzYkRl
dmljZU1hbmFnZXJDbGllbnRQcm94eS5wcm90b3R5cGUub25EZXZpY2VSZW1vdmVkCi0gICAgICAg
IC5hcHBseSh0aGlzLnB0ci5nZXRQcm94eSgpLCBhcmd1bWVudHMpOwotICB9OwotCi0gIFVzYkRl
dmljZU1hbmFnZXJDbGllbnRQcm94eS5wcm90b3R5cGUub25EZXZpY2VSZW1vdmVkID0gZnVuY3Rp
b24oZGV2aWNlSW5mbykgewotICAgIHZhciBwYXJhbXNfID0gbmV3IFVzYkRldmljZU1hbmFnZXJD
bGllbnRfT25EZXZpY2VSZW1vdmVkX1BhcmFtcygpOwotICAgIHBhcmFtc18uZGV2aWNlSW5mbyA9
IGRldmljZUluZm87Ci0gICAgdmFyIGJ1aWxkZXIgPSBuZXcgY29kZWMuTWVzc2FnZVYwQnVpbGRl
cigKLSAgICAgICAga1VzYkRldmljZU1hbmFnZXJDbGllbnRfT25EZXZpY2VSZW1vdmVkX05hbWUs
Ci0gICAgICAgIGNvZGVjLmFsaWduKFVzYkRldmljZU1hbmFnZXJDbGllbnRfT25EZXZpY2VSZW1v
dmVkX1BhcmFtcy5lbmNvZGVkU2l6ZSkpOwotICAgIGJ1aWxkZXIuZW5jb2RlU3RydWN0KFVzYkRl
dmljZU1hbmFnZXJDbGllbnRfT25EZXZpY2VSZW1vdmVkX1BhcmFtcywgcGFyYW1zXyk7Ci0gICAg
dmFyIG1lc3NhZ2UgPSBidWlsZGVyLmZpbmlzaCgpOwotICAgIHRoaXMucmVjZWl2ZXJfLmFjY2Vw
dChtZXNzYWdlKTsKLSAgfTsKLQotICBmdW5jdGlvbiBVc2JEZXZpY2VNYW5hZ2VyQ2xpZW50U3R1
YihkZWxlZ2F0ZSkgewotICAgIHRoaXMuZGVsZWdhdGVfID0gZGVsZWdhdGU7Ci0gIH0KLSAgVXNi
RGV2aWNlTWFuYWdlckNsaWVudFN0dWIucHJvdG90eXBlLm9uRGV2aWNlQWRkZWQgPSBmdW5jdGlv
bihkZXZpY2VJbmZvKSB7Ci0gICAgcmV0dXJuIHRoaXMuZGVsZWdhdGVfICYmIHRoaXMuZGVsZWdh
dGVfLm9uRGV2aWNlQWRkZWQgJiYgdGhpcy5kZWxlZ2F0ZV8ub25EZXZpY2VBZGRlZChkZXZpY2VJ
bmZvKTsKLSAgfQotICBVc2JEZXZpY2VNYW5hZ2VyQ2xpZW50U3R1Yi5wcm90b3R5cGUub25EZXZp
Y2VSZW1vdmVkID0gZnVuY3Rpb24oZGV2aWNlSW5mbykgewotICAgIHJldHVybiB0aGlzLmRlbGVn
YXRlXyAmJiB0aGlzLmRlbGVnYXRlXy5vbkRldmljZVJlbW92ZWQgJiYgdGhpcy5kZWxlZ2F0ZV8u
b25EZXZpY2VSZW1vdmVkKGRldmljZUluZm8pOwotICB9Ci0KLSAgVXNiRGV2aWNlTWFuYWdlckNs
aWVudFN0dWIucHJvdG90eXBlLmFjY2VwdCA9IGZ1bmN0aW9uKG1lc3NhZ2UpIHsKLSAgICB2YXIg
cmVhZGVyID0gbmV3IGNvZGVjLk1lc3NhZ2VSZWFkZXIobWVzc2FnZSk7Ci0gICAgc3dpdGNoIChy
ZWFkZXIubWVzc2FnZU5hbWUpIHsKLSAgICBjYXNlIGtVc2JEZXZpY2VNYW5hZ2VyQ2xpZW50X09u
RGV2aWNlQWRkZWRfTmFtZToKLSAgICAgIHZhciBwYXJhbXMgPSByZWFkZXIuZGVjb2RlU3RydWN0
KFVzYkRldmljZU1hbmFnZXJDbGllbnRfT25EZXZpY2VBZGRlZF9QYXJhbXMpOwotICAgICAgdGhp
cy5vbkRldmljZUFkZGVkKHBhcmFtcy5kZXZpY2VJbmZvKTsKLSAgICAgIHJldHVybiB0cnVlOwot
ICAgIGNhc2Uga1VzYkRldmljZU1hbmFnZXJDbGllbnRfT25EZXZpY2VSZW1vdmVkX05hbWU6Ci0g
ICAgICB2YXIgcGFyYW1zID0gcmVhZGVyLmRlY29kZVN0cnVjdChVc2JEZXZpY2VNYW5hZ2VyQ2xp
ZW50X09uRGV2aWNlUmVtb3ZlZF9QYXJhbXMpOwotICAgICAgdGhpcy5vbkRldmljZVJlbW92ZWQo
cGFyYW1zLmRldmljZUluZm8pOwotICAgICAgcmV0dXJuIHRydWU7Ci0gICAgZGVmYXVsdDoKLSAg
ICAgIHJldHVybiBmYWxzZTsKLSAgICB9Ci0gIH07Ci0KLSAgVXNiRGV2aWNlTWFuYWdlckNsaWVu
dFN0dWIucHJvdG90eXBlLmFjY2VwdFdpdGhSZXNwb25kZXIgPQotICAgICAgZnVuY3Rpb24obWVz
c2FnZSwgcmVzcG9uZGVyKSB7Ci0gICAgdmFyIHJlYWRlciA9IG5ldyBjb2RlYy5NZXNzYWdlUmVh
ZGVyKG1lc3NhZ2UpOwotICAgIHN3aXRjaCAocmVhZGVyLm1lc3NhZ2VOYW1lKSB7Ci0gICAgZGVm
YXVsdDoKLSAgICAgIHJldHVybiBmYWxzZTsKLSAgICB9Ci0gIH07Ci0KLSAgZnVuY3Rpb24gdmFs
aWRhdGVVc2JEZXZpY2VNYW5hZ2VyQ2xpZW50UmVxdWVzdChtZXNzYWdlVmFsaWRhdG9yKSB7Ci0g
ICAgdmFyIG1lc3NhZ2UgPSBtZXNzYWdlVmFsaWRhdG9yLm1lc3NhZ2U7Ci0gICAgdmFyIHBhcmFt
c0NsYXNzID0gbnVsbDsKLSAgICBzd2l0Y2ggKG1lc3NhZ2UuZ2V0TmFtZSgpKSB7Ci0gICAgICBj
YXNlIGtVc2JEZXZpY2VNYW5hZ2VyQ2xpZW50X09uRGV2aWNlQWRkZWRfTmFtZToKLSAgICAgICAg
aWYgKCFtZXNzYWdlLmV4cGVjdHNSZXNwb25zZSgpICYmICFtZXNzYWdlLmlzUmVzcG9uc2UoKSkK
LSAgICAgICAgICBwYXJhbXNDbGFzcyA9IFVzYkRldmljZU1hbmFnZXJDbGllbnRfT25EZXZpY2VB
ZGRlZF9QYXJhbXM7Ci0gICAgICBicmVhazsKLSAgICAgIGNhc2Uga1VzYkRldmljZU1hbmFnZXJD
bGllbnRfT25EZXZpY2VSZW1vdmVkX05hbWU6Ci0gICAgICAgIGlmICghbWVzc2FnZS5leHBlY3Rz
UmVzcG9uc2UoKSAmJiAhbWVzc2FnZS5pc1Jlc3BvbnNlKCkpCi0gICAgICAgICAgcGFyYW1zQ2xh
c3MgPSBVc2JEZXZpY2VNYW5hZ2VyQ2xpZW50X09uRGV2aWNlUmVtb3ZlZF9QYXJhbXM7Ci0gICAg
ICBicmVhazsKLSAgICB9Ci0gICAgaWYgKHBhcmFtc0NsYXNzID09PSBudWxsKQotICAgICAgcmV0
dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAgICByZXR1cm4gcGFyYW1zQ2xh
c3MudmFsaWRhdGUobWVzc2FnZVZhbGlkYXRvciwgbWVzc2FnZVZhbGlkYXRvci5tZXNzYWdlLmdl
dEhlYWRlck51bUJ5dGVzKCkpOwotICB9Ci0KLSAgZnVuY3Rpb24gdmFsaWRhdGVVc2JEZXZpY2VN
YW5hZ2VyQ2xpZW50UmVzcG9uc2UobWVzc2FnZVZhbGlkYXRvcikgewotICAgIHJldHVybiB2YWxp
ZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gIH0KLQotICB2YXIgVXNiRGV2aWNlTWFuYWdl
ckNsaWVudCA9IHsKLSAgICBuYW1lOiAnZGV2aWNlLm1vam9tLlVzYkRldmljZU1hbmFnZXJDbGll
bnQnLAotICAgIGtWZXJzaW9uOiAwLAotICAgIHB0ckNsYXNzOiBVc2JEZXZpY2VNYW5hZ2VyQ2xp
ZW50UHRyLAotICAgIHByb3h5Q2xhc3M6IFVzYkRldmljZU1hbmFnZXJDbGllbnRQcm94eSwKLSAg
ICBzdHViQ2xhc3M6IFVzYkRldmljZU1hbmFnZXJDbGllbnRTdHViLAotICAgIHZhbGlkYXRlUmVx
dWVzdDogdmFsaWRhdGVVc2JEZXZpY2VNYW5hZ2VyQ2xpZW50UmVxdWVzdCwKLSAgICB2YWxpZGF0
ZVJlc3BvbnNlOiBudWxsLAotICB9OwotICBVc2JEZXZpY2VNYW5hZ2VyQ2xpZW50U3R1Yi5wcm90
b3R5cGUudmFsaWRhdG9yID0gdmFsaWRhdGVVc2JEZXZpY2VNYW5hZ2VyQ2xpZW50UmVxdWVzdDsK
LSAgVXNiRGV2aWNlTWFuYWdlckNsaWVudFByb3h5LnByb3RvdHlwZS52YWxpZGF0b3IgPSBudWxs
OwotICBleHBvcnRzLlVzYkRldmljZU1hbmFnZXJDbGllbnQgPSBVc2JEZXZpY2VNYW5hZ2VyQ2xp
ZW50OwotICBleHBvcnRzLlVzYkRldmljZU1hbmFnZXJDbGllbnRQdHIgPSBVc2JEZXZpY2VNYW5h
Z2VyQ2xpZW50UHRyOwotICBleHBvcnRzLlVzYkRldmljZU1hbmFnZXJDbGllbnRBc3NvY2lhdGVk
UHRyID0gVXNiRGV2aWNlTWFuYWdlckNsaWVudEFzc29jaWF0ZWRQdHI7Ci19KSgpOwpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL2RldmljZV9tYW5hZ2VyX2Ns
aWVudC5tb2pvbS5qcy5oZWFkZXJzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vZGV2aWNlX21hbmFnZXJfY2xpZW50Lm1vam9t
LmpzLmhlYWRlcnMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZjNjFhMzRhNGVjLi4w
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy9jaHJvbWl1bS9kZXZpY2VfbWFuYWdlcl9jbGllbnQubW9qb20uanMuaGVh
ZGVycworKysgL2Rldi9udWxsCkBAIC0xICswLDAgQEAKLUNvbnRlbnQtVHlwZTogdGV4dC9qYXZh
c2NyaXB0OyBjaGFyc2V0PXV0Zi04ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvY2hyb21pdW0vZ2VuZXJpY19zZW5zb3JfbW9ja3MuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS9nZW5lcmljX3NlbnNv
cl9tb2Nrcy5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNWU5MDJmMjUyM2QuLjAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL2Nocm9taXVtL2dlbmVyaWNfc2Vuc29yX21vY2tzLmpzCisrKyAvZGV2L251
bGwKQEAgLTEsMzQ3ICswLDAgQEAKLSd1c2Ugc3RyaWN0JzsKLQotdmFyIEdlbmVyaWNTZW5zb3JU
ZXN0ID0gKCgpID0+IHsKLSAgLy8gRGVmYXVsdCBzZW5zb3IgZnJlcXVlbmN5IGluIGRlZmF1bHQg
Y29uZmlndXJhdGlvbnMuCi0gIGNvbnN0IERFRkFVTFRfRlJFUVVFTkNZID0gNTsKLQotICAvLyBD
bGFzcyB0aGF0IG1vY2tzIFNlbnNvciBpbnRlcmZhY2UgZGVmaW5lZCBpbgotICAvLyBodHRwczov
L2NzLmNocm9taXVtLm9yZy9jaHJvbWl1bS9zcmMvc2VydmljZXMvZGV2aWNlL3B1YmxpYy9tb2pv
bS9zZW5zb3IubW9qb20KLSAgY2xhc3MgTW9ja1NlbnNvciB7Ci0gICAgY29uc3RydWN0b3Ioc2Vu
c29yUmVxdWVzdCwgaGFuZGxlLCBvZmZzZXQsIHNpemUsIHJlcG9ydGluZ01vZGUpIHsKLSAgICAg
IHRoaXMuY2xpZW50XyA9IG51bGw7Ci0gICAgICB0aGlzLnN0YXJ0U2hvdWxkRmFpbF8gPSBmYWxz
ZTsKLSAgICAgIHRoaXMucmVwb3J0aW5nTW9kZV8gPSByZXBvcnRpbmdNb2RlOwotICAgICAgdGhp
cy5zZW5zb3JSZWFkaW5nVGltZXJJZF8gPSBudWxsOwotICAgICAgdGhpcy5yZWFkaW5nRGF0YV8g
PSBudWxsOwotICAgICAgdGhpcy5yZXF1ZXN0ZWRGcmVxdWVuY2llc18gPSBbXTsKLSAgICAgIGxl
dCBydiA9IGhhbmRsZS5tYXBCdWZmZXIob2Zmc2V0LCBzaXplKTsKLSAgICAgIGFzc2VydF9lcXVh
bHMocnYucmVzdWx0LCBNb2pvLlJFU1VMVF9PSywgIkZhaWxlZCB0byBtYXAgc2hhcmVkIGJ1ZmZl
ciIpOwotICAgICAgdGhpcy5idWZmZXJfID0gbmV3IEZsb2F0NjRBcnJheShydi5idWZmZXIpOwot
ICAgICAgdGhpcy5idWZmZXJfLmZpbGwoMCk7Ci0gICAgICB0aGlzLmJpbmRpbmdfID0gbmV3IG1v
am8uQmluZGluZyhkZXZpY2UubW9qb20uU2Vuc29yLCB0aGlzLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgc2Vuc29yUmVxdWVzdCk7Ci0gICAgICB0aGlzLmJpbmRpbmdf
LnNldENvbm5lY3Rpb25FcnJvckhhbmRsZXIoKCkgPT4gewotICAgICAgICB0aGlzLnJlc2V0KCk7
Ci0gICAgICB9KTsKLSAgICB9Ci0KLSAgICAvLyBSZXR1cm5zIGRlZmF1bHQgY29uZmlndXJhdGlv
bi4KLSAgICBhc3luYyBnZXREZWZhdWx0Q29uZmlndXJhdGlvbigpIHsKLSAgICAgIHJldHVybiB7
IGZyZXF1ZW5jeTogREVGQVVMVF9GUkVRVUVOQ1kgfTsKLSAgICB9Ci0KLSAgICAvLyBBZGRzIGNv
bmZpZ3VyYXRpb24gZm9yIHRoZSBzZW5zb3IgYW5kIHN0YXJ0cyByZXBvcnRpbmcgZmFrZSBkYXRh
Ci0gICAgLy8gdGhyb3VnaCBzZXRTZW5zb3JSZWFkaW5nIGZ1bmN0aW9uLgotICAgIGFzeW5jIGFk
ZENvbmZpZ3VyYXRpb24oY29uZmlndXJhdGlvbikgewotICAgICAgYXNzZXJ0X25vdF9lcXVhbHMo
Y29uZmlndXJhdGlvbiwgbnVsbCwgIkludmFsaWQgc2Vuc29yIGNvbmZpZ3VyYXRpb24uIik7Ci0K
LSAgICAgIHRoaXMucmVxdWVzdGVkRnJlcXVlbmNpZXNfLnB1c2goY29uZmlndXJhdGlvbi5mcmVx
dWVuY3kpOwotICAgICAgLy8gU29ydCB1c2luZyBkZXNjZW5kaW5nIG9yZGVyLgotICAgICAgdGhp
cy5yZXF1ZXN0ZWRGcmVxdWVuY2llc18uc29ydCgKLSAgICAgICAgICAoZmlyc3QsIHNlY29uZCkg
PT4geyByZXR1cm4gc2Vjb25kIC0gZmlyc3QgfSk7Ci0KLSAgICAgIGlmICghdGhpcy5zdGFydFNo
b3VsZEZhaWxfICkKLSAgICAgICAgdGhpcy5zdGFydFJlYWRpbmcoKTsKLQotICAgICAgcmV0dXJu
IHsgc3VjY2VzczogIXRoaXMuc3RhcnRTaG91bGRGYWlsXyB9OwotICAgIH0KLQotICAgIC8vIFJl
bW92ZXMgc2Vuc29yIGNvbmZpZ3VyYXRpb24gZnJvbSB0aGUgbGlzdCBvZiBhY3RpdmUgY29uZmln
dXJhdGlvbnMgYW5kCi0gICAgLy8gc3RvcHMgbm90aWZpY2F0aW9uIGFib3V0IHNlbnNvciByZWFk
aW5nIGNoYW5nZXMgaWYKLSAgICAvLyByZXF1ZXN0ZWRGcmVxdWVuY2llc18gaXMgZW1wdHkuCi0g
ICAgcmVtb3ZlQ29uZmlndXJhdGlvbihjb25maWd1cmF0aW9uKSB7Ci0gICAgICBjb25zdCBpbmRl
eCA9IHRoaXMucmVxdWVzdGVkRnJlcXVlbmNpZXNfLmluZGV4T2YoY29uZmlndXJhdGlvbi5mcmVx
dWVuY3kpOwotICAgICAgaWYgKGluZGV4ID09IC0xKQotICAgICAgICByZXR1cm47Ci0KLSAgICAg
IHRoaXMucmVxdWVzdGVkRnJlcXVlbmNpZXNfLnNwbGljZShpbmRleCwgMSk7Ci0gICAgICBpZiAo
dGhpcy5yZXF1ZXN0ZWRGcmVxdWVuY2llc18ubGVuZ3RoID09PSAwKQotICAgICAgICB0aGlzLnN0
b3BSZWFkaW5nKCk7Ci0gICAgfQotCi0gICAgLy8gTW9jayBmdW5jdGlvbnMKLQotICAgIC8vIFJl
c2V0cyBtb2NrIFNlbnNvciBzdGF0ZS4KLSAgICByZXNldCgpIHsKLSAgICAgIHRoaXMuc3RvcFJl
YWRpbmcoKTsKLSAgICAgIHRoaXMuc3RhcnRTaG91bGRGYWlsXyA9IGZhbHNlOwotICAgICAgdGhp
cy5yZXF1ZXN0ZWRGcmVxdWVuY2llc18gPSBbXTsKLSAgICAgIHRoaXMucmVhZGluZ0RhdGFfID0g
bnVsbDsKLSAgICAgIHRoaXMuYnVmZmVyXy5maWxsKDApOwotICAgICAgdGhpcy5iaW5kaW5nXy5j
bG9zZSgpOwotICAgIH0KLQotICAgIC8vIFNldHMgZmFrZSBkYXRhIHRoYXQgaXMgdXNlZCB0byBk
ZWxpdmVyIHNlbnNvciByZWFkaW5nIHVwZGF0ZXMuCi0gICAgYXN5bmMgc2V0U2Vuc29yUmVhZGlu
ZyhyZWFkaW5nRGF0YSkgewotICAgICAgdGhpcy5yZWFkaW5nRGF0YV8gPSBuZXcgUmluZ0J1ZmZl
cihyZWFkaW5nRGF0YSk7Ci0gICAgICByZXR1cm4gdGhpczsKLSAgICB9Ci0KLSAgICAvLyBTZXRz
IGZsYWcgdGhhdCBmb3JjZXMgc2Vuc29yIHRvIGZhaWwgd2hlbiBhZGRDb25maWd1cmF0aW9uIGlz
IGludm9rZWQuCi0gICAgc2V0U3RhcnRTaG91bGRGYWlsKHNob3VsZEZhaWwpIHsKLSAgICAgIHRo
aXMuc3RhcnRTaG91bGRGYWlsXyA9IHNob3VsZEZhaWw7Ci0gICAgfQotCi0gICAgc3RhcnRSZWFk
aW5nKCkgewotICAgICAgaWYgKHRoaXMucmVhZGluZ0RhdGFfICE9IG51bGwpIHsKLSAgICAgICAg
dGhpcy5zdG9wUmVhZGluZygpOwotICAgICAgfQotICAgICAgbGV0IG1heEZyZXF1ZW5jeVVzZWQg
PSB0aGlzLnJlcXVlc3RlZEZyZXF1ZW5jaWVzX1swXTsKLSAgICAgIGxldCB0aW1lb3V0ID0gKDEg
LyBtYXhGcmVxdWVuY3lVc2VkKSAqIDEwMDA7Ci0gICAgICB0aGlzLnNlbnNvclJlYWRpbmdUaW1l
cklkXyA9IHdpbmRvdy5zZXRJbnRlcnZhbCgoKSA9PiB7Ci0gICAgICAgIGlmICh0aGlzLnJlYWRp
bmdEYXRhXykgewotICAgICAgICAgIC8vIHxidWZmZXJffCBpcyBhIFR5cGVkQXJyYXksIHNvIHdl
IG5lZWQgdG8gbWFrZSBzdXJlIHBhc3MgYW4KLSAgICAgICAgICAvLyBhcnJheSB0byBzZXQoKS4K
LSAgICAgICAgICBjb25zdCByZWFkaW5nID0gdGhpcy5yZWFkaW5nRGF0YV8ubmV4dCgpLnZhbHVl
OwotICAgICAgICAgIGFzc2VydF90cnVlKEFycmF5LmlzQXJyYXkocmVhZGluZyksICJUaGUgcmVh
ZGluZ3MgcGFzc2VkIHRvICIgKwotICAgICAgICAgICAgICAic2V0U2Vuc29yUmVhZGluZygpIG11
c3QgYmUgYXJyYXlzLiIpOwotICAgICAgICAgIHRoaXMuYnVmZmVyXy5zZXQocmVhZGluZywgMik7
Ci0gICAgICAgIH0KLSAgICAgICAgLy8gRm9yIGFsbCB0ZXN0cyBzZW5zb3IgcmVhZGluZyBzaG91
bGQgaGF2ZSBtb25vdG9uaWNhbGx5Ci0gICAgICAgIC8vIGluY3JlYXNpbmcgdGltZXN0YW1wIGlu
IHNlY29uZHMuCi0gICAgICAgIHRoaXMuYnVmZmVyX1sxXSA9IHdpbmRvdy5wZXJmb3JtYW5jZS5u
b3coKSAqIDAuMDAxOwotICAgICAgICBpZiAodGhpcy5yZXBvcnRpbmdNb2RlXyA9PT0gZGV2aWNl
Lm1vam9tLlJlcG9ydGluZ01vZGUuT05fQ0hBTkdFKSB7Ci0gICAgICAgICAgdGhpcy5jbGllbnRf
LnNlbnNvclJlYWRpbmdDaGFuZ2VkKCk7Ci0gICAgICAgIH0KLSAgICAgIH0sIHRpbWVvdXQpOwot
ICAgIH0KLQotICAgIHN0b3BSZWFkaW5nKCkgewotICAgICAgaWYgKHRoaXMuc2Vuc29yUmVhZGlu
Z1RpbWVySWRfICE9IG51bGwpIHsKLSAgICAgICAgd2luZG93LmNsZWFySW50ZXJ2YWwodGhpcy5z
ZW5zb3JSZWFkaW5nVGltZXJJZF8pOwotICAgICAgICB0aGlzLnNlbnNvclJlYWRpbmdUaW1lcklk
XyA9IG51bGw7Ci0gICAgICB9Ci0gICAgfQotCi0gICAgZ2V0U2FtcGxpbmdGcmVxdWVuY3koKSB7
Ci0gICAgICAgYXNzZXJ0X3RydWUodGhpcy5yZXF1ZXN0ZWRGcmVxdWVuY2llc18ubGVuZ3RoID4g
MCk7Ci0gICAgICAgcmV0dXJuIHRoaXMucmVxdWVzdGVkRnJlcXVlbmNpZXNfWzBdOwotICAgIH0K
LSAgfQotCi0gIC8vIENsYXNzIHRoYXQgbW9ja3MgU2Vuc29yUHJvdmlkZXIgaW50ZXJmYWNlIGRl
ZmluZWQgaW4KLSAgLy8gaHR0cHM6Ly9jcy5jaHJvbWl1bS5vcmcvY2hyb21pdW0vc3JjL3NlcnZp
Y2VzL2RldmljZS9wdWJsaWMvbW9qb20vc2Vuc29yX3Byb3ZpZGVyLm1vam9tCi0gIGNsYXNzIE1v
Y2tTZW5zb3JQcm92aWRlciB7Ci0gICAgY29uc3RydWN0b3IoKSB7Ci0gICAgICB0aGlzLnJlYWRp
bmdTaXplSW5CeXRlc18gPQotICAgICAgICAgIGRldmljZS5tb2pvbS5TZW5zb3JJbml0UGFyYW1z
LlJFQURfQlVGRkVSX1NJWkVfRk9SX1RFU1RTOwotICAgICAgdGhpcy5zaGFyZWRCdWZmZXJTaXpl
SW5CeXRlc18gPSB0aGlzLnJlYWRpbmdTaXplSW5CeXRlc18gKgotICAgICAgICAgICAgICAoZGV2
aWNlLm1vam9tLlNlbnNvclR5cGUuTUFYX1ZBTFVFICsgMSk7Ci0gICAgICBjb25zdCBydiA9IE1v
am8uY3JlYXRlU2hhcmVkQnVmZmVyKHRoaXMuc2hhcmVkQnVmZmVyU2l6ZUluQnl0ZXNfKTsKLSAg
ICAgIGFzc2VydF9lcXVhbHMocnYucmVzdWx0LCBNb2pvLlJFU1VMVF9PSywgIkZhaWxlZCB0byBj
cmVhdGUgYnVmZmVyIik7Ci0gICAgICB0aGlzLnNoYXJlZEJ1ZmZlckhhbmRsZV8gPSBydi5oYW5k
bGU7Ci0gICAgICB0aGlzLmFjdGl2ZVNlbnNvcnNfID0gbmV3IE1hcCgpOwotICAgICAgdGhpcy5y
ZXNvbHZlRnVuY3NfID0gbmV3IE1hcCgpOwotICAgICAgdGhpcy5nZXRTZW5zb3JTaG91bGRGYWls
XyA9IG5ldyBNYXAoKTsKLSAgICAgIHRoaXMucGVybWlzc2lvbnNEZW5pZWRfID0gbmV3IE1hcCgp
OwotICAgICAgdGhpcy5tYXhGcmVxdWVuY3lfID0gNjA7Ci0gICAgICB0aGlzLm1pbkZyZXF1ZW5j
eV8gPSAxOwotICAgICAgdGhpcy5tb2pvbVNlbnNvclR5cGVfID0gbmV3IE1hcChbCi0gICAgICAg
IFsnQWNjZWxlcm9tZXRlcicsIGRldmljZS5tb2pvbS5TZW5zb3JUeXBlLkFDQ0VMRVJPTUVURVJd
LAotICAgICAgICBbJ0xpbmVhckFjY2VsZXJhdGlvblNlbnNvcicsCi0gICAgICAgICAgICBkZXZp
Y2UubW9qb20uU2Vuc29yVHlwZS5MSU5FQVJfQUNDRUxFUkFUSU9OXSwKLSAgICAgICAgWydBbWJp
ZW50TGlnaHRTZW5zb3InLCBkZXZpY2UubW9qb20uU2Vuc29yVHlwZS5BTUJJRU5UX0xJR0hUXSwK
LSAgICAgICAgWydHeXJvc2NvcGUnLCBkZXZpY2UubW9qb20uU2Vuc29yVHlwZS5HWVJPU0NPUEVd
LAotICAgICAgICBbJ01hZ25ldG9tZXRlcicsIGRldmljZS5tb2pvbS5TZW5zb3JUeXBlLk1BR05F
VE9NRVRFUl0sCi0gICAgICAgIFsnQWJzb2x1dGVPcmllbnRhdGlvblNlbnNvcicsCi0gICAgICAg
ICAgICBkZXZpY2UubW9qb20uU2Vuc29yVHlwZS5BQlNPTFVURV9PUklFTlRBVElPTl9RVUFURVJO
SU9OXSwKLSAgICAgICAgWydBYnNvbHV0ZU9yaWVudGF0aW9uRXVsZXJBbmdsZXMnLAotICAgICAg
ICAgICAgZGV2aWNlLm1vam9tLlNlbnNvclR5cGUuQUJTT0xVVEVfT1JJRU5UQVRJT05fRVVMRVJf
QU5HTEVTXSwKLSAgICAgICAgWydSZWxhdGl2ZU9yaWVudGF0aW9uU2Vuc29yJywKLSAgICAgICAg
ICAgIGRldmljZS5tb2pvbS5TZW5zb3JUeXBlLlJFTEFUSVZFX09SSUVOVEFUSU9OX1FVQVRFUk5J
T05dLAotICAgICAgICBbJ1JlbGF0aXZlT3JpZW50YXRpb25FdWxlckFuZ2xlcycsCi0gICAgICAg
ICAgICBkZXZpY2UubW9qb20uU2Vuc29yVHlwZS5SRUxBVElWRV9PUklFTlRBVElPTl9FVUxFUl9B
TkdMRVNdLAotICAgICAgICBbJ1Byb3hpbWl0eVNlbnNvcicsIGRldmljZS5tb2pvbS5TZW5zb3JU
eXBlLlBST1hJTUlUWV0KLSAgICAgIF0pOwotICAgICAgdGhpcy5iaW5kaW5nXyA9IG5ldyBtb2pv
LkJpbmRpbmcoZGV2aWNlLm1vam9tLlNlbnNvclByb3ZpZGVyLCB0aGlzKTsKLQotICAgICAgdGhp
cy5pbnRlcmNlcHRvcl8gPSBuZXcgTW9qb0ludGVyZmFjZUludGVyY2VwdG9yKAotICAgICAgICAg
IGRldmljZS5tb2pvbS5TZW5zb3JQcm92aWRlci5uYW1lLCAiY29udGV4dCIsIHRydWUpOwotICAg
ICAgdGhpcy5pbnRlcmNlcHRvcl8ub25pbnRlcmZhY2VyZXF1ZXN0ID0gZSA9PiB7Ci0gICAgICAg
IHRoaXMuYmluZFRvUGlwZShlLmhhbmRsZSk7Ci0gICAgICB9OwotICAgICAgdGhpcy5pbnRlcmNl
cHRvcl8uc3RhcnQoKTsKLSAgICB9Ci0KLSAgICAvLyBSZXR1cm5zIGluaXRpYWxpemVkIFNlbnNv
ciBwcm94eSB0byB0aGUgY2xpZW50LgotICAgIGFzeW5jIGdldFNlbnNvcih0eXBlKSB7Ci0gICAg
ICBpZiAodGhpcy5nZXRTZW5zb3JTaG91bGRGYWlsXy5nZXQodHlwZSkpIHsKLSAgICAgICAgcmV0
dXJuIHtyZXN1bHQ6IGRldmljZS5tb2pvbS5TZW5zb3JDcmVhdGlvblJlc3VsdC5FUlJPUl9OT1Rf
QVZBSUxBQkxFLAotICAgICAgICAgICAgICAgIGluaXRQYXJhbXM6IG51bGx9OwotICAgICAgfQot
ICAgICAgaWYgKHRoaXMucGVybWlzc2lvbnNEZW5pZWRfLmdldCh0eXBlKSkgewotICAgICAgICBy
ZXR1cm4ge3Jlc3VsdDogZGV2aWNlLm1vam9tLlNlbnNvckNyZWF0aW9uUmVzdWx0LkVSUk9SX05P
VF9BTExPV0VELAotICAgICAgICAgICAgICAgIGluaXRQYXJhbXM6IG51bGx9OwotICAgICAgfQot
Ci0gICAgICBjb25zdCBvZmZzZXQgPSB0eXBlICogdGhpcy5yZWFkaW5nU2l6ZUluQnl0ZXNfOwot
ICAgICAgY29uc3QgcmVwb3J0aW5nTW9kZSA9IGRldmljZS5tb2pvbS5SZXBvcnRpbmdNb2RlLk9O
X0NIQU5HRTsKLQotICAgICAgY29uc3Qgc2Vuc29yUHRyID0gbmV3IGRldmljZS5tb2pvbS5TZW5z
b3JQdHIoKTsKLSAgICAgIGlmICghdGhpcy5hY3RpdmVTZW5zb3JzXy5oYXModHlwZSkpIHsKLSAg
ICAgICAgY29uc3QgbW9ja1NlbnNvciA9IG5ldyBNb2NrU2Vuc29yKAotICAgICAgICAgICAgbW9q
by5tYWtlUmVxdWVzdChzZW5zb3JQdHIpLCB0aGlzLnNoYXJlZEJ1ZmZlckhhbmRsZV8sIG9mZnNl
dCwKLSAgICAgICAgICAgIHRoaXMucmVhZGluZ1NpemVJbkJ5dGVzXywgcmVwb3J0aW5nTW9kZSk7
Ci0gICAgICAgIHRoaXMuYWN0aXZlU2Vuc29yc18uc2V0KHR5cGUsIG1vY2tTZW5zb3IpOwotICAg
ICAgICB0aGlzLmFjdGl2ZVNlbnNvcnNfLmdldCh0eXBlKS5jbGllbnRfID0KLSAgICAgICAgICAg
IG5ldyBkZXZpY2UubW9qb20uU2Vuc29yQ2xpZW50UHRyKCk7Ci0gICAgICB9Ci0KLSAgICAgIGNv
bnN0IHJ2ID0gdGhpcy5zaGFyZWRCdWZmZXJIYW5kbGVfLmR1cGxpY2F0ZUJ1ZmZlckhhbmRsZSgp
OwotCi0gICAgICBhc3NlcnRfZXF1YWxzKHJ2LnJlc3VsdCwgTW9qby5SRVNVTFRfT0spOwotCi0g
ICAgICBjb25zdCBkZWZhdWx0Q29uZmlnID0geyBmcmVxdWVuY3k6IERFRkFVTFRfRlJFUVVFTkNZ
IH07Ci0gICAgICAvLyBDb25zaWRlciBzZW5zb3IgdHJhaXRzIHRvIG1lZXQgYXNzZXJ0aW9ucyBp
biBDKysgY29kZSAoc2VlCi0gICAgICAvLyBzZXJ2aWNlcy9kZXZpY2UvcHVibGljL2NwcC9nZW5l
cmljX3NlbnNvci9zZW5zb3JfdHJhaXRzLmgpCi0gICAgICBpZiAodHlwZSA9PSBkZXZpY2UubW9q
b20uU2Vuc29yVHlwZS5BTUJJRU5UX0xJR0hUIHx8Ci0gICAgICAgICAgdHlwZSA9PSBkZXZpY2Uu
bW9qb20uU2Vuc29yVHlwZS5NQUdORVRPTUVURVIpIHsKLSAgICAgICAgdGhpcy5tYXhGcmVxdWVu
Y3lfID0gTWF0aC5taW4oMTAsIHRoaXMubWF4RnJlcXVlbmN5Xyk7Ci0gICAgICB9Ci0KLSAgICAg
IC8vIENocm9taXVtIGFwcGxpZXMgc29tZSByb3VuZGluZyBhbmQgb3RoZXIgcHJpdmFjeS1yZWxh
dGVkIG1lYXN1cmVzIHRoYXQKLSAgICAgIC8vIGNhbiBjYXVzZSBBTFMgbm90IHRvIHJlcG9ydCBh
IHJlYWRpbmcgd2hlbiBpdCBoYXMgbm90IGNoYW5nZWQgYmV5b25kIGEKLSAgICAgIC8vIGNlcnRh
aW4gdGhyZXNob2xkIGNvbXBhcmVkIHRvIHRoZSBwcmV2aW91cyBpbGx1bWluYW5jZSB2YWx1ZS4g
TWFrZQotICAgICAgLy8gZWFjaCByZWFkaW5nIHJldHVybiBhIGRpZmZlcmVudCB2YWx1ZSB0aGF0
IGlzIHNpZ25pZmljYW50bHkgZGlmZmVyZW50Ci0gICAgICAvLyBmcm9tIHRoZSBwcmV2aW91cyBv
bmUgd2hlbiBzZXRTZW5zb3JSZWFkaW5nKCkgaXMgbm90IGNhbGxlZCBieSBjbGllbnQKLSAgICAg
IC8vIGNvZGUgKGUuZy4gcnVuX2dlbmVyaWNfc2Vuc29yX2lmcmFtZV90ZXN0cygpKS4KLSAgICAg
IGlmICh0eXBlID09IGRldmljZS5tb2pvbS5TZW5zb3JUeXBlLkFNQklFTlRfTElHSFQpIHsKLSAg
ICAgICAgdGhpcy5hY3RpdmVTZW5zb3JzXy5nZXQodHlwZSkuc2V0U2Vuc29yUmVhZGluZyhbCi0g
ICAgICAgICAgW3dpbmRvdy5wZXJmb3JtYW5jZS5ub3coKSAqIDEwMF0sCi0gICAgICAgICAgWyh3
aW5kb3cucGVyZm9ybWFuY2Uubm93KCkgKyA1MCkgKiAxMDBdCi0gICAgICAgIF0pOwotICAgICAg
fQotCi0gICAgICBjb25zdCBpbml0UGFyYW1zID0gbmV3IGRldmljZS5tb2pvbS5TZW5zb3JJbml0
UGFyYW1zKHsKLSAgICAgICAgc2Vuc29yOiBzZW5zb3JQdHIsCi0gICAgICAgIGNsaWVudFJlY2Vp
dmVyOiBtb2pvLm1ha2VSZXF1ZXN0KHRoaXMuYWN0aXZlU2Vuc29yc18uZ2V0KHR5cGUpLmNsaWVu
dF8pLAotICAgICAgICBtZW1vcnk6IHJ2LmhhbmRsZSwKLSAgICAgICAgYnVmZmVyT2Zmc2V0OiBv
ZmZzZXQsCi0gICAgICAgIG1vZGU6IHJlcG9ydGluZ01vZGUsCi0gICAgICAgIGRlZmF1bHRDb25m
aWd1cmF0aW9uOiBkZWZhdWx0Q29uZmlnLAotICAgICAgICBtaW5pbXVtRnJlcXVlbmN5OiB0aGlz
Lm1pbkZyZXF1ZW5jeV8sCi0gICAgICAgIG1heGltdW1GcmVxdWVuY3k6IHRoaXMubWF4RnJlcXVl
bmN5XwotICAgICAgfSk7Ci0KLSAgICAgIGlmICh0aGlzLnJlc29sdmVGdW5jc18uaGFzKHR5cGUp
KSB7Ci0gICAgICAgIGZvciAobGV0IHJlc29sdmVGdW5jIG9mIHRoaXMucmVzb2x2ZUZ1bmNzXy5n
ZXQodHlwZSkpIHsKLSAgICAgICAgICByZXNvbHZlRnVuYyh0aGlzLmFjdGl2ZVNlbnNvcnNfLmdl
dCh0eXBlKSk7Ci0gICAgICAgIH0KLSAgICAgICAgdGhpcy5yZXNvbHZlRnVuY3NfLmRlbGV0ZSh0
eXBlKTsKLSAgICAgIH0KLQotICAgICAgcmV0dXJuIHtyZXN1bHQ6IGRldmljZS5tb2pvbS5TZW5z
b3JDcmVhdGlvblJlc3VsdC5TVUNDRVNTLAotICAgICAgICAgICAgICBpbml0UGFyYW1zOiBpbml0
UGFyYW1zfTsKLSAgICB9Ci0KLSAgICAvLyBCaW5kcyBvYmplY3QgdG8gbW9qbyBtZXNzYWdlIHBp
cGUKLSAgICBiaW5kVG9QaXBlKHBpcGUpIHsKLSAgICAgIHRoaXMuYmluZGluZ18uYmluZChwaXBl
KTsKLSAgICAgIHRoaXMuYmluZGluZ18uc2V0Q29ubmVjdGlvbkVycm9ySGFuZGxlcigoKSA9PiB7
Ci0gICAgICAgIHRoaXMucmVzZXQoKTsKLSAgICAgIH0pOwotICAgIH0KLQotICAgIC8vIE1vY2sg
ZnVuY3Rpb25zCi0KLSAgICAvLyBSZXNldHMgc3RhdGUgb2YgbW9jayBTZW5zb3JQcm92aWRlciBi
ZXR3ZWVuIHRlc3QgcnVucy4KLSAgICByZXNldCgpIHsKLSAgICAgIGZvciAoY29uc3Qgc2Vuc29y
IG9mIHRoaXMuYWN0aXZlU2Vuc29yc18udmFsdWVzKCkpIHsKLSAgICAgICAgc2Vuc29yLnJlc2V0
KCk7Ci0gICAgICB9Ci0gICAgICB0aGlzLmFjdGl2ZVNlbnNvcnNfLmNsZWFyKCk7Ci0gICAgICB0
aGlzLnJlc29sdmVGdW5jc18uY2xlYXIoKTsKLSAgICAgIHRoaXMuZ2V0U2Vuc29yU2hvdWxkRmFp
bF8uY2xlYXIoKTsKLSAgICAgIHRoaXMucGVybWlzc2lvbnNEZW5pZWRfLmNsZWFyKCk7Ci0gICAg
ICB0aGlzLm1heEZyZXF1ZW5jeV8gPSA2MDsKLSAgICAgIHRoaXMubWluRnJlcXVlbmN5XyA9IDE7
Ci0gICAgICB0aGlzLmJpbmRpbmdfLmNsb3NlKCk7Ci0gICAgICB0aGlzLmludGVyY2VwdG9yXy5z
dG9wKCk7Ci0gICAgfQotCi0gICAgLy8gU2V0cyBmbGFnIHRoYXQgZm9yY2VzIG1vY2sgU2Vuc29y
UHJvdmlkZXIgdG8gZmFpbCB3aGVuIGdldFNlbnNvcigpIGlzCi0gICAgLy8gaW52b2tlZC4KLSAg
ICBzZXRHZXRTZW5zb3JTaG91bGRGYWlsKHNlbnNvclR5cGUsIHNob3VsZEZhaWwpIHsKLSAgICAg
IHRoaXMuZ2V0U2Vuc29yU2hvdWxkRmFpbF8uc2V0KHRoaXMubW9qb21TZW5zb3JUeXBlXy5nZXQo
c2Vuc29yVHlwZSksCi0gICAgICAgICAgc2hvdWxkRmFpbCk7Ci0gICAgfQotCi0gICAgc2V0UGVy
bWlzc2lvbnNEZW5pZWQoc2Vuc29yVHlwZSwgcGVybWlzc2lvbnNEZW5pZWQpIHsKLSAgICAgIHRo
aXMucGVybWlzc2lvbnNEZW5pZWRfLnNldCh0aGlzLm1vam9tU2Vuc29yVHlwZV8uZ2V0KHNlbnNv
clR5cGUpLAotICAgICAgICAgIHBlcm1pc3Npb25zRGVuaWVkKTsKLSAgICB9Ci0KLSAgICAvLyBS
ZXR1cm5zIG1vY2sgc2Vuc29yIHRoYXQgd2FzIGNyZWF0ZWQgaW4gZ2V0U2Vuc29yIHRvIHRoZSBs
YXlvdXQgdGVzdC4KLSAgICBnZXRDcmVhdGVkU2Vuc29yKHNlbnNvclR5cGUpIHsKLSAgICAgIGNv
bnN0IHR5cGUgPSB0aGlzLm1vam9tU2Vuc29yVHlwZV8uZ2V0KHNlbnNvclR5cGUpOwotICAgICAg
YXNzZXJ0X2VxdWFscyh0eXBlb2YgdHlwZSwgIm51bWJlciIsICJBIHNlbnNvciB0eXBlIG11c3Qg
YmUgc3BlY2lmaWVkLiIpOwotCi0gICAgICBpZiAodGhpcy5hY3RpdmVTZW5zb3JzXy5oYXModHlw
ZSkpIHsKLSAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh0aGlzLmFjdGl2ZVNlbnNvcnNf
LmdldCh0eXBlKSk7Ci0gICAgICB9Ci0KLSAgICAgIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZl
ID0+IHsKLSAgICAgICAgaWYgKCF0aGlzLnJlc29sdmVGdW5jc18uaGFzKHR5cGUpKSB7Ci0gICAg
ICAgICAgdGhpcy5yZXNvbHZlRnVuY3NfLnNldCh0eXBlLCBbXSk7Ci0gICAgICAgIH0KLSAgICAg
ICAgdGhpcy5yZXNvbHZlRnVuY3NfLmdldCh0eXBlKS5wdXNoKHJlc29sdmUpOwotICAgICAgfSk7
Ci0gICAgfQotCi0gICAgLy8gU2V0cyB0aGUgbWF4aW11bSBmcmVxdWVuY3kgZm9yIGEgY29uY3Jl
dGUgc2Vuc29yLgotICAgIHNldE1heGltdW1TdXBwb3J0ZWRGcmVxdWVuY3koZnJlcXVlbmN5KSB7
Ci0gICAgICB0aGlzLm1heEZyZXF1ZW5jeV8gPSBmcmVxdWVuY3k7Ci0gICAgfQotCi0gICAgLy8g
U2V0cyB0aGUgbWluaW11bSBmcmVxdWVuY3kgZm9yIGEgY29uY3JldGUgc2Vuc29yLgotICAgIHNl
dE1pbmltdW1TdXBwb3J0ZWRGcmVxdWVuY3koZnJlcXVlbmN5KSB7Ci0gICAgICB0aGlzLm1pbkZy
ZXF1ZW5jeV8gPSBmcmVxdWVuY3k7Ci0gICAgfQotICB9Ci0KLSAgbGV0IHRlc3RJbnRlcm5hbCA9
IHsKLSAgICBpbml0aWFsaXplZDogZmFsc2UsCi0gICAgc2Vuc29yUHJvdmlkZXI6IG51bGwKLSAg
fQotCi0gIGNsYXNzIEdlbmVyaWNTZW5zb3JUZXN0Q2hyb21pdW0gewotICAgIGNvbnN0cnVjdG9y
KCkgewotICAgICAgT2JqZWN0LmZyZWV6ZSh0aGlzKTsgLy8gTWFrZSBpdCBpbW11dGFibGUuCi0g
ICAgfQotCi0gICAgaW5pdGlhbGl6ZSgpIHsKLSAgICAgIGlmICh0ZXN0SW50ZXJuYWwuaW5pdGlh
bGl6ZWQpCi0gICAgICAgIHRocm93IG5ldyBFcnJvcignQ2FsbCByZXNldCgpIGJlZm9yZSBpbml0
aWFsaXplKCkuJyk7Ci0KLSAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewotICAgICAgICAv
LyBHcmFudCBzZW5zb3IgcGVybWlzc2lvbnMgZm9yIENocm9taXVtIHRlc3RydW5uZXIuCi0gICAg
ICAgIFsnYWNjZWxlcm9tZXRlcicsICdneXJvc2NvcGUnLAotICAgICAgICAgJ21hZ25ldG9tZXRl
cicsICdhbWJpZW50LWxpZ2h0LXNlbnNvciddLmZvckVhY2goKGVudHJ5KSA9PiB7Ci0gICAgICAg
ICAgd2luZG93LnRlc3RSdW5uZXIuc2V0UGVybWlzc2lvbihlbnRyeSwgJ2dyYW50ZWQnLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9jYXRpb24ub3JpZ2luLCBs
b2NhdGlvbi5vcmlnaW4pOwotICAgICAgICB9KTsKLSAgICAgIH0KLQotICAgICAgdGVzdEludGVy
bmFsLnNlbnNvclByb3ZpZGVyID0gbmV3IE1vY2tTZW5zb3JQcm92aWRlcjsKLSAgICAgIHRlc3RJ
bnRlcm5hbC5pbml0aWFsaXplZCA9IHRydWU7Ci0gICAgfQotICAgIC8vIFJlc2V0cyBzdGF0ZSBv
ZiBzZW5zb3IgbW9ja3MgYmV0d2VlbiB0ZXN0IHJ1bnMuCi0gICAgYXN5bmMgcmVzZXQoKSB7Ci0g
ICAgICBpZiAoIXRlc3RJbnRlcm5hbC5pbml0aWFsaXplZCkKLSAgICAgICAgdGhyb3cgbmV3IEVy
cm9yKCdDYWxsIGluaXRpYWxpemUoKSBiZWZvcmUgcmVzZXQoKS4nKTsKLSAgICAgIHRlc3RJbnRl
cm5hbC5zZW5zb3JQcm92aWRlci5yZXNldCgpOwotICAgICAgdGVzdEludGVybmFsLnNlbnNvclBy
b3ZpZGVyID0gbnVsbDsKLSAgICAgIHRlc3RJbnRlcm5hbC5pbml0aWFsaXplZCA9IGZhbHNlOwot
Ci0gICAgICAvLyBXYWl0IGZvciBhbiBldmVudCBsb29wIGl0ZXJhdGlvbiB0byBsZXQgYW55IHBl
bmRpbmcgbW9qbyBjb21tYW5kcyBpbgotICAgICAgLy8gdGhlIHNlbnNvciBwcm92aWRlciBmaW5p
c2guCi0gICAgICBhd2FpdCBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHNldFRpbWVvdXQocmVzb2x2
ZSwgMCkpOwotICAgIH0KLQotICAgIGdldFNlbnNvclByb3ZpZGVyKCkgewotICAgICAgcmV0dXJu
IHRlc3RJbnRlcm5hbC5zZW5zb3JQcm92aWRlcjsKLSAgICB9Ci0gIH0KLQotICByZXR1cm4gR2Vu
ZXJpY1NlbnNvclRlc3RDaHJvbWl1bTsKLX0pKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS9nZW5lcmlj
X3NlbnNvcl9tb2Nrcy5qcy5oZWFkZXJzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vZ2VuZXJpY19zZW5zb3JfbW9ja3MuanMu
aGVhZGVycwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjgwNWMzMjNkZjUuLjAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL2Nocm9taXVtL2dlbmVyaWNfc2Vuc29yX21vY2tzLmpzLmhlYWRlcnMKKysrIC9k
ZXYvbnVsbApAQCAtMSArMCwwIEBACi1Db250ZW50LVR5cGU6IHRleHQvamF2YXNjcmlwdDsgY2hh
cnNldD11dGYtOApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vaW1hZ2VfY2FwdHVyZS1tb2pvbS5qcy5oZWFk
ZXJzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvY2hyb21pdW0vaW1hZ2VfY2FwdHVyZS1tb2pvbS5qcy5oZWFkZXJzCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCA2YzYxYTM0YTRlYy4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vaW1h
Z2VfY2FwdHVyZS1tb2pvbS5qcy5oZWFkZXJzCisrKyAvZGV2L251bGwKQEAgLTEgKzAsMCBAQAot
Q29udGVudC1UeXBlOiB0ZXh0L2phdmFzY3JpcHQ7IGNoYXJzZXQ9dXRmLTgKXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS9pbWFnZV9jYXB0dXJlLm1vam9tLmpz
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
Y2hyb21pdW0vaW1hZ2VfY2FwdHVyZS5tb2pvbS5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggZjE0NWQ3YTM0MDIuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL2ltYWdlX2NhcHR1cmUu
bW9qb20uanMKKysrIC9kZXYvbnVsbApAQCAtMSwxNDAzICswLDAgQEAKLS8vIENvcHlyaWdodCAy
MDE0IFRoZSBDaHJvbWl1bSBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotLy8gVXNlIG9m
IHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZSB0aGF0
IGNhbiBiZQotLy8gZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KLQotJ3VzZSBzdHJpY3QnOwot
Ci0oZnVuY3Rpb24oKSB7Ci0gIHZhciBtb2pvbUlkID0gJ21lZGlhL2NhcHR1cmUvbW9qb20vaW1h
Z2VfY2FwdHVyZS5tb2pvbSc7Ci0gIGlmIChtb2pvLmludGVybmFsLmlzTW9qb21Mb2FkZWQobW9q
b21JZCkpIHsKLSAgICBjb25zb2xlLndhcm4oJ1RoZSBmb2xsb3dpbmcgbW9qb20gaXMgbG9hZGVk
IG11bHRpcGxlIHRpbWVzOiAnICsgbW9qb21JZCk7Ci0gICAgcmV0dXJuOwotICB9Ci0gIG1vam8u
aW50ZXJuYWwubWFya01vam9tTG9hZGVkKG1vam9tSWQpOwotICB2YXIgYmluZGluZ3MgPSBtb2pv
OwotICB2YXIgYXNzb2NpYXRlZEJpbmRpbmdzID0gbW9qbzsKLSAgdmFyIGNvZGVjID0gbW9qby5p
bnRlcm5hbDsKLSAgdmFyIHZhbGlkYXRvciA9IG1vam8uaW50ZXJuYWw7Ci0KLSAgdmFyIGV4cG9y
dHMgPSBtb2pvLmludGVybmFsLmV4cG9zZU5hbWVzcGFjZSgnbWVkaWEubW9qb20nKTsKLQotCi0g
IHZhciBNZXRlcmluZ01vZGUgPSB7fTsKLSAgTWV0ZXJpbmdNb2RlLk5PTkUgPSAwOwotICBNZXRl
cmluZ01vZGUuTUFOVUFMID0gTWV0ZXJpbmdNb2RlLk5PTkUgKyAxOwotICBNZXRlcmluZ01vZGUu
U0lOR0xFX1NIT1QgPSBNZXRlcmluZ01vZGUuTUFOVUFMICsgMTsKLSAgTWV0ZXJpbmdNb2RlLkNP
TlRJTlVPVVMgPSBNZXRlcmluZ01vZGUuU0lOR0xFX1NIT1QgKyAxOwotICBNZXRlcmluZ01vZGUu
TUlOX1ZBTFVFID0gMCwKLSAgTWV0ZXJpbmdNb2RlLk1BWF9WQUxVRSA9IDMsCi0KLSAgTWV0ZXJp
bmdNb2RlLmlzS25vd25FbnVtVmFsdWUgPSBmdW5jdGlvbih2YWx1ZSkgewotICAgIHN3aXRjaCAo
dmFsdWUpIHsKLSAgICBjYXNlIDA6Ci0gICAgY2FzZSAxOgotICAgIGNhc2UgMjoKLSAgICBjYXNl
IDM6Ci0gICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9Ci0gICAgcmV0dXJuIGZhbHNlOwotICB9Owot
Ci0gIE1ldGVyaW5nTW9kZS52YWxpZGF0ZSA9IGZ1bmN0aW9uKGVudW1WYWx1ZSkgewotICAgIHZh
ciBpc0V4dGVuc2libGUgPSBmYWxzZTsKLSAgICBpZiAoaXNFeHRlbnNpYmxlIHx8IHRoaXMuaXNL
bm93bkVudW1WYWx1ZShlbnVtVmFsdWUpKQotICAgICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0
aW9uRXJyb3IuTk9ORTsKLQotICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLlVO
S05PV05fRU5VTV9WQUxVRTsKLSAgfTsKLSAgdmFyIFJlZEV5ZVJlZHVjdGlvbiA9IHt9OwotICBS
ZWRFeWVSZWR1Y3Rpb24uTkVWRVIgPSAwOwotICBSZWRFeWVSZWR1Y3Rpb24uQUxXQVlTID0gUmVk
RXllUmVkdWN0aW9uLk5FVkVSICsgMTsKLSAgUmVkRXllUmVkdWN0aW9uLkNPTlRST0xMQUJMRSA9
IFJlZEV5ZVJlZHVjdGlvbi5BTFdBWVMgKyAxOwotICBSZWRFeWVSZWR1Y3Rpb24uTUlOX1ZBTFVF
ID0gMCwKLSAgUmVkRXllUmVkdWN0aW9uLk1BWF9WQUxVRSA9IDIsCi0KLSAgUmVkRXllUmVkdWN0
aW9uLmlzS25vd25FbnVtVmFsdWUgPSBmdW5jdGlvbih2YWx1ZSkgewotICAgIHN3aXRjaCAodmFs
dWUpIHsKLSAgICBjYXNlIDA6Ci0gICAgY2FzZSAxOgotICAgIGNhc2UgMjoKLSAgICAgIHJldHVy
biB0cnVlOwotICAgIH0KLSAgICByZXR1cm4gZmFsc2U7Ci0gIH07Ci0KLSAgUmVkRXllUmVkdWN0
aW9uLnZhbGlkYXRlID0gZnVuY3Rpb24oZW51bVZhbHVlKSB7Ci0gICAgdmFyIGlzRXh0ZW5zaWJs
ZSA9IGZhbHNlOwotICAgIGlmIChpc0V4dGVuc2libGUgfHwgdGhpcy5pc0tub3duRW51bVZhbHVl
KGVudW1WYWx1ZSkpCi0gICAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05F
OwotCi0gICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuVU5LTk9XTl9FTlVNX1ZB
TFVFOwotICB9OwotICB2YXIgRmlsbExpZ2h0TW9kZSA9IHt9OwotICBGaWxsTGlnaHRNb2RlLk9G
RiA9IDA7Ci0gIEZpbGxMaWdodE1vZGUuQVVUTyA9IEZpbGxMaWdodE1vZGUuT0ZGICsgMTsKLSAg
RmlsbExpZ2h0TW9kZS5GTEFTSCA9IEZpbGxMaWdodE1vZGUuQVVUTyArIDE7Ci0gIEZpbGxMaWdo
dE1vZGUuTUlOX1ZBTFVFID0gMCwKLSAgRmlsbExpZ2h0TW9kZS5NQVhfVkFMVUUgPSAyLAotCi0g
IEZpbGxMaWdodE1vZGUuaXNLbm93bkVudW1WYWx1ZSA9IGZ1bmN0aW9uKHZhbHVlKSB7Ci0gICAg
c3dpdGNoICh2YWx1ZSkgewotICAgIGNhc2UgMDoKLSAgICBjYXNlIDE6Ci0gICAgY2FzZSAyOgot
ICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfQotICAgIHJldHVybiBmYWxzZTsKLSAgfTsKLQotICBG
aWxsTGlnaHRNb2RlLnZhbGlkYXRlID0gZnVuY3Rpb24oZW51bVZhbHVlKSB7Ci0gICAgdmFyIGlz
RXh0ZW5zaWJsZSA9IGZhbHNlOwotICAgIGlmIChpc0V4dGVuc2libGUgfHwgdGhpcy5pc0tub3du
RW51bVZhbHVlKGVudW1WYWx1ZSkpCi0gICAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25F
cnJvci5OT05FOwotCi0gICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuVU5LTk9X
Tl9FTlVNX1ZBTFVFOwotICB9OwotCi0gIGZ1bmN0aW9uIFJhbmdlKHZhbHVlcykgewotICAgIHRo
aXMuaW5pdERlZmF1bHRzXygpOwotICAgIHRoaXMuaW5pdEZpZWxkc18odmFsdWVzKTsKLSAgfQot
Ci0KLSAgUmFuZ2UucHJvdG90eXBlLmluaXREZWZhdWx0c18gPSBmdW5jdGlvbigpIHsKLSAgICB0
aGlzLm1heCA9IDA7Ci0gICAgdGhpcy5taW4gPSAwOwotICAgIHRoaXMuY3VycmVudCA9IDA7Ci0g
ICAgdGhpcy5zdGVwID0gMDsKLSAgfTsKLSAgUmFuZ2UucHJvdG90eXBlLmluaXRGaWVsZHNfID0g
ZnVuY3Rpb24oZmllbGRzKSB7Ci0gICAgZm9yKHZhciBmaWVsZCBpbiBmaWVsZHMpIHsKLSAgICAg
ICAgaWYgKHRoaXMuaGFzT3duUHJvcGVydHkoZmllbGQpKQotICAgICAgICAgIHRoaXNbZmllbGRd
ID0gZmllbGRzW2ZpZWxkXTsKLSAgICB9Ci0gIH07Ci0KLSAgUmFuZ2UudmFsaWRhdGUgPSBmdW5j
dGlvbihtZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsKLSAgICB2YXIgZXJyOwotICAgIGVyciA9
IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RIZWFkZXIob2Zmc2V0LCBjb2RlYy5rU3Ry
dWN0SGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJv
ci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgdmFyIGtWZXJzaW9uU2l6ZXMgPSBb
Ci0gICAgICB7dmVyc2lvbjogMCwgbnVtQnl0ZXM6IDQwfQotICAgIF07Ci0gICAgZXJyID0gbWVz
c2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFZlcnNpb24ob2Zmc2V0LCBrVmVyc2lvblNpemVz
KTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAg
ICAgIHJldHVybiBlcnI7Ci0KLQotCi0KLQotICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlv
bkVycm9yLk5PTkU7Ci0gIH07Ci0KLSAgUmFuZ2UuZW5jb2RlZFNpemUgPSBjb2RlYy5rU3RydWN0
SGVhZGVyU2l6ZSArIDMyOwotCi0gIFJhbmdlLmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsK
LSAgICB2YXIgcGFja2VkOwotICAgIHZhciB2YWwgPSBuZXcgUmFuZ2UoKTsKLSAgICB2YXIgbnVt
YmVyT2ZCeXRlcyA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhciB2ZXJzaW9uID0gZGVj
b2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFsLm1heCA9IGRlY29kZXIuZGVjb2RlU3RydWN0KGNv
ZGVjLkRvdWJsZSk7Ci0gICAgdmFsLm1pbiA9IGRlY29kZXIuZGVjb2RlU3RydWN0KGNvZGVjLkRv
dWJsZSk7Ci0gICAgdmFsLmN1cnJlbnQgPSBkZWNvZGVyLmRlY29kZVN0cnVjdChjb2RlYy5Eb3Vi
bGUpOwotICAgIHZhbC5zdGVwID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoY29kZWMuRG91YmxlKTsK
LSAgICByZXR1cm4gdmFsOwotICB9OwotCi0gIFJhbmdlLmVuY29kZSA9IGZ1bmN0aW9uKGVuY29k
ZXIsIHZhbCkgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMihSYW5n
ZS5lbmNvZGVkU2l6ZSk7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMigwKTsKLSAgICBlbmNvZGVy
LmVuY29kZVN0cnVjdChjb2RlYy5Eb3VibGUsIHZhbC5tYXgpOwotICAgIGVuY29kZXIuZW5jb2Rl
U3RydWN0KGNvZGVjLkRvdWJsZSwgdmFsLm1pbik7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3Qo
Y29kZWMuRG91YmxlLCB2YWwuY3VycmVudCk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3QoY29k
ZWMuRG91YmxlLCB2YWwuc3RlcCk7Ci0gIH07Ci0gIGZ1bmN0aW9uIFBob3RvU3RhdGUodmFsdWVz
KSB7Ci0gICAgdGhpcy5pbml0RGVmYXVsdHNfKCk7Ci0gICAgdGhpcy5pbml0RmllbGRzXyh2YWx1
ZXMpOwotICB9Ci0KLQotICBQaG90b1N0YXRlLnByb3RvdHlwZS5pbml0RGVmYXVsdHNfID0gZnVu
Y3Rpb24oKSB7Ci0gICAgdGhpcy5zdXBwb3J0ZWRXaGl0ZUJhbGFuY2VNb2RlcyA9IG51bGw7Ci0g
ICAgdGhpcy5jdXJyZW50V2hpdGVCYWxhbmNlTW9kZSA9IDA7Ci0gICAgdGhpcy5jdXJyZW50RXhw
b3N1cmVNb2RlID0gMDsKLSAgICB0aGlzLnN1cHBvcnRlZEV4cG9zdXJlTW9kZXMgPSBudWxsOwot
ICAgIHRoaXMuc3VwcG9ydGVkRm9jdXNNb2RlcyA9IG51bGw7Ci0gICAgdGhpcy5jdXJyZW50Rm9j
dXNNb2RlID0gMDsKLSAgICB0aGlzLnN1cHBvcnRzVG9yY2ggPSBmYWxzZTsKLSAgICB0aGlzLnRv
cmNoID0gZmFsc2U7Ci0gICAgdGhpcy5wb2ludHNPZkludGVyZXN0ID0gbnVsbDsKLSAgICB0aGlz
LmV4cG9zdXJlQ29tcGVuc2F0aW9uID0gbnVsbDsKLSAgICB0aGlzLmV4cG9zdXJlVGltZSA9IG51
bGw7Ci0gICAgdGhpcy5jb2xvclRlbXBlcmF0dXJlID0gbnVsbDsKLSAgICB0aGlzLmlzbyA9IG51
bGw7Ci0gICAgdGhpcy5icmlnaHRuZXNzID0gbnVsbDsKLSAgICB0aGlzLmNvbnRyYXN0ID0gbnVs
bDsKLSAgICB0aGlzLnNhdHVyYXRpb24gPSBudWxsOwotICAgIHRoaXMuc2hhcnBuZXNzID0gbnVs
bDsKLSAgICB0aGlzLmZvY3VzRGlzdGFuY2UgPSBudWxsOwotICAgIHRoaXMucGFuID0gbnVsbDsK
LSAgICB0aGlzLnRpbHQgPSBudWxsOwotICAgIHRoaXMuem9vbSA9IG51bGw7Ci0gICAgdGhpcy5y
ZWRFeWVSZWR1Y3Rpb24gPSAwOwotICAgIHRoaXMuaGVpZ2h0ID0gbnVsbDsKLSAgICB0aGlzLndp
ZHRoID0gbnVsbDsKLSAgICB0aGlzLmZpbGxMaWdodE1vZGUgPSBudWxsOwotICB9OwotICBQaG90
b1N0YXRlLnByb3RvdHlwZS5pbml0RmllbGRzXyA9IGZ1bmN0aW9uKGZpZWxkcykgewotICAgIGZv
cih2YXIgZmllbGQgaW4gZmllbGRzKSB7Ci0gICAgICAgIGlmICh0aGlzLmhhc093blByb3BlcnR5
KGZpZWxkKSkKLSAgICAgICAgICB0aGlzW2ZpZWxkXSA9IGZpZWxkc1tmaWVsZF07Ci0gICAgfQot
ICB9OwotCi0gIFBob3RvU3RhdGUudmFsaWRhdGUgPSBmdW5jdGlvbihtZXNzYWdlVmFsaWRhdG9y
LCBvZmZzZXQpIHsKLSAgICB2YXIgZXJyOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFs
aWRhdGVTdHJ1Y3RIZWFkZXIob2Zmc2V0LCBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSk7Ci0gICAg
aWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1
cm4gZXJyOwotCi0gICAgdmFyIGtWZXJzaW9uU2l6ZXMgPSBbCi0gICAgICB7dmVyc2lvbjogMCwg
bnVtQnl0ZXM6IDE4NH0KLSAgICBdOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRh
dGVTdHJ1Y3RWZXJzaW9uKG9mZnNldCwga1ZlcnNpb25TaXplcyk7Ci0gICAgaWYgKGVyciAhPT0g
dmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0K
LSAgICAvLyB2YWxpZGF0ZSBQaG90b1N0YXRlLnN1cHBvcnRlZFdoaXRlQmFsYW5jZU1vZGVzCi0g
ICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZUFycmF5UG9pbnRlcihvZmZzZXQgKyBj
b2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDAsIDQsIG5ldyBjb2RlYy5FbnVtKE1ldGVyaW5nTW9k
ZSksIGZhbHNlLCBbMF0sIDApOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9u
RXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0gICAgLy8gdmFsaWRhdGUgUGhv
dG9TdGF0ZS5jdXJyZW50V2hpdGVCYWxhbmNlTW9kZQotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0
b3IudmFsaWRhdGVFbnVtKG9mZnNldCArIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgOCwgTWV0
ZXJpbmdNb2RlKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5P
TkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotICAgIC8vIHZhbGlkYXRlIFBob3RvU3RhdGUu
c3VwcG9ydGVkRXhwb3N1cmVNb2RlcwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRh
dGVBcnJheVBvaW50ZXIob2Zmc2V0ICsgY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyAxNiwgNCwg
bmV3IGNvZGVjLkVudW0oTWV0ZXJpbmdNb2RlKSwgZmFsc2UsIFswXSwgMCk7Ci0gICAgaWYgKGVy
ciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJy
OwotCi0KLSAgICAvLyB2YWxpZGF0ZSBQaG90b1N0YXRlLmN1cnJlbnRFeHBvc3VyZU1vZGUKLSAg
ICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlRW51bShvZmZzZXQgKyBjb2RlYy5rU3Ry
dWN0SGVhZGVyU2l6ZSArIDEyLCBNZXRlcmluZ01vZGUpOwotICAgIGlmIChlcnIgIT09IHZhbGlk
YXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0gICAg
Ly8gdmFsaWRhdGUgUGhvdG9TdGF0ZS5zdXBwb3J0ZWRGb2N1c01vZGVzCi0gICAgZXJyID0gbWVz
c2FnZVZhbGlkYXRvci52YWxpZGF0ZUFycmF5UG9pbnRlcihvZmZzZXQgKyBjb2RlYy5rU3RydWN0
SGVhZGVyU2l6ZSArIDI0LCA0LCBuZXcgY29kZWMuRW51bShNZXRlcmluZ01vZGUpLCBmYWxzZSwg
WzBdLCAwKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUp
Ci0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotICAgIC8vIHZhbGlkYXRlIFBob3RvU3RhdGUuY3Vy
cmVudEZvY3VzTW9kZQotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVFbnVtKG9m
ZnNldCArIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgMzIsIE1ldGVyaW5nTW9kZSk7Ci0gICAg
aWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1
cm4gZXJyOwotCi0KLSAgICAvLyB2YWxpZGF0ZSBQaG90b1N0YXRlLnBvaW50c09mSW50ZXJlc3QK
LSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlQXJyYXlQb2ludGVyKG9mZnNldCAr
IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgNDAsIDgsIG5ldyBjb2RlYy5Qb2ludGVyVG8oUG9p
bnQyRCksIGZhbHNlLCBbMF0sIDApOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0
aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0gICAgLy8gdmFsaWRhdGUg
UGhvdG9TdGF0ZS5leHBvc3VyZUNvbXBlbnNhdGlvbgotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0
b3IudmFsaWRhdGVTdHJ1Y3RQb2ludGVyKG9mZnNldCArIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXpl
ICsgNDgsIFJhbmdlLCBmYWxzZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRp
b25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0KLSAgICAvLyB2YWxpZGF0ZSBQ
aG90b1N0YXRlLmV4cG9zdXJlVGltZQotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRh
dGVTdHJ1Y3RQb2ludGVyKG9mZnNldCArIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgNTYsIFJh
bmdlLCBmYWxzZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5O
T05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0KLSAgICAvLyB2YWxpZGF0ZSBQaG90b1N0YXRl
LmNvbG9yVGVtcGVyYXR1cmUKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3Ry
dWN0UG9pbnRlcihvZmZzZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDY0LCBSYW5nZSwg
ZmFsc2UpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkK
LSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0gICAgLy8gdmFsaWRhdGUgUGhvdG9TdGF0ZS5pc28K
LSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0UG9pbnRlcihvZmZzZXQg
KyBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDcyLCBSYW5nZSwgZmFsc2UpOwotICAgIGlmIChl
cnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVy
cjsKLQotCi0gICAgLy8gdmFsaWRhdGUgUGhvdG9TdGF0ZS5icmlnaHRuZXNzCi0gICAgZXJyID0g
bWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFBvaW50ZXIob2Zmc2V0ICsgY29kZWMua1N0
cnVjdEhlYWRlclNpemUgKyA4MCwgUmFuZ2UsIGZhbHNlKTsKLSAgICBpZiAoZXJyICE9PSB2YWxp
ZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotICAg
IC8vIHZhbGlkYXRlIFBob3RvU3RhdGUuY29udHJhc3QKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRh
dG9yLnZhbGlkYXRlU3RydWN0UG9pbnRlcihvZmZzZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVyU2l6
ZSArIDg4LCBSYW5nZSwgZmFsc2UpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0
aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0gICAgLy8gdmFsaWRhdGUg
UGhvdG9TdGF0ZS5zYXR1cmF0aW9uCi0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0
ZVN0cnVjdFBvaW50ZXIob2Zmc2V0ICsgY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyA5NiwgUmFu
Z2UsIGZhbHNlKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5P
TkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotICAgIC8vIHZhbGlkYXRlIFBob3RvU3RhdGUu
c2hhcnBuZXNzCi0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFBvaW50
ZXIob2Zmc2V0ICsgY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyAxMDQsIFJhbmdlLCBmYWxzZSk7
Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAg
ICByZXR1cm4gZXJyOwotCi0KLSAgICAvLyB2YWxpZGF0ZSBQaG90b1N0YXRlLmZvY3VzRGlzdGFu
Y2UKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0UG9pbnRlcihvZmZz
ZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDExMiwgUmFuZ2UsIGZhbHNlKTsKLSAgICBp
ZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVy
biBlcnI7Ci0KLQotICAgIC8vIHZhbGlkYXRlIFBob3RvU3RhdGUucGFuCi0gICAgZXJyID0gbWVz
c2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFBvaW50ZXIob2Zmc2V0ICsgY29kZWMua1N0cnVj
dEhlYWRlclNpemUgKyAxMjAsIFJhbmdlLCBmYWxzZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRh
dG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0KLSAgICAv
LyB2YWxpZGF0ZSBQaG90b1N0YXRlLnRpbHQKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZh
bGlkYXRlU3RydWN0UG9pbnRlcihvZmZzZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDEy
OCwgUmFuZ2UsIGZhbHNlKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVy
cm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotICAgIC8vIHZhbGlkYXRlIFBob3Rv
U3RhdGUuem9vbQotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RQb2lu
dGVyKG9mZnNldCArIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgMTM2LCBSYW5nZSwgZmFsc2Up
OwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAg
ICAgcmV0dXJuIGVycjsKLQotCi0KLQotICAgIC8vIHZhbGlkYXRlIFBob3RvU3RhdGUucmVkRXll
UmVkdWN0aW9uCi0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZUVudW0ob2Zmc2V0
ICsgY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyAxNDQsIFJlZEV5ZVJlZHVjdGlvbik7Ci0gICAg
aWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1
cm4gZXJyOwotCi0KLSAgICAvLyB2YWxpZGF0ZSBQaG90b1N0YXRlLmhlaWdodAotICAgIGVyciA9
IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RQb2ludGVyKG9mZnNldCArIGNvZGVjLmtT
dHJ1Y3RIZWFkZXJTaXplICsgMTUyLCBSYW5nZSwgZmFsc2UpOwotICAgIGlmIChlcnIgIT09IHZh
bGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0g
ICAgLy8gdmFsaWRhdGUgUGhvdG9TdGF0ZS53aWR0aAotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0
b3IudmFsaWRhdGVTdHJ1Y3RQb2ludGVyKG9mZnNldCArIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXpl
ICsgMTYwLCBSYW5nZSwgZmFsc2UpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0
aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0gICAgLy8gdmFsaWRhdGUg
UGhvdG9TdGF0ZS5maWxsTGlnaHRNb2RlCi0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxp
ZGF0ZUFycmF5UG9pbnRlcihvZmZzZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDE2OCwg
NCwgbmV3IGNvZGVjLkVudW0oRmlsbExpZ2h0TW9kZSksIGZhbHNlLCBbMF0sIDApOwotICAgIGlm
IChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJu
IGVycjsKLQotICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gIH07
Ci0KLSAgUGhvdG9TdGF0ZS5lbmNvZGVkU2l6ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsg
MTc2OwotCi0gIFBob3RvU3RhdGUuZGVjb2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHZh
ciBwYWNrZWQ7Ci0gICAgdmFyIHZhbCA9IG5ldyBQaG90b1N0YXRlKCk7Ci0gICAgdmFyIG51bWJl
ck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YXIgdmVyc2lvbiA9IGRlY29k
ZXIucmVhZFVpbnQzMigpOwotICAgIHZhbC5zdXBwb3J0ZWRXaGl0ZUJhbGFuY2VNb2RlcyA9IGRl
Y29kZXIuZGVjb2RlQXJyYXlQb2ludGVyKG5ldyBjb2RlYy5FbnVtKE1ldGVyaW5nTW9kZSkpOwot
ICAgIHZhbC5jdXJyZW50V2hpdGVCYWxhbmNlTW9kZSA9IGRlY29kZXIuZGVjb2RlU3RydWN0KGNv
ZGVjLkludDMyKTsKLSAgICB2YWwuY3VycmVudEV4cG9zdXJlTW9kZSA9IGRlY29kZXIuZGVjb2Rl
U3RydWN0KGNvZGVjLkludDMyKTsKLSAgICB2YWwuc3VwcG9ydGVkRXhwb3N1cmVNb2RlcyA9IGRl
Y29kZXIuZGVjb2RlQXJyYXlQb2ludGVyKG5ldyBjb2RlYy5FbnVtKE1ldGVyaW5nTW9kZSkpOwot
ICAgIHZhbC5zdXBwb3J0ZWRGb2N1c01vZGVzID0gZGVjb2Rlci5kZWNvZGVBcnJheVBvaW50ZXIo
bmV3IGNvZGVjLkVudW0oTWV0ZXJpbmdNb2RlKSk7Ci0gICAgdmFsLmN1cnJlbnRGb2N1c01vZGUg
PSBkZWNvZGVyLmRlY29kZVN0cnVjdChjb2RlYy5JbnQzMik7Ci0gICAgcGFja2VkID0gZGVjb2Rl
ci5yZWFkVWludDgoKTsKLSAgICB2YWwuc3VwcG9ydHNUb3JjaCA9IChwYWNrZWQgPj4gMCkgJiAx
ID8gdHJ1ZSA6IGZhbHNlOwotICAgIHZhbC50b3JjaCA9IChwYWNrZWQgPj4gMSkgJiAxID8gdHJ1
ZSA6IGZhbHNlOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0g
ICAgZGVjb2Rlci5za2lwKDEpOwotICAgIHZhbC5wb2ludHNPZkludGVyZXN0ID0gZGVjb2Rlci5k
ZWNvZGVBcnJheVBvaW50ZXIobmV3IGNvZGVjLlBvaW50ZXJUbyhQb2ludDJEKSk7Ci0gICAgdmFs
LmV4cG9zdXJlQ29tcGVuc2F0aW9uID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3RQb2ludGVyKFJhbmdl
KTsKLSAgICB2YWwuZXhwb3N1cmVUaW1lID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3RQb2ludGVyKFJh
bmdlKTsKLSAgICB2YWwuY29sb3JUZW1wZXJhdHVyZSA9IGRlY29kZXIuZGVjb2RlU3RydWN0UG9p
bnRlcihSYW5nZSk7Ci0gICAgdmFsLmlzbyA9IGRlY29kZXIuZGVjb2RlU3RydWN0UG9pbnRlcihS
YW5nZSk7Ci0gICAgdmFsLmJyaWdodG5lc3MgPSBkZWNvZGVyLmRlY29kZVN0cnVjdFBvaW50ZXIo
UmFuZ2UpOwotICAgIHZhbC5jb250cmFzdCA9IGRlY29kZXIuZGVjb2RlU3RydWN0UG9pbnRlcihS
YW5nZSk7Ci0gICAgdmFsLnNhdHVyYXRpb24gPSBkZWNvZGVyLmRlY29kZVN0cnVjdFBvaW50ZXIo
UmFuZ2UpOwotICAgIHZhbC5zaGFycG5lc3MgPSBkZWNvZGVyLmRlY29kZVN0cnVjdFBvaW50ZXIo
UmFuZ2UpOwotICAgIHZhbC5mb2N1c0Rpc3RhbmNlID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3RQb2lu
dGVyKFJhbmdlKTsKLSAgICB2YWwucGFuID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3RQb2ludGVyKFJh
bmdlKTsKLSAgICB2YWwudGlsdCA9IGRlY29kZXIuZGVjb2RlU3RydWN0UG9pbnRlcihSYW5nZSk7
Ci0gICAgdmFsLnpvb20gPSBkZWNvZGVyLmRlY29kZVN0cnVjdFBvaW50ZXIoUmFuZ2UpOwotICAg
IHZhbC5yZWRFeWVSZWR1Y3Rpb24gPSBkZWNvZGVyLmRlY29kZVN0cnVjdChjb2RlYy5JbnQzMik7
Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVy
LnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIHZhbC5oZWlnaHQgPSBkZWNvZGVy
LmRlY29kZVN0cnVjdFBvaW50ZXIoUmFuZ2UpOwotICAgIHZhbC53aWR0aCA9IGRlY29kZXIuZGVj
b2RlU3RydWN0UG9pbnRlcihSYW5nZSk7Ci0gICAgdmFsLmZpbGxMaWdodE1vZGUgPSBkZWNvZGVy
LmRlY29kZUFycmF5UG9pbnRlcihuZXcgY29kZWMuRW51bShGaWxsTGlnaHRNb2RlKSk7Ci0gICAg
cmV0dXJuIHZhbDsKLSAgfTsKLQotICBQaG90b1N0YXRlLmVuY29kZSA9IGZ1bmN0aW9uKGVuY29k
ZXIsIHZhbCkgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMihQaG90
b1N0YXRlLmVuY29kZWRTaXplKTsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKDApOwotICAgIGVu
Y29kZXIuZW5jb2RlQXJyYXlQb2ludGVyKG5ldyBjb2RlYy5FbnVtKE1ldGVyaW5nTW9kZSksIHZh
bC5zdXBwb3J0ZWRXaGl0ZUJhbGFuY2VNb2Rlcyk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3Qo
Y29kZWMuSW50MzIsIHZhbC5jdXJyZW50V2hpdGVCYWxhbmNlTW9kZSk7Ci0gICAgZW5jb2Rlci5l
bmNvZGVTdHJ1Y3QoY29kZWMuSW50MzIsIHZhbC5jdXJyZW50RXhwb3N1cmVNb2RlKTsKLSAgICBl
bmNvZGVyLmVuY29kZUFycmF5UG9pbnRlcihuZXcgY29kZWMuRW51bShNZXRlcmluZ01vZGUpLCB2
YWwuc3VwcG9ydGVkRXhwb3N1cmVNb2Rlcyk7Ci0gICAgZW5jb2Rlci5lbmNvZGVBcnJheVBvaW50
ZXIobmV3IGNvZGVjLkVudW0oTWV0ZXJpbmdNb2RlKSwgdmFsLnN1cHBvcnRlZEZvY3VzTW9kZXMp
OwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNvZGVjLkludDMyLCB2YWwuY3VycmVudEZvY3Vz
TW9kZSk7Ci0gICAgcGFja2VkID0gMDsKLSAgICBwYWNrZWQgfD0gKHZhbC5zdXBwb3J0c1RvcmNo
ICYgMSkgPDwgMAotICAgIHBhY2tlZCB8PSAodmFsLnRvcmNoICYgMSkgPDwgMQotICAgIGVuY29k
ZXIud3JpdGVVaW50OChwYWNrZWQpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVy
LnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuZW5jb2RlQXJyYXlQ
b2ludGVyKG5ldyBjb2RlYy5Qb2ludGVyVG8oUG9pbnQyRCksIHZhbC5wb2ludHNPZkludGVyZXN0
KTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdFBvaW50ZXIoUmFuZ2UsIHZhbC5leHBvc3VyZUNv
bXBlbnNhdGlvbik7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3RQb2ludGVyKFJhbmdlLCB2YWwu
ZXhwb3N1cmVUaW1lKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdFBvaW50ZXIoUmFuZ2UsIHZh
bC5jb2xvclRlbXBlcmF0dXJlKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdFBvaW50ZXIoUmFu
Z2UsIHZhbC5pc28pOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0UG9pbnRlcihSYW5nZSwgdmFs
LmJyaWdodG5lc3MpOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0UG9pbnRlcihSYW5nZSwgdmFs
LmNvbnRyYXN0KTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdFBvaW50ZXIoUmFuZ2UsIHZhbC5z
YXR1cmF0aW9uKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdFBvaW50ZXIoUmFuZ2UsIHZhbC5z
aGFycG5lc3MpOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0UG9pbnRlcihSYW5nZSwgdmFsLmZv
Y3VzRGlzdGFuY2UpOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0UG9pbnRlcihSYW5nZSwgdmFs
LnBhbik7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3RQb2ludGVyKFJhbmdlLCB2YWwudGlsdCk7
Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3RQb2ludGVyKFJhbmdlLCB2YWwuem9vbSk7Ci0gICAg
ZW5jb2Rlci5lbmNvZGVTdHJ1Y3QoY29kZWMuSW50MzIsIHZhbC5yZWRFeWVSZWR1Y3Rpb24pOwot
ICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5z
a2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdFBv
aW50ZXIoUmFuZ2UsIHZhbC5oZWlnaHQpOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0UG9pbnRl
cihSYW5nZSwgdmFsLndpZHRoKTsKLSAgICBlbmNvZGVyLmVuY29kZUFycmF5UG9pbnRlcihuZXcg
Y29kZWMuRW51bShGaWxsTGlnaHRNb2RlKSwgdmFsLmZpbGxMaWdodE1vZGUpOwotICB9OwotICBm
dW5jdGlvbiBQb2ludDJEKHZhbHVlcykgewotICAgIHRoaXMuaW5pdERlZmF1bHRzXygpOwotICAg
IHRoaXMuaW5pdEZpZWxkc18odmFsdWVzKTsKLSAgfQotCi0KLSAgUG9pbnQyRC5wcm90b3R5cGUu
aW5pdERlZmF1bHRzXyA9IGZ1bmN0aW9uKCkgewotICAgIHRoaXMueCA9IDA7Ci0gICAgdGhpcy55
ID0gMDsKLSAgfTsKLSAgUG9pbnQyRC5wcm90b3R5cGUuaW5pdEZpZWxkc18gPSBmdW5jdGlvbihm
aWVsZHMpIHsKLSAgICBmb3IodmFyIGZpZWxkIGluIGZpZWxkcykgewotICAgICAgICBpZiAodGhp
cy5oYXNPd25Qcm9wZXJ0eShmaWVsZCkpCi0gICAgICAgICAgdGhpc1tmaWVsZF0gPSBmaWVsZHNb
ZmllbGRdOwotICAgIH0KLSAgfTsKLQotICBQb2ludDJELnZhbGlkYXRlID0gZnVuY3Rpb24obWVz
c2FnZVZhbGlkYXRvciwgb2Zmc2V0KSB7Ci0gICAgdmFyIGVycjsKLSAgICBlcnIgPSBtZXNzYWdl
VmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0SGVhZGVyKG9mZnNldCwgY29kZWMua1N0cnVjdEhlYWRl
clNpemUpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkK
LSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHZhciBrVmVyc2lvblNpemVzID0gWwotICAgICAg
e3ZlcnNpb246IDAsIG51bUJ5dGVzOiAyNH0KLSAgICBdOwotICAgIGVyciA9IG1lc3NhZ2VWYWxp
ZGF0b3IudmFsaWRhdGVTdHJ1Y3RWZXJzaW9uKG9mZnNldCwga1ZlcnNpb25TaXplcyk7Ci0gICAg
aWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1
cm4gZXJyOwotCi0KLQotICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7
Ci0gIH07Ci0KLSAgUG9pbnQyRC5lbmNvZGVkU2l6ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXpl
ICsgMTY7Ci0KLSAgUG9pbnQyRC5kZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgdmFy
IHBhY2tlZDsKLSAgICB2YXIgdmFsID0gbmV3IFBvaW50MkQoKTsKLSAgICB2YXIgbnVtYmVyT2ZC
eXRlcyA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhciB2ZXJzaW9uID0gZGVjb2Rlci5y
ZWFkVWludDMyKCk7Ci0gICAgdmFsLnggPSBkZWNvZGVyLmRlY29kZVN0cnVjdChjb2RlYy5Eb3Vi
bGUpOwotICAgIHZhbC55ID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoY29kZWMuRG91YmxlKTsKLSAg
ICByZXR1cm4gdmFsOwotICB9OwotCi0gIFBvaW50MkQuZW5jb2RlID0gZnVuY3Rpb24oZW5jb2Rl
ciwgdmFsKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKFBvaW50
MkQuZW5jb2RlZFNpemUpOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoMCk7Ci0gICAgZW5jb2Rl
ci5lbmNvZGVTdHJ1Y3QoY29kZWMuRG91YmxlLCB2YWwueCk7Ci0gICAgZW5jb2Rlci5lbmNvZGVT
dHJ1Y3QoY29kZWMuRG91YmxlLCB2YWwueSk7Ci0gIH07Ci0gIGZ1bmN0aW9uIFBob3RvU2V0dGlu
Z3ModmFsdWVzKSB7Ci0gICAgdGhpcy5pbml0RGVmYXVsdHNfKCk7Ci0gICAgdGhpcy5pbml0Rmll
bGRzXyh2YWx1ZXMpOwotICB9Ci0KLQotICBQaG90b1NldHRpbmdzLnByb3RvdHlwZS5pbml0RGVm
YXVsdHNfID0gZnVuY3Rpb24oKSB7Ci0gICAgdGhpcy5oYXNXaGl0ZUJhbGFuY2VNb2RlID0gZmFs
c2U7Ci0gICAgdGhpcy5oYXNFeHBvc3VyZU1vZGUgPSBmYWxzZTsKLSAgICB0aGlzLmhhc0ZvY3Vz
TW9kZSA9IGZhbHNlOwotICAgIHRoaXMuaGFzRXhwb3N1cmVDb21wZW5zYXRpb24gPSBmYWxzZTsK
LSAgICB0aGlzLmhhc0V4cG9zdXJlVGltZSA9IGZhbHNlOwotICAgIHRoaXMuaGFzQ29sb3JUZW1w
ZXJhdHVyZSA9IGZhbHNlOwotICAgIHRoaXMuaGFzSXNvID0gZmFsc2U7Ci0gICAgdGhpcy5oYXNC
cmlnaHRuZXNzID0gZmFsc2U7Ci0gICAgdGhpcy5oYXNDb250cmFzdCA9IGZhbHNlOwotICAgIHRo
aXMuaGFzU2F0dXJhdGlvbiA9IGZhbHNlOwotICAgIHRoaXMuaGFzU2hhcnBuZXNzID0gZmFsc2U7
Ci0gICAgdGhpcy5oYXNGb2N1c0Rpc3RhbmNlID0gZmFsc2U7Ci0gICAgdGhpcy5oYXNQYW4gPSBm
YWxzZTsKLSAgICB0aGlzLmhhc1RpbHQgPSBmYWxzZTsKLSAgICB0aGlzLmhhc1pvb20gPSBmYWxz
ZTsKLSAgICB0aGlzLmhhc1RvcmNoID0gZmFsc2U7Ci0gICAgdGhpcy50b3JjaCA9IGZhbHNlOwot
ICAgIHRoaXMuaGFzRmlsbExpZ2h0TW9kZSA9IGZhbHNlOwotICAgIHRoaXMuaGFzV2lkdGggPSBm
YWxzZTsKLSAgICB0aGlzLmhhc0hlaWdodCA9IGZhbHNlOwotICAgIHRoaXMuaGFzUmVkRXllUmVk
dWN0aW9uID0gZmFsc2U7Ci0gICAgdGhpcy5yZWRFeWVSZWR1Y3Rpb24gPSBmYWxzZTsKLSAgICB0
aGlzLndoaXRlQmFsYW5jZU1vZGUgPSAwOwotICAgIHRoaXMuZXhwb3N1cmVNb2RlID0gMDsKLSAg
ICB0aGlzLmZvY3VzTW9kZSA9IDA7Ci0gICAgdGhpcy5wb2ludHNPZkludGVyZXN0ID0gbnVsbDsK
LSAgICB0aGlzLmV4cG9zdXJlQ29tcGVuc2F0aW9uID0gMDsKLSAgICB0aGlzLmV4cG9zdXJlVGlt
ZSA9IDA7Ci0gICAgdGhpcy5jb2xvclRlbXBlcmF0dXJlID0gMDsKLSAgICB0aGlzLmlzbyA9IDA7
Ci0gICAgdGhpcy5icmlnaHRuZXNzID0gMDsKLSAgICB0aGlzLmNvbnRyYXN0ID0gMDsKLSAgICB0
aGlzLnNhdHVyYXRpb24gPSAwOwotICAgIHRoaXMuc2hhcnBuZXNzID0gMDsKLSAgICB0aGlzLmZv
Y3VzRGlzdGFuY2UgPSAwOwotICAgIHRoaXMucGFuID0gMDsKLSAgICB0aGlzLnRpbHQgPSAwOwot
ICAgIHRoaXMuem9vbSA9IDA7Ci0gICAgdGhpcy5maWxsTGlnaHRNb2RlID0gMDsKLSAgICB0aGlz
LndpZHRoID0gMDsKLSAgICB0aGlzLmhlaWdodCA9IDA7Ci0gIH07Ci0gIFBob3RvU2V0dGluZ3Mu
cHJvdG90eXBlLmluaXRGaWVsZHNfID0gZnVuY3Rpb24oZmllbGRzKSB7Ci0gICAgZm9yKHZhciBm
aWVsZCBpbiBmaWVsZHMpIHsKLSAgICAgICAgaWYgKHRoaXMuaGFzT3duUHJvcGVydHkoZmllbGQp
KQotICAgICAgICAgIHRoaXNbZmllbGRdID0gZmllbGRzW2ZpZWxkXTsKLSAgICB9Ci0gIH07Ci0K
LSAgUGhvdG9TZXR0aW5ncy52YWxpZGF0ZSA9IGZ1bmN0aW9uKG1lc3NhZ2VWYWxpZGF0b3IsIG9m
ZnNldCkgewotICAgIHZhciBlcnI7Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0
ZVN0cnVjdEhlYWRlcihvZmZzZXQsIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplKTsKLSAgICBpZiAo
ZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBl
cnI7Ci0KLSAgICB2YXIga1ZlcnNpb25TaXplcyA9IFsKLSAgICAgIHt2ZXJzaW9uOiAwLCBudW1C
eXRlczogMTUyfQotICAgIF07Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0
cnVjdFZlcnNpb24ob2Zmc2V0LCBrVmVyc2lvblNpemVzKTsKLSAgICBpZiAoZXJyICE9PSB2YWxp
ZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotCi0g
ICAgLy8gdmFsaWRhdGUgUGhvdG9TZXR0aW5ncy53aGl0ZUJhbGFuY2VNb2RlCi0gICAgZXJyID0g
bWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZUVudW0ob2Zmc2V0ICsgY29kZWMua1N0cnVjdEhlYWRl
clNpemUgKyA0LCBNZXRlcmluZ01vZGUpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxp
ZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0KLSAgICAvLyB2YWxp
ZGF0ZSBQaG90b1NldHRpbmdzLmV4cG9zdXJlTW9kZQotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0
b3IudmFsaWRhdGVFbnVtKG9mZnNldCArIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgOCwgTWV0
ZXJpbmdNb2RlKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5P
TkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotCi0gICAgLy8gdmFsaWRhdGUgUGhvdG9TZXR0
aW5ncy5mb2N1c01vZGUKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlRW51bShv
ZmZzZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDEyLCBNZXRlcmluZ01vZGUpOwotICAg
IGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0
dXJuIGVycjsKLQotCi0gICAgLy8gdmFsaWRhdGUgUGhvdG9TZXR0aW5ncy5wb2ludHNPZkludGVy
ZXN0Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZUFycmF5UG9pbnRlcihvZmZz
ZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDE2LCA4LCBuZXcgY29kZWMuUG9pbnRlclRv
KFBvaW50MkQpLCBmYWxzZSwgWzBdLCAwKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFs
aWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotCi0KLQotCi0KLQot
Ci0KLQotCi0KLQotCi0KLQotCi0KLQotCi0KLQotCi0KLQotCi0KLQotICAgIC8vIHZhbGlkYXRl
IFBob3RvU2V0dGluZ3MuZmlsbExpZ2h0TW9kZQotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3Iu
dmFsaWRhdGVFbnVtKG9mZnNldCArIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgMTIwLCBGaWxs
TGlnaHRNb2RlKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5P
TkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotCi0KLQotCi0KLSAgICByZXR1cm4gdmFsaWRh
dG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIFBob3RvU2V0dGluZ3MuZW5jb2Rl
ZFNpemUgPSBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDE0NDsKLQotICBQaG90b1NldHRpbmdz
LmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIHZhciB2
YWwgPSBuZXcgUGhvdG9TZXR0aW5ncygpOwotICAgIHZhciBudW1iZXJPZkJ5dGVzID0gZGVjb2Rl
ci5yZWFkVWludDMyKCk7Ci0gICAgdmFyIHZlcnNpb24gPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsK
LSAgICBwYWNrZWQgPSBkZWNvZGVyLnJlYWRVaW50OCgpOwotICAgIHZhbC5oYXNXaGl0ZUJhbGFu
Y2VNb2RlID0gKHBhY2tlZCA+PiAwKSAmIDEgPyB0cnVlIDogZmFsc2U7Ci0gICAgdmFsLmhhc0V4
cG9zdXJlTW9kZSA9IChwYWNrZWQgPj4gMSkgJiAxID8gdHJ1ZSA6IGZhbHNlOwotICAgIHZhbC5o
YXNGb2N1c01vZGUgPSAocGFja2VkID4+IDIpICYgMSA/IHRydWUgOiBmYWxzZTsKLSAgICB2YWwu
aGFzRXhwb3N1cmVDb21wZW5zYXRpb24gPSAocGFja2VkID4+IDMpICYgMSA/IHRydWUgOiBmYWxz
ZTsKLSAgICB2YWwuaGFzRXhwb3N1cmVUaW1lID0gKHBhY2tlZCA+PiA0KSAmIDEgPyB0cnVlIDog
ZmFsc2U7Ci0gICAgdmFsLmhhc0NvbG9yVGVtcGVyYXR1cmUgPSAocGFja2VkID4+IDUpICYgMSA/
IHRydWUgOiBmYWxzZTsKLSAgICB2YWwuaGFzSXNvID0gKHBhY2tlZCA+PiA2KSAmIDEgPyB0cnVl
IDogZmFsc2U7Ci0gICAgdmFsLmhhc0JyaWdodG5lc3MgPSAocGFja2VkID4+IDcpICYgMSA/IHRy
dWUgOiBmYWxzZTsKLSAgICBwYWNrZWQgPSBkZWNvZGVyLnJlYWRVaW50OCgpOwotICAgIHZhbC5o
YXNDb250cmFzdCA9IChwYWNrZWQgPj4gMCkgJiAxID8gdHJ1ZSA6IGZhbHNlOwotICAgIHZhbC5o
YXNTYXR1cmF0aW9uID0gKHBhY2tlZCA+PiAxKSAmIDEgPyB0cnVlIDogZmFsc2U7Ci0gICAgdmFs
Lmhhc1NoYXJwbmVzcyA9IChwYWNrZWQgPj4gMikgJiAxID8gdHJ1ZSA6IGZhbHNlOwotICAgIHZh
bC5oYXNGb2N1c0Rpc3RhbmNlID0gKHBhY2tlZCA+PiAzKSAmIDEgPyB0cnVlIDogZmFsc2U7Ci0g
ICAgdmFsLmhhc1BhbiA9IChwYWNrZWQgPj4gNCkgJiAxID8gdHJ1ZSA6IGZhbHNlOwotICAgIHZh
bC5oYXNUaWx0ID0gKHBhY2tlZCA+PiA1KSAmIDEgPyB0cnVlIDogZmFsc2U7Ci0gICAgdmFsLmhh
c1pvb20gPSAocGFja2VkID4+IDYpICYgMSA/IHRydWUgOiBmYWxzZTsKLSAgICB2YWwuaGFzVG9y
Y2ggPSAocGFja2VkID4+IDcpICYgMSA/IHRydWUgOiBmYWxzZTsKLSAgICBwYWNrZWQgPSBkZWNv
ZGVyLnJlYWRVaW50OCgpOwotICAgIHZhbC50b3JjaCA9IChwYWNrZWQgPj4gMCkgJiAxID8gdHJ1
ZSA6IGZhbHNlOwotICAgIHZhbC5oYXNGaWxsTGlnaHRNb2RlID0gKHBhY2tlZCA+PiAxKSAmIDEg
PyB0cnVlIDogZmFsc2U7Ci0gICAgdmFsLmhhc1dpZHRoID0gKHBhY2tlZCA+PiAyKSAmIDEgPyB0
cnVlIDogZmFsc2U7Ci0gICAgdmFsLmhhc0hlaWdodCA9IChwYWNrZWQgPj4gMykgJiAxID8gdHJ1
ZSA6IGZhbHNlOwotICAgIHZhbC5oYXNSZWRFeWVSZWR1Y3Rpb24gPSAocGFja2VkID4+IDQpICYg
MSA/IHRydWUgOiBmYWxzZTsKLSAgICB2YWwucmVkRXllUmVkdWN0aW9uID0gKHBhY2tlZCA+PiA1
KSAmIDEgPyB0cnVlIDogZmFsc2U7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIHZhbC53aGl0
ZUJhbGFuY2VNb2RlID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoY29kZWMuSW50MzIpOwotICAgIHZh
bC5leHBvc3VyZU1vZGUgPSBkZWNvZGVyLmRlY29kZVN0cnVjdChjb2RlYy5JbnQzMik7Ci0gICAg
dmFsLmZvY3VzTW9kZSA9IGRlY29kZXIuZGVjb2RlU3RydWN0KGNvZGVjLkludDMyKTsKLSAgICB2
YWwucG9pbnRzT2ZJbnRlcmVzdCA9IGRlY29kZXIuZGVjb2RlQXJyYXlQb2ludGVyKG5ldyBjb2Rl
Yy5Qb2ludGVyVG8oUG9pbnQyRCkpOwotICAgIHZhbC5leHBvc3VyZUNvbXBlbnNhdGlvbiA9IGRl
Y29kZXIuZGVjb2RlU3RydWN0KGNvZGVjLkRvdWJsZSk7Ci0gICAgdmFsLmV4cG9zdXJlVGltZSA9
IGRlY29kZXIuZGVjb2RlU3RydWN0KGNvZGVjLkRvdWJsZSk7Ci0gICAgdmFsLmNvbG9yVGVtcGVy
YXR1cmUgPSBkZWNvZGVyLmRlY29kZVN0cnVjdChjb2RlYy5Eb3VibGUpOwotICAgIHZhbC5pc28g
PSBkZWNvZGVyLmRlY29kZVN0cnVjdChjb2RlYy5Eb3VibGUpOwotICAgIHZhbC5icmlnaHRuZXNz
ID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoY29kZWMuRG91YmxlKTsKLSAgICB2YWwuY29udHJhc3Qg
PSBkZWNvZGVyLmRlY29kZVN0cnVjdChjb2RlYy5Eb3VibGUpOwotICAgIHZhbC5zYXR1cmF0aW9u
ID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoY29kZWMuRG91YmxlKTsKLSAgICB2YWwuc2hhcnBuZXNz
ID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoY29kZWMuRG91YmxlKTsKLSAgICB2YWwuZm9jdXNEaXN0
YW5jZSA9IGRlY29kZXIuZGVjb2RlU3RydWN0KGNvZGVjLkRvdWJsZSk7Ci0gICAgdmFsLnBhbiA9
IGRlY29kZXIuZGVjb2RlU3RydWN0KGNvZGVjLkRvdWJsZSk7Ci0gICAgdmFsLnRpbHQgPSBkZWNv
ZGVyLmRlY29kZVN0cnVjdChjb2RlYy5Eb3VibGUpOwotICAgIHZhbC56b29tID0gZGVjb2Rlci5k
ZWNvZGVTdHJ1Y3QoY29kZWMuRG91YmxlKTsKLSAgICB2YWwuZmlsbExpZ2h0TW9kZSA9IGRlY29k
ZXIuZGVjb2RlU3RydWN0KGNvZGVjLkludDMyKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAg
ZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAo
MSk7Ci0gICAgdmFsLndpZHRoID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoY29kZWMuRG91YmxlKTsK
LSAgICB2YWwuaGVpZ2h0ID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoY29kZWMuRG91YmxlKTsKLSAg
ICByZXR1cm4gdmFsOwotICB9OwotCi0gIFBob3RvU2V0dGluZ3MuZW5jb2RlID0gZnVuY3Rpb24o
ZW5jb2RlciwgdmFsKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICBlbmNvZGVyLndyaXRlVWludDMy
KFBob3RvU2V0dGluZ3MuZW5jb2RlZFNpemUpOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoMCk7
Ci0gICAgcGFja2VkID0gMDsKLSAgICBwYWNrZWQgfD0gKHZhbC5oYXNXaGl0ZUJhbGFuY2VNb2Rl
ICYgMSkgPDwgMAotICAgIHBhY2tlZCB8PSAodmFsLmhhc0V4cG9zdXJlTW9kZSAmIDEpIDw8IDEK
LSAgICBwYWNrZWQgfD0gKHZhbC5oYXNGb2N1c01vZGUgJiAxKSA8PCAyCi0gICAgcGFja2VkIHw9
ICh2YWwuaGFzRXhwb3N1cmVDb21wZW5zYXRpb24gJiAxKSA8PCAzCi0gICAgcGFja2VkIHw9ICh2
YWwuaGFzRXhwb3N1cmVUaW1lICYgMSkgPDwgNAotICAgIHBhY2tlZCB8PSAodmFsLmhhc0NvbG9y
VGVtcGVyYXR1cmUgJiAxKSA8PCA1Ci0gICAgcGFja2VkIHw9ICh2YWwuaGFzSXNvICYgMSkgPDwg
NgotICAgIHBhY2tlZCB8PSAodmFsLmhhc0JyaWdodG5lc3MgJiAxKSA8PCA3Ci0gICAgZW5jb2Rl
ci53cml0ZVVpbnQ4KHBhY2tlZCk7Ci0gICAgcGFja2VkID0gMDsKLSAgICBwYWNrZWQgfD0gKHZh
bC5oYXNDb250cmFzdCAmIDEpIDw8IDAKLSAgICBwYWNrZWQgfD0gKHZhbC5oYXNTYXR1cmF0aW9u
ICYgMSkgPDwgMQotICAgIHBhY2tlZCB8PSAodmFsLmhhc1NoYXJwbmVzcyAmIDEpIDw8IDIKLSAg
ICBwYWNrZWQgfD0gKHZhbC5oYXNGb2N1c0Rpc3RhbmNlICYgMSkgPDwgMwotICAgIHBhY2tlZCB8
PSAodmFsLmhhc1BhbiAmIDEpIDw8IDQKLSAgICBwYWNrZWQgfD0gKHZhbC5oYXNUaWx0ICYgMSkg
PDwgNQotICAgIHBhY2tlZCB8PSAodmFsLmhhc1pvb20gJiAxKSA8PCA2Ci0gICAgcGFja2VkIHw9
ICh2YWwuaGFzVG9yY2ggJiAxKSA8PCA3Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQ4KHBhY2tlZCk7
Ci0gICAgcGFja2VkID0gMDsKLSAgICBwYWNrZWQgfD0gKHZhbC50b3JjaCAmIDEpIDw8IDAKLSAg
ICBwYWNrZWQgfD0gKHZhbC5oYXNGaWxsTGlnaHRNb2RlICYgMSkgPDwgMQotICAgIHBhY2tlZCB8
PSAodmFsLmhhc1dpZHRoICYgMSkgPDwgMgotICAgIHBhY2tlZCB8PSAodmFsLmhhc0hlaWdodCAm
IDEpIDw8IDMKLSAgICBwYWNrZWQgfD0gKHZhbC5oYXNSZWRFeWVSZWR1Y3Rpb24gJiAxKSA8PCA0
Ci0gICAgcGFja2VkIHw9ICh2YWwucmVkRXllUmVkdWN0aW9uICYgMSkgPDwgNQotICAgIGVuY29k
ZXIud3JpdGVVaW50OChwYWNrZWQpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVy
LmVuY29kZVN0cnVjdChjb2RlYy5JbnQzMiwgdmFsLndoaXRlQmFsYW5jZU1vZGUpOwotICAgIGVu
Y29kZXIuZW5jb2RlU3RydWN0KGNvZGVjLkludDMyLCB2YWwuZXhwb3N1cmVNb2RlKTsKLSAgICBl
bmNvZGVyLmVuY29kZVN0cnVjdChjb2RlYy5JbnQzMiwgdmFsLmZvY3VzTW9kZSk7Ci0gICAgZW5j
b2Rlci5lbmNvZGVBcnJheVBvaW50ZXIobmV3IGNvZGVjLlBvaW50ZXJUbyhQb2ludDJEKSwgdmFs
LnBvaW50c09mSW50ZXJlc3QpOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNvZGVjLkRvdWJs
ZSwgdmFsLmV4cG9zdXJlQ29tcGVuc2F0aW9uKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdChj
b2RlYy5Eb3VibGUsIHZhbC5leHBvc3VyZVRpbWUpOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0
KGNvZGVjLkRvdWJsZSwgdmFsLmNvbG9yVGVtcGVyYXR1cmUpOwotICAgIGVuY29kZXIuZW5jb2Rl
U3RydWN0KGNvZGVjLkRvdWJsZSwgdmFsLmlzbyk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3Qo
Y29kZWMuRG91YmxlLCB2YWwuYnJpZ2h0bmVzcyk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3Qo
Y29kZWMuRG91YmxlLCB2YWwuY29udHJhc3QpOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNv
ZGVjLkRvdWJsZSwgdmFsLnNhdHVyYXRpb24pOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNv
ZGVjLkRvdWJsZSwgdmFsLnNoYXJwbmVzcyk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3QoY29k
ZWMuRG91YmxlLCB2YWwuZm9jdXNEaXN0YW5jZSk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3Qo
Y29kZWMuRG91YmxlLCB2YWwucGFuKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdChjb2RlYy5E
b3VibGUsIHZhbC50aWx0KTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdChjb2RlYy5Eb3VibGUs
IHZhbC56b29tKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdChjb2RlYy5JbnQzMiwgdmFsLmZp
bGxMaWdodE1vZGUpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7
Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVy
LmVuY29kZVN0cnVjdChjb2RlYy5Eb3VibGUsIHZhbC53aWR0aCk7Ci0gICAgZW5jb2Rlci5lbmNv
ZGVTdHJ1Y3QoY29kZWMuRG91YmxlLCB2YWwuaGVpZ2h0KTsKLSAgfTsKLSAgZnVuY3Rpb24gQmxv
Yih2YWx1ZXMpIHsKLSAgICB0aGlzLmluaXREZWZhdWx0c18oKTsKLSAgICB0aGlzLmluaXRGaWVs
ZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0gIEJsb2IucHJvdG90eXBlLmluaXREZWZhdWx0c18gPSBm
dW5jdGlvbigpIHsKLSAgICB0aGlzLm1pbWVUeXBlID0gbnVsbDsKLSAgICB0aGlzLmRhdGEgPSBu
dWxsOwotICB9OwotICBCbG9iLnByb3RvdHlwZS5pbml0RmllbGRzXyA9IGZ1bmN0aW9uKGZpZWxk
cykgewotICAgIGZvcih2YXIgZmllbGQgaW4gZmllbGRzKSB7Ci0gICAgICAgIGlmICh0aGlzLmhh
c093blByb3BlcnR5KGZpZWxkKSkKLSAgICAgICAgICB0aGlzW2ZpZWxkXSA9IGZpZWxkc1tmaWVs
ZF07Ci0gICAgfQotICB9OwotCi0gIEJsb2IudmFsaWRhdGUgPSBmdW5jdGlvbihtZXNzYWdlVmFs
aWRhdG9yLCBvZmZzZXQpIHsKLSAgICB2YXIgZXJyOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0
b3IudmFsaWRhdGVTdHJ1Y3RIZWFkZXIob2Zmc2V0LCBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSk7
Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAg
ICByZXR1cm4gZXJyOwotCi0gICAgdmFyIGtWZXJzaW9uU2l6ZXMgPSBbCi0gICAgICB7dmVyc2lv
bjogMCwgbnVtQnl0ZXM6IDI0fQotICAgIF07Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52
YWxpZGF0ZVN0cnVjdFZlcnNpb24ob2Zmc2V0LCBrVmVyc2lvblNpemVzKTsKLSAgICBpZiAoZXJy
ICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7
Ci0KLQotICAgIC8vIHZhbGlkYXRlIEJsb2IubWltZVR5cGUKLSAgICBlcnIgPSBtZXNzYWdlVmFs
aWRhdG9yLnZhbGlkYXRlU3RyaW5nUG9pbnRlcihvZmZzZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVy
U2l6ZSArIDAsIGZhbHNlKQotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJy
b3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0gICAgLy8gdmFsaWRhdGUgQmxvYi5k
YXRhCi0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZUFycmF5UG9pbnRlcihvZmZz
ZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDgsIDEsIGNvZGVjLlVpbnQ4LCBmYWxzZSwg
WzBdLCAwKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUp
Ci0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25F
cnJvci5OT05FOwotICB9OwotCi0gIEJsb2IuZW5jb2RlZFNpemUgPSBjb2RlYy5rU3RydWN0SGVh
ZGVyU2l6ZSArIDE2OwotCi0gIEJsb2IuZGVjb2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAg
IHZhciBwYWNrZWQ7Ci0gICAgdmFyIHZhbCA9IG5ldyBCbG9iKCk7Ci0gICAgdmFyIG51bWJlck9m
Qnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YXIgdmVyc2lvbiA9IGRlY29kZXIu
cmVhZFVpbnQzMigpOwotICAgIHZhbC5taW1lVHlwZSA9IGRlY29kZXIuZGVjb2RlU3RydWN0KGNv
ZGVjLlN0cmluZyk7Ci0gICAgdmFsLmRhdGEgPSBkZWNvZGVyLmRlY29kZUFycmF5UG9pbnRlcihj
b2RlYy5VaW50OCk7Ci0gICAgcmV0dXJuIHZhbDsKLSAgfTsKLQotICBCbG9iLmVuY29kZSA9IGZ1
bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgZW5jb2Rlci53cml0
ZVVpbnQzMihCbG9iLmVuY29kZWRTaXplKTsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKDApOwot
ICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNvZGVjLlN0cmluZywgdmFsLm1pbWVUeXBlKTsKLSAg
ICBlbmNvZGVyLmVuY29kZUFycmF5UG9pbnRlcihjb2RlYy5VaW50OCwgdmFsLmRhdGEpOwotICB9
OwotICBmdW5jdGlvbiBJbWFnZUNhcHR1cmVfR2V0UGhvdG9TdGF0ZV9QYXJhbXModmFsdWVzKSB7
Ci0gICAgdGhpcy5pbml0RGVmYXVsdHNfKCk7Ci0gICAgdGhpcy5pbml0RmllbGRzXyh2YWx1ZXMp
OwotICB9Ci0KLQotICBJbWFnZUNhcHR1cmVfR2V0UGhvdG9TdGF0ZV9QYXJhbXMucHJvdG90eXBl
LmluaXREZWZhdWx0c18gPSBmdW5jdGlvbigpIHsKLSAgICB0aGlzLnNvdXJjZUlkID0gbnVsbDsK
LSAgfTsKLSAgSW1hZ2VDYXB0dXJlX0dldFBob3RvU3RhdGVfUGFyYW1zLnByb3RvdHlwZS5pbml0
RmllbGRzXyA9IGZ1bmN0aW9uKGZpZWxkcykgewotICAgIGZvcih2YXIgZmllbGQgaW4gZmllbGRz
KSB7Ci0gICAgICAgIGlmICh0aGlzLmhhc093blByb3BlcnR5KGZpZWxkKSkKLSAgICAgICAgICB0
aGlzW2ZpZWxkXSA9IGZpZWxkc1tmaWVsZF07Ci0gICAgfQotICB9OwotCi0gIEltYWdlQ2FwdHVy
ZV9HZXRQaG90b1N0YXRlX1BhcmFtcy52YWxpZGF0ZSA9IGZ1bmN0aW9uKG1lc3NhZ2VWYWxpZGF0
b3IsIG9mZnNldCkgewotICAgIHZhciBlcnI7Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52
YWxpZGF0ZVN0cnVjdEhlYWRlcihvZmZzZXQsIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplKTsKLSAg
ICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJl
dHVybiBlcnI7Ci0KLSAgICB2YXIga1ZlcnNpb25TaXplcyA9IFsKLSAgICAgIHt2ZXJzaW9uOiAw
LCBudW1CeXRlczogMTZ9Ci0gICAgXTsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlk
YXRlU3RydWN0VmVyc2lvbihvZmZzZXQsIGtWZXJzaW9uU2l6ZXMpOwotICAgIGlmIChlcnIgIT09
IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQot
Ci0gICAgLy8gdmFsaWRhdGUgSW1hZ2VDYXB0dXJlX0dldFBob3RvU3RhdGVfUGFyYW1zLnNvdXJj
ZUlkCi0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cmluZ1BvaW50ZXIob2Zm
c2V0ICsgY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyAwLCBmYWxzZSkKLSAgICBpZiAoZXJyICE9
PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0K
LSAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIElt
YWdlQ2FwdHVyZV9HZXRQaG90b1N0YXRlX1BhcmFtcy5lbmNvZGVkU2l6ZSA9IGNvZGVjLmtTdHJ1
Y3RIZWFkZXJTaXplICsgODsKLQotICBJbWFnZUNhcHR1cmVfR2V0UGhvdG9TdGF0ZV9QYXJhbXMu
ZGVjb2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgdmFyIHZh
bCA9IG5ldyBJbWFnZUNhcHR1cmVfR2V0UGhvdG9TdGF0ZV9QYXJhbXMoKTsKLSAgICB2YXIgbnVt
YmVyT2ZCeXRlcyA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhciB2ZXJzaW9uID0gZGVj
b2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFsLnNvdXJjZUlkID0gZGVjb2Rlci5kZWNvZGVTdHJ1
Y3QoY29kZWMuU3RyaW5nKTsKLSAgICByZXR1cm4gdmFsOwotICB9OwotCi0gIEltYWdlQ2FwdHVy
ZV9HZXRQaG90b1N0YXRlX1BhcmFtcy5lbmNvZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2YWwpIHsK
LSAgICB2YXIgcGFja2VkOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoSW1hZ2VDYXB0dXJlX0dl
dFBob3RvU3RhdGVfUGFyYW1zLmVuY29kZWRTaXplKTsKLSAgICBlbmNvZGVyLndyaXRlVWludDMy
KDApOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNvZGVjLlN0cmluZywgdmFsLnNvdXJjZUlk
KTsKLSAgfTsKLSAgZnVuY3Rpb24gSW1hZ2VDYXB0dXJlX0dldFBob3RvU3RhdGVfUmVzcG9uc2VQ
YXJhbXModmFsdWVzKSB7Ci0gICAgdGhpcy5pbml0RGVmYXVsdHNfKCk7Ci0gICAgdGhpcy5pbml0
RmllbGRzXyh2YWx1ZXMpOwotICB9Ci0KLQotICBJbWFnZUNhcHR1cmVfR2V0UGhvdG9TdGF0ZV9S
ZXNwb25zZVBhcmFtcy5wcm90b3R5cGUuaW5pdERlZmF1bHRzXyA9IGZ1bmN0aW9uKCkgewotICAg
IHRoaXMuc3RhdGUgPSBudWxsOwotICB9OwotICBJbWFnZUNhcHR1cmVfR2V0UGhvdG9TdGF0ZV9S
ZXNwb25zZVBhcmFtcy5wcm90b3R5cGUuaW5pdEZpZWxkc18gPSBmdW5jdGlvbihmaWVsZHMpIHsK
LSAgICBmb3IodmFyIGZpZWxkIGluIGZpZWxkcykgewotICAgICAgICBpZiAodGhpcy5oYXNPd25Q
cm9wZXJ0eShmaWVsZCkpCi0gICAgICAgICAgdGhpc1tmaWVsZF0gPSBmaWVsZHNbZmllbGRdOwot
ICAgIH0KLSAgfTsKLQotICBJbWFnZUNhcHR1cmVfR2V0UGhvdG9TdGF0ZV9SZXNwb25zZVBhcmFt
cy52YWxpZGF0ZSA9IGZ1bmN0aW9uKG1lc3NhZ2VWYWxpZGF0b3IsIG9mZnNldCkgewotICAgIHZh
ciBlcnI7Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdEhlYWRlcihv
ZmZzZXQsIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0
b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICB2YXIg
a1ZlcnNpb25TaXplcyA9IFsKLSAgICAgIHt2ZXJzaW9uOiAwLCBudW1CeXRlczogMTZ9Ci0gICAg
XTsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0VmVyc2lvbihvZmZz
ZXQsIGtWZXJzaW9uU2l6ZXMpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9u
RXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0gICAgLy8gdmFsaWRhdGUgSW1h
Z2VDYXB0dXJlX0dldFBob3RvU3RhdGVfUmVzcG9uc2VQYXJhbXMuc3RhdGUKLSAgICBlcnIgPSBt
ZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0UG9pbnRlcihvZmZzZXQgKyBjb2RlYy5rU3Ry
dWN0SGVhZGVyU2l6ZSArIDAsIFBob3RvU3RhdGUsIGZhbHNlKTsKLSAgICBpZiAoZXJyICE9PSB2
YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAg
ICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIEltYWdl
Q2FwdHVyZV9HZXRQaG90b1N0YXRlX1Jlc3BvbnNlUGFyYW1zLmVuY29kZWRTaXplID0gY29kZWMu
a1N0cnVjdEhlYWRlclNpemUgKyA4OwotCi0gIEltYWdlQ2FwdHVyZV9HZXRQaG90b1N0YXRlX1Jl
c3BvbnNlUGFyYW1zLmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICB2YXIgcGFja2Vk
OwotICAgIHZhciB2YWwgPSBuZXcgSW1hZ2VDYXB0dXJlX0dldFBob3RvU3RhdGVfUmVzcG9uc2VQ
YXJhbXMoKTsKLSAgICB2YXIgbnVtYmVyT2ZCeXRlcyA9IGRlY29kZXIucmVhZFVpbnQzMigpOwot
ICAgIHZhciB2ZXJzaW9uID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFsLnN0YXRlID0g
ZGVjb2Rlci5kZWNvZGVTdHJ1Y3RQb2ludGVyKFBob3RvU3RhdGUpOwotICAgIHJldHVybiB2YWw7
Ci0gIH07Ci0KLSAgSW1hZ2VDYXB0dXJlX0dldFBob3RvU3RhdGVfUmVzcG9uc2VQYXJhbXMuZW5j
b2RlID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICBlbmNv
ZGVyLndyaXRlVWludDMyKEltYWdlQ2FwdHVyZV9HZXRQaG90b1N0YXRlX1Jlc3BvbnNlUGFyYW1z
LmVuY29kZWRTaXplKTsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKDApOwotICAgIGVuY29kZXIu
ZW5jb2RlU3RydWN0UG9pbnRlcihQaG90b1N0YXRlLCB2YWwuc3RhdGUpOwotICB9OwotICBmdW5j
dGlvbiBJbWFnZUNhcHR1cmVfU2V0T3B0aW9uc19QYXJhbXModmFsdWVzKSB7Ci0gICAgdGhpcy5p
bml0RGVmYXVsdHNfKCk7Ci0gICAgdGhpcy5pbml0RmllbGRzXyh2YWx1ZXMpOwotICB9Ci0KLQot
ICBJbWFnZUNhcHR1cmVfU2V0T3B0aW9uc19QYXJhbXMucHJvdG90eXBlLmluaXREZWZhdWx0c18g
PSBmdW5jdGlvbigpIHsKLSAgICB0aGlzLnNvdXJjZUlkID0gbnVsbDsKLSAgICB0aGlzLnNldHRp
bmdzID0gbnVsbDsKLSAgfTsKLSAgSW1hZ2VDYXB0dXJlX1NldE9wdGlvbnNfUGFyYW1zLnByb3Rv
dHlwZS5pbml0RmllbGRzXyA9IGZ1bmN0aW9uKGZpZWxkcykgewotICAgIGZvcih2YXIgZmllbGQg
aW4gZmllbGRzKSB7Ci0gICAgICAgIGlmICh0aGlzLmhhc093blByb3BlcnR5KGZpZWxkKSkKLSAg
ICAgICAgICB0aGlzW2ZpZWxkXSA9IGZpZWxkc1tmaWVsZF07Ci0gICAgfQotICB9OwotCi0gIElt
YWdlQ2FwdHVyZV9TZXRPcHRpb25zX1BhcmFtcy52YWxpZGF0ZSA9IGZ1bmN0aW9uKG1lc3NhZ2VW
YWxpZGF0b3IsIG9mZnNldCkgewotICAgIHZhciBlcnI7Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlk
YXRvci52YWxpZGF0ZVN0cnVjdEhlYWRlcihvZmZzZXQsIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXpl
KTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAg
ICAgIHJldHVybiBlcnI7Ci0KLSAgICB2YXIga1ZlcnNpb25TaXplcyA9IFsKLSAgICAgIHt2ZXJz
aW9uOiAwLCBudW1CeXRlczogMjR9Ci0gICAgXTsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9y
LnZhbGlkYXRlU3RydWN0VmVyc2lvbihvZmZzZXQsIGtWZXJzaW9uU2l6ZXMpOwotICAgIGlmIChl
cnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVy
cjsKLQotCi0gICAgLy8gdmFsaWRhdGUgSW1hZ2VDYXB0dXJlX1NldE9wdGlvbnNfUGFyYW1zLnNv
dXJjZUlkCi0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cmluZ1BvaW50ZXIo
b2Zmc2V0ICsgY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyAwLCBmYWxzZSkKLSAgICBpZiAoZXJy
ICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7
Ci0KLQotICAgIC8vIHZhbGlkYXRlIEltYWdlQ2FwdHVyZV9TZXRPcHRpb25zX1BhcmFtcy5zZXR0
aW5ncwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RQb2ludGVyKG9m
ZnNldCArIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgOCwgUGhvdG9TZXR0aW5ncywgZmFsc2Up
OwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAg
ICAgcmV0dXJuIGVycjsKLQotICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5P
TkU7Ci0gIH07Ci0KLSAgSW1hZ2VDYXB0dXJlX1NldE9wdGlvbnNfUGFyYW1zLmVuY29kZWRTaXpl
ID0gY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyAxNjsKLQotICBJbWFnZUNhcHR1cmVfU2V0T3B0
aW9uc19QYXJhbXMuZGVjb2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHZhciBwYWNrZWQ7
Ci0gICAgdmFyIHZhbCA9IG5ldyBJbWFnZUNhcHR1cmVfU2V0T3B0aW9uc19QYXJhbXMoKTsKLSAg
ICB2YXIgbnVtYmVyT2ZCeXRlcyA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhciB2ZXJz
aW9uID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFsLnNvdXJjZUlkID0gZGVjb2Rlci5k
ZWNvZGVTdHJ1Y3QoY29kZWMuU3RyaW5nKTsKLSAgICB2YWwuc2V0dGluZ3MgPSBkZWNvZGVyLmRl
Y29kZVN0cnVjdFBvaW50ZXIoUGhvdG9TZXR0aW5ncyk7Ci0gICAgcmV0dXJuIHZhbDsKLSAgfTsK
LQotICBJbWFnZUNhcHR1cmVfU2V0T3B0aW9uc19QYXJhbXMuZW5jb2RlID0gZnVuY3Rpb24oZW5j
b2RlciwgdmFsKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKElt
YWdlQ2FwdHVyZV9TZXRPcHRpb25zX1BhcmFtcy5lbmNvZGVkU2l6ZSk7Ci0gICAgZW5jb2Rlci53
cml0ZVVpbnQzMigwKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdChjb2RlYy5TdHJpbmcsIHZh
bC5zb3VyY2VJZCk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3RQb2ludGVyKFBob3RvU2V0dGlu
Z3MsIHZhbC5zZXR0aW5ncyk7Ci0gIH07Ci0gIGZ1bmN0aW9uIEltYWdlQ2FwdHVyZV9TZXRPcHRp
b25zX1Jlc3BvbnNlUGFyYW1zKHZhbHVlcykgewotICAgIHRoaXMuaW5pdERlZmF1bHRzXygpOwot
ICAgIHRoaXMuaW5pdEZpZWxkc18odmFsdWVzKTsKLSAgfQotCi0KLSAgSW1hZ2VDYXB0dXJlX1Nl
dE9wdGlvbnNfUmVzcG9uc2VQYXJhbXMucHJvdG90eXBlLmluaXREZWZhdWx0c18gPSBmdW5jdGlv
bigpIHsKLSAgICB0aGlzLnN1Y2Nlc3MgPSBmYWxzZTsKLSAgfTsKLSAgSW1hZ2VDYXB0dXJlX1Nl
dE9wdGlvbnNfUmVzcG9uc2VQYXJhbXMucHJvdG90eXBlLmluaXRGaWVsZHNfID0gZnVuY3Rpb24o
ZmllbGRzKSB7Ci0gICAgZm9yKHZhciBmaWVsZCBpbiBmaWVsZHMpIHsKLSAgICAgICAgaWYgKHRo
aXMuaGFzT3duUHJvcGVydHkoZmllbGQpKQotICAgICAgICAgIHRoaXNbZmllbGRdID0gZmllbGRz
W2ZpZWxkXTsKLSAgICB9Ci0gIH07Ci0KLSAgSW1hZ2VDYXB0dXJlX1NldE9wdGlvbnNfUmVzcG9u
c2VQYXJhbXMudmFsaWRhdGUgPSBmdW5jdGlvbihtZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsK
LSAgICB2YXIgZXJyOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RI
ZWFkZXIob2Zmc2V0LCBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVyciAhPT0g
dmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0g
ICAgdmFyIGtWZXJzaW9uU2l6ZXMgPSBbCi0gICAgICB7dmVyc2lvbjogMCwgbnVtQnl0ZXM6IDE2
fQotICAgIF07Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFZlcnNp
b24ob2Zmc2V0LCBrVmVyc2lvblNpemVzKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFs
aWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotICAgIHJldHVybiB2
YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gIH07Ci0KLSAgSW1hZ2VDYXB0dXJlX1Nl
dE9wdGlvbnNfUmVzcG9uc2VQYXJhbXMuZW5jb2RlZFNpemUgPSBjb2RlYy5rU3RydWN0SGVhZGVy
U2l6ZSArIDg7Ci0KLSAgSW1hZ2VDYXB0dXJlX1NldE9wdGlvbnNfUmVzcG9uc2VQYXJhbXMuZGVj
b2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgdmFyIHZhbCA9
IG5ldyBJbWFnZUNhcHR1cmVfU2V0T3B0aW9uc19SZXNwb25zZVBhcmFtcygpOwotICAgIHZhciBu
dW1iZXJPZkJ5dGVzID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFyIHZlcnNpb24gPSBk
ZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICBwYWNrZWQgPSBkZWNvZGVyLnJlYWRVaW50OCgpOwot
ICAgIHZhbC5zdWNjZXNzID0gKHBhY2tlZCA+PiAwKSAmIDEgPyB0cnVlIDogZmFsc2U7Ci0gICAg
ZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAo
MSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNv
ZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIHJldHVybiB2YWw7Ci0gIH07
Ci0KLSAgSW1hZ2VDYXB0dXJlX1NldE9wdGlvbnNfUmVzcG9uc2VQYXJhbXMuZW5jb2RlID0gZnVu
Y3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICBlbmNvZGVyLndyaXRl
VWludDMyKEltYWdlQ2FwdHVyZV9TZXRPcHRpb25zX1Jlc3BvbnNlUGFyYW1zLmVuY29kZWRTaXpl
KTsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKDApOwotICAgIHBhY2tlZCA9IDA7Ci0gICAgcGFj
a2VkIHw9ICh2YWwuc3VjY2VzcyAmIDEpIDw8IDAKLSAgICBlbmNvZGVyLndyaXRlVWludDgocGFj
a2VkKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVu
Y29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEp
OwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gIH07Ci0gIGZ1
bmN0aW9uIEltYWdlQ2FwdHVyZV9UYWtlUGhvdG9fUGFyYW1zKHZhbHVlcykgewotICAgIHRoaXMu
aW5pdERlZmF1bHRzXygpOwotICAgIHRoaXMuaW5pdEZpZWxkc18odmFsdWVzKTsKLSAgfQotCi0K
LSAgSW1hZ2VDYXB0dXJlX1Rha2VQaG90b19QYXJhbXMucHJvdG90eXBlLmluaXREZWZhdWx0c18g
PSBmdW5jdGlvbigpIHsKLSAgICB0aGlzLnNvdXJjZUlkID0gbnVsbDsKLSAgfTsKLSAgSW1hZ2VD
YXB0dXJlX1Rha2VQaG90b19QYXJhbXMucHJvdG90eXBlLmluaXRGaWVsZHNfID0gZnVuY3Rpb24o
ZmllbGRzKSB7Ci0gICAgZm9yKHZhciBmaWVsZCBpbiBmaWVsZHMpIHsKLSAgICAgICAgaWYgKHRo
aXMuaGFzT3duUHJvcGVydHkoZmllbGQpKQotICAgICAgICAgIHRoaXNbZmllbGRdID0gZmllbGRz
W2ZpZWxkXTsKLSAgICB9Ci0gIH07Ci0KLSAgSW1hZ2VDYXB0dXJlX1Rha2VQaG90b19QYXJhbXMu
dmFsaWRhdGUgPSBmdW5jdGlvbihtZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsKLSAgICB2YXIg
ZXJyOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RIZWFkZXIob2Zm
c2V0LCBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9y
LnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgdmFyIGtW
ZXJzaW9uU2l6ZXMgPSBbCi0gICAgICB7dmVyc2lvbjogMCwgbnVtQnl0ZXM6IDE2fQotICAgIF07
Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFZlcnNpb24ob2Zmc2V0
LCBrVmVyc2lvblNpemVzKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVy
cm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotICAgIC8vIHZhbGlkYXRlIEltYWdl
Q2FwdHVyZV9UYWtlUGhvdG9fUGFyYW1zLnNvdXJjZUlkCi0gICAgZXJyID0gbWVzc2FnZVZhbGlk
YXRvci52YWxpZGF0ZVN0cmluZ1BvaW50ZXIob2Zmc2V0ICsgY29kZWMua1N0cnVjdEhlYWRlclNp
emUgKyAwLCBmYWxzZSkKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9y
Lk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlk
YXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIEltYWdlQ2FwdHVyZV9UYWtlUGhvdG9fUGFyYW1z
LmVuY29kZWRTaXplID0gY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyA4OwotCi0gIEltYWdlQ2Fw
dHVyZV9UYWtlUGhvdG9fUGFyYW1zLmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICB2
YXIgcGFja2VkOwotICAgIHZhciB2YWwgPSBuZXcgSW1hZ2VDYXB0dXJlX1Rha2VQaG90b19QYXJh
bXMoKTsKLSAgICB2YXIgbnVtYmVyT2ZCeXRlcyA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAg
IHZhciB2ZXJzaW9uID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFsLnNvdXJjZUlkID0g
ZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoY29kZWMuU3RyaW5nKTsKLSAgICByZXR1cm4gdmFsOwotICB9
OwotCi0gIEltYWdlQ2FwdHVyZV9UYWtlUGhvdG9fUGFyYW1zLmVuY29kZSA9IGZ1bmN0aW9uKGVu
Y29kZXIsIHZhbCkgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMihJ
bWFnZUNhcHR1cmVfVGFrZVBob3RvX1BhcmFtcy5lbmNvZGVkU2l6ZSk7Ci0gICAgZW5jb2Rlci53
cml0ZVVpbnQzMigwKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdChjb2RlYy5TdHJpbmcsIHZh
bC5zb3VyY2VJZCk7Ci0gIH07Ci0gIGZ1bmN0aW9uIEltYWdlQ2FwdHVyZV9UYWtlUGhvdG9fUmVz
cG9uc2VQYXJhbXModmFsdWVzKSB7Ci0gICAgdGhpcy5pbml0RGVmYXVsdHNfKCk7Ci0gICAgdGhp
cy5pbml0RmllbGRzXyh2YWx1ZXMpOwotICB9Ci0KLQotICBJbWFnZUNhcHR1cmVfVGFrZVBob3Rv
X1Jlc3BvbnNlUGFyYW1zLnByb3RvdHlwZS5pbml0RGVmYXVsdHNfID0gZnVuY3Rpb24oKSB7Ci0g
ICAgdGhpcy5ibG9iID0gbnVsbDsKLSAgfTsKLSAgSW1hZ2VDYXB0dXJlX1Rha2VQaG90b19SZXNw
b25zZVBhcmFtcy5wcm90b3R5cGUuaW5pdEZpZWxkc18gPSBmdW5jdGlvbihmaWVsZHMpIHsKLSAg
ICBmb3IodmFyIGZpZWxkIGluIGZpZWxkcykgewotICAgICAgICBpZiAodGhpcy5oYXNPd25Qcm9w
ZXJ0eShmaWVsZCkpCi0gICAgICAgICAgdGhpc1tmaWVsZF0gPSBmaWVsZHNbZmllbGRdOwotICAg
IH0KLSAgfTsKLQotICBJbWFnZUNhcHR1cmVfVGFrZVBob3RvX1Jlc3BvbnNlUGFyYW1zLnZhbGlk
YXRlID0gZnVuY3Rpb24obWVzc2FnZVZhbGlkYXRvciwgb2Zmc2V0KSB7Ci0gICAgdmFyIGVycjsK
LSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0SGVhZGVyKG9mZnNldCwg
Y29kZWMua1N0cnVjdEhlYWRlclNpemUpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxp
ZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHZhciBrVmVyc2lv
blNpemVzID0gWwotICAgICAge3ZlcnNpb246IDAsIG51bUJ5dGVzOiAxNn0KLSAgICBdOwotICAg
IGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RWZXJzaW9uKG9mZnNldCwga1Zl
cnNpb25TaXplcyk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5O
T05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0KLSAgICAvLyB2YWxpZGF0ZSBJbWFnZUNhcHR1
cmVfVGFrZVBob3RvX1Jlc3BvbnNlUGFyYW1zLmJsb2IKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRh
dG9yLnZhbGlkYXRlU3RydWN0UG9pbnRlcihvZmZzZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVyU2l6
ZSArIDAsIEJsb2IsIGZhbHNlKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlv
bkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICByZXR1cm4gdmFsaWRhdG9y
LnZhbGlkYXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIEltYWdlQ2FwdHVyZV9UYWtlUGhvdG9f
UmVzcG9uc2VQYXJhbXMuZW5jb2RlZFNpemUgPSBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDg7
Ci0KLSAgSW1hZ2VDYXB0dXJlX1Rha2VQaG90b19SZXNwb25zZVBhcmFtcy5kZWNvZGUgPSBmdW5j
dGlvbihkZWNvZGVyKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICB2YXIgdmFsID0gbmV3IEltYWdl
Q2FwdHVyZV9UYWtlUGhvdG9fUmVzcG9uc2VQYXJhbXMoKTsKLSAgICB2YXIgbnVtYmVyT2ZCeXRl
cyA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhciB2ZXJzaW9uID0gZGVjb2Rlci5yZWFk
VWludDMyKCk7Ci0gICAgdmFsLmJsb2IgPSBkZWNvZGVyLmRlY29kZVN0cnVjdFBvaW50ZXIoQmxv
Yik7Ci0gICAgcmV0dXJuIHZhbDsKLSAgfTsKLQotICBJbWFnZUNhcHR1cmVfVGFrZVBob3RvX1Jl
c3BvbnNlUGFyYW1zLmVuY29kZSA9IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgIHZhciBw
YWNrZWQ7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMihJbWFnZUNhcHR1cmVfVGFrZVBob3RvX1Jl
c3BvbnNlUGFyYW1zLmVuY29kZWRTaXplKTsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKDApOwot
ICAgIGVuY29kZXIuZW5jb2RlU3RydWN0UG9pbnRlcihCbG9iLCB2YWwuYmxvYik7Ci0gIH07Ci0g
IHZhciBrSW1hZ2VDYXB0dXJlX0dldFBob3RvU3RhdGVfTmFtZSA9IDA7Ci0gIHZhciBrSW1hZ2VD
YXB0dXJlX1NldE9wdGlvbnNfTmFtZSA9IDE7Ci0gIHZhciBrSW1hZ2VDYXB0dXJlX1Rha2VQaG90
b19OYW1lID0gMjsKLQotICBmdW5jdGlvbiBJbWFnZUNhcHR1cmVQdHIoaGFuZGxlT3JQdHJJbmZv
KSB7Ci0gICAgdGhpcy5wdHIgPSBuZXcgYmluZGluZ3MuSW50ZXJmYWNlUHRyQ29udHJvbGxlcihJ
bWFnZUNhcHR1cmUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBoYW5kbGVPclB0ckluZm8pOwotICB9Ci0KLSAgZnVuY3Rpb24gSW1hZ2VDYXB0dXJl
QXNzb2NpYXRlZFB0cihhc3NvY2lhdGVkSW50ZXJmYWNlUHRySW5mbykgewotICAgIHRoaXMucHRy
ID0gbmV3IGFzc29jaWF0ZWRCaW5kaW5ncy5Bc3NvY2lhdGVkSW50ZXJmYWNlUHRyQ29udHJvbGxl
cigKLSAgICAgICAgSW1hZ2VDYXB0dXJlLCBhc3NvY2lhdGVkSW50ZXJmYWNlUHRySW5mbyk7Ci0g
IH0KLQotICBJbWFnZUNhcHR1cmVBc3NvY2lhdGVkUHRyLnByb3RvdHlwZSA9Ci0gICAgICBPYmpl
Y3QuY3JlYXRlKEltYWdlQ2FwdHVyZVB0ci5wcm90b3R5cGUpOwotICBJbWFnZUNhcHR1cmVBc3Nv
Y2lhdGVkUHRyLnByb3RvdHlwZS5jb25zdHJ1Y3RvciA9Ci0gICAgICBJbWFnZUNhcHR1cmVBc3Nv
Y2lhdGVkUHRyOwotCi0gIGZ1bmN0aW9uIEltYWdlQ2FwdHVyZVByb3h5KHJlY2VpdmVyKSB7Ci0g
ICAgdGhpcy5yZWNlaXZlcl8gPSByZWNlaXZlcjsKLSAgfQotICBJbWFnZUNhcHR1cmVQdHIucHJv
dG90eXBlLmdldFBob3RvU3RhdGUgPSBmdW5jdGlvbigpIHsKLSAgICByZXR1cm4gSW1hZ2VDYXB0
dXJlUHJveHkucHJvdG90eXBlLmdldFBob3RvU3RhdGUKLSAgICAgICAgLmFwcGx5KHRoaXMucHRy
LmdldFByb3h5KCksIGFyZ3VtZW50cyk7Ci0gIH07Ci0KLSAgSW1hZ2VDYXB0dXJlUHJveHkucHJv
dG90eXBlLmdldFBob3RvU3RhdGUgPSBmdW5jdGlvbihzb3VyY2VJZCkgewotICAgIHZhciBwYXJh
bXNfID0gbmV3IEltYWdlQ2FwdHVyZV9HZXRQaG90b1N0YXRlX1BhcmFtcygpOwotICAgIHBhcmFt
c18uc291cmNlSWQgPSBzb3VyY2VJZDsKLSAgICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24o
cmVzb2x2ZSwgcmVqZWN0KSB7Ci0gICAgICB2YXIgYnVpbGRlciA9IG5ldyBjb2RlYy5NZXNzYWdl
VjFCdWlsZGVyKAotICAgICAgICAgIGtJbWFnZUNhcHR1cmVfR2V0UGhvdG9TdGF0ZV9OYW1lLAot
ICAgICAgICAgIGNvZGVjLmFsaWduKEltYWdlQ2FwdHVyZV9HZXRQaG90b1N0YXRlX1BhcmFtcy5l
bmNvZGVkU2l6ZSksCi0gICAgICAgICAgY29kZWMua01lc3NhZ2VFeHBlY3RzUmVzcG9uc2UsIDAp
OwotICAgICAgYnVpbGRlci5lbmNvZGVTdHJ1Y3QoSW1hZ2VDYXB0dXJlX0dldFBob3RvU3RhdGVf
UGFyYW1zLCBwYXJhbXNfKTsKLSAgICAgIHZhciBtZXNzYWdlID0gYnVpbGRlci5maW5pc2goKTsK
LSAgICAgIHRoaXMucmVjZWl2ZXJfLmFjY2VwdEFuZEV4cGVjdFJlc3BvbnNlKG1lc3NhZ2UpLnRo
ZW4oZnVuY3Rpb24obWVzc2FnZSkgewotICAgICAgICB2YXIgcmVhZGVyID0gbmV3IGNvZGVjLk1l
c3NhZ2VSZWFkZXIobWVzc2FnZSk7Ci0gICAgICAgIHZhciByZXNwb25zZVBhcmFtcyA9Ci0gICAg
ICAgICAgICByZWFkZXIuZGVjb2RlU3RydWN0KEltYWdlQ2FwdHVyZV9HZXRQaG90b1N0YXRlX1Jl
c3BvbnNlUGFyYW1zKTsKLSAgICAgICAgcmVzb2x2ZShyZXNwb25zZVBhcmFtcyk7Ci0gICAgICB9
KS5jYXRjaChmdW5jdGlvbihyZXN1bHQpIHsKLSAgICAgICAgcmVqZWN0KEVycm9yKCJDb25uZWN0
aW9uIGVycm9yOiAiICsgcmVzdWx0KSk7Ci0gICAgICB9KTsKLSAgICB9LmJpbmQodGhpcykpOwot
ICB9OwotICBJbWFnZUNhcHR1cmVQdHIucHJvdG90eXBlLnNldE9wdGlvbnMgPSBmdW5jdGlvbigp
IHsKLSAgICByZXR1cm4gSW1hZ2VDYXB0dXJlUHJveHkucHJvdG90eXBlLnNldE9wdGlvbnMKLSAg
ICAgICAgLmFwcGx5KHRoaXMucHRyLmdldFByb3h5KCksIGFyZ3VtZW50cyk7Ci0gIH07Ci0KLSAg
SW1hZ2VDYXB0dXJlUHJveHkucHJvdG90eXBlLnNldE9wdGlvbnMgPSBmdW5jdGlvbihzb3VyY2VJ
ZCwgc2V0dGluZ3MpIHsKLSAgICB2YXIgcGFyYW1zXyA9IG5ldyBJbWFnZUNhcHR1cmVfU2V0T3B0
aW9uc19QYXJhbXMoKTsKLSAgICBwYXJhbXNfLnNvdXJjZUlkID0gc291cmNlSWQ7Ci0gICAgcGFy
YW1zXy5zZXR0aW5ncyA9IHNldHRpbmdzOwotICAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlv
bihyZXNvbHZlLCByZWplY3QpIHsKLSAgICAgIHZhciBidWlsZGVyID0gbmV3IGNvZGVjLk1lc3Nh
Z2VWMUJ1aWxkZXIoCi0gICAgICAgICAga0ltYWdlQ2FwdHVyZV9TZXRPcHRpb25zX05hbWUsCi0g
ICAgICAgICAgY29kZWMuYWxpZ24oSW1hZ2VDYXB0dXJlX1NldE9wdGlvbnNfUGFyYW1zLmVuY29k
ZWRTaXplKSwKLSAgICAgICAgICBjb2RlYy5rTWVzc2FnZUV4cGVjdHNSZXNwb25zZSwgMCk7Ci0g
ICAgICBidWlsZGVyLmVuY29kZVN0cnVjdChJbWFnZUNhcHR1cmVfU2V0T3B0aW9uc19QYXJhbXMs
IHBhcmFtc18pOwotICAgICAgdmFyIG1lc3NhZ2UgPSBidWlsZGVyLmZpbmlzaCgpOwotICAgICAg
dGhpcy5yZWNlaXZlcl8uYWNjZXB0QW5kRXhwZWN0UmVzcG9uc2UobWVzc2FnZSkudGhlbihmdW5j
dGlvbihtZXNzYWdlKSB7Ci0gICAgICAgIHZhciByZWFkZXIgPSBuZXcgY29kZWMuTWVzc2FnZVJl
YWRlcihtZXNzYWdlKTsKLSAgICAgICAgdmFyIHJlc3BvbnNlUGFyYW1zID0KLSAgICAgICAgICAg
IHJlYWRlci5kZWNvZGVTdHJ1Y3QoSW1hZ2VDYXB0dXJlX1NldE9wdGlvbnNfUmVzcG9uc2VQYXJh
bXMpOwotICAgICAgICByZXNvbHZlKHJlc3BvbnNlUGFyYW1zKTsKLSAgICAgIH0pLmNhdGNoKGZ1
bmN0aW9uKHJlc3VsdCkgewotICAgICAgICByZWplY3QoRXJyb3IoIkNvbm5lY3Rpb24gZXJyb3I6
ICIgKyByZXN1bHQpKTsKLSAgICAgIH0pOwotICAgIH0uYmluZCh0aGlzKSk7Ci0gIH07Ci0gIElt
YWdlQ2FwdHVyZVB0ci5wcm90b3R5cGUudGFrZVBob3RvID0gZnVuY3Rpb24oKSB7Ci0gICAgcmV0
dXJuIEltYWdlQ2FwdHVyZVByb3h5LnByb3RvdHlwZS50YWtlUGhvdG8KLSAgICAgICAgLmFwcGx5
KHRoaXMucHRyLmdldFByb3h5KCksIGFyZ3VtZW50cyk7Ci0gIH07Ci0KLSAgSW1hZ2VDYXB0dXJl
UHJveHkucHJvdG90eXBlLnRha2VQaG90byA9IGZ1bmN0aW9uKHNvdXJjZUlkKSB7Ci0gICAgdmFy
IHBhcmFtc18gPSBuZXcgSW1hZ2VDYXB0dXJlX1Rha2VQaG90b19QYXJhbXMoKTsKLSAgICBwYXJh
bXNfLnNvdXJjZUlkID0gc291cmNlSWQ7Ci0gICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9u
KHJlc29sdmUsIHJlamVjdCkgewotICAgICAgdmFyIGJ1aWxkZXIgPSBuZXcgY29kZWMuTWVzc2Fn
ZVYxQnVpbGRlcigKLSAgICAgICAgICBrSW1hZ2VDYXB0dXJlX1Rha2VQaG90b19OYW1lLAotICAg
ICAgICAgIGNvZGVjLmFsaWduKEltYWdlQ2FwdHVyZV9UYWtlUGhvdG9fUGFyYW1zLmVuY29kZWRT
aXplKSwKLSAgICAgICAgICBjb2RlYy5rTWVzc2FnZUV4cGVjdHNSZXNwb25zZSwgMCk7Ci0gICAg
ICBidWlsZGVyLmVuY29kZVN0cnVjdChJbWFnZUNhcHR1cmVfVGFrZVBob3RvX1BhcmFtcywgcGFy
YW1zXyk7Ci0gICAgICB2YXIgbWVzc2FnZSA9IGJ1aWxkZXIuZmluaXNoKCk7Ci0gICAgICB0aGlz
LnJlY2VpdmVyXy5hY2NlcHRBbmRFeHBlY3RSZXNwb25zZShtZXNzYWdlKS50aGVuKGZ1bmN0aW9u
KG1lc3NhZ2UpIHsKLSAgICAgICAgdmFyIHJlYWRlciA9IG5ldyBjb2RlYy5NZXNzYWdlUmVhZGVy
KG1lc3NhZ2UpOwotICAgICAgICB2YXIgcmVzcG9uc2VQYXJhbXMgPQotICAgICAgICAgICAgcmVh
ZGVyLmRlY29kZVN0cnVjdChJbWFnZUNhcHR1cmVfVGFrZVBob3RvX1Jlc3BvbnNlUGFyYW1zKTsK
LSAgICAgICAgcmVzb2x2ZShyZXNwb25zZVBhcmFtcyk7Ci0gICAgICB9KS5jYXRjaChmdW5jdGlv
bihyZXN1bHQpIHsKLSAgICAgICAgcmVqZWN0KEVycm9yKCJDb25uZWN0aW9uIGVycm9yOiAiICsg
cmVzdWx0KSk7Ci0gICAgICB9KTsKLSAgICB9LmJpbmQodGhpcykpOwotICB9OwotCi0gIGZ1bmN0
aW9uIEltYWdlQ2FwdHVyZVN0dWIoZGVsZWdhdGUpIHsKLSAgICB0aGlzLmRlbGVnYXRlXyA9IGRl
bGVnYXRlOwotICB9Ci0gIEltYWdlQ2FwdHVyZVN0dWIucHJvdG90eXBlLmdldFBob3RvU3RhdGUg
PSBmdW5jdGlvbihzb3VyY2VJZCkgewotICAgIHJldHVybiB0aGlzLmRlbGVnYXRlXyAmJiB0aGlz
LmRlbGVnYXRlXy5nZXRQaG90b1N0YXRlICYmIHRoaXMuZGVsZWdhdGVfLmdldFBob3RvU3RhdGUo
c291cmNlSWQpOwotICB9Ci0gIEltYWdlQ2FwdHVyZVN0dWIucHJvdG90eXBlLnNldE9wdGlvbnMg
PSBmdW5jdGlvbihzb3VyY2VJZCwgc2V0dGluZ3MpIHsKLSAgICByZXR1cm4gdGhpcy5kZWxlZ2F0
ZV8gJiYgdGhpcy5kZWxlZ2F0ZV8uc2V0T3B0aW9ucyAmJiB0aGlzLmRlbGVnYXRlXy5zZXRPcHRp
b25zKHNvdXJjZUlkLCBzZXR0aW5ncyk7Ci0gIH0KLSAgSW1hZ2VDYXB0dXJlU3R1Yi5wcm90b3R5
cGUudGFrZVBob3RvID0gZnVuY3Rpb24oc291cmNlSWQpIHsKLSAgICByZXR1cm4gdGhpcy5kZWxl
Z2F0ZV8gJiYgdGhpcy5kZWxlZ2F0ZV8udGFrZVBob3RvICYmIHRoaXMuZGVsZWdhdGVfLnRha2VQ
aG90byhzb3VyY2VJZCk7Ci0gIH0KLQotICBJbWFnZUNhcHR1cmVTdHViLnByb3RvdHlwZS5hY2Nl
cHQgPSBmdW5jdGlvbihtZXNzYWdlKSB7Ci0gICAgdmFyIHJlYWRlciA9IG5ldyBjb2RlYy5NZXNz
YWdlUmVhZGVyKG1lc3NhZ2UpOwotICAgIHN3aXRjaCAocmVhZGVyLm1lc3NhZ2VOYW1lKSB7Ci0g
ICAgZGVmYXVsdDoKLSAgICAgIHJldHVybiBmYWxzZTsKLSAgICB9Ci0gIH07Ci0KLSAgSW1hZ2VD
YXB0dXJlU3R1Yi5wcm90b3R5cGUuYWNjZXB0V2l0aFJlc3BvbmRlciA9Ci0gICAgICBmdW5jdGlv
bihtZXNzYWdlLCByZXNwb25kZXIpIHsKLSAgICB2YXIgcmVhZGVyID0gbmV3IGNvZGVjLk1lc3Nh
Z2VSZWFkZXIobWVzc2FnZSk7Ci0gICAgc3dpdGNoIChyZWFkZXIubWVzc2FnZU5hbWUpIHsKLSAg
ICBjYXNlIGtJbWFnZUNhcHR1cmVfR2V0UGhvdG9TdGF0ZV9OYW1lOgotICAgICAgdmFyIHBhcmFt
cyA9IHJlYWRlci5kZWNvZGVTdHJ1Y3QoSW1hZ2VDYXB0dXJlX0dldFBob3RvU3RhdGVfUGFyYW1z
KTsKLSAgICAgIHRoaXMuZ2V0UGhvdG9TdGF0ZShwYXJhbXMuc291cmNlSWQpLnRoZW4oZnVuY3Rp
b24ocmVzcG9uc2UpIHsKLSAgICAgICAgdmFyIHJlc3BvbnNlUGFyYW1zID0KLSAgICAgICAgICAg
IG5ldyBJbWFnZUNhcHR1cmVfR2V0UGhvdG9TdGF0ZV9SZXNwb25zZVBhcmFtcygpOwotICAgICAg
ICByZXNwb25zZVBhcmFtcy5zdGF0ZSA9IHJlc3BvbnNlLnN0YXRlOwotICAgICAgICB2YXIgYnVp
bGRlciA9IG5ldyBjb2RlYy5NZXNzYWdlVjFCdWlsZGVyKAotICAgICAgICAgICAga0ltYWdlQ2Fw
dHVyZV9HZXRQaG90b1N0YXRlX05hbWUsCi0gICAgICAgICAgICBjb2RlYy5hbGlnbihJbWFnZUNh
cHR1cmVfR2V0UGhvdG9TdGF0ZV9SZXNwb25zZVBhcmFtcy5lbmNvZGVkU2l6ZSksCi0gICAgICAg
ICAgICBjb2RlYy5rTWVzc2FnZUlzUmVzcG9uc2UsIHJlYWRlci5yZXF1ZXN0SUQpOwotICAgICAg
ICBidWlsZGVyLmVuY29kZVN0cnVjdChJbWFnZUNhcHR1cmVfR2V0UGhvdG9TdGF0ZV9SZXNwb25z
ZVBhcmFtcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2VQYXJhbXMpOwot
ICAgICAgICB2YXIgbWVzc2FnZSA9IGJ1aWxkZXIuZmluaXNoKCk7Ci0gICAgICAgIHJlc3BvbmRl
ci5hY2NlcHQobWVzc2FnZSk7Ci0gICAgICB9KTsKLSAgICAgIHJldHVybiB0cnVlOwotICAgIGNh
c2Uga0ltYWdlQ2FwdHVyZV9TZXRPcHRpb25zX05hbWU6Ci0gICAgICB2YXIgcGFyYW1zID0gcmVh
ZGVyLmRlY29kZVN0cnVjdChJbWFnZUNhcHR1cmVfU2V0T3B0aW9uc19QYXJhbXMpOwotICAgICAg
dGhpcy5zZXRPcHRpb25zKHBhcmFtcy5zb3VyY2VJZCwgcGFyYW1zLnNldHRpbmdzKS50aGVuKGZ1
bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgICAgIHZhciByZXNwb25zZVBhcmFtcyA9Ci0gICAgICAg
ICAgICBuZXcgSW1hZ2VDYXB0dXJlX1NldE9wdGlvbnNfUmVzcG9uc2VQYXJhbXMoKTsKLSAgICAg
ICAgcmVzcG9uc2VQYXJhbXMuc3VjY2VzcyA9IHJlc3BvbnNlLnN1Y2Nlc3M7Ci0gICAgICAgIHZh
ciBidWlsZGVyID0gbmV3IGNvZGVjLk1lc3NhZ2VWMUJ1aWxkZXIoCi0gICAgICAgICAgICBrSW1h
Z2VDYXB0dXJlX1NldE9wdGlvbnNfTmFtZSwKLSAgICAgICAgICAgIGNvZGVjLmFsaWduKEltYWdl
Q2FwdHVyZV9TZXRPcHRpb25zX1Jlc3BvbnNlUGFyYW1zLmVuY29kZWRTaXplKSwKLSAgICAgICAg
ICAgIGNvZGVjLmtNZXNzYWdlSXNSZXNwb25zZSwgcmVhZGVyLnJlcXVlc3RJRCk7Ci0gICAgICAg
IGJ1aWxkZXIuZW5jb2RlU3RydWN0KEltYWdlQ2FwdHVyZV9TZXRPcHRpb25zX1Jlc3BvbnNlUGFy
YW1zLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNwb25zZVBhcmFtcyk7Ci0gICAg
ICAgIHZhciBtZXNzYWdlID0gYnVpbGRlci5maW5pc2goKTsKLSAgICAgICAgcmVzcG9uZGVyLmFj
Y2VwdChtZXNzYWdlKTsKLSAgICAgIH0pOwotICAgICAgcmV0dXJuIHRydWU7Ci0gICAgY2FzZSBr
SW1hZ2VDYXB0dXJlX1Rha2VQaG90b19OYW1lOgotICAgICAgdmFyIHBhcmFtcyA9IHJlYWRlci5k
ZWNvZGVTdHJ1Y3QoSW1hZ2VDYXB0dXJlX1Rha2VQaG90b19QYXJhbXMpOwotICAgICAgdGhpcy50
YWtlUGhvdG8ocGFyYW1zLnNvdXJjZUlkKS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAg
ICAgIHZhciByZXNwb25zZVBhcmFtcyA9Ci0gICAgICAgICAgICBuZXcgSW1hZ2VDYXB0dXJlX1Rh
a2VQaG90b19SZXNwb25zZVBhcmFtcygpOwotICAgICAgICByZXNwb25zZVBhcmFtcy5ibG9iID0g
cmVzcG9uc2UuYmxvYjsKLSAgICAgICAgdmFyIGJ1aWxkZXIgPSBuZXcgY29kZWMuTWVzc2FnZVYx
QnVpbGRlcigKLSAgICAgICAgICAgIGtJbWFnZUNhcHR1cmVfVGFrZVBob3RvX05hbWUsCi0gICAg
ICAgICAgICBjb2RlYy5hbGlnbihJbWFnZUNhcHR1cmVfVGFrZVBob3RvX1Jlc3BvbnNlUGFyYW1z
LmVuY29kZWRTaXplKSwKLSAgICAgICAgICAgIGNvZGVjLmtNZXNzYWdlSXNSZXNwb25zZSwgcmVh
ZGVyLnJlcXVlc3RJRCk7Ci0gICAgICAgIGJ1aWxkZXIuZW5jb2RlU3RydWN0KEltYWdlQ2FwdHVy
ZV9UYWtlUGhvdG9fUmVzcG9uc2VQYXJhbXMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHJlc3BvbnNlUGFyYW1zKTsKLSAgICAgICAgdmFyIG1lc3NhZ2UgPSBidWlsZGVyLmZpbmlzaCgp
OwotICAgICAgICByZXNwb25kZXIuYWNjZXB0KG1lc3NhZ2UpOwotICAgICAgfSk7Ci0gICAgICBy
ZXR1cm4gdHJ1ZTsKLSAgICBkZWZhdWx0OgotICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0KLSAg
fTsKLQotICBmdW5jdGlvbiB2YWxpZGF0ZUltYWdlQ2FwdHVyZVJlcXVlc3QobWVzc2FnZVZhbGlk
YXRvcikgewotICAgIHZhciBtZXNzYWdlID0gbWVzc2FnZVZhbGlkYXRvci5tZXNzYWdlOwotICAg
IHZhciBwYXJhbXNDbGFzcyA9IG51bGw7Ci0gICAgc3dpdGNoIChtZXNzYWdlLmdldE5hbWUoKSkg
ewotICAgICAgY2FzZSBrSW1hZ2VDYXB0dXJlX0dldFBob3RvU3RhdGVfTmFtZToKLSAgICAgICAg
aWYgKG1lc3NhZ2UuZXhwZWN0c1Jlc3BvbnNlKCkpCi0gICAgICAgICAgcGFyYW1zQ2xhc3MgPSBJ
bWFnZUNhcHR1cmVfR2V0UGhvdG9TdGF0ZV9QYXJhbXM7Ci0gICAgICBicmVhazsKLSAgICAgIGNh
c2Uga0ltYWdlQ2FwdHVyZV9TZXRPcHRpb25zX05hbWU6Ci0gICAgICAgIGlmIChtZXNzYWdlLmV4
cGVjdHNSZXNwb25zZSgpKQotICAgICAgICAgIHBhcmFtc0NsYXNzID0gSW1hZ2VDYXB0dXJlX1Nl
dE9wdGlvbnNfUGFyYW1zOwotICAgICAgYnJlYWs7Ci0gICAgICBjYXNlIGtJbWFnZUNhcHR1cmVf
VGFrZVBob3RvX05hbWU6Ci0gICAgICAgIGlmIChtZXNzYWdlLmV4cGVjdHNSZXNwb25zZSgpKQot
ICAgICAgICAgIHBhcmFtc0NsYXNzID0gSW1hZ2VDYXB0dXJlX1Rha2VQaG90b19QYXJhbXM7Ci0g
ICAgICBicmVhazsKLSAgICB9Ci0gICAgaWYgKHBhcmFtc0NsYXNzID09PSBudWxsKQotICAgICAg
cmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAgICByZXR1cm4gcGFyYW1z
Q2xhc3MudmFsaWRhdGUobWVzc2FnZVZhbGlkYXRvciwgbWVzc2FnZVZhbGlkYXRvci5tZXNzYWdl
LmdldEhlYWRlck51bUJ5dGVzKCkpOwotICB9Ci0KLSAgZnVuY3Rpb24gdmFsaWRhdGVJbWFnZUNh
cHR1cmVSZXNwb25zZShtZXNzYWdlVmFsaWRhdG9yKSB7Ci0gICB2YXIgbWVzc2FnZSA9IG1lc3Nh
Z2VWYWxpZGF0b3IubWVzc2FnZTsKLSAgIHZhciBwYXJhbXNDbGFzcyA9IG51bGw7Ci0gICBzd2l0
Y2ggKG1lc3NhZ2UuZ2V0TmFtZSgpKSB7Ci0gICAgICBjYXNlIGtJbWFnZUNhcHR1cmVfR2V0UGhv
dG9TdGF0ZV9OYW1lOgotICAgICAgICBpZiAobWVzc2FnZS5pc1Jlc3BvbnNlKCkpCi0gICAgICAg
ICAgcGFyYW1zQ2xhc3MgPSBJbWFnZUNhcHR1cmVfR2V0UGhvdG9TdGF0ZV9SZXNwb25zZVBhcmFt
czsKLSAgICAgICAgYnJlYWs7Ci0gICAgICBjYXNlIGtJbWFnZUNhcHR1cmVfU2V0T3B0aW9uc19O
YW1lOgotICAgICAgICBpZiAobWVzc2FnZS5pc1Jlc3BvbnNlKCkpCi0gICAgICAgICAgcGFyYW1z
Q2xhc3MgPSBJbWFnZUNhcHR1cmVfU2V0T3B0aW9uc19SZXNwb25zZVBhcmFtczsKLSAgICAgICAg
YnJlYWs7Ci0gICAgICBjYXNlIGtJbWFnZUNhcHR1cmVfVGFrZVBob3RvX05hbWU6Ci0gICAgICAg
IGlmIChtZXNzYWdlLmlzUmVzcG9uc2UoKSkKLSAgICAgICAgICBwYXJhbXNDbGFzcyA9IEltYWdl
Q2FwdHVyZV9UYWtlUGhvdG9fUmVzcG9uc2VQYXJhbXM7Ci0gICAgICAgIGJyZWFrOwotICAgIH0K
LSAgICBpZiAocGFyYW1zQ2xhc3MgPT09IG51bGwpCi0gICAgICByZXR1cm4gdmFsaWRhdG9yLnZh
bGlkYXRpb25FcnJvci5OT05FOwotICAgIHJldHVybiBwYXJhbXNDbGFzcy52YWxpZGF0ZShtZXNz
YWdlVmFsaWRhdG9yLCBtZXNzYWdlVmFsaWRhdG9yLm1lc3NhZ2UuZ2V0SGVhZGVyTnVtQnl0ZXMo
KSk7Ci0gIH0KLQotICB2YXIgSW1hZ2VDYXB0dXJlID0gewotICAgIG5hbWU6ICdtZWRpYS5tb2pv
bS5JbWFnZUNhcHR1cmUnLAotICAgIGtWZXJzaW9uOiAwLAotICAgIHB0ckNsYXNzOiBJbWFnZUNh
cHR1cmVQdHIsCi0gICAgcHJveHlDbGFzczogSW1hZ2VDYXB0dXJlUHJveHksCi0gICAgc3R1YkNs
YXNzOiBJbWFnZUNhcHR1cmVTdHViLAotICAgIHZhbGlkYXRlUmVxdWVzdDogdmFsaWRhdGVJbWFn
ZUNhcHR1cmVSZXF1ZXN0LAotICAgIHZhbGlkYXRlUmVzcG9uc2U6IHZhbGlkYXRlSW1hZ2VDYXB0
dXJlUmVzcG9uc2UsCi0gIH07Ci0gIEltYWdlQ2FwdHVyZVN0dWIucHJvdG90eXBlLnZhbGlkYXRv
ciA9IHZhbGlkYXRlSW1hZ2VDYXB0dXJlUmVxdWVzdDsKLSAgSW1hZ2VDYXB0dXJlUHJveHkucHJv
dG90eXBlLnZhbGlkYXRvciA9IHZhbGlkYXRlSW1hZ2VDYXB0dXJlUmVzcG9uc2U7Ci0gIGV4cG9y
dHMuTWV0ZXJpbmdNb2RlID0gTWV0ZXJpbmdNb2RlOwotICBleHBvcnRzLlJlZEV5ZVJlZHVjdGlv
biA9IFJlZEV5ZVJlZHVjdGlvbjsKLSAgZXhwb3J0cy5GaWxsTGlnaHRNb2RlID0gRmlsbExpZ2h0
TW9kZTsKLSAgZXhwb3J0cy5SYW5nZSA9IFJhbmdlOwotICBleHBvcnRzLlBob3RvU3RhdGUgPSBQ
aG90b1N0YXRlOwotICBleHBvcnRzLlBvaW50MkQgPSBQb2ludDJEOwotICBleHBvcnRzLlBob3Rv
U2V0dGluZ3MgPSBQaG90b1NldHRpbmdzOwotICBleHBvcnRzLkJsb2IgPSBCbG9iOwotICBleHBv
cnRzLkltYWdlQ2FwdHVyZSA9IEltYWdlQ2FwdHVyZTsKLSAgZXhwb3J0cy5JbWFnZUNhcHR1cmVQ
dHIgPSBJbWFnZUNhcHR1cmVQdHI7Ci0gIGV4cG9ydHMuSW1hZ2VDYXB0dXJlQXNzb2NpYXRlZFB0
ciA9IEltYWdlQ2FwdHVyZUFzc29jaWF0ZWRQdHI7Ci19KSgpOwpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL21vY2stYmFyY29kZWRldGVjdGlvbi5qcyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9t
aXVtL21vY2stYmFyY29kZWRldGVjdGlvbi5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggNzAzZGI0MjU1OTAuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL21vY2stYmFyY29kZWRldGVj
dGlvbi5qcworKysgL2Rldi9udWxsCkBAIC0xLDEyNCArMCwwIEBACi0idXNlIHN0cmljdCI7Ci0K
LXZhciBCYXJjb2RlRGV0ZWN0aW9uVGVzdCA9ICgoKSA9PiB7Ci0gIC8vIENsYXNzIHRoYXQgbW9j
a3MgQmFyY29kZURldGVjdGlvblByb3ZpZGVyIGludGVyZmFjZSBkZWZpbmVkIGluCi0gIC8vIGh0
dHBzOi8vY3MuY2hyb21pdW0ub3JnL2Nocm9taXVtL3NyYy9zZXJ2aWNlcy9zaGFwZV9kZXRlY3Rp
b24vcHVibGljL21vam9tL2JhcmNvZGVkZXRlY3Rpb25fcHJvdmlkZXIubW9qb20KLSAgY2xhc3Mg
TW9ja0JhcmNvZGVEZXRlY3Rpb25Qcm92aWRlciB7Ci0gICAgY29uc3RydWN0b3IoKSB7Ci0gICAg
ICB0aGlzLmJpbmRpbmdTZXRfID0gbmV3IG1vam8uQmluZGluZ1NldCgKLSAgICAgICAgICBzaGFw
ZURldGVjdGlvbi5tb2pvbS5CYXJjb2RlRGV0ZWN0aW9uUHJvdmlkZXIpOwotCi0gICAgICB0aGlz
LmludGVyY2VwdG9yXyA9IG5ldyBNb2pvSW50ZXJmYWNlSW50ZXJjZXB0b3IoCi0gICAgICAgICAg
c2hhcGVEZXRlY3Rpb24ubW9qb20uQmFyY29kZURldGVjdGlvblByb3ZpZGVyLm5hbWUsICJjb250
ZXh0IiwgdHJ1ZSk7Ci0gICAgICB0aGlzLmludGVyY2VwdG9yXy5vbmludGVyZmFjZXJlcXVlc3Qg
PQotICAgICAgICAgZSA9PiB0aGlzLmJpbmRpbmdTZXRfLmFkZEJpbmRpbmcodGhpcywgZS5oYW5k
bGUpOwotICAgICAgdGhpcy5pbnRlcmNlcHRvcl8uc3RhcnQoKTsKLSAgICB9Ci0KLSAgICBjcmVh
dGVCYXJjb2RlRGV0ZWN0aW9uKHJlcXVlc3QsIG9wdGlvbnMpIHsKLSAgICAgIHRoaXMubW9ja1Nl
cnZpY2VfID0gbmV3IE1vY2tCYXJjb2RlRGV0ZWN0aW9uKHJlcXVlc3QsIG9wdGlvbnMpOwotICAg
IH0KLQotICAgIGVudW1lcmF0ZVN1cHBvcnRlZEZvcm1hdHMoKSB7Ci0gICAgICByZXR1cm4gUHJv
bWlzZS5yZXNvbHZlKHsKLSAgICAgICAgc3VwcG9ydGVkRm9ybWF0czogWwotICAgICAgICAgIHNo
YXBlRGV0ZWN0aW9uLm1vam9tLkJhcmNvZGVGb3JtYXQuQVpURUMsCi0gICAgICAgICAgc2hhcGVE
ZXRlY3Rpb24ubW9qb20uQmFyY29kZUZvcm1hdC5EQVRBX01BVFJJWCwKLSAgICAgICAgICBzaGFw
ZURldGVjdGlvbi5tb2pvbS5CYXJjb2RlRm9ybWF0LlFSX0NPREUsCi0gICAgICAgIF0KLSAgICAg
IH0pOwotICAgIH0KLQotICAgIGdldEZyYW1lRGF0YSgpIHsKLSAgICAgIHJldHVybiB0aGlzLm1v
Y2tTZXJ2aWNlXy5idWZmZXJEYXRhXzsKLSAgICB9Ci0KLSAgICBnZXRGb3JtYXRzKCkgewotICAg
ICByZXR1cm4gdGhpcy5tb2NrU2VydmljZV8ub3B0aW9uc18uZm9ybWF0czsKLSAgICB9Ci0KLSAg
ICByZXNldCgpIHsKLSAgICAgIHRoaXMubW9ja1NlcnZpY2VfID0gbnVsbDsKLSAgICAgIHRoaXMu
YmluZGluZ1NldF8uY2xvc2VBbGxCaW5kaW5ncygpOwotICAgICAgdGhpcy5pbnRlcmNlcHRvcl8u
c3RvcCgpOwotICAgIH0KLSAgfQotCi0gIC8vIENsYXNzIHRoYXQgbW9ja3MgQmFyY29kZURldGVj
dGlvbiBpbnRlcmZhY2UgZGVmaW5lZCBpbgotICAvLyBodHRwczovL2NzLmNocm9taXVtLm9yZy9j
aHJvbWl1bS9zcmMvc2VydmljZXMvc2hhcGVfZGV0ZWN0aW9uL3B1YmxpYy9tb2pvbS9iYXJjb2Rl
ZGV0ZWN0aW9uLm1vam9tCi0gIGNsYXNzIE1vY2tCYXJjb2RlRGV0ZWN0aW9uIHsKLSAgICBjb25z
dHJ1Y3RvcihyZXF1ZXN0LCBvcHRpb25zKSB7Ci0gICAgICB0aGlzLm9wdGlvbnNfID0gb3B0aW9u
czsKLSAgICAgIHRoaXMuYmluZGluZ18gPQotICAgICAgICAgIG5ldyBtb2pvLkJpbmRpbmcoc2hh
cGVEZXRlY3Rpb24ubW9qb20uQmFyY29kZURldGVjdGlvbiwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHRoaXMsIHJlcXVlc3QpOwotICAgIH0KLQotICAgIGRldGVjdChiaXRtYXBEYXRhKSB7
Ci0gICAgICB0aGlzLmJ1ZmZlckRhdGFfID0KLSAgICAgICAgICBuZXcgVWludDMyQXJyYXkoZ2V0
QXJyYXlCdWZmZXJGcm9tQmlnQnVmZmVyKGJpdG1hcERhdGEucGl4ZWxEYXRhKSk7Ci0gICAgICBy
ZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHsKLSAgICAgICAgcmVzdWx0czogWwotICAgICAgICAgIHsK
LSAgICAgICAgICAgIHJhd1ZhbHVlIDogImNhdHMiLAotICAgICAgICAgICAgYm91bmRpbmdCb3g6
IHsgeDogMS4wLCB5OiAxLjAsIHdpZHRoOiAxMDAuMCwgaGVpZ2h0OiAxMDAuMCB9LAotICAgICAg
ICAgICAgZm9ybWF0OiBzaGFwZURldGVjdGlvbi5tb2pvbS5CYXJjb2RlRm9ybWF0LlFSX0NPREUs
Ci0gICAgICAgICAgICBjb3JuZXJQb2ludHM6IFsKLSAgICAgICAgICAgICAgeyB4OiAxLjAsIHk6
IDEuMCB9LAotICAgICAgICAgICAgICB7IHg6IDEwMS4wLCB5OiAxLjAgfSwKLSAgICAgICAgICAg
ICAgeyB4OiAxMDEuMCwgeTogMTAxLjAgfSwKLSAgICAgICAgICAgICAgeyB4OiAxLjAsIHk6IDEw
MS4wIH0KLSAgICAgICAgICAgIF0sCi0gICAgICAgICAgfSwKLSAgICAgICAgICB7Ci0gICAgICAg
ICAgICByYXdWYWx1ZSA6ICJkb2dzIiwKLSAgICAgICAgICAgIGJvdW5kaW5nQm94OiB7IHg6IDIu
MCwgeTogMi4wLCB3aWR0aDogNTAuMCwgaGVpZ2h0OiA1MC4wIH0sCi0gICAgICAgICAgICBmb3Jt
YXQ6IHNoYXBlRGV0ZWN0aW9uLm1vam9tLkJhcmNvZGVGb3JtYXQuQ09ERV8xMjgsCi0gICAgICAg
ICAgICBjb3JuZXJQb2ludHM6IFsKLSAgICAgICAgICAgICAgeyB4OiAyLjAsIHk6IDIuMCB9LAot
ICAgICAgICAgICAgICB7IHg6IDUyLjAsIHk6IDIuMCB9LAotICAgICAgICAgICAgICB7IHg6IDUy
LjAsIHk6IDUyLjAgfSwKLSAgICAgICAgICAgICAgeyB4OiAyLjAsIHk6IDUyLjAgfQotICAgICAg
ICAgICAgXSwKLSAgICAgICAgICB9LAotICAgICAgICBdLAotICAgICAgfSk7Ci0gICAgfQotICB9
Ci0KLSAgbGV0IHRlc3RJbnRlcm5hbCA9IHsKLSAgICBpbml0aWFsaXplZDogZmFsc2UsCi0gICAg
TW9ja0JhcmNvZGVEZXRlY3Rpb25Qcm92aWRlcjogbnVsbAotICB9Ci0KLSAgY2xhc3MgQmFyY29k
ZURldGVjdGlvblRlc3RDaHJvbWl1bSB7Ci0gICAgY29uc3RydWN0b3IoKSB7Ci0gICAgICBPYmpl
Y3QuZnJlZXplKHRoaXMpOyAvLyBNYWtlIGl0IGltbXV0YWJsZS4KLSAgICB9Ci0KLSAgICBpbml0
aWFsaXplKCkgewotICAgICAgaWYgKHRlc3RJbnRlcm5hbC5pbml0aWFsaXplZCkKLSAgICAgICAg
dGhyb3cgbmV3IEVycm9yKCdDYWxsIHJlc2V0KCkgYmVmb3JlIGluaXRpYWxpemUoKS4nKTsKLQot
ICAgICAgdGVzdEludGVybmFsLk1vY2tCYXJjb2RlRGV0ZWN0aW9uUHJvdmlkZXIgPSBuZXcgTW9j
a0JhcmNvZGVEZXRlY3Rpb25Qcm92aWRlcjsKLSAgICAgIHRlc3RJbnRlcm5hbC5pbml0aWFsaXpl
ZCA9IHRydWU7Ci0gICAgfQotCi0gICAgLy8gUmVzZXRzIHN0YXRlIG9mIGJhcmNvZGUgZGV0ZWN0
aW9uIG1vY2tzIGJldHdlZW4gdGVzdCBydW5zLgotICAgIGFzeW5jIHJlc2V0KCkgewotICAgICAg
aWYgKCF0ZXN0SW50ZXJuYWwuaW5pdGlhbGl6ZWQpCi0gICAgICAgIHRocm93IG5ldyBFcnJvcign
Q2FsbCBpbml0aWFsaXplKCkgYmVmb3JlIHJlc2V0KCkuJyk7Ci0gICAgICB0ZXN0SW50ZXJuYWwu
TW9ja0JhcmNvZGVEZXRlY3Rpb25Qcm92aWRlci5yZXNldCgpOwotICAgICAgdGVzdEludGVybmFs
Lk1vY2tCYXJjb2RlRGV0ZWN0aW9uUHJvdmlkZXIgPSBudWxsOwotICAgICAgdGVzdEludGVybmFs
LmluaXRpYWxpemVkID0gZmFsc2U7Ci0KLSAgICAgIGF3YWl0IG5ldyBQcm9taXNlKHJlc29sdmUg
PT4gc2V0VGltZW91dChyZXNvbHZlLCAwKSk7Ci0gICAgfQotCi0gICAgTW9ja0JhcmNvZGVEZXRl
Y3Rpb25Qcm92aWRlcigpIHsKLSAgICAgIHJldHVybiB0ZXN0SW50ZXJuYWwuTW9ja0JhcmNvZGVE
ZXRlY3Rpb25Qcm92aWRlcjsKLSAgICB9Ci0gIH0KLQotICByZXR1cm4gQmFyY29kZURldGVjdGlv
blRlc3RDaHJvbWl1bTsKLX0pKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS9tb2NrLWJhcmNvZGVkZXRl
Y3Rpb24uanMuaGVhZGVycyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL21vY2stYmFyY29kZWRldGVjdGlvbi5qcy5oZWFkZXJz
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2YzYxYTM0YTRlYy4uMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvY2hyb21pdW0vbW9jay1iYXJjb2RlZGV0ZWN0aW9uLmpzLmhlYWRlcnMKKysrIC9kZXYvbnVs
bApAQCAtMSArMCwwIEBACi1Db250ZW50LVR5cGU6IHRleHQvamF2YXNjcmlwdDsgY2hhcnNldD11
dGYtOApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL21vY2st
ZmFjZWRldGVjdGlvbi5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL21vY2stZmFjZWRldGVjdGlvbi5qcwpkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDEzMDZhMmEwYzcuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVt
L21vY2stZmFjZWRldGVjdGlvbi5qcworKysgL2Rldi9udWxsCkBAIC0xLDEzMSArMCwwIEBACi0i
dXNlIHN0cmljdCI7Ci0KLXZhciBGYWNlRGV0ZWN0aW9uVGVzdCA9ICgoKSA9PiB7Ci0gIC8vIENs
YXNzIHRoYXQgbW9ja3MgRmFjZURldGVjdGlvblByb3ZpZGVyIGludGVyZmFjZSBkZWZpbmVkIGlu
Ci0gIC8vIGh0dHBzOi8vY3MuY2hyb21pdW0ub3JnL2Nocm9taXVtL3NyYy9zZXJ2aWNlcy9zaGFw
ZV9kZXRlY3Rpb24vcHVibGljL21vam9tL2ZhY2VkZXRlY3Rpb25fcHJvdmlkZXIubW9qb20KLSAg
Y2xhc3MgTW9ja0ZhY2VEZXRlY3Rpb25Qcm92aWRlciB7Ci0gICAgY29uc3RydWN0b3IoKSB7Ci0g
ICAgICB0aGlzLmJpbmRpbmdTZXRfID0gbmV3IG1vam8uQmluZGluZ1NldCgKLSAgICAgICAgc2hh
cGVEZXRlY3Rpb24ubW9qb20uRmFjZURldGVjdGlvblByb3ZpZGVyKTsKLQotICAgICAgdGhpcy5p
bnRlcmNlcHRvcl8gPSBuZXcgTW9qb0ludGVyZmFjZUludGVyY2VwdG9yKAotICAgICAgICAgIHNo
YXBlRGV0ZWN0aW9uLm1vam9tLkZhY2VEZXRlY3Rpb25Qcm92aWRlci5uYW1lLCAiY29udGV4dCIs
IHRydWUpOwotICAgICAgdGhpcy5pbnRlcmNlcHRvcl8ub25pbnRlcmZhY2VyZXF1ZXN0ID0KLSAg
ICAgICAgIGUgPT4gdGhpcy5iaW5kaW5nU2V0Xy5hZGRCaW5kaW5nKHRoaXMsIGUuaGFuZGxlKTsK
LSAgICAgIHRoaXMuaW50ZXJjZXB0b3JfLnN0YXJ0KCk7Ci0gICAgfQotCi0gICAgY3JlYXRlRmFj
ZURldGVjdGlvbihyZXF1ZXN0LCBvcHRpb25zKSB7Ci0gICAgICB0aGlzLm1vY2tTZXJ2aWNlXyA9
IG5ldyBNb2NrRmFjZURldGVjdGlvbihyZXF1ZXN0LCBvcHRpb25zKTsKLSAgICB9Ci0KLSAgICBn
ZXRGcmFtZURhdGEoKSB7Ci0gICAgICByZXR1cm4gdGhpcy5tb2NrU2VydmljZV8uYnVmZmVyRGF0
YV87Ci0gICAgfQotCi0gICAgZ2V0TWF4RGV0ZWN0ZWRGYWNlcygpIHsKLSAgICAgcmV0dXJuIHRo
aXMubW9ja1NlcnZpY2VfLm1heERldGVjdGVkRmFjZXNfOwotICAgIH0KLQotICAgIGdldEZhc3RN
b2RlICgpIHsKLSAgICAgIHJldHVybiB0aGlzLm1vY2tTZXJ2aWNlXy5mYXN0TW9kZV87Ci0gICAg
fQotCi0gICAgcmVzZXQoKSB7Ci0gICAgICB0aGlzLm1vY2tTZXJ2aWNlXyA9IG51bGw7Ci0gICAg
ICB0aGlzLmJpbmRpbmdTZXRfLmNsb3NlQWxsQmluZGluZ3MoKTsKLSAgICAgIHRoaXMuaW50ZXJj
ZXB0b3JfLnN0b3AoKTsKLSAgICB9Ci0gIH0KLQotICAvLyBDbGFzcyB0aGF0IG1vY2tzIEZhY2VE
ZXRlY3Rpb24gaW50ZXJmYWNlIGRlZmluZWQgaW4KLSAgLy8gaHR0cHM6Ly9jcy5jaHJvbWl1bS5v
cmcvY2hyb21pdW0vc3JjL3NlcnZpY2VzL3NoYXBlX2RldGVjdGlvbi9wdWJsaWMvbW9qb20vZmFj
ZWRldGVjdGlvbi5tb2pvbQotICBjbGFzcyBNb2NrRmFjZURldGVjdGlvbiB7Ci0gICAgY29uc3Ry
dWN0b3IocmVxdWVzdCwgb3B0aW9ucykgewotICAgICAgdGhpcy5tYXhEZXRlY3RlZEZhY2VzXyA9
IG9wdGlvbnMubWF4RGV0ZWN0ZWRGYWNlczsKLSAgICAgIHRoaXMuZmFzdE1vZGVfID0gb3B0aW9u
cy5mYXN0TW9kZTsKLSAgICAgIHRoaXMuYmluZGluZ18gPQotICAgICAgICAgIG5ldyBtb2pvLkJp
bmRpbmcoc2hhcGVEZXRlY3Rpb24ubW9qb20uRmFjZURldGVjdGlvbiwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHRoaXMsIHJlcXVlc3QpOwotICAgIH0KLQotICAgIGRldGVjdChiaXRtYXBE
YXRhKSB7Ci0gICAgICB0aGlzLmJ1ZmZlckRhdGFfID0KLSAgICAgICAgICBuZXcgVWludDMyQXJy
YXkoZ2V0QXJyYXlCdWZmZXJGcm9tQmlnQnVmZmVyKGJpdG1hcERhdGEucGl4ZWxEYXRhKSk7Ci0g
ICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHsKLSAgICAgICAgcmVzdWx0czogWwotICAgICAg
ICAgIHsKLSAgICAgICAgICAgIGJvdW5kaW5nQm94OiB7eDogMS4wLCB5OiAxLjAsIHdpZHRoOiAx
MDAuMCwgaGVpZ2h0OiAxMDAuMH0sCi0gICAgICAgICAgICBsYW5kbWFya3M6IFt7Ci0gICAgICAg
ICAgICAgIHR5cGU6IHNoYXBlRGV0ZWN0aW9uLm1vam9tLkxhbmRtYXJrVHlwZS5FWUUsCi0gICAg
ICAgICAgICAgIGxvY2F0aW9uczogW3t4OiA0LjAsIHk6IDUuMH1dCi0gICAgICAgICAgICB9LAot
ICAgICAgICAgICAgewotICAgICAgICAgICAgICB0eXBlOiBzaGFwZURldGVjdGlvbi5tb2pvbS5M
YW5kbWFya1R5cGUuRVlFLAotICAgICAgICAgICAgICBsb2NhdGlvbnM6IFsKLSAgICAgICAgICAg
ICAgICB7eDogNC4wLCB5OiA1LjB9LCB7eDogNS4wLCB5OiA0LjB9LCB7eDogNi4wLCB5OiAzLjB9
LAotICAgICAgICAgICAgICAgIHt4OiA3LjAsIHk6IDQuMH0sIHt4OiA4LjAsIHk6IDUuMH0sIHt4
OiA3LjAsIHk6IDYuMH0sCi0gICAgICAgICAgICAgICAge3g6IDYuMCwgeTogNy4wfSwge3g6IDUu
MCwgeTogNi4wfQotICAgICAgICAgICAgICBdCi0gICAgICAgICAgICB9XQotICAgICAgICAgIH0s
Ci0gICAgICAgICAgewotICAgICAgICAgICAgYm91bmRpbmdCb3g6IHt4OiAyLjAsIHk6IDIuMCwg
d2lkdGg6IDIwMC4wLCBoZWlnaHQ6IDIwMC4wfSwKLSAgICAgICAgICAgIGxhbmRtYXJrczogW3sK
LSAgICAgICAgICAgICAgdHlwZTogc2hhcGVEZXRlY3Rpb24ubW9qb20uTGFuZG1hcmtUeXBlLk5P
U0UsCi0gICAgICAgICAgICAgIGxvY2F0aW9uczogW3t4OiAxMDAuMCwgeTogNTAuMH1dCi0gICAg
ICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICB0eXBlOiBzaGFwZURldGVj
dGlvbi5tb2pvbS5MYW5kbWFya1R5cGUuTk9TRSwKLSAgICAgICAgICAgICAgbG9jYXRpb25zOiBb
Ci0gICAgICAgICAgICAgICAge3g6IDgwLjAsIHk6IDUwLjB9LCB7eDogNzAuMCwgeTogNjAuMH0s
IHt4OiA2MC4wLCB5OiA3MC4wfSwKLSAgICAgICAgICAgICAgICB7eDogNzAuMCwgeTogNjAuMH0s
IHt4OiA4MC4wLCB5OiA3MC4wfSwge3g6IDkwLjAsIHk6IDgwLjB9LAotICAgICAgICAgICAgICAg
IHt4OiAxMDAuMCwgeTogNzAuMH0sIHt4OiA5MC4wLCB5OiA2MC4wfSwge3g6IDgwLjAsIHk6IDUw
LjB9Ci0gICAgICAgICAgICAgIF0KLSAgICAgICAgICAgIH1dCi0gICAgICAgICAgfSwKLSAgICAg
ICAgICB7Ci0gICAgICAgICAgICBib3VuZGluZ0JveDoge3g6IDMuMCwgeTogMy4wLCB3aWR0aDog
MzAwLjAsIGhlaWdodDogMzAwLjB9LAotICAgICAgICAgICAgbGFuZG1hcmtzOiBbXQotICAgICAg
ICAgIH0sCi0gICAgICAgIF0KLSAgICAgIH0pOwotICAgIH0KLSAgfQotCi0gIGxldCB0ZXN0SW50
ZXJuYWwgPSB7Ci0gICAgaW5pdGlhbGl6ZWQ6IGZhbHNlLAotICAgIE1vY2tGYWNlRGV0ZWN0aW9u
UHJvdmlkZXI6IG51bGwKLSAgfQotCi0gIGNsYXNzIEZhY2VEZXRlY3Rpb25UZXN0Q2hyb21pdW0g
ewotICAgIGNvbnN0cnVjdG9yKCkgewotICAgICAgT2JqZWN0LmZyZWV6ZSh0aGlzKTsgLy8gTWFr
ZSBpdCBpbW11dGFibGUuCi0gICAgfQotCi0gICAgaW5pdGlhbGl6ZSgpIHsKLSAgICAgIGlmICh0
ZXN0SW50ZXJuYWwuaW5pdGlhbGl6ZWQpCi0gICAgICAgIHRocm93IG5ldyBFcnJvcignQ2FsbCBy
ZXNldCgpIGJlZm9yZSBpbml0aWFsaXplKCkuJyk7Ci0KLSAgICAgIHRlc3RJbnRlcm5hbC5Nb2Nr
RmFjZURldGVjdGlvblByb3ZpZGVyID0gbmV3IE1vY2tGYWNlRGV0ZWN0aW9uUHJvdmlkZXI7Ci0g
ICAgICB0ZXN0SW50ZXJuYWwuaW5pdGlhbGl6ZWQgPSB0cnVlOwotICAgIH0KLQotICAgIC8vIFJl
c2V0cyBzdGF0ZSBvZiBmYWNlIGRldGVjdGlvbiBtb2NrcyBiZXR3ZWVuIHRlc3QgcnVucy4KLSAg
ICBhc3luYyByZXNldCgpIHsKLSAgICAgIGlmICghdGVzdEludGVybmFsLmluaXRpYWxpemVkKQot
ICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0NhbGwgaW5pdGlhbGl6ZSgpIGJlZm9yZSByZXNldCgp
LicpOwotICAgICAgdGVzdEludGVybmFsLk1vY2tGYWNlRGV0ZWN0aW9uUHJvdmlkZXIucmVzZXQo
KTsKLSAgICAgIHRlc3RJbnRlcm5hbC5Nb2NrRmFjZURldGVjdGlvblByb3ZpZGVyID0gbnVsbDsK
LSAgICAgIHRlc3RJbnRlcm5hbC5pbml0aWFsaXplZCA9IGZhbHNlOwotCi0gICAgICBhd2FpdCBu
ZXcgUHJvbWlzZShyZXNvbHZlID0+IHNldFRpbWVvdXQocmVzb2x2ZSwgMCkpOwotICAgIH0KLQot
ICAgIE1vY2tGYWNlRGV0ZWN0aW9uUHJvdmlkZXIoKSB7Ci0gICAgICByZXR1cm4gdGVzdEludGVy
bmFsLk1vY2tGYWNlRGV0ZWN0aW9uUHJvdmlkZXI7Ci0gICAgfQotICB9Ci0KLSAgcmV0dXJuIEZh
Y2VEZXRlY3Rpb25UZXN0Q2hyb21pdW07Ci19KSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vbW9jay1m
YWNlZGV0ZWN0aW9uLmpzLmhlYWRlcnMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS9tb2NrLWZhY2VkZXRlY3Rpb24uanMuaGVh
ZGVycwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmM2MWEzNGE0ZWMuLjAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL2Nocm9taXVtL21vY2stZmFjZWRldGVjdGlvbi5qcy5oZWFkZXJzCisrKyAvZGV2L251
bGwKQEAgLTEgKzAsMCBAQAotQ29udGVudC1UeXBlOiB0ZXh0L2phdmFzY3JpcHQ7IGNoYXJzZXQ9
dXRmLTgKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS9tb2Nr
LWltYWdlY2FwdHVyZS5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL21vY2staW1hZ2VjYXB0dXJlLmpzCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCA5ZDQ2YjU3MDIwZi4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0v
bW9jay1pbWFnZWNhcHR1cmUuanMKKysrIC9kZXYvbnVsbApAQCAtMSwyNjUgKzAsMCBAQAotInVz
ZSBzdHJpY3QiOwotCi12YXIgSW1hZ2VDYXB0dXJlVGVzdCA9ICgoKSA9PiB7Ci0gIC8vIENsYXNz
IHRoYXQgbW9ja3MgSW1hZ2VDYXB0dXJlIGludGVyZmFjZSBkZWZpbmVkIGluCi0gIC8vIGh0dHBz
Oi8vY3MuY2hyb21pdW0ub3JnL2Nocm9taXVtL3NyYy9tZWRpYS9jYXB0dXJlL21vam9tL2ltYWdl
X2NhcHR1cmUubW9qb20KLSAgY2xhc3MgTW9ja0ltYWdlQ2FwdHVyZSB7Ci0gICAgY29uc3RydWN0
b3IoKSB7Ci0gICAgICB0aGlzLmludGVyY2VwdG9yXyA9IG5ldyBNb2pvSW50ZXJmYWNlSW50ZXJj
ZXB0b3IoCi0gICAgICAgIG1lZGlhLm1vam9tLkltYWdlQ2FwdHVyZS5uYW1lLCAiY29udGV4dCIs
IHRydWUpOwotICAgICAgdGhpcy5pbnRlcmNlcHRvcl8ub25pbnRlcmZhY2VyZXF1ZXN0ID0KLSAg
ICAgICAgZSA9PiB0aGlzLmJpbmRpbmdTZXRfLmFkZEJpbmRpbmcodGhpcywgZS5oYW5kbGUpOwot
ICAgICAgdGhpcy5pbnRlcmNlcHRvcl8uc3RhcnQoKTsKLQotICAgICAgdGhpcy5zdGF0ZV8gPSB7
Ci0gICAgICAgIHN0YXRlOiB7Ci0gICAgICAgICAgc3VwcG9ydGVkV2hpdGVCYWxhbmNlTW9kZXM6
IFsKLSAgICAgICAgICAgIG1lZGlhLm1vam9tLk1ldGVyaW5nTW9kZS5TSU5HTEVfU0hPVCwKLSAg
ICAgICAgICAgIG1lZGlhLm1vam9tLk1ldGVyaW5nTW9kZS5DT05USU5VT1VTCi0gICAgICAgICAg
XSwKLSAgICAgICAgICBjdXJyZW50V2hpdGVCYWxhbmNlTW9kZTogbWVkaWEubW9qb20uTWV0ZXJp
bmdNb2RlLkNPTlRJTlVPVVMsCi0gICAgICAgICAgc3VwcG9ydGVkRXhwb3N1cmVNb2RlczogWwot
ICAgICAgICAgICAgbWVkaWEubW9qb20uTWV0ZXJpbmdNb2RlLk1BTlVBTCwKLSAgICAgICAgICAg
IG1lZGlhLm1vam9tLk1ldGVyaW5nTW9kZS5TSU5HTEVfU0hPVCwKLSAgICAgICAgICAgIG1lZGlh
Lm1vam9tLk1ldGVyaW5nTW9kZS5DT05USU5VT1VTCi0gICAgICAgICAgXSwKLSAgICAgICAgICBj
dXJyZW50RXhwb3N1cmVNb2RlOiBtZWRpYS5tb2pvbS5NZXRlcmluZ01vZGUuTUFOVUFMLAotICAg
ICAgICAgIHN1cHBvcnRlZEZvY3VzTW9kZXM6IFsKLSAgICAgICAgICAgIG1lZGlhLm1vam9tLk1l
dGVyaW5nTW9kZS5NQU5VQUwsCi0gICAgICAgICAgICBtZWRpYS5tb2pvbS5NZXRlcmluZ01vZGUu
U0lOR0xFX1NIT1QKLSAgICAgICAgICBdLAotICAgICAgICAgIGN1cnJlbnRGb2N1c01vZGU6IG1l
ZGlhLm1vam9tLk1ldGVyaW5nTW9kZS5NQU5VQUwsCi0gICAgICAgICAgcG9pbnRzT2ZJbnRlcmVz
dDogW3sKLSAgICAgICAgICAgIHg6IDAuNCwKLSAgICAgICAgICAgIHk6IDAuNgotICAgICAgICAg
IH1dLAotCi0gICAgICAgICAgZXhwb3N1cmVDb21wZW5zYXRpb246IHsKLSAgICAgICAgICAgIG1p
bjogLTIwMC4wLAotICAgICAgICAgICAgbWF4OiAyMDAuMCwKLSAgICAgICAgICAgIGN1cnJlbnQ6
IDMzLjAsCi0gICAgICAgICAgICBzdGVwOiAzMy4wCi0gICAgICAgICAgfSwKLSAgICAgICAgICBl
eHBvc3VyZVRpbWU6IHsKLSAgICAgICAgICAgIG1pbjogMTAwLjAsCi0gICAgICAgICAgICBtYXg6
IDEwMDAwMC4wLAotICAgICAgICAgICAgY3VycmVudDogMTAwMC4wLAotICAgICAgICAgICAgc3Rl
cDogMTAwLjAKLSAgICAgICAgICB9LAotICAgICAgICAgIGNvbG9yVGVtcGVyYXR1cmU6IHsKLSAg
ICAgICAgICAgIG1pbjogMjUwMC4wLAotICAgICAgICAgICAgbWF4OiA2NTAwLjAsCi0gICAgICAg
ICAgICBjdXJyZW50OiA2MDAwLjAsCi0gICAgICAgICAgICBzdGVwOiAxMDAwLjAKLSAgICAgICAg
ICB9LAotICAgICAgICAgIGlzbzogewotICAgICAgICAgICAgbWluOiAxMDAuMCwKLSAgICAgICAg
ICAgIG1heDogMTIwMDAuMCwKLSAgICAgICAgICAgIGN1cnJlbnQ6IDQwMC4wLAotICAgICAgICAg
ICAgc3RlcDogMS4wCi0gICAgICAgICAgfSwKLQotICAgICAgICAgIGJyaWdodG5lc3M6IHsKLSAg
ICAgICAgICAgIG1pbjogMS4wLAotICAgICAgICAgICAgbWF4OiAxMC4wLAotICAgICAgICAgICAg
Y3VycmVudDogNS4wLAotICAgICAgICAgICAgc3RlcDogMS4wCi0gICAgICAgICAgfSwKLSAgICAg
ICAgICBjb250cmFzdDogewotICAgICAgICAgICAgbWluOiAyLjAsCi0gICAgICAgICAgICBtYXg6
IDkuMCwKLSAgICAgICAgICAgIGN1cnJlbnQ6IDUuMCwKLSAgICAgICAgICAgIHN0ZXA6IDEuMAot
ICAgICAgICAgIH0sCi0gICAgICAgICAgc2F0dXJhdGlvbjogewotICAgICAgICAgICAgbWluOiAz
LjAsCi0gICAgICAgICAgICBtYXg6IDguMCwKLSAgICAgICAgICAgIGN1cnJlbnQ6IDYuMCwKLSAg
ICAgICAgICAgIHN0ZXA6IDEuMAotICAgICAgICAgIH0sCi0gICAgICAgICAgc2hhcnBuZXNzOiB7
Ci0gICAgICAgICAgICBtaW46IDQuMCwKLSAgICAgICAgICAgIG1heDogNy4wLAotICAgICAgICAg
ICAgY3VycmVudDogNy4wLAotICAgICAgICAgICAgc3RlcDogMS4wCi0gICAgICAgICAgfSwKLQot
ICAgICAgICAgIGZvY3VzRGlzdGFuY2U6IHsKLSAgICAgICAgICAgIG1pbjogMS4wLAotICAgICAg
ICAgICAgbWF4OiAxMC4wLAotICAgICAgICAgICAgY3VycmVudDogMy4wLAotICAgICAgICAgICAg
c3RlcDogMS4wCi0gICAgICAgICAgfSwKLQotICAgICAgICAgIHBhbjogewotICAgICAgICAgICAg
bWluOiAwLjAsCi0gICAgICAgICAgICBtYXg6IDEwLjAsCi0gICAgICAgICAgICBjdXJyZW50OiA1
LjAsCi0gICAgICAgICAgICBzdGVwOiAyLjAKLSAgICAgICAgICB9LAotCi0gICAgICAgICAgdGls
dDogewotICAgICAgICAgICAgbWluOiAwLjAsCi0gICAgICAgICAgICBtYXg6IDEwLjAsCi0gICAg
ICAgICAgICBjdXJyZW50OiA1LjAsCi0gICAgICAgICAgICBzdGVwOiAyLjAKLSAgICAgICAgICB9
LAotCi0gICAgICAgICAgem9vbTogewotICAgICAgICAgICAgbWluOiAwLjAsCi0gICAgICAgICAg
ICBtYXg6IDEwLjAsCi0gICAgICAgICAgICBjdXJyZW50OiA1LjAsCi0gICAgICAgICAgICBzdGVw
OiA1LjAKLSAgICAgICAgICB9LAotCi0gICAgICAgICAgc3VwcG9ydHNUb3JjaDogdHJ1ZSwKLSAg
ICAgICAgICB0b3JjaDogZmFsc2UsCi0KLSAgICAgICAgICByZWRFeWVSZWR1Y3Rpb246IG1lZGlh
Lm1vam9tLlJlZEV5ZVJlZHVjdGlvbi5DT05UUk9MTEFCTEUsCi0gICAgICAgICAgaGVpZ2h0OiB7
Ci0gICAgICAgICAgICBtaW46IDI0MC4wLAotICAgICAgICAgICAgbWF4OiAyNDQ4LjAsCi0gICAg
ICAgICAgICBjdXJyZW50OiAyNDAuMCwKLSAgICAgICAgICAgIHN0ZXA6IDIuMAotICAgICAgICAg
IH0sCi0gICAgICAgICAgd2lkdGg6IHsKLSAgICAgICAgICAgIG1pbjogMzIwLjAsCi0gICAgICAg
ICAgICBtYXg6IDMyNjQuMCwKLSAgICAgICAgICAgIGN1cnJlbnQ6IDMyMC4wLAotICAgICAgICAg
ICAgc3RlcDogMy4wCi0gICAgICAgICAgfSwKLSAgICAgICAgICBmaWxsTGlnaHRNb2RlOiBbCi0g
ICAgICAgICAgICBtZWRpYS5tb2pvbS5GaWxsTGlnaHRNb2RlLkFVVE8sIG1lZGlhLm1vam9tLkZp
bGxMaWdodE1vZGUuRkxBU0gKLSAgICAgICAgICBdLAotICAgICAgICB9Ci0gICAgICB9OwotICAg
ICAgdGhpcy5zZXR0aW5nc18gPSBudWxsOwotICAgICAgdGhpcy5iaW5kaW5nU2V0XyA9IG5ldyBt
b2pvLkJpbmRpbmdTZXQobWVkaWEubW9qb20uSW1hZ2VDYXB0dXJlKTsKLSAgICB9Ci0KLSAgICBy
ZXNldCgpIHsKLSAgICAgIHRoaXMuYmluZGluZ1NldF8uY2xvc2VBbGxCaW5kaW5ncygpOwotICAg
ICAgdGhpcy5pbnRlcmNlcHRvcl8uc3RvcCgpOwotICAgIH0KLQotICAgIGdldFBob3RvU3RhdGUo
c291cmNlX2lkKSB7Ci0gICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHRoaXMuc3RhdGVfKTsK
LSAgICB9Ci0KLSAgICBzZXRPcHRpb25zKHNvdXJjZV9pZCwgc2V0dGluZ3MpIHsKLSAgICAgIHRo
aXMuc2V0dGluZ3NfID0gc2V0dGluZ3M7Ci0gICAgICBpZiAoc2V0dGluZ3MuaGFzSXNvKQotICAg
ICAgICB0aGlzLnN0YXRlXy5zdGF0ZS5pc28uY3VycmVudCA9IHNldHRpbmdzLmlzbzsKLSAgICAg
IGlmIChzZXR0aW5ncy5oYXNIZWlnaHQpCi0gICAgICAgIHRoaXMuc3RhdGVfLnN0YXRlLmhlaWdo
dC5jdXJyZW50ID0gc2V0dGluZ3MuaGVpZ2h0OwotICAgICAgaWYgKHNldHRpbmdzLmhhc1dpZHRo
KQotICAgICAgICB0aGlzLnN0YXRlXy5zdGF0ZS53aWR0aC5jdXJyZW50ID0gc2V0dGluZ3Mud2lk
dGg7Ci0gICAgICBpZiAoc2V0dGluZ3MuaGFzUGFuKQotICAgICAgICB0aGlzLnN0YXRlXy5zdGF0
ZS5wYW4uY3VycmVudCA9IHNldHRpbmdzLnBhbjsKLSAgICAgIGlmIChzZXR0aW5ncy5oYXNUaWx0
KQotICAgICAgICB0aGlzLnN0YXRlXy5zdGF0ZS50aWx0LmN1cnJlbnQgPSBzZXR0aW5ncy50aWx0
OwotICAgICAgaWYgKHNldHRpbmdzLmhhc1pvb20pCi0gICAgICAgIHRoaXMuc3RhdGVfLnN0YXRl
Lnpvb20uY3VycmVudCA9IHNldHRpbmdzLnpvb207Ci0gICAgICBpZiAoc2V0dGluZ3MuaGFzRm9j
dXNNb2RlKQotICAgICAgICB0aGlzLnN0YXRlXy5zdGF0ZS5jdXJyZW50Rm9jdXNNb2RlID0gc2V0
dGluZ3MuZm9jdXNNb2RlOwotICAgICAgaWYgKHNldHRpbmdzLmhhc0ZvY3VzRGlzdGFuY2UpCi0g
ICAgICAgIHRoaXMuc3RhdGVfLnN0YXRlLmZvY3VzRGlzdGFuY2UuY3VycmVudCA9IHNldHRpbmdz
LmZvY3VzRGlzdGFuY2U7Ci0KLSAgICAgIGlmIChzZXR0aW5ncy5wb2ludHNPZkludGVyZXN0Lmxl
bmd0aCA+IDApIHsKLSAgICAgICAgdGhpcy5zdGF0ZV8uc3RhdGUucG9pbnRzT2ZJbnRlcmVzdCA9
Ci0gICAgICAgICAgc2V0dGluZ3MucG9pbnRzT2ZJbnRlcmVzdDsKLSAgICAgIH0KLQotICAgICAg
aWYgKHNldHRpbmdzLmhhc0V4cG9zdXJlTW9kZSkKLSAgICAgICAgdGhpcy5zdGF0ZV8uc3RhdGUu
Y3VycmVudEV4cG9zdXJlTW9kZSA9IHNldHRpbmdzLmV4cG9zdXJlTW9kZTsKLQotICAgICAgaWYg
KHNldHRpbmdzLmhhc0V4cG9zdXJlQ29tcGVuc2F0aW9uKSB7Ci0gICAgICAgIHRoaXMuc3RhdGVf
LnN0YXRlLmV4cG9zdXJlQ29tcGVuc2F0aW9uLmN1cnJlbnQgPQotICAgICAgICAgIHNldHRpbmdz
LmV4cG9zdXJlQ29tcGVuc2F0aW9uOwotICAgICAgfQotICAgICAgaWYgKHNldHRpbmdzLmhhc0V4
cG9zdXJlVGltZSkgewotICAgICAgICB0aGlzLnN0YXRlXy5zdGF0ZS5leHBvc3VyZVRpbWUuY3Vy
cmVudCA9Ci0gICAgICAgICAgc2V0dGluZ3MuZXhwb3N1cmVUaW1lOwotICAgICAgfQotICAgICAg
aWYgKHNldHRpbmdzLmhhc1doaXRlQmFsYW5jZU1vZGUpIHsKLSAgICAgICAgdGhpcy5zdGF0ZV8u
c3RhdGUuY3VycmVudFdoaXRlQmFsYW5jZU1vZGUgPQotICAgICAgICAgIHNldHRpbmdzLndoaXRl
QmFsYW5jZU1vZGU7Ci0gICAgICB9Ci0gICAgICBpZiAoc2V0dGluZ3MuaGFzRmlsbExpZ2h0TW9k
ZSkKLSAgICAgICAgdGhpcy5zdGF0ZV8uc3RhdGUuZmlsbExpZ2h0TW9kZSA9IFtzZXR0aW5ncy5m
aWxsTGlnaHRNb2RlXTsKLSAgICAgIGlmIChzZXR0aW5ncy5oYXNSZWRFeWVSZWR1Y3Rpb24pCi0g
ICAgICAgIHRoaXMuc3RhdGVfLnN0YXRlLnJlZEV5ZVJlZHVjdGlvbiA9IHNldHRpbmdzLnJlZEV5
ZVJlZHVjdGlvbjsKLSAgICAgIGlmIChzZXR0aW5ncy5oYXNDb2xvclRlbXBlcmF0dXJlKSB7Ci0g
ICAgICAgIHRoaXMuc3RhdGVfLnN0YXRlLmNvbG9yVGVtcGVyYXR1cmUuY3VycmVudCA9Ci0gICAg
ICAgICAgc2V0dGluZ3MuY29sb3JUZW1wZXJhdHVyZTsKLSAgICAgIH0KLSAgICAgIGlmIChzZXR0
aW5ncy5oYXNCcmlnaHRuZXNzKQotICAgICAgICB0aGlzLnN0YXRlXy5zdGF0ZS5icmlnaHRuZXNz
LmN1cnJlbnQgPSBzZXR0aW5ncy5icmlnaHRuZXNzOwotICAgICAgaWYgKHNldHRpbmdzLmhhc0Nv
bnRyYXN0KQotICAgICAgICB0aGlzLnN0YXRlXy5zdGF0ZS5jb250cmFzdC5jdXJyZW50ID0gc2V0
dGluZ3MuY29udHJhc3Q7Ci0gICAgICBpZiAoc2V0dGluZ3MuaGFzU2F0dXJhdGlvbikKLSAgICAg
ICAgdGhpcy5zdGF0ZV8uc3RhdGUuc2F0dXJhdGlvbi5jdXJyZW50ID0gc2V0dGluZ3Muc2F0dXJh
dGlvbjsKLSAgICAgIGlmIChzZXR0aW5ncy5oYXNTaGFycG5lc3MpCi0gICAgICAgIHRoaXMuc3Rh
dGVfLnN0YXRlLnNoYXJwbmVzcy5jdXJyZW50ID0gc2V0dGluZ3Muc2hhcnBuZXNzOwotCi0gICAg
ICBpZiAoc2V0dGluZ3MuaGFzVG9yY2gpCi0gICAgICAgIHRoaXMuc3RhdGVfLnN0YXRlLnRvcmNo
ID0gc2V0dGluZ3MudG9yY2g7Ci0KLSAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoewotICAg
ICAgICBzdWNjZXNzOiB0cnVlCi0gICAgICB9KTsKLSAgICB9Ci0KLSAgICB0YWtlUGhvdG8oc291
cmNlX2lkKSB7Ci0gICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHsKLSAgICAgICAgYmxvYjog
ewotICAgICAgICAgIG1pbWVUeXBlOiAnaW1hZ2UvY2F0JywKLSAgICAgICAgICBkYXRhOiBuZXcg
QXJyYXkoMikKLSAgICAgICAgfQotICAgICAgfSk7Ci0gICAgfQotCi0gICAgc3RhdGUoKSB7Ci0g
ICAgICByZXR1cm4gdGhpcy5zdGF0ZV8uc3RhdGU7Ci0gICAgfQotCi0gICAgb3B0aW9ucygpIHsK
LSAgICAgIHJldHVybiB0aGlzLnNldHRpbmdzXzsKLSAgICB9Ci0gIH0KLQotICBsZXQgdGVzdElu
dGVybmFsID0gewotICAgIGluaXRpYWxpemVkOiBmYWxzZSwKLSAgICBtb2NrSW1hZ2VDYXB0dXJl
OiBudWxsCi0gIH0KLQotICBjbGFzcyBJbWFnZUNhcHR1cmVUZXN0Q2hyb21pdW0gewotCi0gICAg
Y29uc3RydWN0b3IoKSB7Ci0gICAgICBPYmplY3QuZnJlZXplKHRoaXMpOyAvLyBNYWtlIGl0IGlt
bXV0YWJsZS4KLSAgICB9Ci0KLSAgICBpbml0aWFsaXplKCkgewotICAgICAgaWYgKHRlc3RJbnRl
cm5hbC5pbml0aWFsaXplZCkKLSAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdDYWxsIHJlc2V0KCkg
YmVmb3JlIGluaXRpYWxpemUoKS4nKTsKLQotICAgICAgdGVzdEludGVybmFsLm1vY2tJbWFnZUNh
cHR1cmUgPSBuZXcgTW9ja0ltYWdlQ2FwdHVyZTsKLSAgICAgIHRlc3RJbnRlcm5hbC5pbml0aWFs
aXplZCA9IHRydWU7Ci0gICAgfQotICAgIC8vIFJlc2V0cyBzdGF0ZSBvZiBpbWFnZSBjYXB0dXJl
IG1vY2tzIGJldHdlZW4gdGVzdCBydW5zLgotICAgIGFzeW5jIHJlc2V0KCkgewotICAgICAgaWYg
KCF0ZXN0SW50ZXJuYWwuaW5pdGlhbGl6ZWQpCi0gICAgICAgIHRocm93IG5ldyBFcnJvcignQ2Fs
bCBpbml0aWFsaXplKCkgYmVmb3JlIHJlc2V0KCkuJyk7Ci0gICAgICB0ZXN0SW50ZXJuYWwubW9j
a0ltYWdlQ2FwdHVyZS5yZXNldCgpOwotICAgICAgdGVzdEludGVybmFsLm1vY2tJbWFnZUNhcHR1
cmUgPSBudWxsOwotICAgICAgdGVzdEludGVybmFsLmluaXRpYWxpemVkID0gZmFsc2U7Ci0KLSAg
ICAgIGF3YWl0IG5ldyBQcm9taXNlKHJlc29sdmUgPT4gc2V0VGltZW91dChyZXNvbHZlLCAwKSk7
Ci0gICAgfQotICAgIG1vY2tJbWFnZUNhcHR1cmUoKSB7Ci0gICAgICByZXR1cm4gdGVzdEludGVy
bmFsLm1vY2tJbWFnZUNhcHR1cmU7Ci0gICAgfQotICB9Ci0KLSAgcmV0dXJuIEltYWdlQ2FwdHVy
ZVRlc3RDaHJvbWl1bTsKLX0pKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS9tb2pvX2JpbmRpbmdzLmpz
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
Y2hyb21pdW0vbW9qb19iaW5kaW5ncy5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
NzBmNmNhZDVlNWYuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL21vam9fYmluZGluZ3MuanMKKysr
IC9kZXYvbnVsbApAQCAtMSw1MTQ2ICswLDAgQEAKLS8vIENvcHlyaWdodCAyMDE3IFRoZSBDaHJv
bWl1bSBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotLy8gVXNlIG9mIHRoaXMgc291cmNl
IGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQotLy8g
Zm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KLQotJ3VzZSBzdHJpY3QnOwotCi1pZiAoKHR5cGVv
ZiBtb2pvICE9PSAndW5kZWZpbmVkJykgJiYgbW9qby5iaW5kaW5nc0xpYnJhcnlJbml0aWFsaXpl
ZCkgewotICB0aHJvdyBuZXcgRXJyb3IoJ1RoZSBNb2pvIGJpbmRpbmdzIGxpYnJhcnkgaGFzIGJl
ZW4gaW5pdGlhbGl6ZWQuJyk7Ci19Ci0KLXZhciBtb2pvID0gbW9qbyB8fCB7fTsKLW1vam8uYmlu
ZGluZ3NMaWJyYXJ5SW5pdGlhbGl6ZWQgPSB0cnVlOwotCi1tb2pvLmludGVybmFsID0gbW9qby5p
bnRlcm5hbCB8fCB7fTsKLQotbW9qby5jb25maWcgPSBtb2pvLmNvbmZpZyB8fCB7fTsKLWlmICh0
eXBlb2YgbW9qby5jb25maWcuZ2xvYmFsID09PSAndW5kZWZpbmVkJykgewotICBtb2pvLmNvbmZp
Zy5nbG9iYWwgPSB0aGlzOwotfQotCi1pZiAodHlwZW9mIG1vam8uY29uZmlnLmF1dG9Mb2FkTW9q
b21EZXBzID09PSAndW5kZWZpbmVkJykgewotICAvLyBXaGV0aGVyIHRvIGF1dG9tYXRpY2FsbHkg
bG9hZCBtb2pvbSBkZXBlbmRlbmNpZXMuCi0gIC8vIEZvciBleGFtcGxlLCBpZiBmb28ubW9qb20g
aW1wb3J0cyBiYXIubW9qb20sIHxhdXRvTG9hZE1vam9tRGVwc3wgc2V0IHRvCi0gIC8vIHRydWUg
bWVhbnMgdGhhdCBsb2FkaW5nIGZvby5tb2pvbS5qcyB3aWxsIGluc2VydCBhIDxzY3JpcHQ+IHRh
ZyB0byBsb2FkCi0gIC8vIGJhci5tb2pvbS5qcywgaWYgaXQgaGFzbid0IGJlZW4gbG9hZGVkLgot
ICAvLwotICAvLyBUaGUgVVJMIG9mIGJhci5tb2pvbS5qcyBpcyBkZXRlcm1pbmVkIGJ5IHRoZSBy
ZWxhdGl2ZSBwYXRoIG9mIGJhci5tb2pvbQotICAvLyAocmVsYXRpdmUgdG8gdGhlIHBvc2l0aW9u
IG9mIGZvby5tb2pvbSBhdCBidWlsZCB0aW1lKSBhbmQgdGhlIFVSTCBvZgotICAvLyBmb28ubW9q
b20uanMuIEZvciBleG1wbGUsIGlmIGF0IGJ1aWxkIHRpbWUgdGhlIHR3byBtb2pvbSBmaWxlcyBh
cmUKLSAgLy8gbG9jYXRlZCBhdDoKLSAgLy8gICBhL2IvYy9mb28ubW9qb20KLSAgLy8gICBhL2Iv
ZC9iYXIubW9qb20KLSAgLy8gYW5kIHRoZSBVUkwgb2YgZm9vLm1vam9tLmpzIGlzOgotICAvLyAg
IGh0dHA6Ly9leGFtcGxlLm9yZy9zY3JpcHRzL2IvYy9mb28ubW9qb20uanMKLSAgLy8gdGhlbiB0
aGUgVVJMIG9mIGJhci5tb2pvbS5qcyB3aWxsIGJlOgotICAvLyAgIGh0dHA6Ly9leGFtcGxlLm9y
Zy9zY3JpcHRzL2IvZC9iYXIubW9qb20uanMKLSAgLy8KLSAgLy8gSWYgeW91IHdvdWxkIGxpa2Ug
YmFyLm1vam9tLmpzIHRvIGxpdmUgYXQgYSBkaWZmZXJlbnQgbG9jYXRpb24sIHlvdSBuZWVkCi0g
IC8vIHRvIHR1cm4gb2ZmIHxhdXRvTG9hZE1vam9tRGVwc3wgYmVmb3JlIGxvYWRpbmcgZm9vLm1v
am9tLmpzLCBhbmQgbWFudWFsbHkKLSAgLy8gbG9hZCBiYXIubW9qb20uanMgeW91cnNlbGYuIFNp
bWlsYXJseSwgeW91IG5lZWQgdG8gdHVybiBvZmYgdGhlIG9wdGlvbiBpZgotICAvLyB5b3UgbWVy
Z2UgYmFyLm1vam9tLmpzIGFuZCBmb28ubW9qb20uanMgaW50byBhIHNpbmdsZSBmaWxlLgotICAv
LwotICAvLyBQZXJmb3JtYW5jZSB0aXA6IEF2b2lkIGxvYWRpbmcgdGhlIHNhbWUgbW9qb20uanMg
ZmlsZSBtdWx0aXBsZSB0aW1lcy4KLSAgLy8gQXNzdW1lIHRoYXQgfGF1dG9Mb2FkTW9qb21EZXBz
fCBpcyBzZXQgdG8gdHJ1ZSwKLSAgLy8KLSAgLy8gPCEtLQotICAvLyAoVGhpcyBjb21tZW50IHRh
ZyBpcyBuZWNlc3Nhcnkgb24gSU9TIHRvIGF2b2lkIGludGVycHJldGluZyB0aGUgY2xvc2luZwot
ICAvLyBzY3JpcHQgdGFncyBpbiB0aGUgZXhhbXBsZS4pCi0gIC8vCi0gIC8vIE5vIGR1cGxpY2F0
ZSBsb2FkaW5nOyByZWNvbW1lbmRlZDoKLSAgLy8gPHNjcmlwdCBzcmM9Imh0dHA6Ly9leGFtcGxl
Lm9yZy9zY3JpcHRzL2IvYy9mb28ubW9qb20uanMiPjwvc2NyaXB0PgotICAvLwotICAvLyBObyBk
dXBsaWNhdGUgbG9hZGluZywgYWx0aG91Z2ggdW5uZWNlc3Nhcnk6Ci0gIC8vIDxzY3JpcHQgc3Jj
PSJodHRwOi8vZXhhbXBsZS5vcmcvc2NyaXB0cy9iL2QvYmFyLm1vam9tLmpzIj48L3NjcmlwdD4K
LSAgLy8gPHNjcmlwdCBzcmM9Imh0dHA6Ly9leGFtcGxlLm9yZy9zY3JpcHRzL2IvYy9mb28ubW9q
b20uanMiPjwvc2NyaXB0PgotICAvLwotICAvLyBMb2FkIGJhci5tb2pvbS5qcyB0d2ljZTsgc2hv
dWxkIGJlIGF2b2lkZWQ6Ci0gIC8vIDxzY3JpcHQgc3JjPSJodHRwOi8vZXhhbXBsZS5vcmcvc2Ny
aXB0cy9iL2MvZm9vLm1vam9tLmpzIj48L3NjcmlwdD4KLSAgLy8gPHNjcmlwdCBzcmM9Imh0dHA6
Ly9leGFtcGxlLm9yZy9zY3JpcHRzL2IvZC9iYXIubW9qb20uanMiPjwvc2NyaXB0PgotICAvLwot
ICAvLyAtLT4KLSAgbW9qby5jb25maWcuYXV0b0xvYWRNb2pvbURlcHMgPSB0cnVlOwotfQotCi0o
ZnVuY3Rpb24oKSB7Ci0gIHZhciBpbnRlcm5hbCA9IG1vam8uaW50ZXJuYWw7Ci0gIHZhciBjb25m
aWcgPSBtb2pvLmNvbmZpZzsKLQotICB2YXIgTG9hZFN0YXRlID0gewotICAgIFBFTkRJTkdfTE9B
RDogMSwKLSAgICBMT0FERUQ6IDIKLSAgfTsKLQotICB2YXIgbW9qb21SZWdpc3RyeSA9IG5ldyBN
YXAoKTsKLQotICBmdW5jdGlvbiBleHBvc2VOYW1lc3BhY2UobmFtZXNwYWNlKSB7Ci0gICAgdmFy
IGN1cnJlbnQgPSBjb25maWcuZ2xvYmFsOwotICAgIHZhciBwYXJ0cyA9IG5hbWVzcGFjZS5zcGxp
dCgnLicpOwotCi0gICAgZm9yICh2YXIgcGFydDsgcGFydHMubGVuZ3RoICYmIChwYXJ0ID0gcGFy
dHMuc2hpZnQoKSk7KSB7Ci0gICAgICBpZiAoIWN1cnJlbnRbcGFydF0pIHsKLSAgICAgICAgY3Vy
cmVudFtwYXJ0XSA9IHt9OwotICAgICAgfQotICAgICAgY3VycmVudCA9IGN1cnJlbnRbcGFydF07
Ci0gICAgfQotCi0gICAgcmV0dXJuIGN1cnJlbnQ7Ci0gIH0KLQotICBmdW5jdGlvbiBpc01vam9t
UGVuZGluZ0xvYWQoaWQpIHsKLSAgICByZXR1cm4gbW9qb21SZWdpc3RyeS5nZXQoaWQpID09PSBM
b2FkU3RhdGUuUEVORElOR19MT0FEOwotICB9Ci0KLSAgZnVuY3Rpb24gaXNNb2pvbUxvYWRlZChp
ZCkgewotICAgIHJldHVybiBtb2pvbVJlZ2lzdHJ5LmdldChpZCkgPT09IExvYWRTdGF0ZS5MT0FE
RUQ7Ci0gIH0KLQotICBmdW5jdGlvbiBtYXJrTW9qb21QZW5kaW5nTG9hZChpZCkgewotICAgIGlm
IChpc01vam9tTG9hZGVkKGlkKSkgewotICAgICAgdGhyb3cgbmV3IEVycm9yKCdUaGUgZm9sbG93
aW5nIG1vam9tIGZpbGUgaGFzIGJlZW4gbG9hZGVkOiAnICsgaWQpOwotICAgIH0KLQotICAgIG1v
am9tUmVnaXN0cnkuc2V0KGlkLCBMb2FkU3RhdGUuUEVORElOR19MT0FEKTsKLSAgfQotCi0gIGZ1
bmN0aW9uIG1hcmtNb2pvbUxvYWRlZChpZCkgewotICAgIG1vam9tUmVnaXN0cnkuc2V0KGlkLCBM
b2FkU3RhdGUuTE9BREVEKTsKLSAgfQotCi0gIGZ1bmN0aW9uIGxvYWRNb2pvbUlmTmVjZXNzYXJ5
KGlkLCByZWxhdGl2ZVBhdGgpIHsKLSAgICBpZiAobW9qb21SZWdpc3RyeS5oYXMoaWQpKSB7Ci0g
ICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgaWYgKGNvbmZpZy5nbG9iYWwuZG9jdW1lbnQgPT09
IHVuZGVmaW5lZCkgewotICAgICAgdGhyb3cgbmV3IEVycm9yKAotICAgICAgICAgICdNb2pvbSBk
ZXBlbmRlbmN5IGF1dG9sb2FkaW5nIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB3b3JrZXJzLiAnICsK
LSAgICAgICAgICAnUGxlYXNlIHNlZSBjb25maWcgdmFyaWFibGUgbW9qby5jb25maWcuYXV0b0xv
YWRNb2pvbURlcHMgZm9yIG1vcmUgJyArCi0gICAgICAgICAgJ2RldGFpbHMuJyk7Ci0gICAgfQot
Ci0gICAgbWFya01vam9tUGVuZGluZ0xvYWQoaWQpOwotICAgIHZhciB1cmwgPSBuZXcgVVJMKHJl
bGF0aXZlUGF0aCwgZG9jdW1lbnQuY3VycmVudFNjcmlwdC5zcmMpLmhyZWY7Ci0gICAgY29uZmln
Lmdsb2JhbC5kb2N1bWVudC53cml0ZSgnPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNy
Yz0iJyArCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmwgKyAnIj48JyArICcv
c2NyaXB0PicpOwotICB9Ci0KLSAgaW50ZXJuYWwuZXhwb3NlTmFtZXNwYWNlID0gZXhwb3NlTmFt
ZXNwYWNlOwotICBpbnRlcm5hbC5pc01vam9tUGVuZGluZ0xvYWQgPSBpc01vam9tUGVuZGluZ0xv
YWQ7Ci0gIGludGVybmFsLmlzTW9qb21Mb2FkZWQgPSBpc01vam9tTG9hZGVkOwotICBpbnRlcm5h
bC5tYXJrTW9qb21QZW5kaW5nTG9hZCA9IG1hcmtNb2pvbVBlbmRpbmdMb2FkOwotICBpbnRlcm5h
bC5tYXJrTW9qb21Mb2FkZWQgPSBtYXJrTW9qb21Mb2FkZWQ7Ci0gIGludGVybmFsLmxvYWRNb2pv
bUlmTmVjZXNzYXJ5ID0gbG9hZE1vam9tSWZOZWNlc3Nhcnk7Ci19KSgpOwotLy8gQ29weXJpZ2h0
IDIwMTcgVGhlIENocm9taXVtIEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0vLyBVc2Ug
b2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlIHRo
YXQgY2FuIGJlCi0vLyBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgotCi0oZnVuY3Rpb24oKSB7
Ci0gIHZhciBpbnRlcm5hbCA9IG1vam8uaW50ZXJuYWw7Ci0KLSAgLy8gLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tCi0KLSAgLy8gfG91dHB1dHwgY291bGQgYmUgYW4gaW50ZXJmYWNlIHBvaW50ZXIsIEludGVy
ZmFjZVB0ckluZm8gb3IKLSAgLy8gQXNzb2NpYXRlZEludGVyZmFjZVB0ckluZm8uCi0gIGZ1bmN0
aW9uIG1ha2VSZXF1ZXN0KG91dHB1dCkgewotICAgIGlmIChvdXRwdXQgaW5zdGFuY2VvZiBtb2pv
LkFzc29jaWF0ZWRJbnRlcmZhY2VQdHJJbmZvKSB7Ci0gICAgICB2YXIge2hhbmRsZTAsIGhhbmRs
ZTF9ID0gaW50ZXJuYWwuY3JlYXRlUGFpclBlbmRpbmdBc3NvY2lhdGlvbigpOwotICAgICAgb3V0
cHV0LmludGVyZmFjZUVuZHBvaW50SGFuZGxlID0gaGFuZGxlMDsKLSAgICAgIG91dHB1dC52ZXJz
aW9uID0gMDsKLQotICAgICAgcmV0dXJuIG5ldyBtb2pvLkFzc29jaWF0ZWRJbnRlcmZhY2VSZXF1
ZXN0KGhhbmRsZTEpOwotICAgIH0KLQotICAgIGlmIChvdXRwdXQgaW5zdGFuY2VvZiBtb2pvLklu
dGVyZmFjZVB0ckluZm8pIHsKLSAgICAgIHZhciBwaXBlID0gTW9qby5jcmVhdGVNZXNzYWdlUGlw
ZSgpOwotICAgICAgb3V0cHV0LmhhbmRsZSA9IHBpcGUuaGFuZGxlMDsKLSAgICAgIG91dHB1dC52
ZXJzaW9uID0gMDsKLQotICAgICAgcmV0dXJuIG5ldyBtb2pvLkludGVyZmFjZVJlcXVlc3QocGlw
ZS5oYW5kbGUxKTsKLSAgICB9Ci0KLSAgICB2YXIgcGlwZSA9IE1vam8uY3JlYXRlTWVzc2FnZVBp
cGUoKTsKLSAgICBvdXRwdXQucHRyLmJpbmQobmV3IG1vam8uSW50ZXJmYWNlUHRySW5mbyhwaXBl
LmhhbmRsZTAsIDApKTsKLSAgICByZXR1cm4gbmV3IG1vam8uSW50ZXJmYWNlUmVxdWVzdChwaXBl
LmhhbmRsZTEpOwotICB9Ci0KLSAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0KLSAgLy8gT3BlcmF0
aW9ucyB1c2VkIHRvIHNldHVwL2NvbmZpZ3VyZSBhbiBpbnRlcmZhY2UgcG9pbnRlci4gRXhwb3Nl
ZCBhcyB0aGUKLSAgLy8gfHB0cnwgZmllbGQgb2YgZ2VuZXJhdGVkIGludGVyZmFjZSBwb2ludGVy
IGNsYXNzZXMuCi0gIC8vIHxwdHJJbmZvT3JIYW5kbGV8IGNvdWxkIGJlIG9taXR0ZWQgYW5kIHBh
c3NlZCBpbnRvIGJpbmQoKSBsYXRlci4KLSAgZnVuY3Rpb24gSW50ZXJmYWNlUHRyQ29udHJvbGxl
cihpbnRlcmZhY2VUeXBlLCBwdHJJbmZvT3JIYW5kbGUpIHsKLSAgICB0aGlzLnZlcnNpb24gPSAw
OwotCi0gICAgdGhpcy5pbnRlcmZhY2VUeXBlXyA9IGludGVyZmFjZVR5cGU7Ci0gICAgdGhpcy5y
b3V0ZXJfID0gbnVsbDsKLSAgICB0aGlzLmludGVyZmFjZUVuZHBvaW50Q2xpZW50XyA9IG51bGw7
Ci0gICAgdGhpcy5wcm94eV8gPSBudWxsOwotCi0gICAgLy8gfHJvdXRlcl98IGFuZCB8aW50ZXJm
YWNlRW5kcG9pbnRDbGllbnRffCBhcmUgbGF6aWx5IGluaXRpYWxpemVkLgotICAgIC8vIHxoYW5k
bGVffCBpcyB2YWxpZCBiZXR3ZWVuIGJpbmQoKSBhbmQKLSAgICAvLyB0aGUgaW5pdGlhbGl6YXRp
b24gb2YgfHJvdXRlcl98IGFuZCB8aW50ZXJmYWNlRW5kcG9pbnRDbGllbnRffC4KLSAgICB0aGlz
LmhhbmRsZV8gPSBudWxsOwotCi0gICAgaWYgKHB0ckluZm9PckhhbmRsZSkKLSAgICAgIHRoaXMu
YmluZChwdHJJbmZvT3JIYW5kbGUpOwotICB9Ci0KLSAgSW50ZXJmYWNlUHRyQ29udHJvbGxlci5w
cm90b3R5cGUuYmluZCA9IGZ1bmN0aW9uKHB0ckluZm9PckhhbmRsZSkgewotICAgIHRoaXMucmVz
ZXQoKTsKLQotICAgIGlmIChwdHJJbmZvT3JIYW5kbGUgaW5zdGFuY2VvZiBtb2pvLkludGVyZmFj
ZVB0ckluZm8pIHsKLSAgICAgIHRoaXMudmVyc2lvbiA9IHB0ckluZm9PckhhbmRsZS52ZXJzaW9u
OwotICAgICAgdGhpcy5oYW5kbGVfID0gcHRySW5mb09ySGFuZGxlLmhhbmRsZTsKLSAgICB9IGVs
c2UgewotICAgICAgdGhpcy5oYW5kbGVfID0gcHRySW5mb09ySGFuZGxlOwotICAgIH0KLSAgfTsK
LQotICBJbnRlcmZhY2VQdHJDb250cm9sbGVyLnByb3RvdHlwZS5pc0JvdW5kID0gZnVuY3Rpb24o
KSB7Ci0gICAgcmV0dXJuIHRoaXMuaW50ZXJmYWNlRW5kcG9pbnRDbGllbnRfICE9PSBudWxsIHx8
IHRoaXMuaGFuZGxlXyAhPT0gbnVsbDsKLSAgfTsKLQotICAvLyBBbHRob3VnaCB1c2VycyBjb3Vs
ZCBqdXN0IGRpc2NhcmQgdGhlIG9iamVjdCwgcmVzZXQoKSBjbG9zZXMgdGhlIHBpcGUKLSAgLy8g
aW1tZWRpYXRlbHkuCi0gIEludGVyZmFjZVB0ckNvbnRyb2xsZXIucHJvdG90eXBlLnJlc2V0ID0g
ZnVuY3Rpb24oKSB7Ci0gICAgdGhpcy52ZXJzaW9uID0gMDsKLSAgICBpZiAodGhpcy5pbnRlcmZh
Y2VFbmRwb2ludENsaWVudF8pIHsKLSAgICAgIHRoaXMuaW50ZXJmYWNlRW5kcG9pbnRDbGllbnRf
LmNsb3NlKCk7Ci0gICAgICB0aGlzLmludGVyZmFjZUVuZHBvaW50Q2xpZW50XyA9IG51bGw7Ci0g
ICAgfQotICAgIGlmICh0aGlzLnJvdXRlcl8pIHsKLSAgICAgIHRoaXMucm91dGVyXy5jbG9zZSgp
OwotICAgICAgdGhpcy5yb3V0ZXJfID0gbnVsbDsKLQotICAgICAgdGhpcy5wcm94eV8gPSBudWxs
OwotICAgIH0KLSAgICBpZiAodGhpcy5oYW5kbGVfKSB7Ci0gICAgICB0aGlzLmhhbmRsZV8uY2xv
c2UoKTsKLSAgICAgIHRoaXMuaGFuZGxlXyA9IG51bGw7Ci0gICAgfQotICB9OwotCi0gIEludGVy
ZmFjZVB0ckNvbnRyb2xsZXIucHJvdG90eXBlLnJlc2V0V2l0aFJlYXNvbiA9IGZ1bmN0aW9uKHJl
YXNvbikgewotICAgIGlmICh0aGlzLmlzQm91bmQoKSkgewotICAgICAgdGhpcy5jb25maWd1cmVQ
cm94eUlmTmVjZXNzYXJ5XygpOwotICAgICAgdGhpcy5pbnRlcmZhY2VFbmRwb2ludENsaWVudF8u
Y2xvc2UocmVhc29uKTsKLSAgICAgIHRoaXMuaW50ZXJmYWNlRW5kcG9pbnRDbGllbnRfID0gbnVs
bDsKLSAgICB9Ci0gICAgdGhpcy5yZXNldCgpOwotICB9OwotCi0gIEludGVyZmFjZVB0ckNvbnRy
b2xsZXIucHJvdG90eXBlLnNldENvbm5lY3Rpb25FcnJvckhhbmRsZXIgPSBmdW5jdGlvbigKLSAg
ICAgIGNhbGxiYWNrKSB7Ci0gICAgaWYgKCF0aGlzLmlzQm91bmQoKSkKLSAgICAgIHRocm93IG5l
dyBFcnJvcigiQ2Fubm90IHNldCBjb25uZWN0aW9uIGVycm9yIGhhbmRsZXIgaWYgbm90IGJvdW5k
LiIpOwotCi0gICAgdGhpcy5jb25maWd1cmVQcm94eUlmTmVjZXNzYXJ5XygpOwotICAgIHRoaXMu
aW50ZXJmYWNlRW5kcG9pbnRDbGllbnRfLnNldENvbm5lY3Rpb25FcnJvckhhbmRsZXIoY2FsbGJh
Y2spOwotICB9OwotCi0gIEludGVyZmFjZVB0ckNvbnRyb2xsZXIucHJvdG90eXBlLnBhc3NJbnRl
cmZhY2UgPSBmdW5jdGlvbigpIHsKLSAgICB2YXIgcmVzdWx0OwotICAgIGlmICh0aGlzLnJvdXRl
cl8pIHsKLSAgICAgIC8vIFRPRE8oeXpzaGVuKTogRml4IFJvdXRlciBpbnRlcmZhY2UgdG8gc3Vw
cG9ydCBleHRyYWN0aW5nIGhhbmRsZS4KLSAgICAgIHJlc3VsdCA9IG5ldyBtb2pvLkludGVyZmFj
ZVB0ckluZm8oCi0gICAgICAgICAgdGhpcy5yb3V0ZXJfLmNvbm5lY3Rvcl8uaGFuZGxlXywgdGhp
cy52ZXJzaW9uKTsKLSAgICAgIHRoaXMucm91dGVyXy5jb25uZWN0b3JfLmhhbmRsZV8gPSBudWxs
OwotICAgIH0gZWxzZSB7Ci0gICAgICAvLyBUaGlzIGFsc28gaGFuZGxlcyB0aGUgY2FzZSB3aGVu
IHRoaXMgb2JqZWN0IGlzIG5vdCBib3VuZC4KLSAgICAgIHJlc3VsdCA9IG5ldyBtb2pvLkludGVy
ZmFjZVB0ckluZm8odGhpcy5oYW5kbGVfLCB0aGlzLnZlcnNpb24pOwotICAgICAgdGhpcy5oYW5k
bGVfID0gbnVsbDsKLSAgICB9Ci0KLSAgICB0aGlzLnJlc2V0KCk7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLSAgfTsKLQotICBJbnRlcmZhY2VQdHJDb250cm9sbGVyLnByb3RvdHlwZS5nZXRQcm94eSA9
IGZ1bmN0aW9uKCkgewotICAgIHRoaXMuY29uZmlndXJlUHJveHlJZk5lY2Vzc2FyeV8oKTsKLSAg
ICByZXR1cm4gdGhpcy5wcm94eV87Ci0gIH07Ci0KLSAgSW50ZXJmYWNlUHRyQ29udHJvbGxlci5w
cm90b3R5cGUuY29uZmlndXJlUHJveHlJZk5lY2Vzc2FyeV8gPSBmdW5jdGlvbigpIHsKLSAgICBp
ZiAoIXRoaXMuaGFuZGxlXykKLSAgICAgIHJldHVybjsKLQotICAgIHRoaXMucm91dGVyXyA9IG5l
dyBpbnRlcm5hbC5Sb3V0ZXIodGhpcy5oYW5kbGVfLCB0cnVlKTsKLSAgICB0aGlzLmhhbmRsZV8g
PSBudWxsOwotCi0gICAgdGhpcy5pbnRlcmZhY2VFbmRwb2ludENsaWVudF8gPSBuZXcgaW50ZXJu
YWwuSW50ZXJmYWNlRW5kcG9pbnRDbGllbnQoCi0gICAgICAgIHRoaXMucm91dGVyXy5jcmVhdGVM
b2NhbEVuZHBvaW50SGFuZGxlKGludGVybmFsLmtNYXN0ZXJJbnRlcmZhY2VJZCkpOwotCi0gICAg
dGhpcy5pbnRlcmZhY2VFbmRwb2ludENsaWVudF8gLnNldFBheWxvYWRWYWxpZGF0b3JzKFsKLSAg
ICAgICAgdGhpcy5pbnRlcmZhY2VUeXBlXy52YWxpZGF0ZVJlc3BvbnNlXSk7Ci0gICAgdGhpcy5w
cm94eV8gPSBuZXcgdGhpcy5pbnRlcmZhY2VUeXBlXy5wcm94eUNsYXNzKAotICAgICAgICB0aGlz
LmludGVyZmFjZUVuZHBvaW50Q2xpZW50Xyk7Ci0gIH07Ci0KLSAgSW50ZXJmYWNlUHRyQ29udHJv
bGxlci5wcm90b3R5cGUucXVlcnlWZXJzaW9uID0gZnVuY3Rpb24oKSB7Ci0gICAgZnVuY3Rpb24g
b25RdWVyeVZlcnNpb24odmVyc2lvbikgewotICAgICAgdGhpcy52ZXJzaW9uID0gdmVyc2lvbjsK
LSAgICAgIHJldHVybiB2ZXJzaW9uOwotICAgIH0KLQotICAgIHRoaXMuY29uZmlndXJlUHJveHlJ
Zk5lY2Vzc2FyeV8oKTsKLSAgICByZXR1cm4gdGhpcy5pbnRlcmZhY2VFbmRwb2ludENsaWVudF8u
cXVlcnlWZXJzaW9uKCkudGhlbigKLSAgICAgIG9uUXVlcnlWZXJzaW9uLmJpbmQodGhpcykpOwot
ICB9OwotCi0gIEludGVyZmFjZVB0ckNvbnRyb2xsZXIucHJvdG90eXBlLnJlcXVpcmVWZXJzaW9u
ID0gZnVuY3Rpb24odmVyc2lvbikgewotICAgIHRoaXMuY29uZmlndXJlUHJveHlJZk5lY2Vzc2Fy
eV8oKTsKLQotICAgIGlmICh0aGlzLnZlcnNpb24gPj0gdmVyc2lvbikgewotICAgICAgcmV0dXJu
OwotICAgIH0KLSAgICB0aGlzLnZlcnNpb24gPSB2ZXJzaW9uOwotICAgIHRoaXMuaW50ZXJmYWNl
RW5kcG9pbnRDbGllbnRfLnJlcXVpcmVWZXJzaW9uKHZlcnNpb24pOwotICB9OwotCi0gIC8vIC0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLQotCi0gIC8vIHxyZXF1ZXN0fCBjb3VsZCBiZSBvbWl0dGVkIGFuZCBw
YXNzZWQgaW50byBiaW5kKCkgbGF0ZXIuCi0gIC8vCi0gIC8vIEV4YW1wbGU6Ci0gIC8vCi0gIC8v
ICAgIC8vIEZvb0ltcGwgaW1wbGVtZW50cyBtb2pvbS5Gb28uCi0gIC8vICAgIGZ1bmN0aW9uIEZv
b0ltcGwoKSB7IC4uLiB9Ci0gIC8vICAgIEZvb0ltcGwucHJvdG90eXBlLmZvb01ldGhvZDEgPSBm
dW5jdGlvbigpIHsgLi4uIH0KLSAgLy8gICAgRm9vSW1wbC5wcm90b3R5cGUuZm9vTWV0aG9kMiA9
IGZ1bmN0aW9uKCkgeyAuLi4gfQotICAvLwotICAvLyAgICB2YXIgZm9vUHRyID0gbmV3IG1vam9t
LkZvb1B0cigpOwotICAvLyAgICB2YXIgcmVxdWVzdCA9IG1ha2VSZXF1ZXN0KGZvb1B0cik7Ci0g
IC8vICAgIHZhciBiaW5kaW5nID0gbmV3IEJpbmRpbmcobW9qb20uRm9vLCBuZXcgRm9vSW1wbCgp
LCByZXF1ZXN0KTsKLSAgLy8gICAgZm9vUHRyLmZvb01ldGhvZDEoKTsKLSAgZnVuY3Rpb24gQmlu
ZGluZyhpbnRlcmZhY2VUeXBlLCBpbXBsLCByZXF1ZXN0T3JIYW5kbGUpIHsKLSAgICB0aGlzLmlu
dGVyZmFjZVR5cGVfID0gaW50ZXJmYWNlVHlwZTsKLSAgICB0aGlzLmltcGxfID0gaW1wbDsKLSAg
ICB0aGlzLnJvdXRlcl8gPSBudWxsOwotICAgIHRoaXMuaW50ZXJmYWNlRW5kcG9pbnRDbGllbnRf
ID0gbnVsbDsKLSAgICB0aGlzLnN0dWJfID0gbnVsbDsKLQotICAgIGlmIChyZXF1ZXN0T3JIYW5k
bGUpCi0gICAgICB0aGlzLmJpbmQocmVxdWVzdE9ySGFuZGxlKTsKLSAgfQotCi0gIEJpbmRpbmcu
cHJvdG90eXBlLmlzQm91bmQgPSBmdW5jdGlvbigpIHsKLSAgICByZXR1cm4gdGhpcy5yb3V0ZXJf
ICE9PSBudWxsOwotICB9OwotCi0gIEJpbmRpbmcucHJvdG90eXBlLmNyZWF0ZUludGVyZmFjZVB0
ckFuZEJpbmQgPSBmdW5jdGlvbigpIHsKLSAgICB2YXIgcHRyID0gbmV3IHRoaXMuaW50ZXJmYWNl
VHlwZV8ucHRyQ2xhc3MoKTsKLSAgICAvLyBUT0RPKHl6c2hlbik6IFNldCB0aGUgdmVyc2lvbiBv
ZiB0aGUgaW50ZXJmYWNlIHBvaW50ZXIuCi0gICAgdGhpcy5iaW5kKG1ha2VSZXF1ZXN0KHB0cikp
OwotICAgIHJldHVybiBwdHI7Ci0gIH07Ci0KLSAgQmluZGluZy5wcm90b3R5cGUuYmluZCA9IGZ1
bmN0aW9uKHJlcXVlc3RPckhhbmRsZSkgewotICAgIHRoaXMuY2xvc2UoKTsKLQotICAgIHZhciBo
YW5kbGUgPSByZXF1ZXN0T3JIYW5kbGUgaW5zdGFuY2VvZiBtb2pvLkludGVyZmFjZVJlcXVlc3Qg
PwotICAgICAgICByZXF1ZXN0T3JIYW5kbGUuaGFuZGxlIDogcmVxdWVzdE9ySGFuZGxlOwotICAg
IGlmICghKGhhbmRsZSBpbnN0YW5jZW9mIE1vam9IYW5kbGUpKQotICAgICAgcmV0dXJuOwotCi0g
ICAgdGhpcy5yb3V0ZXJfID0gbmV3IGludGVybmFsLlJvdXRlcihoYW5kbGUpOwotCi0gICAgdGhp
cy5zdHViXyA9IG5ldyB0aGlzLmludGVyZmFjZVR5cGVfLnN0dWJDbGFzcyh0aGlzLmltcGxfKTsK
LSAgICB0aGlzLmludGVyZmFjZUVuZHBvaW50Q2xpZW50XyA9IG5ldyBpbnRlcm5hbC5JbnRlcmZh
Y2VFbmRwb2ludENsaWVudCgKLSAgICAgICAgdGhpcy5yb3V0ZXJfLmNyZWF0ZUxvY2FsRW5kcG9p
bnRIYW5kbGUoaW50ZXJuYWwua01hc3RlckludGVyZmFjZUlkKSwKLSAgICAgICAgdGhpcy5zdHVi
XywgdGhpcy5pbnRlcmZhY2VUeXBlXy5rVmVyc2lvbik7Ci0KLSAgICB0aGlzLmludGVyZmFjZUVu
ZHBvaW50Q2xpZW50XyAuc2V0UGF5bG9hZFZhbGlkYXRvcnMoWwotICAgICAgICB0aGlzLmludGVy
ZmFjZVR5cGVfLnZhbGlkYXRlUmVxdWVzdF0pOwotICB9OwotCi0gIEJpbmRpbmcucHJvdG90eXBl
LmNsb3NlID0gZnVuY3Rpb24oKSB7Ci0gICAgaWYgKCF0aGlzLmlzQm91bmQoKSkKLSAgICAgIHJl
dHVybjsKLQotICAgIGlmICh0aGlzLmludGVyZmFjZUVuZHBvaW50Q2xpZW50XykgewotICAgICAg
dGhpcy5pbnRlcmZhY2VFbmRwb2ludENsaWVudF8uY2xvc2UoKTsKLSAgICAgIHRoaXMuaW50ZXJm
YWNlRW5kcG9pbnRDbGllbnRfID0gbnVsbDsKLSAgICB9Ci0KLSAgICB0aGlzLnJvdXRlcl8uY2xv
c2UoKTsKLSAgICB0aGlzLnJvdXRlcl8gPSBudWxsOwotICAgIHRoaXMuc3R1Yl8gPSBudWxsOwot
ICB9OwotCi0gIEJpbmRpbmcucHJvdG90eXBlLmNsb3NlV2l0aFJlYXNvbiA9IGZ1bmN0aW9uKHJl
YXNvbikgewotICAgIGlmICh0aGlzLmludGVyZmFjZUVuZHBvaW50Q2xpZW50XykgewotICAgICAg
dGhpcy5pbnRlcmZhY2VFbmRwb2ludENsaWVudF8uY2xvc2UocmVhc29uKTsKLSAgICAgIHRoaXMu
aW50ZXJmYWNlRW5kcG9pbnRDbGllbnRfID0gbnVsbDsKLSAgICB9Ci0gICAgdGhpcy5jbG9zZSgp
OwotICB9OwotCi0gIEJpbmRpbmcucHJvdG90eXBlLnNldENvbm5lY3Rpb25FcnJvckhhbmRsZXIg
PSBmdW5jdGlvbihjYWxsYmFjaykgewotICAgIGlmICghdGhpcy5pc0JvdW5kKCkpIHsKLSAgICAg
IHRocm93IG5ldyBFcnJvcigiQ2Fubm90IHNldCBjb25uZWN0aW9uIGVycm9yIGhhbmRsZXIgaWYg
bm90IGJvdW5kLiIpOwotICAgIH0KLSAgICB0aGlzLmludGVyZmFjZUVuZHBvaW50Q2xpZW50Xy5z
ZXRDb25uZWN0aW9uRXJyb3JIYW5kbGVyKGNhbGxiYWNrKTsKLSAgfTsKLQotICBCaW5kaW5nLnBy
b3RvdHlwZS51bmJpbmQgPSBmdW5jdGlvbigpIHsKLSAgICBpZiAoIXRoaXMuaXNCb3VuZCgpKQot
ICAgICAgcmV0dXJuIG5ldyBtb2pvLkludGVyZmFjZVJlcXVlc3QobnVsbCk7Ci0KLSAgICB2YXIg
cmVzdWx0ID0gbmV3IG1vam8uSW50ZXJmYWNlUmVxdWVzdCh0aGlzLnJvdXRlcl8uY29ubmVjdG9y
Xy5oYW5kbGVfKTsKLSAgICB0aGlzLnJvdXRlcl8uY29ubmVjdG9yXy5oYW5kbGVfID0gbnVsbDsK
LSAgICB0aGlzLmNsb3NlKCk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLSAgfTsKLQotICAvLyAtLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0KLQotICBmdW5jdGlvbiBCaW5kaW5nU2V0RW50cnkoYmluZGluZ1NldCwg
aW50ZXJmYWNlVHlwZSwgYmluZGluZ1R5cGUsIGltcGwsCi0gICAgICByZXF1ZXN0T3JIYW5kbGUs
IGJpbmRpbmdJZCkgewotICAgIHRoaXMuYmluZGluZ1NldF8gPSBiaW5kaW5nU2V0OwotICAgIHRo
aXMuYmluZGluZ0lkXyA9IGJpbmRpbmdJZDsKLSAgICB0aGlzLmJpbmRpbmdfID0gbmV3IGJpbmRp
bmdUeXBlKGludGVyZmFjZVR5cGUsIGltcGwsCi0gICAgICAgIHJlcXVlc3RPckhhbmRsZSk7Ci0K
LSAgICB0aGlzLmJpbmRpbmdfLnNldENvbm5lY3Rpb25FcnJvckhhbmRsZXIoZnVuY3Rpb24ocmVh
c29uKSB7Ci0gICAgICB0aGlzLmJpbmRpbmdTZXRfLm9uQ29ubmVjdGlvbkVycm9yKGJpbmRpbmdJ
ZCwgcmVhc29uKTsKLSAgICB9LmJpbmQodGhpcykpOwotICB9Ci0KLSAgQmluZGluZ1NldEVudHJ5
LnByb3RvdHlwZS5jbG9zZSA9IGZ1bmN0aW9uKCkgewotICAgIHRoaXMuYmluZGluZ18uY2xvc2Uo
KTsKLSAgfTsKLQotICBmdW5jdGlvbiBCaW5kaW5nU2V0KGludGVyZmFjZVR5cGUpIHsKLSAgICB0
aGlzLmludGVyZmFjZVR5cGVfID0gaW50ZXJmYWNlVHlwZTsKLSAgICB0aGlzLm5leHRCaW5kaW5n
SWRfID0gMDsKLSAgICB0aGlzLmJpbmRpbmdzXyA9IG5ldyBNYXAoKTsKLSAgICB0aGlzLmVycm9y
SGFuZGxlcl8gPSBudWxsOwotICAgIHRoaXMuYmluZGluZ1R5cGVfID0gQmluZGluZzsKLSAgfQot
Ci0gIEJpbmRpbmdTZXQucHJvdG90eXBlLmlzRW1wdHkgPSBmdW5jdGlvbigpIHsKLSAgICByZXR1
cm4gdGhpcy5iaW5kaW5nc18uc2l6ZSA9PSAwOwotICB9OwotCi0gIEJpbmRpbmdTZXQucHJvdG90
eXBlLmFkZEJpbmRpbmcgPSBmdW5jdGlvbihpbXBsLCByZXF1ZXN0T3JIYW5kbGUpIHsKLSAgICB0
aGlzLmJpbmRpbmdzXy5zZXQoCi0gICAgICAgIHRoaXMubmV4dEJpbmRpbmdJZF8sCi0gICAgICAg
IG5ldyBCaW5kaW5nU2V0RW50cnkodGhpcywgdGhpcy5pbnRlcmZhY2VUeXBlXywgdGhpcy5iaW5k
aW5nVHlwZV8sIGltcGwsCi0gICAgICAgICAgICByZXF1ZXN0T3JIYW5kbGUsIHRoaXMubmV4dEJp
bmRpbmdJZF8pKTsKLSAgICArK3RoaXMubmV4dEJpbmRpbmdJZF87Ci0gIH07Ci0KLSAgQmluZGlu
Z1NldC5wcm90b3R5cGUuY2xvc2VBbGxCaW5kaW5ncyA9IGZ1bmN0aW9uKCkgewotICAgIGZvciAo
dmFyIGVudHJ5IG9mIHRoaXMuYmluZGluZ3NfLnZhbHVlcygpKQotICAgICAgZW50cnkuY2xvc2Uo
KTsKLSAgICB0aGlzLmJpbmRpbmdzXy5jbGVhcigpOwotICB9OwotCi0gIEJpbmRpbmdTZXQucHJv
dG90eXBlLnNldENvbm5lY3Rpb25FcnJvckhhbmRsZXIgPSBmdW5jdGlvbihjYWxsYmFjaykgewot
ICAgIHRoaXMuZXJyb3JIYW5kbGVyXyA9IGNhbGxiYWNrOwotICB9OwotCi0gIEJpbmRpbmdTZXQu
cHJvdG90eXBlLm9uQ29ubmVjdGlvbkVycm9yID0gZnVuY3Rpb24oYmluZGluZ0lkLCByZWFzb24p
IHsKLSAgICB0aGlzLmJpbmRpbmdzXy5kZWxldGUoYmluZGluZ0lkKTsKLQotICAgIGlmICh0aGlz
LmVycm9ySGFuZGxlcl8pCi0gICAgICB0aGlzLmVycm9ySGFuZGxlcl8ocmVhc29uKTsKLSAgfTsK
LQotICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLQotICAvLyBPcGVyYXRpb25zIHVzZWQgdG8gc2V0
dXAvY29uZmlndXJlIGFuIGFzc29jaWF0ZWQgaW50ZXJmYWNlIHBvaW50ZXIuCi0gIC8vIEV4cG9z
ZWQgYXMgfHB0cnwgZmllbGQgb2YgZ2VuZXJhdGVkIGFzc29jaWF0ZWQgaW50ZXJmYWNlIHBvaW50
ZXIgY2xhc3Nlcy4KLSAgLy8gfGFzc29jaWF0ZWRQdHJJbmZvfCBjb3VsZCBiZSBvbWl0dGVkIGFu
ZCBwYXNzZWQgaW50byBiaW5kKCkgbGF0ZXIuCi0gIC8vCi0gIC8vIEV4YW1wbGU6Ci0gIC8vICAg
IC8vIEludGVnZXJTZW5kZXJJbXBsIGltcGxlbWVudHMgbW9qb20uSW50ZWdlclNlbmRlcgotICAv
LyAgICBmdW5jdGlvbiBJbnRlZ2VyU2VuZGVySW1wbCgpIHsgLi4uIH0KLSAgLy8gICAgSW50ZWdl
clNlbmRlckltcGwucHJvdG90eXBlLmVjaG8gPSBmdW5jdGlvbigpIHsgLi4uIH0KLSAgLy8KLSAg
Ly8gICAgLy8gSW50ZWdlclNlbmRlckNvbm5lY3Rpb25JbXBsIGltcGxlbWVudHMgbW9qb20uSW50
ZWdlclNlbmRlckNvbm5lY3Rpb24KLSAgLy8gICAgZnVuY3Rpb24gSW50ZWdlclNlbmRlckNvbm5l
Y3Rpb25JbXBsKCkgewotICAvLyAgICAgIHRoaXMuc2VuZGVyQmluZGluZ18gPSBudWxsOwotICAv
LyAgICB9Ci0gIC8vICAgIEludGVnZXJTZW5kZXJDb25uZWN0aW9uSW1wbC5wcm90b3R5cGUuZ2V0
U2VuZGVyID0gZnVuY3Rpb24oCi0gIC8vICAgICAgICBhc3NvY2lhdGVkUmVxdWVzdCkgewotICAv
LyAgICAgIHRoaXMuc2VuZGVyQmluZGluZ18gPSBuZXcgQXNzb2NpYXRlZEJpbmRpbmcobW9qb20u
SW50ZWdlclNlbmRlciwKLSAgLy8gICAgICAgICAgbmV3IEludGVnZXJTZW5kZXJJbXBsKCksCi0g
IC8vICAgICAgICAgIGFzc29jaWF0ZWRSZXF1ZXN0KTsKLSAgLy8gICAgfQotICAvLwotICAvLyAg
ICB2YXIgaW50ZWdlclNlbmRlckNvbm5lY3Rpb24gPSBuZXcgbW9qb20uSW50ZWdlclNlbmRlckNv
bm5lY3Rpb25QdHIoKTsKLSAgLy8gICAgdmFyIGludGVnZXJTZW5kZXJDb25uZWN0aW9uQmluZGlu
ZyA9IG5ldyBCaW5kaW5nKAotICAvLyAgICAgICAgbW9qb20uSW50ZWdlclNlbmRlckNvbm5lY3Rp
b24sCi0gIC8vICAgICAgICBuZXcgSW50ZWdlclNlbmRlckNvbm5lY3Rpb25JbXBsKCksCi0gIC8v
ICAgICAgICBtb2pvLm1ha2VSZXF1ZXN0KGludGVnZXJTZW5kZXJDb25uZWN0aW9uKSk7Ci0gIC8v
Ci0gIC8vICAgIC8vIEEgbG9jYWxseS1jcmVhdGVkIGFzc29jaWF0ZWQgaW50ZXJmYWNlIHBvaW50
ZXIgY2FuIG9ubHkgYmUgdXNlZCB0bwotICAvLyAgICAvLyBtYWtlIGNhbGxzIHdoZW4gdGhlIGNv
cnJlc3BvbmRpbmcgYXNzb2NpYXRlZCByZXF1ZXN0IGlzIHNlbnQgb3ZlcgotICAvLyAgICAvLyBh
bm90aGVyIGludGVyZmFjZSAoZWl0aGVyIHRoZSBtYXN0ZXIgaW50ZXJmYWNlIG9yIGFub3RoZXIK
LSAgLy8gICAgLy8gYXNzb2NpYXRlZCBpbnRlcmZhY2UpLgotICAvLyAgICB2YXIgYXNzb2NpYXRl
ZEludGVyZmFjZVB0ckluZm8gPSBuZXcgQXNzb2NpYXRlZEludGVyZmFjZVB0ckluZm8oKTsKLSAg
Ly8gICAgdmFyIGFzc29jaWF0ZWRSZXF1ZXN0ID0gbWFrZVJlcXVlc3QoaW50ZXJmYWNlUHRySW5m
byk7Ci0gIC8vCi0gIC8vICAgIGludGVnZXJTZW5kZXJDb25uZWN0aW9uLmdldFNlbmRlcihhc3Nv
Y2lhdGVkUmVxdWVzdCk7Ci0gIC8vCi0gIC8vICAgIC8vIENyZWF0ZSBhbiBhc3NvY2lhdGVkIGlu
dGVyZmFjZSBhbmQgYmluZCB0aGUgYXNzb2NpYXRlZCBoYW5kbGUuCi0gIC8vICAgIHZhciBpbnRl
Z2VyU2VuZGVyID0gbmV3IG1vam9tLkFzc29jaWF0ZWRJbnRlZ2VyU2VuZGVyUHRyKCk7Ci0gIC8v
ICAgIGludGVnZXJTZW5kZXIucHRyLmJpbmQoYXNzb2NpYXRlZEludGVyZmFjZVB0ckluZm8pOwot
ICAvLyAgICBpbnRlZ2VyU2VuZGVyLmVjaG8oKTsKLQotICBmdW5jdGlvbiBBc3NvY2lhdGVkSW50
ZXJmYWNlUHRyQ29udHJvbGxlcihpbnRlcmZhY2VUeXBlLCBhc3NvY2lhdGVkUHRySW5mbykgewot
ICAgIHRoaXMudmVyc2lvbiA9IDA7Ci0KLSAgICB0aGlzLmludGVyZmFjZVR5cGVfID0gaW50ZXJm
YWNlVHlwZTsKLSAgICB0aGlzLmludGVyZmFjZUVuZHBvaW50Q2xpZW50XyA9IG51bGw7Ci0gICAg
dGhpcy5wcm94eV8gPSBudWxsOwotCi0gICAgaWYgKGFzc29jaWF0ZWRQdHJJbmZvKSB7Ci0gICAg
ICB0aGlzLmJpbmQoYXNzb2NpYXRlZFB0ckluZm8pOwotICAgIH0KLSAgfQotCi0gIEFzc29jaWF0
ZWRJbnRlcmZhY2VQdHJDb250cm9sbGVyLnByb3RvdHlwZS5iaW5kID0gZnVuY3Rpb24oCi0gICAg
ICBhc3NvY2lhdGVkUHRySW5mbykgewotICAgIHRoaXMucmVzZXQoKTsKLSAgICB0aGlzLnZlcnNp
b24gPSBhc3NvY2lhdGVkUHRySW5mby52ZXJzaW9uOwotCi0gICAgdGhpcy5pbnRlcmZhY2VFbmRw
b2ludENsaWVudF8gPSBuZXcgaW50ZXJuYWwuSW50ZXJmYWNlRW5kcG9pbnRDbGllbnQoCi0gICAg
ICAgIGFzc29jaWF0ZWRQdHJJbmZvLmludGVyZmFjZUVuZHBvaW50SGFuZGxlKTsKLQotICAgIHRo
aXMuaW50ZXJmYWNlRW5kcG9pbnRDbGllbnRfIC5zZXRQYXlsb2FkVmFsaWRhdG9ycyhbCi0gICAg
ICAgIHRoaXMuaW50ZXJmYWNlVHlwZV8udmFsaWRhdGVSZXNwb25zZV0pOwotICAgIHRoaXMucHJv
eHlfID0gbmV3IHRoaXMuaW50ZXJmYWNlVHlwZV8ucHJveHlDbGFzcygKLSAgICAgICAgdGhpcy5p
bnRlcmZhY2VFbmRwb2ludENsaWVudF8pOwotICB9OwotCi0gIEFzc29jaWF0ZWRJbnRlcmZhY2VQ
dHJDb250cm9sbGVyLnByb3RvdHlwZS5pc0JvdW5kID0gZnVuY3Rpb24oKSB7Ci0gICAgcmV0dXJu
IHRoaXMuaW50ZXJmYWNlRW5kcG9pbnRDbGllbnRfICE9PSBudWxsOwotICB9OwotCi0gIEFzc29j
aWF0ZWRJbnRlcmZhY2VQdHJDb250cm9sbGVyLnByb3RvdHlwZS5yZXNldCA9IGZ1bmN0aW9uKCkg
ewotICAgIHRoaXMudmVyc2lvbiA9IDA7Ci0gICAgaWYgKHRoaXMuaW50ZXJmYWNlRW5kcG9pbnRD
bGllbnRfKSB7Ci0gICAgICB0aGlzLmludGVyZmFjZUVuZHBvaW50Q2xpZW50Xy5jbG9zZSgpOwot
ICAgICAgdGhpcy5pbnRlcmZhY2VFbmRwb2ludENsaWVudF8gPSBudWxsOwotICAgIH0KLSAgICBp
ZiAodGhpcy5wcm94eV8pIHsKLSAgICAgIHRoaXMucHJveHlfID0gbnVsbDsKLSAgICB9Ci0gIH07
Ci0KLSAgQXNzb2NpYXRlZEludGVyZmFjZVB0ckNvbnRyb2xsZXIucHJvdG90eXBlLnJlc2V0V2l0
aFJlYXNvbiA9IGZ1bmN0aW9uKAotICAgICAgcmVhc29uKSB7Ci0gICAgaWYgKHRoaXMuaXNCb3Vu
ZCgpKSB7Ci0gICAgICB0aGlzLmludGVyZmFjZUVuZHBvaW50Q2xpZW50Xy5jbG9zZShyZWFzb24p
OwotICAgICAgdGhpcy5pbnRlcmZhY2VFbmRwb2ludENsaWVudF8gPSBudWxsOwotICAgIH0KLSAg
ICB0aGlzLnJlc2V0KCk7Ci0gIH07Ci0KLSAgLy8gSW5kaWNhdGVzIHdoZXRoZXIgYW4gZXJyb3Ig
aGFzIGJlZW4gZW5jb3VudGVyZWQuIElmIHRydWUsIG1ldGhvZCBjYWxscwotICAvLyBvbiB0aGlz
IGludGVyZmFjZSB3aWxsIGJlIGRyb3BwZWQgKGFuZCBtYXkgYWxyZWFkeSBoYXZlIGJlZW4gZHJv
cHBlZCkuCi0gIEFzc29jaWF0ZWRJbnRlcmZhY2VQdHJDb250cm9sbGVyLnByb3RvdHlwZS5nZXRF
bmNvdW50ZXJlZEVycm9yID0gZnVuY3Rpb24oKSB7Ci0gICAgcmV0dXJuIHRoaXMuaW50ZXJmYWNl
RW5kcG9pbnRDbGllbnRfID8KLSAgICAgICAgdGhpcy5pbnRlcmZhY2VFbmRwb2ludENsaWVudF8u
Z2V0RW5jb3VudGVyZWRFcnJvcigpIDogZmFsc2U7Ci0gIH07Ci0KLSAgQXNzb2NpYXRlZEludGVy
ZmFjZVB0ckNvbnRyb2xsZXIucHJvdG90eXBlLnNldENvbm5lY3Rpb25FcnJvckhhbmRsZXIgPQot
ICAgICAgZnVuY3Rpb24oY2FsbGJhY2spIHsKLSAgICBpZiAoIXRoaXMuaXNCb3VuZCgpKSB7Ci0g
ICAgICB0aHJvdyBuZXcgRXJyb3IoIkNhbm5vdCBzZXQgY29ubmVjdGlvbiBlcnJvciBoYW5kbGVy
IGlmIG5vdCBib3VuZC4iKTsKLSAgICB9Ci0KLSAgICB0aGlzLmludGVyZmFjZUVuZHBvaW50Q2xp
ZW50Xy5zZXRDb25uZWN0aW9uRXJyb3JIYW5kbGVyKGNhbGxiYWNrKTsKLSAgfTsKLQotICBBc3Nv
Y2lhdGVkSW50ZXJmYWNlUHRyQ29udHJvbGxlci5wcm90b3R5cGUucGFzc0ludGVyZmFjZSA9IGZ1
bmN0aW9uKCkgewotICAgIGlmICghdGhpcy5pc0JvdW5kKCkpIHsKLSAgICAgIHJldHVybiBuZXcg
bW9qby5Bc3NvY2lhdGVkSW50ZXJmYWNlUHRySW5mbyhudWxsKTsKLSAgICB9Ci0KLSAgICB2YXIg
cmVzdWx0ID0gbmV3IG1vam8uQXNzb2NpYXRlZEludGVyZmFjZVB0ckluZm8oCi0gICAgICAgIHRo
aXMuaW50ZXJmYWNlRW5kcG9pbnRDbGllbnRfLnBhc3NIYW5kbGUoKSwgdGhpcy52ZXJzaW9uKTsK
LSAgICB0aGlzLnJlc2V0KCk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLSAgfTsKLQotICBBc3NvY2lh
dGVkSW50ZXJmYWNlUHRyQ29udHJvbGxlci5wcm90b3R5cGUuZ2V0UHJveHkgPSBmdW5jdGlvbigp
IHsKLSAgICByZXR1cm4gdGhpcy5wcm94eV87Ci0gIH07Ci0KLSAgQXNzb2NpYXRlZEludGVyZmFj
ZVB0ckNvbnRyb2xsZXIucHJvdG90eXBlLnF1ZXJ5VmVyc2lvbiA9IGZ1bmN0aW9uKCkgewotICAg
IGZ1bmN0aW9uIG9uUXVlcnlWZXJzaW9uKHZlcnNpb24pIHsKLSAgICAgIHRoaXMudmVyc2lvbiA9
IHZlcnNpb247Ci0gICAgICByZXR1cm4gdmVyc2lvbjsKLSAgICB9Ci0KLSAgICByZXR1cm4gdGhp
cy5pbnRlcmZhY2VFbmRwb2ludENsaWVudF8ucXVlcnlWZXJzaW9uKCkudGhlbigKLSAgICAgIG9u
UXVlcnlWZXJzaW9uLmJpbmQodGhpcykpOwotICB9OwotCi0gIEFzc29jaWF0ZWRJbnRlcmZhY2VQ
dHJDb250cm9sbGVyLnByb3RvdHlwZS5yZXF1aXJlVmVyc2lvbiA9IGZ1bmN0aW9uKAotICAgICAg
dmVyc2lvbikgewotICAgIGlmICh0aGlzLnZlcnNpb24gPj0gdmVyc2lvbikgewotICAgICAgcmV0
dXJuOwotICAgIH0KLSAgICB0aGlzLnZlcnNpb24gPSB2ZXJzaW9uOwotICAgIHRoaXMuaW50ZXJm
YWNlRW5kcG9pbnRDbGllbnRfLnJlcXVpcmVWZXJzaW9uKHZlcnNpb24pOwotICB9OwotCi0gIC8v
IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLQotCi0gIC8vIHxhc3NvY2lhdGVkSW50ZXJmYWNlUmVxdWVzdHwg
Y291bGQgYmUgb21pdHRlZCBhbmQgcGFzc2VkIGludG8gYmluZCgpCi0gIC8vIGxhdGVyLgotICBm
dW5jdGlvbiBBc3NvY2lhdGVkQmluZGluZyhpbnRlcmZhY2VUeXBlLCBpbXBsLCBhc3NvY2lhdGVk
SW50ZXJmYWNlUmVxdWVzdCkgewotICAgIHRoaXMuaW50ZXJmYWNlVHlwZV8gPSBpbnRlcmZhY2VU
eXBlOwotICAgIHRoaXMuaW1wbF8gPSBpbXBsOwotICAgIHRoaXMuaW50ZXJmYWNlRW5kcG9pbnRD
bGllbnRfID0gbnVsbDsKLSAgICB0aGlzLnN0dWJfID0gbnVsbDsKLQotICAgIGlmIChhc3NvY2lh
dGVkSW50ZXJmYWNlUmVxdWVzdCkgewotICAgICAgdGhpcy5iaW5kKGFzc29jaWF0ZWRJbnRlcmZh
Y2VSZXF1ZXN0KTsKLSAgICB9Ci0gIH0KLQotICBBc3NvY2lhdGVkQmluZGluZy5wcm90b3R5cGUu
aXNCb3VuZCA9IGZ1bmN0aW9uKCkgewotICAgIHJldHVybiB0aGlzLmludGVyZmFjZUVuZHBvaW50
Q2xpZW50XyAhPT0gbnVsbDsKLSAgfTsKLQotICBBc3NvY2lhdGVkQmluZGluZy5wcm90b3R5cGUu
YmluZCA9IGZ1bmN0aW9uKGFzc29jaWF0ZWRJbnRlcmZhY2VSZXF1ZXN0KSB7Ci0gICAgdGhpcy5j
bG9zZSgpOwotCi0gICAgdGhpcy5zdHViXyA9IG5ldyB0aGlzLmludGVyZmFjZVR5cGVfLnN0dWJD
bGFzcyh0aGlzLmltcGxfKTsKLSAgICB0aGlzLmludGVyZmFjZUVuZHBvaW50Q2xpZW50XyA9IG5l
dyBpbnRlcm5hbC5JbnRlcmZhY2VFbmRwb2ludENsaWVudCgKLSAgICAgICAgYXNzb2NpYXRlZElu
dGVyZmFjZVJlcXVlc3QuaW50ZXJmYWNlRW5kcG9pbnRIYW5kbGUsIHRoaXMuc3R1Yl8sCi0gICAg
ICAgIHRoaXMuaW50ZXJmYWNlVHlwZV8ua1ZlcnNpb24pOwotCi0gICAgdGhpcy5pbnRlcmZhY2VF
bmRwb2ludENsaWVudF8gLnNldFBheWxvYWRWYWxpZGF0b3JzKFsKLSAgICAgICAgdGhpcy5pbnRl
cmZhY2VUeXBlXy52YWxpZGF0ZVJlcXVlc3RdKTsKLSAgfTsKLQotCi0gIEFzc29jaWF0ZWRCaW5k
aW5nLnByb3RvdHlwZS5jbG9zZSA9IGZ1bmN0aW9uKCkgewotICAgIGlmICghdGhpcy5pc0JvdW5k
KCkpIHsKLSAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBpZiAodGhpcy5pbnRlcmZhY2VFbmRw
b2ludENsaWVudF8pIHsKLSAgICAgIHRoaXMuaW50ZXJmYWNlRW5kcG9pbnRDbGllbnRfLmNsb3Nl
KCk7Ci0gICAgICB0aGlzLmludGVyZmFjZUVuZHBvaW50Q2xpZW50XyA9IG51bGw7Ci0gICAgfQot
Ci0gICAgdGhpcy5zdHViXyA9IG51bGw7Ci0gIH07Ci0KLSAgQXNzb2NpYXRlZEJpbmRpbmcucHJv
dG90eXBlLmNsb3NlV2l0aFJlYXNvbiA9IGZ1bmN0aW9uKHJlYXNvbikgewotICAgIGlmICh0aGlz
LmludGVyZmFjZUVuZHBvaW50Q2xpZW50XykgewotICAgICAgdGhpcy5pbnRlcmZhY2VFbmRwb2lu
dENsaWVudF8uY2xvc2UocmVhc29uKTsKLSAgICAgIHRoaXMuaW50ZXJmYWNlRW5kcG9pbnRDbGll
bnRfID0gbnVsbDsKLSAgICB9Ci0gICAgdGhpcy5jbG9zZSgpOwotICB9OwotCi0gIEFzc29jaWF0
ZWRCaW5kaW5nLnByb3RvdHlwZS5zZXRDb25uZWN0aW9uRXJyb3JIYW5kbGVyID0gZnVuY3Rpb24o
Y2FsbGJhY2spIHsKLSAgICBpZiAoIXRoaXMuaXNCb3VuZCgpKSB7Ci0gICAgICB0aHJvdyBuZXcg
RXJyb3IoIkNhbm5vdCBzZXQgY29ubmVjdGlvbiBlcnJvciBoYW5kbGVyIGlmIG5vdCBib3VuZC4i
KTsKLSAgICB9Ci0gICAgdGhpcy5pbnRlcmZhY2VFbmRwb2ludENsaWVudF8uc2V0Q29ubmVjdGlv
bkVycm9ySGFuZGxlcihjYWxsYmFjayk7Ci0gIH07Ci0KLSAgQXNzb2NpYXRlZEJpbmRpbmcucHJv
dG90eXBlLnVuYmluZCA9IGZ1bmN0aW9uKCkgewotICAgIGlmICghdGhpcy5pc0JvdW5kKCkpIHsK
LSAgICAgIHJldHVybiBuZXcgbW9qby5Bc3NvY2lhdGVkSW50ZXJmYWNlUmVxdWVzdChudWxsKTsK
LSAgICB9Ci0KLSAgICB2YXIgcmVzdWx0ID0gbmV3IG1vam8uQXNzb2NpYXRlZEludGVyZmFjZVJl
cXVlc3QoCi0gICAgICAgIHRoaXMuaW50ZXJmYWNlRW5kcG9pbnRDbGllbnRfLnBhc3NIYW5kbGUo
KSk7Ci0gICAgdGhpcy5jbG9zZSgpOwotICAgIHJldHVybiByZXN1bHQ7Ci0gIH07Ci0KLSAgLy8g
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tCi0KLSAgZnVuY3Rpb24gQXNzb2NpYXRlZEJpbmRpbmdTZXQoaW50
ZXJmYWNlVHlwZSkgewotICAgIG1vam8uQmluZGluZ1NldC5jYWxsKHRoaXMsIGludGVyZmFjZVR5
cGUpOwotICAgIHRoaXMuYmluZGluZ1R5cGVfID0gQXNzb2NpYXRlZEJpbmRpbmc7Ci0gIH0KLQot
ICBBc3NvY2lhdGVkQmluZGluZ1NldC5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKEJpbmRpbmdT
ZXQucHJvdG90eXBlKTsKLSAgQXNzb2NpYXRlZEJpbmRpbmdTZXQucHJvdG90eXBlLmNvbnN0cnVj
dG9yID0gQXNzb2NpYXRlZEJpbmRpbmdTZXQ7Ci0KLSAgbW9qby5tYWtlUmVxdWVzdCA9IG1ha2VS
ZXF1ZXN0OwotICBtb2pvLkFzc29jaWF0ZWRJbnRlcmZhY2VQdHJDb250cm9sbGVyID0gQXNzb2Np
YXRlZEludGVyZmFjZVB0ckNvbnRyb2xsZXI7Ci0gIG1vam8uQXNzb2NpYXRlZEJpbmRpbmcgPSBB
c3NvY2lhdGVkQmluZGluZzsKLSAgbW9qby5Bc3NvY2lhdGVkQmluZGluZ1NldCA9IEFzc29jaWF0
ZWRCaW5kaW5nU2V0OwotICBtb2pvLkJpbmRpbmcgPSBCaW5kaW5nOwotICBtb2pvLkJpbmRpbmdT
ZXQgPSBCaW5kaW5nU2V0OwotICBtb2pvLkludGVyZmFjZVB0ckNvbnRyb2xsZXIgPSBJbnRlcmZh
Y2VQdHJDb250cm9sbGVyOwotfSkoKTsKLS8vIENvcHlyaWdodCAyMDE2IFRoZSBDaHJvbWl1bSBB
dXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotLy8gVXNlIG9mIHRoaXMgc291cmNlIGNvZGUg
aXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQotLy8gZm91bmQg
aW4gdGhlIExJQ0VOU0UgZmlsZS4KLQotKGZ1bmN0aW9uKCkgewotICB2YXIgaW50ZXJuYWwgPSBt
b2pvLmludGVybmFsOwotCi0gIC8vIENvbnN0YW50cyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gIHZhciBrSW50ZXJmYWNl
SWROYW1lc3BhY2VNYXNrID0gMHg4MDAwMDAwMDsKLSAgdmFyIGtNYXN0ZXJJbnRlcmZhY2VJZCA9
IDB4MDAwMDAwMDA7Ci0gIHZhciBrSW52YWxpZEludGVyZmFjZUlkID0gMHhGRkZGRkZGRjsKLQot
ICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLQotICBmdW5jdGlvbiBJbnRlcmZhY2VQdHJJbmZvKGhh
bmRsZSwgdmVyc2lvbikgewotICAgIHRoaXMuaGFuZGxlID0gaGFuZGxlOwotICAgIHRoaXMudmVy
c2lvbiA9IHZlcnNpb247Ci0gIH0KLQotICBJbnRlcmZhY2VQdHJJbmZvLnByb3RvdHlwZS5pc1Zh
bGlkID0gZnVuY3Rpb24oKSB7Ci0gICAgcmV0dXJuIHRoaXMuaGFuZGxlIGluc3RhbmNlb2YgTW9q
b0hhbmRsZTsKLSAgfTsKLQotICBJbnRlcmZhY2VQdHJJbmZvLnByb3RvdHlwZS5jbG9zZSA9IGZ1
bmN0aW9uKCkgewotICAgIGlmICghdGhpcy5pc1ZhbGlkKCkpCi0gICAgICByZXR1cm47Ci0KLSAg
ICB0aGlzLmhhbmRsZS5jbG9zZSgpOwotICAgIHRoaXMuaGFuZGxlID0gbnVsbDsKLSAgICB0aGlz
LnZlcnNpb24gPSAwOwotICB9OwotCi0gIGZ1bmN0aW9uIEFzc29jaWF0ZWRJbnRlcmZhY2VQdHJJ
bmZvKGludGVyZmFjZUVuZHBvaW50SGFuZGxlLCB2ZXJzaW9uKSB7Ci0gICAgdGhpcy5pbnRlcmZh
Y2VFbmRwb2ludEhhbmRsZSA9IGludGVyZmFjZUVuZHBvaW50SGFuZGxlOwotICAgIHRoaXMudmVy
c2lvbiA9IHZlcnNpb247Ci0gIH0KLQotICBBc3NvY2lhdGVkSW50ZXJmYWNlUHRySW5mby5wcm90
b3R5cGUuaXNWYWxpZCA9IGZ1bmN0aW9uKCkgewotICAgIHJldHVybiB0aGlzLmludGVyZmFjZUVu
ZHBvaW50SGFuZGxlLmlzVmFsaWQoKTsKLSAgfTsKLQotICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K
LQotICBmdW5jdGlvbiBJbnRlcmZhY2VSZXF1ZXN0KGhhbmRsZSkgewotICAgIHRoaXMuaGFuZGxl
ID0gaGFuZGxlOwotICB9Ci0KLSAgSW50ZXJmYWNlUmVxdWVzdC5wcm90b3R5cGUuaXNWYWxpZCA9
IGZ1bmN0aW9uKCkgewotICAgIHJldHVybiB0aGlzLmhhbmRsZSBpbnN0YW5jZW9mIE1vam9IYW5k
bGU7Ci0gIH07Ci0KLSAgSW50ZXJmYWNlUmVxdWVzdC5wcm90b3R5cGUuY2xvc2UgPSBmdW5jdGlv
bigpIHsKLSAgICBpZiAoIXRoaXMuaXNWYWxpZCgpKQotICAgICAgcmV0dXJuOwotCi0gICAgdGhp
cy5oYW5kbGUuY2xvc2UoKTsKLSAgICB0aGlzLmhhbmRsZSA9IG51bGw7Ci0gIH07Ci0KLSAgZnVu
Y3Rpb24gQXNzb2NpYXRlZEludGVyZmFjZVJlcXVlc3QoaW50ZXJmYWNlRW5kcG9pbnRIYW5kbGUp
IHsKLSAgICB0aGlzLmludGVyZmFjZUVuZHBvaW50SGFuZGxlID0gaW50ZXJmYWNlRW5kcG9pbnRI
YW5kbGU7Ci0gIH0KLQotICBBc3NvY2lhdGVkSW50ZXJmYWNlUmVxdWVzdC5wcm90b3R5cGUuaXNW
YWxpZCA9IGZ1bmN0aW9uKCkgewotICAgIHJldHVybiB0aGlzLmludGVyZmFjZUVuZHBvaW50SGFu
ZGxlLmlzVmFsaWQoKTsKLSAgfTsKLQotICBBc3NvY2lhdGVkSW50ZXJmYWNlUmVxdWVzdC5wcm90
b3R5cGUucmVzZXRXaXRoUmVhc29uID0gZnVuY3Rpb24ocmVhc29uKSB7Ci0gICAgdGhpcy5pbnRl
cmZhY2VFbmRwb2ludEhhbmRsZS5yZXNldChyZWFzb24pOwotICB9OwotCi0gIGZ1bmN0aW9uIGlz
TWFzdGVySW50ZXJmYWNlSWQoaW50ZXJmYWNlSWQpIHsKLSAgICByZXR1cm4gaW50ZXJmYWNlSWQg
PT09IGtNYXN0ZXJJbnRlcmZhY2VJZDsKLSAgfQotCi0gIGZ1bmN0aW9uIGlzVmFsaWRJbnRlcmZh
Y2VJZChpbnRlcmZhY2VJZCkgewotICAgIHJldHVybiBpbnRlcmZhY2VJZCAhPT0ga0ludmFsaWRJ
bnRlcmZhY2VJZDsKLSAgfQotCi0gIGZ1bmN0aW9uIGhhc0ludGVyZmFjZUlkTmFtZXNwYWNlQml0
U2V0KGludGVyZmFjZUlkKSB7Ci0gICAgaWYgKGludGVyZmFjZUlkID49IDIgKiBrSW50ZXJmYWNl
SWROYW1lc3BhY2VNYXNrKSB7Ci0gICAgICB0aHJvdyBuZXcgRXJyb3IoIkludGVyZmFjZSBJRCBz
aG91bGQgYmUgYSAzMi1iaXQgdW5zaWduZWQgaW50ZWdlci4iKTsKLSAgICB9Ci0gICAgcmV0dXJu
IGludGVyZmFjZUlkID49IGtJbnRlcmZhY2VJZE5hbWVzcGFjZU1hc2s7Ci0gIH0KLQotICBtb2pv
LkludGVyZmFjZVB0ckluZm8gPSBJbnRlcmZhY2VQdHJJbmZvOwotICBtb2pvLkludGVyZmFjZVJl
cXVlc3QgPSBJbnRlcmZhY2VSZXF1ZXN0OwotICBtb2pvLkFzc29jaWF0ZWRJbnRlcmZhY2VQdHJJ
bmZvID0gQXNzb2NpYXRlZEludGVyZmFjZVB0ckluZm87Ci0gIG1vam8uQXNzb2NpYXRlZEludGVy
ZmFjZVJlcXVlc3QgPSBBc3NvY2lhdGVkSW50ZXJmYWNlUmVxdWVzdDsKLSAgaW50ZXJuYWwuaXNN
YXN0ZXJJbnRlcmZhY2VJZCA9IGlzTWFzdGVySW50ZXJmYWNlSWQ7Ci0gIGludGVybmFsLmlzVmFs
aWRJbnRlcmZhY2VJZCA9IGlzVmFsaWRJbnRlcmZhY2VJZDsKLSAgaW50ZXJuYWwuaGFzSW50ZXJm
YWNlSWROYW1lc3BhY2VCaXRTZXQgPSBoYXNJbnRlcmZhY2VJZE5hbWVzcGFjZUJpdFNldDsKLSAg
aW50ZXJuYWwua0ludmFsaWRJbnRlcmZhY2VJZCA9IGtJbnZhbGlkSW50ZXJmYWNlSWQ7Ci0gIGlu
dGVybmFsLmtNYXN0ZXJJbnRlcmZhY2VJZCA9IGtNYXN0ZXJJbnRlcmZhY2VJZDsKLSAgaW50ZXJu
YWwua0ludGVyZmFjZUlkTmFtZXNwYWNlTWFzayA9IGtJbnRlcmZhY2VJZE5hbWVzcGFjZU1hc2s7
Ci19KSgpOwotLy8gQ29weXJpZ2h0IDIwMTQgVGhlIENocm9taXVtIEF1dGhvcnMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCi0vLyBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBh
IEJTRC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCi0vLyBmb3VuZCBpbiB0aGUgTElDRU5TRSBm
aWxlLgotCi0oZnVuY3Rpb24oKSB7Ci0gIHZhciBpbnRlcm5hbCA9IG1vam8uaW50ZXJuYWw7Ci0K
LSAgdmFyIGtIb3N0SXNMaXR0bGVFbmRpYW4gPSAoZnVuY3Rpb24gKCkgewotICAgIHZhciBlbmRp
YW5BcnJheUJ1ZmZlciA9IG5ldyBBcnJheUJ1ZmZlcigyKTsKLSAgICB2YXIgZW5kaWFuVWludDhB
cnJheSA9IG5ldyBVaW50OEFycmF5KGVuZGlhbkFycmF5QnVmZmVyKTsKLSAgICB2YXIgZW5kaWFu
VWludDE2QXJyYXkgPSBuZXcgVWludDE2QXJyYXkoZW5kaWFuQXJyYXlCdWZmZXIpOwotICAgIGVu
ZGlhblVpbnQxNkFycmF5WzBdID0gMTsKLSAgICByZXR1cm4gZW5kaWFuVWludDhBcnJheVswXSA9
PSAxOwotICB9KSgpOwotCi0gIHZhciBrSGlnaFdvcmRNdWx0aXBsaWVyID0gMHgxMDAwMDAwMDA7
Ci0KLSAgZnVuY3Rpb24gQnVmZmVyKHNpemVPckFycmF5QnVmZmVyKSB7Ci0gICAgaWYgKHNpemVP
ckFycmF5QnVmZmVyIGluc3RhbmNlb2YgQXJyYXlCdWZmZXIpCi0gICAgICB0aGlzLmFycmF5QnVm
ZmVyID0gc2l6ZU9yQXJyYXlCdWZmZXI7Ci0gICAgZWxzZQotICAgICAgdGhpcy5hcnJheUJ1ZmZl
ciA9IG5ldyBBcnJheUJ1ZmZlcihzaXplT3JBcnJheUJ1ZmZlcik7Ci0KLSAgICB0aGlzLmRhdGFW
aWV3ID0gbmV3IERhdGFWaWV3KHRoaXMuYXJyYXlCdWZmZXIpOwotICAgIHRoaXMubmV4dCA9IDA7
Ci0gIH0KLQotICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQnVmZmVyLnByb3RvdHlwZSwgImJ5dGVM
ZW5ndGgiLCB7Ci0gICAgZ2V0OiBmdW5jdGlvbigpIHsgcmV0dXJuIHRoaXMuYXJyYXlCdWZmZXIu
Ynl0ZUxlbmd0aDsgfQotICB9KTsKLQotICBCdWZmZXIucHJvdG90eXBlLmFsbG9jID0gZnVuY3Rp
b24oc2l6ZSkgewotICAgIHZhciBwb2ludGVyID0gdGhpcy5uZXh0OwotICAgIHRoaXMubmV4dCAr
PSBzaXplOwotICAgIGlmICh0aGlzLm5leHQgPiB0aGlzLmJ5dGVMZW5ndGgpIHsKLSAgICAgIHZh
ciBuZXdTaXplID0gKDEuNSAqICh0aGlzLmJ5dGVMZW5ndGggKyBzaXplKSkgfCAwOwotICAgICAg
dGhpcy5ncm93KG5ld1NpemUpOwotICAgIH0KLSAgICByZXR1cm4gcG9pbnRlcjsKLSAgfTsKLQot
ICBmdW5jdGlvbiBjb3B5QXJyYXlCdWZmZXIoZHN0QXJyYXlCdWZmZXIsIHNyY0FycmF5QnVmZmVy
KSB7Ci0gICAgKG5ldyBVaW50OEFycmF5KGRzdEFycmF5QnVmZmVyKSkuc2V0KG5ldyBVaW50OEFy
cmF5KHNyY0FycmF5QnVmZmVyKSk7Ci0gIH0KLQotICBCdWZmZXIucHJvdG90eXBlLmdyb3cgPSBm
dW5jdGlvbihzaXplKSB7Ci0gICAgdmFyIG5ld0FycmF5QnVmZmVyID0gbmV3IEFycmF5QnVmZmVy
KHNpemUpOwotICAgIGNvcHlBcnJheUJ1ZmZlcihuZXdBcnJheUJ1ZmZlciwgdGhpcy5hcnJheUJ1
ZmZlcik7Ci0gICAgdGhpcy5hcnJheUJ1ZmZlciA9IG5ld0FycmF5QnVmZmVyOwotICAgIHRoaXMu
ZGF0YVZpZXcgPSBuZXcgRGF0YVZpZXcodGhpcy5hcnJheUJ1ZmZlcik7Ci0gIH07Ci0KLSAgQnVm
ZmVyLnByb3RvdHlwZS50cmltID0gZnVuY3Rpb24oKSB7Ci0gICAgdGhpcy5hcnJheUJ1ZmZlciA9
IHRoaXMuYXJyYXlCdWZmZXIuc2xpY2UoMCwgdGhpcy5uZXh0KTsKLSAgICB0aGlzLmRhdGFWaWV3
ID0gbmV3IERhdGFWaWV3KHRoaXMuYXJyYXlCdWZmZXIpOwotICB9OwotCi0gIEJ1ZmZlci5wcm90
b3R5cGUuZ2V0VWludDggPSBmdW5jdGlvbihvZmZzZXQpIHsKLSAgICByZXR1cm4gdGhpcy5kYXRh
Vmlldy5nZXRVaW50OChvZmZzZXQpOwotICB9Ci0gIEJ1ZmZlci5wcm90b3R5cGUuZ2V0VWludDE2
ID0gZnVuY3Rpb24ob2Zmc2V0KSB7Ci0gICAgcmV0dXJuIHRoaXMuZGF0YVZpZXcuZ2V0VWludDE2
KG9mZnNldCwga0hvc3RJc0xpdHRsZUVuZGlhbik7Ci0gIH0KLSAgQnVmZmVyLnByb3RvdHlwZS5n
ZXRVaW50MzIgPSBmdW5jdGlvbihvZmZzZXQpIHsKLSAgICByZXR1cm4gdGhpcy5kYXRhVmlldy5n
ZXRVaW50MzIob2Zmc2V0LCBrSG9zdElzTGl0dGxlRW5kaWFuKTsKLSAgfQotICBCdWZmZXIucHJv
dG90eXBlLmdldFVpbnQ2NCA9IGZ1bmN0aW9uKG9mZnNldCkgewotICAgIHZhciBsbywgaGk7Ci0g
ICAgaWYgKGtIb3N0SXNMaXR0bGVFbmRpYW4pIHsKLSAgICAgIGxvID0gdGhpcy5kYXRhVmlldy5n
ZXRVaW50MzIob2Zmc2V0LCBrSG9zdElzTGl0dGxlRW5kaWFuKTsKLSAgICAgIGhpID0gdGhpcy5k
YXRhVmlldy5nZXRVaW50MzIob2Zmc2V0ICsgNCwga0hvc3RJc0xpdHRsZUVuZGlhbik7Ci0gICAg
fSBlbHNlIHsKLSAgICAgIGhpID0gdGhpcy5kYXRhVmlldy5nZXRVaW50MzIob2Zmc2V0LCBrSG9z
dElzTGl0dGxlRW5kaWFuKTsKLSAgICAgIGxvID0gdGhpcy5kYXRhVmlldy5nZXRVaW50MzIob2Zm
c2V0ICsgNCwga0hvc3RJc0xpdHRsZUVuZGlhbik7Ci0gICAgfQotICAgIHJldHVybiBsbyArIGhp
ICoga0hpZ2hXb3JkTXVsdGlwbGllcjsKLSAgfQotCi0gIEJ1ZmZlci5wcm90b3R5cGUuZ2V0SW50
OCA9IGZ1bmN0aW9uKG9mZnNldCkgewotICAgIHJldHVybiB0aGlzLmRhdGFWaWV3LmdldEludDgo
b2Zmc2V0KTsKLSAgfQotICBCdWZmZXIucHJvdG90eXBlLmdldEludDE2ID0gZnVuY3Rpb24ob2Zm
c2V0KSB7Ci0gICAgcmV0dXJuIHRoaXMuZGF0YVZpZXcuZ2V0SW50MTYob2Zmc2V0LCBrSG9zdElz
TGl0dGxlRW5kaWFuKTsKLSAgfQotICBCdWZmZXIucHJvdG90eXBlLmdldEludDMyID0gZnVuY3Rp
b24ob2Zmc2V0KSB7Ci0gICAgcmV0dXJuIHRoaXMuZGF0YVZpZXcuZ2V0SW50MzIob2Zmc2V0LCBr
SG9zdElzTGl0dGxlRW5kaWFuKTsKLSAgfQotICBCdWZmZXIucHJvdG90eXBlLmdldEludDY0ID0g
ZnVuY3Rpb24ob2Zmc2V0KSB7Ci0gICAgdmFyIGxvLCBoaTsKLSAgICBpZiAoa0hvc3RJc0xpdHRs
ZUVuZGlhbikgewotICAgICAgbG8gPSB0aGlzLmRhdGFWaWV3LmdldFVpbnQzMihvZmZzZXQsIGtI
b3N0SXNMaXR0bGVFbmRpYW4pOwotICAgICAgaGkgPSB0aGlzLmRhdGFWaWV3LmdldEludDMyKG9m
ZnNldCArIDQsIGtIb3N0SXNMaXR0bGVFbmRpYW4pOwotICAgIH0gZWxzZSB7Ci0gICAgICBoaSA9
IHRoaXMuZGF0YVZpZXcuZ2V0SW50MzIob2Zmc2V0LCBrSG9zdElzTGl0dGxlRW5kaWFuKTsKLSAg
ICAgIGxvID0gdGhpcy5kYXRhVmlldy5nZXRVaW50MzIob2Zmc2V0ICsgNCwga0hvc3RJc0xpdHRs
ZUVuZGlhbik7Ci0gICAgfQotICAgIHJldHVybiBsbyArIGhpICoga0hpZ2hXb3JkTXVsdGlwbGll
cjsKLSAgfQotCi0gIEJ1ZmZlci5wcm90b3R5cGUuZ2V0RmxvYXQzMiA9IGZ1bmN0aW9uKG9mZnNl
dCkgewotICAgIHJldHVybiB0aGlzLmRhdGFWaWV3LmdldEZsb2F0MzIob2Zmc2V0LCBrSG9zdElz
TGl0dGxlRW5kaWFuKTsKLSAgfQotICBCdWZmZXIucHJvdG90eXBlLmdldEZsb2F0NjQgPSBmdW5j
dGlvbihvZmZzZXQpIHsKLSAgICByZXR1cm4gdGhpcy5kYXRhVmlldy5nZXRGbG9hdDY0KG9mZnNl
dCwga0hvc3RJc0xpdHRsZUVuZGlhbik7Ci0gIH0KLQotICBCdWZmZXIucHJvdG90eXBlLnNldFVp
bnQ4ID0gZnVuY3Rpb24ob2Zmc2V0LCB2YWx1ZSkgewotICAgIHRoaXMuZGF0YVZpZXcuc2V0VWlu
dDgob2Zmc2V0LCB2YWx1ZSk7Ci0gIH0KLSAgQnVmZmVyLnByb3RvdHlwZS5zZXRVaW50MTYgPSBm
dW5jdGlvbihvZmZzZXQsIHZhbHVlKSB7Ci0gICAgdGhpcy5kYXRhVmlldy5zZXRVaW50MTYob2Zm
c2V0LCB2YWx1ZSwga0hvc3RJc0xpdHRsZUVuZGlhbik7Ci0gIH0KLSAgQnVmZmVyLnByb3RvdHlw
ZS5zZXRVaW50MzIgPSBmdW5jdGlvbihvZmZzZXQsIHZhbHVlKSB7Ci0gICAgdGhpcy5kYXRhVmll
dy5zZXRVaW50MzIob2Zmc2V0LCB2YWx1ZSwga0hvc3RJc0xpdHRsZUVuZGlhbik7Ci0gIH0KLSAg
QnVmZmVyLnByb3RvdHlwZS5zZXRVaW50NjQgPSBmdW5jdGlvbihvZmZzZXQsIHZhbHVlKSB7Ci0g
ICAgdmFyIGhpID0gKHZhbHVlIC8ga0hpZ2hXb3JkTXVsdGlwbGllcikgfCAwOwotICAgIGlmIChr
SG9zdElzTGl0dGxlRW5kaWFuKSB7Ci0gICAgICB0aGlzLmRhdGFWaWV3LnNldEludDMyKG9mZnNl
dCwgdmFsdWUsIGtIb3N0SXNMaXR0bGVFbmRpYW4pOwotICAgICAgdGhpcy5kYXRhVmlldy5zZXRJ
bnQzMihvZmZzZXQgKyA0LCBoaSwga0hvc3RJc0xpdHRsZUVuZGlhbik7Ci0gICAgfSBlbHNlIHsK
LSAgICAgIHRoaXMuZGF0YVZpZXcuc2V0SW50MzIob2Zmc2V0LCBoaSwga0hvc3RJc0xpdHRsZUVu
ZGlhbik7Ci0gICAgICB0aGlzLmRhdGFWaWV3LnNldEludDMyKG9mZnNldCArIDQsIHZhbHVlLCBr
SG9zdElzTGl0dGxlRW5kaWFuKTsKLSAgICB9Ci0gIH0KLQotICBCdWZmZXIucHJvdG90eXBlLnNl
dEludDggPSBmdW5jdGlvbihvZmZzZXQsIHZhbHVlKSB7Ci0gICAgdGhpcy5kYXRhVmlldy5zZXRJ
bnQ4KG9mZnNldCwgdmFsdWUpOwotICB9Ci0gIEJ1ZmZlci5wcm90b3R5cGUuc2V0SW50MTYgPSBm
dW5jdGlvbihvZmZzZXQsIHZhbHVlKSB7Ci0gICAgdGhpcy5kYXRhVmlldy5zZXRJbnQxNihvZmZz
ZXQsIHZhbHVlLCBrSG9zdElzTGl0dGxlRW5kaWFuKTsKLSAgfQotICBCdWZmZXIucHJvdG90eXBl
LnNldEludDMyID0gZnVuY3Rpb24ob2Zmc2V0LCB2YWx1ZSkgewotICAgIHRoaXMuZGF0YVZpZXcu
c2V0SW50MzIob2Zmc2V0LCB2YWx1ZSwga0hvc3RJc0xpdHRsZUVuZGlhbik7Ci0gIH0KLSAgQnVm
ZmVyLnByb3RvdHlwZS5zZXRJbnQ2NCA9IGZ1bmN0aW9uKG9mZnNldCwgdmFsdWUpIHsKLSAgICB2
YXIgaGkgPSBNYXRoLmZsb29yKHZhbHVlIC8ga0hpZ2hXb3JkTXVsdGlwbGllcik7Ci0gICAgaWYg
KGtIb3N0SXNMaXR0bGVFbmRpYW4pIHsKLSAgICAgIHRoaXMuZGF0YVZpZXcuc2V0SW50MzIob2Zm
c2V0LCB2YWx1ZSwga0hvc3RJc0xpdHRsZUVuZGlhbik7Ci0gICAgICB0aGlzLmRhdGFWaWV3LnNl
dEludDMyKG9mZnNldCArIDQsIGhpLCBrSG9zdElzTGl0dGxlRW5kaWFuKTsKLSAgICB9IGVsc2Ug
ewotICAgICAgdGhpcy5kYXRhVmlldy5zZXRJbnQzMihvZmZzZXQsIGhpLCBrSG9zdElzTGl0dGxl
RW5kaWFuKTsKLSAgICAgIHRoaXMuZGF0YVZpZXcuc2V0SW50MzIob2Zmc2V0ICsgNCwgdmFsdWUs
IGtIb3N0SXNMaXR0bGVFbmRpYW4pOwotICAgIH0KLSAgfQotCi0gIEJ1ZmZlci5wcm90b3R5cGUu
c2V0RmxvYXQzMiA9IGZ1bmN0aW9uKG9mZnNldCwgdmFsdWUpIHsKLSAgICB0aGlzLmRhdGFWaWV3
LnNldEZsb2F0MzIob2Zmc2V0LCB2YWx1ZSwga0hvc3RJc0xpdHRsZUVuZGlhbik7Ci0gIH0KLSAg
QnVmZmVyLnByb3RvdHlwZS5zZXRGbG9hdDY0ID0gZnVuY3Rpb24ob2Zmc2V0LCB2YWx1ZSkgewot
ICAgIHRoaXMuZGF0YVZpZXcuc2V0RmxvYXQ2NChvZmZzZXQsIHZhbHVlLCBrSG9zdElzTGl0dGxl
RW5kaWFuKTsKLSAgfQotCi0gIGludGVybmFsLkJ1ZmZlciA9IEJ1ZmZlcjsKLX0pKCk7Ci0vLyBD
b3B5cmlnaHQgMjAxNCBUaGUgQ2hyb21pdW0gQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
LS8vIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlIGxp
Y2Vuc2UgdGhhdCBjYW4gYmUKLS8vIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCi0KLShmdW5j
dGlvbigpIHsKLSAgdmFyIGludGVybmFsID0gbW9qby5pbnRlcm5hbDsKLQotICB2YXIga0Vycm9y
VW5zaWduZWQgPSAiUGFzc2luZyBuZWdhdGl2ZSB2YWx1ZSB0byB1bnNpZ25lZCI7Ci0gIHZhciBr
RXJyb3JBcnJheSA9ICJQYXNzaW5nIG5vbiBBcnJheSBmb3IgYXJyYXkgdHlwZSI7Ci0gIHZhciBr
RXJyb3JTdHJpbmcgPSAiUGFzc2luZyBub24gU3RyaW5nIGZvciBzdHJpbmcgdHlwZSI7Ci0gIHZh
ciBrRXJyb3JNYXAgPSAiUGFzc2luZyBub24gTWFwIGZvciBtYXAgdHlwZSI7Ci0KLSAgLy8gTWVt
b3J5IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0KLQotICB2YXIga0FsaWdubWVudCA9IDg7Ci0KLSAgZnVuY3Rpb24gYWxp
Z24oc2l6ZSkgewotICAgIHJldHVybiBzaXplICsgKGtBbGlnbm1lbnQgLSAoc2l6ZSAlIGtBbGln
bm1lbnQpKSAlIGtBbGlnbm1lbnQ7Ci0gIH0KLQotICBmdW5jdGlvbiBpc0FsaWduZWQob2Zmc2V0
KSB7Ci0gICAgcmV0dXJuIG9mZnNldCA+PSAwICYmIChvZmZzZXQgJSBrQWxpZ25tZW50KSA9PT0g
MDsKLSAgfQotCi0gIC8vIENvbnN0YW50cyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0KLSAgdmFyIGtBcnJheUhlYWRlclNp
emUgPSA4OwotICB2YXIga1N0cnVjdEhlYWRlclNpemUgPSA4OwotICB2YXIga01lc3NhZ2VWMEhl
YWRlclNpemUgPSAyNDsKLSAgdmFyIGtNZXNzYWdlVjFIZWFkZXJTaXplID0gMzI7Ci0gIHZhciBr
TWVzc2FnZVYySGVhZGVyU2l6ZSA9IDQ4OwotICB2YXIga01hcFN0cnVjdFBheWxvYWRTaXplID0g
MTY7Ci0KLSAgdmFyIGtTdHJ1Y3RIZWFkZXJOdW1CeXRlc09mZnNldCA9IDA7Ci0gIHZhciBrU3Ry
dWN0SGVhZGVyVmVyc2lvbk9mZnNldCA9IDQ7Ci0KLSAgdmFyIGtFbmNvZGVkSW52YWxpZEhhbmRs
ZVZhbHVlID0gMHhGRkZGRkZGRjsKLQotICAvLyBEZWNvZGVyIC0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotCi0gIGZ1bmN0
aW9uIERlY29kZXIoYnVmZmVyLCBoYW5kbGVzLCBhc3NvY2lhdGVkRW5kcG9pbnRIYW5kbGVzLCBi
YXNlKSB7Ci0gICAgdGhpcy5idWZmZXIgPSBidWZmZXI7Ci0gICAgdGhpcy5oYW5kbGVzID0gaGFu
ZGxlczsKLSAgICB0aGlzLmFzc29jaWF0ZWRFbmRwb2ludEhhbmRsZXMgPSBhc3NvY2lhdGVkRW5k
cG9pbnRIYW5kbGVzOwotICAgIHRoaXMuYmFzZSA9IGJhc2U7Ci0gICAgdGhpcy5uZXh0ID0gYmFz
ZTsKLSAgfQotCi0gIERlY29kZXIucHJvdG90eXBlLmFsaWduID0gZnVuY3Rpb24oKSB7Ci0gICAg
dGhpcy5uZXh0ID0gYWxpZ24odGhpcy5uZXh0KTsKLSAgfTsKLQotICBEZWNvZGVyLnByb3RvdHlw
ZS5za2lwID0gZnVuY3Rpb24ob2Zmc2V0KSB7Ci0gICAgdGhpcy5uZXh0ICs9IG9mZnNldDsKLSAg
fTsKLQotICBEZWNvZGVyLnByb3RvdHlwZS5yZWFkSW50OCA9IGZ1bmN0aW9uKCkgewotICAgIHZh
ciByZXN1bHQgPSB0aGlzLmJ1ZmZlci5nZXRJbnQ4KHRoaXMubmV4dCk7Ci0gICAgdGhpcy5uZXh0
ICs9IDE7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLSAgfTsKLQotICBEZWNvZGVyLnByb3RvdHlwZS5y
ZWFkVWludDggPSBmdW5jdGlvbigpIHsKLSAgICB2YXIgcmVzdWx0ID0gdGhpcy5idWZmZXIuZ2V0
VWludDgodGhpcy5uZXh0KTsKLSAgICB0aGlzLm5leHQgKz0gMTsKLSAgICByZXR1cm4gcmVzdWx0
OwotICB9OwotCi0gIERlY29kZXIucHJvdG90eXBlLnJlYWRJbnQxNiA9IGZ1bmN0aW9uKCkgewot
ICAgIHZhciByZXN1bHQgPSB0aGlzLmJ1ZmZlci5nZXRJbnQxNih0aGlzLm5leHQpOwotICAgIHRo
aXMubmV4dCArPSAyOwotICAgIHJldHVybiByZXN1bHQ7Ci0gIH07Ci0KLSAgRGVjb2Rlci5wcm90
b3R5cGUucmVhZFVpbnQxNiA9IGZ1bmN0aW9uKCkgewotICAgIHZhciByZXN1bHQgPSB0aGlzLmJ1
ZmZlci5nZXRVaW50MTYodGhpcy5uZXh0KTsKLSAgICB0aGlzLm5leHQgKz0gMjsKLSAgICByZXR1
cm4gcmVzdWx0OwotICB9OwotCi0gIERlY29kZXIucHJvdG90eXBlLnJlYWRJbnQzMiA9IGZ1bmN0
aW9uKCkgewotICAgIHZhciByZXN1bHQgPSB0aGlzLmJ1ZmZlci5nZXRJbnQzMih0aGlzLm5leHQp
OwotICAgIHRoaXMubmV4dCArPSA0OwotICAgIHJldHVybiByZXN1bHQ7Ci0gIH07Ci0KLSAgRGVj
b2Rlci5wcm90b3R5cGUucmVhZFVpbnQzMiA9IGZ1bmN0aW9uKCkgewotICAgIHZhciByZXN1bHQg
PSB0aGlzLmJ1ZmZlci5nZXRVaW50MzIodGhpcy5uZXh0KTsKLSAgICB0aGlzLm5leHQgKz0gNDsK
LSAgICByZXR1cm4gcmVzdWx0OwotICB9OwotCi0gIERlY29kZXIucHJvdG90eXBlLnJlYWRJbnQ2
NCA9IGZ1bmN0aW9uKCkgewotICAgIHZhciByZXN1bHQgPSB0aGlzLmJ1ZmZlci5nZXRJbnQ2NCh0
aGlzLm5leHQpOwotICAgIHRoaXMubmV4dCArPSA4OwotICAgIHJldHVybiByZXN1bHQ7Ci0gIH07
Ci0KLSAgRGVjb2Rlci5wcm90b3R5cGUucmVhZFVpbnQ2NCA9IGZ1bmN0aW9uKCkgewotICAgIHZh
ciByZXN1bHQgPSB0aGlzLmJ1ZmZlci5nZXRVaW50NjQodGhpcy5uZXh0KTsKLSAgICB0aGlzLm5l
eHQgKz0gODsKLSAgICByZXR1cm4gcmVzdWx0OwotICB9OwotCi0gIERlY29kZXIucHJvdG90eXBl
LnJlYWRGbG9hdCA9IGZ1bmN0aW9uKCkgewotICAgIHZhciByZXN1bHQgPSB0aGlzLmJ1ZmZlci5n
ZXRGbG9hdDMyKHRoaXMubmV4dCk7Ci0gICAgdGhpcy5uZXh0ICs9IDQ7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLSAgfTsKLQotICBEZWNvZGVyLnByb3RvdHlwZS5yZWFkRG91YmxlID0gZnVuY3Rpb24o
KSB7Ci0gICAgdmFyIHJlc3VsdCA9IHRoaXMuYnVmZmVyLmdldEZsb2F0NjQodGhpcy5uZXh0KTsK
LSAgICB0aGlzLm5leHQgKz0gODsKLSAgICByZXR1cm4gcmVzdWx0OwotICB9OwotCi0gIERlY29k
ZXIucHJvdG90eXBlLmRlY29kZVBvaW50ZXIgPSBmdW5jdGlvbigpIHsKLSAgICAvLyBUT0RPKGFi
YXJ0aCk6IFRvIGNvcnJlY3RseSBkZWNvZGUgYSBwb2ludGVyLCB3ZSBuZWVkIHRvIGtub3cgdGhl
IHJlYWwKLSAgICAvLyBiYXNlIGFkZHJlc3Mgb2YgdGhlIGFycmF5IGJ1ZmZlci4KLSAgICB2YXIg
b2Zmc2V0UG9pbnRlciA9IHRoaXMubmV4dDsKLSAgICB2YXIgb2Zmc2V0ID0gdGhpcy5yZWFkVWlu
dDY0KCk7Ci0gICAgaWYgKCFvZmZzZXQpCi0gICAgICByZXR1cm4gMDsKLSAgICByZXR1cm4gb2Zm
c2V0UG9pbnRlciArIG9mZnNldDsKLSAgfTsKLQotICBEZWNvZGVyLnByb3RvdHlwZS5kZWNvZGVB
bmRDcmVhdGVEZWNvZGVyID0gZnVuY3Rpb24ocG9pbnRlcikgewotICAgIHJldHVybiBuZXcgRGVj
b2Rlcih0aGlzLmJ1ZmZlciwgdGhpcy5oYW5kbGVzLAotICAgICAgICB0aGlzLmFzc29jaWF0ZWRF
bmRwb2ludEhhbmRsZXMsIHBvaW50ZXIpOwotICB9OwotCi0gIERlY29kZXIucHJvdG90eXBlLmRl
Y29kZUhhbmRsZSA9IGZ1bmN0aW9uKCkgewotICAgIHJldHVybiB0aGlzLmhhbmRsZXNbdGhpcy5y
ZWFkVWludDMyKCldIHx8IG51bGw7Ci0gIH07Ci0KLSAgRGVjb2Rlci5wcm90b3R5cGUuZGVjb2Rl
QXNzb2NpYXRlZEVuZHBvaW50SGFuZGxlID0gZnVuY3Rpb24oKSB7Ci0gICAgcmV0dXJuIHRoaXMu
YXNzb2NpYXRlZEVuZHBvaW50SGFuZGxlc1t0aGlzLnJlYWRVaW50MzIoKV0gfHwgbnVsbDsKLSAg
fTsKLQotICBEZWNvZGVyLnByb3RvdHlwZS5kZWNvZGVTdHJpbmcgPSBmdW5jdGlvbigpIHsKLSAg
ICB2YXIgbnVtYmVyT2ZCeXRlcyA9IHRoaXMucmVhZFVpbnQzMigpOwotICAgIHZhciBudW1iZXJP
ZkVsZW1lbnRzID0gdGhpcy5yZWFkVWludDMyKCk7Ci0gICAgdmFyIGJhc2UgPSB0aGlzLm5leHQ7
Ci0gICAgdGhpcy5uZXh0ICs9IG51bWJlck9mRWxlbWVudHM7Ci0gICAgcmV0dXJuIGludGVybmFs
LmRlY29kZVV0ZjhTdHJpbmcoCi0gICAgICAgIG5ldyBVaW50OEFycmF5KHRoaXMuYnVmZmVyLmFy
cmF5QnVmZmVyLCBiYXNlLCBudW1iZXJPZkVsZW1lbnRzKSk7Ci0gIH07Ci0KLSAgRGVjb2Rlci5w
cm90b3R5cGUuZGVjb2RlQXJyYXkgPSBmdW5jdGlvbihjbHMpIHsKLSAgICB2YXIgbnVtYmVyT2ZC
eXRlcyA9IHRoaXMucmVhZFVpbnQzMigpOwotICAgIHZhciBudW1iZXJPZkVsZW1lbnRzID0gdGhp
cy5yZWFkVWludDMyKCk7Ci0gICAgdmFyIHZhbCA9IG5ldyBBcnJheShudW1iZXJPZkVsZW1lbnRz
KTsKLSAgICBpZiAoY2xzID09PSBQYWNrZWRCb29sKSB7Ci0gICAgICB2YXIgYnl0ZTsKLSAgICAg
IGZvciAodmFyIGkgPSAwOyBpIDwgbnVtYmVyT2ZFbGVtZW50czsgKytpKSB7Ci0gICAgICAgIGlm
IChpICUgOCA9PT0gMCkKLSAgICAgICAgICBieXRlID0gdGhpcy5yZWFkVWludDgoKTsKLSAgICAg
ICAgdmFsW2ldID0gKGJ5dGUgJiAoMSA8PCBpICUgOCkpID8gdHJ1ZSA6IGZhbHNlOwotICAgICAg
fQotICAgIH0gZWxzZSB7Ci0gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IG51bWJlck9mRWxlbWVu
dHM7ICsraSkgewotICAgICAgICB2YWxbaV0gPSBjbHMuZGVjb2RlKHRoaXMpOwotICAgICAgfQot
ICAgIH0KLSAgICByZXR1cm4gdmFsOwotICB9OwotCi0gIERlY29kZXIucHJvdG90eXBlLmRlY29k
ZVN0cnVjdCA9IGZ1bmN0aW9uKGNscykgewotICAgIHJldHVybiBjbHMuZGVjb2RlKHRoaXMpOwot
ICB9OwotCi0gIERlY29kZXIucHJvdG90eXBlLmRlY29kZVN0cnVjdFBvaW50ZXIgPSBmdW5jdGlv
bihjbHMpIHsKLSAgICB2YXIgcG9pbnRlciA9IHRoaXMuZGVjb2RlUG9pbnRlcigpOwotICAgIGlm
ICghcG9pbnRlcikgewotICAgICAgcmV0dXJuIG51bGw7Ci0gICAgfQotICAgIHJldHVybiBjbHMu
ZGVjb2RlKHRoaXMuZGVjb2RlQW5kQ3JlYXRlRGVjb2Rlcihwb2ludGVyKSk7Ci0gIH07Ci0KLSAg
RGVjb2Rlci5wcm90b3R5cGUuZGVjb2RlQXJyYXlQb2ludGVyID0gZnVuY3Rpb24oY2xzKSB7Ci0g
ICAgdmFyIHBvaW50ZXIgPSB0aGlzLmRlY29kZVBvaW50ZXIoKTsKLSAgICBpZiAoIXBvaW50ZXIp
IHsKLSAgICAgIHJldHVybiBudWxsOwotICAgIH0KLSAgICByZXR1cm4gdGhpcy5kZWNvZGVBbmRD
cmVhdGVEZWNvZGVyKHBvaW50ZXIpLmRlY29kZUFycmF5KGNscyk7Ci0gIH07Ci0KLSAgRGVjb2Rl
ci5wcm90b3R5cGUuZGVjb2RlU3RyaW5nUG9pbnRlciA9IGZ1bmN0aW9uKCkgewotICAgIHZhciBw
b2ludGVyID0gdGhpcy5kZWNvZGVQb2ludGVyKCk7Ci0gICAgaWYgKCFwb2ludGVyKSB7Ci0gICAg
ICByZXR1cm4gbnVsbDsKLSAgICB9Ci0gICAgcmV0dXJuIHRoaXMuZGVjb2RlQW5kQ3JlYXRlRGVj
b2Rlcihwb2ludGVyKS5kZWNvZGVTdHJpbmcoKTsKLSAgfTsKLQotICBEZWNvZGVyLnByb3RvdHlw
ZS5kZWNvZGVNYXAgPSBmdW5jdGlvbihrZXlDbGFzcywgdmFsdWVDbGFzcykgewotICAgIHRoaXMu
c2tpcCg0KTsgLy8gbnVtYmVyT2ZCeXRlcwotICAgIHRoaXMuc2tpcCg0KTsgLy8gdmVyc2lvbgot
ICAgIHZhciBrZXlzID0gdGhpcy5kZWNvZGVBcnJheVBvaW50ZXIoa2V5Q2xhc3MpOwotICAgIHZh
ciB2YWx1ZXMgPSB0aGlzLmRlY29kZUFycmF5UG9pbnRlcih2YWx1ZUNsYXNzKTsKLSAgICB2YXIg
dmFsID0gbmV3IE1hcCgpOwotICAgIGZvciAodmFyIGkgPSAwOyBpIDwga2V5cy5sZW5ndGg7IGkr
KykKLSAgICAgIHZhbC5zZXQoa2V5c1tpXSwgdmFsdWVzW2ldKTsKLSAgICByZXR1cm4gdmFsOwot
ICB9OwotCi0gIERlY29kZXIucHJvdG90eXBlLmRlY29kZU1hcFBvaW50ZXIgPSBmdW5jdGlvbihr
ZXlDbGFzcywgdmFsdWVDbGFzcykgewotICAgIHZhciBwb2ludGVyID0gdGhpcy5kZWNvZGVQb2lu
dGVyKCk7Ci0gICAgaWYgKCFwb2ludGVyKSB7Ci0gICAgICByZXR1cm4gbnVsbDsKLSAgICB9Ci0g
ICAgdmFyIGRlY29kZXIgPSB0aGlzLmRlY29kZUFuZENyZWF0ZURlY29kZXIocG9pbnRlcik7Ci0g
ICAgcmV0dXJuIGRlY29kZXIuZGVjb2RlTWFwKGtleUNsYXNzLCB2YWx1ZUNsYXNzKTsKLSAgfTsK
LQotICAvLyBFbmNvZGVyIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotCi0gIGZ1bmN0aW9uIEVuY29kZXIoYnVmZmVyLCBo
YW5kbGVzLCBhc3NvY2lhdGVkRW5kcG9pbnRIYW5kbGVzLCBiYXNlKSB7Ci0gICAgdGhpcy5idWZm
ZXIgPSBidWZmZXI7Ci0gICAgdGhpcy5oYW5kbGVzID0gaGFuZGxlczsKLSAgICB0aGlzLmFzc29j
aWF0ZWRFbmRwb2ludEhhbmRsZXMgPSBhc3NvY2lhdGVkRW5kcG9pbnRIYW5kbGVzOwotICAgIHRo
aXMuYmFzZSA9IGJhc2U7Ci0gICAgdGhpcy5uZXh0ID0gYmFzZTsKLSAgfQotCi0gIEVuY29kZXIu
cHJvdG90eXBlLmFsaWduID0gZnVuY3Rpb24oKSB7Ci0gICAgdGhpcy5uZXh0ID0gYWxpZ24odGhp
cy5uZXh0KTsKLSAgfTsKLQotICBFbmNvZGVyLnByb3RvdHlwZS5za2lwID0gZnVuY3Rpb24ob2Zm
c2V0KSB7Ci0gICAgdGhpcy5uZXh0ICs9IG9mZnNldDsKLSAgfTsKLQotICBFbmNvZGVyLnByb3Rv
dHlwZS53cml0ZUludDggPSBmdW5jdGlvbih2YWwpIHsKLSAgICB0aGlzLmJ1ZmZlci5zZXRJbnQ4
KHRoaXMubmV4dCwgdmFsKTsKLSAgICB0aGlzLm5leHQgKz0gMTsKLSAgfTsKLQotICBFbmNvZGVy
LnByb3RvdHlwZS53cml0ZVVpbnQ4ID0gZnVuY3Rpb24odmFsKSB7Ci0gICAgaWYgKHZhbCA8IDAp
IHsKLSAgICAgIHRocm93IG5ldyBFcnJvcihrRXJyb3JVbnNpZ25lZCk7Ci0gICAgfQotICAgIHRo
aXMuYnVmZmVyLnNldFVpbnQ4KHRoaXMubmV4dCwgdmFsKTsKLSAgICB0aGlzLm5leHQgKz0gMTsK
LSAgfTsKLQotICBFbmNvZGVyLnByb3RvdHlwZS53cml0ZUludDE2ID0gZnVuY3Rpb24odmFsKSB7
Ci0gICAgdGhpcy5idWZmZXIuc2V0SW50MTYodGhpcy5uZXh0LCB2YWwpOwotICAgIHRoaXMubmV4
dCArPSAyOwotICB9OwotCi0gIEVuY29kZXIucHJvdG90eXBlLndyaXRlVWludDE2ID0gZnVuY3Rp
b24odmFsKSB7Ci0gICAgaWYgKHZhbCA8IDApIHsKLSAgICAgIHRocm93IG5ldyBFcnJvcihrRXJy
b3JVbnNpZ25lZCk7Ci0gICAgfQotICAgIHRoaXMuYnVmZmVyLnNldFVpbnQxNih0aGlzLm5leHQs
IHZhbCk7Ci0gICAgdGhpcy5uZXh0ICs9IDI7Ci0gIH07Ci0KLSAgRW5jb2Rlci5wcm90b3R5cGUu
d3JpdGVJbnQzMiA9IGZ1bmN0aW9uKHZhbCkgewotICAgIHRoaXMuYnVmZmVyLnNldEludDMyKHRo
aXMubmV4dCwgdmFsKTsKLSAgICB0aGlzLm5leHQgKz0gNDsKLSAgfTsKLQotICBFbmNvZGVyLnBy
b3RvdHlwZS53cml0ZVVpbnQzMiA9IGZ1bmN0aW9uKHZhbCkgewotICAgIGlmICh2YWwgPCAwKSB7
Ci0gICAgICB0aHJvdyBuZXcgRXJyb3Ioa0Vycm9yVW5zaWduZWQpOwotICAgIH0KLSAgICB0aGlz
LmJ1ZmZlci5zZXRVaW50MzIodGhpcy5uZXh0LCB2YWwpOwotICAgIHRoaXMubmV4dCArPSA0Owot
ICB9OwotCi0gIEVuY29kZXIucHJvdG90eXBlLndyaXRlSW50NjQgPSBmdW5jdGlvbih2YWwpIHsK
LSAgICB0aGlzLmJ1ZmZlci5zZXRJbnQ2NCh0aGlzLm5leHQsIHZhbCk7Ci0gICAgdGhpcy5uZXh0
ICs9IDg7Ci0gIH07Ci0KLSAgRW5jb2Rlci5wcm90b3R5cGUud3JpdGVVaW50NjQgPSBmdW5jdGlv
bih2YWwpIHsKLSAgICBpZiAodmFsIDwgMCkgewotICAgICAgdGhyb3cgbmV3IEVycm9yKGtFcnJv
clVuc2lnbmVkKTsKLSAgICB9Ci0gICAgdGhpcy5idWZmZXIuc2V0VWludDY0KHRoaXMubmV4dCwg
dmFsKTsKLSAgICB0aGlzLm5leHQgKz0gODsKLSAgfTsKLQotICBFbmNvZGVyLnByb3RvdHlwZS53
cml0ZUZsb2F0ID0gZnVuY3Rpb24odmFsKSB7Ci0gICAgdGhpcy5idWZmZXIuc2V0RmxvYXQzMih0
aGlzLm5leHQsIHZhbCk7Ci0gICAgdGhpcy5uZXh0ICs9IDQ7Ci0gIH07Ci0KLSAgRW5jb2Rlci5w
cm90b3R5cGUud3JpdGVEb3VibGUgPSBmdW5jdGlvbih2YWwpIHsKLSAgICB0aGlzLmJ1ZmZlci5z
ZXRGbG9hdDY0KHRoaXMubmV4dCwgdmFsKTsKLSAgICB0aGlzLm5leHQgKz0gODsKLSAgfTsKLQot
ICBFbmNvZGVyLnByb3RvdHlwZS5lbmNvZGVQb2ludGVyID0gZnVuY3Rpb24ocG9pbnRlcikgewot
ICAgIGlmICghcG9pbnRlcikKLSAgICAgIHJldHVybiB0aGlzLndyaXRlVWludDY0KDApOwotICAg
IC8vIFRPRE8oYWJhcnRoKTogVG8gY29ycmVjdGx5IGVuY29kZSBhIHBvaW50ZXIsIHdlIG5lZWQg
dG8ga25vdyB0aGUgcmVhbAotICAgIC8vIGJhc2UgYWRkcmVzcyBvZiB0aGUgYXJyYXkgYnVmZmVy
LgotICAgIHZhciBvZmZzZXQgPSBwb2ludGVyIC0gdGhpcy5uZXh0OwotICAgIHRoaXMud3JpdGVV
aW50NjQob2Zmc2V0KTsKLSAgfTsKLQotICBFbmNvZGVyLnByb3RvdHlwZS5jcmVhdGVBbmRFbmNv
ZGVFbmNvZGVyID0gZnVuY3Rpb24oc2l6ZSkgewotICAgIHZhciBwb2ludGVyID0gdGhpcy5idWZm
ZXIuYWxsb2MoYWxpZ24oc2l6ZSkpOwotICAgIHRoaXMuZW5jb2RlUG9pbnRlcihwb2ludGVyKTsK
LSAgICByZXR1cm4gbmV3IEVuY29kZXIodGhpcy5idWZmZXIsIHRoaXMuaGFuZGxlcywKLSAgICAg
ICAgdGhpcy5hc3NvY2lhdGVkRW5kcG9pbnRIYW5kbGVzLCBwb2ludGVyKTsKLSAgfTsKLQotICBF
bmNvZGVyLnByb3RvdHlwZS5lbmNvZGVIYW5kbGUgPSBmdW5jdGlvbihoYW5kbGUpIHsKLSAgICBp
ZiAoaGFuZGxlKSB7Ci0gICAgICB0aGlzLmhhbmRsZXMucHVzaChoYW5kbGUpOwotICAgICAgdGhp
cy53cml0ZVVpbnQzMih0aGlzLmhhbmRsZXMubGVuZ3RoIC0gMSk7Ci0gICAgfSBlbHNlIHsKLSAg
ICAgIHRoaXMud3JpdGVVaW50MzIoa0VuY29kZWRJbnZhbGlkSGFuZGxlVmFsdWUpOwotICAgIH0K
LSAgfTsKLQotICBFbmNvZGVyLnByb3RvdHlwZS5lbmNvZGVBc3NvY2lhdGVkRW5kcG9pbnRIYW5k
bGUgPSBmdW5jdGlvbihlbmRwb2ludEhhbmRsZSkgewotICAgIGlmIChlbmRwb2ludEhhbmRsZSkg
ewotICAgICAgdGhpcy5hc3NvY2lhdGVkRW5kcG9pbnRIYW5kbGVzLnB1c2goZW5kcG9pbnRIYW5k
bGUpOwotICAgICAgdGhpcy53cml0ZVVpbnQzMih0aGlzLmFzc29jaWF0ZWRFbmRwb2ludEhhbmRs
ZXMubGVuZ3RoIC0gMSk7Ci0gICAgfSBlbHNlIHsKLSAgICAgIHRoaXMud3JpdGVVaW50MzIoa0Vu
Y29kZWRJbnZhbGlkSGFuZGxlVmFsdWUpOwotICAgIH0KLSAgfTsKLQotICBFbmNvZGVyLnByb3Rv
dHlwZS5lbmNvZGVTdHJpbmcgPSBmdW5jdGlvbih2YWwpIHsKLSAgICB2YXIgYmFzZSA9IHRoaXMu
bmV4dCArIGtBcnJheUhlYWRlclNpemU7Ci0gICAgdmFyIG51bWJlck9mRWxlbWVudHMgPSBpbnRl
cm5hbC5lbmNvZGVVdGY4U3RyaW5nKAotICAgICAgICB2YWwsIG5ldyBVaW50OEFycmF5KHRoaXMu
YnVmZmVyLmFycmF5QnVmZmVyLCBiYXNlKSk7Ci0gICAgdmFyIG51bWJlck9mQnl0ZXMgPSBrQXJy
YXlIZWFkZXJTaXplICsgbnVtYmVyT2ZFbGVtZW50czsKLSAgICB0aGlzLndyaXRlVWludDMyKG51
bWJlck9mQnl0ZXMpOwotICAgIHRoaXMud3JpdGVVaW50MzIobnVtYmVyT2ZFbGVtZW50cyk7Ci0g
ICAgdGhpcy5uZXh0ICs9IG51bWJlck9mRWxlbWVudHM7Ci0gIH07Ci0KLSAgRW5jb2Rlci5wcm90
b3R5cGUuZW5jb2RlQXJyYXkgPQotICAgICAgZnVuY3Rpb24oY2xzLCB2YWwsIG51bWJlck9mRWxl
bWVudHMsIGVuY29kZWRTaXplKSB7Ci0gICAgaWYgKG51bWJlck9mRWxlbWVudHMgPT09IHVuZGVm
aW5lZCkKLSAgICAgIG51bWJlck9mRWxlbWVudHMgPSB2YWwubGVuZ3RoOwotICAgIGlmIChlbmNv
ZGVkU2l6ZSA9PT0gdW5kZWZpbmVkKQotICAgICAgZW5jb2RlZFNpemUgPSBrQXJyYXlIZWFkZXJT
aXplICsgY2xzLmVuY29kZWRTaXplICogbnVtYmVyT2ZFbGVtZW50czsKLQotICAgIHRoaXMud3Jp
dGVVaW50MzIoZW5jb2RlZFNpemUpOwotICAgIHRoaXMud3JpdGVVaW50MzIobnVtYmVyT2ZFbGVt
ZW50cyk7Ci0KLSAgICBpZiAoY2xzID09PSBQYWNrZWRCb29sKSB7Ci0gICAgICB2YXIgYnl0ZSA9
IDA7Ci0gICAgICBmb3IgKGkgPSAwOyBpIDwgbnVtYmVyT2ZFbGVtZW50czsgKytpKSB7Ci0gICAg
ICAgIGlmICh2YWxbaV0pCi0gICAgICAgICAgYnl0ZSB8PSAoMSA8PCBpICUgOCk7Ci0gICAgICAg
IGlmIChpICUgOCA9PT0gNyB8fCBpID09IG51bWJlck9mRWxlbWVudHMgLSAxKSB7Ci0gICAgICAg
ICAgVWludDguZW5jb2RlKHRoaXMsIGJ5dGUpOwotICAgICAgICAgIGJ5dGUgPSAwOwotICAgICAg
ICB9Ci0gICAgICB9Ci0gICAgfSBlbHNlIHsKLSAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbnVt
YmVyT2ZFbGVtZW50czsgKytpKQotICAgICAgICBjbHMuZW5jb2RlKHRoaXMsIHZhbFtpXSk7Ci0g
ICAgfQotICB9OwotCi0gIEVuY29kZXIucHJvdG90eXBlLmVuY29kZVN0cnVjdCA9IGZ1bmN0aW9u
KGNscywgdmFsKSB7Ci0gICAgcmV0dXJuIGNscy5lbmNvZGUodGhpcywgdmFsKTsKLSAgfTsKLQot
ICBFbmNvZGVyLnByb3RvdHlwZS5lbmNvZGVTdHJ1Y3RQb2ludGVyID0gZnVuY3Rpb24oY2xzLCB2
YWwpIHsKLSAgICBpZiAodmFsID09IG51bGwpIHsKLSAgICAgIC8vIEFsc28gaGFuZGxlcyB1bmRl
ZmluZWQsIHNpbmNlIHVuZGVmaW5lZCA9PSBudWxsLgotICAgICAgdGhpcy5lbmNvZGVQb2ludGVy
KHZhbCk7Ci0gICAgICByZXR1cm47Ci0gICAgfQotICAgIHZhciBlbmNvZGVyID0gdGhpcy5jcmVh
dGVBbmRFbmNvZGVFbmNvZGVyKGNscy5lbmNvZGVkU2l6ZSk7Ci0gICAgY2xzLmVuY29kZShlbmNv
ZGVyLCB2YWwpOwotICB9OwotCi0gIEVuY29kZXIucHJvdG90eXBlLmVuY29kZUFycmF5UG9pbnRl
ciA9IGZ1bmN0aW9uKGNscywgdmFsKSB7Ci0gICAgaWYgKHZhbCA9PSBudWxsKSB7Ci0gICAgICAv
LyBBbHNvIGhhbmRsZXMgdW5kZWZpbmVkLCBzaW5jZSB1bmRlZmluZWQgPT0gbnVsbC4KLSAgICAg
IHRoaXMuZW5jb2RlUG9pbnRlcih2YWwpOwotICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIHZh
ciBudW1iZXJPZkVsZW1lbnRzID0gdmFsLmxlbmd0aDsKLSAgICBpZiAoIU51bWJlci5pc1NhZmVJ
bnRlZ2VyKG51bWJlck9mRWxlbWVudHMpIHx8IG51bWJlck9mRWxlbWVudHMgPCAwKQotICAgICAg
dGhyb3cgbmV3IEVycm9yKGtFcnJvckFycmF5KTsKLQotICAgIHZhciBlbmNvZGVkU2l6ZSA9IGtB
cnJheUhlYWRlclNpemUgKyAoKGNscyA9PT0gUGFja2VkQm9vbCkgPwotICAgICAgICBNYXRoLmNl
aWwobnVtYmVyT2ZFbGVtZW50cyAvIDgpIDogY2xzLmVuY29kZWRTaXplICogbnVtYmVyT2ZFbGVt
ZW50cyk7Ci0gICAgdmFyIGVuY29kZXIgPSB0aGlzLmNyZWF0ZUFuZEVuY29kZUVuY29kZXIoZW5j
b2RlZFNpemUpOwotICAgIGVuY29kZXIuZW5jb2RlQXJyYXkoY2xzLCB2YWwsIG51bWJlck9mRWxl
bWVudHMsIGVuY29kZWRTaXplKTsKLSAgfTsKLQotICBFbmNvZGVyLnByb3RvdHlwZS5lbmNvZGVT
dHJpbmdQb2ludGVyID0gZnVuY3Rpb24odmFsKSB7Ci0gICAgaWYgKHZhbCA9PSBudWxsKSB7Ci0g
ICAgICAvLyBBbHNvIGhhbmRsZXMgdW5kZWZpbmVkLCBzaW5jZSB1bmRlZmluZWQgPT0gbnVsbC4K
LSAgICAgIHRoaXMuZW5jb2RlUG9pbnRlcih2YWwpOwotICAgICAgcmV0dXJuOwotICAgIH0KLSAg
ICAvLyBPbmx5IGFjY2VwdHMgc3RyaW5nIHByaW1pdml0ZXMsIG5vdCBTdHJpbmcgT2JqZWN0cyBs
aWtlIG5ldyBTdHJpbmcoImZvbyIpCi0gICAgaWYgKHR5cGVvZih2YWwpICE9PSAic3RyaW5nIikg
ewotICAgICAgdGhyb3cgbmV3IEVycm9yKGtFcnJvclN0cmluZyk7Ci0gICAgfQotICAgIHZhciBl
bmNvZGVkU2l6ZSA9IGtBcnJheUhlYWRlclNpemUgKyBpbnRlcm5hbC51dGY4TGVuZ3RoKHZhbCk7
Ci0gICAgdmFyIGVuY29kZXIgPSB0aGlzLmNyZWF0ZUFuZEVuY29kZUVuY29kZXIoZW5jb2RlZFNp
emUpOwotICAgIGVuY29kZXIuZW5jb2RlU3RyaW5nKHZhbCk7Ci0gIH07Ci0KLSAgRW5jb2Rlci5w
cm90b3R5cGUuZW5jb2RlTWFwID0gZnVuY3Rpb24oa2V5Q2xhc3MsIHZhbHVlQ2xhc3MsIHZhbCkg
ewotICAgIHZhciBrZXlzID0gbmV3IEFycmF5KHZhbC5zaXplKTsKLSAgICB2YXIgdmFsdWVzID0g
bmV3IEFycmF5KHZhbC5zaXplKTsKLSAgICB2YXIgaSA9IDA7Ci0gICAgdmFsLmZvckVhY2goZnVu
Y3Rpb24odmFsdWUsIGtleSkgewotICAgICAgdmFsdWVzW2ldID0gdmFsdWU7Ci0gICAgICBrZXlz
W2krK10gPSBrZXk7Ci0gICAgfSk7Ci0gICAgdGhpcy53cml0ZVVpbnQzMihrU3RydWN0SGVhZGVy
U2l6ZSArIGtNYXBTdHJ1Y3RQYXlsb2FkU2l6ZSk7Ci0gICAgdGhpcy53cml0ZVVpbnQzMigwKTsg
IC8vIHZlcnNpb24KLSAgICB0aGlzLmVuY29kZUFycmF5UG9pbnRlcihrZXlDbGFzcywga2V5cyk7
Ci0gICAgdGhpcy5lbmNvZGVBcnJheVBvaW50ZXIodmFsdWVDbGFzcywgdmFsdWVzKTsKLSAgfQot
Ci0gIEVuY29kZXIucHJvdG90eXBlLmVuY29kZU1hcFBvaW50ZXIgPSBmdW5jdGlvbihrZXlDbGFz
cywgdmFsdWVDbGFzcywgdmFsKSB7Ci0gICAgaWYgKHZhbCA9PSBudWxsKSB7Ci0gICAgICAvLyBB
bHNvIGhhbmRsZXMgdW5kZWZpbmVkLCBzaW5jZSB1bmRlZmluZWQgPT0gbnVsbC4KLSAgICAgIHRo
aXMuZW5jb2RlUG9pbnRlcih2YWwpOwotICAgICAgcmV0dXJuOwotICAgIH0KLSAgICBpZiAoISh2
YWwgaW5zdGFuY2VvZiBNYXApKSB7Ci0gICAgICB0aHJvdyBuZXcgRXJyb3Ioa0Vycm9yTWFwKTsK
LSAgICB9Ci0gICAgdmFyIGVuY29kZWRTaXplID0ga1N0cnVjdEhlYWRlclNpemUgKyBrTWFwU3Ry
dWN0UGF5bG9hZFNpemU7Ci0gICAgdmFyIGVuY29kZXIgPSB0aGlzLmNyZWF0ZUFuZEVuY29kZUVu
Y29kZXIoZW5jb2RlZFNpemUpOwotICAgIGVuY29kZXIuZW5jb2RlTWFwKGtleUNsYXNzLCB2YWx1
ZUNsYXNzLCB2YWwpOwotICB9OwotCi0gIC8vIE1lc3NhZ2UgLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0KLSAgdmFyIGtN
ZXNzYWdlSW50ZXJmYWNlSWRPZmZzZXQgPSBrU3RydWN0SGVhZGVyU2l6ZTsKLSAgdmFyIGtNZXNz
YWdlTmFtZU9mZnNldCA9IGtNZXNzYWdlSW50ZXJmYWNlSWRPZmZzZXQgKyA0OwotICB2YXIga01l
c3NhZ2VGbGFnc09mZnNldCA9IGtNZXNzYWdlTmFtZU9mZnNldCArIDQ7Ci0gIHZhciBrTWVzc2Fn
ZVJlcXVlc3RJRE9mZnNldCA9IGtNZXNzYWdlRmxhZ3NPZmZzZXQgKyA4OwotICB2YXIga01lc3Nh
Z2VQYXlsb2FkSW50ZXJmYWNlSWRzUG9pbnRlck9mZnNldCA9IGtNZXNzYWdlVjJIZWFkZXJTaXpl
IC0gODsKLQotICB2YXIga01lc3NhZ2VFeHBlY3RzUmVzcG9uc2UgPSAxIDw8IDA7Ci0gIHZhciBr
TWVzc2FnZUlzUmVzcG9uc2UgICAgICA9IDEgPDwgMTsKLQotICBmdW5jdGlvbiBNZXNzYWdlKGJ1
ZmZlciwgaGFuZGxlcywgYXNzb2NpYXRlZEVuZHBvaW50SGFuZGxlcykgewotICAgIGlmIChhc3Nv
Y2lhdGVkRW5kcG9pbnRIYW5kbGVzID09PSB1bmRlZmluZWQpIHsKLSAgICAgIGFzc29jaWF0ZWRF
bmRwb2ludEhhbmRsZXMgPSBbXTsKLSAgICB9Ci0KLSAgICB0aGlzLmJ1ZmZlciA9IGJ1ZmZlcjsK
LSAgICB0aGlzLmhhbmRsZXMgPSBoYW5kbGVzOwotICAgIHRoaXMuYXNzb2NpYXRlZEVuZHBvaW50
SGFuZGxlcyA9IGFzc29jaWF0ZWRFbmRwb2ludEhhbmRsZXM7Ci0gIH0KLQotICBNZXNzYWdlLnBy
b3RvdHlwZS5nZXRIZWFkZXJOdW1CeXRlcyA9IGZ1bmN0aW9uKCkgewotICAgIHJldHVybiB0aGlz
LmJ1ZmZlci5nZXRVaW50MzIoa1N0cnVjdEhlYWRlck51bUJ5dGVzT2Zmc2V0KTsKLSAgfTsKLQot
ICBNZXNzYWdlLnByb3RvdHlwZS5nZXRIZWFkZXJWZXJzaW9uID0gZnVuY3Rpb24oKSB7Ci0gICAg
cmV0dXJuIHRoaXMuYnVmZmVyLmdldFVpbnQzMihrU3RydWN0SGVhZGVyVmVyc2lvbk9mZnNldCk7
Ci0gIH07Ci0KLSAgTWVzc2FnZS5wcm90b3R5cGUuZ2V0TmFtZSA9IGZ1bmN0aW9uKCkgewotICAg
IHJldHVybiB0aGlzLmJ1ZmZlci5nZXRVaW50MzIoa01lc3NhZ2VOYW1lT2Zmc2V0KTsKLSAgfTsK
LQotICBNZXNzYWdlLnByb3RvdHlwZS5nZXRGbGFncyA9IGZ1bmN0aW9uKCkgewotICAgIHJldHVy
biB0aGlzLmJ1ZmZlci5nZXRVaW50MzIoa01lc3NhZ2VGbGFnc09mZnNldCk7Ci0gIH07Ci0KLSAg
TWVzc2FnZS5wcm90b3R5cGUuZ2V0SW50ZXJmYWNlSWQgPSBmdW5jdGlvbigpIHsKLSAgICByZXR1
cm4gdGhpcy5idWZmZXIuZ2V0VWludDMyKGtNZXNzYWdlSW50ZXJmYWNlSWRPZmZzZXQpOwotICB9
OwotCi0gIE1lc3NhZ2UucHJvdG90eXBlLmdldFBheWxvYWRJbnRlcmZhY2VJZHMgPSBmdW5jdGlv
bigpIHsKLSAgICBpZiAodGhpcy5nZXRIZWFkZXJWZXJzaW9uKCkgPCAyKSB7Ci0gICAgICByZXR1
cm4gbnVsbDsKLSAgICB9Ci0KLSAgICB2YXIgZGVjb2RlciA9IG5ldyBEZWNvZGVyKHRoaXMuYnVm
ZmVyLCB0aGlzLmhhbmRsZXMsCi0gICAgICAgIHRoaXMuYXNzb2NpYXRlZEVuZHBvaW50SGFuZGxl
cywKLSAgICAgICAga01lc3NhZ2VQYXlsb2FkSW50ZXJmYWNlSWRzUG9pbnRlck9mZnNldCk7Ci0g
ICAgdmFyIHBheWxvYWRJbnRlcmZhY2VJZHMgPSBkZWNvZGVyLmRlY29kZUFycmF5UG9pbnRlcihV
aW50MzIpOwotICAgIHJldHVybiBwYXlsb2FkSW50ZXJmYWNlSWRzOwotICB9OwotCi0gIE1lc3Nh
Z2UucHJvdG90eXBlLmlzUmVzcG9uc2UgPSBmdW5jdGlvbigpIHsKLSAgICByZXR1cm4gKHRoaXMu
Z2V0RmxhZ3MoKSAmIGtNZXNzYWdlSXNSZXNwb25zZSkgIT0gMDsKLSAgfTsKLQotICBNZXNzYWdl
LnByb3RvdHlwZS5leHBlY3RzUmVzcG9uc2UgPSBmdW5jdGlvbigpIHsKLSAgICByZXR1cm4gKHRo
aXMuZ2V0RmxhZ3MoKSAmIGtNZXNzYWdlRXhwZWN0c1Jlc3BvbnNlKSAhPSAwOwotICB9OwotCi0g
IE1lc3NhZ2UucHJvdG90eXBlLnNldFJlcXVlc3RJRCA9IGZ1bmN0aW9uKHJlcXVlc3RJRCkgewot
ICAgIC8vIFRPRE8oZGFyaW4pOiBWZXJpZnkgdGhhdCBzcGFjZSB3YXMgcmVzZXJ2ZWQgZm9yIHRo
aXMgZmllbGQhCi0gICAgdGhpcy5idWZmZXIuc2V0VWludDY0KGtNZXNzYWdlUmVxdWVzdElET2Zm
c2V0LCByZXF1ZXN0SUQpOwotICB9OwotCi0gIE1lc3NhZ2UucHJvdG90eXBlLnNldEludGVyZmFj
ZUlkID0gZnVuY3Rpb24oaW50ZXJmYWNlSWQpIHsKLSAgICB0aGlzLmJ1ZmZlci5zZXRVaW50MzIo
a01lc3NhZ2VJbnRlcmZhY2VJZE9mZnNldCwgaW50ZXJmYWNlSWQpOwotICB9OwotCi0gIE1lc3Nh
Z2UucHJvdG90eXBlLnNldFBheWxvYWRJbnRlcmZhY2VJZHNfID0gZnVuY3Rpb24ocGF5bG9hZElu
dGVyZmFjZUlkcykgewotICAgIGlmICh0aGlzLmdldEhlYWRlclZlcnNpb24oKSA8IDIpIHsKLSAg
ICAgIHRocm93IG5ldyBFcnJvcigKLSAgICAgICAgICAiVmVyc2lvbiBvZiBtZXNzYWdlIGRvZXMg
bm90IHN1cHBvcnQgcGF5bG9hZCBpbnRlcmZhY2UgaWRzIik7Ci0gICAgfQotCi0gICAgdmFyIGRl
Y29kZXIgPSBuZXcgRGVjb2Rlcih0aGlzLmJ1ZmZlciwgdGhpcy5oYW5kbGVzLAotICAgICAgICB0
aGlzLmFzc29jaWF0ZWRFbmRwb2ludEhhbmRsZXMsCi0gICAgICAgIGtNZXNzYWdlUGF5bG9hZElu
dGVyZmFjZUlkc1BvaW50ZXJPZmZzZXQpOwotICAgIHZhciBwYXlsb2FkSW50ZXJmYWNlSWRzT2Zm
c2V0ID0gZGVjb2Rlci5kZWNvZGVQb2ludGVyKCk7Ci0gICAgdmFyIGVuY29kZXIgPSBuZXcgRW5j
b2Rlcih0aGlzLmJ1ZmZlciwgdGhpcy5oYW5kbGVzLAotICAgICAgICB0aGlzLmFzc29jaWF0ZWRF
bmRwb2ludEhhbmRsZXMsCi0gICAgICAgIHBheWxvYWRJbnRlcmZhY2VJZHNPZmZzZXQpOwotICAg
IGVuY29kZXIuZW5jb2RlQXJyYXkoVWludDMyLCBwYXlsb2FkSW50ZXJmYWNlSWRzKTsKLSAgfTsK
LQotICBNZXNzYWdlLnByb3RvdHlwZS5zZXJpYWxpemVBc3NvY2lhdGVkRW5kcG9pbnRIYW5kbGVz
ID0gZnVuY3Rpb24oCi0gICAgICBhc3NvY2lhdGVkR3JvdXBDb250cm9sbGVyKSB7Ci0gICAgaWYg
KHRoaXMuYXNzb2NpYXRlZEVuZHBvaW50SGFuZGxlcy5sZW5ndGggPiAwKSB7Ci0gICAgICBpZiAo
dGhpcy5nZXRIZWFkZXJWZXJzaW9uKCkgPCAyKSB7Ci0gICAgICAgIHRocm93IG5ldyBFcnJvcigK
LSAgICAgICAgICAgICJWZXJzaW9uIG9mIG1lc3NhZ2UgZG9lcyBub3Qgc3VwcG9ydCBhc3NvY2lh
dGVkIGVuZHBvaW50IGhhbmRsZXMiKTsKLSAgICAgIH0KLQotICAgICAgdmFyIGRhdGEgPSBbXTsK
LSAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5hc3NvY2lhdGVkRW5kcG9pbnRIYW5kbGVz
Lmxlbmd0aDsgaSsrKSB7Ci0gICAgICAgIHZhciBoYW5kbGUgPSB0aGlzLmFzc29jaWF0ZWRFbmRw
b2ludEhhbmRsZXNbaV07Ci0gICAgICAgIGRhdGEucHVzaChhc3NvY2lhdGVkR3JvdXBDb250cm9s
bGVyLmFzc29jaWF0ZUludGVyZmFjZShoYW5kbGUpKTsKLSAgICAgIH0KLSAgICAgIHRoaXMuYXNz
b2NpYXRlZEVuZHBvaW50SGFuZGxlcyA9IFtdOwotICAgICAgdGhpcy5zZXRQYXlsb2FkSW50ZXJm
YWNlSWRzXyhkYXRhKTsKLSAgICB9Ci0gIH07Ci0KLSAgTWVzc2FnZS5wcm90b3R5cGUuZGVzZXJp
YWxpemVBc3NvY2lhdGVkRW5kcG9pbnRIYW5kbGVzID0gZnVuY3Rpb24oCi0gICAgICBhc3NvY2lh
dGVkR3JvdXBDb250cm9sbGVyKSB7Ci0gICAgaWYgKHRoaXMuZ2V0SGVhZGVyVmVyc2lvbigpIDwg
MikgewotICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfQotCi0gICAgdGhpcy5hc3NvY2lhdGVkRW5k
cG9pbnRIYW5kbGVzID0gW107Ci0gICAgdmFyIGlkcyA9IHRoaXMuZ2V0UGF5bG9hZEludGVyZmFj
ZUlkcygpOwotCi0gICAgdmFyIHJlc3VsdCA9IHRydWU7Ci0gICAgZm9yICh2YXIgaSA9IDA7IGkg
PCBpZHMubGVuZ3RoOyBpKyspIHsKLSAgICAgIHZhciBoYW5kbGUgPSBhc3NvY2lhdGVkR3JvdXBD
b250cm9sbGVyLmNyZWF0ZUxvY2FsRW5kcG9pbnRIYW5kbGUoaWRzW2ldKTsKLSAgICAgIGlmIChp
bnRlcm5hbC5pc1ZhbGlkSW50ZXJmYWNlSWQoaWRzW2ldKSAmJiAhaGFuZGxlLmlzVmFsaWQoKSkg
ewotICAgICAgICAvLyB8aWRzW2ldfCBpdHNlbGYgaXMgdmFsaWQgYnV0IGhhbmRsZSBjcmVhdGlv
biBmYWlsZWQuIEluIHRoYXQgY2FzZSwKLSAgICAgICAgLy8gbWFyayBkZXNlcmlhbGl6YXRpb24g
YXMgZmFpbGVkIGJ1dCBjb250aW51ZSB0byBkZXNlcmlhbGl6ZSB0aGUKLSAgICAgICAgLy8gcmVz
dCBvZiBoYW5kbGVzLgotICAgICAgICByZXN1bHQgPSBmYWxzZTsKLSAgICAgIH0KLSAgICAgIHRo
aXMuYXNzb2NpYXRlZEVuZHBvaW50SGFuZGxlcy5wdXNoKGhhbmRsZSk7Ci0gICAgICBpZHNbaV0g
PSBpbnRlcm5hbC5rSW52YWxpZEludGVyZmFjZUlkOwotICAgIH0KLQotICAgIHRoaXMuc2V0UGF5
bG9hZEludGVyZmFjZUlkc18oaWRzKTsKLSAgICByZXR1cm4gcmVzdWx0OwotICB9OwotCi0KLSAg
Ly8gTWVzc2FnZVYwQnVpbGRlciAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0KLQotICBmdW5jdGlvbiBNZXNzYWdlVjBCdWlsZGVyKG1lc3Nh
Z2VOYW1lLCBwYXlsb2FkU2l6ZSkgewotICAgIC8vIEN1cnJlbnRseSwgd2UgZG9uJ3QgY29tcHV0
ZSB0aGUgcGF5bG9hZCBzaXplIGNvcnJlY3RseSBhaGVhZCBvZiB0aW1lLgotICAgIC8vIEluc3Rl
YWQsIHdlIHJlc2l6ZSB0aGUgYnVmZmVyIGF0IHRoZSBlbmQuCi0gICAgdmFyIG51bWJlck9mQnl0
ZXMgPSBrTWVzc2FnZVYwSGVhZGVyU2l6ZSArIHBheWxvYWRTaXplOwotICAgIHRoaXMuYnVmZmVy
ID0gbmV3IGludGVybmFsLkJ1ZmZlcihudW1iZXJPZkJ5dGVzKTsKLSAgICB0aGlzLmhhbmRsZXMg
PSBbXTsKLSAgICB2YXIgZW5jb2RlciA9IHRoaXMuY3JlYXRlRW5jb2RlcihrTWVzc2FnZVYwSGVh
ZGVyU2l6ZSk7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMihrTWVzc2FnZVYwSGVhZGVyU2l6ZSk7
Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMigwKTsgIC8vIHZlcnNpb24uCi0gICAgZW5jb2Rlci53
cml0ZVVpbnQzMigwKTsgIC8vIGludGVyZmFjZSBJRC4KLSAgICBlbmNvZGVyLndyaXRlVWludDMy
KG1lc3NhZ2VOYW1lKTsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKDApOyAgLy8gZmxhZ3MuCi0g
ICAgZW5jb2Rlci53cml0ZVVpbnQzMigwKTsgIC8vIHBhZGRpbmcuCi0gIH0KLQotICBNZXNzYWdl
VjBCdWlsZGVyLnByb3RvdHlwZS5jcmVhdGVFbmNvZGVyID0gZnVuY3Rpb24oc2l6ZSkgewotICAg
IHZhciBwb2ludGVyID0gdGhpcy5idWZmZXIuYWxsb2Moc2l6ZSk7Ci0gICAgcmV0dXJuIG5ldyBF
bmNvZGVyKHRoaXMuYnVmZmVyLCB0aGlzLmhhbmRsZXMsIFtdLCBwb2ludGVyKTsKLSAgfTsKLQot
ICBNZXNzYWdlVjBCdWlsZGVyLnByb3RvdHlwZS5lbmNvZGVTdHJ1Y3QgPSBmdW5jdGlvbihjbHMs
IHZhbCkgewotICAgIGNscy5lbmNvZGUodGhpcy5jcmVhdGVFbmNvZGVyKGNscy5lbmNvZGVkU2l6
ZSksIHZhbCk7Ci0gIH07Ci0KLSAgTWVzc2FnZVYwQnVpbGRlci5wcm90b3R5cGUuZmluaXNoID0g
ZnVuY3Rpb24oKSB7Ci0gICAgLy8gVE9ETyhhYmFydGgpOiBSYXRoZXIgdGhhbiByZXNpemluZyB0
aGUgYnVmZmVyIGF0IHRoZSBlbmQsIHdlIGNvdWxkCi0gICAgLy8gY29tcHV0ZSB0aGUgc2l6ZSB3
ZSBuZWVkIGFoZWFkIG9mIHRpbWUsIGxpa2Ugd2UgZG8gaW4gQysrLgotICAgIHRoaXMuYnVmZmVy
LnRyaW0oKTsKLSAgICB2YXIgbWVzc2FnZSA9IG5ldyBNZXNzYWdlKHRoaXMuYnVmZmVyLCB0aGlz
LmhhbmRsZXMpOwotICAgIHRoaXMuYnVmZmVyID0gbnVsbDsKLSAgICB0aGlzLmhhbmRsZXMgPSBu
dWxsOwotICAgIHRoaXMuZW5jb2RlciA9IG51bGw7Ci0gICAgcmV0dXJuIG1lc3NhZ2U7Ci0gIH07
Ci0KLSAgLy8gTWVzc2FnZVYxQnVpbGRlciAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLQotCi0gIGZ1bmN0aW9uIE1lc3NhZ2VWMUJ1aWxkZXIobWVzc2FnZU5h
bWUsIHBheWxvYWRTaXplLCBmbGFncywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHJlcXVlc3RJRCkgewotICAgIC8vIEN1cnJlbnRseSwgd2UgZG9uJ3QgY29tcHV0ZSB0
aGUgcGF5bG9hZCBzaXplIGNvcnJlY3RseSBhaGVhZCBvZiB0aW1lLgotICAgIC8vIEluc3RlYWQs
IHdlIHJlc2l6ZSB0aGUgYnVmZmVyIGF0IHRoZSBlbmQuCi0gICAgdmFyIG51bWJlck9mQnl0ZXMg
PSBrTWVzc2FnZVYxSGVhZGVyU2l6ZSArIHBheWxvYWRTaXplOwotICAgIHRoaXMuYnVmZmVyID0g
bmV3IGludGVybmFsLkJ1ZmZlcihudW1iZXJPZkJ5dGVzKTsKLSAgICB0aGlzLmhhbmRsZXMgPSBb
XTsKLSAgICB2YXIgZW5jb2RlciA9IHRoaXMuY3JlYXRlRW5jb2RlcihrTWVzc2FnZVYxSGVhZGVy
U2l6ZSk7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMihrTWVzc2FnZVYxSGVhZGVyU2l6ZSk7Ci0g
ICAgZW5jb2Rlci53cml0ZVVpbnQzMigxKTsgIC8vIHZlcnNpb24uCi0gICAgZW5jb2Rlci53cml0
ZVVpbnQzMigwKTsgIC8vIGludGVyZmFjZSBJRC4KLSAgICBlbmNvZGVyLndyaXRlVWludDMyKG1l
c3NhZ2VOYW1lKTsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKGZsYWdzKTsKLSAgICBlbmNvZGVy
LndyaXRlVWludDMyKDApOyAgLy8gcGFkZGluZy4KLSAgICBlbmNvZGVyLndyaXRlVWludDY0KHJl
cXVlc3RJRCk7Ci0gIH0KLQotICBNZXNzYWdlVjFCdWlsZGVyLnByb3RvdHlwZSA9Ci0gICAgICBP
YmplY3QuY3JlYXRlKE1lc3NhZ2VWMEJ1aWxkZXIucHJvdG90eXBlKTsKLQotICBNZXNzYWdlVjFC
dWlsZGVyLnByb3RvdHlwZS5jb25zdHJ1Y3RvciA9Ci0gICAgICBNZXNzYWdlVjFCdWlsZGVyOwot
Ci0gIC8vIE1lc3NhZ2VWMiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLQotCi0gIGZ1bmN0aW9uIE1lc3NhZ2VWMkJ1aWxkZXIobWVzc2FnZU5hbWUsIHBheWxv
YWRTaXplLCBmbGFncywgcmVxdWVzdElEKSB7Ci0gICAgLy8gQ3VycmVudGx5LCB3ZSBkb24ndCBj
b21wdXRlIHRoZSBwYXlsb2FkIHNpemUgY29ycmVjdGx5IGFoZWFkIG9mIHRpbWUuCi0gICAgLy8g
SW5zdGVhZCwgd2UgcmVzaXplIHRoZSBidWZmZXIgYXQgdGhlIGVuZC4KLSAgICB2YXIgbnVtYmVy
T2ZCeXRlcyA9IGtNZXNzYWdlVjJIZWFkZXJTaXplICsgcGF5bG9hZFNpemU7Ci0gICAgdGhpcy5i
dWZmZXIgPSBuZXcgaW50ZXJuYWwuQnVmZmVyKG51bWJlck9mQnl0ZXMpOwotICAgIHRoaXMuaGFu
ZGxlcyA9IFtdOwotCi0gICAgdGhpcy5wYXlsb2FkID0gbnVsbDsKLSAgICB0aGlzLmFzc29jaWF0
ZWRFbmRwb2ludEhhbmRsZXMgPSBbXTsKLQotICAgIHRoaXMuZW5jb2RlciA9IHRoaXMuY3JlYXRl
RW5jb2RlcihrTWVzc2FnZVYySGVhZGVyU2l6ZSk7Ci0gICAgdGhpcy5lbmNvZGVyLndyaXRlVWlu
dDMyKGtNZXNzYWdlVjJIZWFkZXJTaXplKTsKLSAgICB0aGlzLmVuY29kZXIud3JpdGVVaW50MzIo
Mik7ICAvLyB2ZXJzaW9uLgotICAgIC8vIEdldHMgc2V0IHRvIGFuIGFwcHJvcHJpYXRlIGludGVy
ZmFjZUlkIGZvciB0aGUgZW5kcG9pbnQgYnkgdGhlIFJvdXRlci4KLSAgICB0aGlzLmVuY29kZXIu
d3JpdGVVaW50MzIoMCk7ICAvLyBpbnRlcmZhY2UgSUQuCi0gICAgdGhpcy5lbmNvZGVyLndyaXRl
VWludDMyKG1lc3NhZ2VOYW1lKTsKLSAgICB0aGlzLmVuY29kZXIud3JpdGVVaW50MzIoZmxhZ3Mp
OwotICAgIHRoaXMuZW5jb2Rlci53cml0ZVVpbnQzMigwKTsgIC8vIHBhZGRpbmcuCi0gICAgdGhp
cy5lbmNvZGVyLndyaXRlVWludDY0KHJlcXVlc3RJRCk7Ci0gIH0KLQotICBNZXNzYWdlVjJCdWls
ZGVyLnByb3RvdHlwZS5jcmVhdGVFbmNvZGVyID0gZnVuY3Rpb24oc2l6ZSkgewotICAgIHZhciBw
b2ludGVyID0gdGhpcy5idWZmZXIuYWxsb2Moc2l6ZSk7Ci0gICAgcmV0dXJuIG5ldyBFbmNvZGVy
KHRoaXMuYnVmZmVyLCB0aGlzLmhhbmRsZXMsCi0gICAgICAgIHRoaXMuYXNzb2NpYXRlZEVuZHBv
aW50SGFuZGxlcywgcG9pbnRlcik7Ci0gIH07Ci0KLSAgTWVzc2FnZVYyQnVpbGRlci5wcm90b3R5
cGUuc2V0UGF5bG9hZCA9IGZ1bmN0aW9uKGNscywgdmFsKSB7Ci0gICAgdGhpcy5wYXlsb2FkID0g
e2NsczogY2xzLCB2YWw6IHZhbH07Ci0gIH07Ci0KLSAgTWVzc2FnZVYyQnVpbGRlci5wcm90b3R5
cGUuZmluaXNoID0gZnVuY3Rpb24oKSB7Ci0gICAgaWYgKCF0aGlzLnBheWxvYWQpIHsKLSAgICAg
IHRocm93IG5ldyBFcnJvcigiUGF5bG9hZCBuZWVkcyB0byBiZSBzZXQgYmVmb3JlIGNhbGxpbmcg
ZmluaXNoIik7Ci0gICAgfQotCi0gICAgdGhpcy5lbmNvZGVyLmVuY29kZVN0cnVjdFBvaW50ZXIo
dGhpcy5wYXlsb2FkLmNscywgdGhpcy5wYXlsb2FkLnZhbCk7Ci0gICAgdGhpcy5lbmNvZGVyLmVu
Y29kZUFycmF5UG9pbnRlcihVaW50MzIsCi0gICAgICAgIG5ldyBBcnJheSh0aGlzLmFzc29jaWF0
ZWRFbmRwb2ludEhhbmRsZXMubGVuZ3RoKSk7Ci0KLSAgICB0aGlzLmJ1ZmZlci50cmltKCk7Ci0g
ICAgdmFyIG1lc3NhZ2UgPSBuZXcgTWVzc2FnZSh0aGlzLmJ1ZmZlciwgdGhpcy5oYW5kbGVzLAot
ICAgICAgICB0aGlzLmFzc29jaWF0ZWRFbmRwb2ludEhhbmRsZXMpOwotICAgIHRoaXMuYnVmZmVy
ID0gbnVsbDsKLSAgICB0aGlzLmhhbmRsZXMgPSBudWxsOwotICAgIHRoaXMuZW5jb2RlciA9IG51
bGw7Ci0gICAgdGhpcy5wYXlsb2FkID0gbnVsbDsKLSAgICB0aGlzLmFzc29jaWF0ZWRFbmRwb2lu
dEhhbmRsZXMgPSBudWxsOwotCi0gICAgcmV0dXJuIG1lc3NhZ2U7Ci0gIH07Ci0KLSAgLy8gTWVz
c2FnZVJlYWRlciAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0KLQotICBmdW5jdGlvbiBNZXNzYWdlUmVhZGVyKG1lc3NhZ2UpIHsKLSAg
ICB0aGlzLmRlY29kZXIgPSBuZXcgRGVjb2RlcihtZXNzYWdlLmJ1ZmZlciwgbWVzc2FnZS5oYW5k
bGVzLAotICAgICAgICBtZXNzYWdlLmFzc29jaWF0ZWRFbmRwb2ludEhhbmRsZXMsIDApOwotICAg
IHZhciBtZXNzYWdlSGVhZGVyU2l6ZSA9IHRoaXMuZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAg
dGhpcy5wYXlsb2FkU2l6ZSA9IG1lc3NhZ2UuYnVmZmVyLmJ5dGVMZW5ndGggLSBtZXNzYWdlSGVh
ZGVyU2l6ZTsKLSAgICB2YXIgdmVyc2lvbiA9IHRoaXMuZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0g
ICAgdmFyIGludGVyZmFjZV9pZCA9IHRoaXMuZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdGhp
cy5tZXNzYWdlTmFtZSA9IHRoaXMuZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdGhpcy5mbGFn
cyA9IHRoaXMuZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgLy8gU2tpcCB0aGUgcGFkZGluZy4K
LSAgICB0aGlzLmRlY29kZXIuc2tpcCg0KTsKLSAgICBpZiAodmVyc2lvbiA+PSAxKQotICAgICAg
dGhpcy5yZXF1ZXN0SUQgPSB0aGlzLmRlY29kZXIucmVhZFVpbnQ2NCgpOwotICAgIHRoaXMuZGVj
b2Rlci5za2lwKG1lc3NhZ2VIZWFkZXJTaXplIC0gdGhpcy5kZWNvZGVyLm5leHQpOwotICB9Ci0K
LSAgTWVzc2FnZVJlYWRlci5wcm90b3R5cGUuZGVjb2RlU3RydWN0ID0gZnVuY3Rpb24oY2xzKSB7
Ci0gICAgcmV0dXJuIGNscy5kZWNvZGUodGhpcy5kZWNvZGVyKTsKLSAgfTsKLQotICAvLyBCdWls
dC1pbiB0eXBlcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLQotCi0gIC8vIFRoaXMgdHlwZSBpcyBvbmx5IHVzZWQgd2l0aCBBcnJheU9m
KFBhY2tlZEJvb2wpLgotICBmdW5jdGlvbiBQYWNrZWRCb29sKCkgewotICB9Ci0KLSAgZnVuY3Rp
b24gSW50OCgpIHsKLSAgfQotCi0gIEludDguZW5jb2RlZFNpemUgPSAxOwotCi0gIEludDguZGVj
b2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHJldHVybiBkZWNvZGVyLnJlYWRJbnQ4KCk7
Ci0gIH07Ci0KLSAgSW50OC5lbmNvZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2YWwpIHsKLSAgICBl
bmNvZGVyLndyaXRlSW50OCh2YWwpOwotICB9OwotCi0gIFVpbnQ4LmVuY29kZSA9IGZ1bmN0aW9u
KGVuY29kZXIsIHZhbCkgewotICAgIGVuY29kZXIud3JpdGVVaW50OCh2YWwpOwotICB9OwotCi0g
IGZ1bmN0aW9uIFVpbnQ4KCkgewotICB9Ci0KLSAgVWludDguZW5jb2RlZFNpemUgPSAxOwotCi0g
IFVpbnQ4LmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICByZXR1cm4gZGVjb2Rlci5y
ZWFkVWludDgoKTsKLSAgfTsKLQotICBVaW50OC5lbmNvZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2
YWwpIHsKLSAgICBlbmNvZGVyLndyaXRlVWludDgodmFsKTsKLSAgfTsKLQotICBmdW5jdGlvbiBJ
bnQxNigpIHsKLSAgfQotCi0gIEludDE2LmVuY29kZWRTaXplID0gMjsKLQotICBJbnQxNi5kZWNv
ZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgcmV0dXJuIGRlY29kZXIucmVhZEludDE2KCk7
Ci0gIH07Ci0KLSAgSW50MTYuZW5jb2RlID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAg
ZW5jb2Rlci53cml0ZUludDE2KHZhbCk7Ci0gIH07Ci0KLSAgZnVuY3Rpb24gVWludDE2KCkgewot
ICB9Ci0KLSAgVWludDE2LmVuY29kZWRTaXplID0gMjsKLQotICBVaW50MTYuZGVjb2RlID0gZnVu
Y3Rpb24oZGVjb2RlcikgewotICAgIHJldHVybiBkZWNvZGVyLnJlYWRVaW50MTYoKTsKLSAgfTsK
LQotICBVaW50MTYuZW5jb2RlID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAgZW5jb2Rl
ci53cml0ZVVpbnQxNih2YWwpOwotICB9OwotCi0gIGZ1bmN0aW9uIEludDMyKCkgewotICB9Ci0K
LSAgSW50MzIuZW5jb2RlZFNpemUgPSA0OwotCi0gIEludDMyLmRlY29kZSA9IGZ1bmN0aW9uKGRl
Y29kZXIpIHsKLSAgICByZXR1cm4gZGVjb2Rlci5yZWFkSW50MzIoKTsKLSAgfTsKLQotICBJbnQz
Mi5lbmNvZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2YWwpIHsKLSAgICBlbmNvZGVyLndyaXRlSW50
MzIodmFsKTsKLSAgfTsKLQotICBmdW5jdGlvbiBVaW50MzIoKSB7Ci0gIH0KLQotICBVaW50MzIu
ZW5jb2RlZFNpemUgPSA0OwotCi0gIFVpbnQzMi5kZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7
Ci0gICAgcmV0dXJuIGRlY29kZXIucmVhZFVpbnQzMigpOwotICB9OwotCi0gIFVpbnQzMi5lbmNv
ZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2YWwpIHsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKHZh
bCk7Ci0gIH07Ci0KLSAgZnVuY3Rpb24gSW50NjQoKSB7Ci0gIH0KLQotICBJbnQ2NC5lbmNvZGVk
U2l6ZSA9IDg7Ci0KLSAgSW50NjQuZGVjb2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHJl
dHVybiBkZWNvZGVyLnJlYWRJbnQ2NCgpOwotICB9OwotCi0gIEludDY0LmVuY29kZSA9IGZ1bmN0
aW9uKGVuY29kZXIsIHZhbCkgewotICAgIGVuY29kZXIud3JpdGVJbnQ2NCh2YWwpOwotICB9Owot
Ci0gIGZ1bmN0aW9uIFVpbnQ2NCgpIHsKLSAgfQotCi0gIFVpbnQ2NC5lbmNvZGVkU2l6ZSA9IDg7
Ci0KLSAgVWludDY0LmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICByZXR1cm4gZGVj
b2Rlci5yZWFkVWludDY0KCk7Ci0gIH07Ci0KLSAgVWludDY0LmVuY29kZSA9IGZ1bmN0aW9uKGVu
Y29kZXIsIHZhbCkgewotICAgIGVuY29kZXIud3JpdGVVaW50NjQodmFsKTsKLSAgfTsKLQotICBm
dW5jdGlvbiBTdHJpbmcoKSB7Ci0gIH07Ci0KLSAgU3RyaW5nLmVuY29kZWRTaXplID0gODsKLQot
ICBTdHJpbmcuZGVjb2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHJldHVybiBkZWNvZGVy
LmRlY29kZVN0cmluZ1BvaW50ZXIoKTsKLSAgfTsKLQotICBTdHJpbmcuZW5jb2RlID0gZnVuY3Rp
b24oZW5jb2RlciwgdmFsKSB7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJpbmdQb2ludGVyKHZhbCk7
Ci0gIH07Ci0KLSAgZnVuY3Rpb24gTnVsbGFibGVTdHJpbmcoKSB7Ci0gIH0KLQotICBOdWxsYWJs
ZVN0cmluZy5lbmNvZGVkU2l6ZSA9IFN0cmluZy5lbmNvZGVkU2l6ZTsKLQotICBOdWxsYWJsZVN0
cmluZy5kZWNvZGUgPSBTdHJpbmcuZGVjb2RlOwotCi0gIE51bGxhYmxlU3RyaW5nLmVuY29kZSA9
IFN0cmluZy5lbmNvZGU7Ci0KLSAgZnVuY3Rpb24gRmxvYXQoKSB7Ci0gIH0KLQotICBGbG9hdC5l
bmNvZGVkU2l6ZSA9IDQ7Ci0KLSAgRmxvYXQuZGVjb2RlID0gZnVuY3Rpb24oZGVjb2Rlcikgewot
ICAgIHJldHVybiBkZWNvZGVyLnJlYWRGbG9hdCgpOwotICB9OwotCi0gIEZsb2F0LmVuY29kZSA9
IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgIGVuY29kZXIud3JpdGVGbG9hdCh2YWwpOwot
ICB9OwotCi0gIGZ1bmN0aW9uIERvdWJsZSgpIHsKLSAgfQotCi0gIERvdWJsZS5lbmNvZGVkU2l6
ZSA9IDg7Ci0KLSAgRG91YmxlLmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICByZXR1
cm4gZGVjb2Rlci5yZWFkRG91YmxlKCk7Ci0gIH07Ci0KLSAgRG91YmxlLmVuY29kZSA9IGZ1bmN0
aW9uKGVuY29kZXIsIHZhbCkgewotICAgIGVuY29kZXIud3JpdGVEb3VibGUodmFsKTsKLSAgfTsK
LQotICBmdW5jdGlvbiBFbnVtKGNscykgewotICAgIHRoaXMuY2xzID0gY2xzOwotICB9Ci0KLSAg
RW51bS5wcm90b3R5cGUuZW5jb2RlZFNpemUgPSA0OwotCi0gIEVudW0ucHJvdG90eXBlLmRlY29k
ZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICByZXR1cm4gZGVjb2Rlci5yZWFkSW50MzIoKTsK
LSAgfTsKLQotICBFbnVtLnByb3RvdHlwZS5lbmNvZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2YWwp
IHsKLSAgICBlbmNvZGVyLndyaXRlSW50MzIodmFsKTsKLSAgfTsKLQotICBmdW5jdGlvbiBQb2lu
dGVyVG8oY2xzKSB7Ci0gICAgdGhpcy5jbHMgPSBjbHM7Ci0gIH0KLQotICBQb2ludGVyVG8ucHJv
dG90eXBlLmVuY29kZWRTaXplID0gODsKLQotICBQb2ludGVyVG8ucHJvdG90eXBlLmRlY29kZSA9
IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICB2YXIgcG9pbnRlciA9IGRlY29kZXIuZGVjb2RlUG9p
bnRlcigpOwotICAgIGlmICghcG9pbnRlcikgewotICAgICAgcmV0dXJuIG51bGw7Ci0gICAgfQot
ICAgIHJldHVybiB0aGlzLmNscy5kZWNvZGUoZGVjb2Rlci5kZWNvZGVBbmRDcmVhdGVEZWNvZGVy
KHBvaW50ZXIpKTsKLSAgfTsKLQotICBQb2ludGVyVG8ucHJvdG90eXBlLmVuY29kZSA9IGZ1bmN0
aW9uKGVuY29kZXIsIHZhbCkgewotICAgIGlmICghdmFsKSB7Ci0gICAgICBlbmNvZGVyLmVuY29k
ZVBvaW50ZXIodmFsKTsKLSAgICAgIHJldHVybjsKLSAgICB9Ci0gICAgdmFyIG9iamVjdEVuY29k
ZXIgPSBlbmNvZGVyLmNyZWF0ZUFuZEVuY29kZUVuY29kZXIodGhpcy5jbHMuZW5jb2RlZFNpemUp
OwotICAgIHRoaXMuY2xzLmVuY29kZShvYmplY3RFbmNvZGVyLCB2YWwpOwotICB9OwotCi0gIGZ1
bmN0aW9uIE51bGxhYmxlUG9pbnRlclRvKGNscykgewotICAgIFBvaW50ZXJUby5jYWxsKHRoaXMs
IGNscyk7Ci0gIH0KLQotICBOdWxsYWJsZVBvaW50ZXJUby5wcm90b3R5cGUgPSBPYmplY3QuY3Jl
YXRlKFBvaW50ZXJUby5wcm90b3R5cGUpOwotCi0gIGZ1bmN0aW9uIEFycmF5T2YoY2xzLCBsZW5n
dGgpIHsKLSAgICB0aGlzLmNscyA9IGNsczsKLSAgICB0aGlzLmxlbmd0aCA9IGxlbmd0aCB8fCAw
OwotICB9Ci0KLSAgQXJyYXlPZi5wcm90b3R5cGUuZW5jb2RlZFNpemUgPSA4OwotCi0gIEFycmF5
T2YucHJvdG90eXBlLmRpbWVuc2lvbnMgPSBmdW5jdGlvbigpIHsKLSAgICByZXR1cm4gW3RoaXMu
bGVuZ3RoXS5jb25jYXQoCi0gICAgICAodGhpcy5jbHMgaW5zdGFuY2VvZiBBcnJheU9mKSA/IHRo
aXMuY2xzLmRpbWVuc2lvbnMoKSA6IFtdKTsKLSAgfQotCi0gIEFycmF5T2YucHJvdG90eXBlLmRl
Y29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICByZXR1cm4gZGVjb2Rlci5kZWNvZGVBcnJh
eVBvaW50ZXIodGhpcy5jbHMpOwotICB9OwotCi0gIEFycmF5T2YucHJvdG90eXBlLmVuY29kZSA9
IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgIGVuY29kZXIuZW5jb2RlQXJyYXlQb2ludGVy
KHRoaXMuY2xzLCB2YWwpOwotICB9OwotCi0gIGZ1bmN0aW9uIE51bGxhYmxlQXJyYXlPZihjbHMp
IHsKLSAgICBBcnJheU9mLmNhbGwodGhpcywgY2xzKTsKLSAgfQotCi0gIE51bGxhYmxlQXJyYXlP
Zi5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKEFycmF5T2YucHJvdG90eXBlKTsKLQotICBmdW5j
dGlvbiBIYW5kbGUoKSB7Ci0gIH0KLQotICBIYW5kbGUuZW5jb2RlZFNpemUgPSA0OwotCi0gIEhh
bmRsZS5kZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgcmV0dXJuIGRlY29kZXIuZGVj
b2RlSGFuZGxlKCk7Ci0gIH07Ci0KLSAgSGFuZGxlLmVuY29kZSA9IGZ1bmN0aW9uKGVuY29kZXIs
IHZhbCkgewotICAgIGVuY29kZXIuZW5jb2RlSGFuZGxlKHZhbCk7Ci0gIH07Ci0KLSAgZnVuY3Rp
b24gTnVsbGFibGVIYW5kbGUoKSB7Ci0gIH0KLQotICBOdWxsYWJsZUhhbmRsZS5lbmNvZGVkU2l6
ZSA9IEhhbmRsZS5lbmNvZGVkU2l6ZTsKLQotICBOdWxsYWJsZUhhbmRsZS5kZWNvZGUgPSBIYW5k
bGUuZGVjb2RlOwotCi0gIE51bGxhYmxlSGFuZGxlLmVuY29kZSA9IEhhbmRsZS5lbmNvZGU7Ci0K
LSAgZnVuY3Rpb24gSW50ZXJmYWNlKGNscykgewotICAgIHRoaXMuY2xzID0gY2xzOwotICB9Ci0K
LSAgSW50ZXJmYWNlLnByb3RvdHlwZS5lbmNvZGVkU2l6ZSA9IDg7Ci0KLSAgSW50ZXJmYWNlLnBy
b3RvdHlwZS5kZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgdmFyIGludGVyZmFjZVB0
ckluZm8gPSBuZXcgbW9qby5JbnRlcmZhY2VQdHJJbmZvKAotICAgICAgICBkZWNvZGVyLmRlY29k
ZUhhbmRsZSgpLCBkZWNvZGVyLnJlYWRVaW50MzIoKSk7Ci0gICAgdmFyIGludGVyZmFjZVB0ciA9
IG5ldyB0aGlzLmNscygpOwotICAgIGludGVyZmFjZVB0ci5wdHIuYmluZChpbnRlcmZhY2VQdHJJ
bmZvKTsKLSAgICByZXR1cm4gaW50ZXJmYWNlUHRyOwotICB9OwotCi0gIEludGVyZmFjZS5wcm90
b3R5cGUuZW5jb2RlID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAgdmFyIGludGVyZmFj
ZVB0ckluZm8gPQotICAgICAgICB2YWwgPyB2YWwucHRyLnBhc3NJbnRlcmZhY2UoKSA6IG5ldyBt
b2pvLkludGVyZmFjZVB0ckluZm8obnVsbCwgMCk7Ci0gICAgZW5jb2Rlci5lbmNvZGVIYW5kbGUo
aW50ZXJmYWNlUHRySW5mby5oYW5kbGUpOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoaW50ZXJm
YWNlUHRySW5mby52ZXJzaW9uKTsKLSAgfTsKLQotICBmdW5jdGlvbiBOdWxsYWJsZUludGVyZmFj
ZShjbHMpIHsKLSAgICBJbnRlcmZhY2UuY2FsbCh0aGlzLCBjbHMpOwotICB9Ci0KLSAgTnVsbGFi
bGVJbnRlcmZhY2UucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShJbnRlcmZhY2UucHJvdG90eXBl
KTsKLQotICBmdW5jdGlvbiBBc3NvY2lhdGVkSW50ZXJmYWNlUHRySW5mbygpIHsKLSAgfQotCi0g
IEFzc29jaWF0ZWRJbnRlcmZhY2VQdHJJbmZvLnByb3RvdHlwZS5lbmNvZGVkU2l6ZSA9IDg7Ci0K
LSAgQXNzb2NpYXRlZEludGVyZmFjZVB0ckluZm8uZGVjb2RlID0gZnVuY3Rpb24oZGVjb2Rlcikg
ewotICAgIHJldHVybiBuZXcgbW9qby5Bc3NvY2lhdGVkSW50ZXJmYWNlUHRySW5mbygKLSAgICAg
IGRlY29kZXIuZGVjb2RlQXNzb2NpYXRlZEVuZHBvaW50SGFuZGxlKCksIGRlY29kZXIucmVhZFVp
bnQzMigpKTsKLSAgfTsKLQotICBBc3NvY2lhdGVkSW50ZXJmYWNlUHRySW5mby5lbmNvZGUgPSBm
dW5jdGlvbihlbmNvZGVyLCB2YWwpIHsKLSAgICB2YXIgYXNzb2NpYXRlZGludGVyZmFjZVB0cklu
Zm8gPQotICAgICAgICB2YWwgPyB2YWwgOiBuZXcgbW9qby5Bc3NvY2lhdGVkSW50ZXJmYWNlUHRy
SW5mbyhudWxsLCAwKTsKLSAgICBlbmNvZGVyLmVuY29kZUFzc29jaWF0ZWRFbmRwb2ludEhhbmRs
ZSgKLSAgICAgICAgYXNzb2NpYXRlZGludGVyZmFjZVB0ckluZm8uaW50ZXJmYWNlRW5kcG9pbnRI
YW5kbGUpOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoYXNzb2NpYXRlZGludGVyZmFjZVB0cklu
Zm8udmVyc2lvbik7Ci0gIH07Ci0KLSAgZnVuY3Rpb24gTnVsbGFibGVBc3NvY2lhdGVkSW50ZXJm
YWNlUHRySW5mbygpIHsKLSAgfQotCi0gIE51bGxhYmxlQXNzb2NpYXRlZEludGVyZmFjZVB0cklu
Zm8uZW5jb2RlZFNpemUgPQotICAgICAgQXNzb2NpYXRlZEludGVyZmFjZVB0ckluZm8uZW5jb2Rl
ZFNpemU7Ci0KLSAgTnVsbGFibGVBc3NvY2lhdGVkSW50ZXJmYWNlUHRySW5mby5kZWNvZGUgPQot
ICAgICAgQXNzb2NpYXRlZEludGVyZmFjZVB0ckluZm8uZGVjb2RlOwotCi0gIE51bGxhYmxlQXNz
b2NpYXRlZEludGVyZmFjZVB0ckluZm8uZW5jb2RlID0KLSAgICAgIEFzc29jaWF0ZWRJbnRlcmZh
Y2VQdHJJbmZvLmVuY29kZTsKLQotICBmdW5jdGlvbiBJbnRlcmZhY2VSZXF1ZXN0KCkgewotICB9
Ci0KLSAgSW50ZXJmYWNlUmVxdWVzdC5lbmNvZGVkU2l6ZSA9IDQ7Ci0KLSAgSW50ZXJmYWNlUmVx
dWVzdC5kZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgcmV0dXJuIG5ldyBtb2pvLklu
dGVyZmFjZVJlcXVlc3QoZGVjb2Rlci5kZWNvZGVIYW5kbGUoKSk7Ci0gIH07Ci0KLSAgSW50ZXJm
YWNlUmVxdWVzdC5lbmNvZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2YWwpIHsKLSAgICBlbmNvZGVy
LmVuY29kZUhhbmRsZSh2YWwgPyB2YWwuaGFuZGxlIDogbnVsbCk7Ci0gIH07Ci0KLSAgZnVuY3Rp
b24gTnVsbGFibGVJbnRlcmZhY2VSZXF1ZXN0KCkgewotICB9Ci0KLSAgTnVsbGFibGVJbnRlcmZh
Y2VSZXF1ZXN0LmVuY29kZWRTaXplID0gSW50ZXJmYWNlUmVxdWVzdC5lbmNvZGVkU2l6ZTsKLQot
ICBOdWxsYWJsZUludGVyZmFjZVJlcXVlc3QuZGVjb2RlID0gSW50ZXJmYWNlUmVxdWVzdC5kZWNv
ZGU7Ci0KLSAgTnVsbGFibGVJbnRlcmZhY2VSZXF1ZXN0LmVuY29kZSA9IEludGVyZmFjZVJlcXVl
c3QuZW5jb2RlOwotCi0gIGZ1bmN0aW9uIEFzc29jaWF0ZWRJbnRlcmZhY2VSZXF1ZXN0KCkgewot
ICB9Ci0KLSAgQXNzb2NpYXRlZEludGVyZmFjZVJlcXVlc3QuZGVjb2RlID0gZnVuY3Rpb24oZGVj
b2RlcikgewotICAgIHZhciBoYW5kbGUgPSBkZWNvZGVyLmRlY29kZUFzc29jaWF0ZWRFbmRwb2lu
dEhhbmRsZSgpOwotICAgIHJldHVybiBuZXcgbW9qby5Bc3NvY2lhdGVkSW50ZXJmYWNlUmVxdWVz
dChoYW5kbGUpOwotICB9OwotCi0gIEFzc29jaWF0ZWRJbnRlcmZhY2VSZXF1ZXN0LmVuY29kZSA9
IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgIGVuY29kZXIuZW5jb2RlQXNzb2NpYXRlZEVu
ZHBvaW50SGFuZGxlKAotICAgICAgICB2YWwgPyB2YWwuaW50ZXJmYWNlRW5kcG9pbnRIYW5kbGUg
OiBudWxsKTsKLSAgfTsKLQotICBBc3NvY2lhdGVkSW50ZXJmYWNlUmVxdWVzdC5lbmNvZGVkU2l6
ZSA9IDQ7Ci0KLSAgZnVuY3Rpb24gTnVsbGFibGVBc3NvY2lhdGVkSW50ZXJmYWNlUmVxdWVzdCgp
IHsKLSAgfQotCi0gIE51bGxhYmxlQXNzb2NpYXRlZEludGVyZmFjZVJlcXVlc3QuZW5jb2RlZFNp
emUgPQotICAgICAgQXNzb2NpYXRlZEludGVyZmFjZVJlcXVlc3QuZW5jb2RlZFNpemU7Ci0KLSAg
TnVsbGFibGVBc3NvY2lhdGVkSW50ZXJmYWNlUmVxdWVzdC5kZWNvZGUgPQotICAgICAgQXNzb2Np
YXRlZEludGVyZmFjZVJlcXVlc3QuZGVjb2RlOwotCi0gIE51bGxhYmxlQXNzb2NpYXRlZEludGVy
ZmFjZVJlcXVlc3QuZW5jb2RlID0KLSAgICAgIEFzc29jaWF0ZWRJbnRlcmZhY2VSZXF1ZXN0LmVu
Y29kZTsKLQotICBmdW5jdGlvbiBNYXBPZihrZXlDbGFzcywgdmFsdWVDbGFzcykgewotICAgIHRo
aXMua2V5Q2xhc3MgPSBrZXlDbGFzczsKLSAgICB0aGlzLnZhbHVlQ2xhc3MgPSB2YWx1ZUNsYXNz
OwotICB9Ci0KLSAgTWFwT2YucHJvdG90eXBlLmVuY29kZWRTaXplID0gODsKLQotICBNYXBPZi5w
cm90b3R5cGUuZGVjb2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHJldHVybiBkZWNvZGVy
LmRlY29kZU1hcFBvaW50ZXIodGhpcy5rZXlDbGFzcywgdGhpcy52YWx1ZUNsYXNzKTsKLSAgfTsK
LQotICBNYXBPZi5wcm90b3R5cGUuZW5jb2RlID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0g
ICAgZW5jb2Rlci5lbmNvZGVNYXBQb2ludGVyKHRoaXMua2V5Q2xhc3MsIHRoaXMudmFsdWVDbGFz
cywgdmFsKTsKLSAgfTsKLQotICBmdW5jdGlvbiBOdWxsYWJsZU1hcE9mKGtleUNsYXNzLCB2YWx1
ZUNsYXNzKSB7Ci0gICAgTWFwT2YuY2FsbCh0aGlzLCBrZXlDbGFzcywgdmFsdWVDbGFzcyk7Ci0g
IH0KLQotICBOdWxsYWJsZU1hcE9mLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoTWFwT2YucHJv
dG90eXBlKTsKLQotICBpbnRlcm5hbC5hbGlnbiA9IGFsaWduOwotICBpbnRlcm5hbC5pc0FsaWdu
ZWQgPSBpc0FsaWduZWQ7Ci0gIGludGVybmFsLk1lc3NhZ2UgPSBNZXNzYWdlOwotICBpbnRlcm5h
bC5NZXNzYWdlVjBCdWlsZGVyID0gTWVzc2FnZVYwQnVpbGRlcjsKLSAgaW50ZXJuYWwuTWVzc2Fn
ZVYxQnVpbGRlciA9IE1lc3NhZ2VWMUJ1aWxkZXI7Ci0gIGludGVybmFsLk1lc3NhZ2VWMkJ1aWxk
ZXIgPSBNZXNzYWdlVjJCdWlsZGVyOwotICBpbnRlcm5hbC5NZXNzYWdlUmVhZGVyID0gTWVzc2Fn
ZVJlYWRlcjsKLSAgaW50ZXJuYWwua0FycmF5SGVhZGVyU2l6ZSA9IGtBcnJheUhlYWRlclNpemU7
Ci0gIGludGVybmFsLmtNYXBTdHJ1Y3RQYXlsb2FkU2l6ZSA9IGtNYXBTdHJ1Y3RQYXlsb2FkU2l6
ZTsKLSAgaW50ZXJuYWwua1N0cnVjdEhlYWRlclNpemUgPSBrU3RydWN0SGVhZGVyU2l6ZTsKLSAg
aW50ZXJuYWwua0VuY29kZWRJbnZhbGlkSGFuZGxlVmFsdWUgPSBrRW5jb2RlZEludmFsaWRIYW5k
bGVWYWx1ZTsKLSAgaW50ZXJuYWwua01lc3NhZ2VWMEhlYWRlclNpemUgPSBrTWVzc2FnZVYwSGVh
ZGVyU2l6ZTsKLSAgaW50ZXJuYWwua01lc3NhZ2VWMUhlYWRlclNpemUgPSBrTWVzc2FnZVYxSGVh
ZGVyU2l6ZTsKLSAgaW50ZXJuYWwua01lc3NhZ2VWMkhlYWRlclNpemUgPSBrTWVzc2FnZVYySGVh
ZGVyU2l6ZTsKLSAgaW50ZXJuYWwua01lc3NhZ2VQYXlsb2FkSW50ZXJmYWNlSWRzUG9pbnRlck9m
ZnNldCA9Ci0gICAgICBrTWVzc2FnZVBheWxvYWRJbnRlcmZhY2VJZHNQb2ludGVyT2Zmc2V0Owot
ICBpbnRlcm5hbC5rTWVzc2FnZUV4cGVjdHNSZXNwb25zZSA9IGtNZXNzYWdlRXhwZWN0c1Jlc3Bv
bnNlOwotICBpbnRlcm5hbC5rTWVzc2FnZUlzUmVzcG9uc2UgPSBrTWVzc2FnZUlzUmVzcG9uc2U7
Ci0gIGludGVybmFsLkludDggPSBJbnQ4OwotICBpbnRlcm5hbC5VaW50OCA9IFVpbnQ4OwotICBp
bnRlcm5hbC5JbnQxNiA9IEludDE2OwotICBpbnRlcm5hbC5VaW50MTYgPSBVaW50MTY7Ci0gIGlu
dGVybmFsLkludDMyID0gSW50MzI7Ci0gIGludGVybmFsLlVpbnQzMiA9IFVpbnQzMjsKLSAgaW50
ZXJuYWwuSW50NjQgPSBJbnQ2NDsKLSAgaW50ZXJuYWwuVWludDY0ID0gVWludDY0OwotICBpbnRl
cm5hbC5GbG9hdCA9IEZsb2F0OwotICBpbnRlcm5hbC5Eb3VibGUgPSBEb3VibGU7Ci0gIGludGVy
bmFsLlN0cmluZyA9IFN0cmluZzsKLSAgaW50ZXJuYWwuRW51bSA9IEVudW07Ci0gIGludGVybmFs
Lk51bGxhYmxlU3RyaW5nID0gTnVsbGFibGVTdHJpbmc7Ci0gIGludGVybmFsLlBvaW50ZXJUbyA9
IFBvaW50ZXJUbzsKLSAgaW50ZXJuYWwuTnVsbGFibGVQb2ludGVyVG8gPSBOdWxsYWJsZVBvaW50
ZXJUbzsKLSAgaW50ZXJuYWwuQXJyYXlPZiA9IEFycmF5T2Y7Ci0gIGludGVybmFsLk51bGxhYmxl
QXJyYXlPZiA9IE51bGxhYmxlQXJyYXlPZjsKLSAgaW50ZXJuYWwuUGFja2VkQm9vbCA9IFBhY2tl
ZEJvb2w7Ci0gIGludGVybmFsLkhhbmRsZSA9IEhhbmRsZTsKLSAgaW50ZXJuYWwuTnVsbGFibGVI
YW5kbGUgPSBOdWxsYWJsZUhhbmRsZTsKLSAgaW50ZXJuYWwuSW50ZXJmYWNlID0gSW50ZXJmYWNl
OwotICBpbnRlcm5hbC5OdWxsYWJsZUludGVyZmFjZSA9IE51bGxhYmxlSW50ZXJmYWNlOwotICBp
bnRlcm5hbC5JbnRlcmZhY2VSZXF1ZXN0ID0gSW50ZXJmYWNlUmVxdWVzdDsKLSAgaW50ZXJuYWwu
TnVsbGFibGVJbnRlcmZhY2VSZXF1ZXN0ID0gTnVsbGFibGVJbnRlcmZhY2VSZXF1ZXN0OwotICBp
bnRlcm5hbC5Bc3NvY2lhdGVkSW50ZXJmYWNlUHRySW5mbyA9IEFzc29jaWF0ZWRJbnRlcmZhY2VQ
dHJJbmZvOwotICBpbnRlcm5hbC5OdWxsYWJsZUFzc29jaWF0ZWRJbnRlcmZhY2VQdHJJbmZvID0K
LSAgICAgIE51bGxhYmxlQXNzb2NpYXRlZEludGVyZmFjZVB0ckluZm87Ci0gIGludGVybmFsLkFz
c29jaWF0ZWRJbnRlcmZhY2VSZXF1ZXN0ID0gQXNzb2NpYXRlZEludGVyZmFjZVJlcXVlc3Q7Ci0g
IGludGVybmFsLk51bGxhYmxlQXNzb2NpYXRlZEludGVyZmFjZVJlcXVlc3QgPQotICAgICAgTnVs
bGFibGVBc3NvY2lhdGVkSW50ZXJmYWNlUmVxdWVzdDsKLSAgaW50ZXJuYWwuTWFwT2YgPSBNYXBP
ZjsKLSAgaW50ZXJuYWwuTnVsbGFibGVNYXBPZiA9IE51bGxhYmxlTWFwT2Y7Ci19KSgpOwotLy8g
Q29weXJpZ2h0IDIwMTQgVGhlIENocm9taXVtIEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
Ci0vLyBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBs
aWNlbnNlIHRoYXQgY2FuIGJlCi0vLyBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgotCi0oZnVu
Y3Rpb24oKSB7Ci0gIHZhciBpbnRlcm5hbCA9IG1vam8uaW50ZXJuYWw7Ci0KLSAgZnVuY3Rpb24g
Q29ubmVjdG9yKGhhbmRsZSkgewotICAgIGlmICghKGhhbmRsZSBpbnN0YW5jZW9mIE1vam9IYW5k
bGUpKQotICAgICAgdGhyb3cgbmV3IEVycm9yKCJDb25uZWN0b3I6IG5vdCBhIGhhbmRsZSAiICsg
aGFuZGxlKTsKLSAgICB0aGlzLmhhbmRsZV8gPSBoYW5kbGU7Ci0gICAgdGhpcy5kcm9wV3JpdGVz
XyA9IGZhbHNlOwotICAgIHRoaXMuZXJyb3JfID0gZmFsc2U7Ci0gICAgdGhpcy5pbmNvbWluZ1Jl
Y2VpdmVyXyA9IG51bGw7Ci0gICAgdGhpcy5yZWFkV2F0Y2hlcl8gPSBudWxsOwotICAgIHRoaXMu
ZXJyb3JIYW5kbGVyXyA9IG51bGw7Ci0gICAgdGhpcy5wYXVzZWRfID0gZmFsc2U7Ci0KLSAgICB0
aGlzLndhaXRUb1JlYWRNb3JlKCk7Ci0gIH0KLQotICBDb25uZWN0b3IucHJvdG90eXBlLmNsb3Nl
ID0gZnVuY3Rpb24oKSB7Ci0gICAgdGhpcy5jYW5jZWxXYWl0KCk7Ci0gICAgaWYgKHRoaXMuaGFu
ZGxlXyAhPSBudWxsKSB7Ci0gICAgICB0aGlzLmhhbmRsZV8uY2xvc2UoKTsKLSAgICAgIHRoaXMu
aGFuZGxlXyA9IG51bGw7Ci0gICAgfQotICB9OwotCi0gIENvbm5lY3Rvci5wcm90b3R5cGUucGF1
c2VJbmNvbWluZ01ldGhvZENhbGxQcm9jZXNzaW5nID0gZnVuY3Rpb24oKSB7Ci0gICAgaWYgKHRo
aXMucGF1c2VkXykgewotICAgICAgcmV0dXJuOwotICAgIH0KLSAgICB0aGlzLnBhdXNlZF89IHRy
dWU7Ci0gICAgdGhpcy5jYW5jZWxXYWl0KCk7Ci0gIH07Ci0KLSAgQ29ubmVjdG9yLnByb3RvdHlw
ZS5yZXN1bWVJbmNvbWluZ01ldGhvZENhbGxQcm9jZXNzaW5nID0gZnVuY3Rpb24oKSB7Ci0gICAg
aWYgKCF0aGlzLnBhdXNlZF8pIHsKLSAgICAgIHJldHVybjsKLSAgICB9Ci0gICAgdGhpcy5wYXVz
ZWRfPSBmYWxzZTsKLSAgICB0aGlzLndhaXRUb1JlYWRNb3JlKCk7Ci0gIH07Ci0KLSAgQ29ubmVj
dG9yLnByb3RvdHlwZS5hY2NlcHQgPSBmdW5jdGlvbihtZXNzYWdlKSB7Ci0gICAgaWYgKHRoaXMu
ZXJyb3JfKQotICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgaWYgKHRoaXMuZHJvcFdyaXRlc18p
Ci0gICAgICByZXR1cm4gdHJ1ZTsKLQotICAgIHZhciByZXN1bHQgPSB0aGlzLmhhbmRsZV8ud3Jp
dGVNZXNzYWdlKAotICAgICAgICBuZXcgVWludDhBcnJheShtZXNzYWdlLmJ1ZmZlci5hcnJheUJ1
ZmZlciksIG1lc3NhZ2UuaGFuZGxlcyk7Ci0gICAgc3dpdGNoIChyZXN1bHQpIHsKLSAgICAgIGNh
c2UgTW9qby5SRVNVTFRfT0s6Ci0gICAgICAgIC8vIFRoZSBoYW5kbGVzIHdlcmUgc3VjY2Vzc2Z1
bGx5IHRyYW5zZmVycmVkLCBzbyB3ZSBkb24ndCBvd24gdGhlbQotICAgICAgICAvLyBhbnltb3Jl
LgotICAgICAgICBtZXNzYWdlLmhhbmRsZXMgPSBbXTsKLSAgICAgICAgYnJlYWs7Ci0gICAgICBj
YXNlIE1vam8uUkVTVUxUX0ZBSUxFRF9QUkVDT05ESVRJT046Ci0gICAgICAgIC8vIFRoZXJlJ3Mg
bm8gcG9pbnQgaW4gY29udGludWluZyB0byB3cml0ZSB0byB0aGlzIHBpcGUgc2luY2UgdGhlIG90
aGVyCi0gICAgICAgIC8vIGVuZCBpcyBnb25lLiBBdm9pZCB3cml0aW5nIGFueSBmdXR1cmUgbWVz
c2FnZXMuIEhpZGUgd3JpdGUgZmFpbHVyZXMKLSAgICAgICAgLy8gZnJvbSB0aGUgY2FsbGVyIHNp
bmNlIHdlJ2QgbGlrZSB0aGVtIHRvIGNvbnRpbnVlIGNvbnN1bWluZyBhbnkKLSAgICAgICAgLy8g
YmFja2xvZyBvZiBpbmNvbWluZyBtZXNzYWdlcyBiZWZvcmUgcmVnYXJkaW5nIHRoZSBtZXNzYWdl
IHBpcGUgYXMKLSAgICAgICAgLy8gY2xvc2VkLgotICAgICAgICB0aGlzLmRyb3BXcml0ZXNfID0g
dHJ1ZTsKLSAgICAgICAgYnJlYWs7Ci0gICAgICBkZWZhdWx0OgotICAgICAgICAvLyBUaGlzIHBh
cnRpY3VsYXIgd3JpdGUgd2FzIHJlamVjdGVkLCBwcmVzdW1hYmx5IGJlY2F1c2Ugb2YgYmFkIGlu
cHV0LgotICAgICAgICAvLyBUaGUgcGlwZSBpcyBub3QgbmVjZXNzYXJpbHkgaW4gYSBiYWQgc3Rh
dGUuCi0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICB9Ci0gICAgcmV0dXJuIHRydWU7Ci0gIH07
Ci0KLSAgQ29ubmVjdG9yLnByb3RvdHlwZS5zZXRJbmNvbWluZ1JlY2VpdmVyID0gZnVuY3Rpb24o
cmVjZWl2ZXIpIHsKLSAgICB0aGlzLmluY29taW5nUmVjZWl2ZXJfID0gcmVjZWl2ZXI7Ci0gIH07
Ci0KLSAgQ29ubmVjdG9yLnByb3RvdHlwZS5zZXRFcnJvckhhbmRsZXIgPSBmdW5jdGlvbihoYW5k
bGVyKSB7Ci0gICAgdGhpcy5lcnJvckhhbmRsZXJfID0gaGFuZGxlcjsKLSAgfTsKLQotICBDb25u
ZWN0b3IucHJvdG90eXBlLnJlYWRNb3JlXyA9IGZ1bmN0aW9uKHJlc3VsdCkgewotICAgIGZvciAo
OzspIHsKLSAgICAgIGlmICh0aGlzLnBhdXNlZF8pIHsKLSAgICAgICAgcmV0dXJuOwotICAgICAg
fQotCi0gICAgICB2YXIgcmVhZCA9IHRoaXMuaGFuZGxlXy5yZWFkTWVzc2FnZSgpOwotICAgICAg
aWYgKHRoaXMuaGFuZGxlXyA9PSBudWxsKSAvLyBUaGUgY29ubmVjdG9yIGhhcyBiZWVuIGNsb3Nl
ZC4KLSAgICAgICAgcmV0dXJuOwotICAgICAgaWYgKHJlYWQucmVzdWx0ID09IE1vam8uUkVTVUxU
X1NIT1VMRF9XQUlUKQotICAgICAgICByZXR1cm47Ci0gICAgICBpZiAocmVhZC5yZXN1bHQgIT0g
TW9qby5SRVNVTFRfT0spIHsKLSAgICAgICAgdGhpcy5oYW5kbGVFcnJvcihyZWFkLnJlc3VsdCAh
PT0gTW9qby5SRVNVTFRfRkFJTEVEX1BSRUNPTkRJVElPTiwKLSAgICAgICAgICAgIGZhbHNlKTsK
LSAgICAgICAgcmV0dXJuOwotICAgICAgfQotICAgICAgdmFyIG1lc3NhZ2VCdWZmZXIgPSBuZXcg
aW50ZXJuYWwuQnVmZmVyKHJlYWQuYnVmZmVyKTsKLSAgICAgIHZhciBtZXNzYWdlID0gbmV3IGlu
dGVybmFsLk1lc3NhZ2UobWVzc2FnZUJ1ZmZlciwgcmVhZC5oYW5kbGVzKTsKLSAgICAgIHZhciBy
ZWNlaXZlclJlc3VsdCA9IHRoaXMuaW5jb21pbmdSZWNlaXZlcl8gJiYKLSAgICAgICAgICB0aGlz
LmluY29taW5nUmVjZWl2ZXJfLmFjY2VwdChtZXNzYWdlKTsKLQotICAgICAgLy8gRGlzcGF0Y2hp
bmcgdGhlIG1lc3NhZ2UgbWF5IGhhdmUgY2xvc2VkIHRoZSBjb25uZWN0b3IuCi0gICAgICBpZiAo
dGhpcy5oYW5kbGVfID09IG51bGwpCi0gICAgICAgIHJldHVybjsKLQotICAgICAgLy8gSGFuZGxl
IGludmFsaWQgaW5jb21pbmcgbWVzc2FnZS4KLSAgICAgIGlmICghaW50ZXJuYWwuaXNUZXN0aW5n
TW9kZSgpICYmICFyZWNlaXZlclJlc3VsdCkgewotICAgICAgICAvLyBUT0RPKHl6c2hlbik6IENv
bnNpZGVyIG5vdGlmeWluZyB0aGUgZW1iZWRkZXIuCi0gICAgICAgIHRoaXMuaGFuZGxlRXJyb3Io
dHJ1ZSwgZmFsc2UpOwotICAgICAgfQotICAgIH0KLSAgfTsKLQotICBDb25uZWN0b3IucHJvdG90
eXBlLmNhbmNlbFdhaXQgPSBmdW5jdGlvbigpIHsKLSAgICBpZiAodGhpcy5yZWFkV2F0Y2hlcl8p
IHsKLSAgICAgIHRoaXMucmVhZFdhdGNoZXJfLmNhbmNlbCgpOwotICAgICAgdGhpcy5yZWFkV2F0
Y2hlcl8gPSBudWxsOwotICAgIH0KLSAgfTsKLQotICBDb25uZWN0b3IucHJvdG90eXBlLndhaXRU
b1JlYWRNb3JlID0gZnVuY3Rpb24oKSB7Ci0gICAgaWYgKHRoaXMuaGFuZGxlXykgewotICAgICAg
dGhpcy5yZWFkV2F0Y2hlcl8gPSB0aGlzLmhhbmRsZV8ud2F0Y2goe3JlYWRhYmxlOiB0cnVlfSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucmVhZE1v
cmVfLmJpbmQodGhpcykpOwotICAgIH0KLSAgfTsKLQotICBDb25uZWN0b3IucHJvdG90eXBlLmhh
bmRsZUVycm9yID0gZnVuY3Rpb24oZm9yY2VQaXBlUmVzZXQsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JjZUFzeW5jSGFuZGxlcikgewotICAgIGlmICh0
aGlzLmVycm9yXyB8fCB0aGlzLmhhbmRsZV8gPT09IG51bGwpIHsKLSAgICAgIHJldHVybjsKLSAg
ICB9Ci0KLSAgICBpZiAodGhpcy5wYXVzZWRfKSB7Ci0gICAgICAvLyBFbmZvcmNlIGNhbGxpbmcg
dGhlIGVycm9yIGhhbmRsZXIgYXN5bmNocm9ub3VzbHkgaWYgdGhlIHVzZXIgaGFzCi0gICAgICAv
LyBwYXVzZWQgcmVjZWl2aW5nIG1lc3NhZ2VzLiBXZSBuZWVkIHRvIHdhaXQgdW50aWwgdGhlIHVz
ZXIgc3RhcnRzCi0gICAgICAvLyByZWNlaXZpbmcgbWVzc2FnZXMgYWdhaW4uCi0gICAgICBmb3Jj
ZUFzeW5jSGFuZGxlciA9IHRydWU7Ci0gICAgfQotCi0gICAgaWYgKCFmb3JjZVBpcGVSZXNldCAm
JiBmb3JjZUFzeW5jSGFuZGxlcikgewotICAgICAgZm9yY2VQaXBlUmVzZXQgPSB0cnVlOwotICAg
IH0KLQotICAgIHRoaXMuY2FuY2VsV2FpdCgpOwotICAgIGlmIChmb3JjZVBpcGVSZXNldCkgewot
ICAgICAgdGhpcy5oYW5kbGVfLmNsb3NlKCk7Ci0gICAgICB2YXIgZHVtbXlQaXBlID0gTW9qby5j
cmVhdGVNZXNzYWdlUGlwZSgpOwotICAgICAgdGhpcy5oYW5kbGVfID0gZHVtbXlQaXBlLmhhbmRs
ZTA7Ci0gICAgfQotCi0gICAgaWYgKGZvcmNlQXN5bmNIYW5kbGVyKSB7Ci0gICAgICBpZiAoIXRo
aXMucGF1c2VkXykgewotICAgICAgICB0aGlzLndhaXRUb1JlYWRNb3JlKCk7Ci0gICAgICB9Ci0g
ICAgfSBlbHNlIHsKLSAgICAgIHRoaXMuZXJyb3JfID0gdHJ1ZTsKLSAgICAgIGlmICh0aGlzLmVy
cm9ySGFuZGxlcl8pIHsKLSAgICAgICAgdGhpcy5lcnJvckhhbmRsZXJfLm9uRXJyb3IoKTsKLSAg
ICAgIH0KLSAgICB9Ci0gIH07Ci0KLSAgaW50ZXJuYWwuQ29ubmVjdG9yID0gQ29ubmVjdG9yOwot
fSkoKTsKLS8vIENvcHlyaWdodCAyMDE3IFRoZSBDaHJvbWl1bSBBdXRob3JzLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgotLy8gVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBC
U0Qtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQotLy8gZm91bmQgaW4gdGhlIExJQ0VOU0UgZmls
ZS4KLQotKGZ1bmN0aW9uKCkgewotICB2YXIgaW50ZXJuYWwgPSBtb2pvLmludGVybmFsOwotCi0g
IGZ1bmN0aW9uIHZhbGlkYXRlQ29udHJvbFJlcXVlc3RXaXRoUmVzcG9uc2UobWVzc2FnZSkgewot
ICAgIHZhciBtZXNzYWdlVmFsaWRhdG9yID0gbmV3IGludGVybmFsLlZhbGlkYXRvcihtZXNzYWdl
KTsKLSAgICB2YXIgZXJyb3IgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlTWVzc2FnZUlzUmVx
dWVzdEV4cGVjdGluZ1Jlc3BvbnNlKCk7Ci0gICAgaWYgKGVycm9yICE9PSBpbnRlcm5hbC52YWxp
ZGF0aW9uRXJyb3IuTk9ORSkgewotICAgICAgdGhyb3cgZXJyb3I7Ci0gICAgfQotCi0gICAgaWYg
KG1lc3NhZ2UuZ2V0TmFtZSgpICE9IG1vam8uaW50ZXJmYWNlQ29udHJvbC5rUnVuTWVzc2FnZUlk
KSB7Ci0gICAgICB0aHJvdyBuZXcgRXJyb3IoIkNvbnRyb2wgbWVzc2FnZSBuYW1lIGlzIG5vdCBr
UnVuTWVzc2FnZUlkIik7Ci0gICAgfQotCi0gICAgLy8gVmFsaWRhdGUgcGF5bG9hZC4KLSAgICBl
cnJvciA9IG1vam8uaW50ZXJmYWNlQ29udHJvbC5SdW5NZXNzYWdlUGFyYW1zLnZhbGlkYXRlKG1l
c3NhZ2VWYWxpZGF0b3IsCi0gICAgICAgIG1lc3NhZ2UuZ2V0SGVhZGVyTnVtQnl0ZXMoKSk7Ci0g
ICAgaWYgKGVycm9yICE9IGludGVybmFsLnZhbGlkYXRpb25FcnJvci5OT05FKSB7Ci0gICAgICB0
aHJvdyBlcnJvcjsKLSAgICB9Ci0gIH0KLQotICBmdW5jdGlvbiB2YWxpZGF0ZUNvbnRyb2xSZXF1
ZXN0V2l0aG91dFJlc3BvbnNlKG1lc3NhZ2UpIHsKLSAgICB2YXIgbWVzc2FnZVZhbGlkYXRvciA9
IG5ldyBpbnRlcm5hbC5WYWxpZGF0b3IobWVzc2FnZSk7Ci0gICAgdmFyIGVycm9yID0gbWVzc2Fn
ZVZhbGlkYXRvci52YWxpZGF0ZU1lc3NhZ2VJc1JlcXVlc3RXaXRob3V0UmVzcG9uc2UoKTsKLSAg
ICBpZiAoZXJyb3IgIT0gaW50ZXJuYWwudmFsaWRhdGlvbkVycm9yLk5PTkUpIHsKLSAgICAgIHRo
cm93IGVycm9yOwotICAgIH0KLQotICAgIGlmIChtZXNzYWdlLmdldE5hbWUoKSAhPSBtb2pvLmlu
dGVyZmFjZUNvbnRyb2wua1J1bk9yQ2xvc2VQaXBlTWVzc2FnZUlkKSB7Ci0gICAgICB0aHJvdyBu
ZXcgRXJyb3IoIkNvbnRyb2wgbWVzc2FnZSBuYW1lIGlzIG5vdCBrUnVuT3JDbG9zZVBpcGVNZXNz
YWdlSWQiKTsKLSAgICB9Ci0KLSAgICAvLyBWYWxpZGF0ZSBwYXlsb2FkLgotICAgIGVycm9yID0g
bW9qby5pbnRlcmZhY2VDb250cm9sLlJ1bk9yQ2xvc2VQaXBlTWVzc2FnZVBhcmFtcy52YWxpZGF0
ZSgKLSAgICAgICAgbWVzc2FnZVZhbGlkYXRvciwgbWVzc2FnZS5nZXRIZWFkZXJOdW1CeXRlcygp
KTsKLSAgICBpZiAoZXJyb3IgIT0gaW50ZXJuYWwudmFsaWRhdGlvbkVycm9yLk5PTkUpIHsKLSAg
ICAgIHRocm93IGVycm9yOwotICAgIH0KLSAgfQotCi0gIGZ1bmN0aW9uIHJ1bk9yQ2xvc2VQaXBl
KG1lc3NhZ2UsIGludGVyZmFjZVZlcnNpb24pIHsKLSAgICB2YXIgcmVhZGVyID0gbmV3IGludGVy
bmFsLk1lc3NhZ2VSZWFkZXIobWVzc2FnZSk7Ci0gICAgdmFyIHJ1bk9yQ2xvc2VQaXBlTWVzc2Fn
ZVBhcmFtcyA9IHJlYWRlci5kZWNvZGVTdHJ1Y3QoCi0gICAgICAgIG1vam8uaW50ZXJmYWNlQ29u
dHJvbC5SdW5PckNsb3NlUGlwZU1lc3NhZ2VQYXJhbXMpOwotICAgIHJldHVybiBpbnRlcmZhY2VW
ZXJzaW9uID49Ci0gICAgICAgIHJ1bk9yQ2xvc2VQaXBlTWVzc2FnZVBhcmFtcy5pbnB1dC5yZXF1
aXJlVmVyc2lvbi52ZXJzaW9uOwotICB9Ci0KLSAgZnVuY3Rpb24gcnVuKG1lc3NhZ2UsIHJlc3Bv
bmRlciwgaW50ZXJmYWNlVmVyc2lvbikgewotICAgIHZhciByZWFkZXIgPSBuZXcgaW50ZXJuYWwu
TWVzc2FnZVJlYWRlcihtZXNzYWdlKTsKLSAgICB2YXIgcnVuTWVzc2FnZVBhcmFtcyA9Ci0gICAg
ICAgIHJlYWRlci5kZWNvZGVTdHJ1Y3QobW9qby5pbnRlcmZhY2VDb250cm9sLlJ1bk1lc3NhZ2VQ
YXJhbXMpOwotICAgIHZhciBydW5PdXRwdXQgPSBudWxsOwotCi0gICAgaWYgKHJ1bk1lc3NhZ2VQ
YXJhbXMuaW5wdXQucXVlcnlWZXJzaW9uKSB7Ci0gICAgICBydW5PdXRwdXQgPSBuZXcgbW9qby5p
bnRlcmZhY2VDb250cm9sLlJ1bk91dHB1dCgpOwotICAgICAgcnVuT3V0cHV0LnF1ZXJ5VmVyc2lv
blJlc3VsdCA9IG5ldwotICAgICAgICAgIG1vam8uaW50ZXJmYWNlQ29udHJvbC5RdWVyeVZlcnNp
b25SZXN1bHQoCi0gICAgICAgICAgICAgIHsndmVyc2lvbic6IGludGVyZmFjZVZlcnNpb259KTsK
LSAgICB9Ci0KLSAgICB2YXIgcnVuUmVzcG9uc2VNZXNzYWdlUGFyYW1zID0gbmV3Ci0gICAgICAg
IG1vam8uaW50ZXJmYWNlQ29udHJvbC5SdW5SZXNwb25zZU1lc3NhZ2VQYXJhbXMoKTsKLSAgICBy
dW5SZXNwb25zZU1lc3NhZ2VQYXJhbXMub3V0cHV0ID0gcnVuT3V0cHV0OwotCi0gICAgdmFyIG1l
c3NhZ2VOYW1lID0gbW9qby5pbnRlcmZhY2VDb250cm9sLmtSdW5NZXNzYWdlSWQ7Ci0gICAgdmFy
IHBheWxvYWRTaXplID0KLSAgICAgICAgbW9qby5pbnRlcmZhY2VDb250cm9sLlJ1blJlc3BvbnNl
TWVzc2FnZVBhcmFtcy5lbmNvZGVkU2l6ZTsKLSAgICB2YXIgcmVxdWVzdElEID0gcmVhZGVyLnJl
cXVlc3RJRDsKLSAgICB2YXIgYnVpbGRlciA9IG5ldyBpbnRlcm5hbC5NZXNzYWdlVjFCdWlsZGVy
KG1lc3NhZ2VOYW1lLAotICAgICAgICBwYXlsb2FkU2l6ZSwgaW50ZXJuYWwua01lc3NhZ2VJc1Jl
c3BvbnNlLCByZXF1ZXN0SUQpOwotICAgIGJ1aWxkZXIuZW5jb2RlU3RydWN0KG1vam8uaW50ZXJm
YWNlQ29udHJvbC5SdW5SZXNwb25zZU1lc3NhZ2VQYXJhbXMsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgcnVuUmVzcG9uc2VNZXNzYWdlUGFyYW1zKTsKLSAgICByZXNwb25kZXIuYWNjZXB0KGJ1
aWxkZXIuZmluaXNoKCkpOwotICAgIHJldHVybiB0cnVlOwotICB9Ci0KLSAgZnVuY3Rpb24gaXNJ
bnRlcmZhY2VDb250cm9sTWVzc2FnZShtZXNzYWdlKSB7Ci0gICAgcmV0dXJuIG1lc3NhZ2UuZ2V0
TmFtZSgpID09IG1vam8uaW50ZXJmYWNlQ29udHJvbC5rUnVuTWVzc2FnZUlkIHx8Ci0gICAgICAg
ICAgIG1lc3NhZ2UuZ2V0TmFtZSgpID09IG1vam8uaW50ZXJmYWNlQ29udHJvbC5rUnVuT3JDbG9z
ZVBpcGVNZXNzYWdlSWQ7Ci0gIH0KLQotICBmdW5jdGlvbiBDb250cm9sTWVzc2FnZUhhbmRsZXIo
aW50ZXJmYWNlVmVyc2lvbikgewotICAgIHRoaXMuaW50ZXJmYWNlVmVyc2lvbl8gPSBpbnRlcmZh
Y2VWZXJzaW9uOwotICB9Ci0KLSAgQ29udHJvbE1lc3NhZ2VIYW5kbGVyLnByb3RvdHlwZS5hY2Nl
cHQgPSBmdW5jdGlvbihtZXNzYWdlKSB7Ci0gICAgdmFsaWRhdGVDb250cm9sUmVxdWVzdFdpdGhv
dXRSZXNwb25zZShtZXNzYWdlKTsKLSAgICByZXR1cm4gcnVuT3JDbG9zZVBpcGUobWVzc2FnZSwg
dGhpcy5pbnRlcmZhY2VWZXJzaW9uXyk7Ci0gIH07Ci0KLSAgQ29udHJvbE1lc3NhZ2VIYW5kbGVy
LnByb3RvdHlwZS5hY2NlcHRXaXRoUmVzcG9uZGVyID0gZnVuY3Rpb24obWVzc2FnZSwKLSAgICAg
IHJlc3BvbmRlcikgewotICAgIHZhbGlkYXRlQ29udHJvbFJlcXVlc3RXaXRoUmVzcG9uc2UobWVz
c2FnZSk7Ci0gICAgcmV0dXJuIHJ1bihtZXNzYWdlLCByZXNwb25kZXIsIHRoaXMuaW50ZXJmYWNl
VmVyc2lvbl8pOwotICB9OwotCi0gIGludGVybmFsLkNvbnRyb2xNZXNzYWdlSGFuZGxlciA9IENv
bnRyb2xNZXNzYWdlSGFuZGxlcjsKLSAgaW50ZXJuYWwuaXNJbnRlcmZhY2VDb250cm9sTWVzc2Fn
ZSA9IGlzSW50ZXJmYWNlQ29udHJvbE1lc3NhZ2U7Ci19KSgpOwotLy8gQ29weXJpZ2h0IDIwMTcg
VGhlIENocm9taXVtIEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0vLyBVc2Ugb2YgdGhp
cyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlIHRoYXQgY2Fu
IGJlCi0vLyBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgotCi0oZnVuY3Rpb24oKSB7Ci0gIHZh
ciBpbnRlcm5hbCA9IG1vam8uaW50ZXJuYWw7Ci0KLSAgZnVuY3Rpb24gY29uc3RydWN0UnVuT3JD
bG9zZVBpcGVNZXNzYWdlKHJ1bk9yQ2xvc2VQaXBlSW5wdXQpIHsKLSAgICB2YXIgcnVuT3JDbG9z
ZVBpcGVNZXNzYWdlUGFyYW1zID0gbmV3Ci0gICAgICAgIG1vam8uaW50ZXJmYWNlQ29udHJvbC5S
dW5PckNsb3NlUGlwZU1lc3NhZ2VQYXJhbXMoKTsKLSAgICBydW5PckNsb3NlUGlwZU1lc3NhZ2VQ
YXJhbXMuaW5wdXQgPSBydW5PckNsb3NlUGlwZUlucHV0OwotCi0gICAgdmFyIG1lc3NhZ2VOYW1l
ID0gbW9qby5pbnRlcmZhY2VDb250cm9sLmtSdW5PckNsb3NlUGlwZU1lc3NhZ2VJZDsKLSAgICB2
YXIgcGF5bG9hZFNpemUgPQotICAgICAgICBtb2pvLmludGVyZmFjZUNvbnRyb2wuUnVuT3JDbG9z
ZVBpcGVNZXNzYWdlUGFyYW1zLmVuY29kZWRTaXplOwotICAgIHZhciBidWlsZGVyID0gbmV3IGlu
dGVybmFsLk1lc3NhZ2VWMEJ1aWxkZXIobWVzc2FnZU5hbWUsIHBheWxvYWRTaXplKTsKLSAgICBi
dWlsZGVyLmVuY29kZVN0cnVjdChtb2pvLmludGVyZmFjZUNvbnRyb2wuUnVuT3JDbG9zZVBpcGVN
ZXNzYWdlUGFyYW1zLAotICAgICAgICAgICAgICAgICAgICAgICAgIHJ1bk9yQ2xvc2VQaXBlTWVz
c2FnZVBhcmFtcyk7Ci0gICAgdmFyIG1lc3NhZ2UgPSBidWlsZGVyLmZpbmlzaCgpOwotICAgIHJl
dHVybiBtZXNzYWdlOwotICB9Ci0KLSAgZnVuY3Rpb24gdmFsaWRhdGVDb250cm9sUmVzcG9uc2Uo
bWVzc2FnZSkgewotICAgIHZhciBtZXNzYWdlVmFsaWRhdG9yID0gbmV3IGludGVybmFsLlZhbGlk
YXRvcihtZXNzYWdlKTsKLSAgICB2YXIgZXJyb3IgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRl
TWVzc2FnZUlzUmVzcG9uc2UoKTsKLSAgICBpZiAoZXJyb3IgIT0gaW50ZXJuYWwudmFsaWRhdGlv
bkVycm9yLk5PTkUpIHsKLSAgICAgIHRocm93IGVycm9yOwotICAgIH0KLQotICAgIGlmIChtZXNz
YWdlLmdldE5hbWUoKSAhPSBtb2pvLmludGVyZmFjZUNvbnRyb2wua1J1bk1lc3NhZ2VJZCkgewot
ICAgICAgdGhyb3cgbmV3IEVycm9yKCJDb250cm9sIG1lc3NhZ2UgbmFtZSBpcyBub3Qga1J1bk1l
c3NhZ2VJZCIpOwotICAgIH0KLQotICAgIC8vIFZhbGlkYXRlIHBheWxvYWQuCi0gICAgZXJyb3Ig
PSBtb2pvLmludGVyZmFjZUNvbnRyb2wuUnVuUmVzcG9uc2VNZXNzYWdlUGFyYW1zLnZhbGlkYXRl
KAotICAgICAgICBtZXNzYWdlVmFsaWRhdG9yLCBtZXNzYWdlLmdldEhlYWRlck51bUJ5dGVzKCkp
OwotICAgIGlmIChlcnJvciAhPSBpbnRlcm5hbC52YWxpZGF0aW9uRXJyb3IuTk9ORSkgewotICAg
ICAgdGhyb3cgZXJyb3I7Ci0gICAgfQotICB9Ci0KLSAgZnVuY3Rpb24gYWNjZXB0UnVuUmVzcG9u
c2UobWVzc2FnZSkgewotICAgIHZhbGlkYXRlQ29udHJvbFJlc3BvbnNlKG1lc3NhZ2UpOwotCi0g
ICAgdmFyIHJlYWRlciA9IG5ldyBpbnRlcm5hbC5NZXNzYWdlUmVhZGVyKG1lc3NhZ2UpOwotICAg
IHZhciBydW5SZXNwb25zZU1lc3NhZ2VQYXJhbXMgPSByZWFkZXIuZGVjb2RlU3RydWN0KAotICAg
ICAgICBtb2pvLmludGVyZmFjZUNvbnRyb2wuUnVuUmVzcG9uc2VNZXNzYWdlUGFyYW1zKTsKLQot
ICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUocnVuUmVzcG9uc2VNZXNzYWdlUGFyYW1zKTsKLSAg
fQotCi0gLyoqCi0gICogU2VuZHMgdGhlIGdpdmVuIHJ1biBtZXNzYWdlIHRocm91Z2ggdGhlIHJl
Y2VpdmVyLgotICAqIEFjY2VwdHMgdGhlIHJlc3BvbnNlIG1lc3NhZ2UgZnJvbSB0aGUgcmVjZWl2
ZXIgYW5kIGRlY29kZXMgdGhlIG1lc3NhZ2UKLSAgKiBzdHJ1Y3QgdG8gUnVuUmVzcG9uc2VNZXNz
YWdlUGFyYW1zLgotICAqCi0gICogQHBhcmFtICB7Um91dGVyfSByZWNlaXZlci4KLSAgKiBAcGFy
YW0gIHtSdW5NZXNzYWdlUGFyYW1zfSBydW5NZXNzYWdlUGFyYW1zIHRvIGJlIHNlbnQgdmlhIGEg
bWVzc2FnZS4KLSAgKiBAcmV0dXJuIHtQcm9taXNlfSB0aGF0IHJlc29sdmVzIHRvIGEgUnVuUmVz
cG9uc2VNZXNzYWdlUGFyYW1zLgotICAqLwotICBmdW5jdGlvbiBzZW5kUnVuTWVzc2FnZShyZWNl
aXZlciwgcnVuTWVzc2FnZVBhcmFtcykgewotICAgIHZhciBtZXNzYWdlTmFtZSA9IG1vam8uaW50
ZXJmYWNlQ29udHJvbC5rUnVuTWVzc2FnZUlkOwotICAgIHZhciBwYXlsb2FkU2l6ZSA9IG1vam8u
aW50ZXJmYWNlQ29udHJvbC5SdW5NZXNzYWdlUGFyYW1zLmVuY29kZWRTaXplOwotICAgIC8vIHxy
ZXF1ZXN0SUR8IGlzIHNldCB0byAwLCBidXQgaXMgbGF0ZXIgcHJvcGVybHkgc2V0IGJ5IFJvdXRl
ci4KLSAgICB2YXIgYnVpbGRlciA9IG5ldyBpbnRlcm5hbC5NZXNzYWdlVjFCdWlsZGVyKG1lc3Nh
Z2VOYW1lLAotICAgICAgICBwYXlsb2FkU2l6ZSwgaW50ZXJuYWwua01lc3NhZ2VFeHBlY3RzUmVz
cG9uc2UsIDApOwotICAgIGJ1aWxkZXIuZW5jb2RlU3RydWN0KG1vam8uaW50ZXJmYWNlQ29udHJv
bC5SdW5NZXNzYWdlUGFyYW1zLAotICAgICAgICAgICAgICAgICAgICAgICAgIHJ1bk1lc3NhZ2VQ
YXJhbXMpOwotICAgIHZhciBtZXNzYWdlID0gYnVpbGRlci5maW5pc2goKTsKLQotICAgIHJldHVy
biByZWNlaXZlci5hY2NlcHRBbmRFeHBlY3RSZXNwb25zZShtZXNzYWdlKS50aGVuKGFjY2VwdFJ1
blJlc3BvbnNlKTsKLSAgfQotCi0gIGZ1bmN0aW9uIENvbnRyb2xNZXNzYWdlUHJveHkocmVjZWl2
ZXIpIHsKLSAgICB0aGlzLnJlY2VpdmVyXyA9IHJlY2VpdmVyOwotICB9Ci0KLSAgQ29udHJvbE1l
c3NhZ2VQcm94eS5wcm90b3R5cGUucXVlcnlWZXJzaW9uID0gZnVuY3Rpb24oKSB7Ci0gICAgdmFy
IHJ1bk1lc3NhZ2VQYXJhbXMgPSBuZXcgbW9qby5pbnRlcmZhY2VDb250cm9sLlJ1bk1lc3NhZ2VQ
YXJhbXMoKTsKLSAgICBydW5NZXNzYWdlUGFyYW1zLmlucHV0ID0gbmV3IG1vam8uaW50ZXJmYWNl
Q29udHJvbC5SdW5JbnB1dCgpOwotICAgIHJ1bk1lc3NhZ2VQYXJhbXMuaW5wdXQucXVlcnlWZXJz
aW9uID0KLSAgICAgICAgbmV3IG1vam8uaW50ZXJmYWNlQ29udHJvbC5RdWVyeVZlcnNpb24oKTsK
LQotICAgIHJldHVybiBzZW5kUnVuTWVzc2FnZSh0aGlzLnJlY2VpdmVyXywgcnVuTWVzc2FnZVBh
cmFtcykudGhlbihmdW5jdGlvbigKLSAgICAgICAgcnVuUmVzcG9uc2VNZXNzYWdlUGFyYW1zKSB7
Ci0gICAgICByZXR1cm4gcnVuUmVzcG9uc2VNZXNzYWdlUGFyYW1zLm91dHB1dC5xdWVyeVZlcnNp
b25SZXN1bHQudmVyc2lvbjsKLSAgICB9KTsKLSAgfTsKLQotICBDb250cm9sTWVzc2FnZVByb3h5
LnByb3RvdHlwZS5yZXF1aXJlVmVyc2lvbiA9IGZ1bmN0aW9uKHZlcnNpb24pIHsKLSAgICB2YXIg
cnVuT3JDbG9zZVBpcGVJbnB1dCA9IG5ldyBtb2pvLmludGVyZmFjZUNvbnRyb2wuUnVuT3JDbG9z
ZVBpcGVJbnB1dCgpOwotICAgIHJ1bk9yQ2xvc2VQaXBlSW5wdXQucmVxdWlyZVZlcnNpb24gPQot
ICAgICAgICBuZXcgbW9qby5pbnRlcmZhY2VDb250cm9sLlJlcXVpcmVWZXJzaW9uKHsndmVyc2lv
bic6IHZlcnNpb259KTsKLSAgICB2YXIgbWVzc2FnZSA9IGNvbnN0cnVjdFJ1bk9yQ2xvc2VQaXBl
TWVzc2FnZShydW5PckNsb3NlUGlwZUlucHV0KTsKLSAgICB0aGlzLnJlY2VpdmVyXy5hY2NlcHQo
bWVzc2FnZSk7Ci0gIH07Ci0KLSAgaW50ZXJuYWwuQ29udHJvbE1lc3NhZ2VQcm94eSA9IENvbnRy
b2xNZXNzYWdlUHJveHk7Ci19KSgpOwotLy8gQ29weXJpZ2h0IDIwMTcgVGhlIENocm9taXVtIEF1
dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0vLyBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBp
cyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCi0vLyBmb3VuZCBp
biB0aGUgTElDRU5TRSBmaWxlLgotCi0oZnVuY3Rpb24oKSB7Ci0gIHZhciBpbnRlcm5hbCA9IG1v
am8uaW50ZXJuYWw7Ci0KLSAgZnVuY3Rpb24gSW50ZXJmYWNlRW5kcG9pbnRDbGllbnQoaW50ZXJm
YWNlRW5kcG9pbnRIYW5kbGUsIHJlY2VpdmVyLAotICAgICAgaW50ZXJmYWNlVmVyc2lvbikgewot
ICAgIHRoaXMuY29udHJvbGxlcl8gPSBudWxsOwotICAgIHRoaXMuZW5jb3VudGVyZWRFcnJvcl8g
PSBmYWxzZTsKLSAgICB0aGlzLmhhbmRsZV8gPSBpbnRlcmZhY2VFbmRwb2ludEhhbmRsZTsKLSAg
ICB0aGlzLmluY29taW5nUmVjZWl2ZXJfID0gcmVjZWl2ZXI7Ci0KLSAgICBpZiAoaW50ZXJmYWNl
VmVyc2lvbiAhPT0gdW5kZWZpbmVkKSB7Ci0gICAgICB0aGlzLmNvbnRyb2xNZXNzYWdlSGFuZGxl
cl8gPSBuZXcgaW50ZXJuYWwuQ29udHJvbE1lc3NhZ2VIYW5kbGVyKAotICAgICAgICAgIGludGVy
ZmFjZVZlcnNpb24pOwotICAgIH0gZWxzZSB7Ci0gICAgICB0aGlzLmNvbnRyb2xNZXNzYWdlUHJv
eHlfID0gbmV3IGludGVybmFsLkNvbnRyb2xNZXNzYWdlUHJveHkodGhpcyk7Ci0gICAgfQotCi0g
ICAgdGhpcy5uZXh0UmVxdWVzdElEXyA9IDA7Ci0gICAgdGhpcy5jb21wbGV0ZXJzXyA9IG5ldyBN
YXAoKTsKLSAgICB0aGlzLnBheWxvYWRWYWxpZGF0b3JzXyA9IFtdOwotICAgIHRoaXMuY29ubmVj
dGlvbkVycm9ySGFuZGxlcl8gPSBudWxsOwotCi0gICAgaWYgKGludGVyZmFjZUVuZHBvaW50SGFu
ZGxlLnBlbmRpbmdBc3NvY2lhdGlvbigpKSB7Ci0gICAgICBpbnRlcmZhY2VFbmRwb2ludEhhbmRs
ZS5zZXRBc3NvY2lhdGlvbkV2ZW50SGFuZGxlcigKLSAgICAgICAgICB0aGlzLm9uQXNzb2NpYXRp
b25FdmVudC5iaW5kKHRoaXMpKTsKLSAgICB9IGVsc2UgewotICAgICAgdGhpcy5pbml0Q29udHJv
bGxlcklmTmVjZXNzYXJ5XygpOwotICAgIH0KLSAgfQotCi0gIEludGVyZmFjZUVuZHBvaW50Q2xp
ZW50LnByb3RvdHlwZS5pbml0Q29udHJvbGxlcklmTmVjZXNzYXJ5XyA9IGZ1bmN0aW9uKCkgewot
ICAgIGlmICh0aGlzLmNvbnRyb2xsZXJfIHx8IHRoaXMuaGFuZGxlXy5wZW5kaW5nQXNzb2NpYXRp
b24oKSkgewotICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIHRoaXMuY29udHJvbGxlcl8gPSB0
aGlzLmhhbmRsZV8uZ3JvdXBDb250cm9sbGVyKCkuYXR0YWNoRW5kcG9pbnRDbGllbnQoCi0gICAg
ICAgIHRoaXMuaGFuZGxlXywgdGhpcyk7Ci0gIH07Ci0KLSAgSW50ZXJmYWNlRW5kcG9pbnRDbGll
bnQucHJvdG90eXBlLm9uQXNzb2NpYXRpb25FdmVudCA9IGZ1bmN0aW9uKAotICAgICAgYXNzb2Np
YXRpb25FdmVudCkgewotICAgIGlmIChhc3NvY2lhdGlvbkV2ZW50ID09PSBpbnRlcm5hbC5Bc3Nv
Y2lhdGlvbkV2ZW50LkFTU09DSUFURUQpIHsKLSAgICAgIHRoaXMuaW5pdENvbnRyb2xsZXJJZk5l
Y2Vzc2FyeV8oKTsKLSAgICB9IGVsc2UgaWYgKGFzc29jaWF0aW9uRXZlbnQgPT09Ci0gICAgICAg
ICAgaW50ZXJuYWwuQXNzb2NpYXRpb25FdmVudC5QRUVSX0NMT1NFRF9CRUZPUkVfQVNTT0NJQVRJ
T04pIHsKLSAgICAgIHNldFRpbWVvdXQodGhpcy5ub3RpZnlFcnJvci5iaW5kKHRoaXMsIHRoaXMu
aGFuZGxlXy5kaXNjb25uZWN0UmVhc29uKCkpLAotICAgICAgICAgICAgICAgICAwKTsKLSAgICB9
Ci0gIH07Ci0KLSAgSW50ZXJmYWNlRW5kcG9pbnRDbGllbnQucHJvdG90eXBlLnBhc3NIYW5kbGUg
PSBmdW5jdGlvbigpIHsKLSAgICBpZiAoIXRoaXMuaGFuZGxlXy5pc1ZhbGlkKCkpIHsKLSAgICAg
IHJldHVybiBuZXcgaW50ZXJuYWwuSW50ZXJmYWNlRW5kcG9pbnRIYW5kbGUoKTsKLSAgICB9Ci0K
LSAgICAvLyBVc2VkIHRvIGNsZWFyIHRoZSBwcmV2aW91c2x5IHNldCBjYWxsYmFjay4KLSAgICB0
aGlzLmhhbmRsZV8uc2V0QXNzb2NpYXRpb25FdmVudEhhbmRsZXIodW5kZWZpbmVkKTsKLQotICAg
IGlmICh0aGlzLmNvbnRyb2xsZXJfKSB7Ci0gICAgICB0aGlzLmNvbnRyb2xsZXJfID0gbnVsbDsK
LSAgICAgIHRoaXMuaGFuZGxlXy5ncm91cENvbnRyb2xsZXIoKS5kZXRhY2hFbmRwb2ludENsaWVu
dCh0aGlzLmhhbmRsZV8pOwotICAgIH0KLSAgICB2YXIgaGFuZGxlID0gdGhpcy5oYW5kbGVfOwot
ICAgIHRoaXMuaGFuZGxlXyA9IG51bGw7Ci0gICAgcmV0dXJuIGhhbmRsZTsKLSAgfTsKLQotICBJ
bnRlcmZhY2VFbmRwb2ludENsaWVudC5wcm90b3R5cGUuY2xvc2UgPSBmdW5jdGlvbihyZWFzb24p
IHsKLSAgICB2YXIgaGFuZGxlID0gdGhpcy5wYXNzSGFuZGxlKCk7Ci0gICAgaGFuZGxlLnJlc2V0
KHJlYXNvbik7Ci0gIH07Ci0KLSAgSW50ZXJmYWNlRW5kcG9pbnRDbGllbnQucHJvdG90eXBlLmFj
Y2VwdCA9IGZ1bmN0aW9uKG1lc3NhZ2UpIHsKLSAgICBpZiAobWVzc2FnZS5hc3NvY2lhdGVkRW5k
cG9pbnRIYW5kbGVzLmxlbmd0aCA+IDApIHsKLSAgICAgIG1lc3NhZ2Uuc2VyaWFsaXplQXNzb2Np
YXRlZEVuZHBvaW50SGFuZGxlcygKLSAgICAgICAgICB0aGlzLmhhbmRsZV8uZ3JvdXBDb250cm9s
bGVyKCkpOwotICAgIH0KLQotICAgIGlmICh0aGlzLmVuY291bnRlcmVkRXJyb3JfKSB7Ci0gICAg
ICByZXR1cm4gZmFsc2U7Ci0gICAgfQotCi0gICAgdGhpcy5pbml0Q29udHJvbGxlcklmTmVjZXNz
YXJ5XygpOwotICAgIHJldHVybiB0aGlzLmNvbnRyb2xsZXJfLnNlbmRNZXNzYWdlKG1lc3NhZ2Up
OwotICB9OwotCi0gIEludGVyZmFjZUVuZHBvaW50Q2xpZW50LnByb3RvdHlwZS5hY2NlcHRBbmRF
eHBlY3RSZXNwb25zZSA9IGZ1bmN0aW9uKAotICAgICAgbWVzc2FnZSkgewotICAgIGlmIChtZXNz
YWdlLmFzc29jaWF0ZWRFbmRwb2ludEhhbmRsZXMubGVuZ3RoID4gMCkgewotICAgICAgbWVzc2Fn
ZS5zZXJpYWxpemVBc3NvY2lhdGVkRW5kcG9pbnRIYW5kbGVzKAotICAgICAgICAgIHRoaXMuaGFu
ZGxlXy5ncm91cENvbnRyb2xsZXIoKSk7Ci0gICAgfQotCi0gICAgaWYgKHRoaXMuZW5jb3VudGVy
ZWRFcnJvcl8pIHsKLSAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdCgpOwotICAgIH0KLQotICAg
IHRoaXMuaW5pdENvbnRyb2xsZXJJZk5lY2Vzc2FyeV8oKTsKLQotICAgIC8vIFJlc2VydmUgMCBp
biBjYXNlIHdlIHdhbnQgaXQgdG8gY29udmV5IHNwZWNpYWwgbWVhbmluZyBpbiB0aGUgZnV0dXJl
LgotICAgIHZhciByZXF1ZXN0SUQgPSB0aGlzLm5leHRSZXF1ZXN0SURfKys7Ci0gICAgaWYgKHJl
cXVlc3RJRCA9PT0gMCkKLSAgICAgIHJlcXVlc3RJRCA9IHRoaXMubmV4dFJlcXVlc3RJRF8rKzsK
LQotICAgIG1lc3NhZ2Uuc2V0UmVxdWVzdElEKHJlcXVlc3RJRCk7Ci0gICAgdmFyIHJlc3VsdCA9
IHRoaXMuY29udHJvbGxlcl8uc2VuZE1lc3NhZ2UobWVzc2FnZSk7Ci0gICAgaWYgKCFyZXN1bHQp
Ci0gICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QoRXJyb3IoIkNvbm5lY3Rpb24gZXJyb3IiKSk7
Ci0KLSAgICB2YXIgY29tcGxldGVyID0ge307Ci0gICAgdGhpcy5jb21wbGV0ZXJzXy5zZXQocmVx
dWVzdElELCBjb21wbGV0ZXIpOwotICAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNv
bHZlLCByZWplY3QpIHsKLSAgICAgIGNvbXBsZXRlci5yZXNvbHZlID0gcmVzb2x2ZTsKLSAgICAg
IGNvbXBsZXRlci5yZWplY3QgPSByZWplY3Q7Ci0gICAgfSk7Ci0gIH07Ci0KLSAgSW50ZXJmYWNl
RW5kcG9pbnRDbGllbnQucHJvdG90eXBlLnNldFBheWxvYWRWYWxpZGF0b3JzID0gZnVuY3Rpb24o
Ci0gICAgICBwYXlsb2FkVmFsaWRhdG9ycykgewotICAgIHRoaXMucGF5bG9hZFZhbGlkYXRvcnNf
ID0gcGF5bG9hZFZhbGlkYXRvcnM7Ci0gIH07Ci0KLSAgSW50ZXJmYWNlRW5kcG9pbnRDbGllbnQu
cHJvdG90eXBlLnNldEluY29taW5nUmVjZWl2ZXIgPSBmdW5jdGlvbihyZWNlaXZlcikgewotICAg
IHRoaXMuaW5jb21pbmdSZWNlaXZlcl8gPSByZWNlaXZlcjsKLSAgfTsKLQotICBJbnRlcmZhY2VF
bmRwb2ludENsaWVudC5wcm90b3R5cGUuc2V0Q29ubmVjdGlvbkVycm9ySGFuZGxlciA9IGZ1bmN0
aW9uKAotICAgICAgaGFuZGxlcikgewotICAgIHRoaXMuY29ubmVjdGlvbkVycm9ySGFuZGxlcl8g
PSBoYW5kbGVyOwotICB9OwotCi0gIEludGVyZmFjZUVuZHBvaW50Q2xpZW50LnByb3RvdHlwZS5o
YW5kbGVJbmNvbWluZ01lc3NhZ2UgPSBmdW5jdGlvbihtZXNzYWdlLAotICAgICAgbWVzc2FnZVZh
bGlkYXRvcikgewotICAgIHZhciBub0Vycm9yID0gaW50ZXJuYWwudmFsaWRhdGlvbkVycm9yLk5P
TkU7Ci0gICAgdmFyIGVyciA9IG5vRXJyb3I7Ci0gICAgZm9yICh2YXIgaSA9IDA7IGVyciA9PT0g
bm9FcnJvciAmJiBpIDwgdGhpcy5wYXlsb2FkVmFsaWRhdG9yc18ubGVuZ3RoOyArK2kpCi0gICAg
ICBlcnIgPSB0aGlzLnBheWxvYWRWYWxpZGF0b3JzX1tpXShtZXNzYWdlVmFsaWRhdG9yKTsKLQot
ICAgIGlmIChlcnIgPT0gbm9FcnJvcikgewotICAgICAgcmV0dXJuIHRoaXMuaGFuZGxlVmFsaWRJ
bmNvbWluZ01lc3NhZ2VfKG1lc3NhZ2UpOwotICAgIH0gZWxzZSB7Ci0gICAgICBpbnRlcm5hbC5y
ZXBvcnRWYWxpZGF0aW9uRXJyb3IoZXJyKTsKLSAgICAgIHJldHVybiBmYWxzZTsKLSAgICB9Ci0g
IH07Ci0KLSAgSW50ZXJmYWNlRW5kcG9pbnRDbGllbnQucHJvdG90eXBlLmhhbmRsZVZhbGlkSW5j
b21pbmdNZXNzYWdlXyA9IGZ1bmN0aW9uKAotICAgICAgbWVzc2FnZSkgewotICAgIGlmIChpbnRl
cm5hbC5pc1Rlc3RpbmdNb2RlKCkpIHsKLSAgICAgIHJldHVybiB0cnVlOwotICAgIH0KLQotICAg
IGlmICh0aGlzLmVuY291bnRlcmVkRXJyb3JfKSB7Ci0gICAgICByZXR1cm4gZmFsc2U7Ci0gICAg
fQotCi0gICAgdmFyIG9rID0gZmFsc2U7Ci0KLSAgICBpZiAobWVzc2FnZS5leHBlY3RzUmVzcG9u
c2UoKSkgewotICAgICAgaWYgKGludGVybmFsLmlzSW50ZXJmYWNlQ29udHJvbE1lc3NhZ2UobWVz
c2FnZSkgJiYKLSAgICAgICAgICB0aGlzLmNvbnRyb2xNZXNzYWdlSGFuZGxlcl8pIHsKLSAgICAg
ICAgb2sgPSB0aGlzLmNvbnRyb2xNZXNzYWdlSGFuZGxlcl8uYWNjZXB0V2l0aFJlc3BvbmRlciht
ZXNzYWdlLCB0aGlzKTsKLSAgICAgIH0gZWxzZSBpZiAodGhpcy5pbmNvbWluZ1JlY2VpdmVyXykg
ewotICAgICAgICBvayA9IHRoaXMuaW5jb21pbmdSZWNlaXZlcl8uYWNjZXB0V2l0aFJlc3BvbmRl
cihtZXNzYWdlLCB0aGlzKTsKLSAgICAgIH0KLSAgICB9IGVsc2UgaWYgKG1lc3NhZ2UuaXNSZXNw
b25zZSgpKSB7Ci0gICAgICB2YXIgcmVhZGVyID0gbmV3IGludGVybmFsLk1lc3NhZ2VSZWFkZXIo
bWVzc2FnZSk7Ci0gICAgICB2YXIgcmVxdWVzdElEID0gcmVhZGVyLnJlcXVlc3RJRDsKLSAgICAg
IHZhciBjb21wbGV0ZXIgPSB0aGlzLmNvbXBsZXRlcnNfLmdldChyZXF1ZXN0SUQpOwotICAgICAg
aWYgKGNvbXBsZXRlcikgewotICAgICAgICB0aGlzLmNvbXBsZXRlcnNfLmRlbGV0ZShyZXF1ZXN0
SUQpOwotICAgICAgICBjb21wbGV0ZXIucmVzb2x2ZShtZXNzYWdlKTsKLSAgICAgICAgb2sgPSB0
cnVlOwotICAgICAgfSBlbHNlIHsKLSAgICAgICAgY29uc29sZS5sb2coIlVuZXhwZWN0ZWQgcmVz
cG9uc2Ugd2l0aCByZXF1ZXN0IElEOiAiICsgcmVxdWVzdElEKTsKLSAgICAgIH0KLSAgICB9IGVs
c2UgewotICAgICAgaWYgKGludGVybmFsLmlzSW50ZXJmYWNlQ29udHJvbE1lc3NhZ2UobWVzc2Fn
ZSkgJiYKLSAgICAgICAgICB0aGlzLmNvbnRyb2xNZXNzYWdlSGFuZGxlcl8pIHsKLSAgICAgICAg
b2sgPSB0aGlzLmNvbnRyb2xNZXNzYWdlSGFuZGxlcl8uYWNjZXB0KG1lc3NhZ2UpOwotICAgICAg
fSBlbHNlIGlmICh0aGlzLmluY29taW5nUmVjZWl2ZXJfKSB7Ci0gICAgICAgIG9rID0gdGhpcy5p
bmNvbWluZ1JlY2VpdmVyXy5hY2NlcHQobWVzc2FnZSk7Ci0gICAgICB9Ci0gICAgfQotICAgIHJl
dHVybiBvazsKLSAgfTsKLQotICBJbnRlcmZhY2VFbmRwb2ludENsaWVudC5wcm90b3R5cGUubm90
aWZ5RXJyb3IgPSBmdW5jdGlvbihyZWFzb24pIHsKLSAgICBpZiAodGhpcy5lbmNvdW50ZXJlZEVy
cm9yXykgewotICAgICAgcmV0dXJuOwotICAgIH0KLSAgICB0aGlzLmVuY291bnRlcmVkRXJyb3Jf
ID0gdHJ1ZTsKLQotICAgIHRoaXMuY29tcGxldGVyc18uZm9yRWFjaChmdW5jdGlvbih2YWx1ZSkg
ewotICAgICAgdmFsdWUucmVqZWN0KCk7Ci0gICAgfSk7Ci0gICAgdGhpcy5jb21wbGV0ZXJzXy5j
bGVhcigpOyAgLy8gRHJvcCBhbnkgcmVzcG9uZGVycy4KLQotICAgIGlmICh0aGlzLmNvbm5lY3Rp
b25FcnJvckhhbmRsZXJfKSB7Ci0gICAgICB0aGlzLmNvbm5lY3Rpb25FcnJvckhhbmRsZXJfKHJl
YXNvbik7Ci0gICAgfQotICB9OwotCi0gIEludGVyZmFjZUVuZHBvaW50Q2xpZW50LnByb3RvdHlw
ZS5xdWVyeVZlcnNpb24gPSBmdW5jdGlvbigpIHsKLSAgICByZXR1cm4gdGhpcy5jb250cm9sTWVz
c2FnZVByb3h5Xy5xdWVyeVZlcnNpb24oKTsKLSAgfTsKLQotICBJbnRlcmZhY2VFbmRwb2ludENs
aWVudC5wcm90b3R5cGUucmVxdWlyZVZlcnNpb24gPSBmdW5jdGlvbih2ZXJzaW9uKSB7Ci0gICAg
dGhpcy5jb250cm9sTWVzc2FnZVByb3h5Xy5yZXF1aXJlVmVyc2lvbih2ZXJzaW9uKTsKLSAgfTsK
LQotICBJbnRlcmZhY2VFbmRwb2ludENsaWVudC5wcm90b3R5cGUuZ2V0RW5jb3VudGVyZWRFcnJv
ciA9IGZ1bmN0aW9uKCkgewotICAgIHJldHVybiB0aGlzLmVuY291bnRlcmVkRXJyb3JfOwotICB9
OwotCi0gIGludGVybmFsLkludGVyZmFjZUVuZHBvaW50Q2xpZW50ID0gSW50ZXJmYWNlRW5kcG9p
bnRDbGllbnQ7Ci19KSgpOwotLy8gQ29weXJpZ2h0IDIwMTcgVGhlIENocm9taXVtIEF1dGhvcnMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0vLyBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zl
cm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCi0vLyBmb3VuZCBpbiB0aGUg
TElDRU5TRSBmaWxlLgotCi0oZnVuY3Rpb24oKSB7Ci0gIHZhciBpbnRlcm5hbCA9IG1vam8uaW50
ZXJuYWw7Ci0KLSAgdmFyIEFzc29jaWF0aW9uRXZlbnQgPSB7Ci0gICAgLy8gVGhlIGludGVyZmFj
ZSBoYXMgYmVlbiBhc3NvY2lhdGVkIHdpdGggYSBtZXNzYWdlIHBpcGUuCi0gICAgQVNTT0NJQVRF
RDogJ2Fzc29jaWF0ZWQnLAotICAgIC8vIFRoZSBwZWVyIG9mIHRoaXMgb2JqZWN0IGhhcyBiZWVu
IGNsb3NlZCBiZWZvcmUgYXNzb2NpYXRpb24uCi0gICAgUEVFUl9DTE9TRURfQkVGT1JFX0FTU09D
SUFUSU9OOiAncGVlcl9jbG9zZWRfYmVmb3JlX2Fzc29jaWF0aW9uJwotICB9OwotCi0gIGZ1bmN0
aW9uIFN0YXRlKGludGVyZmFjZUlkLCBhc3NvY2lhdGVkR3JvdXBDb250cm9sbGVyKSB7Ci0gICAg
aWYgKGludGVyZmFjZUlkID09PSB1bmRlZmluZWQpIHsKLSAgICAgIGludGVyZmFjZUlkID0gaW50
ZXJuYWwua0ludmFsaWRJbnRlcmZhY2VJZDsKLSAgICB9Ci0KLSAgICB0aGlzLmludGVyZmFjZUlk
ID0gaW50ZXJmYWNlSWQ7Ci0gICAgdGhpcy5hc3NvY2lhdGVkR3JvdXBDb250cm9sbGVyID0gYXNz
b2NpYXRlZEdyb3VwQ29udHJvbGxlcjsKLSAgICB0aGlzLnBlbmRpbmdBc3NvY2lhdGlvbiA9IGZh
bHNlOwotICAgIHRoaXMuZGlzY29ubmVjdFJlYXNvbiA9IG51bGw7Ci0gICAgdGhpcy5wZWVyU3Rh
dGVfID0gbnVsbDsKLSAgICB0aGlzLmFzc29jaWF0aW9uRXZlbnRIYW5kbGVyXyA9IG51bGw7Ci0g
IH0KLQotICBTdGF0ZS5wcm90b3R5cGUuaW5pdFBlbmRpbmdTdGF0ZSA9IGZ1bmN0aW9uKHBlZXIp
IHsKLSAgICB0aGlzLnBlbmRpbmdBc3NvY2lhdGlvbiA9IHRydWU7Ci0gICAgdGhpcy5wZWVyU3Rh
dGVfID0gcGVlcjsKLSAgfTsKLQotICBTdGF0ZS5wcm90b3R5cGUuaXNWYWxpZCA9IGZ1bmN0aW9u
KCkgewotICAgIHJldHVybiB0aGlzLnBlbmRpbmdBc3NvY2lhdGlvbiB8fAotICAgICAgICBpbnRl
cm5hbC5pc1ZhbGlkSW50ZXJmYWNlSWQodGhpcy5pbnRlcmZhY2VJZCk7Ci0gIH07Ci0KLSAgU3Rh
dGUucHJvdG90eXBlLmNsb3NlID0gZnVuY3Rpb24oZGlzY29ubmVjdFJlYXNvbikgewotICAgIHZh
ciBjYWNoZWRHcm91cENvbnRyb2xsZXI7Ci0gICAgdmFyIGNhY2hlZFBlZXJTdGF0ZTsKLSAgICB2
YXIgY2FjaGVkSWQgPSBpbnRlcm5hbC5rSW52YWxpZEludGVyZmFjZUlkOwotCi0gICAgaWYgKCF0
aGlzLnBlbmRpbmdBc3NvY2lhdGlvbikgewotICAgICAgaWYgKGludGVybmFsLmlzVmFsaWRJbnRl
cmZhY2VJZCh0aGlzLmludGVyZmFjZUlkKSkgewotICAgICAgICBjYWNoZWRHcm91cENvbnRyb2xs
ZXIgPSB0aGlzLmFzc29jaWF0ZWRHcm91cENvbnRyb2xsZXI7Ci0gICAgICAgIHRoaXMuYXNzb2Np
YXRlZEdyb3VwQ29udHJvbGxlciA9IG51bGw7Ci0gICAgICAgIGNhY2hlZElkID0gdGhpcy5pbnRl
cmZhY2VJZDsKLSAgICAgICAgdGhpcy5pbnRlcmZhY2VJZCA9IGludGVybmFsLmtJbnZhbGlkSW50
ZXJmYWNlSWQ7Ci0gICAgICB9Ci0gICAgfSBlbHNlIHsKLSAgICAgIHRoaXMucGVuZGluZ0Fzc29j
aWF0aW9uID0gZmFsc2U7Ci0gICAgICBjYWNoZWRQZWVyU3RhdGUgPSB0aGlzLnBlZXJTdGF0ZV87
Ci0gICAgICB0aGlzLnBlZXJTdGF0ZV8gPSBudWxsOwotICAgIH0KLQotICAgIGlmIChjYWNoZWRH
cm91cENvbnRyb2xsZXIpIHsKLSAgICAgIGNhY2hlZEdyb3VwQ29udHJvbGxlci5jbG9zZUVuZHBv
aW50SGFuZGxlKGNhY2hlZElkLAotICAgICAgICAgIGRpc2Nvbm5lY3RSZWFzb24pOwotICAgIH0g
ZWxzZSBpZiAoY2FjaGVkUGVlclN0YXRlKSB7Ci0gICAgICBjYWNoZWRQZWVyU3RhdGUub25QZWVy
Q2xvc2VkQmVmb3JlQXNzb2NpYXRpb24oZGlzY29ubmVjdFJlYXNvbik7Ci0gICAgfQotICB9Owot
Ci0gIFN0YXRlLnByb3RvdHlwZS5ydW5Bc3NvY2lhdGlvbkV2ZW50SGFuZGxlciA9IGZ1bmN0aW9u
KGFzc29jaWF0aW9uRXZlbnQpIHsKLSAgICBpZiAodGhpcy5hc3NvY2lhdGlvbkV2ZW50SGFuZGxl
cl8pIHsKLSAgICAgIHZhciBoYW5kbGVyID0gdGhpcy5hc3NvY2lhdGlvbkV2ZW50SGFuZGxlcl87
Ci0gICAgICB0aGlzLmFzc29jaWF0aW9uRXZlbnRIYW5kbGVyXyA9IG51bGw7Ci0gICAgICBoYW5k
bGVyKGFzc29jaWF0aW9uRXZlbnQpOwotICAgIH0KLSAgfTsKLQotICBTdGF0ZS5wcm90b3R5cGUu
c2V0QXNzb2NpYXRpb25FdmVudEhhbmRsZXIgPSBmdW5jdGlvbihoYW5kbGVyKSB7Ci0gICAgaWYg
KCF0aGlzLnBlbmRpbmdBc3NvY2lhdGlvbiAmJgotICAgICAgICAhaW50ZXJuYWwuaXNWYWxpZElu
dGVyZmFjZUlkKHRoaXMuaW50ZXJmYWNlSWQpKSB7Ci0gICAgICByZXR1cm47Ci0gICAgfQotCi0g
ICAgaWYgKCFoYW5kbGVyKSB7Ci0gICAgICB0aGlzLmFzc29jaWF0aW9uRXZlbnRIYW5kbGVyXyA9
IG51bGw7Ci0gICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgdGhpcy5hc3NvY2lhdGlvbkV2ZW50
SGFuZGxlcl8gPSBoYW5kbGVyOwotICAgIGlmICghdGhpcy5wZW5kaW5nQXNzb2NpYXRpb24pIHsK
LSAgICAgIHNldFRpbWVvdXQodGhpcy5ydW5Bc3NvY2lhdGlvbkV2ZW50SGFuZGxlci5iaW5kKHRo
aXMsCi0gICAgICAgICAgQXNzb2NpYXRpb25FdmVudC5BU1NPQ0lBVEVEKSwgMCk7Ci0gICAgfSBl
bHNlIGlmICghdGhpcy5wZWVyU3RhdGVfKSB7Ci0gICAgICBzZXRUaW1lb3V0KHRoaXMucnVuQXNz
b2NpYXRpb25FdmVudEhhbmRsZXIuYmluZCh0aGlzLAotICAgICAgICAgIEFzc29jaWF0aW9uRXZl
bnQuUEVFUl9DTE9TRURfQkVGT1JFX0FTU09DSUFUSU9OKSwgMCk7Ci0gICAgfQotICB9OwotCi0g
IFN0YXRlLnByb3RvdHlwZS5ub3RpZnlBc3NvY2lhdGlvbiA9IGZ1bmN0aW9uKGludGVyZmFjZUlk
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwZWVyR3Jv
dXBDb250cm9sbGVyKSB7Ci0gICAgdmFyIGNhY2hlZFBlZXJTdGF0ZSA9IHRoaXMucGVlclN0YXRl
XzsKLSAgICB0aGlzLnBlZXJTdGF0ZV8gPSBudWxsOwotCi0gICAgdGhpcy5wZW5kaW5nQXNzb2Np
YXRpb24gPSBmYWxzZTsKLQotICAgIGlmIChjYWNoZWRQZWVyU3RhdGUpIHsKLSAgICAgIGNhY2hl
ZFBlZXJTdGF0ZS5vbkFzc29jaWF0ZWQoaW50ZXJmYWNlSWQsIHBlZXJHcm91cENvbnRyb2xsZXIp
OwotICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfQotICAgIHJldHVybiBmYWxzZTsKLSAgfTsKLQot
ICBTdGF0ZS5wcm90b3R5cGUub25Bc3NvY2lhdGVkID0gZnVuY3Rpb24oaW50ZXJmYWNlSWQsCi0g
ICAgICBhc3NvY2lhdGVkR3JvdXBDb250cm9sbGVyKSB7Ci0gICAgaWYgKCF0aGlzLnBlbmRpbmdB
c3NvY2lhdGlvbikgewotICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIHRoaXMucGVuZGluZ0Fz
c29jaWF0aW9uID0gZmFsc2U7Ci0gICAgdGhpcy5wZWVyU3RhdGVfID0gbnVsbDsKLSAgICB0aGlz
LmludGVyZmFjZUlkID0gaW50ZXJmYWNlSWQ7Ci0gICAgdGhpcy5hc3NvY2lhdGVkR3JvdXBDb250
cm9sbGVyID0gYXNzb2NpYXRlZEdyb3VwQ29udHJvbGxlcjsKLSAgICB0aGlzLnJ1bkFzc29jaWF0
aW9uRXZlbnRIYW5kbGVyKEFzc29jaWF0aW9uRXZlbnQuQVNTT0NJQVRFRCk7Ci0gIH07Ci0KLSAg
U3RhdGUucHJvdG90eXBlLm9uUGVlckNsb3NlZEJlZm9yZUFzc29jaWF0aW9uID0gZnVuY3Rpb24o
ZGlzY29ubmVjdFJlYXNvbikgewotICAgIGlmICghdGhpcy5wZW5kaW5nQXNzb2NpYXRpb24pIHsK
LSAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICB0aGlzLnBlZXJTdGF0ZV8gPSBudWxsOwotICAg
IHRoaXMuZGlzY29ubmVjdFJlYXNvbiA9IGRpc2Nvbm5lY3RSZWFzb247Ci0KLSAgICB0aGlzLnJ1
bkFzc29jaWF0aW9uRXZlbnRIYW5kbGVyKAotICAgICAgICBBc3NvY2lhdGlvbkV2ZW50LlBFRVJf
Q0xPU0VEX0JFRk9SRV9BU1NPQ0lBVElPTik7Ci0gIH07Ci0KLSAgZnVuY3Rpb24gY3JlYXRlUGFp
clBlbmRpbmdBc3NvY2lhdGlvbigpIHsKLSAgICB2YXIgaGFuZGxlMCA9IG5ldyBJbnRlcmZhY2VF
bmRwb2ludEhhbmRsZSgpOwotICAgIHZhciBoYW5kbGUxID0gbmV3IEludGVyZmFjZUVuZHBvaW50
SGFuZGxlKCk7Ci0gICAgaGFuZGxlMC5zdGF0ZV8uaW5pdFBlbmRpbmdTdGF0ZShoYW5kbGUxLnN0
YXRlXyk7Ci0gICAgaGFuZGxlMS5zdGF0ZV8uaW5pdFBlbmRpbmdTdGF0ZShoYW5kbGUwLnN0YXRl
Xyk7Ci0gICAgcmV0dXJuIHtoYW5kbGUwOiBoYW5kbGUwLCBoYW5kbGUxOiBoYW5kbGUxfTsKLSAg
fQotCi0gIGZ1bmN0aW9uIEludGVyZmFjZUVuZHBvaW50SGFuZGxlKGludGVyZmFjZUlkLCBhc3Nv
Y2lhdGVkR3JvdXBDb250cm9sbGVyKSB7Ci0gICAgdGhpcy5zdGF0ZV8gPSBuZXcgU3RhdGUoaW50
ZXJmYWNlSWQsIGFzc29jaWF0ZWRHcm91cENvbnRyb2xsZXIpOwotICB9Ci0KLSAgSW50ZXJmYWNl
RW5kcG9pbnRIYW5kbGUucHJvdG90eXBlLmlzVmFsaWQgPSBmdW5jdGlvbigpIHsKLSAgICByZXR1
cm4gdGhpcy5zdGF0ZV8uaXNWYWxpZCgpOwotICB9OwotCi0gIEludGVyZmFjZUVuZHBvaW50SGFu
ZGxlLnByb3RvdHlwZS5wZW5kaW5nQXNzb2NpYXRpb24gPSBmdW5jdGlvbigpIHsKLSAgICByZXR1
cm4gdGhpcy5zdGF0ZV8ucGVuZGluZ0Fzc29jaWF0aW9uOwotICB9OwotCi0gIEludGVyZmFjZUVu
ZHBvaW50SGFuZGxlLnByb3RvdHlwZS5pZCA9IGZ1bmN0aW9uKCkgewotICAgIHJldHVybiB0aGlz
LnN0YXRlXy5pbnRlcmZhY2VJZDsKLSAgfTsKLQotICBJbnRlcmZhY2VFbmRwb2ludEhhbmRsZS5w
cm90b3R5cGUuZ3JvdXBDb250cm9sbGVyID0gZnVuY3Rpb24oKSB7Ci0gICAgcmV0dXJuIHRoaXMu
c3RhdGVfLmFzc29jaWF0ZWRHcm91cENvbnRyb2xsZXI7Ci0gIH07Ci0KLSAgSW50ZXJmYWNlRW5k
cG9pbnRIYW5kbGUucHJvdG90eXBlLmRpc2Nvbm5lY3RSZWFzb24gPSBmdW5jdGlvbigpIHsKLSAg
ICByZXR1cm4gdGhpcy5zdGF0ZV8uZGlzY29ubmVjdFJlYXNvbjsKLSAgfTsKLQotICBJbnRlcmZh
Y2VFbmRwb2ludEhhbmRsZS5wcm90b3R5cGUuc2V0QXNzb2NpYXRpb25FdmVudEhhbmRsZXIgPSBm
dW5jdGlvbigKLSAgICAgIGhhbmRsZXIpIHsKLSAgICB0aGlzLnN0YXRlXy5zZXRBc3NvY2lhdGlv
bkV2ZW50SGFuZGxlcihoYW5kbGVyKTsKLSAgfTsKLQotICBJbnRlcmZhY2VFbmRwb2ludEhhbmRs
ZS5wcm90b3R5cGUubm90aWZ5QXNzb2NpYXRpb24gPSBmdW5jdGlvbihpbnRlcmZhY2VJZCwKLSAg
ICAgIHBlZXJHcm91cENvbnRyb2xsZXIpIHsKLSAgICByZXR1cm4gdGhpcy5zdGF0ZV8ubm90aWZ5
QXNzb2NpYXRpb24oaW50ZXJmYWNlSWQsIHBlZXJHcm91cENvbnRyb2xsZXIpOwotICB9OwotCi0g
IEludGVyZmFjZUVuZHBvaW50SGFuZGxlLnByb3RvdHlwZS5yZXNldCA9IGZ1bmN0aW9uKHJlYXNv
bikgewotICAgIHRoaXMuc3RhdGVfLmNsb3NlKHJlYXNvbik7Ci0gICAgdGhpcy5zdGF0ZV8gPSBu
ZXcgU3RhdGUoKTsKLSAgfTsKLQotICBpbnRlcm5hbC5Bc3NvY2lhdGlvbkV2ZW50ID0gQXNzb2Np
YXRpb25FdmVudDsKLSAgaW50ZXJuYWwuSW50ZXJmYWNlRW5kcG9pbnRIYW5kbGUgPSBJbnRlcmZh
Y2VFbmRwb2ludEhhbmRsZTsKLSAgaW50ZXJuYWwuY3JlYXRlUGFpclBlbmRpbmdBc3NvY2lhdGlv
biA9IGNyZWF0ZVBhaXJQZW5kaW5nQXNzb2NpYXRpb247Ci19KSgpOwotLy8gQ29weXJpZ2h0IDIw
MTcgVGhlIENocm9taXVtIEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0vLyBVc2Ugb2Yg
dGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlIHRoYXQg
Y2FuIGJlCi0vLyBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgotCi0oZnVuY3Rpb24oKSB7Ci0g
IHZhciBpbnRlcm5hbCA9IG1vam8uaW50ZXJuYWw7Ci0KLSAgZnVuY3Rpb24gdmFsaWRhdGVDb250
cm9sUmVxdWVzdFdpdGhvdXRSZXNwb25zZShtZXNzYWdlKSB7Ci0gICAgdmFyIG1lc3NhZ2VWYWxp
ZGF0b3IgPSBuZXcgaW50ZXJuYWwuVmFsaWRhdG9yKG1lc3NhZ2UpOwotICAgIHZhciBlcnJvciA9
IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVNZXNzYWdlSXNSZXF1ZXN0V2l0aG91dFJlc3BvbnNl
KCk7Ci0gICAgaWYgKGVycm9yICE9IGludGVybmFsLnZhbGlkYXRpb25FcnJvci5OT05FKSB7Ci0g
ICAgICB0aHJvdyBlcnJvcjsKLSAgICB9Ci0KLSAgICBpZiAobWVzc2FnZS5nZXROYW1lKCkgIT0g
bW9qby5waXBlQ29udHJvbC5rUnVuT3JDbG9zZVBpcGVNZXNzYWdlSWQpIHsKLSAgICAgIHRocm93
IG5ldyBFcnJvcigiQ29udHJvbCBtZXNzYWdlIG5hbWUgaXMgbm90IGtSdW5PckNsb3NlUGlwZU1l
c3NhZ2VJZCIpOwotICAgIH0KLQotICAgIC8vIFZhbGlkYXRlIHBheWxvYWQuCi0gICAgZXJyb3Ig
PSBtb2pvLnBpcGVDb250cm9sLlJ1bk9yQ2xvc2VQaXBlTWVzc2FnZVBhcmFtcy52YWxpZGF0ZSgK
LSAgICAgICAgbWVzc2FnZVZhbGlkYXRvciwgbWVzc2FnZS5nZXRIZWFkZXJOdW1CeXRlcygpKTsK
LSAgICBpZiAoZXJyb3IgIT0gaW50ZXJuYWwudmFsaWRhdGlvbkVycm9yLk5PTkUpIHsKLSAgICAg
IHRocm93IGVycm9yOwotICAgIH0KLSAgfQotCi0gIGZ1bmN0aW9uIHJ1bk9yQ2xvc2VQaXBlKG1l
c3NhZ2UsIGRlbGVnYXRlKSB7Ci0gICAgdmFyIHJlYWRlciA9IG5ldyBpbnRlcm5hbC5NZXNzYWdl
UmVhZGVyKG1lc3NhZ2UpOwotICAgIHZhciBydW5PckNsb3NlUGlwZU1lc3NhZ2VQYXJhbXMgPSBy
ZWFkZXIuZGVjb2RlU3RydWN0KAotICAgICAgICBtb2pvLnBpcGVDb250cm9sLlJ1bk9yQ2xvc2VQ
aXBlTWVzc2FnZVBhcmFtcyk7Ci0gICAgdmFyIGV2ZW50ID0gcnVuT3JDbG9zZVBpcGVNZXNzYWdl
UGFyYW1zLmlucHV0Ci0gICAgICAgIC5wZWVyQXNzb2NpYXRlZEVuZHBvaW50Q2xvc2VkRXZlbnQ7
Ci0gICAgcmV0dXJuIGRlbGVnYXRlLm9uUGVlckFzc29jaWF0ZWRFbmRwb2ludENsb3NlZChldmVu
dC5pZCwKLSAgICAgICAgZXZlbnQuZGlzY29ubmVjdFJlYXNvbik7Ci0gIH0KLQotICBmdW5jdGlv
biBpc1BpcGVDb250cm9sTWVzc2FnZShtZXNzYWdlKSB7Ci0gICAgcmV0dXJuICFpbnRlcm5hbC5p
c1ZhbGlkSW50ZXJmYWNlSWQobWVzc2FnZS5nZXRJbnRlcmZhY2VJZCgpKTsKLSAgfQotCi0gIGZ1
bmN0aW9uIFBpcGVDb250cm9sTWVzc2FnZUhhbmRsZXIoZGVsZWdhdGUpIHsKLSAgICB0aGlzLmRl
bGVnYXRlXyA9IGRlbGVnYXRlOwotICB9Ci0KLSAgUGlwZUNvbnRyb2xNZXNzYWdlSGFuZGxlci5w
cm90b3R5cGUuYWNjZXB0ID0gZnVuY3Rpb24obWVzc2FnZSkgewotICAgIHZhbGlkYXRlQ29udHJv
bFJlcXVlc3RXaXRob3V0UmVzcG9uc2UobWVzc2FnZSk7Ci0gICAgcmV0dXJuIHJ1bk9yQ2xvc2VQ
aXBlKG1lc3NhZ2UsIHRoaXMuZGVsZWdhdGVfKTsKLSAgfTsKLQotICBpbnRlcm5hbC5QaXBlQ29u
dHJvbE1lc3NhZ2VIYW5kbGVyID0gUGlwZUNvbnRyb2xNZXNzYWdlSGFuZGxlcjsKLSAgaW50ZXJu
YWwuaXNQaXBlQ29udHJvbE1lc3NhZ2UgPSBpc1BpcGVDb250cm9sTWVzc2FnZTsKLX0pKCk7Ci0v
LyBDb3B5cmlnaHQgMjAxNyBUaGUgQ2hyb21pdW0gQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KLS8vIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxl
IGxpY2Vuc2UgdGhhdCBjYW4gYmUKLS8vIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCi0KLShm
dW5jdGlvbigpIHsKLSAgdmFyIGludGVybmFsID0gbW9qby5pbnRlcm5hbDsKLQotICBmdW5jdGlv
biBjb25zdHJ1Y3RSdW5PckNsb3NlUGlwZU1lc3NhZ2UocnVuT3JDbG9zZVBpcGVJbnB1dCkgewot
ICAgIHZhciBydW5PckNsb3NlUGlwZU1lc3NhZ2VQYXJhbXMgPSBuZXcKLSAgICAgICAgbW9qby5w
aXBlQ29udHJvbC5SdW5PckNsb3NlUGlwZU1lc3NhZ2VQYXJhbXMoKTsKLSAgICBydW5PckNsb3Nl
UGlwZU1lc3NhZ2VQYXJhbXMuaW5wdXQgPSBydW5PckNsb3NlUGlwZUlucHV0OwotCi0gICAgdmFy
IG1lc3NhZ2VOYW1lID0gbW9qby5waXBlQ29udHJvbC5rUnVuT3JDbG9zZVBpcGVNZXNzYWdlSWQ7
Ci0gICAgdmFyIHBheWxvYWRTaXplID0KLSAgICAgICAgbW9qby5waXBlQ29udHJvbC5SdW5PckNs
b3NlUGlwZU1lc3NhZ2VQYXJhbXMuZW5jb2RlZFNpemU7Ci0KLSAgICB2YXIgYnVpbGRlciA9IG5l
dyBpbnRlcm5hbC5NZXNzYWdlVjBCdWlsZGVyKG1lc3NhZ2VOYW1lLCBwYXlsb2FkU2l6ZSk7Ci0g
ICAgYnVpbGRlci5lbmNvZGVTdHJ1Y3QobW9qby5waXBlQ29udHJvbC5SdW5PckNsb3NlUGlwZU1l
c3NhZ2VQYXJhbXMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgcnVuT3JDbG9zZVBpcGVNZXNz
YWdlUGFyYW1zKTsKLSAgICB2YXIgbWVzc2FnZSA9IGJ1aWxkZXIuZmluaXNoKCk7Ci0gICAgbWVz
c2FnZS5zZXRJbnRlcmZhY2VJZChpbnRlcm5hbC5rSW52YWxpZEludGVyZmFjZUlkKTsKLSAgICBy
ZXR1cm4gbWVzc2FnZTsKLSAgfQotCi0gIGZ1bmN0aW9uIFBpcGVDb250cm9sTWVzc2FnZVByb3h5
KHJlY2VpdmVyKSB7Ci0gICAgdGhpcy5yZWNlaXZlcl8gPSByZWNlaXZlcjsKLSAgfQotCi0gIFBp
cGVDb250cm9sTWVzc2FnZVByb3h5LnByb3RvdHlwZS5ub3RpZnlQZWVyRW5kcG9pbnRDbG9zZWQg
PSBmdW5jdGlvbigKLSAgICAgIGludGVyZmFjZUlkLCByZWFzb24pIHsKLSAgICB2YXIgbWVzc2Fn
ZSA9IHRoaXMuY29uc3RydWN0UGVlckVuZHBvaW50Q2xvc2VkTWVzc2FnZShpbnRlcmZhY2VJZCwg
cmVhc29uKTsKLSAgICB0aGlzLnJlY2VpdmVyXy5hY2NlcHQobWVzc2FnZSk7Ci0gIH07Ci0KLSAg
UGlwZUNvbnRyb2xNZXNzYWdlUHJveHkucHJvdG90eXBlLmNvbnN0cnVjdFBlZXJFbmRwb2ludENs
b3NlZE1lc3NhZ2UgPQotICAgICAgZnVuY3Rpb24oaW50ZXJmYWNlSWQsIHJlYXNvbikgewotICAg
IHZhciBldmVudCA9IG5ldyBtb2pvLnBpcGVDb250cm9sLlBlZXJBc3NvY2lhdGVkRW5kcG9pbnRD
bG9zZWRFdmVudCgpOwotICAgIGV2ZW50LmlkID0gaW50ZXJmYWNlSWQ7Ci0gICAgaWYgKHJlYXNv
bikgewotICAgICAgZXZlbnQuZGlzY29ubmVjdFJlYXNvbiA9IG5ldyBtb2pvLnBpcGVDb250cm9s
LkRpc2Nvbm5lY3RSZWFzb24oewotICAgICAgICAgIGN1c3RvbVJlYXNvbjogcmVhc29uLmN1c3Rv
bVJlYXNvbiwKLSAgICAgICAgICBkZXNjcmlwdGlvbjogcmVhc29uLmRlc2NyaXB0aW9ufSk7Ci0g
ICAgfQotICAgIHZhciBydW5PckNsb3NlUGlwZUlucHV0ID0gbmV3IG1vam8ucGlwZUNvbnRyb2wu
UnVuT3JDbG9zZVBpcGVJbnB1dCgpOwotICAgIHJ1bk9yQ2xvc2VQaXBlSW5wdXQucGVlckFzc29j
aWF0ZWRFbmRwb2ludENsb3NlZEV2ZW50ID0gZXZlbnQ7Ci0gICAgcmV0dXJuIGNvbnN0cnVjdFJ1
bk9yQ2xvc2VQaXBlTWVzc2FnZShydW5PckNsb3NlUGlwZUlucHV0KTsKLSAgfTsKLQotICBpbnRl
cm5hbC5QaXBlQ29udHJvbE1lc3NhZ2VQcm94eSA9IFBpcGVDb250cm9sTWVzc2FnZVByb3h5Owot
fSkoKTsKLS8vIENvcHlyaWdodCAyMDE0IFRoZSBDaHJvbWl1bSBBdXRob3JzLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgotLy8gVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBC
U0Qtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQotLy8gZm91bmQgaW4gdGhlIExJQ0VOU0UgZmls
ZS4KLQotKGZ1bmN0aW9uKCkgewotICB2YXIgaW50ZXJuYWwgPSBtb2pvLmludGVybmFsOwotCi0g
IC8qKgotICAgKiBUaGUgc3RhdGUgb2YgfGVuZHBvaW50fC4gSWYgYm90aCB0aGUgZW5kcG9pbnQg
YW5kIGl0cyBwZWVyIGhhdmUgYmVlbgotICAgKiBjbG9zZWQsIHJlbW92ZXMgaXQgZnJvbSB8ZW5k
cG9pbnRzX3wuCi0gICAqIEBlbnVtIHtzdHJpbmd9Ci0gICAqLwotICB2YXIgRW5kcG9pbnRTdGF0
ZVVwZGF0ZVR5cGUgPSB7Ci0gICAgRU5EUE9JTlRfQ0xPU0VEOiAnZW5kcG9pbnRfY2xvc2VkJywK
LSAgICBQRUVSX0VORFBPSU5UX0NMT1NFRDogJ3BlZXJfZW5kcG9pbnRfY2xvc2VkJwotICB9Owot
Ci0gIGZ1bmN0aW9uIGNoZWNrKGNvbmRpdGlvbiwgb3V0cHV0KSB7Ci0gICAgaWYgKCFjb25kaXRp
b24pIHsKLSAgICAgIC8vIHRlc3RoYXJuZXNzLmpzIGRvZXMgbm90IHJldGhyb3cgZXJyb3JzIHNv
IHRoZSBlcnJvciBzdGFjayBuZWVkcyB0byBiZQotICAgICAgLy8gaW5jbHVkZWQgYXMgYSBzdHJp
bmcgaW4gdGhlIGVycm9yIHdlIHRocm93IGZvciBkZWJ1Z2dpbmcgbGF5b3V0IHRlc3RzLgotICAg
ICAgdGhyb3cgbmV3IEVycm9yKChuZXcgRXJyb3IoKSkuc3RhY2spOwotICAgIH0KLSAgfQotCi0g
IGZ1bmN0aW9uIEludGVyZmFjZUVuZHBvaW50KHJvdXRlciwgaW50ZXJmYWNlSWQpIHsKLSAgICB0
aGlzLnJvdXRlcl8gPSByb3V0ZXI7Ci0gICAgdGhpcy5pZCA9IGludGVyZmFjZUlkOwotICAgIHRo
aXMuY2xvc2VkID0gZmFsc2U7Ci0gICAgdGhpcy5wZWVyQ2xvc2VkID0gZmFsc2U7Ci0gICAgdGhp
cy5oYW5kbGVDcmVhdGVkID0gZmFsc2U7Ci0gICAgdGhpcy5kaXNjb25uZWN0UmVhc29uID0gbnVs
bDsKLSAgICB0aGlzLmNsaWVudCA9IG51bGw7Ci0gIH0KLQotICBJbnRlcmZhY2VFbmRwb2ludC5w
cm90b3R5cGUuc2VuZE1lc3NhZ2UgPSBmdW5jdGlvbihtZXNzYWdlKSB7Ci0gICAgbWVzc2FnZS5z
ZXRJbnRlcmZhY2VJZCh0aGlzLmlkKTsKLSAgICByZXR1cm4gdGhpcy5yb3V0ZXJfLmNvbm5lY3Rv
cl8uYWNjZXB0KG1lc3NhZ2UpOwotICB9OwotCi0gIGZ1bmN0aW9uIFJvdXRlcihoYW5kbGUsIHNl
dEludGVyZmFjZUlkTmFtZXNwYWNlQml0KSB7Ci0gICAgaWYgKCEoaGFuZGxlIGluc3RhbmNlb2Yg
TW9qb0hhbmRsZSkpIHsKLSAgICAgIHRocm93IG5ldyBFcnJvcigiUm91dGVyIGNvbnN0cnVjdG9y
OiBOb3QgYSBoYW5kbGUiKTsKLSAgICB9Ci0gICAgaWYgKHNldEludGVyZmFjZUlkTmFtZXNwYWNl
Qml0ID09PSB1bmRlZmluZWQpIHsKLSAgICAgIHNldEludGVyZmFjZUlkTmFtZXNwYWNlQml0ID0g
ZmFsc2U7Ci0gICAgfQotCi0gICAgdGhpcy5jb25uZWN0b3JfID0gbmV3IGludGVybmFsLkNvbm5l
Y3RvcihoYW5kbGUpOwotCi0gICAgdGhpcy5jb25uZWN0b3JfLnNldEluY29taW5nUmVjZWl2ZXIo
ewotICAgICAgICBhY2NlcHQ6IHRoaXMuYWNjZXB0LmJpbmQodGhpcyksCi0gICAgfSk7Ci0gICAg
dGhpcy5jb25uZWN0b3JfLnNldEVycm9ySGFuZGxlcih7Ci0gICAgICAgIG9uRXJyb3I6IHRoaXMu
b25QaXBlQ29ubmVjdGlvbkVycm9yLmJpbmQodGhpcyksCi0gICAgfSk7Ci0KLSAgICB0aGlzLnNl
dEludGVyZmFjZUlkTmFtZXNwYWNlQml0XyA9IHNldEludGVyZmFjZUlkTmFtZXNwYWNlQml0Owot
ICAgIC8vIHxjYWNoZWRNZXNzYWdlRGF0YXwgY2FjaGVzIGluZm9tYXRpb24gYWJvdXQgYSBtZXNz
YWdlLCBzbyBpdCBjYW4gYmUKLSAgICAvLyBwcm9jZXNzZWQgbGF0ZXIgaWYgYSBjbGllbnQgaXMg
bm90IHlldCBhdHRhY2hlZCB0byB0aGUgdGFyZ2V0IGVuZHBvaW50LgotICAgIHRoaXMuY2FjaGVk
TWVzc2FnZURhdGEgPSBudWxsOwotICAgIHRoaXMuY29udHJvbE1lc3NhZ2VIYW5kbGVyXyA9IG5l
dyBpbnRlcm5hbC5QaXBlQ29udHJvbE1lc3NhZ2VIYW5kbGVyKHRoaXMpOwotICAgIHRoaXMuY29u
dHJvbE1lc3NhZ2VQcm94eV8gPQotICAgICAgICBuZXcgaW50ZXJuYWwuUGlwZUNvbnRyb2xNZXNz
YWdlUHJveHkodGhpcy5jb25uZWN0b3JfKTsKLSAgICB0aGlzLm5leHRJbnRlcmZhY2VJZFZhbHVl
XyA9IDE7Ci0gICAgdGhpcy5lbmNvdW50ZXJlZEVycm9yXyA9IGZhbHNlOwotICAgIHRoaXMuZW5k
cG9pbnRzXyA9IG5ldyBNYXAoKTsKLSAgfQotCi0gIFJvdXRlci5wcm90b3R5cGUuYXNzb2NpYXRl
SW50ZXJmYWNlID0gZnVuY3Rpb24oaGFuZGxlVG9TZW5kKSB7Ci0gICAgaWYgKCFoYW5kbGVUb1Nl
bmQucGVuZGluZ0Fzc29jaWF0aW9uKCkpIHsKLSAgICAgIHJldHVybiBpbnRlcm5hbC5rSW52YWxp
ZEludGVyZmFjZUlkOwotICAgIH0KLQotICAgIHZhciBpZCA9IDA7Ci0gICAgZG8gewotICAgICAg
aWYgKHRoaXMubmV4dEludGVyZmFjZUlkVmFsdWVfID49IGludGVybmFsLmtJbnRlcmZhY2VJZE5h
bWVzcGFjZU1hc2spIHsKLSAgICAgICAgdGhpcy5uZXh0SW50ZXJmYWNlSWRWYWx1ZV8gPSAxOwot
ICAgICAgfQotICAgICAgaWQgPSB0aGlzLm5leHRJbnRlcmZhY2VJZFZhbHVlXysrOwotICAgICAg
aWYgKHRoaXMuc2V0SW50ZXJmYWNlSWROYW1lc3BhY2VCaXRfKSB7Ci0gICAgICAgIGlkICs9IGlu
dGVybmFsLmtJbnRlcmZhY2VJZE5hbWVzcGFjZU1hc2s7Ci0gICAgICB9Ci0gICAgfSB3aGlsZSAo
dGhpcy5lbmRwb2ludHNfLmhhcyhpZCkpOwotCi0gICAgdmFyIGVuZHBvaW50ID0gbmV3IEludGVy
ZmFjZUVuZHBvaW50KHRoaXMsIGlkKTsKLSAgICB0aGlzLmVuZHBvaW50c18uc2V0KGlkLCBlbmRw
b2ludCk7Ci0gICAgaWYgKHRoaXMuZW5jb3VudGVyZWRFcnJvcl8pIHsKLSAgICAgIHRoaXMudXBk
YXRlRW5kcG9pbnRTdGF0ZU1heVJlbW92ZShlbmRwb2ludCwKLSAgICAgICAgICBFbmRwb2ludFN0
YXRlVXBkYXRlVHlwZS5QRUVSX0VORFBPSU5UX0NMT1NFRCk7Ci0gICAgfQotICAgIGVuZHBvaW50
LmhhbmRsZUNyZWF0ZWQgPSB0cnVlOwotCi0gICAgaWYgKCFoYW5kbGVUb1NlbmQubm90aWZ5QXNz
b2NpYXRpb24oaWQsIHRoaXMpKSB7Ci0gICAgICAvLyBUaGUgcGVlciBoYW5kbGUgb2YgfGhhbmRs
ZVRvU2VuZHwsIHdoaWNoIGlzIHN1cHBvc2VkIHRvIGpvaW4gdGhpcwotICAgICAgLy8gYXNzb2Np
YXRlZCBncm91cCwgaGFzIGJlZW4gY2xvc2VkLgotICAgICAgdGhpcy51cGRhdGVFbmRwb2ludFN0
YXRlTWF5UmVtb3ZlKGVuZHBvaW50LAotICAgICAgICAgIEVuZHBvaW50U3RhdGVVcGRhdGVUeXBl
LkVORFBPSU5UX0NMT1NFRCk7Ci0KLSAgICAgIHBpcGVDb250cm9sTWVzc2FnZXByb3h5Lm5vdGlm
eVBlZXJFbmRwb2ludENsb3NlZChpZCwKLSAgICAgICAgICBoYW5kbGVUb1NlbmQuZGlzY29ubmVj
dFJlYXNvbigpKTsKLSAgICB9Ci0KLSAgICByZXR1cm4gaWQ7Ci0gIH07Ci0KLSAgUm91dGVyLnBy
b3RvdHlwZS5hdHRhY2hFbmRwb2ludENsaWVudCA9IGZ1bmN0aW9uKAotICAgICAgaW50ZXJmYWNl
RW5kcG9pbnRIYW5kbGUsIGludGVyZmFjZUVuZHBvaW50Q2xpZW50KSB7Ci0gICAgY2hlY2soaW50
ZXJuYWwuaXNWYWxpZEludGVyZmFjZUlkKGludGVyZmFjZUVuZHBvaW50SGFuZGxlLmlkKCkpKTsK
LSAgICBjaGVjayhpbnRlcmZhY2VFbmRwb2ludENsaWVudCk7Ci0KLSAgICB2YXIgZW5kcG9pbnQg
PSB0aGlzLmVuZHBvaW50c18uZ2V0KGludGVyZmFjZUVuZHBvaW50SGFuZGxlLmlkKCkpOwotICAg
IGNoZWNrKGVuZHBvaW50KTsKLSAgICBjaGVjayghZW5kcG9pbnQuY2xpZW50KTsKLSAgICBjaGVj
ayghZW5kcG9pbnQuY2xvc2VkKTsKLSAgICBlbmRwb2ludC5jbGllbnQgPSBpbnRlcmZhY2VFbmRw
b2ludENsaWVudDsKLQotICAgIGlmIChlbmRwb2ludC5wZWVyQ2xvc2VkKSB7Ci0gICAgICBzZXRU
aW1lb3V0KGVuZHBvaW50LmNsaWVudC5ub3RpZnlFcnJvci5iaW5kKGVuZHBvaW50LmNsaWVudCks
IDApOwotICAgIH0KLQotICAgIGlmICh0aGlzLmNhY2hlZE1lc3NhZ2VEYXRhICYmIGludGVyZmFj
ZUVuZHBvaW50SGFuZGxlLmlkKCkgPT09Ci0gICAgICAgIHRoaXMuY2FjaGVkTWVzc2FnZURhdGEu
bWVzc2FnZS5nZXRJbnRlcmZhY2VJZCgpKSB7Ci0gICAgICBzZXRUaW1lb3V0KChmdW5jdGlvbigp
IHsKLSAgICAgICAgaWYgKCF0aGlzLmNhY2hlZE1lc3NhZ2VEYXRhKSB7Ci0gICAgICAgICAgcmV0
dXJuOwotICAgICAgICB9Ci0KLSAgICAgICAgdmFyIHRhcmdldEVuZHBvaW50ID0gdGhpcy5lbmRw
b2ludHNfLmdldCgKLSAgICAgICAgICAgIHRoaXMuY2FjaGVkTWVzc2FnZURhdGEubWVzc2FnZS5n
ZXRJbnRlcmZhY2VJZCgpKTsKLSAgICAgICAgLy8gQ2hlY2sgdGhhdCB0aGUgdGFyZ2V0IGVuZHBv
aW50J3MgY2xpZW50IHN0aWxsIGV4aXN0cy4KLSAgICAgICAgaWYgKHRhcmdldEVuZHBvaW50ICYm
IHRhcmdldEVuZHBvaW50LmNsaWVudCkgewotICAgICAgICAgIHZhciBtZXNzYWdlID0gdGhpcy5j
YWNoZWRNZXNzYWdlRGF0YS5tZXNzYWdlOwotICAgICAgICAgIHZhciBtZXNzYWdlVmFsaWRhdG9y
ID0gdGhpcy5jYWNoZWRNZXNzYWdlRGF0YS5tZXNzYWdlVmFsaWRhdG9yOwotICAgICAgICAgIHRo
aXMuY2FjaGVkTWVzc2FnZURhdGEgPSBudWxsOwotICAgICAgICAgIHRoaXMuY29ubmVjdG9yXy5y
ZXN1bWVJbmNvbWluZ01ldGhvZENhbGxQcm9jZXNzaW5nKCk7Ci0gICAgICAgICAgdmFyIG9rID0g
ZW5kcG9pbnQuY2xpZW50LmhhbmRsZUluY29taW5nTWVzc2FnZShtZXNzYWdlLAotICAgICAgICAg
ICAgICBtZXNzYWdlVmFsaWRhdG9yKTsKLQotICAgICAgICAgIC8vIEhhbmRsZSBpbnZhbGlkIGNh
Y2hlZCBpbmNvbWluZyBtZXNzYWdlLgotICAgICAgICAgIGlmICghaW50ZXJuYWwuaXNUZXN0aW5n
TW9kZSgpICYmICFvaykgewotICAgICAgICAgICAgdGhpcy5jb25uZWN0b3JfLmhhbmRsZUVycm9y
KHRydWUsIHRydWUpOwotICAgICAgICAgIH0KLSAgICAgICAgfQotICAgICAgfSkuYmluZCh0aGlz
KSwgMCk7Ci0gICAgfQotCi0gICAgcmV0dXJuIGVuZHBvaW50OwotICB9OwotCi0gIFJvdXRlci5w
cm90b3R5cGUuZGV0YWNoRW5kcG9pbnRDbGllbnQgPSBmdW5jdGlvbigKLSAgICAgIGludGVyZmFj
ZUVuZHBvaW50SGFuZGxlKSB7Ci0gICAgY2hlY2soaW50ZXJuYWwuaXNWYWxpZEludGVyZmFjZUlk
KGludGVyZmFjZUVuZHBvaW50SGFuZGxlLmlkKCkpKTsKLSAgICB2YXIgZW5kcG9pbnQgPSB0aGlz
LmVuZHBvaW50c18uZ2V0KGludGVyZmFjZUVuZHBvaW50SGFuZGxlLmlkKCkpOwotICAgIGNoZWNr
KGVuZHBvaW50KTsKLSAgICBjaGVjayhlbmRwb2ludC5jbGllbnQpOwotICAgIGNoZWNrKCFlbmRw
b2ludC5jbG9zZWQpOwotCi0gICAgZW5kcG9pbnQuY2xpZW50ID0gbnVsbDsKLSAgfTsKLQotICBS
b3V0ZXIucHJvdG90eXBlLmNyZWF0ZUxvY2FsRW5kcG9pbnRIYW5kbGUgPSBmdW5jdGlvbigKLSAg
ICAgIGludGVyZmFjZUlkKSB7Ci0gICAgaWYgKCFpbnRlcm5hbC5pc1ZhbGlkSW50ZXJmYWNlSWQo
aW50ZXJmYWNlSWQpKSB7Ci0gICAgICByZXR1cm4gbmV3IGludGVybmFsLkludGVyZmFjZUVuZHBv
aW50SGFuZGxlKCk7Ci0gICAgfQotCi0gICAgLy8gVW5sZXNzIGl0IGlzIHRoZSBtYXN0ZXIgSUQs
IHxpbnRlcmZhY2VJZHwgaXMgZnJvbSB0aGUgcmVtb3RlIHNpZGUgYW5kCi0gICAgLy8gdGhlcmVm
b3JlIGl0cyBuYW1lc3BhY2UgYml0IGlzIHN1cHBvc2VkIHRvIGJlIGRpZmZlcmVudCB0aGFuIHRo
ZSB2YWx1ZQotICAgIC8vIHRoYXQgdGhpcyByb3V0ZXIgd291bGQgdXNlLgotICAgIGlmICghaW50
ZXJuYWwuaXNNYXN0ZXJJbnRlcmZhY2VJZChpbnRlcmZhY2VJZCkgJiYKLSAgICAgICAgdGhpcy5z
ZXRJbnRlcmZhY2VJZE5hbWVzcGFjZUJpdF8gPT09Ci0gICAgICAgICAgICBpbnRlcm5hbC5oYXNJ
bnRlcmZhY2VJZE5hbWVzcGFjZUJpdFNldChpbnRlcmZhY2VJZCkpIHsKLSAgICAgIHJldHVybiBu
ZXcgaW50ZXJuYWwuSW50ZXJmYWNlRW5kcG9pbnRIYW5kbGUoKTsKLSAgICB9Ci0KLSAgICB2YXIg
ZW5kcG9pbnQgPSB0aGlzLmVuZHBvaW50c18uZ2V0KGludGVyZmFjZUlkKTsKLQotICAgIGlmICgh
ZW5kcG9pbnQpIHsKLSAgICAgIGVuZHBvaW50ID0gbmV3IEludGVyZmFjZUVuZHBvaW50KHRoaXMs
IGludGVyZmFjZUlkKTsKLSAgICAgIHRoaXMuZW5kcG9pbnRzXy5zZXQoaW50ZXJmYWNlSWQsIGVu
ZHBvaW50KTsKLQotICAgICAgY2hlY2soIWVuZHBvaW50LmhhbmRsZUNyZWF0ZWQpOwotCi0gICAg
ICBpZiAodGhpcy5lbmNvdW50ZXJlZEVycm9yXykgewotICAgICAgICB0aGlzLnVwZGF0ZUVuZHBv
aW50U3RhdGVNYXlSZW1vdmUoZW5kcG9pbnQsCi0gICAgICAgICAgICBFbmRwb2ludFN0YXRlVXBk
YXRlVHlwZS5QRUVSX0VORFBPSU5UX0NMT1NFRCk7Ci0gICAgICB9Ci0gICAgfSBlbHNlIHsKLSAg
ICAgIC8vIElmIHRoZSBlbmRwb2ludCBhbHJlYWR5IGV4aXN0LCBpdCBpcyBiZWNhdXNlIHdlIGhh
dmUgcmVjZWl2ZWQgYQotICAgICAgLy8gbm90aWZpY2F0aW9uIHRoYXQgdGhlIHBlZXIgZW5kcG9p
bnQgaGFzIGNsb3NlZC4KLSAgICAgIGNoZWNrKCFlbmRwb2ludC5jbG9zZWQpOwotICAgICAgY2hl
Y2soZW5kcG9pbnQucGVlckNsb3NlZCk7Ci0KLSAgICAgIGlmIChlbmRwb2ludC5oYW5kbGVDcmVh
dGVkKSB7Ci0gICAgICAgIHJldHVybiBuZXcgaW50ZXJuYWwuSW50ZXJmYWNlRW5kcG9pbnRIYW5k
bGUoKTsKLSAgICAgIH0KLSAgICB9Ci0KLSAgICBlbmRwb2ludC5oYW5kbGVDcmVhdGVkID0gdHJ1
ZTsKLSAgICByZXR1cm4gbmV3IGludGVybmFsLkludGVyZmFjZUVuZHBvaW50SGFuZGxlKGludGVy
ZmFjZUlkLCB0aGlzKTsKLSAgfTsKLQotICBSb3V0ZXIucHJvdG90eXBlLmFjY2VwdCA9IGZ1bmN0
aW9uKG1lc3NhZ2UpIHsKLSAgICB2YXIgbWVzc2FnZVZhbGlkYXRvciA9IG5ldyBpbnRlcm5hbC5W
YWxpZGF0b3IobWVzc2FnZSk7Ci0gICAgdmFyIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRh
dGVNZXNzYWdlSGVhZGVyKCk7Ci0KLSAgICB2YXIgb2sgPSBmYWxzZTsKLSAgICBpZiAoZXJyICE9
PSBpbnRlcm5hbC52YWxpZGF0aW9uRXJyb3IuTk9ORSkgewotICAgICAgaW50ZXJuYWwucmVwb3J0
VmFsaWRhdGlvbkVycm9yKGVycik7Ci0gICAgfSBlbHNlIGlmIChtZXNzYWdlLmRlc2VyaWFsaXpl
QXNzb2NpYXRlZEVuZHBvaW50SGFuZGxlcyh0aGlzKSkgewotICAgICAgaWYgKGludGVybmFsLmlz
UGlwZUNvbnRyb2xNZXNzYWdlKG1lc3NhZ2UpKSB7Ci0gICAgICAgIG9rID0gdGhpcy5jb250cm9s
TWVzc2FnZUhhbmRsZXJfLmFjY2VwdChtZXNzYWdlKTsKLSAgICAgIH0gZWxzZSB7Ci0gICAgICAg
IHZhciBpbnRlcmZhY2VJZCA9IG1lc3NhZ2UuZ2V0SW50ZXJmYWNlSWQoKTsKLSAgICAgICAgdmFy
IGVuZHBvaW50ID0gdGhpcy5lbmRwb2ludHNfLmdldChpbnRlcmZhY2VJZCk7Ci0gICAgICAgIGlm
ICghZW5kcG9pbnQgfHwgZW5kcG9pbnQuY2xvc2VkKSB7Ci0gICAgICAgICAgcmV0dXJuIHRydWU7
Ci0gICAgICAgIH0KLQotICAgICAgICBpZiAoIWVuZHBvaW50LmNsaWVudCkgewotICAgICAgICAg
IC8vIFdlIG5lZWQgdG8gd2FpdCB1bnRpbCBhIGNsaWVudCBpcyBhdHRhY2hlZCBpbiBvcmRlciB0
byBkaXNwYXRjaAotICAgICAgICAgIC8vIGZ1cnRoZXIgbWVzc2FnZXMuCi0gICAgICAgICAgdGhp
cy5jYWNoZWRNZXNzYWdlRGF0YSA9IHttZXNzYWdlOiBtZXNzYWdlLAotICAgICAgICAgICAgICBt
ZXNzYWdlVmFsaWRhdG9yOiBtZXNzYWdlVmFsaWRhdG9yfTsKLSAgICAgICAgICB0aGlzLmNvbm5l
Y3Rvcl8ucGF1c2VJbmNvbWluZ01ldGhvZENhbGxQcm9jZXNzaW5nKCk7Ci0gICAgICAgICAgcmV0
dXJuIHRydWU7Ci0gICAgICAgIH0KLSAgICAgICAgb2sgPSBlbmRwb2ludC5jbGllbnQuaGFuZGxl
SW5jb21pbmdNZXNzYWdlKG1lc3NhZ2UsIG1lc3NhZ2VWYWxpZGF0b3IpOwotICAgICAgfQotICAg
IH0KLSAgICByZXR1cm4gb2s7Ci0gIH07Ci0KLSAgUm91dGVyLnByb3RvdHlwZS5jbG9zZSA9IGZ1
bmN0aW9uKCkgewotICAgIHRoaXMuY29ubmVjdG9yXy5jbG9zZSgpOwotICAgIC8vIENsb3Npbmcg
dGhlIG1lc3NhZ2UgcGlwZSB3b24ndCB0cmlnZ2VyIGNvbm5lY3Rpb24gZXJyb3IgaGFuZGxlci4K
LSAgICAvLyBFeHBsaWNpdGx5IGNhbGwgb25QaXBlQ29ubmVjdGlvbkVycm9yKCkgc28gdGhhdCBh
c3NvY2lhdGVkIGVuZHBvaW50cwotICAgIC8vIHdpbGwgZ2V0IG5vdGlmaWVkLgotICAgIHRoaXMu
b25QaXBlQ29ubmVjdGlvbkVycm9yKCk7Ci0gIH07Ci0KLSAgUm91dGVyLnByb3RvdHlwZS5vblBl
ZXJBc3NvY2lhdGVkRW5kcG9pbnRDbG9zZWQgPSBmdW5jdGlvbihpbnRlcmZhY2VJZCwKLSAgICAg
IHJlYXNvbikgewotICAgIHZhciBlbmRwb2ludCA9IHRoaXMuZW5kcG9pbnRzXy5nZXQoaW50ZXJm
YWNlSWQpOwotICAgIGlmICghZW5kcG9pbnQpIHsKLSAgICAgIGVuZHBvaW50ID0gbmV3IEludGVy
ZmFjZUVuZHBvaW50KHRoaXMsIGludGVyZmFjZUlkKTsKLSAgICAgIHRoaXMuZW5kcG9pbnRzXy5z
ZXQoaW50ZXJmYWNlSWQsIGVuZHBvaW50KTsKLSAgICB9Ci0KLSAgICBpZiAocmVhc29uKSB7Ci0g
ICAgICBlbmRwb2ludC5kaXNjb25uZWN0UmVhc29uID0gcmVhc29uOwotICAgIH0KLQotICAgIGlm
ICghZW5kcG9pbnQucGVlckNsb3NlZCkgewotICAgICAgaWYgKGVuZHBvaW50LmNsaWVudCkgewot
ICAgICAgICBzZXRUaW1lb3V0KGVuZHBvaW50LmNsaWVudC5ub3RpZnlFcnJvci5iaW5kKGVuZHBv
aW50LmNsaWVudCwgcmVhc29uKSwKLSAgICAgICAgICAgICAgICAgICAwKTsKLSAgICAgIH0KLSAg
ICAgIHRoaXMudXBkYXRlRW5kcG9pbnRTdGF0ZU1heVJlbW92ZShlbmRwb2ludCwKLSAgICAgICAg
ICBFbmRwb2ludFN0YXRlVXBkYXRlVHlwZS5QRUVSX0VORFBPSU5UX0NMT1NFRCk7Ci0gICAgfQot
ICAgIHJldHVybiB0cnVlOwotICB9OwotCi0gIFJvdXRlci5wcm90b3R5cGUub25QaXBlQ29ubmVj
dGlvbkVycm9yID0gZnVuY3Rpb24oKSB7Ci0gICAgdGhpcy5lbmNvdW50ZXJlZEVycm9yXyA9IHRy
dWU7Ci0KLSAgICBmb3IgKHZhciBlbmRwb2ludCBvZiB0aGlzLmVuZHBvaW50c18udmFsdWVzKCkp
IHsKLSAgICAgIGlmIChlbmRwb2ludC5jbGllbnQpIHsKLSAgICAgICAgc2V0VGltZW91dCgKLSAg
ICAgICAgICAgIGVuZHBvaW50LmNsaWVudC5ub3RpZnlFcnJvci5iaW5kKAotICAgICAgICAgICAg
ICAgIGVuZHBvaW50LmNsaWVudCwgZW5kcG9pbnQuZGlzY29ubmVjdFJlYXNvbiksCi0gICAgICAg
ICAgICAwKTsKLSAgICAgIH0KLSAgICAgIHRoaXMudXBkYXRlRW5kcG9pbnRTdGF0ZU1heVJlbW92
ZShlbmRwb2ludCwKLSAgICAgICAgICBFbmRwb2ludFN0YXRlVXBkYXRlVHlwZS5QRUVSX0VORFBP
SU5UX0NMT1NFRCk7Ci0gICAgfQotICB9OwotCi0gIFJvdXRlci5wcm90b3R5cGUuY2xvc2VFbmRw
b2ludEhhbmRsZSA9IGZ1bmN0aW9uKGludGVyZmFjZUlkLCByZWFzb24pIHsKLSAgICBpZiAoIWlu
dGVybmFsLmlzVmFsaWRJbnRlcmZhY2VJZChpbnRlcmZhY2VJZCkpIHsKLSAgICAgIHJldHVybjsK
LSAgICB9Ci0gICAgdmFyIGVuZHBvaW50ID0gdGhpcy5lbmRwb2ludHNfLmdldChpbnRlcmZhY2VJ
ZCk7Ci0gICAgY2hlY2soZW5kcG9pbnQpOwotICAgIGNoZWNrKCFlbmRwb2ludC5jbGllbnQpOwot
ICAgIGNoZWNrKCFlbmRwb2ludC5jbG9zZWQpOwotCi0gICAgdGhpcy51cGRhdGVFbmRwb2ludFN0
YXRlTWF5UmVtb3ZlKGVuZHBvaW50LAotICAgICAgICBFbmRwb2ludFN0YXRlVXBkYXRlVHlwZS5F
TkRQT0lOVF9DTE9TRUQpOwotCi0gICAgaWYgKCFpbnRlcm5hbC5pc01hc3RlckludGVyZmFjZUlk
KGludGVyZmFjZUlkKSB8fCByZWFzb24pIHsKLSAgICAgIHRoaXMuY29udHJvbE1lc3NhZ2VQcm94
eV8ubm90aWZ5UGVlckVuZHBvaW50Q2xvc2VkKGludGVyZmFjZUlkLCByZWFzb24pOwotICAgIH0K
LQotICAgIGlmICh0aGlzLmNhY2hlZE1lc3NhZ2VEYXRhICYmIGludGVyZmFjZUlkID09PQotICAg
ICAgICB0aGlzLmNhY2hlZE1lc3NhZ2VEYXRhLm1lc3NhZ2UuZ2V0SW50ZXJmYWNlSWQoKSkgewot
ICAgICAgdGhpcy5jYWNoZWRNZXNzYWdlRGF0YSA9IG51bGw7Ci0gICAgICB0aGlzLmNvbm5lY3Rv
cl8ucmVzdW1lSW5jb21pbmdNZXRob2RDYWxsUHJvY2Vzc2luZygpOwotICAgIH0KLSAgfTsKLQot
ICBSb3V0ZXIucHJvdG90eXBlLnVwZGF0ZUVuZHBvaW50U3RhdGVNYXlSZW1vdmUgPSBmdW5jdGlv
bihlbmRwb2ludCwKLSAgICAgIGVuZHBvaW50U3RhdGVVcGRhdGVUeXBlKSB7Ci0gICAgaWYgKGVu
ZHBvaW50U3RhdGVVcGRhdGVUeXBlID09PSBFbmRwb2ludFN0YXRlVXBkYXRlVHlwZS5FTkRQT0lO
VF9DTE9TRUQpIHsKLSAgICAgIGVuZHBvaW50LmNsb3NlZCA9IHRydWU7Ci0gICAgfSBlbHNlIHsK
LSAgICAgIGVuZHBvaW50LnBlZXJDbG9zZWQgPSB0cnVlOwotICAgIH0KLSAgICBpZiAoZW5kcG9p
bnQuY2xvc2VkICYmIGVuZHBvaW50LnBlZXJDbG9zZWQpIHsKLSAgICAgIHRoaXMuZW5kcG9pbnRz
Xy5kZWxldGUoZW5kcG9pbnQuaWQpOwotICAgIH0KLSAgfTsKLQotICBpbnRlcm5hbC5Sb3V0ZXIg
PSBSb3V0ZXI7Ci19KSgpOwotLy8gQ29weXJpZ2h0IDIwMTQgVGhlIENocm9taXVtIEF1dGhvcnMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0vLyBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zl
cm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCi0vLyBmb3VuZCBpbiB0aGUg
TElDRU5TRSBmaWxlLgotCi0vKioKLSAqIERlZmluZXMgZnVuY3Rpb25zIGZvciB0cmFuc2xhdGlu
ZyBiZXR3ZWVuIEphdmFTY3JpcHQgc3RyaW5ncyBhbmQgVVRGOCBzdHJpbmdzCi0gKiBzdG9yZWQg
aW4gQXJyYXlCdWZmZXJzLiBUaGVyZSBpcyBtdWNoIHJvb20gZm9yIG9wdGltaXphdGlvbiBpbiB0
aGlzIGNvZGUgaWYKLSAqIGl0IHByb3ZlcyBuZWNlc3NhcnkuCi0gKi8KLShmdW5jdGlvbigpIHsK
LSAgdmFyIGludGVybmFsID0gbW9qby5pbnRlcm5hbDsKLSAgdmFyIHRleHREZWNvZGVyID0gbmV3
IFRleHREZWNvZGVyKCd1dGYtOCcpOwotICB2YXIgdGV4dEVuY29kZXIgPSBuZXcgVGV4dEVuY29k
ZXIoJ3V0Zi04Jyk7Ci0KLSAgLyoqCi0gICAqIERlY29kZXMgdGhlIFVURjggc3RyaW5nIGZyb20g
dGhlIGdpdmVuIGJ1ZmZlci4KLSAgICogQHBhcmFtIHtBcnJheUJ1ZmZlclZpZXd9IGJ1ZmZlciBU
aGUgYnVmZmVyIGNvbnRhaW5pbmcgVVRGOCBzdHJpbmcgZGF0YS4KLSAgICogQHJldHVybiB7c3Ry
aW5nfSBUaGUgY29ycmVzcG9uZGluZyBKYXZhU2NyaXB0IHN0cmluZy4KLSAgICovCi0gIGZ1bmN0
aW9uIGRlY29kZVV0ZjhTdHJpbmcoYnVmZmVyKSB7Ci0gICAgcmV0dXJuIHRleHREZWNvZGVyLmRl
Y29kZShidWZmZXIpOwotICB9Ci0KLSAgLyoqCi0gICAqIEVuY29kZXMgdGhlIGdpdmVuIEphdmFT
Y3JpcHQgc3RyaW5nIGludG8gVVRGOC4KLSAgICogQHBhcmFtIHtzdHJpbmd9IHN0ciBUaGUgc3Ry
aW5nIHRvIGVuY29kZS4KLSAgICogQHBhcmFtIHtBcnJheUJ1ZmZlclZpZXd9IG91dHB1dEJ1ZmZl
ciBUaGUgYnVmZmVyIHRvIGNvbnRhaW4gdGhlIHJlc3VsdC4KLSAgICogU2hvdWxkIGJlIHByZS1h
bGxvY2F0ZWQgdG8gaG9sZCBlbm91Z2ggc3BhY2UuIFVzZSB8dXRmOExlbmd0aHwgdG8gZGV0ZXJt
aW5lCi0gICAqIGhvdyBtdWNoIHNwYWNlIGlzIHJlcXVpcmVkLgotICAgKiBAcmV0dXJuIHtudW1i
ZXJ9IFRoZSBudW1iZXIgb2YgYnl0ZXMgd3JpdHRlbiB0byB8b3V0cHV0QnVmZmVyfC4KLSAgICov
Ci0gIGZ1bmN0aW9uIGVuY29kZVV0ZjhTdHJpbmcoc3RyLCBvdXRwdXRCdWZmZXIpIHsKLSAgICBj
b25zdCB1dGY4QnVmZmVyID0gdGV4dEVuY29kZXIuZW5jb2RlKHN0cik7Ci0gICAgaWYgKG91dHB1
dEJ1ZmZlci5sZW5ndGggPCB1dGY4QnVmZmVyLmxlbmd0aCkKLSAgICAgIHRocm93IG5ldyBFcnJv
cigiQnVmZmVyIHRvbyBzbWFsbCBmb3IgZW5jb2RlVXRmOFN0cmluZyIpOwotICAgIG91dHB1dEJ1
ZmZlci5zZXQodXRmOEJ1ZmZlcik7Ci0gICAgcmV0dXJuIHV0ZjhCdWZmZXIubGVuZ3RoOwotICB9
Ci0KLSAgLyoqCi0gICAqIFJldHVybnMgdGhlIG51bWJlciBvZiBieXRlcyB0aGF0IGEgVVRGOCBl
bmNvZGluZyBvZiB0aGUgSmF2YVNjcmlwdCBzdHJpbmcKLSAgICogfHN0cnwgd291bGQgb2NjdXB5
LgotICAgKi8KLSAgZnVuY3Rpb24gdXRmOExlbmd0aChzdHIpIHsKLSAgICByZXR1cm4gdGV4dEVu
Y29kZXIuZW5jb2RlKHN0cikubGVuZ3RoOwotICB9Ci0KLSAgaW50ZXJuYWwuZGVjb2RlVXRmOFN0
cmluZyA9IGRlY29kZVV0ZjhTdHJpbmc7Ci0gIGludGVybmFsLmVuY29kZVV0ZjhTdHJpbmcgPSBl
bmNvZGVVdGY4U3RyaW5nOwotICBpbnRlcm5hbC51dGY4TGVuZ3RoID0gdXRmOExlbmd0aDsKLX0p
KCk7Ci0vLyBDb3B5cmlnaHQgMjAxNCBUaGUgQ2hyb21pdW0gQXV0aG9ycy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KLS8vIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNE
LXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKLS8vIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUu
Ci0KLShmdW5jdGlvbigpIHsKLSAgdmFyIGludGVybmFsID0gbW9qby5pbnRlcm5hbDsKLQotICB2
YXIgdmFsaWRhdGlvbkVycm9yID0gewotICAgIE5PTkU6ICdWQUxJREFUSU9OX0VSUk9SX05PTkUn
LAotICAgIE1JU0FMSUdORURfT0JKRUNUOiAnVkFMSURBVElPTl9FUlJPUl9NSVNBTElHTkVEX09C
SkVDVCcsCi0gICAgSUxMRUdBTF9NRU1PUllfUkFOR0U6ICdWQUxJREFUSU9OX0VSUk9SX0lMTEVH
QUxfTUVNT1JZX1JBTkdFJywKLSAgICBVTkVYUEVDVEVEX1NUUlVDVF9IRUFERVI6ICdWQUxJREFU
SU9OX0VSUk9SX1VORVhQRUNURURfU1RSVUNUX0hFQURFUicsCi0gICAgVU5FWFBFQ1RFRF9BUlJB
WV9IRUFERVI6ICdWQUxJREFUSU9OX0VSUk9SX1VORVhQRUNURURfQVJSQVlfSEVBREVSJywKLSAg
ICBJTExFR0FMX0hBTkRMRTogJ1ZBTElEQVRJT05fRVJST1JfSUxMRUdBTF9IQU5ETEUnLAotICAg
IFVORVhQRUNURURfSU5WQUxJRF9IQU5ETEU6ICdWQUxJREFUSU9OX0VSUk9SX1VORVhQRUNURURf
SU5WQUxJRF9IQU5ETEUnLAotICAgIElMTEVHQUxfUE9JTlRFUjogJ1ZBTElEQVRJT05fRVJST1Jf
SUxMRUdBTF9QT0lOVEVSJywKLSAgICBVTkVYUEVDVEVEX05VTExfUE9JTlRFUjogJ1ZBTElEQVRJ
T05fRVJST1JfVU5FWFBFQ1RFRF9OVUxMX1BPSU5URVInLAotICAgIElMTEVHQUxfSU5URVJGQUNF
X0lEOiAnVkFMSURBVElPTl9FUlJPUl9JTExFR0FMX0lOVEVSRkFDRV9JRCcsCi0gICAgVU5FWFBF
Q1RFRF9JTlZBTElEX0lOVEVSRkFDRV9JRDoKLSAgICAgICAgJ1ZBTElEQVRJT05fRVJST1JfVU5F
WFBFQ1RFRF9JTlZBTElEX0lOVEVSRkFDRV9JRCcsCi0gICAgTUVTU0FHRV9IRUFERVJfSU5WQUxJ
RF9GTEFHUzoKLSAgICAgICAgJ1ZBTElEQVRJT05fRVJST1JfTUVTU0FHRV9IRUFERVJfSU5WQUxJ
RF9GTEFHUycsCi0gICAgTUVTU0FHRV9IRUFERVJfTUlTU0lOR19SRVFVRVNUX0lEOgotICAgICAg
ICAnVkFMSURBVElPTl9FUlJPUl9NRVNTQUdFX0hFQURFUl9NSVNTSU5HX1JFUVVFU1RfSUQnLAot
ICAgIERJRkZFUkVOVF9TSVpFRF9BUlJBWVNfSU5fTUFQOgotICAgICAgICAnVkFMSURBVElPTl9F
UlJPUl9ESUZGRVJFTlRfU0laRURfQVJSQVlTX0lOX01BUCcsCi0gICAgSU5WQUxJRF9VTklPTl9T
SVpFOiAnVkFMSURBVElPTl9FUlJPUl9JTlZBTElEX1VOSU9OX1NJWkUnLAotICAgIFVORVhQRUNU
RURfTlVMTF9VTklPTjogJ1ZBTElEQVRJT05fRVJST1JfVU5FWFBFQ1RFRF9OVUxMX1VOSU9OJywK
LSAgICBVTktOT1dOX0VOVU1fVkFMVUU6ICdWQUxJREFUSU9OX0VSUk9SX1VOS05PV05fRU5VTV9W
QUxVRScsCi0gIH07Ci0KLSAgdmFyIE5VTExfTU9KT19QT0lOVEVSID0gIk5VTExfTU9KT19QT0lO
VEVSIjsKLSAgdmFyIGdWYWxpZGF0aW9uRXJyb3JPYnNlcnZlciA9IG51bGw7Ci0KLSAgZnVuY3Rp
b24gcmVwb3J0VmFsaWRhdGlvbkVycm9yKGVycm9yKSB7Ci0gICAgaWYgKGdWYWxpZGF0aW9uRXJy
b3JPYnNlcnZlcikgewotICAgICAgZ1ZhbGlkYXRpb25FcnJvck9ic2VydmVyLmxhc3RFcnJvciA9
IGVycm9yOwotICAgIH0gZWxzZSB7Ci0gICAgICBjb25zb2xlLndhcm4oJ0ludmFsaWQgbWVzc2Fn
ZTogJyArIGVycm9yKTsKLSAgICB9Ci0gIH0KLQotICB2YXIgVmFsaWRhdGlvbkVycm9yT2JzZXJ2
ZXJGb3JUZXN0aW5nID0gKGZ1bmN0aW9uKCkgewotICAgIGZ1bmN0aW9uIE9ic2VydmVyKCkgewot
ICAgICAgdGhpcy5sYXN0RXJyb3IgPSB2YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAgICB9Ci0KLSAg
ICBPYnNlcnZlci5wcm90b3R5cGUucmVzZXQgPSBmdW5jdGlvbigpIHsKLSAgICAgIHRoaXMubGFz
dEVycm9yID0gdmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gICAgfTsKLQotICAgIHJldHVybiB7Ci0g
ICAgICBnZXRJbnN0YW5jZTogZnVuY3Rpb24oKSB7Ci0gICAgICAgIGlmICghZ1ZhbGlkYXRpb25F
cnJvck9ic2VydmVyKSB7Ci0gICAgICAgICAgZ1ZhbGlkYXRpb25FcnJvck9ic2VydmVyID0gbmV3
IE9ic2VydmVyKCk7Ci0gICAgICAgIH0KLSAgICAgICAgcmV0dXJuIGdWYWxpZGF0aW9uRXJyb3JP
YnNlcnZlcjsKLSAgICAgIH0KLSAgICB9OwotICB9KSgpOwotCi0gIGZ1bmN0aW9uIGlzVGVzdGlu
Z01vZGUoKSB7Ci0gICAgcmV0dXJuIEJvb2xlYW4oZ1ZhbGlkYXRpb25FcnJvck9ic2VydmVyKTsK
LSAgfQotCi0gIGZ1bmN0aW9uIGNsZWFyVGVzdGluZ01vZGUoKSB7Ci0gICAgZ1ZhbGlkYXRpb25F
cnJvck9ic2VydmVyID0gbnVsbDsKLSAgfQotCi0gIGZ1bmN0aW9uIGlzRW51bUNsYXNzKGNscykg
ewotICAgIHJldHVybiBjbHMgaW5zdGFuY2VvZiBpbnRlcm5hbC5FbnVtOwotICB9Ci0KLSAgZnVu
Y3Rpb24gaXNTdHJpbmdDbGFzcyhjbHMpIHsKLSAgICByZXR1cm4gY2xzID09PSBpbnRlcm5hbC5T
dHJpbmcgfHwgY2xzID09PSBpbnRlcm5hbC5OdWxsYWJsZVN0cmluZzsKLSAgfQotCi0gIGZ1bmN0
aW9uIGlzSGFuZGxlQ2xhc3MoY2xzKSB7Ci0gICAgcmV0dXJuIGNscyA9PT0gaW50ZXJuYWwuSGFu
ZGxlIHx8IGNscyA9PT0gaW50ZXJuYWwuTnVsbGFibGVIYW5kbGU7Ci0gIH0KLQotICBmdW5jdGlv
biBpc0ludGVyZmFjZUNsYXNzKGNscykgewotICAgIHJldHVybiBjbHMgaW5zdGFuY2VvZiBpbnRl
cm5hbC5JbnRlcmZhY2U7Ci0gIH0KLQotICBmdW5jdGlvbiBpc0ludGVyZmFjZVJlcXVlc3RDbGFz
cyhjbHMpIHsKLSAgICByZXR1cm4gY2xzID09PSBpbnRlcm5hbC5JbnRlcmZhY2VSZXF1ZXN0IHx8
Ci0gICAgICAgIGNscyA9PT0gaW50ZXJuYWwuTnVsbGFibGVJbnRlcmZhY2VSZXF1ZXN0OwotICB9
Ci0KLSAgZnVuY3Rpb24gaXNBc3NvY2lhdGVkSW50ZXJmYWNlQ2xhc3MoY2xzKSB7Ci0gICAgcmV0
dXJuIGNscyA9PT0gaW50ZXJuYWwuQXNzb2NpYXRlZEludGVyZmFjZVB0ckluZm8gfHwKLSAgICAg
ICAgY2xzID09PSBpbnRlcm5hbC5OdWxsYWJsZUFzc29jaWF0ZWRJbnRlcmZhY2VQdHJJbmZvOwot
ICB9Ci0KLSAgZnVuY3Rpb24gaXNBc3NvY2lhdGVkSW50ZXJmYWNlUmVxdWVzdENsYXNzKGNscykg
ewotICAgIHJldHVybiBjbHMgPT09IGludGVybmFsLkFzc29jaWF0ZWRJbnRlcmZhY2VSZXF1ZXN0
IHx8Ci0gICAgICAgIGNscyA9PT0gaW50ZXJuYWwuTnVsbGFibGVBc3NvY2lhdGVkSW50ZXJmYWNl
UmVxdWVzdDsKLSAgfQotCi0gIGZ1bmN0aW9uIGlzTnVsbGFibGUodHlwZSkgewotICAgIHJldHVy
biB0eXBlID09PSBpbnRlcm5hbC5OdWxsYWJsZVN0cmluZyB8fAotICAgICAgICB0eXBlID09PSBp
bnRlcm5hbC5OdWxsYWJsZUhhbmRsZSB8fAotICAgICAgICB0eXBlID09PSBpbnRlcm5hbC5OdWxs
YWJsZUFzc29jaWF0ZWRJbnRlcmZhY2VQdHJJbmZvIHx8Ci0gICAgICAgIHR5cGUgPT09IGludGVy
bmFsLk51bGxhYmxlQXNzb2NpYXRlZEludGVyZmFjZVJlcXVlc3QgfHwKLSAgICAgICAgdHlwZSA9
PT0gaW50ZXJuYWwuTnVsbGFibGVJbnRlcmZhY2UgfHwKLSAgICAgICAgdHlwZSA9PT0gaW50ZXJu
YWwuTnVsbGFibGVJbnRlcmZhY2VSZXF1ZXN0IHx8Ci0gICAgICAgIHR5cGUgaW5zdGFuY2VvZiBp
bnRlcm5hbC5OdWxsYWJsZUFycmF5T2YgfHwKLSAgICAgICAgdHlwZSBpbnN0YW5jZW9mIGludGVy
bmFsLk51bGxhYmxlUG9pbnRlclRvOwotICB9Ci0KLSAgZnVuY3Rpb24gVmFsaWRhdG9yKG1lc3Nh
Z2UpIHsKLSAgICB0aGlzLm1lc3NhZ2UgPSBtZXNzYWdlOwotICAgIHRoaXMub2Zmc2V0ID0gMDsK
LSAgICB0aGlzLmhhbmRsZUluZGV4ID0gMDsKLSAgICB0aGlzLmFzc29jaWF0ZWRFbmRwb2ludEhh
bmRsZUluZGV4ID0gMDsKLSAgICB0aGlzLnBheWxvYWRJbnRlcmZhY2VJZHMgPSBudWxsOwotICAg
IHRoaXMub2Zmc2V0TGltaXQgPSB0aGlzLm1lc3NhZ2UuYnVmZmVyLmJ5dGVMZW5ndGg7Ci0gIH0K
LQotICBPYmplY3QuZGVmaW5lUHJvcGVydHkoVmFsaWRhdG9yLnByb3RvdHlwZSwgImhhbmRsZUlu
ZGV4TGltaXQiLCB7Ci0gICAgZ2V0OiBmdW5jdGlvbigpIHsgcmV0dXJuIHRoaXMubWVzc2FnZS5o
YW5kbGVzLmxlbmd0aDsgfQotICB9KTsKLQotICBPYmplY3QuZGVmaW5lUHJvcGVydHkoVmFsaWRh
dG9yLnByb3RvdHlwZSwgImFzc29jaWF0ZWRIYW5kbGVJbmRleExpbWl0IiwgewotICAgIGdldDog
ZnVuY3Rpb24oKSB7Ci0gICAgICByZXR1cm4gdGhpcy5wYXlsb2FkSW50ZXJmYWNlSWRzID8gdGhp
cy5wYXlsb2FkSW50ZXJmYWNlSWRzLmxlbmd0aCA6IDA7Ci0gICAgfQotICB9KTsKLQotICAvLyBU
cnVlIGlmIHdlIGNhbiBzYWZlbHkgYWxsb2NhdGUgYSBibG9jayBvZiBieXRlcyBmcm9tIHN0YXJ0
IHRvCi0gIC8vIHRvIHN0YXJ0ICsgbnVtQnl0ZXMuCi0gIFZhbGlkYXRvci5wcm90b3R5cGUuaXNW
YWxpZFJhbmdlID0gZnVuY3Rpb24oc3RhcnQsIG51bUJ5dGVzKSB7Ci0gICAgLy8gT25seSBwb3Np
dGl2ZSBKYXZhU2NyaXB0IGludGVnZXJzIHRoYXQgYXJlIGxlc3MgdGhhbiAyXjUzCi0gICAgLy8g
KE51bWJlci5NQVhfU0FGRV9JTlRFR0VSKSBjYW4gYmUgcmVwcmVzZW50ZWQgZXhhY3RseS4KLSAg
ICBpZiAoc3RhcnQgPCB0aGlzLm9mZnNldCB8fCBudW1CeXRlcyA8PSAwIHx8Ci0gICAgICAgICFO
dW1iZXIuaXNTYWZlSW50ZWdlcihzdGFydCkgfHwKLSAgICAgICAgIU51bWJlci5pc1NhZmVJbnRl
Z2VyKG51bUJ5dGVzKSkKLSAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIHZhciBuZXdPZmZzZXQg
PSBzdGFydCArIG51bUJ5dGVzOwotICAgIGlmICghTnVtYmVyLmlzU2FmZUludGVnZXIobmV3T2Zm
c2V0KSB8fCBuZXdPZmZzZXQgPiB0aGlzLm9mZnNldExpbWl0KQotICAgICAgcmV0dXJuIGZhbHNl
OwotCi0gICAgcmV0dXJuIHRydWU7Ci0gIH07Ci0KLSAgVmFsaWRhdG9yLnByb3RvdHlwZS5jbGFp
bVJhbmdlID0gZnVuY3Rpb24oc3RhcnQsIG51bUJ5dGVzKSB7Ci0gICAgaWYgKHRoaXMuaXNWYWxp
ZFJhbmdlKHN0YXJ0LCBudW1CeXRlcykpIHsKLSAgICAgIHRoaXMub2Zmc2V0ID0gc3RhcnQgKyBu
dW1CeXRlczsKLSAgICAgIHJldHVybiB0cnVlOwotICAgIH0KLSAgICByZXR1cm4gZmFsc2U7Ci0g
IH07Ci0KLSAgVmFsaWRhdG9yLnByb3RvdHlwZS5jbGFpbUhhbmRsZSA9IGZ1bmN0aW9uKGluZGV4
KSB7Ci0gICAgaWYgKGluZGV4ID09PSBpbnRlcm5hbC5rRW5jb2RlZEludmFsaWRIYW5kbGVWYWx1
ZSkKLSAgICAgIHJldHVybiB0cnVlOwotCi0gICAgaWYgKGluZGV4IDwgdGhpcy5oYW5kbGVJbmRl
eCB8fCBpbmRleCA+PSB0aGlzLmhhbmRsZUluZGV4TGltaXQpCi0gICAgICByZXR1cm4gZmFsc2U7
Ci0KLSAgICAvLyBUaGlzIGlzIHNhZmUgYmVjYXVzZSBoYW5kbGUgaW5kaWNlcyBhcmUgdWludDMy
LgotICAgIHRoaXMuaGFuZGxlSW5kZXggPSBpbmRleCArIDE7Ci0gICAgcmV0dXJuIHRydWU7Ci0g
IH07Ci0KLSAgVmFsaWRhdG9yLnByb3RvdHlwZS5jbGFpbUFzc29jaWF0ZWRFbmRwb2ludEhhbmRs
ZSA9IGZ1bmN0aW9uKGluZGV4KSB7Ci0gICAgaWYgKGluZGV4ID09PSBpbnRlcm5hbC5rRW5jb2Rl
ZEludmFsaWRIYW5kbGVWYWx1ZSkgewotICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfQotCi0gICAg
aWYgKGluZGV4IDwgdGhpcy5hc3NvY2lhdGVkRW5kcG9pbnRIYW5kbGVJbmRleCB8fAotICAgICAg
ICBpbmRleCA+PSB0aGlzLmFzc29jaWF0ZWRIYW5kbGVJbmRleExpbWl0KSB7Ci0gICAgICByZXR1
cm4gZmFsc2U7Ci0gICAgfQotCi0gICAgLy8gVGhpcyBpcyBzYWZlIGJlY2F1c2UgaGFuZGxlIGlu
ZGljZXMgYXJlIHVpbnQzMi4KLSAgICB0aGlzLmFzc29jaWF0ZWRFbmRwb2ludEhhbmRsZUluZGV4
ID0gaW5kZXggKyAxOwotICAgIHJldHVybiB0cnVlOwotICB9OwotCi0gIFZhbGlkYXRvci5wcm90
b3R5cGUudmFsaWRhdGVFbnVtID0gZnVuY3Rpb24ob2Zmc2V0LCBlbnVtQ2xhc3MpIHsKLSAgICAv
LyBOb3RlOiBBc3N1bWVzIHRoYXQgZW51bXMgYXJlIGFsd2F5cyAzMiBiaXRzISBCdXQgdGhpcyBt
YXRjaGVzCi0gICAgLy8gbW9qb206OmdlbmVyYXRlOjpwYWNrOjpQYWNrZWRGaWVsZDo6R2V0U2l6
ZUZvcktpbmQsIHNvIGl0IHNob3VsZCBiZSBva2F5LgotICAgIHZhciB2YWx1ZSA9IHRoaXMubWVz
c2FnZS5idWZmZXIuZ2V0SW50MzIob2Zmc2V0KTsKLSAgICByZXR1cm4gZW51bUNsYXNzLnZhbGlk
YXRlKHZhbHVlKTsKLSAgfQotCi0gIFZhbGlkYXRvci5wcm90b3R5cGUudmFsaWRhdGVIYW5kbGUg
PSBmdW5jdGlvbihvZmZzZXQsIG51bGxhYmxlKSB7Ci0gICAgdmFyIGluZGV4ID0gdGhpcy5tZXNz
YWdlLmJ1ZmZlci5nZXRVaW50MzIob2Zmc2V0KTsKLQotICAgIGlmIChpbmRleCA9PT0gaW50ZXJu
YWwua0VuY29kZWRJbnZhbGlkSGFuZGxlVmFsdWUpCi0gICAgICByZXR1cm4gbnVsbGFibGUgPwot
ICAgICAgICAgIHZhbGlkYXRpb25FcnJvci5OT05FIDogdmFsaWRhdGlvbkVycm9yLlVORVhQRUNU
RURfSU5WQUxJRF9IQU5ETEU7Ci0KLSAgICBpZiAoIXRoaXMuY2xhaW1IYW5kbGUoaW5kZXgpKQot
ICAgICAgcmV0dXJuIHZhbGlkYXRpb25FcnJvci5JTExFR0FMX0hBTkRMRTsKLQotICAgIHJldHVy
biB2YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQotICBWYWxpZGF0b3IucHJvdG90eXBlLnZh
bGlkYXRlQXNzb2NpYXRlZEVuZHBvaW50SGFuZGxlID0gZnVuY3Rpb24ob2Zmc2V0LAotICAgICAg
bnVsbGFibGUpIHsKLSAgICB2YXIgaW5kZXggPSB0aGlzLm1lc3NhZ2UuYnVmZmVyLmdldFVpbnQz
MihvZmZzZXQpOwotCi0gICAgaWYgKGluZGV4ID09PSBpbnRlcm5hbC5rRW5jb2RlZEludmFsaWRI
YW5kbGVWYWx1ZSkgewotICAgICAgcmV0dXJuIG51bGxhYmxlID8gdmFsaWRhdGlvbkVycm9yLk5P
TkUgOgotICAgICAgICAgIHZhbGlkYXRpb25FcnJvci5VTkVYUEVDVEVEX0lOVkFMSURfSU5URVJG
QUNFX0lEOwotICAgIH0KLQotICAgIGlmICghdGhpcy5jbGFpbUFzc29jaWF0ZWRFbmRwb2ludEhh
bmRsZShpbmRleCkpIHsKLSAgICAgIHJldHVybiB2YWxpZGF0aW9uRXJyb3IuSUxMRUdBTF9JTlRF
UkZBQ0VfSUQ7Ci0gICAgfQotCi0gICAgcmV0dXJuIHZhbGlkYXRpb25FcnJvci5OT05FOwotICB9
OwotCi0gIFZhbGlkYXRvci5wcm90b3R5cGUudmFsaWRhdGVJbnRlcmZhY2UgPSBmdW5jdGlvbihv
ZmZzZXQsIG51bGxhYmxlKSB7Ci0gICAgcmV0dXJuIHRoaXMudmFsaWRhdGVIYW5kbGUob2Zmc2V0
LCBudWxsYWJsZSk7Ci0gIH07Ci0KLSAgVmFsaWRhdG9yLnByb3RvdHlwZS52YWxpZGF0ZUludGVy
ZmFjZVJlcXVlc3QgPSBmdW5jdGlvbihvZmZzZXQsIG51bGxhYmxlKSB7Ci0gICAgcmV0dXJuIHRo
aXMudmFsaWRhdGVIYW5kbGUob2Zmc2V0LCBudWxsYWJsZSk7Ci0gIH07Ci0KLSAgVmFsaWRhdG9y
LnByb3RvdHlwZS52YWxpZGF0ZUFzc29jaWF0ZWRJbnRlcmZhY2UgPSBmdW5jdGlvbihvZmZzZXQs
Ci0gICAgICBudWxsYWJsZSkgewotICAgIHJldHVybiB0aGlzLnZhbGlkYXRlQXNzb2NpYXRlZEVu
ZHBvaW50SGFuZGxlKG9mZnNldCwgbnVsbGFibGUpOwotICB9OwotCi0gIFZhbGlkYXRvci5wcm90
b3R5cGUudmFsaWRhdGVBc3NvY2lhdGVkSW50ZXJmYWNlUmVxdWVzdCA9IGZ1bmN0aW9uKAotICAg
ICAgb2Zmc2V0LCBudWxsYWJsZSkgewotICAgIHJldHVybiB0aGlzLnZhbGlkYXRlQXNzb2NpYXRl
ZEVuZHBvaW50SGFuZGxlKG9mZnNldCwgbnVsbGFibGUpOwotICB9OwotCi0gIFZhbGlkYXRvci5w
cm90b3R5cGUudmFsaWRhdGVTdHJ1Y3RIZWFkZXIgPSBmdW5jdGlvbihvZmZzZXQsIG1pbk51bUJ5
dGVzKSB7Ci0gICAgaWYgKCFpbnRlcm5hbC5pc0FsaWduZWQob2Zmc2V0KSkKLSAgICAgIHJldHVy
biB2YWxpZGF0aW9uRXJyb3IuTUlTQUxJR05FRF9PQkpFQ1Q7Ci0KLSAgICBpZiAoIXRoaXMuaXNW
YWxpZFJhbmdlKG9mZnNldCwgaW50ZXJuYWwua1N0cnVjdEhlYWRlclNpemUpKQotICAgICAgcmV0
dXJuIHZhbGlkYXRpb25FcnJvci5JTExFR0FMX01FTU9SWV9SQU5HRTsKLQotICAgIHZhciBudW1C
eXRlcyA9IHRoaXMubWVzc2FnZS5idWZmZXIuZ2V0VWludDMyKG9mZnNldCk7Ci0KLSAgICBpZiAo
bnVtQnl0ZXMgPCBtaW5OdW1CeXRlcykKLSAgICAgIHJldHVybiB2YWxpZGF0aW9uRXJyb3IuVU5F
WFBFQ1RFRF9TVFJVQ1RfSEVBREVSOwotCi0gICAgaWYgKCF0aGlzLmNsYWltUmFuZ2Uob2Zmc2V0
LCBudW1CeXRlcykpCi0gICAgICByZXR1cm4gdmFsaWRhdGlvbkVycm9yLklMTEVHQUxfTUVNT1JZ
X1JBTkdFOwotCi0gICAgcmV0dXJuIHZhbGlkYXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIFZh
bGlkYXRvci5wcm90b3R5cGUudmFsaWRhdGVTdHJ1Y3RWZXJzaW9uID0gZnVuY3Rpb24ob2Zmc2V0
LCB2ZXJzaW9uU2l6ZXMpIHsKLSAgICB2YXIgbnVtQnl0ZXMgPSB0aGlzLm1lc3NhZ2UuYnVmZmVy
LmdldFVpbnQzMihvZmZzZXQpOwotICAgIHZhciB2ZXJzaW9uID0gdGhpcy5tZXNzYWdlLmJ1ZmZl
ci5nZXRVaW50MzIob2Zmc2V0ICsgNCk7Ci0KLSAgICBpZiAodmVyc2lvbiA8PSB2ZXJzaW9uU2l6
ZXNbdmVyc2lvblNpemVzLmxlbmd0aCAtIDFdLnZlcnNpb24pIHsKLSAgICAgIC8vIFNjYW4gaW4g
cmV2ZXJzZSBvcmRlciB0byBvcHRpbWl6ZSBmb3IgbW9yZSByZWNlbnQgdmVyc2lvblNpemVzLgot
ICAgICAgZm9yICh2YXIgaSA9IHZlcnNpb25TaXplcy5sZW5ndGggLSAxOyBpID49IDA7IC0taSkg
ewotICAgICAgICBpZiAodmVyc2lvbiA+PSB2ZXJzaW9uU2l6ZXNbaV0udmVyc2lvbikgewotICAg
ICAgICAgIGlmIChudW1CeXRlcyA9PSB2ZXJzaW9uU2l6ZXNbaV0ubnVtQnl0ZXMpCi0gICAgICAg
ICAgICBicmVhazsKLSAgICAgICAgICByZXR1cm4gdmFsaWRhdGlvbkVycm9yLlVORVhQRUNURURf
U1RSVUNUX0hFQURFUjsKLSAgICAgICAgfQotICAgICAgfQotICAgIH0gZWxzZSBpZiAobnVtQnl0
ZXMgPCB2ZXJzaW9uU2l6ZXNbdmVyc2lvblNpemVzLmxlbmd0aC0xXS5udW1CeXRlcykgewotICAg
ICAgcmV0dXJuIHZhbGlkYXRpb25FcnJvci5VTkVYUEVDVEVEX1NUUlVDVF9IRUFERVI7Ci0gICAg
fQotCi0gICAgcmV0dXJuIHZhbGlkYXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIFZhbGlkYXRv
ci5wcm90b3R5cGUuaXNGaWVsZEluU3RydWN0VmVyc2lvbiA9IGZ1bmN0aW9uKG9mZnNldCwgZmll
bGRWZXJzaW9uKSB7Ci0gICAgdmFyIHN0cnVjdFZlcnNpb24gPSB0aGlzLm1lc3NhZ2UuYnVmZmVy
LmdldFVpbnQzMihvZmZzZXQgKyA0KTsKLSAgICByZXR1cm4gZmllbGRWZXJzaW9uIDw9IHN0cnVj
dFZlcnNpb247Ci0gIH07Ci0KLSAgVmFsaWRhdG9yLnByb3RvdHlwZS52YWxpZGF0ZU1lc3NhZ2VI
ZWFkZXIgPSBmdW5jdGlvbigpIHsKLSAgICB2YXIgZXJyID0gdGhpcy52YWxpZGF0ZVN0cnVjdEhl
YWRlcigwLCBpbnRlcm5hbC5rTWVzc2FnZVYwSGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVyciAhPSB2
YWxpZGF0aW9uRXJyb3IuTk9ORSkgewotICAgICAgcmV0dXJuIGVycjsKLSAgICB9Ci0KLSAgICB2
YXIgbnVtQnl0ZXMgPSB0aGlzLm1lc3NhZ2UuZ2V0SGVhZGVyTnVtQnl0ZXMoKTsKLSAgICB2YXIg
dmVyc2lvbiA9IHRoaXMubWVzc2FnZS5nZXRIZWFkZXJWZXJzaW9uKCk7Ci0KLSAgICB2YXIgdmFs
aWRWZXJzaW9uQW5kTnVtQnl0ZXMgPQotICAgICAgICAodmVyc2lvbiA9PSAwICYmIG51bUJ5dGVz
ID09IGludGVybmFsLmtNZXNzYWdlVjBIZWFkZXJTaXplKSB8fAotICAgICAgICAodmVyc2lvbiA9
PSAxICYmIG51bUJ5dGVzID09IGludGVybmFsLmtNZXNzYWdlVjFIZWFkZXJTaXplKSB8fAotICAg
ICAgICAodmVyc2lvbiA9PSAyICYmIG51bUJ5dGVzID09IGludGVybmFsLmtNZXNzYWdlVjJIZWFk
ZXJTaXplKSB8fAotICAgICAgICAodmVyc2lvbiA+IDIgJiYgbnVtQnl0ZXMgPj0gaW50ZXJuYWwu
a01lc3NhZ2VWMkhlYWRlclNpemUpOwotCi0gICAgaWYgKCF2YWxpZFZlcnNpb25BbmROdW1CeXRl
cykgewotICAgICAgcmV0dXJuIHZhbGlkYXRpb25FcnJvci5VTkVYUEVDVEVEX1NUUlVDVF9IRUFE
RVI7Ci0gICAgfQotCi0gICAgdmFyIGV4cGVjdHNSZXNwb25zZSA9IHRoaXMubWVzc2FnZS5leHBl
Y3RzUmVzcG9uc2UoKTsKLSAgICB2YXIgaXNSZXNwb25zZSA9IHRoaXMubWVzc2FnZS5pc1Jlc3Bv
bnNlKCk7Ci0KLSAgICBpZiAodmVyc2lvbiA9PSAwICYmIChleHBlY3RzUmVzcG9uc2UgfHwgaXNS
ZXNwb25zZSkpIHsKLSAgICAgIHJldHVybiB2YWxpZGF0aW9uRXJyb3IuTUVTU0FHRV9IRUFERVJf
TUlTU0lOR19SRVFVRVNUX0lEOwotICAgIH0KLQotICAgIGlmIChpc1Jlc3BvbnNlICYmIGV4cGVj
dHNSZXNwb25zZSkgewotICAgICAgcmV0dXJuIHZhbGlkYXRpb25FcnJvci5NRVNTQUdFX0hFQURF
Ul9JTlZBTElEX0ZMQUdTOwotICAgIH0KLQotICAgIGlmICh2ZXJzaW9uIDwgMikgewotICAgICAg
cmV0dXJuIHZhbGlkYXRpb25FcnJvci5OT05FOwotICAgIH0KLQotICAgIHZhciBlcnIgPSB0aGlz
LnZhbGlkYXRlQXJyYXlQb2ludGVyKAotICAgICAgICBpbnRlcm5hbC5rTWVzc2FnZVBheWxvYWRJ
bnRlcmZhY2VJZHNQb2ludGVyT2Zmc2V0LAotICAgICAgICBpbnRlcm5hbC5VaW50MzIuZW5jb2Rl
ZFNpemUsIGludGVybmFsLlVpbnQzMiwgdHJ1ZSwgWzBdLCAwKTsKLQotICAgIGlmIChlcnIgIT0g
dmFsaWRhdGlvbkVycm9yLk5PTkUpIHsKLSAgICAgIHJldHVybiBlcnI7Ci0gICAgfQotCi0gICAg
dGhpcy5wYXlsb2FkSW50ZXJmYWNlSWRzID0gdGhpcy5tZXNzYWdlLmdldFBheWxvYWRJbnRlcmZh
Y2VJZHMoKTsKLSAgICBpZiAodGhpcy5wYXlsb2FkSW50ZXJmYWNlSWRzKSB7Ci0gICAgICBmb3Ig
KHZhciBpbnRlcmZhY2VJZCBvZiB0aGlzLnBheWxvYWRJbnRlcmZhY2VJZHMpIHsKLSAgICAgICAg
aWYgKCFpbnRlcm5hbC5pc1ZhbGlkSW50ZXJmYWNlSWQoaW50ZXJmYWNlSWQpIHx8Ci0gICAgICAg
ICAgICBpbnRlcm5hbC5pc01hc3RlckludGVyZmFjZUlkKGludGVyZmFjZUlkKSkgewotICAgICAg
ICAgIHJldHVybiB2YWxpZGF0aW9uRXJyb3IuSUxMRUdBTF9JTlRFUkZBQ0VfSUQ7Ci0gICAgICAg
IH0KLSAgICAgIH0KLSAgICB9Ci0KLSAgICAvLyBTZXQgb2Zmc2V0IHRvIHRoZSBzdGFydCBvZiB0
aGUgcGF5bG9hZCBhbmQgb2Zmc2V0TGltaXQgdG8gdGhlIHN0YXJ0IG9mCi0gICAgLy8gdGhlIHBh
eWxvYWQgaW50ZXJmYWNlIElkcyBzbyB0aGF0IHBheWxvYWQgY2FuIGJlIHZhbGlkYXRlZCB1c2lu
ZyB0aGUKLSAgICAvLyBzYW1lIG1lc3NhZ2VWYWxpZGF0b3IuCi0gICAgdGhpcy5vZmZzZXQgPSB0
aGlzLm1lc3NhZ2UuZ2V0SGVhZGVyTnVtQnl0ZXMoKTsKLSAgICB0aGlzLm9mZnNldExpbWl0ID0g
dGhpcy5kZWNvZGVQb2ludGVyKAotICAgICAgICBpbnRlcm5hbC5rTWVzc2FnZVBheWxvYWRJbnRl
cmZhY2VJZHNQb2ludGVyT2Zmc2V0KTsKLQotICAgIHJldHVybiB2YWxpZGF0aW9uRXJyb3IuTk9O
RTsKLSAgfTsKLQotICBWYWxpZGF0b3IucHJvdG90eXBlLnZhbGlkYXRlTWVzc2FnZUlzUmVxdWVz
dFdpdGhvdXRSZXNwb25zZSA9IGZ1bmN0aW9uKCkgewotICAgIGlmICh0aGlzLm1lc3NhZ2UuaXNS
ZXNwb25zZSgpIHx8IHRoaXMubWVzc2FnZS5leHBlY3RzUmVzcG9uc2UoKSkgewotICAgICAgcmV0
dXJuIHZhbGlkYXRpb25FcnJvci5NRVNTQUdFX0hFQURFUl9JTlZBTElEX0ZMQUdTOwotICAgIH0K
LSAgICByZXR1cm4gdmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gIH07Ci0KLSAgVmFsaWRhdG9yLnBy
b3RvdHlwZS52YWxpZGF0ZU1lc3NhZ2VJc1JlcXVlc3RFeHBlY3RpbmdSZXNwb25zZSA9IGZ1bmN0
aW9uKCkgewotICAgIGlmICh0aGlzLm1lc3NhZ2UuaXNSZXNwb25zZSgpIHx8ICF0aGlzLm1lc3Nh
Z2UuZXhwZWN0c1Jlc3BvbnNlKCkpIHsKLSAgICAgIHJldHVybiB2YWxpZGF0aW9uRXJyb3IuTUVT
U0FHRV9IRUFERVJfSU5WQUxJRF9GTEFHUzsKLSAgICB9Ci0gICAgcmV0dXJuIHZhbGlkYXRpb25F
cnJvci5OT05FOwotICB9OwotCi0gIFZhbGlkYXRvci5wcm90b3R5cGUudmFsaWRhdGVNZXNzYWdl
SXNSZXNwb25zZSA9IGZ1bmN0aW9uKCkgewotICAgIGlmICh0aGlzLm1lc3NhZ2UuZXhwZWN0c1Jl
c3BvbnNlKCkgfHwgIXRoaXMubWVzc2FnZS5pc1Jlc3BvbnNlKCkpIHsKLSAgICAgIHJldHVybiB2
YWxpZGF0aW9uRXJyb3IuTUVTU0FHRV9IRUFERVJfSU5WQUxJRF9GTEFHUzsKLSAgICB9Ci0gICAg
cmV0dXJuIHZhbGlkYXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIC8vIFJldHVybnMgdGhlIG1l
c3NhZ2UuYnVmZmVyIHJlbGF0aXZlIG9mZnNldCB0aGlzIHBvaW50ZXIgInBvaW50cyB0byIsCi0g
IC8vIE5VTExfTU9KT19QT0lOVEVSIGlmIHRoZSBwb2ludGVyIHJlcHJlc2VudHMgYSBudWxsLCBv
ciBKUyBudWxsIGlmIHRoZQotICAvLyBwb2ludGVyJ3MgdmFsdWUgaXMgbm90IHZhbGlkLgotICBW
YWxpZGF0b3IucHJvdG90eXBlLmRlY29kZVBvaW50ZXIgPSBmdW5jdGlvbihvZmZzZXQpIHsKLSAg
ICB2YXIgcG9pbnRlclZhbHVlID0gdGhpcy5tZXNzYWdlLmJ1ZmZlci5nZXRVaW50NjQob2Zmc2V0
KTsKLSAgICBpZiAocG9pbnRlclZhbHVlID09PSAwKQotICAgICAgcmV0dXJuIE5VTExfTU9KT19Q
T0lOVEVSOwotICAgIHZhciBidWZmZXJPZmZzZXQgPSBvZmZzZXQgKyBwb2ludGVyVmFsdWU7Ci0g
ICAgcmV0dXJuIE51bWJlci5pc1NhZmVJbnRlZ2VyKGJ1ZmZlck9mZnNldCkgPyBidWZmZXJPZmZz
ZXQgOiBudWxsOwotICB9OwotCi0gIFZhbGlkYXRvci5wcm90b3R5cGUuZGVjb2RlVW5pb25TaXpl
ID0gZnVuY3Rpb24ob2Zmc2V0KSB7Ci0gICAgcmV0dXJuIHRoaXMubWVzc2FnZS5idWZmZXIuZ2V0
VWludDMyKG9mZnNldCk7Ci0gIH07Ci0KLSAgVmFsaWRhdG9yLnByb3RvdHlwZS5kZWNvZGVVbmlv
blRhZyA9IGZ1bmN0aW9uKG9mZnNldCkgewotICAgIHJldHVybiB0aGlzLm1lc3NhZ2UuYnVmZmVy
LmdldFVpbnQzMihvZmZzZXQgKyA0KTsKLSAgfTsKLQotICBWYWxpZGF0b3IucHJvdG90eXBlLnZh
bGlkYXRlQXJyYXlQb2ludGVyID0gZnVuY3Rpb24oCi0gICAgICBvZmZzZXQsIGVsZW1lbnRTaXpl
LCBlbGVtZW50VHlwZSwgbnVsbGFibGUsIGV4cGVjdGVkRGltZW5zaW9uU2l6ZXMsCi0gICAgICBj
dXJyZW50RGltZW5zaW9uKSB7Ci0gICAgdmFyIGFycmF5T2Zmc2V0ID0gdGhpcy5kZWNvZGVQb2lu
dGVyKG9mZnNldCk7Ci0gICAgaWYgKGFycmF5T2Zmc2V0ID09PSBudWxsKQotICAgICAgcmV0dXJu
IHZhbGlkYXRpb25FcnJvci5JTExFR0FMX1BPSU5URVI7Ci0KLSAgICBpZiAoYXJyYXlPZmZzZXQg
PT09IE5VTExfTU9KT19QT0lOVEVSKQotICAgICAgcmV0dXJuIG51bGxhYmxlID8KLSAgICAgICAg
ICB2YWxpZGF0aW9uRXJyb3IuTk9ORSA6IHZhbGlkYXRpb25FcnJvci5VTkVYUEVDVEVEX05VTExf
UE9JTlRFUjsKLQotICAgIHJldHVybiB0aGlzLnZhbGlkYXRlQXJyYXkoYXJyYXlPZmZzZXQsIGVs
ZW1lbnRTaXplLCBlbGVtZW50VHlwZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4
cGVjdGVkRGltZW5zaW9uU2l6ZXMsIGN1cnJlbnREaW1lbnNpb24pOwotICB9OwotCi0gIFZhbGlk
YXRvci5wcm90b3R5cGUudmFsaWRhdGVTdHJ1Y3RQb2ludGVyID0gZnVuY3Rpb24oCi0gICAgICBv
ZmZzZXQsIHN0cnVjdENsYXNzLCBudWxsYWJsZSkgewotICAgIHZhciBzdHJ1Y3RPZmZzZXQgPSB0
aGlzLmRlY29kZVBvaW50ZXIob2Zmc2V0KTsKLSAgICBpZiAoc3RydWN0T2Zmc2V0ID09PSBudWxs
KQotICAgICAgcmV0dXJuIHZhbGlkYXRpb25FcnJvci5JTExFR0FMX1BPSU5URVI7Ci0KLSAgICBp
ZiAoc3RydWN0T2Zmc2V0ID09PSBOVUxMX01PSk9fUE9JTlRFUikKLSAgICAgIHJldHVybiBudWxs
YWJsZSA/Ci0gICAgICAgICAgdmFsaWRhdGlvbkVycm9yLk5PTkUgOiB2YWxpZGF0aW9uRXJyb3Iu
VU5FWFBFQ1RFRF9OVUxMX1BPSU5URVI7Ci0KLSAgICByZXR1cm4gc3RydWN0Q2xhc3MudmFsaWRh
dGUodGhpcywgc3RydWN0T2Zmc2V0KTsKLSAgfTsKLQotICBWYWxpZGF0b3IucHJvdG90eXBlLnZh
bGlkYXRlVW5pb24gPSBmdW5jdGlvbigKLSAgICAgIG9mZnNldCwgdW5pb25DbGFzcywgbnVsbGFi
bGUpIHsKLSAgICB2YXIgc2l6ZSA9IHRoaXMubWVzc2FnZS5idWZmZXIuZ2V0VWludDMyKG9mZnNl
dCk7Ci0gICAgaWYgKHNpemUgPT0gMCkgewotICAgICAgcmV0dXJuIG51bGxhYmxlID8KLSAgICAg
ICAgICB2YWxpZGF0aW9uRXJyb3IuTk9ORSA6IHZhbGlkYXRpb25FcnJvci5VTkVYUEVDVEVEX05V
TExfVU5JT047Ci0gICAgfQotCi0gICAgcmV0dXJuIHVuaW9uQ2xhc3MudmFsaWRhdGUodGhpcywg
b2Zmc2V0KTsKLSAgfTsKLQotICBWYWxpZGF0b3IucHJvdG90eXBlLnZhbGlkYXRlTmVzdGVkVW5p
b24gPSBmdW5jdGlvbigKLSAgICAgIG9mZnNldCwgdW5pb25DbGFzcywgbnVsbGFibGUpIHsKLSAg
ICB2YXIgdW5pb25PZmZzZXQgPSB0aGlzLmRlY29kZVBvaW50ZXIob2Zmc2V0KTsKLSAgICBpZiAo
dW5pb25PZmZzZXQgPT09IG51bGwpCi0gICAgICByZXR1cm4gdmFsaWRhdGlvbkVycm9yLklMTEVH
QUxfUE9JTlRFUjsKLQotICAgIGlmICh1bmlvbk9mZnNldCA9PT0gTlVMTF9NT0pPX1BPSU5URVIp
Ci0gICAgICByZXR1cm4gbnVsbGFibGUgPwotICAgICAgICAgIHZhbGlkYXRpb25FcnJvci5OT05F
IDogdmFsaWRhdGlvbkVycm9yLlVORVhQRUNURURfTlVMTF9VTklPTjsKLQotICAgIHJldHVybiB0
aGlzLnZhbGlkYXRlVW5pb24odW5pb25PZmZzZXQsIHVuaW9uQ2xhc3MsIG51bGxhYmxlKTsKLSAg
fTsKLQotICAvLyBUaGlzIG1ldGhvZCBhc3N1bWVzIHRoYXQgdGhlIGFycmF5IGF0IGFycmF5UG9p
bnRlck9mZnNldCBoYXMKLSAgLy8gYmVlbiB2YWxpZGF0ZWQuCi0KLSAgVmFsaWRhdG9yLnByb3Rv
dHlwZS5hcnJheUxlbmd0aCA9IGZ1bmN0aW9uKGFycmF5UG9pbnRlck9mZnNldCkgewotICAgIHZh
ciBhcnJheU9mZnNldCA9IHRoaXMuZGVjb2RlUG9pbnRlcihhcnJheVBvaW50ZXJPZmZzZXQpOwot
ICAgIHJldHVybiB0aGlzLm1lc3NhZ2UuYnVmZmVyLmdldFVpbnQzMihhcnJheU9mZnNldCArIDQp
OwotICB9OwotCi0gIFZhbGlkYXRvci5wcm90b3R5cGUudmFsaWRhdGVNYXBQb2ludGVyID0gZnVu
Y3Rpb24oCi0gICAgICBvZmZzZXQsIG1hcElzTnVsbGFibGUsIGtleUNsYXNzLCB2YWx1ZUNsYXNz
LCB2YWx1ZUlzTnVsbGFibGUpIHsKLSAgICAvLyBWYWxpZGF0ZSB0aGUgaW1wbGljaXQgbWFwIHN0
cnVjdDoKLSAgICAvLyBzdHJ1Y3Qge2FycmF5PGtleUNsYXNzPiBrZXlzOyBhcnJheTx2YWx1ZUNs
YXNzPiB2YWx1ZXN9OwotICAgIHZhciBzdHJ1Y3RPZmZzZXQgPSB0aGlzLmRlY29kZVBvaW50ZXIo
b2Zmc2V0KTsKLSAgICBpZiAoc3RydWN0T2Zmc2V0ID09PSBudWxsKQotICAgICAgcmV0dXJuIHZh
bGlkYXRpb25FcnJvci5JTExFR0FMX1BPSU5URVI7Ci0KLSAgICBpZiAoc3RydWN0T2Zmc2V0ID09
PSBOVUxMX01PSk9fUE9JTlRFUikKLSAgICAgIHJldHVybiBtYXBJc051bGxhYmxlID8KLSAgICAg
ICAgICB2YWxpZGF0aW9uRXJyb3IuTk9ORSA6IHZhbGlkYXRpb25FcnJvci5VTkVYUEVDVEVEX05V
TExfUE9JTlRFUjsKLQotICAgIHZhciBtYXBFbmNvZGVkU2l6ZSA9IGludGVybmFsLmtTdHJ1Y3RI
ZWFkZXJTaXplICsKLSAgICAgICAgICAgICAgICAgICAgICAgICBpbnRlcm5hbC5rTWFwU3RydWN0
UGF5bG9hZFNpemU7Ci0gICAgdmFyIGVyciA9IHRoaXMudmFsaWRhdGVTdHJ1Y3RIZWFkZXIoc3Ry
dWN0T2Zmc2V0LCBtYXBFbmNvZGVkU2l6ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdGlvbkVy
cm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICAvLyBWYWxpZGF0ZSB0aGUga2V5
cyBhcnJheS4KLSAgICB2YXIga2V5c0FycmF5UG9pbnRlck9mZnNldCA9IHN0cnVjdE9mZnNldCAr
IGludGVybmFsLmtTdHJ1Y3RIZWFkZXJTaXplOwotICAgIGVyciA9IHRoaXMudmFsaWRhdGVBcnJh
eVBvaW50ZXIoCi0gICAgICAgIGtleXNBcnJheVBvaW50ZXJPZmZzZXQsIGtleUNsYXNzLmVuY29k
ZWRTaXplLCBrZXlDbGFzcywgZmFsc2UsIFswXSwgMCk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRh
dGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICAvLyBWYWxpZGF0ZSB0
aGUgdmFsdWVzIGFycmF5LgotICAgIHZhciB2YWx1ZXNBcnJheVBvaW50ZXJPZmZzZXQgPSBrZXlz
QXJyYXlQb2ludGVyT2Zmc2V0ICsgODsKLSAgICB2YXIgdmFsdWVzQXJyYXlEaW1lbnNpb25zID0g
WzBdOyAvLyBWYWxpZGF0ZSB0aGUgYWN0dWFsIGxlbmd0aCBiZWxvdy4KLSAgICBpZiAodmFsdWVD
bGFzcyBpbnN0YW5jZW9mIGludGVybmFsLkFycmF5T2YpCi0gICAgICB2YWx1ZXNBcnJheURpbWVu
c2lvbnMgPQotICAgICAgICAgIHZhbHVlc0FycmF5RGltZW5zaW9ucy5jb25jYXQodmFsdWVDbGFz
cy5kaW1lbnNpb25zKCkpOwotICAgIHZhciBlcnIgPSB0aGlzLnZhbGlkYXRlQXJyYXlQb2ludGVy
KHZhbHVlc0FycmF5UG9pbnRlck9mZnNldCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB2YWx1ZUNsYXNzLmVuY29kZWRTaXplLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHZhbHVlQ2xhc3MsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdmFsdWVJc051bGxhYmxlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHZhbHVlc0FycmF5RGltZW5zaW9ucywKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAwKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0aW9uRXJy
b3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIC8vIFZhbGlkYXRlIHRoZSBsZW5n
dGhzIG9mIHRoZSBrZXlzIGFuZCB2YWx1ZXMgYXJyYXlzLgotICAgIHZhciBrZXlzQXJyYXlMZW5n
dGggPSB0aGlzLmFycmF5TGVuZ3RoKGtleXNBcnJheVBvaW50ZXJPZmZzZXQpOwotICAgIHZhciB2
YWx1ZXNBcnJheUxlbmd0aCA9IHRoaXMuYXJyYXlMZW5ndGgodmFsdWVzQXJyYXlQb2ludGVyT2Zm
c2V0KTsKLSAgICBpZiAoa2V5c0FycmF5TGVuZ3RoICE9IHZhbHVlc0FycmF5TGVuZ3RoKQotICAg
ICAgcmV0dXJuIHZhbGlkYXRpb25FcnJvci5ESUZGRVJFTlRfU0laRURfQVJSQVlTX0lOX01BUDsK
LQotICAgIHJldHVybiB2YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQotICBWYWxpZGF0b3Iu
cHJvdG90eXBlLnZhbGlkYXRlU3RyaW5nUG9pbnRlciA9IGZ1bmN0aW9uKG9mZnNldCwgbnVsbGFi
bGUpIHsKLSAgICByZXR1cm4gdGhpcy52YWxpZGF0ZUFycmF5UG9pbnRlcigKLSAgICAgICAgb2Zm
c2V0LCBpbnRlcm5hbC5VaW50OC5lbmNvZGVkU2l6ZSwgaW50ZXJuYWwuVWludDgsIG51bGxhYmxl
LCBbMF0sIDApOwotICB9OwotCi0gIC8vIFNpbWlsYXIgdG8gQXJyYXlfRGF0YTxUPjo6VmFsaWRh
dGUoKQotICAvLyBtb2pvL3B1YmxpYy9jcHAvYmluZGluZ3MvbGliL2FycmF5X2ludGVybmFsLmgK
LQotICBWYWxpZGF0b3IucHJvdG90eXBlLnZhbGlkYXRlQXJyYXkgPQotICAgICAgZnVuY3Rpb24g
KG9mZnNldCwgZWxlbWVudFNpemUsIGVsZW1lbnRUeXBlLCBleHBlY3RlZERpbWVuc2lvblNpemVz
LAotICAgICAgICAgICAgICAgIGN1cnJlbnREaW1lbnNpb24pIHsKLSAgICBpZiAoIWludGVybmFs
LmlzQWxpZ25lZChvZmZzZXQpKQotICAgICAgcmV0dXJuIHZhbGlkYXRpb25FcnJvci5NSVNBTElH
TkVEX09CSkVDVDsKLQotICAgIGlmICghdGhpcy5pc1ZhbGlkUmFuZ2Uob2Zmc2V0LCBpbnRlcm5h
bC5rQXJyYXlIZWFkZXJTaXplKSkKLSAgICAgIHJldHVybiB2YWxpZGF0aW9uRXJyb3IuSUxMRUdB
TF9NRU1PUllfUkFOR0U7Ci0KLSAgICB2YXIgbnVtQnl0ZXMgPSB0aGlzLm1lc3NhZ2UuYnVmZmVy
LmdldFVpbnQzMihvZmZzZXQpOwotICAgIHZhciBudW1FbGVtZW50cyA9IHRoaXMubWVzc2FnZS5i
dWZmZXIuZ2V0VWludDMyKG9mZnNldCArIDQpOwotCi0gICAgLy8gTm90ZTogdGhpcyBjb21wdXRh
dGlvbiBpcyAic2FmZSIgYmVjYXVzZSBlbGVtZW50U2l6ZSA8PSA4IGFuZAotICAgIC8vIG51bUVs
ZW1lbnRzIGlzIGEgdWludDMyLgotICAgIHZhciBlbGVtZW50c1RvdGFsU2l6ZSA9IChlbGVtZW50
VHlwZSA9PT0gaW50ZXJuYWwuUGFja2VkQm9vbCkgPwotICAgICAgICBNYXRoLmNlaWwobnVtRWxl
bWVudHMgLyA4KSA6IChlbGVtZW50U2l6ZSAqIG51bUVsZW1lbnRzKTsKLQotICAgIGlmIChudW1C
eXRlcyA8IGludGVybmFsLmtBcnJheUhlYWRlclNpemUgKyBlbGVtZW50c1RvdGFsU2l6ZSkKLSAg
ICAgIHJldHVybiB2YWxpZGF0aW9uRXJyb3IuVU5FWFBFQ1RFRF9BUlJBWV9IRUFERVI7Ci0KLSAg
ICBpZiAoZXhwZWN0ZWREaW1lbnNpb25TaXplc1tjdXJyZW50RGltZW5zaW9uXSAhPSAwICYmCi0g
ICAgICAgIG51bUVsZW1lbnRzICE9IGV4cGVjdGVkRGltZW5zaW9uU2l6ZXNbY3VycmVudERpbWVu
c2lvbl0pIHsKLSAgICAgIHJldHVybiB2YWxpZGF0aW9uRXJyb3IuVU5FWFBFQ1RFRF9BUlJBWV9I
RUFERVI7Ci0gICAgfQotCi0gICAgaWYgKCF0aGlzLmNsYWltUmFuZ2Uob2Zmc2V0LCBudW1CeXRl
cykpCi0gICAgICByZXR1cm4gdmFsaWRhdGlvbkVycm9yLklMTEVHQUxfTUVNT1JZX1JBTkdFOwot
Ci0gICAgLy8gVmFsaWRhdGUgdGhlIGFycmF5J3MgZWxlbWVudHMgaWYgdGhleSBhcmUgcG9pbnRl
cnMgb3IgaGFuZGxlcy4KLQotICAgIHZhciBlbGVtZW50c09mZnNldCA9IG9mZnNldCArIGludGVy
bmFsLmtBcnJheUhlYWRlclNpemU7Ci0gICAgdmFyIG51bGxhYmxlID0gaXNOdWxsYWJsZShlbGVt
ZW50VHlwZSk7Ci0KLSAgICBpZiAoaXNIYW5kbGVDbGFzcyhlbGVtZW50VHlwZSkpCi0gICAgICBy
ZXR1cm4gdGhpcy52YWxpZGF0ZUhhbmRsZUVsZW1lbnRzKGVsZW1lbnRzT2Zmc2V0LCBudW1FbGVt
ZW50cywgbnVsbGFibGUpOwotICAgIGlmIChpc0ludGVyZmFjZUNsYXNzKGVsZW1lbnRUeXBlKSkK
LSAgICAgIHJldHVybiB0aGlzLnZhbGlkYXRlSW50ZXJmYWNlRWxlbWVudHMoCi0gICAgICAgICAg
ZWxlbWVudHNPZmZzZXQsIG51bUVsZW1lbnRzLCBudWxsYWJsZSk7Ci0gICAgaWYgKGlzSW50ZXJm
YWNlUmVxdWVzdENsYXNzKGVsZW1lbnRUeXBlKSkKLSAgICAgIHJldHVybiB0aGlzLnZhbGlkYXRl
SW50ZXJmYWNlUmVxdWVzdEVsZW1lbnRzKAotICAgICAgICAgIGVsZW1lbnRzT2Zmc2V0LCBudW1F
bGVtZW50cywgbnVsbGFibGUpOwotICAgIGlmIChpc0Fzc29jaWF0ZWRJbnRlcmZhY2VDbGFzcyhl
bGVtZW50VHlwZSkpCi0gICAgICByZXR1cm4gdGhpcy52YWxpZGF0ZUFzc29jaWF0ZWRJbnRlcmZh
Y2VFbGVtZW50cygKLSAgICAgICAgICBlbGVtZW50c09mZnNldCwgbnVtRWxlbWVudHMsIG51bGxh
YmxlKTsKLSAgICBpZiAoaXNBc3NvY2lhdGVkSW50ZXJmYWNlUmVxdWVzdENsYXNzKGVsZW1lbnRU
eXBlKSkKLSAgICAgIHJldHVybiB0aGlzLnZhbGlkYXRlQXNzb2NpYXRlZEludGVyZmFjZVJlcXVl
c3RFbGVtZW50cygKLSAgICAgICAgICBlbGVtZW50c09mZnNldCwgbnVtRWxlbWVudHMsIG51bGxh
YmxlKTsKLSAgICBpZiAoaXNTdHJpbmdDbGFzcyhlbGVtZW50VHlwZSkpCi0gICAgICByZXR1cm4g
dGhpcy52YWxpZGF0ZUFycmF5RWxlbWVudHMoCi0gICAgICAgICAgZWxlbWVudHNPZmZzZXQsIG51
bUVsZW1lbnRzLCBpbnRlcm5hbC5VaW50OCwgbnVsbGFibGUsIFswXSwgMCk7Ci0gICAgaWYgKGVs
ZW1lbnRUeXBlIGluc3RhbmNlb2YgaW50ZXJuYWwuUG9pbnRlclRvKQotICAgICAgcmV0dXJuIHRo
aXMudmFsaWRhdGVTdHJ1Y3RFbGVtZW50cygKLSAgICAgICAgICBlbGVtZW50c09mZnNldCwgbnVt
RWxlbWVudHMsIGVsZW1lbnRUeXBlLmNscywgbnVsbGFibGUpOwotICAgIGlmIChlbGVtZW50VHlw
ZSBpbnN0YW5jZW9mIGludGVybmFsLkFycmF5T2YpCi0gICAgICByZXR1cm4gdGhpcy52YWxpZGF0
ZUFycmF5RWxlbWVudHMoCi0gICAgICAgICAgZWxlbWVudHNPZmZzZXQsIG51bUVsZW1lbnRzLCBl
bGVtZW50VHlwZS5jbHMsIG51bGxhYmxlLAotICAgICAgICAgIGV4cGVjdGVkRGltZW5zaW9uU2l6
ZXMsIGN1cnJlbnREaW1lbnNpb24gKyAxKTsKLSAgICBpZiAoaXNFbnVtQ2xhc3MoZWxlbWVudFR5
cGUpKQotICAgICAgcmV0dXJuIHRoaXMudmFsaWRhdGVFbnVtRWxlbWVudHMoZWxlbWVudHNPZmZz
ZXQsIG51bUVsZW1lbnRzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ZWxlbWVudFR5cGUuY2xzKTsKLQotICAgIHJldHVybiB2YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAg
fTsKLQotICAvLyBOb3RlOiB0aGUgfG9mZnNldCArIGkgKiBlbGVtZW50U2l6ZXwgY29tcHV0YXRp
b24gaW4gdGhlIHZhbGlkYXRlRm9vRWxlbWVudHMKLSAgLy8gbWV0aG9kcyBiZWxvdyBpcyAic2Fm
ZSIgYmVjYXVzZSBlbGVtZW50U2l6ZSA8PSA4LCBvZmZzZXQgYW5kCi0gIC8vIG51bUVsZW1lbnRz
IGFyZSB1aW50MzIsIGFuZCAwIDw9IGkgPCBudW1FbGVtZW50cy4KLQotICBWYWxpZGF0b3IucHJv
dG90eXBlLnZhbGlkYXRlSGFuZGxlRWxlbWVudHMgPQotICAgICAgZnVuY3Rpb24ob2Zmc2V0LCBu
dW1FbGVtZW50cywgbnVsbGFibGUpIHsKLSAgICB2YXIgZWxlbWVudFNpemUgPSBpbnRlcm5hbC5I
YW5kbGUuZW5jb2RlZFNpemU7Ci0gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBudW1FbGVtZW50czsg
aSsrKSB7Ci0gICAgICB2YXIgZWxlbWVudE9mZnNldCA9IG9mZnNldCArIGkgKiBlbGVtZW50U2l6
ZTsKLSAgICAgIHZhciBlcnIgPSB0aGlzLnZhbGlkYXRlSGFuZGxlKGVsZW1lbnRPZmZzZXQsIG51
bGxhYmxlKTsKLSAgICAgIGlmIChlcnIgIT0gdmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAg
IHJldHVybiBlcnI7Ci0gICAgfQotICAgIHJldHVybiB2YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAg
fTsKLQotICBWYWxpZGF0b3IucHJvdG90eXBlLnZhbGlkYXRlSW50ZXJmYWNlRWxlbWVudHMgPQot
ICAgICAgZnVuY3Rpb24ob2Zmc2V0LCBudW1FbGVtZW50cywgbnVsbGFibGUpIHsKLSAgICB2YXIg
ZWxlbWVudFNpemUgPSBpbnRlcm5hbC5JbnRlcmZhY2UucHJvdG90eXBlLmVuY29kZWRTaXplOwot
ICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbnVtRWxlbWVudHM7IGkrKykgewotICAgICAgdmFyIGVs
ZW1lbnRPZmZzZXQgPSBvZmZzZXQgKyBpICogZWxlbWVudFNpemU7Ci0gICAgICB2YXIgZXJyID0g
dGhpcy52YWxpZGF0ZUludGVyZmFjZShlbGVtZW50T2Zmc2V0LCBudWxsYWJsZSk7Ci0gICAgICBp
ZiAoZXJyICE9IHZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotICAg
IH0KLSAgICByZXR1cm4gdmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gIH07Ci0KLSAgVmFsaWRhdG9y
LnByb3RvdHlwZS52YWxpZGF0ZUludGVyZmFjZVJlcXVlc3RFbGVtZW50cyA9Ci0gICAgICBmdW5j
dGlvbihvZmZzZXQsIG51bUVsZW1lbnRzLCBudWxsYWJsZSkgewotICAgIHZhciBlbGVtZW50U2l6
ZSA9IGludGVybmFsLkludGVyZmFjZVJlcXVlc3QuZW5jb2RlZFNpemU7Ci0gICAgZm9yICh2YXIg
aSA9IDA7IGkgPCBudW1FbGVtZW50czsgaSsrKSB7Ci0gICAgICB2YXIgZWxlbWVudE9mZnNldCA9
IG9mZnNldCArIGkgKiBlbGVtZW50U2l6ZTsKLSAgICAgIHZhciBlcnIgPSB0aGlzLnZhbGlkYXRl
SW50ZXJmYWNlUmVxdWVzdChlbGVtZW50T2Zmc2V0LCBudWxsYWJsZSk7Ci0gICAgICBpZiAoZXJy
ICE9IHZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotICAgIH0KLSAg
ICByZXR1cm4gdmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gIH07Ci0KLSAgVmFsaWRhdG9yLnByb3Rv
dHlwZS52YWxpZGF0ZUFzc29jaWF0ZWRJbnRlcmZhY2VFbGVtZW50cyA9Ci0gICAgICBmdW5jdGlv
bihvZmZzZXQsIG51bUVsZW1lbnRzLCBudWxsYWJsZSkgewotICAgIHZhciBlbGVtZW50U2l6ZSA9
IGludGVybmFsLkFzc29jaWF0ZWRJbnRlcmZhY2VQdHJJbmZvLnByb3RvdHlwZS5lbmNvZGVkU2l6
ZTsKLSAgICBmb3IgKHZhciBpID0gMDsgaSA8IG51bUVsZW1lbnRzOyBpKyspIHsKLSAgICAgIHZh
ciBlbGVtZW50T2Zmc2V0ID0gb2Zmc2V0ICsgaSAqIGVsZW1lbnRTaXplOwotICAgICAgdmFyIGVy
ciA9IHRoaXMudmFsaWRhdGVBc3NvY2lhdGVkSW50ZXJmYWNlKGVsZW1lbnRPZmZzZXQsIG51bGxh
YmxlKTsKLSAgICAgIGlmIChlcnIgIT0gdmFsaWRhdGlvbkVycm9yLk5PTkUpIHsKLSAgICAgICAg
cmV0dXJuIGVycjsKLSAgICAgIH0KLSAgICB9Ci0gICAgcmV0dXJuIHZhbGlkYXRpb25FcnJvci5O
T05FOwotICB9OwotCi0gIFZhbGlkYXRvci5wcm90b3R5cGUudmFsaWRhdGVBc3NvY2lhdGVkSW50
ZXJmYWNlUmVxdWVzdEVsZW1lbnRzID0KLSAgICAgIGZ1bmN0aW9uKG9mZnNldCwgbnVtRWxlbWVu
dHMsIG51bGxhYmxlKSB7Ci0gICAgdmFyIGVsZW1lbnRTaXplID0gaW50ZXJuYWwuQXNzb2NpYXRl
ZEludGVyZmFjZVJlcXVlc3QuZW5jb2RlZFNpemU7Ci0gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBu
dW1FbGVtZW50czsgaSsrKSB7Ci0gICAgICB2YXIgZWxlbWVudE9mZnNldCA9IG9mZnNldCArIGkg
KiBlbGVtZW50U2l6ZTsKLSAgICAgIHZhciBlcnIgPSB0aGlzLnZhbGlkYXRlQXNzb2NpYXRlZElu
dGVyZmFjZVJlcXVlc3QoZWxlbWVudE9mZnNldCwKLSAgICAgICAgICBudWxsYWJsZSk7Ci0gICAg
ICBpZiAoZXJyICE9IHZhbGlkYXRpb25FcnJvci5OT05FKSB7Ci0gICAgICAgIHJldHVybiBlcnI7
Ci0gICAgICB9Ci0gICAgfQotICAgIHJldHVybiB2YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAgfTsK
LQotICAvLyBUaGUgZWxlbWVudENsYXNzIHBhcmFtZXRlciBpcyB0aGUgZWxlbWVudCB0eXBlIG9m
IHRoZSBlbGVtZW50IGFycmF5cy4KLSAgVmFsaWRhdG9yLnByb3RvdHlwZS52YWxpZGF0ZUFycmF5
RWxlbWVudHMgPQotICAgICAgZnVuY3Rpb24ob2Zmc2V0LCBudW1FbGVtZW50cywgZWxlbWVudENs
YXNzLCBudWxsYWJsZSwKLSAgICAgICAgICAgICAgIGV4cGVjdGVkRGltZW5zaW9uU2l6ZXMsIGN1
cnJlbnREaW1lbnNpb24pIHsKLSAgICB2YXIgZWxlbWVudFNpemUgPSBpbnRlcm5hbC5Qb2ludGVy
VG8ucHJvdG90eXBlLmVuY29kZWRTaXplOwotICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbnVtRWxl
bWVudHM7IGkrKykgewotICAgICAgdmFyIGVsZW1lbnRPZmZzZXQgPSBvZmZzZXQgKyBpICogZWxl
bWVudFNpemU7Ci0gICAgICB2YXIgZXJyID0gdGhpcy52YWxpZGF0ZUFycmF5UG9pbnRlcigKLSAg
ICAgICAgICBlbGVtZW50T2Zmc2V0LCBlbGVtZW50Q2xhc3MuZW5jb2RlZFNpemUsIGVsZW1lbnRD
bGFzcywgbnVsbGFibGUsCi0gICAgICAgICAgZXhwZWN0ZWREaW1lbnNpb25TaXplcywgY3VycmVu
dERpbWVuc2lvbik7Ci0gICAgICBpZiAoZXJyICE9IHZhbGlkYXRpb25FcnJvci5OT05FKQotICAg
ICAgICByZXR1cm4gZXJyOwotICAgIH0KLSAgICByZXR1cm4gdmFsaWRhdGlvbkVycm9yLk5PTkU7
Ci0gIH07Ci0KLSAgVmFsaWRhdG9yLnByb3RvdHlwZS52YWxpZGF0ZVN0cnVjdEVsZW1lbnRzID0K
LSAgICAgIGZ1bmN0aW9uKG9mZnNldCwgbnVtRWxlbWVudHMsIHN0cnVjdENsYXNzLCBudWxsYWJs
ZSkgewotICAgIHZhciBlbGVtZW50U2l6ZSA9IGludGVybmFsLlBvaW50ZXJUby5wcm90b3R5cGUu
ZW5jb2RlZFNpemU7Ci0gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBudW1FbGVtZW50czsgaSsrKSB7
Ci0gICAgICB2YXIgZWxlbWVudE9mZnNldCA9IG9mZnNldCArIGkgKiBlbGVtZW50U2l6ZTsKLSAg
ICAgIHZhciBlcnIgPQotICAgICAgICAgIHRoaXMudmFsaWRhdGVTdHJ1Y3RQb2ludGVyKGVsZW1l
bnRPZmZzZXQsIHN0cnVjdENsYXNzLCBudWxsYWJsZSk7Ci0gICAgICBpZiAoZXJyICE9IHZhbGlk
YXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotICAgIH0KLSAgICByZXR1cm4g
dmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gIH07Ci0KLSAgVmFsaWRhdG9yLnByb3RvdHlwZS52YWxp
ZGF0ZUVudW1FbGVtZW50cyA9Ci0gICAgICBmdW5jdGlvbihvZmZzZXQsIG51bUVsZW1lbnRzLCBl
bnVtQ2xhc3MpIHsKLSAgICB2YXIgZWxlbWVudFNpemUgPSBpbnRlcm5hbC5FbnVtLnByb3RvdHlw
ZS5lbmNvZGVkU2l6ZTsKLSAgICBmb3IgKHZhciBpID0gMDsgaSA8IG51bUVsZW1lbnRzOyBpKysp
IHsKLSAgICAgIHZhciBlbGVtZW50T2Zmc2V0ID0gb2Zmc2V0ICsgaSAqIGVsZW1lbnRTaXplOwot
ICAgICAgdmFyIGVyciA9IHRoaXMudmFsaWRhdGVFbnVtKGVsZW1lbnRPZmZzZXQsIGVudW1DbGFz
cyk7Ci0gICAgICBpZiAoZXJyICE9IHZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1
cm4gZXJyOwotICAgIH0KLSAgICByZXR1cm4gdmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gIH07Ci0K
LSAgaW50ZXJuYWwudmFsaWRhdGlvbkVycm9yID0gdmFsaWRhdGlvbkVycm9yOwotICBpbnRlcm5h
bC5WYWxpZGF0b3IgPSBWYWxpZGF0b3I7Ci0gIGludGVybmFsLlZhbGlkYXRpb25FcnJvck9ic2Vy
dmVyRm9yVGVzdGluZyA9Ci0gICAgICBWYWxpZGF0aW9uRXJyb3JPYnNlcnZlckZvclRlc3Rpbmc7
Ci0gIGludGVybmFsLnJlcG9ydFZhbGlkYXRpb25FcnJvciA9IHJlcG9ydFZhbGlkYXRpb25FcnJv
cjsKLSAgaW50ZXJuYWwuaXNUZXN0aW5nTW9kZSA9IGlzVGVzdGluZ01vZGU7Ci0gIGludGVybmFs
LmNsZWFyVGVzdGluZ01vZGUgPSBjbGVhclRlc3RpbmdNb2RlOwotfSkoKTsKLS8vIENvcHlyaWdo
dCAyMDE0IFRoZSBDaHJvbWl1bSBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotLy8gVXNl
IG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZSB0
aGF0IGNhbiBiZQotLy8gZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KLQotJ3VzZSBzdHJpY3Qn
OwotCi0oZnVuY3Rpb24oKSB7Ci0gIHZhciBtb2pvbUlkID0gJ21vam8vcHVibGljL2ludGVyZmFj
ZXMvYmluZGluZ3MvaW50ZXJmYWNlX2NvbnRyb2xfbWVzc2FnZXMubW9qb20nOwotICBpZiAobW9q
by5pbnRlcm5hbC5pc01vam9tTG9hZGVkKG1vam9tSWQpKSB7Ci0gICAgY29uc29sZS53YXJuKCdU
aGUgZm9sbG93aW5nIG1vam9tIGlzIGxvYWRlZCBtdWx0aXBsZSB0aW1lczogJyArIG1vam9tSWQp
OwotICAgIHJldHVybjsKLSAgfQotICBtb2pvLmludGVybmFsLm1hcmtNb2pvbUxvYWRlZChtb2pv
bUlkKTsKLSAgdmFyIGJpbmRpbmdzID0gbW9qbzsKLSAgdmFyIGFzc29jaWF0ZWRCaW5kaW5ncyA9
IG1vam87Ci0gIHZhciBjb2RlYyA9IG1vam8uaW50ZXJuYWw7Ci0gIHZhciB2YWxpZGF0b3IgPSBt
b2pvLmludGVybmFsOwotCi0gIHZhciBleHBvcnRzID0gbW9qby5pbnRlcm5hbC5leHBvc2VOYW1l
c3BhY2UoJ21vam8uaW50ZXJmYWNlQ29udHJvbCcpOwotCi0KLSAgdmFyIGtSdW5NZXNzYWdlSWQg
PSAweEZGRkZGRkZGOwotICB2YXIga1J1bk9yQ2xvc2VQaXBlTWVzc2FnZUlkID0gMHhGRkZGRkZG
RTsKLQotICBmdW5jdGlvbiBSdW5NZXNzYWdlUGFyYW1zKHZhbHVlcykgewotICAgIHRoaXMuaW5p
dERlZmF1bHRzXygpOwotICAgIHRoaXMuaW5pdEZpZWxkc18odmFsdWVzKTsKLSAgfQotCi0KLSAg
UnVuTWVzc2FnZVBhcmFtcy5wcm90b3R5cGUuaW5pdERlZmF1bHRzXyA9IGZ1bmN0aW9uKCkgewot
ICAgIHRoaXMuaW5wdXQgPSBudWxsOwotICB9OwotICBSdW5NZXNzYWdlUGFyYW1zLnByb3RvdHlw
ZS5pbml0RmllbGRzXyA9IGZ1bmN0aW9uKGZpZWxkcykgewotICAgIGZvcih2YXIgZmllbGQgaW4g
ZmllbGRzKSB7Ci0gICAgICAgIGlmICh0aGlzLmhhc093blByb3BlcnR5KGZpZWxkKSkKLSAgICAg
ICAgICB0aGlzW2ZpZWxkXSA9IGZpZWxkc1tmaWVsZF07Ci0gICAgfQotICB9OwotCi0gIFJ1bk1l
c3NhZ2VQYXJhbXMudmFsaWRhdGUgPSBmdW5jdGlvbihtZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQp
IHsKLSAgICB2YXIgZXJyOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1
Y3RIZWFkZXIob2Zmc2V0LCBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVyciAh
PT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwot
Ci0gICAgdmFyIGtWZXJzaW9uU2l6ZXMgPSBbCi0gICAgICB7dmVyc2lvbjogMCwgbnVtQnl0ZXM6
IDI0fQotICAgIF07Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFZl
cnNpb24ob2Zmc2V0LCBrVmVyc2lvblNpemVzKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3Iu
dmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotICAgIC8vIHZh
bGlkYXRlIFJ1bk1lc3NhZ2VQYXJhbXMuaW5wdXQKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9y
LnZhbGlkYXRlVW5pb24ob2Zmc2V0ICsgY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyAwLCBSdW5J
bnB1dCwgZmFsc2UpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3Iu
Tk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRh
dGlvbkVycm9yLk5PTkU7Ci0gIH07Ci0KLSAgUnVuTWVzc2FnZVBhcmFtcy5lbmNvZGVkU2l6ZSA9
IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgMTY7Ci0KLSAgUnVuTWVzc2FnZVBhcmFtcy5kZWNv
ZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICB2YXIgdmFsID0g
bmV3IFJ1bk1lc3NhZ2VQYXJhbXMoKTsKLSAgICB2YXIgbnVtYmVyT2ZCeXRlcyA9IGRlY29kZXIu
cmVhZFVpbnQzMigpOwotICAgIHZhciB2ZXJzaW9uID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0g
ICAgdmFsLmlucHV0ID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoUnVuSW5wdXQpOwotICAgIHJldHVy
biB2YWw7Ci0gIH07Ci0KLSAgUnVuTWVzc2FnZVBhcmFtcy5lbmNvZGUgPSBmdW5jdGlvbihlbmNv
ZGVyLCB2YWwpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoUnVu
TWVzc2FnZVBhcmFtcy5lbmNvZGVkU2l6ZSk7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMigwKTsK
LSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdChSdW5JbnB1dCwgdmFsLmlucHV0KTsKLSAgfTsKLSAg
ZnVuY3Rpb24gUnVuUmVzcG9uc2VNZXNzYWdlUGFyYW1zKHZhbHVlcykgewotICAgIHRoaXMuaW5p
dERlZmF1bHRzXygpOwotICAgIHRoaXMuaW5pdEZpZWxkc18odmFsdWVzKTsKLSAgfQotCi0KLSAg
UnVuUmVzcG9uc2VNZXNzYWdlUGFyYW1zLnByb3RvdHlwZS5pbml0RGVmYXVsdHNfID0gZnVuY3Rp
b24oKSB7Ci0gICAgdGhpcy5vdXRwdXQgPSBudWxsOwotICB9OwotICBSdW5SZXNwb25zZU1lc3Nh
Z2VQYXJhbXMucHJvdG90eXBlLmluaXRGaWVsZHNfID0gZnVuY3Rpb24oZmllbGRzKSB7Ci0gICAg
Zm9yKHZhciBmaWVsZCBpbiBmaWVsZHMpIHsKLSAgICAgICAgaWYgKHRoaXMuaGFzT3duUHJvcGVy
dHkoZmllbGQpKQotICAgICAgICAgIHRoaXNbZmllbGRdID0gZmllbGRzW2ZpZWxkXTsKLSAgICB9
Ci0gIH07Ci0KLSAgUnVuUmVzcG9uc2VNZXNzYWdlUGFyYW1zLnZhbGlkYXRlID0gZnVuY3Rpb24o
bWVzc2FnZVZhbGlkYXRvciwgb2Zmc2V0KSB7Ci0gICAgdmFyIGVycjsKLSAgICBlcnIgPSBtZXNz
YWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0SGVhZGVyKG9mZnNldCwgY29kZWMua1N0cnVjdEhl
YWRlclNpemUpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9O
RSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHZhciBrVmVyc2lvblNpemVzID0gWwotICAg
ICAge3ZlcnNpb246IDAsIG51bUJ5dGVzOiAyNH0KLSAgICBdOwotICAgIGVyciA9IG1lc3NhZ2VW
YWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RWZXJzaW9uKG9mZnNldCwga1ZlcnNpb25TaXplcyk7Ci0g
ICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICBy
ZXR1cm4gZXJyOwotCi0KLSAgICAvLyB2YWxpZGF0ZSBSdW5SZXNwb25zZU1lc3NhZ2VQYXJhbXMu
b3V0cHV0Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVVuaW9uKG9mZnNldCAr
IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgMCwgUnVuT3V0cHV0LCB0cnVlKTsKLSAgICBpZiAo
ZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBl
cnI7Ci0KLSAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwotICB9Owot
Ci0gIFJ1blJlc3BvbnNlTWVzc2FnZVBhcmFtcy5lbmNvZGVkU2l6ZSA9IGNvZGVjLmtTdHJ1Y3RI
ZWFkZXJTaXplICsgMTY7Ci0KLSAgUnVuUmVzcG9uc2VNZXNzYWdlUGFyYW1zLmRlY29kZSA9IGZ1
bmN0aW9uKGRlY29kZXIpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIHZhciB2YWwgPSBuZXcgUnVu
UmVzcG9uc2VNZXNzYWdlUGFyYW1zKCk7Ci0gICAgdmFyIG51bWJlck9mQnl0ZXMgPSBkZWNvZGVy
LnJlYWRVaW50MzIoKTsKLSAgICB2YXIgdmVyc2lvbiA9IGRlY29kZXIucmVhZFVpbnQzMigpOwot
ICAgIHZhbC5vdXRwdXQgPSBkZWNvZGVyLmRlY29kZVN0cnVjdChSdW5PdXRwdXQpOwotICAgIHJl
dHVybiB2YWw7Ci0gIH07Ci0KLSAgUnVuUmVzcG9uc2VNZXNzYWdlUGFyYW1zLmVuY29kZSA9IGZ1
bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgZW5jb2Rlci53cml0
ZVVpbnQzMihSdW5SZXNwb25zZU1lc3NhZ2VQYXJhbXMuZW5jb2RlZFNpemUpOwotICAgIGVuY29k
ZXIud3JpdGVVaW50MzIoMCk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3QoUnVuT3V0cHV0LCB2
YWwub3V0cHV0KTsKLSAgfTsKLSAgZnVuY3Rpb24gUXVlcnlWZXJzaW9uKHZhbHVlcykgewotICAg
IHRoaXMuaW5pdERlZmF1bHRzXygpOwotICAgIHRoaXMuaW5pdEZpZWxkc18odmFsdWVzKTsKLSAg
fQotCi0KLSAgUXVlcnlWZXJzaW9uLnByb3RvdHlwZS5pbml0RGVmYXVsdHNfID0gZnVuY3Rpb24o
KSB7Ci0gIH07Ci0gIFF1ZXJ5VmVyc2lvbi5wcm90b3R5cGUuaW5pdEZpZWxkc18gPSBmdW5jdGlv
bihmaWVsZHMpIHsKLSAgICBmb3IodmFyIGZpZWxkIGluIGZpZWxkcykgewotICAgICAgICBpZiAo
dGhpcy5oYXNPd25Qcm9wZXJ0eShmaWVsZCkpCi0gICAgICAgICAgdGhpc1tmaWVsZF0gPSBmaWVs
ZHNbZmllbGRdOwotICAgIH0KLSAgfTsKLQotICBRdWVyeVZlcnNpb24udmFsaWRhdGUgPSBmdW5j
dGlvbihtZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsKLSAgICB2YXIgZXJyOwotICAgIGVyciA9
IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RIZWFkZXIob2Zmc2V0LCBjb2RlYy5rU3Ry
dWN0SGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJv
ci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgdmFyIGtWZXJzaW9uU2l6ZXMgPSBb
Ci0gICAgICB7dmVyc2lvbjogMCwgbnVtQnl0ZXM6IDh9Ci0gICAgXTsKLSAgICBlcnIgPSBtZXNz
YWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0VmVyc2lvbihvZmZzZXQsIGtWZXJzaW9uU2l6ZXMp
OwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAg
ICAgcmV0dXJuIGVycjsKLQotICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5P
TkU7Ci0gIH07Ci0KLSAgUXVlcnlWZXJzaW9uLmVuY29kZWRTaXplID0gY29kZWMua1N0cnVjdEhl
YWRlclNpemUgKyAwOwotCi0gIFF1ZXJ5VmVyc2lvbi5kZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVy
KSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICB2YXIgdmFsID0gbmV3IFF1ZXJ5VmVyc2lvbigpOwot
ICAgIHZhciBudW1iZXJPZkJ5dGVzID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFyIHZl
cnNpb24gPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICByZXR1cm4gdmFsOwotICB9OwotCi0g
IFF1ZXJ5VmVyc2lvbi5lbmNvZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2YWwpIHsKLSAgICB2YXIg
cGFja2VkOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoUXVlcnlWZXJzaW9uLmVuY29kZWRTaXpl
KTsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKDApOwotICB9OwotICBmdW5jdGlvbiBRdWVyeVZl
cnNpb25SZXN1bHQodmFsdWVzKSB7Ci0gICAgdGhpcy5pbml0RGVmYXVsdHNfKCk7Ci0gICAgdGhp
cy5pbml0RmllbGRzXyh2YWx1ZXMpOwotICB9Ci0KLQotICBRdWVyeVZlcnNpb25SZXN1bHQucHJv
dG90eXBlLmluaXREZWZhdWx0c18gPSBmdW5jdGlvbigpIHsKLSAgICB0aGlzLnZlcnNpb24gPSAw
OwotICB9OwotICBRdWVyeVZlcnNpb25SZXN1bHQucHJvdG90eXBlLmluaXRGaWVsZHNfID0gZnVu
Y3Rpb24oZmllbGRzKSB7Ci0gICAgZm9yKHZhciBmaWVsZCBpbiBmaWVsZHMpIHsKLSAgICAgICAg
aWYgKHRoaXMuaGFzT3duUHJvcGVydHkoZmllbGQpKQotICAgICAgICAgIHRoaXNbZmllbGRdID0g
ZmllbGRzW2ZpZWxkXTsKLSAgICB9Ci0gIH07Ci0KLSAgUXVlcnlWZXJzaW9uUmVzdWx0LnZhbGlk
YXRlID0gZnVuY3Rpb24obWVzc2FnZVZhbGlkYXRvciwgb2Zmc2V0KSB7Ci0gICAgdmFyIGVycjsK
LSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0SGVhZGVyKG9mZnNldCwg
Y29kZWMua1N0cnVjdEhlYWRlclNpemUpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxp
ZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHZhciBrVmVyc2lv
blNpemVzID0gWwotICAgICAge3ZlcnNpb246IDAsIG51bUJ5dGVzOiAxNn0KLSAgICBdOwotICAg
IGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RWZXJzaW9uKG9mZnNldCwga1Zl
cnNpb25TaXplcyk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5O
T05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0KLSAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlk
YXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIFF1ZXJ5VmVyc2lvblJlc3VsdC5lbmNvZGVkU2l6
ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgODsKLQotICBRdWVyeVZlcnNpb25SZXN1bHQu
ZGVjb2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgdmFyIHZh
bCA9IG5ldyBRdWVyeVZlcnNpb25SZXN1bHQoKTsKLSAgICB2YXIgbnVtYmVyT2ZCeXRlcyA9IGRl
Y29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhciB2ZXJzaW9uID0gZGVjb2Rlci5yZWFkVWludDMy
KCk7Ci0gICAgdmFsLnZlcnNpb24gPSBkZWNvZGVyLmRlY29kZVN0cnVjdChjb2RlYy5VaW50MzIp
OwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rl
ci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICByZXR1cm4gdmFsOwotICB9Owot
Ci0gIFF1ZXJ5VmVyc2lvblJlc3VsdC5lbmNvZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2YWwpIHsK
LSAgICB2YXIgcGFja2VkOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoUXVlcnlWZXJzaW9uUmVz
dWx0LmVuY29kZWRTaXplKTsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKDApOwotICAgIGVuY29k
ZXIuZW5jb2RlU3RydWN0KGNvZGVjLlVpbnQzMiwgdmFsLnZlcnNpb24pOwotICAgIGVuY29kZXIu
c2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAg
IGVuY29kZXIuc2tpcCgxKTsKLSAgfTsKLSAgZnVuY3Rpb24gRmx1c2hGb3JUZXN0aW5nKHZhbHVl
cykgewotICAgIHRoaXMuaW5pdERlZmF1bHRzXygpOwotICAgIHRoaXMuaW5pdEZpZWxkc18odmFs
dWVzKTsKLSAgfQotCi0KLSAgRmx1c2hGb3JUZXN0aW5nLnByb3RvdHlwZS5pbml0RGVmYXVsdHNf
ID0gZnVuY3Rpb24oKSB7Ci0gIH07Ci0gIEZsdXNoRm9yVGVzdGluZy5wcm90b3R5cGUuaW5pdEZp
ZWxkc18gPSBmdW5jdGlvbihmaWVsZHMpIHsKLSAgICBmb3IodmFyIGZpZWxkIGluIGZpZWxkcykg
ewotICAgICAgICBpZiAodGhpcy5oYXNPd25Qcm9wZXJ0eShmaWVsZCkpCi0gICAgICAgICAgdGhp
c1tmaWVsZF0gPSBmaWVsZHNbZmllbGRdOwotICAgIH0KLSAgfTsKLQotICBGbHVzaEZvclRlc3Rp
bmcudmFsaWRhdGUgPSBmdW5jdGlvbihtZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsKLSAgICB2
YXIgZXJyOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RIZWFkZXIo
b2Zmc2V0LCBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRh
dG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgdmFy
IGtWZXJzaW9uU2l6ZXMgPSBbCi0gICAgICB7dmVyc2lvbjogMCwgbnVtQnl0ZXM6IDh9Ci0gICAg
XTsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0VmVyc2lvbihvZmZz
ZXQsIGtWZXJzaW9uU2l6ZXMpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9u
RXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHJldHVybiB2YWxpZGF0b3Iu
dmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gIH07Ci0KLSAgRmx1c2hGb3JUZXN0aW5nLmVuY29kZWRT
aXplID0gY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyAwOwotCi0gIEZsdXNoRm9yVGVzdGluZy5k
ZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICB2YXIgdmFs
ID0gbmV3IEZsdXNoRm9yVGVzdGluZygpOwotICAgIHZhciBudW1iZXJPZkJ5dGVzID0gZGVjb2Rl
ci5yZWFkVWludDMyKCk7Ci0gICAgdmFyIHZlcnNpb24gPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsK
LSAgICByZXR1cm4gdmFsOwotICB9OwotCi0gIEZsdXNoRm9yVGVzdGluZy5lbmNvZGUgPSBmdW5j
dGlvbihlbmNvZGVyLCB2YWwpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIGVuY29kZXIud3JpdGVV
aW50MzIoRmx1c2hGb3JUZXN0aW5nLmVuY29kZWRTaXplKTsKLSAgICBlbmNvZGVyLndyaXRlVWlu
dDMyKDApOwotICB9OwotICBmdW5jdGlvbiBSdW5PckNsb3NlUGlwZU1lc3NhZ2VQYXJhbXModmFs
dWVzKSB7Ci0gICAgdGhpcy5pbml0RGVmYXVsdHNfKCk7Ci0gICAgdGhpcy5pbml0RmllbGRzXyh2
YWx1ZXMpOwotICB9Ci0KLQotICBSdW5PckNsb3NlUGlwZU1lc3NhZ2VQYXJhbXMucHJvdG90eXBl
LmluaXREZWZhdWx0c18gPSBmdW5jdGlvbigpIHsKLSAgICB0aGlzLmlucHV0ID0gbnVsbDsKLSAg
fTsKLSAgUnVuT3JDbG9zZVBpcGVNZXNzYWdlUGFyYW1zLnByb3RvdHlwZS5pbml0RmllbGRzXyA9
IGZ1bmN0aW9uKGZpZWxkcykgewotICAgIGZvcih2YXIgZmllbGQgaW4gZmllbGRzKSB7Ci0gICAg
ICAgIGlmICh0aGlzLmhhc093blByb3BlcnR5KGZpZWxkKSkKLSAgICAgICAgICB0aGlzW2ZpZWxk
XSA9IGZpZWxkc1tmaWVsZF07Ci0gICAgfQotICB9OwotCi0gIFJ1bk9yQ2xvc2VQaXBlTWVzc2Fn
ZVBhcmFtcy52YWxpZGF0ZSA9IGZ1bmN0aW9uKG1lc3NhZ2VWYWxpZGF0b3IsIG9mZnNldCkgewot
ICAgIHZhciBlcnI7Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdEhl
YWRlcihvZmZzZXQsIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplKTsKLSAgICBpZiAoZXJyICE9PSB2
YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAg
ICB2YXIga1ZlcnNpb25TaXplcyA9IFsKLSAgICAgIHt2ZXJzaW9uOiAwLCBudW1CeXRlczogMjR9
Ci0gICAgXTsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0VmVyc2lv
bihvZmZzZXQsIGtWZXJzaW9uU2l6ZXMpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxp
ZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0gICAgLy8gdmFsaWRh
dGUgUnVuT3JDbG9zZVBpcGVNZXNzYWdlUGFyYW1zLmlucHV0Ci0gICAgZXJyID0gbWVzc2FnZVZh
bGlkYXRvci52YWxpZGF0ZVVuaW9uKG9mZnNldCArIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsg
MCwgUnVuT3JDbG9zZVBpcGVJbnB1dCwgZmFsc2UpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRv
ci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHJldHVy
biB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gIH07Ci0KLSAgUnVuT3JDbG9zZVBp
cGVNZXNzYWdlUGFyYW1zLmVuY29kZWRTaXplID0gY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyAx
NjsKLQotICBSdW5PckNsb3NlUGlwZU1lc3NhZ2VQYXJhbXMuZGVjb2RlID0gZnVuY3Rpb24oZGVj
b2RlcikgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgdmFyIHZhbCA9IG5ldyBSdW5PckNsb3NlUGlw
ZU1lc3NhZ2VQYXJhbXMoKTsKLSAgICB2YXIgbnVtYmVyT2ZCeXRlcyA9IGRlY29kZXIucmVhZFVp
bnQzMigpOwotICAgIHZhciB2ZXJzaW9uID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFs
LmlucHV0ID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoUnVuT3JDbG9zZVBpcGVJbnB1dCk7Ci0gICAg
cmV0dXJuIHZhbDsKLSAgfTsKLQotICBSdW5PckNsb3NlUGlwZU1lc3NhZ2VQYXJhbXMuZW5jb2Rl
ID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICBlbmNvZGVy
LndyaXRlVWludDMyKFJ1bk9yQ2xvc2VQaXBlTWVzc2FnZVBhcmFtcy5lbmNvZGVkU2l6ZSk7Ci0g
ICAgZW5jb2Rlci53cml0ZVVpbnQzMigwKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdChSdW5P
ckNsb3NlUGlwZUlucHV0LCB2YWwuaW5wdXQpOwotICB9OwotICBmdW5jdGlvbiBSZXF1aXJlVmVy
c2lvbih2YWx1ZXMpIHsKLSAgICB0aGlzLmluaXREZWZhdWx0c18oKTsKLSAgICB0aGlzLmluaXRG
aWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0gIFJlcXVpcmVWZXJzaW9uLnByb3RvdHlwZS5pbml0
RGVmYXVsdHNfID0gZnVuY3Rpb24oKSB7Ci0gICAgdGhpcy52ZXJzaW9uID0gMDsKLSAgfTsKLSAg
UmVxdWlyZVZlcnNpb24ucHJvdG90eXBlLmluaXRGaWVsZHNfID0gZnVuY3Rpb24oZmllbGRzKSB7
Ci0gICAgZm9yKHZhciBmaWVsZCBpbiBmaWVsZHMpIHsKLSAgICAgICAgaWYgKHRoaXMuaGFzT3du
UHJvcGVydHkoZmllbGQpKQotICAgICAgICAgIHRoaXNbZmllbGRdID0gZmllbGRzW2ZpZWxkXTsK
LSAgICB9Ci0gIH07Ci0KLSAgUmVxdWlyZVZlcnNpb24udmFsaWRhdGUgPSBmdW5jdGlvbihtZXNz
YWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsKLSAgICB2YXIgZXJyOwotICAgIGVyciA9IG1lc3NhZ2VW
YWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RIZWFkZXIob2Zmc2V0LCBjb2RlYy5rU3RydWN0SGVhZGVy
U2l6ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQot
ICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgdmFyIGtWZXJzaW9uU2l6ZXMgPSBbCi0gICAgICB7
dmVyc2lvbjogMCwgbnVtQnl0ZXM6IDE2fQotICAgIF07Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlk
YXRvci52YWxpZGF0ZVN0cnVjdFZlcnNpb24ob2Zmc2V0LCBrVmVyc2lvblNpemVzKTsKLSAgICBp
ZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVy
biBlcnI7Ci0KLQotICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0g
IH07Ci0KLSAgUmVxdWlyZVZlcnNpb24uZW5jb2RlZFNpemUgPSBjb2RlYy5rU3RydWN0SGVhZGVy
U2l6ZSArIDg7Ci0KLSAgUmVxdWlyZVZlcnNpb24uZGVjb2RlID0gZnVuY3Rpb24oZGVjb2Rlcikg
ewotICAgIHZhciBwYWNrZWQ7Ci0gICAgdmFyIHZhbCA9IG5ldyBSZXF1aXJlVmVyc2lvbigpOwot
ICAgIHZhciBudW1iZXJPZkJ5dGVzID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFyIHZl
cnNpb24gPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YWwudmVyc2lvbiA9IGRlY29kZXIu
ZGVjb2RlU3RydWN0KGNvZGVjLlVpbnQzMik7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRl
Y29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEp
OwotICAgIHJldHVybiB2YWw7Ci0gIH07Ci0KLSAgUmVxdWlyZVZlcnNpb24uZW5jb2RlID0gZnVu
Y3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICBlbmNvZGVyLndyaXRl
VWludDMyKFJlcXVpcmVWZXJzaW9uLmVuY29kZWRTaXplKTsKLSAgICBlbmNvZGVyLndyaXRlVWlu
dDMyKDApOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNvZGVjLlVpbnQzMiwgdmFsLnZlcnNp
b24pOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5j
b2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgfTsKLQotICBmdW5jdGlvbiBS
dW5JbnB1dCh2YWx1ZSkgewotICAgIHRoaXMuaW5pdERlZmF1bHRfKCk7Ci0gICAgdGhpcy5pbml0
VmFsdWVfKHZhbHVlKTsKLSAgfQotCi0KLSAgUnVuSW5wdXQuVGFncyA9IHsKLSAgICBxdWVyeVZl
cnNpb246IDAsCi0gICAgZmx1c2hGb3JUZXN0aW5nOiAxLAotICB9OwotCi0gIFJ1bklucHV0LnBy
b3RvdHlwZS5pbml0RGVmYXVsdF8gPSBmdW5jdGlvbigpIHsKLSAgICB0aGlzLiRkYXRhID0gbnVs
bDsKLSAgICB0aGlzLiR0YWcgPSB1bmRlZmluZWQ7Ci0gIH0KLQotICBSdW5JbnB1dC5wcm90b3R5
cGUuaW5pdFZhbHVlXyA9IGZ1bmN0aW9uKHZhbHVlKSB7Ci0gICAgaWYgKHZhbHVlID09IHVuZGVm
aW5lZCkgewotICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIHZhciBrZXlzID0gT2JqZWN0Lmtl
eXModmFsdWUpOwotICAgIGlmIChrZXlzLmxlbmd0aCA9PSAwKSB7Ci0gICAgICByZXR1cm47Ci0g
ICAgfQotCi0gICAgaWYgKGtleXMubGVuZ3RoID4gMSkgewotICAgICAgdGhyb3cgbmV3IFR5cGVF
cnJvcigiWW91IG1heSBzZXQgb25seSBvbmUgbWVtYmVyIG9uIGEgdW5pb24uIik7Ci0gICAgfQot
Ci0gICAgdmFyIGZpZWxkcyA9IFsKLSAgICAgICAgInF1ZXJ5VmVyc2lvbiIsCi0gICAgICAgICJm
bHVzaEZvclRlc3RpbmciLAotICAgIF07Ci0KLSAgICBpZiAoZmllbGRzLmluZGV4T2Yoa2V5c1sw
XSkgPCAwKSB7Ci0gICAgICB0aHJvdyBuZXcgUmVmZXJlbmNlRXJyb3Ioa2V5c1swXSArICIgaXMg
bm90IGEgUnVuSW5wdXQgbWVtYmVyLiIpOwotCi0gICAgfQotCi0gICAgdGhpc1trZXlzWzBdXSA9
IHZhbHVlW2tleXNbMF1dOwotICB9Ci0gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShSdW5JbnB1dC5w
cm90b3R5cGUsICJxdWVyeVZlcnNpb24iLCB7Ci0gICAgZ2V0OiBmdW5jdGlvbigpIHsKLSAgICAg
IGlmICh0aGlzLiR0YWcgIT0gUnVuSW5wdXQuVGFncy5xdWVyeVZlcnNpb24pIHsKLSAgICAgICAg
dGhyb3cgbmV3IFJlZmVyZW5jZUVycm9yKAotICAgICAgICAgICAgIlJ1bklucHV0LnF1ZXJ5VmVy
c2lvbiBpcyBub3QgY3VycmVudGx5IHNldC4iKTsKLSAgICAgIH0KLSAgICAgIHJldHVybiB0aGlz
LiRkYXRhOwotICAgIH0sCi0KLSAgICBzZXQ6IGZ1bmN0aW9uKHZhbHVlKSB7Ci0gICAgICB0aGlz
LiR0YWcgPSBSdW5JbnB1dC5UYWdzLnF1ZXJ5VmVyc2lvbjsKLSAgICAgIHRoaXMuJGRhdGEgPSB2
YWx1ZTsKLSAgICB9Ci0gIH0pOwotICBPYmplY3QuZGVmaW5lUHJvcGVydHkoUnVuSW5wdXQucHJv
dG90eXBlLCAiZmx1c2hGb3JUZXN0aW5nIiwgewotICAgIGdldDogZnVuY3Rpb24oKSB7Ci0gICAg
ICBpZiAodGhpcy4kdGFnICE9IFJ1bklucHV0LlRhZ3MuZmx1c2hGb3JUZXN0aW5nKSB7Ci0gICAg
ICAgIHRocm93IG5ldyBSZWZlcmVuY2VFcnJvcigKLSAgICAgICAgICAgICJSdW5JbnB1dC5mbHVz
aEZvclRlc3RpbmcgaXMgbm90IGN1cnJlbnRseSBzZXQuIik7Ci0gICAgICB9Ci0gICAgICByZXR1
cm4gdGhpcy4kZGF0YTsKLSAgICB9LAotCi0gICAgc2V0OiBmdW5jdGlvbih2YWx1ZSkgewotICAg
ICAgdGhpcy4kdGFnID0gUnVuSW5wdXQuVGFncy5mbHVzaEZvclRlc3Rpbmc7Ci0gICAgICB0aGlz
LiRkYXRhID0gdmFsdWU7Ci0gICAgfQotICB9KTsKLQotCi0gICAgUnVuSW5wdXQuZW5jb2RlID0g
ZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAgICBpZiAodmFsID09IG51bGwpIHsKLSAgICAg
ICAgZW5jb2Rlci53cml0ZVVpbnQ2NCgwKTsKLSAgICAgICAgZW5jb2Rlci53cml0ZVVpbnQ2NCgw
KTsKLSAgICAgICAgcmV0dXJuOwotICAgICAgfQotICAgICAgaWYgKHZhbC4kdGFnID09IHVuZGVm
aW5lZCkgewotICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgZW5jb2RlIHVuaW9u
cyB3aXRoIGFuIHVua25vd24gbWVtYmVyIHNldC4iKTsKLSAgICAgIH0KLQotICAgICAgZW5jb2Rl
ci53cml0ZVVpbnQzMigxNik7Ci0gICAgICBlbmNvZGVyLndyaXRlVWludDMyKHZhbC4kdGFnKTsK
LSAgICAgIHN3aXRjaCAodmFsLiR0YWcpIHsKLSAgICAgICAgY2FzZSBSdW5JbnB1dC5UYWdzLnF1
ZXJ5VmVyc2lvbjoKLSAgICAgICAgICBlbmNvZGVyLmVuY29kZVN0cnVjdFBvaW50ZXIoUXVlcnlW
ZXJzaW9uLCB2YWwucXVlcnlWZXJzaW9uKTsKLSAgICAgICAgICBicmVhazsKLSAgICAgICAgY2Fz
ZSBSdW5JbnB1dC5UYWdzLmZsdXNoRm9yVGVzdGluZzoKLSAgICAgICAgICBlbmNvZGVyLmVuY29k
ZVN0cnVjdFBvaW50ZXIoRmx1c2hGb3JUZXN0aW5nLCB2YWwuZmx1c2hGb3JUZXN0aW5nKTsKLSAg
ICAgICAgICBicmVhazsKLSAgICAgIH0KLSAgICAgIGVuY29kZXIuYWxpZ24oKTsKLSAgICB9Owot
Ci0KLSAgICBSdW5JbnB1dC5kZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgICB2YXIg
c2l6ZSA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgICAgaWYgKHNpemUgPT0gMCkgewotICAg
ICAgICBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICAgICAgZGVjb2Rlci5yZWFkVWludDY0KCk7
Ci0gICAgICAgIHJldHVybiBudWxsOwotICAgICAgfQotCi0gICAgICB2YXIgcmVzdWx0ID0gbmV3
IFJ1bklucHV0KCk7Ci0gICAgICB2YXIgdGFnID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAg
ICBzd2l0Y2ggKHRhZykgewotICAgICAgICBjYXNlIFJ1bklucHV0LlRhZ3MucXVlcnlWZXJzaW9u
OgotICAgICAgICAgIHJlc3VsdC5xdWVyeVZlcnNpb24gPSBkZWNvZGVyLmRlY29kZVN0cnVjdFBv
aW50ZXIoUXVlcnlWZXJzaW9uKTsKLSAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSBSdW5J
bnB1dC5UYWdzLmZsdXNoRm9yVGVzdGluZzoKLSAgICAgICAgICByZXN1bHQuZmx1c2hGb3JUZXN0
aW5nID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3RQb2ludGVyKEZsdXNoRm9yVGVzdGluZyk7Ci0gICAg
ICAgICAgYnJlYWs7Ci0gICAgICB9Ci0gICAgICBkZWNvZGVyLmFsaWduKCk7Ci0KLSAgICAgIHJl
dHVybiByZXN1bHQ7Ci0gICAgfTsKLQotCi0gICAgUnVuSW5wdXQudmFsaWRhdGUgPSBmdW5jdGlv
bihtZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsKLSAgICAgIHZhciBzaXplID0gbWVzc2FnZVZh
bGlkYXRvci5kZWNvZGVVbmlvblNpemUob2Zmc2V0KTsKLSAgICAgIGlmIChzaXplICE9IDE2KSB7
Ci0gICAgICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLklOVkFMSURfVU5JT05f
U0laRTsKLSAgICAgIH0KLQotICAgICAgdmFyIHRhZyA9IG1lc3NhZ2VWYWxpZGF0b3IuZGVjb2Rl
VW5pb25UYWcob2Zmc2V0KTsKLSAgICAgIHZhciBkYXRhX29mZnNldCA9IG9mZnNldCArIDg7Ci0g
ICAgICB2YXIgZXJyOwotICAgICAgc3dpdGNoICh0YWcpIHsKLSAgICAgICAgY2FzZSBSdW5JbnB1
dC5UYWdzLnF1ZXJ5VmVyc2lvbjoKLSAgICAgICAgICAKLQotICAgIC8vIHZhbGlkYXRlIFJ1bklu
cHV0LnF1ZXJ5VmVyc2lvbgotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1
Y3RQb2ludGVyKGRhdGFfb2Zmc2V0LCBRdWVyeVZlcnNpb24sIGZhbHNlKTsKLSAgICBpZiAoZXJy
ICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7
Ci0gICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgUnVuSW5wdXQuVGFncy5mbHVzaEZvclRl
c3Rpbmc6Ci0gICAgICAgICAgCi0KLSAgICAvLyB2YWxpZGF0ZSBSdW5JbnB1dC5mbHVzaEZvclRl
c3RpbmcKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0UG9pbnRlcihk
YXRhX29mZnNldCwgRmx1c2hGb3JUZXN0aW5nLCBmYWxzZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFs
aWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotICAgICAg
ICAgIGJyZWFrOwotICAgICAgfQotCi0gICAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25F
cnJvci5OT05FOwotICAgIH07Ci0KLSAgUnVuSW5wdXQuZW5jb2RlZFNpemUgPSAxNjsKLQotICBm
dW5jdGlvbiBSdW5PdXRwdXQodmFsdWUpIHsKLSAgICB0aGlzLmluaXREZWZhdWx0XygpOwotICAg
IHRoaXMuaW5pdFZhbHVlXyh2YWx1ZSk7Ci0gIH0KLQotCi0gIFJ1bk91dHB1dC5UYWdzID0gewot
ICAgIHF1ZXJ5VmVyc2lvblJlc3VsdDogMCwKLSAgfTsKLQotICBSdW5PdXRwdXQucHJvdG90eXBl
LmluaXREZWZhdWx0XyA9IGZ1bmN0aW9uKCkgewotICAgIHRoaXMuJGRhdGEgPSBudWxsOwotICAg
IHRoaXMuJHRhZyA9IHVuZGVmaW5lZDsKLSAgfQotCi0gIFJ1bk91dHB1dC5wcm90b3R5cGUuaW5p
dFZhbHVlXyA9IGZ1bmN0aW9uKHZhbHVlKSB7Ci0gICAgaWYgKHZhbHVlID09IHVuZGVmaW5lZCkg
ewotICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIHZhciBrZXlzID0gT2JqZWN0LmtleXModmFs
dWUpOwotICAgIGlmIChrZXlzLmxlbmd0aCA9PSAwKSB7Ci0gICAgICByZXR1cm47Ci0gICAgfQot
Ci0gICAgaWYgKGtleXMubGVuZ3RoID4gMSkgewotICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcigi
WW91IG1heSBzZXQgb25seSBvbmUgbWVtYmVyIG9uIGEgdW5pb24uIik7Ci0gICAgfQotCi0gICAg
dmFyIGZpZWxkcyA9IFsKLSAgICAgICAgInF1ZXJ5VmVyc2lvblJlc3VsdCIsCi0gICAgXTsKLQot
ICAgIGlmIChmaWVsZHMuaW5kZXhPZihrZXlzWzBdKSA8IDApIHsKLSAgICAgIHRocm93IG5ldyBS
ZWZlcmVuY2VFcnJvcihrZXlzWzBdICsgIiBpcyBub3QgYSBSdW5PdXRwdXQgbWVtYmVyLiIpOwot
Ci0gICAgfQotCi0gICAgdGhpc1trZXlzWzBdXSA9IHZhbHVlW2tleXNbMF1dOwotICB9Ci0gIE9i
amVjdC5kZWZpbmVQcm9wZXJ0eShSdW5PdXRwdXQucHJvdG90eXBlLCAicXVlcnlWZXJzaW9uUmVz
dWx0IiwgewotICAgIGdldDogZnVuY3Rpb24oKSB7Ci0gICAgICBpZiAodGhpcy4kdGFnICE9IFJ1
bk91dHB1dC5UYWdzLnF1ZXJ5VmVyc2lvblJlc3VsdCkgewotICAgICAgICB0aHJvdyBuZXcgUmVm
ZXJlbmNlRXJyb3IoCi0gICAgICAgICAgICAiUnVuT3V0cHV0LnF1ZXJ5VmVyc2lvblJlc3VsdCBp
cyBub3QgY3VycmVudGx5IHNldC4iKTsKLSAgICAgIH0KLSAgICAgIHJldHVybiB0aGlzLiRkYXRh
OwotICAgIH0sCi0KLSAgICBzZXQ6IGZ1bmN0aW9uKHZhbHVlKSB7Ci0gICAgICB0aGlzLiR0YWcg
PSBSdW5PdXRwdXQuVGFncy5xdWVyeVZlcnNpb25SZXN1bHQ7Ci0gICAgICB0aGlzLiRkYXRhID0g
dmFsdWU7Ci0gICAgfQotICB9KTsKLQotCi0gICAgUnVuT3V0cHV0LmVuY29kZSA9IGZ1bmN0aW9u
KGVuY29kZXIsIHZhbCkgewotICAgICAgaWYgKHZhbCA9PSBudWxsKSB7Ci0gICAgICAgIGVuY29k
ZXIud3JpdGVVaW50NjQoMCk7Ci0gICAgICAgIGVuY29kZXIud3JpdGVVaW50NjQoMCk7Ci0gICAg
ICAgIHJldHVybjsKLSAgICAgIH0KLSAgICAgIGlmICh2YWwuJHRhZyA9PSB1bmRlZmluZWQpIHsK
LSAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGVuY29kZSB1bmlvbnMgd2l0aCBh
biB1bmtub3duIG1lbWJlciBzZXQuIik7Ci0gICAgICB9Ci0KLSAgICAgIGVuY29kZXIud3JpdGVV
aW50MzIoMTYpOwotICAgICAgZW5jb2Rlci53cml0ZVVpbnQzMih2YWwuJHRhZyk7Ci0gICAgICBz
d2l0Y2ggKHZhbC4kdGFnKSB7Ci0gICAgICAgIGNhc2UgUnVuT3V0cHV0LlRhZ3MucXVlcnlWZXJz
aW9uUmVzdWx0OgotICAgICAgICAgIGVuY29kZXIuZW5jb2RlU3RydWN0UG9pbnRlcihRdWVyeVZl
cnNpb25SZXN1bHQsIHZhbC5xdWVyeVZlcnNpb25SZXN1bHQpOwotICAgICAgICAgIGJyZWFrOwot
ICAgICAgfQotICAgICAgZW5jb2Rlci5hbGlnbigpOwotICAgIH07Ci0KLQotICAgIFJ1bk91dHB1
dC5kZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgICB2YXIgc2l6ZSA9IGRlY29kZXIu
cmVhZFVpbnQzMigpOwotICAgICAgaWYgKHNpemUgPT0gMCkgewotICAgICAgICBkZWNvZGVyLnJl
YWRVaW50MzIoKTsKLSAgICAgICAgZGVjb2Rlci5yZWFkVWludDY0KCk7Ci0gICAgICAgIHJldHVy
biBudWxsOwotICAgICAgfQotCi0gICAgICB2YXIgcmVzdWx0ID0gbmV3IFJ1bk91dHB1dCgpOwot
ICAgICAgdmFyIHRhZyA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgICAgc3dpdGNoICh0YWcp
IHsKLSAgICAgICAgY2FzZSBSdW5PdXRwdXQuVGFncy5xdWVyeVZlcnNpb25SZXN1bHQ6Ci0gICAg
ICAgICAgcmVzdWx0LnF1ZXJ5VmVyc2lvblJlc3VsdCA9IGRlY29kZXIuZGVjb2RlU3RydWN0UG9p
bnRlcihRdWVyeVZlcnNpb25SZXN1bHQpOwotICAgICAgICAgIGJyZWFrOwotICAgICAgfQotICAg
ICAgZGVjb2Rlci5hbGlnbigpOwotCi0gICAgICByZXR1cm4gcmVzdWx0OwotICAgIH07Ci0KLQot
ICAgIFJ1bk91dHB1dC52YWxpZGF0ZSA9IGZ1bmN0aW9uKG1lc3NhZ2VWYWxpZGF0b3IsIG9mZnNl
dCkgewotICAgICAgdmFyIHNpemUgPSBtZXNzYWdlVmFsaWRhdG9yLmRlY29kZVVuaW9uU2l6ZShv
ZmZzZXQpOwotICAgICAgaWYgKHNpemUgIT0gMTYpIHsKLSAgICAgICAgcmV0dXJuIHZhbGlkYXRv
ci52YWxpZGF0aW9uRXJyb3IuSU5WQUxJRF9VTklPTl9TSVpFOwotICAgICAgfQotCi0gICAgICB2
YXIgdGFnID0gbWVzc2FnZVZhbGlkYXRvci5kZWNvZGVVbmlvblRhZyhvZmZzZXQpOwotICAgICAg
dmFyIGRhdGFfb2Zmc2V0ID0gb2Zmc2V0ICsgODsKLSAgICAgIHZhciBlcnI7Ci0gICAgICBzd2l0
Y2ggKHRhZykgewotICAgICAgICBjYXNlIFJ1bk91dHB1dC5UYWdzLnF1ZXJ5VmVyc2lvblJlc3Vs
dDoKLSAgICAgICAgICAKLQotICAgIC8vIHZhbGlkYXRlIFJ1bk91dHB1dC5xdWVyeVZlcnNpb25S
ZXN1bHQKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0UG9pbnRlcihk
YXRhX29mZnNldCwgUXVlcnlWZXJzaW9uUmVzdWx0LCBmYWxzZSk7Ci0gICAgaWYgKGVyciAhPT0g
dmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotICAg
ICAgICAgIGJyZWFrOwotICAgICAgfQotCi0gICAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRp
b25FcnJvci5OT05FOwotICAgIH07Ci0KLSAgUnVuT3V0cHV0LmVuY29kZWRTaXplID0gMTY7Ci0K
LSAgZnVuY3Rpb24gUnVuT3JDbG9zZVBpcGVJbnB1dCh2YWx1ZSkgewotICAgIHRoaXMuaW5pdERl
ZmF1bHRfKCk7Ci0gICAgdGhpcy5pbml0VmFsdWVfKHZhbHVlKTsKLSAgfQotCi0KLSAgUnVuT3JD
bG9zZVBpcGVJbnB1dC5UYWdzID0gewotICAgIHJlcXVpcmVWZXJzaW9uOiAwLAotICB9OwotCi0g
IFJ1bk9yQ2xvc2VQaXBlSW5wdXQucHJvdG90eXBlLmluaXREZWZhdWx0XyA9IGZ1bmN0aW9uKCkg
ewotICAgIHRoaXMuJGRhdGEgPSBudWxsOwotICAgIHRoaXMuJHRhZyA9IHVuZGVmaW5lZDsKLSAg
fQotCi0gIFJ1bk9yQ2xvc2VQaXBlSW5wdXQucHJvdG90eXBlLmluaXRWYWx1ZV8gPSBmdW5jdGlv
bih2YWx1ZSkgewotICAgIGlmICh2YWx1ZSA9PSB1bmRlZmluZWQpIHsKLSAgICAgIHJldHVybjsK
LSAgICB9Ci0KLSAgICB2YXIga2V5cyA9IE9iamVjdC5rZXlzKHZhbHVlKTsKLSAgICBpZiAoa2V5
cy5sZW5ndGggPT0gMCkgewotICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIGlmIChrZXlzLmxl
bmd0aCA+IDEpIHsKLSAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoIllvdSBtYXkgc2V0IG9ubHkg
b25lIG1lbWJlciBvbiBhIHVuaW9uLiIpOwotICAgIH0KLQotICAgIHZhciBmaWVsZHMgPSBbCi0g
ICAgICAgICJyZXF1aXJlVmVyc2lvbiIsCi0gICAgXTsKLQotICAgIGlmIChmaWVsZHMuaW5kZXhP
ZihrZXlzWzBdKSA8IDApIHsKLSAgICAgIHRocm93IG5ldyBSZWZlcmVuY2VFcnJvcihrZXlzWzBd
ICsgIiBpcyBub3QgYSBSdW5PckNsb3NlUGlwZUlucHV0IG1lbWJlci4iKTsKLQotICAgIH0KLQot
ICAgIHRoaXNba2V5c1swXV0gPSB2YWx1ZVtrZXlzWzBdXTsKLSAgfQotICBPYmplY3QuZGVmaW5l
UHJvcGVydHkoUnVuT3JDbG9zZVBpcGVJbnB1dC5wcm90b3R5cGUsICJyZXF1aXJlVmVyc2lvbiIs
IHsKLSAgICBnZXQ6IGZ1bmN0aW9uKCkgewotICAgICAgaWYgKHRoaXMuJHRhZyAhPSBSdW5PckNs
b3NlUGlwZUlucHV0LlRhZ3MucmVxdWlyZVZlcnNpb24pIHsKLSAgICAgICAgdGhyb3cgbmV3IFJl
ZmVyZW5jZUVycm9yKAotICAgICAgICAgICAgIlJ1bk9yQ2xvc2VQaXBlSW5wdXQucmVxdWlyZVZl
cnNpb24gaXMgbm90IGN1cnJlbnRseSBzZXQuIik7Ci0gICAgICB9Ci0gICAgICByZXR1cm4gdGhp
cy4kZGF0YTsKLSAgICB9LAotCi0gICAgc2V0OiBmdW5jdGlvbih2YWx1ZSkgewotICAgICAgdGhp
cy4kdGFnID0gUnVuT3JDbG9zZVBpcGVJbnB1dC5UYWdzLnJlcXVpcmVWZXJzaW9uOwotICAgICAg
dGhpcy4kZGF0YSA9IHZhbHVlOwotICAgIH0KLSAgfSk7Ci0KLQotICAgIFJ1bk9yQ2xvc2VQaXBl
SW5wdXQuZW5jb2RlID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAgICBpZiAodmFsID09
IG51bGwpIHsKLSAgICAgICAgZW5jb2Rlci53cml0ZVVpbnQ2NCgwKTsKLSAgICAgICAgZW5jb2Rl
ci53cml0ZVVpbnQ2NCgwKTsKLSAgICAgICAgcmV0dXJuOwotICAgICAgfQotICAgICAgaWYgKHZh
bC4kdGFnID09IHVuZGVmaW5lZCkgewotICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5u
b3QgZW5jb2RlIHVuaW9ucyB3aXRoIGFuIHVua25vd24gbWVtYmVyIHNldC4iKTsKLSAgICAgIH0K
LQotICAgICAgZW5jb2Rlci53cml0ZVVpbnQzMigxNik7Ci0gICAgICBlbmNvZGVyLndyaXRlVWlu
dDMyKHZhbC4kdGFnKTsKLSAgICAgIHN3aXRjaCAodmFsLiR0YWcpIHsKLSAgICAgICAgY2FzZSBS
dW5PckNsb3NlUGlwZUlucHV0LlRhZ3MucmVxdWlyZVZlcnNpb246Ci0gICAgICAgICAgZW5jb2Rl
ci5lbmNvZGVTdHJ1Y3RQb2ludGVyKFJlcXVpcmVWZXJzaW9uLCB2YWwucmVxdWlyZVZlcnNpb24p
OwotICAgICAgICAgIGJyZWFrOwotICAgICAgfQotICAgICAgZW5jb2Rlci5hbGlnbigpOwotICAg
IH07Ci0KLQotICAgIFJ1bk9yQ2xvc2VQaXBlSW5wdXQuZGVjb2RlID0gZnVuY3Rpb24oZGVjb2Rl
cikgewotICAgICAgdmFyIHNpemUgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICAgIGlmIChz
aXplID09IDApIHsKLSAgICAgICAgZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgICAgIGRlY29k
ZXIucmVhZFVpbnQ2NCgpOwotICAgICAgICByZXR1cm4gbnVsbDsKLSAgICAgIH0KLQotICAgICAg
dmFyIHJlc3VsdCA9IG5ldyBSdW5PckNsb3NlUGlwZUlucHV0KCk7Ci0gICAgICB2YXIgdGFnID0g
ZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgICBzd2l0Y2ggKHRhZykgewotICAgICAgICBjYXNl
IFJ1bk9yQ2xvc2VQaXBlSW5wdXQuVGFncy5yZXF1aXJlVmVyc2lvbjoKLSAgICAgICAgICByZXN1
bHQucmVxdWlyZVZlcnNpb24gPSBkZWNvZGVyLmRlY29kZVN0cnVjdFBvaW50ZXIoUmVxdWlyZVZl
cnNpb24pOwotICAgICAgICAgIGJyZWFrOwotICAgICAgfQotICAgICAgZGVjb2Rlci5hbGlnbigp
OwotCi0gICAgICByZXR1cm4gcmVzdWx0OwotICAgIH07Ci0KLQotICAgIFJ1bk9yQ2xvc2VQaXBl
SW5wdXQudmFsaWRhdGUgPSBmdW5jdGlvbihtZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsKLSAg
ICAgIHZhciBzaXplID0gbWVzc2FnZVZhbGlkYXRvci5kZWNvZGVVbmlvblNpemUob2Zmc2V0KTsK
LSAgICAgIGlmIChzaXplICE9IDE2KSB7Ci0gICAgICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRh
dGlvbkVycm9yLklOVkFMSURfVU5JT05fU0laRTsKLSAgICAgIH0KLQotICAgICAgdmFyIHRhZyA9
IG1lc3NhZ2VWYWxpZGF0b3IuZGVjb2RlVW5pb25UYWcob2Zmc2V0KTsKLSAgICAgIHZhciBkYXRh
X29mZnNldCA9IG9mZnNldCArIDg7Ci0gICAgICB2YXIgZXJyOwotICAgICAgc3dpdGNoICh0YWcp
IHsKLSAgICAgICAgY2FzZSBSdW5PckNsb3NlUGlwZUlucHV0LlRhZ3MucmVxdWlyZVZlcnNpb246
Ci0gICAgICAgICAgCi0KLSAgICAvLyB2YWxpZGF0ZSBSdW5PckNsb3NlUGlwZUlucHV0LnJlcXVp
cmVWZXJzaW9uCi0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFBvaW50
ZXIoZGF0YV9vZmZzZXQsIFJlcXVpcmVWZXJzaW9uLCBmYWxzZSk7Ci0gICAgaWYgKGVyciAhPT0g
dmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotICAg
ICAgICAgIGJyZWFrOwotICAgICAgfQotCi0gICAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRp
b25FcnJvci5OT05FOwotICAgIH07Ci0KLSAgUnVuT3JDbG9zZVBpcGVJbnB1dC5lbmNvZGVkU2l6
ZSA9IDE2OwotICBleHBvcnRzLmtSdW5NZXNzYWdlSWQgPSBrUnVuTWVzc2FnZUlkOwotICBleHBv
cnRzLmtSdW5PckNsb3NlUGlwZU1lc3NhZ2VJZCA9IGtSdW5PckNsb3NlUGlwZU1lc3NhZ2VJZDsK
LSAgZXhwb3J0cy5SdW5NZXNzYWdlUGFyYW1zID0gUnVuTWVzc2FnZVBhcmFtczsKLSAgZXhwb3J0
cy5SdW5SZXNwb25zZU1lc3NhZ2VQYXJhbXMgPSBSdW5SZXNwb25zZU1lc3NhZ2VQYXJhbXM7Ci0g
IGV4cG9ydHMuUXVlcnlWZXJzaW9uID0gUXVlcnlWZXJzaW9uOwotICBleHBvcnRzLlF1ZXJ5VmVy
c2lvblJlc3VsdCA9IFF1ZXJ5VmVyc2lvblJlc3VsdDsKLSAgZXhwb3J0cy5GbHVzaEZvclRlc3Rp
bmcgPSBGbHVzaEZvclRlc3Rpbmc7Ci0gIGV4cG9ydHMuUnVuT3JDbG9zZVBpcGVNZXNzYWdlUGFy
YW1zID0gUnVuT3JDbG9zZVBpcGVNZXNzYWdlUGFyYW1zOwotICBleHBvcnRzLlJlcXVpcmVWZXJz
aW9uID0gUmVxdWlyZVZlcnNpb247Ci0gIGV4cG9ydHMuUnVuSW5wdXQgPSBSdW5JbnB1dDsKLSAg
ZXhwb3J0cy5SdW5PdXRwdXQgPSBSdW5PdXRwdXQ7Ci0gIGV4cG9ydHMuUnVuT3JDbG9zZVBpcGVJ
bnB1dCA9IFJ1bk9yQ2xvc2VQaXBlSW5wdXQ7Ci19KSgpOy8vIENvcHlyaWdodCAyMDE0IFRoZSBD
aHJvbWl1bSBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotLy8gVXNlIG9mIHRoaXMgc291
cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQot
Ly8gZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KLQotJ3VzZSBzdHJpY3QnOwotCi0oZnVuY3Rp
b24oKSB7Ci0gIHZhciBtb2pvbUlkID0gJ21vam8vcHVibGljL2ludGVyZmFjZXMvYmluZGluZ3Mv
cGlwZV9jb250cm9sX21lc3NhZ2VzLm1vam9tJzsKLSAgaWYgKG1vam8uaW50ZXJuYWwuaXNNb2pv
bUxvYWRlZChtb2pvbUlkKSkgewotICAgIGNvbnNvbGUud2FybignVGhlIGZvbGxvd2luZyBtb2pv
bSBpcyBsb2FkZWQgbXVsdGlwbGUgdGltZXM6ICcgKyBtb2pvbUlkKTsKLSAgICByZXR1cm47Ci0g
IH0KLSAgbW9qby5pbnRlcm5hbC5tYXJrTW9qb21Mb2FkZWQobW9qb21JZCk7Ci0gIHZhciBiaW5k
aW5ncyA9IG1vam87Ci0gIHZhciBhc3NvY2lhdGVkQmluZGluZ3MgPSBtb2pvOwotICB2YXIgY29k
ZWMgPSBtb2pvLmludGVybmFsOwotICB2YXIgdmFsaWRhdG9yID0gbW9qby5pbnRlcm5hbDsKLQot
ICB2YXIgZXhwb3J0cyA9IG1vam8uaW50ZXJuYWwuZXhwb3NlTmFtZXNwYWNlKCdtb2pvLnBpcGVD
b250cm9sJyk7Ci0KLQotICB2YXIga1J1bk9yQ2xvc2VQaXBlTWVzc2FnZUlkID0gMHhGRkZGRkZG
RTsKLQotICBmdW5jdGlvbiBSdW5PckNsb3NlUGlwZU1lc3NhZ2VQYXJhbXModmFsdWVzKSB7Ci0g
ICAgdGhpcy5pbml0RGVmYXVsdHNfKCk7Ci0gICAgdGhpcy5pbml0RmllbGRzXyh2YWx1ZXMpOwot
ICB9Ci0KLQotICBSdW5PckNsb3NlUGlwZU1lc3NhZ2VQYXJhbXMucHJvdG90eXBlLmluaXREZWZh
dWx0c18gPSBmdW5jdGlvbigpIHsKLSAgICB0aGlzLmlucHV0ID0gbnVsbDsKLSAgfTsKLSAgUnVu
T3JDbG9zZVBpcGVNZXNzYWdlUGFyYW1zLnByb3RvdHlwZS5pbml0RmllbGRzXyA9IGZ1bmN0aW9u
KGZpZWxkcykgewotICAgIGZvcih2YXIgZmllbGQgaW4gZmllbGRzKSB7Ci0gICAgICAgIGlmICh0
aGlzLmhhc093blByb3BlcnR5KGZpZWxkKSkKLSAgICAgICAgICB0aGlzW2ZpZWxkXSA9IGZpZWxk
c1tmaWVsZF07Ci0gICAgfQotICB9OwotCi0gIFJ1bk9yQ2xvc2VQaXBlTWVzc2FnZVBhcmFtcy52
YWxpZGF0ZSA9IGZ1bmN0aW9uKG1lc3NhZ2VWYWxpZGF0b3IsIG9mZnNldCkgewotICAgIHZhciBl
cnI7Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdEhlYWRlcihvZmZz
ZXQsIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3Iu
dmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICB2YXIga1Zl
cnNpb25TaXplcyA9IFsKLSAgICAgIHt2ZXJzaW9uOiAwLCBudW1CeXRlczogMjR9Ci0gICAgXTsK
LSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0VmVyc2lvbihvZmZzZXQs
IGtWZXJzaW9uU2l6ZXMpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJy
b3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0gICAgLy8gdmFsaWRhdGUgUnVuT3JD
bG9zZVBpcGVNZXNzYWdlUGFyYW1zLmlucHV0Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52
YWxpZGF0ZVVuaW9uKG9mZnNldCArIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgMCwgUnVuT3JD
bG9zZVBpcGVJbnB1dCwgZmFsc2UpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0
aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHJldHVybiB2YWxpZGF0
b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gIH07Ci0KLSAgUnVuT3JDbG9zZVBpcGVNZXNzYWdl
UGFyYW1zLmVuY29kZWRTaXplID0gY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyAxNjsKLQotICBS
dW5PckNsb3NlUGlwZU1lc3NhZ2VQYXJhbXMuZGVjb2RlID0gZnVuY3Rpb24oZGVjb2Rlcikgewot
ICAgIHZhciBwYWNrZWQ7Ci0gICAgdmFyIHZhbCA9IG5ldyBSdW5PckNsb3NlUGlwZU1lc3NhZ2VQ
YXJhbXMoKTsKLSAgICB2YXIgbnVtYmVyT2ZCeXRlcyA9IGRlY29kZXIucmVhZFVpbnQzMigpOwot
ICAgIHZhciB2ZXJzaW9uID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFsLmlucHV0ID0g
ZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoUnVuT3JDbG9zZVBpcGVJbnB1dCk7Ci0gICAgcmV0dXJuIHZh
bDsKLSAgfTsKLQotICBSdW5PckNsb3NlUGlwZU1lc3NhZ2VQYXJhbXMuZW5jb2RlID0gZnVuY3Rp
b24oZW5jb2RlciwgdmFsKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICBlbmNvZGVyLndyaXRlVWlu
dDMyKFJ1bk9yQ2xvc2VQaXBlTWVzc2FnZVBhcmFtcy5lbmNvZGVkU2l6ZSk7Ci0gICAgZW5jb2Rl
ci53cml0ZVVpbnQzMigwKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdChSdW5PckNsb3NlUGlw
ZUlucHV0LCB2YWwuaW5wdXQpOwotICB9OwotICBmdW5jdGlvbiBEaXNjb25uZWN0UmVhc29uKHZh
bHVlcykgewotICAgIHRoaXMuaW5pdERlZmF1bHRzXygpOwotICAgIHRoaXMuaW5pdEZpZWxkc18o
dmFsdWVzKTsKLSAgfQotCi0KLSAgRGlzY29ubmVjdFJlYXNvbi5wcm90b3R5cGUuaW5pdERlZmF1
bHRzXyA9IGZ1bmN0aW9uKCkgewotICAgIHRoaXMuY3VzdG9tUmVhc29uID0gMDsKLSAgICB0aGlz
LmRlc2NyaXB0aW9uID0gbnVsbDsKLSAgfTsKLSAgRGlzY29ubmVjdFJlYXNvbi5wcm90b3R5cGUu
aW5pdEZpZWxkc18gPSBmdW5jdGlvbihmaWVsZHMpIHsKLSAgICBmb3IodmFyIGZpZWxkIGluIGZp
ZWxkcykgewotICAgICAgICBpZiAodGhpcy5oYXNPd25Qcm9wZXJ0eShmaWVsZCkpCi0gICAgICAg
ICAgdGhpc1tmaWVsZF0gPSBmaWVsZHNbZmllbGRdOwotICAgIH0KLSAgfTsKLQotICBEaXNjb25u
ZWN0UmVhc29uLnZhbGlkYXRlID0gZnVuY3Rpb24obWVzc2FnZVZhbGlkYXRvciwgb2Zmc2V0KSB7
Ci0gICAgdmFyIGVycjsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0
SGVhZGVyKG9mZnNldCwgY29kZWMua1N0cnVjdEhlYWRlclNpemUpOwotICAgIGlmIChlcnIgIT09
IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQot
ICAgIHZhciBrVmVyc2lvblNpemVzID0gWwotICAgICAge3ZlcnNpb246IDAsIG51bUJ5dGVzOiAy
NH0KLSAgICBdOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RWZXJz
aW9uKG9mZnNldCwga1ZlcnNpb25TaXplcyk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZh
bGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0KLQotICAgIC8vIHZh
bGlkYXRlIERpc2Nvbm5lY3RSZWFzb24uZGVzY3JpcHRpb24KLSAgICBlcnIgPSBtZXNzYWdlVmFs
aWRhdG9yLnZhbGlkYXRlU3RyaW5nUG9pbnRlcihvZmZzZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVy
U2l6ZSArIDgsIGZhbHNlKQotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJy
b3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHJldHVybiB2YWxpZGF0b3IudmFs
aWRhdGlvbkVycm9yLk5PTkU7Ci0gIH07Ci0KLSAgRGlzY29ubmVjdFJlYXNvbi5lbmNvZGVkU2l6
ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgMTY7Ci0KLSAgRGlzY29ubmVjdFJlYXNvbi5k
ZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICB2YXIgdmFs
ID0gbmV3IERpc2Nvbm5lY3RSZWFzb24oKTsKLSAgICB2YXIgbnVtYmVyT2ZCeXRlcyA9IGRlY29k
ZXIucmVhZFVpbnQzMigpOwotICAgIHZhciB2ZXJzaW9uID0gZGVjb2Rlci5yZWFkVWludDMyKCk7
Ci0gICAgdmFsLmN1c3RvbVJlYXNvbiA9IGRlY29kZXIuZGVjb2RlU3RydWN0KGNvZGVjLlVpbnQz
Mik7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNv
ZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIHZhbC5kZXNjcmlwdGlvbiA9
IGRlY29kZXIuZGVjb2RlU3RydWN0KGNvZGVjLlN0cmluZyk7Ci0gICAgcmV0dXJuIHZhbDsKLSAg
fTsKLQotICBEaXNjb25uZWN0UmVhc29uLmVuY29kZSA9IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkg
ewotICAgIHZhciBwYWNrZWQ7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMihEaXNjb25uZWN0UmVh
c29uLmVuY29kZWRTaXplKTsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKDApOwotICAgIGVuY29k
ZXIuZW5jb2RlU3RydWN0KGNvZGVjLlVpbnQzMiwgdmFsLmN1c3RvbVJlYXNvbik7Ci0gICAgZW5j
b2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7
Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNvZGVjLlN0
cmluZywgdmFsLmRlc2NyaXB0aW9uKTsKLSAgfTsKLSAgZnVuY3Rpb24gUGVlckFzc29jaWF0ZWRF
bmRwb2ludENsb3NlZEV2ZW50KHZhbHVlcykgewotICAgIHRoaXMuaW5pdERlZmF1bHRzXygpOwot
ICAgIHRoaXMuaW5pdEZpZWxkc18odmFsdWVzKTsKLSAgfQotCi0KLSAgUGVlckFzc29jaWF0ZWRF
bmRwb2ludENsb3NlZEV2ZW50LnByb3RvdHlwZS5pbml0RGVmYXVsdHNfID0gZnVuY3Rpb24oKSB7
Ci0gICAgdGhpcy5pZCA9IDA7Ci0gICAgdGhpcy5kaXNjb25uZWN0UmVhc29uID0gbnVsbDsKLSAg
fTsKLSAgUGVlckFzc29jaWF0ZWRFbmRwb2ludENsb3NlZEV2ZW50LnByb3RvdHlwZS5pbml0Rmll
bGRzXyA9IGZ1bmN0aW9uKGZpZWxkcykgewotICAgIGZvcih2YXIgZmllbGQgaW4gZmllbGRzKSB7
Ci0gICAgICAgIGlmICh0aGlzLmhhc093blByb3BlcnR5KGZpZWxkKSkKLSAgICAgICAgICB0aGlz
W2ZpZWxkXSA9IGZpZWxkc1tmaWVsZF07Ci0gICAgfQotICB9OwotCi0gIFBlZXJBc3NvY2lhdGVk
RW5kcG9pbnRDbG9zZWRFdmVudC52YWxpZGF0ZSA9IGZ1bmN0aW9uKG1lc3NhZ2VWYWxpZGF0b3Is
IG9mZnNldCkgewotICAgIHZhciBlcnI7Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxp
ZGF0ZVN0cnVjdEhlYWRlcihvZmZzZXQsIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplKTsKLSAgICBp
ZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVy
biBlcnI7Ci0KLSAgICB2YXIga1ZlcnNpb25TaXplcyA9IFsKLSAgICAgIHt2ZXJzaW9uOiAwLCBu
dW1CeXRlczogMjR9Ci0gICAgXTsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRl
U3RydWN0VmVyc2lvbihvZmZzZXQsIGtWZXJzaW9uU2l6ZXMpOwotICAgIGlmIChlcnIgIT09IHZh
bGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0K
LSAgICAvLyB2YWxpZGF0ZSBQZWVyQXNzb2NpYXRlZEVuZHBvaW50Q2xvc2VkRXZlbnQuZGlzY29u
bmVjdFJlYXNvbgotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RQb2lu
dGVyKG9mZnNldCArIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgOCwgRGlzY29ubmVjdFJlYXNv
biwgdHJ1ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05F
KQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9u
RXJyb3IuTk9ORTsKLSAgfTsKLQotICBQZWVyQXNzb2NpYXRlZEVuZHBvaW50Q2xvc2VkRXZlbnQu
ZW5jb2RlZFNpemUgPSBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDE2OwotCi0gIFBlZXJBc3Nv
Y2lhdGVkRW5kcG9pbnRDbG9zZWRFdmVudC5kZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0g
ICAgdmFyIHBhY2tlZDsKLSAgICB2YXIgdmFsID0gbmV3IFBlZXJBc3NvY2lhdGVkRW5kcG9pbnRD
bG9zZWRFdmVudCgpOwotICAgIHZhciBudW1iZXJPZkJ5dGVzID0gZGVjb2Rlci5yZWFkVWludDMy
KCk7Ci0gICAgdmFyIHZlcnNpb24gPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YWwuaWQg
PSBkZWNvZGVyLmRlY29kZVN0cnVjdChjb2RlYy5VaW50MzIpOwotICAgIGRlY29kZXIuc2tpcCgx
KTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29k
ZXIuc2tpcCgxKTsKLSAgICB2YWwuZGlzY29ubmVjdFJlYXNvbiA9IGRlY29kZXIuZGVjb2RlU3Ry
dWN0UG9pbnRlcihEaXNjb25uZWN0UmVhc29uKTsKLSAgICByZXR1cm4gdmFsOwotICB9OwotCi0g
IFBlZXJBc3NvY2lhdGVkRW5kcG9pbnRDbG9zZWRFdmVudC5lbmNvZGUgPSBmdW5jdGlvbihlbmNv
ZGVyLCB2YWwpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoUGVl
ckFzc29jaWF0ZWRFbmRwb2ludENsb3NlZEV2ZW50LmVuY29kZWRTaXplKTsKLSAgICBlbmNvZGVy
LndyaXRlVWludDMyKDApOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNvZGVjLlVpbnQzMiwg
dmFsLmlkKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAg
IGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5lbmNv
ZGVTdHJ1Y3RQb2ludGVyKERpc2Nvbm5lY3RSZWFzb24sIHZhbC5kaXNjb25uZWN0UmVhc29uKTsK
LSAgfTsKLQotICBmdW5jdGlvbiBSdW5PckNsb3NlUGlwZUlucHV0KHZhbHVlKSB7Ci0gICAgdGhp
cy5pbml0RGVmYXVsdF8oKTsKLSAgICB0aGlzLmluaXRWYWx1ZV8odmFsdWUpOwotICB9Ci0KLQot
ICBSdW5PckNsb3NlUGlwZUlucHV0LlRhZ3MgPSB7Ci0gICAgcGVlckFzc29jaWF0ZWRFbmRwb2lu
dENsb3NlZEV2ZW50OiAwLAotICB9OwotCi0gIFJ1bk9yQ2xvc2VQaXBlSW5wdXQucHJvdG90eXBl
LmluaXREZWZhdWx0XyA9IGZ1bmN0aW9uKCkgewotICAgIHRoaXMuJGRhdGEgPSBudWxsOwotICAg
IHRoaXMuJHRhZyA9IHVuZGVmaW5lZDsKLSAgfQotCi0gIFJ1bk9yQ2xvc2VQaXBlSW5wdXQucHJv
dG90eXBlLmluaXRWYWx1ZV8gPSBmdW5jdGlvbih2YWx1ZSkgewotICAgIGlmICh2YWx1ZSA9PSB1
bmRlZmluZWQpIHsKLSAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICB2YXIga2V5cyA9IE9iamVj
dC5rZXlzKHZhbHVlKTsKLSAgICBpZiAoa2V5cy5sZW5ndGggPT0gMCkgewotICAgICAgcmV0dXJu
OwotICAgIH0KLQotICAgIGlmIChrZXlzLmxlbmd0aCA+IDEpIHsKLSAgICAgIHRocm93IG5ldyBU
eXBlRXJyb3IoIllvdSBtYXkgc2V0IG9ubHkgb25lIG1lbWJlciBvbiBhIHVuaW9uLiIpOwotICAg
IH0KLQotICAgIHZhciBmaWVsZHMgPSBbCi0gICAgICAgICJwZWVyQXNzb2NpYXRlZEVuZHBvaW50
Q2xvc2VkRXZlbnQiLAotICAgIF07Ci0KLSAgICBpZiAoZmllbGRzLmluZGV4T2Yoa2V5c1swXSkg
PCAwKSB7Ci0gICAgICB0aHJvdyBuZXcgUmVmZXJlbmNlRXJyb3Ioa2V5c1swXSArICIgaXMgbm90
IGEgUnVuT3JDbG9zZVBpcGVJbnB1dCBtZW1iZXIuIik7Ci0KLSAgICB9Ci0KLSAgICB0aGlzW2tl
eXNbMF1dID0gdmFsdWVba2V5c1swXV07Ci0gIH0KLSAgT2JqZWN0LmRlZmluZVByb3BlcnR5KFJ1
bk9yQ2xvc2VQaXBlSW5wdXQucHJvdG90eXBlLCAicGVlckFzc29jaWF0ZWRFbmRwb2ludENsb3Nl
ZEV2ZW50IiwgewotICAgIGdldDogZnVuY3Rpb24oKSB7Ci0gICAgICBpZiAodGhpcy4kdGFnICE9
IFJ1bk9yQ2xvc2VQaXBlSW5wdXQuVGFncy5wZWVyQXNzb2NpYXRlZEVuZHBvaW50Q2xvc2VkRXZl
bnQpIHsKLSAgICAgICAgdGhyb3cgbmV3IFJlZmVyZW5jZUVycm9yKAotICAgICAgICAgICAgIlJ1
bk9yQ2xvc2VQaXBlSW5wdXQucGVlckFzc29jaWF0ZWRFbmRwb2ludENsb3NlZEV2ZW50IGlzIG5v
dCBjdXJyZW50bHkgc2V0LiIpOwotICAgICAgfQotICAgICAgcmV0dXJuIHRoaXMuJGRhdGE7Ci0g
ICAgfSwKLQotICAgIHNldDogZnVuY3Rpb24odmFsdWUpIHsKLSAgICAgIHRoaXMuJHRhZyA9IFJ1
bk9yQ2xvc2VQaXBlSW5wdXQuVGFncy5wZWVyQXNzb2NpYXRlZEVuZHBvaW50Q2xvc2VkRXZlbnQ7
Ci0gICAgICB0aGlzLiRkYXRhID0gdmFsdWU7Ci0gICAgfQotICB9KTsKLQotCi0gICAgUnVuT3JD
bG9zZVBpcGVJbnB1dC5lbmNvZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2YWwpIHsKLSAgICAgIGlm
ICh2YWwgPT0gbnVsbCkgewotICAgICAgICBlbmNvZGVyLndyaXRlVWludDY0KDApOwotICAgICAg
ICBlbmNvZGVyLndyaXRlVWludDY0KDApOwotICAgICAgICByZXR1cm47Ci0gICAgICB9Ci0gICAg
ICBpZiAodmFsLiR0YWcgPT0gdW5kZWZpbmVkKSB7Ci0gICAgICAgIHRocm93IG5ldyBUeXBlRXJy
b3IoIkNhbm5vdCBlbmNvZGUgdW5pb25zIHdpdGggYW4gdW5rbm93biBtZW1iZXIgc2V0LiIpOwot
ICAgICAgfQotCi0gICAgICBlbmNvZGVyLndyaXRlVWludDMyKDE2KTsKLSAgICAgIGVuY29kZXIu
d3JpdGVVaW50MzIodmFsLiR0YWcpOwotICAgICAgc3dpdGNoICh2YWwuJHRhZykgewotICAgICAg
ICBjYXNlIFJ1bk9yQ2xvc2VQaXBlSW5wdXQuVGFncy5wZWVyQXNzb2NpYXRlZEVuZHBvaW50Q2xv
c2VkRXZlbnQ6Ci0gICAgICAgICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3RQb2ludGVyKFBlZXJBc3Nv
Y2lhdGVkRW5kcG9pbnRDbG9zZWRFdmVudCwgdmFsLnBlZXJBc3NvY2lhdGVkRW5kcG9pbnRDbG9z
ZWRFdmVudCk7Ci0gICAgICAgICAgYnJlYWs7Ci0gICAgICB9Ci0gICAgICBlbmNvZGVyLmFsaWdu
KCk7Ci0gICAgfTsKLQotCi0gICAgUnVuT3JDbG9zZVBpcGVJbnB1dC5kZWNvZGUgPSBmdW5jdGlv
bihkZWNvZGVyKSB7Ci0gICAgICB2YXIgc2l6ZSA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAg
ICAgaWYgKHNpemUgPT0gMCkgewotICAgICAgICBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICAg
ICAgZGVjb2Rlci5yZWFkVWludDY0KCk7Ci0gICAgICAgIHJldHVybiBudWxsOwotICAgICAgfQot
Ci0gICAgICB2YXIgcmVzdWx0ID0gbmV3IFJ1bk9yQ2xvc2VQaXBlSW5wdXQoKTsKLSAgICAgIHZh
ciB0YWcgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICAgIHN3aXRjaCAodGFnKSB7Ci0gICAg
ICAgIGNhc2UgUnVuT3JDbG9zZVBpcGVJbnB1dC5UYWdzLnBlZXJBc3NvY2lhdGVkRW5kcG9pbnRD
bG9zZWRFdmVudDoKLSAgICAgICAgICByZXN1bHQucGVlckFzc29jaWF0ZWRFbmRwb2ludENsb3Nl
ZEV2ZW50ID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3RQb2ludGVyKFBlZXJBc3NvY2lhdGVkRW5kcG9p
bnRDbG9zZWRFdmVudCk7Ci0gICAgICAgICAgYnJlYWs7Ci0gICAgICB9Ci0gICAgICBkZWNvZGVy
LmFsaWduKCk7Ci0KLSAgICAgIHJldHVybiByZXN1bHQ7Ci0gICAgfTsKLQotCi0gICAgUnVuT3JD
bG9zZVBpcGVJbnB1dC52YWxpZGF0ZSA9IGZ1bmN0aW9uKG1lc3NhZ2VWYWxpZGF0b3IsIG9mZnNl
dCkgewotICAgICAgdmFyIHNpemUgPSBtZXNzYWdlVmFsaWRhdG9yLmRlY29kZVVuaW9uU2l6ZShv
ZmZzZXQpOwotICAgICAgaWYgKHNpemUgIT0gMTYpIHsKLSAgICAgICAgcmV0dXJuIHZhbGlkYXRv
ci52YWxpZGF0aW9uRXJyb3IuSU5WQUxJRF9VTklPTl9TSVpFOwotICAgICAgfQotCi0gICAgICB2
YXIgdGFnID0gbWVzc2FnZVZhbGlkYXRvci5kZWNvZGVVbmlvblRhZyhvZmZzZXQpOwotICAgICAg
dmFyIGRhdGFfb2Zmc2V0ID0gb2Zmc2V0ICsgODsKLSAgICAgIHZhciBlcnI7Ci0gICAgICBzd2l0
Y2ggKHRhZykgewotICAgICAgICBjYXNlIFJ1bk9yQ2xvc2VQaXBlSW5wdXQuVGFncy5wZWVyQXNz
b2NpYXRlZEVuZHBvaW50Q2xvc2VkRXZlbnQ6Ci0gICAgICAgICAgCi0KLSAgICAvLyB2YWxpZGF0
ZSBSdW5PckNsb3NlUGlwZUlucHV0LnBlZXJBc3NvY2lhdGVkRW5kcG9pbnRDbG9zZWRFdmVudAot
ICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RQb2ludGVyKGRhdGFfb2Zm
c2V0LCBQZWVyQXNzb2NpYXRlZEVuZHBvaW50Q2xvc2VkRXZlbnQsIGZhbHNlKTsKLSAgICBpZiAo
ZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBl
cnI7Ci0gICAgICAgICAgYnJlYWs7Ci0gICAgICB9Ci0KLSAgICAgIHJldHVybiB2YWxpZGF0b3Iu
dmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gICAgfTsKLQotICBSdW5PckNsb3NlUGlwZUlucHV0LmVu
Y29kZWRTaXplID0gMTY7Ci0gIGV4cG9ydHMua1J1bk9yQ2xvc2VQaXBlTWVzc2FnZUlkID0ga1J1
bk9yQ2xvc2VQaXBlTWVzc2FnZUlkOwotICBleHBvcnRzLlJ1bk9yQ2xvc2VQaXBlTWVzc2FnZVBh
cmFtcyA9IFJ1bk9yQ2xvc2VQaXBlTWVzc2FnZVBhcmFtczsKLSAgZXhwb3J0cy5EaXNjb25uZWN0
UmVhc29uID0gRGlzY29ubmVjdFJlYXNvbjsKLSAgZXhwb3J0cy5QZWVyQXNzb2NpYXRlZEVuZHBv
aW50Q2xvc2VkRXZlbnQgPSBQZWVyQXNzb2NpYXRlZEVuZHBvaW50Q2xvc2VkRXZlbnQ7Ci0gIGV4
cG9ydHMuUnVuT3JDbG9zZVBpcGVJbnB1dCA9IFJ1bk9yQ2xvc2VQaXBlSW5wdXQ7Ci19KSgpOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvY2hyb21pdW0vbW9qb19iaW5kaW5ncy5qcy5oZWFkZXJzIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vbW9qb19i
aW5kaW5ncy5qcy5oZWFkZXJzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2ODA1YzMy
M2RmNS4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vbW9qb19iaW5kaW5ncy5qcy5oZWFkZXJzCisr
KyAvZGV2L251bGwKQEAgLTEgKzAsMCBAQAotQ29udGVudC1UeXBlOiB0ZXh0L2phdmFzY3JpcHQ7
IGNoYXJzZXQ9dXRmLTgKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL21vam9fd2ViX3Rlc3RfaGVscGVyX3Rl
c3QubW9qb20uanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy9jaHJvbWl1bS9tb2pvX3dlYl90ZXN0X2hlbHBlcl90ZXN0Lm1vam9tLmpzCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjZmJhZDA4Njg5OC4uMDAwMDAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
Y2hyb21pdW0vbW9qb193ZWJfdGVzdF9oZWxwZXJfdGVzdC5tb2pvbS5qcworKysgL2Rldi9udWxs
CkBAIC0xLDI2NCArMCwwIEBACi0vLyBDb3B5cmlnaHQgMjAxNCBUaGUgQ2hyb21pdW0gQXV0aG9y
cy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLS8vIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdv
dmVybmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKLS8vIGZvdW5kIGluIHRo
ZSBMSUNFTlNFIGZpbGUuCi0KLSd1c2Ugc3RyaWN0JzsKLQotKGZ1bmN0aW9uKCkgewotICB2YXIg
bW9qb21JZCA9ICdjb250ZW50L3Rlc3QvZGF0YS9tb2pvX3dlYl90ZXN0X2hlbHBlcl90ZXN0Lm1v
am9tJzsKLSAgaWYgKG1vam8uaW50ZXJuYWwuaXNNb2pvbUxvYWRlZChtb2pvbUlkKSkgewotICAg
IGNvbnNvbGUud2FybignVGhlIGZvbGxvd2luZyBtb2pvbSBpcyBsb2FkZWQgbXVsdGlwbGUgdGlt
ZXM6ICcgKyBtb2pvbUlkKTsKLSAgICByZXR1cm47Ci0gIH0KLSAgbW9qby5pbnRlcm5hbC5tYXJr
TW9qb21Mb2FkZWQobW9qb21JZCk7Ci0KLSAgLy8gVE9ETyh5enNoZW4pOiBEZWZpbmUgdGhlc2Ug
YWxpYXNlcyB0byBtaW5pbWl6ZSB0aGUgZGlmZmVyZW5jZXMgYmV0d2VlbiB0aGUKLSAgLy8gb2xk
L25ldyBtb2Rlcy4gUmVtb3ZlIHRoZW0gd2hlbiB0aGUgb2xkIG1vZGUgZ29lcyBhd2F5LgotICB2
YXIgYmluZGluZ3MgPSBtb2pvOwotICB2YXIgYXNzb2NpYXRlZEJpbmRpbmdzID0gbW9qbzsKLSAg
dmFyIGNvZGVjID0gbW9qby5pbnRlcm5hbDsKLSAgdmFyIHZhbGlkYXRvciA9IG1vam8uaW50ZXJu
YWw7Ci0KLSAgdmFyIGV4cG9ydHMgPSBtb2pvLmludGVybmFsLmV4cG9zZU5hbWVzcGFjZSgnY29u
dGVudC5tb2pvbScpOwotCi0KLQotICBmdW5jdGlvbiBNb2pvV2ViVGVzdEhlbHBlcl9SZXZlcnNl
X1BhcmFtcyh2YWx1ZXMpIHsKLSAgICB0aGlzLmluaXREZWZhdWx0c18oKTsKLSAgICB0aGlzLmlu
aXRGaWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0gIE1vam9XZWJUZXN0SGVscGVyX1JldmVyc2Vf
UGFyYW1zLnByb3RvdHlwZS5pbml0RGVmYXVsdHNfID0gZnVuY3Rpb24oKSB7Ci0gICAgdGhpcy5t
ZXNzYWdlID0gbnVsbDsKLSAgfTsKLSAgTW9qb1dlYlRlc3RIZWxwZXJfUmV2ZXJzZV9QYXJhbXMu
cHJvdG90eXBlLmluaXRGaWVsZHNfID0gZnVuY3Rpb24oZmllbGRzKSB7Ci0gICAgZm9yKHZhciBm
aWVsZCBpbiBmaWVsZHMpIHsKLSAgICAgICAgaWYgKHRoaXMuaGFzT3duUHJvcGVydHkoZmllbGQp
KQotICAgICAgICAgIHRoaXNbZmllbGRdID0gZmllbGRzW2ZpZWxkXTsKLSAgICB9Ci0gIH07Ci0K
LSAgTW9qb1dlYlRlc3RIZWxwZXJfUmV2ZXJzZV9QYXJhbXMudmFsaWRhdGUgPSBmdW5jdGlvbiht
ZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsKLSAgICB2YXIgZXJyOwotICAgIGVyciA9IG1lc3Nh
Z2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RIZWFkZXIob2Zmc2V0LCBjb2RlYy5rU3RydWN0SGVh
ZGVyU2l6ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05F
KQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgdmFyIGtWZXJzaW9uU2l6ZXMgPSBbCi0gICAg
ICB7dmVyc2lvbjogMCwgbnVtQnl0ZXM6IDE2fQotICAgIF07Ci0gICAgZXJyID0gbWVzc2FnZVZh
bGlkYXRvci52YWxpZGF0ZVN0cnVjdFZlcnNpb24ob2Zmc2V0LCBrVmVyc2lvblNpemVzKTsKLSAg
ICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJl
dHVybiBlcnI7Ci0KLQotICAgIC8vIHZhbGlkYXRlIE1vam9XZWJUZXN0SGVscGVyX1JldmVyc2Vf
UGFyYW1zLm1lc3NhZ2UKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RyaW5n
UG9pbnRlcihvZmZzZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDAsIGZhbHNlKQotICAg
IGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0
dXJuIGVycjsKLQotICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0g
IH07Ci0KLSAgTW9qb1dlYlRlc3RIZWxwZXJfUmV2ZXJzZV9QYXJhbXMuZW5jb2RlZFNpemUgPSBj
b2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDg7Ci0KLSAgTW9qb1dlYlRlc3RIZWxwZXJfUmV2ZXJz
ZV9QYXJhbXMuZGVjb2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHZhciBwYWNrZWQ7Ci0g
ICAgdmFyIHZhbCA9IG5ldyBNb2pvV2ViVGVzdEhlbHBlcl9SZXZlcnNlX1BhcmFtcygpOwotICAg
IHZhciBudW1iZXJPZkJ5dGVzID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFyIHZlcnNp
b24gPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YWwubWVzc2FnZSA9IGRlY29kZXIuZGVj
b2RlU3RydWN0KGNvZGVjLlN0cmluZyk7Ci0gICAgcmV0dXJuIHZhbDsKLSAgfTsKLQotICBNb2pv
V2ViVGVzdEhlbHBlcl9SZXZlcnNlX1BhcmFtcy5lbmNvZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2
YWwpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoTW9qb1dlYlRl
c3RIZWxwZXJfUmV2ZXJzZV9QYXJhbXMuZW5jb2RlZFNpemUpOwotICAgIGVuY29kZXIud3JpdGVV
aW50MzIoMCk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3QoY29kZWMuU3RyaW5nLCB2YWwubWVz
c2FnZSk7Ci0gIH07Ci0gIGZ1bmN0aW9uIE1vam9XZWJUZXN0SGVscGVyX1JldmVyc2VfUmVzcG9u
c2VQYXJhbXModmFsdWVzKSB7Ci0gICAgdGhpcy5pbml0RGVmYXVsdHNfKCk7Ci0gICAgdGhpcy5p
bml0RmllbGRzXyh2YWx1ZXMpOwotICB9Ci0KLQotICBNb2pvV2ViVGVzdEhlbHBlcl9SZXZlcnNl
X1Jlc3BvbnNlUGFyYW1zLnByb3RvdHlwZS5pbml0RGVmYXVsdHNfID0gZnVuY3Rpb24oKSB7Ci0g
ICAgdGhpcy5yZXZlcnNlZCA9IG51bGw7Ci0gIH07Ci0gIE1vam9XZWJUZXN0SGVscGVyX1JldmVy
c2VfUmVzcG9uc2VQYXJhbXMucHJvdG90eXBlLmluaXRGaWVsZHNfID0gZnVuY3Rpb24oZmllbGRz
KSB7Ci0gICAgZm9yKHZhciBmaWVsZCBpbiBmaWVsZHMpIHsKLSAgICAgICAgaWYgKHRoaXMuaGFz
T3duUHJvcGVydHkoZmllbGQpKQotICAgICAgICAgIHRoaXNbZmllbGRdID0gZmllbGRzW2ZpZWxk
XTsKLSAgICB9Ci0gIH07Ci0KLSAgTW9qb1dlYlRlc3RIZWxwZXJfUmV2ZXJzZV9SZXNwb25zZVBh
cmFtcy52YWxpZGF0ZSA9IGZ1bmN0aW9uKG1lc3NhZ2VWYWxpZGF0b3IsIG9mZnNldCkgewotICAg
IHZhciBlcnI7Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdEhlYWRl
cihvZmZzZXQsIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplKTsKLSAgICBpZiAoZXJyICE9PSB2YWxp
ZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICB2
YXIga1ZlcnNpb25TaXplcyA9IFsKLSAgICAgIHt2ZXJzaW9uOiAwLCBudW1CeXRlczogMTZ9Ci0g
ICAgXTsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0VmVyc2lvbihv
ZmZzZXQsIGtWZXJzaW9uU2l6ZXMpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0
aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0gICAgLy8gdmFsaWRhdGUg
TW9qb1dlYlRlc3RIZWxwZXJfUmV2ZXJzZV9SZXNwb25zZVBhcmFtcy5yZXZlcnNlZAotICAgIGVy
ciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJpbmdQb2ludGVyKG9mZnNldCArIGNvZGVj
LmtTdHJ1Y3RIZWFkZXJTaXplICsgMCwgZmFsc2UpCi0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9y
LnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgcmV0dXJu
IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQotICBNb2pvV2ViVGVzdEhl
bHBlcl9SZXZlcnNlX1Jlc3BvbnNlUGFyYW1zLmVuY29kZWRTaXplID0gY29kZWMua1N0cnVjdEhl
YWRlclNpemUgKyA4OwotCi0gIE1vam9XZWJUZXN0SGVscGVyX1JldmVyc2VfUmVzcG9uc2VQYXJh
bXMuZGVjb2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgdmFy
IHZhbCA9IG5ldyBNb2pvV2ViVGVzdEhlbHBlcl9SZXZlcnNlX1Jlc3BvbnNlUGFyYW1zKCk7Ci0g
ICAgdmFyIG51bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YXIgdmVy
c2lvbiA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhbC5yZXZlcnNlZCA9IGRlY29kZXIu
ZGVjb2RlU3RydWN0KGNvZGVjLlN0cmluZyk7Ci0gICAgcmV0dXJuIHZhbDsKLSAgfTsKLQotICBN
b2pvV2ViVGVzdEhlbHBlcl9SZXZlcnNlX1Jlc3BvbnNlUGFyYW1zLmVuY29kZSA9IGZ1bmN0aW9u
KGVuY29kZXIsIHZhbCkgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQz
MihNb2pvV2ViVGVzdEhlbHBlcl9SZXZlcnNlX1Jlc3BvbnNlUGFyYW1zLmVuY29kZWRTaXplKTsK
LSAgICBlbmNvZGVyLndyaXRlVWludDMyKDApOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNv
ZGVjLlN0cmluZywgdmFsLnJldmVyc2VkKTsKLSAgfTsKLSAgdmFyIGtNb2pvV2ViVGVzdEhlbHBl
cl9SZXZlcnNlX05hbWUgPSAwOwotCi0gIGZ1bmN0aW9uIE1vam9XZWJUZXN0SGVscGVyUHRyKGhh
bmRsZU9yUHRySW5mbykgewotICAgIHRoaXMucHRyID0gbmV3IGJpbmRpbmdzLkludGVyZmFjZVB0
ckNvbnRyb2xsZXIoTW9qb1dlYlRlc3RIZWxwZXIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVPclB0ckluZm8pOwotICB9Ci0KLSAgZnVu
Y3Rpb24gTW9qb1dlYlRlc3RIZWxwZXJBc3NvY2lhdGVkUHRyKGFzc29jaWF0ZWRJbnRlcmZhY2VQ
dHJJbmZvKSB7Ci0gICAgdGhpcy5wdHIgPSBuZXcgYXNzb2NpYXRlZEJpbmRpbmdzLkFzc29jaWF0
ZWRJbnRlcmZhY2VQdHJDb250cm9sbGVyKAotICAgICAgICBNb2pvV2ViVGVzdEhlbHBlciwgYXNz
b2NpYXRlZEludGVyZmFjZVB0ckluZm8pOwotICB9Ci0KLSAgTW9qb1dlYlRlc3RIZWxwZXJBc3Nv
Y2lhdGVkUHRyLnByb3RvdHlwZSA9Ci0gICAgICBPYmplY3QuY3JlYXRlKE1vam9XZWJUZXN0SGVs
cGVyUHRyLnByb3RvdHlwZSk7Ci0gIE1vam9XZWJUZXN0SGVscGVyQXNzb2NpYXRlZFB0ci5wcm90
b3R5cGUuY29uc3RydWN0b3IgPQotICAgICAgTW9qb1dlYlRlc3RIZWxwZXJBc3NvY2lhdGVkUHRy
OwotCi0gIGZ1bmN0aW9uIE1vam9XZWJUZXN0SGVscGVyUHJveHkocmVjZWl2ZXIpIHsKLSAgICB0
aGlzLnJlY2VpdmVyXyA9IHJlY2VpdmVyOwotICB9Ci0gIE1vam9XZWJUZXN0SGVscGVyUHRyLnBy
b3RvdHlwZS5yZXZlcnNlID0gZnVuY3Rpb24oKSB7Ci0gICAgcmV0dXJuIE1vam9XZWJUZXN0SGVs
cGVyUHJveHkucHJvdG90eXBlLnJldmVyc2UKLSAgICAgICAgLmFwcGx5KHRoaXMucHRyLmdldFBy
b3h5KCksIGFyZ3VtZW50cyk7Ci0gIH07Ci0KLSAgTW9qb1dlYlRlc3RIZWxwZXJQcm94eS5wcm90
b3R5cGUucmV2ZXJzZSA9IGZ1bmN0aW9uKG1lc3NhZ2UpIHsKLSAgICB2YXIgcGFyYW1zID0gbmV3
IE1vam9XZWJUZXN0SGVscGVyX1JldmVyc2VfUGFyYW1zKCk7Ci0gICAgcGFyYW1zLm1lc3NhZ2Ug
PSBtZXNzYWdlOwotICAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWpl
Y3QpIHsKLSAgICAgIHZhciBidWlsZGVyID0gbmV3IGNvZGVjLk1lc3NhZ2VWMUJ1aWxkZXIoCi0g
ICAgICAgICAga01vam9XZWJUZXN0SGVscGVyX1JldmVyc2VfTmFtZSwKLSAgICAgICAgICBjb2Rl
Yy5hbGlnbihNb2pvV2ViVGVzdEhlbHBlcl9SZXZlcnNlX1BhcmFtcy5lbmNvZGVkU2l6ZSksCi0g
ICAgICAgICAgY29kZWMua01lc3NhZ2VFeHBlY3RzUmVzcG9uc2UsIDApOwotICAgICAgYnVpbGRl
ci5lbmNvZGVTdHJ1Y3QoTW9qb1dlYlRlc3RIZWxwZXJfUmV2ZXJzZV9QYXJhbXMsIHBhcmFtcyk7
Ci0gICAgICB2YXIgbWVzc2FnZSA9IGJ1aWxkZXIuZmluaXNoKCk7Ci0gICAgICB0aGlzLnJlY2Vp
dmVyXy5hY2NlcHRBbmRFeHBlY3RSZXNwb25zZShtZXNzYWdlKS50aGVuKGZ1bmN0aW9uKG1lc3Nh
Z2UpIHsKLSAgICAgICAgdmFyIHJlYWRlciA9IG5ldyBjb2RlYy5NZXNzYWdlUmVhZGVyKG1lc3Nh
Z2UpOwotICAgICAgICB2YXIgcmVzcG9uc2VQYXJhbXMgPQotICAgICAgICAgICAgcmVhZGVyLmRl
Y29kZVN0cnVjdChNb2pvV2ViVGVzdEhlbHBlcl9SZXZlcnNlX1Jlc3BvbnNlUGFyYW1zKTsKLSAg
ICAgICAgcmVzb2x2ZShyZXNwb25zZVBhcmFtcyk7Ci0gICAgICB9KS5jYXRjaChmdW5jdGlvbihy
ZXN1bHQpIHsKLSAgICAgICAgcmVqZWN0KEVycm9yKCJDb25uZWN0aW9uIGVycm9yOiAiICsgcmVz
dWx0KSk7Ci0gICAgICB9KTsKLSAgICB9LmJpbmQodGhpcykpOwotICB9OwotCi0gIGZ1bmN0aW9u
IE1vam9XZWJUZXN0SGVscGVyU3R1YihkZWxlZ2F0ZSkgewotICAgIHRoaXMuZGVsZWdhdGVfID0g
ZGVsZWdhdGU7Ci0gIH0KLSAgTW9qb1dlYlRlc3RIZWxwZXJTdHViLnByb3RvdHlwZS5yZXZlcnNl
ID0gZnVuY3Rpb24obWVzc2FnZSkgewotICAgIHJldHVybiB0aGlzLmRlbGVnYXRlXyAmJiB0aGlz
LmRlbGVnYXRlXy5yZXZlcnNlICYmIHRoaXMuZGVsZWdhdGVfLnJldmVyc2UobWVzc2FnZSk7Ci0g
IH0KLQotICBNb2pvV2ViVGVzdEhlbHBlclN0dWIucHJvdG90eXBlLmFjY2VwdCA9IGZ1bmN0aW9u
KG1lc3NhZ2UpIHsKLSAgICB2YXIgcmVhZGVyID0gbmV3IGNvZGVjLk1lc3NhZ2VSZWFkZXIobWVz
c2FnZSk7Ci0gICAgc3dpdGNoIChyZWFkZXIubWVzc2FnZU5hbWUpIHsKLSAgICBkZWZhdWx0Ogot
ICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0KLSAgfTsKLQotICBNb2pvV2ViVGVzdEhlbHBlclN0
dWIucHJvdG90eXBlLmFjY2VwdFdpdGhSZXNwb25kZXIgPQotICAgICAgZnVuY3Rpb24obWVzc2Fn
ZSwgcmVzcG9uZGVyKSB7Ci0gICAgdmFyIHJlYWRlciA9IG5ldyBjb2RlYy5NZXNzYWdlUmVhZGVy
KG1lc3NhZ2UpOwotICAgIHN3aXRjaCAocmVhZGVyLm1lc3NhZ2VOYW1lKSB7Ci0gICAgY2FzZSBr
TW9qb1dlYlRlc3RIZWxwZXJfUmV2ZXJzZV9OYW1lOgotICAgICAgdmFyIHBhcmFtcyA9IHJlYWRl
ci5kZWNvZGVTdHJ1Y3QoTW9qb1dlYlRlc3RIZWxwZXJfUmV2ZXJzZV9QYXJhbXMpOwotICAgICAg
dGhpcy5yZXZlcnNlKHBhcmFtcy5tZXNzYWdlKS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0g
ICAgICAgIHZhciByZXNwb25zZVBhcmFtcyA9Ci0gICAgICAgICAgICBuZXcgTW9qb1dlYlRlc3RI
ZWxwZXJfUmV2ZXJzZV9SZXNwb25zZVBhcmFtcygpOwotICAgICAgICByZXNwb25zZVBhcmFtcy5y
ZXZlcnNlZCA9IHJlc3BvbnNlLnJldmVyc2VkOwotICAgICAgICB2YXIgYnVpbGRlciA9IG5ldyBj
b2RlYy5NZXNzYWdlVjFCdWlsZGVyKAotICAgICAgICAgICAga01vam9XZWJUZXN0SGVscGVyX1Jl
dmVyc2VfTmFtZSwKLSAgICAgICAgICAgIGNvZGVjLmFsaWduKE1vam9XZWJUZXN0SGVscGVyX1Jl
dmVyc2VfUmVzcG9uc2VQYXJhbXMuZW5jb2RlZFNpemUpLAotICAgICAgICAgICAgY29kZWMua01l
c3NhZ2VJc1Jlc3BvbnNlLCByZWFkZXIucmVxdWVzdElEKTsKLSAgICAgICAgYnVpbGRlci5lbmNv
ZGVTdHJ1Y3QoTW9qb1dlYlRlc3RIZWxwZXJfUmV2ZXJzZV9SZXNwb25zZVBhcmFtcywKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2VQYXJhbXMpOwotICAgICAgICB2YXIgbWVz
c2FnZSA9IGJ1aWxkZXIuZmluaXNoKCk7Ci0gICAgICAgIHJlc3BvbmRlci5hY2NlcHQobWVzc2Fn
ZSk7Ci0gICAgICB9KTsKLSAgICAgIHJldHVybiB0cnVlOwotICAgIGRlZmF1bHQ6Ci0gICAgICBy
ZXR1cm4gZmFsc2U7Ci0gICAgfQotICB9OwotCi0gIGZ1bmN0aW9uIHZhbGlkYXRlTW9qb1dlYlRl
c3RIZWxwZXJSZXF1ZXN0KG1lc3NhZ2VWYWxpZGF0b3IpIHsKLSAgICB2YXIgbWVzc2FnZSA9IG1l
c3NhZ2VWYWxpZGF0b3IubWVzc2FnZTsKLSAgICB2YXIgcGFyYW1zQ2xhc3MgPSBudWxsOwotICAg
IHN3aXRjaCAobWVzc2FnZS5nZXROYW1lKCkpIHsKLSAgICAgIGNhc2Uga01vam9XZWJUZXN0SGVs
cGVyX1JldmVyc2VfTmFtZToKLSAgICAgICAgaWYgKG1lc3NhZ2UuZXhwZWN0c1Jlc3BvbnNlKCkp
Ci0gICAgICAgICAgcGFyYW1zQ2xhc3MgPSBNb2pvV2ViVGVzdEhlbHBlcl9SZXZlcnNlX1BhcmFt
czsKLSAgICAgIGJyZWFrOwotICAgIH0KLSAgICBpZiAocGFyYW1zQ2xhc3MgPT09IG51bGwpCi0g
ICAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwotICAgIHJldHVybiBw
YXJhbXNDbGFzcy52YWxpZGF0ZShtZXNzYWdlVmFsaWRhdG9yLCBtZXNzYWdlVmFsaWRhdG9yLm1l
c3NhZ2UuZ2V0SGVhZGVyTnVtQnl0ZXMoKSk7Ci0gIH0KLQotICBmdW5jdGlvbiB2YWxpZGF0ZU1v
am9XZWJUZXN0SGVscGVyUmVzcG9uc2UobWVzc2FnZVZhbGlkYXRvcikgewotICAgdmFyIG1lc3Nh
Z2UgPSBtZXNzYWdlVmFsaWRhdG9yLm1lc3NhZ2U7Ci0gICB2YXIgcGFyYW1zQ2xhc3MgPSBudWxs
OwotICAgc3dpdGNoIChtZXNzYWdlLmdldE5hbWUoKSkgewotICAgICAgY2FzZSBrTW9qb1dlYlRl
c3RIZWxwZXJfUmV2ZXJzZV9OYW1lOgotICAgICAgICBpZiAobWVzc2FnZS5pc1Jlc3BvbnNlKCkp
Ci0gICAgICAgICAgcGFyYW1zQ2xhc3MgPSBNb2pvV2ViVGVzdEhlbHBlcl9SZXZlcnNlX1Jlc3Bv
bnNlUGFyYW1zOwotICAgICAgICBicmVhazsKLSAgICB9Ci0gICAgaWYgKHBhcmFtc0NsYXNzID09
PSBudWxsKQotICAgICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAg
ICByZXR1cm4gcGFyYW1zQ2xhc3MudmFsaWRhdGUobWVzc2FnZVZhbGlkYXRvciwgbWVzc2FnZVZh
bGlkYXRvci5tZXNzYWdlLmdldEhlYWRlck51bUJ5dGVzKCkpOwotICB9Ci0KLSAgdmFyIE1vam9X
ZWJUZXN0SGVscGVyID0gewotICAgIG5hbWU6ICdjb250ZW50Lm1vam9tLk1vam9XZWJUZXN0SGVs
cGVyJywKLSAgICBrVmVyc2lvbjogMCwKLSAgICBwdHJDbGFzczogTW9qb1dlYlRlc3RIZWxwZXJQ
dHIsCi0gICAgcHJveHlDbGFzczogTW9qb1dlYlRlc3RIZWxwZXJQcm94eSwKLSAgICBzdHViQ2xh
c3M6IE1vam9XZWJUZXN0SGVscGVyU3R1YiwKLSAgICB2YWxpZGF0ZVJlcXVlc3Q6IHZhbGlkYXRl
TW9qb1dlYlRlc3RIZWxwZXJSZXF1ZXN0LAotICAgIHZhbGlkYXRlUmVzcG9uc2U6IHZhbGlkYXRl
TW9qb1dlYlRlc3RIZWxwZXJSZXNwb25zZSwKLSAgfTsKLSAgTW9qb1dlYlRlc3RIZWxwZXJTdHVi
LnByb3RvdHlwZS52YWxpZGF0b3IgPSB2YWxpZGF0ZU1vam9XZWJUZXN0SGVscGVyUmVxdWVzdDsK
LSAgTW9qb1dlYlRlc3RIZWxwZXJQcm94eS5wcm90b3R5cGUudmFsaWRhdG9yID0gdmFsaWRhdGVN
b2pvV2ViVGVzdEhlbHBlclJlc3BvbnNlOwotICBleHBvcnRzLk1vam9XZWJUZXN0SGVscGVyID0g
TW9qb1dlYlRlc3RIZWxwZXI7Ci0gIGV4cG9ydHMuTW9qb1dlYlRlc3RIZWxwZXJQdHIgPSBNb2pv
V2ViVGVzdEhlbHBlclB0cjsKLSAgZXhwb3J0cy5Nb2pvV2ViVGVzdEhlbHBlckFzc29jaWF0ZWRQ
dHIgPSBNb2pvV2ViVGVzdEhlbHBlckFzc29jaWF0ZWRQdHI7Ci19KSgpOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hy
b21pdW0vbW9qb193ZWJfdGVzdF9oZWxwZXJfdGVzdC5tb2pvbS5qcy5oZWFkZXJzIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0v
bW9qb193ZWJfdGVzdF9oZWxwZXJfdGVzdC5tb2pvbS5qcy5oZWFkZXJzCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCA2ODA1YzMyM2RmNS4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vbW9q
b193ZWJfdGVzdF9oZWxwZXJfdGVzdC5tb2pvbS5qcy5oZWFkZXJzCisrKyAvZGV2L251bGwKQEAg
LTEgKzAsMCBAQAotQ29udGVudC1UeXBlOiB0ZXh0L2phdmFzY3JpcHQ7IGNoYXJzZXQ9dXRmLTgK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL2Nocm9taXVtL25mYy1tb2NrLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vbmZjLW1vY2suanMKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY4MjNmNjM2MmZhLi4wMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJv
bWl1bS9uZmMtbW9jay5qcworKysgL2Rldi9udWxsCkBAIC0xLDQwMyArMCwwIEBACi0ndXNlIHN0
cmljdCc7Ci0KLWZ1bmN0aW9uIHRvTW9qb05ERUZQdXNoVGFyZ2V0KHRhcmdldCkgewotICBzd2l0
Y2ggKHRhcmdldCkgewotICBjYXNlICdwZWVyJzoKLSAgICByZXR1cm4gZGV2aWNlLm1vam9tLk5E
RUZQdXNoVGFyZ2V0LlBFRVI7Ci0gIGNhc2UgJ3RhZyc6Ci0gICAgcmV0dXJuIGRldmljZS5tb2pv
bS5OREVGUHVzaFRhcmdldC5UQUc7Ci0gIH0KLQotICByZXR1cm4gZGV2aWNlLm1vam9tLk5ERUZQ
dXNoVGFyZ2V0LkFOWTsKLX0KLQotLy8gQ29udmVydHMgYmV0d2VlbiBOREVGTWVzc2FnZUluaXQg
aHR0cHM6Ly93M2MuZ2l0aHViLmlvL3dlYi1uZmMvI2RvbS1uZGVmbWVzc2FnZQotLy8gYW5kIG1v
am9tLk5ERUZNZXNzYWdlIHN0cnVjdHVyZSwgc28gdGhhdCB3YXRjaCBmdW5jdGlvbiBjYW4gYmUg
dGVzdGVkLgotZnVuY3Rpb24gdG9Nb2pvTkRFRk1lc3NhZ2UobWVzc2FnZSkgewotICBsZXQgbmRl
Zk1lc3NhZ2UgPSBuZXcgZGV2aWNlLm1vam9tLk5ERUZNZXNzYWdlKCk7Ci0gIG5kZWZNZXNzYWdl
LmRhdGEgPSBbXTsKLSAgZm9yIChsZXQgcmVjb3JkIG9mIG1lc3NhZ2UucmVjb3JkcykgewotICAg
IG5kZWZNZXNzYWdlLmRhdGEucHVzaCh0b01vam9OREVGUmVjb3JkKHJlY29yZCkpOwotICB9Ci0g
IHJldHVybiBuZGVmTWVzc2FnZTsKLX0KLQotZnVuY3Rpb24gdG9Nb2pvTkRFRlJlY29yZChyZWNv
cmQpIHsKLSAgbGV0IG5mY1JlY29yZCA9IG5ldyBkZXZpY2UubW9qb20uTkRFRlJlY29yZCgpOwot
ICBuZmNSZWNvcmQucmVjb3JkVHlwZSA9IHJlY29yZC5yZWNvcmRUeXBlOwotICBuZmNSZWNvcmQu
bWVkaWFUeXBlID0gcmVjb3JkLm1lZGlhVHlwZTsKLSAgbmZjUmVjb3JkLmlkID0gcmVjb3JkLmlk
OwotICBuZmNSZWNvcmQuZGF0YSA9IHRvQnl0ZUFycmF5KHJlY29yZC5kYXRhKTsKLSAgaWYgKHJl
Y29yZC5kYXRhICE9IG51bGwgJiYgcmVjb3JkLmRhdGEucmVjb3JkcyAhPT0gdW5kZWZpbmVkKSB7
Ci0gICAgLy8gfHJlY29yZC5kYXRhfCBtYXkgYmUgYW4gTkRFRk1lc3NhZ2VJbml0LCBpLmUuIHRo
ZSBwYXlsb2FkIGlzIGEgbWVzc2FnZS4KLSAgICBuZmNSZWNvcmQucGF5bG9hZE1lc3NhZ2UgPSB0
b01vam9OREVGTWVzc2FnZShyZWNvcmQuZGF0YSk7Ci0gIH0KLSAgcmV0dXJuIG5mY1JlY29yZDsK
LX0KLQotLy8gQ29udmVydHMgSlMgb2JqZWN0cyB0byBieXRlIGFycmF5LgotZnVuY3Rpb24gdG9C
eXRlQXJyYXkoZGF0YSkgewotICBpZiAoZGF0YSBpbnN0YW5jZW9mIEFycmF5QnVmZmVyKQotICAg
IHJldHVybiBuZXcgVWludDhBcnJheShkYXRhKTsKLSAgZWxzZSBpZiAoQXJyYXlCdWZmZXIuaXNW
aWV3KGRhdGEpKQotICAgIHJldHVybiBuZXcgVWludDhBcnJheShkYXRhLmJ1ZmZlciwgZGF0YS5i
eXRlT2Zmc2V0LCBkYXRhLmJ5dGVMZW5ndGgpOwotCi0gIGxldCBieXRlQXJyYXkgPSBuZXcgVWlu
dDhBcnJheSgwKTsKLSAgbGV0IHRtcERhdGEgPSBkYXRhOwotICBpZiAodHlwZW9mIHRtcERhdGEg
PT09ICdvYmplY3QnIHx8IHR5cGVvZiB0bXBEYXRhID09PSAnbnVtYmVyJykKLSAgICB0bXBEYXRh
ID0gSlNPTi5zdHJpbmdpZnkodG1wRGF0YSk7Ci0KLSAgaWYgKHR5cGVvZiB0bXBEYXRhID09PSAn
c3RyaW5nJykKLSAgICBieXRlQXJyYXkgPSBuZXcgVGV4dEVuY29kZXIoJ3V0Zi04JykuZW5jb2Rl
KHRtcERhdGEpOwotCi0gIHJldHVybiBieXRlQXJyYXk7Ci19Ci0KLS8vIENvbXBhcmVzIE5ERUZS
ZWNvcmRzIHRoYXQgd2VyZSBwcm92aWRlZCAvIHJlY2VpdmVkIGJ5IHRoZSBtb2NrIHNlcnZpY2Uu
Ci0vLyBUT0RPOiBVc2UgZGlmZmVyZW50IGdldHRlcnMgdG8gZ2V0IHJlY2VpdmVkIHJlY29yZCBk
YXRhLAotLy8gc2VlIHNwZWMgY2hhbmdlcyBhdCBodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1u
ZmMvcHVsbC8yNDMuCi1mdW5jdGlvbiBjb21wYXJlTkRFRlJlY29yZHMocHJvdmlkZWRSZWNvcmQs
IHJlY2VpdmVkUmVjb3JkKSB7Ci0gIGFzc2VydF9lcXVhbHMocHJvdmlkZWRSZWNvcmQucmVjb3Jk
VHlwZSwgcmVjZWl2ZWRSZWNvcmQucmVjb3JkVHlwZSk7Ci0KLSAgaWYgKHByb3ZpZGVkUmVjb3Jk
LmlkID09PSB1bmRlZmluZWQpIHsKLSAgICBhc3NlcnRfZXF1YWxzKG51bGwsIHJlY2VpdmVkUmVj
b3JkLmlkKTsKLSAgfSBlbHNlIHsKLSAgICBhc3NlcnRfZXF1YWxzKHByb3ZpZGVkUmVjb3JkLmlk
LCByZWNlaXZlZFJlY29yZC5pZCk7Ci0gIH0KLQotICBpZiAocHJvdmlkZWRSZWNvcmQubWVkaWFU
eXBlID09PSB1bmRlZmluZWQpIHsKLSAgICBhc3NlcnRfZXF1YWxzKG51bGwsIHJlY2VpdmVkUmVj
b3JkLm1lZGlhVHlwZSk7Ci0gIH0gZWxzZSB7Ci0gICAgYXNzZXJ0X2VxdWFscyhwcm92aWRlZFJl
Y29yZC5tZWRpYVR5cGUsIHJlY2VpdmVkUmVjb3JkLm1lZGlhVHlwZSk7Ci0gIH0KLQotICBhc3Nl
cnRfbm90X2VxdWFscyhwcm92aWRlZFJlY29yZC5yZWNvcmRUeXBlLCAnZW1wdHknKTsKLQotICBh
c3NlcnRfYXJyYXlfZXF1YWxzKHRvQnl0ZUFycmF5KHByb3ZpZGVkUmVjb3JkLmRhdGEpLAotICAg
ICAgICAgICAgICAgICAgICAgIG5ldyBVaW50OEFycmF5KHJlY2VpdmVkUmVjb3JkLmRhdGEpKTsK
LX0KLQotLy8gQ29tcGFyZXMgTkRFRlB1c2hPcHRpb25zIHN0cnVjdHVyZXMgdGhhdCB3ZXJlIHBy
b3ZpZGVkIHRvIEFQSSBhbmQKLS8vIHJlY2VpdmVkIGJ5IHRoZSBtb2NrIG1vam8gc2VydmljZS4K
LWZ1bmN0aW9uIGFzc2VydE5ERUZQdXNoT3B0aW9uc0VxdWFsKHByb3ZpZGVkLCByZWNlaXZlZCkg
ewotICBpZiAocHJvdmlkZWQuaWdub3JlUmVhZCAhPT0gdW5kZWZpbmVkKQotICAgIGFzc2VydF9l
cXVhbHMocHJvdmlkZWQuaWdub3JlUmVhZCwgISFyZWNlaXZlZC5pZ25vcmVSZWFkKTsKLSAgZWxz
ZQotICAgIGFzc2VydF9lcXVhbHMoISFyZWNlaXZlZC5pZ25vcmVfcmVhZCwgdHJ1ZSk7Ci0KLSAg
aWYgKHByb3ZpZGVkLnRhcmdldCAhPT0gdW5kZWZpbmVkKQotICAgIGFzc2VydF9lcXVhbHModG9N
b2pvTkRFRlB1c2hUYXJnZXQocHJvdmlkZWQudGFyZ2V0KSwgcmVjZWl2ZWQudGFyZ2V0KTsKLSAg
ZWxzZQotICAgIGFzc2VydF9lcXVhbHMocmVjZWl2ZWQudGFyZ2V0LCBkZXZpY2UubW9qb20uTkRF
RlB1c2hUYXJnZXQuQU5ZKTsKLX0KLQotLy8gQ29tcGFyZXMgTkRFRlJlYWRlck9wdGlvbnMgc3Ry
dWN0dXJlcyB0aGF0IHdlcmUgcHJvdmlkZWQgdG8gQVBJIGFuZAotLy8gcmVjZWl2ZWQgYnkgdGhl
IG1vY2sgbW9qbyBzZXJ2aWNlLgotZnVuY3Rpb24gYXNzZXJ0TkRFRlJlYWRlck9wdGlvbnNFcXVh
bChwcm92aWRlZCwgcmVjZWl2ZWQpIHsKLSAgaWYgKHByb3ZpZGVkLnVybCAhPT0gdW5kZWZpbmVk
KQotICAgIGFzc2VydF9lcXVhbHMocHJvdmlkZWQudXJsLCByZWNlaXZlZC51cmwpOwotICBlbHNl
Ci0gICAgYXNzZXJ0X2VxdWFscyhyZWNlaXZlZC51cmwsICcnKTsKLQotICBpZiAocHJvdmlkZWQu
bWVkaWFUeXBlICE9PSB1bmRlZmluZWQpCi0gICAgYXNzZXJ0X2VxdWFscyhwcm92aWRlZC5tZWRp
YVR5cGUsIHJlY2VpdmVkLm1lZGlhVHlwZSk7Ci0gIGVsc2UKLSAgICBhc3NlcnRfZXF1YWxzKHJl
Y2VpdmVkLm1lZGlhVHlwZSwgJycpOwotCi0gIGlmIChwcm92aWRlZC5yZWNvcmRUeXBlICE9PSB1
bmRlZmluZWQpIHsKLSAgICBhc3NlcnRfZXF1YWxzKHByb3ZpZGVkLnJlY29yZFR5cGUsIHJlY2Vp
dmVkLnJlY29yZFR5cGUpOwotICB9Ci19Ci0KLS8vIENoZWNrcyB3aGV0aGVyIE5ERUZSZWFkZXJP
cHRpb25zIGFyZSBtYXRjaGVkIHdpdGggZ2l2ZW4gbWVzc2FnZS4KLWZ1bmN0aW9uIG1hdGNoZXNX
YXRjaE9wdGlvbnMobWVzc2FnZSwgb3B0aW9ucykgewotICAvLyBBIG1lc3NhZ2Ugd2l0aCBubyBy
ZWNvcmRzIGlzIHRvIG5vdGlmeSB0aGF0IHRoZSB0YWcgaXMgYWxyZWFkeSBmb3JtYXR0ZWQgdG8K
LSAgLy8gc3VwcG9ydCBOREVGIGJ1dCBkb2VzIG5vdCBjb250YWluIGEgbWVzc2FnZSB5ZXQuIFdl
IGFsd2F5cyBkaXNwYXRjaCBpdCBmb3IKLSAgLy8gYWxsIG9wdGlvbnMuCi0gIGlmIChtZXNzYWdl
LnJlY29yZHMubGVuZ3RoID09IDApCi0gICAgcmV0dXJuIHRydWU7Ci0KLSAgZm9yIChsZXQgcmVj
b3JkIG9mIG1lc3NhZ2UucmVjb3JkcykgewotICAgIGlmIChvcHRpb25zLmlkICE9IG51bGwgJiYg
b3B0aW9ucy5pZCAhPT0gcmVjb3JkLmlkKSB7Ci0gICAgICBjb250aW51ZTsKLSAgICB9Ci0gICAg
aWYgKG9wdGlvbnMucmVjb3JkVHlwZSAhPSBudWxsICYmCi0gICAgICAgIG9wdGlvbnMucmVjb3Jk
VHlwZSAhPT0gcmVjb3JkLnJlY29yZFR5cGUpIHsKLSAgICAgIGNvbnRpbnVlOwotICAgIH0KLSAg
ICBpZiAob3B0aW9ucy5tZWRpYVR5cGUgIT09ICcnICYmIG9wdGlvbnMubWVkaWFUeXBlICE9PSBy
ZWNvcmQubWVkaWFUeXBlKSB7Ci0gICAgICBjb250aW51ZTsKLSAgICB9Ci0KLSAgICAvLyBGb3Vu
ZCBvbmUgcmVjb3JkIG1hdGNoZXMsIG1lYW5zIHRoZSBtZXNzYWdlIG1hdGNoZXMuCi0gICAgcmV0
dXJuIHRydWU7Ci0gIH0KLQotICByZXR1cm4gZmFsc2U7Ci19Ci0KLWZ1bmN0aW9uIGNyZWF0ZU5E
RUZFcnJvcih0eXBlKSB7Ci0gIHJldHVybiB7IGVycm9yOiB0eXBlID8KLSAgICAgIG5ldyBkZXZp
Y2UubW9qb20uTkRFRkVycm9yKHsgZXJyb3JUeXBlOiB0eXBlIH0pIDogbnVsbCB9OwotfQotCi12
YXIgV2ViTkZDVGVzdCA9ICgoKSA9PiB7Ci0gIGNsYXNzIE1vY2tORkMgewotICAgIGNvbnN0cnVj
dG9yKCkgewotICAgICAgdGhpcy5iaW5kaW5nU2V0XyA9IG5ldyBtb2pvLkJpbmRpbmdTZXQoZGV2
aWNlLm1vam9tLk5GQyk7Ci0KLSAgICAgIHRoaXMuaW50ZXJjZXB0b3JfID0gbmV3IE1vam9JbnRl
cmZhY2VJbnRlcmNlcHRvcigKLSAgICAgICAgICBkZXZpY2UubW9qb20uTkZDLm5hbWUsICJjb250
ZXh0IiwgdHJ1ZSk7Ci0gICAgICB0aGlzLmludGVyY2VwdG9yXy5vbmludGVyZmFjZXJlcXVlc3Qg
PQotICAgICAgICAgIGUgPT4gdGhpcy5iaW5kaW5nU2V0Xy5hZGRCaW5kaW5nKHRoaXMsIGUuaGFu
ZGxlKTsKLSAgICAgIHRoaXMuaW50ZXJjZXB0b3JfLnN0YXJ0KCk7Ci0KLSAgICAgIHRoaXMuaHdf
c3RhdHVzXyA9IE5GQ0hXU3RhdHVzLkVOQUJMRUQ7Ci0gICAgICB0aGlzLnB1c2hlZF9tZXNzYWdl
XyA9IG51bGw7Ci0gICAgICB0aGlzLnB1c2hfb3B0aW9uc18gPSBudWxsOwotICAgICAgdGhpcy5w
ZW5kaW5nX3Byb21pc2VfZnVuY18gPSBudWxsOwotICAgICAgdGhpcy5wdXNoX2NvbXBsZXRlZF8g
PSB0cnVlOwotICAgICAgdGhpcy5jbGllbnRfID0gbnVsbDsKLSAgICAgIHRoaXMud2F0Y2hlcnNf
ID0gW107Ci0gICAgICB0aGlzLnJlYWRpbmdfbWVzc2FnZXNfID0gW107Ci0gICAgICB0aGlzLm9w
ZXJhdGlvbnNfc3VzcGVuZGVkXyA9IGZhbHNlOwotICAgICAgdGhpcy5pc19uZGVmX3RlY2hfID0g
dHJ1ZTsKLSAgICAgIHRoaXMuaXNfZm9ybWF0dGVkX3RhZ18gPSBmYWxzZTsKLSAgICB9Ci0KLSAg
ICAvLyBORkMgZGVsZWdhdGUgZnVuY3Rpb25zLgotICAgIGFzeW5jIHB1c2gobWVzc2FnZSwgb3B0
aW9ucykgewotICAgICAgbGV0IGVycm9yID0gdGhpcy5nZXRIV0Vycm9yKCk7Ci0gICAgICBpZiAo
ZXJyb3IpCi0gICAgICAgIHJldHVybiBlcnJvcjsKLSAgICAgIC8vIENhbmNlbHMgcHJldmlvdXMg
cGVuZGluZyBwdXNoIG9wZXJhdGlvbi4KLSAgICAgIGlmICh0aGlzLnBlbmRpbmdfcHJvbWlzZV9m
dW5jXykgewotICAgICAgICB0aGlzLmNhbmNlbFBlbmRpbmdQdXNoT3BlcmF0aW9uKCk7Ci0gICAg
ICB9Ci0KLSAgICAgIHRoaXMucHVzaGVkX21lc3NhZ2VfID0gbWVzc2FnZTsKLSAgICAgIHRoaXMu
cHVzaF9vcHRpb25zXyA9IG9wdGlvbnM7Ci0KLSAgICAgIHJldHVybiBuZXcgUHJvbWlzZShyZXNv
bHZlID0+IHsKLSAgICAgICAgdGhpcy5wZW5kaW5nX3Byb21pc2VfZnVuY18gPSByZXNvbHZlOwot
ICAgICAgICBpZiAodGhpcy5vcGVyYXRpb25zX3N1c3BlbmRlZF8pIHsKLSAgICAgICAgICAvLyBQ
ZW5kcyBwdXNoIG9wZXJhdGlvbiBpZiBORkMgb3BlcmF0aW9uIGlzIHN1c3BlbmRlZC4KLSAgICAg
ICAgfSBlbHNlIGlmICghdGhpcy5wdXNoX2NvbXBsZXRlZF8pIHsKLSAgICAgICAgICAvLyBMZWF2
ZXMgdGhlIHB1c2ggb3BlcmF0aW5nIHBlbmRpbmcuCi0gICAgICAgIH0gZWxzZSBpZiAoIXRoaXMu
aXNfbmRlZl90ZWNoXykgewotICAgICAgICAgIC8vIFJlc29sdmVzIHdpdGggTm90U3VwcG9ydGVk
RXJyb3IgaWYgdGhlIGRldmljZSBkb2VzIG5vdCBleHBvc2UKLSAgICAgICAgICAvLyBOREVGIHRl
Y2hub2xvZ3kuCi0gICAgICAgICAgcmVzb2x2ZShjcmVhdGVOREVGRXJyb3IoZGV2aWNlLm1vam9t
Lk5ERUZFcnJvclR5cGUuTk9UX1NVUFBPUlRFRCkpOwotICAgICAgICB9IGVsc2UgaWYgKHRoaXMu
aXNfZm9ybWF0dGVkX3RhZ18gJiYgIW9wdGlvbnMub3ZlcndyaXRlKSB7Ci0gICAgICAgICAgLy8g
UmVzb2x2ZXMgd2l0aCBOb3RBbGxvd2VkRXJyb3IgaWYgdGhlcmUgYXJlIE5ERUYgcmVjb3JkcyBv
biB0aGUgZGV2aWNlCi0gICAgICAgICAgLy8gYW5kIG92ZXJ3cml0ZSBpcyBmYWxzZS4KLSAgICAg
ICAgICByZXNvbHZlKGNyZWF0ZU5ERUZFcnJvcihkZXZpY2UubW9qb20uTkRFRkVycm9yVHlwZS5O
T1RfQUxMT1dFRCkpOwotICAgICAgICB9IGVsc2UgewotICAgICAgICAgIHJlc29sdmUoY3JlYXRl
TkRFRkVycm9yKG51bGwpKTsKLSAgICAgICAgfQotICAgICAgfSk7Ci0gICAgfQotCi0gICAgYXN5
bmMgY2FuY2VsUHVzaCh0YXJnZXQpIHsKLSAgICAgIGlmICh0aGlzLnB1c2hfb3B0aW9uc18gJiYg
KCh0YXJnZXQgPT09IGRldmljZS5tb2pvbS5OREVGUHVzaFRhcmdldC5BTlkpIHx8Ci0gICAgICAg
ICAgKHRoaXMucHVzaF9vcHRpb25zXy50YXJnZXQgPT09IHRhcmdldCkpKSB7Ci0gICAgICAgIHRo
aXMuY2FuY2VsUGVuZGluZ1B1c2hPcGVyYXRpb24oKTsKLSAgICAgIH0KLQotICAgICAgcmV0dXJu
IGNyZWF0ZU5ERUZFcnJvcihudWxsKTsKLSAgICB9Ci0KLSAgICBzZXRDbGllbnQoY2xpZW50KSB7
Ci0gICAgICB0aGlzLmNsaWVudF8gPSBjbGllbnQ7Ci0gICAgfQotCi0gICAgYXN5bmMgd2F0Y2go
b3B0aW9ucywgaWQpIHsKLSAgICAgIGFzc2VydF90cnVlKGlkID4gMCk7Ci0gICAgICBsZXQgZXJy
b3IgPSB0aGlzLmdldEhXRXJyb3IoKTsKLSAgICAgIGlmIChlcnJvcikgewotICAgICAgICByZXR1
cm4gZXJyb3I7Ci0gICAgICB9Ci0KLSAgICAgIHRoaXMud2F0Y2hlcnNfLnB1c2goe2lkOiBpZCwg
b3B0aW9uczogb3B0aW9uc30pOwotICAgICAgLy8gSWdub3JlcyByZWFkaW5nIGlmIE5GQyBvcGVy
YXRpb24gaXMgc3VzcGVuZGVkCi0gICAgICAvLyBvciB0aGUgTkZDIHRhZyBkb2VzIG5vdCBleHBv
c2UgTkRFRiB0ZWNobm9sb2d5LgotICAgICAgaWYoIXRoaXMub3BlcmF0aW9uc19zdXNwZW5kZWRf
ICYmIHRoaXMuaXNfbmRlZl90ZWNoXykgewotICAgICAgICAvLyBUcmlnZ2VycyBvbldhdGNoIGlm
IHRoZSBuZXcgd2F0Y2hlciBtYXRjaGVzIGV4aXN0aW5nIG1lc3NhZ2VzLgotICAgICAgICBmb3Ig
KGxldCBtZXNzYWdlIG9mIHRoaXMucmVhZGluZ19tZXNzYWdlc18pIHsKLSAgICAgICAgICBpZiAo
bWF0Y2hlc1dhdGNoT3B0aW9ucyhtZXNzYWdlLCBvcHRpb25zKSkgewotICAgICAgICAgICAgdGhp
cy5jbGllbnRfLm9uV2F0Y2goCi0gICAgICAgICAgICAgICAgW2lkXSwgZmFrZV90YWdfc2VyaWFs
X251bWJlciwgdG9Nb2pvTkRFRk1lc3NhZ2UobWVzc2FnZSkpOwotICAgICAgICAgIH0KLSAgICAg
ICAgfQotICAgICAgfQotCi0gICAgICByZXR1cm4gY3JlYXRlTkRFRkVycm9yKG51bGwpOwotICAg
IH0KLQotICAgIGFzeW5jIGNhbmNlbFdhdGNoKGlkKSB7Ci0gICAgICBsZXQgaW5kZXggPSB0aGlz
LndhdGNoZXJzXy5maW5kSW5kZXgodmFsdWUgPT4gdmFsdWUuaWQgPT09IGlkKTsKLSAgICAgIGlm
IChpbmRleCA9PT0gLTEpIHsKLSAgICAgICAgcmV0dXJuIGNyZWF0ZU5ERUZFcnJvcihkZXZpY2Uu
bW9qb20uTkRFRkVycm9yVHlwZS5OT1RfRk9VTkQpOwotICAgICAgfQotCi0gICAgICB0aGlzLndh
dGNoZXJzXy5zcGxpY2UoaW5kZXgsIDEpOwotICAgICAgcmV0dXJuIGNyZWF0ZU5ERUZFcnJvcihu
dWxsKTsKLSAgICB9Ci0KLSAgICBhc3luYyBjYW5jZWxBbGxXYXRjaGVzKCkgewotICAgICAgaWYg
KHRoaXMud2F0Y2hlcnNfLmxlbmd0aCA9PT0gMCkgewotICAgICAgICByZXR1cm4gY3JlYXRlTkRF
RkVycm9yKGRldmljZS5tb2pvbS5OREVGRXJyb3JUeXBlLk5PVF9GT1VORCk7Ci0gICAgICB9Ci0K
LSAgICAgIHRoaXMud2F0Y2hlcnNfLnNwbGljZSgwLCB0aGlzLndhdGNoZXJzXy5sZW5ndGgpOwot
ICAgICAgcmV0dXJuIGNyZWF0ZU5ERUZFcnJvcihudWxsKTsKLSAgICB9Ci0KLSAgICBnZXRIV0Vy
cm9yKCkgewotICAgICAgaWYgKHRoaXMuaHdfc3RhdHVzXyA9PT0gTkZDSFdTdGF0dXMuRElTQUJM
RUQpCi0gICAgICAgIHJldHVybiBjcmVhdGVOREVGRXJyb3IoZGV2aWNlLm1vam9tLk5ERUZFcnJv
clR5cGUuTk9UX1JFQURBQkxFKTsKLSAgICAgIGlmICh0aGlzLmh3X3N0YXR1c18gPT09IE5GQ0hX
U3RhdHVzLk5PVF9TVVBQT1JURUQpCi0gICAgICAgIHJldHVybiBjcmVhdGVOREVGRXJyb3IoZGV2
aWNlLm1vam9tLk5ERUZFcnJvclR5cGUuTk9UX1NVUFBPUlRFRCk7Ci0gICAgICByZXR1cm4gbnVs
bDsKLSAgICB9Ci0KLSAgICBzZXRIV1N0YXR1cyhzdGF0dXMpIHsKLSAgICAgIHRoaXMuaHdfc3Rh
dHVzXyA9IHN0YXR1czsKLSAgICB9Ci0KLSAgICBwdXNoZWRNZXNzYWdlKCkgewotICAgICAgcmV0
dXJuIHRoaXMucHVzaGVkX21lc3NhZ2VfOwotICAgIH0KLQotICAgIHB1c2hPcHRpb25zKCkgewot
ICAgICAgcmV0dXJuIHRoaXMucHVzaF9vcHRpb25zXzsKLSAgICB9Ci0KLSAgICB3YXRjaE9wdGlv
bnMoKSB7Ci0gICAgICBhc3NlcnRfbm90X2VxdWFscyh0aGlzLndhdGNoZXJzXy5sZW5ndGgsIDAp
OwotICAgICAgcmV0dXJuIHRoaXMud2F0Y2hlcnNfW3RoaXMud2F0Y2hlcnNfLmxlbmd0aCAtIDFd
Lm9wdGlvbnM7Ci0gICAgfQotCi0gICAgc2V0UGVuZGluZ1B1c2hDb21wbGV0ZWQocmVzdWx0KSB7
Ci0gICAgICB0aGlzLnB1c2hfY29tcGxldGVkXyA9IHJlc3VsdDsKLSAgICB9Ci0KLSAgICByZXNl
dCgpIHsKLSAgICAgIHRoaXMuaHdfc3RhdHVzXyA9IE5GQ0hXU3RhdHVzLkVOQUJMRUQ7Ci0gICAg
ICB0aGlzLndhdGNoZXJzXyA9IFtdOwotICAgICAgdGhpcy5yZWFkaW5nX21lc3NhZ2VzXyA9IFtd
OwotICAgICAgdGhpcy5vcGVyYXRpb25zX3N1c3BlbmRlZF8gPSBmYWxzZTsKLSAgICAgIHRoaXMu
Y2FuY2VsUGVuZGluZ1B1c2hPcGVyYXRpb24oKTsKLSAgICAgIHRoaXMuaXNfbmRlZl90ZWNoXyA9
IHRydWU7Ci0gICAgICB0aGlzLmlzX2Zvcm1hdHRlZF90YWdfID0gZmFsc2U7Ci0gICAgfQotCi0g
ICAgY2FuY2VsUGVuZGluZ1B1c2hPcGVyYXRpb24oKSB7Ci0gICAgICBpZiAodGhpcy5wZW5kaW5n
X3Byb21pc2VfZnVuY18pIHsKLSAgICAgICAgdGhpcy5wZW5kaW5nX3Byb21pc2VfZnVuY18oCi0g
ICAgICAgICAgICBjcmVhdGVOREVGRXJyb3IoZGV2aWNlLm1vam9tLk5ERUZFcnJvclR5cGUuT1BF
UkFUSU9OX0NBTkNFTExFRCkpOwotICAgICAgfQotCi0gICAgICB0aGlzLnB1c2hlZF9tZXNzYWdl
XyA9IG51bGw7Ci0gICAgICB0aGlzLnB1c2hfb3B0aW9uc18gPSBudWxsOwotICAgICAgdGhpcy5w
ZW5kaW5nX3Byb21pc2VfZnVuY18gPSBudWxsOwotICAgICAgdGhpcy5wdXNoX2NvbXBsZXRlZF8g
PSB0cnVlOwotICAgIH0KLQotICAgIC8vIFNldHMgbWVzc2FnZSB0aGF0IGlzIHVzZWQgdG8gZGVs
aXZlciBORkMgcmVhZGluZyB1cGRhdGVzLgotICAgIHNldFJlYWRpbmdNZXNzYWdlKG1lc3NhZ2Up
IHsKLSAgICAgIHRoaXMucmVhZGluZ19tZXNzYWdlc18ucHVzaChtZXNzYWdlKTsKLSAgICAgIC8v
IElnbm9yZXMgcmVhZGluZyBpZiB0aGUgTkZDIHRhZyBkb2VzIG5vdCBleHBvc2UgTkRFRiB0ZWNo
bm9sb2d5LgotICAgICAgaWYoIXRoaXMuaXNfbmRlZl90ZWNoXykgcmV0dXJuOwotICAgICAgLy8g
SWdub3JlcyByZWFkaW5nIGlmIE5GQyBvcGVyYXRpb24gaXMgc3VzcGVuZGVkLgotICAgICAgaWYo
dGhpcy5vcGVyYXRpb25zX3N1c3BlbmRlZF8pIHJldHVybjsKLSAgICAgIC8vIElnbm9yZXMgcmVh
ZGluZyBpZiBOREVGUHVzaE9wdGlvbnMuaWdub3JlUmVhZCBpcyB0cnVlLgotICAgICAgaWYodGhp
cy5wdXNoX29wdGlvbnNfICYmIHRoaXMucHVzaF9vcHRpb25zXy5pZ25vcmVSZWFkKQotICAgICAg
ICByZXR1cm47Ci0gICAgICAvLyBUcmlnZ2VycyBvbldhdGNoIGlmIHRoZSBuZXcgbWVzc2FnZSBt
YXRjaGVzIGV4aXN0aW5nIHdhdGNoZXJzLgotICAgICAgZm9yIChsZXQgd2F0Y2hlciBvZiB0aGlz
LndhdGNoZXJzXykgewotICAgICAgICBpZiAobWF0Y2hlc1dhdGNoT3B0aW9ucyhtZXNzYWdlLCB3
YXRjaGVyLm9wdGlvbnMpKSB7Ci0gICAgICAgICAgdGhpcy5jbGllbnRfLm9uV2F0Y2goCi0gICAg
ICAgICAgICAgIFt3YXRjaGVyLmlkXSwgZmFrZV90YWdfc2VyaWFsX251bWJlciwKLSAgICAgICAg
ICAgICAgdG9Nb2pvTkRFRk1lc3NhZ2UobWVzc2FnZSkpOwotICAgICAgICB9Ci0gICAgICB9Ci0g
ICAgfQotCi0gICAgLy8gU3VzcGVuZHMgYWxsIHBlbmRpbmcgTkZDIG9wZXJhdGlvbnMuIENvdWxk
IGJlIHVzZWQgd2hlbiB3ZWIgcGFnZQotICAgIC8vIHZpc2liaWxpdHkgaXMgbG9zdC4KLSAgICBz
dXNwZW5kTkZDT3BlcmF0aW9ucygpIHsKLSAgICAgIHRoaXMub3BlcmF0aW9uc19zdXNwZW5kZWRf
ID0gdHJ1ZTsKLSAgICB9Ci0KLSAgICAvLyBSZXN1bWVzIGFsbCBzdXNwZW5kZWQgTkZDIG9wZXJh
dGlvbnMuCi0gICAgcmVzdW1lTkZDT3BlcmF0aW9ucygpIHsKLSAgICAgIHRoaXMub3BlcmF0aW9u
c19zdXNwZW5kZWRfID0gZmFsc2U7Ci0gICAgICAvLyBSZXN1bWVzIHBlbmRpbmcgTkZDIHJlYWRp
bmcuCi0gICAgICBmb3IgKGxldCB3YXRjaGVyIG9mIHRoaXMud2F0Y2hlcnNfKSB7Ci0gICAgICAg
IGZvciAobGV0IG1lc3NhZ2Ugb2YgdGhpcy5yZWFkaW5nX21lc3NhZ2VzXykgewotICAgICAgICAg
IGlmIChtYXRjaGVzV2F0Y2hPcHRpb25zKG1lc3NhZ2UsIHdhdGNoZXIub3B0aW9ucykgJiYgdGhp
cy5pc19uZGVmX3RlY2hfKSB7Ci0gICAgICAgICAgICB0aGlzLmNsaWVudF8ub25XYXRjaCgKLSAg
ICAgICAgICAgICAgICBbd2F0Y2hlci5pZF0sIGZha2VfdGFnX3NlcmlhbF9udW1iZXIsCi0gICAg
ICAgICAgICAgICAgdG9Nb2pvTkRFRk1lc3NhZ2UobWVzc2FnZSkpOwotICAgICAgICAgIH0KLSAg
ICAgICAgfQotICAgICAgfQotICAgICAgLy8gUmVzdW1lcyBwZW5kaW5nIHB1c2ggb3BlcmF0aW9u
LgotICAgICAgaWYgKHRoaXMucGVuZGluZ19wcm9taXNlX2Z1bmNfKSB7Ci0gICAgICAgIHRoaXMu
cGVuZGluZ19wcm9taXNlX2Z1bmNfKGNyZWF0ZU5ERUZFcnJvcihudWxsKSk7Ci0gICAgICB9Ci0g
ICAgfQotCi0gICAgc2V0SXNOREVGVGVjaChpc05kZWYpIHsKLSAgICAgIHRoaXMuaXNfbmRlZl90
ZWNoXyA9IGlzTmRlZjsKLSAgICB9Ci0KLSAgICBzZXRJc0Zvcm1hdHRlZFRhZyhpc0Zvcm1hdHRl
ZCkgewotICAgICAgdGhpcy5pc19mb3JtYXR0ZWRfdGFnXyA9IGlzRm9ybWF0dGVkOwotICAgIH0K
LSAgfQotCi0gIGxldCB0ZXN0SW50ZXJuYWwgPSB7Ci0gICAgaW5pdGlhbGl6ZWQ6IGZhbHNlLAot
ICAgIG1vY2tORkM6IG51bGwKLSAgfQotCi0gIGNsYXNzIE5GQ1Rlc3RDaHJvbWl1bSB7Ci0gICAg
Y29uc3RydWN0b3IoKSB7Ci0gICAgICBPYmplY3QuZnJlZXplKHRoaXMpOyAvLyBNYWtlcyBpdCBp
bW11dGFibGUuCi0gICAgfQotCi0gICAgaW5pdGlhbGl6ZSgpIHsKLSAgICAgIGlmICh0ZXN0SW50
ZXJuYWwuaW5pdGlhbGl6ZWQpCi0gICAgICAgIHRocm93IG5ldyBFcnJvcignQ2FsbCByZXNldCgp
IGJlZm9yZSBpbml0aWFsaXplKCkuJyk7Ci0KLSAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikg
ewotICAgICAgICAvLyBHcmFudCBuZmMgcGVybWlzc2lvbnMgZm9yIENocm9taXVtIHRlc3RydW5u
ZXIuCi0gICAgICAgIHdpbmRvdy50ZXN0UnVubmVyLnNldFBlcm1pc3Npb24oJ25mYycsICdncmFu
dGVkJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2NhdGlvbi5v
cmlnaW4sIGxvY2F0aW9uLm9yaWdpbik7Ci0gICAgICB9Ci0KLSAgICAgIGlmICh0ZXN0SW50ZXJu
YWwubW9ja05GQyA9PSBudWxsKSB7Ci0gICAgICAgIHRlc3RJbnRlcm5hbC5tb2NrTkZDID0gbmV3
IE1vY2tORkMoKTsKLSAgICAgIH0KLSAgICAgIHRlc3RJbnRlcm5hbC5pbml0aWFsaXplZCA9IHRy
dWU7Ci0gICAgfQotCi0gICAgLy8gUmV1c2VzIHRoZSBuZmMgbW9jayBidXQgcmVzZXRzIGl0cyBz
dGF0ZSBiZXR3ZWVuIHRlc3QgcnVucy4KLSAgICBhc3luYyByZXNldCgpIHsKLSAgICAgIGlmICgh
dGVzdEludGVybmFsLmluaXRpYWxpemVkKQotICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0NhbGwg
aW5pdGlhbGl6ZSgpIGJlZm9yZSByZXNldCgpLicpOwotICAgICAgdGVzdEludGVybmFsLm1vY2tO
RkMucmVzZXQoKTsKLSAgICAgIHRlc3RJbnRlcm5hbC5pbml0aWFsaXplZCA9IGZhbHNlOwotCi0g
ICAgICBhd2FpdCBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHNldFRpbWVvdXQocmVzb2x2ZSwgMCkp
OwotICAgIH0KLQotICAgIGdldE1vY2tORkMoKSB7Ci0gICAgICByZXR1cm4gdGVzdEludGVybmFs
Lm1vY2tORkM7Ci0gICAgfQotICB9Ci0KLSAgcmV0dXJuIE5GQ1Rlc3RDaHJvbWl1bTsKLX0pKCk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy9jaHJvbWl1bS9zZW5zb3IubW9qb20uanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS9zZW5zb3IubW9qb20u
anMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDc1NzhkZDZkNjRmLi4wMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy9jaHJvbWl1bS9zZW5zb3IubW9qb20uanMKKysrIC9kZXYvbnVsbApAQCAtMSwxMDc0ICsw
LDAgQEAKLS8vIENvcHlyaWdodCAyMDE0IFRoZSBDaHJvbWl1bSBBdXRob3JzLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgotLy8gVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBC
U0Qtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQotLy8gZm91bmQgaW4gdGhlIExJQ0VOU0UgZmls
ZS4KLQotJ3VzZSBzdHJpY3QnOwotCi0oZnVuY3Rpb24oKSB7Ci0gIHZhciBtb2pvbUlkID0gJ3Nl
cnZpY2VzL2RldmljZS9wdWJsaWMvbW9qb20vc2Vuc29yLm1vam9tJzsKLSAgaWYgKG1vam8uaW50
ZXJuYWwuaXNNb2pvbUxvYWRlZChtb2pvbUlkKSkgewotICAgIGNvbnNvbGUud2FybignVGhlIGZv
bGxvd2luZyBtb2pvbSBpcyBsb2FkZWQgbXVsdGlwbGUgdGltZXM6ICcgKyBtb2pvbUlkKTsKLSAg
ICByZXR1cm47Ci0gIH0KLSAgbW9qby5pbnRlcm5hbC5tYXJrTW9qb21Mb2FkZWQobW9qb21JZCk7
Ci0gIHZhciBiaW5kaW5ncyA9IG1vam87Ci0gIHZhciBhc3NvY2lhdGVkQmluZGluZ3MgPSBtb2pv
OwotICB2YXIgY29kZWMgPSBtb2pvLmludGVybmFsOwotICB2YXIgdmFsaWRhdG9yID0gbW9qby5p
bnRlcm5hbDsKLQotICB2YXIgZXhwb3J0cyA9IG1vam8uaW50ZXJuYWwuZXhwb3NlTmFtZXNwYWNl
KCdkZXZpY2UubW9qb20nKTsKLQotCi0gIHZhciBTZW5zb3JUeXBlID0ge307Ci0gIFNlbnNvclR5
cGUuQU1CSUVOVF9MSUdIVCA9IDA7Ci0gIFNlbnNvclR5cGUuUFJPWElNSVRZID0gU2Vuc29yVHlw
ZS5BTUJJRU5UX0xJR0hUICsgMTsKLSAgU2Vuc29yVHlwZS5BQ0NFTEVST01FVEVSID0gU2Vuc29y
VHlwZS5QUk9YSU1JVFkgKyAxOwotICBTZW5zb3JUeXBlLkxJTkVBUl9BQ0NFTEVSQVRJT04gPSBT
ZW5zb3JUeXBlLkFDQ0VMRVJPTUVURVIgKyAxOwotICBTZW5zb3JUeXBlLkdZUk9TQ09QRSA9IFNl
bnNvclR5cGUuTElORUFSX0FDQ0VMRVJBVElPTiArIDE7Ci0gIFNlbnNvclR5cGUuTUFHTkVUT01F
VEVSID0gU2Vuc29yVHlwZS5HWVJPU0NPUEUgKyAxOwotICBTZW5zb3JUeXBlLlBSRVNTVVJFID0g
U2Vuc29yVHlwZS5NQUdORVRPTUVURVIgKyAxOwotICBTZW5zb3JUeXBlLkFCU09MVVRFX09SSUVO
VEFUSU9OX0VVTEVSX0FOR0xFUyA9IFNlbnNvclR5cGUuUFJFU1NVUkUgKyAxOwotICBTZW5zb3JU
eXBlLkFCU09MVVRFX09SSUVOVEFUSU9OX1FVQVRFUk5JT04gPSBTZW5zb3JUeXBlLkFCU09MVVRF
X09SSUVOVEFUSU9OX0VVTEVSX0FOR0xFUyArIDE7Ci0gIFNlbnNvclR5cGUuUkVMQVRJVkVfT1JJ
RU5UQVRJT05fRVVMRVJfQU5HTEVTID0gU2Vuc29yVHlwZS5BQlNPTFVURV9PUklFTlRBVElPTl9R
VUFURVJOSU9OICsgMTsKLSAgU2Vuc29yVHlwZS5SRUxBVElWRV9PUklFTlRBVElPTl9RVUFURVJO
SU9OID0gU2Vuc29yVHlwZS5SRUxBVElWRV9PUklFTlRBVElPTl9FVUxFUl9BTkdMRVMgKyAxOwot
ICBTZW5zb3JUeXBlLk1JTl9WQUxVRSA9IDAsCi0gIFNlbnNvclR5cGUuTUFYX1ZBTFVFID0gMTAs
Ci0KLSAgU2Vuc29yVHlwZS5pc0tub3duRW51bVZhbHVlID0gZnVuY3Rpb24odmFsdWUpIHsKLSAg
ICBzd2l0Y2ggKHZhbHVlKSB7Ci0gICAgY2FzZSAwOgotICAgIGNhc2UgMToKLSAgICBjYXNlIDI6
Ci0gICAgY2FzZSAzOgotICAgIGNhc2UgNDoKLSAgICBjYXNlIDU6Ci0gICAgY2FzZSA2OgotICAg
IGNhc2UgNzoKLSAgICBjYXNlIDg6Ci0gICAgY2FzZSA5OgotICAgIGNhc2UgMTA6Ci0gICAgICBy
ZXR1cm4gdHJ1ZTsKLSAgICB9Ci0gICAgcmV0dXJuIGZhbHNlOwotICB9OwotCi0gIFNlbnNvclR5
cGUudmFsaWRhdGUgPSBmdW5jdGlvbihlbnVtVmFsdWUpIHsKLSAgICB2YXIgaXNFeHRlbnNpYmxl
ID0gZmFsc2U7Ci0gICAgaWYgKGlzRXh0ZW5zaWJsZSB8fCB0aGlzLmlzS25vd25FbnVtVmFsdWUo
ZW51bVZhbHVlKSkKLSAgICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7
Ci0KLSAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5VTktOT1dOX0VOVU1fVkFM
VUU7Ci0gIH07Ci0gIHZhciBSZXBvcnRpbmdNb2RlID0ge307Ci0gIFJlcG9ydGluZ01vZGUuT05f
Q0hBTkdFID0gMDsKLSAgUmVwb3J0aW5nTW9kZS5DT05USU5VT1VTID0gUmVwb3J0aW5nTW9kZS5P
Tl9DSEFOR0UgKyAxOwotICBSZXBvcnRpbmdNb2RlLk1JTl9WQUxVRSA9IDAsCi0gIFJlcG9ydGlu
Z01vZGUuTUFYX1ZBTFVFID0gMSwKLQotICBSZXBvcnRpbmdNb2RlLmlzS25vd25FbnVtVmFsdWUg
PSBmdW5jdGlvbih2YWx1ZSkgewotICAgIHN3aXRjaCAodmFsdWUpIHsKLSAgICBjYXNlIDA6Ci0g
ICAgY2FzZSAxOgotICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfQotICAgIHJldHVybiBmYWxzZTsK
LSAgfTsKLQotICBSZXBvcnRpbmdNb2RlLnZhbGlkYXRlID0gZnVuY3Rpb24oZW51bVZhbHVlKSB7
Ci0gICAgdmFyIGlzRXh0ZW5zaWJsZSA9IGZhbHNlOwotICAgIGlmIChpc0V4dGVuc2libGUgfHwg
dGhpcy5pc0tub3duRW51bVZhbHVlKGVudW1WYWx1ZSkpCi0gICAgICByZXR1cm4gdmFsaWRhdG9y
LnZhbGlkYXRpb25FcnJvci5OT05FOwotCi0gICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9u
RXJyb3IuVU5LTk9XTl9FTlVNX1ZBTFVFOwotICB9OwotCi0gIGZ1bmN0aW9uIFNlbnNvckNvbmZp
Z3VyYXRpb24odmFsdWVzKSB7Ci0gICAgdGhpcy5pbml0RGVmYXVsdHNfKCk7Ci0gICAgdGhpcy5p
bml0RmllbGRzXyh2YWx1ZXMpOwotICB9Ci0KLQotICBTZW5zb3JDb25maWd1cmF0aW9uLnByb3Rv
dHlwZS5pbml0RGVmYXVsdHNfID0gZnVuY3Rpb24oKSB7Ci0gICAgdGhpcy5mcmVxdWVuY3kgPSAw
OwotICB9OwotICBTZW5zb3JDb25maWd1cmF0aW9uLnByb3RvdHlwZS5pbml0RmllbGRzXyA9IGZ1
bmN0aW9uKGZpZWxkcykgewotICAgIGZvcih2YXIgZmllbGQgaW4gZmllbGRzKSB7Ci0gICAgICAg
IGlmICh0aGlzLmhhc093blByb3BlcnR5KGZpZWxkKSkKLSAgICAgICAgICB0aGlzW2ZpZWxkXSA9
IGZpZWxkc1tmaWVsZF07Ci0gICAgfQotICB9OwotCi0gIFNlbnNvckNvbmZpZ3VyYXRpb24udmFs
aWRhdGUgPSBmdW5jdGlvbihtZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsKLSAgICB2YXIgZXJy
OwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RIZWFkZXIob2Zmc2V0
LCBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZh
bGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgdmFyIGtWZXJz
aW9uU2l6ZXMgPSBbCi0gICAgICB7dmVyc2lvbjogMCwgbnVtQnl0ZXM6IDE2fQotICAgIF07Ci0g
ICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFZlcnNpb24ob2Zmc2V0LCBr
VmVyc2lvblNpemVzKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9y
Lk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotICAgIHJldHVybiB2YWxpZGF0b3IudmFs
aWRhdGlvbkVycm9yLk5PTkU7Ci0gIH07Ci0KLSAgU2Vuc29yQ29uZmlndXJhdGlvbi5lbmNvZGVk
U2l6ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgODsKLQotICBTZW5zb3JDb25maWd1cmF0
aW9uLmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIHZh
ciB2YWwgPSBuZXcgU2Vuc29yQ29uZmlndXJhdGlvbigpOwotICAgIHZhciBudW1iZXJPZkJ5dGVz
ID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFyIHZlcnNpb24gPSBkZWNvZGVyLnJlYWRV
aW50MzIoKTsKLSAgICB2YWwuZnJlcXVlbmN5ID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoY29kZWMu
RG91YmxlKTsKLSAgICByZXR1cm4gdmFsOwotICB9OwotCi0gIFNlbnNvckNvbmZpZ3VyYXRpb24u
ZW5jb2RlID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICBl
bmNvZGVyLndyaXRlVWludDMyKFNlbnNvckNvbmZpZ3VyYXRpb24uZW5jb2RlZFNpemUpOwotICAg
IGVuY29kZXIud3JpdGVVaW50MzIoMCk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3QoY29kZWMu
RG91YmxlLCB2YWwuZnJlcXVlbmN5KTsKLSAgfTsKLSAgZnVuY3Rpb24gU2Vuc29yX0dldERlZmF1
bHRDb25maWd1cmF0aW9uX1BhcmFtcyh2YWx1ZXMpIHsKLSAgICB0aGlzLmluaXREZWZhdWx0c18o
KTsKLSAgICB0aGlzLmluaXRGaWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0gIFNlbnNvcl9HZXRE
ZWZhdWx0Q29uZmlndXJhdGlvbl9QYXJhbXMucHJvdG90eXBlLmluaXREZWZhdWx0c18gPSBmdW5j
dGlvbigpIHsKLSAgfTsKLSAgU2Vuc29yX0dldERlZmF1bHRDb25maWd1cmF0aW9uX1BhcmFtcy5w
cm90b3R5cGUuaW5pdEZpZWxkc18gPSBmdW5jdGlvbihmaWVsZHMpIHsKLSAgICBmb3IodmFyIGZp
ZWxkIGluIGZpZWxkcykgewotICAgICAgICBpZiAodGhpcy5oYXNPd25Qcm9wZXJ0eShmaWVsZCkp
Ci0gICAgICAgICAgdGhpc1tmaWVsZF0gPSBmaWVsZHNbZmllbGRdOwotICAgIH0KLSAgfTsKLQot
ICBTZW5zb3JfR2V0RGVmYXVsdENvbmZpZ3VyYXRpb25fUGFyYW1zLnZhbGlkYXRlID0gZnVuY3Rp
b24obWVzc2FnZVZhbGlkYXRvciwgb2Zmc2V0KSB7Ci0gICAgdmFyIGVycjsKLSAgICBlcnIgPSBt
ZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0SGVhZGVyKG9mZnNldCwgY29kZWMua1N0cnVj
dEhlYWRlclNpemUpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3Iu
Tk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHZhciBrVmVyc2lvblNpemVzID0gWwot
ICAgICAge3ZlcnNpb246IDAsIG51bUJ5dGVzOiA4fQotICAgIF07Ci0gICAgZXJyID0gbWVzc2Fn
ZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFZlcnNpb24ob2Zmc2V0LCBrVmVyc2lvblNpemVzKTsK
LSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAg
IHJldHVybiBlcnI7Ci0KLSAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05F
OwotICB9OwotCi0gIFNlbnNvcl9HZXREZWZhdWx0Q29uZmlndXJhdGlvbl9QYXJhbXMuZW5jb2Rl
ZFNpemUgPSBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDA7Ci0KLSAgU2Vuc29yX0dldERlZmF1
bHRDb25maWd1cmF0aW9uX1BhcmFtcy5kZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0gICAg
dmFyIHBhY2tlZDsKLSAgICB2YXIgdmFsID0gbmV3IFNlbnNvcl9HZXREZWZhdWx0Q29uZmlndXJh
dGlvbl9QYXJhbXMoKTsKLSAgICB2YXIgbnVtYmVyT2ZCeXRlcyA9IGRlY29kZXIucmVhZFVpbnQz
MigpOwotICAgIHZhciB2ZXJzaW9uID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgcmV0dXJu
IHZhbDsKLSAgfTsKLQotICBTZW5zb3JfR2V0RGVmYXVsdENvbmZpZ3VyYXRpb25fUGFyYW1zLmVu
Y29kZSA9IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgZW5j
b2Rlci53cml0ZVVpbnQzMihTZW5zb3JfR2V0RGVmYXVsdENvbmZpZ3VyYXRpb25fUGFyYW1zLmVu
Y29kZWRTaXplKTsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKDApOwotICB9OwotICBmdW5jdGlv
biBTZW5zb3JfR2V0RGVmYXVsdENvbmZpZ3VyYXRpb25fUmVzcG9uc2VQYXJhbXModmFsdWVzKSB7
Ci0gICAgdGhpcy5pbml0RGVmYXVsdHNfKCk7Ci0gICAgdGhpcy5pbml0RmllbGRzXyh2YWx1ZXMp
OwotICB9Ci0KLQotICBTZW5zb3JfR2V0RGVmYXVsdENvbmZpZ3VyYXRpb25fUmVzcG9uc2VQYXJh
bXMucHJvdG90eXBlLmluaXREZWZhdWx0c18gPSBmdW5jdGlvbigpIHsKLSAgICB0aGlzLmNvbmZp
Z3VyYXRpb24gPSBudWxsOwotICB9OwotICBTZW5zb3JfR2V0RGVmYXVsdENvbmZpZ3VyYXRpb25f
UmVzcG9uc2VQYXJhbXMucHJvdG90eXBlLmluaXRGaWVsZHNfID0gZnVuY3Rpb24oZmllbGRzKSB7
Ci0gICAgZm9yKHZhciBmaWVsZCBpbiBmaWVsZHMpIHsKLSAgICAgICAgaWYgKHRoaXMuaGFzT3du
UHJvcGVydHkoZmllbGQpKQotICAgICAgICAgIHRoaXNbZmllbGRdID0gZmllbGRzW2ZpZWxkXTsK
LSAgICB9Ci0gIH07Ci0KLSAgU2Vuc29yX0dldERlZmF1bHRDb25maWd1cmF0aW9uX1Jlc3BvbnNl
UGFyYW1zLnZhbGlkYXRlID0gZnVuY3Rpb24obWVzc2FnZVZhbGlkYXRvciwgb2Zmc2V0KSB7Ci0g
ICAgdmFyIGVycjsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0SGVh
ZGVyKG9mZnNldCwgY29kZWMua1N0cnVjdEhlYWRlclNpemUpOwotICAgIGlmIChlcnIgIT09IHZh
bGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAg
IHZhciBrVmVyc2lvblNpemVzID0gWwotICAgICAge3ZlcnNpb246IDAsIG51bUJ5dGVzOiAxNn0K
LSAgICBdOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RWZXJzaW9u
KG9mZnNldCwga1ZlcnNpb25TaXplcyk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlk
YXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0KLSAgICAvLyB2YWxpZGF0
ZSBTZW5zb3JfR2V0RGVmYXVsdENvbmZpZ3VyYXRpb25fUmVzcG9uc2VQYXJhbXMuY29uZmlndXJh
dGlvbgotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RQb2ludGVyKG9m
ZnNldCArIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgMCwgU2Vuc29yQ29uZmlndXJhdGlvbiwg
ZmFsc2UpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkK
LSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVy
cm9yLk5PTkU7Ci0gIH07Ci0KLSAgU2Vuc29yX0dldERlZmF1bHRDb25maWd1cmF0aW9uX1Jlc3Bv
bnNlUGFyYW1zLmVuY29kZWRTaXplID0gY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyA4OwotCi0g
IFNlbnNvcl9HZXREZWZhdWx0Q29uZmlndXJhdGlvbl9SZXNwb25zZVBhcmFtcy5kZWNvZGUgPSBm
dW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICB2YXIgdmFsID0gbmV3IFNl
bnNvcl9HZXREZWZhdWx0Q29uZmlndXJhdGlvbl9SZXNwb25zZVBhcmFtcygpOwotICAgIHZhciBu
dW1iZXJPZkJ5dGVzID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFyIHZlcnNpb24gPSBk
ZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YWwuY29uZmlndXJhdGlvbiA9IGRlY29kZXIuZGVj
b2RlU3RydWN0UG9pbnRlcihTZW5zb3JDb25maWd1cmF0aW9uKTsKLSAgICByZXR1cm4gdmFsOwot
ICB9OwotCi0gIFNlbnNvcl9HZXREZWZhdWx0Q29uZmlndXJhdGlvbl9SZXNwb25zZVBhcmFtcy5l
bmNvZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2YWwpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIGVu
Y29kZXIud3JpdGVVaW50MzIoU2Vuc29yX0dldERlZmF1bHRDb25maWd1cmF0aW9uX1Jlc3BvbnNl
UGFyYW1zLmVuY29kZWRTaXplKTsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKDApOwotICAgIGVu
Y29kZXIuZW5jb2RlU3RydWN0UG9pbnRlcihTZW5zb3JDb25maWd1cmF0aW9uLCB2YWwuY29uZmln
dXJhdGlvbik7Ci0gIH07Ci0gIGZ1bmN0aW9uIFNlbnNvcl9BZGRDb25maWd1cmF0aW9uX1BhcmFt
cyh2YWx1ZXMpIHsKLSAgICB0aGlzLmluaXREZWZhdWx0c18oKTsKLSAgICB0aGlzLmluaXRGaWVs
ZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0gIFNlbnNvcl9BZGRDb25maWd1cmF0aW9uX1BhcmFtcy5w
cm90b3R5cGUuaW5pdERlZmF1bHRzXyA9IGZ1bmN0aW9uKCkgewotICAgIHRoaXMuY29uZmlndXJh
dGlvbiA9IG51bGw7Ci0gIH07Ci0gIFNlbnNvcl9BZGRDb25maWd1cmF0aW9uX1BhcmFtcy5wcm90
b3R5cGUuaW5pdEZpZWxkc18gPSBmdW5jdGlvbihmaWVsZHMpIHsKLSAgICBmb3IodmFyIGZpZWxk
IGluIGZpZWxkcykgewotICAgICAgICBpZiAodGhpcy5oYXNPd25Qcm9wZXJ0eShmaWVsZCkpCi0g
ICAgICAgICAgdGhpc1tmaWVsZF0gPSBmaWVsZHNbZmllbGRdOwotICAgIH0KLSAgfTsKLQotICBT
ZW5zb3JfQWRkQ29uZmlndXJhdGlvbl9QYXJhbXMudmFsaWRhdGUgPSBmdW5jdGlvbihtZXNzYWdl
VmFsaWRhdG9yLCBvZmZzZXQpIHsKLSAgICB2YXIgZXJyOwotICAgIGVyciA9IG1lc3NhZ2VWYWxp
ZGF0b3IudmFsaWRhdGVTdHJ1Y3RIZWFkZXIob2Zmc2V0LCBjb2RlYy5rU3RydWN0SGVhZGVyU2l6
ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAg
ICAgICByZXR1cm4gZXJyOwotCi0gICAgdmFyIGtWZXJzaW9uU2l6ZXMgPSBbCi0gICAgICB7dmVy
c2lvbjogMCwgbnVtQnl0ZXM6IDE2fQotICAgIF07Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRv
ci52YWxpZGF0ZVN0cnVjdFZlcnNpb24ob2Zmc2V0LCBrVmVyc2lvblNpemVzKTsKLSAgICBpZiAo
ZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBl
cnI7Ci0KLQotICAgIC8vIHZhbGlkYXRlIFNlbnNvcl9BZGRDb25maWd1cmF0aW9uX1BhcmFtcy5j
b25maWd1cmF0aW9uCi0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFBv
aW50ZXIob2Zmc2V0ICsgY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyAwLCBTZW5zb3JDb25maWd1
cmF0aW9uLCBmYWxzZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJv
ci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgcmV0dXJuIHZhbGlkYXRvci52YWxp
ZGF0aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQotICBTZW5zb3JfQWRkQ29uZmlndXJhdGlvbl9QYXJh
bXMuZW5jb2RlZFNpemUgPSBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDg7Ci0KLSAgU2Vuc29y
X0FkZENvbmZpZ3VyYXRpb25fUGFyYW1zLmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAg
ICB2YXIgcGFja2VkOwotICAgIHZhciB2YWwgPSBuZXcgU2Vuc29yX0FkZENvbmZpZ3VyYXRpb25f
UGFyYW1zKCk7Ci0gICAgdmFyIG51bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsK
LSAgICB2YXIgdmVyc2lvbiA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhbC5jb25maWd1
cmF0aW9uID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3RQb2ludGVyKFNlbnNvckNvbmZpZ3VyYXRpb24p
OwotICAgIHJldHVybiB2YWw7Ci0gIH07Ci0KLSAgU2Vuc29yX0FkZENvbmZpZ3VyYXRpb25fUGFy
YW1zLmVuY29kZSA9IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgIHZhciBwYWNrZWQ7Ci0g
ICAgZW5jb2Rlci53cml0ZVVpbnQzMihTZW5zb3JfQWRkQ29uZmlndXJhdGlvbl9QYXJhbXMuZW5j
b2RlZFNpemUpOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoMCk7Ci0gICAgZW5jb2Rlci5lbmNv
ZGVTdHJ1Y3RQb2ludGVyKFNlbnNvckNvbmZpZ3VyYXRpb24sIHZhbC5jb25maWd1cmF0aW9uKTsK
LSAgfTsKLSAgZnVuY3Rpb24gU2Vuc29yX0FkZENvbmZpZ3VyYXRpb25fUmVzcG9uc2VQYXJhbXMo
dmFsdWVzKSB7Ci0gICAgdGhpcy5pbml0RGVmYXVsdHNfKCk7Ci0gICAgdGhpcy5pbml0RmllbGRz
Xyh2YWx1ZXMpOwotICB9Ci0KLQotICBTZW5zb3JfQWRkQ29uZmlndXJhdGlvbl9SZXNwb25zZVBh
cmFtcy5wcm90b3R5cGUuaW5pdERlZmF1bHRzXyA9IGZ1bmN0aW9uKCkgewotICAgIHRoaXMuc3Vj
Y2VzcyA9IGZhbHNlOwotICB9OwotICBTZW5zb3JfQWRkQ29uZmlndXJhdGlvbl9SZXNwb25zZVBh
cmFtcy5wcm90b3R5cGUuaW5pdEZpZWxkc18gPSBmdW5jdGlvbihmaWVsZHMpIHsKLSAgICBmb3Io
dmFyIGZpZWxkIGluIGZpZWxkcykgewotICAgICAgICBpZiAodGhpcy5oYXNPd25Qcm9wZXJ0eShm
aWVsZCkpCi0gICAgICAgICAgdGhpc1tmaWVsZF0gPSBmaWVsZHNbZmllbGRdOwotICAgIH0KLSAg
fTsKLQotICBTZW5zb3JfQWRkQ29uZmlndXJhdGlvbl9SZXNwb25zZVBhcmFtcy52YWxpZGF0ZSA9
IGZ1bmN0aW9uKG1lc3NhZ2VWYWxpZGF0b3IsIG9mZnNldCkgewotICAgIHZhciBlcnI7Ci0gICAg
ZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdEhlYWRlcihvZmZzZXQsIGNvZGVj
LmtTdHJ1Y3RIZWFkZXJTaXplKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlv
bkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICB2YXIga1ZlcnNpb25TaXpl
cyA9IFsKLSAgICAgIHt2ZXJzaW9uOiAwLCBudW1CeXRlczogMTZ9Ci0gICAgXTsKLSAgICBlcnIg
PSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0VmVyc2lvbihvZmZzZXQsIGtWZXJzaW9u
U2l6ZXMpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkK
LSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0gICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9u
RXJyb3IuTk9ORTsKLSAgfTsKLQotICBTZW5zb3JfQWRkQ29uZmlndXJhdGlvbl9SZXNwb25zZVBh
cmFtcy5lbmNvZGVkU2l6ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgODsKLQotICBTZW5z
b3JfQWRkQ29uZmlndXJhdGlvbl9SZXNwb25zZVBhcmFtcy5kZWNvZGUgPSBmdW5jdGlvbihkZWNv
ZGVyKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICB2YXIgdmFsID0gbmV3IFNlbnNvcl9BZGRDb25m
aWd1cmF0aW9uX1Jlc3BvbnNlUGFyYW1zKCk7Ci0gICAgdmFyIG51bWJlck9mQnl0ZXMgPSBkZWNv
ZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YXIgdmVyc2lvbiA9IGRlY29kZXIucmVhZFVpbnQzMigp
OwotICAgIHBhY2tlZCA9IGRlY29kZXIucmVhZFVpbnQ4KCk7Ci0gICAgdmFsLnN1Y2Nlc3MgPSAo
cGFja2VkID4+IDApICYgMSA/IHRydWUgOiBmYWxzZTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0g
ICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNr
aXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBk
ZWNvZGVyLnNraXAoMSk7Ci0gICAgcmV0dXJuIHZhbDsKLSAgfTsKLQotICBTZW5zb3JfQWRkQ29u
ZmlndXJhdGlvbl9SZXNwb25zZVBhcmFtcy5lbmNvZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2YWwp
IHsKLSAgICB2YXIgcGFja2VkOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoU2Vuc29yX0FkZENv
bmZpZ3VyYXRpb25fUmVzcG9uc2VQYXJhbXMuZW5jb2RlZFNpemUpOwotICAgIGVuY29kZXIud3Jp
dGVVaW50MzIoMCk7Ci0gICAgcGFja2VkID0gMDsKLSAgICBwYWNrZWQgfD0gKHZhbC5zdWNjZXNz
ICYgMSkgPDwgMAotICAgIGVuY29kZXIud3JpdGVVaW50OChwYWNrZWQpOwotICAgIGVuY29kZXIu
c2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAg
IGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lw
KDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgfTsKLSAgZnVuY3Rpb24gU2Vuc29yX1JlbW92
ZUNvbmZpZ3VyYXRpb25fUGFyYW1zKHZhbHVlcykgewotICAgIHRoaXMuaW5pdERlZmF1bHRzXygp
OwotICAgIHRoaXMuaW5pdEZpZWxkc18odmFsdWVzKTsKLSAgfQotCi0KLSAgU2Vuc29yX1JlbW92
ZUNvbmZpZ3VyYXRpb25fUGFyYW1zLnByb3RvdHlwZS5pbml0RGVmYXVsdHNfID0gZnVuY3Rpb24o
KSB7Ci0gICAgdGhpcy5jb25maWd1cmF0aW9uID0gbnVsbDsKLSAgfTsKLSAgU2Vuc29yX1JlbW92
ZUNvbmZpZ3VyYXRpb25fUGFyYW1zLnByb3RvdHlwZS5pbml0RmllbGRzXyA9IGZ1bmN0aW9uKGZp
ZWxkcykgewotICAgIGZvcih2YXIgZmllbGQgaW4gZmllbGRzKSB7Ci0gICAgICAgIGlmICh0aGlz
Lmhhc093blByb3BlcnR5KGZpZWxkKSkKLSAgICAgICAgICB0aGlzW2ZpZWxkXSA9IGZpZWxkc1tm
aWVsZF07Ci0gICAgfQotICB9OwotCi0gIFNlbnNvcl9SZW1vdmVDb25maWd1cmF0aW9uX1BhcmFt
cy52YWxpZGF0ZSA9IGZ1bmN0aW9uKG1lc3NhZ2VWYWxpZGF0b3IsIG9mZnNldCkgewotICAgIHZh
ciBlcnI7Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdEhlYWRlcihv
ZmZzZXQsIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0
b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICB2YXIg
a1ZlcnNpb25TaXplcyA9IFsKLSAgICAgIHt2ZXJzaW9uOiAwLCBudW1CeXRlczogMTZ9Ci0gICAg
XTsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0VmVyc2lvbihvZmZz
ZXQsIGtWZXJzaW9uU2l6ZXMpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9u
RXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0gICAgLy8gdmFsaWRhdGUgU2Vu
c29yX1JlbW92ZUNvbmZpZ3VyYXRpb25fUGFyYW1zLmNvbmZpZ3VyYXRpb24KLSAgICBlcnIgPSBt
ZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0UG9pbnRlcihvZmZzZXQgKyBjb2RlYy5rU3Ry
dWN0SGVhZGVyU2l6ZSArIDAsIFNlbnNvckNvbmZpZ3VyYXRpb24sIGZhbHNlKTsKLSAgICBpZiAo
ZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBl
cnI7Ci0KLSAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwotICB9Owot
Ci0gIFNlbnNvcl9SZW1vdmVDb25maWd1cmF0aW9uX1BhcmFtcy5lbmNvZGVkU2l6ZSA9IGNvZGVj
LmtTdHJ1Y3RIZWFkZXJTaXplICsgODsKLQotICBTZW5zb3JfUmVtb3ZlQ29uZmlndXJhdGlvbl9Q
YXJhbXMuZGVjb2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHZhciBwYWNrZWQ7Ci0gICAg
dmFyIHZhbCA9IG5ldyBTZW5zb3JfUmVtb3ZlQ29uZmlndXJhdGlvbl9QYXJhbXMoKTsKLSAgICB2
YXIgbnVtYmVyT2ZCeXRlcyA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhciB2ZXJzaW9u
ID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFsLmNvbmZpZ3VyYXRpb24gPSBkZWNvZGVy
LmRlY29kZVN0cnVjdFBvaW50ZXIoU2Vuc29yQ29uZmlndXJhdGlvbik7Ci0gICAgcmV0dXJuIHZh
bDsKLSAgfTsKLQotICBTZW5zb3JfUmVtb3ZlQ29uZmlndXJhdGlvbl9QYXJhbXMuZW5jb2RlID0g
ZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICBlbmNvZGVyLndy
aXRlVWludDMyKFNlbnNvcl9SZW1vdmVDb25maWd1cmF0aW9uX1BhcmFtcy5lbmNvZGVkU2l6ZSk7
Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMigwKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdFBv
aW50ZXIoU2Vuc29yQ29uZmlndXJhdGlvbiwgdmFsLmNvbmZpZ3VyYXRpb24pOwotICB9OwotICBm
dW5jdGlvbiBTZW5zb3JfU3VzcGVuZF9QYXJhbXModmFsdWVzKSB7Ci0gICAgdGhpcy5pbml0RGVm
YXVsdHNfKCk7Ci0gICAgdGhpcy5pbml0RmllbGRzXyh2YWx1ZXMpOwotICB9Ci0KLQotICBTZW5z
b3JfU3VzcGVuZF9QYXJhbXMucHJvdG90eXBlLmluaXREZWZhdWx0c18gPSBmdW5jdGlvbigpIHsK
LSAgfTsKLSAgU2Vuc29yX1N1c3BlbmRfUGFyYW1zLnByb3RvdHlwZS5pbml0RmllbGRzXyA9IGZ1
bmN0aW9uKGZpZWxkcykgewotICAgIGZvcih2YXIgZmllbGQgaW4gZmllbGRzKSB7Ci0gICAgICAg
IGlmICh0aGlzLmhhc093blByb3BlcnR5KGZpZWxkKSkKLSAgICAgICAgICB0aGlzW2ZpZWxkXSA9
IGZpZWxkc1tmaWVsZF07Ci0gICAgfQotICB9OwotCi0gIFNlbnNvcl9TdXNwZW5kX1BhcmFtcy52
YWxpZGF0ZSA9IGZ1bmN0aW9uKG1lc3NhZ2VWYWxpZGF0b3IsIG9mZnNldCkgewotICAgIHZhciBl
cnI7Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdEhlYWRlcihvZmZz
ZXQsIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3Iu
dmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICB2YXIga1Zl
cnNpb25TaXplcyA9IFsKLSAgICAgIHt2ZXJzaW9uOiAwLCBudW1CeXRlczogOH0KLSAgICBdOwot
ICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RWZXJzaW9uKG9mZnNldCwg
a1ZlcnNpb25TaXplcyk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJv
ci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgcmV0dXJuIHZhbGlkYXRvci52YWxp
ZGF0aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQotICBTZW5zb3JfU3VzcGVuZF9QYXJhbXMuZW5jb2Rl
ZFNpemUgPSBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDA7Ci0KLSAgU2Vuc29yX1N1c3BlbmRf
UGFyYW1zLmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICB2YXIgcGFja2VkOwotICAg
IHZhciB2YWwgPSBuZXcgU2Vuc29yX1N1c3BlbmRfUGFyYW1zKCk7Ci0gICAgdmFyIG51bWJlck9m
Qnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YXIgdmVyc2lvbiA9IGRlY29kZXIu
cmVhZFVpbnQzMigpOwotICAgIHJldHVybiB2YWw7Ci0gIH07Ci0KLSAgU2Vuc29yX1N1c3BlbmRf
UGFyYW1zLmVuY29kZSA9IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgIHZhciBwYWNrZWQ7
Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMihTZW5zb3JfU3VzcGVuZF9QYXJhbXMuZW5jb2RlZFNp
emUpOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoMCk7Ci0gIH07Ci0gIGZ1bmN0aW9uIFNlbnNv
cl9SZXN1bWVfUGFyYW1zKHZhbHVlcykgewotICAgIHRoaXMuaW5pdERlZmF1bHRzXygpOwotICAg
IHRoaXMuaW5pdEZpZWxkc18odmFsdWVzKTsKLSAgfQotCi0KLSAgU2Vuc29yX1Jlc3VtZV9QYXJh
bXMucHJvdG90eXBlLmluaXREZWZhdWx0c18gPSBmdW5jdGlvbigpIHsKLSAgfTsKLSAgU2Vuc29y
X1Jlc3VtZV9QYXJhbXMucHJvdG90eXBlLmluaXRGaWVsZHNfID0gZnVuY3Rpb24oZmllbGRzKSB7
Ci0gICAgZm9yKHZhciBmaWVsZCBpbiBmaWVsZHMpIHsKLSAgICAgICAgaWYgKHRoaXMuaGFzT3du
UHJvcGVydHkoZmllbGQpKQotICAgICAgICAgIHRoaXNbZmllbGRdID0gZmllbGRzW2ZpZWxkXTsK
LSAgICB9Ci0gIH07Ci0KLSAgU2Vuc29yX1Jlc3VtZV9QYXJhbXMudmFsaWRhdGUgPSBmdW5jdGlv
bihtZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsKLSAgICB2YXIgZXJyOwotICAgIGVyciA9IG1l
c3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RIZWFkZXIob2Zmc2V0LCBjb2RlYy5rU3RydWN0
SGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5O
T05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgdmFyIGtWZXJzaW9uU2l6ZXMgPSBbCi0g
ICAgICB7dmVyc2lvbjogMCwgbnVtQnl0ZXM6IDh9Ci0gICAgXTsKLSAgICBlcnIgPSBtZXNzYWdl
VmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0VmVyc2lvbihvZmZzZXQsIGtWZXJzaW9uU2l6ZXMpOwot
ICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAg
cmV0dXJuIGVycjsKLQotICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7
Ci0gIH07Ci0KLSAgU2Vuc29yX1Jlc3VtZV9QYXJhbXMuZW5jb2RlZFNpemUgPSBjb2RlYy5rU3Ry
dWN0SGVhZGVyU2l6ZSArIDA7Ci0KLSAgU2Vuc29yX1Jlc3VtZV9QYXJhbXMuZGVjb2RlID0gZnVu
Y3Rpb24oZGVjb2RlcikgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgdmFyIHZhbCA9IG5ldyBTZW5z
b3JfUmVzdW1lX1BhcmFtcygpOwotICAgIHZhciBudW1iZXJPZkJ5dGVzID0gZGVjb2Rlci5yZWFk
VWludDMyKCk7Ci0gICAgdmFyIHZlcnNpb24gPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICBy
ZXR1cm4gdmFsOwotICB9OwotCi0gIFNlbnNvcl9SZXN1bWVfUGFyYW1zLmVuY29kZSA9IGZ1bmN0
aW9uKGVuY29kZXIsIHZhbCkgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgZW5jb2Rlci53cml0ZVVp
bnQzMihTZW5zb3JfUmVzdW1lX1BhcmFtcy5lbmNvZGVkU2l6ZSk7Ci0gICAgZW5jb2Rlci53cml0
ZVVpbnQzMigwKTsKLSAgfTsKLSAgZnVuY3Rpb24gU2Vuc29yX0NvbmZpZ3VyZVJlYWRpbmdDaGFu
Z2VOb3RpZmljYXRpb25zX1BhcmFtcyh2YWx1ZXMpIHsKLSAgICB0aGlzLmluaXREZWZhdWx0c18o
KTsKLSAgICB0aGlzLmluaXRGaWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0gIFNlbnNvcl9Db25m
aWd1cmVSZWFkaW5nQ2hhbmdlTm90aWZpY2F0aW9uc19QYXJhbXMucHJvdG90eXBlLmluaXREZWZh
dWx0c18gPSBmdW5jdGlvbigpIHsKLSAgICB0aGlzLmVuYWJsZWQgPSBmYWxzZTsKLSAgfTsKLSAg
U2Vuc29yX0NvbmZpZ3VyZVJlYWRpbmdDaGFuZ2VOb3RpZmljYXRpb25zX1BhcmFtcy5wcm90b3R5
cGUuaW5pdEZpZWxkc18gPSBmdW5jdGlvbihmaWVsZHMpIHsKLSAgICBmb3IodmFyIGZpZWxkIGlu
IGZpZWxkcykgewotICAgICAgICBpZiAodGhpcy5oYXNPd25Qcm9wZXJ0eShmaWVsZCkpCi0gICAg
ICAgICAgdGhpc1tmaWVsZF0gPSBmaWVsZHNbZmllbGRdOwotICAgIH0KLSAgfTsKLQotICBTZW5z
b3JfQ29uZmlndXJlUmVhZGluZ0NoYW5nZU5vdGlmaWNhdGlvbnNfUGFyYW1zLnZhbGlkYXRlID0g
ZnVuY3Rpb24obWVzc2FnZVZhbGlkYXRvciwgb2Zmc2V0KSB7Ci0gICAgdmFyIGVycjsKLSAgICBl
cnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0SGVhZGVyKG9mZnNldCwgY29kZWMu
a1N0cnVjdEhlYWRlclNpemUpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9u
RXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHZhciBrVmVyc2lvblNpemVz
ID0gWwotICAgICAge3ZlcnNpb246IDAsIG51bUJ5dGVzOiAxNn0KLSAgICBdOwotICAgIGVyciA9
IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RWZXJzaW9uKG9mZnNldCwga1ZlcnNpb25T
aXplcyk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQot
ICAgICAgICByZXR1cm4gZXJyOwotCi0KLSAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25F
cnJvci5OT05FOwotICB9OwotCi0gIFNlbnNvcl9Db25maWd1cmVSZWFkaW5nQ2hhbmdlTm90aWZp
Y2F0aW9uc19QYXJhbXMuZW5jb2RlZFNpemUgPSBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDg7
Ci0KLSAgU2Vuc29yX0NvbmZpZ3VyZVJlYWRpbmdDaGFuZ2VOb3RpZmljYXRpb25zX1BhcmFtcy5k
ZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICB2YXIgdmFs
ID0gbmV3IFNlbnNvcl9Db25maWd1cmVSZWFkaW5nQ2hhbmdlTm90aWZpY2F0aW9uc19QYXJhbXMo
KTsKLSAgICB2YXIgbnVtYmVyT2ZCeXRlcyA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZh
ciB2ZXJzaW9uID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgcGFja2VkID0gZGVjb2Rlci5y
ZWFkVWludDgoKTsKLSAgICB2YWwuZW5hYmxlZCA9IChwYWNrZWQgPj4gMCkgJiAxID8gdHJ1ZSA6
IGZhbHNlOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAg
ZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAo
MSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICByZXR1
cm4gdmFsOwotICB9OwotCi0gIFNlbnNvcl9Db25maWd1cmVSZWFkaW5nQ2hhbmdlTm90aWZpY2F0
aW9uc19QYXJhbXMuZW5jb2RlID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAgdmFyIHBh
Y2tlZDsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKFNlbnNvcl9Db25maWd1cmVSZWFkaW5nQ2hh
bmdlTm90aWZpY2F0aW9uc19QYXJhbXMuZW5jb2RlZFNpemUpOwotICAgIGVuY29kZXIud3JpdGVV
aW50MzIoMCk7Ci0gICAgcGFja2VkID0gMDsKLSAgICBwYWNrZWQgfD0gKHZhbC5lbmFibGVkICYg
MSkgPDwgMAotICAgIGVuY29kZXIud3JpdGVVaW50OChwYWNrZWQpOwotICAgIGVuY29kZXIuc2tp
cCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVu
Y29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEp
OwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgfTsKLSAgZnVuY3Rpb24gU2Vuc29yQ2xpZW50X1Jh
aXNlRXJyb3JfUGFyYW1zKHZhbHVlcykgewotICAgIHRoaXMuaW5pdERlZmF1bHRzXygpOwotICAg
IHRoaXMuaW5pdEZpZWxkc18odmFsdWVzKTsKLSAgfQotCi0KLSAgU2Vuc29yQ2xpZW50X1JhaXNl
RXJyb3JfUGFyYW1zLnByb3RvdHlwZS5pbml0RGVmYXVsdHNfID0gZnVuY3Rpb24oKSB7Ci0gIH07
Ci0gIFNlbnNvckNsaWVudF9SYWlzZUVycm9yX1BhcmFtcy5wcm90b3R5cGUuaW5pdEZpZWxkc18g
PSBmdW5jdGlvbihmaWVsZHMpIHsKLSAgICBmb3IodmFyIGZpZWxkIGluIGZpZWxkcykgewotICAg
ICAgICBpZiAodGhpcy5oYXNPd25Qcm9wZXJ0eShmaWVsZCkpCi0gICAgICAgICAgdGhpc1tmaWVs
ZF0gPSBmaWVsZHNbZmllbGRdOwotICAgIH0KLSAgfTsKLQotICBTZW5zb3JDbGllbnRfUmFpc2VF
cnJvcl9QYXJhbXMudmFsaWRhdGUgPSBmdW5jdGlvbihtZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQp
IHsKLSAgICB2YXIgZXJyOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1
Y3RIZWFkZXIob2Zmc2V0LCBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVyciAh
PT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwot
Ci0gICAgdmFyIGtWZXJzaW9uU2l6ZXMgPSBbCi0gICAgICB7dmVyc2lvbjogMCwgbnVtQnl0ZXM6
IDh9Ci0gICAgXTsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0VmVy
c2lvbihvZmZzZXQsIGtWZXJzaW9uU2l6ZXMpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52
YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHJldHVybiB2
YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gIH07Ci0KLSAgU2Vuc29yQ2xpZW50X1Jh
aXNlRXJyb3JfUGFyYW1zLmVuY29kZWRTaXplID0gY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyAw
OwotCi0gIFNlbnNvckNsaWVudF9SYWlzZUVycm9yX1BhcmFtcy5kZWNvZGUgPSBmdW5jdGlvbihk
ZWNvZGVyKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICB2YXIgdmFsID0gbmV3IFNlbnNvckNsaWVu
dF9SYWlzZUVycm9yX1BhcmFtcygpOwotICAgIHZhciBudW1iZXJPZkJ5dGVzID0gZGVjb2Rlci5y
ZWFkVWludDMyKCk7Ci0gICAgdmFyIHZlcnNpb24gPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAg
ICByZXR1cm4gdmFsOwotICB9OwotCi0gIFNlbnNvckNsaWVudF9SYWlzZUVycm9yX1BhcmFtcy5l
bmNvZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2YWwpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIGVu
Y29kZXIud3JpdGVVaW50MzIoU2Vuc29yQ2xpZW50X1JhaXNlRXJyb3JfUGFyYW1zLmVuY29kZWRT
aXplKTsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKDApOwotICB9OwotICBmdW5jdGlvbiBTZW5z
b3JDbGllbnRfU2Vuc29yUmVhZGluZ0NoYW5nZWRfUGFyYW1zKHZhbHVlcykgewotICAgIHRoaXMu
aW5pdERlZmF1bHRzXygpOwotICAgIHRoaXMuaW5pdEZpZWxkc18odmFsdWVzKTsKLSAgfQotCi0K
LSAgU2Vuc29yQ2xpZW50X1NlbnNvclJlYWRpbmdDaGFuZ2VkX1BhcmFtcy5wcm90b3R5cGUuaW5p
dERlZmF1bHRzXyA9IGZ1bmN0aW9uKCkgewotICB9OwotICBTZW5zb3JDbGllbnRfU2Vuc29yUmVh
ZGluZ0NoYW5nZWRfUGFyYW1zLnByb3RvdHlwZS5pbml0RmllbGRzXyA9IGZ1bmN0aW9uKGZpZWxk
cykgewotICAgIGZvcih2YXIgZmllbGQgaW4gZmllbGRzKSB7Ci0gICAgICAgIGlmICh0aGlzLmhh
c093blByb3BlcnR5KGZpZWxkKSkKLSAgICAgICAgICB0aGlzW2ZpZWxkXSA9IGZpZWxkc1tmaWVs
ZF07Ci0gICAgfQotICB9OwotCi0gIFNlbnNvckNsaWVudF9TZW5zb3JSZWFkaW5nQ2hhbmdlZF9Q
YXJhbXMudmFsaWRhdGUgPSBmdW5jdGlvbihtZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsKLSAg
ICB2YXIgZXJyOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RIZWFk
ZXIob2Zmc2V0LCBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFs
aWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAg
dmFyIGtWZXJzaW9uU2l6ZXMgPSBbCi0gICAgICB7dmVyc2lvbjogMCwgbnVtQnl0ZXM6IDh9Ci0g
ICAgXTsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0VmVyc2lvbihv
ZmZzZXQsIGtWZXJzaW9uU2l6ZXMpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0
aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHJldHVybiB2YWxpZGF0
b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gIH07Ci0KLSAgU2Vuc29yQ2xpZW50X1NlbnNvclJl
YWRpbmdDaGFuZ2VkX1BhcmFtcy5lbmNvZGVkU2l6ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXpl
ICsgMDsKLQotICBTZW5zb3JDbGllbnRfU2Vuc29yUmVhZGluZ0NoYW5nZWRfUGFyYW1zLmRlY29k
ZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIHZhciB2YWwgPSBu
ZXcgU2Vuc29yQ2xpZW50X1NlbnNvclJlYWRpbmdDaGFuZ2VkX1BhcmFtcygpOwotICAgIHZhciBu
dW1iZXJPZkJ5dGVzID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFyIHZlcnNpb24gPSBk
ZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICByZXR1cm4gdmFsOwotICB9OwotCi0gIFNlbnNvckNs
aWVudF9TZW5zb3JSZWFkaW5nQ2hhbmdlZF9QYXJhbXMuZW5jb2RlID0gZnVuY3Rpb24oZW5jb2Rl
ciwgdmFsKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKFNlbnNv
ckNsaWVudF9TZW5zb3JSZWFkaW5nQ2hhbmdlZF9QYXJhbXMuZW5jb2RlZFNpemUpOwotICAgIGVu
Y29kZXIud3JpdGVVaW50MzIoMCk7Ci0gIH07Ci0gIHZhciBrU2Vuc29yX0dldERlZmF1bHRDb25m
aWd1cmF0aW9uX05hbWUgPSAwOwotICB2YXIga1NlbnNvcl9BZGRDb25maWd1cmF0aW9uX05hbWUg
PSAxOwotICB2YXIga1NlbnNvcl9SZW1vdmVDb25maWd1cmF0aW9uX05hbWUgPSAyOwotICB2YXIg
a1NlbnNvcl9TdXNwZW5kX05hbWUgPSAzOwotICB2YXIga1NlbnNvcl9SZXN1bWVfTmFtZSA9IDQ7
Ci0gIHZhciBrU2Vuc29yX0NvbmZpZ3VyZVJlYWRpbmdDaGFuZ2VOb3RpZmljYXRpb25zX05hbWUg
PSA1OwotCi0gIGZ1bmN0aW9uIFNlbnNvclB0cihoYW5kbGVPclB0ckluZm8pIHsKLSAgICB0aGlz
LnB0ciA9IG5ldyBiaW5kaW5ncy5JbnRlcmZhY2VQdHJDb250cm9sbGVyKFNlbnNvciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZU9yUHRy
SW5mbyk7Ci0gIH0KLQotICBmdW5jdGlvbiBTZW5zb3JBc3NvY2lhdGVkUHRyKGFzc29jaWF0ZWRJ
bnRlcmZhY2VQdHJJbmZvKSB7Ci0gICAgdGhpcy5wdHIgPSBuZXcgYXNzb2NpYXRlZEJpbmRpbmdz
LkFzc29jaWF0ZWRJbnRlcmZhY2VQdHJDb250cm9sbGVyKAotICAgICAgICBTZW5zb3IsIGFzc29j
aWF0ZWRJbnRlcmZhY2VQdHJJbmZvKTsKLSAgfQotCi0gIFNlbnNvckFzc29jaWF0ZWRQdHIucHJv
dG90eXBlID0KLSAgICAgIE9iamVjdC5jcmVhdGUoU2Vuc29yUHRyLnByb3RvdHlwZSk7Ci0gIFNl
bnNvckFzc29jaWF0ZWRQdHIucHJvdG90eXBlLmNvbnN0cnVjdG9yID0KLSAgICAgIFNlbnNvckFz
c29jaWF0ZWRQdHI7Ci0KLSAgZnVuY3Rpb24gU2Vuc29yUHJveHkocmVjZWl2ZXIpIHsKLSAgICB0
aGlzLnJlY2VpdmVyXyA9IHJlY2VpdmVyOwotICB9Ci0gIFNlbnNvclB0ci5wcm90b3R5cGUuZ2V0
RGVmYXVsdENvbmZpZ3VyYXRpb24gPSBmdW5jdGlvbigpIHsKLSAgICByZXR1cm4gU2Vuc29yUHJv
eHkucHJvdG90eXBlLmdldERlZmF1bHRDb25maWd1cmF0aW9uCi0gICAgICAgIC5hcHBseSh0aGlz
LnB0ci5nZXRQcm94eSgpLCBhcmd1bWVudHMpOwotICB9OwotCi0gIFNlbnNvclByb3h5LnByb3Rv
dHlwZS5nZXREZWZhdWx0Q29uZmlndXJhdGlvbiA9IGZ1bmN0aW9uKCkgewotICAgIHZhciBwYXJh
bXNfID0gbmV3IFNlbnNvcl9HZXREZWZhdWx0Q29uZmlndXJhdGlvbl9QYXJhbXMoKTsKLSAgICBy
ZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7Ci0gICAgICB2YXIg
YnVpbGRlciA9IG5ldyBjb2RlYy5NZXNzYWdlVjFCdWlsZGVyKAotICAgICAgICAgIGtTZW5zb3Jf
R2V0RGVmYXVsdENvbmZpZ3VyYXRpb25fTmFtZSwKLSAgICAgICAgICBjb2RlYy5hbGlnbihTZW5z
b3JfR2V0RGVmYXVsdENvbmZpZ3VyYXRpb25fUGFyYW1zLmVuY29kZWRTaXplKSwKLSAgICAgICAg
ICBjb2RlYy5rTWVzc2FnZUV4cGVjdHNSZXNwb25zZSwgMCk7Ci0gICAgICBidWlsZGVyLmVuY29k
ZVN0cnVjdChTZW5zb3JfR2V0RGVmYXVsdENvbmZpZ3VyYXRpb25fUGFyYW1zLCBwYXJhbXNfKTsK
LSAgICAgIHZhciBtZXNzYWdlID0gYnVpbGRlci5maW5pc2goKTsKLSAgICAgIHRoaXMucmVjZWl2
ZXJfLmFjY2VwdEFuZEV4cGVjdFJlc3BvbnNlKG1lc3NhZ2UpLnRoZW4oZnVuY3Rpb24obWVzc2Fn
ZSkgewotICAgICAgICB2YXIgcmVhZGVyID0gbmV3IGNvZGVjLk1lc3NhZ2VSZWFkZXIobWVzc2Fn
ZSk7Ci0gICAgICAgIHZhciByZXNwb25zZVBhcmFtcyA9Ci0gICAgICAgICAgICByZWFkZXIuZGVj
b2RlU3RydWN0KFNlbnNvcl9HZXREZWZhdWx0Q29uZmlndXJhdGlvbl9SZXNwb25zZVBhcmFtcyk7
Ci0gICAgICAgIHJlc29sdmUocmVzcG9uc2VQYXJhbXMpOwotICAgICAgfSkuY2F0Y2goZnVuY3Rp
b24ocmVzdWx0KSB7Ci0gICAgICAgIHJlamVjdChFcnJvcigiQ29ubmVjdGlvbiBlcnJvcjogIiAr
IHJlc3VsdCkpOwotICAgICAgfSk7Ci0gICAgfS5iaW5kKHRoaXMpKTsKLSAgfTsKLSAgU2Vuc29y
UHRyLnByb3RvdHlwZS5hZGRDb25maWd1cmF0aW9uID0gZnVuY3Rpb24oKSB7Ci0gICAgcmV0dXJu
IFNlbnNvclByb3h5LnByb3RvdHlwZS5hZGRDb25maWd1cmF0aW9uCi0gICAgICAgIC5hcHBseSh0
aGlzLnB0ci5nZXRQcm94eSgpLCBhcmd1bWVudHMpOwotICB9OwotCi0gIFNlbnNvclByb3h5LnBy
b3RvdHlwZS5hZGRDb25maWd1cmF0aW9uID0gZnVuY3Rpb24oY29uZmlndXJhdGlvbikgewotICAg
IHZhciBwYXJhbXNfID0gbmV3IFNlbnNvcl9BZGRDb25maWd1cmF0aW9uX1BhcmFtcygpOwotICAg
IHBhcmFtc18uY29uZmlndXJhdGlvbiA9IGNvbmZpZ3VyYXRpb247Ci0gICAgcmV0dXJuIG5ldyBQ
cm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewotICAgICAgdmFyIGJ1aWxkZXIgPSBu
ZXcgY29kZWMuTWVzc2FnZVYxQnVpbGRlcigKLSAgICAgICAgICBrU2Vuc29yX0FkZENvbmZpZ3Vy
YXRpb25fTmFtZSwKLSAgICAgICAgICBjb2RlYy5hbGlnbihTZW5zb3JfQWRkQ29uZmlndXJhdGlv
bl9QYXJhbXMuZW5jb2RlZFNpemUpLAotICAgICAgICAgIGNvZGVjLmtNZXNzYWdlRXhwZWN0c1Jl
c3BvbnNlLCAwKTsKLSAgICAgIGJ1aWxkZXIuZW5jb2RlU3RydWN0KFNlbnNvcl9BZGRDb25maWd1
cmF0aW9uX1BhcmFtcywgcGFyYW1zXyk7Ci0gICAgICB2YXIgbWVzc2FnZSA9IGJ1aWxkZXIuZmlu
aXNoKCk7Ci0gICAgICB0aGlzLnJlY2VpdmVyXy5hY2NlcHRBbmRFeHBlY3RSZXNwb25zZShtZXNz
YWdlKS50aGVuKGZ1bmN0aW9uKG1lc3NhZ2UpIHsKLSAgICAgICAgdmFyIHJlYWRlciA9IG5ldyBj
b2RlYy5NZXNzYWdlUmVhZGVyKG1lc3NhZ2UpOwotICAgICAgICB2YXIgcmVzcG9uc2VQYXJhbXMg
PQotICAgICAgICAgICAgcmVhZGVyLmRlY29kZVN0cnVjdChTZW5zb3JfQWRkQ29uZmlndXJhdGlv
bl9SZXNwb25zZVBhcmFtcyk7Ci0gICAgICAgIHJlc29sdmUocmVzcG9uc2VQYXJhbXMpOwotICAg
ICAgfSkuY2F0Y2goZnVuY3Rpb24ocmVzdWx0KSB7Ci0gICAgICAgIHJlamVjdChFcnJvcigiQ29u
bmVjdGlvbiBlcnJvcjogIiArIHJlc3VsdCkpOwotICAgICAgfSk7Ci0gICAgfS5iaW5kKHRoaXMp
KTsKLSAgfTsKLSAgU2Vuc29yUHRyLnByb3RvdHlwZS5yZW1vdmVDb25maWd1cmF0aW9uID0gZnVu
Y3Rpb24oKSB7Ci0gICAgcmV0dXJuIFNlbnNvclByb3h5LnByb3RvdHlwZS5yZW1vdmVDb25maWd1
cmF0aW9uCi0gICAgICAgIC5hcHBseSh0aGlzLnB0ci5nZXRQcm94eSgpLCBhcmd1bWVudHMpOwot
ICB9OwotCi0gIFNlbnNvclByb3h5LnByb3RvdHlwZS5yZW1vdmVDb25maWd1cmF0aW9uID0gZnVu
Y3Rpb24oY29uZmlndXJhdGlvbikgewotICAgIHZhciBwYXJhbXNfID0gbmV3IFNlbnNvcl9SZW1v
dmVDb25maWd1cmF0aW9uX1BhcmFtcygpOwotICAgIHBhcmFtc18uY29uZmlndXJhdGlvbiA9IGNv
bmZpZ3VyYXRpb247Ci0gICAgdmFyIGJ1aWxkZXIgPSBuZXcgY29kZWMuTWVzc2FnZVYwQnVpbGRl
cigKLSAgICAgICAga1NlbnNvcl9SZW1vdmVDb25maWd1cmF0aW9uX05hbWUsCi0gICAgICAgIGNv
ZGVjLmFsaWduKFNlbnNvcl9SZW1vdmVDb25maWd1cmF0aW9uX1BhcmFtcy5lbmNvZGVkU2l6ZSkp
OwotICAgIGJ1aWxkZXIuZW5jb2RlU3RydWN0KFNlbnNvcl9SZW1vdmVDb25maWd1cmF0aW9uX1Bh
cmFtcywgcGFyYW1zXyk7Ci0gICAgdmFyIG1lc3NhZ2UgPSBidWlsZGVyLmZpbmlzaCgpOwotICAg
IHRoaXMucmVjZWl2ZXJfLmFjY2VwdChtZXNzYWdlKTsKLSAgfTsKLSAgU2Vuc29yUHRyLnByb3Rv
dHlwZS5zdXNwZW5kID0gZnVuY3Rpb24oKSB7Ci0gICAgcmV0dXJuIFNlbnNvclByb3h5LnByb3Rv
dHlwZS5zdXNwZW5kCi0gICAgICAgIC5hcHBseSh0aGlzLnB0ci5nZXRQcm94eSgpLCBhcmd1bWVu
dHMpOwotICB9OwotCi0gIFNlbnNvclByb3h5LnByb3RvdHlwZS5zdXNwZW5kID0gZnVuY3Rpb24o
KSB7Ci0gICAgdmFyIHBhcmFtc18gPSBuZXcgU2Vuc29yX1N1c3BlbmRfUGFyYW1zKCk7Ci0gICAg
dmFyIGJ1aWxkZXIgPSBuZXcgY29kZWMuTWVzc2FnZVYwQnVpbGRlcigKLSAgICAgICAga1NlbnNv
cl9TdXNwZW5kX05hbWUsCi0gICAgICAgIGNvZGVjLmFsaWduKFNlbnNvcl9TdXNwZW5kX1BhcmFt
cy5lbmNvZGVkU2l6ZSkpOwotICAgIGJ1aWxkZXIuZW5jb2RlU3RydWN0KFNlbnNvcl9TdXNwZW5k
X1BhcmFtcywgcGFyYW1zXyk7Ci0gICAgdmFyIG1lc3NhZ2UgPSBidWlsZGVyLmZpbmlzaCgpOwot
ICAgIHRoaXMucmVjZWl2ZXJfLmFjY2VwdChtZXNzYWdlKTsKLSAgfTsKLSAgU2Vuc29yUHRyLnBy
b3RvdHlwZS5yZXN1bWUgPSBmdW5jdGlvbigpIHsKLSAgICByZXR1cm4gU2Vuc29yUHJveHkucHJv
dG90eXBlLnJlc3VtZQotICAgICAgICAuYXBwbHkodGhpcy5wdHIuZ2V0UHJveHkoKSwgYXJndW1l
bnRzKTsKLSAgfTsKLQotICBTZW5zb3JQcm94eS5wcm90b3R5cGUucmVzdW1lID0gZnVuY3Rpb24o
KSB7Ci0gICAgdmFyIHBhcmFtc18gPSBuZXcgU2Vuc29yX1Jlc3VtZV9QYXJhbXMoKTsKLSAgICB2
YXIgYnVpbGRlciA9IG5ldyBjb2RlYy5NZXNzYWdlVjBCdWlsZGVyKAotICAgICAgICBrU2Vuc29y
X1Jlc3VtZV9OYW1lLAotICAgICAgICBjb2RlYy5hbGlnbihTZW5zb3JfUmVzdW1lX1BhcmFtcy5l
bmNvZGVkU2l6ZSkpOwotICAgIGJ1aWxkZXIuZW5jb2RlU3RydWN0KFNlbnNvcl9SZXN1bWVfUGFy
YW1zLCBwYXJhbXNfKTsKLSAgICB2YXIgbWVzc2FnZSA9IGJ1aWxkZXIuZmluaXNoKCk7Ci0gICAg
dGhpcy5yZWNlaXZlcl8uYWNjZXB0KG1lc3NhZ2UpOwotICB9OwotICBTZW5zb3JQdHIucHJvdG90
eXBlLmNvbmZpZ3VyZVJlYWRpbmdDaGFuZ2VOb3RpZmljYXRpb25zID0gZnVuY3Rpb24oKSB7Ci0g
ICAgcmV0dXJuIFNlbnNvclByb3h5LnByb3RvdHlwZS5jb25maWd1cmVSZWFkaW5nQ2hhbmdlTm90
aWZpY2F0aW9ucwotICAgICAgICAuYXBwbHkodGhpcy5wdHIuZ2V0UHJveHkoKSwgYXJndW1lbnRz
KTsKLSAgfTsKLQotICBTZW5zb3JQcm94eS5wcm90b3R5cGUuY29uZmlndXJlUmVhZGluZ0NoYW5n
ZU5vdGlmaWNhdGlvbnMgPSBmdW5jdGlvbihlbmFibGVkKSB7Ci0gICAgdmFyIHBhcmFtc18gPSBu
ZXcgU2Vuc29yX0NvbmZpZ3VyZVJlYWRpbmdDaGFuZ2VOb3RpZmljYXRpb25zX1BhcmFtcygpOwot
ICAgIHBhcmFtc18uZW5hYmxlZCA9IGVuYWJsZWQ7Ci0gICAgdmFyIGJ1aWxkZXIgPSBuZXcgY29k
ZWMuTWVzc2FnZVYwQnVpbGRlcigKLSAgICAgICAga1NlbnNvcl9Db25maWd1cmVSZWFkaW5nQ2hh
bmdlTm90aWZpY2F0aW9uc19OYW1lLAotICAgICAgICBjb2RlYy5hbGlnbihTZW5zb3JfQ29uZmln
dXJlUmVhZGluZ0NoYW5nZU5vdGlmaWNhdGlvbnNfUGFyYW1zLmVuY29kZWRTaXplKSk7Ci0gICAg
YnVpbGRlci5lbmNvZGVTdHJ1Y3QoU2Vuc29yX0NvbmZpZ3VyZVJlYWRpbmdDaGFuZ2VOb3RpZmlj
YXRpb25zX1BhcmFtcywgcGFyYW1zXyk7Ci0gICAgdmFyIG1lc3NhZ2UgPSBidWlsZGVyLmZpbmlz
aCgpOwotICAgIHRoaXMucmVjZWl2ZXJfLmFjY2VwdChtZXNzYWdlKTsKLSAgfTsKLQotICBmdW5j
dGlvbiBTZW5zb3JTdHViKGRlbGVnYXRlKSB7Ci0gICAgdGhpcy5kZWxlZ2F0ZV8gPSBkZWxlZ2F0
ZTsKLSAgfQotICBTZW5zb3JTdHViLnByb3RvdHlwZS5nZXREZWZhdWx0Q29uZmlndXJhdGlvbiA9
IGZ1bmN0aW9uKCkgewotICAgIHJldHVybiB0aGlzLmRlbGVnYXRlXyAmJiB0aGlzLmRlbGVnYXRl
Xy5nZXREZWZhdWx0Q29uZmlndXJhdGlvbiAmJiB0aGlzLmRlbGVnYXRlXy5nZXREZWZhdWx0Q29u
ZmlndXJhdGlvbigpOwotICB9Ci0gIFNlbnNvclN0dWIucHJvdG90eXBlLmFkZENvbmZpZ3VyYXRp
b24gPSBmdW5jdGlvbihjb25maWd1cmF0aW9uKSB7Ci0gICAgcmV0dXJuIHRoaXMuZGVsZWdhdGVf
ICYmIHRoaXMuZGVsZWdhdGVfLmFkZENvbmZpZ3VyYXRpb24gJiYgdGhpcy5kZWxlZ2F0ZV8uYWRk
Q29uZmlndXJhdGlvbihjb25maWd1cmF0aW9uKTsKLSAgfQotICBTZW5zb3JTdHViLnByb3RvdHlw
ZS5yZW1vdmVDb25maWd1cmF0aW9uID0gZnVuY3Rpb24oY29uZmlndXJhdGlvbikgewotICAgIHJl
dHVybiB0aGlzLmRlbGVnYXRlXyAmJiB0aGlzLmRlbGVnYXRlXy5yZW1vdmVDb25maWd1cmF0aW9u
ICYmIHRoaXMuZGVsZWdhdGVfLnJlbW92ZUNvbmZpZ3VyYXRpb24oY29uZmlndXJhdGlvbik7Ci0g
IH0KLSAgU2Vuc29yU3R1Yi5wcm90b3R5cGUuc3VzcGVuZCA9IGZ1bmN0aW9uKCkgewotICAgIHJl
dHVybiB0aGlzLmRlbGVnYXRlXyAmJiB0aGlzLmRlbGVnYXRlXy5zdXNwZW5kICYmIHRoaXMuZGVs
ZWdhdGVfLnN1c3BlbmQoKTsKLSAgfQotICBTZW5zb3JTdHViLnByb3RvdHlwZS5yZXN1bWUgPSBm
dW5jdGlvbigpIHsKLSAgICByZXR1cm4gdGhpcy5kZWxlZ2F0ZV8gJiYgdGhpcy5kZWxlZ2F0ZV8u
cmVzdW1lICYmIHRoaXMuZGVsZWdhdGVfLnJlc3VtZSgpOwotICB9Ci0gIFNlbnNvclN0dWIucHJv
dG90eXBlLmNvbmZpZ3VyZVJlYWRpbmdDaGFuZ2VOb3RpZmljYXRpb25zID0gZnVuY3Rpb24oZW5h
YmxlZCkgewotICAgIHJldHVybiB0aGlzLmRlbGVnYXRlXyAmJiB0aGlzLmRlbGVnYXRlXy5jb25m
aWd1cmVSZWFkaW5nQ2hhbmdlTm90aWZpY2F0aW9ucyAmJiB0aGlzLmRlbGVnYXRlXy5jb25maWd1
cmVSZWFkaW5nQ2hhbmdlTm90aWZpY2F0aW9ucyhlbmFibGVkKTsKLSAgfQotCi0gIFNlbnNvclN0
dWIucHJvdG90eXBlLmFjY2VwdCA9IGZ1bmN0aW9uKG1lc3NhZ2UpIHsKLSAgICB2YXIgcmVhZGVy
ID0gbmV3IGNvZGVjLk1lc3NhZ2VSZWFkZXIobWVzc2FnZSk7Ci0gICAgc3dpdGNoIChyZWFkZXIu
bWVzc2FnZU5hbWUpIHsKLSAgICBjYXNlIGtTZW5zb3JfUmVtb3ZlQ29uZmlndXJhdGlvbl9OYW1l
OgotICAgICAgdmFyIHBhcmFtcyA9IHJlYWRlci5kZWNvZGVTdHJ1Y3QoU2Vuc29yX1JlbW92ZUNv
bmZpZ3VyYXRpb25fUGFyYW1zKTsKLSAgICAgIHRoaXMucmVtb3ZlQ29uZmlndXJhdGlvbihwYXJh
bXMuY29uZmlndXJhdGlvbik7Ci0gICAgICByZXR1cm4gdHJ1ZTsKLSAgICBjYXNlIGtTZW5zb3Jf
U3VzcGVuZF9OYW1lOgotICAgICAgdmFyIHBhcmFtcyA9IHJlYWRlci5kZWNvZGVTdHJ1Y3QoU2Vu
c29yX1N1c3BlbmRfUGFyYW1zKTsKLSAgICAgIHRoaXMuc3VzcGVuZCgpOwotICAgICAgcmV0dXJu
IHRydWU7Ci0gICAgY2FzZSBrU2Vuc29yX1Jlc3VtZV9OYW1lOgotICAgICAgdmFyIHBhcmFtcyA9
IHJlYWRlci5kZWNvZGVTdHJ1Y3QoU2Vuc29yX1Jlc3VtZV9QYXJhbXMpOwotICAgICAgdGhpcy5y
ZXN1bWUoKTsKLSAgICAgIHJldHVybiB0cnVlOwotICAgIGNhc2Uga1NlbnNvcl9Db25maWd1cmVS
ZWFkaW5nQ2hhbmdlTm90aWZpY2F0aW9uc19OYW1lOgotICAgICAgdmFyIHBhcmFtcyA9IHJlYWRl
ci5kZWNvZGVTdHJ1Y3QoU2Vuc29yX0NvbmZpZ3VyZVJlYWRpbmdDaGFuZ2VOb3RpZmljYXRpb25z
X1BhcmFtcyk7Ci0gICAgICB0aGlzLmNvbmZpZ3VyZVJlYWRpbmdDaGFuZ2VOb3RpZmljYXRpb25z
KHBhcmFtcy5lbmFibGVkKTsKLSAgICAgIHJldHVybiB0cnVlOwotICAgIGRlZmF1bHQ6Ci0gICAg
ICByZXR1cm4gZmFsc2U7Ci0gICAgfQotICB9OwotCi0gIFNlbnNvclN0dWIucHJvdG90eXBlLmFj
Y2VwdFdpdGhSZXNwb25kZXIgPQotICAgICAgZnVuY3Rpb24obWVzc2FnZSwgcmVzcG9uZGVyKSB7
Ci0gICAgdmFyIHJlYWRlciA9IG5ldyBjb2RlYy5NZXNzYWdlUmVhZGVyKG1lc3NhZ2UpOwotICAg
IHN3aXRjaCAocmVhZGVyLm1lc3NhZ2VOYW1lKSB7Ci0gICAgY2FzZSBrU2Vuc29yX0dldERlZmF1
bHRDb25maWd1cmF0aW9uX05hbWU6Ci0gICAgICB2YXIgcGFyYW1zID0gcmVhZGVyLmRlY29kZVN0
cnVjdChTZW5zb3JfR2V0RGVmYXVsdENvbmZpZ3VyYXRpb25fUGFyYW1zKTsKLSAgICAgIHRoaXMu
Z2V0RGVmYXVsdENvbmZpZ3VyYXRpb24oKS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAg
ICAgIHZhciByZXNwb25zZVBhcmFtcyA9Ci0gICAgICAgICAgICBuZXcgU2Vuc29yX0dldERlZmF1
bHRDb25maWd1cmF0aW9uX1Jlc3BvbnNlUGFyYW1zKCk7Ci0gICAgICAgIHJlc3BvbnNlUGFyYW1z
LmNvbmZpZ3VyYXRpb24gPSByZXNwb25zZS5jb25maWd1cmF0aW9uOwotICAgICAgICB2YXIgYnVp
bGRlciA9IG5ldyBjb2RlYy5NZXNzYWdlVjFCdWlsZGVyKAotICAgICAgICAgICAga1NlbnNvcl9H
ZXREZWZhdWx0Q29uZmlndXJhdGlvbl9OYW1lLAotICAgICAgICAgICAgY29kZWMuYWxpZ24oU2Vu
c29yX0dldERlZmF1bHRDb25maWd1cmF0aW9uX1Jlc3BvbnNlUGFyYW1zLmVuY29kZWRTaXplKSwK
LSAgICAgICAgICAgIGNvZGVjLmtNZXNzYWdlSXNSZXNwb25zZSwgcmVhZGVyLnJlcXVlc3RJRCk7
Ci0gICAgICAgIGJ1aWxkZXIuZW5jb2RlU3RydWN0KFNlbnNvcl9HZXREZWZhdWx0Q29uZmlndXJh
dGlvbl9SZXNwb25zZVBhcmFtcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzcG9u
c2VQYXJhbXMpOwotICAgICAgICB2YXIgbWVzc2FnZSA9IGJ1aWxkZXIuZmluaXNoKCk7Ci0gICAg
ICAgIHJlc3BvbmRlci5hY2NlcHQobWVzc2FnZSk7Ci0gICAgICB9KTsKLSAgICAgIHJldHVybiB0
cnVlOwotICAgIGNhc2Uga1NlbnNvcl9BZGRDb25maWd1cmF0aW9uX05hbWU6Ci0gICAgICB2YXIg
cGFyYW1zID0gcmVhZGVyLmRlY29kZVN0cnVjdChTZW5zb3JfQWRkQ29uZmlndXJhdGlvbl9QYXJh
bXMpOwotICAgICAgdGhpcy5hZGRDb25maWd1cmF0aW9uKHBhcmFtcy5jb25maWd1cmF0aW9uKS50
aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgICAgIHZhciByZXNwb25zZVBhcmFtcyA9Ci0g
ICAgICAgICAgICBuZXcgU2Vuc29yX0FkZENvbmZpZ3VyYXRpb25fUmVzcG9uc2VQYXJhbXMoKTsK
LSAgICAgICAgcmVzcG9uc2VQYXJhbXMuc3VjY2VzcyA9IHJlc3BvbnNlLnN1Y2Nlc3M7Ci0gICAg
ICAgIHZhciBidWlsZGVyID0gbmV3IGNvZGVjLk1lc3NhZ2VWMUJ1aWxkZXIoCi0gICAgICAgICAg
ICBrU2Vuc29yX0FkZENvbmZpZ3VyYXRpb25fTmFtZSwKLSAgICAgICAgICAgIGNvZGVjLmFsaWdu
KFNlbnNvcl9BZGRDb25maWd1cmF0aW9uX1Jlc3BvbnNlUGFyYW1zLmVuY29kZWRTaXplKSwKLSAg
ICAgICAgICAgIGNvZGVjLmtNZXNzYWdlSXNSZXNwb25zZSwgcmVhZGVyLnJlcXVlc3RJRCk7Ci0g
ICAgICAgIGJ1aWxkZXIuZW5jb2RlU3RydWN0KFNlbnNvcl9BZGRDb25maWd1cmF0aW9uX1Jlc3Bv
bnNlUGFyYW1zLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNwb25zZVBhcmFtcyk7
Ci0gICAgICAgIHZhciBtZXNzYWdlID0gYnVpbGRlci5maW5pc2goKTsKLSAgICAgICAgcmVzcG9u
ZGVyLmFjY2VwdChtZXNzYWdlKTsKLSAgICAgIH0pOwotICAgICAgcmV0dXJuIHRydWU7Ci0gICAg
ZGVmYXVsdDoKLSAgICAgIHJldHVybiBmYWxzZTsKLSAgICB9Ci0gIH07Ci0KLSAgZnVuY3Rpb24g
dmFsaWRhdGVTZW5zb3JSZXF1ZXN0KG1lc3NhZ2VWYWxpZGF0b3IpIHsKLSAgICB2YXIgbWVzc2Fn
ZSA9IG1lc3NhZ2VWYWxpZGF0b3IubWVzc2FnZTsKLSAgICB2YXIgcGFyYW1zQ2xhc3MgPSBudWxs
OwotICAgIHN3aXRjaCAobWVzc2FnZS5nZXROYW1lKCkpIHsKLSAgICAgIGNhc2Uga1NlbnNvcl9H
ZXREZWZhdWx0Q29uZmlndXJhdGlvbl9OYW1lOgotICAgICAgICBpZiAobWVzc2FnZS5leHBlY3Rz
UmVzcG9uc2UoKSkKLSAgICAgICAgICBwYXJhbXNDbGFzcyA9IFNlbnNvcl9HZXREZWZhdWx0Q29u
ZmlndXJhdGlvbl9QYXJhbXM7Ci0gICAgICBicmVhazsKLSAgICAgIGNhc2Uga1NlbnNvcl9BZGRD
b25maWd1cmF0aW9uX05hbWU6Ci0gICAgICAgIGlmIChtZXNzYWdlLmV4cGVjdHNSZXNwb25zZSgp
KQotICAgICAgICAgIHBhcmFtc0NsYXNzID0gU2Vuc29yX0FkZENvbmZpZ3VyYXRpb25fUGFyYW1z
OwotICAgICAgYnJlYWs7Ci0gICAgICBjYXNlIGtTZW5zb3JfUmVtb3ZlQ29uZmlndXJhdGlvbl9O
YW1lOgotICAgICAgICBpZiAoIW1lc3NhZ2UuZXhwZWN0c1Jlc3BvbnNlKCkgJiYgIW1lc3NhZ2Uu
aXNSZXNwb25zZSgpKQotICAgICAgICAgIHBhcmFtc0NsYXNzID0gU2Vuc29yX1JlbW92ZUNvbmZp
Z3VyYXRpb25fUGFyYW1zOwotICAgICAgYnJlYWs7Ci0gICAgICBjYXNlIGtTZW5zb3JfU3VzcGVu
ZF9OYW1lOgotICAgICAgICBpZiAoIW1lc3NhZ2UuZXhwZWN0c1Jlc3BvbnNlKCkgJiYgIW1lc3Nh
Z2UuaXNSZXNwb25zZSgpKQotICAgICAgICAgIHBhcmFtc0NsYXNzID0gU2Vuc29yX1N1c3BlbmRf
UGFyYW1zOwotICAgICAgYnJlYWs7Ci0gICAgICBjYXNlIGtTZW5zb3JfUmVzdW1lX05hbWU6Ci0g
ICAgICAgIGlmICghbWVzc2FnZS5leHBlY3RzUmVzcG9uc2UoKSAmJiAhbWVzc2FnZS5pc1Jlc3Bv
bnNlKCkpCi0gICAgICAgICAgcGFyYW1zQ2xhc3MgPSBTZW5zb3JfUmVzdW1lX1BhcmFtczsKLSAg
ICAgIGJyZWFrOwotICAgICAgY2FzZSBrU2Vuc29yX0NvbmZpZ3VyZVJlYWRpbmdDaGFuZ2VOb3Rp
ZmljYXRpb25zX05hbWU6Ci0gICAgICAgIGlmICghbWVzc2FnZS5leHBlY3RzUmVzcG9uc2UoKSAm
JiAhbWVzc2FnZS5pc1Jlc3BvbnNlKCkpCi0gICAgICAgICAgcGFyYW1zQ2xhc3MgPSBTZW5zb3Jf
Q29uZmlndXJlUmVhZGluZ0NoYW5nZU5vdGlmaWNhdGlvbnNfUGFyYW1zOwotICAgICAgYnJlYWs7
Ci0gICAgfQotICAgIGlmIChwYXJhbXNDbGFzcyA9PT0gbnVsbCkKLSAgICAgIHJldHVybiB2YWxp
ZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gICAgcmV0dXJuIHBhcmFtc0NsYXNzLnZhbGlk
YXRlKG1lc3NhZ2VWYWxpZGF0b3IsIG1lc3NhZ2VWYWxpZGF0b3IubWVzc2FnZS5nZXRIZWFkZXJO
dW1CeXRlcygpKTsKLSAgfQotCi0gIGZ1bmN0aW9uIHZhbGlkYXRlU2Vuc29yUmVzcG9uc2UobWVz
c2FnZVZhbGlkYXRvcikgewotICAgdmFyIG1lc3NhZ2UgPSBtZXNzYWdlVmFsaWRhdG9yLm1lc3Nh
Z2U7Ci0gICB2YXIgcGFyYW1zQ2xhc3MgPSBudWxsOwotICAgc3dpdGNoIChtZXNzYWdlLmdldE5h
bWUoKSkgewotICAgICAgY2FzZSBrU2Vuc29yX0dldERlZmF1bHRDb25maWd1cmF0aW9uX05hbWU6
Ci0gICAgICAgIGlmIChtZXNzYWdlLmlzUmVzcG9uc2UoKSkKLSAgICAgICAgICBwYXJhbXNDbGFz
cyA9IFNlbnNvcl9HZXREZWZhdWx0Q29uZmlndXJhdGlvbl9SZXNwb25zZVBhcmFtczsKLSAgICAg
ICAgYnJlYWs7Ci0gICAgICBjYXNlIGtTZW5zb3JfQWRkQ29uZmlndXJhdGlvbl9OYW1lOgotICAg
ICAgICBpZiAobWVzc2FnZS5pc1Jlc3BvbnNlKCkpCi0gICAgICAgICAgcGFyYW1zQ2xhc3MgPSBT
ZW5zb3JfQWRkQ29uZmlndXJhdGlvbl9SZXNwb25zZVBhcmFtczsKLSAgICAgICAgYnJlYWs7Ci0g
ICAgfQotICAgIGlmIChwYXJhbXNDbGFzcyA9PT0gbnVsbCkKLSAgICAgIHJldHVybiB2YWxpZGF0
b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gICAgcmV0dXJuIHBhcmFtc0NsYXNzLnZhbGlkYXRl
KG1lc3NhZ2VWYWxpZGF0b3IsIG1lc3NhZ2VWYWxpZGF0b3IubWVzc2FnZS5nZXRIZWFkZXJOdW1C
eXRlcygpKTsKLSAgfQotCi0gIHZhciBTZW5zb3IgPSB7Ci0gICAgbmFtZTogJ2RldmljZS5tb2pv
bS5TZW5zb3InLAotICAgIGtWZXJzaW9uOiAwLAotICAgIHB0ckNsYXNzOiBTZW5zb3JQdHIsCi0g
ICAgcHJveHlDbGFzczogU2Vuc29yUHJveHksCi0gICAgc3R1YkNsYXNzOiBTZW5zb3JTdHViLAot
ICAgIHZhbGlkYXRlUmVxdWVzdDogdmFsaWRhdGVTZW5zb3JSZXF1ZXN0LAotICAgIHZhbGlkYXRl
UmVzcG9uc2U6IHZhbGlkYXRlU2Vuc29yUmVzcG9uc2UsCi0gIH07Ci0gIFNlbnNvclN0dWIucHJv
dG90eXBlLnZhbGlkYXRvciA9IHZhbGlkYXRlU2Vuc29yUmVxdWVzdDsKLSAgU2Vuc29yUHJveHku
cHJvdG90eXBlLnZhbGlkYXRvciA9IHZhbGlkYXRlU2Vuc29yUmVzcG9uc2U7Ci0gIHZhciBrU2Vu
c29yQ2xpZW50X1JhaXNlRXJyb3JfTmFtZSA9IDA7Ci0gIHZhciBrU2Vuc29yQ2xpZW50X1NlbnNv
clJlYWRpbmdDaGFuZ2VkX05hbWUgPSAxOwotCi0gIGZ1bmN0aW9uIFNlbnNvckNsaWVudFB0ciho
YW5kbGVPclB0ckluZm8pIHsKLSAgICB0aGlzLnB0ciA9IG5ldyBiaW5kaW5ncy5JbnRlcmZhY2VQ
dHJDb250cm9sbGVyKFNlbnNvckNsaWVudCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZU9yUHRySW5mbyk7Ci0gIH0KLQotICBmdW5jdGlv
biBTZW5zb3JDbGllbnRBc3NvY2lhdGVkUHRyKGFzc29jaWF0ZWRJbnRlcmZhY2VQdHJJbmZvKSB7
Ci0gICAgdGhpcy5wdHIgPSBuZXcgYXNzb2NpYXRlZEJpbmRpbmdzLkFzc29jaWF0ZWRJbnRlcmZh
Y2VQdHJDb250cm9sbGVyKAotICAgICAgICBTZW5zb3JDbGllbnQsIGFzc29jaWF0ZWRJbnRlcmZh
Y2VQdHJJbmZvKTsKLSAgfQotCi0gIFNlbnNvckNsaWVudEFzc29jaWF0ZWRQdHIucHJvdG90eXBl
ID0KLSAgICAgIE9iamVjdC5jcmVhdGUoU2Vuc29yQ2xpZW50UHRyLnByb3RvdHlwZSk7Ci0gIFNl
bnNvckNsaWVudEFzc29jaWF0ZWRQdHIucHJvdG90eXBlLmNvbnN0cnVjdG9yID0KLSAgICAgIFNl
bnNvckNsaWVudEFzc29jaWF0ZWRQdHI7Ci0KLSAgZnVuY3Rpb24gU2Vuc29yQ2xpZW50UHJveHko
cmVjZWl2ZXIpIHsKLSAgICB0aGlzLnJlY2VpdmVyXyA9IHJlY2VpdmVyOwotICB9Ci0gIFNlbnNv
ckNsaWVudFB0ci5wcm90b3R5cGUucmFpc2VFcnJvciA9IGZ1bmN0aW9uKCkgewotICAgIHJldHVy
biBTZW5zb3JDbGllbnRQcm94eS5wcm90b3R5cGUucmFpc2VFcnJvcgotICAgICAgICAuYXBwbHko
dGhpcy5wdHIuZ2V0UHJveHkoKSwgYXJndW1lbnRzKTsKLSAgfTsKLQotICBTZW5zb3JDbGllbnRQ
cm94eS5wcm90b3R5cGUucmFpc2VFcnJvciA9IGZ1bmN0aW9uKCkgewotICAgIHZhciBwYXJhbXNf
ID0gbmV3IFNlbnNvckNsaWVudF9SYWlzZUVycm9yX1BhcmFtcygpOwotICAgIHZhciBidWlsZGVy
ID0gbmV3IGNvZGVjLk1lc3NhZ2VWMEJ1aWxkZXIoCi0gICAgICAgIGtTZW5zb3JDbGllbnRfUmFp
c2VFcnJvcl9OYW1lLAotICAgICAgICBjb2RlYy5hbGlnbihTZW5zb3JDbGllbnRfUmFpc2VFcnJv
cl9QYXJhbXMuZW5jb2RlZFNpemUpKTsKLSAgICBidWlsZGVyLmVuY29kZVN0cnVjdChTZW5zb3JD
bGllbnRfUmFpc2VFcnJvcl9QYXJhbXMsIHBhcmFtc18pOwotICAgIHZhciBtZXNzYWdlID0gYnVp
bGRlci5maW5pc2goKTsKLSAgICB0aGlzLnJlY2VpdmVyXy5hY2NlcHQobWVzc2FnZSk7Ci0gIH07
Ci0gIFNlbnNvckNsaWVudFB0ci5wcm90b3R5cGUuc2Vuc29yUmVhZGluZ0NoYW5nZWQgPSBmdW5j
dGlvbigpIHsKLSAgICByZXR1cm4gU2Vuc29yQ2xpZW50UHJveHkucHJvdG90eXBlLnNlbnNvclJl
YWRpbmdDaGFuZ2VkCi0gICAgICAgIC5hcHBseSh0aGlzLnB0ci5nZXRQcm94eSgpLCBhcmd1bWVu
dHMpOwotICB9OwotCi0gIFNlbnNvckNsaWVudFByb3h5LnByb3RvdHlwZS5zZW5zb3JSZWFkaW5n
Q2hhbmdlZCA9IGZ1bmN0aW9uKCkgewotICAgIHZhciBwYXJhbXNfID0gbmV3IFNlbnNvckNsaWVu
dF9TZW5zb3JSZWFkaW5nQ2hhbmdlZF9QYXJhbXMoKTsKLSAgICB2YXIgYnVpbGRlciA9IG5ldyBj
b2RlYy5NZXNzYWdlVjBCdWlsZGVyKAotICAgICAgICBrU2Vuc29yQ2xpZW50X1NlbnNvclJlYWRp
bmdDaGFuZ2VkX05hbWUsCi0gICAgICAgIGNvZGVjLmFsaWduKFNlbnNvckNsaWVudF9TZW5zb3JS
ZWFkaW5nQ2hhbmdlZF9QYXJhbXMuZW5jb2RlZFNpemUpKTsKLSAgICBidWlsZGVyLmVuY29kZVN0
cnVjdChTZW5zb3JDbGllbnRfU2Vuc29yUmVhZGluZ0NoYW5nZWRfUGFyYW1zLCBwYXJhbXNfKTsK
LSAgICB2YXIgbWVzc2FnZSA9IGJ1aWxkZXIuZmluaXNoKCk7Ci0gICAgdGhpcy5yZWNlaXZlcl8u
YWNjZXB0KG1lc3NhZ2UpOwotICB9OwotCi0gIGZ1bmN0aW9uIFNlbnNvckNsaWVudFN0dWIoZGVs
ZWdhdGUpIHsKLSAgICB0aGlzLmRlbGVnYXRlXyA9IGRlbGVnYXRlOwotICB9Ci0gIFNlbnNvckNs
aWVudFN0dWIucHJvdG90eXBlLnJhaXNlRXJyb3IgPSBmdW5jdGlvbigpIHsKLSAgICByZXR1cm4g
dGhpcy5kZWxlZ2F0ZV8gJiYgdGhpcy5kZWxlZ2F0ZV8ucmFpc2VFcnJvciAmJiB0aGlzLmRlbGVn
YXRlXy5yYWlzZUVycm9yKCk7Ci0gIH0KLSAgU2Vuc29yQ2xpZW50U3R1Yi5wcm90b3R5cGUuc2Vu
c29yUmVhZGluZ0NoYW5nZWQgPSBmdW5jdGlvbigpIHsKLSAgICByZXR1cm4gdGhpcy5kZWxlZ2F0
ZV8gJiYgdGhpcy5kZWxlZ2F0ZV8uc2Vuc29yUmVhZGluZ0NoYW5nZWQgJiYgdGhpcy5kZWxlZ2F0
ZV8uc2Vuc29yUmVhZGluZ0NoYW5nZWQoKTsKLSAgfQotCi0gIFNlbnNvckNsaWVudFN0dWIucHJv
dG90eXBlLmFjY2VwdCA9IGZ1bmN0aW9uKG1lc3NhZ2UpIHsKLSAgICB2YXIgcmVhZGVyID0gbmV3
IGNvZGVjLk1lc3NhZ2VSZWFkZXIobWVzc2FnZSk7Ci0gICAgc3dpdGNoIChyZWFkZXIubWVzc2Fn
ZU5hbWUpIHsKLSAgICBjYXNlIGtTZW5zb3JDbGllbnRfUmFpc2VFcnJvcl9OYW1lOgotICAgICAg
dmFyIHBhcmFtcyA9IHJlYWRlci5kZWNvZGVTdHJ1Y3QoU2Vuc29yQ2xpZW50X1JhaXNlRXJyb3Jf
UGFyYW1zKTsKLSAgICAgIHRoaXMucmFpc2VFcnJvcigpOwotICAgICAgcmV0dXJuIHRydWU7Ci0g
ICAgY2FzZSBrU2Vuc29yQ2xpZW50X1NlbnNvclJlYWRpbmdDaGFuZ2VkX05hbWU6Ci0gICAgICB2
YXIgcGFyYW1zID0gcmVhZGVyLmRlY29kZVN0cnVjdChTZW5zb3JDbGllbnRfU2Vuc29yUmVhZGlu
Z0NoYW5nZWRfUGFyYW1zKTsKLSAgICAgIHRoaXMuc2Vuc29yUmVhZGluZ0NoYW5nZWQoKTsKLSAg
ICAgIHJldHVybiB0cnVlOwotICAgIGRlZmF1bHQ6Ci0gICAgICByZXR1cm4gZmFsc2U7Ci0gICAg
fQotICB9OwotCi0gIFNlbnNvckNsaWVudFN0dWIucHJvdG90eXBlLmFjY2VwdFdpdGhSZXNwb25k
ZXIgPQotICAgICAgZnVuY3Rpb24obWVzc2FnZSwgcmVzcG9uZGVyKSB7Ci0gICAgdmFyIHJlYWRl
ciA9IG5ldyBjb2RlYy5NZXNzYWdlUmVhZGVyKG1lc3NhZ2UpOwotICAgIHN3aXRjaCAocmVhZGVy
Lm1lc3NhZ2VOYW1lKSB7Ci0gICAgZGVmYXVsdDoKLSAgICAgIHJldHVybiBmYWxzZTsKLSAgICB9
Ci0gIH07Ci0KLSAgZnVuY3Rpb24gdmFsaWRhdGVTZW5zb3JDbGllbnRSZXF1ZXN0KG1lc3NhZ2VW
YWxpZGF0b3IpIHsKLSAgICB2YXIgbWVzc2FnZSA9IG1lc3NhZ2VWYWxpZGF0b3IubWVzc2FnZTsK
LSAgICB2YXIgcGFyYW1zQ2xhc3MgPSBudWxsOwotICAgIHN3aXRjaCAobWVzc2FnZS5nZXROYW1l
KCkpIHsKLSAgICAgIGNhc2Uga1NlbnNvckNsaWVudF9SYWlzZUVycm9yX05hbWU6Ci0gICAgICAg
IGlmICghbWVzc2FnZS5leHBlY3RzUmVzcG9uc2UoKSAmJiAhbWVzc2FnZS5pc1Jlc3BvbnNlKCkp
Ci0gICAgICAgICAgcGFyYW1zQ2xhc3MgPSBTZW5zb3JDbGllbnRfUmFpc2VFcnJvcl9QYXJhbXM7
Ci0gICAgICBicmVhazsKLSAgICAgIGNhc2Uga1NlbnNvckNsaWVudF9TZW5zb3JSZWFkaW5nQ2hh
bmdlZF9OYW1lOgotICAgICAgICBpZiAoIW1lc3NhZ2UuZXhwZWN0c1Jlc3BvbnNlKCkgJiYgIW1l
c3NhZ2UuaXNSZXNwb25zZSgpKQotICAgICAgICAgIHBhcmFtc0NsYXNzID0gU2Vuc29yQ2xpZW50
X1NlbnNvclJlYWRpbmdDaGFuZ2VkX1BhcmFtczsKLSAgICAgIGJyZWFrOwotICAgIH0KLSAgICBp
ZiAocGFyYW1zQ2xhc3MgPT09IG51bGwpCi0gICAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRp
b25FcnJvci5OT05FOwotICAgIHJldHVybiBwYXJhbXNDbGFzcy52YWxpZGF0ZShtZXNzYWdlVmFs
aWRhdG9yLCBtZXNzYWdlVmFsaWRhdG9yLm1lc3NhZ2UuZ2V0SGVhZGVyTnVtQnl0ZXMoKSk7Ci0g
IH0KLQotICBmdW5jdGlvbiB2YWxpZGF0ZVNlbnNvckNsaWVudFJlc3BvbnNlKG1lc3NhZ2VWYWxp
ZGF0b3IpIHsKLSAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwotICB9
Ci0KLSAgdmFyIFNlbnNvckNsaWVudCA9IHsKLSAgICBuYW1lOiAnZGV2aWNlLm1vam9tLlNlbnNv
ckNsaWVudCcsCi0gICAga1ZlcnNpb246IDAsCi0gICAgcHRyQ2xhc3M6IFNlbnNvckNsaWVudFB0
ciwKLSAgICBwcm94eUNsYXNzOiBTZW5zb3JDbGllbnRQcm94eSwKLSAgICBzdHViQ2xhc3M6IFNl
bnNvckNsaWVudFN0dWIsCi0gICAgdmFsaWRhdGVSZXF1ZXN0OiB2YWxpZGF0ZVNlbnNvckNsaWVu
dFJlcXVlc3QsCi0gICAgdmFsaWRhdGVSZXNwb25zZTogbnVsbCwKLSAgfTsKLSAgU2Vuc29yQ2xp
ZW50U3R1Yi5wcm90b3R5cGUudmFsaWRhdG9yID0gdmFsaWRhdGVTZW5zb3JDbGllbnRSZXF1ZXN0
OwotICBTZW5zb3JDbGllbnRQcm94eS5wcm90b3R5cGUudmFsaWRhdG9yID0gbnVsbDsKLSAgZXhw
b3J0cy5TZW5zb3JUeXBlID0gU2Vuc29yVHlwZTsKLSAgZXhwb3J0cy5SZXBvcnRpbmdNb2RlID0g
UmVwb3J0aW5nTW9kZTsKLSAgZXhwb3J0cy5TZW5zb3JDb25maWd1cmF0aW9uID0gU2Vuc29yQ29u
ZmlndXJhdGlvbjsKLSAgZXhwb3J0cy5TZW5zb3IgPSBTZW5zb3I7Ci0gIGV4cG9ydHMuU2Vuc29y
UHRyID0gU2Vuc29yUHRyOwotICBleHBvcnRzLlNlbnNvckFzc29jaWF0ZWRQdHIgPSBTZW5zb3JB
c3NvY2lhdGVkUHRyOwotICBleHBvcnRzLlNlbnNvckNsaWVudCA9IFNlbnNvckNsaWVudDsKLSAg
ZXhwb3J0cy5TZW5zb3JDbGllbnRQdHIgPSBTZW5zb3JDbGllbnRQdHI7Ci0gIGV4cG9ydHMuU2Vu
c29yQ2xpZW50QXNzb2NpYXRlZFB0ciA9IFNlbnNvckNsaWVudEFzc29jaWF0ZWRQdHI7Ci19KSgp
OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL3NlbnNvcl9w
cm92aWRlci5tb2pvbS5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL3NlbnNvcl9wcm92aWRlci5tb2pvbS5qcwpkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDgyYjE1YTMwNGEuLjAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9t
aXVtL3NlbnNvcl9wcm92aWRlci5tb2pvbS5qcworKysgL2Rldi9udWxsCkBAIC0xLDQyOSArMCww
IEBACi0vLyBDb3B5cmlnaHQgMjAxNCBUaGUgQ2hyb21pdW0gQXV0aG9ycy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KLS8vIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNE
LXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKLS8vIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUu
Ci0KLSd1c2Ugc3RyaWN0JzsKLQotKGZ1bmN0aW9uKCkgewotICB2YXIgbW9qb21JZCA9ICdzZXJ2
aWNlcy9kZXZpY2UvcHVibGljL21vam9tL3NlbnNvcl9wcm92aWRlci5tb2pvbSc7Ci0gIGlmICht
b2pvLmludGVybmFsLmlzTW9qb21Mb2FkZWQobW9qb21JZCkpIHsKLSAgICBjb25zb2xlLndhcm4o
J1RoZSBmb2xsb3dpbmcgbW9qb20gaXMgbG9hZGVkIG11bHRpcGxlIHRpbWVzOiAnICsgbW9qb21J
ZCk7Ci0gICAgcmV0dXJuOwotICB9Ci0gIG1vam8uaW50ZXJuYWwubWFya01vam9tTG9hZGVkKG1v
am9tSWQpOwotICB2YXIgYmluZGluZ3MgPSBtb2pvOwotICB2YXIgYXNzb2NpYXRlZEJpbmRpbmdz
ID0gbW9qbzsKLSAgdmFyIGNvZGVjID0gbW9qby5pbnRlcm5hbDsKLSAgdmFyIHZhbGlkYXRvciA9
IG1vam8uaW50ZXJuYWw7Ci0KLSAgdmFyIGV4cG9ydHMgPSBtb2pvLmludGVybmFsLmV4cG9zZU5h
bWVzcGFjZSgnZGV2aWNlLm1vam9tJyk7Ci0gIHZhciBzZW5zb3IkID0KLSAgICAgIG1vam8uaW50
ZXJuYWwuZXhwb3NlTmFtZXNwYWNlKCdkZXZpY2UubW9qb20nKTsKLSAgaWYgKG1vam8uY29uZmln
LmF1dG9Mb2FkTW9qb21EZXBzKSB7Ci0gICAgbW9qby5pbnRlcm5hbC5sb2FkTW9qb21JZk5lY2Vz
c2FyeSgKLSAgICAgICAgJ3NlcnZpY2VzL2RldmljZS9wdWJsaWMvbW9qb20vc2Vuc29yLm1vam9t
JywgJ3NlbnNvci5tb2pvbS5qcycpOwotICB9Ci0KLQotICB2YXIgU2Vuc29yQ3JlYXRpb25SZXN1
bHQgPSB7fTsKLSAgU2Vuc29yQ3JlYXRpb25SZXN1bHQuU1VDQ0VTUyA9IDA7Ci0gIFNlbnNvckNy
ZWF0aW9uUmVzdWx0LkVSUk9SX05PVF9BVkFJTEFCTEUgPSBTZW5zb3JDcmVhdGlvblJlc3VsdC5T
VUNDRVNTICsgMTsKLSAgU2Vuc29yQ3JlYXRpb25SZXN1bHQuRVJST1JfTk9UX0FMTE9XRUQgPSBT
ZW5zb3JDcmVhdGlvblJlc3VsdC5FUlJPUl9OT1RfQVZBSUxBQkxFICsgMTsKLQotICBTZW5zb3JD
cmVhdGlvblJlc3VsdC5pc0tub3duRW51bVZhbHVlID0gZnVuY3Rpb24odmFsdWUpIHsKLSAgICBz
d2l0Y2ggKHZhbHVlKSB7Ci0gICAgY2FzZSAwOgotICAgIGNhc2UgMToKLSAgICBjYXNlIDI6Ci0g
ICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9Ci0gICAgcmV0dXJuIGZhbHNlOwotICB9OwotCi0gIFNl
bnNvckNyZWF0aW9uUmVzdWx0LnZhbGlkYXRlID0gZnVuY3Rpb24oZW51bVZhbHVlKSB7Ci0gICAg
dmFyIGlzRXh0ZW5zaWJsZSA9IGZhbHNlOwotICAgIGlmIChpc0V4dGVuc2libGUgfHwgdGhpcy5p
c0tub3duRW51bVZhbHVlKGVudW1WYWx1ZSkpCi0gICAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlk
YXRpb25FcnJvci5OT05FOwotCi0gICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3Iu
VU5LTk9XTl9FTlVNX1ZBTFVFOwotICB9OwotCi0gIGZ1bmN0aW9uIFNlbnNvckluaXRQYXJhbXMo
dmFsdWVzKSB7Ci0gICAgdGhpcy5pbml0RGVmYXVsdHNfKCk7Ci0gICAgdGhpcy5pbml0RmllbGRz
Xyh2YWx1ZXMpOwotICB9Ci0KLQotICBTZW5zb3JJbml0UGFyYW1zLmtSZWFkQnVmZmVyU2l6ZUZv
clRlc3RzID0gNDg7Ci0gIFNlbnNvckluaXRQYXJhbXMucHJvdG90eXBlLmluaXREZWZhdWx0c18g
PSBmdW5jdGlvbigpIHsKLSAgICB0aGlzLnNlbnNvciA9IG5ldyBzZW5zb3IkLlNlbnNvclB0cigp
OwotICAgIHRoaXMuY2xpZW50UmVjZWl2ZXIgPSBuZXcgYmluZGluZ3MuSW50ZXJmYWNlUmVxdWVz
dCgpOwotICAgIHRoaXMubWVtb3J5ID0gbnVsbDsKLSAgICB0aGlzLmJ1ZmZlck9mZnNldCA9IDA7
Ci0gICAgdGhpcy5tb2RlID0gMDsKLSAgICB0aGlzLmRlZmF1bHRDb25maWd1cmF0aW9uID0gbnVs
bDsKLSAgICB0aGlzLm1heGltdW1GcmVxdWVuY3kgPSAwOwotICAgIHRoaXMubWluaW11bUZyZXF1
ZW5jeSA9IDA7Ci0gIH07Ci0gIFNlbnNvckluaXRQYXJhbXMucHJvdG90eXBlLmluaXRGaWVsZHNf
ID0gZnVuY3Rpb24oZmllbGRzKSB7Ci0gICAgZm9yKHZhciBmaWVsZCBpbiBmaWVsZHMpIHsKLSAg
ICAgICAgaWYgKHRoaXMuaGFzT3duUHJvcGVydHkoZmllbGQpKQotICAgICAgICAgIHRoaXNbZmll
bGRdID0gZmllbGRzW2ZpZWxkXTsKLSAgICB9Ci0gIH07Ci0KLSAgU2Vuc29ySW5pdFBhcmFtcy52
YWxpZGF0ZSA9IGZ1bmN0aW9uKG1lc3NhZ2VWYWxpZGF0b3IsIG9mZnNldCkgewotICAgIHZhciBl
cnI7Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdEhlYWRlcihvZmZz
ZXQsIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3Iu
dmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICB2YXIga1Zl
cnNpb25TaXplcyA9IFsKLSAgICAgIHt2ZXJzaW9uOiAwLCBudW1CeXRlczogNjR9Ci0gICAgXTsK
LSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0VmVyc2lvbihvZmZzZXQs
IGtWZXJzaW9uU2l6ZXMpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJy
b3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0gICAgLy8gdmFsaWRhdGUgU2Vuc29y
SW5pdFBhcmFtcy5zZW5zb3IKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlSW50
ZXJmYWNlKG9mZnNldCArIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgMCwgZmFsc2UpOwotICAg
IGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0
dXJuIGVycjsKLQotCi0gICAgLy8gdmFsaWRhdGUgU2Vuc29ySW5pdFBhcmFtcy5jbGllbnRSZWNl
aXZlcgotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVJbnRlcmZhY2VSZXF1ZXN0
KG9mZnNldCArIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgOCwgZmFsc2UpCi0gICAgaWYgKGVy
ciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJy
OwotCi0KLSAgICAvLyB2YWxpZGF0ZSBTZW5zb3JJbml0UGFyYW1zLm1lbW9yeQotICAgIGVyciA9
IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVIYW5kbGUob2Zmc2V0ICsgY29kZWMua1N0cnVjdEhl
YWRlclNpemUgKyAxMiwgZmFsc2UpCi0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRp
b25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0KLQotICAgIC8vIHZhbGlkYXRl
IFNlbnNvckluaXRQYXJhbXMubW9kZQotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRh
dGVFbnVtKG9mZnNldCArIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgMjQsIHNlbnNvciQuUmVw
b3J0aW5nTW9kZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5O
T05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0KLSAgICAvLyB2YWxpZGF0ZSBTZW5zb3JJbml0
UGFyYW1zLmRlZmF1bHRDb25maWd1cmF0aW9uCi0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52
YWxpZGF0ZVN0cnVjdFBvaW50ZXIob2Zmc2V0ICsgY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyAz
Miwgc2Vuc29yJC5TZW5zb3JDb25maWd1cmF0aW9uLCBmYWxzZSk7Ci0gICAgaWYgKGVyciAhPT0g
dmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0K
LQotICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gIH07Ci0KLSAg
U2Vuc29ySW5pdFBhcmFtcy5lbmNvZGVkU2l6ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsg
NTY7Ci0KLSAgU2Vuc29ySW5pdFBhcmFtcy5kZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0g
ICAgdmFyIHBhY2tlZDsKLSAgICB2YXIgdmFsID0gbmV3IFNlbnNvckluaXRQYXJhbXMoKTsKLSAg
ICB2YXIgbnVtYmVyT2ZCeXRlcyA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhciB2ZXJz
aW9uID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFsLnNlbnNvciA9IGRlY29kZXIuZGVj
b2RlU3RydWN0KG5ldyBjb2RlYy5JbnRlcmZhY2Uoc2Vuc29yJC5TZW5zb3JQdHIpKTsKLSAgICB2
YWwuY2xpZW50UmVjZWl2ZXIgPSBkZWNvZGVyLmRlY29kZVN0cnVjdChjb2RlYy5JbnRlcmZhY2VS
ZXF1ZXN0KTsKLSAgICB2YWwubWVtb3J5ID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoY29kZWMuSGFu
ZGxlKTsKLSAgICB2YWwuYnVmZmVyT2Zmc2V0ID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoY29kZWMu
VWludDY0KTsKLSAgICB2YWwubW9kZSA9IGRlY29kZXIuZGVjb2RlU3RydWN0KGNvZGVjLkludDMy
KTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29k
ZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgdmFsLmRlZmF1bHRDb25maWd1
cmF0aW9uID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3RQb2ludGVyKHNlbnNvciQuU2Vuc29yQ29uZmln
dXJhdGlvbik7Ci0gICAgdmFsLm1heGltdW1GcmVxdWVuY3kgPSBkZWNvZGVyLmRlY29kZVN0cnVj
dChjb2RlYy5Eb3VibGUpOwotICAgIHZhbC5taW5pbXVtRnJlcXVlbmN5ID0gZGVjb2Rlci5kZWNv
ZGVTdHJ1Y3QoY29kZWMuRG91YmxlKTsKLSAgICByZXR1cm4gdmFsOwotICB9OwotCi0gIFNlbnNv
ckluaXRQYXJhbXMuZW5jb2RlID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAgdmFyIHBh
Y2tlZDsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKFNlbnNvckluaXRQYXJhbXMuZW5jb2RlZFNp
emUpOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoMCk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1
Y3QobmV3IGNvZGVjLkludGVyZmFjZShzZW5zb3IkLlNlbnNvclB0ciksIHZhbC5zZW5zb3IpOwot
ICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNvZGVjLkludGVyZmFjZVJlcXVlc3QsIHZhbC5jbGll
bnRSZWNlaXZlcik7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3QoY29kZWMuSGFuZGxlLCB2YWwu
bWVtb3J5KTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdChjb2RlYy5VaW50NjQsIHZhbC5idWZm
ZXJPZmZzZXQpOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNvZGVjLkludDMyLCB2YWwubW9k
ZSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNv
ZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuZW5jb2RlU3Ry
dWN0UG9pbnRlcihzZW5zb3IkLlNlbnNvckNvbmZpZ3VyYXRpb24sIHZhbC5kZWZhdWx0Q29uZmln
dXJhdGlvbik7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3QoY29kZWMuRG91YmxlLCB2YWwubWF4
aW11bUZyZXF1ZW5jeSk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3QoY29kZWMuRG91YmxlLCB2
YWwubWluaW11bUZyZXF1ZW5jeSk7Ci0gIH07Ci0gIGZ1bmN0aW9uIFNlbnNvclByb3ZpZGVyX0dl
dFNlbnNvcl9QYXJhbXModmFsdWVzKSB7Ci0gICAgdGhpcy5pbml0RGVmYXVsdHNfKCk7Ci0gICAg
dGhpcy5pbml0RmllbGRzXyh2YWx1ZXMpOwotICB9Ci0KLQotICBTZW5zb3JQcm92aWRlcl9HZXRT
ZW5zb3JfUGFyYW1zLnByb3RvdHlwZS5pbml0RGVmYXVsdHNfID0gZnVuY3Rpb24oKSB7Ci0gICAg
dGhpcy50eXBlID0gMDsKLSAgfTsKLSAgU2Vuc29yUHJvdmlkZXJfR2V0U2Vuc29yX1BhcmFtcy5w
cm90b3R5cGUuaW5pdEZpZWxkc18gPSBmdW5jdGlvbihmaWVsZHMpIHsKLSAgICBmb3IodmFyIGZp
ZWxkIGluIGZpZWxkcykgewotICAgICAgICBpZiAodGhpcy5oYXNPd25Qcm9wZXJ0eShmaWVsZCkp
Ci0gICAgICAgICAgdGhpc1tmaWVsZF0gPSBmaWVsZHNbZmllbGRdOwotICAgIH0KLSAgfTsKLQot
ICBTZW5zb3JQcm92aWRlcl9HZXRTZW5zb3JfUGFyYW1zLnZhbGlkYXRlID0gZnVuY3Rpb24obWVz
c2FnZVZhbGlkYXRvciwgb2Zmc2V0KSB7Ci0gICAgdmFyIGVycjsKLSAgICBlcnIgPSBtZXNzYWdl
VmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0SGVhZGVyKG9mZnNldCwgY29kZWMua1N0cnVjdEhlYWRl
clNpemUpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkK
LSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHZhciBrVmVyc2lvblNpemVzID0gWwotICAgICAg
e3ZlcnNpb246IDAsIG51bUJ5dGVzOiAxNn0KLSAgICBdOwotICAgIGVyciA9IG1lc3NhZ2VWYWxp
ZGF0b3IudmFsaWRhdGVTdHJ1Y3RWZXJzaW9uKG9mZnNldCwga1ZlcnNpb25TaXplcyk7Ci0gICAg
aWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1
cm4gZXJyOwotCi0KLSAgICAvLyB2YWxpZGF0ZSBTZW5zb3JQcm92aWRlcl9HZXRTZW5zb3JfUGFy
YW1zLnR5cGUKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlRW51bShvZmZzZXQg
KyBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDAsIHNlbnNvciQuU2Vuc29yVHlwZSk7Ci0gICAg
aWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1
cm4gZXJyOwotCi0gICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAg
fTsKLQotICBTZW5zb3JQcm92aWRlcl9HZXRTZW5zb3JfUGFyYW1zLmVuY29kZWRTaXplID0gY29k
ZWMua1N0cnVjdEhlYWRlclNpemUgKyA4OwotCi0gIFNlbnNvclByb3ZpZGVyX0dldFNlbnNvcl9Q
YXJhbXMuZGVjb2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHZhciBwYWNrZWQ7Ci0gICAg
dmFyIHZhbCA9IG5ldyBTZW5zb3JQcm92aWRlcl9HZXRTZW5zb3JfUGFyYW1zKCk7Ci0gICAgdmFy
IG51bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YXIgdmVyc2lvbiA9
IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhbC50eXBlID0gZGVjb2Rlci5kZWNvZGVTdHJ1
Y3QoY29kZWMuSW50MzIpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAo
MSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICByZXR1
cm4gdmFsOwotICB9OwotCi0gIFNlbnNvclByb3ZpZGVyX0dldFNlbnNvcl9QYXJhbXMuZW5jb2Rl
ID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICBlbmNvZGVy
LndyaXRlVWludDMyKFNlbnNvclByb3ZpZGVyX0dldFNlbnNvcl9QYXJhbXMuZW5jb2RlZFNpemUp
OwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoMCk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3Qo
Y29kZWMuSW50MzIsIHZhbC50eXBlKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rl
ci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0g
IH07Ci0gIGZ1bmN0aW9uIFNlbnNvclByb3ZpZGVyX0dldFNlbnNvcl9SZXNwb25zZVBhcmFtcyh2
YWx1ZXMpIHsKLSAgICB0aGlzLmluaXREZWZhdWx0c18oKTsKLSAgICB0aGlzLmluaXRGaWVsZHNf
KHZhbHVlcyk7Ci0gIH0KLQotCi0gIFNlbnNvclByb3ZpZGVyX0dldFNlbnNvcl9SZXNwb25zZVBh
cmFtcy5wcm90b3R5cGUuaW5pdERlZmF1bHRzXyA9IGZ1bmN0aW9uKCkgewotICAgIHRoaXMucmVz
dWx0ID0gMDsKLSAgICB0aGlzLmluaXRQYXJhbXMgPSBudWxsOwotICB9OwotICBTZW5zb3JQcm92
aWRlcl9HZXRTZW5zb3JfUmVzcG9uc2VQYXJhbXMucHJvdG90eXBlLmluaXRGaWVsZHNfID0gZnVu
Y3Rpb24oZmllbGRzKSB7Ci0gICAgZm9yKHZhciBmaWVsZCBpbiBmaWVsZHMpIHsKLSAgICAgICAg
aWYgKHRoaXMuaGFzT3duUHJvcGVydHkoZmllbGQpKQotICAgICAgICAgIHRoaXNbZmllbGRdID0g
ZmllbGRzW2ZpZWxkXTsKLSAgICB9Ci0gIH07Ci0KLSAgU2Vuc29yUHJvdmlkZXJfR2V0U2Vuc29y
X1Jlc3BvbnNlUGFyYW1zLnZhbGlkYXRlID0gZnVuY3Rpb24obWVzc2FnZVZhbGlkYXRvciwgb2Zm
c2V0KSB7Ci0gICAgdmFyIGVycjsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRl
U3RydWN0SGVhZGVyKG9mZnNldCwgY29kZWMua1N0cnVjdEhlYWRlclNpemUpOwotICAgIGlmIChl
cnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVy
cjsKLQotICAgIHZhciBrVmVyc2lvblNpemVzID0gWwotICAgICAge3ZlcnNpb246IDAsIG51bUJ5
dGVzOiAyNH0KLSAgICBdOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1
Y3RWZXJzaW9uKG9mZnNldCwga1ZlcnNpb25TaXplcyk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRh
dG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0KLSAgICAv
LyB2YWxpZGF0ZSBTZW5zb3JQcm92aWRlcl9HZXRTZW5zb3JfUmVzcG9uc2VQYXJhbXMucmVzdWx0
Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZUVudW0ob2Zmc2V0ICsgY29kZWMu
a1N0cnVjdEhlYWRlclNpemUgKyAwLCBTZW5zb3JDcmVhdGlvblJlc3VsdCk7Ci0gICAgaWYgKGVy
ciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJy
OwotCi0KLSAgICAvLyB2YWxpZGF0ZSBTZW5zb3JQcm92aWRlcl9HZXRTZW5zb3JfUmVzcG9uc2VQ
YXJhbXMuaW5pdFBhcmFtcwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1
Y3RQb2ludGVyKG9mZnNldCArIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgOCwgU2Vuc29ySW5p
dFBhcmFtcywgdHJ1ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJv
ci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgcmV0dXJuIHZhbGlkYXRvci52YWxp
ZGF0aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQotICBTZW5zb3JQcm92aWRlcl9HZXRTZW5zb3JfUmVz
cG9uc2VQYXJhbXMuZW5jb2RlZFNpemUgPSBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDE2Owot
Ci0gIFNlbnNvclByb3ZpZGVyX0dldFNlbnNvcl9SZXNwb25zZVBhcmFtcy5kZWNvZGUgPSBmdW5j
dGlvbihkZWNvZGVyKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICB2YXIgdmFsID0gbmV3IFNlbnNv
clByb3ZpZGVyX0dldFNlbnNvcl9SZXNwb25zZVBhcmFtcygpOwotICAgIHZhciBudW1iZXJPZkJ5
dGVzID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFyIHZlcnNpb24gPSBkZWNvZGVyLnJl
YWRVaW50MzIoKTsKLSAgICB2YWwucmVzdWx0ID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoY29kZWMu
SW50MzIpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAg
ZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICB2YWwuaW5pdFBhcmFt
cyA9IGRlY29kZXIuZGVjb2RlU3RydWN0UG9pbnRlcihTZW5zb3JJbml0UGFyYW1zKTsKLSAgICBy
ZXR1cm4gdmFsOwotICB9OwotCi0gIFNlbnNvclByb3ZpZGVyX0dldFNlbnNvcl9SZXNwb25zZVBh
cmFtcy5lbmNvZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2YWwpIHsKLSAgICB2YXIgcGFja2VkOwot
ICAgIGVuY29kZXIud3JpdGVVaW50MzIoU2Vuc29yUHJvdmlkZXJfR2V0U2Vuc29yX1Jlc3BvbnNl
UGFyYW1zLmVuY29kZWRTaXplKTsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKDApOwotICAgIGVu
Y29kZXIuZW5jb2RlU3RydWN0KGNvZGVjLkludDMyLCB2YWwucmVzdWx0KTsKLSAgICBlbmNvZGVy
LnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAg
ICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3RQb2ludGVyKFNlbnNv
ckluaXRQYXJhbXMsIHZhbC5pbml0UGFyYW1zKTsKLSAgfTsKLSAgdmFyIGtTZW5zb3JQcm92aWRl
cl9HZXRTZW5zb3JfTmFtZSA9IDA7Ci0KLSAgZnVuY3Rpb24gU2Vuc29yUHJvdmlkZXJQdHIoaGFu
ZGxlT3JQdHJJbmZvKSB7Ci0gICAgdGhpcy5wdHIgPSBuZXcgYmluZGluZ3MuSW50ZXJmYWNlUHRy
Q29udHJvbGxlcihTZW5zb3JQcm92aWRlciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZU9yUHRySW5mbyk7Ci0gIH0KLQotICBmdW5jdGlv
biBTZW5zb3JQcm92aWRlckFzc29jaWF0ZWRQdHIoYXNzb2NpYXRlZEludGVyZmFjZVB0ckluZm8p
IHsKLSAgICB0aGlzLnB0ciA9IG5ldyBhc3NvY2lhdGVkQmluZGluZ3MuQXNzb2NpYXRlZEludGVy
ZmFjZVB0ckNvbnRyb2xsZXIoCi0gICAgICAgIFNlbnNvclByb3ZpZGVyLCBhc3NvY2lhdGVkSW50
ZXJmYWNlUHRySW5mbyk7Ci0gIH0KLQotICBTZW5zb3JQcm92aWRlckFzc29jaWF0ZWRQdHIucHJv
dG90eXBlID0KLSAgICAgIE9iamVjdC5jcmVhdGUoU2Vuc29yUHJvdmlkZXJQdHIucHJvdG90eXBl
KTsKLSAgU2Vuc29yUHJvdmlkZXJBc3NvY2lhdGVkUHRyLnByb3RvdHlwZS5jb25zdHJ1Y3RvciA9
Ci0gICAgICBTZW5zb3JQcm92aWRlckFzc29jaWF0ZWRQdHI7Ci0KLSAgZnVuY3Rpb24gU2Vuc29y
UHJvdmlkZXJQcm94eShyZWNlaXZlcikgewotICAgIHRoaXMucmVjZWl2ZXJfID0gcmVjZWl2ZXI7
Ci0gIH0KLSAgU2Vuc29yUHJvdmlkZXJQdHIucHJvdG90eXBlLmdldFNlbnNvciA9IGZ1bmN0aW9u
KCkgewotICAgIHJldHVybiBTZW5zb3JQcm92aWRlclByb3h5LnByb3RvdHlwZS5nZXRTZW5zb3IK
LSAgICAgICAgLmFwcGx5KHRoaXMucHRyLmdldFByb3h5KCksIGFyZ3VtZW50cyk7Ci0gIH07Ci0K
LSAgU2Vuc29yUHJvdmlkZXJQcm94eS5wcm90b3R5cGUuZ2V0U2Vuc29yID0gZnVuY3Rpb24odHlw
ZSkgewotICAgIHZhciBwYXJhbXMgPSBuZXcgU2Vuc29yUHJvdmlkZXJfR2V0U2Vuc29yX1BhcmFt
cygpOwotICAgIHBhcmFtcy50eXBlID0gdHlwZTsKLSAgICByZXR1cm4gbmV3IFByb21pc2UoZnVu
Y3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7Ci0gICAgICB2YXIgYnVpbGRlciA9IG5ldyBjb2RlYy5N
ZXNzYWdlVjFCdWlsZGVyKAotICAgICAgICAgIGtTZW5zb3JQcm92aWRlcl9HZXRTZW5zb3JfTmFt
ZSwKLSAgICAgICAgICBjb2RlYy5hbGlnbihTZW5zb3JQcm92aWRlcl9HZXRTZW5zb3JfUGFyYW1z
LmVuY29kZWRTaXplKSwKLSAgICAgICAgICBjb2RlYy5rTWVzc2FnZUV4cGVjdHNSZXNwb25zZSwg
MCk7Ci0gICAgICBidWlsZGVyLmVuY29kZVN0cnVjdChTZW5zb3JQcm92aWRlcl9HZXRTZW5zb3Jf
UGFyYW1zLCBwYXJhbXMpOwotICAgICAgdmFyIG1lc3NhZ2UgPSBidWlsZGVyLmZpbmlzaCgpOwot
ICAgICAgdGhpcy5yZWNlaXZlcl8uYWNjZXB0QW5kRXhwZWN0UmVzcG9uc2UobWVzc2FnZSkudGhl
bihmdW5jdGlvbihtZXNzYWdlKSB7Ci0gICAgICAgIHZhciByZWFkZXIgPSBuZXcgY29kZWMuTWVz
c2FnZVJlYWRlcihtZXNzYWdlKTsKLSAgICAgICAgdmFyIHJlc3BvbnNlUGFyYW1zID0KLSAgICAg
ICAgICAgIHJlYWRlci5kZWNvZGVTdHJ1Y3QoU2Vuc29yUHJvdmlkZXJfR2V0U2Vuc29yX1Jlc3Bv
bnNlUGFyYW1zKTsKLSAgICAgICAgcmVzb2x2ZShyZXNwb25zZVBhcmFtcyk7Ci0gICAgICB9KS5j
YXRjaChmdW5jdGlvbihyZXN1bHQpIHsKLSAgICAgICAgcmVqZWN0KEVycm9yKCJDb25uZWN0aW9u
IGVycm9yOiAiICsgcmVzdWx0KSk7Ci0gICAgICB9KTsKLSAgICB9LmJpbmQodGhpcykpOwotICB9
OwotCi0gIGZ1bmN0aW9uIFNlbnNvclByb3ZpZGVyU3R1YihkZWxlZ2F0ZSkgewotICAgIHRoaXMu
ZGVsZWdhdGVfID0gZGVsZWdhdGU7Ci0gIH0KLSAgU2Vuc29yUHJvdmlkZXJTdHViLnByb3RvdHlw
ZS5nZXRTZW5zb3IgPSBmdW5jdGlvbih0eXBlKSB7Ci0gICAgcmV0dXJuIHRoaXMuZGVsZWdhdGVf
ICYmIHRoaXMuZGVsZWdhdGVfLmdldFNlbnNvciAmJiB0aGlzLmRlbGVnYXRlXy5nZXRTZW5zb3Io
dHlwZSk7Ci0gIH0KLQotICBTZW5zb3JQcm92aWRlclN0dWIucHJvdG90eXBlLmFjY2VwdCA9IGZ1
bmN0aW9uKG1lc3NhZ2UpIHsKLSAgICB2YXIgcmVhZGVyID0gbmV3IGNvZGVjLk1lc3NhZ2VSZWFk
ZXIobWVzc2FnZSk7Ci0gICAgc3dpdGNoIChyZWFkZXIubWVzc2FnZU5hbWUpIHsKLSAgICBkZWZh
dWx0OgotICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0KLSAgfTsKLQotICBTZW5zb3JQcm92aWRl
clN0dWIucHJvdG90eXBlLmFjY2VwdFdpdGhSZXNwb25kZXIgPQotICAgICAgZnVuY3Rpb24obWVz
c2FnZSwgcmVzcG9uZGVyKSB7Ci0gICAgdmFyIHJlYWRlciA9IG5ldyBjb2RlYy5NZXNzYWdlUmVh
ZGVyKG1lc3NhZ2UpOwotICAgIHN3aXRjaCAocmVhZGVyLm1lc3NhZ2VOYW1lKSB7Ci0gICAgY2Fz
ZSBrU2Vuc29yUHJvdmlkZXJfR2V0U2Vuc29yX05hbWU6Ci0gICAgICB2YXIgcGFyYW1zID0gcmVh
ZGVyLmRlY29kZVN0cnVjdChTZW5zb3JQcm92aWRlcl9HZXRTZW5zb3JfUGFyYW1zKTsKLSAgICAg
IHRoaXMuZ2V0U2Vuc29yKHBhcmFtcy50eXBlKS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0g
ICAgICAgIHZhciByZXNwb25zZVBhcmFtcyA9Ci0gICAgICAgICAgICBuZXcgU2Vuc29yUHJvdmlk
ZXJfR2V0U2Vuc29yX1Jlc3BvbnNlUGFyYW1zKCk7Ci0gICAgICAgIHJlc3BvbnNlUGFyYW1zLnJl
c3VsdCA9IHJlc3BvbnNlLnJlc3VsdDsKLSAgICAgICAgcmVzcG9uc2VQYXJhbXMuaW5pdFBhcmFt
cyA9IHJlc3BvbnNlLmluaXRQYXJhbXM7Ci0gICAgICAgIHZhciBidWlsZGVyID0gbmV3IGNvZGVj
Lk1lc3NhZ2VWMUJ1aWxkZXIoCi0gICAgICAgICAgICBrU2Vuc29yUHJvdmlkZXJfR2V0U2Vuc29y
X05hbWUsCi0gICAgICAgICAgICBjb2RlYy5hbGlnbihTZW5zb3JQcm92aWRlcl9HZXRTZW5zb3Jf
UmVzcG9uc2VQYXJhbXMuZW5jb2RlZFNpemUpLAotICAgICAgICAgICAgY29kZWMua01lc3NhZ2VJ
c1Jlc3BvbnNlLCByZWFkZXIucmVxdWVzdElEKTsKLSAgICAgICAgYnVpbGRlci5lbmNvZGVTdHJ1
Y3QoU2Vuc29yUHJvdmlkZXJfR2V0U2Vuc29yX1Jlc3BvbnNlUGFyYW1zLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICByZXNwb25zZVBhcmFtcyk7Ci0gICAgICAgIHZhciBtZXNzYWdlID0g
YnVpbGRlci5maW5pc2goKTsKLSAgICAgICAgcmVzcG9uZGVyLmFjY2VwdChtZXNzYWdlKTsKLSAg
ICAgIH0pOwotICAgICAgcmV0dXJuIHRydWU7Ci0gICAgZGVmYXVsdDoKLSAgICAgIHJldHVybiBm
YWxzZTsKLSAgICB9Ci0gIH07Ci0KLSAgZnVuY3Rpb24gdmFsaWRhdGVTZW5zb3JQcm92aWRlclJl
cXVlc3QobWVzc2FnZVZhbGlkYXRvcikgewotICAgIHZhciBtZXNzYWdlID0gbWVzc2FnZVZhbGlk
YXRvci5tZXNzYWdlOwotICAgIHZhciBwYXJhbXNDbGFzcyA9IG51bGw7Ci0gICAgc3dpdGNoICht
ZXNzYWdlLmdldE5hbWUoKSkgewotICAgICAgY2FzZSBrU2Vuc29yUHJvdmlkZXJfR2V0U2Vuc29y
X05hbWU6Ci0gICAgICAgIGlmIChtZXNzYWdlLmV4cGVjdHNSZXNwb25zZSgpKQotICAgICAgICAg
IHBhcmFtc0NsYXNzID0gU2Vuc29yUHJvdmlkZXJfR2V0U2Vuc29yX1BhcmFtczsKLSAgICAgIGJy
ZWFrOwotICAgIH0KLSAgICBpZiAocGFyYW1zQ2xhc3MgPT09IG51bGwpCi0gICAgICByZXR1cm4g
dmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwotICAgIHJldHVybiBwYXJhbXNDbGFzcy52
YWxpZGF0ZShtZXNzYWdlVmFsaWRhdG9yLCBtZXNzYWdlVmFsaWRhdG9yLm1lc3NhZ2UuZ2V0SGVh
ZGVyTnVtQnl0ZXMoKSk7Ci0gIH0KLQotICBmdW5jdGlvbiB2YWxpZGF0ZVNlbnNvclByb3ZpZGVy
UmVzcG9uc2UobWVzc2FnZVZhbGlkYXRvcikgewotICAgdmFyIG1lc3NhZ2UgPSBtZXNzYWdlVmFs
aWRhdG9yLm1lc3NhZ2U7Ci0gICB2YXIgcGFyYW1zQ2xhc3MgPSBudWxsOwotICAgc3dpdGNoICht
ZXNzYWdlLmdldE5hbWUoKSkgewotICAgICAgY2FzZSBrU2Vuc29yUHJvdmlkZXJfR2V0U2Vuc29y
X05hbWU6Ci0gICAgICAgIGlmIChtZXNzYWdlLmlzUmVzcG9uc2UoKSkKLSAgICAgICAgICBwYXJh
bXNDbGFzcyA9IFNlbnNvclByb3ZpZGVyX0dldFNlbnNvcl9SZXNwb25zZVBhcmFtczsKLSAgICAg
ICAgYnJlYWs7Ci0gICAgfQotICAgIGlmIChwYXJhbXNDbGFzcyA9PT0gbnVsbCkKLSAgICAgIHJl
dHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gICAgcmV0dXJuIHBhcmFtc0Ns
YXNzLnZhbGlkYXRlKG1lc3NhZ2VWYWxpZGF0b3IsIG1lc3NhZ2VWYWxpZGF0b3IubWVzc2FnZS5n
ZXRIZWFkZXJOdW1CeXRlcygpKTsKLSAgfQotCi0gIHZhciBTZW5zb3JQcm92aWRlciA9IHsKLSAg
ICBuYW1lOiAnZGV2aWNlLm1vam9tLlNlbnNvclByb3ZpZGVyJywKLSAgICBrVmVyc2lvbjogMCwK
LSAgICBwdHJDbGFzczogU2Vuc29yUHJvdmlkZXJQdHIsCi0gICAgcHJveHlDbGFzczogU2Vuc29y
UHJvdmlkZXJQcm94eSwKLSAgICBzdHViQ2xhc3M6IFNlbnNvclByb3ZpZGVyU3R1YiwKLSAgICB2
YWxpZGF0ZVJlcXVlc3Q6IHZhbGlkYXRlU2Vuc29yUHJvdmlkZXJSZXF1ZXN0LAotICAgIHZhbGlk
YXRlUmVzcG9uc2U6IHZhbGlkYXRlU2Vuc29yUHJvdmlkZXJSZXNwb25zZSwKLSAgfTsKLSAgU2Vu
c29yUHJvdmlkZXJTdHViLnByb3RvdHlwZS52YWxpZGF0b3IgPSB2YWxpZGF0ZVNlbnNvclByb3Zp
ZGVyUmVxdWVzdDsKLSAgU2Vuc29yUHJvdmlkZXJQcm94eS5wcm90b3R5cGUudmFsaWRhdG9yID0g
dmFsaWRhdGVTZW5zb3JQcm92aWRlclJlc3BvbnNlOwotICBleHBvcnRzLlNlbnNvckNyZWF0aW9u
UmVzdWx0ID0gU2Vuc29yQ3JlYXRpb25SZXN1bHQ7Ci0gIGV4cG9ydHMuU2Vuc29ySW5pdFBhcmFt
cyA9IFNlbnNvckluaXRQYXJhbXM7Ci0gIGV4cG9ydHMuU2Vuc29yUHJvdmlkZXIgPSBTZW5zb3JQ
cm92aWRlcjsKLSAgZXhwb3J0cy5TZW5zb3JQcm92aWRlclB0ciA9IFNlbnNvclByb3ZpZGVyUHRy
OwotICBleHBvcnRzLlNlbnNvclByb3ZpZGVyQXNzb2NpYXRlZFB0ciA9IFNlbnNvclByb3ZpZGVy
QXNzb2NpYXRlZFB0cjsKLX0pKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS9zbXNfbW9jay5qcyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9t
aXVtL3Ntc19tb2NrLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkODQ3NmNmMzdh
ZC4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vc21zX21vY2suanMKKysrIC9kZXYvbnVsbApAQCAt
MSw1MiArMCwwIEBACi0ndXNlIHN0cmljdCc7Ci0KLWNvbnN0IFNtc1Byb3ZpZGVyID0gKCgpID0+
IHsKLQotICBjbGFzcyBNb2NrU21zUmVjZWl2ZXIgewotCi0gICAgY29uc3RydWN0b3IoKSB7Ci0g
ICAgICB0aGlzLm1vam9SZWNlaXZlcl8gPSBuZXcgYmxpbmsubW9qb20uU21zUmVjZWl2ZXJSZWNl
aXZlcih0aGlzKTsKLQotICAgICAgdGhpcy5pbnRlcmNlcHRvcl8gPSBuZXcgTW9qb0ludGVyZmFj
ZUludGVyY2VwdG9yKAotICAgICAgICAgIGJsaW5rLm1vam9tLlNtc1JlY2VpdmVyLiRpbnRlcmZh
Y2VOYW1lLCAiY29udGV4dCIsIHRydWUpOwotCi0gICAgICB0aGlzLmludGVyY2VwdG9yXy5vbmlu
dGVyZmFjZXJlcXVlc3QgPSAoZSkgPT4gewotICAgICAgICB0aGlzLm1vam9SZWNlaXZlcl8uJC5i
aW5kSGFuZGxlKGUuaGFuZGxlKTsKLSAgICAgIH0KLSAgICAgIHRoaXMuaW50ZXJjZXB0b3JfLnN0
YXJ0KCk7Ci0KLSAgICAgIHRoaXMucmV0dXJuVmFsdWVzXyA9IHt9OwotICAgIH0KLQotICAgIGFz
eW5jIHJlY2VpdmUoKSB7Ci0gICAgICBsZXQgY2FsbCA9IHRoaXMucmV0dXJuVmFsdWVzXy5yZWNl
aXZlID8KLSAgICAgICAgICB0aGlzLnJldHVyblZhbHVlc18ucmVjZWl2ZS5zaGlmdCgpIDogbnVs
bDsKLSAgICAgIGlmICghY2FsbCkKLSAgICAgICAgcmV0dXJuOwotICAgICAgcmV0dXJuIGNhbGwo
KTsKLSAgICB9Ci0KLSAgICBhc3luYyBhYm9ydCgpIHt9Ci0KLSAgICBwdXNoUmV0dXJuVmFsdWVz
Rm9yVGVzdGluZyhjYWxsTmFtZSwgdmFsdWUpIHsKLSAgICAgIHRoaXMucmV0dXJuVmFsdWVzX1tj
YWxsTmFtZV0gPSB0aGlzLnJldHVyblZhbHVlc19bY2FsbE5hbWVdIHx8IFtdOwotICAgICAgdGhp
cy5yZXR1cm5WYWx1ZXNfW2NhbGxOYW1lXS5wdXNoKHZhbHVlKTsKLSAgICAgIHJldHVybiB0aGlz
OwotICAgIH0KLQotICB9Ci0KLSAgY29uc3QgbW9ja1Ntc1JlY2VpdmVyID0gbmV3IE1vY2tTbXNS
ZWNlaXZlcigpOwotCi0gIGNsYXNzIFNtc1Byb3ZpZGVyQ2hyb21pdW0gewotICAgIGNvbnN0cnVj
dG9yKCkgewotICAgICAgT2JqZWN0LmZyZWV6ZSh0aGlzKTsgLy8gTWFrZSBpdCBpbW11dGFibGUu
Ci0gICAgfQotCi0gICAgcHVzaFJldHVyblZhbHVlc0ZvclRlc3RpbmcoY2FsbE5hbWUsIGNhbGxi
YWNrKSB7Ci0gICAgICBtb2NrU21zUmVjZWl2ZXIucHVzaFJldHVyblZhbHVlc0ZvclRlc3Rpbmco
Y2FsbE5hbWUsIGNhbGxiYWNrKTsKLSAgICB9Ci0gIH0KLQotICByZXR1cm4gU21zUHJvdmlkZXJD
aHJvbWl1bTsKLX0pKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS9zdHJpbmcxNi5tb2pvbS5qcyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9t
aXVtL3N0cmluZzE2Lm1vam9tLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyNTM3
N2U2NjU3MS4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vc3RyaW5nMTYubW9qb20uanMKKysrIC9k
ZXYvbnVsbApAQCAtMSwxNDEgKzAsMCBAQAotLy8gQ29weXJpZ2h0IDIwMTQgVGhlIENocm9taXVt
IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0vLyBVc2Ugb2YgdGhpcyBzb3VyY2UgY29k
ZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCi0vLyBmb3Vu
ZCBpbiB0aGUgTElDRU5TRSBmaWxlLgotCi0ndXNlIHN0cmljdCc7Ci0KLShmdW5jdGlvbigpIHsK
LSAgdmFyIG1vam9tSWQgPSAnbW9qby9wdWJsaWMvbW9qb20vYmFzZS9zdHJpbmcxNi5tb2pvbSc7
Ci0gIGlmIChtb2pvLmludGVybmFsLmlzTW9qb21Mb2FkZWQobW9qb21JZCkpIHsKLSAgICBjb25z
b2xlLndhcm4oJ1RoZSBmb2xsb3dpbmcgbW9qb20gaXMgbG9hZGVkIG11bHRpcGxlIHRpbWVzOiAn
ICsgbW9qb21JZCk7Ci0gICAgcmV0dXJuOwotICB9Ci0gIG1vam8uaW50ZXJuYWwubWFya01vam9t
TG9hZGVkKG1vam9tSWQpOwotICB2YXIgYmluZGluZ3MgPSBtb2pvOwotICB2YXIgYXNzb2NpYXRl
ZEJpbmRpbmdzID0gbW9qbzsKLSAgdmFyIGNvZGVjID0gbW9qby5pbnRlcm5hbDsKLSAgdmFyIHZh
bGlkYXRvciA9IG1vam8uaW50ZXJuYWw7Ci0KLSAgdmFyIGV4cG9ydHMgPSBtb2pvLmludGVybmFs
LmV4cG9zZU5hbWVzcGFjZSgnbW9qb0Jhc2UubW9qb20nKTsKLSAgdmFyIGJpZ19idWZmZXIkID0K
LSAgICAgIG1vam8uaW50ZXJuYWwuZXhwb3NlTmFtZXNwYWNlKCdtb2pvQmFzZS5tb2pvbScpOwot
ICBpZiAobW9qby5jb25maWcuYXV0b0xvYWRNb2pvbURlcHMpIHsKLSAgICBtb2pvLmludGVybmFs
LmxvYWRNb2pvbUlmTmVjZXNzYXJ5KAotICAgICAgICAnbW9qby9wdWJsaWMvbW9qb20vYmFzZS9i
aWdfYnVmZmVyLm1vam9tJywgJ2JpZ19idWZmZXIubW9qb20uanMnKTsKLSAgfQotCi0KLQotICBm
dW5jdGlvbiBTdHJpbmcxNih2YWx1ZXMpIHsKLSAgICB0aGlzLmluaXREZWZhdWx0c18oKTsKLSAg
ICB0aGlzLmluaXRGaWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0gIFN0cmluZzE2LnByb3RvdHlw
ZS5pbml0RGVmYXVsdHNfID0gZnVuY3Rpb24oKSB7Ci0gICAgdGhpcy5kYXRhID0gbnVsbDsKLSAg
fTsKLSAgU3RyaW5nMTYucHJvdG90eXBlLmluaXRGaWVsZHNfID0gZnVuY3Rpb24oZmllbGRzKSB7
Ci0gICAgZm9yKHZhciBmaWVsZCBpbiBmaWVsZHMpIHsKLSAgICAgICAgaWYgKHRoaXMuaGFzT3du
UHJvcGVydHkoZmllbGQpKQotICAgICAgICAgIHRoaXNbZmllbGRdID0gZmllbGRzW2ZpZWxkXTsK
LSAgICB9Ci0gIH07Ci0KLSAgU3RyaW5nMTYudmFsaWRhdGUgPSBmdW5jdGlvbihtZXNzYWdlVmFs
aWRhdG9yLCBvZmZzZXQpIHsKLSAgICB2YXIgZXJyOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0
b3IudmFsaWRhdGVTdHJ1Y3RIZWFkZXIob2Zmc2V0LCBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSk7
Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAg
ICByZXR1cm4gZXJyOwotCi0gICAgdmFyIGtWZXJzaW9uU2l6ZXMgPSBbCi0gICAgICB7dmVyc2lv
bjogMCwgbnVtQnl0ZXM6IDE2fQotICAgIF07Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52
YWxpZGF0ZVN0cnVjdFZlcnNpb24ob2Zmc2V0LCBrVmVyc2lvblNpemVzKTsKLSAgICBpZiAoZXJy
ICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7
Ci0KLQotICAgIC8vIHZhbGlkYXRlIFN0cmluZzE2LmRhdGEKLSAgICBlcnIgPSBtZXNzYWdlVmFs
aWRhdG9yLnZhbGlkYXRlQXJyYXlQb2ludGVyKG9mZnNldCArIGNvZGVjLmtTdHJ1Y3RIZWFkZXJT
aXplICsgMCwgMiwgY29kZWMuVWludDE2LCBmYWxzZSwgWzBdLCAwKTsKLSAgICBpZiAoZXJyICE9
PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0K
LSAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIFN0
cmluZzE2LmVuY29kZWRTaXplID0gY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyA4OwotCi0gIFN0
cmluZzE2LmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICB2YXIgcGFja2VkOwotICAg
IHZhciB2YWwgPSBuZXcgU3RyaW5nMTYoKTsKLSAgICB2YXIgbnVtYmVyT2ZCeXRlcyA9IGRlY29k
ZXIucmVhZFVpbnQzMigpOwotICAgIHZhciB2ZXJzaW9uID0gZGVjb2Rlci5yZWFkVWludDMyKCk7
Ci0gICAgdmFsLmRhdGEgPSBkZWNvZGVyLmRlY29kZUFycmF5UG9pbnRlcihjb2RlYy5VaW50MTYp
OwotICAgIHJldHVybiB2YWw7Ci0gIH07Ci0KLSAgU3RyaW5nMTYuZW5jb2RlID0gZnVuY3Rpb24o
ZW5jb2RlciwgdmFsKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICBlbmNvZGVyLndyaXRlVWludDMy
KFN0cmluZzE2LmVuY29kZWRTaXplKTsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKDApOwotICAg
IGVuY29kZXIuZW5jb2RlQXJyYXlQb2ludGVyKGNvZGVjLlVpbnQxNiwgdmFsLmRhdGEpOwotICB9
OwotICBmdW5jdGlvbiBCaWdTdHJpbmcxNih2YWx1ZXMpIHsKLSAgICB0aGlzLmluaXREZWZhdWx0
c18oKTsKLSAgICB0aGlzLmluaXRGaWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0gIEJpZ1N0cmlu
ZzE2LnByb3RvdHlwZS5pbml0RGVmYXVsdHNfID0gZnVuY3Rpb24oKSB7Ci0gICAgdGhpcy5kYXRh
ID0gbnVsbDsKLSAgfTsKLSAgQmlnU3RyaW5nMTYucHJvdG90eXBlLmluaXRGaWVsZHNfID0gZnVu
Y3Rpb24oZmllbGRzKSB7Ci0gICAgZm9yKHZhciBmaWVsZCBpbiBmaWVsZHMpIHsKLSAgICAgICAg
aWYgKHRoaXMuaGFzT3duUHJvcGVydHkoZmllbGQpKQotICAgICAgICAgIHRoaXNbZmllbGRdID0g
ZmllbGRzW2ZpZWxkXTsKLSAgICB9Ci0gIH07Ci0KLSAgQmlnU3RyaW5nMTYudmFsaWRhdGUgPSBm
dW5jdGlvbihtZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsKLSAgICB2YXIgZXJyOwotICAgIGVy
ciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RIZWFkZXIob2Zmc2V0LCBjb2RlYy5r
U3RydWN0SGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25F
cnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgdmFyIGtWZXJzaW9uU2l6ZXMg
PSBbCi0gICAgICB7dmVyc2lvbjogMCwgbnVtQnl0ZXM6IDI0fQotICAgIF07Ci0gICAgZXJyID0g
bWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFZlcnNpb24ob2Zmc2V0LCBrVmVyc2lvblNp
emVzKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0g
ICAgICAgIHJldHVybiBlcnI7Ci0KLQotICAgIC8vIHZhbGlkYXRlIEJpZ1N0cmluZzE2LmRhdGEK
LSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlVW5pb24ob2Zmc2V0ICsgY29kZWMu
a1N0cnVjdEhlYWRlclNpemUgKyAwLCBiaWdfYnVmZmVyJC5CaWdCdWZmZXIsIGZhbHNlKTsKLSAg
ICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJl
dHVybiBlcnI7Ci0KLSAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwot
ICB9OwotCi0gIEJpZ1N0cmluZzE2LmVuY29kZWRTaXplID0gY29kZWMua1N0cnVjdEhlYWRlclNp
emUgKyAxNjsKLQotICBCaWdTdHJpbmcxNi5kZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0g
ICAgdmFyIHBhY2tlZDsKLSAgICB2YXIgdmFsID0gbmV3IEJpZ1N0cmluZzE2KCk7Ci0gICAgdmFy
IG51bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YXIgdmVyc2lvbiA9
IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhbC5kYXRhID0gZGVjb2Rlci5kZWNvZGVTdHJ1
Y3QoYmlnX2J1ZmZlciQuQmlnQnVmZmVyKTsKLSAgICByZXR1cm4gdmFsOwotICB9OwotCi0gIEJp
Z1N0cmluZzE2LmVuY29kZSA9IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgIHZhciBwYWNr
ZWQ7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMihCaWdTdHJpbmcxNi5lbmNvZGVkU2l6ZSk7Ci0g
ICAgZW5jb2Rlci53cml0ZVVpbnQzMigwKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdChiaWdf
YnVmZmVyJC5CaWdCdWZmZXIsIHZhbC5kYXRhKTsKLSAgfTsKLSAgZXhwb3J0cy5TdHJpbmcxNiA9
IFN0cmluZzE2OwotICBleHBvcnRzLkJpZ1N0cmluZzE2ID0gQmlnU3RyaW5nMTY7Ci19KSgpOwpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL3N0cmluZzE2Lm1v
am9tLmpzLmhlYWRlcnMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy9jaHJvbWl1bS9zdHJpbmcxNi5tb2pvbS5qcy5oZWFkZXJzCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2ODA1YzMyM2RmNS4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21p
dW0vc3RyaW5nMTYubW9qb20uanMuaGVhZGVycworKysgL2Rldi9udWxsCkBAIC0xICswLDAgQEAK
LUNvbnRlbnQtVHlwZTogdGV4dC9qYXZhc2NyaXB0OyBjaGFyc2V0PXV0Zi04CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9j
aHJvbWl1bS91cmwubW9qb20uanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS91cmwubW9qb20uanMKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IGM1ZWVlMWYyYWViLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS91cmwu
bW9qb20uanMKKysrIC9kZXYvbnVsbApAQCAtMSw3OSArMCwwIEBACi0vLyBDb3B5cmlnaHQgMjAx
NCBUaGUgQ2hyb21pdW0gQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLS8vIFVzZSBvZiB0
aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UgdGhhdCBj
YW4gYmUKLS8vIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCi0KLSd1c2Ugc3RyaWN0JzsKLQot
KGZ1bmN0aW9uKCkgewotICB2YXIgbW9qb21JZCA9ICd1cmwvbW9qb20vdXJsLm1vam9tJzsKLSAg
aWYgKG1vam8uaW50ZXJuYWwuaXNNb2pvbUxvYWRlZChtb2pvbUlkKSkgewotICAgIGNvbnNvbGUu
d2FybignVGhlIGZvbGxvd2luZyBtb2pvbSBpcyBsb2FkZWQgbXVsdGlwbGUgdGltZXM6ICcgKyBt
b2pvbUlkKTsKLSAgICByZXR1cm47Ci0gIH0KLSAgbW9qby5pbnRlcm5hbC5tYXJrTW9qb21Mb2Fk
ZWQobW9qb21JZCk7Ci0gIHZhciBiaW5kaW5ncyA9IG1vam87Ci0gIHZhciBhc3NvY2lhdGVkQmlu
ZGluZ3MgPSBtb2pvOwotICB2YXIgY29kZWMgPSBtb2pvLmludGVybmFsOwotICB2YXIgdmFsaWRh
dG9yID0gbW9qby5pbnRlcm5hbDsKLQotICB2YXIgZXhwb3J0cyA9IG1vam8uaW50ZXJuYWwuZXhw
b3NlTmFtZXNwYWNlKCd1cmwubW9qb20nKTsKLQotCi0KLSAgZnVuY3Rpb24gVXJsKHZhbHVlcykg
ewotICAgIHRoaXMuaW5pdERlZmF1bHRzXygpOwotICAgIHRoaXMuaW5pdEZpZWxkc18odmFsdWVz
KTsKLSAgfQotCi0KLSAgVXJsLnByb3RvdHlwZS5pbml0RGVmYXVsdHNfID0gZnVuY3Rpb24oKSB7
Ci0gICAgdGhpcy51cmwgPSBudWxsOwotICB9OwotICBVcmwucHJvdG90eXBlLmluaXRGaWVsZHNf
ID0gZnVuY3Rpb24oZmllbGRzKSB7Ci0gICAgZm9yKHZhciBmaWVsZCBpbiBmaWVsZHMpIHsKLSAg
ICAgICAgaWYgKHRoaXMuaGFzT3duUHJvcGVydHkoZmllbGQpKQotICAgICAgICAgIHRoaXNbZmll
bGRdID0gZmllbGRzW2ZpZWxkXTsKLSAgICB9Ci0gIH07Ci0KLSAgVXJsLnZhbGlkYXRlID0gZnVu
Y3Rpb24obWVzc2FnZVZhbGlkYXRvciwgb2Zmc2V0KSB7Ci0gICAgdmFyIGVycjsKLSAgICBlcnIg
PSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0SGVhZGVyKG9mZnNldCwgY29kZWMua1N0
cnVjdEhlYWRlclNpemUpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJy
b3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHZhciBrVmVyc2lvblNpemVzID0g
WwotICAgICAge3ZlcnNpb246IDAsIG51bUJ5dGVzOiAxNn0KLSAgICBdOwotICAgIGVyciA9IG1l
c3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RWZXJzaW9uKG9mZnNldCwga1ZlcnNpb25TaXpl
cyk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAg
ICAgICByZXR1cm4gZXJyOwotCi0KLSAgICAvLyB2YWxpZGF0ZSBVcmwudXJsCi0gICAgZXJyID0g
bWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cmluZ1BvaW50ZXIob2Zmc2V0ICsgY29kZWMua1N0
cnVjdEhlYWRlclNpemUgKyAwLCBmYWxzZSkKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFs
aWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICByZXR1cm4gdmFs
aWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIFVybC5lbmNvZGVkU2l6ZSA9
IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgODsKLQotICBVcmwuZGVjb2RlID0gZnVuY3Rpb24o
ZGVjb2RlcikgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgdmFyIHZhbCA9IG5ldyBVcmwoKTsKLSAg
ICB2YXIgbnVtYmVyT2ZCeXRlcyA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhciB2ZXJz
aW9uID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFsLnVybCA9IGRlY29kZXIuZGVjb2Rl
U3RydWN0KGNvZGVjLlN0cmluZyk7Ci0gICAgcmV0dXJuIHZhbDsKLSAgfTsKLQotICBVcmwuZW5j
b2RlID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICBlbmNv
ZGVyLndyaXRlVWludDMyKFVybC5lbmNvZGVkU2l6ZSk7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQz
MigwKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdChjb2RlYy5TdHJpbmcsIHZhbC51cmwpOwot
ICB9OwotICBleHBvcnRzLlVybCA9IFVybDsKLX0pKCk7ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS93M2MtaW1wb3J0
LmxvZwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWFjMDliOGRmZTQuLjAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL2Nocm9taXVtL3czYy1pbXBvcnQubG9nCisrKyAvZGV2L251bGwKQEAgLTEsNTYgKzAs
MCBAQAotVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUg
VzNDIHJlcG9zaXRvcnkuCi1EbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdl
YktpdC4KLUluc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoK
LQlodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdAotCi1UaGVuIHJ1biB0
aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydAot
Ci1EbyBOT1QgbW9kaWZ5IG9yIHJlbW92ZSB0aGlzIGZpbGUuCi0KLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQot
UHJvcGVydGllcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgotTm9uZQotUHJvcGVydHkgdmFs
dWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6Ci1Ob25lCi0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLUxp
c3Qgb2YgZmlsZXM6Ci0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvY2hyb21pdW0vUkVBRE1FLm1kCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vYmlnX2J1ZmZlci5tb2pvbS5q
cwotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L2Nocm9taXVtL2JpZ19idWZmZXIubW9qb20uanMuaGVhZGVycwotL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL2NvbnRhY3RzX21h
bmFnZXJfbW9jay5qcwotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL2Nocm9taXVtL2RldmljZS5tb2pvbS5qcwotL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL2RldmljZS5tb2pv
bS5qcy5oZWFkZXJzCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvY2hyb21pdW0vZGV2aWNlX2VudW1lcmF0aW9uX29wdGlvbnMubW9qb20uanMK
LS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9j
aHJvbWl1bS9kZXZpY2VfZW51bWVyYXRpb25fb3B0aW9ucy5tb2pvbS5qcy5oZWFkZXJzCi0vTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21p
dW0vZGV2aWNlX21hbmFnZXJfY2xpZW50Lm1vam9tLmpzCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vZGV2aWNlX21hbmFnZXJf
Y2xpZW50Lm1vam9tLmpzLmhlYWRlcnMKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS9nZW5lcmljX3NlbnNvcl9tb2Nrcy5qcwot
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2No
cm9taXVtL2dlbmVyaWNfc2Vuc29yX21vY2tzLmpzLmhlYWRlcnMKLS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS9pbWFnZV9jYXB0
dXJlLW1vam9tLmpzLmhlYWRlcnMKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS9pbWFnZV9jYXB0dXJlLm1vam9tLmpzCi0vTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21p
dW0vbW9jay1iYXJjb2RlZGV0ZWN0aW9uLmpzCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vbW9jay1iYXJjb2RlZGV0ZWN0aW9u
LmpzLmhlYWRlcnMKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy9jaHJvbWl1bS9tb2NrLWZhY2VkZXRlY3Rpb24uanMKLS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS9tb2NrLWZh
Y2VkZXRlY3Rpb24uanMuaGVhZGVycwotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL21vY2staW1hZ2VjYXB0dXJlLmpzCi0vTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21p
dW0vbW9qb19iaW5kaW5ncy5qcwotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL21vam9fYmluZGluZ3MuanMuaGVhZGVycwotL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9t
aXVtL21vam9fd2ViX3Rlc3RfaGVscGVyX3Rlc3QubW9qb20uanMKLS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS9tb2pvX3dlYl90
ZXN0X2hlbHBlcl90ZXN0Lm1vam9tLmpzLmhlYWRlcnMKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS9uZmMtbW9jay5qcwotL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9t
aXVtL3NlbnNvci5tb2pvbS5qcwotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL3NlbnNvcl9wcm92aWRlci5tb2pvbS5qcwotL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9t
aXVtL3Ntc19tb2NrLmpzCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vc3RyaW5nMTYubW9qb20uanMKLS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS9zdHJpbmcx
Ni5tb2pvbS5qcy5oZWFkZXJzCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vdXJsLm1vam9tLmpzCi0vTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vd2ViLWJsdWV0
b290aC10ZXN0LmpzCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvY2hyb21pdW0vd2ViLWJsdWV0b290aC10ZXN0LmpzLmhlYWRlcnMKLS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1
bS93ZWJfdXNiX3NlcnZpY2UubW9qb20uanMKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS93ZWJfdXNiX3NlcnZpY2UubW9qb20u
anMuaGVhZGVycwotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL2Nocm9taXVtL3dlYnVzYi1jaGlsZC10ZXN0LmpzCi0vTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vd2VidXNiLWNo
aWxkLXRlc3QuanMuaGVhZGVycwotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL3dlYnVzYi10ZXN0LmpzCi0vTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vd2VidXNi
LXRlc3QuanMuaGVhZGVycwotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL3dlYnhyLXRlc3QuanMKLS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS93ZWJ4ci10ZXN0
LmpzLmhlYWRlcnMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL3dlYi1ibHVldG9vdGgtdGVzdC5qcyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9t
aXVtL3dlYi1ibHVldG9vdGgtdGVzdC5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
ZWU4ZjA4MmI4NzQuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL3dlYi1ibHVldG9vdGgtdGVzdC5q
cworKysgL2Rldi9udWxsCkBAIC0xLDYxNyArMCwwIEBACi0ndXNlIHN0cmljdCc7Ci0KLWZ1bmN0
aW9uIHRvTW9qb0NlbnRyYWxTdGF0ZShzdGF0ZSkgewotICBzd2l0Y2ggKHN0YXRlKSB7Ci0gICAg
Y2FzZSAnYWJzZW50JzoKLSAgICAgIHJldHVybiBibHVldG9vdGgubW9qb20uQ2VudHJhbFN0YXRl
LkFCU0VOVDsKLSAgICBjYXNlICdwb3dlcmVkLW9mZic6Ci0gICAgICByZXR1cm4gYmx1ZXRvb3Ro
Lm1vam9tLkNlbnRyYWxTdGF0ZS5QT1dFUkVEX09GRjsKLSAgICBjYXNlICdwb3dlcmVkLW9uJzoK
LSAgICAgIHJldHVybiBibHVldG9vdGgubW9qb20uQ2VudHJhbFN0YXRlLlBPV0VSRURfT047Ci0g
ICAgZGVmYXVsdDoKLSAgICAgIHRocm93IGBVbnN1cHBvcnRlZCB2YWx1ZSAke3N0YXRlfSBmb3Ig
c3RhdGUuYDsKLSAgfQotfQotCi0vLyBDYW5vbmljYWxpemVzIFVVSURzIGFuZCBjb252ZXJ0cyB0
aGVtIHRvIE1vam8gVVVJRHMuCi1mdW5jdGlvbiBjYW5vbmljYWxpemVBbmRDb252ZXJ0VG9Nb2pv
VVVJRCh1dWlkcykgewotICBsZXQgY2Fub25pY2FsVVVJRHMgPSB1dWlkcy5tYXAodmFsID0+ICh7
dXVpZDogQmx1ZXRvb3RoVVVJRC5nZXRTZXJ2aWNlKHZhbCl9KSk7Ci0gIHJldHVybiBjYW5vbmlj
YWxVVUlEczsKLX0KLQotLy8gQ29udmVydHMgV2ViSURMIGEgcmVjb3JkPERPTVN0cmluZywgQnVm
ZmVyU291cmNlPiB0byBhIG1hcDxLLCBhcnJheTx1aW50OD4+IHRvCi0vLyB1c2UgZm9yIE1vam8s
IHdoZXJlIHRoZSB2YWx1ZSBmb3IgSyBpcyBjYWxjdWxhdGVkIHVzaW5nIGtleUZuLgotZnVuY3Rp
b24gY29udmVydFRvTW9qb01hcChyZWNvcmQsIGtleUZuKSB7Ci0gIGxldCBtYXAgPSBuZXcgTWFw
KCk7Ci0gIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKHJlY29yZCkp
IHsKLSAgICBsZXQgYnVmZmVyID0gQXJyYXlCdWZmZXIuaXNWaWV3KHZhbHVlKSA/IHZhbHVlLmJ1
ZmZlciA6IHZhbHVlOwotICAgIG1hcC5zZXQoa2V5Rm4oa2V5KSwgQXJyYXkuZnJvbShuZXcgVWlu
dDhBcnJheShidWZmZXIpKSk7Ci0gIH0KLSAgcmV0dXJuIG1hcDsKLX0KLQotLy8gTWFwcGluZyBv
ZiB0aGUgcHJvcGVydHkgbmFtZXMgb2YKLS8vIEJsdWV0b290aENoYXJhY3RlcmlzdGljUHJvcGVy
dGllcyBkZWZpbmVkIGluCi0vLyBodHRwczovL3dlYmJsdWV0b290aGNnLmdpdGh1Yi5pby93ZWIt
Ymx1ZXRvb3RoLyNjaGFyYWN0ZXJpc3RpY3Byb3BlcnRpZXMKLS8vIHRvIHByb3BlcnR5IG5hbWVz
IG9mIHRoZSBDaGFyYWN0ZXJpc3RpY1Byb3BlcnRpZXMgbW9qbyBzdHJ1Y3QuCi1jb25zdCBDSEFS
QUNURVJJU1RJQ19QUk9QRVJUSUVTX1dFQl9UT19NT0pPID0gewotICBicm9hZGNhc3Q6ICdicm9h
ZGNhc3QnLAotICByZWFkOiAncmVhZCcsCi0gIHdyaXRlX3dpdGhvdXRfcmVzcG9uc2U6ICd3cml0
ZV93aXRob3V0X3Jlc3BvbnNlJywKLSAgd3JpdGU6ICd3cml0ZScsCi0gIG5vdGlmeTogJ25vdGlm
eScsCi0gIGluZGljYXRlOiAnaW5kaWNhdGUnLAotICBhdXRoZW50aWNhdGVkU2lnbmVkV3JpdGVz
OiAnYXV0aGVudGljYXRlZF9zaWduZWRfd3JpdGVzJywKLSAgZXh0ZW5kZWRfcHJvcGVydGllczog
J2V4dGVuZGVkX3Byb3BlcnRpZXMnLAotfTsKLQotLy8gTWFwcGluZyBvZiB0aGUgTW9qbyBDaG9v
c2VyRXZlbnRUeXBlIGVudW0gdG8gYSBzdHJpbmcuCi1jb25zdCBNT0pPX0NIT09TRVJfRVZFTlRf
VFlQRV9NQVAgPSAoKCkgPT4gewotICBjb25zdCBDaG9vc2VyRXZlbnRUeXBlID0gY29udGVudC5t
b2pvbS5DaG9vc2VyRXZlbnRUeXBlOwotICByZXR1cm4gewotICAgIFtDaG9vc2VyRXZlbnRUeXBl
LkNIT09TRVJfT1BFTkVEXTogJ2Nob29zZXItb3BlbmVkJywKLSAgICBbQ2hvb3NlckV2ZW50VHlw
ZS5DSE9PU0VSX0NMT1NFRF06ICdjaG9vc2VyLWNsb3NlZCcsCi0gICAgW0Nob29zZXJFdmVudFR5
cGUuQURBUFRFUl9SRU1PVkVEXTogJ2FkYXB0ZXItcmVtb3ZlZCcsCi0gICAgW0Nob29zZXJFdmVu
dFR5cGUuQURBUFRFUl9ESVNBQkxFRF06ICdhZGFwdGVyLWRpc2FibGVkJywKLSAgICBbQ2hvb3Nl
ckV2ZW50VHlwZS5BREFQVEVSX0VOQUJMRURdOiAnYWRhcHRlci1lbmFibGVkJywKLSAgICBbQ2hv
b3NlckV2ZW50VHlwZS5ESVNDT1ZFUllfRkFJTEVEX1RPX1NUQVJUXTogJ2Rpc2NvdmVyeS1mYWls
ZWQtdG8tc3RhcnQnLAotICAgIFtDaG9vc2VyRXZlbnRUeXBlLkRJU0NPVkVSSU5HXTogJ2Rpc2Nv
dmVyaW5nJywKLSAgICBbQ2hvb3NlckV2ZW50VHlwZS5ESVNDT1ZFUllfSURMRV06ICdkaXNjb3Zl
cnktaWRsZScsCi0gICAgW0Nob29zZXJFdmVudFR5cGUuQUREX09SX1VQREFURV9ERVZJQ0VdOiAn
YWRkLW9yLXVwZGF0ZS1kZXZpY2UnLAotICB9Ci19KSgpOwotCi1mdW5jdGlvbiBBcnJheVRvTW9q
b0NoYXJhY3RlcmlzdGljUHJvcGVydGllcyhhcnIpIHsKLSAgbGV0IHN0cnVjdCA9IG5ldyBibHVl
dG9vdGgubW9qb20uQ2hhcmFjdGVyaXN0aWNQcm9wZXJ0aWVzKCk7Ci0KLSAgYXJyLmZvckVhY2go
dmFsID0+IHsKLSAgICBsZXQgbW9qb19wcm9wZXJ0eSA9Ci0gICAgICBDSEFSQUNURVJJU1RJQ19Q
Uk9QRVJUSUVTX1dFQl9UT19NT0pPW3ZhbF07Ci0KLSAgICBpZiAoc3RydWN0Lmhhc093blByb3Bl
cnR5KG1vam9fcHJvcGVydHkpKQotICAgICAgc3RydWN0W21vam9fcHJvcGVydHldID0gdHJ1ZTsK
LSAgICBlbHNlCi0gICAgICB0aHJvdyBgSW52YWxpZCBtZW1iZXIgJyR7dmFsfScgZm9yIENoYXJh
Y3RlcmlzdGljUHJvcGVydGllc2A7Ci0gIH0pOwotCi0gIHJldHVybiBzdHJ1Y3Q7Ci19Ci0KLWNs
YXNzIEZha2VCbHVldG9vdGggewotICBjb25zdHJ1Y3RvcigpIHsKLSAgICB0aGlzLmZha2VfYmx1
ZXRvb3RoX3B0cl8gPSBuZXcgYmx1ZXRvb3RoLm1vam9tLkZha2VCbHVldG9vdGhQdHIoKTsKLSAg
ICBNb2pvLmJpbmRJbnRlcmZhY2UoYmx1ZXRvb3RoLm1vam9tLkZha2VCbHVldG9vdGgubmFtZSwK
LSAgICAgICAgbW9qby5tYWtlUmVxdWVzdCh0aGlzLmZha2VfYmx1ZXRvb3RoX3B0cl8pLmhhbmRs
ZSwgJ3Byb2Nlc3MnKTsKLSAgICB0aGlzLmZha2VfY2VudHJhbF8gPSBudWxsOwotICB9Ci0KLSAg
Ly8gU2V0IGl0IHRvIGluZGljYXRlIHdoZXRoZXIgdGhlIHBsYXRmb3JtIHN1cHBvcnRzIEJMRS4g
Rm9yIGV4YW1wbGUsCi0gIC8vIFdpbmRvd3MgNyBpcyBhIHBsYXRmb3JtIHRoYXQgZG9lc24ndCBz
dXBwb3J0IExvdyBFbmVyZ3kuIE9uIHRoZSBvdGhlcgotICAvLyBoYW5kIFdpbmRvd3MgMTAgaXMg
YSBwbGF0Zm9ybSB0aGF0IGRvZXMgc3VwcG9ydCBMRSwgZXZlbiBpZiB0aGVyZSBpcyBubwotICAv
LyBCbHVldG9vdGggcmFkaW8gcHJlc2VudC4KLSAgYXN5bmMgc2V0TEVTdXBwb3J0ZWQoc3VwcG9y
dGVkKSB7Ci0gICAgaWYgKHR5cGVvZiBzdXBwb3J0ZWQgIT09ICdib29sZWFuJykgdGhyb3cgJ1R5
cGUgTm90IFN1cHBvcnRlZCc7Ci0gICAgYXdhaXQgdGhpcy5mYWtlX2JsdWV0b290aF9wdHJfLnNl
dExFU3VwcG9ydGVkKHN1cHBvcnRlZCk7Ci0gIH0KLQotICAvLyBSZXR1cm5zIGEgcHJvbWlzZSB0
aGF0IHJlc29sdmVzIHdpdGggYSBGYWtlQ2VudHJhbCB0aGF0IGNsaWVudHMgY2FuIHVzZQotICAv
LyB0byBzaW11bGF0ZSBldmVudHMgdGhhdCBhIGRldmljZSBpbiB0aGUgQ2VudHJhbC9PYnNlcnZl
ciByb2xlIHdvdWxkCi0gIC8vIHJlY2VpdmUgYXMgd2VsbCBhcyBtb25pdG9yIHRoZSBvcGVyYXRp
b25zIHBlcmZvcm1lZCBieSB0aGUgZGV2aWNlIGluIHRoZQotICAvLyBDZW50cmFsL09ic2VydmVy
IHJvbGUuCi0gIC8vIENhbGxzIHNldHMgTEUgYXMgc3VwcG9ydGVkLgotICAvLwotICAvLyBBICJD
ZW50cmFsIiBvYmplY3Qgd291bGQgYWxsb3cgaXRzIGNsaWVudHMgdG8gcmVjZWl2ZSBhZHZlcnRp
c2luZyBldmVudHMKLSAgLy8gYW5kIGluaXRpYXRlIGNvbm5lY3Rpb25zIHRvIHBlcmlwaGVyYWxz
IGkuZS4gb3BlcmF0aW9ucyBvZiB0d28gcm9sZXMKLSAgLy8gZGVmaW5lZCBieSB0aGUgQmx1ZXRv
b3RoIFNwZWM6IE9ic2VydmVyIGFuZCBDZW50cmFsLgotICAvLyBTZWUgQmx1ZXRvb3RoIDQuMiBW
b2wgMyBQYXJ0IEMgMi4yLjIgIlJvbGVzIHdoZW4gT3BlcmF0aW5nIG92ZXIgYW4KLSAgLy8gTEUg
UGh5c2ljYWwgVHJhbnNwb3J0Ii4KLSAgYXN5bmMgc2ltdWxhdGVDZW50cmFsKHtzdGF0ZX0pIHsK
LSAgICBpZiAodGhpcy5mYWtlX2NlbnRyYWxfKQotICAgICAgdGhyb3cgJ3NpbXVsYXRlQ2VudHJh
bCgpIHNob3VsZCBvbmx5IGJlIGNhbGxlZCBvbmNlJzsKLQotICAgIGF3YWl0IHRoaXMuc2V0TEVT
dXBwb3J0ZWQodHJ1ZSk7Ci0KLSAgICBsZXQge2Zha2VDZW50cmFsOiBmYWtlX2NlbnRyYWxfcHRy
fSA9Ci0gICAgICBhd2FpdCB0aGlzLmZha2VfYmx1ZXRvb3RoX3B0cl8uc2ltdWxhdGVDZW50cmFs
KAotICAgICAgICB0b01vam9DZW50cmFsU3RhdGUoc3RhdGUpKTsKLSAgICB0aGlzLmZha2VfY2Vu
dHJhbF8gPSBuZXcgRmFrZUNlbnRyYWwoZmFrZV9jZW50cmFsX3B0cik7Ci0gICAgcmV0dXJuIHRo
aXMuZmFrZV9jZW50cmFsXzsKLSAgfQotCi0gIC8vIFJldHVybnMgdHJ1ZSBpZiB0aGVyZSBhcmUg
bm8gcGVuZGluZyByZXNwb25zZXMuCi0gIGFzeW5jIGFsbFJlc3BvbnNlc0NvbnN1bWVkKCkgewot
ICAgIGxldCB7Y29uc3VtZWR9ID0gYXdhaXQgdGhpcy5mYWtlX2JsdWV0b290aF9wdHJfLmFsbFJl
c3BvbnNlc0NvbnN1bWVkKCk7Ci0gICAgcmV0dXJuIGNvbnN1bWVkOwotICB9Ci0KLSAgLy8gUmV0
dXJucyBhIHByb21pc2UgdGhhdCByZXNvbHZlcyB3aXRoIGEgRmFrZUNob29zZXIgdGhhdCBjbGll
bnRzIGNhbiB1c2UgdG8KLSAgLy8gc2ltdWxhdGUgY2hvb3NlciBldmVudHMuCi0gIGFzeW5jIGdl
dE1hbnVhbENob29zZXIoKSB7Ci0gICAgaWYgKHR5cGVvZiB0aGlzLmZha2VfY2hvb3Nlcl8gPT09
ICd1bmRlZmluZWQnKSB7Ci0gICAgICB0aGlzLmZha2VfY2hvb3Nlcl8gPSBuZXcgRmFrZUNob29z
ZXIoKTsKLSAgICB9Ci0gICAgcmV0dXJuIHRoaXMuZmFrZV9jaG9vc2VyXzsKLSAgfQotfQotCi0v
LyBGYWtlQ2VudHJhbCBhbGxvd3MgY2xpZW50cyB0byBzaW11bGF0ZSBldmVudHMgdGhhdCBhIGRl
dmljZSBpbiB0aGUKLS8vIENlbnRyYWwvT2JzZXJ2ZXIgcm9sZSB3b3VsZCByZWNlaXZlIGFzIHdl
bGwgYXMgbW9uaXRvciB0aGUgb3BlcmF0aW9ucwotLy8gcGVyZm9ybWVkIGJ5IHRoZSBkZXZpY2Ug
aW4gdGhlIENlbnRyYWwvT2JzZXJ2ZXIgcm9sZS4KLWNsYXNzIEZha2VDZW50cmFsIHsKLSAgY29u
c3RydWN0b3IoZmFrZV9jZW50cmFsX3B0cikgewotICAgIHRoaXMuZmFrZV9jZW50cmFsX3B0cl8g
PSBmYWtlX2NlbnRyYWxfcHRyOwotICAgIHRoaXMucGVyaXBoZXJhbHNfID0gbmV3IE1hcCgpOwot
ICB9Ci0KLSAgLy8gU2ltdWxhdGVzIGEgcGVyaXBoZXJhbCB3aXRoIHxhZGRyZXNzfCwgfG5hbWV8
IGFuZCB8a25vd25fc2VydmljZV91dWlkc3wKLSAgLy8gdGhhdCBoYXMgYWxyZWFkeSBiZWVuIGNv
bm5lY3RlZCB0byB0aGUgc3lzdGVtLiBJZiB0aGUgcGVyaXBoZXJhbCBleGlzdGVkCi0gIC8vIGFs
cmVhZHkgaXQgdXBkYXRlcyBpdHMgbmFtZSBhbmQga25vd24gVVVJRHMuIHxrbm93bl9zZXJ2aWNl
X3V1aWRzfCBzaG91bGQKLSAgLy8gYmUgYW4gYXJyYXkgb2YgQmx1ZXRvb3RoU2VydmljZVVVSURz
Ci0gIC8vIGh0dHBzOi8vd2ViYmx1ZXRvb3RoY2cuZ2l0aHViLmlvL3dlYi1ibHVldG9vdGgvI3R5
cGVkZWZkZWYtYmx1ZXRvb3Roc2VydmljZXV1aWQKLSAgLy8KLSAgLy8gUGxhdGZvcm1zIG9mZmVy
IG1ldGhvZHMgdG8gcmV0cmlldmUgZGV2aWNlcyB0aGF0IGhhdmUgYWxyZWFkeSBiZWVuCi0gIC8v
IGNvbm5lY3RlZCB0byB0aGUgc3lzdGVtIG9yIHdlcmVuJ3QgY29ubmVjdGVkIHRocm91Z2ggdGhl
IFVBIGUuZy4gYSB1c2VyCi0gIC8vIGNvbm5lY3RlZCBhIHBlcmlwaGVyYWwgdGhyb3VnaCB0aGUg
c3lzdGVtJ3Mgc2V0dGluZ3MuIFRoaXMgbWV0aG9kIGlzCi0gIC8vIGludGVuZGVkIHRvIHNpbXVs
YXRlIHBlcmlwaGVyYWxzIHRoYXQgdGhvc2UgbWV0aG9kcyB3b3VsZCByZXR1cm4uCi0gIGFzeW5j
IHNpbXVsYXRlUHJlY29ubmVjdGVkUGVyaXBoZXJhbCh7Ci0gICAgYWRkcmVzcywgbmFtZSwga25v
d25TZXJ2aWNlVVVJRHMgPSBbXX0pIHsKLQotICAgIGF3YWl0IHRoaXMuZmFrZV9jZW50cmFsX3B0
cl8uc2ltdWxhdGVQcmVjb25uZWN0ZWRQZXJpcGhlcmFsKAotICAgICAgYWRkcmVzcywgbmFtZSwg
Y2Fub25pY2FsaXplQW5kQ29udmVydFRvTW9qb1VVSUQoa25vd25TZXJ2aWNlVVVJRHMpKTsKLQot
ICAgIHJldHVybiB0aGlzLmZldGNoT3JDcmVhdGVQZXJpcGhlcmFsXyhhZGRyZXNzKTsKLSAgfQot
Ci0gIC8vIFNpbXVsYXRlcyBhbiBhZHZlcnRpc2VtZW50IHBhY2tldCBkZXNjcmliZWQgYnkgfHNj
YW5SZXN1bHR8IGJlaW5nIHJlY2VpdmVkCi0gIC8vIGZyb20gYSBkZXZpY2UuIElmIGNlbnRyYWwg
aXMgY3VycmVudGx5IHNjYW5uaW5nLCB0aGUgZGV2aWNlIHdpbGwgYXBwZWFyIG9uCi0gIC8vIHRo
ZSBsaXN0IG9mIGRpc2NvdmVyZWQgZGV2aWNlcy4KLSAgYXN5bmMgc2ltdWxhdGVBZHZlcnRpc2Vt
ZW50UmVjZWl2ZWQoc2NhblJlc3VsdCkgewotICAgIGlmICgndXVpZHMnIGluIHNjYW5SZXN1bHQu
c2NhblJlY29yZCkgewotICAgICAgc2NhblJlc3VsdC5zY2FuUmVjb3JkLnV1aWRzID0KLSAgICAg
ICAgICBjYW5vbmljYWxpemVBbmRDb252ZXJ0VG9Nb2pvVVVJRChzY2FuUmVzdWx0LnNjYW5SZWNv
cmQudXVpZHMpOwotICAgIH0KLQotICAgIC8vIENvbnZlcnQgdGhlIG9wdGlvbmFsIGFwcGVhcmFu
Y2UgYW5kIHR4UG93ZXIgZmllbGRzIHRvIHRoZSBjb3JyZXNwb25kaW5nCi0gICAgLy8gTW9qbyBz
dHJ1Y3R1cmVzLCBzaW5jZSBNb2pvIGRvZXMgbm90IHN1cHBvcnQgb3B0aW9uYWwgaW50ZXJnZXIg
dmFsdWVzLiBJZgotICAgIC8vIHRoZSBmaWVsZHMgYXJlIHVuZGVmaW5lZCwgc2V0IHRoZSBoYXNW
YWx1ZSBmaWVsZCBhcyBmYWxzZSBhbmQgdmFsdWUgYXMgMC4KLSAgICAvLyBPdGhlcndpc2UsIHNl
dCB0aGUgaGFzVmFsdWUgZmllbGQgYXMgdHJ1ZSBhbmQgdmFsdWUgd2l0aCB0aGUgZmllbGQgdmFs
dWUuCi0gICAgY29uc3QgaGFzX2FwcGVhcmFuY2UgPSAnYXBwZWFyYW5jZScgaW4gc2NhblJlc3Vs
dC5zY2FuUmVjb3JkOwotICAgIHNjYW5SZXN1bHQuc2NhblJlY29yZC5hcHBlYXJhbmNlID0gewot
ICAgICAgaGFzVmFsdWU6IGhhc19hcHBlYXJhbmNlLAotICAgICAgdmFsdWU6IChoYXNfYXBwZWFy
YW5jZSA/IHNjYW5SZXN1bHQuc2NhblJlY29yZC5hcHBlYXJhbmNlIDogMCkKLSAgICB9Ci0KLSAg
ICBjb25zdCBoYXNfdHhfcG93ZXIgPSAndHhQb3dlcicgaW4gc2NhblJlc3VsdC5zY2FuUmVjb3Jk
OwotICAgIHNjYW5SZXN1bHQuc2NhblJlY29yZC50eFBvd2VyID0gewotICAgICAgaGFzVmFsdWU6
IGhhc190eF9wb3dlciwKLSAgICAgIHZhbHVlOiAoaGFzX3R4X3Bvd2VyID8gc2NhblJlc3VsdC5z
Y2FuUmVjb3JkLnR4UG93ZXIgOiAwKQotICAgIH0KLQotICAgIC8vIENvbnZlcnQgbWFudWZhY3R1
cmVyRGF0YSBmcm9tIGEgcmVjb3JkPERPTVN0cmluZywgQnVmZmVyU291cmNlPiBpbnRvIGEKLSAg
ICAvLyBtYXA8dWludDgsIGFycmF5PHVpbnQ4Pj4gZm9yIE1vam8uCi0gICAgaWYgKCdtYW51ZmFj
dHVyZXJEYXRhJyBpbiBzY2FuUmVzdWx0LnNjYW5SZWNvcmQpIHsKLSAgICAgIHNjYW5SZXN1bHQu
c2NhblJlY29yZC5tYW51ZmFjdHVyZXJEYXRhID0gY29udmVydFRvTW9qb01hcCgKLSAgICAgICAg
ICBzY2FuUmVzdWx0LnNjYW5SZWNvcmQubWFudWZhY3R1cmVyRGF0YSwgTnVtYmVyKTsKLSAgICB9
Ci0KLSAgICAvLyBDb252ZXJ0IHNlcnZpY2VEYXRhIGZyb20gYSByZWNvcmQ8RE9NU3RyaW5nLCBC
dWZmZXJTb3VyY2U+IGludG8gYQotICAgIC8vIG1hcDxzdHJpbmcsIGFycmF5PHVpbnQ4Pj4gZm9y
IE1vam8uCi0gICAgaWYgKCdzZXJ2aWNlRGF0YScgaW4gc2NhblJlc3VsdC5zY2FuUmVjb3JkKSB7
Ci0gICAgICBzY2FuUmVzdWx0LnNjYW5SZWNvcmQuc2VydmljZURhdGEuc2VydmljZURhdGEgPSBj
b252ZXJ0VG9Nb2pvTWFwKAotICAgICAgICAgIHNjYW5SZXN1bHQuc2NhblJlY29yZC5zZXJ2aWNl
RGF0YSwgQmx1ZXRvb3RoVVVJRC5nZXRTZXJ2aWNlKTsKLSAgICB9Ci0KLSAgICBhd2FpdCB0aGlz
LmZha2VfY2VudHJhbF9wdHJfLnNpbXVsYXRlQWR2ZXJ0aXNlbWVudFJlY2VpdmVkKAotICAgICAg
ICBuZXcgYmx1ZXRvb3RoLm1vam9tLlNjYW5SZXN1bHQoc2NhblJlc3VsdCkpOwotCi0gICAgcmV0
dXJuIHRoaXMuZmV0Y2hPckNyZWF0ZVBlcmlwaGVyYWxfKHNjYW5SZXN1bHQuZGV2aWNlQWRkcmVz
cyk7Ci0gIH0KLQotICAvLyBTaW11bGF0ZXMgYSBjaGFuZ2UgaW4gdGhlIGNlbnRyYWwgZGV2aWNl
IGRlc2NyaWJlZCBieSB8c3RhdGV8LiBGb3IgZXhhbXBsZSwKLSAgLy8gc2V0U3RhdGUoJ3Bvd2Vy
ZWQtb2ZmJykgY2FuIGJlIHVzZWQgdG8gc2ltdWxhdGUgdGhlIGNlbnRyYWwgZGV2aWNlIHBvd2Vy
aW5nCi0gIC8vIG9mZi4KLSAgLy8KLSAgLy8gVGhpcyBtZXRob2Qgc2hvdWxkIGJlIHVzZWQgZm9y
IGFueSBjZW50cmFsIHN0YXRlIGNoYW5nZXMgYWZ0ZXIKLSAgLy8gc2ltdWxhdGVDZW50cmFsKCkg
aGFzIGJlZW4gY2FsbGVkIHRvIGNyZWF0ZSBhIEZha2VDZW50cmFsIG9iamVjdC4KLSAgYXN5bmMg
c2V0U3RhdGUoc3RhdGUpIHsKLSAgICBhd2FpdCB0aGlzLmZha2VfY2VudHJhbF9wdHJfLnNldFN0
YXRlKHRvTW9qb0NlbnRyYWxTdGF0ZShzdGF0ZSkpOwotICB9Ci0KLSAgLy8gQ3JlYXRlIGEgZmFr
ZV9wZXJpcGhlcmFsIG9iamVjdCBmcm9tIHRoZSBnaXZlbiBhZGRyZXNzLgotICBmZXRjaE9yQ3Jl
YXRlUGVyaXBoZXJhbF8oYWRkcmVzcykgewotICAgIGxldCBwZXJpcGhlcmFsID0gdGhpcy5wZXJp
cGhlcmFsc18uZ2V0KGFkZHJlc3MpOwotICAgIGlmIChwZXJpcGhlcmFsID09PSB1bmRlZmluZWQp
IHsKLSAgICAgIHBlcmlwaGVyYWwgPSBuZXcgRmFrZVBlcmlwaGVyYWwoYWRkcmVzcywgdGhpcy5m
YWtlX2NlbnRyYWxfcHRyXyk7Ci0gICAgICB0aGlzLnBlcmlwaGVyYWxzXy5zZXQoYWRkcmVzcywg
cGVyaXBoZXJhbCk7Ci0gICAgfQotICAgIHJldHVybiBwZXJpcGhlcmFsOwotICB9Ci19Ci0KLWNs
YXNzIEZha2VQZXJpcGhlcmFsIHsKLSAgY29uc3RydWN0b3IoYWRkcmVzcywgZmFrZV9jZW50cmFs
X3B0cikgewotICAgIHRoaXMuYWRkcmVzcyA9IGFkZHJlc3M7Ci0gICAgdGhpcy5mYWtlX2NlbnRy
YWxfcHRyXyA9IGZha2VfY2VudHJhbF9wdHI7Ci0gIH0KLQotICAvLyBBZGRzIGEgZmFrZSBHQVRU
IFNlcnZpY2Ugd2l0aCB8dXVpZHwgdG8gYmUgZGlzY292ZXJlZCB3aGVuIGRpc2NvdmVyaW5nCi0g
IC8vIHRoZSBwZXJpcGhlcmFsJ3MgR0FUVCBBdHRyaWJ1dGVzLiBSZXR1cm5zIGEgRmFrZVJlbW90
ZUdBVFRTZXJ2aWNlCi0gIC8vIGNvcnJlc3BvbmRpbmcgdG8gdGhpcyBzZXJ2aWNlLiB8dXVpZHwg
c2hvdWxkIGJlIGEgQmx1ZXRvb3RoU2VydmljZVVVSURzCi0gIC8vIGh0dHBzOi8vd2ViYmx1ZXRv
b3RoY2cuZ2l0aHViLmlvL3dlYi1ibHVldG9vdGgvI3R5cGVkZWZkZWYtYmx1ZXRvb3Roc2Vydmlj
ZXV1aWQKLSAgYXN5bmMgYWRkRmFrZVNlcnZpY2Uoe3V1aWR9KSB7Ci0gICAgbGV0IHtzZXJ2aWNl
SWQ6IHNlcnZpY2VfaWR9ID0gYXdhaXQgdGhpcy5mYWtlX2NlbnRyYWxfcHRyXy5hZGRGYWtlU2Vy
dmljZSgKLSAgICAgIHRoaXMuYWRkcmVzcywge3V1aWQ6IEJsdWV0b290aFVVSUQuZ2V0U2Vydmlj
ZSh1dWlkKX0pOwotCi0gICAgaWYgKHNlcnZpY2VfaWQgPT09IG51bGwpIHRocm93ICdhZGRGYWtl
U2VydmljZSBmYWlsZWQnOwotCi0gICAgcmV0dXJuIG5ldyBGYWtlUmVtb3RlR0FUVFNlcnZpY2Uo
Ci0gICAgICBzZXJ2aWNlX2lkLCB0aGlzLmFkZHJlc3MsIHRoaXMuZmFrZV9jZW50cmFsX3B0cl8p
OwotICB9Ci0KLSAgLy8gU2V0cyB0aGUgbmV4dCBHQVRUIENvbm5lY3Rpb24gcmVxdWVzdCByZXNw
b25zZSB0byB8Y29kZXwuIHxjb2RlfCBjb3VsZCBiZQotICAvLyBhbiBIQ0kgRXJyb3IgQ29kZSBm
cm9tIEJUIDQuMiBWb2wgMiBQYXJ0IEQgMS4zIExpc3QgT2YgRXJyb3IgQ29kZXMgb3IgYQotICAv
LyBudW1iZXIgb3V0c2lkZSB0aGF0IHJhbmdlIHJldHVybmVkIGJ5IHNwZWNpZmljIHBsYXRmb3Jt
cyBlLmcuIEFuZHJvaWQKLSAgLy8gcmV0dXJucyAweDEwMSB0byBzaWduYWwgYSBHQVRUIGZhaWx1
cmUKLSAgLy8gaHR0cHM6Ly9kZXZlbG9wZXIuYW5kcm9pZC5jb20vcmVmZXJlbmNlL2FuZHJvaWQv
Ymx1ZXRvb3RoL0JsdWV0b290aEdhdHQuaHRtbCNHQVRUX0ZBSUxVUkUKLSAgYXN5bmMgc2V0TmV4
dEdBVFRDb25uZWN0aW9uUmVzcG9uc2Uoe2NvZGV9KSB7Ci0gICAgbGV0IHtzdWNjZXNzfSA9Ci0g
ICAgICBhd2FpdCB0aGlzLmZha2VfY2VudHJhbF9wdHJfLnNldE5leHRHQVRUQ29ubmVjdGlvblJl
c3BvbnNlKAotICAgICAgICB0aGlzLmFkZHJlc3MsIGNvZGUpOwotCi0gICAgaWYgKHN1Y2Nlc3Mg
IT09IHRydWUpIHRocm93ICdzZXROZXh0R0FUVENvbm5lY3Rpb25SZXNwb25zZSBmYWlsZWQuJzsK
LSAgfQotCi0gIC8vIFNldHMgdGhlIG5leHQgR0FUVCBEaXNjb3ZlcnkgcmVxdWVzdCByZXNwb25z
ZSBmb3IgcGVyaXBoZXJhbCB3aXRoCi0gIC8vIHxhZGRyZXNzfCB0byB8Y29kZXwuIHxjb2RlfCBj
b3VsZCBiZSBhbiBIQ0kgRXJyb3IgQ29kZSBmcm9tCi0gIC8vIEJUIDQuMiBWb2wgMiBQYXJ0IEQg
MS4zIExpc3QgT2YgRXJyb3IgQ29kZXMgb3IgYSBudW1iZXIgb3V0c2lkZSB0aGF0Ci0gIC8vIHJh
bmdlIHJldHVybmVkIGJ5IHNwZWNpZmljIHBsYXRmb3JtcyBlLmcuIEFuZHJvaWQgcmV0dXJucyAw
eDEwMSB0byBzaWduYWwKLSAgLy8gYSBHQVRUIGZhaWx1cmUKLSAgLy8gaHR0cHM6Ly9kZXZlbG9w
ZXIuYW5kcm9pZC5jb20vcmVmZXJlbmNlL2FuZHJvaWQvYmx1ZXRvb3RoL0JsdWV0b290aEdhdHQu
aHRtbCNHQVRUX0ZBSUxVUkUKLSAgLy8KLSAgLy8gVGhlIGZvbGxvd2luZyBwcm9jZWR1cmVzIGRl
ZmluZWQgYXQgQlQgNC4yIFZvbCAzIFBhcnQgRyBTZWN0aW9uIDQuCi0gIC8vICJHQVRUIEZlYXR1
cmUgUmVxdWlyZW1lbnRzIiBhcmUgdXNlZCB0byBkaXNjb3ZlciBhdHRyaWJ1dGVzIG9mIHRoZQot
ICAvLyBHQVRUIFNlcnZlcjoKLSAgLy8gIC0gUHJpbWFyeSBTZXJ2aWNlIERpc2NvdmVyeQotICAv
LyAgLSBSZWxhdGlvbnNoaXAgRGlzY292ZXJ5Ci0gIC8vICAtIENoYXJhY3RlcmlzdGljIERpc2Nv
dmVyeQotICAvLyAgLSBDaGFyYWN0ZXJpc3RpYyBEZXNjcmlwdG9yIERpc2NvdmVyeQotICAvLyBU
aGlzIG1ldGhvZCBhaW1zIHRvIHNpbXVsYXRlIHRoZSByZXNwb25zZSBvbmNlIGFsbCBvZiB0aGVz
ZSBwcm9jZWR1cmVzCi0gIC8vIGhhdmUgY29tcGxldGVkIG9yIGlmIHRoZXJlIHdhcyBhbiBlcnJv
ciBkdXJpbmcgYW55IG9mIHRoZW0uCi0gIGFzeW5jIHNldE5leHRHQVRURGlzY292ZXJ5UmVzcG9u
c2Uoe2NvZGV9KSB7Ci0gICAgbGV0IHtzdWNjZXNzfSA9Ci0gICAgICBhd2FpdCB0aGlzLmZha2Vf
Y2VudHJhbF9wdHJfLnNldE5leHRHQVRURGlzY292ZXJ5UmVzcG9uc2UoCi0gICAgICAgIHRoaXMu
YWRkcmVzcywgY29kZSk7Ci0KLSAgICBpZiAoc3VjY2VzcyAhPT0gdHJ1ZSkgdGhyb3cgJ3NldE5l
eHRHQVRURGlzY292ZXJ5UmVzcG9uc2UgZmFpbGVkLic7Ci0gIH0KLQotICAvLyBTaW11bGF0ZXMg
YSBHQVRUIGRpc2Nvbm5lY3Rpb24gZnJvbSB0aGUgcGVyaXBoZXJhbCB3aXRoIHxhZGRyZXNzfC4K
LSAgYXN5bmMgc2ltdWxhdGVHQVRURGlzY29ubmVjdGlvbigpIHsKLSAgICBsZXQge3N1Y2Nlc3N9
ID0KLSAgICAgIGF3YWl0IHRoaXMuZmFrZV9jZW50cmFsX3B0cl8uc2ltdWxhdGVHQVRURGlzY29u
bmVjdGlvbih0aGlzLmFkZHJlc3MpOwotCi0gICAgaWYgKHN1Y2Nlc3MgIT09IHRydWUpIHRocm93
ICdzaW11bGF0ZUdBVFREaXNjb25uZWN0aW9uIGZhaWxlZC4nOwotICB9Ci0KLSAgLy8gU2ltdWxh
dGVzIGFuIEluZGljYXRpb24gZnJvbSB0aGUgcGVyaXBoZXJhbCdzIEdBVFQgYFNlcnZpY2UgQ2hh
bmdlZGAKLSAgLy8gQ2hhcmFjdGVyaXN0aWMgZnJvbSBCVCA0LjIgVm9sIDMgUGFydCBHIDcuMS4g
VGhpcyBJbmRpY2F0aW9uIGlzIHNpZ25hbGVkCi0gIC8vIHdoZW4gc2VydmljZXMsIGNoYXJhY3Rl
cmlzdGljcywgb3IgZGVzY3JpcHRvcnMgYXJlIGNoYW5nZWQsIGFkZGVkLCBvcgotICAvLyByZW1v
dmVkLgotICAvLwotICAvLyBUaGUgdmFsdWUgZm9yIGBTZXJ2aWNlIENoYW5nZWRgIGlzIGEgcmFu
Z2Ugb2YgYXR0cmlidXRlIGhhbmRsZXMgdGhhdCBoYXZlCi0gIC8vIGNoYW5nZWQuIEhvd2V2ZXIs
IHRoaXMgdGVzdGluZyBzcGVjaWZpY2F0aW9uIHdvcmtzIGF0IGFuIGFic3RyYWN0ZWQKLSAgLy8g
bGV2ZWwgYW5kIGRvZXMgbm90IGV4cG9zZSBzZXR0aW5nIGF0dHJpYnV0ZSBoYW5kbGVzIHdoZW4g
YWRkaW5nCi0gIC8vIGF0dHJpYnV0ZXMuIENvbnNlcXVlbnRseSwgdGhpcyBzaW11bGF0ZSBtZXRo
b2Qgc2hvdWxkIGluY2x1ZGUgdGhlIGZ1bGwKLSAgLy8gcmFuZ2Ugb2YgYWxsIHRoZSBwZXJpcGhl
cmFsJ3MgYXR0cmlidXRlIGhhbmRsZSB2YWx1ZXMuCi0gIGFzeW5jIHNpbXVsYXRlR0FUVFNlcnZp
Y2VzQ2hhbmdlZCgpIHsKLSAgICBsZXQge3N1Y2Nlc3N9ID0KLSAgICAgIGF3YWl0IHRoaXMuZmFr
ZV9jZW50cmFsX3B0cl8uc2ltdWxhdGVHQVRUU2VydmljZXNDaGFuZ2VkKHRoaXMuYWRkcmVzcyk7
Ci0KLSAgICBpZiAoc3VjY2VzcyAhPT0gdHJ1ZSkgdGhyb3cgJ3NpbXVsYXRlR0FUVFNlcnZpY2Vz
Q2hhbmdlZCBmYWlsZWQuJzsKLSAgfQotfQotCi1jbGFzcyBGYWtlUmVtb3RlR0FUVFNlcnZpY2Ug
ewotICBjb25zdHJ1Y3RvcihzZXJ2aWNlX2lkLCBwZXJpcGhlcmFsX2FkZHJlc3MsIGZha2VfY2Vu
dHJhbF9wdHIpIHsKLSAgICB0aGlzLnNlcnZpY2VfaWRfID0gc2VydmljZV9pZDsKLSAgICB0aGlz
LnBlcmlwaGVyYWxfYWRkcmVzc18gPSBwZXJpcGhlcmFsX2FkZHJlc3M7Ci0gICAgdGhpcy5mYWtl
X2NlbnRyYWxfcHRyXyA9IGZha2VfY2VudHJhbF9wdHI7Ci0gIH0KLQotICAvLyBBZGRzIGEgZmFr
ZSBHQVRUIENoYXJhY3RlcmlzdGljIHdpdGggfHV1aWR8IGFuZCB8cHJvcGVydGllc3wKLSAgLy8g
dG8gdGhpcyBmYWtlIHNlcnZpY2UuIFRoZSBjaGFyYWN0ZXJpc3RpYyB3aWxsIGJlIGZvdW5kIHdo
ZW4gZGlzY292ZXJpbmcKLSAgLy8gdGhlIHBlcmlwaGVyYWwncyBHQVRUIEF0dHJpYnV0ZXMuIFJl
dHVybnMgYSBGYWtlUmVtb3RlR0FUVENoYXJhY3RlcmlzdGljCi0gIC8vIGNvcnJlc3BvbmRpbmcg
dG8gdGhlIGFkZGVkIGNoYXJhY3RlcmlzdGljLgotICBhc3luYyBhZGRGYWtlQ2hhcmFjdGVyaXN0
aWMoe3V1aWQsIHByb3BlcnRpZXN9KSB7Ci0gICAgbGV0IHtjaGFyYWN0ZXJpc3RpY0lkOiBjaGFy
YWN0ZXJpc3RpY19pZH0gPQotICAgICAgICBhd2FpdCB0aGlzLmZha2VfY2VudHJhbF9wdHJfLmFk
ZEZha2VDaGFyYWN0ZXJpc3RpYygKLSAgICAgICAgICAgIHt1dWlkOiBCbHVldG9vdGhVVUlELmdl
dENoYXJhY3RlcmlzdGljKHV1aWQpfSwKLSAgICAgICAgICAgIEFycmF5VG9Nb2pvQ2hhcmFjdGVy
aXN0aWNQcm9wZXJ0aWVzKHByb3BlcnRpZXMpLAotICAgICAgICAgICAgdGhpcy5zZXJ2aWNlX2lk
XywKLSAgICAgICAgICAgIHRoaXMucGVyaXBoZXJhbF9hZGRyZXNzXyk7Ci0KLSAgICBpZiAoY2hh
cmFjdGVyaXN0aWNfaWQgPT09IG51bGwpIHRocm93ICdhZGRGYWtlQ2hhcmFjdGVyaXN0aWMgZmFp
bGVkJzsKLQotICAgIHJldHVybiBuZXcgRmFrZVJlbW90ZUdBVFRDaGFyYWN0ZXJpc3RpYygKLSAg
ICAgIGNoYXJhY3RlcmlzdGljX2lkLCB0aGlzLnNlcnZpY2VfaWRfLAotICAgICAgdGhpcy5wZXJp
cGhlcmFsX2FkZHJlc3NfLCB0aGlzLmZha2VfY2VudHJhbF9wdHJfKTsKLSAgfQotCi0gIC8vIFJl
bW92ZXMgdGhlIGZha2UgR0FUVCBzZXJ2aWNlIGZyb20gaXRzIGZha2UgcGVyaXBoZXJhbC4KLSAg
YXN5bmMgcmVtb3ZlKCkgewotICAgIGxldCB7c3VjY2Vzc30gPQotICAgICAgICBhd2FpdCB0aGlz
LmZha2VfY2VudHJhbF9wdHJfLnJlbW92ZUZha2VTZXJ2aWNlKAotICAgICAgICAgICAgdGhpcy5z
ZXJ2aWNlX2lkXywKLSAgICAgICAgICAgIHRoaXMucGVyaXBoZXJhbF9hZGRyZXNzXyk7Ci0KLSAg
ICBpZiAoIXN1Y2Nlc3MpIHRocm93ICdyZW1vdmUgZmFpbGVkJzsKLSAgfQotfQotCi1jbGFzcyBG
YWtlUmVtb3RlR0FUVENoYXJhY3RlcmlzdGljIHsKLSAgY29uc3RydWN0b3IoY2hhcmFjdGVyaXN0
aWNfaWQsIHNlcnZpY2VfaWQsIHBlcmlwaGVyYWxfYWRkcmVzcywKLSAgICAgIGZha2VfY2VudHJh
bF9wdHIpIHsKLSAgICB0aGlzLmlkc18gPSBbY2hhcmFjdGVyaXN0aWNfaWQsIHNlcnZpY2VfaWQs
IHBlcmlwaGVyYWxfYWRkcmVzc107Ci0gICAgdGhpcy5kZXNjcmlwdG9yc18gPSBbXTsKLSAgICB0
aGlzLmZha2VfY2VudHJhbF9wdHJfID0gZmFrZV9jZW50cmFsX3B0cjsKLSAgfQotCi0gIC8vIEFk
ZHMgYSBmYWtlIEdBVFQgRGVzY3JpcHRvciB3aXRoIHx1dWlkfCB0byBiZSBkaXNjb3ZlcmVkIHdo
ZW4KLSAgLy8gZGlzY292ZXJpbmcgdGhlIHBlcmlwaGVyYWwncyBHQVRUIEF0dHJpYnV0ZXMuIFJl
dHVybnMgYQotICAvLyBGYWtlUmVtb3RlR0FUVERlc2NyaXB0b3IgY29ycmVzcG9uZGluZyB0byB0
aGlzIGRlc2NyaXB0b3IuIHx1dWlkfCBzaG91bGQKLSAgLy8gYmUgYSBCbHVldG9vdGhEZXNjcmlw
dG9yVVVJRAotICAvLyBodHRwczovL3dlYmJsdWV0b290aGNnLmdpdGh1Yi5pby93ZWItYmx1ZXRv
b3RoLyN0eXBlZGVmZGVmLWJsdWV0b290aGRlc2NyaXB0b3J1dWlkCi0gIGFzeW5jIGFkZEZha2VE
ZXNjcmlwdG9yKHt1dWlkfSkgewotICAgIGxldCB7ZGVzY3JpcHRvcklkOiBkZXNjcmlwdG9yX2lk
fSA9Ci0gICAgICAgIGF3YWl0IHRoaXMuZmFrZV9jZW50cmFsX3B0cl8uYWRkRmFrZURlc2NyaXB0
b3IoCi0gICAgICAgICAgICB7dXVpZDogQmx1ZXRvb3RoVVVJRC5nZXREZXNjcmlwdG9yKHV1aWQp
fSwgLi4udGhpcy5pZHNfKTsKLQotICAgIGlmIChkZXNjcmlwdG9yX2lkID09PSBudWxsKSB0aHJv
dyAnYWRkRmFrZURlc2NyaXB0b3IgZmFpbGVkJzsKLQotICAgIGxldCBmYWtlX2Rlc2NyaXB0b3Ig
PSBuZXcgRmFrZVJlbW90ZUdBVFREZXNjcmlwdG9yKAotICAgICAgZGVzY3JpcHRvcl9pZCwgLi4u
dGhpcy5pZHNfLCB0aGlzLmZha2VfY2VudHJhbF9wdHJfKTsKLSAgICB0aGlzLmRlc2NyaXB0b3Jz
Xy5wdXNoKGZha2VfZGVzY3JpcHRvcik7Ci0KLSAgICByZXR1cm4gZmFrZV9kZXNjcmlwdG9yOwot
ICB9Ci0KLSAgLy8gU2V0cyB0aGUgbmV4dCByZWFkIHJlc3BvbnNlIGZvciBjaGFyYWN0ZXJpc3Rp
YyB0byB8Y29kZXwgYW5kIHx2YWx1ZXwuCi0gIC8vIHxjb2RlfCBjb3VsZCBiZSBhIEdBVFQgRXJy
b3IgUmVzcG9uc2UgZnJvbQotICAvLyBCVCA0LjIgVm9sIDMgUGFydCBGIDMuNC4xLjEgRXJyb3Ig
UmVzcG9uc2Ugb3IgYSBudW1iZXIgb3V0c2lkZSB0aGF0IHJhbmdlCi0gIC8vIHJldHVybmVkIGJ5
IHNwZWNpZmljIHBsYXRmb3JtcyBlLmcuIEFuZHJvaWQgcmV0dXJucyAweDEwMSB0byBzaWduYWwg
YSBHQVRUCi0gIC8vIGZhaWx1cmUuCi0gIC8vIGh0dHBzOi8vZGV2ZWxvcGVyLmFuZHJvaWQuY29t
L3JlZmVyZW5jZS9hbmRyb2lkL2JsdWV0b290aC9CbHVldG9vdGhHYXR0Lmh0bWwjR0FUVF9GQUlM
VVJFCi0gIGFzeW5jIHNldE5leHRSZWFkUmVzcG9uc2UoZ2F0dF9jb2RlLCB2YWx1ZT1udWxsKSB7
Ci0gICAgaWYgKGdhdHRfY29kZSA9PT0gMCAmJiB2YWx1ZSA9PT0gbnVsbCkgewotICAgICAgdGhy
b3cgJ3x2YWx1ZXwgY2FuXCd0IGJlIG51bGwgaWYgcmVhZCBzaG91bGQgc3VjY2Vzcy4nOwotICAg
IH0KLSAgICBpZiAoZ2F0dF9jb2RlICE9PSAwICYmIHZhbHVlICE9PSBudWxsKSB7Ci0gICAgICB0
aHJvdyAnfHZhbHVlfCBtdXN0IGJlIG51bGwgaWYgcmVhZCBzaG91bGQgZmFpbC4nOwotICAgIH0K
LQotICAgIGxldCB7c3VjY2Vzc30gPQotICAgICAgYXdhaXQgdGhpcy5mYWtlX2NlbnRyYWxfcHRy
Xy5zZXROZXh0UmVhZENoYXJhY3RlcmlzdGljUmVzcG9uc2UoCi0gICAgICAgIGdhdHRfY29kZSwg
dmFsdWUsIC4uLnRoaXMuaWRzXyk7Ci0KLSAgICBpZiAoIXN1Y2Nlc3MpIHRocm93ICdzZXROZXh0
UmVhZENoYXJhY3RlcmlzdGljUmVzcG9uc2UgZmFpbGVkJzsKLSAgfQotCi0gIC8vIFNldHMgdGhl
IG5leHQgd3JpdGUgcmVzcG9uc2UgZm9yIHRoaXMgY2hhcmFjdGVyaXN0aWMgdG8gfGNvZGV8LiBJ
ZgotICAvLyB3cml0aW5nIHRvIGEgY2hhcmFjdGVyaXN0aWMgdGhhdCBvbmx5IHN1cHBvcnRzICd3
cml0ZV93aXRob3V0X3Jlc3BvbnNlJwotICAvLyB0aGUgc2V0IHJlc3BvbnNlIHdpbGwgYmUgaWdu
b3JlZC4KLSAgLy8gfGNvZGV8IGNvdWxkIGJlIGEgR0FUVCBFcnJvciBSZXNwb25zZSBmcm9tCi0g
IC8vIEJUIDQuMiBWb2wgMyBQYXJ0IEYgMy40LjEuMSBFcnJvciBSZXNwb25zZSBvciBhIG51bWJl
ciBvdXRzaWRlIHRoYXQgcmFuZ2UKLSAgLy8gcmV0dXJuZWQgYnkgc3BlY2lmaWMgcGxhdGZvcm1z
IGUuZy4gQW5kcm9pZCByZXR1cm5zIDB4MTAxIHRvIHNpZ25hbCBhIEdBVFQKLSAgLy8gZmFpbHVy
ZS4KLSAgYXN5bmMgc2V0TmV4dFdyaXRlUmVzcG9uc2UoZ2F0dF9jb2RlKSB7Ci0gICAgbGV0IHtz
dWNjZXNzfSA9Ci0gICAgICBhd2FpdCB0aGlzLmZha2VfY2VudHJhbF9wdHJfLnNldE5leHRXcml0
ZUNoYXJhY3RlcmlzdGljUmVzcG9uc2UoCi0gICAgICAgIGdhdHRfY29kZSwgLi4udGhpcy5pZHNf
KTsKLQotICAgIGlmICghc3VjY2VzcykgdGhyb3cgJ3NldE5leHRXcml0ZUNoYXJhY3RlcmlzdGlj
UmVzcG9uc2UgZmFpbGVkJzsKLSAgfQotCi0gIC8vIFNldHMgdGhlIG5leHQgc3Vic2NyaWJlIHRv
IG5vdGlmaWNhdGlvbnMgcmVzcG9uc2UgZm9yIGNoYXJhY3RlcmlzdGljIHdpdGgKLSAgLy8gfGNo
YXJhY3RlcmlzdGljX2lkfCBpbiB8c2VydmljZV9pZHwgYW5kIGluIHxwZXJpcGhlcmFsX2FkZHJl
c3N8IHRvCi0gIC8vIHxjb2RlfC4gfGNvZGV8IGNvdWxkIGJlIGEgR0FUVCBFcnJvciBSZXNwb25z
ZSBmcm9tIEJUIDQuMiBWb2wgMyBQYXJ0IEYKLSAgLy8gMy40LjEuMSBFcnJvciBSZXNwb25zZSBv
ciBhIG51bWJlciBvdXRzaWRlIHRoYXQgcmFuZ2UgcmV0dXJuZWQgYnkKLSAgLy8gc3BlY2lmaWMg
cGxhdGZvcm1zIGUuZy4gQW5kcm9pZCByZXR1cm5zIDB4MTAxIHRvIHNpZ25hbCBhIEdBVFQgZmFp
bHVyZS4KLSAgYXN5bmMgc2V0TmV4dFN1YnNjcmliZVRvTm90aWZpY2F0aW9uc1Jlc3BvbnNlKGdh
dHRfY29kZSkgewotICAgIGxldCB7c3VjY2Vzc30gPQotICAgICAgYXdhaXQgdGhpcy5mYWtlX2Nl
bnRyYWxfcHRyXy5zZXROZXh0U3Vic2NyaWJlVG9Ob3RpZmljYXRpb25zUmVzcG9uc2UoCi0gICAg
ICAgIGdhdHRfY29kZSwgLi4udGhpcy5pZHNfKTsKLQotICAgIGlmICghc3VjY2VzcykgdGhyb3cg
J3NldE5leHRTdWJzY3JpYmVUb05vdGlmaWNhdGlvbnNSZXNwb25zZSBmYWlsZWQnOwotICB9Ci0K
LSAgLy8gU2V0cyB0aGUgbmV4dCB1bnN1YnNjcmliZSB0byBub3RpZmljYXRpb25zIHJlc3BvbnNl
IGZvciBjaGFyYWN0ZXJpc3RpYyB3aXRoCi0gIC8vIHxjaGFyYWN0ZXJpc3RpY19pZHwgaW4gfHNl
cnZpY2VfaWR8IGFuZCBpbiB8cGVyaXBoZXJhbF9hZGRyZXNzfCB0bwotICAvLyB8Y29kZXwuIHxj
b2RlfCBjb3VsZCBiZSBhIEdBVFQgRXJyb3IgUmVzcG9uc2UgZnJvbSBCVCA0LjIgVm9sIDMgUGFy
dCBGCi0gIC8vIDMuNC4xLjEgRXJyb3IgUmVzcG9uc2Ugb3IgYSBudW1iZXIgb3V0c2lkZSB0aGF0
IHJhbmdlIHJldHVybmVkIGJ5Ci0gIC8vIHNwZWNpZmljIHBsYXRmb3JtcyBlLmcuIEFuZHJvaWQg
cmV0dXJucyAweDEwMSB0byBzaWduYWwgYSBHQVRUIGZhaWx1cmUuCi0gIGFzeW5jIHNldE5leHRV
bnN1YnNjcmliZUZyb21Ob3RpZmljYXRpb25zUmVzcG9uc2UoZ2F0dF9jb2RlKSB7Ci0gICAgbGV0
IHtzdWNjZXNzfSA9Ci0gICAgICBhd2FpdCB0aGlzLmZha2VfY2VudHJhbF9wdHJfLnNldE5leHRV
bnN1YnNjcmliZUZyb21Ob3RpZmljYXRpb25zUmVzcG9uc2UoCi0gICAgICAgIGdhdHRfY29kZSwg
Li4udGhpcy5pZHNfKTsKLQotICAgIGlmICghc3VjY2VzcykgdGhyb3cgJ3NldE5leHRVbnN1YnNj
cmliZVRvTm90aWZpY2F0aW9uc1Jlc3BvbnNlIGZhaWxlZCc7Ci0gIH0KLQotICAvLyBSZXR1cm5z
IHRydWUgaWYgbm90aWZpY2F0aW9ucyBmcm9tIHRoZSBjaGFyYWN0ZXJpc3RpYyBoYXZlIGJlZW4g
c3Vic2NyaWJlZAotICAvLyB0by4KLSAgYXN5bmMgaXNOb3RpZnlpbmcoKSB7Ci0gICAgbGV0IHtz
dWNjZXNzLCBpc05vdGlmeWluZ30gPQotICAgICAgICBhd2FpdCB0aGlzLmZha2VfY2VudHJhbF9w
dHJfLmlzTm90aWZ5aW5nKC4uLnRoaXMuaWRzXyk7Ci0KLSAgICBpZiAoIXN1Y2Nlc3MpIHRocm93
ICdpc05vdGlmeWluZyBmYWlsZWQnOwotCi0gICAgcmV0dXJuIGlzTm90aWZ5aW5nOwotICB9Ci0K
LSAgLy8gR2V0cyB0aGUgbGFzdCBzdWNjZXNzZnVsbHkgd3JpdHRlbiB2YWx1ZSB0byB0aGUgY2hh
cmFjdGVyaXN0aWMuCi0gIC8vIFJldHVybnMgbnVsbCBpZiBubyB2YWx1ZSBoYXMgeWV0IGJlZW4g
d3JpdHRlbiB0byB0aGUgY2hhcmFjdGVyaXN0aWMuCi0gIGFzeW5jIGdldExhc3RXcml0dGVuVmFs
dWUoKSB7Ci0gICAgbGV0IHtzdWNjZXNzLCB2YWx1ZX0gPQotICAgICAgYXdhaXQgdGhpcy5mYWtl
X2NlbnRyYWxfcHRyXy5nZXRMYXN0V3JpdHRlbkNoYXJhY3RlcmlzdGljVmFsdWUoCi0gICAgICAg
ICAgLi4udGhpcy5pZHNfKTsKLQotICAgIGlmICghc3VjY2VzcykgdGhyb3cgJ2dldExhc3RXcml0
dGVuQ2hhcmFjdGVyaXN0aWNWYWx1ZSBmYWlsZWQnOwotCi0gICAgcmV0dXJuIHZhbHVlOwotICB9
Ci0KLSAgLy8gUmVtb3ZlcyB0aGUgZmFrZSBHQVRUIENoYXJhY3RlcmlzdGljIGZyb20gaXRzIGZh
a2Ugc2VydmljZS4KLSAgYXN5bmMgcmVtb3ZlKCkgewotICAgIGxldCB7c3VjY2Vzc30gPQotICAg
ICAgICBhd2FpdCB0aGlzLmZha2VfY2VudHJhbF9wdHJfLnJlbW92ZUZha2VDaGFyYWN0ZXJpc3Rp
YyguLi50aGlzLmlkc18pOwotCi0gICAgaWYgKCFzdWNjZXNzKSB0aHJvdyAncmVtb3ZlIGZhaWxl
ZCc7Ci0gIH0KLX0KLQotY2xhc3MgRmFrZVJlbW90ZUdBVFREZXNjcmlwdG9yIHsKLSAgY29uc3Ry
dWN0b3IoZGVzY3JpcHRvcl9pZCwKLSAgICAgICAgICAgICAgY2hhcmFjdGVyaXN0aWNfaWQsCi0g
ICAgICAgICAgICAgIHNlcnZpY2VfaWQsCi0gICAgICAgICAgICAgIHBlcmlwaGVyYWxfYWRkcmVz
cywKLSAgICAgICAgICAgICAgZmFrZV9jZW50cmFsX3B0cikgewotICAgIHRoaXMuaWRzXyA9IFsK
LSAgICAgIGRlc2NyaXB0b3JfaWQsIGNoYXJhY3RlcmlzdGljX2lkLCBzZXJ2aWNlX2lkLCBwZXJp
cGhlcmFsX2FkZHJlc3NdOwotICAgIHRoaXMuZmFrZV9jZW50cmFsX3B0cl8gPSBmYWtlX2NlbnRy
YWxfcHRyOwotICB9Ci0KLSAgLy8gU2V0cyB0aGUgbmV4dCByZWFkIHJlc3BvbnNlIGZvciBkZXNj
cmlwdG9yIHRvIHxjb2RlfCBhbmQgfHZhbHVlfC4KLSAgLy8gfGNvZGV8IGNvdWxkIGJlIGEgR0FU
VCBFcnJvciBSZXNwb25zZSBmcm9tCi0gIC8vIEJUIDQuMiBWb2wgMyBQYXJ0IEYgMy40LjEuMSBF
cnJvciBSZXNwb25zZSBvciBhIG51bWJlciBvdXRzaWRlIHRoYXQgcmFuZ2UKLSAgLy8gcmV0dXJu
ZWQgYnkgc3BlY2lmaWMgcGxhdGZvcm1zIGUuZy4gQW5kcm9pZCByZXR1cm5zIDB4MTAxIHRvIHNp
Z25hbCBhIEdBVFQKLSAgLy8gZmFpbHVyZS4KLSAgLy8gaHR0cHM6Ly9kZXZlbG9wZXIuYW5kcm9p
ZC5jb20vcmVmZXJlbmNlL2FuZHJvaWQvYmx1ZXRvb3RoL0JsdWV0b290aEdhdHQuaHRtbCNHQVRU
X0ZBSUxVUkUKLSAgYXN5bmMgc2V0TmV4dFJlYWRSZXNwb25zZShnYXR0X2NvZGUsIHZhbHVlPW51
bGwpIHsKLSAgICBpZiAoZ2F0dF9jb2RlID09PSAwICYmIHZhbHVlID09PSBudWxsKSB7Ci0gICAg
ICB0aHJvdyAnfHZhbHVlfCBjYW5ub3QgYmUgbnVsbCBpZiByZWFkIHNob3VsZCBzdWNjZWVkLic7
Ci0gICAgfQotICAgIGlmIChnYXR0X2NvZGUgIT09IDAgJiYgdmFsdWUgIT09IG51bGwpIHsKLSAg
ICAgIHRocm93ICd8dmFsdWV8IG11c3QgYmUgbnVsbCBpZiByZWFkIHNob3VsZCBmYWlsLic7Ci0g
ICAgfQotCi0gICAgbGV0IHtzdWNjZXNzfSA9Ci0gICAgICBhd2FpdCB0aGlzLmZha2VfY2VudHJh
bF9wdHJfLnNldE5leHRSZWFkRGVzY3JpcHRvclJlc3BvbnNlKAotICAgICAgICBnYXR0X2NvZGUs
IHZhbHVlLCAuLi50aGlzLmlkc18pOwotCi0gICAgaWYgKCFzdWNjZXNzKSB0aHJvdyAnc2V0TmV4
dFJlYWREZXNjcmlwdG9yUmVzcG9uc2UgZmFpbGVkJzsKLSAgfQotCi0gIC8vIFNldHMgdGhlIG5l
eHQgd3JpdGUgcmVzcG9uc2UgZm9yIHRoaXMgZGVzY3JpcHRvciB0byB8Y29kZXwuCi0gIC8vIHxj
b2RlfCBjb3VsZCBiZSBhIEdBVFQgRXJyb3IgUmVzcG9uc2UgZnJvbQotICAvLyBCVCA0LjIgVm9s
IDMgUGFydCBGIDMuNC4xLjEgRXJyb3IgUmVzcG9uc2Ugb3IgYSBudW1iZXIgb3V0c2lkZSB0aGF0
IHJhbmdlCi0gIC8vIHJldHVybmVkIGJ5IHNwZWNpZmljIHBsYXRmb3JtcyBlLmcuIEFuZHJvaWQg
cmV0dXJucyAweDEwMSB0byBzaWduYWwgYSBHQVRUCi0gIC8vIGZhaWx1cmUuCi0gIGFzeW5jIHNl
dE5leHRXcml0ZVJlc3BvbnNlKGdhdHRfY29kZSkgewotICAgIGxldCB7c3VjY2Vzc30gPQotICAg
ICAgYXdhaXQgdGhpcy5mYWtlX2NlbnRyYWxfcHRyXy5zZXROZXh0V3JpdGVEZXNjcmlwdG9yUmVz
cG9uc2UoCi0gICAgICAgIGdhdHRfY29kZSwgLi4udGhpcy5pZHNfKTsKLQotICAgIGlmICghc3Vj
Y2VzcykgdGhyb3cgJ3NldE5leHRXcml0ZURlc2NyaXB0b3JSZXNwb25zZSBmYWlsZWQnOwotICB9
Ci0KLSAgLy8gR2V0cyB0aGUgbGFzdCBzdWNjZXNzZnVsbHkgd3JpdHRlbiB2YWx1ZSB0byB0aGUg
ZGVzY3JpcHRvci4KLSAgLy8gUmV0dXJucyBudWxsIGlmIG5vIHZhbHVlIGhhcyB5ZXQgYmVlbiB3
cml0dGVuIHRvIHRoZSBkZXNjcmlwdG9yLgotICBhc3luYyBnZXRMYXN0V3JpdHRlblZhbHVlKCkg
ewotICAgIGxldCB7c3VjY2VzcywgdmFsdWV9ID0KLSAgICAgIGF3YWl0IHRoaXMuZmFrZV9jZW50
cmFsX3B0cl8uZ2V0TGFzdFdyaXR0ZW5EZXNjcmlwdG9yVmFsdWUoCi0gICAgICAgICAgLi4udGhp
cy5pZHNfKTsKLQotICAgIGlmICghc3VjY2VzcykgdGhyb3cgJ2dldExhc3RXcml0dGVuRGVzY3Jp
cHRvclZhbHVlIGZhaWxlZCc7Ci0KLSAgICByZXR1cm4gdmFsdWU7Ci0gIH0KLQotICAvLyBSZW1v
dmVzIHRoZSBmYWtlIEdBVFQgRGVzY3JpcHRvciBmcm9tIGl0cyBmYWtlIGNoYXJhY3RlcmlzdGlj
LgotICBhc3luYyByZW1vdmUoKSB7Ci0gICAgbGV0IHtzdWNjZXNzfSA9Ci0gICAgICAgIGF3YWl0
IHRoaXMuZmFrZV9jZW50cmFsX3B0cl8ucmVtb3ZlRmFrZURlc2NyaXB0b3IoLi4udGhpcy5pZHNf
KTsKLQotICAgIGlmICghc3VjY2VzcykgdGhyb3cgJ3JlbW92ZSBmYWlsZWQnOwotICB9Ci19Ci0K
LS8vIEZha2VDaG9vc2VyIGFsbG93cyBjbGllbnRzIHRvIHNpbXVsYXRlIHVzZXIgYWN0aW9ucyBv
biBhIEJsdWV0b290aCBjaG9vc2VyLAotLy8gYW5kIHJlY29yZHMgdGhlIGV2ZW50cyBwcm9kdWNl
ZCBieSB0aGUgQmx1ZXRvb3RoIGNob29zZXIuCi1jbGFzcyBGYWtlQ2hvb3NlciB7Ci0gIGNvbnN0
cnVjdG9yKCkgewotICAgIGxldCBmYWtlQmx1ZXRvb3RoQ2hvb3NlckZhY3RvcnlQdHIgPQotICAg
ICAgICBuZXcgY29udGVudC5tb2pvbS5GYWtlQmx1ZXRvb3RoQ2hvb3NlckZhY3RvcnlQdHIoKTsK
LSAgICBNb2pvLmJpbmRJbnRlcmZhY2UoY29udGVudC5tb2pvbS5GYWtlQmx1ZXRvb3RoQ2hvb3Nl
ckZhY3RvcnkubmFtZSwKLSAgICAgICAgbW9qby5tYWtlUmVxdWVzdChmYWtlQmx1ZXRvb3RoQ2hv
b3NlckZhY3RvcnlQdHIpLmhhbmRsZSwgJ3Byb2Nlc3MnKTsKLQotICAgIHRoaXMuZmFrZV9ibHVl
dG9vdGhfY2hvb3Nlcl9wdHJfID0KLSAgICAgICAgbmV3IGNvbnRlbnQubW9qb20uRmFrZUJsdWV0
b290aENob29zZXJQdHIoKTsKLQotICAgIGxldCBjbGllbnRQdHJJbmZvID0gbmV3IG1vam8uQXNz
b2NpYXRlZEludGVyZmFjZVB0ckluZm8oKTsKLSAgICB0aGlzLmZha2VfYmx1ZXRvb3RoX2Nob29z
ZXJfY2xpZW50X2JpbmRpbmdfID0KLSAgICAgICAgbmV3IG1vam8uQXNzb2NpYXRlZEJpbmRpbmco
Y29udGVudC5tb2pvbS5GYWtlQmx1ZXRvb3RoQ2hvb3NlckNsaWVudCwKLSAgICAgICAgICAgIHRo
aXMsIG1vam8ubWFrZVJlcXVlc3QoY2xpZW50UHRySW5mbykpOwotCi0gICAgZmFrZUJsdWV0b290
aENob29zZXJGYWN0b3J5UHRyLmNyZWF0ZUZha2VCbHVldG9vdGhDaG9vc2VyKAotICAgICAgICBt
b2pvLm1ha2VSZXF1ZXN0KHRoaXMuZmFrZV9ibHVldG9vdGhfY2hvb3Nlcl9wdHJfKSwgY2xpZW50
UHRySW5mbyk7Ci0KLSAgICB0aGlzLmV2ZW50c18gPSBuZXcgQXJyYXkoKTsKLSAgICB0aGlzLmV2
ZW50X2xpc3RlbmVyXyA9IG51bGw7Ci0gIH0KLQotICAvLyBJZiB0aGUgY2hvb3NlciBoYXMgcmVj
ZWl2ZWQgbW9yZSBldmVudHMgdGhhbiB8bnVtT2ZFdmVudHN8IHRoaXMgZnVuY3Rpb24KLSAgLy8g
d2lsbCByZWplY3QgdGhlIHByb21pc2UsIGVsc2UgaXQgd2lsbCB3YWl0IHVudGlsIHxudW1PZkV2
ZW50c3wgZXZlbnRzIGFyZQotICAvLyByZWNlaXZlZCBiZWZvcmUgcmVzb2x2aW5nIHdpdGggYW4g
YXJyYXkgb2YgfEZha2VCbHVldG9vdGhDaG9vc2VyRXZlbnR8Ci0gIC8vIG9iamVjdHMuCi0gIGFz
eW5jIHdhaXRGb3JFdmVudHMobnVtT2ZFdmVudHMpIHsKLSAgICByZXR1cm4gbmV3IFByb21pc2Uo
cmVzb2x2ZSA9PiB7Ci0gICAgICBpZiAodGhpcy5ldmVudHNfLmxlbmd0aCA+IG51bU9mRXZlbnRz
KSB7Ci0gICAgICAgIHRocm93IGBBc2tlZCBmb3IgJHtudW1PZkV2ZW50c30gZXZlbnQocyksIGJ1
dCByZWNlaXZlZCBgICsKLSAgICAgICAgICAgIGAke3RoaXMuZXZlbnRzXy5sZW5ndGh9LmA7Ci0g
ICAgICB9Ci0KLSAgICAgIHRoaXMuZXZlbnRfbGlzdGVuZXJfID0gKCkgPT4gewotICAgICAgICAg
aWYgKHRoaXMuZXZlbnRzXy5sZW5ndGggPT09IG51bU9mRXZlbnRzKSB7Ci0gICAgICAgICAgbGV0
IHJlc3VsdCA9IEFycmF5LmZyb20odGhpcy5ldmVudHNfKTsKLSAgICAgICAgICB0aGlzLmV2ZW50
X2xpc3RlbmVyXyA9IG51bGw7Ci0gICAgICAgICAgdGhpcy5ldmVudHNfID0gW107Ci0gICAgICAg
ICAgcmVzb2x2ZShyZXN1bHQpOwotICAgICAgICB9Ci0gICAgICB9OwotICAgICAgdGhpcy5ldmVu
dF9saXN0ZW5lcl8oKTsKLSAgICB9KTsKLSAgfQotCi0gIGFzeW5jIHNlbGVjdFBlcmlwaGVyYWwo
cGVyaXBoZXJhbCkgewotICAgIGlmICghKHBlcmlwaGVyYWwgaW5zdGFuY2VvZiBGYWtlUGVyaXBo
ZXJhbCkpIHsKLSAgICAgIHRocm93ICd8cGVyaXBoZXJhbHwgbXVzdCBiZSBhbiBpbnN0YW5jZSBv
ZiBGYWtlUGVyaXBoZXJhbCc7Ci0gICAgfQotICAgIGF3YWl0IHRoaXMuZmFrZV9ibHVldG9vdGhf
Y2hvb3Nlcl9wdHJfLnNlbGVjdFBlcmlwaGVyYWwocGVyaXBoZXJhbC5hZGRyZXNzKTsKLSAgfQot
Ci0gIGFzeW5jIGNhbmNlbCgpIHsKLSAgICBhd2FpdCB0aGlzLmZha2VfYmx1ZXRvb3RoX2Nob29z
ZXJfcHRyXy5jYW5jZWwoKTsKLSAgfQotCi0gIGFzeW5jIHJlc2NhbigpIHsKLSAgICBhd2FpdCB0
aGlzLmZha2VfYmx1ZXRvb3RoX2Nob29zZXJfcHRyXy5yZXNjYW4oKTsKLSAgfQotCi0gIG9uRXZl
bnQoY2hvb3NlckV2ZW50KSB7Ci0gICAgY2hvb3NlckV2ZW50LnR5cGUgPSBNT0pPX0NIT09TRVJf
RVZFTlRfVFlQRV9NQVBbY2hvb3NlckV2ZW50LnR5cGVdOwotICAgIHRoaXMuZXZlbnRzXy5wdXNo
KGNob29zZXJFdmVudCk7Ci0gICAgaWYgKHRoaXMuZXZlbnRfbGlzdGVuZXJfICE9PSBudWxsKSB7
Ci0gICAgICB0aGlzLmV2ZW50X2xpc3RlbmVyXygpOwotICAgIH0KLSAgfQotfQotCi0vLyBJZiB0
aGlzIGxpbmUgZmFpbHMsIGl0IG1lYW5zIHRoYXQgY3VycmVudCBlbnZpcm9ubWVudCBkb2VzIG5v
dCBzdXBwb3J0IHRoZQotLy8gV2ViIEJsdWV0b290aCBUZXN0IEFQSS4KLXRyeSB7Ci0gIG5hdmln
YXRvci5ibHVldG9vdGgudGVzdCA9IG5ldyBGYWtlQmx1ZXRvb3RoKCk7Ci19IGNhdGNoIHsKLSAg
ICB0aHJvdyAnV2ViIEJsdWV0b290aCBUZXN0IEFQSSBpcyBub3QgaW1wbGVtZW50ZWQgb24gdGhp
cyAnICsKLSAgICAgICAgJ2Vudmlyb25tZW50LiBTZWUgdGhlIGJsdWV0b290aCBSRUFETUUgYXQg
JyArCi0gICAgICAgICdodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdC9i
bG9iL21hc3Rlci9ibHVldG9vdGgvUkVBRE1FLm1kI3dlYi1ibHVldG9vdGgtdGVzdGluZyc7Ci19
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy9jaHJvbWl1bS93ZWItYmx1ZXRvb3RoLXRlc3QuanMuaGVhZGVycyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVt
L3dlYi1ibHVldG9vdGgtdGVzdC5qcy5oZWFkZXJzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCA2ODA1YzMyM2RmNS4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vd2ViLWJsdWV0b290aC10
ZXN0LmpzLmhlYWRlcnMKKysrIC9kZXYvbnVsbApAQCAtMSArMCwwIEBACi1Db250ZW50LVR5cGU6
IHRleHQvamF2YXNjcmlwdDsgY2hhcnNldD11dGYtOApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vd2ViX3Vz
Yl9zZXJ2aWNlLm1vam9tLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vd2ViX3VzYl9zZXJ2aWNlLm1vam9tLmpzCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhNGEwMTdiMWRlMS4uMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hy
b21pdW0vd2ViX3VzYl9zZXJ2aWNlLm1vam9tLmpzCisrKyAvZGV2L251bGwKQEAgLTEsNjE0ICsw
LDAgQEAKLS8vIENvcHlyaWdodCAyMDE0IFRoZSBDaHJvbWl1bSBBdXRob3JzLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgotLy8gVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBC
U0Qtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQotLy8gZm91bmQgaW4gdGhlIExJQ0VOU0UgZmls
ZS4KLQotJ3VzZSBzdHJpY3QnOwotCi0oZnVuY3Rpb24oKSB7Ci0gIHZhciBtb2pvbUlkID0gJ3Ro
aXJkX3BhcnR5L2JsaW5rL3B1YmxpYy9tb2pvbS91c2Ivd2ViX3VzYl9zZXJ2aWNlLm1vam9tJzsK
LSAgaWYgKG1vam8uaW50ZXJuYWwuaXNNb2pvbUxvYWRlZChtb2pvbUlkKSkgewotICAgIGNvbnNv
bGUud2FybignVGhlIGZvbGxvd2luZyBtb2pvbSBpcyBsb2FkZWQgbXVsdGlwbGUgdGltZXM6ICcg
KyBtb2pvbUlkKTsKLSAgICByZXR1cm47Ci0gIH0KLSAgbW9qby5pbnRlcm5hbC5tYXJrTW9qb21M
b2FkZWQobW9qb21JZCk7Ci0gIHZhciBiaW5kaW5ncyA9IG1vam87Ci0gIHZhciBhc3NvY2lhdGVk
QmluZGluZ3MgPSBtb2pvOwotICB2YXIgY29kZWMgPSBtb2pvLmludGVybmFsOwotICB2YXIgdmFs
aWRhdG9yID0gbW9qby5pbnRlcm5hbDsKLQotICB2YXIgZXhwb3J0cyA9IG1vam8uaW50ZXJuYWwu
ZXhwb3NlTmFtZXNwYWNlKCdibGluay5tb2pvbScpOwotICB2YXIgZGV2aWNlJCA9Ci0gICAgICBt
b2pvLmludGVybmFsLmV4cG9zZU5hbWVzcGFjZSgnZGV2aWNlLm1vam9tJyk7Ci0gIGlmIChtb2pv
LmNvbmZpZy5hdXRvTG9hZE1vam9tRGVwcykgewotICAgIG1vam8uaW50ZXJuYWwubG9hZE1vam9t
SWZOZWNlc3NhcnkoCi0gICAgICAgICdkZXZpY2UvdXNiL3B1YmxpYy9tb2pvbS9kZXZpY2UubW9q
b20nLCAnLi4vLi4vLi4vLi4vLi4vZGV2aWNlL3VzYi9wdWJsaWMvbW9qb20vZGV2aWNlLm1vam9t
LmpzJyk7Ci0gIH0KLSAgdmFyIGRldmljZV9lbnVtZXJhdGlvbl9vcHRpb25zJCA9Ci0gICAgICBt
b2pvLmludGVybmFsLmV4cG9zZU5hbWVzcGFjZSgnZGV2aWNlLm1vam9tJyk7Ci0gIGlmIChtb2pv
LmNvbmZpZy5hdXRvTG9hZE1vam9tRGVwcykgewotICAgIG1vam8uaW50ZXJuYWwubG9hZE1vam9t
SWZOZWNlc3NhcnkoCi0gICAgICAgICdkZXZpY2UvdXNiL3B1YmxpYy9tb2pvbS9kZXZpY2VfZW51
bWVyYXRpb25fb3B0aW9ucy5tb2pvbScsICcuLi8uLi8uLi8uLi8uLi9kZXZpY2UvdXNiL3B1Ymxp
Yy9tb2pvbS9kZXZpY2VfZW51bWVyYXRpb25fb3B0aW9ucy5tb2pvbS5qcycpOwotICB9Ci0gIHZh
ciBkZXZpY2VfbWFuYWdlcl9jbGllbnQkID0KLSAgICAgIG1vam8uaW50ZXJuYWwuZXhwb3NlTmFt
ZXNwYWNlKCdkZXZpY2UubW9qb20nKTsKLSAgaWYgKG1vam8uY29uZmlnLmF1dG9Mb2FkTW9qb21E
ZXBzKSB7Ci0gICAgbW9qby5pbnRlcm5hbC5sb2FkTW9qb21JZk5lY2Vzc2FyeSgKLSAgICAgICAg
J2RldmljZS91c2IvcHVibGljL21vam9tL2RldmljZV9tYW5hZ2VyX2NsaWVudC5tb2pvbScsICcu
Li8uLi8uLi8uLi8uLi9kZXZpY2UvdXNiL3B1YmxpYy9tb2pvbS9kZXZpY2VfbWFuYWdlcl9jbGll
bnQubW9qb20uanMnKTsKLSAgfQotCi0KLQotICBmdW5jdGlvbiBXZWJVc2JTZXJ2aWNlX0dldERl
dmljZXNfUGFyYW1zKHZhbHVlcykgewotICAgIHRoaXMuaW5pdERlZmF1bHRzXygpOwotICAgIHRo
aXMuaW5pdEZpZWxkc18odmFsdWVzKTsKLSAgfQotCi0KLSAgV2ViVXNiU2VydmljZV9HZXREZXZp
Y2VzX1BhcmFtcy5wcm90b3R5cGUuaW5pdERlZmF1bHRzXyA9IGZ1bmN0aW9uKCkgewotICB9Owot
ICBXZWJVc2JTZXJ2aWNlX0dldERldmljZXNfUGFyYW1zLnByb3RvdHlwZS5pbml0RmllbGRzXyA9
IGZ1bmN0aW9uKGZpZWxkcykgewotICAgIGZvcih2YXIgZmllbGQgaW4gZmllbGRzKSB7Ci0gICAg
ICAgIGlmICh0aGlzLmhhc093blByb3BlcnR5KGZpZWxkKSkKLSAgICAgICAgICB0aGlzW2ZpZWxk
XSA9IGZpZWxkc1tmaWVsZF07Ci0gICAgfQotICB9OwotCi0gIFdlYlVzYlNlcnZpY2VfR2V0RGV2
aWNlc19QYXJhbXMudmFsaWRhdGUgPSBmdW5jdGlvbihtZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQp
IHsKLSAgICB2YXIgZXJyOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1
Y3RIZWFkZXIob2Zmc2V0LCBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVyciAh
PT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwot
Ci0gICAgdmFyIGtWZXJzaW9uU2l6ZXMgPSBbCi0gICAgICB7dmVyc2lvbjogMCwgbnVtQnl0ZXM6
IDh9Ci0gICAgXTsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0VmVy
c2lvbihvZmZzZXQsIGtWZXJzaW9uU2l6ZXMpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52
YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHJldHVybiB2
YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gIH07Ci0KLSAgV2ViVXNiU2VydmljZV9H
ZXREZXZpY2VzX1BhcmFtcy5lbmNvZGVkU2l6ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsg
MDsKLQotICBXZWJVc2JTZXJ2aWNlX0dldERldmljZXNfUGFyYW1zLmRlY29kZSA9IGZ1bmN0aW9u
KGRlY29kZXIpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIHZhciB2YWwgPSBuZXcgV2ViVXNiU2Vy
dmljZV9HZXREZXZpY2VzX1BhcmFtcygpOwotICAgIHZhciBudW1iZXJPZkJ5dGVzID0gZGVjb2Rl
ci5yZWFkVWludDMyKCk7Ci0gICAgdmFyIHZlcnNpb24gPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsK
LSAgICByZXR1cm4gdmFsOwotICB9OwotCi0gIFdlYlVzYlNlcnZpY2VfR2V0RGV2aWNlc19QYXJh
bXMuZW5jb2RlID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAg
ICBlbmNvZGVyLndyaXRlVWludDMyKFdlYlVzYlNlcnZpY2VfR2V0RGV2aWNlc19QYXJhbXMuZW5j
b2RlZFNpemUpOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoMCk7Ci0gIH07Ci0gIGZ1bmN0aW9u
IFdlYlVzYlNlcnZpY2VfR2V0RGV2aWNlc19SZXNwb25zZVBhcmFtcyh2YWx1ZXMpIHsKLSAgICB0
aGlzLmluaXREZWZhdWx0c18oKTsKLSAgICB0aGlzLmluaXRGaWVsZHNfKHZhbHVlcyk7Ci0gIH0K
LQotCi0gIFdlYlVzYlNlcnZpY2VfR2V0RGV2aWNlc19SZXNwb25zZVBhcmFtcy5wcm90b3R5cGUu
aW5pdERlZmF1bHRzXyA9IGZ1bmN0aW9uKCkgewotICAgIHRoaXMucmVzdWx0cyA9IG51bGw7Ci0g
IH07Ci0gIFdlYlVzYlNlcnZpY2VfR2V0RGV2aWNlc19SZXNwb25zZVBhcmFtcy5wcm90b3R5cGUu
aW5pdEZpZWxkc18gPSBmdW5jdGlvbihmaWVsZHMpIHsKLSAgICBmb3IodmFyIGZpZWxkIGluIGZp
ZWxkcykgewotICAgICAgICBpZiAodGhpcy5oYXNPd25Qcm9wZXJ0eShmaWVsZCkpCi0gICAgICAg
ICAgdGhpc1tmaWVsZF0gPSBmaWVsZHNbZmllbGRdOwotICAgIH0KLSAgfTsKLQotICBXZWJVc2JT
ZXJ2aWNlX0dldERldmljZXNfUmVzcG9uc2VQYXJhbXMudmFsaWRhdGUgPSBmdW5jdGlvbihtZXNz
YWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsKLSAgICB2YXIgZXJyOwotICAgIGVyciA9IG1lc3NhZ2VW
YWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RIZWFkZXIob2Zmc2V0LCBjb2RlYy5rU3RydWN0SGVhZGVy
U2l6ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQot
ICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgdmFyIGtWZXJzaW9uU2l6ZXMgPSBbCi0gICAgICB7
dmVyc2lvbjogMCwgbnVtQnl0ZXM6IDE2fQotICAgIF07Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlk
YXRvci52YWxpZGF0ZVN0cnVjdFZlcnNpb24ob2Zmc2V0LCBrVmVyc2lvblNpemVzKTsKLSAgICBp
ZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVy
biBlcnI7Ci0KLQotICAgIC8vIHZhbGlkYXRlIFdlYlVzYlNlcnZpY2VfR2V0RGV2aWNlc19SZXNw
b25zZVBhcmFtcy5yZXN1bHRzCi0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZUFy
cmF5UG9pbnRlcihvZmZzZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDAsIDgsIG5ldyBj
b2RlYy5Qb2ludGVyVG8oZGV2aWNlJC5Vc2JEZXZpY2VJbmZvKSwgZmFsc2UsIFswXSwgMCk7Ci0g
ICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICBy
ZXR1cm4gZXJyOwotCi0gICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORTsK
LSAgfTsKLQotICBXZWJVc2JTZXJ2aWNlX0dldERldmljZXNfUmVzcG9uc2VQYXJhbXMuZW5jb2Rl
ZFNpemUgPSBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDg7Ci0KLSAgV2ViVXNiU2VydmljZV9H
ZXREZXZpY2VzX1Jlc3BvbnNlUGFyYW1zLmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAg
ICB2YXIgcGFja2VkOwotICAgIHZhciB2YWwgPSBuZXcgV2ViVXNiU2VydmljZV9HZXREZXZpY2Vz
X1Jlc3BvbnNlUGFyYW1zKCk7Ci0gICAgdmFyIG51bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRV
aW50MzIoKTsKLSAgICB2YXIgdmVyc2lvbiA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZh
bC5yZXN1bHRzID0gZGVjb2Rlci5kZWNvZGVBcnJheVBvaW50ZXIobmV3IGNvZGVjLlBvaW50ZXJU
byhkZXZpY2UkLlVzYkRldmljZUluZm8pKTsKLSAgICByZXR1cm4gdmFsOwotICB9OwotCi0gIFdl
YlVzYlNlcnZpY2VfR2V0RGV2aWNlc19SZXNwb25zZVBhcmFtcy5lbmNvZGUgPSBmdW5jdGlvbihl
bmNvZGVyLCB2YWwpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIo
V2ViVXNiU2VydmljZV9HZXREZXZpY2VzX1Jlc3BvbnNlUGFyYW1zLmVuY29kZWRTaXplKTsKLSAg
ICBlbmNvZGVyLndyaXRlVWludDMyKDApOwotICAgIGVuY29kZXIuZW5jb2RlQXJyYXlQb2ludGVy
KG5ldyBjb2RlYy5Qb2ludGVyVG8oZGV2aWNlJC5Vc2JEZXZpY2VJbmZvKSwgdmFsLnJlc3VsdHMp
OwotICB9OwotICBmdW5jdGlvbiBXZWJVc2JTZXJ2aWNlX0dldERldmljZV9QYXJhbXModmFsdWVz
KSB7Ci0gICAgdGhpcy5pbml0RGVmYXVsdHNfKCk7Ci0gICAgdGhpcy5pbml0RmllbGRzXyh2YWx1
ZXMpOwotICB9Ci0KLQotICBXZWJVc2JTZXJ2aWNlX0dldERldmljZV9QYXJhbXMucHJvdG90eXBl
LmluaXREZWZhdWx0c18gPSBmdW5jdGlvbigpIHsKLSAgICB0aGlzLmd1aWQgPSBudWxsOwotICAg
IHRoaXMuZGV2aWNlUmVxdWVzdGQgPSBuZXcgYmluZGluZ3MuSW50ZXJmYWNlUmVxdWVzdCgpOwot
ICB9OwotICBXZWJVc2JTZXJ2aWNlX0dldERldmljZV9QYXJhbXMucHJvdG90eXBlLmluaXRGaWVs
ZHNfID0gZnVuY3Rpb24oZmllbGRzKSB7Ci0gICAgZm9yKHZhciBmaWVsZCBpbiBmaWVsZHMpIHsK
LSAgICAgICAgaWYgKHRoaXMuaGFzT3duUHJvcGVydHkoZmllbGQpKQotICAgICAgICAgIHRoaXNb
ZmllbGRdID0gZmllbGRzW2ZpZWxkXTsKLSAgICB9Ci0gIH07Ci0KLSAgV2ViVXNiU2VydmljZV9H
ZXREZXZpY2VfUGFyYW1zLnZhbGlkYXRlID0gZnVuY3Rpb24obWVzc2FnZVZhbGlkYXRvciwgb2Zm
c2V0KSB7Ci0gICAgdmFyIGVycjsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRl
U3RydWN0SGVhZGVyKG9mZnNldCwgY29kZWMua1N0cnVjdEhlYWRlclNpemUpOwotICAgIGlmIChl
cnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVy
cjsKLQotICAgIHZhciBrVmVyc2lvblNpemVzID0gWwotICAgICAge3ZlcnNpb246IDAsIG51bUJ5
dGVzOiAyNH0KLSAgICBdOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1
Y3RWZXJzaW9uKG9mZnNldCwga1ZlcnNpb25TaXplcyk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRh
dG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0KLSAgICAv
LyB2YWxpZGF0ZSBXZWJVc2JTZXJ2aWNlX0dldERldmljZV9QYXJhbXMuZ3VpZAotICAgIGVyciA9
IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJpbmdQb2ludGVyKG9mZnNldCArIGNvZGVjLmtT
dHJ1Y3RIZWFkZXJTaXplICsgMCwgZmFsc2UpCi0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZh
bGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0KLSAgICAvLyB2YWxp
ZGF0ZSBXZWJVc2JTZXJ2aWNlX0dldERldmljZV9QYXJhbXMuZGV2aWNlUmVxdWVzdGQKLSAgICBl
cnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlSW50ZXJmYWNlUmVxdWVzdChvZmZzZXQgKyBj
b2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDgsIGZhbHNlKQotICAgIGlmIChlcnIgIT09IHZhbGlk
YXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHJl
dHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gIH07Ci0KLSAgV2ViVXNiU2Vy
dmljZV9HZXREZXZpY2VfUGFyYW1zLmVuY29kZWRTaXplID0gY29kZWMua1N0cnVjdEhlYWRlclNp
emUgKyAxNjsKLQotICBXZWJVc2JTZXJ2aWNlX0dldERldmljZV9QYXJhbXMuZGVjb2RlID0gZnVu
Y3Rpb24oZGVjb2RlcikgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgdmFyIHZhbCA9IG5ldyBXZWJV
c2JTZXJ2aWNlX0dldERldmljZV9QYXJhbXMoKTsKLSAgICB2YXIgbnVtYmVyT2ZCeXRlcyA9IGRl
Y29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhciB2ZXJzaW9uID0gZGVjb2Rlci5yZWFkVWludDMy
KCk7Ci0gICAgdmFsLmd1aWQgPSBkZWNvZGVyLmRlY29kZVN0cnVjdChjb2RlYy5TdHJpbmcpOwot
ICAgIHZhbC5kZXZpY2VSZXF1ZXN0ZCA9IGRlY29kZXIuZGVjb2RlU3RydWN0KGNvZGVjLkludGVy
ZmFjZVJlcXVlc3QpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7
Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICByZXR1cm4g
dmFsOwotICB9OwotCi0gIFdlYlVzYlNlcnZpY2VfR2V0RGV2aWNlX1BhcmFtcy5lbmNvZGUgPSBm
dW5jdGlvbihlbmNvZGVyLCB2YWwpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIGVuY29kZXIud3Jp
dGVVaW50MzIoV2ViVXNiU2VydmljZV9HZXREZXZpY2VfUGFyYW1zLmVuY29kZWRTaXplKTsKLSAg
ICBlbmNvZGVyLndyaXRlVWludDMyKDApOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNvZGVj
LlN0cmluZywgdmFsLmd1aWQpOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNvZGVjLkludGVy
ZmFjZVJlcXVlc3QsIHZhbC5kZXZpY2VSZXF1ZXN0ZCk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwot
ICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5z
a2lwKDEpOwotICB9OwotICBmdW5jdGlvbiBXZWJVc2JTZXJ2aWNlX0dldFBlcm1pc3Npb25fUGFy
YW1zKHZhbHVlcykgewotICAgIHRoaXMuaW5pdERlZmF1bHRzXygpOwotICAgIHRoaXMuaW5pdEZp
ZWxkc18odmFsdWVzKTsKLSAgfQotCi0KLSAgV2ViVXNiU2VydmljZV9HZXRQZXJtaXNzaW9uX1Bh
cmFtcy5wcm90b3R5cGUuaW5pdERlZmF1bHRzXyA9IGZ1bmN0aW9uKCkgewotICAgIHRoaXMuZGV2
aWNlRmlsdGVycyA9IG51bGw7Ci0gIH07Ci0gIFdlYlVzYlNlcnZpY2VfR2V0UGVybWlzc2lvbl9Q
YXJhbXMucHJvdG90eXBlLmluaXRGaWVsZHNfID0gZnVuY3Rpb24oZmllbGRzKSB7Ci0gICAgZm9y
KHZhciBmaWVsZCBpbiBmaWVsZHMpIHsKLSAgICAgICAgaWYgKHRoaXMuaGFzT3duUHJvcGVydHko
ZmllbGQpKQotICAgICAgICAgIHRoaXNbZmllbGRdID0gZmllbGRzW2ZpZWxkXTsKLSAgICB9Ci0g
IH07Ci0KLSAgV2ViVXNiU2VydmljZV9HZXRQZXJtaXNzaW9uX1BhcmFtcy52YWxpZGF0ZSA9IGZ1
bmN0aW9uKG1lc3NhZ2VWYWxpZGF0b3IsIG9mZnNldCkgewotICAgIHZhciBlcnI7Ci0gICAgZXJy
ID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdEhlYWRlcihvZmZzZXQsIGNvZGVjLmtT
dHJ1Y3RIZWFkZXJTaXplKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVy
cm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICB2YXIga1ZlcnNpb25TaXplcyA9
IFsKLSAgICAgIHt2ZXJzaW9uOiAwLCBudW1CeXRlczogMTZ9Ci0gICAgXTsKLSAgICBlcnIgPSBt
ZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0VmVyc2lvbihvZmZzZXQsIGtWZXJzaW9uU2l6
ZXMpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAg
ICAgICAgcmV0dXJuIGVycjsKLQotCi0gICAgLy8gdmFsaWRhdGUgV2ViVXNiU2VydmljZV9HZXRQ
ZXJtaXNzaW9uX1BhcmFtcy5kZXZpY2VGaWx0ZXJzCi0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRv
ci52YWxpZGF0ZUFycmF5UG9pbnRlcihvZmZzZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSAr
IDAsIDgsIG5ldyBjb2RlYy5Qb2ludGVyVG8oZGV2aWNlX2VudW1lcmF0aW9uX29wdGlvbnMkLlVz
YkRldmljZUZpbHRlciksIGZhbHNlLCBbMF0sIDApOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRv
ci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHJldHVy
biB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gIH07Ci0KLSAgV2ViVXNiU2Vydmlj
ZV9HZXRQZXJtaXNzaW9uX1BhcmFtcy5lbmNvZGVkU2l6ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFkZXJT
aXplICsgODsKLQotICBXZWJVc2JTZXJ2aWNlX0dldFBlcm1pc3Npb25fUGFyYW1zLmRlY29kZSA9
IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIHZhciB2YWwgPSBuZXcg
V2ViVXNiU2VydmljZV9HZXRQZXJtaXNzaW9uX1BhcmFtcygpOwotICAgIHZhciBudW1iZXJPZkJ5
dGVzID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFyIHZlcnNpb24gPSBkZWNvZGVyLnJl
YWRVaW50MzIoKTsKLSAgICB2YWwuZGV2aWNlRmlsdGVycyA9IGRlY29kZXIuZGVjb2RlQXJyYXlQ
b2ludGVyKG5ldyBjb2RlYy5Qb2ludGVyVG8oZGV2aWNlX2VudW1lcmF0aW9uX29wdGlvbnMkLlVz
YkRldmljZUZpbHRlcikpOwotICAgIHJldHVybiB2YWw7Ci0gIH07Ci0KLSAgV2ViVXNiU2Vydmlj
ZV9HZXRQZXJtaXNzaW9uX1BhcmFtcy5lbmNvZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2YWwpIHsK
LSAgICB2YXIgcGFja2VkOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoV2ViVXNiU2VydmljZV9H
ZXRQZXJtaXNzaW9uX1BhcmFtcy5lbmNvZGVkU2l6ZSk7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQz
MigwKTsKLSAgICBlbmNvZGVyLmVuY29kZUFycmF5UG9pbnRlcihuZXcgY29kZWMuUG9pbnRlclRv
KGRldmljZV9lbnVtZXJhdGlvbl9vcHRpb25zJC5Vc2JEZXZpY2VGaWx0ZXIpLCB2YWwuZGV2aWNl
RmlsdGVycyk7Ci0gIH07Ci0gIGZ1bmN0aW9uIFdlYlVzYlNlcnZpY2VfR2V0UGVybWlzc2lvbl9S
ZXNwb25zZVBhcmFtcyh2YWx1ZXMpIHsKLSAgICB0aGlzLmluaXREZWZhdWx0c18oKTsKLSAgICB0
aGlzLmluaXRGaWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0gIFdlYlVzYlNlcnZpY2VfR2V0UGVy
bWlzc2lvbl9SZXNwb25zZVBhcmFtcy5wcm90b3R5cGUuaW5pdERlZmF1bHRzXyA9IGZ1bmN0aW9u
KCkgewotICAgIHRoaXMucmVzdWx0ID0gbnVsbDsKLSAgfTsKLSAgV2ViVXNiU2VydmljZV9HZXRQ
ZXJtaXNzaW9uX1Jlc3BvbnNlUGFyYW1zLnByb3RvdHlwZS5pbml0RmllbGRzXyA9IGZ1bmN0aW9u
KGZpZWxkcykgewotICAgIGZvcih2YXIgZmllbGQgaW4gZmllbGRzKSB7Ci0gICAgICAgIGlmICh0
aGlzLmhhc093blByb3BlcnR5KGZpZWxkKSkKLSAgICAgICAgICB0aGlzW2ZpZWxkXSA9IGZpZWxk
c1tmaWVsZF07Ci0gICAgfQotICB9OwotCi0gIFdlYlVzYlNlcnZpY2VfR2V0UGVybWlzc2lvbl9S
ZXNwb25zZVBhcmFtcy52YWxpZGF0ZSA9IGZ1bmN0aW9uKG1lc3NhZ2VWYWxpZGF0b3IsIG9mZnNl
dCkgewotICAgIHZhciBlcnI7Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0
cnVjdEhlYWRlcihvZmZzZXQsIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplKTsKLSAgICBpZiAoZXJy
ICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7
Ci0KLSAgICB2YXIga1ZlcnNpb25TaXplcyA9IFsKLSAgICAgIHt2ZXJzaW9uOiAwLCBudW1CeXRl
czogMTZ9Ci0gICAgXTsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0
VmVyc2lvbihvZmZzZXQsIGtWZXJzaW9uU2l6ZXMpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRv
ci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0gICAgLy8g
dmFsaWRhdGUgV2ViVXNiU2VydmljZV9HZXRQZXJtaXNzaW9uX1Jlc3BvbnNlUGFyYW1zLnJlc3Vs
dAotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RQb2ludGVyKG9mZnNl
dCArIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgMCwgZGV2aWNlJC5Vc2JEZXZpY2VJbmZvLCB0
cnVlKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0g
ICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJv
ci5OT05FOwotICB9OwotCi0gIFdlYlVzYlNlcnZpY2VfR2V0UGVybWlzc2lvbl9SZXNwb25zZVBh
cmFtcy5lbmNvZGVkU2l6ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgODsKLQotICBXZWJV
c2JTZXJ2aWNlX0dldFBlcm1pc3Npb25fUmVzcG9uc2VQYXJhbXMuZGVjb2RlID0gZnVuY3Rpb24o
ZGVjb2RlcikgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgdmFyIHZhbCA9IG5ldyBXZWJVc2JTZXJ2
aWNlX0dldFBlcm1pc3Npb25fUmVzcG9uc2VQYXJhbXMoKTsKLSAgICB2YXIgbnVtYmVyT2ZCeXRl
cyA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhciB2ZXJzaW9uID0gZGVjb2Rlci5yZWFk
VWludDMyKCk7Ci0gICAgdmFsLnJlc3VsdCA9IGRlY29kZXIuZGVjb2RlU3RydWN0UG9pbnRlcihk
ZXZpY2UkLlVzYkRldmljZUluZm8pOwotICAgIHJldHVybiB2YWw7Ci0gIH07Ci0KLSAgV2ViVXNi
U2VydmljZV9HZXRQZXJtaXNzaW9uX1Jlc3BvbnNlUGFyYW1zLmVuY29kZSA9IGZ1bmN0aW9uKGVu
Y29kZXIsIHZhbCkgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMihX
ZWJVc2JTZXJ2aWNlX0dldFBlcm1pc3Npb25fUmVzcG9uc2VQYXJhbXMuZW5jb2RlZFNpemUpOwot
ICAgIGVuY29kZXIud3JpdGVVaW50MzIoMCk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3RQb2lu
dGVyKGRldmljZSQuVXNiRGV2aWNlSW5mbywgdmFsLnJlc3VsdCk7Ci0gIH07Ci0gIGZ1bmN0aW9u
IFdlYlVzYlNlcnZpY2VfU2V0Q2xpZW50X1BhcmFtcyh2YWx1ZXMpIHsKLSAgICB0aGlzLmluaXRE
ZWZhdWx0c18oKTsKLSAgICB0aGlzLmluaXRGaWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0gIFdl
YlVzYlNlcnZpY2VfU2V0Q2xpZW50X1BhcmFtcy5wcm90b3R5cGUuaW5pdERlZmF1bHRzXyA9IGZ1
bmN0aW9uKCkgewotICAgIHRoaXMuY2xpZW50ID0gbmV3IGFzc29jaWF0ZWRCaW5kaW5ncy5Bc3Nv
Y2lhdGVkSW50ZXJmYWNlUHRySW5mbygpOwotICB9OwotICBXZWJVc2JTZXJ2aWNlX1NldENsaWVu
dF9QYXJhbXMucHJvdG90eXBlLmluaXRGaWVsZHNfID0gZnVuY3Rpb24oZmllbGRzKSB7Ci0gICAg
Zm9yKHZhciBmaWVsZCBpbiBmaWVsZHMpIHsKLSAgICAgICAgaWYgKHRoaXMuaGFzT3duUHJvcGVy
dHkoZmllbGQpKQotICAgICAgICAgIHRoaXNbZmllbGRdID0gZmllbGRzW2ZpZWxkXTsKLSAgICB9
Ci0gIH07Ci0KLSAgV2ViVXNiU2VydmljZV9TZXRDbGllbnRfUGFyYW1zLnZhbGlkYXRlID0gZnVu
Y3Rpb24obWVzc2FnZVZhbGlkYXRvciwgb2Zmc2V0KSB7Ci0gICAgdmFyIGVycjsKLSAgICBlcnIg
PSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0SGVhZGVyKG9mZnNldCwgY29kZWMua1N0
cnVjdEhlYWRlclNpemUpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJy
b3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHZhciBrVmVyc2lvblNpemVzID0g
WwotICAgICAge3ZlcnNpb246IDAsIG51bUJ5dGVzOiAxNn0KLSAgICBdOwotICAgIGVyciA9IG1l
c3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RWZXJzaW9uKG9mZnNldCwga1ZlcnNpb25TaXpl
cyk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAg
ICAgICByZXR1cm4gZXJyOwotCi0KLSAgICAvLyB2YWxpZGF0ZSBXZWJVc2JTZXJ2aWNlX1NldENs
aWVudF9QYXJhbXMuY2xpZW50Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZUFz
c29jaWF0ZWRJbnRlcmZhY2Uob2Zmc2V0ICsgY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyAwLCBm
YWxzZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQot
ICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJy
b3IuTk9ORTsKLSAgfTsKLQotICBXZWJVc2JTZXJ2aWNlX1NldENsaWVudF9QYXJhbXMuZW5jb2Rl
ZFNpemUgPSBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDg7Ci0KLSAgV2ViVXNiU2VydmljZV9T
ZXRDbGllbnRfUGFyYW1zLmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICB2YXIgcGFj
a2VkOwotICAgIHZhciB2YWwgPSBuZXcgV2ViVXNiU2VydmljZV9TZXRDbGllbnRfUGFyYW1zKCk7
Ci0gICAgdmFyIG51bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YXIg
dmVyc2lvbiA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhbC5jbGllbnQgPSBkZWNvZGVy
LmRlY29kZVN0cnVjdChjb2RlYy5Bc3NvY2lhdGVkSW50ZXJmYWNlUHRySW5mbyk7Ci0gICAgcmV0
dXJuIHZhbDsKLSAgfTsKLQotICBXZWJVc2JTZXJ2aWNlX1NldENsaWVudF9QYXJhbXMuZW5jb2Rl
ID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICBlbmNvZGVy
LndyaXRlVWludDMyKFdlYlVzYlNlcnZpY2VfU2V0Q2xpZW50X1BhcmFtcy5lbmNvZGVkU2l6ZSk7
Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMigwKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdChj
b2RlYy5Bc3NvY2lhdGVkSW50ZXJmYWNlUHRySW5mbywgdmFsLmNsaWVudCk7Ci0gIH07Ci0gIHZh
ciBrV2ViVXNiU2VydmljZV9HZXREZXZpY2VzX05hbWUgPSAwOwotICB2YXIga1dlYlVzYlNlcnZp
Y2VfR2V0RGV2aWNlX05hbWUgPSAxOwotICB2YXIga1dlYlVzYlNlcnZpY2VfR2V0UGVybWlzc2lv
bl9OYW1lID0gMjsKLSAgdmFyIGtXZWJVc2JTZXJ2aWNlX1NldENsaWVudF9OYW1lID0gMzsKLQot
ICBmdW5jdGlvbiBXZWJVc2JTZXJ2aWNlUHRyKGhhbmRsZU9yUHRySW5mbykgewotICAgIHRoaXMu
cHRyID0gbmV3IGJpbmRpbmdzLkludGVyZmFjZVB0ckNvbnRyb2xsZXIoV2ViVXNiU2VydmljZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRs
ZU9yUHRySW5mbyk7Ci0gIH0KLQotICBmdW5jdGlvbiBXZWJVc2JTZXJ2aWNlQXNzb2NpYXRlZFB0
cihhc3NvY2lhdGVkSW50ZXJmYWNlUHRySW5mbykgewotICAgIHRoaXMucHRyID0gbmV3IGFzc29j
aWF0ZWRCaW5kaW5ncy5Bc3NvY2lhdGVkSW50ZXJmYWNlUHRyQ29udHJvbGxlcigKLSAgICAgICAg
V2ViVXNiU2VydmljZSwgYXNzb2NpYXRlZEludGVyZmFjZVB0ckluZm8pOwotICB9Ci0KLSAgV2Vi
VXNiU2VydmljZUFzc29jaWF0ZWRQdHIucHJvdG90eXBlID0KLSAgICAgIE9iamVjdC5jcmVhdGUo
V2ViVXNiU2VydmljZVB0ci5wcm90b3R5cGUpOwotICBXZWJVc2JTZXJ2aWNlQXNzb2NpYXRlZFB0
ci5wcm90b3R5cGUuY29uc3RydWN0b3IgPQotICAgICAgV2ViVXNiU2VydmljZUFzc29jaWF0ZWRQ
dHI7Ci0KLSAgZnVuY3Rpb24gV2ViVXNiU2VydmljZVByb3h5KHJlY2VpdmVyKSB7Ci0gICAgdGhp
cy5yZWNlaXZlcl8gPSByZWNlaXZlcjsKLSAgfQotICBXZWJVc2JTZXJ2aWNlUHRyLnByb3RvdHlw
ZS5nZXREZXZpY2VzID0gZnVuY3Rpb24oKSB7Ci0gICAgcmV0dXJuIFdlYlVzYlNlcnZpY2VQcm94
eS5wcm90b3R5cGUuZ2V0RGV2aWNlcwotICAgICAgICAuYXBwbHkodGhpcy5wdHIuZ2V0UHJveHko
KSwgYXJndW1lbnRzKTsKLSAgfTsKLQotICBXZWJVc2JTZXJ2aWNlUHJveHkucHJvdG90eXBlLmdl
dERldmljZXMgPSBmdW5jdGlvbigpIHsKLSAgICB2YXIgcGFyYW1zXyA9IG5ldyBXZWJVc2JTZXJ2
aWNlX0dldERldmljZXNfUGFyYW1zKCk7Ci0gICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9u
KHJlc29sdmUsIHJlamVjdCkgewotICAgICAgdmFyIGJ1aWxkZXIgPSBuZXcgY29kZWMuTWVzc2Fn
ZVYxQnVpbGRlcigKLSAgICAgICAgICBrV2ViVXNiU2VydmljZV9HZXREZXZpY2VzX05hbWUsCi0g
ICAgICAgICAgY29kZWMuYWxpZ24oV2ViVXNiU2VydmljZV9HZXREZXZpY2VzX1BhcmFtcy5lbmNv
ZGVkU2l6ZSksCi0gICAgICAgICAgY29kZWMua01lc3NhZ2VFeHBlY3RzUmVzcG9uc2UsIDApOwot
ICAgICAgYnVpbGRlci5lbmNvZGVTdHJ1Y3QoV2ViVXNiU2VydmljZV9HZXREZXZpY2VzX1BhcmFt
cywgcGFyYW1zXyk7Ci0gICAgICB2YXIgbWVzc2FnZSA9IGJ1aWxkZXIuZmluaXNoKCk7Ci0gICAg
ICB0aGlzLnJlY2VpdmVyXy5hY2NlcHRBbmRFeHBlY3RSZXNwb25zZShtZXNzYWdlKS50aGVuKGZ1
bmN0aW9uKG1lc3NhZ2UpIHsKLSAgICAgICAgdmFyIHJlYWRlciA9IG5ldyBjb2RlYy5NZXNzYWdl
UmVhZGVyKG1lc3NhZ2UpOwotICAgICAgICB2YXIgcmVzcG9uc2VQYXJhbXMgPQotICAgICAgICAg
ICAgcmVhZGVyLmRlY29kZVN0cnVjdChXZWJVc2JTZXJ2aWNlX0dldERldmljZXNfUmVzcG9uc2VQ
YXJhbXMpOwotICAgICAgICByZXNvbHZlKHJlc3BvbnNlUGFyYW1zKTsKLSAgICAgIH0pLmNhdGNo
KGZ1bmN0aW9uKHJlc3VsdCkgewotICAgICAgICByZWplY3QoRXJyb3IoIkNvbm5lY3Rpb24gZXJy
b3I6ICIgKyByZXN1bHQpKTsKLSAgICAgIH0pOwotICAgIH0uYmluZCh0aGlzKSk7Ci0gIH07Ci0g
IFdlYlVzYlNlcnZpY2VQdHIucHJvdG90eXBlLmdldERldmljZSA9IGZ1bmN0aW9uKCkgewotICAg
IHJldHVybiBXZWJVc2JTZXJ2aWNlUHJveHkucHJvdG90eXBlLmdldERldmljZQotICAgICAgICAu
YXBwbHkodGhpcy5wdHIuZ2V0UHJveHkoKSwgYXJndW1lbnRzKTsKLSAgfTsKLQotICBXZWJVc2JT
ZXJ2aWNlUHJveHkucHJvdG90eXBlLmdldERldmljZSA9IGZ1bmN0aW9uKGd1aWQsIGRldmljZVJl
cXVlc3RkKSB7Ci0gICAgdmFyIHBhcmFtc18gPSBuZXcgV2ViVXNiU2VydmljZV9HZXREZXZpY2Vf
UGFyYW1zKCk7Ci0gICAgcGFyYW1zXy5ndWlkID0gZ3VpZDsKLSAgICBwYXJhbXNfLmRldmljZVJl
cXVlc3RkID0gZGV2aWNlUmVxdWVzdGQ7Ci0gICAgdmFyIGJ1aWxkZXIgPSBuZXcgY29kZWMuTWVz
c2FnZVYwQnVpbGRlcigKLSAgICAgICAga1dlYlVzYlNlcnZpY2VfR2V0RGV2aWNlX05hbWUsCi0g
ICAgICAgIGNvZGVjLmFsaWduKFdlYlVzYlNlcnZpY2VfR2V0RGV2aWNlX1BhcmFtcy5lbmNvZGVk
U2l6ZSkpOwotICAgIGJ1aWxkZXIuZW5jb2RlU3RydWN0KFdlYlVzYlNlcnZpY2VfR2V0RGV2aWNl
X1BhcmFtcywgcGFyYW1zXyk7Ci0gICAgdmFyIG1lc3NhZ2UgPSBidWlsZGVyLmZpbmlzaCgpOwot
ICAgIHRoaXMucmVjZWl2ZXJfLmFjY2VwdChtZXNzYWdlKTsKLSAgfTsKLSAgV2ViVXNiU2Vydmlj
ZVB0ci5wcm90b3R5cGUuZ2V0UGVybWlzc2lvbiA9IGZ1bmN0aW9uKCkgewotICAgIHJldHVybiBX
ZWJVc2JTZXJ2aWNlUHJveHkucHJvdG90eXBlLmdldFBlcm1pc3Npb24KLSAgICAgICAgLmFwcGx5
KHRoaXMucHRyLmdldFByb3h5KCksIGFyZ3VtZW50cyk7Ci0gIH07Ci0KLSAgV2ViVXNiU2Vydmlj
ZVByb3h5LnByb3RvdHlwZS5nZXRQZXJtaXNzaW9uID0gZnVuY3Rpb24oZGV2aWNlRmlsdGVycykg
ewotICAgIHZhciBwYXJhbXNfID0gbmV3IFdlYlVzYlNlcnZpY2VfR2V0UGVybWlzc2lvbl9QYXJh
bXMoKTsKLSAgICBwYXJhbXNfLmRldmljZUZpbHRlcnMgPSBkZXZpY2VGaWx0ZXJzOwotICAgIHJl
dHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKLSAgICAgIHZhciBi
dWlsZGVyID0gbmV3IGNvZGVjLk1lc3NhZ2VWMUJ1aWxkZXIoCi0gICAgICAgICAga1dlYlVzYlNl
cnZpY2VfR2V0UGVybWlzc2lvbl9OYW1lLAotICAgICAgICAgIGNvZGVjLmFsaWduKFdlYlVzYlNl
cnZpY2VfR2V0UGVybWlzc2lvbl9QYXJhbXMuZW5jb2RlZFNpemUpLAotICAgICAgICAgIGNvZGVj
LmtNZXNzYWdlRXhwZWN0c1Jlc3BvbnNlLCAwKTsKLSAgICAgIGJ1aWxkZXIuZW5jb2RlU3RydWN0
KFdlYlVzYlNlcnZpY2VfR2V0UGVybWlzc2lvbl9QYXJhbXMsIHBhcmFtc18pOwotICAgICAgdmFy
IG1lc3NhZ2UgPSBidWlsZGVyLmZpbmlzaCgpOwotICAgICAgdGhpcy5yZWNlaXZlcl8uYWNjZXB0
QW5kRXhwZWN0UmVzcG9uc2UobWVzc2FnZSkudGhlbihmdW5jdGlvbihtZXNzYWdlKSB7Ci0gICAg
ICAgIHZhciByZWFkZXIgPSBuZXcgY29kZWMuTWVzc2FnZVJlYWRlcihtZXNzYWdlKTsKLSAgICAg
ICAgdmFyIHJlc3BvbnNlUGFyYW1zID0KLSAgICAgICAgICAgIHJlYWRlci5kZWNvZGVTdHJ1Y3Qo
V2ViVXNiU2VydmljZV9HZXRQZXJtaXNzaW9uX1Jlc3BvbnNlUGFyYW1zKTsKLSAgICAgICAgcmVz
b2x2ZShyZXNwb25zZVBhcmFtcyk7Ci0gICAgICB9KS5jYXRjaChmdW5jdGlvbihyZXN1bHQpIHsK
LSAgICAgICAgcmVqZWN0KEVycm9yKCJDb25uZWN0aW9uIGVycm9yOiAiICsgcmVzdWx0KSk7Ci0g
ICAgICB9KTsKLSAgICB9LmJpbmQodGhpcykpOwotICB9OwotICBXZWJVc2JTZXJ2aWNlUHRyLnBy
b3RvdHlwZS5zZXRDbGllbnQgPSBmdW5jdGlvbigpIHsKLSAgICByZXR1cm4gV2ViVXNiU2Vydmlj
ZVByb3h5LnByb3RvdHlwZS5zZXRDbGllbnQKLSAgICAgICAgLmFwcGx5KHRoaXMucHRyLmdldFBy
b3h5KCksIGFyZ3VtZW50cyk7Ci0gIH07Ci0KLSAgV2ViVXNiU2VydmljZVByb3h5LnByb3RvdHlw
ZS5zZXRDbGllbnQgPSBmdW5jdGlvbihjbGllbnQpIHsKLSAgICB2YXIgcGFyYW1zXyA9IG5ldyBX
ZWJVc2JTZXJ2aWNlX1NldENsaWVudF9QYXJhbXMoKTsKLSAgICBwYXJhbXNfLmNsaWVudCA9IGNs
aWVudDsKLSAgICB2YXIgYnVpbGRlciA9IG5ldyBjb2RlYy5NZXNzYWdlVjJCdWlsZGVyKAotICAg
ICAgICBrV2ViVXNiU2VydmljZV9TZXRDbGllbnRfTmFtZSwKLSAgICAgICAgY29kZWMuYWxpZ24o
V2ViVXNiU2VydmljZV9TZXRDbGllbnRfUGFyYW1zLmVuY29kZWRTaXplKSk7Ci0gICAgYnVpbGRl
ci5zZXRQYXlsb2FkKFdlYlVzYlNlcnZpY2VfU2V0Q2xpZW50X1BhcmFtcywgcGFyYW1zXyk7Ci0g
ICAgdmFyIG1lc3NhZ2UgPSBidWlsZGVyLmZpbmlzaCgpOwotICAgIHRoaXMucmVjZWl2ZXJfLmFj
Y2VwdChtZXNzYWdlKTsKLSAgfTsKLQotICBmdW5jdGlvbiBXZWJVc2JTZXJ2aWNlU3R1YihkZWxl
Z2F0ZSkgewotICAgIHRoaXMuZGVsZWdhdGVfID0gZGVsZWdhdGU7Ci0gIH0KLSAgV2ViVXNiU2Vy
dmljZVN0dWIucHJvdG90eXBlLmdldERldmljZXMgPSBmdW5jdGlvbigpIHsKLSAgICByZXR1cm4g
dGhpcy5kZWxlZ2F0ZV8gJiYgdGhpcy5kZWxlZ2F0ZV8uZ2V0RGV2aWNlcyAmJiB0aGlzLmRlbGVn
YXRlXy5nZXREZXZpY2VzKCk7Ci0gIH0KLSAgV2ViVXNiU2VydmljZVN0dWIucHJvdG90eXBlLmdl
dERldmljZSA9IGZ1bmN0aW9uKGd1aWQsIGRldmljZVJlcXVlc3RkKSB7Ci0gICAgcmV0dXJuIHRo
aXMuZGVsZWdhdGVfICYmIHRoaXMuZGVsZWdhdGVfLmdldERldmljZSAmJiB0aGlzLmRlbGVnYXRl
Xy5nZXREZXZpY2UoZ3VpZCwgZGV2aWNlUmVxdWVzdGQpOwotICB9Ci0gIFdlYlVzYlNlcnZpY2VT
dHViLnByb3RvdHlwZS5nZXRQZXJtaXNzaW9uID0gZnVuY3Rpb24oZGV2aWNlRmlsdGVycykgewot
ICAgIHJldHVybiB0aGlzLmRlbGVnYXRlXyAmJiB0aGlzLmRlbGVnYXRlXy5nZXRQZXJtaXNzaW9u
ICYmIHRoaXMuZGVsZWdhdGVfLmdldFBlcm1pc3Npb24oZGV2aWNlRmlsdGVycyk7Ci0gIH0KLSAg
V2ViVXNiU2VydmljZVN0dWIucHJvdG90eXBlLnNldENsaWVudCA9IGZ1bmN0aW9uKGNsaWVudCkg
ewotICAgIHJldHVybiB0aGlzLmRlbGVnYXRlXyAmJiB0aGlzLmRlbGVnYXRlXy5zZXRDbGllbnQg
JiYgdGhpcy5kZWxlZ2F0ZV8uc2V0Q2xpZW50KGNsaWVudCk7Ci0gIH0KLQotICBXZWJVc2JTZXJ2
aWNlU3R1Yi5wcm90b3R5cGUuYWNjZXB0ID0gZnVuY3Rpb24obWVzc2FnZSkgewotICAgIHZhciBy
ZWFkZXIgPSBuZXcgY29kZWMuTWVzc2FnZVJlYWRlcihtZXNzYWdlKTsKLSAgICBzd2l0Y2ggKHJl
YWRlci5tZXNzYWdlTmFtZSkgewotICAgIGNhc2Uga1dlYlVzYlNlcnZpY2VfR2V0RGV2aWNlX05h
bWU6Ci0gICAgICB2YXIgcGFyYW1zID0gcmVhZGVyLmRlY29kZVN0cnVjdChXZWJVc2JTZXJ2aWNl
X0dldERldmljZV9QYXJhbXMpOwotICAgICAgdGhpcy5nZXREZXZpY2UocGFyYW1zLmd1aWQsIHBh
cmFtcy5kZXZpY2VSZXF1ZXN0ZCk7Ci0gICAgICByZXR1cm4gdHJ1ZTsKLSAgICBjYXNlIGtXZWJV
c2JTZXJ2aWNlX1NldENsaWVudF9OYW1lOgotICAgICAgdmFyIHBhcmFtcyA9IHJlYWRlci5kZWNv
ZGVTdHJ1Y3QoV2ViVXNiU2VydmljZV9TZXRDbGllbnRfUGFyYW1zKTsKLSAgICAgIHRoaXMuc2V0
Q2xpZW50KHBhcmFtcy5jbGllbnQpOwotICAgICAgcmV0dXJuIHRydWU7Ci0gICAgZGVmYXVsdDoK
LSAgICAgIHJldHVybiBmYWxzZTsKLSAgICB9Ci0gIH07Ci0KLSAgV2ViVXNiU2VydmljZVN0dWIu
cHJvdG90eXBlLmFjY2VwdFdpdGhSZXNwb25kZXIgPQotICAgICAgZnVuY3Rpb24obWVzc2FnZSwg
cmVzcG9uZGVyKSB7Ci0gICAgdmFyIHJlYWRlciA9IG5ldyBjb2RlYy5NZXNzYWdlUmVhZGVyKG1l
c3NhZ2UpOwotICAgIHN3aXRjaCAocmVhZGVyLm1lc3NhZ2VOYW1lKSB7Ci0gICAgY2FzZSBrV2Vi
VXNiU2VydmljZV9HZXREZXZpY2VzX05hbWU6Ci0gICAgICB2YXIgcGFyYW1zID0gcmVhZGVyLmRl
Y29kZVN0cnVjdChXZWJVc2JTZXJ2aWNlX0dldERldmljZXNfUGFyYW1zKTsKLSAgICAgIHRoaXMu
Z2V0RGV2aWNlcygpLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICAgICAgdmFyIHJlc3Bv
bnNlUGFyYW1zID0KLSAgICAgICAgICAgIG5ldyBXZWJVc2JTZXJ2aWNlX0dldERldmljZXNfUmVz
cG9uc2VQYXJhbXMoKTsKLSAgICAgICAgcmVzcG9uc2VQYXJhbXMucmVzdWx0cyA9IHJlc3BvbnNl
LnJlc3VsdHM7Ci0gICAgICAgIHZhciBidWlsZGVyID0gbmV3IGNvZGVjLk1lc3NhZ2VWMUJ1aWxk
ZXIoCi0gICAgICAgICAgICBrV2ViVXNiU2VydmljZV9HZXREZXZpY2VzX05hbWUsCi0gICAgICAg
ICAgICBjb2RlYy5hbGlnbihXZWJVc2JTZXJ2aWNlX0dldERldmljZXNfUmVzcG9uc2VQYXJhbXMu
ZW5jb2RlZFNpemUpLAotICAgICAgICAgICAgY29kZWMua01lc3NhZ2VJc1Jlc3BvbnNlLCByZWFk
ZXIucmVxdWVzdElEKTsKLSAgICAgICAgYnVpbGRlci5lbmNvZGVTdHJ1Y3QoV2ViVXNiU2Vydmlj
ZV9HZXREZXZpY2VzX1Jlc3BvbnNlUGFyYW1zLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICByZXNwb25zZVBhcmFtcyk7Ci0gICAgICAgIHZhciBtZXNzYWdlID0gYnVpbGRlci5maW5pc2go
KTsKLSAgICAgICAgcmVzcG9uZGVyLmFjY2VwdChtZXNzYWdlKTsKLSAgICAgIH0pOwotICAgICAg
cmV0dXJuIHRydWU7Ci0gICAgY2FzZSBrV2ViVXNiU2VydmljZV9HZXRQZXJtaXNzaW9uX05hbWU6
Ci0gICAgICB2YXIgcGFyYW1zID0gcmVhZGVyLmRlY29kZVN0cnVjdChXZWJVc2JTZXJ2aWNlX0dl
dFBlcm1pc3Npb25fUGFyYW1zKTsKLSAgICAgIHRoaXMuZ2V0UGVybWlzc2lvbihwYXJhbXMuZGV2
aWNlRmlsdGVycykudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgICAgICB2YXIgcmVzcG9u
c2VQYXJhbXMgPQotICAgICAgICAgICAgbmV3IFdlYlVzYlNlcnZpY2VfR2V0UGVybWlzc2lvbl9S
ZXNwb25zZVBhcmFtcygpOwotICAgICAgICByZXNwb25zZVBhcmFtcy5yZXN1bHQgPSByZXNwb25z
ZS5yZXN1bHQ7Ci0gICAgICAgIHZhciBidWlsZGVyID0gbmV3IGNvZGVjLk1lc3NhZ2VWMUJ1aWxk
ZXIoCi0gICAgICAgICAgICBrV2ViVXNiU2VydmljZV9HZXRQZXJtaXNzaW9uX05hbWUsCi0gICAg
ICAgICAgICBjb2RlYy5hbGlnbihXZWJVc2JTZXJ2aWNlX0dldFBlcm1pc3Npb25fUmVzcG9uc2VQ
YXJhbXMuZW5jb2RlZFNpemUpLAotICAgICAgICAgICAgY29kZWMua01lc3NhZ2VJc1Jlc3BvbnNl
LCByZWFkZXIucmVxdWVzdElEKTsKLSAgICAgICAgYnVpbGRlci5lbmNvZGVTdHJ1Y3QoV2ViVXNi
U2VydmljZV9HZXRQZXJtaXNzaW9uX1Jlc3BvbnNlUGFyYW1zLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICByZXNwb25zZVBhcmFtcyk7Ci0gICAgICAgIHZhciBtZXNzYWdlID0gYnVpbGRl
ci5maW5pc2goKTsKLSAgICAgICAgcmVzcG9uZGVyLmFjY2VwdChtZXNzYWdlKTsKLSAgICAgIH0p
OwotICAgICAgcmV0dXJuIHRydWU7Ci0gICAgZGVmYXVsdDoKLSAgICAgIHJldHVybiBmYWxzZTsK
LSAgICB9Ci0gIH07Ci0KLSAgZnVuY3Rpb24gdmFsaWRhdGVXZWJVc2JTZXJ2aWNlUmVxdWVzdCht
ZXNzYWdlVmFsaWRhdG9yKSB7Ci0gICAgdmFyIG1lc3NhZ2UgPSBtZXNzYWdlVmFsaWRhdG9yLm1l
c3NhZ2U7Ci0gICAgdmFyIHBhcmFtc0NsYXNzID0gbnVsbDsKLSAgICBzd2l0Y2ggKG1lc3NhZ2Uu
Z2V0TmFtZSgpKSB7Ci0gICAgICBjYXNlIGtXZWJVc2JTZXJ2aWNlX0dldERldmljZXNfTmFtZToK
LSAgICAgICAgaWYgKG1lc3NhZ2UuZXhwZWN0c1Jlc3BvbnNlKCkpCi0gICAgICAgICAgcGFyYW1z
Q2xhc3MgPSBXZWJVc2JTZXJ2aWNlX0dldERldmljZXNfUGFyYW1zOwotICAgICAgYnJlYWs7Ci0g
ICAgICBjYXNlIGtXZWJVc2JTZXJ2aWNlX0dldERldmljZV9OYW1lOgotICAgICAgICBpZiAoIW1l
c3NhZ2UuZXhwZWN0c1Jlc3BvbnNlKCkgJiYgIW1lc3NhZ2UuaXNSZXNwb25zZSgpKQotICAgICAg
ICAgIHBhcmFtc0NsYXNzID0gV2ViVXNiU2VydmljZV9HZXREZXZpY2VfUGFyYW1zOwotICAgICAg
YnJlYWs7Ci0gICAgICBjYXNlIGtXZWJVc2JTZXJ2aWNlX0dldFBlcm1pc3Npb25fTmFtZToKLSAg
ICAgICAgaWYgKG1lc3NhZ2UuZXhwZWN0c1Jlc3BvbnNlKCkpCi0gICAgICAgICAgcGFyYW1zQ2xh
c3MgPSBXZWJVc2JTZXJ2aWNlX0dldFBlcm1pc3Npb25fUGFyYW1zOwotICAgICAgYnJlYWs7Ci0g
ICAgICBjYXNlIGtXZWJVc2JTZXJ2aWNlX1NldENsaWVudF9OYW1lOgotICAgICAgICBpZiAoIW1l
c3NhZ2UuZXhwZWN0c1Jlc3BvbnNlKCkgJiYgIW1lc3NhZ2UuaXNSZXNwb25zZSgpKQotICAgICAg
ICAgIHBhcmFtc0NsYXNzID0gV2ViVXNiU2VydmljZV9TZXRDbGllbnRfUGFyYW1zOwotICAgICAg
YnJlYWs7Ci0gICAgfQotICAgIGlmIChwYXJhbXNDbGFzcyA9PT0gbnVsbCkKLSAgICAgIHJldHVy
biB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gICAgcmV0dXJuIHBhcmFtc0NsYXNz
LnZhbGlkYXRlKG1lc3NhZ2VWYWxpZGF0b3IsIG1lc3NhZ2VWYWxpZGF0b3IubWVzc2FnZS5nZXRI
ZWFkZXJOdW1CeXRlcygpKTsKLSAgfQotCi0gIGZ1bmN0aW9uIHZhbGlkYXRlV2ViVXNiU2Vydmlj
ZVJlc3BvbnNlKG1lc3NhZ2VWYWxpZGF0b3IpIHsKLSAgIHZhciBtZXNzYWdlID0gbWVzc2FnZVZh
bGlkYXRvci5tZXNzYWdlOwotICAgdmFyIHBhcmFtc0NsYXNzID0gbnVsbDsKLSAgIHN3aXRjaCAo
bWVzc2FnZS5nZXROYW1lKCkpIHsKLSAgICAgIGNhc2Uga1dlYlVzYlNlcnZpY2VfR2V0RGV2aWNl
c19OYW1lOgotICAgICAgICBpZiAobWVzc2FnZS5pc1Jlc3BvbnNlKCkpCi0gICAgICAgICAgcGFy
YW1zQ2xhc3MgPSBXZWJVc2JTZXJ2aWNlX0dldERldmljZXNfUmVzcG9uc2VQYXJhbXM7Ci0gICAg
ICAgIGJyZWFrOwotICAgICAgY2FzZSBrV2ViVXNiU2VydmljZV9HZXRQZXJtaXNzaW9uX05hbWU6
Ci0gICAgICAgIGlmIChtZXNzYWdlLmlzUmVzcG9uc2UoKSkKLSAgICAgICAgICBwYXJhbXNDbGFz
cyA9IFdlYlVzYlNlcnZpY2VfR2V0UGVybWlzc2lvbl9SZXNwb25zZVBhcmFtczsKLSAgICAgICAg
YnJlYWs7Ci0gICAgfQotICAgIGlmIChwYXJhbXNDbGFzcyA9PT0gbnVsbCkKLSAgICAgIHJldHVy
biB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gICAgcmV0dXJuIHBhcmFtc0NsYXNz
LnZhbGlkYXRlKG1lc3NhZ2VWYWxpZGF0b3IsIG1lc3NhZ2VWYWxpZGF0b3IubWVzc2FnZS5nZXRI
ZWFkZXJOdW1CeXRlcygpKTsKLSAgfQotCi0gIHZhciBXZWJVc2JTZXJ2aWNlID0gewotICAgIG5h
bWU6ICdibGluay5tb2pvbS5XZWJVc2JTZXJ2aWNlJywKLSAgICBrVmVyc2lvbjogMCwKLSAgICBw
dHJDbGFzczogV2ViVXNiU2VydmljZVB0ciwKLSAgICBwcm94eUNsYXNzOiBXZWJVc2JTZXJ2aWNl
UHJveHksCi0gICAgc3R1YkNsYXNzOiBXZWJVc2JTZXJ2aWNlU3R1YiwKLSAgICB2YWxpZGF0ZVJl
cXVlc3Q6IHZhbGlkYXRlV2ViVXNiU2VydmljZVJlcXVlc3QsCi0gICAgdmFsaWRhdGVSZXNwb25z
ZTogdmFsaWRhdGVXZWJVc2JTZXJ2aWNlUmVzcG9uc2UsCi0gIH07Ci0gIFdlYlVzYlNlcnZpY2VT
dHViLnByb3RvdHlwZS52YWxpZGF0b3IgPSB2YWxpZGF0ZVdlYlVzYlNlcnZpY2VSZXF1ZXN0Owot
ICBXZWJVc2JTZXJ2aWNlUHJveHkucHJvdG90eXBlLnZhbGlkYXRvciA9IHZhbGlkYXRlV2ViVXNi
U2VydmljZVJlc3BvbnNlOwotICBleHBvcnRzLldlYlVzYlNlcnZpY2UgPSBXZWJVc2JTZXJ2aWNl
OwotICBleHBvcnRzLldlYlVzYlNlcnZpY2VQdHIgPSBXZWJVc2JTZXJ2aWNlUHRyOwotICBleHBv
cnRzLldlYlVzYlNlcnZpY2VBc3NvY2lhdGVkUHRyID0gV2ViVXNiU2VydmljZUFzc29jaWF0ZWRQ
dHI7Ci19KSgpOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVt
L3dlYl91c2Jfc2VydmljZS5tb2pvbS5qcy5oZWFkZXJzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vd2ViX3VzYl9zZXJ2aWNl
Lm1vam9tLmpzLmhlYWRlcnMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY4MDVjMzIz
ZGY1Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS93ZWJfdXNiX3NlcnZpY2UubW9qb20uanMuaGVh
ZGVycworKysgL2Rldi9udWxsCkBAIC0xICswLDAgQEAKLUNvbnRlbnQtVHlwZTogdGV4dC9qYXZh
c2NyaXB0OyBjaGFyc2V0PXV0Zi04CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS93ZWJ1c2ItY2hpbGQtdGVz
dC5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL2Nocm9taXVtL3dlYnVzYi1jaGlsZC10ZXN0LmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCBlZTc5MGJiNjE5Zi4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vd2VidXNiLWNoaWxk
LXRlc3QuanMKKysrIC9kZXYvbnVsbApAQCAtMSw0MCArMCwwIEBACi0ndXNlIHN0cmljdCc7Ci0K
LS8vIFRoaXMgcG9seWZpbGwgcHJlcGFyZXMgYSBjaGlsZCBjb250ZXh0IHRvIGJlIGF0dGFjaGVk
IHRvIGEgcGFyZW50IGNvbnRleHQuCi0vLyBUaGUgcGFyZW50IG11c3QgY2FsbCBuYXZpZ2F0b3Iu
dXNiLnRlc3QuYXR0YWNoVG9Db250ZXh0KCkgdG8gYXR0YWNoIHRvIHRoZQotLy8gY2hpbGQgY29u
dGV4dC4KLSgoKSA9PiB7Ci0gIGlmICh0aGlzLmNvbnN0cnVjdG9yLm5hbWUgPT09ICdEZWRpY2F0
ZWRXb3JrZXJHbG9iYWxTY29wZScgfHwKLSAgICAgIHRoaXMgIT09IHdpbmRvdy50b3ApIHsKLQot
ICAgIC8vIFJ1biBDaHJvbWl1bSBzcGVjaWZpYyBzZXQgdXAgY29kZS4KLSAgICBpZiAodHlwZW9m
IE1vam9JbnRlcmZhY2VJbnRlcmNlcHRvciAhPT0gJ3VuZGVmaW5lZCcpIHsKLSAgICAgIGxldCBt
ZXNzYWdlQ2hhbm5lbCA9IG5ldyBNZXNzYWdlQ2hhbm5lbCgpOwotICAgICAgbWVzc2FnZUNoYW5u
ZWwucG9ydDEub25tZXNzYWdlID0gYXN5bmMgKG1lc3NhZ2VFdmVudCkgPT4gewotICAgICAgICBp
ZiAobWVzc2FnZUV2ZW50LmRhdGEudHlwZSA9PT0gJ0F0dGFjaCcpIHsKLSAgICAgICAgICBtZXNz
YWdlRXZlbnQuZGF0YS5pbnRlcmZhY2VzLmZvckVhY2goaW50ZXJmYWNlTmFtZSA9PiB7Ci0gICAg
ICAgICAgICBsZXQgaW50ZXJmYWNlSW50ZXJjZXB0b3IgPQotICAgICAgICAgICAgICAgIG5ldyBN
b2pvSW50ZXJmYWNlSW50ZXJjZXB0b3IoaW50ZXJmYWNlTmFtZSwgImNvbnRleHQiLCB0cnVlKTsK
LSAgICAgICAgICAgIGludGVyZmFjZUludGVyY2VwdG9yLm9uaW50ZXJmYWNlcmVxdWVzdCA9Ci0g
ICAgICAgICAgICAgIGUgPT4gbWVzc2FnZUNoYW5uZWwucG9ydDEucG9zdE1lc3NhZ2UoewotICAg
ICAgICAgICAgICAgIHR5cGU6IGludGVyZmFjZU5hbWUsCi0gICAgICAgICAgICAgICAgaGFuZGxl
OiBlLmhhbmRsZQotICAgICAgICAgICAgICB9LCBbZS5oYW5kbGVdKTsKLSAgICAgICAgICAgIGlu
dGVyZmFjZUludGVyY2VwdG9yLnN0YXJ0KCk7Ci0gICAgICAgICAgfSk7Ci0KLSAgICAgICAgICAv
LyBXYWl0IGZvciBhIGNhbGwgdG8gR2V0RGV2aWNlcygpIHRvIGVuc3VyZSB0aGF0IHRoZSBpbnRl
cmZhY2UKLSAgICAgICAgICAvLyBoYW5kbGVzIGFyZSBmb3J3YXJkZWQgdG8gdGhlIHBhcmVudCBj
b250ZXh0LgotICAgICAgICAgIGF3YWl0IG5hdmlnYXRvci51c2IuZ2V0RGV2aWNlcygpOwotICAg
ICAgICAgIG1lc3NhZ2VDaGFubmVsLnBvcnQxLnBvc3RNZXNzYWdlKHsgdHlwZTogJ0NvbXBsZXRl
JyB9KTsKLSAgICAgICAgfQotICAgICAgfTsKLQotICAgICAgbGV0IG1lc3NhZ2UgPSB7IHR5cGU6
ICdSZWFkeUZvckF0dGFjaG1lbnQnLCBwb3J0OiBtZXNzYWdlQ2hhbm5lbC5wb3J0MiB9OwotICAg
ICAgaWYgKHR5cGVvZiBXaW5kb3cgIT09ICd1bmRlZmluZWQnKQotICAgICAgICBwYXJlbnQucG9z
dE1lc3NhZ2UobWVzc2FnZSwgJyonLCBbbWVzc2FnZUNoYW5uZWwucG9ydDJdKTsKLSAgICAgIGVs
c2UKLSAgICAgICAgcG9zdE1lc3NhZ2UobWVzc2FnZSwgW21lc3NhZ2VDaGFubmVsLnBvcnQyXSk7
Ci0gICAgfQotICB9Ci19KSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vd2VidXNiLWNoaWxkLXRlc3Qu
anMuaGVhZGVycyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL2Nocm9taXVtL3dlYnVzYi1jaGlsZC10ZXN0LmpzLmhlYWRlcnMKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY4MDVjMzIzZGY1Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1
bS93ZWJ1c2ItY2hpbGQtdGVzdC5qcy5oZWFkZXJzCisrKyAvZGV2L251bGwKQEAgLTEgKzAsMCBA
QAotQ29udGVudC1UeXBlOiB0ZXh0L2phdmFzY3JpcHQ7IGNoYXJzZXQ9dXRmLTgKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L2Nocm9taXVtL3dlYnVzYi10ZXN0LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vd2VidXNiLXRlc3QuanMKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDgzYjg4MWY3ZDZlLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1
bS93ZWJ1c2ItdGVzdC5qcworKysgL2Rldi9udWxsCkBAIC0xLDU1MSArMCwwIEBACi0ndXNlIHN0
cmljdCc7Ci0KLS8vIFRoaXMgcG9seWZpbGwgbGlicmFyeSBpbXBsZW1lbnRzIHRoZSBXZWJVU0Ig
VGVzdCBBUEkgYXMgc3BlY2lmaWVkIGhlcmU6Ci0vLyBodHRwczovL3dpY2cuZ2l0aHViLmlvL3dl
YnVzYi90ZXN0LwotCi0oKCkgPT4gewotCi0vLyBUaGVzZSB2YXJpYWJsZXMgYXJlIGxvZ2ljYWxs
eSBtZW1iZXJzIG9mIHRoZSBVU0JUZXN0IGNsYXNzIGJ1dCBhcmUgZGVmaW5lZAotLy8gaGVyZSB0
byBoaWRlIHRoZW0gZnJvbSBiZWluZyB2aXNpYmxlIGFzIGZpZWxkcyBvZiBuYXZpZ2F0b3IudXNi
LnRlc3QuCi1sZXQgaW50ZXJuYWwgPSB7Ci0gIGludGlhbGl6ZWQ6IGZhbHNlLAotCi0gIHdlYlVz
YlNlcnZpY2U6IG51bGwsCi0gIHdlYlVzYlNlcnZpY2VJbnRlcmNlcHRvcjogbnVsbCwKLQotICBt
ZXNzYWdlUG9ydDogbnVsbCwKLX07Ci0KLWZ1bmN0aW9uIGdldE1lc3NhZ2VQb3J0KHRhcmdldCkg
ewotICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7Ci0gICAgdGFyZ2V0LmFkZEV2ZW50
TGlzdGVuZXIoJ21lc3NhZ2UnLCBtZXNzYWdlRXZlbnQgPT4gewotICAgICAgaWYgKG1lc3NhZ2VF
dmVudC5kYXRhLnR5cGUgPT09ICdSZWFkeUZvckF0dGFjaG1lbnQnKSB7Ci0gICAgICAgIGlmIChp
bnRlcm5hbC5tZXNzYWdlUG9ydCA9PT0gbnVsbCkgewotICAgICAgICAgIGludGVybmFsLm1lc3Nh
Z2VQb3J0ID0gbWVzc2FnZUV2ZW50LmRhdGEucG9ydDsKLSAgICAgICAgfQotICAgICAgICByZXNv
bHZlKCk7Ci0gICAgICB9Ci0gICAgfSwge29uY2U6IHRydWV9KTsKLSAgfSk7Ci19Ci0KLS8vIENv
bnZlcnRzIGFuIEVDTUFTY3JpcHQgU3RyaW5nIG9iamVjdCB0byBhbiBpbnN0YW5jZSBvZgotLy8g
bW9qb19iYXNlLm1vam9tLlN0cmluZzE2LgotZnVuY3Rpb24gbW9qb1N0cmluZzE2VG9TdHJpbmco
c3RyaW5nMTYpIHsKLSAgcmV0dXJuIFN0cmluZy5mcm9tQ2hhckNvZGUuYXBwbHkobnVsbCwgc3Ry
aW5nMTYuZGF0YSk7Ci19Ci0KLS8vIENvbnZlcnRzIGFuIGluc3RhbmNlIG9mIG1vam9fYmFzZS5t
b2pvbS5TdHJpbmcxNiB0byBhbiBFQ01BU2NyaXB0IFN0cmluZy4KLWZ1bmN0aW9uIHN0cmluZ1Rv
TW9qb1N0cmluZzE2KHN0cmluZykgewotICBsZXQgYXJyYXkgPSBuZXcgQXJyYXkoc3RyaW5nLmxl
bmd0aCk7Ci0gIGZvciAodmFyIGkgPSAwOyBpIDwgc3RyaW5nLmxlbmd0aDsgKytpKSB7Ci0gICAg
YXJyYXlbaV0gPSBzdHJpbmcuY2hhckNvZGVBdChpKTsKLSAgfQotICByZXR1cm4geyBkYXRhOiBh
cnJheSB9Ci19Ci0KLWZ1bmN0aW9uIGZha2VEZXZpY2VJbml0VG9EZXZpY2VJbmZvKGd1aWQsIGlu
aXQpIHsKLSAgbGV0IGRldmljZUluZm8gPSB7Ci0gICAgZ3VpZDogZ3VpZCArICIiLAotICAgIHVz
YlZlcnNpb25NYWpvcjogaW5pdC51c2JWZXJzaW9uTWFqb3IsCi0gICAgdXNiVmVyc2lvbk1pbm9y
OiBpbml0LnVzYlZlcnNpb25NaW5vciwKLSAgICB1c2JWZXJzaW9uU3VibWlub3I6IGluaXQudXNi
VmVyc2lvblN1Ym1pbm9yLAotICAgIGNsYXNzQ29kZTogaW5pdC5kZXZpY2VDbGFzcywKLSAgICBz
dWJjbGFzc0NvZGU6IGluaXQuZGV2aWNlU3ViY2xhc3MsCi0gICAgcHJvdG9jb2xDb2RlOiBpbml0
LmRldmljZVByb3RvY29sLAotICAgIHZlbmRvcklkOiBpbml0LnZlbmRvcklkLAotICAgIHByb2R1
Y3RJZDogaW5pdC5wcm9kdWN0SWQsCi0gICAgZGV2aWNlVmVyc2lvbk1ham9yOiBpbml0LmRldmlj
ZVZlcnNpb25NYWpvciwKLSAgICBkZXZpY2VWZXJzaW9uTWlub3I6IGluaXQuZGV2aWNlVmVyc2lv
bk1pbm9yLAotICAgIGRldmljZVZlcnNpb25TdWJtaW5vcjogaW5pdC5kZXZpY2VWZXJzaW9uU3Vi
bWlub3IsCi0gICAgbWFudWZhY3R1cmVyTmFtZTogc3RyaW5nVG9Nb2pvU3RyaW5nMTYoaW5pdC5t
YW51ZmFjdHVyZXJOYW1lKSwKLSAgICBwcm9kdWN0TmFtZTogc3RyaW5nVG9Nb2pvU3RyaW5nMTYo
aW5pdC5wcm9kdWN0TmFtZSksCi0gICAgc2VyaWFsTnVtYmVyOiBzdHJpbmdUb01vam9TdHJpbmcx
Nihpbml0LnNlcmlhbE51bWJlciksCi0gICAgYWN0aXZlQ29uZmlndXJhdGlvbjogaW5pdC5hY3Rp
dmVDb25maWd1cmF0aW9uVmFsdWUsCi0gICAgY29uZmlndXJhdGlvbnM6IFtdCi0gIH07Ci0gIGlu
aXQuY29uZmlndXJhdGlvbnMuZm9yRWFjaChjb25maWcgPT4gewotICAgIHZhciBjb25maWdJbmZv
ID0gewotICAgICAgY29uZmlndXJhdGlvblZhbHVlOiBjb25maWcuY29uZmlndXJhdGlvblZhbHVl
LAotICAgICAgY29uZmlndXJhdGlvbk5hbWU6IHN0cmluZ1RvTW9qb1N0cmluZzE2KGNvbmZpZy5j
b25maWd1cmF0aW9uTmFtZSksCi0gICAgICBzZWxmUG93ZXJlZDogZmFsc2UsCi0gICAgICByZW1v
dGVXYWtldXA6IGZhbHNlLAotICAgICAgbWF4aW11bVBvd2VyOiAwLAotICAgICAgaW50ZXJmYWNl
czogW10sCi0gICAgICBleHRyYURhdGE6IG5ldyBVaW50OEFycmF5KCkKLSAgICB9OwotICAgIGNv
bmZpZy5pbnRlcmZhY2VzLmZvckVhY2goaWZhY2UgPT4gewotICAgICAgdmFyIGludGVyZmFjZUlu
Zm8gPSB7Ci0gICAgICAgIGludGVyZmFjZU51bWJlcjogaWZhY2UuaW50ZXJmYWNlTnVtYmVyLAot
ICAgICAgICBhbHRlcm5hdGVzOiBbXQotICAgICAgfTsKLSAgICAgIGlmYWNlLmFsdGVybmF0ZXMu
Zm9yRWFjaChhbHRlcm5hdGUgPT4gewotICAgICAgICB2YXIgYWx0ZXJuYXRlSW5mbyA9IHsKLSAg
ICAgICAgICBhbHRlcm5hdGVTZXR0aW5nOiBhbHRlcm5hdGUuYWx0ZXJuYXRlU2V0dGluZywKLSAg
ICAgICAgICBjbGFzc0NvZGU6IGFsdGVybmF0ZS5pbnRlcmZhY2VDbGFzcywKLSAgICAgICAgICBz
dWJjbGFzc0NvZGU6IGFsdGVybmF0ZS5pbnRlcmZhY2VTdWJjbGFzcywKLSAgICAgICAgICBwcm90
b2NvbENvZGU6IGFsdGVybmF0ZS5pbnRlcmZhY2VQcm90b2NvbCwKLSAgICAgICAgICBpbnRlcmZh
Y2VOYW1lOiBzdHJpbmdUb01vam9TdHJpbmcxNihhbHRlcm5hdGUuaW50ZXJmYWNlTmFtZSksCi0g
ICAgICAgICAgZW5kcG9pbnRzOiBbXSwKLSAgICAgICAgICBleHRyYURhdGE6IG5ldyBVaW50OEFy
cmF5KCkKLSAgICAgICAgfTsKLSAgICAgICAgYWx0ZXJuYXRlLmVuZHBvaW50cy5mb3JFYWNoKGVu
ZHBvaW50ID0+IHsKLSAgICAgICAgICB2YXIgZW5kcG9pbnRJbmZvID0gewotICAgICAgICAgICAg
ZW5kcG9pbnROdW1iZXI6IGVuZHBvaW50LmVuZHBvaW50TnVtYmVyLAotICAgICAgICAgICAgcGFj
a2V0U2l6ZTogZW5kcG9pbnQucGFja2V0U2l6ZSwKLSAgICAgICAgICAgIHN5bmNocm9uaXphdGlv
blR5cGU6IGRldmljZS5tb2pvbS5Vc2JTeW5jaHJvbml6YXRpb25UeXBlLk5PTkUsCi0gICAgICAg
ICAgICB1c2FnZVR5cGU6IGRldmljZS5tb2pvbS5Vc2JVc2FnZVR5cGUuREFUQSwKLSAgICAgICAg
ICAgIHBvbGxpbmdJbnRlcnZhbDogMCwKLSAgICAgICAgICAgIGV4dHJhRGF0YTogbmV3IFVpbnQ4
QXJyYXkoKQotICAgICAgICAgIH07Ci0gICAgICAgICAgc3dpdGNoIChlbmRwb2ludC5kaXJlY3Rp
b24pIHsKLSAgICAgICAgICBjYXNlICJpbiI6Ci0gICAgICAgICAgICBlbmRwb2ludEluZm8uZGly
ZWN0aW9uID0gZGV2aWNlLm1vam9tLlVzYlRyYW5zZmVyRGlyZWN0aW9uLklOQk9VTkQ7Ci0gICAg
ICAgICAgICBicmVhazsKLSAgICAgICAgICBjYXNlICJvdXQiOgotICAgICAgICAgICAgZW5kcG9p
bnRJbmZvLmRpcmVjdGlvbiA9IGRldmljZS5tb2pvbS5Vc2JUcmFuc2ZlckRpcmVjdGlvbi5PVVRC
T1VORDsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgIH0KLSAgICAgICAgICBzd2l0Y2gg
KGVuZHBvaW50LnR5cGUpIHsKLSAgICAgICAgICBjYXNlICJidWxrIjoKLSAgICAgICAgICAgIGVu
ZHBvaW50SW5mby50eXBlID0gZGV2aWNlLm1vam9tLlVzYlRyYW5zZmVyVHlwZS5CVUxLOwotICAg
ICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgY2FzZSAiaW50ZXJydXB0IjoKLSAgICAgICAgICAg
IGVuZHBvaW50SW5mby50eXBlID0gZGV2aWNlLm1vam9tLlVzYlRyYW5zZmVyVHlwZS5JTlRFUlJV
UFQ7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgICBjYXNlICJpc29jaHJvbm91cyI6Ci0g
ICAgICAgICAgICBlbmRwb2ludEluZm8udHlwZSA9IGRldmljZS5tb2pvbS5Vc2JUcmFuc2ZlclR5
cGUuSVNPQ0hST05PVVM7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgICB9Ci0gICAgICAg
ICAgYWx0ZXJuYXRlSW5mby5lbmRwb2ludHMucHVzaChlbmRwb2ludEluZm8pOwotICAgICAgICB9
KTsKLSAgICAgICAgaW50ZXJmYWNlSW5mby5hbHRlcm5hdGVzLnB1c2goYWx0ZXJuYXRlSW5mbyk7
Ci0gICAgICB9KTsKLSAgICAgIGNvbmZpZ0luZm8uaW50ZXJmYWNlcy5wdXNoKGludGVyZmFjZUlu
Zm8pOwotICAgIH0pOwotICAgIGRldmljZUluZm8uY29uZmlndXJhdGlvbnMucHVzaChjb25maWdJ
bmZvKTsKLSAgfSk7Ci0gIHJldHVybiBkZXZpY2VJbmZvOwotfQotCi1mdW5jdGlvbiBjb252ZXJ0
TW9qb0RldmljZUZpbHRlcnMoaW5wdXQpIHsKLSAgbGV0IG91dHB1dCA9IFtdOwotICBpbnB1dC5m
b3JFYWNoKGZpbHRlciA9PiB7Ci0gICAgb3V0cHV0LnB1c2goY29udmVydE1vam9EZXZpY2VGaWx0
ZXIoZmlsdGVyKSk7Ci0gIH0pOwotICByZXR1cm4gb3V0cHV0OwotfQotCi1mdW5jdGlvbiBjb252
ZXJ0TW9qb0RldmljZUZpbHRlcihpbnB1dCkgewotICBsZXQgb3V0cHV0ID0ge307Ci0gIGlmIChp
bnB1dC5oYXNWZW5kb3JJZCkKLSAgICBvdXRwdXQudmVuZG9ySWQgPSBpbnB1dC52ZW5kb3JJZDsK
LSAgaWYgKGlucHV0Lmhhc1Byb2R1Y3RJZCkKLSAgICBvdXRwdXQucHJvZHVjdElkID0gaW5wdXQu
cHJvZHVjdElkOwotICBpZiAoaW5wdXQuaGFzQ2xhc3NDb2RlKQotICAgIG91dHB1dC5jbGFzc0Nv
ZGUgPSBpbnB1dC5jbGFzc0NvZGU7Ci0gIGlmIChpbnB1dC5oYXNTdWJjbGFzc0NvZGUpCi0gICAg
b3V0cHV0LnN1YmNsYXNzQ29kZSA9IGlucHV0LnN1YmNsYXNzQ29kZTsKLSAgaWYgKGlucHV0Lmhh
c1Byb3RvY29sQ29kZSkKLSAgICBvdXRwdXQucHJvdG9jb2xDb2RlID0gaW5wdXQucHJvdG9jb2xD
b2RlOwotICBpZiAoaW5wdXQuc2VyaWFsTnVtYmVyKQotICAgIG91dHB1dC5zZXJpYWxOdW1iZXIg
PSBtb2pvU3RyaW5nMTZUb1N0cmluZyhpbnB1dC5zZXJpYWxOdW1iZXIpOwotICByZXR1cm4gb3V0
cHV0OwotfQotCi1jbGFzcyBGYWtlRGV2aWNlIHsKLSAgY29uc3RydWN0b3IoZGV2aWNlSW5pdCkg
ewotICAgIHRoaXMuaW5mb18gPSBkZXZpY2VJbml0OwotICAgIHRoaXMub3BlbmVkXyA9IGZhbHNl
OwotICAgIHRoaXMuY3VycmVudENvbmZpZ3VyYXRpb25fID0gbnVsbDsKLSAgICB0aGlzLmNsYWlt
ZWRJbnRlcmZhY2VzXyA9IG5ldyBNYXAoKTsKLSAgfQotCi0gIGdldENvbmZpZ3VyYXRpb24oKSB7
Ci0gICAgaWYgKHRoaXMuY3VycmVudENvbmZpZ3VyYXRpb25fKSB7Ci0gICAgICByZXR1cm4gUHJv
bWlzZS5yZXNvbHZlKHsKLSAgICAgICAgICB2YWx1ZTogdGhpcy5jdXJyZW50Q29uZmlndXJhdGlv
bl8uY29uZmlndXJhdGlvblZhbHVlIH0pOwotICAgIH0gZWxzZSB7Ci0gICAgICByZXR1cm4gUHJv
bWlzZS5yZXNvbHZlKHsgdmFsdWU6IDAgfSk7Ci0gICAgfQotICB9Ci0KLSAgb3BlbigpIHsKLSAg
ICBhc3NlcnRfZmFsc2UodGhpcy5vcGVuZWRfKTsKLSAgICB0aGlzLm9wZW5lZF8gPSB0cnVlOwot
ICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoeyBlcnJvcjogZGV2aWNlLm1vam9tLlVzYk9wZW5E
ZXZpY2VFcnJvci5PSyB9KTsKLSAgfQotCi0gIGNsb3NlKCkgewotICAgIGFzc2VydF90cnVlKHRo
aXMub3BlbmVkXyk7Ci0gICAgdGhpcy5vcGVuZWRfID0gZmFsc2U7Ci0gICAgcmV0dXJuIFByb21p
c2UucmVzb2x2ZSgpOwotICB9Ci0KLSAgc2V0Q29uZmlndXJhdGlvbih2YWx1ZSkgewotICAgIGFz
c2VydF90cnVlKHRoaXMub3BlbmVkXyk7Ci0KLSAgICBsZXQgc2VsZWN0ZWRDb25maWd1cmF0aW9u
ID0gdGhpcy5pbmZvXy5jb25maWd1cmF0aW9ucy5maW5kKAotICAgICAgICBjb25maWd1cmF0aW9u
ID0+IGNvbmZpZ3VyYXRpb24uY29uZmlndXJhdGlvblZhbHVlID09IHZhbHVlKTsKLSAgICAvLyBC
bGluayBzaG91bGQgbmV2ZXIgcmVxdWVzdCBhbiBpbnZhbGlkIGNvbmZpZ3VyYXRpb24uCi0gICAg
YXNzZXJ0X25vdF9lcXVhbHMoc2VsZWN0ZWRDb25maWd1cmF0aW9uLCB1bmRlZmluZWQpOwotICAg
IHRoaXMuY3VycmVudENvbmZpZ3VyYXRpb25fID0gc2VsZWN0ZWRDb25maWd1cmF0aW9uOwotICAg
IHJldHVybiBQcm9taXNlLnJlc29sdmUoeyBzdWNjZXNzOiB0cnVlIH0pOwotICB9Ci0KLSAgY2xh
aW1JbnRlcmZhY2UoaW50ZXJmYWNlTnVtYmVyKSB7Ci0gICAgYXNzZXJ0X3RydWUodGhpcy5vcGVu
ZWRfKTsKLSAgICBhc3NlcnRfZmFsc2UodGhpcy5jdXJyZW50Q29uZmlndXJhdGlvbl8gPT0gbnVs
bCwgJ2RldmljZSBjb25maWd1cmVkJyk7Ci0gICAgYXNzZXJ0X2ZhbHNlKHRoaXMuY2xhaW1lZElu
dGVyZmFjZXNfLmhhcyhpbnRlcmZhY2VOdW1iZXIpLAotICAgICAgICAgICAgICAgICAnaW50ZXJm
YWNlIGFscmVhZHkgY2xhaW1lZCcpOwotCi0gICAgLy8gQmxpbmsgc2hvdWxkIG5ldmVyIHJlcXVl
c3QgYW4gaW52YWxpZCBpbnRlcmZhY2UuCi0gICAgYXNzZXJ0X3RydWUodGhpcy5jdXJyZW50Q29u
ZmlndXJhdGlvbl8uaW50ZXJmYWNlcy5zb21lKAotICAgICAgICAgICAgaWZhY2UgPT4gaWZhY2Uu
aW50ZXJmYWNlTnVtYmVyID09IGludGVyZmFjZU51bWJlcikpOwotICAgIHRoaXMuY2xhaW1lZElu
dGVyZmFjZXNfLnNldChpbnRlcmZhY2VOdW1iZXIsIDApOwotICAgIHJldHVybiBQcm9taXNlLnJl
c29sdmUoeyBzdWNjZXNzOiB0cnVlIH0pOwotICB9Ci0KLSAgcmVsZWFzZUludGVyZmFjZShpbnRl
cmZhY2VOdW1iZXIpIHsKLSAgICBhc3NlcnRfdHJ1ZSh0aGlzLm9wZW5lZF8pOwotICAgIGFzc2Vy
dF9mYWxzZSh0aGlzLmN1cnJlbnRDb25maWd1cmF0aW9uXyA9PSBudWxsLCAnZGV2aWNlIGNvbmZp
Z3VyZWQnKTsKLSAgICBhc3NlcnRfdHJ1ZSh0aGlzLmNsYWltZWRJbnRlcmZhY2VzXy5oYXMoaW50
ZXJmYWNlTnVtYmVyKSk7Ci0gICAgdGhpcy5jbGFpbWVkSW50ZXJmYWNlc18uZGVsZXRlKGludGVy
ZmFjZU51bWJlcik7Ci0gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh7IHN1Y2Nlc3M6IHRydWUg
fSk7Ci0gIH0KLQotICBzZXRJbnRlcmZhY2VBbHRlcm5hdGVTZXR0aW5nKGludGVyZmFjZU51bWJl
ciwgYWx0ZXJuYXRlU2V0dGluZykgewotICAgIGFzc2VydF90cnVlKHRoaXMub3BlbmVkXyk7Ci0g
ICAgYXNzZXJ0X2ZhbHNlKHRoaXMuY3VycmVudENvbmZpZ3VyYXRpb25fID09IG51bGwsICdkZXZp
Y2UgY29uZmlndXJlZCcpOwotICAgIGFzc2VydF90cnVlKHRoaXMuY2xhaW1lZEludGVyZmFjZXNf
LmhhcyhpbnRlcmZhY2VOdW1iZXIpKTsKLQotICAgIGxldCBpZmFjZSA9IHRoaXMuY3VycmVudENv
bmZpZ3VyYXRpb25fLmludGVyZmFjZXMuZmluZCgKLSAgICAgICAgaWZhY2UgPT4gaWZhY2UuaW50
ZXJmYWNlTnVtYmVyID09IGludGVyZmFjZU51bWJlcik7Ci0gICAgLy8gQmxpbmsgc2hvdWxkIG5l
dmVyIHJlcXVlc3QgYW4gaW52YWxpZCBpbnRlcmZhY2Ugb3IgYWx0ZXJuYXRlLgotICAgIGFzc2Vy
dF9mYWxzZShpZmFjZSA9PSB1bmRlZmluZWQpOwotICAgIGFzc2VydF90cnVlKGlmYWNlLmFsdGVy
bmF0ZXMuc29tZSgKLSAgICAgICAgeCA9PiB4LmFsdGVybmF0ZVNldHRpbmcgPT0gYWx0ZXJuYXRl
U2V0dGluZykpOwotICAgIHRoaXMuY2xhaW1lZEludGVyZmFjZXNfLnNldChpbnRlcmZhY2VOdW1i
ZXIsIGFsdGVybmF0ZVNldHRpbmcpOwotICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoeyBzdWNj
ZXNzOiB0cnVlIH0pOwotICB9Ci0KLSAgcmVzZXQoKSB7Ci0gICAgYXNzZXJ0X3RydWUodGhpcy5v
cGVuZWRfKTsKLSAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHsgc3VjY2VzczogdHJ1ZSB9KTsK
LSAgfQotCi0gIGNsZWFySGFsdChlbmRwb2ludCkgewotICAgIGFzc2VydF90cnVlKHRoaXMub3Bl
bmVkXyk7Ci0gICAgYXNzZXJ0X2ZhbHNlKHRoaXMuY3VycmVudENvbmZpZ3VyYXRpb25fID09IG51
bGwsICdkZXZpY2UgY29uZmlndXJlZCcpOwotICAgIC8vIFRPRE8ocmVpbGx5Zyk6IEFzc2VydCB0
aGF0IGVuZHBvaW50IGlzIHZhbGlkLgotICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoeyBzdWNj
ZXNzOiB0cnVlIH0pOwotICB9Ci0KLSAgYXN5bmMgY29udHJvbFRyYW5zZmVySW4ocGFyYW1zLCBs
ZW5ndGgsIHRpbWVvdXQpIHsKLSAgICBhc3NlcnRfdHJ1ZSh0aGlzLm9wZW5lZF8pOwotCi0gICAg
aWYgKChwYXJhbXMucmVjaXBpZW50ID09IGRldmljZS5tb2pvbS5Vc2JDb250cm9sVHJhbnNmZXJS
ZWNpcGllbnQuSU5URVJGQUNFIHx8Ci0gICAgICAgICBwYXJhbXMucmVjaXBpZW50ID09IGRldmlj
ZS5tb2pvbS5Vc2JDb250cm9sVHJhbnNmZXJSZWNpcGllbnQuRU5EUE9JTlQpICYmCi0gICAgICAg
IHRoaXMuY3VycmVudENvbmZpZ3VyYXRpb25fID09IG51bGwpIHsKLSAgICAgIHJldHVybiB7Ci0g
ICAgICAgIHN0YXR1czogZGV2aWNlLm1vam9tLlVzYlRyYW5zZmVyU3RhdHVzLlBFUk1JU1NJT05f
REVOSUVELAotICAgICAgfTsKLSAgICB9Ci0KLSAgICByZXR1cm4gewotICAgICAgc3RhdHVzOiBk
ZXZpY2UubW9qb20uVXNiVHJhbnNmZXJTdGF0dXMuT0ssCi0gICAgICBkYXRhOiBbbGVuZ3RoID4+
IDgsIGxlbmd0aCAmIDB4ZmYsIHBhcmFtcy5yZXF1ZXN0LCBwYXJhbXMudmFsdWUgPj4gOCwKLSAg
ICAgICAgICAgICBwYXJhbXMudmFsdWUgJiAweGZmLCBwYXJhbXMuaW5kZXggPj4gOCwgcGFyYW1z
LmluZGV4ICYgMHhmZl0KLSAgICB9OwotICB9Ci0KLSAgYXN5bmMgY29udHJvbFRyYW5zZmVyT3V0
KHBhcmFtcywgZGF0YSwgdGltZW91dCkgewotICAgIGFzc2VydF90cnVlKHRoaXMub3BlbmVkXyk7
Ci0KLSAgICBpZiAoKHBhcmFtcy5yZWNpcGllbnQgPT0gZGV2aWNlLm1vam9tLlVzYkNvbnRyb2xU
cmFuc2ZlclJlY2lwaWVudC5JTlRFUkZBQ0UgfHwKLSAgICAgICAgIHBhcmFtcy5yZWNpcGllbnQg
PT0gZGV2aWNlLm1vam9tLlVzYkNvbnRyb2xUcmFuc2ZlclJlY2lwaWVudC5FTkRQT0lOVCkgJiYK
LSAgICAgICAgdGhpcy5jdXJyZW50Q29uZmlndXJhdGlvbl8gPT0gbnVsbCkgewotICAgICAgcmV0
dXJuIHsKLSAgICAgICAgc3RhdHVzOiBkZXZpY2UubW9qb20uVXNiVHJhbnNmZXJTdGF0dXMuUEVS
TUlTU0lPTl9ERU5JRUQsCi0gICAgICB9OwotICAgIH0KLQotICAgIHJldHVybiB7Ci0gICAgICBz
dGF0dXM6IGRldmljZS5tb2pvbS5Vc2JUcmFuc2ZlclN0YXR1cy5PSywKLSAgICAgIGJ5dGVzV3Jp
dHRlbjogZGF0YS5ieXRlTGVuZ3RoCi0gICAgfTsKLSAgfQotCi0gIGdlbmVyaWNUcmFuc2Zlcklu
KGVuZHBvaW50TnVtYmVyLCBsZW5ndGgsIHRpbWVvdXQpIHsKLSAgICBhc3NlcnRfdHJ1ZSh0aGlz
Lm9wZW5lZF8pOwotICAgIGFzc2VydF9mYWxzZSh0aGlzLmN1cnJlbnRDb25maWd1cmF0aW9uXyA9
PSBudWxsLCAnZGV2aWNlIGNvbmZpZ3VyZWQnKTsKLSAgICAvLyBUT0RPKHJlaWxseWcpOiBBc3Nl
cnQgdGhhdCBlbmRwb2ludCBpcyB2YWxpZC4KLSAgICBsZXQgZGF0YSA9IG5ldyBBcnJheShsZW5n
dGgpOwotICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbGVuZ3RoOyArK2kpCi0gICAgICBkYXRhW2ld
ID0gaSAmIDB4ZmY7Ci0gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh7Ci0gICAgICBzdGF0dXM6
IGRldmljZS5tb2pvbS5Vc2JUcmFuc2ZlclN0YXR1cy5PSywKLSAgICAgIGRhdGE6IGRhdGEKLSAg
ICB9KTsKLSAgfQotCi0gIGdlbmVyaWNUcmFuc2Zlck91dChlbmRwb2ludE51bWJlciwgZGF0YSwg
dGltZW91dCkgewotICAgIGFzc2VydF90cnVlKHRoaXMub3BlbmVkXyk7Ci0gICAgYXNzZXJ0X2Zh
bHNlKHRoaXMuY3VycmVudENvbmZpZ3VyYXRpb25fID09IG51bGwsICdkZXZpY2UgY29uZmlndXJl
ZCcpOwotICAgIC8vIFRPRE8ocmVpbGx5Zyk6IEFzc2VydCB0aGF0IGVuZHBvaW50IGlzIHZhbGlk
LgotICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoewotICAgICAgc3RhdHVzOiBkZXZpY2UubW9q
b20uVXNiVHJhbnNmZXJTdGF0dXMuT0ssCi0gICAgICBieXRlc1dyaXR0ZW46IGRhdGEuYnl0ZUxl
bmd0aAotICAgIH0pOwotICB9Ci0KLSAgaXNvY2hyb25vdXNUcmFuc2ZlckluKGVuZHBvaW50TnVt
YmVyLCBwYWNrZXRMZW5ndGhzLCB0aW1lb3V0KSB7Ci0gICAgYXNzZXJ0X3RydWUodGhpcy5vcGVu
ZWRfKTsKLSAgICBhc3NlcnRfZmFsc2UodGhpcy5jdXJyZW50Q29uZmlndXJhdGlvbl8gPT0gbnVs
bCwgJ2RldmljZSBjb25maWd1cmVkJyk7Ci0gICAgLy8gVE9ETyhyZWlsbHlnKTogQXNzZXJ0IHRo
YXQgZW5kcG9pbnQgaXMgdmFsaWQuCi0gICAgbGV0IGRhdGEgPSBuZXcgQXJyYXkocGFja2V0TGVu
Z3Rocy5yZWR1Y2UoKGEsIGIpID0+IGEgKyBiLCAwKSk7Ci0gICAgbGV0IGRhdGFPZmZzZXQgPSAw
OwotICAgIGxldCBwYWNrZXRzID0gbmV3IEFycmF5KHBhY2tldExlbmd0aHMubGVuZ3RoKTsKLSAg
ICBmb3IgKGxldCBpID0gMDsgaSA8IHBhY2tldExlbmd0aHMubGVuZ3RoOyArK2kpIHsKLSAgICAg
IGZvciAobGV0IGogPSAwOyBqIDwgcGFja2V0TGVuZ3Roc1tpXTsgKytqKQotICAgICAgICBkYXRh
W2RhdGFPZmZzZXQrK10gPSBqICYgMHhmZjsKLSAgICAgIHBhY2tldHNbaV0gPSB7Ci0gICAgICAg
IGxlbmd0aDogcGFja2V0TGVuZ3Roc1tpXSwKLSAgICAgICAgdHJhbnNmZXJyZWRMZW5ndGg6IHBh
Y2tldExlbmd0aHNbaV0sCi0gICAgICAgIHN0YXR1czogZGV2aWNlLm1vam9tLlVzYlRyYW5zZmVy
U3RhdHVzLk9LCi0gICAgICB9OwotICAgIH0KLSAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHsg
ZGF0YTogZGF0YSwgcGFja2V0czogcGFja2V0cyB9KTsKLSAgfQotCi0gIGlzb2Nocm9ub3VzVHJh
bnNmZXJPdXQoZW5kcG9pbnROdW1iZXIsIGRhdGEsIHBhY2tldExlbmd0aHMsIHRpbWVvdXQpIHsK
LSAgICBhc3NlcnRfdHJ1ZSh0aGlzLm9wZW5lZF8pOwotICAgIGFzc2VydF9mYWxzZSh0aGlzLmN1
cnJlbnRDb25maWd1cmF0aW9uXyA9PSBudWxsLCAnZGV2aWNlIGNvbmZpZ3VyZWQnKTsKLSAgICAv
LyBUT0RPKHJlaWxseWcpOiBBc3NlcnQgdGhhdCBlbmRwb2ludCBpcyB2YWxpZC4KLSAgICBsZXQg
cGFja2V0cyA9IG5ldyBBcnJheShwYWNrZXRMZW5ndGhzLmxlbmd0aCk7Ci0gICAgZm9yIChsZXQg
aSA9IDA7IGkgPCBwYWNrZXRMZW5ndGhzLmxlbmd0aDsgKytpKSB7Ci0gICAgICBwYWNrZXRzW2ld
ID0gewotICAgICAgICBsZW5ndGg6IHBhY2tldExlbmd0aHNbaV0sCi0gICAgICAgIHRyYW5zZmVy
cmVkTGVuZ3RoOiBwYWNrZXRMZW5ndGhzW2ldLAotICAgICAgICBzdGF0dXM6IGRldmljZS5tb2pv
bS5Vc2JUcmFuc2ZlclN0YXR1cy5PSwotICAgICAgfTsKLSAgICB9Ci0gICAgcmV0dXJuIFByb21p
c2UucmVzb2x2ZSh7IHBhY2tldHM6IHBhY2tldHMgfSk7Ci0gIH0KLX0KLQotY2xhc3MgRmFrZVdl
YlVzYlNlcnZpY2UgewotICBjb25zdHJ1Y3RvcigpIHsKLSAgICB0aGlzLmJpbmRpbmdTZXRfID0g
bmV3IG1vam8uQmluZGluZ1NldChibGluay5tb2pvbS5XZWJVc2JTZXJ2aWNlKTsKLSAgICB0aGlz
LmRldmljZXNfID0gbmV3IE1hcCgpOwotICAgIHRoaXMuZGV2aWNlc0J5R3VpZF8gPSBuZXcgTWFw
KCk7Ci0gICAgdGhpcy5jbGllbnRfID0gbnVsbDsKLSAgICB0aGlzLm5leHRHdWlkXyA9IDA7Ci0g
IH0KLQotICBhZGRCaW5kaW5nKGhhbmRsZSkgewotICAgIHRoaXMuYmluZGluZ1NldF8uYWRkQmlu
ZGluZyh0aGlzLCBoYW5kbGUpOwotICB9Ci0KLSAgYWRkRGV2aWNlKGZha2VEZXZpY2UsIGluZm8p
IHsKLSAgICBsZXQgZGV2aWNlID0gewotICAgICAgZmFrZURldmljZTogZmFrZURldmljZSwKLSAg
ICAgIGd1aWQ6ICh0aGlzLm5leHRHdWlkXysrKS50b1N0cmluZygpLAotICAgICAgaW5mbzogaW5m
bywKLSAgICAgIGJpbmRpbmdBcnJheTogW10KLSAgICB9OwotICAgIHRoaXMuZGV2aWNlc18uc2V0
KGZha2VEZXZpY2UsIGRldmljZSk7Ci0gICAgdGhpcy5kZXZpY2VzQnlHdWlkXy5zZXQoZGV2aWNl
Lmd1aWQsIGRldmljZSk7Ci0gICAgaWYgKHRoaXMuY2xpZW50XykKLSAgICAgIHRoaXMuY2xpZW50
Xy5vbkRldmljZUFkZGVkKGZha2VEZXZpY2VJbml0VG9EZXZpY2VJbmZvKGRldmljZS5ndWlkLCBp
bmZvKSk7Ci0gIH0KLQotICByZW1vdmVEZXZpY2UoZmFrZURldmljZSkgewotICAgIGxldCBkZXZp
Y2UgPSB0aGlzLmRldmljZXNfLmdldChmYWtlRGV2aWNlKTsKLSAgICBpZiAoIWRldmljZSkKLSAg
ICAgIHRocm93IG5ldyBFcnJvcignQ2Fubm90IHJlbW92ZSB1bmtub3duIGRldmljZS4nKTsKLQot
ICAgIGZvciAodmFyIGJpbmRpbmcgb2YgZGV2aWNlLmJpbmRpbmdBcnJheSkKLSAgICAgIGJpbmRp
bmcuY2xvc2UoKTsKLSAgICB0aGlzLmRldmljZXNfLmRlbGV0ZShkZXZpY2UuZmFrZURldmljZSk7
Ci0gICAgdGhpcy5kZXZpY2VzQnlHdWlkXy5kZWxldGUoZGV2aWNlLmd1aWQpOwotICAgIGlmICh0
aGlzLmNsaWVudF8pIHsKLSAgICAgIHRoaXMuY2xpZW50Xy5vbkRldmljZVJlbW92ZWQoCi0gICAg
ICAgICAgZmFrZURldmljZUluaXRUb0RldmljZUluZm8oZGV2aWNlLmd1aWQsIGRldmljZS5pbmZv
KSk7Ci0gICAgfQotICB9Ci0KLSAgcmVtb3ZlQWxsRGV2aWNlcygpIHsKLSAgICB0aGlzLmRldmlj
ZXNfLmZvckVhY2goZGV2aWNlID0+IHsKLSAgICAgIGZvciAodmFyIGJpbmRpbmcgb2YgZGV2aWNl
LmJpbmRpbmdBcnJheSkKLSAgICAgICAgYmluZGluZy5jbG9zZSgpOwotICAgICAgdGhpcy5jbGll
bnRfLm9uRGV2aWNlUmVtb3ZlZCgKLSAgICAgICAgICBmYWtlRGV2aWNlSW5pdFRvRGV2aWNlSW5m
byhkZXZpY2UuZ3VpZCwgZGV2aWNlLmluZm8pKTsKLSAgICB9KTsKLSAgICB0aGlzLmRldmljZXNf
LmNsZWFyKCk7Ci0gICAgdGhpcy5kZXZpY2VzQnlHdWlkXy5jbGVhcigpOwotICB9Ci0KLSAgZ2V0
RGV2aWNlcygpIHsKLSAgICBsZXQgZGV2aWNlcyA9IFtdOwotICAgIHRoaXMuZGV2aWNlc18uZm9y
RWFjaChkZXZpY2UgPT4gewotICAgICAgZGV2aWNlcy5wdXNoKGZha2VEZXZpY2VJbml0VG9EZXZp
Y2VJbmZvKGRldmljZS5ndWlkLCBkZXZpY2UuaW5mbykpOwotICAgIH0pOwotICAgIHJldHVybiBQ
cm9taXNlLnJlc29sdmUoeyByZXN1bHRzOiBkZXZpY2VzIH0pOwotICB9Ci0KLSAgZ2V0RGV2aWNl
KGd1aWQsIHJlcXVlc3QpIHsKLSAgICBsZXQgcmV0cmlldmVkRGV2aWNlID0gdGhpcy5kZXZpY2Vz
QnlHdWlkXy5nZXQoZ3VpZCk7Ci0gICAgaWYgKHJldHJpZXZlZERldmljZSkgewotICAgICAgbGV0
IGJpbmRpbmcgPSBuZXcgbW9qby5CaW5kaW5nKAotICAgICAgICAgIGRldmljZS5tb2pvbS5Vc2JE
ZXZpY2UsCi0gICAgICAgICAgbmV3IEZha2VEZXZpY2UocmV0cmlldmVkRGV2aWNlLmluZm8pLAot
ICAgICAgICAgIHJlcXVlc3QpOwotICAgICAgYmluZGluZy5zZXRDb25uZWN0aW9uRXJyb3JIYW5k
bGVyKCgpID0+IHsKLSAgICAgICAgaWYgKHJldHJpZXZlZERldmljZS5mYWtlRGV2aWNlLm9uY2xv
c2UpCi0gICAgICAgICAgcmV0cmlldmVkRGV2aWNlLmZha2VEZXZpY2Uub25jbG9zZSgpOwotICAg
ICAgfSk7Ci0gICAgICByZXRyaWV2ZWREZXZpY2UuYmluZGluZ0FycmF5LnB1c2goYmluZGluZyk7
Ci0gICAgfSBlbHNlIHsKLSAgICAgIHJlcXVlc3QuY2xvc2UoKTsKLSAgICB9Ci0gIH0KLQotICBn
ZXRQZXJtaXNzaW9uKGRldmljZUZpbHRlcnMpIHsKLSAgICByZXR1cm4gbmV3IFByb21pc2UocmVz
b2x2ZSA9PiB7Ci0gICAgICBpZiAobmF2aWdhdG9yLnVzYi50ZXN0Lm9ucmVxdWVzdGRldmljZSkg
ewotICAgICAgICBuYXZpZ2F0b3IudXNiLnRlc3Qub25yZXF1ZXN0ZGV2aWNlKAotICAgICAgICAg
ICAgbmV3IFVTQkRldmljZVJlcXVlc3RFdmVudChkZXZpY2VGaWx0ZXJzLCByZXNvbHZlKSk7Ci0g
ICAgICB9IGVsc2UgewotICAgICAgICByZXNvbHZlKHsgcmVzdWx0OiBudWxsIH0pOwotICAgICAg
fQotICAgIH0pOwotICB9Ci0KLSAgc2V0Q2xpZW50KGNsaWVudEluZm8pIHsKLSAgICB0aGlzLmNs
aWVudF8gPSBuZXcgZGV2aWNlLm1vam9tLlVzYkRldmljZU1hbmFnZXJDbGllbnRBc3NvY2lhdGVk
UHRyKGNsaWVudEluZm8pOwotICB9Ci19Ci0KLWNsYXNzIFVTQkRldmljZVJlcXVlc3RFdmVudCB7
Ci0gIGNvbnN0cnVjdG9yKGRldmljZUZpbHRlcnMsIHJlc29sdmUpIHsKLSAgICB0aGlzLmZpbHRl
cnMgPSBjb252ZXJ0TW9qb0RldmljZUZpbHRlcnMoZGV2aWNlRmlsdGVycyk7Ci0gICAgdGhpcy5y
ZXNvbHZlRnVuY18gPSByZXNvbHZlOwotICB9Ci0KLSAgcmVzcG9uZFdpdGgodmFsdWUpIHsKLSAg
ICAvLyBXYWl0IHVudGlsIHx2YWx1ZXwgcmVzb2x2ZXMgKGlmIGl0IGlzIGEgUHJvbWlzZSkuIFRo
aXMgZnVuY3Rpb24gcmV0dXJucwotICAgIC8vIG5vIHZhbHVlLgotICAgIFByb21pc2UucmVzb2x2
ZSh2YWx1ZSkudGhlbihmYWtlRGV2aWNlID0+IHsKLSAgICAgIGxldCBkZXZpY2UgPSBpbnRlcm5h
bC53ZWJVc2JTZXJ2aWNlLmRldmljZXNfLmdldChmYWtlRGV2aWNlKTsKLSAgICAgIGxldCByZXN1
bHQgPSBudWxsOwotICAgICAgaWYgKGRldmljZSkgewotICAgICAgICByZXN1bHQgPSBmYWtlRGV2
aWNlSW5pdFRvRGV2aWNlSW5mbyhkZXZpY2UuZ3VpZCwgZGV2aWNlLmluZm8pOwotICAgICAgfQot
ICAgICAgdGhpcy5yZXNvbHZlRnVuY18oeyByZXN1bHQ6IHJlc3VsdCB9KTsKLSAgICB9LCAoKSA9
PiB7Ci0gICAgICB0aGlzLnJlc29sdmVGdW5jXyh7IHJlc3VsdDogbnVsbCB9KTsKLSAgICB9KTsK
LSAgfQotfQotCi0vLyBVbmxpa2UgRmFrZURldmljZSB0aGlzIGNsYXNzIGlzIGV4cG9ydGVkIHRv
IGNhbGxlcnMgb2YgVVNCVGVzdC5hZGRGYWtlRGV2aWNlLgotY2xhc3MgRmFrZVVTQkRldmljZSB7
Ci0gIGNvbnN0cnVjdG9yKCkgewotICAgIHRoaXMub25jbG9zZSA9IG51bGw7Ci0gIH0KLQotICBk
aXNjb25uZWN0KCkgewotICAgIHNldFRpbWVvdXQoKCkgPT4gaW50ZXJuYWwud2ViVXNiU2Vydmlj
ZS5yZW1vdmVEZXZpY2UodGhpcyksIDApOwotICB9Ci19Ci0KLWNsYXNzIFVTQlRlc3QgewotICBj
b25zdHJ1Y3RvcigpIHsKLSAgICB0aGlzLm9ucmVxdWVzdGRldmljZSA9IHVuZGVmaW5lZDsKLSAg
fQotCi0gIGFzeW5jIGluaXRpYWxpemUoKSB7Ci0gICAgaWYgKGludGVybmFsLmluaXRpYWxpemVk
KQotICAgICAgcmV0dXJuOwotCi0gICAgLy8gQmUgcmVhZHkgdG8gaGFuZGxlICdSZWFkeUZvckF0
dGFjaG1lbnQnIG1lc3NhZ2UgZnJvbSBjaGlsZCBpZnJhbWVzLgotICAgIGlmICgnd2luZG93JyBp
biBzZWxmKSB7Ci0gICAgICBnZXRNZXNzYWdlUG9ydCh3aW5kb3cpOwotICAgIH0KLQotICAgIGlu
dGVybmFsLndlYlVzYlNlcnZpY2UgPSBuZXcgRmFrZVdlYlVzYlNlcnZpY2UoKTsKLSAgICBpbnRl
cm5hbC53ZWJVc2JTZXJ2aWNlSW50ZXJjZXB0b3IgPQotICAgICAgICBuZXcgTW9qb0ludGVyZmFj
ZUludGVyY2VwdG9yKGJsaW5rLm1vam9tLldlYlVzYlNlcnZpY2UubmFtZSwgImNvbnRleHQiLCB0
cnVlKTsKLSAgICBpbnRlcm5hbC53ZWJVc2JTZXJ2aWNlSW50ZXJjZXB0b3Iub25pbnRlcmZhY2Vy
ZXF1ZXN0ID0KLSAgICAgICAgZSA9PiBpbnRlcm5hbC53ZWJVc2JTZXJ2aWNlLmFkZEJpbmRpbmco
ZS5oYW5kbGUpOwotICAgIGludGVybmFsLndlYlVzYlNlcnZpY2VJbnRlcmNlcHRvci5zdGFydCgp
OwotCi0gICAgLy8gV2FpdCBmb3IgYSBjYWxsIHRvIEdldERldmljZXMoKSB0byBwYXNzIGJldHdl
ZW4gdGhlIHJlbmRlcmVyIGFuZCB0aGUKLSAgICAvLyBtb2NrIGluIG9yZGVyIHRvIGVzdGFibGlz
aCB0aGF0IGV2ZXJ5dGhpbmcgaXMgc2V0IHVwLgotICAgIGF3YWl0IG5hdmlnYXRvci51c2IuZ2V0
RGV2aWNlcygpOwotICAgIGludGVybmFsLmluaXRpYWxpemVkID0gdHJ1ZTsKLSAgfQotCi0gIC8v
IFJldHVybnMgYSBwcm9taXNlIHRoYXQgaXMgcmVzb2x2ZWQgd2hlbiB0aGUgaW1wbGVtZW50YXRp
b24gb2YgfHVzYnwgaW4gdGhlCi0gIC8vIGdsb2JhbCBzY29wZSBmb3IgfGNvbnRleHR8IGlzIGNv
bnRyb2xsZWQgYnkgdGhlIGN1cnJlbnQgY29udGV4dC4KLSAgYXR0YWNoVG9Db250ZXh0KGNvbnRl
eHQpIHsKLSAgICBpZiAoIWludGVybmFsLmluaXRpYWxpemVkKQotICAgICAgdGhyb3cgbmV3IEVy
cm9yKCdDYWxsIGluaXRpYWxpemUoKSBiZWZvcmUgYXR0YWNoVG9Db250ZXh0KCknKTsKLQotICAg
IGxldCB0YXJnZXQgPSBjb250ZXh0LmNvbnN0cnVjdG9yLm5hbWUgPT09ICdXb3JrZXInID8gY29u
dGV4dCA6IHdpbmRvdzsKLSAgICByZXR1cm4gZ2V0TWVzc2FnZVBvcnQodGFyZ2V0KS50aGVuKCgp
ID0+IHsKLSAgICAgIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKLSAgICAgICAgaW50
ZXJuYWwubWVzc2FnZVBvcnQub25tZXNzYWdlID0gY2hhbm5lbEV2ZW50ID0+IHsKLSAgICAgICAg
ICBzd2l0Y2ggKGNoYW5uZWxFdmVudC5kYXRhLnR5cGUpIHsKLSAgICAgICAgICAgIGNhc2UgYmxp
bmsubW9qb20uV2ViVXNiU2VydmljZS5uYW1lOgotICAgICAgICAgICAgICBpbnRlcm5hbC53ZWJV
c2JTZXJ2aWNlLmFkZEJpbmRpbmcoY2hhbm5lbEV2ZW50LmRhdGEuaGFuZGxlKTsKLSAgICAgICAg
ICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBjYXNlICdDb21wbGV0ZSc6Ci0gICAgICAgICAgICAg
IHJlc29sdmUoKTsKLSAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgfQotICAgICAgICB9
OwotICAgICAgICBpbnRlcm5hbC5tZXNzYWdlUG9ydC5wb3N0TWVzc2FnZSh7Ci0gICAgICAgICAg
dHlwZTogJ0F0dGFjaCcgLAotICAgICAgICAgIGludGVyZmFjZXM6IFsKLSAgICAgICAgICAgIGJs
aW5rLm1vam9tLldlYlVzYlNlcnZpY2UubmFtZSwKLSAgICAgICAgICBdfSk7Ci0gICAgICB9KTsK
LSAgICB9KTsKLSAgfQotCi0gIGFkZEZha2VEZXZpY2UoZGV2aWNlSW5pdCkgewotICAgIGlmICgh
aW50ZXJuYWwuaW5pdGlhbGl6ZWQpCi0gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0NhbGwgaW5pdGlh
bGl6ZSgpIGJlZm9yZSBhZGRGYWtlRGV2aWNlKCkuJyk7Ci0KLSAgICAvLyB8YWRkRGV2aWNlfCBh
bmQgfHJlbW92ZURldmljZXwgYXJlIGNhbGxlZCBpbiBhIHNldFRpbWVvdXQgY2FsbGJhY2sgc28K
LSAgICAvLyB0aGF0IHRlc3RzIGRvIG5vdCByZWx5IG9uIHRoZSBkZXZpY2UgYmVpbmcgaW1tZWRp
YXRlbHkgYXZhaWxhYmxlIHdoaWNoCi0gICAgLy8gbWF5IG5vdCBiZSB0cnVlIGZvciBhbGwgaW1w
bGVtZW50YXRpb25zIG9mIHRoaXMgdGVzdCBBUEkuCi0gICAgbGV0IGZha2VEZXZpY2UgPSBuZXcg
RmFrZVVTQkRldmljZSgpOwotICAgIHNldFRpbWVvdXQoCi0gICAgICAgICgpID0+IGludGVybmFs
LndlYlVzYlNlcnZpY2UuYWRkRGV2aWNlKGZha2VEZXZpY2UsIGRldmljZUluaXQpLCAwKTsKLSAg
ICByZXR1cm4gZmFrZURldmljZTsKLSAgfQotCi0gIHJlc2V0KCkgewotICAgIGlmICghaW50ZXJu
YWwuaW5pdGlhbGl6ZWQpCi0gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0NhbGwgaW5pdGlhbGl6ZSgp
IGJlZm9yZSByZXNldCgpLicpOwotCi0gICAgLy8gUmVzZXQgdGhlIG1vY2tzIGluIGEgc2V0VGlt
ZW91dCBjYWxsYmFjayBzbyB0aGF0IHRlc3RzIGRvIG5vdCByZWx5IG9uCi0gICAgLy8gdGhlIGZh
Y3QgdGhhdCB0aGlzIHBvbHlmaWxsIGNhbiBkbyB0aGlzIHN5bmNocm9ub3VzbHkuCi0gICAgcmV0
dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4gewotICAgICAgc2V0VGltZW91dCgoKSA9PiB7Ci0g
ICAgICAgIGlmIChpbnRlcm5hbC5tZXNzYWdlUG9ydCAhPT0gbnVsbCkKLSAgICAgICAgICBpbnRl
cm5hbC5tZXNzYWdlUG9ydC5jbG9zZSgpOwotICAgICAgICBpbnRlcm5hbC5tZXNzYWdlUG9ydCA9
IG51bGw7Ci0gICAgICAgIGludGVybmFsLndlYlVzYlNlcnZpY2UucmVtb3ZlQWxsRGV2aWNlcygp
OwotICAgICAgICByZXNvbHZlKCk7Ci0gICAgICB9LCAwKTsKLSAgICB9KTsKLSAgfQotfQotCi1u
YXZpZ2F0b3IudXNiLnRlc3QgPSBuZXcgVVNCVGVzdCgpOwotCi19KSgpOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hy
b21pdW0vd2VidXNiLXRlc3QuanMuaGVhZGVycyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL3dlYnVzYi10ZXN0LmpzLmhlYWRl
cnMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY4MDVjMzIzZGY1Li4wMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy9jaHJvbWl1bS93ZWJ1c2ItdGVzdC5qcy5oZWFkZXJzCisrKyAvZGV2L251bGwKQEAgLTEg
KzAsMCBAQAotQ29udGVudC1UeXBlOiB0ZXh0L2phdmFzY3JpcHQ7IGNoYXJzZXQ9dXRmLTgKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL2Nocm9taXVtL3dlYnhyLXRlc3QuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS93ZWJ4ci10ZXN0LmpzCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3MzlkNzcxZDQwYi4uMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hy
b21pdW0vd2VieHItdGVzdC5qcworKysgL2Rldi9udWxsCkBAIC0xLDEwMjYgKzAsMCBAQAotJ3Vz
ZSBzdHJpY3QnOwotCi0vLyBUaGlzIHBvbHlmaWxsIGxpYnJhcnkgaW1wbGVtZW50cyB0aGUgV2Vi
WFIgVGVzdCBBUEkgYXMgc3BlY2lmaWVkIGhlcmU6Ci0vLyBodHRwczovL2dpdGh1Yi5jb20vaW1t
ZXJzaXZlLXdlYi93ZWJ4ci10ZXN0LWFwaQotCi0KLWxldCBkZWZhdWx0X3N0YW5kaW5nID0gbmV3
IGdmeC5tb2pvbS5UcmFuc2Zvcm0oKTsKLWRlZmF1bHRfc3RhbmRpbmcubWF0cml4ID0gWzEsIDAs
IDAsIDAsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAwLCAxLCAwLCAwLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgMCwgMCwgMSwgMCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
IDAsIDEuNjUsIDAsIDFdOwotY29uc3QgZGVmYXVsdF9zdGFnZV9wYXJhbWV0ZXJzID0gewotICBz
dGFuZGluZ1RyYW5zZm9ybTogZGVmYXVsdF9zdGFuZGluZywKLSAgYm91bmRzOiBudWxsCi19Owot
Ci1mdW5jdGlvbiBnZXRNYXRyaXhGcm9tVHJhbnNmb3JtKHRyYW5zZm9ybSkgewotICBsZXQgeCA9
IHRyYW5zZm9ybS5vcmllbnRhdGlvblswXTsKLSAgbGV0IHkgPSB0cmFuc2Zvcm0ub3JpZW50YXRp
b25bMV07Ci0gIGxldCB6ID0gdHJhbnNmb3JtLm9yaWVudGF0aW9uWzJdOwotICBsZXQgdyA9IHRy
YW5zZm9ybS5vcmllbnRhdGlvblszXTsKLQotICBsZXQgbTExID0gMS4wIC0gMi4wICogKHkgKiB5
ICsgeiAqIHopOwotICBsZXQgbTIxID0gMi4wICogKHggKiB5ICsgeiAqIHcpOwotICBsZXQgbTMx
ID0gMi4wICogKHggKiB6IC0geSAqIHcpOwotCi0gIGxldCBtMTIgPSAyLjAgKiAoeCAqIHkgLSB6
ICogdyk7Ci0gIGxldCBtMjIgPSAxLjAgLSAyLjAgKiAoeCAqIHggKyB6ICogeik7Ci0gIGxldCBt
MzIgPSAyLjAgKiAoeSAqIHogKyB4ICogdyk7Ci0KLSAgbGV0IG0xMyA9IDIuMCAqICh4ICogeiAr
IHkgKiB3KTsKLSAgbGV0IG0yMyA9IDIuMCAqICh5ICogeiAtIHggKiB3KTsKLSAgbGV0IG0zMyA9
IDEuMCAtIDIuMCAqICh4ICogeCArIHkgKiB5KTsKLQotICBsZXQgbTE0ID0gdHJhbnNmb3JtLnBv
c2l0aW9uWzBdOwotICBsZXQgbTI0ID0gdHJhbnNmb3JtLnBvc2l0aW9uWzFdOwotICBsZXQgbTM0
ID0gdHJhbnNmb3JtLnBvc2l0aW9uWzJdOwotCi0gIC8vIENvbHVtbi1tYWpvciBsaW5lYXJpemVk
IG9yZGVyIGlzIGV4cGVjdGVkLgotICByZXR1cm4gW20xMSwgbTIxLCBtMzEsIDAsCi0gICAgICAg
ICAgbTEyLCBtMjIsIG0zMiwgMCwKLSAgICAgICAgICBtMTMsIG0yMywgbTMzLCAwLAotICAgICAg
ICAgIG0xNCwgbTI0LCBtMzQsIDFdOwotfQotCi1mdW5jdGlvbiBjb21wb3NlR0ZYVHJhbnNmb3Jt
KGZha2VUcmFuc2Zvcm1Jbml0KSB7Ci0gIGxldCB0cmFuc2Zvcm0gPSBuZXcgZ2Z4Lm1vam9tLlRy
YW5zZm9ybSgpOwotICB0cmFuc2Zvcm0ubWF0cml4ID0gZ2V0TWF0cml4RnJvbVRyYW5zZm9ybShm
YWtlVHJhbnNmb3JtSW5pdCk7Ci0gIHJldHVybiB0cmFuc2Zvcm07Ci19Ci0KLWNsYXNzIENocm9t
ZVhSVGVzdCB7Ci0gIGNvbnN0cnVjdG9yKCkgewotICAgIHRoaXMubW9ja1ZSU2VydmljZV8gPSBu
ZXcgTW9ja1ZSU2VydmljZShtb2pvLmZyYW1lSW50ZXJmYWNlcyk7Ci0gIH0KLQotICBzaW11bGF0
ZURldmljZUNvbm5lY3Rpb24oaW5pdF9wYXJhbXMpIHsKLSAgICByZXR1cm4gUHJvbWlzZS5yZXNv
bHZlKHRoaXMubW9ja1ZSU2VydmljZV8uYWRkUnVudGltZShpbml0X3BhcmFtcykpOwotICB9Ci0K
LSAgZGlzY29ubmVjdEFsbERldmljZXMoKSB7Ci0gICAgdGhpcy5tb2NrVlJTZXJ2aWNlXy5yZW1v
dmVBbGxSdW50aW1lcyhkZXZpY2UpOwotICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTsKLSAg
fQotCi0gIHNpbXVsYXRlVXNlckFjdGl2YXRpb24oY2FsbGJhY2spIHsKLSAgICBsZXQgYnV0dG9u
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYnV0dG9uJyk7Ci0gICAgYnV0dG9uLnRleHRDb250
ZW50ID0gJ2NsaWNrIHRvIGNvbnRpbnVlIHRlc3QnOwotICAgIGJ1dHRvbi5zdHlsZS5kaXNwbGF5
ID0gJ2Jsb2NrJzsKLSAgICBidXR0b24uc3R5bGUuZm9udFNpemUgPSAnMjBweCc7Ci0gICAgYnV0
dG9uLnN0eWxlLnBhZGRpbmcgPSAnMTBweCc7Ci0gICAgYnV0dG9uLm9uY2xpY2sgPSAoKSA9PiB7
Ci0gICAgICBjYWxsYmFjaygpOwotICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChidXR0
b24pOwotICAgIH07Ci0gICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChidXR0b24pOwotICAg
IHRlc3RfZHJpdmVyLmNsaWNrKGJ1dHRvbik7Ci0gIH0KLX0KLQotLy8gTW9ja2luZyBjbGFzcyBk
ZWZpbml0aW9ucwotCi0vLyBNb2NrIHNlcnZpY2UgaW1wbGVtZW50cyB0aGUgVlJTZXJ2aWNlIG1v
am8gaW50ZXJmYWNlLgotY2xhc3MgTW9ja1ZSU2VydmljZSB7Ci0gIGNvbnN0cnVjdG9yKCkgewot
ICAgIHRoaXMuYmluZGluZ1NldF8gPSBuZXcgbW9qby5CaW5kaW5nU2V0KGRldmljZS5tb2pvbS5W
UlNlcnZpY2UpOwotICAgIHRoaXMucnVudGltZXNfID0gW107Ci0KLSAgICB0aGlzLmludGVyY2Vw
dG9yXyA9Ci0gICAgICAgIG5ldyBNb2pvSW50ZXJmYWNlSW50ZXJjZXB0b3IoZGV2aWNlLm1vam9t
LlZSU2VydmljZS5uYW1lLCAiY29udGV4dCIsIHRydWUpOwotICAgIHRoaXMuaW50ZXJjZXB0b3Jf
Lm9uaW50ZXJmYWNlcmVxdWVzdCA9IGUgPT4KLSAgICAgICAgdGhpcy5iaW5kaW5nU2V0Xy5hZGRC
aW5kaW5nKHRoaXMsIGUuaGFuZGxlKTsKLSAgICB0aGlzLmludGVyY2VwdG9yXy5zdGFydCgpOwot
ICB9Ci0KLSAgLy8gVGVzdCBtZXRob2RzCi0gIGFkZFJ1bnRpbWUoZmFrZURldmljZUluaXQpIHsK
LSAgICBsZXQgcnVudGltZSA9IG5ldyBNb2NrUnVudGltZShmYWtlRGV2aWNlSW5pdCwgdGhpcyk7
Ci0gICAgdGhpcy5ydW50aW1lc18ucHVzaChydW50aW1lKTsKLQotICAgIGlmICh0aGlzLmNsaWVu
dF8pIHsKLSAgICAgIHRoaXMuY2xpZW50Xy5vbkRldmljZUNoYW5nZWQoKTsKLSAgICB9Ci0KLSAg
ICByZXR1cm4gcnVudGltZTsKLSAgfQotCi0gIHJlbW92ZUFsbFJ1bnRpbWVzKCkgewotICAgIGlm
ICh0aGlzLmNsaWVudF8pIHsKLSAgICAgIHRoaXMuY2xpZW50Xy5vbkRldmljZUNoYW5nZWQoKTsK
LSAgICB9Ci0KLSAgICB0aGlzLnJ1bnRpbWVzXyA9IFtdOwotICB9Ci0KLSAgcmVtb3ZlUnVudGlt
ZShkZXZpY2UpIHsKLSAgICBsZXQgaW5kZXggPSB0aGlzLnJ1bnRpbWVzXy5pbmRleE9mKGRldmlj
ZSk7Ci0gICAgaWYgKGluZGV4ID49IDApIHsKLSAgICAgIHRoaXMucnVudGltZXNfLnNwbGljZShp
bmRleCwgMSk7Ci0gICAgICBpZiAodGhpcy5jbGllbnRfKSB7Ci0gICAgICAgIHRoaXMuY2xpZW50
Xy5vbkRldmljZUNoYW5nZWQoKTsKLSAgICAgIH0KLSAgICB9Ci0gIH0KLQotICBzZXRDbGllbnQo
Y2xpZW50KSB7Ci0gICAgaWYgKHRoaXMuY2xpZW50XykgewotICAgICAgdGhyb3cgbmV3IEVycm9y
KCJzZXRDbGllbnQgc2hvdWxkIG9ubHkgYmUgY2FsbGVkIG9uY2UiKTsKLSAgICB9Ci0KLSAgICB0
aGlzLmNsaWVudF8gPSBjbGllbnQ7Ci0gIH0KLQotICByZXF1ZXN0U2Vzc2lvbihzZXNzaW9uT3B0
aW9ucywgd2FzX2FjdGl2YXRpb24pIHsKLSAgICBsZXQgcmVxdWVzdHMgPSBbXTsKLSAgICAvLyBS
ZXF1ZXN0IGEgc2Vzc2lvbiBmcm9tIGFsbCB0aGUgcnVudGltZXMuCi0gICAgZm9yIChsZXQgaSA9
IDA7IGkgPCB0aGlzLnJ1bnRpbWVzXy5sZW5ndGg7IGkrKykgewotICAgICAgcmVxdWVzdHNbaV0g
PSB0aGlzLnJ1bnRpbWVzX1tpXS5yZXF1ZXN0UnVudGltZVNlc3Npb24oc2Vzc2lvbk9wdGlvbnMp
OwotICAgIH0KLQotICAgIHJldHVybiBQcm9taXNlLmFsbChyZXF1ZXN0cykudGhlbigocmVzdWx0
cykgPT4gewotICAgICAgLy8gRmluZCBhbmQgcmV0dXJuIHRoZSBmaXJzdCBzdWNjZXNzZnVsIHJl
c3VsdC4KLSAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcmVzdWx0cy5sZW5ndGg7IGkrKykgewot
ICAgICAgICBpZiAocmVzdWx0c1tpXS5zZXNzaW9uKSB7Ci0gICAgICAgICAgLy8gQ29uc3RydWN0
IGEgZHVtbXkgbWV0cmljcyByZWNvcmRlcgotICAgICAgICAgIGxldCBtZXRyaWNzUmVjb3JkZXJQ
dHIgPSBuZXcgZGV2aWNlLm1vam9tLlhSU2Vzc2lvbk1ldHJpY3NSZWNvcmRlclB0cigpOwotICAg
ICAgICAgIGxldCBtZXRyaWNzUmVjb3JkZXJSZXF1ZXN0ID0gbW9qby5tYWtlUmVxdWVzdChtZXRy
aWNzUmVjb3JkZXJQdHIpOwotICAgICAgICAgIGxldCBtZXRyaWNzUmVjb3JkZXJCaW5kaW5nID0g
bmV3IG1vam8uQmluZGluZygKLSAgICAgICAgICAgICAgZGV2aWNlLm1vam9tLlhSU2Vzc2lvbk1l
dHJpY3NSZWNvcmRlciwgbmV3IE1vY2tYUlNlc3Npb25NZXRyaWNzUmVjb3JkZXIoKSwgbWV0cmlj
c1JlY29yZGVyUmVxdWVzdCk7Ci0KLSAgICAgICAgICBsZXQgc3VjY2VzcyA9IHsKLSAgICAgICAg
ICAgIHNlc3Npb246IHJlc3VsdHNbaV0uc2Vzc2lvbiwKLSAgICAgICAgICAgIG1ldHJpY3NSZWNv
cmRlcjogbWV0cmljc1JlY29yZGVyUHRyLAotICAgICAgICAgIH07Ci0KLSAgICAgICAgICByZXR1
cm4gewotICAgICAgICAgICAgcmVzdWx0OiB7Ci0gICAgICAgICAgICAgIHN1Y2Nlc3MgOiBzdWNj
ZXNzLAotICAgICAgICAgICAgICAkdGFnIDogIDAKLSAgICAgICAgICAgIH0KLSAgICAgICAgICB9
OwotICAgICAgICB9Ci0gICAgICB9Ci0KLSAgICAgIC8vIElmIHRoZXJlIHdlcmUgbm8gc3VjY2Vz
c2Z1bCByZXN1bHRzLCByZXR1cm5zIGEgbnVsbCBzZXNzaW9uLgotICAgICAgcmV0dXJuIHsKLSAg
ICAgICAgcmVzdWx0OiB7Ci0gICAgICAgICAgZmFpbHVyZVJlYXNvbiA6IGRldmljZS5tb2pvbS5S
ZXF1ZXN0U2Vzc2lvbkVycm9yLk5PX1JVTlRJTUVfRk9VTkQsCi0gICAgICAgICAgJHRhZyA6ICAx
Ci0gICAgICAgIH0KLSAgICAgIH07Ci0gICAgfSk7Ci0gIH0KLQotICBleGl0UHJlc2VudCgpIHsK
LSAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7Ci0gIH0KLQotICBzdXBwb3J0c1Nlc3Npb24o
c2Vzc2lvbk9wdGlvbnMpIHsKLSAgICBsZXQgcmVxdWVzdHMgPSBbXTsKLSAgICAvLyBDaGVjayBz
dXBwb3J0cyBvbiBhbGwgdGhlIHJ1bnRpbWVzLgotICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhp
cy5ydW50aW1lc18ubGVuZ3RoOyBpKyspIHsKLSAgICAgIHJlcXVlc3RzW2ldID0gdGhpcy5ydW50
aW1lc19baV0ucnVudGltZVN1cHBvcnRzU2Vzc2lvbihzZXNzaW9uT3B0aW9ucyk7Ci0gICAgfQot
Ci0gICAgcmV0dXJuIFByb21pc2UuYWxsKHJlcXVlc3RzKS50aGVuKChyZXN1bHRzKSA9PiB7Ci0g
ICAgICAvLyBGaW5kIGFuZCByZXR1cm4gdGhlIGZpcnN0IHN1Y2Nlc3NmdWwgcmVzdWx0LgotICAg
ICAgZm9yIChsZXQgaSA9IDA7IGkgPCByZXN1bHRzLmxlbmd0aDsgaSsrKSB7Ci0gICAgICAgIGlm
IChyZXN1bHRzW2ldLnN1cHBvcnRzU2Vzc2lvbikgewotICAgICAgICAgIHJldHVybiByZXN1bHRz
W2ldOwotICAgICAgICB9Ci0gICAgICB9Ci0KLSAgICAgIC8vIElmIHRoZXJlIHdlcmUgbm8gc3Vj
Y2Vzc2Z1bCByZXN1bHRzLCByZXR1cm5zIGZhbHNlLgotICAgICAgcmV0dXJuIHtzdXBwb3J0c1Nl
c3Npb246IGZhbHNlfTsKLSAgICB9KTsKLSAgfTsKLX0KLQotLy8gSW1wbGVtZW50cyBYUkZyYW1l
RGF0YVByb3ZpZGVyIGFuZCBYUlByZXNlbnRhdGlvblByb3ZpZGVyLiBNYWludGFpbnMgYSBtb2Nr
Ci0vLyBmb3IgWFJQcmVzZW50YXRpb25Qcm92aWRlci4KLWNsYXNzIE1vY2tSdW50aW1lIHsKLSAg
Ly8gTWFwcGluZyBmcm9tIHN0cmluZyBmZWF0dXJlIG5hbWVzIHRvIHRoZSBjb3JyZXNwb25kaW5n
IG1vam8gdHlwZXMuCi0gIC8vIFRoaXMgaXMgZXhwb3NlZCBhcyBhIG1lbWJlciBmb3IgZXh0ZW5z
aWJpbGl0eS4KLSAgc3RhdGljIGZlYXR1cmVUb01vam9NYXAgPSB7Ci0gICAgInZpZXdlciI6IGRl
dmljZS5tb2pvbS5YUlNlc3Npb25GZWF0dXJlLlJFRl9TUEFDRV9WSUVXRVIsCi0gICAgImxvY2Fs
IjogZGV2aWNlLm1vam9tLlhSU2Vzc2lvbkZlYXR1cmUuUkVGX1NQQUNFX0xPQ0FMLAotICAgICJs
b2NhbC1mbG9vciI6IGRldmljZS5tb2pvbS5YUlNlc3Npb25GZWF0dXJlLlJFRl9TUEFDRV9MT0NB
TF9GTE9PUiwKLSAgICAiYm91bmRlZC1mbG9vciI6IGRldmljZS5tb2pvbS5YUlNlc3Npb25GZWF0
dXJlLlJFRl9TUEFDRV9CT1VOREVEX0ZMT09SLAotICAgICJ1bmJvdW5kZWQiOiBkZXZpY2UubW9q
b20uWFJTZXNzaW9uRmVhdHVyZS5SRUZfU1BBQ0VfVU5CT1VOREVEIH07Ci0KLSAgY29uc3RydWN0
b3IoZmFrZURldmljZUluaXQsIHNlcnZpY2UpIHsKLSAgICB0aGlzLnNlc3Npb25DbGllbnRfID0g
bmV3IGRldmljZS5tb2pvbS5YUlNlc3Npb25DbGllbnRQdHIoKTsKLSAgICB0aGlzLnByZXNlbnRh
dGlvbl9wcm92aWRlcl8gPSBuZXcgTW9ja1hSUHJlc2VudGF0aW9uUHJvdmlkZXIoKTsKLQotICAg
IHRoaXMucG9zZV8gPSBudWxsOwotICAgIHRoaXMubmV4dF9mcmFtZV9pZF8gPSAwOwotICAgIHRo
aXMuYm91bmRzXyA9IG51bGw7Ci0gICAgdGhpcy5zZW5kX21vam9fc3BhY2VfcmVzZXRfID0gZmFs
c2U7Ci0KLSAgICB0aGlzLnNlcnZpY2VfID0gc2VydmljZTsKLQotICAgIHRoaXMuZnJhbWVzT2ZS
ZWZlcmVuY2UgPSB7fTsKLQotICAgIHRoaXMuaW5wdXRfc291cmNlc18gPSBbXTsKLSAgICB0aGlz
Lm5leHRfaW5wdXRfc291cmNlX2luZGV4XyA9IDE7Ci0KLSAgICAvLyBJbml0aWFsaXplIERpc3Bs
YXlJbmZvIGZpcnN0IHRvIHNldCB0aGUgZGVmYXVsdHMsIHRoZW4gb3ZlcnJpZGUgd2l0aAotICAg
IC8vIGFueXRoaW5nIGZyb20gdGhlIGRldmljZUluaXQKLSAgICBpZiAoZmFrZURldmljZUluaXQu
c3VwcG9ydHNJbW1lcnNpdmUpIHsKLSAgICAgIHRoaXMuZGlzcGxheUluZm9fID0gdGhpcy5nZXRJ
bW1lcnNpdmVEaXNwbGF5SW5mbygpOwotICAgIH0gZWxzZSB7Ci0gICAgICB0aGlzLmRpc3BsYXlJ
bmZvXyA9IHRoaXMuZ2V0Tm9uSW1tZXJzaXZlRGlzcGxheUluZm8oKTsKLSAgICB9Ci0KLSAgICBp
ZiAoZmFrZURldmljZUluaXQuc3VwcG9ydHNFbnZpcm9ubWVudEludGVncmF0aW9uKSB7Ci0gICAg
ICB0aGlzLmRpc3BsYXlJbmZvXy5jYXBhYmlsaXRpZXMuY2FuUHJvdmlkZUVudmlyb25tZW50SW50
ZWdyYXRpb24gPSB0cnVlOwotICAgIH0KLQotICAgIGlmIChmYWtlRGV2aWNlSW5pdC52aWV3ZXJP
cmlnaW4gIT0gbnVsbCkgewotICAgICAgdGhpcy5zZXRWaWV3ZXJPcmlnaW4oZmFrZURldmljZUlu
aXQudmlld2VyT3JpZ2luKTsKLSAgICB9Ci0KLSAgICBpZiAoZmFrZURldmljZUluaXQuZmxvb3JP
cmlnaW4gIT0gbnVsbCkgewotICAgICAgdGhpcy5zZXRGbG9vck9yaWdpbihmYWtlRGV2aWNlSW5p
dC5mbG9vck9yaWdpbik7Ci0gICAgfQotCi0gICAgLy8gVGhpcyBhcHByb3ByaWF0ZWx5IGhhbmRs
ZXMgaWYgdGhlIGNvb3JkaW5hdGVzIGFyZSBudWxsCi0gICAgdGhpcy5zZXRCb3VuZHNHZW9tZXRy
eShmYWtlRGV2aWNlSW5pdC5ib3VuZHNDb29yZGluYXRlcyk7Ci0KLSAgICB0aGlzLnNldFZpZXdz
KGZha2VEZXZpY2VJbml0LnZpZXdzKTsKLQotICAgIC8vIE5lZWQgdG8gc3VwcG9ydCB3ZWJWUiB3
aGljaCBkb2Vzbid0IGhhdmUgYSBub3Rpb24gb2YgZmVhdHVyZXMKLSAgICB0aGlzLnNldEZlYXR1
cmVzKGZha2VEZXZpY2VJbml0LnN1cHBvcnRlZEZlYXR1cmVzIHx8IFtdKTsKLSAgfQotCi0gIC8v
IFRlc3QgQVBJIG1ldGhvZHMuCi0gIGRpc2Nvbm5lY3QoKSB7Ci0gICAgdGhpcy5zZXJ2aWNlXy5y
ZW1vdmVSdW50aW1lKHRoaXMpOwotICAgIHRoaXMucHJlc2VudGF0aW9uX3Byb3ZpZGVyXy5DbG9z
ZSgpOwotICAgIGlmICh0aGlzLnNlc3Npb25DbGllbnRfLnB0ci5pc0JvdW5kKCkpIHsKLSAgICAg
IHRoaXMuc2Vzc2lvbkNsaWVudF8ucHRyLnJlc2V0KCk7Ci0gICAgfQotCi0gICAgcmV0dXJuIFBy
b21pc2UucmVzb2x2ZSgpOwotICB9Ci0KLSAgc2V0Vmlld3Modmlld3MpIHsKLSAgICBpZiAodmll
d3MpIHsKLSAgICAgIGxldCBjaGFuZ2VkID0gZmFsc2U7Ci0gICAgICBmb3IgKGxldCBpID0gMDsg
aSA8IHZpZXdzLmxlbmd0aDsgaSsrKSB7Ci0gICAgICAgIGlmICh2aWV3c1tpXS5leWUgPT0gJ2xl
ZnQnKSB7Ci0gICAgICAgICAgdGhpcy5kaXNwbGF5SW5mb18ubGVmdEV5ZSA9IHRoaXMuZ2V0RXll
KHZpZXdzW2ldKTsKLSAgICAgICAgICBjaGFuZ2VkID0gdHJ1ZTsKLSAgICAgICAgfSBlbHNlIGlm
ICh2aWV3c1tpXS5leWUgPT0gJ3JpZ2h0JykgewotICAgICAgICAgIHRoaXMuZGlzcGxheUluZm9f
LnJpZ2h0RXllID0gdGhpcy5nZXRFeWUodmlld3NbaV0pOwotICAgICAgICAgIGNoYW5nZWQgPSB0
cnVlOwotICAgICAgICB9Ci0gICAgICB9Ci0KLSAgICAgIGlmIChjaGFuZ2VkICYmIHRoaXMuc2Vz
c2lvbkNsaWVudF8ucHRyLmlzQm91bmQoKSkgewotICAgICAgICB0aGlzLnNlc3Npb25DbGllbnRf
Lm9uQ2hhbmdlZCh0aGlzLmRpc3BsYXlJbmZvXyk7Ci0gICAgICB9Ci0gICAgfQotICB9Ci0KLSAg
c2V0Vmlld2VyT3JpZ2luKG9yaWdpbiwgZW11bGF0ZWRQb3NpdGlvbiA9IGZhbHNlKSB7Ci0gICAg
bGV0IHAgPSBvcmlnaW4ucG9zaXRpb247Ci0gICAgbGV0IHEgPSBvcmlnaW4ub3JpZW50YXRpb247
Ci0gICAgdGhpcy5wb3NlXyA9IHsKLSAgICAgIG9yaWVudGF0aW9uOiB7IHg6IHFbMF0sIHk6IHFb
MV0sIHo6IHFbMl0sIHc6IHFbM10gfSwKLSAgICAgIHBvc2l0aW9uOiB7IHg6IHBbMF0sIHk6IHBb
MV0sIHo6IHBbMl0gfSwKLSAgICAgIGVtdWxhdGVkUG9zaXRpb246IGVtdWxhdGVkUG9zaXRpb24s
Ci0gICAgICBhbmd1bGFyVmVsb2NpdHk6IG51bGwsCi0gICAgICBsaW5lYXJWZWxvY2l0eTogbnVs
bCwKLSAgICAgIGFuZ3VsYXJBY2NlbGVyYXRpb246IG51bGwsCi0gICAgICBsaW5lYXJBY2NlbGVy
YXRpb246IG51bGwsCi0gICAgICBpbnB1dFN0YXRlOiBudWxsLAotICAgICAgcG9zZUluZGV4OiAw
Ci0gICAgfTsKLSAgfQotCi0gIGNsZWFyVmlld2VyT3JpZ2luKCkgewotICAgIHRoaXMucG9zZV8g
PSBudWxsOwotICB9Ci0KLSAgc2ltdWxhdGVWaXNpYmlsaXR5Q2hhbmdlKHZpc2liaWxpdHlTdGF0
ZSkgewotICAgIGxldCBtb2pvU3RhdGUgPSBudWxsOwotICAgIHN3aXRjaCh2aXNpYmlsaXR5U3Rh
dGUpIHsKLSAgICAgIGNhc2UgInZpc2libGUiOgotICAgICAgICBtb2pvU3RhdGUgPSBkZXZpY2Uu
bW9qb20uWFJWaXNpYmlsaXR5U3RhdGUuVklTSUJMRTsKLSAgICAgICAgYnJlYWs7Ci0gICAgICBj
YXNlICJ2aXNpYmxlLWJsdXJyZWQiOgotICAgICAgICBtb2pvU3RhdGUgPSBkZXZpY2UubW9qb20u
WFJWaXNpYmlsaXR5U3RhdGUuVklTSUJMRV9CTFVSUkVEOwotICAgICAgICBicmVhazsKLSAgICAg
IGNhc2UgImhpZGRlbiI6Ci0gICAgICAgIG1vam9TdGF0ZSA9IGRldmljZS5tb2pvbS5YUlZpc2li
aWxpdHlTdGF0ZS5ISURERU47Ci0gICAgICAgIGJyZWFrOwotICAgIH0KLSAgICBpZiAobW9qb1N0
YXRlKSB7Ci0gICAgICB0aGlzLnNlc3Npb25DbGllbnRfLm9uVmlzaWJpbGl0eVN0YXRlQ2hhbmdl
ZChtb2pvU3RhdGUpOwotICAgIH0KLSAgfQotCi0gIHNldEJvdW5kc0dlb21ldHJ5KGJvdW5kcykg
ewotICAgIGlmIChib3VuZHMgPT0gbnVsbCkgewotICAgICAgdGhpcy5ib3VuZHNfID0gbnVsbDsK
LSAgICB9IGVsc2UgaWYgKGJvdW5kcy5sZW5ndGggPCAzKSB7Ci0gICAgICB0aHJvdyBuZXcgRXJy
b3IoIkJvdW5kcyBtdXN0IGhhdmUgYSBsZW5ndGggb2YgYXQgbGVhc3QgMyIpOwotICAgIH0gZWxz
ZSB7Ci0gICAgICB0aGlzLmJvdW5kc18gPSBib3VuZHM7Ci0gICAgfQotCi0gICAgLy8gV2UgY2Fu
IG9ubHkgc2V0IGJvdW5kcyBpZiB3ZSBoYXZlIHN0YWdlUGFyYW1ldGVycyBzZXQ7IG90aGVyd2lz
ZSwgd2UKLSAgICAvLyBkb24ndCBrbm93IHRoZSB0cmFuc2Zvcm0gZnJvbSBsb2NhbCBzcGFjZSB0
byBib3VuZHMgc3BhY2UuCi0gICAgLy8gV2UnbGwgY2FjaGUgdGhlIGJvdW5kcyBzbyB0aGF0IHRo
ZXkgY2FuIGJlIHNldCBpbiB0aGUgZnV0dXJlIGlmIHRoZQotICAgIC8vIGZsb29yTGV2ZWwgdHJh
bnNmb3JtIGlzIHNldCwgYnV0IHdlIHdvbid0IHVwZGF0ZSB0aGVtIGp1c3QgeWV0LgotICAgIGlm
ICh0aGlzLmRpc3BsYXlJbmZvXy5zdGFnZVBhcmFtZXRlcnMpIHsKLSAgICAgIHRoaXMuZGlzcGxh
eUluZm9fLnN0YWdlUGFyYW1ldGVycy5ib3VuZHMgPSB0aGlzLmJvdW5kc187Ci0KLSAgICAgIGlm
ICh0aGlzLnNlc3Npb25DbGllbnRfLnB0ci5pc0JvdW5kKCkpIHsKLSAgICAgICAgdGhpcy5zZXNz
aW9uQ2xpZW50Xy5vbkNoYW5nZWQodGhpcy5kaXNwbGF5SW5mb18pOwotICAgICAgfQotICAgIH0K
LSAgfQotCi0gIHNldEZsb29yT3JpZ2luKGZsb29yT3JpZ2luKSB7Ci0gICAgaWYgKCF0aGlzLmRp
c3BsYXlJbmZvXy5zdGFnZVBhcmFtZXRlcnMpIHsKLSAgICAgIHRoaXMuZGlzcGxheUluZm9fLnN0
YWdlUGFyYW1ldGVycyA9IGRlZmF1bHRfc3RhZ2VfcGFyYW1ldGVyczsKLSAgICAgIHRoaXMuZGlz
cGxheUluZm9fLnN0YWdlUGFyYW1ldGVycy5ib3VuZHMgPSB0aGlzLmJvdW5kc187Ci0gICAgfQot
Ci0gICAgdGhpcy5kaXNwbGF5SW5mb18uc3RhZ2VQYXJhbWV0ZXJzLnN0YW5kaW5nVHJhbnNmb3Jt
ID0gbmV3IGdmeC5tb2pvbS5UcmFuc2Zvcm0oKTsKLSAgICB0aGlzLmRpc3BsYXlJbmZvXy5zdGFn
ZVBhcmFtZXRlcnMuc3RhbmRpbmdUcmFuc2Zvcm0ubWF0cml4ID0KLSAgICAgIGdldE1hdHJpeEZy
b21UcmFuc2Zvcm0oZmxvb3JPcmlnaW4pOwotCi0gICAgaWYgKHRoaXMuc2Vzc2lvbkNsaWVudF8u
cHRyLmlzQm91bmQoKSkgewotICAgICAgdGhpcy5zZXNzaW9uQ2xpZW50Xy5vbkNoYW5nZWQodGhp
cy5kaXNwbGF5SW5mb18pOwotICAgIH0KLSAgfQotCi0gIGNsZWFyRmxvb3JPcmlnaW4oKSB7Ci0g
ICAgaWYgKHRoaXMuZGlzcGxheUluZm9fLnN0YWdlUGFyYW1ldGVycykgewotICAgICAgdGhpcy5k
aXNwbGF5SW5mb18uc3RhZ2VQYXJhbWV0ZXJzID0gbnVsbDsKLQotICAgICAgaWYgKHRoaXMuc2Vz
c2lvbkNsaWVudF8ucHRyLmlzQm91bmQoKSkgewotICAgICAgICB0aGlzLnNlc3Npb25DbGllbnRf
Lm9uQ2hhbmdlZCh0aGlzLmRpc3BsYXlJbmZvXyk7Ci0gICAgICB9Ci0gICAgfQotICB9Ci0KLSAg
c2ltdWxhdGVSZXNldFBvc2UoKSB7Ci0gICAgdGhpcy5zZW5kX21vam9fc3BhY2VfcmVzZXRfID0g
dHJ1ZTsKLSAgfQotCi0gIHNpbXVsYXRlSW5wdXRTb3VyY2VDb25uZWN0aW9uKGZha2VJbnB1dFNv
dXJjZUluaXQpIHsKLSAgICBsZXQgaW5kZXggPSB0aGlzLm5leHRfaW5wdXRfc291cmNlX2luZGV4
XzsKLSAgICB0aGlzLm5leHRfaW5wdXRfc291cmNlX2luZGV4XysrOwotCi0gICAgbGV0IHNvdXJj
ZSA9IG5ldyBNb2NrWFJJbnB1dFNvdXJjZShmYWtlSW5wdXRTb3VyY2VJbml0LCBpbmRleCwgdGhp
cyk7Ci0gICAgdGhpcy5pbnB1dF9zb3VyY2VzXy5wdXNoKHNvdXJjZSk7Ci0gICAgcmV0dXJuIHNv
dXJjZTsKLSAgfQotCi0gIC8vIEhlbHBlciBtZXRob2RzCi0gIGdldE5vbkltbWVyc2l2ZURpc3Bs
YXlJbmZvKCkgewotICAgIGxldCBkaXNwbGF5SW5mbyA9IHRoaXMuZ2V0SW1tZXJzaXZlRGlzcGxh
eUluZm8oKTsKLQotICAgIGRpc3BsYXlJbmZvLmNhcGFiaWxpdGllcy5jYW5QcmVzZW50ID0gZmFs
c2U7Ci0gICAgZGlzcGxheUluZm8ubGVmdEV5ZSA9IG51bGw7Ci0gICAgZGlzcGxheUluZm8ucmln
aHRFeWUgPSBudWxsOwotCi0gICAgcmV0dXJuIGRpc3BsYXlJbmZvOwotICB9Ci0KLSAgLy8gRnVu
Y3Rpb24gdG8gZ2VuZXJhdGUgc29tZSB2YWxpZCBkaXNwbGF5IGluZm9ybWF0aW9uIGZvciB0aGUg
ZGV2aWNlLgotICBnZXRJbW1lcnNpdmVEaXNwbGF5SW5mbygpIHsKLSAgICByZXR1cm4gewotICAg
ICAgZGlzcGxheU5hbWU6ICdGYWtlRGV2aWNlJywKLSAgICAgIGNhcGFiaWxpdGllczogewotICAg
ICAgICBoYXNQb3NpdGlvbjogZmFsc2UsCi0gICAgICAgIGhhc0V4dGVybmFsRGlzcGxheTogZmFs
c2UsCi0gICAgICAgIGNhblByZXNlbnQ6IHRydWUsCi0gICAgICAgIG1heExheWVyczogMQotICAg
ICAgfSwKLSAgICAgIHN0YWdlUGFyYW1ldGVyczogbnVsbCwKLSAgICAgIGxlZnRFeWU6IHsKLSAg
ICAgICAgZmllbGRPZlZpZXc6IHsKLSAgICAgICAgICB1cERlZ3JlZXM6IDQ4LjMxNiwKLSAgICAg
ICAgICBkb3duRGVncmVlczogNTAuMDk5LAotICAgICAgICAgIGxlZnREZWdyZWVzOiA1MC44OTks
Ci0gICAgICAgICAgcmlnaHREZWdyZWVzOiAzNS4xOTcKLSAgICAgICAgfSwKLSAgICAgICAgaGVh
ZEZyb21FeWU6IGNvbXBvc2VHRlhUcmFuc2Zvcm0oewotICAgICAgICAgIHBvc2l0aW9uOiBbLTAu
MDMyLCAwLCAwXSwKLSAgICAgICAgICBvcmllbnRhdGlvbjogWzAsIDAsIDAsIDFdCi0gICAgICAg
IH0pLAotICAgICAgICByZW5kZXJXaWR0aDogMjAsCi0gICAgICAgIHJlbmRlckhlaWdodDogMjAK
LSAgICAgIH0sCi0gICAgICByaWdodEV5ZTogewotICAgICAgICBmaWVsZE9mVmlldzogewotICAg
ICAgICAgIHVwRGVncmVlczogNDguMzE2LAotICAgICAgICAgIGRvd25EZWdyZWVzOiA1MC4wOTks
Ci0gICAgICAgICAgbGVmdERlZ3JlZXM6IDUwLjg5OSwKLSAgICAgICAgICByaWdodERlZ3JlZXM6
IDM1LjE5NwotICAgICAgICB9LAotICAgICAgICBoZWFkRnJvbUV5ZTogY29tcG9zZUdGWFRyYW5z
Zm9ybSh7Ci0gICAgICAgICAgcG9zaXRpb246IFswLjAzMiwgMCwgMF0sCi0gICAgICAgICAgb3Jp
ZW50YXRpb246IFswLCAwLCAwLCAxXQotICAgICAgICB9KSwKLSAgICAgICAgcmVuZGVyV2lkdGg6
IDIwLAotICAgICAgICByZW5kZXJIZWlnaHQ6IDIwCi0gICAgICB9LAotICAgICAgd2VieHJEZWZh
dWx0RnJhbWVidWZmZXJTY2FsZTogMC43LAotICAgIH07Ci0gIH0KLQotICAvLyBUaGlzIGZ1bmN0
aW9uIGNvbnZlcnRzIGJldHdlZW4gdGhlIG1hdHJpeCBwcm92aWRlZCBieSB0aGUgV2ViWFIgdGVz
dCBBUEkKLSAgLy8gYW5kIHRoZSBpbnRlcm5hbCBkYXRhIHJlcHJlc2VudGF0aW9uLgotICBnZXRF
eWUoZmFrZVhSVmlld0luaXQpIHsKLSAgICBsZXQgZm92ID0gbnVsbDsKLQotICAgIGlmIChmYWtl
WFJWaWV3SW5pdC5maWVsZE9mVmlldykgewotICAgICAgZm92ID0gewotICAgICAgICB1cERlZ3Jl
ZXM6IGZha2VYUlZpZXdJbml0LmZpZWxkT2ZWaWV3LnVwRGVncmVlcywKLSAgICAgICAgZG93bkRl
Z3JlZXM6IGZha2VYUlZpZXdJbml0LmZpZWxkT2ZWaWV3LmRvd25EZWdyZWVzLAotICAgICAgICBs
ZWZ0RGVncmVlczogZmFrZVhSVmlld0luaXQuZmllbGRPZlZpZXcubGVmdERlZ3JlZXMsCi0gICAg
ICAgIHJpZ2h0RGVncmVlczogZmFrZVhSVmlld0luaXQuZmllbGRPZlZpZXcucmlnaHREZWdyZWVz
Ci0gICAgICB9OwotICAgIH0gZWxzZSB7Ci0gICAgICBsZXQgbSA9IGZha2VYUlZpZXdJbml0LnBy
b2plY3Rpb25NYXRyaXg7Ci0KLSAgICAgIGZ1bmN0aW9uIHRvRGVncmVlcyh0YW4pIHsKLSAgICAg
ICAgcmV0dXJuIE1hdGguYXRhbih0YW4pICogMTgwIC8gTWF0aC5QSTsKLSAgICAgIH0KLQotICAg
ICAgbGV0IGxlZnRUYW4gPSAoMSAtIG1bOF0pIC8gbVswXTsKLSAgICAgIGxldCByaWdodFRhbiA9
ICgxICsgbVs4XSkgLyBtWzBdOwotICAgICAgbGV0IHVwVGFuID0gKDEgKyBtWzldKSAvIG1bNV07
Ci0gICAgICBsZXQgZG93blRhbiA9ICgxIC0gbVs5XSkgLyBtWzVdOwotCi0gICAgICBmb3YgPSB7
Ci0gICAgICAgIHVwRGVncmVlczogdG9EZWdyZWVzKHVwVGFuKSwKLSAgICAgICAgZG93bkRlZ3Jl
ZXM6IHRvRGVncmVlcyhkb3duVGFuKSwKLSAgICAgICAgbGVmdERlZ3JlZXM6IHRvRGVncmVlcyhs
ZWZ0VGFuKSwKLSAgICAgICAgcmlnaHREZWdyZWVzOiB0b0RlZ3JlZXMocmlnaHRUYW4pCi0gICAg
ICB9OwotICAgIH0KLQotICAgIHJldHVybiB7Ci0gICAgICBmaWVsZE9mVmlldzogZm92LAotICAg
ICAgaGVhZEZyb21FeWU6IGNvbXBvc2VHRlhUcmFuc2Zvcm0oZmFrZVhSVmlld0luaXQudmlld09m
ZnNldCksCi0gICAgICByZW5kZXJXaWR0aDogZmFrZVhSVmlld0luaXQucmVzb2x1dGlvbi53aWR0
aCwKLSAgICAgIHJlbmRlckhlaWdodDogZmFrZVhSVmlld0luaXQucmVzb2x1dGlvbi5oZWlnaHQK
LSAgICB9OwotICB9Ci0KLSAgc2V0RmVhdHVyZXMoc3VwcG9ydGVkRmVhdHVyZXMpIHsKLSAgICBm
dW5jdGlvbiBjb252ZXJ0RmVhdHVyZVRvTW9qb20oZmVhdHVyZSkgewotICAgICAgaWYgKGZlYXR1
cmUgaW4gTW9ja1J1bnRpbWUuZmVhdHVyZVRvTW9qb01hcCkgewotICAgICAgICByZXR1cm4gTW9j
a1J1bnRpbWUuZmVhdHVyZVRvTW9qb01hcFtmZWF0dXJlXTsKLSAgICAgIH0gZWxzZSB7Ci0gICAg
ICAgIHJldHVybiBkZXZpY2UubW9qb20uWFJTZXNzaW9uRmVhdHVyZS5JTlZBTElEOwotICAgICAg
fQotICAgIH0KLQotICAgIHRoaXMuc3VwcG9ydGVkRmVhdHVyZXNfID0gW107Ci0KLSAgICBmb3Ig
KGxldCBpID0gMDsgaSA8IHN1cHBvcnRlZEZlYXR1cmVzLmxlbmd0aDsgaSsrKSB7Ci0gICAgICBs
ZXQgZmVhdHVyZSA9IGNvbnZlcnRGZWF0dXJlVG9Nb2pvbShzdXBwb3J0ZWRGZWF0dXJlc1tpXSk7
Ci0gICAgICBpZiAoZmVhdHVyZSAhPT0gZGV2aWNlLm1vam9tLlhSU2Vzc2lvbkZlYXR1cmUuSU5W
QUxJRCkgewotICAgICAgICB0aGlzLnN1cHBvcnRlZEZlYXR1cmVzXy5wdXNoKGZlYXR1cmUpOwot
ICAgICAgfQotICAgIH0KLSAgfQotCi0gIC8vIFRoZXNlIG1ldGhvZHMgYXJlIGludGVuZGVkIHRv
IGJlIHVzZWQgYnkgTW9ja1hSSW5wdXRTb3VyY2Ugb25seS4KLSAgYWRkSW5wdXRTb3VyY2Uoc291
cmNlKSB7Ci0gICAgbGV0IGluZGV4ID0gdGhpcy5pbnB1dF9zb3VyY2VzXy5pbmRleE9mKHNvdXJj
ZSk7Ci0gICAgaWYgKGluZGV4ID09IC0xKSB7Ci0gICAgICB0aGlzLmlucHV0X3NvdXJjZXNfLnB1
c2goc291cmNlKTsKLSAgICB9Ci0gIH0KLQotICByZW1vdmVJbnB1dFNvdXJjZShzb3VyY2UpIHsK
LSAgICBsZXQgaW5kZXggPSB0aGlzLmlucHV0X3NvdXJjZXNfLmluZGV4T2Yoc291cmNlKTsKLSAg
ICBpZiAoaW5kZXggPj0gMCkgewotICAgICAgdGhpcy5pbnB1dF9zb3VyY2VzXy5zcGxpY2UoaW5k
ZXgsIDEpOwotICAgIH0KLSAgfQotCi0gIC8vIE1vam8gZnVuY3Rpb24gaW1wbGVtZW50YXRpb25z
LgotCi0gIC8vIFhSRnJhbWVEYXRhUHJvdmlkZXIgaW1wbGVtZW50YXRpb24uCi0gIGdldEZyYW1l
RGF0YSgpIHsKLSAgICBsZXQgbW9qb19zcGFjZV9yZXNldCA9IHRoaXMuc2VuZF9tb2pvX3NwYWNl
X3Jlc2V0XzsKLSAgICB0aGlzLnNlbmRfbW9qb19zcGFjZV9yZXNldF8gPSBmYWxzZTsKLSAgICBp
ZiAodGhpcy5wb3NlXykgewotICAgICAgdGhpcy5wb3NlXy5wb3NlSW5kZXgrKzsKLQotICAgIH0K
LQotICAgIC8vIFNldHRpbmcgdGhlIGlucHV0X3N0YXRlIHRvIG51bGwgdGVzdHMgYSBzbGlnaHRs
eSBkaWZmZXJlbnQgcGF0aCB0aGFuCi0gICAgLy8gdGhlIGJyb3dzZXIgdGVzdHMgd2hlcmUgaWYg
dGhlIGxhc3QgaW5wdXQgc291cmNlIGlzIHJlbW92ZWQsIHRoZSBkZXZpY2UKLSAgICAvLyBjb2Rl
IGFsd2F5cyBzZW5kcyB1cCBhbiBlbXB0eSBhcnJheSwgYnV0IGl0J3MgYWxzbyB2YWxpZCBtb2pv
bSB0byBzZW5kCi0gICAgLy8gdXAgYSBudWxsIGFycmF5LgotICAgIGxldCBpbnB1dF9zdGF0ZSA9
IG51bGw7Ci0gICAgaWYgKHRoaXMuaW5wdXRfc291cmNlc18ubGVuZ3RoID4gMCkgewotICAgICAg
aW5wdXRfc3RhdGUgPSBbXTsKLSAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5pbnB1dF9z
b3VyY2VzXy5sZW5ndGg7IGkrKykgewotICAgICAgICBpbnB1dF9zdGF0ZS5wdXNoKHRoaXMuaW5w
dXRfc291cmNlc19baV0uZ2V0SW5wdXRTb3VyY2VTdGF0ZSgpKTsKLSAgICAgIH0KLSAgICB9Ci0K
LSAgICAvLyBDb252ZXJ0IGN1cnJlbnQgZG9jdW1lbnQgdGltZSB0byBtb25vdG9uaWMgdGltZS4K
LSAgICBsZXQgbm93ID0gd2luZG93LnBlcmZvcm1hbmNlLm5vdygpIC8gMTAwMC4wOwotICAgIGxl
dCBkaWZmID0gbm93IC0gaW50ZXJuYWxzLm1vbm90b25pY1RpbWVUb1plcm9CYXNlZERvY3VtZW50
VGltZShub3cpOwotICAgIG5vdyArPSBkaWZmOwotICAgIG5vdyAqPSAxMDAwMDAwOwotCi0gICAg
cmV0dXJuIFByb21pc2UucmVzb2x2ZSh7Ci0gICAgICBmcmFtZURhdGE6IHsKLSAgICAgICAgcG9z
ZTogdGhpcy5wb3NlXywKLSAgICAgICAgbW9qb1NwYWNlUmVzZXQ6IG1vam9fc3BhY2VfcmVzZXQs
Ci0gICAgICAgIGlucHV0U3RhdGU6IGlucHV0X3N0YXRlLAotICAgICAgICB0aW1lRGVsdGE6IHsK
LSAgICAgICAgICBtaWNyb3NlY29uZHM6IG5vdywKLSAgICAgICAgfSwKLSAgICAgICAgZnJhbWVJ
ZDogdGhpcy5uZXh0X2ZyYW1lX2lkXysrLAotICAgICAgICBidWZmZXJIb2xkZXI6IG51bGwsCi0g
ICAgICAgIGJ1ZmZlclNpemU6IHt9Ci0gICAgICB9Ci0gICAgfSk7Ci0gIH0KLQotICBnZXRFbnZp
cm9ubWVudEludGVncmF0aW9uUHJvdmlkZXIoZW52aXJvbm1lbnRQcm92aWRlclJlcXVlc3QpIHsK
LSAgICB0aGlzLmVudmlyb25tZW50UHJvdmlkZXJCaW5kaW5nXyA9IG5ldyBtb2pvLkFzc29jaWF0
ZWRCaW5kaW5nKAotICAgICAgICBkZXZpY2UubW9qb20uWFJFbnZpcm9ubWVudEludGVncmF0aW9u
UHJvdmlkZXIsIHRoaXMsCi0gICAgICAgIGVudmlyb25tZW50UHJvdmlkZXJSZXF1ZXN0KTsKLSAg
fQotCi0gIC8vIE5vdGUgdGhhdCBpZiBnZXRFbnZpcm9ubWVudFByb3ZpZGVyIGhhc24ndCBmaW5p
c2hlZCBydW5uaW5nIHlldCB0aGlzIHdpbGwKLSAgLy8gYmUgdW5kZWZpbmVkLiBJdCdzIHJlY29t
bWVuZGVkIHRoYXQgeW91IGFsbG93IGEgc3VjY2Vzc2Z1bCB0YXNrIHRvIHBvc3QKLSAgLy8gZmly
c3QgYmVmb3JlIGF0dGVtcHRpbmcgdG8gY2xvc2UuCi0gIGNsb3NlRW52aXJvbm1lbnRJbnRlZ3Jh
dGlvblByb3ZpZGVyKCkgewotICAgIHRoaXMuZW52aXJvbm1lbnRQcm92aWRlckJpbmRpbmdfLmNs
b3NlKCk7Ci0gIH0KLQotICBjbG9zZURhdGFQcm92aWRlcigpIHsKLSAgICB0aGlzLmRhdGFQcm92
aWRlckJpbmRpbmdfLmNsb3NlKCk7Ci0gIH0KLQotICB1cGRhdGVTZXNzaW9uR2VvbWV0cnkoZnJh
bWVfc2l6ZSwgZGlzcGxheV9yb3RhdGlvbikgewotICAgIC8vIFRoaXMgZnVuY3Rpb24gbXVzdCBl
eGlzdCB0byBlbnN1cmUgdGhhdCBjYWxscyB0byBpdCBkbyBub3QgY3Jhc2gsIGJ1dCB3ZQotICAg
IC8vIGRvIG5vdCBoYXZlIGFueSB1c2UgZm9yIHRoaXMgZGF0YSBhdCBwcmVzZW50LgotICB9Ci0K
LSAgLy8gVXRpbGl0eSBmdW5jdGlvbgotICByZXF1ZXN0UnVudGltZVNlc3Npb24oc2Vzc2lvbk9w
dGlvbnMpIHsKLSAgICByZXR1cm4gdGhpcy5ydW50aW1lU3VwcG9ydHNTZXNzaW9uKHNlc3Npb25P
cHRpb25zKS50aGVuKChyZXN1bHQpID0+IHsKLSAgICAgIC8vIFRoZSBKYXZhU2NyaXB0IGJpbmRp
bmdzIGNvbnZlcnQgY19zdHlsZV9uYW1lcyB0byBjYW1lbENhc2UgbmFtZXMuCi0gICAgICBsZXQg
b3B0aW9ucyA9IG5ldyBkZXZpY2UubW9qb20uWFJQcmVzZW50YXRpb25UcmFuc3BvcnRPcHRpb25z
KCk7Ci0gICAgICBvcHRpb25zLnRyYW5zcG9ydE1ldGhvZCA9Ci0gICAgICAgICAgZGV2aWNlLm1v
am9tLlhSUHJlc2VudGF0aW9uVHJhbnNwb3J0TWV0aG9kLlNVQk1JVF9BU19NQUlMQk9YX0hPTERF
UjsKLSAgICAgIG9wdGlvbnMud2FpdEZvclRyYW5zZmVyTm90aWZpY2F0aW9uID0gdHJ1ZTsKLSAg
ICAgIG9wdGlvbnMud2FpdEZvclJlbmRlck5vdGlmaWNhdGlvbiA9IHRydWU7Ci0KLSAgICAgIGxl
dCBzdWJtaXRfZnJhbWVfc2luazsKLSAgICAgIGlmIChyZXN1bHQuc3VwcG9ydHNTZXNzaW9uKSB7
Ci0gICAgICAgIHN1Ym1pdF9mcmFtZV9zaW5rID0gewotICAgICAgICAgIGNsaWVudFJlY2VpdmVy
OiB0aGlzLnByZXNlbnRhdGlvbl9wcm92aWRlcl8uZ2V0Q2xpZW50UmVjZWl2ZXIoKSwKLSAgICAg
ICAgICBwcm92aWRlcjogdGhpcy5wcmVzZW50YXRpb25fcHJvdmlkZXJfLmJpbmRQcm92aWRlcihz
ZXNzaW9uT3B0aW9ucyksCi0gICAgICAgICAgdHJhbnNwb3J0T3B0aW9uczogb3B0aW9ucwotICAg
ICAgICB9OwotCi0gICAgICAgIGxldCBkYXRhUHJvdmlkZXJQdHIgPSBuZXcgZGV2aWNlLm1vam9t
LlhSRnJhbWVEYXRhUHJvdmlkZXJQdHIoKTsKLSAgICAgICAgbGV0IGRhdGFQcm92aWRlclJlcXVl
c3QgPSBtb2pvLm1ha2VSZXF1ZXN0KGRhdGFQcm92aWRlclB0cik7Ci0gICAgICAgIHRoaXMuZGF0
YVByb3ZpZGVyQmluZGluZ18gPSBuZXcgbW9qby5CaW5kaW5nKAotICAgICAgICAgICAgZGV2aWNl
Lm1vam9tLlhSRnJhbWVEYXRhUHJvdmlkZXIsIHRoaXMsIGRhdGFQcm92aWRlclJlcXVlc3QpOwot
Ci0gICAgICAgIGxldCBjbGllbnRSZWNlaXZlciA9IG1vam8ubWFrZVJlcXVlc3QodGhpcy5zZXNz
aW9uQ2xpZW50Xyk7Ci0KLSAgICAgICAgbGV0IGVuYWJsZWRfZmVhdHVyZXMgPSBbXTsKLSAgICAg
ICAgZm9yKGxldCBpID0gMDsgaSA8IHNlc3Npb25PcHRpb25zLnJlcXVpcmVkRmVhdHVyZXMubGVu
Z3RoOyBpKyspIHsKLSAgICAgICAgICBpZiAodGhpcy5zdXBwb3J0ZWRGZWF0dXJlc18uaW5kZXhP
ZihzZXNzaW9uT3B0aW9ucy5yZXF1aXJlZEZlYXR1cmVzW2ldKSAhPT0gLTEpIHsKLSAgICAgICAg
ICAgIGVuYWJsZWRfZmVhdHVyZXMucHVzaChzZXNzaW9uT3B0aW9ucy5yZXF1aXJlZEZlYXR1cmVz
W2ldKTsKLSAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgcmV0dXJuIFByb21pc2UucmVz
b2x2ZSh7c2Vzc2lvbjogbnVsbH0pOwotICAgICAgICAgIH0KLSAgICAgICAgfQotCi0gICAgICAg
IGZvciAobGV0IGkgPTA7IGkgPCBzZXNzaW9uT3B0aW9ucy5vcHRpb25hbEZlYXR1cmVzLmxlbmd0
aDsgaSsrKSB7Ci0gICAgICAgICAgaWYgKHRoaXMuc3VwcG9ydGVkRmVhdHVyZXNfLmluZGV4T2Yo
c2Vzc2lvbk9wdGlvbnMub3B0aW9uYWxGZWF0dXJlc1tpXSkgIT09IC0xKSB7Ci0gICAgICAgICAg
ICBlbmFibGVkX2ZlYXR1cmVzLnB1c2goc2Vzc2lvbk9wdGlvbnMub3B0aW9uYWxGZWF0dXJlc1tp
XSk7Ci0gICAgICAgICAgfQotICAgICAgICB9Ci0KLSAgICAgICAgcmV0dXJuIFByb21pc2UucmVz
b2x2ZSh7Ci0gICAgICAgICAgc2Vzc2lvbjogewotICAgICAgICAgICAgc3VibWl0RnJhbWVTaW5r
OiBzdWJtaXRfZnJhbWVfc2luaywKLSAgICAgICAgICAgIGRhdGFQcm92aWRlcjogZGF0YVByb3Zp
ZGVyUHRyLAotICAgICAgICAgICAgY2xpZW50UmVjZWl2ZXI6IGNsaWVudFJlY2VpdmVyLAotICAg
ICAgICAgICAgZGlzcGxheUluZm86IHRoaXMuZGlzcGxheUluZm9fLAotICAgICAgICAgICAgZW5h
YmxlZEZlYXR1cmVzOiBlbmFibGVkX2ZlYXR1cmVzLAotICAgICAgICAgIH0KLSAgICAgICAgfSk7
Ci0gICAgICB9IGVsc2UgewotICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHtzZXNzaW9u
OiBudWxsfSk7Ci0gICAgICB9Ci0gICAgfSk7Ci0gIH0KLQotICBydW50aW1lU3VwcG9ydHNTZXNz
aW9uKG9wdGlvbnMpIHsKLSAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHsKLSAgICAgIHN1cHBv
cnRzU2Vzc2lvbjoKLSAgICAgICAgICAhb3B0aW9ucy5pbW1lcnNpdmUgfHwgdGhpcy5kaXNwbGF5
SW5mb18uY2FwYWJpbGl0aWVzLmNhblByZXNlbnQKLSAgICB9KTsKLSAgfTsKLX0KLQotY2xhc3Mg
TW9ja1hSU2Vzc2lvbk1ldHJpY3NSZWNvcmRlciB7Ci0gIHJlcG9ydEZlYXR1cmVVc2VkKGZlYXR1
cmUpIHsKLSAgICAvLyBEbyBub3RoaW5nCi0gIH0KLX0KLQotY2xhc3MgTW9ja1hSSW5wdXRTb3Vy
Y2UgewotICBjb25zdHJ1Y3RvcihmYWtlSW5wdXRTb3VyY2VJbml0LCBpZCwgcGFpcmVkRGV2aWNl
KSB7Ci0gICAgdGhpcy5zb3VyY2VfaWRfID0gaWQ7Ci0gICAgdGhpcy5wYWlyZWREZXZpY2VfID0g
cGFpcmVkRGV2aWNlOwotICAgIHRoaXMuaGFuZGVkbmVzc18gPSBmYWtlSW5wdXRTb3VyY2VJbml0
LmhhbmRlZG5lc3M7Ci0gICAgdGhpcy50YXJnZXRfcmF5X21vZGVfID0gZmFrZUlucHV0U291cmNl
SW5pdC50YXJnZXRSYXlNb2RlOwotICAgIHRoaXMuc2V0UG9pbnRlck9yaWdpbihmYWtlSW5wdXRT
b3VyY2VJbml0LnBvaW50ZXJPcmlnaW4pOwotICAgIHRoaXMuc2V0UHJvZmlsZXMoZmFrZUlucHV0
U291cmNlSW5pdC5wcm9maWxlcyk7Ci0KLSAgICB0aGlzLnByaW1hcnlfaW5wdXRfcHJlc3NlZF8g
PSBmYWxzZTsKLSAgICBpZiAoZmFrZUlucHV0U291cmNlSW5pdC5zZWxlY3Rpb25TdGFydGVkICE9
IG51bGwpIHsKLSAgICAgIHRoaXMucHJpbWFyeV9pbnB1dF9wcmVzc2VkXyA9IGZha2VJbnB1dFNv
dXJjZUluaXQuc2VsZWN0aW9uU3RhcnRlZDsKLSAgICB9Ci0KLSAgICB0aGlzLnByaW1hcnlfaW5w
dXRfY2xpY2tlZF8gPSBmYWxzZTsKLSAgICBpZiAoZmFrZUlucHV0U291cmNlSW5pdC5zZWxlY3Rp
b25DbGlja2VkICE9IG51bGwpIHsKLSAgICAgIHRoaXMucHJpbWFyeV9pbnB1dF9jbGlja2VkXyA9
IGZha2VJbnB1dFNvdXJjZUluaXQuc2VsZWN0aW9uQ2xpY2tlZDsKLSAgICB9Ci0KLSAgICB0aGlz
Lm1vam9fZnJvbV9pbnB1dF8gPSBudWxsOwotICAgIGlmIChmYWtlSW5wdXRTb3VyY2VJbml0Lmdy
aXBPcmlnaW4gIT0gbnVsbCkgewotICAgICAgdGhpcy5zZXRHcmlwT3JpZ2luKGZha2VJbnB1dFNv
dXJjZUluaXQuZ3JpcE9yaWdpbik7Ci0gICAgfQotCi0gICAgLy8gVGhpcyBwcm9wZXJseSBoYW5k
bGVzIGlmIHN1cHBvcnRlZEJ1dHRvbnMgd2VyZSBub3Qgc3BlY2lmaWVkLgotICAgIHRoaXMuc2V0
U3VwcG9ydGVkQnV0dG9ucyhmYWtlSW5wdXRTb3VyY2VJbml0LnN1cHBvcnRlZEJ1dHRvbnMpOwot
Ci0gICAgdGhpcy5lbXVsYXRlZF9wb3NpdGlvbl8gPSBmYWxzZTsKLSAgICB0aGlzLmRlc2NfZGly
dHlfID0gdHJ1ZTsKLSAgfQotCi0gIC8vIFdlYnhyLXRlc3QtYXBpCi0gIHNldEhhbmRlZG5lc3Mo
aGFuZGVkbmVzcykgewotICAgIGlmICh0aGlzLmhhbmRlZG5lc3NfICE9IGhhbmRlZG5lc3MpIHsK
LSAgICAgIHRoaXMuZGVzY19kaXJ0eV8gPSB0cnVlOwotICAgICAgdGhpcy5oYW5kZWRuZXNzXyA9
IGhhbmRlZG5lc3M7Ci0gICAgfQotICB9Ci0KLSAgc2V0VGFyZ2V0UmF5TW9kZSh0YXJnZXRSYXlN
b2RlKSB7Ci0gICAgaWYgKHRoaXMudGFyZ2V0X3JheV9tb2RlXyAhPSB0YXJnZXRSYXlNb2RlKSB7
Ci0gICAgICB0aGlzLmRlc2NfZGlydHlfID0gdHJ1ZTsKLSAgICAgIHRoaXMudGFyZ2V0X3JheV9t
b2RlXyA9IHRhcmdldFJheU1vZGU7Ci0gICAgfQotICB9Ci0KLSAgc2V0UHJvZmlsZXMocHJvZmls
ZXMpIHsKLSAgICB0aGlzLmRlc2NfZGlydHlfID0gdHJ1ZTsKLSAgICB0aGlzLnByb2ZpbGVzXyA9
IHByb2ZpbGVzOwotICB9Ci0KLSAgc2V0R3JpcE9yaWdpbih0cmFuc2Zvcm0sIGVtdWxhdGVkUG9z
aXRpb24gPSBmYWxzZSkgewotICAgIHRoaXMubW9qb19mcm9tX2lucHV0XyA9IG5ldyBnZngubW9q
b20uVHJhbnNmb3JtKCk7Ci0gICAgdGhpcy5tb2pvX2Zyb21faW5wdXRfLm1hdHJpeCA9IGdldE1h
dHJpeEZyb21UcmFuc2Zvcm0odHJhbnNmb3JtKTsKLSAgICB0aGlzLmVtdWxhdGVkX3Bvc2l0aW9u
XyA9IGVtdWxhdGVkUG9zaXRpb247Ci0gIH0KLQotICBjbGVhckdyaXBPcmlnaW4oKSB7Ci0gICAg
aWYgKHRoaXMubW9qb19mcm9tX2lucHV0XyAhPSBudWxsKSB7Ci0gICAgICB0aGlzLm1vam9fZnJv
bV9pbnB1dF8gPSBudWxsOwotICAgICAgdGhpcy5lbXVsYXRlZF9wb3NpdGlvbl8gPSBmYWxzZTsK
LSAgICB9Ci0gIH0KLQotICBzZXRQb2ludGVyT3JpZ2luKHRyYW5zZm9ybSwgZW11bGF0ZWRQb3Np
dGlvbiA9IGZhbHNlKSB7Ci0gICAgdGhpcy5kZXNjX2RpcnR5XyA9IHRydWU7Ci0gICAgdGhpcy5p
bnB1dF9mcm9tX3BvaW50ZXJfID0gbmV3IGdmeC5tb2pvbS5UcmFuc2Zvcm0oKTsKLSAgICB0aGlz
LmlucHV0X2Zyb21fcG9pbnRlcl8ubWF0cml4ID0gZ2V0TWF0cml4RnJvbVRyYW5zZm9ybSh0cmFu
c2Zvcm0pOwotICAgIHRoaXMuZW11bGF0ZWRfcG9zaXRpb25fID0gZW11bGF0ZWRQb3NpdGlvbjsK
LSAgfQotCi0gIGRpc2Nvbm5lY3QoKSB7Ci0gICAgdGhpcy5wYWlyZWREZXZpY2VfLnJlbW92ZUlu
cHV0U291cmNlKHRoaXMpOwotICB9Ci0KLSAgcmVjb25uZWN0KCkgewotICAgIHRoaXMucGFpcmVk
RGV2aWNlXy5hZGRJbnB1dFNvdXJjZSh0aGlzKTsKLSAgfQotCi0gIHN0YXJ0U2VsZWN0aW9uKCkg
ewotICAgIHRoaXMucHJpbWFyeV9pbnB1dF9wcmVzc2VkXyA9IHRydWU7Ci0gICAgaWYgKHRoaXMu
Z2FtZXBhZF8pIHsKLSAgICAgIHRoaXMuZ2FtZXBhZF8uYnV0dG9uc1swXS5wcmVzc2VkID0gdHJ1
ZTsKLSAgICAgIHRoaXMuZ2FtZXBhZF8uYnV0dG9uc1swXS50b3VjaGVkID0gdHJ1ZTsKLSAgICB9
Ci0gIH0KLQotICBlbmRTZWxlY3Rpb24oKSB7Ci0gICAgaWYgKCF0aGlzLnByaW1hcnlfaW5wdXRf
cHJlc3NlZF8pIHsKLSAgICAgIHRocm93IG5ldyBFcnJvcigiQXR0ZW1wdGVkIHRvIGVuZCBzZWxl
Y3Rpb24gd2hpY2ggd2FzIG5vdCBzdGFydGVkIik7Ci0gICAgfQotCi0gICAgdGhpcy5wcmltYXJ5
X2lucHV0X3ByZXNzZWRfID0gZmFsc2U7Ci0gICAgdGhpcy5wcmltYXJ5X2lucHV0X2NsaWNrZWRf
ID0gdHJ1ZTsKLQotICAgIGlmICh0aGlzLmdhbWVwYWRfKSB7Ci0gICAgICB0aGlzLmdhbWVwYWRf
LmJ1dHRvbnNbMF0ucHJlc3NlZCA9IGZhbHNlOwotICAgICAgdGhpcy5nYW1lcGFkXy5idXR0b25z
WzBdLnRvdWNoZWQgPSBmYWxzZTsKLSAgICB9Ci0gIH0KLQotICBzaW11bGF0ZVNlbGVjdCgpIHsK
LSAgICB0aGlzLnByaW1hcnlfaW5wdXRfY2xpY2tlZF8gPSB0cnVlOwotICB9Ci0KLSAgc2V0U3Vw
cG9ydGVkQnV0dG9ucyhzdXBwb3J0ZWRCdXR0b25zKSB7Ci0gICAgdGhpcy5nYW1lcGFkXyA9IG51
bGw7Ci0gICAgdGhpcy5zdXBwb3J0ZWRfYnV0dG9uc18gPSBbXTsKLQotICAgIC8vIElmIHRoZXJl
IGFyZSBubyBzdXBwb3J0ZWQgYnV0dG9ucywgd2UgY2FuIHN0b3Agbm93LgotICAgIGlmIChzdXBw
b3J0ZWRCdXR0b25zID09IG51bGwgfHwgc3VwcG9ydGVkQnV0dG9ucy5sZW5ndGggPCAxKSB7Ci0g
ICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgbGV0IHN1cHBvcnRlZF9idXR0b25fbWFwID0ge307
Ci0gICAgdGhpcy5nYW1lcGFkXyA9IHRoaXMuZ2V0RW1wdHlHYW1lcGFkKCk7Ci0gICAgZm9yIChs
ZXQgaSA9IDA7IGkgPCBzdXBwb3J0ZWRCdXR0b25zLmxlbmd0aDsgaSsrKSB7Ci0gICAgICBsZXQg
YnV0dG9uVHlwZSA9IHN1cHBvcnRlZEJ1dHRvbnNbaV0uYnV0dG9uVHlwZTsKLSAgICAgIHRoaXMu
c3VwcG9ydGVkX2J1dHRvbnNfLnB1c2goYnV0dG9uVHlwZSk7Ci0gICAgICBzdXBwb3J0ZWRfYnV0
dG9uX21hcFtidXR0b25UeXBlXSA9IHN1cHBvcnRlZEJ1dHRvbnNbaV07Ci0gICAgfQotCi0gICAg
Ly8gTGV0J3Mgc3RhcnQgYnkgYnVpbGRpbmcgdGhlIGJ1dHRvbiBzdGF0ZSBpbiBvcmRlciBvZiBw
cmlvcml0eToKLSAgICAvLyBQcmltYXJ5IGJ1dHRvbiBpcyBpbmRleCAwLgotICAgIHRoaXMuZ2Ft
ZXBhZF8uYnV0dG9ucy5wdXNoKHsKLSAgICAgIHByZXNzZWQ6IHRoaXMucHJpbWFyeV9pbnB1dF9w
cmVzc2VkXywKLSAgICAgIHRvdWNoZWQ6IHRoaXMucHJpbWFyeV9pbnB1dF9wcmVzc2VkXywKLSAg
ICAgIHZhbHVlOiB0aGlzLnByaW1hcnlfaW5wdXRfcHJlc3NlZF8gPyAxLjAgOiAwLjAKLSAgICB9
KTsKLQotICAgIC8vIE5vdyBhZGQgdGhlIHJlc3Qgb2Ygb3VyIGJ1dHRvbnMKLSAgICB0aGlzLmFk
ZEdhbWVwYWRCdXR0b24oc3VwcG9ydGVkX2J1dHRvbl9tYXBbJ2dyaXAnXSk7Ci0gICAgdGhpcy5h
ZGRHYW1lcGFkQnV0dG9uKHN1cHBvcnRlZF9idXR0b25fbWFwWyd0b3VjaHBhZCddKTsKLSAgICB0
aGlzLmFkZEdhbWVwYWRCdXR0b24oc3VwcG9ydGVkX2J1dHRvbl9tYXBbJ3RodW1ic3RpY2snXSk7
Ci0gICAgdGhpcy5hZGRHYW1lcGFkQnV0dG9uKHN1cHBvcnRlZF9idXR0b25fbWFwWydvcHRpb25h
bC1idXR0b24nXSk7Ci0gICAgdGhpcy5hZGRHYW1lcGFkQnV0dG9uKHN1cHBvcnRlZF9idXR0b25f
bWFwWydvcHRpb25hbC10aHVtYnN0aWNrJ10pOwotCi0gICAgLy8gRmluYWxseSwgYmFjay1maWxs
IHBsYWNlaG9sZGVyIGJ1dHRvbnMvYXhlcwotICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5n
YW1lcGFkXy5idXR0b25zLmxlbmd0aDsgaSsrKSB7Ci0gICAgICBpZiAodGhpcy5nYW1lcGFkXy5i
dXR0b25zW2ldID09IG51bGwpIHsKLSAgICAgICAgdGhpcy5nYW1lcGFkXy5idXR0b25zW2ldID0g
ewotICAgICAgICAgIHByZXNzZWQ6IGZhbHNlLAotICAgICAgICAgIHRvdWNoZWQ6IGZhbHNlLAot
ICAgICAgICAgIHZhbHVlOiAwCi0gICAgICAgIH0KLSAgICAgIH0KLSAgICB9Ci0KLSAgICBmb3Ig
KGxldCBpPTA7IGkgPCB0aGlzLmdhbWVwYWRfLmF4ZXMubGVuZ3RoOyBpKyspIHsKLSAgICAgIGlm
ICh0aGlzLmdhbWVwYWRfLmF4ZXNbaV0gPT0gbnVsbCkgewotICAgICAgICB0aGlzLmdhbWVwYWRf
LmF4ZXNbaV0gPSAwOwotICAgICAgfQotICAgIH0KLSAgfQotCi0gIHVwZGF0ZUJ1dHRvblN0YXRl
KGJ1dHRvblN0YXRlKSB7Ci0gICAgaWYgKHRoaXMuc3VwcG9ydGVkX2J1dHRvbnNfLmluZGV4T2Yo
YnV0dG9uU3RhdGUuYnV0dG9uVHlwZSkgPT0gLTEpIHsKLSAgICAgIHRocm93IG5ldyBFcnJvcigi
VHJpZWQgdG8gdXBkYXRlIHN0YXRlIG9uIGFuIHVuc3VwcG9ydGVkIGJ1dHRvbiIpOwotICAgIH0K
LQotICAgIGxldCBidXR0b25JbmRleCA9IHRoaXMuZ2V0QnV0dG9uSW5kZXgoYnV0dG9uU3RhdGUu
YnV0dG9uVHlwZSk7Ci0gICAgbGV0IGF4ZXNTdGFydEluZGV4ID0gdGhpcy5nZXRBeGVzU3RhcnRJ
bmRleChidXR0b25TdGF0ZS5idXR0b25UeXBlKTsKLQotICAgIGlmIChidXR0b25JbmRleCA9PSAt
MSkgewotICAgICAgdGhyb3cgbmV3IEVycm9yKCJVbmtub3duIEJ1dHRvbiBUeXBlISIpOwotICAg
IH0KLQotICAgIHRoaXMuZ2FtZXBhZF8uYnV0dG9uc1tidXR0b25JbmRleF0ucHJlc3NlZCA9IGJ1
dHRvblN0YXRlLnByZXNzZWQ7Ci0gICAgdGhpcy5nYW1lcGFkXy5idXR0b25zW2J1dHRvbkluZGV4
XS50b3VjaGVkID0gYnV0dG9uU3RhdGUudG91Y2hlZDsKLSAgICB0aGlzLmdhbWVwYWRfLmJ1dHRv
bnNbYnV0dG9uSW5kZXhdLnZhbHVlID0gYnV0dG9uU3RhdGUucHJlc3NlZFZhbHVlOwotCi0gICAg
aWYgKGF4ZXNTdGFydEluZGV4ICE9IC0xKSB7Ci0gICAgICB0aGlzLmdhbWVwYWRfLmF4ZXNbYXhl
c1N0YXJ0SW5kZXhdID0gYnV0dG9uU3RhdGUueFZhbHVlID09IG51bGwgPyAwLjAgOiBidXR0b25T
dGF0ZS54VmFsdWU7Ci0gICAgICB0aGlzLmdhbWVwYWRfLmF4ZXNbYXhlc1N0YXJ0SW5kZXggKyAx
XSA9IGJ1dHRvblN0YXRlLnlWYWx1ZSA9PSBudWxsID8gMC4wIDogYnV0dG9uU3RhdGUueVZhbHVl
OwotICAgIH0KLSAgfQotCi0gIC8vIEhlbHBlcnMgZm9yIE1vam9tCi0gIGdldElucHV0U291cmNl
U3RhdGUoKSB7Ci0gICAgbGV0IGlucHV0X3N0YXRlID0gbmV3IGRldmljZS5tb2pvbS5YUklucHV0
U291cmNlU3RhdGUoKTsKLQotICAgIGlucHV0X3N0YXRlLnNvdXJjZUlkID0gdGhpcy5zb3VyY2Vf
aWRfOwotCi0gICAgaW5wdXRfc3RhdGUucHJpbWFyeUlucHV0UHJlc3NlZCA9IHRoaXMucHJpbWFy
eV9pbnB1dF9wcmVzc2VkXzsKLSAgICBpbnB1dF9zdGF0ZS5wcmltYXJ5SW5wdXRDbGlja2VkID0g
dGhpcy5wcmltYXJ5X2lucHV0X2NsaWNrZWRfOwotCi0gICAgaW5wdXRfc3RhdGUubW9qb0Zyb21J
bnB1dCA9IHRoaXMubW9qb19mcm9tX2lucHV0XzsKLQotICAgIGlucHV0X3N0YXRlLmdhbWVwYWQg
PSB0aGlzLmdhbWVwYWRfOwotCi0gICAgaW5wdXRfc3RhdGUuZW11bGF0ZWRQb3NpdGlvbiA9IHRo
aXMuZW11bGF0ZWRfcG9zaXRpb25fOwotCi0gICAgaWYgKHRoaXMuZGVzY19kaXJ0eV8pIHsKLSAg
ICAgIGxldCBpbnB1dF9kZXNjID0gbmV3IGRldmljZS5tb2pvbS5YUklucHV0U291cmNlRGVzY3Jp
cHRpb24oKTsKLQotICAgICAgc3dpdGNoICh0aGlzLnRhcmdldF9yYXlfbW9kZV8pIHsKLSAgICAg
ICAgY2FzZSAnZ2F6ZSc6Ci0gICAgICAgICAgaW5wdXRfZGVzYy50YXJnZXRSYXlNb2RlID0gZGV2
aWNlLm1vam9tLlhSVGFyZ2V0UmF5TW9kZS5HQVpJTkc7Ci0gICAgICAgICAgYnJlYWs7Ci0gICAg
ICAgIGNhc2UgJ3RyYWNrZWQtcG9pbnRlcic6Ci0gICAgICAgICAgaW5wdXRfZGVzYy50YXJnZXRS
YXlNb2RlID0gZGV2aWNlLm1vam9tLlhSVGFyZ2V0UmF5TW9kZS5QT0lOVElORzsKLSAgICAgICAg
ICBicmVhazsKLSAgICAgIH0KLQotICAgICAgc3dpdGNoICh0aGlzLmhhbmRlZG5lc3NfKSB7Ci0g
ICAgICAgIGNhc2UgJ2xlZnQnOgotICAgICAgICAgIGlucHV0X2Rlc2MuaGFuZGVkbmVzcyA9IGRl
dmljZS5tb2pvbS5YUkhhbmRlZG5lc3MuTEVGVDsKLSAgICAgICAgICBicmVhazsKLSAgICAgICAg
Y2FzZSAncmlnaHQnOgotICAgICAgICAgIGlucHV0X2Rlc2MuaGFuZGVkbmVzcyA9IGRldmljZS5t
b2pvbS5YUkhhbmRlZG5lc3MuUklHSFQ7Ci0gICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGRlZmF1
bHQ6Ci0gICAgICAgICAgaW5wdXRfZGVzYy5oYW5kZWRuZXNzID0gZGV2aWNlLm1vam9tLlhSSGFu
ZGVkbmVzcy5OT05FOwotICAgICAgICAgIGJyZWFrOwotICAgICAgfQotCi0gICAgICBpbnB1dF9k
ZXNjLmlucHV0RnJvbVBvaW50ZXIgPSB0aGlzLmlucHV0X2Zyb21fcG9pbnRlcl87Ci0KLSAgICAg
IGlucHV0X2Rlc2MucHJvZmlsZXMgPSB0aGlzLnByb2ZpbGVzXzsKLQotICAgICAgaW5wdXRfc3Rh
dGUuZGVzY3JpcHRpb24gPSBpbnB1dF9kZXNjOwotCi0gICAgICB0aGlzLmRlc2NfZGlydHlfID0g
ZmFsc2U7Ci0gICAgfQotCi0gICAgcmV0dXJuIGlucHV0X3N0YXRlOwotICB9Ci0KLSAgZ2V0RW1w
dHlHYW1lcGFkKCkgewotICAgIC8vIE1vam8gY29tcGxhaW5zIGlmIHNvbWUgb2YgdGhlIHByb3Bl
cnRpZXMgb24gR2FtZXBhZCBhcmUgbnVsbCwgc28gc2V0Ci0gICAgLy8gZXZlcnl0aGluZyB0byBy
ZWFzb25hYmxlIGRlZmF1bHRzIHRoYXQgdGVzdHMgY2FuIG92ZXJyaWRlLgotICAgIGxldCBnYW1l
cGFkID0gbmV3IGRldmljZS5tb2pvbS5HYW1lcGFkKCk7Ci0gICAgZ2FtZXBhZC5jb25uZWN0ZWQg
PSB0cnVlOwotICAgIGdhbWVwYWQuaWQgPSAiIjsKLSAgICBnYW1lcGFkLnRpbWVzdGFtcCA9IDA7
Ci0gICAgZ2FtZXBhZC5heGVzID0gW107Ci0gICAgZ2FtZXBhZC5idXR0b25zID0gW107Ci0gICAg
Z2FtZXBhZC5tYXBwaW5nID0gInhyLXN0YW5kYXJkIjsKLSAgICBnYW1lcGFkLmRpc3BsYXlfaWQg
PSAwOwotCi0gICAgc3dpdGNoICh0aGlzLmhhbmRlZG5lc3NfKSB7Ci0gICAgICBjYXNlICdsZWZ0
JzoKLSAgICAgIGdhbWVwYWQuaGFuZCA9IGRldmljZS5tb2pvbS5HYW1lcGFkSGFuZC5HYW1lcGFk
SGFuZExlZnQ7Ci0gICAgICBicmVhazsKLSAgICAgIGNhc2UgJ3JpZ2h0JzoKLSAgICAgIGdhbWVw
YWQuaGFuZCA9IGRldmljZS5tb2pvbS5HYW1lcGFkSGFuZC5HYW1lcGFkSGFuZFJpZ2h0OwotICAg
ICAgYnJlYWs7Ci0gICAgICBkZWZhdWx0OgotICAgICAgZ2FtZXBhZC5oYW5kID0gZGV2aWNlLm1v
am9tLkdhbWVwYWRIYW5kLkdhbWVwYWRIYW5kTm9uZTsKLSAgICAgIGJyZWFrOwotICAgIH0KLQot
ICAgIHJldHVybiBnYW1lcGFkOwotICB9Ci0KLSAgYWRkR2FtZXBhZEJ1dHRvbihidXR0b25TdGF0
ZSkgewotICAgIGlmIChidXR0b25TdGF0ZSA9PSBudWxsKSB7Ci0gICAgICByZXR1cm47Ci0gICAg
fQotCi0gICAgbGV0IGJ1dHRvbkluZGV4ID0gdGhpcy5nZXRCdXR0b25JbmRleChidXR0b25TdGF0
ZS5idXR0b25UeXBlKTsKLSAgICBsZXQgYXhlc1N0YXJ0SW5kZXggPSB0aGlzLmdldEF4ZXNTdGFy
dEluZGV4KGJ1dHRvblN0YXRlLmJ1dHRvblR5cGUpOwotCi0gICAgaWYgKGJ1dHRvbkluZGV4ID09
IC0xKSB7Ci0gICAgICB0aHJvdyBuZXcgRXJyb3IoIlVua25vd24gQnV0dG9uIFR5cGUhIik7Ci0g
ICAgfQotCi0gICAgdGhpcy5nYW1lcGFkXy5idXR0b25zW2J1dHRvbkluZGV4XSA9IHsKLSAgICAg
IHByZXNzZWQ6IGJ1dHRvblN0YXRlLnByZXNzZWQsCi0gICAgICB0b3VjaGVkOiBidXR0b25TdGF0
ZS50b3VjaGVkLAotICAgICAgdmFsdWU6IGJ1dHRvblN0YXRlLnByZXNzZWRWYWx1ZQotICAgIH07
Ci0KLSAgICAvLyBBZGQgeC95IHZhbHVlIGlmIHN1cHBvcnRlZC4KLSAgICBpZiAoYXhlc1N0YXJ0
SW5kZXggIT0gLTEpIHsKLSAgICAgIHRoaXMuZ2FtZXBhZF8uYXhlc1theGVzU3RhcnRJbmRleF0g
PSAoYnV0dG9uU3RhdGUueFZhbHVlID09IG51bGwgPyAwLjAgOiBidXR0b25TYXRlLnhWYWx1ZSk7
Ci0gICAgICB0aGlzLmdhbWVwYWRfLmF4ZXNbYXhlc1N0YXJ0SW5kZXggKyAxXSA9IChidXR0b25T
dGF0ZS55VmFsdWUgPT0gbnVsbCA/IDAuMCA6IGJ1dHRvblNhdGUueVZhbHVlKTsKLSAgICB9Ci0g
IH0KLQotICAvLyBHZW5lcmFsIEhlbHBlciBtZXRob2RzCi0gIGdldEJ1dHRvbkluZGV4KGJ1dHRv
blR5cGUpIHsKLSAgICBzd2l0Y2ggKGJ1dHRvblR5cGUpIHsKLSAgICAgIGNhc2UgJ2dyaXAnOgot
ICAgICAgICByZXR1cm4gMTsKLSAgICAgIGNhc2UgJ3RvdWNocGFkJzoKLSAgICAgICAgcmV0dXJu
IDI7Ci0gICAgICBjYXNlICd0aHVtYnN0aWNrJzoKLSAgICAgICAgcmV0dXJuIDM7Ci0gICAgICBj
YXNlICdvcHRpb25hbC1idXR0b24nOgotICAgICAgICByZXR1cm4gNDsKLSAgICAgIGNhc2UgJ29w
dGlvbmFsLXRodW1ic3RpY2snOgotICAgICAgICByZXR1cm4gNTsKLSAgICAgIGRlZmF1bHQ6Ci0g
ICAgICAgIHJldHVybiAtMTsKLSAgICB9Ci0gIH0KLQotICBnZXRBeGVzU3RhcnRJbmRleChidXR0
b25UeXBlKSB7Ci0gICAgc3dpdGNoIChidXR0b25UeXBlKSB7Ci0gICAgICBjYXNlICd0b3VjaHBh
ZCc6Ci0gICAgICAgIHJldHVybiAwOwotICAgICAgY2FzZSAndGh1bWJzdGljayc6Ci0gICAgICAg
IHJldHVybiAyOwotICAgICAgY2FzZSAnb3B0aW9uYWwtdGh1bWJzdGljayc6Ci0gICAgICAgIHJl
dHVybiA0OwotICAgICAgZGVmYXVsdDoKLSAgICAgICAgcmV0dXJuIC0xOwotICAgIH0KLSAgfQot
fQotCi0vLyBNb2pvIGhlbHBlciBjbGFzc2VzCi1jbGFzcyBNb2NrWFJQcmVzZW50YXRpb25Qcm92
aWRlciB7Ci0gIGNvbnN0cnVjdG9yKCkgewotICAgIHRoaXMuYmluZGluZ18gPSBuZXcgbW9qby5C
aW5kaW5nKGRldmljZS5tb2pvbS5YUlByZXNlbnRhdGlvblByb3ZpZGVyLCB0aGlzKTsKLQotICAg
IHRoaXMuc3VibWl0X2ZyYW1lX2NvdW50XyA9IDA7Ci0gICAgdGhpcy5taXNzaW5nX2ZyYW1lX2Nv
dW50XyA9IDA7Ci0gIH0KLQotICBiaW5kUHJvdmlkZXIocmVxdWVzdCkgewotICAgIGxldCBwcm92
aWRlclB0ciA9IG5ldyBkZXZpY2UubW9qb20uWFJQcmVzZW50YXRpb25Qcm92aWRlclB0cigpOwot
ICAgIGxldCBwcm92aWRlclJlcXVlc3QgPSBtb2pvLm1ha2VSZXF1ZXN0KHByb3ZpZGVyUHRyKTsK
LQotICAgIHRoaXMuYmluZGluZ18uY2xvc2UoKTsKLQotICAgIHRoaXMuYmluZGluZ18gPSBuZXcg
bW9qby5CaW5kaW5nKAotICAgICAgICBkZXZpY2UubW9qb20uWFJQcmVzZW50YXRpb25Qcm92aWRl
ciwgdGhpcywgcHJvdmlkZXJSZXF1ZXN0KTsKLQotICAgIHJldHVybiBwcm92aWRlclB0cjsKLSAg
fQotCi0gIGdldENsaWVudFJlY2VpdmVyKCkgewotICAgIHRoaXMuc3VibWl0RnJhbWVDbGllbnRf
ID0gbmV3IGRldmljZS5tb2pvbS5YUlByZXNlbnRhdGlvbkNsaWVudFB0cigpOwotICAgIHJldHVy
biBtb2pvLm1ha2VSZXF1ZXN0KHRoaXMuc3VibWl0RnJhbWVDbGllbnRfKTsKLSAgfQotCi0gIC8v
IFhSUHJlc2VudGF0aW9uUHJvdmlkZXIgbW9qbyBpbXBsZW1lbnRhdGlvbgotICBzdWJtaXRGcmFt
ZU1pc3NpbmcoZnJhbWVJZCwgbWFpbGJveEhvbGRlciwgdGltZVdhaXRlZCkgewotICAgIHRoaXMu
bWlzc2luZ19mcmFtZV9jb3VudF8rKzsKLSAgfQotCi0gIHN1Ym1pdEZyYW1lKGZyYW1lSWQsIG1h
aWxib3hIb2xkZXIsIHRpbWVXYWl0ZWQpIHsKLSAgICB0aGlzLnN1Ym1pdF9mcmFtZV9jb3VudF8r
KzsKLQotICAgIC8vIFRyaWdnZXIgdGhlIHN1Ym1pdCBjb21wbGV0aW9uIGNhbGxiYWNrcyBoZXJl
LiBXQVJOSU5HOiBUaGUKLSAgICAvLyBKYXZhc2NyaXB0LWJhc2VkIG1vam8gbW9ja3MgYXJlICpu
b3QqIHJlLWVudHJhbnQuIEl0J3MgT0sgdG8KLSAgICAvLyB3YWl0IGZvciB0aGVzZSBub3RpZmlj
YXRpb25zIG9uIHRoZSBuZXh0IGZyYW1lLCBidXQgd2FpdGluZwotICAgIC8vIHdpdGhpbiB0aGUg
Y3VycmVudCBmcmFtZSB3b3VsZCBuZXZlciBmaW5pc2ggc2luY2UgdGhlIGluY29taW5nCi0gICAg
Ly8gY2FsbHMgd291bGQgYmUgcXVldWVkIHVudGlsIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBjb250
ZXh0IGZpbmlzaGVzLgotICAgIHRoaXMuc3VibWl0RnJhbWVDbGllbnRfLm9uU3VibWl0RnJhbWVU
cmFuc2ZlcnJlZCh0cnVlKTsKLSAgICB0aGlzLnN1Ym1pdEZyYW1lQ2xpZW50Xy5vblN1Ym1pdEZy
YW1lUmVuZGVyZWQoKTsKLSAgfQotCi0gIC8vIFV0aWxpdHkgbWV0aG9kcwotICBDbG9zZSgpIHsK
LSAgICB0aGlzLmJpbmRpbmdfLmNsb3NlKCk7Ci0gIH0KLX0KLQotLy8gVGhpcyBpcyBhIHRlbXBv
cmFyeSB3b3JrYXJvdW5kIGZvciB0aGUgZmFjdCB0aGF0IHNwaW5uaW5nIHVwIHdlYnhyIGJlZm9y
ZQotLy8gdGhlIG1vam8gaW50ZXJjZXB0b3JzIGFyZSBjcmVhdGVkIHdpbGwgY2F1c2UgdGhlIGlu
dGVyY2VwdG9ycyB0byBub3QgZ2V0Ci0vLyByZWdpc3RlcmVkLCBzbyB3ZSBoYXZlIHRvIGNyZWF0
ZSB0aGlzIGJlZm9yZSB3ZSBxdWVyeSB4cjsKLWxldCBYUlRlc3QgPSBuZXcgQ2hyb21lWFJUZXN0
KCk7Ci0KLS8vIFRoaXMgdGVzdCBBUEkgaXMgYWxzbyB1c2VkIHRvIHJ1biBDaHJvbWUncyBpbnRl
cm5hbCBsZWdhY3kgVlIgdGVzdHM7IGhvd2V2ZXIsCi0vLyB0aG9zZSBmYWlsIGlmIG5hdmlnYXRv
ci54ciBoYXMgYmVlbiB1c2VkLiBUaG9zZSB0ZXN0cyB3aWxsIHNldCBhIGJvb2wgdGVsbGluZwot
Ly8gdXMgbm90IHRvIHRyeSB0byBjaGVjayBuYXZpZ2F0b3IueHIKLWlmICgodHlwZW9mIGxlZ2Fj
eV92cl90ZXN0ID09PSAndW5kZWZpbmVkJykgfHwgIWxlZ2FjeV92cl90ZXN0KSB7Ci0gIC8vIFNv
bWUgdGVzdHMgbWF5IHJ1biBpbiB0aGUgaHR0cCBjb250ZXh0IHdoZXJlIG5hdmlnYXRvci54ciBp
c24ndCBleHBvc2VkCi0gIC8vIFRoaXMgc2hvdWxkIGp1c3QgYmUgdG8gdGVzdCB0aGF0IGl0IGlz
bid0IGV4cG9zZWQsIGJ1dCBkb24ndCB0cnkgdG8gc2V0IHVwCi0gIC8vIHRoZSB0ZXN0IGZyYW1l
d29yayBpbiB0aGlzIGNhc2UuCi0gIGlmIChuYXZpZ2F0b3IueHIpIHsKLSAgICBuYXZpZ2F0b3Iu
eHIudGVzdCA9IFhSVGVzdDsKLSAgfQotfSBlbHNlIHsKLSAgbmF2aWdhdG9yLnZyID0geyB0ZXN0
OiBYUlRlc3QgfTsKLX0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL3dlYnhyLXRlc3QuanMuaGVhZGVycyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2No
cm9taXVtL3dlYnhyLXRlc3QuanMuaGVhZGVycwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggNjgwNWMzMjNkZjUuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL3dlYnhyLXRlc3QuanMuaGVh
ZGVycworKysgL2Rldi9udWxsCkBAIC0xICswLDAgQEAKLUNvbnRlbnQtVHlwZTogdGV4dC9qYXZh
c2NyaXB0OyBjaGFyc2V0PXV0Zi04CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9kb2NzL2FwaS5tZCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2RvY3MvYXBpLm1kCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjN2E4OTFlOTFlZC4uMDAwMDAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
ZG9jcy9hcGkubWQKKysrIC9kZXYvbnVsbApAQCAtMSw3MDQgKzAsMCBAQAotIyMgSW50cm9kdWN0
aW9uICMjCi0KLXRlc3RoYXJuZXNzLmpzIHByb3ZpZGVzIGEgZnJhbWV3b3JrIGZvciB3cml0aW5n
IHRlc3RjYXNlcy4gSXQgaXMgaW50ZW5kZWQgdG8KLXByb3ZpZGUgYSBjb252ZW5pZW50IEFQSSBm
b3IgbWFraW5nIGNvbW1vbiBhc3NlcnRpb25zLCBhbmQgdG8gd29yayBib3RoCi1mb3IgdGVzdGlu
ZyBzeW5jaHJvbm91cyBhbmQgYXN5bmNocm9ub3VzIERPTSBmZWF0dXJlcyBpbiBhIHdheSB0aGF0
Ci1wcm9tb3RlcyBjbGVhciwgcm9idXN0LCB0ZXN0cy4KLQotIyMgQmFzaWMgVXNhZ2UgIyMKLQot
VGhlIHRlc3QgaGFybmVzcyBzY3JpcHQgY2FuIGJlIHVzZWQgZnJvbSBIVE1MIG9yIFNWRyBkb2N1
bWVudHMgYW5kIHdlYiB3b3JrZXIKLXNjcmlwdHMuCi0KLUZyb20gYW4gSFRNTCBvciBTVkcgZG9j
dW1lbnQsIHN0YXJ0IGJ5IGltcG9ydGluZyBib3RoIGB0ZXN0aGFybmVzcy5qc2AgYW5kCi1gdGVz
dGhhcm5lc3NyZXBvcnQuanNgIHNjcmlwdHMgaW50byB0aGUgZG9jdW1lbnQ6Ci0KLWBgYGh0bWwK
LTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLWBgYAot
Ci1SZWZlciB0byB0aGUgW1dlYiBXb3JrZXJzXSgjd2ViLXdvcmtlcnMpIHNlY3Rpb24gZm9yIGRl
dGFpbHMgYW5kIGFuIGV4YW1wbGUgb24KLXRlc3Rpbmcgd2l0aGluIGEgd2ViIHdvcmtlci4KLQot
V2l0aGluIGVhY2ggZmlsZSBvbmUgbWF5IGRlZmluZSBvbmUgb3IgbW9yZSB0ZXN0cy4gRWFjaCB0
ZXN0IGlzIGF0b21pYyBpbiB0aGUKLXNlbnNlIHRoYXQgYSBzaW5nbGUgdGVzdCBoYXMgYSBzaW5n
bGUgcmVzdWx0IChgUEFTU2AvYEZBSUxgL2BUSU1FT1VUYC9gTk9UUlVOYCkuCi1XaXRoaW4gZWFj
aCB0ZXN0IG9uZSBtYXkgaGF2ZSBhIG51bWJlciBvZiBhc3NlcnRzLiBUaGUgdGVzdCBmYWlscyBh
dCB0aGUgZmlyc3QKLWZhaWxpbmcgYXNzZXJ0LCBhbmQgdGhlIHJlbWFpbmRlciBvZiB0aGUgdGVz
dCBpcyAodHlwaWNhbGx5KSBub3QgcnVuLgotCi1JZiB0aGUgZmlsZSBjb250YWluaW5nIHRoZSB0
ZXN0cyBpcyBhIEhUTUwgZmlsZSwgYSB0YWJsZSBjb250YWluaW5nIHRoZSB0ZXN0Ci1yZXN1bHRz
IHdpbGwgYmUgYWRkZWQgdG8gdGhlIGRvY3VtZW50IGFmdGVyIGFsbCB0ZXN0cyBoYXZlIHJ1bi4g
QnkgZGVmYXVsdCB0aGlzCi13aWxsIGJlIGFkZGVkIHRvIGEgYGRpdmAgZWxlbWVudCB3aXRoIGBp
ZD1sb2dgIGlmIGl0IGV4aXN0cywgb3IgYSBuZXcgYGRpdmAKLWVsZW1lbnQgYXBwZW5kZWQgdG8g
YGRvY3VtZW50LmJvZHlgIGlmIGl0IGRvZXMgbm90LgotCi1OT1RFOiBCeSBkZWZhdWx0IHRlc3Rz
IG11c3QgYmUgY3JlYXRlZCBiZWZvcmUgdGhlIGxvYWQgZXZlbnQgZmlyZXMuIEZvciB3YXlzCi10
byBjcmVhdGUgdGVzdHMgYWZ0ZXIgdGhlIGxvYWQgZXZlbnQsIHNlZSAiRGV0ZXJtaW5pbmcgd2hl
biBhbGwgdGVzdHMKLWFyZSBjb21wbGV0ZSIsIGJlbG93LgotCi0jIyBTeW5jaHJvbm91cyBUZXN0
cyAjIwotCi1UbyBjcmVhdGUgYSBzeW5jaHJvbm91cyB0ZXN0IHVzZSB0aGUgYHRlc3QoKWAgZnVu
Y3Rpb246Ci0KLWBgYGpzCi10ZXN0KHRlc3RfZnVuY3Rpb24sIG5hbWUsIHByb3BlcnRpZXMpCi1g
YGAKLQotYHRlc3RfZnVuY3Rpb25gIGlzIGEgZnVuY3Rpb24gdGhhdCBjb250YWlucyB0aGUgY29k
ZSB0byB0ZXN0LiBGb3IgZXhhbXBsZSBhCi10cml2aWFsIHRlc3QgZm9yIHRoZSBET00KLVtgaGFz
RmVhdHVyZSgpYF0oaHR0cHM6Ly9kb20uc3BlYy53aGF0d2cub3JnLyNkb20tZG9taW1wbGVtZW50
YXRpb24taGFzZmVhdHVyZSkKLW1ldGhvZCAod2hpY2ggaXMgZGVmaW5lZCB0byBhbHdheXMgcmV0
dXJuIHRydWUpIHdvdWxkIGJlOgotCi1gYGBqcwotdGVzdChmdW5jdGlvbigpIHsKLSAgYXNzZXJ0
X3RydWUoZG9jdW1lbnQuaW1wbGVtZW50YXRpb24uaGFzRmVhdHVyZSgpKTsKLX0sICJoYXNGZWF0
dXJlKCkgd2l0aCBubyBhcmd1bWVudHMiKQotYGBgCi0KLVRoZSBmdW5jdGlvbiBwYXNzZWQgaW4g
aXMgcnVuIGluIHRoZSBgdGVzdCgpYCBjYWxsLgotCi1gcHJvcGVydGllc2AgaXMgYSBqYXZhc2Ny
aXB0IG9iamVjdCBmb3IgcGFzc2luZyBleHRyYSBvcHRpb25zIHRvIHRoZQotdGVzdC4gQ3VycmVu
dGx5IGl0IGlzIG9ubHkgdXNlZCB0byBwcm92aWRlIHRlc3Qtc3BlY2lmaWMKLW1ldGFkYXRhLCBh
cyBkZXNjcmliZWQgaW4gdGhlIFttZXRhZGF0YV0oI21ldGFkYXRhKSBzZWN0aW9uIGJlbG93Lgot
Ci0jIyBBc3luY2hyb25vdXMgVGVzdHMgIyMKLQotVGVzdGluZyBhc3luY2hyb25vdXMgZmVhdHVy
ZXMgaXMgc29tZXdoYXQgbW9yZSBjb21wbGV4IHNpbmNlIHRoZSByZXN1bHQgb2YKLWEgdGVzdCBt
YXkgZGVwZW5kIG9uIG9uZSBvciBtb3JlIGV2ZW50cyBvciBvdGhlciBjYWxsYmFja3MuIFRoZSBB
UEkgcHJvdmlkZWQKLWZvciB0ZXN0aW5nIHRoZXNlIGZlYXR1cmVzIGlzIGludGVuZGVkIHRvIGJl
IHJhdGhlciBsb3ctbGV2ZWwgYnV0IGhvcGVmdWxseQotYXBwbGljYWJsZSB0byBtYW55IHNpdHVh
dGlvbnMuCi0KLVRvIGNyZWF0ZSBhIHRlc3QsIG9uZSBzdGFydHMgYnkgZ2V0dGluZyBhIGBUZXN0
YCBvYmplY3QgdXNpbmcgYGFzeW5jX3Rlc3RgOgotCi1gYGBqcwotYXN5bmNfdGVzdChuYW1lLCBw
cm9wZXJ0aWVzKQotYGBgCi0KLWUuZy4KLQotYGBganMKLXZhciB0ID0gYXN5bmNfdGVzdCgiRE9N
Q29udGVudExvYWRlZCIpCi1gYGAKLQotQXNzZXJ0aW9ucyBjYW4gYmUgYWRkZWQgdG8gdGhlIHRl
c3QgYnkgY2FsbGluZyB0aGUgc3RlcCBtZXRob2Qgb2YgdGhlIHRlc3QKLW9iamVjdCB3aXRoIGEg
ZnVuY3Rpb24gY29udGFpbmluZyB0aGUgdGVzdCBhc3NlcnRpb25zOgotCi1gYGBqcwotZG9jdW1l
bnQuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsIGZ1bmN0aW9uKCkgewotICB0
LnN0ZXAoZnVuY3Rpb24oKSB7Ci0gICAgYXNzZXJ0X3RydWUoZS5idWJibGVzLCAiYnViYmxlcyBz
aG91bGQgYmUgdHJ1ZSIpOwotICB9KTsKLX0pOwotYGBgCi0KLVdoZW4gYWxsIHRoZSBzdGVwcyBh
cmUgY29tcGxldGUsIHRoZSBgZG9uZSgpYCBtZXRob2QgbXVzdCBiZSBjYWxsZWQ6Ci0KLWBgYGpz
Ci10LmRvbmUoKTsKLWBgYAotCi1BcyBhIGNvbnZlbmllbmNlLCBgYXN5bmNfdGVzdGAgY2FuIGFs
c28gdGFrZXMgYSBmdW5jdGlvbiBhcyBmaXJzdCBhcmd1bWVudC4KLVRoaXMgZnVuY3Rpb24gaXMg
Y2FsbGVkIHdpdGggdGhlIHRlc3Qgb2JqZWN0IGFzIGJvdGggaXRzIGB0aGlzYCBvYmplY3QgYW5k
Ci1maXJzdCBhcmd1bWVudC4gVGhlIGFib3ZlIGV4YW1wbGUgY2FuIGJlIHJld3JpdHRlbiBhczoK
LQotYGBganMKLWFzeW5jX3Rlc3QoZnVuY3Rpb24odCkgewotICBkb2N1bWVudC5hZGRFdmVudExp
c3RlbmVyKCJET01Db250ZW50TG9hZGVkIiwgZnVuY3Rpb24oKSB7Ci0gICAgdC5zdGVwKGZ1bmN0
aW9uKCkgewotICAgICAgYXNzZXJ0X3RydWUoZS5idWJibGVzLCAiYnViYmxlcyBzaG91bGQgYmUg
dHJ1ZSIpOwotICAgIH0pOwotICAgIHQuZG9uZSgpOwotICB9KTsKLX0sICJET01Db250ZW50TG9h
ZGVkIik7Ci1gYGAKLQotd2hpY2ggYXZvaWRzIGNsdXR0ZXJpbmcgdGhlIGdsb2JhbCBzY29wZSB3
aXRoIHJlZmVyZW5jZXMgdG8gYXN5bmMKLXRlc3RzIGluc3RhbmNlcy4KLQotVGhlIHByb3BlcnRp
ZXMgYXJndW1lbnQgaXMgaWRlbnRpY2FsIHRvIHRoYXQgZm9yIGB0ZXN0KClgLgotCi1JbiBtYW55
IGNhc2VzIGl0IGlzIGNvbnZlbmllbnQgdG8gcnVuIGEgc3RlcCBpbiByZXNwb25zZSB0byBhbiBl
dmVudCBvciBhCi1jYWxsYmFjay4gQSBjb252ZW5pZW50IG1ldGhvZCBvZiBkb2luZyB0aGlzIGlz
IHRocm91Z2ggdGhlIGBzdGVwX2Z1bmNgIG1ldGhvZAotd2hpY2ggcmV0dXJucyBhIGZ1bmN0aW9u
IHRoYXQsIHdoZW4gY2FsbGVkIHJ1bnMgYSB0ZXN0IHN0ZXAuIEZvciBleGFtcGxlCi0KLWBgYGpz
Ci1kb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIiwgdC5zdGVwX2Z1
bmMoZnVuY3Rpb24oKSB7Ci0gIGFzc2VydF90cnVlKGUuYnViYmxlcywgImJ1YmJsZXMgc2hvdWxk
IGJlIHRydWUiKTsKLSAgdC5kb25lKCk7Ci19KTsKLWBgYAotCi1BcyBhIGZ1cnRoZXIgY29udmVu
aWVuY2UsIHRoZSBgc3RlcF9mdW5jYCB0aGF0IGNhbGxzIGBkb25lKClgIGNhbiBpbnN0ZWFkCi11
c2UgYHN0ZXBfZnVuY19kb25lYCwgYXMgZm9sbG93czoKLQotYGBganMKLWRvY3VtZW50LmFkZEV2
ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLCB0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9u
KCkgewotICBhc3NlcnRfdHJ1ZShlLmJ1YmJsZXMsICJidWJibGVzIHNob3VsZCBiZSB0cnVlIik7
Ci19KTsKLWBgYAotCi1Gb3IgYXN5bmNocm9ub3VzIGNhbGxiYWNrcyB0aGF0IHNob3VsZCBuZXZl
ciBleGVjdXRlLCBgdW5yZWFjaGVkX2Z1bmNgIGNhbgotYmUgdXNlZC4gRm9yIGV4YW1wbGU6Ci0K
LWBgYGpzCi1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29u
dGVudExvYWRlZCIsCi0gIHQudW5yZWFjaGVkX2Z1bmMoIkRPTUNvbnRlbnRMb2FkZWQgc2hvdWxk
IG5vdCBiZSBmaXJlZCBvbiB0aGUgZG9jdW1lbnQgZWxlbWVudCIpKTsKLWBgYAotCi1LZWVwIGlu
IG1pbmQgdGhhdCBvdGhlciB0ZXN0cyBjb3VsZCBzdGFydCBleGVjdXRpbmcgYmVmb3JlIGFuIEFz
eW5jaHJvbm91cwotVGVzdCBpcyBmaW5pc2hlZC4KLQotIyMgUHJvbWlzZSBUZXN0cyAjIwotCi1g
cHJvbWlzZV90ZXN0YCBjYW4gYmUgdXNlZCB0byB0ZXN0IEFQSXMgdGhhdCBhcmUgYmFzZWQgb24g
UHJvbWlzZXM6Ci0KLWBgYGpzCi1wcm9taXNlX3Rlc3QodGVzdF9mdW5jdGlvbiwgbmFtZSwgcHJv
cGVydGllcykKLWBgYAotCi1gdGVzdF9mdW5jdGlvbmAgaXMgYSBmdW5jdGlvbiB0aGF0IHJlY2Vp
dmVzIGEgdGVzdCBhcyBhbiBhcmd1bWVudCBhbmQgcmV0dXJucyBhCi1wcm9taXNlLiBUaGUgdGVz
dCBjb21wbGV0ZXMgd2hlbiB0aGUgcmV0dXJuZWQgcHJvbWlzZSByZXNvbHZlcy4gVGhlIHRlc3Qg
ZmFpbHMKLWlmIHRoZSByZXR1cm5lZCBwcm9taXNlIHJlamVjdHMuCi0KLUUuZy46Ci0KLWBgYGpz
Ci1mdW5jdGlvbiBmb28oKSB7Ci0gIHJldHVybiBQcm9taXNlLnJlc29sdmUoImZvbyIpOwotfQot
Ci1wcm9taXNlX3Rlc3QoZnVuY3Rpb24oKSB7Ci0gIHJldHVybiBmb28oKQotICAgIC50aGVuKGZ1
bmN0aW9uKHJlc3VsdCkgewotICAgICAgYXNzZXJ0X2VxdWFscyhyZXN1bHQsICJmb28iLCAiZm9v
IHNob3VsZCByZXR1cm4gJ2ZvbyciKTsKLSAgICB9KTsKLX0sICJTaW1wbGUgZXhhbXBsZSIpOwot
YGBgCi0KLUluIHRoZSBleGFtcGxlIGFib3ZlLCBgZm9vKClgIHJldHVybnMgYSBQcm9taXNlIHRo
YXQgcmVzb2x2ZXMgd2l0aCB0aGUgc3RyaW5nCi0iZm9vIi4gVGhlIGB0ZXN0X2Z1bmN0aW9uYCBw
YXNzZWQgaW50byBgcHJvbWlzZV90ZXN0YCBpbnZva2VzIGBmb29gIGFuZCBhdHRhY2hlcwotYSBy
ZXNvbHZlIHJlYWN0aW9uIHRoYXQgdmVyaWZpZXMgdGhlIHJldHVybmVkIHZhbHVlLgotCi1Ob3Rl
IHRoYXQgaW4gdGhlIHByb21pc2UgY2hhaW4gY29uc3RydWN0ZWQgaW4gYHRlc3RfZnVuY3Rpb25g
IGFzc2VydGlvbnMgZG9uJ3QKLW5lZWQgdG8gd3JhcHBlZCBpbiBgc3RlcGAgb3IgYHN0ZXBfZnVu
Y2AgY2FsbHMuCi0KLVVubGlrZSBBc3luY2hyb25vdXMgVGVzdHMsIFByb21pc2UgVGVzdHMgZG9u
J3Qgc3RhcnQgcnVubmluZyB1bnRpbCBhZnRlciB0aGUKLXByZXZpb3VzIFByb21pc2UgVGVzdCBm
aW5pc2hlcy4KLQotYHByb21pc2VfcmVqZWN0c2AgY2FuIGJlIHVzZWQgdG8gdGVzdCBQcm9taXNl
cyB0aGF0IG5lZWQgdG8gcmVqZWN0OgotCi1gYGBqcwotcHJvbWlzZV9yZWplY3RzKHRlc3Rfb2Jq
ZWN0LCBjb2RlLCBwcm9taXNlLCBkZXNjcmlwdGlvbikKLWBgYAotCi1UaGUgYGNvZGVgIGFyZ3Vt
ZW50IGlzIGVxdWl2YWxlbnQgdG8gdGhlIHNhbWUgYXJndW1lbnQgdG8gdGhlIGBhc3NlcnRfdGhy
b3dzYAotZnVuY3Rpb24uCi0KLUhlcmUncyBhbiBleGFtcGxlIHdoZXJlIHRoZSBgYmFyKClgIGZ1
bmN0aW9uIHJldHVybnMgYSBQcm9taXNlIHRoYXQgcmVqZWN0cwotd2l0aCBhIFR5cGVFcnJvcjoK
LQotYGBganMKLWZ1bmN0aW9uIGJhcigpIHsKLSAgcmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyBU
eXBlRXJyb3IoKSk7Ci19Ci0KLXByb21pc2VfdGVzdChmdW5jdGlvbih0KSB7Ci0gIHJldHVybiBw
cm9taXNlX3JlamVjdHModCwgbmV3IFR5cGVFcnJvcigpLCBiYXIoKSk7Ci19LCAiQW5vdGhlciBl
eGFtcGxlIik7Ci1gYGAKLQotYEV2ZW50V2F0Y2hlcmAgaXMgYSBjb25zdHJ1Y3RvciBmdW5jdGlv
biB0aGF0IGFsbG93cyBET00gZXZlbnRzIHRvIGJlIGhhbmRsZWQKLXVzaW5nIFByb21pc2VzLCB3
aGljaCBjYW4gbWFrZSBpdCBhIGxvdCBlYXNpZXIgdG8gdGVzdCBhIHZlcnkgc3BlY2lmaWMgc2Vy
aWVzCi1vZiBldmVudHMsIGluY2x1ZGluZyBlbnN1cmluZyB0aGF0IHVuZXhwZWN0ZWQgZXZlbnRz
IGFyZSBub3QgZmlyZWQgYXQgYW55IHBvaW50LgotCi1IZXJlJ3MgYW4gZXhhbXBsZSBvZiBob3cg
dG8gdXNlIGBFdmVudFdhdGNoZXJgOgotCi1gYGBqcwotdmFyIHQgPSBhc3luY190ZXN0KCJFdmVu
dCBvcmRlciBvbiBhbmltYXRpb24gc3RhcnQiKTsKLQotdmFyIGFuaW1hdGlvbiA9IHdhdGNoZWRO
b2RlLmdldEFuaW1hdGlvbnMoKVswXTsKLXZhciBldmVudFdhdGNoZXIgPSBuZXcgRXZlbnRXYXRj
aGVyKHQsIHdhdGNoZWROb2RlLCBbJ2FuaW1hdGlvbnN0YXJ0JywKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FuaW1hdGlvbml0ZXJhdGlvbics
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdh
bmltYXRpb25lbmQnXSk7Ci0KLWV2ZW50V2F0Y2hlci53YWl0X2ZvcignYW5pbWF0aW9uc3RhcnQn
KS50aGVuKHQuc3RlcF9mdW5jKGZ1bmN0aW9uKCkgewotICBhc3NlcnRFeHBlY3RlZFN0YXRlQXRT
dGFydE9mQW5pbWF0aW9uKCk7Ci0gIGFuaW1hdGlvbi5jdXJyZW50VGltZSA9IEVORF9USU1FOyAv
LyBza2lwIHRvIGVuZAotICAvLyBXZSBleHBlY3QgdHdvIGFuaW1hdGlvbml0ZXJhdGlvbiBldmVu
dHMgdGhlbiBhbiBhbmltYXRpb25lbmQgZXZlbnQgb24KLSAgLy8gc2tpcHBpbmcgdG8gdGhlIGVu
ZCBvZiB0aGUgYW5pbWF0aW9uLgotICByZXR1cm4gZXZlbnRXYXRjaGVyLndhaXRfZm9yKFsnYW5p
bWF0aW9uaXRlcmF0aW9uJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FuaW1h
dGlvbml0ZXJhdGlvbicsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhbmltYXRp
b25lbmQnXSk7Ci19KSkudGhlbih0LnN0ZXBfZnVuYyhmdW5jdGlvbigpIHsKLSAgYXNzZXJ0RXhw
ZWN0ZWRTdGF0ZUF0RW5kT2ZBbmltYXRpb24oKTsKLSAgdC5kb25lKCk7Ci19KSk7Ci1gYGAKLQot
YHdhaXRfZm9yYCBlaXRoZXIgdGFrZXMgdGhlIG5hbWUgb2YgYSBzaW5nbGUgZXZlbnQgYW5kIHJl
dHVybnMgYSBQcm9taXNlIHRoYXQKLXdpbGwgcmVzb2x2ZSBhZnRlciB0aGF0IGV2ZW50IGlzIGZp
cmVkIGF0IHRoZSB3YXRjaGVkIG5vZGUsIG9yIGVsc2UgaXQgdGFrZXMgYW4KLWFycmF5IG9mIHRo
ZSBuYW1lcyBvZiBhIHNlcmllcyBvZiBldmVudHMgYW5kIHJldHVybnMgYSBQcm9taXNlIHRoYXQg
d2lsbAotcmVzb2x2ZSBhZnRlciB0aGF0IHNwZWNpZmljIHNlcmllcyBvZiBldmVudHMgaGFzIGJl
ZW4gZmlyZWQgYXQgdGhlIHdhdGNoZWQgbm9kZS4KLQotYEV2ZW50V2F0Y2hlcmAgd2lsbCBhc3Nl
cnQgaWYgYW4gZXZlbnQgb2NjdXJzIHdoaWxlIHRoZXJlIGlzIG5vIGB3YWl0X2ZvcmAoKQotY3Jl
YXRlZCBQcm9taXNlIHdhaXRpbmcgdG8gYmUgZnVsZmlsbGVkLCBvciBpZiB0aGUgZXZlbnQgaXMg
b2YgYSBkaWZmZXJlbnQgdHlwZQotdG8gdGhlIHR5cGUgY3VycmVudGx5IGV4cGVjdGVkLiBUaGlz
IGVuc3VyZXMgdGhhdCBvbmx5IHRoZSBldmVudHMgdGhhdCBhcmUKLWV4cGVjdGVkIG9jY3VyLCBp
biB0aGUgY29ycmVjdCBvcmRlciwgYW5kIHdpdGggdGhlIGNvcnJlY3QgdGltaW5nLgotCi0jIyBT
aW5nbGUgUGFnZSBUZXN0cyAjIwotCi1Tb21ldGltZXMsIHBhcnRpY3VsYXJseSB3aGVuIGRlYWxp
bmcgd2l0aCBhc3luY2hyb25vdXMgYmVoYXZpb3VyLAotaGF2aW5nIGV4YWN0bHkgb25lIHRlc3Qg
cGVyIHBhZ2UgaXMgZGVzaXJhYmxlLCBhbmQgdGhlIG92ZXJoZWFkIG9mCi13cmFwcGluZyBldmVy
eXRoaW5nIGluIGZ1bmN0aW9ucyBmb3IgaXNvbGF0aW9uIGJlY29tZXMKLWJ1cmRlbnNvbWUuIEZv
ciB0aGVzZSBjYXNlcyBgdGVzdGhhcm5lc3MuanNgIHN1cHBvcnQgInNpbmdsZSBwYWdlCi10ZXN0
cyIuCi0KLUluIG9yZGVyIGZvciBhIHRlc3QgdG8gYmUgaW50ZXJwcmV0ZWQgYXMgYSBzaW5nbGUg
cGFnZSB0ZXN0LCB0aGVuCi1pdCBtdXN0IHNpbXBseSBub3QgY2FsbCBgdGVzdCgpYCBvciBgYXN5
bmNfdGVzdCgpYCBhbnl3aGVyZSBvbiB0aGUgcGFnZSwgYW5kCi1tdXN0IGNhbGwgdGhlIGBkb25l
KClgIGZ1bmN0aW9uIHRvIGluZGljYXRlIHRoYXQgdGhlIHRlc3QgaXMgY29tcGxldGUuIEFsbAot
dGhlIGBhc3NlcnRfKmAgZnVuY3Rpb25zIGFyZSBhdmFsaWFibGUgYXMgbm9ybWFsLCBidXQgYXJl
IGNhbGxlZCB3aXRob3V0Ci10aGUgbm9ybWFsIHN0ZXAgZnVuY3Rpb24gd3JhcHBlci4gRm9yIGV4
YW1wbGU6Ci0KLWBgYGh0bWwKLTwhZG9jdHlwZSBodG1sPgotPHRpdGxlPkJhc2ljIGRvY3VtZW50
LmJvZHkgdGVzdDwvdGl0bGU+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+Ci08Ym9keT4KLSAgPHNjcmlwdD4KLSAgICBhc3NlcnRfZXF1YWxzKGRvY3Vt
ZW50LmJvZHksIGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJib2R5IilbMF0pCi0gICAg
ZG9uZSgpCi0gPC9zY3JpcHQ+Ci1gYGAKLQotVGhlIHRlc3QgdGl0bGUgZm9yIHNpbmdsZSBwYWdl
IHRlc3RzIGlzIGFsd2F5cyB0YWtlbiBmcm9tIGBkb2N1bWVudC50aXRsZWAuCi0KLSMjIE1ha2lu
ZyBhc3NlcnRpb25zICMjCi0KLUZ1bmN0aW9ucyBmb3IgbWFraW5nIGFzc2VydGlvbnMgc3RhcnQg
YGFzc2VydF9gLiBUaGUgZnVsbCBsaXN0IG9mCi1hc3NlcnRzIGF2YWxpYWJsZSBpcyBkb2N1bWVu
dGVkIGluIHRoZSBbYXNzZXJ0c10oI2xpc3Qtb2YtYXNzZXJ0aW9ucykgc2VjdGlvbgotYmVsb3cu
IFRoZSBnZW5lcmFsIHNpZ25hdHVyZSBpcwotCi1gYGBqcwotYXNzZXJ0X3NvbWV0aGluZyhhY3R1
YWwsIGV4cGVjdGVkLCBkZXNjcmlwdGlvbikKLWBgYAotCi1hbHRob3VnaCBub3QgYWxsIGFzc2Vy
dGlvbnMgcHJlY2lzZWx5IG1hdGNoIHRoaXMgcGF0dGVybiBlLmcuIGBhc3NlcnRfdHJ1ZWAKLW9u
bHkgdGFrZXMgYGFjdHVhbGAgYW5kIGBkZXNjcmlwdGlvbmAgYXMgYXJndW1lbnRzLgotCi1UaGUg
ZGVzY3JpcHRpb24gcGFyYW1ldGVyIGlzIHVzZWQgdG8gcHJlc2VudCBtb3JlIHVzZWZ1bCBlcnJv
ciBtZXNzYWdlcyB3aGVuCi1hIHRlc3QgZmFpbHMKLQotTk9URTogQWxsIGFzc2VydHMgbXVzdCBi
ZSBsb2NhdGVkIGluIGEgYHRlc3QoKWAgb3IgYSBzdGVwIG9mIGFuCi1gYXN5bmNfdGVzdCgpYCwg
dW5sZXNzIHRoZSB0ZXN0IGlzIGEgc2luZ2xlIHBhZ2UgdGVzdC4gQXNzZXJ0cyBvdXRzaWRlCi10
aGVzZSBwbGFjZXMgd29uJ3QgYmUgZGV0ZWN0ZWQgY29ycmVjdGx5IGJ5IHRoZSBoYXJuZXNzIGFu
ZCBtYXkgY2F1c2UKLXVuZXhwZWN0ZWQgZXhjZXB0aW9ucyB0aGF0IHdpbGwgbGVhZCB0byBhbiBl
cnJvciBpbiB0aGUgaGFybmVzcy4KLQotIyMgQ2xlYW51cCAjIwotCi1PY2Nhc2lvbmFsbHkgdGVz
dHMgbWF5IGNyZWF0ZSBzdGF0ZSB0aGF0IHdpbGwgcGVyc2lzdCBiZXlvbmQgdGhlIHRlc3QgaXRz
ZWxmLgotSW4gb3JkZXIgdG8gZW5zdXJlIHRoYXQgdGVzdHMgYXJlIGluZGVwZW5kZW50LCBzdWNo
IHN0YXRlIHNob3VsZCBiZSBjbGVhbmVkCi11cCBvbmNlIHRoZSB0ZXN0IGhhcyBhIHJlc3VsdC4g
VGhpcyBjYW4gYmUgYWNoaWV2ZWQgYnkgYWRkaW5nIGNsZWFudXAKLWNhbGxiYWNrcyB0byB0aGUg
dGVzdC4gU3VjaCBjYWxsYmFja3MgYXJlIHJlZ2lzdGVyZWQgdXNpbmcgdGhlIGBhZGRfY2xlYW51
cGAKLWZ1bmN0aW9uIG9uIHRoZSB0ZXN0IG9iamVjdC4gQWxsIHJlZ2lzdGVyZWQgY2FsbGJhY2tz
IHdpbGwgYmUgcnVuIGFzIHNvb24gYXMKLXRoZSB0ZXN0IHJlc3VsdCBpcyBrbm93bi4gRm9yIGV4
YW1wbGUKLQotYGBganMKLSAgdGVzdChmdW5jdGlvbigpIHsKLSAgICB2YXIgZWxlbWVudCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwotICAgIGVsZW1lbnQuc2V0QXR0cmlidXRlKCJp
ZCIsICJudWxsIik7Ci0gICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChlbGVtZW50KTsKLSAg
ICB0aGlzLmFkZF9jbGVhbnVwKGZ1bmN0aW9uKCkgeyBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxk
KGVsZW1lbnQpIH0pOwotICAgIGFzc2VydF9lcXVhbHMoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
bnVsbCksIGVsZW1lbnQpOwotICB9LCAiQ2FsbGluZyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCB3
aXRoIGEgbnVsbCBhcmd1bWVudC4iKTsKLWBgYAotCi0jIyBUaW1lb3V0cyBpbiBUZXN0cyAjIwot
Ci1JbiBnZW5lcmFsIHRoZSB1c2Ugb2YgdGltZW91dHMgaW4gdGVzdHMgaXMgZGlzY291cmFnZWQg
YmVjYXVzZSB0aGlzIGlzCi1hbiBvYnNlcnZlZCBzb3VyY2Ugb2YgaW5zdGFiaWxpdHkgaW4gcmVh
bCB0ZXN0cyB3aGVuIHJ1biBvbiBDSQotaW5mcmFzdHJ1Y3R1cmUuIEluIHBhcnRpY3VsYXIgaWYg
YSB0ZXN0IHNob3VsZCBmYWlsIHdoZW4gc29tZXRoaW5nCi1kb2Vzbid0IGhhcHBlbiwgaXQgaXMg
Z29vZCBwcmFjdGljZSB0byBzaW1wbHkgbGV0IHRoZSB0ZXN0IHJ1biB0byB0aGUKLWZ1bGwgdGlt
ZW91dCByYXRoZXIgdGhhbiB0cnlpbmcgdG8gZ3Vlc3MgYW4gYXBwcm9wcmlhdGUgc2hvcnRlcgot
dGltZW91dCB0byB1c2UuCi0KLUluIG90aGVyIGNhc2VzIGl0IG1heSBiZSBuZWNlc3NhcnkgdG8g
dXNlIGEgdGltZW91dCAoZS5nLiwgZm9yIGEgdGVzdAotdGhhdCBvbmx5IHBhc3NlcyBpZiBzb21l
IGV2ZW50IGlzICpub3QqIGZpcmVkKS4gSW4gdGhpcyBjYXNlIGl0IGlzCi0qbm90KiBwZXJtaXR0
ZWQgdG8gdXNlIHRoZSBzdGFuZGFyZCBgc2V0VGltZW91dGAgZnVuY3Rpb24uIEluc3RlYWQgb25l
Ci1tdXN0IHVzZSB0aGUgYHN0ZXBfdGltZW91dGAgZnVuY3Rpb246Ci0KLWBgYGpzCi1hc3luY190
ZXN0KGZ1bmN0aW9uKHQpIHsKLSAgdmFyIGdvdEV2ZW50ID0gZmFsc2U7Ci0gIGRvY3VtZW50LmFk
ZEV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLCB0LnN0ZXBfZnVuYyhmdW5jdGlvbigp
IHsKLSAgICBhc3NlcnRfZmFsc2UoZ290RXZlbnQsICJVbmV4cGVjdGVkIERPTUNvbnRlbnRMb2Fk
ZWQgZXZlbnQiKTsKLSAgICBnb3RFdmVudCA9IHRydWU7Ci0gICAgdC5zdGVwX3RpbWVvdXQoZnVu
Y3Rpb24oKSB7IHQuZG9uZSgpOyB9LCAyMDAwKTsKLSAgfSk7Ci19LCAiT25seSBvbmUgRE9NQ29u
dGVudExvYWRlZCIpOwotYGBgCi0KLVRoZSBkaWZmZXJlbmNlIGJldHdlZW4gYHNldFRpbWVvdXRg
IGFuZCBgc3RlcF90aW1lb3V0YCBpcyB0aGF0IHRoZQotbGF0dGVyIHRha2VzIGFjY291bnQgb2Yg
dGhlIHRpbWVvdXQgbXVsdGlwbGllciB3aGVuIGNvbXB1dGluZyB0aGUKLWRlbGF5OyBlLmcuLCBp
biB0aGUgYWJvdmUgY2FzZSBhIHRpbWVvdXQgbXVsdGlwbGllciBvZiAyIHdvdWxkIGNhdXNlIGEK
LXBhdXNlIG9mIDQwMDBtcyBiZWZvcmUgY2FsbGluZyB0aGUgY2FsbGJhY2suIFRoaXMgbWFrZXMg
aXQgbGVzcyBsaWtlbHkKLXRvIHByb2R1Y2UgdW5zdGFibGUgcmVzdWx0cyBpbiBzbG93IGNvbmZp
Z3VyYXRpb25zLgotCi1Ob3RlIHRoYXQgdGltZW91dHMgZ2VuZXJhbGx5IG5lZWQgdG8gYmUgYSBm
ZXcgc2Vjb25kcyBsb25nIGluIG9yZGVyIHRvCi1wcm9kdWNlIHN0YWJsZSByZXN1bHRzIGluIGFs
bCB0ZXN0IGVudmlyb25tZW50cy4KLQotRm9yIHNpbmdsZS1wYWdlIHRlc3RzLCBgc3RlcF90aW1l
b3V0YCBpcyBhbHNvIGF2YWlsYWJsZSBhcyBhIGdsb2JhbAotZnVuY3Rpb24uCi0KLSMjIEhhcm5l
c3MgVGltZW91dCAjIwotCi1UaGUgb3ZlcmFsbCBoYXJuZXNzIGFkbWl0cyB0d28gdGltZW91dCB2
YWx1ZXMgYCJub3JtYWwiYCAodGhlCi1kZWZhdWx0KSBhbmQgYCJsb25nImAsIHVzZWQgZm9yIHRl
c3RzIHdoaWNoIGhhdmUgYW4gdW51c3VhbGx5IGxvbmcKLXJ1bnRpbWUuIEFmdGVyIHRoZSB0aW1l
b3V0IGlzIHJlYWNoZWQsIHRoZSBoYXJuZXNzIHdpbGwgc3RvcAotd2FpdGluZyBmb3IgZnVydGhl
ciBhc3luYyB0ZXN0cyB0byBjb21wbGV0ZS4gQnkgZGVmYXVsdCB0aGUKLXRpbWVvdXRzIGFyZSBz
ZXQgdG8gMTBzIGFuZCA2MHMsIHJlc3BlY3RpdmVseSwgYnV0IG1heSBiZSBjaGFuZ2VkCi13aGVu
IHRoZSB0ZXN0IGlzIHJ1biBvbiBoYXJkd2FyZSB3aXRoIGRpZmZlcmVudCBwZXJmb3JtYW5jZQot
Y2hhcmFjdGVyaXN0aWNzIHRvIGEgY29tbW9uIGRlc2t0b3AgY29tcHV0ZXIuICBJbiBvcmRlciB0
byBvcHQtaW4KLXRvIHRoZSBsb25nZXIgdGVzdCB0aW1lb3V0LCB0aGUgdGVzdCBtdXN0IHNwZWNp
ZnkgYSBtZXRhIGVsZW1lbnQ6Ci0KLWBgYGh0bWwKLTxtZXRhIG5hbWU9InRpbWVvdXQiIGNvbnRl
bnQ9ImxvbmciPgotYGBgCi0KLU9jY2FzaW9uYWxseSB0ZXN0cyBtYXkgaGF2ZSBhIHJhY2UgYmV0
d2VlbiB0aGUgaGFybmVzcyB0aW1pbmcgb3V0IGFuZAotYSBwYXJ0aWN1bGFyIHRlc3QgZmFpbGlu
ZzsgdHlwaWNhbGx5IHdoZW4gdGhlIHRlc3Qgd2FpdHMgZm9yIHNvbWUgZXZlbnQKLXRoYXQgbmV2
ZXIgb2NjdXJzLiBJbiB0aGlzIGNhc2UgaXQgaXMgcG9zc2libGUgdG8gdXNlIGB0ZXN0LmZvcmNl
X3RpbWVvdXQoKWAKLWluIHBsYWNlIG9mIGBhc3NlcnRfdW5yZWFjaGVkKClgLCB0byBpbW1lZGlh
dGVseSBmYWlsIHRoZSB0ZXN0IGJ1dCB3aXRoIGEKLXN0YXR1cyBvZiBgVElNRU9VVGAuIFRoaXMg
c2hvdWxkIG9ubHkgYmUgdXNlZCBhcyBhIGxhc3QgcmVzb3J0IHdoZW4gaXQgaXMKLW5vdCBwb3Nz
aWJsZSB0byBtYWtlIHRoZSB0ZXN0IHJlbGlhYmxlIGluIHNvbWUgb3RoZXIgd2F5LgotCi0jIyBT
ZXR1cCAjIwotCi1Tb21ldGltZXMgdGVzdHMgcmVxdWlyZSBub24tdHJpdmlhbCBzZXR1cCB0aGF0
IG1heSBmYWlsLiBGb3IgdGhpcyBwdXJwb3NlCi10aGVyZSBpcyBhIGBzZXR1cCgpYCBmdW5jdGlv
biwgdGhhdCBtYXkgYmUgY2FsbGVkIHdpdGggb25lIG9yIHR3byBhcmd1bWVudHMuCi1UaGUgdHdv
IGFyZ3VtZW50IHZlcnNpb24gaXM6Ci0KLWBgYGpzCi1zZXR1cChmdW5jLCBwcm9wZXJ0aWVzKQot
YGBgCi0KLVRoZSBvbmUgYXJndW1lbnQgdmVyc2lvbnMgbWF5IG9taXQgZWl0aGVyIGFyZ3VtZW50
LgotZnVuYyBpcyBhIGZ1bmN0aW9uIHRvIGJlIHJ1biBzeW5jaHJvbm91c2x5LiBgc2V0dXAoKWAg
YmVjb21lcyBhIG5vLW9wIG9uY2UKLWFueSB0ZXN0cyBoYXZlIHJldHVybmVkIHJlc3VsdHMuIFBy
b3BlcnRpZXMgYXJlIGdsb2JhbCBwcm9wZXJ0aWVzIG9mIHRoZSB0ZXN0Ci1oYXJuZXNzLiBDdXJy
ZW50bHkgcmVjb2duaXNlZCBwcm9wZXJ0aWVzIGFyZToKLQotYGV4cGxpY2l0X2RvbmVgIC0gV2Fp
dCBmb3IgYW4gZXhwbGljaXQgY2FsbCB0byBkb25lKCkgYmVmb3JlIGRlY2xhcmluZyBhbGwKLXRl
c3RzIGNvbXBsZXRlIChzZWUgYmVsb3c7IGltcGxpY2l0bHkgdHJ1ZSBmb3Igc2luZ2xlIHBhZ2Ug
dGVzdHMpCi0KLWBvdXRwdXRfZG9jdW1lbnRgIC0gVGhlIGRvY3VtZW50IHRvIHdoaWNoIHJlc3Vs
dHMgc2hvdWxkIGJlIGxvZ2dlZC4gQnkgZGVmYXVsdAotdGhpcyBpcyB0aGUgY3VycmVudCBkb2N1
bWVudCBidXQgY291bGQgYmUgYW4gYW5jZXN0b3IgZG9jdW1lbnQgaW4gc29tZSBjYXNlcwotZS5n
LiBhIFNWRyB0ZXN0IGxvYWRlZCBpbiBhbiBIVE1MIHdyYXBwZXIKLQotYGV4cGxpY2l0X3RpbWVv
dXRgIC0gZGlzYWJsZSBmaWxlIHRpbWVvdXQ7IG9ubHkgc3RvcCB3YWl0aW5nIGZvciByZXN1bHRz
Ci13aGVuIHRoZSBgdGltZW91dCgpYCBmdW5jdGlvbiBpcyBjYWxsZWQgKHR5cGljYWxseSBmb3Ig
dXNlIHdoZW4gaW50ZWdyYXRpbmcKLXdpdGggc29tZSBleGlzdGluZyB0ZXN0IGZyYW1ld29yayB0
aGF0IGhhcyBpdHMgb3duIHRpbWVvdXQgbWVjaGFuaXNtKS4KLQotYGFsbG93X3VuY2F1Z2h0X2V4
Y2VwdGlvbmAgLSBkb24ndCB0cmVhdCBhbiB1bmNhdWdodCBleGNlcHRpb24gYXMgYW4gZXJyb3I7
Ci1uZWVkZWQgd2hlbiBlLmcuIHRlc3RpbmcgdGhlIGB3aW5kb3cub25lcnJvcmAgaGFuZGxlci4K
LQotYHRpbWVvdXRfbXVsdGlwbGllcmAgLSBNdWx0aXBsaWVyIHRvIGFwcGx5IHRvIHBlci10ZXN0
IHRpbWVvdXRzLgotCi0jIyBEZXRlcm1pbmluZyB3aGVuIGFsbCB0ZXN0cyBhcmUgY29tcGxldGUg
IyMKLQotQnkgZGVmYXVsdCB0aGUgdGVzdCBoYXJuZXNzIHdpbGwgYXNzdW1lIHRoZXJlIGFyZSBu
byBtb3JlIHJlc3VsdHMgdG8gY29tZQotd2hlbjoKLQotIDEuIFRoZXJlIGFyZSBubyBgVGVzdGAg
b2JqZWN0cyB0aGF0IGhhdmUgYmVlbiBjcmVhdGVkIGJ1dCBub3QgY29tcGxldGVkCi0gMi4gVGhl
IGxvYWQgZXZlbnQgb24gdGhlIGRvY3VtZW50IGhhcyBmaXJlZAotCi1UaGlzIGJlaGF2aW91ciBj
YW4gYmUgb3ZlcnJpZGRlbiBieSBzZXR0aW5nIHRoZSBgZXhwbGljaXRfZG9uZWAgcHJvcGVydHkg
dG8KLXRydWUgaW4gYSBjYWxsIHRvIGBzZXR1cCgpYC4gSWYgYGV4cGxpY2l0X2RvbmVgIGlzIHRy
dWUsIHRoZSB0ZXN0IGhhcm5lc3Mgd2lsbAotbm90IGFzc3VtZSBpdCBpcyBkb25lIHVudGlsIHRo
ZSBnbG9iYWwgYGRvbmUoKWAgZnVuY3Rpb24gaXMgY2FsbGVkLiBPbmNlIGBkb25lKClgCi1pcyBj
YWxsZWQsIHRoZSB0d28gY29uZGl0aW9ucyBhYm92ZSBhcHBseSBsaWtlIG5vcm1hbC4KLQotRGVk
aWNhdGVkIGFuZCBzaGFyZWQgd29ya2VycyBkb24ndCBoYXZlIGFuIGV2ZW50IHRoYXQgY29ycmVz
cG9uZHMgdG8gdGhlIGBsb2FkYAotZXZlbnQgaW4gYSBkb2N1bWVudC4gVGhlcmVmb3JlIHRoZXNl
IHdvcmtlciB0ZXN0cyBhbHdheXMgYmVoYXZlIGFzIGlmIHRoZQotYGV4cGxpY2l0X2RvbmVgIHBy
b3BlcnR5IGlzIHNldCB0byB0cnVlLiBTZXJ2aWNlIHdvcmtlcnMgZGVwZW5kIG9uIHRoZQotW2lu
c3RhbGxdKGh0dHBzOi8vc2xpZ2h0bHlvZmYuZ2l0aHViLmlvL1NlcnZpY2VXb3JrZXIvc3BlYy9z
ZXJ2aWNlX3dvcmtlci9pbmRleC5odG1sI3NlcnZpY2Utd29ya2VyLWdsb2JhbC1zY29wZS1pbnN0
YWxsLWV2ZW50KQotZXZlbnQgd2hpY2ggaXMgZmlyZWQgZm9sbG93aW5nIHRoZSBjb21wbGV0aW9u
IG9mIFtydW5uaW5nIHRoZQotd29ya2VyXShodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211
bHRpcGFnZS93b3JrZXJzLmh0bWwjcnVuLWEtd29ya2VyKS4KLQotIyMgR2VuZXJhdGluZyB0ZXN0
cyAjIwotCi1UaGVyZSBhcmUgc2NlbmFyaW9zIGluIHdoaWNoIGlzIGlzIGRlc2lyYWJsZSB0byBj
cmVhdGUgYSBsYXJnZSBudW1iZXIgb2YKLShzeW5jaHJvbm91cykgdGVzdHMgdGhhdCBhcmUgaW50
ZXJuYWxseSBzaW1pbGFyIGJ1dCB2YXJ5IGluIHRoZSBwYXJhbWV0ZXJzCi11c2VkLiBUbyBtYWtl
IHRoaXMgZWFzaWVyLCB0aGUgYGdlbmVyYXRlX3Rlc3RzYCBmdW5jdGlvbiBhbGxvd3MgYSBzaW5n
bGUKLWZ1bmN0aW9uIHRvIGJlIGNhbGxlZCB3aXRoIGVhY2ggc2V0IG9mIHBhcmFtZXRlcnMgaW4g
YSBsaXN0OgotCi1gYGBqcwotZ2VuZXJhdGVfdGVzdHModGVzdF9mdW5jdGlvbiwgcGFyYW1ldGVy
X2xpc3RzLCBwcm9wZXJ0aWVzKQotYGBgCi0KLUZvciBleGFtcGxlOgotCi1gYGBqcwotZ2VuZXJh
dGVfdGVzdHMoYXNzZXJ0X2VxdWFscywgWwotICAgIFsiU3VtIG9uZSBhbmQgb25lIiwgMSsxLCAy
XSwKLSAgICBbIlN1bSBvbmUgYW5kIHplcm8iLCAxKzAsIDFdCi0gICAgXSkKLWBgYAotCi1JcyBl
cXVpdmFsZW50IHRvOgotCi1gYGBqcwotdGVzdChmdW5jdGlvbigpIHthc3NlcnRfZXF1YWxzKDEr
MSwgMil9LCAiU3VtIG9uZSBhbmQgb25lIikKLXRlc3QoZnVuY3Rpb24oKSB7YXNzZXJ0X2VxdWFs
cygxKzAsIDEpfSwgIlN1bSBvbmUgYW5kIHplcm8iKQotYGBgCi0KLU5vdGUgdGhhdCB0aGUgZmly
c3QgaXRlbSBpbiBlYWNoIHBhcmFtZXRlciBsaXN0IGNvcnJlc3BvbmRzIHRvIHRoZSBuYW1lIG9m
Ci10aGUgdGVzdC4KLQotVGhlIHByb3BlcnRpZXMgYXJndW1lbnQgaXMgaWRlbnRpY2FsIHRvIHRo
YXQgZm9yIGB0ZXN0KClgLiBUaGlzIG1heSBiZSBhCi1zaW5nbGUgb2JqZWN0ICh1c2VkIGZvciBh
bGwgZ2VuZXJhdGVkIHRlc3RzKSBvciBhbiBhcnJheS4KLQotIyMgQ2FsbGJhY2sgQVBJICMjCi0K
LVRoZSBmcmFtZXdvcmsgcHJvdmlkZXMgY2FsbGJhY2tzIGNvcnJlc3BvbmRpbmcgdG8gNCBldmVu
dHM6Ci0KLSAqIGBzdGFydGAgLSB0cmlnZ2VyZWQgd2hlbiB0aGUgZmlyc3QgVGVzdCBpcyBjcmVh
dGVkCi0gKiBgdGVzdF9zdGF0ZWAgLSB0cmlnZ2VyZWQgd2hlbiBhIHRlc3Qgc3RhdGUgY2hhbmdl
cwotICogYHJlc3VsdGAgLSB0cmlnZ2VyZWQgd2hlbiBhIHRlc3QgcmVzdWx0IGlzIHJlY2VpdmVk
Ci0gKiBgY29tcGxldGVgIC0gdHJpZ2dlcmVkIHdoZW4gYWxsIHJlc3VsdHMgYXJlIHJlY2VpdmVk
Ci0KLVRoZSBwYWdlIGRlZmluaW5nIHRoZSB0ZXN0cyBtYXkgYWRkIGNhbGxiYWNrcyBmb3IgdGhl
c2UgZXZlbnRzIGJ5IGNhbGxpbmcKLXRoZSBmb2xsb3dpbmcgbWV0aG9kczoKLQotICBgYWRkX3N0
YXJ0X2NhbGxiYWNrKGNhbGxiYWNrKWAgLSBjYWxsYmFjayBjYWxsZWQgd2l0aCBubyBhcmd1bWVu
dHMKLQotICBgYWRkX3Rlc3Rfc3RhdGVfY2FsbGJhY2soY2FsbGJhY2spYCAtIGNhbGxiYWNrIGNh
bGxlZCB3aXRoIGEgdGVzdCBhcmd1bWVudAotCi0gIGBhZGRfcmVzdWx0X2NhbGxiYWNrKGNhbGxi
YWNrKWAgLSBjYWxsYmFjayBjYWxsZWQgd2l0aCBhIHRlc3QgYXJndW1lbnQKLQotICBgYWRkX2Nv
bXBsZXRpb25fY2FsbGJhY2soY2FsbGJhY2spYCAtIGNhbGxiYWNrIGNhbGxlZCB3aXRoIGFuIGFy
cmF5IG9mIHRlc3RzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5k
IGEgc3RhdHVzIG9iamVjdAotCi1UZXN0cyBoYXZlIHRoZSBmb2xsb3dpbmcgcHJvcGVydGllczoK
LQotICAqIGBzdGF0dXNgIC0gQSBzdGF0dXMgY29kZS4gVGhpcyBjYW4gYmUgY29tcGFyZWQgdG8g
dGhlIGBQQVNTYCwgYEZBSUxgLAotICAgICAgICAgICAgICAgYFRJTUVPVVRgIGFuZCBgTk9UUlVO
YCBwcm9wZXJ0aWVzIG9uIHRoZSB0ZXN0IG9iamVjdAotCi0gICogYG1lc3NhZ2VgIC0gQSBtZXNz
YWdlIGluZGljYXRpbmcgdGhlIHJlYXNvbiBmb3IgZmFpbHVyZS4gSW4gdGhlIGZ1dHVyZSB0aGlz
Ci0gICAgICAgICAgICAgICAgd2lsbCBhbHdheXMgYmUgYSBzdHJpbmcKLQotIFRoZSBzdGF0dXMg
b2JqZWN0IGdpdmVzIHRoZSBvdmVyYWxsIHN0YXR1cyBvZiB0aGUgaGFybmVzcy4gSXQgaGFzIHRo
ZQotIGZvbGxvd2luZyBwcm9wZXJ0aWVzOgotCi0gKiBgc3RhdHVzYCAtIENhbiBiZSBjb21wYXJl
ZCB0byB0aGUgYE9LYCwgYEVSUk9SYCBhbmQgYFRJTUVPVVRgIHByb3BlcnRpZXMKLQotICogYG1l
c3NhZ2VgIC0gQW4gZXJyb3IgbWVzc2FnZSBzZXQgd2hlbiB0aGUgc3RhdHVzIGlzIGBFUlJPUmAK
LQotIyMgRXh0ZXJuYWwgQVBJICMjCi0KLUluIG9yZGVyIHRvIGNvbGxlY3QgdGhlIHJlc3VsdHMg
b2YgbXVsdGlwbGUgcGFnZXMgY29udGFpbmluZyB0ZXN0cywgdGhlIHRlc3QKLWhhcm5lc3Mgd2ls
bCwgd2hlbiBsb2FkZWQgaW4gYSBuZXN0ZWQgYnJvd3NpbmcgY29udGV4dCwgYXR0ZW1wdCB0byBj
YWxsCi1jZXJ0YWluIGZ1bmN0aW9ucyBpbiBlYWNoIGFuY2VzdG9yIGFuZCBvcGVuZXIgYnJvd3Np
bmcgY29udGV4dDoKLQotICogc3RhcnQgLSBgc3RhcnRfY2FsbGJhY2tgCi0gKiB0ZXN0XF9zdGF0
ZSAtIGB0ZXN0X3N0YXRlX2NhbGxiYWNrYAotICogcmVzdWx0IC0gYHJlc3VsdF9jYWxsYmFja2AK
LSAqIGNvbXBsZXRlIC0gYGNvbXBsZXRpb25fY2FsbGJhY2tgCi0KLVRoZXNlIGFyZSBnaXZlbiB0
aGUgc2FtZSBhcmd1bWVudHMgYXMgdGhlIGNvcnJlc3BvbmRpbmcgaW50ZXJuYWwgY2FsbGJhY2tz
Ci1kZXNjcmliZWQgYWJvdmUuCi0KLSMjIEV4dGVybmFsIEFQSSB0aHJvdWdoIGNyb3NzLWRvY3Vt
ZW50IG1lc3NhZ2luZyAjIwotCi1XaGVyZSBzdXBwb3J0ZWQsIHRoZSB0ZXN0IGhhcm5lc3Mgd2ls
bCBhbHNvIHNlbmQgbWVzc2FnZXMgdXNpbmcgY3Jvc3MtZG9jdW1lbnQKLW1lc3NhZ2luZyB0byBl
YWNoIGFuY2VzdG9yIGFuZCBvcGVuZXIgYnJvd3NpbmcgY29udGV4dC4gU2luY2UgaXQgdXNlcyB0
aGUKLXdpbGRjYXJkIGtleXdvcmQgKFwqKSwgY3Jvc3Mtb3JpZ2luIGNvbW11bmljYXRpb24gaXMg
ZW5hYmxlZCBhbmQgc2NyaXB0IG9uCi1kaWZmZXJlbnQgb3JpZ2lucyBjYW4gY29sbGVjdCB0aGUg
cmVzdWx0cy4KLQotVGhpcyBBUEkgZm9sbG93cyBzaW1pbGFyIGNvbnZlbnRpb25zIGFzIHRob3Nl
IGRlc2NyaWJlZCBhYm92ZSBvbmx5IHNsaWdodGx5Ci1tb2RpZmllZCB0byBhY2NvbW1vZGF0ZSBt
ZXNzYWdlIGV2ZW50IEFQSS4gRWFjaCBtZXNzYWdlIGlzIHNlbnQgYnkgdGhlIGhhcm5lc3MKLWlz
IHBhc3NlZCBhIHNpbmdsZSB2YW5pbGxhIG9iamVjdCwgYXZhaWxhYmxlIGFzIHRoZSBgZGF0YWAg
cHJvcGVydHkgb2YgdGhlIGV2ZW50Ci1vYmplY3QuIFRoZXNlIG9iamVjdHMgYXJlIHN0cnVjdHVy
ZWQgYXMgZm9sbG93czoKLQotICogc3RhcnQgLSBgeyB0eXBlOiAic3RhcnQiIH1gCi0gKiB0ZXN0
XF9zdGF0ZSAtIGB7IHR5cGU6ICJ0ZXN0X3N0YXRlIiwgdGVzdDogVGVzdCB9YAotICogcmVzdWx0
IC0gYHsgdHlwZTogInJlc3VsdCIsIHRlc3Q6IFRlc3QgfWAKLSAqIGNvbXBsZXRlIC0gYHsgdHlw
ZTogImNvbXBsZXRlIiwgdGVzdHM6IFtUZXN0LCAuLi5dLCBzdGF0dXM6IFRlc3RzU3RhdHVzIH1g
Ci0KLSMjIFdlYiBXb3JrZXJzICMjCi0KLVRoZSBgdGVzdGhhcm5lc3MuanNgIHNjcmlwdCBjYW4g
YmUgdXNlZCBmcm9tIHdpdGhpbiBbZGVkaWNhdGVkIHdvcmtlcnMsIHNoYXJlZAotd29ya2Vyc10o
aHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2Uvd29ya2Vycy5odG1sKSBhbmQg
W3NlcnZpY2UKLXdvcmtlcnNdKGh0dHBzOi8vc2xpZ2h0bHlvZmYuZ2l0aHViLmlvL1NlcnZpY2VX
b3JrZXIvc3BlYy9zZXJ2aWNlX3dvcmtlci8pLgotCi1UZXN0aW5nIGZyb20gYSB3b3JrZXIgc2Ny
aXB0IGlzIGRpZmZlcmVudCBmcm9tIHRlc3RpbmcgZnJvbSBhbiBIVE1MIGRvY3VtZW50IGluCi1z
ZXZlcmFsIHdheXM6Ci0KLSogV29ya2VycyBoYXZlIG5vIHJlcG9ydGluZyBjYXBhYmlsaXR5IHNp
bmNlIHRoZXkgYXJlIHJ1bmluZyBpbiB0aGUgYmFja2dyb3VuZC4KLSAgSGVuY2UgdGhleSByZWx5
IG9uIGB0ZXN0aGFybmVzcy5qc2AgcnVubmluZyBpbiBhIGNvbXBhbmlvbiBjbGllbnQgSFRNTCBk
b2N1bWVudAotICBmb3IgcmVwb3J0aW5nLgotCi0qIFNoYXJlZCBhbmQgc2VydmljZSB3b3JrZXJz
IGRvIG5vdCBoYXZlIGEgdW5pcXVlIGNsaWVudCBkb2N1bWVudCBzaW5jZSB0aGVyZQotICBjb3Vs
ZCBiZSBtb3JlIHRoYW4gb25lIGRvY3VtZW50IHRoYXQgY29tbXVuaWNhdGVzIHdpdGggdGhlc2Ug
d29ya2Vycy4gU28gYQotICBjbGllbnQgZG9jdW1lbnQgbmVlZHMgdG8gZXhwbGljaXRseSBjb25u
ZWN0IHRvIGEgd29ya2VyIGFuZCBmZXRjaCB0ZXN0IHJlc3VsdHMKLSAgZnJvbSBpdCB1c2luZyBg
ZmV0Y2hfdGVzdHNfZnJvbV93b3JrZXJgLiBUaGlzIGlzIHRydWUgZXZlbiBmb3IgYSBkZWRpY2F0
ZWQKLSAgd29ya2VyLiBPbmNlIGNvbm5lY3RlZCwgdGhlIGluZGl2aWR1YWwgdGVzdHMgcnVubmlu
ZyBpbiB0aGUgd29ya2VyIChvciB0aG9zZQotICB0aGF0IGhhdmUgYWxyZWFkeSBydW4gdG8gY29t
cGxldGlvbikgd2lsbCBiZSBhdXRvbWF0aWNhbGx5IHJlZmxlY3RlZCBpbiB0aGUKLSAgY2xpZW50
IGRvY3VtZW50LgotCi0qIFRoZSBjbGllbnQgZG9jdW1lbnQgY29udHJvbHMgdGhlIHRpbWVvdXQg
b2YgdGhlIHRlc3RzLiBBbGwgd29ya2VyIHNjcmlwdHMgYWN0Ci0gIGFzIGlmIHRoZXkgd2VyZSBz
dGFydGVkIHdpdGggdGhlIGBleHBsaWNpdF90aW1lb3V0YCBvcHRpb24gKHNlZSB0aGUgW0hhcm5l
c3MKLSAgdGltZW91dF0oI2hhcm5lc3MtdGltZW91dCkgc2VjdGlvbikuCi0KLSogRGVkaWNhdGVk
IGFuZCBzaGFyZWQgd29ya2VycyBkb24ndCBoYXZlIGFuIGVxdWl2YWxlbnQgb2YgYW4gYG9ubG9h
ZGAgZXZlbnQuCi0gIFRodXMgdGhlIHRlc3QgaGFybmVzcyBoYXMgbm8gd2F5IHRvIGtub3cgd2hl
biBhbGwgdGVzdHMgaGF2ZSBjb21wbGV0ZWQgKHNlZQotICBbRGV0ZXJtaW5pbmcgd2hlbiBhbGwg
dGVzdHMgYXJlCi0gIGNvbXBsZXRlXSgjZGV0ZXJtaW5pbmctd2hlbi1hbGwtdGVzdHMtYXJlLWNv
bXBsZXRlKSkuIFNvIHRoZXNlIHdvcmtlciB0ZXN0cwotICBiZWhhdmUgYXMgaWYgdGhleSB3ZXJl
IHN0YXJ0ZWQgd2l0aCB0aGUgYGV4cGxpY2l0X2RvbmVgIG9wdGlvbi4gU2VydmljZQotICB3b3Jr
ZXJzIGRlcGVuZCBvbiB0aGUKLSAgW29uaW5zdGFsbF0oaHR0cHM6Ly9zbGlnaHRseW9mZi5naXRo
dWIuaW8vU2VydmljZVdvcmtlci9zcGVjL3NlcnZpY2Vfd29ya2VyL2luZGV4Lmh0bWwjc2Vydmlj
ZS13b3JrZXItZ2xvYmFsLXNjb3BlLWluc3RhbGwtZXZlbnQpCi0gIGV2ZW50IGFuZCBkb24ndCBy
ZXF1aXJlIGFuIGV4cGxpY2l0IGBkb25lYCBjYWxsLgotCi1IZXJlJ3MgYW4gZXhhbXBsZSB0aGF0
IHVzZXMgYSBkZWRpY2F0ZWQgd29ya2VyLgotCi1gd29ya2VyLmpzYDoKLQotYGBganMKLWltcG9y
dFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLQotdGVzdChmdW5jdGlvbih0
KSB7Ci0gIGFzc2VydF90cnVlKHRydWUsICJ0cnVlIGlzIHRydWUiKTsKLX0sICJTaW1wbGUgdGVz
dCIpOwotCi0vLyBkb25lKCkgaXMgbmVlZGVkIGJlY2F1c2UgdGhlIHRlc3RoYXJuZXNzIGlzIHJ1
bm5pbmcgYXMgaWYgZXhwbGljaXRfZG9uZQotLy8gd2FzIHNwZWNpZmllZC4KLWRvbmUoKTsKLWBg
YAotCi1gdGVzdC5odG1sYDoKLQotYGBgaHRtbAotPCFET0NUWVBFIGh0bWw+Ci08dGl0bGU+U2lt
cGxlIHRlc3Q8L3RpdGxlPgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
Pjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgotPGRpdiBpZD0ibG9nIj48L2Rpdj4KLTxzY3JpcHQ+Ci0KLWZldGNoX3Rlc3Rz
X2Zyb21fd29ya2VyKG5ldyBXb3JrZXIoIndvcmtlci5qcyIpKTsKLQotPC9zY3JpcHQ+Ci1gYGAK
LQotVGhlIGFyZ3VtZW50IHRvIHRoZSBgZmV0Y2hfdGVzdHNfZnJvbV93b3JrZXJgIGZ1bmN0aW9u
IGNhbiBiZSBhCi1bYFdvcmtlcmBdKGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlw
YWdlL3dvcmtlcnMuaHRtbCNkZWRpY2F0ZWQtd29ya2Vycy1hbmQtdGhlLXdvcmtlci1pbnRlcmZh
Y2UpLAotYSBbYFNoYXJlZFdvcmtlcmBdKGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVs
dGlwYWdlL3dvcmtlcnMuaHRtbCNzaGFyZWQtd29ya2Vycy1hbmQtdGhlLXNoYXJlZHdvcmtlci1p
bnRlcmZhY2UpCi1vciBhIFtgU2VydmljZVdvcmtlcmBdKGh0dHBzOi8vc2xpZ2h0bHlvZmYuZ2l0
aHViLmlvL1NlcnZpY2VXb3JrZXIvc3BlYy9zZXJ2aWNlX3dvcmtlci8jc2VydmljZS13b3JrZXIt
b2JqKS4KLU9uY2UgY2FsbGVkLCB0aGUgY29udGFpbmluZyBkb2N1bWVudCBmZXRjaGVzIGFsbCB0
aGUgdGVzdHMgZnJvbSB0aGUgd29ya2VyIGFuZAotYmVoYXZlcyBhcyBpZiB0aG9zZSB0ZXN0cyB3
ZXJlIHJ1bm5pbmcgaW4gdGhlIGNvbnRhaW5pbmcgZG9jdW1lbnQgaXRzZWxmLgotCi0jIyBMaXN0
IG9mIEFzc2VydGlvbnMgIyMKLQotIyMjIGBhc3NlcnRfdHJ1ZShhY3R1YWwsIGRlc2NyaXB0aW9u
KWAKLWFzc2VydHMgdGhhdCBgYWN0dWFsYCBpcyBzdHJpY3RseSB0cnVlCi0KLSMjIyBgYXNzZXJ0
X2ZhbHNlKGFjdHVhbCwgZGVzY3JpcHRpb24pYAotYXNzZXJ0cyB0aGF0IGBhY3R1YWxgIGlzIHN0
cmljdGx5IGZhbHNlCi0KLSMjIyBgYXNzZXJ0X2VxdWFscyhhY3R1YWwsIGV4cGVjdGVkLCBkZXNj
cmlwdGlvbilgCi1hc3NlcnRzIHRoYXQgYGFjdHVhbGAgaXMgdGhlIHNhbWUgdmFsdWUgYXMgYGV4
cGVjdGVkYAotCi0jIyMgYGFzc2VydF9ub3RfZXF1YWxzKGFjdHVhbCwgZXhwZWN0ZWQsIGRlc2Ny
aXB0aW9uKWAKLWFzc2VydHMgdGhhdCBgYWN0dWFsYCBpcyBhIGRpZmZlcmVudCB2YWx1ZSB0byBg
ZXhwZWN0ZWRgLgotVGhpcyBtZWFucyB0aGF0IGBleHBlY3RlZGAgaXMgYSBtaXNub21lci4KLQot
IyMjIGBhc3NlcnRfaW5fYXJyYXkoYWN0dWFsLCBleHBlY3RlZCwgZGVzY3JpcHRpb24pYAotYXNz
ZXJ0cyB0aGF0IGBleHBlY3RlZGAgaXMgYW4gQXJyYXksIGFuZCBgYWN0dWFsYCBpcyBlcXVhbCB0
byBvbmUgb2YgdGhlCi1tZW1iZXJzIGkuZS4gYGV4cGVjdGVkLmluZGV4T2YoYWN0dWFsKSAhPSAt
MWAKLQotIyMjIGBhc3NlcnRfYXJyYXlfZXF1YWxzKGFjdHVhbCwgZXhwZWN0ZWQsIGRlc2NyaXB0
aW9uKWAKLWFzc2VydHMgdGhhdCBgYWN0dWFsYCBhbmQgYGV4cGVjdGVkYCBoYXZlIHRoZSBzYW1l
Ci1sZW5ndGggYW5kIHRoZSB2YWx1ZSBvZiBlYWNoIGluZGV4ZWQgcHJvcGVydHkgaW4gYGFjdHVh
bGAgaXMgdGhlIHN0cmljdGx5IGVxdWFsCi10byB0aGUgY29ycmVzcG9uZGluZyBwcm9wZXJ0eSB2
YWx1ZSBpbiBgZXhwZWN0ZWRgCi0KLSMjIyBgYXNzZXJ0X2FwcHJveF9lcXVhbHMoYWN0dWFsLCBl
eHBlY3RlZCwgZXBzaWxvbiwgZGVzY3JpcHRpb24pYAotYXNzZXJ0cyB0aGF0IGBhY3R1YWxgIGlz
IGEgbnVtYmVyIHdpdGhpbiDCsWBlcHNpbG9uYCBvZiBgZXhwZWN0ZWRgCi0KLSMjIyBgYXNzZXJ0
X2xlc3NfdGhhbihhY3R1YWwsIGV4cGVjdGVkLCBkZXNjcmlwdGlvbilgCi1hc3NlcnRzIHRoYXQg
YGFjdHVhbGAgaXMgYSBudW1iZXIgbGVzcyB0aGFuIGBleHBlY3RlZGAKLQotIyMjIGBhc3NlcnRf
Z3JlYXRlcl90aGFuKGFjdHVhbCwgZXhwZWN0ZWQsIGRlc2NyaXB0aW9uKWAKLWFzc2VydHMgdGhh
dCBgYWN0dWFsYCBpcyBhIG51bWJlciBncmVhdGVyIHRoYW4gYGV4cGVjdGVkYAotCi0jIyMgYGFz
c2VydF9iZXR3ZWVuX2V4Y2x1c2l2ZShhY3R1YWwsIGxvd2VyLCB1cHBlciwgZGVzY3JpcHRpb25g
Ci1hc3NlcnRzIHRoYXQgYGFjdHVhbGAgaXMgYSBudW1iZXIgYmV0d2VlbiBgbG93ZXJgIGFuZCBg
dXBwZXJgIGJ1dCBub3QKLWVxdWFsIHRvIGVpdGhlciBvZiB0aGVtCi0KLSMjIyBgYXNzZXJ0X2xl
c3NfdGhhbl9lcXVhbChhY3R1YWwsIGV4cGVjdGVkLCBkZXNjcmlwdGlvbilgCi1hc3NlcnRzIHRo
YXQgYGFjdHVhbGAgaXMgYSBudW1iZXIgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIGBleHBlY3RlZGAK
LQotIyMjIGBhc3NlcnRfZ3JlYXRlcl90aGFuX2VxdWFsKGFjdHVhbCwgZXhwZWN0ZWQsIGRlc2Ny
aXB0aW9uKWAKLWFzc2VydHMgdGhhdCBgYWN0dWFsYCBpcyBhIG51bWJlciBncmVhdGVyIHRoYW4g
b3IgZXF1YWwgdG8gYGV4cGVjdGVkYAotCi0jIyMgYGFzc2VydF9iZXR3ZWVuX2luY2x1c2l2ZShh
Y3R1YWwsIGxvd2VyLCB1cHBlciwgZGVzY3JpcHRpb25gCi1hc3NlcnRzIHRoYXQgYGFjdHVhbGAg
aXMgYSBudW1iZXIgYmV0d2VlbiBgbG93ZXJgIGFuZCBgdXBwZXJgIG9yCi1lcXVhbCB0byBlaXRo
ZXIgb2YgdGhlbQotCi0jIyMgYGFzc2VydF9yZWdleHBfbWF0Y2goYWN0dWFsLCBleHBlY3RlZCwg
ZGVzY3JpcHRpb24pYAotYXNzZXJ0cyB0aGF0IGBhY3R1YWxgIG1hdGNoZXMgdGhlIHJlZ2V4cCBg
ZXhwZWN0ZWRgCi0KLSMjIyBgYXNzZXJ0X2NsYXNzX3N0cmluZyhvYmplY3QsIGNsYXNzX25hbWUs
IGRlc2NyaXB0aW9uKWAKLWFzc2VydHMgdGhhdCB0aGUgY2xhc3Mgc3RyaW5nIG9mIGBvYmplY3Rg
IGFzIHJldHVybmVkIGluCi1gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZ2AgaXMgZXF1YWwgdG8g
YGNsYXNzX25hbWVgLgotCi0jIyMgYGFzc2VydF9vd25fcHJvcGVydHkob2JqZWN0LCBwcm9wZXJ0
eV9uYW1lLCBkZXNjcmlwdGlvbilgCi1hc3NlcnQgdGhhdCBvYmplY3QgaGFzIG93biBwcm9wZXJ0
eSBgcHJvcGVydHlfbmFtZWAKLQotIyMjIGBhc3NlcnRfaW5oZXJpdHMob2JqZWN0LCBwcm9wZXJ0
eV9uYW1lLCBkZXNjcmlwdGlvbilgCi1hc3NlcnQgdGhhdCBvYmplY3QgZG9lcyBub3QgaGF2ZSBh
biBvd24gcHJvcGVydHkgbmFtZWQKLWBwcm9wZXJ0eV9uYW1lYCBidXQgdGhhdCBgcHJvcGVydHlf
bmFtZWAgaXMgcHJlc2VudCBpbiB0aGUgcHJvdG90eXBlCi1jaGFpbiBmb3Igb2JqZWN0Ci0KLSMj
IyBgYXNzZXJ0X2lkbF9hdHRyaWJ1dGUob2JqZWN0LCBhdHRyaWJ1dGVfbmFtZSwgZGVzY3JpcHRp
b24pYAotYXNzZXJ0IHRoYXQgYW4gb2JqZWN0IHRoYXQgaXMgYW4gaW5zdGFuY2Ugb2Ygc29tZSBp
bnRlcmZhY2UgaGFzIHRoZQotYXR0cmlidXRlIGF0dHJpYnV0ZV9uYW1lIGZvbGxvd2luZyB0aGUg
Y29uZGl0aW9ucyBzcGVjaWZpZWQgYnkgV2ViSURMCi0KLSMjIyBgYXNzZXJ0X3JlYWRvbmx5KG9i
amVjdCwgcHJvcGVydHlfbmFtZSwgZGVzY3JpcHRpb24pYAotYXNzZXJ0IHRoYXQgcHJvcGVydHkg
YHByb3BlcnR5X25hbWVgIG9uIG9iamVjdCBpcyByZWFkb25seQotCi0jIyMgYGFzc2VydF90aHJv
d3MoY29kZSwgZnVuYywgZGVzY3JpcHRpb24pYAotYGNvZGVgIC0gdGhlIGV4cGVjdGVkIGV4Y2Vw
dGlvbi4gVGhpcyBjYW4gdGFrZSBzZXZlcmFsIGZvcm1zOgotCi0gICogc3RyaW5nIC0gdGhlIHRo
cm93biBleGNlcHRpb24gbXVzdCBiZSBhIERPTUV4Y2VwdGlvbiB3aXRoIHRoZSBnaXZlbgotICAg
ICAgICAgICAgIG5hbWUsIGUuZy4sICJUaW1lb3V0RXJyb3IiIChmb3IgY29tcGF0aWJpbGl0eSB3
aXRoIGV4aXN0aW5nCi0gICAgICAgICAgICAgdGVzdHMsIGEgY29uc3RhbnQgaXMgYWxzbyBzdXBw
b3J0ZWQsIGUuZy4sICJUSU1FT1VUX0VSUiIpCi0gICogb2JqZWN0IC0gdGhlIHRocm93biBleGNl
cHRpb24gbXVzdCBoYXZlIGEgcHJvcGVydHkgY2FsbGVkICJuYW1lIiB0aGF0Ci0gICAgICAgICAg
ICAgbWF0Y2hlcyBjb2RlLm5hbWUKLSAgKiBudWxsIC0gICBhbGxvdyBhbnkgZXhjZXB0aW9uIChp
biBnZW5lcmFsLCBvbmUgb2YgdGhlIG9wdGlvbnMgYWJvdmUKLSAgICAgICAgICAgICBzaG91bGQg
YmUgdXNlZCkKLQotYGZ1bmNgIC0gYSBmdW5jdGlvbiB0aGF0IHNob3VsZCB0aHJvdwotCi0jIyMg
YGFzc2VydF91bnJlYWNoZWQoZGVzY3JpcHRpb24pYAotYXNzZXJ0cyBpZiBjYWxsZWQuIFVzZWQg
dG8gZW5zdXJlIHRoYXQgc29tZSBjb2RlcGF0aCBpcyAqbm90KiB0YWtlbiBlLmcuCi1hbiBldmVu
dCBkb2VzIG5vdCBmaXJlLgotCi0jIyMgYGFzc2VydF9hbnkoYXNzZXJ0X2Z1bmMsIGFjdHVhbCwg
ZXhwZWN0ZWRfYXJyYXksIGV4dHJhX2FyZ18xLCAuLi4gZXh0cmFfYXJnX04pYAotYXNzZXJ0cyB0
aGF0IG9uZSBgYXNzZXJ0X2Z1bmMoYWN0dWFsLCBleHBlY3RlZF9hcnJheV9OLCBleHRyYV9hcmcx
LCAuLi4sIGV4dHJhX2FyZ19OKWAKLSAgaXMgdHJ1ZSBmb3Igc29tZSBgZXhwZWN0ZWRfYXJyYXlf
TmAgaW4gYGV4cGVjdGVkX2FycmF5YC4gVGhpcyBvbmx5IHdvcmtzIGZvciBgYXNzZXJ0X2Z1bmNg
Ci0gIHdpdGggc2lnbmF0dXJlIGBhc3NlcnRfZnVuYyhhY3R1YWwsIGV4cGVjdGVkLCBhcmdzXzEs
IC4uLiwgYXJnc19OKWAuIE5vdGUgdGhhdCB0ZXN0cwotICB3aXRoIG11bHRpcGxlIGFsbG93ZWQg
cGFzcyBjb25kaXRpb25zIGFyZSBiYWQgcHJhY3RpY2UgdW5sZXNzIHRoZSBzcGVjIHNwZWNpZmlj
YWxseQotICBhbGxvd3MgbXVsdGlwbGUgYmVoYXZpb3Vycy4gVGVzdCBhdXRob3JzIHNob3VsZCBu
b3QgdXNlIHRoaXMgbWV0aG9kIHNpbXBseSB0byBoaWRlCi0gIFVBIGJ1Z3MuCi0KLSMjIyBgYXNz
ZXJ0X2V4aXN0cyhvYmplY3QsIHByb3BlcnR5X25hbWUsIGRlc2NyaXB0aW9uKWAKLSoqZGVwcmVj
YXRlZCoqCi1hc3NlcnRzIHRoYXQgb2JqZWN0IGhhcyBhbiBvd24gcHJvcGVydHkgYHByb3BlcnR5
X25hbWVgCi0KLSMjIyBgYXNzZXJ0X25vdF9leGlzdHMob2JqZWN0LCBwcm9wZXJ0eV9uYW1lLCBk
ZXNjcmlwdGlvbilgCi0qKmRlcHJlY2F0ZWQqKgotYXNzZXJ0IHRoYXQgb2JqZWN0IGRvZXMgbm90
IGhhdmUgb3duIHByb3BlcnR5IGBwcm9wZXJ0eV9uYW1lYAotCi0jIyBNZXRhZGF0YSAjIwotCi1J
dCBpcyBwb3NzaWJsZSB0byBhZGQgb3B0aW9uYWwgbWV0YWRhdGEgdG8gdGVzdHM7IHRoaXMgY2Fu
IGJlIGRvbmUgaW4KLW9uZSBvZiB0d28gd2F5czsgZWl0aGVyIGJ5IGFkZGluZyBgPG1ldGE+YCBl
bGVtZW50cyB0byB0aGUgaGVhZCBvZiB0aGUKLWRvY3VtZW50IGNvbnRhaW5pbmcgdGhlIHRlc3Rz
LCBvciBieSBhZGRpbmcgdGhlIG1ldGFkYXRhIHRvIGluZGl2aWR1YWwKLWBbYXN5bmNfXXRlc3Rg
IGNhbGxzLCBhcyBwcm9wZXJ0aWVzLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZG9jcy9pZGxoYXJuZXNzLm1kIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZG9jcy9p
ZGxoYXJuZXNzLm1kCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxNDEwNzdiM2E3Mi4u
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvZG9jcy9pZGxoYXJuZXNzLm1kCisrKyAvZGV2L251bGwKQEAgLTEsMTI4
ICswLDAgQEAKLSMjIEludHJvZHVjdGlvbiAjIwotCi1gaWRsaGFybmVzcy5qc2AgYXV0b21hdGlj
YWxseSBnZW5lcmF0ZXMgYnJvd3NlciB0ZXN0cyBmb3IgV2ViSURMIGludGVyZmFjZXMsIHVzaW5n
Ci10aGUgdGVzdGhhcm5lc3MuanMgZnJhbWV3b3JrLiAgVG8gdXNlLCBmaXJzdCBpbmNsdWRlIHRo
ZSBmb2xsb3dpbmc6Ci0KLWBgYGh0bWwKLTxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanM+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9L3Jlc291cmNlcy9XZWJJRExQYXJzZXIuanM+PC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0vcmVzb3VyY2VzL2lkbGhhcm5lc3MuanM+PC9zY3JpcHQ+Ci1g
YGAKLQotVGhlbiB5b3UnbGwgbmVlZCBzb21lIHR5cGUgb2YgSURMcy4gIEhlcmUncyBzb21lIHNj
cmlwdCB0aGF0IGNhbiBiZSBydW4gb24gYQotc3BlYyB3cml0dGVuIGluIEhUTUwsIHdoaWNoIHdp
bGwgZ3JhYiBhbGwgdGhlIGVsZW1lbnRzIHdpdGggYGNsYXNzPSJpZGwiYCwKLWNvbmNhdGVuYXRl
IHRoZW0sIGFuZCByZXBsYWNlIHRoZSBib2R5IHNvIHlvdSBjYW4gY29weS1wYXN0ZToKLQotYGBg
anMKLXZhciBzID0gIiI7Ci1bXS5mb3JFYWNoLmNhbGwoZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNs
YXNzTmFtZSgiaWRsIiksIGZ1bmN0aW9uKGlkbCkgewotICAvL2h0dHBzOi8vd3d3LnczLm9yZy9C
dWdzL1B1YmxpYy9zaG93X2J1Zy5jZ2k/aWQ9MTQ5MTQKLSAgaWYgKCFpZGwuY2xhc3NMaXN0LmNv
bnRhaW5zKCJleHRyYWN0IikpCi0gIHsKLSAgICBzICs9IGlkbC50ZXh0Q29udGVudCArICJcblxu
IjsKLSAgfQotfSk7Ci1kb2N1bWVudC5ib2R5LmlubmVySFRNTCA9ICc8cHJlPjwvcHJlPic7Ci1k
b2N1bWVudC5ib2R5LmZpcnN0Q2hpbGQudGV4dENvbnRlbnQgPSBzOwotYGBgCi0KLU9uY2UgeW91
IGhhdmUgdGhhdCwgcHV0IGl0IGluIHlvdXIgc2NyaXB0IHNvbWVob3cuICBUaGUgZWFzaWVzdCB3
YXkgaXMgdG8KLWVtYmVkIGl0IGxpdGVyYWxseSBpbiBhbiBIVE1MIGZpbGUgd2l0aCBgPHNjcmlw
dCB0eXBlPXRleHQvcGxhaW4+YCBvciBzaW1pbGFyLAotc28gdGhhdCB5b3UgZG9uJ3QgaGF2ZSB0
byBkbyBhbnkgZXNjYXBpbmcuICBBbm90aGVyIHBvc3NpYmlsaXR5IGlzIHRvIHB1dCBpdAotaW4g
YSBzZXBhcmF0ZSAuaWRsIGZpbGUgdGhhdCdzIGZldGNoZWQgdmlhIFhIUiBvciBzaW1pbGFyLiAg
U2FtcGxlIHVzYWdlOgotCi1gYGBqcwotdmFyIGlkbF9hcnJheSA9IG5ldyBJZGxBcnJheSgpOwot
aWRsX2FycmF5LmFkZF91bnRlc3RlZF9pZGxzKCJpbnRlcmZhY2UgTm9kZSB7IHJlYWRvbmx5IGF0
dHJpYnV0ZSBET01TdHJpbmcgbm9kZU5hbWU7IH07Iik7Ci1pZGxfYXJyYXkuYWRkX2lkbHMoImlu
dGVyZmFjZSBEb2N1bWVudCA6IE5vZGUgeyByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIFVS
TDsgfTsiKTsKLWlkbF9hcnJheS5hZGRfb2JqZWN0cyh7RG9jdW1lbnQ6IFsiZG9jdW1lbnQiXX0p
OwotaWRsX2FycmF5LnRlc3QoKTsKLWBgYAotCi1UaGlzIHRlc3RzIHRoYXQgYHdpbmRvdy5Eb2N1
bWVudGAgZXhpc3RzIGFuZCBtZWV0cyBhbGwgdGhlIHJlcXVpcmVtZW50cyBvZgotV2ViSURMLiAg
SXQgYWxzbyB0ZXN0cyB0aGF0IHdpbmRvdy5kb2N1bWVudCAodGhlIHJlc3VsdCBvZiBldmFsdWF0
aW5nIHRoZQotc3RyaW5nICJkb2N1bWVudCIpIGhhcyBVUkwgYW5kIG5vZGVOYW1lIHByb3BlcnRp
ZXMgdGhhdCBiZWhhdmUgYXMgdGhleQotc2hvdWxkLCBhbmQgb3RoZXJ3aXNlIG1lZXRzIFdlYklE
TCdzIHJlcXVpcmVtZW50cyBmb3IgYW4gb2JqZWN0IHdob3NlCi1wcmltYXJ5IGludGVyZmFjZSBp
cyBEb2N1bWVudC4gIEl0IGRvZXMgbm90IHRlc3QgdGhhdCB3aW5kb3cuTm9kZSBleGlzdHMsCi13
aGljaCBpcyB3aGF0IHlvdSB3YW50IGlmIHRoZSBOb2RlIGludGVyZmFjZSBpcyBhbHJlYWR5IHRl
c3RlZCBpbiBzb21lIG90aGVyCi1zcGVjaWZpY2F0aW9uJ3Mgc3VpdGUgYW5kIHlvdXIgc3BlY2lm
aWNhdGlvbiBvbmx5IGV4dGVuZHMgb3IgcmVmZXJzIHRvIGl0LgotT2YgY291cnNlLCBlYWNoIElE
TCBzdHJpbmcgY2FuIGRlZmluZSBtYW55IGRpZmZlcmVudCB0aGluZ3MsIGFuZCBjYWxscyB0bwot
YWRkX29iamVjdHMoKSBjYW4gcmVnaXN0ZXIgbWFueSBkaWZmZXJlbnQgb2JqZWN0cyBmb3IgZGlm
ZmVyZW50IGludGVyZmFjZXM6Ci10aGlzIGlzIGEgdmVyeSBzaW1wbGUgZXhhbXBsZS4KLQotIyMg
UHVibGljIG1ldGhvZHMgb2YgSWRsQXJyYXkgIyMKLQotSWRsQXJyYXkgb2JqZWN0cyBjYW4gYmUg
b2J0YWluZWQgd2l0aCBgbmV3IElkbEFycmF5KClgLiAgQW55dGhpbmcgbm90Ci1kb2N1bWVudGVk
IGluIHRoaXMgc2VjdGlvbiBzaG91bGQgYmUgY29uc2lkZXJlZCBhbiBpbXBsZW1lbnRhdGlvbiBk
ZXRhaWwsCi1hbmQgb3V0c2lkZSBjYWxsZXJzIHNob3VsZCBub3QgdXNlIGl0LgotCi0jIyMgYGFk
ZF9pZGxzKGlkbF9zdHJpbmcpYAotICBQYXJzZXMgYGlkbF9zdHJpbmdgICh0aHJvd2luZyBvbiBw
YXJzZSBlcnJvcikgYW5kIGFkZHMgdGhlIHJlc3VsdHMgdG8gdGhlCi0gIElkbEFycmF5LiAgQWxs
IHRoZSBkZWZpbml0aW9ucyB3aWxsIGJlIHRlc3RlZCB3aGVuIHlvdSBydW4gdGVzdCgpLiAgSWYK
LSAgc29tZSBvZiB0aGUgZGVmaW5pdGlvbnMgcmVmZXIgdG8gb3RoZXIgZGVmaW5pdGlvbnMsIHRo
b3NlIG11c3QgYmUgcHJlc2VudAotICB0b28uICBGb3IgaW5zdGFuY2UsIGlmIGBpZGxfc3RyaW5n
YCBzYXlzIHRoYXQgYERvY3VtZW50YCBpbmhlcml0cyBmcm9tIGBOb2RlYCwKLSAgdGhlIGBOb2Rl
YCBpbnRlcmZhY2UgbXVzdCBhbHNvIGhhdmUgYmVlbiBwcm92aWRlZCBpbiBzb21lIGNhbGwgdG8g
YGFkZF9pZGxzKClgCi0gIG9yIGBhZGRfdW50ZXN0ZWRfaWRscygpYC4KLQotIyMjIGBhZGRfdW50
ZXN0ZWRfaWRscyhpZGxfc3RyaW5nKWAKLSAgTGlrZSBgYWRkX2lkbHMoKWAsIGJ1dCB0aGUgZGVm
aW5pdGlvbnMgd2lsbCBub3QgYmUgdGVzdGVkLiAgSWYgYW4gdW50ZXN0ZWQKLSAgaW50ZXJmYWNl
IGlzIGFkZGVkIGFuZCB0aGVuIGV4dGVuZGVkIHdpdGggYSB0ZXN0ZWQgcGFydGlhbCBpbnRlcmZh
Y2UsIHRoZQotICBtZW1iZXJzIG9mIHRoZSBwYXJ0aWFsIGludGVyZmFjZSB3aWxsIHN0aWxsIGJl
IHRlc3RlZC4gIEFsc28sIGFsbCB0aGUKLSAgbWVtYmVycyB3aWxsIHN0aWxsIGJlIHRlc3RlZCBm
b3Igb2JqZWN0cyBhZGRlZCB3aXRoIGBhZGRfb2JqZWN0cygpYCwgYmVjYXVzZQotICB5b3UgcHJv
YmFibHkgd2FudCB0byB0ZXN0IHRoYXQgKGZvciBpbnN0YW5jZSkgd2luZG93LmRvY3VtZW50IGhh
cyBhbGwgdGhlCi0gIHByb3BlcnRpZXMgZnJvbSBgTm9kZWAsIG5vdCBqdXN0IGBEb2N1bWVudGAs
IGV2ZW4gaWYgdGhlIGBOb2RlYCBpbnRlcmZhY2UgaXRzZWxmCi0gIGlzIHRlc3RlZCBpbiBhIGRp
ZmZlcmVudCB0ZXN0IHN1aXRlLgotCi0jIyMgYGFkZF9vYmplY3RzKGRpY3QpYAotICBgZGljdGAg
c2hvdWxkIGJlIGFuIG9iamVjdCB3aG9zZSBrZXlzIGFyZSB0aGUgbmFtZXMgb2YgaW50ZXJmYWNl
cyBvcgotICBleGNlcHRpb25zLCBhbmQgd2hvc2UgdmFsdWVzIGFyZSBhcnJheXMgb2Ygc3RyaW5n
cy4gIFdoZW4gYW4gaW50ZXJmYWNlIG9yCi0gIGV4Y2VwdGlvbiBpcyB0ZXN0ZWQsIGV2ZXJ5IHN0
cmluZyByZWdpc3RlcmVkIGZvciBpdCB3aXRoIGBhZGRfb2JqZWN0cygpYAotICB3aWxsIGJlIGV2
YWx1YXRlZCwgYW5kIHRlc3RzIHdpbGwgYmUgcnVuIG9uIHRoZSByZXN1bHQgdG8gdmVyaWZ5IHRo
YXQgaXQKLSAgY29ycmVjdGx5IGltcGxlbWVudHMgdGhhdCBpbnRlcmZhY2Ugb3IgZXhjZXB0aW9u
LiAgVGhpcyBpcyB0aGUgb25seSB3YXkgdG8KLSAgdGVzdCBhbnl0aGluZyBhYm91dCBgW05vSW50
ZXJmYWNlT2JqZWN0XWAgaW50ZXJmYWNlcywgYW5kIHRoZXJlIGFyZSBtYW55Ci0gIHRlc3RzIHRo
YXQgY2FuJ3QgYmUgcnVuIG9uIGFueSBpbnRlcmZhY2Ugd2l0aG91dCBhbiBvYmplY3QgdG8gZmlk
ZGxlIHdpdGguCi0KLSAgVGhlIGludGVyZmFjZSBoYXMgdG8gYmUgdGhlICpwcmltYXJ5KiBpbnRl
cmZhY2Ugb2YgYWxsIHRoZSBvYmplY3RzCi0gIHByb3ZpZGVkLiAgRm9yIGV4YW1wbGUsIGRvbid0
IHBhc3MgYHtOb2RlOiBbImRvY3VtZW50Il19YCwgYnV0IHJhdGhlcgotICBge0RvY3VtZW50OiBb
ImRvY3VtZW50Il19YC4gIEFzc3VtaW5nIHRoZSBgRG9jdW1lbnRgIGludGVyZmFjZSB3YXMgZGVj
bGFyZWQgdG8KLSAgaW5oZXJpdCBmcm9tIGBOb2RlYCwgdGhpcyB3aWxsIGF1dG9tYXRpY2FsbHkg
dGVzdCB0aGF0IGRvY3VtZW50IGltcGxlbWVudHMKLSAgdGhlIGBOb2RlYCBpbnRlcmZhY2UgdG9v
LgotCi0gIFdhcm5pbmc6IG1ldGhvZHMgd2lsbCBiZSBjYWxsZWQgb24gYW55IHByb3ZpZGVkIG9i
amVjdHMsIGluIGEgbWFubmVyIHRoYXQKLSAgV2ViSURMIHJlcXVpcmVzIGJlIHNhZmUuICBGb3Ig
aW5zdGFuY2UsIGlmIGEgbWV0aG9kIGhhcyBtYW5kYXRvcnkKLSAgYXJndW1lbnRzLCB0aGUgdGVz
dCBzdWl0ZSB3aWxsIHRyeSBjYWxsaW5nIGl0IHdpdGggdG9vIGZldyBhcmd1bWVudHMgdG8KLSAg
c2VlIGlmIGl0IHRocm93cyBhbiBleGNlcHRpb24uICBJZiBhbiBpbXBsZW1lbnRhdGlvbiBpbmNv
cnJlY3RseSBydW5zIHRoZQotICBmdW5jdGlvbiBpbnN0ZWFkIG9mIHRocm93aW5nLCB0aGlzIG1p
Z2h0IGhhdmUgc2lkZSBlZmZlY3RzLCBwb3NzaWJseSBldmVuCi0gIHByZXZlbnRpbmcgdGhlIHRl
c3Qgc3VpdGUgZnJvbSBydW5uaW5nIGNvcnJlY3RseS4KLQotIyMjIGBwcmV2ZW50X211bHRpcGxl
X3Rlc3RpbmcobmFtZSlgCi0gIFRoaXMgaXMgYSBuaWNoZSBtZXRob2QgZm9yIHVzZSBpbiBjYXNl
IHlvdSdyZSB0ZXN0aW5nIG1hbnkgb2JqZWN0cyB0aGF0Ci0gIGltcGxlbWVudCB0aGUgc2FtZSBp
bnRlcmZhY2VzLCBhbmQgZG9uJ3Qgd2FudCB0byByZXRlc3QgdGhlIHNhbWUKLSAgaW50ZXJmYWNl
cyBldmVyeSBzaW5nbGUgdGltZS4gIEZvciBpbnN0YW5jZSwgSFRNTCBkZWZpbmVzIG1hbnkgaW50
ZXJmYWNlcwotICB0aGF0IGFsbCBpbmhlcml0IGZyb20gYEhUTUxFbGVtZW50YCwgc28gdGhlIEhU
TUwgdGVzdCBzdWl0ZSBoYXMgc29tZXRoaW5nCi0gIGxpa2UKLQotYGBganMKLS5hZGRfb2JqZWN0
cyh7Ci0gIEhUTUxIdG1sRWxlbWVudDogWydkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQnXSwKLSAg
SFRNTEhlYWRFbGVtZW50OiBbJ2RvY3VtZW50LmhlYWQnXSwKLSAgSFRNTEJvZHlFbGVtZW50OiBb
J2RvY3VtZW50LmJvZHknXSwKLSAgLi4uCi19KQotYGBgCi0KLSAgYW5kIHNvIG9uIGZvciBkb3pl
bnMgb2YgZWxlbWVudCB0eXBlcy4gIFRoaXMgd291bGQgbWVhbiB0aGF0IGl0IHdvdWxkCi0gIHJl
dGVzdCB0aGF0IGVhY2ggYW5kIGV2ZXJ5IG9uZSBvZiB0aG9zZSBlbGVtZW50cyBpbXBsZW1lbnRz
IGBIVE1MRWxlbWVudGAsCi0gIGBFbGVtZW50YCwgYW5kIGBOb2RlYCwgd2hpY2ggd291bGQgYmUg
dGhvdXNhbmRzIG9mIGJhc2ljYWxseSByZWR1bmRhbnQgdGVzdHMuCi0gIFRoZSB0ZXN0IHN1aXRl
IHRoZXJlZm9yZSBjYWxscyBgcHJldmVudF9tdWx0aXBsZV90ZXN0aW5nKCJIVE1MRWxlbWVudCIp
YC4KLSAgVGhpcyBtZWFucyB0aGF0IG9uY2Ugb25lIG9iamVjdCBoYXMgYmVlbiB0ZXN0ZWQgdG8g
aW1wbGVtZW50IGBIVE1MRWxlbWVudGAKLSAgYW5kIGl0cyBhbmNlc3RvcnMsIG5vIG90aGVyIG9i
amVjdCB3aWxsIGJlLiAgVGh1cyBpbiB0aGUgZXhhbXBsZSBjb2RlCi0gIGFib3ZlLCB0aGUgaGFy
bmVzcyB3b3VsZCB0ZXN0IHRoYXQgYGRvY3VtZW50LmRvY3VtZW50RWxlbWVudGAgY29ycmVjdGx5
Ci0gIGltcGxlbWVudHMgYEhUTUxIdG1sRWxlbWVudGAsIGBIVE1MRWxlbWVudGAsIGBFbGVtZW50
YCwgYW5kIGBOb2RlYDsgYnV0Ci0gIGBkb2N1bWVudC5oZWFkYCB3b3VsZCBvbmx5IGJlIHRlc3Rl
ZCBmb3IgYEhUTUxIZWFkRWxlbWVudGAsIGFuZCBzbyBvbiBmb3IKLSAgZnVydGhlciBvYmplY3Rz
LgotCi0jIyMgYHRlc3QoKWAKLSAgUnVuIGFsbCB0ZXN0cy4gIFRoaXMgc2hvdWxkIGJlIGNhbGxl
ZCBhZnRlciB5b3UndmUgY2FsbGVkIGFsbCBvdGhlcgotICBtZXRob2RzIHRvIGFkZCBJRExzIGFu
ZCBvYmplY3RzLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZG9jcy93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2RvY3MvdzNjLWltcG9ydC5s
b2cKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDk3ZGJlZTNmNDJhLi4wMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy9kb2NzL3czYy1pbXBvcnQubG9nCisrKyAvZGV2L251bGwKQEAgLTEsMTkgKzAsMCBAQAot
VGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJl
cG9zaXRvcnkuCi1EbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4K
LUluc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgVzNDIENTUyBvciBXUFQgZ2l0
aHViOgotCWh0dHBzOi8vZ2l0aHViLmNvbS93M2MvY3Nzd2ctdGVzdAotCWh0dHBzOi8vZ2l0aHVi
LmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCi0KLVRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRz
L2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0Ci0KLURvIE5PVCBtb2RpZnkg
b3IgcmVtb3ZlIHRoaXMgZmlsZS4KLQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1Qcm9wZXJ0aWVzIHJlcXVp
cmluZyB2ZW5kb3IgcHJlZml4ZXM6Ci1Ob25lCi1Qcm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5nIHZl
bmRvciBwcmVmaXhlczoKLU5vbmUKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotTGlzdCBvZiBmaWxlczoKLS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9kb2Nz
L2FwaS5tZAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL2RvY3MvaWRsaGFybmVzcy5tZApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2FtcGxlLWVy
cm9yLXdvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBsZS1lcnJvci13b3JrZXIuanMKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDliZmUwYTZmMzQzLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9leGFtcGxl
cy9hcGlzYW1wbGUtZXJyb3Itd29ya2VyLmpzCisrKyAvZGV2L251bGwKQEAgLTEsMyArMCwwIEBA
Ci1pbXBvcnRTY3JpcHRzKCIuLi90ZXN0aGFybmVzcy5qcyIpOwotCi10aHJvdyBuZXcgRXJyb3Io
IlRoaXMgZmFpbHVyZSBpcyBleHBlY3RlZC4iKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBs
ZS13b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy9leGFtcGxlcy9hcGlzYW1wbGUtd29ya2VyLmpzCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCBiMWQwODYzMTRjYy4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2Ft
cGxlLXdvcmtlci5qcworKysgL2Rldi9udWxsCkBAIC0xLDM0ICswLDAgQEAKLWltcG9ydFNjcmlw
dHMoIi4uL3Rlc3RoYXJuZXNzLmpzIik7Ci0KLXRlc3QoCi0gICAgZnVuY3Rpb24odGVzdCkgewot
ICAgICAgICBhc3NlcnRfdHJ1ZSh0cnVlLCAiVHJ1ZSBpcyB0cnVlIik7Ci0gICAgfSwKLSAgICAi
V29ya2VyIHRlc3QgdGhhdCBjb21wbGV0ZXMgc3VjY2Vzc2Z1bGx5Iik7Ci0KLXRlc3QoCi0gICAg
ZnVuY3Rpb24odGVzdCkgewotICAgICAgICBhc3NlcnRfdHJ1ZShmYWxzZSwgIkZhaWxpbmcgdGVz
dCIpOwotICAgIH0sCi0gICAgIldvcmtlciB0ZXN0IHRoYXQgZmFpbHMgKCdGQUlMJykiKTsKLQot
YXN5bmNfdGVzdCgKLSAgICBmdW5jdGlvbih0ZXN0KSB7Ci0gICAgICAgIGFzc2VydF90cnVlKHRy
dWUsICJUcnVlIGlzIHRydWUiKTsKLSAgICB9LAotICAgICJXb3JrZXIgdGVzdCB0aGF0IHRpbWVz
IG91dCAoJ1RJTUVPVVQnKSIpOwotCi1hc3luY190ZXN0KCJXb3JrZXIgdGVzdCB0aGF0IGRvZXNu
J3QgcnVuICgnTk9UIFJVTicpIik7Ci0KLWFzeW5jX3Rlc3QoCi0gICAgZnVuY3Rpb24odGVzdCkg
ewotICAgICAgICBzZWxmLnNldFRpbWVvdXQoCi0gICAgICAgICAgICBmdW5jdGlvbigpIHsKLSAg
ICAgICAgICAgICAgICB0ZXN0LmRvbmUoKTsKLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAw
KTsKLSAgICB9LAotICAgICJXb3JrZXIgYXN5bmNfdGVzdCB0aGF0IGNvbXBsZXRlcyBzdWNjZXNz
ZnVsbHkiKTsKLQotLy8gQW4gZXhwbGljaXQgZG9uZSgpIGlzIHJlcXVpcmVkIGZvciBkZWRpY2F0
ZWQgYW5kIHNoYXJlZCB3ZWIgd29ya2Vycy4KLWRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2Fw
aXNhbXBsZS5odG0gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy9leGFtcGxlcy9hcGlzYW1wbGUuaHRtCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCA1MDRhMzQzYWNkYi4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2FtcGxlLmh0
bQorKysgL2Rldi9udWxsCkBAIC0xLDE3NSArMCwwIEBACi08IURPQ1RZUEUgSFRNTD4KLTxodG1s
PgotPGhlYWQ+Ci08dGl0bGU+U2FtcGxlIEhUTUw1IEFQSSBUZXN0czwvdGl0bGU+Ci08bWV0YSBu
YW1lPSJ0aW1lb3V0IiBjb250ZW50PSI2MDAwIj4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0ibG9h
ZF90ZXN0X2F0dHIuZG9uZSgpIj4KLTxoMT5TYW1wbGUgSFRNTDUgQVBJIFRlc3RzPC9oMT4KLTxk
aXYgaWQ9ImxvZyI+PC9kaXY+Ci08c2NyaXB0IHNyYz0iLi4vdGVzdGhhcm5lc3MuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdCBzcmM9Ii4uL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQ+Ci0gICAgc2V0dXBfcnVuID0gZmFsc2U7Ci0gICAgc2V0dXAoZnVuY3Rpb24oKSB7Ci0g
ICAgICAgICAgICBzZXR1cF9ydW4gPSB0cnVlOwotICAgICAgICAgIH0pOwotICAgIHRlc3QoZnVu
Y3Rpb24oKSB7YXNzZXJ0X3RydWUoc2V0dXBfcnVuKX0sICJTZXR1cCBmdW5jdGlvbiByYW4iKTsK
LQotICAgIC8vIFR3byBleGFtcGxlcyBmb3IgdGVzdGluZyBldmVudHMgZnJvbSBoYW5kbGVyIGFu
ZCBhdHRyaWJ1dGVzCi0gICAgdmFyIGxvYWRfdGVzdF9ldmVudCA9IGFzeW5jX3Rlc3QoIndpbmRv
dyBvbmxvYWQgZXZlbnQgZmlyZXMgd2hlbiBzZXQgZnJvbSB0aGUgaGFuZGxlciIpOwotCi0gICAg
ZnVuY3Rpb24gd2luZG93TG9hZCgpCi0gICAgewotICAgICAgICBsb2FkX3Rlc3RfZXZlbnQuZG9u
ZSgpOwotICAgIH0KLSAgICBvbl9ldmVudCh3aW5kb3csICJsb2FkIiwgd2luZG93TG9hZCk7Ci0K
LSAgICAvLyBzZWUgdGhlIGJvZHkgb25sb2FkIGJlbG93Ci0gICAgdmFyIGxvYWRfdGVzdF9hdHRy
ID0gYXN5bmNfdGVzdCgiYm9keSBlbGVtZW50IGZpcmVzIHRoZSBvbmxvYWQgZXZlbnQgc2V0IGZy
b20gdGhlIGF0dHJpYnV0ZSIpOwotPC9zY3JpcHQ+Ci08c2NyaXB0PgotICAgIGZ1bmN0aW9uIGJv
ZHlFbGVtZW50KCkKLSAgICB7Ci0gICAgICAgIGFzc2VydF9lcXVhbHMoZG9jdW1lbnQuYm9keSwg
ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImJvZHkiKVswXSk7Ci0gICAgfQotICAgIHRl
c3QoYm9keUVsZW1lbnQsICJkb2N1bWVudC5ib2R5IHNob3VsZCBiZSB0aGUgZmlyc3QgYm9keSBl
bGVtZW50IGluIHRoZSBkb2N1bWVudCIpOwotCi0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAg
ICAgYXNzZXJ0X2VxdWFscygxLDEpOwotICAgICAgICBhc3NlcnRfZXF1YWxzKE5hTiwgTmFOLCAi
TmFOIGNhc2UiKTsKLSAgICAgICAgYXNzZXJ0X2VxdWFscygwLCAwLCAiWmVybyBjYXNlIik7Ci0g
ICAgfSwgImFzc2VydF9lcXVhbHMgdGVzdHMiKQotCi0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAg
ICAgICAgYXNzZXJ0X2VxdWFscygtMCwgMCwgIlplcm8gY2FzZSIpOwotICAgIH0sICJhc3NlcnRf
ZXF1YWxzIHRlc3RzIGV4cGVjdGVkIHRvIGZhaWwiKQotCi0gICAgdGVzdChmdW5jdGlvbigpIHsK
LSAgICAgICAgYXNzZXJ0X25vdF9lcXVhbHMoe30sIHt9LCAib2JqZWN0IGNhc2UiKTsKLSAgICAg
ICAgYXNzZXJ0X25vdF9lcXVhbHMoLTAsIDAsICJaZXJvIGNhc2UiKTsKLSAgICB9LCAiYXNzZXJ0
X25vdF9lcXVhbHMgdGVzdHMiKQotCi0gICAgZnVuY3Rpb24gdGVzdEFzc2VydFBhc3MoKQotICAg
IHsKLSAgICAgICAgYXNzZXJ0X3RydWUodHJ1ZSk7Ci0gICAgfQotICAgIHRlc3QodGVzdEFzc2Vy
dFBhc3MsICJhc3NlcnRfdHJ1ZSBleHBlY3RlZCB0byBwYXNzIik7Ci0KLSAgICBmdW5jdGlvbiB0
ZXN0QXNzZXJ0RmFsc2UoKQotICAgIHsKLSAgICAgICAgYXNzZXJ0X3RydWUoZmFsc2UsICJmYWxz
ZSBzaG91bGQgbm90IGJlIHRydWUiKTsKLSAgICB9Ci0gICAgdGVzdCh0ZXN0QXNzZXJ0RmFsc2Us
ICJhc3NlcnRfdHJ1ZSBleHBlY3RlZCB0byBmYWlsIik7Ci0KLSAgICBmdW5jdGlvbiBiYXNpY0Fz
c2VydEFycmF5RXF1YWxzKCkKLSAgICB7Ci0gICAgICAgIGFzc2VydF9hcnJheV9lcXVhbHMoWzEs
IE5hTl0sIFsxLCBOYU5dLCAiWzEsIE5hTl0gaXMgZXF1YWwgdG8gWzEsIE5hTl0iKTsKLSAgICB9
Ci0gICAgdGVzdChiYXNpY0Fzc2VydEFycmF5RXF1YWxzLCAiYmFzaWMgYXNzZXJ0X2FycmF5X2Vx
dWFscyB0ZXN0Iik7Ci0KLSAgICBmdW5jdGlvbiBiYXNpY0Fzc2VydE9iamVjdEVxdWFscygpCi0g
ICAgewotICAgICAgICBhc3NlcnRfb2JqZWN0X2VxdWFscyhbMSwgMiwgWzEsIDJdXSwgeyAwOiAx
LCAxOiAyLCAyOiB7IDA6IDEsIDE6IDJ9IH0sICJhcnJheSBpcyBlcXVhbCB0byBvYmplY3QiKQot
ICAgIH0KLSAgICB0ZXN0KGJhc2ljQXNzZXJ0T2JqZWN0RXF1YWxzLCAiYmFzaWMgYXNzZXJ0X29i
amVjdF9lcXVhbHMgdGVzdCIpOwotCi0gICAgZnVuY3Rpb24gYmFzaWNBc3NlcnRBcHByb3hFcXVh
bHMoKQotICAgIHsKLSAgICAgICAgYXNzZXJ0X2FwcHJveF9lcXVhbHMoMTAsIDExLCAxLCAiMTAg
aXMgYXBwcm94aW1hdGVseSAoKy8tIDEpIDExIikKLSAgICB9Ci0gICAgdGVzdChiYXNpY0Fzc2Vy
dEFwcHJveEVxdWFscywgImJhc2ljIGFzc2VydF9hcHByb3hfZXF1YWxzIHRlc3QiKTsKLQotICAg
IGZ1bmN0aW9uIGJhc2ljQXNzZXJ0TGVzc1RoYW4oKQotICAgIHsKLSAgICAgICAgYXNzZXJ0X2xl
c3NfdGhhbigxMCwgMTEsICIxMCBpcyBsZXNzIHRoYW4gMTEiKQotICAgIH0KLSAgICB0ZXN0KGJh
c2ljQXNzZXJ0QXBwcm94RXF1YWxzLCAiYmFzaWMgYXNzZXJ0X2xlc3NfdGhhbiB0ZXN0Iik7Ci0K
LSAgICBmdW5jdGlvbiBiYXNpY0Fzc2VydEdyZWF0ZXJUaGFuKCkKLSAgICB7Ci0gICAgICAgIGFz
c2VydF9ncmVhdGVyX3RoYW4oMTAsIDExLCAiMTAgaXMgbm90IGdyZWF0ZXIgdGhhbiAxMSIpOwot
ICAgIH0KLSAgICB0ZXN0KGJhc2ljQXNzZXJ0R3JlYXRlclRoYW4sICJhc3NlcnRfZ3JlYXRlcl90
aGFuIGV4cGVjdGVkIHRvIGZhaWwiKTsKLQotICAgIGZ1bmN0aW9uIGJhc2ljQXNzZXJ0R3JlYXRl
clRoYW5FcXVhbCgpCi0gICAgewotICAgICAgICBhc3NlcnRfZ3JlYXRlcl90aGFuX2VxdWFsKDEw
LCAxMCwgIjEwIGlzIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAxMCIpCi0gICAgfQotICAgIHRl
c3QoYmFzaWNBc3NlcnRHcmVhdGVyVGhhbkVxdWFsLCAiYmFzaWMgYXNzZXJ0X2dyZWF0ZXJfdGhh
bl9lcXVhbCB0ZXN0Iik7Ci0KLSAgICBmdW5jdGlvbiBiYXNpY0Fzc2VydExlc3NUaGFuRXF1YWwo
KQotICAgIHsKLSAgICAgICAgYXNzZXJ0X2dyZWF0ZXJfdGhhbl9lcXVhbCgnMTAnLCAxMCwgIicx
MCcgaXMgbm90IGEgbnVtYmVyIikKLSAgICB9Ci0gICAgdGVzdChiYXNpY0Fzc2VydExlc3NUaGFu
RXF1YWwsICJhc3NlcnRfbGVzc190aGFuX2VxdWFsIGV4cGVjdGVkIHRvIGZhaWwiKTsKLQotICAg
IGZ1bmN0aW9uIHRlc3RBc3NlcnRJbmhlcml0cygpIHsKLSAgICAgICAgdmFyIEEgPSBmdW5jdGlv
bigpe3RoaXMuYSA9ICJhIn0KLSAgICAgICAgQS5wcm90b3R5cGUgPSB7YjoiYiJ9Ci0gICAgICAg
IHZhciBhID0gbmV3IEEoKTsKLSAgICAgICAgYXNzZXJ0X2V4aXN0cyhhLCAiYSIpOwotICAgICAg
ICBhc3NlcnRfbm90X2V4aXN0cyhhLCAiYiIpOwotICAgICAgICBhc3NlcnRfaW5oZXJpdHMoYSwg
ImIiKTsKLSAgICB9Ci0gICAgdGVzdCh0ZXN0QXNzZXJ0SW5oZXJpdHMsICJ0ZXN0IGZvciBhc3Nl
cnRbX25vdF1fZXhpc3RzIGFuZCBpbnNlcnRfaW5oZXJpdHMiKQotCi0gICAgdGVzdChmdW5jdGlv
bigpCi0gICAgewotICAgICAgICB2YXIgYSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImEiKQot
ICAgICAgICB2YXIgYiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImIiKQotICAgICAgICBhc3Nl
cnRfdGhyb3dzKCJOT1RfRk9VTkRfRVJSIiwgZnVuY3Rpb24oKXthLnJlbW92ZUNoaWxkKGIpfSk7
Ci0gICAgfSwgIlRlc3QgdGhyb3cgRE9NIGV4Y2VwdGlvbiIpCi0KLSAgICB0ZXN0KGZ1bmN0aW9u
KCkKLSAgICB7Ci0gICAgICAgIHZhciBhID0gZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoImEiKQot
ICAgICAgICB2YXIgYiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImIiKQotICAgICAgICBhc3Nl
cnRfdGhyb3dzKCJOT1RfRk9VTkRfRVJSIiwgZnVuY3Rpb24oKXthLmFwcGVuZENoaWxkKGIpfSk7
Ci0gICAgfSwgIlRlc3QgdGhyb3cgRE9NIGV4Y2VwdGlvbiBleHBlY3RlZCB0byBmYWlsIikKLQot
ICAgIHRlc3QoZnVuY3Rpb24oKQotICAgIHsKLSAgICAgICAgdmFyIGUgPSB7Y29kZTowLCBuYW1l
OiJURVNUX0VSUiIsIFRFU1RfRVJSOjB9Ci0gICAgICAgIGFzc2VydF90aHJvd3MoIlRFU1RfRVJS
IiwgZnVuY3Rpb24oKSB7dGhyb3cgZX0pOwotICAgIH0sICJUZXN0IGFzc2VydF90aHJvd3Mgd2l0
aCBub24tRE9NLWV4Y2VwdGlvbiBleHBlY3RlZCB0byBGYWlsIik7Ci0KLSAgICB2YXIgdCA9IGFz
eW5jX3Rlc3QoIlRlc3Qgc3RlcF9mdW5jIikKLSAgICBzZXRUaW1lb3V0KAotICAgICAgdC5zdGVw
X2Z1bmMoCi0gICAgICAgIGZ1bmN0aW9uICgpIHsKLSAgICAgICAgICBhc3NlcnRfdHJ1ZSh0cnVl
KTsgdC5kb25lKCk7Ci0gICAgICAgIH0pLCAwKTsKLQotICAgIGFzeW5jX3Rlc3QoZnVuY3Rpb24o
dCkgewotICAgICAgICBzZXRUaW1lb3V0KHQuc3RlcF9mdW5jKGZ1bmN0aW9uICgpe2Fzc2VydF90
cnVlKHRydWUpOyB0LmRvbmUoKTt9KSwgMCk7Ci0gICAgfSwgIlRlc3QgYXN5bmMgdGVzdCB3aXRo
IGNhbGxiYWNrIik7Ci0KLSAgICBhc3luY190ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICBzZXRU
aW1lb3V0KHRoaXMuc3RlcF9mdW5jKGZ1bmN0aW9uICgpe2Fzc2VydF90cnVlKHRydWUpOyB0aGlz
LmRvbmUoKTt9KSwgMCk7Ci0gICAgfSwgIlRlc3QgYXN5bmMgdGVzdCB3aXRoIGNhbGxiYWNrIGFu
ZCBgdGhpc2Agb2JqLiIpOwotCi0gICAgYXN5bmNfdGVzdCgidGVzdCBzaG91bGQgdGltZW91dCAo
ZmFpbCkgd2l0aCB0aGUgZGVmYXVsdCBvZiAyIHNlY29uZHMiKS5zdGVwKGZ1bmN0aW9uKCl7fSk7
Ci0KLSAgICBhc3luY190ZXN0KCJ0ZXN0IHNob3VsZCB0aW1lb3V0IChmYWlsKSB3aXRoIGEgY3Vz
dG9tIHNldCB0aW1lb3V0IHZhbHVlIG9mIDEgc2Vjb25kIiwKLSAgICAgICAgICAgICAgIHt0aW1l
b3V0OjEwMDB9KS5zdGVwKGZ1bmN0aW9uKCl7fSk7Ci0KLSAgICBhc3luY190ZXN0KCJhc3luYyB0
ZXN0IHRoYXQgaXMgbmV2ZXIgc3RhcnRlZCwgc2hvdWxkIGhhdmUgc3RhdHVzIE5vdCBSdW4iLCB7
dGltZW91dDoxMDAwfSk7Ci0KLQotICAgIHRlc3QoZnVuY3Rpb24odCkgewotICAgICAgICAgICAg
IHdpbmRvdy5nbG9iYWwgPSAxOwotICAgICAgICAgICAgIHQuYWRkX2NsZWFudXAoZnVuY3Rpb24o
KSB7ZGVsZXRlIHdpbmRvdy5nbG9iYWx9KTsKLSAgICAgICAgICAgICBhc3NlcnRfZXF1YWxzKHdp
bmRvdy5nbG9iYWwsIDEpOwotICAgICAgICAgfSwKLSAgICAgICAgICJUZXN0IHRoYXQgZGVmaW5l
cyBhIGdsb2JhbCBhbmQgY2xlYW5zIGl0IHVwIik7Ci0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkge2Fz
c2VydF9lcXVhbHMod2luZG93Lmdsb2JhbCwgdW5kZWZpbmVkKX0sCi0gICAgICAgICAiVGVzdCB0
aGF0IGNsZWFudXAgaGFuZGxlcnMgZnJvbSBwcmV2aW91cyB0ZXN0IHJhbiIpOwotCi08L3Njcmlw
dD4KLTwvYm9keT4KLTwvaHRtbD4KLQotCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBsZTEw
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy9leGFtcGxlcy9hcGlzYW1wbGUxMC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCA2OTgxMGZlMTZjZi4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2FtcGxlMTAuaHRt
bAorKysgL2Rldi9udWxsCkBAIC0xLDExOSArMCwwIEBACi08IURPQ1RZUEUgSFRNTD4KLTxodG1s
PgotPGhlYWQ+Ci08dGl0bGU+QXN5bmMgVGVzdHMgYW5kIFByb21pc2VzPC90aXRsZT4KLTwvaGVh
ZD4KLTxib2R5PgotPGgxPkFzeW5jIFRlc3RzIGFuZCBQcm9taXNlczwvaDE+Ci08cD5UaGlzIHRl
c3QgYXNzdW1lcyBFQ01BU2NyaXB0IDYgUHJvbWlzZSBzdXBwb3J0LiBTb21lIGZhaWx1cmVzIGFy
ZSBleHBlY3RlZC48L3A+Ci08ZGl2IGlkPSJsb2ciPjwvZGl2PgotPHNjcmlwdCBzcmM9Ii4uL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotCi10ZXN0KGZ1bmN0aW9uKCkgewotICB2YXIgcCA9
IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkge30pOwotICBhc3NlcnRfdHJ1
ZSgndGhlbicgaW4gcCk7Ci0gIGFzc2VydF9lcXVhbHModHlwZW9mIFByb21pc2UucmVzb2x2ZSwg
J2Z1bmN0aW9uJyk7Ci0gIGFzc2VydF9lcXVhbHModHlwZW9mIFByb21pc2UucmVqZWN0LCAnZnVu
Y3Rpb24nKTsKLX0sICJQcm9taXNlcyBhcmUgc3VwcG9ydGVkIGluIHlvdXIgYnJvd3NlciIpOwot
Ci0oZnVuY3Rpb24oKSB7Ci0gIHZhciB0ID0gYXN5bmNfdGVzdCgiUHJvbWlzZSByZXNvbHV0aW9u
Iik7Ci0gIHQuc3RlcChmdW5jdGlvbigpIHsKLSAgICBQcm9taXNlLnJlc29sdmUoJ3gnKS50aGVu
KAotICAgICAgdC5zdGVwX2Z1bmMoZnVuY3Rpb24odmFsdWUpIHsKLSAgICAgICAgYXNzZXJ0X2Vx
dWFscyh2YWx1ZSwgJ3gnKTsKLSAgICAgICAgdC5kb25lKCk7Ci0gICAgICB9KSwKLSAgICAgIHQu
dW5yZWFjaGVkX2Z1bmMoJ1Byb21pc2Ugc2hvdWxkIG5vdCByZWplY3QnKQotICAgICk7Ci0gIH0p
OwotfSgpKTsKLQotKGZ1bmN0aW9uKCkgewotICB2YXIgdCA9IGFzeW5jX3Rlc3QoIlByb21pc2Ug
cmVqZWN0aW9uIik7Ci0gIHQuc3RlcChmdW5jdGlvbigpIHsKLSAgICBQcm9taXNlLnJlamVjdChF
cnJvcignZmFpbCcpKS50aGVuKAotICAgICAgdC51bnJlYWNoZWRfZnVuYygnUHJvbWlzZSBzaG91
bGQgcmVqZWN0JyksCi0gICAgICB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKLSAgICAg
ICAgYXNzZXJ0X3RydWUocmVhc29uIGluc3RhbmNlb2YgRXJyb3IpOwotICAgICAgICBhc3NlcnRf
ZXF1YWxzKHJlYXNvbi5tZXNzYWdlLCAnZmFpbCcpOwotICAgICAgICB0LmRvbmUoKTsKLSAgICAg
IH0pCi0gICAgKTsKLSAgfSk7Ci19KCkpOwotCi0oZnVuY3Rpb24oKSB7Ci0gIHZhciB0ID0gYXN5
bmNfdGVzdCgiUHJvbWlzZXMgcmVzb2x1dGlvbiBjaGFpbmluZyIpOwotICB0LnN0ZXAoZnVuY3Rp
b24oKSB7Ci0gICAgdmFyIHJlc29sdXRpb25zID0gW107Ci0gICAgUHJvbWlzZS5yZXNvbHZlKCdh
JykudGhlbigKLSAgICAgIHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHZhbHVlKSB7Ci0gICAgICAgIHJl
c29sdXRpb25zLnB1c2godmFsdWUpOwotICAgICAgICByZXR1cm4gJ2InOwotICAgICAgfSkKLSAg
ICApLnRoZW4oCi0gICAgICB0LnN0ZXBfZnVuYyhmdW5jdGlvbih2YWx1ZSkgewotICAgICAgICBy
ZXNvbHV0aW9ucy5wdXNoKHZhbHVlKTsKLSAgICAgICAgcmV0dXJuICdjJzsKLSAgICAgIH0pCi0g
ICAgKS50aGVuKAotICAgICAgdC5zdGVwX2Z1bmMoZnVuY3Rpb24odmFsdWUpIHsKLSAgICAgICAg
cmVzb2x1dGlvbnMucHVzaCh2YWx1ZSk7Ci0KLSAgICAgICAgYXNzZXJ0X2FycmF5X2VxdWFscyhy
ZXNvbHV0aW9ucywgWydhJywgJ2InLCAnYyddKTsKLSAgICAgICAgdC5kb25lKCk7Ci0gICAgICB9
KQotICAgICkuY2F0Y2goCi0gICAgICB0LnVucmVhY2hlZF9mdW5jKCdwcm9taXNlIHNob3VsZCBu
b3QgaGF2ZSByZWplY3RlZCcpCi0gICAgKTsKLSAgfSk7Ci19KCkpOwotCi0oZnVuY3Rpb24oKSB7
Ci0gIHZhciB0ID0gYXN5bmNfdGVzdCgiVXNlIG9mIHN0ZXBfZnVuYyB3aXRoIFByb21pc2VzIik7
Ci0gIHQuc3RlcChmdW5jdGlvbigpIHsKLSAgICB2YXIgcmVzb2x1dGlvbnMgPSBbXTsKLSAgICBQ
cm9taXNlLnJlc29sdmUoJ3gnKS50aGVuKAotICAgICAgdC5zdGVwX2Z1bmNfZG9uZSgpLAotICAg
ICAgdC51bnJlYWNoZWRfZnVuYygnUHJvbWlzZSBzaG91bGQgbm90IGhhdmUgcmVqZWN0ZWQnKQot
ICAgICk7Ci0gIH0pOwotfSgpKTsKLQotKGZ1bmN0aW9uKCkgewotICB2YXIgdCA9IGFzeW5jX3Rl
c3QoIlByb21pc2VzIGFuZCB0ZXN0IGFzc2VydGlvbiBmYWlsdXJlcyAoc2hvdWxkIGZhaWwpIik7
Ci0gIHQuc3RlcChmdW5jdGlvbigpIHsKLSAgICB2YXIgcmVzb2x1dGlvbnMgPSBbXTsKLSAgICBQ
cm9taXNlLnJlc29sdmUoJ3gnKS50aGVuKAotICAgICAgdC5zdGVwX2Z1bmMoZnVuY3Rpb24odmFs
dWUpIHsKLSAgICAgICAgYXNzZXJ0X3RydWUoZmFsc2UsICdUaGlzIGZhaWx1cmUgaXMgZXhwZWN0
ZWQnKTsKLSAgICAgIH0pCi0gICAgKS50aGVuKAotICAgICAgdC51bnJlYWNoZWRfZnVuYygnUHJv
bWlzZSBzaG91bGQgbm90IGhhdmUgcmVzb2x2ZWQnKQotICAgICkuY2F0Y2goCi0gICAgICB0LnVu
cmVhY2hlZF9mdW5jKCdQcm9taXNlIHNob3VsZCBub3QgaGF2ZSByZWplY3RlZCcpCi0gICAgKTsK
LSAgfSk7Ci19KCkpOwotCi0oZnVuY3Rpb24oKSB7Ci0gIHZhciB0ID0gYXN5bmNfdGVzdCgiVXNl
IG9mIHVucmVhY2hlZF9mdW5jIHdpdGggUHJvbWlzZXMgKHNob3VsZCBmYWlsKSIpOwotICB0LnN0
ZXAoZnVuY3Rpb24oKSB7Ci0gICAgdmFyIHJlc29sdXRpb25zID0gW107Ci0gICAgdmFyIHI7Ci0g
ICAgdmFyIHAgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKLSAgICAg
IC8vIFJlamVjdCBpbnN0ZWFkIG9mIHJlc29sdmUsIHRvIGRlbW9uc3RyYXRlIGZhaWx1cmUuCi0g
ICAgICByZWplY3QoMTIzKTsKLSAgICB9KTsKLSAgICBwLnRoZW4oCi0gICAgICBmdW5jdGlvbih2
YWx1ZSkgewotICAgICAgICBhc3NlcnRfZXF1YWxzKHZhbHVlLCAxMjMsICdUaGlzIHNob3VsZCBu
b3QgYWN0dWFsbHkgaGFwcGVuJyk7Ci0gICAgICB9LAotICAgICAgdC51bnJlYWNoZWRfZnVuYygn
VGhpcyBmYWlsdXJlIGlzIGV4cGVjdGVkJykKLSAgICApOwotICB9KTsKLX0oKSk7Ci08L3Njcmlw
dD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBsZTExLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy9hcGlzYW1wbGUx
MS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzMmU4OTg0YzNmMS4uMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2FtcGxlMTEuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDk5
ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLTx0aXRsZT5FeGFtcGxl
IHdpdGggaWZyYW1lIHRoYXQgbm90aWZpZXMgY29udGFpbmluZyBkb2N1bWVudCB2aWEgY2FsbGJh
Y2tzPC90aXRsZT4KLTxzY3JpcHQgc3JjPSIuLi90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0iLi4vdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPC9oZWFkPgot
PGJvZHkgb25sb2FkPSJzdGFydF90ZXN0X2luX2lmcmFtZSgpIj4KLTxoMT5DYWxsYmFja3MgRnJv
bSBUZXN0cyBSdW5uaW5nIEluIEFuIElGUkFNRTwvaDE+Ci08cD5BIHRlc3QgaXMgcnVuIGluc2lk
ZSBhbiA8dHQ+aWZyYW1lPC90dD4gd2l0aCBhIHNhbWUgb3JpZ2luIGRvY3VtZW50LiBUaGUKLWNv
bnRhaW5pbmcgZG9jdW1lbnQgc2hvdWxkIHJlY2VpdmUgY2FsbGJhY2tzIGFzIHRoZSB0ZXN0cyBw
cm9ncmVzcyBpbnNpZGUgdGhlCi08dHQ+aWZyYW1lPC90dD4uIEEgc2luZ2xlIHBhc3NpbmcgdGVz
dCBpcyBleHBlY3RlZCBpbiB0aGUgc3VtbWFyeSBiZWxvdy4KLTxkaXYgaWQ9ImxvZyI+PC9kaXY+
Ci0KLTxzY3JpcHQ+Ci12YXIgY2FsbGJhY2tzID0gW107Ci12YXIgU1RBUlQgPSAxCi12YXIgVEVT
VF9TVEFURSA9IDIKLXZhciBSRVNVTFQgPSAzCi12YXIgQ09NUExFVElPTiA9IDQKLXZhciB0ZXN0
X2NvbXBsZXRlID0gZmFsc2U7Ci0KLXNldHVwKHtleHBsaWNpdF9kb25lOiB0cnVlfSk7Ci0KLS8v
IFRoZSBmb2xsb3dpbmcgY2FsbGJhY2tzIGFyZSBjYWxsZWQgZm9yIHRlc3RzIGluIHRoaXMgZG9j
dW1lbnQgYXMgd2VsbCBhcyB0aGUKLS8vIHRlc3RzIGluIHRoZSBJRlJBTUUuIEN1cnJlbnRseSwg
Y2FsbGJhY2tzIGludm9rZWQgZnJvbSB0aGlzIGRvY3VtZW50IGFuZCBhbnkKLS8vIGNoaWxkIGRv
Y3VtZW50IGFyZSBpbmRpc3Rpbmd1aXNoYWJsZSBmcm9tIGVhY2ggb3RoZXIuCi0KLWZ1bmN0aW9u
IHN0YXJ0X2NhbGxiYWNrKHByb3BlcnRpZXMpIHsKLSAgICBjYWxsYmFja3MucHVzaChTVEFSVCk7
Ci19Ci0KLWZ1bmN0aW9uIHRlc3Rfc3RhdGVfY2FsbGJhY2sodGVzdCkgewotICAgIGNhbGxiYWNr
cy5wdXNoKFRFU1RfU1RBVEUpOwotfQotCi1mdW5jdGlvbiByZXN1bHRfY2FsbGJhY2sodGVzdCkg
ewotICAgIGNhbGxiYWNrcy5wdXNoKFJFU1VMVCk7Ci19Ci0KLWZ1bmN0aW9uIGNvbXBsZXRpb25f
Y2FsbGJhY2sodGVzdHMsIHN0YXR1cykgewotICAgIGlmICh0ZXN0X2NvbXBsZXRlKSB7Ci0gICAg
ICAgIHJldHVybjsKLSAgICB9Ci0gICAgdGVzdF9jb21wbGV0ZSA9IHRydWU7Ci0gICAgY2FsbGJh
Y2tzLnB1c2goQ09NUExFVElPTik7Ci0gICAgdmVyaWZ5X3JlY2VpdmVkX2NhbGxiYWNrcygpOwot
ICAgIGRvbmUoKTsKLX0KLQotZnVuY3Rpb24gdmVyaWZ5X3JlY2VpdmVkX2NhbGxiYWNrcygpIHsK
LSAgICB2YXIgY29weV9vZl9jYWxsYmFja3MgPSBjYWxsYmFja3Muc2xpY2UoMCk7Ci0KLSAgICAv
LyBOb3RlIHRoYXQgeW91IGNhbid0IHJ1biB0ZXN0IGFzc2VydGlvbnMgZGlyZWN0bHkgaW4gYSBj
YWxsYmFjayBldmVuIGlmCi0gICAgLy8gdGhpcyBpcyBhIGZpbGUgdGVzdC4gV2hlbiB0aGUgY2Fs
bGJhY2sgaXMgaW52b2tlZCBmcm9tIGEgc2FtZS1vcmlnaW4gY2hpbGQKLSAgICAvLyBwYWdlLCB0
aGUgY2FsbHN0YWNrIHJlYWNoZXMgaW50byB0aGUgY2FsbGluZyBjaGlsZCBkb2N1bWVudC4gQW55
Ci0gICAgLy8gZXhjZXB0aW9uIHRocm93biBpbiBhIGNhbGxiYWNrIHdpbGwgYmUgaGFuZGxlZCBi
eSB0aGUgY2hpbGQgcmF0aGVyIHRoYW4KLSAgICAvLyB0aGlzIGRvY3VtZW50LgotICAgIHRlc3Qo
Ci0gICAgICAgIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgLy8gY2FsbGJhY2tzIGxpc3Qgc2hv
dWxkIGxvb2sgbGlrZToKLSAgICAgICAgICAgIC8vICAgICBTVEFSVCAxKihURVNUX1NUQVRFKSBS
RVNVTFQgQ09NUExFVElPTgotICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhjb3B5X29mX2NhbGxi
YWNrcy5zaGlmdCgpLCBTVEFSVCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIlRoZSBmaXJz
dCByZWNlaXZlZCBjYWxsYmFjayBzaG91bGQgYmUgJ3N0YXJ0X2NhbGxiYWNrJy4iKTsKLSAgICAg
ICAgICAgIGFzc2VydF9lcXVhbHMoY29weV9vZl9jYWxsYmFja3Muc2hpZnQoKSwgVEVTVF9TVEFU
RSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIid0ZXN0X3N0YXRlX2NhbGxiYWNrJyBzaG91
bGQgYmUgcmVjZWl2ZWQgYmVmb3JlIGFueSAiICsKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
InJlc3VsdCBvciBjb21wbGV0aW9uIGNhbGxiYWNrcy4iKTsKLSAgICAgICAgICAgIHdoaWxlKGNv
cHlfb2ZfY2FsbGJhY2tzLmxlbmd0aCA+IDApIHsKLSAgICAgICAgICAgICAgICB2YXIgY2FsbGJh
Y2sgPSBjb3B5X29mX2NhbGxiYWNrcy5zaGlmdCgpOwotICAgICAgICAgICAgICAgIGlmIChjYWxs
YmFjayAhPSBURVNUX1NUQVRFKSB7Ci0gICAgICAgICAgICAgICAgICAgIGNvcHlfb2ZfY2FsbGJh
Y2tzLnVuc2hpZnQoY2FsbGJhY2spOwotICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAg
ICAgICAgICAgICB9Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBhc3NlcnRfZXF1YWxzKGNv
cHlfb2ZfY2FsbGJhY2tzLnNoaWZ0KCksIFJFU1VMVCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgIid0ZXN0X3N0YXRlX2NhbGxiYWNrJyBzaG91bGQgYmUgZm9sbG93ZWQgYnkgJ3Jlc3VsdF9j
YWxsYmFjaycuIik7Ci0gICAgICAgICAgICBhc3NlcnRfZXF1YWxzKGNvcHlfb2ZfY2FsbGJhY2tz
LnNoaWZ0KCksIENPTVBMRVRJT04sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICJGaW5hbCAn
cmVzdWx0X2NhbGxiYWNrJyBzaG91bGQgYmUgZm9sbG93ZWQgYnkgJ2NvbXBsZXRpb25fY2FsbGJh
Y2snLiIpOwotICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhjb3B5X29mX2NhbGxiYWNrcy5sZW5n
dGgsIDAsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICInY29tcGxldGlvbl9jYWxsYmFjaycg
c2hvdWxkIGJlIHRoZSBsYXN0IGNhbGxiYWNrLiIpOwotICAgICAgICB9KTsKLX0KLQotZnVuY3Rp
b24gc3RhcnRfdGVzdF9pbl9pZnJhbWUoKSB7Ci0gICAgLy8gVGhpcyBkb2N1bWVudCBpcyBnb2lu
ZyB0byBjbGVhciBhbnkgcmVjZWl2ZWQgY2FsbGJhY2tzIGFuZCBtYWludGFpbgotICAgIC8vIHJh
ZGlvIHNpbGVuY2UgdW50aWwgdGhlIHRlc3QgaW4gdGhlIGlmcmFtZSBydW5zIHRvIGNvbXBsZXRp
b24uIFRoZQotICAgIC8vIGNvbXBsZXRpb25fY2FsbGJhY2soKSB3aWxsIHRoZW4gY29tcGxldGUg
dGhlIHRlc3Rpbmcgb24gdGhpcyBkb2N1bWVudC4KLSAgICBjYWxsYmFja3MubGVuZ3RoID0gMDsK
LSAgICB2YXIgaWZyYW1lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7Ci0gICAg
Ly8gYXBpc2FtcGxlNi5odG1sIGhhcyBhIHNpbmdsZSB0ZXN0LgotICAgIGlmcmFtZS5zcmMgPSAi
YXBpc2FtcGxlNi5odG1sIjsKLSAgICBpZnJhbWUuc3R5bGUuc2V0UHJvcGVydHkoImRpc3BsYXki
LCAibm9uZSIpOwotICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXQiKS5hcHBlbmRD
aGlsZChpZnJhbWUpOwotfQotPC9zY3JpcHQ+Ci0KLTxkaXYgaWQ9InRhcmdldCI+Ci08L2Rpdj4K
LTwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBsZTEyLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy9hcGlz
YW1wbGUxMi5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiMzlhNjFhNmYyOS4u
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2FtcGxlMTIuaHRtbAorKysgL2Rldi9udWxsCkBA
IC0xLDY3ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLTx0aXRsZT5F
eGFtcGxlIHdpdGggaWZyYW1lIHRoYXQgbm90aWZpZXMgY29udGFpbmluZyBkb2N1bWVudCB2aWEg
Y3Jvc3MgZG9jdW1lbnQgbWVzc2FnaW5nPC90aXRsZT4KLTxzY3JpcHQgc3JjPSIuLi90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08aDE+Tm90aWZpY2F0aW9ucyBGcm9tIFRlc3Rz
IFJ1bm5pbmcgSW4gQW4gSUZSQU1FPC9oMT4KLTxwPkEgdGVzdCBpcyBydW4gaW5zaWRlIGFuIDx0
dD5pZnJhbWU8L3R0PiB3aXRoIGEgc2FtZSBvcmlnaW4gZG9jdW1lbnQuIFRoZQotY29udGFpbmlu
ZyBkb2N1bWVudCBzaG91bGQgcmVjZWl2ZSBtZXNzYWdlcyB2aWEgPHR0PnBvc3RNZXNzYWdlPC90
dD4vCi08dHQ+b25tZXNzYWdlPC90dD4gYXMgdGhlIHRlc3RzIHByb2dyZXNzIGluc2lkZSB0aGUg
PHR0PmlmcmFtZTwvdHQ+LiBBIHNpbmdsZQotcGFzc2luZyB0ZXN0IGlzIGV4cGVjdGVkIGluIHRo
ZSBzdW1tYXJ5IGJlbG93LgotPC9wPgotPGRpdiBpZD0ibG9nIj48L2Rpdj4KLQotPHNjcmlwdD4K
LXZhciB0ID0gYXN5bmNfdGVzdCgiQ29udGFpbmluZyBkb2N1bWVudCByZWNlaXZlcyBtZXNzYWdl
cyIpOwotdmFyIHN0YXJ0X3JlY2VpdmVkID0gZmFsc2U7Ci12YXIgcmVzdWx0X3JlY2VpdmVkID0g
ZmFsc2U7Ci12YXIgY29tcGxldGlvbl9yZWNlaXZlZCA9IGZhbHNlOwotCi0vLyBUaGVzZSBhcmUg
dGhlIG1lc3NhZ2VzIHRoYXQgYXJlIGV4cGVjdGVkIHRvIGJlIHNlZW4gd2hpbGUgcnVubmluZyB0
aGUgdGVzdHMKLS8vIGluIHRoZSBJRlJBTUUuCi12YXIgZXhwZWN0ZWRfbWVzc2FnZXMgPSBbCi0g
ICAgdC5zdGVwX2Z1bmMoCi0gICAgICAgIGZ1bmN0aW9uKG1lc3NhZ2UpIHsKLSAgICAgICAgICAg
IGFzc2VydF9lcXVhbHMobWVzc2FnZS5kYXRhLnR5cGUsICJzdGFydCIpOwotICAgICAgICAgICAg
YXNzZXJ0X293bl9wcm9wZXJ0eShtZXNzYWdlLmRhdGEsICJwcm9wZXJ0aWVzIik7Ci0gICAgICAg
IH0pLAotCi0gICAgdC5zdGVwX2Z1bmMoCi0gICAgICAgIGZ1bmN0aW9uKG1lc3NhZ2UpIHsKLSAg
ICAgICAgICAgIGFzc2VydF9lcXVhbHMobWVzc2FnZS5kYXRhLnR5cGUsICJ0ZXN0X3N0YXRlIik7
Ci0gICAgICAgICAgICBhc3NlcnRfZXF1YWxzKG1lc3NhZ2UuZGF0YS50ZXN0LnN0YXR1cywgbWVz
c2FnZS5kYXRhLnRlc3QuTk9UUlVOKTsKLSAgICAgICAgfSksCi0KLSAgICB0LnN0ZXBfZnVuYygK
LSAgICAgICAgZnVuY3Rpb24obWVzc2FnZSkgewotICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyht
ZXNzYWdlLmRhdGEudHlwZSwgInJlc3VsdCIpOwotICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyht
ZXNzYWdlLmRhdGEudGVzdC5zdGF0dXMsIG1lc3NhZ2UuZGF0YS50ZXN0LlBBU1MpOwotICAgICAg
ICB9KSwKLQotICAgIHQuc3RlcF9mdW5jKAotICAgICAgICBmdW5jdGlvbihtZXNzYWdlKSB7Ci0g
ICAgICAgICAgICBhc3NlcnRfZXF1YWxzKG1lc3NhZ2UuZGF0YS50eXBlLCAiY29tcGxldGUiKTsK
LSAgICAgICAgICAgIGFzc2VydF9lcXVhbHMobWVzc2FnZS5kYXRhLnRlc3RzLmxlbmd0aCwgMSk7
Ci0gICAgICAgICAgICBhc3NlcnRfZXF1YWxzKG1lc3NhZ2UuZGF0YS50ZXN0c1swXS5zdGF0dXMs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UuZGF0YS50ZXN0c1swXS5QQVNTKTsK
LSAgICAgICAgICAgIGFzc2VydF9lcXVhbHMobWVzc2FnZS5kYXRhLnN0YXR1cy5zdGF0dXMsIG1l
c3NhZ2UuZGF0YS5zdGF0dXMuT0spOwotICAgICAgICAgICAgdC5kb25lKCk7Ci0gICAgICAgIH0p
LAotCi0gICAgdC51bnJlYWNoZWRfZnVuYygiVG9vIG1hbnkgbWVzc2FnZXMgcmVjZWl2ZWQiKQot
XTsKLQotb25fZXZlbnQod2luZG93LAotICAgICAgICAgIm1lc3NhZ2UiLAotICAgICAgICAgZnVu
Y3Rpb24obWVzc2FnZSkgewotICAgICAgICAgICAgIHZhciBoYW5kbGVyID0gZXhwZWN0ZWRfbWVz
c2FnZXMuc2hpZnQoKTsKLSAgICAgICAgICAgICBoYW5kbGVyKG1lc3NhZ2UpOwotICAgICAgICAg
fSk7Ci08L3NjcmlwdD4KLTxpZnJhbWUgc3JjPSJhcGlzYW1wbGU2Lmh0bWwiIHN0eWxlPSJkaXNw
bGF5Om5vbmUiPgotICA8IS0tICBhcGlzYW1wbGU2IGltcGxlbWVudHMgYSBmaWxlX2lzX3Rlc3Qg
dGVzdC4gIC0tPgotPC9pZnJhbWU+Ci08L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy9hcGlzYW1w
bGUxMy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2FtcGxlMTMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggZjZjZjBlZWM4MzEuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBsZTEz
Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxMzIgKzAsMCBAQAotPCFET0NUWVBFIEhUTUw+Ci08
aHRtbD4KLTxoZWFkPgotPHRpdGxlPlByb21pc2UgVGVzdHM8L3RpdGxlPgotPC9oZWFkPgotPGJv
ZHk+Ci08aDE+UHJvbWlzZSBUZXN0czwvaDE+Ci08cD5UaGlzIHRlc3QgZGVtb25zdHJhdGVzIHRo
ZSB1c2Ugb2YgPHR0PnByb21pc2VfdGVzdDwvdHQ+LiBBc3N1bWVzIEVDTUFTY3JpcHQgNgotUHJv
bWlzZSBzdXBwb3J0LiBTb21lIGZhaWx1cmVzIGFyZSBleHBlY3RlZC48L3A+Ci08ZGl2IGlkPSJs
b2ciPjwvZGl2PgotPHNjcmlwdCBzcmM9Ii4uL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSIuLi90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0Pgot
dGVzdCgKLSAgICBmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIHAgPSBuZXcgUHJvbWlzZShmdW5j
dGlvbihyZXNvbHZlLCByZWplY3Qpe30pOwotICAgICAgICBhc3NlcnRfdHJ1ZSgidGhlbiIgaW4g
cCk7Ci0gICAgICAgIGFzc2VydF9lcXVhbHModHlwZW9mIFByb21pc2UucmVzb2x2ZSwgImZ1bmN0
aW9uIik7Ci0gICAgICAgIGFzc2VydF9lcXVhbHModHlwZW9mIFByb21pc2UucmVqZWN0LCAiZnVu
Y3Rpb24iKTsKLSAgICB9LAotICAgICJQcm9taXNlcyBhcmUgc3VwcG9ydGVkIGluIHlvdXIgYnJv
d3NlciIpOwotCi1wcm9taXNlX3Rlc3QoCi0gICAgZnVuY3Rpb24oKSB7Ci0gICAgICAgIHJldHVy
biBQcm9taXNlLnJlc29sdmUoIngiKQotICAgICAgICAgICAgLnRoZW4oCi0gICAgICAgICAgICAg
ICAgZnVuY3Rpb24odmFsdWUpIHsKLSAgICAgICAgICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyh2
YWx1ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAieCIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIkZ1bGZpbGxlZCBwcm9taXNlIHNob3VsZCBwYXNzIHJl
c3VsdCB0byAiICsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZnVsZmlsbCBy
ZWFjdGlvbi4iKTsKLSAgICAgICAgICAgICAgICB9KTsKLSAgICB9LAotICAgICJQcm9taXNlIGZ1
bGZpbGxtZW50IHdpdGggcmVzdWx0Iik7Ci0KLXByb21pc2VfdGVzdCgKLSAgICBmdW5jdGlvbih0
KSB7Ci0gICAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdChuZXcgRXJyb3IoImZhaWwiKSkKLSAg
ICAgICAgICAgIC50aGVuKHQudW5yZWFjaGVkX2Z1bmMoIlByb21pc2Ugc2hvdWxkIHJlamVjdCIp
LAotICAgICAgICAgICAgICAgIGZ1bmN0aW9uKHJlYXNvbikgewotICAgICAgICAgICAgICAgICAg
ICBhc3NlcnRfdHJ1ZSgKLSAgICAgICAgICAgICAgICAgICAgICAgIHJlYXNvbiBpbnN0YW5jZW9m
IEVycm9yLAotICAgICAgICAgICAgICAgICAgICAgICAgIlJlamVjdGVkIHByb21pc2Ugc2hvdWxk
IHBhc3MgcmVhc29uIHRvIGZ1bGZpbGwgcmVhY3Rpb24uIik7Ci0gICAgICAgICAgICAgICAgICAg
IGFzc2VydF9lcXVhbHMoCi0gICAgICAgICAgICAgICAgICAgICAgICByZWFzb24ubWVzc2FnZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICJmYWlsIiwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJSZWplY3RlZCBwcm9taXNlIHNob3VsZCBwYXNzIHJlYXNvbiB0byByZWplY3QgcmVhY3Rpb24u
Iik7Ci0gICAgICAgICAgICAgICAgfSk7Ci0gICAgfSwKLSAgICAiUHJvbWlzZSByZWplY3Rpb24g
d2l0aCByZXN1bHQiKTsKLQotcHJvbWlzZV90ZXN0KAotICAgIGZ1bmN0aW9uKCkgewotICAgICAg
ICB2YXIgcmVzb2x1dGlvbnMgPSBbXTsKLSAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgi
YSIpCi0gICAgICAgICAgICAudGhlbigKLSAgICAgICAgICAgICAgICBmdW5jdGlvbih2YWx1ZSkg
ewotICAgICAgICAgICAgICAgICAgICByZXNvbHV0aW9ucy5wdXNoKHZhbHVlKTsKLSAgICAgICAg
ICAgICAgICAgICAgcmV0dXJuICJiIjsKLSAgICAgICAgICAgICAgICB9KQotICAgICAgICAgICAg
LnRoZW4oCi0gICAgICAgICAgICAgICAgZnVuY3Rpb24odmFsdWUpIHsKLSAgICAgICAgICAgICAg
ICAgICAgcmVzb2x1dGlvbnMucHVzaCh2YWx1ZSk7Ci0gICAgICAgICAgICAgICAgICAgIHJldHVy
biAiYyI7Ci0gICAgICAgICAgICAgICAgfSkKLSAgICAgICAgICAgIC50aGVuKAotICAgICAgICAg
ICAgICAgIGZ1bmN0aW9uKHZhbHVlKSB7Ci0gICAgICAgICAgICAgICAgICAgIHJlc29sdXRpb25z
LnB1c2godmFsdWUpOwotICAgICAgICAgICAgICAgICAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKHJl
c29sdXRpb25zLCBbImEiLCAiYiIsICJjIl0pOwotICAgICAgICAgICAgICAgIH0pOwotICAgIH0s
Ci0gICAgIkNoYWluIG9mIHByb21pc2UgcmVzb2x1dGlvbnMiKTsKLQotcHJvbWlzZV90ZXN0KAot
ICAgIGZ1bmN0aW9uKHQpIHsKLSAgICAgICAgdmFyIHJlc29sdXRpb25zID0gW107Ci0gICAgICAg
IHJldHVybiBQcm9taXNlLnJlc29sdmUoIngiKQotICAgICAgICAgICAgLnRoZW4oCi0gICAgICAg
ICAgICAgICAgZnVuY3Rpb24odmFsdWUpIHsKLSAgICAgICAgICAgICAgICAgICAgYXNzZXJ0X3Ry
dWUoZmFsc2UsICJFeHBlY3RlZCBmYWlsdXJlLiIpOwotICAgICAgICAgICAgICAgIH0pCi0gICAg
ICAgICAgICAudGhlbih0LnVucmVhY2hlZF9mdW5jKCJVTkVYUEVDVEVEIEZBSUxVUkU6IFByb21p
c2Ugc2hvdWxkIG5vdCBoYXZlIHJlc29sdmVkLiIpKTsKLSAgICB9LAotICAgICJBc3NlcnRpb24g
ZmFpbHVyZSBpbiBhIGZ1bGZpbGwgcmVhY3Rpb24gKHNob3VsZCBGQUlMIHdpdGggYW4gZXhwZWN0
ZWQgZmFpbHVyZSkiKTsKLQotcHJvbWlzZV90ZXN0KAotICAgIGZ1bmN0aW9uKHQpIHsKLSAgICAg
ICAgcmV0dXJuIG5ldyBQcm9taXNlKAotICAgICAgICAgICAgICAgIGZ1bmN0aW9uKHJlc29sdmUs
IHJlamVjdCkgewotICAgICAgICAgICAgICAgICAgICByZWplY3QoMTIzKTsKLSAgICAgICAgICAg
ICAgICB9KQotICAgICAgICAgICAgLnRoZW4odC51bnJlYWNoZWRfZnVuYygiVU5FWFBFQ1RFRCBG
QUlMVVJFOiBGdWxmaWxsIHJlYWN0aW9uIHJlYWNoZWQgYWZ0ZXIgcmVqZWN0aW9uLiIpLAotICAg
ICAgICAgICAgICAgICAgdC51bnJlYWNoZWRfZnVuYygiRXhwZWN0ZWQgZmFpbHVyZS4iKSk7Ci0g
ICAgfSwKLSAgICAidW5yZWFjaGVkX2Z1bmMgYXMgcmVhY3RvciAoc2hvdWxkIEZBSUwgd2l0aCBh
biBleHBlY3RlZCBmYWlsdXJlKSIpOwotCi1wcm9taXNlX3Rlc3QoCi0gICAgZnVuY3Rpb24oKSB7
Ci0gICAgICAgIHJldHVybiB0cnVlOwotICAgIH0sCi0gICAgInByb21pc2VfdGVzdCB3aXRoIGZ1
bmN0aW9uIHRoYXQgZG9lc24ndCByZXR1cm4gYSBQcm9taXNlIik7Ci0KLXByb21pc2VfdGVzdChm
dW5jdGlvbigpe30sCi0gICAgICAgICAgICAgInByb21pc2VfdGVzdCB3aXRoIGZ1bmN0aW9uIHRo
YXQgZG9lc24ndCByZXR1cm4gYW55dGhpbmciKTsKLQotcHJvbWlzZV90ZXN0KAotICAgIGZ1bmN0
aW9uKCkgewotICAgICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QoIkV4cGVjdGVkIHJlamVjdGlv
biIpOwotICAgIH0sCi0gICAgInByb21pc2VfdGVzdCB3aXRoIHVuaGFuZGxlZCByZWplY3Rpb24g
KHNob3VsZCBGQUlMKSIpOwotCi1wcm9taXNlX3Rlc3QoCi0gICAgZnVuY3Rpb24oKSB7Ci0gICAg
ICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoMTApCi0gICAgICAgICAgICAudGhlbigKLSAgICAg
ICAgICAgICAgICBmdW5jdGlvbih2YWx1ZSkgewotICAgICAgICAgICAgICAgICAgICB0aHJvdyBF
cnJvcigiRXhwZWN0ZWQgZXhjZXB0aW9uLiIpOwotICAgICAgICAgICAgICAgIH0pOwotICAgIH0s
Ci0gICAgInByb21pc2VfdGVzdCB3aXRoIHVuaGFuZGxlZCBleGNlcHRpb24gaW4gZnVsZmlsbCBy
ZWFjdGlvbiAoc2hvdWxkIEZBSUwpIik7Ci0KLXByb21pc2VfdGVzdCgKLSAgICBmdW5jdGlvbih0
KSB7Ci0gICAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdCgxMCkKLSAgICAgICAgICAgIC50aGVu
KAotICAgICAgICAgICAgICAgIHQudW5yZWFjaGVkX2Z1bmMoIlVORVhQRUNURUQgRkFJTFVSRTog
RnVsZmlsbCByZWFjdGlvbiByZWFjaGVkIGFmdGVyIHJlamVjdGlvbi4iKSwKLSAgICAgICAgICAg
ICAgICBmdW5jdGlvbih2YWx1ZSkgewotICAgICAgICAgICAgICAgICAgICB0aHJvdyBFcnJvcigi
RXhwZWN0ZWQgZXhjZXB0aW9uLiIpOwotICAgICAgICAgICAgICAgIH0pOwotICAgIH0sCi0gICAg
InByb21pc2VfdGVzdCB3aXRoIHVuaGFuZGxlZCBleGNlcHRpb24gaW4gcmVqZWN0IHJlYWN0aW9u
IChzaG91bGQgRkFJTCkiKTsKLTwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2FtcGxl
MTQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBsZTE0Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDg5ODAzZjBiYjZhLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy9hcGlzYW1wbGUxNC5o
dG1sCisrKyAvZGV2L251bGwKQEAgLTEsMjkgKzAsMCBAQAotPCFET0NUWVBFIEhUTUw+Ci08aHRt
bD4KLTxoZWFkPgotPHRpdGxlPkRlZGljYXRlZCBXb3JrZXIgVGVzdHM8L3RpdGxlPgotPHNjcmlw
dCBzcmM9Ii4uL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxoMT5EZWRpY2F0
ZWQgV2ViIFdvcmtlciBUZXN0czwvaDE+Ci08cD5EZW1vbnN0cmF0ZXMgcnVubmluZyA8dHQ+dGVz
dGhhcm5lc3M8L3R0PiBiYXNlZCB0ZXN0cyBpbnNpZGUgYSBkZWRpY2F0ZWQgd2ViIHdvcmtlci4K
LTxwPlRoZSB0ZXN0IGhhcm5lc3MgaXMgZXhwZWN0ZWQgdG8gZmFpbCBkdWUgdG8gYW4gdW5jYXVn
aHQgZXhjZXB0aW9uIGluIG9uZSB3b3JrZXIuPC9wPgotPGRpdiBpZD0ibG9nIj48L2Rpdj4KLQot
PHNjcmlwdD4KLXRlc3QoZnVuY3Rpb24odCkgewotICAgICAgICBhc3NlcnRfdHJ1ZSgiV29ya2Vy
IiBpbiBzZWxmLCAiQnJvd3NlciBzaG91bGQgc3VwcG9ydCBXb3JrZXJzIik7Ci0gICAgfSwKLSAg
ICAiQnJvd3NlciBzdXBwb3J0cyBXb3JrZXJzIik7Ci0KLWZldGNoX3Rlc3RzX2Zyb21fd29ya2Vy
KG5ldyBXb3JrZXIoImFwaXNhbXBsZS13b3JrZXIuanMiKSk7Ci0KLWZldGNoX3Rlc3RzX2Zyb21f
d29ya2VyKG5ldyBXb3JrZXIoImFwaXNhbXBsZS1lcnJvci13b3JrZXIuanMiKSk7Ci0KLXRlc3Qo
ZnVuY3Rpb24odCkgewotICAgICAgICBhc3NlcnRfZmFsc2UoZmFsc2UsICJGYWxzZSBpcyBmYWxz
ZSIpOwotICAgIH0sCi0gICAgIlRlc3QgcnVubmluZyBvbiBtYWluIGRvY3VtZW50LiIpOwotPC9z
Y3JpcHQ+Ci08L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy9hcGlzYW1wbGUxNS5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZXhhbXBs
ZXMvYXBpc2FtcGxlMTUuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjMxZDE5
MjJiYWMuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBsZTE1Lmh0bWwKKysrIC9kZXYv
bnVsbApAQCAtMSwyNiArMCwwIEBACi08IURPQ1RZUEUgSFRNTD4KLTxodG1sPgotPGhlYWQ+Ci08
dGl0bGU+RXhhbXBsZSB3aXRoIGEgc2hhcmVkIHdvcmtlcjwvdGl0bGU+Ci08c2NyaXB0IHNyYz0i
Li4vdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGgxPlNoYXJlZCBXZWIgV29y
a2VyIFRlc3RzPC9oMT4KLTxwPkRlbW9uc3RyYXRlcyBydW5uaW5nIDx0dD50ZXN0aGFybmVzczwv
dHQ+IGJhc2VkIHRlc3RzIGluc2lkZSBhIHNoYXJlZCB3b3JrZXIuCi08cD5UaGUgdGVzdCBoYXJu
ZXNzIHNob3VsZCB0aW1lIG91dCBkdWUgdG8gb25lIG9mIHRoZSB0ZXN0cyBpbiB0aGUgd29ya2Vy
IHRpbWluZyBvdXQuCi08cD5UaGlzIHRlc3QgYXNzdW1lcyB0aGF0IHRoZSBicm93c2VyIHN1cHBv
cnRzIDxhIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL3dvcmtlcnMvI3NoYXJlZC13b3JrZXJz
LWFuZC10aGUtc2hhcmVkd29ya2VyLWludGVyZmFjZSI+c2hhcmVkIHdlYiB3b3JrZXJzPC9hPi4K
LTxkaXYgaWQ9ImxvZyI+PC9kaXY+Ci0KLTxzY3JpcHQ+Ci10ZXN0KAotICAgIGZ1bmN0aW9uKHQp
IHsKLSAgICAgICAgYXNzZXJ0X3RydWUoIlNoYXJlZFdvcmtlciIgaW4gc2VsZiwKLSAgICAgICAg
ICAgICAgICAgICAgIkJyb3dzZXIgc2hvdWxkIHN1cHBvcnQgU2hhcmVkV29ya2VycyIpOwotICAg
IH0sCi0gICAgIkJyb3dzZXIgc3VwcG9ydHMgU2hhcmVkV29ya2VycyIpOwotCi1mZXRjaF90ZXN0
c19mcm9tX3dvcmtlcihuZXcgU2hhcmVkV29ya2VyKCJhcGlzYW1wbGUtd29ya2VyLmpzIiwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk15IHNoYXJlZCB3b3JrZXIi
KSk7Ci08L3NjcmlwdD4KLTwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBsZTE2Lmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy9leGFtcGxlcy9hcGlzYW1wbGUxNi5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCBkODU5ZDk0YmY2Yy4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2FtcGxlMTYuaHRtbAor
KysgL2Rldi9udWxsCkBAIC0xLDYyICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08
aGVhZD4KLTx0aXRsZT5FeGFtcGxlIHdpdGggYSBzZXJ2aWNlIHdvcmtlcjwvdGl0bGU+Ci08c2Ny
aXB0IHNyYz0iLi4vdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGgxPlNlcnZp
Y2UgV29ya2VyIFRlc3RzPC9oMT4KLTxwPkRlbW9uc3RyYXRlcyBydW5uaW5nIDx0dD50ZXN0aGFy
bmVzczwvdHQ+IGJhc2VkIHRlc3RzIGluc2lkZSBhIHNlcnZpY2Ugd29ya2VyLgotPHA+VGhlIHRl
c3QgaGFybmVzcyBzaG91bGQgdGltZSBvdXQgZHVlIHRvIG9uZSBvZiB0aGUgdGVzdHMgaW5zaWRl
IHRoZSB3b3JrZXIgdGltaW5nIG91dC4KLTxwPlRoaXMgdGVzdCBhc3N1bWVzIHRoYXQgdGhlIGJy
b3dzZXIgc3VwcG9ydHMgPGEgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvc2VydmljZS13b3Jr
ZXJzLyI+U2VydmljZVdvcmtlcnM8L2E+LgotPGRpdiBpZD0ibG9nIj48L2Rpdj4KLQotPHNjcmlw
dD4KLXRlc3QoCi0gICAgZnVuY3Rpb24odCkgewotICAgICAgICBhc3NlcnRfdHJ1ZSgic2Vydmlj
ZVdvcmtlciIgaW4gbmF2aWdhdG9yLAotICAgICAgICAgICAgICAgICAgICAibmF2aWdhdG9yLnNl
cnZpY2VXb3JrZXIgZXhpc3RzIik7Ci0gICAgfSwKLSAgICAiQnJvd3NlciBzdXBwb3J0cyBTZXJ2
aWNlV29ya2VyIik7Ci0KLXByb21pc2VfdGVzdCgKLSAgICBmdW5jdGlvbigpIHsKLSAgICAgICAg
Ly8gU2luY2UgdGhlIHNlcnZpY2Ugd29ya2VyIHJlZ2lzdHJhdGlvbiBjb3VsZCBiZSBpbiBhbiBp
bmRldGVybWluYXRlCi0gICAgICAgIC8vIHN0YXRlIChkdWUgdG8sIGZvciBleGFtcGxlLCBhIHBy
ZXZpb3VzIHRlc3QgcnVuIGZhaWxpbmcpLCB3ZSBzdGFydCBieQotICAgICAgICAvLyB1bnJlZ3N0
ZXJpbmcgb3VyIHNlcnZpY2Ugd29ya2VyIGFuZCB0aGVuIHJlZ2lzdGVyaW5nIGl0IGFnYWluLgot
ICAgICAgICB2YXIgc2NvcGUgPSAiL3NlcnZpY2Utd29ya2VyLXNjb3BlIjsKLSAgICAgICAgdmFy
IHdvcmtlcl91cmwgPSAiYXBpc2FtcGxlLXdvcmtlci5qcyI7Ci0KLSAgICAgICAgcmV0dXJuIG5h
dmlnYXRvci5zZXJ2aWNlV29ya2VyLnJlZ2lzdGVyKHdvcmtlcl91cmwsIHtzY29wZTogc2NvcGV9
KQotICAgICAgICAgICAgLnRoZW4oCi0gICAgICAgICAgICAgICAgZnVuY3Rpb24ocmVnaXN0cmF0
aW9uKSB7Ci0gICAgICAgICAgICAgICAgICAgIHJldHVybiByZWdpc3RyYXRpb24udW5yZWdpc3Rl
cigpOwotICAgICAgICAgICAgICAgIH0pCi0gICAgICAgICAgICAudGhlbigKLSAgICAgICAgICAg
ICAgICBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5hdmlnYXRvci5z
ZXJ2aWNlV29ya2VyLnJlZ2lzdGVyKHdvcmtlcl91cmwsIHtzY29wZTogc2NvcGV9KTsKLSAgICAg
ICAgICAgICAgICB9KQotICAgICAgICAgICAgLnRoZW4oCi0gICAgICAgICAgICAgICAgZnVuY3Rp
b24ocmVnaXN0cmF0aW9uKSB7Ci0gICAgICAgICAgICAgICAgICAgIGFkZF9jb21wbGV0aW9uX2Nh
bGxiYWNrKAotICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgcmVnaXN0cmF0aW9uLnVucmVnaXN0ZXIoKTsKLSAgICAgICAgICAg
ICAgICAgICAgICAgIH0pOwotCi0gICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXcgUHJvbWlz
ZSgKLSAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uKHJlc29sdmUpIHsKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICByZWdpc3RyYXRpb24uYWRkRXZlbnRMaXN0ZW5lcigidXBkYXRl
Zm91bmQiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbigpIHsKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc29sdmUocmVnaXN0cmF0aW9uLmlu
c3RhbGxpbmcpOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKLSAgICAgICAg
ICAgICAgICAgICAgICAgIH0pOwotICAgICAgICAgICAgICAgIH0pCi0gICAgICAgICAgICAudGhl
bigKLSAgICAgICAgICAgICAgICBmdW5jdGlvbih3b3JrZXIpIHsKLSAgICAgICAgICAgICAgICAg
ICAgZmV0Y2hfdGVzdHNfZnJvbV93b3JrZXIod29ya2VyKTsKLSAgICAgICAgICAgICAgICB9KTsK
LSAgICB9LAotICAgICJSZWdpc3RlciBTZXJ2aWNlV29ya2VyIik7Ci08L3NjcmlwdD4KLTwvYm9k
eT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBsZTE3Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy9hcGlzYW1wbGUx
Ny5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjMjdjNDE3YjhmYi4uMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2FtcGxlMTcuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDU5
ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLTx0aXRsZT5TYW1wbGUg
Zm9yIHVzaW5nIGdlbmVyYXRlX3Rlc3RzIHRvIGNyZWF0ZSBhIHNlcmllcyBvZiB0ZXN0cyB0aGF0
IHNoYXJlIHRoZSBzYW1lIGNhbGxiYWNrLjwvdGl0bGU+Ci08c2NyaXB0IHNyYz0iLi4vdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPHNjcmlwdD4KLS8vIGdlbmVyYXRlX3Rlc3Rz
IHRha2VzIGFuIGFycmF5IG9mIGFycmF5cyB0aGF0IGRlZmluZSB0ZXN0cwotLy8gYnV0IGxldHMg
cGFzcyBpdCBhbiBlbXB0eSBhcnJheSBhbmQgdmVyaWZ5IGl0IGRvZXMgbm90aGluZy4KLWZ1bmN0
aW9uIG51bGxfY2FsbGJhY2soKSB7Ci0JdGhyb3cgIm51bGxfY2FsbGJhY2sgc2hvdWxkIG5vdCBi
ZSBjYWxsZWQuIjsKLX0KLWdlbmVyYXRlX3Rlc3RzKG51bGxfY2FsbGJhY2ssIFtdKTsKLQotLy8g
R2VuZXJhdGUgMyB0ZXN0cyBzcGVjaWZ5aW5nIHRoZSBuYW1lIGFuZCBvbmUgcGFyYW1ldGVyCi1m
dW5jdGlvbiB2YWxpZGF0ZV9hcmd1bWVudHMoYXJnMSkgewotCWFzc2VydF9lcXVhbHMoYXJnMSwg
MSwgIkVuc3VyZSB0aGF0IHdlIGdldCBvdXIgZXhwZWN0ZWQgYXJndW1lbnQiKTsKLX0KLWdlbmVy
YXRlX3Rlc3RzKHZhbGlkYXRlX2FyZ3VtZW50cywgWwotCVsiZmlyc3QgdGVzdCIsIDFdLAotCVsi
c2Vjb25kIHRlc3QiLCAxXSwKLQlbInRoaXJkIHRlc3QiLCAxXSwKLV0pOwotCi0vLyBHZW5lcmF0
ZSBhIHRlc3QgcGFzc2luZyBpbiBhIHByb3BlcnRpZXMgb2JqZWN0IHRoYXQgaXMgc2hhcmVkIGFj
cm9zcyB0ZXN0cy4KLWZ1bmN0aW9uIHZhbGlkYXRlX3Byb3BlcnRpZXMoKSB7Ci0JYXNzZXJ0X3Ry
dWUodGhpcy5wcm9wZXJ0aWVzLnNlbnRpbmVsLCAiRW5zdXJlIHRoYXQgd2UgZ290IHRoZSByaWdo
dCBwcm9wZXJ0aWVzIG9iamVjdC4iKTsKLX0KLWdlbmVyYXRlX3Rlc3RzKHZhbGlkYXRlX3Byb3Bl
cnRpZXMsIFtbInNlbnRpbmVsIGNoZWNrIDEiXSwgWyJzZW50aW5lbCBjaGVjayAyIl1dLCB7c2Vu
dGluZWw6IHRydWV9KTsKLQotLy8gR2VuZXJhdGUgYSB0ZXN0IHBhc3NpbmcgaW4gYSBwcm9wZXJ0
aWVzIG9iamVjdCB0aGF0IGlzIHNoYXJlZCBhY3Jvc3MgdGVzdHMuCi1mdW5jdGlvbiB2YWxpZGF0
ZV9zZXBhcmF0ZV9wcm9wZXJ0aWVzKCkgewotCWlmICh0aGlzLm5hbWUgPT09ICJzZW50aW5lbCBj
aGVjayAxIHVuaXF1ZSBwcm9wZXJ0aWVzIikgewotCQlhc3NlcnRfdHJ1ZSh0aGlzLnByb3BlcnRp
ZXMuc2VudGluZWwsICJFbnN1cmUgdGhhdCB3ZSBnb3QgdGhlIHJpZ2h0IHByb3BlcnRpZXMgb2Jq
ZWN0LiBFeHBlY3Qgc2VudGluZWw6IHRydWUuIik7Ci0JfQotCWVsc2UgewotCQlhc3NlcnRfZmFs
c2UodGhpcy5wcm9wZXJ0aWVzLnNlbnRpbmVsLCAiRW5zdXJlIHRoYXQgd2UgZ290IHRoZSByaWdo
dCBwcm9wZXJ0aWVzIG9iamVjdC4gRXhwZWN0IHNlbnRpbmVsOiBmYWxzZS4iKTsKLQl9Ci19Ci1n
ZW5lcmF0ZV90ZXN0cyh2YWxpZGF0ZV9zZXBhcmF0ZV9wcm9wZXJ0aWVzLCBbWyJzZW50aW5lbCBj
aGVjayAxIHVuaXF1ZSBwcm9wZXJ0aWVzIl0sIFsic2VudGluZWwgY2hlY2sgMiB1bmlxdWUgcHJv
cGVydGllcyJdXSwgW3tzZW50aW5lbDogdHJ1ZX0sIHtzZW50aW5lbDogZmFsc2V9XSk7Ci0KLS8v
IEZpbmFsbHkgZ2VuZXJhdGUgYSBjb21wbGljYXRlZCBzZXQgb2YgdGVzdHMgZnJvbSBhbm90aGVy
IGRhdGEgc291cmNlCi12YXIgbGV0dGVycyA9IFsiYSIsICJiIiwgImMiLCAiZCIsICJlIiwgImYi
XTsKLXZhciBudW1iZXJzID0gWzAsIDEsIDIsIDMsIDQsIDVdOwotZnVuY3Rpb24gdmFsaWRhdGVf
cmVsYXRlZF9hcmd1bWVudHMoYXJnMSwgYXJnMikgewotCWFzc2VydF9lcXVhbHMoYXJnMS5jaGFy
Q29kZUF0KDApIC0gImEiLmNoYXJDb2RlQXQoMCksIGFyZzIsICJFbnN1cmUgdGhhdCB3ZSBjYW4g
bWFwIGxldHRlcnMgdG8gbnVtYmVycy4iKTsKLX0KLWZ1bmN0aW9uIGZvcm1hdF9hc190ZXN0KGxl
dHRlciwgaW5kZXgsIGxldHRlcnMpIHsKLQlyZXR1cm4gWyJUZXN0IHRvIG1hcCAiICsgbGV0dGVy
ICsgIiB0byAiICsgbnVtYmVyc1tpbmRleF0sIGxldHRlciwgbnVtYmVyc1tpbmRleF1dOwotfQot
Z2VuZXJhdGVfdGVzdHModmFsaWRhdGVfcmVsYXRlZF9hcmd1bWVudHMsIGxldHRlcnMubWFwKGZv
cm1hdF9hc190ZXN0KSk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KLQotCi0KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL2V4YW1wbGVzL2FwaXNhbXBsZTE4Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy9hcGlzYW1wbGUxOC5odG1sCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5NTBhMTUwYTZjMC4uMDAwMDAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
ZXhhbXBsZXMvYXBpc2FtcGxlMTguaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDI2ICswLDAgQEAK
LTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLTx0aXRsZT5FeGFtcGxlIHdpdGggaWZy
YW1lIHRoYXQgY29uc29saWRhdGVzIGVycm9ycyB2aWEgZmV0Y2hfdGVzdHNfZnJvbV93aW5kb3c8
L3RpdGxlPgotPHNjcmlwdCBzcmM9Ii4uL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSIuLi90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotdmFy
IHBhcmVudF90ZXN0ID0gYXN5bmNfdGVzdCgiVGVzdCBleGVjdXRpbmcgaW4gcGFyZW50IGNvbnRl
eHQiKTsKLTwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgb25sb2FkPSJwYXJlbnRfdGVzdC5kb25l
KCkiPgotPGgxPkZldGNoaW5nIFRlc3RzIEZyb20gYSBDaGlsZCBDb250ZXh0PC9oMT4KLTxwPlRo
aXMgdGVzdCBkZW1vbnN0cmF0ZXMgdGhlIHVzZSBvZiA8dHQ+ZmV0Y2hfdGVzdHNfZnJvbV93aW5k
b3c8L3R0PiB0byBwdWxsCi10ZXN0cyBmcm9tIGFuIDx0dD5pZnJhbWU8L3R0PiBpbnRvIHRoZSBw
cmltYXJ5IGRvY3VtZW50LjwvcD4KLTxwPlRoZSB0ZXN0IHN1aXRlIGlzIGV4cGVjdGVkIHRvIGZh
aWwgZHVlIHRvIGFuIHVuaGFuZGxlZCBleGNlcHRpb24gaW4gdGhlCi1jaGlsZCBjb250ZXh0Ljwv
cD4KLTxkaXYgaWQ9ImxvZyI+PC9kaXY+Ci0KLTxpZnJhbWUgaWQ9ImNoaWxkQ29udGV4dCIgc3Jj
PSJhcGlzYW1wbGU0Lmh0bSIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+PC9pZnJhbWU+Ci08IS0tICBh
cGlzYW1wbGU0IGlzIGEgZmFpbGluZyBzdWl0ZSBkdWUgdG8gYW4gdW5oYW5kbGVkIEVycm9yLiAg
LS0+Ci0KLTxzY3JpcHQ+Ci0JdmFyIGNoaWxkQ29udGV4dCA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjaGlsZENvbnRleHQiKTsKLQlmZXRjaF90ZXN0c19mcm9tX3dpbmRvdyhjaGlsZENvbnRl
eHQuY29udGVudFdpbmRvdyk7Ci08L3NjcmlwdD4KLTwvYm9keT4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy9hcGlzYW1wbGUxOS5odG1sIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZXMvYXBp
c2FtcGxlMTkuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggN2JjYTEzNGFiMjIu
LjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBsZTE5Lmh0bWwKKysrIC9kZXYvbnVsbApA
QCAtMSwyNiArMCwwIEBACi08IURPQ1RZUEUgSFRNTD4KLTxodG1sPgotPGhlYWQ+Ci08dGl0bGU+
RXhhbXBsZSB3aXRoIGlmcmFtZSB0aGF0IGNvbnNvbGlkYXRlcyB0ZXN0cyB2aWEgZmV0Y2hfdGVz
dHNfZnJvbV93aW5kb3c8L3RpdGxlPgotPHNjcmlwdCBzcmM9Ii4uL3Rlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0PgotdmFyIHBhcmVudF90ZXN0ID0gYXN5bmNfdGVzdCgiVGVzdCBleGVjdXRpbmcg
aW4gcGFyZW50IGNvbnRleHQiKTsKLTwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgb25sb2FkPSJw
YXJlbnRfdGVzdC5kb25lKCkiPgotPGgxPkZldGNoaW5nIFRlc3RzIEZyb20gYSBDaGlsZCBDb250
ZXh0PC9oMT4KLTxwPlRoaXMgdGVzdCBkZW1vbnN0cmF0ZXMgdGhlIHVzZSBvZiA8dHQ+ZmV0Y2hf
dGVzdHNfZnJvbV93aW5kb3c8L3R0PiB0byBwdWxsCi10ZXN0cyBmcm9tIGFuIDx0dD5pZnJhbWU8
L3R0PiBpbnRvIHRoZSBwcmltYXJ5IGRvY3VtZW50LjwvcD4KLTxwPlRoZSB0ZXN0IHN1aXRlIHdp
bGwgbm90IGNvbXBsZXRlIHVudGlsIHRlc3RzIGluIHRoZSBjaGlsZCBjb250ZXh0IGhhdmUgZmlu
aXNoZWQKLWV4ZWN1dGluZzwvcD4KLTxkaXYgaWQ9ImxvZyI+PC9kaXY+Ci0KLTxpZnJhbWUgaWQ9
ImNoaWxkQ29udGV4dCIgc3JjPSJhcGlzYW1wbGUxMC5odG1sIiBzdHlsZT0iZGlzcGxheTpub25l
Ij48L2lmcmFtZT4KLTwhLS0gIGFwaXNhbXBsZTEwIGhhcyBhc3luYyB0ZXN0cyB3aXRoIHByb21p
c2VzICAtLT4KLQotPHNjcmlwdD4KLQl2YXIgY2hpbGRDb250ZXh0ID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNoaWxkQ29udGV4dCIpOwotCWZldGNoX3Rlc3RzX2Zyb21fd2luZG93KGNoaWxk
Q29udGV4dC5jb250ZW50V2luZG93KTsKLTwvc2NyaXB0PgotPC9ib2R5PgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBsZTIuaHRtIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZXMv
YXBpc2FtcGxlMi5odG0KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDRhNGMxNmI0ZGZh
Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy9hcGlzYW1wbGUyLmh0bQorKysgL2Rldi9udWxsCkBA
IC0xLDE5ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLTx0aXRsZT5T
YW1wbGUgSFRNTDUgQVBJIFRlc3RzPC90aXRsZT4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0ibG9h
ZF90ZXN0X2F0dHIuZG9uZSgpIj4KLTxoMT5TYW1wbGUgSFRNTDUgQVBJIFRlc3RzPC9oMT4KLTxw
PlRoZXJlIHNob3VsZCBiZSB0d28gcmVzdWx0czwvcD4KLTxkaXYgaWQ9ImxvZyI+PC9kaXY+Ci08
c2NyaXB0IHNyYz0iLi4vdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4u
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci1zZXR1cCh7ZXhwbGlj
aXRfZG9uZTp0cnVlfSkKLXRlc3QoZnVuY3Rpb24oKSB7YXNzZXJ0X3RydWUodHJ1ZSl9LCAiVGVz
dCBkZWZpbmVkIGJlZm9yZSBvbmxvYWQiKTsKLQotb25sb2FkID0gZnVuY3Rpb24oKSB7dGVzdChm
dW5jdGlvbiAoKXthc3NlcnRfdHJ1ZSh0cnVlKX0sICJUZXN0IGRlZmluZWQgYWZ0ZXIgb25sb2Fk
Iik7Ci1kb25lKCk7Ci19Ci08L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBsZTMu
aHRtIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvZXhhbXBsZXMvYXBpc2FtcGxlMy5odG0KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDRkYmJmOWE4NzFiLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy9hcGlzYW1wbGUzLmh0bQorKysg
L2Rldi9udWxsCkBAIC0xLDE3ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVh
ZD4KLTx0aXRsZT5TYW1wbGUgSFRNTDUgQVBJIFRlc3RzPC90aXRsZT4KLTwvaGVhZD4KLTxzY3Jp
cHQgc3JjPSIuLi90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci0KLTxib2R5IG9ubG9hZD0ibG9h
ZF90ZXN0X2F0dHIuZG9uZSgpIj4KLTxoMT5TYW1wbGUgSFRNTDUgQVBJIFRlc3RzPC9oMT4KLTxk
aXYgaWQ9ImxvZyI+PC9kaXY+Ci08c2NyaXB0Pgotc2V0dXAoe2V4cGxpY2l0X3RpbWVvdXQ6dHJ1
ZX0pOwotdmFyIHQgPSBhc3luY190ZXN0KCJUaGlzIHRlc3Qgc2hvdWxkIGdpdmUgYSBzdGF0dXMg
b2YgJ05vdCBSdW4nIHdpdGhvdXQgYSBkZWxheSIpOwotdGltZW91dCgpOwotPC9zY3JpcHQ+Ci08
L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy9hcGlzYW1wbGU0Lmh0bSBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVz
L2FwaXNhbXBsZTQuaHRtCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjOGZiYmRlZDY5
NS4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2FtcGxlNC5odG0KKysrIC9kZXYvbnVsbApA
QCAtMSwxNiArMCwwIEBACi08IURPQ1RZUEUgSFRNTD4KLTxodG1sPgotPGhlYWQ+Ci08dGl0bGU+
SGFybmVzcyBIYW5kbGluZyBVbmNhdWdodCBFeGNlcHRpb248L3RpdGxlPgotPC9oZWFkPgotPHNj
cmlwdCBzcmM9Ii4uL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLQotPGJvZHk+Ci08aDE+SGFy
bmVzcyBIYW5kbGluZyBVbmNhdWdodCBFeGNlcHRpb248L2gxPgotPGRpdiBpZD0ibG9nIj48L2Rp
dj4KLTxzY3JpcHQ+Ci12YXIgdCA9IGFzeW5jX3Rlc3QoIlRoaXMgc2hvdWxkIHNob3cgYSBoYXJu
ZXNzIHN0YXR1cyBvZiAnRXJyb3InIGFuZCBhIHRlc3Qgc3RhdHVzIG9mICdOb3QgUnVuJyIpOwot
dGhyb3cgbmV3IEVycm9yKCJFeGFtcGxlIEVycm9yIik7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBsZTUuaHRtIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2FtcGxl
NS5odG0KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDNlZGY2MDJhMWU2Li4wMDAwMDAw
MDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy9leGFtcGxlcy9hcGlzYW1wbGU1Lmh0bQorKysgL2Rldi9udWxsCkBAIC0xLDE4ICsw
LDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLTx0aXRsZT5IYXJuZXNzIEln
bm9yaW5nIFVuY2F1Z2h0IEV4Y2VwdGlvbjwvdGl0bGU+Ci08L2hlYWQ+Ci08c2NyaXB0IHNyYz0i
Li4vdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotCi08Ym9keT4KLTxoMT5IYXJuZXNzIElnbm9y
aW5nIFVuY2F1Z2h0IEV4Y2VwdGlvbjwvaDE+Ci08ZGl2IGlkPSJsb2ciPjwvZGl2PgotPHNjcmlw
dD4KLXNldHVwKHthbGxvd191bmNhdWdodF9leGNlcHRpb246dHJ1ZX0pOwotdmFyIHQgPSBhc3lu
Y190ZXN0KCJzZXR1cCh7YWxsb3dfdW5jYXVnaHRfZXhjZXB0aW9uOnRydWV9KSBzaG91bGQgYWxs
b3cgdGVzdHMgdG8gcGFzcyBldmVuIGlmIHRoZXJlIGlzIGFuIGV4Y2VwdGlvbiIpOwotb25lcnJv
ciA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKCkge3QuZG9uZSgpfSk7Ci10aHJvdyBuZXcgRXJyb3Io
IkV4YW1wbGUgRXJyb3IiKTsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
ZXhhbXBsZXMvYXBpc2FtcGxlNi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2FtcGxlNi5odG1sCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3NDU5YzU0ZDU3Mi4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZXhhbXBs
ZXMvYXBpc2FtcGxlNi5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTAgKzAsMCBAQAotPCFET0NU
WVBFIEhUTUw+Ci08dGl0bGU+RXhhbXBsZSB3aXRoIGZpbGVfaXNfdGVzdDwvdGl0bGU+Ci08c2Ny
aXB0IHNyYz0iLi4vdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci1vbmxvYWQgPSBmdW5jdGlv
bigpIHsKLSAgYXNzZXJ0X3RydWUodHJ1ZSk7Ci0gIGRvbmUoKTsKLX0KLTwvc2NyaXB0PgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBsZTcuaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L2V4YW1wbGVzL2FwaXNhbXBsZTcuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
Njg4NWY1MmY4YTUuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBsZTcuaHRtbAorKysg
L2Rldi9udWxsCkBAIC0xLDEwICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPHRpdGxlPkV4YW1w
bGUgd2l0aCBmaWxlX2lzX3Rlc3QgKHNob3VsZCBmYWlsKTwvdGl0bGU+Ci08c2NyaXB0IHNyYz0i
Li4vdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci1vbmxvYWQgPSBmdW5jdGlvbigpIHsKLSAg
YXNzZXJ0X3RydWUoZmFsc2UpOwotICBkb25lKCk7Ci19Ci08L3NjcmlwdD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy9hcGlzYW1wbGU4Lmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9leGFtcGxl
cy9hcGlzYW1wbGU4Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDcwODUzZDlj
NmM1Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy9hcGlzYW1wbGU4Lmh0bWwKKysrIC9kZXYvbnVs
bApAQCAtMSw4ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPHRpdGxlPkV4YW1wbGUgc2luZ2xl
IHBhZ2UgdGVzdCB3aXRoIG5vIGJvZHk8L3RpdGxlPgotPHNjcmlwdCBzcmM9Ii4uL3Rlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0PgotYXNzZXJ0X3RydWUodHJ1ZSk7Ci1kb25lKCk7Ci08L3Njcmlw
dD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy9hcGlzYW1w
bGU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy9leGFtcGxlcy9hcGlzYW1wbGU5Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IGY4NDQzM2RkMTk4Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy9hcGlzYW1wbGU5Lmh0
bWwKKysrIC9kZXYvbnVsbApAQCAtMSw3ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPHRpdGxl
PkV4YW1wbGUgc2luZ2xlIHBhZ2UgdGVzdCB3aXRoIG5vIGFzc2VydHM8L3RpdGxlPgotPHNjcmlw
dCBzcmM9Ii4uL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotZG9uZSgpOwotPC9zY3JpcHQ+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZXMvdzNjLWltcG9y
dC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy9leGFtcGxlcy93M2MtaW1wb3J0LmxvZwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDc0NWZiNTg0NDYuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL3czYy1pbXBvcnQubG9nCisr
KyAvZGV2L251bGwKQEAgLTEsMzcgKzAsMCBAQAotVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5
IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCi1EbyBOT1QgbW9kaWZ5IHRo
ZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVx
dWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cwotCi1UaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3Rz
IGluIFdlYktpdCB0byByZWltcG9ydAotCi1EbyBOT1QgbW9kaWZ5IG9yIHJlbW92ZSB0aGlzIGZp
bGUuCi0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotUHJvcGVydGllcyByZXF1aXJpbmcgdmVuZG9yIHByZWZp
eGVzOgotTm9uZQotUHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6Ci1O
b25lCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0KLUxpc3Qgb2YgZmlsZXM6Ci0vTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2FtcGxlLWVy
cm9yLXdvcmtlci5qcwotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBsZS13b3JrZXIuanMKLS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy9hcGlzYW1w
bGUuaHRtCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvZXhhbXBsZXMvYXBpc2FtcGxlMTAuaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBsZTExLmh0bWwK
LS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9l
eGFtcGxlcy9hcGlzYW1wbGUxMi5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2FtcGxlMTMuaHRtbAotL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVz
L2FwaXNhbXBsZTE0Lmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy9hcGlzYW1wbGUxNS5odG1sCi0vTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2Ft
cGxlMTYuaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBsZTE3Lmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy9hcGlzYW1wbGUxOC5o
dG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvZXhhbXBsZXMvYXBpc2FtcGxlMTkuaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBsZTIuaHRtCi0vTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZXhhbXBs
ZXMvYXBpc2FtcGxlMy5odG0KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy9hcGlzYW1wbGU0Lmh0bQotL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBs
ZTUuaHRtCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvZXhhbXBsZXMvYXBpc2FtcGxlNi5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2FtcGxlNy5odG1sCi0v
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZXhh
bXBsZXMvYXBpc2FtcGxlOC5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2FtcGxlOS5odG1sCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90
ZXN0L1JFQURNRS5tZCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3Rlc3QvUkVBRE1FLm1kCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAxODVhZTVmNGVmYy4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC9SRUFETUUubWQKKysrIC9kZXYvbnVs
bApAQCAtMSw5MCArMCwwIEBACi0jIGB0ZXN0aGFybmVzcy5qc2AgdGVzdCBzdWl0ZQotCi1UaGUg
dGVzdCBzdWl0ZSBmb3IgdGhlIGB0ZXN0aGFybmVzcy5qc2AgdGVzdGluZyBmcmFtZXdvcmsuCi0K
LSMjIEV4ZWN1dGluZyBUZXN0cwotCi1JbnN0YWxsIHRoZSBmb2xsb3dpbmcgZGVwZW5kZW5jaWVz
OgotCi0tIFtQeXRob24gMi43LjkrXShodHRwczovL3d3dy5weXRob24ub3JnLykKLS0gW3RoZSB0
b3ggUHl0aG9uIHBhY2thZ2VdKGh0dHBzOi8vdG94LnJlYWR0aGVkb2NzLmlvL2VuL2xhdGVzdC8p
Ci0tIFt0aGUgTW96aWxsYSBGaXJlZm94IHdlYiBicm93c2VyXShodHRwczovL21vemlsbGEub3Jn
L2ZpcmVmb3gpCi0tIFt0aGUgR2Vja29Ecml2ZXIgc2VydmVyXShodHRwczovL2dpdGh1Yi5jb20v
bW96aWxsYS9nZWNrb2RyaXZlcikKLQotTWFrZSBzdXJlIGBnZWNrb2RyaXZlcmAgY2FuIGJlIGZv
dW5kIGluIHlvdXIgYFBBVEhgLgotCi1DdXJyZW50bHksIHRoZSB0ZXN0cyBzaG91bGQgYmUgcnVu
IHdpdGggdGhlIGxhdGVzdCAqRmlyZWZveCBOaWdodGx5Ki4gSW4gb3JkZXIgdG8KLXNwZWNpZnkg
dGhlIHBhdGggdG8gRmlyZWZveCBOaWdodGx5LCB1c2UgdGhlIGZvbGxvd2luZyBjb21tYW5kLWxp
bmUgb3B0aW9uOgotCi0gICAgdG94IC0tIC0tYmluYXJ5PS9wYXRoL3RvL0ZpcmVmb3hOaWdodGx5
Ci0KLSMjIyBBdXRvbWF0ZWQgU2NyaXB0Ci0KLUFsdGVybmF0aXZlbHksIHlvdSBtYXkgcnVuIGB0
b29scy9jaS9jaV9yZXNvdXJjZXNfdW5pdHRlc3Quc2hgLCB3aGljaCBvbmx5IGRlcGVuZHMgb24K
LVB5dGhvbiAyLiBUaGUgc2NyaXB0IHdpbGwgaW5zdGFsbCBvdGhlciBkZXBlbmRlbmNpZXMgYXV0
b21hdGljYWxseSBhbmQgc3RhcnQgYHRveGAgd2l0aAotdGhlIGNvcnJlY3QgYXJndW1lbnRzLgot
Ci0jIyBBdXRob3JpbmcgVGVzdHMKLQotVGVzdCBjYXNlcyBhcmUgZXhwcmVzc2VkIGFzIGAuaHRt
bGAgZmlsZXMgbG9jYXRlZCB3aXRoaW4gdGhlIGB0ZXN0cy91bml0L2AgYW5kCi1gdGVzdHMvZnVu
Y3Rpb25hbC9gIHN1Yi1kaXJlY3Rvcmllcy4gRWFjaCB0ZXN0IHNob3VsZCBpbmNsdWRlIHRoZQot
YHRlc3RoYXJuZXNzLmpzYCBsaWJyYXJ5IHdpdGggdGhlIGZvbGxvd2luZyBtYXJrdXA6Ci0KLSAg
ICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci0gICAg
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgot
Ci1UaGlzIHNob3VsZCBiZSBmb2xsb3dlZCBieSBvbmUgb3IgbW9yZSBgPHNjcmlwdD5gIHRhZ3Mg
dGhhdCBpbnRlcmZhY2Ugd2l0aCB0aGUKLWB0ZXN0aGFybmVzcy5qc2AgQVBJIGluIHNvbWUgd2F5
LiBGb3IgZXhhbXBsZToKLQotICAgIDxzY3JpcHQ+Ci0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAg
ICAgICAgMSA9IDE7Ci0gICAgICB9LCAnVGhpcyB0ZXN0IGlzIGV4cGVjdGVkIHRvIGZhaWwuJyk7
Ci0gICAgPC9zY3JpcHQ+Ci0KLSMjIyBVbml0IHRlc3RzCi0KLVRoZSAidW5pdCB0ZXN0IiB0eXBl
IGFsbG93cyBmb3IgY29uY2lzZWx5IHRlc3RpbmcgdGhlIGV4cGVjdGVkIGJlaGF2aW9yIG9mCi1h
c3NlcnRpb24gbWV0aG9kcy4gVGhlc2UgdGVzdHMgbWF5IGRlZmluZSBhbnkgbnVtYmVyIG9mIHN1
Yi10ZXN0czsgdGhlCi1hY2NlcHRhbmNlIGNyaXRlcmlhIGlzIHNpbXBseSB0aGF0IGFsbCB0ZXN0
cyBleGVjdXRlZCBwYXNzLgotCi0jIyMgRnVuY3Rpb25hbCB0ZXN0cwotCi1UaG9yb3VnaGx5IHRl
c3RpbmcgdGhlIGJlaGF2aW9yIG9mIHRoZSBoYXJuZXNzIGl0c2VsZiByZXF1aXJlcyBlbnN1cmlu
ZyBhCi1udW1iZXIgb2YgY29uc2lkZXJhdGlvbnMgd2hpY2ggY2Fubm90IGJlIHZlcmlmaWVkIHdp
dGggdGhlICJ1bml0IHRlc3RpbmciCi1zdHJhdGVneS4gVGhlc2UgaW5jbHVkZToKLQotLSBFbnN1
cmluZyB0aGF0IHNvbWUgdGVzdHMgYXJlIG5vdCBydW4KLS0gRW5zdXJpbmcgY29uZGl0aW9ucyB0
aGF0IGNhdXNlIHRlc3QgZmFpbHVyZXMKLS0gRW5zdXJpbmcgY29uZGl0aW9ucyB0aGF0IGNhdXNl
IGhhcm5lc3MgZXJyb3JzCi0KLUZ1bmN0aW9uYWwgdGVzdHMgYWxsb3cgZm9yIHRoZXNlIGRldGFp
bHMgdG8gYmUgdmVyaWZpZWQuIEV2ZXJ5IGZ1bmN0aW9uYWwgdGVzdAotbXVzdCBpbmNsdWRlIGEg
c3VtbWFyeSBvZiB0aGUgZXhwZWN0ZWQgcmVzdWx0cyBhcyBhIEpTT04gc3RyaW5nIHdpdGhpbiBh
Ci1gPHNjcmlwdD5gIHRhZyB3aXRoIGFuIGBpZGAgb2YgYCJleHBlY3RlZCJgLCBlLmcuOgotCi0g
ICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2pzb24iIGlkPSJleHBlY3RlZCI+Ci0gICAgewotICAgICAg
InN1bW1hcml6ZWRfc3RhdHVzIjogewotICAgICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAg
ICJzdGFjayI6IG51bGwsCi0gICAgICAgICJzdGF0dXNfc3RyaW5nIjogIk9LIgotICAgICAgfSwK
LSAgICAgICJzdW1tYXJpemVkX3Rlc3RzIjogWwotICAgICAgICB7Ci0gICAgICAgICAgIm1lc3Nh
Z2UiOiAiUmVmZXJlbmNlRXJyb3I6IGludmFsaWQgYXNzaWdubWVudCBsZWZ0LWhhbmQgc2lkZSIs
Ci0gICAgICAgICAgIm5hbWUiOiAiU2FtcGxlIEhUTUw1IEFQSSBUZXN0cyIsCi0gICAgICAgICAg
InByb3BlcnRpZXMiOiB7fSwKLSAgICAgICAgICAic3RhY2siOiAiKGltcGxlbWVudGF0aW9uLWRl
ZmluZWQpIiwKLSAgICAgICAgICAic3RhdHVzX3N0cmluZyI6ICJGQUlMIgotICAgICAgICB9Ci0g
ICAgICBdLAotICAgICAgInR5cGUiOiAiY29tcGxldGUiCi0gICAgfQotICAgIDwvc2NyaXB0Pgot
Ci1gdGVzdGhhcm5lc3MuanNgIGlzIGV4cGVjdGVkIHRvIGZ1bmN0aW9uIGNvbnNpc3RlbnRseSBp
biBhIG51bWJlciBvZgotZGlzdGluY3QgZW52aXJvbm1lbnRzLiBJbiBvcmRlciB0byB2ZXJpZnkg
dGhpcyBleHBlY3RhdGlvbiwgZWFjaCBmdW5jdGlvbmFsCi10ZXN0IG1heSBiZSBleGVjdXRlZCB1
bmRlciBhIG51bWJlciBvZiBkaXN0aW5jdCBjb25kaXRpb25zLiBUaGVzZSBjb25kaXRpb25zCi1h
cmUgYXBwbGllZCB1c2luZyBXUFQncyAidGVzdCB2YXJpYW50cyIgcGF0dGVybi4gVGhlIGF2YWls
YWJsZSB2YXJpYW50cyBhcmUKLWRlZmluZWQgaW4gdGhlIGB2YXJpYW50cy5qc2AgZmlsZTsgdGhp
cyBmaWxlIG11c3QgYmUgaW5jbHVkZWQgYmVmb3JlCi1gdGVzdGhhcm5lc3MuanNgLiBFdmVyeSB0
ZXN0IG11c3Qgc3BlY2lmeSBhdCBsZWFzdCBvbmUgdmFyaWFudC4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvY29u
ZnRlc3QucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy90ZXN0L2NvbmZ0ZXN0LnB5CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0
Y2FhNzk0M2ZiNy4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC9jb25mdGVzdC5weQorKysgL2Rldi9udWxs
CkBAIC0xLDI0MiArMCwwIEBACi1pbXBvcnQgaW8KLWltcG9ydCBqc29uCi1pbXBvcnQgb3MKLWlt
cG9ydCBzc2wKLQotaW1wb3J0IGh0bWw1bGliCi1pbXBvcnQgcHkKLWltcG9ydCBweXRlc3QKLWZy
b20gc2VsZW5pdW0gaW1wb3J0IHdlYmRyaXZlcgotZnJvbSBzaXggaW1wb3J0IHRleHRfdHlwZQot
ZnJvbSBzaXgubW92ZXMgaW1wb3J0IHVybGxpYgotCi1mcm9tIHdwdHNlcnZlciBpbXBvcnQgV1BU
U2VydmVyCi0KLUhFUkUgPSBvcy5wYXRoLmRpcm5hbWUob3MucGF0aC5hYnNwYXRoKF9fZmlsZV9f
KSkKLVdQVF9ST09UID0gb3MucGF0aC5ub3JtcGF0aChvcy5wYXRoLmpvaW4oSEVSRSwgJy4uJywg
Jy4uJykpCi1IQVJORVNTID0gb3MucGF0aC5qb2luKEhFUkUsICdoYXJuZXNzLmh0bWwnKQotVEVT
VF9UWVBFUyA9ICgnZnVuY3Rpb25hbCcsICd1bml0JykKLQotCi1kZWYgcHl0ZXN0X2FkZG9wdGlv
bihwYXJzZXIpOgotICAgIHBhcnNlci5hZGRvcHRpb24oIi0tYmluYXJ5IiwgYWN0aW9uPSJzdG9y
ZSIsIGRlZmF1bHQ9Tm9uZSwgaGVscD0icGF0aCB0byBicm93c2VyIGJpbmFyeSIpCi0KLQotZGVm
IHB5dGVzdF9jb2xsZWN0X2ZpbGUocGF0aCwgcGFyZW50KToKLSAgICBpZiBwYXRoLmV4dC5sb3dl
cigpICE9ICcuaHRtbCc6Ci0gICAgICAgIHJldHVybgotCi0gICAgIyBUZXN0cyBhcmUgb3JnYW5p
emVkIGluIGRpcmVjdG9yaWVzIGJ5IHR5cGUKLSAgICB0ZXN0X3R5cGUgPSBvcy5wYXRoLnJlbHBh
dGgoc3RyKHBhdGgpLCBIRVJFKQotICAgIGlmIG9zLnBhdGguc2VwIG5vdCBpbiB0ZXN0X3R5cGUg
b3IgIi4uIiBpbiB0ZXN0X3R5cGU6Ci0gICAgICAgICMgSFRNTCBmaWxlcyBpbiB0aGlzIGRpcmVj
dG9yeSBhcmUgbm90IHRlc3RzCi0gICAgICAgIHJldHVybgotICAgIHRlc3RfdHlwZSA9IHRlc3Rf
dHlwZS5zcGxpdChvcy5wYXRoLnNlcClbMV0KLQotICAgIHJldHVybiBIVE1MSXRlbShzdHIocGF0
aCksIHRlc3RfdHlwZSwgcGFyZW50KQotCi0KLWRlZiBweXRlc3RfY29uZmlndXJlKGNvbmZpZyk6
Ci0gICAgY29uZmlnLmRyaXZlciA9IHdlYmRyaXZlci5GaXJlZm94KGZpcmVmb3hfYmluYXJ5PWNv
bmZpZy5nZXRvcHRpb24oIi0tYmluYXJ5IikpCi0gICAgY29uZmlnLmFkZF9jbGVhbnVwKGNvbmZp
Zy5kcml2ZXIucXVpdCkKLQotICAgIGNvbmZpZy5zZXJ2ZXIgPSBXUFRTZXJ2ZXIoV1BUX1JPT1Qp
Ci0gICAgY29uZmlnLnNlcnZlci5zdGFydCgpCi0gICAgIyBBbHRob3VnaCB0aGUgbmFtZSBvZiB0
aGUgYF9jcmVhdGVfdW52ZXJpZmllZF9jb250ZXh0YCBtZXRob2Qgc3VnZ2VzdHMKLSAgICAjIHRo
YXQgaXQgaXMgbm90IGludGVuZGVkIGZvciBleHRlcm5hbCBjb25zdW1wdGlvbiwgdGhlIHN0YW5k
YXJkIGxpYnJhcnkncwotICAgICMgZG9jdW1lbnRhdGlvbiBleHBsaWNpdGx5IGVuZG9yc2VzIGl0
cyB1c2U6Ci0gICAgIwotICAgICMgPiBUbyByZXZlcnQgdG8gdGhlIHByZXZpb3VzLCB1bnZlcmlm
aWVkLCBiZWhhdmlvcgotICAgICMgPiBzc2wuX2NyZWF0ZV91bnZlcmlmaWVkX2NvbnRleHQoKSBj
YW4gYmUgcGFzc2VkIHRvIHRoZSBjb250ZXh0Ci0gICAgIyA+IHBhcmFtZXRlci4KLSAgICAjCi0g
ICAgIyBodHRwczovL2RvY3MucHl0aG9uLm9yZy8yL2xpYnJhcnkvaHR0cGxpYi5odG1sI2h0dHBs
aWIuSFRUUFNDb25uZWN0aW9uCi0gICAgY29uZmlnLnNzbF9jb250ZXh0ID0gc3NsLl9jcmVhdGVf
dW52ZXJpZmllZF9jb250ZXh0KCkKLSAgICBjb25maWcuYWRkX2NsZWFudXAoY29uZmlnLnNlcnZl
ci5zdG9wKQotCi0KLWRlZiByZXNvbHZlX3VyaShjb250ZXh0LCB1cmkpOgotICAgIGlmIHVyaS5z
dGFydHN3aXRoKCcvJyk6Ci0gICAgICAgIGJhc2UgPSBXUFRfUk9PVAotICAgICAgICBwYXRoID0g
dXJpWzE6XQotICAgIGVsc2U6Ci0gICAgICAgIGJhc2UgPSBvcy5wYXRoLmRpcm5hbWUoY29udGV4
dCkKLSAgICAgICAgcGF0aCA9IHVyaQotCi0gICAgcmV0dXJuIG9zLnBhdGguZXhpc3RzKG9zLnBh
dGguam9pbihiYXNlLCBwYXRoKSkKLQotCi1jbGFzcyBIVE1MSXRlbShweXRlc3QuSXRlbSwgcHl0
ZXN0LkNvbGxlY3Rvcik6Ci0gICAgZGVmIF9faW5pdF9fKHNlbGYsIGZpbGVuYW1lLCB0ZXN0X3R5
cGUsIHBhcmVudCk6Ci0gICAgICAgIHNlbGYudXJsID0gcGFyZW50LnNlc3Npb24uY29uZmlnLnNl
cnZlci51cmwoZmlsZW5hbWUpCi0gICAgICAgIHNlbGYudHlwZSA9IHRlc3RfdHlwZQotICAgICAg
ICBzZWxmLnZhcmlhbnRzID0gW10KLSAgICAgICAgIyBTb21lIHRlc3RzIGFyZSByZWxpYW50IG9u
IHRoZSBXUFQgc2VydmVycyBzdWJzdGl0dXRpb24gZnVuY3Rpb25hbGl0eSwKLSAgICAgICAgIyBz
byB0ZXN0cyBtdXN0IGJlIHJldHJpZXZlZCBmcm9tIHRoZSBzZXJ2ZXIgcmF0aGVyIHRoYW4gcmVh
ZCBmcm9tIHRoZQotICAgICAgICAjIGZpbGUgc3lzdGVtIGRpcmVjdGx5LgotICAgICAgICBoYW5k
bGUgPSB1cmxsaWIucmVxdWVzdC51cmxvcGVuKHNlbGYudXJsLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQ9cGFyZW50LnNlc3Npb24uY29uZmlnLnNzbF9j
b250ZXh0KQotICAgICAgICB0cnk6Ci0gICAgICAgICAgICBtYXJrdXAgPSBoYW5kbGUucmVhZCgp
Ci0gICAgICAgIGZpbmFsbHk6Ci0gICAgICAgICAgICBoYW5kbGUuY2xvc2UoKQotCi0gICAgICAg
IGlmIHRlc3RfdHlwZSBub3QgaW4gVEVTVF9UWVBFUzoKLSAgICAgICAgICAgIHJhaXNlIFZhbHVl
RXJyb3IoJ1VucmVjb2duaXplZCB0ZXN0IHR5cGU6ICIlcyInICUgdGVzdF90eXBlKQotCi0gICAg
ICAgIHBhcnNlZCA9IGh0bWw1bGliLnBhcnNlKG1hcmt1cCwgbmFtZXNwYWNlSFRNTEVsZW1lbnRz
PUZhbHNlKQotICAgICAgICBuYW1lID0gTm9uZQotICAgICAgICBpbmNsdWRlc192YXJpYW50c19z
Y3JpcHQgPSBGYWxzZQotICAgICAgICBzZWxmLmV4cGVjdGVkID0gTm9uZQotCi0gICAgICAgIGZv
ciBlbGVtZW50IGluIHBhcnNlZC5nZXRpdGVyYXRvcigpOgotICAgICAgICAgICAgaWYgbm90IG5h
bWUgYW5kIGVsZW1lbnQudGFnID09ICd0aXRsZSc6Ci0gICAgICAgICAgICAgICAgbmFtZSA9IGVs
ZW1lbnQudGV4dAotICAgICAgICAgICAgICAgIGNvbnRpbnVlCi0gICAgICAgICAgICBpZiBlbGVt
ZW50LnRhZyA9PSAnbWV0YScgYW5kIGVsZW1lbnQuYXR0cmliLmdldCgnbmFtZScpID09ICd2YXJp
YW50JzoKLSAgICAgICAgICAgICAgICBzZWxmLnZhcmlhbnRzLmFwcGVuZChlbGVtZW50LmF0dHJp
Yi5nZXQoJ2NvbnRlbnQnKSkKLSAgICAgICAgICAgICAgICBjb250aW51ZQotICAgICAgICAgICAg
aWYgZWxlbWVudC50YWcgPT0gJ3NjcmlwdCc6Ci0gICAgICAgICAgICAgICAgaWYgZWxlbWVudC5h
dHRyaWIuZ2V0KCdpZCcpID09ICdleHBlY3RlZCc6Ci0gICAgICAgICAgICAgICAgICAgIHNlbGYu
ZXhwZWN0ZWQgPSBqc29uLmxvYWRzKHRleHRfdHlwZShlbGVtZW50LnRleHQpKQotCi0gICAgICAg
ICAgICAgICAgc3JjID0gZWxlbWVudC5hdHRyaWIuZ2V0KCdzcmMnLCAnJykKLQotICAgICAgICAg
ICAgICAgIGlmICd2YXJpYW50cy5qcycgaW4gc3JjOgotICAgICAgICAgICAgICAgICAgICBpbmNs
dWRlc192YXJpYW50c19zY3JpcHQgPSBUcnVlCi0gICAgICAgICAgICAgICAgICAgIGlmIG5vdCBy
ZXNvbHZlX3VyaShmaWxlbmFtZSwgc3JjKToKLSAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNl
IFZhbHVlRXJyb3IoJ0NvdWxkIG5vdCByZXNvbHZlIHBhdGggIiVzIiBmcm9tICVzJyAlIChzcmMs
IGZpbGVuYW1lKSkKLQotICAgICAgICBpZiBub3QgbmFtZToKLSAgICAgICAgICAgIHJhaXNlIFZh
bHVlRXJyb3IoJ05vIG5hbWUgZm91bmQgaW4gZmlsZTogJXMnICUgZmlsZW5hbWUpCi0gICAgICAg
IGVsaWYgc2VsZi50eXBlID09ICdmdW5jdGlvbmFsJzoKLSAgICAgICAgICAgIGlmIG5vdCBzZWxm
LmV4cGVjdGVkOgotICAgICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoJ0Z1bmN0aW9uYWwg
dGVzdHMgbXVzdCBzcGVjaWZ5IGV4cGVjdGVkIHJlcG9ydCBkYXRhJykKLSAgICAgICAgICAgIGlm
IG5vdCBpbmNsdWRlc192YXJpYW50c19zY3JpcHQ6Ci0gICAgICAgICAgICAgICAgcmFpc2UgVmFs
dWVFcnJvcignTm8gdmFyaWFudHMgc2NyaXB0IGZvdW5kIGluIGZpbGU6ICVzJyAlIGZpbGVuYW1l
KQotICAgICAgICAgICAgaWYgbGVuKHNlbGYudmFyaWFudHMpID09IDA6Ci0gICAgICAgICAgICAg
ICAgcmFpc2UgVmFsdWVFcnJvcignTm8gdGVzdCB2YXJpYW50cyBzcGVjaWZpZWQgaW4gZmlsZSAl
cycgJSBmaWxlbmFtZSkKLSAgICAgICAgZWxpZiBzZWxmLnR5cGUgPT0gJ3VuaXQnIGFuZCBzZWxm
LmV4cGVjdGVkOgotICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcignVW5pdCB0ZXN0cyBtdXN0
IG5vdCBzcGVjaWZ5IGV4cGVjdGVkIHJlcG9ydCBkYXRhJykKLQotICAgICAgICAjIEVuc3VyZSB0
aGF0IGRpc3RpbmN0IGl0ZW1zIGhhdmUgZGlzdGluY3QgZnNwYXRoIGF0dHJpYnV0ZXMuCi0gICAg
ICAgICMgVGhpcyBpcyBuZWNlc3NhcnkgYmVjYXVzZSBweXRlc3QgaGFzIGFuIGludGVybmFsIGNh
Y2hlIGtleWVkIG9uIGl0LAotICAgICAgICAjIGFuZCBvbmx5IHRoZSBmaXJzdCB0ZXN0IHdpdGgg
YW55IGdpdmVuIGZzcGF0aCB3aWxsIGJlIHJ1bi4KLSAgICAgICAgIwotICAgICAgICAjIFRoaXMg
Y2Fubm90IHVzZSBzdXBlcihIVE1MSXRlbSwgc2VsZikuX19pbml0X18oLi4pIGJlY2F1c2Ugb25s
eSB0aGUKLSAgICAgICAgIyBDb2xsZWN0b3IgY29uc3RydWN0b3IgdGFrZXMgdGhlIGZzcGF0aCBh
cmd1bWVudC4KLSAgICAgICAgcHl0ZXN0Lkl0ZW0uX19pbml0X18oc2VsZiwgbmFtZSwgcGFyZW50
KQotICAgICAgICBweXRlc3QuQ29sbGVjdG9yLl9faW5pdF9fKHNlbGYsIG5hbWUsIHBhcmVudCwg
ZnNwYXRoPXB5LnBhdGgubG9jYWwoZmlsZW5hbWUpKQotCi0KLSAgICBkZWYgcmVwb3J0aW5mbyhz
ZWxmKToKLSAgICAgICAgcmV0dXJuIHNlbGYuZnNwYXRoLCBOb25lLCBzZWxmLnVybAotCi0gICAg
ZGVmIHJlcHJfZmFpbHVyZShzZWxmLCBleGNpbmZvKToKLSAgICAgICAgcmV0dXJuIHB5dGVzdC5D
b2xsZWN0b3IucmVwcl9mYWlsdXJlKHNlbGYsIGV4Y2luZm8pCi0KLSAgICBkZWYgcnVudGVzdChz
ZWxmKToKLSAgICAgICAgaWYgc2VsZi50eXBlID09ICd1bml0JzoKLSAgICAgICAgICAgIHNlbGYu
X3J1bl91bml0X3Rlc3QoKQotICAgICAgICBlbGlmIHNlbGYudHlwZSA9PSAnZnVuY3Rpb25hbCc6
Ci0gICAgICAgICAgICBzZWxmLl9ydW5fZnVuY3Rpb25hbF90ZXN0KCkKLSAgICAgICAgZWxzZToK
LSAgICAgICAgICAgIHJhaXNlIE5vdEltcGxlbWVudGVkRXJyb3IKLQotICAgIGRlZiBfcnVuX3Vu
aXRfdGVzdChzZWxmKToKLSAgICAgICAgZHJpdmVyID0gc2VsZi5zZXNzaW9uLmNvbmZpZy5kcml2
ZXIKLSAgICAgICAgc2VydmVyID0gc2VsZi5zZXNzaW9uLmNvbmZpZy5zZXJ2ZXIKLQotICAgICAg
ICBkcml2ZXIuZ2V0KHNlcnZlci51cmwoSEFSTkVTUykpCi0KLSAgICAgICAgYWN0dWFsID0gZHJp
dmVyLmV4ZWN1dGVfYXN5bmNfc2NyaXB0KAotICAgICAgICAgICAgJ3J1blRlc3QoIiVzIiwgImZv
byIsIGFyZ3VtZW50c1swXSknICUgc2VsZi51cmwKLSAgICAgICAgKQotCi0gICAgICAgIHN1bW1h
cml6ZWQgPSBzZWxmLl9zdW1tYXJpemUoYWN0dWFsKQotCi0gICAgICAgIGFzc2VydCBzdW1tYXJp
emVkW3Unc3VtbWFyaXplZF9zdGF0dXMnXVt1J3N0YXR1c19zdHJpbmcnXSA9PSB1J09LJywgc3Vt
bWFyaXplZFt1J3N1bW1hcml6ZWRfc3RhdHVzJ11bdSdtZXNzYWdlJ10KLSAgICAgICAgZm9yIHRl
c3QgaW4gc3VtbWFyaXplZFt1J3N1bW1hcml6ZWRfdGVzdHMnXToKLSAgICAgICAgICAgIG1zZyA9
ICIlc1xuJXMiICUgKHRlc3RbdSduYW1lJ10sIHRlc3RbdSdtZXNzYWdlJ10pCi0gICAgICAgICAg
ICBhc3NlcnQgdGVzdFt1J3N0YXR1c19zdHJpbmcnXSA9PSB1J1BBU1MnLCBtc2cKLQotICAgIGRl
ZiBfcnVuX2Z1bmN0aW9uYWxfdGVzdChzZWxmKToKLSAgICAgICAgZm9yIHZhcmlhbnQgaW4gc2Vs
Zi52YXJpYW50czoKLSAgICAgICAgICAgIHNlbGYuX3J1bl9mdW5jdGlvbmFsX3Rlc3RfdmFyaWFu
dCh2YXJpYW50KQotCi0gICAgZGVmIF9ydW5fZnVuY3Rpb25hbF90ZXN0X3ZhcmlhbnQoc2VsZiwg
dmFyaWFudCk6Ci0gICAgICAgIGRyaXZlciA9IHNlbGYuc2Vzc2lvbi5jb25maWcuZHJpdmVyCi0g
ICAgICAgIHNlcnZlciA9IHNlbGYuc2Vzc2lvbi5jb25maWcuc2VydmVyCi0KLSAgICAgICAgZHJp
dmVyLmdldChzZXJ2ZXIudXJsKEhBUk5FU1MpKQotCi0gICAgICAgIHRlc3RfdXJsID0gc2VsZi51
cmwgKyB2YXJpYW50Ci0gICAgICAgIGFjdHVhbCA9IGRyaXZlci5leGVjdXRlX2FzeW5jX3Njcmlw
dCgncnVuVGVzdCgiJXMiLCAiZm9vIiwgYXJndW1lbnRzWzBdKScgJSB0ZXN0X3VybCkKLQotICAg
ICAgICAjIFRlc3Qgb2JqZWN0IG9yZGVyaW5nIGlzIG5vdCBndWFyYW50ZWVkLiBUaGlzIHdlYWsg
YXNzZXJ0aW9uIHZlcmlmaWVzCi0gICAgICAgICMgdGhhdCB0aGUgaW5kaWNlcyBhcmUgdW5pcXVl
IGFuZCBzZXF1ZW50aWFsCi0gICAgICAgIGluZGljZXMgPSBbdGVzdF9vYmouZ2V0KCdpbmRleCcp
IGZvciB0ZXN0X29iaiBpbiBhY3R1YWxbJ3Rlc3RzJ11dCi0gICAgICAgIHNlbGYuX2Fzc2VydF9z
ZXF1ZW5jZShpbmRpY2VzKQotCi0gICAgICAgIHN1bW1hcml6ZWQgPSBzZWxmLl9zdW1tYXJpemUo
YWN0dWFsKQotICAgICAgICBzZWxmLmV4cGVjdGVkW3Unc3VtbWFyaXplZF90ZXN0cyddLnNvcnQo
a2V5PWxhbWJkYSB0ZXN0X29iajogdGVzdF9vYmouZ2V0KCduYW1lJykpCi0KLSAgICAgICAgYXNz
ZXJ0IHN1bW1hcml6ZWQgPT0gc2VsZi5leHBlY3RlZAotCi0gICAgZGVmIF9zdW1tYXJpemUoc2Vs
ZiwgYWN0dWFsKToKLSAgICAgICAgc3VtbWFyaXplZCA9IHt9Ci0KLSAgICAgICAgc3VtbWFyaXpl
ZFt1J3N1bW1hcml6ZWRfc3RhdHVzJ10gPSBzZWxmLl9zdW1tYXJpemVfc3RhdHVzKGFjdHVhbFsn
c3RhdHVzJ10pCi0gICAgICAgIHN1bW1hcml6ZWRbdSdzdW1tYXJpemVkX3Rlc3RzJ10gPSBbCi0g
ICAgICAgICAgICBzZWxmLl9zdW1tYXJpemVfdGVzdCh0ZXN0KSBmb3IgdGVzdCBpbiBhY3R1YWxb
J3Rlc3RzJ11dCi0gICAgICAgIHN1bW1hcml6ZWRbdSdzdW1tYXJpemVkX3Rlc3RzJ10uc29ydChr
ZXk9bGFtYmRhIHRlc3Rfb2JqOiB0ZXN0X29iai5nZXQoJ25hbWUnKSkKLSAgICAgICAgc3VtbWFy
aXplZFt1J3R5cGUnXSA9IGFjdHVhbFsndHlwZSddCi0KLSAgICAgICAgcmV0dXJuIHN1bW1hcml6
ZWQKLQotICAgIEBzdGF0aWNtZXRob2QKLSAgICBkZWYgX2Fzc2VydF9zZXF1ZW5jZShudW1zKToK
LSAgICAgICAgaWYgbnVtcyBhbmQgbGVuKG51bXMpID4gMDoKLSAgICAgICAgICAgIGFzc2VydCBu
dW1zID09IGxpc3QocmFuZ2UoMSwgbnVtc1stMV0gKyAxKSkKLQotICAgIEBzdGF0aWNtZXRob2QK
LSAgICBkZWYgX3NjcnViX3N0YWNrKHRlc3Rfb2JqKToKLSAgICAgICAgY29weSA9IGRpY3QodGVz
dF9vYmopCi0gICAgICAgIGRlbCBjb3B5WydzdGFjayddCi0gICAgICAgIHJldHVybiBjb3B5Ci0K
LSAgICBAc3RhdGljbWV0aG9kCi0gICAgZGVmIF9leHBhbmRfc3RhdHVzKHN0YXR1c19vYmopOgot
ICAgICAgICBmb3Iga2V5LCB2YWx1ZSBpbiBbaXRlbSBmb3IgaXRlbSBpbiBzdGF0dXNfb2JqLml0
ZW1zKCldOgotICAgICAgICAgICAgIyBJbiAic3RhdHVzIiBhbmQgInRlc3QiIG9iamVjdHMsIHRo
ZSAic3RhdHVzIiB2YWx1ZSBlbnVtCi0gICAgICAgICAgICAjIGRlZmluaXRpb25zIGFyZSBpbnRl
cnNwZXJzZWQgd2l0aCBwcm9wZXJ0aWVzIGZvciB1bnJlbGF0ZWQKLSAgICAgICAgICAgICMgbWV0
YWRhdGEuIFRoZSBmb2xsb3dpbmcgY29uZGl0aW9uIGlzIGEgYmVzdC1lZmZvcnQgYXR0ZW1wdCB0
bwotICAgICAgICAgICAgIyBpZ25vcmUgbm9uLWVudW0gcHJvcGVydGllcy4KLSAgICAgICAgICAg
IGlmIGtleSAhPSBrZXkudXBwZXIoKSBvciBub3QgaXNpbnN0YW5jZSh2YWx1ZSwgaW50KToKLSAg
ICAgICAgICAgICAgICBjb250aW51ZQotCi0gICAgICAgICAgICBkZWwgc3RhdHVzX29ialtrZXld
Ci0KLSAgICAgICAgICAgIGlmIHN0YXR1c19vYmpbJ3N0YXR1cyddID09IHZhbHVlOgotICAgICAg
ICAgICAgICAgIHN0YXR1c19vYmpbdSdzdGF0dXNfc3RyaW5nJ10gPSBrZXkKLQotICAgICAgICBk
ZWwgc3RhdHVzX29ialsnc3RhdHVzJ10KLQotICAgICAgICByZXR1cm4gc3RhdHVzX29iagotCi0g
ICAgQHN0YXRpY21ldGhvZAotICAgIGRlZiBfc3VtbWFyaXplX3Rlc3QodGVzdF9vYmopOgotICAg
ICAgICBkZWwgdGVzdF9vYmpbJ2luZGV4J10KLQotICAgICAgICBhc3NlcnQgJ3BoYXNlJyBpbiB0
ZXN0X29iagotICAgICAgICBhc3NlcnQgJ3BoYXNlcycgaW4gdGVzdF9vYmoKLSAgICAgICAgYXNz
ZXJ0ICdDT01QTEVURScgaW4gdGVzdF9vYmpbJ3BoYXNlcyddCi0gICAgICAgIGFzc2VydCB0ZXN0
X29ialsncGhhc2UnXSA9PSB0ZXN0X29ialsncGhhc2VzJ11bJ0NPTVBMRVRFJ10KLSAgICAgICAg
ZGVsIHRlc3Rfb2JqWydwaGFzZXMnXQotICAgICAgICBkZWwgdGVzdF9vYmpbJ3BoYXNlJ10KLQot
ICAgICAgICByZXR1cm4gSFRNTEl0ZW0uX2V4cGFuZF9zdGF0dXMoSFRNTEl0ZW0uX3NjcnViX3N0
YWNrKHRlc3Rfb2JqKSkKLQotICAgIEBzdGF0aWNtZXRob2QKLSAgICBkZWYgX3N1bW1hcml6ZV9z
dGF0dXMoc3RhdHVzX29iaik6Ci0gICAgICAgIHJldHVybiBIVE1MSXRlbS5fZXhwYW5kX3N0YXR1
cyhIVE1MSXRlbS5fc2NydWJfc3RhY2soc3RhdHVzX29iaikpCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L2hhcm5l
c3MuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3Rlc3QvaGFybmVzcy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1
ZWUwZjI4NWU4My4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC9oYXJuZXNzLmh0bWwKKysrIC9kZXYvbnVs
bApAQCAtMSwyNiArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotICA8aGVhZD4KLSAg
ICA8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hh
cnNldD11dGYtOCI+Ci0gIDwvaGVhZD4KLSAgPGJvZHk+Ci0gICAgPHNjcmlwdD4KLWZ1bmN0aW9u
IHJ1blRlc3QodXJsLCBpZCwgZG9uZSkgewotICB2YXIgY2hpbGQ7Ci0KLSAgZnVuY3Rpb24gb25N
ZXNzYWdlKGV2ZW50KSB7Ci0gICAgaWYgKCFldmVudC5kYXRhIHx8IGV2ZW50LmRhdGEudHlwZSAh
PT0gJ2NvbXBsZXRlJykgewotICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIHdpbmRvdy5yZW1v
dmVFdmVudExpc3RlbmVyKCdtZXNzYWdlJywgb25NZXNzYWdlKTsKLSAgICBjaGlsZC5jbG9zZSgp
OwotICAgIGRvbmUoZXZlbnQuZGF0YSk7Ci0gIH0KLSAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIo
J21lc3NhZ2UnLCBvbk1lc3NhZ2UpOwotCi0gIHdpbmRvdy5jaGlsZCA9IGNoaWxkID0gd2luZG93
Lm9wZW4odXJsLCBpZCk7Ci19Ci0gICAgPC9zY3JpcHQ+Ci0gIDwvYm9keT4KLTwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3Rlc3QvaWRsLWhlbHBlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvaWRsLWhlbHBlci5qcwpkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMmI3MzUyN2ZmMmIuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvaWRsLWhl
bHBlci5qcworKysgL2Rldi9udWxsCkBAIC0xLDI0ICswLDAgQEAKLSJ1c2Ugc3RyaWN0IjsKLQot
dmFyIHR5cGVkZWZGcm9tID0gaW50ZXJmYWNlRnJvbTsKLXZhciBkaWN0aW9uYXJ5RnJvbSA9IGlu
dGVyZmFjZUZyb207Ci1mdW5jdGlvbiBpbnRlcmZhY2VGcm9tKGkpIHsKLSAgICB2YXIgaWRsID0g
bmV3IElkbEFycmF5KCk7Ci0gICAgaWRsLmFkZF9pZGxzKGkpOwotICAgIGZvciAodmFyIHByb3Ag
aW4gaWRsLm1lbWJlcnMpIHsKLSAgICAgICAgcmV0dXJuIGlkbC5tZW1iZXJzW3Byb3BdOwotICAg
IH0KLX0KLQotZnVuY3Rpb24gbWVtYmVyRnJvbShtKSB7Ci0gICAgdmFyIGlkbCA9IG5ldyBJZGxB
cnJheSgpOwotICAgIGlkbC5hZGRfaWRscygnaW50ZXJmYWNlIEEgeyAnICsgbSArICc7IH07Jyk7
Ci0gICAgcmV0dXJuIGlkbC5tZW1iZXJzWyJBIl0ubWVtYmVyc1swXTsKLX0KLQotZnVuY3Rpb24g
dHlwZUZyb20odHlwZSkgewotICAgIHZhciBhc3QgPSBXZWJJREwyLnBhcnNlKCdpbnRlcmZhY2Ug
Rm9vIHsgJyArIHR5cGUgKyAnIGEoKTsgfTsnKTsKLSAgICBhc3QgPSBhc3RbMF07IC8vIGdldCB0
aGUgZmlyc3QgZnJhZ21lbnQKLSAgICBhc3QgPSBhc3QubWVtYmVyc1swXTsgLy8gZ2V0IHRoZSBm
aXJzdCBtZW1iZXIKLSAgICByZXR1cm4gYXN0LmlkbFR5cGU7IC8vIGdldCB0aGUgdHlwZSBvZiB0
aGUgZmlyc3QgZmllbGQKLX0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvbmVzdGVkLXRlc3RoYXJuZXNzLmpzIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVz
dC9uZXN0ZWQtdGVzdGhhcm5lc3MuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQ5
N2MxNTY4Yzc1Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L25lc3RlZC10ZXN0aGFybmVzcy5qcworKysg
L2Rldi9udWxsCkBAIC0xLDgwICswLDAgQEAKLSd1c2Ugc3RyaWN0JzsKLQotLyoqCi0gKiBFeGVj
dXRlIHRlc3RoYXJuZXNzLmpzIGFuZCBvbmUgb3IgbW9yZSBzY3JpcHRzIGluIGFuIGlmcmFtZS4g
UmVwb3J0IHRoZQotICogcmVzdWx0cyBvZiB0aGUgZXhlY3V0aW9uLgotICoKLSAqIEBwYXJhbSB7
Li4uZnVuY3Rpb258Li4uc3RyaW5nfSBib2RpZXMgLSBhIGZ1bmN0aW9uIGJvZHkuIElmIHNwZWNp
ZmllZCBhcyBhCi0gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVu
Y3Rpb24gb2JqZWN0LCBpdCB3aWxsIGJlCi0gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgc2VyaWFsaXplZCB0byBhIHN0cmluZyB1c2luZyB0aGUKLSAqICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBidWlsdC1pbgotICogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGBGdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmdg
IHByaW9yCi0gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gaW5j
bHVzaW9uIGluIHRoZSBnZW5lcmF0ZWQKLSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpZnJhbWUuCi0gKgotICogQHJldHVybnMge1Byb21pc2V9IGV2ZW50dWFsIHZh
bHVlIGRlc2NyaWJpbmcgdGhlIHJlc3VsdCBvZiB0aGUgdGVzdAotICogICAgICAgICAgICAgICAg
ICAgIGV4ZWN1dGlvbjsgdGhlIHN1bW1hcnkgb2JqZWN0IGhhcyB0d28gcHJvcGVydGllczoKLSAq
ICAgICAgICAgICAgICAgICAgICBgaGFybmVzc2AgKGEgc3RyaW5nIGRlc2NyaWJpbmcgdGhlIGhh
cm5lc3Mgc3RhdHVzKSBhbmQKLSAqICAgICAgICAgICAgICAgICAgICBgdGVzdHNgIChhbiBvYmpl
Y3Qgd2hvc2UgIm93biIgcHJvcGVydHkgbmFtZXMgYXJlIHRoZQotICogICAgICAgICAgICAgICAg
ICAgIHRpdGxlcyBvZiB0aGUgZGVmaW5lZCBzdWItdGVzdHMgYW5kIHdob3NlIGFzc29jaWF0ZWQK
LSAqICAgICAgICAgICAgICAgICAgICB2YWx1ZXMgYXJlIHRoZSBzdWJ0ZXN0IHN0YXR1c2VzKS4K
LSAqLwotZnVuY3Rpb24gbWFrZVRlc3QoLi4uYm9kaWVzKSB7Ci0gIGNvbnN0IGNsb3NlU2NyaXB0
ID0gJzwnICsgJy9zY3JpcHQ+JzsKLSAgbGV0IHNyYyA9IGAKLTwhRE9DVFlQRSBIVE1MPgotPGh0
bWw+Ci08aGVhZD4KLTx0aXRsZT5Eb2N1bWVudCB0aXRsZTwvdGl0bGU+Ci08c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcz8ke01hdGgucmFuZG9tKCl9Ij4ke2Nsb3NlU2NyaXB0
fQotPC9oZWFkPgotCi08Ym9keT4KLTxkaXYgaWQ9ImxvZyI+PC9kaXY+YDsKLSAgYm9kaWVzLmZv
ckVhY2goKGJvZHkpID0+IHsKLSAgICBzcmMgKz0gJzxzY3JpcHQ+KCcgKyBib2R5ICsgJykoKTsn
ICsgY2xvc2VTY3JpcHQ7Ci0gIH0pOwotCi0gIGNvbnN0IGlmcmFtZSA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoJ2lmcmFtZScpOwotCi0gIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaWZyYW1l
KTsKLSAgaWZyYW1lLmNvbnRlbnREb2N1bWVudC53cml0ZShzcmMpOwotCi0gIHJldHVybiBuZXcg
UHJvbWlzZSgocmVzb2x2ZSkgPT4gewotICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdtZXNz
YWdlJywgZnVuY3Rpb24gb25NZXNzYWdlKGUpIHsKLSAgICAgIGlmIChlLnNvdXJjZSAhPT0gaWZy
YW1lLmNvbnRlbnRXaW5kb3cpIHsKLSAgICAgICAgcmV0dXJuOwotICAgICAgfQotICAgICAgaWYg
KCFlLmRhdGEgfHwgZS5kYXRhLnR5cGUgIT09J2NvbXBsZXRlJykgewotICAgICAgICByZXR1cm47
Ci0gICAgICB9Ci0gICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcignbWVzc2FnZScsIG9u
TWVzc2FnZSk7Ci0gICAgICByZXNvbHZlKGUuZGF0YSk7Ci0gICAgfSk7Ci0KLSAgICBpZnJhbWUu
Y29udGVudERvY3VtZW50LmNsb3NlKCk7Ci0gIH0pLnRoZW4oKHsgdGVzdHMsIHN0YXR1cyB9KSA9
PiB7Ci0gICAgY29uc3Qgc3VtbWFyeSA9IHsKLSAgICAgIGhhcm5lc3M6IGdldEVudW1Qcm9wKHN0
YXR1cywgc3RhdHVzLnN0YXR1cyksCi0gICAgICB0ZXN0czoge30KLSAgICB9OwotCi0gICAgdGVz
dHMuZm9yRWFjaCgodGVzdCkgPT4gewotICAgICAgc3VtbWFyeS50ZXN0c1t0ZXN0Lm5hbWVdID0g
Z2V0RW51bVByb3AodGVzdCwgdGVzdC5zdGF0dXMpOwotICAgIH0pOwotCi0gICAgcmV0dXJuIHN1
bW1hcnk7Ci0gIH0pOwotfQotCi1mdW5jdGlvbiBnZXRFbnVtUHJvcChvYmplY3QsIHZhbHVlKSB7
Ci0gIGZvciAobGV0IHByb3BlcnR5IGluIG9iamVjdCkgewotICAgIGlmICghL15bQS1aXSskLy50
ZXN0KHByb3BlcnR5KSkgewotICAgICAgY29udGludWU7Ci0gICAgfQotCi0gICAgaWYgKG9iamVj
dFtwcm9wZXJ0eV0gPT09IHZhbHVlKSB7Ci0gICAgICByZXR1cm4gcHJvcGVydHk7Ci0gICAgfQot
ICB9Ci19CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2FkZF9jbGVhbnVwLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Fk
ZF9jbGVhbnVwLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQ0N2U3ZmYyNGI3
Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2FkZF9jbGVhbnVwLmh0bWwKKysrIC9kZXYvbnVs
bApAQCAtMSw5NiArMCwwIEBACi08IURPQ1RZUEUgSFRNTD4KLTxodG1sPgotPGhlYWQ+Ci08dGl0
bGU+VGVzdCNhZGRfY2xlYW51cDwvdGl0bGU+Ci08c2NyaXB0IHNyYz0iLi4vLi4vdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGRpdiBpZD0ibG9nIj48L2Rpdj4KLTxzY3Jp
cHQ+Ci0idXNlIHN0cmljdCI7Ci0KLXZhciBsb2dfc3luYzsKLXRlc3QoZnVuY3Rpb24odCkgewot
ICBsb2dfc3luYyA9ICIiOwotICB0LmFkZF9jbGVhbnVwKGZ1bmN0aW9uKCkgeyBsb2dfc3luYyAr
PSAiMSI7IH0pOwotICB0LmFkZF9jbGVhbnVwKGZ1bmN0aW9uKCkgeyBsb2dfc3luYyArPSAiMiI7
IH0pOwotICB0LmFkZF9jbGVhbnVwKGZ1bmN0aW9uKCkgeyBsb2dfc3luYyArPSAiMyI7IH0pOwot
ICB0LmFkZF9jbGVhbnVwKGZ1bmN0aW9uKCkgeyBsb2dfc3luYyArPSAiNCI7IH0pOwotICB0LmFk
ZF9jbGVhbnVwKGZ1bmN0aW9uKCkgeyBsb2dfc3luYyArPSAiNSI7IH0pOwotICBsb2dfc3luYyAr
PSAiMCI7Ci19LCAicHJvYmUgc3luY2hyb25vdXMiKTsKLQotdGVzdChmdW5jdGlvbigpIHsKLSAg
aWYgKGxvZ19zeW5jICE9PSAiMDEyMzQ1IikgewotICAgIHRocm93IG5ldyBFcnJvcigiRXhwZWN0
ZWQ6ICcwMTIzNDUnLiBBY3R1YWw6ICciICsgbG9nX3N5bmMgKyAiJy4iKTsKLSAgfQotfSwgIkNs
ZWFudXAgbWV0aG9kcyBhcmUgaW52b2tlZCBleGFjdGx5IG9uY2UgYW5kIGluIHRoZSBleHBlY3Rl
ZCBzZXF1ZW5jZS4iKTsKLQotdmFyIGNvbXBsZXRlLCBsb2dfYXN5bmM7Ci1hc3luY190ZXN0KGZ1
bmN0aW9uKHQpIHsKLSAgY29tcGxldGUgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbigpIHsKLSAgICBp
ZiAobG9nX2FzeW5jICE9PSAiMDEyIikgewotICAgICAgdGhyb3cgbmV3IEVycm9yKCJFeHBlY3Rl
ZDogJzAxMicuIEFjdHVhbDogJyIgKyBsb2dfYXN5bmMgKyAiJy4iKTsKLSAgICB9Ci0KLSAgICB0
LmRvbmUoKTsKLSAgfSk7Ci19LCAiQ2xlYW51cCBtZXRob2RzIGFyZSBpbnZva2VkIGZvbGxvd2lu
ZyB0aGUgY29tcGxldGlvbiBvZiBhc3luY2hyb25vdXMgdGVzdHMiKTsKLQotYXN5bmNfdGVzdChm
dW5jdGlvbih0KSB7Ci0gIGxvZ19hc3luYyA9ICIiOwotICB0LmFkZF9jbGVhbnVwKGZ1bmN0aW9u
KCkgeyBsb2dfYXN5bmMgKz0gIjEiOyB9KTsKLQotICBzZXRUaW1lb3V0KHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKCkgewotICAgIHQuYWRkX2NsZWFudXAoZnVuY3Rpb24oKSB7Ci0gICAgICBsb2dfYXN5
bmMgKz0gIjIiOwotICAgICAgY29tcGxldGUoKTsKLSAgICB9KTsKLSAgICBsb2dfYXN5bmMgKz0g
IjAiOwotICAgIHQuZG9uZSgpOwotICB9KSwgMCk7Ci19LCAicHJvYmUgYXN5bmNocm9ub3VzIik7
Ci08L3NjcmlwdD4KLTxzY3JpcHQgdHlwZT0idGV4dC9qc29uIiBpZD0iZXhwZWN0ZWQiPgotewot
ICAic3VtbWFyaXplZF9zdGF0dXMiOiB7Ci0gICAgInN0YXR1c19zdHJpbmciOiAiT0siLAotICAg
ICJtZXNzYWdlIjogbnVsbCwKLSAgICAic3RhY2siOiBudWxsCi0gIH0sCi0gICJzdW1tYXJpemVk
X3Rlc3RzIjogWwotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAg
Im5hbWUiOiAiQ2xlYW51cCBtZXRob2RzIGFyZSBpbnZva2VkIGV4YWN0bHkgb25jZSBhbmQgaW4g
dGhlIGV4cGVjdGVkIHNlcXVlbmNlLiIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAg
Im1lc3NhZ2UiOiBudWxsLAotICAgICAgInN0YWNrIjogbnVsbAotICAgIH0sCi0gICAgewotICAg
ICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJDbGVhbnVwIG1ldGhv
ZHMgYXJlIGludm9rZWQgZm9sbG93aW5nIHRoZSBjb21wbGV0aW9uIG9mIGFzeW5jaHJvbm91cyB0
ZXN0cyIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsLAot
ICAgICAgInN0YWNrIjogbnVsbAotICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmci
OiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJwcm9iZSBhc3luY2hyb25vdXMiLAotICAgICAgInBy
b3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICJzdGFjayI6IG51
bGwKLSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAg
Im5hbWUiOiAicHJvYmUgc3luY2hyb25vdXMiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAg
ICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICJzdGFjayI6IG51bGwKLSAgICB9Ci0gIF0sCi0g
ICJ0eXBlIjogImNvbXBsZXRlIgotfQotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy90ZXN0L3Rlc3RzL2FkZF9jbGVhbnVwX2NvdW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2FkZF9jbGVh
bnVwX2NvdW50Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGEwNzljOWI4Nzli
Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2FkZF9jbGVhbnVwX2NvdW50Lmh0bWwKKysrIC9k
ZXYvbnVsbApAQCAtMSw0MSArMCwwIEBACi08IURPQ1RZUEUgSFRNTD4KLTxodG1sPgotPGhlYWQ+
Ci08dGl0bGU+VGVzdCNhZGRfY2xlYW51cCByZXBvcnRlZCBjb3VudDwvdGl0bGU+Ci08c2NyaXB0
IHNyYz0iLi4vLi4vdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4u
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGRpdiBp
ZD0ibG9nIj48L2Rpdj4KLQotPHNjcmlwdD4KLXByb21pc2VfdGVzdChmdW5jdGlvbih0KSB7Ci0g
ICAgdC5hZGRfY2xlYW51cChmdW5jdGlvbigpIHt9KTsKLSAgICB0LmFkZF9jbGVhbnVwKGZ1bmN0
aW9uKCkge30pOwotICAgIHQuYWRkX2NsZWFudXAoZnVuY3Rpb24oKSB7IHRocm93IG5ldyBFcnJv
cigpOyB9KTsKLSAgICBuZXcgRXZlbnRXYXRjaGVyKHQsIGRvY3VtZW50LmJvZHksIFtdKTsKLQot
ICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTsKLX0sICd0ZXN0IHdpdGggMyB1c2VyLWRlZmlu
ZWQgY2xlYW51cCBmdW5jdGlvbnMnKTsKLTwvc2NyaXB0PgotPHNjcmlwdCB0eXBlPSJ0ZXh0L2pz
b24iIGlkPSJleHBlY3RlZCI+Ci17Ci0gICJzdW1tYXJpemVkX3N0YXR1cyI6IHsKLSAgICAic3Rh
dHVzX3N0cmluZyI6ICJFUlJPUiIsCi0gICAgIm1lc3NhZ2UiOiAiVGVzdCBuYW1lZCAndGVzdCB3
aXRoIDMgdXNlci1kZWZpbmVkIGNsZWFudXAgZnVuY3Rpb25zJyBzcGVjaWZpZWQgMyAnY2xlYW51
cCcgZnVuY3Rpb25zLCBhbmQgMSBmYWlsZWQuIiwKLSAgICAic3RhY2siOiBudWxsCi0gIH0sCi0g
ICJzdW1tYXJpemVkX3Rlc3RzIjogWwotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBB
U1MiLAotICAgICAgIm5hbWUiOiAidGVzdCB3aXRoIDMgdXNlci1kZWZpbmVkIGNsZWFudXAgZnVu
Y3Rpb25zIiwKLSAgICAgICJzdGFjayI6IG51bGwsCi0gICAgICAibWVzc2FnZSI6IG51bGwsCi0g
ICAgICAicHJvcGVydGllcyI6IHt9Ci0gICAgfQotICBdLAotICAidHlwZSI6ICJjb21wbGV0ZSIK
LX0KLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9hZGRf
Y2xlYW51cF9lcnIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvYWRkX2NsZWFudXBfZXJyLmh0bWwKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY2ZWZiMDc3MzM3Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rl
c3RzL2FkZF9jbGVhbnVwX2Vyci5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNDggKzAsMCBAQAot
PCFET0NUWVBFIEhUTUw+Ci08aHRtbD4KLTxoZWFkPgotPHRpdGxlPlRlc3QjYWRkX2NsZWFudXA6
IGVycm9yPC90aXRsZT4KLTxzY3JpcHQgc3JjPSIuLi8uLi90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgot
PC9oZWFkPgotPGJvZHk+Ci08ZGl2IGlkPSJsb2ciPjwvZGl2PgotPHNjcmlwdD4KLSJ1c2Ugc3Ry
aWN0IjsKLQotdGVzdChmdW5jdGlvbih0KSB7Ci0gIHQuYWRkX2NsZWFudXAoZnVuY3Rpb24oKSB7
Ci0gICAgdGhyb3cgbmV3IEVycm9yKCdleGNlcHRpb24gaW4gY2xlYW51cCBmdW5jdGlvbicpOwot
ICB9KTsKLX0sICJFeGNlcHRpb24gaW4gY2xlYW51cCBmdW5jdGlvbiBjYXVzZXMgaGFybmVzcyBm
YWlsdXJlLiIpOwotCi10ZXN0KGZ1bmN0aW9uKCkge30sICJUaGlzIHRlc3Qgc2hvdWxkIG5vdCBi
ZSBydW4uIik7Ci08L3NjcmlwdD4KLTxzY3JpcHQgdHlwZT0idGV4dC9qc29uIiBpZD0iZXhwZWN0
ZWQiPgotewotICAic3VtbWFyaXplZF9zdGF0dXMiOiB7Ci0gICAgInN0YXR1c19zdHJpbmciOiAi
RVJST1IiLAotICAgICJtZXNzYWdlIjogIlRlc3QgbmFtZWQgJ0V4Y2VwdGlvbiBpbiBjbGVhbnVw
IGZ1bmN0aW9uIGNhdXNlcyBoYXJuZXNzIGZhaWx1cmUuJyBzcGVjaWZpZWQgMSAnY2xlYW51cCcg
ZnVuY3Rpb24sIGFuZCAxIGZhaWxlZC4iLAotICAgICJzdGFjayI6IG51bGwKLSAgfSwKLSAgInN1
bW1hcml6ZWRfdGVzdHMiOiBbCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIs
Ci0gICAgICAibmFtZSI6ICJFeGNlcHRpb24gaW4gY2xlYW51cCBmdW5jdGlvbiBjYXVzZXMgaGFy
bmVzcyBmYWlsdXJlLiIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2Ui
OiBudWxsLAotICAgICAgInN0YWNrIjogbnVsbAotICAgIH0sCi0gICAgewotICAgICAgInN0YXR1
c19zdHJpbmciOiAiTk9UUlVOIiwKLSAgICAgICJuYW1lIjogIlRoaXMgdGVzdCBzaG91bGQgbm90
IGJlIHJ1bi4iLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogbnVs
bCwKLSAgICAgICJzdGFjayI6IG51bGwKLSAgICB9Ci0gIF0sCi0gICJ0eXBlIjogImNvbXBsZXRl
IgotfQotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Fk
ZF9jbGVhbnVwX2Vycl9tdWx0aS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9hZGRfY2xlYW51cF9lcnJfbXVsdGku
aHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjYwNjY4YzAyOTAuLjAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3Rlc3QvdGVzdHMvYWRkX2NsZWFudXBfZXJyX211bHRpLmh0bWwKKysrIC9kZXYvbnVs
bApAQCAtMSw1NSArMCwwIEBACi08IURPQ1RZUEUgSFRNTD4KLTxodG1sPgotPGhlYWQ+Ci08dGl0
bGU+VGVzdCNhZGRfY2xlYW51cDogbXVsdGlwbGUgZnVuY3Rpb25zIHdpdGggb25lIGluIGVycm9y
PC90aXRsZT4KLTxzY3JpcHQgc3JjPSIuLi8uLi90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0iLi4vLi4vdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPC9oZWFk
PgotPGJvZHk+Ci08ZGl2IGlkPSJsb2ciPjwvZGl2PgotCi08c2NyaXB0PgotInVzZSBzdHJpY3Qi
OwotCi10ZXN0KGZ1bmN0aW9uKHQpIHsKLSAgICB0LmFkZF9jbGVhbnVwKGZ1bmN0aW9uKCkgewot
ICAgICAgdGhyb3cgbmV3IEVycm9yKCJleGNlcHRpb24gaW4gY2xlYW51cCBmdW5jdGlvbiIpOwot
ICAgIH0pOwotCi0gICAgLy8gVGhlIGZvbGxvd2luZyBjbGVhbnVwIGZ1bmN0aW9uIGRlZmluZXMg
YSB0ZXN0IHNvIHRoYXQgdGhlIHJlcG9ydGVkCi0gICAgLy8gZGF0YSBkZW1vbnN0cmF0ZXMgdGhl
IGludGVuZGVkIHJ1bi10aW1lIGJlaGF2aW9yLCBpLmUuIHRoYXQKLSAgICAvLyBgdGVzdGhhcm5l
c3MuanNgIGludm9rZXMgYWxsIGNsZWFudXAgZnVuY3Rpb25zIGV2ZW4gd2hlbiBvbmUgb3IgbW9y
ZQotICAgIC8vIHRocm93IGVycm9ycy4KLSAgICB0LmFkZF9jbGVhbnVwKGZ1bmN0aW9uKCkgewot
ICAgICAgdGVzdChmdW5jdGlvbigpIHt9LCAiVmVyaWZpY2F0aW9uIHRlc3QiKTsKLSAgICB9KTsK
LSAgfSwgIlRlc3Qgd2l0aCBtdWx0aXBsZSBjbGVhbnVwIGZ1bmN0aW9ucyIpOwotPC9zY3JpcHQ+
Ci08c2NyaXB0IHR5cGU9InRleHQvanNvbiIgaWQ9ImV4cGVjdGVkIj4KLXsKLSAgInN1bW1hcml6
ZWRfc3RhdHVzIjogewotICAgICJzdGF0dXNfc3RyaW5nIjogIkVSUk9SIiwKLSAgICAibWVzc2Fn
ZSI6ICJUZXN0IG5hbWVkICdUZXN0IHdpdGggbXVsdGlwbGUgY2xlYW51cCBmdW5jdGlvbnMnIHNw
ZWNpZmllZCAyICdjbGVhbnVwJyBmdW5jdGlvbnMsIGFuZCAxIGZhaWxlZC4iLAotICAgICJzdGFj
ayI6IG51bGwKLSAgfSwKLSAgInN1bW1hcml6ZWRfdGVzdHMiOiBbCi0gICAgewotICAgICAgInN0
YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJUZXN0IHdpdGggbXVsdGlwbGUg
Y2xlYW51cCBmdW5jdGlvbnMiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNz
YWdlIjogbnVsbCwKLSAgICAgICJzdGFjayI6IG51bGwKLSAgICB9LAotICAgIHsKLSAgICAgICJz
dGF0dXNfc3RyaW5nIjogIk5PVFJVTiIsCi0gICAgICAibmFtZSI6ICJWZXJpZmljYXRpb24gdGVz
dCIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAg
ICAgInN0YWNrIjogbnVsbAotICAgIH0KLSAgXSwKLSAgInR5cGUiOiAiY29tcGxldGUiCi19Ci08
L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvYXBpLXRlc3Rz
LTEuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3Rlc3QvdGVzdHMvYXBpLXRlc3RzLTEuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggNTNkOTFjNDc5YTIuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvYXBpLXRlc3Rz
LTEuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDQ2MiArMCwwIEBACi08IURPQ1RZUEUgSFRNTD4K
LTxodG1sPgotPGhlYWQ+Ci08dGl0bGU+U2FtcGxlIEhUTUw1IEFQSSBUZXN0czwvdGl0bGU+Ci08
bWV0YSBuYW1lPSJ0aW1lb3V0IiBjb250ZW50PSI2MDAwIj4KLTwvaGVhZD4KLTxib2R5IG9ubG9h
ZD0ibG9hZF90ZXN0X2F0dHIuZG9uZSgpIj4KLTxoMT5TYW1wbGUgSFRNTDUgQVBJIFRlc3RzPC9o
MT4KLTxkaXYgaWQ9ImxvZyI+PC9kaXY+Ci08c2NyaXB0IHNyYz0iLi4vLi4vdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQ+Ci0gICAgc2V0dXBfcnVuID0gZmFsc2U7Ci0gICAgc2V0dXAoZnVu
Y3Rpb24oKSB7Ci0gICAgICAgICAgICBzZXR1cF9ydW4gPSB0cnVlOwotICAgICAgICAgIH0pOwot
ICAgIHRlc3QoZnVuY3Rpb24oKSB7YXNzZXJ0X3RydWUoc2V0dXBfcnVuKX0sICJTZXR1cCBmdW5j
dGlvbiByYW4iKTsKLQotICAgIC8vIFR3byBleGFtcGxlcyBmb3IgdGVzdGluZyBldmVudHMgZnJv
bSBoYW5kbGVyIGFuZCBhdHRyaWJ1dGVzCi0gICAgdmFyIGxvYWRfdGVzdF9ldmVudCA9IGFzeW5j
X3Rlc3QoIndpbmRvdyBvbmxvYWQgZXZlbnQgZmlyZXMgd2hlbiBzZXQgZnJvbSB0aGUgaGFuZGxl
ciIpOwotCi0gICAgZnVuY3Rpb24gd2luZG93TG9hZCgpCi0gICAgewotICAgICAgICBsb2FkX3Rl
c3RfZXZlbnQuZG9uZSgpOwotICAgIH0KLSAgICBvbl9ldmVudCh3aW5kb3csICJsb2FkIiwgd2lu
ZG93TG9hZCk7Ci0KLSAgICAvLyBzZWUgdGhlIGJvZHkgb25sb2FkIGJlbG93Ci0gICAgdmFyIGxv
YWRfdGVzdF9hdHRyID0gYXN5bmNfdGVzdCgiYm9keSBlbGVtZW50IGZpcmVzIHRoZSBvbmxvYWQg
ZXZlbnQgc2V0IGZyb20gdGhlIGF0dHJpYnV0ZSIpOwotPC9zY3JpcHQ+Ci08c2NyaXB0PgotICAg
IGZ1bmN0aW9uIGJvZHlFbGVtZW50KCkKLSAgICB7Ci0gICAgICAgIGFzc2VydF9lcXVhbHMoZG9j
dW1lbnQuYm9keSwgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImJvZHkiKVswXSk7Ci0g
ICAgfQotICAgIHRlc3QoYm9keUVsZW1lbnQsICJkb2N1bWVudC5ib2R5IHNob3VsZCBiZSB0aGUg
Zmlyc3QgYm9keSBlbGVtZW50IGluIHRoZSBkb2N1bWVudCIpOwotCi0gICAgdGVzdChmdW5jdGlv
bigpIHsKLSAgICAgICAgYXNzZXJ0X2VxdWFscygxLDEpOwotICAgICAgICBhc3NlcnRfZXF1YWxz
KE5hTiwgTmFOLCAiTmFOIGNhc2UiKTsKLSAgICAgICAgYXNzZXJ0X2VxdWFscygwLCAwLCAiWmVy
byBjYXNlIik7Ci0gICAgfSwgImFzc2VydF9lcXVhbHMgdGVzdHMiKQotCi0gICAgdGVzdChmdW5j
dGlvbigpIHsKLSAgICAgICAgYXNzZXJ0X2VxdWFscygtMCwgMCwgIlplcm8gY2FzZSIpOwotICAg
IH0sICJhc3NlcnRfZXF1YWxzIHRlc3RzIGV4cGVjdGVkIHRvIGZhaWwiKQotCi0gICAgdGVzdChm
dW5jdGlvbigpIHsKLSAgICAgICAgYXNzZXJ0X25vdF9lcXVhbHMoe30sIHt9LCAib2JqZWN0IGNh
c2UiKTsKLSAgICAgICAgYXNzZXJ0X25vdF9lcXVhbHMoLTAsIDAsICJaZXJvIGNhc2UiKTsKLSAg
ICB9LCAiYXNzZXJ0X25vdF9lcXVhbHMgdGVzdHMiKQotCi0gICAgZnVuY3Rpb24gdGVzdEFzc2Vy
dFBhc3MoKQotICAgIHsKLSAgICAgICAgYXNzZXJ0X3RydWUodHJ1ZSk7Ci0gICAgfQotICAgIHRl
c3QodGVzdEFzc2VydFBhc3MsICJhc3NlcnRfdHJ1ZSBleHBlY3RlZCB0byBwYXNzIik7Ci0KLSAg
ICBmdW5jdGlvbiB0ZXN0QXNzZXJ0RmFsc2UoKQotICAgIHsKLSAgICAgICAgYXNzZXJ0X3RydWUo
ZmFsc2UsICJmYWxzZSBzaG91bGQgbm90IGJlIHRydWUiKTsKLSAgICB9Ci0gICAgdGVzdCh0ZXN0
QXNzZXJ0RmFsc2UsICJhc3NlcnRfdHJ1ZSBleHBlY3RlZCB0byBmYWlsIik7Ci0KLSAgICBmdW5j
dGlvbiBiYXNpY0Fzc2VydEFycmF5RXF1YWxzKCkKLSAgICB7Ci0gICAgICAgIGFzc2VydF9hcnJh
eV9lcXVhbHMoWzEsIE5hTl0sIFsxLCBOYU5dLCAiWzEsIE5hTl0gaXMgZXF1YWwgdG8gWzEsIE5h
Tl0iKTsKLSAgICB9Ci0gICAgdGVzdChiYXNpY0Fzc2VydEFycmF5RXF1YWxzLCAiYmFzaWMgYXNz
ZXJ0X2FycmF5X2VxdWFscyB0ZXN0Iik7Ci0KLSAgICBmdW5jdGlvbiBhc3NlcnRBcnJheUVxdWFs
c1VuZGVmaW5lZCgpCi0gICAgewotICAgICAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKHVuZGVmaW5l
ZCwgWzFdLCAidW5kZWZpbmVkIGVxdWFscyBbMV0/Iik7Ci0gICAgfQotICAgIHRlc3QoYXNzZXJ0
QXJyYXlFcXVhbHNVbmRlZmluZWQsICJhc3NlcnRfYXJyYXlfZXF1YWxzIHdpdGggZmlyc3QgcGFy
YW0gdW5kZWZpbmVkIik7Ci0KLSAgICBmdW5jdGlvbiBhc3NlcnRBcnJheUVxdWFsc1RydWUoKQot
ICAgIHsKLSAgICAgICAgYXNzZXJ0X2FycmF5X2VxdWFscyh0cnVlLCBbMV0sICJ0cnVlIGVxdWFs
cyBbMV0/Iik7Ci0gICAgfQotICAgIHRlc3QoYXNzZXJ0QXJyYXlFcXVhbHNUcnVlLCAiYXNzZXJ0
X2FycmF5X2VxdWFscyB3aXRoIGZpcnN0IHBhcmFtIHRydWUiKTsKLQotICAgIGZ1bmN0aW9uIGFz
c2VydEFycmF5RXF1YWxzRmFsc2UoKQotICAgIHsKLSAgICAgICAgYXNzZXJ0X2FycmF5X2VxdWFs
cyhmYWxzZSwgWzFdLCAiZmFsc2UgZXF1YWxzIFsxXT8iKTsKLSAgICB9Ci0gICAgdGVzdChhc3Nl
cnRBcnJheUVxdWFsc0ZhbHNlLCAiYXNzZXJ0X2FycmF5X2VxdWFscyB3aXRoIGZpcnN0IHBhcmFt
IGZhbHNlIik7Ci0KLSAgICBmdW5jdGlvbiBhc3NlcnRBcnJheUVxdWFsc051bGwoKQotICAgIHsK
LSAgICAgICAgYXNzZXJ0X2FycmF5X2VxdWFscyhudWxsLCBbMV0sICJudWxsIGVxdWFscyBbMV0/
Iik7Ci0gICAgfQotICAgIHRlc3QoYXNzZXJ0QXJyYXlFcXVhbHNOdWxsLCAiYXNzZXJ0X2FycmF5
X2VxdWFscyB3aXRoIGZpcnN0IHBhcmFtIG51bGwiKTsKLQotICAgIGZ1bmN0aW9uIGFzc2VydEFy
cmF5RXF1YWxzTnVtZXJpYygpCi0gICAgewotICAgICAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKDEs
IFsxXSwgIjEgZXF1YWxzIFsxXT8iKTsKLSAgICB9Ci0gICAgdGVzdChhc3NlcnRBcnJheUVxdWFs
c051bWVyaWMsICJhc3NlcnRfYXJyYXlfZXF1YWxzIHdpdGggZmlyc3QgcGFyYW0gMSIpOwotCi0g
ICAgZnVuY3Rpb24gYmFzaWNBc3NlcnRPYmplY3RFcXVhbHMoKQotICAgIHsKLSAgICAgICAgYXNz
ZXJ0X29iamVjdF9lcXVhbHMoWzEsIDIsIFsxLCAyXV0sIHsgMDogMSwgMTogMiwgMjogeyAwOiAx
LCAxOiAyfSB9LCAiYXJyYXkgaXMgZXF1YWwgdG8gb2JqZWN0IikKLSAgICB9Ci0gICAgdGVzdChi
YXNpY0Fzc2VydE9iamVjdEVxdWFscywgImJhc2ljIGFzc2VydF9vYmplY3RfZXF1YWxzIHRlc3Qi
KTsKLQotICAgIGZ1bmN0aW9uIGJhc2ljQXNzZXJ0QXJyYXlBcHByb3hFcXVhbHMoKQotICAgIHsK
LSAgICAgICAgYXNzZXJ0X2FycmF5X2FwcHJveF9lcXVhbHMoWzEwLCAxMV0sIFsxMSwgMTBdLCAx
LCAiWzEwLCAxMV0gaXMgYXBwcm94aW1hdGVseSAoKy8tIDEpIFsxMSwgMTBdIikKLSAgICB9Ci0g
ICAgdGVzdChiYXNpY0Fzc2VydEFycmF5QXBwcm94RXF1YWxzLCAiYmFzaWMgYXNzZXJ0X2FycmF5
X2FwcHJveF9lcXVhbHMgdGVzdCIpOwotCi0gICAgZnVuY3Rpb24gYmFzaWNBc3NlcnRBcHByb3hF
cXVhbHMoKQotICAgIHsKLSAgICAgICAgYXNzZXJ0X2FwcHJveF9lcXVhbHMoMTAsIDExLCAxLCAi
MTAgaXMgYXBwcm94aW1hdGVseSAoKy8tIDEpIDExIikKLSAgICB9Ci0gICAgdGVzdChiYXNpY0Fz
c2VydEFwcHJveEVxdWFscywgImJhc2ljIGFzc2VydF9hcHByb3hfZXF1YWxzIHRlc3QiKTsKLQot
ICAgIGZ1bmN0aW9uIGJhc2ljQXNzZXJ0TGVzc1RoYW4oKQotICAgIHsKLSAgICAgICAgYXNzZXJ0
X2xlc3NfdGhhbigxMCwgMTEsICIxMCBpcyBsZXNzIHRoYW4gMTEiKQotICAgIH0KLSAgICB0ZXN0
KGJhc2ljQXNzZXJ0QXBwcm94RXF1YWxzLCAiYmFzaWMgYXNzZXJ0X2xlc3NfdGhhbiB0ZXN0Iik7
Ci0KLSAgICBmdW5jdGlvbiBiYXNpY0Fzc2VydEdyZWF0ZXJUaGFuKCkKLSAgICB7Ci0gICAgICAg
IGFzc2VydF9ncmVhdGVyX3RoYW4oMTAsIDExLCAiMTAgaXMgbm90IGdyZWF0ZXIgdGhhbiAxMSIp
OwotICAgIH0KLSAgICB0ZXN0KGJhc2ljQXNzZXJ0R3JlYXRlclRoYW4sICJhc3NlcnRfZ3JlYXRl
cl90aGFuIGV4cGVjdGVkIHRvIGZhaWwiKTsKLQotICAgIGZ1bmN0aW9uIGJhc2ljQXNzZXJ0R3Jl
YXRlclRoYW5FcXVhbCgpCi0gICAgewotICAgICAgICBhc3NlcnRfZ3JlYXRlcl90aGFuX2VxdWFs
KDEwLCAxMCwgIjEwIGlzIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAxMCIpCi0gICAgfQotICAg
IHRlc3QoYmFzaWNBc3NlcnRHcmVhdGVyVGhhbkVxdWFsLCAiYmFzaWMgYXNzZXJ0X2dyZWF0ZXJf
dGhhbl9lcXVhbCB0ZXN0Iik7Ci0KLSAgICBmdW5jdGlvbiBiYXNpY0Fzc2VydExlc3NUaGFuRXF1
YWwoKQotICAgIHsKLSAgICAgICAgYXNzZXJ0X2dyZWF0ZXJfdGhhbl9lcXVhbCgnMTAnLCAxMCwg
IicxMCcgaXMgbm90IGEgbnVtYmVyIikKLSAgICB9Ci0gICAgdGVzdChiYXNpY0Fzc2VydExlc3NU
aGFuRXF1YWwsICJhc3NlcnRfbGVzc190aGFuX2VxdWFsIGV4cGVjdGVkIHRvIGZhaWwiKTsKLQot
ICAgIGZ1bmN0aW9uIHRlc3RBc3NlcnRJbmhlcml0cygpIHsKLSAgICAgICAgdmFyIEEgPSBmdW5j
dGlvbigpe3RoaXMuYSA9ICJhIn0KLSAgICAgICAgQS5wcm90b3R5cGUgPSB7YjoiYiJ9Ci0gICAg
ICAgIHZhciBhID0gbmV3IEEoKTsKLSAgICAgICAgYXNzZXJ0X2V4aXN0cyhhLCAiYSIpOwotICAg
ICAgICBhc3NlcnRfbm90X2V4aXN0cyhhLCAiYiIpOwotICAgICAgICBhc3NlcnRfaW5oZXJpdHMo
YSwgImIiKTsKLSAgICB9Ci0gICAgdGVzdCh0ZXN0QXNzZXJ0SW5oZXJpdHMsICJ0ZXN0IGZvciBh
c3NlcnRbX25vdF1fZXhpc3RzIGFuZCBpbnNlcnRfaW5oZXJpdHMiKQotCi0gICAgdGVzdChmdW5j
dGlvbigpCi0gICAgewotICAgICAgICB2YXIgYSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImEi
KQotICAgICAgICB2YXIgYiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImIiKQotICAgICAgICBh
c3NlcnRfdGhyb3dzKCJOT1RfRk9VTkRfRVJSIiwgZnVuY3Rpb24gKCkge2EucmVtb3ZlQ2hpbGQo
Yil9KTsKLSAgICB9LCAiVGVzdCB0aHJvdyBET00gZXhjZXB0aW9uIikKLQotICAgIHRlc3QoZnVu
Y3Rpb24oKQotICAgIHsKLSAgICAgICAgdmFyIGEgPSBkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgi
YSIpCi0gICAgICAgIHZhciBiID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYiIpCi0gICAgICAg
IGFzc2VydF90aHJvd3MoIk5PVF9GT1VORF9FUlIiLCBmdW5jdGlvbiAoKSB7YS5hcHBlbmRDaGls
ZChiKX0pOwotICAgIH0sICJUZXN0IHRocm93IERPTSBleGNlcHRpb24gZXhwZWN0ZWQgdG8gZmFp
bCIpCi0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkKLSAgICB7Ci0gICAgICAgIHZhciBlID0ge2NvZGU6
MCwgbmFtZToiVEVTVF9FUlIiLCBURVNUX0VSUjowfQotICAgICAgICBhc3NlcnRfdGhyb3dzKCJU
RVNUX0VSUiIsIGZ1bmN0aW9uKCkge3Rocm93IGV9KTsKLSAgICB9LCAiVGVzdCBhc3NlcnRfdGhy
b3dzIHdpdGggbm9uLURPTS1leGNlcHRpb24gZXhwZWN0ZWQgdG8gRmFpbCIpOwotCi0gICAgdmFy
IHQgPSBhc3luY190ZXN0KCJUZXN0IHN0ZXBfZnVuYyIpCi0gICAgc2V0VGltZW91dCgKLSAgICAg
IHQuc3RlcF9mdW5jKAotICAgICAgICBmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAgYXNzZXJ0X3Ry
dWUodHJ1ZSk7IHQuZG9uZSgpOwotICAgICAgICB9KSwgMCk7Ci0KLSAgICBhc3luY190ZXN0KGZ1
bmN0aW9uKHQpIHsKLSAgICAgICAgc2V0VGltZW91dCh0LnN0ZXBfZnVuYyhmdW5jdGlvbiAoKXth
c3NlcnRfdHJ1ZSh0cnVlKTsgdC5kb25lKCk7fSksIDApOwotICAgIH0sICJUZXN0IGFzeW5jIHRl
c3Qgd2l0aCBjYWxsYmFjayIpOwotCi0gICAgYXN5bmNfdGVzdChmdW5jdGlvbigpIHsKLSAgICAg
ICAgc2V0VGltZW91dCh0aGlzLnN0ZXBfZnVuYyhmdW5jdGlvbiAoKXthc3NlcnRfdHJ1ZSh0cnVl
KTsgdGhpcy5kb25lKCk7fSksIDApOwotICAgIH0sICJUZXN0IGFzeW5jIHRlc3Qgd2l0aCBjYWxs
YmFjayBhbmQgYHRoaXNgIG9iai4iKTsKLQotICAgIGFzeW5jX3Rlc3QoInRlc3Qgc2hvdWxkIHRp
bWVvdXQgKGZhaWwpIHdpdGggdGhlIGRlZmF1bHQgb2YgMiBzZWNvbmRzIikuc3RlcChmdW5jdGlv
bigpe30pOwotCi0gICAgYXN5bmNfdGVzdCgidGVzdCBzaG91bGQgdGltZW91dCAoZmFpbCkgd2l0
aCBhIGN1c3RvbSBzZXQgdGltZW91dCB2YWx1ZSBvZiAxIHNlY29uZCIsCi0gICAgICAgICAgICAg
ICB7dGltZW91dDoxMDAwfSkuc3RlcChmdW5jdGlvbigpe30pOwotCi0gICAgYXN5bmNfdGVzdCgi
YXN5bmMgdGVzdCB0aGF0IGlzIG5ldmVyIHN0YXJ0ZWQsIHNob3VsZCBoYXZlIHN0YXR1cyBOb3Qg
UnVuIiwge3RpbWVvdXQ6MTAwMH0pOwotCi0KLSAgICB0ZXN0KGZ1bmN0aW9uKHQpIHsKLSAgICAg
ICAgICAgICB3aW5kb3cuZ2xvYmFsID0gMTsKLSAgICAgICAgICAgICB0LmFkZF9jbGVhbnVwKGZ1
bmN0aW9uKCkge2RlbGV0ZSB3aW5kb3cuZ2xvYmFsfSk7Ci0gICAgICAgICAgICAgYXNzZXJ0X2Vx
dWFscyh3aW5kb3cuZ2xvYmFsLCAxKTsKLSAgICAgICAgIH0sCi0gICAgICAgICAiVGVzdCB0aGF0
IGRlZmluZXMgYSBnbG9iYWwgYW5kIGNsZWFucyBpdCB1cCIpOwotCi0gICAgdGVzdChmdW5jdGlv
bigpIHthc3NlcnRfZXF1YWxzKHdpbmRvdy5nbG9iYWwsIHVuZGVmaW5lZCl9LAotICAgICAgICAg
IlRlc3QgdGhhdCBjbGVhbnVwIGhhbmRsZXJzIGZyb20gcHJldmlvdXMgdGVzdCByYW4iKTsKLQot
PC9zY3JpcHQ+Ci08c2NyaXB0IHR5cGU9InRleHQvanNvbiIgaWQ9ImV4cGVjdGVkIj4KLXsKLSAg
InN1bW1hcml6ZWRfc3RhdHVzIjogewotICAgICJzdGF0dXNfc3RyaW5nIjogIlRJTUVPVVQiLAot
ICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAic3RhY2siOiBudWxsCi0gIH0sCi0gICJzdW1tYXJp
emVkX3Rlc3RzIjogWwotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLCAKLSAg
ICAgICJuYW1lIjogIlNldHVwIGZ1bmN0aW9uIHJhbiIsIAotICAgICAgInN0YWNrIjogbnVsbCwg
Ci0gICAgICAibWVzc2FnZSI6IG51bGwsIAotICAgICAgInByb3BlcnRpZXMiOiB7fQotICAgIH0s
IAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIkZBSUwiLCAKLSAgICAgICJuYW1lIjog
IlRlc3QgYXNzZXJ0X3Rocm93cyB3aXRoIG5vbi1ET00tZXhjZXB0aW9uIGV4cGVjdGVkIHRvIEZh
aWwiLCAKLSAgICAgICJzdGFjayI6ICIoaW1wbGVtZW50YXRpb24tZGVmaW5lZCkiLCAKLSAgICAg
ICJtZXNzYWdlIjogIlRlc3QgYnVnOiB1bnJlY29nbml6ZWQgRE9NRXhjZXB0aW9uIGNvZGUgXCJU
RVNUX0VSUlwiIHBhc3NlZCB0byBhc3NlcnRfdGhyb3dzKCkiLCAKLSAgICAgICJwcm9wZXJ0aWVz
Ijoge30KLSAgICB9LCAKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwgCi0g
ICAgICAibmFtZSI6ICJUZXN0IGFzeW5jIHRlc3Qgd2l0aCBjYWxsYmFjayIsIAotICAgICAgInN0
YWNrIjogbnVsbCwgCi0gICAgICAibWVzc2FnZSI6IG51bGwsIAotICAgICAgInByb3BlcnRpZXMi
OiB7fQotICAgIH0sIAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLCAKLSAg
ICAgICJuYW1lIjogIlRlc3QgYXN5bmMgdGVzdCB3aXRoIGNhbGxiYWNrIGFuZCBgdGhpc2Agb2Jq
LiIsIAotICAgICAgInN0YWNrIjogbnVsbCwgCi0gICAgICAibWVzc2FnZSI6IG51bGwsIAotICAg
ICAgInByb3BlcnRpZXMiOiB7fQotICAgIH0sIAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5n
IjogIlBBU1MiLCAKLSAgICAgICJuYW1lIjogIlRlc3Qgc3RlcF9mdW5jIiwgCi0gICAgICAic3Rh
Y2siOiBudWxsLCAKLSAgICAgICJtZXNzYWdlIjogbnVsbCwgCi0gICAgICAicHJvcGVydGllcyI6
IHt9Ci0gICAgfSwgCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsIAotICAg
ICAgIm5hbWUiOiAiVGVzdCB0aGF0IGNsZWFudXAgaGFuZGxlcnMgZnJvbSBwcmV2aW91cyB0ZXN0
IHJhbiIsIAotICAgICAgInN0YWNrIjogbnVsbCwgCi0gICAgICAibWVzc2FnZSI6IG51bGwsIAot
ICAgICAgInByb3BlcnRpZXMiOiB7fQotICAgIH0sIAotICAgIHsKLSAgICAgICJzdGF0dXNfc3Ry
aW5nIjogIlBBU1MiLCAKLSAgICAgICJuYW1lIjogIlRlc3QgdGhhdCBkZWZpbmVzIGEgZ2xvYmFs
IGFuZCBjbGVhbnMgaXQgdXAiLCAKLSAgICAgICJzdGFjayI6IG51bGwsIAotICAgICAgIm1lc3Nh
Z2UiOiBudWxsLCAKLSAgICAgICJwcm9wZXJ0aWVzIjoge30KLSAgICB9LCAKLSAgICB7Ci0gICAg
ICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwgCi0gICAgICAibmFtZSI6ICJUZXN0IHRocm93IERP
TSBleGNlcHRpb24iLCAKLSAgICAgICJzdGFjayI6IG51bGwsIAotICAgICAgIm1lc3NhZ2UiOiBu
dWxsLCAKLSAgICAgICJwcm9wZXJ0aWVzIjoge30KLSAgICB9LCAKLSAgICB7Ci0gICAgICAic3Rh
dHVzX3N0cmluZyI6ICJGQUlMIiwgCi0gICAgICAibmFtZSI6ICJUZXN0IHRocm93IERPTSBleGNl
cHRpb24gZXhwZWN0ZWQgdG8gZmFpbCIsIAotICAgICAgInN0YWNrIjogIihpbXBsZW1lbnRhdGlv
bi1kZWZpbmVkKSIsIAotICAgICAgIm1lc3NhZ2UiOiAiYXNzZXJ0X3Rocm93czogZnVuY3Rpb24g
XCJmdW5jdGlvbiAoKSB7YS5hcHBlbmRDaGlsZChiKX1cIiB0aHJldyBvYmplY3QgXCJIaWVyYXJj
aHlSZXF1ZXN0RXJyb3I6IE5vZGUgY2Fubm90IGJlIGluc2VydGVkIGF0IHRoZSBzcGVjaWZpZWQg
cG9pbnQgaW4gdGhlIGhpZXJhcmNoeVwiIHRoYXQgaXMgbm90IGEgRE9NRXhjZXB0aW9uIE5PVF9G
T1VORF9FUlI6IHByb3BlcnR5IFwiY29kZVwiIGlzIGVxdWFsIHRvIDMsIGV4cGVjdGVkIDgiLCAK
LSAgICAgICJwcm9wZXJ0aWVzIjoge30KLSAgICB9LCAKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0
cmluZyI6ICJGQUlMIiwgCi0gICAgICAibmFtZSI6ICJhc3NlcnRfYXJyYXlfZXF1YWxzIHdpdGgg
Zmlyc3QgcGFyYW0gMSIsIAotICAgICAgInN0YWNrIjogIihpbXBsZW1lbnRhdGlvbi1kZWZpbmVk
KSIsIAotICAgICAgIm1lc3NhZ2UiOiAiYXNzZXJ0X2FycmF5X2VxdWFsczogMSBlcXVhbHMgWzFd
PyB2YWx1ZSBpcyAxLCBleHBlY3RlZCBhcnJheSIsIAotICAgICAgInByb3BlcnRpZXMiOiB7fQot
ICAgIH0sIAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIkZBSUwiLCAKLSAgICAgICJu
YW1lIjogImFzc2VydF9hcnJheV9lcXVhbHMgd2l0aCBmaXJzdCBwYXJhbSBmYWxzZSIsIAotICAg
ICAgInN0YWNrIjogIihpbXBsZW1lbnRhdGlvbi1kZWZpbmVkKSIsIAotICAgICAgIm1lc3NhZ2Ui
OiAiYXNzZXJ0X2FycmF5X2VxdWFsczogZmFsc2UgZXF1YWxzIFsxXT8gdmFsdWUgaXMgZmFsc2Us
IGV4cGVjdGVkIGFycmF5IiwgCi0gICAgICAicHJvcGVydGllcyI6IHt9Ci0gICAgfSwgCi0gICAg
ewotICAgICAgInN0YXR1c19zdHJpbmciOiAiRkFJTCIsIAotICAgICAgIm5hbWUiOiAiYXNzZXJ0
X2FycmF5X2VxdWFscyB3aXRoIGZpcnN0IHBhcmFtIG51bGwiLCAKLSAgICAgICJzdGFjayI6ICIo
aW1wbGVtZW50YXRpb24tZGVmaW5lZCkiLCAKLSAgICAgICJtZXNzYWdlIjogImFzc2VydF9hcnJh
eV9lcXVhbHM6IG51bGwgZXF1YWxzIFsxXT8gdmFsdWUgaXMgbnVsbCwgZXhwZWN0ZWQgYXJyYXki
LCAKLSAgICAgICJwcm9wZXJ0aWVzIjoge30KLSAgICB9LCAKLSAgICB7Ci0gICAgICAic3RhdHVz
X3N0cmluZyI6ICJGQUlMIiwgCi0gICAgICAibmFtZSI6ICJhc3NlcnRfYXJyYXlfZXF1YWxzIHdp
dGggZmlyc3QgcGFyYW0gdHJ1ZSIsIAotICAgICAgInN0YWNrIjogIihpbXBsZW1lbnRhdGlvbi1k
ZWZpbmVkKSIsIAotICAgICAgIm1lc3NhZ2UiOiAiYXNzZXJ0X2FycmF5X2VxdWFsczogdHJ1ZSBl
cXVhbHMgWzFdPyB2YWx1ZSBpcyB0cnVlLCBleHBlY3RlZCBhcnJheSIsIAotICAgICAgInByb3Bl
cnRpZXMiOiB7fQotICAgIH0sIAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIkZBSUwi
LCAKLSAgICAgICJuYW1lIjogImFzc2VydF9hcnJheV9lcXVhbHMgd2l0aCBmaXJzdCBwYXJhbSB1
bmRlZmluZWQiLCAKLSAgICAgICJzdGFjayI6ICIoaW1wbGVtZW50YXRpb24tZGVmaW5lZCkiLCAK
LSAgICAgICJtZXNzYWdlIjogImFzc2VydF9hcnJheV9lcXVhbHM6IHVuZGVmaW5lZCBlcXVhbHMg
WzFdPyB2YWx1ZSBpcyB1bmRlZmluZWQsIGV4cGVjdGVkIGFycmF5IiwgCi0gICAgICAicHJvcGVy
dGllcyI6IHt9Ci0gICAgfSwgCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIs
IAotICAgICAgIm5hbWUiOiAiYXNzZXJ0X2VxdWFscyB0ZXN0cyIsIAotICAgICAgInN0YWNrIjog
bnVsbCwgCi0gICAgICAibWVzc2FnZSI6IG51bGwsIAotICAgICAgInByb3BlcnRpZXMiOiB7fQot
ICAgIH0sIAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIkZBSUwiLCAKLSAgICAgICJu
YW1lIjogImFzc2VydF9lcXVhbHMgdGVzdHMgZXhwZWN0ZWQgdG8gZmFpbCIsIAotICAgICAgInN0
YWNrIjogIihpbXBsZW1lbnRhdGlvbi1kZWZpbmVkKSIsIAotICAgICAgIm1lc3NhZ2UiOiAiYXNz
ZXJ0X2VxdWFsczogWmVybyBjYXNlIGV4cGVjdGVkIDAgYnV0IGdvdCAtMCIsIAotICAgICAgInBy
b3BlcnRpZXMiOiB7fQotICAgIH0sIAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIkZB
SUwiLCAKLSAgICAgICJuYW1lIjogImFzc2VydF9ncmVhdGVyX3RoYW4gZXhwZWN0ZWQgdG8gZmFp
bCIsIAotICAgICAgInN0YWNrIjogIihpbXBsZW1lbnRhdGlvbi1kZWZpbmVkKSIsIAotICAgICAg
Im1lc3NhZ2UiOiAiYXNzZXJ0X2dyZWF0ZXJfdGhhbjogMTAgaXMgbm90IGdyZWF0ZXIgdGhhbiAx
MSBleHBlY3RlZCBhIG51bWJlciBncmVhdGVyIHRoYW4gMTEgYnV0IGdvdCAxMCIsIAotICAgICAg
InByb3BlcnRpZXMiOiB7fQotICAgIH0sIAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjog
IkZBSUwiLCAKLSAgICAgICJuYW1lIjogImFzc2VydF9sZXNzX3RoYW5fZXF1YWwgZXhwZWN0ZWQg
dG8gZmFpbCIsIAotICAgICAgInN0YWNrIjogIihpbXBsZW1lbnRhdGlvbi1kZWZpbmVkKSIsIAot
ICAgICAgIm1lc3NhZ2UiOiAiYXNzZXJ0X2dyZWF0ZXJfdGhhbl9lcXVhbDogJzEwJyBpcyBub3Qg
YSBudW1iZXIgZXhwZWN0ZWQgYSBudW1iZXIgYnV0IGdvdCBhIFwic3RyaW5nXCIiLCAKLSAgICAg
ICJwcm9wZXJ0aWVzIjoge30KLSAgICB9LCAKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6
ICJQQVNTIiwgCi0gICAgICAibmFtZSI6ICJhc3NlcnRfbm90X2VxdWFscyB0ZXN0cyIsIAotICAg
ICAgInN0YWNrIjogbnVsbCwgCi0gICAgICAibWVzc2FnZSI6IG51bGwsIAotICAgICAgInByb3Bl
cnRpZXMiOiB7fQotICAgIH0sIAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIkZBSUwi
LCAKLSAgICAgICJuYW1lIjogImFzc2VydF90cnVlIGV4cGVjdGVkIHRvIGZhaWwiLCAKLSAgICAg
ICJzdGFjayI6ICIoaW1wbGVtZW50YXRpb24tZGVmaW5lZCkiLCAKLSAgICAgICJtZXNzYWdlIjog
ImFzc2VydF90cnVlOiBmYWxzZSBzaG91bGQgbm90IGJlIHRydWUgZXhwZWN0ZWQgdHJ1ZSBnb3Qg
ZmFsc2UiLCAKLSAgICAgICJwcm9wZXJ0aWVzIjoge30KLSAgICB9LCAKLSAgICB7Ci0gICAgICAi
c3RhdHVzX3N0cmluZyI6ICJQQVNTIiwgCi0gICAgICAibmFtZSI6ICJhc3NlcnRfdHJ1ZSBleHBl
Y3RlZCB0byBwYXNzIiwgCi0gICAgICAic3RhY2siOiBudWxsLCAKLSAgICAgICJtZXNzYWdlIjog
bnVsbCwgCi0gICAgICAicHJvcGVydGllcyI6IHt9Ci0gICAgfSwgCi0gICAgewotICAgICAgInN0
YXR1c19zdHJpbmciOiAiTk9UUlVOIiwgCi0gICAgICAibmFtZSI6ICJhc3luYyB0ZXN0IHRoYXQg
aXMgbmV2ZXIgc3RhcnRlZCwgc2hvdWxkIGhhdmUgc3RhdHVzIE5vdCBSdW4iLCAKLSAgICAgICJz
dGFjayI6IG51bGwsIAotICAgICAgIm1lc3NhZ2UiOiBudWxsLCAKLSAgICAgICJwcm9wZXJ0aWVz
IjogewotICAgICAgICAidGltZW91dCI6IDEwMDAKLSAgICAgIH0KLSAgICB9LCAKLSAgICB7Ci0g
ICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1lIjogImJhc2ljIGFzc2Vy
dF9hcHByb3hfZXF1YWxzIHRlc3QiLAotICAgICAgInN0YWNrIjogbnVsbCwKLSAgICAgICJtZXNz
YWdlIjogbnVsbCwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30KLSAgICB9LAotICAgIHsKLSAgICAg
ICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUiOiAiYmFzaWMgYXNzZXJ0X2Fy
cmF5X2FwcHJveF9lcXVhbHMgdGVzdCIsCi0gICAgICAic3RhY2siOiBudWxsLAotICAgICAgIm1l
c3NhZ2UiOiBudWxsLAotICAgICAgInByb3BlcnRpZXMiOiB7fQotICAgIH0sCi0gICAgewotICAg
ICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsIAotICAgICAgIm5hbWUiOiAiYmFzaWMgYXNzZXJ0
X2FycmF5X2VxdWFscyB0ZXN0IiwgCi0gICAgICAic3RhY2siOiBudWxsLCAKLSAgICAgICJtZXNz
YWdlIjogbnVsbCwgCi0gICAgICAicHJvcGVydGllcyI6IHt9Ci0gICAgfSwgCi0gICAgewotICAg
ICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsIAotICAgICAgIm5hbWUiOiAiYmFzaWMgYXNzZXJ0
X2dyZWF0ZXJfdGhhbl9lcXVhbCB0ZXN0IiwgCi0gICAgICAic3RhY2siOiBudWxsLCAKLSAgICAg
ICJtZXNzYWdlIjogbnVsbCwgCi0gICAgICAicHJvcGVydGllcyI6IHt9Ci0gICAgfSwgCi0gICAg
ewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsIAotICAgICAgIm5hbWUiOiAiYmFzaWMg
YXNzZXJ0X2xlc3NfdGhhbiB0ZXN0IiwgCi0gICAgICAic3RhY2siOiBudWxsLCAKLSAgICAgICJt
ZXNzYWdlIjogbnVsbCwgCi0gICAgICAicHJvcGVydGllcyI6IHt9Ci0gICAgfSwgCi0gICAgewot
ICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsIAotICAgICAgIm5hbWUiOiAiYmFzaWMgYXNz
ZXJ0X29iamVjdF9lcXVhbHMgdGVzdCIsIAotICAgICAgInN0YWNrIjogbnVsbCwgCi0gICAgICAi
bWVzc2FnZSI6IG51bGwsIAotICAgICAgInByb3BlcnRpZXMiOiB7fQotICAgIH0sIAotICAgIHsK
LSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLCAKLSAgICAgICJuYW1lIjogImJvZHkgZWxl
bWVudCBmaXJlcyB0aGUgb25sb2FkIGV2ZW50IHNldCBmcm9tIHRoZSBhdHRyaWJ1dGUiLCAKLSAg
ICAgICJzdGFjayI6IG51bGwsIAotICAgICAgIm1lc3NhZ2UiOiBudWxsLCAKLSAgICAgICJwcm9w
ZXJ0aWVzIjoge30KLSAgICB9LCAKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNT
IiwgCi0gICAgICAibmFtZSI6ICJkb2N1bWVudC5ib2R5IHNob3VsZCBiZSB0aGUgZmlyc3QgYm9k
eSBlbGVtZW50IGluIHRoZSBkb2N1bWVudCIsIAotICAgICAgInN0YWNrIjogbnVsbCwgCi0gICAg
ICAibWVzc2FnZSI6IG51bGwsIAotICAgICAgInByb3BlcnRpZXMiOiB7fQotICAgIH0sIAotICAg
IHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLCAKLSAgICAgICJuYW1lIjogInRlc3Qg
Zm9yIGFzc2VydFtfbm90XV9leGlzdHMgYW5kIGluc2VydF9pbmhlcml0cyIsIAotICAgICAgInN0
YWNrIjogbnVsbCwgCi0gICAgICAibWVzc2FnZSI6IG51bGwsIAotICAgICAgInByb3BlcnRpZXMi
OiB7fQotICAgIH0sIAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlRJTUVPVVQiLCAK
LSAgICAgICJuYW1lIjogInRlc3Qgc2hvdWxkIHRpbWVvdXQgKGZhaWwpIHdpdGggYSBjdXN0b20g
c2V0IHRpbWVvdXQgdmFsdWUgb2YgMSBzZWNvbmQiLCAKLSAgICAgICJzdGFjayI6IG51bGwsIAot
ICAgICAgIm1lc3NhZ2UiOiAiVGVzdCB0aW1lZCBvdXQiLCAKLSAgICAgICJwcm9wZXJ0aWVzIjog
ewotICAgICAgICAidGltZW91dCI6IDEwMDAKLSAgICAgIH0KLSAgICB9LCAKLSAgICB7Ci0gICAg
ICAic3RhdHVzX3N0cmluZyI6ICJUSU1FT1VUIiwgCi0gICAgICAibmFtZSI6ICJ0ZXN0IHNob3Vs
ZCB0aW1lb3V0IChmYWlsKSB3aXRoIHRoZSBkZWZhdWx0IG9mIDIgc2Vjb25kcyIsIAotICAgICAg
InN0YWNrIjogbnVsbCwgCi0gICAgICAibWVzc2FnZSI6ICJUZXN0IHRpbWVkIG91dCIsIAotICAg
ICAgInByb3BlcnRpZXMiOiB7fQotICAgIH0sIAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5n
IjogIlBBU1MiLCAKLSAgICAgICJuYW1lIjogIndpbmRvdyBvbmxvYWQgZXZlbnQgZmlyZXMgd2hl
biBzZXQgZnJvbSB0aGUgaGFuZGxlciIsIAotICAgICAgInN0YWNrIjogbnVsbCwgCi0gICAgICAi
bWVzc2FnZSI6IG51bGwsIAotICAgICAgInByb3BlcnRpZXMiOiB7fQotICAgIH0KLSAgXSwKLSAg
InR5cGUiOiAiY29tcGxldGUiCi19Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3Rlc3QvdGVzdHMvYXBpLXRlc3RzLTIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvYXBpLXRlc3RzLTIuaHRt
bApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTlmYTViZTljODUuLjAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3Rlc3QvdGVzdHMvYXBpLXRlc3RzLTIuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDQ3ICsw
LDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLTx0aXRsZT5TYW1wbGUgSFRN
TDUgQVBJIFRlc3RzPC90aXRsZT4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0ibG9hZF90ZXN0X2F0
dHIuZG9uZSgpIj4KLTxoMT5TYW1wbGUgSFRNTDUgQVBJIFRlc3RzPC9oMT4KLTxwPlRoZXJlIHNo
b3VsZCBiZSB0d28gcmVzdWx0czwvcD4KLTxkaXYgaWQ9ImxvZyI+PC9kaXY+Ci08c2NyaXB0IHNy
Yz0iLi4vLi4vdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci1zZXR1cCh7ZXhwbGljaXRf
ZG9uZTp0cnVlfSkKLXRlc3QoZnVuY3Rpb24oKSB7YXNzZXJ0X3RydWUodHJ1ZSl9LCAiVGVzdCBk
ZWZpbmVkIGJlZm9yZSBvbmxvYWQiKTsKLQotb25sb2FkID0gZnVuY3Rpb24oKSB7dGVzdChmdW5j
dGlvbiAoKXthc3NlcnRfdHJ1ZSh0cnVlKX0sICJUZXN0IGRlZmluZWQgYWZ0ZXIgb25sb2FkIik7
Ci1kb25lKCk7Ci19Ci08L3NjcmlwdD4KLTxzY3JpcHQgdHlwZT0idGV4dC9qc29uIiBpZD0iZXhw
ZWN0ZWQiPgotewotICAic3VtbWFyaXplZF9zdGF0dXMiOiB7Ci0gICAgInN0YXR1c19zdHJpbmci
OiAiT0siLAotICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAic3RhY2siOiBudWxsCi0gIH0sCi0g
ICJzdW1tYXJpemVkX3Rlc3RzIjogWwotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBB
U1MiLAotICAgICAgIm5hbWUiOiAiVGVzdCBkZWZpbmVkIGFmdGVyIG9ubG9hZCIsCi0gICAgICAi
cHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgInN0YWNrIjog
bnVsbAotICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAg
ICAibmFtZSI6ICJUZXN0IGRlZmluZWQgYmVmb3JlIG9ubG9hZCIsCi0gICAgICAicHJvcGVydGll
cyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgInN0YWNrIjogbnVsbAotICAg
IH0KLSAgXSwKLSAgInR5cGUiOiAiY29tcGxldGUiCi19Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvYXBpLXRlc3RzLTMuaHRtbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvYXBp
LXRlc3RzLTMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZmI1NzFjOGVlODUu
LjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvYXBpLXRlc3RzLTMuaHRtbAorKysgL2Rldi9udWxs
CkBAIC0xLDM2ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLTx0aXRs
ZT5TYW1wbGUgSFRNTDUgQVBJIFRlc3RzPC90aXRsZT4KLTwvaGVhZD4KLTxzY3JpcHQgc3JjPSIu
Li8uLi90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci0KLTxib2R5IG9ubG9hZD0ibG9hZF90ZXN0
X2F0dHIuZG9uZSgpIj4KLTxoMT5TYW1wbGUgSFRNTDUgQVBJIFRlc3RzPC9oMT4KLTxkaXYgaWQ9
ImxvZyI+PC9kaXY+Ci08c2NyaXB0Pgotc2V0dXAoe2V4cGxpY2l0X3RpbWVvdXQ6dHJ1ZX0pOwot
dmFyIHQgPSBhc3luY190ZXN0KCJUaGlzIHRlc3Qgc2hvdWxkIGdpdmUgYSBzdGF0dXMgb2YgJ05v
dCBSdW4nIHdpdGhvdXQgYSBkZWxheSIpOwotdGltZW91dCgpOwotPC9zY3JpcHQ+Ci08c2NyaXB0
IHR5cGU9InRleHQvanNvbiIgaWQ9ImV4cGVjdGVkIj4KLXsKLSAgInN1bW1hcml6ZWRfc3RhdHVz
IjogewotICAgICJzdGF0dXNfc3RyaW5nIjogIlRJTUVPVVQiLAotICAgICJtZXNzYWdlIjogbnVs
bCwKLSAgICAic3RhY2siOiBudWxsCi0gIH0sCi0gICJzdW1tYXJpemVkX3Rlc3RzIjogWwotICAg
IHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIk5PVFJVTiIsCi0gICAgICAibmFtZSI6ICJUaGlz
IHRlc3Qgc2hvdWxkIGdpdmUgYSBzdGF0dXMgb2YgJ05vdCBSdW4nIHdpdGhvdXQgYSBkZWxheSIs
Ci0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAg
InN0YWNrIjogbnVsbAotICAgIH0KLSAgXSwKLSAgInR5cGUiOiAiY29tcGxldGUiCi19Ci08L3Nj
cmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC9h
ZGRfY2xlYW51cC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFsL2FkZF9jbGVhbnVwLmh0bWwKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDMxZmUxOWM0YmNlLi4wMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90
ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvYWRkX2NsZWFudXAuaHRtbAorKysgL2Rldi9udWxsCkBAIC0x
LDk0ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLTxtZXRhIG5hbWU9
InZhcmlhbnQiIGNvbnRlbnQ9IiI+Ci08bWV0YSBuYW1lPSJ2YXJpYW50IiBjb250ZW50PSI/a2Vl
cC1wcm9taXNlIj4KLTx0aXRsZT5UZXN0I2FkZF9jbGVhbnVwPC90aXRsZT4KLTxzY3JpcHQgc3Jj
PSIuLi8uLi92YXJpYW50cy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxkaXYgaWQ9ImxvZyI+
PC9kaXY+Ci08c2NyaXB0PgotInVzZSBzdHJpY3QiOwotCi12YXIgbG9nX3N5bmM7Ci10ZXN0KGZ1
bmN0aW9uKHQpIHsKLSAgbG9nX3N5bmMgPSAiIjsKLSAgdC5hZGRfY2xlYW51cChmdW5jdGlvbigp
IHsgbG9nX3N5bmMgKz0gIjEiOyB9KTsKLSAgdC5hZGRfY2xlYW51cChmdW5jdGlvbigpIHsgbG9n
X3N5bmMgKz0gIjIiOyB9KTsKLSAgdC5hZGRfY2xlYW51cChmdW5jdGlvbigpIHsgbG9nX3N5bmMg
Kz0gIjMiOyB9KTsKLSAgdC5hZGRfY2xlYW51cChmdW5jdGlvbigpIHsgbG9nX3N5bmMgKz0gIjQi
OyB9KTsKLSAgdC5hZGRfY2xlYW51cChmdW5jdGlvbigpIHsgbG9nX3N5bmMgKz0gIjUiOyB9KTsK
LSAgbG9nX3N5bmMgKz0gIjAiOwotfSwgInByb2JlIHN5bmNocm9ub3VzIik7Ci0KLXRlc3QoZnVu
Y3Rpb24oKSB7Ci0gIGlmIChsb2dfc3luYyAhPT0gIjAxMjM0NSIpIHsKLSAgICB0aHJvdyBuZXcg
RXJyb3IoIkV4cGVjdGVkOiAnMDEyMzQ1Jy4gQWN0dWFsOiAnIiArIGxvZ19zeW5jICsgIicuIik7
Ci0gIH0KLX0sICJDbGVhbnVwIG1ldGhvZHMgYXJlIGludm9rZWQgZXhhY3RseSBvbmNlIGFuZCBp
biB0aGUgZXhwZWN0ZWQgc2VxdWVuY2UuIik7Ci0KLXZhciBjb21wbGV0ZSwgbG9nX2FzeW5jOwot
YXN5bmNfdGVzdChmdW5jdGlvbih0KSB7Ci0gIGNvbXBsZXRlID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24oKSB7Ci0gICAgaWYgKGxvZ19hc3luYyAhPT0gIjAxMiIpIHsKLSAgICAgIHRocm93IG5ldyBF
cnJvcigiRXhwZWN0ZWQ6ICcwMTInLiBBY3R1YWw6ICciICsgbG9nX2FzeW5jICsgIicuIik7Ci0g
ICAgfQotCi0gICAgdC5kb25lKCk7Ci0gIH0pOwotfSwgIkNsZWFudXAgbWV0aG9kcyBhcmUgaW52
b2tlZCBmb2xsb3dpbmcgdGhlIGNvbXBsZXRpb24gb2YgYXN5bmNocm9ub3VzIHRlc3RzIik7Ci0K
LWFzeW5jX3Rlc3QoZnVuY3Rpb24odCkgewotICBsb2dfYXN5bmMgPSAiIjsKLSAgdC5hZGRfY2xl
YW51cChmdW5jdGlvbigpIHsgbG9nX2FzeW5jICs9ICIxIjsgfSk7Ci0KLSAgc2V0VGltZW91dCh0
LnN0ZXBfZnVuYyhmdW5jdGlvbigpIHsKLSAgICB0LmFkZF9jbGVhbnVwKGZ1bmN0aW9uKCkgewot
ICAgICAgbG9nX2FzeW5jICs9ICIyIjsKLSAgICAgIGNvbXBsZXRlKCk7Ci0gICAgfSk7Ci0gICAg
bG9nX2FzeW5jICs9ICIwIjsKLSAgICB0LmRvbmUoKTsKLSAgfSksIDApOwotfSwgInByb2JlIGFz
eW5jaHJvbm91cyIpOwotPC9zY3JpcHQ+Ci08c2NyaXB0IHR5cGU9InRleHQvanNvbiIgaWQ9ImV4
cGVjdGVkIj4KLXsKLSAgInN1bW1hcml6ZWRfc3RhdHVzIjogewotICAgICJzdGF0dXNfc3RyaW5n
IjogIk9LIiwKLSAgICAibWVzc2FnZSI6IG51bGwKLSAgfSwKLSAgInN1bW1hcml6ZWRfdGVzdHMi
OiBbCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6
ICJDbGVhbnVwIG1ldGhvZHMgYXJlIGludm9rZWQgZXhhY3RseSBvbmNlIGFuZCBpbiB0aGUgZXhw
ZWN0ZWQgc2VxdWVuY2UuIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2Fn
ZSI6IG51bGwKLSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAot
ICAgICAgIm5hbWUiOiAiQ2xlYW51cCBtZXRob2RzIGFyZSBpbnZva2VkIGZvbGxvd2luZyB0aGUg
Y29tcGxldGlvbiBvZiBhc3luY2hyb25vdXMgdGVzdHMiLAotICAgICAgInByb3BlcnRpZXMiOiB7
fSwKLSAgICAgICJtZXNzYWdlIjogbnVsbAotICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19z
dHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJwcm9iZSBhc3luY2hyb25vdXMiLAotICAg
ICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogbnVsbAotICAgIH0sCi0gICAg
ewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJwcm9iZSBz
eW5jaHJvbm91cyIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBu
dWxsCi0gICAgfQotICBdLAotICAidHlwZSI6ICJjb21wbGV0ZSIKLX0KLTwvc2NyaXB0PgotPC9i
b2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFsL2FkZF9jbGVhbnVw
X2FzeW5jLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvYWRkX2NsZWFudXBfYXN5bmMuaHRtbApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWQwYWRlNDE1MGEuLjAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC9hZGRfY2xlYW51cF9hc3luYy5odG1sCisrKyAvZGV2L251
bGwKQEAgLTEsODcgKzAsMCBAQAotPCFET0NUWVBFIEhUTUw+Ci08aHRtbD4KLTxoZWFkPgotPG1l
dGEgbmFtZT0idmFyaWFudCIgY29udGVudD0iP2tlZXAtcHJvbWlzZSI+Ci08dGl0bGU+VGVzdCNh
ZGRfY2xlYW51cCB3aXRoIFByb21pc2UtcmV0dXJuaW5nIGZ1bmN0aW9uczwvdGl0bGU+Ci08c2Ny
aXB0IHNyYz0iLi4vLi4vdmFyaWFudHMuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4u
Ly4uL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxkaXYgaWQ9Imxv
ZyI+PC9kaXY+Ci0KLTxzY3JpcHQ+Ci0idXNlIHN0cmljdCI7Ci12YXIgY29tcGxldGVDb3VudCA9
IDA7Ci12YXIgY291bnRzID0gewotICAgIGFmdGVyVGljazogbnVsbCwKLSAgICBhZnRlckZpcnN0
OiBudWxsCi19OwotCi1hZGRfcmVzdWx0X2NhbGxiYWNrKGZ1bmN0aW9uKHJlc3VsdF90KSB7Ci0g
IGNvbXBsZXRlQ291bnQgKz0gMTsKLX0pOwotCi1wcm9taXNlX3Rlc3QoZnVuY3Rpb24odCkgewot
ICB0LmFkZF9jbGVhbnVwKGZ1bmN0aW9uKCkgewotICAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5j
dGlvbihyZXNvbHZlKSB7Ci0gICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewotICAgICAgICBj
b3VudHMuYWZ0ZXJUaWNrID0gY29tcGxldGVDb3VudDsKLSAgICAgICAgcmVzb2x2ZSgpOwotICAg
ICAgfSwgMCk7Ci0gICAgfSk7Ci0gIH0pOwotICB0LmFkZF9jbGVhbnVwKGZ1bmN0aW9uKCkgewot
ICAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKSB7Ci0KLSAgICAgIHNldFRp
bWVvdXQoZnVuY3Rpb24oKSB7Ci0gICAgICAgIGNvdW50cy5hZnRlckZpcnN0ID0gY29tcGxldGVD
b3VudDsKLSAgICAgICAgcmVzb2x2ZSgpOwotICAgICAgfSwgMCk7Ci0gICAgfSk7Ci0gIH0pOwot
Ci0gIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTsKLX0sICdwcm9taXNlX3Rlc3Qgd2l0aCBhc3lu
Y2hyb25vdXMgY2xlYW51cCcpOwotCi1wcm9taXNlX3Rlc3QoZnVuY3Rpb24oKSB7Ci0gIGFzc2Vy
dF9lcXVhbHMoCi0gICAgY291bnRzLmFmdGVyVGljaywKLSAgICAwLAotICAgICJ0ZXN0IGlzIG5v
dCBhc3luY2hyb25vdXNseSBjb25zaWRlcmVkICdjb21wbGV0ZSciCi0gICk7Ci0gIGFzc2VydF9l
cXVhbHMoCi0gICAgY291bnRzLmFmdGVyRmlyc3QsCi0gICAgMCwKLSAgICAidGVzdCBpcyBub3Qg
Y29uc2lkZXJlZCAnY29tcGxldGUnIGZvbGxvd2luZyBmdWxmaWxsbWVudCBvZiBmaXJzdCBwcm9t
aXNlIgotICApOwotICBhc3NlcnRfZXF1YWxzKGNvbXBsZXRlQ291bnQsIDEpOwotCi0gIHJldHVy
biBQcm9taXNlLnJlc29sdmUoKTsKLX0sICJzeW5jaHJvbm91c2x5LWRlZmluZWQgcHJvbWlzZV90
ZXN0Iik7Ci08L3NjcmlwdD4KLTxzY3JpcHQgdHlwZT0idGV4dC9qc29uIiBpZD0iZXhwZWN0ZWQi
PgotewotICAic3VtbWFyaXplZF9zdGF0dXMiOiB7Ci0gICAgInN0YXR1c19zdHJpbmciOiAiT0si
LAotICAgICJtZXNzYWdlIjogbnVsbAotICB9LAotICAic3VtbWFyaXplZF90ZXN0cyI6IFsKLSAg
ICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1lIjogInByb21p
c2VfdGVzdCB3aXRoIGFzeW5jaHJvbm91cyBjbGVhbnVwIiwKLSAgICAgICJtZXNzYWdlIjogbnVs
bCwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30KLSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0dXNf
c3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUiOiAic3luY2hyb25vdXNseS1kZWZpbmVkIHBy
b21pc2VfdGVzdCIsCi0gICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAicHJvcGVydGllcyI6
IHt9Ci0gICAgfQotICBdLAotICAidHlwZSI6ICJjb21wbGV0ZSIKLX0KLTwvc2NyaXB0PgotPC9i
b2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFsL2FkZF9jbGVhbnVw
X2FzeW5jX2JhZF9yZXR1cm4uaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC9hZGRfY2xlYW51cF9h
c3luY19iYWRfcmV0dXJuLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDBiNDUz
NjJmMTY0Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvYWRkX2NsZWFudXBf
YXN5bmNfYmFkX3JldHVybi5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNTIgKzAsMCBAQAotPCFE
T0NUWVBFIEhUTUw+Ci08aHRtbD4KLTxoZWFkPgotPG1ldGEgbmFtZT0idmFyaWFudCIgY29udGVu
dD0iP2tlZXAtcHJvbWlzZSI+Ci08dGl0bGU+VGVzdCNhZGRfY2xlYW51cCB3aXRoIG5vbi10aGVu
YWJsZS1yZXR1cm5pbmcgZnVuY3Rpb248L3RpdGxlPgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Zhcmlh
bnRzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4vdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwv
c2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08ZGl2IGlkPSJsb2ciPjwvZGl2PgotCi08c2NyaXB0
PgotInVzZSBzdHJpY3QiOwotCi1wcm9taXNlX3Rlc3QoZnVuY3Rpb24odCkgewotICB0LmFkZF9j
bGVhbnVwKGZ1bmN0aW9uKCkge30pOwotICB0LmFkZF9jbGVhbnVwKGZ1bmN0aW9uKCkgewotICAg
IHJldHVybiB7IHRoZW46IDkgfTsKLSAgfSk7Ci0gIHQuYWRkX2NsZWFudXAoZnVuY3Rpb24oKSB7
IHJldHVybiBQcm9taXNlLnJlc29sdmUoKTsgfSk7Ci0KLSAgcmV0dXJuIFByb21pc2UucmVzb2x2
ZSgpOwotfSwgInByb21pc2VfdGVzdCB0aGF0IHJldHVybnMgYSBub24tdGhlbmFibGUgb2JqZWN0
IGluIG9uZSBcImNsZWFudXBcIiBjYWxsYmFjayIpOwotCi1wcm9taXNlX3Rlc3QoZnVuY3Rpb24o
KSB7fSwgIlRoZSB0ZXN0IHJ1bm5lciBpcyBpbiBhbiB1bnByZWRpY3RhYmxlIHN0YXRlICgnTk9U
IFJVTicpIik7Ci08L3NjcmlwdD4KLTxzY3JpcHQgdHlwZT0idGV4dC9qc29uIiBpZD0iZXhwZWN0
ZWQiPgotewotICAic3VtbWFyaXplZF9zdGF0dXMiOiB7Ci0gICAgInN0YXR1c19zdHJpbmciOiAi
RVJST1IiLAotICAgICJtZXNzYWdlIjogIlRlc3QgbmFtZWQgJ3Byb21pc2VfdGVzdCB0aGF0IHJl
dHVybnMgYSBub24tdGhlbmFibGUgb2JqZWN0IGluIG9uZSBcImNsZWFudXBcIiBjYWxsYmFjaycg
c3BlY2lmaWVkIDMgJ2NsZWFudXAnIGZ1bmN0aW9ucywgYW5kIDEgcmV0dXJuZWQgYSBub24tdGhl
bmFibGUgdmFsdWUuIgotICB9LAotICAic3VtbWFyaXplZF90ZXN0cyI6IFsKLSAgICB7Ci0gICAg
ICAic3RhdHVzX3N0cmluZyI6ICJOT1RSVU4iLAotICAgICAgIm5hbWUiOiAiVGhlIHRlc3QgcnVu
bmVyIGlzIGluIGFuIHVucHJlZGljdGFibGUgc3RhdGUgKCdOT1QgUlVOJykiLAotICAgICAgIm1l
c3NhZ2UiOiBudWxsLAotICAgICAgInByb3BlcnRpZXMiOiB7fQotICAgIH0sCi0gICAgewotICAg
ICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJwcm9taXNlX3Rlc3Qg
dGhhdCByZXR1cm5zIGEgbm9uLXRoZW5hYmxlIG9iamVjdCBpbiBvbmUgXCJjbGVhbnVwXCIgY2Fs
bGJhY2siLAotICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgInByb3BlcnRpZXMiOiB7fQot
ICAgIH0KLSAgXSwKLSAgInR5cGUiOiAiY29tcGxldGUiCi19Ci08L3NjcmlwdD4KLTwvYm9keT4K
LTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC9hZGRfY2xlYW51cF9hc3lu
Y19yZWplY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC9hZGRfY2xlYW51cF9hc3luY19y
ZWplY3Rpb24uaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDUyOGI0MjU0ZjYu
LjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC9hZGRfY2xlYW51cF9hc3luY19y
ZWplY3Rpb24uaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDk2ICswLDAgQEAKLTwhRE9DVFlQRSBI
VE1MPgotPGh0bWw+Ci08aGVhZD4KLTxtZXRhIG5hbWU9InZhcmlhbnQiIGNvbnRlbnQ9Ij9rZWVw
LXByb21pc2UiPgotPHRpdGxlPlRlc3QjYWRkX2NsZWFudXAgd2l0aCBQcm9taXNlLXJldHVybmlu
ZyBmdW5jdGlvbnMgKHJlamVjdGlvbiBoYW5kbGluZyk8L3RpdGxlPgotPHNjcmlwdCBzcmM9Ii4u
Ly4uL3ZhcmlhbnRzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4vdGVzdGhhcm5lc3NyZXBv
cnQuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08ZGl2IGlkPSJsb2ciPjwvZGl2Pgot
Ci08c2NyaXB0PgotInVzZSBzdHJpY3QiOwotdmFyIHJlc29sdmUsIHJlamVjdDsKLXZhciBjb21w
bGV0ZUNvdW50ID0gMDsKLWFkZF9yZXN1bHRfY2FsbGJhY2soZnVuY3Rpb24ocmVzdWx0X3QpIHsK
LSAgY29tcGxldGVDb3VudCArPSAxOwotfSk7Ci1wcm9taXNlX3Rlc3QoZnVuY3Rpb24odCkgewot
ICB0LmFkZF9jbGVhbnVwKGZ1bmN0aW9uKCkgewotICAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5j
dGlvbihfLCBfcmVqZWN0KSB7IHJlamVjdCA9IF9yZWplY3Q7IH0pOwotICB9KTsKLSAgdC5hZGRf
Y2xlYW51cChmdW5jdGlvbigpIHsKLSAgICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24oX3Jl
c29sdmUpIHsgcmVzb2x2ZSA9IF9yZXNvbHZlOyB9KTsKLSAgfSk7Ci0KLSAgLy8gVGhlIGZvbGxv
d2luZyBjbGVhbnVwIGZ1bmN0aW9uIGRlZmluZXMgZW1wdHkgdGVzdHMgc28gdGhhdCB0aGUgcmVw
b3J0ZWQKLSAgLy8gZGF0YSBkZW1vbnN0cmF0ZXMgdGhlIGludGVuZGVkIHJ1bi10aW1lIGJlaGF2
aW9yIHdpdGhvdXQgcmVseWluZyBvbiB0aGUKLSAgLy8gdGVzdCBoYXJuZXNzJ3MgaGFuZGxpbmcg
b2YgZXJyb3JzIGR1cmluZyB0ZXN0IGNsZWFudXAgKHdoaWNoIGlzIHRlc3RlZAotICAvLyBlbHNl
d2hlcmUpLgotICB0LmFkZF9jbGVhbnVwKGZ1bmN0aW9uKCkgewotICAgIGlmIChjb21wbGV0ZUNv
dW50ID09PSAwKSB7Ci0gICAgICBwcm9taXNlX3Rlc3QoCi0gICAgICAgIGZ1bmN0aW9uKCkge30s
Ci0gICAgICAgICJ0ZXN0IGlzIG5vdCBhc3luY2hyb25vdXNseSBjb25zaWRlcmVkICdjb21wbGV0
ZScgKCdOT1QgUlVOJykiCi0gICAgICApOwotICAgIH0KLQotICAgIHJlamVjdCgpOwotCi0gICAg
c2V0VGltZW91dChmdW5jdGlvbigpIHsKLSAgICAgIGlmIChjb21wbGV0ZUNvdW50ID09PSAwKSB7
Ci0gICAgICAgIHByb21pc2VfdGVzdCgKLSAgICAgICAgICBmdW5jdGlvbigpIHt9LAotICAgICAg
ICAgICJ0ZXN0IGlzIG5vdCBjb25zaWRlcmVkICdjb21wbGV0ZScgZm9sbG93aW5nIHJlamVjdGlv
biBvZiBmaXJzdCAiICsKLSAgICAgICAgICAicHJvbWlzZSAoJ05PVCBSVU4nKSIKLSAgICAgICAg
KTsKLSAgICAgIH0KLQotICAgICAgcmVzb2x2ZSgpOwotICAgIH0sIDApOwotICB9KTsKLQotICBy
ZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7Ci19LCAicHJvbWlzZV90ZXN0IHdpdGggYXN5bmNocm9u
b3VzIGNsZWFudXAgaW5jbHVkaW5nIHJlamVjdGlvbiIpOwotCi1wcm9taXNlX3Rlc3QoZnVuY3Rp
b24oKSB7fSwgInN5bmNocm9ub3VzbHktZGVmaW5lZCB0ZXN0ICgnTk9UIFJVTicpIik7Ci08L3Nj
cmlwdD4KLTxzY3JpcHQgdHlwZT0idGV4dC9qc29uIiBpZD0iZXhwZWN0ZWQiPgotewotICAic3Vt
bWFyaXplZF9zdGF0dXMiOiB7Ci0gICAgInN0YXR1c19zdHJpbmciOiAiRVJST1IiLAotICAgICJt
ZXNzYWdlIjogIlRlc3QgbmFtZWQgJ3Byb21pc2VfdGVzdCB3aXRoIGFzeW5jaHJvbm91cyBjbGVh
bnVwIGluY2x1ZGluZyByZWplY3Rpb24nIHNwZWNpZmllZCAzICdjbGVhbnVwJyBmdW5jdGlvbnMs
IGFuZCAxIGZhaWxlZC4iCi0gIH0sCi0gICJzdW1tYXJpemVkX3Rlc3RzIjogWwotICAgIHsKLSAg
ICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUiOiAicHJvbWlzZV90ZXN0
IHdpdGggYXN5bmNocm9ub3VzIGNsZWFudXAgaW5jbHVkaW5nIHJlamVjdGlvbiIsCi0gICAgICAi
bWVzc2FnZSI6IG51bGwsCi0gICAgICAicHJvcGVydGllcyI6IHt9Ci0gICAgfSwKLSAgICB7Ci0g
ICAgICAic3RhdHVzX3N0cmluZyI6ICJOT1RSVU4iLAotICAgICAgIm5hbWUiOiAic3luY2hyb25v
dXNseS1kZWZpbmVkIHRlc3QgKCdOT1QgUlVOJykiLAotICAgICAgIm1lc3NhZ2UiOiBudWxsLAot
ICAgICAgInByb3BlcnRpZXMiOiB7fQotICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJp
bmciOiAiTk9UUlVOIiwKLSAgICAgICJuYW1lIjogInRlc3QgaXMgbm90IGFzeW5jaHJvbm91c2x5
IGNvbnNpZGVyZWQgJ2NvbXBsZXRlJyAoJ05PVCBSVU4nKSIsCi0gICAgICAibWVzc2FnZSI6IG51
bGwsCi0gICAgICAicHJvcGVydGllcyI6IHt9Ci0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVz
X3N0cmluZyI6ICJOT1RSVU4iLAotICAgICAgIm5hbWUiOiAidGVzdCBpcyBub3QgY29uc2lkZXJl
ZCAnY29tcGxldGUnIGZvbGxvd2luZyByZWplY3Rpb24gb2YgZmlyc3QgcHJvbWlzZSAoJ05PVCBS
VU4nKSIsCi0gICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAicHJvcGVydGllcyI6IHt9Ci0g
ICAgfQotICBdLAotICAidHlwZSI6ICJjb21wbGV0ZSIKLX0KLTwvc2NyaXB0PgotPC9ib2R5Pgot
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFsL2FkZF9jbGVhbnVwX2FzeW5j
X3JlamVjdGlvbl9hZnRlcl9sb2FkLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvYWRkX2NsZWFu
dXBfYXN5bmNfcmVqZWN0aW9uX2FmdGVyX2xvYWQuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggYmQ4ZmIzNzljNzguLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25h
bC9hZGRfY2xlYW51cF9hc3luY19yZWplY3Rpb25fYWZ0ZXJfbG9hZC5odG1sCisrKyAvZGV2L251
bGwKQEAgLTEsNTQgKzAsMCBAQAotPCFET0NUWVBFIEhUTUw+Ci08aHRtbD4KLTxoZWFkPgotPG1l
dGEgbmFtZT0idmFyaWFudCIgY29udGVudD0iP2tlZXAtcHJvbWlzZSI+Ci08dGl0bGU+VGVzdCNh
ZGRfY2xlYW51cCB3aXRoIFByb21pc2UtcmV0dXJuaW5nIGZ1bmN0aW9ucyAocmVqZWN0aW9uIGhh
bmRsaW5nIGZvbGxvd2luZyAibG9hZCIgZXZlbnQpPC90aXRsZT4KLTxzY3JpcHQgc3JjPSIuLi8u
Li92YXJpYW50cy5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxoMT5Qcm9taXNlIFRl
c3RzPC9oMT4KLTxwPlRoaXMgdGVzdCBkZW1vbnN0cmF0ZXMgdGhlIHVzZSBvZiA8dHQ+cHJvbWlz
ZV90ZXN0PC90dD4uIEFzc3VtZXMgRUNNQVNjcmlwdCA2Ci1Qcm9taXNlIHN1cHBvcnQuIFNvbWUg
ZmFpbHVyZXMgYXJlIGV4cGVjdGVkLjwvcD4KLTxkaXYgaWQ9ImxvZyI+PC9kaXY+Ci08c2NyaXB0
IHNyYz0iLi4vLi4vLi4vdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4u
Ly4uLy4uL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci1wcm9taXNl
X3Rlc3QoZnVuY3Rpb24odCkgewotICB0LmFkZF9jbGVhbnVwKGZ1bmN0aW9uKCkgewotICAgIHJl
dHVybiBQcm9taXNlLnJlamVjdChuZXcgRXJyb3IoImZvbyIpKTsKLSAgfSk7Ci0KLSAgcmV0dXJu
IG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7Ci0gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5l
cigiRE9NQ29udGVudExvYWRlZCIsIGZ1bmN0aW9uKCkgewotICAgICAgc2V0VGltZW91dChyZXNv
bHZlLCAwKQotICAgIH0pOwotICB9KTsKLX0sICJUZXN0IHdpdGggZmFpbGluZyBjbGVhbnVwIHRo
YXQgY29tcGxldGVzIGFmdGVyIERPTUNvbnRlbnRMb2FkZWQgZXZlbnQiKTsKLQotcHJvbWlzZV90
ZXN0KGZ1bmN0aW9uKHQpIHsKLSAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpOwotfSwgIlRlc3Qg
dGhhdCBzaG91bGQgbm90IGJlIHJ1biBkdWUgdG8gaW52YWxpZCBoYXJuZXNzIHN0YXRlICgnTk9U
IFJVTicpIik7Ci08L3NjcmlwdD4KLTxzY3JpcHQgdHlwZT0idGV4dC9qc29uIiBpZD0iZXhwZWN0
ZWQiPgotewotICAic3VtbWFyaXplZF9zdGF0dXMiOiB7Ci0gICAgInN0YXR1c19zdHJpbmciOiAi
RVJST1IiLAotICAgICJtZXNzYWdlIjogIlRlc3QgbmFtZWQgJ1Rlc3Qgd2l0aCBmYWlsaW5nIGNs
ZWFudXAgdGhhdCBjb21wbGV0ZXMgYWZ0ZXIgRE9NQ29udGVudExvYWRlZCBldmVudCcgc3BlY2lm
aWVkIDEgJ2NsZWFudXAnIGZ1bmN0aW9uLCBhbmQgMSBmYWlsZWQuIgotICB9LAotICAic3VtbWFy
aXplZF90ZXN0cyI6IFsKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJOT1RSVU4iLAot
ICAgICAgIm5hbWUiOiAiVGVzdCB0aGF0IHNob3VsZCBub3QgYmUgcnVuIGR1ZSB0byBpbnZhbGlk
IGhhcm5lc3Mgc3RhdGUgKCdOT1QgUlVOJykiLAotICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAg
ICAgInByb3BlcnRpZXMiOiB7fQotICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmci
OiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJUZXN0IHdpdGggZmFpbGluZyBjbGVhbnVwIHRoYXQg
Y29tcGxldGVzIGFmdGVyIERPTUNvbnRlbnRMb2FkZWQgZXZlbnQiLAotICAgICAgIm1lc3NhZ2Ui
OiBudWxsLAotICAgICAgInByb3BlcnRpZXMiOiB7fQotICAgIH0KLSAgXSwKLSAgInR5cGUiOiAi
Y29tcGxldGUiCi19Ci08L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC9h
ZGRfY2xlYW51cF9hc3luY190aW1lb3V0Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvYWRkX2Ns
ZWFudXBfYXN5bmNfdGltZW91dC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1
Y2IwNGQ1YThiYS4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFsL2FkZF9jbGVh
bnVwX2FzeW5jX3RpbWVvdXQuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDU5ICswLDAgQEAKLTwh
RE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLTxtZXRhIG5hbWU9InZhcmlhbnQiIGNvbnRl
bnQ9Ij9rZWVwLXByb21pc2UiPgotPHRpdGxlPlRlc3QjYWRkX2NsZWFudXAgd2l0aCBQcm9taXNl
LXJldHVybmluZyBmdW5jdGlvbnMgKHRpbWVvdXQgaGFuZGxpbmcpPC90aXRsZT4KLTxzY3JpcHQg
c3JjPSIuLi8uLi92YXJpYW50cy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4v
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGRpdiBpZD0ibG9nIj48
L2Rpdj4KLTxzY3JpcHQ+Ci0idXNlIHN0cmljdCI7Ci0KLXByb21pc2VfdGVzdChmdW5jdGlvbih0
KSB7Ci0gIHQuYWRkX2NsZWFudXAoZnVuY3Rpb24oKSB7Ci0gICAgcmV0dXJuIFByb21pc2UucmVz
b2x2ZSgpOwotICB9KTsKLQotICB0LmFkZF9jbGVhbnVwKGZ1bmN0aW9uKCkgewotICAgIHJldHVy
biBuZXcgUHJvbWlzZShmdW5jdGlvbigpIHt9KTsKLSAgfSk7Ci0KLSAgdC5hZGRfY2xlYW51cChm
dW5jdGlvbigpIHt9KTsKLQotICB0LmFkZF9jbGVhbnVwKGZ1bmN0aW9uKCkgewotICAgIHJldHVy
biBuZXcgUHJvbWlzZShmdW5jdGlvbigpIHt9KTsKLSAgfSk7Ci0KLSAgcmV0dXJuIFByb21pc2Uu
cmVzb2x2ZSgpOwotfSwgInByb21pc2VfdGVzdCB3aXRoIGFzeW5jaHJvbm91cyBjbGVhbnVwIik7
Ci0KLXByb21pc2VfdGVzdChmdW5jdGlvbigpIHt9LCAicHJvbWlzZV90ZXN0IGZvbGxvd2luZyB0
aW1lZCBvdXQgY2xlYW51cCAoJ05PVCBSVU4nKSIpOwotPC9zY3JpcHQ+Ci08c2NyaXB0IHR5cGU9
InRleHQvanNvbiIgaWQ9ImV4cGVjdGVkIj4KLXsKLSAgInN1bW1hcml6ZWRfc3RhdHVzIjogewot
ICAgICJzdGF0dXNfc3RyaW5nIjogIkVSUk9SIiwKLSAgICAibWVzc2FnZSI6ICJUaW1lb3V0IHdo
aWxlIHJ1bm5pbmcgY2xlYW51cCBmb3IgdGVzdCBuYW1lZCBcInByb21pc2VfdGVzdCB3aXRoIGFz
eW5jaHJvbm91cyBjbGVhbnVwXCIuIgotICB9LAotICAic3VtbWFyaXplZF90ZXN0cyI6IFsKLSAg
ICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJOT1RSVU4iLAotICAgICAgIm5hbWUiOiAicHJv
bWlzZV90ZXN0IGZvbGxvd2luZyB0aW1lZCBvdXQgY2xlYW51cCAoJ05PVCBSVU4nKSIsCi0gICAg
ICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAicHJvcGVydGllcyI6IHt9Ci0gICAgfSwKLSAgICB7
Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1lIjogInByb21pc2Vf
dGVzdCB3aXRoIGFzeW5jaHJvbm91cyBjbGVhbnVwIiwKLSAgICAgICJtZXNzYWdlIjogbnVsbCwK
LSAgICAgICJwcm9wZXJ0aWVzIjoge30KLSAgICB9Ci0gIF0sCi0gICJ0eXBlIjogImNvbXBsZXRl
IgotfQotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1
bmN0aW9uYWwvYWRkX2NsZWFudXBfYmFkX3JldHVybi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFs
L2FkZF9jbGVhbnVwX2JhZF9yZXR1cm4uaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMWYxYzZmYmY0NGIuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC9hZGRf
Y2xlYW51cF9iYWRfcmV0dXJuLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw2NCArMCwwIEBACi08
IURPQ1RZUEUgSFRNTD4KLTxodG1sPgotPGhlYWQ+Ci08bWV0YSBuYW1lPSJ2YXJpYW50IiBjb250
ZW50PSIiPgotPG1ldGEgbmFtZT0idmFyaWFudCIgY29udGVudD0iP2tlZXAtcHJvbWlzZSI+Ci08
dGl0bGU+VGVzdCNhZGRfY2xlYW51cCB3aXRoIHZhbHVlLXJldHVybmluZyBmdW5jdGlvbjwvdGl0
bGU+Ci08c2NyaXB0IHNyYz0iLi4vLi4vdmFyaWFudHMuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBz
cmM9Ii4uLy4uLy4uL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8u
Li8uLi90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxk
aXYgaWQ9ImxvZyI+PC9kaXY+Ci08c2NyaXB0PgotInVzZSBzdHJpY3QiOwotCi10ZXN0KGZ1bmN0
aW9uKHQpIHsKLSAgdC5hZGRfY2xlYW51cChmdW5jdGlvbigpIHt9KTsKLSAgdC5hZGRfY2xlYW51
cChmdW5jdGlvbigpIHsgcmV0dXJuIG51bGw7IH0pOwotICB0LmFkZF9jbGVhbnVwKGZ1bmN0aW9u
KCkgewotICAgIHRlc3QoCi0gICAgICBmdW5jdGlvbigpIHt9LAotICAgICAgIlRoZSB0ZXN0IHJ1
bm5lciBpcyBpbiBhbiB1bnByZWRpY3RhYmxlIHN0YXRlICMxICgnTk9UIFJVTicpIgotICAgICk7
Ci0KLSAgICB0aHJvdyBuZXcgRXJyb3IoKTsKLSAgfSk7Ci0gIHQuYWRkX2NsZWFudXAoZnVuY3Rp
b24oKSB7IHJldHVybiA0OyB9KTsKLSAgdC5hZGRfY2xlYW51cChmdW5jdGlvbigpIHsgcmV0dXJu
IHsgdGhlbjogZnVuY3Rpb24oKSB7fSB9OyB9KTsKLSAgdC5hZGRfY2xlYW51cChmdW5jdGlvbigp
IHt9KTsKLX0sICJUZXN0IHRoYXQgcmV0dXJucyBhIHZhbHVlIGluIHRocmVlIFwiY2xlYW51cFwi
IGZ1bmN0aW9ucyIpOwotCi10ZXN0KGZ1bmN0aW9uKCkge30sICJUaGUgdGVzdCBydW5uZXIgaXMg
aW4gYW4gdW5wcmVkaWN0YWJsZSBzdGF0ZSAjMiAoJ05PVCBSVU4nKSIpOwotPC9zY3JpcHQ+Ci08
c2NyaXB0IHR5cGU9InRleHQvanNvbiIgaWQ9ImV4cGVjdGVkIj4KLXsKLSAgInN1bW1hcml6ZWRf
c3RhdHVzIjogewotICAgICJzdGF0dXNfc3RyaW5nIjogIkVSUk9SIiwKLSAgICAibWVzc2FnZSI6
ICJUZXN0IG5hbWVkICdUZXN0IHRoYXQgcmV0dXJucyBhIHZhbHVlIGluIHRocmVlIFwiY2xlYW51
cFwiIGZ1bmN0aW9ucycgc3BlY2lmaWVkIDYgJ2NsZWFudXAnIGZ1bmN0aW9ucywgYW5kIDEgZmFp
bGVkLCBhbmQgMyByZXR1cm5lZCBhIG5vbi11bmRlZmluZWQgdmFsdWUuIgotICB9LAotICAic3Vt
bWFyaXplZF90ZXN0cyI6IFsKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwK
LSAgICAgICJuYW1lIjogIlRlc3QgdGhhdCByZXR1cm5zIGEgdmFsdWUgaW4gdGhyZWUgXCJjbGVh
bnVwXCIgZnVuY3Rpb25zIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2Fn
ZSI6IG51bGwKLSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIk5PVFJVTiIs
Ci0gICAgICAibmFtZSI6ICJUaGUgdGVzdCBydW5uZXIgaXMgaW4gYW4gdW5wcmVkaWN0YWJsZSBz
dGF0ZSAjMSAoJ05PVCBSVU4nKSIsCi0gICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAicHJv
cGVydGllcyI6IHt9Ci0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJOT1RS
VU4iLAotICAgICAgIm5hbWUiOiAiVGhlIHRlc3QgcnVubmVyIGlzIGluIGFuIHVucHJlZGljdGFi
bGUgc3RhdGUgIzIgKCdOT1QgUlVOJykiLAotICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAg
InByb3BlcnRpZXMiOiB7fQotICAgIH0KLSAgXSwKLSAgInR5cGUiOiAiY29tcGxldGUiCi19Ci08
L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25h
bC9hZGRfY2xlYW51cF9jb3VudC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFsL2FkZF9jbGVhbnVw
X2NvdW50Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDM4ZmQ4ZmQ3YTEwLi4w
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvYWRkX2NsZWFudXBfY291bnQuaHRt
bAorKysgL2Rldi9udWxsCkBAIC0xLDQxICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+
Ci08aGVhZD4KLTxtZXRhIG5hbWU9InZhcmlhbnQiIGNvbnRlbnQ9Ij9rZWVwLXByb21pc2UiPgot
PHRpdGxlPlRlc3QjYWRkX2NsZWFudXAgcmVwb3J0ZWQgY291bnQ8L3RpdGxlPgotPHNjcmlwdCBz
cmM9Ii4uLy4uL3ZhcmlhbnRzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4vdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08ZGl2IGlkPSJsb2ciPjwv
ZGl2PgotCi08c2NyaXB0PgotcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHQpIHsKLSAgICB0LmFkZF9j
bGVhbnVwKGZ1bmN0aW9uKCkge30pOwotICAgIHQuYWRkX2NsZWFudXAoZnVuY3Rpb24oKSB7fSk7
Ci0gICAgdC5hZGRfY2xlYW51cChmdW5jdGlvbigpIHsgdGhyb3cgbmV3IEVycm9yKCk7IH0pOwot
ICAgIG5ldyBFdmVudFdhdGNoZXIodCwgZG9jdW1lbnQuYm9keSwgW10pOwotCi0gICAgcmV0dXJu
IFByb21pc2UucmVzb2x2ZSgpOwotfSwgJ3Rlc3Qgd2l0aCAzIHVzZXItZGVmaW5lZCBjbGVhbnVw
IGZ1bmN0aW9ucycpOwotPC9zY3JpcHQ+Ci08c2NyaXB0IHR5cGU9InRleHQvanNvbiIgaWQ9ImV4
cGVjdGVkIj4KLXsKLSAgInN1bW1hcml6ZWRfc3RhdHVzIjogewotICAgICJzdGF0dXNfc3RyaW5n
IjogIkVSUk9SIiwKLSAgICAibWVzc2FnZSI6ICJUZXN0IG5hbWVkICd0ZXN0IHdpdGggMyB1c2Vy
LWRlZmluZWQgY2xlYW51cCBmdW5jdGlvbnMnIHNwZWNpZmllZCAzICdjbGVhbnVwJyBmdW5jdGlv
bnMsIGFuZCAxIGZhaWxlZC4iCi0gIH0sCi0gICJzdW1tYXJpemVkX3Rlc3RzIjogWwotICAgIHsK
LSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUiOiAidGVzdCB3aXRo
IDMgdXNlci1kZWZpbmVkIGNsZWFudXAgZnVuY3Rpb25zIiwKLSAgICAgICJtZXNzYWdlIjogbnVs
bCwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30KLSAgICB9Ci0gIF0sCi0gICJ0eXBlIjogImNvbXBs
ZXRlIgotfQotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3Rz
L2Z1bmN0aW9uYWwvYWRkX2NsZWFudXBfZXJyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvYWRk
X2NsZWFudXBfZXJyLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDk5OTcyODEy
NDJhLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvYWRkX2NsZWFudXBfZXJy
Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw0OCArMCwwIEBACi08IURPQ1RZUEUgSFRNTD4KLTxo
dG1sPgotPGhlYWQ+Ci08bWV0YSBuYW1lPSJ2YXJpYW50IiBjb250ZW50PSIiPgotPG1ldGEgbmFt
ZT0idmFyaWFudCIgY29udGVudD0iP2tlZXAtcHJvbWlzZSI+Ci08dGl0bGU+VGVzdCNhZGRfY2xl
YW51cDogZXJyb3I8L3RpdGxlPgotPHNjcmlwdCBzcmM9Ii4uLy4uL3ZhcmlhbnRzLmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0iLi4vLi4vLi4vdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPC9o
ZWFkPgotPGJvZHk+Ci08ZGl2IGlkPSJsb2ciPjwvZGl2PgotPHNjcmlwdD4KLSJ1c2Ugc3RyaWN0
IjsKLQotdGVzdChmdW5jdGlvbih0KSB7Ci0gIHQuYWRkX2NsZWFudXAoZnVuY3Rpb24oKSB7Ci0g
ICAgdGhyb3cgbmV3IEVycm9yKCdleGNlcHRpb24gaW4gY2xlYW51cCBmdW5jdGlvbicpOwotICB9
KTsKLX0sICJFeGNlcHRpb24gaW4gY2xlYW51cCBmdW5jdGlvbiBjYXVzZXMgaGFybmVzcyBmYWls
dXJlLiIpOwotCi10ZXN0KGZ1bmN0aW9uKCkge30sICJUaGlzIHRlc3Qgc2hvdWxkIG5vdCBiZSBy
dW4uIik7Ci08L3NjcmlwdD4KLTxzY3JpcHQgdHlwZT0idGV4dC9qc29uIiBpZD0iZXhwZWN0ZWQi
PgotewotICAic3VtbWFyaXplZF9zdGF0dXMiOiB7Ci0gICAgInN0YXR1c19zdHJpbmciOiAiRVJS
T1IiLAotICAgICJtZXNzYWdlIjogIlRlc3QgbmFtZWQgJ0V4Y2VwdGlvbiBpbiBjbGVhbnVwIGZ1
bmN0aW9uIGNhdXNlcyBoYXJuZXNzIGZhaWx1cmUuJyBzcGVjaWZpZWQgMSAnY2xlYW51cCcgZnVu
Y3Rpb24sIGFuZCAxIGZhaWxlZC4iCi0gIH0sCi0gICJzdW1tYXJpemVkX3Rlc3RzIjogWwotICAg
IHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUiOiAiRXhjZXB0
aW9uIGluIGNsZWFudXAgZnVuY3Rpb24gY2F1c2VzIGhhcm5lc3MgZmFpbHVyZS4iLAotICAgICAg
InByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogbnVsbAotICAgIH0sCi0gICAgewot
ICAgICAgInN0YXR1c19zdHJpbmciOiAiTk9UUlVOIiwKLSAgICAgICJuYW1lIjogIlRoaXMgdGVz
dCBzaG91bGQgbm90IGJlIHJ1bi4iLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJt
ZXNzYWdlIjogbnVsbAotICAgIH0KLSAgXSwKLSAgInR5cGUiOiAiY29tcGxldGUiCi19Ci08L3Nj
cmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC9h
ZGRfY2xlYW51cF9lcnJfbXVsdGkuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC9hZGRfY2xlYW51
cF9lcnJfbXVsdGkuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTQ4OWI5NjY1
OTAuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC9hZGRfY2xlYW51cF9lcnJf
bXVsdGkuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDU1ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1M
PgotPGh0bWw+Ci08aGVhZD4KLTxtZXRhIG5hbWU9InZhcmlhbnQiIGNvbnRlbnQ9IiI+Ci08bWV0
YSBuYW1lPSJ2YXJpYW50IiBjb250ZW50PSI/a2VlcC1wcm9taXNlIj4KLTx0aXRsZT5UZXN0I2Fk
ZF9jbGVhbnVwOiBtdWx0aXBsZSBmdW5jdGlvbnMgd2l0aCBvbmUgaW4gZXJyb3I8L3RpdGxlPgot
PHNjcmlwdCBzcmM9Ii4uLy4uL3ZhcmlhbnRzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIu
Li8uLi8uLi90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4v
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08ZGl2IGlk
PSJsb2ciPjwvZGl2PgotCi08c2NyaXB0PgotInVzZSBzdHJpY3QiOwotCi10ZXN0KGZ1bmN0aW9u
KHQpIHsKLSAgICB0LmFkZF9jbGVhbnVwKGZ1bmN0aW9uKCkgewotICAgICAgdGhyb3cgbmV3IEVy
cm9yKCJleGNlcHRpb24gaW4gY2xlYW51cCBmdW5jdGlvbiIpOwotICAgIH0pOwotCi0gICAgLy8g
VGhlIGZvbGxvd2luZyBjbGVhbnVwIGZ1bmN0aW9uIGRlZmluZXMgYSB0ZXN0IHNvIHRoYXQgdGhl
IHJlcG9ydGVkCi0gICAgLy8gZGF0YSBkZW1vbnN0cmF0ZXMgdGhlIGludGVuZGVkIHJ1bi10aW1l
IGJlaGF2aW9yLCBpLmUuIHRoYXQKLSAgICAvLyBgdGVzdGhhcm5lc3MuanNgIGludm9rZXMgYWxs
IGNsZWFudXAgZnVuY3Rpb25zIGV2ZW4gd2hlbiBvbmUgb3IgbW9yZQotICAgIC8vIHRocm93IGVy
cm9ycy4KLSAgICB0LmFkZF9jbGVhbnVwKGZ1bmN0aW9uKCkgewotICAgICAgdGVzdChmdW5jdGlv
bigpIHt9LCAiVmVyaWZpY2F0aW9uIHRlc3QiKTsKLSAgICB9KTsKLSAgfSwgIlRlc3Qgd2l0aCBt
dWx0aXBsZSBjbGVhbnVwIGZ1bmN0aW9ucyIpOwotPC9zY3JpcHQ+Ci08c2NyaXB0IHR5cGU9InRl
eHQvanNvbiIgaWQ9ImV4cGVjdGVkIj4KLXsKLSAgInN1bW1hcml6ZWRfc3RhdHVzIjogewotICAg
ICJzdGF0dXNfc3RyaW5nIjogIkVSUk9SIiwKLSAgICAibWVzc2FnZSI6ICJUZXN0IG5hbWVkICdU
ZXN0IHdpdGggbXVsdGlwbGUgY2xlYW51cCBmdW5jdGlvbnMnIHNwZWNpZmllZCAyICdjbGVhbnVw
JyBmdW5jdGlvbnMsIGFuZCAxIGZhaWxlZC4iCi0gIH0sCi0gICJzdW1tYXJpemVkX3Rlc3RzIjog
WwotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUiOiAi
VGVzdCB3aXRoIG11bHRpcGxlIGNsZWFudXAgZnVuY3Rpb25zIiwKLSAgICAgICJwcm9wZXJ0aWVz
Ijoge30sCi0gICAgICAibWVzc2FnZSI6IG51bGwKLSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0
dXNfc3RyaW5nIjogIk5PVFJVTiIsCi0gICAgICAibmFtZSI6ICJWZXJpZmljYXRpb24gdGVzdCIs
Ci0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsCi0gICAgfQot
ICBdLAotICAidHlwZSI6ICJjb21wbGV0ZSIKLX0KLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFsL2FkZF9jbGVhbnVwX3N5bmNfcXVldWUu
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC9hZGRfY2xlYW51cF9zeW5jX3F1ZXVlLmh0bWwKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDFlMDU4ZjE1MDEzLi4wMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90
ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvYWRkX2NsZWFudXBfc3luY19xdWV1ZS5odG1sCisrKyAvZGV2
L251bGwKQEAgLTEsNTcgKzAsMCBAQAotPCFET0NUWVBFIEhUTUw+Ci08aHRtbD4KLTxoZWFkPgot
PG1ldGEgbmFtZT0idmFyaWFudCIgY29udGVudD0iP2tlZXAtcHJvbWlzZSI+Ci08dGl0bGU+VGVz
dCNhZGRfY2xlYW51cDogcXVldWluZyB0ZXN0czwvdGl0bGU+Ci08c2NyaXB0IHNyYz0iLi4vLi4v
dmFyaWFudHMuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Rlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxkaXYgaWQ9ImxvZyI+PC9kaXY+Ci0KLTxz
Y3JpcHQ+Ci0idXNlIHN0cmljdCI7Ci12YXIgZmlyc3RDbGVhbmVkID0gZmFsc2U7Ci0KLXByb21p
c2VfdGVzdChmdW5jdGlvbih0KSB7Ci0gIHByb21pc2VfdGVzdChmdW5jdGlvbigpIHsKLSAgICBh
c3NlcnRfdHJ1ZSgKLSAgICAgIGZpcnN0Q2xlYW5lZCwgInNob3VsZCBub3QgZXhlY3V0ZSB1bnRp
bCBmaXJzdCB0ZXN0IGlzIGNvbXBsZXRlIgotICAgICk7Ci0KLSAgICByZXR1cm4gUHJvbWlzZS5y
ZXNvbHZlKCk7Ci0gIH0sICJ0ZXN0IGRlZmluZWQgd2hlbiBubyB0ZXN0cyBhcmUgcXVldWVkLCBi
dXQgb25lIHRlc3QgaXMgZXhlY3V0aW5nIik7Ci0KLSAgdC5hZGRfY2xlYW51cChmdW5jdGlvbigp
IHsKLSAgICBmaXJzdENsZWFuZWQgPSB0cnVlOwotICB9KTsKLQotICByZXR1cm4gUHJvbWlzZS5y
ZXNvbHZlKCk7Ci19LCAiVGVzdCB3aXRoIGEgJ2NsZWFudXAnIGZ1bmN0aW9uIik7Ci08L3Njcmlw
dD4KLTxzY3JpcHQgdHlwZT0idGV4dC9qc29uIiBpZD0iZXhwZWN0ZWQiPgotewotICAic3VtbWFy
aXplZF9zdGF0dXMiOiB7Ci0gICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICJzdGF0dXNfc3RyaW5n
IjogIk9LIgotICB9LAotICAic3VtbWFyaXplZF90ZXN0cyI6IFsKLSAgICB7Ci0gICAgICAibWVz
c2FnZSI6IG51bGwsCi0gICAgICAibmFtZSI6ICJUZXN0IHdpdGggYSAnY2xlYW51cCcgZnVuY3Rp
b24iLAotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAicHJvcGVydGllcyI6
IHt9Ci0gICAgfSwKLSAgICB7Ci0gICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAibmFtZSI6
ICJ0ZXN0IGRlZmluZWQgd2hlbiBubyB0ZXN0cyBhcmUgcXVldWVkLCBidXQgb25lIHRlc3QgaXMg
ZXhlY3V0aW5nIiwKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgInByb3Bl
cnRpZXMiOiB7fQotICAgIH0KLSAgXSwKLSAgInR5cGUiOiAiY29tcGxldGUiCi19Ci08L3Njcmlw
dD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC9hcGkt
dGVzdHMtMS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFsL2FwaS10ZXN0cy0xLmh0bWwKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDdkNDY5OTRhYTk5Li4wMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0
L3Rlc3RzL2Z1bmN0aW9uYWwvYXBpLXRlc3RzLTEuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDQ1
MyArMCwwIEBACi08IURPQ1RZUEUgSFRNTD4KLTxodG1sPgotPGhlYWQ+Ci08bWV0YSBuYW1lPSJ2
YXJpYW50IiBjb250ZW50PSIiPgotPG1ldGEgbmFtZT0idmFyaWFudCIgY29udGVudD0iP2tlZXAt
cHJvbWlzZSI+Ci08dGl0bGU+U2FtcGxlIEhUTUw1IEFQSSBUZXN0czwvdGl0bGU+Ci08c2NyaXB0
IHNyYz0iLi4vLi4vdmFyaWFudHMuanMiPjwvc2NyaXB0PgotPG1ldGEgbmFtZT0idGltZW91dCIg
Y29udGVudD0iNjAwMCI+Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9ImxvYWRfdGVzdF9hdHRyLmRv
bmUoKSI+Ci08aDE+U2FtcGxlIEhUTUw1IEFQSSBUZXN0czwvaDE+Ci08ZGl2IGlkPSJsb2ciPjwv
ZGl2PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdD4KLSAgICBzZXR1cF9ydW4gPSBmYWxzZTsKLSAgICBzZXR1cChmdW5jdGlvbigpIHsK
LSAgICAgICAgICAgIHNldHVwX3J1biA9IHRydWU7Ci0gICAgICAgICAgfSk7Ci0gICAgdGVzdChm
dW5jdGlvbigpIHthc3NlcnRfdHJ1ZShzZXR1cF9ydW4pfSwgIlNldHVwIGZ1bmN0aW9uIHJhbiIp
OwotCi0gICAgLy8gVHdvIGV4YW1wbGVzIGZvciB0ZXN0aW5nIGV2ZW50cyBmcm9tIGhhbmRsZXIg
YW5kIGF0dHJpYnV0ZXMKLSAgICB2YXIgbG9hZF90ZXN0X2V2ZW50ID0gYXN5bmNfdGVzdCgid2lu
ZG93IG9ubG9hZCBldmVudCBmaXJlcyB3aGVuIHNldCBmcm9tIHRoZSBoYW5kbGVyIik7Ci0KLSAg
ICBmdW5jdGlvbiB3aW5kb3dMb2FkKCkKLSAgICB7Ci0gICAgICAgIGxvYWRfdGVzdF9ldmVudC5k
b25lKCk7Ci0gICAgfQotICAgIG9uX2V2ZW50KHdpbmRvdywgImxvYWQiLCB3aW5kb3dMb2FkKTsK
LQotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBzZXF1ZW5jZSA9IFtdOwotICAg
ICAgICB2YXIgb3V0ZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKLSAgICAgICAg
dmFyIGlubmVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7Ci0gICAgICAgIG91dGVy
LmFwcGVuZENoaWxkKGlubmVyKTsKLSAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChv
dXRlcik7Ci0gICAgICAgIGlubmVyLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgZnVuY3Rpb24o
KSB7Ci0gICAgICAgICAgICBzZXF1ZW5jZS5wdXNoKCJpbm5lciIpOwotICAgICAgICB9LCBmYWxz
ZSk7Ci0KLSAgICAgICAgb25fZXZlbnQob3V0ZXIsICJjbGljayIsIGZ1bmN0aW9uKCkgewotICAg
ICAgICAgICAgc2VxdWVuY2UucHVzaCgib3V0ZXIiKTsKLSAgICAgICAgfSk7Ci0gICAgICAgIGlu
bmVyLmNsaWNrKCk7Ci0KLSAgICAgICAgYXNzZXJ0X2FycmF5X2VxdWFscyhzZXF1ZW5jZSwgWyJp
bm5lciIsICJvdXRlciJdKTsKLSAgICB9LCAib25fZXZlbnQgZG9lcyBub3QgdXNlIGV2ZW50IGNh
cHR1cmUiKTsKLQotICAgIC8vIHNlZSB0aGUgYm9keSBvbmxvYWQgYmVsb3cKLSAgICB2YXIgbG9h
ZF90ZXN0X2F0dHIgPSBhc3luY190ZXN0KCJib2R5IGVsZW1lbnQgZmlyZXMgdGhlIG9ubG9hZCBl
dmVudCBzZXQgZnJvbSB0aGUgYXR0cmlidXRlIik7Ci08L3NjcmlwdD4KLTxzY3JpcHQ+Ci0gICAg
ZnVuY3Rpb24gYm9keUVsZW1lbnQoKQotICAgIHsKLSAgICAgICAgYXNzZXJ0X2VxdWFscyhkb2N1
bWVudC5ib2R5LCBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiYm9keSIpWzBdKTsKLSAg
ICB9Ci0gICAgdGVzdChib2R5RWxlbWVudCwgImRvY3VtZW50LmJvZHkgc2hvdWxkIGJlIHRoZSBm
aXJzdCBib2R5IGVsZW1lbnQgaW4gdGhlIGRvY3VtZW50Iik7Ci0KLSAgICB0ZXN0KGZ1bmN0aW9u
KCkgewotICAgICAgICBhc3NlcnRfZXF1YWxzKDEsMSk7Ci0gICAgICAgIGFzc2VydF9lcXVhbHMo
TmFOLCBOYU4sICJOYU4gY2FzZSIpOwotICAgICAgICBhc3NlcnRfZXF1YWxzKDAsIDAsICJaZXJv
IGNhc2UiKTsKLSAgICB9LCAiYXNzZXJ0X2VxdWFscyB0ZXN0cyIpCi0KLSAgICB0ZXN0KGZ1bmN0
aW9uKCkgewotICAgICAgICBhc3NlcnRfZXF1YWxzKC0wLCAwLCAiWmVybyBjYXNlIik7Ci0gICAg
fSwgImFzc2VydF9lcXVhbHMgdGVzdHMgZXhwZWN0ZWQgdG8gZmFpbCIpCi0KLSAgICB0ZXN0KGZ1
bmN0aW9uKCkgewotICAgICAgICBhc3NlcnRfbm90X2VxdWFscyh7fSwge30sICJvYmplY3QgY2Fz
ZSIpOwotICAgICAgICBhc3NlcnRfbm90X2VxdWFscygtMCwgMCwgIlplcm8gY2FzZSIpOwotICAg
IH0sICJhc3NlcnRfbm90X2VxdWFscyB0ZXN0cyIpCi0KLSAgICBmdW5jdGlvbiB0ZXN0QXNzZXJ0
UGFzcygpCi0gICAgewotICAgICAgICBhc3NlcnRfdHJ1ZSh0cnVlKTsKLSAgICB9Ci0gICAgdGVz
dCh0ZXN0QXNzZXJ0UGFzcywgImFzc2VydF90cnVlIGV4cGVjdGVkIHRvIHBhc3MiKTsKLQotICAg
IGZ1bmN0aW9uIHRlc3RBc3NlcnRGYWxzZSgpCi0gICAgewotICAgICAgICBhc3NlcnRfdHJ1ZShm
YWxzZSwgImZhbHNlIHNob3VsZCBub3QgYmUgdHJ1ZSIpOwotICAgIH0KLSAgICB0ZXN0KHRlc3RB
c3NlcnRGYWxzZSwgImFzc2VydF90cnVlIGV4cGVjdGVkIHRvIGZhaWwiKTsKLQotICAgIGZ1bmN0
aW9uIGJhc2ljQXNzZXJ0QXJyYXlFcXVhbHMoKQotICAgIHsKLSAgICAgICAgYXNzZXJ0X2FycmF5
X2VxdWFscyhbMSwgTmFOXSwgWzEsIE5hTl0sICJbMSwgTmFOXSBpcyBlcXVhbCB0byBbMSwgTmFO
XSIpOwotICAgIH0KLSAgICB0ZXN0KGJhc2ljQXNzZXJ0QXJyYXlFcXVhbHMsICJiYXNpYyBhc3Nl
cnRfYXJyYXlfZXF1YWxzIHRlc3QiKTsKLQotICAgIGZ1bmN0aW9uIGFzc2VydEFycmF5RXF1YWxz
VW5kZWZpbmVkKCkKLSAgICB7Ci0gICAgICAgIGFzc2VydF9hcnJheV9lcXVhbHModW5kZWZpbmVk
LCBbMV0sICJ1bmRlZmluZWQgZXF1YWxzIFsxXT8iKTsKLSAgICB9Ci0gICAgdGVzdChhc3NlcnRB
cnJheUVxdWFsc1VuZGVmaW5lZCwgImFzc2VydF9hcnJheV9lcXVhbHMgd2l0aCBmaXJzdCBwYXJh
bSB1bmRlZmluZWQiKTsKLQotICAgIGZ1bmN0aW9uIGFzc2VydEFycmF5RXF1YWxzVHJ1ZSgpCi0g
ICAgewotICAgICAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKHRydWUsIFsxXSwgInRydWUgZXF1YWxz
IFsxXT8iKTsKLSAgICB9Ci0gICAgdGVzdChhc3NlcnRBcnJheUVxdWFsc1RydWUsICJhc3NlcnRf
YXJyYXlfZXF1YWxzIHdpdGggZmlyc3QgcGFyYW0gdHJ1ZSIpOwotCi0gICAgZnVuY3Rpb24gYXNz
ZXJ0QXJyYXlFcXVhbHNGYWxzZSgpCi0gICAgewotICAgICAgICBhc3NlcnRfYXJyYXlfZXF1YWxz
KGZhbHNlLCBbMV0sICJmYWxzZSBlcXVhbHMgWzFdPyIpOwotICAgIH0KLSAgICB0ZXN0KGFzc2Vy
dEFycmF5RXF1YWxzRmFsc2UsICJhc3NlcnRfYXJyYXlfZXF1YWxzIHdpdGggZmlyc3QgcGFyYW0g
ZmFsc2UiKTsKLQotICAgIGZ1bmN0aW9uIGFzc2VydEFycmF5RXF1YWxzTnVsbCgpCi0gICAgewot
ICAgICAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKG51bGwsIFsxXSwgIm51bGwgZXF1YWxzIFsxXT8i
KTsKLSAgICB9Ci0gICAgdGVzdChhc3NlcnRBcnJheUVxdWFsc051bGwsICJhc3NlcnRfYXJyYXlf
ZXF1YWxzIHdpdGggZmlyc3QgcGFyYW0gbnVsbCIpOwotCi0gICAgZnVuY3Rpb24gYXNzZXJ0QXJy
YXlFcXVhbHNOdW1lcmljKCkKLSAgICB7Ci0gICAgICAgIGFzc2VydF9hcnJheV9lcXVhbHMoMSwg
WzFdLCAiMSBlcXVhbHMgWzFdPyIpOwotICAgIH0KLSAgICB0ZXN0KGFzc2VydEFycmF5RXF1YWxz
TnVtZXJpYywgImFzc2VydF9hcnJheV9lcXVhbHMgd2l0aCBmaXJzdCBwYXJhbSAxIik7Ci0KLSAg
ICBmdW5jdGlvbiBiYXNpY0Fzc2VydEFycmF5QXBwcm94RXF1YWxzKCkKLSAgICB7Ci0gICAgICAg
IGFzc2VydF9hcnJheV9hcHByb3hfZXF1YWxzKFsxMCwgMTFdLCBbMTEsIDEwXSwgMSwgIlsxMCwg
MTFdIGlzIGFwcHJveGltYXRlbHkgKCsvLSAxKSBbMTEsIDEwXSIpCi0gICAgfQotICAgIHRlc3Qo
YmFzaWNBc3NlcnRBcnJheUFwcHJveEVxdWFscywgImJhc2ljIGFzc2VydF9hcnJheV9hcHByb3hf
ZXF1YWxzIHRlc3QiKTsKLQotICAgIGZ1bmN0aW9uIGJhc2ljQXNzZXJ0QXBwcm94RXF1YWxzKCkK
LSAgICB7Ci0gICAgICAgIGFzc2VydF9hcHByb3hfZXF1YWxzKDEwLCAxMSwgMSwgIjEwIGlzIGFw
cHJveGltYXRlbHkgKCsvLSAxKSAxMSIpCi0gICAgfQotICAgIHRlc3QoYmFzaWNBc3NlcnRBcHBy
b3hFcXVhbHMsICJiYXNpYyBhc3NlcnRfYXBwcm94X2VxdWFscyB0ZXN0Iik7Ci0KLSAgICBmdW5j
dGlvbiBiYXNpY0Fzc2VydExlc3NUaGFuKCkKLSAgICB7Ci0gICAgICAgIGFzc2VydF9sZXNzX3Ro
YW4oMTAsIDExLCAiMTAgaXMgbGVzcyB0aGFuIDExIikKLSAgICB9Ci0gICAgdGVzdChiYXNpY0Fz
c2VydEFwcHJveEVxdWFscywgImJhc2ljIGFzc2VydF9sZXNzX3RoYW4gdGVzdCIpOwotCi0gICAg
ZnVuY3Rpb24gYmFzaWNBc3NlcnRHcmVhdGVyVGhhbigpCi0gICAgewotICAgICAgICBhc3NlcnRf
Z3JlYXRlcl90aGFuKDEwLCAxMSwgIjEwIGlzIG5vdCBncmVhdGVyIHRoYW4gMTEiKTsKLSAgICB9
Ci0gICAgdGVzdChiYXNpY0Fzc2VydEdyZWF0ZXJUaGFuLCAiYXNzZXJ0X2dyZWF0ZXJfdGhhbiBl
eHBlY3RlZCB0byBmYWlsIik7Ci0KLSAgICBmdW5jdGlvbiBiYXNpY0Fzc2VydEdyZWF0ZXJUaGFu
RXF1YWwoKQotICAgIHsKLSAgICAgICAgYXNzZXJ0X2dyZWF0ZXJfdGhhbl9lcXVhbCgxMCwgMTAs
ICIxMCBpcyBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gMTAiKQotICAgIH0KLSAgICB0ZXN0KGJh
c2ljQXNzZXJ0R3JlYXRlclRoYW5FcXVhbCwgImJhc2ljIGFzc2VydF9ncmVhdGVyX3RoYW5fZXF1
YWwgdGVzdCIpOwotCi0gICAgZnVuY3Rpb24gYmFzaWNBc3NlcnRMZXNzVGhhbkVxdWFsKCkKLSAg
ICB7Ci0gICAgICAgIGFzc2VydF9ncmVhdGVyX3RoYW5fZXF1YWwoJzEwJywgMTAsICInMTAnIGlz
IG5vdCBhIG51bWJlciIpCi0gICAgfQotICAgIHRlc3QoYmFzaWNBc3NlcnRMZXNzVGhhbkVxdWFs
LCAiYXNzZXJ0X2xlc3NfdGhhbl9lcXVhbCBleHBlY3RlZCB0byBmYWlsIik7Ci0KLSAgICBmdW5j
dGlvbiB0ZXN0QXNzZXJ0SW5oZXJpdHMoKSB7Ci0gICAgICAgIHZhciBBID0gZnVuY3Rpb24oKXt0
aGlzLmEgPSAiYSJ9Ci0gICAgICAgIEEucHJvdG90eXBlID0ge2I6ImIifQotICAgICAgICB2YXIg
YSA9IG5ldyBBKCk7Ci0gICAgICAgIGFzc2VydF9vd25fcHJvcGVydHkoYSwgImEiKTsKLSAgICAg
ICAgYXNzZXJ0X25vdF9vd25fcHJvcGVydHkoYSwgImIiLCAidW5leHBlY3RlZCBwcm9wZXJ0eSBm
b3VuZDogXCJiXCIiKTsKLSAgICAgICAgYXNzZXJ0X2luaGVyaXRzKGEsICJiIik7Ci0gICAgfQot
ICAgIHRlc3QodGVzdEFzc2VydEluaGVyaXRzLCAidGVzdCBmb3IgYXNzZXJ0W19ub3RdX293bl9w
cm9wZXJ0eSBhbmQgaW5zZXJ0X2luaGVyaXRzIikKLQotICAgIHRlc3QoZnVuY3Rpb24oKQotICAg
IHsKLSAgICAgICAgdmFyIGEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJhIikKLSAgICAgICAg
dmFyIGIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJiIikKLSAgICAgICAgYXNzZXJ0X3Rocm93
cygiTk9UX0ZPVU5EX0VSUiIsIGZ1bmN0aW9uICgpIHthLnJlbW92ZUNoaWxkKGIpfSk7Ci0gICAg
fSwgIlRlc3QgdGhyb3cgRE9NIGV4Y2VwdGlvbiIpCi0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkKLSAg
ICB7Ci0gICAgICAgIHZhciBhID0gZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoImEiKQotICAgICAg
ICB2YXIgYiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImIiKQotICAgICAgICBhc3NlcnRfdGhy
b3dzKCJOT1RfRk9VTkRfRVJSIiwgZnVuY3Rpb24gKCkge2EuYXBwZW5kQ2hpbGQoYil9KTsKLSAg
ICB9LCAiVGVzdCB0aHJvdyBET00gZXhjZXB0aW9uIGV4cGVjdGVkIHRvIGZhaWwiKQotCi0gICAg
dGVzdChmdW5jdGlvbigpCi0gICAgewotICAgICAgICB2YXIgZSA9IHtjb2RlOjAsIG5hbWU6IlRF
U1RfRVJSIiwgVEVTVF9FUlI6MH0KLSAgICAgICAgYXNzZXJ0X3Rocm93cygwLCBmdW5jdGlvbigp
IHt0aHJvdyBlfSk7Ci0gICAgfSwgIlRlc3QgYXNzZXJ0X3Rocm93cyB3aXRoIGFtYmlndW91cyBE
T00tZXhjZXB0aW9uIGV4cGVjdGVkIHRvIEZhaWwiKTsKLQotICAgIHRlc3QoZnVuY3Rpb24oKQot
ICAgIHsKLSAgICAgICAgdmFyIGUgPSB7Y29kZTowLCBuYW1lOiJURVNUX0VSUiIsIFRFU1RfRVJS
OjB9Ci0gICAgICAgIGFzc2VydF90aHJvd3MoIlRFU1RfRVJSIiwgZnVuY3Rpb24oKSB7dGhyb3cg
ZX0pOwotICAgIH0sICJUZXN0IGFzc2VydF90aHJvd3Mgd2l0aCBub24tRE9NLWV4Y2VwdGlvbiBl
eHBlY3RlZCB0byBGYWlsIik7Ci0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkKLSAgICB7Ci0gICAgICAg
IHZhciBlID0ge2NvZGU6IERPTUV4Y2VwdGlvbi5TWU5UQVhfRVJSLCBuYW1lOiJTeW50YXhFcnJv
ciJ9Ci0gICAgICAgIGFzc2VydF90aHJvd3MoRE9NRXhjZXB0aW9uLlNZTlRBWF9FUlIsIGZ1bmN0
aW9uKCkge3Rocm93IGV9KTsKLSAgICB9LCAiVGVzdCBhc3NlcnRfdGhyb3dzIHdpdGggbnVtYmVy
IGNvZGUgdmFsdWUgZXhwZWN0ZWQgdG8gUGFzcyIpOwotCi0gICAgdmFyIHQgPSBhc3luY190ZXN0
KCJUZXN0IHN0ZXBfZnVuYyIpCi0gICAgc2V0VGltZW91dCgKLSAgICAgIHQuc3RlcF9mdW5jKAot
ICAgICAgICBmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAgYXNzZXJ0X3RydWUodHJ1ZSk7IHQuZG9u
ZSgpOwotICAgICAgICB9KSwgMCk7Ci0KLSAgICBhc3luY190ZXN0KGZ1bmN0aW9uKHQpIHsKLSAg
ICAgICAgc2V0VGltZW91dCh0LnN0ZXBfZnVuYyhmdW5jdGlvbiAoKXthc3NlcnRfdHJ1ZSh0cnVl
KTsgdC5kb25lKCk7fSksIDApOwotICAgIH0sICJUZXN0IGFzeW5jIHRlc3Qgd2l0aCBjYWxsYmFj
ayIpOwotCi0gICAgYXN5bmNfdGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgc2V0VGltZW91dCh0
aGlzLnN0ZXBfZnVuYyhmdW5jdGlvbiAoKXthc3NlcnRfdHJ1ZSh0cnVlKTsgdGhpcy5kb25lKCk7
fSksIDApOwotICAgIH0sICJUZXN0IGFzeW5jIHRlc3Qgd2l0aCBjYWxsYmFjayBhbmQgYHRoaXNg
IG9iai4iKTsKLQotICAgIGFzeW5jX3Rlc3QoInRlc3Qgc2hvdWxkIHRpbWVvdXQgKGZhaWwpIHdp
dGggdGhlIGRlZmF1bHQgb2YgMiBzZWNvbmRzIikuc3RlcChmdW5jdGlvbigpe30pOwotCi0gICAg
YXN5bmNfdGVzdCgiYXN5bmMgdGVzdCB0aGF0IGlzIG5ldmVyIHN0YXJ0ZWQsIHNob3VsZCBoYXZl
IHN0YXR1cyBOb3QgUnVuIik7Ci0KLQotICAgIHRlc3QoZnVuY3Rpb24odCkgewotICAgICAgICAg
ICAgIHdpbmRvdy5nbG9iYWwgPSAxOwotICAgICAgICAgICAgIHQuYWRkX2NsZWFudXAoZnVuY3Rp
b24oKSB7ZGVsZXRlIHdpbmRvdy5nbG9iYWx9KTsKLSAgICAgICAgICAgICBhc3NlcnRfZXF1YWxz
KHdpbmRvdy5nbG9iYWwsIDEpOwotICAgICAgICAgfSwKLSAgICAgICAgICJUZXN0IHRoYXQgZGVm
aW5lcyBhIGdsb2JhbCBhbmQgY2xlYW5zIGl0IHVwIik7Ci0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkg
e2Fzc2VydF9lcXVhbHMod2luZG93Lmdsb2JhbCwgdW5kZWZpbmVkKX0sCi0gICAgICAgICAiVGVz
dCB0aGF0IGNsZWFudXAgaGFuZGxlcnMgZnJvbSBwcmV2aW91cyB0ZXN0IHJhbiIpOwotCi08L3Nj
cmlwdD4KLTxzY3JpcHQgdHlwZT0idGV4dC9qc29uIiBpZD0iZXhwZWN0ZWQiPgotewotICAic3Vt
bWFyaXplZF9zdGF0dXMiOiB7Ci0gICAgInN0YXR1c19zdHJpbmciOiAiVElNRU9VVCIsCi0gICAg
Im1lc3NhZ2UiOiBudWxsCi0gIH0sCi0gICJzdW1tYXJpemVkX3Rlc3RzIjogWwotICAgIHsKLSAg
ICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUiOiAiU2V0dXAgZnVuY3Rp
b24gcmFuIiwKLSAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30K
LSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIkZBSUwiLAotICAgICAgIm5h
bWUiOiAiVGVzdCBhc3NlcnRfdGhyb3dzIHdpdGggYW1iaWd1b3VzIERPTS1leGNlcHRpb24gZXhw
ZWN0ZWQgdG8gRmFpbCIsCi0gICAgICAibWVzc2FnZSI6ICJUZXN0IGJ1ZzogYW1iaWd1b3VzIERP
TUV4Y2VwdGlvbiBjb2RlIDAgcGFzc2VkIHRvIGFzc2VydF90aHJvd3MoKSIsCi0gICAgICAicHJv
cGVydGllcyI6IHt9Ci0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJGQUlM
IiwKLSAgICAgICJuYW1lIjogIlRlc3QgYXNzZXJ0X3Rocm93cyB3aXRoIG5vbi1ET00tZXhjZXB0
aW9uIGV4cGVjdGVkIHRvIEZhaWwiLAotICAgICAgIm1lc3NhZ2UiOiAiVGVzdCBidWc6IHVucmVj
b2duaXplZCBET01FeGNlcHRpb24gY29kZSBcIlRFU1RfRVJSXCIgcGFzc2VkIHRvIGFzc2VydF90
aHJvd3MoKSIsCi0gICAgICAicHJvcGVydGllcyI6IHt9Ci0gICAgfSwKLSAgICB7Ci0gICAgICAi
c3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1lIjogIlRlc3QgYXNzZXJ0X3Rocm93
cyB3aXRoIG51bWJlciBjb2RlIHZhbHVlIGV4cGVjdGVkIHRvIFBhc3MiLAotICAgICAgIm1lc3Nh
Z2UiOiBudWxsLAotICAgICAgInByb3BlcnRpZXMiOiB7fQotICAgIH0sCi0gICAgewotICAgICAg
InN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJUZXN0IGFzeW5jIHRlc3Qg
d2l0aCBjYWxsYmFjayIsCi0gICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAicHJvcGVydGll
cyI6IHt9Ci0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAg
ICAgICJuYW1lIjogIlRlc3QgYXN5bmMgdGVzdCB3aXRoIGNhbGxiYWNrIGFuZCBgdGhpc2Agb2Jq
LiIsCi0gICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAicHJvcGVydGllcyI6IHt9Ci0gICAg
fSwKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1lIjog
IlRlc3Qgc3RlcF9mdW5jIiwKLSAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICJwcm9wZXJ0
aWVzIjoge30KLSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAot
ICAgICAgIm5hbWUiOiAiVGVzdCB0aGF0IGNsZWFudXAgaGFuZGxlcnMgZnJvbSBwcmV2aW91cyB0
ZXN0IHJhbiIsCi0gICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAicHJvcGVydGllcyI6IHt9
Ci0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJu
YW1lIjogIlRlc3QgdGhhdCBkZWZpbmVzIGEgZ2xvYmFsIGFuZCBjbGVhbnMgaXQgdXAiLAotICAg
ICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgInByb3BlcnRpZXMiOiB7fQotICAgIH0sCi0gICAg
ewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJUZXN0IHRo
cm93IERPTSBleGNlcHRpb24iLAotICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgInByb3Bl
cnRpZXMiOiB7fQotICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiRkFJTCIs
Ci0gICAgICAibmFtZSI6ICJUZXN0IHRocm93IERPTSBleGNlcHRpb24gZXhwZWN0ZWQgdG8gZmFp
bCIsCi0gICAgICAibWVzc2FnZSI6ICJhc3NlcnRfdGhyb3dzOiBmdW5jdGlvbiBcImZ1bmN0aW9u
ICgpIHthLmFwcGVuZENoaWxkKGIpfVwiIHRocmV3IG9iamVjdCBcIkhpZXJhcmNoeVJlcXVlc3RF
cnJvcjogTm9kZSBjYW5ub3QgYmUgaW5zZXJ0ZWQgYXQgdGhlIHNwZWNpZmllZCBwb2ludCBpbiB0
aGUgaGllcmFyY2h5XCIgdGhhdCBpcyBub3QgYSBET01FeGNlcHRpb24gTk9UX0ZPVU5EX0VSUjog
cHJvcGVydHkgXCJjb2RlXCIgaXMgZXF1YWwgdG8gMywgZXhwZWN0ZWQgOCIsCi0gICAgICAicHJv
cGVydGllcyI6IHt9Ci0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJGQUlM
IiwKLSAgICAgICJuYW1lIjogImFzc2VydF9hcnJheV9lcXVhbHMgd2l0aCBmaXJzdCBwYXJhbSAx
IiwKLSAgICAgICJtZXNzYWdlIjogImFzc2VydF9hcnJheV9lcXVhbHM6IDEgZXF1YWxzIFsxXT8g
dmFsdWUgaXMgMSwgZXhwZWN0ZWQgYXJyYXkiLAotICAgICAgInByb3BlcnRpZXMiOiB7fQotICAg
IH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiRkFJTCIsCi0gICAgICAibmFtZSI6
ICJhc3NlcnRfYXJyYXlfZXF1YWxzIHdpdGggZmlyc3QgcGFyYW0gZmFsc2UiLAotICAgICAgIm1l
c3NhZ2UiOiAiYXNzZXJ0X2FycmF5X2VxdWFsczogZmFsc2UgZXF1YWxzIFsxXT8gdmFsdWUgaXMg
ZmFsc2UsIGV4cGVjdGVkIGFycmF5IiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30KLSAgICB9LAot
ICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIkZBSUwiLAotICAgICAgIm5hbWUiOiAiYXNz
ZXJ0X2FycmF5X2VxdWFscyB3aXRoIGZpcnN0IHBhcmFtIG51bGwiLAotICAgICAgIm1lc3NhZ2Ui
OiAiYXNzZXJ0X2FycmF5X2VxdWFsczogbnVsbCBlcXVhbHMgWzFdPyB2YWx1ZSBpcyBudWxsLCBl
eHBlY3RlZCBhcnJheSIsCi0gICAgICAicHJvcGVydGllcyI6IHt9Ci0gICAgfSwKLSAgICB7Ci0g
ICAgICAic3RhdHVzX3N0cmluZyI6ICJGQUlMIiwKLSAgICAgICJuYW1lIjogImFzc2VydF9hcnJh
eV9lcXVhbHMgd2l0aCBmaXJzdCBwYXJhbSB0cnVlIiwKLSAgICAgICJtZXNzYWdlIjogImFzc2Vy
dF9hcnJheV9lcXVhbHM6IHRydWUgZXF1YWxzIFsxXT8gdmFsdWUgaXMgdHJ1ZSwgZXhwZWN0ZWQg
YXJyYXkiLAotICAgICAgInByb3BlcnRpZXMiOiB7fQotICAgIH0sCi0gICAgewotICAgICAgInN0
YXR1c19zdHJpbmciOiAiRkFJTCIsCi0gICAgICAibmFtZSI6ICJhc3NlcnRfYXJyYXlfZXF1YWxz
IHdpdGggZmlyc3QgcGFyYW0gdW5kZWZpbmVkIiwKLSAgICAgICJtZXNzYWdlIjogImFzc2VydF9h
cnJheV9lcXVhbHM6IHVuZGVmaW5lZCBlcXVhbHMgWzFdPyB2YWx1ZSBpcyB1bmRlZmluZWQsIGV4
cGVjdGVkIGFycmF5IiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30KLSAgICB9LAotICAgIHsKLSAg
ICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUiOiAiYXNzZXJ0X2VxdWFs
cyB0ZXN0cyIsCi0gICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAicHJvcGVydGllcyI6IHt9
Ci0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJGQUlMIiwKLSAgICAgICJu
YW1lIjogImFzc2VydF9lcXVhbHMgdGVzdHMgZXhwZWN0ZWQgdG8gZmFpbCIsCi0gICAgICAibWVz
c2FnZSI6ICJhc3NlcnRfZXF1YWxzOiBaZXJvIGNhc2UgZXhwZWN0ZWQgMCBidXQgZ290IC0wIiwK
LSAgICAgICJwcm9wZXJ0aWVzIjoge30KLSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0dXNfc3Ry
aW5nIjogIkZBSUwiLAotICAgICAgIm5hbWUiOiAiYXNzZXJ0X2dyZWF0ZXJfdGhhbiBleHBlY3Rl
ZCB0byBmYWlsIiwKLSAgICAgICJtZXNzYWdlIjogImFzc2VydF9ncmVhdGVyX3RoYW46IDEwIGlz
IG5vdCBncmVhdGVyIHRoYW4gMTEgZXhwZWN0ZWQgYSBudW1iZXIgZ3JlYXRlciB0aGFuIDExIGJ1
dCBnb3QgMTAiLAotICAgICAgInByb3BlcnRpZXMiOiB7fQotICAgIH0sCi0gICAgewotICAgICAg
InN0YXR1c19zdHJpbmciOiAiRkFJTCIsCi0gICAgICAibmFtZSI6ICJhc3NlcnRfbGVzc190aGFu
X2VxdWFsIGV4cGVjdGVkIHRvIGZhaWwiLAotICAgICAgIm1lc3NhZ2UiOiAiYXNzZXJ0X2dyZWF0
ZXJfdGhhbl9lcXVhbDogJzEwJyBpcyBub3QgYSBudW1iZXIgZXhwZWN0ZWQgYSBudW1iZXIgYnV0
IGdvdCBhIFwic3RyaW5nXCIiLAotICAgICAgInByb3BlcnRpZXMiOiB7fQotICAgIH0sCi0gICAg
ewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJhc3NlcnRf
bm90X2VxdWFscyB0ZXN0cyIsCi0gICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAicHJvcGVy
dGllcyI6IHt9Ci0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJGQUlMIiwK
LSAgICAgICJuYW1lIjogImFzc2VydF90cnVlIGV4cGVjdGVkIHRvIGZhaWwiLAotICAgICAgIm1l
c3NhZ2UiOiAiYXNzZXJ0X3RydWU6IGZhbHNlIHNob3VsZCBub3QgYmUgdHJ1ZSBleHBlY3RlZCB0
cnVlIGdvdCBmYWxzZSIsCi0gICAgICAicHJvcGVydGllcyI6IHt9Ci0gICAgfSwKLSAgICB7Ci0g
ICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1lIjogImFzc2VydF90cnVl
IGV4cGVjdGVkIHRvIHBhc3MiLAotICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgInByb3Bl
cnRpZXMiOiB7fQotICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiTk9UUlVO
IiwKLSAgICAgICJuYW1lIjogImFzeW5jIHRlc3QgdGhhdCBpcyBuZXZlciBzdGFydGVkLCBzaG91
bGQgaGF2ZSBzdGF0dXMgTm90IFJ1biIsCi0gICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAi
cHJvcGVydGllcyI6IHt9Ci0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQ
QVNTIiwKLSAgICAgICJuYW1lIjogImJhc2ljIGFzc2VydF9hcHByb3hfZXF1YWxzIHRlc3QiLAot
ICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgInByb3BlcnRpZXMiOiB7fQotICAgIH0sCi0g
ICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJiYXNp
YyBhc3NlcnRfYXJyYXlfYXBwcm94X2VxdWFscyB0ZXN0IiwKLSAgICAgICJtZXNzYWdlIjogbnVs
bCwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30KLSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0dXNf
c3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUiOiAiYmFzaWMgYXNzZXJ0X2FycmF5X2VxdWFs
cyB0ZXN0IiwKLSAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30K
LSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5h
bWUiOiAiYmFzaWMgYXNzZXJ0X2dyZWF0ZXJfdGhhbl9lcXVhbCB0ZXN0IiwKLSAgICAgICJtZXNz
YWdlIjogbnVsbCwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30KLSAgICB9LAotICAgIHsKLSAgICAg
ICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUiOiAiYmFzaWMgYXNzZXJ0X2xl
c3NfdGhhbiB0ZXN0IiwKLSAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICJwcm9wZXJ0aWVz
Ijoge30KLSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAg
ICAgIm5hbWUiOiAiYm9keSBlbGVtZW50IGZpcmVzIHRoZSBvbmxvYWQgZXZlbnQgc2V0IGZyb20g
dGhlIGF0dHJpYnV0ZSIsCi0gICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAicHJvcGVydGll
cyI6IHt9Ci0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAg
ICAgICJuYW1lIjogImRvY3VtZW50LmJvZHkgc2hvdWxkIGJlIHRoZSBmaXJzdCBib2R5IGVsZW1l
bnQgaW4gdGhlIGRvY3VtZW50IiwKLSAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICJwcm9w
ZXJ0aWVzIjoge30KLSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1Mi
LAotICAgICAgIm5hbWUiOiAidGVzdCBmb3IgYXNzZXJ0W19ub3RdX293bl9wcm9wZXJ0eSBhbmQg
aW5zZXJ0X2luaGVyaXRzIiwKLSAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICJwcm9wZXJ0
aWVzIjoge30KLSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlRJTUVPVVQi
LAotICAgICAgIm5hbWUiOiAidGVzdCBzaG91bGQgdGltZW91dCAoZmFpbCkgd2l0aCB0aGUgZGVm
YXVsdCBvZiAyIHNlY29uZHMiLAotICAgICAgIm1lc3NhZ2UiOiAiVGVzdCB0aW1lZCBvdXQiLAot
ICAgICAgInByb3BlcnRpZXMiOiB7fQotICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJp
bmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJ3aW5kb3cgb25sb2FkIGV2ZW50IGZpcmVzIHdo
ZW4gc2V0IGZyb20gdGhlIGhhbmRsZXIiLAotICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAg
InByb3BlcnRpZXMiOiB7fQotICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAi
UEFTUyIsCi0gICAgICAibmFtZSI6ICJvbl9ldmVudCBkb2VzIG5vdCB1c2UgZXZlbnQgY2FwdHVy
ZSIsCi0gICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAicHJvcGVydGllcyI6IHt9Ci0gICAg
fQotICBdLAotICAidHlwZSI6ICJjb21wbGV0ZSIKLX0KLTwvc2NyaXB0PgotPC9ib2R5PgotPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFsL2FwaS10ZXN0cy0yLmh0bWwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0
L3Rlc3RzL2Z1bmN0aW9uYWwvYXBpLXRlc3RzLTIuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDhhMmI4OTNjMjQuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25h
bC9hcGktdGVzdHMtMi5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNDcgKzAsMCBAQAotPCFET0NU
WVBFIEhUTUw+Ci08aHRtbD4KLTxoZWFkPgotPG1ldGEgbmFtZT0idmFyaWFudCIgY29udGVudD0i
Ij4KLTxtZXRhIG5hbWU9InZhcmlhbnQiIGNvbnRlbnQ9Ij9rZWVwLXByb21pc2UiPgotPHRpdGxl
PlNhbXBsZSBIVE1MNSBBUEkgVGVzdHM8L3RpdGxlPgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Zhcmlh
bnRzLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGgxPlNhbXBsZSBIVE1MNSBBUEkg
VGVzdHM8L2gxPgotPHA+VGhlcmUgc2hvdWxkIGJlIHR3byByZXN1bHRzPC9wPgotPGRpdiBpZD0i
bG9nIj48L2Rpdj4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQ+Ci1zZXR1cCh7ZXhwbGljaXRfZG9uZTp0cnVlfSkKLXRlc3QoZnVuY3Rp
b24oKSB7YXNzZXJ0X3RydWUodHJ1ZSl9LCAiVGVzdCBkZWZpbmVkIGJlZm9yZSBvbmxvYWQiKTsK
LQotb25sb2FkID0gZnVuY3Rpb24oKSB7dGVzdChmdW5jdGlvbiAoKXthc3NlcnRfdHJ1ZSh0cnVl
KX0sICJUZXN0IGRlZmluZWQgYWZ0ZXIgb25sb2FkIik7Ci1kb25lKCk7Ci19Ci08L3NjcmlwdD4K
LTxzY3JpcHQgdHlwZT0idGV4dC9qc29uIiBpZD0iZXhwZWN0ZWQiPgotewotICAic3VtbWFyaXpl
ZF9zdGF0dXMiOiB7Ci0gICAgInN0YXR1c19zdHJpbmciOiAiT0siLAotICAgICJtZXNzYWdlIjog
bnVsbAotICB9LAotICAic3VtbWFyaXplZF90ZXN0cyI6IFsKLSAgICB7Ci0gICAgICAic3RhdHVz
X3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1lIjogIlRlc3QgZGVmaW5lZCBhZnRlciBvbmxv
YWQiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogbnVsbAotICAg
IH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6
ICJUZXN0IGRlZmluZWQgYmVmb3JlIG9ubG9hZCIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAot
ICAgICAgIm1lc3NhZ2UiOiBudWxsCi0gICAgfQotICBdLAotICAidHlwZSI6ICJjb21wbGV0ZSIK
LX0KLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5j
dGlvbmFsL2FwaS10ZXN0cy0zLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvYXBpLXRlc3RzLTMu
aHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDMyYjRkOGJjN2QuLjAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC9hcGktdGVzdHMtMy5odG1sCisrKyAvZGV2L251
bGwKQEAgLTEsMzcgKzAsMCBAQAotPCFET0NUWVBFIEhUTUw+Ci08aHRtbD4KLTxoZWFkPgotPG1l
dGEgbmFtZT0idmFyaWFudCIgY29udGVudD0iIj4KLTxtZXRhIG5hbWU9InZhcmlhbnQiIGNvbnRl
bnQ9Ij9rZWVwLXByb21pc2UiPgotPHRpdGxlPlNhbXBsZSBIVE1MNSBBUEkgVGVzdHM8L3RpdGxl
PgotPHNjcmlwdCBzcmM9Ii4uLy4uL3ZhcmlhbnRzLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLQotPGJvZHk+
Ci08aDE+U2FtcGxlIEhUTUw1IEFQSSBUZXN0czwvaDE+Ci08ZGl2IGlkPSJsb2ciPjwvZGl2Pgot
PHNjcmlwdD4KLXNldHVwKHtleHBsaWNpdF90aW1lb3V0OnRydWV9KTsKLXZhciB0ID0gYXN5bmNf
dGVzdCgiVGhpcyB0ZXN0IHNob3VsZCBnaXZlIGEgc3RhdHVzIG9mICdOb3QgUnVuJyB3aXRob3V0
IGEgZGVsYXkiKTsKLXRpbWVvdXQoKTsKLTwvc2NyaXB0PgotPHNjcmlwdCB0eXBlPSJ0ZXh0L2pz
b24iIGlkPSJleHBlY3RlZCI+Ci17Ci0gICJzdW1tYXJpemVkX3N0YXR1cyI6IHsKLSAgICAic3Rh
dHVzX3N0cmluZyI6ICJUSU1FT1VUIiwKLSAgICAibWVzc2FnZSI6IG51bGwKLSAgfSwKLSAgInN1
bW1hcml6ZWRfdGVzdHMiOiBbCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiTk9UUlVO
IiwKLSAgICAgICJuYW1lIjogIlRoaXMgdGVzdCBzaG91bGQgZ2l2ZSBhIHN0YXR1cyBvZiAnTm90
IFJ1bicgd2l0aG91dCBhIGRlbGF5IiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAi
bWVzc2FnZSI6IG51bGwKLSAgICB9Ci0gIF0sCi0gICJ0eXBlIjogImNvbXBsZXRlIgotfQotPC9z
Y3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwv
Zm9yY2VfdGltZW91dC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFsL2ZvcmNlX3RpbWVvdXQuaHRt
bApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTQzNzU5NTMwYWQuLjAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC9mb3JjZV90aW1lb3V0Lmh0bWwKKysrIC9kZXYvbnVs
bApAQCAtMSw2MiArMCwwIEBACi08IURPQ1RZUEUgSFRNTD4KLTxodG1sPgotPGhlYWQ+Ci08bWV0
YSBuYW1lPSJ2YXJpYW50IiBjb250ZW50PSI/a2VlcC1wcm9taXNlIj4KLTx0aXRsZT5UZXN0I2Zv
cmNlX3RpbWVvdXQ8L3RpdGxlPgotPHNjcmlwdCBzcmM9Ii4uLy4uL3ZhcmlhbnRzLmpzIj48L3Nj
cmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGgxPlRlc3QjZm9yY2VfdGltZW91dDwvaDE+Ci08ZGl2
IGlkPSJsb2ciPjwvZGl2PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
Pjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgotPHNjcmlwdD4KLXNldHVwKHsgZXhwbGljaXRfdGltZW91dDogdHJ1ZSB9KTsK
LQotdGVzdChmdW5jdGlvbih0KSB7Ci0gICAgdC5mb3JjZV90aW1lb3V0KCk7Ci0gIH0sICd0ZXN0
IChzeW5jaHJvbm91cyknKTsKLQotYXN5bmNfdGVzdChmdW5jdGlvbih0KSB7Ci0gICAgdC5zdGVw
X3RpbWVvdXQoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHQuZm9yY2VfdGltZW91dCgpOwotICAgICAg
fSwgMCk7Ci0gIH0sICdhc3luY190ZXN0Jyk7Ci0KLXByb21pc2VfdGVzdChmdW5jdGlvbih0KSB7
Ci0gICAgdC5mb3JjZV90aW1lb3V0KCk7Ci0KLSAgICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rp
b24oKSB7fSk7Ci0gIH0sICdwcm9taXNlX3Rlc3QnKTsKLTwvc2NyaXB0PgotPHNjcmlwdCB0eXBl
PSJ0ZXh0L2pzb24iIGlkPSJleHBlY3RlZCI+Ci17Ci0gICJzdW1tYXJpemVkX3N0YXR1cyI6IHsK
LSAgICAic3RhdHVzX3N0cmluZyI6ICJPSyIsCi0gICAgIm1lc3NhZ2UiOiBudWxsCi0gIH0sCi0g
ICJzdW1tYXJpemVkX3Rlc3RzIjogWwotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlRJ
TUVPVVQiLAotICAgICAgIm5hbWUiOiAiYXN5bmNfdGVzdCIsCi0gICAgICAibWVzc2FnZSI6ICJU
ZXN0IHRpbWVkIG91dCIsCi0gICAgICAicHJvcGVydGllcyI6IHt9Ci0gICAgfSwKLSAgICB7Ci0g
ICAgICAic3RhdHVzX3N0cmluZyI6ICJUSU1FT1VUIiwKLSAgICAgICJuYW1lIjogInByb21pc2Vf
dGVzdCIsCi0gICAgICAibWVzc2FnZSI6ICJUZXN0IHRpbWVkIG91dCIsCi0gICAgICAicHJvcGVy
dGllcyI6IHt9Ci0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJUSU1FT1VU
IiwKLSAgICAgICJuYW1lIjogInRlc3QgKHN5bmNocm9ub3VzKSIsCi0gICAgICAibWVzc2FnZSI6
ICJUZXN0IHRpbWVkIG91dCIsCi0gICAgICAicHJvcGVydGllcyI6IHt9Ci0gICAgfQotICBdLAot
ICAidHlwZSI6ICJjb21wbGV0ZSIKLX0KLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFsL2dlbmVyYXRlLWNhbGxiYWNrLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rl
c3RzL2Z1bmN0aW9uYWwvZ2VuZXJhdGUtY2FsbGJhY2suaHRtbApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggZjhmYWNhNjI3NzguLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rp
b25hbC9nZW5lcmF0ZS1jYWxsYmFjay5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTU2ICswLDAg
QEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLTxtZXRhIG5hbWU9InZhcmlhbnQi
IGNvbnRlbnQ9IiI+Ci08bWV0YSBuYW1lPSJ2YXJpYW50IiBjb250ZW50PSI/a2VlcC1wcm9taXNl
Ij4KLTx0aXRsZT5TYW1wbGUgZm9yIHVzaW5nIGdlbmVyYXRlX3Rlc3RzIHRvIGNyZWF0ZSBhIHNl
cmllcyBvZiB0ZXN0cyB0aGF0IHNoYXJlIHRoZSBzYW1lIGNhbGxiYWNrLjwvdGl0bGU+Ci08c2Ny
aXB0IHNyYz0iLi4vLi4vdmFyaWFudHMuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08c2NyaXB0
PgotLy8gZ2VuZXJhdGVfdGVzdHMgdGFrZXMgYW4gYXJyYXkgb2YgYXJyYXlzIHRoYXQgZGVmaW5l
IHRlc3RzCi0vLyBidXQgbGV0cyBwYXNzIGl0IGFuIGVtcHR5IGFycmF5IGFuZCB2ZXJpZnkgaXQg
ZG9lcyBub3RoaW5nLgotZnVuY3Rpb24gbnVsbF9jYWxsYmFjaygpIHsKLSAgdGhyb3cgIm51bGxf
Y2FsbGJhY2sgc2hvdWxkIG5vdCBiZSBjYWxsZWQuIjsKLX0KLWdlbmVyYXRlX3Rlc3RzKG51bGxf
Y2FsbGJhY2ssIFtdKTsKLQotLy8gR2VuZXJhdGUgMyB0ZXN0cyBzcGVjaWZ5aW5nIHRoZSBuYW1l
IGFuZCBvbmUgcGFyYW1ldGVyCi1mdW5jdGlvbiB2YWxpZGF0ZV9hcmd1bWVudHMoYXJnMSkgewot
ICBhc3NlcnRfZXF1YWxzKGFyZzEsIDEsICJFbnN1cmUgdGhhdCB3ZSBnZXQgb3VyIGV4cGVjdGVk
IGFyZ3VtZW50Iik7Ci19Ci1nZW5lcmF0ZV90ZXN0cyh2YWxpZGF0ZV9hcmd1bWVudHMsIFsKLSAg
WyJmaXJzdCB0ZXN0IiwgMV0sCi0gIFsic2Vjb25kIHRlc3QiLCAxXSwKLSAgWyJ0aGlyZCB0ZXN0
IiwgMV0sCi1dKTsKLQotLy8gR2VuZXJhdGUgYSB0ZXN0IHBhc3NpbmcgaW4gYSBwcm9wZXJ0aWVz
IG9iamVjdCB0aGF0IGlzIHNoYXJlZCBhY3Jvc3MgdGVzdHMuCi1mdW5jdGlvbiB2YWxpZGF0ZV9w
cm9wZXJ0aWVzKCkgewotICBhc3NlcnRfdHJ1ZSh0aGlzLnByb3BlcnRpZXMuc2VudGluZWwsICJF
bnN1cmUgdGhhdCB3ZSBnb3QgdGhlIHJpZ2h0IHByb3BlcnRpZXMgb2JqZWN0LiIpOwotfQotZ2Vu
ZXJhdGVfdGVzdHModmFsaWRhdGVfcHJvcGVydGllcywgW1sic2VudGluZWwgY2hlY2sgMSJdLCBb
InNlbnRpbmVsIGNoZWNrIDIiXV0sIHtzZW50aW5lbDogdHJ1ZX0pOwotCi0vLyBHZW5lcmF0ZSBh
IHRlc3QgcGFzc2luZyBpbiBhIHByb3BlcnRpZXMgb2JqZWN0IHRoYXQgaXMgc2hhcmVkIGFjcm9z
cyB0ZXN0cy4KLWZ1bmN0aW9uIHZhbGlkYXRlX3NlcGFyYXRlX3Byb3BlcnRpZXMoKSB7Ci0gIGlm
ICh0aGlzLm5hbWUgPT09ICJzZW50aW5lbCBjaGVjayAxIHVuaXF1ZSBwcm9wZXJ0aWVzIikgewot
ICAgIGFzc2VydF90cnVlKHRoaXMucHJvcGVydGllcy5zZW50aW5lbCwgIkVuc3VyZSB0aGF0IHdl
IGdvdCB0aGUgcmlnaHQgcHJvcGVydGllcyBvYmplY3QuIEV4cGVjdCBzZW50aW5lbDogdHJ1ZS4i
KTsKLSAgfQotICBlbHNlIHsKLSAgICBhc3NlcnRfZmFsc2UodGhpcy5wcm9wZXJ0aWVzLnNlbnRp
bmVsLCAiRW5zdXJlIHRoYXQgd2UgZ290IHRoZSByaWdodCBwcm9wZXJ0aWVzIG9iamVjdC4gRXhw
ZWN0IHNlbnRpbmVsOiBmYWxzZS4iKTsKLSAgfQotfQotZ2VuZXJhdGVfdGVzdHModmFsaWRhdGVf
c2VwYXJhdGVfcHJvcGVydGllcywgW1sic2VudGluZWwgY2hlY2sgMSB1bmlxdWUgcHJvcGVydGll
cyJdLCBbInNlbnRpbmVsIGNoZWNrIDIgdW5pcXVlIHByb3BlcnRpZXMiXV0sIFt7c2VudGluZWw6
IHRydWV9LCB7c2VudGluZWw6IGZhbHNlfV0pOwotCi0vLyBGaW5hbGx5IGdlbmVyYXRlIGEgY29t
cGxpY2F0ZWQgc2V0IG9mIHRlc3RzIGZyb20gYW5vdGhlciBkYXRhIHNvdXJjZQotdmFyIGxldHRl
cnMgPSBbImEiLCAiYiIsICJjIiwgImQiLCAiZSIsICJmIl07Ci12YXIgbnVtYmVycyA9IFswLCAx
LCAyLCAzLCA0LCA1XTsKLWZ1bmN0aW9uIHZhbGlkYXRlX3JlbGF0ZWRfYXJndW1lbnRzKGFyZzEs
IGFyZzIpIHsKLSAgYXNzZXJ0X2VxdWFscyhhcmcxLmNoYXJDb2RlQXQoMCkgLSAiYSIuY2hhckNv
ZGVBdCgwKSwgYXJnMiwgIkVuc3VyZSB0aGF0IHdlIGNhbiBtYXAgbGV0dGVycyB0byBudW1iZXJz
LiIpOwotfQotZnVuY3Rpb24gZm9ybWF0X2FzX3Rlc3QobGV0dGVyLCBpbmRleCwgbGV0dGVycykg
ewotICByZXR1cm4gWyJUZXN0IHRvIG1hcCAiICsgbGV0dGVyICsgIiB0byAiICsgbnVtYmVyc1tp
bmRleF0sIGxldHRlciwgbnVtYmVyc1tpbmRleF1dOwotfQotZ2VuZXJhdGVfdGVzdHModmFsaWRh
dGVfcmVsYXRlZF9hcmd1bWVudHMsIGxldHRlcnMubWFwKGZvcm1hdF9hc190ZXN0KSk7Ci08L3Nj
cmlwdD4KLTxzY3JpcHQgdHlwZT0idGV4dC9qc29uIiBpZD0iZXhwZWN0ZWQiPgotewotICAic3Vt
bWFyaXplZF9zdGF0dXMiOiB7Ci0gICAgInN0YXR1c19zdHJpbmciOiAiT0siLAotICAgICJtZXNz
YWdlIjogbnVsbAotICB9LAotICAic3VtbWFyaXplZF90ZXN0cyI6IFsKLSAgICB7Ci0gICAgICAi
c3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1lIjogIlRlc3QgdG8gbWFwIGEgdG8g
MCIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsCi0gICAg
fSwKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1lIjog
IlRlc3QgdG8gbWFwIGIgdG8gMSIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1l
c3NhZ2UiOiBudWxsCi0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNT
IiwKLSAgICAgICJuYW1lIjogIlRlc3QgdG8gbWFwIGMgdG8gMiIsCi0gICAgICAicHJvcGVydGll
cyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsCi0gICAgfSwKLSAgICB7Ci0gICAgICAic3Rh
dHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1lIjogIlRlc3QgdG8gbWFwIGQgdG8gMyIs
Ci0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsCi0gICAgfSwK
LSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1lIjogIlRl
c3QgdG8gbWFwIGUgdG8gNCIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3Nh
Z2UiOiBudWxsCi0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwK
LSAgICAgICJuYW1lIjogIlRlc3QgdG8gbWFwIGYgdG8gNSIsCi0gICAgICAicHJvcGVydGllcyI6
IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsCi0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVz
X3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1lIjogImZpcnN0IHRlc3QiLAotICAgICAgInBy
b3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogbnVsbAotICAgIH0sCi0gICAgewotICAg
ICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJzZWNvbmQgdGVzdCIs
Ci0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsCi0gICAgfSwK
LSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1lIjogInNl
bnRpbmVsIGNoZWNrIDEiLAotICAgICAgInByb3BlcnRpZXMiOiB7Ci0gICAgICAgICJzZW50aW5l
bCI6IHRydWUKLSAgICAgIH0sCi0gICAgICAibWVzc2FnZSI6IG51bGwKLSAgICB9LAotICAgIHsK
LSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUiOiAic2VudGluZWwg
Y2hlY2sgMSB1bmlxdWUgcHJvcGVydGllcyIsCi0gICAgICAicHJvcGVydGllcyI6IHsKLSAgICAg
ICAgInNlbnRpbmVsIjogdHJ1ZQotICAgICAgfSwKLSAgICAgICJtZXNzYWdlIjogbnVsbAotICAg
IH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6
ICJzZW50aW5lbCBjaGVjayAyIiwKLSAgICAgICJwcm9wZXJ0aWVzIjogewotICAgICAgICAic2Vu
dGluZWwiOiB0cnVlCi0gICAgICB9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsCi0gICAgfSwKLSAg
ICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1lIjogInNlbnRp
bmVsIGNoZWNrIDIgdW5pcXVlIHByb3BlcnRpZXMiLAotICAgICAgInByb3BlcnRpZXMiOiB7Ci0g
ICAgICAgICJzZW50aW5lbCI6IGZhbHNlCi0gICAgICB9LAotICAgICAgIm1lc3NhZ2UiOiBudWxs
Ci0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJu
YW1lIjogInRoaXJkIHRlc3QiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNz
YWdlIjogbnVsbAotICAgIH0KLSAgXSwKLSAgInR5cGUiOiAiY29tcGxldGUiCi19Ci08L3Njcmlw
dD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC9pZGxo
YXJuZXNzL0lkbERpY3Rpb25hcnkvdGVzdF9wYXJ0aWFsX2ludGVyZmFjZV9vZi5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90
ZXN0cy9mdW5jdGlvbmFsL2lkbGhhcm5lc3MvSWRsRGljdGlvbmFyeS90ZXN0X3BhcnRpYWxfaW50
ZXJmYWNlX29mLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDVlZTNmZTdlODkz
Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvaWRsaGFybmVzcy9JZGxEaWN0
aW9uYXJ5L3Rlc3RfcGFydGlhbF9pbnRlcmZhY2Vfb2YuaHRtbAorKysgL2Rldi9udWxsCkBAIC0x
LDkwICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci0KLTxoZWFkPgotICA8bWV0YSBj
aGFyc2V0PSJ1dGYtOCI+Ci0gIDxtZXRhIG5hbWU9InZhcmlhbnQiIGNvbnRlbnQ9IiI+Ci0gIDx0
aXRsZT5pZGxoYXJuZXNzOiBQYXJ0aWFsIGRpY3Rpb25hcnk8L3RpdGxlPgotICA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0L3ZhcmlhbnRzLmpzIj48L3NjcmlwdD4KLSAgPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotICA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci0gIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL1dlYklETFBhcnNlci5qcyI+PC9zY3JpcHQ+Ci0gIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL2lkbGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotCi08Ym9keT4KLSAgPHA+
VmVyaWZ5IHRoZSBzZXJpZXMgb2Ygc3ViLXRlc3RzIHRoYXQgYXJlIGV4ZWN1dGVkIGZvciAicGFy
dGlhbCIgZGljdGlvbmFyeSBvYmplY3RzLjwvcD4KLSAgPHNjcmlwdD4KLSAgICAidXNlIHN0cmlj
dCI7Ci0KLSAgICAvLyBObyBvcmlnaW5hbCBleGlzdGVuY2UKLSAgICAoKCkgPT4gewotICAgICAg
Y29uc3QgaWRsQXJyYXkgPSBuZXcgSWRsQXJyYXkoKTsKLSAgICAgIGlkbEFycmF5LmFkZF9pZGxz
KCdwYXJ0aWFsIGRpY3Rpb25hcnkgQSB7fTsnKTsKLSAgICAgIGlkbEFycmF5LnRlc3QoKTsKLSAg
ICB9KSgpOwotCi0gICAgLy8gTXVsdGlwbGUgcGFydGlhbHMgZXhpc3RlbmNlCi0gICAgKCgpID0+
IHsKLSAgICAgIGNvbnN0IGlkbEFycmF5ID0gbmV3IElkbEFycmF5KCk7Ci0gICAgICBpZGxBcnJh
eS5hZGRfdW50ZXN0ZWRfaWRscygncGFydGlhbCBkaWN0aW9uYXJ5IEIge307Jyk7Ci0gICAgICBp
ZGxBcnJheS5hZGRfaWRscygncGFydGlhbCBkaWN0aW9uYXJ5IEIge307Jyk7Ci0gICAgICBpZGxB
cnJheS5hZGRfaWRscygncGFydGlhbCBkaWN0aW9uYXJ5IEIge307Jyk7Ci0gICAgICBpZGxBcnJh
eS5hZGRfaWRscygncGFydGlhbCBkaWN0aW9uYXJ5IEIge307Jyk7Ci0gICAgICBpZGxBcnJheS5h
ZGRfaWRscygnZGljdGlvbmFyeSBCIHt9OycpOwotICAgICAgaWRsQXJyYXkudGVzdCgpOwotICAg
IH0pKCk7Ci0KLSAgICAvLyBPcmlnaW5hbCBpcyBhIG5hbWVzcGFjZSwgbm90IGEgZGljdGlvbmFy
eS4KLSAgICAoKCkgPT4gewotICAgICAgY29uc3QgaWRsQXJyYXkgPSBuZXcgSWRsQXJyYXkoKTsK
LSAgICAgIGlkbEFycmF5LmFkZF9pZGxzKGAKLSAgICAgICAgcGFydGlhbCBkaWN0aW9uYXJ5IEMg
e307Ci0gICAgICAgIG5hbWVzcGFjZSBDIHt9O2ApOwotICAgICAgaWRsQXJyYXkuY29sbGFwc2Vf
cGFydGlhbHMoKTsKLSAgICB9KSgpOwotICA8L3NjcmlwdD4KLSAgPHNjcmlwdCB0eXBlPSJ0ZXh0
L2pzb24iIGlkPSJleHBlY3RlZCI+Ci17Ci0gICJzdW1tYXJpemVkX3N0YXR1cyI6IHsKLSAgICAi
c3RhdHVzX3N0cmluZyI6ICJPSyIsCi0gICAgIm1lc3NhZ2UiOiBudWxsCi0gIH0sCi0gICJzdW1t
YXJpemVkX3Rlc3RzIjogWwotICAgIHsKLSAgICAgICJuYW1lIjogIlBhcnRpYWwgZGljdGlvbmFy
eSBBOiBvcmlnaW5hbCBkaWN0aW9uYXJ5IGRlZmluZWQiLAotICAgICAgInN0YXR1c19zdHJpbmci
OiAiRkFJTCIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiAiYXNz
ZXJ0X3RydWU6IE9yaWdpbmFsIGRpY3Rpb25hcnkgc2hvdWxkIGJlIGRlZmluZWQgZXhwZWN0ZWQg
dHJ1ZSBnb3QgZmFsc2UiCi0gICAgfSwKLSAgICB7Ci0gICAgICAibmFtZSI6ICJQYXJ0aWFsIGRp
Y3Rpb25hcnkgQlsyXTogb3JpZ2luYWwgZGljdGlvbmFyeSBkZWZpbmVkIiwKLSAgICAgICJzdGF0
dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNz
YWdlIjogbnVsbAotICAgIH0sCi0gICAgewotICAgICAgIm5hbWUiOiAiUGFydGlhbCBkaWN0aW9u
YXJ5IEJbM106IG9yaWdpbmFsIGRpY3Rpb25hcnkgZGVmaW5lZCIsCi0gICAgICAic3RhdHVzX3N0
cmluZyI6ICJQQVNTIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6
IG51bGwKLSAgICB9LAotICAgIHsKLSAgICAgICJuYW1lIjogIlBhcnRpYWwgZGljdGlvbmFyeSBC
WzRdOiBvcmlnaW5hbCBkaWN0aW9uYXJ5IGRlZmluZWQiLAotICAgICAgInN0YXR1c19zdHJpbmci
OiAiUEFTUyIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxs
Ci0gICAgfSwKLSAgICB7Ci0gICAgICAibmFtZSI6ICJQYXJ0aWFsIGRpY3Rpb25hcnkgQzogb3Jp
Z2luYWwgZGljdGlvbmFyeSBkZWZpbmVkIiwKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIkZBSUwi
LAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogImFzc2VydF90cnVl
OiBPcmlnaW5hbCBDIGRlZmluaXRpb24gc2hvdWxkIGhhdmUgdHlwZSBkaWN0aW9uYXJ5IGV4cGVj
dGVkIHRydWUgZ290IGZhbHNlIgotICAgIH0KLSAgXSwKLSAgInR5cGUiOiAiY29tcGxldGUiCi19
Ci08L3NjcmlwdD4KLTwvYm9keT4KLQotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5j
dGlvbmFsL2lkbGhhcm5lc3MvSWRsRGljdGlvbmFyeS93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMv
ZnVuY3Rpb25hbC9pZGxoYXJuZXNzL0lkbERpY3Rpb25hcnkvdzNjLWltcG9ydC5sb2cKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM5OGY3NDBhNTllLi4wMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0
L3Rlc3RzL2Z1bmN0aW9uYWwvaWRsaGFybmVzcy9JZGxEaWN0aW9uYXJ5L3czYy1pbXBvcnQubG9n
CisrKyAvZGV2L251bGwKQEAgLTEsMTcgKzAsMCBAQAotVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0
b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCi1EbyBOT1QgbW9kaWZ5
IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQsIGNyZWF0ZSBhIHB1bGwg
cmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRm
b3JtLXRlc3RzL3dwdAotCi1UaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRl
c3RzIGluIFdlYktpdCB0byByZWltcG9ydAotCi1EbyBOT1QgbW9kaWZ5IG9yIHJlbW92ZSB0aGlz
IGZpbGUuCi0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotUHJvcGVydGllcyByZXF1aXJpbmcgdmVuZG9yIHBy
ZWZpeGVzOgotTm9uZQotUHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6
Ci1Ob25lCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLUxpc3Qgb2YgZmlsZXM6Ci0vTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlv
bmFsL2lkbGhhcm5lc3MvSWRsRGljdGlvbmFyeS90ZXN0X3BhcnRpYWxfaW50ZXJmYWNlX29mLmh0
bWwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC9pZGxoYXJuZXNzL0lkbEludGVyZmFj
ZS90ZXN0X2ltbXV0YWJsZV9wcm90b3R5cGUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC9pZGxo
YXJuZXNzL0lkbEludGVyZmFjZS90ZXN0X2ltbXV0YWJsZV9wcm90b3R5cGUuaHRtbApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggN2E1YjE3NzUxYmYuLjAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3Qv
dGVzdHMvZnVuY3Rpb25hbC9pZGxoYXJuZXNzL0lkbEludGVyZmFjZS90ZXN0X2ltbXV0YWJsZV9w
cm90b3R5cGUuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDI5NyArMCwwIEBACi08IURPQ1RZUEUg
SFRNTD4KLTxodG1sPgotPGhlYWQ+Ci0gIDxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KLSAgPG1ldGEg
bmFtZT0idmFyaWFudCIgY29udGVudD0iIj4KLSAgPG1ldGEgbmFtZT0idmFyaWFudCIgY29udGVu
dD0iP2tlZXAtcHJvbWlzZSI+Ci0gIDx0aXRsZT5pZGxoYXJuZXNzOiBJbW11dGFibGUgcHJvdG90
eXBlczwvdGl0bGU+Ci0gIDxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi92YXJpYW50cy5qcyI+PC9z
Y3JpcHQ+Ci0gIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Njcmlw
dD4KLSAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2Ny
aXB0PgotICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9XZWJJRExQYXJzZXIuanMiPjwvc2NyaXB0
PgotICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9pZGxoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTwv
aGVhZD4KLTxib2R5PgotPHNjcmlwdD4KLSJ1c2Ugc3RyaWN0dCI7Ci0KLU9iamVjdC5kZWZpbmVQ
cm9wZXJ0eSh3aW5kb3csICJGb28iLCB7Ci0gICAgZW51bWVyYWJsZTogZmFsc2UsCi0gICAgd3Jp
dGFibGU6IHRydWUsCi0gICAgY29uZmlndXJhYmxlOiB0cnVlLAotICAgIHZhbHVlOiBmdW5jdGlv
biBGb28oKSB7fQotICB9KTsKLU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh3aW5kb3cuRm9vLCAicHJv
dG90eXBlIiwgewotICAgIHdyaXRhYmxlOiBmYWxzZSwKLSAgICB2YWx1ZTogd2luZG93LkZvby5w
cm90b3R5cGUKLSAgfSk7Ci1Gb28ucHJvdG90eXBlW1N5bWJvbC50b1N0cmluZ1RhZ10gPSAiRm9v
IjsKLQotdmFyIGlkbEFycmF5ID0gbmV3IElkbEFycmF5KCk7Ci1pZGxBcnJheS5hZGRfdW50ZXN0
ZWRfaWRscygiaW50ZXJmYWNlIEV2ZW50VGFyZ2V0IHt9OyIpOwotaWRsQXJyYXkuYWRkX2lkbHMo
Ci0gICAgIltHbG9iYWw9V2luZG93LCBFeHBvc2VkPVdpbmRvd11cbiIgKwotICAgICJpbnRlcmZh
Y2UgV2luZG93IDogRXZlbnRUYXJnZXQge307XG4iICsKLQotICAgICJbR2xvYmFsPVdpbmRvdywg
RXhwb3NlZD1XaW5kb3csIENvbnN0cnVjdG9yKCldXG4iICsKLSAgICAiaW50ZXJmYWNlIEZvbyB7
fTsiCi0gICk7Ci1pZGxBcnJheS5hZGRfb2JqZWN0cyh7Ci0gIEZvbzogWyJuZXcgRm9vKCkiXSwK
LSAgV2luZG93OiBbIndpbmRvdyJdCi19KTsKLWlkbEFycmF5LnRlc3QoKTsKLTwvc2NyaXB0Pgot
PHNjcmlwdCB0eXBlPSJ0ZXh0L2pzb24iIGlkPSJleHBlY3RlZCI+Ci17Ci0gICAgInN1bW1hcml6
ZWRfc3RhdHVzIjogewotICAgICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAgICJzdGF0dXNf
c3RyaW5nIjogIk9LIgotICAgIH0sCi0gICAgInN1bW1hcml6ZWRfdGVzdHMiOiBbCi0gICAgICAg
IHsKLSAgICAgICAgICAgICJuYW1lIjogIkZvbyBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aCIsCi0g
ICAgICAgICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICAgICAgICJwcm9wZXJ0
aWVzIjoge30sCi0gICAgICAgICAgICAibWVzc2FnZSI6IG51bGwKLSAgICAgICAgfSwKLSAgICAg
ICAgewotICAgICAgICAgICAgIm5hbWUiOiAiRm9vIGludGVyZmFjZSBvYmplY3QgbmFtZSIsCi0g
ICAgICAgICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICAgICAgICJwcm9wZXJ0
aWVzIjoge30sCi0gICAgICAgICAgICAibWVzc2FnZSI6IG51bGwKLSAgICAgICAgfSwKLSAgICAg
ICAgewotICAgICAgICAgICAgIm5hbWUiOiAiRm9vIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBw
cm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QiLAotICAgICAgICAgICAgInN0YXR1c19zdHJp
bmciOiAiUEFTUyIsCi0gICAgICAgICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgICAgICAg
Im1lc3NhZ2UiOiBudWxsCi0gICAgICAgIH0sCi0gICAgICAgIHsKLSAgICAgICAgICAgICJuYW1l
IjogIkZvbyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ug
cHJvdG90eXBlIG9iamVjdCIsCi0gICAgICAgICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwK
LSAgICAgICAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAgICAgICAibWVzc2FnZSI6IG51
bGwKLSAgICAgICAgfSwKLSAgICAgICAgewotICAgICAgICAgICAgIm5hbWUiOiAiRm9vIGludGVy
ZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2Jq
ZWN0J3MgXCJjb25zdHJ1Y3RvclwiIHByb3BlcnR5IiwKLSAgICAgICAgICAgICJzdGF0dXNfc3Ry
aW5nIjogIlBBU1MiLAotICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICAgICAg
ICJtZXNzYWdlIjogbnVsbAotICAgICAgICB9LAotICAgICAgICB7Ci0gICAgICAgICAgICAibmFt
ZSI6ICJGb28gaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNl
IHByb3RvdHlwZSBvYmplY3QncyBAQHVuc2NvcGFibGVzIHByb3BlcnR5IiwKLSAgICAgICAgICAg
ICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7fSwK
LSAgICAgICAgICAgICJtZXNzYWdlIjogbnVsbAotICAgICAgICB9LAotICAgICAgICB7Ci0gICAg
ICAgICAgICAibmFtZSI6ICJGb28gaW50ZXJmYWNlOiBpbnRlcm5hbCBbW1NldFByb3RvdHlwZU9m
XV0gbWV0aG9kIG9mIGdsb2JhbCBwbGF0Zm9ybSBvYmplY3QgLSBzZXR0aW5nIHRvIGEgbmV3IHZh
bHVlIHZpYSBPYmplY3Quc2V0UHJvdG90eXBlT2Ygc2hvdWxkIHRocm93IGEgVHlwZUVycm9yIiwK
LSAgICAgICAgICAgICJzdGF0dXNfc3RyaW5nIjogIkZBSUwiLAotICAgICAgICAgICAgInByb3Bl
cnRpZXMiOiB7fSwKLSAgICAgICAgICAgICJtZXNzYWdlIjogImFzc2VydF90aHJvd3M6IGZ1bmN0
aW9uIFwiZnVuY3Rpb24oKSB7XG4gICAgICAgICAgICBPYmplY3Quc2V0UHJvdG90eXBlT2Yob2Jq
LCBuZXdWYWx1ZSk7XG4gICAgICAgIH1cIiBkaWQgbm90IHRocm93IgotICAgICAgICB9LAotICAg
ICAgICB7Ci0gICAgICAgICAgICAibmFtZSI6ICJGb28gaW50ZXJmYWNlOiBpbnRlcm5hbCBbW1Nl
dFByb3RvdHlwZU9mXV0gbWV0aG9kIG9mIGdsb2JhbCBwbGF0Zm9ybSBvYmplY3QgLSBzZXR0aW5n
IHRvIGEgbmV3IHZhbHVlIHZpYSBSZWZsZWN0LnNldFByb3RvdHlwZU9mIHNob3VsZCByZXR1cm4g
ZmFsc2UiLAotICAgICAgICAgICAgInN0YXR1c19zdHJpbmciOiAiRkFJTCIsCi0gICAgICAgICAg
ICAicHJvcGVydGllcyI6IHt9LAotICAgICAgICAgICAgIm1lc3NhZ2UiOiAiYXNzZXJ0X2ZhbHNl
OiBleHBlY3RlZCBmYWxzZSBnb3QgdHJ1ZSIKLSAgICAgICAgfSwKLSAgICAgICAgewotICAgICAg
ICAgICAgIm5hbWUiOiAiRm9vIGludGVyZmFjZTogaW50ZXJuYWwgW1tTZXRQcm90b3R5cGVPZl1d
IG1ldGhvZCBvZiBnbG9iYWwgcGxhdGZvcm0gb2JqZWN0IC0gc2V0dGluZyB0byBhIG5ldyB2YWx1
ZSB2aWEgX19wcm90b19fIHNob3VsZCB0aHJvdyBhIFR5cGVFcnJvciIsCi0gICAgICAgICAgICAi
c3RhdHVzX3N0cmluZyI6ICJGQUlMIiwKLSAgICAgICAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0g
ICAgICAgICAgICAibWVzc2FnZSI6ICJhc3NlcnRfdGhyb3dzOiBmdW5jdGlvbiBcImZ1bmN0aW9u
KCkge1xuICAgICAgICAgICAgb2JqLl9fcHJvdG9fXyA9IG5ld1ZhbHVlO1xuICAgICAgICB9XCIg
ZGlkIG5vdCB0aHJvdyIKLSAgICAgICAgfSwKLSAgICAgICAgewotICAgICAgICAgICAgIm5hbWUi
OiAiRm9vIGludGVyZmFjZTogaW50ZXJuYWwgW1tTZXRQcm90b3R5cGVPZl1dIG1ldGhvZCBvZiBn
bG9iYWwgcGxhdGZvcm0gb2JqZWN0IC0gc2V0dGluZyB0byBpdHMgb3JpZ2luYWwgdmFsdWUgdmlh
IE9iamVjdC5zZXRQcm90b3R5cGVPZiBzaG91bGQgbm90IHRocm93IiwKLSAgICAgICAgICAgICJz
dGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAg
ICAgICAgICAgICJtZXNzYWdlIjogbnVsbAotICAgICAgICB9LAotICAgICAgICB7Ci0gICAgICAg
ICAgICAibmFtZSI6ICJGb28gaW50ZXJmYWNlOiBpbnRlcm5hbCBbW1NldFByb3RvdHlwZU9mXV0g
bWV0aG9kIG9mIGdsb2JhbCBwbGF0Zm9ybSBvYmplY3QgLSBzZXR0aW5nIHRvIGl0cyBvcmlnaW5h
bCB2YWx1ZSB2aWEgUmVmbGVjdC5zZXRQcm90b3R5cGVPZiBzaG91bGQgcmV0dXJuIHRydWUiLAot
ICAgICAgICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAgICAgICAicHJvcGVy
dGllcyI6IHt9LAotICAgICAgICAgICAgIm1lc3NhZ2UiOiBudWxsCi0gICAgICAgIH0sCi0gICAg
ICAgIHsKLSAgICAgICAgICAgICJuYW1lIjogIkZvbyBpbnRlcmZhY2U6IGludGVybmFsIFtbU2V0
UHJvdG90eXBlT2ZdXSBtZXRob2Qgb2YgZ2xvYmFsIHBsYXRmb3JtIG9iamVjdCAtIHNldHRpbmcg
dG8gaXRzIG9yaWdpbmFsIHZhbHVlIHZpYSBfX3Byb3RvX18gc2hvdWxkIG5vdCB0aHJvdyIsCi0g
ICAgICAgICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICAgICAgICJwcm9wZXJ0
aWVzIjoge30sCi0gICAgICAgICAgICAibWVzc2FnZSI6IG51bGwKLSAgICAgICAgfSwKLSAgICAg
ICAgewotICAgICAgICAgICAgIm5hbWUiOiAiRm9vIGludGVyZmFjZTogaW50ZXJuYWwgW1tTZXRQ
cm90b3R5cGVPZl1dIG1ldGhvZCBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCAtIHNldHRp
bmcgdG8gYSBuZXcgdmFsdWUgdmlhIE9iamVjdC5zZXRQcm90b3R5cGVPZiBzaG91bGQgdGhyb3cg
YSBUeXBlRXJyb3IiLAotICAgICAgICAgICAgInN0YXR1c19zdHJpbmciOiAiRkFJTCIsCi0gICAg
ICAgICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgICAgICAgIm1lc3NhZ2UiOiAiYXNzZXJ0
X3Rocm93czogZnVuY3Rpb24gXCJmdW5jdGlvbigpIHtcbiAgICAgICAgICAgIE9iamVjdC5zZXRQ
cm90b3R5cGVPZihvYmosIG5ld1ZhbHVlKTtcbiAgICAgICAgfVwiIGRpZCBub3QgdGhyb3ciCi0g
ICAgICAgIH0sCi0gICAgICAgIHsKLSAgICAgICAgICAgICJuYW1lIjogIkZvbyBpbnRlcmZhY2U6
IGludGVybmFsIFtbU2V0UHJvdG90eXBlT2ZdXSBtZXRob2Qgb2YgaW50ZXJmYWNlIHByb3RvdHlw
ZSBvYmplY3QgLSBzZXR0aW5nIHRvIGEgbmV3IHZhbHVlIHZpYSBSZWZsZWN0LnNldFByb3RvdHlw
ZU9mIHNob3VsZCByZXR1cm4gZmFsc2UiLAotICAgICAgICAgICAgInN0YXR1c19zdHJpbmciOiAi
RkFJTCIsCi0gICAgICAgICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgICAgICAgIm1lc3Nh
Z2UiOiAiYXNzZXJ0X2ZhbHNlOiBleHBlY3RlZCBmYWxzZSBnb3QgdHJ1ZSIKLSAgICAgICAgfSwK
LSAgICAgICAgewotICAgICAgICAgICAgIm5hbWUiOiAiRm9vIGludGVyZmFjZTogaW50ZXJuYWwg
W1tTZXRQcm90b3R5cGVPZl1dIG1ldGhvZCBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCAt
IHNldHRpbmcgdG8gYSBuZXcgdmFsdWUgdmlhIF9fcHJvdG9fXyBzaG91bGQgdGhyb3cgYSBUeXBl
RXJyb3IiLAotICAgICAgICAgICAgInN0YXR1c19zdHJpbmciOiAiRkFJTCIsCi0gICAgICAgICAg
ICAicHJvcGVydGllcyI6IHt9LAotICAgICAgICAgICAgIm1lc3NhZ2UiOiAiYXNzZXJ0X3Rocm93
czogZnVuY3Rpb24gXCJmdW5jdGlvbigpIHtcbiAgICAgICAgICAgIG9iai5fX3Byb3RvX18gPSBu
ZXdWYWx1ZTtcbiAgICAgICAgfVwiIGRpZCBub3QgdGhyb3ciCi0gICAgICAgIH0sCi0gICAgICAg
IHsKLSAgICAgICAgICAgICJuYW1lIjogIkZvbyBpbnRlcmZhY2U6IGludGVybmFsIFtbU2V0UHJv
dG90eXBlT2ZdXSBtZXRob2Qgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgLSBzZXR0aW5n
IHRvIGl0cyBvcmlnaW5hbCB2YWx1ZSB2aWEgT2JqZWN0LnNldFByb3RvdHlwZU9mIHNob3VsZCBu
b3QgdGhyb3ciLAotICAgICAgICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAg
ICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgICAgICAgIm1lc3NhZ2UiOiBudWxsCi0gICAg
ICAgIH0sCi0gICAgICAgIHsKLSAgICAgICAgICAgICJuYW1lIjogIkZvbyBpbnRlcmZhY2U6IGlu
dGVybmFsIFtbU2V0UHJvdG90eXBlT2ZdXSBtZXRob2Qgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBv
YmplY3QgLSBzZXR0aW5nIHRvIGl0cyBvcmlnaW5hbCB2YWx1ZSB2aWEgUmVmbGVjdC5zZXRQcm90
b3R5cGVPZiBzaG91bGQgcmV0dXJuIHRydWUiLAotICAgICAgICAgICAgInN0YXR1c19zdHJpbmci
OiAiUEFTUyIsCi0gICAgICAgICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgICAgICAgIm1l
c3NhZ2UiOiBudWxsCi0gICAgICAgIH0sCi0gICAgICAgIHsKLSAgICAgICAgICAgICJuYW1lIjog
IkZvbyBpbnRlcmZhY2U6IGludGVybmFsIFtbU2V0UHJvdG90eXBlT2ZdXSBtZXRob2Qgb2YgaW50
ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgLSBzZXR0aW5nIHRvIGl0cyBvcmlnaW5hbCB2YWx1ZSB2
aWEgX19wcm90b19fIHNob3VsZCBub3QgdGhyb3ciLAotICAgICAgICAgICAgInN0YXR1c19zdHJp
bmciOiAiUEFTUyIsCi0gICAgICAgICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgICAgICAg
Im1lc3NhZ2UiOiBudWxsCi0gICAgICAgIH0sCi0gICAgICAgIHsKLSAgICAgICAgICAgICJuYW1l
IjogIkZvbyBtdXN0IGJlIHByaW1hcnkgaW50ZXJmYWNlIG9mIG5ldyBGb28oKSIsCi0gICAgICAg
ICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICAgICAgICJwcm9wZXJ0aWVzIjog
e30sCi0gICAgICAgICAgICAibWVzc2FnZSI6IG51bGwKLSAgICAgICAgfSwKLSAgICAgICAgewot
ICAgICAgICAgICAgIm5hbWUiOiAiU3RyaW5naWZpY2F0aW9uIG9mIG5ldyBGb28oKSIsCi0gICAg
ICAgICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICAgICAgICJwcm9wZXJ0aWVz
Ijoge30sCi0gICAgICAgICAgICAibWVzc2FnZSI6IG51bGwKLSAgICAgICAgfSwKLSAgICAgICAg
ewotICAgICAgICAgICAgIm5hbWUiOiAiU3RyaW5naWZpY2F0aW9uIG9mIHdpbmRvdyIsCi0gICAg
ICAgICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICAgICAgICJwcm9wZXJ0aWVz
Ijoge30sCi0gICAgICAgICAgICAibWVzc2FnZSI6IG51bGwKLSAgICAgICAgfSwKLSAgICAgICAg
ewotICAgICAgICAgICAgIm5hbWUiOiAiV2luZG93IGludGVyZmFjZSBvYmplY3QgbGVuZ3RoIiwK
LSAgICAgICAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgICAgICAgInByb3Bl
cnRpZXMiOiB7fSwKLSAgICAgICAgICAgICJtZXNzYWdlIjogbnVsbAotICAgICAgICB9LAotICAg
ICAgICB7Ci0gICAgICAgICAgICAibmFtZSI6ICJXaW5kb3cgaW50ZXJmYWNlIG9iamVjdCBuYW1l
IiwKLSAgICAgICAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgICAgICAgInBy
b3BlcnRpZXMiOiB7fSwKLSAgICAgICAgICAgICJtZXNzYWdlIjogbnVsbAotICAgICAgICB9LAot
ICAgICAgICB7Ci0gICAgICAgICAgICAibmFtZSI6ICJXaW5kb3cgaW50ZXJmYWNlOiBleGlzdGVu
Y2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCIsCi0gICAgICAgICAgICAic3Rh
dHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAg
ICAgICAgICAibWVzc2FnZSI6IG51bGwKLSAgICAgICAgfSwKLSAgICAgICAgewotICAgICAgICAg
ICAgIm5hbWUiOiAiV2luZG93IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9m
IGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IiwKLSAgICAgICAgICAgICJzdGF0dXNfc3RyaW5n
IjogIlBBU1MiLAotICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICAgICAgICJt
ZXNzYWdlIjogbnVsbAotICAgICAgICB9LAotICAgICAgICB7Ci0gICAgICAgICAgICAibmFtZSI6
ICJXaW5kb3cgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNl
IHByb3RvdHlwZSBvYmplY3QncyBcImNvbnN0cnVjdG9yXCIgcHJvcGVydHkiLAotICAgICAgICAg
ICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAgICAgICAicHJvcGVydGllcyI6IHt9
LAotICAgICAgICAgICAgIm1lc3NhZ2UiOiBudWxsCi0gICAgICAgIH0sCi0gICAgICAgIHsKLSAg
ICAgICAgICAgICJuYW1lIjogIldpbmRvdyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVy
dGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzIEBAdW5zY29wYWJsZXMgcHJvcGVy
dHkiLAotICAgICAgICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAgICAgICAi
cHJvcGVydGllcyI6IHt9LAotICAgICAgICAgICAgIm1lc3NhZ2UiOiBudWxsCi0gICAgICAgIH0s
Ci0gICAgICAgIHsKLSAgICAgICAgICAgICJuYW1lIjogIldpbmRvdyBpbnRlcmZhY2U6IGludGVy
bmFsIFtbU2V0UHJvdG90eXBlT2ZdXSBtZXRob2Qgb2YgZ2xvYmFsIHBsYXRmb3JtIG9iamVjdCAt
IHNldHRpbmcgdG8gYSBuZXcgdmFsdWUgdmlhIE9iamVjdC5zZXRQcm90b3R5cGVPZiBzaG91bGQg
dGhyb3cgYSBUeXBlRXJyb3IiLAotICAgICAgICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIs
Ci0gICAgICAgICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgICAgICAgIm1lc3NhZ2UiOiBu
dWxsCi0gICAgICAgIH0sCi0gICAgICAgIHsKLSAgICAgICAgICAgICJuYW1lIjogIldpbmRvdyBp
bnRlcmZhY2U6IGludGVybmFsIFtbU2V0UHJvdG90eXBlT2ZdXSBtZXRob2Qgb2YgZ2xvYmFsIHBs
YXRmb3JtIG9iamVjdCAtIHNldHRpbmcgdG8gYSBuZXcgdmFsdWUgdmlhIFJlZmxlY3Quc2V0UHJv
dG90eXBlT2Ygc2hvdWxkIHJldHVybiBmYWxzZSIsCi0gICAgICAgICAgICAic3RhdHVzX3N0cmlu
ZyI6ICJQQVNTIiwKLSAgICAgICAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAgICAgICAi
bWVzc2FnZSI6IG51bGwKLSAgICAgICAgfSwKLSAgICAgICAgewotICAgICAgICAgICAgIm5hbWUi
OiAiV2luZG93IGludGVyZmFjZTogaW50ZXJuYWwgW1tTZXRQcm90b3R5cGVPZl1dIG1ldGhvZCBv
ZiBnbG9iYWwgcGxhdGZvcm0gb2JqZWN0IC0gc2V0dGluZyB0byBhIG5ldyB2YWx1ZSB2aWEgX19w
cm90b19fIHNob3VsZCB0aHJvdyBhIFR5cGVFcnJvciIsCi0gICAgICAgICAgICAic3RhdHVzX3N0
cmluZyI6ICJQQVNTIiwKLSAgICAgICAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAgICAg
ICAibWVzc2FnZSI6IG51bGwKLSAgICAgICAgfSwKLSAgICAgICAgewotICAgICAgICAgICAgIm5h
bWUiOiAiV2luZG93IGludGVyZmFjZTogaW50ZXJuYWwgW1tTZXRQcm90b3R5cGVPZl1dIG1ldGhv
ZCBvZiBnbG9iYWwgcGxhdGZvcm0gb2JqZWN0IC0gc2V0dGluZyB0byBpdHMgb3JpZ2luYWwgdmFs
dWUgdmlhIE9iamVjdC5zZXRQcm90b3R5cGVPZiBzaG91bGQgbm90IHRocm93IiwKLSAgICAgICAg
ICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7
fSwKLSAgICAgICAgICAgICJtZXNzYWdlIjogbnVsbAotICAgICAgICB9LAotICAgICAgICB7Ci0g
ICAgICAgICAgICAibmFtZSI6ICJXaW5kb3cgaW50ZXJmYWNlOiBpbnRlcm5hbCBbW1NldFByb3Rv
dHlwZU9mXV0gbWV0aG9kIG9mIGdsb2JhbCBwbGF0Zm9ybSBvYmplY3QgLSBzZXR0aW5nIHRvIGl0
cyBvcmlnaW5hbCB2YWx1ZSB2aWEgUmVmbGVjdC5zZXRQcm90b3R5cGVPZiBzaG91bGQgcmV0dXJu
IHRydWUiLAotICAgICAgICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAgICAg
ICAicHJvcGVydGllcyI6IHt9LAotICAgICAgICAgICAgIm1lc3NhZ2UiOiBudWxsCi0gICAgICAg
IH0sCi0gICAgICAgIHsKLSAgICAgICAgICAgICJuYW1lIjogIldpbmRvdyBpbnRlcmZhY2U6IGlu
dGVybmFsIFtbU2V0UHJvdG90eXBlT2ZdXSBtZXRob2Qgb2YgZ2xvYmFsIHBsYXRmb3JtIG9iamVj
dCAtIHNldHRpbmcgdG8gaXRzIG9yaWdpbmFsIHZhbHVlIHZpYSBfX3Byb3RvX18gc2hvdWxkIG5v
dCB0aHJvdyIsCi0gICAgICAgICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICAg
ICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAgICAgICAibWVzc2FnZSI6IG51bGwKLSAgICAg
ICAgfSwKLSAgICAgICAgewotICAgICAgICAgICAgIm5hbWUiOiAiV2luZG93IGludGVyZmFjZTog
aW50ZXJuYWwgW1tTZXRQcm90b3R5cGVPZl1dIG1ldGhvZCBvZiBpbnRlcmZhY2UgcHJvdG90eXBl
IG9iamVjdCAtIHNldHRpbmcgdG8gYSBuZXcgdmFsdWUgdmlhIE9iamVjdC5zZXRQcm90b3R5cGVP
ZiBzaG91bGQgdGhyb3cgYSBUeXBlRXJyb3IiLAotICAgICAgICAgICAgInN0YXR1c19zdHJpbmci
OiAiUEFTUyIsCi0gICAgICAgICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgICAgICAgIm1l
c3NhZ2UiOiBudWxsCi0gICAgICAgIH0sCi0gICAgICAgIHsKLSAgICAgICAgICAgICJuYW1lIjog
IldpbmRvdyBpbnRlcmZhY2U6IGludGVybmFsIFtbU2V0UHJvdG90eXBlT2ZdXSBtZXRob2Qgb2Yg
aW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgLSBzZXR0aW5nIHRvIGEgbmV3IHZhbHVlIHZpYSBS
ZWZsZWN0LnNldFByb3RvdHlwZU9mIHNob3VsZCByZXR1cm4gZmFsc2UiLAotICAgICAgICAgICAg
InN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAgICAgICAicHJvcGVydGllcyI6IHt9LAot
ICAgICAgICAgICAgIm1lc3NhZ2UiOiBudWxsCi0gICAgICAgIH0sCi0gICAgICAgIHsKLSAgICAg
ICAgICAgICJuYW1lIjogIldpbmRvdyBpbnRlcmZhY2U6IGludGVybmFsIFtbU2V0UHJvdG90eXBl
T2ZdXSBtZXRob2Qgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgLSBzZXR0aW5nIHRvIGEg
bmV3IHZhbHVlIHZpYSBfX3Byb3RvX18gc2hvdWxkIHRocm93IGEgVHlwZUVycm9yIiwKLSAgICAg
ICAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgICAgICAgInByb3BlcnRpZXMi
OiB7fSwKLSAgICAgICAgICAgICJtZXNzYWdlIjogbnVsbAotICAgICAgICB9LAotICAgICAgICB7
Ci0gICAgICAgICAgICAibmFtZSI6ICJXaW5kb3cgaW50ZXJmYWNlOiBpbnRlcm5hbCBbW1NldFBy
b3RvdHlwZU9mXV0gbWV0aG9kIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IC0gc2V0dGlu
ZyB0byBpdHMgb3JpZ2luYWwgdmFsdWUgdmlhIE9iamVjdC5zZXRQcm90b3R5cGVPZiBzaG91bGQg
bm90IHRocm93IiwKLSAgICAgICAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAg
ICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICAgICAgICJtZXNzYWdlIjogbnVsbAotICAg
ICAgICB9LAotICAgICAgICB7Ci0gICAgICAgICAgICAibmFtZSI6ICJXaW5kb3cgaW50ZXJmYWNl
OiBpbnRlcm5hbCBbW1NldFByb3RvdHlwZU9mXV0gbWV0aG9kIG9mIGludGVyZmFjZSBwcm90b3R5
cGUgb2JqZWN0IC0gc2V0dGluZyB0byBpdHMgb3JpZ2luYWwgdmFsdWUgdmlhIFJlZmxlY3Quc2V0
UHJvdG90eXBlT2Ygc2hvdWxkIHJldHVybiB0cnVlIiwKLSAgICAgICAgICAgICJzdGF0dXNfc3Ry
aW5nIjogIlBBU1MiLAotICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICAgICAg
ICJtZXNzYWdlIjogbnVsbAotICAgICAgICB9LAotICAgICAgICB7Ci0gICAgICAgICAgICAibmFt
ZSI6ICJXaW5kb3cgaW50ZXJmYWNlOiBpbnRlcm5hbCBbW1NldFByb3RvdHlwZU9mXV0gbWV0aG9k
IG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IC0gc2V0dGluZyB0byBpdHMgb3JpZ2luYWwg
dmFsdWUgdmlhIF9fcHJvdG9fXyBzaG91bGQgbm90IHRocm93IiwKLSAgICAgICAgICAgICJzdGF0
dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAg
ICAgICAgICJtZXNzYWdlIjogbnVsbAotICAgICAgICB9LAotICAgICAgICB7Ci0gICAgICAgICAg
ICAibmFtZSI6ICJXaW5kb3cgbXVzdCBiZSBwcmltYXJ5IGludGVyZmFjZSBvZiB3aW5kb3ciLAot
ICAgICAgICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAgICAgICAicHJvcGVy
dGllcyI6IHt9LAotICAgICAgICAgICAgIm1lc3NhZ2UiOiBudWxsCi0gICAgICAgIH0KLSAgICBd
LAotICAgICJ0eXBlIjogImNvbXBsZXRlIgotfQotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvaWRsaGFybmVzcy9JZGxJbnRlcmZhY2Uv
dGVzdF9pbnRlcmZhY2VfbWl4aW4uaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC9pZGxoYXJuZXNz
L0lkbEludGVyZmFjZS90ZXN0X2ludGVyZmFjZV9taXhpbi5odG1sCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCBhOWE5MDk0ZmUzMC4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5j
dGlvbmFsL2lkbGhhcm5lc3MvSWRsSW50ZXJmYWNlL3Rlc3RfaW50ZXJmYWNlX21peGluLmh0bWwK
KysrIC9kZXYvbnVsbApAQCAtMSw4MyArMCwwIEBACi08IURPQ1RZUEUgSFRNTD4KLTxodG1sPgot
Ci08aGVhZD4KLSAgPG1ldGEgY2hhcnNldD0idXRmLTgiPgotICA8bWV0YSBuYW1lPSJ2YXJpYW50
IiBjb250ZW50PSIiPgotICA8dGl0bGU+aWRsaGFybmVzczogaW50ZXJmYWNlIG1peGluczwvdGl0
bGU+Ci0gIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3QvdmFyaWFudHMuanMiPjwvc2NyaXB0
PgotICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci0g
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
LSAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvV2ViSURMUGFyc2VyLmpzIj48L3NjcmlwdD4KLSAg
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvaWRsaGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+
Ci0KLTxib2R5PgotICA8cD5WZXJpZnkgdGhlIHNlcmllcyBvZiBzdWItdGVzdHMgdGhhdCBhcmUg
ZXhlY3V0ZWQgZm9yICJpbnRlcmZhY2UgbWl4aW4iIG9iamVjdHMuPC9wPgotICA8c2NyaXB0Pgot
ICAgICJ1c2Ugc3RyaWN0IjsKLQotICAgIC8vIE5vIG9yaWdpbmFsIGV4aXN0ZW5jZQotICAgICgo
KSA9PiB7Ci0gICAgICBjb25zdCBpZGxBcnJheSA9IG5ldyBJZGxBcnJheSgpOwotICAgICAgaWRs
QXJyYXkuYWRkX2lkbHMoJ3BhcnRpYWwgaW50ZXJmYWNlIG1peGluIEEge307Jyk7Ci0gICAgICBp
ZGxBcnJheS50ZXN0KCk7Ci0gICAgfSkoKTsKLQotICAgIC8vIE5hbWUgY2xhc2ggKHBhcnRpYWxz
KQotICAgICgoKSA9PiB7Ci0gICAgICBjb25zdCBpZGxBcnJheSA9IG5ldyBJZGxBcnJheSgpOwot
ICAgICAgaWRsQXJyYXkuYWRkX2lkbHMoYAotICAgICAgICBpbnRlcmZhY2UgbWl4aW4gQiB7IGF0
dHJpYnV0ZSBhbnkgRjsgfTsKLSAgICAgICAgcGFydGlhbCBpbnRlcmZhY2UgbWl4aW4gQiB7IGF0
dHJpYnV0ZSBhbnkgRjsgfTtgKTsKLSAgICAgIGlkbEFycmF5LmNvbGxhcHNlX3BhcnRpYWxzKCk7
Ci0gICAgfSkoKTsKLQotICAgIC8vIE5hbWUgY2xhc2ggKGRpZmZlcmVudCBtaXhpbnMpCi0gICAg
KCgpID0+IHsKLSAgICAgIGNvbnN0IGlkbEFycmF5ID0gbmV3IElkbEFycmF5KCk7Ci0gICAgICBp
ZGxBcnJheS5hZGRfdW50ZXN0ZWRfaWRscyhgCi0gICAgICAgIGludGVyZmFjZSBtaXhpbiBDIHsg
YXR0cmlidXRlIGFueSBGOyB9OwotICAgICAgICBpbnRlcmZhY2UgRCB7IGF0dHJpYnV0ZSBhbnkg
RjsgfTsKLSAgICAgICAgRCBpbmNsdWRlcyBDO2ApOwotICAgICAgaWRsQXJyYXkudGVzdCgpOwot
ICAgIH0pKCk7Ci0gIDwvc2NyaXB0PgotICA8c2NyaXB0IHR5cGU9InRleHQvanNvbiIgaWQ9ImV4
cGVjdGVkIj4KLXsKLSAgInN1bW1hcml6ZWRfc3RhdHVzIjogewotICAgICJzdGF0dXNfc3RyaW5n
IjogIk9LIiwKLSAgICAibWVzc2FnZSI6IG51bGwKLSAgfSwKLSAgInN1bW1hcml6ZWRfdGVzdHMi
OiBbCi0gICAgewotICAgICAgIm5hbWUiOiAiUGFydGlhbCBpbnRlcmZhY2UgbWl4aW4gQTogb3Jp
Z2luYWwgaW50ZXJmYWNlIG1peGluIGRlZmluZWQiLAotICAgICAgInN0YXR1c19zdHJpbmciOiAi
RkFJTCIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiAiYXNzZXJ0
X3RydWU6IE9yaWdpbmFsIGludGVyZmFjZSBtaXhpbiBzaG91bGQgYmUgZGVmaW5lZCBleHBlY3Rl
ZCB0cnVlIGdvdCBmYWxzZSIKLSAgICB9LAotICAgIHsKLSAgICAgICJuYW1lIjogIlBhcnRpYWwg
aW50ZXJmYWNlIG1peGluIEI6IG9yaWdpbmFsIGludGVyZmFjZSBtaXhpbiBkZWZpbmVkIiwKLSAg
ICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAg
ICAgICJtZXNzYWdlIjogbnVsbAotICAgIH0sCi0gICAgewotICAgICAgIm5hbWUiOiAiUGFydGlh
bCBpbnRlcmZhY2UgbWl4aW4gQjogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUiLAotICAgICAgInN0
YXR1c19zdHJpbmciOiAiRkFJTCIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1l
c3NhZ2UiOiAiYXNzZXJ0X3RydWU6IG1lbWJlciBGIGlzIHVuaXF1ZSBleHBlY3RlZCB0cnVlIGdv
dCBmYWxzZSIKLSAgICB9LAotICAgIHsKLSAgICAgICJuYW1lIjogIkQgaW5jbHVkZXMgQzogbWVt
YmVyIG5hbWVzIGFyZSB1bmlxdWUiLAotICAgICAgInN0YXR1c19zdHJpbmciOiAiRkFJTCIsCi0g
ICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiAiYXNzZXJ0X3RydWU6IG1l
bWJlciBGIGlzIHVuaXF1ZSBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZSIKLSAgICB9Ci0gIF0sCi0g
ICJ0eXBlIjogImNvbXBsZXRlIgotfQotPC9zY3JpcHQ+Ci08L2JvZHk+Ci0KLTwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC9pZGxoYXJuZXNzL0lkbEludGVyZmFjZS90ZXN0
X3BhcnRpYWxfaW50ZXJmYWNlX29mLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvaWRsaGFybmVz
cy9JZGxJbnRlcmZhY2UvdGVzdF9wYXJ0aWFsX2ludGVyZmFjZV9vZi5odG1sCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCBkMGU4M2FmOTY2NC4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0
cy9mdW5jdGlvbmFsL2lkbGhhcm5lc3MvSWRsSW50ZXJmYWNlL3Rlc3RfcGFydGlhbF9pbnRlcmZh
Y2Vfb2YuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDE4NSArMCwwIEBACi08IURPQ1RZUEUgSFRN
TD4KLTxodG1sPgotCi08aGVhZD4KLSAgPG1ldGEgY2hhcnNldD0idXRmLTgiPgotICA8bWV0YSBu
YW1lPSJ2YXJpYW50IiBjb250ZW50PSIiPgotICA8dGl0bGU+aWRsaGFybmVzczogUGFydGlhbCBp
bnRlcmZhY2U8L3RpdGxlPgotICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0L3ZhcmlhbnRz
LmpzIj48L3NjcmlwdD4KLSAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
Pjwvc2NyaXB0PgotICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+Ci0gIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL1dlYklETFBhcnNlci5qcyI+
PC9zY3JpcHQ+Ci0gIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL2lkbGhhcm5lc3MuanMiPjwvc2Ny
aXB0PgotPC9oZWFkPgotCi08Ym9keT4KLSAgPHA+VmVyaWZ5IHRoZSBzZXJpZXMgb2Ygc3ViLXRl
c3RzIHRoYXQgYXJlIGV4ZWN1dGVkIGZvciAicGFydGlhbCIgaW50ZXJmYWNlIG9iamVjdHMuPC9w
PgotICA8c2NyaXB0PgotICAgICJ1c2Ugc3RyaWN0IjsKLQotICAgIC8vIE5vIG9yaWdpbmFsIGV4
aXN0ZW5jZQotICAgICgoKSA9PiB7Ci0gICAgICBjb25zdCBpZGxBcnJheSA9IG5ldyBJZGxBcnJh
eSgpOwotICAgICAgaWRsQXJyYXkuYWRkX2lkbHMoJ3BhcnRpYWwgaW50ZXJmYWNlIEEge307Jyk7
Ci0gICAgICBpZGxBcnJheS50ZXN0KCk7Ci0gICAgfSkoKTsKLQotICAgIC8vIFZhbGlkIGV4cG9z
dXJlIChOb3RlOiBXb3JrZXIgLT4ge1NoYXJlZCxEZWRpY2F0ZWQsU2VydmljZX1Xb3JrZXIpCi0g
ICAgKCgpID0+IHsKLSAgICAgIGNvbnN0IGlkbEFycmF5ID0gbmV3IElkbEFycmF5KCk7Ci0gICAg
ICBpZGxBcnJheS5hZGRfdW50ZXN0ZWRfaWRscyhgCi0gICAgICAgIFtFeHBvc2VkPShXb3JrZXIp
XQotICAgICAgICBpbnRlcmZhY2UgQiB7fTsKLQotICAgICAgICBbRXhwb3NlZD0oRGVkaWNhdGVk
V29ya2VyLCBTZXJ2aWNlV29ya2VyLCBTaGFyZWRXb3JrZXIpXQotICAgICAgICBpbnRlcmZhY2Ug
QyB7fTtgKTsKLSAgICAgIGlkbEFycmF5LmFkZF9pZGxzKGAKLSAgICAgICAgW0V4cG9zZWQ9KERl
ZGljYXRlZFdvcmtlciwgU2VydmljZVdvcmtlciwgU2hhcmVkV29ya2VyKV0KLSAgICAgICAgcGFy
dGlhbCBpbnRlcmZhY2UgQiB7fTsKLQotICAgICAgICBbRXhwb3NlZD0oV29ya2VyKV0KLSAgICAg
ICAgcGFydGlhbCBpbnRlcmZhY2UgQyB7fTtgKTsKLSAgICAgIGlkbEFycmF5LmNvbGxhcHNlX3Bh
cnRpYWxzKCk7Ci0gICAgfSkoKTsKLQotICAgIC8vIEludmFsaWQgZXhwb3N1cmUKLSAgICAoKCkg
PT4gewotICAgICAgY29uc3QgaWRsQXJyYXkgPSBuZXcgSWRsQXJyYXkoKTsKLSAgICAgIGlkbEFy
cmF5LmFkZF91bnRlc3RlZF9pZGxzKGAKLSAgICAgICAgW0V4cG9zZWQ9KFdpbmRvdywgU2Vydmlj
ZVdvcmtlcildCi0gICAgICAgIGludGVyZmFjZSBEIHt9O2ApOwotICAgICAgaWRsQXJyYXkuYWRk
X2lkbHMoYAotICAgICAgICBbRXhwb3NlZD0oRGVkaWNhdGVkV29ya2VyKV0KLSAgICAgICAgcGFy
dGlhbCBpbnRlcmZhY2UgRCB7fTtgKTsKLSAgICAgIGlkbEFycmF5LmNvbGxhcHNlX3BhcnRpYWxz
KCk7Ci0gICAgfSkoKTsKLQotICAgIC8vIE9yaWdpbmFsIGlzIGEgbmFtZXNwYWNlLCBub3QgYW4g
aW50ZXJmYWNlLgotICAgICgoKSA9PiB7Ci0gICAgICBjb25zdCBpZGxBcnJheSA9IG5ldyBJZGxB
cnJheSgpOwotICAgICAgaWRsQXJyYXkuYWRkX2lkbHMoYAotICAgICAgICBwYXJ0aWFsIGludGVy
ZmFjZSBFIHt9OwotICAgICAgICBuYW1lc3BhY2UgRSB7fTtgKTsKLSAgICAgIGlkbEFycmF5LmNv
bGxhcHNlX3BhcnRpYWxzKCk7Ci0gICAgfSkoKTsKLQotICAgICgoKSA9PiB7Ci0gICAgICBjb25z
dCBpZGxBcnJheSA9IG5ldyBJZGxBcnJheSgpOwotICAgICAgaWRsQXJyYXkuYWRkX2lkbHMoYAot
ICAgICAgICBwYXJ0aWFsIGludGVyZmFjZSBGIHt9OwotICAgICAgICBwYXJ0aWFsIGludGVyZmFj
ZSBtaXhpbiBHe307Ci0gICAgICBgKTsKLSAgICAgIGlkbEFycmF5LmFkZF9kZXBlbmRlbmN5X2lk
bHMoYAotICAgICAgICBpbnRlcmZhY2UgRiB7fTsKLSAgICAgICAgaW50ZXJmYWNlIG1peGluIEcg
e307Ci0gICAgICAgIGludGVyZmFjZSBtaXhpbiBIIHt9OwotICAgICAgICBGIGluY2x1ZGVzIEg7
Ci0gICAgICAgIEkgaW5jbHVkZXMgSDsKLSAgICAgICAgSiBpbmNsdWRlcyBHOwotICAgICAgICBp
bnRlcmZhY2UgSyA6IEoge307Ci0gICAgICAgIGludGVyZmFjZSBMIDogRiB7fTsKLSAgICAgIGAp
OwotICAgICAgdGVzdCgoKSA9PiB7Ci0gICAgICAgIC8vIEYgaXMgdGVzdGVkLCBzbyBIIGlzIGEg
ZGVwLgotICAgICAgICBhc3NlcnRfdHJ1ZSgnRicgaW4gaWRsQXJyYXkuaW5jbHVkZXMsICdGcyBp
bmNsdWRlcyBzaG91bGQgYmUgcGlja2VkIHVwJyk7Ci0gICAgICAgIGFzc2VydF90cnVlKGlkbEFy
cmF5LmluY2x1ZGVzLkYuaW5jbHVkZXMoJ0gnKSwgJ0ggc2hvdWxkIGJlIHBpY2tlZCB1cCcpOwot
ICAgICAgICAvLyBIIGlzIG5vdCB0ZXN0ZWQsIHNvIEkgaXMgbm90IGEgZGVwLgotICAgICAgICBh
c3NlcnRfZmFsc2UoJ0knIGluIGlkbEFycmF5LmluY2x1ZGVzLCAnSSBzaG91bGQgYmUgaWdub3Jl
ZCcpOwotICAgICAgICAvLyBHIGlzIGEgZGVwLCBzbyBKIGlzIGEgZGVwLgotICAgICAgICBhc3Nl
cnRfdHJ1ZSgnSicgaW4gaWRsQXJyYXkuaW5jbHVkZXMsICdKIHNob3VsZCBiZSBwaWNrZWQgdXAn
KTsKLSAgICAgICAgLy8gQnV0LCBLIGlzbid0IGEgZGVwIGp1c3QgYmVjYXVzZSBvZiBKLgotICAg
ICAgICBhc3NlcnRfZmFsc2UoJ0snIGluIGlkbEFycmF5Lm1lbWJlcnMsICdLIHNob3VsZCBiZSBp
Z25vcmVkJyk7Ci0gICAgICAgIC8vIEwgaW5oZXJpdHMgRiwgc28gc2hvdWxkIGJlIHBpY2tlZCB1
cC4KLSAgICAgICAgYXNzZXJ0X2ZhbHNlKCdMJyBpbiBpZGxBcnJheS5tZW1iZXJzLCAnTCBzaG91
bGQgYmUgcGlja2VkIHVwJyk7Ci0gICAgICB9LCAncGFydGlhbCBtaXhpbiBkZXAgaW1wbGljYXRp
b25zJyk7Ci0gICAgfSkoKTsKLQotICAgIC8vIE5hbWUgY2xhc2ggKHBhcnRpYWxzKQotICAgICgo
KSA9PiB7Ci0gICAgICBjb25zdCBpZGxBcnJheSA9IG5ldyBJZGxBcnJheSgpOwotICAgICAgaWRs
QXJyYXkuYWRkX2lkbHMoYAotICAgICAgICBpbnRlcmZhY2UgTSB7IGF0dHJpYnV0ZSBhbnkgQTsg
fTsKLSAgICAgICAgcGFydGlhbCBpbnRlcmZhY2UgTSB7IGF0dHJpYnV0ZSBhbnkgQTsgfTtgKTsK
LSAgICAgIGlkbEFycmF5LmNvbGxhcHNlX3BhcnRpYWxzKCk7Ci0gICAgfSkoKTsKLSAgPC9zY3Jp
cHQ+Ci0gIDxzY3JpcHQgdHlwZT0idGV4dC9qc29uIiBpZD0iZXhwZWN0ZWQiPgotewotICAic3Vt
bWFyaXplZF9zdGF0dXMiOiB7Ci0gICAgInN0YXR1c19zdHJpbmciOiAiT0siLAotICAgICJtZXNz
YWdlIjogbnVsbAotICB9LAotICAic3VtbWFyaXplZF90ZXN0cyI6IFsKLSAgICB7Ci0gICAgICAi
bmFtZSI6ICJQYXJ0aWFsIGludGVyZmFjZSBBOiBvcmlnaW5hbCBpbnRlcmZhY2UgZGVmaW5lZCIs
Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJGQUlMIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30s
Ci0gICAgICAibWVzc2FnZSI6ICJhc3NlcnRfdHJ1ZTogT3JpZ2luYWwgaW50ZXJmYWNlIHNob3Vs
ZCBiZSBkZWZpbmVkIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlIgotICAgIH0sCi0gICAgewotICAg
ICAgIm5hbWUiOiAiUGFydGlhbCBpbnRlcmZhY2UgQjogb3JpZ2luYWwgaW50ZXJmYWNlIGRlZmlu
ZWQiLAotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAicHJvcGVydGllcyI6
IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsCi0gICAgfSwKLSAgICB7Ci0gICAgICAibmFtZSI6
ICJQYXJ0aWFsIGludGVyZmFjZSBCOiB2YWxpZCBleHBvc3VyZSBzZXQiLAotICAgICAgInN0YXR1
c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3Nh
Z2UiOiBudWxsCi0gICAgfSwKLSAgICB7Ci0gICAgICAibmFtZSI6ICJQYXJ0aWFsIGludGVyZmFj
ZSBDOiBvcmlnaW5hbCBpbnRlcmZhY2UgZGVmaW5lZCIsCi0gICAgICAic3RhdHVzX3N0cmluZyI6
ICJQQVNTIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6IG51bGwK
LSAgICB9LAotICAgIHsKLSAgICAgICJuYW1lIjogIlBhcnRpYWwgaW50ZXJmYWNlIEM6IHZhbGlk
IGV4cG9zdXJlIHNldCIsCi0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJw
cm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6IG51bGwKLSAgICB9LAotICAgIHsKLSAg
ICAgICJuYW1lIjogIlBhcnRpYWwgaW50ZXJmYWNlIEQ6IG9yaWdpbmFsIGludGVyZmFjZSBkZWZp
bmVkIiwKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgInByb3BlcnRpZXMi
OiB7fSwKLSAgICAgICJtZXNzYWdlIjogbnVsbAotICAgIH0sCi0gICAgewotICAgICAgIm5hbWUi
OiAiUGFydGlhbCBpbnRlcmZhY2UgRDogdmFsaWQgZXhwb3N1cmUgc2V0IiwKLSAgICAgICJzdGF0
dXNfc3RyaW5nIjogIkZBSUwiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNz
YWdlIjogIlBhcnRpYWwgRCBpbnRlcmZhY2UgaXMgZXhwb3NlZCB0byAnRGVkaWNhdGVkV29ya2Vy
JywgdGhlIG9yaWdpbmFsIGludGVyZmFjZSBpcyBub3QuIgotICAgIH0sCi0gICAgewotICAgICAg
Im5hbWUiOiAiUGFydGlhbCBpbnRlcmZhY2UgRTogb3JpZ2luYWwgaW50ZXJmYWNlIGRlZmluZWQi
LAotICAgICAgInN0YXR1c19zdHJpbmciOiAiRkFJTCIsCi0gICAgICAicHJvcGVydGllcyI6IHt9
LAotICAgICAgIm1lc3NhZ2UiOiAiYXNzZXJ0X3RydWU6IE9yaWdpbmFsIEUgZGVmaW5pdGlvbiBz
aG91bGQgaGF2ZSB0eXBlIGludGVyZmFjZSBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZSIKLSAgICB9
LAotICAgIHsKLSAgICAgICJuYW1lIjogInBhcnRpYWwgbWl4aW4gZGVwIGltcGxpY2F0aW9ucyIs
Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30s
Ci0gICAgICAibWVzc2FnZSI6IG51bGwKLSAgICB9LAotICAgIHsKLSAgICAgICJuYW1lIjogIlBh
cnRpYWwgaW50ZXJmYWNlIE06IG9yaWdpbmFsIGludGVyZmFjZSBkZWZpbmVkIiwKLSAgICAgICJz
dGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJt
ZXNzYWdlIjogbnVsbAotICAgIH0sCi0gICAgewotICAgICAgIm5hbWUiOiAiUGFydGlhbCBpbnRl
cmZhY2UgTTogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUiLAotICAgICAgInN0YXR1c19zdHJpbmci
OiAiRkFJTCIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiAiYXNz
ZXJ0X3RydWU6IG1lbWJlciBBIGlzIHVuaXF1ZSBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZSIKLSAg
ICB9Ci0gIF0sCi0gICJ0eXBlIjogImNvbXBsZXRlIgotfQotPC9zY3JpcHQ+Ci08L2JvZHk+Ci0K
LTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC9pZGxoYXJuZXNzL0lkbElu
dGVyZmFjZS90ZXN0X3ByaW1hcnlfaW50ZXJmYWNlX29mLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9u
YWwvaWRsaGFybmVzcy9JZGxJbnRlcmZhY2UvdGVzdF9wcmltYXJ5X2ludGVyZmFjZV9vZi5odG1s
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1Y2U0NTdjYWZkNC4uMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFsL2lkbGhhcm5lc3MvSWRsSW50ZXJmYWNlL3Rlc3RfcHJp
bWFyeV9pbnRlcmZhY2Vfb2YuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDExMiArMCwwIEBACi08
IURPQ1RZUEUgSFRNTD4KLTxodG1sPgotPGhlYWQ+Ci0gIDxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4K
LSAgPG1ldGEgbmFtZT0idmFyaWFudCIgY29udGVudD0iIj4KLSAgPG1ldGEgbmFtZT0idmFyaWFu
dCIgY29udGVudD0iP2tlZXAtcHJvbWlzZSI+Ci0gIDx0aXRsZT5pZGxoYXJuZXNzOiBQcmltYXJ5
IGludGVyZmFjZTwvdGl0bGU+Ci0gIDxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi92YXJpYW50cy5q
cyI+PC9zY3JpcHQ+Ci0gIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4KLSAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgotICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9XZWJJRExQYXJzZXIuanMiPjwv
c2NyaXB0PgotICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9pZGxoYXJuZXNzLmpzIj48L3Njcmlw
dD4KLTwvaGVhZD4KLTxib2R5PgotPHA+VmVyaWZ5IHRoZSBzZXJpZXMgb2Ygc3ViLXRlc3RzIHRo
YXQgYXJlIGV4ZWN1dGVkIGZvciAidGVzdGVkIiBpbnRlcmZhY2UKLW9iamVjdHMgYnV0IHNraXBw
ZWQgZm9yICJ1bnRlc3RlZCIgaW50ZXJmYWNlIG9iamVjdHMuPC9wPgotPHNjcmlwdD4KLSJ1c2Ug
c3RyaWN0IjsKLQotZnVuY3Rpb24gRm9vUGFyZW50KCkge30KLU9iamVjdC5kZWZpbmVQcm9wZXJ0
eSh3aW5kb3csICJGb28iLCB7Ci0gICAgZW51bWVyYWJsZTogZmFsc2UsCi0gICAgd3JpdGFibGU6
IHRydWUsCi0gICAgY29uZmlndXJhYmxlOiB0cnVlLAotICAgIHZhbHVlOiBmdW5jdGlvbiBGb28o
KSB7fQotICB9KTsKLU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh3aW5kb3cuRm9vLCAicHJvdG90eXBl
IiwgewotICAgIHdyaXRhYmxlOiBmYWxzZSwKLSAgICB2YWx1ZTogbmV3IEZvb1BhcmVudCgpCi0g
IH0pOwotT2JqZWN0LmRlZmluZVByb3BlcnR5KHdpbmRvdy5Gb28ucHJvdG90eXBlLCAiY29uc3Ry
dWN0b3IiLCB7Ci0gICAgZW51bWVyYWJsZTogZmFsc2UsCi0gICAgd3JpdGFibGU6IHRydWUsCi0g
ICAgY29uZmlndXJhYmxlOiB0cnVlLAotICAgIHZhbHVlOiB3aW5kb3cuRm9vCi0gIH0pOwotRm9v
Ll9fcHJvdG9fXyA9IEZvb1BhcmVudDsKLUZvby5wcm90b3R5cGVbU3ltYm9sLnRvU3RyaW5nVGFn
XSA9ICJGb28iOwotCi12YXIgaWRsQXJyYXkgPSBuZXcgSWRsQXJyYXkoKTsKLWlkbEFycmF5LmFk
ZF91bnRlc3RlZF9pZGxzKCJpbnRlcmZhY2UgRm9vUGFyZW50IHt9OyIpOwotaWRsQXJyYXkuYWRk
X2lkbHMoCi0gICAgIltDb25zdHJ1Y3RvcigpXVxuIiArCi0gICAgImludGVyZmFjZSBGb28gOiBG
b29QYXJlbnQge307IgotICApOwotaWRsQXJyYXkuYWRkX29iamVjdHMoewotICBGb286IFsibmV3
IEZvbygpIl0sCi0gIEZvb1BhcmVudDogWyJuZXcgRm9vUGFyZW50KCkiXQotfSk7Ci1pZGxBcnJh
eS50ZXN0KCk7Ci08L3NjcmlwdD4KLTxzY3JpcHQgdHlwZT0idGV4dC9qc29uIiBpZD0iZXhwZWN0
ZWQiPgotewotICAic3VtbWFyaXplZF9zdGF0dXMiOiB7Ci0gICAgInN0YXR1c19zdHJpbmciOiAi
T0siLAotICAgICJtZXNzYWdlIjogbnVsbAotICB9LAotICAic3VtbWFyaXplZF90ZXN0cyI6IFsK
LSAgICB7Ci0gICAgICAibmFtZSI6ICJGb28gaW50ZXJmYWNlIG9iamVjdCBsZW5ndGgiLAotICAg
ICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAg
ICAgIm1lc3NhZ2UiOiBudWxsCi0gICAgfSwKLSAgICB7Ci0gICAgICAibmFtZSI6ICJGb28gaW50
ZXJmYWNlIG9iamVjdCBuYW1lIiwKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAg
ICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogbnVsbAotICAgIH0sCi0gICAg
ewotICAgICAgIm5hbWUiOiAiRm9vIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVz
IG9mIGludGVyZmFjZSBvYmplY3QiLAotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0g
ICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsCi0gICAgfSwKLSAg
ICB7Ci0gICAgICAibmFtZSI6ICJGb28gaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRp
ZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QiLAotICAgICAgInN0YXR1c19zdHJpbmci
OiAiUEFTUyIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxs
Ci0gICAgfSwKLSAgICB7Ci0gICAgICAibmFtZSI6ICJGb28gaW50ZXJmYWNlOiBleGlzdGVuY2Ug
YW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyBcImNvbnN0cnVj
dG9yXCIgcHJvcGVydHkiLAotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAi
cHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsCi0gICAgfSwKLSAgICB7Ci0g
ICAgICAibmFtZSI6ICJGb28gaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2Yg
aW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyBAQHVuc2NvcGFibGVzIHByb3BlcnR5IiwKLSAg
ICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAg
ICAgICJtZXNzYWdlIjogbnVsbAotICAgIH0sCi0gICAgewotICAgICAgIm5hbWUiOiAiRm9vIG11
c3QgYmUgcHJpbWFyeSBpbnRlcmZhY2Ugb2YgbmV3IEZvbygpIiwKLSAgICAgICJzdGF0dXNfc3Ry
aW5nIjogIlBBU1MiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjog
bnVsbAotICAgIH0sCi0gICAgewotICAgICAgIm5hbWUiOiAiU3RyaW5naWZpY2F0aW9uIG9mIG5l
dyBGb28oKSIsCi0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJwcm9wZXJ0
aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6IG51bGwKLSAgICB9Ci0gIF0sCi0gICJ0eXBlIjog
ImNvbXBsZXRlIgotfQotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0
L3Rlc3RzL2Z1bmN0aW9uYWwvaWRsaGFybmVzcy9JZGxJbnRlcmZhY2UvdGVzdF90b19qc29uX29w
ZXJhdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFsL2lkbGhhcm5lc3MvSWRsSW50ZXJmYWNl
L3Rlc3RfdG9fanNvbl9vcGVyYXRpb24uaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMTYyZGUzMTk2MzQuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC9pZGxo
YXJuZXNzL0lkbEludGVyZmFjZS90ZXN0X3RvX2pzb25fb3BlcmF0aW9uLmh0bWwKKysrIC9kZXYv
bnVsbApAQCAtMSwxODAgKzAsMCBAQAotPCFET0NUWVBFIEhUTUw+Ci08aHRtbD4KLTxoZWFkPgot
ICA8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Ci0gIDxtZXRhIG5hbWU9InZhcmlhbnQiIGNvbnRlbnQ9
IiI+Ci0gIDxtZXRhIG5hbWU9InZhcmlhbnQiIGNvbnRlbnQ9Ij9rZWVwLXByb21pc2UiPgotICA8
dGl0bGU+SWRsSW50ZXJmYWNlLnByb3RvdHlwZS50ZXN0X3RvX2pzb25fb3BlcmF0aW9uKCk8L3Rp
dGxlPgotICA8c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vdmFyaWFudHMuanMiPjwvc2NyaXB0Pgot
ICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci0gIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLSAg
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvV2ViSURMUGFyc2VyLmpzIj48L3NjcmlwdD4KLSAgPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvaWRsaGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci0gIDxzY3JpcHQg
c3JjPSIuLi8uLi8uLi8uLi9pZGwtaGVscGVyLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5
PgotPHNjcmlwdD4KLSAgICAidXNlIHN0cmljdCI7Ci0gICAgZnVuY3Rpb24gd3JhcChtZW1iZXIs
IG9iaikgewotICAgICAgICBmdW5jdGlvbiBGKG9iaikgewotICAgICAgICAgICAgdGhpcy5fb2Jq
ID0gb2JqOwotICAgICAgICB9Ci0KLSAgICAgICAgRi5wcm90b3R5cGUudG9KU09OID0gZnVuY3Rp
b24oKSB7Ci0gICAgICAgICAgICByZXR1cm4gdGhpcy5fb2JqOwotICAgICAgICB9Ci0gICAgICAg
IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShGLCAnbmFtZScsIHsgdmFsdWU6IG1lbWJlci5uYW1lIH0p
OwotICAgICAgICByZXR1cm4gbmV3IEYob2JqKTsKLSAgICB9Ci0KLSAgICB2YXIgaSwgb2JqOwot
ICAgIGkgPSBpbnRlcmZhY2VGcm9tKCJpbnRlcmZhY2UgQSB7IFtEZWZhdWx0XSBvYmplY3QgdG9K
U09OKCk7IGF0dHJpYnV0ZSBsb25nIGZvbzsgfTsiKTsKLSAgICBpLnRlc3RfdG9fanNvbl9vcGVy
YXRpb24oIm9iamVjdCIsIHdyYXAoaSwgeyBmb286IDEyMyB9KSwgaS5tZW1iZXJzWzBdKTsKLQot
ICAgIC8vIHNob3VsZCBmYWlsICh3cm9uZyB0eXBlKQotICAgIGkgPSBpbnRlcmZhY2VGcm9tKCJp
bnRlcmZhY2UgQiB7IFtEZWZhdWx0XSBvYmplY3QgdG9KU09OKCk7IGF0dHJpYnV0ZSBsb25nIGZv
bzsgfTsiKTsKLSAgICBpLnRlc3RfdG9fanNvbl9vcGVyYXRpb24oIm9iamVjdCIsIHdyYXAoaSwg
eyBmb286ICJhIHZhbHVlIiB9KSwgaS5tZW1iZXJzWzBdKTsKLQotICAgIC8vIHNob3VsZCBoYW5k
bGUgZXh0cmFuZW91cyBhdHRyaWJ1dGVzIChlLmcuIGZyb20gYW4gZXh0ZW5zaW9uIHNwZWNpZmlj
YXRpb24pCi0gICAgaSA9IGludGVyZmFjZUZyb20oImludGVyZmFjZSBDIHsgW0RlZmF1bHRdIG9i
amVjdCB0b0pTT04oKTsgYXR0cmlidXRlIGxvbmcgZm9vOyB9OyIpOwotICAgIGkudGVzdF90b19q
c29uX29wZXJhdGlvbigib2JqZWN0Iiwgd3JhcChpLCB7IGZvbzogMTIzLCBiYXI6IDQ1NiB9KSwg
aS5tZW1iZXJzWzBdKTsKLQotICAgIC8vIHNob3VsZCBmYWlsIChtaXNzaW5nIHByb3BlcnR5KQot
ICAgIGkgPSBpbnRlcmZhY2VGcm9tKCJpbnRlcmZhY2UgRCB7IFtEZWZhdWx0XSBvYmplY3QgdG9K
U09OKCk7IGF0dHJpYnV0ZSBsb25nIGZvbzsgfTsiKTsKLSAgICBpLnRlc3RfdG9fanNvbl9vcGVy
YXRpb24oIm9iamVjdCIsIHdyYXAoaSwgeyB9KSwgaS5tZW1iZXJzWzBdKTsKLQotICAgIC8vIHNo
b3VsZCBmYWlsIChzaG91bGQgYmUgd3JpdGFibGUpCi0gICAgb2JqID0gT2JqZWN0LmRlZmluZVBy
b3BlcnRpZXMoe30sIHsgZm9vOiB7Ci0gICAgICAgIHdyaXRhYmxlOiBmYWxzZSwKLSAgICAgICAg
ZW51bWVyYWJsZTogdHJ1ZSwKLSAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLAotICAgICAgICB2
YWx1ZTogMTIzCi0gICAgfX0pOwotICAgIGkgPSBpbnRlcmZhY2VGcm9tKCJpbnRlcmZhY2UgRiB7
IFtEZWZhdWx0XSBvYmplY3QgdG9KU09OKCk7IGF0dHJpYnV0ZSBsb25nIGZvbzsgfTsiKTsKLSAg
ICBpLnRlc3RfdG9fanNvbl9vcGVyYXRpb24oIm9iamVjdCIsIHdyYXAoaSwgb2JqKSwgaS5tZW1i
ZXJzWzBdKTsKLQotICAgIC8vIHNob3VsZCBmYWlsIChzaG91bGQgYmUgZW51bWVyYWJsZSkKLSAg
ICBvYmogPSBPYmplY3QuZGVmaW5lUHJvcGVydGllcyh7fSwgeyBmb286IHsKLSAgICAgICAgd3Jp
dGFibGU6IHRydWUsCi0gICAgICAgIGVudW1lcmFibGU6IGZhbHNlLAotICAgICAgICBjb25maWd1
cmFibGU6IHRydWUsCi0gICAgICAgIHZhbHVlOiAxMjMKLSAgICB9fSk7Ci0gICAgaSA9IGludGVy
ZmFjZUZyb20oImludGVyZmFjZSBHIHsgW0RlZmF1bHRdIG9iamVjdCB0b0pTT04oKTsgYXR0cmli
dXRlIGxvbmcgZm9vOyB9OyIpOwotICAgIGkudGVzdF90b19qc29uX29wZXJhdGlvbigib2JqZWN0
Iiwgd3JhcChpLCBvYmopLCBpLm1lbWJlcnNbMF0pOwotCi0gICAgLy8gc2hvdWxkIGZhaWwgKHNo
b3VsZCBiZSBjb25maWd1cmFibGUpCi0gICAgb2JqID0gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMo
e30sIHsgZm9vOiB7Ci0gICAgICAgIHdyaXRhYmxlOiB0cnVlLAotICAgICAgICBlbnVtZXJhYmxl
OiB0cnVlLAotICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlLAotICAgICAgICB2YWx1ZTogMTIz
Ci0gICAgfX0pOwotICAgIGkgPSBpbnRlcmZhY2VGcm9tKCJpbnRlcmZhY2UgSCB7IFtEZWZhdWx0
XSBvYmplY3QgdG9KU09OKCk7IGF0dHJpYnV0ZSBsb25nIGZvbzsgfTsiKTsKLSAgICBpLnRlc3Rf
dG9fanNvbl9vcGVyYXRpb24oIm9iamVjdCIsIHdyYXAoaSwgb2JqKSwgaS5tZW1iZXJzWzBdKTsK
LQotICAgIHZhciBpZGwgPSBuZXcgSWRsQXJyYXkoKTsKLSAgICBpZGwuYWRkX2lkbHMoImludGVy
ZmFjZSBJIDogSiB7IFtEZWZhdWx0XSBvYmplY3QgdG9KU09OKCk7IGF0dHJpYnV0ZSBsb25nIGZv
bzsgfTsiKTsKLSAgICBpZGwuYWRkX2lkbHMoImludGVyZmFjZSBKIHsgW0RlZmF1bHRdIG9iamVj
dCB0b0pTT04oKTsgYXR0cmlidXRlIERPTVN0cmluZyBmb287fTsiKTsKLSAgICB2YXIgaSA9IGlk
bC5tZW1iZXJzLkk7Ci0gICAgaS50ZXN0X3RvX2pzb25fb3BlcmF0aW9uKCJvYmplY3QiLCB3cmFw
KGksIHsgZm9vOiAxMjMgfSksIGkubWVtYmVyc1swXSk7Ci0KLSAgICBpID0gaW50ZXJmYWNlRnJv
bSgiaW50ZXJmYWNlIEsgeyBbRGVmYXVsdF0gb2JqZWN0IHRvSlNPTigpOyB9OyIpOwotICAgIGku
dGVzdF90b19qc29uX29wZXJhdGlvbigib2JqZWN0Iiwgd3JhcChpLCB7fSksIGkubWVtYmVyc1sw
XSk7Ci0KLSAgICBpID0gaW50ZXJmYWNlRnJvbSgiaW50ZXJmYWNlIEwgeyBET01TdHJpbmcgdG9K
U09OKCk7IH07Iik7Ci0gICAgaS50ZXN0X3RvX2pzb25fb3BlcmF0aW9uKCJvYmplY3QiLCB3cmFw
KGksICJhIHN0cmluZyIpLCBpLm1lbWJlcnNbMF0pOwotCi0gICAgLy8gc2hvdWxkIGZhaWwgKHdy
b25nIG91dHB1dCB0eXBlKQotICAgIGkgPSBpbnRlcmZhY2VGcm9tKCJpbnRlcmZhY2UgTSB7IERP
TVN0cmluZyB0b0pTT04oKTsgfTsiKTsKLSAgICBpLnRlc3RfdG9fanNvbl9vcGVyYXRpb24oIm9i
amVjdCIsIHdyYXAoaSwge30pLCBpLm1lbWJlcnNbMF0pOwotCi0gICAgLy8gc2hvdWxkIGZhaWwg
KG5vdCBhbiBJREwgdHlwZSkKLSAgICBpID0gaW50ZXJmYWNlRnJvbSgiaW50ZXJmYWNlIE4geyBE
T01FeGNlcHRpb24gdG9KU09OKCk7IH07Iik7Ci0gICAgaS50ZXN0X3RvX2pzb25fb3BlcmF0aW9u
KCJvYmplY3QiLCB3cmFwKGksIHt9KSwgaS5tZW1iZXJzWzBdKTsKLTwvc2NyaXB0PgotPHNjcmlw
dCB0eXBlPSJ0ZXh0L2pzb24iIGlkPSJleHBlY3RlZCI+Ci0gICAgewotICAgICAgICAic3VtbWFy
aXplZF9zdGF0dXMiOiB7Ci0gICAgICAgICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAgICAg
ICAic3RhdHVzX3N0cmluZyI6ICJPSyIKLSAgICAgICAgfSwKLSAgICAgICAgInN1bW1hcml6ZWRf
dGVzdHMiOiBbCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgIm1lc3NhZ2UiOiBudWxs
LAotICAgICAgICAgICAgICAgICJuYW1lIjogIkEgaW50ZXJmYWNlOiBkZWZhdWx0IHRvSlNPTiBv
cGVyYXRpb24gb24gb2JqZWN0IiwKLSAgICAgICAgICAgICAgICAicHJvcGVydGllcyI6IHt9LAot
ICAgICAgICAgICAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiCi0gICAgICAgICAgICB9LAot
ICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJtZXNzYWdlIjogImFzc2VydF9lcXVhbHM6
IGV4cGVjdGVkIFwibnVtYmVyXCIgYnV0IGdvdCBcInN0cmluZ1wiIiwKLSAgICAgICAgICAgICAg
ICAibmFtZSI6ICJCIGludGVyZmFjZTogZGVmYXVsdCB0b0pTT04gb3BlcmF0aW9uIG9uIG9iamVj
dCIsCi0gICAgICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICAgICAgICAgICAi
c3RhdHVzX3N0cmluZyI6ICJGQUlMIgotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAg
ICAgICAgICAgICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAi
QyBpbnRlcmZhY2U6IGRlZmF1bHQgdG9KU09OIG9wZXJhdGlvbiBvbiBvYmplY3QiLAotICAgICAg
ICAgICAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAgICAgICAgICAgInN0YXR1c19zdHJp
bmciOiAiUEFTUyIKLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAg
ICAgIm1lc3NhZ2UiOiAiYXNzZXJ0X3RydWU6IHByb3BlcnR5IFwiZm9vXCIgc2hvdWxkIGJlIHBy
ZXNlbnQgaW4gdGhlIG91dHB1dCBvZiBELnByb3RvdHlwZS50b0pTT04oKSBleHBlY3RlZCB0cnVl
IGdvdCBmYWxzZSIsCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiRCBpbnRlcmZhY2U6IGRlZmF1
bHQgdG9KU09OIG9wZXJhdGlvbiBvbiBvYmplY3QiLAotICAgICAgICAgICAgICAgICJwcm9wZXJ0
aWVzIjoge30sCi0gICAgICAgICAgICAgICAgInN0YXR1c19zdHJpbmciOiAiRkFJTCIKLSAgICAg
ICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgIm1lc3NhZ2UiOiAiYXNz
ZXJ0X3RydWU6IHByb3BlcnR5IGZvbyBzaG91bGQgYmUgd3JpdGFibGUgZXhwZWN0ZWQgdHJ1ZSBn
b3QgZmFsc2UiLAotICAgICAgICAgICAgICAgICJuYW1lIjogIkYgaW50ZXJmYWNlOiBkZWZhdWx0
IHRvSlNPTiBvcGVyYXRpb24gb24gb2JqZWN0IiwKLSAgICAgICAgICAgICAgICAicHJvcGVydGll
cyI6IHt9LAotICAgICAgICAgICAgICAgICJzdGF0dXNfc3RyaW5nIjogIkZBSUwiCi0gICAgICAg
ICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJtZXNzYWdlIjogImFzc2Vy
dF90cnVlOiBwcm9wZXJ0eSBmb28gc2hvdWxkIGJlIGVudW1lcmFibGUgZXhwZWN0ZWQgdHJ1ZSBn
b3QgZmFsc2UiLAotICAgICAgICAgICAgICAgICJuYW1lIjogIkcgaW50ZXJmYWNlOiBkZWZhdWx0
IHRvSlNPTiBvcGVyYXRpb24gb24gb2JqZWN0IiwKLSAgICAgICAgICAgICAgICAicHJvcGVydGll
cyI6IHt9LAotICAgICAgICAgICAgICAgICJzdGF0dXNfc3RyaW5nIjogIkZBSUwiCi0gICAgICAg
ICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJtZXNzYWdlIjogImFzc2Vy
dF90cnVlOiBwcm9wZXJ0eSBmb28gc2hvdWxkIGJlIGNvbmZpZ3VyYWJsZSBleHBlY3RlZCB0cnVl
IGdvdCBmYWxzZSIsCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiSCBpbnRlcmZhY2U6IGRlZmF1
bHQgdG9KU09OIG9wZXJhdGlvbiBvbiBvYmplY3QiLAotICAgICAgICAgICAgICAgICJwcm9wZXJ0
aWVzIjoge30sCi0gICAgICAgICAgICAgICAgInN0YXR1c19zdHJpbmciOiAiRkFJTCIKLSAgICAg
ICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgIm1lc3NhZ2UiOiBudWxs
LAotICAgICAgICAgICAgICAgICJuYW1lIjogIkkgaW50ZXJmYWNlOiBkZWZhdWx0IHRvSlNPTiBv
cGVyYXRpb24gb24gb2JqZWN0IiwKLSAgICAgICAgICAgICAgICAicHJvcGVydGllcyI6IHt9LAot
ICAgICAgICAgICAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiCi0gICAgICAgICAgICB9LAot
ICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICAg
ICAgICAgICAibmFtZSI6ICJLIGludGVyZmFjZTogZGVmYXVsdCB0b0pTT04gb3BlcmF0aW9uIG9u
IG9iamVjdCIsCi0gICAgICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICAgICAg
ICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIgotICAgICAgICAgICAgfSwKLSAgICAgICAgICAg
IHsKLSAgICAgICAgICAgICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAgICAgICAgICAgIm5h
bWUiOiAiTCBpbnRlcmZhY2U6IHRvSlNPTiBvcGVyYXRpb24gb24gb2JqZWN0IiwKLSAgICAgICAg
ICAgICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgICAgICAgICAgICJzdGF0dXNfc3RyaW5n
IjogIlBBU1MiCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAg
ICJtZXNzYWdlIjogImFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIFwic3RyaW5nXCIgYnV0IGdvdCBc
Im9iamVjdFwiIiwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJNIGludGVyZmFjZTogdG9KU09O
IG9wZXJhdGlvbiBvbiBvYmplY3QiLAotICAgICAgICAgICAgICAgICJwcm9wZXJ0aWVzIjoge30s
Ci0gICAgICAgICAgICAgICAgInN0YXR1c19zdHJpbmciOiAiRkFJTCIKLSAgICAgICAgICAgIH0s
Ci0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgIm1lc3NhZ2UiOiAiYXNzZXJ0X3RydWU6
IHtcInR5cGVcIjpcInJldHVybi10eXBlXCIsXCJleHRBdHRyc1wiOltdLFwiZ2VuZXJpY1wiOlwi
XCIsXCJudWxsYWJsZVwiOmZhbHNlLFwidW5pb25cIjpmYWxzZSxcImlkbFR5cGVcIjpcIkRPTUV4
Y2VwdGlvblwifSBpcyBub3QgYW4gYXBwcm9wcmlhdGUgcmV0dXJuIHZhbHVlIGZvciB0aGUgdG9K
U09OIG9wZXJhdGlvbiBvZiBOIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlIiwKLSAgICAgICAgICAg
ICAgICAibmFtZSI6ICJOIGludGVyZmFjZTogdG9KU09OIG9wZXJhdGlvbiBvbiBvYmplY3QiLAot
ICAgICAgICAgICAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAgICAgICAgICAgInN0YXR1
c19zdHJpbmciOiAiRkFJTCIKLSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgInR5
cGUiOiAiY29tcGxldGUiCi0gICAgfQotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvaWRsaGFybmVzcy9JZGxJbnRlcmZhY2UvdzNjLWlt
cG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvaWRsaGFybmVzcy9JZGxJbnRlcmZhY2UvdzNj
LWltcG9ydC5sb2cKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGFhOWNhODNmODlkLi4w
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvaWRsaGFybmVzcy9JZGxJbnRlcmZh
Y2UvdzNjLWltcG9ydC5sb2cKKysrIC9kZXYvbnVsbApAQCAtMSwyMSArMCwwIEBACi1UaGUgdGVz
dHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9y
eS4KLURvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVh
ZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0
aHViLmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0Ci0KLVRoZW4gcnVuIHRoZSBUb29scy9TY3Jp
cHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0Ci0KLURvIE5PVCBtb2Rp
Znkgb3IgcmVtb3ZlIHRoaXMgZmlsZS4KLQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1Qcm9wZXJ0aWVzIHJl
cXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6Ci1Ob25lCi1Qcm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5n
IHZlbmRvciBwcmVmaXhlczoKLU5vbmUKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotTGlzdCBvZiBmaWxlczoK
LS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90
ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvaWRsaGFybmVzcy9JZGxJbnRlcmZhY2UvdGVzdF9pbW11dGFi
bGVfcHJvdG90eXBlLmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvaWRsaGFybmVzcy9JZGxJbnRl
cmZhY2UvdGVzdF9pbnRlcmZhY2VfbWl4aW4uaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC9pZGxo
YXJuZXNzL0lkbEludGVyZmFjZS90ZXN0X3BhcnRpYWxfaW50ZXJmYWNlX29mLmh0bWwKLS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rl
c3RzL2Z1bmN0aW9uYWwvaWRsaGFybmVzcy9JZGxJbnRlcmZhY2UvdGVzdF9wcmltYXJ5X2ludGVy
ZmFjZV9vZi5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFsL2lkbGhhcm5lc3MvSWRsSW50ZXJmYWNl
L3Rlc3RfdG9fanNvbl9vcGVyYXRpb24uaHRtbApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlv
bmFsL2lkbGhhcm5lc3MvSWRsTmFtZXNwYWNlL3Rlc3RfYXR0cmlidXRlLmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3Rz
L2Z1bmN0aW9uYWwvaWRsaGFybmVzcy9JZGxOYW1lc3BhY2UvdGVzdF9hdHRyaWJ1dGUuaHRtbApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOGMxZjUxNzIxNjUuLjAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC9pZGxoYXJuZXNzL0lkbE5hbWVzcGFjZS90ZXN0X2F0dHJp
YnV0ZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNTUgKzAsMCBAQAotPCFET0NUWVBFIEhUTUw+
Ci08aHRtbD4KLTxoZWFkPgotICA8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Ci0gIDxtZXRhIG5hbWU9
InZhcmlhbnQiIGNvbnRlbnQ9IiI+Ci0gIDxtZXRhIG5hbWU9InZhcmlhbnQiIGNvbnRlbnQ9Ij9r
ZWVwLXByb21pc2UiPgotICA8dGl0bGU+aWRsaGFybmVzczogbmFtZXNwYWNlIGF0dHJpYnV0ZTwv
dGl0bGU+Ci0gIDxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi92YXJpYW50cy5qcyI+PC9zY3JpcHQ+
Ci0gIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLSAg
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgot
ICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9XZWJJRExQYXJzZXIuanMiPjwvc2NyaXB0PgotICA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9pZGxoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4K
LTxib2R5PgotPHA+VmVyaWZ5IHRoZSBzZXJpZXMgb2Ygc3ViLXRlc3RzIHRoYXQgYXJlIGV4ZWN1
dGVkIGZvciBuYW1lc3BhY2UgYXR0cmlidXRlcy48L3A+Ci08c2NyaXB0PgotInVzZSBzdHJpY3Qi
OwotCi1zZWxmLmZvbyA9IHsKLSAgdHJ1dGg6IHRydWUKLX07Ci0KLXZhciBpZGxBcnJheSA9IG5l
dyBJZGxBcnJheSgpOwotaWRsQXJyYXkuYWRkX2lkbHMoCi1gbmFtZXNwYWNlIGZvbyB7Ci0gIHJl
YWRvbmx5IGF0dHJpYnV0ZSBib29sIHRydXRoOwotICByZWFkb25seSBhdHRyaWJ1dGUgYm9vbCBs
aWVzOwotfTtgKTsKLWlkbEFycmF5LnRlc3QoKTsKLTwvc2NyaXB0PgotPHNjcmlwdCB0eXBlPSJ0
ZXh0L2pzb24iIGlkPSJleHBlY3RlZCI+Ci17Ci0gICJzdW1tYXJpemVkX3N0YXR1cyI6IHsKLSAg
ICAic3RhdHVzX3N0cmluZyI6ICJPSyIsCi0gICAgIm1lc3NhZ2UiOiBudWxsCi0gIH0sCi0gICJz
dW1tYXJpemVkX3Rlc3RzIjogWwotICAgIHsKLSAgICAgICJuYW1lIjogImZvbyBuYW1lc3BhY2U6
IGF0dHJpYnV0ZSB0cnV0aCIsCi0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAg
ICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6IG51bGwKLSAgICB9LAotICAgIHsK
LSAgICAgICJuYW1lIjogImZvbyBuYW1lc3BhY2U6IGF0dHJpYnV0ZSBsaWVzIiwKLSAgICAgICJz
dGF0dXNfc3RyaW5nIjogIkZBSUwiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJt
ZXNzYWdlIjogImFzc2VydF9vd25fcHJvcGVydHk6IGZvbyBkb2VzIG5vdCBoYXZlIHByb3BlcnR5
IFwibGllc1wiIGV4cGVjdGVkIHByb3BlcnR5IFwibGllc1wiIG1pc3NpbmciCi0gICAgfQotICBd
LAotICAidHlwZSI6ICJjb21wbGV0ZSIKLX0KLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFsL2lkbGhhcm5lc3MvSWRsTmFtZXNwYWNlL3Rl
c3Rfb3BlcmF0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvaWRsaGFybmVzcy9JZGxOYW1l
c3BhY2UvdGVzdF9vcGVyYXRpb24uaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
NjcxY2Q5ZTA5ZjUuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC9pZGxoYXJu
ZXNzL0lkbE5hbWVzcGFjZS90ZXN0X29wZXJhdGlvbi5odG1sCisrKyAvZGV2L251bGwKQEAgLTEs
OTkgKzAsMCBAQAotPCFET0NUWVBFIEhUTUw+Ci08aHRtbD4KLTxoZWFkPgotICA8bWV0YSBjaGFy
c2V0PSJ1dGYtOCI+Ci0gIDxtZXRhIG5hbWU9InZhcmlhbnQiIGNvbnRlbnQ9IiI+Ci0gIDxtZXRh
IG5hbWU9InZhcmlhbnQiIGNvbnRlbnQ9Ij9rZWVwLXByb21pc2UiPgotICA8dGl0bGU+aWRsaGFy
bmVzczogbmFtZXNwYWNlIG9wZXJhdGlvbjwvdGl0bGU+Ci0gIDxzY3JpcHQgc3JjPSIuLi8uLi8u
Li8uLi92YXJpYW50cy5qcyI+PC9zY3JpcHQ+Ci0gIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLSAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9XZWJJ
RExQYXJzZXIuanMiPjwvc2NyaXB0PgotICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9pZGxoYXJu
ZXNzLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPHA+VmVyaWZ5IHRoZSBzZXJpZXMg
b2Ygc3ViLXRlc3RzIHRoYXQgYXJlIGV4ZWN1dGVkIGZvciBuYW1lc3BhY2Ugb3BlcmF0aW9ucy48
L3A+Ci08c2NyaXB0PgotInVzZSBzdHJpY3QiOwotCi1zZWxmLmZvbyA9IHsKLSAgVHJ1dGg6IGZ1
bmN0aW9uKCkge30sCi19OwotT2JqZWN0LmRlZmluZVByb3BlcnR5KHNlbGYuZm9vLCAiVHJ1dGgi
LCB7IHdyaXRhYmxlOiB0cnVlIH0pOwotCi1zZWxmLmJhciA9IHsKLSAgVHJ1dGg6IGZ1bmN0aW9u
KCkge30sCi19Ci1PYmplY3QuZGVmaW5lUHJvcGVydHkoc2VsZi5iYXIsICJUcnV0aCIsIHsKLSAg
d3JpdGFibGU6IGZhbHNlLAotICBjb25maWd1cmFibGU6IGZhbHNlLAotfSk7Ci0KLXNlbGYuYmF6
ID0gewotICBMb25nU3Rvcnk6IGZ1bmN0aW9uKGhlcm8sIC4uLmRldGFpbHMpIHsKLSAgICByZXR1
cm4gYCR7aGVyb30gd2VudCBhbmQgJHtkZXRhaWxzLmpvaW4oJywgdGhlbicpfWAKLSAgfSwKLSAg
U2hvcnRTdG9yeTogZnVuY3Rpb24oLi4uZGV0YWlscykgewotICAgIHJldHVybiBgJHtkZXRhaWxz
LmpvaW4oJy4gJyl9YDsKLSAgfSwKLX07Ci0KLXZhciBpZGxBcnJheSA9IG5ldyBJZGxBcnJheSgp
OwotaWRsQXJyYXkuYWRkX2lkbHMoCi1gbmFtZXNwYWNlIGZvbyB7Ci0gIHZvaWQgVHJ1dGgoKTsK
LSAgdm9pZCBMaWVzKCk7Ci19OwotbmFtZXNwYWNlIGJhciB7Ci0gIFtVbmZvcmdlYWJsZV0KLSAg
dm9pZCBUcnV0aCgpOwotfTsKLW5hbWVzcGFjZSBiYXogewotICBET01TdHJpbmcgTG9uZ1N0b3J5
KGFueSBoZXJvLCBET01TdHJpbmcuLi4gZGV0YWlscyk7Ci0gIERPTVN0cmluZyBTaG9ydFN0b3J5
KERPTVN0cmluZy4uLiBkZXRhaWxzKTsKLX07YCk7Ci1pZGxBcnJheS50ZXN0KCk7Ci08L3Njcmlw
dD4KLTxzY3JpcHQgdHlwZT0idGV4dC9qc29uIiBpZD0iZXhwZWN0ZWQiPgotewotICAic3VtbWFy
aXplZF9zdGF0dXMiOiB7Ci0gICAgInN0YXR1c19zdHJpbmciOiAiT0siLAotICAgICJtZXNzYWdl
IjogbnVsbAotICB9LAotICAic3VtbWFyaXplZF90ZXN0cyI6IFsKLSAgICB7Ci0gICAgICAibmFt
ZSI6ICJiYXIgbmFtZXNwYWNlOiBvcGVyYXRpb24gVHJ1dGgoKSIsCi0gICAgICAic3RhdHVzX3N0
cmluZyI6ICJQQVNTIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6
IG51bGwKLSAgICB9LAotICAgIHsKLSAgICAgICJuYW1lIjogImJheiBuYW1lc3BhY2U6IG9wZXJh
dGlvbiBMb25nU3RvcnkoYW55LCBET01TdHJpbmcuLi4pIiwKLSAgICAgICJzdGF0dXNfc3RyaW5n
IjogIlBBU1MiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogbnVs
bAotICAgIH0sCi0gICAgewotICAgICAgIm5hbWUiOiAiYmF6IG5hbWVzcGFjZTogb3BlcmF0aW9u
IFNob3J0U3RvcnkoRE9NU3RyaW5nLi4uKSIsCi0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNT
IiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6IG51bGwKLSAgICB9
LAotICAgIHsKLSAgICAgICJuYW1lIjogImZvbyBuYW1lc3BhY2U6IG9wZXJhdGlvbiBUcnV0aCgp
IiwKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgInByb3BlcnRpZXMiOiB7
fSwKLSAgICAgICJtZXNzYWdlIjogbnVsbAotICAgIH0sCi0gICAgewotICAgICAgIm5hbWUiOiAi
Zm9vIG5hbWVzcGFjZTogb3BlcmF0aW9uIExpZXMoKSIsCi0gICAgICAic3RhdHVzX3N0cmluZyI6
ICJGQUlMIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6ICJhc3Nl
cnRfb3duX3Byb3BlcnR5OiBuYW1lc3BhY2Ugb2JqZWN0IG1pc3Npbmcgb3BlcmF0aW9uIFwiTGll
c1wiIGV4cGVjdGVkIHByb3BlcnR5IFwiTGllc1wiIG1pc3NpbmciCi0gICAgfQotICBdLAotICAi
dHlwZSI6ICJjb21wbGV0ZSIKLX0KLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFsL2lkbGhhcm5lc3MvSWRsTmFtZXNwYWNlL3Rlc3RfcGFy
dGlhbF9uYW1lc3BhY2UuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC9pZGxoYXJuZXNzL0lkbE5h
bWVzcGFjZS90ZXN0X3BhcnRpYWxfbmFtZXNwYWNlLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IGMzMjdhOGIwMDFkLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9u
YWwvaWRsaGFybmVzcy9JZGxOYW1lc3BhY2UvdGVzdF9wYXJ0aWFsX25hbWVzcGFjZS5odG1sCisr
KyAvZGV2L251bGwKQEAgLTEsMTI4ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci0K
LTxoZWFkPgotICA8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Ci0gIDxtZXRhIG5hbWU9InZhcmlhbnQi
IGNvbnRlbnQ9IiI+Ci0gIDxtZXRhIG5hbWU9InZhcmlhbnQiIGNvbnRlbnQ9Ij9rZWVwLXByb21p
c2UiPgotICA8dGl0bGU+aWRsaGFybmVzczogUGFydGlhbCBuYW1lc3BhY2U8L3RpdGxlPgotICA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0L3ZhcmlhbnRzLmpzIj48L3NjcmlwdD4KLSAgPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotICA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci0gIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL1dlYklETFBhcnNlci5qcyI+PC9zY3JpcHQ+Ci0gIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL2lkbGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotCi08Ym9k
eT4KLSAgPHA+VmVyaWZ5IHRoZSBzZXJpZXMgb2Ygc3ViLXRlc3RzIHRoYXQgYXJlIGV4ZWN1dGVk
IGZvciAicGFydGlhbCIgbmFtZXNwYWNlIG9iamVjdHMuPC9wPgotICA8c2NyaXB0PgotICAgICJ1
c2Ugc3RyaWN0IjsKLQotICAgIC8vIE5vIG9yaWdpbmFsIGV4aXN0ZW5jZQotICAgICgoKSA9PiB7
Ci0gICAgICBjb25zdCBpZGxBcnJheSA9IG5ldyBJZGxBcnJheSgpOwotICAgICAgaWRsQXJyYXku
YWRkX2lkbHMoJ3BhcnRpYWwgbmFtZXNwYWNlIEEge307Jyk7Ci0gICAgICBpZGxBcnJheS50ZXN0
KCk7Ci0gICAgfSkoKTsKLQotICAgIC8vIFZhbGlkIGV4cG9zdXJlIChOb3RlOiBXb3JrZXIgLT4g
e1NoYXJlZCxEZWRpY2F0ZWQsU2VydmljZX1Xb3JrZXIpCi0gICAgKCgpID0+IHsKLSAgICAgIGNv
bnN0IGlkbEFycmF5ID0gbmV3IElkbEFycmF5KCk7Ci0gICAgICBpZGxBcnJheS5hZGRfdW50ZXN0
ZWRfaWRscyhgCi0gICAgICAgIFtFeHBvc2VkPShXb3JrZXIpXQotICAgICAgICBuYW1lc3BhY2Ug
QiB7fTsKLQotICAgICAgICBbRXhwb3NlZD0oRGVkaWNhdGVkV29ya2VyLCBTZXJ2aWNlV29ya2Vy
LCBTaGFyZWRXb3JrZXIpXQotICAgICAgICBuYW1lc3BhY2UgQyB7fTtgKTsKLSAgICAgIGlkbEFy
cmF5LmFkZF9pZGxzKGAKLSAgICAgICAgW0V4cG9zZWQ9KERlZGljYXRlZFdvcmtlciwgU2Vydmlj
ZVdvcmtlciwgU2hhcmVkV29ya2VyKV0KLSAgICAgICAgcGFydGlhbCBuYW1lc3BhY2UgQiB7fTsK
LQotICAgICAgICBbRXhwb3NlZD0oV29ya2VyKV0KLSAgICAgICAgcGFydGlhbCBuYW1lc3BhY2Ug
QyB7fTtgKTsKLSAgICAgIGlkbEFycmF5LmNvbGxhcHNlX3BhcnRpYWxzKCk7Ci0gICAgfSkoKTsK
LQotICAgIC8vIEludmFsaWQgZXhwb3N1cmUKLSAgICAoKCkgPT4gewotICAgICAgY29uc3QgaWRs
QXJyYXkgPSBuZXcgSWRsQXJyYXkoKTsKLSAgICAgIGlkbEFycmF5LmFkZF91bnRlc3RlZF9pZGxz
KGAKLSAgICAgICAgW0V4cG9zZWQ9KFdpbmRvdywgU2VydmljZVdvcmtlcildCi0gICAgICAgIG5h
bWVzcGFjZSBEIHt9O2ApOwotICAgICAgaWRsQXJyYXkuYWRkX2lkbHMoYAotICAgICAgICBbRXhw
b3NlZD0oRGVkaWNhdGVkV29ya2VyKV0KLSAgICAgICAgcGFydGlhbCBuYW1lc3BhY2UgRCB7fTtg
KTsKLSAgICAgIGlkbEFycmF5LmNvbGxhcHNlX3BhcnRpYWxzKCk7Ci0gICAgfSkoKTsKLQotICAg
IC8vIE9yaWdpbmFsIGlzIGFuIGludGVyZmFjZSwgbm90IGEgbmFtZXNwYWNlLgotICAgICgoKSA9
PiB7Ci0gICAgICBjb25zdCBpZGxBcnJheSA9IG5ldyBJZGxBcnJheSgpOwotICAgICAgaWRsQXJy
YXkuYWRkX2lkbHMoYAotICAgICAgICBwYXJ0aWFsIG5hbWVzcGFjZSBFIHt9OwotICAgICAgICBp
bnRlcmZhY2UgRSB7fTtgKTsKLSAgICAgIGlkbEFycmF5LmNvbGxhcHNlX3BhcnRpYWxzKCk7Ci0g
ICAgfSkoKTsKLSAgPC9zY3JpcHQ+Ci0gIDxzY3JpcHQgdHlwZT0idGV4dC9qc29uIiBpZD0iZXhw
ZWN0ZWQiPgotewotICAic3VtbWFyaXplZF9zdGF0dXMiOiB7Ci0gICAgInN0YXR1c19zdHJpbmci
OiAiT0siLAotICAgICJtZXNzYWdlIjogbnVsbAotICB9LAotICAic3VtbWFyaXplZF90ZXN0cyI6
IFsKLSAgICB7Ci0gICAgICAibmFtZSI6ICJQYXJ0aWFsIG5hbWVzcGFjZSBBOiBvcmlnaW5hbCBu
YW1lc3BhY2UgZGVmaW5lZCIsCi0gICAgICAic3RhdHVzX3N0cmluZyI6ICJGQUlMIiwKLSAgICAg
ICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6ICJhc3NlcnRfdHJ1ZTogT3JpZ2lu
YWwgbmFtZXNwYWNlIHNob3VsZCBiZSBkZWZpbmVkIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlIgot
ICAgIH0sCi0gICAgewotICAgICAgIm5hbWUiOiAiUGFydGlhbCBuYW1lc3BhY2UgQjogb3JpZ2lu
YWwgbmFtZXNwYWNlIGRlZmluZWQiLAotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0g
ICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsCi0gICAgfSwKLSAg
ICB7Ci0gICAgICAibmFtZSI6ICJQYXJ0aWFsIG5hbWVzcGFjZSBCOiB2YWxpZCBleHBvc3VyZSBz
ZXQiLAotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAicHJvcGVydGllcyI6
IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsCi0gICAgfSwKLSAgICB7Ci0gICAgICAibmFtZSI6
ICJQYXJ0aWFsIG5hbWVzcGFjZSBDOiBvcmlnaW5hbCBuYW1lc3BhY2UgZGVmaW5lZCIsCi0gICAg
ICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAg
ICAibWVzc2FnZSI6IG51bGwKLSAgICB9LAotICAgIHsKLSAgICAgICJuYW1lIjogIlBhcnRpYWwg
bmFtZXNwYWNlIEM6IHZhbGlkIGV4cG9zdXJlIHNldCIsCi0gICAgICAic3RhdHVzX3N0cmluZyI6
ICJQQVNTIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6IG51bGwK
LSAgICB9LAotICAgIHsKLSAgICAgICJuYW1lIjogIlBhcnRpYWwgbmFtZXNwYWNlIEQ6IG9yaWdp
bmFsIG5hbWVzcGFjZSBkZWZpbmVkIiwKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAot
ICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogbnVsbAotICAgIH0sCi0g
ICAgewotICAgICAgIm5hbWUiOiAiUGFydGlhbCBuYW1lc3BhY2UgRDogdmFsaWQgZXhwb3N1cmUg
c2V0IiwKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIkZBSUwiLAotICAgICAgInByb3BlcnRpZXMi
OiB7fSwKLSAgICAgICJtZXNzYWdlIjogIlBhcnRpYWwgRCBuYW1lc3BhY2UgaXMgZXhwb3NlZCB0
byAnRGVkaWNhdGVkV29ya2VyJywgdGhlIG9yaWdpbmFsIG5hbWVzcGFjZSBpcyBub3QuIgotICAg
IH0sCi0gICAgewotICAgICAgIm5hbWUiOiAiUGFydGlhbCBuYW1lc3BhY2UgRTogb3JpZ2luYWwg
bmFtZXNwYWNlIGRlZmluZWQiLAotICAgICAgInN0YXR1c19zdHJpbmciOiAiRkFJTCIsCi0gICAg
ICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiAiYXNzZXJ0X3RydWU6IE9yaWdp
bmFsIEUgZGVmaW5pdGlvbiBzaG91bGQgaGF2ZSB0eXBlIG5hbWVzcGFjZSBleHBlY3RlZCB0cnVl
IGdvdCBmYWxzZSIKLSAgICB9Ci0gIF0sCi0gICJ0eXBlIjogImNvbXBsZXRlIgotfQotPC9zY3Jp
cHQ+Ci08L2JvZHk+Ci0KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC9p
ZGxoYXJuZXNzL0lkbE5hbWVzcGFjZS93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25h
bC9pZGxoYXJuZXNzL0lkbE5hbWVzcGFjZS93M2MtaW1wb3J0LmxvZwpkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggZTc2OGFmZGVhNDAuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVu
Y3Rpb25hbC9pZGxoYXJuZXNzL0lkbE5hbWVzcGFjZS93M2MtaW1wb3J0LmxvZworKysgL2Rldi9u
dWxsCkBAIC0xLDE5ICswLDAgQEAKLVRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGlt
cG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgotRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0
cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24g
dGhlIFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93
cHQKLQotVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJL
aXQgdG8gcmVpbXBvcnQKLQotRG8gTk9UIG1vZGlmeSBvciByZW1vdmUgdGhpcyBmaWxlLgotCi0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0KLVByb3BlcnRpZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKLU5v
bmUKLVByb3BlcnR5IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgotTm9uZQotLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tCi1MaXN0IG9mIGZpbGVzOgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC9pZGxoYXJu
ZXNzL0lkbE5hbWVzcGFjZS90ZXN0X2F0dHJpYnV0ZS5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFs
L2lkbGhhcm5lc3MvSWRsTmFtZXNwYWNlL3Rlc3Rfb3BlcmF0aW9uLmh0bWwKLS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1
bmN0aW9uYWwvaWRsaGFybmVzcy9JZGxOYW1lc3BhY2UvdGVzdF9wYXJ0aWFsX25hbWVzcGFjZS5o
dG1sCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvaWZyYW1lLWNhbGxiYWNrLmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90
ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvaWZyYW1lLWNhbGxiYWNrLmh0bWwKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDQwMzYyOGZhOTFmLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1
bmN0aW9uYWwvaWZyYW1lLWNhbGxiYWNrLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxMTkgKzAs
MCBAQAotPCFET0NUWVBFIEhUTUw+Ci08aHRtbD4KLTxoZWFkPgotPG1ldGEgbmFtZT0idmFyaWFu
dCIgY29udGVudD0iIj4KLTxtZXRhIG5hbWU9InZhcmlhbnQiIGNvbnRlbnQ9Ij9rZWVwLXByb21p
c2UiPgotPHRpdGxlPkV4YW1wbGUgd2l0aCBpZnJhbWUgdGhhdCBub3RpZmllcyBjb250YWluaW5n
IGRvY3VtZW50IHZpYSBjYWxsYmFja3M8L3RpdGxlPgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Zhcmlh
bnRzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0ic3RhcnRfdGVzdF9pbl9pZnJhbWUo
KSI+Ci08aDE+Q2FsbGJhY2tzIEZyb20gVGVzdHMgUnVubmluZyBJbiBBbiBJRlJBTUU8L2gxPgot
PHA+QSB0ZXN0IGlzIHJ1biBpbnNpZGUgYW4gPHR0PmlmcmFtZTwvdHQ+IHdpdGggYSBzYW1lIG9y
aWdpbiBkb2N1bWVudC4gVGhlCi1jb250YWluaW5nIGRvY3VtZW50IHNob3VsZCByZWNlaXZlIGNh
bGxiYWNrcyBhcyB0aGUgdGVzdHMgcHJvZ3Jlc3MgaW5zaWRlIHRoZQotPHR0PmlmcmFtZTwvdHQ+
LiBBIHNpbmdsZSBwYXNzaW5nIHRlc3QgaXMgZXhwZWN0ZWQgaW4gdGhlIHN1bW1hcnkgYmVsb3cu
Ci08ZGl2IGlkPSJsb2ciPjwvZGl2PgotCi08c2NyaXB0PgotdmFyIGNhbGxiYWNrcyA9IFtdOwot
dmFyIFNUQVJUID0gMQotdmFyIFRFU1RfU1RBVEUgPSAyCi12YXIgUkVTVUxUID0gMwotdmFyIENP
TVBMRVRJT04gPSA0Ci12YXIgdGVzdF9jb21wbGV0ZSA9IGZhbHNlOwotCi1zZXR1cCh7ZXhwbGlj
aXRfZG9uZTogdHJ1ZX0pOwotCi0vLyBUaGUgZm9sbG93aW5nIGNhbGxiYWNrcyBhcmUgY2FsbGVk
IGZvciB0ZXN0cyBpbiB0aGlzIGRvY3VtZW50IGFzIHdlbGwgYXMgdGhlCi0vLyB0ZXN0cyBpbiB0
aGUgSUZSQU1FLiBDdXJyZW50bHksIGNhbGxiYWNrcyBpbnZva2VkIGZyb20gdGhpcyBkb2N1bWVu
dCBhbmQgYW55Ci0vLyBjaGlsZCBkb2N1bWVudCBhcmUgaW5kaXN0aW5ndWlzaGFibGUgZnJvbSBl
YWNoIG90aGVyLgotCi1mdW5jdGlvbiBzdGFydF9jYWxsYmFjayhwcm9wZXJ0aWVzKSB7Ci0gICAg
Y2FsbGJhY2tzLnB1c2goU1RBUlQpOwotfQotCi1mdW5jdGlvbiB0ZXN0X3N0YXRlX2NhbGxiYWNr
KHRlc3QpIHsKLSAgICBjYWxsYmFja3MucHVzaChURVNUX1NUQVRFKTsKLX0KLQotZnVuY3Rpb24g
cmVzdWx0X2NhbGxiYWNrKHRlc3QpIHsKLSAgICBjYWxsYmFja3MucHVzaChSRVNVTFQpOwotfQot
Ci1mdW5jdGlvbiBjb21wbGV0aW9uX2NhbGxiYWNrKHRlc3RzLCBzdGF0dXMpIHsKLSAgICBpZiAo
dGVzdF9jb21wbGV0ZSkgewotICAgICAgICByZXR1cm47Ci0gICAgfQotICAgIHRlc3RfY29tcGxl
dGUgPSB0cnVlOwotICAgIGNhbGxiYWNrcy5wdXNoKENPTVBMRVRJT04pOwotICAgIHZlcmlmeV9y
ZWNlaXZlZF9jYWxsYmFja3MoKTsKLSAgICBkb25lKCk7Ci19Ci0KLWZ1bmN0aW9uIHZlcmlmeV9y
ZWNlaXZlZF9jYWxsYmFja3MoKSB7Ci0gICAgdmFyIGNvcHlfb2ZfY2FsbGJhY2tzID0gY2FsbGJh
Y2tzLnNsaWNlKDApOwotCi0gICAgLy8gTm90ZSB0aGF0IHlvdSBjYW4ndCBydW4gdGVzdCBhc3Nl
cnRpb25zIGRpcmVjdGx5IGluIGEgY2FsbGJhY2sgZXZlbiBpZgotICAgIC8vIHRoaXMgaXMgYSBm
aWxlIHRlc3QuIFdoZW4gdGhlIGNhbGxiYWNrIGlzIGludm9rZWQgZnJvbSBhIHNhbWUtb3JpZ2lu
IGNoaWxkCi0gICAgLy8gcGFnZSwgdGhlIGNhbGxzdGFjayByZWFjaGVzIGludG8gdGhlIGNhbGxp
bmcgY2hpbGQgZG9jdW1lbnQuIEFueQotICAgIC8vIGV4Y2VwdGlvbiB0aHJvd24gaW4gYSBjYWxs
YmFjayB3aWxsIGJlIGhhbmRsZWQgYnkgdGhlIGNoaWxkIHJhdGhlciB0aGFuCi0gICAgLy8gdGhp
cyBkb2N1bWVudC4KLSAgICB0ZXN0KAotICAgICAgICBmdW5jdGlvbigpIHsKLSAgICAgICAgICAg
IC8vIGNhbGxiYWNrcyBsaXN0IHNob3VsZCBsb29rIGxpa2U6Ci0gICAgICAgICAgICAvLyAgICAg
U1RBUlQgMSooVEVTVF9TVEFURSkgUkVTVUxUIENPTVBMRVRJT04KLSAgICAgICAgICAgIGFzc2Vy
dF9lcXVhbHMoY29weV9vZl9jYWxsYmFja3Muc2hpZnQoKSwgU1RBUlQsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICJUaGUgZmlyc3QgcmVjZWl2ZWQgY2FsbGJhY2sgc2hvdWxkIGJlICdzdGFy
dF9jYWxsYmFjaycuIik7Ci0gICAgICAgICAgICBhc3NlcnRfZXF1YWxzKGNvcHlfb2ZfY2FsbGJh
Y2tzLnNoaWZ0KCksIFRFU1RfU1RBVEUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICIndGVz
dF9zdGF0ZV9jYWxsYmFjaycgc2hvdWxkIGJlIHJlY2VpdmVkIGJlZm9yZSBhbnkgIiArCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICJyZXN1bHQgb3IgY29tcGxldGlvbiBjYWxsYmFja3MuIik7
Ci0gICAgICAgICAgICB3aGlsZShjb3B5X29mX2NhbGxiYWNrcy5sZW5ndGggPiAwKSB7Ci0gICAg
ICAgICAgICAgICAgdmFyIGNhbGxiYWNrID0gY29weV9vZl9jYWxsYmFja3Muc2hpZnQoKTsKLSAg
ICAgICAgICAgICAgICBpZiAoY2FsbGJhY2sgIT0gVEVTVF9TVEFURSkgewotICAgICAgICAgICAg
ICAgICAgICBjb3B5X29mX2NhbGxiYWNrcy51bnNoaWZ0KGNhbGxiYWNrKTsKLSAgICAgICAgICAg
ICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgfQotICAgICAg
ICAgICAgYXNzZXJ0X2VxdWFscyhjb3B5X29mX2NhbGxiYWNrcy5zaGlmdCgpLCBSRVNVTFQsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICIndGVzdF9zdGF0ZV9jYWxsYmFjaycgc2hvdWxkIGJl
IGZvbGxvd2VkIGJ5ICdyZXN1bHRfY2FsbGJhY2snLiIpOwotICAgICAgICAgICAgYXNzZXJ0X2Vx
dWFscyhjb3B5X29mX2NhbGxiYWNrcy5zaGlmdCgpLCBDT01QTEVUSU9OLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAiRmluYWwgJ3Jlc3VsdF9jYWxsYmFjaycgc2hvdWxkIGJlIGZvbGxvd2Vk
IGJ5ICdjb21wbGV0aW9uX2NhbGxiYWNrJy4iKTsKLSAgICAgICAgICAgIGFzc2VydF9lcXVhbHMo
Y29weV9vZl9jYWxsYmFja3MubGVuZ3RoLCAwLAotICAgICAgICAgICAgICAgICAgICAgICAgICAi
J2NvbXBsZXRpb25fY2FsbGJhY2snIHNob3VsZCBiZSB0aGUgbGFzdCBjYWxsYmFjay4iKTsKLSAg
ICAgICAgfSk7Ci19Ci0KLWZ1bmN0aW9uIHN0YXJ0X3Rlc3RfaW5faWZyYW1lKCkgewotICAgIC8v
IFRoaXMgZG9jdW1lbnQgaXMgZ29pbmcgdG8gY2xlYXIgYW55IHJlY2VpdmVkIGNhbGxiYWNrcyBh
bmQgbWFpbnRhaW4KLSAgICAvLyByYWRpbyBzaWxlbmNlIHVudGlsIHRoZSB0ZXN0IGluIHRoZSBp
ZnJhbWUgcnVucyB0byBjb21wbGV0aW9uLiBUaGUKLSAgICAvLyBjb21wbGV0aW9uX2NhbGxiYWNr
KCkgd2lsbCB0aGVuIGNvbXBsZXRlIHRoZSB0ZXN0aW5nIG9uIHRoaXMgZG9jdW1lbnQuCi0gICAg
Y2FsbGJhY2tzLmxlbmd0aCA9IDA7Ci0gICAgdmFyIGlmcmFtZSA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoImlmcmFtZSIpOwotICAgIC8vIHNpbmdsZS1wYWdlLXRlc3QtcGFzcy5odG1sIGhhcyBh
IHNpbmdsZSB0ZXN0LgotICAgIGlmcmFtZS5zcmMgPSAic2luZ2xlLXBhZ2UtdGVzdC1wYXNzLmh0
bWwiOwotICAgIGlmcmFtZS5zdHlsZS5zZXRQcm9wZXJ0eSgiZGlzcGxheSIsICJub25lIik7Ci0g
ICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRhcmdldCIpLmFwcGVuZENoaWxkKGlmcmFtZSk7
Ci19Ci08L3NjcmlwdD4KLQotPGRpdiBpZD0idGFyZ2V0Ij4KLTwvZGl2PgotPHNjcmlwdCB0eXBl
PSJ0ZXh0L2pzb24iIGlkPSJleHBlY3RlZCI+Ci17Ci0gICJzdW1tYXJpemVkX3N0YXR1cyI6IHsK
LSAgICAic3RhdHVzX3N0cmluZyI6ICJPSyIsCi0gICAgIm1lc3NhZ2UiOiBudWxsCi0gIH0sCi0g
ICJzdW1tYXJpemVkX3Rlc3RzIjogWwotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBB
U1MiLAotICAgICAgIm5hbWUiOiAiRXhhbXBsZSB3aXRoIGlmcmFtZSB0aGF0IG5vdGlmaWVzIGNv
bnRhaW5pbmcgZG9jdW1lbnQgdmlhIGNhbGxiYWNrcyIsCi0gICAgICAicHJvcGVydGllcyI6IHt9
LAotICAgICAgIm1lc3NhZ2UiOiBudWxsCi0gICAgfQotICBdLAotICAidHlwZSI6ICJjb21wbGV0
ZSIKLX0KLTwvc2NyaXB0PgotPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFs
L2lmcmFtZS1jb25zb2xpZGF0ZS1lcnJvcnMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC9pZnJh
bWUtY29uc29saWRhdGUtZXJyb3JzLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IGUzODJjNmU2ZmQ5Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvaWZyYW1l
LWNvbnNvbGlkYXRlLWVycm9ycy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNTMgKzAsMCBAQAot
PCFET0NUWVBFIEhUTUw+Ci08aHRtbD4KLTxoZWFkPgotPG1ldGEgbmFtZT0idmFyaWFudCIgY29u
dGVudD0iIj4KLTxtZXRhIG5hbWU9InZhcmlhbnQiIGNvbnRlbnQ9Ij9rZWVwLXByb21pc2UiPgot
PHRpdGxlPkV4YW1wbGUgd2l0aCBpZnJhbWUgdGhhdCBjb25zb2xpZGF0ZXMgZXJyb3JzIHZpYSBm
ZXRjaF90ZXN0c19mcm9tX3dpbmRvdzwvdGl0bGU+Ci08c2NyaXB0IHNyYz0iLi4vLi4vdmFyaWFu
dHMuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
Pjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgotPHNjcmlwdD4KLXZhciBwYXJlbnRfdGVzdCA9IGFzeW5jX3Rlc3QoIlRlc3Qg
ZXhlY3V0aW5nIGluIHBhcmVudCBjb250ZXh0Iik7Ci08L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5
IG9ubG9hZD0icGFyZW50X3Rlc3QuZG9uZSgpIj4KLTxoMT5GZXRjaGluZyBUZXN0cyBGcm9tIGEg
Q2hpbGQgQ29udGV4dDwvaDE+Ci08cD5UaGlzIHRlc3QgZGVtb25zdHJhdGVzIHRoZSB1c2Ugb2Yg
PHR0PmZldGNoX3Rlc3RzX2Zyb21fd2luZG93PC90dD4gdG8gcHVsbAotdGVzdHMgZnJvbSBhbiA8
dHQ+aWZyYW1lPC90dD4gaW50byB0aGUgcHJpbWFyeSBkb2N1bWVudC48L3A+Ci08cD5UaGUgdGVz
dCBzdWl0ZSBpcyBleHBlY3RlZCB0byBmYWlsIGR1ZSB0byBhbiB1bmhhbmRsZWQgZXhjZXB0aW9u
IGluIHRoZQotY2hpbGQgY29udGV4dC48L3A+Ci08ZGl2IGlkPSJsb2ciPjwvZGl2PgotCi08aWZy
YW1lIGlkPSJjaGlsZENvbnRleHQiIHNyYz0idW5jYXVnaHQtZXhjZXB0aW9uLWhhbmRsZS5odG1s
IiBzdHlsZT0iZGlzcGxheTpub25lIj48L2lmcmFtZT4KLTwhLS0gYXBpc2FtcGxlNC5odG1sIGlz
IGEgZmFpbGluZyBzdWl0ZSBkdWUgdG8gYW4gdW5oYW5kbGVkIEVycm9yLiAtLT4KLQotPHNjcmlw
dD4KLSAgdmFyIGNoaWxkQ29udGV4dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjaGlsZENv
bnRleHQiKTsKLSAgZmV0Y2hfdGVzdHNfZnJvbV93aW5kb3coY2hpbGRDb250ZXh0LmNvbnRlbnRX
aW5kb3cpOwotPC9zY3JpcHQ+Ci08c2NyaXB0IHR5cGU9InRleHQvanNvbiIgaWQ9ImV4cGVjdGVk
Ij4KLXsKLSAgInN1bW1hcml6ZWRfc3RhdHVzIjogewotICAgICJzdGF0dXNfc3RyaW5nIjogIkVS
Uk9SIiwKLSAgICAibWVzc2FnZSI6ICJFcnJvciBpbiByZW1vdGU6IEVycm9yOiBFeGFtcGxlIEVy
cm9yIgotICB9LAotICAic3VtbWFyaXplZF90ZXN0cyI6IFsKLSAgICB7Ci0gICAgICAic3RhdHVz
X3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1lIjogIlRlc3QgZXhlY3V0aW5nIGluIHBhcmVu
dCBjb250ZXh0IiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6IG51
bGwKLSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIk5PVFJVTiIsCi0gICAg
ICAibmFtZSI6ICJUaGlzIHNob3VsZCBzaG93IGEgaGFybmVzcyBzdGF0dXMgb2YgJ0Vycm9yJyBh
bmQgYSB0ZXN0IHN0YXR1cyBvZiAnTm90IFJ1biciLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwK
LSAgICAgICJtZXNzYWdlIjogbnVsbAotICAgIH0KLSAgXSwKLSAgInR5cGUiOiAiY29tcGxldGUi
Ci19Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVu
Y3Rpb25hbC9pZnJhbWUtY29uc29saWRhdGUtdGVzdHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25h
bC9pZnJhbWUtY29uc29saWRhdGUtdGVzdHMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggY2NjOWViNzY1YzQuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC9p
ZnJhbWUtY29uc29saWRhdGUtdGVzdHMuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDg5ICswLDAg
QEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLTxtZXRhIG5hbWU9InZhcmlhbnQi
IGNvbnRlbnQ9IiI+Ci08bWV0YSBuYW1lPSJ2YXJpYW50IiBjb250ZW50PSI/a2VlcC1wcm9taXNl
Ij4KLTx0aXRsZT5FeGFtcGxlIHdpdGggaWZyYW1lIHRoYXQgY29uc29saWRhdGVzIHRlc3RzIHZp
YSBmZXRjaF90ZXN0c19mcm9tX3dpbmRvdzwvdGl0bGU+Ci08c2NyaXB0IHNyYz0iLi4vLi4vdmFy
aWFudHMuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLXZhciBwYXJlbnRfdGVzdCA9IGFzeW5jX3Rlc3QoIlRl
c3QgZXhlY3V0aW5nIGluIHBhcmVudCBjb250ZXh0Iik7Ci08L3NjcmlwdD4KLTwvaGVhZD4KLTxi
b2R5IG9ubG9hZD0icGFyZW50X3Rlc3QuZG9uZSgpIj4KLTxoMT5GZXRjaGluZyBUZXN0cyBGcm9t
IGEgQ2hpbGQgQ29udGV4dDwvaDE+Ci08cD5UaGlzIHRlc3QgZGVtb25zdHJhdGVzIHRoZSB1c2Ug
b2YgPHR0PmZldGNoX3Rlc3RzX2Zyb21fd2luZG93PC90dD4gdG8gcHVsbAotdGVzdHMgZnJvbSBh
biA8dHQ+aWZyYW1lPC90dD4gaW50byB0aGUgcHJpbWFyeSBkb2N1bWVudC48L3A+Ci08cD5UaGUg
dGVzdCBzdWl0ZSB3aWxsIG5vdCBjb21wbGV0ZSB1bnRpbCB0ZXN0cyBpbiB0aGUgY2hpbGQgY29u
dGV4dCBoYXZlIGZpbmlzaGVkCi1leGVjdXRpbmc8L3A+Ci08ZGl2IGlkPSJsb2ciPjwvZGl2Pgot
Ci08aWZyYW1lIGlkPSJjaGlsZENvbnRleHQiIHNyYz0icHJvbWlzZS1hc3luYy5odG1sP2tlZXAt
cHJvbWlzZSIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+PC9pZnJhbWU+Ci08IS0tIHByb21pc2UtYXN5
bmMuaHRtbCBoYXMgYXN5bmMgdGVzdHMgd2l0aCBwcm9taXNlcyAtLT4KLQotPHNjcmlwdD4KLSAg
dmFyIGNoaWxkQ29udGV4dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjaGlsZENvbnRleHQi
KTsKLSAgZmV0Y2hfdGVzdHNfZnJvbV93aW5kb3coY2hpbGRDb250ZXh0LmNvbnRlbnRXaW5kb3cp
OwotPC9zY3JpcHQ+Ci08c2NyaXB0IHR5cGU9InRleHQvanNvbiIgaWQ9ImV4cGVjdGVkIj4KLXsK
LSAgInN1bW1hcml6ZWRfc3RhdHVzIjogewotICAgICJzdGF0dXNfc3RyaW5nIjogIk9LIiwKLSAg
ICAibWVzc2FnZSI6IG51bGwKLSAgfSwKLSAgInN1bW1hcml6ZWRfdGVzdHMiOiBbCi0gICAgewot
ICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJQcm9taXNlIHJl
amVjdGlvbiIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxs
Ci0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJu
YW1lIjogIlByb21pc2UgcmVzb2x1dGlvbiIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAg
ICAgIm1lc3NhZ2UiOiBudWxsCi0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6
ICJGQUlMIiwKLSAgICAgICJuYW1lIjogIlByb21pc2VzIGFuZCB0ZXN0IGFzc2VydGlvbiBmYWls
dXJlcyAoc2hvdWxkIGZhaWwpIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVz
c2FnZSI6ICJhc3NlcnRfdHJ1ZTogVGhpcyBmYWlsdXJlIGlzIGV4cGVjdGVkIGV4cGVjdGVkIHRy
dWUgZ290IGZhbHNlIgotICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFT
UyIsCi0gICAgICAibmFtZSI6ICJQcm9taXNlcyBhcmUgc3VwcG9ydGVkIGluIHlvdXIgYnJvd3Nl
ciIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsCi0gICAg
fSwKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1lIjog
IlByb21pc2VzIHJlc29sdXRpb24gY2hhaW5pbmciLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwK
LSAgICAgICJtZXNzYWdlIjogbnVsbAotICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJp
bmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJUZXN0IGV4ZWN1dGluZyBpbiBwYXJlbnQgY29u
dGV4dCIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsCi0g
ICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1l
IjogIlVzZSBvZiBzdGVwX2Z1bmMgd2l0aCBQcm9taXNlcyIsCi0gICAgICAicHJvcGVydGllcyI6
IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsCi0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVz
X3N0cmluZyI6ICJGQUlMIiwKLSAgICAgICJuYW1lIjogIlVzZSBvZiB1bnJlYWNoZWRfZnVuYyB3
aXRoIFByb21pc2VzIChzaG91bGQgZmFpbCkiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAg
ICAgICJtZXNzYWdlIjogImFzc2VydF91bnJlYWNoZWQ6IFRoaXMgZmFpbHVyZSBpcyBleHBlY3Rl
ZCBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUiCi0gICAgfQotICBdLAotICAidHlwZSI6ICJjb21w
bGV0ZSIKLX0KLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0
cy9mdW5jdGlvbmFsL2lmcmFtZS1tc2cuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC9pZnJhbWUt
bXNnLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGNkMmMyNmMyNzhlLi4wMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvaWZyYW1lLW1zZy5odG1sCisrKyAvZGV2
L251bGwKQEAgLTEsODcgKzAsMCBAQAotPCFET0NUWVBFIEhUTUw+Ci08aHRtbD4KLTxoZWFkPgot
PG1ldGEgbmFtZT0idmFyaWFudCIgY29udGVudD0iIj4KLTxtZXRhIG5hbWU9InZhcmlhbnQiIGNv
bnRlbnQ9Ij9rZWVwLXByb21pc2UiPgotPHRpdGxlPkV4YW1wbGUgd2l0aCBpZnJhbWUgdGhhdCBu
b3RpZmllcyBjb250YWluaW5nIGRvY3VtZW50IHZpYSBjcm9zcyBkb2N1bWVudCBtZXNzYWdpbmc8
L3RpdGxlPgotPHNjcmlwdCBzcmM9Ii4uLy4uL3ZhcmlhbnRzLmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxi
b2R5PgotPGgxPk5vdGlmaWNhdGlvbnMgRnJvbSBUZXN0cyBSdW5uaW5nIEluIEFuIElGUkFNRTwv
aDE+Ci08cD5BIHRlc3QgaXMgcnVuIGluc2lkZSBhbiA8dHQ+aWZyYW1lPC90dD4gd2l0aCBhIHNh
bWUgb3JpZ2luIGRvY3VtZW50LiBUaGUKLWNvbnRhaW5pbmcgZG9jdW1lbnQgc2hvdWxkIHJlY2Vp
dmUgbWVzc2FnZXMgdmlhIDx0dD5wb3N0TWVzc2FnZTwvdHQ+LwotPHR0Pm9ubWVzc2FnZTwvdHQ+
IGFzIHRoZSB0ZXN0cyBwcm9ncmVzcyBpbnNpZGUgdGhlIDx0dD5pZnJhbWU8L3R0Pi4gQSBzaW5n
bGUKLXBhc3NpbmcgdGVzdCBpcyBleHBlY3RlZCBpbiB0aGUgc3VtbWFyeSBiZWxvdy4KLTwvcD4K
LTxkaXYgaWQ9ImxvZyI+PC9kaXY+Ci0KLTxzY3JpcHQ+Ci12YXIgdCA9IGFzeW5jX3Rlc3QoIkNv
bnRhaW5pbmcgZG9jdW1lbnQgcmVjZWl2ZXMgbWVzc2FnZXMiKTsKLXZhciBzdGFydF9yZWNlaXZl
ZCA9IGZhbHNlOwotdmFyIHJlc3VsdF9yZWNlaXZlZCA9IGZhbHNlOwotdmFyIGNvbXBsZXRpb25f
cmVjZWl2ZWQgPSBmYWxzZTsKLQotLy8gVGhlc2UgYXJlIHRoZSBtZXNzYWdlcyB0aGF0IGFyZSBl
eHBlY3RlZCB0byBiZSBzZWVuIHdoaWxlIHJ1bm5pbmcgdGhlIHRlc3RzCi0vLyBpbiB0aGUgSUZS
QU1FLgotdmFyIGV4cGVjdGVkX21lc3NhZ2VzID0gWwotICAgIHQuc3RlcF9mdW5jKAotICAgICAg
ICBmdW5jdGlvbihtZXNzYWdlKSB7Ci0gICAgICAgICAgICBhc3NlcnRfZXF1YWxzKG1lc3NhZ2Uu
ZGF0YS50eXBlLCAic3RhcnQiKTsKLSAgICAgICAgICAgIGFzc2VydF9vd25fcHJvcGVydHkobWVz
c2FnZS5kYXRhLCAicHJvcGVydGllcyIpOwotICAgICAgICB9KSwKLQotICAgIHQuc3RlcF9mdW5j
KAotICAgICAgICBmdW5jdGlvbihtZXNzYWdlKSB7Ci0gICAgICAgICAgICBhc3NlcnRfZXF1YWxz
KG1lc3NhZ2UuZGF0YS50eXBlLCAidGVzdF9zdGF0ZSIpOwotICAgICAgICAgICAgYXNzZXJ0X2Vx
dWFscyhtZXNzYWdlLmRhdGEudGVzdC5zdGF0dXMsIG1lc3NhZ2UuZGF0YS50ZXN0Lk5PVFJVTik7
Ci0gICAgICAgIH0pLAotCi0gICAgdC5zdGVwX2Z1bmMoCi0gICAgICAgIGZ1bmN0aW9uKG1lc3Nh
Z2UpIHsKLSAgICAgICAgICAgIGFzc2VydF9lcXVhbHMobWVzc2FnZS5kYXRhLnR5cGUsICJyZXN1
bHQiKTsKLSAgICAgICAgICAgIGFzc2VydF9lcXVhbHMobWVzc2FnZS5kYXRhLnRlc3Quc3RhdHVz
LCBtZXNzYWdlLmRhdGEudGVzdC5QQVNTKTsKLSAgICAgICAgfSksCi0KLSAgICB0LnN0ZXBfZnVu
YygKLSAgICAgICAgZnVuY3Rpb24obWVzc2FnZSkgewotICAgICAgICAgICAgYXNzZXJ0X2VxdWFs
cyhtZXNzYWdlLmRhdGEudHlwZSwgImNvbXBsZXRlIik7Ci0gICAgICAgICAgICBhc3NlcnRfZXF1
YWxzKG1lc3NhZ2UuZGF0YS50ZXN0cy5sZW5ndGgsIDEpOwotICAgICAgICAgICAgYXNzZXJ0X2Vx
dWFscyhtZXNzYWdlLmRhdGEudGVzdHNbMF0uc3RhdHVzLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICBtZXNzYWdlLmRhdGEudGVzdHNbMF0uUEFTUyk7Ci0gICAgICAgICAgICBhc3NlcnRfZXF1
YWxzKG1lc3NhZ2UuZGF0YS5zdGF0dXMuc3RhdHVzLCBtZXNzYWdlLmRhdGEuc3RhdHVzLk9LKTsK
LSAgICAgICAgICAgIHQuZG9uZSgpOwotICAgICAgICB9KSwKLQotICAgIHQudW5yZWFjaGVkX2Z1
bmMoIlRvbyBtYW55IG1lc3NhZ2VzIHJlY2VpdmVkIikKLV07Ci0KLW9uX2V2ZW50KHdpbmRvdywK
LSAgICAgICAgICJtZXNzYWdlIiwKLSAgICAgICAgIGZ1bmN0aW9uKG1lc3NhZ2UpIHsKLSAgICAg
ICAgICAgICB2YXIgaGFuZGxlciA9IGV4cGVjdGVkX21lc3NhZ2VzLnNoaWZ0KCk7Ci0gICAgICAg
ICAgICAgaGFuZGxlcihtZXNzYWdlKTsKLSAgICAgICAgIH0pOwotPC9zY3JpcHQ+Ci08aWZyYW1l
IHNyYz0ic2luZ2xlLXBhZ2UtdGVzdC1wYXNzLmh0bWwiIHN0eWxlPSJkaXNwbGF5Om5vbmUiPgot
ICA8IS0tIHNpbmdsZS1wYWdlLXRlc3QtcGFzcy5odG1sIGltcGxlbWVudHMgYSBmaWxlX2lzX3Rl
c3QgdGVzdC4gLS0+Ci08L2lmcmFtZT4KLTxzY3JpcHQgdHlwZT0idGV4dC9qc29uIiBpZD0iZXhw
ZWN0ZWQiPgotewotICAic3VtbWFyaXplZF9zdGF0dXMiOiB7Ci0gICAgInN0YXR1c19zdHJpbmci
OiAiT0siLAotICAgICJtZXNzYWdlIjogbnVsbAotICB9LAotICAic3VtbWFyaXplZF90ZXN0cyI6
IFsKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1lIjog
IkNvbnRhaW5pbmcgZG9jdW1lbnQgcmVjZWl2ZXMgbWVzc2FnZXMiLAotICAgICAgInByb3BlcnRp
ZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogbnVsbAotICAgIH0KLSAgXSwKLSAgInR5cGUiOiAi
Y29tcGxldGUiCi19Ci08L3NjcmlwdD4KLTwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVu
Y3Rpb25hbC9sb2ctaW5zZXJ0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvbG9nLWluc2Vy
dGlvbi5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhZWUzYzAwMmM5NC4uMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFsL2xvZy1pbnNlcnRpb24uaHRtbAorKysg
L2Rldi9udWxsCkBAIC0xLDQ5ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPHRpdGxlPkxvZyBp
bnNlcnRpb248L3RpdGxlPgotPG1ldGEgbmFtZT0idmFyaWFudCIgY29udGVudD0iIj4KLTxtZXRh
IG5hbWU9InZhcmlhbnQiIGNvbnRlbnQ9Ij9rZWVwLXByb21pc2UiPgotPHNjcmlwdCBzcmM9Ii4u
Ly4uL3ZhcmlhbnRzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci10ZXN0KGZ1bmN0aW9uKHQpIHsKLSAgYXNz
ZXJ0X2VxdWFscyhkb2N1bWVudC5ib2R5LCBudWxsKTsKLX0sICJMb2cgaW5zZXJ0aW9uIGJlZm9y
ZSBsb2FkIik7Ci10ZXN0KGZ1bmN0aW9uKHQpIHsKLSAgYXNzZXJ0X2VxdWFscyhkb2N1bWVudC5i
b2R5LCBudWxsKTsKLX0sICJMb2cgaW5zZXJ0aW9uIGJlZm9yZSBsb2FkIChhZ2FpbikiKTsKLWFz
eW5jX3Rlc3QoZnVuY3Rpb24odCkgewotICB3aW5kb3cub25sb2FkID0gdC5zdGVwX2Z1bmNfZG9u
ZShmdW5jdGlvbigpIHsKLSAgICB2YXIgYm9keSA9IGRvY3VtZW50LmJvZHk7Ci0gICAgYXNzZXJ0
X25vdF9lcXVhbHMoYm9keSwgbnVsbCk7Ci0KLSAgICB2YXIgbG9nID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImxvZyIpOwotICAgIGFzc2VydF9lcXVhbHMobG9nLnBhcmVudE5vZGUsIGJvZHkp
OwotICB9KTsKLX0sICJMb2cgaW5zZXJ0aW9uIGFmdGVyIGxvYWQiKTsKLTwvc2NyaXB0PgotPHNj
cmlwdCB0eXBlPSJ0ZXh0L2pzb24iIGlkPSJleHBlY3RlZCI+Ci17Ci0gICJzdW1tYXJpemVkX3N0
YXR1cyI6IHsKLSAgICAic3RhdHVzX3N0cmluZyI6ICJPSyIsCi0gICAgIm1lc3NhZ2UiOiBudWxs
Ci0gIH0sCi0gICJzdW1tYXJpemVkX3Rlc3RzIjogW3sKLSAgICAic3RhdHVzX3N0cmluZyI6ICJQ
QVNTIiwKLSAgICAibmFtZSI6ICJMb2cgaW5zZXJ0aW9uIGJlZm9yZSBsb2FkIiwKLSAgICAibWVz
c2FnZSI6IG51bGwsCi0gICAgInByb3BlcnRpZXMiOiB7fQotICB9LCB7Ci0gICAgInN0YXR1c19z
dHJpbmciOiAiUEFTUyIsCi0gICAgIm5hbWUiOiAiTG9nIGluc2VydGlvbiBiZWZvcmUgbG9hZCAo
YWdhaW4pIiwKLSAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgInByb3BlcnRpZXMiOiB7fQotICB9
LCB7Ci0gICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgIm5hbWUiOiAiTG9nIGluc2Vy
dGlvbiBhZnRlciBsb2FkIiwKLSAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgInByb3BlcnRpZXMi
OiB7fQotICB9XSwKLSAgInR5cGUiOiAiY29tcGxldGUiCi19Ci08L3NjcmlwdD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC9vcmRlci5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFsL29y
ZGVyLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGVjOTk3OGQ4OTgwLi4wMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvb3JkZXIuaHRtbAorKysgL2Rldi9udWxs
CkBAIC0xLDM5ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLTxtZXRh
IG5hbWU9InZhcmlhbnQiIGNvbnRlbnQ9IiI+Ci08bWV0YSBuYW1lPSJ2YXJpYW50IiBjb250ZW50
PSI/a2VlcC1wcm9taXNlIj4KLTx0aXRsZT5PcmRlcmluZzwvdGl0bGU+Ci08c2NyaXB0IHNyYz0i
Li4vLi4vdmFyaWFudHMuanMiPjwvc2NyaXB0PgotPG1ldGEgbmFtZT0idGltZW91dCIgY29udGVu
dD0iNjAwMCI+Ci08L2hlYWQ+Ci08Ym9keT4KLTxkaXYgaWQ9ImxvZyI+PC9kaXY+Ci08c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotdGVz
dChmdW5jdGlvbigpIHt9LCAnc2Vjb25kJyk7Ci10ZXN0KGZ1bmN0aW9uKCkge30sICdmaXJzdCcp
OwotPC9zY3JpcHQ+Ci08c2NyaXB0IHR5cGU9InRleHQvanNvbiIgaWQ9ImV4cGVjdGVkIj4KLXsK
LSAgInN1bW1hcml6ZWRfc3RhdHVzIjogewotICAgICJzdGF0dXNfc3RyaW5nIjogIk9LIiwKLSAg
ICAibWVzc2FnZSI6IG51bGwKLSAgfSwKLSAgInN1bW1hcml6ZWRfdGVzdHMiOiBbewotICAgICJz
dGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICJuYW1lIjogImZpcnN0IiwKLSAgICAibWVzc2Fn
ZSI6IG51bGwsCi0gICAgInByb3BlcnRpZXMiOiB7fQotICB9LCB7Ci0gICAgInN0YXR1c19zdHJp
bmciOiAiUEFTUyIsCi0gICAgIm5hbWUiOiAic2Vjb25kIiwKLSAgICAibWVzc2FnZSI6IG51bGws
Ci0gICAgInByb3BlcnRpZXMiOiB7fQotICB9XSwKLSAgInR5cGUiOiAiY29tcGxldGUiCi19Ci08
L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25h
bC9wcm9taXNlLWFzeW5jLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvcHJvbWlzZS1hc3luYy5o
dG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkNGM2Mjc5NGM0Zi4uMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFsL3Byb21pc2UtYXN5bmMuaHRtbAorKysgL2Rldi9u
dWxsCkBAIC0xLDE3NCArMCwwIEBACi08IURPQ1RZUEUgSFRNTD4KLTxodG1sPgotPGhlYWQ+Ci08
bWV0YSBuYW1lPSJ2YXJpYW50IiBjb250ZW50PSI/a2VlcC1wcm9taXNlIj4KLTx0aXRsZT5Bc3lu
YyBUZXN0cyBhbmQgUHJvbWlzZXM8L3RpdGxlPgotPHNjcmlwdCBzcmM9Ii4uLy4uL3ZhcmlhbnRz
LmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGgxPkFzeW5jIFRlc3RzIGFuZCBQcm9t
aXNlczwvaDE+Ci08cD5UaGlzIHRlc3QgYXNzdW1lcyBFQ01BU2NyaXB0IDYgUHJvbWlzZSBzdXBw
b3J0LiBTb21lIGZhaWx1cmVzIGFyZSBleHBlY3RlZC48L3A+Ci08ZGl2IGlkPSJsb2ciPjwvZGl2
PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNj
cmlwdD4KLQotdGVzdChmdW5jdGlvbigpIHsKLSAgdmFyIHAgPSBuZXcgUHJvbWlzZShmdW5jdGlv
bihyZXNvbHZlLCByZWplY3QpIHt9KTsKLSAgYXNzZXJ0X3RydWUoJ3RoZW4nIGluIHApOwotICBh
c3NlcnRfZXF1YWxzKHR5cGVvZiBQcm9taXNlLnJlc29sdmUsICdmdW5jdGlvbicpOwotICBhc3Nl
cnRfZXF1YWxzKHR5cGVvZiBQcm9taXNlLnJlamVjdCwgJ2Z1bmN0aW9uJyk7Ci19LCAiUHJvbWlz
ZXMgYXJlIHN1cHBvcnRlZCBpbiB5b3VyIGJyb3dzZXIiKTsKLQotKGZ1bmN0aW9uKCkgewotICB2
YXIgdCA9IGFzeW5jX3Rlc3QoIlByb21pc2UgcmVzb2x1dGlvbiIpOwotICB0LnN0ZXAoZnVuY3Rp
b24oKSB7Ci0gICAgUHJvbWlzZS5yZXNvbHZlKCd4JykudGhlbigKLSAgICAgIHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHZhbHVlKSB7Ci0gICAgICAgIGFzc2VydF9lcXVhbHModmFsdWUsICd4Jyk7Ci0g
ICAgICAgIHQuZG9uZSgpOwotICAgICAgfSksCi0gICAgICB0LnVucmVhY2hlZF9mdW5jKCdQcm9t
aXNlIHNob3VsZCBub3QgcmVqZWN0JykKLSAgICApOwotICB9KTsKLX0oKSk7Ci0KLShmdW5jdGlv
bigpIHsKLSAgdmFyIHQgPSBhc3luY190ZXN0KCJQcm9taXNlIHJlamVjdGlvbiIpOwotICB0LnN0
ZXAoZnVuY3Rpb24oKSB7Ci0gICAgUHJvbWlzZS5yZWplY3QoRXJyb3IoJ2ZhaWwnKSkudGhlbigK
LSAgICAgIHQudW5yZWFjaGVkX2Z1bmMoJ1Byb21pc2Ugc2hvdWxkIHJlamVjdCcpLAotICAgICAg
dC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Ci0gICAgICAgIGFzc2VydF90cnVlKHJlYXNv
biBpbnN0YW5jZW9mIEVycm9yKTsKLSAgICAgICAgYXNzZXJ0X2VxdWFscyhyZWFzb24ubWVzc2Fn
ZSwgJ2ZhaWwnKTsKLSAgICAgICAgdC5kb25lKCk7Ci0gICAgICB9KQotICAgICk7Ci0gIH0pOwot
fSgpKTsKLQotKGZ1bmN0aW9uKCkgewotICB2YXIgdCA9IGFzeW5jX3Rlc3QoIlByb21pc2VzIHJl
c29sdXRpb24gY2hhaW5pbmciKTsKLSAgdC5zdGVwKGZ1bmN0aW9uKCkgewotICAgIHZhciByZXNv
bHV0aW9ucyA9IFtdOwotICAgIFByb21pc2UucmVzb2x2ZSgnYScpLnRoZW4oCi0gICAgICB0LnN0
ZXBfZnVuYyhmdW5jdGlvbih2YWx1ZSkgewotICAgICAgICByZXNvbHV0aW9ucy5wdXNoKHZhbHVl
KTsKLSAgICAgICAgcmV0dXJuICdiJzsKLSAgICAgIH0pCi0gICAgKS50aGVuKAotICAgICAgdC5z
dGVwX2Z1bmMoZnVuY3Rpb24odmFsdWUpIHsKLSAgICAgICAgcmVzb2x1dGlvbnMucHVzaCh2YWx1
ZSk7Ci0gICAgICAgIHJldHVybiAnYyc7Ci0gICAgICB9KQotICAgICkudGhlbigKLSAgICAgIHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHZhbHVlKSB7Ci0gICAgICAgIHJlc29sdXRpb25zLnB1c2godmFs
dWUpOwotCi0gICAgICAgIGFzc2VydF9hcnJheV9lcXVhbHMocmVzb2x1dGlvbnMsIFsnYScsICdi
JywgJ2MnXSk7Ci0gICAgICAgIHQuZG9uZSgpOwotICAgICAgfSkKLSAgICApLmNhdGNoKAotICAg
ICAgdC51bnJlYWNoZWRfZnVuYygncHJvbWlzZSBzaG91bGQgbm90IGhhdmUgcmVqZWN0ZWQnKQot
ICAgICk7Ci0gIH0pOwotfSgpKTsKLQotKGZ1bmN0aW9uKCkgewotICB2YXIgdCA9IGFzeW5jX3Rl
c3QoIlVzZSBvZiBzdGVwX2Z1bmMgd2l0aCBQcm9taXNlcyIpOwotICB0LnN0ZXAoZnVuY3Rpb24o
KSB7Ci0gICAgdmFyIHJlc29sdXRpb25zID0gW107Ci0gICAgUHJvbWlzZS5yZXNvbHZlKCd4Jyku
dGhlbigKLSAgICAgIHQuc3RlcF9mdW5jX2RvbmUoKSwKLSAgICAgIHQudW5yZWFjaGVkX2Z1bmMo
J1Byb21pc2Ugc2hvdWxkIG5vdCBoYXZlIHJlamVjdGVkJykKLSAgICApOwotICB9KTsKLX0oKSk7
Ci0KLShmdW5jdGlvbigpIHsKLSAgdmFyIHQgPSBhc3luY190ZXN0KCJQcm9taXNlcyBhbmQgdGVz
dCBhc3NlcnRpb24gZmFpbHVyZXMgKHNob3VsZCBmYWlsKSIpOwotICB0LnN0ZXAoZnVuY3Rpb24o
KSB7Ci0gICAgdmFyIHJlc29sdXRpb25zID0gW107Ci0gICAgUHJvbWlzZS5yZXNvbHZlKCd4Jyku
dGhlbigKLSAgICAgIHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHZhbHVlKSB7Ci0gICAgICAgIGFzc2Vy
dF90cnVlKGZhbHNlLCAnVGhpcyBmYWlsdXJlIGlzIGV4cGVjdGVkJyk7Ci0gICAgICB9KQotICAg
ICkudGhlbigKLSAgICAgIHQudW5yZWFjaGVkX2Z1bmMoJ1Byb21pc2Ugc2hvdWxkIG5vdCBoYXZl
IHJlc29sdmVkJykKLSAgICApLmNhdGNoKAotICAgICAgdC51bnJlYWNoZWRfZnVuYygnUHJvbWlz
ZSBzaG91bGQgbm90IGhhdmUgcmVqZWN0ZWQnKQotICAgICk7Ci0gIH0pOwotfSgpKTsKLQotKGZ1
bmN0aW9uKCkgewotICB2YXIgdCA9IGFzeW5jX3Rlc3QoIlVzZSBvZiB1bnJlYWNoZWRfZnVuYyB3
aXRoIFByb21pc2VzIChzaG91bGQgZmFpbCkiKTsKLSAgdC5zdGVwKGZ1bmN0aW9uKCkgewotICAg
IHZhciByZXNvbHV0aW9ucyA9IFtdOwotICAgIHZhciByOwotICAgIHZhciBwID0gbmV3IFByb21p
c2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7Ci0gICAgICAvLyBSZWplY3QgaW5zdGVhZCBv
ZiByZXNvbHZlLCB0byBkZW1vbnN0cmF0ZSBmYWlsdXJlLgotICAgICAgcmVqZWN0KDEyMyk7Ci0g
ICAgfSk7Ci0gICAgcC50aGVuKAotICAgICAgZnVuY3Rpb24odmFsdWUpIHsKLSAgICAgICAgYXNz
ZXJ0X2VxdWFscyh2YWx1ZSwgMTIzLCAnVGhpcyBzaG91bGQgbm90IGFjdHVhbGx5IGhhcHBlbicp
OwotICAgICAgfSwKLSAgICAgIHQudW5yZWFjaGVkX2Z1bmMoJ1RoaXMgZmFpbHVyZSBpcyBleHBl
Y3RlZCcpCi0gICAgKTsKLSAgfSk7Ci19KCkpOwotPC9zY3JpcHQ+Ci08c2NyaXB0IHR5cGU9InRl
eHQvanNvbiIgaWQ9ImV4cGVjdGVkIj4KLXsKLSAgInN1bW1hcml6ZWRfc3RhdHVzIjogewotICAg
ICJzdGF0dXNfc3RyaW5nIjogIk9LIiwKLSAgICAibWVzc2FnZSI6IG51bGwKLSAgfSwKLSAgInN1
bW1hcml6ZWRfdGVzdHMiOiBbCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIs
Ci0gICAgICAibmFtZSI6ICJQcm9taXNlIHJlamVjdGlvbiIsCi0gICAgICAicHJvcGVydGllcyI6
IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsCi0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVz
X3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1lIjogIlByb21pc2UgcmVzb2x1dGlvbiIsCi0g
ICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsCi0gICAgfSwKLSAg
ICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJGQUlMIiwKLSAgICAgICJuYW1lIjogIlByb21p
c2VzIGFuZCB0ZXN0IGFzc2VydGlvbiBmYWlsdXJlcyAoc2hvdWxkIGZhaWwpIiwKLSAgICAgICJw
cm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6ICJhc3NlcnRfdHJ1ZTogVGhpcyBmYWls
dXJlIGlzIGV4cGVjdGVkIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlIgotICAgIH0sCi0gICAgewot
ICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJQcm9taXNlcyBh
cmUgc3VwcG9ydGVkIGluIHlvdXIgYnJvd3NlciIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAot
ICAgICAgIm1lc3NhZ2UiOiBudWxsCi0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmlu
ZyI6ICJQQVNTIiwKLSAgICAgICJuYW1lIjogIlByb21pc2VzIHJlc29sdXRpb24gY2hhaW5pbmci
LAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogbnVsbAotICAgIH0s
Ci0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJV
c2Ugb2Ygc3RlcF9mdW5jIHdpdGggUHJvbWlzZXMiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwK
LSAgICAgICJtZXNzYWdlIjogbnVsbAotICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJp
bmciOiAiRkFJTCIsCi0gICAgICAibmFtZSI6ICJVc2Ugb2YgdW5yZWFjaGVkX2Z1bmMgd2l0aCBQ
cm9taXNlcyAoc2hvdWxkIGZhaWwpIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAi
bWVzc2FnZSI6ICJhc3NlcnRfdW5yZWFjaGVkOiBUaGlzIGZhaWx1cmUgaXMgZXhwZWN0ZWQgUmVh
Y2hlZCB1bnJlYWNoYWJsZSBjb2RlIgotICAgIH0KLSAgXSwKLSAgInR5cGUiOiAiY29tcGxldGUi
Ci19Ci08L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC9wcm9taXNlLXdp
dGgtc3luYy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFsL3Byb21pc2Utd2l0aC1zeW5jLmh0bWwK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDIzNGY1NDc2ZTljLi4wMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvcHJvbWlzZS13aXRoLXN5bmMuaHRtbAorKysgL2Rldi9u
dWxsCkBAIC0xLDgxICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLTxt
ZXRhIG5hbWU9InZhcmlhbnQiIGNvbnRlbnQ9Ij9rZWVwLXByb21pc2UiPgotPHRpdGxlPlByb21p
c2UgVGVzdHMgYW5kIFN5bmNocm9ub3VzIFRlc3RzPC90aXRsZT4KLTxzY3JpcHQgc3JjPSIuLi8u
Li92YXJpYW50cy5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxoMT5Qcm9taXNlIFRl
c3RzPC9oMT4KLTxwPlRoaXMgdGVzdCBkZW1vbnN0cmF0ZXMgdGhlIHVzZSBvZiA8dHQ+cHJvbWlz
ZV90ZXN0PC90dD4gYWxvbmdzaWRlIHN5bmNocm9ub3VzIHRlc3RzLjwvcD4KLTxkaXYgaWQ9Imxv
ZyI+PC9kaXY+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4vdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQ+Ci0idXNlIHN0cmljdCI7Ci12YXIgc2VxdWVuY2UgPSBbXTsKLQotdGVzdChmdW5j
dGlvbih0KSB7Ci0gIGFzc2VydF9hcnJheV9lcXVhbHMoc2VxdWVuY2UsIFtdKTsKLSAgc2VxdWVu
Y2UucHVzaCgxKTsKLX0sICJmaXJzdCBzeW5jaHJvbm91cyB0ZXN0Iik7Ci0KLXByb21pc2VfdGVz
dChmdW5jdGlvbigpIHsKLSAgYXNzZXJ0X2FycmF5X2VxdWFscyhzZXF1ZW5jZSwgWzEsIDJdKTsK
LQotICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCkKLSAgICAudGhlbihmdW5jdGlvbigpIHsKLSAg
ICAgICAgYXNzZXJ0X2FycmF5X2VxdWFscyhzZXF1ZW5jZSwgWzEsIDJdKTsKLSAgICAgICAgc2Vx
dWVuY2UucHVzaCgzKTsKLSAgICAgIH0pOwotfSwgImZpcnN0IHByb21pc2VfdGVzdCIpOzsKLQot
dGVzdChmdW5jdGlvbih0KSB7Ci0gIGFzc2VydF9hcnJheV9lcXVhbHMoc2VxdWVuY2UsIFsxXSk7
Ci0gIHNlcXVlbmNlLnB1c2goMik7Ci19LCAic2Vjb25kIHN5bmNocm9ub3VzIHRlc3QiKTsKLQot
cHJvbWlzZV90ZXN0KGZ1bmN0aW9uKCkgewotICBhc3NlcnRfYXJyYXlfZXF1YWxzKHNlcXVlbmNl
LCBbMSwgMiwgM10pOwotCi0gIHJldHVybiBQcm9taXNlLnJlc29sdmUoKQotICAgIC50aGVuKGZ1
bmN0aW9uKCkgewotICAgICAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKHNlcXVlbmNlLCBbMSwgMiwg
M10pOwotICAgICAgfSk7Ci19LCAic2Vjb25kIHByb21pc2VfdGVzdCIpOzsKLTwvc2NyaXB0Pgot
PHNjcmlwdCB0eXBlPSJ0ZXh0L2pzb24iIGlkPSJleHBlY3RlZCI+Ci17Ci0gICJzdW1tYXJpemVk
X3N0YXR1cyI6IHsKLSAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgInN0YXR1c19zdHJpbmciOiAi
T0siCi0gIH0sCi0gICJzdW1tYXJpemVkX3Rlc3RzIjogWwotICAgIHsKLSAgICAgICJtZXNzYWdl
IjogbnVsbCwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibmFtZSI6ICJmaXJzdCBw
cm9taXNlX3Rlc3QiLAotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIKLSAgICB9LAotICAg
IHsKLSAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAg
ICAibmFtZSI6ICJmaXJzdCBzeW5jaHJvbm91cyB0ZXN0IiwKLSAgICAgICJzdGF0dXNfc3RyaW5n
IjogIlBBU1MiCi0gICAgfSwKLSAgICB7Ci0gICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAi
cHJvcGVydGllcyI6IHt9LAotICAgICAgIm5hbWUiOiAic2Vjb25kIHByb21pc2VfdGVzdCIsCi0g
ICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIgotICAgIH0sCi0gICAgewotICAgICAgIm1lc3Nh
Z2UiOiBudWxsLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJuYW1lIjogInNlY29u
ZCBzeW5jaHJvbm91cyB0ZXN0IiwKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiCi0gICAg
fQotICBdLAotICAidHlwZSI6ICJjb21wbGV0ZSIKLX0KLTwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVz
dC90ZXN0cy9mdW5jdGlvbmFsL3Byb21pc2UuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC9wcm9t
aXNlLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDlkYjFkZWMwZjllLi4wMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvcHJvbWlzZS5odG1sCisrKyAvZGV2L251
bGwKQEAgLTEsMjIxICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLTxt
ZXRhIG5hbWU9InZhcmlhbnQiIGNvbnRlbnQ9Ij9rZWVwLXByb21pc2UiPgotPHRpdGxlPlByb21p
c2UgVGVzdHM8L3RpdGxlPgotPHNjcmlwdCBzcmM9Ii4uLy4uL3ZhcmlhbnRzLmpzIj48L3Njcmlw
dD4KLTwvaGVhZD4KLTxib2R5PgotPGgxPlByb21pc2UgVGVzdHM8L2gxPgotPHA+VGhpcyB0ZXN0
IGRlbW9uc3RyYXRlcyB0aGUgdXNlIG9mIDx0dD5wcm9taXNlX3Rlc3Q8L3R0Pi4gQXNzdW1lcyBF
Q01BU2NyaXB0IDYKLVByb21pc2Ugc3VwcG9ydC4gU29tZSBmYWlsdXJlcyBhcmUgZXhwZWN0ZWQu
PC9wPgotPGRpdiBpZD0ibG9nIj48L2Rpdj4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci10ZXN0KAotICAgIGZ1bmN0aW9uKCkgewot
ICAgICAgICB2YXIgcCA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCl7fSk7
Ci0gICAgICAgIGFzc2VydF90cnVlKCJ0aGVuIiBpbiBwKTsKLSAgICAgICAgYXNzZXJ0X2VxdWFs
cyh0eXBlb2YgUHJvbWlzZS5yZXNvbHZlLCAiZnVuY3Rpb24iKTsKLSAgICAgICAgYXNzZXJ0X2Vx
dWFscyh0eXBlb2YgUHJvbWlzZS5yZWplY3QsICJmdW5jdGlvbiIpOwotICAgIH0sCi0gICAgIlBy
b21pc2VzIGFyZSBzdXBwb3J0ZWQgaW4geW91ciBicm93c2VyIik7Ci0KLXByb21pc2VfdGVzdCgK
LSAgICBmdW5jdGlvbigpIHsKLSAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgieCIpCi0g
ICAgICAgICAgICAudGhlbigKLSAgICAgICAgICAgICAgICBmdW5jdGlvbih2YWx1ZSkgewotICAg
ICAgICAgICAgICAgICAgICBhc3NlcnRfZXF1YWxzKHZhbHVlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICJ4IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAi
RnVsZmlsbGVkIHByb21pc2Ugc2hvdWxkIHBhc3MgcmVzdWx0IHRvICIgKwotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJmdWxmaWxsIHJlYWN0aW9uLiIpOwotICAgICAgICAgICAg
ICAgIH0pOwotICAgIH0sCi0gICAgIlByb21pc2UgZnVsZmlsbG1lbnQgd2l0aCByZXN1bHQiKTsK
LQotcHJvbWlzZV90ZXN0KAotICAgIGZ1bmN0aW9uKHQpIHsKLSAgICAgICAgcmV0dXJuIFByb21p
c2UucmVqZWN0KG5ldyBFcnJvcigiZmFpbCIpKQotICAgICAgICAgICAgLnRoZW4odC51bnJlYWNo
ZWRfZnVuYygiUHJvbWlzZSBzaG91bGQgcmVqZWN0IiksCi0gICAgICAgICAgICAgICAgZnVuY3Rp
b24ocmVhc29uKSB7Ci0gICAgICAgICAgICAgICAgICAgIGFzc2VydF90cnVlKAotICAgICAgICAg
ICAgICAgICAgICAgICAgcmVhc29uIGluc3RhbmNlb2YgRXJyb3IsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAiUmVqZWN0ZWQgcHJvbWlzZSBzaG91bGQgcGFzcyByZWFzb24gdG8gZnVsZmlsbCBy
ZWFjdGlvbi4iKTsKLSAgICAgICAgICAgICAgICAgICAgYXNzZXJ0X2VxdWFscygKLSAgICAgICAg
ICAgICAgICAgICAgICAgIHJlYXNvbi5tZXNzYWdlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ImZhaWwiLAotICAgICAgICAgICAgICAgICAgICAgICAgIlJlamVjdGVkIHByb21pc2Ugc2hvdWxk
IHBhc3MgcmVhc29uIHRvIHJlamVjdCByZWFjdGlvbi4iKTsKLSAgICAgICAgICAgICAgICB9KTsK
LSAgICB9LAotICAgICJQcm9taXNlIHJlamVjdGlvbiB3aXRoIHJlc3VsdCIpOwotCi1wcm9taXNl
X3Rlc3QoCi0gICAgZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciByZXNvbHV0aW9ucyA9IFtdOwot
ICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCJhIikKLSAgICAgICAgICAgIC50aGVuKAot
ICAgICAgICAgICAgICAgIGZ1bmN0aW9uKHZhbHVlKSB7Ci0gICAgICAgICAgICAgICAgICAgIHJl
c29sdXRpb25zLnB1c2godmFsdWUpOwotICAgICAgICAgICAgICAgICAgICByZXR1cm4gImIiOwot
ICAgICAgICAgICAgICAgIH0pCi0gICAgICAgICAgICAudGhlbigKLSAgICAgICAgICAgICAgICBm
dW5jdGlvbih2YWx1ZSkgewotICAgICAgICAgICAgICAgICAgICByZXNvbHV0aW9ucy5wdXNoKHZh
bHVlKTsKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuICJjIjsKLSAgICAgICAgICAgICAgICB9
KQotICAgICAgICAgICAgLnRoZW4oCi0gICAgICAgICAgICAgICAgZnVuY3Rpb24odmFsdWUpIHsK
LSAgICAgICAgICAgICAgICAgICAgcmVzb2x1dGlvbnMucHVzaCh2YWx1ZSk7Ci0gICAgICAgICAg
ICAgICAgICAgIGFzc2VydF9hcnJheV9lcXVhbHMocmVzb2x1dGlvbnMsIFsiYSIsICJiIiwgImMi
XSk7Ci0gICAgICAgICAgICAgICAgfSk7Ci0gICAgfSwKLSAgICAiQ2hhaW4gb2YgcHJvbWlzZSBy
ZXNvbHV0aW9ucyIpOwotCi1wcm9taXNlX3Rlc3QoCi0gICAgZnVuY3Rpb24odCkgewotICAgICAg
ICB2YXIgcmVzb2x1dGlvbnMgPSBbXTsKLSAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgi
eCIpCi0gICAgICAgICAgICAudGhlbigKLSAgICAgICAgICAgICAgICBmdW5jdGlvbih2YWx1ZSkg
ewotICAgICAgICAgICAgICAgICAgICBhc3NlcnRfdHJ1ZShmYWxzZSwgIkV4cGVjdGVkIGZhaWx1
cmUuIik7Ci0gICAgICAgICAgICAgICAgfSkKLSAgICAgICAgICAgIC50aGVuKHQudW5yZWFjaGVk
X2Z1bmMoIlVORVhQRUNURUQgRkFJTFVSRTogUHJvbWlzZSBzaG91bGQgbm90IGhhdmUgcmVzb2x2
ZWQuIikpOwotICAgIH0sCi0gICAgIkFzc2VydGlvbiBmYWlsdXJlIGluIGEgZnVsZmlsbCByZWFj
dGlvbiAoc2hvdWxkIEZBSUwgd2l0aCBhbiBleHBlY3RlZCBmYWlsdXJlKSIpOwotCi1wcm9taXNl
X3Rlc3QoCi0gICAgZnVuY3Rpb24odCkgewotICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoCi0g
ICAgICAgICAgICAgICAgZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7Ci0gICAgICAgICAgICAg
ICAgICAgIHJlamVjdCgxMjMpOwotICAgICAgICAgICAgICAgIH0pCi0gICAgICAgICAgICAudGhl
bih0LnVucmVhY2hlZF9mdW5jKCJVTkVYUEVDVEVEIEZBSUxVUkU6IEZ1bGZpbGwgcmVhY3Rpb24g
cmVhY2hlZCBhZnRlciByZWplY3Rpb24uIiksCi0gICAgICAgICAgICAgICAgICB0LnVucmVhY2hl
ZF9mdW5jKCJFeHBlY3RlZCBmYWlsdXJlLiIpKTsKLSAgICB9LAotICAgICJ1bnJlYWNoZWRfZnVu
YyBhcyByZWFjdG9yIChzaG91bGQgRkFJTCB3aXRoIGFuIGV4cGVjdGVkIGZhaWx1cmUpIik7Ci0K
LXByb21pc2VfdGVzdCgKLSAgICBmdW5jdGlvbigpIHsKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0g
ICAgfSwKLSAgICAicHJvbWlzZV90ZXN0IHdpdGggZnVuY3Rpb24gdGhhdCBkb2Vzbid0IHJldHVy
biBhIFByb21pc2UgKHNob3VsZCBGQUlMKSIpOwotCi1wcm9taXNlX3Rlc3QoZnVuY3Rpb24oKXt9
LAotICAgICAgICAgICAgICJwcm9taXNlX3Rlc3Qgd2l0aCBmdW5jdGlvbiB0aGF0IGRvZXNuJ3Qg
cmV0dXJuIGFueXRoaW5nIik7Ci0KLXByb21pc2VfdGVzdCgKLSAgICBmdW5jdGlvbigpIHsgcmV0
dXJuIHsgdGhlbjogMjMgfTsgfSwKLSAgICAicHJvbWlzZV90ZXN0IHRoYXQgcmV0dXJucyBhIG5v
bi10aGVuYWJsZSAoc2hvdWxkIEZBSUwpIik7Ci0KLXByb21pc2VfdGVzdCgKLSAgICBmdW5jdGlv
bigpIHsKLSAgICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KCJFeHBlY3RlZCByZWplY3Rpb24i
KTsKLSAgICB9LAotICAgICJwcm9taXNlX3Rlc3Qgd2l0aCB1bmhhbmRsZWQgcmVqZWN0aW9uIChz
aG91bGQgRkFJTCkiKTsKLQotcHJvbWlzZV90ZXN0KAotICAgIGZ1bmN0aW9uKCkgewotICAgICAg
ICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKDEwKQotICAgICAgICAgICAgLnRoZW4oCi0gICAgICAg
ICAgICAgICAgZnVuY3Rpb24odmFsdWUpIHsKLSAgICAgICAgICAgICAgICAgICAgdGhyb3cgRXJy
b3IoIkV4cGVjdGVkIGV4Y2VwdGlvbi4iKTsKLSAgICAgICAgICAgICAgICB9KTsKLSAgICB9LAot
ICAgICJwcm9taXNlX3Rlc3Qgd2l0aCB1bmhhbmRsZWQgZXhjZXB0aW9uIGluIGZ1bGZpbGwgcmVh
Y3Rpb24gKHNob3VsZCBGQUlMKSIpOwotCi1wcm9taXNlX3Rlc3QoCi0gICAgZnVuY3Rpb24odCkg
ewotICAgICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QoMTApCi0gICAgICAgICAgICAudGhlbigK
LSAgICAgICAgICAgICAgICB0LnVucmVhY2hlZF9mdW5jKCJVTkVYUEVDVEVEIEZBSUxVUkU6IEZ1
bGZpbGwgcmVhY3Rpb24gcmVhY2hlZCBhZnRlciByZWplY3Rpb24uIiksCi0gICAgICAgICAgICAg
ICAgZnVuY3Rpb24odmFsdWUpIHsKLSAgICAgICAgICAgICAgICAgICAgdGhyb3cgRXJyb3IoIkV4
cGVjdGVkIGV4Y2VwdGlvbi4iKTsKLSAgICAgICAgICAgICAgICB9KTsKLSAgICB9LAotICAgICJw
cm9taXNlX3Rlc3Qgd2l0aCB1bmhhbmRsZWQgZXhjZXB0aW9uIGluIHJlamVjdCByZWFjdGlvbiAo
c2hvdWxkIEZBSUwpIik7Ci08L3NjcmlwdD4KLTxzY3JpcHQgdHlwZT0idGV4dC9qc29uIiBpZD0i
ZXhwZWN0ZWQiPgotewotICAic3VtbWFyaXplZF9zdGF0dXMiOiB7Ci0gICAgInN0YXR1c19zdHJp
bmciOiAiT0siLAotICAgICJtZXNzYWdlIjogbnVsbAotICB9LAotICAic3VtbWFyaXplZF90ZXN0
cyI6IFsKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJGQUlMIiwKLSAgICAgICJuYW1l
IjogIkFzc2VydGlvbiBmYWlsdXJlIGluIGEgZnVsZmlsbCByZWFjdGlvbiAoc2hvdWxkIEZBSUwg
d2l0aCBhbiBleHBlY3RlZCBmYWlsdXJlKSIsCi0gICAgICAibWVzc2FnZSI6ICJhc3NlcnRfdHJ1
ZTogRXhwZWN0ZWQgZmFpbHVyZS4gZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UiLAotICAgICAgInBy
b3BlcnRpZXMiOiB7fQotICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFT
UyIsCi0gICAgICAibmFtZSI6ICJDaGFpbiBvZiBwcm9taXNlIHJlc29sdXRpb25zIiwKLSAgICAg
ICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30KLSAgICB9LAotICAgIHsK
LSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUiOiAiUHJvbWlzZSBm
dWxmaWxsbWVudCB3aXRoIHJlc3VsdCIsCi0gICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAi
cHJvcGVydGllcyI6IHt9Ci0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQ
QVNTIiwKLSAgICAgICJuYW1lIjogIlByb21pc2UgcmVqZWN0aW9uIHdpdGggcmVzdWx0IiwKLSAg
ICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30KLSAgICB9LAotICAg
IHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUiOiAiUHJvbWlz
ZXMgYXJlIHN1cHBvcnRlZCBpbiB5b3VyIGJyb3dzZXIiLAotICAgICAgIm1lc3NhZ2UiOiBudWxs
LAotICAgICAgInByb3BlcnRpZXMiOiB7fQotICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19z
dHJpbmciOiAiRkFJTCIsCi0gICAgICAibmFtZSI6ICJwcm9taXNlX3Rlc3Qgd2l0aCBmdW5jdGlv
biB0aGF0IGRvZXNuJ3QgcmV0dXJuIGEgUHJvbWlzZSAoc2hvdWxkIEZBSUwpIiwKLSAgICAgICJt
ZXNzYWdlIjogInByb21pc2VfdGVzdDogdGVzdCBib2R5IG11c3QgcmV0dXJuIGEgJ3RoZW5hYmxl
JyBvYmplY3QgKHJlY2VpdmVkIGFuIG9iamVjdCB3aXRoIG5vIGB0aGVuYCBtZXRob2QpIiwKLSAg
ICAgICJwcm9wZXJ0aWVzIjoge30KLSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5n
IjogIkZBSUwiLAotICAgICAgIm5hbWUiOiAicHJvbWlzZV90ZXN0IHdpdGggZnVuY3Rpb24gdGhh
dCBkb2Vzbid0IHJldHVybiBhbnl0aGluZyIsCi0gICAgICAibWVzc2FnZSI6ICJwcm9taXNlX3Rl
c3Q6IHRlc3QgYm9keSBtdXN0IHJldHVybiBhICd0aGVuYWJsZScgb2JqZWN0IChyZWNlaXZlZCB1
bmRlZmluZWQpIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30KLSAgICB9LAotICAgIHsKLSAgICAg
ICJzdGF0dXNfc3RyaW5nIjogIkZBSUwiLAotICAgICAgIm5hbWUiOiAicHJvbWlzZV90ZXN0IHRo
YXQgcmV0dXJucyBhIG5vbi10aGVuYWJsZSAoc2hvdWxkIEZBSUwpIiwKLSAgICAgICJtZXNzYWdl
IjogInByb21pc2VfdGVzdDogdGVzdCBib2R5IG11c3QgcmV0dXJuIGEgJ3RoZW5hYmxlJyBvYmpl
Y3QgKHJlY2VpdmVkIGFuIG9iamVjdCB3aXRoIG5vIGB0aGVuYCBtZXRob2QpIiwKLSAgICAgICJw
cm9wZXJ0aWVzIjoge30KLSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIkZB
SUwiLAotICAgICAgIm5hbWUiOiAicHJvbWlzZV90ZXN0IHdpdGggdW5oYW5kbGVkIGV4Y2VwdGlv
biBpbiBmdWxmaWxsIHJlYWN0aW9uIChzaG91bGQgRkFJTCkiLAotICAgICAgIm1lc3NhZ2UiOiAi
cHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCBcIkVy
cm9yOiBFeHBlY3RlZCBleGNlcHRpb24uXCIiLAotICAgICAgInByb3BlcnRpZXMiOiB7fQotICAg
IH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiRkFJTCIsCi0gICAgICAibmFtZSI6
ICJwcm9taXNlX3Rlc3Qgd2l0aCB1bmhhbmRsZWQgZXhjZXB0aW9uIGluIHJlamVjdCByZWFjdGlv
biAoc2hvdWxkIEZBSUwpIiwKLSAgICAgICJtZXNzYWdlIjogInByb21pc2VfdGVzdDogVW5oYW5k
bGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgXCJFcnJvcjogRXhwZWN0ZWQgZXhjZXB0
aW9uLlwiIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30KLSAgICB9LAotICAgIHsKLSAgICAgICJz
dGF0dXNfc3RyaW5nIjogIkZBSUwiLAotICAgICAgIm5hbWUiOiAicHJvbWlzZV90ZXN0IHdpdGgg
dW5oYW5kbGVkIHJlamVjdGlvbiAoc2hvdWxkIEZBSUwpIiwKLSAgICAgICJtZXNzYWdlIjogInBy
b21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBcIkV4cGVjdGVkIHJl
amVjdGlvblwiIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30KLSAgICB9LAotICAgIHsKLSAgICAg
ICJzdGF0dXNfc3RyaW5nIjogIkZBSUwiLAotICAgICAgIm5hbWUiOiAidW5yZWFjaGVkX2Z1bmMg
YXMgcmVhY3RvciAoc2hvdWxkIEZBSUwgd2l0aCBhbiBleHBlY3RlZCBmYWlsdXJlKSIsCi0gICAg
ICAibWVzc2FnZSI6ICJhc3NlcnRfdW5yZWFjaGVkOiBFeHBlY3RlZCBmYWlsdXJlLiBSZWFjaGVk
IHVucmVhY2hhYmxlIGNvZGUiLAotICAgICAgInByb3BlcnRpZXMiOiB7fQotICAgIH0KLSAgXSwK
LSAgInR5cGUiOiAiY29tcGxldGUiCi19Ci08L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMv
ZnVuY3Rpb25hbC9xdWV1ZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFsL3F1ZXVlLmh0bWwKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDRlYTMyYTJiYzhlLi4wMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90
ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvcXVldWUuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDEzMiAr
MCwwIEBACi08IURPQ1RZUEUgSFRNTD4KLTxodG1sPgotPGhlYWQ+Ci08bWV0YSBuYW1lPSJ2YXJp
YW50IiBjb250ZW50PSI/a2VlcC1wcm9taXNlIj4KLTx0aXRsZT5UZXN0IHF1ZXVpbmcgc3luY2hy
b25vdXMgdGVzdHM8L3RpdGxlPgotPHNjcmlwdCBzcmM9Ii4uLy4uL3ZhcmlhbnRzLmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0iLi4vLi4vLi4vdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPC9o
ZWFkPgotPGJvZHk+Ci08ZGl2IGlkPSJsb2ciPjwvZGl2PgotCi08c2NyaXB0PgotInVzZSBzdHJp
Y3QiOwotdmFyIGluSW5pdGlhbFR1cm4gPSB0cnVlOwotCi10ZXN0KGZ1bmN0aW9uKHQpIHsKLSAg
YXNzZXJ0X3RydWUoCi0gICAgaW5Jbml0aWFsVHVybiwgInNob3VsZCBleGVjdXRlIGluIHRoZSBp
bml0aWFsIHR1cm4gb2YgdGhlIGV2ZW50IGxvb3AiCi0gICk7Ci19LCAiRmlyc3Qgc3luY2hyb25v
dXMgdGVzdCIpOwotCi10ZXN0KGZ1bmN0aW9uKHQpIHsKLSAgYXNzZXJ0X3RydWUoCi0gICAgaW5J
bml0aWFsVHVybiwgInNob3VsZCBleGVjdXRlIGluIHRoZSBpbml0aWFsIHR1cm4gb2YgdGhlIGV2
ZW50IGxvb3AiCi0gICk7Ci19LCAiU2Vjb25kIHN5bmNocm9ub3VzIHRlc3QiKTsKLQotYXN5bmNf
dGVzdChmdW5jdGlvbih0KSB7Ci0gIGFzc2VydF90cnVlKAotICAgIGluSW5pdGlhbFR1cm4sICJz
aG91bGQgZXhlY3V0ZSBpbiB0aGUgaW5pdGlhbCB0dXJuIG9mIHRoZSBldmVudCBsb29wIgotICAp
OwotICB0LmRvbmUoKTsKLX0sICJGaXJzdCBhc3luY190ZXN0IChydW4gaW4gcGFyYWxsZWwpIik7
Ci0KLWFzeW5jX3Rlc3QoZnVuY3Rpb24odCkgewotICBhc3NlcnRfdHJ1ZSgKLSAgICBpbkluaXRp
YWxUdXJuLCAic2hvdWxkIGV4ZWN1dGUgaW4gdGhlIGluaXRpYWwgdHVybiBvZiB0aGUgZXZlbnQg
bG9vcCIKLSAgKTsKLSAgdC5kb25lKCk7Ci19LCAiU2Vjb25kIGFzeW5jX3Rlc3QgKHJ1biBpbiBw
YXJhbGxlbCkiKTsKLQotdGVzdChmdW5jdGlvbih0KSB7Ci0gIGFzc2VydF90cnVlKAotICAgIGlu
SW5pdGlhbFR1cm4sICJzaG91bGQgZXhlY3V0ZSBpbiB0aGUgaW5pdGlhbCB0dXJuIG9mIHRoZSBl
dmVudCBsb29wIgotICApOwotfSwgIlRoaXJkIHN5bmNocm9ub3VzIHRlc3QiKTsKLQotcHJvbWlz
ZV90ZXN0KGZ1bmN0aW9uKHQpIHsKLSAgYXNzZXJ0X2ZhbHNlKAotICAgIGluSW5pdGlhbFR1cm4s
ICJzaG91bGQgbm90IGV4ZWN1dGUgaW4gdGhlIGluaXRpYWwgdHVybiBvZiB0aGUgZXZlbnQgbG9v
cCIKLSAgKTsKLQotICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7Ci19LCAicHJvbWlzZV90ZXN0
Iik7Ci0KLWFzeW5jX3Rlc3QoZnVuY3Rpb24odCkgewotICBhc3NlcnRfdHJ1ZSgKLSAgICBpbklu
aXRpYWxUdXJuLCAic2hvdWxkIGV4ZWN1dGUgaW4gdGhlIGluaXRpYWwgdHVybiBvZiB0aGUgZXZl
bnQgbG9vcCIKLSAgKTsKLSAgdC5kb25lKCk7Ci19LCAiVGhpcmQgYXN5bmNfdGVzdCAocnVuIGlu
IHBhcmFsbGVsKSIpOwotCi10ZXN0KGZ1bmN0aW9uKHQpIHsKLSAgYXNzZXJ0X3RydWUoCi0gICAg
aW5Jbml0aWFsVHVybiwgInNob3VsZCBleGVjdXRlIGluIHRoZSBpbml0aWFsIHR1cm4gb2YgdGhl
IGV2ZW50IGxvb3AiCi0gICk7Ci19LCAiRm91cnRoIHN5bmNocm9ub3VzIHRlc3QiKTsKLQotaW5J
bml0aWFsVHVybiA9IGZhbHNlOwotPC9zY3JpcHQ+Ci08c2NyaXB0IHR5cGU9InRleHQvanNvbiIg
aWQ9ImV4cGVjdGVkIj4KLXsKLSAgInN1bW1hcml6ZWRfc3RhdHVzIjogewotICAgICJzdGF0dXNf
c3RyaW5nIjogIk9LIiwKLSAgICAibWVzc2FnZSI6IG51bGwKLSAgfSwKLSAgInN1bW1hcml6ZWRf
dGVzdHMiOiBbCi0gICAgewotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJuYW1lIjog
IkZpcnN0IGFzeW5jX3Rlc3QgKHJ1biBpbiBwYXJhbGxlbCkiLAotICAgICAgInN0YXR1c19zdHJp
bmciOiAiUEFTUyIsCi0gICAgICAibWVzc2FnZSI6IG51bGwKLSAgICB9LAotICAgIHsKLSAgICAg
ICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibmFtZSI6ICJGaXJzdCBzeW5jaHJvbm91cyB0ZXN0
IiwKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgIm1lc3NhZ2UiOiBudWxs
Ci0gICAgfSwKLSAgICB7Ci0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm5hbWUiOiAi
Rm91cnRoIHN5bmNocm9ub3VzIHRlc3QiLAotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIs
Ci0gICAgICAibWVzc2FnZSI6IG51bGwKLSAgICB9LAotICAgIHsKLSAgICAgICJwcm9wZXJ0aWVz
Ijoge30sCi0gICAgICAibmFtZSI6ICJTZWNvbmQgYXN5bmNfdGVzdCAocnVuIGluIHBhcmFsbGVs
KSIsCi0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJtZXNzYWdlIjogbnVs
bAotICAgIH0sCi0gICAgewotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJuYW1lIjog
IlNlY29uZCBzeW5jaHJvbm91cyB0ZXN0IiwKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1Mi
LAotICAgICAgIm1lc3NhZ2UiOiBudWxsCi0gICAgfSwKLSAgICB7Ci0gICAgICAicHJvcGVydGll
cyI6IHt9LAotICAgICAgIm5hbWUiOiAiVGhpcmQgYXN5bmNfdGVzdCAocnVuIGluIHBhcmFsbGVs
KSIsCi0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJtZXNzYWdlIjogbnVs
bAotICAgIH0sCi0gICAgewotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJuYW1lIjog
IlRoaXJkIHN5bmNocm9ub3VzIHRlc3QiLAotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIs
Ci0gICAgICAibWVzc2FnZSI6IG51bGwKLSAgICB9LAotICAgIHsKLSAgICAgICJwcm9wZXJ0aWVz
Ijoge30sCi0gICAgICAibmFtZSI6ICJwcm9taXNlX3Rlc3QiLAotICAgICAgInN0YXR1c19zdHJp
bmciOiAiUEFTUyIsCi0gICAgICAibWVzc2FnZSI6IG51bGwKLSAgICB9Ci0gIF0sCi0gICJ0eXBl
IjogImNvbXBsZXRlIgotfQotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90
ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvc2luZ2xlLXBhZ2UtdGVzdC1mYWlsLmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3Rz
L2Z1bmN0aW9uYWwvc2luZ2xlLXBhZ2UtdGVzdC1mYWlsLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDkxNjlhNWE1NGUyLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0
aW9uYWwvc2luZ2xlLXBhZ2UtdGVzdC1mYWlsLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwzMSAr
MCwwIEBACi08IURPQ1RZUEUgSFRNTD4KLTxtZXRhIG5hbWU9InZhcmlhbnQiIGNvbnRlbnQ9IiI+
Ci08bWV0YSBuYW1lPSJ2YXJpYW50IiBjb250ZW50PSI/a2VlcC1wcm9taXNlIj4KLTx0aXRsZT5F
eGFtcGxlIHdpdGggZmlsZV9pc190ZXN0IChzaG91bGQgZmFpbCk8L3RpdGxlPgotPHNjcmlwdCBz
cmM9Ii4uLy4uL3ZhcmlhbnRzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci1zZXR1cCh7IHNpbmdsZV90ZXN0
OiB0cnVlIH0pOwotb25sb2FkID0gZnVuY3Rpb24oKSB7Ci0gIGFzc2VydF90cnVlKGZhbHNlKTsK
LSAgZG9uZSgpOwotfQotPC9zY3JpcHQ+Ci08c2NyaXB0IHR5cGU9InRleHQvanNvbiIgaWQ9ImV4
cGVjdGVkIj4KLXsKLSAgInN1bW1hcml6ZWRfc3RhdHVzIjogewotICAgICJzdGF0dXNfc3RyaW5n
IjogIk9LIiwKLSAgICAibWVzc2FnZSI6IG51bGwKLSAgfSwKLSAgInN1bW1hcml6ZWRfdGVzdHMi
OiBbCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiRkFJTCIsCi0gICAgICAibmFtZSI6
ICJFeGFtcGxlIHdpdGggZmlsZV9pc190ZXN0IChzaG91bGQgZmFpbCkiLAotICAgICAgInByb3Bl
cnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogInVuY2F1Z2h0IGV4Y2VwdGlvbjogRXJyb3I6
IGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZSIKLSAgICB9Ci0gIF0sCi0gICJ0
eXBlIjogImNvbXBsZXRlIgotfQotPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0
aW9uYWwvc2luZ2xlLXBhZ2UtdGVzdC1uby1hc3NlcnRpb25zLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0
aW9uYWwvc2luZ2xlLXBhZ2UtdGVzdC1uby1hc3NlcnRpb25zLmh0bWwKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IGYxYjE4OTIzZGU0Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1
bmN0aW9uYWwvc2luZ2xlLXBhZ2UtdGVzdC1uby1hc3NlcnRpb25zLmh0bWwKKysrIC9kZXYvbnVs
bApAQCAtMSwyOCArMCwwIEBACi08IURPQ1RZUEUgSFRNTD4KLTxtZXRhIG5hbWU9InZhcmlhbnQi
IGNvbnRlbnQ9IiI+Ci08bWV0YSBuYW1lPSJ2YXJpYW50IiBjb250ZW50PSI/a2VlcC1wcm9taXNl
Ij4KLTx0aXRsZT5FeGFtcGxlIHNpbmdsZSBwYWdlIHRlc3Qgd2l0aCBubyBhc3NlcnRzPC90aXRs
ZT4KLTxzY3JpcHQgc3JjPSIuLi8uLi92YXJpYW50cy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0Pgotc2V0dXAo
eyBzaW5nbGVfdGVzdDogdHJ1ZSB9KTsKLWRvbmUoKTsKLTwvc2NyaXB0PgotPHNjcmlwdCB0eXBl
PSJ0ZXh0L2pzb24iIGlkPSJleHBlY3RlZCI+Ci17Ci0gICJzdW1tYXJpemVkX3N0YXR1cyI6IHsK
LSAgICAic3RhdHVzX3N0cmluZyI6ICJPSyIsCi0gICAgIm1lc3NhZ2UiOiBudWxsCi0gIH0sCi0g
ICJzdW1tYXJpemVkX3Rlc3RzIjogWwotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBB
U1MiLAotICAgICAgIm5hbWUiOiAiRXhhbXBsZSBzaW5nbGUgcGFnZSB0ZXN0IHdpdGggbm8gYXNz
ZXJ0cyIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsCi0g
ICAgfQotICBdLAotICAidHlwZSI6ICJjb21wbGV0ZSIKLX0KLTwvc2NyaXB0PgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
dGVzdC90ZXN0cy9mdW5jdGlvbmFsL3NpbmdsZS1wYWdlLXRlc3Qtbm8tYm9keS5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90
ZXN0cy9mdW5jdGlvbmFsL3NpbmdsZS1wYWdlLXRlc3Qtbm8tYm9keS5odG1sCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwZjNkNGFkZjQ0Yi4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0
cy9mdW5jdGlvbmFsL3NpbmdsZS1wYWdlLXRlc3Qtbm8tYm9keS5odG1sCisrKyAvZGV2L251bGwK
QEAgLTEsMjkgKzAsMCBAQAotPCFET0NUWVBFIEhUTUw+Ci08bWV0YSBuYW1lPSJ2YXJpYW50IiBj
b250ZW50PSIiPgotPG1ldGEgbmFtZT0idmFyaWFudCIgY29udGVudD0iP2tlZXAtcHJvbWlzZSI+
Ci08dGl0bGU+RXhhbXBsZSBzaW5nbGUgcGFnZSB0ZXN0IHdpdGggbm8gYm9keTwvdGl0bGU+Ci08
c2NyaXB0IHNyYz0iLi4vLi4vdmFyaWFudHMuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLXNldHVwKHsgc2lu
Z2xlX3Rlc3Q6IHRydWUgfSk7Ci1hc3NlcnRfdHJ1ZSh0cnVlKTsKLWRvbmUoKTsKLTwvc2NyaXB0
PgotPHNjcmlwdCB0eXBlPSJ0ZXh0L2pzb24iIGlkPSJleHBlY3RlZCI+Ci17Ci0gICJzdW1tYXJp
emVkX3N0YXR1cyI6IHsKLSAgICAic3RhdHVzX3N0cmluZyI6ICJPSyIsCi0gICAgIm1lc3NhZ2Ui
OiBudWxsCi0gIH0sCi0gICJzdW1tYXJpemVkX3Rlc3RzIjogWwotICAgIHsKLSAgICAgICJzdGF0
dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUiOiAiRXhhbXBsZSBzaW5nbGUgcGFnZSB0
ZXN0IHdpdGggbm8gYm9keSIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3Nh
Z2UiOiBudWxsCi0gICAgfQotICBdLAotICAidHlwZSI6ICJjb21wbGV0ZSIKLX0KLTwvc2NyaXB0
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFsL3NpbmdsZS1wYWdlLXRlc3QtcGFzcy5o
dG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFsL3NpbmdsZS1wYWdlLXRlc3QtcGFzcy5odG1sCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlNDcyNTBkNzYzYy4uMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVz
dC90ZXN0cy9mdW5jdGlvbmFsL3NpbmdsZS1wYWdlLXRlc3QtcGFzcy5odG1sCisrKyAvZGV2L251
bGwKQEAgLTEsMzEgKzAsMCBAQAotPCFET0NUWVBFIEhUTUw+Ci08bWV0YSBuYW1lPSJ2YXJpYW50
IiBjb250ZW50PSIiPgotPG1ldGEgbmFtZT0idmFyaWFudCIgY29udGVudD0iP2tlZXAtcHJvbWlz
ZSI+Ci08dGl0bGU+RXhhbXBsZSB3aXRoIGZpbGVfaXNfdGVzdDwvdGl0bGU+Ci08c2NyaXB0IHNy
Yz0iLi4vLi4vdmFyaWFudHMuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLXNldHVwKHsgc2luZ2xlX3Rlc3Q6
IHRydWUgfSk7Ci1vbmxvYWQgPSBmdW5jdGlvbigpIHsKLSAgYXNzZXJ0X3RydWUodHJ1ZSk7Ci0g
IGRvbmUoKTsKLX0KLTwvc2NyaXB0PgotPHNjcmlwdCB0eXBlPSJ0ZXh0L2pzb24iIGlkPSJleHBl
Y3RlZCI+Ci17Ci0gICJzdW1tYXJpemVkX3N0YXR1cyI6IHsKLSAgICAic3RhdHVzX3N0cmluZyI6
ICJPSyIsCi0gICAgIm1lc3NhZ2UiOiBudWxsCi0gIH0sCi0gICJzdW1tYXJpemVkX3Rlc3RzIjog
WwotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUiOiAi
RXhhbXBsZSB3aXRoIGZpbGVfaXNfdGVzdCIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAg
ICAgIm1lc3NhZ2UiOiBudWxsCi0gICAgfQotICBdLAotICAidHlwZSI6ICJjb21wbGV0ZSIKLX0K
LTwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFsL3Rhc2stc2NoZWR1bGlu
Zy1wcm9taXNlLXRlc3QuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC90YXNrLXNjaGVkdWxpbmct
cHJvbWlzZS10ZXN0Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGZiNGNjMmRk
MjdkLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvdGFzay1zY2hlZHVsaW5n
LXByb21pc2UtdGVzdC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMjQzICswLDAgQEAKLTwhZG9j
dHlwZSBodG1sPgotPG1ldGEgbmFtZT0idmFyaWFudCIgY29udGVudD0iP2tlZXAtcHJvbWlzZSI+
Ci08dGl0bGU+dGVzdGhhcm5lc3MuanMgLSB0YXNrIHNjaGVkdWxpbmc8L3RpdGxlPgotPHNjcmlw
dCBzcmM9Ii4uLy4uL3ZhcmlhbnRzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8u
Li90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4vdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLXZhciBzYW1lVGFzayA9IG51bGw7
Ci12YXIgc2FtZU1pY3JvdGFzayA9IG51bGw7Ci12YXIgZXhwZWN0ZWRFcnJvciA9IG5ldyBFcnJv
cignVGhpcyBlcnJvciBpcyBleHBlY3RlZCcpOwotCi1wcm9taXNlX3Rlc3QoZnVuY3Rpb24oKSB7
Ci0gIHJldHVybiBQcm9taXNlLnJlc29sdmUoKQotICAgIC50aGVuKGZ1bmN0aW9uKCkgewotICAg
ICAgICBzYW1lTWlyb3Rhc2sgPSB0cnVlOwotICAgICAgICBQcm9taXNlLnJlc29sdmUoKS50aGVu
KCgpID0+IHNhbWVNaWNyb3Rhc2sgPSBmYWxzZSk7Ci0gICAgICB9KTsKLX0sICdwcm9taXNlIHRl
c3Qgd2l0aG91dCBjbGVhbnVwICMxJyk7Ci0KLXByb21pc2VfdGVzdChmdW5jdGlvbigpIHsKLSAg
YXNzZXJ0X2ZhbHNlKHNhbWVNaWNyb3Rhc2spOwotCi0gIHJldHVybiBQcm9taXNlLnJlc29sdmUo
KTsKLX0sICdzdWItdGVzdCB3aXRoIDAgY2xlYW51cCBmdW5jdGlvbnMgZXhlY3V0ZXMgaW4gZGlz
dGluY3QgbWljcm90YXNrIGZyb20gYSBwYXNzaW5nIHN1Yi10ZXN0Jyk7Ci0KLXByb21pc2VfdGVz
dChmdW5jdGlvbigpIHsKLSAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpCi0gICAgLnRoZW4oZnVu
Y3Rpb24oKSB7Ci0gICAgICAgIHNhbWVNaXJvdGFzayA9IHRydWU7Ci0gICAgICAgIFByb21pc2Uu
cmVzb2x2ZSgpLnRoZW4oKCkgPT4gc2FtZU1pY3JvdGFzayA9IGZhbHNlKTsKLSAgICAgICAgdGhy
b3cgZXhwZWN0ZWRFcnJvcjsKLSAgICAgIH0pOwotfSwgJ2ZhaWxpbmcgcHJvbWlzZSB0ZXN0IHdp
dGhvdXQgY2xlYW51cCAjMScpOwotCi1wcm9taXNlX3Rlc3QoZnVuY3Rpb24oKSB7Ci0gIGFzc2Vy
dF9mYWxzZShzYW1lTWljcm90YXNrKTsKLQotICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7Ci19
LCAnc3ViLXRlc3Qgd2l0aCAwIGNsZWFudXAgZnVuY3Rpb25zIGV4ZWN1dGVzIGluIGRpc3RpbmN0
IG1pY3JvdGFzayBmcm9tIGEgZmFpbGluZyBzdWItdGVzdCcpOwotCi1wcm9taXNlX3Rlc3QoZnVu
Y3Rpb24odCkgewotICB0LmFkZF9jbGVhbnVwKGZ1bmN0aW9uKCkge30pOwotCi0gIHJldHVybiBQ
cm9taXNlLnJlc29sdmUoKQotICAgIC50aGVuKGZ1bmN0aW9uKCkgewotICAgICAgICBzYW1lTWly
b3Rhc2sgPSB0cnVlOwotICAgICAgICBQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpID0+IHNhbWVN
aWNyb3Rhc2sgPSBmYWxzZSk7Ci0gICAgICB9KTsKLX0sICdwcm9taXNlIHRlc3Qgd2l0aCBjbGVh
bnVwICMxJyk7Ci0KLXByb21pc2VfdGVzdChmdW5jdGlvbigpIHsKLSAgYXNzZXJ0X2ZhbHNlKHNh
bWVNaWNyb3Rhc2spOwotCi0gIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTsKLX0sICdzdWItdGVz
dCB3aXRoIHNvbWUgY2xlYW51cCBmdW5jdGlvbnMgZXhlY3V0ZXMgaW4gZGlzdGluY3QgbWljcm90
YXNrIGZyb20gYSBwYXNzaW5nIHN1Yi10ZXN0Jyk7Ci0KLXByb21pc2VfdGVzdChmdW5jdGlvbih0
KSB7Ci0gIHQuYWRkX2NsZWFudXAoZnVuY3Rpb24oKSB7fSk7Ci0KLSAgcmV0dXJuIFByb21pc2Uu
cmVzb2x2ZSgpCi0gICAgLnRoZW4oZnVuY3Rpb24oKSB7Ci0gICAgICAgIHNhbWVNaXJvdGFzayA9
IHRydWU7Ci0gICAgICAgIFByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCkgPT4gc2FtZU1pY3JvdGFz
ayA9IGZhbHNlKTsKLSAgICAgICAgdGhyb3cgZXhwZWN0ZWRFcnJvcjsKLSAgICAgIH0pOwotfSwg
J2ZhaWxpbmcgcHJvbWlzZSB0ZXN0IHdpdGggY2xlYW51cCAjMScpOwotCi1wcm9taXNlX3Rlc3Qo
ZnVuY3Rpb24oKSB7Ci0gIGFzc2VydF9mYWxzZShzYW1lTWljcm90YXNrKTsKLQotICByZXR1cm4g
UHJvbWlzZS5yZXNvbHZlKCk7Ci19LCAnc3ViLXRlc3Qgd2l0aCBzb21lIGNsZWFudXAgZnVuY3Rp
b25zIGV4ZWN1dGVzIGluIGRpc3RpbmN0IG1pY3JvdGFzayBmcm9tIGEgZmFpbGluZyBzdWItdGVz
dCcpOwotCi1wcm9taXNlX3Rlc3QoZnVuY3Rpb24odCkgewotICByZXR1cm4gUHJvbWlzZS5yZXNv
bHZlKCkKLSAgICAudGhlbihmdW5jdGlvbigpIHsKLSAgICAgICAgc2FtZVRhc2sgPSB0cnVlOwot
ICAgICAgICB0LnN0ZXBfdGltZW91dCgoKSA9PiBzYW1lVGFzayA9IGZhbHNlLCAwKTsKLSAgICAg
IH0pOwotfSwgJ3Byb21pc2UgdGVzdCB3aXRob3V0IGNsZWFudXAgIzInKTsKLQotcHJvbWlzZV90
ZXN0KGZ1bmN0aW9uKCkgewotICBhc3NlcnRfdHJ1ZShzYW1lVGFzayk7Ci0KLSAgcmV0dXJuIFBy
b21pc2UucmVzb2x2ZSgpOwotfSwgJ3N1Yi10ZXN0IHdpdGggMCBjbGVhbnVwIGZ1bmN0aW9ucyBl
eGVjdXRlcyBpbiB0aGUgc2FtZSB0YXNrIGFzIGEgcGFzc2luZyBzdWItdGVzdCcpOwotCi1wcm9t
aXNlX3Rlc3QoZnVuY3Rpb24odCkgewotICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCkKLSAgICAu
dGhlbihmdW5jdGlvbigpIHsKLSAgICAgICAgc2FtZVRhc2sgPSB0cnVlOwotICAgICAgICB0LnN0
ZXBfdGltZW91dCgoKSA9PiBzYW1lVGFzayA9IGZhbHNlLCAwKTsKLSAgICAgICAgdGhyb3cgZXhw
ZWN0ZWRFcnJvcjsKLSAgICAgIH0pOwotfSwgJ2ZhaWxpbmcgcHJvbWlzZSB0ZXN0IHdpdGhvdXQg
Y2xlYW51cCAjMicpOwotCi1wcm9taXNlX3Rlc3QoZnVuY3Rpb24oKSB7Ci0gIGFzc2VydF90cnVl
KHNhbWVUYXNrKTsKLQotICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7Ci19LCAnc3ViLXRlc3Qg
d2l0aCAwIGNsZWFudXAgZnVuY3Rpb25zIGV4ZWN1dGVzIGluIHRoZSBzYW1lIHRhc2sgYXMgYSBm
YWlsaW5nIHN1Yi10ZXN0Jyk7Ci0KLXByb21pc2VfdGVzdChmdW5jdGlvbih0KSB7Ci0gIHQuYWRk
X2NsZWFudXAoZnVuY3Rpb24oKSB7fSk7Ci0KLSAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpCi0g
ICAgLnRoZW4oZnVuY3Rpb24oKSB7Ci0gICAgICAgIHNhbWVUYXNrID0gdHJ1ZTsKLSAgICAgICAg
dC5zdGVwX3RpbWVvdXQoKCkgPT4gc2FtZVRhc2sgPSBmYWxzZSwgMCk7Ci0gICAgICB9KTsKLX0s
ICdwcm9taXNlIHRlc3Qgd2l0aCBjbGVhbnVwICMyJyk7Ci0KLXByb21pc2VfdGVzdChmdW5jdGlv
bigpIHsKLSAgYXNzZXJ0X3RydWUoc2FtZVRhc2spOwotCi0gIHJldHVybiBQcm9taXNlLnJlc29s
dmUoKTsKLX0sICdzdWItdGVzdCB3aXRoIHNvbWUgY2xlYW51cCBmdW5jdGlvbnMgZXhlY3V0ZXMg
aW4gdGhlIHNhbWUgdGFzayBhcyBhIHBhc3Npbmcgc3ViLXRlc3QnKTsKLQotcHJvbWlzZV90ZXN0
KGZ1bmN0aW9uKHQpIHsKLSAgdC5hZGRfY2xlYW51cChmdW5jdGlvbigpIHt9KTsKLQotICByZXR1
cm4gUHJvbWlzZS5yZXNvbHZlKCkKLSAgICAudGhlbihmdW5jdGlvbigpIHsKLSAgICAgICAgc2Ft
ZVRhc2sgPSB0cnVlOwotICAgICAgICB0LnN0ZXBfdGltZW91dCgoKSA9PiBzYW1lVGFzayA9IGZh
bHNlLCAwKTsKLSAgICAgICAgdGhyb3cgZXhwZWN0ZWRFcnJvcjsKLSAgICAgIH0pOwotfSwgJ2Zh
aWxpbmcgcHJvbWlzZSB0ZXN0IHdpdGggY2xlYW51cCAjMicpOwotCi1wcm9taXNlX3Rlc3QoZnVu
Y3Rpb24oKSB7Ci0gIGFzc2VydF90cnVlKHNhbWVUYXNrKTsKLQotICByZXR1cm4gUHJvbWlzZS5y
ZXNvbHZlKCk7Ci19LCAnc3ViLXRlc3Qgd2l0aCBzb21lIGNsZWFudXAgZnVuY3Rpb25zIGV4ZWN1
dGVzIGluIHRoZSBzYW1lIHRhc2sgYXMgYSBmYWlsaW5nIHN1Yi10ZXN0Jyk7Ci08L3NjcmlwdD4K
LQotPHNjcmlwdCB0eXBlPSJ0ZXh0L2pzb24iIGlkPSJleHBlY3RlZCI+Ci17Ci0gICAgInN1bW1h
cml6ZWRfc3RhdHVzIjogewotICAgICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAgICJzdGF0
dXNfc3RyaW5nIjogIk9LIgotICAgIH0sCi0gICAgInN1bW1hcml6ZWRfdGVzdHMiOiBbCi0gICAg
ICAgIHsKLSAgICAgICAgICAgICJtZXNzYWdlIjogInByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJl
amVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgXCJFcnJvcjogVGhpcyBlcnJvciBpcyBleHBlY3Rl
ZFwiIiwKLSAgICAgICAgICAgICJuYW1lIjogImZhaWxpbmcgcHJvbWlzZSB0ZXN0IHdpdGggY2xl
YW51cCAjMSIsCi0gICAgICAgICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgICAgICAgInN0
YXR1c19zdHJpbmciOiAiRkFJTCIKLSAgICAgICAgfSwKLSAgICAgICAgewotICAgICAgICAgICAg
Im1lc3NhZ2UiOiAicHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6
IG9iamVjdCBcIkVycm9yOiBUaGlzIGVycm9yIGlzIGV4cGVjdGVkXCIiLAotICAgICAgICAgICAg
Im5hbWUiOiAiZmFpbGluZyBwcm9taXNlIHRlc3Qgd2l0aCBjbGVhbnVwICMyIiwKLSAgICAgICAg
ICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAgICAgICAic3RhdHVzX3N0cmluZyI6ICJGQUlM
IgotICAgICAgICB9LAotICAgICAgICB7Ci0gICAgICAgICAgICAibWVzc2FnZSI6ICJwcm9taXNl
X3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0IFwiRXJyb3I6IFRo
aXMgZXJyb3IgaXMgZXhwZWN0ZWRcIiIsCi0gICAgICAgICAgICAibmFtZSI6ICJmYWlsaW5nIHBy
b21pc2UgdGVzdCB3aXRob3V0IGNsZWFudXAgIzEiLAotICAgICAgICAgICAgInByb3BlcnRpZXMi
OiB7fSwKLSAgICAgICAgICAgICJzdGF0dXNfc3RyaW5nIjogIkZBSUwiCi0gICAgICAgIH0sCi0g
ICAgICAgIHsKLSAgICAgICAgICAgICJtZXNzYWdlIjogInByb21pc2VfdGVzdDogVW5oYW5kbGVk
IHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgXCJFcnJvcjogVGhpcyBlcnJvciBpcyBleHBl
Y3RlZFwiIiwKLSAgICAgICAgICAgICJuYW1lIjogImZhaWxpbmcgcHJvbWlzZSB0ZXN0IHdpdGhv
dXQgY2xlYW51cCAjMiIsCi0gICAgICAgICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgICAg
ICAgInN0YXR1c19zdHJpbmciOiAiRkFJTCIKLSAgICAgICAgfSwKLSAgICAgICAgewotICAgICAg
ICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgICAgICAgIm5hbWUiOiAicHJvbWlzZSB0ZXN0
IHdpdGggY2xlYW51cCAjMSIsCi0gICAgICAgICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAg
ICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIKLSAgICAgICAgfSwKLSAgICAgICAgewotICAg
ICAgICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgICAgICAgIm5hbWUiOiAicHJvbWlzZSB0
ZXN0IHdpdGggY2xlYW51cCAjMiIsCi0gICAgICAgICAgICAicHJvcGVydGllcyI6IHt9LAotICAg
ICAgICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIKLSAgICAgICAgfSwKLSAgICAgICAgewot
ICAgICAgICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgICAgICAgIm5hbWUiOiAicHJvbWlz
ZSB0ZXN0IHdpdGhvdXQgY2xlYW51cCAjMSIsCi0gICAgICAgICAgICAicHJvcGVydGllcyI6IHt9
LAotICAgICAgICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIKLSAgICAgICAgfSwKLSAgICAg
ICAgewotICAgICAgICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgICAgICAgIm5hbWUiOiAi
cHJvbWlzZSB0ZXN0IHdpdGhvdXQgY2xlYW51cCAjMiIsCi0gICAgICAgICAgICAicHJvcGVydGll
cyI6IHt9LAotICAgICAgICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIKLSAgICAgICAgfSwK
LSAgICAgICAgewotICAgICAgICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgICAgICAgIm5h
bWUiOiAic3ViLXRlc3Qgd2l0aCAwIGNsZWFudXAgZnVuY3Rpb25zIGV4ZWN1dGVzIGluIGRpc3Rp
bmN0IG1pY3JvdGFzayBmcm9tIGEgZmFpbGluZyBzdWItdGVzdCIsCi0gICAgICAgICAgICAicHJv
cGVydGllcyI6IHt9LAotICAgICAgICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIKLSAgICAg
ICAgfSwKLSAgICAgICAgewotICAgICAgICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgICAg
ICAgIm5hbWUiOiAic3ViLXRlc3Qgd2l0aCAwIGNsZWFudXAgZnVuY3Rpb25zIGV4ZWN1dGVzIGlu
IGRpc3RpbmN0IG1pY3JvdGFzayBmcm9tIGEgcGFzc2luZyBzdWItdGVzdCIsCi0gICAgICAgICAg
ICAicHJvcGVydGllcyI6IHt9LAotICAgICAgICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIK
LSAgICAgICAgfSwKLSAgICAgICAgewotICAgICAgICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAg
ICAgICAgICAgIm5hbWUiOiAic3ViLXRlc3Qgd2l0aCAwIGNsZWFudXAgZnVuY3Rpb25zIGV4ZWN1
dGVzIGluIHRoZSBzYW1lIHRhc2sgYXMgYSBmYWlsaW5nIHN1Yi10ZXN0IiwKLSAgICAgICAgICAg
ICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAgICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIgot
ICAgICAgICB9LAotICAgICAgICB7Ci0gICAgICAgICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAg
ICAgICAgICAibmFtZSI6ICJzdWItdGVzdCB3aXRoIDAgY2xlYW51cCBmdW5jdGlvbnMgZXhlY3V0
ZXMgaW4gdGhlIHNhbWUgdGFzayBhcyBhIHBhc3Npbmcgc3ViLXRlc3QiLAotICAgICAgICAgICAg
InByb3BlcnRpZXMiOiB7fSwKLSAgICAgICAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiCi0g
ICAgICAgIH0sCi0gICAgICAgIHsKLSAgICAgICAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAg
ICAgICAgICJuYW1lIjogInN1Yi10ZXN0IHdpdGggc29tZSBjbGVhbnVwIGZ1bmN0aW9ucyBleGVj
dXRlcyBpbiBkaXN0aW5jdCBtaWNyb3Rhc2sgZnJvbSBhIGZhaWxpbmcgc3ViLXRlc3QiLAotICAg
ICAgICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICAgICAgICJzdGF0dXNfc3RyaW5nIjog
IlBBU1MiCi0gICAgICAgIH0sCi0gICAgICAgIHsKLSAgICAgICAgICAgICJtZXNzYWdlIjogbnVs
bCwKLSAgICAgICAgICAgICJuYW1lIjogInN1Yi10ZXN0IHdpdGggc29tZSBjbGVhbnVwIGZ1bmN0
aW9ucyBleGVjdXRlcyBpbiBkaXN0aW5jdCBtaWNyb3Rhc2sgZnJvbSBhIHBhc3Npbmcgc3ViLXRl
c3QiLAotICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICAgICAgICJzdGF0dXNf
c3RyaW5nIjogIlBBU1MiCi0gICAgICAgIH0sCi0gICAgICAgIHsKLSAgICAgICAgICAgICJtZXNz
YWdlIjogbnVsbCwKLSAgICAgICAgICAgICJuYW1lIjogInN1Yi10ZXN0IHdpdGggc29tZSBjbGVh
bnVwIGZ1bmN0aW9ucyBleGVjdXRlcyBpbiB0aGUgc2FtZSB0YXNrIGFzIGEgZmFpbGluZyBzdWIt
dGVzdCIsCi0gICAgICAgICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgICAgICAgInN0YXR1
c19zdHJpbmciOiAiUEFTUyIKLSAgICAgICAgfSwKLSAgICAgICAgewotICAgICAgICAgICAgIm1l
c3NhZ2UiOiBudWxsLAotICAgICAgICAgICAgIm5hbWUiOiAic3ViLXRlc3Qgd2l0aCBzb21lIGNs
ZWFudXAgZnVuY3Rpb25zIGV4ZWN1dGVzIGluIHRoZSBzYW1lIHRhc2sgYXMgYSBwYXNzaW5nIHN1
Yi10ZXN0IiwKLSAgICAgICAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAgICAgICAic3Rh
dHVzX3N0cmluZyI6ICJQQVNTIgotICAgICAgICB9Ci0gICAgXSwKLSAgICAidHlwZSI6ICJjb21w
bGV0ZSIKLX0KLTwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFsL3Rhc2st
c2NoZWR1bGluZy10ZXN0Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvdGFzay1zY2hlZHVsaW5n
LXRlc3QuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTM0YmRiMmVhOGQuLjAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC90YXNrLXNjaGVkdWxpbmctdGVzdC5o
dG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTQ0ICswLDAgQEAKLTwhZG9jdHlwZSBodG1sPgotPG1l
dGEgbmFtZT0idmFyaWFudCIgY29udGVudD0iIj4KLTxtZXRhIG5hbWU9InZhcmlhbnQiIGNvbnRl
bnQ9Ij9rZWVwLXByb21pc2UiPgotPHRpdGxlPnRlc3RoYXJuZXNzLmpzIC0gdGFzayBzY2hlZHVs
aW5nPC90aXRsZT4KLTxzY3JpcHQgc3JjPSIuLi8uLi92YXJpYW50cy5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0iLi4vLi4vLi4vdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBz
cmM9Ii4uLy4uLy4uL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci12
YXIgc2FtZU1pY3JvdGFzayA9IG51bGw7Ci12YXIgZXhwZWN0ZWRFcnJvciA9IG5ldyBFcnJvcign
VGhpcyBlcnJvciBpcyBleHBlY3RlZCcpOwotCi0vLyBEZXJpdmVkIGZyb20gYGltbWVkaWF0ZWAK
LS8vIGh0dHBzOi8vZ2l0aHViLmNvbS9jYWx2aW5tZXRjYWxmL2ltbWVkaWF0ZS9ibG9iL2MzNTNi
ZDIxMDY2NDhjZWUxZDUyNWJmZGEyMmNmYzQ0NTZlNjljMGUvbGliL211dGF0aW9uLmpzCi1mdW5j
dGlvbiBtaWNyb1Rhc2soY2FsbGJhY2spIHsKLSAgdmFyIG9ic2VydmVyID0gbmV3IE11dGF0aW9u
T2JzZXJ2ZXIoY2FsbGJhY2spOwotICB2YXIgZWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZVRleHRO
b2RlKCcnKTsKLSAgb2JzZXJ2ZXIub2JzZXJ2ZShlbGVtZW50LCB7Ci0gICAgY2hhcmFjdGVyRGF0
YTogdHJ1ZQotICB9KTsKLQotICBlbGVtZW50LmRhdGEgPSB0cnVlOwotfTsKLQotYXN5bmNfdGVz
dChmdW5jdGlvbih0KSB7Ci0gIHZhciBtaWNyb3Rhc2tfcmFuID0gZmFsc2U7Ci0KLSAgdC5zdGVw
X3RpbWVvdXQodC5zdGVwX2Z1bmMoZnVuY3Rpb24oKSB7Ci0gICAgYXNzZXJ0X3RydWUobWljcm90
YXNrX3JhbiwgJ2Z1bmN0aW9uIHJlZ2lzdGVyZWQgYXMgYSBtaWNyb3Rhc2sgd2FzIGV4ZWN1dGVk
IGJlZm9yZSB0YXNrJyk7Ci0gICAgdC5kb25lKCk7Ci0gIH0pLCAwKTsKLQotICBtaWNyb1Rhc2so
ZnVuY3Rpb24oKSB7Ci0gICAgbWljcm90YXNrX3JhbiA9IHRydWU7Ci0gIH0pOwotfSwgJ3ByZWNv
bmRpdGlvbjogbWljcm90YXNrIGNyZWF0aW9uIGxvZ2ljIGZ1bmN0aW9ucyBhcyBleHBlY3RlZCcp
OwotCi10ZXN0KGZ1bmN0aW9uKCkgewotICBzYW1lTWljcm90YXNrID0gdHJ1ZTsKLSAgbWljcm9U
YXNrKGZ1bmN0aW9uKCkgeyBzYW1lTWljcm90YXNrID0gZmFsc2U7IH0pOwotfSwgJ3N5bmNocm9u
b3VzIHRlc3Qgd2l0aG91dCBjbGVhbnVwJyk7Ci0KLXRlc3QoZnVuY3Rpb24oKSB7Ci0gIGFzc2Vy
dF90cnVlKHNhbWVNaWNyb3Rhc2spOwotfSwgJ3N1Yi10ZXN0IHdpdGggMCBjbGVhbnVwIGZ1bmN0
aW9ucyBleGVjdXRlcyBpbiB0aGUgc2FtZSBtaWNyb3Rhc2sgYXMgYSBwYXNzaW5nIHN1Yi10ZXN0
Jyk7Ci0KLXRlc3QoZnVuY3Rpb24oKSB7Ci0gIHNhbWVNaWNyb3Rhc2sgPSB0cnVlOwotICBtaWNy
b1Rhc2soZnVuY3Rpb24oKSB7IHNhbWVNaWNyb3Rhc2sgPSBmYWxzZTsgfSk7Ci0gIHRocm93IGV4
cGVjdGVkRXJyb3I7Ci19LCAnZmFpbGluZyBzeW5jaHJvbm91cyB0ZXN0IHdpdGhvdXQgY2xlYW51
cCcpOwotCi10ZXN0KGZ1bmN0aW9uKCkgewotICBhc3NlcnRfdHJ1ZShzYW1lTWljcm90YXNrKTsK
LX0sICdzdWItdGVzdCB3aXRoIDAgY2xlYW51cCBmdW5jdGlvbnMgZXhlY3V0ZXMgaW4gdGhlIHNh
bWUgbWljcm90YXNrIGFzIGEgZmFpbGluZyBzdWItdGVzdCcpOwotCi10ZXN0KGZ1bmN0aW9uKHQp
IHsKLSAgdC5hZGRfY2xlYW51cChmdW5jdGlvbigpIHt9KTsKLQotICBzYW1lTWljcm90YXNrID0g
dHJ1ZTsKLSAgbWljcm9UYXNrKGZ1bmN0aW9uKCkgeyBzYW1lTWljcm90YXNrID0gZmFsc2U7IH0p
OwotfSwgJ3N5bmNocm9ub3VzIHRlc3Qgd2l0aCBjbGVhbnVwJyk7Ci0KLXRlc3QoZnVuY3Rpb24o
KSB7Ci0gIGFzc2VydF90cnVlKHNhbWVNaWNyb3Rhc2spOwotfSwgJ3N1Yi10ZXN0IHdpdGggc29t
ZSBjbGVhbnVwIGZ1bmN0aW9ucyBleGVjdXRlcyBpbiB0aGUgc2FtZSBtaWNyb3Rhc2sgYXMgYSBw
YXNzaW5nIHN1Yi10ZXN0Jyk7Ci0KLXRlc3QoZnVuY3Rpb24odCkgewotICB0LmFkZF9jbGVhbnVw
KGZ1bmN0aW9uKCkge30pOwotCi0gIHNhbWVNaWNyb3Rhc2sgPSB0cnVlOwotICBtaWNyb1Rhc2so
ZnVuY3Rpb24oKSB7IHNhbWVNaWNyb3Rhc2sgPSBmYWxzZTsgfSk7Ci0gIHRocm93IGV4cGVjdGVk
RXJyb3I7Ci19LCAnZmFpbGluZyBzeW5jaHJvbm91cyB0ZXN0IHdpdGggY2xlYW51cCcpOwotCi10
ZXN0KGZ1bmN0aW9uKCkgewotICBhc3NlcnRfdHJ1ZShzYW1lTWljcm90YXNrKTsKLX0sICdzdWIt
dGVzdCB3aXRoIHNvbWUgY2xlYW51cCBmdW5jdGlvbnMgZXhlY3V0ZXMgaW4gdGhlIHNhbWUgbWlj
cm90YXNrIGFzIGEgZmFpbGluZyBzdWItdGVzdCcpOwotPC9zY3JpcHQ+Ci0KLTxzY3JpcHQgdHlw
ZT0idGV4dC9qc29uIiBpZD0iZXhwZWN0ZWQiPgotewotICAgICJzdW1tYXJpemVkX3N0YXR1cyI6
IHsKLSAgICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgICAic3RhdHVzX3N0cmluZyI6ICJP
SyIKLSAgICB9LAotICAgICJzdW1tYXJpemVkX3Rlc3RzIjogWwotICAgICAgICB7Ci0gICAgICAg
ICAgICAibWVzc2FnZSI6ICJUaGlzIGVycm9yIGlzIGV4cGVjdGVkIiwKLSAgICAgICAgICAgICJu
YW1lIjogImZhaWxpbmcgc3luY2hyb25vdXMgdGVzdCB3aXRoIGNsZWFudXAiLAotICAgICAgICAg
ICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICAgICAgICJzdGF0dXNfc3RyaW5nIjogIkZBSUwi
Ci0gICAgICAgIH0sCi0gICAgICAgIHsKLSAgICAgICAgICAgICJtZXNzYWdlIjogIlRoaXMgZXJy
b3IgaXMgZXhwZWN0ZWQiLAotICAgICAgICAgICAgIm5hbWUiOiAiZmFpbGluZyBzeW5jaHJvbm91
cyB0ZXN0IHdpdGhvdXQgY2xlYW51cCIsCi0gICAgICAgICAgICAicHJvcGVydGllcyI6IHt9LAot
ICAgICAgICAgICAgInN0YXR1c19zdHJpbmciOiAiRkFJTCIKLSAgICAgICAgfSwKLSAgICAgICAg
ewotICAgICAgICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgICAgICAgIm5hbWUiOiAicHJl
Y29uZGl0aW9uOiBtaWNyb3Rhc2sgY3JlYXRpb24gbG9naWMgZnVuY3Rpb25zIGFzIGV4cGVjdGVk
IiwKLSAgICAgICAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAgICAgICAic3RhdHVzX3N0
cmluZyI6ICJQQVNTIgotICAgICAgICB9LAotICAgICAgICB7Ci0gICAgICAgICAgICAibWVzc2Fn
ZSI6IG51bGwsCi0gICAgICAgICAgICAibmFtZSI6ICJzdWItdGVzdCB3aXRoIDAgY2xlYW51cCBm
dW5jdGlvbnMgZXhlY3V0ZXMgaW4gdGhlIHNhbWUgbWljcm90YXNrIGFzIGEgZmFpbGluZyBzdWIt
dGVzdCIsCi0gICAgICAgICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgICAgICAgInN0YXR1
c19zdHJpbmciOiAiUEFTUyIKLSAgICAgICAgfSwKLSAgICAgICAgewotICAgICAgICAgICAgIm1l
c3NhZ2UiOiBudWxsLAotICAgICAgICAgICAgIm5hbWUiOiAic3ViLXRlc3Qgd2l0aCAwIGNsZWFu
dXAgZnVuY3Rpb25zIGV4ZWN1dGVzIGluIHRoZSBzYW1lIG1pY3JvdGFzayBhcyBhIHBhc3Npbmcg
c3ViLXRlc3QiLAotICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICAgICAgICJz
dGF0dXNfc3RyaW5nIjogIlBBU1MiCi0gICAgICAgIH0sCi0gICAgICAgIHsKLSAgICAgICAgICAg
ICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICAgICAgICJuYW1lIjogInN1Yi10ZXN0IHdpdGggc29t
ZSBjbGVhbnVwIGZ1bmN0aW9ucyBleGVjdXRlcyBpbiB0aGUgc2FtZSBtaWNyb3Rhc2sgYXMgYSBm
YWlsaW5nIHN1Yi10ZXN0IiwKLSAgICAgICAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAg
ICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIgotICAgICAgICB9LAotICAgICAgICB7Ci0gICAg
ICAgICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAgICAgICAibmFtZSI6ICJzdWItdGVzdCB3
aXRoIHNvbWUgY2xlYW51cCBmdW5jdGlvbnMgZXhlY3V0ZXMgaW4gdGhlIHNhbWUgbWljcm90YXNr
IGFzIGEgcGFzc2luZyBzdWItdGVzdCIsCi0gICAgICAgICAgICAicHJvcGVydGllcyI6IHt9LAot
ICAgICAgICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIKLSAgICAgICAgfSwKLSAgICAgICAg
ewotICAgICAgICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgICAgICAgIm5hbWUiOiAic3lu
Y2hyb25vdXMgdGVzdCB3aXRoIGNsZWFudXAiLAotICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7
fSwKLSAgICAgICAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiCi0gICAgICAgIH0sCi0gICAg
ICAgIHsKLSAgICAgICAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICAgICAgICJuYW1lIjog
InN5bmNocm9ub3VzIHRlc3Qgd2l0aG91dCBjbGVhbnVwIiwKLSAgICAgICAgICAgICJwcm9wZXJ0
aWVzIjoge30sCi0gICAgICAgICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIgotICAgICAgICB9
Ci0gICAgXSwKLSAgICAidHlwZSI6ICJjb21wbGV0ZSIKLX0KLTwvc2NyaXB0PgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
dGVzdC90ZXN0cy9mdW5jdGlvbmFsL3VuY2F1Z2h0LWV4Y2VwdGlvbi1oYW5kbGUuaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3Qv
dGVzdHMvZnVuY3Rpb25hbC91bmNhdWdodC1leGNlcHRpb24taGFuZGxlLmh0bWwKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDRjOTYwMTg2ZTBkLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rl
c3RzL2Z1bmN0aW9uYWwvdW5jYXVnaHQtZXhjZXB0aW9uLWhhbmRsZS5odG1sCisrKyAvZGV2L251
bGwKQEAgLTEsMzYgKzAsMCBAQAotPCFET0NUWVBFIEhUTUw+Ci08aHRtbD4KLTxoZWFkPgotPG1l
dGEgbmFtZT0idmFyaWFudCIgY29udGVudD0iIj4KLTxtZXRhIG5hbWU9InZhcmlhbnQiIGNvbnRl
bnQ9Ij9rZWVwLXByb21pc2UiPgotPHRpdGxlPkhhcm5lc3MgSGFuZGxpbmcgVW5jYXVnaHQgRXhj
ZXB0aW9uPC90aXRsZT4KLTxzY3JpcHQgc3JjPSIuLi8uLi92YXJpYW50cy5qcyI+PC9zY3JpcHQ+
Ci08L2hlYWQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+Ci0KLTxib2R5PgotPGgxPkhhcm5lc3MgSGFuZGxpbmcgVW5jYXVnaHQgRXhjZXB0aW9uPC9o
MT4KLTxkaXYgaWQ9ImxvZyI+PC9kaXY+Ci08c2NyaXB0PgotdmFyIHQgPSBhc3luY190ZXN0KCJU
aGlzIHNob3VsZCBzaG93IGEgaGFybmVzcyBzdGF0dXMgb2YgJ0Vycm9yJyBhbmQgYSB0ZXN0IHN0
YXR1cyBvZiAnTm90IFJ1biciKTsKLXRocm93IG5ldyBFcnJvcigiRXhhbXBsZSBFcnJvciIpOwot
PC9zY3JpcHQ+Ci08c2NyaXB0IHR5cGU9InRleHQvanNvbiIgaWQ9ImV4cGVjdGVkIj4KLXsKLSAg
InN1bW1hcml6ZWRfc3RhdHVzIjogewotICAgICJzdGF0dXNfc3RyaW5nIjogIkVSUk9SIiwKLSAg
ICAibWVzc2FnZSI6ICJFcnJvcjogRXhhbXBsZSBFcnJvciIKLSAgfSwKLSAgInN1bW1hcml6ZWRf
dGVzdHMiOiBbCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiTk9UUlVOIiwKLSAgICAg
ICJuYW1lIjogIlRoaXMgc2hvdWxkIHNob3cgYSBoYXJuZXNzIHN0YXR1cyBvZiAnRXJyb3InIGFu
ZCBhIHRlc3Qgc3RhdHVzIG9mICdOb3QgUnVuJyIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAot
ICAgICAgIm1lc3NhZ2UiOiBudWxsCi0gICAgfQotICBdLAotICAidHlwZSI6ICJjb21wbGV0ZSIK
LX0KLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5j
dGlvbmFsL3VuY2F1Z2h0LWV4Y2VwdGlvbi1pZ25vcmUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25h
bC91bmNhdWdodC1leGNlcHRpb24taWdub3JlLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IGI2ZDMwZWFiMGYwLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwv
dW5jYXVnaHQtZXhjZXB0aW9uLWlnbm9yZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMzggKzAs
MCBAQAotPCFET0NUWVBFIEhUTUw+Ci08aHRtbD4KLTxoZWFkPgotPG1ldGEgbmFtZT0idmFyaWFu
dCIgY29udGVudD0iIj4KLTxtZXRhIG5hbWU9InZhcmlhbnQiIGNvbnRlbnQ9Ij9rZWVwLXByb21p
c2UiPgotPHRpdGxlPkhhcm5lc3MgSWdub3JpbmcgVW5jYXVnaHQgRXhjZXB0aW9uPC90aXRsZT4K
LTxzY3JpcHQgc3JjPSIuLi8uLi92YXJpYW50cy5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci0KLTxib2R5Pgot
PGgxPkhhcm5lc3MgSWdub3JpbmcgVW5jYXVnaHQgRXhjZXB0aW9uPC9oMT4KLTxkaXYgaWQ9Imxv
ZyI+PC9kaXY+Ci08c2NyaXB0Pgotc2V0dXAoe2FsbG93X3VuY2F1Z2h0X2V4Y2VwdGlvbjp0cnVl
fSk7Ci12YXIgdCA9IGFzeW5jX3Rlc3QoInNldHVwKHthbGxvd191bmNhdWdodF9leGNlcHRpb246
dHJ1ZX0pIHNob3VsZCBhbGxvdyB0ZXN0cyB0byBwYXNzIGV2ZW4gaWYgdGhlcmUgaXMgYW4gZXhj
ZXB0aW9uIik7Ci1vbmVycm9yID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24oKSB7dC5kb25lKCl9KTsK
LXRocm93IG5ldyBFcnJvcigiRXhhbXBsZSBFcnJvciIpOwotPC9zY3JpcHQ+Ci08c2NyaXB0IHR5
cGU9InRleHQvanNvbiIgaWQ9ImV4cGVjdGVkIj4KLXsKLSAgInN1bW1hcml6ZWRfc3RhdHVzIjog
ewotICAgICJzdGF0dXNfc3RyaW5nIjogIk9LIiwKLSAgICAibWVzc2FnZSI6IG51bGwKLSAgfSwK
LSAgInN1bW1hcml6ZWRfdGVzdHMiOiBbCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAi
UEFTUyIsCi0gICAgICAibmFtZSI6ICJzZXR1cCh7YWxsb3dfdW5jYXVnaHRfZXhjZXB0aW9uOnRy
dWV9KSBzaG91bGQgYWxsb3cgdGVzdHMgdG8gcGFzcyBldmVuIGlmIHRoZXJlIGlzIGFuIGV4Y2Vw
dGlvbiIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsCi0g
ICAgfQotICBdLAotICAidHlwZSI6ICJjb21wbGV0ZSIKLX0KLTwvc2NyaXB0PgotPC9ib2R5Pgot
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFsL3czYy1pbXBvcnQubG9nIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVz
dC90ZXN0cy9mdW5jdGlvbmFsL3czYy1pbXBvcnQubG9nCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAyYWRiNjczMDUyYS4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFs
L3czYy1pbXBvcnQubG9nCisrKyAvZGV2L251bGwKQEAgLTEsNTkgKzAsMCBAQAotVGhlIHRlc3Rz
IGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnku
Ci1EbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQs
IGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1
Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdAotCi1UaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0
cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydAotCi1EbyBOT1QgbW9kaWZ5
IG9yIHJlbW92ZSB0aGlzIGZpbGUuCi0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotUHJvcGVydGllcyByZXF1
aXJpbmcgdmVuZG9yIHByZWZpeGVzOgotTm9uZQotUHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2
ZW5kb3IgcHJlZml4ZXM6Ci1Ob25lCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLUxpc3Qgb2YgZmlsZXM6Ci0v
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVz
dC90ZXN0cy9mdW5jdGlvbmFsL2FkZF9jbGVhbnVwLmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwv
YWRkX2NsZWFudXBfYXN5bmMuaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC9hZGRfY2xlYW51cF9h
c3luY19iYWRfcmV0dXJuLmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvYWRkX2NsZWFudXBfYXN5
bmNfcmVqZWN0aW9uLmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvYWRkX2NsZWFudXBfYXN5bmNf
cmVqZWN0aW9uX2FmdGVyX2xvYWQuaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC9hZGRfY2xlYW51
cF9hc3luY190aW1lb3V0Lmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvYWRkX2NsZWFudXBfYmFk
X3JldHVybi5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFsL2FkZF9jbGVhbnVwX2NvdW50Lmh0bWwK
LS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90
ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvYWRkX2NsZWFudXBfZXJyLmh0bWwKLS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0
aW9uYWwvYWRkX2NsZWFudXBfZXJyX211bHRpLmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvYWRk
X2NsZWFudXBfc3luY19xdWV1ZS5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFsL2FwaS10ZXN0cy0x
Lmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvYXBpLXRlc3RzLTIuaHRtbAotL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVu
Y3Rpb25hbC9hcGktdGVzdHMtMy5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFsL2ZvcmNlX3RpbWVv
dXQuaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC9nZW5lcmF0ZS1jYWxsYmFjay5odG1sCi0vTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90
ZXN0cy9mdW5jdGlvbmFsL2lmcmFtZS1jYWxsYmFjay5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFs
L2lmcmFtZS1jb25zb2xpZGF0ZS1lcnJvcnMuaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC9pZnJh
bWUtY29uc29saWRhdGUtdGVzdHMuaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC9pZnJhbWUtbXNn
Lmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvbG9nLWluc2VydGlvbi5odG1sCi0vTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9m
dW5jdGlvbmFsL29yZGVyLmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvcHJvbWlzZS1hc3luYy5o
dG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFsL3Byb21pc2Utd2l0aC1zeW5jLmh0bWwKLS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3Rz
L2Z1bmN0aW9uYWwvcHJvbWlzZS5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFsL3F1ZXVlLmh0bWwK
LS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90
ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvc2luZ2xlLXBhZ2UtdGVzdC1mYWlsLmh0bWwKLS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3Rz
L2Z1bmN0aW9uYWwvc2luZ2xlLXBhZ2UtdGVzdC1uby1hc3NlcnRpb25zLmh0bWwKLS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3Rz
L2Z1bmN0aW9uYWwvc2luZ2xlLXBhZ2UtdGVzdC1uby1ib2R5Lmh0bWwKLS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0
aW9uYWwvc2luZ2xlLXBhZ2UtdGVzdC1wYXNzLmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvdGFz
ay1zY2hlZHVsaW5nLXByb21pc2UtdGVzdC5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFsL3Rhc2st
c2NoZWR1bGluZy10ZXN0Lmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvdW5jYXVnaHQtZXhjZXB0
aW9uLWhhbmRsZS5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFsL3VuY2F1Z2h0LWV4Y2VwdGlvbi1p
Z25vcmUuaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC93b3JrZXItZGVkaWNhdGVkLXVuY2F1Z2h0
LWFsbG93Lmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvd29ya2VyLWRlZGljYXRlZC11bmNhdWdo
dC1zaW5nbGUuaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC93b3JrZXItZGVkaWNhdGVkLnN1Yi5o
dG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFsL3dvcmtlci1lcnJvci5qcwotL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rp
b25hbC93b3JrZXItc2VydmljZS5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFsL3dvcmtlci1zaGFy
ZWQuaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC93b3JrZXItdW5jYXVnaHQtYWxsb3cuanMKLS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0
L3Rlc3RzL2Z1bmN0aW9uYWwvd29ya2VyLXVuY2F1Z2h0LXNpbmdsZS5qcwotL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVu
Y3Rpb25hbC93b3JrZXIuanMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC93b3JrZXIt
ZGVkaWNhdGVkLXVuY2F1Z2h0LWFsbG93Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvd29ya2Vy
LWRlZGljYXRlZC11bmNhdWdodC1hbGxvdy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAzMzU0M2QwYjRlNy4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFsL3dv
cmtlci1kZWRpY2F0ZWQtdW5jYXVnaHQtYWxsb3cuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDQ4
ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLTxtZXRhIG5hbWU9InZh
cmlhbnQiIGNvbnRlbnQ9IiI+Ci08bWV0YSBuYW1lPSJ2YXJpYW50IiBjb250ZW50PSI/a2VlcC1w
cm9taXNlIj4KLTx0aXRsZT5EZWRpY2F0ZWQgV29ya2VyIFRlc3RzIC0gQWxsb3dlZCBVbmNhdWdo
dCBFeGNlcHRpb248L3RpdGxlPgotPHNjcmlwdCBzcmM9Ii4uLy4uL3ZhcmlhbnRzLmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
LTwvaGVhZD4KLTxib2R5PgotPGgxPkRlZGljYXRlZCBXZWIgV29ya2VyIFRlc3RzIC0gQWxsb3dl
ZCBVbmNhdWdodCBFeGNlcHRpb248L2gxPgotPHA+RGVtb25zdHJhdGVzIHJ1bm5pbmcgPHR0PnRl
c3RoYXJuZXNzPC90dD4gYmFzZWQgdGVzdHMgaW5zaWRlIGEgZGVkaWNhdGVkIHdlYiB3b3JrZXIu
Ci08cD5UaGUgdGVzdCBoYXJuZXNzIGlzIGV4cGVjdGVkIHRvIHBhc3MgZGVzcGl0ZSBhbiB1bmNh
dWdodCBleGNlcHRpb24gaW4gYSB3b3JrZXIgYmVjYXVzZSB0aGF0IHdvcmtlciBpcyBjb25maWd1
cmVkIHRvIGFsbG93IHVuY2F1Z2h0IGV4Y2VwdGlvbnMuPC9wPgotPGRpdiBpZD0ibG9nIj48L2Rp
dj4KLQotPHNjcmlwdD4KLXRlc3QoZnVuY3Rpb24odCkgewotICAgICAgICBhc3NlcnRfdHJ1ZSgi
V29ya2VyIiBpbiBzZWxmLCAiQnJvd3NlciBzaG91bGQgc3VwcG9ydCBXb3JrZXJzIik7Ci0gICAg
fSwKLSAgICAiQnJvd3NlciBzdXBwb3J0cyBXb3JrZXJzIik7Ci0KLWZldGNoX3Rlc3RzX2Zyb21f
d29ya2VyKG5ldyBXb3JrZXIoIndvcmtlci11bmNhdWdodC1hbGxvdy5qcyIpKTsKLTwvc2NyaXB0
PgotPHNjcmlwdCB0eXBlPSJ0ZXh0L2pzb24iIGlkPSJleHBlY3RlZCI+Ci17Ci0gICJzdW1tYXJp
emVkX3N0YXR1cyI6IHsKLSAgICAic3RhdHVzX3N0cmluZyI6ICJPSyIsCi0gICAgIm1lc3NhZ2Ui
OiBudWxsCi0gIH0sCi0gICJzdW1tYXJpemVkX3Rlc3RzIjogWwotICAgIHsKLSAgICAgICJzdGF0
dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUiOiAiQnJvd3NlciBzdXBwb3J0cyBXb3Jr
ZXJzIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6IG51bGwKLSAg
ICB9LAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUi
OiAib25lcnJvciBldmVudCBpcyB0cmlnZ2VyZWQiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwK
LSAgICAgICJtZXNzYWdlIjogbnVsbAotICAgIH0KLSAgXSwKLSAgInR5cGUiOiAiY29tcGxldGUi
Ci19Ci08L3NjcmlwdD4KLTwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC93
b3JrZXItZGVkaWNhdGVkLXVuY2F1Z2h0LXNpbmdsZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFs
L3dvcmtlci1kZWRpY2F0ZWQtdW5jYXVnaHQtc2luZ2xlLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDc2MDE1MTgzMmU4Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0
aW9uYWwvd29ya2VyLWRlZGljYXRlZC11bmNhdWdodC1zaW5nbGUuaHRtbAorKysgL2Rldi9udWxs
CkBAIC0xLDU5ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLTxtZXRh
IG5hbWU9InZhcmlhbnQiIGNvbnRlbnQ9IiI+Ci08bWV0YSBuYW1lPSJ2YXJpYW50IiBjb250ZW50
PSI/a2VlcC1wcm9taXNlIj4KLTx0aXRsZT5EZWRpY2F0ZWQgV29ya2VyIFRlc3RzIC0gVW5jYXVn
aHQgRXhjZXB0aW9uIGluIFNpbmdsZS1QYWdlIFRlc3Q8L3RpdGxlPgotPHNjcmlwdCBzcmM9Ii4u
Ly4uL3ZhcmlhbnRzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGgxPkRlZGljYXRlZCBXZWIg
V29ya2VyIFRlc3RzIC0gVW5jYXVnaHQgRXhjZXB0aW9uIGluIFNpbmdsZS1QYWdlIFRlc3Q8L2gx
PgotPHA+RGVtb25zdHJhdGVzIHJ1bm5pbmcgPHR0PnRlc3RoYXJuZXNzPC90dD4gYmFzZWQgdGVz
dHMgaW5zaWRlIGEgZGVkaWNhdGVkIHdlYiB3b3JrZXIuCi08cD5UaGUgdGVzdCBoYXJuZXNzIGlz
IGV4cGVjdGVkIHRvIHBhc3MgZGVzcGl0ZSBhbiB1bmNhdWdodCBleGNlcHRpb24gaW4gYSB3b3Jr
ZXIgYmVjYXVzZSB0aGF0IHdvcmtlciBpcyBhIHNpbmdsZS1wYWdlIHRlc3QuPC9wPgotPGRpdiBp
ZD0ibG9nIj48L2Rpdj4KLQotPHNjcmlwdD4KLXRlc3QoZnVuY3Rpb24odCkgewotICAgICAgICBh
c3NlcnRfdHJ1ZSgiV29ya2VyIiBpbiBzZWxmLCAiQnJvd3NlciBzaG91bGQgc3VwcG9ydCBXb3Jr
ZXJzIik7Ci0gICAgfSwKLSAgICAiQnJvd3NlciBzdXBwb3J0cyBXb3JrZXJzIik7Ci0KLWZldGNo
X3Rlc3RzX2Zyb21fd29ya2VyKG5ldyBXb3JrZXIoIndvcmtlci11bmNhdWdodC1zaW5nbGUuanMi
KSk7Ci0KLXRlc3QoZnVuY3Rpb24odCkgewotICAgICAgICBhc3NlcnRfZmFsc2UoZmFsc2UsICJG
YWxzZSBpcyBmYWxzZSIpOwotICAgIH0sCi0gICAgIlRlc3QgcnVubmluZyBvbiBtYWluIGRvY3Vt
ZW50LiIpOwotPC9zY3JpcHQ+Ci08c2NyaXB0IHR5cGU9InRleHQvanNvbiIgaWQ9ImV4cGVjdGVk
Ij4KLXsKLSAgInN1bW1hcml6ZWRfc3RhdHVzIjogewotICAgICJzdGF0dXNfc3RyaW5nIjogIk9L
IiwKLSAgICAibWVzc2FnZSI6IG51bGwKLSAgfSwKLSAgInN1bW1hcml6ZWRfdGVzdHMiOiBbCi0g
ICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJCcm93
c2VyIHN1cHBvcnRzIFdvcmtlcnMiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJt
ZXNzYWdlIjogbnVsbAotICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFT
UyIsCi0gICAgICAibmFtZSI6ICJUZXN0IHJ1bm5pbmcgb24gbWFpbiBkb2N1bWVudC4iLAotICAg
ICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogbnVsbAotICAgIH0sCi0gICAg
ewotICAgICAgInN0YXR1c19zdHJpbmciOiAiRkFJTCIsCi0gICAgICAibmFtZSI6ICJ3b3JrZXIt
dW5jYXVnaHQtc2luZ2xlIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2Fn
ZSI6ICJFcnJvcjogVGhpcyBmYWlsdXJlIGlzIGV4cGVjdGVkLiIKLSAgICB9Ci0gIF0sCi0gICJ0
eXBlIjogImNvbXBsZXRlIgotfQotPC9zY3JpcHQ+Ci08L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rl
c3RzL2Z1bmN0aW9uYWwvd29ya2VyLWRlZGljYXRlZC5zdWIuaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rp
b25hbC93b3JrZXItZGVkaWNhdGVkLnN1Yi5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCA1NTczYjFkNTI3My4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFsL3dv
cmtlci1kZWRpY2F0ZWQuc3ViLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw5MSArMCwwIEBACi08
IURPQ1RZUEUgSFRNTD4KLTxodG1sPgotPGhlYWQ+Ci08bWV0YSBuYW1lPSJ2YXJpYW50IiBjb250
ZW50PSIiPgotPG1ldGEgbmFtZT0idmFyaWFudCIgY29udGVudD0iP2tlZXAtcHJvbWlzZSI+Ci08
dGl0bGU+RGVkaWNhdGVkIFdvcmtlciBUZXN0czwvdGl0bGU+Ci08c2NyaXB0IHNyYz0iLi4vLi4v
dmFyaWFudHMuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Rlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxoMT5EZWRpY2F0ZWQgV2ViIFdvcmtlciBU
ZXN0czwvaDE+Ci08cD5EZW1vbnN0cmF0ZXMgcnVubmluZyA8dHQ+dGVzdGhhcm5lc3M8L3R0PiBi
YXNlZCB0ZXN0cyBpbnNpZGUgYSBkZWRpY2F0ZWQgd2ViIHdvcmtlci4KLTxwPlRoZSB0ZXN0IGhh
cm5lc3MgaXMgZXhwZWN0ZWQgdG8gZmFpbCBkdWUgdG8gYW4gdW5jYXVnaHQgZXhjZXB0aW9uIGlu
IG9uZSB3b3JrZXIuPC9wPgotPGRpdiBpZD0ibG9nIj48L2Rpdj4KLQotPHNjcmlwdD4KLXRlc3Qo
ZnVuY3Rpb24odCkgewotICAgICAgICBhc3NlcnRfdHJ1ZSgiV29ya2VyIiBpbiBzZWxmLCAiQnJv
d3NlciBzaG91bGQgc3VwcG9ydCBXb3JrZXJzIik7Ci0gICAgfSwKLSAgICAiQnJvd3NlciBzdXBw
b3J0cyBXb3JrZXJzIik7Ci0KLWZldGNoX3Rlc3RzX2Zyb21fd29ya2VyKG5ldyBXb3JrZXIoIndv
cmtlci5qcyIpKTsKLQotZmV0Y2hfdGVzdHNfZnJvbV93b3JrZXIobmV3IFdvcmtlcigid29ya2Vy
LWVycm9yLmpzIikpOwotCi10ZXN0KGZ1bmN0aW9uKHQpIHsKLSAgICAgICAgYXNzZXJ0X2ZhbHNl
KGZhbHNlLCAiRmFsc2UgaXMgZmFsc2UiKTsKLSAgICB9LAotICAgICJUZXN0IHJ1bm5pbmcgb24g
bWFpbiBkb2N1bWVudC4iKTsKLTwvc2NyaXB0PgotPHNjcmlwdCB0eXBlPSJ0ZXh0L2pzb24iIGlk
PSJleHBlY3RlZCI+Ci17Ci0gICJzdW1tYXJpemVkX3N0YXR1cyI6IHsKLSAgICAic3RhdHVzX3N0
cmluZyI6ICJFUlJPUiIsCi0gICAgIm1lc3NhZ2UiOiAiRXJyb3I6IFRoaXMgZmFpbHVyZSBpcyBl
eHBlY3RlZC4iCi0gIH0sCi0gICJzdW1tYXJpemVkX3Rlc3RzIjogWwotICAgIHsKLSAgICAgICJz
dGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUiOiAiQnJvd3NlciBzdXBwb3J0cyBX
b3JrZXJzIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6IG51bGwK
LSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5h
bWUiOiAiVGVzdCBydW5uaW5nIG9uIG1haW4gZG9jdW1lbnQuIiwKLSAgICAgICJwcm9wZXJ0aWVz
Ijoge30sCi0gICAgICAibWVzc2FnZSI6IG51bGwKLSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0
dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUiOiAiV29ya2VyIGFzeW5jX3Rlc3QgdGhh
dCBjb21wbGV0ZXMgc3VjY2Vzc2Z1bGx5IiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAg
ICAibWVzc2FnZSI6IG51bGwKLSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjog
IlBBU1MiLAotICAgICAgIm5hbWUiOiAiV29ya2VyIHRlc3QgdGhhdCBjb21wbGV0ZXMgc3VjY2Vz
c2Z1bGx5IiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6IG51bGwK
LSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5h
bWUiOiAid29ya2VyIHRlc3QgdGhhdCBjb21wbGV0ZXMgc3VjY2Vzc2Z1bGx5IGJlZm9yZSBleGNl
cHRpb24iLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogbnVsbAot
ICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiTk9UUlVOIiwKLSAgICAgICJu
YW1lIjogIldvcmtlciB0ZXN0IHRoYXQgZG9lc24ndCBydW4gKCdOT1QgUlVOJykiLAotICAgICAg
InByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogbnVsbAotICAgIH0sCi0gICAgewot
ICAgICAgInN0YXR1c19zdHJpbmciOiAiRkFJTCIsCi0gICAgICAibmFtZSI6ICJXb3JrZXIgdGVz
dCB0aGF0IGZhaWxzICgnRkFJTCcpIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAi
bWVzc2FnZSI6ICJhc3NlcnRfdHJ1ZTogRmFpbGluZyB0ZXN0IGV4cGVjdGVkIHRydWUgZ290IGZh
bHNlIgotICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiVElNRU9VVCIsCi0g
ICAgICAibmFtZSI6ICJXb3JrZXIgdGVzdCB0aGF0IHRpbWVzIG91dCAoJ1RJTUVPVVQnKSIsCi0g
ICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiAiVGVzdCB0aW1lZCBvdXQi
Ci0gICAgfQotICBdLAotICAidHlwZSI6ICJjb21wbGV0ZSIKLX0KLTwvc2NyaXB0PgotPC9ib2R5
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFsL3dvcmtlci1lcnJvci5qcyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVz
dHMvZnVuY3Rpb25hbC93b3JrZXItZXJyb3IuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDdiODk2MDJmMDRiLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvd29y
a2VyLWVycm9yLmpzCisrKyAvZGV2L251bGwKQEAgLTEsOCArMCwwIEBACi1pbXBvcnRTY3JpcHRz
KCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci0KLS8vIFRoZSBmb2xsb3dpbmcgc3ViLXRl
c3QgZW5zdXJlcyB0aGF0IHRoZSB3b3JrZXIgaXMgbm90IGludGVycHJldGVkIGFzIGEKLS8vIHNp
bmdsZS1wYWdlIHRlc3QuICBUaGUgc3Vic2VxdWVudCB1bmNhdWdodCBleGNlcHRpb24gc2hvdWxk
IHRoZXJlZm9yZSBiZQotLy8gaW50ZXJwcmV0ZWQgYXMgYSBoYXJuZXNzIGVycm9yIHJhdGhlciB0
aGFuIGEgc2luZ2xlLXBhZ2UgdGVzdCBmYWlsdXJlLgotdGVzdChmdW5jdGlvbigpIHt9LCAid29y
a2VyIHRlc3QgdGhhdCBjb21wbGV0ZXMgc3VjY2Vzc2Z1bGx5IGJlZm9yZSBleGNlcHRpb24iKTsK
LQotdGhyb3cgbmV3IEVycm9yKCJUaGlzIGZhaWx1cmUgaXMgZXhwZWN0ZWQuIik7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvd29ya2VyLXNlcnZpY2UuaHRtbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVu
Y3Rpb25hbC93b3JrZXItc2VydmljZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCBjMjcxZTY1OTljMC4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFsL3dvcmtl
ci1zZXJ2aWNlLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxMTcgKzAsMCBAQAotPCFET0NUWVBF
IEhUTUw+Ci08aHRtbD4KLTxoZWFkPgotPG1ldGEgbmFtZT0idmFyaWFudCIgY29udGVudD0iP2tl
ZXAtcHJvbWlzZSI+Ci08dGl0bGU+RXhhbXBsZSB3aXRoIGEgc2VydmljZSB3b3JrZXI8L3RpdGxl
PgotPHNjcmlwdCBzcmM9Ii4uLy4uL3ZhcmlhbnRzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5Pgot
PGgxPlNlcnZpY2UgV29ya2VyIFRlc3RzPC9oMT4KLTxwPkRlbW9uc3RyYXRlcyBydW5uaW5nIDx0
dD50ZXN0aGFybmVzczwvdHQ+IGJhc2VkIHRlc3RzIGluc2lkZSBhIHNlcnZpY2Ugd29ya2VyLgot
PHA+VGhlIHRlc3QgaGFybmVzcyBzaG91bGQgdGltZSBvdXQgZHVlIHRvIG9uZSBvZiB0aGUgdGVz
dHMgaW5zaWRlIHRoZSB3b3JrZXIgdGltaW5nIG91dC4KLTxwPlRoaXMgdGVzdCBhc3N1bWVzIHRo
YXQgdGhlIGJyb3dzZXIgc3VwcG9ydHMgPGEgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvc2Vy
dmljZS13b3JrZXJzLyI+U2VydmljZVdvcmtlcnM8L2E+LgotPGRpdiBpZD0ibG9nIj48L2Rpdj4K
LQotPHNjcmlwdD4KLXRlc3QoCi0gICAgZnVuY3Rpb24odCkgewotICAgICAgICBhc3NlcnRfdHJ1
ZSgic2VydmljZVdvcmtlciIgaW4gbmF2aWdhdG9yLAotICAgICAgICAgICAgICAgICAgICAibmF2
aWdhdG9yLnNlcnZpY2VXb3JrZXIgZXhpc3RzIik7Ci0gICAgfSwKLSAgICAiQnJvd3NlciBzdXBw
b3J0cyBTZXJ2aWNlV29ya2VyIik7Ci0KLXByb21pc2VfdGVzdCgKLSAgICBmdW5jdGlvbigpIHsK
LSAgICAgICAgLy8gU2luY2UgdGhlIHNlcnZpY2Ugd29ya2VyIHJlZ2lzdHJhdGlvbiBjb3VsZCBi
ZSBpbiBhbiBpbmRldGVybWluYXRlCi0gICAgICAgIC8vIHN0YXRlIChkdWUgdG8sIGZvciBleGFt
cGxlLCBhIHByZXZpb3VzIHRlc3QgcnVuIGZhaWxpbmcpLCB3ZSBzdGFydCBieQotICAgICAgICAv
LyB1bnJlZ3N0ZXJpbmcgb3VyIHNlcnZpY2Ugd29ya2VyIGFuZCB0aGVuIHJlZ2lzdGVyaW5nIGl0
IGFnYWluLgotICAgICAgICB2YXIgc2NvcGUgPSAic2VydmljZS13b3JrZXItc2NvcGUiOwotICAg
ICAgICB2YXIgd29ya2VyX3VybCA9ICJ3b3JrZXIuanMiOwotCi0gICAgICAgIHJldHVybiBuYXZp
Z2F0b3Iuc2VydmljZVdvcmtlci5yZWdpc3Rlcih3b3JrZXJfdXJsLCB7c2NvcGU6IHNjb3BlfSkK
LSAgICAgICAgICAgIC50aGVuKAotICAgICAgICAgICAgICAgIGZ1bmN0aW9uKHJlZ2lzdHJhdGlv
bikgewotICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVnaXN0cmF0aW9uLnVucmVnaXN0ZXIo
KTsKLSAgICAgICAgICAgICAgICB9KQotICAgICAgICAgICAgLnRoZW4oCi0gICAgICAgICAgICAg
ICAgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgICAgIHJldHVybiBuYXZpZ2F0b3Iuc2Vy
dmljZVdvcmtlci5yZWdpc3Rlcih3b3JrZXJfdXJsLCB7c2NvcGU6IHNjb3BlfSk7Ci0gICAgICAg
ICAgICAgICAgfSkKLSAgICAgICAgICAgIC50aGVuKAotICAgICAgICAgICAgICAgIGZ1bmN0aW9u
KHJlZ2lzdHJhdGlvbikgewotICAgICAgICAgICAgICAgICAgICBhZGRfY29tcGxldGlvbl9jYWxs
YmFjaygKLSAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHJlZ2lzdHJhdGlvbi51bnJlZ2lzdGVyKCk7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICB9KTsKLQotICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV3IFByb21pc2Uo
Ci0gICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbihyZXNvbHZlKSB7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgcmVnaXN0cmF0aW9uLmFkZEV2ZW50TGlzdGVuZXIoInVwZGF0ZWZv
dW5kIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24oKSB7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNvbHZlKHJlZ2lzdHJhdGlvbi5pbnN0
YWxsaW5nKTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICB9KTsKLSAgICAgICAgICAgICAgICB9KQotICAgICAgICAgICAgLnRoZW4o
Ci0gICAgICAgICAgICAgICAgZnVuY3Rpb24od29ya2VyKSB7Ci0gICAgICAgICAgICAgICAgICAg
IGZldGNoX3Rlc3RzX2Zyb21fd29ya2VyKHdvcmtlcik7Ci0gICAgICAgICAgICAgICAgfSk7Ci0g
ICAgfSwKLSAgICAiUmVnaXN0ZXIgU2VydmljZVdvcmtlciIpOwotPC9zY3JpcHQ+Ci08c2NyaXB0
IHR5cGU9InRleHQvanNvbiIgaWQ9ImV4cGVjdGVkIj4KLXsKLSAgInN1bW1hcml6ZWRfc3RhdHVz
IjogewotICAgICJzdGF0dXNfc3RyaW5nIjogIlRJTUVPVVQiLAotICAgICJtZXNzYWdlIjogbnVs
bAotICB9LAotICAic3VtbWFyaXplZF90ZXN0cyI6IFsKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0
cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1lIjogIkJyb3dzZXIgc3VwcG9ydHMgU2VydmljZVdv
cmtlciIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsCi0g
ICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1l
IjogIlJlZ2lzdGVyIFNlcnZpY2VXb3JrZXIiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAg
ICAgICJtZXNzYWdlIjogbnVsbAotICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmci
OiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJXb3JrZXIgYXN5bmNfdGVzdCB0aGF0IGNvbXBsZXRl
cyBzdWNjZXNzZnVsbHkiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdl
IjogbnVsbAotICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0g
ICAgICAibmFtZSI6ICJXb3JrZXIgdGVzdCB0aGF0IGNvbXBsZXRlcyBzdWNjZXNzZnVsbHkiLAot
ICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogbnVsbAotICAgIH0sCi0g
ICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiTk9UUlVOIiwKLSAgICAgICJuYW1lIjogIldv
cmtlciB0ZXN0IHRoYXQgZG9lc24ndCBydW4gKCdOT1QgUlVOJykiLAotICAgICAgInByb3BlcnRp
ZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogbnVsbAotICAgIH0sCi0gICAgewotICAgICAgInN0
YXR1c19zdHJpbmciOiAiRkFJTCIsCi0gICAgICAibmFtZSI6ICJXb3JrZXIgdGVzdCB0aGF0IGZh
aWxzICgnRkFJTCcpIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6
ICJhc3NlcnRfdHJ1ZTogRmFpbGluZyB0ZXN0IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlIgotICAg
IH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiVElNRU9VVCIsCi0gICAgICAibmFt
ZSI6ICJXb3JrZXIgdGVzdCB0aGF0IHRpbWVzIG91dCAoJ1RJTUVPVVQnKSIsCi0gICAgICAicHJv
cGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiAiVGVzdCB0aW1lZCBvdXQiCi0gICAgfQot
ICBdLAotICAidHlwZSI6ICJjb21wbGV0ZSIKLX0KLTwvc2NyaXB0PgotPC9ib2R5PgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFsL3dvcmtlci1zaGFyZWQuaHRtbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVu
Y3Rpb25hbC93b3JrZXItc2hhcmVkLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDVkMDk4ZGU5MTA1Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvd29ya2Vy
LXNoYXJlZC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNzYgKzAsMCBAQAotPCFET0NUWVBFIEhU
TUw+Ci08aHRtbD4KLTxoZWFkPgotPG1ldGEgbmFtZT0idmFyaWFudCIgY29udGVudD0iIj4KLTxt
ZXRhIG5hbWU9InZhcmlhbnQiIGNvbnRlbnQ9Ij9rZWVwLXByb21pc2UiPgotPHRpdGxlPkV4YW1w
bGUgd2l0aCBhIHNoYXJlZCB3b3JrZXI8L3RpdGxlPgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Zhcmlh
bnRzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGgxPlNoYXJlZCBXZWIgV29ya2VyIFRlc3Rz
PC9oMT4KLTxwPkRlbW9uc3RyYXRlcyBydW5uaW5nIDx0dD50ZXN0aGFybmVzczwvdHQ+IGJhc2Vk
IHRlc3RzIGluc2lkZSBhIHNoYXJlZCB3b3JrZXIuCi08cD5UaGUgdGVzdCBoYXJuZXNzIHNob3Vs
ZCB0aW1lIG91dCBkdWUgdG8gb25lIG9mIHRoZSB0ZXN0cyBpbiB0aGUgd29ya2VyIHRpbWluZyBv
dXQuCi08cD5UaGlzIHRlc3QgYXNzdW1lcyB0aGF0IHRoZSBicm93c2VyIHN1cHBvcnRzIDxhIGhy
ZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL3dvcmtlcnMvI3NoYXJlZC13b3JrZXJzLWFuZC10aGUt
c2hhcmVkd29ya2VyLWludGVyZmFjZSI+c2hhcmVkIHdlYiB3b3JrZXJzPC9hPi4KLTxkaXYgaWQ9
ImxvZyI+PC9kaXY+Ci0KLTxzY3JpcHQ+Ci10ZXN0KAotICAgIGZ1bmN0aW9uKHQpIHsKLSAgICAg
ICAgYXNzZXJ0X3RydWUoIlNoYXJlZFdvcmtlciIgaW4gc2VsZiwKLSAgICAgICAgICAgICAgICAg
ICAgIkJyb3dzZXIgc2hvdWxkIHN1cHBvcnQgU2hhcmVkV29ya2VycyIpOwotICAgIH0sCi0gICAg
IkJyb3dzZXIgc3VwcG9ydHMgU2hhcmVkV29ya2VycyIpOwotCi1mZXRjaF90ZXN0c19mcm9tX3dv
cmtlcihuZXcgU2hhcmVkV29ya2VyKCJ3b3JrZXIuanMiLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAiTXkgc2hhcmVkIHdvcmtlciIpKTsKLTwvc2NyaXB0PgotPHNj
cmlwdCB0eXBlPSJ0ZXh0L2pzb24iIGlkPSJleHBlY3RlZCI+Ci17Ci0gICJzdW1tYXJpemVkX3N0
YXR1cyI6IHsKLSAgICAic3RhdHVzX3N0cmluZyI6ICJUSU1FT1VUIiwKLSAgICAibWVzc2FnZSI6
IG51bGwKLSAgfSwKLSAgInN1bW1hcml6ZWRfdGVzdHMiOiBbCi0gICAgewotICAgICAgInN0YXR1
c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJCcm93c2VyIHN1cHBvcnRzIFNoYXJl
ZFdvcmtlcnMiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogbnVs
bAotICAgIH0sCi0gICAgewotICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgIm5hbWUiOiAi
V29ya2VyIGFzeW5jX3Rlc3QgdGhhdCBjb21wbGV0ZXMgc3VjY2Vzc2Z1bGx5IiwKLSAgICAgICJw
cm9wZXJ0aWVzIjoge30sCi0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIgotICAgIH0sCi0g
ICAgewotICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgIm5hbWUiOiAiV29ya2VyIHRlc3Qg
dGhhdCBjb21wbGV0ZXMgc3VjY2Vzc2Z1bGx5IiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0g
ICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIgotICAgIH0sCi0gICAgewotICAgICAgIm1lc3Nh
Z2UiOiBudWxsLAotICAgICAgIm5hbWUiOiAiV29ya2VyIHRlc3QgdGhhdCBkb2Vzbid0IHJ1biAo
J05PVCBSVU4nKSIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgInN0YXR1c19zdHJp
bmciOiAiTk9UUlVOIgotICAgIH0sCi0gICAgewotICAgICAgIm1lc3NhZ2UiOiAiYXNzZXJ0X3Ry
dWU6IEZhaWxpbmcgdGVzdCBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZSIsCi0gICAgICAibmFtZSI6
ICJXb3JrZXIgdGVzdCB0aGF0IGZhaWxzICgnRkFJTCcpIiwKLSAgICAgICJwcm9wZXJ0aWVzIjog
e30sCi0gICAgICAic3RhdHVzX3N0cmluZyI6ICJGQUlMIgotICAgIH0sCi0gICAgewotICAgICAg
Im1lc3NhZ2UiOiAiVGVzdCB0aW1lZCBvdXQiLAotICAgICAgIm5hbWUiOiAiV29ya2VyIHRlc3Qg
dGhhdCB0aW1lcyBvdXQgKCdUSU1FT1VUJykiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAg
ICAgICJzdGF0dXNfc3RyaW5nIjogIlRJTUVPVVQiCi0gICAgfQotICBdLAotICAidHlwZSI6ICJj
b21wbGV0ZSIKLX0KLTwvc2NyaXB0PgotPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5j
dGlvbmFsL3dvcmtlci11bmNhdWdodC1hbGxvdy5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC93b3Jr
ZXItdW5jYXVnaHQtYWxsb3cuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY5MjVk
NTkzNDlhLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvd29ya2VyLXVuY2F1
Z2h0LWFsbG93LmpzCisrKyAvZGV2L251bGwKQEAgLTEsMTkgKzAsMCBAQAotaW1wb3J0U2NyaXB0
cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotCi1zZXR1cCh7YWxsb3dfdW5jYXVnaHRf
ZXhjZXB0aW9uOnRydWV9KTsKLQotYXN5bmNfdGVzdChmdW5jdGlvbih0KSB7Ci0gIG9uZXJyb3Ig
PSBmdW5jdGlvbigpIHsKLSAgICAvLyBGdXJ0aGVyIGRlbGF5IHRoZSB0ZXN0J3MgY29tcGxldGlv
biB0byBlbnN1cmUgdGhhdCB0aGUgd29ya2VyJ3MKLSAgICAvLyBgb25lcnJvcmAgaGFuZGxlciBk
b2VzIG5vdCBpbmZsdWVuY2UgcmVzdWx0cyBpbiB0aGUgcGFyZW50IGNvbnRleHQuCi0gICAgc2V0
VGltZW91dChmdW5jdGlvbigpIHsKLSAgICAgIHQuZG9uZSgpOwotICAgIH0sIDApOwotICB9Owot
Ci0gIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7Ci0gICAgdGhyb3cgbmV3IEVycm9yKCJUaGlzIGVy
cm9yIGlzIGV4cGVjdGVkLiIpOwotICB9LCAwKTsKLX0sICdvbmVycm9yIGV2ZW50IGlzIHRyaWdn
ZXJlZCcpOwotCi1kb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvd29ya2Vy
LXVuY2F1Z2h0LXNpbmdsZS5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC93b3JrZXItdW5jYXVnaHQt
c2luZ2xlLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjMDQ1NDJiMmY1Ny4uMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFsL3dvcmtlci11bmNhdWdodC1zaW5nbGUu
anMKKysrIC9kZXYvbnVsbApAQCAtMSw4ICswLDAgQEAKLWltcG9ydFNjcmlwdHMoIi9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiKTsKLQotc2V0dXAoeyBzaW5nbGVfdGVzdDogdHJ1ZSB9KTsKLQot
Ly8gQmVjYXVzZSB0aGlzIHNjcmlwdCBlbmFibGVzIHRoZSBgc2luZ2xlX3Rlc3RgIGNvbmZpZ3Vy
YXRpb24gb3B0aW9uLCBpdAotLy8gc2hvdWxkIGJlIGludGVycHJldGVkIGFzIGEgc2luZ2xlLXBh
Z2UgdGVzdCwgYW5kIHRoZSB1bmNhdWdodCBleGNlcHRpb24KLS8vIHNob3VsZCBiZSByZXBvcnRl
ZCBhcyBhIHRlc3QgZmFpbHVyZSAoaGFybmVzcyBzdGF0dXM6IE9LKS4KLXRocm93IG5ldyBFcnJv
cigiVGhpcyBmYWlsdXJlIGlzIGV4cGVjdGVkLiIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5j
dGlvbmFsL3dvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC93b3JrZXIuanMKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IGE5MjNiYzJkODllLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rl
c3RzL2Z1bmN0aW9uYWwvd29ya2VyLmpzCisrKyAvZGV2L251bGwKQEAgLTEsMzQgKzAsMCBAQAot
aW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotCi10ZXN0KAotICAg
IGZ1bmN0aW9uKHRlc3QpIHsKLSAgICAgICAgYXNzZXJ0X3RydWUodHJ1ZSwgIlRydWUgaXMgdHJ1
ZSIpOwotICAgIH0sCi0gICAgIldvcmtlciB0ZXN0IHRoYXQgY29tcGxldGVzIHN1Y2Nlc3NmdWxs
eSIpOwotCi10ZXN0KAotICAgIGZ1bmN0aW9uKHRlc3QpIHsKLSAgICAgICAgYXNzZXJ0X3RydWUo
ZmFsc2UsICJGYWlsaW5nIHRlc3QiKTsKLSAgICB9LAotICAgICJXb3JrZXIgdGVzdCB0aGF0IGZh
aWxzICgnRkFJTCcpIik7Ci0KLWFzeW5jX3Rlc3QoCi0gICAgZnVuY3Rpb24odGVzdCkgewotICAg
ICAgICBhc3NlcnRfdHJ1ZSh0cnVlLCAiVHJ1ZSBpcyB0cnVlIik7Ci0gICAgfSwKLSAgICAiV29y
a2VyIHRlc3QgdGhhdCB0aW1lcyBvdXQgKCdUSU1FT1VUJykiKTsKLQotYXN5bmNfdGVzdCgiV29y
a2VyIHRlc3QgdGhhdCBkb2Vzbid0IHJ1biAoJ05PVCBSVU4nKSIpOwotCi1hc3luY190ZXN0KAot
ICAgIGZ1bmN0aW9uKHRlc3QpIHsKLSAgICAgICAgc2VsZi5zZXRUaW1lb3V0KAotICAgICAgICAg
ICAgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgdGVzdC5kb25lKCk7Ci0gICAgICAgICAg
ICB9LAotICAgICAgICAgICAgMCk7Ci0gICAgfSwKLSAgICAiV29ya2VyIGFzeW5jX3Rlc3QgdGhh
dCBjb21wbGV0ZXMgc3VjY2Vzc2Z1bGx5Iik7Ci0KLS8vIEFuIGV4cGxpY2l0IGRvbmUoKSBpcyBy
ZXF1aXJlZCBmb3IgZGVkaWNhdGVkIGFuZCBzaGFyZWQgd2ViIHdvcmtlcnMuCi1kb25lKCk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy90ZXN0L3Rlc3RzL2dlbmVyYXRlLWNhbGxiYWNrLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2dlbmVy
YXRlLWNhbGxiYWNrLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGE3MmFkNjJh
NTlmLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2dlbmVyYXRlLWNhbGxiYWNrLmh0bWwKKysr
IC9kZXYvbnVsbApAQCAtMSwxNjcgKzAsMCBAQAotPCFET0NUWVBFIEhUTUw+Ci08aHRtbD4KLTxo
ZWFkPgotPHRpdGxlPlNhbXBsZSBmb3IgdXNpbmcgZ2VuZXJhdGVfdGVzdHMgdG8gY3JlYXRlIGEg
c2VyaWVzIG9mIHRlc3RzIHRoYXQgc2hhcmUgdGhlIHNhbWUgY2FsbGJhY2suPC90aXRsZT4KLTxz
Y3JpcHQgc3JjPSIuLi8uLi90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
Li4vLi4vdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08
c2NyaXB0PgotLy8gZ2VuZXJhdGVfdGVzdHMgdGFrZXMgYW4gYXJyYXkgb2YgYXJyYXlzIHRoYXQg
ZGVmaW5lIHRlc3RzCi0vLyBidXQgbGV0cyBwYXNzIGl0IGFuIGVtcHR5IGFycmF5IGFuZCB2ZXJp
ZnkgaXQgZG9lcyBub3RoaW5nLgotZnVuY3Rpb24gbnVsbF9jYWxsYmFjaygpIHsKLQl0aHJvdyAi
bnVsbF9jYWxsYmFjayBzaG91bGQgbm90IGJlIGNhbGxlZC4iOwotfQotZ2VuZXJhdGVfdGVzdHMo
bnVsbF9jYWxsYmFjaywgW10pOwotCi0vLyBHZW5lcmF0ZSAzIHRlc3RzIHNwZWNpZnlpbmcgdGhl
IG5hbWUgYW5kIG9uZSBwYXJhbWV0ZXIKLWZ1bmN0aW9uIHZhbGlkYXRlX2FyZ3VtZW50cyhhcmcx
KSB7Ci0JYXNzZXJ0X2VxdWFscyhhcmcxLCAxLCAiRW5zdXJlIHRoYXQgd2UgZ2V0IG91ciBleHBl
Y3RlZCBhcmd1bWVudCIpOwotfQotZ2VuZXJhdGVfdGVzdHModmFsaWRhdGVfYXJndW1lbnRzLCBb
Ci0JWyJmaXJzdCB0ZXN0IiwgMV0sCi0JWyJzZWNvbmQgdGVzdCIsIDFdLAotCVsidGhpcmQgdGVz
dCIsIDFdLAotXSk7Ci0KLS8vIEdlbmVyYXRlIGEgdGVzdCBwYXNzaW5nIGluIGEgcHJvcGVydGll
cyBvYmplY3QgdGhhdCBpcyBzaGFyZWQgYWNyb3NzIHRlc3RzLgotZnVuY3Rpb24gdmFsaWRhdGVf
cHJvcGVydGllcygpIHsKLQlhc3NlcnRfdHJ1ZSh0aGlzLnByb3BlcnRpZXMuc2VudGluZWwsICJF
bnN1cmUgdGhhdCB3ZSBnb3QgdGhlIHJpZ2h0IHByb3BlcnRpZXMgb2JqZWN0LiIpOwotfQotZ2Vu
ZXJhdGVfdGVzdHModmFsaWRhdGVfcHJvcGVydGllcywgW1sic2VudGluZWwgY2hlY2sgMSJdLCBb
InNlbnRpbmVsIGNoZWNrIDIiXV0sIHtzZW50aW5lbDogdHJ1ZX0pOwotCi0vLyBHZW5lcmF0ZSBh
IHRlc3QgcGFzc2luZyBpbiBhIHByb3BlcnRpZXMgb2JqZWN0IHRoYXQgaXMgc2hhcmVkIGFjcm9z
cyB0ZXN0cy4KLWZ1bmN0aW9uIHZhbGlkYXRlX3NlcGFyYXRlX3Byb3BlcnRpZXMoKSB7Ci0JaWYg
KHRoaXMubmFtZSA9PT0gInNlbnRpbmVsIGNoZWNrIDEgdW5pcXVlIHByb3BlcnRpZXMiKSB7Ci0J
CWFzc2VydF90cnVlKHRoaXMucHJvcGVydGllcy5zZW50aW5lbCwgIkVuc3VyZSB0aGF0IHdlIGdv
dCB0aGUgcmlnaHQgcHJvcGVydGllcyBvYmplY3QuIEV4cGVjdCBzZW50aW5lbDogdHJ1ZS4iKTsK
LQl9Ci0JZWxzZSB7Ci0JCWFzc2VydF9mYWxzZSh0aGlzLnByb3BlcnRpZXMuc2VudGluZWwsICJF
bnN1cmUgdGhhdCB3ZSBnb3QgdGhlIHJpZ2h0IHByb3BlcnRpZXMgb2JqZWN0LiBFeHBlY3Qgc2Vu
dGluZWw6IGZhbHNlLiIpOwotCX0KLX0KLWdlbmVyYXRlX3Rlc3RzKHZhbGlkYXRlX3NlcGFyYXRl
X3Byb3BlcnRpZXMsIFtbInNlbnRpbmVsIGNoZWNrIDEgdW5pcXVlIHByb3BlcnRpZXMiXSwgWyJz
ZW50aW5lbCBjaGVjayAyIHVuaXF1ZSBwcm9wZXJ0aWVzIl1dLCBbe3NlbnRpbmVsOiB0cnVlfSwg
e3NlbnRpbmVsOiBmYWxzZX1dKTsKLQotLy8gRmluYWxseSBnZW5lcmF0ZSBhIGNvbXBsaWNhdGVk
IHNldCBvZiB0ZXN0cyBmcm9tIGFub3RoZXIgZGF0YSBzb3VyY2UKLXZhciBsZXR0ZXJzID0gWyJh
IiwgImIiLCAiYyIsICJkIiwgImUiLCAiZiJdOwotdmFyIG51bWJlcnMgPSBbMCwgMSwgMiwgMywg
NCwgNV07Ci1mdW5jdGlvbiB2YWxpZGF0ZV9yZWxhdGVkX2FyZ3VtZW50cyhhcmcxLCBhcmcyKSB7
Ci0JYXNzZXJ0X2VxdWFscyhhcmcxLmNoYXJDb2RlQXQoMCkgLSAiYSIuY2hhckNvZGVBdCgwKSwg
YXJnMiwgIkVuc3VyZSB0aGF0IHdlIGNhbiBtYXAgbGV0dGVycyB0byBudW1iZXJzLiIpOwotfQot
ZnVuY3Rpb24gZm9ybWF0X2FzX3Rlc3QobGV0dGVyLCBpbmRleCwgbGV0dGVycykgewotCXJldHVy
biBbIlRlc3QgdG8gbWFwICIgKyBsZXR0ZXIgKyAiIHRvICIgKyBudW1iZXJzW2luZGV4XSwgbGV0
dGVyLCBudW1iZXJzW2luZGV4XV07Ci19Ci1nZW5lcmF0ZV90ZXN0cyh2YWxpZGF0ZV9yZWxhdGVk
X2FyZ3VtZW50cywgbGV0dGVycy5tYXAoZm9ybWF0X2FzX3Rlc3QpKTsKLTwvc2NyaXB0PgotPHNj
cmlwdCB0eXBlPSJ0ZXh0L2pzb24iIGlkPSJleHBlY3RlZCI+Ci17Ci0gICJzdW1tYXJpemVkX3N0
YXR1cyI6IHsKLSAgICAic3RhdHVzX3N0cmluZyI6ICJPSyIsCi0gICAgIm1lc3NhZ2UiOiBudWxs
LAotICAgICJzdGFjayI6IG51bGwKLSAgfSwKLSAgInN1bW1hcml6ZWRfdGVzdHMiOiBbCi0gICAg
ewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJUZXN0IHRv
IG1hcCBhIHRvIDAiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjog
bnVsbCwKLSAgICAgICJzdGFjayI6IG51bGwKLSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0dXNf
c3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUiOiAiVGVzdCB0byBtYXAgYiB0byAxIiwKLSAg
ICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAic3Rh
Y2siOiBudWxsCi0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwK
LSAgICAgICJuYW1lIjogIlRlc3QgdG8gbWFwIGMgdG8gMiIsCi0gICAgICAicHJvcGVydGllcyI6
IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgInN0YWNrIjogbnVsbAotICAgIH0s
Ci0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJU
ZXN0IHRvIG1hcCBkIHRvIDMiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNz
YWdlIjogbnVsbCwKLSAgICAgICJzdGFjayI6IG51bGwKLSAgICB9LAotICAgIHsKLSAgICAgICJz
dGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUiOiAiVGVzdCB0byBtYXAgZSB0byA0
IiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAg
ICAic3RhY2siOiBudWxsCi0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQ
QVNTIiwKLSAgICAgICJuYW1lIjogIlRlc3QgdG8gbWFwIGYgdG8gNSIsCi0gICAgICAicHJvcGVy
dGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgInN0YWNrIjogbnVsbAot
ICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFt
ZSI6ICJmaXJzdCB0ZXN0IiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2Fn
ZSI6IG51bGwsCi0gICAgICAic3RhY2siOiBudWxsCi0gICAgfSwKLSAgICB7Ci0gICAgICAic3Rh
dHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1lIjogInNlY29uZCB0ZXN0IiwKLSAgICAg
ICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAic3RhY2si
OiBudWxsCi0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAg
ICAgICJuYW1lIjogInNlbnRpbmVsIGNoZWNrIDEiLAotICAgICAgInByb3BlcnRpZXMiOiB7Ci0g
ICAgICAgICJzZW50aW5lbCI6IHRydWUKLSAgICAgIH0sCi0gICAgICAibWVzc2FnZSI6IG51bGws
Ci0gICAgICAic3RhY2siOiBudWxsCi0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmlu
ZyI6ICJQQVNTIiwKLSAgICAgICJuYW1lIjogInNlbnRpbmVsIGNoZWNrIDEgdW5pcXVlIHByb3Bl
cnRpZXMiLAotICAgICAgInByb3BlcnRpZXMiOiB7Ci0gICAgICAgICJzZW50aW5lbCI6IHRydWUK
LSAgICAgIH0sCi0gICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAic3RhY2siOiBudWxsCi0g
ICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1l
IjogInNlbnRpbmVsIGNoZWNrIDIiLAotICAgICAgInByb3BlcnRpZXMiOiB7Ci0gICAgICAgICJz
ZW50aW5lbCI6IHRydWUKLSAgICAgIH0sCi0gICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAi
c3RhY2siOiBudWxsCi0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNT
IiwKLSAgICAgICJuYW1lIjogInNlbnRpbmVsIGNoZWNrIDIgdW5pcXVlIHByb3BlcnRpZXMiLAot
ICAgICAgInByb3BlcnRpZXMiOiB7Ci0gICAgICAgICJzZW50aW5lbCI6IGZhbHNlCi0gICAgICB9
LAotICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgInN0YWNrIjogbnVsbAotICAgIH0sCi0g
ICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJ0aGly
ZCB0ZXN0IiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6IG51bGws
Ci0gICAgICAic3RhY2siOiBudWxsCi0gICAgfQotICBdLAotICAidHlwZSI6ICJjb21wbGV0ZSIK
LX0KLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9pZGxo
YXJuZXNzL0lkbEFycmF5L2lzX2pzb25fdHlwZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9pZGxoYXJuZXNzL0lk
bEFycmF5L2lzX2pzb25fdHlwZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0
MmY5ZGQ1MmMyOS4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9pZGxoYXJuZXNzL0lkbEFycmF5
L2lzX2pzb25fdHlwZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTk1ICswLDAgQEAKLTwhRE9D
VFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLTx0aXRsZT5JZGxBcnJheS5wcm90b3R5cGUuaXNf
anNvbl90eXBlKCk8L3RpdGxlPgotPC9oZWFkPgotPGJvZHk+Ci08ZGl2IGlkPSJsb2ciPjwvZGl2
PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvV2ViSURMUGFyc2VyLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL2lkbGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4u
L2hlbHBlci5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotICAgICJ1c2Ugc3RyaWN0IjsKLQotICAg
IHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBpZGwgPSBuZXcgSWRsQXJyYXkoKTsKLSAg
ICAgICAgYXNzZXJ0X3RydWUoaWRsLmlzX2pzb25fdHlwZSh0eXBlRnJvbSgiRE9NU3RyaW5nIikp
KTsKLSAgICAgICAgYXNzZXJ0X3RydWUoaWRsLmlzX2pzb25fdHlwZSh0eXBlRnJvbSgiQnl0ZVN0
cmluZyIpKSk7Ci0gICAgICAgIGFzc2VydF90cnVlKGlkbC5pc19qc29uX3R5cGUodHlwZUZyb20o
IlVTVlN0cmluZyIpKSk7Ci0gICAgICAgIGlkbC5hZGRfdW50ZXN0ZWRfaWRscygnZW51bSBCYXJF
bnVtIHsgImEiLCAiYiIsICJjIiB9OycpOwotICAgICAgICBhc3NlcnRfdHJ1ZShpZGwuaXNfanNv
bl90eXBlKHR5cGVGcm9tKCJCYXJFbnVtIikpKTsKLSAgICB9LCAnc2hvdWxkIHJldHVybiB0cnVl
IGZvciBhbGwgc3RyaW5nIHR5cGVzJyk7Ci0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAg
ICB2YXIgaWRsID0gbmV3IElkbEFycmF5KCk7Ci0gICAgICAgIGFzc2VydF9mYWxzZShpZGwuaXNf
anNvbl90eXBlKHR5cGVGcm9tKCJFcnJvciIpKSk7Ci0gICAgICAgIGFzc2VydF9mYWxzZShpZGwu
aXNfanNvbl90eXBlKHR5cGVGcm9tKCJET01FeGNlcHRpb24iKSkpOwotICAgIH0sICdzaG91bGQg
cmV0dXJuIGZhbHNlIGZvciBhbGwgZXhjZXB0aW9uIHR5cGVzJyk7Ci0KLSAgICB0ZXN0KGZ1bmN0
aW9uKCkgewotICAgICAgICB2YXIgaWRsID0gbmV3IElkbEFycmF5KCk7Ci0gICAgICAgIGFzc2Vy
dF9mYWxzZShpZGwuaXNfanNvbl90eXBlKHR5cGVGcm9tKCJJbnQ4QXJyYXkiKSkpOwotICAgICAg
ICBhc3NlcnRfZmFsc2UoaWRsLmlzX2pzb25fdHlwZSh0eXBlRnJvbSgiSW50MTZBcnJheSIpKSk7
Ci0gICAgICAgIGFzc2VydF9mYWxzZShpZGwuaXNfanNvbl90eXBlKHR5cGVGcm9tKCJJbnQzMkFy
cmF5IikpKTsKLSAgICAgICAgYXNzZXJ0X2ZhbHNlKGlkbC5pc19qc29uX3R5cGUodHlwZUZyb20o
IlVpbnQ4QXJyYXkiKSkpOwotICAgICAgICBhc3NlcnRfZmFsc2UoaWRsLmlzX2pzb25fdHlwZSh0
eXBlRnJvbSgiVWludDE2QXJyYXkiKSkpOwotICAgICAgICBhc3NlcnRfZmFsc2UoaWRsLmlzX2pz
b25fdHlwZSh0eXBlRnJvbSgiVWludDMyQXJyYXkiKSkpOwotICAgICAgICBhc3NlcnRfZmFsc2Uo
aWRsLmlzX2pzb25fdHlwZSh0eXBlRnJvbSgiVWludDhDbGFtcGVkQXJyYXkiKSkpOwotICAgICAg
ICBhc3NlcnRfZmFsc2UoaWRsLmlzX2pzb25fdHlwZSh0eXBlRnJvbSgiRmxvYXQzMkFycmF5Iikp
KTsKLSAgICAgICAgYXNzZXJ0X2ZhbHNlKGlkbC5pc19qc29uX3R5cGUodHlwZUZyb20oIkFycmF5
QnVmZmVyIikpKTsKLSAgICAgICAgYXNzZXJ0X2ZhbHNlKGlkbC5pc19qc29uX3R5cGUodHlwZUZy
b20oIkRhdGFWaWV3IikpKTsKLSAgICB9LCAnc2hvdWxkIHJldHVybiBmYWxzZSBmb3IgYWxsIGJ1
ZmZlciBzb3VyY2UgdHlwZXMnKTsKLQotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZh
ciBpZGwgPSBuZXcgSWRsQXJyYXkoKTsKLSAgICAgICAgYXNzZXJ0X3RydWUoaWRsLmlzX2pzb25f
dHlwZSh0eXBlRnJvbSgiYm9vbGVhbiIpKSk7Ci0gICAgfSwgJ3Nob3VsZCByZXR1cm4gdHJ1ZSBm
b3IgYm9vbGVhbicpOwotCi0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIGlkbCA9
IG5ldyBJZGxBcnJheSgpOwotICAgICAgICBhc3NlcnRfdHJ1ZShpZGwuaXNfanNvbl90eXBlKHR5
cGVGcm9tKCJieXRlIikpKTsKLSAgICAgICAgYXNzZXJ0X3RydWUoaWRsLmlzX2pzb25fdHlwZSh0
eXBlRnJvbSgib2N0ZXQiKSkpOwotICAgICAgICBhc3NlcnRfdHJ1ZShpZGwuaXNfanNvbl90eXBl
KHR5cGVGcm9tKCJzaG9ydCIpKSk7Ci0gICAgICAgIGFzc2VydF90cnVlKGlkbC5pc19qc29uX3R5
cGUodHlwZUZyb20oInVuc2lnbmVkIHNob3J0IikpKTsKLSAgICAgICAgYXNzZXJ0X3RydWUoaWRs
LmlzX2pzb25fdHlwZSh0eXBlRnJvbSgibG9uZyIpKSk7Ci0gICAgICAgIGFzc2VydF90cnVlKGlk
bC5pc19qc29uX3R5cGUodHlwZUZyb20oInVuc2lnbmVkIGxvbmciKSkpOwotICAgICAgICBhc3Nl
cnRfdHJ1ZShpZGwuaXNfanNvbl90eXBlKHR5cGVGcm9tKCJsb25nIGxvbmciKSkpOwotICAgICAg
ICBhc3NlcnRfdHJ1ZShpZGwuaXNfanNvbl90eXBlKHR5cGVGcm9tKCJ1bnNpZ25lZCBsb25nIGxv
bmciKSkpOwotICAgICAgICBhc3NlcnRfdHJ1ZShpZGwuaXNfanNvbl90eXBlKHR5cGVGcm9tKCJm
bG9hdCIpKSk7Ci0gICAgICAgIGFzc2VydF90cnVlKGlkbC5pc19qc29uX3R5cGUodHlwZUZyb20o
InVucmVzdHJpY3RlZCBmbG9hdCIpKSk7Ci0gICAgICAgIGFzc2VydF90cnVlKGlkbC5pc19qc29u
X3R5cGUodHlwZUZyb20oImRvdWJsZSIpKSk7Ci0gICAgICAgIGFzc2VydF90cnVlKGlkbC5pc19q
c29uX3R5cGUodHlwZUZyb20oInVucmVzdHJpY3RlZCBkb3VibGUiKSkpOwotICAgIH0sICdzaG91
bGQgcmV0dXJuIHRydWUgZm9yIGFsbCBudW1lcmljIHR5cGVzJyk7Ci0KLSAgICB0ZXN0KGZ1bmN0
aW9uKCkgewotICAgICAgICB2YXIgaWRsID0gbmV3IElkbEFycmF5KCk7Ci0gICAgICAgIGFzc2Vy
dF9mYWxzZShpZGwuaXNfanNvbl90eXBlKHR5cGVGcm9tKCJQcm9taXNlPERPTVN0cmluZz4iKSkp
OwotICAgIH0sICdzaG91bGQgcmV0dXJuIGZhbHNlIGZvciBwcm9taXNlcycpOwotCi0gICAgdGVz
dChmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIGlkbCA9IG5ldyBJZGxBcnJheSgpOwotICAgICAg
ICBhc3NlcnRfZmFsc2UoaWRsLmlzX2pzb25fdHlwZSh0eXBlRnJvbSgic2VxdWVuY2U8RE9NRXhj
ZXB0aW9uPiIpKSk7Ci0gICAgICAgIGFzc2VydF90cnVlKGlkbC5pc19qc29uX3R5cGUodHlwZUZy
b20oInNlcXVlbmNlPERPTVN0cmluZz4iKSkpOwotICAgIH0sICdzaG91bGQgaGFuZGxlIHNlcXVl
bmNlcyBhY2NvcmRpbmcgdG8gdGhlaXIgaW5uZXIgdHlwZXMnKTsKLSAgICAKLSAgICB0ZXN0KGZ1
bmN0aW9uKCkgewotICAgICAgICB2YXIgaWRsID0gbmV3IElkbEFycmF5KCk7Ci0gICAgICAgIGFz
c2VydF9mYWxzZShpZGwuaXNfanNvbl90eXBlKHR5cGVGcm9tKCJGcm96ZW5BcnJheTxET01FeGNl
cHRpb24+IikpKTsKLSAgICAgICAgYXNzZXJ0X3RydWUoaWRsLmlzX2pzb25fdHlwZSh0eXBlRnJv
bSgiRnJvemVuQXJyYXk8RE9NU3RyaW5nPiIpKSk7Ci0gICAgfSwgJ3Nob3VsZCBoYW5kbGUgZnJv
emVuIGFycmF5cyBhY2NvcmRpbmcgdG8gdGhlaXIgaW5uZXIgdHlwZXMnKTsKLQotICAgIHRlc3Qo
ZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBpZGwgPSBuZXcgSWRsQXJyYXkoKTsKLSAgICAgICAg
YXNzZXJ0X3RydWUoaWRsLmlzX2pzb25fdHlwZSh0eXBlRnJvbSgicmVjb3JkPERPTVN0cmluZywg
RE9NU3RyaW5nPiIpKSk7Ci0gICAgICAgIGFzc2VydF9mYWxzZShpZGwuaXNfanNvbl90eXBlKHR5
cGVGcm9tKCJyZWNvcmQ8RE9NU3RyaW5nLCBFcnJvcj4iKSkpOwotICAgIH0sICdzaG91bGQgaGFu
ZGxlIHJlY29yZHMgYWNjb3JkaW5nIHRvIHRoZWlyIGlubmVyIHR5cGVzJyk7Ci0KLSAgICB0ZXN0
KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgaWRsID0gbmV3IElkbEFycmF5KCk7Ci0gICAgICAg
IGFzc2VydF90cnVlKGlkbC5pc19qc29uX3R5cGUodHlwZUZyb20oIm9iamVjdCIpKSk7Ci0gICAg
fSwgJ3Nob3VsZCByZXR1cm4gdHJ1ZSBmb3Igb2JqZWN0IHR5cGUnKTsKLQotICAgIHRlc3QoZnVu
Y3Rpb24oKSB7Ci0gICAgICAgIHZhciBpZGwgPSBuZXcgSWRsQXJyYXkoKTsKLSAgICAgICAgYXNz
ZXJ0X2ZhbHNlKGlkbC5pc19qc29uX3R5cGUodHlwZUZyb20oImFueSIpKSk7Ci0gICAgfSwgJ3No
b3VsZCByZXR1cm4gZmFsc2UgZm9yIGFueSB0eXBlJyk7Ci0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkg
ewotICAgICAgICB2YXIgaWRsID0gbmV3IElkbEFycmF5KCk7Ci0gICAgICAgIGlkbC5hZGRfdW50
ZXN0ZWRfaWRscygnZGljdGlvbmFyeSBGb28geyBET01TdHJpbmcgZm9vOyB9OyBkaWN0aW9uYXJ5
IEJhciA6IEZvbyB7IERPTVN0cmluZyBiYXI7IH07Jyk7Ci0gICAgICAgIGFzc2VydF90cnVlKGlk
bC5pc19qc29uX3R5cGUodHlwZUZyb20oIkZvbyIpKSk7Ci0gICAgICAgIGFzc2VydF90cnVlKGlk
bC5pc19qc29uX3R5cGUodHlwZUZyb20oIkJhciIpKSk7Ci0gICAgfSwgJ3Nob3VsZCByZXR1cm4g
dHJ1ZSBmb3IgZGljdGlvbmFyaWVzIHdob3NlIG1lbWJlcnMgYXJlIGFsbCBKU09OIHR5cGVzJyk7
Ci0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgaWRsID0gbmV3IElkbEFycmF5
KCk7Ci0gICAgICAgIGlkbC5hZGRfdW50ZXN0ZWRfaWRscygnZGljdGlvbmFyeSBGb28geyB9Oycp
OwotICAgICAgICBhc3NlcnRfdHJ1ZShpZGwuaXNfanNvbl90eXBlKHR5cGVGcm9tKCJGb28iKSkp
OwotICAgIH0sICdzaG91bGQgcmV0dXJuIHRydWUgZm9yIGRpY3Rpb25hcmllcyB3aGljaCBoYXZl
IG5vIG1lbWJlcnMnKTsKLQotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBpZGwg
PSBuZXcgSWRsQXJyYXkoKTsKLSAgICAgICAgaWRsLmFkZF91bnRlc3RlZF9pZGxzKCdkaWN0aW9u
YXJ5IEZvb0JhciB7IERPTVN0cmluZyBhOyBFcnJvciBiOyB9OyBkaWN0aW9uYXJ5IEJheiA6IEZv
b0JhciB7fTsnKTsKLSAgICAgICAgYXNzZXJ0X2ZhbHNlKGlkbC5pc19qc29uX3R5cGUodHlwZUZy
b20oIkZvb0JhciIpKSk7Ci0gICAgICAgIGFzc2VydF9mYWxzZShpZGwuaXNfanNvbl90eXBlKHR5
cGVGcm9tKCJCYXoiKSkpOwotICAgIH0sICdzaG91bGQgcmV0dXJuIGZhbHNlIGZvciBkaWN0aW9u
YXJpZXMgd2hvc2UgbWVtYmVycyBhcmUgbm90IGFsbCBKU09OIHR5cGVzJyk7Ci0KLSAgICB0ZXN0
KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgaWRsID0gbmV3IElkbEFycmF5KCk7Ci0gICAgICAg
IGlkbC5hZGRfdW50ZXN0ZWRfaWRscygnaW50ZXJmYWNlIEZvbyB7IERPTVN0cmluZyB0b0pTT04o
KTsgfTsnKTsKLSAgICAgICAgYXNzZXJ0X3RydWUoaWRsLmlzX2pzb25fdHlwZSh0eXBlRnJvbSgi
Rm9vIikpKTsKLSAgICB9LCAnc2hvdWxkIHJldHVybiB0cnVlIGZvciBpbnRlcmZhY2VzIHdoaWNo
IGRlY2xhcmUgYSB0b0pTT04gb3BlcmF0aW9uJyk7Ci0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewot
ICAgICAgICB2YXIgaWRsID0gbmV3IElkbEFycmF5KCk7Ci0gICAgICAgIGlkbC5hZGRfdW50ZXN0
ZWRfaWRscygnaW50ZXJmYWNlIEZvbyB7IERPTVN0cmluZyB0b0pTT04oKTsgfTsgaW50ZXJmYWNl
IEJhciA6IEZvbyB7IH07Jyk7Ci0gICAgICAgIGFzc2VydF90cnVlKGlkbC5pc19qc29uX3R5cGUo
dHlwZUZyb20oIkJhciIpKSk7Ci0gICAgfSwgJ3Nob3VsZCByZXR1cm4gdHJ1ZSBmb3IgaW50ZXJm
YWNlcyB3aGljaCBpbmhlcml0IGZyb20gYW4gaW50ZXJmYWNlIHdoaWNoIGRlY2xhcmVzIGEgdG9K
U09OIG9wZXJhdGlvbicpOwotCi0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIGlk
bCA9IG5ldyBJZGxBcnJheSgpOwotICAgICAgICBpZGwuYWRkX3VudGVzdGVkX2lkbHMoJ2ludGVy
ZmFjZSBGb28geyB9OyBpbnRlcmZhY2UgQmFyIHsgRE9NU3RyaW5nIHRvSlNPTigpOyB9OyBGb28g
aW1wbGVtZW50cyBCYXI7Jyk7Ci0gICAgICAgIGFzc2VydF90cnVlKGlkbC5pc19qc29uX3R5cGUo
dHlwZUZyb20oIkZvbyIpKSk7Ci0gICAgfSwgJ3Nob3VsZCByZXR1cm4gdHJ1ZSBmb3IgaW50ZXJm
YWNlcyB3aGljaCBtaXhpbiBhbiBpbnRlcmZhY2Ugd2hpY2ggZGVjbGFyZSBhIHRvSlNPTiBvcGVy
YXRpb24nKTsKLQotLy8gICAgdGVzdChmdW5jdGlvbigpIHsKLS8vICAgICAgICB2YXIgaWRsID0g
bmV3IElkbEFycmF5KCk7Ci0vLyAgICAgICAgaWRsLmFkZF91bnRlc3RlZF9pZGxzKCdpbnRlcmZh
Y2UgRm9vIHsgfTsgaW50ZXJmYWNlIEJhciB7IH07IGludGVyZmFjZSBCYXogeyBET01TdHJpbmcg
dG9KU09OKCk7IH07IEZvbyBpbXBsZW1lbnRzIEJhcjsgQmFyIGltcGxlbWVudHMgQmF6OycpOwot
Ly8gICAgICAgIGFzc2VydF90cnVlKGlkbC5pc19qc29uX3R5cGUodHlwZUZyb20oIkZvbyIpKSk7
Ci0vLyAgICB9LCAnc2hvdWxkIHJldHVybiB0cnVlIGZvciBpbnRlcmZhY2VzIHdoaWNoIG1peGlu
IGFuIGludGVyZmFjZSB3aGljaCBpdHNlbGYgbWl4ZXMgaW4gYW4gaW50ZXJmYWNlIHdoaWNoIGRl
Y2xhcmVzIGEgdG9KU09OIG9wZXJhdGlvbicpOwotCi0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAg
ICAgICAgdmFyIGlkbCA9IG5ldyBJZGxBcnJheSgpOwotICAgICAgICBpZGwuYWRkX3VudGVzdGVk
X2lkbHMoJ2ludGVyZmFjZSBGb28geyB9OycpOwotICAgICAgICBhc3NlcnRfZmFsc2UoaWRsLmlz
X2pzb25fdHlwZSh0eXBlRnJvbSgiRm9vIikpKTsKLSAgICB9LCAnc2hvdWxkIHJldHVybiBmYWxz
ZSBmb3IgaW50ZXJmYWNlcyB3aGljaCBkbyBub3QgZGVjbGFyZSBhIHRvSlNPTiBvcGVyYXRpb24n
KTsKLQotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBpZGwgPSBuZXcgSWRsQXJy
YXkoKTsKLSAgICAgICAgaWRsLmFkZF91bnRlc3RlZF9pZGxzKCdpbnRlcmZhY2UgRm9vIHsgb2Jq
ZWN0IHRvSlNPTigpOyB9OycpOwotICAgICAgICBhc3NlcnRfdHJ1ZShpZGwuaXNfanNvbl90eXBl
KHR5cGVGcm9tKCIoRm9vIG9yIERPTVN0cmluZykiKSkpOwotICAgIH0sICdzaG91bGQgcmV0dXJu
IHRydWUgZm9yIHVuaW9uIHR5cGVzIHdob3NlIG1lbWJlciB0eXBlcyBhcmUgSlNPTiB0eXBlcycp
OwotCi0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIGlkbCA9IG5ldyBJZGxBcnJh
eSgpOwotICAgICAgICBhc3NlcnRfZmFsc2UoaWRsLmlzX2pzb25fdHlwZSh0eXBlRnJvbSgiKERh
dGFWaWV3IG9yIERPTVN0cmluZykiKSkpOwotICAgIH0sICdzaG91bGQgcmV0dXJuIGZhbHNlIGZv
ciB1bmlvbiB0eXBlcyB3aG9zZSBtZW1iZXIgdHlwZXMgYXJlIG5vdCBhbGwgSlNPTiB0eXBlcycp
OwotCi0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIGlkbCA9IG5ldyBJZGxBcnJh
eSgpOwotICAgICAgICBhc3NlcnRfdHJ1ZShpZGwuaXNfanNvbl90eXBlKHR5cGVGcm9tKCJET01T
dHJpbmc/IikpKTsKLSAgICAgICAgYXNzZXJ0X2ZhbHNlKGlkbC5pc19qc29uX3R5cGUodHlwZUZy
b20oIkRhdGFWaWV3PyIpKSk7Ci0gICAgfSwgJ3Nob3VsZCBjb25zaWRlciB0aGUgaW5uZXIgdHlw
ZXMgb2YgbnVsbGFibGUgdHlwZXMnKTsKLQotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAg
IHZhciBpZGwgPSBuZXcgSWRsQXJyYXkoKTsKLSAgICAgICAgYXNzZXJ0X3RydWUoaWRsLmlzX2pz
b25fdHlwZSh0eXBlRnJvbSgiW1hBdHRyXSBsb25nIikpKTsKLSAgICAgICAgYXNzZXJ0X2ZhbHNl
KGlkbC5pc19qc29uX3R5cGUodHlwZUZyb20oIltYQXR0cl0gRGF0YVZpZXciKSkpOwotICAgIH0s
ICdzaG91bGQgY29uc2lkZXIgdGhlIGlubmVyIHR5cGVzIG9mIGFubm90YXRlZCB0eXBlcy4nKTsK
LQotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBpZGwgPSBuZXcgSWRsQXJyYXko
KTsKLSAgICAgICAgYXNzZXJ0X3Rocm93cyhuZXcgRXJyb3IoKSwgXyA9PiBpZGwuaXNfanNvbl90
eXBlKHR5cGVGcm9tKCJGb28iKSkpOwotICAgIH0sICJzaG91bGQgdGhyb3cgaWYgaXQgcmVmZXJl
bmNlcyBhIGRpY3Rpb25hcnksIGVudW0gb3IgaW50ZXJmYWNlIHdoaWNoIHdhc24ndCBhZGRlZCB0
byB0aGUgSWRsQXJyYXkiKTsKLQotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBp
ZGwgPSBuZXcgSWRsQXJyYXkoKTsKLSAgICAgICAgaWRsLmFkZF91bnRlc3RlZF9pZGxzKCdpbnRl
cmZhY2UgRm9vIDogQmFyIHsgfTsnKTsKLSAgICAgICAgYXNzZXJ0X3Rocm93cyhuZXcgRXJyb3Io
KSwgXyA9PiBpZGwuaXNfanNvbl90eXBlKHR5cGVGcm9tKCJGb28iKSkpOwotICAgIH0sICJzaG91
bGQgdGhyb3cgZm9yIGludGVyZmFjZXMgd2hpY2ggaW5oZXJpdCBmcm9tIGFub3RoZXIgaW50ZXJm
YWNlIHdoaWNoIHdhc24ndCBhZGRlZCB0byB0aGUgSWRsQXJyYXkiKTsKLQotICAgIHRlc3QoZnVu
Y3Rpb24oKSB7Ci0gICAgICAgIHZhciBpZGwgPSBuZXcgSWRsQXJyYXkoKTsKLSAgICAgICAgYXNz
ZXJ0X3RydWUoaWRsLmlzX2pzb25fdHlwZSh0eXBlZGVmRnJvbSgidHlwZWRlZiBkb3VibGUgRE9N
SGlnaFJlc1RpbWVTdGFtcDsiKS5pZGxUeXBlKSk7Ci0gICAgfSwgJ3Nob3VsZCByZXR1cm4gdHJ1
ZSBmb3IgdHlwZWRlZnMgd2hvc2Ugc291cmNlIHR5cGUgaXMgYSBKU09OIHR5cGUnKTsKLQotICAg
IHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBpZGwgPSBuZXcgSWRsQXJyYXkoKTsKLSAg
ICAgICAgYXNzZXJ0X2ZhbHNlKGlkbC5pc19qc29uX3R5cGUodHlwZWRlZkZyb20oInR5cGVkZWYg
RGF0YVZpZXcgRE9NSGlnaFJlc1RpbWVTdGFtcDsiKS5pZGxUeXBlKSk7Ci0gICAgfSwgJ3Nob3Vs
ZCByZXR1cm4gZmFsc2UgZm9yIHR5cGVkZWZzIHdob3NlIHNvdXJjZSB0eXBlIGlzIG5vdCBhIEpT
T04gdHlwZScpOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+Ci0KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3Qv
dGVzdHMvaWRsaGFybmVzcy9JZGxBcnJheS93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRsaGFy
bmVzcy9JZGxBcnJheS93M2MtaW1wb3J0LmxvZwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggNGU4OTkwYjBmZDcuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRsaGFybmVzcy9JZGxB
cnJheS93M2MtaW1wb3J0LmxvZworKysgL2Rldi9udWxsCkBAIC0xLDE3ICswLDAgQEAKLVRoZSB0
ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0
b3J5LgotRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0
ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9n
aXRodWIuY29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMKLQotVGhlbiBydW4gdGhlIFRvb2xzL1Nj
cmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKLQotRG8gTk9UIG1v
ZGlmeSBvciByZW1vdmUgdGhpcyBmaWxlLgotCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLVByb3BlcnRpZXMg
cmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKLU5vbmUKLVByb3BlcnR5IHZhbHVlcyByZXF1aXJp
bmcgdmVuZG9yIHByZWZpeGVzOgotTm9uZQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1MaXN0IG9mIGZpbGVz
OgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3Rlc3QvdGVzdHMvaWRsaGFybmVzcy9JZGxBcnJheS9pc19qc29uX3R5cGUuaHRtbApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvdGVzdC90ZXN0cy9pZGxoYXJuZXNzL0lkbERpY3Rpb25hcnkvZ2V0X2luaGVyaXRhbmNlX3N0
YWNrLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy90ZXN0L3Rlc3RzL2lkbGhhcm5lc3MvSWRsRGljdGlvbmFyeS9nZXRfaW5oZXJpdGFu
Y2Vfc3RhY2suaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODM4NjNmYjhkNzYu
LjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRsaGFybmVzcy9JZGxEaWN0aW9uYXJ5L2dldF9p
bmhlcml0YW5jZV9zdGFjay5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMzUgKzAsMCBAQAotPCFE
T0NUWVBFIEhUTUw+Ci08aHRtbD4KLTxoZWFkPgotPHRpdGxlPklkbERpY3Rpb25hcnkucHJvdG90
eXBlLmdldF9pbmhlcml0YW5jZV9zdGFjaygpPC90aXRsZT4KLTwvaGVhZD4KLTxib2R5PgotPGRp
diBpZD0ibG9nIj48L2Rpdj4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL1dlYklETFBhcnNlci5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9pZGxoYXJuZXNzLmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIuLi9oZWxwZXIuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLSAgICAidXNl
IHN0cmljdCI7Ci0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIHN0YWNrID0gZGlj
dGlvbmFyeUZyb20oJ2RpY3Rpb25hcnkgQSB7IH07JykuZ2V0X2luaGVyaXRhbmNlX3N0YWNrKCk7
Ci0gICAgICAgIGFzc2VydF9hcnJheV9lcXVhbHMoc3RhY2subWFwKGQgPT4gZC5uYW1lKSwgWyJB
Il0pOwotICAgIH0sICdzaG91bGQgcmV0dXJuIGFuIGFycmF5IHRoYXQgaW5jbHVkZXMgaXRzZWxm
LicpOwotICAgIAotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBkID0gZGljdGlv
bmFyeUZyb20oJ2RpY3Rpb25hcnkgQSA6IEIgeyB9OycpOwotICAgICAgICBhc3NlcnRfdGhyb3dz
KG5ldyBFcnJvcigpLCBfID0+IGQuZ2V0X2luaGVyaXRhbmNlX3N0YWNrKCkpOwotICAgIH0sICJz
aG91bGQgdGhyb3cgZm9yIGRpY3Rpb25hcmllcyB3aGljaCBpbmhlcml0IGZyb20gYW5vdGhlciBk
aWN0aW9uYXJ5IHdoaWNoIHdhc24ndCBhZGRlZCB0byB0aGUgSWRsQXJyYXkiKTsKLSAgICAKLSAg
ICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgaWRsID0gbmV3IElkbEFycmF5KCk7Ci0g
ICAgICAgIGlkbC5hZGRfaWRscygnZGljdGlvbmFyeSBBIDogQiB7IH07Jyk7Ci0gICAgICAgIGlk
bC5hZGRfdW50ZXN0ZWRfaWRscygnZGljdGlvbmFyeSBCIDogQyB7IH07IGRpY3Rpb25hcnkgQyB7
IH07Jyk7Ci0gICAgICAgIHZhciBBID0gaWRsLm1lbWJlcnNbIkEiXTsKLSAgICAgICAgYXNzZXJ0
X2FycmF5X2VxdWFscyhBLmdldF9pbmhlcml0YW5jZV9zdGFjaygpLm1hcChkID0+IGQubmFtZSks
IFsiQSIsICJCIiwgIkMiXSk7Ci0gICAgfSwgJ3Nob3VsZCByZXR1cm4gYW4gYXJyYXkgb2YgaW5o
ZXJpdGVkIGRpY3Rpb25hcmllcyBpbiBvcmRlciBvZiBpbmhlcml0YW5jZSwgc3RhcnRpbmcgd2l0
aCBpdHNlbGYuJyk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KLQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVz
dC90ZXN0cy9pZGxoYXJuZXNzL0lkbERpY3Rpb25hcnkvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3Rz
L2lkbGhhcm5lc3MvSWRsRGljdGlvbmFyeS93M2MtaW1wb3J0LmxvZwpkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggYzlmNzM1OGE1ZmIuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRs
aGFybmVzcy9JZGxEaWN0aW9uYXJ5L3czYy1pbXBvcnQubG9nCisrKyAvZGV2L251bGwKQEAgLTEs
MTcgKzAsMCBAQAotVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJv
bSB0aGUgVzNDIHJlcG9zaXRvcnkuCi1EbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5
IGluIFdlYktpdC4KLUluc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdp
dGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cwotCi1UaGVu
IHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWlt
cG9ydAotCi1EbyBOT1QgbW9kaWZ5IG9yIHJlbW92ZSB0aGlzIGZpbGUuCi0KLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLQotUHJvcGVydGllcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgotTm9uZQotUHJvcGVy
dHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6Ci1Ob25lCi0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0KLUxpc3Qgb2YgZmlsZXM6Ci0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9pZGxoYXJuZXNzL0lkbERpY3Rpb25hcnkvZ2V0
X2luaGVyaXRhbmNlX3N0YWNrLmh0bWwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRsaGFybmVzcy9J
ZGxJbnRlcmZhY2UvZGVmYXVsdF90b19qc29uX29wZXJhdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9pZGxo
YXJuZXNzL0lkbEludGVyZmFjZS9kZWZhdWx0X3RvX2pzb25fb3BlcmF0aW9uLmh0bWwKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGE3N2VlM2U3ZjFmLi4wMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0
L3Rlc3RzL2lkbGhhcm5lc3MvSWRsSW50ZXJmYWNlL2RlZmF1bHRfdG9fanNvbl9vcGVyYXRpb24u
aHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDE4OSArMCwwIEBACi08IURPQ1RZUEUgSFRNTD4KLTxo
dG1sPgotPGhlYWQ+Ci08dGl0bGU+SWRsRGljdGlvbmFyeS5wcm90b3R5cGUuZGVmYXVsdF90b19q
c29uX29wZXJhdGlvbigpPC90aXRsZT4KLTwvaGVhZD4KLTxib2R5PgotPGRpdiBpZD0ibG9nIj48
L2Rpdj4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL1dlYklETFBhcnNlci5qcyI+PC9zY3JpcHQ+Ci08c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy9pZGxoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIuLi9oZWxwZXIuanMiPjwvc2NyaXB0PgotPHByZSBpZD1mcmFnbWVudHM+Ci0gICAgaW50ZXJm
YWNlIEEgOiBCIHsKLSAgICAgIGF0dHJpYnV0ZSBET01TdHJpbmcgYTsKLSAgICB9OwotCi0gICAg
aW50ZXJmYWNlIEIgOiBDIHsKLSAgICAgIFtEZWZhdWx0XSBvYmplY3QgdG9KU09OKCk7Ci0gICAg
ICBhdHRyaWJ1dGUgbG9uZyBiOwotICAgIH07Ci0KLSAgICBpbnRlcmZhY2UgQyB7Ci0gICAgICBh
dHRyaWJ1dGUgRE9NU3RyaW5nIGM7Ci0gICAgfTsKLQotICAgIGludGVyZmFjZSBEIDogRSB7Ci0g
ICAgICBbRGVmYXVsdF0gb2JqZWN0IHRvSlNPTigpOwotICAgICAgYXR0cmlidXRlIGZsb2F0IGQ7
Ci0gICAgfTsKLQotICAgIGludGVyZmFjZSBFIDogRiB7Ci0gICAgICBhdHRyaWJ1dGUgRE9NU3Ry
aW5nIGU7Ci0gICAgfTsKLQotICAgIGludGVyZmFjZSBGIHsKLSAgICAgIFtEZWZhdWx0XSBvYmpl
Y3QgdG9KU09OKCk7Ci0gICAgICBhdHRyaWJ1dGUgdW5yZXN0cmljdGVkIGRvdWJsZSBmOwotICAg
IH07Ci0KLSAgICBpbnRlcmZhY2UgRyB7Ci0gICAgICBbRGVmYXVsdF0gb2JqZWN0IHRvSlNPTigp
OwotICAgICAgYXR0cmlidXRlIG9jdGV0IGc7Ci0gICAgfTsKLQotICAgIGludGVyZmFjZSBIIHsK
LSAgICAgIFtEZWZhdWx0XSBvYmplY3QgdG9KU09OKCk7Ci0gICAgICBhdHRyaWJ1dGUgRE9NU3Ry
aW5nIGg7Ci0gICAgfTsKLQotICAgIGludGVyZmFjZSBJIHsKLSAgICAgIFtEZWZhdWx0XSBvYmpl
Y3QgdG9KU09OKCk7Ci0gICAgICBhdHRyaWJ1dGUgYm9vbGVhbiBpOwotICAgIH07Ci0KLSAgICBp
bnRlcmZhY2UgSiB7Ci0gICAgICBbRGVmYXVsdF0gb2JqZWN0IHRvSlNPTigpOwotICAgICAgYXR0
cmlidXRlIEQgajsKLSAgICB9OwotCi0gICAgQSBpbXBsZW1lbnRzIEc7Ci0gICAgQSBpbXBsZW1l
bnRzIEg7Ci0gICAgQiBpbXBsZW1lbnRzIEQ7Ci0gICAgRSBpbXBsZW1lbnRzIEk7Ci0gICAgSCBp
bXBsZW1lbnRzIEo7Ci08L3ByZT4KLTxzY3JpcHQ+Ci0gICAgInVzZSBzdHJpY3QiOwotICAgIHRl
c3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBtYXAgPSBpbnRlcmZhY2VGcm9tKCdpbnRlcmZh
Y2UgQSB7IFtEZWZhdWx0XSBvYmplY3QgdG9KU09OKCk7IH07JykuZGVmYXVsdF90b19qc29uX29w
ZXJhdGlvbigpOwotICAgICAgICBhc3NlcnRfZXF1YWxzKG1hcC5zaXplLCAwKTsKLSAgICB9LCAn
c2hvdWxkIHJldHVybiBhbiBlbXB0eSBtYXAgd2hlbiB0aGVyZSBhcmUgbm8gYXR0cmlidXRlcycp
OwotCi0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIHIgPSBpbnRlcmZhY2VGcm9t
KCdpbnRlcmZhY2UgQSB7IH07JykuZGVmYXVsdF90b19qc29uX29wZXJhdGlvbigpOwotICAgICAg
ICBhc3NlcnRfZXF1YWxzKHIsIG51bGwpOwotICAgIH0sICdzaG91bGQgcmV0dXJuIG51bGwgd2hl
biB0aGVyZSBpcyBubyB0b0pTT04gbWV0aG9kJyk7Ci0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewot
ICAgICAgICB2YXIgciA9IGludGVyZmFjZUZyb20oJ2ludGVyZmFjZSBBIHsgRE9NU3RyaW5nIHRv
SlNPTigpOyB9OycpLmRlZmF1bHRfdG9fanNvbl9vcGVyYXRpb24oKTsKLSAgICAgICAgYXNzZXJ0
X2VxdWFscyhyLCBudWxsKTsKLSAgICB9LCAnc2hvdWxkIHJldHVybiBudWxsIHdoZW4gdGhlcmUg
aXMgYSB0b0pTT04gbWV0aG9kIGJ1dCBpdCBkb2VzIG5vdCBoYXZlIHRoZSBbRGVmYXVsdF0gZXh0
ZW5kZWQgYXR0cmlidXRlJyk7Ci0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIg
Y29udGV4dCA9IG5ldyBJZGxBcnJheSgpOwotICAgICAgICBjb250ZXh0LmFkZF9pZGxzKCJpbnRl
cmZhY2UgQSA6IEIgeyBET01TdHJpbmcgdG9KU09OKCk7IH07Iik7Ci0gICAgICAgIGNvbnRleHQu
YWRkX2lkbHMoImludGVyZmFjZSBCIHsgW0RlZmF1bHRdIG9iamVjdCB0b0pTT04oKTsgfTsiKTsK
LSAgICAgICAgdmFyIHIgPSBjb250ZXh0Lm1lbWJlcnMuQS5kZWZhdWx0X3RvX2pzb25fb3BlcmF0
aW9uKCk7Ci0gICAgICAgIGFzc2VydF9lcXVhbHMociwgbnVsbCk7Ci0gICAgfSwgJ3Nob3VsZCBy
ZXR1cm4gbnVsbCB3aGVuIHRoZXJlIGlzIGEgdG9KU09OIG1ldGhvZCBidXQgaXQgZG9lcyBub3Qg
aGF2ZSB0aGUgW0RlZmF1bHRdIGV4dGVuZGVkIGF0dHJpYnV0ZSBldmVuIGlmIHRoaXMgZXh0ZW5k
ZWQgYXR0cmlidXRlIGV4aXN0cyBvbiBpbmhlcml0ZWQgaW50ZXJmYWNlcycpOwotCi0gICAgdGVz
dChmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIG1hcCA9IGludGVyZmFjZUZyb20oJ2ludGVyZmFj
ZSBBIHsgW0RlZmF1bHRdIG9iamVjdCB0b0pTT04oKTsgc3RhdGljIGF0dHJpYnV0ZSBET01TdHJp
bmcgZm9vOyB9OycpLmRlZmF1bHRfdG9fanNvbl9vcGVyYXRpb24oKTsKLSAgICAgICAgYXNzZXJ0
X2VxdWFscyhtYXAuc2l6ZSwgMCk7Ci0gICAgfSwgJ3Nob3VsZCBub3QgaW5jbHVkZSBzdGF0aWMg
YXR0cmlidXRlcycpOwotCi0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIG1hcCA9
IGludGVyZmFjZUZyb20oJ2ludGVyZmFjZSBBIHsgW0RlZmF1bHRdIG9iamVjdCB0b0pTT04oKTsg
YXR0cmlidXRlIFByb21pc2U8RE9NU3RyaW5nPiBiYXI7IH07JykuZGVmYXVsdF90b19qc29uX29w
ZXJhdGlvbigpOwotICAgICAgICBhc3NlcnRfZXF1YWxzKG1hcC5zaXplLCAwKTsKLSAgICB9LCAn
c2hvdWxkIG5vdCBpbmNsdWRlIGF0dHJpYnV0ZXMgd2hpY2ggYXJlIG5vdCBKU09OIHR5cGVzJyk7
Ci0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgbWFwID0gaW50ZXJmYWNlRnJv
bSgnaW50ZXJmYWNlIEEgeyBbRGVmYXVsdF0gb2JqZWN0IHRvSlNPTigpOyBET01TdHJpbmcgYmFy
KCk7IH07JykuZGVmYXVsdF90b19qc29uX29wZXJhdGlvbigpOwotICAgICAgICBhc3NlcnRfZXF1
YWxzKG1hcC5zaXplLCAwKTsKLSAgICB9LCAnc2hvdWxkIG5vdCBpbmNsdWRlIG9wZXJhdGlvbnMn
KTsKLQotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBtYXAgPSBpbnRlcmZhY2VG
cm9tKCdpbnRlcmZhY2UgQSB7IFtEZWZhdWx0XSBvYmplY3QgdG9KU09OKCk7IGF0dHJpYnV0ZSBE
T01TdHJpbmcgYmFyOyB9OycpLmRlZmF1bHRfdG9fanNvbl9vcGVyYXRpb24oKTsKLSAgICAgICAg
YXNzZXJ0X2VxdWFscyhtYXAuc2l6ZSwgMSk7Ci0gICAgICAgIGFzc2VydF90cnVlKG1hcC5oYXMo
ImJhciIpKTsKLSAgICAgICAgYXNzZXJ0X2VxdWFscyhtYXAuZ2V0KCJiYXIiKS5pZGxUeXBlLCAi
RE9NU3RyaW5nIik7Ci0gICAgfSwgJ3Nob3VsZCByZXR1cm4gYSBtYXAgd2hvc2Uga2V5L3ZhbHVl
IHBhaXIgcmVwcmVzZW50IHRoZSBpZGVudGlmaWVyIGFuZCBJREwgdHlwZSBvZiB2YWxpZCBhdHRy
aWJ1dGVzJyk7Ci0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgY29udGV4dCA9
IG5ldyBJZGxBcnJheSgpOwotICAgICAgICBjb250ZXh0LmFkZF9pZGxzKCJpbnRlcmZhY2UgQSA6
IEIgeyBbRGVmYXVsdF0gb2JqZWN0IHRvSlNPTigpOyBhdHRyaWJ1dGUgRE9NU3RyaW5nIGE7IH07
Iik7Ci0gICAgICAgIGNvbnRleHQuYWRkX2lkbHMoImludGVyZmFjZSBCIHsgW0RlZmF1bHRdIG9i
amVjdCB0b0pTT04oKTsgYXR0cmlidXRlIGxvbmcgYjsgfTsiKTsKLSAgICAgICAgdmFyIG1hcCA9
IGNvbnRleHQubWVtYmVycy5BLmRlZmF1bHRfdG9fanNvbl9vcGVyYXRpb24oKTsKLSAgICAgICAg
YXNzZXJ0X2FycmF5X2VxdWFscyhbLi4ubWFwLmtleXMoKV0sIFsiYiIsICJhIl0pOwotICAgICAg
ICBhc3NlcnRfYXJyYXlfZXF1YWxzKFsuLi5tYXAudmFsdWVzKCldLm1hcCh2ID0+IHYuaWRsVHlw
ZSksIFsibG9uZyIsICJET01TdHJpbmciXSk7Ci0gICAgfSwgJ3Nob3VsZCByZXR1cm4gYSBwcm9w
ZXJseSBvcmRlcmVkIG1hcCB0aGF0IGNvbnRhaW5zIElETCB0eXBlcyBvZiB2YWxpZCBhdHRyaWJ1
dGVzIGZvciBpbmhlcml0ZWQgaW50ZXJmYWNlcycpOwotCi0gICAgdGVzdChmdW5jdGlvbigpIHsK
LSAgICAgICAgdmFyIGNvbnRleHQgPSBuZXcgSWRsQXJyYXkoKTsKLSAgICAgICAgY29udGV4dC5h
ZGRfaWRscygiaW50ZXJmYWNlIEEgOiBCIHsgYXR0cmlidXRlIERPTVN0cmluZyBhOyB9OyIpOwot
ICAgICAgICBjb250ZXh0LmFkZF9pZGxzKCJpbnRlcmZhY2UgQiB7IFtEZWZhdWx0XSBvYmplY3Qg
dG9KU09OKCk7IGF0dHJpYnV0ZSBsb25nIGI7IH07Iik7Ci0gICAgICAgIHZhciBtYXAgPSBjb250
ZXh0Lm1lbWJlcnMuQS5kZWZhdWx0X3RvX2pzb25fb3BlcmF0aW9uKCk7Ci0gICAgICAgIGFzc2Vy
dF9lcXVhbHMobWFwLnNpemUsIDEpOwotICAgICAgICBhc3NlcnRfdHJ1ZShtYXAuaGFzKCJiIikp
OwotICAgICAgICBhc3NlcnRfZXF1YWxzKG1hcC5nZXQoImIiKS5pZGxUeXBlLCAibG9uZyIpOwot
ICAgICAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKFsuLi5tYXAua2V5cygpXSwgWyJiIl0pOwotICAg
IH0sICdzaG91bGQgbm90IGluY2x1ZGUgYXR0cmlidXRlcyBvZiB0aGUgY3VycmVudCBpbnRlcmZh
Y2Ugd2hlbiB0aGUgW0RlZmF1bHRdIHRvSlNPTiBtZXRob2QgaW4gaW5oZXJpdGVkJyk7Ci0KLSAg
ICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgY29udGV4dCA9IG5ldyBJZGxBcnJheSgp
OwotICAgICAgICBjb250ZXh0LmFkZF9pZGxzKCJpbnRlcmZhY2UgQSA6IEIgeyBbRGVmYXVsdF0g
b2JqZWN0IHRvSlNPTigpOyB9OyIpOwotICAgICAgICBjb250ZXh0LmFkZF9pZGxzKCJpbnRlcmZh
Y2UgQiA6IEMgeyBbRGVmYXVsdF0gb2JqZWN0IHRvSlNPTigpOyBhdHRyaWJ1dGUgRE9NU3RyaW5n
IGZvbzsgfTsiKTsKLSAgICAgICAgY29udGV4dC5hZGRfaWRscygiaW50ZXJmYWNlIEMgeyBbRGVm
YXVsdF0gb2JqZWN0IHRvSlNPTigpOyBhdHRyaWJ1dGUgbG9uZyBmb287IH07Iik7Ci0gICAgICAg
IHZhciBtYXAgPSBjb250ZXh0Lm1lbWJlcnMuQS5kZWZhdWx0X3RvX2pzb25fb3BlcmF0aW9uKCk7
Ci0gICAgICAgIGFzc2VydF9lcXVhbHMobWFwLnNpemUsIDEpOwotICAgICAgICBhc3NlcnRfdHJ1
ZShtYXAuaGFzKCJmb28iKSk7Ci0gICAgICAgIGFzc2VydF9lcXVhbHMobWFwLmdldCgiZm9vIiku
aWRsVHlwZSwgIkRPTVN0cmluZyIpOwotICAgIH0sICdhdHRyaWJ1dGVzIGRlY2xhcmVkIGZ1cnRo
ZXIgYXdheSBpbiB0aGUgaW5oZXJpdGFuY2UgaGllcmFyY2h5IHNob3VsZCBiZSBtYXNrZWQgYnkg
YXR0cmlidXRlcyBkZWNsYXJlZCBjbG9zZXInKTsKLQotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0g
ICAgICAgIHZhciBjb250ZXh0ID0gbmV3IElkbEFycmF5KCk7Ci0gICAgICAgIGNvbnRleHQuYWRk
X2lkbHMoImludGVyZmFjZSBBIDogQiB7IFtEZWZhdWx0XSBvYmplY3QgdG9KU09OKCk7IGF0dHJp
YnV0ZSBET01TdHJpbmcgYTsgfTsiKTsKLSAgICAgICAgY29udGV4dC5hZGRfaWRscygiaW50ZXJm
YWNlIEIgeyBvYmplY3QgdG9KU09OKCk7IGF0dHJpYnV0ZSBsb25nIGI7IH07Iik7Ci0gICAgICAg
IHZhciBtYXAgPSBjb250ZXh0Lm1lbWJlcnMuQS5kZWZhdWx0X3RvX2pzb25fb3BlcmF0aW9uKCk7
Ci0gICAgICAgIGFzc2VydF9lcXVhbHMobWFwLnNpemUsIDEpOwotICAgICAgICBhc3NlcnRfdHJ1
ZShtYXAuaGFzKCJhIikpOwotICAgICAgICBhc3NlcnRfZmFsc2UobWFwLmhhcygiYiIpKTsKLSAg
ICAgICAgYXNzZXJ0X2VxdWFscyhtYXAuZ2V0KCJhIikuaWRsVHlwZSwgIkRPTVN0cmluZyIpOwot
ICAgIH0sICdzaG91bGQgcmV0dXJuIGFuIG9yZGVyZWQgbWFwIHRoYXQgaWdub3JlcyBhdHRyaWJ1
dGVzIG9mIGluaGVyaXRlZCBpbnRlcmZhY2VzIHdoaWNoIGRvIG5vdCBkZWNsYXJlIGEgW0RlZmF1
bHRdIHRvSlNPTiBvcGVyYXRpb24uJyk7Ci0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAg
ICB2YXIgY29udGV4dCA9IG5ldyBJZGxBcnJheSgpOwotICAgICAgICBjb250ZXh0LmFkZF9pZGxz
KCJpbnRlcmZhY2UgQSB7IFtEZWZhdWx0XSBvYmplY3QgdG9KU09OKCk7IGF0dHJpYnV0ZSBET01T
dHJpbmcgYTsgfTsiKTsKLSAgICAgICAgY29udGV4dC5hZGRfaWRscygiaW50ZXJmYWNlIE4geyBb
RGVmYXVsdF0gb2JqZWN0IHRvSlNPTigpOyBhdHRyaWJ1dGUgbG9uZyBuOyB9OyIpOwotICAgICAg
ICBjb250ZXh0LmFkZF9pZGxzKCJBIGltcGxlbWVudHMgTjsiKTsKLSAgICAgICAgdmFyIG1hcCA9
IGNvbnRleHQubWVtYmVycy5BLmRlZmF1bHRfdG9fanNvbl9vcGVyYXRpb24oKTsKLSAgICAgICAg
YXNzZXJ0X2FycmF5X2VxdWFscyhbLi4ubWFwLmtleXMoKV0sIFsiYSIsICJuIl0pOwotICAgICAg
ICBhc3NlcnRfYXJyYXlfZXF1YWxzKFsuLi5tYXAudmFsdWVzKCldLm1hcCh2ID0+IHYuaWRsVHlw
ZSksIFsiRE9NU3RyaW5nIiwgImxvbmciXSk7Ci0gICAgfSwgJ3Nob3VsZCByZXR1cm4gYSBwcm9w
ZXJseSBvcmRlcmVkIG1hcCB0aGF0IGFjY291bnRzIGZvciBtaXhlZC1pbiBpbnRlcmZhY2VzIHdo
aWNoIGRlY2xhcmUgYSBbRGVmYXVsdF0gdG9KU09OIG9wZXJhdGlvbi4nKTsKLQotICAgIHRlc3Qo
ZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBjb250ZXh0ID0gbmV3IElkbEFycmF5KCk7Ci0gICAg
ICAgIGNvbnRleHQuYWRkX2lkbHMoImludGVyZmFjZSBBIHsgW0RlZmF1bHRdIG9iamVjdCB0b0pT
T04oKTsgYXR0cmlidXRlIERPTVN0cmluZyBhOyB9OyIpOwotICAgICAgICBjb250ZXh0LmFkZF9p
ZGxzKCJpbnRlcmZhY2UgTiB7IGF0dHJpYnV0ZSBsb25nIG47IH07Iik7Ci0gICAgICAgIGNvbnRl
eHQuYWRkX2lkbHMoIkEgaW1wbGVtZW50cyBOOyIpOwotICAgICAgICB2YXIgbWFwID0gY29udGV4
dC5tZW1iZXJzLkEuZGVmYXVsdF90b19qc29uX29wZXJhdGlvbigpOwotICAgICAgICBhc3NlcnRf
ZXF1YWxzKG1hcC5zaXplLCAxKTsKLSAgICAgICAgYXNzZXJ0X3RydWUobWFwLmhhcygiYSIpKTsK
LSAgICAgICAgYXNzZXJ0X2ZhbHNlKG1hcC5oYXMoIm4iKSk7Ci0gICAgICAgIGFzc2VydF9lcXVh
bHMobWFwLmdldCgiYSIpLmlkbFR5cGUsICJET01TdHJpbmciKTsKLSAgICB9LCAnc2hvdWxkIHJl
dHVybiBhIHByb3Blcmx5IG9yZGVyZWQgbWFwIHRoYXQgaWdub3JlcyBtaXhlZC1pbiBpbnRlcmZh
Y2VzIHdoaWNoIGRvIG5vdCBkZWNsYXJlIGEgW0RlZmF1bHRdIHRvSlNPTiBvcGVyYXRpb24uJyk7
Ci0KLQotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBjb250ZXh0ID0gbmV3IElk
bEFycmF5KCk7Ci0gICAgICAgIGNvbnRleHQuYWRkX2lkbHMoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoJ2ZyYWdtZW50cycpLnRleHRDb250ZW50KTsKLSAgICAgICAgdmFyIG1hcCA9IGNvbnRleHQu
bWVtYmVycy5BLmRlZmF1bHRfdG9fanNvbl9vcGVyYXRpb24oKTsKLSAgICAgICAgYXNzZXJ0X2Fy
cmF5X2VxdWFscyhbLi4ubWFwLmtleXMoKV0sIFsiYiIsICJmIiwgImkiLCAiZCIsICJnIiwgImgi
LCAiaiJdKTsKLSAgICAgICAgYXNzZXJ0X2FycmF5X2VxdWFscyhbLi4ubWFwLnZhbHVlcygpXS5t
YXAodiA9PiB2LmlkbFR5cGUpLCBbImxvbmciLCAidW5yZXN0cmljdGVkIGRvdWJsZSIsICJib29s
ZWFuIiwgImZsb2F0IiwgIm9jdGV0IiwgIkRPTVN0cmluZyIsICJEIl0pOwotICAgIH0sICdzaG91
bGQgcmV0dXJuIGEgcHJvcGVybHkgb3JkZXJlZCBtYXAgb2YgbmFtZS90eXBlIHBhaXJzIGhhbmRs
aW5nIGluaGVyaXRlZCBhbmQgY29uc2VxdWVudGlhbCBpbnRlcmZhY2VzIGFzIHNwZWNpZmllZC4n
KTsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2lk
bGhhcm5lc3MvSWRsSW50ZXJmYWNlL2dldF9pbmhlcml0YW5jZV9zdGFjay5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0
cy9pZGxoYXJuZXNzL0lkbEludGVyZmFjZS9nZXRfaW5oZXJpdGFuY2Vfc3RhY2suaHRtbApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzFkNjE0MTU2NzYuLjAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rl
c3QvdGVzdHMvaWRsaGFybmVzcy9JZGxJbnRlcmZhY2UvZ2V0X2luaGVyaXRhbmNlX3N0YWNrLmh0
bWwKKysrIC9kZXYvbnVsbApAQCAtMSwzNSArMCwwIEBACi08IURPQ1RZUEUgSFRNTD4KLTxodG1s
PgotPGhlYWQ+Ci08dGl0bGU+SWRsSW50ZXJmYWNlLnByb3RvdHlwZS5nZXRfaW5oZXJpdGFuY2Vf
c3RhY2soKTwvdGl0bGU+Ci08L2hlYWQ+Ci08Ym9keT4KLTxkaXYgaWQ9ImxvZyI+PC9kaXY+Ci08
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy9XZWJJRExQYXJzZXIuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvaWRsaGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vaGVs
cGVyLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci0gICAgInVzZSBzdHJpY3QiOwotICAgIHRlc3Qo
ZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBzdGFjayA9IGludGVyZmFjZUZyb20oJ2ludGVyZmFj
ZSBBIHsgfTsnKS5nZXRfaW5oZXJpdGFuY2Vfc3RhY2soKTsKLSAgICAgICAgYXNzZXJ0X2FycmF5
X2VxdWFscyhzdGFjay5tYXAoaSA9PiBpLm5hbWUpLCBbIkEiXSk7Ci0gICAgfSwgJ3Nob3VsZCBy
ZXR1cm4gYW4gYXJyYXkgdGhhdCBpbmNsdWRlcyBpdHNlbGYuJyk7Ci0gICAgCi0gICAgdGVzdChm
dW5jdGlvbigpIHsKLSAgICAgICAgdmFyIGkgPSBpbnRlcmZhY2VGcm9tKCdpbnRlcmZhY2UgQSA6
IEIgeyB9OycpOwotICAgICAgICBhc3NlcnRfdGhyb3dzKG5ldyBFcnJvcigpLCBfID0+IGkuZ2V0
X2luaGVyaXRhbmNlX3N0YWNrKCkpOwotICAgIH0sICJzaG91bGQgdGhyb3cgZm9yIGludGVyZmFj
ZXMgd2hpY2ggaW5oZXJpdCBmcm9tIGFub3RoZXIgaW50ZXJmYWNlIHdoaWNoIHdhc24ndCBhZGRl
ZCB0byB0aGUgSWRsQXJyYXkiKTsKLSAgICAKLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAg
ICB2YXIgaWRsID0gbmV3IElkbEFycmF5KCk7Ci0gICAgICAgIGlkbC5hZGRfaWRscygnaW50ZXJm
YWNlIEEgOiBCIHsgfTsnKTsKLSAgICAgICAgaWRsLmFkZF91bnRlc3RlZF9pZGxzKCdpbnRlcmZh
Y2UgQiA6IEMgeyB9OyBpbnRlcmZhY2UgQyB7IH07Jyk7Ci0gICAgICAgIHZhciBBID0gaWRsLm1l
bWJlcnNbIkEiXTsKLSAgICAgICAgYXNzZXJ0X2FycmF5X2VxdWFscyhBLmdldF9pbmhlcml0YW5j
ZV9zdGFjaygpLm1hcChpID0+IGkubmFtZSksIFsiQSIsICJCIiwgIkMiXSk7Ci0gICAgfSwgJ3No
b3VsZCByZXR1cm4gYW4gYXJyYXkgb2YgaW5oZXJpdGVkIGludGVyZmFjZXMgaW4gb3JkZXIgb2Yg
aW5oZXJpdGFuY2UsIHN0YXJ0aW5nIHdpdGggaXRzZWxmLicpOwotPC9zY3JpcHQ+Ci08L2JvZHk+
Ci08L2h0bWw+Ci0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRsaGFybmVzcy9JZGxJbnRlcmZhY2Uv
aGFzX2RlZmF1bHRfdG9fanNvbl9yZWd1bGFyX29wZXJhdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9pZGxo
YXJuZXNzL0lkbEludGVyZmFjZS9oYXNfZGVmYXVsdF90b19qc29uX3JlZ3VsYXJfb3BlcmF0aW9u
Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDk0OThhM2E3YmNlLi4wMDAwMDAw
MDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy90ZXN0L3Rlc3RzL2lkbGhhcm5lc3MvSWRsSW50ZXJmYWNlL2hhc19kZWZhdWx0X3Rv
X2pzb25fcmVndWxhcl9vcGVyYXRpb24uaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDQ3ICswLDAg
QEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLTx0aXRsZT5JZGxJbnRlcmZhY2Uu
cHJvdG90eXBlLmhhc19kZWZhdWx0X3RvX2pzb25fcmVndWxhcl9vcGVyYXRpb24oKTwvdGl0bGU+
Ci08L2hlYWQ+Ci08Ym9keT4KLTxkaXYgaWQ9ImxvZyI+PC9kaXY+Ci08c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy9XZWJJRExQYXJzZXIuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvaWRs
aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vaGVscGVyLmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQ+Ci0gICAgInVzZSBzdHJpY3QiOwotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0g
ICAgICAgIHZhciBpID0gaW50ZXJmYWNlRnJvbSgnaW50ZXJmYWNlIEEgeyB9OycpOwotICAgICAg
ICBhc3NlcnRfZmFsc2UoaS5oYXNfZGVmYXVsdF90b19qc29uX3JlZ3VsYXJfb3BlcmF0aW9uKCkp
OwotICAgIH0sICdzaG91bGQgcmV0dXJuIGZhbHNlIHdoZW4gdGhlIGludGVyZmFjZSBkZWNsYXJl
cyBubyB0b0pTT04gb3BlcmF0aW9uLicpOwotCi0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAg
ICAgdmFyIGkgPSBpbnRlcmZhY2VGcm9tKCdpbnRlcmZhY2UgQSB7IHN0YXRpYyBvYmplY3QgdG9K
U09OKCk7IH07Jyk7Ci0gICAgICAgIGFzc2VydF9mYWxzZShpLmhhc19kZWZhdWx0X3RvX2pzb25f
cmVndWxhcl9vcGVyYXRpb24oKSk7Ci0gICAgfSwgJ3Nob3VsZCByZXR1cm4gZmFsc2Ugd2hlbiB0
aGUgaW50ZXJmYWNlIGRlY2xhcmVzIGEgc3RhdGljIHRvSlNPTiBvcGVyYXRpb24uJyk7Ci0KLSAg
ICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgaSA9IGludGVyZmFjZUZyb20oJ2ludGVy
ZmFjZSBBIHsgb2JqZWN0IHRvSlNPTigpOyB9OycpOwotICAgICAgICBhc3NlcnRfZmFsc2UoaS5o
YXNfZGVmYXVsdF90b19qc29uX3JlZ3VsYXJfb3BlcmF0aW9uKCkpOwotICAgIH0sICdzaG91bGQg
cmV0dXJuIGZhbHNlIHdoZW4gdGhlIGludGVyZmFjZSBkZWNsYXJlcyBhIHJlZ3VsYXIgdG9KU09O
IG9wZXJhdGlvbiB3aXRoIG5vIGV4dGVuZGVkIGF0dHJpYnV0ZS4nKTsKLQotICAgIHRlc3QoZnVu
Y3Rpb24oKSB7Ci0gICAgICAgIHZhciBpID0gaW50ZXJmYWNlRnJvbSgnaW50ZXJmYWNlIEEgeyBb
eF0gb2JqZWN0IHRvSlNPTigpOyB9OycpOwotICAgICAgICBhc3NlcnRfZmFsc2UoaS5oYXNfZGVm
YXVsdF90b19qc29uX3JlZ3VsYXJfb3BlcmF0aW9uKCkpOwotICAgIH0sICdzaG91bGQgcmV0dXJu
IGZhbHNlIHdoZW4gdGhlIGludGVyZmFjZSBkZWNsYXJlcyBhIHJlZ3VsYXIgdG9KU09OIG9wZXJh
dGlvbiB3aXRoIGFub3RoZXIgZXh0ZW50ZWQgYXR0cmlidXRlLicpOwotCi0gICAgdGVzdChmdW5j
dGlvbigpIHsKLSAgICAgICAgdmFyIGkgPSBpbnRlcmZhY2VGcm9tKCdpbnRlcmZhY2UgQSB7IFtE
ZWZhdWx0XSBvYmplY3QgdG9KU09OKCk7IH07Jyk7Ci0gICAgICAgIGFzc2VydF90cnVlKGkuaGFz
X2RlZmF1bHRfdG9fanNvbl9yZWd1bGFyX29wZXJhdGlvbigpKTsKLSAgICB9LCAnc2hvdWxkIHJl
dHVybiB0cnVlIHdoZW4gdGhlIGludGVyZmFjZSBkZWNsYXJlcyBhIHJlZ3VsYXIgdG9KU09OIG9w
ZXJhdGlvbiB3aXRoIHRoZSBbRGVmYXVsdF0gZXh0ZW50ZWQgYXR0cmlidXRlLicpOwotCi0gICAg
dGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIGkgPSBpbnRlcmZhY2VGcm9tKCdpbnRlcmZh
Y2UgQSB7IFtBdHRyLCBBbm90aGVyQXR0ciwgRGVmYXVsdF0gb2JqZWN0IHRvSlNPTigpOyB9Oycp
OwotICAgICAgICBhc3NlcnRfdHJ1ZShpLmhhc19kZWZhdWx0X3RvX2pzb25fcmVndWxhcl9vcGVy
YXRpb24oKSk7Ci0gICAgfSwgJ3Nob3VsZCByZXR1cm4gdHJ1ZSB3aGVuIHRoZSBpbnRlcmZhY2Ug
ZGVjbGFyZXMgYSByZWd1bGFyIHRvSlNPTiBvcGVyYXRpb24gd2l0aCBtdWx0aXBsZSBleHRlbmRl
ZCBhdHRyaWJ1dGVzLCBpbmNsdWRpbmcgW0RlZmF1bHRdLicpOwotPC9zY3JpcHQ+Ci08L2JvZHk+
Ci08L2h0bWw+Ci0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRsaGFybmVzcy9JZGxJbnRlcmZhY2Uv
aGFzX3RvX2pzb25fcmVndWxhcl9vcGVyYXRpb24uaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRsaGFybmVzcy9J
ZGxJbnRlcmZhY2UvaGFzX3RvX2pzb25fcmVndWxhcl9vcGVyYXRpb24uaHRtbApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggYTRiNGU5MWI1MzguLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVz
dHMvaWRsaGFybmVzcy9JZGxJbnRlcmZhY2UvaGFzX3RvX2pzb25fcmVndWxhcl9vcGVyYXRpb24u
aHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDMyICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0
bWw+Ci08aGVhZD4KLTx0aXRsZT5JZGxJbnRlcmZhY2UucHJvdG90eXBlLmhhc190b19qc29uX3Jl
Z3VsYXJfb3BlcmF0aW9uKCk8L3RpdGxlPgotPC9oZWFkPgotPGJvZHk+Ci08ZGl2IGlkPSJsb2ci
PjwvZGl2PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvV2ViSURMUGFyc2VyLmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL2lkbGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBz
cmM9Ii4uL2hlbHBlci5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotICAgICJ1c2Ugc3RyaWN0IjsK
LSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgaSA9IGludGVyZmFjZUZyb20oJ2lu
dGVyZmFjZSBBIHsgfTsnKTsKLSAgICAgICAgYXNzZXJ0X2ZhbHNlKGkuaGFzX3RvX2pzb25fcmVn
dWxhcl9vcGVyYXRpb24oKSk7Ci0gICAgfSwgJ3Nob3VsZCByZXR1cm4gZmFsc2Ugd2hlbiB0aGUg
aW50ZXJmYWNlIGRlY2xhcmVzIG5vIHRvSlNPTiBvcGVyYXRpb24uJyk7Ci0gICAgCi0gICAgdGVz
dChmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIGkgPSBpbnRlcmZhY2VGcm9tKCdpbnRlcmZhY2Ug
QSB7IHN0YXRpYyBvYmplY3QgdG9KU09OKCk7IH07Jyk7Ci0gICAgICAgIGFzc2VydF9mYWxzZShp
Lmhhc190b19qc29uX3JlZ3VsYXJfb3BlcmF0aW9uKCkpOwotICAgIH0sICdzaG91bGQgcmV0dXJu
IGZhbHNlIHdoZW4gdGhlIGludGVyZmFjZSBkZWNsYXJlcyBhIHN0YXRpYyB0b0pTT04gb3BlcmF0
aW9uLicpOwotICAgIAotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBpID0gaW50
ZXJmYWNlRnJvbSgnaW50ZXJmYWNlIEEgeyBvYmplY3QgdG9KU09OKCk7IH07Jyk7Ci0gICAgICAg
IGFzc2VydF90cnVlKGkuaGFzX3RvX2pzb25fcmVndWxhcl9vcGVyYXRpb24oKSk7Ci0gICAgfSwg
J3Nob3VsZCByZXR1cm4gdHJ1ZSB3aGVuIHRoZSBpbnRlcmZhY2UgZGVjbGFyZXMgYSByZWd1bGFy
IHRvSlNPTiBvcGVyYXRpb24uJyk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KLQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvdGVzdC90ZXN0cy9pZGxoYXJuZXNzL0lkbEludGVyZmFjZS90ZXN0X2ltbXV0YWJsZV9w
cm90b3R5cGUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRsaGFybmVzcy9JZGxJbnRlcmZhY2UvdGVzdF9pbW11
dGFibGVfcHJvdG90eXBlLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDE2MjE0
YzRkMjRmLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2lkbGhhcm5lc3MvSWRsSW50ZXJmYWNl
L3Rlc3RfaW1tdXRhYmxlX3Byb3RvdHlwZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMzIxICsw
LDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLSAgPG1ldGEgY2hhcnNldD0i
dXRmLTgiPgotICA8dGl0bGU+aWRsaGFybmVzczogSW1tdXRhYmxlIHByb3RvdHlwZXM8L3RpdGxl
PgotICA8c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgot
ICA8c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgotICA8c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vV2ViSURMUGFyc2VyLmpzIj48L3NjcmlwdD4K
LSAgPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL2lkbGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPC9o
ZWFkPgotPGJvZHk+Ci08c2NyaXB0PgotInVzZSBzdHJpY3R0IjsKLQotT2JqZWN0LmRlZmluZVBy
b3BlcnR5KHdpbmRvdywgIkZvbyIsIHsKLSAgICBlbnVtZXJhYmxlOiBmYWxzZSwKLSAgICB3cml0
YWJsZTogdHJ1ZSwKLSAgICBjb25maWd1cmFibGU6IHRydWUsCi0gICAgdmFsdWU6IGZ1bmN0aW9u
IEZvbygpIHt9Ci0gIH0pOwotT2JqZWN0LmRlZmluZVByb3BlcnR5KHdpbmRvdy5Gb28sICJwcm90
b3R5cGUiLCB7Ci0gICAgd3JpdGFibGU6IGZhbHNlLAotICAgIHZhbHVlOiB3aW5kb3cuRm9vLnBy
b3RvdHlwZQotICB9KTsKLUZvby5wcm90b3R5cGVbU3ltYm9sLnRvU3RyaW5nVGFnXSA9ICJGb28i
OwotCi12YXIgaWRsQXJyYXkgPSBuZXcgSWRsQXJyYXkoKTsKLWlkbEFycmF5LmFkZF91bnRlc3Rl
ZF9pZGxzKCJpbnRlcmZhY2UgRXZlbnRUYXJnZXQge307Iik7Ci1pZGxBcnJheS5hZGRfaWRscygK
LSAgICAiW0dsb2JhbD1XaW5kb3csIEV4cG9zZWQ9V2luZG93XVxuIiArCi0gICAgImludGVyZmFj
ZSBXaW5kb3cgOiBFdmVudFRhcmdldCB7fTtcbiIgKwotCi0gICAgIltHbG9iYWw9V2luZG93LCBF
eHBvc2VkPVdpbmRvdywgQ29uc3RydWN0b3IoKV1cbiIgKwotCSJpbnRlcmZhY2UgRm9vIHt9OyIK
LSAgKTsKLWlkbEFycmF5LmFkZF9vYmplY3RzKHsKLSAgRm9vOiBbIm5ldyBGb28oKSJdLAotICBX
aW5kb3c6IFsid2luZG93Il0KLX0pOwotaWRsQXJyYXkudGVzdCgpOwotPC9zY3JpcHQ+Ci08c2Ny
aXB0IHR5cGU9InRleHQvanNvbiIgaWQ9ImV4cGVjdGVkIj4KLXsKLSAgICAic3VtbWFyaXplZF9z
dGF0dXMiOiB7Ci0gICAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICAgInN0YXR1c19zdHJp
bmciOiAiT0siLAotICAgICAgICAic3RhY2siOiBudWxsCi0gICAgfSwKLSAgICAic3VtbWFyaXpl
ZF90ZXN0cyI6IFsKLSAgICAgICAgewotICAgICAgICAgICAgIm5hbWUiOiAiRm9vIGludGVyZmFj
ZSBvYmplY3QgbGVuZ3RoIiwKLSAgICAgICAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAot
ICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICAgICAgICJtZXNzYWdlIjogbnVs
bCwKLSAgICAgICAgICAgICJzdGFjayI6IG51bGwKLSAgICAgICAgfSwKLSAgICAgICAgewotICAg
ICAgICAgICAgIm5hbWUiOiAiRm9vIGludGVyZmFjZSBvYmplY3QgbmFtZSIsCi0gICAgICAgICAg
ICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICAgICAgICJwcm9wZXJ0aWVzIjoge30s
Ci0gICAgICAgICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAgICAgICAic3RhY2siOiBudWxs
Ci0gICAgICAgIH0sCi0gICAgICAgIHsKLSAgICAgICAgICAgICJuYW1lIjogIkZvbyBpbnRlcmZh
Y2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IiwKLSAgICAg
ICAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgICAgICAgInByb3BlcnRpZXMi
OiB7fSwKLSAgICAgICAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICAgICAgICJzdGFjayI6
IG51bGwKLSAgICAgICAgfSwKLSAgICAgICAgewotICAgICAgICAgICAgIm5hbWUiOiAiRm9vIGlu
dGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUg
b2JqZWN0IiwKLSAgICAgICAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgICAg
ICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAg
ICAgICAgICJzdGFjayI6IG51bGwKLSAgICAgICAgfSwKLSAgICAgICAgewotICAgICAgICAgICAg
Im5hbWUiOiAiRm9vIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVy
ZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgXCJjb25zdHJ1Y3RvclwiIHByb3BlcnR5IiwKLSAgICAg
ICAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgICAgICAgInByb3BlcnRpZXMi
OiB7fSwKLSAgICAgICAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICAgICAgICJzdGFjayI6
IG51bGwKLSAgICAgICAgfSwKLSAgICAgICAgewotICAgICAgICAgICAgIm5hbWUiOiAiRm9vIGlu
dGVyZmFjZTogaW50ZXJuYWwgW1tTZXRQcm90b3R5cGVPZl1dIG1ldGhvZCBvZiBnbG9iYWwgcGxh
dGZvcm0gb2JqZWN0IC0gc2V0dGluZyB0byBhIG5ldyB2YWx1ZSB2aWEgT2JqZWN0LnNldFByb3Rv
dHlwZU9mIHNob3VsZCB0aHJvdyBhIFR5cGVFcnJvciIsCi0gICAgICAgICAgICAic3RhdHVzX3N0
cmluZyI6ICJGQUlMIiwKLSAgICAgICAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAgICAg
ICAibWVzc2FnZSI6ICJhc3NlcnRfdGhyb3dzOiBmdW5jdGlvbiBcImZ1bmN0aW9uKCkge1xuICAg
ICAgICAgICAgT2JqZWN0LnNldFByb3RvdHlwZU9mKG9iaiwgbmV3VmFsdWUpO1xuICAgICAgICB9
XCIgZGlkIG5vdCB0aHJvdyIsCi0gICAgICAgICAgICAic3RhY2siOiAiKGltcGxlbWVudGF0aW9u
LWRlZmluZWQpIgotICAgICAgICB9LAotICAgICAgICB7Ci0gICAgICAgICAgICAibmFtZSI6ICJG
b28gaW50ZXJmYWNlOiBpbnRlcm5hbCBbW1NldFByb3RvdHlwZU9mXV0gbWV0aG9kIG9mIGdsb2Jh
bCBwbGF0Zm9ybSBvYmplY3QgLSBzZXR0aW5nIHRvIGEgbmV3IHZhbHVlIHZpYSBSZWZsZWN0LnNl
dFByb3RvdHlwZU9mIHNob3VsZCByZXR1cm4gZmFsc2UiLAotICAgICAgICAgICAgInN0YXR1c19z
dHJpbmciOiAiRkFJTCIsCi0gICAgICAgICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgICAg
ICAgIm1lc3NhZ2UiOiAiYXNzZXJ0X2ZhbHNlOiBleHBlY3RlZCBmYWxzZSBnb3QgdHJ1ZSIsCi0g
ICAgICAgICAgICAic3RhY2siOiAiKGltcGxlbWVudGF0aW9uLWRlZmluZWQpIgotICAgICAgICB9
LAotICAgICAgICB7Ci0gICAgICAgICAgICAibmFtZSI6ICJGb28gaW50ZXJmYWNlOiBpbnRlcm5h
bCBbW1NldFByb3RvdHlwZU9mXV0gbWV0aG9kIG9mIGdsb2JhbCBwbGF0Zm9ybSBvYmplY3QgLSBz
ZXR0aW5nIHRvIGEgbmV3IHZhbHVlIHZpYSBfX3Byb3RvX18gc2hvdWxkIHRocm93IGEgVHlwZUVy
cm9yIiwKLSAgICAgICAgICAgICJzdGF0dXNfc3RyaW5nIjogIkZBSUwiLAotICAgICAgICAgICAg
InByb3BlcnRpZXMiOiB7fSwKLSAgICAgICAgICAgICJtZXNzYWdlIjogImFzc2VydF90aHJvd3M6
IGZ1bmN0aW9uIFwiZnVuY3Rpb24oKSB7XG4gICAgICAgICAgICBvYmouX19wcm90b19fID0gbmV3
VmFsdWU7XG4gICAgICAgIH1cIiBkaWQgbm90IHRocm93IiwKLSAgICAgICAgICAgICJzdGFjayI6
ICIoaW1wbGVtZW50YXRpb24tZGVmaW5lZCkiCi0gICAgICAgIH0sCi0gICAgICAgIHsKLSAgICAg
ICAgICAgICJuYW1lIjogIkZvbyBpbnRlcmZhY2U6IGludGVybmFsIFtbU2V0UHJvdG90eXBlT2Zd
XSBtZXRob2Qgb2YgZ2xvYmFsIHBsYXRmb3JtIG9iamVjdCAtIHNldHRpbmcgdG8gaXRzIG9yaWdp
bmFsIHZhbHVlIHZpYSBPYmplY3Quc2V0UHJvdG90eXBlT2Ygc2hvdWxkIG5vdCB0aHJvdyIsCi0g
ICAgICAgICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICAgICAgICJwcm9wZXJ0
aWVzIjoge30sCi0gICAgICAgICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAgICAgICAic3Rh
Y2siOiBudWxsCi0gICAgICAgIH0sCi0gICAgICAgIHsKLSAgICAgICAgICAgICJuYW1lIjogIkZv
byBpbnRlcmZhY2U6IGludGVybmFsIFtbU2V0UHJvdG90eXBlT2ZdXSBtZXRob2Qgb2YgZ2xvYmFs
IHBsYXRmb3JtIG9iamVjdCAtIHNldHRpbmcgdG8gaXRzIG9yaWdpbmFsIHZhbHVlIHZpYSBSZWZs
ZWN0LnNldFByb3RvdHlwZU9mIHNob3VsZCByZXR1cm4gdHJ1ZSIsCi0gICAgICAgICAgICAic3Rh
dHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAg
ICAgICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAgICAgICAic3RhY2siOiBudWxsCi0gICAg
ICAgIH0sCi0gICAgICAgIHsKLSAgICAgICAgICAgICJuYW1lIjogIkZvbyBpbnRlcmZhY2U6IGlu
dGVybmFsIFtbU2V0UHJvdG90eXBlT2ZdXSBtZXRob2Qgb2YgZ2xvYmFsIHBsYXRmb3JtIG9iamVj
dCAtIHNldHRpbmcgdG8gaXRzIG9yaWdpbmFsIHZhbHVlIHZpYSBfX3Byb3RvX18gc2hvdWxkIG5v
dCB0aHJvdyIsCi0gICAgICAgICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICAg
ICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAgICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAg
ICAgICAgICAic3RhY2siOiBudWxsCi0gICAgICAgIH0sCi0gICAgICAgIHsKLSAgICAgICAgICAg
ICJuYW1lIjogIkZvbyBpbnRlcmZhY2U6IGludGVybmFsIFtbU2V0UHJvdG90eXBlT2ZdXSBtZXRo
b2Qgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgLSBzZXR0aW5nIHRvIGEgbmV3IHZhbHVl
IHZpYSBPYmplY3Quc2V0UHJvdG90eXBlT2Ygc2hvdWxkIHRocm93IGEgVHlwZUVycm9yIiwKLSAg
ICAgICAgICAgICJzdGF0dXNfc3RyaW5nIjogIkZBSUwiLAotICAgICAgICAgICAgInByb3BlcnRp
ZXMiOiB7fSwKLSAgICAgICAgICAgICJtZXNzYWdlIjogImFzc2VydF90aHJvd3M6IGZ1bmN0aW9u
IFwiZnVuY3Rpb24oKSB7XG4gICAgICAgICAgICBPYmplY3Quc2V0UHJvdG90eXBlT2Yob2JqLCBu
ZXdWYWx1ZSk7XG4gICAgICAgIH1cIiBkaWQgbm90IHRocm93IiwKLSAgICAgICAgICAgICJzdGFj
ayI6ICIoaW1wbGVtZW50YXRpb24tZGVmaW5lZCkiCi0gICAgICAgIH0sCi0gICAgICAgIHsKLSAg
ICAgICAgICAgICJuYW1lIjogIkZvbyBpbnRlcmZhY2U6IGludGVybmFsIFtbU2V0UHJvdG90eXBl
T2ZdXSBtZXRob2Qgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgLSBzZXR0aW5nIHRvIGEg
bmV3IHZhbHVlIHZpYSBSZWZsZWN0LnNldFByb3RvdHlwZU9mIHNob3VsZCByZXR1cm4gZmFsc2Ui
LAotICAgICAgICAgICAgInN0YXR1c19zdHJpbmciOiAiRkFJTCIsCi0gICAgICAgICAgICAicHJv
cGVydGllcyI6IHt9LAotICAgICAgICAgICAgIm1lc3NhZ2UiOiAiYXNzZXJ0X2ZhbHNlOiBleHBl
Y3RlZCBmYWxzZSBnb3QgdHJ1ZSIsCi0gICAgICAgICAgICAic3RhY2siOiAiKGltcGxlbWVudGF0
aW9uLWRlZmluZWQpIgotICAgICAgICB9LAotICAgICAgICB7Ci0gICAgICAgICAgICAibmFtZSI6
ICJGb28gaW50ZXJmYWNlOiBpbnRlcm5hbCBbW1NldFByb3RvdHlwZU9mXV0gbWV0aG9kIG9mIGlu
dGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IC0gc2V0dGluZyB0byBhIG5ldyB2YWx1ZSB2aWEgX19w
cm90b19fIHNob3VsZCB0aHJvdyBhIFR5cGVFcnJvciIsCi0gICAgICAgICAgICAic3RhdHVzX3N0
cmluZyI6ICJGQUlMIiwKLSAgICAgICAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAgICAg
ICAibWVzc2FnZSI6ICJhc3NlcnRfdGhyb3dzOiBmdW5jdGlvbiBcImZ1bmN0aW9uKCkge1xuICAg
ICAgICAgICAgb2JqLl9fcHJvdG9fXyA9IG5ld1ZhbHVlO1xuICAgICAgICB9XCIgZGlkIG5vdCB0
aHJvdyIsCi0gICAgICAgICAgICAic3RhY2siOiAiKGltcGxlbWVudGF0aW9uLWRlZmluZWQpIgot
ICAgICAgICB9LAotICAgICAgICB7Ci0gICAgICAgICAgICAibmFtZSI6ICJGb28gaW50ZXJmYWNl
OiBpbnRlcm5hbCBbW1NldFByb3RvdHlwZU9mXV0gbWV0aG9kIG9mIGludGVyZmFjZSBwcm90b3R5
cGUgb2JqZWN0IC0gc2V0dGluZyB0byBpdHMgb3JpZ2luYWwgdmFsdWUgdmlhIE9iamVjdC5zZXRQ
cm90b3R5cGVPZiBzaG91bGQgbm90IHRocm93IiwKLSAgICAgICAgICAgICJzdGF0dXNfc3RyaW5n
IjogIlBBU1MiLAotICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICAgICAgICJt
ZXNzYWdlIjogbnVsbCwKLSAgICAgICAgICAgICJzdGFjayI6IG51bGwKLSAgICAgICAgfSwKLSAg
ICAgICAgewotICAgICAgICAgICAgIm5hbWUiOiAiRm9vIGludGVyZmFjZTogaW50ZXJuYWwgW1tT
ZXRQcm90b3R5cGVPZl1dIG1ldGhvZCBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCAtIHNl
dHRpbmcgdG8gaXRzIG9yaWdpbmFsIHZhbHVlIHZpYSBSZWZsZWN0LnNldFByb3RvdHlwZU9mIHNo
b3VsZCByZXR1cm4gdHJ1ZSIsCi0gICAgICAgICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwK
LSAgICAgICAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAgICAgICAibWVzc2FnZSI6IG51
bGwsCi0gICAgICAgICAgICAic3RhY2siOiBudWxsCi0gICAgICAgIH0sCi0gICAgICAgIHsKLSAg
ICAgICAgICAgICJuYW1lIjogIkZvbyBpbnRlcmZhY2U6IGludGVybmFsIFtbU2V0UHJvdG90eXBl
T2ZdXSBtZXRob2Qgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgLSBzZXR0aW5nIHRvIGl0
cyBvcmlnaW5hbCB2YWx1ZSB2aWEgX19wcm90b19fIHNob3VsZCBub3QgdGhyb3ciLAotICAgICAg
ICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAgICAgICAicHJvcGVydGllcyI6
IHt9LAotICAgICAgICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgICAgICAgInN0YWNrIjog
bnVsbAotICAgICAgICB9LAotICAgICAgICB7Ci0gICAgICAgICAgICAibmFtZSI6ICJGb28gbXVz
dCBiZSBwcmltYXJ5IGludGVyZmFjZSBvZiBuZXcgRm9vKCkiLAotICAgICAgICAgICAgInN0YXR1
c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAgICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAg
ICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgICAgICAgInN0YWNrIjogbnVsbAotICAgICAg
ICB9LAotICAgICAgICB7Ci0gICAgICAgICAgICAibmFtZSI6ICJTdHJpbmdpZmljYXRpb24gb2Yg
bmV3IEZvbygpIiwKLSAgICAgICAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAg
ICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAg
ICAgICAgICAgICJzdGFjayI6IG51bGwKLSAgICAgICAgfSwKLSAgICAgICAgewotICAgICAgICAg
ICAgIm5hbWUiOiAiU3RyaW5naWZpY2F0aW9uIG9mIHdpbmRvdyIsCi0gICAgICAgICAgICAic3Rh
dHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAg
ICAgICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAgICAgICAic3RhY2siOiBudWxsCi0gICAg
ICAgIH0sCi0gICAgICAgIHsKLSAgICAgICAgICAgICJuYW1lIjogIldpbmRvdyBpbnRlcmZhY2Ug
b2JqZWN0IGxlbmd0aCIsCi0gICAgICAgICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAg
ICAgICAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAgICAgICAibWVzc2FnZSI6IG51bGws
Ci0gICAgICAgICAgICAic3RhY2siOiBudWxsCi0gICAgICAgIH0sCi0gICAgICAgIHsKLSAgICAg
ICAgICAgICJuYW1lIjogIldpbmRvdyBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUiLAotICAgICAgICAg
ICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAgICAgICAicHJvcGVydGllcyI6IHt9
LAotICAgICAgICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgICAgICAgInN0YWNrIjogbnVs
bAotICAgICAgICB9LAotICAgICAgICB7Ci0gICAgICAgICAgICAibmFtZSI6ICJXaW5kb3cgaW50
ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCIsCi0g
ICAgICAgICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICAgICAgICJwcm9wZXJ0
aWVzIjoge30sCi0gICAgICAgICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAgICAgICAic3Rh
Y2siOiBudWxsCi0gICAgICAgIH0sCi0gICAgICAgIHsKLSAgICAgICAgICAgICJuYW1lIjogIldp
bmRvdyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJv
dG90eXBlIG9iamVjdCIsCi0gICAgICAgICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAg
ICAgICAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAgICAgICAibWVzc2FnZSI6IG51bGws
Ci0gICAgICAgICAgICAic3RhY2siOiBudWxsCi0gICAgICAgIH0sCi0gICAgICAgIHsKLSAgICAg
ICAgICAgICJuYW1lIjogIldpbmRvdyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGll
cyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzIFwiY29uc3RydWN0b3JcIiBwcm9wZXJ0
eSIsCi0gICAgICAgICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICAgICAgICJw
cm9wZXJ0aWVzIjoge30sCi0gICAgICAgICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAgICAg
ICAic3RhY2siOiBudWxsCi0gICAgICAgIH0sCi0gICAgICAgIHsKLSAgICAgICAgICAgICJuYW1l
IjogIldpbmRvdyBpbnRlcmZhY2U6IGludGVybmFsIFtbU2V0UHJvdG90eXBlT2ZdXSBtZXRob2Qg
b2YgZ2xvYmFsIHBsYXRmb3JtIG9iamVjdCAtIHNldHRpbmcgdG8gYSBuZXcgdmFsdWUgdmlhIE9i
amVjdC5zZXRQcm90b3R5cGVPZiBzaG91bGQgdGhyb3cgYSBUeXBlRXJyb3IiLAotICAgICAgICAg
ICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAgICAgICAicHJvcGVydGllcyI6IHt9
LAotICAgICAgICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgICAgICAgInN0YWNrIjogbnVs
bAotICAgICAgICB9LAotICAgICAgICB7Ci0gICAgICAgICAgICAibmFtZSI6ICJXaW5kb3cgaW50
ZXJmYWNlOiBpbnRlcm5hbCBbW1NldFByb3RvdHlwZU9mXV0gbWV0aG9kIG9mIGdsb2JhbCBwbGF0
Zm9ybSBvYmplY3QgLSBzZXR0aW5nIHRvIGEgbmV3IHZhbHVlIHZpYSBSZWZsZWN0LnNldFByb3Rv
dHlwZU9mIHNob3VsZCByZXR1cm4gZmFsc2UiLAotICAgICAgICAgICAgInN0YXR1c19zdHJpbmci
OiAiUEFTUyIsCi0gICAgICAgICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgICAgICAgIm1l
c3NhZ2UiOiBudWxsLAotICAgICAgICAgICAgInN0YWNrIjogbnVsbAotICAgICAgICB9LAotICAg
ICAgICB7Ci0gICAgICAgICAgICAibmFtZSI6ICJXaW5kb3cgaW50ZXJmYWNlOiBpbnRlcm5hbCBb
W1NldFByb3RvdHlwZU9mXV0gbWV0aG9kIG9mIGdsb2JhbCBwbGF0Zm9ybSBvYmplY3QgLSBzZXR0
aW5nIHRvIGEgbmV3IHZhbHVlIHZpYSBfX3Byb3RvX18gc2hvdWxkIHRocm93IGEgVHlwZUVycm9y
IiwKLSAgICAgICAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgICAgICAgInBy
b3BlcnRpZXMiOiB7fSwKLSAgICAgICAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICAgICAg
ICJzdGFjayI6IG51bGwKLSAgICAgICAgfSwKLSAgICAgICAgewotICAgICAgICAgICAgIm5hbWUi
OiAiV2luZG93IGludGVyZmFjZTogaW50ZXJuYWwgW1tTZXRQcm90b3R5cGVPZl1dIG1ldGhvZCBv
ZiBnbG9iYWwgcGxhdGZvcm0gb2JqZWN0IC0gc2V0dGluZyB0byBpdHMgb3JpZ2luYWwgdmFsdWUg
dmlhIE9iamVjdC5zZXRQcm90b3R5cGVPZiBzaG91bGQgbm90IHRocm93IiwKLSAgICAgICAgICAg
ICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7fSwK
LSAgICAgICAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICAgICAgICJzdGFjayI6IG51bGwK
LSAgICAgICAgfSwKLSAgICAgICAgewotICAgICAgICAgICAgIm5hbWUiOiAiV2luZG93IGludGVy
ZmFjZTogaW50ZXJuYWwgW1tTZXRQcm90b3R5cGVPZl1dIG1ldGhvZCBvZiBnbG9iYWwgcGxhdGZv
cm0gb2JqZWN0IC0gc2V0dGluZyB0byBpdHMgb3JpZ2luYWwgdmFsdWUgdmlhIFJlZmxlY3Quc2V0
UHJvdG90eXBlT2Ygc2hvdWxkIHJldHVybiB0cnVlIiwKLSAgICAgICAgICAgICJzdGF0dXNfc3Ry
aW5nIjogIlBBU1MiLAotICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICAgICAg
ICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICAgICAgICJzdGFjayI6IG51bGwKLSAgICAgICAgfSwK
LSAgICAgICAgewotICAgICAgICAgICAgIm5hbWUiOiAiV2luZG93IGludGVyZmFjZTogaW50ZXJu
YWwgW1tTZXRQcm90b3R5cGVPZl1dIG1ldGhvZCBvZiBnbG9iYWwgcGxhdGZvcm0gb2JqZWN0IC0g
c2V0dGluZyB0byBpdHMgb3JpZ2luYWwgdmFsdWUgdmlhIF9fcHJvdG9fXyBzaG91bGQgbm90IHRo
cm93IiwKLSAgICAgICAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgICAgICAg
InByb3BlcnRpZXMiOiB7fSwKLSAgICAgICAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICAg
ICAgICJzdGFjayI6IG51bGwKLSAgICAgICAgfSwKLSAgICAgICAgewotICAgICAgICAgICAgIm5h
bWUiOiAiV2luZG93IGludGVyZmFjZTogaW50ZXJuYWwgW1tTZXRQcm90b3R5cGVPZl1dIG1ldGhv
ZCBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCAtIHNldHRpbmcgdG8gYSBuZXcgdmFsdWUg
dmlhIE9iamVjdC5zZXRQcm90b3R5cGVPZiBzaG91bGQgdGhyb3cgYSBUeXBlRXJyb3IiLAotICAg
ICAgICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAgICAgICAicHJvcGVydGll
cyI6IHt9LAotICAgICAgICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgICAgICAgInN0YWNr
IjogbnVsbAotICAgICAgICB9LAotICAgICAgICB7Ci0gICAgICAgICAgICAibmFtZSI6ICJXaW5k
b3cgaW50ZXJmYWNlOiBpbnRlcm5hbCBbW1NldFByb3RvdHlwZU9mXV0gbWV0aG9kIG9mIGludGVy
ZmFjZSBwcm90b3R5cGUgb2JqZWN0IC0gc2V0dGluZyB0byBhIG5ldyB2YWx1ZSB2aWEgUmVmbGVj
dC5zZXRQcm90b3R5cGVPZiBzaG91bGQgcmV0dXJuIGZhbHNlIiwKLSAgICAgICAgICAgICJzdGF0
dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAg
ICAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICAgICAgICJzdGFjayI6IG51bGwKLSAgICAg
ICAgfSwKLSAgICAgICAgewotICAgICAgICAgICAgIm5hbWUiOiAiV2luZG93IGludGVyZmFjZTog
aW50ZXJuYWwgW1tTZXRQcm90b3R5cGVPZl1dIG1ldGhvZCBvZiBpbnRlcmZhY2UgcHJvdG90eXBl
IG9iamVjdCAtIHNldHRpbmcgdG8gYSBuZXcgdmFsdWUgdmlhIF9fcHJvdG9fXyBzaG91bGQgdGhy
b3cgYSBUeXBlRXJyb3IiLAotICAgICAgICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0g
ICAgICAgICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgICAgICAgIm1lc3NhZ2UiOiBudWxs
LAotICAgICAgICAgICAgInN0YWNrIjogbnVsbAotICAgICAgICB9LAotICAgICAgICB7Ci0gICAg
ICAgICAgICAibmFtZSI6ICJXaW5kb3cgaW50ZXJmYWNlOiBpbnRlcm5hbCBbW1NldFByb3RvdHlw
ZU9mXV0gbWV0aG9kIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IC0gc2V0dGluZyB0byBp
dHMgb3JpZ2luYWwgdmFsdWUgdmlhIE9iamVjdC5zZXRQcm90b3R5cGVPZiBzaG91bGQgbm90IHRo
cm93IiwKLSAgICAgICAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgICAgICAg
InByb3BlcnRpZXMiOiB7fSwKLSAgICAgICAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICAg
ICAgICJzdGFjayI6IG51bGwKLSAgICAgICAgfSwKLSAgICAgICAgewotICAgICAgICAgICAgIm5h
bWUiOiAiV2luZG93IGludGVyZmFjZTogaW50ZXJuYWwgW1tTZXRQcm90b3R5cGVPZl1dIG1ldGhv
ZCBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCAtIHNldHRpbmcgdG8gaXRzIG9yaWdpbmFs
IHZhbHVlIHZpYSBSZWZsZWN0LnNldFByb3RvdHlwZU9mIHNob3VsZCByZXR1cm4gdHJ1ZSIsCi0g
ICAgICAgICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICAgICAgICJwcm9wZXJ0
aWVzIjoge30sCi0gICAgICAgICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAgICAgICAic3Rh
Y2siOiBudWxsCi0gICAgICAgIH0sCi0gICAgICAgIHsKLSAgICAgICAgICAgICJuYW1lIjogIldp
bmRvdyBpbnRlcmZhY2U6IGludGVybmFsIFtbU2V0UHJvdG90eXBlT2ZdXSBtZXRob2Qgb2YgaW50
ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgLSBzZXR0aW5nIHRvIGl0cyBvcmlnaW5hbCB2YWx1ZSB2
aWEgX19wcm90b19fIHNob3VsZCBub3QgdGhyb3ciLAotICAgICAgICAgICAgInN0YXR1c19zdHJp
bmciOiAiUEFTUyIsCi0gICAgICAgICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgICAgICAg
Im1lc3NhZ2UiOiBudWxsLAotICAgICAgICAgICAgInN0YWNrIjogbnVsbAotICAgICAgICB9LAot
ICAgICAgICB7Ci0gICAgICAgICAgICAibmFtZSI6ICJXaW5kb3cgbXVzdCBiZSBwcmltYXJ5IGlu
dGVyZmFjZSBvZiB3aW5kb3ciLAotICAgICAgICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIs
Ci0gICAgICAgICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgICAgICAgIm1lc3NhZ2UiOiBu
dWxsLAotICAgICAgICAgICAgInN0YWNrIjogbnVsbAotICAgICAgICB9Ci0gICAgXSwKLSAgICAi
dHlwZSI6ICJjb21wbGV0ZSIKLX0KLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvdGVzdC90ZXN0cy9pZGxoYXJuZXNzL0lkbEludGVyZmFjZS90ZXN0X3ByaW1hcnlfaW50ZXJm
YWNlX29mLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy90ZXN0L3Rlc3RzL2lkbGhhcm5lc3MvSWRsSW50ZXJmYWNlL3Rlc3RfcHJpbWFy
eV9pbnRlcmZhY2Vfb2YuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODU5MzQw
YTIzNjIuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRsaGFybmVzcy9JZGxJbnRlcmZhY2Uv
dGVzdF9wcmltYXJ5X2ludGVyZmFjZV9vZi5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTExICsw
LDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLSAgPG1ldGEgY2hhcnNldD0i
dXRmLTgiPgotICA8dGl0bGU+aWRsaGFybmVzczogUHJpbWFyeSBpbnRlcmZhY2U8L3RpdGxlPgot
ICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci0gIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLSAg
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvV2ViSURMUGFyc2VyLmpzIj48L3NjcmlwdD4KLSAgPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvaWRsaGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08
Ym9keT4KLTxwPlZlcmlmeSB0aGUgc2VyaWVzIG9mIHN1Yi10ZXN0cyB0aGF0IGFyZSBleGVjdXRl
ZCBmb3IgInRlc3RlZCIgaW50ZXJmYWNlCi1vYmplY3RzIGJ1dCBza2lwcGVkIGZvciAidW50ZXN0
ZWQiIGludGVyZmFjZSBvYmplY3RzLjwvcD4KLTxzY3JpcHQ+Ci0idXNlIHN0cmljdCI7Ci0KLWZ1
bmN0aW9uIEZvb1BhcmVudCgpIHt9Ci1PYmplY3QuZGVmaW5lUHJvcGVydHkod2luZG93LCAiRm9v
IiwgewotICAgIGVudW1lcmFibGU6IGZhbHNlLAotICAgIHdyaXRhYmxlOiB0cnVlLAotICAgIGNv
bmZpZ3VyYWJsZTogdHJ1ZSwKLSAgICB2YWx1ZTogZnVuY3Rpb24gRm9vKCkge30KLSAgfSk7Ci1P
YmplY3QuZGVmaW5lUHJvcGVydHkod2luZG93LkZvbywgInByb3RvdHlwZSIsIHsKLSAgICB3cml0
YWJsZTogZmFsc2UsCi0gICAgdmFsdWU6IG5ldyBGb29QYXJlbnQoKQotICB9KTsKLU9iamVjdC5k
ZWZpbmVQcm9wZXJ0eSh3aW5kb3cuRm9vLnByb3RvdHlwZSwgImNvbnN0cnVjdG9yIiwgewotICAg
IGVudW1lcmFibGU6IGZhbHNlLAotICAgIHdyaXRhYmxlOiB0cnVlLAotICAgIGNvbmZpZ3VyYWJs
ZTogdHJ1ZSwKLSAgICB2YWx1ZTogd2luZG93LkZvbwotICB9KTsKLUZvby5fX3Byb3RvX18gPSBG
b29QYXJlbnQ7Ci1Gb28ucHJvdG90eXBlW1N5bWJvbC50b1N0cmluZ1RhZ10gPSAiRm9vIjsKLQot
dmFyIGlkbEFycmF5ID0gbmV3IElkbEFycmF5KCk7Ci1pZGxBcnJheS5hZGRfdW50ZXN0ZWRfaWRs
cygiaW50ZXJmYWNlIEZvb1BhcmVudCB7fTsiKTsKLWlkbEFycmF5LmFkZF9pZGxzKAotICAgICJb
Q29uc3RydWN0b3IoKV1cbiIgKwotICAgICJpbnRlcmZhY2UgRm9vIDogRm9vUGFyZW50IHt9OyIK
LSAgKTsKLWlkbEFycmF5LmFkZF9vYmplY3RzKHsKLSAgRm9vOiBbIm5ldyBGb28oKSJdLAotICBG
b29QYXJlbnQ6IFsibmV3IEZvb1BhcmVudCgpIl0KLX0pOwotaWRsQXJyYXkudGVzdCgpOwotPC9z
Y3JpcHQ+Ci08c2NyaXB0IHR5cGU9InRleHQvanNvbiIgaWQ9ImV4cGVjdGVkIj4KLXsKLSAgInN1
bW1hcml6ZWRfc3RhdHVzIjogewotICAgICJzdGF0dXNfc3RyaW5nIjogIk9LIiwKLSAgICAibWVz
c2FnZSI6IG51bGwsCi0gICAgInN0YWNrIjogbnVsbAotICB9LAotICAic3VtbWFyaXplZF90ZXN0
cyI6IFsKLSAgICB7Ci0gICAgICAibmFtZSI6ICJGb28gaW50ZXJmYWNlIG9iamVjdCBsZW5ndGgi
LAotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAicHJvcGVydGllcyI6IHt9
LAotICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgInN0YWNrIjogbnVsbAotICAgIH0sCi0g
ICAgewotICAgICAgIm5hbWUiOiAiRm9vIGludGVyZmFjZSBvYmplY3QgbmFtZSIsCi0gICAgICAi
c3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAi
bWVzc2FnZSI6IG51bGwsCi0gICAgICAic3RhY2siOiBudWxsCi0gICAgfSwKLSAgICB7Ci0gICAg
ICAibmFtZSI6ICJGb28gaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50
ZXJmYWNlIG9iamVjdCIsCi0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJw
cm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAic3RhY2siOiBu
dWxsCi0gICAgfSwKLSAgICB7Ci0gICAgICAibmFtZSI6ICJGb28gaW50ZXJmYWNlOiBleGlzdGVu
Y2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QiLAotICAgICAg
InN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAg
Im1lc3NhZ2UiOiBudWxsLAotICAgICAgInN0YWNrIjogbnVsbAotICAgIH0sCi0gICAgewotICAg
ICAgIm5hbWUiOiAiRm9vIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGlu
dGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgXCJjb25zdHJ1Y3RvclwiIHByb3BlcnR5IiwKLSAg
ICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAg
ICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICJzdGFjayI6IG51bGwKLSAgICB9LAotICAgIHsK
LSAgICAgICJuYW1lIjogIkZvbyBtdXN0IGJlIHByaW1hcnkgaW50ZXJmYWNlIG9mIG5ldyBGb28o
KSIsCi0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJwcm9wZXJ0aWVzIjog
e30sCi0gICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAic3RhY2siOiBudWxsCi0gICAgfSwK
LSAgICB7Ci0gICAgICAibmFtZSI6ICJTdHJpbmdpZmljYXRpb24gb2YgbmV3IEZvbygpIiwKLSAg
ICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAg
ICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICJzdGFjayI6IG51bGwKLSAgICB9Ci0gIF0sCi0g
ICJ0eXBlIjogImNvbXBsZXRlIgotfQotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy90ZXN0L3Rlc3RzL2lkbGhhcm5lc3MvSWRsSW50ZXJmYWNlL3Rlc3RfdG9fanNvbl9vcGVy
YXRpb24uaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRsaGFybmVzcy9JZGxJbnRlcmZhY2UvdGVzdF90b19qc29u
X29wZXJhdGlvbi5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxOGZjMzE5M2Zm
OC4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9pZGxoYXJuZXNzL0lkbEludGVyZmFjZS90ZXN0
X3RvX2pzb25fb3BlcmF0aW9uLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxOTAgKzAsMCBAQAot
PCFET0NUWVBFIEhUTUw+Ci08aHRtbD4KLTxoZWFkPgotICA8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+
Ci0gIDx0aXRsZT5JZGxJbnRlcmZhY2UucHJvdG90eXBlLnRlc3RfdG9fanNvbl9vcGVyYXRpb24o
KTwvdGl0bGU+Ci0gIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KLSAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwv
c2NyaXB0PgotICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9XZWJJRExQYXJzZXIuanMiPjwvc2Ny
aXB0PgotICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9pZGxoYXJuZXNzLmpzIj48L3NjcmlwdD4K
LSAgPHNjcmlwdCBzcmM9Ii4uL2hlbHBlci5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4K
LTxzY3JpcHQ+Ci0gICAgInVzZSBzdHJpY3QiOwotICAgIGZ1bmN0aW9uIHdyYXAob2JqKSB7Ci0g
ICAgICAgIGZ1bmN0aW9uIEYob2JqKSB7Ci0gICAgICAgICAgICB0aGlzLl9vYmogPSBvYmo7Ci0g
ICAgICAgIH0KLQotICAgICAgICBGLnByb3RvdHlwZS50b0pTT04gPSBmdW5jdGlvbigpIHsKLSAg
ICAgICAgICAgIHJldHVybiB0aGlzLl9vYmo7Ci0gICAgICAgIH0KLQotICAgICAgICByZXR1cm4g
bmV3IEYob2JqKTsKLSAgICB9Ci0KLSAgICB2YXIgaSwgb2JqOwotICAgIGkgPSBpbnRlcmZhY2VG
cm9tKCJpbnRlcmZhY2UgQSB7IFtEZWZhdWx0XSBvYmplY3QgdG9KU09OKCk7IGF0dHJpYnV0ZSBs
b25nIGZvbzsgfTsiKTsKLSAgICBpLnRlc3RfdG9fanNvbl9vcGVyYXRpb24od3JhcCh7IGZvbzog
MTIzIH0pLCBpLm1lbWJlcnNbMF0pOwotCi0gICAgLy8gc2hvdWxkIGZhaWwgKHdyb25nIHR5cGUp
Ci0gICAgaSA9IGludGVyZmFjZUZyb20oImludGVyZmFjZSBCIHsgW0RlZmF1bHRdIG9iamVjdCB0
b0pTT04oKTsgYXR0cmlidXRlIGxvbmcgZm9vOyB9OyIpOwotICAgIGkudGVzdF90b19qc29uX29w
ZXJhdGlvbih3cmFwKHsgZm9vOiAiYSB2YWx1ZSIgfSksIGkubWVtYmVyc1swXSk7Ci0KLSAgICAv
LyBzaG91bGQgaGFuZGxlIGV4dHJhbmVvdXMgYXR0cmlidXRlcyAoZS5nLiBmcm9tIGFuIGV4dGVu
c2lvbiBzcGVjaWZpY2F0aW9uKQotICAgIGkgPSBpbnRlcmZhY2VGcm9tKCJpbnRlcmZhY2UgQyB7
IFtEZWZhdWx0XSBvYmplY3QgdG9KU09OKCk7IGF0dHJpYnV0ZSBsb25nIGZvbzsgfTsiKTsKLSAg
ICBpLnRlc3RfdG9fanNvbl9vcGVyYXRpb24od3JhcCh7IGZvbzogMTIzLCBiYXI6IDQ1NiB9KSwg
aS5tZW1iZXJzWzBdKTsKLQotICAgIC8vIHNob3VsZCBmYWlsIChtaXNzaW5nIHByb3BlcnR5KQot
ICAgIGkgPSBpbnRlcmZhY2VGcm9tKCJpbnRlcmZhY2UgRCB7IFtEZWZhdWx0XSBvYmplY3QgdG9K
U09OKCk7IGF0dHJpYnV0ZSBsb25nIGZvbzsgfTsiKTsKLSAgICBpLnRlc3RfdG9fanNvbl9vcGVy
YXRpb24od3JhcCh7IH0pLCBpLm1lbWJlcnNbMF0pOwotCi0gICAgLy8gc2hvdWxkIGZhaWwgKHNo
b3VsZCBiZSB3cml0YWJsZSkKLSAgICBvYmogPSBPYmplY3QuZGVmaW5lUHJvcGVydGllcyh7fSwg
eyBmb286IHsKLSAgICAgICAgd3JpdGFibGU6IGZhbHNlLAotICAgICAgICBlbnVtZXJhYmxlOiB0
cnVlLAotICAgICAgICBjb25maWd1cmFibGU6IHRydWUsCi0gICAgICAgIHZhbHVlOiAxMjMKLSAg
ICB9fSk7Ci0gICAgaSA9IGludGVyZmFjZUZyb20oImludGVyZmFjZSBGIHsgW0RlZmF1bHRdIG9i
amVjdCB0b0pTT04oKTsgYXR0cmlidXRlIGxvbmcgZm9vOyB9OyIpOwotICAgIGkudGVzdF90b19q
c29uX29wZXJhdGlvbih3cmFwKG9iaiksIGkubWVtYmVyc1swXSk7Ci0KLSAgICAvLyBzaG91bGQg
ZmFpbCAoc2hvdWxkIGJlIGVudW1lcmFibGUpCi0gICAgb2JqID0gT2JqZWN0LmRlZmluZVByb3Bl
cnRpZXMoe30sIHsgZm9vOiB7Ci0gICAgICAgIHdyaXRhYmxlOiB0cnVlLAotICAgICAgICBlbnVt
ZXJhYmxlOiBmYWxzZSwKLSAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLAotICAgICAgICB2YWx1
ZTogMTIzCi0gICAgfX0pOwotICAgIGkgPSBpbnRlcmZhY2VGcm9tKCJpbnRlcmZhY2UgRyB7IFtE
ZWZhdWx0XSBvYmplY3QgdG9KU09OKCk7IGF0dHJpYnV0ZSBsb25nIGZvbzsgfTsiKTsKLSAgICBp
LnRlc3RfdG9fanNvbl9vcGVyYXRpb24od3JhcChvYmopLCBpLm1lbWJlcnNbMF0pOwotCi0gICAg
Ly8gc2hvdWxkIGZhaWwgKHNob3VsZCBiZSBjb25maWd1cmFibGUpCi0gICAgb2JqID0gT2JqZWN0
LmRlZmluZVByb3BlcnRpZXMoe30sIHsgZm9vOiB7Ci0gICAgICAgIHdyaXRhYmxlOiB0cnVlLAot
ICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLAotICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlLAot
ICAgICAgICB2YWx1ZTogMTIzCi0gICAgfX0pOwotICAgIGkgPSBpbnRlcmZhY2VGcm9tKCJpbnRl
cmZhY2UgSCB7IFtEZWZhdWx0XSBvYmplY3QgdG9KU09OKCk7IGF0dHJpYnV0ZSBsb25nIGZvbzsg
fTsiKTsKLSAgICBpLnRlc3RfdG9fanNvbl9vcGVyYXRpb24od3JhcChvYmopLCBpLm1lbWJlcnNb
MF0pOwotCi0gICAgdmFyIGlkbCA9IG5ldyBJZGxBcnJheSgpOwotICAgIGlkbC5hZGRfaWRscygi
aW50ZXJmYWNlIEkgOiBKIHsgW0RlZmF1bHRdIG9iamVjdCB0b0pTT04oKTsgYXR0cmlidXRlIGxv
bmcgZm9vOyB9OyIpOwotICAgIGlkbC5hZGRfaWRscygiaW50ZXJmYWNlIEogeyBbRGVmYXVsdF0g
b2JqZWN0IHRvSlNPTigpOyBhdHRyaWJ1dGUgRE9NU3RyaW5nIGZvbzt9OyIpOwotICAgIHZhciBp
ID0gaWRsLm1lbWJlcnMuSTsKLSAgICBpLnRlc3RfdG9fanNvbl9vcGVyYXRpb24od3JhcCh7IGZv
bzogMTIzIH0pLCBpLm1lbWJlcnNbMF0pOwotCi0gICAgaSA9IGludGVyZmFjZUZyb20oImludGVy
ZmFjZSBLIHsgW0RlZmF1bHRdIG9iamVjdCB0b0pTT04oKTsgfTsiKTsKLSAgICBpLnRlc3RfdG9f
anNvbl9vcGVyYXRpb24od3JhcCh7fSksIGkubWVtYmVyc1swXSk7Ci0KLSAgICBpID0gaW50ZXJm
YWNlRnJvbSgiaW50ZXJmYWNlIEwgeyBET01TdHJpbmcgdG9KU09OKCk7IH07Iik7Ci0gICAgaS50
ZXN0X3RvX2pzb25fb3BlcmF0aW9uKHdyYXAoImEgc3RyaW5nIiksIGkubWVtYmVyc1swXSk7Ci0K
LSAgICAvLyBzaG91bGQgZmFpbCAod3Jvbmcgb3V0cHV0IHR5cGUpCi0gICAgaSA9IGludGVyZmFj
ZUZyb20oImludGVyZmFjZSBNIHsgRE9NU3RyaW5nIHRvSlNPTigpOyB9OyIpOwotICAgIGkudGVz
dF90b19qc29uX29wZXJhdGlvbih3cmFwKHt9KSwgaS5tZW1iZXJzWzBdKTsKLQotICAgIC8vIHNo
b3VsZCBmYWlsIChub3QgYW4gSURMIHR5cGUpCi0gICAgaSA9IGludGVyZmFjZUZyb20oImludGVy
ZmFjZSBOIHsgRE9NRXhjZXB0aW9uIHRvSlNPTigpOyB9OyIpOwotICAgIGkudGVzdF90b19qc29u
X29wZXJhdGlvbih3cmFwKHt9KSwgaS5tZW1iZXJzWzBdKTsKLTwvc2NyaXB0PgotPHNjcmlwdCB0
eXBlPSJ0ZXh0L2pzb24iIGlkPSJleHBlY3RlZCI+Ci0gICAgewotICAgICAgICAic3VtbWFyaXpl
ZF9zdGF0dXMiOiB7Ci0gICAgICAgICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAgICAgICAi
c3RhY2siOiBudWxsLAotICAgICAgICAgICAgInN0YXR1c19zdHJpbmciOiAiT0siCi0gICAgICAg
IH0sCi0gICAgICAgICJzdW1tYXJpemVkX3Rlc3RzIjogWwotICAgICAgICAgICAgewotICAgICAg
ICAgICAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJUZXN0
IGRlZmF1bHQgdG9KU09OIG9wZXJhdGlvbiBvZiBBIiwKLSAgICAgICAgICAgICAgICAicHJvcGVy
dGllcyI6IHt9LAotICAgICAgICAgICAgICAgICJzdGFjayI6IG51bGwsCi0gICAgICAgICAgICAg
ICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIKLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7
Ci0gICAgICAgICAgICAgICAgIm1lc3NhZ2UiOiAiYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgXCJu
dW1iZXJcIiBidXQgZ290IFwic3RyaW5nXCIiLAotICAgICAgICAgICAgICAgICJuYW1lIjogIlRl
c3QgZGVmYXVsdCB0b0pTT04gb3BlcmF0aW9uIG9mIEIiLAotICAgICAgICAgICAgICAgICJwcm9w
ZXJ0aWVzIjoge30sCi0gICAgICAgICAgICAgICAgInN0YWNrIjogIihpbXBsZW1lbnRhdGlvbi1k
ZWZpbmVkKSIsCi0gICAgICAgICAgICAgICAgInN0YXR1c19zdHJpbmciOiAiRkFJTCIKLSAgICAg
ICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgIm1lc3NhZ2UiOiBudWxs
LAotICAgICAgICAgICAgICAgICJuYW1lIjogIlRlc3QgZGVmYXVsdCB0b0pTT04gb3BlcmF0aW9u
IG9mIEMiLAotICAgICAgICAgICAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAgICAgICAg
ICAgInN0YWNrIjogbnVsbCwKLSAgICAgICAgICAgICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNT
IgotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAibWVzc2Fn
ZSI6ICJhc3NlcnRfdHJ1ZTogcHJvcGVydHkgXCJmb29cIiBzaG91bGQgYmUgcHJlc2VudCBpbiB0
aGUgb3V0cHV0IG9mIEQucHJvdG90eXBlLnRvSlNPTigpIGV4cGVjdGVkIHRydWUgZ290IGZhbHNl
IiwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJUZXN0IGRlZmF1bHQgdG9KU09OIG9wZXJhdGlv
biBvZiBEIiwKLSAgICAgICAgICAgICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgICAgICAg
ICAgICJzdGFjayI6ICIoaW1wbGVtZW50YXRpb24tZGVmaW5lZCkiLAotICAgICAgICAgICAgICAg
ICJzdGF0dXNfc3RyaW5nIjogIkZBSUwiCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewot
ICAgICAgICAgICAgICAgICJtZXNzYWdlIjogImFzc2VydF90cnVlOiBwcm9wZXJ0eSBmb28gc2hv
dWxkIGJlIHdyaXRhYmxlIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlIiwKLSAgICAgICAgICAgICAg
ICAibmFtZSI6ICJUZXN0IGRlZmF1bHQgdG9KU09OIG9wZXJhdGlvbiBvZiBGIiwKLSAgICAgICAg
ICAgICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgICAgICAgICAgICJzdGFjayI6ICIoaW1w
bGVtZW50YXRpb24tZGVmaW5lZCkiLAotICAgICAgICAgICAgICAgICJzdGF0dXNfc3RyaW5nIjog
IkZBSUwiCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJt
ZXNzYWdlIjogImFzc2VydF90cnVlOiBwcm9wZXJ0eSBmb28gc2hvdWxkIGJlIGVudW1lcmFibGUg
ZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UiLAotICAgICAgICAgICAgICAgICJuYW1lIjogIlRlc3Qg
ZGVmYXVsdCB0b0pTT04gb3BlcmF0aW9uIG9mIEciLAotICAgICAgICAgICAgICAgICJwcm9wZXJ0
aWVzIjoge30sCi0gICAgICAgICAgICAgICAgInN0YWNrIjogIihpbXBsZW1lbnRhdGlvbi1kZWZp
bmVkKSIsCi0gICAgICAgICAgICAgICAgInN0YXR1c19zdHJpbmciOiAiRkFJTCIKLSAgICAgICAg
ICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgIm1lc3NhZ2UiOiAiYXNzZXJ0
X3RydWU6IHByb3BlcnR5IGZvbyBzaG91bGQgYmUgY29uZmlndXJhYmxlIGV4cGVjdGVkIHRydWUg
Z290IGZhbHNlIiwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJUZXN0IGRlZmF1bHQgdG9KU09O
IG9wZXJhdGlvbiBvZiBIIiwKLSAgICAgICAgICAgICAgICAicHJvcGVydGllcyI6IHt9LAotICAg
ICAgICAgICAgICAgICJzdGFjayI6ICIoaW1wbGVtZW50YXRpb24tZGVmaW5lZCkiLAotICAgICAg
ICAgICAgICAgICJzdGF0dXNfc3RyaW5nIjogIkZBSUwiCi0gICAgICAgICAgICB9LAotICAgICAg
ICAgICAgewotICAgICAgICAgICAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICAgICAgICAg
ICAibmFtZSI6ICJUZXN0IGRlZmF1bHQgdG9KU09OIG9wZXJhdGlvbiBvZiBJIiwKLSAgICAgICAg
ICAgICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgICAgICAgICAgICJzdGFjayI6IG51bGws
Ci0gICAgICAgICAgICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIKLSAgICAgICAgICAgIH0s
Ci0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAg
ICAgICAgICAgICJuYW1lIjogIlRlc3QgZGVmYXVsdCB0b0pTT04gb3BlcmF0aW9uIG9mIEsiLAot
ICAgICAgICAgICAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAgICAgICAgICAgInN0YWNr
IjogbnVsbCwKLSAgICAgICAgICAgICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIgotICAgICAg
ICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAibWVzc2FnZSI6IG51bGws
Ci0gICAgICAgICAgICAgICAgIm5hbWUiOiAiVGVzdCB0b0pTT04gb3BlcmF0aW9uIG9mIEwiLAot
ICAgICAgICAgICAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAgICAgICAgICAgInN0YWNr
IjogbnVsbCwKLSAgICAgICAgICAgICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIgotICAgICAg
ICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAibWVzc2FnZSI6ICJhc3Nl
cnRfZXF1YWxzOiBleHBlY3RlZCBcInN0cmluZ1wiIGJ1dCBnb3QgXCJvYmplY3RcIiIsCi0gICAg
ICAgICAgICAgICAgIm5hbWUiOiAiVGVzdCB0b0pTT04gb3BlcmF0aW9uIG9mIE0iLAotICAgICAg
ICAgICAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAgICAgICAgICAgInN0YWNrIjogIihp
bXBsZW1lbnRhdGlvbi1kZWZpbmVkKSIsCi0gICAgICAgICAgICAgICAgInN0YXR1c19zdHJpbmci
OiAiRkFJTCIKLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAg
Im1lc3NhZ2UiOiAiYXNzZXJ0X3RydWU6IHtcInNlcXVlbmNlXCI6ZmFsc2UsXCJnZW5lcmljXCI6
bnVsbCxcIm51bGxhYmxlXCI6ZmFsc2UsXCJhcnJheVwiOmZhbHNlLFwidW5pb25cIjpmYWxzZSxc
ImlkbFR5cGVcIjpcIkRPTUV4Y2VwdGlvblwifSBpcyBub3QgYW4gYXBwcm9wcmlhdGUgcmV0dXJu
IHZhbHVlIGZvciB0aGUgdG9KU09OIG9wZXJhdGlvbiBvZiBOIGV4cGVjdGVkIHRydWUgZ290IGZh
bHNlIiwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJUZXN0IHRvSlNPTiBvcGVyYXRpb24gb2Yg
TiIsCi0gICAgICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICAgICAgICAgICAi
c3RhY2siOiAiKGltcGxlbWVudGF0aW9uLWRlZmluZWQpIiwKLSAgICAgICAgICAgICAgICAic3Rh
dHVzX3N0cmluZyI6ICJGQUlMIgotICAgICAgICAgICAgfQotICAgICAgICBdLAotICAgICAgICAi
dHlwZSI6ICJjb21wbGV0ZSIKLSAgICB9Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2lkbGhhcm5lc3Mv
SWRsSW50ZXJmYWNlL3RyYXZlcnNlX2luaGVyaXRlZF9hbmRfY29uc2VxdWVudGlhbF9pbnRlcmZh
Y2VzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy90ZXN0L3Rlc3RzL2lkbGhhcm5lc3MvSWRsSW50ZXJmYWNlL3RyYXZlcnNlX2luaGVy
aXRlZF9hbmRfY29uc2VxdWVudGlhbF9pbnRlcmZhY2VzLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDFhMTkyOTE5YWY4Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2lkbGhh
cm5lc3MvSWRsSW50ZXJmYWNlL3RyYXZlcnNlX2luaGVyaXRlZF9hbmRfY29uc2VxdWVudGlhbF9p
bnRlcmZhY2VzLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw2NSArMCwwIEBACi08IURPQ1RZUEUg
SFRNTD4KLTxodG1sPgotPGhlYWQ+Ci08dGl0bGU+SWRsRGljdGlvbmFyeS5wcm90b3R5cGUudHJh
dmVyc2VfaW5oZXJpdGVkX2FuZF9jb25zZXF1ZW50aWFsX2ludGVyZmFjZXMoKTwvdGl0bGU+Ci08
L2hlYWQ+Ci08Ym9keT4KLTxkaXYgaWQ9ImxvZyI+PC9kaXY+Ci08c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9X
ZWJJRExQYXJzZXIuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvaWRsaGFy
bmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vaGVscGVyLmpzIj48L3NjcmlwdD4K
LTxwcmUgaWQ9ZnJhZ21lbnRzPgotICAgIGludGVyZmFjZSBBIDogQiB7IH07Ci0gICAgaW50ZXJm
YWNlIEIgOiBDIHsgfTsKLSAgICBpbnRlcmZhY2UgQyB7IH07Ci0gICAgaW50ZXJmYWNlIEQgOiBF
IHsgfTsKLSAgICBpbnRlcmZhY2UgRSA6IEYgeyB9OwotICAgIGludGVyZmFjZSBGIHsgfTsKLSAg
ICBpbnRlcmZhY2UgRyB7IH07Ci0gICAgaW50ZXJmYWNlIEggeyB9OwotICAgIGludGVyZmFjZSBJ
IHsgfTsKLSAgICBpbnRlcmZhY2UgSiB7IH07Ci0KLSAgICBBIGltcGxlbWVudHMgRzsKLSAgICBB
IGltcGxlbWVudHMgSDsKLSAgICBCIGltcGxlbWVudHMgRDsKLSAgICBFIGltcGxlbWVudHMgSTsK
LSAgICBIIGltcGxlbWVudHMgSjsKLTwvcHJlPgotPHNjcmlwdD4KLSAgICAidXNlIHN0cmljdCI7
Ci0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIGludGVyZmFjZXMgPSBbXTsKLSAg
ICAgICAgaW50ZXJmYWNlRnJvbSgnaW50ZXJmYWNlIEEgeyB9OycpLnRyYXZlcnNlX2luaGVyaXRl
ZF9hbmRfY29uc2VxdWVudGlhbF9pbnRlcmZhY2VzKGZ1bmN0aW9uKGkpIHsKLSAgICAgICAgICAg
IGludGVyZmFjZXMucHVzaChpLm5hbWUpOwotICAgICAgICB9KTsKLSAgICAgICAgYXNzZXJ0X2Fy
cmF5X2VxdWFscyhpbnRlcmZhY2VzLCBbIkEiXSk7Ci0gICAgfSwgJ3Nob3VsZCByZXR1cm4gYW4g
YXJyYXkgdGhhdCBpbmNsdWRlcyBpdHNlbGYuJyk7Ci0gICAgCi0gICAgdGVzdChmdW5jdGlvbigp
IHsKLSAgICAgICAgdmFyIGNvbnRleHQgPSBuZXcgSWRsQXJyYXkoKTsKLSAgICAgICAgY29udGV4
dC5hZGRfaWRscygiaW50ZXJmYWNlIEEgeyB9OyBBIGltcGxlbWVudHMgQjsiKTsKLSAgICAgICAg
YXNzZXJ0X3Rocm93cyhuZXcgRXJyb3IoKSwgXyA9PiBjb250ZXh0Lm1lbWJlcnNbIkEiXS50cmF2
ZXJzZV9pbmhlcml0ZWRfYW5kX2NvbnNlcXVlbnRpYWxfaW50ZXJmYWNlcyhmdW5jdGlvbigpIHt9
KSk7Ci0gICAgfSwgInNob3VsZCB0aHJvdyBmb3IgaW50ZXJmYWNlcyB3aGljaCBhcmUgZXh0ZW5k
ZWQgYnkgYW5vdGhlciBpbnRlcmZhY2Ugd2hpY2ggd2Fzbid0IGFkZGVkIHRvIHRoZSBJZGxBcnJh
eS4iKTsKLQotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBjb250ZXh0ID0gbmV3
IElkbEFycmF5KCk7Ci0gICAgICAgIGNvbnRleHQuYWRkX2lkbHMoImludGVyZmFjZSBBIHsgfTsi
KTsKLSAgICAgICAgYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksIF8gPT4gY29udGV4dC5t
ZW1iZXJzWyJBIl0udHJhdmVyc2VfaW5oZXJpdGVkX2FuZF9jb25zZXF1ZW50aWFsX2ludGVyZmFj
ZXMoKSk7Ci0gICAgfSwgInNob3VsZCB0aHJvdyBpZiBub3QgcGFzc2VkIGEgY2FsbGJhY2siKTsK
LSAgICAKLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgY29udGV4dCA9IG5ldyBJ
ZGxBcnJheSgpOwotICAgICAgICBjb250ZXh0LmFkZF9pZGxzKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCdmcmFnbWVudHMnKS50ZXh0Q29udGVudCk7Ci0gICAgICAgIHZhciBpbnRlcmZhY2VzID0g
W107Ci0gICAgICAgIGNvbnRleHQubWVtYmVyc1siQSJdLnRyYXZlcnNlX2luaGVyaXRlZF9hbmRf
Y29uc2VxdWVudGlhbF9pbnRlcmZhY2VzKGZ1bmN0aW9uKGkpIHsKLSAgICAgICAgICAgIGludGVy
ZmFjZXMucHVzaChpLm5hbWUpOwotICAgICAgICB9KTsKLSAgICAgICAgYXNzZXJ0X2FycmF5X2Vx
dWFscyhpbnRlcmZhY2VzLCBbIkMiLCAiQiIsICJGIiwgIkUiLCAiSSIsICJEIiwgIkEiLCAiRyIs
ICJIIiwgIkoiXSk7Ci0gICAgfSwgJ3Nob3VsZCByZXR1cm4gYW4gYXJyYXkgdGhhdCBpbmNsdWRl
cyB0aGUgaWRlbnRpZmllciBvZiB0aGUgaW50ZXJmYWNlcyBpbiB0aGUgY29ycmVjdCBvcmRlci4n
KTsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2lk
bGhhcm5lc3MvSWRsSW50ZXJmYWNlL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9pZGxoYXJuZXNz
L0lkbEludGVyZmFjZS93M2MtaW1wb3J0LmxvZwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggNzVhZTMyMTY3ZDEuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRsaGFybmVzcy9JZGxJ
bnRlcmZhY2UvdzNjLWltcG9ydC5sb2cKKysrIC9kZXYvbnVsbApAQCAtMSwyNCArMCwwIEBACi1U
aGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVw
b3NpdG9yeS4KLURvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0Lgot
SW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgotCWh0dHBz
Oi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCi0KLVRoZW4gcnVuIHRoZSBUb29s
cy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0Ci0KLURvIE5P
VCBtb2RpZnkgb3IgcmVtb3ZlIHRoaXMgZmlsZS4KLQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1Qcm9wZXJ0
aWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6Ci1Ob25lCi1Qcm9wZXJ0eSB2YWx1ZXMgcmVx
dWlyaW5nIHZlbmRvciBwcmVmaXhlczoKLU5vbmUKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotTGlzdCBvZiBm
aWxlczoKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy90ZXN0L3Rlc3RzL2lkbGhhcm5lc3MvSWRsSW50ZXJmYWNlL2RlZmF1bHRfdG9fanNvbl9v
cGVyYXRpb24uaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRsaGFybmVzcy9JZGxJbnRlcmZhY2UvZ2V0X2luaGVy
aXRhbmNlX3N0YWNrLmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2lkbGhhcm5lc3MvSWRsSW50ZXJmYWNlL2hhc19k
ZWZhdWx0X3RvX2pzb25fcmVndWxhcl9vcGVyYXRpb24uaHRtbAotL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRsaGFybmVz
cy9JZGxJbnRlcmZhY2UvaGFzX3RvX2pzb25fcmVndWxhcl9vcGVyYXRpb24uaHRtbAotL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVz
dHMvaWRsaGFybmVzcy9JZGxJbnRlcmZhY2UvdGVzdF9pbW11dGFibGVfcHJvdG90eXBlLmh0bWwK
LS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90
ZXN0L3Rlc3RzL2lkbGhhcm5lc3MvSWRsSW50ZXJmYWNlL3Rlc3RfcHJpbWFyeV9pbnRlcmZhY2Vf
b2YuaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3Rlc3QvdGVzdHMvaWRsaGFybmVzcy9JZGxJbnRlcmZhY2UvdGVzdF90b19qc29uX29w
ZXJhdGlvbi5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9pZGxoYXJuZXNzL0lkbEludGVyZmFjZS90cmF2ZXJzZV9p
bmhlcml0ZWRfYW5kX2NvbnNlcXVlbnRpYWxfaW50ZXJmYWNlcy5odG1sCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0
L3Rlc3RzL2lkbGhhcm5lc3MvSWRsSW50ZXJmYWNlTWVtYmVyL2lzX3RvX2pzb25fcmVndWxhcl9v
cGVyYXRpb24uaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRsaGFybmVzcy9JZGxJbnRlcmZhY2VNZW1iZXIvaXNf
dG9fanNvbl9yZWd1bGFyX29wZXJhdGlvbi5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCBhYzkyM2RkNWE4Zi4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9pZGxoYXJuZXNzL0lk
bEludGVyZmFjZU1lbWJlci9pc190b19qc29uX3JlZ3VsYXJfb3BlcmF0aW9uLmh0bWwKKysrIC9k
ZXYvbnVsbApAQCAtMSw0MiArMCwwIEBACi08IURPQ1RZUEUgSFRNTD4KLTxodG1sPgotPGhlYWQ+
Ci08dGl0bGU+SWRsSW50ZXJmYWNlTWVtYmVyLnByb3RvdHlwZS5pc190b19qc29uX3JlZ3VsYXJf
b3BlcmF0aW9uKCk8L3RpdGxlPgotPC9oZWFkPgotPGJvZHk+Ci08ZGl2IGlkPSJsb2ciPjwvZGl2
PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvV2ViSURMUGFyc2VyLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL2lkbGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4u
L2hlbHBlci5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotICAgICJ1c2Ugc3RyaWN0IjsKLSAgICB0
ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgbSA9IG1lbWJlckZyb20oInJlYWRvbmx5IGF0
dHJpYnV0ZSBET01TdHJpbmcgZm9vIik7Ci0gICAgICAgIGFzc2VydF9mYWxzZShtLmlzX3RvX2pz
b25fcmVndWxhcl9vcGVyYXRpb24oKSk7Ci0gICAgfSwgJ3Nob3VsZCByZXR1cm4gZmFsc2Ugd2hl
biBtZW1iZXIgaXMgYW4gYXR0cmlidXRlLicpOwotCi0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAg
ICAgICAgdmFyIG0gPSBtZW1iZXJGcm9tKCJzdGF0aWMgdm9pZCBmb28oKSIpOwotICAgICAgICBh
c3NlcnRfZmFsc2UobS5pc190b19qc29uX3JlZ3VsYXJfb3BlcmF0aW9uKCkpOwotICAgIH0sICdz
aG91bGQgcmV0dXJuIGZhbHNlIHdoZW4gbWVtYmVyIGlzIGEgc3RhdGljIG9wZXJhdGlvbi4nKTsK
LQotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBtID0gbWVtYmVyRnJvbSgic3Rh
dGljIG9iamVjdCB0b0pTT04oKSIpOwotICAgICAgICBhc3NlcnRfZmFsc2UobS5pc190b19qc29u
X3JlZ3VsYXJfb3BlcmF0aW9uKCkpOwotICAgIH0sICdzaG91bGQgcmV0dXJuIGZhbHNlIHdoZW4g
bWVtYmVyIGlzIGEgc3RhdGljIHRvSlNPTiBvcGVyYXRpb24uJyk7Ci0KLSAgICB0ZXN0KGZ1bmN0
aW9uKCkgewotICAgICAgICB2YXIgbSA9IG1lbWJlckZyb20oIm9iamVjdCB0b0pTT04oKSIpOwot
ICAgICAgICBhc3NlcnRfdHJ1ZShtLmlzX3RvX2pzb25fcmVndWxhcl9vcGVyYXRpb24oKSk7Ci0g
ICAgfSwgJ3Nob3VsZCByZXR1cm4gdHJ1ZSB3aGVuIG1lbWJlciBpcyBhIHJlZ3VsYXIgdG9KU09O
IG9wZXJhdGlvbi4nKTsKLQotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBtID0g
bWVtYmVyRnJvbSgiW0Zvb10gb2JqZWN0IHRvSlNPTigpIik7Ci0gICAgICAgIGFzc2VydF90cnVl
KG0uaXNfdG9fanNvbl9yZWd1bGFyX29wZXJhdGlvbigpKTsKLSAgICB9LCAnc2hvdWxkIHJldHVy
biB0cnVlIHdoZW4gbWVtYmVyIGlzIGEgcmVndWxhciB0b0pTT04gb3BlcmF0aW9uIHdpdGggZXh0
ZW5zaWJsZSBhdHRyaWJ1dGVzLicpOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+Ci0KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3Rlc3QvdGVzdHMvaWRsaGFybmVzcy9JZGxJbnRlcmZhY2VNZW1iZXIvdzNjLWltcG9y
dC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy90ZXN0L3Rlc3RzL2lkbGhhcm5lc3MvSWRsSW50ZXJmYWNlTWVtYmVyL3czYy1pbXBvcnQu
bG9nCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkNDczZGNlNzUwNy4uMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvdGVzdC90ZXN0cy9pZGxoYXJuZXNzL0lkbEludGVyZmFjZU1lbWJlci93M2MtaW1wb3J0
LmxvZworKysgL2Rldi9udWxsCkBAIC0xLDE3ICswLDAgQEAKLVRoZSB0ZXN0cyBpbiB0aGlzIGRp
cmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgotRG8gTk9UIG1v
ZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBw
dWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMKLQotVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXcz
Yy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKLQotRG8gTk9UIG1vZGlmeSBvciByZW1vdmUg
dGhpcyBmaWxlLgotCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLVByb3BlcnRpZXMgcmVxdWlyaW5nIHZlbmRv
ciBwcmVmaXhlczoKLU5vbmUKLVByb3BlcnR5IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9yIHByZWZp
eGVzOgotTm9uZQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1MaXN0IG9mIGZpbGVzOgotL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRs
aGFybmVzcy9JZGxJbnRlcmZhY2VNZW1iZXIvaXNfdG9fanNvbl9yZWd1bGFyX29wZXJhdGlvbi5o
dG1sCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2lkbGhhcm5lc3MvT1dORVJTIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9pZGxo
YXJuZXNzL09XTkVSUwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzdlODA5NTAxN2Mu
LjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRsaGFybmVzcy9PV05FUlMKKysrIC9kZXYvbnVs
bApAQCAtMSArMCwwIEBACi1AdG9iaWUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRsaGFybmVzcy9i
YXNpYy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvdGVzdC90ZXN0cy9pZGxoYXJuZXNzL2Jhc2ljLmh0bWwKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IGRhM2MzZmFhYTFjLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2lk
bGhhcm5lc3MvYmFzaWMuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDM1ICswLDAgQEAKLTwhRE9D
VFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLTx0aXRsZT5pZGxoYXJuZXNzIGJhc2ljPC90aXRs
ZT4KLTwvaGVhZD4KLTxib2R5PgotPGRpdiBpZD0ibG9nIj48L2Rpdj4KLTxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL1dlYklETFBhcnNlci5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9p
ZGxoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci0gICAgInVzZSBzdHJpY3QiOwotICAg
IHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIGFzc2VydF90cnVlKCJJZGxBcnJheSIgaW4gd2lu
ZG93KTsKLSAgICB9LCAnSWRsQXJyYXkgY29uc3RydWN0b3Igc2hvdWxkIGJlIGEgZ2xvYmFsIG9i
amVjdCcpOwotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIGFzc2VydF90cnVlKG5ldyBJ
ZGxBcnJheSgpIGluc3RhbmNlb2YgSWRsQXJyYXkpOwotICAgIH0sICdJZGxBcnJheSBjb25zdHJ1
Y3RvciBzaG91bGQgYmUgY29uc3RydWN0aWJsZScpOwotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0g
ICAgICAgIGFzc2VydF90cnVlKCJXZWJJREwyIiBpbiB3aW5kb3cpOwotICAgIH0sICdXZWJJREwy
IG5hbWVzcGFjZSBzaG91bGQgYmUgYSBnbG9iYWwgb2JqZWN0Jyk7Ci0gICAgdGVzdChmdW5jdGlv
bigpIHsKLSAgICAgICAgYXNzZXJ0X2VxdWFscyh0eXBlb2YgV2ViSURMMi5wYXJzZSwgImZ1bmN0
aW9uIik7Ci0gICAgfSwgJ1dlYklETDIgbmFtZXNwYWNlIHNob3VsZCBoYXZlIGEgcGFyc2UgbWV0
aG9kJyk7Ci0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgYXNzZXJ0X3Rocm93cyhuZXcg
VHlwZUVycm9yKCksIGZ1bmN0aW9uKCkgeyAgV2ViSURMMi5wYXJzZSgiSSdtIGEgc3ludGF4IGVy
cm9yIik7IH0pOwotICAgIH0sICdXZWJJREwyIHBhcnNlIG1ldGhvZCBzaG91bGQgYmFpbCBvbiBp
bmNvcnJlY3QgV2ViSURMJyk7Ci0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgYXNzZXJ0
X2VxdWFscyh0eXBlb2YgV2ViSURMMi5wYXJzZSgiaW50ZXJmYWNlIEZvbyB7fTsiKSwgIm9iamVj
dCIpOwotICAgIH0sICdXZWJJREwyIHBhcnNlIG1ldGhvZCBzaG91bGQgcHJvZHVjZSBhbiBBU1Qg
Zm9yIGNvcnJlY3QgV2ViSURMJyk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KLQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvdGVzdC90ZXN0cy9pZGxoYXJuZXNzL2hlbHBlci5qcyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRsaGFybmVz
cy9oZWxwZXIuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDJiNzM1MjdmZjJiLi4w
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2lkbGhhcm5lc3MvaGVscGVyLmpzCisrKyAvZGV2L251
bGwKQEAgLTEsMjQgKzAsMCBAQAotInVzZSBzdHJpY3QiOwotCi12YXIgdHlwZWRlZkZyb20gPSBp
bnRlcmZhY2VGcm9tOwotdmFyIGRpY3Rpb25hcnlGcm9tID0gaW50ZXJmYWNlRnJvbTsKLWZ1bmN0
aW9uIGludGVyZmFjZUZyb20oaSkgewotICAgIHZhciBpZGwgPSBuZXcgSWRsQXJyYXkoKTsKLSAg
ICBpZGwuYWRkX2lkbHMoaSk7Ci0gICAgZm9yICh2YXIgcHJvcCBpbiBpZGwubWVtYmVycykgewot
ICAgICAgICByZXR1cm4gaWRsLm1lbWJlcnNbcHJvcF07Ci0gICAgfQotfQotCi1mdW5jdGlvbiBt
ZW1iZXJGcm9tKG0pIHsKLSAgICB2YXIgaWRsID0gbmV3IElkbEFycmF5KCk7Ci0gICAgaWRsLmFk
ZF9pZGxzKCdpbnRlcmZhY2UgQSB7ICcgKyBtICsgJzsgfTsnKTsKLSAgICByZXR1cm4gaWRsLm1l
bWJlcnNbIkEiXS5tZW1iZXJzWzBdOwotfQotCi1mdW5jdGlvbiB0eXBlRnJvbSh0eXBlKSB7Ci0g
ICAgdmFyIGFzdCA9IFdlYklETDIucGFyc2UoJ2ludGVyZmFjZSBGb28geyAnICsgdHlwZSArICcg
YSgpOyB9OycpOwotICAgIGFzdCA9IGFzdFswXTsgLy8gZ2V0IHRoZSBmaXJzdCBmcmFnbWVudAot
ICAgIGFzdCA9IGFzdC5tZW1iZXJzWzBdOyAvLyBnZXQgdGhlIGZpcnN0IG1lbWJlcgotICAgIHJl
dHVybiBhc3QuaWRsVHlwZTsgLy8gZ2V0IHRoZSB0eXBlIG9mIHRoZSBmaXJzdCBmaWVsZAotfQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvdGVzdC90ZXN0cy9pZGxoYXJuZXNzL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9p
ZGxoYXJuZXNzL3czYy1pbXBvcnQubG9nCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBj
N2Y3MzA1ZWJlZi4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9pZGxoYXJuZXNzL3czYy1pbXBv
cnQubG9nCisrKyAvZGV2L251bGwKQEAgLTEsMTkgKzAsMCBAQAotVGhlIHRlc3RzIGluIHRoaXMg
ZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCi1EbyBOT1Qg
bW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQsIGNyZWF0ZSBh
IHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20vdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cwotCi1UaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQt
dzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydAotCi1EbyBOT1QgbW9kaWZ5IG9yIHJlbW92
ZSB0aGlzIGZpbGUuCi0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotUHJvcGVydGllcyByZXF1aXJpbmcgdmVu
ZG9yIHByZWZpeGVzOgotTm9uZQotUHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJl
Zml4ZXM6Ci1Ob25lCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLUxpc3Qgb2YgZmlsZXM6Ci0vTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9p
ZGxoYXJuZXNzL09XTkVSUwotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRsaGFybmVzcy9iYXNpYy5odG1sCi0vTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0
cy9pZGxoYXJuZXNzL2hlbHBlci5qcwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9pZnJhbWUtY2FsbGJh
Y2suaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3Rlc3QvdGVzdHMvaWZyYW1lLWNhbGxiYWNrLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDFhOGIyY2JjMDBmLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2lmcmFt
ZS1jYWxsYmFjay5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTE4ICswLDAgQEAKLTwhRE9DVFlQ
RSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLTx0aXRsZT5FeGFtcGxlIHdpdGggaWZyYW1lIHRoYXQg
bm90aWZpZXMgY29udGFpbmluZyBkb2N1bWVudCB2aWEgY2FsbGJhY2tzPC90aXRsZT4KLTxzY3Jp
cHQgc3JjPSIuLi8uLi90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4v
Li4vdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgb25sb2Fk
PSJzdGFydF90ZXN0X2luX2lmcmFtZSgpIj4KLTxoMT5DYWxsYmFja3MgRnJvbSBUZXN0cyBSdW5u
aW5nIEluIEFuIElGUkFNRTwvaDE+Ci08cD5BIHRlc3QgaXMgcnVuIGluc2lkZSBhbiA8dHQ+aWZy
YW1lPC90dD4gd2l0aCBhIHNhbWUgb3JpZ2luIGRvY3VtZW50LiBUaGUKLWNvbnRhaW5pbmcgZG9j
dW1lbnQgc2hvdWxkIHJlY2VpdmUgY2FsbGJhY2tzIGFzIHRoZSB0ZXN0cyBwcm9ncmVzcyBpbnNp
ZGUgdGhlCi08dHQ+aWZyYW1lPC90dD4uIEEgc2luZ2xlIHBhc3NpbmcgdGVzdCBpcyBleHBlY3Rl
ZCBpbiB0aGUgc3VtbWFyeSBiZWxvdy4KLTxkaXYgaWQ9ImxvZyI+PC9kaXY+Ci0KLTxzY3JpcHQ+
Ci12YXIgY2FsbGJhY2tzID0gW107Ci12YXIgU1RBUlQgPSAxCi12YXIgVEVTVF9TVEFURSA9IDIK
LXZhciBSRVNVTFQgPSAzCi12YXIgQ09NUExFVElPTiA9IDQKLXZhciB0ZXN0X2NvbXBsZXRlID0g
ZmFsc2U7Ci0KLXNldHVwKHtleHBsaWNpdF9kb25lOiB0cnVlfSk7Ci0KLS8vIFRoZSBmb2xsb3dp
bmcgY2FsbGJhY2tzIGFyZSBjYWxsZWQgZm9yIHRlc3RzIGluIHRoaXMgZG9jdW1lbnQgYXMgd2Vs
bCBhcyB0aGUKLS8vIHRlc3RzIGluIHRoZSBJRlJBTUUuIEN1cnJlbnRseSwgY2FsbGJhY2tzIGlu
dm9rZWQgZnJvbSB0aGlzIGRvY3VtZW50IGFuZCBhbnkKLS8vIGNoaWxkIGRvY3VtZW50IGFyZSBp
bmRpc3Rpbmd1aXNoYWJsZSBmcm9tIGVhY2ggb3RoZXIuCi0KLWZ1bmN0aW9uIHN0YXJ0X2NhbGxi
YWNrKHByb3BlcnRpZXMpIHsKLSAgICBjYWxsYmFja3MucHVzaChTVEFSVCk7Ci19Ci0KLWZ1bmN0
aW9uIHRlc3Rfc3RhdGVfY2FsbGJhY2sodGVzdCkgewotICAgIGNhbGxiYWNrcy5wdXNoKFRFU1Rf
U1RBVEUpOwotfQotCi1mdW5jdGlvbiByZXN1bHRfY2FsbGJhY2sodGVzdCkgewotICAgIGNhbGxi
YWNrcy5wdXNoKFJFU1VMVCk7Ci19Ci0KLWZ1bmN0aW9uIGNvbXBsZXRpb25fY2FsbGJhY2sodGVz
dHMsIHN0YXR1cykgewotICAgIGlmICh0ZXN0X2NvbXBsZXRlKSB7Ci0gICAgICAgIHJldHVybjsK
LSAgICB9Ci0gICAgdGVzdF9jb21wbGV0ZSA9IHRydWU7Ci0gICAgY2FsbGJhY2tzLnB1c2goQ09N
UExFVElPTik7Ci0gICAgdmVyaWZ5X3JlY2VpdmVkX2NhbGxiYWNrcygpOwotICAgIGRvbmUoKTsK
LX0KLQotZnVuY3Rpb24gdmVyaWZ5X3JlY2VpdmVkX2NhbGxiYWNrcygpIHsKLSAgICB2YXIgY29w
eV9vZl9jYWxsYmFja3MgPSBjYWxsYmFja3Muc2xpY2UoMCk7Ci0KLSAgICAvLyBOb3RlIHRoYXQg
eW91IGNhbid0IHJ1biB0ZXN0IGFzc2VydGlvbnMgZGlyZWN0bHkgaW4gYSBjYWxsYmFjayBldmVu
IGlmCi0gICAgLy8gdGhpcyBpcyBhIGZpbGUgdGVzdC4gV2hlbiB0aGUgY2FsbGJhY2sgaXMgaW52
b2tlZCBmcm9tIGEgc2FtZS1vcmlnaW4gY2hpbGQKLSAgICAvLyBwYWdlLCB0aGUgY2FsbHN0YWNr
IHJlYWNoZXMgaW50byB0aGUgY2FsbGluZyBjaGlsZCBkb2N1bWVudC4gQW55Ci0gICAgLy8gZXhj
ZXB0aW9uIHRocm93biBpbiBhIGNhbGxiYWNrIHdpbGwgYmUgaGFuZGxlZCBieSB0aGUgY2hpbGQg
cmF0aGVyIHRoYW4KLSAgICAvLyB0aGlzIGRvY3VtZW50LgotICAgIHRlc3QoCi0gICAgICAgIGZ1
bmN0aW9uKCkgewotICAgICAgICAgICAgLy8gY2FsbGJhY2tzIGxpc3Qgc2hvdWxkIGxvb2sgbGlr
ZToKLSAgICAgICAgICAgIC8vICAgICBTVEFSVCAxKihURVNUX1NUQVRFKSBSRVNVTFQgQ09NUExF
VElPTgotICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhjb3B5X29mX2NhbGxiYWNrcy5zaGlmdCgp
LCBTVEFSVCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIlRoZSBmaXJzdCByZWNlaXZlZCBj
YWxsYmFjayBzaG91bGQgYmUgJ3N0YXJ0X2NhbGxiYWNrJy4iKTsKLSAgICAgICAgICAgIGFzc2Vy
dF9lcXVhbHMoY29weV9vZl9jYWxsYmFja3Muc2hpZnQoKSwgVEVTVF9TVEFURSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgIid0ZXN0X3N0YXRlX2NhbGxiYWNrJyBzaG91bGQgYmUgcmVjZWl2
ZWQgYmVmb3JlIGFueSAiICsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgInJlc3VsdCBvciBj
b21wbGV0aW9uIGNhbGxiYWNrcy4iKTsKLSAgICAgICAgICAgIHdoaWxlKGNvcHlfb2ZfY2FsbGJh
Y2tzLmxlbmd0aCA+IDApIHsKLSAgICAgICAgICAgICAgICB2YXIgY2FsbGJhY2sgPSBjb3B5X29m
X2NhbGxiYWNrcy5zaGlmdCgpOwotICAgICAgICAgICAgICAgIGlmIChjYWxsYmFjayAhPSBURVNU
X1NUQVRFKSB7Ci0gICAgICAgICAgICAgICAgICAgIGNvcHlfb2ZfY2FsbGJhY2tzLnVuc2hpZnQo
Y2FsbGJhY2spOwotICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgICAgICB9
Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBhc3NlcnRfZXF1YWxzKGNvcHlfb2ZfY2FsbGJh
Y2tzLnNoaWZ0KCksIFJFU1VMVCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIid0ZXN0X3N0
YXRlX2NhbGxiYWNrJyBzaG91bGQgYmUgZm9sbG93ZWQgYnkgJ3Jlc3VsdF9jYWxsYmFjaycuIik7
Ci0gICAgICAgICAgICBhc3NlcnRfZXF1YWxzKGNvcHlfb2ZfY2FsbGJhY2tzLnNoaWZ0KCksIENP
TVBMRVRJT04sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICJGaW5hbCAncmVzdWx0X2NhbGxi
YWNrJyBzaG91bGQgYmUgZm9sbG93ZWQgYnkgJ2NvbXBsZXRpb25fY2FsbGJhY2snLiIpOwotICAg
ICAgICAgICAgYXNzZXJ0X2VxdWFscyhjb3B5X29mX2NhbGxiYWNrcy5sZW5ndGgsIDAsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICInY29tcGxldGlvbl9jYWxsYmFjaycgc2hvdWxkIGJlIHRo
ZSBsYXN0IGNhbGxiYWNrLiIpOwotICAgICAgICB9KTsKLX0KLQotZnVuY3Rpb24gc3RhcnRfdGVz
dF9pbl9pZnJhbWUoKSB7Ci0gICAgLy8gVGhpcyBkb2N1bWVudCBpcyBnb2luZyB0byBjbGVhciBh
bnkgcmVjZWl2ZWQgY2FsbGJhY2tzIGFuZCBtYWludGFpbgotICAgIC8vIHJhZGlvIHNpbGVuY2Ug
dW50aWwgdGhlIHRlc3QgaW4gdGhlIGlmcmFtZSBydW5zIHRvIGNvbXBsZXRpb24uIFRoZQotICAg
IC8vIGNvbXBsZXRpb25fY2FsbGJhY2soKSB3aWxsIHRoZW4gY29tcGxldGUgdGhlIHRlc3Rpbmcg
b24gdGhpcyBkb2N1bWVudC4KLSAgICBjYWxsYmFja3MubGVuZ3RoID0gMDsKLSAgICB2YXIgaWZy
YW1lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7Ci0gICAgLy8gc2luZ2xlLXBh
Z2UtdGVzdC1wYXNzLmh0bWwgaGFzIGEgc2luZ2xlIHRlc3QuCi0gICAgaWZyYW1lLnNyYyA9ICJz
aW5nbGUtcGFnZS10ZXN0LXBhc3MuaHRtbCI7Ci0gICAgaWZyYW1lLnN0eWxlLnNldFByb3BlcnR5
KCJkaXNwbGF5IiwgIm5vbmUiKTsKLSAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGFyZ2V0
IikuYXBwZW5kQ2hpbGQoaWZyYW1lKTsKLX0KLTwvc2NyaXB0PgotCi08ZGl2IGlkPSJ0YXJnZXQi
PgotPC9kaXY+Ci08c2NyaXB0IHR5cGU9InRleHQvanNvbiIgaWQ9ImV4cGVjdGVkIj4KLXsKLSAg
InN1bW1hcml6ZWRfc3RhdHVzIjogewotICAgICJzdGF0dXNfc3RyaW5nIjogIk9LIiwKLSAgICAi
bWVzc2FnZSI6IG51bGwsCi0gICAgInN0YWNrIjogbnVsbAotICB9LAotICAic3VtbWFyaXplZF90
ZXN0cyI6IFsKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJu
YW1lIjogIkV4YW1wbGUgd2l0aCBpZnJhbWUgdGhhdCBub3RpZmllcyBjb250YWluaW5nIGRvY3Vt
ZW50IHZpYSBjYWxsYmFja3MiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNz
YWdlIjogbnVsbCwKLSAgICAgICJzdGFjayI6IG51bGwKLSAgICB9Ci0gIF0sCi0gICJ0eXBlIjog
ImNvbXBsZXRlIgotfQotPC9zY3JpcHQ+Ci08L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2lm
cmFtZS1jb25zb2xpZGF0ZS1lcnJvcnMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWZyYW1lLWNvbnNvbGlkYXRl
LWVycm9ycy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmZDIwZDRmNzFmNS4u
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9pZnJhbWUtY29uc29saWRhdGUtZXJyb3JzLmh0bWwK
KysrIC9kZXYvbnVsbApAQCAtMSw0NiArMCwwIEBACi08IURPQ1RZUEUgSFRNTD4KLTxodG1sPgot
PGhlYWQ+Ci08dGl0bGU+RXhhbXBsZSB3aXRoIGlmcmFtZSB0aGF0IGNvbnNvbGlkYXRlcyBlcnJv
cnMgdmlhIGZldGNoX3Rlc3RzX2Zyb21fd2luZG93PC90aXRsZT4KLTxzY3JpcHQgc3JjPSIuLi8u
Li90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLXZhciBwYXJlbnRfdGVzdCA9IGFzeW5j
X3Rlc3QoIlRlc3QgZXhlY3V0aW5nIGluIHBhcmVudCBjb250ZXh0Iik7Ci08L3NjcmlwdD4KLTwv
aGVhZD4KLTxib2R5IG9ubG9hZD0icGFyZW50X3Rlc3QuZG9uZSgpIj4KLTxoMT5GZXRjaGluZyBU
ZXN0cyBGcm9tIGEgQ2hpbGQgQ29udGV4dDwvaDE+Ci08cD5UaGlzIHRlc3QgZGVtb25zdHJhdGVz
IHRoZSB1c2Ugb2YgPHR0PmZldGNoX3Rlc3RzX2Zyb21fd2luZG93PC90dD4gdG8gcHVsbAotdGVz
dHMgZnJvbSBhbiA8dHQ+aWZyYW1lPC90dD4gaW50byB0aGUgcHJpbWFyeSBkb2N1bWVudC48L3A+
Ci08cD5UaGUgdGVzdCBzdWl0ZSBpcyBleHBlY3RlZCB0byBmYWlsIGR1ZSB0byBhbiB1bmhhbmRs
ZWQgZXhjZXB0aW9uIGluIHRoZQotY2hpbGQgY29udGV4dC48L3A+Ci08ZGl2IGlkPSJsb2ciPjwv
ZGl2PgotCi08aWZyYW1lIGlkPSJjaGlsZENvbnRleHQiIHNyYz0idW5jYXVnaHQtZXhjZXB0aW9u
LWhhbmRsZS5odG1sIiBzdHlsZT0iZGlzcGxheTpub25lIj48L2lmcmFtZT4KLTwhLS0gYXBpc2Ft
cGxlNC5odG1sIGlzIGEgZmFpbGluZyBzdWl0ZSBkdWUgdG8gYW4gdW5oYW5kbGVkIEVycm9yLiAt
LT4KLQotPHNjcmlwdD4KLQl2YXIgY2hpbGRDb250ZXh0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNoaWxkQ29udGV4dCIpOwotCWZldGNoX3Rlc3RzX2Zyb21fd2luZG93KGNoaWxkQ29udGV4
dC5jb250ZW50V2luZG93KTsKLTwvc2NyaXB0PgotPHNjcmlwdCB0eXBlPSJ0ZXh0L2pzb24iIGlk
PSJleHBlY3RlZCI+Ci17Ci0gICJzdW1tYXJpemVkX3N0YXR1cyI6IHsKLSAgICAic3RhdHVzX3N0
cmluZyI6ICJFUlJPUiIsCi0gICAgIm1lc3NhZ2UiOiAiRXJyb3IgaW4gcmVtb3RlOiBFcnJvcjog
RXhhbXBsZSBFcnJvciIsCi0gICAgInN0YWNrIjogbnVsbAotICB9LAotICAic3VtbWFyaXplZF90
ZXN0cyI6IFsKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJu
YW1lIjogIlRlc3QgZXhlY3V0aW5nIGluIHBhcmVudCBjb250ZXh0IiwKLSAgICAgICJwcm9wZXJ0
aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAic3RhY2siOiBudWxsCi0g
ICAgfQotICBdLAotICAidHlwZSI6ICJjb21wbGV0ZSIKLX0KLTwvc2NyaXB0PgotPC9ib2R5Pgot
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9pZnJhbWUtY29uc29saWRhdGUtdGVzdHMuaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3Rlc3QvdGVzdHMvaWZyYW1lLWNvbnNvbGlkYXRlLXRlc3RzLmh0bWwKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDkwYzVmOGVjZTlmLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2lm
cmFtZS1jb25zb2xpZGF0ZS10ZXN0cy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsOTUgKzAsMCBA
QAotPCFET0NUWVBFIEhUTUw+Ci08aHRtbD4KLTxoZWFkPgotPHRpdGxlPkV4YW1wbGUgd2l0aCBp
ZnJhbWUgdGhhdCBjb25zb2xpZGF0ZXMgdGVzdHMgdmlhIGZldGNoX3Rlc3RzX2Zyb21fd2luZG93
PC90aXRsZT4KLTxzY3JpcHQgc3JjPSIuLi8uLi90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0iLi4vLi4vdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlw
dD4KLXZhciBwYXJlbnRfdGVzdCA9IGFzeW5jX3Rlc3QoIlRlc3QgZXhlY3V0aW5nIGluIHBhcmVu
dCBjb250ZXh0Iik7Ci08L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0icGFyZW50X3Rl
c3QuZG9uZSgpIj4KLTxoMT5GZXRjaGluZyBUZXN0cyBGcm9tIGEgQ2hpbGQgQ29udGV4dDwvaDE+
Ci08cD5UaGlzIHRlc3QgZGVtb25zdHJhdGVzIHRoZSB1c2Ugb2YgPHR0PmZldGNoX3Rlc3RzX2Zy
b21fd2luZG93PC90dD4gdG8gcHVsbAotdGVzdHMgZnJvbSBhbiA8dHQ+aWZyYW1lPC90dD4gaW50
byB0aGUgcHJpbWFyeSBkb2N1bWVudC48L3A+Ci08cD5UaGUgdGVzdCBzdWl0ZSB3aWxsIG5vdCBj
b21wbGV0ZSB1bnRpbCB0ZXN0cyBpbiB0aGUgY2hpbGQgY29udGV4dCBoYXZlIGZpbmlzaGVkCi1l
eGVjdXRpbmc8L3A+Ci08ZGl2IGlkPSJsb2ciPjwvZGl2PgotCi08aWZyYW1lIGlkPSJjaGlsZENv
bnRleHQiIHNyYz0icHJvbWlzZS1hc3luYy5odG1sIiBzdHlsZT0iZGlzcGxheTpub25lIj48L2lm
cmFtZT4KLTwhLS0gcHJvbWlzZS1hc3luYy5odG1sIGhhcyBhc3luYyB0ZXN0cyB3aXRoIHByb21p
c2VzIC0tPgotCi08c2NyaXB0PgotCXZhciBjaGlsZENvbnRleHQgPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY2hpbGRDb250ZXh0Iik7Ci0JZmV0Y2hfdGVzdHNfZnJvbV93aW5kb3coY2hpbGRD
b250ZXh0LmNvbnRlbnRXaW5kb3cpOwotPC9zY3JpcHQ+Ci08c2NyaXB0IHR5cGU9InRleHQvanNv
biIgaWQ9ImV4cGVjdGVkIj4KLXsKLSAgInN1bW1hcml6ZWRfc3RhdHVzIjogewotICAgICJzdGF0
dXNfc3RyaW5nIjogIk9LIiwKLSAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgInN0YWNrIjogbnVs
bAotICB9LAotICAic3VtbWFyaXplZF90ZXN0cyI6IFsKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0
cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1lIjogIlByb21pc2UgcmVqZWN0aW9uIiwKLSAgICAg
ICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAic3RhY2si
OiBudWxsCi0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAg
ICAgICJuYW1lIjogIlByb21pc2UgcmVzb2x1dGlvbiIsCi0gICAgICAicHJvcGVydGllcyI6IHt9
LAotICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgInN0YWNrIjogbnVsbAotICAgIH0sCi0g
ICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiRkFJTCIsCi0gICAgICAibmFtZSI6ICJQcm9t
aXNlcyBhbmQgdGVzdCBhc3NlcnRpb24gZmFpbHVyZXMgKHNob3VsZCBmYWlsKSIsCi0gICAgICAi
cHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiAiYXNzZXJ0X3RydWU6IFRoaXMgZmFp
bHVyZSBpcyBleHBlY3RlZCBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZSIsCi0gICAgICAic3RhY2si
OiAiKGltcGxlbWVudGF0aW9uLWRlZmluZWQpIgotICAgIH0sCi0gICAgewotICAgICAgInN0YXR1
c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJQcm9taXNlcyBhcmUgc3VwcG9ydGVk
IGluIHlvdXIgYnJvd3NlciIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3Nh
Z2UiOiBudWxsLAotICAgICAgInN0YWNrIjogbnVsbAotICAgIH0sCi0gICAgewotICAgICAgInN0
YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJQcm9taXNlcyByZXNvbHV0aW9u
IGNoYWluaW5nIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6IG51
bGwsCi0gICAgICAic3RhY2siOiBudWxsCi0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0
cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1lIjogIlRlc3QgZXhlY3V0aW5nIGluIHBhcmVudCBj
b250ZXh0IiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6IG51bGws
Ci0gICAgICAic3RhY2siOiBudWxsCi0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmlu
ZyI6ICJQQVNTIiwKLSAgICAgICJuYW1lIjogIlVzZSBvZiBzdGVwX2Z1bmMgd2l0aCBQcm9taXNl
cyIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAg
ICAgInN0YWNrIjogbnVsbAotICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAi
RkFJTCIsCi0gICAgICAibmFtZSI6ICJVc2Ugb2YgdW5yZWFjaGVkX2Z1bmMgd2l0aCBQcm9taXNl
cyAoc2hvdWxkIGZhaWwpIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2Fn
ZSI6ICJhc3NlcnRfdW5yZWFjaGVkOiBUaGlzIGZhaWx1cmUgaXMgZXhwZWN0ZWQgUmVhY2hlZCB1
bnJlYWNoYWJsZSBjb2RlIiwKLSAgICAgICJzdGFjayI6ICIoaW1wbGVtZW50YXRpb24tZGVmaW5l
ZCkiCi0gICAgfQotICBdLAotICAidHlwZSI6ICJjb21wbGV0ZSIKLX0KLTwvc2NyaXB0PgotPC9i
b2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9pZnJhbWUtbXNnLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rl
c3RzL2lmcmFtZS1tc2cuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTNhM2Zm
ZjkyNGYuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWZyYW1lLW1zZy5odG1sCisrKyAvZGV2
L251bGwKQEAgLTEsODYgKzAsMCBAQAotPCFET0NUWVBFIEhUTUw+Ci08aHRtbD4KLTxoZWFkPgot
PHRpdGxlPkV4YW1wbGUgd2l0aCBpZnJhbWUgdGhhdCBub3RpZmllcyBjb250YWluaW5nIGRvY3Vt
ZW50IHZpYSBjcm9zcyBkb2N1bWVudCBtZXNzYWdpbmc8L3RpdGxlPgotPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxoMT5Ob3RpZmljYXRp
b25zIEZyb20gVGVzdHMgUnVubmluZyBJbiBBbiBJRlJBTUU8L2gxPgotPHA+QSB0ZXN0IGlzIHJ1
biBpbnNpZGUgYW4gPHR0PmlmcmFtZTwvdHQ+IHdpdGggYSBzYW1lIG9yaWdpbiBkb2N1bWVudC4g
VGhlCi1jb250YWluaW5nIGRvY3VtZW50IHNob3VsZCByZWNlaXZlIG1lc3NhZ2VzIHZpYSA8dHQ+
cG9zdE1lc3NhZ2U8L3R0Pi8KLTx0dD5vbm1lc3NhZ2U8L3R0PiBhcyB0aGUgdGVzdHMgcHJvZ3Jl
c3MgaW5zaWRlIHRoZSA8dHQ+aWZyYW1lPC90dD4uIEEgc2luZ2xlCi1wYXNzaW5nIHRlc3QgaXMg
ZXhwZWN0ZWQgaW4gdGhlIHN1bW1hcnkgYmVsb3cuCi08L3A+Ci08ZGl2IGlkPSJsb2ciPjwvZGl2
PgotCi08c2NyaXB0PgotdmFyIHQgPSBhc3luY190ZXN0KCJDb250YWluaW5nIGRvY3VtZW50IHJl
Y2VpdmVzIG1lc3NhZ2VzIik7Ci12YXIgc3RhcnRfcmVjZWl2ZWQgPSBmYWxzZTsKLXZhciByZXN1
bHRfcmVjZWl2ZWQgPSBmYWxzZTsKLXZhciBjb21wbGV0aW9uX3JlY2VpdmVkID0gZmFsc2U7Ci0K
LS8vIFRoZXNlIGFyZSB0aGUgbWVzc2FnZXMgdGhhdCBhcmUgZXhwZWN0ZWQgdG8gYmUgc2VlbiB3
aGlsZSBydW5uaW5nIHRoZSB0ZXN0cwotLy8gaW4gdGhlIElGUkFNRS4KLXZhciBleHBlY3RlZF9t
ZXNzYWdlcyA9IFsKLSAgICB0LnN0ZXBfZnVuYygKLSAgICAgICAgZnVuY3Rpb24obWVzc2FnZSkg
ewotICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhtZXNzYWdlLmRhdGEudHlwZSwgInN0YXJ0Iik7
Ci0gICAgICAgICAgICBhc3NlcnRfb3duX3Byb3BlcnR5KG1lc3NhZ2UuZGF0YSwgInByb3BlcnRp
ZXMiKTsKLSAgICAgICAgfSksCi0KLSAgICB0LnN0ZXBfZnVuYygKLSAgICAgICAgZnVuY3Rpb24o
bWVzc2FnZSkgewotICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhtZXNzYWdlLmRhdGEudHlwZSwg
InRlc3Rfc3RhdGUiKTsKLSAgICAgICAgICAgIGFzc2VydF9lcXVhbHMobWVzc2FnZS5kYXRhLnRl
c3Quc3RhdHVzLCBtZXNzYWdlLmRhdGEudGVzdC5OT1RSVU4pOwotICAgICAgICB9KSwKLQotICAg
IHQuc3RlcF9mdW5jKAotICAgICAgICBmdW5jdGlvbihtZXNzYWdlKSB7Ci0gICAgICAgICAgICBh
c3NlcnRfZXF1YWxzKG1lc3NhZ2UuZGF0YS50eXBlLCAicmVzdWx0Iik7Ci0gICAgICAgICAgICBh
c3NlcnRfZXF1YWxzKG1lc3NhZ2UuZGF0YS50ZXN0LnN0YXR1cywgbWVzc2FnZS5kYXRhLnRlc3Qu
UEFTUyk7Ci0gICAgICAgIH0pLAotCi0gICAgdC5zdGVwX2Z1bmMoCi0gICAgICAgIGZ1bmN0aW9u
KG1lc3NhZ2UpIHsKLSAgICAgICAgICAgIGFzc2VydF9lcXVhbHMobWVzc2FnZS5kYXRhLnR5cGUs
ICJjb21wbGV0ZSIpOwotICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhtZXNzYWdlLmRhdGEudGVz
dHMubGVuZ3RoLCAxKTsKLSAgICAgICAgICAgIGFzc2VydF9lcXVhbHMobWVzc2FnZS5kYXRhLnRl
c3RzWzBdLnN0YXR1cywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZS5kYXRhLnRl
c3RzWzBdLlBBU1MpOwotICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhtZXNzYWdlLmRhdGEuc3Rh
dHVzLnN0YXR1cywgbWVzc2FnZS5kYXRhLnN0YXR1cy5PSyk7Ci0gICAgICAgICAgICB0LmRvbmUo
KTsKLSAgICAgICAgfSksCi0KLSAgICB0LnVucmVhY2hlZF9mdW5jKCJUb28gbWFueSBtZXNzYWdl
cyByZWNlaXZlZCIpCi1dOwotCi1vbl9ldmVudCh3aW5kb3csCi0gICAgICAgICAibWVzc2FnZSIs
Ci0gICAgICAgICBmdW5jdGlvbihtZXNzYWdlKSB7Ci0gICAgICAgICAgICAgdmFyIGhhbmRsZXIg
PSBleHBlY3RlZF9tZXNzYWdlcy5zaGlmdCgpOwotICAgICAgICAgICAgIGhhbmRsZXIobWVzc2Fn
ZSk7Ci0gICAgICAgICB9KTsKLTwvc2NyaXB0PgotPGlmcmFtZSBzcmM9InNpbmdsZS1wYWdlLXRl
c3QtcGFzcy5odG1sIiBzdHlsZT0iZGlzcGxheTpub25lIj4KLSAgPCEtLSBzaW5nbGUtcGFnZS10
ZXN0LXBhc3MuaHRtbCBpbXBsZW1lbnRzIGEgZmlsZV9pc190ZXN0IHRlc3QuIC0tPgotPC9pZnJh
bWU+Ci08c2NyaXB0IHR5cGU9InRleHQvanNvbiIgaWQ9ImV4cGVjdGVkIj4KLXsKLSAgInN1bW1h
cml6ZWRfc3RhdHVzIjogewotICAgICJzdGF0dXNfc3RyaW5nIjogIk9LIiwKLSAgICAibWVzc2Fn
ZSI6IG51bGwsCi0gICAgInN0YWNrIjogbnVsbAotICB9LAotICAic3VtbWFyaXplZF90ZXN0cyI6
IFsKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1lIjog
IkNvbnRhaW5pbmcgZG9jdW1lbnQgcmVjZWl2ZXMgbWVzc2FnZXMiLAotICAgICAgInByb3BlcnRp
ZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICJzdGFjayI6IG51bGwKLSAg
ICB9Ci0gIF0sCi0gICJ0eXBlIjogImNvbXBsZXRlIgotfQotPC9zY3JpcHQ+Ci08L2JvZHk+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy90ZXN0L3Rlc3RzL29yZGVyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL29yZGVyLmh0bWwKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQyMGViNmIxYWQwLi4wMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0
L3Rlc3RzL29yZGVyLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwzOSArMCwwIEBACi08IURPQ1RZ
UEUgSFRNTD4KLTxodG1sPgotPGhlYWQ+Ci08dGl0bGU+T3JkZXJpbmc8L3RpdGxlPgotPG1ldGEg
bmFtZT0idGltZW91dCIgY29udGVudD0iNjAwMCI+Ci08L2hlYWQ+Ci08Ym9keT4KLTxkaXYgaWQ9
ImxvZyI+PC9kaXY+Ci08c2NyaXB0IHNyYz0iLi4vLi4vdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQ+Ci10ZXN0KGZ1bmN0aW9uKCkge30sICdzZWNvbmQnKTsKLXRlc3QoZnVuY3Rpb24oKSB7
fSwgJ2ZpcnN0Jyk7Ci08L3NjcmlwdD4KLTxzY3JpcHQgdHlwZT0idGV4dC9qc29uIiBpZD0iZXhw
ZWN0ZWQiPgotewotICAic3VtbWFyaXplZF9zdGF0dXMiOiB7Ci0gICAgInN0YXR1c19zdHJpbmci
OiAiT0siLAotICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAic3RhY2siOiBudWxsCi0gIH0sCi0g
ICJzdW1tYXJpemVkX3Rlc3RzIjogW3sKLSAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAg
ICAibmFtZSI6ICJmaXJzdCIsCi0gICAgInN0YWNrIjogbnVsbCwKLSAgICAibWVzc2FnZSI6IG51
bGwsCi0gICAgInByb3BlcnRpZXMiOiB7fQotICB9LCB7Ci0gICAgInN0YXR1c19zdHJpbmciOiAi
UEFTUyIsCi0gICAgIm5hbWUiOiAic2Vjb25kIiwKLSAgICAic3RhY2siOiBudWxsLAotICAgICJt
ZXNzYWdlIjogbnVsbCwKLSAgICAicHJvcGVydGllcyI6IHt9Ci0gIH1dLAotICAidHlwZSI6ICJj
b21wbGV0ZSIKLX0KLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90
ZXN0cy9wcm9taXNlLWFzeW5jLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL3Byb21pc2UtYXN5bmMuaHRtbApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODhiNjk3MmE2MGEuLjAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rl
c3QvdGVzdHMvcHJvbWlzZS1hc3luYy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTgwICswLDAg
QEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLTx0aXRsZT5Bc3luYyBUZXN0cyBh
bmQgUHJvbWlzZXM8L3RpdGxlPgotPC9oZWFkPgotPGJvZHk+Ci08aDE+QXN5bmMgVGVzdHMgYW5k
IFByb21pc2VzPC9oMT4KLTxwPlRoaXMgdGVzdCBhc3N1bWVzIEVDTUFTY3JpcHQgNiBQcm9taXNl
IHN1cHBvcnQuIFNvbWUgZmFpbHVyZXMgYXJlIGV4cGVjdGVkLjwvcD4KLTxkaXYgaWQ9ImxvZyI+
PC9kaXY+Ci08c2NyaXB0IHNyYz0iLi4vLi4vdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii4uLy4uL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+
Ci0KLXRlc3QoZnVuY3Rpb24oKSB7Ci0gIHZhciBwID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVz
b2x2ZSwgcmVqZWN0KSB7fSk7Ci0gIGFzc2VydF90cnVlKCd0aGVuJyBpbiBwKTsKLSAgYXNzZXJ0
X2VxdWFscyh0eXBlb2YgUHJvbWlzZS5yZXNvbHZlLCAnZnVuY3Rpb24nKTsKLSAgYXNzZXJ0X2Vx
dWFscyh0eXBlb2YgUHJvbWlzZS5yZWplY3QsICdmdW5jdGlvbicpOwotfSwgIlByb21pc2VzIGFy
ZSBzdXBwb3J0ZWQgaW4geW91ciBicm93c2VyIik7Ci0KLShmdW5jdGlvbigpIHsKLSAgdmFyIHQg
PSBhc3luY190ZXN0KCJQcm9taXNlIHJlc29sdXRpb24iKTsKLSAgdC5zdGVwKGZ1bmN0aW9uKCkg
ewotICAgIFByb21pc2UucmVzb2x2ZSgneCcpLnRoZW4oCi0gICAgICB0LnN0ZXBfZnVuYyhmdW5j
dGlvbih2YWx1ZSkgewotICAgICAgICBhc3NlcnRfZXF1YWxzKHZhbHVlLCAneCcpOwotICAgICAg
ICB0LmRvbmUoKTsKLSAgICAgIH0pLAotICAgICAgdC51bnJlYWNoZWRfZnVuYygnUHJvbWlzZSBz
aG91bGQgbm90IHJlamVjdCcpCi0gICAgKTsKLSAgfSk7Ci19KCkpOwotCi0oZnVuY3Rpb24oKSB7
Ci0gIHZhciB0ID0gYXN5bmNfdGVzdCgiUHJvbWlzZSByZWplY3Rpb24iKTsKLSAgdC5zdGVwKGZ1
bmN0aW9uKCkgewotICAgIFByb21pc2UucmVqZWN0KEVycm9yKCdmYWlsJykpLnRoZW4oCi0gICAg
ICB0LnVucmVhY2hlZF9mdW5jKCdQcm9taXNlIHNob3VsZCByZWplY3QnKSwKLSAgICAgIHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewotICAgICAgICBhc3NlcnRfdHJ1ZShyZWFzb24gaW5z
dGFuY2VvZiBFcnJvcik7Ci0gICAgICAgIGFzc2VydF9lcXVhbHMocmVhc29uLm1lc3NhZ2UsICdm
YWlsJyk7Ci0gICAgICAgIHQuZG9uZSgpOwotICAgICAgfSkKLSAgICApOwotICB9KTsKLX0oKSk7
Ci0KLShmdW5jdGlvbigpIHsKLSAgdmFyIHQgPSBhc3luY190ZXN0KCJQcm9taXNlcyByZXNvbHV0
aW9uIGNoYWluaW5nIik7Ci0gIHQuc3RlcChmdW5jdGlvbigpIHsKLSAgICB2YXIgcmVzb2x1dGlv
bnMgPSBbXTsKLSAgICBQcm9taXNlLnJlc29sdmUoJ2EnKS50aGVuKAotICAgICAgdC5zdGVwX2Z1
bmMoZnVuY3Rpb24odmFsdWUpIHsKLSAgICAgICAgcmVzb2x1dGlvbnMucHVzaCh2YWx1ZSk7Ci0g
ICAgICAgIHJldHVybiAnYic7Ci0gICAgICB9KQotICAgICkudGhlbigKLSAgICAgIHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHZhbHVlKSB7Ci0gICAgICAgIHJlc29sdXRpb25zLnB1c2godmFsdWUpOwot
ICAgICAgICByZXR1cm4gJ2MnOwotICAgICAgfSkKLSAgICApLnRoZW4oCi0gICAgICB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbih2YWx1ZSkgewotICAgICAgICByZXNvbHV0aW9ucy5wdXNoKHZhbHVlKTsK
LQotICAgICAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKHJlc29sdXRpb25zLCBbJ2EnLCAnYicsICdj
J10pOwotICAgICAgICB0LmRvbmUoKTsKLSAgICAgIH0pCi0gICAgKS5jYXRjaCgKLSAgICAgIHQu
dW5yZWFjaGVkX2Z1bmMoJ3Byb21pc2Ugc2hvdWxkIG5vdCBoYXZlIHJlamVjdGVkJykKLSAgICAp
OwotICB9KTsKLX0oKSk7Ci0KLShmdW5jdGlvbigpIHsKLSAgdmFyIHQgPSBhc3luY190ZXN0KCJV
c2Ugb2Ygc3RlcF9mdW5jIHdpdGggUHJvbWlzZXMiKTsKLSAgdC5zdGVwKGZ1bmN0aW9uKCkgewot
ICAgIHZhciByZXNvbHV0aW9ucyA9IFtdOwotICAgIFByb21pc2UucmVzb2x2ZSgneCcpLnRoZW4o
Ci0gICAgICB0LnN0ZXBfZnVuY19kb25lKCksCi0gICAgICB0LnVucmVhY2hlZF9mdW5jKCdQcm9t
aXNlIHNob3VsZCBub3QgaGF2ZSByZWplY3RlZCcpCi0gICAgKTsKLSAgfSk7Ci19KCkpOwotCi0o
ZnVuY3Rpb24oKSB7Ci0gIHZhciB0ID0gYXN5bmNfdGVzdCgiUHJvbWlzZXMgYW5kIHRlc3QgYXNz
ZXJ0aW9uIGZhaWx1cmVzIChzaG91bGQgZmFpbCkiKTsKLSAgdC5zdGVwKGZ1bmN0aW9uKCkgewot
ICAgIHZhciByZXNvbHV0aW9ucyA9IFtdOwotICAgIFByb21pc2UucmVzb2x2ZSgneCcpLnRoZW4o
Ci0gICAgICB0LnN0ZXBfZnVuYyhmdW5jdGlvbih2YWx1ZSkgewotICAgICAgICBhc3NlcnRfdHJ1
ZShmYWxzZSwgJ1RoaXMgZmFpbHVyZSBpcyBleHBlY3RlZCcpOwotICAgICAgfSkKLSAgICApLnRo
ZW4oCi0gICAgICB0LnVucmVhY2hlZF9mdW5jKCdQcm9taXNlIHNob3VsZCBub3QgaGF2ZSByZXNv
bHZlZCcpCi0gICAgKS5jYXRjaCgKLSAgICAgIHQudW5yZWFjaGVkX2Z1bmMoJ1Byb21pc2Ugc2hv
dWxkIG5vdCBoYXZlIHJlamVjdGVkJykKLSAgICApOwotICB9KTsKLX0oKSk7Ci0KLShmdW5jdGlv
bigpIHsKLSAgdmFyIHQgPSBhc3luY190ZXN0KCJVc2Ugb2YgdW5yZWFjaGVkX2Z1bmMgd2l0aCBQ
cm9taXNlcyAoc2hvdWxkIGZhaWwpIik7Ci0gIHQuc3RlcChmdW5jdGlvbigpIHsKLSAgICB2YXIg
cmVzb2x1dGlvbnMgPSBbXTsKLSAgICB2YXIgcjsKLSAgICB2YXIgcCA9IG5ldyBQcm9taXNlKGZ1
bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewotICAgICAgLy8gUmVqZWN0IGluc3RlYWQgb2YgcmVz
b2x2ZSwgdG8gZGVtb25zdHJhdGUgZmFpbHVyZS4KLSAgICAgIHJlamVjdCgxMjMpOwotICAgIH0p
OwotICAgIHAudGhlbigKLSAgICAgIGZ1bmN0aW9uKHZhbHVlKSB7Ci0gICAgICAgIGFzc2VydF9l
cXVhbHModmFsdWUsIDEyMywgJ1RoaXMgc2hvdWxkIG5vdCBhY3R1YWxseSBoYXBwZW4nKTsKLSAg
ICAgIH0sCi0gICAgICB0LnVucmVhY2hlZF9mdW5jKCdUaGlzIGZhaWx1cmUgaXMgZXhwZWN0ZWQn
KQotICAgICk7Ci0gIH0pOwotfSgpKTsKLTwvc2NyaXB0PgotPHNjcmlwdCB0eXBlPSJ0ZXh0L2pz
b24iIGlkPSJleHBlY3RlZCI+Ci17Ci0gICJzdW1tYXJpemVkX3N0YXR1cyI6IHsKLSAgICAic3Rh
dHVzX3N0cmluZyI6ICJPSyIsCi0gICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICJzdGFjayI6IG51
bGwKLSAgfSwKLSAgInN1bW1hcml6ZWRfdGVzdHMiOiBbCi0gICAgewotICAgICAgInN0YXR1c19z
dHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJQcm9taXNlIHJlamVjdGlvbiIsCi0gICAg
ICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgInN0YWNr
IjogbnVsbAotICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0g
ICAgICAibmFtZSI6ICJQcm9taXNlIHJlc29sdXRpb24iLAotICAgICAgInByb3BlcnRpZXMiOiB7
fSwKLSAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICJzdGFjayI6IG51bGwKLSAgICB9LAot
ICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIkZBSUwiLAotICAgICAgIm5hbWUiOiAiUHJv
bWlzZXMgYW5kIHRlc3QgYXNzZXJ0aW9uIGZhaWx1cmVzIChzaG91bGQgZmFpbCkiLAotICAgICAg
InByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogImFzc2VydF90cnVlOiBUaGlzIGZh
aWx1cmUgaXMgZXhwZWN0ZWQgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UiLAotICAgICAgInN0YWNr
IjogIihpbXBsZW1lbnRhdGlvbi1kZWZpbmVkKSIKLSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0
dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUiOiAiUHJvbWlzZXMgYXJlIHN1cHBvcnRl
ZCBpbiB5b3VyIGJyb3dzZXIiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNz
YWdlIjogbnVsbCwKLSAgICAgICJzdGFjayI6IG51bGwKLSAgICB9LAotICAgIHsKLSAgICAgICJz
dGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUiOiAiUHJvbWlzZXMgcmVzb2x1dGlv
biBjaGFpbmluZyIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBu
dWxsLAotICAgICAgInN0YWNrIjogbnVsbAotICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19z
dHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJVc2Ugb2Ygc3RlcF9mdW5jIHdpdGggUHJv
bWlzZXMiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogbnVsbCwK
LSAgICAgICJzdGFjayI6IG51bGwKLSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5n
IjogIkZBSUwiLAotICAgICAgIm5hbWUiOiAiVXNlIG9mIHVucmVhY2hlZF9mdW5jIHdpdGggUHJv
bWlzZXMgKHNob3VsZCBmYWlsKSIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1l
c3NhZ2UiOiAiYXNzZXJ0X3VucmVhY2hlZDogVGhpcyBmYWlsdXJlIGlzIGV4cGVjdGVkIFJlYWNo
ZWQgdW5yZWFjaGFibGUgY29kZSIsCi0gICAgICAic3RhY2siOiAiKGltcGxlbWVudGF0aW9uLWRl
ZmluZWQpIgotICAgIH0KLSAgXSwKLSAgInR5cGUiOiAiY29tcGxldGUiCi19Ci08L3NjcmlwdD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3Rlc3QvdGVzdHMvcHJvbWlzZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9wcm9taXNlLmh0bWwK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDYxZWYxNWRlZDk4Li4wMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy90ZXN0L3Rlc3RzL3Byb21pc2UuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDIyMSArMCwwIEBA
Ci08IURPQ1RZUEUgSFRNTD4KLTxodG1sPgotPGhlYWQ+Ci08dGl0bGU+UHJvbWlzZSBUZXN0czwv
dGl0bGU+Ci08L2hlYWQ+Ci08Ym9keT4KLTxoMT5Qcm9taXNlIFRlc3RzPC9oMT4KLTxwPlRoaXMg
dGVzdCBkZW1vbnN0cmF0ZXMgdGhlIHVzZSBvZiA8dHQ+cHJvbWlzZV90ZXN0PC90dD4uIEFzc3Vt
ZXMgRUNNQVNjcmlwdCA2Ci1Qcm9taXNlIHN1cHBvcnQuIFNvbWUgZmFpbHVyZXMgYXJlIGV4cGVj
dGVkLjwvcD4KLTxkaXYgaWQ9ImxvZyI+PC9kaXY+Ci08c2NyaXB0IHNyYz0iLi4vLi4vdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci10ZXN0KAotICAgIGZ1bmN0aW9uKCkgewotICAgICAg
ICB2YXIgcCA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCl7fSk7Ci0gICAg
ICAgIGFzc2VydF90cnVlKCJ0aGVuIiBpbiBwKTsKLSAgICAgICAgYXNzZXJ0X2VxdWFscyh0eXBl
b2YgUHJvbWlzZS5yZXNvbHZlLCAiZnVuY3Rpb24iKTsKLSAgICAgICAgYXNzZXJ0X2VxdWFscyh0
eXBlb2YgUHJvbWlzZS5yZWplY3QsICJmdW5jdGlvbiIpOwotICAgIH0sCi0gICAgIlByb21pc2Vz
IGFyZSBzdXBwb3J0ZWQgaW4geW91ciBicm93c2VyIik7Ci0KLXByb21pc2VfdGVzdCgKLSAgICBm
dW5jdGlvbigpIHsKLSAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgieCIpCi0gICAgICAg
ICAgICAudGhlbigKLSAgICAgICAgICAgICAgICBmdW5jdGlvbih2YWx1ZSkgewotICAgICAgICAg
ICAgICAgICAgICBhc3NlcnRfZXF1YWxzKHZhbHVlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJ4IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiRnVsZmls
bGVkIHByb21pc2Ugc2hvdWxkIHBhc3MgcmVzdWx0IHRvICIgKwotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICJmdWxmaWxsIHJlYWN0aW9uLiIpOwotICAgICAgICAgICAgICAgIH0p
OwotICAgIH0sCi0gICAgIlByb21pc2UgZnVsZmlsbG1lbnQgd2l0aCByZXN1bHQiKTsKLQotcHJv
bWlzZV90ZXN0KAotICAgIGZ1bmN0aW9uKHQpIHsKLSAgICAgICAgcmV0dXJuIFByb21pc2UucmVq
ZWN0KG5ldyBFcnJvcigiZmFpbCIpKQotICAgICAgICAgICAgLnRoZW4odC51bnJlYWNoZWRfZnVu
YygiUHJvbWlzZSBzaG91bGQgcmVqZWN0IiksCi0gICAgICAgICAgICAgICAgZnVuY3Rpb24ocmVh
c29uKSB7Ci0gICAgICAgICAgICAgICAgICAgIGFzc2VydF90cnVlKAotICAgICAgICAgICAgICAg
ICAgICAgICAgcmVhc29uIGluc3RhbmNlb2YgRXJyb3IsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAiUmVqZWN0ZWQgcHJvbWlzZSBzaG91bGQgcGFzcyByZWFzb24gdG8gZnVsZmlsbCByZWFjdGlv
bi4iKTsKLSAgICAgICAgICAgICAgICAgICAgYXNzZXJ0X2VxdWFscygKLSAgICAgICAgICAgICAg
ICAgICAgICAgIHJlYXNvbi5tZXNzYWdlLAotICAgICAgICAgICAgICAgICAgICAgICAgImZhaWwi
LAotICAgICAgICAgICAgICAgICAgICAgICAgIlJlamVjdGVkIHByb21pc2Ugc2hvdWxkIHBhc3Mg
cmVhc29uIHRvIHJlamVjdCByZWFjdGlvbi4iKTsKLSAgICAgICAgICAgICAgICB9KTsKLSAgICB9
LAotICAgICJQcm9taXNlIHJlamVjdGlvbiB3aXRoIHJlc3VsdCIpOwotCi1wcm9taXNlX3Rlc3Qo
Ci0gICAgZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciByZXNvbHV0aW9ucyA9IFtdOwotICAgICAg
ICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCJhIikKLSAgICAgICAgICAgIC50aGVuKAotICAgICAg
ICAgICAgICAgIGZ1bmN0aW9uKHZhbHVlKSB7Ci0gICAgICAgICAgICAgICAgICAgIHJlc29sdXRp
b25zLnB1c2godmFsdWUpOwotICAgICAgICAgICAgICAgICAgICByZXR1cm4gImIiOwotICAgICAg
ICAgICAgICAgIH0pCi0gICAgICAgICAgICAudGhlbigKLSAgICAgICAgICAgICAgICBmdW5jdGlv
bih2YWx1ZSkgewotICAgICAgICAgICAgICAgICAgICByZXNvbHV0aW9ucy5wdXNoKHZhbHVlKTsK
LSAgICAgICAgICAgICAgICAgICAgcmV0dXJuICJjIjsKLSAgICAgICAgICAgICAgICB9KQotICAg
ICAgICAgICAgLnRoZW4oCi0gICAgICAgICAgICAgICAgZnVuY3Rpb24odmFsdWUpIHsKLSAgICAg
ICAgICAgICAgICAgICAgcmVzb2x1dGlvbnMucHVzaCh2YWx1ZSk7Ci0gICAgICAgICAgICAgICAg
ICAgIGFzc2VydF9hcnJheV9lcXVhbHMocmVzb2x1dGlvbnMsIFsiYSIsICJiIiwgImMiXSk7Ci0g
ICAgICAgICAgICAgICAgfSk7Ci0gICAgfSwKLSAgICAiQ2hhaW4gb2YgcHJvbWlzZSByZXNvbHV0
aW9ucyIpOwotCi1wcm9taXNlX3Rlc3QoCi0gICAgZnVuY3Rpb24odCkgewotICAgICAgICB2YXIg
cmVzb2x1dGlvbnMgPSBbXTsKLSAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgieCIpCi0g
ICAgICAgICAgICAudGhlbigKLSAgICAgICAgICAgICAgICBmdW5jdGlvbih2YWx1ZSkgewotICAg
ICAgICAgICAgICAgICAgICBhc3NlcnRfdHJ1ZShmYWxzZSwgIkV4cGVjdGVkIGZhaWx1cmUuIik7
Ci0gICAgICAgICAgICAgICAgfSkKLSAgICAgICAgICAgIC50aGVuKHQudW5yZWFjaGVkX2Z1bmMo
IlVORVhQRUNURUQgRkFJTFVSRTogUHJvbWlzZSBzaG91bGQgbm90IGhhdmUgcmVzb2x2ZWQuIikp
OwotICAgIH0sCi0gICAgIkFzc2VydGlvbiBmYWlsdXJlIGluIGEgZnVsZmlsbCByZWFjdGlvbiAo
c2hvdWxkIEZBSUwgd2l0aCBhbiBleHBlY3RlZCBmYWlsdXJlKSIpOwotCi1wcm9taXNlX3Rlc3Qo
Ci0gICAgZnVuY3Rpb24odCkgewotICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoCi0gICAgICAg
ICAgICAgICAgZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7Ci0gICAgICAgICAgICAgICAgICAg
IHJlamVjdCgxMjMpOwotICAgICAgICAgICAgICAgIH0pCi0gICAgICAgICAgICAudGhlbih0LnVu
cmVhY2hlZF9mdW5jKCJVTkVYUEVDVEVEIEZBSUxVUkU6IEZ1bGZpbGwgcmVhY3Rpb24gcmVhY2hl
ZCBhZnRlciByZWplY3Rpb24uIiksCi0gICAgICAgICAgICAgICAgICB0LnVucmVhY2hlZF9mdW5j
KCJFeHBlY3RlZCBmYWlsdXJlLiIpKTsKLSAgICB9LAotICAgICJ1bnJlYWNoZWRfZnVuYyBhcyBy
ZWFjdG9yIChzaG91bGQgRkFJTCB3aXRoIGFuIGV4cGVjdGVkIGZhaWx1cmUpIik7Ci0KLXByb21p
c2VfdGVzdCgKLSAgICBmdW5jdGlvbigpIHsKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfSwK
LSAgICAicHJvbWlzZV90ZXN0IHdpdGggZnVuY3Rpb24gdGhhdCBkb2Vzbid0IHJldHVybiBhIFBy
b21pc2UiKTsKLQotcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKCl7fSwKLSAgICAgICAgICAgICAicHJv
bWlzZV90ZXN0IHdpdGggZnVuY3Rpb24gdGhhdCBkb2Vzbid0IHJldHVybiBhbnl0aGluZyIpOwot
Ci1wcm9taXNlX3Rlc3QoCi0gICAgZnVuY3Rpb24oKSB7Ci0gICAgICAgIHJldHVybiBQcm9taXNl
LnJlamVjdCgiRXhwZWN0ZWQgcmVqZWN0aW9uIik7Ci0gICAgfSwKLSAgICAicHJvbWlzZV90ZXN0
IHdpdGggdW5oYW5kbGVkIHJlamVjdGlvbiAoc2hvdWxkIEZBSUwpIik7Ci0KLXByb21pc2VfdGVz
dCgKLSAgICBmdW5jdGlvbigpIHsKLSAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgxMCkK
LSAgICAgICAgICAgIC50aGVuKAotICAgICAgICAgICAgICAgIGZ1bmN0aW9uKHZhbHVlKSB7Ci0g
ICAgICAgICAgICAgICAgICAgIHRocm93IEVycm9yKCJFeHBlY3RlZCBleGNlcHRpb24uIik7Ci0g
ICAgICAgICAgICAgICAgfSk7Ci0gICAgfSwKLSAgICAicHJvbWlzZV90ZXN0IHdpdGggdW5oYW5k
bGVkIGV4Y2VwdGlvbiBpbiBmdWxmaWxsIHJlYWN0aW9uIChzaG91bGQgRkFJTCkiKTsKLQotcHJv
bWlzZV90ZXN0KAotICAgIGZ1bmN0aW9uKHQpIHsKLSAgICAgICAgcmV0dXJuIFByb21pc2UucmVq
ZWN0KDEwKQotICAgICAgICAgICAgLnRoZW4oCi0gICAgICAgICAgICAgICAgdC51bnJlYWNoZWRf
ZnVuYygiVU5FWFBFQ1RFRCBGQUlMVVJFOiBGdWxmaWxsIHJlYWN0aW9uIHJlYWNoZWQgYWZ0ZXIg
cmVqZWN0aW9uLiIpLAotICAgICAgICAgICAgICAgIGZ1bmN0aW9uKHZhbHVlKSB7Ci0gICAgICAg
ICAgICAgICAgICAgIHRocm93IEVycm9yKCJFeHBlY3RlZCBleGNlcHRpb24uIik7Ci0gICAgICAg
ICAgICAgICAgfSk7Ci0gICAgfSwKLSAgICAicHJvbWlzZV90ZXN0IHdpdGggdW5oYW5kbGVkIGV4
Y2VwdGlvbiBpbiByZWplY3QgcmVhY3Rpb24gKHNob3VsZCBGQUlMKSIpOwotPC9zY3JpcHQ+Ci08
c2NyaXB0IHR5cGU9InRleHQvanNvbiIgaWQ9ImV4cGVjdGVkIj4KLXsKLSAgInN1bW1hcml6ZWRf
c3RhdHVzIjogewotICAgICJzdGF0dXNfc3RyaW5nIjogIk9LIiwKLSAgICAibWVzc2FnZSI6IG51
bGwsCi0gICAgInN0YWNrIjogbnVsbAotICB9LAotICAic3VtbWFyaXplZF90ZXN0cyI6IFsKLSAg
ICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJGQUlMIiwKLSAgICAgICJuYW1lIjogIkFzc2Vy
dGlvbiBmYWlsdXJlIGluIGEgZnVsZmlsbCByZWFjdGlvbiAoc2hvdWxkIEZBSUwgd2l0aCBhbiBl
eHBlY3RlZCBmYWlsdXJlKSIsCi0gICAgICAic3RhY2siOiAiKGltcGxlbWVudGF0aW9uLWRlZmlu
ZWQpIiwKLSAgICAgICJtZXNzYWdlIjogImFzc2VydF90cnVlOiBFeHBlY3RlZCBmYWlsdXJlLiBl
eHBlY3RlZCB0cnVlIGdvdCBmYWxzZSIsCi0gICAgICAicHJvcGVydGllcyI6IHt9Ci0gICAgfSwK
LSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1lIjogIkNo
YWluIG9mIHByb21pc2UgcmVzb2x1dGlvbnMiLAotICAgICAgInN0YWNrIjogbnVsbCwKLSAgICAg
ICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30KLSAgICB9LAotICAgIHsK
LSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUiOiAiUHJvbWlzZSBm
dWxmaWxsbWVudCB3aXRoIHJlc3VsdCIsCi0gICAgICAic3RhY2siOiBudWxsLAotICAgICAgIm1l
c3NhZ2UiOiBudWxsLAotICAgICAgInByb3BlcnRpZXMiOiB7fQotICAgIH0sCi0gICAgewotICAg
ICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJQcm9taXNlIHJlamVj
dGlvbiB3aXRoIHJlc3VsdCIsCi0gICAgICAic3RhY2siOiBudWxsLAotICAgICAgIm1lc3NhZ2Ui
OiBudWxsLAotICAgICAgInByb3BlcnRpZXMiOiB7fQotICAgIH0sCi0gICAgewotICAgICAgInN0
YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJQcm9taXNlcyBhcmUgc3VwcG9y
dGVkIGluIHlvdXIgYnJvd3NlciIsCi0gICAgICAic3RhY2siOiBudWxsLAotICAgICAgIm1lc3Nh
Z2UiOiBudWxsLAotICAgICAgInByb3BlcnRpZXMiOiB7fQotICAgIH0sCi0gICAgewotICAgICAg
InN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJwcm9taXNlX3Rlc3Qgd2l0
aCBmdW5jdGlvbiB0aGF0IGRvZXNuJ3QgcmV0dXJuIGEgUHJvbWlzZSIsCi0gICAgICAic3RhY2si
OiBudWxsLAotICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgInByb3BlcnRpZXMiOiB7fQot
ICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiRkFJTCIsCi0gICAgICAibmFt
ZSI6ICJwcm9taXNlX3Rlc3Qgd2l0aCBmdW5jdGlvbiB0aGF0IGRvZXNuJ3QgcmV0dXJuIGFueXRo
aW5nIiwKLSAgICAgICJzdGFjayI6ICIoaW1wbGVtZW50YXRpb24tZGVmaW5lZCkiLAotICAgICAg
Im1lc3NhZ2UiOiAiYXNzZXJ0X25vdF9lcXVhbHM6IGdvdCBkaXNhbGxvd2VkIHZhbHVlIHVuZGVm
aW5lZCIsCi0gICAgICAicHJvcGVydGllcyI6IHt9Ci0gICAgfSwKLSAgICB7Ci0gICAgICAic3Rh
dHVzX3N0cmluZyI6ICJGQUlMIiwKLSAgICAgICJuYW1lIjogInByb21pc2VfdGVzdCB3aXRoIHVu
aGFuZGxlZCBleGNlcHRpb24gaW4gZnVsZmlsbCByZWFjdGlvbiAoc2hvdWxkIEZBSUwpIiwKLSAg
ICAgICJzdGFjayI6ICIoaW1wbGVtZW50YXRpb24tZGVmaW5lZCkiLAotICAgICAgIm1lc3NhZ2Ui
OiAicHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCBc
IkVycm9yOiBFeHBlY3RlZCBleGNlcHRpb24uXCIiLAotICAgICAgInByb3BlcnRpZXMiOiB7fQot
ICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiRkFJTCIsCi0gICAgICAibmFt
ZSI6ICJwcm9taXNlX3Rlc3Qgd2l0aCB1bmhhbmRsZWQgZXhjZXB0aW9uIGluIHJlamVjdCByZWFj
dGlvbiAoc2hvdWxkIEZBSUwpIiwKLSAgICAgICJzdGFjayI6ICIoaW1wbGVtZW50YXRpb24tZGVm
aW5lZCkiLAotICAgICAgIm1lc3NhZ2UiOiAicHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0
aW9uIHdpdGggdmFsdWU6IG9iamVjdCBcIkVycm9yOiBFeHBlY3RlZCBleGNlcHRpb24uXCIiLAot
ICAgICAgInByb3BlcnRpZXMiOiB7fQotICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJp
bmciOiAiRkFJTCIsCi0gICAgICAibmFtZSI6ICJwcm9taXNlX3Rlc3Qgd2l0aCB1bmhhbmRsZWQg
cmVqZWN0aW9uIChzaG91bGQgRkFJTCkiLAotICAgICAgInN0YWNrIjogIihpbXBsZW1lbnRhdGlv
bi1kZWZpbmVkKSIsCi0gICAgICAibWVzc2FnZSI6ICJwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCBy
ZWplY3Rpb24gd2l0aCB2YWx1ZTogXCJFeHBlY3RlZCByZWplY3Rpb25cIiIsCi0gICAgICAicHJv
cGVydGllcyI6IHt9Ci0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJGQUlM
IiwKLSAgICAgICJuYW1lIjogInVucmVhY2hlZF9mdW5jIGFzIHJlYWN0b3IgKHNob3VsZCBGQUlM
IHdpdGggYW4gZXhwZWN0ZWQgZmFpbHVyZSkiLAotICAgICAgInN0YWNrIjogIihpbXBsZW1lbnRh
dGlvbi1kZWZpbmVkKSIsCi0gICAgICAibWVzc2FnZSI6ICJhc3NlcnRfdW5yZWFjaGVkOiBFeHBl
Y3RlZCBmYWlsdXJlLiBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUiLAotICAgICAgInByb3BlcnRp
ZXMiOiB7fQotICAgIH0KLSAgXSwKLSAgInR5cGUiOiAiY29tcGxldGUiCi19Ci08L3NjcmlwdD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3Rlc3QvdGVzdHMvc2luZ2xlLXBhZ2UtdGVzdC1mYWlsLmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3Rz
L3NpbmdsZS1wYWdlLXRlc3QtZmFpbC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCBhMWY4ODEwNzM4Mi4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9zaW5nbGUtcGFnZS10ZXN0
LWZhaWwuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDI5ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1M
PgotPHRpdGxlPkV4YW1wbGUgd2l0aCBmaWxlX2lzX3Rlc3QgKHNob3VsZCBmYWlsKTwvdGl0bGU+
Ci08c2NyaXB0IHNyYz0iLi4vLi4vdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBz
cmM9Ii4uLy4uL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci1vbmxv
YWQgPSBmdW5jdGlvbigpIHsKLSAgYXNzZXJ0X3RydWUoZmFsc2UpOwotICBkb25lKCk7Ci19Ci08
L3NjcmlwdD4KLTxzY3JpcHQgdHlwZT0idGV4dC9qc29uIiBpZD0iZXhwZWN0ZWQiPgotewotICAi
c3VtbWFyaXplZF9zdGF0dXMiOiB7Ci0gICAgInN0YXR1c19zdHJpbmciOiAiT0siLAotICAgICJt
ZXNzYWdlIjogbnVsbCwKLSAgICAic3RhY2siOiBudWxsCi0gIH0sCi0gICJzdW1tYXJpemVkX3Rl
c3RzIjogWwotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIkZBSUwiLAotICAgICAgIm5h
bWUiOiAiRXhhbXBsZSB3aXRoIGZpbGVfaXNfdGVzdCAoc2hvdWxkIGZhaWwpIiwKLSAgICAgICJw
cm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6ICJ1bmNhdWdodCBleGNlcHRpb246IEVy
cm9yOiBhc3NlcnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UiLAotICAgICAgInN0YWNr
IjogIihpbXBsZW1lbnRhdGlvbi1kZWZpbmVkKSIKLSAgICB9Ci0gIF0sCi0gICJ0eXBlIjogImNv
bXBsZXRlIgotfQotPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL3NpbmdsZS1wYWdlLXRl
c3Qtbm8tYXNzZXJ0aW9ucy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9zaW5nbGUtcGFnZS10ZXN0LW5vLWFzc2Vy
dGlvbnMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzQwMmE0NjljZjguLjAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvc2luZ2xlLXBhZ2UtdGVzdC1uby1hc3NlcnRpb25zLmh0
bWwKKysrIC9kZXYvbnVsbApAQCAtMSwyNiArMCwwIEBACi08IURPQ1RZUEUgSFRNTD4KLTx0aXRs
ZT5FeGFtcGxlIHNpbmdsZSBwYWdlIHRlc3Qgd2l0aCBubyBhc3NlcnRzPC90aXRsZT4KLTxzY3Jp
cHQgc3JjPSIuLi8uLi90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4v
Li4vdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLWRvbmUoKTsKLTwv
c2NyaXB0PgotPHNjcmlwdCB0eXBlPSJ0ZXh0L2pzb24iIGlkPSJleHBlY3RlZCI+Ci17Ci0gICJz
dW1tYXJpemVkX3N0YXR1cyI6IHsKLSAgICAic3RhdHVzX3N0cmluZyI6ICJPSyIsCi0gICAgIm1l
c3NhZ2UiOiBudWxsLAotICAgICJzdGFjayI6IG51bGwKLSAgfSwKLSAgInN1bW1hcml6ZWRfdGVz
dHMiOiBbCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFt
ZSI6ICJFeGFtcGxlIHNpbmdsZSBwYWdlIHRlc3Qgd2l0aCBubyBhc3NlcnRzIiwKLSAgICAgICJw
cm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAic3RhY2siOiBu
dWxsCi0gICAgfQotICBdLAotICAidHlwZSI6ICJjb21wbGV0ZSIKLX0KLTwvc2NyaXB0PgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvdGVzdC90ZXN0cy9zaW5nbGUtcGFnZS10ZXN0LW5vLWJvZHkuaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMv
c2luZ2xlLXBhZ2UtdGVzdC1uby1ib2R5Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDA2NTA5MWE5M2U4Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL3NpbmdsZS1wYWdlLXRl
c3Qtbm8tYm9keS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMjcgKzAsMCBAQAotPCFET0NUWVBF
IEhUTUw+Ci08dGl0bGU+RXhhbXBsZSBzaW5nbGUgcGFnZSB0ZXN0IHdpdGggbm8gYm9keTwvdGl0
bGU+Ci08c2NyaXB0IHNyYz0iLi4vLi4vdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlw
dCBzcmM9Ii4uLy4uL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci1h
c3NlcnRfdHJ1ZSh0cnVlKTsKLWRvbmUoKTsKLTwvc2NyaXB0PgotPHNjcmlwdCB0eXBlPSJ0ZXh0
L2pzb24iIGlkPSJleHBlY3RlZCI+Ci17Ci0gICJzdW1tYXJpemVkX3N0YXR1cyI6IHsKLSAgICAi
c3RhdHVzX3N0cmluZyI6ICJPSyIsCi0gICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICJzdGFjayI6
IG51bGwKLSAgfSwKLSAgInN1bW1hcml6ZWRfdGVzdHMiOiBbCi0gICAgewotICAgICAgInN0YXR1
c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJFeGFtcGxlIHNpbmdsZSBwYWdlIHRl
c3Qgd2l0aCBubyBib2R5IiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2Fn
ZSI6IG51bGwsCi0gICAgICAic3RhY2siOiBudWxsCi0gICAgfQotICBdLAotICAidHlwZSI6ICJj
b21wbGV0ZSIKLX0KLTwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9zaW5nbGUtcGFnZS10
ZXN0LXBhc3MuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvc2luZ2xlLXBhZ2UtdGVzdC1wYXNzLmh0bWwKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDMxZTRlNjQ5NDcxLi4wMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0
L3Rlc3RzL3NpbmdsZS1wYWdlLXRlc3QtcGFzcy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMjkg
KzAsMCBAQAotPCFET0NUWVBFIEhUTUw+Ci08dGl0bGU+RXhhbXBsZSB3aXRoIGZpbGVfaXNfdGVz
dDwvdGl0bGU+Ci08c2NyaXB0IHNyYz0iLi4vLi4vdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdCBzcmM9Ii4uLy4uL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQ+Ci1vbmxvYWQgPSBmdW5jdGlvbigpIHsKLSAgYXNzZXJ0X3RydWUodHJ1ZSk7Ci0gIGRvbmUo
KTsKLX0KLTwvc2NyaXB0PgotPHNjcmlwdCB0eXBlPSJ0ZXh0L2pzb24iIGlkPSJleHBlY3RlZCI+
Ci17Ci0gICJzdW1tYXJpemVkX3N0YXR1cyI6IHsKLSAgICAic3RhdHVzX3N0cmluZyI6ICJPSyIs
Ci0gICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICJzdGFjayI6IG51bGwKLSAgfSwKLSAgInN1bW1h
cml6ZWRfdGVzdHMiOiBbCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0g
ICAgICAibmFtZSI6ICJFeGFtcGxlIHdpdGggZmlsZV9pc190ZXN0IiwKLSAgICAgICJwcm9wZXJ0
aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAic3RhY2siOiBudWxsCi0g
ICAgfQotICBdLAotICAidHlwZSI6ICJjb21wbGV0ZSIKLX0KLTwvc2NyaXB0PgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
dGVzdC90ZXN0cy91bmNhdWdodC1leGNlcHRpb24taGFuZGxlLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL3VuY2F1
Z2h0LWV4Y2VwdGlvbi1oYW5kbGUuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
N2Q4MjQ0YmYxY2UuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvdW5jYXVnaHQtZXhjZXB0aW9u
LWhhbmRsZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMzUgKzAsMCBAQAotPCFET0NUWVBFIEhU
TUw+Ci08aHRtbD4KLTxoZWFkPgotPHRpdGxlPkhhcm5lc3MgSGFuZGxpbmcgVW5jYXVnaHQgRXhj
ZXB0aW9uPC90aXRsZT4KLTwvaGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+Ci0KLTxib2R5PgotPGgxPkhhcm5lc3MgSGFuZGxpbmcgVW5jYXVnaHQgRXhj
ZXB0aW9uPC9oMT4KLTxkaXYgaWQ9ImxvZyI+PC9kaXY+Ci08c2NyaXB0PgotdmFyIHQgPSBhc3lu
Y190ZXN0KCJUaGlzIHNob3VsZCBzaG93IGEgaGFybmVzcyBzdGF0dXMgb2YgJ0Vycm9yJyBhbmQg
YSB0ZXN0IHN0YXR1cyBvZiAnTm90IFJ1biciKTsKLXRocm93IG5ldyBFcnJvcigiRXhhbXBsZSBF
cnJvciIpOwotPC9zY3JpcHQ+Ci08c2NyaXB0IHR5cGU9InRleHQvanNvbiIgaWQ9ImV4cGVjdGVk
Ij4KLXsKLSAgInN1bW1hcml6ZWRfc3RhdHVzIjogewotICAgICJzdGF0dXNfc3RyaW5nIjogIkVS
Uk9SIiwKLSAgICAibWVzc2FnZSI6ICJFcnJvcjogRXhhbXBsZSBFcnJvciIsCi0gICAgInN0YWNr
IjogIihpbXBsZW1lbnRhdGlvbi1kZWZpbmVkKSIKLSAgfSwKLSAgInN1bW1hcml6ZWRfdGVzdHMi
OiBbCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiTk9UUlVOIiwKLSAgICAgICJuYW1l
IjogIlRoaXMgc2hvdWxkIHNob3cgYSBoYXJuZXNzIHN0YXR1cyBvZiAnRXJyb3InIGFuZCBhIHRl
c3Qgc3RhdHVzIG9mICdOb3QgUnVuJyIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAg
Im1lc3NhZ2UiOiBudWxsLAotICAgICAgInN0YWNrIjogbnVsbAotICAgIH0KLSAgXSwKLSAgInR5
cGUiOiAiY29tcGxldGUiCi19Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3Rlc3QvdGVzdHMvdW5jYXVnaHQtZXhjZXB0aW9uLWlnbm9yZS5odG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy91bmNh
dWdodC1leGNlcHRpb24taWdub3JlLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDlmNDVkZGI0N2Y1Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL3VuY2F1Z2h0LWV4Y2VwdGlv
bi1pZ25vcmUuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDM3ICswLDAgQEAKLTwhRE9DVFlQRSBI
VE1MPgotPGh0bWw+Ci08aGVhZD4KLTx0aXRsZT5IYXJuZXNzIElnbm9yaW5nIFVuY2F1Z2h0IEV4
Y2VwdGlvbjwvdGl0bGU+Ci08L2hlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgotCi08Ym9keT4KLTxoMT5IYXJuZXNzIElnbm9yaW5nIFVuY2F1Z2h0IEV4
Y2VwdGlvbjwvaDE+Ci08ZGl2IGlkPSJsb2ciPjwvZGl2PgotPHNjcmlwdD4KLXNldHVwKHthbGxv
d191bmNhdWdodF9leGNlcHRpb246dHJ1ZX0pOwotdmFyIHQgPSBhc3luY190ZXN0KCJzZXR1cCh7
YWxsb3dfdW5jYXVnaHRfZXhjZXB0aW9uOnRydWV9KSBzaG91bGQgYWxsb3cgdGVzdHMgdG8gcGFz
cyBldmVuIGlmIHRoZXJlIGlzIGFuIGV4Y2VwdGlvbiIpOwotb25lcnJvciA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKCkge3QuZG9uZSgpfSk7Ci10aHJvdyBuZXcgRXJyb3IoIkV4YW1wbGUgRXJyb3Ii
KTsKLTwvc2NyaXB0PgotPHNjcmlwdCB0eXBlPSJ0ZXh0L2pzb24iIGlkPSJleHBlY3RlZCI+Ci17
Ci0gICJzdW1tYXJpemVkX3N0YXR1cyI6IHsKLSAgICAic3RhdHVzX3N0cmluZyI6ICJPSyIsCi0g
ICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICJzdGFjayI6IG51bGwKLSAgfSwKLSAgInN1bW1hcml6
ZWRfdGVzdHMiOiBbCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAg
ICAibmFtZSI6ICJzZXR1cCh7YWxsb3dfdW5jYXVnaHRfZXhjZXB0aW9uOnRydWV9KSBzaG91bGQg
YWxsb3cgdGVzdHMgdG8gcGFzcyBldmVuIGlmIHRoZXJlIGlzIGFuIGV4Y2VwdGlvbiIsCi0gICAg
ICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgInN0YWNr
IjogbnVsbAotICAgIH0KLSAgXSwKLSAgInR5cGUiOiAiY29tcGxldGUiCi19Ci08L3NjcmlwdD4K
LTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvdW5pdC9JZGxBcnJheS9pc19q
c29uX3R5cGUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvdW5pdC9JZGxBcnJheS9pc19qc29uX3R5cGUuaHRtbApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDYzZDJiNDUzMDkuLjAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3Rlc3QvdGVzdHMvdW5pdC9JZGxBcnJheS9pc19qc29uX3R5cGUuaHRtbAorKysgL2Rldi9udWxs
CkBAIC0xLDE5NCArMCwwIEBACi08IURPQ1RZUEUgSFRNTD4KLTxodG1sPgotPGhlYWQ+Ci08dGl0
bGU+SWRsQXJyYXkucHJvdG90eXBlLmlzX2pzb25fdHlwZSgpPC90aXRsZT4KLTwvaGVhZD4KLTxi
b2R5PgotPGRpdiBpZD0ibG9nIj48L2Rpdj4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL1dlYklETFBhcnNl
ci5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9pZGxoYXJuZXNzLmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi9pZGwtaGVscGVyLmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQ+Ci0gICAgInVzZSBzdHJpY3QiOwotCi0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAg
ICAgICAgdmFyIGlkbCA9IG5ldyBJZGxBcnJheSgpOwotICAgICAgICBhc3NlcnRfdHJ1ZShpZGwu
aXNfanNvbl90eXBlKHR5cGVGcm9tKCJET01TdHJpbmciKSkpOwotICAgICAgICBhc3NlcnRfdHJ1
ZShpZGwuaXNfanNvbl90eXBlKHR5cGVGcm9tKCJCeXRlU3RyaW5nIikpKTsKLSAgICAgICAgYXNz
ZXJ0X3RydWUoaWRsLmlzX2pzb25fdHlwZSh0eXBlRnJvbSgiVVNWU3RyaW5nIikpKTsKLSAgICAg
ICAgaWRsLmFkZF91bnRlc3RlZF9pZGxzKCdlbnVtIEJhckVudW0geyAiYSIsICJiIiwgImMiIH07
Jyk7Ci0gICAgICAgIGFzc2VydF90cnVlKGlkbC5pc19qc29uX3R5cGUodHlwZUZyb20oIkJhckVu
dW0iKSkpOwotICAgIH0sICdzaG91bGQgcmV0dXJuIHRydWUgZm9yIGFsbCBzdHJpbmcgdHlwZXMn
KTsKLQotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBpZGwgPSBuZXcgSWRsQXJy
YXkoKTsKLSAgICAgICAgYXNzZXJ0X2ZhbHNlKGlkbC5pc19qc29uX3R5cGUodHlwZUZyb20oIkVy
cm9yIikpKTsKLSAgICAgICAgYXNzZXJ0X2ZhbHNlKGlkbC5pc19qc29uX3R5cGUodHlwZUZyb20o
IkRPTUV4Y2VwdGlvbiIpKSk7Ci0gICAgfSwgJ3Nob3VsZCByZXR1cm4gZmFsc2UgZm9yIGFsbCBl
eGNlcHRpb24gdHlwZXMnKTsKLQotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBp
ZGwgPSBuZXcgSWRsQXJyYXkoKTsKLSAgICAgICAgYXNzZXJ0X2ZhbHNlKGlkbC5pc19qc29uX3R5
cGUodHlwZUZyb20oIkludDhBcnJheSIpKSk7Ci0gICAgICAgIGFzc2VydF9mYWxzZShpZGwuaXNf
anNvbl90eXBlKHR5cGVGcm9tKCJJbnQxNkFycmF5IikpKTsKLSAgICAgICAgYXNzZXJ0X2ZhbHNl
KGlkbC5pc19qc29uX3R5cGUodHlwZUZyb20oIkludDMyQXJyYXkiKSkpOwotICAgICAgICBhc3Nl
cnRfZmFsc2UoaWRsLmlzX2pzb25fdHlwZSh0eXBlRnJvbSgiVWludDhBcnJheSIpKSk7Ci0gICAg
ICAgIGFzc2VydF9mYWxzZShpZGwuaXNfanNvbl90eXBlKHR5cGVGcm9tKCJVaW50MTZBcnJheSIp
KSk7Ci0gICAgICAgIGFzc2VydF9mYWxzZShpZGwuaXNfanNvbl90eXBlKHR5cGVGcm9tKCJVaW50
MzJBcnJheSIpKSk7Ci0gICAgICAgIGFzc2VydF9mYWxzZShpZGwuaXNfanNvbl90eXBlKHR5cGVG
cm9tKCJVaW50OENsYW1wZWRBcnJheSIpKSk7Ci0gICAgICAgIGFzc2VydF9mYWxzZShpZGwuaXNf
anNvbl90eXBlKHR5cGVGcm9tKCJGbG9hdDMyQXJyYXkiKSkpOwotICAgICAgICBhc3NlcnRfZmFs
c2UoaWRsLmlzX2pzb25fdHlwZSh0eXBlRnJvbSgiQXJyYXlCdWZmZXIiKSkpOwotICAgICAgICBh
c3NlcnRfZmFsc2UoaWRsLmlzX2pzb25fdHlwZSh0eXBlRnJvbSgiRGF0YVZpZXciKSkpOwotICAg
IH0sICdzaG91bGQgcmV0dXJuIGZhbHNlIGZvciBhbGwgYnVmZmVyIHNvdXJjZSB0eXBlcycpOwot
Ci0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIGlkbCA9IG5ldyBJZGxBcnJheSgp
OwotICAgICAgICBhc3NlcnRfdHJ1ZShpZGwuaXNfanNvbl90eXBlKHR5cGVGcm9tKCJib29sZWFu
IikpKTsKLSAgICB9LCAnc2hvdWxkIHJldHVybiB0cnVlIGZvciBib29sZWFuJyk7Ci0KLSAgICB0
ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgaWRsID0gbmV3IElkbEFycmF5KCk7Ci0gICAg
ICAgIGFzc2VydF90cnVlKGlkbC5pc19qc29uX3R5cGUodHlwZUZyb20oImJ5dGUiKSkpOwotICAg
ICAgICBhc3NlcnRfdHJ1ZShpZGwuaXNfanNvbl90eXBlKHR5cGVGcm9tKCJvY3RldCIpKSk7Ci0g
ICAgICAgIGFzc2VydF90cnVlKGlkbC5pc19qc29uX3R5cGUodHlwZUZyb20oInNob3J0IikpKTsK
LSAgICAgICAgYXNzZXJ0X3RydWUoaWRsLmlzX2pzb25fdHlwZSh0eXBlRnJvbSgidW5zaWduZWQg
c2hvcnQiKSkpOwotICAgICAgICBhc3NlcnRfdHJ1ZShpZGwuaXNfanNvbl90eXBlKHR5cGVGcm9t
KCJsb25nIikpKTsKLSAgICAgICAgYXNzZXJ0X3RydWUoaWRsLmlzX2pzb25fdHlwZSh0eXBlRnJv
bSgidW5zaWduZWQgbG9uZyIpKSk7Ci0gICAgICAgIGFzc2VydF90cnVlKGlkbC5pc19qc29uX3R5
cGUodHlwZUZyb20oImxvbmcgbG9uZyIpKSk7Ci0gICAgICAgIGFzc2VydF90cnVlKGlkbC5pc19q
c29uX3R5cGUodHlwZUZyb20oInVuc2lnbmVkIGxvbmcgbG9uZyIpKSk7Ci0gICAgICAgIGFzc2Vy
dF90cnVlKGlkbC5pc19qc29uX3R5cGUodHlwZUZyb20oImZsb2F0IikpKTsKLSAgICAgICAgYXNz
ZXJ0X3RydWUoaWRsLmlzX2pzb25fdHlwZSh0eXBlRnJvbSgidW5yZXN0cmljdGVkIGZsb2F0Iikp
KTsKLSAgICAgICAgYXNzZXJ0X3RydWUoaWRsLmlzX2pzb25fdHlwZSh0eXBlRnJvbSgiZG91Ymxl
IikpKTsKLSAgICAgICAgYXNzZXJ0X3RydWUoaWRsLmlzX2pzb25fdHlwZSh0eXBlRnJvbSgidW5y
ZXN0cmljdGVkIGRvdWJsZSIpKSk7Ci0gICAgfSwgJ3Nob3VsZCByZXR1cm4gdHJ1ZSBmb3IgYWxs
IG51bWVyaWMgdHlwZXMnKTsKLQotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBp
ZGwgPSBuZXcgSWRsQXJyYXkoKTsKLSAgICAgICAgYXNzZXJ0X2ZhbHNlKGlkbC5pc19qc29uX3R5
cGUodHlwZUZyb20oIlByb21pc2U8RE9NU3RyaW5nPiIpKSk7Ci0gICAgfSwgJ3Nob3VsZCByZXR1
cm4gZmFsc2UgZm9yIHByb21pc2VzJyk7Ci0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAg
ICB2YXIgaWRsID0gbmV3IElkbEFycmF5KCk7Ci0gICAgICAgIGFzc2VydF9mYWxzZShpZGwuaXNf
anNvbl90eXBlKHR5cGVGcm9tKCJzZXF1ZW5jZTxET01FeGNlcHRpb24+IikpKTsKLSAgICAgICAg
YXNzZXJ0X3RydWUoaWRsLmlzX2pzb25fdHlwZSh0eXBlRnJvbSgic2VxdWVuY2U8RE9NU3RyaW5n
PiIpKSk7Ci0gICAgfSwgJ3Nob3VsZCBoYW5kbGUgc2VxdWVuY2VzIGFjY29yZGluZyB0byB0aGVp
ciBpbm5lciB0eXBlcycpOwotCi0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIGlk
bCA9IG5ldyBJZGxBcnJheSgpOwotICAgICAgICBhc3NlcnRfZmFsc2UoaWRsLmlzX2pzb25fdHlw
ZSh0eXBlRnJvbSgiRnJvemVuQXJyYXk8RE9NRXhjZXB0aW9uPiIpKSk7Ci0gICAgICAgIGFzc2Vy
dF90cnVlKGlkbC5pc19qc29uX3R5cGUodHlwZUZyb20oIkZyb3plbkFycmF5PERPTVN0cmluZz4i
KSkpOwotICAgIH0sICdzaG91bGQgaGFuZGxlIGZyb3plbiBhcnJheXMgYWNjb3JkaW5nIHRvIHRo
ZWlyIGlubmVyIHR5cGVzJyk7Ci0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIg
aWRsID0gbmV3IElkbEFycmF5KCk7Ci0gICAgICAgIGFzc2VydF90cnVlKGlkbC5pc19qc29uX3R5
cGUodHlwZUZyb20oInJlY29yZDxET01TdHJpbmcsIERPTVN0cmluZz4iKSkpOwotICAgICAgICBh
c3NlcnRfZmFsc2UoaWRsLmlzX2pzb25fdHlwZSh0eXBlRnJvbSgicmVjb3JkPERPTVN0cmluZywg
RXJyb3I+IikpKTsKLSAgICB9LCAnc2hvdWxkIGhhbmRsZSByZWNvcmRzIGFjY29yZGluZyB0byB0
aGVpciBpbm5lciB0eXBlcycpOwotCi0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgdmFy
IGlkbCA9IG5ldyBJZGxBcnJheSgpOwotICAgICAgICBhc3NlcnRfdHJ1ZShpZGwuaXNfanNvbl90
eXBlKHR5cGVGcm9tKCJvYmplY3QiKSkpOwotICAgIH0sICdzaG91bGQgcmV0dXJuIHRydWUgZm9y
IG9iamVjdCB0eXBlJyk7Ci0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgaWRs
ID0gbmV3IElkbEFycmF5KCk7Ci0gICAgICAgIGFzc2VydF9mYWxzZShpZGwuaXNfanNvbl90eXBl
KHR5cGVGcm9tKCJhbnkiKSkpOwotICAgIH0sICdzaG91bGQgcmV0dXJuIGZhbHNlIGZvciBhbnkg
dHlwZScpOwotCi0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIGlkbCA9IG5ldyBJ
ZGxBcnJheSgpOwotICAgICAgICBpZGwuYWRkX3VudGVzdGVkX2lkbHMoJ2RpY3Rpb25hcnkgRm9v
IHsgRE9NU3RyaW5nIGZvbzsgfTsgZGljdGlvbmFyeSBCYXIgOiBGb28geyBET01TdHJpbmcgYmFy
OyB9OycpOwotICAgICAgICBhc3NlcnRfdHJ1ZShpZGwuaXNfanNvbl90eXBlKHR5cGVGcm9tKCJG
b28iKSkpOwotICAgICAgICBhc3NlcnRfdHJ1ZShpZGwuaXNfanNvbl90eXBlKHR5cGVGcm9tKCJC
YXIiKSkpOwotICAgIH0sICdzaG91bGQgcmV0dXJuIHRydWUgZm9yIGRpY3Rpb25hcmllcyB3aG9z
ZSBtZW1iZXJzIGFyZSBhbGwgSlNPTiB0eXBlcycpOwotCi0gICAgdGVzdChmdW5jdGlvbigpIHsK
LSAgICAgICAgdmFyIGlkbCA9IG5ldyBJZGxBcnJheSgpOwotICAgICAgICBpZGwuYWRkX3VudGVz
dGVkX2lkbHMoJ2RpY3Rpb25hcnkgRm9vIHsgfTsnKTsKLSAgICAgICAgYXNzZXJ0X3RydWUoaWRs
LmlzX2pzb25fdHlwZSh0eXBlRnJvbSgiRm9vIikpKTsKLSAgICB9LCAnc2hvdWxkIHJldHVybiB0
cnVlIGZvciBkaWN0aW9uYXJpZXMgd2hpY2ggaGF2ZSBubyBtZW1iZXJzJyk7Ci0KLSAgICB0ZXN0
KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgaWRsID0gbmV3IElkbEFycmF5KCk7Ci0gICAgICAg
IGlkbC5hZGRfdW50ZXN0ZWRfaWRscygnZGljdGlvbmFyeSBGb29CYXIgeyBET01TdHJpbmcgYTsg
RXJyb3IgYjsgfTsgZGljdGlvbmFyeSBCYXogOiBGb29CYXIge307Jyk7Ci0gICAgICAgIGFzc2Vy
dF9mYWxzZShpZGwuaXNfanNvbl90eXBlKHR5cGVGcm9tKCJGb29CYXIiKSkpOwotICAgICAgICBh
c3NlcnRfZmFsc2UoaWRsLmlzX2pzb25fdHlwZSh0eXBlRnJvbSgiQmF6IikpKTsKLSAgICB9LCAn
c2hvdWxkIHJldHVybiBmYWxzZSBmb3IgZGljdGlvbmFyaWVzIHdob3NlIG1lbWJlcnMgYXJlIG5v
dCBhbGwgSlNPTiB0eXBlcycpOwotCi0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgdmFy
IGlkbCA9IG5ldyBJZGxBcnJheSgpOwotICAgICAgICBpZGwuYWRkX3VudGVzdGVkX2lkbHMoJ2lu
dGVyZmFjZSBGb28geyBET01TdHJpbmcgdG9KU09OKCk7IH07Jyk7Ci0gICAgICAgIGFzc2VydF90
cnVlKGlkbC5pc19qc29uX3R5cGUodHlwZUZyb20oIkZvbyIpKSk7Ci0gICAgfSwgJ3Nob3VsZCBy
ZXR1cm4gdHJ1ZSBmb3IgaW50ZXJmYWNlcyB3aGljaCBkZWNsYXJlIGEgdG9KU09OIG9wZXJhdGlv
bicpOwotCi0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIGlkbCA9IG5ldyBJZGxB
cnJheSgpOwotICAgICAgICBpZGwuYWRkX3VudGVzdGVkX2lkbHMoJ2ludGVyZmFjZSBGb28geyBE
T01TdHJpbmcgdG9KU09OKCk7IH07IGludGVyZmFjZSBCYXIgOiBGb28geyB9OycpOwotICAgICAg
ICBhc3NlcnRfdHJ1ZShpZGwuaXNfanNvbl90eXBlKHR5cGVGcm9tKCJCYXIiKSkpOwotICAgIH0s
ICdzaG91bGQgcmV0dXJuIHRydWUgZm9yIGludGVyZmFjZXMgd2hpY2ggaW5oZXJpdCBmcm9tIGFu
IGludGVyZmFjZSB3aGljaCBkZWNsYXJlcyBhIHRvSlNPTiBvcGVyYXRpb24nKTsKLQotICAgIHRl
c3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBpZGwgPSBuZXcgSWRsQXJyYXkoKTsKLSAgICAg
ICAgaWRsLmFkZF91bnRlc3RlZF9pZGxzKCdpbnRlcmZhY2UgRm9vIHsgfTsgaW50ZXJmYWNlIG1p
eGluIEJhciB7IERPTVN0cmluZyB0b0pTT04oKTsgfTsgRm9vIGluY2x1ZGVzIEJhcjsnKTsKLSAg
ICAgICAgYXNzZXJ0X3RydWUoaWRsLmlzX2pzb25fdHlwZSh0eXBlRnJvbSgiRm9vIikpKTsKLSAg
ICB9LCAnc2hvdWxkIHJldHVybiB0cnVlIGZvciBpbnRlcmZhY2VzIHdoaWNoIG1peGluIGFuIGlu
dGVyZmFjZSB3aGljaCBkZWNsYXJlIGEgdG9KU09OIG9wZXJhdGlvbicpOwotCi0vLyAgICB0ZXN0
KGZ1bmN0aW9uKCkgewotLy8gICAgICAgIHZhciBpZGwgPSBuZXcgSWRsQXJyYXkoKTsKLS8vICAg
ICAgICBpZGwuYWRkX3VudGVzdGVkX2lkbHMoJ2ludGVyZmFjZSBGb28geyB9OyBpbnRlcmZhY2Ug
QmFyIHsgfTsgaW50ZXJmYWNlIEJheiB7IERPTVN0cmluZyB0b0pTT04oKTsgfTsgRm9vIGltcGxl
bWVudHMgQmFyOyBCYXIgaW1wbGVtZW50cyBCYXo7Jyk7Ci0vLyAgICAgICAgYXNzZXJ0X3RydWUo
aWRsLmlzX2pzb25fdHlwZSh0eXBlRnJvbSgiRm9vIikpKTsKLS8vICAgIH0sICdzaG91bGQgcmV0
dXJuIHRydWUgZm9yIGludGVyZmFjZXMgd2hpY2ggbWl4aW4gYW4gaW50ZXJmYWNlIHdoaWNoIGl0
c2VsZiBtaXhlcyBpbiBhbiBpbnRlcmZhY2Ugd2hpY2ggZGVjbGFyZXMgYSB0b0pTT04gb3BlcmF0
aW9uJyk7Ci0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgaWRsID0gbmV3IElk
bEFycmF5KCk7Ci0gICAgICAgIGlkbC5hZGRfdW50ZXN0ZWRfaWRscygnaW50ZXJmYWNlIEZvbyB7
IH07Jyk7Ci0gICAgICAgIGFzc2VydF9mYWxzZShpZGwuaXNfanNvbl90eXBlKHR5cGVGcm9tKCJG
b28iKSkpOwotICAgIH0sICdzaG91bGQgcmV0dXJuIGZhbHNlIGZvciBpbnRlcmZhY2VzIHdoaWNo
IGRvIG5vdCBkZWNsYXJlIGEgdG9KU09OIG9wZXJhdGlvbicpOwotCi0gICAgdGVzdChmdW5jdGlv
bigpIHsKLSAgICAgICAgdmFyIGlkbCA9IG5ldyBJZGxBcnJheSgpOwotICAgICAgICBpZGwuYWRk
X3VudGVzdGVkX2lkbHMoJ2ludGVyZmFjZSBGb28geyBvYmplY3QgdG9KU09OKCk7IH07Jyk7Ci0g
ICAgICAgIGFzc2VydF90cnVlKGlkbC5pc19qc29uX3R5cGUodHlwZUZyb20oIihGb28gb3IgRE9N
U3RyaW5nKSIpKSk7Ci0gICAgfSwgJ3Nob3VsZCByZXR1cm4gdHJ1ZSBmb3IgdW5pb24gdHlwZXMg
d2hvc2UgbWVtYmVyIHR5cGVzIGFyZSBKU09OIHR5cGVzJyk7Ci0KLSAgICB0ZXN0KGZ1bmN0aW9u
KCkgewotICAgICAgICB2YXIgaWRsID0gbmV3IElkbEFycmF5KCk7Ci0gICAgICAgIGFzc2VydF9m
YWxzZShpZGwuaXNfanNvbl90eXBlKHR5cGVGcm9tKCIoRGF0YVZpZXcgb3IgRE9NU3RyaW5nKSIp
KSk7Ci0gICAgfSwgJ3Nob3VsZCByZXR1cm4gZmFsc2UgZm9yIHVuaW9uIHR5cGVzIHdob3NlIG1l
bWJlciB0eXBlcyBhcmUgbm90IGFsbCBKU09OIHR5cGVzJyk7Ci0KLSAgICB0ZXN0KGZ1bmN0aW9u
KCkgewotICAgICAgICB2YXIgaWRsID0gbmV3IElkbEFycmF5KCk7Ci0gICAgICAgIGFzc2VydF90
cnVlKGlkbC5pc19qc29uX3R5cGUodHlwZUZyb20oIkRPTVN0cmluZz8iKSkpOwotICAgICAgICBh
c3NlcnRfZmFsc2UoaWRsLmlzX2pzb25fdHlwZSh0eXBlRnJvbSgiRGF0YVZpZXc/IikpKTsKLSAg
ICB9LCAnc2hvdWxkIGNvbnNpZGVyIHRoZSBpbm5lciB0eXBlcyBvZiBudWxsYWJsZSB0eXBlcycp
OwotCi0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIGlkbCA9IG5ldyBJZGxBcnJh
eSgpOwotICAgICAgICBhc3NlcnRfdHJ1ZShpZGwuaXNfanNvbl90eXBlKHR5cGVGcm9tKCJbWEF0
dHJdIGxvbmciKSkpOwotICAgICAgICBhc3NlcnRfZmFsc2UoaWRsLmlzX2pzb25fdHlwZSh0eXBl
RnJvbSgiW1hBdHRyXSBEYXRhVmlldyIpKSk7Ci0gICAgfSwgJ3Nob3VsZCBjb25zaWRlciB0aGUg
aW5uZXIgdHlwZXMgb2YgYW5ub3RhdGVkIHR5cGVzLicpOwotCi0gICAgdGVzdChmdW5jdGlvbigp
IHsKLSAgICAgICAgdmFyIGlkbCA9IG5ldyBJZGxBcnJheSgpOwotICAgICAgICBhc3NlcnRfdGhy
b3dzKG5ldyBFcnJvcigpLCBfID0+IGlkbC5pc19qc29uX3R5cGUodHlwZUZyb20oIkZvbyIpKSk7
Ci0gICAgfSwgInNob3VsZCB0aHJvdyBpZiBpdCByZWZlcmVuY2VzIGEgZGljdGlvbmFyeSwgZW51
bSBvciBpbnRlcmZhY2Ugd2hpY2ggd2Fzbid0IGFkZGVkIHRvIHRoZSBJZGxBcnJheSIpOwotCi0g
ICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIGlkbCA9IG5ldyBJZGxBcnJheSgpOwot
ICAgICAgICBpZGwuYWRkX3VudGVzdGVkX2lkbHMoJ2ludGVyZmFjZSBGb28gOiBCYXIgeyB9Oycp
OwotICAgICAgICBhc3NlcnRfdGhyb3dzKG5ldyBFcnJvcigpLCBfID0+IGlkbC5pc19qc29uX3R5
cGUodHlwZUZyb20oIkZvbyIpKSk7Ci0gICAgfSwgInNob3VsZCB0aHJvdyBmb3IgaW50ZXJmYWNl
cyB3aGljaCBpbmhlcml0IGZyb20gYW5vdGhlciBpbnRlcmZhY2Ugd2hpY2ggd2Fzbid0IGFkZGVk
IHRvIHRoZSBJZGxBcnJheSIpOwotCi0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgdmFy
IGlkbCA9IG5ldyBJZGxBcnJheSgpOwotICAgICAgICBhc3NlcnRfdHJ1ZShpZGwuaXNfanNvbl90
eXBlKHR5cGVkZWZGcm9tKCJ0eXBlZGVmIGRvdWJsZSBET01IaWdoUmVzVGltZVN0YW1wOyIpLmlk
bFR5cGUpKTsKLSAgICB9LCAnc2hvdWxkIHJldHVybiB0cnVlIGZvciB0eXBlZGVmcyB3aG9zZSBz
b3VyY2UgdHlwZSBpcyBhIEpTT04gdHlwZScpOwotCi0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAg
ICAgICAgdmFyIGlkbCA9IG5ldyBJZGxBcnJheSgpOwotICAgICAgICBhc3NlcnRfZmFsc2UoaWRs
LmlzX2pzb25fdHlwZSh0eXBlZGVmRnJvbSgidHlwZWRlZiBEYXRhVmlldyBET01IaWdoUmVzVGlt
ZVN0YW1wOyIpLmlkbFR5cGUpKTsKLSAgICB9LCAnc2hvdWxkIHJldHVybiBmYWxzZSBmb3IgdHlw
ZWRlZnMgd2hvc2Ugc291cmNlIHR5cGUgaXMgbm90IGEgSlNPTiB0eXBlJyk7Ci08L3NjcmlwdD4K
LTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvdW5pdC9JZGxBcnJheS93M2Mt
aW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3Rlc3QvdGVzdHMvdW5pdC9JZGxBcnJheS93M2MtaW1wb3J0LmxvZwpkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMmQwYTljY2ZlNjIuLjAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3Qv
dGVzdHMvdW5pdC9JZGxBcnJheS93M2MtaW1wb3J0LmxvZworKysgL2Rldi9udWxsCkBAIC0xLDE3
ICswLDAgQEAKLVRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20g
dGhlIFczQyByZXBvc2l0b3J5LgotRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBp
biBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRo
dWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQKLQotVGhlbiBy
dW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBv
cnQKLQotRG8gTk9UIG1vZGlmeSBvciByZW1vdmUgdGhpcyBmaWxlLgotCi0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0KLVByb3BlcnRpZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKLU5vbmUKLVByb3BlcnR5
IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgotTm9uZQotLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
Ci1MaXN0IG9mIGZpbGVzOgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvdW5pdC9JZGxBcnJheS9pc19qc29uX3R5cGUuaHRt
bApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy91bml0L0lkbERpY3Rpb25hcnkvZ2V0X2luaGVyaXRhbmNl
X3N0YWNrLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy90ZXN0L3Rlc3RzL3VuaXQvSWRsRGljdGlvbmFyeS9nZXRfaW5oZXJpdGFuY2Vf
c3RhY2suaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMWFjOWU4ZGEwNmYuLjAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvdW5pdC9JZGxEaWN0aW9uYXJ5L2dldF9pbmhlcml0YW5j
ZV9zdGFjay5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNDcgKzAsMCBAQAotPCFET0NUWVBFIEhU
TUw+Ci08aHRtbD4KLTxoZWFkPgotPHRpdGxlPklkbERpY3Rpb25hcnkucHJvdG90eXBlLmdldF9p
bmhlcml0YW5jZV9zdGFjaygpPC90aXRsZT4KLTwvaGVhZD4KLTxib2R5PgotPGRpdiBpZD0ibG9n
Ij48L2Rpdj4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL1dlYklETFBhcnNlci5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9pZGxoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIuLi8uLi8uLi9pZGwtaGVscGVyLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci0gICAgInVz
ZSBzdHJpY3QiOwotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBzdGFjayA9IGRp
Y3Rpb25hcnlGcm9tKCdkaWN0aW9uYXJ5IEEgeyB9OycpLmdldF9pbmhlcml0YW5jZV9zdGFjaygp
OwotICAgICAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKHN0YWNrLm1hcChkID0+IGQubmFtZSksIFsi
QSJdKTsKLSAgICB9LCAnc2hvdWxkIHJldHVybiBhbiBhcnJheSB0aGF0IGluY2x1ZGVzIGl0c2Vs
Zi4nKTsKLQotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBkID0gZGljdGlvbmFy
eUZyb20oJ2RpY3Rpb25hcnkgQSA6IEIgeyB9OycpOwotICAgICAgICBhc3NlcnRfdGhyb3dzKG5l
dyBFcnJvcigpLCBfID0+IGQuZ2V0X2luaGVyaXRhbmNlX3N0YWNrKCkpOwotICAgIH0sICJzaG91
bGQgdGhyb3cgZm9yIGRpY3Rpb25hcmllcyB3aGljaCBpbmhlcml0IGZyb20gYW5vdGhlciBkaWN0
aW9uYXJ5IHdoaWNoIHdhc24ndCBhZGRlZCB0byB0aGUgSWRsQXJyYXkiKTsKLQotICAgIHRlc3Qo
ZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBpZGwgPSBuZXcgSWRsQXJyYXkoKTsKLSAgICAgICAg
aWRsLmFkZF9pZGxzKCdkaWN0aW9uYXJ5IEEgOiBCIHsgfTsnKTsKLSAgICAgICAgaWRsLmFkZF91
bnRlc3RlZF9pZGxzKCdkaWN0aW9uYXJ5IEIgOiBDIHsgfTsgZGljdGlvbmFyeSBDIHsgfTsnKTsK
LSAgICAgICAgdmFyIEEgPSBpZGwubWVtYmVyc1siQSJdOwotICAgICAgICBhc3NlcnRfYXJyYXlf
ZXF1YWxzKEEuZ2V0X2luaGVyaXRhbmNlX3N0YWNrKCkubWFwKGQgPT4gZC5uYW1lKSwgWyJBIiwg
IkIiLCAiQyJdKTsKLSAgICB9LCAnc2hvdWxkIHJldHVybiBhbiBhcnJheSBvZiBpbmhlcml0ZWQg
ZGljdGlvbmFyaWVzIGluIG9yZGVyIG9mIGluaGVyaXRhbmNlLCBzdGFydGluZyB3aXRoIGl0c2Vs
Zi4nKTsKLQotICAgIHRlc3QoZnVuY3Rpb24gKCkgewotICAgICAgbGV0IGkgPSBuZXcgSWRsQXJy
YXkoKTsKLSAgICAgIGkuYWRkX3VudGVzdGVkX2lkbHMoJ2RpY3Rpb25hcnkgQSA6IEIge307Jyk7
Ci0gICAgICBpLmFzc2VydF90aHJvd3MobmV3IElkbEhhcm5lc3NFcnJvcignQSBpbmhlcml0cyBC
LCBidXQgQiBpcyB1bmRlZmluZWQuJyksIGkgPT4gaS50ZXN0KCkpOwotICAgIH0sICdBIDogQiB3
aXRoIEIgdW5kZWNsYXJlZCBzaG91bGQgdGhyb3cgSWRsSGFybmVzc0Vycm9yJyk7Ci0KLSAgICB0
ZXN0KGZ1bmN0aW9uICgpIHsKLSAgICAgIGxldCBpID0gbmV3IElkbEFycmF5KCk7Ci0gICAgICBp
LmFkZF91bnRlc3RlZF9pZGxzKCdkaWN0aW9uYXJ5IEEgOiBCIHt9OycpOwotICAgICAgaS5hZGRf
dW50ZXN0ZWRfaWRscygnaW50ZXJmYWNlIEIge307Jyk7Ci0gICAgICBpLmFzc2VydF90aHJvd3Mo
bmV3IElkbEhhcm5lc3NFcnJvcignQSBpbmhlcml0cyBCLCBidXQgQSBpcyBub3QgYW4gaW50ZXJm
YWNlLicpLCBpID0+IGkudGVzdCgpKTsKLSAgICB9LCAnZGljdGlvbmFyeSBBIDogQiB3aXRoIEIg
aW50ZXJmYWNlIHNob3VsZCB0aHJvdyBJZGxIYXJuZXNzRXJyb3InKTsKLTwvc2NyaXB0PgotPC9i
b2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy91bml0L0lkbERpY3Rpb25hcnkvdGVz
dF9wYXJ0aWFsX2RpY3Rpb25hcnkuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvdW5pdC9JZGxEaWN0aW9uYXJ5L3Rl
c3RfcGFydGlhbF9kaWN0aW9uYXJ5Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IGQ2MTM3ZjY4OTVmLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL3VuaXQvSWRsRGljdGlvbmFy
eS90ZXN0X3BhcnRpYWxfZGljdGlvbmFyeS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMzkgKzAs
MCBAQAotPCFET0NUWVBFIEhUTUw+Ci08aHRtbD4KLQotPGhlYWQ+Ci0gIDxtZXRhIGNoYXJzZXQ9
InV0Zi04Ij4KLSAgPHRpdGxlPmlkbGhhcm5lc3M6IHBhcnRpYWwgZGljdGlvbmFyaWVzPC90aXRs
ZT4KLSAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgot
ICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Ci0gIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL1dlYklETFBhcnNlci5qcyI+PC9zY3JpcHQ+Ci0g
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL2lkbGhhcm5lc3MuanMiPjwvc2NyaXB0PgotICA8c2Ny
aXB0IHNyYz0iLi4vLi4vLi4vaWRsLWhlbHBlci5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci0KLTxi
b2R5PgotPHByZSBpZD0naWRsJz4KLWRpY3Rpb25hcnkgQSB7fTsKLXBhcnRpYWwgZGljdGlvbmFy
eSBBIHsKLSAgYm9vbGVhbiBCOwotfTsKLXBhcnRpYWwgZGljdGlvbmFyeSBBIHsKLSAgYm9vbGVh
biBDOwotfTsKLTwvcHJlPgotCi08c2NyaXB0PgotJ3VzZSBzdHJpY3QnOwotCi10ZXN0KCgpID0+
IHsKLSAgbGV0IGlkbEFycmF5ID0gbmV3IElkbEFycmF5KCk7Ci0gIGlkbEFycmF5LmFkZF9pZGxz
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpZGwnKS50ZXh0Q29udGVudCk7Ci0gIGlkbEFycmF5
LnRlc3QoKTsKLQotICBsZXQgbWVtYmVycyA9IGlkbEFycmF5Lm1lbWJlcnNbIkEiXS5tZW1iZXJz
Lm1hcChtID0+IG0ubmFtZSk7Ci0gIGFzc2VydF9hcnJheV9lcXVhbHMobWVtYmVycywgWyJCIiwg
IkMiXSwgJ0Egc2hvdWxkIGNvbnRhaW4gQiwgQycpOwotfSwgJ1BhcnRpYWwgZGljdGlvbmFyaWVz
Jyk7Ci08L3NjcmlwdD4KLQotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy91
bml0L0lkbERpY3Rpb25hcnkvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL3VuaXQvSWRsRGljdGlv
bmFyeS93M2MtaW1wb3J0LmxvZwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDRiN2Y5
MTE1ZjMuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvdW5pdC9JZGxEaWN0aW9uYXJ5L3czYy1p
bXBvcnQubG9nCisrKyAvZGV2L251bGwKQEAgLTEsMTggKzAsMCBAQAotVGhlIHRlc3RzIGluIHRo
aXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCi1EbyBO
T1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQsIGNyZWF0
ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20v
d2ViLXBsYXRmb3JtLXRlc3RzL3dwdAotCi1UaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBv
cnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydAotCi1EbyBOT1QgbW9kaWZ5IG9yIHJl
bW92ZSB0aGlzIGZpbGUuCi0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotUHJvcGVydGllcyByZXF1aXJpbmcg
dmVuZG9yIHByZWZpeGVzOgotTm9uZQotUHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3Ig
cHJlZml4ZXM6Ci1Ob25lCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLUxpc3Qgb2YgZmlsZXM6Ci0vTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0
cy91bml0L0lkbERpY3Rpb25hcnkvZ2V0X2luaGVyaXRhbmNlX3N0YWNrLmh0bWwKLS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3Rz
L3VuaXQvSWRsRGljdGlvbmFyeS90ZXN0X3BhcnRpYWxfZGljdGlvbmFyeS5odG1sCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy90ZXN0L3Rlc3RzL3VuaXQvSWRsSW50ZXJmYWNlL2NvbnN0cnVjdG9ycy5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0
cy91bml0L0lkbEludGVyZmFjZS9jb25zdHJ1Y3RvcnMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggOTNjYzdmNDJjYzUuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvdW5pdC9J
ZGxJbnRlcmZhY2UvY29uc3RydWN0b3JzLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwyNSArMCww
IEBACi08IURPQ1RZUEUgSFRNTD4KLTx0aXRsZT5JZGxJbnRlcmZhY2UucHJvdG90eXBlLmNvbnN0
cnVjdG9ycygpPC90aXRsZT4KLTxkaXYgaWQ9ImxvZyI+PC9kaXY+Ci08c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy9XZWJJRExQYXJzZXIuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvaWRs
aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4vaWRsLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotInVzZSBzdHJpY3QiOwotdGVzdChmdW5jdGlvbigpIHsK
LSAgICB2YXIgaSA9IGludGVyZmFjZUZyb20oJ1tDb25zdHJ1Y3Rvcl0gaW50ZXJmYWNlIEEgeyB9
OycpOwotICAgIGFzc2VydF9lcXVhbHMoaS5jb25zdHJ1Y3RvcnMoKS5sZW5ndGgsIDEpOwotfSwg
J0ludGVyZmFjZSB3aXRoIENvbnN0cnVjdG9yIGV4dGVuZGVkIGF0dHJpYnV0ZS4nKTsKLQotdGVz
dChmdW5jdGlvbigpIHsKLSAgICB2YXIgaSA9IGludGVyZmFjZUZyb20oJ2ludGVyZmFjZSBBIHsg
Y29uc3RydWN0b3IoKTsgfTsnKTsKLSAgICBhc3NlcnRfZXF1YWxzKGkuY29uc3RydWN0b3JzKCku
bGVuZ3RoLCAxKTsKLX0sICdJbnRlcmZhY2Ugd2l0aCBjb25zdHJ1Y3RvciBtZXRob2QnKTsKLQot
dGVzdChmdW5jdGlvbigpIHsKLSAgICB2YXIgaSA9IGludGVyZmFjZUZyb20oJ1tDb25zdHJ1Y3Rv
cl0gaW50ZXJmYWNlIEEgeyBjb25zdHJ1Y3RvcigpOyB9OycpOwotICAgIGFzc2VydF9lcXVhbHMo
aS5jb25zdHJ1Y3RvcnMoKS5sZW5ndGgsIDIpOwotfSwgJ0ludGVyZmFjZSB3aXRoIGJvdGgnKTsK
LTwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy91bml0L0lkbEludGVyZmFjZS9kZWZhdWx0
X3RvX2pzb25fb3BlcmF0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL3VuaXQvSWRsSW50ZXJmYWNlL2RlZmF1
bHRfdG9fanNvbl9vcGVyYXRpb24uaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
ZTAzZWE4YjAzODcuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvdW5pdC9JZGxJbnRlcmZhY2Uv
ZGVmYXVsdF90b19qc29uX29wZXJhdGlvbi5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTczICsw
LDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLTx0aXRsZT5JZGxEaWN0aW9u
YXJ5LnByb3RvdHlwZS5kZWZhdWx0X3RvX2pzb25fb3BlcmF0aW9uKCk8L3RpdGxlPgotPC9oZWFk
PgotPGJvZHk+Ci08ZGl2IGlkPSJsb2ciPjwvZGl2PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvV2ViSURM
UGFyc2VyLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL2lkbGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2lkbC1oZWxwZXIuanMiPjwvc2Ny
aXB0PgotPHByZSBpZD1mcmFnbWVudHM+Ci0gICAgaW50ZXJmYWNlIEEgOiBCIHsKLSAgICAgIGF0
dHJpYnV0ZSBET01TdHJpbmcgYTsKLSAgICB9OwotCi0gICAgaW50ZXJmYWNlIEIgOiBDIHsKLSAg
ICAgIFtEZWZhdWx0XSBvYmplY3QgdG9KU09OKCk7Ci0gICAgICBhdHRyaWJ1dGUgbG9uZyBiOwot
ICAgIH07Ci0KLSAgICBpbnRlcmZhY2UgQyB7Ci0gICAgICBhdHRyaWJ1dGUgRE9NU3RyaW5nIGM7
Ci0gICAgfTsKLQotICAgIGludGVyZmFjZSBtaXhpbiBEIHsKLSAgICAgIFtEZWZhdWx0XSBvYmpl
Y3QgdG9KU09OKCk7Ci0gICAgICBhdHRyaWJ1dGUgZmxvYXQgZDsKLSAgICB9OwotCi0gICAgaW50
ZXJmYWNlIG1peGluIEcgewotICAgICAgW0RlZmF1bHRdIG9iamVjdCB0b0pTT04oKTsKLSAgICAg
IGF0dHJpYnV0ZSBvY3RldCBnOwotICAgIH07Ci0KLSAgICBpbnRlcmZhY2UgbWl4aW4gSCB7Ci0g
ICAgICBbRGVmYXVsdF0gb2JqZWN0IHRvSlNPTigpOwotICAgICAgYXR0cmlidXRlIERPTVN0cmlu
ZyBoOwotICAgIH07Ci0KLSAgICBpbnRlcmZhY2UgbWl4aW4gSSB7Ci0gICAgICBbRGVmYXVsdF0g
b2JqZWN0IHRvSlNPTigpOwotICAgICAgYXR0cmlidXRlIGJvb2xlYW4gaTsKLSAgICB9OwotCi0g
ICAgQSBpbmNsdWRlcyBHOwotICAgIEEgaW5jbHVkZXMgSDsKLSAgICBCIGluY2x1ZGVzIEQ7Ci08
L3ByZT4KLTxzY3JpcHQ+Ci0gICAgInVzZSBzdHJpY3QiOwotICAgIHRlc3QoZnVuY3Rpb24oKSB7
Ci0gICAgICAgIHZhciBtYXAgPSBpbnRlcmZhY2VGcm9tKCdpbnRlcmZhY2UgQSB7IFtEZWZhdWx0
XSBvYmplY3QgdG9KU09OKCk7IH07JykuZGVmYXVsdF90b19qc29uX29wZXJhdGlvbigpOwotICAg
ICAgICBhc3NlcnRfZXF1YWxzKG1hcC5zaXplLCAwKTsKLSAgICB9LCAnc2hvdWxkIHJldHVybiBh
biBlbXB0eSBtYXAgd2hlbiB0aGVyZSBhcmUgbm8gYXR0cmlidXRlcycpOwotCi0gICAgdGVzdChm
dW5jdGlvbigpIHsKLSAgICAgICAgdmFyIHIgPSBpbnRlcmZhY2VGcm9tKCdpbnRlcmZhY2UgQSB7
IH07JykuZGVmYXVsdF90b19qc29uX29wZXJhdGlvbigpOwotICAgICAgICBhc3NlcnRfZXF1YWxz
KHIsIG51bGwpOwotICAgIH0sICdzaG91bGQgcmV0dXJuIG51bGwgd2hlbiB0aGVyZSBpcyBubyB0
b0pTT04gbWV0aG9kJyk7Ci0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgciA9
IGludGVyZmFjZUZyb20oJ2ludGVyZmFjZSBBIHsgRE9NU3RyaW5nIHRvSlNPTigpOyB9OycpLmRl
ZmF1bHRfdG9fanNvbl9vcGVyYXRpb24oKTsKLSAgICAgICAgYXNzZXJ0X2VxdWFscyhyLCBudWxs
KTsKLSAgICB9LCAnc2hvdWxkIHJldHVybiBudWxsIHdoZW4gdGhlcmUgaXMgYSB0b0pTT04gbWV0
aG9kIGJ1dCBpdCBkb2VzIG5vdCBoYXZlIHRoZSBbRGVmYXVsdF0gZXh0ZW5kZWQgYXR0cmlidXRl
Jyk7Ci0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgY29udGV4dCA9IG5ldyBJ
ZGxBcnJheSgpOwotICAgICAgICBjb250ZXh0LmFkZF9pZGxzKCJpbnRlcmZhY2UgQSA6IEIgeyBE
T01TdHJpbmcgdG9KU09OKCk7IH07Iik7Ci0gICAgICAgIGNvbnRleHQuYWRkX2lkbHMoImludGVy
ZmFjZSBCIHsgW0RlZmF1bHRdIG9iamVjdCB0b0pTT04oKTsgfTsiKTsKLSAgICAgICAgdmFyIHIg
PSBjb250ZXh0Lm1lbWJlcnMuQS5kZWZhdWx0X3RvX2pzb25fb3BlcmF0aW9uKCk7Ci0gICAgICAg
IGFzc2VydF9lcXVhbHMociwgbnVsbCk7Ci0gICAgfSwgJ3Nob3VsZCByZXR1cm4gbnVsbCB3aGVu
IHRoZXJlIGlzIGEgdG9KU09OIG1ldGhvZCBidXQgaXQgZG9lcyBub3QgaGF2ZSB0aGUgW0RlZmF1
bHRdIGV4dGVuZGVkIGF0dHJpYnV0ZSBldmVuIGlmIHRoaXMgZXh0ZW5kZWQgYXR0cmlidXRlIGV4
aXN0cyBvbiBpbmhlcml0ZWQgaW50ZXJmYWNlcycpOwotCi0gICAgdGVzdChmdW5jdGlvbigpIHsK
LSAgICAgICAgdmFyIG1hcCA9IGludGVyZmFjZUZyb20oJ2ludGVyZmFjZSBBIHsgW0RlZmF1bHRd
IG9iamVjdCB0b0pTT04oKTsgc3RhdGljIGF0dHJpYnV0ZSBET01TdHJpbmcgZm9vOyB9OycpLmRl
ZmF1bHRfdG9fanNvbl9vcGVyYXRpb24oKTsKLSAgICAgICAgYXNzZXJ0X2VxdWFscyhtYXAuc2l6
ZSwgMCk7Ci0gICAgfSwgJ3Nob3VsZCBub3QgaW5jbHVkZSBzdGF0aWMgYXR0cmlidXRlcycpOwot
Ci0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIG1hcCA9IGludGVyZmFjZUZyb20o
J2ludGVyZmFjZSBBIHsgW0RlZmF1bHRdIG9iamVjdCB0b0pTT04oKTsgYXR0cmlidXRlIFByb21p
c2U8RE9NU3RyaW5nPiBiYXI7IH07JykuZGVmYXVsdF90b19qc29uX29wZXJhdGlvbigpOwotICAg
ICAgICBhc3NlcnRfZXF1YWxzKG1hcC5zaXplLCAwKTsKLSAgICB9LCAnc2hvdWxkIG5vdCBpbmNs
dWRlIGF0dHJpYnV0ZXMgd2hpY2ggYXJlIG5vdCBKU09OIHR5cGVzJyk7Ci0KLSAgICB0ZXN0KGZ1
bmN0aW9uKCkgewotICAgICAgICB2YXIgbWFwID0gaW50ZXJmYWNlRnJvbSgnaW50ZXJmYWNlIEEg
eyBbRGVmYXVsdF0gb2JqZWN0IHRvSlNPTigpOyBET01TdHJpbmcgYmFyKCk7IH07JykuZGVmYXVs
dF90b19qc29uX29wZXJhdGlvbigpOwotICAgICAgICBhc3NlcnRfZXF1YWxzKG1hcC5zaXplLCAw
KTsKLSAgICB9LCAnc2hvdWxkIG5vdCBpbmNsdWRlIG9wZXJhdGlvbnMnKTsKLQotICAgIHRlc3Qo
ZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBtYXAgPSBpbnRlcmZhY2VGcm9tKCdpbnRlcmZhY2Ug
QSB7IFtEZWZhdWx0XSBvYmplY3QgdG9KU09OKCk7IGF0dHJpYnV0ZSBET01TdHJpbmcgYmFyOyB9
OycpLmRlZmF1bHRfdG9fanNvbl9vcGVyYXRpb24oKTsKLSAgICAgICAgYXNzZXJ0X2VxdWFscyht
YXAuc2l6ZSwgMSk7Ci0gICAgICAgIGFzc2VydF90cnVlKG1hcC5oYXMoImJhciIpKTsKLSAgICAg
ICAgYXNzZXJ0X2VxdWFscyhtYXAuZ2V0KCJiYXIiKS5pZGxUeXBlLCAiRE9NU3RyaW5nIik7Ci0g
ICAgfSwgJ3Nob3VsZCByZXR1cm4gYSBtYXAgd2hvc2Uga2V5L3ZhbHVlIHBhaXIgcmVwcmVzZW50
IHRoZSBpZGVudGlmaWVyIGFuZCBJREwgdHlwZSBvZiB2YWxpZCBhdHRyaWJ1dGVzJyk7Ci0KLSAg
ICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgY29udGV4dCA9IG5ldyBJZGxBcnJheSgp
OwotICAgICAgICBjb250ZXh0LmFkZF9pZGxzKCJpbnRlcmZhY2UgQSA6IEIgeyBbRGVmYXVsdF0g
b2JqZWN0IHRvSlNPTigpOyBhdHRyaWJ1dGUgRE9NU3RyaW5nIGE7IH07Iik7Ci0gICAgICAgIGNv
bnRleHQuYWRkX2lkbHMoImludGVyZmFjZSBCIHsgW0RlZmF1bHRdIG9iamVjdCB0b0pTT04oKTsg
YXR0cmlidXRlIGxvbmcgYjsgfTsiKTsKLSAgICAgICAgdmFyIG1hcCA9IGNvbnRleHQubWVtYmVy
cy5BLmRlZmF1bHRfdG9fanNvbl9vcGVyYXRpb24oKTsKLSAgICAgICAgYXNzZXJ0X2FycmF5X2Vx
dWFscyhbLi4ubWFwLmtleXMoKV0sIFsiYiIsICJhIl0pOwotICAgICAgICBhc3NlcnRfYXJyYXlf
ZXF1YWxzKFsuLi5tYXAudmFsdWVzKCldLm1hcCh2ID0+IHYuaWRsVHlwZSksIFsibG9uZyIsICJE
T01TdHJpbmciXSk7Ci0gICAgfSwgJ3Nob3VsZCByZXR1cm4gYSBwcm9wZXJseSBvcmRlcmVkIG1h
cCB0aGF0IGNvbnRhaW5zIElETCB0eXBlcyBvZiB2YWxpZCBhdHRyaWJ1dGVzIGZvciBpbmhlcml0
ZWQgaW50ZXJmYWNlcycpOwotCi0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIGNv
bnRleHQgPSBuZXcgSWRsQXJyYXkoKTsKLSAgICAgICAgY29udGV4dC5hZGRfaWRscygiaW50ZXJm
YWNlIEEgOiBCIHsgYXR0cmlidXRlIERPTVN0cmluZyBhOyB9OyIpOwotICAgICAgICBjb250ZXh0
LmFkZF9pZGxzKCJpbnRlcmZhY2UgQiB7IFtEZWZhdWx0XSBvYmplY3QgdG9KU09OKCk7IGF0dHJp
YnV0ZSBsb25nIGI7IH07Iik7Ci0gICAgICAgIHZhciBtYXAgPSBjb250ZXh0Lm1lbWJlcnMuQS5k
ZWZhdWx0X3RvX2pzb25fb3BlcmF0aW9uKCk7Ci0gICAgICAgIGFzc2VydF9lcXVhbHMobWFwLnNp
emUsIDEpOwotICAgICAgICBhc3NlcnRfdHJ1ZShtYXAuaGFzKCJiIikpOwotICAgICAgICBhc3Nl
cnRfZXF1YWxzKG1hcC5nZXQoImIiKS5pZGxUeXBlLCAibG9uZyIpOwotICAgICAgICBhc3NlcnRf
YXJyYXlfZXF1YWxzKFsuLi5tYXAua2V5cygpXSwgWyJiIl0pOwotICAgIH0sICdzaG91bGQgbm90
IGluY2x1ZGUgYXR0cmlidXRlcyBvZiB0aGUgY3VycmVudCBpbnRlcmZhY2Ugd2hlbiB0aGUgW0Rl
ZmF1bHRdIHRvSlNPTiBtZXRob2QgaW4gaW5oZXJpdGVkJyk7Ci0KLSAgICB0ZXN0KGZ1bmN0aW9u
KCkgewotICAgICAgICB2YXIgY29udGV4dCA9IG5ldyBJZGxBcnJheSgpOwotICAgICAgICBjb250
ZXh0LmFkZF9pZGxzKCJpbnRlcmZhY2UgQSA6IEIgeyBbRGVmYXVsdF0gb2JqZWN0IHRvSlNPTigp
OyB9OyIpOwotICAgICAgICBjb250ZXh0LmFkZF9pZGxzKCJpbnRlcmZhY2UgQiA6IEMgeyBbRGVm
YXVsdF0gb2JqZWN0IHRvSlNPTigpOyBhdHRyaWJ1dGUgRE9NU3RyaW5nIGZvbzsgfTsiKTsKLSAg
ICAgICAgY29udGV4dC5hZGRfaWRscygiaW50ZXJmYWNlIEMgeyBbRGVmYXVsdF0gb2JqZWN0IHRv
SlNPTigpOyBhdHRyaWJ1dGUgbG9uZyBmb287IH07Iik7Ci0gICAgICAgIHZhciBtYXAgPSBjb250
ZXh0Lm1lbWJlcnMuQS5kZWZhdWx0X3RvX2pzb25fb3BlcmF0aW9uKCk7Ci0gICAgICAgIGFzc2Vy
dF9lcXVhbHMobWFwLnNpemUsIDEpOwotICAgICAgICBhc3NlcnRfdHJ1ZShtYXAuaGFzKCJmb28i
KSk7Ci0gICAgICAgIGFzc2VydF9lcXVhbHMobWFwLmdldCgiZm9vIikuaWRsVHlwZSwgIkRPTVN0
cmluZyIpOwotICAgIH0sICdhdHRyaWJ1dGVzIGRlY2xhcmVkIGZ1cnRoZXIgYXdheSBpbiB0aGUg
aW5oZXJpdGFuY2UgaGllcmFyY2h5IHNob3VsZCBiZSBtYXNrZWQgYnkgYXR0cmlidXRlcyBkZWNs
YXJlZCBjbG9zZXInKTsKLQotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBjb250
ZXh0ID0gbmV3IElkbEFycmF5KCk7Ci0gICAgICAgIGNvbnRleHQuYWRkX2lkbHMoImludGVyZmFj
ZSBBIDogQiB7IFtEZWZhdWx0XSBvYmplY3QgdG9KU09OKCk7IGF0dHJpYnV0ZSBET01TdHJpbmcg
YTsgfTsiKTsKLSAgICAgICAgY29udGV4dC5hZGRfaWRscygiaW50ZXJmYWNlIEIgeyBvYmplY3Qg
dG9KU09OKCk7IGF0dHJpYnV0ZSBsb25nIGI7IH07Iik7Ci0gICAgICAgIHZhciBtYXAgPSBjb250
ZXh0Lm1lbWJlcnMuQS5kZWZhdWx0X3RvX2pzb25fb3BlcmF0aW9uKCk7Ci0gICAgICAgIGFzc2Vy
dF9lcXVhbHMobWFwLnNpemUsIDEpOwotICAgICAgICBhc3NlcnRfdHJ1ZShtYXAuaGFzKCJhIikp
OwotICAgICAgICBhc3NlcnRfZmFsc2UobWFwLmhhcygiYiIpKTsKLSAgICAgICAgYXNzZXJ0X2Vx
dWFscyhtYXAuZ2V0KCJhIikuaWRsVHlwZSwgIkRPTVN0cmluZyIpOwotICAgIH0sICdzaG91bGQg
cmV0dXJuIGFuIG9yZGVyZWQgbWFwIHRoYXQgaWdub3JlcyBhdHRyaWJ1dGVzIG9mIGluaGVyaXRl
ZCBpbnRlcmZhY2VzIHdoaWNoIGRvIG5vdCBkZWNsYXJlIGEgW0RlZmF1bHRdIHRvSlNPTiBvcGVy
YXRpb24uJyk7Ci0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgY29udGV4dCA9
IG5ldyBJZGxBcnJheSgpOwotICAgICAgICBjb250ZXh0LmFkZF9pZGxzKCJpbnRlcmZhY2UgQSB7
IFtEZWZhdWx0XSBvYmplY3QgdG9KU09OKCk7IGF0dHJpYnV0ZSBET01TdHJpbmcgYTsgfTsiKTsK
LSAgICAgICAgY29udGV4dC5hZGRfaWRscygiaW50ZXJmYWNlIG1peGluIE4geyBbRGVmYXVsdF0g
b2JqZWN0IHRvSlNPTigpOyBhdHRyaWJ1dGUgbG9uZyBuOyB9OyIpOwotICAgICAgICBjb250ZXh0
LmFkZF9pZGxzKCJBIGluY2x1ZGVzIE47Iik7Ci0gICAgICAgIHZhciBtYXAgPSBjb250ZXh0Lm1l
bWJlcnMuQS5kZWZhdWx0X3RvX2pzb25fb3BlcmF0aW9uKCk7Ci0gICAgICAgIGFzc2VydF9hcnJh
eV9lcXVhbHMoWy4uLm1hcC5rZXlzKCldLCBbImEiLCAibiJdKTsKLSAgICAgICAgYXNzZXJ0X2Fy
cmF5X2VxdWFscyhbLi4ubWFwLnZhbHVlcygpXS5tYXAodiA9PiB2LmlkbFR5cGUpLCBbIkRPTVN0
cmluZyIsICJsb25nIl0pOwotICAgIH0sICdzaG91bGQgcmV0dXJuIGEgcHJvcGVybHkgb3JkZXJl
ZCBtYXAgdGhhdCBhY2NvdW50cyBmb3IgbWl4ZWQtaW4gaW50ZXJmYWNlcyB3aGljaCBkZWNsYXJl
IGEgW0RlZmF1bHRdIHRvSlNPTiBvcGVyYXRpb24uJyk7Ci0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkg
ewotICAgICAgICB2YXIgY29udGV4dCA9IG5ldyBJZGxBcnJheSgpOwotICAgICAgICBjb250ZXh0
LmFkZF9pZGxzKCJpbnRlcmZhY2UgQSB7IFtEZWZhdWx0XSBvYmplY3QgdG9KU09OKCk7IGF0dHJp
YnV0ZSBET01TdHJpbmcgYTsgfTsiKTsKLSAgICAgICAgY29udGV4dC5hZGRfaWRscygiaW50ZXJm
YWNlIG1peGluIE4geyBhdHRyaWJ1dGUgbG9uZyBuOyB9OyIpOwotICAgICAgICBjb250ZXh0LmFk
ZF9pZGxzKCJBIGluY2x1ZGVzIE47Iik7Ci0gICAgICAgIHZhciBtYXAgPSBjb250ZXh0Lm1lbWJl
cnMuQS5kZWZhdWx0X3RvX2pzb25fb3BlcmF0aW9uKCk7Ci0gICAgICAgIGFzc2VydF9lcXVhbHMo
bWFwLnNpemUsIDEpOwotICAgICAgICBhc3NlcnRfdHJ1ZShtYXAuaGFzKCJhIikpOwotICAgICAg
ICBhc3NlcnRfZmFsc2UobWFwLmhhcygibiIpKTsKLSAgICAgICAgYXNzZXJ0X2VxdWFscyhtYXAu
Z2V0KCJhIikuaWRsVHlwZSwgIkRPTVN0cmluZyIpOwotICAgIH0sICdzaG91bGQgcmV0dXJuIGEg
cHJvcGVybHkgb3JkZXJlZCBtYXAgdGhhdCBpZ25vcmVzIG1peGVkLWluIGludGVyZmFjZXMgd2hp
Y2ggZG8gbm90IGRlY2xhcmUgYSBbRGVmYXVsdF0gdG9KU09OIG9wZXJhdGlvbi4nKTsKLQotCi0g
ICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIGNvbnRleHQgPSBuZXcgSWRsQXJyYXko
KTsKLSAgICAgICAgY29udGV4dC5hZGRfaWRscyhkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZnJh
Z21lbnRzJykudGV4dENvbnRlbnQpOwotICAgICAgICB2YXIgbWFwID0gY29udGV4dC5tZW1iZXJz
LkEuZGVmYXVsdF90b19qc29uX29wZXJhdGlvbigpOwotICAgICAgICBhc3NlcnRfYXJyYXlfZXF1
YWxzKFsuLi5tYXAua2V5cygpXSwgWyJiIiwgImQiLCAiZyIsICJoIl0pOwotICAgICAgICBhc3Nl
cnRfYXJyYXlfZXF1YWxzKFsuLi5tYXAudmFsdWVzKCldLm1hcCh2ID0+IHYuaWRsVHlwZSksIFsi
bG9uZyIsICJmbG9hdCIsICJvY3RldCIsICJET01TdHJpbmciXSk7Ci0gICAgfSwgJ3Nob3VsZCBy
ZXR1cm4gYSBwcm9wZXJseSBvcmRlcmVkIG1hcCBvZiBuYW1lL3R5cGUgcGFpcnMgaGFuZGxpbmcg
aW5oZXJpdGVkIGFuZCBjb25zZXF1ZW50aWFsIGludGVyZmFjZXMgYXMgc3BlY2lmaWVkLicpOwot
PC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+Ci0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvdW5pdC9J
ZGxJbnRlcmZhY2UvZG9fbWVtYmVyX3Vuc2NvcGFibGVfYXNzZXJ0cy5odG1sIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy91
bml0L0lkbEludGVyZmFjZS9kb19tZW1iZXJfdW5zY29wYWJsZV9hc3NlcnRzLmh0bWwKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGIzOGE5YjU3NWFiLi4wMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0
L3Rlc3RzL3VuaXQvSWRsSW50ZXJmYWNlL2RvX21lbWJlcl91bnNjb3BhYmxlX2Fzc2VydHMuaHRt
bAorKysgL2Rldi9udWxsCkBAIC0xLDU2ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+
Ci08aGVhZD4KLTx0aXRsZT5JZGxEaWN0aW9uYXJ5LnByb3RvdHlwZS5kb19tZW1iZXJfdW5zY29w
YWJsZV9hc3NlcnRzKCk8L3RpdGxlPgotPC9oZWFkPgotPGJvZHk+Ci08ZGl2IGlkPSJsb2ciPjwv
ZGl2PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvV2ViSURMUGFyc2VyLmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL2lkbGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
Ii4uLy4uLy4uL2lkbC1oZWxwZXIuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLSAgICAndXNlIHN0
cmljdCc7Ci0gICAgZnVuY3Rpb24gbW9ja19pbnRlcmZhY2VfQSh1bnNjb3BhYmxlcykgewotICAg
ICAgICBzZWxmLkEgPSBmdW5jdGlvbiBBKCkge307Ci0gICAgICAgIEEucHJvdG90eXBlW1N5bWJv
bC51bnNjb3BhYmxlc10gPSB1bnNjb3BhYmxlczsKLSAgICB9Ci0KLSAgICB0ZXN0KGZ1bmN0aW9u
KCkgewotICAgICAgICBjb25zdCBpID0gaW50ZXJmYWNlRnJvbSgnaW50ZXJmYWNlIEEgeyBbVW5z
Y29wYWJsZV0gYXR0cmlidXRlIGFueSB4OyB9OycpOwotICAgICAgICBjb25zdCBtZW1iZXIgPSBp
Lm1lbWJlcnNbMF07Ci0gICAgICAgIGFzc2VydF90cnVlKG1lbWJlci5pc1Vuc2NvcGFibGUpOwot
ICAgICAgICBtb2NrX2ludGVyZmFjZV9BKHsgeDogdHJ1ZSB9KTsKLSAgICAgICAgaS5kb19tZW1i
ZXJfdW5zY29wYWJsZV9hc3NlcnRzKG1lbWJlcik7Ci0gICAgfSwgJ3Nob3VsZCBub3QgdGhyb3cg
Zm9yIFtVbnNjb3BhYmxlXSB3aXRoIHByb3BlcnR5IGluIEBAdW5zY29wYWJsZXMnKTsKLQotICAg
IHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIGNvbnN0IGkgPSBpbnRlcmZhY2VGcm9tKCdpbnRl
cmZhY2UgQSB7IFtVbnNjb3BhYmxlXSBhdHRyaWJ1dGUgYW55IHg7IH07Jyk7Ci0gICAgICAgIGNv
bnN0IG1lbWJlciA9IGkubWVtYmVyc1swXTsKLSAgICAgICAgYXNzZXJ0X3RydWUobWVtYmVyLmlz
VW5zY29wYWJsZSk7Ci0gICAgICAgIG1vY2tfaW50ZXJmYWNlX0Eoe30pOwotICAgICAgICAvLyBh
c3NlcnRfdGhyb3dzIGNhbid0IGJlIHVzZWQgYmVjYXVzZSBpdCByZXRocm93cyBBc3NlcnRpb25F
cnJvcnMuCi0gICAgICAgIHRyeSB7Ci0gICAgICAgICAgICBpLmRvX21lbWJlcl91bnNjb3BhYmxl
X2Fzc2VydHMobWVtYmVyKTsKLSAgICAgICAgfSBjYXRjaChlKSB7Ci0gICAgICAgICAgICBhc3Nl
cnRfdHJ1ZShlLm1lc3NhZ2UuaW5jbHVkZXMoJ1N5bWJvbC51bnNjb3BhYmxlcycpKTsKLSAgICAg
ICAgICAgIHJldHVybjsKLSAgICAgICAgfQotICAgICAgICBhc3NlcnRfdW5yZWFjaGVkKCdkaWQg
bm90IHRocm93Jyk7Ci0gICAgfSwgJ3Nob3VsZCB0aHJvdyBmb3IgW1Vuc2NvcGFibGVdIHdpdGgg
cHJvcGVydHkgbWlzc2luZyBmcm9tIEBAdW5zY29wYWJsZXMnKTsKLQotICAgIC8vIFRoaXMgdGVz
dCBjaGVja3MgdGhhdCBmb3IgYXR0cmlidXRlcy9tZXRob2RzIHdoaWNoIGFyZW4ndCBbVW5zY29w
YWJsZV0KLSAgICAvLyBpbiB0aGUgSURMLCB3ZSBkb24ndCBhc3NlcnQgdGhhdCBAQHVuc2NvcGFi
bGVzIGlzIG1pc3NpbmcgdGhlIHByb3BlcnR5LgotICAgIC8vIFRoaXMgY291bGQgbWlzcyBpbXBs
ZW1lbnRhdGlvbiBidWdzLCBidXQgW1Vuc2NvcGFibGVdIGlzIHNvIHJhcmVseSB1c2VkCi0gICAg
Ly8gdGhhdCBpdCdzIGZhaXJseSB1bmxpa2VseSB0byBldmVyIGhhcHBlbi4KLSAgICB0ZXN0KGZ1
bmN0aW9uKCkgewotICAgICAgICBjb25zdCBpID0gaW50ZXJmYWNlRnJvbSgnaW50ZXJmYWNlIEEg
eyBhdHRyaWJ1dGUgYW55IHg7IH07Jyk7Ci0gICAgICAgIGNvbnN0IG1lbWJlciA9IGkubWVtYmVy
c1swXTsKLSAgICAgICAgYXNzZXJ0X2ZhbHNlKG1lbWJlci5pc1Vuc2NvcGFibGUpOwotICAgICAg
ICBtb2NrX2ludGVyZmFjZV9BKHsgeDogdHJ1ZSB9KTsKLSAgICAgICAgaS5kb19tZW1iZXJfdW5z
Y29wYWJsZV9hc3NlcnRzKG1lbWJlcik7Ci0gICAgfSwgJ3Nob3VsZCBub3QgdGhyb3cgaWYgW1Vu
c2NvcGFibGVdIGlzIHVzZWQgYnV0IHByb3BlcnR5IGlzIGluIEBAdW5zY29wYWJsZXMnKTsKLTwv
c2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy91bml0L0lkbElu
dGVyZmFjZS9nZXRfaW5oZXJpdGFuY2Vfc3RhY2suaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvdW5pdC9JZGxJbnRl
cmZhY2UvZ2V0X2luaGVyaXRhbmNlX3N0YWNrLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDY2Yjc5YWZjMTJmLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL3VuaXQvSWRsSW50
ZXJmYWNlL2dldF9pbmhlcml0YW5jZV9zdGFjay5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNDkg
KzAsMCBAQAotPCFET0NUWVBFIEhUTUw+Ci08aHRtbD4KLTxoZWFkPgotPHRpdGxlPklkbEludGVy
ZmFjZS5wcm90b3R5cGUuZ2V0X2luaGVyaXRhbmNlX3N0YWNrKCk8L3RpdGxlPgotPC9oZWFkPgot
PGJvZHk+Ci08ZGl2IGlkPSJsb2ciPjwvZGl2PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvV2ViSURMUGFy
c2VyLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL2lkbGhhcm5lc3MuanMi
Pjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2lkbC1oZWxwZXIuanMiPjwvc2NyaXB0
PgotPHNjcmlwdD4KLSAgICAidXNlIHN0cmljdCI7Ci0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAg
ICAgICAgdmFyIHN0YWNrID0gaW50ZXJmYWNlRnJvbSgnaW50ZXJmYWNlIEEgeyB9OycpLmdldF9p
bmhlcml0YW5jZV9zdGFjaygpOwotICAgICAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKHN0YWNrLm1h
cChpID0+IGkubmFtZSksIFsiQSJdKTsKLSAgICB9LCAnc2hvdWxkIHJldHVybiBhbiBhcnJheSB0
aGF0IGluY2x1ZGVzIGl0c2VsZi4nKTsKLQotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAg
IHZhciBpID0gaW50ZXJmYWNlRnJvbSgnaW50ZXJmYWNlIEEgOiBCIHsgfTsnKTsKLSAgICAgICAg
YXNzZXJ0X3Rocm93cyhuZXcgRXJyb3IoKSwgXyA9PiBpLmdldF9pbmhlcml0YW5jZV9zdGFjaygp
KTsKLSAgICB9LCAic2hvdWxkIHRocm93IGZvciBpbnRlcmZhY2VzIHdoaWNoIGluaGVyaXQgZnJv
bSBhbm90aGVyIGludGVyZmFjZSB3aGljaCB3YXNuJ3QgYWRkZWQgdG8gdGhlIElkbEFycmF5Iik7
Ci0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgaWRsID0gbmV3IElkbEFycmF5
KCk7Ci0gICAgICAgIGlkbC5hZGRfaWRscygnaW50ZXJmYWNlIEEgOiBCIHsgfTsnKTsKLSAgICAg
ICAgaWRsLmFkZF91bnRlc3RlZF9pZGxzKCdpbnRlcmZhY2UgQiA6IEMgeyB9OyBpbnRlcmZhY2Ug
QyB7IH07Jyk7Ci0gICAgICAgIHZhciBBID0gaWRsLm1lbWJlcnNbIkEiXTsKLSAgICAgICAgYXNz
ZXJ0X2FycmF5X2VxdWFscyhBLmdldF9pbmhlcml0YW5jZV9zdGFjaygpLm1hcChpID0+IGkubmFt
ZSksIFsiQSIsICJCIiwgIkMiXSk7Ci0gICAgfSwgJ3Nob3VsZCByZXR1cm4gYW4gYXJyYXkgb2Yg
aW5oZXJpdGVkIGludGVyZmFjZXMgaW4gb3JkZXIgb2YgaW5oZXJpdGFuY2UsIHN0YXJ0aW5nIHdp
dGggaXRzZWxmLicpOwotCi0gICAgdGVzdChmdW5jdGlvbiAoKSB7Ci0gICAgICAgIHZhciBpZGwg
PSBuZXcgSWRsQXJyYXkoKTsKLSAgICAgICAgaWRsLmFkZF91bnRlc3RlZF9pZGxzKCdpbnRlcmZh
Y2UgQSA6IEIgeyB9OycpOwotICAgICAgICBpZGwuYWRkX3VudGVzdGVkX2lkbHMoJ2ludGVyZmFj
ZSBCIDogQSB7IH07Jyk7Ci0gICAgICAgIGlkbC5hc3NlcnRfdGhyb3dzKCdBIGhhcyBhIGNpcmN1
bGFyIGRlcGVuZGVuY3k6IEEsQixBJywgaSA9PiBpLnRlc3QoKSk7Ci0gICAgfSwgJ3Nob3VsZCB0
aHJvdyB3aGVuIGluaGVyaXRhbmNlIGlzIGNpcmN1bGFyJyk7Ci0KLSAgICB0ZXN0KGZ1bmN0aW9u
ICgpIHsKLSAgICAgICAgdmFyIGlkbCA9IG5ldyBJZGxBcnJheSgpOwotICAgICAgICBpZGwuYWRk
X3VudGVzdGVkX2lkbHMoJ2ludGVyZmFjZSBBIDogQiB7IH07Jyk7Ci0gICAgICAgIGlkbC5hc3Nl
cnRfdGhyb3dzKAotICAgICAgICAgICAgJ0R1cGxpY2F0ZSBpZGVudGlmaWVyIEEnLAotICAgICAg
ICAgICAgaSA9PiBpLmFkZF91bnRlc3RlZF9pZGxzKCdpbnRlcmZhY2UgQSA6IEMgeyB9OycpKTsK
LSAgICB9LCAnc2hvdWxkIHRocm93IHdoZW4gbXVsdGlwbGUgaW5oZXJpdGFuY2VzIGRlZmluZWQn
KTsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy91bml0
L0lkbEludGVyZmFjZS9nZXRfaW50ZXJmYWNlX29iamVjdC5odG1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy91bml0L0lk
bEludGVyZmFjZS9nZXRfaW50ZXJmYWNlX29iamVjdC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCBhM2Q5MDFhNzUyZC4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy91bml0L0lk
bEludGVyZmFjZS9nZXRfaW50ZXJmYWNlX29iamVjdC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEs
MjIgKzAsMCBAQAotPCFET0NUWVBFIEhUTUw+Ci08dGl0bGU+SWRsSW50ZXJmYWNlLnByb3RvdHlw
ZS5nZXRfaW50ZXJmYWNlX29iamVjdCgpPC90aXRsZT4KLTxkaXYgaWQ9ImxvZyI+PC9kaXY+Ci08
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy9XZWJJRExQYXJzZXIuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvaWRsaGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4v
Li4vaWRsLWhlbHBlci5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotInVzZSBzdHJpY3QiOwotdGVz
dChmdW5jdGlvbigpIHsKLSAgICB3aW5kb3cuQSA9IHt9OwotICAgIHZhciBpID0gaW50ZXJmYWNl
RnJvbSgnaW50ZXJmYWNlIEEgeyB9OycpOwotICAgIGFzc2VydF9lcXVhbHMoaS5nZXRfaW50ZXJm
YWNlX29iamVjdCgpLCB3aW5kb3cuQSk7Ci19LCAnSW50ZXJmYWNlIGRvZXMgbm90IGhhdmUgTGVn
YWN5TmFtZXNwYWNlLicpOwotCi10ZXN0KGZ1bmN0aW9uKCkgewotICAgIHdpbmRvdy5Gb28gPSB7
IEE6IHt9IH07Ci0gICAgdmFyIGkgPSBpbnRlcmZhY2VGcm9tKCdbTGVnYWN5TmFtZXNwYWNlPUZv
b10gaW50ZXJmYWNlIEEgeyB9OyBuYW1lc3BhY2UgRm9vIHsgfTsnKTsKLSAgICBhc3NlcnRfZXF1
YWxzKGkuZ2V0X2ludGVyZmFjZV9vYmplY3QoKSwgd2luZG93LkZvby5BKTsKLX0sICdJbnRlcmZh
Y2UgaGFzIExlZ2FjeU5hbWVzcGFjZScpOwotPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3Rz
L3VuaXQvSWRsSW50ZXJmYWNlL2dldF9pbnRlcmZhY2Vfb2JqZWN0X293bmVyLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rl
c3RzL3VuaXQvSWRsSW50ZXJmYWNlL2dldF9pbnRlcmZhY2Vfb2JqZWN0X293bmVyLmh0bWwKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDUxYWIyMDY3YmM1Li4wMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90
ZXN0L3Rlc3RzL3VuaXQvSWRsSW50ZXJmYWNlL2dldF9pbnRlcmZhY2Vfb2JqZWN0X293bmVyLmh0
bWwKKysrIC9kZXYvbnVsbApAQCAtMSwyMSArMCwwIEBACi08IURPQ1RZUEUgSFRNTD4KLTx0aXRs
ZT5JZGxJbnRlcmZhY2UucHJvdG90eXBlLmdldF9pbnRlcmZhY2Vfb2JqZWN0X293bmVyKCk8L3Rp
dGxlPgotPGRpdiBpZD0ibG9nIj48L2Rpdj4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL1dlYklETFBhcnNl
ci5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9pZGxoYXJuZXNzLmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi9pZGwtaGVscGVyLmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQ+Ci0idXNlIHN0cmljdCI7Ci10ZXN0KGZ1bmN0aW9uKCkgewotICAgIHZhciBpID0g
aW50ZXJmYWNlRnJvbSgnaW50ZXJmYWNlIEEgeyB9OycpOwotICAgIGFzc2VydF9lcXVhbHMoaS5n
ZXRfaW50ZXJmYWNlX29iamVjdF9vd25lcigpLCB3aW5kb3cpOwotfSwgJ0ludGVyZmFjZSBkb2Vz
IG5vdCBoYXZlIExlZ2FjeU5hbWVzcGFjZS4nKTsKLQotdGVzdChmdW5jdGlvbigpIHsKLSAgICB3
aW5kb3cuRm9vID0ge307Ci0gICAgdmFyIGkgPSBpbnRlcmZhY2VGcm9tKCdbTGVnYWN5TmFtZXNw
YWNlPUZvb10gaW50ZXJmYWNlIEEgeyB9OyBuYW1lc3BhY2UgRm9vIHsgfTsnKTsKLSAgICBhc3Nl
cnRfZXF1YWxzKGkuZ2V0X2ludGVyZmFjZV9vYmplY3Rfb3duZXIoKSwgd2luZG93LkZvbyk7Ci19
LCAnSW50ZXJmYWNlIGhhcyBMZWdhY3lOYW1lc3BhY2UnKTsKLTwvc2NyaXB0PgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
dGVzdC90ZXN0cy91bml0L0lkbEludGVyZmFjZS9nZXRfbGVnYWN5X25hbWVzcGFjZS5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVz
dC90ZXN0cy91bml0L0lkbEludGVyZmFjZS9nZXRfbGVnYWN5X25hbWVzcGFjZS5odG1sCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlMmQ0MmJiMDllMy4uMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVz
dC90ZXN0cy91bml0L0lkbEludGVyZmFjZS9nZXRfbGVnYWN5X25hbWVzcGFjZS5odG1sCisrKyAv
ZGV2L251bGwKQEAgLTEsMjAgKzAsMCBAQAotPCFET0NUWVBFIEhUTUw+Ci08dGl0bGU+SWRsSW50
ZXJmYWNlLnByb3RvdHlwZS5nZXRfbGVnYWN5X25hbWVzcGFjZSgpPC90aXRsZT4KLTxkaXYgaWQ9
ImxvZyI+PC9kaXY+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9XZWJJRExQYXJzZXIuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvaWRsaGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2Ny
aXB0IHNyYz0iLi4vLi4vLi4vaWRsLWhlbHBlci5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotInVz
ZSBzdHJpY3QiOwotdGVzdChmdW5jdGlvbigpIHsKLSAgICB2YXIgaSA9IGludGVyZmFjZUZyb20o
J2ludGVyZmFjZSBBIHsgfTsnKTsKLSAgICBhc3NlcnRfZXF1YWxzKGkuZ2V0X2xlZ2FjeV9uYW1l
c3BhY2UoKSwgdW5kZWZpbmVkKTsKLX0sICdJbnRlcmZhY2UgZG9lcyBub3QgaGF2ZSBMZWdhY3lO
YW1lc3BhY2UuJyk7Ci0KLXRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgdmFyIGkgPSBpbnRlcmZhY2VG
cm9tKCdbTGVnYWN5TmFtZXNwYWNlPUZvb10gaW50ZXJmYWNlIEEgeyB9OyBuYW1lc3BhY2UgRm9v
IHsgfTsnKTsKLSAgICBhc3NlcnRfZXF1YWxzKGkuZ2V0X2xlZ2FjeV9uYW1lc3BhY2UoKSwgIkZv
byIpOwotfSwgJ0ludGVyZmFjZSBoYXMgTGVnYWN5TmFtZXNwYWNlJyk7Ci08L3NjcmlwdD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3Rlc3QvdGVzdHMvdW5pdC9JZGxJbnRlcmZhY2UvZ2V0X3F1YWxpZmllZF9uYW1lLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy90ZXN0L3Rlc3RzL3VuaXQvSWRsSW50ZXJmYWNlL2dldF9xdWFsaWZpZWRfbmFtZS5odG1sCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2NzdhMzFiNWU3MC4uMDAwMDAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
dGVzdC90ZXN0cy91bml0L0lkbEludGVyZmFjZS9nZXRfcXVhbGlmaWVkX25hbWUuaHRtbAorKysg
L2Rldi9udWxsCkBAIC0xLDIwICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPHRpdGxlPklkbElu
dGVyZmFjZS5wcm90b3R5cGUuZ2V0X3F1YWxpZmllZF9uYW1lKCk8L3RpdGxlPgotPGRpdiBpZD0i
bG9nIj48L2Rpdj4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL1dlYklETFBhcnNlci5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9pZGxoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSIuLi8uLi8uLi9pZGwtaGVscGVyLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci0idXNl
IHN0cmljdCI7Ci10ZXN0KGZ1bmN0aW9uKCkgewotICAgIHZhciBpID0gaW50ZXJmYWNlRnJvbSgn
aW50ZXJmYWNlIEEgeyB9OycpOwotICAgIGFzc2VydF9lcXVhbHMoaS5nZXRfcXVhbGlmaWVkX25h
bWUoKSwgIkEiKTsKLX0sICdJbnRlcmZhY2UgZG9lcyBub3QgaGF2ZSBMZWdhY3lOYW1lc3BhY2Uu
Jyk7Ci0KLXRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgdmFyIGkgPSBpbnRlcmZhY2VGcm9tKCdbTGVn
YWN5TmFtZXNwYWNlPUZvb10gaW50ZXJmYWNlIEEgeyB9OyBuYW1lc3BhY2UgRm9vIHsgfTsnKTsK
LSAgICBhc3NlcnRfZXF1YWxzKGkuZ2V0X3F1YWxpZmllZF9uYW1lKCksICJGb28uQSIpOwotfSwg
J0ludGVyZmFjZSBoYXMgTGVnYWN5TmFtZXNwYWNlJyk7Ci08L3NjcmlwdD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rl
c3QvdGVzdHMvdW5pdC9JZGxJbnRlcmZhY2UvaGFzX2RlZmF1bHRfdG9fanNvbl9yZWd1bGFyX29w
ZXJhdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy91bml0L0lkbEludGVyZmFjZS9oYXNfZGVmYXVsdF90b19q
c29uX3JlZ3VsYXJfb3BlcmF0aW9uLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IGI0NzI2MmI3MmI5Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL3VuaXQvSWRsSW50ZXJmYWNl
L2hhc19kZWZhdWx0X3RvX2pzb25fcmVndWxhcl9vcGVyYXRpb24uaHRtbAorKysgL2Rldi9udWxs
CkBAIC0xLDQ3ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLTx0aXRs
ZT5JZGxJbnRlcmZhY2UucHJvdG90eXBlLmhhc19kZWZhdWx0X3RvX2pzb25fcmVndWxhcl9vcGVy
YXRpb24oKTwvdGl0bGU+Ci08L2hlYWQ+Ci08Ym9keT4KLTxkaXYgaWQ9ImxvZyI+PC9kaXY+Ci08
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy9XZWJJRExQYXJzZXIuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvaWRsaGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4v
Li4vaWRsLWhlbHBlci5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotICAgICJ1c2Ugc3RyaWN0IjsK
LSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgaSA9IGludGVyZmFjZUZyb20oJ2lu
dGVyZmFjZSBBIHsgfTsnKTsKLSAgICAgICAgYXNzZXJ0X2ZhbHNlKGkuaGFzX2RlZmF1bHRfdG9f
anNvbl9yZWd1bGFyX29wZXJhdGlvbigpKTsKLSAgICB9LCAnc2hvdWxkIHJldHVybiBmYWxzZSB3
aGVuIHRoZSBpbnRlcmZhY2UgZGVjbGFyZXMgbm8gdG9KU09OIG9wZXJhdGlvbi4nKTsKLQotICAg
IHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBpID0gaW50ZXJmYWNlRnJvbSgnaW50ZXJm
YWNlIEEgeyBzdGF0aWMgb2JqZWN0IHRvSlNPTigpOyB9OycpOwotICAgICAgICBhc3NlcnRfZmFs
c2UoaS5oYXNfZGVmYXVsdF90b19qc29uX3JlZ3VsYXJfb3BlcmF0aW9uKCkpOwotICAgIH0sICdz
aG91bGQgcmV0dXJuIGZhbHNlIHdoZW4gdGhlIGludGVyZmFjZSBkZWNsYXJlcyBhIHN0YXRpYyB0
b0pTT04gb3BlcmF0aW9uLicpOwotCi0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgdmFy
IGkgPSBpbnRlcmZhY2VGcm9tKCdpbnRlcmZhY2UgQSB7IG9iamVjdCB0b0pTT04oKTsgfTsnKTsK
LSAgICAgICAgYXNzZXJ0X2ZhbHNlKGkuaGFzX2RlZmF1bHRfdG9fanNvbl9yZWd1bGFyX29wZXJh
dGlvbigpKTsKLSAgICB9LCAnc2hvdWxkIHJldHVybiBmYWxzZSB3aGVuIHRoZSBpbnRlcmZhY2Ug
ZGVjbGFyZXMgYSByZWd1bGFyIHRvSlNPTiBvcGVyYXRpb24gd2l0aCBubyBleHRlbmRlZCBhdHRy
aWJ1dGUuJyk7Ci0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgaSA9IGludGVy
ZmFjZUZyb20oJ2ludGVyZmFjZSBBIHsgW3hdIG9iamVjdCB0b0pTT04oKTsgfTsnKTsKLSAgICAg
ICAgYXNzZXJ0X2ZhbHNlKGkuaGFzX2RlZmF1bHRfdG9fanNvbl9yZWd1bGFyX29wZXJhdGlvbigp
KTsKLSAgICB9LCAnc2hvdWxkIHJldHVybiBmYWxzZSB3aGVuIHRoZSBpbnRlcmZhY2UgZGVjbGFy
ZXMgYSByZWd1bGFyIHRvSlNPTiBvcGVyYXRpb24gd2l0aCBhbm90aGVyIGV4dGVudGVkIGF0dHJp
YnV0ZS4nKTsKLQotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBpID0gaW50ZXJm
YWNlRnJvbSgnaW50ZXJmYWNlIEEgeyBbRGVmYXVsdF0gb2JqZWN0IHRvSlNPTigpOyB9OycpOwot
ICAgICAgICBhc3NlcnRfdHJ1ZShpLmhhc19kZWZhdWx0X3RvX2pzb25fcmVndWxhcl9vcGVyYXRp
b24oKSk7Ci0gICAgfSwgJ3Nob3VsZCByZXR1cm4gdHJ1ZSB3aGVuIHRoZSBpbnRlcmZhY2UgZGVj
bGFyZXMgYSByZWd1bGFyIHRvSlNPTiBvcGVyYXRpb24gd2l0aCB0aGUgW0RlZmF1bHRdIGV4dGVu
dGVkIGF0dHJpYnV0ZS4nKTsKLQotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBp
ID0gaW50ZXJmYWNlRnJvbSgnaW50ZXJmYWNlIEEgeyBbQXR0ciwgQW5vdGhlckF0dHIsIERlZmF1
bHRdIG9iamVjdCB0b0pTT04oKTsgfTsnKTsKLSAgICAgICAgYXNzZXJ0X3RydWUoaS5oYXNfZGVm
YXVsdF90b19qc29uX3JlZ3VsYXJfb3BlcmF0aW9uKCkpOwotICAgIH0sICdzaG91bGQgcmV0dXJu
IHRydWUgd2hlbiB0aGUgaW50ZXJmYWNlIGRlY2xhcmVzIGEgcmVndWxhciB0b0pTT04gb3BlcmF0
aW9uIHdpdGggbXVsdGlwbGUgZXh0ZW5kZWQgYXR0cmlidXRlcywgaW5jbHVkaW5nIFtEZWZhdWx0
XS4nKTsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgotCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3Rz
L3VuaXQvSWRsSW50ZXJmYWNlL2hhc190b19qc29uX3JlZ3VsYXJfb3BlcmF0aW9uLmh0bWwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0
L3Rlc3RzL3VuaXQvSWRsSW50ZXJmYWNlL2hhc190b19qc29uX3JlZ3VsYXJfb3BlcmF0aW9uLmh0
bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGExYTY0MWJkOTcxLi4wMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy90ZXN0L3Rlc3RzL3VuaXQvSWRsSW50ZXJmYWNlL2hhc190b19qc29uX3JlZ3VsYXJfb3Bl
cmF0aW9uLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwzMSArMCwwIEBACi08IURPQ1RZUEUgSFRN
TD4KLTxodG1sPgotPGhlYWQ+Ci08dGl0bGU+SWRsSW50ZXJmYWNlLnByb3RvdHlwZS5oYXNfdG9f
anNvbl9yZWd1bGFyX29wZXJhdGlvbigpPC90aXRsZT4KLTwvaGVhZD4KLTxib2R5PgotPGRpdiBp
ZD0ibG9nIj48L2Rpdj4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL1dlYklETFBhcnNlci5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9pZGxoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSIuLi8uLi8uLi9pZGwtaGVscGVyLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci0g
ICAgInVzZSBzdHJpY3QiOwotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBpID0g
aW50ZXJmYWNlRnJvbSgnaW50ZXJmYWNlIEEgeyB9OycpOwotICAgICAgICBhc3NlcnRfZmFsc2Uo
aS5oYXNfdG9fanNvbl9yZWd1bGFyX29wZXJhdGlvbigpKTsKLSAgICB9LCAnc2hvdWxkIHJldHVy
biBmYWxzZSB3aGVuIHRoZSBpbnRlcmZhY2UgZGVjbGFyZXMgbm8gdG9KU09OIG9wZXJhdGlvbi4n
KTsKLQotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBpID0gaW50ZXJmYWNlRnJv
bSgnaW50ZXJmYWNlIEEgeyBzdGF0aWMgb2JqZWN0IHRvSlNPTigpOyB9OycpOwotICAgICAgICBh
c3NlcnRfZmFsc2UoaS5oYXNfdG9fanNvbl9yZWd1bGFyX29wZXJhdGlvbigpKTsKLSAgICB9LCAn
c2hvdWxkIHJldHVybiBmYWxzZSB3aGVuIHRoZSBpbnRlcmZhY2UgZGVjbGFyZXMgYSBzdGF0aWMg
dG9KU09OIG9wZXJhdGlvbi4nKTsKLQotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZh
ciBpID0gaW50ZXJmYWNlRnJvbSgnaW50ZXJmYWNlIEEgeyBvYmplY3QgdG9KU09OKCk7IH07Jyk7
Ci0gICAgICAgIGFzc2VydF90cnVlKGkuaGFzX3RvX2pzb25fcmVndWxhcl9vcGVyYXRpb24oKSk7
Ci0gICAgfSwgJ3Nob3VsZCByZXR1cm4gdHJ1ZSB3aGVuIHRoZSBpbnRlcmZhY2UgZGVjbGFyZXMg
YSByZWd1bGFyIHRvSlNPTiBvcGVyYXRpb24uJyk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvdW5pdC9JZGxJbnRlcmZhY2UvdGVzdF9wcmltYXJ5X2lu
dGVyZmFjZV9vZl91bmRlZmluZWQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvdW5pdC9JZGxJbnRlcmZhY2UvdGVz
dF9wcmltYXJ5X2ludGVyZmFjZV9vZl91bmRlZmluZWQuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAzMTU1OGFkNDIuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvdW5pdC9J
ZGxJbnRlcmZhY2UvdGVzdF9wcmltYXJ5X2ludGVyZmFjZV9vZl91bmRlZmluZWQuaHRtbAorKysg
L2Rldi9udWxsCkBAIC0xLDI5ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci0KLTxo
ZWFkPgotICA8dGl0bGU+aWRsaGFybmVzcyB0ZXN0X3ByaW1hcnlfaW50ZXJmYWNlX29mX3VuZGVm
aW5lZDwvdGl0bGU+Ci08L2hlYWQ+Ci0KLTxib2R5PgotICA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci0gIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL1dl
YklETFBhcnNlci5qcyI+PC9zY3JpcHQ+Ci0gIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL2lkbGhh
cm5lc3MuanMiPjwvc2NyaXB0PgotICA8c2NyaXB0PgotICAgICd1c2Ugc3RyaWN0JzsKLSAgICB0
ZXN0KGZ1bmN0aW9uICgpIHsKLSAgICAgIGxldCBpID0gbmV3IElkbEFycmF5KCk7Ci0gICAgICBp
LmFkZF91bnRlc3RlZF9pZGxzKCdpbnRlcmZhY2UgQSA6IEIge307Jyk7Ci0gICAgICBpLmFzc2Vy
dF90aHJvd3MobmV3IElkbEhhcm5lc3NFcnJvcignQSBpbmhlcml0cyBCLCBidXQgQiBpcyB1bmRl
ZmluZWQuJyksIGkgPT4gaS50ZXN0KCkpOwotICAgIH0sICdBIDogQiB3aXRoIEIgdW5kZWNsYXJl
ZCBzaG91bGQgdGhyb3cgSWRsSGFybmVzc0Vycm9yJyk7Ci0KLSAgICB0ZXN0KGZ1bmN0aW9uICgp
IHsKLSAgICAgIGxldCBpID0gbmV3IElkbEFycmF5KCk7Ci0gICAgICBpLmFkZF91bnRlc3RlZF9p
ZGxzKCdpbnRlcmZhY2UgQSA6IEIge307Jyk7Ci0gICAgICBpLmFkZF91bnRlc3RlZF9pZGxzKCdk
aWN0aW9uYXJ5IEIge307Jyk7Ci0gICAgICBpLmFzc2VydF90aHJvd3MobmV3IElkbEhhcm5lc3NF
cnJvcignQSBpbmhlcml0cyBCLCBidXQgQiBpcyBub3QgYW4gaW50ZXJmYWNlLicpLCBpID0+IGku
dGVzdCgpKTsKLSAgICB9LCAnaW50ZXJmYWNlIEEgOiBCIHdpdGggQiBkaWN0aW9uYXJ5IHNob3Vs
ZCB0aHJvdyBJZGxIYXJuZXNzRXJyb3InKTsKLSAgPC9zY3JpcHQ+Ci08L2JvZHk+Ci0KLTwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvdW5pdC9JZGxJbnRlcmZhY2UvdHJhdmVyc2VfaW5oZXJp
dGVkX2FuZF9jb25zZXF1ZW50aWFsX2ludGVyZmFjZXMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvdW5pdC9JZGxJ
bnRlcmZhY2UvdHJhdmVyc2VfaW5oZXJpdGVkX2FuZF9jb25zZXF1ZW50aWFsX2ludGVyZmFjZXMu
aHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDAwYmMzNWQ5ZmMuLjAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3Rlc3QvdGVzdHMvdW5pdC9JZGxJbnRlcmZhY2UvdHJhdmVyc2VfaW5oZXJpdGVkX2Fu
ZF9jb25zZXF1ZW50aWFsX2ludGVyZmFjZXMuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDU4ICsw
LDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLTx0aXRsZT5JZGxEaWN0aW9u
YXJ5LnByb3RvdHlwZS50cmF2ZXJzZV9pbmhlcml0ZWRfYW5kX2NvbnNlcXVlbnRpYWxfaW50ZXJm
YWNlcygpPC90aXRsZT4KLTwvaGVhZD4KLTxib2R5PgotPGRpdiBpZD0ibG9nIj48L2Rpdj4KLTxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL1dlYklETFBhcnNlci5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy9pZGxoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8u
Li9pZGwtaGVscGVyLmpzIj48L3NjcmlwdD4KLTxwcmUgaWQ9ZnJhZ21lbnRzPgotICAgIGludGVy
ZmFjZSBBIDogQiB7IH07Ci0gICAgaW50ZXJmYWNlIEIgOiBDIHsgfTsKLSAgICBpbnRlcmZhY2Ug
QyB7IH07Ci0gICAgaW50ZXJmYWNlIG1peGluIEQgeyB9OwotICAgIGludGVyZmFjZSBtaXhpbiBH
IHsgfTsKLSAgICBpbnRlcmZhY2UgbWl4aW4gSCB7IH07Ci0KLSAgICBBIGluY2x1ZGVzIEc7Ci0g
ICAgQSBpbmNsdWRlcyBIOwotICAgIEIgaW5jbHVkZXMgRDsKLTwvcHJlPgotPHNjcmlwdD4KLSAg
ICAidXNlIHN0cmljdCI7Ci0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIGludGVy
ZmFjZXMgPSBbXTsKLSAgICAgICAgaW50ZXJmYWNlRnJvbSgnaW50ZXJmYWNlIEEgeyB9OycpLnRy
YXZlcnNlX2luaGVyaXRlZF9hbmRfY29uc2VxdWVudGlhbF9pbnRlcmZhY2VzKGZ1bmN0aW9uKGkp
IHsKLSAgICAgICAgICAgIGludGVyZmFjZXMucHVzaChpLm5hbWUpOwotICAgICAgICB9KTsKLSAg
ICAgICAgYXNzZXJ0X2FycmF5X2VxdWFscyhpbnRlcmZhY2VzLCBbIkEiXSk7Ci0gICAgfSwgJ3No
b3VsZCByZXR1cm4gYW4gYXJyYXkgdGhhdCBpbmNsdWRlcyBpdHNlbGYuJyk7Ci0KLSAgICB0ZXN0
KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgY29udGV4dCA9IG5ldyBJZGxBcnJheSgpOwotICAg
ICAgICBjb250ZXh0LmFkZF9pZGxzKCJpbnRlcmZhY2UgQSB7IH07IEEgaW5jbHVkZXMgQjsiKTsK
LSAgICAgICAgYXNzZXJ0X3Rocm93cyhuZXcgRXJyb3IoKSwgXyA9PiBjb250ZXh0Lm1lbWJlcnNb
IkEiXS50cmF2ZXJzZV9pbmhlcml0ZWRfYW5kX2NvbnNlcXVlbnRpYWxfaW50ZXJmYWNlcyhmdW5j
dGlvbigpIHt9KSk7Ci0gICAgfSwgInNob3VsZCB0aHJvdyBmb3IgaW50ZXJmYWNlcyB3aGljaCBh
cmUgZXh0ZW5kZWQgYnkgYW5vdGhlciBpbnRlcmZhY2Ugd2hpY2ggd2Fzbid0IGFkZGVkIHRvIHRo
ZSBJZGxBcnJheS4iKTsKLQotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBjb250
ZXh0ID0gbmV3IElkbEFycmF5KCk7Ci0gICAgICAgIGNvbnRleHQuYWRkX2lkbHMoImludGVyZmFj
ZSBBIHsgfTsiKTsKLSAgICAgICAgYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksIF8gPT4g
Y29udGV4dC5tZW1iZXJzWyJBIl0udHJhdmVyc2VfaW5oZXJpdGVkX2FuZF9jb25zZXF1ZW50aWFs
X2ludGVyZmFjZXMoKSk7Ci0gICAgfSwgInNob3VsZCB0aHJvdyBpZiBub3QgcGFzc2VkIGEgY2Fs
bGJhY2siKTsKLQotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBjb250ZXh0ID0g
bmV3IElkbEFycmF5KCk7Ci0gICAgICAgIGNvbnRleHQuYWRkX2lkbHMoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoJ2ZyYWdtZW50cycpLnRleHRDb250ZW50KTsKLSAgICAgICAgdmFyIGludGVyZmFj
ZXMgPSBbXTsKLSAgICAgICAgY29udGV4dC5tZW1iZXJzWyJBIl0udHJhdmVyc2VfaW5oZXJpdGVk
X2FuZF9jb25zZXF1ZW50aWFsX2ludGVyZmFjZXMoZnVuY3Rpb24oaSkgewotICAgICAgICAgICAg
aW50ZXJmYWNlcy5wdXNoKGkubmFtZSk7Ci0gICAgICAgIH0pOwotICAgICAgICBhc3NlcnRfYXJy
YXlfZXF1YWxzKGludGVyZmFjZXMsIFsiQyIsICJCIiwgIkQiLCAiQSIsICJHIiwgIkgiXSk7Ci0g
ICAgfSwgJ3Nob3VsZCByZXR1cm4gYW4gYXJyYXkgdGhhdCBpbmNsdWRlcyB0aGUgaWRlbnRpZmll
ciBvZiB0aGUgaW50ZXJmYWNlcyBpbiB0aGUgY29ycmVjdCBvcmRlci4nKTsKLTwvc2NyaXB0Pgot
PC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy91bml0L0lkbEludGVyZmFjZS93
M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvdW5pdC9JZGxJbnRlcmZhY2UvdzNjLWltcG9ydC5sb2cK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY1OGE4OTc0NDEzLi4wMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy90ZXN0L3Rlc3RzL3VuaXQvSWRsSW50ZXJmYWNlL3czYy1pbXBvcnQubG9nCisrKyAvZGV2L251
bGwKQEAgLTEsMjggKzAsMCBAQAotVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1w
b3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCi1EbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3Rz
IGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0
aGUgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dw
dAotCi1UaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktp
dCB0byByZWltcG9ydAotCi1EbyBOT1QgbW9kaWZ5IG9yIHJlbW92ZSB0aGlzIGZpbGUuCi0KLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLQotUHJvcGVydGllcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgotTm9u
ZQotUHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6Ci1Ob25lCi0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0KLUxpc3Qgb2YgZmlsZXM6Ci0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy91bml0L0lkbEludGVyZmFjZS9j
b25zdHJ1Y3RvcnMuaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvdW5pdC9JZGxJbnRlcmZhY2UvZGVmYXVsdF90b19q
c29uX29wZXJhdGlvbi5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy91bml0L0lkbEludGVyZmFjZS9kb19tZW1iZXJf
dW5zY29wYWJsZV9hc3NlcnRzLmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL3VuaXQvSWRsSW50ZXJmYWNlL2dldF9p
bmhlcml0YW5jZV9zdGFjay5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy91bml0L0lkbEludGVyZmFjZS9nZXRfaW50
ZXJmYWNlX29iamVjdC5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy91bml0L0lkbEludGVyZmFjZS9nZXRfaW50ZXJm
YWNlX29iamVjdF9vd25lci5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy91bml0L0lkbEludGVyZmFjZS9nZXRfbGVn
YWN5X25hbWVzcGFjZS5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy91bml0L0lkbEludGVyZmFjZS9nZXRfcXVhbGlm
aWVkX25hbWUuaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvdW5pdC9JZGxJbnRlcmZhY2UvaGFzX2RlZmF1bHRfdG9f
anNvbl9yZWd1bGFyX29wZXJhdGlvbi5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy91bml0L0lkbEludGVyZmFjZS9o
YXNfdG9fanNvbl9yZWd1bGFyX29wZXJhdGlvbi5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy91bml0L0lkbEludGVy
ZmFjZS90ZXN0X3ByaW1hcnlfaW50ZXJmYWNlX29mX3VuZGVmaW5lZC5odG1sCi0vTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy91
bml0L0lkbEludGVyZmFjZS90cmF2ZXJzZV9pbmhlcml0ZWRfYW5kX2NvbnNlcXVlbnRpYWxfaW50
ZXJmYWNlcy5odG1sCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL3VuaXQvSWRsSW50ZXJmYWNlTWVtYmVy
L2lzX3RvX2pzb25fcmVndWxhcl9vcGVyYXRpb24uaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvdW5pdC9JZGxJbnRl
cmZhY2VNZW1iZXIvaXNfdG9fanNvbl9yZWd1bGFyX29wZXJhdGlvbi5odG1sCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCBhYmZhNGFiODAwYi4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0
cy91bml0L0lkbEludGVyZmFjZU1lbWJlci9pc190b19qc29uX3JlZ3VsYXJfb3BlcmF0aW9uLmh0
bWwKKysrIC9kZXYvbnVsbApAQCAtMSw0MiArMCwwIEBACi08IURPQ1RZUEUgSFRNTD4KLTxodG1s
PgotPGhlYWQ+Ci08dGl0bGU+SWRsSW50ZXJmYWNlTWVtYmVyLnByb3RvdHlwZS5pc190b19qc29u
X3JlZ3VsYXJfb3BlcmF0aW9uKCk8L3RpdGxlPgotPC9oZWFkPgotPGJvZHk+Ci08ZGl2IGlkPSJs
b2ciPjwvZGl2PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvV2ViSURMUGFyc2VyLmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL2lkbGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlw
dCBzcmM9Ii4uLy4uLy4uL2lkbC1oZWxwZXIuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLSAgICAi
dXNlIHN0cmljdCI7Ci0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIG0gPSBtZW1i
ZXJGcm9tKCJyZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGZvbyIpOwotICAgICAgICBhc3Nl
cnRfZmFsc2UobS5pc190b19qc29uX3JlZ3VsYXJfb3BlcmF0aW9uKCkpOwotICAgIH0sICdzaG91
bGQgcmV0dXJuIGZhbHNlIHdoZW4gbWVtYmVyIGlzIGFuIGF0dHJpYnV0ZS4nKTsKLQotICAgIHRl
c3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBtID0gbWVtYmVyRnJvbSgic3RhdGljIHZvaWQg
Zm9vKCkiKTsKLSAgICAgICAgYXNzZXJ0X2ZhbHNlKG0uaXNfdG9fanNvbl9yZWd1bGFyX29wZXJh
dGlvbigpKTsKLSAgICB9LCAnc2hvdWxkIHJldHVybiBmYWxzZSB3aGVuIG1lbWJlciBpcyBhIHN0
YXRpYyBvcGVyYXRpb24uJyk7Ci0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIg
bSA9IG1lbWJlckZyb20oInN0YXRpYyBvYmplY3QgdG9KU09OKCkiKTsKLSAgICAgICAgYXNzZXJ0
X2ZhbHNlKG0uaXNfdG9fanNvbl9yZWd1bGFyX29wZXJhdGlvbigpKTsKLSAgICB9LCAnc2hvdWxk
IHJldHVybiBmYWxzZSB3aGVuIG1lbWJlciBpcyBhIHN0YXRpYyB0b0pTT04gb3BlcmF0aW9uLicp
OwotCi0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIG0gPSBtZW1iZXJGcm9tKCJv
YmplY3QgdG9KU09OKCkiKTsKLSAgICAgICAgYXNzZXJ0X3RydWUobS5pc190b19qc29uX3JlZ3Vs
YXJfb3BlcmF0aW9uKCkpOwotICAgIH0sICdzaG91bGQgcmV0dXJuIHRydWUgd2hlbiBtZW1iZXIg
aXMgYSByZWd1bGFyIHRvSlNPTiBvcGVyYXRpb24uJyk7Ci0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkg
ewotICAgICAgICB2YXIgbSA9IG1lbWJlckZyb20oIltGb29dIG9iamVjdCB0b0pTT04oKSIpOwot
ICAgICAgICBhc3NlcnRfdHJ1ZShtLmlzX3RvX2pzb25fcmVndWxhcl9vcGVyYXRpb24oKSk7Ci0g
ICAgfSwgJ3Nob3VsZCByZXR1cm4gdHJ1ZSB3aGVuIG1lbWJlciBpcyBhIHJlZ3VsYXIgdG9KU09O
IG9wZXJhdGlvbiB3aXRoIGV4dGVuc2libGUgYXR0cmlidXRlcy4nKTsKLTwvc2NyaXB0PgotPC9i
b2R5PgotPC9odG1sPgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL3VuaXQvSWRsSW50ZXJmYWNlTWVt
YmVyL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy91bml0L0lkbEludGVyZmFjZU1lbWJlci93M2Mt
aW1wb3J0LmxvZwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjViYjhjNzA0YTYuLjAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvdW5pdC9JZGxJbnRlcmZhY2VNZW1iZXIvdzNjLWltcG9y
dC5sb2cKKysrIC9kZXYvbnVsbApAQCAtMSwxNyArMCwwIEBACi1UaGUgdGVzdHMgaW4gdGhpcyBk
aXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KLURvIE5PVCBt
b2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVhZCwgY3JlYXRlIGEg
cHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0aHViLmNvbS93ZWIt
cGxhdGZvcm0tdGVzdHMvd3B0Ci0KLVRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13
M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0Ci0KLURvIE5PVCBtb2RpZnkgb3IgcmVtb3Zl
IHRoaXMgZmlsZS4KLQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1Qcm9wZXJ0aWVzIHJlcXVpcmluZyB2ZW5k
b3IgcHJlZml4ZXM6Ci1Ob25lCi1Qcm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVm
aXhlczoKLU5vbmUKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotTGlzdCBvZiBmaWxlczoKLS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL3Vu
aXQvSWRsSW50ZXJmYWNlTWVtYmVyL2lzX3RvX2pzb25fcmVndWxhcl9vcGVyYXRpb24uaHRtbApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvdGVzdC90ZXN0cy91bml0L2Fzc2VydF9vYmplY3RfZXF1YWxzLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rl
c3RzL3VuaXQvYXNzZXJ0X29iamVjdF9lcXVhbHMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggNzNhOWI5NTg0MzguLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvdW5pdC9hc3Nl
cnRfb2JqZWN0X2VxdWFscy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTcwICswLDAgQEAKLTwh
RE9DVFlQRSBIVE1MPgotPGh0bWwgbGFuZz0iZW4iPgotPG1ldGEgY2hhcnNldD0idXRmLTgiPgot
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHRpdGxl
PkFzc2VydGlvbiBmdW5jdGlvbnM8L3RpdGxlPgotPHNjcmlwdD4KLSd1c2Ugc3RyaWN0JzsKLQot
Ly8gTmVpdGhlciB0aGUgYGFzc2VydF90aHJvd3NgIGZ1bmN0aW9uICBub3IgaXRzIHZhcmlhbnRz
IG1heSBiZSB1c2VkIGZvciB0aGlzCi0vLyBwdXJwb3NlIGJlY2F1c2UgdGhleSBmYWlsIGluIHJl
c3BvbnNlIHRvIEFzc2VydGlvbkVycm9yIGV4Y2VwdGlvbnMsIGV2ZW4KLS8vIHdoZW4gdGhpcyBp
cyBleHByZXNzZWQgYXMgdGhlIGV4cGVjdGVkIGVycm9yLgotZnVuY3Rpb24gdGVzdF9mYWlsdXJl
KGZuLCBuYW1lKSB7Ci0gIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgdHJ5IHsKLSAgICAgIGZuKCk7
Ci0gICAgfSBjYXRjaCAoZXJyKSB7Ci0gICAgICBpZiAoZXJyIGluc3RhbmNlb2YgQXNzZXJ0aW9u
RXJyb3IpIHsKLSAgICAgICAgcmV0dXJuOwotICAgICAgfQotICAgICAgdGhyb3cgbmV3IEFzc2Vy
dGlvbkVycm9yKCdFeHBlY3RlZCBhbiBBc3NlcnRpb25FcnJvciwgYnV0Jyk7Ci0gICAgfQotICAg
IHRocm93IG5ldyBBc3NlcnRpb25FcnJvcigKLSAgICAgICdFeHBlY3RlZCBhbiBBc3NlcnRpb25F
cnJvciwgYnV0IG5vIGVycm9yIHdhcyB0aHJvd24nCi0gICAgKTsKLSAgfSwgbmFtZSk7Ci19Ci0K
LXRlc3QoZnVuY3Rpb24oKSB7Ci0gIGFzc2VydF9vYmplY3RfZXF1YWxzKHt9LCB7fSk7Ci19LCAn
ZW1wdHkgb2JqZWN0cycpOwotCi10ZXN0KGZ1bmN0aW9uKCkgewotICB2YXIgYWN0dWFsID0ge307
Ci0gIHZhciBleHBlY3RlZCA9IHt9OwotICBhY3R1YWwuYSA9IGFjdHVhbDsKLSAgZXhwZWN0ZWQu
YSA9IGFjdHVhbDsKLQotICBhc3NlcnRfb2JqZWN0X2VxdWFscyhhY3R1YWwsIGV4cGVjdGVkKTsK
LX0sICd0b2xlcmF0ZXMgY3ljbGVzIGluIGFjdHVhbCB2YWx1ZScpOwotCi10ZXN0KGZ1bmN0aW9u
KCkgewotICB2YXIgYWN0dWFsID0ge307Ci0gIHZhciBleHBlY3RlZCA9IHt9OwotICBhY3R1YWwu
YSA9IGV4cGVjdGVkOwotICBleHBlY3RlZC5hID0gZXhwZWN0ZWQ7Ci0KLSAgYXNzZXJ0X29iamVj
dF9lcXVhbHMoYWN0dWFsLCBleHBlY3RlZCk7Ci19LCAndG9sZXJhdGVzIGN5Y2xlcyBpbiBleHBl
Y3RlZCB2YWx1ZScpOwotCi10ZXN0KGZ1bmN0aW9uKCkgewotICBhc3NlcnRfb2JqZWN0X2VxdWFs
cyh7MjogOTksIDA6IDIzLCAxOiA0NX0sIFsyMywgNDUsIDk5XSk7Ci19LCAncmVjb2duaXplcyBl
cXVpdmFsZW5jZSBvZiBhY3R1YWwgb2JqZWN0IGFuZCBleHBlY3RlZCBhcnJheScpOwotCi10ZXN0
KGZ1bmN0aW9uKCkgewotICBhc3NlcnRfb2JqZWN0X2VxdWFscyhbMjMsIDQ1LCA5OV0sIHsyOiA5
OSwgMDogMjMsIDE6IDQ1fSk7Ci19LCAncmVjb2duaXplcyBlcXVpdmFsZW5jZSBvZiBhY3R1YWwg
YXJyYXkgYW5kIGV4cGVjdGVkIG9iamVjdCcpOwotCi10ZXN0KGZ1bmN0aW9uKCkgewotICB2YXIg
YWN0dWFsID0ge307Ci0gIHZhciBleHBlY3RlZCA9IHt9OwotICBPYmplY3QuZGVmaW5lUHJvcGVy
dHkoYWN0dWFsLCAnYScsIHsgdmFsdWU6IDEsIGVudW1lcmFibGU6IGZhbHNlIH0pOwotCi0gIGFz
c2VydF90cnVlKGFjdHVhbC5hICE9PSBleHBlY3RlZC5hKTsKLSAgYXNzZXJ0X29iamVjdF9lcXVh
bHMoYWN0dWFsLCBleHBlY3RlZCk7Ci19LCAnbm9uLWVudW1lcmFibGUgcHJvcGVydGllcyBpbiBh
Y3R1YWwgdmFsdWUgaWdub3JlZCcpOwotCi10ZXN0KGZ1bmN0aW9uKCkgewotICB2YXIgYWN0dWFs
ID0ge307Ci0gIHZhciBleHBlY3RlZCA9IHt9OwotICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhw
ZWN0ZWQsICdhJywgeyB2YWx1ZTogMSwgZW51bWVyYWJsZTogZmFsc2UgfSk7Ci0KLSAgYXNzZXJ0
X3RydWUoYWN0dWFsLmEgIT09IGV4cGVjdGVkLmEpOwotICBhc3NlcnRfb2JqZWN0X2VxdWFscyhh
Y3R1YWwsIGV4cGVjdGVkKTsKLX0sICdub24tZW51bWVyYWJsZSBwcm9wZXJ0aWVzIGluIGV4cGVj
dGVkIHZhbHVlIGlnbm9yZWQnKTsKLQotdGVzdChmdW5jdGlvbigpIHsKLSAgYXNzZXJ0X29iamVj
dF9lcXVhbHMoe2M6IDMsIGE6IDEsIGI6IDJ9LCB7YTogMSwgYjogMiwgYzogM30pOwotfSwgJ2Vx
dWl2YWxlbnQgb2JqZWN0cyAtICJmbGF0IiBvYmplY3QnKTsKLQotdGVzdChmdW5jdGlvbigpIHsK
LSAgYXNzZXJ0X29iamVjdF9lcXVhbHMoCi0gICAge2M6IHtlOiA1LCBkOiA0fSwgYjogMiwgYTog
MX0sCi0gICAge2E6IDEsIGI6IDIsIGM6IHtkOiA0LCBlOiA1fX0KLSAgKTsKLX0sICdlcXVpdmFs
ZW50IG9iamVjdHMgLSBuZXN0ZWQgb2JqZWN0Jyk7Ci0KLXRlc3QoZnVuY3Rpb24oKSB7Ci0gIGFz
c2VydF9vYmplY3RfZXF1YWxzKAotICAgIHtjOiBbNCwgNV0sIGI6IDIsIGE6IDF9LAotICAgIHth
OiAxLCBiOiAyLCBjOiBbNCwgNV19Ci0gICk7Ci19LCAnZXF1aXZhbGVudCBvYmplY3RzIC0gbmVz
dGVkIGFycmF5Jyk7Ci0KLXRlc3QoZnVuY3Rpb24oKSB7Ci0gIGFzc2VydF9vYmplY3RfZXF1YWxz
KHthOiBOYU59LCB7YTogTmFOfSk7Ci19LCAnZXF1aXZhbGVudCBvYmplY3RzIC0gTmFOIHZhbHVl
Jyk7Ci0KLXRlc3QoZnVuY3Rpb24oKSB7Ci0gIGFzc2VydF9vYmplY3RfZXF1YWxzKHthOiAtMH0s
IHthOiAtMH0pOwotfSwgJ2VxdWl2YWxlbnQgb2JqZWN0cyAtIG5lZ2F0aXZlIHplcm8gdmFsdWUn
KTsKLQotdGVzdF9mYWlsdXJlKGZ1bmN0aW9uKCkgewotICBhc3NlcnRfb2JqZWN0X2VxdWFscyh1
bmRlZmluZWQsIHt9KTsKLX0sICdpbnZhbGlkIGFjdHVhbCB2YWx1ZTogdW5kZWZpbmVkJyk7Ci0K
LXRlc3RfZmFpbHVyZShmdW5jdGlvbigpIHsKLSAgYXNzZXJ0X29iamVjdF9lcXVhbHMobnVsbCwg
e30pOwotfSwgJ2ludmFsaWQgYWN0dWFsIHZhbHVlOiBudWxsJyk7Ci0KLXRlc3RfZmFpbHVyZShm
dW5jdGlvbigpIHsKLSAgYXNzZXJ0X29iamVjdF9lcXVhbHMoMzQsIHt9KTsKLX0sICdpbnZhbGlk
IGFjdHVhbCB2YWx1ZTogbnVtYmVyJyk7Ci0KLXRlc3RfZmFpbHVyZShmdW5jdGlvbigpIHsKLSAg
YXNzZXJ0X29iamVjdF9lcXVhbHMoe2M6IDMsIGE6IDEsIGI6IDJ9LCB7YTogMSwgYjogMSwgYzog
M30pOwotfSwgJ3VuZXF1YWwgcHJvcGVydHkgdmFsdWUgLSAiZmxhdCIgb2JqZWN0Jyk7Ci0KLXRl
c3RfZmFpbHVyZShmdW5jdGlvbigpIHsKLSAgdmFyIGFjdHVhbCA9IE9iamVjdC5jcmVhdGUoe2E6
IHVuZGVmaW5lZH0pOwotICB2YXIgZXhwZWN0ZWQgPSB7fTsKLQotICBhc3NlcnRfb2JqZWN0X2Vx
dWFscyhhY3R1YWwsIGV4cGVjdGVkKTsKLX0sICdub24tb3duIHByb3BlcnRpZXMgaW4gYWN0dWFs
IHZhbHVlIHZlcmlmaWVkJyk7Ci0KLXRlc3RfZmFpbHVyZShmdW5jdGlvbigpIHsKLSAgdmFyIGFj
dHVhbCA9IHt9OwotICB2YXIgZXhwZWN0ZWQgPSBPYmplY3QuY3JlYXRlKHthOiB1bmRlZmluZWR9
KTsKLQotICBhc3NlcnRfb2JqZWN0X2VxdWFscyhhY3R1YWwsIGV4cGVjdGVkKTsKLX0sICdub24t
b3duIHByb3BlcnRpZXMgaW4gZXhwZWN0ZWQgdmFsdWUgdmVyaWZpZWQnKTsKLQotdGVzdF9mYWls
dXJlKGZ1bmN0aW9uKCkgewotICBhc3NlcnRfb2JqZWN0X2VxdWFscygKLSAgICB7YTogMSwgYjog
MiwgYzoge2Q6IDUsIGU6IDUsIGY6IDZ9fSwKLSAgICB7YTogMSwgYjogMiwgYzoge2Q6IDUsIGU6
IDcsIGY6IDZ9fQotICApOwotfSwgJ3VuZXF1YWwgcHJvcGVydHkgdmFsdWUgLSBuZXN0ZWQgb2Jq
ZWN0Jyk7Ci0KLXRlc3RfZmFpbHVyZShmdW5jdGlvbigpIHsKLSAgYXNzZXJ0X29iamVjdF9lcXVh
bHMoCi0gICAge2E6IDEsIGI6IDIsIGM6IFs0LCA1LCA2XX0sCi0gICAge2E6IDEsIGI6IDIsIGM6
IFs0LCA3LCA2XX0KLSAgKTsKLX0sICd1bmVxdWFsIHByb3BlcnR5IHZhbHVlIC0gbmVzdGVkIGFy
cmF5Jyk7Ci0KLXRlc3RfZmFpbHVyZShmdW5jdGlvbigpIHsKLSAgYXNzZXJ0X29iamVjdF9lcXVh
bHMoe2E6IE5hTn0sIHthOiAwfSk7Ci19LCAnZXF1aXZhbGVudCBvYmplY3RzIC0gTmFOIGFjdHVh
bCB2YWx1ZScpOwotCi10ZXN0X2ZhaWx1cmUoZnVuY3Rpb24oKSB7Ci0gIGFzc2VydF9vYmplY3Rf
ZXF1YWxzKHthOiAwfSwge2E6IE5hTn0pOwotfSwgJ2VxdWl2YWxlbnQgb2JqZWN0cyAtIE5hTiBl
eHBlY3RlZCB2YWx1ZScpOwotCi10ZXN0X2ZhaWx1cmUoZnVuY3Rpb24oKSB7Ci0gIGFzc2VydF9v
YmplY3RfZXF1YWxzKHthOiAtMH0sIHthOiAwfSk7Ci19LCAnZXF1aXZhbGVudCBvYmplY3RzIC0g
bmVnYXRpdmUgemVybyBhY3R1YWwgdmFsdWUnKTsKLQotdGVzdF9mYWlsdXJlKGZ1bmN0aW9uKCkg
ewotICBhc3NlcnRfb2JqZWN0X2VxdWFscyh7YTogMH0sIHthOiAtMH0pOwotfSwgJ2VxdWl2YWxl
bnQgb2JqZWN0cyAtIG5lZ2F0aXZlIHplcm8gZXhwZWN0ZWQgdmFsdWUnKTsKLQotdGVzdF9mYWls
dXJlKGZ1bmN0aW9uKCkgewotICBhc3NlcnRfb2JqZWN0X2VxdWFscyh7YTogMX0sIHt9KTsKLX0s
ICdhY3R1YWwgY29udGFpbnMgYWRkaXRpb25hbCBwcm9wZXJ0eScpOwotCi10ZXN0X2ZhaWx1cmUo
ZnVuY3Rpb24oKSB7Ci0gIGFzc2VydF9vYmplY3RfZXF1YWxzKHt9LCB7YTogMX0pOwotfSwgJ2V4
cGVjdGVkIGNvbnRhaW5zIGFkZGl0aW9uYWwgcHJvcGVydHknKTsKLTwvc2NyaXB0PgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvdGVzdC90ZXN0cy91bml0L2Jhc2ljLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL3VuaXQvYmFzaWMuaHRtbApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDkwN2M3YmI5ZmIuLjAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3Rlc3QvdGVzdHMvdW5pdC9iYXNpYy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNDggKzAsMCBA
QAotPCFET0NUWVBFIEhUTUw+Ci08aHRtbD4KLTxoZWFkPgotPHRpdGxlPmlkbGhhcm5lc3MgYmFz
aWM8L3RpdGxlPgotPC9oZWFkPgotPGJvZHk+Ci08ZGl2IGlkPSJsb2ciPjwvZGl2PgotPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvV2ViSURMUGFyc2VyLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL2lkbGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLSAgICAidXNlIHN0cmlj
dCI7Ci0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgYXNzZXJ0X3RydWUoIklkbEFycmF5
IiBpbiB3aW5kb3cpOwotICAgIH0sICdJZGxBcnJheSBjb25zdHJ1Y3RvciBzaG91bGQgYmUgYSBn
bG9iYWwgb2JqZWN0Jyk7Ci0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgYXNzZXJ0X3Ry
dWUobmV3IElkbEFycmF5KCkgaW5zdGFuY2VvZiBJZGxBcnJheSk7Ci0gICAgfSwgJ0lkbEFycmF5
IGNvbnN0cnVjdG9yIHNob3VsZCBiZSBjb25zdHJ1Y3RpYmxlJyk7Ci0gICAgdGVzdChmdW5jdGlv
bigpIHsKLSAgICAgICAgYXNzZXJ0X3RydWUoIldlYklETDIiIGluIHdpbmRvdyk7Ci0gICAgfSwg
J1dlYklETDIgbmFtZXNwYWNlIHNob3VsZCBiZSBhIGdsb2JhbCBvYmplY3QnKTsKLSAgICB0ZXN0
KGZ1bmN0aW9uKCkgewotICAgICAgICBhc3NlcnRfZXF1YWxzKHR5cGVvZiBXZWJJREwyLnBhcnNl
LCAiZnVuY3Rpb24iKTsKLSAgICB9LCAnV2ViSURMMiBuYW1lc3BhY2Ugc2hvdWxkIGhhdmUgYSBw
YXJzZSBtZXRob2QnKTsKLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICB0cnkgewotICAg
ICAgICAgICAgV2ViSURMMi5wYXJzZSgiSSdtIGEgc3ludGF4IGVycm9yIik7Ci0gICAgICAgICAg
ICB0aHJvdyBuZXcgRXJyb3IoIldlYiBJREwgZGlkbid0IHRocm93Iik7Ci0gICAgICAgIH0gY2F0
Y2ggKGUpIHsKLSAgICAgICAgICAgIGFzc2VydF90cnVlKGUubmFtZSA9PT0gIldlYklETFBhcnNl
RXJyb3IiKTsKLSAgICAgICAgfQotICAgIH0sICdXZWJJREwyIHBhcnNlIG1ldGhvZCBzaG91bGQg
YmFpbCBvbiBpbmNvcnJlY3QgV2ViSURMJyk7Ci0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAg
ICAgYXNzZXJ0X2VxdWFscyh0eXBlb2YgV2ViSURMMi5wYXJzZSgiaW50ZXJmYWNlIEZvbyB7fTsi
KSwgIm9iamVjdCIpOwotICAgIH0sICdXZWJJREwyIHBhcnNlIG1ldGhvZCBzaG91bGQgcHJvZHVj
ZSBhbiBBU1QgZm9yIGNvcnJlY3QgV2ViSURMJyk7Ci0gICAgdGVzdChmdW5jdGlvbiAoKSB7Ci0g
ICAgICAgIHRyeSB7Ci0gICAgICAgICAgICBsZXQgaSA9IG5ldyBJZGxBcnJheSgpOwotICAgICAg
ICAgICAgaS5hZGRfdW50ZXN0ZWRfaWRscyhgaW50ZXJmYWNlIEMge307YCk7Ci0gICAgICAgICAg
ICBpLmFzc2VydF90aHJvd3MoJ0FueXRoaW5nJywgaSA9PiBpLnRlc3QoKSk7Ci0gICAgICAgIH0g
Y2F0Y2ggKGUpIHsKLSAgICAgICAgICAgIGFzc2VydF90cnVlKGUgaW5zdGFuY2VvZiBJZGxIYXJu
ZXNzRXJyb3IpOwotICAgICAgICB9Ci0gICAgfSwgYGFzc2VydF90aHJvd3Mgc2hvdWxkIHRocm93
IGlmIG5vIElkbEhhcm5lc3NFcnJvciB0aHJvd25gKTsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy91bml0L2V4Y2VwdGlvbmFsLWNhc2VzLXRpbWVvdXRz
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy90ZXN0L3Rlc3RzL3VuaXQvZXhjZXB0aW9uYWwtY2FzZXMtdGltZW91dHMuaHRtbApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzYwYWM3MTU0ZjEuLjAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rl
c3QvdGVzdHMvdW5pdC9leGNlcHRpb25hbC1jYXNlcy10aW1lb3V0cy5odG1sCisrKyAvZGV2L251
bGwKQEAgLTEsMTIwICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLSAg
PG1ldGEgY2hhcnNldD0idXRmLTgiPgotICA8bWV0YSBuYW1lPSJ0aW1lb3V0IiBjb250ZW50PSJs
b25nIj4KLSAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgotICA8dGl0bGU+RXhjZXB0aW9uYWwgY2FzZXMgLSB0aW1lb3V0czwvdGl0bGU+Ci08L2hlYWQ+
Ci08Ym9keT4KLTxwPgotICBUaGUgdGVzdHMgaW4gdGhpcyBmaWxlIGFyZSBleGVjdXRlZCBpbiBw
YXJhbGxlbCB0byBhdm9pZCBleGNlZWRpbmcgdGhlICJsb25nIgotICB0aW1lb3V0IGR1cmF0aW9u
LgotPC9wPgotPHNjcmlwdD4KLWZ1bmN0aW9uIG1ha2VUZXN0KC4uLmJvZGllcykgewotICBjb25z
dCBjbG9zZVNjcmlwdCA9ICc8JyArICcvc2NyaXB0Pic7Ci0gIGxldCBzcmMgPSBgCi08IURPQ1RZ
UEUgSFRNTD4KLTxodG1sPgotPGhlYWQ+Ci08dGl0bGU+RG9jdW1lbnQgdGl0bGU8L3RpdGxlPgot
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanM/JHtNYXRoLnJhbmRvbSgpfSI+
JHtjbG9zZVNjcmlwdH0KLTwvaGVhZD4KLQotPGJvZHk+Ci08ZGl2IGlkPSJsb2ciPjwvZGl2PmA7
Ci0gIGJvZGllcy5mb3JFYWNoKChib2R5KSA9PiB7Ci0gICAgc3JjICs9ICc8c2NyaXB0PignICsg
Ym9keSArICcpKCk7JyArIGNsb3NlU2NyaXB0OwotICB9KTsKLQotICBjb25zdCBpZnJhbWUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCdpZnJhbWUnKTsKLQotICBkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKGlmcmFtZSk7Ci0gIGlmcmFtZS5jb250ZW50RG9jdW1lbnQud3JpdGUoc3JjKTsKLQot
ICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHsKLSAgICB3aW5kb3cuYWRkRXZlbnRM
aXN0ZW5lcignbWVzc2FnZScsIGZ1bmN0aW9uIG9uTWVzc2FnZShlKSB7Ci0gICAgICBpZiAoZS5z
b3VyY2UgIT09IGlmcmFtZS5jb250ZW50V2luZG93KSB7Ci0gICAgICAgIHJldHVybjsKLSAgICAg
IH0KLSAgICAgIGlmICghZS5kYXRhIHx8IGUuZGF0YS50eXBlICE9PSdjb21wbGV0ZScpIHsKLSAg
ICAgICAgcmV0dXJuOwotICAgICAgfQotICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIo
J21lc3NhZ2UnLCBvbk1lc3NhZ2UpOwotICAgICAgcmVzb2x2ZShlLmRhdGEpOwotICAgIH0pOwot
Ci0gICAgaWZyYW1lLmNvbnRlbnREb2N1bWVudC5jbG9zZSgpOwotICB9KS50aGVuKCh7IHRlc3Rz
LCBzdGF0dXMgfSkgPT4gewotICAgIGNvbnN0IHN1bW1hcnkgPSB7Ci0gICAgICBoYXJuZXNzOiBn
ZXRFbnVtUHJvcChzdGF0dXMsIHN0YXR1cy5zdGF0dXMpLAotICAgICAgdGVzdHM6IHt9Ci0gICAg
fTsKLQotICAgIHRlc3RzLmZvckVhY2goKHRlc3QpID0+IHsKLSAgICAgIHN1bW1hcnkudGVzdHNb
dGVzdC5uYW1lXSA9IGdldEVudW1Qcm9wKHRlc3QsIHRlc3Quc3RhdHVzKTsKLSAgICB9KTsKLQot
ICAgIHJldHVybiBzdW1tYXJ5OwotICB9KTsKLX0KLQotZnVuY3Rpb24gZ2V0RW51bVByb3Aob2Jq
ZWN0LCB2YWx1ZSkgewotICBmb3IgKGxldCBwcm9wZXJ0eSBpbiBvYmplY3QpIHsKLSAgICBpZiAo
IS9eW0EtWl0rJC8udGVzdChwcm9wZXJ0eSkpIHsKLSAgICAgIGNvbnRpbnVlOwotICAgIH0KLQot
ICAgIGlmIChvYmplY3RbcHJvcGVydHldID09PSB2YWx1ZSkgewotICAgICAgcmV0dXJuIHByb3Bl
cnR5OwotICAgIH0KLSAgfQotfQotCi0oKCkgPT4gewotICB3aW5kb3cuYXN5bmNUZXN0Q2xlYW51
cENvdW50MSA9IDA7Ci0gIGNvbnN0IG5lc3RlZFRlc3QgPSBtYWtlVGVzdCgKLSAgICAoKSA9PiB7
Ci0gICAgICBhc3luY190ZXN0KCh0KSA9PiB7Ci0gICAgICAgIHQuYWRkX2NsZWFudXAoKCkgPT4g
d2luZG93LnBhcmVudC5hc3luY1Rlc3RDbGVhbnVwQ291bnQxICs9IDEpOwotICAgICAgICBzZXRU
aW1lb3V0KCgpID0+IHsKLSAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ3RoaXMgZXJyb3IgaXMg
ZXhwZWN0ZWQnKTsKLSAgICAgICAgfSk7Ci0gICAgICB9LCAndGVzdCcpOwotICAgIH0KLSAgKTsK
LSAgcHJvbWlzZV90ZXN0KCgpID0+IHsKLSAgICByZXR1cm4gbmVzdGVkVGVzdC50aGVuKCh7aGFy
bmVzcywgdGVzdHN9KSA9PiB7Ci0gICAgICAgIGFzc2VydF9lcXVhbHMoaGFybmVzcywgJ0VSUk9S
Jyk7Ci0gICAgICAgIGFzc2VydF9lcXVhbHModGVzdHMudGVzdCwgJ1RJTUVPVVQnKTsKLSAgICAg
ICAgYXNzZXJ0X2VxdWFscyh3aW5kb3cuYXN5bmNUZXN0Q2xlYW51cENvdW50MSwgMSk7Ci0gICAg
ICB9KTsKLSAgfSwgJ3VuY2F1Z2h0IGV4Y2VwdGlvbiBkdXJpbmcgYXN5bmNfdGVzdCB3aGljaCB0
aW1lcyBvdXQnKTsKLX0pKCk7Ci0KLSgoKSA9PiB7Ci0gIHdpbmRvdy5wcm9taXNlVGVzdENsZWFu
dXBDb3VudDIgPSAwOwotICBjb25zdCBuZXN0ZWRUZXN0ID0gbWFrZVRlc3QoCi0gICAgKCkgPT4g
ewotICAgICAgcHJvbWlzZV90ZXN0KCh0KSA9PiB7Ci0gICAgICAgIHQuYWRkX2NsZWFudXAoKCkg
PT4gd2luZG93LnBhcmVudC5wcm9taXNlVGVzdENsZWFudXBDb3VudDIgKz0gMSk7Ci0gICAgICAg
IHNldFRpbWVvdXQoKCkgPT4gewotICAgICAgICAgIHRocm93IG5ldyBFcnJvcigndGhpcyBlcnJv
ciBpcyBleHBlY3RlZCcpOwotICAgICAgICB9KTsKLQotICAgICAgICByZXR1cm4gbmV3IFByb21p
c2UoKCkgPT4ge30pOwotICAgICAgfSwgJ3Rlc3QnKTsKLSAgICB9Ci0gICk7Ci0gIHByb21pc2Vf
dGVzdCgoKSA9PiB7Ci0gICAgcmV0dXJuIG5lc3RlZFRlc3QudGhlbigoe2hhcm5lc3MsIHRlc3Rz
fSkgPT4gewotICAgICAgICBhc3NlcnRfZXF1YWxzKGhhcm5lc3MsICdFUlJPUicpOwotICAgICAg
ICBhc3NlcnRfZXF1YWxzKHRlc3RzLnRlc3QsICdUSU1FT1VUJyk7Ci0gICAgICAgIGFzc2VydF9l
cXVhbHMod2luZG93LnByb21pc2VUZXN0Q2xlYW51cENvdW50MiwgMSk7Ci0gICAgICB9KTsKLSAg
fSwgJ3VuY2F1Z2h0IGV4Y2VwdGlvbiBkdXJpbmcgcHJvbWlzZV90ZXN0IHdoaWNoIHRpbWVzIG91
dCcpOwotfSkoKTsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90
ZXN0cy91bml0L2V4Y2VwdGlvbmFsLWNhc2VzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL3VuaXQvZXhjZXB0aW9u
YWwtY2FzZXMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMmJlNGRhY2FhZWMu
LjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvdW5pdC9leGNlcHRpb25hbC1jYXNlcy5odG1sCisr
KyAvZGV2L251bGwKQEAgLTEsMzkyICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08
aGVhZD4KLSAgPG1ldGEgY2hhcnNldD0idXRmLTgiPgotICA8bWV0YSBuYW1lPSJ0aW1lb3V0IiBj
b250ZW50PSJsb25nIj4KLSAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
Pjwvc2NyaXB0PgotICA8dGl0bGU+RXhjZXB0aW9uYWwgY2FzZXM8L3RpdGxlPgotPC9oZWFkPgot
PGJvZHk+Ci08c2NyaXB0PgotZnVuY3Rpb24gbWFrZVRlc3QoLi4uYm9kaWVzKSB7Ci0gIGNvbnN0
IGNsb3NlU2NyaXB0ID0gJzwnICsgJy9zY3JpcHQ+JzsKLSAgbGV0IHNyYyA9IGAKLTwhRE9DVFlQ
RSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLTx0aXRsZT5Eb2N1bWVudCB0aXRsZTwvdGl0bGU+Ci08
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcz8ke01hdGgucmFuZG9tKCl9Ij4k
e2Nsb3NlU2NyaXB0fQotPC9oZWFkPgotCi08Ym9keT4KLTxkaXYgaWQ9ImxvZyI+PC9kaXY+YDsK
LSAgYm9kaWVzLmZvckVhY2goKGJvZHkpID0+IHsKLSAgICBzcmMgKz0gJzxzY3JpcHQ+KCcgKyBi
b2R5ICsgJykoKTsnICsgY2xvc2VTY3JpcHQ7Ci0gIH0pOwotCi0gIGNvbnN0IGlmcmFtZSA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lmcmFtZScpOwotCi0gIGRvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQoaWZyYW1lKTsKLSAgaWZyYW1lLmNvbnRlbnREb2N1bWVudC53cml0ZShzcmMpOwotCi0g
IHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4gewotICAgIHdpbmRvdy5hZGRFdmVudExp
c3RlbmVyKCdtZXNzYWdlJywgZnVuY3Rpb24gb25NZXNzYWdlKGUpIHsKLSAgICAgIGlmIChlLnNv
dXJjZSAhPT0gaWZyYW1lLmNvbnRlbnRXaW5kb3cpIHsKLSAgICAgICAgcmV0dXJuOwotICAgICAg
fQotICAgICAgaWYgKCFlLmRhdGEgfHwgZS5kYXRhLnR5cGUgIT09J2NvbXBsZXRlJykgewotICAg
ICAgICByZXR1cm47Ci0gICAgICB9Ci0gICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcign
bWVzc2FnZScsIG9uTWVzc2FnZSk7Ci0gICAgICByZXNvbHZlKGUuZGF0YSk7Ci0gICAgfSk7Ci0K
LSAgICBpZnJhbWUuY29udGVudERvY3VtZW50LmNsb3NlKCk7Ci0gIH0pLnRoZW4oKHsgdGVzdHMs
IHN0YXR1cyB9KSA9PiB7Ci0gICAgY29uc3Qgc3VtbWFyeSA9IHsKLSAgICAgIGhhcm5lc3M6IGdl
dEVudW1Qcm9wKHN0YXR1cywgc3RhdHVzLnN0YXR1cyksCi0gICAgICB0ZXN0czoge30KLSAgICB9
OwotCi0gICAgdGVzdHMuZm9yRWFjaCgodGVzdCkgPT4gewotICAgICAgc3VtbWFyeS50ZXN0c1t0
ZXN0Lm5hbWVdID0gZ2V0RW51bVByb3AodGVzdCwgdGVzdC5zdGF0dXMpOwotICAgIH0pOwotCi0g
ICAgcmV0dXJuIHN1bW1hcnk7Ci0gIH0pOwotfQotCi1mdW5jdGlvbiBnZXRFbnVtUHJvcChvYmpl
Y3QsIHZhbHVlKSB7Ci0gIGZvciAobGV0IHByb3BlcnR5IGluIG9iamVjdCkgewotICAgIGlmICgh
L15bQS1aXSskLy50ZXN0KHByb3BlcnR5KSkgewotICAgICAgY29udGludWU7Ci0gICAgfQotCi0g
ICAgaWYgKG9iamVjdFtwcm9wZXJ0eV0gPT09IHZhbHVlKSB7Ci0gICAgICByZXR1cm4gcHJvcGVy
dHk7Ci0gICAgfQotICB9Ci19Ci0KLXByb21pc2VfdGVzdCgoKSA9PiB7Ci0gIHJldHVybiBtYWtl
VGVzdCgKLSAgICAgICgpID0+IHsgZG9uZSgpOyB9Ci0gICAgKS50aGVuKCh7aGFybmVzcywgdGVz
dHN9KSA9PiB7Ci0gICAgICBhc3NlcnRfZXF1YWxzKGhhcm5lc3MsICdFUlJPUicpOwotICAgICAg
YXNzZXJ0X2FycmF5X2VxdWFscyhPYmplY3Qua2V5cyh0ZXN0cyksIFtdKTsKLSAgICB9KTsKLX0s
ICdjb21wbGV0aW9uIHNpZ25hbGVkIGJlZm9yZSB0ZXN0aW5nIGJlZ2lucycpOwotCi1wcm9taXNl
X3Rlc3QoKCkgPT4gewotICByZXR1cm4gbWFrZVRlc3QoCi0gICAgICAoKSA9PiB7IGFzc2VydF90
cnVlKHRydWUpOyBkb25lKCk7IH0KLSAgICApLnRoZW4oKHtoYXJuZXNzLCB0ZXN0c30pID0+IHsK
LSAgICAgIGFzc2VydF9lcXVhbHMoaGFybmVzcywgJ0VSUk9SJyk7Ci0gICAgICBhc3NlcnRfYXJy
YXlfZXF1YWxzKE9iamVjdC5rZXlzKHRlc3RzKSwgW10pOwotICAgIH0pOwotfSwgJ3Bhc3Npbmcg
YXNzZXJ0aW9uIGJlZm9yZSB0ZXN0aW5nIGJlZ2lucycpOwotCi1wcm9taXNlX3Rlc3QoKCkgPT4g
ewotICByZXR1cm4gbWFrZVRlc3QoCi0gICAgICAoKSA9PiB7IGFzc2VydF9mYWxzZSh0cnVlKTsg
fQotICAgICkudGhlbigoe2hhcm5lc3MsIHRlc3RzfSkgPT4gewotICAgICAgYXNzZXJ0X2VxdWFs
cyhoYXJuZXNzLCAnRVJST1InKTsKLSAgICAgIGFzc2VydF9hcnJheV9lcXVhbHMoT2JqZWN0Lmtl
eXModGVzdHMpLCBbXSk7Ci0gICAgfSk7Ci19LCAnZmFpbGluZyBhc3NlcnRpb24gYmVmb3JlIHRl
c3RpbmcgYmVnaW5zJyk7Ci0KLXByb21pc2VfdGVzdCgoKSA9PiB7Ci0gIHJldHVybiBtYWtlVGVz
dCgKLSAgICAgICgpID0+IHsgdGhyb3cgbmV3IEVycm9yKCd0aGlzIGVycm9yIGlzIGV4cGVjdGVk
Jyk7IH0KLSAgICApLnRoZW4oKHtoYXJuZXNzLCB0ZXN0c30pID0+IHsKLSAgICAgIGFzc2VydF9l
cXVhbHMoaGFybmVzcywgJ0VSUk9SJyk7Ci0gICAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKE9iamVj
dC5rZXlzKHRlc3RzKSwgW10pOwotICAgIH0pOwotfSwgJ3VuY2F1Z2h0IGV4Y2VwdGlvbiBiZWZv
cmUgdGVzdGluZyBiZWdpbnMnKTsKLQotcHJvbWlzZV90ZXN0KCgpID0+IHsKLSAgcmV0dXJuIG1h
a2VUZXN0KAotICAgICAgKCkgPT4gewotICAgICAgICBzZXR1cCh7IGFsbG93X3VuY2F1Z2h0X2V4
Y2VwdGlvbjogdHJ1ZSB9KTsKLSAgICAgICAgdGhyb3cgbmV3IEVycm9yKCd0aGlzIGVycm9yIGlz
IGV4cGVjdGVkJyk7Ci0gICAgICB9LAotICAgICAgKCkgPT4gewotICAgICAgICB0ZXN0KGZ1bmN0
aW9uKCkge30sICdhJyk7Ci0gICAgICAgIHRlc3QoZnVuY3Rpb24oKSB7fSwgJ2InKTsKLSAgICAg
IH0KLSAgICApLnRoZW4oKHtoYXJuZXNzLCB0ZXN0c30pID0+IHsKLSAgICAgIGFzc2VydF9lcXVh
bHMoaGFybmVzcywgJ09LJyk7Ci0gICAgICBhc3NlcnRfZXF1YWxzKHRlc3RzLmEsICdQQVNTJyk7
Ci0gICAgICBhc3NlcnRfZXF1YWxzKHRlc3RzLmIsICdQQVNTJyk7Ci0gICAgfSk7Ci19LCAndW5j
YXVnaHQgZXhjZXB0aW9uIHdpdGggc3Vic2VxdWVudCBzdWJ0ZXN0Jyk7Ci0KLXByb21pc2VfdGVz
dCgoKSA9PiB7Ci0gIHJldHVybiBtYWtlVGVzdCgKLSAgICAgICgpID0+IHsKLSAgICAgICAgYXN5
bmNfdGVzdCgodCkgPT4gewotICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gewotICAgICAgICAg
ICAgc2V0VGltZW91dCgoKSA9PiB0LmRvbmUoKSwgMCk7Ci0gICAgICAgICAgICBhc3luY190ZXN0
KCh0KSA9PiBzZXRUaW1lb3V0KHQuZG9uZS5iaW5kKHQpLCAwKSwgJ2FmdGVyJyk7Ci0gICAgICAg
ICAgICB0aHJvdyBuZXcgRXJyb3IoJ3RoaXMgZXJyb3IgaXMgZXhwZWN0ZWQnKTsKLSAgICAgICAg
ICB9LCAwKTsKLSAgICAgICAgfSwgJ2R1cmluZycpOwotICAgICAgfQotICAgICkudGhlbigoe2hh
cm5lc3MsIHRlc3RzfSkgPT4gewotICAgICAgYXNzZXJ0X2VxdWFscyhoYXJuZXNzLCAnRVJST1In
KTsKLSAgICAgIGFzc2VydF9lcXVhbHModGVzdHMuZHVyaW5nLCAnUEFTUycpOwotICAgICAgYXNz
ZXJ0X2VxdWFscyh0ZXN0cy5hZnRlciwgJ1BBU1MnKTsKLSAgICB9KTsKLX0sICd1bmNhdWdodCBl
eGNlcHRpb24gZHVyaW5nIGFzeW5jX3Rlc3QnKTsKLQotcHJvbWlzZV90ZXN0KCgpID0+IHsKLSAg
cmV0dXJuIG1ha2VUZXN0KAotICAgICAgKCkgPT4gewotICAgICAgICBwcm9taXNlX3Rlc3QoKCkg
PT4gewotICAgICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4gewotICAgICAg
ICAgICAgc2V0VGltZW91dCgoKSA9PiB7Ci0gICAgICAgICAgICAgIHJlc29sdmUoKTsKLSAgICAg
ICAgICAgICAgcHJvbWlzZV90ZXN0KCgpID0+IFByb21pc2UucmVzb2x2ZSgpLCAnYWZ0ZXInKTsK
LSAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCd0aGlzIGVycm9yIGlzIGV4cGVjdGVkJyk7
Ci0gICAgICAgICAgICB9LCAwKTsKLSAgICAgICAgICB9KTsKLSAgICAgICAgfSwgJ2R1cmluZycp
OwotICAgICAgfQotICAgICkudGhlbigoe2hhcm5lc3MsIHRlc3RzfSkgPT4gewotICAgICAgYXNz
ZXJ0X2VxdWFscyhoYXJuZXNzLCAnRVJST1InKTsKLSAgICAgIGFzc2VydF9lcXVhbHModGVzdHMu
ZHVyaW5nLCAnUEFTUycpOwotICAgICAgYXNzZXJ0X2VxdWFscyh0ZXN0cy5hZnRlciwgJ1BBU1Mn
KTsKLSAgICB9KTsKLX0sICd1bmNhdWdodCBleGNlcHRpb24gZHVyaW5nIHByb21pc2VfdGVzdCcp
OwotCi1wcm9taXNlX3Rlc3QoKCkgPT4gewotICByZXR1cm4gbWFrZVRlc3QoCi0gICAgICAoKSA9
PiB7IHRlc3QoKCkgPT4ge30sICdiZWZvcmUnKTsgfSwKLSAgICAgICgpID0+IHsgdGhyb3cgbmV3
IEVycm9yKCd0aGlzIGVycm9yIGlzIGV4cGVjdGVkJyk7IH0sCi0gICAgICAoKSA9PiB7IHRlc3Qo
KCkgPT4ge30sICdhZnRlcicpOyB9Ci0gICAgKS50aGVuKCh7aGFybmVzcywgdGVzdHN9KSA9PiB7
Ci0gICAgICBhc3NlcnRfZXF1YWxzKGhhcm5lc3MsICdFUlJPUicpOwotICAgICAgYXNzZXJ0X2Vx
dWFscyh0ZXN0cy5iZWZvcmUsICdQQVNTJyk7Ci0gICAgICBhc3NlcnRfZXF1YWxzKHRlc3RzLmFm
dGVyLCAnUEFTUycpOwotICAgIH0pOwotfSwgJ3VuY2F1Z2h0IGV4Y2VwdGlvbiBiZXR3ZWVuIHRl
c3RzJyk7Ci0KLXByb21pc2VfdGVzdCgoKSA9PiB7Ci0gIHJldHVybiBtYWtlVGVzdCgKLSAgICAg
ICgpID0+IHsgcHJvbWlzZV90ZXN0KCgpID0+IFByb21pc2UucmVzb2x2ZSgpLCAnYmVmb3JlJyk7
IH0sCi0gICAgICAoKSA9PiB7IHRocm93IG5ldyBFcnJvcigndGhpcyBlcnJvciBpcyBleHBlY3Rl
ZCcpOyB9LAotICAgICAgKCkgPT4geyBwcm9taXNlX3Rlc3QoKCkgPT4gUHJvbWlzZS5yZXNvbHZl
KCksICdhZnRlcicpOyB9Ci0gICAgKS50aGVuKCh7aGFybmVzcywgdGVzdHN9KSA9PiB7Ci0gICAg
ICBhc3NlcnRfZXF1YWxzKGhhcm5lc3MsICdFUlJPUicpOwotICAgICAgYXNzZXJ0X2VxdWFscyh0
ZXN0cy5iZWZvcmUsICdQQVNTJyk7Ci0gICAgICBhc3NlcnRfZXF1YWxzKHRlc3RzLmFmdGVyLCAn
UEFTUycpOwotICAgIH0pOwotfSwgJ3VuY2F1Z2h0IGV4Y2VwdGlvbiBiZXR3ZWVuIHByb21pc2Vf
dGVzdHMnKTsKLQotCi0vLyBUaGlzIGZlYXR1cmUgb2YgdGVzdGhhcm5lc3MuanMgaXMgb25seSBv
YnNlcnZhYmxlIGluIGJyb3dzZXJzIHdoaWNoCi0vLyBpbXBsZW1lbnQgdGhlIGB1bmhhbmRsZWRy
ZWplY3Rpb25gIGV2ZW50LgotaWYgKCdvbnVuaGFuZGxlZHJlamVjdGlvbicgaW4gd2luZG93KSB7
Ci0KLSAgcHJvbWlzZV90ZXN0KCgpID0+IHsKLSAgICByZXR1cm4gbWFrZVRlc3QoCi0gICAgICAg
ICgpID0+IHsgUHJvbWlzZS5yZWplY3QobmV3IEVycm9yKCd0aGlzIGVycm9yIGlzIGV4cGVjdGVk
JykpOyB9Ci0gICAgICApLnRoZW4oKHtoYXJuZXNzLCB0ZXN0c30pID0+IHsKLSAgICAgICAgYXNz
ZXJ0X2VxdWFscyhoYXJuZXNzLCAnRVJST1InKTsKLSAgICAgICAgYXNzZXJ0X2FycmF5X2VxdWFs
cyhPYmplY3Qua2V5cyh0ZXN0cyksIFtdKTsKLSAgICAgIH0pOwotICB9LCAndW5oYW5kbGVkIHJl
amVjdGlvbiBiZWZvcmUgdGVzdGluZyBiZWdpbnMnKTsKLQotICBwcm9taXNlX3Rlc3QoKCkgPT4g
ewotICAgIHJldHVybiBtYWtlVGVzdCgKLSAgICAgICAgKCkgPT4gewotICAgICAgICAgIGFzeW5j
X3Rlc3QoKHQpID0+IHsKLSAgICAgICAgICAgIFByb21pc2UucmVqZWN0KG5ldyBFcnJvcigndGhp
cyBlcnJvciBpcyBleHBlY3RlZCcpKTsKLQotICAgICAgICAgICAgd2luZG93LmFkZEV2ZW50TGlz
dGVuZXIoJ3VuaGFuZGxlZHJlamVjdGlvbicsICgpID0+IHsKLSAgICAgICAgICAgIHNldFRpbWVv
dXQoKCkgPT4gdC5kb25lKCksIDApOwotICAgICAgICAgICAgICBhc3luY190ZXN0KCh0KSA9PiBz
ZXRUaW1lb3V0KHQuZG9uZS5iaW5kKHQpLCAwKSwgJ2FmdGVyJyk7Ci0gICAgICAgICAgICAgIHQu
ZG9uZSgpOwotICAgICAgICAgICAgfSk7Ci0gICAgICAgICAgfSwgJ2R1cmluZycpOwotICAgICAg
ICB9Ci0gICAgICApLnRoZW4oKHtoYXJuZXNzLCB0ZXN0c30pID0+IHsKLSAgICAgICAgYXNzZXJ0
X2VxdWFscyhoYXJuZXNzLCAnRVJST1InKTsKLSAgICAgICAgYXNzZXJ0X2VxdWFscyh0ZXN0cy5k
dXJpbmcsICdQQVNTJyk7Ci0gICAgICAgIGFzc2VydF9lcXVhbHModGVzdHMuYWZ0ZXIsICdQQVNT
Jyk7Ci0gICAgICB9KTsKLSAgfSwgJ3VuaGFuZGxlZCByZWplY3Rpb24gZHVyaW5nIGFzeW5jX3Rl
c3QnKTsKLQotICBwcm9taXNlX3Rlc3QoKCkgPT4gewotICAgIHJldHVybiBtYWtlVGVzdCgKLSAg
ICAgICAgKCkgPT4gewotICAgICAgICAgIHByb21pc2VfdGVzdCgoKSA9PiB7Ci0gICAgICAgICAg
ICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHsKLSAgICAgICAgICAgICAgUHJvbWlz
ZS5yZWplY3QobmV3IEVycm9yKCd0aGlzIGVycm9yIGlzIGV4cGVjdGVkJykpOwotCi0gICAgICAg
ICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCd1bmhhbmRsZWRyZWplY3Rpb24nLCAoKSA9
PiB7Ci0gICAgICAgICAgICAgICAgcmVzb2x2ZSgpOwotICAgICAgICAgICAgICAgIHByb21pc2Vf
dGVzdCgoKSA9PiBQcm9taXNlLnJlc29sdmUoKSwgJ2FmdGVyJyk7Ci0gICAgICAgICAgICAgICAg
dGhyb3cgbmV3IEVycm9yKCd0aGlzIGVycm9yIGlzIGV4cGVjdGVkJyk7Ci0gICAgICAgICAgICAg
IH0sIDApOwotICAgICAgICAgICAgfSk7Ci0gICAgICAgICAgfSwgJ2R1cmluZycpOwotICAgICAg
ICB9Ci0gICAgICApLnRoZW4oKHtoYXJuZXNzLCB0ZXN0c30pID0+IHsKLSAgICAgICAgYXNzZXJ0
X2VxdWFscyhoYXJuZXNzLCAnRVJST1InKTsKLSAgICAgICAgYXNzZXJ0X2VxdWFscyh0ZXN0cy5k
dXJpbmcsICdQQVNTJyk7Ci0gICAgICAgIGFzc2VydF9lcXVhbHModGVzdHMuYWZ0ZXIsICdQQVNT
Jyk7Ci0gICAgICB9KTsKLSAgfSwgJ3VuaGFuZGxlZCByZWplY3Rpb24gZHVyaW5nIHByb21pc2Vf
dGVzdCcpOwotCi0gIHByb21pc2VfdGVzdCgoKSA9PiB7Ci0gICAgcmV0dXJuIG1ha2VUZXN0KAot
ICAgICAgICAoKSA9PiB7Ci0gICAgICAgICAgc2V0dXAoeyBleHBsaWNpdF9kb25lOiB0cnVlIH0p
OwotICAgICAgICAgIHRlc3QoKCkgPT4ge30sICdiZWZvcmUnKTsKLSAgICAgICAgICBQcm9taXNl
LnJlamVjdChuZXcgRXJyb3IoJ3RoaXMgZXJyb3IgaXMgZXhwZWN0ZWQnKSk7Ci0gICAgICAgICAg
d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3VuaGFuZGxlZHJlamVjdGlvbicsICgpID0+IHsKLSAg
ICAgICAgICAgIHRlc3QoKCkgPT4ge30sICdhZnRlcicpOwotICAgICAgICAgICAgZG9uZSgpOwot
ICAgICAgICAgIH0pOwotICAgICAgICB9Ci0gICAgICApLnRoZW4oKHtoYXJuZXNzLCB0ZXN0c30p
ID0+IHsKLSAgICAgICAgYXNzZXJ0X2VxdWFscyhoYXJuZXNzLCAnRVJST1InKTsKLSAgICAgICAg
YXNzZXJ0X2VxdWFscyh0ZXN0cy5iZWZvcmUsICdQQVNTJyk7Ci0gICAgICAgIGFzc2VydF90cnVl
KCdhZnRlcicgaW4gdGVzdHMpOwotICAgICAgfSk7Ci0gIH0sICd1bmhhbmRsZWQgcmVqZWN0aW9u
IGJldHdlZW4gdGVzdHMnKTsKLQotICBwcm9taXNlX3Rlc3QoKCkgPT4gewotICAgIHJldHVybiBt
YWtlVGVzdCgKLSAgICAgICAgKCkgPT4gewotICAgICAgICAgIHNldHVwKHsgZXhwbGljaXRfZG9u
ZTogdHJ1ZSB9KTsKLSAgICAgICAgICBhc3luY190ZXN0KCh0KSA9PiBzZXRUaW1lb3V0KHQuZG9u
ZS5iaW5kKHQpLCAwKSwgJ2JlZm9yZScpOwotICAgICAgICAgIFByb21pc2UucmVqZWN0KG5ldyBF
cnJvcigndGhpcyBlcnJvciBpcyBleHBlY3RlZCcpKTsKLSAgICAgICAgICB3aW5kb3cuYWRkRXZl
bnRMaXN0ZW5lcigndW5oYW5kbGVkcmVqZWN0aW9uJywgKCkgPT4gewotICAgICAgICAgICAgYXN5
bmNfdGVzdCgodCkgPT4gc2V0VGltZW91dCh0LmRvbmUuYmluZCh0KSwgMCksICdhZnRlcicpOwot
ICAgICAgICAgICAgZG9uZSgpOwotICAgICAgICAgIH0pOwotICAgICAgICB9Ci0gICAgICApLnRo
ZW4oKHtoYXJuZXNzLCB0ZXN0c30pID0+IHsKLSAgICAgICAgYXNzZXJ0X2VxdWFscyhoYXJuZXNz
LCAnRVJST1InKTsKLSAgICAgICAgYXNzZXJ0X2VxdWFscyh0ZXN0cy5iZWZvcmUsICdQQVNTJyk7
Ci0gICAgICAgIGFzc2VydF9lcXVhbHModGVzdHMuYWZ0ZXIsICdQQVNTJyk7Ci0gICAgICB9KTsK
LSAgfSwgJ3VuaGFuZGxlZCByZWplY3Rpb24gYmV0d2VlbiBhc3luY190ZXN0cycpOwotCi0gIHBy
b21pc2VfdGVzdCgoKSA9PiB7Ci0gICAgcmV0dXJuIG1ha2VUZXN0KAotICAgICAgICAoKSA9PiB7
Ci0gICAgICAgICAgc2V0dXAoeyBleHBsaWNpdF9kb25lOiB0cnVlIH0pOwotICAgICAgICAgIHBy
b21pc2VfdGVzdCgoKSA9PiBQcm9taXNlLnJlc29sdmUoKSwgJ2JlZm9yZScpOwotICAgICAgICAg
IFByb21pc2UucmVqZWN0KG5ldyBFcnJvcigndGhpcyBlcnJvciBpcyBleHBlY3RlZCcpKTsKLSAg
ICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigndW5oYW5kbGVkcmVqZWN0aW9uJywgKCkg
PT4gewotICAgICAgICAgICAgcHJvbWlzZV90ZXN0KCgpID0+IFByb21pc2UucmVzb2x2ZSgpLCAn
YWZ0ZXInKTsKLSAgICAgICAgICAgIGRvbmUoKTsKLSAgICAgICAgICB9KTsKLSAgICAgICAgfQot
ICAgICAgKS50aGVuKCh7aGFybmVzcywgdGVzdHN9KSA9PiB7Ci0gICAgICAgIGFzc2VydF9lcXVh
bHMoaGFybmVzcywgJ0VSUk9SJyk7Ci0gICAgICAgIGFzc2VydF9lcXVhbHModGVzdHMuYmVmb3Jl
LCAnUEFTUycpOwotICAgICAgICBhc3NlcnRfdHJ1ZSgnYWZ0ZXInIGluIHRlc3RzKTsKLSAgICAg
IH0pOwotICB9LCAndW5oYW5kbGVkIHJlamVjdGlvbiBiZXR3ZWVuIHByb21pc2VfdGVzdHMnKTsK
LQotICBwcm9taXNlX3Rlc3QoKCkgPT4gewotICAgIHJldHVybiBtYWtlVGVzdCgKLSAgICAgICAg
KCkgPT4gewotICAgICAgICAgIHRlc3QoKHQpID0+IHsKLSAgICAgICAgICAgIHQuYWRkX2NsZWFu
dXAoKCkgPT4geyB0aHJvdyBuZXcgRXJyb3IoJ3RoaXMgZXJyb3IgaXMgZXhwZWN0ZWQnKTsgfSk7
Ci0gICAgICAgICAgfSwgJ2R1cmluZycpOwotICAgICAgICAgIHRlc3QoKHQpID0+IHt9LCAnYWZ0
ZXInKTsKLSAgICAgICAgfQotICAgICAgKS50aGVuKCh7aGFybmVzcywgdGVzdHN9KSA9PiB7Ci0g
ICAgICAgIGFzc2VydF9lcXVhbHMoaGFybmVzcywgJ0VSUk9SJyk7Ci0gICAgICAgIGFzc2VydF9l
cXVhbHModGVzdHMuZHVyaW5nLCAnUEFTUycpOwotICAgICAgICBhc3NlcnRfZXF1YWxzKHRlc3Rz
LmFmdGVyLCAnTk9UUlVOJyk7Ci0gICAgICB9KTsKLSAgfSwgJ2V4Y2VwdGlvbiBpbiBgYWRkX2Ns
ZWFudXBgIG9mIGEgdGVzdCcpOwotCi19Ci0KLQotcHJvbWlzZV90ZXN0KCgpID0+IHsKLSAgcmV0
dXJuIG1ha2VUZXN0KAotICAgICAgKCkgPT4gewotICAgICAgICBzZXR1cCh7ZXhwbGljaXRfZG9u
ZTogdHJ1ZX0pOwotICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignRE9NQ29udGVudExv
YWRlZCcsICgpID0+IHsKLSAgICAgICAgICBhc3luY190ZXN0KCh0KSA9PiB7Ci0gICAgICAgICAg
ICB0LmFkZF9jbGVhbnVwKCgpID0+IHsKLSAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7
Ci0gICAgICAgICAgICAgICAgYXN5bmNfdGVzdCgodCkgPT4gdC5kb25lKCksICdhZnRlcicpOwot
ICAgICAgICAgICAgICAgIGRvbmUoKTsKLSAgICAgICAgICAgICAgfSwgMCk7Ci0gICAgICAgICAg
ICAgIHRocm93IG5ldyBFcnJvcigndGhpcyBlcnJvciBpcyBleHBlY3RlZCcpOwotICAgICAgICAg
ICAgfSk7Ci0gICAgICAgICAgICBzZXRUaW1lb3V0KHQuZG9uZS5iaW5kKHQpLCAwKTsKLSAgICAg
ICAgICB9LCAnZHVyaW5nJyk7Ci0gICAgICAgIH0pOwotICAgICAgfQotICAgICkudGhlbigoe2hh
cm5lc3MsIHRlc3RzfSkgPT4gewotICAgICAgYXNzZXJ0X2VxdWFscyhoYXJuZXNzLCAnRVJST1In
KTsKLSAgICAgIGFzc2VydF9lcXVhbHModGVzdHMuZHVyaW5nLCAnUEFTUycpOwotICAgICAgYXNz
ZXJ0X2VxdWFscyh0ZXN0cy5hZnRlciwgJ05PVFJVTicpOwotICAgIH0pOwotfSwgJ2V4Y2VwdGlv
biBpbiBgYWRkX2NsZWFudXBgIG9mIGFuIGFzeW5jX3Rlc3QnKTsKLQotcHJvbWlzZV90ZXN0KCgp
ID0+IHsKLSAgcmV0dXJuIG1ha2VUZXN0KAotICAgICAgKCkgPT4gewotICAgICAgICBwcm9taXNl
X3Rlc3QoKHQpID0+IHsKLSAgICAgICAgICB0LmFkZF9jbGVhbnVwKCgpID0+IHsgdGhyb3cgbmV3
IEVycm9yKCd0aGlzIGVycm9yIGlzIGV4cGVjdGVkJyk7IH0pOwotICAgICAgICAgIHJldHVybiBQ
cm9taXNlLnJlc29sdmUoKTsKLSAgICAgICAgfSwgJ3Rlc3QnKTsKLSAgICAgIH0KLSAgICApLnRo
ZW4oKHtoYXJuZXNzLCB0ZXN0c30pID0+IHsKLSAgICAgIGFzc2VydF9lcXVhbHMoaGFybmVzcywg
J0VSUk9SJyk7Ci0gICAgICBhc3NlcnRfZXF1YWxzKHRlc3RzLnRlc3QsICdQQVNTJyk7Ci0gICAg
fSk7Ci19LCAnZXhjZXB0aW9uIGluIGBhZGRfY2xlYW51cGAgb2YgYSBwcm9taXNlX3Rlc3QnKTsK
LQotcHJvbWlzZV90ZXN0KCgpID0+IHsKLSAgcmV0dXJuIG1ha2VUZXN0KAotICAgICAgKCkgPT4g
ewotICAgICAgICBwcm9taXNlX3Rlc3QoKHQpID0+IHsKLSAgICAgICAgICB0LnN0ZXAoKCkgPT4g
ewotICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCd0aGlzIGVycm9yIGlzIGV4cGVjdGVkJyk7
Ci0gICAgICAgICAgfSk7Ci0gICAgICAgIH0sICd0ZXN0Jyk7Ci0gICAgICAgIGFzeW5jX3Rlc3Qo
KHQpID0+IHQuZG9uZSgpLCAnYWZ0ZXInKTsKLSAgICAgIH0KLSAgICApLnRoZW4oKHtoYXJuZXNz
LCB0ZXN0c30pID0+IHsKLSAgICAgIGFzc2VydF9lcXVhbHMoaGFybmVzcywgJ09LJyk7Ci0gICAg
ICBhc3NlcnRfZXF1YWxzKHRlc3RzLnRlc3QsICdGQUlMJyk7Ci0gICAgICBhc3NlcnRfZXF1YWxz
KHRlc3RzLmFmdGVyLCAnUEFTUycpOwotICAgIH0pOwotfSwgJ2V4Y2VwdGlvbiBpbiBgc3RlcGAg
b2YgYW4gYXN5bmNfdGVzdCcpOwotCi1wcm9taXNlX3Rlc3QoKCkgPT4gewotICByZXR1cm4gbWFr
ZVRlc3QoCi0gICAgICAoKSA9PiB7Ci0gICAgICAgIHByb21pc2VfdGVzdCgodCkgPT4gewotICAg
ICAgICAgIHQuc3RlcCgoKSA9PiB7Ci0gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ3RoaXMg
ZXJyb3IgaXMgZXhwZWN0ZWQnKTsKLSAgICAgICAgICB9KTsKLQotICAgICAgICAgIHJldHVybiBu
ZXcgUHJvbWlzZSgoKSA9PiB7fSk7Ci0gICAgICAgIH0sICd0ZXN0Jyk7Ci0KLSAgICAgICAgLy8g
VGhpcyBmb2xsb3dpbmcgdGVzdCBzaG91bGQgYmUgcnVuIHRvIGNvbXBsZXRpb24gZGVzcGl0ZSB0
aGUgZmFjdAotICAgICAgICAvLyB0aGF0IHRoZSBwcm9taXNlIHJldHVybmVkIGJ5IHRoZSBwcmV2
aW91cyB0ZXN0IG5ldmVyIHJlc29sdmVzLgotICAgICAgICBwcm9taXNlX3Rlc3QoKHQpID0+IFBy
b21pc2UucmVzb2x2ZSgpLCAnYWZ0ZXInKTsKLSAgICAgIH0KLSAgICApLnRoZW4oKHtoYXJuZXNz
LCB0ZXN0c30pID0+IHsKLSAgICAgIGFzc2VydF9lcXVhbHMoaGFybmVzcywgJ09LJyk7Ci0gICAg
ICBhc3NlcnRfZXF1YWxzKHRlc3RzLnRlc3QsICdGQUlMJyk7Ci0gICAgICBhc3NlcnRfZXF1YWxz
KHRlc3RzLmFmdGVyLCAnUEFTUycpOwotICAgIH0pOwotfSwgJ2V4Y2VwdGlvbiBpbiBgc3RlcGAg
b2YgYSBwcm9taXNlX3Rlc3QnKTsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvdGVzdC90ZXN0cy91bml0L2Zvcm1hdC12YWx1ZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy91bml0L2Zvcm1h
dC12YWx1ZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxM2QwMWI4MWYzNS4u
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy91bml0L2Zvcm1hdC12YWx1ZS5odG1sCisrKyAvZGV2
L251bGwKQEAgLTEsMTIzICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4K
LSAgPHRpdGxlPmZvcm1hdF92YWx1ZSB1dGlsaXR5IGZ1bmN0aW9uPC90aXRsZT4KLSAgPG1ldGEg
Y2hhcnNldD0idXRmLTgiPgotPC9oZWFkPgotPGJvZHk+Ci08ZGl2IGlkPSJsb2ciPjwvZGl2Pgot
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlw
dD4KLSJ1c2Ugc3RyaWN0IjsKLQotdGVzdChmdW5jdGlvbigpIHsKLSAgYXNzZXJ0X2VxdWFscyhm
b3JtYXRfdmFsdWUobnVsbCksICJudWxsIik7Ci19LCAibnVsbCIpOwotCi10ZXN0KGZ1bmN0aW9u
KCkgewotICBhc3NlcnRfZXF1YWxzKGZvcm1hdF92YWx1ZSh1bmRlZmluZWQpLCAidW5kZWZpbmVk
Iik7Ci19LCAidW5kZWZpbmVkIik7Ci0KLXRlc3QoZnVuY3Rpb24oKSB7Ci0gIGFzc2VydF9lcXVh
bHMoZm9ybWF0X3ZhbHVlKHRydWUpLCAidHJ1ZSIpOwotICBhc3NlcnRfZXF1YWxzKGZvcm1hdF92
YWx1ZShmYWxzZSksICJmYWxzZSIpOwotfSwgImJvb2xlYW4gdmFsdWVzIik7Ci0KLXRlc3QoZnVu
Y3Rpb24oKSB7Ci0gIGFzc2VydF9lcXVhbHMoZm9ybWF0X3ZhbHVlKDAuNCksICIwLjQiKTsKLSAg
YXNzZXJ0X2VxdWFscyhmb3JtYXRfdmFsdWUoMCksICIwIik7Ci0gIGFzc2VydF9lcXVhbHMoZm9y
bWF0X3ZhbHVlKC0wKSwgIi0wIik7Ci19LCAibnVtYmVyIHZhbHVlcyIpOwotCi10ZXN0KGZ1bmN0
aW9uKCkgewotICBhc3NlcnRfZXF1YWxzKGZvcm1hdF92YWx1ZSgiYSBzdHJpbmciKSwgIlwiYSBz
dHJpbmdcIiIpOwotICBhc3NlcnRfZXF1YWxzKGZvcm1hdF92YWx1ZSgibmV3XG5saW5lIiksICJc
Im5ld1xcbmxpbmVcIiIpOwotfSwgInN0cmluZyB2YWx1ZXMiKTsKLQotdGVzdChmdW5jdGlvbigp
IHsKLSAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIik7Ci0gIG5vZGUu
c2V0QXR0cmlidXRlKCJkYXRhLWZvbyIsICJiYXIiKTsKLSAgYXNzZXJ0X3RydWUoCi0gICAgLzxz
cGFuXGIvaS50ZXN0KGZvcm1hdF92YWx1ZShub2RlKSksICJlbGVtZW50IGluY2x1ZGVzIHRhZyBu
YW1lIgotICApOwotICBhc3NlcnRfdHJ1ZSgKLSAgICAvZGF0YS1mb289WyInXT9iYXJbIiddPy9p
LnRlc3QoZm9ybWF0X3ZhbHVlKG5vZGUpKSwKLSAgICAiZWxlbWVudCBpbmNsdWRlcyBhdHRyaWJ1
dGVzIgotICApOwotfSwgIm5vZGUgdmFsdWU6IGVsZW1lbnQgbm9kZSIpOwotCi10ZXN0KGZ1bmN0
aW9uKCkgewotICB2YXIgdGV4dCA9IGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCJ3cHQiKTsKLSAg
YXNzZXJ0X2VxdWFscyhmb3JtYXRfdmFsdWUodGV4dCksICJUZXh0IG5vZGUgXCJ3cHRcIiIpOwot
fSwgIm5vZGUgdmFsdWU6IHRleHQgbm9kZSIpOwotCi10ZXN0KGZ1bmN0aW9uKCkgewotICB2YXIg
bm9kZSA9IGRvY3VtZW50LmNyZWF0ZVByb2Nlc3NpbmdJbnN0cnVjdGlvbigid3B0MSIsICJ3cHQy
Iik7Ci0gIGFzc2VydF9lcXVhbHMoCi0gICAgZm9ybWF0X3ZhbHVlKG5vZGUpLAotICAgICJQcm9j
ZXNzaW5nSW5zdHJ1Y3Rpb24gbm9kZSB3aXRoIHRhcmdldCBcIndwdDFcIiBhbmQgZGF0YSBcIndw
dDJcIiIKLSAgKTsKLX0sICJub2RlIHZhbHVlOiBQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24gbm9kZSIp
OwotCi10ZXN0KGZ1bmN0aW9uKCkgewotICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUNvbW1l
bnQoIndwdCIpOwotICBhc3NlcnRfZXF1YWxzKGZvcm1hdF92YWx1ZShub2RlKSwgIkNvbW1lbnQg
bm9kZSA8IS0td3B0LS0+Iik7Ci19LCAibm9kZSB2YWx1ZTogY29tbWVudCBub2RlIik7Ci0KLXRl
c3QoZnVuY3Rpb24oKSB7Ci0gIHZhciBub2RlID0gZG9jdW1lbnQuaW1wbGVtZW50YXRpb24uY3Jl
YXRlRG9jdW1lbnQoCi0gICAgImFwcGxpY2F0aW9uL3hodG1sK3htbCIsICIiLCBudWxsCi0gICk7
Ci0KLSAgYXNzZXJ0X2VxdWFscyhmb3JtYXRfdmFsdWUobm9kZSksICJEb2N1bWVudCBub2RlIHdp
dGggMCBjaGlsZHJlbiIpOwotCi0gIG5vZGUuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgnaHRtbCcpKTsKLQotICBhc3NlcnRfZXF1YWxzKGZvcm1hdF92YWx1ZShub2RlKSwgIkRv
Y3VtZW50IG5vZGUgd2l0aCAxIGNoaWxkIik7Ci19LCAibm9kZSB2YWx1ZTogZG9jdW1lbnQgbm9k
ZSIpOwotCi10ZXN0KGZ1bmN0aW9uKCkgewotICB2YXIgbm9kZSA9IGRvY3VtZW50LmltcGxlbWVu
dGF0aW9uLmNyZWF0ZURvY3VtZW50VHlwZSgiZm9vIiwgImJheiIsICJiYXoiKTsKLQotICBhc3Nl
cnRfZXF1YWxzKGZvcm1hdF92YWx1ZShub2RlKSwgIkRvY3VtZW50VHlwZSBub2RlIik7Ci19LCAi
bm9kZSB2YWx1ZTogRG9jdW1lbnRUeXBlIG5vZGUiKTsKLQotdGVzdChmdW5jdGlvbigpIHsKLSAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCk7Ci0KLSAgYXNzZXJ0
X2VxdWFscyhmb3JtYXRfdmFsdWUobm9kZSksICJEb2N1bWVudEZyYWdtZW50IG5vZGUgd2l0aCAw
IGNoaWxkcmVuIik7Ci0KLSAgbm9kZS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJzcGFuIikpOwotCi0gIGFzc2VydF9lcXVhbHMoZm9ybWF0X3ZhbHVlKG5vZGUpLCAiRG9jdW1l
bnRGcmFnbWVudCBub2RlIHdpdGggMSBjaGlsZCIpOwotCi0gIG5vZGUuYXBwZW5kQ2hpbGQoZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpKTsKLQotICBhc3NlcnRfZXF1YWxzKGZvcm1hdF92
YWx1ZShub2RlKSwgIkRvY3VtZW50RnJhZ21lbnQgbm9kZSB3aXRoIDIgY2hpbGRyZW4iKTsKLX0s
ICJub2RlIHZhbHVlOiBEb2N1bWVudEZyYWdtZW50IG5vZGUiKTsKLQotdGVzdChmdW5jdGlvbigp
IHsKLSAgYXNzZXJ0X2VxdWFscyhmb3JtYXRfdmFsdWUoU3ltYm9sKCJ3cHQiKSksICJzeW1ib2wg
XCJTeW1ib2wod3B0KVwiIik7Ci19LCAic3ltYm9sIHZhbHVlIik7Ci0KLXRlc3QoZnVuY3Rpb24o
KSB7Ci0gYXNzZXJ0X2VxdWFscyhmb3JtYXRfdmFsdWUoW10pLCAiW10iKTsKLSBhc3NlcnRfZXF1
YWxzKGZvcm1hdF92YWx1ZShbIm9uZSJdKSwgIltcIm9uZVwiXSIpOwotIGFzc2VydF9lcXVhbHMo
Zm9ybWF0X3ZhbHVlKFsib25lIiwgInR3byJdKSwgIltcIm9uZVwiLCBcInR3b1wiXSIpOwotfSwg
ImFycmF5IHZhbHVlcyIpOwotCi10ZXN0KGZ1bmN0aW9uKCkgewotICB2YXIgb2JqID0gewotICAg
IHRvU3RyaW5nOiBmdW5jdGlvbigpIHsKLSAgICAgIHRocm93ICJ3cHQiOwotICAgIH0KLSAgfTsK
LQotICBhc3NlcnRfZXF1YWxzKAotICAgIGZvcm1hdF92YWx1ZShvYmopLCAiW3N0cmluZ2lmeWlu
ZyBvYmplY3QgdGhyZXcgd3B0IHdpdGggdHlwZSBzdHJpbmddIgotICApOwotfSwgIm9iamVjdCB2
YWx1ZSB3aXRoIGZhdWx0eSBgdG9TdHJpbmdgIik7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvdW5pdC9sYXRlLXRlc3QuaHRtbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvdW5p
dC9sYXRlLXRlc3QuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjkzZDdlM2M4
MTguLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvdW5pdC9sYXRlLXRlc3QuaHRtbAorKysgL2Rl
di9udWxsCkBAIC0xLDU0ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4K
LTx0aXRsZT5UZXN0IGRlY2xhcmVkIGFmdGVyIGhhcm5lc3MgY29tcGxldGlvbjwvdGl0bGU+Ci08
L2hlYWQ+Ci08Ym9keT4KLTxkaXYgaWQ9ImxvZyI+PC9kaXY+Ci08c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08cD5UaGlzIHRlc3Qgc2ltdWxhdGVzIGFu
IGF1dG9tYXRlZCB0ZXN0IHJ1bm5pbmcgc2NlbmFyaW8sIHdoZXJlIHRoZSB0ZXN0Ci1yZXN1bHRz
IGVtaXR0ZWQgYnkgdGVzdGhhcm5lc3MuanMgbWF5IGJlIGludGVycHJldGVkIGFmdGVyIHNvbWUg
ZGVsYXkuIEl0IGlzCi1pbnRlbmRlZCB0byBkZW1vbnN0cmF0ZSB0aGF0IGluIHN1Y2ggY2FzZXMs
IGFueSBhZGRpdGlvbmFsIHRlc3RzIHdoaWNoIGFyZQotZXhlY3V0ZWQgZHVyaW5nIHRoYXQgZGVs
YXkgYXJlIDxlbT5ub3Q8L2VtPiBpbmNsdWRlZCBpbiB0aGUgZGF0YXNldC48L3A+Ci0KLTxwPkFs
dGhvdWdoIHRoZXNlICJsYXRlIiB0ZXN0cyBhcmUgbGlrZWx5IGFuIGluZGljYXRpb24gb2YgYSBt
aXN0YWtlIGluIHRlc3QKLWRlc2lnbiwgdGhleSBjYW5ub3QgYmUgZGV0ZWN0ZWQgZGV0ZXJtaW5p
c3RpY2FsbHksIHNvIGluIHRoZSBpbnRlcmVzdCBvZgotc3RhYmlsaXR5LCB0aGV5IHNob3VsZCBi
ZSBzaWxlbnRseSB0b2xlcmF0ZWQuPC9wPgotPHNjcmlwdD4KLWFzeW5jX3Rlc3QoZnVuY3Rpb24o
dCkgewotICAgIHZhciBzb3VyY2UgPSBbCi0gICAgICAgICI8ZGl2IGlkPSdsb2cnPjwvZGl2PiIs
Ci0gICAgICAgICI8c2NyaXB0IHNyYz0nL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyc+PC8iICsg
InNjcmlwdD4iLAotICAgICAgICAiPHNjcmlwdCBzcmM9Jy9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMnPjwvIiArICJzY3JpcHQ+IiwKLSAgICAgICAgIjxzY3JpcHQ+IiwKLSAgICAgICAg
InBhcmVudC5jaGlsZFJlYWR5KHdpbmRvdyk7IiwKLSAgICAgICAgInNldHVwKHsgZXhwbGljaXRf
ZG9uZTogdHJ1ZSB9KTsiLAotICAgICAgICAidGVzdChmdW5jdGlvbigpIHt9LCAnYWNjZXB0YWJs
ZSB0ZXN0Jyk7IiwKLSAgICAgICAgIm9ubG9hZCA9IGZ1bmN0aW9uKCkgeyIsCi0gICAgICAgICIg
IGRvbmUoKTsiLAotICAgICAgICAiICB0ZXN0KGZ1bmN0aW9uKCkge30sICd0aGlzIHRlc3QgaXMg
bGF0ZSBhbmQgc2hvdWxkIGJlIGlnbm9yZWQnKTsiLAotICAgICAgICAifTsiLAotICAgICAgICAi
PC8iICsgInNjcmlwdD4iCi0gICAgXS5qb2luKCJcbiIpOwotICAgIHZhciBpZnJhbWUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKTsKLQotICAgIGRvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQoaWZyYW1lKTsKLSAgICB3aW5kb3cuY2hpbGRSZWFkeSA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKGNoaWxkV2luZG93KSB7Ci0gICAgICAgIGNoaWxkV2luZG93LmFkZF9jb21wbGV0aW9uX2Nh
bGxiYWNrKHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHRlc3RzLCBzdGF0dXMpIHsKLSAgICAgICAgICAg
IHQuc3RlcF90aW1lb3V0KHQuc3RlcF9mdW5jKGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAg
IGFzc2VydF9lcXVhbHModGVzdHMubGVuZ3RoLCAxKTsKLSAgICAgICAgICAgICAgICBhc3NlcnRf
ZXF1YWxzKHRlc3RzWzBdLm5hbWUsICJhY2NlcHRhYmxlIHRlc3QiKTsKLSAgICAgICAgICAgICAg
ICBhc3NlcnRfZXF1YWxzKHN0YXR1cy5zdGF0dXMsIHN0YXR1cy5PSyk7Ci0gICAgICAgICAgICAg
ICAgdC5kb25lKCk7Ci0gICAgICAgICAgICB9KSwgMCk7Ci0gICAgICAgIH0pKTsKLSAgICB9KTsK
LQotICAgIGlmcmFtZS5jb250ZW50RG9jdW1lbnQub3BlbigpOwotICAgIGlmcmFtZS5jb250ZW50
RG9jdW1lbnQud3JpdGUoc291cmNlKTsKLSAgICBpZnJhbWUuY29udGVudERvY3VtZW50LmNsb3Nl
KCk7Ci19KTsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0
cy91bml0L3Byb21pc2Vfc2V0dXAtdGltZW91dC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy91bml0L3Byb21pc2Vf
c2V0dXAtdGltZW91dC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjNDk0N2Zl
ZWY0Mi4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy91bml0L3Byb21pc2Vfc2V0dXAtdGltZW91
dC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMjggKzAsMCBAQAotPCFET0NUWVBFIEhUTUw+Ci08
aHRtbD4KLTxoZWFkPgotICA8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Ci0gIDxtZXRhIG5hbWU9InRp
bWVvdXQiIGNvbnRlbnQ9ImxvbmciPgotICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+Ci0gIDxzY3JpcHQgc3JjPSIuLi8uLi9uZXN0ZWQtdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0PgotICA8dGl0bGU+cHJvbWlzZV9zZXR1cCAtIHRpbWVvdXQ8L3RpdGxl
PgotPC9oZWFkPgotPGJvZHk+Ci08c2NyaXB0PgotJ3VzZSBzdHJpY3QnOwotcHJvbWlzZV90ZXN0
KCgpID0+IHsKLSAgcmV0dXJuIG1ha2VUZXN0KAotICAgICAgKCkgPT4gewotICAgICAgICB0ZXN0
KCgpID0+IHt9LCAnYmVmb3JlJyk7Ci0gICAgICAgIHByb21pc2Vfc2V0dXAoKCkgPT4gbmV3IFBy
b21pc2UoKCkgPT4ge30pKTsKLSAgICAgICAgcHJvbWlzZV90ZXN0KCgpID0+IFByb21pc2UucmVz
b2x2ZSgpLCAnYWZ0ZXInKTsKLSAgICAgIH0KLSAgICApLnRoZW4oKHtoYXJuZXNzLCB0ZXN0c30p
ID0+IHsKLSAgICAgIGFzc2VydF9lcXVhbHMoaGFybmVzcywgJ1RJTUVPVVQnKTsKLSAgICAgIGFz
c2VydF9lcXVhbHModGVzdHMuYmVmb3JlLCAnUEFTUycpOwotICAgICAgYXNzZXJ0X2VxdWFscyh0
ZXN0cy5hZnRlciwgJ05PVFJVTicpOwotICAgIH0pOwotfSwgJ3RpbWVvdXQgd2hlbiByZXR1cm5l
ZCBwcm9taXNlIGRvZXMgbm90IHNldHRsZScpOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy90ZXN0L3Rlc3RzL3VuaXQvcHJvbWlzZV9zZXR1cC5odG1sIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy91
bml0L3Byb21pc2Vfc2V0dXAuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMmFi
YjEwYTQ3NmUuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvdW5pdC9wcm9taXNlX3NldHVwLmh0
bWwKKysrIC9kZXYvbnVsbApAQCAtMSwzMzMgKzAsMCBAQAotPCFET0NUWVBFIEhUTUw+Ci08aHRt
bD4KLTxoZWFkPgotICA8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Ci0gIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLSAgPHNjcmlwdCBzcmM9Ii4uLy4uL25l
c3RlZC10ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci0gIDx0aXRsZT5wcm9taXNlX3NldHVwPC90
aXRsZT4KLTwvaGVhZD4KLTxib2R5PgotPHNjcmlwdD4KLSd1c2Ugc3RyaWN0JzsKLXByb21pc2Vf
dGVzdCgoKSA9PiB7Ci0gIHJldHVybiBtYWtlVGVzdCgKLSAgICAgICgpID0+IHsKLSAgICAgICAg
Ly8gRW5zdXJlIHRoYXQgdGhlIGhhcm5lc3MgZXJyb3IgaXMgdGhlIHJlc3VsdCBvZiBleHBsaWNp
dCBlcnJvcgotICAgICAgICAvLyBoYW5kbGluZwotICAgICAgICBzZXR1cCh7IGFsbG93X3VuY2F1
Z2h0X2V4Y2VwdGlvbjogdHJ1ZSB9KTsKLQotICAgICAgICB0ZXN0KCgpID0+IHt9LCAnYmVmb3Jl
Jyk7Ci0gICAgICAgIHByb21pc2Vfc2V0dXAoe30pOwotICAgICAgICBwcm9taXNlX3Rlc3QoKCkg
PT4gUHJvbWlzZS5yZXNvbHZlKCksICdhZnRlcicpOwotICAgICAgfQotICAgICkudGhlbigoe2hh
cm5lc3MsIHRlc3RzfSkgPT4gewotICAgICAgYXNzZXJ0X2VxdWFscyhoYXJuZXNzLCAnRVJST1In
KTsKLSAgICAgIGFzc2VydF9lcXVhbHModGVzdHMuYmVmb3JlLCAnUEFTUycpOwotICAgICAgYXNz
ZXJ0X2VxdWFscyh0ZXN0cy5hZnRlciwgdW5kZWZpbmVkKTsKLSAgICB9KTsKLX0sICdFcnJvciB3
aGVuIG5vIGZ1bmN0aW9uIHByb3ZpZGVkJyk7Ci0KLXByb21pc2VfdGVzdCgoKSA9PiB7Ci0gIHJl
dHVybiBtYWtlVGVzdCgKLSAgICAgICgpID0+IHsKLSAgICAgICAgdGVzdCgoKSA9PiB7fSwgJ2Jl
Zm9yZScpOwotICAgICAgICBwcm9taXNlX3NldHVwKCgpID0+IFByb21pc2UucmVzb2x2ZSgpLCB7
fSk7Ci0gICAgICAgIHByb21pc2VfdGVzdCgoKSA9PiBQcm9taXNlLnJlc29sdmUoKSwgJ2FmdGVy
Jyk7Ci0gICAgICAgIHRocm93IG5ldyBFcnJvcigndGhpcyBlcnJvciBpcyBleHBlY3RlZCcpOwot
ICAgICAgfQotICAgICkudGhlbigoe2hhcm5lc3MsIHRlc3RzfSkgPT4gewotICAgICAgYXNzZXJ0
X2VxdWFscyhoYXJuZXNzLCAnRVJST1InKTsKLSAgICAgIGFzc2VydF9lcXVhbHModGVzdHMuYmVm
b3JlLCAnUEFTUycpOwotICAgICAgYXNzZXJ0X2VxdWFscyh0ZXN0cy5hZnRlciwgJ1BBU1MnKTsK
LSAgICB9KTsKLX0sICdEb2VzIG5vdCBhcHBseSB1bnNwZWNpZmllZCBjb25maWd1cmF0aW9uIHBy
b3BlcnRpZXMnKTsKLQotcHJvbWlzZV90ZXN0KCgpID0+IHsKLSAgcmV0dXJuIG1ha2VUZXN0KAot
ICAgICAgKCkgPT4gewotICAgICAgICB2YXIgcHJvcGVydGllcyA9IHsKLSAgICAgICAgICBhbGxv
d191bmNhdWdodF9leGNlcHRpb246IHRydWUKLSAgICAgICAgfTsKLSAgICAgICAgdGVzdCgoKSA9
PiB7fSwgJ2JlZm9yZScpOwotICAgICAgICBwcm9taXNlX3NldHVwKCgpID0+IFByb21pc2UucmVz
b2x2ZSgpLCBwcm9wZXJ0aWVzKTsKLSAgICAgICAgcHJvbWlzZV90ZXN0KCgpID0+IFByb21pc2Uu
cmVzb2x2ZSgpLCAnYWZ0ZXInKTsKLSAgICAgICAgdGhyb3cgbmV3IEVycm9yKCd0aGlzIGVycm9y
IGlzIGV4cGVjdGVkJyk7Ci0gICAgICB9Ci0gICAgKS50aGVuKCh7aGFybmVzcywgdGVzdHN9KSA9
PiB7Ci0gICAgICBhc3NlcnRfZXF1YWxzKGhhcm5lc3MsICdFUlJPUicpOwotICAgICAgYXNzZXJ0
X2VxdWFscyh0ZXN0cy5iZWZvcmUsICdQQVNTJyk7Ci0gICAgICBhc3NlcnRfZXF1YWxzKHRlc3Rz
LmFmdGVyLCAnUEFTUycpOwotICAgIH0pOwotfSwgJ0lnbm9yZXMgY29uZmlndXJhdGlvbiBwcm9w
ZXJ0aWVzIHdoZW4gc29tZSB0ZXN0cyBoYXZlIGFscmVhZHkgcnVuJyk7Ci0KLXByb21pc2VfdGVz
dCgoKSA9PiB7Ci0gIHJldHVybiBtYWtlVGVzdCgKLSAgICAgICgpID0+IHsKLSAgICAgICAgdmFy
IHByb3BlcnRpZXMgPSB7Ci0gICAgICAgICAgYWxsb3dfdW5jYXVnaHRfZXhjZXB0aW9uOiB0cnVl
Ci0gICAgICAgIH07Ci0gICAgICAgIHByb21pc2Vfc2V0dXAoKCkgPT4gUHJvbWlzZS5yZXNvbHZl
KCksIHByb3BlcnRpZXMpOwotICAgICAgICBwcm9taXNlX3Rlc3QoKCkgPT4gewotICAgICAgICAg
IHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4gewotICAgICAgICAgICAgc2V0VGltZW91
dCgoKSA9PiB7Ci0gICAgICAgICAgICAgIHJlc29sdmUoKTsKLSAgICAgICAgICAgICAgdGhyb3cg
bmV3IEVycm9yKCd0aGlzIGVycm9yIGlzIGV4cGVjdGVkJyk7Ci0gICAgICAgICAgICB9KTsKLSAg
ICAgICAgICB9KTsKLSAgICAgICAgfSwgJ2FmdGVyJyk7Ci0gICAgICB9Ci0gICAgKS50aGVuKCh7
aGFybmVzcywgdGVzdHN9KSA9PiB7Ci0gICAgICBhc3NlcnRfZXF1YWxzKGhhcm5lc3MsICdPSycp
OwotICAgICAgYXNzZXJ0X2VxdWFscyh0ZXN0cy5hZnRlciwgJ1BBU1MnKTsKLSAgICB9KTsKLX0s
ICdIb25vcnMgY29uZmlndXJhdGlvbiBwcm9wZXJ0aWVzJyk7Ci0KLXByb21pc2VfdGVzdCgoKSA9
PiB7Ci0gIHJldHVybiBtYWtlVGVzdCgKLSAgICAgICgpID0+IHsKLSAgICAgICAgLy8gRW5zdXJl
IHRoYXQgdGhlIGhhcm5lc3MgZXJyb3IgaXMgdGhlIHJlc3VsdCBvZiBleHBsaWNpdCBlcnJvcgot
ICAgICAgICAvLyBoYW5kbGluZwotICAgICAgICBzZXR1cCh7IGFsbG93X3VuY2F1Z2h0X2V4Y2Vw
dGlvbjogdHJ1ZSB9KTsKLQotICAgICAgICB0ZXN0KCgpID0+IHt9LCAnYmVmb3JlJyk7Ci0gICAg
ICAgIHByb21pc2Vfc2V0dXAoKCkgPT4geyB0aHJvdyBuZXcgRXJyb3IoJ3RoaXMgZXJyb3IgaXMg
ZXhwZWN0ZWQnKTsgfSk7Ci0gICAgICAgIHByb21pc2VfdGVzdCgoKSA9PiBQcm9taXNlLnJlc29s
dmUoKSwgJ2FmdGVyJyk7Ci0gICAgICB9Ci0gICAgKS50aGVuKCh7aGFybmVzcywgdGVzdHN9KSA9
PiB7Ci0gICAgICBhc3NlcnRfZXF1YWxzKGhhcm5lc3MsICdFUlJPUicpOwotICAgICAgYXNzZXJ0
X2VxdWFscyh0ZXN0cy5iZWZvcmUsICdQQVNTJyk7Ci0gICAgICBhc3NlcnRfZXF1YWxzKHRlc3Rz
LmFmdGVyLCAnTk9UUlVOJyk7Ci0gICAgfSk7Ci19LCAnRXJyb3IgZm9yIHN5bmNocm9ub3VzIGV4
Y2VwdGlvbnMnKTsKLQotcHJvbWlzZV90ZXN0KCgpID0+IHsKLSAgcmV0dXJuIG1ha2VUZXN0KAot
ICAgICAgKCkgPT4gewotICAgICAgICAvLyBFbnN1cmUgdGhhdCB0aGUgaGFybmVzcyBlcnJvciBp
cyB0aGUgcmVzdWx0IG9mIGV4cGxpY2l0IGVycm9yCi0gICAgICAgIC8vIGhhbmRsaW5nCi0gICAg
ICAgIHNldHVwKHsgYWxsb3dfdW5jYXVnaHRfZXhjZXB0aW9uOiB0cnVlIH0pOwotCi0gICAgICAg
IHRlc3QoKCkgPT4ge30sICdiZWZvcmUnKTsKLSAgICAgICAgcHJvbWlzZV9zZXR1cCgoKSA9PiB1
bmRlZmluZWQpOwotICAgICAgICBwcm9taXNlX3Rlc3QoKCkgPT4gUHJvbWlzZS5yZXNvbHZlKCks
ICdhZnRlcicpOwotICAgICAgfQotICAgICkudGhlbigoe2hhcm5lc3MsIHRlc3RzfSkgPT4gewot
ICAgICAgYXNzZXJ0X2VxdWFscyhoYXJuZXNzLCAnRVJST1InKTsKLSAgICAgIGFzc2VydF9lcXVh
bHModGVzdHMuYmVmb3JlLCAnUEFTUycpOwotICAgICAgYXNzZXJ0X2VxdWFscyh0ZXN0cy5hZnRl
ciwgJ05PVFJVTicpOwotICAgIH0pOwotfSwgJ0Vycm9yIGZvciBtaXNzaW5nIHJldHVybiB2YWx1
ZScpOwotCi1wcm9taXNlX3Rlc3QoKCkgPT4gewotICByZXR1cm4gbWFrZVRlc3QoCi0gICAgICAo
KSA9PiB7Ci0gICAgICAgIC8vIEVuc3VyZSB0aGF0IHRoZSBoYXJuZXNzIGVycm9yIGlzIHRoZSBy
ZXN1bHQgb2YgZXhwbGljaXQgZXJyb3IKLSAgICAgICAgLy8gaGFuZGxpbmcKLSAgICAgICAgc2V0
dXAoeyBhbGxvd191bmNhdWdodF9leGNlcHRpb246IHRydWUgfSk7Ci0KLSAgICAgICAgdGVzdCgo
KSA9PiB7fSwgJ2JlZm9yZScpOwotICAgICAgICB2YXIgbm9UaGVuID0gUHJvbWlzZS5yZXNvbHZl
KCk7Ci0gICAgICAgIG5vVGhlbi50aGVuID0gdW5kZWZpbmVkOwotICAgICAgICBwcm9taXNlX3Nl
dHVwKCgpID0+IG5vVGhlbik7Ci0gICAgICAgIHByb21pc2VfdGVzdCgoKSA9PiBQcm9taXNlLnJl
c29sdmUoKSwgJ2FmdGVyJyk7Ci0gICAgICB9Ci0gICAgKS50aGVuKCh7aGFybmVzcywgdGVzdHN9
KSA9PiB7Ci0gICAgICBhc3NlcnRfZXF1YWxzKGhhcm5lc3MsICdFUlJPUicpOwotICAgICAgYXNz
ZXJ0X2VxdWFscyh0ZXN0cy5iZWZvcmUsICdQQVNTJyk7Ci0gICAgICBhc3NlcnRfZXF1YWxzKHRl
c3RzLmFmdGVyLCAnTk9UUlVOJyk7Ci0gICAgfSk7Ci19LCAnRXJyb3IgZm9yIG5vbi10aGVuYWJs
ZSByZXR1cm4gdmFsdWUnKTsKLQotcHJvbWlzZV90ZXN0KCgpID0+IHsKLSAgcmV0dXJuIG1ha2VU
ZXN0KAotICAgICAgKCkgPT4gewotICAgICAgICAvLyBFbnN1cmUgdGhhdCB0aGUgaGFybmVzcyBl
cnJvciBpcyB0aGUgcmVzdWx0IG9mIGV4cGxpY2l0IGVycm9yCi0gICAgICAgIC8vIGhhbmRsaW5n
Ci0gICAgICAgIHNldHVwKHsgYWxsb3dfdW5jYXVnaHRfZXhjZXB0aW9uOiB0cnVlIH0pOwotCi0g
ICAgICAgIHRlc3QoKCkgPT4ge30sICdiZWZvcmUnKTsKLSAgICAgICAgdmFyIHBvaXNvbmVkVGhl
biA9IHsKLSAgICAgICAgICBnZXQgdGhlbigpIHsKLSAgICAgICAgICAgIHRocm93IG5ldyBFcnJv
cigndGhpcyBlcnJvciBpcyBleHBlY3RlZCcpOwotICAgICAgICAgIH0KLSAgICAgICAgfTsKLSAg
ICAgICAgcHJvbWlzZV9zZXR1cCgoKSA9PiBwb2lzb25lZFRoZW4pOwotICAgICAgICBwcm9taXNl
X3Rlc3QoKCkgPT4gUHJvbWlzZS5yZXNvbHZlKCksICdhZnRlcicpOwotICAgICAgfQotICAgICku
dGhlbigoe2hhcm5lc3MsIHRlc3RzfSkgPT4gewotICAgICAgYXNzZXJ0X2VxdWFscyhoYXJuZXNz
LCAnRVJST1InKTsKLSAgICAgIGFzc2VydF9lcXVhbHModGVzdHMuYmVmb3JlLCAnUEFTUycpOwot
ICAgICAgYXNzZXJ0X2VxdWFscyh0ZXN0cy5hZnRlciwgJ05PVFJVTicpOwotICAgIH0pOwotfSwg
J0Vycm9yIGZvciAicG9pc29uZWQiIGB0aGVuYCBwcm9wZXJ0eScpOwotCi1wcm9taXNlX3Rlc3Qo
KCkgPT4gewotICByZXR1cm4gbWFrZVRlc3QoCi0gICAgICAoKSA9PiB7Ci0gICAgICAgIC8vIEVu
c3VyZSB0aGF0IHRoZSBoYXJuZXNzIGVycm9yIGlzIHRoZSByZXN1bHQgb2YgZXhwbGljaXQgZXJy
b3IKLSAgICAgICAgLy8gaGFuZGxpbmcKLSAgICAgICAgc2V0dXAoeyBhbGxvd191bmNhdWdodF9l
eGNlcHRpb246IHRydWUgfSk7Ci0KLSAgICAgICAgdGVzdCgoKSA9PiB7fSwgJ2JlZm9yZScpOwot
ICAgICAgICB2YXIgYmFkVGhlbiA9IHsKLSAgICAgICAgICB0aGVuKCkgewotICAgICAgICAgICAg
dGhyb3cgbmV3IEVycm9yKCd0aGlzIGVycm9yIGlzIGV4cGVjdGVkJyk7Ci0gICAgICAgICAgfQot
ICAgICAgICB9OwotICAgICAgICBwcm9taXNlX3NldHVwKCgpID0+IGJhZFRoZW4pOwotICAgICAg
ICBwcm9taXNlX3Rlc3QoKCkgPT4gUHJvbWlzZS5yZXNvbHZlKCksICdhZnRlcicpOwotICAgICAg
fQotICAgICkudGhlbigoe2hhcm5lc3MsIHRlc3RzfSkgPT4gewotICAgICAgYXNzZXJ0X2VxdWFs
cyhoYXJuZXNzLCAnRVJST1InKTsKLSAgICAgIGFzc2VydF9lcXVhbHModGVzdHMuYmVmb3JlLCAn
UEFTUycpOwotICAgICAgYXNzZXJ0X2VxdWFscyh0ZXN0cy5hZnRlciwgJ05PVFJVTicpOwotICAg
IH0pOwotfSwgJ0Vycm9yIGZvciBzeW5jaHJvbm91cyBlcnJvciBmcm9tIGB0aGVuYCBtZXRob2Qn
KTsKLQotcHJvbWlzZV90ZXN0KCgpID0+IHsKLSAgcmV0dXJuIG1ha2VUZXN0KAotICAgICAgKCkg
PT4gewotICAgICAgICAvLyBFbnN1cmUgdGhhdCB0aGUgaGFybmVzcyBlcnJvciBpcyB0aGUgcmVz
dWx0IG9mIGV4cGxpY2l0IGVycm9yCi0gICAgICAgIC8vIGhhbmRsaW5nCi0gICAgICAgIHNldHVw
KHsgYWxsb3dfdW5jYXVnaHRfZXhjZXB0aW9uOiB0cnVlIH0pOwotCi0gICAgICAgIHRlc3QoKCkg
PT4ge30sICdiZWZvcmUnKTsKLSAgICAgICAgcHJvbWlzZV9zZXR1cCgoKSA9PiBQcm9taXNlLnJl
c29sdmUoKSk7Ci0gICAgICAgIHRlc3QoKCkgPT4ge30sICdhZnRlcicpOwotICAgICAgfQotICAg
ICkudGhlbigoe2hhcm5lc3MsIHRlc3RzfSkgPT4gewotICAgICAgYXNzZXJ0X2VxdWFscyhoYXJu
ZXNzLCAnRVJST1InKTsKLSAgICAgIGFzc2VydF9lcXVhbHModGVzdHMuYmVmb3JlLCAnUEFTUycp
OwotICAgICAgYXNzZXJ0X2VxdWFscyh0ZXN0cy5hZnRlciwgdW5kZWZpbmVkKTsKLSAgICB9KTsK
LX0sICdFcnJvciBmb3Igc3Vic2VxdWVudCBpbnZvY2F0aW9uIG9mIGB0ZXN0YCcpOwotCi1wcm9t
aXNlX3Rlc3QoKCkgPT4gewotICByZXR1cm4gbWFrZVRlc3QoCi0gICAgICAoKSA9PiB7Ci0gICAg
ICAgIC8vIEVuc3VyZSB0aGF0IHRoZSBoYXJuZXNzIGVycm9yIGlzIHRoZSByZXN1bHQgb2YgZXhw
bGljaXQgZXJyb3IKLSAgICAgICAgLy8gaGFuZGxpbmcKLSAgICAgICAgc2V0dXAoeyBhbGxvd191
bmNhdWdodF9leGNlcHRpb246IHRydWUgfSk7Ci0KLSAgICAgICAgdGVzdCgoKSA9PiB7fSwgJ2Jl
Zm9yZScpOwotICAgICAgICBwcm9taXNlX3NldHVwKCgpID0+IFByb21pc2UucmVzb2x2ZSgpKTsK
LSAgICAgICAgYXN5bmNfdGVzdCgodCkgPT4gdC5kb25lKCksICdhZnRlcicpOwotICAgICAgfQot
ICAgICkudGhlbigoe2hhcm5lc3MsIHRlc3RzfSkgPT4gewotICAgICAgYXNzZXJ0X2VxdWFscyho
YXJuZXNzLCAnRVJST1InKTsKLSAgICAgIGFzc2VydF9lcXVhbHModGVzdHMuYmVmb3JlLCAnUEFT
UycpOwotICAgICAgYXNzZXJ0X2VxdWFscyh0ZXN0cy5hZnRlciwgdW5kZWZpbmVkKTsKLSAgICB9
KTsKLX0sICdFcnJvciBmb3Igc3Vic2VxdWVudCBpbnZvY2F0aW9uIG9mIGBhc3luY190ZXN0YCcp
OwotCi1wcm9taXNlX3Rlc3QoKCkgPT4gewotICByZXR1cm4gbWFrZVRlc3QoCi0gICAgICAoKSA9
PiB7Ci0gICAgICAgIC8vIEVuc3VyZSB0aGF0IHRoZSBoYXJuZXNzIGVycm9yIGlzIHRoZSByZXN1
bHQgb2YgZXhwbGljaXQgZXJyb3IKLSAgICAgICAgLy8gaGFuZGxpbmcKLSAgICAgICAgc2V0dXAo
eyBhbGxvd191bmNhdWdodF9leGNlcHRpb246IHRydWUgfSk7Ci0KLSAgICAgICAgdGVzdCgoKSA9
PiB7fSwgJ2JlZm9yZScpOwotICAgICAgICBwcm9taXNlX3NldHVwKCgpID0+IFByb21pc2UucmVq
ZWN0KCkpOwotICAgICAgICBwcm9taXNlX3Rlc3QoKCkgPT4gUHJvbWlzZS5yZXNvbHZlKCksICdh
ZnRlcicpOwotICAgICAgfQotICAgICkudGhlbigoe2hhcm5lc3MsIHRlc3RzfSkgPT4gewotICAg
ICAgYXNzZXJ0X2VxdWFscyhoYXJuZXNzLCAnRVJST1InKTsKLSAgICAgIGFzc2VydF9lcXVhbHMo
dGVzdHMuYmVmb3JlLCAnUEFTUycpOwotICAgICAgYXNzZXJ0X2VxdWFscyh0ZXN0cy5hZnRlciwg
J05PVFJVTicpOwotICAgIH0pOwotfSwgJ0Vycm9yIGZvciByZWplY3RlZCBwcm9taXNlJyk7Ci0K
LXByb21pc2VfdGVzdCgoKSA9PiB7Ci0gIHZhciBleHBlY3RlZF9zZXF1ZW5jZSA9IFsKLSAgICAn
dGVzdCBib2R5JywKLSAgICAncHJvbWlzZV9zZXR1cCBiZWdpbicsCi0gICAgJ3Byb21pc2Vfc2V0
dXAgZW5kJywKLSAgICAncHJvbWlzZV90ZXN0IGJvZHknCi0gIF07Ci0gIHZhciBhY3R1YWxfc2Vx
dWVuY2UgPSB3aW5kb3cuYWN0dWFsX3NlcXVlbmNlID0gW107Ci0KLSAgcmV0dXJuIG1ha2VUZXN0
KAotICAgICAgKCkgPT4gewotICAgICAgICB0ZXN0KCgpID0+IHsgcGFyZW50LmFjdHVhbF9zZXF1
ZW5jZS5wdXNoKCd0ZXN0IGJvZHknKTsgfSwgJ2JlZm9yZScpOwotICAgICAgICBwcm9taXNlX3Nl
dHVwKCgpID0+IHsKLSAgICAgICAgICBwYXJlbnQuYWN0dWFsX3NlcXVlbmNlLnB1c2goJ3Byb21p
c2Vfc2V0dXAgYmVnaW4nKTsKLQotICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKQot
ICAgICAgICAgICAgLnRoZW4oKCkgPT4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHNldFRpbWVv
dXQocmVzb2x2ZSwgMzAwKSkpCi0gICAgICAgICAgICAudGhlbigoKSA9PiBwYXJlbnQuYWN0dWFs
X3NlcXVlbmNlLnB1c2goJ3Byb21pc2Vfc2V0dXAgZW5kJykpOwotICAgICAgICB9KTsKLSAgICAg
ICAgcHJvbWlzZV90ZXN0KCgpID0+IHsKLSAgICAgICAgICBwYXJlbnQuYWN0dWFsX3NlcXVlbmNl
LnB1c2goJ3Byb21pc2VfdGVzdCBib2R5Jyk7Ci0gICAgICAgICAgcmV0dXJuIFByb21pc2UucmVz
b2x2ZSgpOwotICAgICAgICB9LCAnYWZ0ZXInKTsKLSAgICAgIH0KLSAgICApLnRoZW4oKHtoYXJu
ZXNzLCB0ZXN0c30pID0+IHsKLSAgICAgIGFzc2VydF9lcXVhbHMoaGFybmVzcywgJ09LJyk7Ci0g
ICAgICBhc3NlcnRfZXF1YWxzKHRlc3RzLmJlZm9yZSwgJ1BBU1MnKTsKLSAgICAgIGFzc2VydF9l
cXVhbHModGVzdHMuYWZ0ZXIsICdQQVNTJyk7Ci0gICAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKGFj
dHVhbF9zZXF1ZW5jZSwgZXhwZWN0ZWRfc2VxdWVuY2UpOwotICAgIH0pOwotfSwgJ1dhaXRzIGZv
ciBwcm9taXNlIHRvIHNldHRsZScpOwotCi1wcm9taXNlX3Rlc3QoKCkgPT4gewotICB2YXIgZXhw
ZWN0ZWRfc2VxdWVuY2UgPSBbCi0gICAgJ3Byb21pc2VfdGVzdCAxIGJlZ2luJywKLSAgICAncHJv
bWlzZV90ZXN0IDEgZW5kJywKLSAgICAncHJvbWlzZV9zZXR1cCBiZWdpbicsCi0gICAgJ3Byb21p
c2Vfc2V0dXAgZW5kJywKLSAgICAncHJvbWlzZV90ZXN0IDIgYm9keScKLSAgXTsKLSAgdmFyIGFj
dHVhbF9zZXF1ZW5jZSA9IHdpbmRvdy5hY3R1YWxfc2VxdWVuY2UgPSBbXTsKLQotICByZXR1cm4g
bWFrZVRlc3QoCi0gICAgICAoKSA9PiB7Ci0gICAgICAgIHByb21pc2VfdGVzdCgodCkgPT4gewot
ICAgICAgICAgIHBhcmVudC5hY3R1YWxfc2VxdWVuY2UucHVzaCgncHJvbWlzZV90ZXN0IDEgYmVn
aW4nKTsKLQotICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKQotICAgICAgICAgICAg
LnRoZW4oKCkgPT4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHQuc3RlcF90aW1lb3V0KHJlc29s
dmUsIDMwMCkpKQotICAgICAgICAgICAgLnRoZW4oKCkgPT4gcGFyZW50LmFjdHVhbF9zZXF1ZW5j
ZS5wdXNoKCdwcm9taXNlX3Rlc3QgMSBlbmQnKSk7Ci0gICAgICAgIH0sICdiZWZvcmUnKTsKLSAg
ICAgICAgcHJvbWlzZV9zZXR1cCgoKSA9PiB7Ci0gICAgICAgICAgcGFyZW50LmFjdHVhbF9zZXF1
ZW5jZS5wdXNoKCdwcm9taXNlX3NldHVwIGJlZ2luJyk7Ci0KLSAgICAgICAgICByZXR1cm4gUHJv
bWlzZS5yZXNvbHZlKCkKLSAgICAgICAgICAgIC50aGVuKCgpID0+IG5ldyBQcm9taXNlKChyZXNv
bHZlKSA9PiBzZXRUaW1lb3V0KHJlc29sdmUsIDMwMCkpKQotICAgICAgICAgICAgLnRoZW4oKCkg
PT4gcGFyZW50LmFjdHVhbF9zZXF1ZW5jZS5wdXNoKCdwcm9taXNlX3NldHVwIGVuZCcpKTsKLSAg
ICAgICAgfSk7Ci0gICAgICAgIHByb21pc2VfdGVzdCgoKSA9PiB7Ci0gICAgICAgICAgcGFyZW50
LmFjdHVhbF9zZXF1ZW5jZS5wdXNoKCdwcm9taXNlX3Rlc3QgMiBib2R5Jyk7Ci0gICAgICAgICAg
cmV0dXJuIFByb21pc2UucmVzb2x2ZSgpOwotICAgICAgICB9LCAnYWZ0ZXInKTsKLSAgICAgIH0K
LSAgICApLnRoZW4oKHtoYXJuZXNzLCB0ZXN0c30pID0+IHsKLSAgICAgIGFzc2VydF9lcXVhbHMo
aGFybmVzcywgJ09LJyk7Ci0gICAgICBhc3NlcnRfZXF1YWxzKHRlc3RzLmJlZm9yZSwgJ1BBU1Mn
KTsKLSAgICAgIGFzc2VydF9lcXVhbHModGVzdHMuYWZ0ZXIsICdQQVNTJyk7Ci0gICAgICBhc3Nl
cnRfYXJyYXlfZXF1YWxzKGFjdHVhbF9zZXF1ZW5jZSwgZXhwZWN0ZWRfc2VxdWVuY2UpOwotICAg
IH0pOwotfSwgJ1dhaXRzIGZvciBleGlzdGluZyBwcm9taXNlX3Rlc3QgdG8gY29tcGxldGUnKTsK
LQotcHJvbWlzZV90ZXN0KCgpID0+IHsKLSAgcmV0dXJuIG1ha2VUZXN0KAotICAgICAgKCkgPT4g
ewotICAgICAgICB2YXIgcHJvcGVydGllcyA9IHsgYWxsb3dfdW5jYXVnaHRfZXhjZXB0aW9uOiB0
cnVlIH07Ci0gICAgICAgIHByb21pc2VfdGVzdCgoKSA9PiB7Ci0gICAgICAgICAgcmV0dXJuIG5l
dyBQcm9taXNlKChyZXNvbHZlKSA9PiB7Ci0gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHsK
LSAgICAgICAgICAgICAgcmVzb2x2ZSgpOwotICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3Io
J3RoaXMgZXJyb3IgaXMgZXhwZWN0ZWQnKTsKLSAgICAgICAgICAgIH0pOwotICAgICAgICAgIH0p
OwotICAgICAgICB9LCAnYmVmb3JlJyk7Ci0gICAgICAgIHByb21pc2Vfc2V0dXAoKCkgPT4gUHJv
bWlzZS5yZXNvbHZlKCksIHByb3BlcnRpZXMpOwotICAgICAgfQotICAgICkudGhlbigoe2hhcm5l
c3MsIHRlc3RzfSkgPT4gewotICAgICAgYXNzZXJ0X2VxdWFscyhoYXJuZXNzLCAnRVJST1InKTsK
LSAgICAgIGFzc2VydF9lcXVhbHModGVzdHMuYmVmb3JlLCAnUEFTUycpOwotICAgIH0pOwotfSwg
J0RlZmVycyBhcHBsaWNhdGlvbiBvZiBzZXR1cCBwcm9wZXJ0aWVzJyk7Ci08L3NjcmlwdD4KLTwv
Ym9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvdW5pdC9zaW5nbGVfdGVzdC5odG1s
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
dGVzdC90ZXN0cy91bml0L3NpbmdsZV90ZXN0Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IGZmNzY2ZTY2Y2VjLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL3VuaXQvc2luZ2xl
X3Rlc3QuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDk0ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1M
PgotPGh0bWw+Ci08aGVhZD4KLSAgPG1ldGEgY2hhcnNldD0idXRmLTgiPgotICA8bWV0YSBuYW1l
PSJ0aW1lb3V0IiBjb250ZW50PSJsb25nIj4KLSAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgotICA8c2NyaXB0IHNyYz0iLi4vLi4vbmVzdGVkLXRlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KLSAgPHRpdGxlPnNpbmdsZV90ZXN0PC90aXRsZT4KLTwvaGVh
ZD4KLTxib2R5PgotPHNjcmlwdD4KLXByb21pc2VfdGVzdCgoKSA9PiB7Ci0gIHJldHVybiBtYWtl
VGVzdCgKLSAgICAgICgpID0+IHsKLSAgICAgICAgc2V0dXAoeyBzaW5nbGVfdGVzdDogdHJ1ZSB9
KTsKLSAgICAgICAgZG9uZSgpOwotICAgICAgfQotICAgICkudGhlbigoe2hhcm5lc3MsIHRlc3Rz
fSkgPT4gewotICAgICAgYXNzZXJ0X2VxdWFscyhoYXJuZXNzLCAnT0snKTsKLSAgICAgIGFzc2Vy
dF9lcXVhbHModGVzdHNbJ0RvY3VtZW50IHRpdGxlJ10sICdQQVNTJyk7Ci0gICAgfSk7Ci19LCAn
RXhwZWN0ZWQgdXNhZ2UnKTsKLQotcHJvbWlzZV90ZXN0KCgpID0+IHsKLSAgcmV0dXJuIG1ha2VU
ZXN0KAotICAgICAgKCkgPT4gewotICAgICAgICBzZXR1cCh7IHNpbmdsZV90ZXN0OiB0cnVlIH0p
OwotICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ3RoaXMgZXJyb3IgaXMgZXhwZWN0ZWQnKTsKLSAg
ICAgIH0KLSAgICApLnRoZW4oKHtoYXJuZXNzLCB0ZXN0c30pID0+IHsKLSAgICAgIGFzc2VydF9l
cXVhbHMoaGFybmVzcywgJ09LJyk7Ci0gICAgICBhc3NlcnRfZXF1YWxzKHRlc3RzWydEb2N1bWVu
dCB0aXRsZSddLCAnRkFJTCcpOwotICAgIH0pOwotfSwgJ1VuY2F1Z2h0IGV4Y2VwdGlvbicpOwot
Ci1wcm9taXNlX3Rlc3QoKCkgPT4gewotICByZXR1cm4gbWFrZVRlc3QoCi0gICAgICAoKSA9PiB7
Ci0gICAgICAgIHNldHVwKHsgc2luZ2xlX3Rlc3Q6IHRydWUgfSk7Ci0gICAgICAgIFByb21pc2Uu
cmVqZWN0KG5ldyBFcnJvcigndGhpcyBlcnJvciBpcyBleHBlY3RlZCcpKTsKLSAgICAgIH0KLSAg
ICApLnRoZW4oKHtoYXJuZXNzLCB0ZXN0c30pID0+IHsKLSAgICAgIGFzc2VydF9lcXVhbHMoaGFy
bmVzcywgJ09LJyk7Ci0gICAgICBhc3NlcnRfZXF1YWxzKHRlc3RzWydEb2N1bWVudCB0aXRsZSdd
LCAnRkFJTCcpOwotICAgIH0pOwotfSwgJ1VuaGFuZGxlZCByZWplY3Rpb24nKTsKLQotcHJvbWlz
ZV90ZXN0KCgpID0+IHsKLSAgcmV0dXJuIG1ha2VUZXN0KAotICAgICAgKCkgPT4gewotICAgICAg
ICBzZXR1cCh7IHNpbmdsZV90ZXN0OiB0cnVlIH0pOwotICAgICAgICB0ZXN0KGZ1bmN0aW9uKCkg
e30sICdzeW5jIHRlc3QnKTsKLSAgICAgIH0KLSAgICApLnRoZW4oKHtoYXJuZXNzLCB0ZXN0c30p
ID0+IHsKLSAgICAgIGFzc2VydF9lcXVhbHMoaGFybmVzcywgJ09LJyk7Ci0gICAgICBhc3NlcnRf
ZXF1YWxzKHRlc3RzWydEb2N1bWVudCB0aXRsZSddLCAnRkFJTCcpOwotICAgICAgYXNzZXJ0X2Vx
dWFscygKLSAgICAgICAgT2JqZWN0LmtleXModGVzdHMpLmxlbmd0aCwgMSwgJ25vIGFkZGl0aW9u
YWwgc3VidGVzdHMgY3JlYXRlZCcKLSAgICAgICk7Ci0gICAgfSk7Ci19LCAnRXJyb25lb3VzIHVz
YWdlOiBzdWJ0ZXN0IGRlY2xhcmF0aW9uIChzeW5jaHJvbm91cyB0ZXN0KScpOwotCi1wcm9taXNl
X3Rlc3QoKCkgPT4gewotICByZXR1cm4gbWFrZVRlc3QoCi0gICAgICAoKSA9PiB7Ci0gICAgICAg
IHNldHVwKHsgc2luZ2xlX3Rlc3Q6IHRydWUgfSk7Ci0gICAgICAgIGFzeW5jX3Rlc3QoZnVuY3Rp
b24odCkgeyB0LmRvbmUoKTsgfSwgJ2FzeW5jIHRlc3QnKTsKLSAgICAgIH0KLSAgICApLnRoZW4o
KHtoYXJuZXNzLCB0ZXN0c30pID0+IHsKLSAgICAgIGFzc2VydF9lcXVhbHMoaGFybmVzcywgJ09L
Jyk7Ci0gICAgICBhc3NlcnRfZXF1YWxzKHRlc3RzWydEb2N1bWVudCB0aXRsZSddLCAnRkFJTCcp
OwotICAgICAgYXNzZXJ0X2VxdWFscygKLSAgICAgICAgT2JqZWN0LmtleXModGVzdHMpLmxlbmd0
aCwgMSwgJ25vIGFkZGl0aW9uYWwgc3VidGVzdHMgY3JlYXRlZCcKLSAgICAgICk7Ci0gICAgfSk7
Ci19LCAnRXJyb25lb3VzIHVzYWdlOiBzdWJ0ZXN0IGRlY2xhcmF0aW9uIChhc3luY2hyb25vdXMg
dGVzdCknKTsKLQotcHJvbWlzZV90ZXN0KCgpID0+IHsKLSAgcmV0dXJuIG1ha2VUZXN0KAotICAg
ICAgKCkgPT4gewotICAgICAgICBzZXR1cCh7IHNpbmdsZV90ZXN0OiB0cnVlIH0pOwotICAgICAg
ICBwcm9taXNlX3Rlc3QoZnVuY3Rpb24oKSB7IHJldHVybiBQcm9taXNlLnJlc29sdmUoKTsgfSwg
J3Byb21pc2UgdGVzdCcpOwotICAgICAgfQotICAgICkudGhlbigoe2hhcm5lc3MsIHRlc3RzfSkg
PT4gewotICAgICAgYXNzZXJ0X2VxdWFscyhoYXJuZXNzLCAnT0snKTsKLSAgICAgIGFzc2VydF9l
cXVhbHModGVzdHNbJ0RvY3VtZW50IHRpdGxlJ10sICdGQUlMJyk7Ci0gICAgICBhc3NlcnRfZXF1
YWxzKAotICAgICAgICBPYmplY3Qua2V5cyh0ZXN0cykubGVuZ3RoLCAxLCAnbm8gYWRkaXRpb25h
bCBzdWJ0ZXN0cyBjcmVhdGVkJwotICAgICAgKTsKLSAgICB9KTsKLX0sICdFcnJvbmVvdXMgdXNh
Z2U6IHN1YnRlc3QgZGVjbGFyYXRpb24gKHByb21pc2UgdGVzdCknKTsKLTwvc2NyaXB0PgotPC9i
b2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy91bml0L3Rlc3QtcmV0dXJuLXJlc3Ry
aWN0aW9ucy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy91bml0L3Rlc3QtcmV0dXJuLXJlc3RyaWN0aW9ucy5odG1s
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiODQ2ZDRkYzQzMC4uMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvdGVzdC90ZXN0cy91bml0L3Rlc3QtcmV0dXJuLXJlc3RyaWN0aW9ucy5odG1sCisrKyAvZGV2
L251bGwKQEAgLTEsMTU1ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4K
LSAgPG1ldGEgY2hhcnNldD0idXRmLTgiPgotICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci0gIDx0aXRsZT5SZXN0cmljdGlvbnMgb24gcmV0dXJuIHZh
bHVlIGZyb20gYHRlc3RgPC90aXRsZT4KLTwvaGVhZD4KLTxib2R5PgotPHNjcmlwdD4KLWZ1bmN0
aW9uIG1ha2VUZXN0KC4uLmJvZGllcykgewotICBjb25zdCBjbG9zZVNjcmlwdCA9ICc8JyArICcv
c2NyaXB0Pic7Ci0gIGxldCBzcmMgPSBgCi08IURPQ1RZUEUgSFRNTD4KLTxodG1sPgotPGhlYWQ+
Ci08dGl0bGU+RG9jdW1lbnQgdGl0bGU8L3RpdGxlPgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanM/JHtNYXRoLnJhbmRvbSgpfSI+JHtjbG9zZVNjcmlwdH0KLTwvaGVhZD4K
LQotPGJvZHk+Ci08ZGl2IGlkPSJsb2ciPjwvZGl2PmA7Ci0gIGJvZGllcy5mb3JFYWNoKChib2R5
KSA9PiB7Ci0gICAgc3JjICs9ICc8c2NyaXB0PignICsgYm9keSArICcpKCk7JyArIGNsb3NlU2Ny
aXB0OwotICB9KTsKLQotICBjb25zdCBpZnJhbWUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdp
ZnJhbWUnKTsKLQotICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGlmcmFtZSk7Ci0gIGlmcmFt
ZS5jb250ZW50RG9jdW1lbnQud3JpdGUoc3JjKTsKLQotICByZXR1cm4gbmV3IFByb21pc2UoKHJl
c29sdmUpID0+IHsKLSAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbWVzc2FnZScsIGZ1bmN0
aW9uIG9uTWVzc2FnZShlKSB7Ci0gICAgICBpZiAoZS5zb3VyY2UgIT09IGlmcmFtZS5jb250ZW50
V2luZG93KSB7Ci0gICAgICAgIHJldHVybjsKLSAgICAgIH0KLSAgICAgIGlmICghZS5kYXRhIHx8
IGUuZGF0YS50eXBlICE9PSdjb21wbGV0ZScpIHsKLSAgICAgICAgcmV0dXJuOwotICAgICAgfQot
ICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21lc3NhZ2UnLCBvbk1lc3NhZ2UpOwot
ICAgICAgcmVzb2x2ZShlLmRhdGEpOwotICAgIH0pOwotCi0gICAgaWZyYW1lLmNvbnRlbnREb2N1
bWVudC5jbG9zZSgpOwotICB9KS50aGVuKCh7IHRlc3RzLCBzdGF0dXMgfSkgPT4gewotICAgIGNv
bnN0IHN1bW1hcnkgPSB7Ci0gICAgICBoYXJuZXNzOiB7Ci0gICAgICAgIHN0YXR1czogZ2V0RW51
bVByb3Aoc3RhdHVzLCBzdGF0dXMuc3RhdHVzKSwKLSAgICAgICAgbWVzc2FnZTogc3RhdHVzLm1l
c3NhZ2UKLSAgICAgIH0sCi0gICAgICB0ZXN0czoge30KLSAgICB9OwotCi0gICAgdGVzdHMuZm9y
RWFjaCgodGVzdCkgPT4gewotICAgICAgc3VtbWFyeS50ZXN0c1t0ZXN0Lm5hbWVdID0gZ2V0RW51
bVByb3AodGVzdCwgdGVzdC5zdGF0dXMpOwotICAgIH0pOwotCi0gICAgcmV0dXJuIHN1bW1hcnk7
Ci0gIH0pOwotfQotCi1mdW5jdGlvbiBnZXRFbnVtUHJvcChvYmplY3QsIHZhbHVlKSB7Ci0gIGZv
ciAobGV0IHByb3BlcnR5IGluIG9iamVjdCkgewotICAgIGlmICghL15bQS1aXSskLy50ZXN0KHBy
b3BlcnR5KSkgewotICAgICAgY29udGludWU7Ci0gICAgfQotCi0gICAgaWYgKG9iamVjdFtwcm9w
ZXJ0eV0gPT09IHZhbHVlKSB7Ci0gICAgICByZXR1cm4gcHJvcGVydHk7Ci0gICAgfQotICB9Ci19
Ci0KLXByb21pc2VfdGVzdCgoKSA9PiB7Ci0gIHJldHVybiBtYWtlVGVzdCgKLSAgICAgICgpID0+
IHsKLSAgICAgICAgdGVzdCgoKSA9PiB1bmRlZmluZWQsICdiZWZvcmUnKTsKLSAgICAgICAgdGVz
dCgoKSA9PiBudWxsLCAnbnVsbCcpOwotICAgICAgICB0ZXN0KCgpID0+IHVuZGVmaW5lZCwgJ2Fm
dGVyJyk7Ci0gICAgICB9Ci0gICAgKS50aGVuKCh7aGFybmVzcywgdGVzdHN9KSA9PiB7Ci0gICAg
ICBhc3NlcnRfZXF1YWxzKGhhcm5lc3Muc3RhdHVzLCAnRVJST1InKTsKLSAgICAgIGFzc2VydF9l
cXVhbHMoCi0gICAgICAgIGhhcm5lc3MubWVzc2FnZSwKLSAgICAgICAgJ1Rlc3QgbmFtZWQgIm51
bGwiIGluYXBwcm9wcmlhdGVseSByZXR1cm5lZCBhIHZhbHVlJwotICAgICAgKTsKLSAgICAgIGFz
c2VydF9lcXVhbHModGVzdHMuYmVmb3JlLCAnUEFTUycpOwotICAgICAgYXNzZXJ0X2VxdWFscyh0
ZXN0cy5udWxsLCAnUEFTUycpOwotICAgICAgYXNzZXJ0X2VxdWFscyh0ZXN0cy5hZnRlciwgJ1BB
U1MnKTsKLSAgICB9KTsKLX0sICd0ZXN0IHJldHVybmluZyBgbnVsbGAnKTsKLQotcHJvbWlzZV90
ZXN0KCgpID0+IHsKLSAgcmV0dXJuIG1ha2VUZXN0KAotICAgICAgKCkgPT4gewotICAgICAgICB0
ZXN0KCgpID0+IHVuZGVmaW5lZCwgJ2JlZm9yZScpOwotICAgICAgICB0ZXN0KCgpID0+ICh7fSks
ICdvYmplY3QnKTsKLSAgICAgICAgdGVzdCgoKSA9PiB1bmRlZmluZWQsICdhZnRlcicpOwotICAg
ICAgfQotICAgICkudGhlbigoe2hhcm5lc3MsIHRlc3RzfSkgPT4gewotICAgICAgYXNzZXJ0X2Vx
dWFscyhoYXJuZXNzLnN0YXR1cywgJ0VSUk9SJyk7Ci0gICAgICBhc3NlcnRfZXF1YWxzKAotICAg
ICAgICBoYXJuZXNzLm1lc3NhZ2UsCi0gICAgICAgICdUZXN0IG5hbWVkICJvYmplY3QiIGluYXBw
cm9wcmlhdGVseSByZXR1cm5lZCBhIHZhbHVlJwotICAgICAgKTsKLSAgICAgIGFzc2VydF9lcXVh
bHModGVzdHMuYmVmb3JlLCAnUEFTUycpOwotICAgICAgYXNzZXJ0X2VxdWFscyh0ZXN0cy5vYmpl
Y3QsICdQQVNTJyk7Ci0gICAgICBhc3NlcnRfZXF1YWxzKHRlc3RzLmFmdGVyLCAnUEFTUycpOwot
ICAgIH0pOwotfSwgJ3Rlc3QgcmV0dXJuaW5nIGFuIG9yZGluYXJ5IG9iamVjdCcpOwotCi1wcm9t
aXNlX3Rlc3QoKCkgPT4gewotICByZXR1cm4gbWFrZVRlc3QoCi0gICAgICAoKSA9PiB7Ci0gICAg
ICAgIHRlc3QoKCkgPT4gdW5kZWZpbmVkLCAnYmVmb3JlJyk7Ci0gICAgICAgIHRlc3QoKCkgPT4g
KHsgdGhlbigpIHt9IH0pLCAndGhlbmFibGUnKTsKLSAgICAgICAgdGVzdCgoKSA9PiB1bmRlZmlu
ZWQsICdhZnRlcicpOwotICAgICAgfQotICAgICkudGhlbigoe2hhcm5lc3MsIHRlc3RzfSkgPT4g
ewotICAgICAgYXNzZXJ0X2VxdWFscyhoYXJuZXNzLnN0YXR1cywgJ0VSUk9SJyk7Ci0gICAgICBh
c3NlcnRfZXF1YWxzKAotICAgICAgICBoYXJuZXNzLm1lc3NhZ2UsCi0gICAgICAgICdUZXN0IG5h
bWVkICJ0aGVuYWJsZSIgaW5hcHByb3ByaWF0ZWx5IHJldHVybmVkIGEgdmFsdWUsIGNvbnNpZGVy
IHVzaW5nIGBwcm9taXNlX3Rlc3RgIGluc3RlYWQnCi0gICAgICApOwotICAgICAgYXNzZXJ0X2Vx
dWFscyh0ZXN0cy5iZWZvcmUsICdQQVNTJyk7Ci0gICAgICBhc3NlcnRfZXF1YWxzKHRlc3RzLnRo
ZW5hYmxlLCAnUEFTUycpOwotICAgICAgYXNzZXJ0X2VxdWFscyh0ZXN0cy5hZnRlciwgJ1BBU1Mn
KTsKLSAgICB9KTsKLX0sICd0ZXN0IHJldHVybmluZyBhIHRoZW5hYmxlIG9iamVjdCcpOwotCi1w
cm9taXNlX3Rlc3QoKCkgPT4gewotICByZXR1cm4gbWFrZVRlc3QoCi0gICAgICAoKSA9PiB7Ci0g
ICAgICAgIHRlc3QoKCkgPT4gdW5kZWZpbmVkLCAnYmVmb3JlJyk7Ci0gICAgICAgIHRlc3QoKCkg
PT4gewotICAgICAgICAgIGNvbnN0IGlmcmFtZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lm
cmFtZScpOwotICAgICAgICAgIGlmcmFtZS5zZXRBdHRyaWJ1dGUoJ3NhbmRib3gnLCAnJyk7Ci0g
ICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChpZnJhbWUpOwotICAgICAgICAgIHJl
dHVybiBpZnJhbWUuY29udGVudFdpbmRvdzsKLSAgICAgICAgfSwgJ3Jlc3RyaWN0ZWQnKTsKLSAg
ICAgICAgdGVzdCgoKSA9PiB1bmRlZmluZWQsICdhZnRlcicpOwotICAgICAgfQotICAgICkudGhl
bigoe2hhcm5lc3MsIHRlc3RzfSkgPT4gewotICAgICAgYXNzZXJ0X2VxdWFscyhoYXJuZXNzLnN0
YXR1cywgJ0VSUk9SJyk7Ci0gICAgICBhc3NlcnRfZXF1YWxzKAotICAgICAgICBoYXJuZXNzLm1l
c3NhZ2UsCi0gICAgICAgICdUZXN0IG5hbWVkICJyZXN0cmljdGVkIiBpbmFwcHJvcHJpYXRlbHkg
cmV0dXJuZWQgYSB2YWx1ZScKLSAgICAgICk7Ci0gICAgICBhc3NlcnRfZXF1YWxzKHRlc3RzLmJl
Zm9yZSwgJ1BBU1MnKTsKLSAgICAgIGFzc2VydF9lcXVhbHModGVzdHMucmVzdHJpY3RlZCwgJ1BB
U1MnKTsKLSAgICAgIGFzc2VydF9lcXVhbHModGVzdHMuYWZ0ZXIsICdQQVNTJyk7Ci0gICAgfSk7
Ci19LCAndGVzdCByZXR1cm5pbmcgYSByZXN0cmljdGVkIG9iamVjdCcpOwotPC9zY3JpcHQ+Ci08
L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL3VuaXQvdGhyb3dpbmctYXNzZXJ0
aW9ucy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvdGVzdC90ZXN0cy91bml0L3Rocm93aW5nLWFzc2VydGlvbnMuaHRtbApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTM2YTU2MDQzY2MuLjAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3Qv
dGVzdHMvdW5pdC90aHJvd2luZy1hc3NlcnRpb25zLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwy
NjggKzAsMCBAQAotPCFET0NUWVBFIEhUTUw+Ci08aHRtbD4KLTxoZWFkPgotICA8bWV0YSBjaGFy
c2V0PSJ1dGYtOCI+Ci0gIDxtZXRhIG5hbWU9InRpbWVvdXQiIGNvbnRlbnQ9ImxvbmciPgotICA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci0gIDx0aXRs
ZT5UZXN0IHRoZSBtZXRob2RzIHRoYXQgbWFrZSBhc3NlcnRpb25zIGFib3V0IGV4Y2VwdGlvbnM8
L3RpdGxlPgotPC9oZWFkPgotPGJvZHk+Ci08c2NyaXB0PgotZnVuY3Rpb24gbWFrZVRlc3QoLi4u
Ym9kaWVzKSB7Ci0gIGNvbnN0IGNsb3NlU2NyaXB0ID0gJzwnICsgJy9zY3JpcHQ+JzsKLSAgbGV0
IHNyYyA9IGAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLTx0aXRsZT5Eb2N1bWVu
dCB0aXRsZTwvdGl0bGU+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcz8k
e01hdGgucmFuZG9tKCl9Ij4ke2Nsb3NlU2NyaXB0fQotPC9oZWFkPgotCi08Ym9keT4KLTxkaXYg
aWQ9ImxvZyI+PC9kaXY+YDsKLSAgYm9kaWVzLmZvckVhY2goKGJvZHkpID0+IHsKLSAgICBzcmMg
Kz0gJzxzY3JpcHQ+KCcgKyBib2R5ICsgJykoKTsnICsgY2xvc2VTY3JpcHQ7Ci0gIH0pOwotCi0g
IGNvbnN0IGlmcmFtZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lmcmFtZScpOwotCi0gIGRv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaWZyYW1lKTsKLSAgaWZyYW1lLmNvbnRlbnREb2N1bWVu
dC53cml0ZShzcmMpOwotCi0gIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4gewotICAg
IHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdtZXNzYWdlJywgZnVuY3Rpb24gb25NZXNzYWdlKGUp
IHsKLSAgICAgIGlmIChlLnNvdXJjZSAhPT0gaWZyYW1lLmNvbnRlbnRXaW5kb3cpIHsKLSAgICAg
ICAgcmV0dXJuOwotICAgICAgfQotICAgICAgaWYgKCFlLmRhdGEgfHwgZS5kYXRhLnR5cGUgIT09
J2NvbXBsZXRlJykgewotICAgICAgICByZXR1cm47Ci0gICAgICB9Ci0gICAgICB3aW5kb3cucmVt
b3ZlRXZlbnRMaXN0ZW5lcignbWVzc2FnZScsIG9uTWVzc2FnZSk7Ci0gICAgICByZXNvbHZlKGUu
ZGF0YSk7Ci0gICAgfSk7Ci0KLSAgICBpZnJhbWUuY29udGVudERvY3VtZW50LmNsb3NlKCk7Ci0g
IH0pLnRoZW4oKHsgdGVzdHMsIHN0YXR1cyB9KSA9PiB7Ci0gICAgY29uc3Qgc3VtbWFyeSA9IHsK
LSAgICAgIGhhcm5lc3M6IGdldEVudW1Qcm9wKHN0YXR1cywgc3RhdHVzLnN0YXR1cyksCi0gICAg
ICB0ZXN0czoge30KLSAgICB9OwotCi0gICAgdGVzdHMuZm9yRWFjaCgodGVzdCkgPT4gewotICAg
ICAgc3VtbWFyeS50ZXN0c1t0ZXN0Lm5hbWVdID0gZ2V0RW51bVByb3AodGVzdCwgdGVzdC5zdGF0
dXMpOwotICAgIH0pOwotCi0gICAgcmV0dXJuIHN1bW1hcnk7Ci0gIH0pOwotfQotCi1mdW5jdGlv
biBnZXRFbnVtUHJvcChvYmplY3QsIHZhbHVlKSB7Ci0gIGZvciAobGV0IHByb3BlcnR5IGluIG9i
amVjdCkgewotICAgIGlmICghL15bQS1aXSskLy50ZXN0KHByb3BlcnR5KSkgewotICAgICAgY29u
dGludWU7Ci0gICAgfQotCi0gICAgaWYgKG9iamVjdFtwcm9wZXJ0eV0gPT09IHZhbHVlKSB7Ci0g
ICAgICByZXR1cm4gcHJvcGVydHk7Ci0gICAgfQotICB9Ci19Ci0KLXByb21pc2VfdGVzdCgoKSA9
PiB7Ci0gIHJldHVybiBtYWtlVGVzdCgoKSA9PiB7Ci0gICAgdGVzdCgoKSA9PiB7Ci0gICAgICBh
c3NlcnRfdGhyb3dzX2pzKFR5cGVFcnJvciwgKCkgPT4geyB0aHJvdyBuZXcgVHlwZUVycm9yKCk7
IH0pOwotICAgIH0pOwotICB9KS50aGVuKCh7aGFybmVzcywgdGVzdHN9KSA9PiB7Ci0gICAgYXNz
ZXJ0X2VxdWFscyhoYXJuZXNzLCAnT0snKTsKLSAgICBhc3NlcnRfZXF1YWxzKHRlc3RzWydEb2N1
bWVudCB0aXRsZSddLCAnUEFTUycpOwotICB9KTsKLX0sICdhc3NlcnRfdGhyb3dzX2pzIG9uIGEg
VHlwZUVycm9yJyk7Ci0KLXByb21pc2VfdGVzdCgoKSA9PiB7Ci0gIHJldHVybiBtYWtlVGVzdCgo
KSA9PiB7Ci0gICAgdGVzdCgoKSA9PiB7Ci0gICAgICBhc3NlcnRfdGhyb3dzX2pzKFJhbmdlRXJy
b3IsICgpID0+IHsgdGhyb3cgbmV3IFJhbmdlRXJyb3IoKTsgfSk7Ci0gICAgfSk7Ci0gIH0pLnRo
ZW4oKHtoYXJuZXNzLCB0ZXN0c30pID0+IHsKLSAgICBhc3NlcnRfZXF1YWxzKGhhcm5lc3MsICdP
SycpOwotICAgIGFzc2VydF9lcXVhbHModGVzdHNbJ0RvY3VtZW50IHRpdGxlJ10sICdQQVNTJyk7
Ci0gIH0pOwotfSwgJ2Fzc2VydF90aHJvd3NfanMgb24gYSBSYW5nZUVycm9yJyk7Ci0KLXByb21p
c2VfdGVzdCgoKSA9PiB7Ci0gIHJldHVybiBtYWtlVGVzdCgoKSA9PiB7Ci0gICAgdGVzdCgoKSA9
PiB7Ci0gICAgICBhc3NlcnRfdGhyb3dzX2pzKFR5cGVFcnJvciwgKCkgPT4geyB0aHJvdyBuZXcg
UmFuZ2VFcnJvcigpOyB9KTsKLSAgICB9KTsKLSAgfSkudGhlbigoe2hhcm5lc3MsIHRlc3RzfSkg
PT4gewotICAgIGFzc2VydF9lcXVhbHMoaGFybmVzcywgJ09LJyk7Ci0gICAgYXNzZXJ0X2VxdWFs
cyh0ZXN0c1snRG9jdW1lbnQgdGl0bGUnXSwgJ0ZBSUwnKTsKLSAgfSk7Ci19LCAnYXNzZXJ0X3Ro
cm93c19qcyBvbiBhIFR5cGVFcnJvciB3aGVuIFJhbmdlRXJyb3IgaXMgdGhyb3duJyk7Ci0KLXBy
b21pc2VfdGVzdCgoKSA9PiB7Ci0gIHJldHVybiBtYWtlVGVzdCgoKSA9PiB7Ci0gICAgdGVzdCgo
KSA9PiB7Ci0gICAgICBhc3NlcnRfdGhyb3dzX2pzKEVycm9yLCAoKSA9PiB7IHRocm93IG5ldyBU
eXBlRXJyb3IoKTsgfSk7Ci0gICAgfSk7Ci0gIH0pLnRoZW4oKHtoYXJuZXNzLCB0ZXN0c30pID0+
IHsKLSAgICBhc3NlcnRfZXF1YWxzKGhhcm5lc3MsICdPSycpOwotICAgIGFzc2VydF9lcXVhbHMo
dGVzdHNbJ0RvY3VtZW50IHRpdGxlJ10sICdGQUlMJyk7Ci0gIH0pOwotfSwgJ2Fzc2VydF90aHJv
d3NfanMgb24gYW4gRXJyb3Igd2hlbiBUeXBlRXJyb3IgaXMgdGhyb3duJyk7Ci0KLXByb21pc2Vf
dGVzdCgoKSA9PiB7Ci0gIHJldHVybiBtYWtlVGVzdCgoKSA9PiB7Ci0gICAgdGVzdCgoKSA9PiB7
Ci0gICAgICBhc3NlcnRfdGhyb3dzX2pzKEVycm9yLAotICAgICAgICAgICAgICAgICAgICAgICAo
KSA9PiB7IHRocm93IG5ldyBET01FeGNlcHRpb24oImhlbGxvIiwgIkVycm9yIik7IH0pOwotICAg
IH0pOwotICB9KS50aGVuKCh7aGFybmVzcywgdGVzdHN9KSA9PiB7Ci0gICAgYXNzZXJ0X2VxdWFs
cyhoYXJuZXNzLCAnT0snKTsKLSAgICBhc3NlcnRfZXF1YWxzKHRlc3RzWydEb2N1bWVudCB0aXRs
ZSddLCAnRkFJTCcpOwotICB9KTsKLX0sICdhc3NlcnRfdGhyb3dzX2pzIG9uIGFuIEVycm9yIHdo
ZW4gYSBET01FeGNlcHRpb24gaXMgdGhyb3duJyk7Ci0KLXByb21pc2VfdGVzdCgoKSA9PiB7Ci0g
IHJldHVybiBtYWtlVGVzdCgoKSA9PiB7Ci0gICAgdGVzdCgoKSA9PiB7Ci0gICAgICBhc3NlcnRf
dGhyb3dzX2pzKFN5bnRheEVycm9yLAotICAgICAgICAgICAgICAgICAgICAgICAoKSA9PiB7IHRo
cm93IG5ldyBET01FeGNlcHRpb24oImhleSIsICJTeW50YXhFcnJvciIpOyB9KTsKLSAgICB9KTsK
LSAgfSkudGhlbigoe2hhcm5lc3MsIHRlc3RzfSkgPT4gewotICAgIGFzc2VydF9lcXVhbHMoaGFy
bmVzcywgJ09LJyk7Ci0gICAgYXNzZXJ0X2VxdWFscyh0ZXN0c1snRG9jdW1lbnQgdGl0bGUnXSwg
J0ZBSUwnKTsKLSAgfSk7Ci19LCAnYXNzZXJ0X3Rocm93c19qcyBvbiBhIFN5bnRheEVycm9yIHdo
ZW4gYSBET01FeGNlcHRpb24gaXMgdGhyb3duJyk7Ci0KLXByb21pc2VfdGVzdCgoKSA9PiB7Ci0g
IHJldHVybiBtYWtlVGVzdCgoKSA9PiB7Ci0gICAgdGVzdCgoKSA9PiB7Ci0gICAgICBhc3NlcnRf
dGhyb3dzX2RvbSgiU3ludGF4RXJyb3IiLAotICAgICAgICAgICAgICAgICAgICAgICAgKCkgPT4g
eyB0aHJvdyBuZXcgRE9NRXhjZXB0aW9uKCJ4IiwgIlN5bnRheEVycm9yIik7IH0pOwotICAgIH0p
OwotICB9KS50aGVuKCh7aGFybmVzcywgdGVzdHN9KSA9PiB7Ci0gICAgYXNzZXJ0X2VxdWFscyho
YXJuZXNzLCAnT0snKTsKLSAgICBhc3NlcnRfZXF1YWxzKHRlc3RzWydEb2N1bWVudCB0aXRsZSdd
LCAnUEFTUycpOwotICB9KTsKLX0sICdhc3NlcnRfdGhyb3dzX2RvbSBiYXNpYyBzYW5pdHknKTsK
LQotcHJvbWlzZV90ZXN0KCgpID0+IHsKLSAgcmV0dXJuIG1ha2VUZXN0KCgpID0+IHsKLSAgICB0
ZXN0KCgpID0+IHsKLSAgICAgIGFzc2VydF90aHJvd3NfZG9tKDEyLAotICAgICAgICAgICAgICAg
ICAgICAgICAgKCkgPT4geyB0aHJvdyBuZXcgRE9NRXhjZXB0aW9uKCJ4IiwgIlN5bnRheEVycm9y
Iik7IH0pOwotICAgIH0pOwotICB9KS50aGVuKCh7aGFybmVzcywgdGVzdHN9KSA9PiB7Ci0gICAg
YXNzZXJ0X2VxdWFscyhoYXJuZXNzLCAnT0snKTsKLSAgICBhc3NlcnRfZXF1YWxzKHRlc3RzWydE
b2N1bWVudCB0aXRsZSddLCAnUEFTUycpOwotICB9KTsKLX0sICdhc3NlcnRfdGhyb3dzX2RvbSB3
aXRoIG51bWVyaWMgY29kZScpOwotCi1wcm9taXNlX3Rlc3QoKCkgPT4gewotICByZXR1cm4gbWFr
ZVRlc3QoKCkgPT4gewotICAgIHRlc3QoKCkgPT4gewotICAgICAgYXNzZXJ0X3Rocm93c19kb20o
IlNZTlRBWF9FUlIiLAotICAgICAgICAgICAgICAgICAgICAgICAgKCkgPT4geyB0aHJvdyBuZXcg
RE9NRXhjZXB0aW9uKCJ4IiwgIlN5bnRheEVycm9yIik7IH0pOwotICAgIH0pOwotICB9KS50aGVu
KCh7aGFybmVzcywgdGVzdHN9KSA9PiB7Ci0gICAgYXNzZXJ0X2VxdWFscyhoYXJuZXNzLCAnT0sn
KTsKLSAgICBhc3NlcnRfZXF1YWxzKHRlc3RzWydEb2N1bWVudCB0aXRsZSddLCAnUEFTUycpOwot
ICB9KTsKLX0sICdhc3NlcnRfdGhyb3dzX2RvbSB3aXRoIHN0cmluZyBuYW1lIGZvciBjb2RlJyk7
Ci0KLXByb21pc2VfdGVzdCgoKSA9PiB7Ci0gIHJldHVybiBtYWtlVGVzdCgoKSA9PiB7Ci0gICAg
dGVzdCgoKSA9PiB7Ci0gICAgICBhc3NlcnRfdGhyb3dzX2RvbSgiRGF0YUVycm9yIiwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICgpID0+IHsgdGhyb3cgbmV3IERPTUV4Y2VwdGlvbigieCIsICJE
YXRhRXJyb3IiKTsgfSk7Ci0gICAgfSk7Ci0gIH0pLnRoZW4oKHtoYXJuZXNzLCB0ZXN0c30pID0+
IHsKLSAgICBhc3NlcnRfZXF1YWxzKGhhcm5lc3MsICdPSycpOwotICAgIGFzc2VydF9lcXVhbHMo
dGVzdHNbJ0RvY3VtZW50IHRpdGxlJ10sICdQQVNTJyk7Ci0gIH0pOwotfSwgJ2Fzc2VydF90aHJv
d3NfZG9tIGZvciBhIGNvZGUtbGVzcyBET01FeGNlcHRpb24gdHlwZScpOwotCi1wcm9taXNlX3Rl
c3QoKCkgPT4gewotICByZXR1cm4gbWFrZVRlc3QoKCkgPT4gewotICAgIHRlc3QoKCkgPT4gewot
ICAgICAgYXNzZXJ0X3Rocm93c19kb20oIk5vU3VjaEVycm9yIiwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICgpID0+IHsgdGhyb3cgbmV3IERPTUV4Y2VwdGlvbigieCIsICJOb1N1Y2hFcnJvciIp
OyB9KTsKLSAgICB9KTsKLSAgfSkudGhlbigoe2hhcm5lc3MsIHRlc3RzfSkgPT4gewotICAgIGFz
c2VydF9lcXVhbHMoaGFybmVzcywgJ09LJyk7Ci0gICAgYXNzZXJ0X2VxdWFscyh0ZXN0c1snRG9j
dW1lbnQgdGl0bGUnXSwgJ0ZBSUwnKTsKLSAgfSk7Ci19LCAnYXNzZXJ0X3Rocm93c19kb20gZm9y
IGEgbm9uZXhpc3RlbnQgRE9NRXhjZXB0aW9uIHR5cGUnKTsKLQotcHJvbWlzZV90ZXN0KCgpID0+
IHsKLSAgcmV0dXJuIG1ha2VUZXN0KCgpID0+IHsKLSAgICB0ZXN0KCgpID0+IHsKLSAgICAgIGFz
c2VydF90aHJvd3NfZG9tKCJTeW50YXhFcnJvciIsICgpID0+IHsgdGhyb3cgbmV3IFN5bnRheEVy
cm9yKCk7IH0pOwotICAgIH0pOwotICB9KS50aGVuKCh7aGFybmVzcywgdGVzdHN9KSA9PiB7Ci0g
ICAgYXNzZXJ0X2VxdWFscyhoYXJuZXNzLCAnT0snKTsKLSAgICBhc3NlcnRfZXF1YWxzKHRlc3Rz
WydEb2N1bWVudCB0aXRsZSddLCAnRkFJTCcpOwotICB9KTsKLX0sICdhc3NlcnRfdGhyb3dzX2Rv
bSB3aGVuIGEgbm9uLURPTSBleGNlcHRpb24gaXMgdGhyb3duJyk7Ci0KLXByb21pc2VfdGVzdCgo
KSA9PiB7Ci0gIHJldHVybiBtYWtlVGVzdCgoKSA9PiB7Ci0gICAgdGVzdCgoKSA9PiB7Ci0gICAg
ICBhc3NlcnRfdGhyb3dzX2V4YWN0bHkoNSwgKCkgPT4geyB0aHJvdyA1OyB9KTsKLSAgICB9KTsK
LSAgfSkudGhlbigoe2hhcm5lc3MsIHRlc3RzfSkgPT4gewotICAgIGFzc2VydF9lcXVhbHMoaGFy
bmVzcywgJ09LJyk7Ci0gICAgYXNzZXJ0X2VxdWFscyh0ZXN0c1snRG9jdW1lbnQgdGl0bGUnXSwg
J1BBU1MnKTsKLSAgfSk7Ci19LCAnYXNzZXJ0X3Rocm93c19leGFjdGx5IHdpdGggbnVtYmVyJyk7
Ci0KLXByb21pc2VfdGVzdCgoKSA9PiB7Ci0gIHJldHVybiBtYWtlVGVzdCgoKSA9PiB7Ci0gICAg
dGVzdCgoKSA9PiB7Ci0gICAgICBhc3NlcnRfdGhyb3dzX2V4YWN0bHkoImZvbyIsICgpID0+IHsg
dGhyb3cgImZvbyI7IH0pOwotICAgIH0pOwotICB9KS50aGVuKCh7aGFybmVzcywgdGVzdHN9KSA9
PiB7Ci0gICAgYXNzZXJ0X2VxdWFscyhoYXJuZXNzLCAnT0snKTsKLSAgICBhc3NlcnRfZXF1YWxz
KHRlc3RzWydEb2N1bWVudCB0aXRsZSddLCAnUEFTUycpOwotICB9KTsKLX0sICdhc3NlcnRfdGhy
b3dzX2V4YWN0bHkgd2l0aCBzdHJpbmcnKTsKLQotcHJvbWlzZV90ZXN0KCgpID0+IHsKLSAgcmV0
dXJuIG1ha2VUZXN0KCgpID0+IHsKLSAgICB0ZXN0KCgpID0+IHsKLSAgICAgIGFzc2VydF90aHJv
d3NfZXhhY3RseSh7fSwgKCkgPT4geyB0aHJvdyB7fTsgfSk7Ci0gICAgfSk7Ci0gIH0pLnRoZW4o
KHtoYXJuZXNzLCB0ZXN0c30pID0+IHsKLSAgICBhc3NlcnRfZXF1YWxzKGhhcm5lc3MsICdPSycp
OwotICAgIGFzc2VydF9lcXVhbHModGVzdHNbJ0RvY3VtZW50IHRpdGxlJ10sICdGQUlMJyk7Ci0g
IH0pOwotfSwgJ2Fzc2VydF90aHJvd3NfZXhhY3RseSB3aXRoIGRpZmZlcmVudCBvYmplY3RzJyk7
Ci0KLXByb21pc2VfdGVzdCgoKSA9PiB7Ci0gIHJldHVybiBtYWtlVGVzdCgoKSA9PiB7Ci0gICAg
dGVzdCgoKSA9PiB7Ci0gICAgICB2YXIgb2JqID0ge307Ci0gICAgICBhc3NlcnRfdGhyb3dzX2V4
YWN0bHkob2JqLCAoKSA9PiB7IHRocm93IG9iajsgfSk7Ci0gICAgfSk7Ci0gIH0pLnRoZW4oKHto
YXJuZXNzLCB0ZXN0c30pID0+IHsKLSAgICBhc3NlcnRfZXF1YWxzKGhhcm5lc3MsICdPSycpOwot
ICAgIGFzc2VydF9lcXVhbHModGVzdHNbJ0RvY3VtZW50IHRpdGxlJ10sICdQQVNTJyk7Ci0gIH0p
OwotfSwgJ2Fzc2VydF90aHJvd3NfZXhhY3RseSB3aXRoIHNhbWUgb2JqZWN0Jyk7Ci0KLXByb21p
c2VfdGVzdCgoKSA9PiB7Ci0gIHJldHVybiBtYWtlVGVzdCgoKSA9PiB7Ci0gICAgdGVzdCgoKSA9
PiB7Ci0gICAgICBhc3NlcnRfdGhyb3dzX2V4YWN0bHkoVHlwZUVycm9yLCAoKSA9PiB7IHRocm93
IG5ldyBUeXBlRXJyb3I7IH0pOwotICAgIH0pOwotICB9KS50aGVuKCh7aGFybmVzcywgdGVzdHN9
KSA9PiB7Ci0gICAgYXNzZXJ0X2VxdWFscyhoYXJuZXNzLCAnT0snKTsKLSAgICBhc3NlcnRfZXF1
YWxzKHRlc3RzWydEb2N1bWVudCB0aXRsZSddLCAnRkFJTCcpOwotICB9KTsKLX0sICdhc3NlcnRf
dGhyb3dzX2V4YWN0bHkgd2l0aCBib2d1cyBUeXBlRXJyb3IgYml0cyAnKTsKLQotPC9zY3JpcHQ+
Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL3VuaXQvdW5wYWlyZWQtc3Vy
cm9nYXRlcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy91bml0L3VucGFpcmVkLXN1cnJvZ2F0ZXMuaHRtbApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMWIxNjJmZTcxZDIuLjAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rl
c3QvdGVzdHMvdW5pdC91bnBhaXJlZC1zdXJyb2dhdGVzLmh0bWwKKysrIC9kZXYvbnVsbApAQCAt
MSwxMzggKzAsMCBAQAotPCFET0NUWVBFIEhUTUw+Ci08aHRtbD4KLTxoZWFkPgotICA8bWV0YSBj
aGFyc2V0PSJ1dGYtOCI+Ci0gIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KLSAgPHRpdGxlPlJlc3RyaWN0aW9ucyBvbiByZXR1cm4gdmFsdWUgZnJvbSBg
dGVzdGA8L3RpdGxlPgotPC9oZWFkPgotPGJvZHk+Ci08c2NyaXB0PgotZnVuY3Rpb24gbWFrZVRl
c3QoLi4uYm9kaWVzKSB7Ci0gIGNvbnN0IGNsb3NlU2NyaXB0ID0gJzwnICsgJy9zY3JpcHQ+JzsK
LSAgbGV0IHNyYyA9IGAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLTx0aXRsZT5E
b2N1bWVudCB0aXRsZTwvdGl0bGU+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcz8ke01hdGgucmFuZG9tKCl9Ij4ke2Nsb3NlU2NyaXB0fQotPC9oZWFkPgotCi08Ym9keT4K
LTxkaXYgaWQ9ImxvZyI+PC9kaXY+YDsKLSAgYm9kaWVzLmZvckVhY2goKGJvZHkpID0+IHsKLSAg
ICBzcmMgKz0gJzxzY3JpcHQ+KCcgKyBib2R5ICsgJykoKTsnICsgY2xvc2VTY3JpcHQ7Ci0gIH0p
OwotCi0gIGNvbnN0IGlmcmFtZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lmcmFtZScpOwot
Ci0gIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaWZyYW1lKTsKLSAgaWZyYW1lLmNvbnRlbnRE
b2N1bWVudC53cml0ZShzcmMpOwotCi0gIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4g
ewotICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdtZXNzYWdlJywgZnVuY3Rpb24gb25NZXNz
YWdlKGUpIHsKLSAgICAgIGlmIChlLnNvdXJjZSAhPT0gaWZyYW1lLmNvbnRlbnRXaW5kb3cpIHsK
LSAgICAgICAgcmV0dXJuOwotICAgICAgfQotICAgICAgaWYgKCFlLmRhdGEgfHwgZS5kYXRhLnR5
cGUgIT09J2NvbXBsZXRlJykgewotICAgICAgICByZXR1cm47Ci0gICAgICB9Ci0gICAgICB3aW5k
b3cucmVtb3ZlRXZlbnRMaXN0ZW5lcignbWVzc2FnZScsIG9uTWVzc2FnZSk7Ci0gICAgICByZXNv
bHZlKGUuZGF0YSk7Ci0gICAgfSk7Ci0KLSAgICBpZnJhbWUuY29udGVudERvY3VtZW50LmNsb3Nl
KCk7Ci0gIH0pLnRoZW4oKHsgdGVzdHMsIHN0YXR1cyB9KSA9PiB7Ci0gICAgY29uc3Qgc3VtbWFy
eSA9IHsKLSAgICAgIGhhcm5lc3M6IHsKLSAgICAgICAgc3RhdHVzOiBnZXRFbnVtUHJvcChzdGF0
dXMsIHN0YXR1cy5zdGF0dXMpLAotICAgICAgICBtZXNzYWdlOiBzdGF0dXMubWVzc2FnZQotICAg
ICAgfSwKLSAgICAgIHRlc3RzOiB7fQotICAgIH07Ci0KLSAgICB0ZXN0cy5mb3JFYWNoKCh0ZXN0
KSA9PiB7Ci0gICAgICBzdW1tYXJ5LnRlc3RzW3Rlc3QubmFtZV0gPSBnZXRFbnVtUHJvcCh0ZXN0
LCB0ZXN0LnN0YXR1cyk7Ci0gICAgfSk7Ci0KLSAgICByZXR1cm4gc3VtbWFyeTsKLSAgfSk7Ci19
Ci0KLWZ1bmN0aW9uIGdldEVudW1Qcm9wKG9iamVjdCwgdmFsdWUpIHsKLSAgZm9yIChsZXQgcHJv
cGVydHkgaW4gb2JqZWN0KSB7Ci0gICAgaWYgKCEvXltBLVpdKyQvLnRlc3QocHJvcGVydHkpKSB7
Ci0gICAgICBjb250aW51ZTsKLSAgICB9Ci0KLSAgICBpZiAob2JqZWN0W3Byb3BlcnR5XSA9PT0g
dmFsdWUpIHsKLSAgICAgIHJldHVybiBwcm9wZXJ0eTsKLSAgICB9Ci0gIH0KLX0KLQotcHJvbWlz
ZV90ZXN0KCgpID0+IHsKLSAgcmV0dXJuIG1ha2VUZXN0KAotICAgICAgKCkgPT4gewotICAgICAg
ICB0ZXN0KCgpID0+IHt9LCAnYmVmb3JlJyk7Ci0gICAgICAgIHRlc3QoKCkgPT4ge30sICdVK2Q3
ZmYgaXMgbm90IG1vZGlmaWVkOiBcdWQ3ZmYnKTsKLSAgICAgICAgdGVzdCgoKSA9PiB7fSwgJ1Ur
ZTAwMCBpcyBub3QgbW9kaWZpZWQ6IFx1ZTAwMCcpOwotICAgICAgICB0ZXN0KCgpID0+IHt9LCAn
YWZ0ZXInKTsKLSAgICAgIH0KLSAgICApLnRoZW4oKHtoYXJuZXNzLCB0ZXN0c30pID0+IHsKLSAg
ICAgIGFzc2VydF9lcXVhbHMoaGFybmVzcy5zdGF0dXMsICdPSycpOwotICAgICAgYXNzZXJ0X2Vx
dWFscyhoYXJuZXNzLm1lc3NhZ2UsIG51bGwpOwotICAgICAgYXNzZXJ0X2VxdWFscyh0ZXN0cy5i
ZWZvcmUsICdQQVNTJyk7Ci0gICAgICBhc3NlcnRfZXF1YWxzKHRlc3RzWydVK2Q3ZmYgaXMgbm90
IG1vZGlmaWVkOiBcdWQ3ZmYnXSwgJ1BBU1MnKTsKLSAgICAgIGFzc2VydF9lcXVhbHModGVzdHNb
J1UrZTAwMCBpcyBub3QgbW9kaWZpZWQ6IFx1ZTAwMCddLCAnUEFTUycpOwotICAgICAgYXNzZXJ0
X2VxdWFscyh0ZXN0cy5hZnRlciwgJ1BBU1MnKTsKLSAgICB9KTsKLX0sICdzdWItdGVzdCBuYW1l
cyB3aGljaCBpbmNsdWRlIHZhbGlkIGNvZGUgdW5pdHMnKTsKLQotcHJvbWlzZV90ZXN0KCgpID0+
IHsKLSAgcmV0dXJuIG1ha2VUZXN0KAotICAgICAgKCkgPT4gewotICAgICAgICB0ZXN0KCgpID0+
IHt9LCAnYmVmb3JlJyk7Ci0gICAgICAgIHRlc3QoKCkgPT4ge30sICdVK2Q4MDBVK2RmZmYgaXMg
bm90IG1vZGlmaWVkOiBcdWQ4MDBcdWRmZmYnKTsKLSAgICAgICAgdGVzdCgoKSA9PiB7fSwgJ1Ur
ZGJmZlUrZGMwMCBpcyBub3QgbW9kaWZpZWQ6IFx1ZGJmZlx1ZGMwMCcpOwotICAgICAgICB0ZXN0
KCgpID0+IHt9LCAnYWZ0ZXInKTsKLSAgICAgIH0KLSAgICApLnRoZW4oKHtoYXJuZXNzLCB0ZXN0
c30pID0+IHsKLSAgICAgIGFzc2VydF9lcXVhbHMoaGFybmVzcy5zdGF0dXMsICdPSycpOwotICAg
ICAgYXNzZXJ0X2VxdWFscyhoYXJuZXNzLm1lc3NhZ2UsIG51bGwpOwotICAgICAgYXNzZXJ0X2Vx
dWFscyh0ZXN0cy5iZWZvcmUsICdQQVNTJyk7Ci0gICAgICBhc3NlcnRfZXF1YWxzKHRlc3RzWydV
K2Q4MDBVK2RmZmYgaXMgbm90IG1vZGlmaWVkOiBcdWQ4MDBcdWRmZmYnXSwgJ1BBU1MnKTsKLSAg
ICAgIGFzc2VydF9lcXVhbHModGVzdHNbJ1UrZGJmZlUrZGMwMCBpcyBub3QgbW9kaWZpZWQ6IFx1
ZGJmZlx1ZGMwMCddLCAnUEFTUycpOwotICAgICAgYXNzZXJ0X2VxdWFscyh0ZXN0cy5hZnRlciwg
J1BBU1MnKTsKLSAgICB9KTsKLX0sICdzdWItdGVzdCBuYW1lcyB3aGljaCBpbmNsdWRlIHBhaXJl
ZCBzdXJyb2dhdGVzJyk7Ci0KLXByb21pc2VfdGVzdCgoKSA9PiB7Ci0gIHJldHVybiBtYWtlVGVz
dCgKLSAgICAgICgpID0+IHsKLSAgICAgICAgdGVzdCgoKSA9PiB7fSwgJ2JlZm9yZScpOwotICAg
ICAgICB0ZXN0KCgpID0+IHt9LCAnVStkODAwIG11c3QgYmUgc2FuaXRpemVkOiBcdWQ4MDAnKTsK
LSAgICAgICAgdGVzdCgoKSA9PiB7fSwgJ1UrZDgwMFUrZDgwMSBtdXN0IGJlIHNhbml0aXplZDog
XHVkODAwXHVkODAxJyk7Ci0gICAgICAgIHRlc3QoKCkgPT4ge30sICdVK2RmZmYgbXVzdCBiZSBz
YW5pdGl6ZWQ6IFx1ZGZmZicpOwotICAgICAgICB0ZXN0KCgpID0+IHt9LCAnVStkYzAwVStkODAw
VStkYzAwVStkODAwIG11c3QgYmUgc2FuaXRpemVkOiBcdWRjMDBcdWQ4MDBcdWRjMDBcdWQ4MDAn
KTsKLSAgICAgICAgdGVzdCgoKSA9PiB7fSwgJ2FmdGVyJyk7Ci0gICAgICB9Ci0gICAgKS50aGVu
KCh7aGFybmVzcywgdGVzdHN9KSA9PiB7Ci0gICAgICBhc3NlcnRfZXF1YWxzKGhhcm5lc3Muc3Rh
dHVzLCAnT0snKTsKLSAgICAgIGFzc2VydF9lcXVhbHMoaGFybmVzcy5tZXNzYWdlLCBudWxsKTsK
LSAgICAgIGFzc2VydF9lcXVhbHModGVzdHMuYmVmb3JlLCAnUEFTUycpOwotICAgICAgYXNzZXJ0
X2VxdWFscyh0ZXN0c1snVStkODAwIG11c3QgYmUgc2FuaXRpemVkOiBVK2Q4MDAnXSwgJ1BBU1Mn
KTsKLSAgICAgIGFzc2VydF9lcXVhbHModGVzdHNbJ1UrZGZmZiBtdXN0IGJlIHNhbml0aXplZDog
VStkZmZmJ10sICdQQVNTJyk7Ci0gICAgICBhc3NlcnRfZXF1YWxzKAotICAgICAgICB0ZXN0c1sn
VStkODAwVStkODAxIG11c3QgYmUgc2FuaXRpemVkOiBVK2Q4MDBVK2Q4MDEnXSwKLSAgICAgICAg
J1BBU1MnCi0gICAgICApOwotICAgICAgYXNzZXJ0X2VxdWFscygKLSAgICAgICAgdGVzdHNbJ1Ur
ZGMwMFUrZDgwMFUrZGMwMFUrZDgwMCBtdXN0IGJlIHNhbml0aXplZDogVStkYzAwXHVkODAwXHVk
YzAwVStkODAwJ10sCi0gICAgICAgICdQQVNTJwotICAgICAgKTsKLSAgICAgIGFzc2VydF9lcXVh
bHModGVzdHMuYWZ0ZXIsICdQQVNTJyk7Ci0gICAgfSk7Ci19LCAnc3ViLXRlc3QgbmFtZXMgd2hp
Y2ggaW5jbHVkZSB1bnBhaXJlZCBzdXJyb2dhdGVzJyk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvdW5pdC93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMv
dW5pdC93M2MtaW1wb3J0LmxvZwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTUwNmU3
ZGI4MmYuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvdW5pdC93M2MtaW1wb3J0LmxvZworKysg
L2Rldi9udWxsCkBAIC0xLDI4ICswLDAgQEAKLVRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3
ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgotRG8gTk9UIG1vZGlmeSB0aGVz
ZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVl
c3Qgb24gdGhlIFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10
ZXN0cy93cHQKLQotVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBp
biBXZWJLaXQgdG8gcmVpbXBvcnQKLQotRG8gTk9UIG1vZGlmeSBvciByZW1vdmUgdGhpcyBmaWxl
LgotCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0KLVByb3BlcnRpZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhl
czoKLU5vbmUKLVByb3BlcnR5IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgotTm9u
ZQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tCi1MaXN0IG9mIGZpbGVzOgotL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvdW5pdC9hc3NlcnRf
b2JqZWN0X2VxdWFscy5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy91bml0L2Jhc2ljLmh0bWwKLS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL3Vu
aXQvZXhjZXB0aW9uYWwtY2FzZXMtdGltZW91dHMuaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvdW5pdC9leGNlcHRp
b25hbC1jYXNlcy5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy91bml0L2Zvcm1hdC12YWx1ZS5odG1sCi0vTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0
cy91bml0L2xhdGUtdGVzdC5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy91bml0L3Byb21pc2Vfc2V0dXAtdGltZW91
dC5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvdGVzdC90ZXN0cy91bml0L3Byb21pc2Vfc2V0dXAuaHRtbAotL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvdW5pdC9z
aW5nbGVfdGVzdC5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy91bml0L3Rlc3QtcmV0dXJuLXJlc3RyaWN0aW9ucy5o
dG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvdGVzdC90ZXN0cy91bml0L3Rocm93aW5nLWFzc2VydGlvbnMuaHRtbAotL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvdW5p
dC91bnBhaXJlZC1zdXJyb2dhdGVzLmh0bWwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvdzNjLWltcG9y
dC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy90ZXN0L3Rlc3RzL3czYy1pbXBvcnQubG9nCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCBhYjcxNTQ2NzllMy4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy93M2MtaW1wb3J0Lmxv
ZworKysgL2Rldi9udWxsCkBAIC0xLDQyICswLDAgQEAKLVRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVj
dG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgotRG8gTk9UIG1vZGlm
eSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBwdWxs
IHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMKLQotVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10
ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKLQotRG8gTk9UIG1vZGlmeSBvciByZW1vdmUgdGhp
cyBmaWxlLgotCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLVByb3BlcnRpZXMgcmVxdWlyaW5nIHZlbmRvciBw
cmVmaXhlczoKLU5vbmUKLVByb3BlcnR5IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVz
OgotTm9uZQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1MaXN0IG9mIGZpbGVzOgotL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvYWRkX2Ns
ZWFudXAuaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3Rlc3QvdGVzdHMvYWRkX2NsZWFudXBfY291bnQuaHRtbAotL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvYWRk
X2NsZWFudXBfZXJyLmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2FkZF9jbGVhbnVwX2Vycl9tdWx0aS5odG1sCi0v
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVz
dC90ZXN0cy9hcGktdGVzdHMtMS5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9hcGktdGVzdHMtMi5odG1sCi0vTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90
ZXN0cy9hcGktdGVzdHMtMy5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9nZW5lcmF0ZS1jYWxsYmFjay5odG1sCi0v
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVz
dC90ZXN0cy9pZnJhbWUtY2FsbGJhY2suaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWZyYW1lLWNvbnNvbGlkYXRl
LWVycm9ycy5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9pZnJhbWUtY29uc29saWRhdGUtdGVzdHMuaHRtbAotL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3Qv
dGVzdHMvaWZyYW1lLW1zZy5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9vcmRlci5odG1sCi0vTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9wcm9t
aXNlLWFzeW5jLmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL3Byb21pc2UuaHRtbAotL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvc2luZ2xlLXBh
Z2UtdGVzdC1mYWlsLmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL3NpbmdsZS1wYWdlLXRlc3Qtbm8tYXNzZXJ0aW9u
cy5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvdGVzdC90ZXN0cy9zaW5nbGUtcGFnZS10ZXN0LW5vLWJvZHkuaHRtbAotL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMv
c2luZ2xlLXBhZ2UtdGVzdC1wYXNzLmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL3VuY2F1Z2h0LWV4Y2VwdGlvbi1o
YW5kbGUuaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3Rlc3QvdGVzdHMvdW5jYXVnaHQtZXhjZXB0aW9uLWlnbm9yZS5odG1sCi0vTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90
ZXN0cy93b3JrZXItZGVkaWNhdGVkLmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL3dvcmtlci1lcnJvci5qcwotL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3Qv
dGVzdHMvd29ya2VyLXNlcnZpY2UuaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvd29ya2VyLXNoYXJlZC5odG1sCi0v
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVz
dC90ZXN0cy93b3JrZXIuanMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvd29ya2VyLWRlZGljYXRlZC5o
dG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvdGVzdC90ZXN0cy93b3JrZXItZGVkaWNhdGVkLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDBjYTNlNGQxNDVhLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL3dvcmtlci1k
ZWRpY2F0ZWQuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDk3ICswLDAgQEAKLTwhRE9DVFlQRSBI
VE1MPgotPGh0bWw+Ci08aGVhZD4KLTx0aXRsZT5EZWRpY2F0ZWQgV29ya2VyIFRlc3RzPC90aXRs
ZT4KLTxzY3JpcHQgc3JjPSIuLi8uLi90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0iLi4vLi4vdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJv
ZHk+Ci08aDE+RGVkaWNhdGVkIFdlYiBXb3JrZXIgVGVzdHM8L2gxPgotPHA+RGVtb25zdHJhdGVz
IHJ1bm5pbmcgPHR0PnRlc3RoYXJuZXNzPC90dD4gYmFzZWQgdGVzdHMgaW5zaWRlIGEgZGVkaWNh
dGVkIHdlYiB3b3JrZXIuCi08cD5UaGUgdGVzdCBoYXJuZXNzIGlzIGV4cGVjdGVkIHRvIGZhaWwg
ZHVlIHRvIGFuIHVuY2F1Z2h0IGV4Y2VwdGlvbiBpbiBvbmUgd29ya2VyLjwvcD4KLTxkaXYgaWQ9
ImxvZyI+PC9kaXY+Ci0KLTxzY3JpcHQ+Ci10ZXN0KGZ1bmN0aW9uKHQpIHsKLSAgICAgICAgYXNz
ZXJ0X3RydWUoIldvcmtlciIgaW4gc2VsZiwgIkJyb3dzZXIgc2hvdWxkIHN1cHBvcnQgV29ya2Vy
cyIpOwotICAgIH0sCi0gICAgIkJyb3dzZXIgc3VwcG9ydHMgV29ya2VycyIpOwotCi1mZXRjaF90
ZXN0c19mcm9tX3dvcmtlcihuZXcgV29ya2VyKCJ3b3JrZXIuanMiKSk7Ci0KLWZldGNoX3Rlc3Rz
X2Zyb21fd29ya2VyKG5ldyBXb3JrZXIoIndvcmtlci1lcnJvci5qcyIpKTsKLQotdGVzdChmdW5j
dGlvbih0KSB7Ci0gICAgICAgIGFzc2VydF9mYWxzZShmYWxzZSwgIkZhbHNlIGlzIGZhbHNlIik7
Ci0gICAgfSwKLSAgICAiVGVzdCBydW5uaW5nIG9uIG1haW4gZG9jdW1lbnQuIik7Ci08L3Njcmlw
dD4KLTxzY3JpcHQgdHlwZT0idGV4dC9qc29uIiBpZD0iZXhwZWN0ZWQiPgotewotICAic3VtbWFy
aXplZF9zdGF0dXMiOiB7Ci0gICAgInN0YXR1c19zdHJpbmciOiAiRVJST1IiLAotICAgICJtZXNz
YWdlIjogIkVycm9yOiBUaGlzIGZhaWx1cmUgaXMgZXhwZWN0ZWQuIiwKLSAgICAic3RhY2siOiAi
KGltcGxlbWVudGF0aW9uLWRlZmluZWQpIgotICB9LAotICAic3VtbWFyaXplZF90ZXN0cyI6IFsK
LSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1lIjogIkJy
b3dzZXIgc3VwcG9ydHMgV29ya2VycyIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAg
Im1lc3NhZ2UiOiBudWxsLAotICAgICAgInN0YWNrIjogbnVsbAotICAgIH0sCi0gICAgewotICAg
ICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJUZXN0IHJ1bm5pbmcg
b24gbWFpbiBkb2N1bWVudC4iLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNz
YWdlIjogbnVsbCwKLSAgICAgICJzdGFjayI6IG51bGwKLSAgICB9LAotICAgIHsKLSAgICAgICJz
dGF0dXNfc3RyaW5nIjogIkZBSUwiLAotICAgICAgIm5hbWUiOiAiVW50aXRsZWQiLAotICAgICAg
InByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogIkVycm9yOiBUaGlzIGZhaWx1cmUg
aXMgZXhwZWN0ZWQuIiwKLSAgICAgICJzdGFjayI6ICIoaW1wbGVtZW50YXRpb24tZGVmaW5lZCki
Ci0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJu
YW1lIjogIldvcmtlciBhc3luY190ZXN0IHRoYXQgY29tcGxldGVzIHN1Y2Nlc3NmdWxseSIsCi0g
ICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgInN0
YWNrIjogbnVsbAotICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIs
Ci0gICAgICAibmFtZSI6ICJXb3JrZXIgdGVzdCB0aGF0IGNvbXBsZXRlcyBzdWNjZXNzZnVsbHki
LAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAg
ICJzdGFjayI6IG51bGwKLSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIk5P
VFJVTiIsCi0gICAgICAibmFtZSI6ICJXb3JrZXIgdGVzdCB0aGF0IGRvZXNuJ3QgcnVuICgnTk9U
IFJVTicpIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6IG51bGws
Ci0gICAgICAic3RhY2siOiBudWxsCi0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmlu
ZyI6ICJGQUlMIiwKLSAgICAgICJuYW1lIjogIldvcmtlciB0ZXN0IHRoYXQgZmFpbHMgKCdGQUlM
JykiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogImFzc2VydF90
cnVlOiBGYWlsaW5nIHRlc3QgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UiLAotICAgICAgInN0YWNr
IjogIihpbXBsZW1lbnRhdGlvbi1kZWZpbmVkKSIKLSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0
dXNfc3RyaW5nIjogIlRJTUVPVVQiLAotICAgICAgIm5hbWUiOiAiV29ya2VyIHRlc3QgdGhhdCB0
aW1lcyBvdXQgKCdUSU1FT1VUJykiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJt
ZXNzYWdlIjogIlRlc3QgdGltZWQgb3V0IiwKLSAgICAgICJzdGFjayI6IG51bGwKLSAgICB9Ci0g
IF0sCi0gICJ0eXBlIjogImNvbXBsZXRlIgotfQotPC9zY3JpcHQ+Ci08L2JvZHk+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy90ZXN0L3Rlc3RzL3dvcmtlci1lcnJvci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvd29ya2VyLWVycm9yLmpzCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhMjVmMGRiMTg4Yi4uMDAwMDAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
dGVzdC90ZXN0cy93b3JrZXItZXJyb3IuanMKKysrIC9kZXYvbnVsbApAQCAtMSwzICswLDAgQEAK
LWltcG9ydFNjcmlwdHMoIi4uLy4uL3Rlc3RoYXJuZXNzLmpzIik7Ci0KLXRocm93IG5ldyBFcnJv
cigiVGhpcyBmYWlsdXJlIGlzIGV4cGVjdGVkLiIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy93b3Jr
ZXItc2VydmljZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy93b3JrZXItc2VydmljZS5odG1sCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCA0MThmNmQ3MmJiMS4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0
cy93b3JrZXItc2VydmljZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTIzICswLDAgQEAKLTwh
RE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLTx0aXRsZT5FeGFtcGxlIHdpdGggYSBzZXJ2
aWNlIHdvcmtlcjwvdGl0bGU+Ci08c2NyaXB0IHNyYz0iLi4vLi4vdGVzdGhhcm5lc3MuanMiPjwv
c2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Njcmlw
dD4KLTwvaGVhZD4KLTxib2R5PgotPGgxPlNlcnZpY2UgV29ya2VyIFRlc3RzPC9oMT4KLTxwPkRl
bW9uc3RyYXRlcyBydW5uaW5nIDx0dD50ZXN0aGFybmVzczwvdHQ+IGJhc2VkIHRlc3RzIGluc2lk
ZSBhIHNlcnZpY2Ugd29ya2VyLgotPHA+VGhlIHRlc3QgaGFybmVzcyBzaG91bGQgdGltZSBvdXQg
ZHVlIHRvIG9uZSBvZiB0aGUgdGVzdHMgaW5zaWRlIHRoZSB3b3JrZXIgdGltaW5nIG91dC4KLTxw
PlRoaXMgdGVzdCBhc3N1bWVzIHRoYXQgdGhlIGJyb3dzZXIgc3VwcG9ydHMgPGEgaHJlZj0iaHR0
cDovL3d3dy53My5vcmcvVFIvc2VydmljZS13b3JrZXJzLyI+U2VydmljZVdvcmtlcnM8L2E+Lgot
PGRpdiBpZD0ibG9nIj48L2Rpdj4KLQotPHNjcmlwdD4KLXRlc3QoCi0gICAgZnVuY3Rpb24odCkg
ewotICAgICAgICBhc3NlcnRfdHJ1ZSgic2VydmljZVdvcmtlciIgaW4gbmF2aWdhdG9yLAotICAg
ICAgICAgICAgICAgICAgICAibmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIgZXhpc3RzIik7Ci0gICAg
fSwKLSAgICAiQnJvd3NlciBzdXBwb3J0cyBTZXJ2aWNlV29ya2VyIik7Ci0KLXByb21pc2VfdGVz
dCgKLSAgICBmdW5jdGlvbigpIHsKLSAgICAgICAgLy8gU2luY2UgdGhlIHNlcnZpY2Ugd29ya2Vy
IHJlZ2lzdHJhdGlvbiBjb3VsZCBiZSBpbiBhbiBpbmRldGVybWluYXRlCi0gICAgICAgIC8vIHN0
YXRlIChkdWUgdG8sIGZvciBleGFtcGxlLCBhIHByZXZpb3VzIHRlc3QgcnVuIGZhaWxpbmcpLCB3
ZSBzdGFydCBieQotICAgICAgICAvLyB1bnJlZ3N0ZXJpbmcgb3VyIHNlcnZpY2Ugd29ya2VyIGFu
ZCB0aGVuIHJlZ2lzdGVyaW5nIGl0IGFnYWluLgotICAgICAgICB2YXIgc2NvcGUgPSAic2Vydmlj
ZS13b3JrZXItc2NvcGUiOwotICAgICAgICB2YXIgd29ya2VyX3VybCA9ICJ3b3JrZXIuanMiOwot
Ci0gICAgICAgIHJldHVybiBuYXZpZ2F0b3Iuc2VydmljZVdvcmtlci5yZWdpc3Rlcih3b3JrZXJf
dXJsLCB7c2NvcGU6IHNjb3BlfSkKLSAgICAgICAgICAgIC50aGVuKAotICAgICAgICAgICAgICAg
IGZ1bmN0aW9uKHJlZ2lzdHJhdGlvbikgewotICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVn
aXN0cmF0aW9uLnVucmVnaXN0ZXIoKTsKLSAgICAgICAgICAgICAgICB9KQotICAgICAgICAgICAg
LnRoZW4oCi0gICAgICAgICAgICAgICAgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgICAg
IHJldHVybiBuYXZpZ2F0b3Iuc2VydmljZVdvcmtlci5yZWdpc3Rlcih3b3JrZXJfdXJsLCB7c2Nv
cGU6IHNjb3BlfSk7Ci0gICAgICAgICAgICAgICAgfSkKLSAgICAgICAgICAgIC50aGVuKAotICAg
ICAgICAgICAgICAgIGZ1bmN0aW9uKHJlZ2lzdHJhdGlvbikgewotICAgICAgICAgICAgICAgICAg
ICBhZGRfY29tcGxldGlvbl9jYWxsYmFjaygKLSAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0
aW9uKCkgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZ2lzdHJhdGlvbi51bnJlZ2lz
dGVyKCk7Ci0gICAgICAgICAgICAgICAgICAgICAgICB9KTsKLQotICAgICAgICAgICAgICAgICAg
ICByZXR1cm4gbmV3IFByb21pc2UoCi0gICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbihy
ZXNvbHZlKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVnaXN0cmF0aW9uLmFkZEV2
ZW50TGlzdGVuZXIoInVwZGF0ZWZvdW5kIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNv
bHZlKHJlZ2lzdHJhdGlvbi5pbnN0YWxsaW5nKTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgfSk7Ci0gICAgICAgICAgICAgICAgICAgICAgICB9KTsKLSAgICAgICAgICAgICAgICB9
KQotICAgICAgICAgICAgLnRoZW4oCi0gICAgICAgICAgICAgICAgZnVuY3Rpb24od29ya2VyKSB7
Ci0gICAgICAgICAgICAgICAgICAgIGZldGNoX3Rlc3RzX2Zyb21fd29ya2VyKHdvcmtlcik7Ci0g
ICAgICAgICAgICAgICAgfSk7Ci0gICAgfSwKLSAgICAiUmVnaXN0ZXIgU2VydmljZVdvcmtlciIp
OwotPC9zY3JpcHQ+Ci08c2NyaXB0IHR5cGU9InRleHQvanNvbiIgaWQ9ImV4cGVjdGVkIj4KLXsK
LSAgInN1bW1hcml6ZWRfc3RhdHVzIjogewotICAgICJzdGF0dXNfc3RyaW5nIjogIlRJTUVPVVQi
LAotICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAic3RhY2siOiBudWxsCi0gIH0sCi0gICJzdW1t
YXJpemVkX3Rlc3RzIjogWwotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAot
ICAgICAgIm5hbWUiOiAiQnJvd3NlciBzdXBwb3J0cyBTZXJ2aWNlV29ya2VyIiwKLSAgICAgICJw
cm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAic3RhY2siOiBu
dWxsCi0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAg
ICJuYW1lIjogIlJlZ2lzdGVyIFNlcnZpY2VXb3JrZXIiLAotICAgICAgInByb3BlcnRpZXMiOiB7
fSwKLSAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICJzdGFjayI6IG51bGwKLSAgICB9LAot
ICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUiOiAiV29y
a2VyIGFzeW5jX3Rlc3QgdGhhdCBjb21wbGV0ZXMgc3VjY2Vzc2Z1bGx5IiwKLSAgICAgICJwcm9w
ZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAic3RhY2siOiBudWxs
Ci0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJu
YW1lIjogIldvcmtlciB0ZXN0IHRoYXQgY29tcGxldGVzIHN1Y2Nlc3NmdWxseSIsCi0gICAgICAi
cHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgInN0YWNrIjog
bnVsbAotICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiTk9UUlVOIiwKLSAg
ICAgICJuYW1lIjogIldvcmtlciB0ZXN0IHRoYXQgZG9lc24ndCBydW4gKCdOT1QgUlVOJykiLAot
ICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICJz
dGFjayI6IG51bGwKLSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIkZBSUwi
LAotICAgICAgIm5hbWUiOiAiV29ya2VyIHRlc3QgdGhhdCBmYWlscyAoJ0ZBSUwnKSIsCi0gICAg
ICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiAiYXNzZXJ0X3RydWU6IEZhaWxp
bmcgdGVzdCBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZSIsCi0gICAgICAic3RhY2siOiAiKGltcGxl
bWVudGF0aW9uLWRlZmluZWQpIgotICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmci
OiAiVElNRU9VVCIsCi0gICAgICAibmFtZSI6ICJXb3JrZXIgdGVzdCB0aGF0IHRpbWVzIG91dCAo
J1RJTUVPVVQnKSIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiAi
VGVzdCB0aW1lZCBvdXQiLAotICAgICAgInN0YWNrIjogbnVsbAotICAgIH0KLSAgXSwKLSAgInR5
cGUiOiAiY29tcGxldGUiCi19Ci08L3NjcmlwdD4KLTwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVz
dHMvd29ya2VyLXNoYXJlZC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy93b3JrZXItc2hhcmVkLmh0bWwKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGE1NjAxZGUwMzg2Li4wMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0
L3Rlc3RzL3dvcmtlci1zaGFyZWQuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDgwICswLDAgQEAK
LTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLTx0aXRsZT5FeGFtcGxlIHdpdGggYSBz
aGFyZWQgd29ya2VyPC90aXRsZT4KLTxzY3JpcHQgc3JjPSIuLi8uLi90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2Ny
aXB0PgotPC9oZWFkPgotPGJvZHk+Ci08aDE+U2hhcmVkIFdlYiBXb3JrZXIgVGVzdHM8L2gxPgot
PHA+RGVtb25zdHJhdGVzIHJ1bm5pbmcgPHR0PnRlc3RoYXJuZXNzPC90dD4gYmFzZWQgdGVzdHMg
aW5zaWRlIGEgc2hhcmVkIHdvcmtlci4KLTxwPlRoZSB0ZXN0IGhhcm5lc3Mgc2hvdWxkIHRpbWUg
b3V0IGR1ZSB0byBvbmUgb2YgdGhlIHRlc3RzIGluIHRoZSB3b3JrZXIgdGltaW5nIG91dC4KLTxw
PlRoaXMgdGVzdCBhc3N1bWVzIHRoYXQgdGhlIGJyb3dzZXIgc3VwcG9ydHMgPGEgaHJlZj0iaHR0
cDovL3d3dy53My5vcmcvVFIvd29ya2Vycy8jc2hhcmVkLXdvcmtlcnMtYW5kLXRoZS1zaGFyZWR3
b3JrZXItaW50ZXJmYWNlIj5zaGFyZWQgd2ViIHdvcmtlcnM8L2E+LgotPGRpdiBpZD0ibG9nIj48
L2Rpdj4KLQotPHNjcmlwdD4KLXRlc3QoCi0gICAgZnVuY3Rpb24odCkgewotICAgICAgICBhc3Nl
cnRfdHJ1ZSgiU2hhcmVkV29ya2VyIiBpbiBzZWxmLAotICAgICAgICAgICAgICAgICAgICAiQnJv
d3NlciBzaG91bGQgc3VwcG9ydCBTaGFyZWRXb3JrZXJzIik7Ci0gICAgfSwKLSAgICAiQnJvd3Nl
ciBzdXBwb3J0cyBTaGFyZWRXb3JrZXJzIik7Ci0KLWZldGNoX3Rlc3RzX2Zyb21fd29ya2VyKG5l
dyBTaGFyZWRXb3JrZXIoIndvcmtlci5qcyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJNeSBzaGFyZWQgd29ya2VyIikpOwotPC9zY3JpcHQ+Ci08c2NyaXB0IHR5
cGU9InRleHQvanNvbiIgaWQ9ImV4cGVjdGVkIj4KLXsKLSAgInN1bW1hcml6ZWRfc3RhdHVzIjog
ewotICAgICJzdGF0dXNfc3RyaW5nIjogIlRJTUVPVVQiLAotICAgICJtZXNzYWdlIjogbnVsbCwK
LSAgICAic3RhY2siOiBudWxsCi0gIH0sCi0gICJzdW1tYXJpemVkX3Rlc3RzIjogWwotICAgIHsK
LSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUiOiAiQnJvd3NlciBz
dXBwb3J0cyBTaGFyZWRXb3JrZXJzIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAi
bWVzc2FnZSI6IG51bGwsCi0gICAgICAic3RhY2siOiBudWxsCi0gICAgfSwKLSAgICB7Ci0gICAg
ICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAibmFtZSI6ICJXb3JrZXIgYXN5bmNfdGVzdCB0aGF0
IGNvbXBsZXRlcyBzdWNjZXNzZnVsbHkiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAg
ICJzdGFjayI6IG51bGwsCi0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIgotICAgIH0sCi0g
ICAgewotICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgIm5hbWUiOiAiV29ya2VyIHRlc3Qg
dGhhdCBjb21wbGV0ZXMgc3VjY2Vzc2Z1bGx5IiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0g
ICAgICAic3RhY2siOiBudWxsLAotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIKLSAgICB9
LAotICAgIHsKLSAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICJuYW1lIjogIldvcmtlciB0
ZXN0IHRoYXQgZG9lc24ndCBydW4gKCdOT1QgUlVOJykiLAotICAgICAgInByb3BlcnRpZXMiOiB7
fSwKLSAgICAgICJzdGFjayI6IG51bGwsCi0gICAgICAic3RhdHVzX3N0cmluZyI6ICJOT1RSVU4i
Ci0gICAgfSwKLSAgICB7Ci0gICAgICAibWVzc2FnZSI6ICJhc3NlcnRfdHJ1ZTogRmFpbGluZyB0
ZXN0IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlIiwKLSAgICAgICJuYW1lIjogIldvcmtlciB0ZXN0
IHRoYXQgZmFpbHMgKCdGQUlMJykiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJz
dGFjayI6ICIoaW1wbGVtZW50YXRpb24tZGVmaW5lZCkiLAotICAgICAgInN0YXR1c19zdHJpbmci
OiAiRkFJTCIKLSAgICB9LAotICAgIHsKLSAgICAgICJtZXNzYWdlIjogIlRlc3QgdGltZWQgb3V0
IiwKLSAgICAgICJuYW1lIjogIldvcmtlciB0ZXN0IHRoYXQgdGltZXMgb3V0ICgnVElNRU9VVCcp
IiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAic3RhY2siOiBudWxsLAotICAgICAg
InN0YXR1c19zdHJpbmciOiAiVElNRU9VVCIKLSAgICB9Ci0gIF0sCi0gICJ0eXBlIjogImNvbXBs
ZXRlIgotfQotPC9zY3JpcHQ+Ci08L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL3dvcmtlci5q
cyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3Rlc3QvdGVzdHMvd29ya2VyLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhMjU2
MjFhYzFlNC4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy93b3JrZXIuanMKKysrIC9kZXYvbnVs
bApAQCAtMSwzNCArMCwwIEBACi1pbXBvcnRTY3JpcHRzKCIuLi8uLi90ZXN0aGFybmVzcy5qcyIp
OwotCi10ZXN0KAotICAgIGZ1bmN0aW9uKHRlc3QpIHsKLSAgICAgICAgYXNzZXJ0X3RydWUodHJ1
ZSwgIlRydWUgaXMgdHJ1ZSIpOwotICAgIH0sCi0gICAgIldvcmtlciB0ZXN0IHRoYXQgY29tcGxl
dGVzIHN1Y2Nlc3NmdWxseSIpOwotCi10ZXN0KAotICAgIGZ1bmN0aW9uKHRlc3QpIHsKLSAgICAg
ICAgYXNzZXJ0X3RydWUoZmFsc2UsICJGYWlsaW5nIHRlc3QiKTsKLSAgICB9LAotICAgICJXb3Jr
ZXIgdGVzdCB0aGF0IGZhaWxzICgnRkFJTCcpIik7Ci0KLWFzeW5jX3Rlc3QoCi0gICAgZnVuY3Rp
b24odGVzdCkgewotICAgICAgICBhc3NlcnRfdHJ1ZSh0cnVlLCAiVHJ1ZSBpcyB0cnVlIik7Ci0g
ICAgfSwKLSAgICAiV29ya2VyIHRlc3QgdGhhdCB0aW1lcyBvdXQgKCdUSU1FT1VUJykiKTsKLQot
YXN5bmNfdGVzdCgiV29ya2VyIHRlc3QgdGhhdCBkb2Vzbid0IHJ1biAoJ05PVCBSVU4nKSIpOwot
Ci1hc3luY190ZXN0KAotICAgIGZ1bmN0aW9uKHRlc3QpIHsKLSAgICAgICAgc2VsZi5zZXRUaW1l
b3V0KAotICAgICAgICAgICAgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgdGVzdC5kb25l
KCk7Ci0gICAgICAgICAgICB9LAotICAgICAgICAgICAgMCk7Ci0gICAgfSwKLSAgICAiV29ya2Vy
IGFzeW5jX3Rlc3QgdGhhdCBjb21wbGV0ZXMgc3VjY2Vzc2Z1bGx5Iik7Ci0KLS8vIEFuIGV4cGxp
Y2l0IGRvbmUoKSBpcyByZXF1aXJlZCBmb3IgZGVkaWNhdGVkIGFuZCBzaGFyZWQgd2ViIHdvcmtl
cnMuCi1kb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3RveC5pbmkgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3RveC5pbmkKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQwYzUxODZmMTU2Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rv
eC5pbmkKKysrIC9kZXYvbnVsbApAQCAtMSwxNyArMCwwIEBACi1bdG94XQotIyBOb3RlIHRoYXQg
b25seSBweTI3IGlzIHJ1biBpbiBDSS4KLWVudmxpc3QgPSBweTI3LHB5MzYKLXNraXBzZGlzdD1U
cnVlCi0KLVt0ZXN0ZW52XQotcGFzc2Vudj1ESVNQTEFZICMgTmVjZXNzYXJ5IGZvciB0aGUgc3Bh
d25lZCBHZWNrb0RyaXZlciBwcm9jZXNzIHRvIGNvbm5lY3QgdG8KLSAgICAgICAgICAgICAgICAj
IHRoZSBhcHByb3ByaWF0ZSBkaXNwbGF5LgotZGVwcyA9Ci0gIGh0bWw1bGliCi0gIHB5dGVzdD49
Mi45Ci0gIHB5dmlydHVhbGRpc3BsYXkKLSAgc2VsZW5pdW0KLSAgc2l4Ci0gIHJlcXVlc3RzCi0K
LWNvbW1hbmRzID0gcHl0ZXN0IC12diB7cG9zYXJnc30KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdmFyaWFudHMu
anMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy90ZXN0L3ZhcmlhbnRzLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlZWJhYzZm
N2QxNC4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC92YXJpYW50cy5qcworKysgL2Rldi9udWxsCkBAIC0x
LDU3ICswLDAgQEAKLShmdW5jdGlvbigpIHsKLSAgJ3VzZSBzdHJpY3QnOwotICB2YXIgdmFyaWFu
dHMgPSB7Ci0gICAgLyoqCi0gICAgICogVGVzdHMgYXJlIGV4ZWN1dGVkIGluIHRoZSBhYnNlbmNl
IG9mIHRoZSBnbG9iYWwgUHJvbWlzZSBjb25zdHJ1Y3RvciBieQotICAgICAqIGRlZmF1bHQgaW4g
b3JkZXIgdG8gdmVyaWZ5IHN1cHBvcnQgZm9yIHRoZSBTZXJ2ZXIgYnJvd3NlciBlbmdpbmUuCi0g
ICAgICoKLSAgICAgKiBodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdC9p
c3N1ZXMvNjI2NgotICAgICAqLwotICAgICdkZWZhdWx0JzogewotICAgICAgZGVzY3JpcHRpb246
ICdHbG9iYWwgUHJvbWlzZSBjb25zdHJ1Y3RvciByZW1vdmVkLicsCi0gICAgICBhcHBseTogZnVu
Y3Rpb24oKSB7Ci0gICAgICAgIGRlbGV0ZSB3aW5kb3cuUHJvbWlzZTsKLSAgICAgIH0KLSAgICB9
LAotICAgIC8qKgotICAgICAqIFRoaXMgdmFyaWFudCBhbGxvd3MgZm9yIHRlc3RpbmcgZnVuY3Rp
b25hbGl0eSB0aGF0IGlzIGZ1bmRhbWVudGFsbHkKLSAgICAgKiBkZXBlbmRlbnQgb24gUHJvbWlz
ZSBzdXBwb3J0LCBlLmcuIHRoZSBgcHJvbWlzZV90ZXN0YCBmdW5jdGlvbgotICAgICAqLwotICAg
ICdrZWVwLXByb21pc2UnOiB7Ci0gICAgICBkZXNjcmlwdGlvbjogJ05vIG1vZGlmaWNhdGlvbiBv
ZiBnbG9iYWwgZW52aXJvbm1lbnQuJywKLSAgICAgIGFwcGx5OiBmdW5jdGlvbigpIHt9Ci0gICAg
fQotICB9OwotICB2YXIgbWF0Y2ggPSB3aW5kb3cubG9jYXRpb24uc2VhcmNoLm1hdGNoKC9cPygu
KikkLyk7Ci0gIHZhciB2YXJpYW50TmFtZSA9IChtYXRjaCAmJiBtYXRjaFsxXSkgfHwgJ2RlZmF1
bHQnOwotCi0gIGlmICghT2JqZWN0Lmhhc093blByb3BlcnR5LmNhbGwodmFyaWFudHMsIHZhcmlh
bnROYW1lKSkgewotICAgIHdpbmRvdy5sb2NhdGlvbiA9ICdqYXZhc2NyaXB0OiJVbnJlY29nbml6
ZWQgdmFyaWFudDogJyArIHZhcmlhbnROYW1lICsgJyI7JzsKLSAgICBkb2N1bWVudC5jbG9zZSgp
OwotICAgIHJldHVybjsKLSAgfQotCi0gIGlmICh0eXBlb2YgdGVzdCA9PT0gJ2Z1bmN0aW9uJykg
ewotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICBhc3NlcnRfdW5yZWFjaGVkKCd2YXJpYW50
cy5qcyBtdXN0IGJlIGluY2x1ZGVkIGJlZm9yZSB0ZXN0aGFybmVzcy5qcycpOwotICAgIH0pOwot
ICB9Ci0gIHZhciB2YXJpYW50ID0gdmFyaWFudHNbdmFyaWFudE5hbWVdOwotCi0gIHZhciB2YXJp
YW50Tm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwotICB2YXJpYW50Tm9kZS5p
bm5lckhUTUwgPSAnPHA+VGhpcyB0ZXN0aGFybmVzcy5qcyB0ZXN0IHdhcyBleGVjdXRlZCB3aXRo
ICcgKwotICAgICd0aGUgdmFyaWFudCBuYW1lZCwgIicgKyB2YXJpYW50TmFtZSArICciLiAnICsg
dmFyaWFudC5kZXNjcmlwdGlvbiArCi0gICAgJzwvcD48cD5SZWZlciB0byB0aGUgdGVzdCBoYXJu
ZXNzIFJFQURNRSBmaWxlIGZvciBtb3JlIGluZm9ybWF0aW9uLjwvcD4nOwotICBmdW5jdGlvbiBv
blJlYWR5KCkgewotICAgIGlmIChkb2N1bWVudC5yZWFkeVN0YXRlICE9PSAnY29tcGxldGUnKSB7
Ci0gICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgZG9jdW1lbnQuYm9keS5pbnNlcnRCZWZvcmUo
dmFyaWFudE5vZGUsIGRvY3VtZW50LmJvZHkuZmlyc3RDaGlsZCk7Ci0gIH0KLQotICBvblJlYWR5
KCk7Ci0gIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3JlYWR5c3RhdGVjaGFuZ2UnLCBvblJl
YWR5KTsKLQotICB2YXJpYW50LmFwcGx5KCk7Ci19KCkpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC93M2MtaW1w
b3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3Rlc3QvdzNjLWltcG9ydC5sb2cKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IGU3YTQ4NmE5Yjk2Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3czYy1pbXBvcnQubG9nCisrKyAvZGV2
L251bGwKQEAgLTEsMjQgKzAsMCBAQAotVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUg
aW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCi1EbyBOT1QgbW9kaWZ5IHRoZXNlIHRl
c3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBv
biB0aGUgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3Rz
L3dwdAotCi1UaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdl
YktpdCB0byByZWltcG9ydAotCi1EbyBOT1QgbW9kaWZ5IG9yIHJlbW92ZSB0aGlzIGZpbGUuCi0K
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLQotUHJvcGVydGllcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgot
Tm9uZQotUHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6Ci1Ob25lCi0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0KLUxpc3Qgb2YgZmlsZXM6Ci0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC9SRUFETUUubWQKLS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L2NvbmZ0ZXN0
LnB5Ci0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvdGVzdC9oYXJuZXNzLmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L2lkbC1oZWxwZXIuanMKLS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L25lc3RlZC10ZXN0aGFy
bmVzcy5qcwotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3Rlc3QvdG94LmluaQotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdmFyaWFudHMuanMKLS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3dwdHNlcnZlci5weQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvdGVzdC93cHRzZXJ2ZXIucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3dwdHNlcnZlci5weQpkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggZDQ3ZTMyNWZiZWYuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3Qvd3B0c2VydmVy
LnB5CisrKyAvZGV2L251bGwKQEAgLTEsNTQgKzAsMCBAQAotaW1wb3J0IGxvZ2dpbmcKLWltcG9y
dCBvcwotaW1wb3J0IHN1YnByb2Nlc3MKLWltcG9ydCB0aW1lCi1pbXBvcnQgc3lzCi1mcm9tIHNp
eC5tb3ZlcyBpbXBvcnQgdXJsbGliCi0KLQotY2xhc3MgV1BUU2VydmVyKG9iamVjdCk6Ci0gICAg
ZGVmIF9faW5pdF9fKHNlbGYsIHdwdF9yb290KToKLSAgICAgICAgc2VsZi53cHRfcm9vdCA9IHdw
dF9yb290Ci0KLSAgICAgICAgIyBUaGlzIGlzIGEgdGVycmlibGUgaGFjayB0byBnZXQgdGhlIGRl
ZmF1bHQgY29uZmlnIG9mIHdwdHNlcnZlLgotICAgICAgICBzeXMucGF0aC5pbnNlcnQoMCwgb3Mu
cGF0aC5qb2luKHdwdF9yb290LCAidG9vbHMiKSkKLSAgICAgICAgZnJvbSBzZXJ2ZS5zZXJ2ZSBp
bXBvcnQgYnVpbGRfY29uZmlnCi0gICAgICAgIHdpdGggYnVpbGRfY29uZmlnKCkgYXMgY29uZmln
OgotICAgICAgICAgICAgc2VsZi5ob3N0ID0gY29uZmlnWyJicm93c2VyX2hvc3QiXQotICAgICAg
ICAgICAgc2VsZi5odHRwX3BvcnQgPSBjb25maWdbInBvcnRzIl1bImh0dHAiXVswXQotICAgICAg
ICAgICAgc2VsZi5odHRwc19wb3J0ID0gY29uZmlnWyJwb3J0cyJdWyJodHRwcyJdWzBdCi0KLSAg
ICAgICAgc2VsZi5iYXNlX3VybCA9ICdodHRwOi8vJXM6JXMnICUgKHNlbGYuaG9zdCwgc2VsZi5o
dHRwX3BvcnQpCi0gICAgICAgIHNlbGYuaHR0cHNfYmFzZV91cmwgPSAnaHR0cHM6Ly8lczolcycg
JSAoc2VsZi5ob3N0LCBzZWxmLmh0dHBzX3BvcnQpCi0KLSAgICBkZWYgc3RhcnQoc2VsZik6Ci0g
ICAgICAgIHNlbGYuZGV2bnVsbCA9IG9wZW4ob3MuZGV2bnVsbCwgJ3cnKQotICAgICAgICB3cHRz
ZXJ2ZV9jbWQgPSBbb3MucGF0aC5qb2luKHNlbGYud3B0X3Jvb3QsICd3cHQnKSwgJ3NlcnZlJ10K
LSAgICAgICAgbG9nZ2luZy5pbmZvKCdFeGVjdXRpbmcgJXMnICUgJyAnLmpvaW4od3B0c2VydmVf
Y21kKSkKLSAgICAgICAgc2VsZi5wcm9jID0gc3VicHJvY2Vzcy5Qb3BlbigKLSAgICAgICAgICAg
IHdwdHNlcnZlX2NtZCwKLSAgICAgICAgICAgIHN0ZGVycj1zZWxmLmRldm51bGwsCi0gICAgICAg
ICAgICBjd2Q9c2VsZi53cHRfcm9vdCkKLQotICAgICAgICBmb3IgcmV0cnkgaW4gcmFuZ2UoNSk6
Ci0gICAgICAgICAgICAjIEV4cG9uZW50aWFsIGJhY2tvZmYuCi0gICAgICAgICAgICB0aW1lLnNs
ZWVwKDIgKiogcmV0cnkpCi0gICAgICAgICAgICBleGl0X2NvZGUgPSBzZWxmLnByb2MucG9sbCgp
Ci0gICAgICAgICAgICBpZiBleGl0X2NvZGUgIT0gTm9uZToKLSAgICAgICAgICAgICAgICBsb2dn
aW5nLndhcm4oJ0NvbW1hbmQgIiVzIiBleGl0ZWQgd2l0aCAlcycsICcgJy5qb2luKHdwdHNlcnZl
X2NtZCksIGV4aXRfY29kZSkKLSAgICAgICAgICAgICAgICBicmVhawotICAgICAgICAgICAgdHJ5
OgotICAgICAgICAgICAgICAgIHVybGxpYi5yZXF1ZXN0LnVybG9wZW4oc2VsZi5iYXNlX3VybCwg
dGltZW91dD0xKQotICAgICAgICAgICAgICAgIHJldHVybgotICAgICAgICAgICAgZXhjZXB0IHVy
bGxpYi5lcnJvci5VUkxFcnJvcjoKLSAgICAgICAgICAgICAgICBwYXNzCi0KLSAgICAgICAgcmFp
c2UgRXhjZXB0aW9uKCdDb3VsZCBub3Qgc3RhcnQgd3B0c2VydmUgb24gJXMnICUgc2VsZi5iYXNl
X3VybCkKLQotICAgIGRlZiBzdG9wKHNlbGYpOgotICAgICAgICBzZWxmLnByb2MudGVybWluYXRl
KCkKLSAgICAgICAgc2VsZi5wcm9jLndhaXQoKQotICAgICAgICBzZWxmLmRldm51bGwuY2xvc2Uo
KQotCi0gICAgZGVmIHVybChzZWxmLCBhYnNfcGF0aCk6Ci0gICAgICAgIHJldHVybiBzZWxmLmh0
dHBzX2Jhc2VfdXJsICsgJy8nICsgb3MucGF0aC5yZWxwYXRoKGFic19wYXRoLCBzZWxmLndwdF9y
b290KQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvdGVzdGRyaXZlci12ZW5kb3IuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0ZHJpdmVyLXZlbmRvci5qcwpp
bmRleCBjYTBmMjk1ZTkzZi4uZTY5ZGUyOWJiMmQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3Rkcml2ZXItdmVuZG9y
LmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3Rlc3Rkcml2ZXItdmVuZG9yLmpzCkBAIC0xLDI1NCArMCwwIEBACi0KLWNvbnN0IGlz
RGVidWcgPSBmYWxzZTsKLQotZnVuY3Rpb24gbG9nRGVidWcoY2FsbGJhY2spCi17Ci0gICAgaWYg
KGlzRGVidWcpCi0gICAgICAgIGNvbnNvbGUubG9nKGNhbGxiYWNrKCkpOwotfQotCi1mdW5jdGlv
biBkaXNwYXRjaE1vdXNlQWN0aW9ucyhhY3Rpb25zKQotewotICAgIGlmICghd2luZG93LmV2ZW50
U2VuZGVyKQotICAgICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QobmV3IEVycm9yKCJ3aW5kb3cu
ZXZlbnRTZW5kZXIgaXMgdW5kZWZpbmVkLiIpKTsKLQotICAgIHJldHVybiBuZXcgUHJvbWlzZShy
ZXNvbHZlID0+IHsKLSAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7Ci0gICAgICAgICAgICBldmVu
dFNlbmRlci5kcmFnTW9kZSA9IGZhbHNlOwotCi0gICAgICAgICAgICBmb3IgKGxldCBhY3Rpb24g
b2YgYWN0aW9ucykgewotICAgICAgICAgICAgICAgIHN3aXRjaCAoYWN0aW9uLnR5cGUpIHsKLSAg
ICAgICAgICAgICAgICBjYXNlICJwb2ludGVyTW92ZSI6Ci0gICAgICAgICAgICAgICAgICAgIGxl
dCBvcmlnaW4gPSB7IHg6IDAsIHk6IDAgfTsKLSAgICAgICAgICAgICAgICAgICAgaWYgKGFjdGlv
bi5vcmlnaW4gaW5zdGFuY2VvZiBFbGVtZW50KSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCBib3VuZHMgPSBhY3Rpb24ub3JpZ2luLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOwotICAg
ICAgICAgICAgICAgICAgICAgICAgbG9nRGVidWcoKCkgPT4gYCR7YWN0aW9uLm9yaWdpbi5pZH0g
WyR7Ym91bmRzLmxlZnR9LCAke2JvdW5kcy50b3B9LCAke2JvdW5kcy53aWR0aH0sICR7Ym91bmRz
LmhlaWdodH1dYCk7Ci0gICAgICAgICAgICAgICAgICAgICAgICBvcmlnaW4ueCA9IGJvdW5kcy5s
ZWZ0ICsgMTsKLSAgICAgICAgICAgICAgICAgICAgICAgIG9yaWdpbi55ID0gYm91bmRzLnRvcCAr
IDE7Ci0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAgbG9nRGVidWco
KCkgPT4gYGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKCR7YWN0aW9uLnggKyBvcmlnaW4ueH0sICR7
YWN0aW9uLnkgKyBvcmlnaW4ueX0pYCk7Ci0gICAgICAgICAgICAgICAgICAgIGV2ZW50U2VuZGVy
Lm1vdXNlTW92ZVRvKGFjdGlvbi54ICsgb3JpZ2luLngsIGFjdGlvbi55ICsgb3JpZ2luLnkpOwot
ICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgICAgICBjYXNlICJwb2ludGVy
RG93biI6Ci0gICAgICAgICAgICAgICAgICAgIGxvZ0RlYnVnKCgpID0+IGBldmVudFNlbmRlci5t
b3VzZURvd24oKWApOwotICAgICAgICAgICAgICAgICAgICBldmVudFNlbmRlci5tb3VzZURvd24o
YWN0aW9uLmJ1dHRvbik7Ci0gICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAg
ICAgIGNhc2UgInBvaW50ZXJVcCI6Ci0gICAgICAgICAgICAgICAgICAgIGxvZ0RlYnVnKCgpID0+
IGBldmVudFNlbmRlci5tb3VzZVVwKClgKTsKLSAgICAgICAgICAgICAgICAgICAgZXZlbnRTZW5k
ZXIubW91c2VVcChhY3Rpb24uYnV0dG9uKTsKLSAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0g
ICAgICAgICAgICAgICAgY2FzZSAicGF1c2UiOgotICAgICAgICAgICAgICAgICAgICAvLyBGSVhN
RTogV2hhdCBzaG91bGQgd2UgZG8gaGVyZT8KLSAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0g
ICAgICAgICAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFByb21p
c2UucmVqZWN0KG5ldyBFcnJvcihgVW5rbm93biBhY3Rpb24gdHlwZSAiJHthY3Rpb24udHlwZX0i
LmApKTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICByZXNv
bHZlKCk7Ci0gICAgICAgIH0pOwotICAgIH0pOwotfQotCi1mdW5jdGlvbiBkaXNwYXRjaFRvdWNo
QWN0aW9ucyhhY3Rpb25zLCBvcHRpb25zID0geyBpbnNlcnRQYXVzZUFmdGVyUG9pbnRlclVwOiBm
YWxzZSB9KQotewotICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIgfHwgdHlwZW9mIHdpbmRvdy50
ZXN0UnVubmVyLnJ1blVJU2NyaXB0ICE9PSAiZnVuY3Rpb24iKQotICAgICAgICByZXR1cm4gUHJv
bWlzZS5yZWplY3QobmV3IEVycm9yKCJ3aW5kb3cudGVzdFJ1bm5lci5ydW5VSVNjcmlwdCgpIGlz
IHVuZGVmaW5lZC4iKSk7Ci0KLSAgICBsZXQgeCA9IDA7Ci0gICAgbGV0IHkgPSAwOwotICAgIGxl
dCB0aW1lT2Zmc2V0ID0gMDsKLSAgICBsZXQgcG9pbnRlckRvd24gPSBmYWxzZTsKLSAgICBsZXQg
aWQgPSAxOwotCi0gICAgY29uc3QgZXZlbnRzID0gW107Ci0gICAgZm9yIChsZXQgYWN0aW9uIG9m
IGFjdGlvbnMpIHsKLSAgICAgICAgY29uc3QgdG91Y2ggPSB7Ci0gICAgICAgICAgICBpbnB1dFR5
cGUgOiAiZmluZ2VyIiwKLSAgICAgICAgICAgIGlkLAotICAgICAgICAgICAgeCA6IGFjdGlvbi54
LAotICAgICAgICAgICAgeSA6IGFjdGlvbi55LAotICAgICAgICAgICAgcHJlc3N1cmUgOiAwCi0g
ICAgICAgIH07Ci0KLSAgICAgICAgY29uc3QgY29tbWFuZCA9IHsKLSAgICAgICAgICAgIGlucHV0
VHlwZSA6ICJoYW5kIiwKLSAgICAgICAgICAgIGNvb3JkaW5hdGVTcGFjZSA6ICJjb250ZW50IiwK
LSAgICAgICAgICAgIHRvdWNoZXMgOiBbdG91Y2hdLAotICAgICAgICAgICAgdGltZU9mZnNldAot
ICAgICAgICB9OwotCi0gICAgICAgIGxldCB0aW1lT2Zmc2V0SW5jcmVhc2UgPSAwLjA1OwotCi0g
ICAgICAgIHN3aXRjaCAoYWN0aW9uLnR5cGUpIHsKLSAgICAgICAgY2FzZSAicG9pbnRlck1vdmUi
OgotICAgICAgICAgICAgdG91Y2gucGhhc2UgPSAibW92ZWQiOwotICAgICAgICAgICAgaWYgKGFj
dGlvbi5vcmlnaW4gaW5zdGFuY2VvZiBFbGVtZW50KSB7Ci0gICAgICAgICAgICAgICAgY29uc3Qg
Ym91bmRzID0gYWN0aW9uLm9yaWdpbi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTsKLSAgICAgICAg
ICAgICAgICB0b3VjaC54ICs9IGJvdW5kcy5sZWZ0ICsgMTsKLSAgICAgICAgICAgICAgICB0b3Vj
aC55ICs9IGJvdW5kcy50b3AgKyAxOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgYnJlYWs7
Ci0gICAgICAgIGNhc2UgInBvaW50ZXJEb3duIjoKLSAgICAgICAgICAgIHBvaW50ZXJEb3duID0g
dHJ1ZTsKLSAgICAgICAgICAgIHRvdWNoLnBoYXNlID0gImJlZ2FuIjsKLSAgICAgICAgICAgIGlm
IChhY3Rpb24ueCA9PT0gdW5kZWZpbmVkKQotICAgICAgICAgICAgICAgIHRvdWNoLnggPSB4Owot
ICAgICAgICAgICAgaWYgKGFjdGlvbi55ID09PSB1bmRlZmluZWQpCi0gICAgICAgICAgICAgICAg
dG91Y2gueSA9IHk7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSAicG9pbnRlclVw
IjoKLSAgICAgICAgICAgIHBvaW50ZXJEb3duID0gZmFsc2U7Ci0gICAgICAgICAgICB0b3VjaC5w
aGFzZSA9ICJlbmRlZCI7Ci0gICAgICAgICAgICB0b3VjaC54ID0geDsKLSAgICAgICAgICAgIHRv
dWNoLnkgPSB5OwotICAgICAgICAgICAgaWQrKzsKLSAgICAgICAgICAgIC8vIFdlIG5lZWQgdG8g
YWRkIGEgcGF1c2UgYWZ0ZXIgYSBwb2ludGVyIHVwIHRvIGVuc3VyZSB0aGF0IGEgc3Vic2VxdWVu
dCB0YXAgbWF5IGJlIHJlY29nbml6ZWQgYXMgc3VjaC4KLSAgICAgICAgICAgIGlmIChvcHRpb25z
Lmluc2VydFBhdXNlQWZ0ZXJQb2ludGVyVXApCi0gICAgICAgICAgICAgICAgdGltZU9mZnNldElu
Y3JlYXNlID0gMC41OwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgInBhdXNlIjoK
LSAgICAgICAgICAgIHRpbWVPZmZzZXRJbmNyZWFzZSA9IGFjdGlvbi5kdXJhdGlvbiAvIDEwMDA7
Ci0gICAgICAgICAgICB0b3VjaC5waGFzZSA9ICJzdGF0aW9uYXJ5IjsKLSAgICAgICAgICAgIGlm
ICghcG9pbnRlckRvd24pCi0gICAgICAgICAgICAgICAgaWQrKzsKLSAgICAgICAgICAgIGJyZWFr
OwotICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KG5l
dyBFcnJvcihgVW5rbm93biBhY3Rpb24gdHlwZSAiJHthY3Rpb24udHlwZX0iLmApKTsKLSAgICAg
ICAgfQotCi0gICAgICAgIHggPSB0b3VjaC54OwotICAgICAgICB5ID0gdG91Y2gueTsKLQotICAg
ICAgICBpZiAoIXBvaW50ZXJEb3duICYmIHRvdWNoLnBoYXNlID09ICJtb3ZlZCIpCi0gICAgICAg
ICAgICBjb250aW51ZTsKLQotICAgICAgICB0aW1lT2Zmc2V0ICs9IHRpbWVPZmZzZXRJbmNyZWFz
ZTsKLQotICAgICAgICBldmVudHMucHVzaChjb21tYW5kKTsKLSAgICB9Ci0KLSAgICBjb25zdCBz
dHJlYW0gPSBKU09OLnN0cmluZ2lmeSh7IGV2ZW50cyB9KTsKLSAgICBsb2dEZWJ1ZygoKSA9PiBz
dHJlYW0pOwotCi0gICAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4gdGVzdFJ1bm5lci5y
dW5VSVNjcmlwdChgKGZ1bmN0aW9uKCkgewotICAgICAgICAoZnVuY3Rpb24oKSB7IHVpQ29udHJv
bGxlci5zZW5kRXZlbnRTdHJlYW0oJyR7c3RyZWFtfScpIH0pKCk7Ci0gICAgICAgIHVpQ29udHJv
bGxlci51aVNjcmlwdENvbXBsZXRlKCk7Ci0gICAgfSkoKTtgLCByZXNvbHZlKSk7Ci19Ci0KLWlm
ICh3aW5kb3cudGVzdF9kcml2ZXJfaW50ZXJuYWwgPT09IHVuZGVmaW5lZCkKLSAgICB3aW5kb3cu
dGVzdF9kcml2ZXJfaW50ZXJuYWwgPSB7IH07Ci0KLXdpbmRvdy50ZXN0X2RyaXZlcl9pbnRlcm5h
bC5zZW5kX2tleXMgPSBmdW5jdGlvbihlbGVtZW50LCBrZXlzKQotewotICAgIGlmICghd2luZG93
LmV2ZW50U2VuZGVyKQotICAgICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QobmV3IEVycm9yKCJ3
aW5kb3cuZXZlbnRTZW5kZXIgaXMgdW5kZWZpbmVkLiIpKTsKLQotICAgIC8vIGh0dHBzOi8vc2Vs
ZW5pdW1ocS5naXRodWIuaW8vc2VsZW5pdW0vZG9jcy9hcGkvcHkvd2ViZHJpdmVyL3NlbGVuaXVt
LndlYmRyaXZlci5jb21tb24ua2V5cy5odG1sCi0gICAgLy8gRklYTUU6IEFkZCBtb3JlIGNhc2Vz
LgotICAgIC8vIEZJWE1FOiBBZGQgdGhlIHN1cHBvcnQgZm9yIG1vZGlmaWVyIGtleXMuCi0gICAg
Y29uc3QgU2VsZW5pdW1DaGFyQ29kZVRvRXZlbnRTZW5kZXJLZXkgPSB7Ci0gICAgICAgIDB4RTAw
MzogJ2RlbGV0ZScsCi0gICAgICAgIDB4RTAwNDogJ1x0JywKLSAgICAgICAgMHhFMDBEOiAnICcs
Ci0gICAgICAgIDB4RTAxMjogJ2xlZnRBcnJvdycsCi0gICAgICAgIDB4RTAxMzogJ3VwQXJyb3cn
LAotICAgICAgICAweEUwMTQ6ICdyaWdodEFycm93JywKLSAgICAgICAgMHhFMDE1OiAnZG93bkFy
cm93JywKLSAgICB9OwotCi0gICAgZnVuY3Rpb24gY29udmVydFNlbGVuaXVtS2V5Q29kZShrZXkp
Ci0gICAgewotICAgICAgICBjb25zdCBjb2RlID0ga2V5LmNoYXJDb2RlQXQoMCk7Ci0gICAgICAg
IHJldHVybiBTZWxlbml1bUNoYXJDb2RlVG9FdmVudFNlbmRlcktleVtjb2RlXSB8fCBrZXk7Ci0g
ICAgfQotCi0gICAgY29uc3Qga2V5TGlzdCA9IFtdOwotICAgIGZvciAoY29uc3Qga2V5IG9mIGtl
eXMpCi0gICAgICAgIGtleUxpc3QucHVzaChjb252ZXJ0U2VsZW5pdW1LZXlDb2RlKGtleSkpOwot
Ci0gICAgaWYgKHRlc3RSdW5uZXIuaXNJT1NGYW1pbHkgJiYgdGVzdFJ1bm5lci5pc1dlYktpdDIp
IHsKLSAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7Ci0gICAgICAgICAg
ICB0ZXN0UnVubmVyLnJ1blVJU2NyaXB0KGAKLSAgICAgICAgICAgICAgICBjb25zdCBrZXlMaXN0
ID0gSlNPTi5wYXJzZSgnJHtKU09OLnN0cmluZ2lmeShrZXlMaXN0KX0nKTsKLSAgICAgICAgICAg
ICAgICBmb3IgKGNvbnN0IGtleSBvZiBrZXlMaXN0KQotICAgICAgICAgICAgICAgICAgICB1aUNv
bnRyb2xsZXIua2V5RG93bihrZXkpO2AsIHJlc29sdmUpOwotICAgICAgICB9KTsKLSAgICB9Ci0K
LSAgICBmb3IgKGNvbnN0IGtleSBvZiBrZXlMaXN0KQotICAgICAgICBldmVudFNlbmRlci5rZXlE
b3duKGtleSk7Ci0gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpOwotfQotCi13aW5kb3cudGVz
dF9kcml2ZXJfaW50ZXJuYWwuY2xpY2sgPSBmdW5jdGlvbiAoZWxlbWVudCwgY29vcmRzKQotewot
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgIHJldHVybiBQcm9taXNlLnJlc29s
dmUoKTsKLQotICAgIGlmICghd2luZG93LmV2ZW50U2VuZGVyKQotICAgICAgICByZXR1cm4gUHJv
bWlzZS5yZWplY3QobmV3IEVycm9yKCJ3aW5kb3cuZXZlbnRTZW5kZXIgaXMgdW5kZWZpbmVkLiIp
KTsKLQotICAgIGlmICh0ZXN0UnVubmVyLmlzSU9TRmFtaWx5ICYmIHRlc3RSdW5uZXIuaXNXZWJL
aXQyKSB7Ci0gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4gewotICAgICAg
ICAgICAgdGVzdFJ1bm5lci5ydW5VSVNjcmlwdChgCi0gICAgICAgICAgICAgICAgdWlDb250cm9s
bGVyLnNpbmdsZVRhcEF0UG9pbnQoJHtjb29yZHMueH0sICR7Y29vcmRzLnl9LCBmdW5jdGlvbigp
IHsKLSAgICAgICAgICAgICAgICAgICAgdWlDb250cm9sbGVyLnVpU2NyaXB0Q29tcGxldGUoKTsK
LSAgICAgICAgICAgICAgICB9KTtgLCByZXNvbHZlKTsKLSAgICAgICAgfSk7Ci0gICAgfQotCi0g
ICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8oY29vcmRzLngsIGNvb3Jkcy55KTsKLSAgICBldmVu
dFNlbmRlci5tb3VzZURvd24oKTsKLSAgICBldmVudFNlbmRlci5tb3VzZVVwKCk7Ci0KLSAgICBy
ZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7Ci19Ci0KLXdpbmRvdy50ZXN0X2RyaXZlcl9pbnRlcm5h
bC5hY3Rpb25fc2VxdWVuY2UgPSBmdW5jdGlvbihzb3VyY2VzKQotewotICAgIC8vIGh0dHBzOi8v
dzNjLmdpdGh1Yi5pby93ZWJkcml2ZXIvI3Byb2Nlc3NpbmctYWN0aW9ucyAgICAKLQotICAgIGxl
dCBub25lU291cmNlOwotICAgIGxldCBwb2ludGVyU291cmNlOwotICAgIGZvciAobGV0IHNvdXJj
ZSBvZiBzb3VyY2VzKSB7Ci0gICAgICAgIHN3aXRjaCAoc291cmNlLnR5cGUpIHsKLSAgICAgICAg
Y2FzZSAibm9uZSI6Ci0gICAgICAgICAgICBub25lU291cmNlID0gc291cmNlOwotICAgICAgICAg
ICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgInBvaW50ZXIiOgotICAgICAgICAgICAgcG9pbnRlclNv
dXJjZSA9IHNvdXJjZTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBkZWZhdWx0OgotICAg
ICAgICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyBFcnJvcihgVW5rbm93biBzb3VyY2Ug
dHlwZSAiJHthY3Rpb24udHlwZX0iLmApKTsKLSAgICAgICAgfQotICAgIH0KLQotICAgIGlmICgh
cG9pbnRlclNvdXJjZSkKLSAgICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyBFcnJvcihg
VW5rbm93biBwb2ludGVyIHR5cGUgcG9pbnRlciB0eXBlICIke2FjdGlvbi5wYXJhbWV0ZXJzLnBv
aW50ZXJUeXBlfSIuYCkpOwotCi0gICAgY29uc3QgcG9pbnRlclR5cGUgPSBwb2ludGVyU291cmNl
LnBhcmFtZXRlcnMucG9pbnRlclR5cGU7Ci0gICAgaWYgKHBvaW50ZXJUeXBlICE9PSAibW91c2Ui
ICYmIHBvaW50ZXJUeXBlICE9PSAidG91Y2giKQotICAgICAgICByZXR1cm4gUHJvbWlzZS5yZWpl
Y3QobmV3IEVycm9yKGBVbmtub3duIHBvaW50ZXIgdHlwZSAiJHtwb2ludGVyVHlwZX0iLmApKTsK
LQotICAgIC8vIElmIHdlIGhhdmUgYSAibm9uZSIgc291cmNlLCBsZXQncyBpbmplY3QgYW55IHBh
dXNlIHdpdGggbm9uLXplcm8gZHVyYXRpb25zIGludG8gdGhlIHBvaW50ZXIgc291cmNlCi0gICAg
Ly8gYWZ0ZXIgdGhlIG1hdGNoaW5nIGFjdGlvbiBpbiB0aGUgcG9pbnRlciBzb3VyY2UuCi0gICAg
aWYgKG5vbmVTb3VyY2UpIHsKLSAgICAgICAgbGV0IGluamVjdGVkQWN0aW9ucyA9IDA7Ci0gICAg
ICAgIG5vbmVTb3VyY2UuYWN0aW9ucy5mb3JFYWNoKChhY3Rpb24sIGluZGV4KSA9PiB7Ci0gICAg
ICAgICAgICBpZiAoYWN0aW9uLmR1cmF0aW9uID4gMCkgewotICAgICAgICAgICAgICAgIHBvaW50
ZXJTb3VyY2UuYWN0aW9ucy5zcGxpY2UoaW5kZXggKyBpbmplY3RlZEFjdGlvbnMgKyAxLCAwLCBh
Y3Rpb24pOwotICAgICAgICAgICAgICAgIGluamVjdGVkQWN0aW9ucysrOwotICAgICAgICAgICAg
fQotICAgICAgICB9KTsKLSAgICB9Ci0KLSAgICBsb2dEZWJ1ZygoKSA9PiBKU09OLnN0cmluZ2lm
eShwb2ludGVyU291cmNlKSk7Ci0KLSAgICBpZiAocG9pbnRlclR5cGUgPT09ICJ0b3VjaCIpCi0g
ICAgICAgIHJldHVybiBkaXNwYXRjaFRvdWNoQWN0aW9ucyhwb2ludGVyU291cmNlLmFjdGlvbnMp
OwotICAgIGlmICh0ZXN0UnVubmVyLmlzSU9TRmFtaWx5ICYmICJjcmVhdGVUb3VjaCIgaW4gZG9j
dW1lbnQpCi0gICAgICAgIHJldHVybiBkaXNwYXRjaFRvdWNoQWN0aW9ucyhwb2ludGVyU291cmNl
LmFjdGlvbnMsIHsgaW5zZXJ0UGF1c2VBZnRlclBvaW50ZXJVcDogdHJ1ZSB9KTsKLSAgICBpZiAo
cG9pbnRlclR5cGUgPT09ICJtb3VzZSIpCi0gICAgICAgIHJldHVybiBkaXNwYXRjaE1vdXNlQWN0
aW9ucyhwb2ludGVyU291cmNlLmFjdGlvbnMpOwotfTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3czYy1pbXBvcnQubG9n
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
dzNjLWltcG9ydC5sb2cKaW5kZXggMWNlZTc3NmZhZmQuLjk4ODdmOWY3MGQ0IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
M2MtaW1wb3J0LmxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93M2MtaW1wb3J0LmxvZwpAQCAtMzAsNSArMzAsNCBAQCBMaXN0IG9m
IGZpbGVzOgogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3Rlc3Rkcml2ZXIuanMuaGVhZGVycwogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzCiAvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMu
aGVhZGVycwotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMuaGVhZGVycwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi9DSEFOR0VMT0cubWQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL0NIQU5HRUxPRy5tZApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTFlMjIyNzVlMDcuLjAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvQ0hBTkdFTE9HLm1kCisrKyAvZGV2L251bGwKQEAgLTEsMjkyICswLDAgQEAKLSMgQ2hhbmdl
IExvZwotCi0jIyBbdjEwLjIuMV0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL3Ry
ZWUvdjEwLjIuMSkgKDIwMTgtMDMtMDkpCi1bRnVsbCBDaGFuZ2Vsb2ddKGh0dHBzOi8vZ2l0aHVi
LmNvbS93M2Mvd2ViaWRsMi5qcy9jb21wYXJlL3YxMC4yLjAuLi52MTAuMi4xKQotCi0qKk1lcmdl
ZCBwdWxsIHJlcXVlc3RzOioqCi0KLS0gT3B0aW1pc2UgdG9rZW5pc2F0aW9uIGFuZCB3aGl0ZXNw
YWNlIHNraXBwaW5nIFtcIzEzOV0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL3B1
bGwvMTM5KSAoW3JpY2VhXShodHRwczovL2dpdGh1Yi5jb20vcmljZWEpKQotLSByZWZhY3Rvcjog
c21hbGwgc3ludGF4IGNoYW5nZXMgW1wjMTM3XShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlk
bDIuanMvcHVsbC8xMzcpIChbc2FzY2hhbmF6XShodHRwczovL2dpdGh1Yi5jb20vc2FzY2hhbmF6
KSkKLQotIyMgW3YxMC4yLjBdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy90cmVl
L3YxMC4yLjApICgyMDE4LTAxLTMwKQotW0Z1bGwgQ2hhbmdlbG9nXShodHRwczovL2dpdGh1Yi5j
b20vdzNjL3dlYmlkbDIuanMvY29tcGFyZS92MTAuMS4wLi4udjEwLjIuMCkKLQotKipNZXJnZWQg
cHVsbCByZXF1ZXN0czoqKgotCi0tIFR5cGUgb24gdW5pb24gaWRsVHlwZSBbXCMxMzVdKGh0dHBz
Oi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9wdWxsLzEzNSkgKFtzYXNjaGFuYXpdKGh0dHBz
Oi8vZ2l0aHViLmNvbS9zYXNjaGFuYXopKQotLSBmZWF0OiBhZGQgYXJndW1lbnQvcmV0dXJuIHR5
cGUgW1wjMTM0XShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvcHVsbC8xMzQpIChb
c2FzY2hhbmF6XShodHRwczovL2dpdGh1Yi5jb20vc2FzY2hhbmF6KSkKLS0gZmVhdDogYWRkIGRp
Y3Rpb25hcnkvdHlwZWRlZi10eXBlIFtcIzEzM10oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJp
ZGwyLmpzL3B1bGwvMTMzKSAoW3Nhc2NoYW5hel0oaHR0cHM6Ly9naXRodWIuY29tL3Nhc2NoYW5h
eikpCi0tIGZlYXQ6IGFkZCBjb25zdC10eXBlIGZvciBpZGxUeXBlcyAgW1wjMTMyXShodHRwczov
L2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvcHVsbC8xMzIpIChbc2FzY2hhbmF6XShodHRwczov
L2dpdGh1Yi5jb20vc2FzY2hhbmF6KSkKLS0gZmVhdDogYWRkIHR5cGVzIG9uIGlkbFR5cGVzIFtc
IzEzMV0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL3B1bGwvMTMxKSAoW3Nhc2No
YW5hel0oaHR0cHM6Ly9naXRodWIuY29tL3Nhc2NoYW5heikpCi0tIEF1dG8gYWNxdWlzaXRpb24g
Zm9yIHBhcnNlciByZXN1bHQgY2hhbmdlcyBbXCMxMzBdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mv
d2ViaWRsMi5qcy9wdWxsLzEzMCkgKFtzYXNjaGFuYXpdKGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNj
aGFuYXopKQotCi0jIyBbdjEwLjEuMF0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpz
L3RyZWUvdjEwLjEuMCkgKDIwMTgtMDEtMTkpCi1bRnVsbCBDaGFuZ2Vsb2ddKGh0dHBzOi8vZ2l0
aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9jb21wYXJlL3YxMC4wLjAuLi52MTAuMS4wKQotCi0qKkNs
b3NlZCBpc3N1ZXM6KioKLQotLSBTdXBwb3J0IGByYWlzZXNgIGFuZCBgc2V0cmFpc2VzYCBbXCMx
MjhdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9pc3N1ZXMvMTI4KQotLSBTdXBw
b3J0IGBsZWdhY3ljYWxsZXJgIFtcIzEyN10oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwy
LmpzL2lzc3Vlcy8xMjcpCi0tIEltcHJvdmUgIk5vIHNlbWljb2xvbiBhZnRlciBlbnVtIiBtZXNz
YWdlIFtcIzExOV0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL2lzc3Vlcy8xMTkp
Ci0KLSoqTWVyZ2VkIHB1bGwgcmVxdWVzdHM6KioKLQotLSBMZXQgZXJyb3IgbWVzc2FnZXMgaW5j
bHVkZSB0aGUgY3VycmVudCBkZWZpbml0aW9uIG5hbWUgW1wjMTI5XShodHRwczovL2dpdGh1Yi5j
b20vdzNjL3dlYmlkbDIuanMvcHVsbC8xMjkpIChbc2FzY2hhbmF6XShodHRwczovL2dpdGh1Yi5j
b20vc2FzY2hhbmF6KSkKLQotIyMgW3YxMC4wLjBdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2Vi
aWRsMi5qcy90cmVlL3YxMC4wLjApICgyMDE3LTEyLTIwKQotW0Z1bGwgQ2hhbmdlbG9nXShodHRw
czovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvY29tcGFyZS92OS4wLjAuLi52MTAuMC4wKQot
Ci0qKkNsb3NlZCBpc3N1ZXM6KioKLQotLSAgQWx3YXlzIHJldHVybiBhbiBhcnJheSBmb3IgaWRs
VHlwZSwgZXRjLiBbXCMxMTNdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9pc3N1
ZXMvMTEzKQotLSBNYWludGFpbiB3cml0ZXIuanMgb3Igbm90PyBbXCMxMDldKGh0dHBzOi8vZ2l0
aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9pc3N1ZXMvMTA5KQotCi0qKk1lcmdlZCBwdWxsIHJlcXVl
c3RzOioqCi0KLS0gUmVtb3ZlIHR5cGVFeHRBdHRycyBmcm9tIGRvY3MgW1wjMTI0XShodHRwczov
L2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvcHVsbC8xMjQpIChbc2FzY2hhbmF6XShodHRwczov
L2dpdGh1Yi5jb20vc2FzY2hhbmF6KSkKLS0gUmVtb3ZlIGl0ZXJhdG9yIGRvY3VtZW50YXRpb24g
W1wjMTIzXShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvcHVsbC8xMjMpIChbc2Fz
Y2hhbmF6XShodHRwczovL2dpdGh1Yi5jb20vc2FzY2hhbmF6KSkKLS0gTWFpbnRhaW4gd3JpdGVy
LmpzIFtcIzEyMl0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL3B1bGwvMTIyKSAo
W3Nhc2NoYW5hel0oaHR0cHM6Ly9naXRodWIuY29tL3Nhc2NoYW5heikpCi0tIEJSRUFLSU5HIENI
QU5HRTogcmVtb3ZlIGRlcHJlY2F0ZWQgaXRlcmF0b3Igb3BlcmF0aW9uIFtcIzEyMV0oaHR0cHM6
Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL3B1bGwvMTIxKSAoW3Nhc2NoYW5hel0oaHR0cHM6
Ly9naXRodWIuY29tL3Nhc2NoYW5heikpCi0tIFVzZSBmb3Itb2Ygb24gdGVzdHMgW1wjMTIwXSho
dHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvcHVsbC8xMjApIChbc2FzY2hhbmF6XSho
dHRwczovL2dpdGh1Yi5jb20vc2FzY2hhbmF6KSkKLS0gZG9jc1woUkVBRE1FXCk6IGl0ZXJhYmxl
cyBpbGRUeXBlIGlzIGFsd2F5cyBhcnJheSBbXCMxMThdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mv
d2ViaWRsMi5qcy9wdWxsLzExOCkgKFttYXJjb3NjYWNlcmVzXShodHRwczovL2dpdGh1Yi5jb20v
bWFyY29zY2FjZXJlcykpCi0KLSMjIFt2OS4wLjBdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2Vi
aWRsMi5qcy90cmVlL3Y5LjAuMCkgKDIwMTctMTEtMzApCi1bRnVsbCBDaGFuZ2Vsb2ddKGh0dHBz
Oi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9jb21wYXJlL3Y4LjEuMC4uLnY5LjAuMCkKLQot
KipDbG9zZWQgaXNzdWVzOioqCi0KLS0gQ29kZSBxdWFsaXR5IFtcIzExNl0oaHR0cHM6Ly9naXRo
dWIuY29tL3czYy93ZWJpZGwyLmpzL2lzc3Vlcy8xMTYpCi0tIFVuYWJsZSB0byBwYXJzZSBIVE1M
QWxsQ29sbGVjdGlvbiBpbnRlcmZhY2UgW1wjMTE0XShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dl
YmlkbDIuanMvaXNzdWVzLzExNCkKLS0gQWRkIHN1cHBvcnQgZm9yIG1peGluIHN5bnRheCBbXCMx
MTJdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9pc3N1ZXMvMTEyKQotLSBXaGl0
ZXNwYWNlIGlzc3VlcyBbXCMxMTFdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9p
c3N1ZXMvMTExKQotCi0qKk1lcmdlZCBwdWxsIHJlcXVlc3RzOioqCi0KLS0gQ29uc2lzdGVudCBh
cnJheSB0eXBlIGZvciBpdGVyYWJsZS5pZGxUeXBlIFtcIzExN10oaHR0cHM6Ly9naXRodWIuY29t
L3czYy93ZWJpZGwyLmpzL3B1bGwvMTE3KSAoW3Nhc2NoYW5hel0oaHR0cHM6Ly9naXRodWIuY29t
L3Nhc2NoYW5heikpCi0tICBSZXZlcnQgImNob3JlOiBkcm9wIE5vZGUgNiBzdXBwb3J0IFwoXCMx
MDJcKSIgW1wjMTE1XShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvcHVsbC8xMTUp
IChbVGltb3RoeUd1XShodHRwczovL2dpdGh1Yi5jb20vVGltb3RoeUd1KSkKLQotIyMgW3Y4LjEu
MF0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL3RyZWUvdjguMS4wKSAoMjAxNy0x
MS0wMykKLVtGdWxsIENoYW5nZWxvZ10oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpz
L2NvbXBhcmUvdjguMC4xLi4udjguMS4wKQotCi0qKkNsb3NlZCBpc3N1ZXM6KioKLQotLSBFeHRl
bmRlZCBBdHRyaWJ1dGVzIGByaHNgIHNob3VsZCBhbHdheXMgYmUgdGhlcmUgW1wjOTZdKGh0dHBz
Oi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9pc3N1ZXMvOTYpCi0KLSoqTWVyZ2VkIHB1bGwg
cmVxdWVzdHM6KioKLQotLSBBbHdheXMgYWRkIHJocyBwcm9wZXJ0eSBbXCMxMTBdKGh0dHBzOi8v
Z2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9wdWxsLzExMCkgKFtzYXNjaGFuYXpdKGh0dHBzOi8v
Z2l0aHViLmNvbS9zYXNjaGFuYXopKQotCi0jIyBbdjguMC4xXShodHRwczovL2dpdGh1Yi5jb20v
dzNjL3dlYmlkbDIuanMvdHJlZS92OC4wLjEpICgyMDE3LTExLTAzKQotW0Z1bGwgQ2hhbmdlbG9n
XShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvY29tcGFyZS92OC4wLjAuLi52OC4w
LjEpCi0KLSoqRml4ZWQgYnVnczoqKgotCi0tIENvbW1lbnQgb3JkZXIgcGFyc2luZyBidWcgIFtc
IzEwN10oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL2lzc3Vlcy8xMDcpCi0KLSoq
TWVyZ2VkIHB1bGwgcmVxdWVzdHM6KioKLQotLSBSZW1vdmUgbSBwb3N0Zml4IGZyb20gYWxsXF93
c1woXCkgW1wjMTA4XShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvcHVsbC8xMDgp
IChbc2FzY2hhbmF6XShodHRwczovL2dpdGh1Yi5jb20vc2FzY2hhbmF6KSkKLQotIyMgW3Y4LjAu
MF0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL3RyZWUvdjguMC4wKSAoMjAxNy0x
MS0wMykKLVtGdWxsIENoYW5nZWxvZ10oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpz
L2NvbXBhcmUvdjcuMC4wLi4udjguMC4wKQotCi0qKkNsb3NlZCBpc3N1ZXM6KioKLQotLSBSZW1v
dmUgY3JlYXRvcnMgc3VwcG9ydCBbXCMxMDBdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRs
Mi5qcy9pc3N1ZXMvMTAwKQotLSBBZGQgbWl4aW4gc3VwcG9ydCBbXCM5Ml0oaHR0cHM6Ly9naXRo
dWIuY29tL3czYy93ZWJpZGwyLmpzL2lzc3Vlcy85MikKLQotKipNZXJnZWQgcHVsbCByZXF1ZXN0
czoqKgotCi0tIFN1cHBvcnQgbWl4aW5zICsgaW5jbHVkZXMgc3RhdGVtZW50cyBbXCMxMDVdKGh0
dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9wdWxsLzEwNSkgKFtzYXNjaGFuYXpdKGh0
dHBzOi8vZ2l0aHViLmNvbS9zYXNjaGFuYXopKQotLSBjaG9yZTogZHJvcCBOb2RlIDYgc3VwcG9y
dCBbXCMxMDJdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9wdWxsLzEwMikgKFtt
YXJjb3NjYWNlcmVzXShodHRwczovL2dpdGh1Yi5jb20vbWFyY29zY2FjZXJlcykpCi0tIEJSRUFL
SU5HIENIQU5HRTogZHJvcCBjcmVhdG9yIHN1cHBvcnQgW1wjMTAxXShodHRwczovL2dpdGh1Yi5j
b20vdzNjL3dlYmlkbDIuanMvcHVsbC8xMDEpIChbc2FzY2hhbmF6XShodHRwczovL2dpdGh1Yi5j
b20vc2FzY2hhbmF6KSkKLS0gTm9ybWFsaXplIHNvbWUgd2hpdGVzcGFjZSB0byBwYXNzIHdwdCdz
IGxpbnQgW1wjOTldKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9wdWxsLzk5KSAo
W2Zvb2xpcF0oaHR0cHM6Ly9naXRodWIuY29tL2Zvb2xpcCkpCi0KLSMjIFt2Ny4wLjBdKGh0dHBz
Oi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy90cmVlL3Y3LjAuMCkgKDIwMTctMTAtMjcpCi1b
RnVsbCBDaGFuZ2Vsb2ddKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9jb21wYXJl
L3Y2LjEuMC4uLnY3LjAuMCkKLQotKipDbG9zZWQgaXNzdWVzOioqCi0KLS0gVHlwZSBjb252ZXJz
aW9uIG9uIGRlZmF1bHQgdmFsdWVzIGlzIGRlc3RydWN0aXZlICBbXCM5NF0oaHR0cHM6Ly9naXRo
dWIuY29tL3czYy93ZWJpZGwyLmpzL2lzc3Vlcy85NCkKLS0gZXh0ZW5kZWQgYXR0cmlidXRlIHN0
cnVjdHVyZSBtaXNzaW5nIHR5cGUgW1wjODldKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRs
Mi5qcy9pc3N1ZXMvODkpCi0KLSoqTWVyZ2VkIHB1bGwgcmVxdWVzdHM6KioKLQotLSAgQlJFQUtJ
TkcgQ0hBTkdFOiBhcmd1bWVudCArIGRlZmF1bHQgdHlwZXMgc2hvdWxkIGJlIHN0cmluZyBbXCM5
NV0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL3B1bGwvOTUpIChbbWFyY29zY2Fj
ZXJlc10oaHR0cHM6Ly9naXRodWIuY29tL21hcmNvc2NhY2VyZXMpKQotCi0jIyBbdjYuMS4wXSho
dHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvdHJlZS92Ni4xLjApICgyMDE3LTEwLTIz
KQotW0Z1bGwgQ2hhbmdlbG9nXShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvY29t
cGFyZS92Ni4wLjEuLi52Ni4xLjApCi0KLSoqTWVyZ2VkIHB1bGwgcmVxdWVzdHM6KioKLQotLSBm
ZWF0OiBnaXZlIGV4dGVuZGVkIGF0dHJpYnV0ZXMgYSB0eXBlIFtcIzkwXShodHRwczovL2dpdGh1
Yi5jb20vdzNjL3dlYmlkbDIuanMvcHVsbC85MCkgKFttYXJjb3NjYWNlcmVzXShodHRwczovL2dp
dGh1Yi5jb20vbWFyY29zY2FjZXJlcykpCi0KLSMjIFt2Ni4wLjFdKGh0dHBzOi8vZ2l0aHViLmNv
bS93M2Mvd2ViaWRsMi5qcy90cmVlL3Y2LjAuMSkgKDIwMTctMTAtMTgpCi1bRnVsbCBDaGFuZ2Vs
b2ddKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9jb21wYXJlL3Y2LjAuMC4uLnY2
LjAuMSkKLQotKipDbG9zZWQgaXNzdWVzOioqCi0KLS0gRW51bSB2YWx1ZXMgc2hvdWxkIGJlIG9i
amVjdHMgW1wjODZdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9pc3N1ZXMvODYp
Ci0KLSoqTWVyZ2VkIHB1bGwgcmVxdWVzdHM6KioKLQotLSBVc2UgRVMyMDE1IHN5bnRheCBmb3Ig
dGVzdHMgW1wjODhdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9wdWxsLzg4KSAo
W3Nhc2NoYW5hel0oaHR0cHM6Ly9naXRodWIuY29tL3Nhc2NoYW5heikpCi0KLSMjIFt2Ni4wLjBd
KGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy90cmVlL3Y2LjAuMCkgKDIwMTctMTAt
MTcpCi1bRnVsbCBDaGFuZ2Vsb2ddKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9j
b21wYXJlL3Y1LjAuMC4uLnY2LjAuMCkKLQotKipNZXJnZWQgcHVsbCByZXF1ZXN0czoqKgotCi0t
IEJSRUFLSU5HIENIQU5HRTogcmV0IGVudW0gdmFsdWUgYXMgb2JqZWN0IFtcIzg3XShodHRwczov
L2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvcHVsbC84NykgKFttYXJjb3NjYWNlcmVzXShodHRw
czovL2dpdGh1Yi5jb20vbWFyY29zY2FjZXJlcykpCi0KLSMjIFt2NS4wLjBdKGh0dHBzOi8vZ2l0
aHViLmNvbS93M2Mvd2ViaWRsMi5qcy90cmVlL3Y1LjAuMCkgKDIwMTctMTAtMTcpCi1bRnVsbCBD
aGFuZ2Vsb2ddKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9jb21wYXJlL3Y0LjIu
MC4uLnY1LjAuMCkKLQotKipDbG9zZWQgaXNzdWVzOioqCi0KLS0gVW5hYmxlIHRvIHBhcnNlIGFu
bm90YXRlZCB0eXBlcyBpbiBnZW5lcmljcyBbXCM4M10oaHR0cHM6Ly9naXRodWIuY29tL3czYy93
ZWJpZGwyLmpzL2lzc3Vlcy84MykKLS0gRHJvcCBzdXBwb3J0IGZvciBOb2RlIDQsIG1vdmUgdG8g
NiBMVFMgW1wjODJdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9pc3N1ZXMvODIp
Ci0KLSoqTWVyZ2VkIHB1bGwgcmVxdWVzdHM6KioKLQotLSBCUkVBS0lORyBDSEFOR0U6IFVzZSBF
UzIwMTUgc3ludGF4IFtcIzg0XShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvcHVs
bC84NCkgKFtzYXNjaGFuYXpdKGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNjaGFuYXopKQotCi0jIyBb
djQuMi4wXShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvdHJlZS92NC4yLjApICgy
MDE3LTEwLTE2KQotW0Z1bGwgQ2hhbmdlbG9nXShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlk
bDIuanMvY29tcGFyZS92NC4xLjAuLi52NC4yLjApCi0KLSoqQ2xvc2VkIGlzc3VlczoqKgotCi0t
IFJlbW92ZSBsZWdhY3kgY2FsbGVyIHN1cHBvcnQgW1wjNzhdKGh0dHBzOi8vZ2l0aHViLmNvbS93
M2Mvd2ViaWRsMi5qcy9pc3N1ZXMvNzgpCi0tIFNob3VsZCByZXBvcnQgZXJyb3IgZm9yIHVzaW5n
IGR1cGxpY2F0ZSBuYW1lcyBbXCM3N10oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpz
L2lzc3Vlcy83NykKLQotKipNZXJnZWQgcHVsbCByZXF1ZXN0czoqKgotCi0tIENoZWNrIGR1cGxp
Y2F0ZWQgbmFtZXMgW1wjODBdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9wdWxs
LzgwKSAoW3Nhc2NoYW5hel0oaHR0cHM6Ly9naXRodWIuY29tL3Nhc2NoYW5heikpCi0tIFJlbW92
ZSBsZWdhY3ljYWxsZXIgW1wjNzldKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9w
dWxsLzc5KSAoW3Nhc2NoYW5hel0oaHR0cHM6Ly9naXRodWIuY29tL3Nhc2NoYW5heikpCi0tIEFk
ZCAic2VxdWVuY2UiIHByb3BlcnR5IHRvIElETCBUeXBlIEFTVCBkZWZpbml0aW9uIFtcIzc2XSho
dHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvcHVsbC83NikgKFtsZXJvdWNoZV0oaHR0
cHM6Ly9naXRodWIuY29tL2xlcm91Y2hlKSkKLQotIyMgW3Y0LjEuMF0oaHR0cHM6Ly9naXRodWIu
Y29tL3czYy93ZWJpZGwyLmpzL3RyZWUvdjQuMS4wKSAoMjAxNy0wNy0wNCkKLVtGdWxsIENoYW5n
ZWxvZ10oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL2NvbXBhcmUvdjQuMC4wLi4u
djQuMS4wKQotCi0qKkNsb3NlZCBpc3N1ZXM6KioKLQotLSBQYXJzaW5nIGVycm9yIGZvciBhbm5v
bmF0ZWQgaW5uZXIgdHlwZXMgb2YgZ2VuZXJpYyB0eXBlcyBbXCM3MV0oaHR0cHM6Ly9naXRodWIu
Y29tL3czYy93ZWJpZGwyLmpzL2lzc3Vlcy83MSkKLQotKipNZXJnZWQgcHVsbCByZXF1ZXN0czoq
KgotCi0tIFN1cHBvcnQgVHlwZVdpdGhFeHRlbmRlZEF0dHJpYnV0ZXMgb24gZ2VuZXJpY3MgW1wj
NzVdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9wdWxsLzc1KSAoW3Nhc2NoYW5h
el0oaHR0cHM6Ly9naXRodWIuY29tL3Nhc2NoYW5heikpCi0KLSMjIFt2NC4wLjBdKGh0dHBzOi8v
Z2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy90cmVlL3Y0LjAuMCkgKDIwMTctMDYtMjcpCi1bRnVs
bCBDaGFuZ2Vsb2ddKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9jb21wYXJlL3Yz
LjAuMi4uLnY0LjAuMCkKLQotKipDbG9zZWQgaXNzdWVzOioqCi0KLS0gUmVtb3ZlIHNlcmlhbGl6
ZXItcmVsYXRlZCBwcm9kdWN0aW9ucyBbXCM3M10oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJp
ZGwyLmpzL2lzc3Vlcy83MykKLS0gUmVjb3JkcyBkb24ndCBzZWVtIHRvIGJlIHdvcmtpbmcgcmln
aHQgW1wjNzJdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9pc3N1ZXMvNzIpCi0t
IERvY3VtZW50IG5hbWVzcGFjZSBtZW1iZXIgb3V0cHV0IFtcIzU5XShodHRwczovL2dpdGh1Yi5j
b20vdzNjL3dlYmlkbDIuanMvaXNzdWVzLzU5KQotCi0qKk1lcmdlZCBwdWxsIHJlcXVlc3RzOioq
Ci0KLS0gQlJFQUtJTkcgQ0hBTkdFOiByZW1vdmUgc2VyaWFsaXplcnMgXChjbG9zZXMgXCM3M1wp
IFtcIzc0XShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvcHVsbC83NCkgKFttYXJj
b3NjYWNlcmVzXShodHRwczovL2dpdGh1Yi5jb20vbWFyY29zY2FjZXJlcykpCi0tIEFkZCBkb2N1
bWVudGF0aW9uIGZvciBuYW1lc3BhY2VzIFtcIzcwXShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dl
YmlkbDIuanMvcHVsbC83MCkgKFtzYXNjaGFuYXpdKGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNjaGFu
YXopKQotCi0jIyBbdjMuMC4yXShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvdHJl
ZS92My4wLjIpICgyMDE3LTA1LTI5KQotW0Z1bGwgQ2hhbmdlbG9nXShodHRwczovL2dpdGh1Yi5j
b20vdzNjL3dlYmlkbDIuanMvY29tcGFyZS92My4wLjEuLi52My4wLjIpCi0KLSoqQ2xvc2VkIGlz
c3VlczoqKgotCi0tIFdoaXRlc3BhY2UgaXNzdWVzIFtcIzY0XShodHRwczovL2dpdGh1Yi5jb20v
dzNjL3dlYmlkbDIuanMvaXNzdWVzLzY0KQotCi0qKk1lcmdlZCBwdWxsIHJlcXVlc3RzOioqCi0K
LS0gVGVzdCBmb3IgbGF0ZXN0IExUUy9zdGFibGUgbm9kZSB2ZXJzaW9ucyBbXCM2OV0oaHR0cHM6
Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL3B1bGwvNjkpIChbc2FzY2hhbmF6XShodHRwczov
L2dpdGh1Yi5jb20vc2FzY2hhbmF6KSkKLQotIyMgW3YzLjAuMV0oaHR0cHM6Ly9naXRodWIuY29t
L3czYy93ZWJpZGwyLmpzL3RyZWUvdjMuMC4xKSAoMjAxNy0wNS0xOCkKLVtGdWxsIENoYW5nZWxv
Z10oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL2NvbXBhcmUvdjIuNC4wLi4udjMu
MC4xKQotCi0qKkNsb3NlZCBpc3N1ZXM6KioKLQotLSBJcyBhcnJheSBzeW50YXggZGVhZD8gW1wj
NjZdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9pc3N1ZXMvNjYpCi0tIFJlbW92
ZSBleGNlcHRpb25zIHN1cHBvcnQgW1wjNjVdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRs
Mi5qcy9pc3N1ZXMvNjUpCi0KLSoqTWVyZ2VkIHB1bGwgcmVxdWVzdHM6KioKLQotLSBGaXggd2hp
dGVzcGFjZSBlcnJvciBvbiBwYXJzaW5nIGV4dGVuZGVkIGF0dHJpYnV0ZXMgW1wjNjhdKGh0dHBz
Oi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9wdWxsLzY4KSAoW3Nhc2NoYW5hel0oaHR0cHM6
Ly9naXRodWIuY29tL3Nhc2NoYW5heikpCi0tIFJlbW92ZSBkZXByZWNhdGVkIElETCBhcnJheXMg
YW5kIGV4Y2VwdGlvbnMgW1wjNjddKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9w
dWxsLzY3KSAoW3Nhc2NoYW5hel0oaHR0cHM6Ly9naXRodWIuY29tL3Nhc2NoYW5heikpCi0KLSMj
IFt2Mi40LjBdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy90cmVlL3YyLjQuMCkg
KDIwMTctMDQtMTIpCi1bRnVsbCBDaGFuZ2Vsb2ddKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2Vi
aWRsMi5qcy9jb21wYXJlL3YyLjEuMC4uLnYyLjQuMCkKLQotKipDbG9zZWQgaXNzdWVzOioqCi0K
LS0gQWRkIHN1cHBvcnQgZm9yIEFubm90YXRlZCBUeXBlcyBbXCM2MF0oaHR0cHM6Ly9naXRodWIu
Y29tL3czYy93ZWJpZGwyLmpzL2lzc3Vlcy82MCkKLS0gUXVlc3Rpb246IENvbnZlcnQgV2ViSURM
IC1cPiBKYXZhc2NyaXB0IFtcIzU2XShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMv
aXNzdWVzLzU2KQotLSBHZXQgUm9iaW4gdG8gZ2l2ZSB1cyBwdXNoIHBlcm1pc3Npb25zIG9uIG5w
bSBbXCM1NF0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL2lzc3Vlcy81NCkKLS0g
QWRkIHN1cHBvcnQgZm9yIHJlY29yZHMgW1wjNTNdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2Vi
aWRsMi5qcy9pc3N1ZXMvNTMpCi0tIG1vZHVsZSBub3Qgc3VwcG9ydGVkPyBbXCM1Ml0oaHR0cHM6
Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL2lzc3Vlcy81MikKLS0gQWRkIHN1cHBvcnQgZm9y
IG5hbWVzcGFjZXMgW1wjNTFdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9pc3N1
ZXMvNTEpCi0tIEV4cG9ydCBpcyBub3QgQU1EIGNvbXBhdGlibGUgW1wjNDhdKGh0dHBzOi8vZ2l0
aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9pc3N1ZXMvNDgpCi0tIENhbid0IHJlcHJlc2VudCBsYXJn
ZSBjb25zdGFudHMgW1wjMjFdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9pc3N1
ZXMvMjEpCi0KLSoqTWVyZ2VkIHB1bGwgcmVxdWVzdHM6KioKLQotLSBVcGRhdGUgd2ViaWRsMi5q
cyBbXCM2M10oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL3B1bGwvNjMpIChbdHFl
dG9dKGh0dHBzOi8vZ2l0aHViLmNvbS90cWV0bykpCi0tIFJlbW92ZSBzdXBwb3J0IGZvciBNYXBD
bGFzcyBcKG5vIGxvbmdlciB2YWxpZCBpbiBXZWJJRExcKSBbXCM2Ml0oaHR0cHM6Ly9naXRodWIu
Y29tL3czYy93ZWJpZGwyLmpzL3B1bGwvNjIpIChbZG9udGNhbGxtZWRvbV0oaHR0cHM6Ly9naXRo
dWIuY29tL2RvbnRjYWxsbWVkb20pKQotLSBBZGQgc3VwcG9ydCBmb3IgYW5ub3RhdGVkIHR5cGVz
IFtcIzYxXShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvcHVsbC82MSkgKFtkb250
Y2FsbG1lZG9tXShodHRwczovL2dpdGh1Yi5jb20vZG9udGNhbGxtZWRvbSkpCi0tIFN1cHBvcnQg
bmFtZXNwYWNlcyBbXCM1OF0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL3B1bGwv
NTgpIChbc2FzY2hhbmF6XShodHRwczovL2dpdGh1Yi5jb20vc2FzY2hhbmF6KSkKLS0gQWRkIHN1
cHBvcnQgZm9yIHJlY29yZHMgW1wjNTddKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5q
cy9wdWxsLzU3KSAoW1RpbW90aHlHdV0oaHR0cHM6Ly9naXRodWIuY29tL1RpbW90aHlHdSkpCi0t
IFJlZmFjdG9yIFtcIzUwXShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvcHVsbC81
MCkgKFttYXJjb3NjYWNlcmVzXShodHRwczovL2dpdGh1Yi5jb20vbWFyY29zY2FjZXJlcykpCi0t
IGZlYXRcKGxpYlwpOiBhZGQgQU1EIGV4cG9ydCBzdXBwb3J0IFwoY2xvc2VzIFwjNDhcKSBbXCM0
OV0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL3B1bGwvNDkpIChbbWFyY29zY2Fj
ZXJlc10oaHR0cHM6Ly9naXRodWIuY29tL21hcmNvc2NhY2VyZXMpKQotCi0jIyBbdjIuMS4wXSho
dHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvdHJlZS92Mi4xLjApICgyMDE2LTA4LTEy
KQotKipDbG9zZWQgaXNzdWVzOioqCi0KLS0gRXhjZXB0aW9uIHdoZW4gcGFyc2luZyB0ZXN0L3N5
bnRheC9pZGwvdHlwZWRlZi53aWRsIFtcIzQ2XShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlk
bDIuanMvaXNzdWVzLzQ2KQotLSBXcm9uZyBqc29uZGlmZnBhdGNoIGxvY2F0aW9uIFtcIzQyXSho
dHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvaXNzdWVzLzQyKQotLSAnbnBtIGluc3Rh
bGwnIGZhaWxzIG9uIGJ1aWxkaW5nIG1pY3JvdGltZSBbXCM0MF0oaHR0cHM6Ly9naXRodWIuY29t
L3czYy93ZWJpZGwyLmpzL2lzc3Vlcy80MCkKLS0gQ2FuJ3QgcmVwcmVzZW50IHVuaW9uIHR5cGVz
IGluIHR5cGVkZWZzIFtcIzM4XShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvaXNz
dWVzLzM4KQotLSB0b2tlbmlzZVwoXCkgYXNzdW1lcyBhIHNwZWNpZmljIHByb3BlcnR5IGVudW1l
cmF0aW9uIG9yZGVyIFtcIzI3XShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvaXNz
dWVzLzI3KQotLSBBZGQgc3VwcG9ydCBmb3IgaXRlcmFibGVcPFw+LCBtYXBsaWtlXDxcPiwgc2V0
bGlrZVw8XD4gZGVjbGFyYXRpb25zIFtcIzI0XShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlk
bDIuanMvaXNzdWVzLzI0KQotLSBXZWJJREwyIGZhaWxzIHRvIHBhcnNlIGBhdHRyaWJ1dGUgUHJv
bWlzZVw8RE9NU3RyaW5nXD5cW1xdIGJhemAgW1wjMTldKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mv
d2ViaWRsMi5qcy9pc3N1ZXMvMTkpCi0tIFN1cHBvcnQgZm9yIEV4dGVuZGVkQXR0cmlidXRlSWRl
bnRMaXN0IFwoY3VycmVudCBlZGl0b3IncyBkcmFmdFwpIFtcIzE4XShodHRwczovL2dpdGh1Yi5j
b20vdzNjL3dlYmlkbDIuanMvaXNzdWVzLzE4KQotLSBObyBMaWNlbnNpbmcgSW5mb3JtYXRpb24g
W1wjMTddKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9pc3N1ZXMvMTcpCi0tIGhv
dyB0byByZWdlbmVyYXRlIHczYyBpZGwgZmlsZXMgPyBbXCMxNF0oaHR0cHM6Ly9naXRodWIuY29t
L3czYy93ZWJpZGwyLmpzL2lzc3Vlcy8xNCkKLS0gV2hhdCBpcyBsaWIvd3JpdGVyLmpzIFtcIzEz
XShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvaXNzdWVzLzEzKQotLSBOdW1lcm91
cyB0ZXN0cyBhcmUgZmFpbGluZyBbXCM3XShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIu
anMvaXNzdWVzLzcpCi0tIEFkZCBzdXBwb3J0IGZvciBtaXNzaW5nIHR5cGVzIGluIFNlcnZpY2VX
b3JrZXIgW1wjNV0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL2lzc3Vlcy81KQot
LSBIb3cgY2FuIEkgcGFyc2UganVzdCBhIGZ1bmN0aW9uPyBbXCMzXShodHRwczovL2dpdGh1Yi5j
b20vdzNjL3dlYmlkbDIuanMvaXNzdWVzLzMpCi0tIFBhcnNlciB0aHJvd3Mgb24gbnVsbGFibGUg
YXJyYXkgb2YgbnVsbGFibGUgYXJyYXkgW1wjMl0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJp
ZGwyLmpzL2lzc3Vlcy8yKQotLSBQYXJzZXIgdGhyb3dzIG9uIG51bGxhYmxlIGFycmF5IG9mIGFu
eSBbXCMxXShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvaXNzdWVzLzEpCi0KLSoq
TWVyZ2VkIHB1bGwgcmVxdWVzdHM6KioKLQotLSBGaXggImRlZmF1bHQiOiB1bmRlZmluZWQgW1wj
NDddKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9wdWxsLzQ3KSAoW21rd3R5c10o
aHR0cHM6Ly9naXRodWIuY29tL21rd3R5cykpCi0tIFJlcGxhY2UgZXhwZWN0LmpzIHdpdGggZXhw
Y3QgW1wjNDVdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9wdWxsLzQ1KSAoW2hh
bHRvbl0oaHR0cHM6Ly9naXRodWIuY29tL2hhbHRvbikpCi0tIENvcnJlY3QganNvbmRpZmZwYXRj
aCBsb2NhdGlvbi4gW1wjNDRdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9wdWxs
LzQ0KSAoW2hhbHRvbl0oaHR0cHM6Ly9naXRodWIuY29tL2hhbHRvbikpCi0tIEJ1bXAgbWljcm90
aW1lIHRvIDIuMS4xIFtcIzQzXShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvcHVs
bC80MykgKFtoYWx0b25dKGh0dHBzOi8vZ2l0aHViLmNvbS9oYWx0b24pKQotLSBFeHBhbmQgd3Jp
dGVyIHN1cHBvcnQgW1wjMzldKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9wdWxs
LzM5KSAoW21hcmthbmRydXNdKGh0dHBzOi8vZ2l0aHViLmNvbS9tYXJrYW5kcnVzKSkKLS0gQWNj
ZXB0IHdpZGVyIFwoYnV0IHN0aWxsIGluY29tcGxldGVcKSBzZXQgb2YgYWxsb3dlZCBzeW50YXgg
Zm9yIGV4dGVuZGVkIGF0dHJpYnV0ZXMgW1wjMzddKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2Vi
aWRsMi5qcy9wdWxsLzM3KSAoW21sb2dhbl0oaHR0cHM6Ly9naXRodWIuY29tL21sb2dhbikpCi0t
IEFkZCB0ZXN0IGZvciBjYWxsYmFjayB3aXRoIG11bHRpcGxlIGFyZ3VtZW50cy4gW1wjMzZdKGh0
dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9wdWxsLzM2KSAoW3RvYmllXShodHRwczov
L2dpdGh1Yi5jb20vdG9iaWUpKQotLSBJdGVyYWJsZXMgW1wjMzRdKGh0dHBzOi8vZ2l0aHViLmNv
bS93M2Mvd2ViaWRsMi5qcy9wdWxsLzM0KSAoW21vdGl6ODhdKGh0dHBzOi8vZ2l0aHViLmNvbS9t
b3Rpejg4KSkKLS0gQWxsb3cgdHJhaWxpbmcgY29tbWEgaW4gZW51bSB2YWx1ZSBsaXN0cywgcGVy
IHNwZWMgW1wjMzNdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9wdWxsLzMzKSAo
W21vdGl6ODhdKGh0dHBzOi8vZ2l0aHViLmNvbS9tb3Rpejg4KSkKLS0gQWxsb3cgdHlwZWRlZnMg
d2l0aGluIGludGVyZmFjZXMgXChiZWhpbmQgYW4gb3B0LWluIGZsYWdcKSBbXCMzMl0oaHR0cHM6
Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL3B1bGwvMzIpIChbbW90aXo4OF0oaHR0cHM6Ly9n
aXRodWIuY29tL21vdGl6ODgpKQotLSBJbiBkcmFmdCBbXCMzMV0oaHR0cHM6Ly9naXRodWIuY29t
L3czYy93ZWJpZGwyLmpzL3B1bGwvMzEpIChbb3RocmVlXShodHRwczovL2dpdGh1Yi5jb20vb3Ro
cmVlKSkKLS0gQWRkIHN1cHBvcnQgZm9yIGV4dGVuZGVkIGF0dHJpYnV0ZXMgaWRlbnRpZmllciBs
aXN0cyBbXCMyOV0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL3B1bGwvMjkpIChb
dG9iaWVdKGh0dHBzOi8vZ2l0aHViLmNvbS90b2JpZSkpCi0tIE1ha2UgYGF0dHJpYnV0ZSBQcm9t
aXNlXDxUXD5cW1xdIGF0dHI7YCB3b3JrLiBbXCMyNl0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93
ZWJpZGwyLmpzL3B1bGwvMjYpIChbanlhc3NraW5dKGh0dHBzOi8vZ2l0aHViLmNvbS9qeWFzc2tp
bikpCi0tIFBhcnNlIHJlcXVpcmVkIGRpY3Rpb25hcnkgZmllbGRzLiBbXCMyNV0oaHR0cHM6Ly9n
aXRodWIuY29tL3czYy93ZWJpZGwyLmpzL3B1bGwvMjUpIChbanlhc3NraW5dKGh0dHBzOi8vZ2l0
aHViLmNvbS9qeWFzc2tpbikpCi0tIERlZmluZSB0aGUgV2ViSURMMiBwcm9wZXJ0eSBvbiBzZWxm
IHJhdGhlciB0aGFuIHdpbmRvdy4gW1wjMjNdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRs
Mi5qcy9wdWxsLzIzKSAoW01zMmdlcl0oaHR0cHM6Ly9naXRodWIuY29tL01zMmdlcikpCi0tIFRl
YWNoIFdlYklETDIgdG8gcGFyc2UgXFtcXSBkZWZhdWx0IHZhbHVlcy4gW1wjMjJdKGh0dHBzOi8v
Z2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9wdWxsLzIyKSAoW2p5YXNza2luXShodHRwczovL2dp
dGh1Yi5jb20vanlhc3NraW4pKQotLSBTdXBwb3J0IElEIGxpc3QgaW4gZXh0ZW5kZWQgYXR0cmli
dXRlcyBbXCMyMF0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL3B1bGwvMjApIChb
b3RocmVlXShodHRwczovL2dpdGh1Yi5jb20vb3RocmVlKSkKLS0gTWFrZSBzdXJlIHRoYXQgYHNl
cXVlbmNlYCBwcm9wZXJ0eSBvZiBpZGwgdHlwZXMgaXMgc2V0IHRvIGZhbHNlIGlmIHRoZSB0eXBl
IGlzIGFjdHVhbGx5IGBzZXF1ZW5jZWAuIFtcIzE2XShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dl
YmlkbDIuanMvcHVsbC8xNikgKFt0b2JpZV0oaHR0cHM6Ly9naXRodWIuY29tL3RvYmllKSkKLS0g
UGFyYW1ldHJpemVkIFtcIzE1XShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvcHVs
bC8xNSkgKFt0b2JpZV0oaHR0cHM6Ly9naXRodWIuY29tL3RvYmllKSkKLS0gQWRkIHByb21pc2Ug
c3VwcG9ydCBbXCMxMl0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL3B1bGwvMTIp
IChbdG9iaWVdKGh0dHBzOi8vZ2l0aHViLmNvbS90b2JpZSkpCi0tIFJlbW92ZSBicm9rZW4gY292
ZXJhZ2Ugc3VwcG9ydCBmcm9tIHRyYXZpcyBmb3Igbm93LiBbXCMxMV0oaHR0cHM6Ly9naXRodWIu
Y29tL3czYy93ZWJpZGwyLmpzL3B1bGwvMTEpIChbdG9iaWVdKGh0dHBzOi8vZ2l0aHViLmNvbS90
b2JpZSkpCi0tIEFkZCBzdXBwb3J0IGZvciBcW01hcENsYXNzXCh0eXBlLCB0eXBlXClcXS4gW1wj
MTBdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9wdWxsLzEwKSAoW3RvYmllXSho
dHRwczovL2dpdGh1Yi5jb20vdG9iaWUpKQotLSBJbmNvcnBvcmF0ZSB0ZXN0cyBmcm9tIHdpZGxw
cm9jXFsxXF0gYW5kIHJlbW92ZSBkZXBlbmRlbmN5IG9uIHNhaWQgcHJvamVjdC4gW1wjOV0oaHR0
cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL3B1bGwvOSkgKFt0b2JpZV0oaHR0cHM6Ly9n
aXRodWIuY29tL3RvYmllKSkKLS0gUkVBRE1FIGluY29ycmVjdGx5IHJlY29tbWVuZGVkIHVwZGF0
aW5nIHRoZSB3aWRscHJvYyBzdWJtb2R1bGUuIFtcIzhdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mv
d2ViaWRsMi5qcy9wdWxsLzgpIChbdG9iaWVdKGh0dHBzOi8vZ2l0aHViLmNvbS90b2JpZSkpCi0t
IEZpeCBidWcgd2hlcmUgaW5zdHJ1bWVudGVkIHZlcnNpb24gb2Ygd2ViaWRsMiB3YXMgbG9hZGVk
LiBbXCM2XShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvcHVsbC82KSAoW3RvYmll
XShodHRwczovL2dpdGh1Yi5jb20vdG9iaWUpKQotLSBVc2UgaHR0cHM6Ly8gaW5zdGVhZCBvZiBn
aXQ6Ly8gW1wjNF0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL3B1bGwvNCkgKFtN
YW5pc2hlYXJ0aF0oaHR0cHM6Ly9naXRodWIuY29tL01hbmlzaGVhcnRoKSkKLQotCi0KLVwqICpU
aGlzIENoYW5nZSBMb2cgd2FzIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGJ5IFtnaXRodWJfY2hh
bmdlbG9nX2dlbmVyYXRvcl0oaHR0cHM6Ly9naXRodWIuY29tL3NreXdpbmRlci9HaXRodWItQ2hh
bmdlbG9nLUdlbmVyYXRvcikqClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi9MSUNFTlNFIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi9MSUNFTlNFCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCBmZDIxZDQzOWIwOS4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi9MSUNFTlNFCisrKyAvZGV2
L251bGwKQEAgLTEsMjEgKzAsMCBAQAotVGhlIE1JVCBMaWNlbnNlIChNSVQpCi0KLUNvcHlyaWdo
dCAoYykgMjAxNCBSb2JpbiBCZXJqb24KLQotUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwg
ZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weQotb2YgdGhpcyBz
b2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJl
IiksIHRvIGRlYWwKLWluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRp
bmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMKLXRvIHVzZSwgY29weSwgbW9kaWZ5LCBt
ZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwKLWNvcGll
cyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0
d2FyZSBpcwotZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9uczoKLQotVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lv
biBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4gYWxsCi1jb3BpZXMgb3Igc3Vic3RhbnRpYWwg
cG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLgotCi1USEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFT
IElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgotSU1QTElFRCwg
SU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFksCi1GSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VN
RU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUKLUFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMg
QkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKLUxJQUJJTElUWSwgV0hF
VEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5H
IEZST00sCi1PVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUg
VVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRQotU09GVFdBUkUuCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L1JFQURNRS5tZCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvUkVBRE1FLm1kCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCA5YThmM2Y4ZTljMS4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi9SRUFETUUubWQKKysrIC9kZXYv
bnVsbApAQCAtMSw2MjkgKzAsMCBAQAotCi0jIFdlYklETCAyCi0KLVshW05QTSB2ZXJzaW9uXSho
dHRwczovL2JhZGdlLmZ1cnkuaW8vanMvd2ViaWRsMi5zdmcpXShodHRwOi8vYmFkZ2UuZnVyeS5p
by9qcy93ZWJpZGwyKQotCi0jIyBQdXJwb3NlCi0KLVRoaXMgaXMgYSBwYXJzZXIgZm9yIHRoZSBb
V2ViSURMXShodHRwOi8vZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJJREwvKSBsYW5ndWFnZS4g
SWYKLXlvdSBkb24ndCBrbm93IHdoYXQgdGhhdCBpcywgdGhlbiB5b3UgcHJvYmFibHkgZG9uJ3Qg
bmVlZCBpdC4gSXQgaXMgbWVhbnQgdG8gYmUgdXNlZAotYm90aCBpbiBOb2RlIGFuZCBpbiB0aGUg
YnJvd3NlciAodGhlIHBhcnNlciBsaWtlbHkgd29ya3MgaW4gb3RoZXIgSlMgZW52aXJvbm1lbnRz
LCBidXQKLW5vdCB0aGUgdGVzdCBzdWl0ZSkuCi0KLSMjIEluc3RhbGxhdGlvbgotCi1KdXN0IHRo
ZSB1c3VhbC4gRm9yIE5vZGU6Ci0KLWBgYEJhc2gKLW5wbSBpbnN0YWxsIHdlYmlkbDIKLWBgYAot
Ci1JbiB0aGUgYnJvd3NlcjoKLQotYGBgSFRNTAotPHNjcmlwdCBzcmM9J3dlYmlkbDIuanMnPjwv
c2NyaXB0PgotYGBgCi0KLSMjIERvY3VtZW50YXRpb24KLQotVGhlIEFQSSB0byBXZWJJREwyIGlz
IHRyaXZpYWw6IHlvdSBwYXJzZSBhIHN0cmluZyBvZiBXZWJJREwgYW5kIGl0IHJldHVybnMgYSBz
eW50YXggdHJlZS4KLQotIyMjIFBhcnNpbmcKLQotSW4gTm9kZSwgdGhhdCBoYXBwZW5zIHdpdGg6
Ci0KLWBgYEpTCi12YXIgV2ViSURMMiA9IHJlcXVpcmUoIndlYmlkbDIiKTsKLXZhciB0cmVlID0g
V2ViSURMMi5wYXJzZSgic3RyaW5nIG9mIFdlYklETCIpOwotYGBgCi0KLUluIHRoZSBicm93c2Vy
OgotYGBgSFRNTAotPHNjcmlwdCBzcmM9J3dlYmlkbDIuanMnPjwvc2NyaXB0PgotPHNjcmlwdD4K
LSAgdmFyIHRyZWUgPSBXZWJJREwyLnBhcnNlKCJzdHJpbmcgb2YgV2ViSURMIik7Ci08L3Njcmlw
dD4KLWBgYAotCi0jIyMgRXJyb3JzCi0KLVdoZW4gdGhlcmUgaXMgYSBzeW50YXggZXJyb3IgaW4g
dGhlIFdlYklETCwgaXQgdGhyb3dzIGFuIGV4Y2VwdGlvbiBvYmplY3Qgd2l0aCB0aGUgZm9sbG93
aW5nCi1wcm9wZXJ0aWVzOgotCi0qIGBtZXNzYWdlYDogdGhlIGVycm9yIG1lc3NhZ2UKLSogYGxp
bmVgOiB0aGUgbGluZSBhdCB3aGljaCB0aGUgZXJyb3Igb2NjdXJyZWQuCi0qIGBpbnB1dGA6IGEg
c2hvcnQgcGVlayBhdCB0aGUgdGV4dCBhdCB0aGUgcG9pbnQgd2hlcmUgdGhlIGVycm9yIGhhcHBl
bmVkCi0qIGB0b2tlbnNgOiB0aGUgZml2ZSB0b2tlbnMgYXQgdGhlIHBvaW50IG9mIGVycm9yLCBh
cyB1bmRlcnN0b29kIGJ5IHRoZSB0b2tlbmlzZXIKLSAgKHRoaXMgaXMgdGhlIHNhbWUgY29udGVu
dCBhcyBgaW5wdXRgLCBidXQgc2VlbiBmcm9tIHRoZSB0b2tlbmlzZXIncyBwb2ludCBvZiB2aWV3
KQotCi1UaGUgZXhjZXB0aW9uIGFsc28gaGFzIGEgYHRvU3RyaW5nKClgIG1ldGhvZCB0aGF0IGhv
cGVmdWxseSBzaG91bGQgcHJvZHVjZSBhIGRlY2VudAotZXJyb3IgbWVzc2FnZS4KLQotIyMjIEFT
VCAoQWJzdHJhY3QgU3ludGF4IFRyZWUpCi0KLVRoZSBgcGFyc2UoKWAgbWV0aG9kIHJldHVybnMg
YSB0cmVlIG9iamVjdCByZXByZXNlbnRpbmcgdGhlIHBhcnNlIHRyZWUgb2YgdGhlIElETC4KLUNv
bW1lbnQgYW5kIHdoaXRlIHNwYWNlIGFyZSBub3QgcmVwcmVzZW50ZWQgaW4gdGhlIEFTVC4KLQot
VGhlIHJvb3Qgb2YgdGhpcyBvYmplY3QgaXMgYWx3YXlzIGFuIGFycmF5IG9mIGRlZmluaXRpb25z
ICh3aGVyZSBkZWZpbml0aW9ucyBhcmUKLWFueSBvZiBpbnRlcmZhY2VzLCBkaWN0aW9uYXJpZXMs
IGNhbGxiYWNrcywgZXRjLiDigJQgYW55dGhpbmcgdGhhdCBjYW4gb2NjdXIgYXQgdGhlIHJvb3QK
LW9mIHRoZSBJREwpLgotCi0jIyMgSURMIFR5cGUKLQotVGhpcyBzdHJ1Y3R1cmUgaXMgdXNlZCBp
biBtYW55IG90aGVyIHBsYWNlcyAob3BlcmF0aW9uIHJldHVybiB0eXBlcywgYXJndW1lbnQgdHlw
ZXMsIGV0Yy4pLgotSXQgY2FwdHVyZXMgYSBXZWJJREwgdHlwZSB3aXRoIGEgbnVtYmVyIG9mIG9w
dGlvbnMuIFR5cGVzIGxvb2sgbGlrZSB0aGlzIGFuZCBhcmUgdHlwaWNhbGx5Ci1hdHRhY2hlZCB0
byBhIGZpZWxkIGNhbGxlZCBgaWRsVHlwZWA6Ci0KLWBgYEpTCi17Ci0gICJ0eXBlIjogImF0dHJp
YnV0ZS10eXBlIiwKLSAgImdlbmVyaWMiOiBudWxsLAotICAiaWRsVHlwZSI6ICJ1bnNpZ25lZCBz
aG9ydCIsCi0gICJudWxsYWJsZSI6IGZhbHNlLAotICAidW5pb24iOiBmYWxzZSwKLSAgImV4dEF0
dHJzIjogWy4uLl0KLX0KLWBgYAotCi1XaGVyZSB0aGUgZmllbGRzIGFyZSBhcyBmb2xsb3dzOgot
Ci0qIGB0eXBlYDogU3RyaW5nIGluZGljYXRpbmcgd2hlcmUgdGhpcyB0eXBlIGlzIHVzZWQuIENh
biBiZSBgbnVsbGAgaWYgbm90IGFwcGxpY2FibGUuCi0qIGBnZW5lcmljYDogU3RyaW5nIGluZGlj
YXRpbmcgdGhlIGdlbmVyaWMgdHlwZSAoZS5nLiAiUHJvbWlzZSIsICJzZXF1ZW5jZSIpLiBgbnVs
bGAKLSAgb3RoZXJ3aXNlLgotKiBgaWRsVHlwZWA6IENhbiBiZSBkaWZmZXJlbnQgdGhpbmdzIGRl
cGVuZGluZyBvbiBjb250ZXh0LiBJbiBtb3N0IGNhc2VzLCB0aGlzIHdpbGwganVzdAotICBiZSBh
IHN0cmluZyB3aXRoIHRoZSB0eXBlIG5hbWUuIEJ1dCB0aGUgcmVhc29uIHRoaXMgZmllbGQgaXNu
J3QgY2FsbGVkICJ0eXBlTmFtZSIgaXMKLSAgYmVjYXVzZSBpdCBjYW4gdGFrZSBtb3JlIGNvbXBs
ZXggdmFsdWVzLiBJZiB0aGUgdHlwZSBpcyBhIHVuaW9uLCB0aGVuIHRoaXMgY29udGFpbnMgYW4K
LSAgYXJyYXkgb2YgdGhlIHR5cGVzIGl0IHVuaXRlcy4gSWYgaXQgaXMgYSBnZW5lcmljIHR5cGUs
IGl0IGNvbnRhaW5zIHRoZSBJREwgdHlwZQotICBkZXNjcmlwdGlvbiBmb3IgdGhlIHR5cGUgaW4g
dGhlIHNlcXVlbmNlLCB0aGUgZXZlbnR1YWwgdmFsdWUgb2YgdGhlIHByb21pc2UsIGV0Yy4KLSog
YG51bGxhYmxlYDogQm9vbGVhbiBpbmRpY2F0aW5nIHdoZXRoZXIgdGhpcyBpcyBudWxsYWJsZSBv
ciBub3QuCi0qIGB1bmlvbmA6IEJvb2xlYW4gaW5kaWNhdGluZyB3aGV0aGVyIHRoaXMgaXMgYSB1
bmlvbiB0eXBlIG9yIG5vdC4KLSogYGV4dEF0dHJzYDogQSBsaXN0IG9mIFtleHRlbmRlZCBhdHRy
aWJ1dGVzXSgjZXh0ZW5kZWQtYXR0cmlidXRlcykuCi0KLSMjIyBJbnRlcmZhY2UKLQotSW50ZXJm
YWNlcyBsb29rIGxpa2UgdGhpczoKLQotYGBgSlMKLXsKLSAgInR5cGUiOiAiaW50ZXJmYWNlIiwK
LSAgIm5hbWUiOiAiQW5pbWFsIiwKLSAgInBhcnRpYWwiOiBmYWxzZSwKLSAgIm1lbWJlcnMiOiBb
Li4uXSwKLSAgImluaGVyaXRhbmNlIjogbnVsbCwKLSAgImV4dEF0dHJzIjogWy4uLl0KLX0sIHsK
LSAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgIm5hbWUiOiAiSHVtYW4iLAotICAicGFydGlhbCI6
IGZhbHNlLAotICAibWVtYmVycyI6IFsuLi5dLAotICAiaW5oZXJpdGFuY2UiOiAiQW5pbWFsIiwK
LSAgImV4dEF0dHJzIjogWy4uLl0KLX0KLWBgYAotCi1UaGUgZmllbGRzIGFyZSBhcyBmb2xsb3dz
OgotCi0qIGB0eXBlYDogQWx3YXlzICJpbnRlcmZhY2UiLgotKiBgbmFtZWA6IFRoZSBuYW1lIG9m
IHRoZSBpbnRlcmZhY2UuCi0qIGBwYXJ0aWFsYDogQSBib29sZWFuIGluZGljYXRpbmcgd2hldGhl
ciBpdCdzIGEgcGFydGlhbCBpbnRlcmZhY2UuCi0qIGBtZW1iZXJzYDogQW4gYXJyYXkgb2YgaW50
ZXJmYWNlIG1lbWJlcnMgKGF0dHJpYnV0ZXMsIG9wZXJhdGlvbnMsIGV0Yy4pLiBFbXB0eSBpZiB0
aGVyZSBhcmUgbm9uZS4KLSogYGluaGVyaXRhbmNlYDogQSBzdHJpbmcgZ2l2aW5nIHRoZSBuYW1l
IG9mIGFuIGludGVyZmFjZSB0aGlzIG9uZSBpbmhlcml0cyBmcm9tLCBgbnVsbGAgb3RoZXJ3aXNl
LgotICAqKk5PVEUqKjogSW4gdjEgdGhpcyB3YXMgYW4gYXJyYXksIGJ1dCBtdWx0aXBsZSBpbmhl
cml0YW5jZSBpcyBubyBsb25nZXIgc3VwcG9ydGVkIHNvIHRoaXMgZGlkbid0IG1ha2UKLSAgc2Vu
c2UuCi0qIGBleHRBdHRyc2A6IEEgbGlzdCBvZiBbZXh0ZW5kZWQgYXR0cmlidXRlc10oI2V4dGVu
ZGVkLWF0dHJpYnV0ZXMpLgotCi0jIyMgSW50ZXJmYWNlIG1peGlucwotCi1JbnRlcmZhY2VzIG1p
eGlucyBsb29rIGxpa2UgdGhpczoKLQotYGBgSlMKLXsKLSAgInR5cGUiOiAiaW50ZXJmYWNlIG1p
eGluIiwKLSAgIm5hbWUiOiAiQW5pbWFsIiwKLSAgInBhcnRpYWwiOiBmYWxzZSwKLSAgIm1lbWJl
cnMiOiBbLi4uXSwKLSAgImV4dEF0dHJzIjogWy4uLl0KLX0sIHsKLSAgInR5cGUiOiAiaW50ZXJm
YWNlIG1peGluIiwKLSAgIm5hbWUiOiAiSHVtYW4iLAotICAicGFydGlhbCI6IGZhbHNlLAotICAi
bWVtYmVycyI6IFsuLi5dLAotICAiZXh0QXR0cnMiOiBbLi4uXQotfQotYGBgCi0KLVRoZSBmaWVs
ZHMgYXJlIGFzIGZvbGxvd3M6Ci0KLSogYHR5cGVgOiBBbHdheXMgImludGVyZmFjZSBtaXhpbiIu
Ci0qIGBuYW1lYDogVGhlIG5hbWUgb2YgdGhlIGludGVyZmFjZSBtaXhpbi4KLSogYHBhcnRpYWxg
OiBBIGJvb2xlYW4gaW5kaWNhdGluZyB3aGV0aGVyIGl0J3MgYSBwYXJ0aWFsIGludGVyZmFjZSBt
aXhpbi4KLSogYG1lbWJlcnNgOiBBbiBhcnJheSBvZiBpbnRlcmZhY2UgbWVtYmVycyAoYXR0cmli
dXRlcywgb3BlcmF0aW9ucywgZXRjLikuIEVtcHR5IGlmIHRoZXJlIGFyZSBub25lLgotKiBgZXh0
QXR0cnNgOiBBIGxpc3Qgb2YgW2V4dGVuZGVkIGF0dHJpYnV0ZXNdKCNleHRlbmRlZC1hdHRyaWJ1
dGVzKS4KLQotIyMjIE5hbWVzcGFjZQotCi1OYW1lc3BhY2VzIGxvb2sgbGlrZSB0aGlzOgotCi1g
YGBKUwotewotICAidHlwZSI6ICJuYW1lc3BhY2UiLAotICAibmFtZSI6ICJDb25zb2xlIiwKLSAg
InBhcnRpYWwiOiBmYWxzZSwKLSAgIm1lbWJlcnMiOiBbLi4uXSwKLSAgImV4dEF0dHJzIjogWy4u
Ll0KLX0KLWBgYAotCi1UaGUgZmllbGRzIGFyZSBhcyBmb2xsb3dzOgotCi0qIGB0eXBlYDogQWx3
YXlzICJuYW1lc3BhY2UiLgotKiBgbmFtZWA6IFRoZSBuYW1lIG9mIHRoZSBuYW1lc3BhY2UuCi0q
IGBwYXJ0aWFsYDogQSBib29sZWFuIGluZGljYXRpbmcgd2hldGhlciBpdCdzIGEgcGFydGlhbCBu
YW1lc3BhY2UuCi0qIGBtZW1iZXJzYDogQW4gYXJyYXkgb2YgbmFtZXNwYWNlIG1lbWJlcnMgKGF0
dHJpYnV0ZXMgYW5kIG9wZXJhdGlvbnMpLiBFbXB0eSBpZiB0aGVyZSBhcmUgbm9uZS4KLSogYGV4
dEF0dHJzYDogQSBsaXN0IG9mIFtleHRlbmRlZCBhdHRyaWJ1dGVzXSgjZXh0ZW5kZWQtYXR0cmli
dXRlcykuCi0KLSMjIyBDYWxsYmFjayBJbnRlcmZhY2VzCi0KLVRoZXNlIGFyZSBjYXB0dXJlZCBi
eSB0aGUgc2FtZSBzdHJ1Y3R1cmUgYXMgW0ludGVyZmFjZXNdKCNpbnRlcmZhY2UpIGV4Y2VwdCB0
aGF0Ci10aGVpciBgdHlwZWAgZmllbGQgaXMgImNhbGxiYWNrIGludGVyZmFjZSIuCi0KLSMjIyBD
YWxsYmFjawotCi1BIGNhbGxiYWNrIGxvb2tzIGxpa2UgdGhpczoKLQotYGBgSlMKLXsKLSAgInR5
cGUiOiAiY2FsbGJhY2siLAotICAibmFtZSI6ICJBc3luY09wZXJhdGlvbkNhbGxiYWNrIiwKLSAg
ImlkbFR5cGUiOiB7Ci0gICAgInR5cGUiOiAicmV0dXJuLXR5cGUiLAotICAgICJzZXF1ZW5jZSI6
IGZhbHNlLAotICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAg
ICAidW5pb24iOiBmYWxzZSwKLSAgICAiaWRsVHlwZSI6ICJ2b2lkIiwKLSAgICAiZXh0QXR0cnMi
OiBbXQotICB9LAotICAiYXJndW1lbnRzIjogWy4uLl0sCi0gICJleHRBdHRycyI6IFtdCi19Ci1g
YGAKLQotVGhlIGZpZWxkcyBhcmUgYXMgZm9sbG93czoKLQotKiBgdHlwZWA6IEFsd2F5cyAiY2Fs
bGJhY2siLgotKiBgbmFtZWA6IFRoZSBuYW1lIG9mIHRoZSBjYWxsYmFjay4KLSogYGlkbFR5cGVg
OiBBbiBbSURMIFR5cGVdKCNpZGwtdHlwZSkgZGVzY3JpYmluZyB3aGF0IHRoZSBjYWxsYmFjayBy
ZXR1cm5zLgotKiBgYXJndW1lbnRzYDogQSBsaXN0IG9mIFthcmd1bWVudHNdKCNhcmd1bWVudHMp
LCBhcyBpbiBmdW5jdGlvbiBwYXJhbXRlcnMuCi0qIGBleHRBdHRyc2A6IEEgbGlzdCBvZiBbZXh0
ZW5kZWQgYXR0cmlidXRlc10oI2V4dGVuZGVkLWF0dHJpYnV0ZXMpLgotCi0jIyMgRGljdGlvbmFy
eQotCi1BIGRpY3Rpb25hcnkgbG9va3MgbGlrZSB0aGlzOgotCi1gYGBKUwotewotICAidHlwZSI6
ICJkaWN0aW9uYXJ5IiwKLSAgIm5hbWUiOiAiUGFpbnRPcHRpb25zIiwKLSAgInBhcnRpYWwiOiBm
YWxzZSwKLSAgIm1lbWJlcnMiOiBbewotICAgICJ0eXBlIjogImZpZWxkIiwKLSAgICAibmFtZSI6
ICJmaWxsUGF0dGVybiIsCi0gICAgInJlcXVpcmVkIjogZmFsc2UsCi0gICAgImlkbFR5cGUiOiB7
Ci0gICAgICAidHlwZSI6ICJkaWN0aW9uYXJ5LXR5cGUiLAotICAgICAgInNlcXVlbmNlIjogZmFs
c2UsCi0gICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAibnVsbGFibGUiOiB0cnVlLAotICAg
ICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAiaWRsVHlwZSI6ICJET01TdHJpbmciLAotICAgICAg
ImV4dEF0dHJzIjogWy4uLl0KLSAgICB9LAotICAgICJleHRBdHRycyI6IFtdLAotICAgICJkZWZh
dWx0IjogewotICAgICAgInR5cGUiOiAic3RyaW5nIiwKLSAgICAgICJ2YWx1ZSI6ICJibGFjayIK
LSAgICB9Ci0gIH1dLAotICAiaW5oZXJpdGFuY2UiOiBudWxsLAotICAiZXh0QXR0cnMiOiBbXQot
fQotYGBgCi0KLVRoZSBmaWVsZHMgYXJlIGFzIGZvbGxvd3M6Ci0KLSogYHR5cGVgOiBBbHdheXMg
ImRpY3Rpb25hcnkiLgotKiBgbmFtZWA6IFRoZSBkaWN0aW9uYXJ5IG5hbWUuCi0qIGBwYXJ0aWFs
YDogQm9vbGVhbiBpbmRpY2F0aW5nIHdoZXRoZXIgaXQncyBhIHBhcnRpYWwgZGljdGlvbmFyeS4K
LSogYG1lbWJlcnNgOiBBbiBhcnJheSBvZiBtZW1iZXJzIChzZWUgYmVsb3cpLgotKiBgaW5oZXJp
dGFuY2VgOiBBIHN0cmluZyBpbmRpY2F0aW5nIHdoaWNoIGRpY3Rpb25hcnkgaXMgYmVpbmcgaW5o
ZXJpdGVkIGZyb20sIGBudWxsYCBvdGhlcndpc2UuCi0qIGBleHRBdHRyc2A6IEEgbGlzdCBvZiBb
ZXh0ZW5kZWQgYXR0cmlidXRlc10oI2V4dGVuZGVkLWF0dHJpYnV0ZXMpLgotCi1BbGwgdGhlIG1l
bWJlcnMgYXJlIGZpZWxkcyBhcyBmb2xsb3dzOgotCi0qIGB0eXBlYDogQWx3YXlzICJmaWVsZCIu
Ci0qIGBuYW1lYDogVGhlIG5hbWUgb2YgdGhlIGZpZWxkLgotKiBgcmVxdWlyZWRgOiBCb29sZWFu
IGluZGljYXRpbmcgd2hldGhlciB0aGlzIGlzIGEgW3JlcXVpcmVkXShodHRwczovL2hleWNhbS5n
aXRodWIuaW8vd2ViaWRsLyNyZXF1aXJlZC1kaWN0aW9uYXJ5LW1lbWJlcikgZmllbGQuCi0qIGBp
ZGxUeXBlYDogQW4gW0lETCBUeXBlXSgjaWRsLXR5cGUpIGRlc2NyaWJpbmcgd2hhdCBmaWVsZCdz
IHR5cGUuCi0qIGBleHRBdHRyc2A6IEEgbGlzdCBvZiBbZXh0ZW5kZWQgYXR0cmlidXRlc10oI2V4
dGVuZGVkLWF0dHJpYnV0ZXMpLgotKiBgZGVmYXVsdGA6IEEgW2RlZmF1bHQgdmFsdWVdKCNkZWZh
dWx0LWFuZC1jb25zdC12YWx1ZXMpLCBhYnNlbnQgaWYgdGhlcmUgaXMgbm9uZS4KLQotIyMjIEVu
dW0KLQotQW4gZW51bSBsb29rcyBsaWtlIHRoaXM6Ci0KLWBgYEpTCi17Ci0gICJ0eXBlIjogImVu
dW0iLAotICAibmFtZSI6ICJNZWFsVHlwZSIsCi0gICJ2YWx1ZXMiOiBbCi0gICAgeyAidHlwZSI6
ICJzdHJpbmciLCAidmFsdWUiOiAicmljZSIgfSwKLSAgICB7ICJ0eXBlIjogInN0cmluZyIsICJ2
YWx1ZSI6ICJub29kbGVzIiB9LAotICAgIHsgInR5cGUiOiAic3RyaW5nIiwgInZhbHVlIjogIm90
aGVyIiB9Ci0gIF0sCi0gICJleHRBdHRycyI6IFtdCi19Ci1gYGAKLQotVGhlIGZpZWxkcyBhcmUg
YXMgZm9sbG93czoKLQotKiBgdHlwZWA6IEFsd2F5cyAiZW51bSIuCi0qIGBuYW1lYDogVGhlIGVu
dW0ncyBuYW1lLgotKiBgdmFsdWVzYDogQW4gYXJyYXkgb2YgdmFsdWVzLgotKiBgZXh0QXR0cnNg
OiBBIGxpc3Qgb2YgW2V4dGVuZGVkIGF0dHJpYnV0ZXNdKCNleHRlbmRlZC1hdHRyaWJ1dGVzKS4K
LQotIyMjIFR5cGVkZWYKLQotQSB0eXBlZGVmIGxvb2tzIGxpa2UgdGhpczoKLQotYGBgSlMKLXsK
LSAgInR5cGUiOiAidHlwZWRlZiIsCi0gICJpZGxUeXBlIjogewotICAgICJ0eXBlIjogInR5cGVk
ZWYtdHlwZSIsCi0gICAgInNlcXVlbmNlIjogdHJ1ZSwKLSAgICAiZ2VuZXJpYyI6ICJzZXF1ZW5j
ZSIsCi0gICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgInVuaW9uIjogZmFsc2UsCi0gICAgImlk
bFR5cGUiOiB7Ci0gICAgICAidHlwZSI6ICJ0eXBlZGVmLXR5cGUiLAotICAgICAgInNlcXVlbmNl
IjogZmFsc2UsCi0gICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAibnVsbGFibGUiOiBmYWxz
ZSwKLSAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgImlkbFR5cGUiOiAiUG9pbnQiLAotICAg
ICAgImV4dEF0dHJzIjogWy4uLl0KLSAgICB9LAotICAgICJleHRBdHRycyI6IFsuLi5dCi0gIH0s
Ci0gICJuYW1lIjogIlBvaW50U2VxdWVuY2UiLAotICAiZXh0QXR0cnMiOiBbXQotfQotYGBgCi0K
LQotVGhlIGZpZWxkcyBhcmUgYXMgZm9sbG93czoKLQotKiBgdHlwZWA6IEFsd2F5cyAidHlwZWRl
ZiIuCi0qIGBuYW1lYDogVGhlIHR5cGVkZWYncyBuYW1lLgotKiBgaWRsVHlwZWA6IEFuIFtJREwg
VHlwZV0oI2lkbC10eXBlKSBkZXNjcmliaW5nIHdoYXQgdHlwZWRlZidzIHR5cGUuCi0qIGBleHRB
dHRyc2A6IEEgbGlzdCBvZiBbZXh0ZW5kZWQgYXR0cmlidXRlc10oI2V4dGVuZGVkLWF0dHJpYnV0
ZXMpLgotCi0jIyMgSW1wbGVtZW50cwotCi1BbiBpbXBsZW1lbnRzIGRlZmluaXRpb24gbG9va3Mg
bGlrZSB0aGlzOgotCi1gYGBKUwotewotICAidHlwZSI6ICJpbXBsZW1lbnRzIiwKLSAgInRhcmdl
dCI6ICJOb2RlIiwKLSAgImltcGxlbWVudHMiOiAiRXZlbnRUYXJnZXQiLAotICAiZXh0QXR0cnMi
OiBbXQotfQotYGBgCi0KLVRoZSBmaWVsZHMgYXJlIGFzIGZvbGxvd3M6Ci0KLSogYHR5cGVgOiBB
bHdheXMgImltcGxlbWVudHMiLgotKiBgdGFyZ2V0YDogVGhlIGludGVyZmFjZSB0aGF0IGltcGxl
bWVudHMgYW5vdGhlci4KLSogYGltcGxlbWVudHNgOiBUaGUgaW50ZXJmYWNlIHRoYXQgaXMgYmVp
bmcgaW1wbGVtZW50ZWQgYnkgdGhlIHRhcmdldC4KLSogYGV4dEF0dHJzYDogQSBsaXN0IG9mIFtl
eHRlbmRlZCBhdHRyaWJ1dGVzXSgjZXh0ZW5kZWQtYXR0cmlidXRlcykuCi0KLSMjIyBJbmNsdWRl
cwotCi1BbiBpbmNsdWRlcyBkZWZpbml0aW9uIGxvb2tzIGxpa2UgdGhpczoKLQotYGBgSlMKLXsK
LSAgInR5cGUiOiAiaW5jbHVkZXMiLAotICAidGFyZ2V0IjogIk5vZGUiLAotICAiaW5jbHVkZXMi
OiAiRXZlbnRUYXJnZXQiLAotICAiZXh0QXR0cnMiOiBbXQotfQotYGBgCi0KLVRoZSBmaWVsZHMg
YXJlIGFzIGZvbGxvd3M6Ci0KLSogYHR5cGVgOiBBbHdheXMgImluY2x1ZGVzIi4KLSogYHRhcmdl
dGA6IFRoZSBpbnRlcmZhY2UgdGhhdCBpbmNsdWRlcyBhbiBpbnRlcmZhY2UgbWl4aW4uCi0qIGBp
bmNsdWRlc2A6IFRoZSBpbnRlcmZhY2UgbWl4aW4gdGhhdCBpcyBiZWluZyBpbmNsdWRlZCBieSB0
aGUgdGFyZ2V0LgotKiBgZXh0QXR0cnNgOiBBIGxpc3Qgb2YgW2V4dGVuZGVkIGF0dHJpYnV0ZXNd
KCNleHRlbmRlZC1hdHRyaWJ1dGVzKS4KLQotIyMjIE9wZXJhdGlvbiBNZW1iZXIKLQotQW4gb3Bl
cmF0aW9uIGxvb2tzIGxpa2UgdGhpczoKLWBgYEpTCi17Ci0gICJ0eXBlIjogIm9wZXJhdGlvbiIs
Ci0gICJnZXR0ZXIiOiBmYWxzZSwKLSAgInNldHRlciI6IGZhbHNlLAotICAiZGVsZXRlciI6IGZh
bHNlLAotICAic3RhdGljIjogZmFsc2UsCi0gICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAiaWRs
VHlwZSI6IHsKLSAgICAidHlwZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAgInNlcXVlbmNlIjogZmFs
c2UsCi0gICAgImdlbmVyaWMiOiBudWxsLAotICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICJ1
bmlvbiI6IGZhbHNlLAotICAgICJpZGxUeXBlIjogInZvaWQiLAotICAgICJleHRBdHRycyI6IFtd
Ci0gIH0sCi0gICJuYW1lIjogImludGVyc2VjdGlvbiIsCi0gICJhcmd1bWVudHMiOiBbewotICAg
ICJvcHRpb25hbCI6IGZhbHNlLAotICAgICJ2YXJpYWRpYyI6IHRydWUsCi0gICAgImV4dEF0dHJz
IjogW10sCi0gICAgImlkbFR5cGUiOiB7Ci0gICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwK
LSAgICAgICJzZXF1ZW5jZSI6IGZhbHNlLAotICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAg
Im51bGxhYmxlIjogZmFsc2UsCi0gICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICJpZGxUeXBl
IjogImxvbmciLAotICAgICAgImV4dEF0dHJzIjogWy4uLl0KLSAgICB9LAotICAgICJuYW1lIjog
ImludHMiCi0gIH1dLAotICAiZXh0QXR0cnMiOiBbXQotfQotYGBgCi0KLVRoZSBmaWVsZHMgYXJl
IGFzIGZvbGxvd3M6Ci0KLSogYHR5cGVgOiBBbHdheXMgIm9wZXJhdGlvbiIuCi0qIGBnZXR0ZXJg
OiBUcnVlIGlmIGEgZ2V0dGVyIG9wZXJhdGlvbi4KLSogYHNldHRlcmA6IFRydWUgaWYgYSBzZXR0
ZXIgb3BlcmF0aW9uLgotKiBgZGVsZXRlcmA6IFRydWUgaWYgYSBkZWxldGVyIG9wZXJhdGlvbi4K
LSogYHN0YXRpY2A6IFRydWUgaWYgYSBzdGF0aWMgb3BlcmF0aW9uLgotKiBgc3RyaW5naWZpZXJg
OiBUcnVlIGlmIGEgc3RyaW5naWZpZXIgb3BlcmF0aW9uLgotKiBgaWRsVHlwZWA6IEFuIFtJREwg
VHlwZV0oI2lkbC10eXBlKSBvZiB3aGF0IHRoZSBvcGVyYXRpb24gcmV0dXJucy4gSWYgYSBzdHJp
bmdpZmllciwgbWF5IGJlIGFic2VudC4KLSogYG5hbWVgOiBUaGUgbmFtZSBvZiB0aGUgb3BlcmF0
aW9uLiBJZiBhIHN0cmluZ2lmaWVyLCBtYXkgYmUgYG51bGxgLgotKiBgYXJndW1lbnRzYDogQW4g
YXJyYXkgb2YgW2FyZ3VtZW50c10oI2FyZ3VtZW50cykgZm9yIHRoZSBvcGVyYXRpb24uCi0qIGBl
eHRBdHRyc2A6IEEgbGlzdCBvZiBbZXh0ZW5kZWQgYXR0cmlidXRlc10oI2V4dGVuZGVkLWF0dHJp
YnV0ZXMpLgotCi0jIyMgQXR0cmlidXRlIE1lbWJlcgotCi1BbiBhdHRyaWJ1dGUgbWVtYmVyIGxv
b2tzIGxpa2UgdGhpczoKLQotYGBgSlMKLXsKLSAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAgInN0
YXRpYyI6IGZhbHNlLAotICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgImluaGVyaXQiOiBmYWxz
ZSwKLSAgInJlYWRvbmx5IjogZmFsc2UsCi0gICJpZGxUeXBlIjogewotICAgICJ0eXBlIjogImF0
dHJpYnV0ZS10eXBlIiwKLSAgICAic2VxdWVuY2UiOiBmYWxzZSwKLSAgICAiZ2VuZXJpYyI6IG51
bGwsCi0gICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgInVuaW9uIjogZmFsc2UsCi0gICAgImlk
bFR5cGUiOiAiUmVnRXhwIiwKLSAgICAiZXh0QXR0cnMiOiBbLi4uXQotICB9LAotICAibmFtZSI6
ICJyZWdleHAiLAotICAiZXh0QXR0cnMiOiBbXQotfQotYGBgCi0KLVRoZSBmaWVsZHMgYXJlIGFz
IGZvbGxvd3M6Ci0KLSogYHR5cGVgOiBBbHdheXMgImF0dHJpYnV0ZSIuCi0qIGBuYW1lYDogVGhl
IGF0dHJpYnV0ZSdzIG5hbWUuCi0qIGBzdGF0aWNgOiBUcnVlIGlmIGl0J3MgYSBzdGF0aWMgYXR0
cmlidXRlLgotKiBgc3RyaW5naWZpZXJgOiBUcnVlIGlmIGl0J3MgYSBzdHJpbmdpZmllciBhdHRy
aWJ1dGUuCi0qIGBpbmhlcml0YDogVHJ1ZSBpZiBpdCdzIGFuIGluaGVyaXQgYXR0cmlidXRlLgot
KiBgcmVhZG9ubHlgOiBUcnVlIGlmIGl0J3MgYSByZWFkLW9ubHkgYXR0cmlidXRlLgotKiBgaWRs
VHlwZWA6IEFuIFtJREwgVHlwZV0oI2lkbC10eXBlKSBmb3IgdGhlIGF0dHJpYnV0ZS4KLSogYGV4
dEF0dHJzYDogQSBsaXN0IG9mIFtleHRlbmRlZCBhdHRyaWJ1dGVzXSgjZXh0ZW5kZWQtYXR0cmli
dXRlcykuCi0KLSMjIyBDb25zdGFudCBNZW1iZXIKLQotQSBjb25zdGFudCBtZW1iZXIgbG9va3Mg
bGlrZSB0aGlzOgotCi1gYGBKUwotewotICAidHlwZSI6ICJjb25zdCIsCi0gICJudWxsYWJsZSI6
IGZhbHNlLAotICAiaWRsVHlwZSI6IHsKLSAgICAidHlwZSI6ICJjb25zdC10eXBlIiwKLSAgICAi
c2VxdWVuY2UiOiBmYWxzZSwKLSAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgIm51bGxhYmxlIjog
ZmFsc2UsCi0gICAgInVuaW9uIjogZmFsc2UsCi0gICAgImlkbFR5cGUiOiAiYm9vbGVhbiIKLSAg
ICAiZXh0QXR0cnMiOiBbXQotICB9LAotICAibmFtZSI6ICJERUJVRyIsCi0gICJ2YWx1ZSI6IHsK
LSAgICAidHlwZSI6ICJib29sZWFuIiwKLSAgICAidmFsdWUiOiBmYWxzZQotICB9LAotICAiZXh0
QXR0cnMiOiBbXQotfQotYGBgCi0KLVRoZSBmaWVsZHMgYXJlIGFzIGZvbGxvd3M6Ci0KLSogYHR5
cGVgOiBBbHdheXMgImNvbnN0Ii4KLSogYG51bGxhYmxlYDogV2hldGhlciBpdHMgdHlwZSBpcyBu
dWxsYWJsZS4KLSogYGlkbFR5cGVgOiBBbiBbSURMIFR5cGVdKCNpZGwtdHlwZSkgb2YgdGhlIGNv
bnN0YW50IHRoYXQgcmVwcmVzZW50cyBhIHNpbXBsZSB0eXBlLCB0aGUgdHlwZSBuYW1lLgotKiBg
bmFtZWA6IFRoZSBuYW1lIG9mIHRoZSBjb25zdGFudC4KLSogYHZhbHVlYDogVGhlIGNvbnN0YW50
IHZhbHVlIGFzIGRlc2NyaWJlZCBieSBbQ29uc3QgVmFsdWVzXSgjZGVmYXVsdC1hbmQtY29uc3Qt
dmFsdWVzKQotKiBgZXh0QXR0cnNgOiBBIGxpc3Qgb2YgW2V4dGVuZGVkIGF0dHJpYnV0ZXNdKCNl
eHRlbmRlZC1hdHRyaWJ1dGVzKS4KLQotIyMjIEFyZ3VtZW50cwotCi1UaGUgYXJndW1lbnRzIChl
LmcuIGZvciBhbiBvcGVyYXRpb24pIGxvb2sgbGlrZSB0aGlzOgotCi1gYGBKUwotewotICAiYXJn
dW1lbnRzIjogW3sKLSAgICAib3B0aW9uYWwiOiBmYWxzZSwKLSAgICAidmFyaWFkaWMiOiB0cnVl
LAotICAgICJleHRBdHRycyI6IFtdLAotICAgICJpZGxUeXBlIjogewotICAgICAgInR5cGUiOiAi
YXJndW1lbnQtdHlwZSIsCi0gICAgICAic2VxdWVuY2UiOiBmYWxzZSwKLSAgICAgICJnZW5lcmlj
IjogbnVsbCwKLSAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgInVuaW9uIjogZmFsc2Us
Ci0gICAgICAiaWRsVHlwZSI6ICJsb25nIiwKLSAgICAgICJleHRBdHRycyI6IFsuLi5dCi0gICAg
fSwKLSAgICAibmFtZSI6ICJpbnRzIgotICB9XQotfQotYGBgCi0KLVRoZSBmaWVsZHMgYXJlIGFz
IGZvbGxvd3M6Ci0KLSogYG9wdGlvbmFsYDogVHJ1ZSBpZiB0aGUgYXJndW1lbnQgaXMgb3B0aW9u
YWwuCi0qIGB2YXJpYWRpY2A6IFRydWUgaWYgdGhlIGFyZ3VtZW50IGlzIHZhcmlhZGljLgotKiBg
aWRsVHlwZWA6IEFuIFtJREwgVHlwZV0oI2lkbC10eXBlKSBkZXNjcmliaW5nIHRoZSB0eXBlIG9m
IHRoZSBhcmd1bWVudC4KLSogYG5hbWVgOiBUaGUgYXJndW1lbnQncyBuYW1lLgotKiBgZXh0QXR0
cnNgOiBBIGxpc3Qgb2YgW2V4dGVuZGVkIGF0dHJpYnV0ZXNdKCNleHRlbmRlZC1hdHRyaWJ1dGVz
KS4KLQotIyMjIEV4dGVuZGVkIEF0dHJpYnV0ZXMKLQotRXh0ZW5kZWQgYXR0cmlidXRlcyBhcmUg
YXJyYXlzIG9mIGl0ZW1zIHRoYXQgbG9vayBsaWtlIHRoaXM6Ci0KLWBgYEpTCi17Ci0gICJleHRB
dHRycyI6IFt7Ci0gICAgIm5hbWUiOiAiVHJlYXROdWxsQXMiLAotICAgICJhcmd1bWVudHMiOiBu
dWxsLAotICAgICJ0eXBlIjogImV4dGVuZGVkLWF0dHJpYnV0ZSIsCi0gICAgInJocyI6IHsKLSAg
ICAgICJ0eXBlIjogImlkZW50aWZpZXIiLAotICAgICAgInZhbHVlIjogIkVtcHR5U3RyaW5nIgot
ICAgIH0KLSAgfV0KLX0KLWBgYAotCi1UaGUgZmllbGRzIGFyZSBhcyBmb2xsb3dzOgotCi0qIGBu
YW1lYDogVGhlIGV4dGVuZGVkIGF0dHJpYnV0ZSdzIG5hbWUuCi0qIGBhcmd1bWVudHNgOiBJZiB0
aGUgZXh0ZW5kZWQgYXR0cmlidXRlIHRha2VzIGFyZ3VtZW50cyAoZS5nLiBgW0ZvbygpXWApIG9y
IGlmCi0gIGl0cyByaWdodC1oYW5kIHNpZGUgZG9lcyAoZS5nLiBgW05hbWVkQ29uc3RydWN0b3I9
TmFtZShET01TdHJpbmcgYmxhaCldYCkgdGhleQotICBhcmUgbGlzdGVkIGhlcmUuIE5vdGUgdGhh
dCBhbiBlbXB0eSBhcmd1bWVudHMgbGlzdCB3aWxsIHByb2R1Y2UgYW4gZW1wdHkgYXJyYXksCi0g
IHdoZXJlYXMgdGhlIGxhY2sgdGhlcmVvZiB3aWxsIHlpZWxkIGEgYG51bGxgLiBJZiB0aGVyZSBp
cyBhbiBgcmhzYCBmaWVsZCB0aGVuCi0gIHRoZXkgYXJlIHRoZSByaWdodC1oYW5kIHNpZGUncyBh
cmd1bWVudHMsIG90aGVyd2lzZSB0aGV5IGFwcGx5IHRvIHRoZSBleHRlbmRlZAotICBhdHRyaWJ1
dGUgZGlyZWN0bHkuCi0qIGB0eXBlYDogQWx3YXlzIGAiZXh0ZW5kZWQtYXR0cmlidXRlImAuCi0q
IGByaHNgOiBJZiB0aGVyZSBpcyBhIHJpZ2h0LWhhbmQgc2lkZSwgdGhpcyB3aWxsIGNhcHR1cmUg
aXRzIGB0eXBlYCAod2hpY2ggY2FuIGJlCi0gICJpZGVudGlmaWVyIiBvciAiaWRlbnRpZmllci1s
aXN0IikgYW5kIGl0cyBgdmFsdWVgLgotCi0jIyMgRGVmYXVsdCBhbmQgQ29uc3QgVmFsdWVzCi0K
LURpY3Rpb25hcnkgZmllbGRzIGFuZCBvcGVyYXRpb24gYXJndW1lbnRzIGNhbiB0YWtlIGRlZmF1
bHQgdmFsdWVzLCBhbmQgY29uc3RhbnRzIHRha2UKLXZhbHVlcywgYWxsIG9mIHdoaWNoIGhhdmUg
dGhlIGZvbGxvd2luZyBmaWVsZHM6Ci0KLSogYHR5cGVgOiBPbmUgb2Ygc3RyaW5nLCBudW1iZXIs
IGJvb2xlYW4sIG51bGwsIEluZmluaXR5LCBOYU4sIG9yIHNlcXVlbmNlLgotCi1Gb3Igc3RyaW5n
LCBudW1iZXIsIGJvb2xlYW4sIGFuZCBzZXF1ZW5jZToKLQotKiBgdmFsdWVgOiBUaGUgdmFsdWUg
b2YgdGhlIGdpdmVuIHR5cGUsIGFzIGEgc3RyaW5nLiBGb3Igc2VxdWVuY2UsIHRoZSBvbmx5IHBv
c3NpYmxlIHZhbHVlIGlzIGBbXWAuCi0KLUZvciBJbmZpbml0eToKLQotKiBgbmVnYXRpdmVgOiBC
b29sZWFuIGluZGljYXRpbmcgd2hldGhlciB0aGlzIGlzIG5lZ2F0aXZlIEluZmluaXR5IG9yIG5v
dC4KLQotIyMjIGBpdGVyYWJsZTw+YCwgYGxlZ2FjeWl0ZXJhYmxlPD5gLCBgbWFwbGlrZTw+YCwg
YHNldGxpa2U8PmAgZGVjbGFyYXRpb25zCi0KLVRoZXNlIGFwcGVhciBhcyBtZW1iZXJzIG9mIGlu
dGVyZmFjZXMgdGhhdCBsb29rIGxpa2UgdGhpczoKLQotYGBgSlMKLXsKLSAgInR5cGUiOiAibWFw
bGlrZSIsIC8vIG9yICJsZWdhY3lpdGVyYWJsZSIgLyAiaXRlcmFibGUiIC8gInNldGxpa2UiCi0g
ICJpZGxUeXBlIjogLyogT25lIG9yIHR3byB0eXBlcyAqLyAsCi0gICJyZWFkb25seSI6IGZhbHNl
LCAvLyBvbmx5IGZvciBtYXBsaWtlIGFuZCBzZXRsaWtlCi0gICJleHRBdHRycyI6IFtdCi19Ci1g
YGAKLQotVGhlIGZpZWxkcyBhcmUgYXMgZm9sbG93czoKLQotKiBgdHlwZWA6IEFsd2F5cyBvbmUg
b2YgIml0ZXJhYmxlIiwgImxlZ2FjeWl0ZXJhYmxlIiwgIm1hcGxpa2UiIG9yICJzZXRsaWtlIi4K
LSogYGlkbFR5cGVgOiBBbiBhcnJheSB3aXRoIG9uZSBvciBtb3JlIFtJREwgVHlwZXNdKCNpZGwt
dHlwZSkgcmVwcmVzZW50aW5nIHRoZSBkZWNsYXJlZCB0eXBlIGFyZ3VtZW50cy4KLSogYHJlYWRv
bmx5YDogV2hldGhlciB0aGUgbWFwbGlrZSBvciBzZXRsaWtlIGlzIGRlY2xhcmVkIGFzIHJlYWQg
b25seS4KLSogYGV4dEF0dHJzYDogQSBsaXN0IG9mIFtleHRlbmRlZCBhdHRyaWJ1dGVzXSgjZXh0
ZW5kZWQtYXR0cmlidXRlcykuCi0KLQotIyMgVGVzdGluZwotCi0jIyMgUnVubmluZwotCi1UaGUg
dGVzdCBydW5zIHdpdGggbW9jaGEgYW5kIGV4cGVjdC5qcy4gTm9ybWFsbHksIHJ1bm5pbmcgbW9j
aGEgaW4gdGhlIHJvb3QgZGlyZWN0b3J5Ci1zaG91bGQgYmUgZW5vdWdoIG9uY2UgeW91J3JlIHNl
dCB1cC4KLQotIyMjIENvdmVyYWdlCi0KLUN1cnJlbnQgdGVzdCBjb3ZlcmFnZSwgYXMgZG9jdW1l
bnRlZCBpbiBgY292ZXJhZ2UuaHRtbGAsIGlzIDk1JS4gWW91IGNhbiBydW4geW91ciBvd24KLWNv
dmVyYWdlIGFuYWx5c2lzIHdpdGg6Ci0KLWBgYEJhc2gKLWpzY292ZXJhZ2UgbGliIGxpYi1jb3YK
LWBgYAotCi1UaGF0IHdpbGwgY3JlYXRlIHRoZSBsaWItY292IGRpcmVjdG9yeSB3aXRoIGluc3Ry
dW1lbnRlZCBjb2RlOyB0aGUgdGVzdCBzdWl0ZSBrbm93cwotdG8gdXNlIHRoYXQgaWYgbmVlZGVk
LiBZb3UgY2FuIHRoZW4gcnVuIHRoZSB0ZXN0cyB3aXRoOgotCi1gYGBCYXNoCi1KU0NPVj0xIG1v
Y2hhIC0tcmVwb3J0ZXIgaHRtbC1jb3YgPiBjb3ZlcmFnZS5odG1sCi1gYGAKLQotTm90ZSB0aGF0
IEkndmUgYmVlbiBnZXR0aW5nIHdlaXJkbHkgb3ZlcmVzY2FwZWQgcmVzdWx0cyBmcm9tIHRoZSBo
dG1sLWNvdiByZXBvcnRlciwKLXNvIHlvdSBtaWdodCB3aXNoIHRvIHRyeSB0aGlzIGluc3RlYWQ6
Ci0KLWBgYEJhc2gKLUpTQ09WPTEgbW9jaGEgIC0tcmVwb3J0ZXIgaHRtbC1jb3YgfCBzZWQgInMv
Jmx0Oy88L2ciIHwgc2VkICJzLyZndDsvPi9nIiB8IHNlZCAicy8mcXVvdDsvXCIvZyIgPiBjb3Zl
cmFnZS5odG1sCi1gYGAKLSMjIyBCcm93c2VyIHRlc3RzCi0KLUluIG9yZGVyIHRvIHRlc3QgaW4g
dGhlIGJyb3dzZXIsIGdldCBpbnNpZGUgYHRlc3Qvd2ViYCBhbmQgcnVuIGBtYWtlLXdlYi10ZXN0
cy5qc2AuIFRoaXMKLXdpbGwgZ2VuZXJhdGUgYSBgYnJvd3Nlci10ZXN0cy5odG1sYCBmaWxlIHRo
YXQgeW91IGNhbiBvcGVuIGluIGEgYnJvd3Nlci4gQXMgb2YgdGhpcwotd3JpdGluZyB0ZXN0cyBw
YXNzIGluIHRoZSBsYXRlc3QgRmlyZWZveCwgQ2hyb21lLCBPcGVyYSwgYW5kIFNhZmFyaS4gVGVz
dGluZyBvbiBJRQotYW5kIG9sZGVyIHZlcnNpb25zIHdpbGwgaGFwcGVuIHByb2dyZXNzaXZlbHku
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL2NoZWNrZXIvaW5kZXguaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvY2hlY2tlci9pbmRl
eC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5ODk3ZDg1NzJmMi4uMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi9jaGVja2VyL2luZGV4Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw1
NSArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08dGl0bGU+V2ViSURM
IDIgQ2hlY2tlcjwvdGl0bGU+Ci0KLTxzY3JpcHQgc3JjPScuLi9saWIvd2ViaWRsMi5qcyc+PC9z
Y3JpcHQ+Ci08c2NyaXB0PgotbGV0IHBhcnNlclJlc3VsdCA9IHVuZGVmaW5lZDsKLQotZnVuY3Rp
b24gZm9ybWF0UGFyc2VyT3V0cHV0KCkgewotICBjb25zdCBvdXRwdXRFbCA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCd3ZWJpZGwtY2hlY2tlci1vdXRwdXQnKTsKLSAgaWYgKHBhcnNlclJlc3Vs
dCkgewotICAgIGNvbnN0IHByZXR0eVByaW50RWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgn
cHJldHR5LXByaW50Jyk7Ci0gICAgb3V0cHV0RWwuaW5uZXJUZXh0ID0gSlNPTi5zdHJpbmdpZnko
cGFyc2VyUmVzdWx0LCBudWxsLCBwcmV0dHlQcmludEVsLmNoZWNrZWQgPyAyIDogbnVsbCk7Ci0g
IH0gZWxzZSB7Ci0gICAgb3V0cHV0RWwuaW5uZXJUZXh0ID0gJyc7Ci0gIH0KLX0KLQotZnVuY3Rp
b24gY2hlY2tXZWJJREwodGV4dFRvQ2hlY2spIHsKLSAgY29uc3QgdmFsaWRhdGlvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCd3ZWJpZGwtY2hlY2tlci12YWxpZGF0aW9uJyk7Ci0gIHBhcnNl
clJlc3VsdCA9IG51bGw7Ci0gIHRyeSB7Ci0gICAgcGFyc2VyUmVzdWx0ID0gV2ViSURMMi5wYXJz
ZSh0ZXh0VG9DaGVjayk7Ci0gICAgdmFsaWRhdGlvbi5pbm5lclRleHQgPSAnV2ViSURMIHBhcnNl
ZCBzdWNjZXNzZnVsbHkhJzsKLSAgfSBjYXRjaCAoZSkgewotICAgIHZhbGlkYXRpb24uaW5uZXJU
ZXh0ID0gJ0V4Y2VwdGlvbiB3aGlsZSBwYXJzaW5nIFdlYklETC4gU2VlIEphdmFTY3JpcHQgY29u
c29sZSBmb3IgbW9yZSBkZXRhaWxzLlxuXG4nICsgZS50b1N0cmluZygpOwotICAgIC8vIFBhc3Mg
aXQgYWxvbmcgdG8gdGhlIEphdmFTY3JpcHQgY29uc29sZS4KLSAgICB0aHJvdyBlOwotICB9IGZp
bmFsbHkgewotICAgIGZvcm1hdFBhcnNlck91dHB1dCgpOwotICB9Ci19Ci08L3NjcmlwdD4KLTxz
dHlsZT4KLXRleHRhcmVhIHsKLSAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsKLX0KLTwvc3R5bGU+
Ci08L2hlYWQ+Ci08Ym9keT4KLTxoMj5XZWJJREwgQ2hlY2tlcjwvaDI+Ci08cD5UaGlzIGlzIGFu
IG9ubGluZSBjaGVja2VyIGZvciBXZWJJREwgYnVpbHQgb24gdGhlIDxhIGhyZWY9Imh0dHBzOi8v
Z2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcyI+d2ViaWRsMi5qczwvYT4gcHJvamVjdC48L3A+Ci08
cD5FbnRlciB5b3VyIFdlYklETCB0byBjaGVjayBiZWxvdzo8L3A+Ci08dGV4dGFyZWEgaWQ9J3dl
YmlkbC10by1jaGVjaycgcm93cz0nMjAnIGNvbHM9JzgwJz48L3RleHRhcmVhPgotPGJyPgotPGlu
cHV0IHR5cGU9J2J1dHRvbicgdmFsdWU9J0NoZWNrIFdlYklETCcgb25jbGljaz0nY2hlY2tXZWJJ
REwoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIndlYmlkbC10by1jaGVjayIpLnZhbHVlKSc+Ci08
cD5WYWxpZGF0aW9uIHJlc3VsdHM6PC9wPgotPHRleHRhcmVhIGlkPSd3ZWJpZGwtY2hlY2tlci12
YWxpZGF0aW9uJyByb3dzPScyMCcgY29scz0nODAnPjwvdGV4dGFyZWE+Ci08cD5QYXJzZXIgb3V0
cHV0OjwvcD4KLTx0ZXh0YXJlYSBpZD0nd2ViaWRsLWNoZWNrZXItb3V0cHV0JyByb3dzPScyMCcg
Y29scz0nODAnPjwvdGV4dGFyZWE+Ci08YnI+Ci08aW5wdXQgdHlwZT0nY2hlY2tib3gnIGlkPSdw
cmV0dHktcHJpbnQnIGNoZWNrZWQ9J3RydWUnIG9uY2hhbmdlPSdmb3JtYXRQYXJzZXJPdXRwdXQo
KSc+UHJldHR5IFByaW50Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL2NoZWNr
ZXIvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL2NoZWNrZXIvdzNjLWltcG9ydC5sb2cKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDdhZmZjMjZkOTc1Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L2NoZWNrZXIvdzNjLWltcG9ydC5sb2cKKysrIC9kZXYvbnVsbApAQCAtMSwxNyArMCwwIEBACi1U
aGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVw
b3NpdG9yeS4KLURvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0Lgot
SW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgotCWh0dHBz
Oi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0Ci0KLVRoZW4gcnVuIHRoZSBUb29s
cy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0Ci0KLURvIE5P
VCBtb2RpZnkgb3IgcmVtb3ZlIHRoaXMgZmlsZS4KLQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1Qcm9wZXJ0
aWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6Ci1Ob25lCi1Qcm9wZXJ0eSB2YWx1ZXMgcmVx
dWlyaW5nIHZlbmRvciBwcmVmaXhlczoKLU5vbmUKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotTGlzdCBvZiBm
aWxlczoKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL2NoZWNrZXIvaW5kZXguaHRtbApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi9jb3ZlcmFn
ZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi9jb3ZlcmFnZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCA0NmU3ZWQzMjRlYy4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi9jb3ZlcmFnZS5odG1sCisrKyAv
ZGV2L251bGwKQEAgLTEsMzQxICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPjxodG1sPjxoZWFkPjx0
aXRsZT5Db3ZlcmFnZTwvdGl0bGU+PHNjcmlwdD4KLQotaGVhZGluZ3MgPSBbXTsKLQotb25sb2Fk
ID0gZnVuY3Rpb24oKXsKLSAgaGVhZGluZ3MgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdo
MicpOwotfTsKLQotb25zY3JvbGwgPSBmdW5jdGlvbihlKXsKLSAgdmFyIGhlYWRpbmcgPSBmaW5k
KHdpbmRvdy5zY3JvbGxZKTsKLSAgaWYgKCFoZWFkaW5nKSByZXR1cm47Ci0gIHZhciBsaW5rcyA9
IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJyNtZW51IGEnKQotICAgICwgbGluazsKLQotICBm
b3IgKHZhciBpID0gMCwgbGVuID0gbGlua3MubGVuZ3RoOyBpIDwgbGVuOyArK2kpIHsKLSAgICBs
aW5rID0gbGlua3NbaV07Ci0gICAgbGluay5jbGFzc05hbWUgPSBsaW5rLmdldEF0dHJpYnV0ZSgn
aHJlZicpID09ICcjJyArIGhlYWRpbmcuaWQKLSAgICAgID8gJ2FjdGl2ZScKLSAgICAgIDogJyc7
Ci0gIH0KLX07Ci0KLWZ1bmN0aW9uIGZpbmQoeSkgewotICB2YXIgaSA9IGhlYWRpbmdzLmxlbmd0
aAotICAgICwgaGVhZGluZzsKLQotICB3aGlsZSAoaS0tKSB7Ci0gICAgaGVhZGluZyA9IGhlYWRp
bmdzW2ldOwotICAgIGlmICh5ID49IGhlYWRpbmcub2Zmc2V0VG9wKSB7Ci0gICAgICByZXR1cm4g
aGVhZGluZzsKLSAgICB9Ci0gIH0KLX0KLTwvc2NyaXB0PgotPHN0eWxlPgotCi1ib2R5IHsKLSAg
Zm9udDogMTRweC8xLjYgIkhlbHZldGljYSBOZXVlIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1z
ZXJpZjsKLSAgbWFyZ2luOiAwOwotICBjb2xvcjogIzJDMkMyQzsKLSAgYm9yZGVyLXRvcDogMnB4
IHNvbGlkICNkZGQ7Ci19Ci0KLSNjb3ZlcmFnZSB7Ci0gIHBhZGRpbmc6IDYwcHg7Ci19Ci0KLWgx
IGEgewotICBjb2xvcjogaW5oZXJpdDsKLSAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7Ci19Ci0KLWgx
IGE6aG92ZXIgewotICB0ZXh0LWRlY29yYXRpb246IG5vbmU7Ci19Ci0KLS5vbmxvYWQgaDEgewot
ICBvcGFjaXR5OiAxOwotfQotCi1oMiB7Ci0gIHdpZHRoOiA4MCU7Ci0gIG1hcmdpbi10b3A6IDgw
cHg7Ci0gIG1hcmdpbi1ib3R0b206IDA7Ci0gIGZvbnQtd2VpZ2h0OiAxMDA7Ci0gIGxldHRlci1z
cGFjaW5nOiAxcHg7Ci0gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWVlOwotfQotCi1hIHsK
LSAgY29sb3I6ICM4QTYzNDM7Ci0gIGZvbnQtd2VpZ2h0OiBib2xkOwotICB0ZXh0LWRlY29yYXRp
b246IG5vbmU7Ci19Ci0KLWE6aG92ZXIgewotICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsK
LX0KLQotdWwgewotICBtYXJnaW4tdG9wOiAyMHB4OwotICBwYWRkaW5nOiAwIDE1cHg7Ci0gIHdp
ZHRoOiAxMDAlOwotfQotCi11bCBsaSB7Ci0gIGZsb2F0OiBsZWZ0OwotICB3aWR0aDogNDAlOwot
ICBtYXJnaW4tdG9wOiA1cHg7Ci0gIG1hcmdpbi1yaWdodDogNjBweDsKLSAgbGlzdC1zdHlsZTog
bm9uZTsKLSAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlZWU7Ci0gIHBhZGRpbmc6IDVweCAw
OwotICBmb250LXNpemU6IDEycHg7Ci19Ci0KLXVsOjphZnRlciB7Ci0gIGNvbnRlbnQ6ICcuJzsK
LSAgaGVpZ2h0OiAwOwotICBkaXNwbGF5OiBibG9jazsKLSAgdmlzaWJpbGl0eTogaGlkZGVuOwot
ICBjbGVhcjogYm90aDsKLX0KLQotY29kZSB7Ci0gIGZvbnQ6IDEycHggbW9uYWNvLCBtb25vc3Bh
Y2U7Ci19Ci0KLXByZSB7Ci0gIG1hcmdpbjogMzBweDsKLSAgcGFkZGluZzogMzBweDsKLSAgYm9y
ZGVyOiAxcHggc29saWQgI2VlZTsKLSAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2RkZDsKLSAgLXdl
YmtpdC1ib3JkZXItcmFkaXVzOiAycHg7Ci0gIC1tb3otYm9yZGVyLXJhZGl1czogMnB4OwotICAt
d2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDAgMCAxMHB4ICNlZWU7Ci0gIC1tb3otYm94LXNoYWRv
dzogaW5zZXQgMCAwIDEwcHggI2VlZTsKLSAgb3ZlcmZsb3cteDogYXV0bzsKLX0KLQotaW1nIHsK
LSAgbWFyZ2luOiAzMHB4OwotICBwYWRkaW5nOiAxcHg7Ci0gIC13ZWJraXQtYm9yZGVyLXJhZGl1
czogM3B4OwotICAtbW96LWJvcmRlci1yYWRpdXM6IDNweDsKLSAgLXdlYmtpdC1ib3gtc2hhZG93
OiAwIDNweCAxMHB4ICNkZWRlZGUsIDAgMXB4IDVweCAjODg4OwotICAtbW96LWJveC1zaGFkb3c6
IDAgM3B4IDEwcHggI2RlZGVkZSwgMCAxcHggNXB4ICM4ODg7Ci0gIG1heC13aWR0aDogMTAwJTsK
LX0KLQotZm9vdGVyIHsKLSAgYmFja2dyb3VuZDogI2VlZTsKLSAgd2lkdGg6IDEwMCU7Ci0gIHBh
ZGRpbmc6IDUwcHggMDsKLSAgdGV4dC1hbGlnbjogcmlnaHQ7Ci0gIGJvcmRlci10b3A6IDFweCBz
b2xpZCAjZGRkOwotfQotCi1mb290ZXIgc3BhbiB7Ci0gIGRpc3BsYXk6IGJsb2NrOwotICBtYXJn
aW4tcmlnaHQ6IDMwcHg7Ci0gIGNvbG9yOiAjODg4OwotICBmb250LXNpemU6IDEycHg7Ci19Ci0K
LSNtZW51IHsKLSAgcG9zaXRpb246IGZpeGVkOwotICBmb250LXNpemU6IDEycHg7Ci0gIG92ZXJm
bG93LXk6IGF1dG87Ci0gIHRvcDogMDsKLSAgcmlnaHQ6IDA7Ci0gIG1hcmdpbjogMDsKLSAgaGVp
Z2h0OiAxMDAlOwotICBwYWRkaW5nOiAxNXB4IDA7Ci0gIHRleHQtYWxpZ246IHJpZ2h0OwotICBi
b3JkZXItbGVmdDogMXB4IHNvbGlkICNlZWU7Ci0gIC1tb3otYm94LXNoYWRvdzogMCAwIDJweCAj
ODg4Ci0gICAgICwgaW5zZXQgNXB4IDAgMjBweCByZ2JhKDAsMCwwLC41KQotICAgICAsIGluc2V0
IDVweCAwIDNweCByZ2JhKDAsMCwwLC4zKTsKLSAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgMnB4
ICM4ODgKLSAgICAgLCBpbnNldCA1cHggMCAyMHB4IHJnYmEoMCwwLDAsLjUpCi0gICAgICwgaW5z
ZXQgNXB4IDAgM3B4IHJnYmEoMCwwLDAsLjMpOwotICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBh
bnRpYWxpYXNlZDsKLSAgYmFja2dyb3VuZDogdXJsKCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZC
T1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUdZQUFBQm1DQU1BQUFBT0FSUlFBQUFCZWxCTVZFVWpKU1U2
T3pzaEl5TTVPam9xS3kwMk5qZ3NMUzAxTlRZakpDVXpOVFVnSVNNbEpTYzBOVFV2TURBNlBEd2xK
eWcxTmpZb0tpczJOallyTFMwMk9Ea3BLeXcwTkRZckxDMDRPRG92THpBNE9qbzBORFV0THk4Nk9q
d2pJeVU0T1Rvc0xTODJPRGd0TFM4aEl5UXZNVEVuS0Nvb0tTc3JLeTBxTEN3a0pTVW5LQ2tyTEN3
cEtpd3dNakl4TXpNcUxDMHRMUzBwS2lzc0xDMDBOVFl3TURJd01UUXBLeXNvS1Nvdk1ERXRMekEy
T1RreE16VXJLeXd2THk4cUt5c3pOVFk1T3pzcUtpdzZPanN3TURFeE5EVW9LaW96TkRVdk1ESXlO
RFkxTmpnMk5qazVPVG96TXpVME5qWTRPRGtpSXlVaUl5UTRPVGt1TURFbUtDb3dNalF3TVRFckxT
NHFLeXd3TVRNaElpTXBLaW9wS3kwdExqQWtKU2N4TkRRdkx6RXhORFl5TkRRbUtDazVPVHNsSmln
NU9qc2tKU1l4TXpRckxTOGdJU0l3TVRJb0tDazFOVFVsSlNVbkp5Z3dNREE0T0RnaUlpTWhJU0k4
UER3Nk9qbzVPVGtwS1Nvakl5UTdPenN5TWpJcEtTc3NMQ3c2T3p3MU5qbHJmTGFrQUFBZzJVbEVR
VlI0MmpSNmkzZWE2cll2UGdBTklBaFZYaDhXdmtRbGlvVWlGbEZjQnRBbW9pUk5kenhxdTlwMEo3
dnJkSzI5enVQZWV4NzdubnZPLzM1bjFyMW5kSFJrdEkwalRPYWN2L2w3bENCSzVVcVZwT2hhL1l4
bVdLN0JDNFRRRktWWHJiWXNuaW1xeHV1TVZsT1EwWGx0V2pVZEN3UkoxTSt0QzFLdWRPczlxNitk
YTJhZFVld0cwU0MwU3dFTGZIdGdEZHM5M1ZFdXlkRWJsM1FNV2VOb1lrUjdiLzB4MVpSb2JHSTNt
THd6QWhlUHFUQXdoZzZhb2dqTnNHeTcvandRNHJrZHFlN0NXTHhGOGs5TGZNVkZ5UlM3VkpxdGty
VzhWdC9ia1I4RlpKYW8xNmlwa25iQzNZdzJsTTdsYU82SEJFT2FkRVoydHBmNjVjNHY4ZTN1N0Z5
VTZxYmlOTnlDdXpYWjZwYXdnbndnbXJwVFQvUTd3MkVabWlJSjBkeldESTdtaFE4MElmUm5NdTJr
ekE1cjVyMXBJRm9pYSsvZDkzSFJZcDFHVjhUYnJrV29VLytqZEkwRmY2eUd3VGpUMUhuOEorOG0x
cktwR2lZUHVOaUhuTXROTUl2K3pwc2s4NE1ZVE5XMS8rRHB3WEx2Y2tkT0NNWW93Vk5QUkVlMFFs
TTh4UkhYWEZoY05EenVwd3NTbWI1cEgrMHQwUlAyUWsrUXRJN0YxUW02SlJDNlpQQnRQcS9kcS9r
SCtqeHRDbGpuOVRJcFc2clFJZ21TVnlqNmxQSUNJdzROL3Rha2E0MVBGVUludGgwamU5K2pPNkt0
MUc0L2E3VjJMRWdHMDJCMHBIVnVDWnJnbHRTS011SWw1U3l1ZlV2OW1ZdVFpK21GZ3piQkV0Rm8y
ZytEaDRzU1RyTE51OEpQaDAwc1F5ZHBiMDB0cVhCdnFSTjdRN2txemNuSXhDR252WnQvV21KYWNv
T0VPNkRjbjhRcmUwM3BPQ1NReGJNT1hVdUROeDlTeHVMejRXMUkxOGd2alZpUTY3elYwcnhkV0w4
VGUvVFFrdW84U1RTNDFEUjQ4VzdMNllQMnVXSXFpVVY4cmQ2R2JmL3JuZWdLWmVHOFRwQU02YWZo
R3plOUpBT3hiTGpzblVYRWJyWjl2TFlkN01UMzJjUEY1bUtLeG1qeTdodWFvRDluNjJHT3huaTNp
SUp3djBJelpBWmpkWmtVdG9sQ05MVmZZWk5hcXVGakdzelZWZitKMHZyejRDYXdvS2RIbk96YjBO
TUg3Q0RCT3liZllOSjRyZmVNeUZOamtGWVZUek1Gczg3cm5QR1hMVU9lTktSVmMwTG5VNy9VSWdl
bHpzeTNDTXV0aDBZZnZuWTB3c0Qzdk9EVUwzZUpjS3FIUXBtOHlNM1haUVdKeE82VW45aVlsb3l5
THBPd04yb2JIeTZXNmdicGNiNDRYbXlDK21nK2l0QWNhcHJHY3J3WkNxTWovR210S24welB2cFR6
L0N2MWR3MjFYd1AzY1J1cGczSDNNRi9TNzFlVEtqMVlyZHdLZGMyTXcwZlJtYjJzRmY4bFczYVU2
SmJJWlNFUHF2WHZqTTdHL2FBcHlYbFhlcUtmTXEwZy9TdTNyVUdKUFNQcnRHRWxna25yWk0zeFVY
cXNBUDZ6TUNOVm41dThhSm5TTnBKdjJ1cnU3dDJqZlJ6aVcyK0d1aHFmbGRVTmJQazcxb2x3bys0
NmVQVW8xVTNXS2svZTVZSzA3Ri93R1JnY3BPRG1RbklsVmVIQ1dCRTRwdUJpMmpxMjhVS3BxaU4x
LzRVT3JHejU5VE5ZcnJRSHRkKzExc0c0MEJHRCtwWGRlbE5xR09nNE5YZThXNGVhY0pWL05TOS8y
VW10eW02V1FxdmVxUjl4ZENNRWxweG5ia2FsTTRWZjl1YUVjV1phS2R5aWJFSWpXS3hKWlBOOTVu
aUNMM0dpYVh5c3NJckh4b0xrcWt6TENYVUxONDYvZjJoM3RRSmd5aXArVGs5RUFqSjlhSnNocTd0
OFg0NWFvd1NLc3BNU3ZQZjdyOVI4eXhOcHRJYUhTNW96dUVtNmx1UERBcHVneU5QOE9hcWlRNEJq
YWVxdVhBNTRTTEM4M2VISVkycitDWnA0NDA5WHF3OEFhMm9JN1hrQ3JRaStpbjB3NUFxRi9rTE5y
Y1V6K3FrbC9sQW9iWTFqU254NU9KTmh5WEl6M3FmTkZsWGMwVEthZ2xOd2RXa1dZdDlRUTFLcjZX
OHp1ZTIxaU5yZEprK041b0NyMk85bkV0V0tDN0lTNUovemRERVlybW5BWWZnNmFnQ3krcWNnejda
b2ZlRGM0UGJVV1N2a3NoV3VBYzdPamlVeUxraitSQXRkbHdYSmNqeGRwa1RUSERoSzhsQkNpOCtK
dHZEVkwxVzZlbG1PTSsrWVMwTHVTbGFQMW9VdkFlaVczY0ZudlRyOEViVHoxdHNTTVlkR2VaZTQw
c1JXdTV1QWZqN3ErWm9LdjJGTlEwcDVYWTFsbWxjaWdIWnFUUHBhYnVmRVZyTnVOUGkxNjV3M3VD
VlFKSHlKcW1TSjdaSG5ndXF3dENtd1ZpSUppamowNGJhMkpOWXRCK3lPUmY1Z2cxLzl0OWl3NHZV
cGVxaXVuU0FiZitJQmRqL2IraUcycXJIdnVOUDBWZC8rVGhWWlQvbHJ2SFlqamdEYmJ5eGFxZ0hO
TTJ1aHhhMUdXM1VlZFpZaE1Nd000bVFobHRvdUsrSVY0TmRiSVFOTSs4WXYzMTFSWms5a1Q0dGlZ
UjRMa3lGY3VQcGRjanVoVXVGcUJBV1JaYTExbGNaM2dFQmxYeXdzTmhydCtwbElTWlA1RGxzVjls
NEVnWTZKM3laUFRVY01yZ2FXQVQzb0k3OWVTYkdFYmNKcHI2QkQ4a3lEaVZ0K0cwL2hYb3NRTjRO
RlhLbGZXSWZzSXMwQkhPRFZvazEvSUduS0ZISllJcXVoOFhvKzIrYmtRTlRHZ1dtTi9mWjBZMzNM
U2o2bHIxR3lWN21XSUtnN1pUUlpQR3VoRi96alJOY1ExVVB0U1lnbldReFNzMHlyVmh3TkRjZEdN
TlNOZTJKVDNXdXpiQU0zSHlreUFhalMzVXBoZjZTVEtFcXhMYXM5RW5tbmhBL2x5ajlVaitKb1k3
U1ZnVm1HTGw0NlJtMnU5OHNia2FwMmx6QWRLQkc0cjZMZ3VsUU9TU2pRdjFHV2RRMGp0RFVLL21B
YXFNMVVxanB1NGszUnZmdnh2N1lUeExTSyt3TjNFNWpWSXptRjIzdVo3aGlIL3NWUDQ5RDd0dm9L
cDRTOGIxTHV2UmxpdlZCL2FsZ2JoY0ZJVFlWWHZEcEx6cERmcGxSMnVENVY0WEpGeHBqbUlwTGM5
WTVzQjJUcEJSaXg3Qm1lNkdaSXErMDZ2M1h6TmVUY0E0b2JRSUt4cm5UNEMySnBPcUQ5MmRibVNY
OE1HYXpseTVFc1pWTXZTVTFmNFJad3l1OGlRWGJWZGVMbFpyanVUVDFqclkxdWs1YzdpWjdSc3Zo
aGx1cUFrcTRKcFZRQWc3UkpGdFN1K3hnSjhQdjZPMWo1RGtMeFQ4bWtiZnlSVzVEclFtRzdoaURJ
akNnQnNBRGJqdW9mNllITEdlVjZhNVExU214OWpvVVhQcGRhYUR4OTdBL1dxMDBvSmtkUjdaWXVR
UmZTNTMzSnR4TzFlcmR1cVdPWUl0M3doMHdwYkx1Q05JWWt3eGJzd2Jpa0NVdTJDRENTK1ErN3Jn
VnRmUmNtK1NPY2RLUFJsWi9yRTd3TlZVRUUzOUtUUzV1dlVLTjFQVW5rbG9Qa3l6aHlHUThxa291
RWpKM0gvVlhkcUc2YXNTUml3M2VjTWxCdkREdDhkRGhCSFhNd1oyQ2FqempyNy83NlQrSWF2cVBZ
dno2cjcvL0UvM1gzK04vL2gvMFFvemJqUGdQaWlyNjlQLzhYMy85Ri95djhiLzgyNy8rKzk4V0l0
UHU1L0h2d2Q4WVBmNWJwLzIvbFgvVC8rT2YvME1KL2xZVGErTC9FZitkOXZOLzMvMlQ2UC8ranlU
enUvZXZmNlU3dnhON0I2cEprUnRBRjZqVXI4SStQOFJzUC9wdEdoZnFGaytwUS9EZ0F5Nk5KdFJZ
SmRYbXA0Z0s3V0xxTEtKK01hS2hHak9vanZMK1NuSVdya3B5MFNMSERlNFF1eU56YUVBMTVtTE1D
Y21FOEVtKzRIZE9paFc0L1pXdXBwSkVtemVBd2NEdHY3TXVMYzl5MlY1YXR2eFhOZTNTNERVTXQ1
L1F5MkxNOWtTWUtpVldCdUtsZnA0bnhUbnRwdVcwM0piSWxraVJ2QlhtVDIzZzFJMk9ZZTZJaXpV
SFBJcTZ6bTZtYmZzYnRlS21pL3NnOUorb2NRQk1jdEdGTzdpbGpvOFRQTit6M2p4dzRkbytad2Zx
b1I5ZGtOVEtIeU0zMDVHcFRrZmhjSGV4VmtQVkdFYlVPanVvOWYwVU1QSEJGbEdFeDBTTHZKdlZS
S1R3VzdQU2V3NW9QbWUrRTQyK2ZySmE5Y0d0Mm5qUzNkSzVrSWlmMmVZYmh1U0VRWEVxTVZmVWpo
R0l1aW4wRzAvVzVlekp5SlF5M1NwTUxhaTRNMEpVV2I1dTFrOXRueTViZDFwUHdZQnBRdURDWFps
NjJ4ZzRDZFZFQXRmbFhIczZKS21QL3BINm1PbDc5Nkxnb3BqMG84ZDVrS2gwMGh4RzNPU2RFRS9R
Qm85SGdyOEpKcUFlTER3Sm9oRzVqL0RHaDYxUmMvK3RmMjIvOGtFbnhITkNFam8wRWx2dkdmRVNa
a3FtejJCRGNLVjFIMWJ1U2toa2RnN3AxSU1HczJzMTduWWpwYmxyV3VFMks5V0VPL2hjUnA1ZTlv
T0YvUUJtT2FEdGdpbCtvYVU2c3pQcmR3VzY1Zk9CMEtVVHNWVW43TEZVN0o4ZTZjeEpJbDkrRkh3
NU1RTXp1UUorNG94TUgzaVcvNUdLK2hXdUcwVCtnVExzK2ZBamR0VWQ1OFRtSVVxMDRFZXlSQ1lD
amtsZG93MjM0YUlnUjVicXdydFpvc1orNllFcUFtRHFhdEo5bFdhc3o0SXF1S0FMUHRkOTJoR0kz
WjJCZHp6WnVlK1JFbDFPbTRESVdEK1JydFVUT0pMSStTMGpIb3dYWGRBeHNHTFNkNDB6WU51RVVs
T0docndMNmM3dGNPdFVPdnBKQ1A3UUJRUzE5SCtHdlpuMDVld2psVkx6K0lHS29DOVR5ZlFqTE1C
Tm1YQ3VxcXRUZE9TdWtaVzQ4QjBIcWdTVENCckJubEZ2RjRDRzJTdTd5RnpxbUpGVVJLM1VtVFQz
cnUwNTByMHB0VXBNaWxZbkJKV2ZsMkJ2NmtQbFV1RTFreHhwZHp1aTlBdWJzUjJOMmJvVlN1ODFP
dWxBd0Jxb1NyMUxaMExMWU9vbXlaSG1qcW5YbFA3MnM4TG5Eb3VFSmp0b2RCdmRIYUcxak15U1lP
N2NyV2Q5ME1wQ1J5Q0cxNHZiNUlFN0FydXB3L3kvUmNDbS9UbTN6SzZ6WWo4UFlOYUdsZGlVZmtC
L0xIV2NtZjJsVk0rbXd5VTI3YTBxcTJ0c2NyUS92ekJqTjI2RG5udElyT3lHaXp6WEszNXlLUWRZ
blVBQmt5TjRzYXozV0QvdmlGK2VDY3NYbklhamRXWUpXYVlIUnN0SWlzOUNTK3RxbkZHbXoyajV1
emZyM1o0cHJxZ0s0WE9UL1B5ZnR2alpxSW04bGhrZnhKN09sM0NKRjFwaVlCR0FHOHd0QWs1NkRy
dzFZd21PcGN6K05kZmtTcFNMcGxSWExYSEwwUnF1ajZZVy9nYWJxZ0s3RGdyNk53dEgwQi9BTjdY
ck4rTVZKNkFtWG1VdXFtUXVsck5OWVBtSDBSb0RvZ3lkT0tMby9RYmZZTkFSU1FRS0lTUkN6UlhV
K3E5V1dKRkwzTFpXNnUzNENrZUc5N3hDME5OR2FKMGJ2SzZTblpTM3pQc2tyNUV0dUNnak1XUjVv
Mng1QnFoS21EV0pQUmU3Sk1FT3lSYjV1VUtsSGFHVnRxNWl2U09hU2xpU1hwOVNRbTJxazhNUkpo
MTBNQXA5UVEySDV0NTlKOHJqaXdTWnRvSWZNR2psTFBWTmRZbC9MQlIwQU82V0xHRG1rTGtJUFJF
NDVZOU1mdGRBSy95TnUxSG42dHpPUVRlc2dRKzhmU3pCMTl3TzkxdkNuTzIzdk9XUWR3SjYzU0py
WWpkZktGVzZXMjgxUEtzMms4aVQ5YWkxY2dKNHNhM3hxZHZtdHhSOC8rRDFCOEFLYzJ1KzZKZnRy
eVJoTVdTUXRvU0JnSXl5UUd5eGNuRUx1QWFzWE4xMm9TcmlVNFJNejFERDZSTDBUU1Yrb203aTFZ
dCtqRUUvam5hd004Y1gvVWhONG5raXYvdzllQUxyek5oWHVRZk96RkwwRmk2U2pGNy80UW44ckxZ
Qm9hODVjdmdBbmtDRUJQK0hQYkVucXVWWENac01TL3l6WXcyVnJ1NjBQLytuSlBZS2t6WkZqbWJ5
a3pVb0VxVjgzNlQ1cTNmUC9MMzgzZEY4MnR4MTgvQVpnWmN6TUFneWVXWUttU1pJcXRITCtlK080
WlJjcTlWSTNnL3FQZUNvaUs0cGNnRXFkYlMwUy9CZTU0c2JWUU91SlZQTkJibElnaHplYXNOdTdo
L2crU3oxSWRoSTVsQ3dxMW5VYjNKaTRPQ0ljcVFacXRxSjV3N3JYcmcvREE5SWdWbUVHaERnR2Vj
RXduQ1RIZmZYY1hzMFYzT0NFVnpZREtTMXZwL29YK25nKzZYVlU4NlVqQTZGTU8yUlhPT09ycVkx
R2dQdnJBazlIVi9CWHRDdTVSdXdGOHFnZEdETHNCY3VpNEUzM3ltZEJpcDFYOHVLeWhJV1Q4cU5S
RHNYeitndk85VWlFQzBkOFJHNFRmMng4SDRzbGxqZ0h0Q0JjeEhMVFdPWUptNUgvZkNQQ3pPZ2Y5
cWdPVXhUUlowUGM2aGE1eUx1TFZUOW50dklhNmdhY0U5OW1Db3ZkVXVtVFFkUlA0UlBzUzkxMjll
RWUydVN2dkdoMGJWNFkzUVBQaFBaTXFoWldTTWE1UjBIYzFTR080SVZPUWMwRnJpcmxpYlRWZktS
cllrRDhrejNiK1g2NS9Ra1VOYVpkcmRsM21DYXAwSGYzWWNDdy9MaW91SllOYnF6ODhVcWVEWXY5
M3lPN3Z2WHRnbDRYQ3lBTzRPRGtZNlcrODMrTFpVLy9wMy96WE5HR3JVS0NsQ2lPbkwyN2lKWmJO
V0RGMDJYWEFPZUZsQjdJYUFEb01IMVlxcitVUDliaXlaREVhL2lKdDRNRGVJejZHS1RkTFZCZldH
VnRSTjRmZFQycmdSZVg4VVh3RjJ6T3JyYWRtNEowbnlUZ2RQbmFpM1J2enBadkNLRFVxak93RC9R
QTZFRGFNQ0xld1g2UVdZVm5IWTFzeDFiZDhvdlluUG0xWnZQSCtyRTIwbFdqT0NuWjY2L3hEdDBR
QWwxNUZqZkJjWnAraTlPVTBSTlBRMHQzeDJwU05XbzhlaVl1ZHdzbnVQMUhxNmlIMUxKQ0p5bmtZ
c2ZnSjBwM3BGNlNvUWsybCtqcUU4Q1BrK3ppR0pSU0tqcytXNUFPMTg1dW1QZGtZemxLNHdsN1RD
OU54eXlEUDdab3lZVm9YaXVTNlNqbklubExXcnd6MWk4YkdUS1hYMEFWUVdrU2ZJbGdsVzN6UkpS
SjhiZzVWZ0U2WkVucU51OUIrKzBHTlF2RFFKdkZpemU0RVNOS0JKUCs4dkEzTE00QVg1U0lCcTA4
TW9iKzdRTVRDWng0bndQLzY0KzRCbmxaQys4V3RsUC9DWHc2dDFQd013a0ozamhQMUZpWExoREYv
M0k2RkdVek8yRFNpOUFCeEt5eUw5cGFaeFNFejQwWkNQUVRvREFKdTE5NTlrN1FkYlZ4Z0I0aWNz
dTJzNHpzVFBKaGNFRG8rTjFHWDR6U2svd3JpUmg4QXF3TDYyOTcyaTlISkhkMXlkYUxYVnp2S3ZP
ZkdHdzVSVmNVVk1pS1hGSDRBUGRrUVUvZGM1QlgwWWZLVE5aWVhDVzltYjhiYzhtdWZvUVA2QmJk
UW1UOTlaam9ZZnIvZ280VGdRWDlJRGd6dGltN3d5RmVHTWZiTmFlcWo4RHpzMzhwZ2Nxd1N2Mmhi
cUIzb1NHS1dLeStzZXNZN3A1N3dBSGxkcUU2TkR1ZGsvVzdzL3pqcks0clpGbEZ2YUd4blNaZEhi
YzF5NDdxRE42eGtvSzhPM2JmcjJqNDFkbEpaNzFyQjRkbERxYXBQRmE4TjZ4QnJwclVkdGVuVUNI
d3hLTmh3MXV1VEJoKzl1VTQ1azRSRXBRQUJOMmJBTzlEU0xxb0lMMjZnTnJvV2d1cDVwVU14SFVO
U3E0R3l6NDd2QlB2aWxwbzVmOU9ZSTJkZEFxVHFtbnhYRVJ4UUozVUs4ZkhiVkU5SGFnSGkzK3Rx
TlJvTnNBcmRtQXhIQTVMd3RRbzlaQWFOS1VUbGpub2tsam8yeDhzY3FWcEVFSVBjMDFmUENkSE9D
ZzBEZVdCejhENVRWQUFmeDhhUkg1WDJaWU5JM2ViS0RaZGVKK29CREF4bVJxSjMwRWgyL0RhZUF5
NWRpVk5NcEVEbVhpUERzR1R6QkxYeThlVkRkSm9JYWZneC9neE15UWk0NTRRclc1Nm5DeWVFTGdT
dU5ORW1Za2ZsRit0M0NaUU9WUldqS2hJdUNjbG1RU2xBWFQzKzRKR0c3NUI0dC81aFErbGRNUDRM
c0FXNnozWG1VNklKSndwbkdWbnNnVVpob1kxZlpsd1RSOHdTVTd4UmVqZjJ1Q3g5WjV0clZUUlJK
UDlLbkViMTM0ZEVpZWlsNmVDT0dXZ2JvSTd4c3FzcU05OWpmSkxUZVBqeWdLbEgyQ1Z4eHNzZTlR
UnpUQkZqRC9LanFpdHIvQ0NUQnQvU0o2bkx4ejdjS1A5cEZxQnBwMGxONXkrYWRLTnNaanJQdXJv
ZW1aYXVIOWFUVEZEM0VLSFc4UzU1WEJMRlFBdDFqZ3hUUUNUd3hteC9KeWZzWkROMVJyb04zVmF4
cFNlbnBJWDdLK1piTDhWZGxRRGNJNENiemczUUpMYTl5VnFOeFVlbHUrRXR4TFZxZWVrYUF2U0pr
TzZzU1ZxYlVhanhxaEtzaE5wdlpxb2VBcEYway8wUDBpa2t3VWNiZHdjNEExZWpON09vME8xNWtH
N2hUTW9LM2haUkJDWDdZWWVMVzB3dmNYeC8xOG4vdTM3eUxnekJZVkJVdk9SR2xpK3NmUmNYLzc0
dUQ2UDRocSs3eHU1NFRsV0pMRnpUNjN1d1VEd3VFRGRPakpRcXg3SlYrWmphRUFQaTd0ME1NclI0
UThSa2YxOHV4RDZSSzBSS2gwaEw4WVUrRGVMOTdpNHBhNVpTeUFmWEt3WlJTLzhnWGN4ZFpYbTYy
UkJEajhVM3NOOHg5NWI1UHBQcy9tQ0JLWXZwYUE1MHBONUN0LzQ5OUFGVHR3UTV2Z2VTaCtOSHJL
SWk0TlZwd00vWHpSYU5mSkQ4NTZsUEU2TTIxeldQZ3VGc0g3amJMVnlFRGZSbXQ0VndyaENKNVZU
WW1jU1BmR2dPNWNsZk4rdmJhRFo3c2FrVTUrMnZaMldDRFkwMzFOeEphclZ5dGZERFZ0aWFmY1RH
TzJySi90YW9MM3pDaE4ycW1qeG9mY3pUT1lRUFBWUVBoMEpWdFlnZFVRSU5jU2lORUV5NThVZFlY
WDFNcFdVQ0VCeDdMYmNHdEFtOFhXUlFUVk9hb1YzeVNyaTRSU2hocy9CLzBtNGpYNk9Bd1hPdmNB
MDliTlNHNGN6RUd2L1dleTZWL2piVENOVFc2YXdYZE5UY0ExR3NQZTFFOWZaZEdsN1IwdnlvVnBJ
ZEp0ZkM2ZDMyTk5FcnJ2cS9SK2Q2NVZHK1lPd1JYcHBYeE9DWXlHTlNmMUszeDZWeEFXL3Z0ejRF
QzFTZ0NPU1BkTjYyc0xzb0l6dURmZzhHd1pBYnF1Vk84SEl1RlAvVG9Wb2VVQjdubndNRjM1YTF3
SzF0STZma3JxRktoUWRlSnB3eWxzMHBJeThBWmRlMy82TFVVYkZhWUp0aHlVSlNVL2txRFhUTFFF
bG5uMEpyNEIyUlZnaE5ybU5tb0VuN3BYSWVzaFBndVhWc3Z3b1RkbUNscTQ5SkpVM0xXaEh5V1Ry
Skw5YlJQNlZLdjN0Wm9BL3RoNzdwNUp3KytPRUVOdnl2V3kvcE5lRXhpRFVWUWFYSVJHaDh4eVNa
VEkzNnl1ZUZhU1hvMXVKWTBSblhZZ0VPb1dXT0pIZWFWdVgvYkdOaEhzaDJ5aW56bmwvKytOSmNF
OWo2ZkJQUmNCZHE5aGI4YXdOdzhVN0JsNkdNN3g2OUVET0lJYlgvbnBaKythbWxIUjlMLzM1bUUv
MlNzNGdiMHhDY1k0VnlURkxSRTc5NnZIeXNMQWFtcWN5TythRlF5SklEQk5zbGJIMi9NckF2WmlT
RUllZGMvY3FqbXY0ZmJkYTJwWGJ2K0Y1YTJzelNzZGttOW5vaU5VUlh0OGVkVWhHVUY2ZlNaV2Qx
SUphWEtGd0QrNDlSNmVDWEQ0QmtlZjdqOXRSdE5NVmdXOEJoUnovUXB5MVRtZVlrMGRveWpab0pT
YmVQT1JlVkhna0ZzQ0Z1UUorTGdjNEJ4ZUFzSy9jT2lORFJtZE53MGN0WWhuL25RNDk4ZFlJNXpu
ekdMb0ppMXJhdjdDbjg4ckwzd0xlUFZ0REs1Z2w3N1RraTNnSEVzSUFRMitJS2dhcmo3WThXMUlR
elY1VjlOKzBUakxxYmc2OFdmS2NPbUJDT2ozSmt3SmhWSWt3RGhjK0pvclh1WkVQTUVoMHZ2SDN4
N2lxZitWQXdYZ2Q0ZGlaaWFKRDF6SEw5U254NldmZzRJdWdyZXloYWJRa2Npcit5NVhnRHRkeDNB
dnM3bGtlZUNCd0R2Wm9UVUNYeDVRclprY0VxV2ZZRWlFWVJzL0VwaG1SQUxTTkdSMUljbGdkcjVW
Rm9FTHB6RjQrK2YzNXczL2owdDV1Y1czbjJjaDRQUUNMdVVYdXBzUFJSN1VBNUZqU0tyTXRQY0tB
WkpmYWdPNGxHRTdGSDNZS01qb3JwSzBaeEF2K2kySmtKaHRBTVdXV0ZlajRSaFBSL2NKM0R4d29j
Q3ZYRGk0U0daVTRjdStLMzJYbmRpRldnb3BBbCswR0FwY3dmMVh2eW1KY0ZzMzlqRXhJQk80eVVq
VTlNRXhCTFFZYzlIK1c3K0lnZEVTUFJwY2lUK3JLWlBlYlZ0YVZxKzFHWU8vNXhUQUwzSEFTak5U
R0lnTXZkaldiZ2M3SnZkRTF6SUZwdUMwVTlFU2laeXpCaXh6eFd4ajRLd2g4TXkzNHErRkszS05M
dG1zQTFxeXJtS1NOUU9YQ1BVWmQrT05lbEJUdkZvVUkvQ1lzcWEvUmh0S2l5TWYyQ2dTRnFFUGs1
OVkzdXFubFo4Z0Zwc3dmU1l5a28yM3lWWll4ektHeEdtNDlacXhnMWw4b3o1UmE5WGFSd0hrdXhl
cG1neWhtMFNvTnkyS2xiY0VxSys5UXFTOVBOeDlJaG05VTdnc1I1NVNTSjFGQkRObmt1V0t4SVow
U0RwWHVPR3daZG9VYk9NRFBIUDR2QkFnejJWbFNFSkFIWkdKVmJZSWc3bC9GTzVLZklWdnhDOHBQ
UHhNR2NOTW9ldkZEZVN0dDJpcXp0RTEwbjJUQTRkZ0pINzZZUzlIRGhLSEQzaUN4NmllRlg4NEJB
STNRUW5uZ2g3NmY1cnVQUVZicjVxWm1jay81VWpEYzI2bGZyT3ZVQld5ME9nbDhiQ29Pa01PbnM4
MVRuQzNjdVVTOUtXOCs5QStmZTNYWVpPRlVQRzF1NWVwU1NtREx3MHM1czJGMFczMEFOZW8rekpr
SlF6OVNQWmd6d1lwRW9rdG9maEdWZm1MT0FCMjBib0NiVzFRV3EvTnBFVC9obk1lY3cvdVN5QUg0
TkpjM0VDT1U0bm5rSzFmajNTL2k1ZHdiM1I3azAwQXFRUVV3dDdJZTFxVjBhWS9WUVgwSjhoTFB5
N2VCTlhNSFlaWUROeEhaMlFoNkF1WEp4cStBZVJlYy9RK0pMaFpWNmhwWHdRRXp3N2JmNXY5dVVm
MnZwcTNxbGhteTBJSUdUa3dZZENmU0FGbXFiZG8rM1h2RFREakZKZGUwbWJlUUxjbjJuMzF4YUFx
SjBpeE8vQ0xzVDRJNEc0RG9uY1ZUZ1JHTkJ0c0NjaklTV1Qrb2VYWjRJZWR3LzhPc0pJMWFQbk5L
TFgvNjBWdmNaYjk0dWFzUnhDa3FsUFExMXUxU2EyaEh2QjgwV1FFTnhWeXpqbnMwL1BpRUJ5eWls
MjFUZTZvaXNrM21OQ0VNcmhvdUNGTzN5RVpUSEhPQ015OWViLzRUbWk4Y1ZmM0xmN1A1M1NZMmhY
M1BTTjAzM0FzM0VUSU1MSFd1bVdFTzlKWEhBMnkyU0lCbElQcExHRzJxdk5zQ0lsSXIrQjFTV0Fx
UkttMnc2QmxmN1UrekNTQndKcmZIRzVpOEo1R2F4L2NWb25NbG9uN2FISlgvZ1N2dWNJbmNSUDkz
WENxa3Y3RDhJRktGc0xpQmdIcVVwWGhFM3BZakVjVjFkay9KRDl6RlZDZkVhUUlWWDhKbWZ6N0lJ
b2ZjQktRNE9hRytDM3hDMnZlWDlDRCtpQUZYRE5hR2c5ZVRWeHZrYkpSSmxXNE5rOVdrMTNrbjY5
NmpXcHBSRGUvOHBEcllNTzlaeXhaOThSZUtTejlrV0tMTHlrMnpDWmdBbmlDa0xKVlgzbjFNOURZ
Ym9teWFoV2l2L0tpeFJJVjloai9vRno4N0krSEx6bmJQVGpwYStEK2JaUW5NdVJzbGpUcHY5MHZR
VXQvcEs3akNGbkEzMEIvanRyb1NGMi9tL2dwV24xYVFzNVdlQTZnaHpGOFNkcVdJMjBmZ2hkU2VE
T0NTQ21MZ1RrZmFHZ0dEbXc3bkhGa1J6R3RhZzU3SUhTMm5hMDZJK2d6RXBoWG8xdy9aeDJCTS9q
S0wyblpvRmpIZ2d0RlFqWWk4blNWUlNYSUU1OFJQYkJPYlhrN3V1SUw5K3JzLzVabzdzdUpJbkVV
eGdzaVpaQVdTMjVpQnRwRWlaZUJnRHRnaEVvQUUwc2pjYXlOcTg1TTR0YnUvTEY1aDUxMzM1UHNH
elEwOU84NzUrdlVTODlsa1dNeU5PRm9pcDJQdXlXeU1QL2lVMlhJWmRmQ0NKTkRqZWJEb0JMUWRw
eTdRUVpDN3M5YzB3akhKZXJ2UU5EdTJqV3pCVzVNU0FKTXI3YlArSXY5MkJrUy9HR2d6akVuN01G
MUlSS0Z3d3piamJTNC9zbEdPbWh4OWNackZ1N0hTRWVmb2pOdjNyMFVhS2ZLT1d6WHNxMXpFdWdi
emxNREZzYWNSSkpJL2lKbEszdnRrWitQTFpJVk1GbEtBMzJ3YnEyS2Q1VDB1Q0xaMUNQa0FmQ2R6
a3oyRVlzY2pEY1pxMkFXZnppTjJjb3ZONGtYRTFsUVhQUExUTk0xeHgzdGJpZXBjTy90M1NXbTR3
ODdxZmg5OVNMMFpuWStMS0ZQTFBlWFZNMm1JSW9WV3QrOU5rMEk3blk0Tzc5aUdZcXhaOFJWejI4
OWFuNk5WZEpXblNLWnZKUUNBdUhOaVZhRHhQQUZvSDM5MnQ5d290NXQwL3FtVTk1ZUVXTmJVMnVk
VVc1c045SlZxY1lsdkFJZkxlWUMzM29Venp4WmdTa3RzdjIxbUE3VWx5MUZBNVZub0pGaDZOMjQ0
V212M1lKR0Z2L1RDUHJ5YXcrWk9SbHBaalFkcS8yRFlYcjNFWnNrZmVkMEc2MVAwOWlwVEttbFRR
MTA2N1JnNStQQWs1RmxROWUwU1diR2YyQi8wOGtxeW1PVE1WT3puc0FMSEhORkg0TEZSS2wyRi9O
T2lZRmw5a2hOSG5TdTlBazVzcTI2WW5sL2kyZmRUbGUyOVkxdWdxbVI1WWo0WVQ5cHZzbEZ5WUNi
dzBtTkZyNXJWUW0xTHZrRzI3UU1xOXBoM3Q4Zm1uNnI2U1E0b1NicjV0eitKMWtJYXdHekR4YjZW
WU92dldob2JEVFhmQmVOdjNiNGFObTVYVWluc0NHcUcycS80NW0zK0xvQ09zZGRGY2VZaFJ4MVRz
c3M5UExkUGZKZEVyRk1qWWQzZ2RkamlQMCtYUWpjUmFkWlA2YndOTHlTdnVuRmYyMEN6eTZKcWRF
VzJhOTZLeGRZZE9yeUJ2MUJqYnVVcTJ5Q0hlaCs2c2s3ZkdtbVBpNTBwZS8xbDVUeVBlNW9IVzlv
UG5oUHN3THlmMlRGRGRDeVlsaHdCQ3N0djVDMUh3bFc3eFdvR1Q5WFp0NHFWajVXcnlMUExMRDZo
LzVjTUxFald6Z0NlQUlLTnNMYWs5MmFCcUJzSGw0QUp3bDJONGpmdmJTa0JFeEdpbXYwbkZ2djA5
dURTY1FiangrdzRrUFFqZ2psVytnOXdzOVZFSnZJMms4TjZYeFZ1MHVJd292Z1RGZHVuRzI0Z0J0
YURpK3kxWUxRd1o4bXdiaXA1ZlZsTzNrMG4wQUVyL0VUYnR1OFZqa20rbk5TaUViN1gvM2ZNakJM
NUE4UGRnRysvRm5iZXhiRkZFeG1FZmV0WEFuaXNFS3k1ejQ0V1ZQcFFaalN5L2p6ZUduNHlEUnNG
R3FoaDg3UVBhREJXaGxvMzdJRmJlL0MweHluUzkxZDJ0UC9BSm9KUzBzVkY2aXdBQUFBQUVsRlRr
U3VRbUNDIik7Ci19Ci0KLSNtZW51OjphZnRlciB7Ci0gIGRpc3BsYXk6IGJsb2NrOwotICBjb250
ZW50OiAnJzsKLSAgcGFkZGluZy10b3A6IDgwcHg7Ci19Ci0KLSNsb2dvIHsKLSAgcG9zaXRpb246
IGZpeGVkOwotICBib3R0b206IDEwcHg7Ci0gIHJpZ2h0OiAxMHB4OwotICBiYWNrZ3JvdW5kOiBy
Z2JhKDI1NSwyNTUsMjU1LC4xKTsKLSAgZm9udC1zaXplOiAxMXB4OwotICBkaXNwbGF5OiBibG9j
azsKLSAgd2lkdGg6IDIwcHg7Ci0gIGhlaWdodDogMjBweDsKLSAgbGluZS1oZWlnaHQ6IDIwcHg7
Ci0gIHRleHQtYWxpZ246IGNlbnRlcjsKLSAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAyMHB4Owot
ICAtbW96LWJvcmRlci1yYWRpdXM6IDIwcHg7Ci0gIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDNw
eCByZ2JhKDAsMCwwLC4yKTsKLSAgLW1vei1ib3gtc2hhZG93OiAwIDAgM3B4IHJnYmEoMCwwLDAs
LjIpOwotICBjb2xvcjogaW5oZXJpdDsKLX0KLQotI21lbnUgbGkgYSB7Ci0gIGRpc3BsYXk6IGJs
b2NrOwotICBjb2xvcjogd2hpdGU7Ci0gIHBhZGRpbmc6IDAgMzVweCAwIDI1cHg7Ci0gIC13ZWJr
aXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZCAzMDBtczsKLSAgLW1vei10cmFuc2l0aW9uOiBiYWNr
Z3JvdW5kIDMwMG1zOwotfQotCi0jbWVudSBsaSB7Ci0gIHBvc2l0aW9uOiByZWxhdGl2ZTsKLSAg
bGlzdC1zdHlsZTogbm9uZTsKLX0KLQotI21lbnUgYTpob3ZlciwKLSNtZW51IGEuYWN0aXZlIHsK
LSAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwotICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1
LC4xKTsKLX0KLQotI21lbnUgbGk6aG92ZXIgLmNvdiB7Ci0gIG9wYWNpdHk6IDE7Ci19Ci0KLSNt
ZW51IGxpIC5kaXJuYW1lIHsKLSAgb3BhY2l0eTogLjYwOwotICBwYWRkaW5nLXJpZ2h0OiAycHg7
Ci19Ci0KLSNtZW51IGxpIC5iYXNlbmFtZSB7Ci0gIG9wYWNpdHk6IDE7Ci19Ci0KLSNtZW51IC5j
b3YgewotICBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLC40KTsKLSAgcG9zaXRpb246IGFic29sdXRl
OwotICB0b3A6IDA7Ci0gIHJpZ2h0OiA4cHg7Ci0gIGZvbnQtc2l6ZTogOXB4OwotICBvcGFjaXR5
OiAuNjsKLSAgdGV4dC1hbGlnbjogbGVmdDsKLSAgd2lkdGg6IDE3cHg7Ci0gIC13ZWJraXQtYm9y
ZGVyLXJhZGl1czogMTBweDsKLSAgLW1vei1ib3JkZXItcmFkaXVzOiAxMHB4OwotICBwYWRkaW5n
OiAycHggM3B4OwotICB0ZXh0LWFsaWduOiBjZW50ZXI7Ci19Ci0KLSNzdGF0czpudGgtY2hpbGQo
Mm4pIHsKLSAgZGlzcGxheTogaW5saW5lLWJsb2NrOwotICBtYXJnaW4tdG9wOiAxNXB4OwotICBi
b3JkZXI6IDFweCBzb2xpZCAjZWVlOwotICBwYWRkaW5nOiAxMHB4OwotICAtd2Via2l0LWJveC1z
aGFkb3c6IGluc2V0IDAgMCAycHggI2VlZTsKLSAgLW1vei1ib3gtc2hhZG93OiBpbnNldCAwIDAg
MnB4ICNlZWU7Ci0gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogNXB4OwotICAtbW96LWJvcmRlci1y
YWRpdXM6IDVweDsKLX0KLQotI3N0YXRzIGRpdiB7Ci0gIGZsb2F0OiBsZWZ0OwotICBwYWRkaW5n
OiAwIDVweDsKLX0KLQotI3N0YXRzOjphZnRlciB7Ci0gIGRpc3BsYXk6IGJsb2NrOwotICBjb250
ZW50OiAnJzsKLSAgY2xlYXI6IGJvdGg7Ci19Ci0KLSNzdGF0cyAuc2xvYzo6YWZ0ZXIgewotICBj
b250ZW50OiAnIFNMT0MnOwotICBjb2xvcjogI2I2YjZiNjsKLX0KLQotI3N0YXRzIC5wZXJjZW50
YWdlOjphZnRlciB7Ci0gIGNvbnRlbnQ6ICcgY292ZXJhZ2UnOwotICBjb2xvcjogI2I2YjZiNjsK
LX0KLQotI3N0YXRzIC5oaXRzLAotI3N0YXRzIC5taXNzZXMgewotICBkaXNwbGF5OiBub25lOwot
fQotCi0uaGlnaCB7Ci0gIGNvbG9yOiAjMDBkNGI0OwotfQotLm1lZGl1bSB7Ci0gIGNvbG9yOiAj
ZTg3ZDBkOwotfQotLmxvdyB7Ci0gIGNvbG9yOiAjZDQwODFhOwotfQotLnRlcnJpYmxlIHsKLSAg
Y29sb3I6ICNkNDA4MWE7Ci0gIGZvbnQtd2VpZ2h0OiBib2xkOwotfQotCi10YWJsZSB7Ci0gIHdp
ZHRoOiA4MCU7Ci0gIG1hcmdpbi10b3A6IDEwcHg7Ci0gIGJvcmRlci1jb2xsYXBzZTogY29sbGFw
c2U7Ci0gIGJvcmRlcjogMXB4IHNvbGlkICNjYmNiY2I7Ci0gIGNvbG9yOiAjMzYzNjM2OwotICAt
d2Via2l0LWJvcmRlci1yYWRpdXM6IDNweDsKLSAgLW1vei1ib3JkZXItcmFkaXVzOiAzcHg7Ci19
Ci0KLXRhYmxlIHRoZWFkIHsKLSAgZGlzcGxheTogbm9uZTsKLX0KLQotdGFibGUgdGQubGluZSwK
LXRhYmxlIHRkLmhpdHMgewotICB3aWR0aDogMjBweDsKLSAgYmFja2dyb3VuZDogI2VhZWFlYTsK
LSAgdGV4dC1hbGlnbjogY2VudGVyOwotICBmb250LXNpemU6IDExcHg7Ci0gIHBhZGRpbmc6IDAg
MTBweDsKLSAgY29sb3I6ICM5NDk0OTQ7Ci19Ci0KLXRhYmxlIHRkLmhpdHMgewotICB3aWR0aDog
MTBweDsKLSAgcGFkZGluZzogMnB4IDVweDsKLSAgY29sb3I6IHJnYmEoMCwwLDAsLjIpOwotICBi
YWNrZ3JvdW5kOiAjZjBmMGYwOwotfQotCi10ci5taXNzIHRkLmxpbmUsCi10ci5taXNzIHRkLmhp
dHMgewotICBiYWNrZ3JvdW5kOiAjZTZjM2M3OwotfQotCi10ci5taXNzIHRkIHsKLSAgYmFja2dy
b3VuZDogI2Y4ZDVkODsKLX0KLQotdGQuc291cmNlIHsKLSAgcGFkZGluZy1sZWZ0OiAxNXB4Owot
ICBsaW5lLWhlaWdodDogMTVweDsKLSAgd2hpdGUtc3BhY2U6IHByZTsKLSAgZm9udDogMTJweCBt
b25hY28sIG1vbm9zcGFjZTsKLX0KLQotY29kZSAuY29tbWVudCB7IGNvbG9yOiAjZGRkIH0KLWNv
ZGUgLmluaXQgeyBjb2xvcjogIzJGNkZBRCB9Ci1jb2RlIC5zdHJpbmcgeyBjb2xvcjogIzU4OTBB
RCB9Ci1jb2RlIC5rZXl3b3JkIHsgY29sb3I6ICM4QTYzNDMgfQotY29kZSAubnVtYmVyIHsgY29s
b3I6ICMyRjZGQUQgfQotPC9zdHlsZT48L2hlYWQ+PGJvZHk+PGRpdiBpZD0iY292ZXJhZ2UiPjxo
MSBpZD0ib3ZlcnZpZXciPkNvdmVyYWdlPC9oMT48ZGl2IGlkPSJtZW51Ij48bGk+PGEgaHJlZj0i
I292ZXJ2aWV3Ij5vdmVydmlldzwvYT48L2xpPjxsaT48c3BhbiBjbGFzcz0iY292IGhpZ2giPjk1
PC9zcGFuPjxhIGhyZWY9IiN3ZWJpZGwyLmpzIj48c3BhbiBjbGFzcz0iYmFzZW5hbWUiPndlYmlk
bDIuanM8L3NwYW4+PC9hPjwvbGk+PGEgaWQ9ImxvZ28iIGhyZWY9Imh0dHA6Ly92aXNpb25tZWRp
YS5naXRodWIuY29tL21vY2hhLyI+bTwvYT48L2Rpdj48ZGl2IGlkPSJzdGF0cyIgY2xhc3M9Imhp
Z2giPjxkaXYgY2xhc3M9InBlcmNlbnRhZ2UiPjk1JTwvZGl2PjxkaXYgY2xhc3M9InNsb2MiPjU3
MjwvZGl2PjxkaXYgY2xhc3M9ImhpdHMiPjU0ODwvZGl2PjxkaXYgY2xhc3M9Im1pc3NlcyI+MjQ8
L2Rpdj48L2Rpdj48ZGl2IGlkPSJmaWxlcyI+PGRpdiBjbGFzcz0iZmlsZSI+PGgyIGlkPSJ3ZWJp
ZGwyLmpzIj53ZWJpZGwyLmpzPC9oMj48ZGl2IGlkPSJzdGF0cyIgY2xhc3M9ImhpZ2giPjxkaXYg
Y2xhc3M9InBlcmNlbnRhZ2UiPjk1JTwvZGl2PjxkaXYgY2xhc3M9InNsb2MiPjU3MjwvZGl2Pjxk
aXYgY2xhc3M9ImhpdHMiPjU0ODwvZGl2PjxkaXYgY2xhc3M9Im1pc3NlcyI+MjQ8L2Rpdj48L2Rp
dj48dGFibGUgaWQ9InNvdXJjZSI+PHRoZWFkPjx0cj48dGg+TGluZTwvdGg+PHRoPkhpdHM8L3Ro
Pjx0aD5Tb3VyY2U8L3RoPjwvdHI+PC90aGVhZD48dGJvZHk+PHRyPjx0ZCBjbGFzcz0ibGluZSI+
MTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gPC90ZD48L3Ry
Pjx0cj48dGQgY2xhc3M9ImxpbmUiPjI8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+IDwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+
MzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+PHNwYW4gY2xh
c3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPmZ1bmN0aW9uPC9zcGFuPiA8c3BhbiBjbGFz
cz0iayI+KCk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xh
c3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xPC90ZD48
dGQgY2xhc3M9InNvdXJjZSI+ICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IHRva2VuaXNl
IDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ZnVuY3Rpb248L3NwYW4+
IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPnN0cjxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3Bh
biBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9
ImxpbmUiPjU8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDc8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4g
ICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IHRva2VucyA8c3BhbiBjbGFzcz0iayI+
PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPltdPC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNz
PSJsaW5lIj42PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAg
ICAgICAgPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+ICAgcmUgPHNwYW4gY2xhc3M9ImsiPj08L3Nw
YW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5l
Ij43PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAg
ICAgICAgICA8c3BhbiBjbGFzcz0icyI+ImZsb2F0Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ojwv
c3Bhbj4gICAgICAgIDxzcGFuIGNsYXNzPSJzIj4vXi0/KChbMC05XStcLlswLTldKnxbMC05XSpc
LlswLTldKykoW0VlXVstK10/WzAtOV0rKT98WzAtOV0rW0VlXVstK10/WzAtOV0rKS88L3NwYW4+
PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90
ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+
ICAgPHNwYW4gY2xhc3M9InMiPiJpbnRlZ2VyIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ojwvc3Bh
bj4gICAgICA8c3BhbiBjbGFzcz0icyI+L14tPygwKFtYeF1bMC05QS1GYS1mXSt8WzAtN10qKXxb
MS05XVswLTldKikvPC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj45PC90ZD48
dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFu
IGNsYXNzPSJrIj4sPC9zcGFuPiAgIDxzcGFuIGNsYXNzPSJzIj4iaWRlbnRpZmllciI8L3NwYW4+
PHNwYW4gY2xhc3M9ImsiPjo8L3NwYW4+ICAgPHNwYW4gY2xhc3M9InMiPi9eW0EtWl9hLXpdWzAt
OUEtWl9hLXpdKi88L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjEwPC90ZD48
dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFu
IGNsYXNzPSJrIj4sPC9zcGFuPiAgIDxzcGFuIGNsYXNzPSJzIj4ic3RyaW5nIjwvc3Bhbj48c3Bh
biBjbGFzcz0iayI+Ojwvc3Bhbj4gICAgICAgPHNwYW4gY2xhc3M9InMiPi9eIlteIl0qIi88L3Nw
YW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjExPC90ZD48dGQgY2xhc3M9ImhpdHMi
PjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj4sPC9z
cGFuPiAgIDxzcGFuIGNsYXNzPSJzIj4id2hpdGVzcGFjZSI8L3NwYW4+PHNwYW4gY2xhc3M9Imsi
Pjo8L3NwYW4+ICAgPHNwYW4gY2xhc3M9InMiPi9eKD86W1x0XG5cciBdK3xbXHRcblxyIF0qKChc
L1wvLip8XC9cKigufFxufFxyKSo/XCpcLylbXHRcblxyIF0qKSkrLzwvc3Bhbj48L3RkPjwvdHI+
PHRyPjx0ZCBjbGFzcz0ibGluZSI+MTI8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+ICAgPHNwYW4g
Y2xhc3M9InMiPiJvdGhlciI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjo8L3NwYW4+ICAgICAgICA8
c3BhbiBjbGFzcz0icyI+L15bXlx0XG5cciAwLTlBLVpfYS16XS88L3NwYW4+PC90ZD48L3RyPjx0
cj48dGQgY2xhc3M9ImxpbmUiPjEzPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNz
PSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90cj48
dHI+PHRkIGNsYXNzPSJsaW5lIj4xNDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFz
cz0ic291cmNlIj4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiAgIHR5cGVzIDxzcGFu
IGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+W108L3NwYW4+PC90ZD48L3RyPjx0
cj48dGQgY2xhc3M9ImxpbmUiPjE1PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNz
PSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBj
bGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4xNjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4zMjk8
L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj5mb3I8L3NwYW4+
IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IGsgPHNw
YW4gY2xhc3M9ImsiPmluPC9zcGFuPiByZTxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiB0eXBlczxz
cGFuIGNsYXNzPSJrIj4uPC9zcGFuPnB1c2g8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5rPHNwYW4g
Y2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0i
bGluZSI+MTc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDc8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4g
ICAgICAgIDxzcGFuIGNsYXNzPSJrIj53aGlsZTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3Nw
YW4+c3RyPHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+bGVuZ3RoIDxzcGFuIGNsYXNzPSJrIj4+PC9z
cGFuPiA8c3BhbiBjbGFzcz0icyI+MDwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNw
YW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNz
PSJsaW5lIj4xODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yOTE0PC90ZD48dGQgY2xhc3M9InNvdXJj
ZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gbWF0Y2hlZCA8c3BhbiBj
bGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPmZhbHNlPC9zcGFuPjxzcGFuIGNsYXNz
PSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+
MTk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MjkxNDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAg
ICAgICAgIDxzcGFuIGNsYXNzPSJrIj5mb3I8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFu
PjxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IGkgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxz
cGFuIGNsYXNzPSJzIj4wPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiBuIDxzcGFuIGNs
YXNzPSJrIj49PC9zcGFuPiB0eXBlczxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPmxlbmd0aDxzcGFu
IGNsYXNzPSJrIj47PC9zcGFuPiBpIDxzcGFuIGNsYXNzPSJrIj48PC9zcGFuPiBuPHNwYW4gY2xh
c3M9ImsiPjs8L3NwYW4+IGk8c3BhbiBjbGFzcz0iayI+KyspPC9zcGFuPiA8c3BhbiBjbGFzcz0i
ayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjIw
PC90ZD48dGQgY2xhc3M9ImhpdHMiPjEzMzI1PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAg
ICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IHR5cGUgPHNwYW4gY2xhc3M9Imsi
Pj08L3NwYW4+IHR5cGVzPHNwYW4gY2xhc3M9ImsiPls8L3NwYW4+aTxzcGFuIGNsYXNzPSJrIj5d
Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjIxPC90
ZD48dGQgY2xhc3M9ImhpdHMiPjEzMzI1PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAg
ICAgICAgIHN0ciA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gc3RyPHNwYW4gY2xhc3M9ImsiPi48
L3NwYW4+cmVwbGFjZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPnJlPHNwYW4gY2xhc3M9ImsiPls8
L3NwYW4+dHlwZTxzcGFuIGNsYXNzPSJrIj5dLDwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPmZ1bmN0
aW9uPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj50b2s8c3BhbiBjbGFzcz0iayI+KTwv
c3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4g
PHRkIGNsYXNzPSJsaW5lIj4yMjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yOTE0PC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICB0b2tlbnM8c3BhbiBjbGFzcz0iayI+Ljwv
c3Bhbj5wdXNoPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+
IHR5cGU8c3BhbiBjbGFzcz0iayI+Ojwvc3Bhbj4gdHlwZTxzcGFuIGNsYXNzPSJrIj4sPC9zcGFu
PiB2YWx1ZTxzcGFuIGNsYXNzPSJrIj46PC9zcGFuPiB0b2sgPHNwYW4gY2xhc3M9ImsiPn08L3Nw
YW4+PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0
ZCBjbGFzcz0ibGluZSI+MjM8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MjkxNDwvdGQ+PHRkIGNsYXNz
PSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAgbWF0Y2hlZCA8c3BhbiBjbGFzcz0iayI+PTwv
c3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnRydWU8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+
PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4yNDwvdGQ+PHRkIGNs
YXNzPSJoaXRzIj4yOTE0PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAg
ICA8c3BhbiBjbGFzcz0iayI+cmV0dXJuPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+IiI8L3NwYW4+
PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjI1
PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAg
ICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90
ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4yNjwvdGQ+PHRkIGNsYXNz
PSJoaXRzIj4xNjIzOTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3Bh
biBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPm1hdGNoZWQ8c3Bh
biBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPmJyZWFrPC9zcGFuPjxzcGFuIGNs
YXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj4yNzwvdGQ+PHRk
IGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBj
bGFzcz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9Imxp
bmUiPjI4PC90ZD48dGQgY2xhc3M9ImhpdHMiPjU4Mjg8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4g
ICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9z
cGFuPm1hdGNoZWQ8c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPmNvbnRp
bnVlPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9Im1p
c3MiPiA8dGQgY2xhc3M9ImxpbmUiPjI5PC90ZD48dGQgY2xhc3M9ImhpdHMiPjA8L3RkPjx0ZCBj
bGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+dGhyb3c8L3NwYW4+IDxz
cGFuIGNsYXNzPSJrIj5uZXc8L3NwYW4+IEVycm9yPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNw
YW4gY2xhc3M9InMiPiJUb2tlbiBzdHJlYW0gbm90IHByb2dyZXNzaW5nIjwvc3Bhbj48c3BhbiBj
bGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjMwPC90ZD48
dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xh
c3M9ImsiPn08L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5l
Ij4zMTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40NzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAg
ICAgPHNwYW4gY2xhc3M9ImsiPnJldHVybjwvc3Bhbj4gdG9rZW5zPHNwYW4gY2xhc3M9ImsiPjs8
L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjMyPC90ZD48dGQgY2xhc3M9Imhp
dHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48
c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+MzM8
L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgIDwvdGQ+PC90
cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MzQ8L3RkPjx0ZCBjbGFzcz0iaGl0
cyI+MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFu
PiBwYXJzZSA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPmZ1bmN0aW9u
PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj50b2tlbnM8c3BhbiBjbGFzcz0iayI+KTwv
c3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4g
PHRkIGNsYXNzPSJsaW5lIj4zNTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40NzwvdGQ+PHRkIGNsYXNz
PSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gbGluZSA8c3BhbiBj
bGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPjE8L3NwYW4+PHNwYW4gY2xhc3M9Imsi
Pjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4zNjwv
dGQ+PHRkIGNsYXNzPSJoaXRzIj40NzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgdG9r
ZW5zIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiB0b2tlbnM8c3BhbiBjbGFzcz0iayI+Ljwvc3Bh
bj5zbGljZTxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9
ImxpbmUiPjM3PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAg
ICAgICAgPC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4zODwvdGQ+
PHRkIGNsYXNzPSJoaXRzIj40NzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4g
Y2xhc3M9ImsiPnZhcjwvc3Bhbj4gRkxPQVQgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFu
IGNsYXNzPSJzIj4iZmxvYXQiPC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj4z
OTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxz
cGFuIGNsYXNzPSJrIj4sPC9zcGFuPiAgIElOVCA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNw
YW4gY2xhc3M9InMiPiJpbnRlZ2VyIjwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGlu
ZSI+NDA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAg
ICA8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gICBJRCA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4g
PHNwYW4gY2xhc3M9InMiPiJpZGVudGlmaWVyIjwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFz
cz0ibGluZSI+NDE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+
ICAgICAgICA8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gICBTVFIgPHNwYW4gY2xhc3M9ImsiPj08
L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4ic3RyaW5nIjwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBj
bGFzcz0ibGluZSI+NDI8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJj
ZSI+ICAgICAgICA8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gICBPVEhFUiA8c3BhbiBjbGFzcz0i
ayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJvdGhlciI8L3NwYW4+PC90ZD48L3RyPjx0cj48
dGQgY2xhc3M9ImxpbmUiPjQzPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJz
b3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQg
Y2xhc3M9ImxpbmUiPjQ0PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3Vy
Y2UiPiAgICAgICAgPC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj40
NTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40NzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAg
PHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gV2ViSURMUGFyc2VFcnJvciA8c3BhbiBjbGFzcz0i
ayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPmZ1bmN0aW9uPC9zcGFuPiA8c3BhbiBjbGFzcz0i
ayI+KDwvc3Bhbj5zdHI8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gbGluZTxzcGFuIGNsYXNzPSJr
Ij4sPC9zcGFuPiBpbnB1dDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiB0b2tlbnM8c3BhbiBjbGFz
cz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFz
cz0ibWlzcyI+IDx0ZCBjbGFzcz0ibGluZSI+NDY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MDwvdGQ+
PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj50aGlzPC9zcGFu
PjxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPm1lc3NhZ2UgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+
IHN0cjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9Im1pc3MiPiA8
dGQgY2xhc3M9ImxpbmUiPjQ3PC90ZD48dGQgY2xhc3M9ImhpdHMiPjA8L3RkPjx0ZCBjbGFzcz0i
c291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+dGhpczwvc3Bhbj48c3BhbiBjbGFz
cz0iayI+Ljwvc3Bhbj5saW5lIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiBsaW5lPHNwYW4gY2xh
c3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0ibWlzcyI+IDx0ZCBjbGFzcz0ibGlu
ZSI+NDg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAg
ICAgICAgIDxzcGFuIGNsYXNzPSJrIj50aGlzPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4uPC9zcGFu
PmlucHV0IDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiBpbnB1dDxzcGFuIGNsYXNzPSJrIj47PC9z
cGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9Im1pc3MiPiA8dGQgY2xhc3M9ImxpbmUiPjQ5PC90ZD48
dGQgY2xhc3M9ImhpdHMiPjA8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3Bh
biBjbGFzcz0iayI+dGhpczwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj50b2tlbnMgPHNw
YW4gY2xhc3M9ImsiPj08L3NwYW4+IHRva2VuczxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+
PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj41MDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0
ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjxzcGFuIGNs
YXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGlu
ZSI+NTE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDc8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAg
ICAgIFdlYklETFBhcnNlRXJyb3I8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5wcm90b3R5cGU8c3Bh
biBjbGFzcz0iayI+Ljwvc3Bhbj50b1N0cmluZyA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNw
YW4gY2xhc3M9ImsiPmZ1bmN0aW9uPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KCk8L3NwYW4+IDxz
cGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9Im1pc3MiPiA8dGQgY2xh
c3M9ImxpbmUiPjUyPC90ZD48dGQgY2xhc3M9ImhpdHMiPjA8L3RkPjx0ZCBjbGFzcz0ic291cmNl
Ij4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+cmV0dXJuPC9zcGFuPiA8c3BhbiBjbGFzcz0i
ayI+dGhpczwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5tZXNzYWdlIDxzcGFuIGNsYXNz
PSJrIj4rPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+IiwgbGluZSAiPC9zcGFuPiA8c3BhbiBjbGFz
cz0iayI+Kzwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnRoaXM8L3NwYW4+PHNwYW4gY2xhc3M9Imsi
Pi48L3NwYW4+bGluZSA8c3BhbiBjbGFzcz0iayI+Kzwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiIg
KHRva2VuczogJyI8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4rPC9zcGFuPiA8c3BhbiBjbGFzcz0i
ayI+dGhpczwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5pbnB1dCA8c3BhbiBjbGFzcz0i
ayI+Kzwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiInKTwvc3Bhbj48c3BhbiBjbGFzcz0idCI+XG48
L3NwYW4+PHNwYW4gY2xhc3M9InMiPiI8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4rPC9zcGFuPjwv
dGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj41MzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3Rk
Pjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAgSlNPTjxzcGFuIGNsYXNzPSJr
Ij4uPC9zcGFuPnN0cmluZ2lmeTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJr
Ij50aGlzPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnRva2VuczxzcGFuIGNsYXNzPSJr
Ij4sPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+bnVsbDwvc3Bhbj48c3BhbiBjbGFzcz0iayI+LDwv
c3Bhbj4gPHNwYW4gY2xhc3M9InMiPjQ8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwv
dGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj41NDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3Rk
Pjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjxzcGFu
IGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj41NTwvdGQ+
PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDwvdGQ+PC90
cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NTY8L3RkPjx0ZCBjbGFzcz0iaGl0
cyI+NDc8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8
L3NwYW4+IGVycm9yIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ZnVu
Y3Rpb248L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPnN0cjxzcGFuIGNsYXNzPSJrIj4p
PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJtaXNz
Ij4gPHRkIGNsYXNzPSJsaW5lIj41NzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4wPC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gdG9rIDxz
cGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+IiI8L3NwYW4+PHNwYW4gY2xh
c3M9ImsiPiw8L3NwYW4+IG51bVRva2VucyA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4g
Y2xhc3M9InMiPjA8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IG1heFRva2VucyA8c3Bh
biBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPjU8L3NwYW4+PHNwYW4gY2xhc3M9
ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0ibWlzcyI+IDx0ZCBjbGFzcz0ibGluZSI+
NTg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAg
ICAgIDxzcGFuIGNsYXNzPSJrIj53aGlsZTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+
bnVtVG9rZW5zIDxzcGFuIGNsYXNzPSJrIj48PC9zcGFuPiBtYXhUb2tlbnMgPHNwYW4gY2xhc3M9
ImsiPiZhbXA7JmFtcDs8L3NwYW4+IHRva2VuczxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPmxlbmd0
aCA8c3BhbiBjbGFzcz0iayI+Pjwvc3Bhbj4gbnVtVG9rZW5zPHNwYW4gY2xhc3M9ImsiPik8L3Nw
YW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9Im1pc3MiPiA8
dGQgY2xhc3M9ImxpbmUiPjU5PC90ZD48dGQgY2xhc3M9ImhpdHMiPjA8L3RkPjx0ZCBjbGFzcz0i
c291cmNlIj4gICAgICAgICAgICAgICAgdG9rIDxzcGFuIGNsYXNzPSJrIj4rPTwvc3Bhbj4gdG9r
ZW5zPHNwYW4gY2xhc3M9ImsiPls8L3NwYW4+bnVtVG9rZW5zPHNwYW4gY2xhc3M9ImsiPl0uPC9z
cGFuPnZhbHVlPHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0ibWlz
cyI+IDx0ZCBjbGFzcz0ibGluZSI+NjA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MDwvdGQ+PHRkIGNs
YXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICBudW1Ub2tlbnM8c3BhbiBjbGFzcz0iayI+Kys7
PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj42MTwvdGQ+PHRkIGNsYXNzPSJo
aXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+
fTwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJtaXNzIj4gPHRkIGNsYXNzPSJsaW5lIj42Mjwv
dGQ+PHRkIGNsYXNzPSJoaXRzIj4wPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAg
PHNwYW4gY2xhc3M9ImsiPnRocm93PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+bmV3PC9zcGFuPiBX
ZWJJRExQYXJzZUVycm9yPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+c3RyPHNwYW4gY2xhc3M9Imsi
Piw8L3NwYW4+IGxpbmU8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gdG9rPHNwYW4gY2xhc3M9Imsi
Piw8L3NwYW4+IHRva2VuczxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnNsaWNlPHNwYW4gY2xhc3M9
ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9InMiPjA8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPiw8L3Nw
YW4+IDxzcGFuIGNsYXNzPSJzIj41PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pKTs8L3NwYW4+PC90
ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjYzPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+
PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PHNwYW4g
Y2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjY0PC90ZD48
dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPC90ZD48L3Ry
Pjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj42NTwvdGQ+PHRkIGNsYXNzPSJoaXRz
Ij40NzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwv
c3Bhbj4gbGFzdF90b2tlbiA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9Imsi
Pm51bGw8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xh
c3M9ImxpbmUiPjY2PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2Ui
PiAgICAgICAgPC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj42Nzwv
dGQ+PHRkIGNsYXNzPSJoaXRzIj40NzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNw
YW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gY29uc3VtZSA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4g
PHNwYW4gY2xhc3M9ImsiPmZ1bmN0aW9uPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj50
eXBlPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IHZhbHVlPHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+
IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBj
bGFzcz0ibGluZSI+Njg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+ODc3ODwvdGQ+PHRkIGNsYXNzPSJz
b3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9
ImsiPighPC9zcGFuPnRva2VuczxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPmxlbmd0aCA8c3BhbiBj
bGFzcz0iayI+fHw8L3NwYW4+IHRva2VuczxzcGFuIGNsYXNzPSJrIj5bPC9zcGFuPjxzcGFuIGNs
YXNzPSJzIj4wPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj5dLjwvc3Bhbj50eXBlIDxzcGFuIGNsYXNz
PSJrIj4hPT08L3NwYW4+IHR5cGU8c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9
ImsiPnJldHVybjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNs
YXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjY5PC90ZD48dGQgY2xhc3M9ImhpdHMiPjU0NzA8
L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3Nw
YW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj50eXBlb2Y8L3NwYW4+
IHZhbHVlIDxzcGFuIGNsYXNzPSJrIj49PT08L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4idW5kZWZp
bmVkIjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnx8PC9zcGFuPiB0b2tlbnM8c3BhbiBjbGFzcz0i
ayI+Wzwvc3Bhbj48c3BhbiBjbGFzcz0icyI+MDwvc3Bhbj48c3BhbiBjbGFzcz0iayI+XS48L3Nw
YW4+dmFsdWUgPHNwYW4gY2xhc3M9ImsiPj09PTwvc3Bhbj4gdmFsdWU8c3BhbiBjbGFzcz0iayI+
KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0
Ij4gPHRkIGNsYXNzPSJsaW5lIj43MDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xNzM4PC90ZD48dGQg
Y2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICBsYXN0X3Rva2VuIDxzcGFuIGNsYXNzPSJr
Ij49PC9zcGFuPiB0b2tlbnM8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5zaGlmdDxzcGFuIGNsYXNz
PSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5l
Ij43MTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xNzM4PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAg
ICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+cmV0dXJuPC9zcGFuPiBsYXN0X3Rva2VuPHNw
YW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjcyPC90
ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICA8
c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NzM8
L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8c3Bh
biBjbGFzcz0iayI+fTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRy
Pjx0ZCBjbGFzcz0ibGluZSI+NzQ8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9
InNvdXJjZSI+ICAgICAgICA8L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9Imxp
bmUiPjc1PC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ3PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAg
ICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiB3cyA8c3BhbiBjbGFzcz0iayI+PTwvc3Bh
bj4gPHNwYW4gY2xhc3M9ImsiPmZ1bmN0aW9uPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KCk8L3Nw
YW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0
ZCBjbGFzcz0ibGluZSI+NzY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+Njk2MTwvdGQ+PHRkIGNsYXNz
PSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xh
c3M9ImsiPighPC9zcGFuPnRva2VuczxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPmxlbmd0aDxzcGFu
IGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+cmV0dXJuPC9zcGFuPjxzcGFuIGNs
YXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj43NzwvdGQ+PHRk
IGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBj
bGFzcz0iYyI+Ly8gY29uc29sZS5sb2coInRva2Vucy5sZW5ndGgiLCB0b2tlbnMubGVuZ3RoLCB0
b2tlbnNbMF0pOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9Imxp
bmUiPjc4PC90ZD48dGQgY2xhc3M9ImhpdHMiPjYxMTU8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4g
ICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9z
cGFuPnRva2VuczxzcGFuIGNsYXNzPSJrIj5bPC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4wPC9zcGFu
PjxzcGFuIGNsYXNzPSJrIj5dLjwvc3Bhbj50eXBlIDxzcGFuIGNsYXNzPSJrIj49PT08L3NwYW4+
IDxzcGFuIGNsYXNzPSJzIj4id2hpdGVzcGFjZSI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik8L3Nw
YW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0
ZCBjbGFzcz0ibGluZSI+Nzk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTE3MjwvdGQ+PHRkIGNsYXNz
PSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiB0IDxz
cGFuIGNsYXNzPSJrIj49PC9zcGFuPiB0b2tlbnM8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5zaGlm
dDxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRk
IGNsYXNzPSJsaW5lIj44MDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yMjk0PC90ZD48dGQgY2xhc3M9
InNvdXJjZSI+ICAgICAgICAgICAgICAgIHQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj52YWx1ZTxz
cGFuIGNsYXNzPSJrIj4uPC9zcGFuPnJlcGxhY2U8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3Bh
biBjbGFzcz0icyI+L1xuL2c8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNs
YXNzPSJrIj5mdW5jdGlvbjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+bTxzcGFuIGNs
YXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj4gbGluZTxzcGFuIGNsYXNz
PSJrIj4rKzs8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5yZXR1cm48L3NwYW4+IG08c3BhbiBjbGFz
cz0iayI+Ozwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7
PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+ODE8L3Rk
Pjx0ZCBjbGFzcz0iaGl0cyI+MTE3MjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAg
ICAgICA8c3BhbiBjbGFzcz0iayI+cmV0dXJuPC9zcGFuPiB0PHNwYW4gY2xhc3M9ImsiPjs8L3Nw
YW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjgyPC90ZD48dGQgY2xhc3M9ImhpdHMi
PjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9z
cGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj44MzwvdGQ+PHRkIGNsYXNzPSJoaXRz
Ij48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFu
PjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj44
NDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDwv
dGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+ODU8L3RkPjx0ZCBjbGFz
cz0iaGl0cyI+NDc8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxzcGFuIGNsYXNzPSJr
Ij52YXI8L3NwYW4+IGFsbF93cyA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9
ImsiPmZ1bmN0aW9uPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KCk8L3NwYW4+IDxzcGFuIGNsYXNz
PSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+
ODY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NTM2NjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAg
ICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IHQgPHNwYW4gY2xhc3M9ImsiPj08L3Nw
YW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPiB0eXBlPHNwYW4gY2xhc3M9ImsiPjo8L3NwYW4+
IDxzcGFuIGNsYXNzPSJzIj4id2hpdGVzcGFjZSI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPiw8L3Nw
YW4+IHZhbHVlPHNwYW4gY2xhc3M9ImsiPjo8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iIjwvc3Bh
bj4gPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48
L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj44NzwvdGQ+PHRkIGNsYXNzPSJo
aXRzIj41MzY2PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9
ImsiPndoaWxlPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0iayI+
dHJ1ZTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3Nw
YW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj44ODwvdGQ+PHRk
IGNsYXNzPSJoaXRzIj42NTM4PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAg
IDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IHcgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IHdz
PHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQg
Y2xhc3M9ImxpbmUiPjg5PC90ZD48dGQgY2xhc3M9ImhpdHMiPjExOTA0PC90ZD48dGQgY2xhc3M9
InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4g
Y2xhc3M9ImsiPighPC9zcGFuPnc8c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9
ImsiPmJyZWFrPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xh
c3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+OTA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTE3Mjwv
dGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICB0PHNwYW4gY2xhc3M9ImsiPi48
L3NwYW4+dmFsdWUgPHNwYW4gY2xhc3M9ImsiPis9PC9zcGFuPiB3PHNwYW4gY2xhc3M9ImsiPi48
L3NwYW4+dmFsdWU8c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFz
cz0ibGluZSI+OTE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+
ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0i
aGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj45MjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj42NTM4PC90ZD48
dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8
c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj50PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+dmFsdWU8c3Bh
biBjbGFzcz0iayI+Ljwvc3Bhbj5sZW5ndGggPHNwYW4gY2xhc3M9ImsiPj48L3NwYW4+IDxzcGFu
IGNsYXNzPSJzIj4wPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0i
ayI+cmV0dXJuPC9zcGFuPiB0PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48
dGQgY2xhc3M9ImxpbmUiPjkzPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJz
b3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8
L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjk0PC90ZD48dGQgY2xhc3M9Imhp
dHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPC90ZD48L3RyPjx0ciBjbGFzcz0i
aGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj45NTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40NzwvdGQ+PHRk
IGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gaW50ZWdl
cl90eXBlIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ZnVuY3Rpb248
L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+
PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj45NjwvdGQ+PHRkIGNs
YXNzPSJoaXRzIj4yNzM8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBj
bGFzcz0iayI+dmFyPC9zcGFuPiByZXQgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNs
YXNzPSJzIj4iIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNs
YXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjk3PC90ZD48dGQgY2xhc3M9ImhpdHMiPjI3Mzwv
dGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4o
KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj45ODwv
dGQ+PHRkIGNsYXNzPSJoaXRzIj4zMTI8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAg
ICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPmNvbnN1
bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5JRDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3Bh
biBjbGFzcz0icyI+InVuc2lnbmVkIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KSk8L3NwYW4+IHJl
dCA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJ1bnNpZ25lZCAiPC9z
cGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0
ZCBjbGFzcz0ibGluZSI+OTk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MjczPC90ZD48dGQgY2xhc3M9
InNvdXJjZSI+ICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3Rk
PjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjEwMDwvdGQ+PHRkIGNsYXNz
PSJoaXRzIj4yODc8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFz
cz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPmNvbnN1bWU8c3BhbiBjbGFz
cz0iayI+KDwvc3Bhbj5JRDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+
InNob3J0Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KSk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5y
ZXR1cm48L3NwYW4+IHJldCA8c3BhbiBjbGFzcz0iayI+Kzwvc3Bhbj4gPHNwYW4gY2xhc3M9InMi
PiJzaG9ydCI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFz
cz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4xMDE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MjU5PC90
ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFu
PiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5jb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+
SUQ8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJsb25nIjwvc3Bhbj48
c3BhbiBjbGFzcz0iayI+KSk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90
cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MTAyPC90ZD48dGQgY2xhc3M9Imhp
dHMiPjQxPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIHJldCA8c3BhbiBj
bGFzcz0iayI+Kz08L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4ibG9uZyI8L3NwYW4+PHNwYW4gY2xh
c3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5l
Ij4xMDM8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAg
ICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRy
IGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjEwNDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40
MzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+
aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPmNvbnN1bWU8c3BhbiBjbGFzcz0iayI+
KDwvc3Bhbj5JRDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+Imxvbmci
PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnJldHVybjwv
c3Bhbj4gcmV0IDxzcGFuIGNsYXNzPSJrIj4rPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+IiBsb25n
Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQi
PiA8dGQgY2xhc3M9ImxpbmUiPjEwNTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4zOTwvdGQ+PHRkIGNs
YXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+cmV0dXJuPC9zcGFu
PiByZXQ8c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGlu
ZSI+MTA2PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAg
ICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+
IDx0ZCBjbGFzcz0ibGluZSI+MTA3PC90ZD48dGQgY2xhc3M9ImhpdHMiPjIxODwvdGQ+PHRkIGNs
YXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4g
Y2xhc3M9ImsiPig8L3NwYW4+cmV0PHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IGVycm9yPHNwYW4g
Y2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9InMiPiJGYWlsZWQgdG8gcGFyc2UgaW50ZWdl
ciB0eXBlIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQg
Y2xhc3M9ImxpbmUiPjEwODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291
cmNlIj4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9z
cGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj4xMDk8L3RkPjx0ZCBjbGFzcz0iaGl0
cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8L3RkPjwvdHI+PHRyIGNsYXNzPSJo
aXQiPiA8dGQgY2xhc3M9ImxpbmUiPjExMDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40NzwvdGQ+PHRk
IGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gZmxvYXRf
dHlwZSA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPmZ1bmN0aW9uPC9z
cGFuPiA8c3BhbiBjbGFzcz0iayI+KCk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwv
dGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MTExPC90ZD48dGQgY2xh
c3M9ImhpdHMiPjIxODwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNs
YXNzPSJrIj52YXI8L3NwYW4+IHJldCA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xh
c3M9InMiPiIiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xh
c3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MTEyPC90ZD48dGQgY2xhc3M9ImhpdHMiPjIxODwv
dGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4o
KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4xMTM8
L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MjIyPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAg
ICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5jb25z
dW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+SUQ8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNw
YW4gY2xhc3M9InMiPiJ1bnJlc3RyaWN0ZWQiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pKTwvc3Bh
bj4gcmV0IDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+InVucmVzdHJp
Y3RlZCAiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9
ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MTE0PC90ZD48dGQgY2xhc3M9ImhpdHMiPjIxODwvdGQ+
PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8
L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4xMTU8L3Rk
Pjx0ZCBjbGFzcz0iaGl0cyI+MjU3PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAg
PHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5jb25zdW1l
PHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+SUQ8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4g
Y2xhc3M9InMiPiJmbG9hdCI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPikpPC9zcGFuPiA8c3BhbiBj
bGFzcz0iayI+cmV0dXJuPC9zcGFuPiByZXQgPHNwYW4gY2xhc3M9ImsiPis8L3NwYW4+IDxzcGFu
IGNsYXNzPSJzIj4iZmxvYXQiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90
cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MTE2PC90ZD48dGQgY2xhc3M9Imhp
dHMiPjE4MjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJr
Ij5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+Y29uc3VtZTxzcGFuIGNsYXNzPSJr
Ij4oPC9zcGFuPklEPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iZG91
YmxlIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KSk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5yZXR1
cm48L3NwYW4+IHJldCA8c3BhbiBjbGFzcz0iayI+Kzwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJk
b3VibGUiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9
ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MTE3PC90ZD48dGQgY2xhc3M9ImhpdHMiPjE3NjwvdGQ+
PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4g
PHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+cmV0PHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IGVycm9y
PHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9InMiPiJGYWlsZWQgdG8gcGFyc2Ug
ZmxvYXQgdHlwZSI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHI+
PHRkIGNsYXNzPSJsaW5lIj4xMTg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9
InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+
Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+MTE5PC90ZD48dGQgY2xhc3M9
ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPC90ZD48L3RyPjx0ciBjbGFz
cz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4xMjA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDc8L3Rk
Pjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IHBy
aW1pdGl2ZV90eXBlIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ZnVu
Y3Rpb248L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8
L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4xMjE8L3Rk
Pjx0ZCBjbGFzcz0iaGl0cyI+MjczPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAg
PHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gbnVtX3R5cGUgPHNwYW4gY2xhc3M9ImsiPj08L3Nw
YW4+IGludGVnZXJfdHlwZTxzcGFuIGNsYXNzPSJrIj4oKTwvc3Bhbj4gPHNwYW4gY2xhc3M9Imsi
Pnx8PC9zcGFuPiBmbG9hdF90eXBlPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+
PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjEyMjwvdGQ+PHRkIGNsYXNzPSJoaXRz
Ij4zNzA8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+
aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPm51bV90eXBlPHNwYW4gY2xhc3M9Imsi
Pik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5yZXR1cm48L3NwYW4+IG51bV90eXBlPHNwYW4gY2xh
c3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5l
Ij4xMjM8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTc2PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAg
ICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNs
YXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjEyNDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xODY8
L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3Nw
YW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPmNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bh
bj5JRDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+ImJvb2xlYW4iPC9z
cGFuPjxzcGFuIGNsYXNzPSJrIj4pKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnJldHVybjwvc3Bh
bj4gPHNwYW4gY2xhc3M9InMiPiJib29sZWFuIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bh
bj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjEyNTwvdGQ+PHRk
IGNsYXNzPSJoaXRzIj4xNjc8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3Bh
biBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPmNvbnN1bWU8c3Bh
biBjbGFzcz0iayI+KDwvc3Bhbj5JRDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFz
cz0icyI+ImJ5dGUiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pKTwvc3Bhbj4gPHNwYW4gY2xhc3M9
ImsiPnJldHVybjwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJieXRlIjwvc3Bhbj48c3BhbiBjbGFz
cz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUi
PjEyNjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xNjg8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAg
ICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFu
PmNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5JRDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFu
PiA8c3BhbiBjbGFzcz0icyI+Im9jdGV0Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KSk8L3NwYW4+
IDxzcGFuIGNsYXNzPSJrIj5yZXR1cm48L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4ib2N0ZXQiPC9z
cGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5l
Ij4xMjc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAg
ICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwv
dHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+MTI4PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRk
IGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNs
YXNzPSJsaW5lIj4xMjk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDc8L3RkPjx0ZCBjbGFzcz0ic291
cmNlIj4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IGNvbnN0X3ZhbHVlIDxzcGFu
IGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ZnVuY3Rpb248L3NwYW4+IDxzcGFu
IGNsYXNzPSJrIj4oKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0
ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4xMzA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+
MTc8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8
L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPmNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwv
c3Bhbj5JRDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+InRydWUiPC9z
cGFuPjxzcGFuIGNsYXNzPSJrIj4pKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnJldHVybjwvc3Bh
bj4gPHNwYW4gY2xhc3M9ImsiPnRydWU8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90
ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4xMzE8L3RkPjx0ZCBjbGFz
cz0iaGl0cyI+MTk8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFz
cz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPmNvbnN1bWU8c3BhbiBjbGFz
cz0iayI+KDwvc3Bhbj5JRDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+
ImZhbHNlIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KSk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5y
ZXR1cm48L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5mYWxzZTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+
Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjEzMjwv
dGQ+PHRkIGNsYXNzPSJoaXRzIj4xNzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAg
IDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+Y29uc3Vt
ZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPklEPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFu
IGNsYXNzPSJzIj4ibnVsbCI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPikpPC9zcGFuPiA8c3BhbiBj
bGFzcz0iayI+cmV0dXJuPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+bnVsbDwvc3Bhbj48c3BhbiBj
bGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9Imxp
bmUiPjEzMzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xNDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAg
ICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3Nw
YW4+Y29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPklEPHNwYW4gY2xhc3M9ImsiPiw8L3Nw
YW4+IDxzcGFuIGNsYXNzPSJzIj4iSW5maW5pdHkiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pKTwv
c3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnJldHVybjwvc3Bhbj4gSW5maW5pdHk8c3BhbiBjbGFzcz0i
ayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjEz
NDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xMzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAg
ICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+Y29u
c3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPklEPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxz
cGFuIGNsYXNzPSJzIj4iTmFOIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KSk8L3NwYW4+IDxzcGFu
IGNsYXNzPSJrIj5yZXR1cm48L3NwYW4+IE5hTjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+
PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MTM1PC90ZD48dGQgY2xhc3M9
ImhpdHMiPjExPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9
ImsiPnZhcjwvc3Bhbj4gcmV0IDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiBjb25zdW1lPHNwYW4g
Y2xhc3M9ImsiPig8L3NwYW4+RkxPQVQ8c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xh
c3M9ImsiPnx8PC9zcGFuPiBjb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+SU5UPHNwYW4g
Y2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0i
bGluZSI+MTM2PC90ZD48dGQgY2xhc3M9ImhpdHMiPjE5PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+
ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwv
c3Bhbj5yZXQ8c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnJldHVybjwv
c3Bhbj4gPHNwYW4gY2xhc3M9InMiPjE8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4qPC9zcGFuPiBy
ZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj52YWx1ZTxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwv
dGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MTM3PC90ZD48dGQgY2xh
c3M9ImhpdHMiPjM8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFz
cz0iayI+dmFyPC9zcGFuPiB0b2sgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IGNvbnN1bWU8c3Bh
biBjbGFzcz0iayI+KDwvc3Bhbj5PVEhFUjxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBj
bGFzcz0icyI+Ii0iPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRy
IGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjEzODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4z
PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9z
cGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj50b2s8c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4g
PHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNs
YXNzPSJsaW5lIj4xMzk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MjwvdGQ+PHRkIGNsYXNzPSJzb3Vy
Y2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNz
PSJrIj4oPC9zcGFuPmNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5JRDxzcGFuIGNsYXNz
PSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+IkluZmluaXR5Ijwvc3Bhbj48c3BhbiBjbGFz
cz0iayI+KSk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5yZXR1cm48L3NwYW4+IDxzcGFuIGNsYXNz
PSJrIj4tPC9zcGFuPkluZmluaXR5PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0
ciBjbGFzcz0ibWlzcyI+IDx0ZCBjbGFzcz0ibGluZSI+MTQwPC90ZD48dGQgY2xhc3M9ImhpdHMi
PjA8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Imsi
PmVsc2U8L3NwYW4+IHRva2VuczxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnVuc2hpZnQ8c3BhbiBj
bGFzcz0iayI+KDwvc3Bhbj50b2s8c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0
cj48dGQgY2xhc3M9ImxpbmUiPjE0MTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFz
cz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+
PHRyPjx0ZCBjbGFzcz0ibGluZSI+MTQyPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNs
YXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PHNwYW4gY2xhc3M9
ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjE0MzwvdGQ+PHRkIGNs
YXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDwvdGQ+PC90cj48dHIg
Y2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MTQ0PC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ3
PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFu
PiB0eXBlX3N1ZmZpeCA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPmZ1
bmN0aW9uPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5vYmo8c3BhbiBjbGFzcz0iayI+
KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0
Ij4gPHRkIGNsYXNzPSJsaW5lIj4xNDU8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MjQ5PC90ZD48dGQg
Y2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPndoaWxlPC9zcGFuPiA8
c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0iayI+dHJ1ZTwvc3Bhbj48c3BhbiBj
bGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBj
bGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4xNDY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MjYz
PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNz
PSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5l
Ij4xNDc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MjYzPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAg
ICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8
L3NwYW4+Y29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPk9USEVSPHNwYW4gY2xhc3M9Imsi
Piw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iPyI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPikpPC9z
cGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8
dGQgY2xhc3M9ImxpbmUiPjE0ODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xMTwvdGQ+PHRkIGNsYXNz
PSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8
c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5vYmo8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5udWxsYWJs
ZTxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiBlcnJvcjxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxz
cGFuIGNsYXNzPSJzIj4iQ2FuJ3QgbnVsbGFibGUgbW9yZSB0aGFuIG9uY2UiPC9zcGFuPjxzcGFu
IGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9
ImxpbmUiPjE0OTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xMTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2Ui
PiAgICAgICAgICAgICAgICAgICAgb2JqPHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+bnVsbGFibGUg
PHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj50cnVlPC9zcGFuPjxzcGFu
IGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj4xNTA8L3Rk
Pjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAg
IDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBj
bGFzcz0ibGluZSI+MTUxPC90ZD48dGQgY2xhc3M9ImhpdHMiPjI1MjwvdGQ+PHRkIGNsYXNzPSJz
b3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+ZWxzZTwvc3Bhbj4gPHNwYW4g
Y2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5jb25zdW1lPHNwYW4g
Y2xhc3M9ImsiPig8L3NwYW4+T1RIRVI8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xh
c3M9InMiPiJbIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KSk8L3NwYW4+IDxzcGFuIGNsYXNzPSJr
Ij57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MTUy
PC90ZD48dGQgY2xhc3M9ImhpdHMiPjM8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAg
ICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBj
bGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4xNTM8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+Mzwv
dGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAgY29uc3VtZTxzcGFuIGNs
YXNzPSJrIj4oPC9zcGFuPk9USEVSPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNz
PSJzIj4iXSI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj58
fDwvc3Bhbj4gZXJyb3I8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0icyI+IlVu
dGVybWluYXRlZCBhcnJheSB0eXBlIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90
ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4xNTQ8L3RkPjx0ZCBjbGFz
cz0iaGl0cyI+NTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAgPHNw
YW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KCE8L3NwYW4+b2JqPHNwYW4g
Y2xhc3M9ImsiPi48L3NwYW4+YXJyYXk8c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gb2JqPHNwYW4g
Y2xhc3M9ImsiPi48L3NwYW4+YXJyYXkgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNs
YXNzPSJzIj4xPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xh
c3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MTU1PC90ZD48dGQgY2xhc3M9ImhpdHMiPjE8L3Rk
Pjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5l
bHNlPC9zcGFuPiBvYmo8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5hcnJheTxzcGFuIGNsYXNzPSJr
Ij4rKzs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjE1NjwvdGQ+PHRkIGNs
YXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4g
Y2xhc3M9ImsiPn08L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJs
aW5lIj4xNTc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MjQ5PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+
ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5lbHNlPC9zcGFuPiA8c3BhbiBjbGFzcz0i
ayI+cmV0dXJuPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRk
IGNsYXNzPSJsaW5lIj4xNTg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNv
dXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PC90ZD48L3RyPjx0cj48
dGQgY2xhc3M9ImxpbmUiPjE1OTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0i
c291cmNlIj4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47
PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj4xNjA8L3RkPjx0ZCBjbGFzcz0i
aGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8L3RkPjwvdHI+PHRyIGNsYXNz
PSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjE2MTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40NzwvdGQ+
PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gc2lu
Z2xlX3R5cGUgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5mdW5jdGlv
bjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPigpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bh
bj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjE2MjwvdGQ+PHRk
IGNsYXNzPSJoaXRzIj4yNjE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3Bh
biBjbGFzcz0iayI+dmFyPC9zcGFuPiBwcmltIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiBwcmlt
aXRpdmVfdHlwZTxzcGFuIGNsYXNzPSJrIj4oKTwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFz
cz0ibGluZSI+MTYzPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2Ui
PiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiAgIHJldCA8c3BhbiBjbGFzcz0i
ayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+IHNlcXVlbmNlPHNwYW4gY2xhc3M9
ImsiPjo8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5mYWxzZTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+
LDwvc3Bhbj4gbnVsbGFibGU8c3BhbiBjbGFzcz0iayI+Ojwvc3Bhbj4gPHNwYW4gY2xhc3M9Imsi
PmZhbHNlPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiBhcnJheTxzcGFuIGNsYXNzPSJr
Ij46PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ZmFsc2U8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPiw8
L3NwYW4+IHVuaW9uPHNwYW4gY2xhc3M9ImsiPjo8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5mYWxz
ZTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9
ImxpbmUiPjE2NDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4g
ICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJo
aXQiPiA8dGQgY2xhc3M9ImxpbmUiPjE2NTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yNjE8L3RkPjx0
ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxz
cGFuIGNsYXNzPSJrIj4oPC9zcGFuPnByaW08c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4g
Y2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJs
aW5lIj4xNjY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+OTk8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4g
ICAgICAgICAgICAgICAgcmV0PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+aWRsVHlwZSA8c3BhbiBj
bGFzcz0iayI+PTwvc3Bhbj4gcHJpbTxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48
dHI+PHRkIGNsYXNzPSJsaW5lIj4xNjc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PC90ZD48L3Ry
Pjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4xNjg8L3RkPjx0ZCBjbGFzcz0iaGl0
cyI+MTYyPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9Imsi
PmVsc2U8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8
L3NwYW4+Y29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPklEPHNwYW4gY2xhc3M9ImsiPiw8
L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4ic2VxdWVuY2UiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4p
KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0
Ij4gPHRkIGNsYXNzPSJsaW5lIj4xNjk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDwvdGQ+PHRkIGNs
YXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9z
cGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MTcwPC90ZD48
dGQgY2xhc3M9ImhpdHMiPjQ8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAg
PHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KCE8L3NwYW4+Y29uc3Vt
ZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPk9USEVSPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxz
cGFuIGNsYXNzPSJzIj4iPCI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPikpPC9zcGFuPiA8c3BhbiBj
bGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJtaXNzIj4gPHRkIGNsYXNzPSJs
aW5lIj4xNzE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAg
ICAgICAgICAgICAgICAgICAgcmV0PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+aWRsVHlwZSA8c3Bh
biBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJzZXF1ZW5jZSI8L3NwYW4+PHNw
YW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjE3Mjwv
dGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAg
ICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUi
PjE3MzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAg
ICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmVsc2U8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9z
cGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MTc0PC90ZD48
dGQgY2xhc3M9ImhpdHMiPjQ8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAg
ICAgIHJldDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnNlcXVlbmNlIDxzcGFuIGNsYXNzPSJrIj49
PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+dHJ1ZTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bh
bj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjE3NTwvdGQ+PHRk
IGNsYXNzPSJoaXRzIj40PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAg
ICByZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5pZGxUeXBlIDxzcGFuIGNsYXNzPSJrIj49PC9z
cGFuPiB0eXBlPHNwYW4gY2xhc3M9ImsiPigpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+fHw8L3Nw
YW4+IGVycm9yPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9InMiPiJFcnJvciBw
YXJzaW5nIHNlcXVlbmNlIHR5cGUiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3Rk
PjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjE3NjwvdGQ+PHRkIGNsYXNz
PSJoaXRzIj40PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICBhbGxf
d3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0
ZCBjbGFzcz0ibGluZSI+MTc3PC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ8L3RkPjx0ZCBjbGFzcz0i
c291cmNlIj4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNw
YW4gY2xhc3M9ImsiPighPC9zcGFuPmNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5PVEhF
UjxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+Ij4iPC9zcGFuPjxzcGFu
IGNsYXNzPSJrIj4pKTwvc3Bhbj4gZXJyb3I8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3BhbiBj
bGFzcz0icyI+IlVudGVybWluYXRlZCBzZXF1ZW5jZSI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7
PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MTc4PC90
ZD48dGQgY2xhc3M9ImhpdHMiPjQ8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAg
ICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFz
cz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4xNzk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NTwvdGQ+
PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlm
PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5jb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8
L3NwYW4+T1RIRVI8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiI/Ijwv
c3Bhbj48c3BhbiBjbGFzcz0iayI+KSk8L3NwYW4+IHJldDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFu
Pm51bGxhYmxlIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+dHJ1ZTwv
c3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8
dGQgY2xhc3M9ImxpbmUiPjE4MDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40PC90ZD48dGQgY2xhc3M9
InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+cmV0dXJuPC9zcGFu
PiByZXQ8c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGlu
ZSI+MTgxPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAg
ICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFz
cz0ibGluZSI+MTgyPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2Ui
PiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNs
YXNzPSJsaW5lIj4xODM8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJj
ZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmVsc2U8L3NwYW4+IDxzcGFuIGNsYXNzPSJr
Ij57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MTg0
PC90ZD48dGQgY2xhc3M9ImhpdHMiPjE1ODwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAg
ICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiBuYW1lIDxzcGFuIGNsYXNzPSJrIj49
PC9zcGFuPiBjb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+SUQ8c3BhbiBjbGFzcz0iayI+
KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4xODU8
L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTY5PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAg
ICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPighPC9zcGFu
Pm5hbWU8c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnJldHVybjwvc3Bh
bj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQg
Y2xhc3M9ImxpbmUiPjE4NjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xNDc8L3RkPjx0ZCBjbGFzcz0i
c291cmNlIj4gICAgICAgICAgICAgICAgcmV0PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+aWRsVHlw
ZSA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gbmFtZTxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnZh
bHVlPHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUi
PjE4NzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAg
ICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8
dGQgY2xhc3M9ImxpbmUiPjE4ODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yNDY8L3RkPjx0ZCBjbGFz
cz0ic291cmNlIj4gICAgICAgICAgICB0eXBlX3N1ZmZpeDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFu
PnJldDxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8
dGQgY2xhc3M9ImxpbmUiPjE4OTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yNDY8L3RkPjx0ZCBjbGFz
cz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNs
YXNzPSJrIj4oPC9zcGFuPnJldDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPm51bGxhYmxlIDxzcGFu
IGNsYXNzPSJrIj4mYW1wOyZhbXA7PC9zcGFuPiByZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5p
ZGxUeXBlIDxzcGFuIGNsYXNzPSJrIj49PT08L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iYW55Ijwv
c3Bhbj48c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gZXJyb3I8c3BhbiBjbGFzcz0iayI+KDwvc3Bh
bj48c3BhbiBjbGFzcz0icyI+IlR5cGUgYW55IGNhbm5vdCBiZSBtYWRlIG51bGxhYmxlIjwvc3Bh
bj48c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRk
IGNsYXNzPSJsaW5lIj4xOTA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MjQ2PC90ZD48dGQgY2xhc3M9
InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnJldHVybjwvc3Bhbj4gcmV0PHNw
YW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjE5MTwv
dGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxzcGFu
IGNsYXNzPSJrIj59PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+
PHRkIGNsYXNzPSJsaW5lIj4xOTI8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9
InNvdXJjZSI+ICAgICAgICA8L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9Imxp
bmUiPjE5MzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40NzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAg
ICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gdW5pb25fdHlwZSA8c3BhbiBjbGFzcz0i
ayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPmZ1bmN0aW9uPC9zcGFuPiA8c3BhbiBjbGFzcz0i
ayI+KCk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9
ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MTk0PC90ZD48dGQgY2xhc3M9ImhpdHMiPjExPC90ZD48
dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwv
c3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjE5NTwvdGQ+
PHRkIGNsYXNzPSJoaXRzIj4xOTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxz
cGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPighPC9zcGFuPmNvbnN1bWU8
c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5PVEhFUjxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3Bh
biBjbGFzcz0icyI+IigiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pKTwvc3Bhbj4gPHNwYW4gY2xh
c3M9ImsiPnJldHVybjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRy
IGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjE5NjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4z
PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwv
c3Bhbj4gcmV0IDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bh
bj4gc2VxdWVuY2U8c3BhbiBjbGFzcz0iayI+Ojwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPmZhbHNl
PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiBudWxsYWJsZTxzcGFuIGNsYXNzPSJrIj46
PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ZmFsc2U8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPiw8L3Nw
YW4+IGFycmF5PHNwYW4gY2xhc3M9ImsiPjo8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5mYWxzZTwv
c3Bhbj48c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gdW5pb248c3BhbiBjbGFzcz0iayI+Ojwvc3Bh
bj4gPHNwYW4gY2xhc3M9ImsiPnRydWU8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IGlk
bFR5cGU8c3BhbiBjbGFzcz0iayI+Ojwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPltdPC9zcGFuPiA8
c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+
PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjE5NzwvdGQ+PHRkIGNsYXNzPSJoaXRz
Ij4zPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZh
cjwvc3Bhbj4gZnN0IDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiB0eXBlPHNwYW4gY2xhc3M9Imsi
PigpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+fHw8L3NwYW4+IGVycm9yPHNwYW4gY2xhc3M9Imsi
Pig8L3NwYW4+PHNwYW4gY2xhc3M9InMiPiJVbmlvbiB0eXBlIHdpdGggbm8gY29udGVudCI8L3Nw
YW4+PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0
ZCBjbGFzcz0ibGluZSI+MTk4PC90ZD48dGQgY2xhc3M9ImhpdHMiPjM8L3RkPjx0ZCBjbGFzcz0i
c291cmNlIj4gICAgICAgICAgICByZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5pZGxUeXBlPHNw
YW4gY2xhc3M9ImsiPi48L3NwYW4+cHVzaDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPmZzdDxzcGFu
IGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9
ImxpbmUiPjE5OTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4zPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+
ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPndoaWxlPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+
KDwvc3Bhbj48c3BhbiBjbGFzcz0iayI+dHJ1ZTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTwvc3Bh
bj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRk
IGNsYXNzPSJsaW5lIj4yMDA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NzwvdGQ+PHRkIGNsYXNzPSJz
b3VyY2UiPiAgICAgICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwv
dGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MjAxPC90ZD48dGQgY2xh
c3M9ImhpdHMiPjEwPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFu
IGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPighPC9zcGFuPmNvbnN1bWU8c3Bh
biBjbGFzcz0iayI+KDwvc3Bhbj5JRDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFz
cz0icyI+Im9yIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KSk8L3NwYW4+IDxzcGFuIGNsYXNzPSJr
Ij5icmVhazwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNz
PSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjIwMjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40PC90ZD48
dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3Nw
YW4+IHR5cCA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gdHlwZTxzcGFuIGNsYXNzPSJrIj4oKTwv
c3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnx8PC9zcGFuPiBlcnJvcjxzcGFuIGNsYXNzPSJrIj4oPC9z
cGFuPjxzcGFuIGNsYXNzPSJzIj4iTm8gdHlwZSBhZnRlciAnb3InIGluIHVuaW9uIHR5cGUiPC9z
cGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8
dGQgY2xhc3M9ImxpbmUiPjIwMzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40PC90ZD48dGQgY2xhc3M9
InNvdXJjZSI+ICAgICAgICAgICAgICAgIHJldDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPmlkbFR5
cGU8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5wdXNoPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+dHlw
PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj4y
MDQ8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAg
ICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRk
IGNsYXNzPSJsaW5lIj4yMDU8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MzwvdGQ+PHRkIGNsYXNzPSJz
b3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9
ImsiPighPC9zcGFuPmNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5PVEhFUjxzcGFuIGNs
YXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+IikiPC9zcGFuPjxzcGFuIGNsYXNzPSJr
Ij4pKTwvc3Bhbj4gZXJyb3I8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0icyI+
IlVudGVybWluYXRlZCB1bmlvbiB0eXBlIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+
PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4yMDY8L3RkPjx0ZCBj
bGFzcz0iaGl0cyI+MzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIHR5cGVfc3Vm
Zml4PHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+cmV0PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwv
dGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MjA3PC90ZD48dGQgY2xh
c3M9ImhpdHMiPjM8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFz
cz0iayI+cmV0dXJuPC9zcGFuPiByZXQ8c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+
PHRyPjx0ZCBjbGFzcz0ibGluZSI+MjA4PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNs
YXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PHNwYW4gY2xhc3M9
ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjIwOTwvdGQ+PHRkIGNs
YXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDwvdGQ+PC90cj48dHIg
Y2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MjEwPC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ3
PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFu
PiB0eXBlIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ZnVuY3Rpb248
L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+
PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4yMTE8L3RkPjx0ZCBj
bGFzcz0iaGl0cyI+MjYxPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4g
Y2xhc3M9ImsiPnJldHVybjwvc3Bhbj4gc2luZ2xlX3R5cGU8c3BhbiBjbGFzcz0iayI+KCk8L3Nw
YW4+IDxzcGFuIGNsYXNzPSJrIj58fDwvc3Bhbj4gdW5pb25fdHlwZTxzcGFuIGNsYXNzPSJrIj4o
KTs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjIxMjwvdGQ+PHRkIGNsYXNz
PSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj59
PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJs
aW5lIj4yMTM8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAg
ICAgICA8L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjIxNDwvdGQ+
PHRkIGNsYXNzPSJoaXRzIj40NzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4g
Y2xhc3M9ImsiPnZhcjwvc3Bhbj4gYXJndW1lbnQgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxz
cGFuIGNsYXNzPSJrIj5mdW5jdGlvbjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPigpPC9zcGFuPiA8
c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xh
c3M9ImxpbmUiPjIxNTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj43OTwvdGQ+PHRkIGNsYXNzPSJzb3Vy
Y2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IHJldCA8c3BhbiBjbGFz
cz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+IG9wdGlvbmFsPHNwYW4gY2xh
c3M9ImsiPjo8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5mYWxzZTwvc3Bhbj48c3BhbiBjbGFzcz0i
ayI+LDwvc3Bhbj4gdmFyaWFkaWM8c3BhbiBjbGFzcz0iayI+Ojwvc3Bhbj4gPHNwYW4gY2xhc3M9
ImsiPmZhbHNlPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+
Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjIxNjwv
dGQ+PHRkIGNsYXNzPSJoaXRzIj43OTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAg
IHJldDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPmV4dEF0dHJzIDxzcGFuIGNsYXNzPSJrIj49PC9z
cGFuPiBleHRlbmRlZF9hdHRyczxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0
ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4yMTc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+
Nzk8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0i
ayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+
MjE4PC90ZD48dGQgY2xhc3M9ImhpdHMiPjc5PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAg
ICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5j
b25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+SUQ8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4g
PHNwYW4gY2xhc3M9InMiPiJvcHRpb25hbCI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPikpPC9zcGFu
PiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQg
Y2xhc3M9ImxpbmUiPjIxOTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yPC90ZD48dGQgY2xhc3M9InNv
dXJjZSI+ICAgICAgICAgICAgICAgIHJldDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPm9wdGlvbmFs
IDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+dHJ1ZTwvc3Bhbj48c3Bh
biBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9
ImxpbmUiPjIyMDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+
ICAgICAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3Ry
Pjx0cj48dGQgY2xhc3M9ImxpbmUiPjIyMTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBj
bGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48L3RkPjwv
dHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjIyMjwvdGQ+PHRkIGNsYXNzPSJo
aXRzIj43OTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIHJldDxzcGFuIGNsYXNz
PSJrIj4uPC9zcGFuPnR5cGUgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IHR5cGU8c3BhbiBjbGFz
cz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGlu
ZSI+MjIzPC90ZD48dGQgY2xhc3M9ImhpdHMiPjg3PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAg
ICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KCE8L3Nw
YW4+cmV0PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+dHlwZTxzcGFuIGNsYXNzPSJrIj4pPC9zcGFu
PiA8c3BhbiBjbGFzcz0iayI+cmV0dXJuPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwv
dGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MjI0PC90ZD48dGQgY2xh
c3M9ImhpdHMiPjcxPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xh
c3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KCE8L3NwYW4+cmV0PHNwYW4gY2xhc3M9
ImsiPi48L3NwYW4+b3B0aW9uYWw8c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9
ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4y
MjU8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+Njk8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAg
ICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNs
YXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjIyNjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj42OTwv
dGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8
L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPnRva2VuczxzcGFuIGNsYXNzPSJrIj4uPC9z
cGFuPmxlbmd0aCA8c3BhbiBjbGFzcz0iayI+Pj08L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4zPC9z
cGFuPiA8c3BhbiBjbGFzcz0iayI+JmFtcDsmYW1wOzwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBj
bGFzcz0ibGluZSI+MjI3PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3Vy
Y2UiPiAgICAgICAgICAgICAgICAgICAgdG9rZW5zPHNwYW4gY2xhc3M9ImsiPls8L3NwYW4+PHNw
YW4gY2xhc3M9InMiPjA8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPl0uPC9zcGFuPnR5cGUgPHNwYW4g
Y2xhc3M9ImsiPj09PTwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJvdGhlciI8L3NwYW4+IDxzcGFu
IGNsYXNzPSJrIj4mYW1wOyZhbXA7PC9zcGFuPiB0b2tlbnM8c3BhbiBjbGFzcz0iayI+Wzwvc3Bh
bj48c3BhbiBjbGFzcz0icyI+MDwvc3Bhbj48c3BhbiBjbGFzcz0iayI+XS48L3NwYW4+dmFsdWUg
PHNwYW4gY2xhc3M9ImsiPj09PTwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiIuIjwvc3Bhbj4gPHNw
YW4gY2xhc3M9ImsiPiZhbXA7JmFtcDs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9Imxp
bmUiPjIyODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAg
ICAgICAgICAgICAgICAgIHRva2VuczxzcGFuIGNsYXNzPSJrIj5bPC9zcGFuPjxzcGFuIGNsYXNz
PSJzIj4xPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj5dLjwvc3Bhbj50eXBlIDxzcGFuIGNsYXNzPSJr
Ij49PT08L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4ib3RoZXIiPC9zcGFuPiA8c3BhbiBjbGFzcz0i
ayI+JmFtcDsmYW1wOzwvc3Bhbj4gdG9rZW5zPHNwYW4gY2xhc3M9ImsiPls8L3NwYW4+PHNwYW4g
Y2xhc3M9InMiPjE8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPl0uPC9zcGFuPnZhbHVlIDxzcGFuIGNs
YXNzPSJrIj49PT08L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iLiI8L3NwYW4+IDxzcGFuIGNsYXNz
PSJrIj4mYW1wOyZhbXA7PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj4yMjk8
L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAg
ICAgICAgICB0b2tlbnM8c3BhbiBjbGFzcz0iayI+Wzwvc3Bhbj48c3BhbiBjbGFzcz0icyI+Mjwv
c3Bhbj48c3BhbiBjbGFzcz0iayI+XS48L3NwYW4+dHlwZSA8c3BhbiBjbGFzcz0iayI+PT09PC9z
cGFuPiA8c3BhbiBjbGFzcz0icyI+Im90aGVyIjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPiZhbXA7
JmFtcDs8L3NwYW4+IHRva2VuczxzcGFuIGNsYXNzPSJrIj5bPC9zcGFuPjxzcGFuIGNsYXNzPSJz
Ij4yPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj5dLjwvc3Bhbj52YWx1ZSA8c3BhbiBjbGFzcz0iayI+
PT09PC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+Ii4iPC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNs
YXNzPSJsaW5lIj4yMzA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJj
ZSI+ICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xh
c3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5l
Ij4yMzE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAg
ICAgICAgICAgICAgICAgdG9rZW5zPHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+c2hpZnQ8c3BhbiBj
bGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0i
bGluZSI+MjMyPC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4g
ICAgICAgICAgICAgICAgICAgIHRva2VuczxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnNoaWZ0PHNw
YW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xh
c3M9ImxpbmUiPjIzMzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40PC90ZD48dGQgY2xhc3M9InNvdXJj
ZSI+ICAgICAgICAgICAgICAgICAgICB0b2tlbnM8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5zaGlm
dDxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRk
IGNsYXNzPSJsaW5lIj4yMzQ8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDwvdGQ+PHRkIGNsYXNzPSJz
b3VyY2UiPiAgICAgICAgICAgICAgICAgICAgcmV0PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+dmFy
aWFkaWMgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj50cnVlPC9zcGFu
PjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj4y
MzU8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAg
ICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJs
aW5lIj4yMzY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAg
ICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0
Ij4gPHRkIGNsYXNzPSJsaW5lIj4yMzc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NzE8L3RkPjx0ZCBj
bGFzcz0ic291cmNlIj4gICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFu
PjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MjM4PC90ZD48dGQg
Y2xhc3M9ImhpdHMiPjcxPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4g
Y2xhc3M9ImsiPnZhcjwvc3Bhbj4gbmFtZSA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gY29uc3Vt
ZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPklEPHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFu
IGNsYXNzPSJrIj58fDwvc3Bhbj4gZXJyb3I8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3BhbiBj
bGFzcz0icyI+Ik5vIG5hbWUgaW4gYXJndW1lbnQiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwv
c3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjIzOTwvdGQ+
PHRkIGNsYXNzPSJoaXRzIj43MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIHJl
dDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPm5hbWUgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IG5h
bWU8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj52YWx1ZTxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwv
dGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MjQwPC90ZD48dGQgY2xh
c3M9ImhpdHMiPjcxPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xh
c3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5yZXQ8c3BhbiBjbGFzcz0i
ayI+Ljwvc3Bhbj5vcHRpb25hbDxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0i
ayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjI0
MTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAg
ICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFz
cz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4yNDI8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MjwvdGQ+
PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICByZXQ8c3BhbiBjbGFzcz0iayI+Wzwv
c3Bhbj48c3BhbiBjbGFzcz0icyI+ImRlZmF1bHQiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj5dPC9z
cGFuPiA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gZGVmYXVsdF88c3BhbiBjbGFzcz0iayI+KCk7
PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj4yNDM8L3RkPjx0ZCBjbGFzcz0i
aGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9Imsi
Pn08L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4yNDQ8
L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NzE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAg
ICA8c3BhbiBjbGFzcz0iayI+cmV0dXJuPC9zcGFuPiByZXQ8c3BhbiBjbGFzcz0iayI+Ozwvc3Bh
bj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+MjQ1PC90ZD48dGQgY2xhc3M9ImhpdHMi
PjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+
PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjI0
NjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDwv
dGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MjQ3PC90ZD48dGQgY2xh
c3M9ImhpdHMiPjQ3PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFzcz0i
ayI+dmFyPC9zcGFuPiBhcmd1bWVudF9saXN0IDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3Bh
biBjbGFzcz0iayI+ZnVuY3Rpb248L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oKTwvc3Bhbj4gPHNw
YW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNz
PSJsaW5lIj4yNDg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NTk8L3RkPjx0ZCBjbGFzcz0ic291cmNl
Ij4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiBhcmcgPHNwYW4gY2xhc3M9
ImsiPj08L3NwYW4+IGFyZ3VtZW50PHNwYW4gY2xhc3M9ImsiPigpLDwvc3Bhbj4gcmV0IDxzcGFu
IGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+W107PC9zcGFuPjwvdGQ+PC90cj48
dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MjQ5PC90ZD48dGQgY2xhc3M9ImhpdHMi
PjY3PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlm
PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KCE8L3NwYW4+YXJnPHNwYW4gY2xhc3M9ImsiPik8L3Nw
YW4+IDxzcGFuIGNsYXNzPSJrIj5yZXR1cm48L3NwYW4+IHJldDxzcGFuIGNsYXNzPSJrIj47PC9z
cGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MjUwPC90ZD48
dGQgY2xhc3M9ImhpdHMiPjUxPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgcmV0
PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+cHVzaDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPmFyZzxz
cGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xh
c3M9ImxpbmUiPjI1MTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj41MTwvdGQ+PHRkIGNsYXNzPSJzb3Vy
Y2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj53aGlsZTwvc3Bhbj4gPHNwYW4gY2xhc3M9
ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPnRydWU8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik8
L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+
IDx0ZCBjbGFzcz0ibGluZSI+MjUyPC90ZD48dGQgY2xhc3M9ImhpdHMiPjcxPC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3Nw
YW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4yNTM8L3RkPjx0
ZCBjbGFzcz0iaGl0cyI+MTIyPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAg
IDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPighPC9zcGFuPmNvbnN1
bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5PVEhFUjxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8
c3BhbiBjbGFzcz0icyI+IiwiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pKTwvc3Bhbj4gPHNwYW4g
Y2xhc3M9ImsiPnJldHVybjwvc3Bhbj4gcmV0PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48
L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4yNTQ8L3RkPjx0ZCBjbGFzcz0i
aGl0cyI+MjA8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgYWxsX3dzPHNw
YW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xh
c3M9ImxpbmUiPjI1NTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yMDwvdGQ+PHRkIGNsYXNzPSJzb3Vy
Y2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiBueHQgPHNwYW4g
Y2xhc3M9ImsiPj08L3NwYW4+IGFyZ3VtZW50PHNwYW4gY2xhc3M9ImsiPigpPC9zcGFuPiA8c3Bh
biBjbGFzcz0iayI+fHw8L3NwYW4+IGVycm9yPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4g
Y2xhc3M9InMiPiJUcmFpbGluZyBjb21tYSBpbiBhcmd1bWVudHMgbGlzdCI8L3NwYW4+PHNwYW4g
Y2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0i
bGluZSI+MjU2PC90ZD48dGQgY2xhc3M9ImhpdHMiPjIwPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+
ICAgICAgICAgICAgICAgIHJldDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnB1c2g8c3BhbiBjbGFz
cz0iayI+KDwvc3Bhbj5ueHQ8c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0cj48
dGQgY2xhc3M9ImxpbmUiPjI1NzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0i
c291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+PHRy
Pjx0ZCBjbGFzcz0ibGluZSI+MjU4PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNz
PSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PHNwYW4gY2xhc3M9Imsi
Pjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjI1OTwvdGQ+PHRkIGNsYXNz
PSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDwvdGQ+PC90cj48dHIgY2xh
c3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MjYwPC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ3PC90
ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiBz
aW1wbGVfZXh0ZW5kZWRfYXR0ciA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9
ImsiPmZ1bmN0aW9uPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KCk8L3NwYW4+IDxzcGFuIGNsYXNz
PSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+
MjYxPC90ZD48dGQgY2xhc3M9ImhpdHMiPjE3PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAg
ICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNz
PSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjI2MjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xNzwvdGQ+
PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+
IG5hbWUgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IGNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwv
c3Bhbj5JRDxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQi
PiA8dGQgY2xhc3M9ImxpbmUiPjI2MzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xNzwvdGQ+PHRkIGNs
YXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4g
Y2xhc3M9ImsiPighPC9zcGFuPm5hbWU8c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xh
c3M9ImsiPnJldHVybjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRy
IGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjI2NDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4x
NzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8
L3NwYW4+IHJldCA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3Nw
YW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjI2NTwvdGQ+PHRkIGNsYXNzPSJoaXRz
Ij48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgbmFtZTxzcGFuIGNsYXNz
PSJrIj46PC9zcGFuPiBuYW1lPHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+dmFsdWU8L3RkPjwvdHI+
PHRyPjx0ZCBjbGFzcz0ibGluZSI+MjY2PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNs
YXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiAgIDxzcGFu
IGNsYXNzPSJzIj4iYXJndW1lbnRzIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ojwvc3Bhbj4gPHNw
YW4gY2xhc3M9ImsiPm51bGw8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjI2
NzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAg
ICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwv
dHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjI2ODwvdGQ+PHRkIGNsYXNzPSJo
aXRzIj4xNzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIGFsbF93czxzcGFuIGNs
YXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJs
aW5lIj4yNjk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTc8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4g
ICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiBlcSA8c3BhbiBjbGFzcz0iayI+
PTwvc3Bhbj4gY29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPk9USEVSPHNwYW4gY2xhc3M9
ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iPSI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7
PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MjcwPC90
ZD48dGQgY2xhc3M9ImhpdHMiPjE3PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAg
PHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5lcTxzcGFu
IGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRy
IGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjI3MTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj41
PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNz
PSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5l
Ij4yNzI8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAg
ICAgICAgICAgICByZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5yaHMgPHNwYW4gY2xhc3M9Imsi
Pj08L3NwYW4+IGNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5JRDxzcGFuIGNsYXNzPSJr
Ij4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjI3
MzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj41PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAg
ICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPighPC9zcGFu
PnJldDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnJoczxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8
c3BhbiBjbGFzcz0iayI+cmV0dXJuPC9zcGFuPiBlcnJvcjxzcGFuIGNsYXNzPSJrIj4oPC9zcGFu
PjxzcGFuIGNsYXNzPSJzIj4iTm8gcmlnaHQgaGFuZCBzaWRlIHRvIGV4dGVuZGVkIGF0dHJpYnV0
ZSBhc3NpZ25tZW50Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0
cj48dGQgY2xhc3M9ImxpbmUiPjI3NDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFz
cz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+
PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjI3NTwvdGQ+PHRkIGNsYXNzPSJoaXRz
Ij4xNzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNz
PSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5l
Ij4yNzY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTc8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAg
ICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFu
PmNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5PVEhFUjxzcGFuIGNsYXNzPSJrIj4sPC9z
cGFuPiA8c3BhbiBjbGFzcz0icyI+IigiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pKTwvc3Bhbj4g
PHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNs
YXNzPSJsaW5lIj4yNzc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MjwvdGQ+PHRkIGNsYXNzPSJzb3Vy
Y2UiPiAgICAgICAgICAgICAgICByZXQ8c3BhbiBjbGFzcz0iayI+Wzwvc3Bhbj48c3BhbiBjbGFz
cz0icyI+ImFyZ3VtZW50cyI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPl08L3NwYW4+IDxzcGFuIGNs
YXNzPSJrIj49PC9zcGFuPiBhcmd1bWVudF9saXN0PHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48
L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjI3ODwvdGQ+PHRkIGNs
YXNzPSJoaXRzIj4yPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIGFsbF93
czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRk
IGNsYXNzPSJsaW5lIj4yNzk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MjwvdGQ+PHRkIGNsYXNzPSJz
b3VyY2UiPiAgICAgICAgICAgICAgICBjb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+T1RI
RVI8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiIpIjwvc3Bhbj48c3Bh
biBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnx8PC9zcGFuPiBlcnJvcjxzcGFu
IGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4iVW5jbG9zZWQgYXJndW1lbnQgaW4g
ZXh0ZW5kZWQgYXR0cmlidXRlIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48
L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjI4MDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0
ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48L3Rk
PjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjI4MTwvdGQ+PHRkIGNsYXNz
PSJoaXRzIj4xNzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNz
PSJrIj5yZXR1cm48L3NwYW4+IHJldDxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48
dHI+PHRkIGNsYXNzPSJsaW5lIj4yODI8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48c3BhbiBjbGFzcz0i
ayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+MjgzPC90ZD48dGQgY2xh
c3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPC90ZD48L3RyPjx0cj48
dGQgY2xhc3M9ImxpbmUiPjI4NDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0i
c291cmNlIj4gICAgICAgIDxzcGFuIGNsYXNzPSJjIj4vLyBOb3RlOiB3ZSBwYXJzZSBzb21ldGhp
bmcgc2ltcGxlciB0aGFuIHRoZSBvZmZpY2lhbCBzeW50YXguIEl0J3MgYWxsIHRoYXQgZXZlcjwv
c3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+Mjg1PC90ZD48dGQgY2xhc3M9Imhp
dHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9ImMiPi8vIHNl
ZW1zIHRvIGJlIHVzZWQ8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNz
PSJsaW5lIj4yODY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDc8L3RkPjx0ZCBjbGFzcz0ic291cmNl
Ij4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IGV4dGVuZGVkX2F0dHJzIDxzcGFu
IGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ZnVuY3Rpb248L3NwYW4+IDxzcGFu
IGNsYXNzPSJrIj4oKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0
ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4yODc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+
NDE1PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZh
cjwvc3Bhbj4gZWFzIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+W107
PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+Mjg4PC90
ZD48dGQgY2xhc3M9ImhpdHMiPjQxNTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAg
IGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0
Ij4gPHRkIGNsYXNzPSJsaW5lIj4yODk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+ODE1PC90ZD48dGQg
Y2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3Bh
biBjbGFzcz0iayI+KCE8L3NwYW4+Y29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPk9USEVS
PHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iWyI8L3NwYW4+PHNwYW4g
Y2xhc3M9ImsiPikpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+cmV0dXJuPC9zcGFuPiBlYXM8c3Bh
biBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9
ImxpbmUiPjI5MDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xNTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2Ui
PiAgICAgICAgICAgIGVhczxzcGFuIGNsYXNzPSJrIj5bPC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4w
PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj5dPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4g
c2ltcGxlX2V4dGVuZGVkX2F0dHI8c3BhbiBjbGFzcz0iayI+KCk8L3NwYW4+IDxzcGFuIGNsYXNz
PSJrIj58fDwvc3Bhbj4gZXJyb3I8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0i
cyI+IkV4dGVuZGVkIGF0dHJpYnV0ZSB3aXRoIG5vdCBjb250ZW50Ijwvc3Bhbj48c3BhbiBjbGFz
cz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5l
Ij4yOTE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTU8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAg
ICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xh
c3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MjkyPC90ZD48dGQgY2xhc3M9ImhpdHMiPjE1PC90
ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPndoaWxlPC9z
cGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5jb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3Nw
YW4+T1RIRVI8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiIsIjwvc3Bh
bj48c3BhbiBjbGFzcz0iayI+KSk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+
PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MjkzPC90ZD48dGQgY2xhc3M9
ImhpdHMiPjI8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgYWxsX3dzPHNw
YW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xh
c3M9ImxpbmUiPjI5NDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yPC90ZD48dGQgY2xhc3M9InNvdXJj
ZSI+ICAgICAgICAgICAgICAgIGVhczxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnB1c2g8c3BhbiBj
bGFzcz0iayI+KDwvc3Bhbj5zaW1wbGVfZXh0ZW5kZWRfYXR0cjxzcGFuIGNsYXNzPSJrIj4oKTwv
c3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnx8PC9zcGFuPiBlcnJvcjxzcGFuIGNsYXNzPSJrIj4oPC9z
cGFuPjxzcGFuIGNsYXNzPSJzIj4iVHJhaWxpbmcgY29tbWEgaW4gZXh0ZW5kZWQgYXR0cmlidXRl
Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KSk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9Imhp
dCI+IDx0ZCBjbGFzcz0ibGluZSI+Mjk1PC90ZD48dGQgY2xhc3M9ImhpdHMiPjI8L3RkPjx0ZCBj
bGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwv
c3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+Mjk2PC90ZD48dGQgY2xhc3M9Imhp
dHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj59
PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+Mjk3PC90
ZD48dGQgY2xhc3M9ImhpdHMiPjE1PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAg
Y29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPk9USEVSPHNwYW4gY2xhc3M9ImsiPiw8L3Nw
YW4+IDxzcGFuIGNsYXNzPSJzIj4iXSI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxz
cGFuIGNsYXNzPSJrIj58fDwvc3Bhbj4gZXJyb3I8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3Bh
biBjbGFzcz0icyI+Ik5vIGVuZCBvZiBleHRlbmRlZCBhdHRyaWJ1dGUiPC9zcGFuPjxzcGFuIGNs
YXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9Imxp
bmUiPjI5ODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xNTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAg
ICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5yZXR1cm48L3NwYW4+IGVhczxzcGFuIGNsYXNzPSJr
Ij47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj4yOTk8L3RkPjx0ZCBjbGFz
cz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFzcz0iayI+
fTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0i
bGluZSI+MzAwPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAg
ICAgICAgPC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4zMDE8L3Rk
Pjx0ZCBjbGFzcz0iaGl0cyI+NDc8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxzcGFu
IGNsYXNzPSJrIj52YXI8L3NwYW4+IGRlZmF1bHRfIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8
c3BhbiBjbGFzcz0iayI+ZnVuY3Rpb248L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oKTwvc3Bhbj4g
PHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNs
YXNzPSJsaW5lIj4zMDI8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTE8L3RkPjx0ZCBjbGFzcz0ic291
cmNlIj4gICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90
cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MzAzPC90ZD48dGQgY2xhc3M9Imhp
dHMiPjExPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9Imsi
PmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5jb25zdW1lPHNwYW4gY2xhc3M9Imsi
Pig8L3NwYW4+T1RIRVI8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiI9
Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KSk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFu
PjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MzA0PC90ZD48dGQg
Y2xhc3M9ImhpdHMiPjU8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgYWxs
X3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8
dGQgY2xhc3M9ImxpbmUiPjMwNTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj41PC90ZD48dGQgY2xhc3M9
InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IGRlZiA8
c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gY29uc3RfdmFsdWU8c3BhbiBjbGFzcz0iayI+KCk7PC9z
cGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MzA2PC90ZD48
dGQgY2xhc3M9ImhpdHMiPjU8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAg
PHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3BhbiBj
bGFzcz0iayI+dHlwZW9mPC9zcGFuPiBkZWYgPHNwYW4gY2xhc3M9ImsiPiE9PTwvc3Bhbj4gPHNw
YW4gY2xhc3M9InMiPiJ1bmRlZmluZWQiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8
c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xh
c3M9ImxpbmUiPjMwNzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4zPC90ZD48dGQgY2xhc3M9InNvdXJj
ZSI+ICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+cmV0dXJuPC9zcGFuPiBkZWY8
c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+MzA4
PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAg
ICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGlu
ZSI+MzA5PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAg
ICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+ZWxzZTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8
L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4zMTA8L3Rk
Pjx0ZCBjbGFzcz0iaGl0cyI+MjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAg
ICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gc3RyIDxzcGFuIGNsYXNzPSJrIj49PC9z
cGFuPiBjb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+U1RSPHNwYW4gY2xhc3M9ImsiPik8
L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj58fDwvc3Bhbj4gZXJyb3I8c3BhbiBjbGFzcz0iayI+KDwv
c3Bhbj48c3BhbiBjbGFzcz0icyI+Ik5vIHZhbHVlIGZvciBkZWZhdWx0Ijwvc3Bhbj48c3BhbiBj
bGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJs
aW5lIj4zMTE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAg
ICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnJldHVybjwvc3Bhbj4gc3RyPHNwYW4g
Y2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjMxMjwvdGQ+
PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAg
PHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjMx
MzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAg
ICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+
MzE0PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAg
PHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3Ry
Pjx0cj48dGQgY2xhc3M9ImxpbmUiPjMxNTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBj
bGFzcz0ic291cmNlIj4gICAgICAgIDwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFz
cz0ibGluZSI+MzE2PC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ3PC90ZD48dGQgY2xhc3M9InNvdXJj
ZSI+ICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiBjb25zdF8gPHNwYW4gY2xhc3M9
ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5mdW5jdGlvbjwvc3Bhbj4gPHNwYW4gY2xhc3M9
ImsiPigpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNz
PSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjMxNzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xODA8L3Rk
Pjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7
PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MzE4PC90
ZD48dGQgY2xhc3M9ImhpdHMiPjM0ODwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAg
IDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPighPC9zcGFuPmNvbnN1
bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5JRDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3Bh
biBjbGFzcz0icyI+ImNvbnN0Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KSk8L3NwYW4+IDxzcGFu
IGNsYXNzPSJrIj5yZXR1cm48L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3Ry
Pjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4zMTk8L3RkPjx0ZCBjbGFzcz0iaGl0
cyI+MTI8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+
dmFyPC9zcGFuPiByZXQgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57
PC9zcGFuPiB0eXBlPHNwYW4gY2xhc3M9ImsiPjo8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iY29u
c3QiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiBudWxsYWJsZTxzcGFuIGNsYXNzPSJr
Ij46PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ZmFsc2U8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj59
PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+
IDx0ZCBjbGFzcz0ibGluZSI+MzIwPC90ZD48dGQgY2xhc3M9ImhpdHMiPjEyPC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+ICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48
L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjMyMTwvdGQ+PHRkIGNs
YXNzPSJoaXRzIj4xMjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNs
YXNzPSJrIj52YXI8L3NwYW4+IHR5cCA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gcHJpbWl0aXZl
X3R5cGU8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+
IDx0ZCBjbGFzcz0ibGluZSI+MzIyPC90ZD48dGQgY2xhc3M9ImhpdHMiPjEyPC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBj
bGFzcz0iayI+KCE8L3NwYW4+dHlwPHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNz
PSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9Im1pc3MiPiA8dGQgY2xhc3M9ImxpbmUi
PjMyMzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4wPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAg
ICAgICAgICAgIHR5cCA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gY29uc3VtZTxzcGFuIGNsYXNz
PSJrIj4oPC9zcGFuPklEPHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj58
fDwvc3Bhbj4gZXJyb3I8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0icyI+Ik5v
IHR5cGUgZm9yIGNvbnN0Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3Ry
Pjx0ciBjbGFzcz0ibWlzcyI+IDx0ZCBjbGFzcz0ibGluZSI+MzI0PC90ZD48dGQgY2xhc3M9Imhp
dHMiPjA8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgdHlwIDxzcGFuIGNs
YXNzPSJrIj49PC9zcGFuPiB0eXA8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj52YWx1ZTxzcGFuIGNs
YXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj4zMjU8L3RkPjx0
ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4g
Y2xhc3M9ImsiPn08L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJs
aW5lIj4zMjY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTI8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4g
ICAgICAgICAgICByZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5pZGxUeXBlIDxzcGFuIGNsYXNz
PSJrIj49PC9zcGFuPiB0eXA8c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNs
YXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjMyNzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xMjwv
dGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4o
KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4zMjg8
L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTI8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAg
ICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPmNvbnN1
bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5PVEhFUjxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8
c3BhbiBjbGFzcz0icyI+Ij8iPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pKTwvc3Bhbj4gPHNwYW4g
Y2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJs
aW5lIj4zMjk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAg
ICAgICAgICAgICAgICByZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5udWxsYWJsZSA8c3BhbiBj
bGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnRydWU8L3NwYW4+PHNwYW4gY2xhc3M9
ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4z
MzA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAg
ICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRk
IGNsYXNzPSJsaW5lIj4zMzE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNv
dXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PC90ZD48L3RyPjx0ciBj
bGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4zMzI8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTI8
L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9z
cGFuPiBuYW1lIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiBjb25zdW1lPHNwYW4gY2xhc3M9Imsi
Pig8L3NwYW4+SUQ8c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnx8PC9z
cGFuPiBlcnJvcjxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4iTm8gbmFt
ZSBmb3IgY29uc3QiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRy
IGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjMzMzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4x
MjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIHJldDxzcGFuIGNsYXNzPSJrIj4u
PC9zcGFuPm5hbWUgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IG5hbWU8c3BhbiBjbGFzcz0iayI+
Ljwvc3Bhbj52YWx1ZTxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9
ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MzM0PC90ZD48dGQgY2xhc3M9ImhpdHMiPjEyPC90ZD48
dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwv
c3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjMzNTwvdGQ+
PHRkIGNsYXNzPSJoaXRzIj4xMjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIGNv
bnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5PVEhFUjxzcGFuIGNsYXNzPSJrIj4sPC9zcGFu
PiA8c3BhbiBjbGFzcz0icyI+Ij0iPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3Bh
biBjbGFzcz0iayI+fHw8L3NwYW4+IGVycm9yPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4g
Y2xhc3M9InMiPiJObyB2YWx1ZSBhc3NpZ25tZW50IGZvciBjb25zdCI8L3NwYW4+PHNwYW4gY2xh
c3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGlu
ZSI+MzM2PC90ZD48dGQgY2xhc3M9ImhpdHMiPjEyPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAg
ICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNs
YXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjMzNzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xMjwv
dGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3Nw
YW4+IGNudCA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gY29uc3RfdmFsdWU8c3BhbiBjbGFzcz0i
ayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+
MzM4PC90ZD48dGQgY2xhc3M9ImhpdHMiPjI0PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAg
ICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48
c3BhbiBjbGFzcz0iayI+dHlwZW9mPC9zcGFuPiBjbnQgPHNwYW4gY2xhc3M9ImsiPiE9PTwvc3Bh
bj4gPHNwYW4gY2xhc3M9InMiPiJ1bmRlZmluZWQiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pPC9z
cGFuPiByZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj52YWx1ZSA8c3BhbiBjbGFzcz0iayI+PTwv
c3Bhbj4gY250PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0ibWlz
cyI+IDx0ZCBjbGFzcz0ibGluZSI+MzM5PC90ZD48dGQgY2xhc3M9ImhpdHMiPjA8L3RkPjx0ZCBj
bGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+ZWxzZTwvc3Bhbj4gZXJy
b3I8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0icyI+Ik5vIHZhbHVlIGZvciBj
b25zdCI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9
ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MzQwPC90ZD48dGQgY2xhc3M9ImhpdHMiPjEyPC90ZD48
dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwv
c3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjM0MTwvdGQ+
PHRkIGNsYXNzPSJoaXRzIj4xMjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIGNv
bnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5PVEhFUjxzcGFuIGNsYXNzPSJrIj4sPC9zcGFu
PiA8c3BhbiBjbGFzcz0icyI+IjsiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3Bh
biBjbGFzcz0iayI+fHw8L3NwYW4+IGVycm9yPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4g
Y2xhc3M9InMiPiJVbnRlcm1pbmF0ZWQgY29uc3QiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwv
c3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjM0MjwvdGQ+
PHRkIGNsYXNzPSJoaXRzIj4xMjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxz
cGFuIGNsYXNzPSJrIj5yZXR1cm48L3NwYW4+IHJldDxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwv
dGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj4zNDM8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90
ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48c3Bh
biBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+MzQ0PC90
ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPC90ZD48
L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4zNDU8L3RkPjx0ZCBjbGFzcz0i
aGl0cyI+NDc8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj52
YXI8L3NwYW4+IGluaGVyaXRhbmNlIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFz
cz0iayI+ZnVuY3Rpb248L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oKTwvc3Bhbj4gPHNwYW4gY2xh
c3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5l
Ij4zNDY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+ODk8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAg
ICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xh
c3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MzQ3PC90ZD48dGQgY2xhc3M9ImhpdHMiPjg5PC90
ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFu
PiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5jb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+
T1RIRVI8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiI6Ijwvc3Bhbj48
c3BhbiBjbGFzcz0iayI+KSk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90
cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MzQ4PC90ZD48dGQgY2xhc3M9Imhp
dHMiPjk8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgYWxsX3dzPHNwYW4g
Y2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9
ImxpbmUiPjM0OTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj45PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+
ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IGluaCA8c3BhbiBjbGFz
cz0iayI+PTwvc3Bhbj4gY29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPklEPHNwYW4gY2xh
c3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj58fDwvc3Bhbj4gZXJyb3IgPHNwYW4gY2xh
c3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9InMiPiJObyB0eXBlIGluIGluaGVyaXRhbmNlIjwv
c3Bhbj48c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4g
PHRkIGNsYXNzPSJsaW5lIj4zNTA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+OTwvdGQ+PHRkIGNsYXNz
PSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+cmV0dXJuPC9zcGFuPiBp
bmg8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj52YWx1ZTxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwv
dGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj4zNTE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90
ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+
PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjM1MjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48
L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjxz
cGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj4zNTM8
L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8L3Rk
PjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjM1NDwvdGQ+PHRkIGNsYXNz
PSJoaXRzIj40NzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9Imsi
PnZhcjwvc3Bhbj4gb3BlcmF0aW9uX3Jlc3QgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFu
IGNsYXNzPSJrIj5mdW5jdGlvbjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+cmV0PHNw
YW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48
dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MzU1PC90ZD48dGQgY2xhc3M9ImhpdHMi
PjU2PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9
ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUi
PjM1NjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj41NzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAg
ICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPighPC9zcGFu
PnJldDxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiByZXQgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+
IDxzcGFuIGNsYXNzPSJrIj57fTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwv
dHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjM1NzwvdGQ+PHRkIGNsYXNzPSJo
aXRzIj41NjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJr
Ij52YXI8L3NwYW4+IG5hbWUgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IGNvbnN1bWU8c3BhbiBj
bGFzcz0iayI+KDwvc3Bhbj5JRDxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRy
IGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjM1ODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj41
NjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIHJldDxzcGFuIGNsYXNzPSJrIj4u
PC9zcGFuPm5hbWUgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IG5hbWUgPHNwYW4gY2xhc3M9Imsi
Pj88L3NwYW4+IG5hbWU8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj52YWx1ZSA8c3BhbiBjbGFzcz0i
ayI+Ojwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPm51bGw8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8
L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4zNTk8L3Rk
Pjx0ZCBjbGFzcz0iaGl0cyI+NTY8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICBh
bGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+
IDx0ZCBjbGFzcz0ibGluZSI+MzYwPC90ZD48dGQgY2xhc3M9ImhpdHMiPjU2PC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+ICAgICAgICAgICAgY29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPk9U
SEVSPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iKCI8L3NwYW4+PHNw
YW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj58fDwvc3Bhbj4gZXJyb3I8c3Bh
biBjbGFzcz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0icyI+IkludmFsaWQgb3BlcmF0aW9uIjwv
c3Bhbj48c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4g
PHRkIGNsYXNzPSJsaW5lIj4zNjE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NTY8L3RkPjx0ZCBjbGFz
cz0ic291cmNlIj4gICAgICAgICAgICByZXQ8c3BhbiBjbGFzcz0iayI+Wzwvc3Bhbj48c3BhbiBj
bGFzcz0icyI+ImFyZ3VtZW50cyI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPl08L3NwYW4+IDxzcGFu
IGNsYXNzPSJrIj49PC9zcGFuPiBhcmd1bWVudF9saXN0PHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bh
bj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjM2MjwvdGQ+PHRk
IGNsYXNzPSJoaXRzIj41NjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIGFsbF93
czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRk
IGNsYXNzPSJsaW5lIj4zNjM8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NTY8L3RkPjx0ZCBjbGFzcz0i
c291cmNlIj4gICAgICAgICAgICBjb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+T1RIRVI8
c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiIpIjwvc3Bhbj48c3BhbiBj
bGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnx8PC9zcGFuPiBlcnJvcjxzcGFuIGNs
YXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4iVW50ZXJtaW5hdGVkIG9wZXJhdGlvbiI8
L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+
IDx0ZCBjbGFzcz0ibGluZSI+MzY0PC90ZD48dGQgY2xhc3M9ImhpdHMiPjU2PC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+ICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48
L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjM2NTwvdGQ+PHRkIGNs
YXNzPSJoaXRzIj41NjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIGNvbnN1bWU8
c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5PVEhFUjxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3Bh
biBjbGFzcz0icyI+IjsiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFz
cz0iayI+fHw8L3NwYW4+IGVycm9yPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9
InMiPiJVbnRlcm1pbmF0ZWQgb3BlcmF0aW9uIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTs8L3Nw
YW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4zNjY8L3RkPjx0
ZCBjbGFzcz0iaGl0cyI+NTY8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3Bh
biBjbGFzcz0iayI+cmV0dXJuPC9zcGFuPiByZXQ8c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3Rk
PjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+MzY3PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+
PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PHNwYW4g
Y2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjM2ODwvdGQ+
PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDwvdGQ+PC90
cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MzY5PC90ZD48dGQgY2xhc3M9Imhp
dHMiPjQ3PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFy
PC9zcGFuPiBjYWxsYmFjayA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9Imsi
PmZ1bmN0aW9uPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KCk8L3NwYW4+IDxzcGFuIGNsYXNzPSJr
Ij57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+Mzcw
PC90ZD48dGQgY2xhc3M9ImhpdHMiPjE0NDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAg
ICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0i
aGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4zNzE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTQ0PC90ZD48
dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4g
cmV0PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRk
IGNsYXNzPSJsaW5lIj4zNzI8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+Mjg2PC90ZD48dGQgY2xhc3M9
InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFz
cz0iayI+KCE8L3NwYW4+Y29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPklEPHNwYW4gY2xh
c3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iY2FsbGJhY2siPC9zcGFuPjxzcGFuIGNs
YXNzPSJrIj4pKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnJldHVybjwvc3Bhbj48c3BhbiBjbGFz
cz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUi
PjM3MzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAg
ICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNz
PSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjM3NDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yPC90ZD48
dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4g
dG9rIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiBjb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3Nw
YW4+SUQ8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJpbnRlcmZhY2Ui
PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQi
PiA8dGQgY2xhc3M9ImxpbmUiPjM3NTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yPC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBj
bGFzcz0iayI+KDwvc3Bhbj50b2s8c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9
ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4z
NzY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAg
ICAgICAgICB0b2tlbnM8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj51bnNoaWZ0PHNwYW4gY2xhc3M9
ImsiPig8L3NwYW4+dG9rPHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xh
c3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+Mzc3PC90ZD48dGQgY2xhc3M9ImhpdHMiPjE8L3Rk
Pjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgcmV0IDxzcGFuIGNsYXNzPSJrIj49
PC9zcGFuPiBpbnRlcmZhY2VfPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRy
IGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjM3ODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4x
PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIHJldDxzcGFuIGNsYXNzPSJr
Ij4uPC9zcGFuPnR5cGUgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4i
Y2FsbGJhY2sgaW50ZXJmYWNlIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwv
dHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjM3OTwvdGQ+PHRkIGNsYXNzPSJo
aXRzIj4xPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNz
PSJrIj5yZXR1cm48L3NwYW4+IHJldDxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48
dHI+PHRkIGNsYXNzPSJsaW5lIj4zODA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PC90ZD48L3Ry
Pjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4zODE8L3RkPjx0ZCBjbGFzcz0iaGl0
cyI+MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj52
YXI8L3NwYW4+IG5hbWUgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IGNvbnN1bWU8c3BhbiBjbGFz
cz0iayI+KDwvc3Bhbj5JRDxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+
fHw8L3NwYW4+IGVycm9yPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9InMiPiJO
byBuYW1lIGZvciBjYWxsYmFjayI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+
PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MzgyPC90ZD48dGQgY2xhc3M9
ImhpdHMiPjE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICByZXQgPHNwYW4gY2xh
c3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPiB0eXBlPHNwYW4gY2xhc3M9
ImsiPjo8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iY2FsbGJhY2siPC9zcGFuPjxzcGFuIGNsYXNz
PSJrIj4sPC9zcGFuPiBuYW1lPHNwYW4gY2xhc3M9ImsiPjo8L3NwYW4+IG5hbWU8c3BhbiBjbGFz
cz0iayI+Ljwvc3Bhbj52YWx1ZSA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48c3BhbiBjbGFzcz0i
ayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjM4
MzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAg
ICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJo
aXQiPiA8dGQgY2xhc3M9ImxpbmUiPjM4NDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xPC90ZD48dGQg
Y2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgY29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFu
Pk9USEVSPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iPSI8L3NwYW4+
PHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj58fDwvc3Bhbj4gZXJyb3I8
c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0icyI+Ik5vIGFzc2lnbm1lbnQgaW4g
Y2FsbGJhY2siPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNs
YXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjM4NTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xPC90
ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigp
Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjM4Njwv
dGQ+PHRkIGNsYXNzPSJoaXRzIj4xPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAg
cmV0PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+aWRsVHlwZSA8c3BhbiBjbGFzcz0iayI+PTwvc3Bh
bj4gcmV0dXJuX3R5cGU8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xh
c3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+Mzg3PC90ZD48dGQgY2xhc3M9ImhpdHMiPjE8L3Rk
Pjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7
PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+Mzg4PC90
ZD48dGQgY2xhc3M9ImhpdHMiPjE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICBj
b25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+T1RIRVI8c3BhbiBjbGFzcz0iayI+LDwvc3Bh
bj4gPHNwYW4gY2xhc3M9InMiPiIoIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNw
YW4gY2xhc3M9ImsiPnx8PC9zcGFuPiBlcnJvcjxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFu
IGNsYXNzPSJzIj4iTm8gYXJndW1lbnRzIGluIGNhbGxiYWNrIjwvc3Bhbj48c3BhbiBjbGFzcz0i
ayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4z
ODk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAg
ICAgIHJldDxzcGFuIGNsYXNzPSJrIj5bPC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4iYXJndW1lbnRz
Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+XTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+
IGFyZ3VtZW50X2xpc3Q8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xh
c3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MzkwPC90ZD48dGQgY2xhc3M9ImhpdHMiPjE8L3Rk
Pjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7
PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MzkxPC90
ZD48dGQgY2xhc3M9ImhpdHMiPjE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICBj
b25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+T1RIRVI8c3BhbiBjbGFzcz0iayI+LDwvc3Bh
bj4gPHNwYW4gY2xhc3M9InMiPiIpIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNw
YW4gY2xhc3M9ImsiPnx8PC9zcGFuPiBlcnJvcjxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFu
IGNsYXNzPSJzIj4iVW50ZXJtaW5hdGVkIGNhbGxiYWNrIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+
KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4zOTI8
L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAg
IGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0
Ij4gPHRkIGNsYXNzPSJsaW5lIj4zOTM8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTwvdGQ+PHRkIGNs
YXNzPSJzb3VyY2UiPiAgICAgICAgICAgIGNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5P
VEhFUjxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+IjsiPC9zcGFuPjxz
cGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+fHw8L3NwYW4+IGVycm9yPHNw
YW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9InMiPiJVbnRlcm1pbmF0ZWQgY2FsbGJh
Y2siPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJo
aXQiPiA8dGQgY2xhc3M9ImxpbmUiPjM5NDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xPC90ZD48dGQg
Y2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnJldHVybjwvc3Bhbj4g
cmV0PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUi
PjM5NTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAg
IDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90
cj48dHI+PHRkIGNsYXNzPSJsaW5lIj4zOTY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQg
Y2xhc3M9InNvdXJjZSI+IDwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGlu
ZSI+Mzk3PC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ3PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAg
ICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiBhdHRyaWJ1dGUgPHNwYW4gY2xhc3M9Imsi
Pj08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5mdW5jdGlvbjwvc3Bhbj4gPHNwYW4gY2xhc3M9Imsi
PigpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJo
aXQiPiA8dGQgY2xhc3M9ImxpbmUiPjM5ODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xNTQ8L3RkPjx0
ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9z
cGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+Mzk5PC90ZD48
dGQgY2xhc3M9ImhpdHMiPjE1NDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxz
cGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IGdyYWJiZWQgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+
IDxzcGFuIGNsYXNzPSJrIj5bXTwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+
NDAwPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAg
ICAgIDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiAgIHJldCA8c3BhbiBjbGFzcz0iayI+PTwvc3Bh
bj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUi
PjQwMTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAg
ICAgICAgICAgdHlwZTxzcGFuIGNsYXNzPSJrIj46PC9zcGFuPiAgICAgICAgICAgPHNwYW4gY2xh
c3M9InMiPiJhdHRyaWJ1dGUiPC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj40
MDI8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAg
ICAgPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+ICAgPHNwYW4gY2xhc3M9InMiPiJzdGF0aWMiPC9z
cGFuPjxzcGFuIGNsYXNzPSJrIj46PC9zcGFuPiAgICAgICA8c3BhbiBjbGFzcz0iayI+ZmFsc2U8
L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjQwMzwvdGQ+PHRkIGNsYXNzPSJo
aXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+
LDwvc3Bhbj4gICBzdHJpbmdpZmllcjxzcGFuIGNsYXNzPSJrIj46PC9zcGFuPiAgICA8c3BhbiBj
bGFzcz0iayI+ZmFsc2U8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjQwNDwv
dGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8
c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gICBpbmhlcml0PHNwYW4gY2xhc3M9ImsiPjo8L3NwYW4+
ICAgICAgICA8c3BhbiBjbGFzcz0iayI+ZmFsc2U8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xh
c3M9ImxpbmUiPjQwNTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNl
Ij4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gICByZWFkb25seTxzcGFuIGNs
YXNzPSJrIj46PC9zcGFuPiAgICAgICA8c3BhbiBjbGFzcz0iayI+ZmFsc2U8L3NwYW4+PC90ZD48
L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjQwNjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0
ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48c3Bh
biBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9
ImxpbmUiPjQwNzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xNTQ8L3RkPjx0ZCBjbGFzcz0ic291cmNl
Ij4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4o
PC9zcGFuPmNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5JRDxzcGFuIGNsYXNzPSJrIj4s
PC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+InN0YXRpYyI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPikp
PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQi
PiA8dGQgY2xhc3M9ImxpbmUiPjQwODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yPC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIHJldDxzcGFuIGNsYXNzPSJrIj5bPC9zcGFuPjxz
cGFuIGNsYXNzPSJzIj4ic3RhdGljIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+XTwvc3Bhbj4gPHNw
YW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj50cnVlPC9zcGFuPjxzcGFuIGNs
YXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGlu
ZSI+NDA5PC90ZD48dGQgY2xhc3M9ImhpdHMiPjI8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAg
ICAgICAgICAgICAgZ3JhYmJlZDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnB1c2g8c3BhbiBjbGFz
cz0iayI+KDwvc3Bhbj5sYXN0X3Rva2VuPHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90
cj48dHI+PHRkIGNsYXNzPSJsaW5lIj40MTA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQg
Y2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PC90ZD48
L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj40MTE8L3RkPjx0ZCBjbGFzcz0i
aGl0cyI+MTUyPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9
ImsiPmVsc2U8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9Imsi
Pig8L3NwYW4+Y29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPklEPHNwYW4gY2xhc3M9Imsi
Piw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4ic3RyaW5naWZpZXIiPC9zcGFuPjxzcGFuIGNsYXNz
PSJrIj4pKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFz
cz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj40MTI8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDwvdGQ+
PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICByZXQ8c3BhbiBjbGFzcz0iayI+Ljwv
c3Bhbj5zdHJpbmdpZmllciA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9Imsi
PnRydWU8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0i
aGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj40MTM8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDwvdGQ+PHRk
IGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICBncmFiYmVkPHNwYW4gY2xhc3M9ImsiPi48
L3NwYW4+cHVzaDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPmxhc3RfdG9rZW48c3BhbiBjbGFzcz0i
ayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjQxNDwvdGQ+PHRkIGNs
YXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFz
cz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUi
PjQxNTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xNTQ8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAg
ICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiB3IDxzcGFuIGNsYXNzPSJrIj49PC9z
cGFuPiBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9
ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NDE2PC90ZD48dGQgY2xhc3M9ImhpdHMiPjE1OTwvdGQ+
PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4g
PHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+dzxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiBncmFiYmVk
PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+cHVzaDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPnc8c3Bh
biBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNz
PSJsaW5lIj40MTc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTU0PC90ZD48dGQgY2xhc3M9InNvdXJj
ZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+
KDwvc3Bhbj5jb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+SUQ8c3BhbiBjbGFzcz0iayI+
LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJpbmhlcml0Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+
KSk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9Imhp
dCI+IDx0ZCBjbGFzcz0ibGluZSI+NDE4PC90ZD48dGQgY2xhc3M9ImhpdHMiPjE8L3RkPjx0ZCBj
bGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8
c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5yZXQ8c3BhbiBjbGFzcz0iayI+Wzwvc3Bhbj48c3BhbiBj
bGFzcz0icyI+InN0YXRpYyI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPl08L3NwYW4+IDxzcGFuIGNs
YXNzPSJrIj58fDwvc3Bhbj4gcmV0PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+c3RyaW5naWZpZXI8
c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gZXJyb3I8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3Bh
biBjbGFzcz0icyI+IkNhbm5vdCBoYXZlIGEgc3RhdGljIG9yIHN0cmluZ2lmaWVyIGluaGVyaXQi
PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQi
PiA8dGQgY2xhc3M9ImxpbmUiPjQxOTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xPC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIHJldDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPmlu
aGVyaXQgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj50cnVlPC9zcGFu
PjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBj
bGFzcz0ibGluZSI+NDIwPC90ZD48dGQgY2xhc3M9ImhpdHMiPjE8L3RkPjx0ZCBjbGFzcz0ic291
cmNlIj4gICAgICAgICAgICAgICAgZ3JhYmJlZDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnB1c2g8
c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5sYXN0X3Rva2VuPHNwYW4gY2xhc3M9ImsiPik7PC9zcGFu
PjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NDIxPC90ZD48dGQg
Y2xhc3M9ImhpdHMiPjE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgPHNw
YW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gdyA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gYWxsX3dz
PHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQg
Y2xhc3M9ImxpbmUiPjQyMjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yPC90ZD48dGQgY2xhc3M9InNv
dXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xh
c3M9ImsiPig8L3NwYW4+dzxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiBncmFiYmVkPHNwYW4gY2xh
c3M9ImsiPi48L3NwYW4+cHVzaDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPnc8c3BhbiBjbGFzcz0i
ayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjQyMzwvdGQ+PHRkIGNs
YXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFz
cz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUi
PjQyNDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xNTQ8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAg
ICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFu
PmNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5JRDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFu
PiA8c3BhbiBjbGFzcz0icyI+InJlYWRvbmx5Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KSk8L3Nw
YW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0
ZCBjbGFzcz0ibGluZSI+NDI1PC90ZD48dGQgY2xhc3M9ImhpdHMiPjMyPC90ZD48dGQgY2xhc3M9
InNvdXJjZSI+ICAgICAgICAgICAgICAgIHJldDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnJlYWRv
bmx5IDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+dHJ1ZTwvc3Bhbj48
c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xh
c3M9ImxpbmUiPjQyNjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4zMjwvdGQ+PHRkIGNsYXNzPSJzb3Vy
Y2UiPiAgICAgICAgICAgICAgICBncmFiYmVkPHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+cHVzaDxz
cGFuIGNsYXNzPSJrIj4oPC9zcGFuPmxhc3RfdG9rZW48c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+
PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj40Mjc8L3RkPjx0ZCBj
bGFzcz0iaGl0cyI+MzI8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgPHNw
YW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gdyA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gYWxsX3dz
PHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQg
Y2xhc3M9ImxpbmUiPjQyODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj42NDwvdGQ+PHRkIGNsYXNzPSJz
b3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNs
YXNzPSJrIj4oPC9zcGFuPnc8c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gZ3JhYmJlZDxzcGFuIGNs
YXNzPSJrIj4uPC9zcGFuPnB1c2g8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj53PHNwYW4gY2xhc3M9
ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj40Mjk8L3RkPjx0ZCBj
bGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xh
c3M9ImsiPn08L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5l
Ij40MzA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTU0PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAg
ICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KCE8L3Nw
YW4+Y29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPklEPHNwYW4gY2xhc3M9ImsiPiw8L3Nw
YW4+IDxzcGFuIGNsYXNzPSJzIj4iYXR0cmlidXRlIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KSk8
L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+
IDx0ZCBjbGFzcz0ibGluZSI+NDMxPC90ZD48dGQgY2xhc3M9ImhpdHMiPjYwPC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIHRva2VucyA8c3BhbiBjbGFzcz0iayI+PTwvc3Bh
bj4gZ3JhYmJlZDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPmNvbmNhdDxzcGFuIGNsYXNzPSJrIj4o
PC9zcGFuPnRva2VuczxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNz
PSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjQzMjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj42MDwvdGQ+
PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+cmV0dXJu
PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJs
aW5lIj40MzM8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAg
ICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0
Ij4gPHRkIGNsYXNzPSJsaW5lIj40MzQ8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+OTQ8L3RkPjx0ZCBj
bGFzcz0ic291cmNlIj4gICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFu
PjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NDM1PC90ZD48dGQg
Y2xhc3M9ImhpdHMiPjk0PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgcmV0PHNw
YW4gY2xhc3M9ImsiPi48L3NwYW4+aWRsVHlwZSA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gdHlw
ZTxzcGFuIGNsYXNzPSJrIj4oKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnx8PC9zcGFuPiBlcnJv
cjxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4iTm8gdHlwZSBpbiBhdHRy
aWJ1dGUiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNz
PSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjQzNjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj45NDwvdGQ+
PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4g
PHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+cmV0PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+aWRsVHlw
ZTxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnNlcXVlbmNlPHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+
IGVycm9yPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9InMiPiJBdHRyaWJ1dGVz
IGNhbm5vdCBhY2NlcHQgc2VxdWVuY2UgdHlwZXMiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwv
c3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjQzNzwvdGQ+
PHRkIGNsYXNzPSJoaXRzIj45NDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIGFs
bF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4g
PHRkIGNsYXNzPSJsaW5lIj40Mzg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+OTQ8L3RkPjx0ZCBjbGFz
cz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiBuYW1lIDxz
cGFuIGNsYXNzPSJrIj49PC9zcGFuPiBjb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+SUQ8
c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnx8PC9zcGFuPiBlcnJvcjxz
cGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4iTm8gbmFtZSBpbiBhdHRyaWJ1
dGUiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJo
aXQiPiA8dGQgY2xhc3M9ImxpbmUiPjQzOTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj45NDwvdGQ+PHRk
IGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIHJldDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPm5h
bWUgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IG5hbWU8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj52
YWx1ZTxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0
ZCBjbGFzcz0ibGluZSI+NDQwPC90ZD48dGQgY2xhc3M9ImhpdHMiPjk0PC90ZD48dGQgY2xhc3M9
InNvdXJjZSI+ICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3Rk
PjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjQ0MTwvdGQ+PHRkIGNsYXNz
PSJoaXRzIj45NDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIGNvbnN1bWU8c3Bh
biBjbGFzcz0iayI+KDwvc3Bhbj5PVEhFUjxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBj
bGFzcz0icyI+IjsiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0i
ayI+fHw8L3NwYW4+IGVycm9yPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9InMi
PiJVbnRlcm1pbmF0ZWQgYXR0cmlidXRlIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+
PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj40NDI8L3RkPjx0ZCBj
bGFzcz0iaGl0cyI+OTQ8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBj
bGFzcz0iayI+cmV0dXJuPC9zcGFuPiByZXQ8c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwv
dHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NDQzPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRk
IGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PHNwYW4gY2xh
c3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjQ0NDwvdGQ+PHRk
IGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDwvdGQ+PC90cj48
dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NDQ1PC90ZD48dGQgY2xhc3M9ImhpdHMi
PjQ3PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9z
cGFuPiByZXR1cm5fdHlwZSA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9Imsi
PmZ1bmN0aW9uPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KCk8L3NwYW4+IDxzcGFuIGNsYXNzPSJr
Ij57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NDQ2
PC90ZD48dGQgY2xhc3M9ImhpdHMiPjYxPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAg
ICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gdHlwIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFu
PiB0eXBlPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQi
PiA8dGQgY2xhc3M9ImxpbmUiPjQ0NzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj42MTwvdGQ+PHRkIGNs
YXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4g
Y2xhc3M9ImsiPighPC9zcGFuPnR5cDxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFz
cz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJtaXNzIj4gPHRkIGNsYXNzPSJsaW5l
Ij40NDg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAg
ICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9z
cGFuPmNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5JRDxzcGFuIGNsYXNzPSJrIj4sPC9z
cGFuPiA8c3BhbiBjbGFzcz0icyI+InZvaWQiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pKTwvc3Bh
bj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0ibWlzcyI+IDx0
ZCBjbGFzcz0ibGluZSI+NDQ5PC90ZD48dGQgY2xhc3M9ImhpdHMiPjA8L3RkPjx0ZCBjbGFzcz0i
c291cmNlIj4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5yZXR1cm48L3NwYW4+
IDxzcGFuIGNsYXNzPSJzIj4idm9pZCI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90
ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjQ1MDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3Rk
Pjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3Nw
YW4+PC90ZD48L3RyPjx0ciBjbGFzcz0ibWlzcyI+IDx0ZCBjbGFzcz0ibGluZSI+NDUxPC90ZD48
dGQgY2xhc3M9ImhpdHMiPjA8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAg
PHNwYW4gY2xhc3M9ImsiPmVsc2U8L3NwYW4+IGVycm9yPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+
PHNwYW4gY2xhc3M9InMiPiJObyByZXR1cm4gdHlwZSI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7
PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj40NTI8L3RkPjx0ZCBjbGFzcz0i
aGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9Imsi
Pn08L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj40NTM8
L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NjE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAg
ICA8c3BhbiBjbGFzcz0iayI+cmV0dXJuPC9zcGFuPiB0eXA8c3BhbiBjbGFzcz0iayI+Ozwvc3Bh
bj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NDU0PC90ZD48dGQgY2xhc3M9ImhpdHMi
PjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+
PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjQ1
NTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDwv
dGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NDU2PC90ZD48dGQgY2xh
c3M9ImhpdHMiPjQ3PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFzcz0i
ayI+dmFyPC9zcGFuPiBvcGVyYXRpb24gPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNs
YXNzPSJrIj5mdW5jdGlvbjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPigpPC9zcGFuPiA8c3BhbiBj
bGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9Imxp
bmUiPjQ1NzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj42MDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAg
ICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBj
bGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj40NTg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NjA8
L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9z
cGFuPiByZXQgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFu
PjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj40NTk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+
PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIHR5cGU8c3BhbiBjbGFzcz0i
ayI+Ojwvc3Bhbj4gICAgICAgICAgIDxzcGFuIGNsYXNzPSJzIj4ib3BlcmF0aW9uIjwvc3Bhbj48
L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NDYwPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwv
dGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFu
PiAgIGdldHRlcjxzcGFuIGNsYXNzPSJrIj46PC9zcGFuPiAgICAgICAgIDxzcGFuIGNsYXNzPSJr
Ij5mYWxzZTwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NDYxPC90ZD48dGQg
Y2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNs
YXNzPSJrIj4sPC9zcGFuPiAgIHNldHRlcjxzcGFuIGNsYXNzPSJrIj46PC9zcGFuPiAgICAgICAg
IDxzcGFuIGNsYXNzPSJrIj5mYWxzZTwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGlu
ZSI+NDYyPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAg
ICAgICAgIDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiAgIGNyZWF0b3I8c3BhbiBjbGFzcz0iayI+
Ojwvc3Bhbj4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj5mYWxzZTwvc3Bhbj48L3RkPjwvdHI+PHRy
Pjx0ZCBjbGFzcz0ibGluZSI+NDYzPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNz
PSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiAgIGRlbGV0ZXI8
c3BhbiBjbGFzcz0iayI+Ojwvc3Bhbj4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj5mYWxzZTwvc3Bh
bj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NDY0PC90ZD48dGQgY2xhc3M9ImhpdHMi
PjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj4sPC9z
cGFuPiAgIGxlZ2FjeWNhbGxlcjxzcGFuIGNsYXNzPSJrIj46PC9zcGFuPiAgIDxzcGFuIGNsYXNz
PSJrIj5mYWxzZTwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NDY1PC90ZD48
dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFu
IGNsYXNzPSJrIj4sPC9zcGFuPiAgIDxzcGFuIGNsYXNzPSJzIj4ic3RhdGljIjwvc3Bhbj48c3Bh
biBjbGFzcz0iayI+Ojwvc3Bhbj4gICAgICAgPHNwYW4gY2xhc3M9ImsiPmZhbHNlPC9zcGFuPjwv
dGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj40NjY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90
ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+
ICAgc3RyaW5naWZpZXI8c3BhbiBjbGFzcz0iayI+Ojwvc3Bhbj4gICAgPHNwYW4gY2xhc3M9Imsi
PmZhbHNlPC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj40Njc8L3RkPjx0ZCBj
bGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xh
c3M9ImsiPn08L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFz
cz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj40Njg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NjA8L3Rk
Pjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+d2hpbGU8L3Nw
YW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj50cnVlPC9zcGFuPjxz
cGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+
PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjQ2OTwvdGQ+PHRkIGNsYXNzPSJoaXRz
Ij43ODwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICBhbGxfd3M8c3BhbiBj
bGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0i
bGluZSI+NDcwPC90ZD48dGQgY2xhc3M9ImhpdHMiPjg3PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+
ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9Imsi
Pig8L3NwYW4+Y29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPklEPHNwYW4gY2xhc3M9Imsi
Piw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iZ2V0dGVyIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+
KSk8L3NwYW4+IHJldDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPmdldHRlciA8c3BhbiBjbGFzcz0i
ayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnRydWU8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8
L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj40NzE8L3Rk
Pjx0ZCBjbGFzcz0iaGl0cyI+NzQ8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAg
ICAgPHNwYW4gY2xhc3M9ImsiPmVsc2U8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4g
PHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+Y29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPklE
PHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4ic2V0dGVyIjwvc3Bhbj48
c3BhbiBjbGFzcz0iayI+KSk8L3NwYW4+IHJldDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnNldHRl
ciA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnRydWU8L3NwYW4+PHNw
YW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNz
PSJsaW5lIj40NzI8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NjU8L3RkPjx0ZCBjbGFzcz0ic291cmNl
Ij4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmVsc2U8L3NwYW4+IDxzcGFuIGNsYXNz
PSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+Y29uc3VtZTxzcGFuIGNsYXNz
PSJrIj4oPC9zcGFuPklEPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4i
Y3JlYXRvciI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPikpPC9zcGFuPiByZXQ8c3BhbiBjbGFzcz0i
ayI+Ljwvc3Bhbj5jcmVhdG9yIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0i
ayI+dHJ1ZTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNz
PSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjQ3MzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj42NTwvdGQ+
PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+ZWxzZTwv
c3Bhbj4gPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5j
b25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+SUQ8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4g
PHNwYW4gY2xhc3M9InMiPiJkZWxldGVyIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KSk8L3NwYW4+
IHJldDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPmRlbGV0ZXIgPHNwYW4gY2xhc3M9ImsiPj08L3Nw
YW4+IDxzcGFuIGNsYXNzPSJrIj50cnVlPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwv
dGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NDc0PC90ZD48dGQgY2xh
c3M9ImhpdHMiPjYyPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFu
IGNsYXNzPSJrIj5lbHNlPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNs
YXNzPSJrIj4oPC9zcGFuPmNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5JRDxzcGFuIGNs
YXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+ImxlZ2FjeWNhbGxlciI8L3NwYW4+PHNw
YW4gY2xhc3M9ImsiPikpPC9zcGFuPiByZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5sZWdhY3lj
YWxsZXIgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj50cnVlPC9zcGFu
PjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBj
bGFzcz0ibGluZSI+NDc1PC90ZD48dGQgY2xhc3M9ImhpdHMiPjYwPC90ZD48dGQgY2xhc3M9InNv
dXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5lbHNlPC9zcGFuPiA8c3BhbiBj
bGFzcz0iayI+YnJlYWs8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0
cj48dGQgY2xhc3M9ImxpbmUiPjQ3NjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFz
cz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+
PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjQ3NzwvdGQ+PHRkIGNsYXNzPSJoaXRz
Ij42MDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5p
Zjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+cmV0PHNwYW4gY2xhc3M9ImsiPi48L3Nw
YW4+Z2V0dGVyIDxzcGFuIGNsYXNzPSJrIj58fDwvc3Bhbj4gcmV0PHNwYW4gY2xhc3M9ImsiPi48
L3NwYW4+c2V0dGVyIDxzcGFuIGNsYXNzPSJrIj58fDwvc3Bhbj4gcmV0PHNwYW4gY2xhc3M9Imsi
Pi48L3NwYW4+Y3JlYXRvciA8c3BhbiBjbGFzcz0iayI+fHw8L3NwYW4+IHJldDxzcGFuIGNsYXNz
PSJrIj4uPC9zcGFuPmRlbGV0ZXIgPHNwYW4gY2xhc3M9ImsiPnx8PC9zcGFuPiByZXQ8c3BhbiBj
bGFzcz0iayI+Ljwvc3Bhbj5sZWdhY3ljYWxsZXI8c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNw
YW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNz
PSJsaW5lIj40Nzg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTc8L3RkPjx0ZCBjbGFzcz0ic291cmNl
Ij4gICAgICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwv
dHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjQ3OTwvdGQ+PHRkIGNsYXNzPSJo
aXRzIj4xNzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICByZXQ8c3BhbiBj
bGFzcz0iayI+Ljwvc3Bhbj5pZGxUeXBlIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiByZXR1cm5f
dHlwZTxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4g
PHRkIGNsYXNzPSJsaW5lIj40ODA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTc8L3RkPjx0ZCBjbGFz
cz0ic291cmNlIj4gICAgICAgICAgICAgICAgb3BlcmF0aW9uX3Jlc3Q8c3BhbiBjbGFzcz0iayI+
KDwvc3Bhbj5yZXQ8c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0i
aGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj40ODE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTc8L3RkPjx0
ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnJldHVybjwv
c3Bhbj4gcmV0PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9
ImxpbmUiPjQ4MjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4g
ICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJo
aXQiPiA8dGQgY2xhc3M9ImxpbmUiPjQ4MzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40MzwvdGQ+PHRk
IGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNw
YW4gY2xhc3M9ImsiPig8L3NwYW4+Y29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPklEPHNw
YW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4ic3RhdGljIjwvc3Bhbj48c3Bh
biBjbGFzcz0iayI+KSk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48
dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NDg0PC90ZD48dGQgY2xhc3M9ImhpdHMi
PjE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgcmV0PHNwYW4gY2xhc3M9
ImsiPls8L3NwYW4+PHNwYW4gY2xhc3M9InMiPiJzdGF0aWMiPC9zcGFuPjxzcGFuIGNsYXNzPSJr
Ij5dPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnRydWU8
L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4g
PHRkIGNsYXNzPSJsaW5lIj40ODU8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTwvdGQ+PHRkIGNsYXNz
PSJzb3VyY2UiPiAgICAgICAgICAgICAgICByZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5pZGxU
eXBlIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiByZXR1cm5fdHlwZTxzcGFuIGNsYXNzPSJrIj4o
KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj40ODY8
L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAg
ICAgICBvcGVyYXRpb25fcmVzdDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPnJldDxzcGFuIGNsYXNz
PSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUi
PjQ4NzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAg
ICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5yZXR1cm48L3NwYW4+IHJldDxzcGFuIGNsYXNzPSJr
Ij47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj40ODg8L3RkPjx0ZCBjbGFz
cz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9
ImsiPn08L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj40
ODk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDI8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAg
ICAgICA8c3BhbiBjbGFzcz0iayI+ZWxzZTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFu
PiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5jb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+
SUQ8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJzdHJpbmdpZmllciI8
L3NwYW4+PHNwYW4gY2xhc3M9ImsiPikpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48
L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjQ5MDwvdGQ+PHRkIGNs
YXNzPSJoaXRzIj4zPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIHJldDxz
cGFuIGNsYXNzPSJrIj4uPC9zcGFuPnN0cmluZ2lmaWVyIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFu
PiA8c3BhbiBjbGFzcz0iayI+dHJ1ZTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3Rk
PjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjQ5MTwvdGQ+PHRkIGNsYXNz
PSJoaXRzIj4zPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIGFsbF93czxz
cGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNs
YXNzPSJsaW5lIj40OTI8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDwvdGQ+PHRkIGNsYXNzPSJzb3Vy
Y2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNz
PSJrIj4oPC9zcGFuPmNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5PVEhFUjxzcGFuIGNs
YXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+IjsiPC9zcGFuPjxzcGFuIGNsYXNzPSJr
Ij4pKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnJldHVybjwvc3Bhbj4gcmV0PHNwYW4gY2xhc3M9
ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj40
OTM8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAg
ICAgICAgICByZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5pZGxUeXBlIDxzcGFuIGNsYXNzPSJr
Ij49PC9zcGFuPiByZXR1cm5fdHlwZTxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3Ry
Pjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj40OTQ8L3RkPjx0ZCBjbGFzcz0iaGl0
cyI+MjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICBvcGVyYXRpb25fcmVz
dDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPnJldDxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3Rk
PjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjQ5NTwvdGQ+PHRkIGNsYXNz
PSJoaXRzIj4yPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNs
YXNzPSJrIj5yZXR1cm48L3NwYW4+IHJldDxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90
cj48dHI+PHRkIGNsYXNzPSJsaW5lIj40OTY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQg
Y2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PC90ZD48
L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj40OTc8L3RkPjx0ZCBjbGFzcz0i
aGl0cyI+Mzk8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICByZXQ8c3BhbiBjbGFz
cz0iayI+Ljwvc3Bhbj5pZGxUeXBlIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiByZXR1cm5fdHlw
ZTxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRk
IGNsYXNzPSJsaW5lIj40OTg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+Mzk8L3RkPjx0ZCBjbGFzcz0i
c291cmNlIj4gICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+
PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NDk5PC90ZD48dGQgY2xhc3M9
ImhpdHMiPjM5PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9
ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5jb25zdW1lPHNwYW4gY2xhc3M9
ImsiPig8L3NwYW4+SUQ8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJp
dGVyYXRvciI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPikpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+
ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjUwMDwv
dGQ+PHRkIGNsYXNzPSJoaXRzIj40PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAg
ICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0i
aGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj41MDE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDwvdGQ+PHRk
IGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICByZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bh
bj50eXBlIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+Iml0ZXJhdG9y
Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQi
PiA8dGQgY2xhc3M9ImxpbmUiPjUwMjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40PC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNw
YW4gY2xhc3M9ImsiPig8L3NwYW4+Y29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPklEPHNw
YW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4ib2JqZWN0Ijwvc3Bhbj48c3Bh
biBjbGFzcz0iayI+KSk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48
dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NTAzPC90ZD48dGQgY2xhc3M9ImhpdHMi
PjE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAgIHJldDxzcGFuIGNs
YXNzPSJrIj4uPC9zcGFuPml0ZXJhdG9yT2JqZWN0IDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8
c3BhbiBjbGFzcz0icyI+Im9iamVjdCI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90
ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjUwNDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3Rk
Pjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3Nw
YW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj41MDU8L3RkPjx0
ZCBjbGFzcz0iaGl0cyI+MzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8
c3BhbiBjbGFzcz0iayI+ZWxzZTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3Bh
biBjbGFzcz0iayI+KDwvc3Bhbj5jb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+T1RIRVI8
c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiI9Ijwvc3Bhbj48c3BhbiBj
bGFzcz0iayI+KSk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIg
Y2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NTA2PC90ZD48dGQgY2xhc3M9ImhpdHMiPjI8
L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAgIGFsbF93czxzcGFuIGNs
YXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJs
aW5lIj41MDc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAg
ICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gbmFtZSA8c3BhbiBj
bGFzcz0iayI+PTwvc3Bhbj4gY29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPklEPHNwYW4g
Y2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj58fDwvc3Bhbj4gZXJyb3I8c3BhbiBj
bGFzcz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0icyI+Ik5vIHJpZ2h0IGhhbmQgc2lkZSBpbiBp
dGVyYXRvciI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xh
c3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NTA4PC90ZD48dGQgY2xhc3M9ImhpdHMiPjI8L3Rk
Pjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAgIHJldDxzcGFuIGNsYXNzPSJr
Ij4uPC9zcGFuPml0ZXJhdG9yT2JqZWN0IDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiBuYW1lPHNw
YW4gY2xhc3M9ImsiPi48L3NwYW4+dmFsdWU8c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwv
dHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NTA5PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRk
IGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48
L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjUxMDwvdGQ+PHRkIGNs
YXNzPSJoaXRzIj40PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIGFsbF93
czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRk
IGNsYXNzPSJsaW5lIj41MTE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDwvdGQ+PHRkIGNsYXNzPSJz
b3VyY2UiPiAgICAgICAgICAgICAgICBjb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+T1RI
RVI8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiI7Ijwvc3Bhbj48c3Bh
biBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnx8PC9zcGFuPiBlcnJvcjxzcGFu
IGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4iVW50ZXJtaW5hdGVkIGl0ZXJhdG9y
Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0
Ij4gPHRkIGNsYXNzPSJsaW5lIj41MTI8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDwvdGQ+PHRkIGNs
YXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+cmV0dXJuPC9zcGFu
PiByZXQ8c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGlu
ZSI+NTEzPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAg
ICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJs
aW5lIj41MTQ8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAg
ICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmVsc2U8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9z
cGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NTE1PC90ZD48
dGQgY2xhc3M9ImhpdHMiPjM1PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAg
IG9wZXJhdGlvbl9yZXN0PHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+cmV0PHNwYW4gY2xhc3M9Imsi
Pik7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NTE2
PC90ZD48dGQgY2xhc3M9ImhpdHMiPjM1PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAg
ICAgICAgIDxzcGFuIGNsYXNzPSJrIj5yZXR1cm48L3NwYW4+IHJldDxzcGFuIGNsYXNzPSJrIj47
PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj41MTc8L3RkPjx0ZCBjbGFzcz0i
aGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9Imsi
Pn08L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjUxODwvdGQ+PHRkIGNsYXNz
PSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj59
PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJs
aW5lIj41MTk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAg
ICAgICA8L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjUyMDwvdGQ+
PHRkIGNsYXNzPSJoaXRzIj40NzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4g
Y2xhc3M9ImsiPnZhcjwvc3Bhbj4gaWRlbnRpZmllcnMgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+
IDxzcGFuIGNsYXNzPSJrIj5mdW5jdGlvbjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+
YXJyPHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+
PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NTIxPC90ZD48dGQgY2xhc3M9
ImhpdHMiPjU8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0i
ayI+d2hpbGU8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj50
cnVlPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bh
bj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjUyMjwvdGQ+PHRk
IGNsYXNzPSJoaXRzIj4xMTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICBh
bGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+
IDx0ZCBjbGFzcz0ibGluZSI+NTIzPC90ZD48dGQgY2xhc3M9ImhpdHMiPjExPC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNw
YW4gY2xhc3M9ImsiPig8L3NwYW4+Y29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPk9USEVS
PHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iLCI8L3NwYW4+PHNwYW4g
Y2xhc3M9ImsiPikpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRy
IGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjUyNDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj42
PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICBhbGxfd3M8c3BhbiBj
bGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0i
bGluZSI+NTI1PC90ZD48dGQgY2xhc3M9ImhpdHMiPjY8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4g
ICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IG5hbWUgPHNwYW4g
Y2xhc3M9ImsiPj08L3NwYW4+IGNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5JRDxzcGFu
IGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+fHw8L3NwYW4+IGVycm9yPHNwYW4g
Y2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9InMiPiJUcmFpbGluZyBjb21tYSBpbiBpZGVu
dGlmaWVycyBsaXN0Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0
ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj41MjY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+
NjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAgYXJyPHNwYW4gY2xh
c3M9ImsiPi48L3NwYW4+cHVzaDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPm5hbWU8c3BhbiBjbGFz
cz0iayI+Ljwvc3Bhbj52YWx1ZTxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRy
Pjx0ZCBjbGFzcz0ibGluZSI+NTI3PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNz
PSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48L3RkPjwv
dHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjUyODwvdGQ+PHRkIGNsYXNzPSJo
aXRzIj41PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNz
PSJrIj5lbHNlPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+YnJlYWs8L3NwYW4+PHNwYW4gY2xhc3M9
ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjUyOTwvdGQ+PHRkIGNs
YXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFz
cz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NTMwPC90ZD48dGQg
Y2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9
ImsiPn08L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xh
c3M9ImxpbmUiPjUzMTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNl
Ij4gICAgICAgIDwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NTMy
PC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ3PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8
c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiBzZXJpYWxpc2VyIDxzcGFuIGNsYXNzPSJrIj49PC9z
cGFuPiA8c3BhbiBjbGFzcz0iayI+ZnVuY3Rpb248L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oKTwv
c3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4g
PHRkIGNsYXNzPSJsaW5lIj41MzM8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTY0PC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+ICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48
L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjUzNDwvdGQ+PHRkIGNs
YXNzPSJoaXRzIj4zMTg8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBj
bGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oITwvc3Bhbj5jb25zdW1lPHNwYW4g
Y2xhc3M9ImsiPig8L3NwYW4+SUQ8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9
InMiPiJzZXJpYWxpemVyIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KSk8L3NwYW4+IDxzcGFuIGNs
YXNzPSJrIj5yZXR1cm48L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0
ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj41MzU8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+
MTA8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFy
PC9zcGFuPiByZXQgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9z
cGFuPiB0eXBlPHNwYW4gY2xhc3M9ImsiPjo8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4ic2VyaWFs
aXplciI8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9z
cGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NTM2PC90ZD48
dGQgY2xhc3M9ImhpdHMiPjEwPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgYWxs
X3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8
dGQgY2xhc3M9ImxpbmUiPjUzNzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xMDwvdGQ+PHRkIGNsYXNz
PSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xh
c3M9ImsiPig8L3NwYW4+Y29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPk9USEVSPHNwYW4g
Y2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iPSI8L3NwYW4+PHNwYW4gY2xhc3M9
ImsiPikpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNz
PSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjUzODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj44PC90ZD48
dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4o
KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj41Mzk8
L3RkPjx0ZCBjbGFzcz0iaGl0cyI+ODwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAg
ICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPmNv
bnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5PVEhFUjxzcGFuIGNsYXNzPSJrIj4sPC9zcGFu
PiA8c3BhbiBjbGFzcz0icyI+InsiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pKTwvc3Bhbj4gPHNw
YW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNz
PSJsaW5lIj41NDA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2Ui
PiAgICAgICAgICAgICAgICAgICAgcmV0PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+cGF0dGVybk1h
cCA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnRydWU8L3NwYW4+PHNw
YW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNz
PSJsaW5lIj41NDE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2Ui
PiAgICAgICAgICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3Rk
PjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjU0MjwvdGQ+PHRkIGNsYXNz
PSJoaXRzIj41PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICA8c3Bh
biBjbGFzcz0iayI+dmFyPC9zcGFuPiBpZCA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gY29uc3Vt
ZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPklEPHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+
PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NTQzPC90ZD48dGQgY2xhc3M9
ImhpdHMiPjU8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAgIDxzcGFu
IGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+aWQgPHNwYW4gY2xh
c3M9ImsiPiZhbXA7JmFtcDs8L3NwYW4+IGlkPHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+dmFsdWUg
PHNwYW4gY2xhc3M9ImsiPj09PTwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJnZXR0ZXIiPC9zcGFu
PjxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwv
dHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjU0NDwvdGQ+PHRkIGNsYXNzPSJo
aXRzIj4xPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICAgICAgcmV0
PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+bmFtZXMgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxz
cGFuIGNsYXNzPSJrIj5bPC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4iZ2V0dGVyIjwvc3Bhbj48c3Bh
biBjbGFzcz0iayI+XTs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjU0NTwv
dGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAg
ICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+
IDx0ZCBjbGFzcz0ibGluZSI+NTQ2PC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ8L3RkPjx0ZCBjbGFz
cz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5lbHNlPC9zcGFu
PiA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPmlkIDxz
cGFuIGNsYXNzPSJrIj4mYW1wOyZhbXA7PC9zcGFuPiBpZDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFu
PnZhbHVlIDxzcGFuIGNsYXNzPSJrIj49PT08L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iaW5oZXJp
dCI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFu
PjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NTQ3PC90ZD48dGQg
Y2xhc3M9ImhpdHMiPjI8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAg
ICAgICByZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5uYW1lcyA8c3BhbiBjbGFzcz0iayI+PTwv
c3Bhbj4gPHNwYW4gY2xhc3M9ImsiPls8L3NwYW4+PHNwYW4gY2xhc3M9InMiPiJpbmhlcml0Ijwv
c3Bhbj48c3BhbiBjbGFzcz0iayI+XTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4g
PHRkIGNsYXNzPSJsaW5lIj41NDg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MjwvdGQ+PHRkIGNsYXNz
PSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAgICAgIGlkZW50aWZpZXJzPHNwYW4gY2xhc3M9
ImsiPig8L3NwYW4+cmV0PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+bmFtZXM8c3BhbiBjbGFzcz0i
ayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjU0OTwvdGQ+PHRkIGNs
YXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAgIDxz
cGFuIGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFz
cz0ibGluZSI+NTUwPC90ZD48dGQgY2xhc3M9ImhpdHMiPjI8L3RkPjx0ZCBjbGFzcz0ic291cmNl
Ij4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5lbHNlPC9zcGFuPiA8c3BhbiBj
bGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPmlkPHNwYW4gY2xhc3M9
ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9
ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NTUxPC90ZD48dGQgY2xhc3M9ImhpdHMiPjI8L3RkPjx0
ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAgICAgICByZXQ8c3BhbiBjbGFzcz0i
ayI+Ljwvc3Bhbj5uYW1lcyA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9Imsi
Pls8L3NwYW4+aWQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj52YWx1ZTxzcGFuIGNsYXNzPSJrIj5d
Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjU1Mjwv
dGQ+PHRkIGNsYXNzPSJoaXRzIj4yPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAg
ICAgICAgICAgICAgaWRlbnRpZmllcnM8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5yZXQ8c3BhbiBj
bGFzcz0iayI+Ljwvc3Bhbj5uYW1lczxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+
PHRyPjx0ZCBjbGFzcz0ibGluZSI+NTUzPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNs
YXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+
PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjU1NDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48
L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJr
Ij5lbHNlPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNz
PSJtaXNzIj4gPHRkIGNsYXNzPSJsaW5lIj41NTU8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MDwvdGQ+
PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAgICAgIHJldDxzcGFuIGNsYXNz
PSJrIj4uPC9zcGFuPm5hbWVzIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0i
ayI+W107PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj41NTY8L3RkPjx0ZCBj
bGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICA8
c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xh
c3M9ImxpbmUiPjU1NzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj41PC90ZD48dGQgY2xhc3M9InNvdXJj
ZSI+ICAgICAgICAgICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwv
dGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NTU4PC90ZD48dGQgY2xh
c3M9ImhpdHMiPjU8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAgIGNv
bnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5PVEhFUjxzcGFuIGNsYXNzPSJrIj4sPC9zcGFu
PiA8c3BhbiBjbGFzcz0icyI+In0iPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3Bh
biBjbGFzcz0iayI+fHw8L3NwYW4+IGVycm9yPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4g
Y2xhc3M9InMiPiJVbnRlcm1pbmF0ZWQgc2VyaWFsaXplciBwYXR0ZXJuIG1hcCI8L3NwYW4+PHNw
YW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj41NTk8
L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAg
ICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0
ZCBjbGFzcz0ibGluZSI+NTYwPC90ZD48dGQgY2xhc3M9ImhpdHMiPjM8L3RkPjx0ZCBjbGFzcz0i
c291cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmVsc2U8L3NwYW4+IDxzcGFu
IGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+Y29uc3VtZTxzcGFu
IGNsYXNzPSJrIj4oPC9zcGFuPk9USEVSPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNs
YXNzPSJzIj4iWyI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPikpPC9zcGFuPiA8c3BhbiBjbGFzcz0i
ayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjU2
MTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAg
ICAgICAgICAgICByZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5wYXR0ZXJuTGlzdCA8c3BhbiBj
bGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnRydWU8L3NwYW4+PHNwYW4gY2xhc3M9
ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj41
NjI8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAg
ICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRy
IGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjU2MzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4y
PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0i
ayI+dmFyPC9zcGFuPiBpZCA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gY29uc3VtZTxzcGFuIGNs
YXNzPSJrIj4oPC9zcGFuPklEPHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIg
Y2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NTY0PC90ZD48dGQgY2xhc3M9ImhpdHMiPjI8
L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJr
Ij5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+aWQgPHNwYW4gY2xhc3M9ImsiPiZh
bXA7JmFtcDs8L3NwYW4+IGlkPHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+dmFsdWUgPHNwYW4gY2xh
c3M9ImsiPj09PTwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJnZXR0ZXIiPC9zcGFuPjxzcGFuIGNs
YXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNs
YXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjU2NTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xPC90
ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICAgICAgcmV0PHNwYW4gY2xh
c3M9ImsiPi48L3NwYW4+bmFtZXMgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNz
PSJrIj5bPC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4iZ2V0dGVyIjwvc3Bhbj48c3BhbiBjbGFzcz0i
ayI+XTs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjU2NjwvdGQ+PHRkIGNs
YXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAgIDxz
cGFuIGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFz
cz0ibGluZSI+NTY3PC90ZD48dGQgY2xhc3M9ImhpdHMiPjE8L3RkPjx0ZCBjbGFzcz0ic291cmNl
Ij4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5lbHNlPC9zcGFuPiA8c3BhbiBj
bGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPmlkPHNwYW4gY2xhc3M9
ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9
ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NTY4PC90ZD48dGQgY2xhc3M9ImhpdHMiPjE8L3RkPjx0
ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAgICAgICByZXQ8c3BhbiBjbGFzcz0i
ayI+Ljwvc3Bhbj5uYW1lcyA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9Imsi
Pls8L3NwYW4+aWQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj52YWx1ZTxzcGFuIGNsYXNzPSJrIj5d
Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjU2OTwv
dGQ+PHRkIGNsYXNzPSJoaXRzIj4xPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAg
ICAgICAgICAgICAgaWRlbnRpZmllcnM8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5yZXQ8c3BhbiBj
bGFzcz0iayI+Ljwvc3Bhbj5uYW1lczxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+
PHRyPjx0ZCBjbGFzcz0ibGluZSI+NTcwPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNs
YXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+
PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjU3MTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48
L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJr
Ij5lbHNlPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNz
PSJtaXNzIj4gPHRkIGNsYXNzPSJsaW5lIj41NzI8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MDwvdGQ+
PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAgICAgIHJldDxzcGFuIGNsYXNz
PSJrIj4uPC9zcGFuPm5hbWVzIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0i
ayI+W107PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj41NzM8L3RkPjx0ZCBj
bGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICA8
c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xh
c3M9ImxpbmUiPjU3NDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yPC90ZD48dGQgY2xhc3M9InNvdXJj
ZSI+ICAgICAgICAgICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwv
dGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NTc1PC90ZD48dGQgY2xh
c3M9ImhpdHMiPjI8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAgIGNv
bnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5PVEhFUjxzcGFuIGNsYXNzPSJrIj4sPC9zcGFu
PiA8c3BhbiBjbGFzcz0icyI+Il0iPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3Bh
biBjbGFzcz0iayI+fHw8L3NwYW4+IGVycm9yPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4g
Y2xhc3M9InMiPiJVbnRlcm1pbmF0ZWQgc2VyaWFsaXplciBwYXR0ZXJuIGxpc3QiPC9zcGFuPjxz
cGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NTc2
PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAg
ICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGlu
ZSI+NTc3PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAg
ICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+ZWxzZTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8
L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj41Nzg8L3Rk
Pjx0ZCBjbGFzcz0iaGl0cyI+MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAg
ICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gbmFtZSA8c3BhbiBjbGFzcz0iayI+PTwv
c3Bhbj4gY29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPklEPHNwYW4gY2xhc3M9ImsiPik8
L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj58fDwvc3Bhbj4gZXJyb3I8c3BhbiBjbGFzcz0iayI+KDwv
c3Bhbj48c3BhbiBjbGFzcz0icyI+IkludmFsaWQgc2VyaWFsaXplciI8L3NwYW4+PHNwYW4gY2xh
c3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGlu
ZSI+NTc5PC90ZD48dGQgY2xhc3M9ImhpdHMiPjE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAg
ICAgICAgICAgICAgICAgIHJldDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPm5hbWUgPHNwYW4gY2xh
c3M9ImsiPj08L3NwYW4+IG5hbWU8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj52YWx1ZTxzcGFuIGNs
YXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj41ODA8L3RkPjx0
ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxz
cGFuIGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFz
cz0ibGluZSI+NTgxPC90ZD48dGQgY2xhc3M9ImhpdHMiPjg8L3RkPjx0ZCBjbGFzcz0ic291cmNl
Ij4gICAgICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwv
dHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjU4MjwvdGQ+PHRkIGNsYXNzPSJo
aXRzIj44PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIGNvbnN1bWU8c3Bh
biBjbGFzcz0iayI+KDwvc3Bhbj5PVEhFUjxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBj
bGFzcz0icyI+IjsiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0i
ayI+fHw8L3NwYW4+IGVycm9yPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9InMi
PiJVbnRlcm1pbmF0ZWQgc2VyaWFsaXplciI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFu
PjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NTgzPC90ZD48dGQg
Y2xhc3M9ImhpdHMiPjg8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgPHNw
YW4gY2xhc3M9ImsiPnJldHVybjwvc3Bhbj4gcmV0PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90
ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjU4NDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3Rk
Pjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48
L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjU4NTwvdGQ+PHRkIGNs
YXNzPSJoaXRzIj4yPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xh
c3M9ImsiPmVsc2U8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9
ImsiPig8L3NwYW4+Y29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPk9USEVSPHNwYW4gY2xh
c3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iOyI8L3NwYW4+PHNwYW4gY2xhc3M9Imsi
PikpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFz
cz0ibGluZSI+NTg2PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2Ui
PiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iYyI+Ly8gbm9vcCwganVzdCBwYXJzaW5nPC9z
cGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj41ODc8L3RkPjx0ZCBjbGFzcz0iaGl0
cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08
L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjU4ODwvdGQ+PHRkIGNsYXNzPSJo
aXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+
ZWxzZTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0i
aGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj41ODk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTwvdGQ+PHRk
IGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICByZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bh
bj5pZGxUeXBlIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiByZXR1cm5fdHlwZTxzcGFuIGNsYXNz
PSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5l
Ij41OTA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAg
ICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIg
Y2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NTkxPC90ZD48dGQgY2xhc3M9ImhpdHMiPjE8
L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgcmV0PHNwYW4gY2xhc3M9Imsi
Pi48L3NwYW4+b3BlcmF0aW9uIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiBvcGVyYXRpb25fcmVz
dDxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUi
PjU5MjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAg
ICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8
dGQgY2xhc3M9ImxpbmUiPjU5MzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yPC90ZD48dGQgY2xhc3M9
InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnJldHVybjwvc3Bhbj4gcmV0PHNw
YW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjU5NDwv
dGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxzcGFu
IGNsYXNzPSJrIj59PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+
PHRkIGNsYXNzPSJsaW5lIj41OTU8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9
InNvdXJjZSI+ICAgICAgICA8L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9Imxp
bmUiPjU5NjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40NzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAg
ICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gaW50ZXJmYWNlXyA8c3BhbiBjbGFzcz0i
ayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPmZ1bmN0aW9uPC9zcGFuPiA8c3BhbiBjbGFzcz0i
ayI+KDwvc3Bhbj5pc1BhcnRpYWw8c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9
ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj41
OTc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTQ0PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAg
ICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNz
PSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjU5ODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yMTA8L3Rk
Pjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+
IDxzcGFuIGNsYXNzPSJrIj4oITwvc3Bhbj5jb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+
SUQ8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJpbnRlcmZhY2UiPC9z
cGFuPjxzcGFuIGNsYXNzPSJrIj4pKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnJldHVybjwvc3Bh
bj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQg
Y2xhc3M9ImxpbmUiPjU5OTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj43ODwvdGQ+PHRkIGNsYXNzPSJz
b3VyY2UiPiAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48
L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj42MDA8L3RkPjx0ZCBjbGFzcz0i
aGl0cyI+Nzg8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0i
ayI+dmFyPC9zcGFuPiBuYW1lIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiBjb25zdW1lPHNwYW4g
Y2xhc3M9ImsiPig8L3NwYW4+SUQ8c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9
ImsiPnx8PC9zcGFuPiBlcnJvcjxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJz
Ij4iTm8gbmFtZSBmb3IgaW50ZXJmYWNlIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+
PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj42MDE8L3RkPjx0ZCBj
bGFzcz0iaGl0cyI+Nzg8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBj
bGFzcz0iayI+dmFyPC9zcGFuPiByZXQgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNs
YXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj42MDI8L3RkPjx0
ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIHR5
cGU8c3BhbiBjbGFzcz0iayI+Ojwvc3Bhbj4gICA8c3BhbiBjbGFzcz0icyI+ImludGVyZmFjZSI8
L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjYwMzwvdGQ+PHRkIGNsYXNzPSJo
aXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+
LDwvc3Bhbj4gICBuYW1lPHNwYW4gY2xhc3M9ImsiPjo8L3NwYW4+ICAgbmFtZTxzcGFuIGNsYXNz
PSJrIj4uPC9zcGFuPnZhbHVlPC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjYwNDwvdGQ+
PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3Bh
biBjbGFzcz0iayI+LDwvc3Bhbj4gICBwYXJ0aWFsPHNwYW4gY2xhc3M9ImsiPjo8L3NwYW4+ICAg
IDxzcGFuIGNsYXNzPSJrIj5mYWxzZTwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGlu
ZSI+NjA1PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAg
ICAgICAgIDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiAgIG1lbWJlcnM8c3BhbiBjbGFzcz0iayI+
Ojwvc3Bhbj4gICAgPHNwYW4gY2xhc3M9ImsiPltdPC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNs
YXNzPSJsaW5lIj42MDY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJj
ZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8
L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj42MDc8L3Rk
Pjx0ZCBjbGFzcz0iaGl0cyI+MTU1PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAg
PHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KCE8L3NwYW4+aXNQYXJ0
aWFsPHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IHJldDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPmlu
aGVyaXRhbmNlIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiBpbmhlcml0YW5jZTxzcGFuIGNsYXNz
PSJrIj4oKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnx8PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+
bnVsbDwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJo
aXQiPiA8dGQgY2xhc3M9ImxpbmUiPjYwODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj43ODwvdGQ+PHRk
IGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3Nw
YW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj42MDk8L3RkPjx0
ZCBjbGFzcz0iaGl0cyI+Nzg8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICBjb25z
dW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+T1RIRVI8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4g
PHNwYW4gY2xhc3M9InMiPiJ7Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4g
Y2xhc3M9ImsiPnx8PC9zcGFuPiBlcnJvcjxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNs
YXNzPSJzIj4iQm9keWxlc3MgaW50ZXJmYWNlIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTs8L3Nw
YW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj42MTA8L3RkPjx0
ZCBjbGFzcz0iaGl0cyI+Nzg8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3Bh
biBjbGFzcz0iayI+d2hpbGU8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNs
YXNzPSJrIj50cnVlPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0i
ayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjYx
MTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yNTE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAg
ICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNs
YXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjYxMjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yNTE8
L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlm
PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5jb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8
L3NwYW4+T1RIRVI8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJ9Ijwv
c3Bhbj48c3BhbiBjbGFzcz0iayI+KSk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwv
dGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NjEzPC90ZD48dGQgY2xh
c3M9ImhpdHMiPjc4PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICBh
bGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+
IDx0ZCBjbGFzcz0ibGluZSI+NjE0PC90ZD48dGQgY2xhc3M9ImhpdHMiPjc4PC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICBjb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8
L3NwYW4+T1RIRVI8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiI7Ijwv
c3Bhbj48c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnx8PC9zcGFuPiBl
cnJvcjxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4iTWlzc2luZyBzZW1p
Y29sb24gYWZ0ZXIgaW50ZXJmYWNlIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90
ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj42MTU8L3RkPjx0ZCBjbGFz
cz0iaGl0cyI+Nzg8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAgIDxz
cGFuIGNsYXNzPSJrIj5yZXR1cm48L3NwYW4+IHJldDxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwv
dGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj42MTY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90
ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9z
cGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NjE3PC90ZD48
dGQgY2xhc3M9ImhpdHMiPjE3MzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAg
ICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiBlYSA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4g
ZXh0ZW5kZWRfYXR0cnM8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xh
c3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NjE4PC90ZD48dGQgY2xhc3M9ImhpdHMiPjE3Mzwv
dGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0i
ayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+
NjE5PC90ZD48dGQgY2xhc3M9ImhpdHMiPjE3MzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAg
ICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiBjbnQgPHNwYW4gY2xhc3M9Imsi
Pj08L3NwYW4+IGNvbnN0XzxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBj
bGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj42MjA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTcz
PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5p
Zjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+Y250PHNwYW4gY2xhc3M9ImsiPik8L3Nw
YW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0
ZCBjbGFzcz0ibGluZSI+NjIxPC90ZD48dGQgY2xhc3M9ImhpdHMiPjk8L3RkPjx0ZCBjbGFzcz0i
c291cmNlIj4gICAgICAgICAgICAgICAgICAgIGNudDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPmV4
dEF0dHJzIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiBlYTxzcGFuIGNsYXNzPSJrIj47PC9zcGFu
PjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NjIyPC90ZD48dGQg
Y2xhc3M9ImhpdHMiPjk8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAg
IHJldDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPm1lbWJlcnM8c3BhbiBjbGFzcz0iayI+Ljwvc3Bh
bj5wdXNoPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+Y250PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFu
PjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NjIzPC90ZD48dGQg
Y2xhc3M9ImhpdHMiPjk8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAg
IDxzcGFuIGNsYXNzPSJrIj5jb250aW51ZTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48
L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NjI0PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwv
dGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwv
c3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjYyNTwvdGQ+
PHRkIGNsYXNzPSJoaXRzIj4xNjQ8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAg
ICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gbWVtIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFu
PiBzZXJpYWxpc2VyPHNwYW4gY2xhc3M9ImsiPigpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+fHw8
L3NwYW4+IGF0dHJpYnV0ZTxzcGFuIGNsYXNzPSJrIj4oKTwvc3Bhbj4gPHNwYW4gY2xhc3M9Imsi
Pnx8PC9zcGFuPiBvcGVyYXRpb248c3BhbiBjbGFzcz0iayI+KCk8L3NwYW4+IDxzcGFuIGNsYXNz
PSJrIj58fDwvc3Bhbj4gZXJyb3I8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0i
cyI+IlVua25vd24gbWVtYmVyIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48
L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj42MjY8L3RkPjx0ZCBjbGFzcz0i
aGl0cyI+MTY0PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIG1lbTxzcGFu
IGNsYXNzPSJrIj4uPC9zcGFuPmV4dEF0dHJzIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiBlYTxz
cGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFz
cz0ibGluZSI+NjI3PC90ZD48dGQgY2xhc3M9ImhpdHMiPjE2NDwvdGQ+PHRkIGNsYXNzPSJzb3Vy
Y2UiPiAgICAgICAgICAgICAgICByZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5tZW1iZXJzPHNw
YW4gY2xhc3M9ImsiPi48L3NwYW4+cHVzaDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPm1lbTxzcGFu
IGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NjI4PC90
ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxz
cGFuIGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj42Mjk8
L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8c3Bh
biBjbGFzcz0iayI+fTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRy
Pjx0ZCBjbGFzcz0ibGluZSI+NjMwPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNz
PSJzb3VyY2UiPiAgICAgICAgPC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJs
aW5lIj42MzE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDc8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4g
ICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IHBhcnRpYWwgPHNwYW4gY2xhc3M9Imsi
Pj08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5mdW5jdGlvbjwvc3Bhbj4gPHNwYW4gY2xhc3M9Imsi
PigpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJo
aXQiPiA8dGQgY2xhc3M9ImxpbmUiPjYzMjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj42NjwvdGQ+PHRk
IGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3Nw
YW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj42MzM8L3RkPjx0
ZCBjbGFzcz0iaGl0cyI+MTMwPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNw
YW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KCE8L3NwYW4+Y29uc3VtZTxz
cGFuIGNsYXNzPSJrIj4oPC9zcGFuPklEPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNs
YXNzPSJzIj4icGFydGlhbCI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPikpPC9zcGFuPiA8c3BhbiBj
bGFzcz0iayI+cmV0dXJuPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48
dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NjM0PC90ZD48dGQgY2xhc3M9ImhpdHMi
PjI8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFy
PC9zcGFuPiB0aGluZyA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gZGljdGlvbmFyeTxzcGFuIGNs
YXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj50cnVlPC9zcGFuPjxzcGFuIGNsYXNzPSJr
Ij4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+fHw8L3NwYW4+IGludGVyZmFjZV88c3BhbiBjbGFz
cz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0iayI+dHJ1ZTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+
KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnx8PC9zcGFuPiBlcnJvcjxzcGFuIGNsYXNzPSJrIj4o
PC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4iUGFydGlhbCBkb2Vzbid0IGFwcGx5IHRvIGFueXRoaW5n
Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0
Ij4gPHRkIGNsYXNzPSJsaW5lIj42MzU8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MjwvdGQ+PHRkIGNs
YXNzPSJzb3VyY2UiPiAgICAgICAgICAgIHRoaW5nPHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+cGFy
dGlhbCA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnRydWU8L3NwYW4+
PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNs
YXNzPSJsaW5lIj42MzY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MjwvdGQ+PHRkIGNsYXNzPSJzb3Vy
Y2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5yZXR1cm48L3NwYW4+IHRoaW5nPHNwYW4g
Y2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjYzNzwvdGQ+
PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxzcGFuIGNs
YXNzPSJrIj59PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRk
IGNsYXNzPSJsaW5lIj42Mzg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNv
dXJjZSI+ICAgICAgICA8L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUi
PjYzOTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40NzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAg
ICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gZGljdGlvbmFyeSA8c3BhbiBjbGFzcz0iayI+
PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPmZ1bmN0aW9uPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+
KDwvc3Bhbj5pc1BhcnRpYWw8c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9Imsi
Pns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj42NDA8
L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NjY8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAg
ICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9Imhp
dCI+IDx0ZCBjbGFzcz0ibGluZSI+NjQxPC90ZD48dGQgY2xhc3M9ImhpdHMiPjEyODwvdGQ+PHRk
IGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNw
YW4gY2xhc3M9ImsiPighPC9zcGFuPmNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5JRDxz
cGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+ImRpY3Rpb25hcnkiPC9zcGFu
PjxzcGFuIGNsYXNzPSJrIj4pKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnJldHVybjwvc3Bhbj48
c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xh
c3M9ImxpbmUiPjY0MjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40PC90ZD48dGQgY2xhc3M9InNvdXJj
ZSI+ICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+
PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjY0MzwvdGQ+PHRkIGNsYXNzPSJoaXRz
Ij40PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZh
cjwvc3Bhbj4gbmFtZSA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gY29uc3VtZTxzcGFuIGNsYXNz
PSJrIj4oPC9zcGFuPklEPHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj58
fDwvc3Bhbj4gZXJyb3I8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0icyI+Ik5v
IG5hbWUgZm9yIGRpY3Rpb25hcnkiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3Rk
PjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjY0NDwvdGQ+PHRkIGNsYXNz
PSJoaXRzIj40PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9
ImsiPnZhcjwvc3Bhbj4gcmV0IDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0i
ayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NjQ1PC90ZD48dGQgY2xh
c3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICB0eXBlPHNw
YW4gY2xhc3M9ImsiPjo8L3NwYW4+ICAgPHNwYW4gY2xhc3M9InMiPiJkaWN0aW9uYXJ5Ijwvc3Bh
bj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NjQ2PC90ZD48dGQgY2xhc3M9ImhpdHMi
PjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj4sPC9z
cGFuPiAgIG5hbWU8c3BhbiBjbGFzcz0iayI+Ojwvc3Bhbj4gICBuYW1lPHNwYW4gY2xhc3M9Imsi
Pi48L3NwYW4+dmFsdWU8L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NjQ3PC90ZD48dGQg
Y2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNs
YXNzPSJrIj4sPC9zcGFuPiAgIHBhcnRpYWw8c3BhbiBjbGFzcz0iayI+Ojwvc3Bhbj4gICAgPHNw
YW4gY2xhc3M9ImsiPmZhbHNlPC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj42
NDg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAg
ICAgPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+ICAgbWVtYmVyczxzcGFuIGNsYXNzPSJrIj46PC9z
cGFuPiAgICA8c3BhbiBjbGFzcz0iayI+W108L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9
ImxpbmUiPjY0OTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4g
ICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bh
bj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjY1MDwvdGQ+PHRk
IGNsYXNzPSJoaXRzIj43PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4g
Y2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KCE8L3NwYW4+aXNQYXJ0aWFsPHNw
YW4gY2xhc3M9ImsiPik8L3NwYW4+IHJldDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPmluaGVyaXRh
bmNlIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiBpbmhlcml0YW5jZTxzcGFuIGNsYXNzPSJrIj4o
KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnx8PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+bnVsbDwv
c3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8
dGQgY2xhc3M9ImxpbmUiPjY1MTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40PC90ZD48dGQgY2xhc3M9
InNvdXJjZSI+ICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3Rk
PjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjY1MjwvdGQ+PHRkIGNsYXNz
PSJoaXRzIj40PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgY29uc3VtZTxzcGFu
IGNsYXNzPSJrIj4oPC9zcGFuPk9USEVSPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNs
YXNzPSJzIj4ieyI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJr
Ij58fDwvc3Bhbj4gZXJyb3I8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0icyI+
IkJvZHlsZXNzIGRpY3Rpb25hcnkiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3Rk
PjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjY1MzwvdGQ+PHRkIGNsYXNz
PSJoaXRzIj40PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9
ImsiPndoaWxlPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0iayI+
dHJ1ZTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3Nw
YW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj42NTQ8L3RkPjx0
ZCBjbGFzcz0iaGl0cyI+MTM8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAg
YWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQi
PiA8dGQgY2xhc3M9ImxpbmUiPjY1NTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xMzwvdGQ+PHRkIGNs
YXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxz
cGFuIGNsYXNzPSJrIj4oPC9zcGFuPmNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5PVEhF
UjxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+In0iPC9zcGFuPjxzcGFu
IGNsYXNzPSJrIj4pKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0
ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj42NTY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+
NDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAgYWxsX3dzPHNwYW4g
Y2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9
ImxpbmUiPjY1NzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+
ICAgICAgICAgICAgICAgICAgICBjb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+T1RIRVI8
c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiI7Ijwvc3Bhbj48c3BhbiBj
bGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnx8PC9zcGFuPiBlcnJvcjxzcGFuIGNs
YXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4iTWlzc2luZyBzZW1pY29sb24gYWZ0ZXIg
ZGljdGlvbmFyeSI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIg
Y2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NjU4PC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ8
L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJr
Ij5yZXR1cm48L3NwYW4+IHJldDxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+
PHRkIGNsYXNzPSJsaW5lIj42NTk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9
InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90
cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NjYwPC90ZD48dGQgY2xhc3M9Imhp
dHMiPjk8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9
ImsiPnZhcjwvc3Bhbj4gZWEgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IGV4dGVuZGVkX2F0dHJz
PHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQg
Y2xhc3M9ImxpbmUiPjY2MTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj45PC90ZD48dGQgY2xhc3M9InNv
dXJjZSI+ICAgICAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90
ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj42NjI8L3RkPjx0ZCBjbGFz
cz0iaGl0cyI+OTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBj
bGFzcz0iayI+dmFyPC9zcGFuPiB0eXAgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IHR5cGU8c3Bh
biBjbGFzcz0iayI+KCk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj58fDwvc3Bhbj4gZXJyb3I8c3Bh
biBjbGFzcz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0icyI+Ik5vIHR5cGUgZm9yIGRpY3Rpb25h
cnkgbWVtYmVyIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBj
bGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj42NjM8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+OTwv
dGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0i
ayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+
NjY0PC90ZD48dGQgY2xhc3M9ImhpdHMiPjk8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAg
ICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gbmFtZSA8c3BhbiBjbGFzcz0iayI+
PTwvc3Bhbj4gY29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPklEPHNwYW4gY2xhc3M9Imsi
Pik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj58fDwvc3Bhbj4gZXJyb3I8c3BhbiBjbGFzcz0iayI+
KDwvc3Bhbj48c3BhbiBjbGFzcz0icyI+Ik5vIG5hbWUgZm9yIGRpY3Rpb25hcnkgbWVtYmVyIjwv
c3Bhbj48c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4g
PHRkIGNsYXNzPSJsaW5lIj42NjU8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+OTwvdGQ+PHRkIGNsYXNz
PSJzb3VyY2UiPiAgICAgICAgICAgICAgICByZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5tZW1i
ZXJzPHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+cHVzaDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxz
cGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj42NjY8
L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAg
ICAgICAgICB0eXBlPHNwYW4gY2xhc3M9ImsiPjo8L3NwYW4+ICAgICAgIDxzcGFuIGNsYXNzPSJz
Ij4iZmllbGQiPC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj42Njc8L3RkPjx0
ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxz
cGFuIGNsYXNzPSJrIj4sPC9zcGFuPiAgIG5hbWU8c3BhbiBjbGFzcz0iayI+Ojwvc3Bhbj4gICAg
ICAgbmFtZTxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnZhbHVlPC90ZD48L3RyPjx0cj48dGQgY2xh
c3M9ImxpbmUiPjY2ODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNl
Ij4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+ICAgaWRsVHlwZTxzcGFu
IGNsYXNzPSJrIj46PC9zcGFuPiAgICB0eXA8L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+
NjY5PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAg
ICAgICAgICA8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gICBleHRBdHRyczxzcGFuIGNsYXNzPSJr
Ij46PC9zcGFuPiAgIGVhPC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjY3MDwvdGQ+PHRk
IGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgPHNw
YW4gY2xhc3M9ImsiPiw8L3NwYW4+ICAgPHNwYW4gY2xhc3M9InMiPiJkZWZhdWx0Ijwvc3Bhbj48
c3BhbiBjbGFzcz0iayI+Ojwvc3Bhbj4gIGRlZmF1bHRfPHNwYW4gY2xhc3M9ImsiPigpPC9zcGFu
PjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj42NzE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+
PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj59
PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQi
PiA8dGQgY2xhc3M9ImxpbmUiPjY3MjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj45PC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3Nw
YW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj42NzM8L3RkPjx0
ZCBjbGFzcz0iaGl0cyI+OTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICBj
b25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+T1RIRVI8c3BhbiBjbGFzcz0iayI+LDwvc3Bh
bj4gPHNwYW4gY2xhc3M9InMiPiI7Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNw
YW4gY2xhc3M9ImsiPnx8PC9zcGFuPiBlcnJvcjxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFu
IGNsYXNzPSJzIj4iVW50ZXJtaW5hdGVkIGRpY3Rpb25hcnkgbWVtYmVyIjwvc3Bhbj48c3BhbiBj
bGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjY3NDwvdGQ+
PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3Bh
biBjbGFzcz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+Njc1PC90
ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4g
Y2xhc3M9ImsiPn08L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48
dGQgY2xhc3M9ImxpbmUiPjY3NjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0i
c291cmNlIj4gICAgICAgIDwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGlu
ZSI+Njc3PC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ3PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAg
ICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiBleGNlcHRpb24gPHNwYW4gY2xhc3M9Imsi
Pj08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5mdW5jdGlvbjwvc3Bhbj4gPHNwYW4gY2xhc3M9Imsi
PigpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJo
aXQiPiA8dGQgY2xhc3M9ImxpbmUiPjY3ODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj42MTwvdGQ+PHRk
IGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3Nw
YW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj42Nzk8L3RkPjx0
ZCBjbGFzcz0iaGl0cyI+MTEzPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNw
YW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KCE8L3NwYW4+Y29uc3VtZTxz
cGFuIGNsYXNzPSJrIj4oPC9zcGFuPklEPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNs
YXNzPSJzIj4iZXhjZXB0aW9uIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KSk8L3NwYW4+IDxzcGFu
IGNsYXNzPSJrIj5yZXR1cm48L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3Ry
Pjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj42ODA8L3RkPjx0ZCBjbGFzcz0iaGl0
cyI+OTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNz
PSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5l
Ij42ODE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+OTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAg
ICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IG5hbWUgPHNwYW4gY2xhc3M9ImsiPj08
L3NwYW4+IGNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5JRDxzcGFuIGNsYXNzPSJrIj4p
PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+fHw8L3NwYW4+IGVycm9yPHNwYW4gY2xhc3M9ImsiPig8
L3NwYW4+PHNwYW4gY2xhc3M9InMiPiJObyBuYW1lIGZvciBleGNlcHRpb24iPC9zcGFuPjxzcGFu
IGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9
ImxpbmUiPjY4MjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj45PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+
ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gcmV0IDxzcGFuIGNsYXNzPSJr
Ij49PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFz
cz0ibGluZSI+NjgzPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2Ui
PiAgICAgICAgICAgICAgICB0eXBlPHNwYW4gY2xhc3M9ImsiPjo8L3NwYW4+ICAgPHNwYW4gY2xh
c3M9InMiPiJleGNlcHRpb24iPC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj42
ODQ8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAg
ICAgPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+ICAgbmFtZTxzcGFuIGNsYXNzPSJrIj46PC9zcGFu
PiAgIG5hbWU8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj52YWx1ZTwvdGQ+PC90cj48dHI+PHRkIGNs
YXNzPSJsaW5lIj42ODU8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJj
ZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+ICAgbWVtYmVyczxzcGFuIGNs
YXNzPSJrIj46PC9zcGFuPiAgICA8c3BhbiBjbGFzcz0iayI+W108L3NwYW4+PC90ZD48L3RyPjx0
cj48dGQgY2xhc3M9ImxpbmUiPjY4NjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFz
cz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48c3BhbiBjbGFz
cz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUi
PjY4NzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj45PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAg
ICAgICAgcmV0PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+aW5oZXJpdGFuY2UgPHNwYW4gY2xhc3M9
ImsiPj08L3NwYW4+IGluaGVyaXRhbmNlPHNwYW4gY2xhc3M9ImsiPigpPC9zcGFuPiA8c3BhbiBj
bGFzcz0iayI+fHw8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5udWxsPC9zcGFuPjxzcGFuIGNsYXNz
PSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+
Njg4PC90ZD48dGQgY2xhc3M9ImhpdHMiPjk8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAg
ICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9
ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+Njg5PC90ZD48dGQgY2xhc3M9ImhpdHMiPjk8L3RkPjx0
ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICBjb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3Nw
YW4+T1RIRVI8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJ7Ijwvc3Bh
bj48c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnx8PC9zcGFuPiBlcnJv
cjxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4iQm9keWxlc3MgZXhjZXB0
aW9uIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0i
aGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj42OTA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+OTwvdGQ+PHRk
IGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj53aGlsZTwvc3Bhbj4g
PHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPnRydWU8L3NwYW4+PHNwYW4g
Y2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIg
Y2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NjkxPC90ZD48dGQgY2xhc3M9ImhpdHMiPjE2
PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNz
PSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5l
Ij42OTI8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTY8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAg
ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwv
c3Bhbj5jb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+T1RIRVI8c3BhbiBjbGFzcz0iayI+
LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJ9Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KSk8L3Nw
YW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0
ZCBjbGFzcz0ibGluZSI+NjkzPC90ZD48dGQgY2xhc3M9ImhpdHMiPjk8L3RkPjx0ZCBjbGFzcz0i
c291cmNlIj4gICAgICAgICAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3Nw
YW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj42OTQ8L3RkPjx0
ZCBjbGFzcz0iaGl0cyI+OTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAg
ICAgY29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPk9USEVSPHNwYW4gY2xhc3M9ImsiPiw8
L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iOyI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+
IDxzcGFuIGNsYXNzPSJrIj58fDwvc3Bhbj4gZXJyb3I8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48
c3BhbiBjbGFzcz0icyI+Ik1pc3Npbmcgc2VtaWNvbG9uIGFmdGVyIGV4Y2VwdGlvbiI8L3NwYW4+
PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBj
bGFzcz0ibGluZSI+Njk1PC90ZD48dGQgY2xhc3M9ImhpdHMiPjk8L3RkPjx0ZCBjbGFzcz0ic291
cmNlIj4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5yZXR1cm48L3NwYW4+IHJl
dDxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj42
OTY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAg
ICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+
IDx0ZCBjbGFzcz0ibGluZSI+Njk3PC90ZD48dGQgY2xhc3M9ImhpdHMiPjc8L3RkPjx0ZCBjbGFz
cz0ic291cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gZWEg
PHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IGV4dGVuZGVkX2F0dHJzPHNwYW4gY2xhc3M9ImsiPigp
Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjY5ODwv
dGQ+PHRkIGNsYXNzPSJoaXRzIj43PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAg
ICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0i
aGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj42OTk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NzwvdGQ+PHRk
IGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFu
PiBjbnQgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IGNvbnN0XzxzcGFuIGNsYXNzPSJrIj4oKTs8
L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj43MDA8L3Rk
Pjx0ZCBjbGFzcz0iaGl0cyI+NzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAg
ICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPmNudDxz
cGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+
PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjcwMTwvdGQ+PHRkIGNsYXNzPSJoaXRz
Ij4zPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICBjbnQ8c3BhbiBj
bGFzcz0iayI+Ljwvc3Bhbj5leHRBdHRycyA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gZWE8c3Bh
biBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9
ImxpbmUiPjcwMjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4zPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+
ICAgICAgICAgICAgICAgICAgICByZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5tZW1iZXJzPHNw
YW4gY2xhc3M9ImsiPi48L3NwYW4+cHVzaDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPmNudDxzcGFu
IGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NzAzPC90
ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAg
ICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+
NzA0PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAg
ICAgICAgICA8c3BhbiBjbGFzcz0iayI+ZWxzZTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3Nw
YW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj43MDU8L3RkPjx0
ZCBjbGFzcz0iaGl0cyI+NDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAg
ICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gdHlwIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFu
PiB0eXBlPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQi
PiA8dGQgY2xhc3M9ImxpbmUiPjcwNjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40PC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7
PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NzA3PC90
ZD48dGQgY2xhc3M9ImhpdHMiPjQ8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAg
ICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IG5hbWUgPHNwYW4gY2xhc3M9ImsiPj08
L3NwYW4+IGNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5JRDxzcGFuIGNsYXNzPSJrIj4p
Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjcwODwv
dGQ+PHRkIGNsYXNzPSJoaXRzIj40PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAg
ICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xh
c3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NzA5PC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ8L3Rk
Pjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5p
Zjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPighPC9zcGFuPnR5cCA8c3BhbiBjbGFzcz0iayI+fHw8
L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4hPC9zcGFuPm5hbWUgPHNwYW4gY2xhc3M9ImsiPnx8PC9z
cGFuPiA8c3BhbiBjbGFzcz0iayI+ITwvc3Bhbj5jb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3Nw
YW4+T1RIRVI8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiI7Ijwvc3Bh
bj48c3BhbiBjbGFzcz0iayI+KSk8L3NwYW4+IGVycm9yPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+
PHNwYW4gY2xhc3M9InMiPiJVbmtub3duIG1lbWJlciBpbiBleGNlcHRpb24gYm9keSI8L3NwYW4+
PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBj
bGFzcz0ibGluZSI+NzEwPC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ8L3RkPjx0ZCBjbGFzcz0ic291
cmNlIj4gICAgICAgICAgICAgICAgICAgIHJldDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPm1lbWJl
cnM8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5wdXNoPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNw
YW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjcxMTwv
dGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAg
ICAgICAgICAgICB0eXBlPHNwYW4gY2xhc3M9ImsiPjo8L3NwYW4+ICAgICAgIDxzcGFuIGNsYXNz
PSJzIj4iZmllbGQiPC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj43MTI8L3Rk
Pjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAg
ICAgICA8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gICBuYW1lPHNwYW4gY2xhc3M9ImsiPjo8L3Nw
YW4+ICAgICAgIG5hbWU8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj52YWx1ZTwvdGQ+PC90cj48dHI+
PHRkIGNsYXNzPSJsaW5lIj43MTM8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9
InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gICBp
ZGxUeXBlPHNwYW4gY2xhc3M9ImsiPjo8L3NwYW4+ICAgIHR5cDwvdGQ+PC90cj48dHI+PHRkIGNs
YXNzPSJsaW5lIj43MTQ8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJj
ZSI+ICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gICBleHRBdHRy
czxzcGFuIGNsYXNzPSJrIj46PC9zcGFuPiAgIGVhPC90ZD48L3RyPjx0cj48dGQgY2xhc3M9Imxp
bmUiPjcxNTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAg
ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4p
Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NzE2PC90ZD48dGQgY2xhc3M9
ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFz
cz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NzE3PC90ZD48dGQg
Y2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNs
YXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj43MTg8L3RkPjx0
ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFz
cz0iayI+fTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBj
bGFzcz0ibGluZSI+NzE5PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3Vy
Y2UiPiAgICAgICAgPC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj43
MjA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDc8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAg
IDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IGVudW1fIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFu
PiA8c3BhbiBjbGFzcz0iayI+ZnVuY3Rpb248L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oKTwvc3Bh
bj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRk
IGNsYXNzPSJsaW5lIj43MjE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NTI8L3RkPjx0ZCBjbGFzcz0i
c291cmNlIj4gICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+
PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NzIyPC90ZD48dGQgY2xhc3M9
ImhpdHMiPjEwMzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNz
PSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPighPC9zcGFuPmNvbnN1bWU8c3BhbiBjbGFz
cz0iayI+KDwvc3Bhbj5JRDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+
ImVudW0iPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnJl
dHVybjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJo
aXQiPiA8dGQgY2xhc3M9ImxpbmUiPjcyMzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xPC90ZD48dGQg
Y2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bh
bj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjcyNDwvdGQ+PHRk
IGNsYXNzPSJoaXRzIj4xPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4g
Y2xhc3M9ImsiPnZhcjwvc3Bhbj4gbmFtZSA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gY29uc3Vt
ZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPklEPHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFu
IGNsYXNzPSJrIj58fDwvc3Bhbj4gZXJyb3I8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3BhbiBj
bGFzcz0icyI+Ik5vIG5hbWUgZm9yIGVudW0iPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bh
bj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjcyNTwvdGQ+PHRk
IGNsYXNzPSJoaXRzIj4xPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4g
Y2xhc3M9ImsiPnZhcjwvc3Bhbj4gcmV0IDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBj
bGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NzI2PC90ZD48
dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICB0
eXBlPHNwYW4gY2xhc3M9ImsiPjo8L3NwYW4+ICAgPHNwYW4gY2xhc3M9InMiPiJlbnVtIjwvc3Bh
bj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NzI3PC90ZD48dGQgY2xhc3M9ImhpdHMi
PjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj4sPC9z
cGFuPiAgIG5hbWU8c3BhbiBjbGFzcz0iayI+Ojwvc3Bhbj4gICBuYW1lPHNwYW4gY2xhc3M9Imsi
Pi48L3NwYW4+dmFsdWU8L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NzI4PC90ZD48dGQg
Y2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNs
YXNzPSJrIj4sPC9zcGFuPiAgIHZhbHVlczxzcGFuIGNsYXNzPSJrIj46PC9zcGFuPiA8c3BhbiBj
bGFzcz0iayI+W108L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjcyOTwvdGQ+
PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3Bh
biBjbGFzcz0iayI+fTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRy
IGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjczMDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4x
PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9Imsi
PigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjcz
MTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAg
ICAgY29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPk9USEVSPHNwYW4gY2xhc3M9ImsiPiw8
L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4ieyI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+
IDxzcGFuIGNsYXNzPSJrIj58fDwvc3Bhbj4gZXJyb3I8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48
c3BhbiBjbGFzcz0icyI+Ik5vIGN1cmx5IGZvciBlbnVtIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+
KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj43MzI8
L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAg
IDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IHNhd19jb21tYSA8c3BhbiBjbGFzcz0iayI+PTwv
c3Bhbj4gPHNwYW4gY2xhc3M9ImsiPmZhbHNlPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFu
PjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NzMzPC90ZD48dGQg
Y2xhc3M9ImhpdHMiPjE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBj
bGFzcz0iayI+d2hpbGU8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNz
PSJrIj50cnVlPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+
ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjczNDwv
dGQ+PHRkIGNsYXNzPSJoaXRzIj40PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAg
ICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0i
aGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj43MzU8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDwvdGQ+PHRk
IGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+
IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPmNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5P
VEhFUjxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+In0iPC9zcGFuPjxz
cGFuIGNsYXNzPSJrIj4pKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3Ry
Pjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj43MzY8L3RkPjx0ZCBjbGFzcz0iaGl0
cyI+MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAgYWxsX3dzPHNw
YW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xh
c3M9ImxpbmUiPjczNzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xPC90ZD48dGQgY2xhc3M9InNvdXJj
ZSI+ICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNs
YXNzPSJrIj4oPC9zcGFuPnNhd19jb21tYTxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiBlcnJvcjxz
cGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4iVHJhaWxpbmcgY29tbWEgaW4g
ZW51bSI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9
ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NzM4PC90ZD48dGQgY2xhc3M9ImhpdHMiPjE8L3RkPjx0
ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAgIGNvbnN1bWU8c3BhbiBjbGFzcz0i
ayI+KDwvc3Bhbj5PVEhFUjxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+
IjsiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+fHw8L3Nw
YW4+IGVycm9yPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9InMiPiJObyBzZW1p
Y29sb24gYWZ0ZXIgZW51bSI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90
cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NzM5PC90ZD48dGQgY2xhc3M9Imhp
dHMiPjE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNs
YXNzPSJrIj5yZXR1cm48L3NwYW4+IHJldDxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90
cj48dHI+PHRkIGNsYXNzPSJsaW5lIj43NDA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQg
Y2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjwv
dGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NzQxPC90ZD48dGQgY2xh
c3M9ImhpdHMiPjM8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4g
Y2xhc3M9ImsiPnZhcjwvc3Bhbj4gdmFsIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiBjb25zdW1l
PHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+U1RSPHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFu
IGNsYXNzPSJrIj58fDwvc3Bhbj4gZXJyb3I8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3BhbiBj
bGFzcz0icyI+IlVuZXhwZWN0ZWQgdmFsdWUgaW4gZW51bSI8L3NwYW4+PHNwYW4gY2xhc3M9Imsi
Pik7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NzQy
PC90ZD48dGQgY2xhc3M9ImhpdHMiPjM8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAg
ICAgICAgcmV0PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+dmFsdWVzPHNwYW4gY2xhc3M9ImsiPi48
L3NwYW4+cHVzaDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPnZhbDxzcGFuIGNsYXNzPSJrIj4uPC9z
cGFuPnZhbHVlPHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+cmVwbGFjZTxzcGFuIGNsYXNzPSJrIj4o
PC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4vIi9nPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4sPC9zcGFu
PiA8c3BhbiBjbGFzcz0icyI+IiI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPikpOzwvc3Bhbj48L3Rk
PjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjc0MzwvdGQ+PHRkIGNsYXNz
PSJoaXRzIj4zPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIGFsbF93czxz
cGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNs
YXNzPSJsaW5lIj43NDQ8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MzwvdGQ+PHRkIGNsYXNzPSJzb3Vy
Y2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNz
PSJrIj4oPC9zcGFuPmNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5PVEhFUjxzcGFuIGNs
YXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+IiwiPC9zcGFuPjxzcGFuIGNsYXNzPSJr
Ij4pKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0i
aGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj43NDU8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MjwvdGQ+PHRk
IGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9Imsi
PigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjc0
NjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAg
ICAgICAgICAgICBzYXdfY29tbWEgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNz
PSJrIj50cnVlPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRk
IGNsYXNzPSJsaW5lIj43NDc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNv
dXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90cj48
dHI+PHRkIGNsYXNzPSJsaW5lIj43NDg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5lbHNlPC9zcGFuPiA8
c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xh
c3M9ImxpbmUiPjc0OTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xPC90ZD48dGQgY2xhc3M9InNvdXJj
ZSI+ICAgICAgICAgICAgICAgICAgICBzYXdfY29tbWEgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+
IDxzcGFuIGNsYXNzPSJrIj5mYWxzZTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3Rk
PjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NzUwPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+
PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bh
bj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NzUxPC90ZD48dGQgY2xhc3M9ImhpdHMi
PjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9z
cGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj43NTI8L3RkPjx0ZCBjbGFzcz0iaGl0
cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bh
bj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+
NzUzPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAg
PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj43NTQ8L3RkPjx0ZCBj
bGFzcz0iaGl0cyI+NDc8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxzcGFuIGNsYXNz
PSJrIj52YXI8L3NwYW4+IHR5cGVkZWYgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNs
YXNzPSJrIj5mdW5jdGlvbjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPigpPC9zcGFuPiA8c3BhbiBj
bGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9Imxp
bmUiPjc1NTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj41MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAg
ICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBj
bGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj43NTY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+OTk8
L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3Nw
YW4+IDxzcGFuIGNsYXNzPSJrIj4oITwvc3Bhbj5jb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3Nw
YW4+SUQ8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJ0eXBlZGVmIjwv
c3Bhbj48c3BhbiBjbGFzcz0iayI+KSk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5yZXR1cm48L3Nw
YW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRk
IGNsYXNzPSJsaW5lIj43NTc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MzwvdGQ+PHRkIGNsYXNzPSJz
b3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IHJldCA8c3BhbiBj
bGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0cj48
dGQgY2xhc3M9ImxpbmUiPjc1ODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0i
c291cmNlIj4gICAgICAgICAgICAgICAgdHlwZTxzcGFuIGNsYXNzPSJrIj46PC9zcGFuPiAgIDxz
cGFuIGNsYXNzPSJzIj4idHlwZWRlZiI8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9Imxp
bmUiPjc1OTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAg
ICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48
L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjc2MDwvdGQ+PHRkIGNs
YXNzPSJoaXRzIj4zPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgYWxsX3dzPHNw
YW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xh
c3M9ImxpbmUiPjc2MTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4zPC90ZD48dGQgY2xhc3M9InNvdXJj
ZSI+ICAgICAgICAgICAgcmV0PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+ZXh0QXR0cnMgPHNwYW4g
Y2xhc3M9ImsiPj08L3NwYW4+IGV4dGVuZGVkX2F0dHJzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bh
bj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjc2MjwvdGQ+PHRk
IGNsYXNzPSJoaXRzIj4zPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgYWxsX3dz
PHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQg
Y2xhc3M9ImxpbmUiPjc2MzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4zPC90ZD48dGQgY2xhc3M9InNv
dXJjZSI+ICAgICAgICAgICAgcmV0PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+aWRsVHlwZSA8c3Bh
biBjbGFzcz0iayI+PTwvc3Bhbj4gdHlwZTxzcGFuIGNsYXNzPSJrIj4oKTwvc3Bhbj4gPHNwYW4g
Y2xhc3M9ImsiPnx8PC9zcGFuPiBlcnJvcjxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNs
YXNzPSJzIj4iTm8gdHlwZSBpbiB0eXBlZGVmIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTs8L3Nw
YW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj43NjQ8L3RkPjx0
ZCBjbGFzcz0iaGl0cyI+MzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIGFsbF93
czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRk
IGNsYXNzPSJsaW5lIj43NjU8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MzwvdGQ+PHRkIGNsYXNzPSJz
b3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IG5hbWUgPHNwYW4g
Y2xhc3M9ImsiPj08L3NwYW4+IGNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5JRDxzcGFu
IGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+fHw8L3NwYW4+IGVycm9yPHNwYW4g
Y2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9InMiPiJObyBuYW1lIGluIHR5cGVkZWYiPC9z
cGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8
dGQgY2xhc3M9ImxpbmUiPjc2NjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4zPC90ZD48dGQgY2xhc3M9
InNvdXJjZSI+ICAgICAgICAgICAgcmV0PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+bmFtZSA8c3Bh
biBjbGFzcz0iayI+PTwvc3Bhbj4gbmFtZTxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnZhbHVlPHNw
YW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNz
PSJsaW5lIj43Njc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2Ui
PiAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0
ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj43Njg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+
MzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIGNvbnN1bWU8c3BhbiBjbGFzcz0i
ayI+KDwvc3Bhbj5PVEhFUjxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+
IjsiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+fHw8L3Nw
YW4+IGVycm9yPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9InMiPiJVbnRlcm1p
bmF0ZWQgdHlwZWRlZiI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48
dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NzY5PC90ZD48dGQgY2xhc3M9ImhpdHMi
PjM8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+cmV0
dXJuPC9zcGFuPiByZXQ8c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBj
bGFzcz0ibGluZSI+NzcwPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3Vy
Y2UiPiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3Nw
YW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjc3MTwvdGQ+PHRkIGNsYXNzPSJoaXRz
Ij48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDwvdGQ+PC90cj48dHIgY2xhc3M9Imhp
dCI+IDx0ZCBjbGFzcz0ibGluZSI+NzcyPC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ3PC90ZD48dGQg
Y2xhc3M9InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiBpbXBsZW1l
bnRzXyA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPmZ1bmN0aW9uPC9z
cGFuPiA8c3BhbiBjbGFzcz0iayI+KCk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwv
dGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NzczPC90ZD48dGQgY2xh
c3M9ImhpdHMiPjQ4PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgYWxsX3dzPHNw
YW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xh
c3M9ImxpbmUiPjc3NDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40ODwvdGQ+PHRkIGNsYXNzPSJzb3Vy
Y2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IHRhcmdldCA8c3BhbiBj
bGFzcz0iayI+PTwvc3Bhbj4gY29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPklEPHNwYW4g
Y2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0i
bGluZSI+Nzc1PC90ZD48dGQgY2xhc3M9ImhpdHMiPjk1PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+
ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KCE8
L3NwYW4+dGFyZ2V0PHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5yZXR1
cm48L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0
Ij4gPHRkIGNsYXNzPSJsaW5lIj43NzY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTwvdGQ+PHRkIGNs
YXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IHcgPHNw
YW4gY2xhc3M9ImsiPj08L3NwYW4+IGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90
ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj43Nzc8L3RkPjx0ZCBjbGFz
cz0iaGl0cyI+MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNz
PSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+Y29uc3VtZTxzcGFuIGNsYXNz
PSJrIj4oPC9zcGFuPklEPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4i
aW1wbGVtZW50cyI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPikpPC9zcGFuPiA8c3BhbiBjbGFzcz0i
ayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjc3
ODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAg
ICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IHJldCA8c3BhbiBjbGFzcz0iayI+PTwv
c3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9Imxp
bmUiPjc3OTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAg
ICAgICAgICAgICAgICAgIHR5cGU8c3BhbiBjbGFzcz0iayI+Ojwvc3Bhbj4gICA8c3BhbiBjbGFz
cz0icyI+ImltcGxlbWVudHMiPC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj43
ODA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAg
ICAgICAgIDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiAgIHRhcmdldDxzcGFuIGNsYXNzPSJrIj46
PC9zcGFuPiB0YXJnZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj52YWx1ZTwvdGQ+PC90cj48dHI+
PHRkIGNsYXNzPSJsaW5lIj43ODE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9
InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjxzcGFuIGNs
YXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGlu
ZSI+NzgyPC90ZD48dGQgY2xhc3M9ImhpdHMiPjE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAg
ICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRy
IGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjc4MzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4x
PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj52
YXI8L3NwYW4+IGltcCA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gY29uc3VtZTxzcGFuIGNsYXNz
PSJrIj4oPC9zcGFuPklEPHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj58
fDwvc3Bhbj4gZXJyb3I8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0icyI+Iklu
Y29tcGxldGUgaW1wbGVtZW50cyBzdGF0ZW1lbnQiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwv
c3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjc4NDwvdGQ+
PHRkIGNsYXNzPSJoaXRzIj4xPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAg
IHJldDxzcGFuIGNsYXNzPSJrIj5bPC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4iaW1wbGVtZW50cyI8
L3NwYW4+PHNwYW4gY2xhc3M9ImsiPl08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiBp
bXA8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj52YWx1ZTxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwv
dGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+Nzg1PC90ZD48dGQgY2xh
c3M9ImhpdHMiPjE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgYWxsX3dz
PHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQg
Y2xhc3M9ImxpbmUiPjc4NjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xPC90ZD48dGQgY2xhc3M9InNv
dXJjZSI+ICAgICAgICAgICAgICAgIGNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5PVEhF
UjxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+IjsiPC9zcGFuPjxzcGFu
IGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+fHw8L3NwYW4+IGVycm9yPHNwYW4g
Y2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9InMiPiJObyB0ZXJtaW5hdGluZyA7IGZvciBp
bXBsZW1lbnRzIHN0YXRlbWVudCI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+
PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+Nzg3PC90ZD48dGQgY2xhc3M9
ImhpdHMiPjE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4gY2xh
c3M9ImsiPnJldHVybjwvc3Bhbj4gcmV0PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3Ry
Pjx0cj48dGQgY2xhc3M9ImxpbmUiPjc4ODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBj
bGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48L3RkPjwv
dHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+Nzg5PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRk
IGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5lbHNlPC9zcGFuPiA8
c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+Nzkw
PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAg
ICAgICA8c3BhbiBjbGFzcz0iYyI+Ly8gcm9sbGJhY2s8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFz
cz0ibWlzcyI+IDx0ZCBjbGFzcz0ibGluZSI+NzkxPC90ZD48dGQgY2xhc3M9ImhpdHMiPjA8L3Rk
Pjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgdG9rZW5zPHNwYW4gY2xhc3M9Imsi
Pi48L3NwYW4+dW5zaGlmdDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPnc8c3BhbiBjbGFzcz0iayI+
KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0ibWlzcyI+IDx0ZCBjbGFzcz0ibGluZSI+Nzky
PC90ZD48dGQgY2xhc3M9ImhpdHMiPjA8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAg
ICAgICAgdG9rZW5zPHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+dW5zaGlmdDxzcGFuIGNsYXNzPSJr
Ij4oPC9zcGFuPnRhcmdldDxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0
ZCBjbGFzcz0ibGluZSI+NzkzPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJz
b3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90cj48dHI+
PHRkIGNsYXNzPSJsaW5lIj43OTQ8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9
InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+
Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+Nzk1PC90ZD48dGQgY2xhc3M9
ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPC90ZD48L3RyPjx0ciBjbGFz
cz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj43OTY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDc8L3Rk
Pjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IGRl
ZmluaXRpb24gPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5mdW5jdGlv
bjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPigpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bh
bj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjc5NzwvdGQ+PHRk
IGNsYXNzPSJoaXRzIj4xNDQ8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3Bh
biBjbGFzcz0iayI+cmV0dXJuPC9zcGFuPiAgY2FsbGJhY2s8c3BhbiBjbGFzcz0iayI+KCk8L3Nw
YW4+ICAgICAgPHNwYW4gY2xhc3M9ImsiPnx8PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNz
PSJsaW5lIj43OTg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+
ICAgICAgICAgICAgICAgICAgICBpbnRlcmZhY2VfPHNwYW4gY2xhc3M9ImsiPigpPC9zcGFuPiAg
ICA8c3BhbiBjbGFzcz0iayI+fHw8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUi
Pjc5OTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAg
ICAgICAgICAgICAgIHBhcnRpYWw8c3BhbiBjbGFzcz0iayI+KCk8L3NwYW4+ICAgICAgIDxzcGFu
IGNsYXNzPSJrIj58fDwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+ODAwPC90
ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAg
ICAgICAgZGljdGlvbmFyeTxzcGFuIGNsYXNzPSJrIj4oKTwvc3Bhbj4gICAgPHNwYW4gY2xhc3M9
ImsiPnx8PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj44MDE8L3RkPjx0ZCBj
bGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICBl
eGNlcHRpb248c3BhbiBjbGFzcz0iayI+KCk8L3NwYW4+ICAgICA8c3BhbiBjbGFzcz0iayI+fHw8
L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjgwMjwvdGQ+PHRkIGNsYXNzPSJo
aXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAgIGVudW1fPHNw
YW4gY2xhc3M9ImsiPigpPC9zcGFuPiAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj58fDwvc3Bhbj48
L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+ODAzPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwv
dGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAgdHlwZWRlZjxzcGFuIGNs
YXNzPSJrIj4oKTwvc3Bhbj4gICAgICAgPHNwYW4gY2xhc3M9ImsiPnx8PC9zcGFuPjwvdGQ+PC90
cj48dHI+PHRkIGNsYXNzPSJsaW5lIj44MDQ8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQg
Y2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICBpbXBsZW1lbnRzXzxzcGFuIGNsYXNz
PSJrIj4oKTwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+ODA1PC90ZD48dGQg
Y2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAg
PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjgw
NjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxz
cGFuIGNsYXNzPSJrIj59PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48
dHI+PHRkIGNsYXNzPSJsaW5lIj44MDc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+ICAgICAgICA8L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9
ImxpbmUiPjgwODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40NzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2Ui
PiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gZGVmaW5pdGlvbnMgPHNwYW4gY2xh
c3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5mdW5jdGlvbjwvc3Bhbj4gPHNwYW4gY2xh
c3M9ImsiPigpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNs
YXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjgwOTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40Nzwv
dGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bh
bj4gPHNwYW4gY2xhc3M9ImsiPighPC9zcGFuPnRva2VuczxzcGFuIGNsYXNzPSJrIj4uPC9zcGFu
Pmxlbmd0aDxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+cmV0dXJuPC9z
cGFuPiA8c3BhbiBjbGFzcz0iayI+W107PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+
IDx0ZCBjbGFzcz0ibGluZSI+ODEwPC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ3PC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gZGVmcyA8
c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPltdOzwvc3Bhbj48L3RkPjwv
dHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjgxMTwvdGQ+PHRkIGNsYXNzPSJo
aXRzIj40NzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJr
Ij53aGlsZTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPnRy
dWU8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFu
PjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+ODEyPC90ZD48dGQg
Y2xhc3M9ImhpdHMiPjE0NDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8
c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiBlYSA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gZXh0
ZW5kZWRfYXR0cnM8c3BhbiBjbGFzcz0iayI+KCk8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xh
c3M9ImxpbmUiPjgxMzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNl
Ij4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+ICAgZGVmIDxzcGFuIGNs
YXNzPSJrIj49PC9zcGFuPiBkZWZpbml0aW9uPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3Rk
PjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjgxNDwvdGQ+PHRkIGNsYXNz
PSJoaXRzIj4xNDQ8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4g
Y2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KCE8L3NwYW4+ZGVmPHNwYW4gY2xh
c3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xh
c3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+ODE1PC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ3PC90
ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+
aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPmVhPHNwYW4gY2xhc3M9ImsiPi48L3Nw
YW4+bGVuZ3RoPHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IGVycm9yPHNwYW4gY2xhc3M9ImsiPig8
L3NwYW4+PHNwYW4gY2xhc3M9InMiPiJTdHJheSBleHRlbmRlZCBhdHRyaWJ1dGVzIjwvc3Bhbj48
c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNs
YXNzPSJsaW5lIj44MTY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDc8L3RkPjx0ZCBjbGFzcz0ic291
cmNlIj4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5icmVhazwvc3Bhbj48c3Bh
biBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+ODE3PC90
ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAg
ICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQg
Y2xhc3M9ImxpbmUiPjgxODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj45NzwvdGQ+PHRkIGNsYXNzPSJz
b3VyY2UiPiAgICAgICAgICAgICAgICBkZWY8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5leHRBdHRy
cyA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gZWE8c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3Rk
PjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjgxOTwvdGQ+PHRkIGNsYXNz
PSJoaXRzIj45NzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICBkZWZzPHNw
YW4gY2xhc3M9ImsiPi48L3NwYW4+cHVzaDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPmRlZjxzcGFu
IGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+ODIwPC90
ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxz
cGFuIGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFz
cz0ibGluZSI+ODIxPC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ3PC90ZD48dGQgY2xhc3M9InNvdXJj
ZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnJldHVybjwvc3Bhbj4gZGVmczxzcGFuIGNs
YXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj44MjI8L3RkPjx0
ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFz
cz0iayI+fTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNz
PSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjgyMzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40NzwvdGQ+
PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gcmVz
IDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiBkZWZpbml0aW9uczxzcGFuIGNsYXNzPSJrIj4oKTs8
L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj44MjQ8L3Rk
Pjx0ZCBjbGFzcz0iaGl0cyI+NDc8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxzcGFu
IGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+dG9rZW5zPHNwYW4g
Y2xhc3M9ImsiPi48L3NwYW4+bGVuZ3RoPHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IGVycm9yPHNw
YW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9InMiPiJVbnJlY29nbmlzZWQgdG9rZW5z
Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0
Ij4gPHRkIGNsYXNzPSJsaW5lIj44MjU8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDc8L3RkPjx0ZCBj
bGFzcz0ic291cmNlIj4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj5yZXR1cm48L3NwYW4+IHJlczxz
cGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj44MjY8
L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgIDxzcGFuIGNs
YXNzPSJrIj59PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRk
IGNsYXNzPSJsaW5lIj44Mjc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNv
dXJjZSI+IDwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+ODI4PC90
ZD48dGQgY2xhc3M9ImhpdHMiPjE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgPHNwYW4gY2xh
c3M9ImsiPnZhcjwvc3Bhbj4gb2JqIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFz
cz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+ODI5PC90ZD48dGQg
Y2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgcGFyc2U8c3BhbiBj
bGFzcz0iayI+Ojwvc3Bhbj4gIDxzcGFuIGNsYXNzPSJrIj5mdW5jdGlvbjwvc3Bhbj4gPHNwYW4g
Y2xhc3M9ImsiPig8L3NwYW4+c3RyPHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNz
PSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+
ODMwPC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ3PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAg
ICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gdG9rZW5zIDxzcGFuIGNsYXNzPSJrIj49
PC9zcGFuPiB0b2tlbmlzZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPnN0cjxzcGFuIGNsYXNzPSJr
Ij4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+ODMxPC90ZD48dGQgY2xh
c3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNz
PSJjIj4vLyBjb25zb2xlLmxvZyh0b2tlbnMpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJo
aXQiPiA8dGQgY2xhc3M9ImxpbmUiPjgzMjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40NzwvdGQ+PHRk
IGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5yZXR1cm48L3NwYW4+
IHBhcnNlPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+dG9rZW5zPHNwYW4gY2xhc3M9ImsiPik7PC9z
cGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj44MzM8L3RkPjx0ZCBjbGFzcz0iaGl0
cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bh
bj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+ODM0PC90ZD48dGQgY2xhc3M9ImhpdHMi
PjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48c3Bh
biBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9
ImxpbmUiPjgzNTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+
ICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNw
YW4gY2xhc3M9ImsiPnR5cGVvZjwvc3Bhbj4gbW9kdWxlIDxzcGFuIGNsYXNzPSJrIj4hPT08L3Nw
YW4+IDxzcGFuIGNsYXNzPSJzIj4idW5kZWZpbmVkIjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPiZh
bXA7JmFtcDs8L3NwYW4+IG1vZHVsZTxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPmV4cG9ydHM8c3Bh
biBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0
ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj44MzY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+
MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgbW9kdWxlPHNwYW4gY2xhc3M9ImsiPi48
L3NwYW4+ZXhwb3J0cyA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gb2JqPHNwYW4gY2xhc3M9Imsi
Pjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjgzNzwvdGQ+PHRkIGNsYXNz
PSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgPHNwYW4gY2xhc3M9ImsiPn08L3Nw
YW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjgzODwvdGQ+PHRkIGNsYXNzPSJoaXRz
Ij48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgPHNwYW4gY2xhc3M9ImsiPmVsc2U8L3NwYW4+
IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9Im1pc3MiPiA8dGQg
Y2xhc3M9ImxpbmUiPjgzOTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4wPC90ZD48dGQgY2xhc3M9InNv
dXJjZSI+ICAgICAgICB3aW5kb3c8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5XZWJJREwyIDxzcGFu
IGNsYXNzPSJrIj49PC9zcGFuPiBvYmo8c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+
PHRyPjx0ZCBjbGFzcz0ibGluZSI+ODQwPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNs
YXNzPSJzb3VyY2UiPiAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0
ZCBjbGFzcz0ibGluZSI+ODQxPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJz
b3VyY2UiPjxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4oKSk7PC9zcGFu
PjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+PC9kaXY+PC9ib2R5PjwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvaW5kZXguanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL2luZGV4LmpzCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwOWY5ZWI0NmFhNy4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi9p
bmRleC5qcworKysgL2Rldi9udWxsCkBAIC0xICswLDAgQEAKLW1vZHVsZS5leHBvcnRzID0gcmVx
dWlyZSgiLi9saWIvd2ViaWRsMi5qcyIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi9wYWNrYWdlLWxvY2su
anNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvcGFja2FnZS1sb2NrLmpzb24KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IGIwNTgxMDM3ZmU5Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3BhY2thZ2UtbG9jay5qc29u
CisrKyAvZGV2L251bGwKQEAgLTEsNzAwICswLDAgQEAKLXsKLSAgIm5hbWUiOiAid2ViaWRsMiIs
Ci0gICJ2ZXJzaW9uIjogIjEzLjAuMyIsCi0gICJsb2NrZmlsZVZlcnNpb24iOiAxLAotICAicmVx
dWlyZXMiOiB0cnVlLAotICAiZGVwZW5kZW5jaWVzIjogewotICAgICJAYmFiZWwvY29kZS1mcmFt
ZSI6IHsKLSAgICAgICJ2ZXJzaW9uIjogIjcuMC4wLWJldGEuNDAiLAotICAgICAgInJlc29sdmVk
IjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL0BiYWJlbC9jb2RlLWZyYW1lLy0vY29kZS1m
cmFtZS03LjAuMC1iZXRhLjQwLnRneiIsCi0gICAgICAiaW50ZWdyaXR5IjogInNoYTUxMi1lVlhR
U2J1L1JpbVU2T0tjSzIvZ0RKVlRGY3hYSkk0c0hiSXF3Mm1od01aZVEyYXMvOEFoUzlER2tFRG9I
TUJCTkpaNUIwVVM2M2xGNTZ4K0tEY3hpQT09IiwKLSAgICAgICJkZXYiOiB0cnVlLAotICAgICAg
InJlcXVpcmVzIjogewotICAgICAgICAiQGJhYmVsL2hpZ2hsaWdodCI6ICI3LjAuMC1iZXRhLjQw
IgotICAgICAgfQotICAgIH0sCi0gICAgIkBiYWJlbC9oaWdobGlnaHQiOiB7Ci0gICAgICAidmVy
c2lvbiI6ICI3LjAuMC1iZXRhLjQwIiwKLSAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lz
dHJ5Lm5wbWpzLm9yZy9AYmFiZWwvaGlnaGxpZ2h0Ly0vaGlnaGxpZ2h0LTcuMC4wLWJldGEuNDAu
dGd6IiwKLSAgICAgICJpbnRlZ3JpdHkiOiAic2hhNTEyLW1PaGhUcnppZVY2Vk83b2RnekZHRmFw
aXdSSzBlaThSWlJoZnpIaGI2Y3BYM1FNOFhYdUNMWFdqTjhxQkI3SlJlRGRVUjgwVjNMRmZGckdV
WWV2aE5nPT0iLAotICAgICAgImRldiI6IHRydWUsCi0gICAgICAicmVxdWlyZXMiOiB7Ci0gICAg
ICAgICJjaGFsayI6ICJeMi4wLjAiLAotICAgICAgICAiZXN1dGlscyI6ICJeMi4wLjIiLAotICAg
ICAgICAianMtdG9rZW5zIjogIl4zLjAuMCIKLSAgICAgIH0KLSAgICB9LAotICAgICJhbnNpLXJl
Z2V4IjogewotICAgICAgInZlcnNpb24iOiAiMy4wLjAiLAotICAgICAgInJlc29sdmVkIjogImh0
dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2Fuc2ktcmVnZXgvLS9hbnNpLXJlZ2V4LTMuMC4wLnRn
eiIsCi0gICAgICAiaW50ZWdyaXR5IjogInNoYTEtN1FNWHd5SUdUM2xHYkFLV2E5MjJCYXMzMlpn
PSIsCi0gICAgICAiZGV2IjogdHJ1ZQotICAgIH0sCi0gICAgImFuc2ktc3R5bGVzIjogewotICAg
ICAgInZlcnNpb24iOiAiMy4yLjEiLAotICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0
cnkubnBtanMub3JnL2Fuc2ktc3R5bGVzLy0vYW5zaS1zdHlsZXMtMy4yLjEudGd6IiwKLSAgICAg
ICJpbnRlZ3JpdHkiOiAic2hhNTEyLVZUMFpJNmtaUmRUaDhZeUp3M1NNYlltL3UrTnFmc0F4RXBX
TzBQZjlzcTgvZTk0V3h4T3BQS3g5RlIxRmx5Q3RPVkROT1ErOG50bHFGeGlSYytyNXFBPT0iLAot
ICAgICAgImRldiI6IHRydWUsCi0gICAgICAicmVxdWlyZXMiOiB7Ci0gICAgICAgICJjb2xvci1j
b252ZXJ0IjogIl4xLjkuMCIKLSAgICAgIH0KLSAgICB9LAotICAgICJhcnItZGlmZiI6IHsKLSAg
ICAgICJ2ZXJzaW9uIjogIjIuMC4wIiwKLSAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lz
dHJ5Lm5wbWpzLm9yZy9hcnItZGlmZi8tL2Fyci1kaWZmLTIuMC4wLnRneiIsCi0gICAgICAiaW50
ZWdyaXR5IjogInNoYTEtanp1Q2Y1VmFpOVpwYVg1S1FsYXNQT3JqVnM4PSIsCi0gICAgICAiZGV2
IjogdHJ1ZSwKLSAgICAgICJyZXF1aXJlcyI6IHsKLSAgICAgICAgImFyci1mbGF0dGVuIjogIl4x
LjAuMSIKLSAgICAgIH0KLSAgICB9LAotICAgICJhcnItZmxhdHRlbiI6IHsKLSAgICAgICJ2ZXJz
aW9uIjogIjEuMS4wIiwKLSAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpz
Lm9yZy9hcnItZmxhdHRlbi8tL2Fyci1mbGF0dGVuLTEuMS4wLnRneiIsCi0gICAgICAiaW50ZWdy
aXR5IjogInNoYTUxMi1MM2hLVjVSL3A1bzgxUjdPMDJJR253cERta3A2RTk4MlhodGJ1d1NlM080
cU90TU1NdG9kaWNBU0ExQ255MlUrYUNYY05wbWwrbTRkUHN2c0ozamF0Zz09IiwKLSAgICAgICJk
ZXYiOiB0cnVlCi0gICAgfSwKLSAgICAiYXJyYXktdW5pcXVlIjogewotICAgICAgInZlcnNpb24i
OiAiMC4yLjEiLAotICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3Jn
L2FycmF5LXVuaXF1ZS8tL2FycmF5LXVuaXF1ZS0wLjIuMS50Z3oiLAotICAgICAgImludGVncml0
eSI6ICJzaGExLW9kbDh5dnk4SmlYTWNQcmM2emFsREZpd0dsTT0iLAotICAgICAgImRldiI6IHRy
dWUKLSAgICB9LAotICAgICJiYWxhbmNlZC1tYXRjaCI6IHsKLSAgICAgICJ2ZXJzaW9uIjogIjEu
MC4wIiwKLSAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9iYWxh
bmNlZC1tYXRjaC8tL2JhbGFuY2VkLW1hdGNoLTEuMC4wLnRneiIsCi0gICAgICAiaW50ZWdyaXR5
IjogInNoYTEtaWJUUm1hc3I3a25lRms2Z0s0bk9SaTF4dDJjPSIsCi0gICAgICAiZGV2IjogdHJ1
ZQotICAgIH0sCi0gICAgImJyYWNlLWV4cGFuc2lvbiI6IHsKLSAgICAgICJ2ZXJzaW9uIjogIjEu
MS4xMSIsCi0gICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvYnJh
Y2UtZXhwYW5zaW9uLy0vYnJhY2UtZXhwYW5zaW9uLTEuMS4xMS50Z3oiLAotICAgICAgImludGVn
cml0eSI6ICJzaGE1MTItaUN1UEhERmdySFg3SDJ2RUkvNXhwejA3elNIQjAwVHB1Z3FobVl0Vm1N
TzY1MThtQ3VSTW9PWUZsZEVCbDBnMTg3dWZvemRhSGdXS2NZRmI2MXFHaUE9PSIsCi0gICAgICAi
ZGV2IjogdHJ1ZSwKLSAgICAgICJyZXF1aXJlcyI6IHsKLSAgICAgICAgImJhbGFuY2VkLW1hdGNo
IjogIl4xLjAuMCIsCi0gICAgICAgICJjb25jYXQtbWFwIjogIjAuMC4xIgotICAgICAgfQotICAg
IH0sCi0gICAgImJyYWNlcyI6IHsKLSAgICAgICJ2ZXJzaW9uIjogIjEuOC41IiwKLSAgICAgICJy
ZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9icmFjZXMvLS9icmFjZXMtMS44
LjUudGd6IiwKLSAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS11bmVXTGhMZitXbld0MmNSNlJTM040
Vjc5cWM9IiwKLSAgICAgICJkZXYiOiB0cnVlLAotICAgICAgInJlcXVpcmVzIjogewotICAgICAg
ICAiZXhwYW5kLXJhbmdlIjogIl4xLjguMSIsCi0gICAgICAgICJwcmVzZXJ2ZSI6ICJeMC4yLjAi
LAotICAgICAgICAicmVwZWF0LWVsZW1lbnQiOiAiXjEuMS4yIgotICAgICAgfQotICAgIH0sCi0g
ICAgImJyb3dzZXItc3Rkb3V0IjogewotICAgICAgInZlcnNpb24iOiAiMS4zLjEiLAotICAgICAg
InJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2Jyb3dzZXItc3Rkb3V0Ly0v
YnJvd3Nlci1zdGRvdXQtMS4zLjEudGd6IiwKLSAgICAgICJpbnRlZ3JpdHkiOiAic2hhNTEyLXFo
QVZJMStBdjJYN3FlbE9mQUlZd1hPTm9vZDZYbFpFL2ZYYUJTbVcvVDVTekxBbUNnemkrZWlXRTdm
VXZiSGFlTkJRSDEzVWZ0anBYeHNmTGtNcGd3PT0iLAotICAgICAgImRldiI6IHRydWUKLSAgICB9
LAotICAgICJjaGFsayI6IHsKLSAgICAgICJ2ZXJzaW9uIjogIjIuMy4yIiwKLSAgICAgICJyZXNv
bHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9jaGFsay8tL2NoYWxrLTIuMy4yLnRn
eiIsCi0gICAgICAiaW50ZWdyaXR5IjogInNoYTUxMi1aTTRqMi9sZC9ZWkRjM01hOFBnTjdneUFr
K2tITU1NeXpMTnJ5Q1BHaFdyc2ZBdURWZXVpZDVicFJGVERnTUg5SkJLMmxBNGR5eUFra1pZRi9X
Y3FEUT09IiwKLSAgICAgICJkZXYiOiB0cnVlLAotICAgICAgInJlcXVpcmVzIjogewotICAgICAg
ICAiYW5zaS1zdHlsZXMiOiAiXjMuMi4xIiwKLSAgICAgICAgImVzY2FwZS1zdHJpbmctcmVnZXhw
IjogIl4xLjAuNSIsCi0gICAgICAgICJzdXBwb3J0cy1jb2xvciI6ICJeNS4zLjAiCi0gICAgICB9
Ci0gICAgfSwKLSAgICAiY29sb3ItY29udmVydCI6IHsKLSAgICAgICJ2ZXJzaW9uIjogIjEuOS4x
IiwKLSAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9jb2xvci1j
b252ZXJ0Ly0vY29sb3ItY29udmVydC0xLjkuMS50Z3oiLAotICAgICAgImludGVncml0eSI6ICJz
aGE1MTItbWpHYW5JaXdRSnNrQ0MxOHJQUjZPbXJaNmZtMkxjN1BlR0ZZd0NteTVKMzR3QzZGMVB6
ZEdMNnhlTWZtZ2ljZlljTkxHdVZGQTNXelh0SURDUVNaeFE9PSIsCi0gICAgICAiZGV2IjogdHJ1
ZSwKLSAgICAgICJyZXF1aXJlcyI6IHsKLSAgICAgICAgImNvbG9yLW5hbWUiOiAiXjEuMS4xIgot
ICAgICAgfQotICAgIH0sCi0gICAgImNvbG9yLW5hbWUiOiB7Ci0gICAgICAidmVyc2lvbiI6ICIx
LjEuMyIsCi0gICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvY29s
b3ItbmFtZS8tL2NvbG9yLW5hbWUtMS4xLjMudGd6IiwKLSAgICAgICJpbnRlZ3JpdHkiOiAic2hh
MS1wOUJWaTlpY1F2ZVYzVUl5ajNRSU1jcFR2Q1U9IiwKLSAgICAgICJkZXYiOiB0cnVlCi0gICAg
fSwKLSAgICAiY29tbWFuZGVyIjogewotICAgICAgInZlcnNpb24iOiAiMi4xMS4wIiwKLSAgICAg
ICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9jb21tYW5kZXIvLS9jb21t
YW5kZXItMi4xMS4wLnRneiIsCi0gICAgICAiaW50ZWdyaXR5IjogInNoYTUxMi1iMDU1M3VZQTVZ
QUVHZ3lZSUdZUk96S1E3WDVSQXFlZGtmamlaeHdpMGtMMWczYk9hQk5OWmZZa3p0L0NMMHVtZ0Q1
d2M5SmVjMkZiQjk4Q2prTVJ2UT09IiwKLSAgICAgICJkZXYiOiB0cnVlCi0gICAgfSwKLSAgICAi
Y29uY2F0LW1hcCI6IHsKLSAgICAgICJ2ZXJzaW9uIjogIjAuMC4xIiwKLSAgICAgICJyZXNvbHZl
ZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9jb25jYXQtbWFwLy0vY29uY2F0LW1hcC0w
LjAuMS50Z3oiLAotICAgICAgImludGVncml0eSI6ICJzaGExLTJLbHIxMy9XamZkNU9uTURhanVn
MVVCZFIzcz0iLAotICAgICAgImRldiI6IHRydWUKLSAgICB9LAotICAgICJkZWJ1ZyI6IHsKLSAg
ICAgICJ2ZXJzaW9uIjogIjMuMS4wIiwKLSAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lz
dHJ5Lm5wbWpzLm9yZy9kZWJ1Zy8tL2RlYnVnLTMuMS4wLnRneiIsCi0gICAgICAiaW50ZWdyaXR5
IjogInNoYTUxMi1PWDhYcVA3LzFhOWNxa3hZdzJ5WHNzMTVmMjZOS1dCcERYUWQwL3VLL0tQcWRR
aHhiUGE5OTRobnpqY0UyVnFRcERzbGY1NTcyM2NLUFVPR1NtTVkzZz09IiwKLSAgICAgICJkZXYi
OiB0cnVlLAotICAgICAgInJlcXVpcmVzIjogewotICAgICAgICAibXMiOiAiMi4wLjAiCi0gICAg
ICB9Ci0gICAgfSwKLSAgICAiZGlmZiI6IHsKLSAgICAgICJ2ZXJzaW9uIjogIjMuNS4wIiwKLSAg
ICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9kaWZmLy0vZGlmZi0z
LjUuMC50Z3oiLAotICAgICAgImludGVncml0eSI6ICJzaGE1MTItQTQ2cXRGZ2QrZzdwRFppbnBu
d2lSSnR4YkMxaHBnZjB1elAzaUc4OXNjSGswQVVDN0ExVEd4ZjVPaWlPVXYvSk1aUjhHT3Q4aEw5
MDBoVjBiT3k1eEE9PSIsCi0gICAgICAiZGV2IjogdHJ1ZQotICAgIH0sCi0gICAgImRpZmYtbWF0
Y2gtcGF0Y2giOiB7Ci0gICAgICAidmVyc2lvbiI6ICIxLjAuMCIsCi0gICAgICAicmVzb2x2ZWQi
OiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvZGlmZi1tYXRjaC1wYXRjaC8tL2RpZmYtbWF0
Y2gtcGF0Y2gtMS4wLjAudGd6IiwKLSAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1ITVBJT2trTlov
bGRrZU9mYXRIeTRJYTJNRWc9IiwKLSAgICAgICJkZXYiOiB0cnVlCi0gICAgfSwKLSAgICAiZXNj
YXBlLXN0cmluZy1yZWdleHAiOiB7Ci0gICAgICAidmVyc2lvbiI6ICIxLjAuNSIsCi0gICAgICAi
cmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvZXNjYXBlLXN0cmluZy1yZWdl
eHAvLS9lc2NhcGUtc3RyaW5nLXJlZ2V4cC0xLjAuNS50Z3oiLAotICAgICAgImludGVncml0eSI6
ICJzaGExLUcySEFWaUdRcU4vMnJqdXl6d0lBeWhNTGh0UT0iLAotICAgICAgImRldiI6IHRydWUK
LSAgICB9LAotICAgICJlc3V0aWxzIjogewotICAgICAgInZlcnNpb24iOiAiMi4wLjIiLAotICAg
ICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2VzdXRpbHMvLS9lc3V0
aWxzLTIuMC4yLnRneiIsCi0gICAgICAiaW50ZWdyaXR5IjogInNoYTEtQ3I5UEhLcGJ5eDk2blly
TWJlcFBxcUJMckpzPSIsCi0gICAgICAiZGV2IjogdHJ1ZQotICAgIH0sCi0gICAgImV4cGFuZC1i
cmFja2V0cyI6IHsKLSAgICAgICJ2ZXJzaW9uIjogIjAuMS41IiwKLSAgICAgICJyZXNvbHZlZCI6
ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9leHBhbmQtYnJhY2tldHMvLS9leHBhbmQtYnJh
Y2tldHMtMC4xLjUudGd6IiwKLSAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS0zd2NvVGpRcWdIelhN
NnhhOXlRUjVZSFJGM3M9IiwKLSAgICAgICJkZXYiOiB0cnVlLAotICAgICAgInJlcXVpcmVzIjog
ewotICAgICAgICAiaXMtcG9zaXgtYnJhY2tldCI6ICJeMC4xLjAiCi0gICAgICB9Ci0gICAgfSwK
LSAgICAiZXhwYW5kLXJhbmdlIjogewotICAgICAgInZlcnNpb24iOiAiMS44LjIiLAotICAgICAg
InJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2V4cGFuZC1yYW5nZS8tL2V4
cGFuZC1yYW5nZS0xLjguMi50Z3oiLAotICAgICAgImludGVncml0eSI6ICJzaGExLW9wbnYvVE5m
NG5JZXV1amlWK3g1WkUvSVV6Yz0iLAotICAgICAgImRldiI6IHRydWUsCi0gICAgICAicmVxdWly
ZXMiOiB7Ci0gICAgICAgICJmaWxsLXJhbmdlIjogIl4yLjEuMCIKLSAgICAgIH0KLSAgICB9LAot
ICAgICJleHBlY3QiOiB7Ci0gICAgICAidmVyc2lvbiI6ICIyMi40LjAiLAotICAgICAgInJlc29s
dmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2V4cGVjdC8tL2V4cGVjdC0yMi40LjAu
dGd6IiwKLSAgICAgICJpbnRlZ3JpdHkiOiAic2hhNTEyLUZpeTg2MmpUM3FjNzBod0lId3dDQk5J
U21hcUJyZldLS3J0cXlNSjZpd1pyKzZLWHRjbkhvalpGdGQ2M1RQUnZSbDhFUVRKK1lYWXkybEs2
LzZ1K0h3PT0iLAotICAgICAgImRldiI6IHRydWUsCi0gICAgICAicmVxdWlyZXMiOiB7Ci0gICAg
ICAgICJhbnNpLXN0eWxlcyI6ICJeMy4yLjAiLAotICAgICAgICAiamVzdC1kaWZmIjogIl4yMi40
LjAiLAotICAgICAgICAiamVzdC1nZXQtdHlwZSI6ICJeMjIuMS4wIiwKLSAgICAgICAgImplc3Qt
bWF0Y2hlci11dGlscyI6ICJeMjIuNC4wIiwKLSAgICAgICAgImplc3QtbWVzc2FnZS11dGlsIjog
Il4yMi40LjAiLAotICAgICAgICAiamVzdC1yZWdleC11dGlsIjogIl4yMi4xLjAiCi0gICAgICB9
Ci0gICAgfSwKLSAgICAiZXh0Z2xvYiI6IHsKLSAgICAgICJ2ZXJzaW9uIjogIjAuMy4yIiwKLSAg
ICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9leHRnbG9iLy0vZXh0
Z2xvYi0wLjMuMi50Z3oiLAotICAgICAgImludGVncml0eSI6ICJzaGExLUxoai9QUzlKcXlkbHpz
a0NQd0VkcW8yRFNhRT0iLAotICAgICAgImRldiI6IHRydWUsCi0gICAgICAicmVxdWlyZXMiOiB7
Ci0gICAgICAgICJpcy1leHRnbG9iIjogIl4xLjAuMCIKLSAgICAgIH0KLSAgICB9LAotICAgICJm
aWxlbmFtZS1yZWdleCI6IHsKLSAgICAgICJ2ZXJzaW9uIjogIjIuMC4xIiwKLSAgICAgICJyZXNv
bHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9maWxlbmFtZS1yZWdleC8tL2ZpbGVu
YW1lLXJlZ2V4LTIuMC4xLnRneiIsCi0gICAgICAiaW50ZWdyaXR5IjogInNoYTEtd2NTNXZ1UGds
eVhkc1FhM1hCNHdIK0x4aXlZPSIsCi0gICAgICAiZGV2IjogdHJ1ZQotICAgIH0sCi0gICAgImZp
bGwtcmFuZ2UiOiB7Ci0gICAgICAidmVyc2lvbiI6ICIyLjIuNCIsCi0gICAgICAicmVzb2x2ZWQi
OiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvZmlsbC1yYW5nZS8tL2ZpbGwtcmFuZ2UtMi4y
LjQudGd6IiwKLSAgICAgICJpbnRlZ3JpdHkiOiAic2hhNTEyLWNucmNDYmowMStqMmdURzkyMVZa
UG5IYmptZEFmOG9RVi9pR2VWMmtaeEdTeWZZampUeVk3OUVyc0sxV0pXTXB3NkRhQXBFWDcyYmlu
cUpFKy9kKzVRPT0iLAotICAgICAgImRldiI6IHRydWUsCi0gICAgICAicmVxdWlyZXMiOiB7Ci0g
ICAgICAgICJpcy1udW1iZXIiOiAiXjIuMS4wIiwKLSAgICAgICAgImlzb2JqZWN0IjogIl4yLjAu
MCIsCi0gICAgICAgICJyYW5kb21hdGljIjogIl4zLjAuMCIsCi0gICAgICAgICJyZXBlYXQtZWxl
bWVudCI6ICJeMS4xLjIiLAotICAgICAgICAicmVwZWF0LXN0cmluZyI6ICJeMS41LjIiCi0gICAg
ICB9Ci0gICAgfSwKLSAgICAiZm9yLWluIjogewotICAgICAgInZlcnNpb24iOiAiMS4wLjIiLAot
ICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2Zvci1pbi8tL2Zv
ci1pbi0xLjAuMi50Z3oiLAotICAgICAgImludGVncml0eSI6ICJzaGExLWdRYU5LVnFCUXV3S3h5
Ykc0aUFNTVB0dFhvQT0iLAotICAgICAgImRldiI6IHRydWUKLSAgICB9LAotICAgICJmb3Itb3du
IjogewotICAgICAgInZlcnNpb24iOiAiMC4xLjUiLAotICAgICAgInJlc29sdmVkIjogImh0dHBz
Oi8vcmVnaXN0cnkubnBtanMub3JnL2Zvci1vd24vLS9mb3Itb3duLTAuMS41LnRneiIsCi0gICAg
ICAiaW50ZWdyaXR5IjogInNoYTEtVW1YR2dhVHlsTnE3OFh5VkNiWjJPcWhGRU00PSIsCi0gICAg
ICAiZGV2IjogdHJ1ZSwKLSAgICAgICJyZXF1aXJlcyI6IHsKLSAgICAgICAgImZvci1pbiI6ICJe
MS4wLjEiCi0gICAgICB9Ci0gICAgfSwKLSAgICAiZnMucmVhbHBhdGgiOiB7Ci0gICAgICAidmVy
c2lvbiI6ICIxLjAuMCIsCi0gICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1q
cy5vcmcvZnMucmVhbHBhdGgvLS9mcy5yZWFscGF0aC0xLjAuMC50Z3oiLAotICAgICAgImludGVn
cml0eSI6ICJzaGExLUZRU3RKU01WaktwQTIwb25oOHNCUVJtVTZrOD0iLAotICAgICAgImRldiI6
IHRydWUKLSAgICB9LAotICAgICJnbG9iIjogewotICAgICAgInZlcnNpb24iOiAiNy4xLjIiLAot
ICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2dsb2IvLS9nbG9i
LTcuMS4yLnRneiIsCi0gICAgICAiaW50ZWdyaXR5IjogInNoYTUxMi1NSlRVZzFranVMZVFDSitj
Y0U0VnBhNmtLVlhrUFlKMm1PQ1F5VXVLTGNMUXNkck1DcEJQVWk4cVZFNitZdWFKa296ZUE5TnVz
VEF3M2hMcjhYZTVFUT09IiwKLSAgICAgICJkZXYiOiB0cnVlLAotICAgICAgInJlcXVpcmVzIjog
ewotICAgICAgICAiZnMucmVhbHBhdGgiOiAiXjEuMC4wIiwKLSAgICAgICAgImluZmxpZ2h0Ijog
Il4xLjAuNCIsCi0gICAgICAgICJpbmhlcml0cyI6ICIyIiwKLSAgICAgICAgIm1pbmltYXRjaCI6
ICJeMy4wLjQiLAotICAgICAgICAib25jZSI6ICJeMS4zLjAiLAotICAgICAgICAicGF0aC1pcy1h
YnNvbHV0ZSI6ICJeMS4wLjAiCi0gICAgICB9Ci0gICAgfSwKLSAgICAiZ2xvYi1iYXNlIjogewot
ICAgICAgInZlcnNpb24iOiAiMC4zLjAiLAotICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVn
aXN0cnkubnBtanMub3JnL2dsb2ItYmFzZS8tL2dsb2ItYmFzZS0wLjMuMC50Z3oiLAotICAgICAg
ImludGVncml0eSI6ICJzaGExLTI3Rms5aUliSEFzY3o0S3VveWkwbDk4T284UT0iLAotICAgICAg
ImRldiI6IHRydWUsCi0gICAgICAicmVxdWlyZXMiOiB7Ci0gICAgICAgICJnbG9iLXBhcmVudCI6
ICJeMi4wLjAiLAotICAgICAgICAiaXMtZ2xvYiI6ICJeMi4wLjAiCi0gICAgICB9Ci0gICAgfSwK
LSAgICAiZ2xvYi1wYXJlbnQiOiB7Ci0gICAgICAidmVyc2lvbiI6ICIyLjAuMCIsCi0gICAgICAi
cmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvZ2xvYi1wYXJlbnQvLS9nbG9i
LXBhcmVudC0yLjAuMC50Z3oiLAotICAgICAgImludGVncml0eSI6ICJzaGExLWdUZzljdHNGVDh6
UFV6YmFxUUx4Z3ZidHV5Zz0iLAotICAgICAgImRldiI6IHRydWUsCi0gICAgICAicmVxdWlyZXMi
OiB7Ci0gICAgICAgICJpcy1nbG9iIjogIl4yLjAuMCIKLSAgICAgIH0KLSAgICB9LAotICAgICJn
cm93bCI6IHsKLSAgICAgICJ2ZXJzaW9uIjogIjEuMTAuMyIsCi0gICAgICAicmVzb2x2ZWQiOiAi
aHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvZ3Jvd2wvLS9ncm93bC0xLjEwLjMudGd6IiwKLSAg
ICAgICJpbnRlZ3JpdHkiOiAic2hhNTEyLWhLbHNiQTVWdTN4c2gxQ2czSjdqU21YL1dhVzZBNW9C
ZXF6TTg4b05iQ1JRRnorelVhWG02eXhTNFJWeXRwMXNjQm9KelNZbDRZQUVPUUl0Nk84VjFRPT0i
LAotICAgICAgImRldiI6IHRydWUKLSAgICB9LAotICAgICJoYXMtZmxhZyI6IHsKLSAgICAgICJ2
ZXJzaW9uIjogIjMuMC4wIiwKLSAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5w
bWpzLm9yZy9oYXMtZmxhZy8tL2hhcy1mbGFnLTMuMC4wLnRneiIsCi0gICAgICAiaW50ZWdyaXR5
IjogInNoYTEtdGRSVTNDR1pyaUpXbWZOR2Zsb0g4N2xWdXYwPSIsCi0gICAgICAiZGV2IjogdHJ1
ZQotICAgIH0sCi0gICAgImhlIjogewotICAgICAgInZlcnNpb24iOiAiMS4xLjEiLAotICAgICAg
InJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2hlLy0vaGUtMS4xLjEudGd6
IiwKLSAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1rMEVQMGhzQWx6VVZINGhvd3ZKeDgwSitJLzA9
IiwKLSAgICAgICJkZXYiOiB0cnVlCi0gICAgfSwKLSAgICAiaW5mbGlnaHQiOiB7Ci0gICAgICAi
dmVyc2lvbiI6ICIxLjAuNiIsCi0gICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5u
cG1qcy5vcmcvaW5mbGlnaHQvLS9pbmZsaWdodC0xLjAuNi50Z3oiLAotICAgICAgImludGVncml0
eSI6ICJzaGExLVNiMWpNZGZRTFF3SnZKRUtFSFc2Z1dXMWJmaz0iLAotICAgICAgImRldiI6IHRy
dWUsCi0gICAgICAicmVxdWlyZXMiOiB7Ci0gICAgICAgICJvbmNlIjogIl4xLjMuMCIsCi0gICAg
ICAgICJ3cmFwcHkiOiAiMSIKLSAgICAgIH0KLSAgICB9LAotICAgICJpbmhlcml0cyI6IHsKLSAg
ICAgICJ2ZXJzaW9uIjogIjIuMC4zIiwKLSAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lz
dHJ5Lm5wbWpzLm9yZy9pbmhlcml0cy8tL2luaGVyaXRzLTIuMC4zLnRneiIsCi0gICAgICAiaW50
ZWdyaXR5IjogInNoYTEtWXp3c2crUGFRcVVDOVNSbUFpU0E5Q0NDWWQ0PSIsCi0gICAgICAiZGV2
IjogdHJ1ZQotICAgIH0sCi0gICAgImlzLWJ1ZmZlciI6IHsKLSAgICAgICJ2ZXJzaW9uIjogIjEu
MS42IiwKLSAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9pcy1i
dWZmZXIvLS9pcy1idWZmZXItMS4xLjYudGd6IiwKLSAgICAgICJpbnRlZ3JpdHkiOiAic2hhNTEy
LU5jZEFMd3BYa1RtNVp2dmJrN293T1VTdlZ2QktEZ0tQNS9ld2ZYRXpubVFGZnM0WlJtYW5PZUtC
VGpSVmprYTNRRm9ONlhKKzlGM1VTcWZIcVRhVTV3PT0iLAotICAgICAgImRldiI6IHRydWUKLSAg
ICB9LAotICAgICJpcy1kb3RmaWxlIjogewotICAgICAgInZlcnNpb24iOiAiMS4wLjMiLAotICAg
ICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2lzLWRvdGZpbGUvLS9p
cy1kb3RmaWxlLTEuMC4zLnRneiIsCi0gICAgICAiaW50ZWdyaXR5IjogInNoYTEtcHFMekwvMHQr
d1QxeWlYczBQYTRQUGVZb2VFPSIsCi0gICAgICAiZGV2IjogdHJ1ZQotICAgIH0sCi0gICAgImlz
LWVxdWFsLXNoYWxsb3ciOiB7Ci0gICAgICAidmVyc2lvbiI6ICIwLjEuMyIsCi0gICAgICAicmVz
b2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvaXMtZXF1YWwtc2hhbGxvdy8tL2lz
LWVxdWFsLXNoYWxsb3ctMC4xLjMudGd6IiwKLSAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1JamdK
ajhJaDNndlBwZG5xeE1SZFk0cWh4VFE9IiwKLSAgICAgICJkZXYiOiB0cnVlLAotICAgICAgInJl
cXVpcmVzIjogewotICAgICAgICAiaXMtcHJpbWl0aXZlIjogIl4yLjAuMCIKLSAgICAgIH0KLSAg
ICB9LAotICAgICJpcy1leHRlbmRhYmxlIjogewotICAgICAgInZlcnNpb24iOiAiMC4xLjEiLAot
ICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2lzLWV4dGVuZGFi
bGUvLS9pcy1leHRlbmRhYmxlLTAuMS4xLnRneiIsCi0gICAgICAiaW50ZWdyaXR5IjogInNoYTEt
WXJFUTRvbWtjVUdPUHNOcVlYMUhMakFkL0lrPSIsCi0gICAgICAiZGV2IjogdHJ1ZQotICAgIH0s
Ci0gICAgImlzLWV4dGdsb2IiOiB7Ci0gICAgICAidmVyc2lvbiI6ICIxLjAuMCIsCi0gICAgICAi
cmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvaXMtZXh0Z2xvYi8tL2lzLWV4
dGdsb2ItMS4wLjAudGd6IiwKLSAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1yRWFCZDhTVU5BV2dr
dnlQS1hZTWIveGlCc0E9IiwKLSAgICAgICJkZXYiOiB0cnVlCi0gICAgfSwKLSAgICAiaXMtZ2xv
YiI6IHsKLSAgICAgICJ2ZXJzaW9uIjogIjIuMC4xIiwKLSAgICAgICJyZXNvbHZlZCI6ICJodHRw
czovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9pcy1nbG9iLy0vaXMtZ2xvYi0yLjAuMS50Z3oiLAotICAg
ICAgImludGVncml0eSI6ICJzaGExLTBKYjVKcVBlMVdBUFA5L1pFWmpMQ0lqQzJHTT0iLAotICAg
ICAgImRldiI6IHRydWUsCi0gICAgICAicmVxdWlyZXMiOiB7Ci0gICAgICAgICJpcy1leHRnbG9i
IjogIl4xLjAuMCIKLSAgICAgIH0KLSAgICB9LAotICAgICJpcy1udW1iZXIiOiB7Ci0gICAgICAi
dmVyc2lvbiI6ICIyLjEuMCIsCi0gICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5u
cG1qcy5vcmcvaXMtbnVtYmVyLy0vaXMtbnVtYmVyLTIuMS4wLnRneiIsCi0gICAgICAiaW50ZWdy
aXR5IjogInNoYTEtQWZ5N3M1TkdPbFNQTDBac3poYmV6a25ia0k4PSIsCi0gICAgICAiZGV2Ijog
dHJ1ZSwKLSAgICAgICJyZXF1aXJlcyI6IHsKLSAgICAgICAgImtpbmQtb2YiOiAiXjMuMC4yIgot
ICAgICAgfQotICAgIH0sCi0gICAgImlzLXBvc2l4LWJyYWNrZXQiOiB7Ci0gICAgICAidmVyc2lv
biI6ICIwLjEuMSIsCi0gICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5v
cmcvaXMtcG9zaXgtYnJhY2tldC8tL2lzLXBvc2l4LWJyYWNrZXQtMC4xLjEudGd6IiwKLSAgICAg
ICJpbnRlZ3JpdHkiOiAic2hhMS1NelRjZVhkRGFPa3ZBVzV2dkFxSTljMXVhOFE9IiwKLSAgICAg
ICJkZXYiOiB0cnVlCi0gICAgfSwKLSAgICAiaXMtcHJpbWl0aXZlIjogewotICAgICAgInZlcnNp
b24iOiAiMi4wLjAiLAotICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMu
b3JnL2lzLXByaW1pdGl2ZS8tL2lzLXByaW1pdGl2ZS0yLjAuMC50Z3oiLAotICAgICAgImludGVn
cml0eSI6ICJzaGExLUlIdXJrV09FbWNCN0t0OGtDa0dvY2hBRFJYVT0iLAotICAgICAgImRldiI6
IHRydWUKLSAgICB9LAotICAgICJpc2FycmF5IjogewotICAgICAgInZlcnNpb24iOiAiMS4wLjAi
LAotICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2lzYXJyYXkv
LS9pc2FycmF5LTEuMC4wLnRneiIsCi0gICAgICAiaW50ZWdyaXR5IjogInNoYTEtdTVOZFNGZ3N1
aGFNQm9OSlY2VktQZ2NTVHhFPSIsCi0gICAgICAiZGV2IjogdHJ1ZQotICAgIH0sCi0gICAgImlz
b2JqZWN0IjogewotICAgICAgInZlcnNpb24iOiAiMi4xLjAiLAotICAgICAgInJlc29sdmVkIjog
Imh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2lzb2JqZWN0Ly0vaXNvYmplY3QtMi4xLjAudGd6
IiwKLSAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS04R1ZXRUphajhkb3U5R0p5K0JYSVFOaCtESWs9
IiwKLSAgICAgICJkZXYiOiB0cnVlLAotICAgICAgInJlcXVpcmVzIjogewotICAgICAgICAiaXNh
cnJheSI6ICIxLjAuMCIKLSAgICAgIH0KLSAgICB9LAotICAgICJqZXN0LWRpZmYiOiB7Ci0gICAg
ICAidmVyc2lvbiI6ICIyMi40LjAiLAotICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0
cnkubnBtanMub3JnL2plc3QtZGlmZi8tL2plc3QtZGlmZi0yMi40LjAudGd6IiwKLSAgICAgICJp
bnRlZ3JpdHkiOiAic2hhNTEyLSsvdDIwV21ua09rQjhNT2FHYVB6aUk4eldLeHF1TXZZdzRVYit3
T3ppN0FVaG1wRlh6NDNidVdTeFZvWm80SjVSbkNvenBHYlgzL0Zzc2pKNUtWOU53PT0iLAotICAg
ICAgImRldiI6IHRydWUsCi0gICAgICAicmVxdWlyZXMiOiB7Ci0gICAgICAgICJjaGFsayI6ICJe
Mi4wLjEiLAotICAgICAgICAiZGlmZiI6ICJeMy4yLjAiLAotICAgICAgICAiamVzdC1nZXQtdHlw
ZSI6ICJeMjIuMS4wIiwKLSAgICAgICAgInByZXR0eS1mb3JtYXQiOiAiXjIyLjQuMCIKLSAgICAg
IH0KLSAgICB9LAotICAgICJqZXN0LWdldC10eXBlIjogewotICAgICAgInZlcnNpb24iOiAiMjIu
MS4wIiwKLSAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9qZXN0
LWdldC10eXBlLy0vamVzdC1nZXQtdHlwZS0yMi4xLjAudGd6IiwKLSAgICAgICJpbnRlZ3JpdHki
OiAic2hhNTEyLW5EOTdJVk9sTlA2ZmpJTjVpN2o1WFJIK2hGc0hMN1ZsYXVCYnpSdnVlYWFVZTcw
dW9ocmt6N3BML044bHgvSUF3WlJUSi8vd09kVmdoODVPZ003ZzN3PT0iLAotICAgICAgImRldiI6
IHRydWUKLSAgICB9LAotICAgICJqZXN0LW1hdGNoZXItdXRpbHMiOiB7Ci0gICAgICAidmVyc2lv
biI6ICIyMi40LjAiLAotICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMu
b3JnL2plc3QtbWF0Y2hlci11dGlscy8tL2plc3QtbWF0Y2hlci11dGlscy0yMi40LjAudGd6IiwK
LSAgICAgICJpbnRlZ3JpdHkiOiAic2hhNTEyLTAzbTNpc3N4VVhwV013RFlUZm1MOGhSTmV3VUIw
eUNSVGVYUG0rZXEwNThyWnhMSEQ5ZjVOdFNTTzk4Q1dIcWU0VXlJU0l4ZDlBbzlpRFZqSFdkMnFn
PT0iLAotICAgICAgImRldiI6IHRydWUsCi0gICAgICAicmVxdWlyZXMiOiB7Ci0gICAgICAgICJj
aGFsayI6ICJeMi4wLjEiLAotICAgICAgICAiamVzdC1nZXQtdHlwZSI6ICJeMjIuMS4wIiwKLSAg
ICAgICAgInByZXR0eS1mb3JtYXQiOiAiXjIyLjQuMCIKLSAgICAgIH0KLSAgICB9LAotICAgICJq
ZXN0LW1lc3NhZ2UtdXRpbCI6IHsKLSAgICAgICJ2ZXJzaW9uIjogIjIyLjQuMCIsCi0gICAgICAi
cmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvamVzdC1tZXNzYWdlLXV0aWwv
LS9qZXN0LW1lc3NhZ2UtdXRpbC0yMi40LjAudGd6IiwKLSAgICAgICJpbnRlZ3JpdHkiOiAic2hh
NTEyLWV5Q0pCMFQzaHJscEZGMkZxUW9JQjA5M091bFArMXF2QVRRbUQzSU9nSmdNR3FQTDZlWXc4
VGJDNVAvVkNXUHFLaEdMNTF4dmpJSWhvdzVlWjJ3SEZ3PT0iLAotICAgICAgImRldiI6IHRydWUs
Ci0gICAgICAicmVxdWlyZXMiOiB7Ci0gICAgICAgICJAYmFiZWwvY29kZS1mcmFtZSI6ICJeNy4w
LjAtYmV0YS4zNSIsCi0gICAgICAgICJjaGFsayI6ICJeMi4wLjEiLAotICAgICAgICAibWljcm9t
YXRjaCI6ICJeMi4zLjExIiwKLSAgICAgICAgInNsYXNoIjogIl4xLjAuMCIsCi0gICAgICAgICJz
dGFjay11dGlscyI6ICJeMS4wLjEiCi0gICAgICB9Ci0gICAgfSwKLSAgICAiamVzdC1yZWdleC11
dGlsIjogewotICAgICAgInZlcnNpb24iOiAiMjIuMS4wIiwKLSAgICAgICJyZXNvbHZlZCI6ICJo
dHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9qZXN0LXJlZ2V4LXV0aWwvLS9qZXN0LXJlZ2V4LXV0
aWwtMjIuMS4wLnRneiIsCi0gICAgICAiaW50ZWdyaXR5IjogInNoYTUxMi1vbjBMcVZTNlhlaDY5
c3czZDFSdWtWbnVyK2xWT2wzemttYjBRNTRGSGo5d0hvcTZkYnRXcWIzVFNsblZVeXgzNmhxakpo
amdzL1FMcXMwN0J6dTcyUT09IiwKLSAgICAgICJkZXYiOiB0cnVlCi0gICAgfSwKLSAgICAianMt
dG9rZW5zIjogewotICAgICAgInZlcnNpb24iOiAiMy4wLjIiLAotICAgICAgInJlc29sdmVkIjog
Imh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2pzLXRva2Vucy8tL2pzLXRva2Vucy0zLjAuMi50
Z3oiLAotICAgICAgImludGVncml0eSI6ICJzaGExLW1HYmZPVkVDRXc0NDkvbVd2T3RsUkRJSnds
cz0iLAotICAgICAgImRldiI6IHRydWUKLSAgICB9LAotICAgICJqc29uZGlmZnBhdGNoIjogewot
ICAgICAgInZlcnNpb24iOiAiMC4zLjUiLAotICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVn
aXN0cnkubnBtanMub3JnL2pzb25kaWZmcGF0Y2gvLS9qc29uZGlmZnBhdGNoLTAuMy41LnRneiIs
Ci0gICAgICAiaW50ZWdyaXR5IjogInNoYTUxMi12N2VhR0xETUNIWEgrZnNJYVpocHRFVUptUzhF
SnB1bnE3SU00Y2M0dklUL2tTUkFrYVo2WkY0ZWJpTmN5VWVsTDB6bmJ2ajZvMkI1R2g5djdPZzBC
UT09IiwKLSAgICAgICJkZXYiOiB0cnVlLAotICAgICAgInJlcXVpcmVzIjogewotICAgICAgICAi
Y2hhbGsiOiAiXjIuMy4wIiwKLSAgICAgICAgImRpZmYtbWF0Y2gtcGF0Y2giOiAiXjEuMC4wIgot
ICAgICAgfQotICAgIH0sCi0gICAgImtpbmQtb2YiOiB7Ci0gICAgICAidmVyc2lvbiI6ICIzLjIu
MiIsCi0gICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcva2luZC1v
Zi8tL2tpbmQtb2YtMy4yLjIudGd6IiwKLSAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1NZW9ocHpT
NnVidXc4eVJtMkpPdXBSNUtQR1E9IiwKLSAgICAgICJkZXYiOiB0cnVlLAotICAgICAgInJlcXVp
cmVzIjogewotICAgICAgICAiaXMtYnVmZmVyIjogIl4xLjEuNSIKLSAgICAgIH0KLSAgICB9LAot
ICAgICJtYXRoLXJhbmRvbSI6IHsKLSAgICAgICJ2ZXJzaW9uIjogIjEuMC4xIiwKLSAgICAgICJy
ZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9tYXRoLXJhbmRvbS8tL21hdGgt
cmFuZG9tLTEuMC4xLnRneiIsCi0gICAgICAiaW50ZWdyaXR5IjogInNoYTEtaXpxc1dJdUtadVNY
WGp6ZXBuOTdzeWxnSDZ3PSIsCi0gICAgICAiZGV2IjogdHJ1ZQotICAgIH0sCi0gICAgIm1pY3Jv
bWF0Y2giOiB7Ci0gICAgICAidmVyc2lvbiI6ICIyLjMuMTEiLAotICAgICAgInJlc29sdmVkIjog
Imh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL21pY3JvbWF0Y2gvLS9taWNyb21hdGNoLTIuMy4x
MS50Z3oiLAotICAgICAgImludGVncml0eSI6ICJzaGExLWhtZDhsOUZ5Q3pZME1kQk5EUlVwTzlP
TUZXVT0iLAotICAgICAgImRldiI6IHRydWUsCi0gICAgICAicmVxdWlyZXMiOiB7Ci0gICAgICAg
ICJhcnItZGlmZiI6ICJeMi4wLjAiLAotICAgICAgICAiYXJyYXktdW5pcXVlIjogIl4wLjIuMSIs
Ci0gICAgICAgICJicmFjZXMiOiAiXjEuOC4yIiwKLSAgICAgICAgImV4cGFuZC1icmFja2V0cyI6
ICJeMC4xLjQiLAotICAgICAgICAiZXh0Z2xvYiI6ICJeMC4zLjEiLAotICAgICAgICAiZmlsZW5h
bWUtcmVnZXgiOiAiXjIuMC4wIiwKLSAgICAgICAgImlzLWV4dGdsb2IiOiAiXjEuMC4wIiwKLSAg
ICAgICAgImlzLWdsb2IiOiAiXjIuMC4xIiwKLSAgICAgICAgImtpbmQtb2YiOiAiXjMuMC4yIiwK
LSAgICAgICAgIm5vcm1hbGl6ZS1wYXRoIjogIl4yLjAuMSIsCi0gICAgICAgICJvYmplY3Qub21p
dCI6ICJeMi4wLjAiLAotICAgICAgICAicGFyc2UtZ2xvYiI6ICJeMy4wLjQiLAotICAgICAgICAi
cmVnZXgtY2FjaGUiOiAiXjAuNC4yIgotICAgICAgfQotICAgIH0sCi0gICAgIm1pbmltYXRjaCI6
IHsKLSAgICAgICJ2ZXJzaW9uIjogIjMuMC40IiwKLSAgICAgICJyZXNvbHZlZCI6ICJodHRwczov
L3JlZ2lzdHJ5Lm5wbWpzLm9yZy9taW5pbWF0Y2gvLS9taW5pbWF0Y2gtMy4wLjQudGd6IiwKLSAg
ICAgICJpbnRlZ3JpdHkiOiAic2hhNTEyLXlKSFZRRWh5cVBMVVRndDlCODNQWHU2VzNyeDRNdnZI
dlNVdlRvb2dwd29HRE9VUSt5RHJSMEhSb3QreU9DZENPN3U0aFgzcFdmdDZrV0JCY3FoMFVBPT0i
LAotICAgICAgImRldiI6IHRydWUsCi0gICAgICAicmVxdWlyZXMiOiB7Ci0gICAgICAgICJicmFj
ZS1leHBhbnNpb24iOiAiXjEuMS43IgotICAgICAgfQotICAgIH0sCi0gICAgIm1pbmltaXN0Ijog
ewotICAgICAgInZlcnNpb24iOiAiMC4wLjgiLAotICAgICAgInJlc29sdmVkIjogImh0dHBzOi8v
cmVnaXN0cnkubnBtanMub3JnL21pbmltaXN0Ly0vbWluaW1pc3QtMC4wLjgudGd6IiwKLSAgICAg
ICJpbnRlZ3JpdHkiOiAic2hhMS1oWC9LdjhNNWZTWWx1Q0tDWXVocXA2QVJzRjA9IiwKLSAgICAg
ICJkZXYiOiB0cnVlCi0gICAgfSwKLSAgICAibWtkaXJwIjogewotICAgICAgInZlcnNpb24iOiAi
MC41LjEiLAotICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL21r
ZGlycC8tL21rZGlycC0wLjUuMS50Z3oiLAotICAgICAgImludGVncml0eSI6ICJzaGExLU1BVjBP
T3JHejMrTVIyZnpoa2pXYVgxMXlRTT0iLAotICAgICAgImRldiI6IHRydWUsCi0gICAgICAicmVx
dWlyZXMiOiB7Ci0gICAgICAgICJtaW5pbWlzdCI6ICIwLjAuOCIKLSAgICAgIH0KLSAgICB9LAot
ICAgICJtb2NoYSI6IHsKLSAgICAgICJ2ZXJzaW9uIjogIjUuMC40IiwKLSAgICAgICJyZXNvbHZl
ZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9tb2NoYS8tL21vY2hhLTUuMC40LnRneiIs
Ci0gICAgICAiaW50ZWdyaXR5IjogInNoYTUxMi1uTU9wQVBGb3NVMUI0SXgxamRoeDVlM3E3WE81
NWljNWE4Y2dZdlcyN0NlcXVjRVkrQmFiUzBrVVZMMUN3MVY1UHVWSFpXZU5SV0ZMbUVQZXhvNzlW
QT09IiwKLSAgICAgICJkZXYiOiB0cnVlLAotICAgICAgInJlcXVpcmVzIjogewotICAgICAgICAi
YnJvd3Nlci1zdGRvdXQiOiAiMS4zLjEiLAotICAgICAgICAiY29tbWFuZGVyIjogIjIuMTEuMCIs
Ci0gICAgICAgICJkZWJ1ZyI6ICIzLjEuMCIsCi0gICAgICAgICJkaWZmIjogIjMuNS4wIiwKLSAg
ICAgICAgImVzY2FwZS1zdHJpbmctcmVnZXhwIjogIjEuMC41IiwKLSAgICAgICAgImdsb2IiOiAi
Ny4xLjIiLAotICAgICAgICAiZ3Jvd2wiOiAiMS4xMC4zIiwKLSAgICAgICAgImhlIjogIjEuMS4x
IiwKLSAgICAgICAgIm1rZGlycCI6ICIwLjUuMSIsCi0gICAgICAgICJzdXBwb3J0cy1jb2xvciI6
ICI0LjQuMCIKLSAgICAgIH0sCi0gICAgICAiZGVwZW5kZW5jaWVzIjogewotICAgICAgICAiaGFz
LWZsYWciOiB7Ci0gICAgICAgICAgInZlcnNpb24iOiAiMi4wLjAiLAotICAgICAgICAgICJyZXNv
bHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9oYXMtZmxhZy8tL2hhcy1mbGFnLTIu
MC4wLnRneiIsCi0gICAgICAgICAgImludGVncml0eSI6ICJzaGExLTZDQjY4Y3g3TU5SR3pIQzNO
TFhvdmhqNGpWRT0iLAotICAgICAgICAgICJkZXYiOiB0cnVlCi0gICAgICAgIH0sCi0gICAgICAg
ICJzdXBwb3J0cy1jb2xvciI6IHsKLSAgICAgICAgICAidmVyc2lvbiI6ICI0LjQuMCIsCi0gICAg
ICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL3N1cHBvcnRzLWNv
bG9yLy0vc3VwcG9ydHMtY29sb3ItNC40LjAudGd6IiwKLSAgICAgICAgICAiaW50ZWdyaXR5Ijog
InNoYTUxMi1yS0MzK0R5WFdnSzBaTEt3bVJzcmt5SFZaQWpOa2Z6ZWVodUZXZEdHY3FHRFRaRkg3
MytSSDZTL1JEQUF4bDlHdXNTalpTVVdZTG1UOU41cHpYRk9YUT09IiwKLSAgICAgICAgICAiZGV2
IjogdHJ1ZSwKLSAgICAgICAgICAicmVxdWlyZXMiOiB7Ci0gICAgICAgICAgICAiaGFzLWZsYWci
OiAiXjIuMC4wIgotICAgICAgICAgIH0KLSAgICAgICAgfQotICAgICAgfQotICAgIH0sCi0gICAg
Im1zIjogewotICAgICAgInZlcnNpb24iOiAiMi4wLjAiLAotICAgICAgInJlc29sdmVkIjogImh0
dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL21zLy0vbXMtMi4wLjAudGd6IiwKLSAgICAgICJpbnRl
Z3JpdHkiOiAic2hhMS1WZ2l1cmZ3QXZtd3BBZDlmbUdGNGplRFZsOGc9IiwKLSAgICAgICJkZXYi
OiB0cnVlCi0gICAgfSwKLSAgICAibm9ybWFsaXplLXBhdGgiOiB7Ci0gICAgICAidmVyc2lvbiI6
ICIyLjEuMSIsCi0gICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcv
bm9ybWFsaXplLXBhdGgvLS9ub3JtYWxpemUtcGF0aC0yLjEuMS50Z3oiLAotICAgICAgImludGVn
cml0eSI6ICJzaGExLUdyS0xWVzRaZzJPb3dhYjM1dm9nRTMvbXJ0az0iLAotICAgICAgImRldiI6
IHRydWUsCi0gICAgICAicmVxdWlyZXMiOiB7Ci0gICAgICAgICJyZW1vdmUtdHJhaWxpbmctc2Vw
YXJhdG9yIjogIl4xLjAuMSIKLSAgICAgIH0KLSAgICB9LAotICAgICJvYmplY3Qub21pdCI6IHsK
LSAgICAgICJ2ZXJzaW9uIjogIjIuMC4xIiwKLSAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3Jl
Z2lzdHJ5Lm5wbWpzLm9yZy9vYmplY3Qub21pdC8tL29iamVjdC5vbWl0LTIuMC4xLnRneiIsCi0g
ICAgICAiaW50ZWdyaXR5IjogInNoYTEtR3B4MFNDbnpuYnVGakhiS05YbXVLbFRyMGZvPSIsCi0g
ICAgICAiZGV2IjogdHJ1ZSwKLSAgICAgICJyZXF1aXJlcyI6IHsKLSAgICAgICAgImZvci1vd24i
OiAiXjAuMS40IiwKLSAgICAgICAgImlzLWV4dGVuZGFibGUiOiAiXjAuMS4xIgotICAgICAgfQot
ICAgIH0sCi0gICAgIm9uY2UiOiB7Ci0gICAgICAidmVyc2lvbiI6ICIxLjQuMCIsCi0gICAgICAi
cmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvb25jZS8tL29uY2UtMS40LjAu
dGd6IiwKLSAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1XRHNhcDNXV0hVc1JPc0Y5bkZDNjc1M1hh
OUU9IiwKLSAgICAgICJkZXYiOiB0cnVlLAotICAgICAgInJlcXVpcmVzIjogewotICAgICAgICAi
d3JhcHB5IjogIjEiCi0gICAgICB9Ci0gICAgfSwKLSAgICAicGFyc2UtZ2xvYiI6IHsKLSAgICAg
ICJ2ZXJzaW9uIjogIjMuMC40IiwKLSAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5
Lm5wbWpzLm9yZy9wYXJzZS1nbG9iLy0vcGFyc2UtZ2xvYi0zLjAuNC50Z3oiLAotICAgICAgImlu
dGVncml0eSI6ICJzaGExLXNzTjJ6N0VmTlZFN3JkRno3d3UyNDZPSU9Sdz0iLAotICAgICAgImRl
diI6IHRydWUsCi0gICAgICAicmVxdWlyZXMiOiB7Ci0gICAgICAgICJnbG9iLWJhc2UiOiAiXjAu
My4wIiwKLSAgICAgICAgImlzLWRvdGZpbGUiOiAiXjEuMC4wIiwKLSAgICAgICAgImlzLWV4dGds
b2IiOiAiXjEuMC4wIiwKLSAgICAgICAgImlzLWdsb2IiOiAiXjIuMC4wIgotICAgICAgfQotICAg
IH0sCi0gICAgInBhdGgtaXMtYWJzb2x1dGUiOiB7Ci0gICAgICAidmVyc2lvbiI6ICIxLjAuMSIs
Ci0gICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvcGF0aC1pcy1h
YnNvbHV0ZS8tL3BhdGgtaXMtYWJzb2x1dGUtMS4wLjEudGd6IiwKLSAgICAgICJpbnRlZ3JpdHki
OiAic2hhMS1GMHVTYUhOVk5QKzhlczVyOVRwYW5odGNYMTg9IiwKLSAgICAgICJkZXYiOiB0cnVl
Ci0gICAgfSwKLSAgICAicHJlc2VydmUiOiB7Ci0gICAgICAidmVyc2lvbiI6ICIwLjIuMCIsCi0g
ICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvcHJlc2VydmUvLS9w
cmVzZXJ2ZS0wLjIuMC50Z3oiLAotICAgICAgImludGVncml0eSI6ICJzaGExLWdWN1I5dXZHV1Ni
NFpiTVF3SEU3eXpNVnprcz0iLAotICAgICAgImRldiI6IHRydWUKLSAgICB9LAotICAgICJwcmV0
dHktZm9ybWF0IjogewotICAgICAgInZlcnNpb24iOiAiMjIuNC4wIiwKLSAgICAgICJyZXNvbHZl
ZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9wcmV0dHktZm9ybWF0Ly0vcHJldHR5LWZv
cm1hdC0yMi40LjAudGd6IiwKLSAgICAgICJpbnRlZ3JpdHkiOiAic2hhNTEyLXB2Q3hQMmlPRElJ
azlhZFhsbzRTM0dSajBCckppaWw2OGtCeUFhMVByZ0c5N2MxdENsaDlkTE1ncDNaNmNIRlpyY2xh
QUJ0MFVIOFBJaHdIdUZMcVlBPT0iLAotICAgICAgImRldiI6IHRydWUsCi0gICAgICAicmVxdWly
ZXMiOiB7Ci0gICAgICAgICJhbnNpLXJlZ2V4IjogIl4zLjAuMCIsCi0gICAgICAgICJhbnNpLXN0
eWxlcyI6ICJeMy4yLjAiCi0gICAgICB9Ci0gICAgfSwKLSAgICAicmFuZG9tYXRpYyI6IHsKLSAg
ICAgICJ2ZXJzaW9uIjogIjMuMC4wIiwKLSAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lz
dHJ5Lm5wbWpzLm9yZy9yYW5kb21hdGljLy0vcmFuZG9tYXRpYy0zLjAuMC50Z3oiLAotICAgICAg
ImludGVncml0eSI6ICJzaGE1MTItVmR4Rk9JRVkzbU5PNVB0U1Jra2xlL2hQSkRIdlFoSzIxb2E3
M0s0eUFjOXFtcDZONDI5Z0F5RjFnWk1PVE1lUzAvQVl6YVYvMlRyY2VmK05hSW9uU0E9PSIsCi0g
ICAgICAiZGV2IjogdHJ1ZSwKLSAgICAgICJyZXF1aXJlcyI6IHsKLSAgICAgICAgImlzLW51bWJl
ciI6ICJeNC4wLjAiLAotICAgICAgICAia2luZC1vZiI6ICJeNi4wLjAiLAotICAgICAgICAibWF0
aC1yYW5kb20iOiAiXjEuMC4xIgotICAgICAgfSwKLSAgICAgICJkZXBlbmRlbmNpZXMiOiB7Ci0g
ICAgICAgICJpcy1udW1iZXIiOiB7Ci0gICAgICAgICAgInZlcnNpb24iOiAiNC4wLjAiLAotICAg
ICAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9pcy1udW1iZXIv
LS9pcy1udW1iZXItNC4wLjAudGd6IiwKLSAgICAgICAgICAiaW50ZWdyaXR5IjogInNoYTUxMi1y
U2tsY0FJbGYxT21GZHlBcWJuV1RMVmVsc1E1OHV2WjY2Uy9aeWF3aldxSXZpVFdDamcyUHpWR3c4
V1VBK25OdVBUcWI0d2dBK05zenJKKzA4TGxnUT09IiwKLSAgICAgICAgICAiZGV2IjogdHJ1ZQot
ICAgICAgICB9LAotICAgICAgICAia2luZC1vZiI6IHsKLSAgICAgICAgICAidmVyc2lvbiI6ICI2
LjAuMiIsCi0gICAgICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3Jn
L2tpbmQtb2YvLS9raW5kLW9mLTYuMC4yLnRneiIsCi0gICAgICAgICAgImludGVncml0eSI6ICJz
aGE1MTItczVrTE9jbkgwWHFETytGdnVhTFg4RERqWjE4Q0dGazdWeWdINDBRb0tQVVFoVzRlMnJ2
TTByd1VxMHQ4SVFET3dZU2VMSzAxVTkwT2p6QlRtZTJRcUE9PSIsCi0gICAgICAgICAgImRldiI6
IHRydWUKLSAgICAgICAgfQotICAgICAgfQotICAgIH0sCi0gICAgInJlZ2V4LWNhY2hlIjogewot
ICAgICAgInZlcnNpb24iOiAiMC40LjQiLAotICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVn
aXN0cnkubnBtanMub3JnL3JlZ2V4LWNhY2hlLy0vcmVnZXgtY2FjaGUtMC40LjQudGd6IiwKLSAg
ICAgICJpbnRlZ3JpdHkiOiAic2hhNTEyLW5WSVp3dENqa0M5WWd2V2twTTU1QjVyQmhCWVJaaEFh
SmJnY0ZZWFhzSG5iWjlVWkk5bm5WV1lacEJsQ3F2OWhvMmVacnlQbldyWkdzT2RQd1ZXWFdRPT0i
LAotICAgICAgImRldiI6IHRydWUsCi0gICAgICAicmVxdWlyZXMiOiB7Ci0gICAgICAgICJpcy1l
cXVhbC1zaGFsbG93IjogIl4wLjEuMyIKLSAgICAgIH0KLSAgICB9LAotICAgICJyZW1vdmUtdHJh
aWxpbmctc2VwYXJhdG9yIjogewotICAgICAgInZlcnNpb24iOiAiMS4xLjAiLAotICAgICAgInJl
c29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL3JlbW92ZS10cmFpbGluZy1zZXBh
cmF0b3IvLS9yZW1vdmUtdHJhaWxpbmctc2VwYXJhdG9yLTEuMS4wLnRneiIsCi0gICAgICAiaW50
ZWdyaXR5IjogInNoYTEtd2t2T0tpZzYydFc4UDFqZzFJSkp1U041Mk84PSIsCi0gICAgICAiZGV2
IjogdHJ1ZQotICAgIH0sCi0gICAgInJlcGVhdC1lbGVtZW50IjogewotICAgICAgInZlcnNpb24i
OiAiMS4xLjIiLAotICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3Jn
L3JlcGVhdC1lbGVtZW50Ly0vcmVwZWF0LWVsZW1lbnQtMS4xLjIudGd6IiwKLSAgICAgICJpbnRl
Z3JpdHkiOiAic2hhMS03d2lhRjQwVWc3cXVUWlBybUxUNTVPRWRtUW89IiwKLSAgICAgICJkZXYi
OiB0cnVlCi0gICAgfSwKLSAgICAicmVwZWF0LXN0cmluZyI6IHsKLSAgICAgICJ2ZXJzaW9uIjog
IjEuNi4xIiwKLSAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9y
ZXBlYXQtc3RyaW5nLy0vcmVwZWF0LXN0cmluZy0xLjYuMS50Z3oiLAotICAgICAgImludGVncml0
eSI6ICJzaGExLWpjcmtjT0hJaXJ3dFlBLy9TbmRpaHRwMTVqYz0iLAotICAgICAgImRldiI6IHRy
dWUKLSAgICB9LAotICAgICJzbGFzaCI6IHsKLSAgICAgICJ2ZXJzaW9uIjogIjEuMC4wIiwKLSAg
ICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9zbGFzaC8tL3NsYXNo
LTEuMC4wLnRneiIsCi0gICAgICAiaW50ZWdyaXR5IjogInNoYTEteEI4dmJEbjhGdEhORjYxTFhZ
bGhGSzVIRFZVPSIsCi0gICAgICAiZGV2IjogdHJ1ZQotICAgIH0sCi0gICAgInN0YWNrLXV0aWxz
IjogewotICAgICAgInZlcnNpb24iOiAiMS4wLjEiLAotICAgICAgInJlc29sdmVkIjogImh0dHBz
Oi8vcmVnaXN0cnkubnBtanMub3JnL3N0YWNrLXV0aWxzLy0vc3RhY2stdXRpbHMtMS4wLjEudGd6
IiwKLSAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS0xUE02dFU2T09IZUxES1hQMDdPdnNTMjJoaUE9
IiwKLSAgICAgICJkZXYiOiB0cnVlCi0gICAgfSwKLSAgICAic3VwcG9ydHMtY29sb3IiOiB7Ci0g
ICAgICAidmVyc2lvbiI6ICI1LjMuMCIsCi0gICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdp
c3RyeS5ucG1qcy5vcmcvc3VwcG9ydHMtY29sb3IvLS9zdXBwb3J0cy1jb2xvci01LjMuMC50Z3oi
LAotICAgICAgImludGVncml0eSI6ICJzaGE1MTItMGFQMDFMTElza2pLczNscTUyRUMwYUdCQUpo
THE3QjJSZDhIQy9EUi9QdE5OcGNMaWxObUhDMTJPK2h1MHVzUXBvN3d0SE5ScXRyaEJ3dERiMCtk
Tmc9PSIsCi0gICAgICAiZGV2IjogdHJ1ZSwKLSAgICAgICJyZXF1aXJlcyI6IHsKLSAgICAgICAg
Imhhcy1mbGFnIjogIl4zLjAuMCIKLSAgICAgIH0KLSAgICB9LAotICAgICJ3cmFwcHkiOiB7Ci0g
ICAgICAidmVyc2lvbiI6ICIxLjAuMiIsCi0gICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdp
c3RyeS5ucG1qcy5vcmcvd3JhcHB5Ly0vd3JhcHB5LTEuMC4yLnRneiIsCi0gICAgICAiaW50ZWdy
aXR5IjogInNoYTEtdFNROWp6N0Jxalh4TmtZRnZBMFFOdU1LdHA4PSIsCi0gICAgICAiZGV2Ijog
dHJ1ZQotICAgIH0KLSAgfQotfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi9wYWNrYWdlLmpzb24gYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3BhY2thZ2UuanNvbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTJmYWNjYWZhODEu
LjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvcGFja2FnZS5qc29uCisrKyAvZGV2L251bGwKQEAgLTEs
MjcgKzAsMCBAQAotewotICAibmFtZSI6ICJ3ZWJpZGwyIiwKLSAgImRlc2NyaXB0aW9uIjogIkEg
V2ViSURMIFBhcnNlciIsCi0gICJ2ZXJzaW9uIjogIjEzLjAuMyIsCi0gICJjb250cmlidXRvcnMi
OiBbCi0gICAgIlJvYmluIEJlcmpvbiA8cm9iaW5AYmVyam9uLmNvbT4gKGh0dHBzOi8vYmVyam9u
LmNvbSkiLAotICAgICJNYXJjb3MgQ2FjZXJlcyA8bWFyY29zQG1hcmNvc2MuY29tPiAoaHR0cHM6
Ly9tYXJjb3NjLmNvbSkiLAotICAgICJLYWdhbWkgU2FzY2hhIFJvc3lsaWdodCA8c2FzY2hhcGxh
c0BvdXRsb29rLmNvbT4iLAotICAgICJUaW1vdGh5IEd1IDx0aW1vdGh5Z3U5OUBnbWFpbC5jb20+
IgotICBdLAotICAibGljZW5zZSI6ICJXM0MiLAotICAiZGVwZW5kZW5jaWVzIjoge30sCi0gICJk
ZXZEZXBlbmRlbmNpZXMiOiB7Ci0gICAgImV4cGVjdCI6ICIyMi40LjAiLAotICAgICJqc29uZGlm
ZnBhdGNoIjogIjAuMy41IiwKLSAgICAibW9jaGEiOiAiNS4wLjQiCi0gIH0sCi0gICJzY3JpcHRz
IjogewotICAgICJ0ZXN0IjogIm1vY2hhIiwKLSAgICAiYWNxdWlyZSI6ICJub2RlIHRlc3QvdXRp
bC9hY3F1aXJlLmpzIgotICB9LAotICAicmVwb3NpdG9yeSI6ICJnaXQ6Ly9naXRodWIuY29tL3cz
Yy93ZWJpZGwyLmpzIiwKLSAgIm1haW4iOiAiaW5kZXguanMiLAotICAiZmlsZXMiOiBbCi0gICAg
ImxpYi8qIgotICBdCi19CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC5qcyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC9pbnZhbGlkLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxOWJiZjAwNmU1
Ny4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQuanMKKysrIC9kZXYvbnVsbApA
QCAtMSwyMCArMCwwIEBACi0vLyBOT1RFUzoKLS8vICAtIHRoZSBlcnJvcnMgYWN0dWFsbHkgc3Rp
bGwgbmVlZCB0byBiZSByZXZpZXdlZCB0byBjaGVjayB0aGF0IHRoZXkKLS8vICAgIGFyZSBmdWxs
eSBjb3JyZWN0IGludGVycHJldGF0aW9ucyBvZiB0aGUgSURMcwotCi0idXNlIHN0cmljdCI7Ci0K
LWNvbnN0IHsgY29sbGVjdCB9ID0gcmVxdWlyZSgiLi91dGlsL2NvbGxlY3QiKTsKLWNvbnN0IGZz
ID0gcmVxdWlyZSgiZnMiKTsKLWNvbnN0IGV4cGVjdCA9IHJlcXVpcmUoImV4cGVjdCIpOwotCi1k
ZXNjcmliZSgiUGFyc2VzIGFsbCBvZiB0aGUgaW52YWxpZCBJRExzIHRvIGNoZWNrIHRoYXQgdGhl
eSBibG93IHVwIGNvcnJlY3RseSIsICgpID0+IHsKLSAgZm9yIChjb25zdCB0ZXN0IG9mIGNvbGxl
Y3QoImludmFsaWQiLCB7IGV4cGVjdEVycm9yOiB0cnVlIH0pKSB7Ci0gICAgaXQoYHNob3VsZCBw
cm9kdWNlIHRoZSByaWdodCBlcnJvciBmb3IgJHt0ZXN0LnBhdGh9YCwgKCkgPT4gewotICAgICAg
Y29uc3QgZXJyID0gdGVzdC5yZWFkSlNPTigpOwotICAgICAgZXhwZWN0KHRlc3QuZXJyb3IpLnRv
QmVUcnV0aHkoKTsKLSAgICAgIGV4cGVjdCh0ZXN0LmVycm9yLm1lc3NhZ2UpLnRvRXF1YWwoZXJy
Lm1lc3NhZ2UpOwotICAgICAgZXhwZWN0KHRlc3QuZXJyb3IubGluZSkudG9FcXVhbChlcnIubGlu
ZSk7Ci0gICAgfSk7Ci0gIH0KLX0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRs
L2FycmF5LndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvYXJyYXkud2lkbApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggNThhODYxOGFiNjQuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC9pbnZhbGlkL2lkbC9hcnJheS53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsNiArMCwwIEBA
Ci0vLyBFeHRyYWN0ZWQgZnJvbSBodHRwOi8vZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJJREwv
IG9uIDIwMTEtMDUtMDYKLS8vIFRbXSBpcyByZW1vdmVkIGJ5IGh0dHBzOi8vZ2l0aHViLmNvbS9o
ZXljYW0vd2ViaWRsL2NvbW1pdC8wNzljYmI4NjFhOTllOWU4NTdhM2YyYTE2OWMwYmVlYjQ5Y2Qw
MjBhCi1bQ29uc3RydWN0b3JdCi1pbnRlcmZhY2UgTG90dGVyeVJlc3VsdHMgewotICByZWFkb25s
eSBhdHRyaWJ1dGUgdW5zaWduZWQgc2hvcnRbXVtdIG51bWJlcnM7Ci19OwpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9jYWxsZXIu
d2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9jYWxsZXIud2lkbApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMjZmZWRjMzNmOTQuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9p
bnZhbGlkL2lkbC9jYWxsZXIud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDcgKzAsMCBAQAotLy8g
RXh0cmFjdGVkIGZyb20gaHR0cDovL2Rldi53My5vcmcvMjAwNi93ZWJhcGkvV2ViSURMLyBvbiAy
MDExLTA1LTA2Ci0vLyBsZWdhY3ljYWxsZXJzIGFyZSByZW1vdmVkIGJ5IGh0dHBzOi8vZ2l0aHVi
LmNvbS9oZXljYW0vd2ViaWRsL3B1bGwvNDEyCi0KLWludGVyZmFjZSBOdW1iZXJRdWFkcnVwbGVy
IHsKLSAgLy8gVGhpcyBvcGVyYXRpb24gc2ltcGx5IHJldHVybnMgZm91ciB0aW1lcyB0aGUgZ2l2
ZW4gbnVtYmVyIHguCi0gIGxlZ2FjeWNhbGxlciBmbG9hdCBjb21wdXRlKGZsb2F0IHgpOwotfTsK
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxp
ZC9pZGwvZGljdC1yZXF1aXJlZC1kZWZhdWx0LndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwv
ZGljdC1yZXF1aXJlZC1kZWZhdWx0LndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDQxMjQ0OGQyMjYxLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvZGlj
dC1yZXF1aXJlZC1kZWZhdWx0LndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSw1ICswLDAgQEAKLS8v
IGh0dHBzOi8vaGV5Y2FtLmdpdGh1Yi5pby93ZWJpZGwvI3JlcXVpcmVkLWRpY3Rpb25hcnktbWVt
YmVyCi0vLyAiQSByZXF1aXJlZCBkaWN0aW9uYXJ5IG1lbWJlciBtdXN0IG5vdCBoYXZlIGEgZGVm
YXVsdCB2YWx1ZS4iCi1kaWN0aW9uYXJ5IERpY3QgewotICByZXF1aXJlZCBsb25nIG1lbWJlciA9
IDA7Ci19OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL2R1cGxpY2F0ZS53aWRs
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL2R1cGxpY2F0ZS53aWRsCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCA0OTE2YWYzNDI3My4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2lu
dmFsaWQvaWRsL2R1cGxpY2F0ZS53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsNSArMCwwIEBACi10
eXBlZGVmIGludCBUZXN0OwotCi1pbnRlcmZhY2UgVGVzdCB7Ci0gIHZvaWQgZm9vKCk7Ci19Owpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL2VudW0tZW1wdHkud2lkbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC9pbnZhbGlkL2lkbC9lbnVtLWVtcHR5LndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDdmMTg5ZWI2MmMxLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9p
ZGwvZW51bS1lbXB0eS53aWRsCisrKyAvZGV2L251bGwKQEAgLTEgKzAsMCBAQAotZW51bSBFbXB0
eSB7fTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9lbnVtLXdvLWNvbW1hLndp
ZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvZW51bS13by1jb21tYS53aWRsCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCBlYmM1MzA2NWVkZS4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L2ludmFsaWQvaWRsL2VudW0td28tY29tbWEud2lkbAorKysgL2Rldi9udWxsCkBAIC0xICsw
LDAgQEAKLWVudW0gTm9Db21tYSB7ICJ2YWx1ZTEiICJ2YWx1ZTIiIH07CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3QvaW52YWxpZC9pZGwvZW51bS53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL2Vu
dW0ud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzM1NWMzMjUxYzAuLjAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9lbnVtLndpZGwKKysrIC9kZXYvbnVs
bApAQCAtMSArMCwwIEBACi1lbnVtIGZvbyB7IDEsIDIsIDN9OwpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9leGNlcHRpb24ud2lk
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9leGNlcHRpb24ud2lkbApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggYTBlYTJlNDdlMjAuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9p
bnZhbGlkL2lkbC9leGNlcHRpb24ud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDYgKzAsMCBAQAot
Ly8gRXh0cmFjdGVkIGZyb20gaHR0cDovL2Rldi53My5vcmcvMjAwNi93ZWJhcGkvV2ViSURMLyBv
biAyMDExLTA1LTA2Ci0vLyBJREwgZXhjZXB0aW9ucyBhcmUgcmVtb3ZlZCBieSBodHRwczovL2dp
dGh1Yi5jb20vaGV5Y2FtL3dlYmlkbC9jb21taXQvNTBlMTcyZWMwNzlkYjA3M2MzNzI0YzliZWFj
MWI1NzZmYjVkYmM0NwotCi1leGNlcHRpb24gU29tZUV4Y2VwdGlvbiB7Ci19OwotCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvZXh0YXR0ci1lbXB0eS1pZHMud2lkbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC9pbnZhbGlkL2lkbC9leHRhdHRyLWVtcHR5LWlkcy53aWRsCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCA5M2M0OGMzYWRlNS4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2lu
dmFsaWQvaWRsL2V4dGF0dHItZW1wdHktaWRzLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSwyICsw
LDAgQEAKLVtFeHBvc2VkPSgpXQotaW50ZXJmYWNlIFVuZXhwb3NlZCB7fTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9pZC11bmRlcnNjb3JlZC1udW1iZXIud2lkbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC9pbnZhbGlkL2lkbC9pZC11bmRlcnNjb3JlZC1udW1iZXIud2lkbApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggZDAwMTIxZmQ1NGYuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC9pbnZhbGlkL2lkbC9pZC11bmRlcnNjb3JlZC1udW1iZXIud2lkbAorKysgL2Rldi9udWxsCkBA
IC0xICswLDAgQEAKLWludGVyZmFjZSBfMCB7fTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZh
bGlkL2lkbC9pbXBsZW1lbnRzX2FuZF9pbmNsdWRlc193cy53aWRsIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFs
aWQvaWRsL2ltcGxlbWVudHNfYW5kX2luY2x1ZGVzX3dzLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDY2NjZkYWVkMDBjLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52
YWxpZC9pZGwvaW1wbGVtZW50c19hbmRfaW5jbHVkZXNfd3Mud2lkbAorKysgL2Rldi9udWxsCkBA
IC0xLDQgKzAsMCBAQAotLy8gVGhpcyBoaXRzIHRoZSB1bnNoaWZ0aW5nIG9mIHdoaXRlc3BhY2Ug
aW4gdGhlICJpbXBsZW1lbnRzIiBhbmQKLS8vICJpbmNsdWRlcyIgcHJvZHVjdGlvbnMuIElmIHRo
ZXJlIGlzIGEgYnVnIGluIHRoYXQgd2hpdGVzcGFjZQotLy8gcm9sbGJhY2ssIHRoZSB3cm9uZyBl
eGNlcHRpb24gd2lsbCBiZSBwcm9kdWNlZC4KLWZvb2JhcjsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC9pbnZhbGlkL2lkbC9pdGVyYXRvci53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL2l0ZXJh
dG9yLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDNiZjFiMzZkZWM2Li4wMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvaXRlcmF0b3Iud2lkbAorKysgL2Rl
di9udWxsCkBAIC0xLDM1ICswLDAgQEAKLWludGVyZmFjZSBTZXNzaW9uTWFuYWdlciB7Ci0gIFNl
c3Npb24gZ2V0U2Vzc2lvbkZvclVzZXIoRE9NU3RyaW5nIHVzZXJuYW1lKTsKLSAgcmVhZG9ubHkg
YXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgc2Vzc2lvbkNvdW50OwotCi0gIFNlc3Npb24gaXRlcmF0
b3I7Ci19OwotCi1pbnRlcmZhY2UgU2Vzc2lvbiB7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01T
dHJpbmcgdXNlcm5hbWU7Ci0gIC8vIC4uLgotfTsKLQotaW50ZXJmYWNlIFNlc3Npb25NYW5hZ2Vy
MiB7Ci0gIFNlc3Npb24yIGdldFNlc3Npb25Gb3JVc2VyKERPTVN0cmluZyB1c2VybmFtZSk7Ci0g
IHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIHNlc3Npb25Db3VudDsKLQotICBTZXNz
aW9uMiBpdGVyYXRvciA9IFNlc3Npb25JdGVyYXRvcjsKLX07Ci0KLWludGVyZmFjZSBTZXNzaW9u
MiB7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgdXNlcm5hbWU7Ci0gIC8vIC4uLgot
fTsKLQotaW50ZXJmYWNlIFNlc3Npb25JdGVyYXRvciB7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSB1
bnNpZ25lZCBsb25nIHJlbWFpbmluZ1Nlc3Npb25zOwotfTsKLQotICAgICBpbnRlcmZhY2UgTm9k
ZUxpc3QgewotICAgICAgIE5vZGUgaXRlcmF0b3IgPSBOb2RlSXRlcmF0b3I7Ci0gICAgIH07Ci0K
LSAgICAgaW50ZXJmYWNlIE5vZGVJdGVyYXRvciB7Ci0gICAgICAgTm9kZSBpdGVyYXRvciBvYmpl
Y3Q7Ci0gICAgIH07ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L2ludmFsaWQvaWRsL21hcGxpa2UtMXR5cGUud2lkbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlk
L2lkbC9tYXBsaWtlLTF0eXBlLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGVm
YjVjMTRmZmQ2Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvbWFwbGlr
ZS0xdHlwZS53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsMyArMCwwIEBACi1pbnRlcmZhY2UgTWFw
TGlrZU9uZVR5cGUgewotICBtYXBsaWtlPGxvbmc+OwotfQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9tb2R1bGUud2lkbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC9pbnZhbGlkL2lkbC9tb2R1bGUud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggYTRjNzlmZGYxNTUuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lk
bC9tb2R1bGUud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDI1ICswLDAgQEAKLS8vIEV4dHJhY3Rl
ZCBmcm9tIGh0dHA6Ly9kZXYudzMub3JnLzIwMDYvd2ViYXBpL1dlYklETC8gb24gMjAxMS0wNS0w
NgotbW9kdWxlIGdmeCB7Ci0KLSAgbW9kdWxlIGdlb20gewotICAgIGludGVyZmFjZSBTaGFwZSB7
IC8qIC4uLiAqLyB9OwotICAgIGludGVyZmFjZSBSZWN0YW5nbGUgOiBTaGFwZSB7IC8qIC4uLiAq
LyB9OwotICAgIGludGVyZmFjZSBQYXRoIDogU2hhcGUgeyAvKiAuLi4gKi8gfTsKLSAgfTsKLQot
ICBpbnRlcmZhY2UgR3JhcGhpY3NDb250ZXh0IHsKLSAgICB2b2lkIGZpbGxTaGFwZShnZW9tOjpT
aGFwZSBzKTsKLSAgICB2b2lkIHN0cm9rZVNoYXBlKGdlb206OlNoYXBlIHMpOwotICB9OwotfTsK
LQotbW9kdWxlIGd1aSB7Ci0KLSAgaW50ZXJmYWNlIFdpZGdldCB7IC8qIC4uLiAqLyAgfTsKLQot
ICBpbnRlcmZhY2UgV2luZG93IDogV2lkZ2V0IHsKLSAgICBnZng6OkdyYXBoaWNzQ29udGV4dCBn
ZXRHcmFwaGljc0NvbnRleHQoKTsKLSAgfTsKLQotICBpbnRlcmZhY2UgQnV0dG9uIDogV2lkZ2V0
IHsgLyogLi4uICovICB9OwotfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvbmFtZXNwYWNlLXJlYWR3cml0ZS53aWRsIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L2ludmFsaWQvaWRsL25hbWVzcGFjZS1yZWFkd3JpdGUud2lkbApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggZTE4NDEzMzIyODQuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC9pbnZhbGlkL2lkbC9uYW1lc3BhY2UtcmVhZHdyaXRlLndpZGwKKysrIC9kZXYvbnVsbApAQCAt
MSwzICswLDAgQEAKLW5hbWVzcGFjZSBDU1MgewotICBhdHRyaWJ1dGUgb2JqZWN0IHJlYWR3cml0
ZTsKLX07CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvbm8tc2VtaWNvbG9uLWNh
bGxiYWNrLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvbm8tc2VtaWNvbG9uLWNhbGxiYWNr
LndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGNiMjA1NTcxOGU1Li4wMDAwMDAw
MDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvbm8tc2VtaWNvbG9uLWNhbGxiYWNrLndp
ZGwKKysrIC9kZXYvbnVsbApAQCAtMSw3ICswLDAgQEAKLWNhbGxiYWNrIGludGVyZmFjZSBOb1Nl
bWljb2xvbiB7Ci0gIGF0dHJpYnV0ZSBib29sZWFuIG5vU2VtaUNvbG9uOwotfQotCi1lbnVtIFlv
dU5lZWRPbmUgewotICAicmVhbGx5IgotfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQv
aWRsL25vLXNlbWljb2xvbi53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL25vLXNlbWljb2xv
bi53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxMGJjNzE2MjQ5Yi4uMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL25vLXNlbWljb2xvbi53aWRsCisrKyAv
ZGV2L251bGwKQEAgLTEsNyArMCwwIEBACi1wYXJ0aWFsIGludGVyZmFjZSBOb1NlbWljb2xvbiB7
Ci0gIGF0dHJpYnV0ZSBib29sZWFuIG5vU2VtaUNvbG9uOwotfQotCi1lbnVtIFlvdU5lZWRPbmUg
ewotICAicmVhbGx5IgotfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL25vbm51
bGxhYmxlYW55LndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvbm9ubnVsbGFibGVhbnkud2lk
bApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzg5NTc2NTU1MjMuLjAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9ub25udWxsYWJsZWFueS53aWRsCisrKyAvZGV2
L251bGwKQEAgLTEsMyArMCwwIEBACi1pbnRlcmZhY2UgTm9uTnVsbGFibGUgewotICBhdHRyaWJ1
dGUgYW55PyBmb287Ci19OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9ub25udWxsYWJsZW9iamVjdHMud2lkbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC9pbnZhbGlkL2lkbC9ub25udWxsYWJsZW9iamVjdHMud2lkbApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggNmM4NzVmZjA0YjUuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZh
bGlkL2lkbC9ub25udWxsYWJsZW9iamVjdHMud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDYgKzAs
MCBAQAotaW50ZXJmYWNlIEZvbyB7fTsKLQotaW50ZXJmYWNlIE5vbk51bGxhYmxlIHsKLSAgYXR0
cmlidXRlIEZvbz8/Ci0gICAgZm9vOwotfTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlk
L2lkbC9wcm9taXNlLW51bGxhYmxlLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvcHJvbWlz
ZS1udWxsYWJsZS53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4OTRkN2MwNDRi
Mi4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL3Byb21pc2UtbnVsbGFi
bGUud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDQgKzAsMCBAQAotaW50ZXJmYWNlIFggewotICAg
IGF0dHJpYnV0ZSBQcm9taXNlPHZvaWQ+PwotICAgICAgICBwcm9taXNlOwotfTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9wcm9taXNlLXdpdGgtZXh0ZW5kZWQtYXR0cmlidXRl
LndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvcHJvbWlzZS13aXRoLWV4dGVuZGVkLWF0dHJp
YnV0ZS53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwY2UxNzFmZWMzMy4uMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL3Byb21pc2Utd2l0aC1leHRlbmRl
ZC1hdHRyaWJ1dGUud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDMgKzAsMCBAQAotaW50ZXJmYWNl
IEZvbyB7Ci0gIFByb21pc2U8W1hBdHRyXSBET01TdHJpbmc+IGZvbyhhbnkgcGFyYW0pOwotfTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9yYWlzZXMud2lkbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC9pbnZhbGlkL2lkbC9yYWlzZXMud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
ZmY2NTUyMmYyYjMuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9yYWlz
ZXMud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDE4ICswLDAgQEAKLS8vIGdldHJhaXNlcyBhbmQg
c2V0cmFpc2VzIGFyZSBub3QgbG9uZ2VyIHZhbGlkIFdlYiBJREwKLWludGVyZmFjZSBQZXJzb24g
ewotCi0gIC8vIEFuIGF0dHJpYnV0ZSB0aGF0IGNhbiByYWlzZSBhbiBleGNlcHRpb24gaWYgaXQg
aXMgc2V0IHRvIGFuIGludmFsaWQgdmFsdWUuCi0gIGF0dHJpYnV0ZSBET01TdHJpbmcgbmFtZSBz
ZXRyYWlzZXMgKEludmFsaWROYW1lKTsKLQotICAvLyBBbiBhdHRyaWJ1dGUgd2hvc2UgdmFsdWUg
Y2Fubm90IGJlIGFzc2lnbmVkIHRvLCBhbmQgd2hpY2ggY2FuIHJhaXNlIGFuCi0gIC8vIGV4Y2Vw
dGlvbiBzb21lIGNpcmN1bXN0YW5jZXMuCi0gIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcg
cGV0TmFtZSBnZXRyYWlzZXMgKE5vU3VjaFBldCk7Ci19OwotCi1leGNlcHRpb24gU29tZUV4Y2Vw
dGlvbiB7Ci19OwotCi1pbnRlcmZhY2UgRXhjZXB0aW9uVGhyb3dlciB7Ci0gIC8vIFRoaXMgYXR0
cmlidXRlIGFsd2F5cyB0aHJvd3MgYSBTb21lRXhjZXB0aW9uIGFuZCBuZXZlciByZXR1cm5zIGEg
dmFsdWUuCi0gIGF0dHJpYnV0ZSBsb25nIHZhbHVlT2YgZ2V0cmFpc2VzKFNvbWVFeGNlcHRpb24p
OwotfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
aW52YWxpZC9pZGwvcmVhZG9ubHktaXRlcmFibGUud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lk
bC9yZWFkb25seS1pdGVyYWJsZS53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2
MDU3YWExZmViYS4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL3JlYWRv
bmx5LWl0ZXJhYmxlLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSwzICswLDAgQEAKLWludGVyZmFj
ZSBSZWFkb25seUl0ZXJhYmxlIHsKLSAgcmVhZG9ubHkgaXRlcmFibGU8bG9uZz47Ci19ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRs
L3JlY29yZC1rZXktd2l0aC1leHRlbmRlZC1hdHRyaWJ1dGUud2lkbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZh
bGlkL2lkbC9yZWNvcmQta2V5LXdpdGgtZXh0ZW5kZWQtYXR0cmlidXRlLndpZGwKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IGMxMWViNzQxNGIwLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3QvaW52YWxpZC9pZGwvcmVjb3JkLWtleS13aXRoLWV4dGVuZGVkLWF0dHJpYnV0ZS53aWRs
CisrKyAvZGV2L251bGwKQEAgLTEsMyArMCwwIEBACi1pbnRlcmZhY2UgRm9vIHsKLSAgdm9pZCBm
b28ocmVjb3JkPFtYQXR0cl0gRE9NU3RyaW5nLCBhbnk+IHBhcmFtKTsKLX07CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvcmVjb3JkLWtleS53aWRsIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFs
aWQvaWRsL3JlY29yZC1rZXkud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzlk
YzM4NjE4MmYuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9yZWNvcmQt
a2V5LndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSwzICswLDAgQEAKLWludGVyZmFjZSBGb28gewot
ICB2b2lkIGZvbyhyZWNvcmQ8b2N0ZXQsIGFueT4gcGFyYW0pOwotfTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC9pbnZhbGlkL2lkbC9yZWNvcmQtc2luZ2xlLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxp
ZC9pZGwvcmVjb3JkLXNpbmdsZS53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4
NGRiNDAyODI0My4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL3JlY29y
ZC1zaW5nbGUud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDMgKzAsMCBAQAotaW50ZXJmYWNlIEZv
byB7Ci0gIHZvaWQgZm9vKHJlY29yZDxET01TdHJpbmc+IHBhcmFtKTsKLX07CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvc2NvcGVkbmFtZS53aWRsIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFs
aWQvaWRsL3Njb3BlZG5hbWUud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggY2Zj
YjFjY2M5MzkuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9zY29wZWRu
YW1lLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSwyICswLDAgQEAKLS8vIHNjb3BlZCBuYW1lcyBh
cmUgbm8gbG9uZ2VyIHZhbGlkIGluIFdlYklETAotICB0eXBlZGVmIGdmeDo6Z2VvbTo6Z2VvbTJk
OjpQb2ludCBQb2ludDsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9zZXF1ZW5j
ZUFzQXR0cmlidXRlLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvc2VxdWVuY2VBc0F0dHJp
YnV0ZS53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjMjNkYTgyYWMyMi4uMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL3NlcXVlbmNlQXNBdHRyaWJ1dGUu
d2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDMgKzAsMCBAQAotaW50ZXJmYWNlIHNlcXVlbmNlQXNB
dHRyaWJ1dGUgewotICBhdHRyaWJ1dGUgc2VxdWVuY2U8c2hvcnQ+IGludmFsaWQ7Ci19OwpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lk
bC9zZXRsaWtlLTJ0eXBlcy53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL3NldGxpa2UtMnR5
cGVzLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGMyNjgxYmM3NWYxLi4wMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvc2V0bGlrZS0ydHlwZXMud2lkbAor
KysgL2Rldi9udWxsCkBAIC0xLDMgKzAsMCBAQAotaW50ZXJmYWNlIFNldExpa2VUd29UeXBlcyB7
Ci0gIHNldGxpa2U8bG9uZywgbG9uZz47Ci19ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL3NldHRlci1jcmVhdG9yLndpZGwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3QvaW52YWxpZC9pZGwvc2V0dGVyLWNyZWF0b3Iud2lkbApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggYTcwYjI2Nzc0ZDcuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9p
bnZhbGlkL2lkbC9zZXR0ZXItY3JlYXRvci53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsNCArMCww
IEBACi0vLyBFeHRyYWN0ZWQgZnJvbSBodHRwOi8vZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJJ
REwvIG9uIDIwMTEtMDUtMDYKLWludGVyZmFjZSBPcmRlcmVkTWFwIHsKLSAgc2V0dGVyIGNyZWF0
b3Igdm9pZCBzZXQoRE9NU3RyaW5nIG5hbWUsIGFueSB2YWx1ZSk7Ci19OwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L2ludmFsaWQvaWRsL3NwYWNlZC1uZWdhdGl2ZS1pbmZpbml0eS53aWRsIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L2ludmFsaWQvaWRsL3NwYWNlZC1uZWdhdGl2ZS1pbmZpbml0eS53aWRsCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzZDcxMjIyZTU0Yi4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L2ludmFsaWQvaWRsL3NwYWNlZC1uZWdhdGl2ZS1pbmZpbml0eS53aWRsCisrKyAvZGV2
L251bGwKQEAgLTEsMyArMCwwIEBACi1pbnRlcmZhY2UgWCB7Ci0gICAgY29uc3QgZmxvYXQgaW5m
aW5pdHkgPSAtIEluZmluaXR5OwotfTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lk
bC9zcGFjZWQtdmFyaWFkaWMud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9zcGFjZWQtdmFy
aWFkaWMud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmQ3N2UxODZkNjYuLjAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9zcGFjZWQtdmFyaWFkaWMud2lk
bAorKysgL2Rldi9udWxsCkBAIC0xLDMgKzAsMCBAQAotaW50ZXJmYWNlIFggewotICAgIHZvaWQg
b3BlcmF0aW9uKG9iamVjdCAuIC4gLiBhcmdzKTsKLX07CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
aW52YWxpZC9pZGwvc3BlY2lhbC1vbWl0dGFibGUud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lk
bC9zcGVjaWFsLW9taXR0YWJsZS53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBk
ZDBjMWIxODU4OS4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL3NwZWNp
YWwtb21pdHRhYmxlLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSw4ICswLDAgQEAKLS8vIEV4dHJh
Y3RlZCBmcm9tIGh0dHA6Ly9kZXYudzMub3JnLzIwMDYvd2ViYXBpL1dlYklETC8gb24gMjAxMS0w
NS0wNgotLy8gb21pdHRhYmxlIGlzIG5vIGxvbmdlciBhIHJlY29nbml6ZWQga2V5d29yZCBhcyBv
ZiAyMDExMDkwNQotaW50ZXJmYWNlIERpY3Rpb25hcnkgewotICByZWFkb25seSBhdHRyaWJ1dGUg
dW5zaWduZWQgbG9uZyBwcm9wZXJ0eUNvdW50OwotCi0gIG9taXR0YWJsZSBnZXR0ZXIgZmxvYXQg
Z2V0UHJvcGVydHkoRE9NU3RyaW5nIHByb3BlcnR5TmFtZSk7Ci0gIG9taXR0YWJsZSBzZXR0ZXIg
dm9pZCBzZXRQcm9wZXJ0eShET01TdHJpbmcgcHJvcGVydHlOYW1lLCBmbG9hdCBwcm9wZXJ0eVZh
bHVlKTsKLX07ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L2ludmFsaWQvaWRsL3N0cmF5LXNsYXNoLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwv
c3RyYXktc2xhc2gud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjY3M2FhOTRi
MDEuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9zdHJheS1zbGFzaC53
aWRsCisrKyAvZGV2L251bGwKQEAgLTEsMiArMCwwIEBACi0vLyBUaGlzIGlzIGEgY29tbWVudC4K
LS8gVGhpcyBpcyBub3QuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvc3RyaW5n
Y29uc3RhbnRzLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvc3RyaW5nY29uc3RhbnRzLndp
ZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ0ZmQzZmYxMzZlLi4wMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvc3RyaW5nY29uc3RhbnRzLndpZGwKKysrIC9k
ZXYvbnVsbApAQCAtMSwzICswLDAgQEAKLWludGVyZmFjZSBVdGlsIHsKLSAgY29uc3QgRE9NU3Ry
aW5nIGhlbGxvID0gIndvcmxkIjsKLX07ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL3R5cGVkZWYtbmVzdGVkLndpZGwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3QvaW52YWxpZC9pZGwvdHlwZWRlZi1uZXN0ZWQud2lkbApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggZGZkMzc3YmY5MzIuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZh
bGlkL2lkbC90eXBlZGVmLW5lc3RlZC53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsMjIgKzAsMCBA
QAotCi0gICAgICBpbnRlcmZhY2UgUG9pbnQgewotICAgICAgICBhdHRyaWJ1dGUgZmxvYXQgeDsK
LSAgICAgICAgYXR0cmlidXRlIGZsb2F0IHk7Ci0gICAgICB9OwotCi0KLSAgICAgIGludGVyZmFj
ZSBSZWN0IHsKLSAgICAgICAgYXR0cmlidXRlIFBvaW50IHRvcGxlZnQ7Ci0gICAgICAgIGF0dHJp
YnV0ZSBQb2ludCBib3R0b21yaWdodDsKLSAgICAgIH07Ci0KLSAgaW50ZXJmYWNlIFdpZGdldCB7
Ci0gICAgdHlwZWRlZiBzZXF1ZW5jZTxQb2ludD4gUG9pbnRTZXF1ZW5jZTsKLQotICAgIHJlYWRv
bmx5IGF0dHJpYnV0ZSBSZWN0IGJvdW5kczsKLQotICAgIGJvb2xlYW4gcG9pbnRXaXRoaW5Cb3Vu
ZHMoUG9pbnQgcCk7Ci0gICAgYm9vbGVhbiBhbGxQb2ludHNXaXRoaW5Cb3VuZHMoUG9pbnRTZXF1
ZW5jZSBwcyk7Ci0gIH07Ci0KLSAgdHlwZWRlZiBbQ2xhbXBdIG9jdGV0IHZhbHVlOwpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC91
bmlvbi1kYW5nbGluZy1vci53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL3VuaW9uLWRhbmds
aW5nLW9yLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDBhYTA0M2U5YWNhLi4w
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvdW5pb24tZGFuZ2xpbmctb3Iu
d2lkbAorKysgL2Rldi9udWxsCkBAIC0xICswLDAgQEAKLXR5cGVkZWYgKE9uZSBvciBUd28gb3Ip
IFVuaW9uT3I7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvdW5pb24tb25lLndp
ZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvdW5pb24tb25lLndpZGwKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDg2ZWU5NmY1MTZkLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
aW52YWxpZC9pZGwvdW5pb24tb25lLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSArMCwwIEBACi10
eXBlZGVmIChPbmx5T25lKSBVbmlvbk9uZTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlk
L2lkbC91bmlvbi16ZXJvLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvdW5pb24temVyby53
aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxNzdmYzRjNzA4Zi4uMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL3VuaW9uLXplcm8ud2lkbAorKysgL2Rldi9u
dWxsCkBAIC0xICswLDAgQEAKLXR5cGVkZWYgKCkgVW5pb25aZXJvOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L2ludmFsaWQvaWRsL3Vua25vd24tZ2VuZXJpYy53aWRsIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFs
aWQvaWRsL3Vua25vd24tZ2VuZXJpYy53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCBlZTRhMmRiNzRhNi4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL3Vu
a25vd24tZ2VuZXJpYy53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsMyArMCwwIEBACi1pbnRlcmZh
Y2UgRmV0Y2hFdmVudCA6IEV2ZW50IHsKLSAgUmVzcG9uc2VQcm9taXNlPGFueT4gZGVmYXVsdCgp
OwotfTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC93M2MtaW1wb3J0LmxvZyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC9pbnZhbGlkL2lkbC93M2MtaW1wb3J0LmxvZwpkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggZjJjZWI0ZGY2ZWMuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZh
bGlkL2lkbC93M2MtaW1wb3J0LmxvZworKysgL2Rldi9udWxsCkBAIC0xLDU2ICswLDAgQEAKLVRo
ZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBv
c2l0b3J5LgotRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1J
bnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6Ci0JaHR0cHM6
Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQKLQotVGhlbiBydW4gdGhlIFRvb2xz
L1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKLQotRG8gTk9U
IG1vZGlmeSBvciByZW1vdmUgdGhpcyBmaWxlLgotCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLVByb3BlcnRp
ZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKLU5vbmUKLVByb3BlcnR5IHZhbHVlcyByZXF1
aXJpbmcgdmVuZG9yIHByZWZpeGVzOgotTm9uZQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1MaXN0IG9mIGZp
bGVzOgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9hcnJheS53aWRsCi0vTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFs
aWQvaWRsL2NhbGxlci53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL2RpY3QtcmVxdWlyZWQt
ZGVmYXVsdC53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL2R1cGxpY2F0ZS53aWRsCi0vTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L2ludmFsaWQvaWRsL2VudW0tZW1wdHkud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lk
bC9lbnVtLXdvLWNvbW1hLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvZW51bS53aWRsCi0v
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L2ludmFsaWQvaWRsL2V4Y2VwdGlvbi53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQv
aWRsL2V4dGF0dHItZW1wdHktaWRzLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvaWQtdW5k
ZXJzY29yZWQtbnVtYmVyLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvaW1wbGVtZW50c19h
bmRfaW5jbHVkZXNfd3Mud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9pdGVyYXRvci53aWRs
Ci0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL21hcGxpa2UtMXR5cGUud2lkbAotL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9p
bnZhbGlkL2lkbC9tb2R1bGUud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9uYW1lc3BhY2Ut
cmVhZHdyaXRlLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvbm8tc2VtaWNvbG9uLWNhbGxi
YWNrLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvbm8tc2VtaWNvbG9uLndpZGwKLS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3QvaW52YWxpZC9pZGwvbm9ubnVsbGFibGVhbnkud2lkbAotL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlk
L2lkbC9ub25udWxsYWJsZW9iamVjdHMud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9wcm9t
aXNlLW51bGxhYmxlLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvcHJvbWlzZS13aXRoLWV4
dGVuZGVkLWF0dHJpYnV0ZS53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL3JhaXNlcy53aWRs
Ci0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL3JlYWRvbmx5LWl0ZXJhYmxlLndpZGwKLS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3QvaW52YWxpZC9pZGwvcmVjb3JkLWtleS13aXRoLWV4dGVuZGVkLWF0dHJpYnV0ZS53aWRsCi0v
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L2ludmFsaWQvaWRsL3JlY29yZC1rZXkud2lkbAotL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlk
L2lkbC9yZWNvcmQtc2luZ2xlLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvc2NvcGVkbmFt
ZS53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL3NlcXVlbmNlQXNBdHRyaWJ1dGUud2lkbAot
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9zZXRsaWtlLTJ0eXBlcy53aWRsCi0vTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2lu
dmFsaWQvaWRsL3NldHRlci1jcmVhdG9yLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvc3Bh
Y2VkLW5lZ2F0aXZlLWluZmluaXR5LndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvc3BhY2Vk
LXZhcmlhZGljLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvc3BlY2lhbC1vbWl0dGFibGUu
d2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9zdHJheS1zbGFzaC53aWRsCi0vTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L2ludmFsaWQvaWRsL3N0cmluZ2NvbnN0YW50cy53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRs
L3R5cGVkZWYtbmVzdGVkLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvdW5pb24tZGFuZ2xp
bmctb3Iud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC91bmlvbi1vbmUud2lkbAotL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC9pbnZhbGlkL2lkbC91bmlvbi16ZXJvLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwv
dW5rbm93bi1nZW5lcmljLndpZGwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24v
YXJyYXkuanNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vYXJyYXkuanNvbgpkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggODk4YjJkODM2YmYuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC9pbnZhbGlkL2pzb24vYXJyYXkuanNvbgorKysgL2Rldi9udWxsCkBAIC0xLDQgKzAsMCBA
QAotewotICAgICJtZXNzYWdlIjogIkdvdCBhbiBlcnJvciBkdXJpbmcgb3IgcmlnaHQgYWZ0ZXIg
cGFyc2luZyBgaW50ZXJmYWNlIExvdHRlcnlSZXN1bHRzYDogTm8gbmFtZSBpbiBhdHRyaWJ1dGUi
LAotICAgICJsaW5lIjogNQotfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9j
YWxsZXIuanNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vY2FsbGVyLmpzb24KZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDU2N2ZhMzM2ODEyLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3QvaW52YWxpZC9qc29uL2NhbGxlci5qc29uCisrKyAvZGV2L251bGwKQEAgLTEsNCArMCww
IEBACi17Ci0gICAgIm1lc3NhZ2UiOiAiR290IGFuIGVycm9yIGR1cmluZyBvciByaWdodCBhZnRl
ciBwYXJzaW5nIGBpbnRlcmZhY2UgTnVtYmVyUXVhZHJ1cGxlcmA6IEludmFsaWQgb3BlcmF0aW9u
IiwKLSAgICAibGluZSI6IDYKLX0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24v
ZGljdC1yZXF1aXJlZC1kZWZhdWx0Lmpzb24gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL2RpY3Qt
cmVxdWlyZWQtZGVmYXVsdC5qc29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4MmI2
YjJhZTQyYS4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9kaWN0LXJl
cXVpcmVkLWRlZmF1bHQuanNvbgorKysgL2Rldi9udWxsCkBAIC0xLDQgKzAsMCBAQAotewotICAg
ICJtZXNzYWdlIjogICJHb3QgYW4gZXJyb3IgZHVyaW5nIG9yIHJpZ2h0IGFmdGVyIHBhcnNpbmcg
YGRpY3Rpb25hcnkgRGljdGA6IFJlcXVpcmVkIG1lbWJlciBtdXN0IG5vdCBoYXZlIGEgZGVmYXVs
dCIKLSwgICAibGluZSI6ICAgICA0Ci19CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9q
c29uL2R1cGxpY2F0ZS5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9kdXBsaWNhdGUuanNv
bgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTg4YTcxNTZmZTguLjAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vZHVwbGljYXRlLmpzb24KKysrIC9kZXYvbnVs
bApAQCAtMSw0ICswLDAgQEAKLXsKLSAgICAibWVzc2FnZSI6ICJHb3QgYW4gZXJyb3IgZHVyaW5n
IG9yIHJpZ2h0IGFmdGVyIHBhcnNpbmcgYHR5cGVkZWYgVGVzdGA6IFRoZSBuYW1lIFwiVGVzdFwi
IG9mIHR5cGUgXCJ0eXBlZGVmXCIgaXMgYWxyZWFkeSBzZWVuIiwKLSAgICAibGluZSI6IDMKLX0K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vZW51bS1lbXB0eS5qc29uIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L2ludmFsaWQvanNvbi9lbnVtLWVtcHR5Lmpzb24KZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDczNGJjNjdkZTFmLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxp
ZC9qc29uL2VudW0tZW1wdHkuanNvbgorKysgL2Rldi9udWxsCkBAIC0xLDQgKzAsMCBAQAotewot
ICAgICJtZXNzYWdlIjogIkdvdCBhbiBlcnJvciBkdXJpbmcgb3IgcmlnaHQgYWZ0ZXIgcGFyc2lu
ZyBgZW51bSBFbXB0eWA6IE5vIHZhbHVlIGluIGVudW0iLAotICAgICJsaW5lIjogMQotfQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9lbnVtLXdvLWNvbW1hLmpzb24gYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3QvaW52YWxpZC9qc29uL2VudW0td28tY29tbWEuanNvbgpkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggYmZkMGIwOTUxZmMuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZh
bGlkL2pzb24vZW51bS13by1jb21tYS5qc29uCisrKyAvZGV2L251bGwKQEAgLTEsNCArMCwwIEBA
Ci17Ci0gICAgIm1lc3NhZ2UiOiAiR290IGFuIGVycm9yIGR1cmluZyBvciByaWdodCBhZnRlciBw
YXJzaW5nIGBlbnVtIE5vQ29tbWFgOiBObyBjb21tYSBiZXR3ZWVuIGVudW0gdmFsdWVzIiwKLSAg
ICAibGluZSI6IDEKLX0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vZW51bS5q
c29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9lbnVtLmpzb24KZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDA3M2ZmNmMyOTBjLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52
YWxpZC9qc29uL2VudW0uanNvbgorKysgL2Rldi9udWxsCkBAIC0xLDQgKzAsMCBAQAotewotICAg
ICJtZXNzYWdlIjogICJHb3QgYW4gZXJyb3IgZHVyaW5nIG9yIHJpZ2h0IGFmdGVyIHBhcnNpbmcg
YGVudW0gZm9vYDogVW5leHBlY3RlZCB2YWx1ZSBpbiBlbnVtIgotLCAgICJsaW5lIjogICAgIDEK
LX0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vZXhjZXB0aW9uLmpzb24gYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3QvaW52YWxpZC9qc29uL2V4Y2VwdGlvbi5qc29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCBhZDlmYWM2Y2EyZi4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFs
aWQvanNvbi9leGNlcHRpb24uanNvbgorKysgL2Rldi9udWxsCkBAIC0xLDQgKzAsMCBAQAotewot
ICAgICJtZXNzYWdlIjogIkdvdCBhbiBlcnJvciBiZWZvcmUgcGFyc2luZyBhbnkgbmFtZWQgZGVm
aW5pdGlvbjogVW5yZWNvZ25pc2VkIHRva2VucyIsCi0gICAgImxpbmUiOiA0Ci19CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL2V4dGF0dHItZW1wdHktaWRzLmpzb24gYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3QvaW52YWxpZC9qc29uL2V4dGF0dHItZW1wdHktaWRzLmpzb24KZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDQzMzdmMWUxODBjLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
aW52YWxpZC9qc29uL2V4dGF0dHItZW1wdHktaWRzLmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSw0
ICswLDAgQEAKLXsKLSAgICAibWVzc2FnZSI6ICJHb3QgYW4gZXJyb3IgYmVmb3JlIHBhcnNpbmcg
YW55IG5hbWVkIGRlZmluaXRpb246IEV4cGVjdGVkIGlkZW50aWZpZXJzIGJ1dCBub3QgZm91bmQi
LAotICAgICJsaW5lIjogMQotfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9p
ZC11bmRlcnNjb3JlZC1udW1iZXIuanNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vaWQtdW5k
ZXJzY29yZWQtbnVtYmVyLmpzb24KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQxOWVk
OTQ2ZmNhLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL2lkLXVuZGVy
c2NvcmVkLW51bWJlci5qc29uCisrKyAvZGV2L251bGwKQEAgLTEsNCArMCwwIEBACi17Ci0gICAg
Im1lc3NhZ2UiOiAiR290IGFuIGVycm9yIGJlZm9yZSBwYXJzaW5nIGFueSBuYW1lZCBkZWZpbml0
aW9uOiBObyBuYW1lIGZvciBpbnRlcmZhY2UiLAotICAgICJsaW5lIjogMQotfQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9pbXBsZW1lbnRzX2FuZF9pbmNsdWRlc193cy5qc29u
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9pbXBsZW1lbnRzX2FuZF9pbmNsdWRlc193cy5qc29u
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhZDlmYWM2Y2EyZi4uMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9pbXBsZW1lbnRzX2FuZF9pbmNsdWRlc193cy5q
c29uCisrKyAvZGV2L251bGwKQEAgLTEsNCArMCwwIEBACi17Ci0gICAgIm1lc3NhZ2UiOiAiR290
IGFuIGVycm9yIGJlZm9yZSBwYXJzaW5nIGFueSBuYW1lZCBkZWZpbml0aW9uOiBVbnJlY29nbmlz
ZWQgdG9rZW5zIiwKLSAgICAibGluZSI6IDQKLX0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZh
bGlkL2pzb24vaXRlcmF0b3IuanNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vaXRlcmF0b3Iu
anNvbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTQ2ZDY1M2FlM2MuLjAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vaXRlcmF0b3IuanNvbgorKysgL2Rldi9u
dWxsCkBAIC0xLDQgKzAsMCBAQAotewotICAgICJtZXNzYWdlIjogIkdvdCBhbiBlcnJvciBkdXJp
bmcgb3IgcmlnaHQgYWZ0ZXIgcGFyc2luZyBgaW50ZXJmYWNlIFNlc3Npb25NYW5hZ2VyYDogSW52
YWxpZCBvcGVyYXRpb24iLAotICAgICJsaW5lIjogNQotfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L2ludmFsaWQvanNvbi9tYXBsaWtlLTF0eXBlLmpzb24gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29u
L21hcGxpa2UtMXR5cGUuanNvbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzVlN2Ez
NWVlMjUuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vbWFwbGlrZS0x
dHlwZS5qc29uCisrKyAvZGV2L251bGwKQEAgLTEsNCArMCwwIEBACi17Ci0gICAgIm1lc3NhZ2Ui
OiAiR290IGFuIGVycm9yIGR1cmluZyBvciByaWdodCBhZnRlciBwYXJzaW5nIGBpbnRlcmZhY2Ug
TWFwTGlrZU9uZVR5cGVgOiBNaXNzaW5nIHNlY29uZCB0eXBlIGFyZ3VtZW50IGluIG1hcGxpa2Ug
ZGVjbGFyYXRpb24iLAotICAgICJsaW5lIjogMgotfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2lu
dmFsaWQvanNvbi9tb2R1bGUuanNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vbW9kdWxlLmpz
b24KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDljMDcxY2RkMDdhLi4wMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL21vZHVsZS5qc29uCisrKyAvZGV2L251bGwK
QEAgLTEsNCArMCwwIEBACi17Ci0gICAgIm1lc3NhZ2UiOiAgIkdvdCBhbiBlcnJvciBiZWZvcmUg
cGFyc2luZyBhbnkgbmFtZWQgZGVmaW5pdGlvbjogVW5yZWNvZ25pc2VkIHRva2VucyIKLSwgICAi
bGluZSI6ICAgICAyCi19CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL25hbWVz
cGFjZS1yZWFkd3JpdGUuanNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vbmFtZXNwYWNlLXJl
YWR3cml0ZS5qc29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkMjEyMTUxMTFmMS4u
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9uYW1lc3BhY2UtcmVhZHdy
aXRlLmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSw0ICswLDAgQEAKLXsKLSAgICAibWVzc2FnZSI6
ICJHb3QgYW4gZXJyb3IgZHVyaW5nIG9yIHJpZ2h0IGFmdGVyIHBhcnNpbmcgYG5hbWVzcGFjZSBD
U1NgOiBBdHRyaWJ1dGVzIG11c3QgYmUgcmVhZG9ubHkgaW4gdGhpcyBjb250ZXh0IiwKLSAgICAi
bGluZSI6IDIKLX0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vbm8tc2VtaWNv
bG9uLWNhbGxiYWNrLmpzb24gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL25vLXNlbWljb2xvbi1j
YWxsYmFjay5qc29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxZGI5ZDE0YzhlMi4u
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9uby1zZW1pY29sb24tY2Fs
bGJhY2suanNvbgorKysgL2Rldi9udWxsCkBAIC0xLDQgKzAsMCBAQAotewotICAgICJtZXNzYWdl
IjogIkdvdCBhbiBlcnJvciBkdXJpbmcgb3IgcmlnaHQgYWZ0ZXIgcGFyc2luZyBgY2FsbGJhY2sg
aW50ZXJmYWNlIE5vU2VtaWNvbG9uYDogTWlzc2luZyBzZW1pY29sb24gYWZ0ZXIgaW50ZXJmYWNl
IiwKLSAgICAibGluZSI6IDUKLX0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24v
bm8tc2VtaWNvbG9uLmpzb24gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL25vLXNlbWljb2xvbi5q
c29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwODc1MzJhMDEyZi4uMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9uby1zZW1pY29sb24uanNvbgorKysgL2Rl
di9udWxsCkBAIC0xLDQgKzAsMCBAQAotewotICAgICJtZXNzYWdlIjogIkdvdCBhbiBlcnJvciBk
dXJpbmcgb3IgcmlnaHQgYWZ0ZXIgcGFyc2luZyBgcGFydGlhbCBpbnRlcmZhY2UgTm9TZW1pY29s
b25gOiBNaXNzaW5nIHNlbWljb2xvbiBhZnRlciBpbnRlcmZhY2UiLAotICAgICJsaW5lIjogNQot
fQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9ub25udWxsYWJsZWFueS5qc29u
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9ub25udWxsYWJsZWFueS5qc29uCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCA4YTFmOTAwNDZhZS4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L2ludmFsaWQvanNvbi9ub25udWxsYWJsZWFueS5qc29uCisrKyAvZGV2L251bGwKQEAgLTEs
NCArMCwwIEBACi17Ci0gICAgIm1lc3NhZ2UiOiAgIkdvdCBhbiBlcnJvciBkdXJpbmcgb3Igcmln
aHQgYWZ0ZXIgcGFyc2luZyBgaW50ZXJmYWNlIE5vbk51bGxhYmxlYDogVHlwZSBhbnkgY2Fubm90
IGJlIG1hZGUgbnVsbGFibGUiCi0sICAgImxpbmUiOiAgICAgMgotfQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L2ludmFsaWQvanNvbi9ub25udWxsYWJsZW9iamVjdHMuanNvbiBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9p
bnZhbGlkL2pzb24vbm9ubnVsbGFibGVvYmplY3RzLmpzb24KZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IGQ0NzBlYzk0YTYwLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxp
ZC9qc29uL25vbm51bGxhYmxlb2JqZWN0cy5qc29uCisrKyAvZGV2L251bGwKQEAgLTEsNCArMCww
IEBACi17Ci0gICAgIm1lc3NhZ2UiOiAiR290IGFuIGVycm9yIGR1cmluZyBvciByaWdodCBhZnRl
ciBwYXJzaW5nIGBpbnRlcmZhY2UgTm9uTnVsbGFibGVgOiBDYW4ndCBudWxsYWJsZSBtb3JlIHRo
YW4gb25jZSIsCi0gICAgImxpbmUiOiA0Ci19CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxp
ZC9qc29uL3Byb21pc2UtbnVsbGFibGUuanNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vcHJv
bWlzZS1udWxsYWJsZS5qc29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjZWQ1MWZh
ZjFiZS4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9wcm9taXNlLW51
bGxhYmxlLmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSw0ICswLDAgQEAKLXsKLSAgICAibWVzc2Fn
ZSI6ICJHb3QgYW4gZXJyb3IgZHVyaW5nIG9yIHJpZ2h0IGFmdGVyIHBhcnNpbmcgYGludGVyZmFj
ZSBYYDogUHJvbWlzZSB0eXBlIGNhbm5vdCBiZSBudWxsYWJsZSIsCi0gICAgImxpbmUiOiAyCi19
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL3Byb21pc2Utd2l0aC1leHRlbmRl
ZC1hdHRyaWJ1dGUuanNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vcHJvbWlzZS13aXRoLWV4
dGVuZGVkLWF0dHJpYnV0ZS5qc29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3MTIx
MmQ0NmUzYy4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9wcm9taXNl
LXdpdGgtZXh0ZW5kZWQtYXR0cmlidXRlLmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSw0ICswLDAg
QEAKLXsKLSAgICAibWVzc2FnZSI6ICJHb3QgYW4gZXJyb3IgZHVyaW5nIG9yIHJpZ2h0IGFmdGVy
IHBhcnNpbmcgYGludGVyZmFjZSBGb29gOiBQcm9taXNlIHR5cGUgY2Fubm90IGhhdmUgZXh0ZW5k
ZWQgYXR0cmlidXRlIiwKLSAgICAibGluZSI6IDIKLX0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9p
bnZhbGlkL2pzb24vcmFpc2VzLmpzb24gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL3JhaXNlcy5q
c29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzMTY1Yjg3NGYwYy4uMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9yYWlzZXMuanNvbgorKysgL2Rldi9udWxs
CkBAIC0xLDQgKzAsMCBAQAotewotICAgICJtZXNzYWdlIjogICJHb3QgYW4gZXJyb3IgZHVyaW5n
IG9yIHJpZ2h0IGFmdGVyIHBhcnNpbmcgYGludGVyZmFjZSBQZXJzb25gOiBVbnRlcm1pbmF0ZWQg
YXR0cmlidXRlIgotLCAgICJsaW5lIjogICAgIDUKLX0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9p
bnZhbGlkL2pzb24vcmVhZG9ubHktaXRlcmFibGUuanNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pz
b24vcmVhZG9ubHktaXRlcmFibGUuanNvbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
YTU3MWIyMjI3MWIuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vcmVh
ZG9ubHktaXRlcmFibGUuanNvbgorKysgL2Rldi9udWxsCkBAIC0xLDQgKzAsMCBAQAotewotICAg
ICJtZXNzYWdlIjogIkdvdCBhbiBlcnJvciBkdXJpbmcgb3IgcmlnaHQgYWZ0ZXIgcGFyc2luZyBg
aW50ZXJmYWNlIFJlYWRvbmx5SXRlcmFibGVgOiBNaXNzaW5nIHJldHVybiB0eXBlIiwKLSAgICAi
bGluZSI6IDIKLX0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vcmVjb3JkLWtl
eS13aXRoLWV4dGVuZGVkLWF0dHJpYnV0ZS5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9y
ZWNvcmQta2V5LXdpdGgtZXh0ZW5kZWQtYXR0cmlidXRlLmpzb24KZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDQwMDJlN2ZlMDE1Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52
YWxpZC9qc29uL3JlY29yZC1rZXktd2l0aC1leHRlbmRlZC1hdHRyaWJ1dGUuanNvbgorKysgL2Rl
di9udWxsCkBAIC0xLDQgKzAsMCBAQAotewotICAgICJtZXNzYWdlIjogIkdvdCBhbiBlcnJvciBk
dXJpbmcgb3IgcmlnaHQgYWZ0ZXIgcGFyc2luZyBgaW50ZXJmYWNlIEZvb2A6IFJlY29yZCBrZXkg
Y2Fubm90IGhhdmUgZXh0ZW5kZWQgYXR0cmlidXRlIiwKLSAgICAibGluZSI6IDIKLX0KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vcmVjb3JkLWtleS5qc29uIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L2ludmFsaWQvanNvbi9yZWNvcmQta2V5Lmpzb24KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDZmMWJiOTliZTkwLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29u
L3JlY29yZC1rZXkuanNvbgorKysgL2Rldi9udWxsCkBAIC0xLDQgKzAsMCBAQAotewotICAgICJt
ZXNzYWdlIjogIkdvdCBhbiBlcnJvciBkdXJpbmcgb3IgcmlnaHQgYWZ0ZXIgcGFyc2luZyBgaW50
ZXJmYWNlIEZvb2A6IFJlY29yZCBrZXkgbXVzdCBiZSBhIHN0cmluZyB0eXBlIiwKLSAgICAibGlu
ZSI6IDIKLX0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vcmVjb3JkLXNpbmds
ZS5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9yZWNvcmQtc2luZ2xlLmpzb24KZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGVjZTRmYjJmZWUzLi4wMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3QvaW52YWxpZC9qc29uL3JlY29yZC1zaW5nbGUuanNvbgorKysgL2Rldi9udWxsCkBA
IC0xLDQgKzAsMCBAQAotewotICAgICJtZXNzYWdlIjogIkdvdCBhbiBlcnJvciBkdXJpbmcgb3Ig
cmlnaHQgYWZ0ZXIgcGFyc2luZyBgaW50ZXJmYWNlIEZvb2A6IE1pc3NpbmcgY29tbWEgYWZ0ZXIg
cmVjb3JkIGtleSB0eXBlIiwKLSAgICAibGluZSI6IDIKLX0KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC9pbnZhbGlkL2pzb24vc2NvcGVkbmFtZS5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9z
Y29wZWRuYW1lLmpzb24KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ2MjBkMmRmNWZh
Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL3Njb3BlZG5hbWUuanNv
bgorKysgL2Rldi9udWxsCkBAIC0xLDQgKzAsMCBAQAotewotICAgICJtZXNzYWdlIjogICJHb3Qg
YW4gZXJyb3IgYmVmb3JlIHBhcnNpbmcgYW55IG5hbWVkIGRlZmluaXRpb246IE5vIG5hbWUgaW4g
dHlwZWRlZiIKLSwgICAibGluZSI6ICAgICAyCi19CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52
YWxpZC9qc29uL3NlcXVlbmNlQXNBdHRyaWJ1dGUuanNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pz
b24vc2VxdWVuY2VBc0F0dHJpYnV0ZS5qc29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCA1YjQzMTRhNmRlMS4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9z
ZXF1ZW5jZUFzQXR0cmlidXRlLmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSw0ICswLDAgQEAKLXsK
LSAgICAibWVzc2FnZSI6ICAiR290IGFuIGVycm9yIGR1cmluZyBvciByaWdodCBhZnRlciBwYXJz
aW5nIGBpbnRlcmZhY2Ugc2VxdWVuY2VBc0F0dHJpYnV0ZWA6IEF0dHJpYnV0ZXMgY2Fubm90IGFj
Y2VwdCBzZXF1ZW5jZSB0eXBlcyIKLSwgICAibGluZSI6ICAgICAyCi19CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3QvaW52YWxpZC9qc29uL3NldGxpa2UtMnR5cGVzLmpzb24gYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52
YWxpZC9qc29uL3NldGxpa2UtMnR5cGVzLmpzb24KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDI5MDBlMWJhYzMwLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29u
L3NldGxpa2UtMnR5cGVzLmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSw0ICswLDAgQEAKLXsKLSAg
ICAibWVzc2FnZSI6ICJHb3QgYW4gZXJyb3IgZHVyaW5nIG9yIHJpZ2h0IGFmdGVyIHBhcnNpbmcg
YGludGVyZmFjZSBTZXRMaWtlVHdvVHlwZXNgOiBVbnRlcm1pbmF0ZWQgc2V0bGlrZSBkZWNsYXJh
dGlvbiIsCi0gICAgImxpbmUiOiAyCi19CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9q
c29uL3NldHRlci1jcmVhdG9yLmpzb24gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL3NldHRlci1j
cmVhdG9yLmpzb24KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI1ZGVjYjM3NGUxLi4w
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL3NldHRlci1jcmVhdG9yLmpz
b24KKysrIC9kZXYvbnVsbApAQCAtMSw0ICswLDAgQEAKLXsKLSAgICAibWVzc2FnZSI6ICJHb3Qg
YW4gZXJyb3IgZHVyaW5nIG9yIHJpZ2h0IGFmdGVyIHBhcnNpbmcgYGludGVyZmFjZSBPcmRlcmVk
TWFwYDogSW52YWxpZCBvcGVyYXRpb24iLAotICAgICJsaW5lIjogMwotfQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L2ludmFsaWQvanNvbi9zcGFjZWQtbmVnYXRpdmUtaW5maW5pdHkuanNvbiBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC9pbnZhbGlkL2pzb24vc3BhY2VkLW5lZ2F0aXZlLWluZmluaXR5Lmpzb24KZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDllNWQ2MTgwNDk5Li4wMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3QvaW52YWxpZC9qc29uL3NwYWNlZC1uZWdhdGl2ZS1pbmZpbml0eS5qc29uCisrKyAv
ZGV2L251bGwKQEAgLTEsNCArMCwwIEBACi17Ci0gICAgIm1lc3NhZ2UiOiAiR290IGFuIGVycm9y
IGR1cmluZyBvciByaWdodCBhZnRlciBwYXJzaW5nIGBpbnRlcmZhY2UgWGA6IE5vIHZhbHVlIGZv
ciBjb25zdCIsCi0gICAgImxpbmUiOiAyCi19CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxp
ZC9qc29uL3NwYWNlZC12YXJpYWRpYy5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9zcGFj
ZWQtdmFyaWFkaWMuanNvbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDA5MGFiZWVi
NzEuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vc3BhY2VkLXZhcmlh
ZGljLmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSw0ICswLDAgQEAKLXsKLSAgICAibWVzc2FnZSI6
ICJHb3QgYW4gZXJyb3IgZHVyaW5nIG9yIHJpZ2h0IGFmdGVyIHBhcnNpbmcgYGludGVyZmFjZSBY
YDogVW50ZXJtaW5hdGVkIG9wZXJhdGlvbiIsCi0gICAgImxpbmUiOiAyCi19CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL3NwZWNpYWwtb21pdHRhYmxlLmpzb24gYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3QvaW52YWxpZC9qc29uL3NwZWNpYWwtb21pdHRhYmxlLmpzb24KZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IGMyMGIyOGUwM2MxLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52
YWxpZC9qc29uL3NwZWNpYWwtb21pdHRhYmxlLmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSw0ICsw
LDAgQEAKLXsKLSAgICAibWVzc2FnZSI6ICAiR290IGFuIGVycm9yIGR1cmluZyBvciByaWdodCBh
ZnRlciBwYXJzaW5nIGBpbnRlcmZhY2UgRGljdGlvbmFyeWA6IEludmFsaWQgb3BlcmF0aW9uIgot
LCAgICJsaW5lIjogICAgIDYKLX0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24v
c3RyYXktc2xhc2guanNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vc3RyYXktc2xhc2guanNv
bgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWMwNzFjZGQwN2EuLjAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vc3RyYXktc2xhc2guanNvbgorKysgL2Rldi9u
dWxsCkBAIC0xLDQgKzAsMCBAQAotewotICAgICJtZXNzYWdlIjogICJHb3QgYW4gZXJyb3IgYmVm
b3JlIHBhcnNpbmcgYW55IG5hbWVkIGRlZmluaXRpb246IFVucmVjb2duaXNlZCB0b2tlbnMiCi0s
ICAgImxpbmUiOiAgICAgMgotfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9z
dHJpbmdjb25zdGFudHMuanNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vc3RyaW5nY29uc3Rh
bnRzLmpzb24KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDc0NWQ2ZTZlMDhiLi4wMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL3N0cmluZ2NvbnN0YW50cy5qc29u
CisrKyAvZGV2L251bGwKQEAgLTEsNCArMCwwIEBACi17Ci0gICAgIm1lc3NhZ2UiOiAgIkdvdCBh
biBlcnJvciBkdXJpbmcgb3IgcmlnaHQgYWZ0ZXIgcGFyc2luZyBgaW50ZXJmYWNlIFV0aWxgOiBO
byB0eXBlIGZvciBjb25zdCIKLSwgICAibGluZSI6ICAgICAyCi19CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3QvaW52YWxpZC9qc29uL3R5cGVkZWYtbmVzdGVkLmpzb24gYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxp
ZC9qc29uL3R5cGVkZWYtbmVzdGVkLmpzb24KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IGUxODQzY2VjN2Q5Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL3R5
cGVkZWYtbmVzdGVkLmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSw0ICswLDAgQEAKLXsKLSAgICAi
bWVzc2FnZSI6ICAiR290IGFuIGVycm9yIGR1cmluZyBvciByaWdodCBhZnRlciBwYXJzaW5nIGBp
bnRlcmZhY2UgV2lkZ2V0YDogTWlzc2luZyByZXR1cm4gdHlwZSIKLSwgICAibGluZSI6ICAgICAx
NAotfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi91bmlvbi1kYW5nbGluZy1v
ci5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi91bmlvbi1kYW5nbGluZy1vci5qc29uCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2OGRmZDhiMmFlNi4uMDAwMDAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi91bmlvbi1kYW5nbGluZy1vci5qc29uCisrKyAvZGV2
L251bGwKQEAgLTEsNCArMCwwIEBACi17Ci0gICAgIm1lc3NhZ2UiOiAiR290IGFuIGVycm9yIGJl
Zm9yZSBwYXJzaW5nIGFueSBuYW1lZCBkZWZpbml0aW9uOiBObyB0eXBlIGFmdGVyIG9wZW4gcGFy
ZW50aGVzaXMgb3IgJ29yJyBpbiB1bmlvbiB0eXBlIiwKLSAgICAibGluZSI6IDEKLX0KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vdW5pb24tb25lLmpzb24gYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
aW52YWxpZC9qc29uL3VuaW9uLW9uZS5qc29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCA0NzY0MDNkNjg4OS4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi91
bmlvbi1vbmUuanNvbgorKysgL2Rldi9udWxsCkBAIC0xLDQgKzAsMCBAQAotewotICAgICJtZXNz
YWdlIjogIkdvdCBhbiBlcnJvciBiZWZvcmUgcGFyc2luZyBhbnkgbmFtZWQgZGVmaW5pdGlvbjog
QXQgbGVhc3QgdHdvIHR5cGVzIGFyZSBleHBlY3RlZCBpbiBhIHVuaW9uIHR5cGUgYnV0IGZvdW5k
IGxlc3MiLAotICAgICJsaW5lIjogMQotfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQv
anNvbi91bmlvbi16ZXJvLmpzb24gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL3VuaW9uLXplcm8u
anNvbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjhkZmQ4YjJhZTYuLjAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vdW5pb24temVyby5qc29uCisrKyAvZGV2
L251bGwKQEAgLTEsNCArMCwwIEBACi17Ci0gICAgIm1lc3NhZ2UiOiAiR290IGFuIGVycm9yIGJl
Zm9yZSBwYXJzaW5nIGFueSBuYW1lZCBkZWZpbml0aW9uOiBObyB0eXBlIGFmdGVyIG9wZW4gcGFy
ZW50aGVzaXMgb3IgJ29yJyBpbiB1bmlvbiB0eXBlIiwKLSAgICAibGluZSI6IDEKLX0KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vdW5rbm93bi1nZW5lcmljLmpzb24gYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3QvaW52YWxpZC9qc29uL3Vua25vd24tZ2VuZXJpYy5qc29uCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAzNzAzZGIzYjJhYi4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2lu
dmFsaWQvanNvbi91bmtub3duLWdlbmVyaWMuanNvbgorKysgL2Rldi9udWxsCkBAIC0xLDQgKzAs
MCBAQAotewotICAgICJtZXNzYWdlIjogIkdvdCBhbiBlcnJvciBkdXJpbmcgb3IgcmlnaHQgYWZ0
ZXIgcGFyc2luZyBgaW50ZXJmYWNlIEZldGNoRXZlbnRgOiBVbnN1cHBvcnRlZCBnZW5lcmljIHR5
cGUgUmVzcG9uc2VQcm9taXNlIiwKLSAgICAibGluZSI6IDIKLX0KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC9pbnZhbGlkL2pzb24vdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29u
L3czYy1pbXBvcnQubG9nCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzMDE4MWJmNjE1
Ny4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi93M2MtaW1wb3J0Lmxv
ZworKysgL2Rldi9udWxsCkBAIC0xLDU2ICswLDAgQEAKLVRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVj
dG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgotRG8gTk9UIG1vZGlm
eSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBwdWxs
IHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0
Zm9ybS10ZXN0cy93cHQKLQotVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10
ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKLQotRG8gTk9UIG1vZGlmeSBvciByZW1vdmUgdGhp
cyBmaWxlLgotCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLVByb3BlcnRpZXMgcmVxdWlyaW5nIHZlbmRvciBw
cmVmaXhlczoKLU5vbmUKLVByb3BlcnR5IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVz
OgotTm9uZQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1MaXN0IG9mIGZpbGVzOgotL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZh
bGlkL2pzb24vYXJyYXkuanNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vY2FsbGVyLmpzb24K
LS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL2RpY3QtcmVxdWlyZWQtZGVmYXVsdC5qc29uCi0vTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L2ludmFsaWQvanNvbi9kdXBsaWNhdGUuanNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pz
b24vZW51bS1lbXB0eS5qc29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9lbnVtLXdvLWNvbW1h
Lmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL2VudW0uanNvbgotL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZh
bGlkL2pzb24vZXhjZXB0aW9uLmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL2V4dGF0dHIt
ZW1wdHktaWRzLmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL2lkLXVuZGVyc2NvcmVkLW51
bWJlci5qc29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9pbXBsZW1lbnRzX2FuZF9pbmNsdWRl
c193cy5qc29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9pdGVyYXRvci5qc29uCi0vTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L2ludmFsaWQvanNvbi9tYXBsaWtlLTF0eXBlLmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9q
c29uL21vZHVsZS5qc29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9uYW1lc3BhY2UtcmVhZHdy
aXRlLmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL25vLXNlbWljb2xvbi1jYWxsYmFjay5q
c29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9uby1zZW1pY29sb24uanNvbgotL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC9pbnZhbGlkL2pzb24vbm9ubnVsbGFibGVhbnkuanNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pz
b24vbm9ubnVsbGFibGVvYmplY3RzLmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL3Byb21p
c2UtbnVsbGFibGUuanNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vcHJvbWlzZS13aXRoLWV4
dGVuZGVkLWF0dHJpYnV0ZS5qc29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9yYWlzZXMuanNv
bgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vcmVhZG9ubHktaXRlcmFibGUuanNvbgotL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC9pbnZhbGlkL2pzb24vcmVjb3JkLWtleS13aXRoLWV4dGVuZGVkLWF0dHJpYnV0ZS5qc29u
Ci0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9yZWNvcmQta2V5Lmpzb24KLS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52
YWxpZC9qc29uL3JlY29yZC1zaW5nbGUuanNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vc2Nv
cGVkbmFtZS5qc29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9zZXF1ZW5jZUFzQXR0cmlidXRl
Lmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL3NldGxpa2UtMnR5cGVzLmpzb24KLS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3QvaW52YWxpZC9qc29uL3NldHRlci1jcmVhdG9yLmpzb24KLS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxp
ZC9qc29uL3NwYWNlZC1uZWdhdGl2ZS1pbmZpbml0eS5qc29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQv
anNvbi9zcGFjZWQtdmFyaWFkaWMuanNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vc3BlY2lh
bC1vbWl0dGFibGUuanNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vc3RyYXktc2xhc2guanNv
bgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vc3RyaW5nY29uc3RhbnRzLmpzb24KLS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3QvaW52YWxpZC9qc29uL3R5cGVkZWYtbmVzdGVkLmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9q
c29uL3VuaW9uLWRhbmdsaW5nLW9yLmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL3VuaW9u
LW9uZS5qc29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi91bmlvbi16ZXJvLmpzb24KLS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3QvaW52YWxpZC9qc29uL3Vua25vd24tZ2VuZXJpYy5qc29uCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3QvbW9jaGEub3B0cyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9tb2NoYS5vcHRzCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCA1YWRhNDdiZTE2Yi4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L21v
Y2hhLm9wdHMKKysrIC9kZXYvbnVsbApAQCAtMSArMCwwIEBACi0tLXJlcG9ydGVyIHNwZWMKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXguanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4LmpzCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwNWQ2NDdlZGExMC4uMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3N5bnRheC5qcworKysgL2Rldi9udWxsCkBAIC0xLDE5ICswLDAgQEAKLSJ1c2Ug
c3RyaWN0IjsKLQotY29uc3QgeyBjb2xsZWN0IH0gPSByZXF1aXJlKCIuL3V0aWwvY29sbGVjdCIp
OwotY29uc3QgZXhwZWN0ID0gcmVxdWlyZSgiZXhwZWN0Iik7Ci1jb25zdCBkZWJ1ZyA9IHRydWU7
Ci0KLWRlc2NyaWJlKCJQYXJzZXMgYWxsIG9mIHRoZSBJRExzIHRvIHByb2R1Y2UgdGhlIGNvcnJl
Y3QgQVNUcyIsICgpID0+IHsKLSAgZm9yIChjb25zdCB0ZXN0IG9mIGNvbGxlY3QoInN5bnRheCIp
KSB7Ci0gICAgaXQoYHNob3VsZCBwcm9kdWNlIHRoZSBzYW1lIEFTVCBmb3IgJHt0ZXN0LnBhdGh9
YCwgKCkgPT4gewotICAgICAgdHJ5IHsKLSAgICAgICAgZXhwZWN0KHRlc3QuZGlmZigpKS50b0Jl
RmFsc3koKTsKLSAgICAgIH0KLSAgICAgIGNhdGNoIChlKSB7Ci0gICAgICAgIGNvbnNvbGUubG9n
KGUudG9TdHJpbmcoKSk7Ci0gICAgICAgIHRocm93IGU7Ci0gICAgICB9Ci0gICAgfSk7Ci0gIH0K
LX0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvYWxsb3dhbnkud2lkbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC9zeW50YXgvaWRsL2FsbG93YW55LndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDIzNDNiYjk2Mzc0Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lk
bC9hbGxvd2FueS53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsNiArMCwwIEBACi0vLyBFeHRyYWN0
ZWQgZnJvbSBodHRwOi8vZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJJREwvIG9uIDIwMTEtMDUt
MDYKLWludGVyZmFjZSBCIHsKLSAgdm9pZCBnKCk7Ci0gIHZvaWQgZyhCIGIpOwotICB2b2lkIGco
W0FsbG93QW55XSBET01TdHJpbmcgcyk7Ci19OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL2F0dHJpYnV0ZXMud2lkbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC9zeW50YXgvaWRsL2F0dHJpYnV0ZXMud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggZjY2NWMxZmM0NzIuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRs
L2F0dHJpYnV0ZXMud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDExICswLDAgQEAKLS8vIEV4dHJh
Y3RlZCBmcm9tIGh0dHA6Ly9kZXYudzMub3JnLzIwMDYvd2ViYXBpL1dlYklETC8gb24gMjAxMS0w
NS0wNgotCi1pbnRlcmZhY2UgUGVyc29uIHsKLQotICAvLyBBIHNpbXBsZSBhdHRyaWJ1dGUgdGhh
dCBjYW4gYmUgc2V0IHRvIGFueSB2YWx1ZSB0aGUgcmFuZ2UgYW4gdW5zaWduZWQKLSAgLy8gc2hv
cnQgY2FuIHRha2UuCi0gIGF0dHJpYnV0ZSB1bnNpZ25lZCBzaG9ydCBhZ2U7Ci0KLSAgLy8gcmVx
dWlyZWQgaXMgYW4gYWxsb3dlZCBhdHRyaWJ1dGUgbmFtZQotICBhdHRyaWJ1dGUgYW55IHJlcXVp
cmVkOwotfTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL2NhbGxiYWNrLndpZGwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9jYWxsYmFjay53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCBhZGFmNzVlMDQ5Yy4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRh
eC9pZGwvY2FsbGJhY2sud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDcgKzAsMCBAQAotY2FsbGJh
Y2sgQXN5bmNPcGVyYXRpb25DYWxsYmFjayA9IHZvaWQgKERPTVN0cmluZyBzdGF0dXMpOwotCi1j
YWxsYmFjayBpbnRlcmZhY2UgRXZlbnRIYW5kbGVyIHsKLSAgdm9pZCBldmVudE9jY3VycmVkKERP
TVN0cmluZyBkZXRhaWxzKTsKLX07Ci0KLWNhbGxiYWNrIFNvcnRDYWxsYmFjayA9IGJvb2xlYW4g
KGFueSBhLCBhbnkgYik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9jb25zdGFu
dHMud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL2NvbnN0YW50cy53aWRsCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwNDNiMDIyYjY0Ni4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3N5bnRheC9pZGwvY29uc3RhbnRzLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSwxMSArMCww
IEBACi0vLyBFeHRyYWN0ZWQgZnJvbSBodHRwOi8vZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJJ
REwvIG9uIDIwMTEtMDUtMDYKLWludGVyZmFjZSBVdGlsIHsKLSAgY29uc3QgYm9vbGVhbiBERUJV
RyA9IGZhbHNlOwotICBjb25zdCBzaG9ydCBuZWdhdGl2ZSA9IC0xOwotICBjb25zdCBvY3RldCBM
RiA9IDEwOwotICBjb25zdCB1bnNpZ25lZCBsb25nIEJJVF9NQVNLID0gMHgwMDAwZmMwMDsKLSAg
Y29uc3QgZmxvYXQgQVZPR0FEUk8gPSA2LjAyMmUyMzsKLSAgY29uc3QgdW5yZXN0cmljdGVkIGZs
b2F0IHNvYmlnID0gSW5maW5pdHk7Ci0gIGNvbnN0IHVucmVzdHJpY3RlZCBkb3VibGUgbWludXNv
bmVkaXZpZGVkYnl6ZXJvID0gLUluZmluaXR5OwotICBjb25zdCBzaG9ydCBub3RhbnVtYmVyID0g
TmFOOwotfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvc3ludGF4L2lkbC9jb25zdHJ1Y3Rvci53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvY29u
c3RydWN0b3Iud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjkzZWMwOGE2ZTYu
LjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL2NvbnN0cnVjdG9yLndpZGwK
KysrIC9kZXYvbnVsbApAQCAtMSw5ICswLDAgQEAKLS8vIEV4dHJhY3RlZCBmcm9tIGh0dHA6Ly9k
ZXYudzMub3JnLzIwMDYvd2ViYXBpL1dlYklETC8gb24gMjAxMS0wNS0wNgotW0NvbnN0cnVjdG9y
LAotIENvbnN0cnVjdG9yKGZsb2F0IHJhZGl1cyldCi1pbnRlcmZhY2UgQ2lyY2xlIHsKLSAgYXR0
cmlidXRlIGZsb2F0IHI7Ci0gIGF0dHJpYnV0ZSBmbG9hdCBjeDsKLSAgYXR0cmlidXRlIGZsb2F0
IGN5OwotICByZWFkb25seSBhdHRyaWJ1dGUgZmxvYXQgY2lyY3VtZmVyZW5jZTsKLX07ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwv
ZGljdGlvbmFyeS1pbmhlcml0cy53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvZGljdGlvbmFy
eS1pbmhlcml0cy53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0OGY4YTBmZGNl
Yi4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvZGljdGlvbmFyeS1pbmhl
cml0cy53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsOSArMCwwIEBACi1kaWN0aW9uYXJ5IFBhaW50
T3B0aW9ucyB7Ci0gIERPTVN0cmluZz8gZmlsbFBhdHRlcm4gPSAiYmxhY2siOwotICBET01TdHJp
bmc/IHN0cm9rZVBhdHRlcm4gPSBudWxsOwotICBQb2ludCBwb3NpdGlvbjsKLX07Ci0KLWRpY3Rp
b25hcnkgV2V0UGFpbnRPcHRpb25zIDogUGFpbnRPcHRpb25zIHsKLSAgZmxvYXQgaHlkcm9tZXRy
eTsKLX07ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3N5bnRheC9pZGwvZGljdGlvbmFyeS53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvZGljdGlv
bmFyeS53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjNjRhMTRjODU5MC4uMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvZGljdGlvbmFyeS53aWRsCisrKyAv
ZGV2L251bGwKQEAgLTEsMTUgKzAsMCBAQAotLy8gRXh0cmFjdGVkIGZyb20gV2ViIElETCBlZGl0
b3JzIGRyYWZ0IE1heSAzMSAyMDExCi1kaWN0aW9uYXJ5IFBhaW50T3B0aW9ucyB7Ci0gIERPTVN0
cmluZz8gZmlsbFBhdHRlcm4gPSAiYmxhY2siOwotICBET01TdHJpbmc/IHN0cm9rZVBhdHRlcm4g
PSBudWxsOwotICBQb2ludCBwb3NpdGlvbjsKLSAgLy8gaHR0cHM6Ly9oZXljYW0uZ2l0aHViLmlv
L3dlYmlkbC8jZGZuLW9wdGlvbmFsLWFyZ3VtZW50LWRlZmF1bHQtdmFsdWUgYWxsb3dzIHNlcXVl
bmNlcyB0byBkZWZhdWx0IHRvICJbXSIuCi0gIHNlcXVlbmNlPGxvbmc+IHNlcSA9IFtdOwotICAv
LyBodHRwczovL2hleWNhbS5naXRodWIuaW8vd2ViaWRsLyNyZXF1aXJlZC1kaWN0aW9uYXJ5LW1l
bWJlcgotICByZXF1aXJlZCBsb25nIHJlcVNlcTsKLX07Ci0KLXBhcnRpYWwgZGljdGlvbmFyeSBB
IHsKLSAgbG9uZyBoOwotICBsb25nIGQ7Ci19OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL2RvY3VtZW50YXRpb24tZG9zLndpZGwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9kb2N1bWVudGF0aW9uLWRvcy53aWRsCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCBmYjgwMTEwMWYxNC4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3N5bnRheC9pZGwvZG9jdW1lbnRhdGlvbi1kb3Mud2lkbAorKysgL2Rldi9udWxsCkBAIC0x
LDMzICswLDAgQEAKLS8qKgotKiBcYnJpZWYgVGVzdGluZyBkb2N1bWVudGF0aW9uIGZlYXR1cmVz
Ci0qCi0qIFRoaXMgaXMgYQotKiBzaW5nbGUgcGFyYWdyYXBoCi0qCi0qIDxwPlRoaXMgaXMgdmFs
aWQuPC9wPgotKiA8cD5UaGlzIGlzIDxlbT52YWxpZDwvZW0+LjwvcD4KLSogPHA+VGhpcyBpcyA8
Yj52YWxpZDwvYj4uPC9wPgotKiA8cD5UaGlzIGlzIDxhIGhyZWY9Jyc+dmFsaWQ8L2E+LjwvcD4K
LSogPHVsPgotKiA8bGk+VGhpczwvbGk+Ci0qIDxsaT5pczwvbGk+Ci0qIDxsaT52YWxpZDwvbGk+
Ci0qIDwvdWw+Ci0qIDxkbD4KLSogPGR0PlRoaXM8L2R0PgotKiA8ZGQ+dmFsaWQ8L2RkPgotKiA8
L2RsPgotKiA8dGFibGU+Ci0qIDx0cj4KLSogPHRkPnRoaXM8L3RkPgotKiA8dGQ+aXM8L3RkPgot
KiA8L3RyPgotKiA8dHI+Ci0qIDx0ZD52YWxpZDwvdGQ+Ci0qIDwvdHI+Ci0qIDwvdGFibGU+Ci0q
IDxwPlRoaXMgaXMgPGJyPiB2YWxpZC48L3A+Ci0qIDxwPlRoaXMgaXMgPGJyIC8+IHZhbGlkLjwv
cD4KLSogPHA+VGhpcyBpcyA8YnIvPiB2YWxpZC48L3A+Ci0qLwotaW50ZXJmYWNlIERvY3VtZW50
YXRpb24ge307ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3N5bnRheC9pZGwvZG9jdW1lbnRhdGlvbi53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwv
ZG9jdW1lbnRhdGlvbi53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDNlOTIy
NmY2Ny4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvZG9jdW1lbnRhdGlv
bi53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsMzQgKzAsMCBAQAotLyoqCi0qIFxicmllZiBUZXN0
aW5nIGRvY3VtZW50YXRpb24gZmVhdHVyZXMKLSoKLSogVGhpcyBpcyBhCi0qIHNpbmdsZSBwYXJh
Z3JhcGgKLSoKLSogPHA+VGhpcyBpcyB2YWxpZC48L3A+Ci0qIDxwPlRoaXMgaXMgPGVtPnZhbGlk
PC9lbT4uPC9wPgotKiA8cD5UaGlzIGlzIDxiPnZhbGlkPC9iPi48L3A+Ci0qIDxwPlRoaXMgaXMg
PGEgaHJlZj0nJz52YWxpZDwvYT4uPC9wPgotKiA8dWw+Ci0qIDxsaT5UaGlzPC9saT4KLSogPGxp
PmlzPC9saT4KLSogPGxpPnZhbGlkPC9saT4KLSogPC91bD4KLSogPGRsPgotKiA8ZHQ+VGhpczwv
ZHQ+Ci0qIDxkZD52YWxpZDwvZGQ+Ci0qIDwvZGw+Ci0qIDx0YWJsZT4KLSogPHRyPgotKiA8dGQ+
dGhpczwvdGQ+Ci0qIDx0ZD5pczwvdGQ+Ci0qIDwvdHI+Ci0qIDx0cj4KLSogPHRkPnZhbGlkPC90
ZD4KLSogPC90cj4KLSogPC90YWJsZT4KLSogPHA+VGhpcyBpcyA8YnI+IHZhbGlkLjwvcD4KLSog
PHA+VGhpcyBpcyA8YnIgLz4gdmFsaWQuPC9wPgotKiA8cD5UaGlzIGlzIDxici8+IHZhbGlkLjwv
cD4KLSogPHA+PGltZyBzcmM9ImZvby5wbmciIGFsdD0iVmFsaWQiLz48L3A+Ci0qLwotaW50ZXJm
YWNlIERvY3VtZW50YXRpb24ge307ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvZW51bS53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9p
ZGwvZW51bS53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzN2M0ZmZkZGVlMy4u
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvZW51bS53aWRsCisrKyAvZGV2
L251bGwKQEAgLTEsMTAgKzAsMCBAQAotZW51bSBNZWFsVHlwZSB7ICJyaWNlIiwgIm5vb2RsZXMi
LCAib3RoZXIiIH07Ci0KLWludGVyZmFjZSBNZWFsIHsKLSAgYXR0cmlidXRlIE1lYWxUeXBlIHR5
cGU7Ci0gIGF0dHJpYnV0ZSBmbG9hdCBzaXplOyAgICAgLy8gaW4gZ3JhbXMKLQotICB2b2lkIGlu
aXRpYWxpemUoTWVhbFR5cGUgdHlwZSwgZmxvYXQgc2l6ZSk7Ci19OwotCi1lbnVtIEFsdE1lYWxU
eXBlIHsgInJpY2UiLCAibm9vZGxlcyIsICJvdGhlciIsIH07ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvZXF1aXZhbGVudC1kZWNs
LndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9lcXVpdmFsZW50LWRlY2wud2lkbApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmZmZWIzYzIwYTEuLjAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC9zeW50YXgvaWRsL2VxdWl2YWxlbnQtZGVjbC53aWRsCisrKyAvZGV2L251bGwKQEAg
LTEsMTggKzAsMCBAQAotLy8gRXh0cmFjdGVkIGZyb20gaHR0cDovL2Rldi53My5vcmcvMjAwNi93
ZWJhcGkvV2ViSURMLyBvbiAyMDExLTA1LTA2Ci1pbnRlcmZhY2UgRGljdGlvbmFyeSB7Ci0gIHJl
YWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIHByb3BlcnR5Q291bnQ7Ci0KLSAgZ2V0dGVy
IGZsb2F0IGdldFByb3BlcnR5KERPTVN0cmluZyBwcm9wZXJ0eU5hbWUpOwotICBzZXR0ZXIgdm9p
ZCBzZXRQcm9wZXJ0eShET01TdHJpbmcgcHJvcGVydHlOYW1lLCBmbG9hdCBwcm9wZXJ0eVZhbHVl
KTsKLX07Ci0KLQotaW50ZXJmYWNlIERpY3Rpb25hcnkyIHsKLSAgcmVhZG9ubHkgYXR0cmlidXRl
IHVuc2lnbmVkIGxvbmcgcHJvcGVydHlDb3VudDsKLQotICBmbG9hdCBnZXRQcm9wZXJ0eShET01T
dHJpbmcgcHJvcGVydHlOYW1lKTsKLSAgdm9pZCBzZXRQcm9wZXJ0eShET01TdHJpbmcgcHJvcGVy
dHlOYW1lLCBmbG9hdCBwcm9wZXJ0eVZhbHVlKTsKLQotICBnZXR0ZXIgZmxvYXQgKERPTVN0cmlu
ZyBwcm9wZXJ0eU5hbWUpOwotICBzZXR0ZXIgdm9pZCAoRE9NU3RyaW5nIHByb3BlcnR5TmFtZSwg
ZmxvYXQgcHJvcGVydHlWYWx1ZSk7Ci19OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL2V4dGVuZGVkLWF0dHJpYnV0ZXMud2lkbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC9zeW50YXgvaWRsL2V4dGVuZGVkLWF0dHJpYnV0ZXMud2lkbApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggNTdkNGY5N2RlN2MuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC9zeW50YXgvaWRsL2V4dGVuZGVkLWF0dHJpYnV0ZXMud2lkbAorKysgL2Rldi9udWxsCkBA
IC0xLDI5ICswLDAgQEAKLS8vIEV4dHJhY3RlZCBmcm9tIGh0dHA6Ly93d3cudzMub3JnL1RSLzIw
MTUvV0Qtc2VydmljZS13b3JrZXJzLTIwMTUwMjA1LwotCi1bR2xvYmFsPShXb3JrZXIsU2Vydmlj
ZVdvcmtlciksIEV4cG9zZWQ9U2VydmljZVdvcmtlcl0KLWludGVyZmFjZSBTZXJ2aWNlV29ya2Vy
R2xvYmFsU2NvcGUgOiBXb3JrZXJHbG9iYWxTY29wZSB7Ci0KLX07Ci0KLS8vIENvbmZvcm1hbmNl
IHdpdGggRXh0ZW5kZWRBdHRyaWJ1dGVMaXN0IGdyYW1tYXIgaW4gaHR0cDovL3d3dy53My5vcmcv
VFIvV2ViSURMLyNpZGwtZXh0ZW5kZWQtYXR0cmlidXRlcwotLy8gU2VjdGlvbiAzLjExCi1bSW50
QXR0cj0wLCBGbG9hdEF0dHI9My4xNCwgU3RyaW5nQXR0cj0iYWJjIl0KLWludGVyZmFjZSBJZElu
dGVyZmFjZSB7fTsKLQotLy8gRXh0cmFjdGVkIGZyb20gaHR0cDovL3d3dy53My5vcmcvVFIvMjAx
Ni9SRUMtV2ViSURMLTEtMjAxNjEyMTUvI0NvbnN0cnVjdG9yIG9uIDIwMTctNS0xOCB3aXRoIHdo
aXRlc3BhY2UgZGlmZmVyZW5jZXMKLVsKLSAgQ29uc3RydWN0b3IsCi0gIENvbnN0cnVjdG9yKGRv
dWJsZSByYWRpdXMpCi1dCi1pbnRlcmZhY2UgQ2lyY2xlIHsKLSAgYXR0cmlidXRlIGRvdWJsZSBy
OwotICBhdHRyaWJ1dGUgZG91YmxlIGN4OwotICBhdHRyaWJ1dGUgZG91YmxlIGN5OwotICByZWFk
b25seSBhdHRyaWJ1dGUgZG91YmxlIGNpcmN1bWZlcmVuY2U7Ci19OwotCi0vLyBFeHRyYWN0ZWQg
ZnJvbSBodHRwczovL2hleWNhbS5naXRodWIuaW8vd2ViaWRsLyNpZGwtYW5ub3RhdGVkLXR5cGVz
IG9uIDIwMTctMTItMTUKLVtFeHBvc2VkPVdpbmRvd10KLWludGVyZmFjZSBJIHsKLSAgICBhdHRy
aWJ1dGUgW1hBdHRyXSAobG9uZyBvciBOb2RlKSBhdHRyaWI7Ci19OwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L3N5bnRheC9pZGwvZ2VuZXJpYy53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvZ2Vu
ZXJpYy53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2OTNjZDMyNGU5Ni4uMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvZ2VuZXJpYy53aWRsCisrKyAvZGV2
L251bGwKQEAgLTEsMTcgKzAsMCBAQAotaW50ZXJmYWNlIEZvbyB7Ci0gIFByb21pc2U8UHJvbWlz
ZTxzZXF1ZW5jZTxET01TdHJpbmc/Pj4+IGJhcigpOwotICByZWFkb25seSBhdHRyaWJ1dGUgUHJv
bWlzZTxET01TdHJpbmc+IGJhejsKLX07Ci0KLS8vIEV4dHJhY3RlZCBmcm9tIGh0dHBzOi8vc2xp
Z2h0bHlvZmYuZ2l0aHViLmlvL1NlcnZpY2VXb3JrZXIvc3BlYy9zZXJ2aWNlX3dvcmtlci8gb24g
MjAxNC0wNS0wOAotCi1pbnRlcmZhY2UgU2VydmljZVdvcmtlckNsaWVudHMgewotICBQcm9taXNl
PENsaWVudD8+IGdldFNlcnZpY2VkKCk7Ci0gIFByb21pc2U8YW55PiByZWxvYWRBbGwoKTsKLX07
Ci0KLS8vIEV4dHJhY3RlZCBmcm9tIGh0dHBzOi8vc2xpZ2h0bHlvZmYuZ2l0aHViLmlvL1NlcnZp
Y2VXb3JrZXIvc3BlYy9zZXJ2aWNlX3dvcmtlci8gb24gMjAxNC0wNS0xMwotCi1pbnRlcmZhY2Ug
RmV0Y2hFdmVudCA6IEV2ZW50IHsKLSAgUHJvbWlzZTxhbnk+IGRlZmF1bHQoKTsKLX07CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9nZXR0ZXItc2V0dGVyLndpZGwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvc3ludGF4L2lkbC9nZXR0ZXItc2V0dGVyLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IGJkZjg3ZTFjN2M3Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lk
bC9nZXR0ZXItc2V0dGVyLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSw3ICswLDAgQEAKLS8vIEV4
dHJhY3RlZCBmcm9tIGh0dHA6Ly9kZXYudzMub3JnLzIwMDYvd2ViYXBpL1dlYklETC8gb24gMjAx
MS0wNS0wNgotaW50ZXJmYWNlIERpY3Rpb25hcnkgewotICByZWFkb25seSBhdHRyaWJ1dGUgdW5z
aWduZWQgbG9uZyBwcm9wZXJ0eUNvdW50OwotCi0gIGdldHRlciBmbG9hdCAoRE9NU3RyaW5nIHBy
b3BlcnR5TmFtZSk7Ci0gIHNldHRlciB2b2lkIChET01TdHJpbmcgcHJvcGVydHlOYW1lLCBmbG9h
dCBwcm9wZXJ0eVZhbHVlKTsKLX07ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvaWRlbnRpZmllci1xdWFsaWZpZWQtbmFtZXMud2lk
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL2lkZW50aWZpZXItcXVhbGlmaWVkLW5hbWVzLndpZGwK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGMzOWY4NGI0NWEzLi4wMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9pZGVudGlmaWVyLXF1YWxpZmllZC1uYW1lcy53aWRs
CisrKyAvZGV2L251bGwKQEAgLTEsMzMgKzAsMCBAQAotLy8gRXh0cmFjdGVkIGZyb20gaHR0cDov
L2Rldi53My5vcmcvMjAwNi93ZWJhcGkvV2ViSURMLyBvbiAyMDExLTA1LTA2Ci0gIC8vIFR5cGVk
ZWYgaWRlbnRpZmllcjogIm51bWJlciIKLSAgLy8gUXVhbGlmaWVkIG5hbWU6ICAgICI6OmZyYW1l
d29yazo6bnVtYmVyIgotICB0eXBlZGVmIGZsb2F0IG51bWJlcjsKLQotICAvLyBJbnRlcmZhY2Ug
aWRlbnRpZmllcjogIlN5c3RlbSIKLSAgLy8gUXVhbGlmaWVkIG5hbWU6ICAgICAgICI6OmZyYW1l
d29yazo6U3lzdGVtIgotICBpbnRlcmZhY2UgU3lzdGVtIHsKLQotICAgIC8vIE9wZXJhdGlvbiBp
ZGVudGlmaWVyOiAgICAgICAgICAiY3JlYXRlT2JqZWN0IgotICAgIC8vIE9wZXJhdGlvbiBhcmd1
bWVudCBpZGVudGlmaWVyOiAiaW50ZXJmYWNlIgotICAgIG9iamVjdCBjcmVhdGVPYmplY3QoRE9N
U3RyaW5nIF9pbnRlcmZhY2UpOwotCi0gICAgLy8gT3BlcmF0aW9uIGhhcyBubyBpZGVudGlmaWVy
OyBpdCBkZWNsYXJlcyBhIGdldHRlci4KLSAgICBnZXR0ZXIgRE9NU3RyaW5nIChET01TdHJpbmcg
a2V5TmFtZSk7Ci0gIH07Ci0KLQotICAgIC8vIEludGVyZmFjZSBpZGVudGlmaWVyOiAiVGV4dEZp
ZWxkIgotICAgIC8vIFF1YWxpZmllZCBuYW1lOiAgICAgICAiOjpmcmFtZXdvcms6Omd1aTo6VGV4
dEZpZWxkIgotICAgIGludGVyZmFjZSBUZXh0RmllbGQgewotCi0gICAgICAvLyBBdHRyaWJ1dGUg
aWRlbnRpZmllcjogImNvbnN0IgotICAgICAgYXR0cmlidXRlIGJvb2xlYW4gX2NvbnN0OwotCi0g
ICAgICAvLyBBdHRyaWJ1dGUgaWRlbnRpZmllcjogInZhbHVlIgotICAgICAgYXR0cmlidXRlIERP
TVN0cmluZz8gX3ZhbHVlOwotICAgIH07Ci0KLWludGVyZmFjZSBGb29FdmVudFRhcmdldCB7Ci0g
IC8vIEFyZ3VtZW50IG5hbWVzIGFsbG93IHNvbWUgc2VsZWN0ZWQga2V5d29yZHMKLSAgdm9pZCBh
ZGRFdmVudExpc3RlbmVyKEV2ZW50TGlzdGVuZXI/IGNhbGxiYWNrKTsKLX07CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9pbXBsZW1lbnRzLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4
L2lkbC9pbXBsZW1lbnRzLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDdhMzEw
OTI2ZjFjLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9pbXBsZW1lbnRz
LndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSwxNCArMCwwIEBACi0vLyBFeHRyYWN0ZWQgZnJvbSBo
dHRwOi8vZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJJREwvIG9uIDIwMTEtMDUtMDYKLSAgaW50
ZXJmYWNlIE5vZGUgewotICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBzaG9ydCBub2Rl
VHlwZTsKLSAgICAvLyAuLi4KLSAgfTsKLQotICBpbnRlcmZhY2UgRXZlbnRUYXJnZXQgewotICAg
IHZvaWQgYWRkRXZlbnRMaXN0ZW5lcihET01TdHJpbmcgdHlwZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgRXZlbnRMaXN0ZW5lciBsaXN0ZW5lciwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgYm9vbGVhbiB1c2VDYXB0dXJlKTsKLSAgICAvLyAuLi4KLSAgfTsKLQotICBOb2RlIGltcGxl
bWVudHMgRXZlbnRUYXJnZXQ7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9pbmRl
eGVkLXByb3BlcnRpZXMud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL2luZGV4ZWQtcHJvcGVy
dGllcy53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0YjhhYTllMzUzZi4uMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvaW5kZXhlZC1wcm9wZXJ0aWVzLndp
ZGwKKysrIC9kZXYvbnVsbApAQCAtMSwxMiArMCwwIEBACi0vLyBFeHRyYWN0ZWQgZnJvbSBodHRw
Oi8vZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJJREwvIG9uIDIwMTEtMDUtMDYKLWludGVyZmFj
ZSBPcmRlcmVkTWFwIHsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgc2l6ZTsK
LQotICBnZXR0ZXIgYW55IGdldEJ5SW5kZXgodW5zaWduZWQgbG9uZyBpbmRleCk7Ci0gIHNldHRl
ciB2b2lkIHNldEJ5SW5kZXgodW5zaWduZWQgbG9uZyBpbmRleCwgYW55IHZhbHVlKTsKLSAgZGVs
ZXRlciB2b2lkIHJlbW92ZUJ5SW5kZXgodW5zaWduZWQgbG9uZyBpbmRleCk7Ci0KLSAgZ2V0dGVy
IGFueSBnZXQoRE9NU3RyaW5nIG5hbWUpOwotICBzZXR0ZXIgdm9pZCBzZXQoRE9NU3RyaW5nIG5h
bWUsIGFueSB2YWx1ZSk7Ci0gIGRlbGV0ZXIgdm9pZCByZW1vdmUoRE9NU3RyaW5nIG5hbWUpOwot
fTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL2luaGVyaXRzLWdldHRlci53aWRs
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvaW5oZXJpdHMtZ2V0dGVyLndpZGwKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDQzNWIzYWIzYzhjLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvc3ludGF4L2lkbC9pbmhlcml0cy1nZXR0ZXIud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDIy
ICswLDAgQEAKLWludGVyZmFjZSBBbmltYWwgewotCi0gIC8vIEEgc2ltcGxlIGF0dHJpYnV0ZSB0
aGF0IGNhbiBiZSBzZXQgdG8gYW55IHN0cmluZyB2YWx1ZS4KLSAgcmVhZG9ubHkgYXR0cmlidXRl
IERPTVN0cmluZyBuYW1lOwotfTsKLQotaW50ZXJmYWNlIFBlcnNvbiA6IEFuaW1hbCB7Ci0KLSAg
Ly8gQW4gYXR0cmlidXRlIHdob3NlIHZhbHVlIGNhbm5vdCBiZSBhc3NpZ25lZCB0by4KLSAgcmVh
ZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIHNob3J0IGFnZTsKLQotICAvLyBBbiBhdHRyaWJ1dGUg
dGhhdCBjYW4gcmFpc2UgYW4gZXhjZXB0aW9uIGlmIGl0IGlzIHNldCB0byBhbiBpbnZhbGlkIHZh
bHVlLgotICAvLyBJdHMgZ2V0dGVyIGJlaGF2aW9yIGlzIGluaGVyaXRlZCBmcm9tIEFuaW1hbCwg
YW5kIG5lZWQgbm90IGJlIHNwZWNpZmllZAotICAvLyB0aGUgZGVzY3JpcHRpb24gb2YgUGVyc29u
LgotICBpbmhlcml0IGF0dHJpYnV0ZSBET01TdHJpbmcgbmFtZTsKLX07Ci0KLWludGVyZmFjZSBH
aG9zdCA6IFBlcnNvbiB7Ci0KLSAgLy8gQW4gYXR0cmlidXRlIHRoYXQgb25seSBpbmhlcml0cyB0
aGUgZ2V0dGVyIGJlaGF2aW9yCi0gIGluaGVyaXQgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmlu
ZyBuYW1lOwotfTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL2ludGVyZmFjZS1p
bmhlcml0cy53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvaW50ZXJmYWNlLWluaGVyaXRzLndp
ZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDc5MjFkZWY3NzI3Li4wMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9pbnRlcmZhY2UtaW5oZXJpdHMud2lkbAorKysg
L2Rldi9udWxsCkBAIC0xLDEyICswLDAgQEAKLS8vIEV4dHJhY3RlZCBmcm9tIGh0dHA6Ly9kZXYu
dzMub3JnLzIwMDYvd2ViYXBpL1dlYklETC8gb24gMjAxMS0wNS0wNgotaW50ZXJmYWNlIEFuaW1h
bCB7Ci0gIGF0dHJpYnV0ZSBET01TdHJpbmcgbmFtZTsKLX07Ci0KLWludGVyZmFjZSBIdW1hbiA6
IEFuaW1hbCB7Ci0gIGF0dHJpYnV0ZSBEb2cgcGV0OwotfTsKLQotaW50ZXJmYWNlIERvZyA6IEFu
aW1hbCB7Ci0gIGF0dHJpYnV0ZSBIdW1hbiBvd25lcjsKLX07ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvaXRlcmFibGUud2lkbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC9zeW50YXgvaWRsL2l0ZXJhYmxlLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDdmNzI2ZjkyNmZkLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4
L2lkbC9pdGVyYWJsZS53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsMTEgKzAsMCBAQAotaW50ZXJm
YWNlIEl0ZXJhYmxlT25lIHsKLSAgaXRlcmFibGU8bG9uZz47Ci19OwotCi1pbnRlcmZhY2UgSXRl
cmFibGVUd28gewotICBpdGVyYWJsZTxzaG9ydCwgZG91YmxlPz47Ci19OwotCi1pbnRlcmZhY2Ug
SXRlcmFibGVUaHJlZSB7Ci0gIGl0ZXJhYmxlPFtYQXR0cl0gbG9uZz47Ci19OwpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL2xlZ2Fj
eWl0ZXJhYmxlLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9sZWdhY3lpdGVyYWJsZS53aWRs
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5ZTFlOWM1Mjc0NC4uMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvbGVnYWN5aXRlcmFibGUud2lkbAorKysgL2Rldi9u
dWxsCkBAIC0xLDMgKzAsMCBAQAotaW50ZXJmYWNlIExlZ2FjeUl0ZXJhYmxlIHsKLSAgbGVnYWN5
aXRlcmFibGU8bG9uZz47Ci19OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvbWFw
bGlrZS53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvbWFwbGlrZS53aWRsCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCA0MzdlMzgxZmVmNy4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3N5bnRheC9pZGwvbWFwbGlrZS53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsMTMgKzAsMCBA
QAotaW50ZXJmYWNlIE1hcExpa2UgewotICBtYXBsaWtlPGxvbmcsIGZsb2F0PjsKLX07Ci0KLWlu
dGVyZmFjZSBSZWFkT25seU1hcExpa2UgewotICByZWFkb25seSBtYXBsaWtlPGxvbmcsIGZsb2F0
PjsKLX07Ci0KLS8vIEV4dHJhY3RlZCBmcm9tIGh0dHBzOi8vaGV5Y2FtLmdpdGh1Yi5pby93ZWJp
ZGwvI2lkbC10eXBlLWV4dGVuZGVkLWF0dHJpYnV0ZS1hc3NvY2lhdGVkLXdpdGggb24gMjAxNy0w
Ny0wMQotCi1pbnRlcmZhY2UgSSB7Ci0gICAgbWFwbGlrZTxbWEF0dHIyXSBET01TdHJpbmcsIFtY
QXR0cjNdIGxvbmc+OwotfTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL21peGlu
LndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9taXhpbi53aWRsCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCA3YzM3YTZlZTQyMC4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5
bnRheC9pZGwvbWl4aW4ud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDEyICswLDAgQEAKLS8vIEV4
dHJhY3RlZCBmcm9tIGh0dHBzOi8vaGV5Y2FtLmdpdGh1Yi5pby93ZWJpZGwvI3VzaW5nLW1peGlu
cy1hbmQtcGFydGlhbHMgb24gMjAxNy0xMS0wMgotCi1pbnRlcmZhY2UgbWl4aW4gR2xvYmFsQ3J5
cHRvIHsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIENyeXB0byBjcnlwdG87Ci19OwotCi1XaW5kb3cg
aW5jbHVkZXMgR2xvYmFsQ3J5cHRvOwotV29ya2VyR2xvYmFsU2NvcGUgaW5jbHVkZXMgR2xvYmFs
Q3J5cHRvOwotCi1wYXJ0aWFsIGludGVyZmFjZSBtaXhpbiBXaW5kb3dPcldvcmtlckdsb2JhbFNj
b3BlIHsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIENyeXB0byBjcnlwdG87Ci19OwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvbmFtZWRjb25zdHJ1Y3Rvci53aWRsIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3N5bnRheC9pZGwvbmFtZWRjb25zdHJ1Y3Rvci53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCBjNDY4Yjc4ZjhlMS4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9p
ZGwvbmFtZWRjb25zdHJ1Y3Rvci53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsNiArMCwwIEBACi0v
LyBFeHRyYWN0ZWQgZnJvbSBodHRwOi8vZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJJREwvIG9u
IDIwMTEtMDUtMDYKLVtOYW1lZENvbnN0cnVjdG9yPUF1ZGlvLAotIE5hbWVkQ29uc3RydWN0b3I9
QXVkaW8oRE9NU3RyaW5nIHNyYyldCi1pbnRlcmZhY2UgSFRNTEF1ZGlvRWxlbWVudCA6IEhUTUxN
ZWRpYUVsZW1lbnQgewotICAvLyAuLi4KLX07ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvbmFtZXNwYWNlLndpZGwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvc3ludGF4L2lkbC9uYW1lc3BhY2Uud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggZDk2MTA1NTVlMTcuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL25h
bWVzcGFjZS53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsMTAgKzAsMCBAQAotLy8gRXh0cmFjdGVk
IGZyb20gV2ViIElETCBlZGl0b3JzIGRyYWZ0IE1hcmNoIDI3IDIwMTcKLW5hbWVzcGFjZSBWZWN0
b3JVdGlscyB7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSBWZWN0b3IgdW5pdDsKLSAgZG91YmxlIGRv
dFByb2R1Y3QoVmVjdG9yIHgsIFZlY3RvciB5KTsKLSAgVmVjdG9yIGNyb3NzUHJvZHVjdChWZWN0
b3IgeCwgVmVjdG9yIHkpOwotfTsKLQotcGFydGlhbCBuYW1lc3BhY2UgU29tZU5hbWVzcGFjZSB7
Ci0gIC8qIG5hbWVzcGFjZV9tZW1iZXJzLi4uICovCi19OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL25vaW50ZXJmYWNlb2JqZWN0
LndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9ub2ludGVyZmFjZW9iamVjdC53aWRsCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjMTdkNzVmZjhmZC4uMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3N5bnRheC9pZGwvbm9pbnRlcmZhY2VvYmplY3Qud2lkbAorKysgL2Rldi9udWxs
CkBAIC0xLDUgKzAsMCBAQAotLy8gRXh0cmFjdGVkIGZyb20gaHR0cDovL2Rldi53My5vcmcvMjAw
Ni93ZWJhcGkvV2ViSURMLyBvbiAyMDExLTA1LTA2Ci1bTm9JbnRlcmZhY2VPYmplY3RdCi1pbnRl
cmZhY2UgUXVlcnkgewotICBhbnkgbG9va3VwRW50cnkodW5zaWduZWQgbG9uZyBrZXkpOwotfTsK
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4
L2lkbC9udWxsYWJsZS53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvbnVsbGFibGUud2lkbApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggY2NiZjYyNWZmOGEuLjAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL251bGxhYmxlLndpZGwKKysrIC9kZXYvbnVsbApAQCAt
MSw5ICswLDAgQEAKLS8vIEV4dHJhY3RlZCBmcm9tIGh0dHA6Ly9kZXYudzMub3JnLzIwMDYvd2Vi
YXBpL1dlYklETC8gb24gMjAxMS0wNS0wNgotaW50ZXJmYWNlIE15Q29uc3RhbnRzIHsKLSAgY29u
c3QgYm9vbGVhbj8gQVJFX1dFX1RIRVJFX1lFVCA9IGZhbHNlOwotfTsKLQotaW50ZXJmYWNlIE5v
ZGUgewotICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nPyBuYW1lc3BhY2VVUkk7Ci0gIC8v
IC4uLgotfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvc3ludGF4L2lkbC9udWxsYWJsZW9iamVjdHMud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRs
L251bGxhYmxlb2JqZWN0cy53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4M2Qx
ZDQwYjJhYy4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvbnVsbGFibGVv
YmplY3RzLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSwxMyArMCwwIEBACi0vLyBFeHRyYWN0ZWQg
ZnJvbSBXZWJJREwgc3BlYyAyMDExLTA1LTIzCi0KLWludGVyZmFjZSBBIHsKLSAgLy8gLi4uCi19
OwotaW50ZXJmYWNlIEIgewotICAvLyAuLi4KLX07Ci1pbnRlcmZhY2UgQyB7Ci0gIHZvaWQgZihB
PyB4KTsKLSAgdm9pZCBmKEI/IHgpOwotCi19OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL29wZXJhdGlvbi1vcHRpb25hbC1hcmcu
d2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL29wZXJhdGlvbi1vcHRpb25hbC1hcmcud2lkbApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzc5MDUzYjQ1ZjEuLjAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL29wZXJhdGlvbi1vcHRpb25hbC1hcmcud2lkbAorKysg
L2Rldi9udWxsCkBAIC0xLDQgKzAsMCBAQAotLy8gRXh0cmFjdGVkIGZyb20gaHR0cDovL2Rldi53
My5vcmcvMjAwNi93ZWJhcGkvV2ViSURMLyBvbiAyMDExLTA1LTA2Ci1pbnRlcmZhY2UgQ29sb3JD
cmVhdG9yIHsKLSAgb2JqZWN0IGNyZWF0ZUNvbG9yKGZsb2F0IHYxLCBmbG9hdCB2MiwgZmxvYXQg
djMsIG9wdGlvbmFsIGZsb2F0IGFscGhhID0gMy41KTsKLX07ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvb3ZlcmxvYWRpbmcud2lk
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL292ZXJsb2FkaW5nLndpZGwKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDUyZDhkMTVjMWExLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
c3ludGF4L2lkbC9vdmVybG9hZGluZy53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsMjAgKzAsMCBA
QAotLy8gRXh0cmFjdGVkIGZyb20gaHR0cDovL2Rldi53My5vcmcvMjAwNi93ZWJhcGkvV2ViSURM
LyBvbiAyMDExLTA1LTA2Ci1pbnRlcmZhY2UgQSB7Ci0gIC8vIC4uLgotfTsKLQotaW50ZXJmYWNl
IEIgewotICAvLyAuLi4KLX07Ci0KLWludGVyZmFjZSBDIHsKLSAgdm9pZCBmKEEgeCk7Ci0gIHZv
aWQgZihCIHgpOwotfTsKLQotaW50ZXJmYWNlIEQgewotICAvKiBmMSAqLyB2b2lkIGYoRE9NU3Ry
aW5nIGEpOwotICAvKiBmMiAqLyB2b2lkIGYoW0FsbG93QW55XSBET01TdHJpbmcgYSwgRE9NU3Ry
aW5nIGIsIGZsb2F0Li4uIGMpOwotICAvKiBmMyAqLyB2b2lkIGYoKTsKLSAgLyogZjQgKi8gdm9p
ZCBmKGxvbmcgYSwgRE9NU3RyaW5nIGIsIG9wdGlvbmFsIERPTVN0cmluZyBjLCBmbG9hdC4uLiBk
KTsKLX07CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9vdmVycmlkZWJ1aWx0aW5z
LndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9vdmVycmlkZWJ1aWx0aW5zLndpZGwKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDc5MjExYzI5ZTg0Li4wMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3Qvc3ludGF4L2lkbC9vdmVycmlkZWJ1aWx0aW5zLndpZGwKKysrIC9kZXYvbnVsbApA
QCAtMSw2ICswLDAgQEAKLS8vIEV4dHJhY3RlZCBmcm9tIGh0dHA6Ly9kZXYudzMub3JnLzIwMDYv
d2ViYXBpL1dlYklETC8gb24gMjAxMS0wNS0wNgotW092ZXJyaWRlQnVpbHRpbnNdCi1pbnRlcmZh
Y2UgU3RyaW5nTWFwMiB7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxlbmd0
aDsKLSAgZ2V0dGVyIERPTVN0cmluZyBsb29rdXAoRE9NU3RyaW5nIGtleSk7Ci19OwpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL3Bh
cnRpYWwtaW50ZXJmYWNlLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9wYXJ0aWFsLWludGVy
ZmFjZS53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5MGU3ZTBlYTQyMS4uMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvcGFydGlhbC1pbnRlcmZhY2Uud2lk
bAorKysgL2Rldi9udWxsCkBAIC0xLDcgKzAsMCBAQAotaW50ZXJmYWNlIEZvbyB7Ci0gIGF0dHJp
YnV0ZSBET01TdHJpbmcgYmFyOwotfTsKLQotcGFydGlhbCBpbnRlcmZhY2UgRm9vIHsKLSAgYXR0
cmlidXRlIERPTVN0cmluZyBxdXV4OwotfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9wcmltaXRpdmVzLndpZGwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvc3ludGF4L2lkbC9wcmltaXRpdmVzLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IGE5MTQ1NWVlMTkyLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9w
cmltaXRpdmVzLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSwxOSArMCwwIEBACi1pbnRlcmZhY2Ug
UHJpbWl0aXZlcyB7Ci0gIGF0dHJpYnV0ZSBib29sZWFuIHRydXRoOwotICBhdHRyaWJ1dGUgYnl0
ZSBjaGFyYWN0ZXI7Ci0gIGF0dHJpYnV0ZSBvY3RldCB2YWx1ZTsKLSAgYXR0cmlidXRlIHNob3J0
IG51bWJlcjsKLSAgYXR0cmlidXRlIHVuc2lnbmVkIHNob3J0IHBvc2l0aXZlOwotICBhdHRyaWJ1
dGUgbG9uZyBiaWc7Ci0gIGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGJpZ3Bvc2l0aXZlOwotICBh
dHRyaWJ1dGUgbG9uZyBsb25nIGJpZ2JpZzsKLSAgYXR0cmlidXRlICB1bnNpZ25lZCBsb25nIGxv
bmcgYmlnYmlncG9zaXRpdmU7Ci0gIGF0dHJpYnV0ZSBmbG9hdCByZWFsOwotICBhdHRyaWJ1dGUg
ZG91YmxlIGJpZ3JlYWw7Ci0gIGF0dHJpYnV0ZSB1bnJlc3RyaWN0ZWQgZmxvYXQgcmVhbHdpdGhp
bmZpbml0eTsKLSAgYXR0cmlidXRlIHVucmVzdHJpY3RlZCBkb3VibGUgYmlncmVhbHdpdGhpbmZp
bml0eTsKLSAgYXR0cmlidXRlIERPTVN0cmluZyBzdHJpbmc7Ci0gIGF0dHJpYnV0ZSBCeXRlU3Ry
aW5nIGJ5dGVzOwotICBhdHRyaWJ1dGUgRGF0ZSBkYXRlOwotICBhdHRyaWJ1dGUgUmVnRXhwIHJl
Z2V4cDsKLX07CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9wcm9taXNlLXZvaWQu
d2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL3Byb21pc2Utdm9pZC53aWRsCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCBjNGVhYzNiNzVjNC4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3N5bnRheC9pZGwvcHJvbWlzZS12b2lkLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSwzICsw
LDAgQEAKLWludGVyZmFjZSBDYXQgewotICAgIGF0dHJpYnV0ZSBQcm9taXNlPHZvaWQ+IG1lb3c7
Ci19OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvcHJvdG90eXBlcm9vdC53aWRs
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvcHJvdG90eXBlcm9vdC53aWRsCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAzMGRkNWNiY2ExMy4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3N5bnRheC9pZGwvcHJvdG90eXBlcm9vdC53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsNSArMCww
IEBACi0vLyBFeHRyYWN0ZWQgZnJvbSBodHRwOi8vZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJJ
REwvIG9uIDIwMTEtMDUtMDYKLVtQcm90b3R5cGVSb290XQotaW50ZXJmYWNlIE5vZGUgewotICBy
ZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgc2hvcnQgbm9kZVR5cGU7Ci19OwpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL3B1dGZv
cndhcmRzLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9wdXRmb3J3YXJkcy53aWRsCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxZTUwYTRlZTM5NC4uMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3N5bnRheC9pZGwvcHV0Zm9yd2FyZHMud2lkbAorKysgL2Rldi9udWxsCkBAIC0x
LDUgKzAsMCBAQAotLy8gRXh0cmFjdGVkIGZyb20gaHR0cDovL2Rldi53My5vcmcvMjAwNi93ZWJh
cGkvV2ViSURMLyBvbiAyMDExLTA1LTA2Ci1pbnRlcmZhY2UgUGVyc29uIHsKLSAgW1B1dEZvcndh
cmRzPWZ1bGxdIHJlYWRvbmx5IGF0dHJpYnV0ZSBOYW1lIG5hbWU7Ci0gIGF0dHJpYnV0ZSB1bnNp
Z25lZCBzaG9ydCBhZ2U7Ci19OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL3JlY29yZC53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9p
ZGwvcmVjb3JkLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRiZmFkM2FmYmZl
Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9yZWNvcmQud2lkbAorKysg
L2Rldi9udWxsCkBAIC0xLDkgKzAsMCBAQAotW0NvbnN0cnVjdG9yKHJlY29yZDxVU1ZTdHJpbmcs
IFVTVlN0cmluZz4gaW5pdCldCi1pbnRlcmZhY2UgRm9vIHsKLSAgdm9pZCBmb28oc2VxdWVuY2U8
cmVjb3JkPEJ5dGVTdHJpbmcsIGFueT4+IHBhcmFtKTsKLSAgcmVjb3JkPERPTVN0cmluZywgKGZs
b2F0IG9yIERPTVN0cmluZyk/PiBiYXIoKTsKLX07Ci0KLWludGVyZmFjZSBCYXIgewotICByZWNv
cmQ8RE9NU3RyaW5nLCBbWEF0dHJdIGZsb2F0PiBiYXIoKTsKLX07CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvc3ludGF4L2lkbC9yZWctb3BlcmF0aW9ucy53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9p
ZGwvcmVnLW9wZXJhdGlvbnMud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzM4
YzhkNDI3NjMuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL3JlZy1vcGVy
YXRpb25zLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSwxNSArMCwwIEBACi0vLyBFeHRyYWN0ZWQg
ZnJvbSBodHRwOi8vZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJJREwvIG9uIDIwMTEtMDUtMDYK
LWludGVyZmFjZSBEaW1lbnNpb25zIHsKLSAgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgd2lkdGg7
Ci0gIGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGhlaWdodDsKLX07Ci0KLWludGVyZmFjZSBCdXR0
b24gewotCi0gIC8vIEFuIG9wZXJhdGlvbiB0aGF0IHRha2VzIG5vIGFyZ3VtZW50cywgcmV0dXJu
cyBhIGJvb2xlYW4KLSAgYm9vbGVhbiBpc01vdXNlT3ZlcigpOwotCi0gIC8vIE92ZXJsb2FkZWQg
b3BlcmF0aW9ucy4KLSAgdm9pZCBzZXREaW1lbnNpb25zKERpbWVuc2lvbnMgc2l6ZSk7Ci0gIHZv
aWQgc2V0RGltZW5zaW9ucyh1bnNpZ25lZCBsb25nIHdpZHRoLCB1bnNpZ25lZCBsb25nIGhlaWdo
dCk7Ci19OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC9zeW50YXgvaWRsL3JlcGxhY2VhYmxlLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9yZXBs
YWNlYWJsZS53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjMTRkMGMzNzY4OS4u
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvcmVwbGFjZWFibGUud2lkbAor
KysgL2Rldi9udWxsCkBAIC0xLDUgKzAsMCBAQAotLy8gRXh0cmFjdGVkIGZyb20gaHR0cDovL2Rl
di53My5vcmcvMjAwNi93ZWJhcGkvV2ViSURMLyBvbiAyMDExLTA1LTA2Ci1pbnRlcmZhY2UgQ291
bnRlciB7Ci0gIFtSZXBsYWNlYWJsZV0gcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcg
dmFsdWU7Ci0gIHZvaWQgaW5jcmVtZW50KCk7Ci19OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL3NlcXVlbmNlLndpZGwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvc3ludGF4L2lkbC9zZXF1ZW5jZS53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCBiNDdjOTgyMjVjNy4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwv
c2VxdWVuY2Uud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDEzICswLDAgQEAKLS8vIEV4dHJhY3Rl
ZCBmcm9tIGh0dHA6Ly9kZXYudzMub3JnLzIwMDYvd2ViYXBpL1dlYklETC8gb24gMjAxMS0wNS0w
NgotLy8gZWRpdGVkIHRvIHJlbW92ZSBzZXF1ZW5jZSBhcyBhdHRyaWJ1dGVzLCBub3cgaW52YWxp
ZAotaW50ZXJmYWNlIENhbnZhcyB7Ci0gIHZvaWQgZHJhd1BvbHlnb24oc2VxdWVuY2U8ZmxvYXQ+
IGNvb3JkaW5hdGVzKTsKLSAgc2VxdWVuY2U8ZmxvYXQ+IGdldEluZmxlY3Rpb25Qb2ludHMoKTsK
LSAgLy8gLi4uCi19OwotCi0vLyBFeHRyYWN0ZWQgZnJvbSBodHRwczovL2hleWNhbS5naXRodWIu
aW8vd2ViaWRsLyNpZGwtdHlwZS1leHRlbmRlZC1hdHRyaWJ1dGUtYXNzb2NpYXRlZC13aXRoIG9u
IDIwMTctMDctMDEKLQotaW50ZXJmYWNlIEkgewotICAgIHZvaWQgZjEoc2VxdWVuY2U8W1hBdHRy
XSBsb25nPiBhcmcpOwotfTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL3NldGxp
a2Uud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL3NldGxpa2Uud2lkbApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggNDUxMmYyODZiNTkuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC9zeW50YXgvaWRsL3NldGxpa2Uud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDExICswLDAgQEAK
LWludGVyZmFjZSBTZXRMaWtlIHsKLSAgc2V0bGlrZTxsb25nPjsKLX07Ci0KLWludGVyZmFjZSBS
ZWFkT25seVNldExpa2UgewotICByZWFkb25seSBzZXRsaWtlPGxvbmc+OwotfTsKLQotaW50ZXJm
YWNlIFNldExpa2VFeHQgewotICBzZXRsaWtlPFtYQXR0cl0gbG9uZz47Ci19OwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvc3RhdGljLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lk
bC9zdGF0aWMud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNWIyY2QzNjU5MGYu
LjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL3N0YXRpYy53aWRsCisrKyAv
ZGV2L251bGwKQEAgLTEsMTEgKzAsMCBAQAotLy8gRXh0cmFjdGVkIGZyb20gaHR0cDovL2Rldi53
My5vcmcvMjAwNi93ZWJhcGkvV2ViSURMLyBvbiAyMDExLTA1LTA2Ci1pbnRlcmZhY2UgUG9pbnQg
eyAvKiAuLi4gKi8gfTsKLQotaW50ZXJmYWNlIENpcmNsZSB7Ci0gIGF0dHJpYnV0ZSBmbG9hdCBj
eDsKLSAgYXR0cmlidXRlIGZsb2F0IGN5OwotICBhdHRyaWJ1dGUgZmxvYXQgcmFkaXVzOwotCi0g
IHN0YXRpYyByZWFkb25seSBhdHRyaWJ1dGUgbG9uZyB0cmlhbmd1bGF0aW9uQ291bnQ7Ci0gIHN0
YXRpYyBQb2ludCB0cmlhbmd1bGF0ZShDaXJjbGUgYzEsIENpcmNsZSBjMiwgQ2lyY2xlIGMzKTsK
LX07ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5
bnRheC9pZGwvc3RyaW5naWZpZXItYXR0cmlidXRlLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lk
bC9zdHJpbmdpZmllci1hdHRyaWJ1dGUud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggYzk2NGVjYjkzZTYuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL3N0
cmluZ2lmaWVyLWF0dHJpYnV0ZS53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsNiArMCwwIEBACi0v
LyBFeHRyYWN0ZWQgZnJvbSBodHRwOi8vZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJJREwvIG9u
IDIwMTEtMDUtMDYKLVtDb25zdHJ1Y3Rvcl0KLWludGVyZmFjZSBTdHVkZW50IHsKLSAgYXR0cmli
dXRlIHVuc2lnbmVkIGxvbmcgaWQ7Ci0gIHN0cmluZ2lmaWVyIGF0dHJpYnV0ZSBET01TdHJpbmcg
bmFtZTsKLX07ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3N5bnRheC9pZGwvc3RyaW5naWZpZXItY3VzdG9tLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4
L2lkbC9zdHJpbmdpZmllci1jdXN0b20ud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggYjVkN2M4N2U3ZjQuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL3N0
cmluZ2lmaWVyLWN1c3RvbS53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsOSArMCwwIEBACi0vLyBF
eHRyYWN0ZWQgZnJvbSBodHRwOi8vZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJJREwvIG9uIDIw
MTEtMDUtMDYKLVtDb25zdHJ1Y3Rvcl0KLWludGVyZmFjZSBTdHVkZW50IHsKLSAgYXR0cmlidXRl
IHVuc2lnbmVkIGxvbmcgaWQ7Ci0gIGF0dHJpYnV0ZSBET01TdHJpbmc/IGZhbWlseU5hbWU7Ci0g
IGF0dHJpYnV0ZSBET01TdHJpbmcgZ2l2ZW5OYW1lOwotCi0gIHN0cmluZ2lmaWVyIERPTVN0cmlu
ZyAoKTsKLX07ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3N5bnRheC9pZGwvc3RyaW5naWZpZXIud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL3N0
cmluZ2lmaWVyLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM0NTI3N2VhOGRi
Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9zdHJpbmdpZmllci53aWRs
CisrKyAvZGV2L251bGwKQEAgLTEsOCArMCwwIEBACi0vLyBFeHRyYWN0ZWQgZnJvbSBodHRwOi8v
ZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJJREwvIG9uIDIwMTEtMDUtMDYKLWludGVyZmFjZSBB
IHsKLSAgc3RyaW5naWZpZXIgRE9NU3RyaW5nICgpOwotfTsKLQotaW50ZXJmYWNlIEIgewotICBz
dHJpbmdpZmllcjsKLX07ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3N5bnRheC9pZGwvdHJlYXRhc251bGwud2lkbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgv
aWRsL3RyZWF0YXNudWxsLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQzYzU1
YjAwOGMwLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC90cmVhdGFzbnVs
bC53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsNyArMCwwIEBACi0vLyBFeHRyYWN0ZWQgZnJvbSBo
dHRwOi8vZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJJREwvIG9uIDIwMTEtMDUtMDYKLWludGVy
ZmFjZSBEb2cgewotICBhdHRyaWJ1dGUgRE9NU3RyaW5nIG5hbWU7Ci0gIGF0dHJpYnV0ZSBET01T
dHJpbmcgb3duZXI7Ci0KLSAgYm9vbGVhbiBpc01lbWJlck9mQnJlZWQoW1RyZWF0TnVsbEFzPUVt
cHR5U3RyaW5nXSBET01TdHJpbmcgYnJlZWROYW1lKTsKLX07ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvdHJlYXRhc3VuZGVmaW5l
ZC53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvdHJlYXRhc3VuZGVmaW5lZC53aWRsCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlMzAwNTBmODQxMy4uMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3N5bnRheC9pZGwvdHJlYXRhc3VuZGVmaW5lZC53aWRsCisrKyAvZGV2L251bGwK
QEAgLTEsNyArMCwwIEBACi0vLyBFeHRyYWN0ZWQgZnJvbSBodHRwOi8vZGV2LnczLm9yZy8yMDA2
L3dlYmFwaS9XZWJJREwvIG9uIDIwMTEtMDUtMDYKLWludGVyZmFjZSBDYXQgewotICBhdHRyaWJ1
dGUgRE9NU3RyaW5nIG5hbWU7Ci0gIGF0dHJpYnV0ZSBET01TdHJpbmcgb3duZXI7Ci0KLSAgYm9v
bGVhbiBpc01lbWJlck9mQnJlZWQoW1RyZWF0VW5kZWZpbmVkQXM9RW1wdHlTdHJpbmddIERPTVN0
cmluZyBicmVlZE5hbWUpOwotfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC90eXBlZGVmLXVuaW9uLndpZGwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
c3ludGF4L2lkbC90eXBlZGVmLXVuaW9uLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDMwNDg3MDNlMGM1Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC90
eXBlZGVmLXVuaW9uLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSw0ICswLDAgQEAKLSAgdHlwZWRl
ZiAoSW1hZ2VEYXRhIG9yCi0gICAgICAgICAgIEhUTUxJbWFnZUVsZW1lbnQgb3IKLSAgICAgICAg
ICAgSFRNTENhbnZhc0VsZW1lbnQgb3IKLSAgICAgICAgICAgSFRNTFZpZGVvRWxlbWVudCkgVGV4
SW1hZ2VTb3VyY2U7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC90eXBlZGVmLndp
ZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC90eXBlZGVmLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IGI0YzE3ZDhkMzZhLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3lu
dGF4L2lkbC90eXBlZGVmLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSwyMiArMCwwIEBACi0vLyBF
eHRyYWN0ZWQgZnJvbSBodHRwOi8vZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJJREwvIG9uIDIw
MTEtMDUtMDYKLSAgICAgIGludGVyZmFjZSBQb2ludCB7Ci0gICAgICAgIGF0dHJpYnV0ZSBmbG9h
dCB4OwotICAgICAgICBhdHRyaWJ1dGUgZmxvYXQgeTsKLSAgICAgIH07Ci0KLSAgICAgIHR5cGVk
ZWYgc2VxdWVuY2U8UG9pbnQ+IFBvaW50U2VxdWVuY2U7Ci0KLSAgICAgIGludGVyZmFjZSBSZWN0
IHsKLSAgICAgICAgYXR0cmlidXRlIFBvaW50IHRvcGxlZnQ7Ci0gICAgICAgIGF0dHJpYnV0ZSBQ
b2ludCBib3R0b21yaWdodDsKLSAgICAgIH07Ci0KLSAgaW50ZXJmYWNlIFdpZGdldCB7Ci0KLSAg
ICByZWFkb25seSBhdHRyaWJ1dGUgUmVjdCBib3VuZHM7Ci0KLSAgICBib29sZWFuIHBvaW50V2l0
aGluQm91bmRzKFBvaW50IHApOwotICAgIGJvb2xlYW4gYWxsUG9pbnRzV2l0aGluQm91bmRzKFBv
aW50U2VxdWVuY2UgcHMpOwotICB9OwotCi0gIHR5cGVkZWYgW0NsYW1wXSBvY3RldCB2YWx1ZTsK
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4
L2lkbC90eXBlc3VmZml4ZXMud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL3R5cGVzdWZmaXhl
cy53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiZWFhYTg3MjYwMC4uMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvdHlwZXN1ZmZpeGVzLndpZGwKKysrIC9k
ZXYvbnVsbApAQCAtMSwzICswLDAgQEAKLWludGVyZmFjZSBTdWZmaXhlcyB7Ci0gIHZvaWQgdGVz
dChzZXF1ZW5jZTxET01TdHJpbmc/Pj8gZm9vKTsKLX07CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
c3ludGF4L2lkbC91bmlvbnR5cGUud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL3VuaW9udHlw
ZS53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwZDVmZTliZTQyOC4uMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvdW5pb250eXBlLndpZGwKKysrIC9kZXYv
bnVsbApAQCAtMSw0ICswLDAgQEAKLWludGVyZmFjZSBVbmlvbiB7Ci0gYXR0cmlidXRlIChmbG9h
dCBvciAoRGF0ZSBvciBFdmVudCkgb3IgKE5vZGUgb3IgRE9NU3RyaW5nKT8pIHRlc3Q7Ci0gYXR0
cmlidXRlIChbRW5mb3JjZVJhbmdlXSBsb25nIG9yIERhdGUpIHRlc3QyOwotfTsKXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC92YXJp
YWRpYy1vcGVyYXRpb25zLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC92YXJpYWRpYy1vcGVy
YXRpb25zLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDUxZmFlNGNjMWVhLi4w
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC92YXJpYWRpYy1vcGVyYXRpb25z
LndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSw3ICswLDAgQEAKLS8vIEV4dHJhY3RlZCBmcm9tIGh0
dHA6Ly9kZXYudzMub3JnLzIwMDYvd2ViYXBpL1dlYklETC8gb24gMjAxMS0wNS0wNgotaW50ZXJm
YWNlIEludGVnZXJTZXQgewotICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBjYXJk
aW5hbGl0eTsKLQotICB2b2lkIHVuaW9uKGxvbmcuLi4gaW50cyk7Ci0gIHZvaWQgaW50ZXJzZWN0
aW9uKGxvbmcuLi4gaW50cyk7Ci19OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5
bnRheC9pZGwvdzNjLWltcG9ydC5sb2cKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQy
ZDFkNzYwZGYwLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC93M2MtaW1w
b3J0LmxvZworKysgL2Rldi9udWxsCkBAIC0xLDY4ICswLDAgQEAKLVRoZSB0ZXN0cyBpbiB0aGlz
IGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgotRG8gTk9U
IG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUg
YSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3dl
Yi1wbGF0Zm9ybS10ZXN0cy93cHQKLQotVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0
LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKLQotRG8gTk9UIG1vZGlmeSBvciByZW1v
dmUgdGhpcyBmaWxlLgotCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLVByb3BlcnRpZXMgcmVxdWlyaW5nIHZl
bmRvciBwcmVmaXhlczoKLU5vbmUKLVByb3BlcnR5IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9yIHBy
ZWZpeGVzOgotTm9uZQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1MaXN0IG9mIGZpbGVzOgotL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC9zeW50YXgvaWRsL2FsbG93YW55LndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9hdHRyaWJ1
dGVzLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9jYWxsYmFjay53aWRsCi0vTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3N5bnRheC9pZGwvY29uc3RhbnRzLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9jb25zdHJ1
Y3Rvci53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvZGljdGlvbmFyeS1pbmhlcml0cy53aWRs
Ci0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvZGljdGlvbmFyeS53aWRsCi0vTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRh
eC9pZGwvZG9jdW1lbnRhdGlvbi1kb3Mud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL2RvY3Vt
ZW50YXRpb24ud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL2VudW0ud2lkbAotL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC9zeW50YXgvaWRsL2VxdWl2YWxlbnQtZGVjbC53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwv
ZXh0ZW5kZWQtYXR0cmlidXRlcy53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvZ2VuZXJpYy53
aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvZ2V0dGVyLXNldHRlci53aWRsCi0vTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3N5bnRheC9pZGwvaWRlbnRpZmllci1xdWFsaWZpZWQtbmFtZXMud2lkbAotL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9z
eW50YXgvaWRsL2ltcGxlbWVudHMud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL2luZGV4ZWQt
cHJvcGVydGllcy53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvaW5oZXJpdHMtZ2V0dGVyLndp
ZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9pbnRlcmZhY2UtaW5oZXJpdHMud2lkbAotL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC9zeW50YXgvaWRsL2l0ZXJhYmxlLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9sZWdh
Y3lpdGVyYWJsZS53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvbWFwbGlrZS53aWRsCi0vTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L3N5bnRheC9pZGwvbWl4aW4ud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL25hbWVk
Y29uc3RydWN0b3Iud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL25hbWVzcGFjZS53aWRsCi0v
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3N5bnRheC9pZGwvbm9pbnRlcmZhY2VvYmplY3Qud2lkbAotL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9z
eW50YXgvaWRsL251bGxhYmxlLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9udWxsYWJsZW9i
amVjdHMud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL29wZXJhdGlvbi1vcHRpb25hbC1hcmcu
d2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL292ZXJsb2FkaW5nLndpZGwKLS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
c3ludGF4L2lkbC9vdmVycmlkZWJ1aWx0aW5zLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9w
YXJ0aWFsLWludGVyZmFjZS53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvcHJpbWl0aXZlcy53
aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvcHJvbWlzZS12b2lkLndpZGwKLS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
c3ludGF4L2lkbC9wcm90b3R5cGVyb290LndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9wdXRm
b3J3YXJkcy53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvcmVjb3JkLndpZGwKLS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvc3ludGF4L2lkbC9yZWctb3BlcmF0aW9ucy53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwv
cmVwbGFjZWFibGUud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL3NlcXVlbmNlLndpZGwKLS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3Qvc3ludGF4L2lkbC9zZXRsaWtlLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9z
dGF0aWMud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL3N0cmluZ2lmaWVyLWF0dHJpYnV0ZS53
aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvc3RyaW5naWZpZXItY3VzdG9tLndpZGwKLS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvc3ludGF4L2lkbC9zdHJpbmdpZmllci53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwv
dHJlYXRhc251bGwud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL3RyZWF0YXN1bmRlZmluZWQu
d2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL3R5cGVkZWYtdW5pb24ud2lkbAotL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC9zeW50YXgvaWRsL3R5cGVkZWYud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL3R5cGVzdWZm
aXhlcy53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvdW5pb250eXBlLndpZGwKLS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvc3ludGF4L2lkbC92YXJpYWRpYy1vcGVyYXRpb25zLndpZGwKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC9zeW50YXgvanNvbi9hbGxvd2FueS5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2Fs
bG93YW55Lmpzb24KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDJhOTM1MThlZDk0Li4w
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vYWxsb3dhbnkuanNvbgorKysg
L2Rldi9udWxsCkBAIC0xLDExMiArMCwwIEBACi1bCi0gICAgewotICAgICAgICAidHlwZSI6ICJp
bnRlcmZhY2UiLAotICAgICAgICAibmFtZSI6ICJCIiwKLSAgICAgICAgInBhcnRpYWwiOiBmYWxz
ZSwKLSAgICAgICAgIm1lbWJlcnMiOiBbCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAg
InR5cGUiOiAib3BlcmF0aW9uIiwKLSAgICAgICAgICAgICAgICAiZ2V0dGVyIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgInNldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJkZWxldGVy
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewot
ICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAgICAgICAgICAg
ICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICAgICAiaWRsVHlwZSI6ICJ2b2lkIiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJz
IjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogImciLAot
ICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJnIiwKLSAgICAgICAgICAgICAgICAiYXJn
dW1lbnRzIjogW10sCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAg
IH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAib3BlcmF0aW9uIiwK
LSAgICAgICAgICAgICAgICAiZ2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInNldHRl
ciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJkZWxldGVyIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAi
dHlwZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVs
bCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJ2
b2lkIiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAg
ICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogImciLAotICAgICAgICAgICAgICAgICJlc2Nh
cGVkTmFtZSI6ICJnIiwKLSAgICAgICAgICAgICAgICAiYXJndW1lbnRzIjogWwotICAgICAgICAg
ICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAib3B0aW9uYWwiOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICJ2YXJpYWRpYyI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgImRlZmF1bHQiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgImV4
dEF0dHJzIjogW10sCi0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
InVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAi
QiIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAg
ICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJiIiwK
LSAgICAgICAgICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJiIgotICAgICAgICAgICAg
ICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMi
OiBbXQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlw
ZSI6ICJvcGVyYXRpb24iLAotICAgICAgICAgICAgICAgICJnZXR0ZXIiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAic2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImRlbGV0ZXIiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
InN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAg
ICAgICAgICAgICAgICAgICJ0eXBlIjogInJldHVybi10eXBlIiwKLSAgICAgICAgICAgICAgICAg
ICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ICAgICJpZGxUeXBlIjogInZvaWQiLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBb
XQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiZyIsCi0gICAg
ICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImciLAotICAgICAgICAgICAgICAgICJhcmd1bWVu
dHMiOiBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJv
cHRpb25hbCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgInZhcmlhZGljIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdCI6IG51bGwsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJBbGxvd0FueSIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJhcmd1bWVudHMiOiBudWxsLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJleHRlbmRlZC1hdHRyaWJ1dGUiLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicmhzIjogbnVsbAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAg
ICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAi
dHlwZSI6ICJhcmd1bWVudC10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2Vu
ZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiRE9NU3RyaW5nIiwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAgICAg
fSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjogInMiLAotICAgICAgICAgICAgICAg
ICAgICAgICAgImVzY2FwZWROYW1lIjogInMiCi0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAg
ICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAg
ICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJpbmhlcml0YW5jZSI6IG51bGwsCi0gICAgICAgICJl
eHRBdHRycyI6IFtdCi0gICAgfQotXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29u
L2F0dHJpYnV0ZXMuanNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9hdHRyaWJ1dGVzLmpzb24K
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGYwMmNiMjE4N2EyLi4wMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vYXR0cmlidXRlcy5qc29uCisrKyAvZGV2L251bGwK
QEAgLTEsNDcgKzAsMCBAQAotWwotICAgIHsKLSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIiwK
LSAgICAgICAgIm5hbWUiOiAiUGVyc29uIiwKLSAgICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAg
ICAgICAgIm1lbWJlcnMiOiBbCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUi
OiAiYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImluaGVyaXQi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAicmVhZG9ubHkiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRl
LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAg
ICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24i
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAidW5zaWduZWQgc2hvcnQi
LAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0s
Ci0gICAgICAgICAgICAgICAgIm5hbWUiOiAiYWdlIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBl
ZE5hbWUiOiAiYWdlIiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAg
ICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUi
LAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3Ry
aW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICJyZWFkb25seSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBl
IjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAg
ICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51
bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJhbnkiLAotICAgICAgICAgICAgICAgICAgICAi
ZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUi
OiAicmVxdWlyZWQiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJyZXF1aXJlZCIs
Ci0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0KLSAgICAgICAg
XSwKLSAgICAgICAgImluaGVyaXRhbmNlIjogbnVsbCwKLSAgICAgICAgImV4dEF0dHJzIjogW10K
LSAgICB9Ci1dCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vY2FsbGJhY2suanNv
biBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9jYWxsYmFjay5qc29uCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCA4OWQ2M2FhZTUzZC4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5
bnRheC9qc29uL2NhbGxiYWNrLmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSwxMjYgKzAsMCBAQAot
WwotICAgIHsKLSAgICAgICAgInR5cGUiOiAiY2FsbGJhY2siLAotICAgICAgICAibmFtZSI6ICJB
c3luY09wZXJhdGlvbkNhbGxiYWNrIiwKLSAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAg
ICAidHlwZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0g
ICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNl
LAotICAgICAgICAgICAgImlkbFR5cGUiOiAidm9pZCIsCi0gICAgICAgICAgICAiZXh0QXR0cnMi
OiBbXQotICAgICAgICB9LAotICAgICAgICAiYXJndW1lbnRzIjogWwotICAgICAgICAgICAgewot
ICAgICAgICAgICAgICAgICJvcHRpb25hbCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJ2YXJp
YWRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJkZWZhdWx0IjogbnVsbCwKLSAgICAgICAg
ICAgICAgICAiZXh0QXR0cnMiOiBbXSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAg
ICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAg
ICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICAgICAiaWRsVHlwZSI6ICJET01TdHJpbmciLAotICAgICAgICAgICAgICAgICAgICAiZXh0
QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAi
c3RhdHVzIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAic3RhdHVzIgotICAgICAg
ICAgICAgfQotICAgICAgICBdLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0sCi0gICAg
ewotICAgICAgICAidHlwZSI6ICJjYWxsYmFjayBpbnRlcmZhY2UiLAotICAgICAgICAibmFtZSI6
ICJFdmVudEhhbmRsZXIiLAotICAgICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVt
YmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJvcGVyYXRp
b24iLAotICAgICAgICAgICAgICAgICJnZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAi
c2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImRlbGV0ZXIiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVy
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAg
ICAgICJ0eXBlIjogInJldHVybi10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMi
OiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBl
IjogInZvaWQiLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAg
ICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiZXZlbnRPY2N1cnJlZCIsCi0gICAg
ICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImV2ZW50T2NjdXJyZWQiLAotICAgICAgICAgICAg
ICAgICJhcmd1bWVudHMiOiBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAg
ICAgICAgICAgICJvcHRpb25hbCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgInZh
cmlhZGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdCI6IG51bGws
Ci0gICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBl
IjogImFyZ3VtZW50LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmlj
IjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJET01TdHJpbmciLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgICAgICAgICB9LAot
ICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAiZGV0YWlscyIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiZGV0YWlscyIKLSAgICAgICAgICAgICAgICAgICAg
fQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAg
ICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImluaGVyaXRhbmNlIjogbnVsbCwKLSAg
ICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9LAotICAgIHsKLSAgICAgICAgInR5cGUiOiAiY2Fs
bGJhY2siLAotICAgICAgICAibmFtZSI6ICJTb3J0Q2FsbGJhY2siLAotICAgICAgICAiaWRsVHlw
ZSI6IHsKLSAgICAgICAgICAgICJ0eXBlIjogInJldHVybi10eXBlIiwKLSAgICAgICAgICAgICJn
ZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAg
ICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAiaWRsVHlwZSI6ICJib29sZWFuIiwKLSAg
ICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgIH0sCi0gICAgICAgICJhcmd1bWVudHMi
OiBbCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgIm9wdGlvbmFsIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgInZhcmlhZGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImRlZmF1
bHQiOiBudWxsLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdLAotICAgICAgICAgICAg
ICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10
eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAg
ICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogImFueSIsCi0gICAgICAgICAg
ICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAg
ICAgICAibmFtZSI6ICJhIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiYSIKLSAg
ICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgIm9wdGlvbmFsIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgInZhcmlhZGljIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgImRlZmF1bHQiOiBudWxsLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdLAotICAg
ICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJh
cmd1bWVudC10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAg
ICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAg
InVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogImFueSIsCi0g
ICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAg
ICAgICAgICAgICAgICAibmFtZSI6ICJiIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUi
OiAiYiIKLSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImV4dEF0dHJzIjogW10K
LSAgICB9Ci1dCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vY29uc3RhbnRzLmpz
b24gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vY29uc3RhbnRzLmpzb24KZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IGVmMmI4YzQ0Y2ExLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
c3ludGF4L2pzb24vY29uc3RhbnRzLmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSwxNTQgKzAsMCBA
QAotWwotICAgIHsKLSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUi
OiAiVXRpbCIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJzIjog
WwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogImNvbnN0IiwKLSAgICAg
ICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6
IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiY29uc3QtdHlwZSIsCi0gICAgICAgICAg
ICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxl
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICAgICAiaWRsVHlwZSI6ICJib29sZWFuIiwKLSAgICAgICAgICAgICAgICAgICAgImV4
dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjog
IkRFQlVHIiwKLSAgICAgICAgICAgICAgICAidmFsdWUiOiB7Ci0gICAgICAgICAgICAgICAgICAg
ICJ0eXBlIjogImJvb2xlYW4iLAotICAgICAgICAgICAgICAgICAgICAidmFsdWUiOiBmYWxzZQot
ICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAg
ICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiY29uc3Qi
LAotICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJp
ZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJjb25zdC10eXBlIiwKLSAg
ICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAi
bnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogInNob3J0IiwKLSAgICAgICAgICAgICAgICAg
ICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJu
YW1lIjogIm5lZ2F0aXZlIiwKLSAgICAgICAgICAgICAgICAidmFsdWUiOiB7Ci0gICAgICAgICAg
ICAgICAgICAgICJ0eXBlIjogIm51bWJlciIsCi0gICAgICAgICAgICAgICAgICAgICJ2YWx1ZSI6
ICItMSIKLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtd
Ci0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjog
ImNvbnN0IiwKLSAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiY29uc3QtdHlw
ZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAg
ICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJvY3RldCIsCi0gICAgICAgICAg
ICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAg
ICAgICAibmFtZSI6ICJMRiIsCi0gICAgICAgICAgICAgICAgInZhbHVlIjogewotICAgICAgICAg
ICAgICAgICAgICAidHlwZSI6ICJudW1iZXIiLAotICAgICAgICAgICAgICAgICAgICAidmFsdWUi
OiAiMTAiCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBb
XQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6
ICJjb25zdCIsCi0gICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImNvbnN0LXR5
cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAg
ICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAidW5zaWduZWQgbG9uZyIsCi0g
ICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAg
ICAgICAgICAgICAgICAibmFtZSI6ICJCSVRfTUFTSyIsCi0gICAgICAgICAgICAgICAgInZhbHVl
IjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJudW1iZXIiLAotICAgICAgICAgICAg
ICAgICAgICAidmFsdWUiOiAiMHgwMDAwZmMwMCIKLSAgICAgICAgICAgICAgICB9LAotICAgICAg
ICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewot
ICAgICAgICAgICAgICAgICJ0eXBlIjogImNvbnN0IiwKLSAgICAgICAgICAgICAgICAibnVsbGFi
bGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAg
ICAgICAgInR5cGUiOiAiY29uc3QtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmlj
IjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlw
ZSI6ICJmbG9hdCIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAg
ICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJBVk9HQURSTyIsCi0gICAgICAg
ICAgICAgICAgInZhbHVlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJudW1iZXIi
LAotICAgICAgICAgICAgICAgICAgICAidmFsdWUiOiAiNi4wMjJlMjMiCi0gICAgICAgICAgICAg
ICAgfSwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfSwKLSAg
ICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJjb25zdCIsCi0gICAgICAgICAg
ICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0g
ICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImNvbnN0LXR5cGUiLAotICAgICAgICAgICAgICAg
ICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAgICAgImlkbFR5cGUiOiAidW5yZXN0cmljdGVkIGZsb2F0IiwKLSAgICAgICAgICAgICAgICAg
ICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJu
YW1lIjogInNvYmlnIiwKLSAgICAgICAgICAgICAgICAidmFsdWUiOiB7Ci0gICAgICAgICAgICAg
ICAgICAgICJ0eXBlIjogIkluZmluaXR5IiwKLSAgICAgICAgICAgICAgICAgICAgIm5lZ2F0aXZl
IjogZmFsc2UKLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6
IFtdCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBl
IjogImNvbnN0IiwKLSAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiY29uc3Qt
dHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAg
ICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJ1bnJlc3RyaWN0ZWQgZG91
YmxlIiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAg
ICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogIm1pbnVzb25lZGl2aWRlZGJ5emVybyIsCi0g
ICAgICAgICAgICAgICAgInZhbHVlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJJ
bmZpbml0eSIsCi0gICAgICAgICAgICAgICAgICAgICJuZWdhdGl2ZSI6IHRydWUKLSAgICAgICAg
ICAgICAgICB9LAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9
LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogImNvbnN0IiwKLSAgICAg
ICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6
IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiY29uc3QtdHlwZSIsCi0gICAgICAgICAg
ICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxl
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICAgICAiaWRsVHlwZSI6ICJzaG9ydCIsCi0gICAgICAgICAgICAgICAgICAgICJleHRB
dHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJu
b3RhbnVtYmVyIiwKLSAgICAgICAgICAgICAgICAidmFsdWUiOiB7Ci0gICAgICAgICAgICAgICAg
ICAgICJ0eXBlIjogIk5hTiIKLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJl
eHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJpbmhlcml0
YW5jZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgfQotXQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2NvbnN0cnVjdG9yLmpzb24gYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3lu
dGF4L2pzb24vY29uc3RydWN0b3IuanNvbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
ZWZkZDFiNWE2YmUuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9jb25z
dHJ1Y3Rvci5qc29uCisrKyAvZGV2L251bGwKQEAgLTEsMTEzICswLDAgQEAKLVsKLSAgICB7Ci0g
ICAgICAgICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAgICAgICJuYW1lIjogIkNpcmNsZSIsCi0g
ICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJzIjogWwotICAgICAgICAg
ICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAg
ICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICJpbmhlcml0IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInJl
YWRvbmx5IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAg
ICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZS10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAg
ImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAg
ICJpZGxUeXBlIjogImZsb2F0IiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10K
LSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogInIiLAotICAgICAg
ICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJyIiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMi
OiBbXQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlw
ZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaW5oZXJp
dCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJyZWFkb25seSI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1
dGUtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAg
ICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlv
biI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJmbG9hdCIsCi0gICAg
ICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAg
ICAgICAgICAgICAibmFtZSI6ICJjeCIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjog
ImN4IiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfSwKLSAg
ICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAg
ICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICJyZWFkb25seSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAg
ICAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAgICAgICAgICAg
ICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICAgICAiaWRsVHlwZSI6ICJmbG9hdCIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRy
cyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJjeSIs
Ci0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImN5IiwKLSAgICAgICAgICAgICAgICAi
ZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAg
ICAgICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAiaW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJyZWFkb25seSI6IHRydWUsCi0g
ICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjog
ImF0dHJpYnV0ZS10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAot
ICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAg
ICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogImZsb2F0
IiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9
LAotICAgICAgICAgICAgICAgICJuYW1lIjogImNpcmN1bWZlcmVuY2UiLAotICAgICAgICAgICAg
ICAgICJlc2NhcGVkTmFtZSI6ICJjaXJjdW1mZXJlbmNlIiwKLSAgICAgICAgICAgICAgICAiZXh0
QXR0cnMiOiBbXQotICAgICAgICAgICAgfQotICAgICAgICBdLAotICAgICAgICAiaW5oZXJpdGFu
Y2UiOiBudWxsLAotICAgICAgICAiZXh0QXR0cnMiOiBbCi0gICAgICAgICAgICB7Ci0gICAgICAg
ICAgICAgICAgIm5hbWUiOiAiQ29uc3RydWN0b3IiLAotICAgICAgICAgICAgICAgICJhcmd1bWVu
dHMiOiBudWxsLAotICAgICAgICAgICAgICAgICJ0eXBlIjogImV4dGVuZGVkLWF0dHJpYnV0ZSIs
Ci0gICAgICAgICAgICAgICAgInJocyI6IG51bGwKLSAgICAgICAgICAgIH0sCi0gICAgICAgICAg
ICB7Ci0gICAgICAgICAgICAgICAgIm5hbWUiOiAiQ29uc3RydWN0b3IiLAotICAgICAgICAgICAg
ICAgICJhcmd1bWVudHMiOiBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAg
ICAgICAgICAgICJvcHRpb25hbCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgInZh
cmlhZGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdCI6IG51bGws
Ci0gICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBl
IjogImFyZ3VtZW50LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmlj
IjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJmbG9hdCIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgICAgIH0sCi0gICAg
ICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJyYWRpdXMiLAotICAgICAgICAgICAgICAgICAg
ICAgICAgImVzY2FwZWROYW1lIjogInJhZGl1cyIKLSAgICAgICAgICAgICAgICAgICAgfQotICAg
ICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgInR5cGUiOiAiZXh0ZW5kZWQtYXR0cmli
dXRlIiwKLSAgICAgICAgICAgICAgICAicmhzIjogbnVsbAotICAgICAgICAgICAgfQotICAgICAg
ICBdCi0gICAgfQotXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2RpY3Rpb25h
cnktaW5oZXJpdHMuanNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9kaWN0aW9uYXJ5LWluaGVy
aXRzLmpzb24KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDU5NWMzNWNmNzk3Li4wMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vZGljdGlvbmFyeS1pbmhlcml0cy5q
c29uCisrKyAvZGV2L251bGwKQEAgLTEsODkgKzAsMCBAQAotWwotICAgIHsKLSAgICAgICAgInR5
cGUiOiAiZGljdGlvbmFyeSIsCi0gICAgICAgICJuYW1lIjogIlBhaW50T3B0aW9ucyIsCi0gICAg
ICAgICJwYXJ0aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJzIjogWwotICAgICAgICAgICAg
ewotICAgICAgICAgICAgICAgICJ0eXBlIjogImZpZWxkIiwKLSAgICAgICAgICAgICAgICAibmFt
ZSI6ICJmaWxsUGF0dGVybiIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImZpbGxQ
YXR0ZXJuIiwKLSAgICAgICAgICAgICAgICAicmVxdWlyZWQiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiZGljdGlvbmFy
eS10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAg
ICAgICAgICAgICAibnVsbGFibGUiOiB0cnVlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24i
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiRE9NU3RyaW5nIiwKLSAg
ICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAg
ICAgICAgICAgICAgICJleHRBdHRycyI6IFtdLAotICAgICAgICAgICAgICAgICJkZWZhdWx0Ijog
ewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAotICAgICAgICAgICAgICAg
ICAgICAidmFsdWUiOiAiYmxhY2siCi0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgfSwK
LSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJmaWVsZCIsCi0gICAgICAg
ICAgICAgICAgIm5hbWUiOiAic3Ryb2tlUGF0dGVybiIsCi0gICAgICAgICAgICAgICAgImVzY2Fw
ZWROYW1lIjogInN0cm9rZVBhdHRlcm4iLAotICAgICAgICAgICAgICAgICJyZXF1aXJlZCI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAi
dHlwZSI6ICJkaWN0aW9uYXJ5LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6
IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IHRydWUsCi0gICAgICAgICAg
ICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6
ICJET01TdHJpbmciLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAg
ICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10sCi0gICAgICAgICAg
ICAgICAgImRlZmF1bHQiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogIm51bGwiCi0g
ICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAg
ICAgICAgICAidHlwZSI6ICJmaWVsZCIsCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAicG9zaXRp
b24iLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJwb3NpdGlvbiIsCi0gICAgICAg
ICAgICAgICAgInJlcXVpcmVkIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7
Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImRpY3Rpb25hcnktdHlwZSIsCi0gICAgICAg
ICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxh
YmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJQb2ludCIsCi0gICAgICAgICAgICAgICAgICAgICJl
eHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAiZXh0QXR0
cnMiOiBbXSwKLSAgICAgICAgICAgICAgICAiZGVmYXVsdCI6IG51bGwKLSAgICAgICAgICAgIH0K
LSAgICAgICAgXSwKLSAgICAgICAgImluaGVyaXRhbmNlIjogbnVsbCwKLSAgICAgICAgImV4dEF0
dHJzIjogW10KLSAgICB9LAotICAgIHsKLSAgICAgICAgInR5cGUiOiAiZGljdGlvbmFyeSIsCi0g
ICAgICAgICJuYW1lIjogIldldFBhaW50T3B0aW9ucyIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFs
c2UsCi0gICAgICAgICJtZW1iZXJzIjogWwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAg
ICJ0eXBlIjogImZpZWxkIiwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJoeWRyb21ldHJ5IiwK
LSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiaHlkcm9tZXRyeSIsCi0gICAgICAgICAg
ICAgICAgInJlcXVpcmVkIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0g
ICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImRpY3Rpb25hcnktdHlwZSIsCi0gICAgICAgICAg
ICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxl
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICAgICAiaWRsVHlwZSI6ICJmbG9hdCIsCi0gICAgICAgICAgICAgICAgICAgICJleHRB
dHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMi
OiBbXSwKLSAgICAgICAgICAgICAgICAiZGVmYXVsdCI6IG51bGwKLSAgICAgICAgICAgIH0KLSAg
ICAgICAgXSwKLSAgICAgICAgImluaGVyaXRhbmNlIjogIlBhaW50T3B0aW9ucyIsCi0gICAgICAg
ICJleHRBdHRycyI6IFtdCi0gICAgfQotXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9q
c29uL2RpY3Rpb25hcnkuanNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9kaWN0aW9uYXJ5Lmpz
b24KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDhiYmM2YjlkZmFiLi4wMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vZGljdGlvbmFyeS5qc29uCisrKyAvZGV2L251
bGwKQEAgLTEsMTQ2ICswLDAgQEAKLVsKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImRpY3Rpb25h
cnkiLAotICAgICAgICAibmFtZSI6ICJQYWludE9wdGlvbnMiLAotICAgICAgICAicGFydGlhbCI6
IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAg
ICAgICAidHlwZSI6ICJmaWVsZCIsCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiZmlsbFBhdHRl
cm4iLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJmaWxsUGF0dGVybiIsCi0gICAg
ICAgICAgICAgICAgInJlcXVpcmVkIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUi
OiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImRpY3Rpb25hcnktdHlwZSIsCi0gICAg
ICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51
bGxhYmxlIjogdHJ1ZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgICAgICJpZGxUeXBlIjogIkRPTVN0cmluZyIsCi0gICAgICAgICAgICAgICAg
ICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAi
ZXh0QXR0cnMiOiBbXSwKLSAgICAgICAgICAgICAgICAiZGVmYXVsdCI6IHsKLSAgICAgICAgICAg
ICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKLSAgICAgICAgICAgICAgICAgICAgInZhbHVlIjog
ImJsYWNrIgotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7
Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiZmllbGQiLAotICAgICAgICAgICAgICAgICJuYW1l
IjogInN0cm9rZVBhdHRlcm4iLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJzdHJv
a2VQYXR0ZXJuIiwKLSAgICAgICAgICAgICAgICAicmVxdWlyZWQiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiZGljdGlv
bmFyeS10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAg
ICAgICAgICAgICAgICAibnVsbGFibGUiOiB0cnVlLAotICAgICAgICAgICAgICAgICAgICAidW5p
b24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiRE9NU3RyaW5nIiwK
LSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAot
ICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdLAotICAgICAgICAgICAgICAgICJkZWZhdWx0
IjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJudWxsIgotICAgICAgICAgICAgICAg
IH0KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUi
OiAiZmllbGQiLAotICAgICAgICAgICAgICAgICJuYW1lIjogInBvc2l0aW9uIiwKLSAgICAgICAg
ICAgICAgICAiZXNjYXBlZE5hbWUiOiAicG9zaXRpb24iLAotICAgICAgICAgICAgICAgICJyZXF1
aXJlZCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAg
ICAgICAgICAidHlwZSI6ICJkaWN0aW9uYXJ5LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAi
Z2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAg
ImlkbFR5cGUiOiAiUG9pbnQiLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQot
ICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10sCi0gICAg
ICAgICAgICAgICAgImRlZmF1bHQiOiBudWxsCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAg
ewotICAgICAgICAgICAgICAgICJ0eXBlIjogImZpZWxkIiwKLSAgICAgICAgICAgICAgICAibmFt
ZSI6ICJzZXEiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJzZXEiLAotICAgICAg
ICAgICAgICAgICJyZXF1aXJlZCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjog
ewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJkaWN0aW9uYXJ5LXR5cGUiLAotICAgICAg
ICAgICAgICAgICAgICAiZ2VuZXJpYyI6ICJzZXF1ZW5jZSIsCi0gICAgICAgICAgICAgICAgICAg
ICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICAidHlwZSI6ICJkaWN0aW9uYXJ5LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgImdl
bmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICJpZGxUeXBlIjogImxvbmciLAotICAgICAgICAgICAgICAgICAgICAgICAgImV4
dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAg
ImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJleHRB
dHRycyI6IFtdLAotICAgICAgICAgICAgICAgICJkZWZhdWx0IjogewotICAgICAgICAgICAgICAg
ICAgICAidHlwZSI6ICJzZXF1ZW5jZSIsCi0gICAgICAgICAgICAgICAgICAgICJ2YWx1ZSI6IFtd
Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAg
ICAgICAgICAgICAidHlwZSI6ICJmaWVsZCIsCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAicmVx
U2VxIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAicmVxU2VxIiwKLSAgICAgICAg
ICAgICAgICAicmVxdWlyZWQiOiB0cnVlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewot
ICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJkaWN0aW9uYXJ5LXR5cGUiLAotICAgICAgICAg
ICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJs
ZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAgICAgImlkbFR5cGUiOiAibG9uZyIsCi0gICAgICAgICAgICAgICAgICAgICJleHRB
dHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMi
OiBbXSwKLSAgICAgICAgICAgICAgICAiZGVmYXVsdCI6IG51bGwKLSAgICAgICAgICAgIH0KLSAg
ICAgICAgXSwKLSAgICAgICAgImluaGVyaXRhbmNlIjogbnVsbCwKLSAgICAgICAgImV4dEF0dHJz
IjogW10KLSAgICB9LAotICAgIHsKLSAgICAgICAgInR5cGUiOiAiZGljdGlvbmFyeSIsCi0gICAg
ICAgICJuYW1lIjogIkEiLAotICAgICAgICAicGFydGlhbCI6IHRydWUsCi0gICAgICAgICJtZW1i
ZXJzIjogWwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogImZpZWxkIiwK
LSAgICAgICAgICAgICAgICAibmFtZSI6ICJoIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5h
bWUiOiAiaCIsCi0gICAgICAgICAgICAgICAgInJlcXVpcmVkIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImRpY3Rpb25h
cnktdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAg
ICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlv
biI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJsb25nIiwKLSAgICAg
ICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAg
ICAgICAgICAgICJleHRBdHRycyI6IFtdLAotICAgICAgICAgICAgICAgICJkZWZhdWx0IjogbnVs
bAotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6
ICJmaWVsZCIsCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiZCIsCi0gICAgICAgICAgICAgICAg
ImVzY2FwZWROYW1lIjogImQiLAotICAgICAgICAgICAgICAgICJyZXF1aXJlZCI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6
ICJkaWN0aW9uYXJ5LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGws
Ci0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAibG9u
ZyIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAg
fSwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXSwKLSAgICAgICAgICAgICAgICAiZGVm
YXVsdCI6IG51bGwKLSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImV4dEF0dHJz
IjogW10KLSAgICB9Ci1dCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vZG9jdW1l
bnRhdGlvbi1kb3MuanNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9kb2N1bWVudGF0aW9uLWRv
cy5qc29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiYWEwYjVhMDliNS4uMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2RvY3VtZW50YXRpb24tZG9zLmpzb24K
KysrIC9kZXYvbnVsbApAQCAtMSwxMCArMCwwIEBACi1bCi0gICAgewotICAgICAgICAidHlwZSI6
ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFtZSI6ICJEb2N1bWVudGF0aW9uIiwKLSAgICAgICAg
InBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJlcnMiOiBbXSwKLSAgICAgICAgImluaGVy
aXRhbmNlIjogbnVsbCwKLSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9Ci1dCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vZG9jdW1lbnRhdGlvbi5qc29uIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3N5bnRheC9qc29uL2RvY3VtZW50YXRpb24uanNvbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggYmFhMGI1YTA5YjUuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNv
bi9kb2N1bWVudGF0aW9uLmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSwxMCArMCwwIEBACi1bCi0g
ICAgewotICAgICAgICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFtZSI6ICJEb2N1
bWVudGF0aW9uIiwKLSAgICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJlcnMi
OiBbXSwKLSAgICAgICAgImluaGVyaXRhbmNlIjogbnVsbCwKLSAgICAgICAgImV4dEF0dHJzIjog
W10KLSAgICB9Ci1dCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vZW51bS5qc29u
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2VudW0uanNvbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMTFmNWQwOWY1NGIuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgv
anNvbi9lbnVtLmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSwxMzggKzAsMCBAQAotWwotICAgIHsK
LSAgICAgICAgInR5cGUiOiAiZW51bSIsCi0gICAgICAgICJuYW1lIjogIk1lYWxUeXBlIiwKLSAg
ICAgICAgInZhbHVlcyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6
ICJzdHJpbmciLAotICAgICAgICAgICAgICAgICJ2YWx1ZSI6ICJyaWNlIgotICAgICAgICAgICAg
fSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAotICAg
ICAgICAgICAgICAgICJ2YWx1ZSI6ICJub29kbGVzIgotICAgICAgICAgICAgfSwKLSAgICAgICAg
ICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAotICAgICAgICAgICAgICAg
ICJ2YWx1ZSI6ICJvdGhlciIKLSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImV4
dEF0dHJzIjogW10KLSAgICB9LAotICAgIHsKLSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIiwK
LSAgICAgICAgIm5hbWUiOiAiTWVhbCIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0gICAg
ICAgICJtZW1iZXJzIjogWwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjog
ImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpbmhlcml0Ijog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5IjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZS10
eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAg
ICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogIk1lYWxUeXBlIiwKLSAgICAg
ICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAg
ICAgICAgICAgICJuYW1lIjogInR5cGUiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6
ICJ0eXBlIiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfSwK
LSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAg
ICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZp
ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICJyZWFkb25seSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewot
ICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAgICAgICAg
ICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxl
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICAgICAiaWRsVHlwZSI6ICJmbG9hdCIsCi0gICAgICAgICAgICAgICAgICAgICJleHRB
dHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJz
aXplIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAic2l6ZSIsCi0gICAgICAgICAg
ICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAg
ICAgICAgICAgICAgInR5cGUiOiAib3BlcmF0aW9uIiwKLSAgICAgICAgICAgICAgICAiZ2V0dGVy
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInNldHRlciI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICJkZWxldGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJp
ZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJyZXR1cm4tdHlwZSIsCi0g
ICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAg
Im51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJ2b2lkIiwKLSAgICAgICAgICAgICAgICAg
ICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJu
YW1lIjogImluaXRpYWxpemUiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJpbml0
aWFsaXplIiwKLSAgICAgICAgICAgICAgICAiYXJndW1lbnRzIjogWwotICAgICAgICAgICAgICAg
ICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAib3B0aW9uYWwiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJ2YXJpYWRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgImRlZmF1bHQiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJz
IjogW10sCi0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9u
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiTWVhbFR5
cGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAg
ICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAidHlw
ZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAidHlwZSIKLSAgICAg
ICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAg
ICAgICAgICAgIm9wdGlvbmFsIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAidmFy
aWFkaWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0IjogbnVsbCwK
LSAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdLAotICAgICAgICAgICAgICAg
ICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUi
OiAiYXJndW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMi
OiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICJpZGxUeXBlIjogImZsb2F0IiwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJuYW1lIjogInNpemUiLAotICAgICAgICAgICAgICAgICAgICAg
ICAgImVzY2FwZWROYW1lIjogInNpemUiCi0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAg
ICAgICAgICBdLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9
Ci0gICAgICAgIF0sCi0gICAgICAgICJpbmhlcml0YW5jZSI6IG51bGwsCi0gICAgICAgICJleHRB
dHRycyI6IFtdCi0gICAgfSwKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImVudW0iLAotICAgICAg
ICAibmFtZSI6ICJBbHRNZWFsVHlwZSIsCi0gICAgICAgICJ2YWx1ZXMiOiBbCi0gICAgICAgICAg
ICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKLSAgICAgICAgICAgICAgICAi
dmFsdWUiOiAicmljZSIKLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAg
ICAgICAgInR5cGUiOiAic3RyaW5nIiwKLSAgICAgICAgICAgICAgICAidmFsdWUiOiAibm9vZGxl
cyIKLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUi
OiAic3RyaW5nIiwKLSAgICAgICAgICAgICAgICAidmFsdWUiOiAib3RoZXIiCi0gICAgICAgICAg
ICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgfQotXQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2VxdWl2YWxlbnQtZGVjbC5qc29uIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3N5bnRheC9qc29uL2VxdWl2YWxlbnQtZGVjbC5qc29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCBlZTA3OWE3Nzc5MC4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRh
eC9qc29uL2VxdWl2YWxlbnQtZGVjbC5qc29uCisrKyAvZGV2L251bGwKQEAgLTEsMzI2ICswLDAg
QEAKLVsKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAgICAgICJuYW1l
IjogIkRpY3Rpb25hcnkiLAotICAgICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVt
YmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1
dGUiLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAi
c3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICJyZWFkb25seSI6IHRydWUsCi0gICAgICAgICAgICAgICAgImlkbFR5
cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZS10eXBlIiwKLSAg
ICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAi
bnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogInVuc2lnbmVkIGxvbmciLAotICAgICAgICAg
ICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAg
ICAgICAgIm5hbWUiOiAicHJvcGVydHlDb3VudCIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWRO
YW1lIjogInByb3BlcnR5Q291bnQiLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0g
ICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogIm9w
ZXJhdGlvbiIsCi0gICAgICAgICAgICAgICAgImdldHRlciI6IHRydWUsCi0gICAgICAgICAgICAg
ICAgInNldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJkZWxldGVyIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdp
ZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAg
ICAgICAgICAidHlwZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5l
cmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRs
VHlwZSI6ICJmbG9hdCIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAg
ICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJnZXRQcm9wZXJ0eSIsCi0g
ICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImdldFByb3BlcnR5IiwKLSAgICAgICAgICAg
ICAgICAiYXJndW1lbnRzIjogWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICAib3B0aW9uYWwiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ2
YXJpYWRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHQiOiBudWxs
LAotICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10sCi0gICAgICAgICAgICAg
ICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlw
ZSI6ICJhcmd1bWVudC10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJp
YyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiRE9NU3RyaW5nIiwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAgICAgfSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjogInByb3BlcnR5TmFtZSIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAicHJvcGVydHlOYW1lIgotICAgICAgICAg
ICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICAiZXh0QXR0
cnMiOiBbXQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAi
dHlwZSI6ICJvcGVyYXRpb24iLAotICAgICAgICAgICAgICAgICJnZXR0ZXIiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAic2V0dGVyIjogdHJ1ZSwKLSAgICAgICAgICAgICAgICAiZGVsZXRlciI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAg
ICAgICAgICAgICAgICAgICAgInR5cGUiOiAicmV0dXJuLXR5cGUiLAotICAgICAgICAgICAgICAg
ICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAgICAgImlkbFR5cGUiOiAidm9pZCIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6
IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJzZXRQcm9w
ZXJ0eSIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogInNldFByb3BlcnR5IiwKLSAg
ICAgICAgICAgICAgICAiYXJndW1lbnRzIjogWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICAib3B0aW9uYWwiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICJ2YXJpYWRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1
bHQiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10sCi0gICAg
ICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxl
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiRE9NU3RyaW5nIiwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAg
ICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjogInByb3BlcnR5TmFtZSIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAicHJvcGVydHlOYW1lIgot
ICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICAib3B0aW9uYWwiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJ2YXJpYWRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHQiOiBu
dWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10sCi0gICAgICAgICAg
ICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAi
dHlwZSI6ICJhcmd1bWVudC10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2Vu
ZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiZmxvYXQiLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgICAgICAgICB9LAot
ICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAicHJvcGVydHlWYWx1ZSIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAicHJvcGVydHlWYWx1ZSIKLSAgICAgICAg
ICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgImV4dEF0
dHJzIjogW10KLSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImluaGVyaXRhbmNl
IjogbnVsbCwKLSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9LAotICAgIHsKLSAgICAgICAg
InR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUiOiAiRGljdGlvbmFyeTIiLAotICAg
ICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFsKLSAgICAgICAgICAg
IHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAg
ICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJyZWFk
b25seSI6IHRydWUsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAg
ICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZS10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdl
bmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJp
ZGxUeXBlIjogInVuc2lnbmVkIGxvbmciLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMi
OiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAicHJvcGVy
dHlDb3VudCIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogInByb3BlcnR5Q291bnQi
LAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9LAotICAgICAg
ICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogIm9wZXJhdGlvbiIsCi0gICAgICAgICAg
ICAgICAgImdldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzZXR0ZXIiOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAiZGVsZXRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdGF0
aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAicmV0
dXJuLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAg
ICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5p
b24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiZmxvYXQiLAotICAg
ICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAg
ICAgICAgICAgICAgIm5hbWUiOiAiZ2V0UHJvcGVydHkiLAotICAgICAgICAgICAgICAgICJlc2Nh
cGVkTmFtZSI6ICJnZXRQcm9wZXJ0eSIsCi0gICAgICAgICAgICAgICAgImFyZ3VtZW50cyI6IFsK
LSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIm9wdGlvbmFs
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAidmFyaWFkaWMiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0IjogbnVsbCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICJleHRBdHRycyI6IFtdLAotICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUi
OiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXJndW1lbnQtdHlwZSIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJp
ZGxUeXBlIjogIkRPTVN0cmluZyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0
dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAg
ICAgICAibmFtZSI6ICJwcm9wZXJ0eU5hbWUiLAotICAgICAgICAgICAgICAgICAgICAgICAgImVz
Y2FwZWROYW1lIjogInByb3BlcnR5TmFtZSIKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAg
ICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAg
IH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAib3BlcmF0aW9uIiwK
LSAgICAgICAgICAgICAgICAiZ2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInNldHRl
ciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJkZWxldGVyIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAi
dHlwZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVs
bCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJ2
b2lkIiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAg
ICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogInNldFByb3BlcnR5IiwKLSAgICAgICAgICAg
ICAgICAiZXNjYXBlZE5hbWUiOiAic2V0UHJvcGVydHkiLAotICAgICAgICAgICAgICAgICJhcmd1
bWVudHMiOiBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJvcHRpb25hbCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgInZhcmlhZGljIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdCI6IG51bGwsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImFyZ3Vt
ZW50LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAiaWRsVHlwZSI6ICJET01TdHJpbmciLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAg
ICAgICAgICAgICAgICAgIm5hbWUiOiAicHJvcGVydHlOYW1lIiwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICJlc2NhcGVkTmFtZSI6ICJwcm9wZXJ0eU5hbWUiCi0gICAgICAgICAgICAgICAgICAg
IH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJvcHRp
b25hbCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgInZhcmlhZGljIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdCI6IG51bGwsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAiZXh0QXR0cnMiOiBbXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJpZGxU
eXBlIjogewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImFyZ3VtZW50LXR5
cGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAiaWRsVHlwZSI6ICJmbG9hdCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0
dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAg
ICAgICAibmFtZSI6ICJwcm9wZXJ0eVZhbHVlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJl
c2NhcGVkTmFtZSI6ICJwcm9wZXJ0eVZhbHVlIgotICAgICAgICAgICAgICAgICAgICB9Ci0gICAg
ICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAg
ICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJvcGVyYXRpb24i
LAotICAgICAgICAgICAgICAgICJnZXR0ZXIiOiB0cnVlLAotICAgICAgICAgICAgICAgICJzZXR0
ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiZGVsZXRlciI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAg
InR5cGUiOiAicmV0dXJuLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51
bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAi
ZmxvYXQiLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAg
ICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiBudWxsLAotICAgICAgICAgICAgICAgICJl
c2NhcGVkTmFtZSI6IG51bGwsCi0gICAgICAgICAgICAgICAgImFyZ3VtZW50cyI6IFsKLSAgICAg
ICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIm9wdGlvbmFsIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAidmFyaWFkaWMiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICJkZWZhdWx0IjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJleHRBdHRycyI6IFtdLAotICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBl
IjogIkRPTVN0cmluZyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjog
W10KLSAgICAgICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgICAgICAi
bmFtZSI6ICJwcm9wZXJ0eU5hbWUiLAotICAgICAgICAgICAgICAgICAgICAgICAgImVzY2FwZWRO
YW1lIjogInByb3BlcnR5TmFtZSIKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAg
ICAgIF0sCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0g
ICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAib3BlcmF0aW9uIiwKLSAgICAg
ICAgICAgICAgICAiZ2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInNldHRlciI6IHRy
dWUsCi0gICAgICAgICAgICAgICAgImRlbGV0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAi
c3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjog
InJldHVybi10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAg
ICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAg
InVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogInZvaWQiLAot
ICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0g
ICAgICAgICAgICAgICAgIm5hbWUiOiBudWxsLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFt
ZSI6IG51bGwsCi0gICAgICAgICAgICAgICAgImFyZ3VtZW50cyI6IFsKLSAgICAgICAgICAgICAg
ICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIm9wdGlvbmFsIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAidmFyaWFkaWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICJkZWZhdWx0IjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRy
cyI6IFtdLAotICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlv
biI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogIkRPTVN0
cmluZyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAg
ICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJw
cm9wZXJ0eU5hbWUiLAotICAgICAgICAgICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogInBy
b3BlcnR5TmFtZSIKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAg
ewotICAgICAgICAgICAgICAgICAgICAgICAgIm9wdGlvbmFsIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAidmFyaWFkaWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJkZWZhdWx0IjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtd
LAotICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgInR5cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJu
dWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogImZsb2F0IiwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAg
ICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjogInByb3BlcnR5VmFs
dWUiLAotICAgICAgICAgICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogInByb3BlcnR5VmFs
dWUiCi0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAg
ICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAg
ICJpbmhlcml0YW5jZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgfQotXQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2V4Y2VwdGlvbi1pbmhlcml0YW5jZS5q
c29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2V4Y2VwdGlvbi1pbmhlcml0YW5jZS5qc29uCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0YTc2Yjk4Mjg1Ni4uMDAwMDAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2V4Y2VwdGlvbi1pbmhlcml0YW5jZS5qc29uCisrKyAv
ZGV2L251bGwKQEAgLTEsMzYgKzAsMCBAQAotWwotICAgIHsKLSAgICAgICAgInR5cGUiOiAiZXhj
ZXB0aW9uIiwKLSAgICAgICAgIm5hbWUiOiAiRE9NRXhjZXB0aW9uIiwKLSAgICAgICAgIm1lbWJl
cnMiOiBbCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiZmllbGQiLAot
ICAgICAgICAgICAgICAgICJuYW1lIjogImNvZGUiLAotICAgICAgICAgICAgICAgICJpZGxUeXBl
IjogewotICAgICAgICAgICAgICAgICAgICAic2VxdWVuY2UiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgICAgICJpZGxUeXBlIjogInVuc2lnbmVkIHNob3J0IgotICAgICAgICAgICAgICAgIH0s
Ci0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0KLSAgICAgICAg
XSwKLSAgICAgICAgImluaGVyaXRhbmNlIjogbnVsbCwKLSAgICAgICAgImV4dEF0dHJzIjogW10K
LSAgICB9LAotICAgIHsKLSAgICAgICAgInR5cGUiOiAiZXhjZXB0aW9uIiwKLSAgICAgICAgIm5h
bWUiOiAiSGllcmFyY2h5UmVxdWVzdEVycm9yIiwKLSAgICAgICAgIm1lbWJlcnMiOiBbXSwKLSAg
ICAgICAgImluaGVyaXRhbmNlIjogIkRPTUV4Y2VwdGlvbiIsCi0gICAgICAgICJleHRBdHRycyI6
IFtdCi0gICAgfSwKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImV4Y2VwdGlvbiIsCi0gICAgICAg
ICJuYW1lIjogIk5vTW9kaWZpY2F0aW9uQWxsb3dlZEVycm9yIiwKLSAgICAgICAgIm1lbWJlcnMi
OiBbXSwKLSAgICAgICAgImluaGVyaXRhbmNlIjogIkRPTUV4Y2VwdGlvbiIsCi0gICAgICAgICJl
eHRBdHRycyI6IFtdCi0gICAgfQotXQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9leHRlbmRlZC1hdHRyaWJ1dGVzLmpzb24gYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3Qvc3ludGF4L2pzb24vZXh0ZW5kZWQtYXR0cmlidXRlcy5qc29uCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAyNWY1NmYwMzQwYS4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3N5bnRheC9qc29uL2V4dGVuZGVkLWF0dHJpYnV0ZXMuanNvbgorKysgL2Rldi9udWxsCkBA
IC0xLDI0MCArMCwwIEBACi1bCi0gICAgewotICAgICAgICAidHlwZSI6ICJpbnRlcmZhY2UiLAot
ICAgICAgICAibmFtZSI6ICJTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUiLAotICAgICAgICAicGFy
dGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFtdLAotICAgICAgICAiaW5oZXJpdGFu
Y2UiOiAiV29ya2VyR2xvYmFsU2NvcGUiLAotICAgICAgICAiZXh0QXR0cnMiOiBbCi0gICAgICAg
ICAgICB7Ci0gICAgICAgICAgICAgICAgIm5hbWUiOiAiR2xvYmFsIiwKLSAgICAgICAgICAgICAg
ICAiYXJndW1lbnRzIjogbnVsbCwKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJleHRlbmRlZC1h
dHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJyaHMiOiB7Ci0gICAgICAgICAgICAgICAgICAg
ICJ0eXBlIjogImlkZW50aWZpZXItbGlzdCIsCi0gICAgICAgICAgICAgICAgICAgICJ2YWx1ZSI6
IFsKLSAgICAgICAgICAgICAgICAgICAgICAgICJXb3JrZXIiLAotICAgICAgICAgICAgICAgICAg
ICAgICAgIlNlcnZpY2VXb3JrZXIiCi0gICAgICAgICAgICAgICAgICAgIF0KLSAgICAgICAgICAg
ICAgICB9Ci0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJu
YW1lIjogIkV4cG9zZWQiLAotICAgICAgICAgICAgICAgICJhcmd1bWVudHMiOiBudWxsLAotICAg
ICAgICAgICAgICAgICJ0eXBlIjogImV4dGVuZGVkLWF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAg
ICAgInJocyI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiaWRlbnRpZmllciIsCi0g
ICAgICAgICAgICAgICAgICAgICJ2YWx1ZSI6ICJTZXJ2aWNlV29ya2VyIgotICAgICAgICAgICAg
ICAgIH0KLSAgICAgICAgICAgIH0KLSAgICAgICAgXQotICAgIH0sCi0gICAgewotICAgICAgICAi
dHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFtZSI6ICJJZEludGVyZmFjZSIsCi0gICAg
ICAgICJwYXJ0aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJzIjogW10sCi0gICAgICAgICJp
bmhlcml0YW5jZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6IFsKLSAgICAgICAgICAgIHsK
LSAgICAgICAgICAgICAgICAibmFtZSI6ICJJbnRBdHRyIiwKLSAgICAgICAgICAgICAgICAiYXJn
dW1lbnRzIjogbnVsbCwKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJleHRlbmRlZC1hdHRyaWJ1
dGUiLAotICAgICAgICAgICAgICAgICJyaHMiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBl
IjogImludGVnZXIiLAotICAgICAgICAgICAgICAgICAgICAidmFsdWUiOiAiMCIKLSAgICAgICAg
ICAgICAgICB9Ci0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAg
ICJuYW1lIjogIkZsb2F0QXR0ciIsCi0gICAgICAgICAgICAgICAgImFyZ3VtZW50cyI6IG51bGws
Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiZXh0ZW5kZWQtYXR0cmlidXRlIiwKLSAgICAgICAg
ICAgICAgICAicmhzIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJmbG9hdCIsCi0g
ICAgICAgICAgICAgICAgICAgICJ2YWx1ZSI6ICIzLjE0IgotICAgICAgICAgICAgICAgIH0KLSAg
ICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgIm5hbWUiOiAiU3Ry
aW5nQXR0ciIsCi0gICAgICAgICAgICAgICAgImFyZ3VtZW50cyI6IG51bGwsCi0gICAgICAgICAg
ICAgICAgInR5cGUiOiAiZXh0ZW5kZWQtYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAicmhz
IjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAotICAgICAgICAgICAg
ICAgICAgICAidmFsdWUiOiAiXCJhYmNcIiIKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAg
ICB9Ci0gICAgICAgIF0KLSAgICB9LAotICAgIHsKLSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNl
IiwKLSAgICAgICAgIm5hbWUiOiAiQ2lyY2xlIiwKLSAgICAgICAgInBhcnRpYWwiOiBmYWxzZSwK
LSAgICAgICAgIm1lbWJlcnMiOiBbCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5
cGUiOiAiYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImluaGVy
aXQiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAicmVhZG9ubHkiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmli
dXRlLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAg
ICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5p
b24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiZG91YmxlIiwKLSAg
ICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAg
ICAgICAgICAgICAgICJuYW1lIjogInIiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6
ICJyIiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfSwKLSAg
ICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAg
ICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICJyZWFkb25seSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAg
ICAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAgICAgICAgICAg
ICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICAgICAiaWRsVHlwZSI6ICJkb3VibGUiLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0
cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiY3gi
LAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJjeCIsCi0gICAgICAgICAgICAgICAg
ImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAg
ICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAicmVhZG9ubHkiOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUi
OiAiYXR0cmlidXRlLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGws
Ci0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiZG91
YmxlIiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAg
ICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogImN5IiwKLSAgICAgICAgICAgICAgICAiZXNj
YXBlZE5hbWUiOiAiY3kiLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAg
ICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0
ZSIsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJz
dHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpbmhlcml0IjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgInJlYWRvbmx5IjogdHJ1ZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlw
ZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlLXR5cGUiLAotICAg
ICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJu
dWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiZG91YmxlIiwKLSAgICAgICAgICAgICAgICAg
ICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJu
YW1lIjogImNpcmN1bWZlcmVuY2UiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJj
aXJjdW1mZXJlbmNlIiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAg
ICAgfQotICAgICAgICBdLAotICAgICAgICAiaW5oZXJpdGFuY2UiOiBudWxsLAotICAgICAgICAi
ZXh0QXR0cnMiOiBbCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgIm5hbWUiOiAiQ29u
c3RydWN0b3IiLAotICAgICAgICAgICAgICAgICJhcmd1bWVudHMiOiBudWxsLAotICAgICAgICAg
ICAgICAgICJ0eXBlIjogImV4dGVuZGVkLWF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInJo
cyI6IG51bGwKLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAg
Im5hbWUiOiAiQ29uc3RydWN0b3IiLAotICAgICAgICAgICAgICAgICJhcmd1bWVudHMiOiBbCi0g
ICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJvcHRpb25hbCI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgInZhcmlhZGljIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdCI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAiZXh0QXR0cnMiOiBbXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjog
ewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImFyZ3VtZW50LXR5cGUiLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRs
VHlwZSI6ICJkb3VibGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6
IFtdCi0gICAgICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICAgICAg
Im5hbWUiOiAicmFkaXVzIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6
ICJyYWRpdXMiCi0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdLAotICAg
ICAgICAgICAgICAgICJ0eXBlIjogImV4dGVuZGVkLWF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAg
ICAgInJocyI6IG51bGwKLSAgICAgICAgICAgIH0KLSAgICAgICAgXQotICAgIH0sCi0gICAgewot
ICAgICAgICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFtZSI6ICJJIiwKLSAgICAg
ICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJlcnMiOiBbCi0gICAgICAgICAgICB7
Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAi
c3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAicmVhZG9u
bHkiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAg
ICAgICAgInR5cGUiOiAiYXR0cmlidXRlLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2Vu
ZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICAgICAidW5pb24iOiB0cnVlLAotICAgICAgICAgICAgICAgICAgICAiaWRs
VHlwZSI6IFsKLSAgICAgICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAidHlwZSI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVy
aWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogImxvbmciLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgICAgICAgICB9LAotICAg
ICAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBl
IjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgImlkbFR5cGUiOiAiTm9kZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4
dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAg
ICAgXSwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogWwotICAgICAgICAgICAgICAg
ICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjogIlhBdHRyIiwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYXJndW1lbnRzIjogbnVsbCwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJleHRlbmRlZC1hdHRyaWJ1dGUiLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJyaHMiOiBudWxsCi0gICAgICAgICAgICAgICAgICAgICAg
ICB9Ci0gICAgICAgICAgICAgICAgICAgIF0KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAg
ICAgICAgICJuYW1lIjogImF0dHJpYiIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjog
ImF0dHJpYiIsCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0K
LSAgICAgICAgXSwKLSAgICAgICAgImluaGVyaXRhbmNlIjogbnVsbCwKLSAgICAgICAgImV4dEF0
dHJzIjogWwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJuYW1lIjogIkV4cG9zZWQi
LAotICAgICAgICAgICAgICAgICJhcmd1bWVudHMiOiBudWxsLAotICAgICAgICAgICAgICAgICJ0
eXBlIjogImV4dGVuZGVkLWF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInJocyI6IHsKLSAg
ICAgICAgICAgICAgICAgICAgInR5cGUiOiAiaWRlbnRpZmllciIsCi0gICAgICAgICAgICAgICAg
ICAgICJ2YWx1ZSI6ICJXaW5kb3ciCi0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgfQot
ICAgICAgICBdCi0gICAgfQotXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2dl
bmVyaWMuanNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9nZW5lcmljLmpzb24KZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQzYzI2YWM3Y2QwLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvc3ludGF4L2pzb24vZ2VuZXJpYy5qc29uCisrKyAvZGV2L251bGwKQEAgLTEsMTc2ICsw
LDAgQEAKLVsKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAgICAgICJu
YW1lIjogIkZvbyIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJz
IjogWwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogIm9wZXJhdGlvbiIs
Ci0gICAgICAgICAgICAgICAgImdldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzZXR0
ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiZGVsZXRlciI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAg
InR5cGUiOiAicmV0dXJuLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6ICJQ
cm9taXNlIiwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlw
ZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInJldHVybi10eXBlIiwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogIlByb21pc2UiLAotICAgICAgICAgICAg
ICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAi
dW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInJldHVybi10eXBlIiwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6ICJzZXF1ZW5jZSIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5
cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInJldHVybi10
eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiB0cnVlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiRE9NU3RyaW5nIiwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB9LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAg
ICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJz
IjogW10KLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0
dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogImJh
ciIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImJhciIsCi0gICAgICAgICAgICAg
ICAgImFyZ3VtZW50cyI6IFtdLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAg
ICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJp
YnV0ZSIsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpbmhlcml0IjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgInJlYWRvbmx5IjogdHJ1ZSwKLSAgICAgICAgICAgICAgICAiaWRs
VHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlLXR5cGUiLAot
ICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6ICJQcm9taXNlIiwKLSAgICAgICAgICAgICAg
ICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAg
ICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZS10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJET01TdHJpbmciLAotICAgICAgICAgICAgICAgICAg
ICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAg
ICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAg
ICAgICJuYW1lIjogImJheiIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImJheiIs
Ci0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0KLSAgICAgICAg
XSwKLSAgICAgICAgImluaGVyaXRhbmNlIjogbnVsbCwKLSAgICAgICAgImV4dEF0dHJzIjogW10K
LSAgICB9LAotICAgIHsKLSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5h
bWUiOiAiU2VydmljZVdvcmtlckNsaWVudHMiLAotICAgICAgICAicGFydGlhbCI6IGZhbHNlLAot
ICAgICAgICAibWVtYmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlw
ZSI6ICJvcGVyYXRpb24iLAotICAgICAgICAgICAgICAgICJnZXR0ZXIiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAic2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImRlbGV0ZXIiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
InN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAg
ICAgICAgICAgICAgICAgICJ0eXBlIjogInJldHVybi10eXBlIiwKLSAgICAgICAgICAgICAgICAg
ICAgImdlbmVyaWMiOiAiUHJvbWlzZSIsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJy
ZXR1cm4tdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiB0cnVlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlw
ZSI6ICJDbGllbnQiLAotICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAg
ICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10K
LSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogImdldFNlcnZpY2Vk
IiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiZ2V0U2VydmljZWQiLAotICAgICAg
ICAgICAgICAgICJhcmd1bWVudHMiOiBbXSwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBb
XQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6
ICJvcGVyYXRpb24iLAotICAgICAgICAgICAgICAgICJnZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAic2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImRlbGV0ZXIiOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0
cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAg
ICAgICAgICAgICAgICJ0eXBlIjogInJldHVybi10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAg
ImdlbmVyaWMiOiAiUHJvbWlzZSIsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJyZXR1
cm4tdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUi
OiAiYW55IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAg
ICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAg
ICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJyZWxvYWRBbGwiLAotICAg
ICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJyZWxvYWRBbGwiLAotICAgICAgICAgICAgICAg
ICJhcmd1bWVudHMiOiBbXSwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAg
ICAgICAgfQotICAgICAgICBdLAotICAgICAgICAiaW5oZXJpdGFuY2UiOiBudWxsLAotICAgICAg
ICAiZXh0QXR0cnMiOiBbXQotICAgIH0sCi0gICAgewotICAgICAgICAidHlwZSI6ICJpbnRlcmZh
Y2UiLAotICAgICAgICAibmFtZSI6ICJGZXRjaEV2ZW50IiwKLSAgICAgICAgInBhcnRpYWwiOiBm
YWxzZSwKLSAgICAgICAgIm1lbWJlcnMiOiBbCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAg
ICAgInR5cGUiOiAib3BlcmF0aW9uIiwKLSAgICAgICAgICAgICAgICAiZ2V0dGVyIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgInNldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJkZWxl
dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjog
ewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAgICAgICAg
ICAgICAgICAgICJnZW5lcmljIjogIlByb21pc2UiLAotICAgICAgICAgICAgICAgICAgICAibnVs
bGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAgICAgInR5
cGUiOiAicmV0dXJuLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBu
dWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJpZGxUeXBlIjogImFueSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBb
XQotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMi
OiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiZGVmYXVs
dCIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImRlZmF1bHQiLAotICAgICAgICAg
ICAgICAgICJhcmd1bWVudHMiOiBbXSwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQot
ICAgICAgICAgICAgfQotICAgICAgICBdLAotICAgICAgICAiaW5oZXJpdGFuY2UiOiAiRXZlbnQi
LAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0KLV0KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC9zeW50YXgvanNvbi9nZXR0ZXItc2V0dGVyLmpzb24gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24v
Z2V0dGVyLXNldHRlci5qc29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2ZjgxOTZm
ZTU2ZC4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2dldHRlci1zZXR0
ZXIuanNvbgorKysgL2Rldi9udWxsCkBAIC0xLDExOSArMCwwIEBACi1bCi0gICAgewotICAgICAg
ICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFtZSI6ICJEaWN0aW9uYXJ5IiwKLSAg
ICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJlcnMiOiBbCi0gICAgICAgICAg
ICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAg
ICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAicmVh
ZG9ubHkiOiB0cnVlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAg
ICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJn
ZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAi
aWRsVHlwZSI6ICJ1bnNpZ25lZCBsb25nIiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJz
IjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogInByb3Bl
cnR5Q291bnQiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJwcm9wZXJ0eUNvdW50
IiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfSwKLSAgICAg
ICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJvcGVyYXRpb24iLAotICAgICAgICAg
ICAgICAgICJnZXR0ZXIiOiB0cnVlLAotICAgICAgICAgICAgICAgICJzZXR0ZXIiOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAiZGVsZXRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdGF0
aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAicmV0
dXJuLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAg
ICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5p
b24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiZmxvYXQiLAotICAg
ICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAg
ICAgICAgICAgICAgIm5hbWUiOiBudWxsLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6
IG51bGwsCi0gICAgICAgICAgICAgICAgImFyZ3VtZW50cyI6IFsKLSAgICAgICAgICAgICAgICAg
ICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIm9wdGlvbmFsIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAidmFyaWFkaWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJkZWZhdWx0IjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6
IFtdLAotICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgInR5cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogIkRPTVN0cmlu
ZyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAg
ICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJwcm9w
ZXJ0eU5hbWUiLAotICAgICAgICAgICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogInByb3Bl
cnR5TmFtZSIKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAg
ICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7
Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAib3BlcmF0aW9uIiwKLSAgICAgICAgICAgICAgICAi
Z2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInNldHRlciI6IHRydWUsCi0gICAgICAg
ICAgICAgICAgImRlbGV0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInJldHVybi10eXBl
IiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAg
ICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogInZvaWQiLAotICAgICAgICAgICAg
ICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAg
ICAgIm5hbWUiOiBudWxsLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6IG51bGwsCi0g
ICAgICAgICAgICAgICAgImFyZ3VtZW50cyI6IFsKLSAgICAgICAgICAgICAgICAgICAgewotICAg
ICAgICAgICAgICAgICAgICAgICAgIm9wdGlvbmFsIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAidmFyaWFkaWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJkZWZh
dWx0IjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdLAotICAg
ICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgInR5cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJs
ZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogIkRPTVN0cmluZyIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAg
ICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJwcm9wZXJ0eU5hbWUi
LAotICAgICAgICAgICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogInByb3BlcnR5TmFtZSIK
LSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAg
ICAgICAgICAgICAgICAgIm9wdGlvbmFsIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAidmFyaWFkaWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0Ijog
bnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdLAotICAgICAgICAg
ICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
InR5cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImdl
bmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogImZsb2F0IiwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAgICAgfSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjogInByb3BlcnR5VmFsdWUiLAotICAgICAg
ICAgICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogInByb3BlcnR5VmFsdWUiCi0gICAgICAg
ICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgICJleHRB
dHRycyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJpbmhlcml0YW5j
ZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgfQotXQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3N5bnRheC9qc29uL2lkZW50aWZpZXItcXVhbGlmaWVkLW5hbWVzLmpzb24gYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3Qvc3ludGF4L2pzb24vaWRlbnRpZmllci1xdWFsaWZpZWQtbmFtZXMuanNvbgpkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDk4Y2RjYjFmYmIuLjAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC9zeW50YXgvanNvbi9pZGVudGlmaWVyLXF1YWxpZmllZC1uYW1lcy5qc29uCisr
KyAvZGV2L251bGwKQEAgLTEsMTg5ICswLDAgQEAKLVsKLSAgICB7Ci0gICAgICAgICJ0eXBlIjog
InR5cGVkZWYiLAotICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICJ0eXBlIjogInR5
cGVkZWYtdHlwZSIsCi0gICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAi
bnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAg
ICAgImlkbFR5cGUiOiAiZmxvYXQiLAotICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAg
ICAgfSwKLSAgICAgICAgIm5hbWUiOiAibnVtYmVyIiwKLSAgICAgICAgImV4dEF0dHJzIjogW10K
LSAgICB9LAotICAgIHsKLSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5h
bWUiOiAiU3lzdGVtIiwKLSAgICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJl
cnMiOiBbCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAib3BlcmF0aW9u
IiwKLSAgICAgICAgICAgICAgICAiZ2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInNl
dHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJkZWxldGVyIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAg
ICAidHlwZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjog
bnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6
ICJvYmplY3QiLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAg
ICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiY3JlYXRlT2JqZWN0IiwKLSAgICAg
ICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiY3JlYXRlT2JqZWN0IiwKLSAgICAgICAgICAgICAg
ICAiYXJndW1lbnRzIjogWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICAib3B0aW9uYWwiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ2YXJp
YWRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHQiOiBudWxsLAot
ICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10sCi0gICAgICAgICAgICAgICAg
ICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6
ICJhcmd1bWVudC10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6
IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiRE9NU3RyaW5nIiwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjogImludGVyZmFjZSIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiX2ludGVyZmFjZSIKLSAgICAgICAgICAgICAgICAg
ICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10K
LSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAi
b3BlcmF0aW9uIiwKLSAgICAgICAgICAgICAgICAiZ2V0dGVyIjogdHJ1ZSwKLSAgICAgICAgICAg
ICAgICAic2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImRlbGV0ZXIiOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmlu
Z2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAg
ICAgICAgICAgICJ0eXBlIjogInJldHVybi10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdl
bmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJp
ZGxUeXBlIjogIkRPTVN0cmluZyIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtd
Ci0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6IG51bGwsCi0gICAg
ICAgICAgICAgICAgImVzY2FwZWROYW1lIjogbnVsbCwKLSAgICAgICAgICAgICAgICAiYXJndW1l
bnRzIjogWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAi
b3B0aW9uYWwiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ2YXJpYWRpYyI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHQiOiBudWxsLAotICAgICAgICAg
ICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10sCi0gICAgICAgICAgICAgICAgICAgICAgICAi
aWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVu
dC10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgImlkbFR5cGUiOiAiRE9NU3RyaW5nIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJuYW1lIjogImtleU5hbWUiLAotICAgICAgICAgICAgICAgICAgICAgICAg
ImVzY2FwZWROYW1lIjogImtleU5hbWUiCi0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAg
ICAgICAgICBdLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9
Ci0gICAgICAgIF0sCi0gICAgICAgICJpbmhlcml0YW5jZSI6IG51bGwsCi0gICAgICAgICJleHRB
dHRycyI6IFtdCi0gICAgfSwKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImludGVyZmFjZSIsCi0g
ICAgICAgICJuYW1lIjogIlRleHRGaWVsZCIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0g
ICAgICAgICJtZW1iZXJzIjogWwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBl
IjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpbmhlcml0
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5IjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0
ZS10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAg
ICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9u
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogImJvb2xlYW4iLAotICAg
ICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAg
ICAgICAgICAgICAgIm5hbWUiOiAiY29uc3QiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFt
ZSI6ICJfY29uc3QiLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAg
ICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZSIs
Ci0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJp
bmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpbmhlcml0IjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgInJlYWRvbmx5IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUi
OiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZS10eXBlIiwKLSAgICAg
ICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVs
bGFibGUiOiB0cnVlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiRE9NU3RyaW5nIiwKLSAgICAgICAgICAgICAgICAg
ICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJu
YW1lIjogInZhbHVlIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiX3ZhbHVlIiwK
LSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfQotICAgICAgICBd
LAotICAgICAgICAiaW5oZXJpdGFuY2UiOiBudWxsLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQot
ICAgIH0sCi0gICAgewotICAgICAgICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFt
ZSI6ICJGb29FdmVudFRhcmdldCIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0gICAgICAg
ICJtZW1iZXJzIjogWwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogIm9w
ZXJhdGlvbiIsCi0gICAgICAgICAgICAgICAgImdldHRlciI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICJzZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiZGVsZXRlciI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5n
aWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAg
ICAgICAgICAgInR5cGUiOiAicmV0dXJuLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2Vu
ZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlk
bFR5cGUiOiAidm9pZCIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAg
ICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJhZGRFdmVudExpc3RlbmVy
IiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiYWRkRXZlbnRMaXN0ZW5lciIsCi0g
ICAgICAgICAgICAgICAgImFyZ3VtZW50cyI6IFsKLSAgICAgICAgICAgICAgICAgICAgewotICAg
ICAgICAgICAgICAgICAgICAgICAgIm9wdGlvbmFsIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAidmFyaWFkaWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJkZWZh
dWx0IjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdLAotICAg
ICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgInR5cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJs
ZSI6IHRydWUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiRXZlbnRMaXN0ZW5lciIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAg
ICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJjYWxsYmFjayIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiY2FsbGJhY2siCi0gICAg
ICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgICJl
eHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJpbmhlcml0
YW5jZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgfQotXQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2ltcGxlbWVudHMuanNvbiBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50
YXgvanNvbi9pbXBsZW1lbnRzLmpzb24KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDE3
MzYxMThjZDkwLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vaW1wbGVt
ZW50cy5qc29uCisrKyAvZGV2L251bGwKQEAgLTEsMTEzICswLDAgQEAKLVsKLSAgICB7Ci0gICAg
ICAgICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAgICAgICJuYW1lIjogIk5vZGUiLAotICAgICAg
ICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFsKLSAgICAgICAgICAgIHsK
LSAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJz
dGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJyZWFkb25s
eSI6IHRydWUsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAg
ICAgICJ0eXBlIjogImF0dHJpYnV0ZS10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVy
aWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxU
eXBlIjogInVuc2lnbmVkIHNob3J0IiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjog
W10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogIm5vZGVUeXBl
IiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAibm9kZVR5cGUiLAotICAgICAgICAg
ICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAg
ICJpbmhlcml0YW5jZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgfSwKLSAg
ICB7Ci0gICAgICAgICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAgICAgICJuYW1lIjogIkV2ZW50
VGFyZ2V0IiwKLSAgICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJlcnMiOiBb
Ci0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAib3BlcmF0aW9uIiwKLSAg
ICAgICAgICAgICAgICAiZ2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInNldHRlciI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICJkZWxldGVyIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlw
ZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwK
LSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJ2b2lk
IiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9
LAotICAgICAgICAgICAgICAgICJuYW1lIjogImFkZEV2ZW50TGlzdGVuZXIiLAotICAgICAgICAg
ICAgICAgICJlc2NhcGVkTmFtZSI6ICJhZGRFdmVudExpc3RlbmVyIiwKLSAgICAgICAgICAgICAg
ICAiYXJndW1lbnRzIjogWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICAib3B0aW9uYWwiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ2YXJp
YWRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHQiOiBudWxsLAot
ICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10sCi0gICAgICAgICAgICAgICAg
ICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6
ICJhcmd1bWVudC10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6
IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiRE9NU3RyaW5nIiwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjogInR5cGUiLAotICAgICAgICAgICAgICAgICAg
ICAgICAgImVzY2FwZWROYW1lIjogInR5cGUiCi0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAg
ICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJvcHRpb25hbCI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgInZhcmlhZGljIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAiZGVmYXVsdCI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAiZXh0QXR0cnMiOiBbXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImFyZ3VtZW50LXR5cGUiLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlw
ZSI6ICJFdmVudExpc3RlbmVyIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0
cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJuYW1lIjogImxpc3RlbmVyIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJlc2NhcGVk
TmFtZSI6ICJsaXN0ZW5lciIKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAg
ICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIm9wdGlvbmFsIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAidmFyaWFkaWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICJkZWZhdWx0IjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRy
cyI6IFtdLAotICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlv
biI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogImJvb2xl
YW4iLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAg
ICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAidXNl
Q2FwdHVyZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAidXNlQ2Fw
dHVyZSIKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAg
ICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAg
ICAgImluaGVyaXRhbmNlIjogbnVsbCwKLSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9LAot
ICAgIHsKLSAgICAgICAgInR5cGUiOiAiaW1wbGVtZW50cyIsCi0gICAgICAgICJ0YXJnZXQiOiAi
Tm9kZSIsCi0gICAgICAgICJpbXBsZW1lbnRzIjogIkV2ZW50VGFyZ2V0IiwKLSAgICAgICAgImV4
dEF0dHJzIjogW10KLSAgICB9Ci1dCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24v
aW5kZXhlZC1wcm9wZXJ0aWVzLmpzb24gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vaW5kZXhlZC1w
cm9wZXJ0aWVzLmpzb24KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRjY2Q1MTFhZjk2
Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vaW5kZXhlZC1wcm9wZXJ0
aWVzLmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSwyODMgKzAsMCBAQAotWwotICAgIHsKLSAgICAg
ICAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUiOiAiT3JkZXJlZE1hcCIsCi0g
ICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJzIjogWwotICAgICAgICAg
ICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAg
ICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICJpbmhlcml0IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInJl
YWRvbmx5IjogdHJ1ZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAg
ICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAi
Z2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAg
ImlkbFR5cGUiOiAidW5zaWduZWQgbG9uZyIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRy
cyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJzaXpl
IiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAic2l6ZSIsCi0gICAgICAgICAgICAg
ICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAg
ICAgICAgICAgInR5cGUiOiAib3BlcmF0aW9uIiwKLSAgICAgICAgICAgICAgICAiZ2V0dGVyIjog
dHJ1ZSwKLSAgICAgICAgICAgICAgICAic2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ImRlbGV0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5
cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInJldHVybi10eXBlIiwKLSAgICAg
ICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVs
bGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgICAgICJpZGxUeXBlIjogImFueSIsCi0gICAgICAgICAgICAgICAgICAgICJl
eHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6
ICJnZXRCeUluZGV4IiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiZ2V0QnlJbmRl
eCIsCi0gICAgICAgICAgICAgICAgImFyZ3VtZW50cyI6IFsKLSAgICAgICAgICAgICAgICAgICAg
ewotICAgICAgICAgICAgICAgICAgICAgICAgIm9wdGlvbmFsIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAidmFyaWFkaWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJkZWZhdWx0IjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtd
LAotICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgInR5cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJu
dWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogInVuc2lnbmVkIGxv
bmciLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAg
ICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAiaW5k
ZXgiLAotICAgICAgICAgICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImluZGV4IgotICAg
ICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICAi
ZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAg
ICAgICAidHlwZSI6ICJvcGVyYXRpb24iLAotICAgICAgICAgICAgICAgICJnZXR0ZXIiOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAic2V0dGVyIjogdHJ1ZSwKLSAgICAgICAgICAgICAgICAiZGVs
ZXRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6
IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAicmV0dXJuLXR5cGUiLAotICAgICAgICAg
ICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJs
ZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAgICAgImlkbFR5cGUiOiAidm9pZCIsCi0gICAgICAgICAgICAgICAgICAgICJleHRB
dHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJz
ZXRCeUluZGV4IiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAic2V0QnlJbmRleCIs
Ci0gICAgICAgICAgICAgICAgImFyZ3VtZW50cyI6IFsKLSAgICAgICAgICAgICAgICAgICAgewot
ICAgICAgICAgICAgICAgICAgICAgICAgIm9wdGlvbmFsIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAidmFyaWFkaWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJk
ZWZhdWx0IjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdLAot
ICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgInR5cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJudWxs
YWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogInVuc2lnbmVkIGxvbmci
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAg
ICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAiaW5kZXgi
LAotICAgICAgICAgICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImluZGV4IgotICAgICAg
ICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICAib3B0aW9uYWwiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ2YXJp
YWRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHQiOiBudWxsLAot
ICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10sCi0gICAgICAgICAgICAgICAg
ICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6
ICJhcmd1bWVudC10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6
IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiYW55IiwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICJuYW1lIjogInZhbHVlIiwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJlc2NhcGVkTmFtZSI6ICJ2YWx1ZSIKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAg
ICAgICAgIF0sCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0s
Ci0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAib3BlcmF0aW9uIiwKLSAg
ICAgICAgICAgICAgICAiZ2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInNldHRlciI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICJkZWxldGVyIjogdHJ1ZSwKLSAgICAgICAgICAgICAg
ICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBl
IjogInJldHVybi10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAot
ICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAg
ICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogInZvaWQi
LAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0s
Ci0gICAgICAgICAgICAgICAgIm5hbWUiOiAicmVtb3ZlQnlJbmRleCIsCi0gICAgICAgICAgICAg
ICAgImVzY2FwZWROYW1lIjogInJlbW92ZUJ5SW5kZXgiLAotICAgICAgICAgICAgICAgICJhcmd1
bWVudHMiOiBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJvcHRpb25hbCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgInZhcmlhZGljIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdCI6IG51bGwsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImFyZ3Vt
ZW50LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAiaWRsVHlwZSI6ICJ1bnNpZ25lZCBsb25nIiwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJuYW1lIjogImluZGV4IiwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJlc2NhcGVkTmFtZSI6ICJpbmRleCIKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAg
ICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAg
IH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAib3BlcmF0aW9uIiwK
LSAgICAgICAgICAgICAgICAiZ2V0dGVyIjogdHJ1ZSwKLSAgICAgICAgICAgICAgICAic2V0dGVy
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImRlbGV0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0
eXBlIjogInJldHVybi10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxs
LAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogImFu
eSIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAg
fSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJnZXQiLAotICAgICAgICAgICAgICAgICJlc2Nh
cGVkTmFtZSI6ICJnZXQiLAotICAgICAgICAgICAgICAgICJhcmd1bWVudHMiOiBbCi0gICAgICAg
ICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJvcHRpb25hbCI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICAgICAgICAgInZhcmlhZGljIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAiZGVmYXVsdCI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAi
ZXh0QXR0cnMiOiBbXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImFyZ3VtZW50LXR5cGUiLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6
ICJET01TdHJpbmciLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtd
Ci0gICAgICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICAgICAgIm5h
bWUiOiAibmFtZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAibmFt
ZSIKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAg
ICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAg
ICAgICAgICAgICAgInR5cGUiOiAib3BlcmF0aW9uIiwKLSAgICAgICAgICAgICAgICAiZ2V0dGVy
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInNldHRlciI6IHRydWUsCi0gICAgICAgICAgICAg
ICAgImRlbGV0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlk
bFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInJldHVybi10eXBlIiwKLSAg
ICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAi
bnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogInZvaWQiLAotICAgICAgICAgICAgICAgICAg
ICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5h
bWUiOiAic2V0IiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAic2V0IiwKLSAgICAg
ICAgICAgICAgICAiYXJndW1lbnRzIjogWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAg
ICAgICAgICAgICAgICAgICAib3B0aW9uYWwiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJ2YXJpYWRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHQi
OiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10sCi0gICAgICAg
ICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAi
Z2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiRE9NU3RyaW5nIiwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAg
ICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjogIm5hbWUiLAotICAgICAgICAg
ICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogIm5hbWUiCi0gICAgICAgICAgICAgICAgICAg
IH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJvcHRp
b25hbCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgInZhcmlhZGljIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdCI6IG51bGwsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAiZXh0QXR0cnMiOiBbXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJpZGxU
eXBlIjogewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImFyZ3VtZW50LXR5
cGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAiaWRsVHlwZSI6ICJhbnkiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRy
cyI6IFtdCi0gICAgICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICAg
ICAgIm5hbWUiOiAidmFsdWUiLAotICAgICAgICAgICAgICAgICAgICAgICAgImVzY2FwZWROYW1l
IjogInZhbHVlIgotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXSwKLSAg
ICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAg
IHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJvcGVyYXRpb24iLAotICAgICAgICAgICAgICAg
ICJnZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic2V0dGVyIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgImRlbGV0ZXIiOiB0cnVlLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAicmV0dXJuLXR5
cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAg
ICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAidm9pZCIsCi0gICAgICAgICAg
ICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAg
ICAgICAibmFtZSI6ICJyZW1vdmUiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJy
ZW1vdmUiLAotICAgICAgICAgICAgICAgICJhcmd1bWVudHMiOiBbCi0gICAgICAgICAgICAgICAg
ICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJvcHRpb25hbCI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgInZhcmlhZGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAiZGVmYXVsdCI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMi
OiBbXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICJ0eXBlIjogImFyZ3VtZW50LXR5cGUiLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5pb24i
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJET01TdHJp
bmciLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAg
ICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAibmFt
ZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAibmFtZSIKLSAgICAg
ICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgImV4
dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImluaGVyaXRh
bmNlIjogbnVsbCwKLSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9Ci1dCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vaW5oZXJpdHMtZ2V0dGVyLmpzb24gYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
c3ludGF4L2pzb24vaW5oZXJpdHMtZ2V0dGVyLmpzb24KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDg2ZWI2OGUyNzBlLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pz
b24vaW5oZXJpdHMtZ2V0dGVyLmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSwxMDEgKzAsMCBAQAot
WwotICAgIHsKLSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUiOiAi
QW5pbWFsIiwKLSAgICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJlcnMiOiBb
Ci0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAg
ICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lm
aWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAicmVhZG9ubHkiOiB0cnVlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewot
ICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAgICAgICAg
ICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxl
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICAgICAiaWRsVHlwZSI6ICJET01TdHJpbmciLAotICAgICAgICAgICAgICAgICAgICAi
ZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUi
OiAibmFtZSIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogIm5hbWUiLAotICAgICAg
ICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAg
ICAgICJpbmhlcml0YW5jZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgfSwK
LSAgICB7Ci0gICAgICAgICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAgICAgICJuYW1lIjogIlBl
cnNvbiIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJzIjogWwot
ICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0gICAg
ICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmll
ciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpbmhlcml0IjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgInJlYWRvbmx5IjogdHJ1ZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAg
ICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlLXR5cGUiLAotICAgICAgICAgICAg
ICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAgICAgImlkbFR5cGUiOiAidW5zaWduZWQgc2hvcnQiLAotICAgICAgICAgICAgICAgICAg
ICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5h
bWUiOiAiYWdlIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiYWdlIiwKLSAgICAg
ICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsK
LSAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJz
dGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAiaW5oZXJpdCI6IHRydWUsCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAg
ICAgICJ0eXBlIjogImF0dHJpYnV0ZS10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVy
aWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxU
eXBlIjogIkRPTVN0cmluZyIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0g
ICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJuYW1lIiwKLSAgICAg
ICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAibmFtZSIsCi0gICAgICAgICAgICAgICAgImV4dEF0
dHJzIjogW10KLSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImluaGVyaXRhbmNl
IjogIkFuaW1hbCIsCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgfSwKLSAgICB7Ci0gICAg
ICAgICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAgICAgICJuYW1lIjogIkdob3N0IiwKLSAgICAg
ICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJlcnMiOiBbCi0gICAgICAgICAgICB7
Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAi
c3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgImluaGVyaXQiOiB0cnVlLAotICAgICAgICAgICAgICAgICJyZWFkb25s
eSI6IHRydWUsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAg
ICAgICJ0eXBlIjogImF0dHJpYnV0ZS10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVy
aWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxU
eXBlIjogIkRPTVN0cmluZyIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0g
ICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJuYW1lIiwKLSAgICAg
ICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAibmFtZSIsCi0gICAgICAgICAgICAgICAgImV4dEF0
dHJzIjogW10KLSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImluaGVyaXRhbmNl
IjogIlBlcnNvbiIsCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgfQotXQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2ludGVyZmFjZS1pbmhlcml0cy5qc29uIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3N5bnRheC9qc29uL2ludGVyZmFjZS1pbmhlcml0cy5qc29uCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMmNhZjM1ZjYwNS4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5
bnRheC9qc29uL2ludGVyZmFjZS1pbmhlcml0cy5qc29uCisrKyAvZGV2L251bGwKQEAgLTEsODMg
KzAsMCBAQAotWwotICAgIHsKLSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAg
Im5hbWUiOiAiQW5pbWFsIiwKLSAgICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1l
bWJlcnMiOiBbCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmli
dXRlIiwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
InN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAicmVhZG9ubHkiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRs
VHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlLXR5cGUiLAot
ICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAg
ICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiRE9NU3RyaW5nIiwKLSAgICAgICAgICAg
ICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAg
ICAgICJuYW1lIjogIm5hbWUiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJuYW1l
IiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfQotICAgICAg
ICBdLAotICAgICAgICAiaW5oZXJpdGFuY2UiOiBudWxsLAotICAgICAgICAiZXh0QXR0cnMiOiBb
XQotICAgIH0sCi0gICAgewotICAgICAgICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAi
bmFtZSI6ICJIdW1hbiIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1i
ZXJzIjogWwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0
ZSIsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJz
dHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpbmhlcml0IjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgInJlYWRvbmx5IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5
cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZS10eXBlIiwKLSAg
ICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAi
bnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogIkRvZyIsCi0gICAgICAgICAgICAgICAgICAg
ICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFt
ZSI6ICJwZXQiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJwZXQiLAotICAgICAg
ICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAg
ICAgICJpbmhlcml0YW5jZSI6ICJBbmltYWwiLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAg
IH0sCi0gICAgewotICAgICAgICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFtZSI6
ICJEb2ciLAotICAgICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFsK
LSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAg
ICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZp
ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICJyZWFkb25seSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewot
ICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAgICAgICAg
ICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxl
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICAgICAiaWRsVHlwZSI6ICJIdW1hbiIsCi0gICAgICAgICAgICAgICAgICAgICJleHRB
dHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJv
d25lciIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogIm93bmVyIiwKLSAgICAgICAg
ICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfQotICAgICAgICBdLAotICAgICAg
ICAiaW5oZXJpdGFuY2UiOiAiQW5pbWFsIiwKLSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9
Ci1dCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vaXRlcmFibGUuanNvbiBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC9zeW50YXgvanNvbi9pdGVyYWJsZS5qc29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCBlZTkwNmY3NWVhMi4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9q
c29uL2l0ZXJhYmxlLmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSw4NiArMCwwIEBACi1bCi0gICAg
ewotICAgICAgICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFtZSI6ICJJdGVyYWJs
ZU9uZSIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJzIjogWwot
ICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogIml0ZXJhYmxlIiwKLSAgICAg
ICAgICAgICAgICAiaWRsVHlwZSI6IFsKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAg
ICAgICAgICAgICAgICAgInR5cGUiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgImdl
bmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICJpZGxUeXBlIjogImxvbmciLAotICAgICAgICAgICAgICAgICAgICAgICAgImV4
dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0g
ICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0KLSAgICAgICAgXSwK
LSAgICAgICAgImluaGVyaXRhbmNlIjogbnVsbCwKLSAgICAgICAgImV4dEF0dHJzIjogW10KLSAg
ICB9LAotICAgIHsKLSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUi
OiAiSXRlcmFibGVUd28iLAotICAgICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVt
YmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJpdGVyYWJs
ZSIsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiBbCi0gICAgICAgICAgICAgICAgICAgIHsK
LSAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogbnVsbCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJs
ZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJzaG9ydCIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAg
ICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6IG51bGwsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAibnVsbGFibGUiOiB0cnVlLAotICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJkb3VibGUiLAotICAg
ICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAg
fQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAg
ICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImluaGVyaXRhbmNlIjogbnVsbCwKLSAg
ICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9LAotICAgIHsKLSAgICAgICAgInR5cGUiOiAiaW50
ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUiOiAiSXRlcmFibGVUaHJlZSIsCi0gICAgICAgICJwYXJ0
aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJzIjogWwotICAgICAgICAgICAgewotICAgICAg
ICAgICAgICAgICJ0eXBlIjogIml0ZXJhYmxlIiwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6
IFsKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUi
OiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAg
ICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjog
ImxvbmciLAotICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogWwotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5h
bWUiOiAiWEF0dHIiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYXJndW1lbnRz
IjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiZXh0ZW5k
ZWQtYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInJocyI6IG51
bGwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgICAg
ICBdCi0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAg
ICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAg
ICJpbmhlcml0YW5jZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgfQotXQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2l0ZXJhdG9yLmpzb24gYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvc3ludGF4L2pzb24vaXRlcmF0b3IuanNvbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggZjk2MDViODM0NTAuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9p
dGVyYXRvci5qc29uCisrKyAvZGV2L251bGwKQEAgLTEsMjc2ICswLDAgQEAKLVsKLSAgICB7Ci0g
ICAgICAgICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAgICAgICJuYW1lIjogIlNlc3Npb25NYW5h
Z2VyIiwKLSAgICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJlcnMiOiBbCi0g
ICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAib3BlcmF0aW9uIiwKLSAgICAg
ICAgICAgICAgICAiZ2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInNldHRlciI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICJkZWxldGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
InN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAic2VxdWVu
Y2UiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAg
ICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVu
aW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogIlNlc3Npb24iCi0g
ICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJnZXRTZXNzaW9uRm9y
VXNlciIsCi0gICAgICAgICAgICAgICAgImFyZ3VtZW50cyI6IFsKLSAgICAgICAgICAgICAgICAg
ICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIm9wdGlvbmFsIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAidmFyaWFkaWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJleHRBdHRycyI6IFtdLAotICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInNlcXVlbmNlIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjog
IkRPTVN0cmluZyIKLSAgICAgICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAg
ICAgICAgICAibmFtZSI6ICJ1c2VybmFtZSIKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAg
ICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAg
IH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwK
LSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmlu
Z2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAicmVhZG9ubHkiOiB0cnVlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjog
ewotICAgICAgICAgICAgICAgICAgICAic2VxdWVuY2UiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgICAgICJpZGxUeXBlIjogInVuc2lnbmVkIGxvbmciCi0gICAgICAgICAgICAgICAgfSwKLSAg
ICAgICAgICAgICAgICAibmFtZSI6ICJzZXNzaW9uQ291bnQiLAotICAgICAgICAgICAgICAgICJl
eHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAg
ICAgICJ0eXBlIjogIml0ZXJhdG9yIiwKLSAgICAgICAgICAgICAgICAiZ2V0dGVyIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgInNldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJkZWxl
dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjog
ewotICAgICAgICAgICAgICAgICAgICAic2VxdWVuY2UiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgICAgICJpZGxUeXBlIjogIlNlc3Npb24iCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAg
ICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfQotICAgICAgICBdLAotICAgICAg
ICAiaW5oZXJpdGFuY2UiOiBudWxsLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0sCi0g
ICAgewotICAgICAgICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFtZSI6ICJTZXNz
aW9uIiwKLSAgICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJlcnMiOiBbCi0g
ICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAgICAg
ICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVy
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAicmVhZG9ubHkiOiB0cnVlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAg
ICAgICAgICAgICAgICAgICAic2VxdWVuY2UiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAg
ImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAg
ICJpZGxUeXBlIjogIkRPTVN0cmluZyIKLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAg
ICAgICJuYW1lIjogInVzZXJuYW1lIiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQot
ICAgICAgICAgICAgfQotICAgICAgICBdLAotICAgICAgICAiaW5oZXJpdGFuY2UiOiBudWxsLAot
ICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0sCi0gICAgewotICAgICAgICAidHlwZSI6ICJp
bnRlcmZhY2UiLAotICAgICAgICAibmFtZSI6ICJTZXNzaW9uTWFuYWdlcjIiLAotICAgICAgICAi
cGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAg
ICAgICAgICAgICAgICAidHlwZSI6ICJvcGVyYXRpb24iLAotICAgICAgICAgICAgICAgICJnZXR0
ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgImRlbGV0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJzZXF1ZW5jZSI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJu
dWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiU2Vzc2lvbjIiCi0gICAgICAgICAgICAgICAg
fSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJnZXRTZXNzaW9uRm9yVXNlciIsCi0gICAgICAg
ICAgICAgICAgImFyZ3VtZW50cyI6IFsKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAg
ICAgICAgICAgICAgICAgIm9wdGlvbmFsIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAidmFyaWFkaWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6
IFtdLAotICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgInNlcXVlbmNlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJudWxs
YWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogIkRPTVN0cmluZyIKLSAg
ICAgICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6
ICJ1c2VybmFtZSIKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0g
ICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAg
ICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAg
ICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAicmVh
ZG9ubHkiOiB0cnVlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAg
ICAgICAgICAic2VxdWVuY2UiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMi
OiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBl
IjogInVuc2lnbmVkIGxvbmciCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAi
bmFtZSI6ICJzZXNzaW9uQ291bnQiLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0g
ICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogIml0
ZXJhdG9yIiwKLSAgICAgICAgICAgICAgICAiZ2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgInNldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJkZWxldGVyIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdp
ZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAg
ICAgICAgICAic2VxdWVuY2UiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMi
OiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBl
IjogIlNlc3Npb24yIgotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIml0ZXJh
dG9yT2JqZWN0IjogIlNlc3Npb25JdGVyYXRvciIsCi0gICAgICAgICAgICAgICAgImV4dEF0dHJz
IjogW10KLSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImluaGVyaXRhbmNlIjog
bnVsbCwKLSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9LAotICAgIHsKLSAgICAgICAgInR5
cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUiOiAiU2Vzc2lvbjIiLAotICAgICAgICAi
cGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAg
ICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJzdGF0
aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJyZWFkb25seSI6
IHRydWUsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAg
ICJzZXF1ZW5jZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGws
Ci0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiRE9N
U3RyaW5nIgotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAidXNl
cm5hbWUiLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9Ci0g
ICAgICAgIF0sCi0gICAgICAgICJpbmhlcml0YW5jZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRy
cyI6IFtdCi0gICAgfSwKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAg
ICAgICJuYW1lIjogIlNlc3Npb25JdGVyYXRvciIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFsc2Us
Ci0gICAgICAgICJtZW1iZXJzIjogWwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0
eXBlIjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpbmhl
cml0IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5IjogdHJ1ZSwKLSAgICAgICAg
ICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInNlcXVlbmNlIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAg
ICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJ1bnNpZ25lZCBsb25nIgotICAg
ICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAicmVtYWluaW5nU2Vzc2lv
bnMiLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAg
ICAgIF0sCi0gICAgICAgICJpbmhlcml0YW5jZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6
IFtdCi0gICAgfSwKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAgICAg
ICJuYW1lIjogIk5vZGVMaXN0IiwKLSAgICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAg
Im1lbWJlcnMiOiBbCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiaXRl
cmF0b3IiLAotICAgICAgICAgICAgICAgICJnZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAic2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImRlbGV0ZXIiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lm
aWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAg
ICAgICAgICJzZXF1ZW5jZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6
IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUi
OiAiTm9kZSIKLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJpdGVyYXRvck9i
amVjdCI6ICJOb2RlSXRlcmF0b3IiLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0g
ICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJpbmhlcml0YW5jZSI6IG51bGwsCi0g
ICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgfSwKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImlu
dGVyZmFjZSIsCi0gICAgICAgICJuYW1lIjogIk5vZGVJdGVyYXRvciIsCi0gICAgICAgICJwYXJ0
aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJzIjogWwotICAgICAgICAgICAgewotICAgICAg
ICAgICAgICAgICJ0eXBlIjogIml0ZXJhdG9yIiwKLSAgICAgICAgICAgICAgICAiZ2V0dGVyIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgInNldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICJkZWxldGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxU
eXBlIjogewotICAgICAgICAgICAgICAgICAgICAic2VxdWVuY2UiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFi
bGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgICAgICJpZGxUeXBlIjogIk5vZGUiCi0gICAgICAgICAgICAgICAgfSwKLSAgICAg
ICAgICAgICAgICAiaXRlcmF0b3JPYmplY3QiOiAib2JqZWN0IiwKLSAgICAgICAgICAgICAgICAi
ZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfQotICAgICAgICBdLAotICAgICAgICAiaW5oZXJp
dGFuY2UiOiBudWxsLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0KLV0KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9sZWdhY3lpdGVyYWJsZS5qc29uIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3N5bnRheC9qc29uL2xlZ2FjeWl0ZXJhYmxlLmpzb24KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDgwZmQwMDBhODQ5Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pz
b24vbGVnYWN5aXRlcmFibGUuanNvbgorKysgL2Rldi9udWxsCkBAIC0xLDI1ICswLDAgQEAKLVsK
LSAgICB7Ci0gICAgICAgICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAgICAgICJuYW1lIjogIkxl
Z2FjeUl0ZXJhYmxlIiwKLSAgICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJl
cnMiOiBbCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAibGVnYWN5aXRl
cmFibGUiLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogWwotICAgICAgICAgICAgICAgICAg
ICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6IG51bGwsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAibnVs
bGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAibG9uZyIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAg
ICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAg
fQotICAgICAgICBdLAotICAgICAgICAiaW5oZXJpdGFuY2UiOiBudWxsLAotICAgICAgICAiZXh0
QXR0cnMiOiBbXQotICAgIH0KLV0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9t
YXBsaWtlLmpzb24gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vbWFwbGlrZS5qc29uCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyY2I4YzM2MGVlMy4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L3N5bnRheC9qc29uL21hcGxpa2UuanNvbgorKysgL2Rldi9udWxsCkBAIC0xLDExMiAr
MCwwIEBACi1bCi0gICAgewotICAgICAgICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAi
bmFtZSI6ICJNYXBMaWtlIiwKLSAgICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1l
bWJlcnMiOiBbCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAibWFwbGlr
ZSIsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiBbCi0gICAgICAgICAgICAgICAgICAgIHsK
LSAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogbnVsbCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJs
ZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJsb25nIiwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAg
ICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogbnVsbCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJmbG9hdCIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICB9
Ci0gICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICAicmVhZG9ubHkiOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfQotICAgICAgICBd
LAotICAgICAgICAiaW5oZXJpdGFuY2UiOiBudWxsLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQot
ICAgIH0sCi0gICAgewotICAgICAgICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFt
ZSI6ICJSZWFkT25seU1hcExpa2UiLAotICAgICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAg
ICAibWVtYmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJt
YXBsaWtlIiwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IFsKLSAgICAgICAgICAgICAgICAg
ICAgewotICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiBudWxsLAotICAgICAgICAgICAg
ICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgIm51
bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogImxvbmciLAotICAgICAgICAgICAg
ICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAg
ICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiBudWxsLAot
ICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAg
ICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAidW5p
b24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogImZsb2F0IiwK
LSAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAg
ICAgIH0KLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgICJyZWFkb25seSI6IHRy
dWUsCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0KLSAgICAg
ICAgXSwKLSAgICAgICAgImluaGVyaXRhbmNlIjogbnVsbCwKLSAgICAgICAgImV4dEF0dHJzIjog
W10KLSAgICB9LAotICAgIHsKLSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAg
Im5hbWUiOiAiSSIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJz
IjogWwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogIm1hcGxpa2UiLAot
ICAgICAgICAgICAgICAgICJpZGxUeXBlIjogWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICAidHlwZSI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiRE9NU3RyaW5nIiwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICJleHRBdHRycyI6IFsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjogIlhBdHRyMiIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJhcmd1bWVudHMiOiBudWxsLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAidHlwZSI6ICJleHRlbmRlZC1hdHRyaWJ1dGUiLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAicmhzIjogbnVsbAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAgICAgIF0KLSAgICAgICAgICAgICAgICAgICAg
fSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUi
OiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAg
ICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjog
ImxvbmciLAotICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogWwotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5h
bWUiOiAiWEF0dHIzIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImFyZ3VtZW50
cyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImV4dGVu
ZGVkLWF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyaHMiOiBu
dWxsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICAgICAg
ICAgXQotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXSwKLSAgICAgICAg
ICAgICAgICAicmVhZG9ubHkiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBb
XQotICAgICAgICAgICAgfQotICAgICAgICBdLAotICAgICAgICAiaW5oZXJpdGFuY2UiOiBudWxs
LAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0KLV0KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC9zeW50YXgvanNvbi9taXhpbi5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL21peGluLmpz
b24KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGIwMzdjYjM1Nzc5Li4wMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vbWl4aW4uanNvbgorKysgL2Rldi9udWxsCkBA
IC0xLDY2ICswLDAgQEAKLVsKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImludGVyZmFjZSBtaXhp
biIsCi0gICAgICAgICJuYW1lIjogIkdsb2JhbENyeXB0byIsCi0gICAgICAgICJwYXJ0aWFsIjog
ZmFsc2UsCi0gICAgICAgICJtZW1iZXJzIjogWwotICAgICAgICAgICAgewotICAgICAgICAgICAg
ICAgICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICJpbmhlcml0IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5IjogdHJ1ZSwKLSAg
ICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAi
YXR0cmlidXRlLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0g
ICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAg
ICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiQ3J5cHRv
IiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9
LAotICAgICAgICAgICAgICAgICJuYW1lIjogImNyeXB0byIsCi0gICAgICAgICAgICAgICAgImVz
Y2FwZWROYW1lIjogImNyeXB0byIsCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAg
ICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9LAot
ICAgIHsKLSAgICAgICAgInR5cGUiOiAiaW5jbHVkZXMiLAotICAgICAgICAidGFyZ2V0IjogIldp
bmRvdyIsCi0gICAgICAgICJpbmNsdWRlcyI6ICJHbG9iYWxDcnlwdG8iLAotICAgICAgICAiZXh0
QXR0cnMiOiBbXQotICAgIH0sCi0gICAgewotICAgICAgICAidHlwZSI6ICJpbmNsdWRlcyIsCi0g
ICAgICAgICJ0YXJnZXQiOiAiV29ya2VyR2xvYmFsU2NvcGUiLAotICAgICAgICAiaW5jbHVkZXMi
OiAiR2xvYmFsQ3J5cHRvIiwKLSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9LAotICAgIHsK
LSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIG1peGluIiwKLSAgICAgICAgIm5hbWUiOiAiV2lu
ZG93T3JXb3JrZXJHbG9iYWxTY29wZSIsCi0gICAgICAgICJwYXJ0aWFsIjogdHJ1ZSwKLSAgICAg
ICAgIm1lbWJlcnMiOiBbCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAi
YXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImluaGVyaXQiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAicmVhZG9ubHkiOiB0cnVlLAotICAgICAgICAgICAgICAg
ICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlw
ZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAg
ICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJDcnlwdG8iLAotICAgICAgICAg
ICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAg
ICAgICAgIm5hbWUiOiAiY3J5cHRvIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAi
Y3J5cHRvIiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfQot
ICAgICAgICBdLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0KLV0KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC9zeW50YXgvanNvbi9uYW1lZGNvbnN0cnVjdG9yLmpzb24gYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
c3ludGF4L2pzb24vbmFtZWRjb25zdHJ1Y3Rvci5qc29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCBkZWI0MjllOTg2ZS4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9q
c29uL25hbWVkY29uc3RydWN0b3IuanNvbgorKysgL2Rldi9udWxsCkBAIC0xLDQ2ICswLDAgQEAK
LVsKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAgICAgICJuYW1lIjog
IkhUTUxBdWRpb0VsZW1lbnQiLAotICAgICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAi
bWVtYmVycyI6IFtdLAotICAgICAgICAiaW5oZXJpdGFuY2UiOiAiSFRNTE1lZGlhRWxlbWVudCIs
Ci0gICAgICAgICJleHRBdHRycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAi
bmFtZSI6ICJOYW1lZENvbnN0cnVjdG9yIiwKLSAgICAgICAgICAgICAgICAiYXJndW1lbnRzIjog
bnVsbCwKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJleHRlbmRlZC1hdHRyaWJ1dGUiLAotICAg
ICAgICAgICAgICAgICJyaHMiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImlkZW50
aWZpZXIiLAotICAgICAgICAgICAgICAgICAgICAidmFsdWUiOiAiQXVkaW8iCi0gICAgICAgICAg
ICAgICAgfQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAi
bmFtZSI6ICJOYW1lZENvbnN0cnVjdG9yIiwKLSAgICAgICAgICAgICAgICAiYXJndW1lbnRzIjog
WwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAib3B0aW9u
YWwiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ2YXJpYWRpYyI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHQiOiBudWxsLAotICAgICAgICAgICAgICAg
ICAgICAgICAgImV4dEF0dHJzIjogW10sCi0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlw
ZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBl
IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ImlkbFR5cGUiOiAiRE9NU3RyaW5nIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0
QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICJuYW1lIjogInNyYyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXNjYXBlZE5h
bWUiOiAic3JjIgotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXSwKLSAg
ICAgICAgICAgICAgICAidHlwZSI6ICJleHRlbmRlZC1hdHRyaWJ1dGUiLAotICAgICAgICAgICAg
ICAgICJyaHMiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImlkZW50aWZpZXIiLAot
ICAgICAgICAgICAgICAgICAgICAidmFsdWUiOiAiQXVkaW8iCi0gICAgICAgICAgICAgICAgfQot
ICAgICAgICAgICAgfQotICAgICAgICBdCi0gICAgfQotXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3N5bnRheC9qc29uL25hbWVzcGFjZS5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL25hbWVz
cGFjZS5qc29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5ZTM3YjI2ZmE2NS4uMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL25hbWVzcGFjZS5qc29uCisrKyAv
ZGV2L251bGwKQEAgLTEsMTQxICswLDAgQEAKLVsKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogIm5h
bWVzcGFjZSIsCi0gICAgICAgICJuYW1lIjogIlZlY3RvclV0aWxzIiwKLSAgICAgICAgInBhcnRp
YWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJlcnMiOiBbCi0gICAgICAgICAgICB7Ci0gICAgICAg
ICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAic3RhdGljIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAicmVhZG9ubHkiOiB0cnVl
LAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlw
ZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVs
bCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJW
ZWN0b3IiLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAg
ICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAidW5pdCIsCi0gICAgICAgICAgICAgICAg
ImVzY2FwZWROYW1lIjogInVuaXQiLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0g
ICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogIm9w
ZXJhdGlvbiIsCi0gICAgICAgICAgICAgICAgImdldHRlciI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICJzZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiZGVsZXRlciI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5n
aWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAg
ICAgICAgICAgInR5cGUiOiAicmV0dXJuLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2Vu
ZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlk
bFR5cGUiOiAiZG91YmxlIiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAg
ICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogImRvdFByb2R1Y3QiLAot
ICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJkb3RQcm9kdWN0IiwKLSAgICAgICAgICAg
ICAgICAiYXJndW1lbnRzIjogWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICAib3B0aW9uYWwiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ2
YXJpYWRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHQiOiBudWxs
LAotICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10sCi0gICAgICAgICAgICAg
ICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlw
ZSI6ICJhcmd1bWVudC10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJp
YyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiVmVjdG9yIiwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjogIngiLAotICAgICAgICAgICAgICAgICAgICAg
ICAgImVzY2FwZWROYW1lIjogIngiCi0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAg
ICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJvcHRpb25hbCI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgInZhcmlhZGljIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAiZGVmYXVsdCI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXh0
QXR0cnMiOiBbXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImFyZ3VtZW50LXR5cGUiLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAi
dW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJW
ZWN0b3IiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAg
ICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAi
eSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAieSIKLSAgICAgICAg
ICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgImV4dEF0
dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAg
InR5cGUiOiAib3BlcmF0aW9uIiwKLSAgICAgICAgICAgICAgICAiZ2V0dGVyIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgInNldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJkZWxldGVy
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewot
ICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAgICAgICAgICAg
ICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICAgICAiaWRsVHlwZSI6ICJWZWN0b3IiLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0
cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiY3Jv
c3NQcm9kdWN0IiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiY3Jvc3NQcm9kdWN0
IiwKLSAgICAgICAgICAgICAgICAiYXJndW1lbnRzIjogWwotICAgICAgICAgICAgICAgICAgICB7
Ci0gICAgICAgICAgICAgICAgICAgICAgICAib3B0aW9uYWwiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJ2YXJpYWRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ImRlZmF1bHQiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10s
Ci0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51
bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiVmVjdG9yIiwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAg
ICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjogIngiLAotICAgICAg
ICAgICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogIngiCi0gICAgICAgICAgICAgICAgICAg
IH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJvcHRp
b25hbCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgInZhcmlhZGljIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdCI6IG51bGwsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAiZXh0QXR0cnMiOiBbXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJpZGxU
eXBlIjogewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImFyZ3VtZW50LXR5
cGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAiaWRsVHlwZSI6ICJWZWN0b3IiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHRB
dHRycyI6IFtdCi0gICAgICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAg
ICAgICAgIm5hbWUiOiAieSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUi
OiAieSIKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAg
ICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAg
ICAgImV4dEF0dHJzIjogW10KLSAgICB9LAotICAgIHsKLSAgICAgICAgInR5cGUiOiAibmFtZXNw
YWNlIiwKLSAgICAgICAgIm5hbWUiOiAiU29tZU5hbWVzcGFjZSIsCi0gICAgICAgICJwYXJ0aWFs
IjogdHJ1ZSwKLSAgICAgICAgIm1lbWJlcnMiOiBbXSwKLSAgICAgICAgImV4dEF0dHJzIjogW10K
LSAgICB9Ci1dCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vbm9pbnRlcmZhY2Vv
YmplY3QuanNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9ub2ludGVyZmFjZW9iamVjdC5qc29u
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjYWZiNWUwZTE1Ni4uMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL25vaW50ZXJmYWNlb2JqZWN0Lmpzb24KKysrIC9k
ZXYvbnVsbApAQCAtMSw1NSArMCwwIEBACi1bCi0gICAgewotICAgICAgICAidHlwZSI6ICJpbnRl
cmZhY2UiLAotICAgICAgICAibmFtZSI6ICJRdWVyeSIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFs
c2UsCi0gICAgICAgICJtZW1iZXJzIjogWwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAg
ICJ0eXBlIjogIm9wZXJhdGlvbiIsCi0gICAgICAgICAgICAgICAgImdldHRlciI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICJzZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiZGVsZXRl
ciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsK
LSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAicmV0dXJuLXR5cGUiLAotICAgICAgICAgICAg
ICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAgICAgImlkbFR5cGUiOiAiYW55IiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJz
IjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogImxvb2t1
cEVudHJ5IiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAibG9va3VwRW50cnkiLAot
ICAgICAgICAgICAgICAgICJhcmd1bWVudHMiOiBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJvcHRpb25hbCI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgInZhcmlhZGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZGVm
YXVsdCI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICJ0eXBlIjogImFyZ3VtZW50LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFi
bGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJ1bnNpZ25lZCBsb25nIiwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAg
ICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjogImtleSIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAia2V5IgotICAgICAgICAgICAg
ICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMi
OiBbXQotICAgICAgICAgICAgfQotICAgICAgICBdLAotICAgICAgICAiaW5oZXJpdGFuY2UiOiBu
dWxsLAotICAgICAgICAiZXh0QXR0cnMiOiBbCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAg
ICAgIm5hbWUiOiAiTm9JbnRlcmZhY2VPYmplY3QiLAotICAgICAgICAgICAgICAgICJhcmd1bWVu
dHMiOiBudWxsLAotICAgICAgICAgICAgICAgICJ0eXBlIjogImV4dGVuZGVkLWF0dHJpYnV0ZSIs
Ci0gICAgICAgICAgICAgICAgInJocyI6IG51bGwKLSAgICAgICAgICAgIH0KLSAgICAgICAgXQot
ICAgIH0KLV0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9udWxsYWJsZS5qc29u
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL251bGxhYmxlLmpzb24KZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IGYzMjVlMmVhYjdiLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3lu
dGF4L2pzb24vbnVsbGFibGUuanNvbgorKysgL2Rldi9udWxsCkBAIC0xLDU2ICswLDAgQEAKLVsK
LSAgICB7Ci0gICAgICAgICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAgICAgICJuYW1lIjogIk15
Q29uc3RhbnRzIiwKLSAgICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJlcnMi
OiBbCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiY29uc3QiLAotICAg
ICAgICAgICAgICAgICJudWxsYWJsZSI6IHRydWUsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUi
OiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImNvbnN0LXR5cGUiLAotICAgICAgICAg
ICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJs
ZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAgICAgImlkbFR5cGUiOiAiYm9vbGVhbiIsCi0gICAgICAgICAgICAgICAgICAgICJl
eHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6
ICJBUkVfV0VfVEhFUkVfWUVUIiwKLSAgICAgICAgICAgICAgICAidmFsdWUiOiB7Ci0gICAgICAg
ICAgICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAotICAgICAgICAgICAgICAgICAgICAidmFs
dWUiOiBmYWxzZQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgImV4dEF0dHJz
IjogW10KLSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImluaGVyaXRhbmNlIjog
bnVsbCwKLSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9LAotICAgIHsKLSAgICAgICAgInR5
cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUiOiAiTm9kZSIsCi0gICAgICAgICJwYXJ0
aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJzIjogWwotICAgICAgICAgICAgewotICAgICAg
ICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICJpbmhlcml0IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5IjogdHJ1
ZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5
cGUiOiAiYXR0cmlidXRlLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51
bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IHRydWUsCi0gICAgICAgICAgICAg
ICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJE
T01TdHJpbmciLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAg
ICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAibmFtZXNwYWNlVVJJIiwKLSAgICAg
ICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAibmFtZXNwYWNlVVJJIiwKLSAgICAgICAgICAgICAg
ICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfQotICAgICAgICBdLAotICAgICAgICAiaW5o
ZXJpdGFuY2UiOiBudWxsLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0KLV0KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9udWxsYWJsZW9iamVjdHMuanNvbiBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC9zeW50YXgvanNvbi9udWxsYWJsZW9iamVjdHMuanNvbgpkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMjdlY2QyNWQzNjMuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50
YXgvanNvbi9udWxsYWJsZW9iamVjdHMuanNvbgorKysgL2Rldi9udWxsCkBAIC0xLDEwMSArMCww
IEBACi1bCi0gICAgewotICAgICAgICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFt
ZSI6ICJBIiwKLSAgICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJlcnMiOiBb
XSwKLSAgICAgICAgImluaGVyaXRhbmNlIjogbnVsbCwKLSAgICAgICAgImV4dEF0dHJzIjogW10K
LSAgICB9LAotICAgIHsKLSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5h
bWUiOiAiQiIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJzIjog
W10sCi0gICAgICAgICJpbmhlcml0YW5jZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6IFtd
Ci0gICAgfSwKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAgICAgICJu
YW1lIjogIkMiLAotICAgICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6
IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJvcGVyYXRpb24iLAot
ICAgICAgICAgICAgICAgICJnZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic2V0dGVy
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImRlbGV0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0
eXBlIjogInJldHVybi10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxs
LAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogInZv
aWQiLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAg
IH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiZiIsCi0gICAgICAgICAgICAgICAgImVzY2Fw
ZWROYW1lIjogImYiLAotICAgICAgICAgICAgICAgICJhcmd1bWVudHMiOiBbCi0gICAgICAgICAg
ICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJvcHRpb25hbCI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgInZhcmlhZGljIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAiZGVmYXVsdCI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXh0
QXR0cnMiOiBbXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImFyZ3VtZW50LXR5cGUiLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAibnVsbGFibGUiOiB0cnVlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1
bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogIkEi
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAg
ICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAieCIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAieCIKLSAgICAgICAgICAgICAg
ICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjog
W10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUi
OiAib3BlcmF0aW9uIiwKLSAgICAgICAgICAgICAgICAiZ2V0dGVyIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgInNldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJkZWxldGVyIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJz
dHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAg
ICAgICAgICAgICAgICAidHlwZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAgICAgICAgICAgICAgICAg
ICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAg
ICAiaWRsVHlwZSI6ICJ2b2lkIiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10K
LSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogImYiLAotICAgICAg
ICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJmIiwKLSAgICAgICAgICAgICAgICAiYXJndW1lbnRz
IjogWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAib3B0
aW9uYWwiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ2YXJpYWRpYyI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHQiOiBudWxsLAotICAgICAgICAgICAg
ICAgICAgICAgICAgImV4dEF0dHJzIjogW10sCi0gICAgICAgICAgICAgICAgICAgICAgICAiaWRs
VHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10
eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogdHJ1ZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAiaWRsVHlwZSI6ICJCIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMi
OiBbXQotICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJuYW1lIjogIngiLAotICAgICAgICAgICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogIngi
Ci0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAg
ICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJp
bmhlcml0YW5jZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgfQotXQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL29wZXJhdGlvbi1vcHRpb25hbC1hcmcuanNv
biBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9vcGVyYXRpb24tb3B0aW9uYWwtYXJnLmpzb24KZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDRiNzQzNmJhNWJhLi4wMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vb3BlcmF0aW9uLW9wdGlvbmFsLWFyZy5qc29uCisrKyAv
ZGV2L251bGwKQEAgLTEsOTkgKzAsMCBAQAotWwotICAgIHsKLSAgICAgICAgInR5cGUiOiAiaW50
ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUiOiAiQ29sb3JDcmVhdG9yIiwKLSAgICAgICAgInBhcnRp
YWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJlcnMiOiBbCi0gICAgICAgICAgICB7Ci0gICAgICAg
ICAgICAgICAgInR5cGUiOiAib3BlcmF0aW9uIiwKLSAgICAgICAgICAgICAgICAiZ2V0dGVyIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgInNldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICJkZWxldGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxU
eXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAg
ICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51
bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJvYmplY3QiLAotICAgICAgICAgICAgICAgICAg
ICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5h
bWUiOiAiY3JlYXRlQ29sb3IiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJjcmVh
dGVDb2xvciIsCi0gICAgICAgICAgICAgICAgImFyZ3VtZW50cyI6IFsKLSAgICAgICAgICAgICAg
ICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIm9wdGlvbmFsIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAidmFyaWFkaWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICJkZWZhdWx0IjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRy
cyI6IFtdLAotICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlv
biI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogImZsb2F0
IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAg
ICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjogInYxIiwK
LSAgICAgICAgICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJ2MSIKLSAgICAgICAgICAg
ICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAg
ICAgIm9wdGlvbmFsIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAidmFyaWFkaWMi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0IjogbnVsbCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdLAotICAgICAgICAgICAgICAgICAgICAg
ICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXJn
dW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxs
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJpZGxUeXBlIjogImZsb2F0IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJuYW1lIjogInYyIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJlc2Nh
cGVkTmFtZSI6ICJ2MiIKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAg
ICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIm9wdGlvbmFsIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAidmFyaWFkaWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJkZWZhdWx0IjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6
IFtdLAotICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgInR5cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogImZsb2F0IiwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAg
ICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjogInYzIiwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJ2MyIKLSAgICAgICAgICAgICAg
ICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAg
Im9wdGlvbmFsIjogdHJ1ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ2YXJpYWRpYyI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHQiOiB7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgInR5cGUiOiAibnVtYmVyIiwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAidmFsdWUiOiAiMy41IgotICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdLAotICAgICAgICAgICAgICAgICAgICAgICAg
ImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXJndW1l
bnQtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICJpZGxUeXBlIjogImZsb2F0IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAi
ZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICJuYW1lIjogImFscGhhIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJlc2Nh
cGVkTmFtZSI6ICJhbHBoYSIKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAg
IF0sCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0KLSAgICAg
ICAgXSwKLSAgICAgICAgImluaGVyaXRhbmNlIjogbnVsbCwKLSAgICAgICAgImV4dEF0dHJzIjog
W10KLSAgICB9Ci1dCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vb3ZlcmxvYWRp
bmcuanNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9vdmVybG9hZGluZy5qc29uCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiZjdhY2E2Y2RlMy4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L3N5bnRheC9qc29uL292ZXJsb2FkaW5nLmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSwz
MjggKzAsMCBAQAotWwotICAgIHsKLSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAg
ICAgIm5hbWUiOiAiQSIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1i
ZXJzIjogW10sCi0gICAgICAgICJpbmhlcml0YW5jZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRy
cyI6IFtdCi0gICAgfSwKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAg
ICAgICJuYW1lIjogIkIiLAotICAgICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVt
YmVycyI6IFtdLAotICAgICAgICAiaW5oZXJpdGFuY2UiOiBudWxsLAotICAgICAgICAiZXh0QXR0
cnMiOiBbXQotICAgIH0sCi0gICAgewotICAgICAgICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAg
ICAgICAibmFtZSI6ICJDIiwKLSAgICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1l
bWJlcnMiOiBbCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAib3BlcmF0
aW9uIiwKLSAgICAgICAgICAgICAgICAiZ2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
InNldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJkZWxldGVyIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmll
ciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAg
ICAgICAidHlwZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmlj
IjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlw
ZSI6ICJ2b2lkIiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAg
ICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogImYiLAotICAgICAgICAgICAgICAg
ICJlc2NhcGVkTmFtZSI6ICJmIiwKLSAgICAgICAgICAgICAgICAiYXJndW1lbnRzIjogWwotICAg
ICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAib3B0aW9uYWwiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ2YXJpYWRpYyI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgImRlZmF1bHQiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAg
ICAgImV4dEF0dHJzIjogW10sCi0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5
cGUiOiAiQSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAg
ICAgICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6
ICJ4IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJ4IgotICAgICAg
ICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICAiZXh0
QXR0cnMiOiBbXQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAg
ICAidHlwZSI6ICJvcGVyYXRpb24iLAotICAgICAgICAgICAgICAgICJnZXR0ZXIiOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAic2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImRlbGV0
ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7
Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInJldHVybi10eXBlIiwKLSAgICAgICAgICAg
ICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgICAgICJpZGxUeXBlIjogInZvaWQiLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0
cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiZiIs
Ci0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImYiLAotICAgICAgICAgICAgICAgICJh
cmd1bWVudHMiOiBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJvcHRpb25hbCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgInZhcmlhZGlj
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdCI6IG51bGwsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImFy
Z3VtZW50LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVs
bCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAiaWRsVHlwZSI6ICJCIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAi
ZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICJuYW1lIjogIngiLAotICAgICAgICAgICAgICAgICAgICAgICAgImVzY2FwZWRO
YW1lIjogIngiCi0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdLAotICAg
ICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0g
ICAgICAgICJpbmhlcml0YW5jZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0gICAg
fSwKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAgICAgICJuYW1lIjog
IkQiLAotICAgICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFsKLSAg
ICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJvcGVyYXRpb24iLAotICAgICAg
ICAgICAgICAgICJnZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic2V0dGVyIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgImRlbGV0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAi
c3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjog
InJldHVybi10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAg
ICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAg
InVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogInZvaWQiLAot
ICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0g
ICAgICAgICAgICAgICAgIm5hbWUiOiAiZiIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1l
IjogImYiLAotICAgICAgICAgICAgICAgICJhcmd1bWVudHMiOiBbCi0gICAgICAgICAgICAgICAg
ICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJvcHRpb25hbCI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgInZhcmlhZGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAiZGVmYXVsdCI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMi
OiBbXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICJ0eXBlIjogImFyZ3VtZW50LXR5cGUiLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5pb24i
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJET01TdHJp
bmciLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAg
ICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAiYSIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiYSIKLSAgICAgICAgICAg
ICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgImV4dEF0dHJz
IjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5
cGUiOiAib3BlcmF0aW9uIiwKLSAgICAgICAgICAgICAgICAiZ2V0dGVyIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgInNldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJkZWxldGVyIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAg
ICAgICAgICAgICAgICAgICAidHlwZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAgICAgICAgICAgICAg
ICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICAgICAiaWRsVHlwZSI6ICJ2b2lkIiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjog
W10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogImYiLAotICAg
ICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJmIiwKLSAgICAgICAgICAgICAgICAiYXJndW1l
bnRzIjogWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAi
b3B0aW9uYWwiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ2YXJpYWRpYyI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHQiOiBudWxsLAotICAgICAgICAg
ICAgICAgICAgICAgICAgImV4dEF0dHJzIjogWwotICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAiQWxsb3dBbnkiLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYXJndW1lbnRzIjogbnVsbCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiZXh0ZW5kZWQtYXR0cmlidXRlIiwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInJocyI6IG51bGwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgICAgICBdLAotICAgICAgICAg
ICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
InR5cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImdl
bmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogIkRPTVN0cmluZyIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgICAg
IH0sCi0gICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJhIiwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJhIgotICAgICAgICAgICAgICAgICAgICB9LAotICAg
ICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAib3B0aW9uYWwiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ2YXJpYWRpYyI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgImRlZmF1bHQiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAg
ICAgImV4dEF0dHJzIjogW10sCi0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5
cGUiOiAiRE9NU3RyaW5nIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMi
OiBbXQotICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJuYW1lIjogImIiLAotICAgICAgICAgICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImIi
Ci0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAg
ICAgICAgICAgICAgICAgICJvcHRpb25hbCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgInZhcmlhZGljIjogdHJ1ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0Ijog
bnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdLAotICAgICAgICAg
ICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
InR5cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImdl
bmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogImZsb2F0IiwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAgICAgfSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjogImMiLAotICAgICAgICAgICAgICAgICAg
ICAgICAgImVzY2FwZWROYW1lIjogImMiCi0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAg
ICAgICAgICBdLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9
LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogIm9wZXJhdGlvbiIsCi0g
ICAgICAgICAgICAgICAgImdldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzZXR0ZXIi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiZGVsZXRlciI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5
cGUiOiAicmV0dXJuLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGws
Ci0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAidm9p
ZCIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAg
fSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJmIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBl
ZE5hbWUiOiAiZiIsCi0gICAgICAgICAgICAgICAgImFyZ3VtZW50cyI6IFtdLAotICAgICAgICAg
ICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAg
ICAgICAgICAgICAgICJ0eXBlIjogIm9wZXJhdGlvbiIsCi0gICAgICAgICAgICAgICAgImdldHRl
ciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAiZGVsZXRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAi
aWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAicmV0dXJuLXR5cGUiLAot
ICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAg
ICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAidm9pZCIsCi0gICAgICAgICAgICAgICAg
ICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAi
bmFtZSI6ICJmIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiZiIsCi0gICAgICAg
ICAgICAgICAgImFyZ3VtZW50cyI6IFsKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAg
ICAgICAgICAgICAgICAgIm9wdGlvbmFsIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAidmFyaWFkaWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0Ijog
bnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdLAotICAgICAgICAg
ICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
InR5cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImdl
bmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogImxvbmciLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgICAgICAgICB9LAot
ICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAiYSIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAiZXNjYXBlZE5hbWUiOiAiYSIKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAg
ICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIm9wdGlvbmFsIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgICAgICAgICAidmFyaWFkaWMiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJkZWZhdWx0IjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJl
eHRBdHRycyI6IFtdLAotICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjog
IkRPTVN0cmluZyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10K
LSAgICAgICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgICAgICAibmFt
ZSI6ICJiIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJiIgotICAg
ICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICAib3B0aW9uYWwiOiB0cnVlLAotICAgICAgICAgICAgICAgICAgICAgICAgInZh
cmlhZGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdCI6IG51bGws
Ci0gICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBl
IjogImFyZ3VtZW50LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmlj
IjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJET01TdHJpbmciLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgICAgICAgICB9LAot
ICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAiYyIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAiZXNjYXBlZE5hbWUiOiAiYyIKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAg
ICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIm9wdGlvbmFsIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgICAgICAgICAidmFyaWFkaWMiOiB0cnVlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgImRlZmF1bHQiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgImV4
dEF0dHJzIjogW10sCi0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
InVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAi
ZmxvYXQiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAg
ICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAi
ZCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiZCIKLSAgICAgICAg
ICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgImV4dEF0
dHJzIjogW10KLSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImluaGVyaXRhbmNl
IjogbnVsbCwKLSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9Ci1dCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3Qvc3ludGF4L2pzb24vb3ZlcnJpZGVidWlsdGlucy5qc29uIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5
bnRheC9qc29uL292ZXJyaWRlYnVpbHRpbnMuanNvbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggZTU0YTQ2OGViOTguLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNv
bi9vdmVycmlkZWJ1aWx0aW5zLmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSw3MyArMCwwIEBACi1b
Ci0gICAgewotICAgICAgICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFtZSI6ICJT
dHJpbmdNYXAyIiwKLSAgICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJlcnMi
OiBbCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwK
LSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmlu
Z2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAicmVhZG9ubHkiOiB0cnVlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjog
ewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAgICAg
ICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxh
YmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJ1bnNpZ25lZCBsb25nIiwKLSAgICAgICAgICAgICAg
ICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAg
ICJuYW1lIjogImxlbmd0aCIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImxlbmd0
aCIsCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0gICAg
ICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAib3BlcmF0aW9uIiwKLSAgICAgICAg
ICAgICAgICAiZ2V0dGVyIjogdHJ1ZSwKLSAgICAgICAgICAgICAgICAic2V0dGVyIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgImRlbGV0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3Rh
dGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInJl
dHVybi10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAg
ICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVu
aW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogIkRPTVN0cmluZyIs
Ci0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwK
LSAgICAgICAgICAgICAgICAibmFtZSI6ICJsb29rdXAiLAotICAgICAgICAgICAgICAgICJlc2Nh
cGVkTmFtZSI6ICJsb29rdXAiLAotICAgICAgICAgICAgICAgICJhcmd1bWVudHMiOiBbCi0gICAg
ICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJvcHRpb25hbCI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgInZhcmlhZGljIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAiZGVmYXVsdCI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAiZXh0QXR0cnMiOiBbXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImFyZ3VtZW50LXR5cGUiLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlw
ZSI6ICJET01TdHJpbmciLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6
IFtdCi0gICAgICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICAgICAg
Im5hbWUiOiAia2V5IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJr
ZXkiCi0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAg
ICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAg
ICJpbmhlcml0YW5jZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6IFsKLSAgICAgICAgICAg
IHsKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJPdmVycmlkZUJ1aWx0aW5zIiwKLSAgICAgICAg
ICAgICAgICAiYXJndW1lbnRzIjogbnVsbCwKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJleHRl
bmRlZC1hdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJyaHMiOiBudWxsCi0gICAgICAgICAg
ICB9Ci0gICAgICAgIF0KLSAgICB9Ci1dCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pz
b24vcGFydGlhbC1pbnRlcmZhY2UuanNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9wYXJ0aWFs
LWludGVyZmFjZS5qc29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkNzkxMjYyZjQ2
NS4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL3BhcnRpYWwtaW50ZXJm
YWNlLmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSw1NSArMCwwIEBACi1bCi0gICAgewotICAgICAg
ICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFtZSI6ICJGb28iLAotICAgICAgICAi
cGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAg
ICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJzdGF0
aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJyZWFkb25seSI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAg
ICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmlj
IjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlw
ZSI6ICJET01TdHJpbmciLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAg
ICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiYmFyIiwKLSAgICAgICAg
ICAgICAgICAiZXNjYXBlZE5hbWUiOiAiYmFyIiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMi
OiBbXQotICAgICAgICAgICAgfQotICAgICAgICBdLAotICAgICAgICAiaW5oZXJpdGFuY2UiOiBu
dWxsLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0sCi0gICAgewotICAgICAgICAidHlw
ZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFtZSI6ICJGb28iLAotICAgICAgICAicGFydGlh
bCI6IHRydWUsCi0gICAgICAgICJtZW1iZXJzIjogWwotICAgICAgICAgICAgewotICAgICAgICAg
ICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICJpbmhlcml0IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5IjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBl
IjogImF0dHJpYnV0ZS10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxs
LAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogIkRP
TVN0cmluZyIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAg
ICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJxdXV4IiwKLSAgICAgICAgICAgICAg
ICAiZXNjYXBlZE5hbWUiOiAicXV1eCIsCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10K
LSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9
Ci1dCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vcHJpbWl0aXZlcy5qc29uIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3N5bnRheC9qc29uL3ByaW1pdGl2ZXMuanNvbgpkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggYTIxNjIyMTE0MGMuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50
YXgvanNvbi9wcmltaXRpdmVzLmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSwzMTcgKzAsMCBAQAot
WwotICAgIHsKLSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUiOiAi
UHJpbWl0aXZlcyIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJz
IjogWwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZSIs
Ci0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJp
bmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpbmhlcml0IjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgInJlYWRvbmx5IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUi
OiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZS10eXBlIiwKLSAgICAg
ICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVs
bGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgICAgICJpZGxUeXBlIjogImJvb2xlYW4iLAotICAgICAgICAgICAgICAgICAg
ICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5h
bWUiOiAidHJ1dGgiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJ0cnV0aCIsCi0g
ICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAg
ICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAg
ICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAicmVh
ZG9ubHkiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAg
ICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAi
Z2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAg
ImlkbFR5cGUiOiAiYnl0ZSIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0g
ICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJjaGFyYWN0ZXIiLAot
ICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJjaGFyYWN0ZXIiLAotICAgICAgICAgICAg
ICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAg
ICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICJpbmhlcml0IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5IjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0
eXBlIjogImF0dHJpYnV0ZS10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBu
dWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjog
Im9jdGV0IiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAg
ICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogInZhbHVlIiwKLSAgICAgICAgICAgICAg
ICAiZXNjYXBlZE5hbWUiOiAidmFsdWUiLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtd
Ci0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjog
ImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpbmhlcml0Ijog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5IjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZS10
eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAg
ICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogInNob3J0IiwKLSAgICAgICAg
ICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAg
ICAgICAgICJuYW1lIjogIm51bWJlciIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjog
Im51bWJlciIsCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0s
Ci0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAg
ICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lm
aWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAicmVhZG9ubHkiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsK
LSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlLXR5cGUiLAotICAgICAgICAg
ICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJs
ZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAgICAgImlkbFR5cGUiOiAidW5zaWduZWQgc2hvcnQiLAotICAgICAgICAgICAgICAg
ICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAg
Im5hbWUiOiAicG9zaXRpdmUiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJwb3Np
dGl2ZSIsCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0g
ICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAgICAg
ICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVy
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAicmVhZG9ubHkiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAg
ICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlLXR5cGUiLAotICAgICAgICAgICAg
ICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAgICAgImlkbFR5cGUiOiAibG9uZyIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRy
cyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJiaWci
LAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJiaWciLAotICAgICAgICAgICAgICAg
ICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAg
ICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICJpbmhlcml0IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5IjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBl
IjogImF0dHJpYnV0ZS10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxs
LAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogInVu
c2lnbmVkIGxvbmciLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAg
ICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiYmlncG9zaXRpdmUiLAotICAg
ICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJiaWdwb3NpdGl2ZSIsCi0gICAgICAgICAgICAg
ICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAg
ICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAic3RhdGljIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAicmVhZG9ubHkiOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5
cGUiOiAiYXR0cmlidXRlLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51
bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAi
bG9uZyBsb25nIiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAg
ICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogImJpZ2JpZyIsCi0gICAgICAgICAg
ICAgICAgImVzY2FwZWROYW1lIjogImJpZ2JpZyIsCi0gICAgICAgICAgICAgICAgImV4dEF0dHJz
IjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5
cGUiOiAiYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImluaGVy
aXQiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAicmVhZG9ubHkiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmli
dXRlLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAg
ICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5p
b24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAidW5zaWduZWQgbG9u
ZyBsb25nIiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAg
ICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogImJpZ2JpZ3Bvc2l0aXZlIiwKLSAgICAg
ICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiYmlnYmlncG9zaXRpdmUiLAotICAgICAgICAgICAg
ICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAg
ICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICJpbmhlcml0IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5IjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0
eXBlIjogImF0dHJpYnV0ZS10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBu
dWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjog
ImZsb2F0IiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAg
ICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogInJlYWwiLAotICAgICAgICAgICAgICAg
ICJlc2NhcGVkTmFtZSI6ICJyZWFsIiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQot
ICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJh
dHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaW5oZXJpdCI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICJyZWFkb25seSI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlw
ZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAg
ICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJkb3VibGUiLAotICAgICAgICAg
ICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAg
ICAgICAgIm5hbWUiOiAiYmlncmVhbCIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjog
ImJpZ3JlYWwiLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9
LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0g
ICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdp
ZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpbmhlcml0IjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgInJlYWRvbmx5IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7
Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZS10eXBlIiwKLSAgICAgICAg
ICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFi
bGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgICAgICJpZGxUeXBlIjogInVucmVzdHJpY3RlZCBmbG9hdCIsCi0gICAgICAgICAg
ICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAg
ICAgICAibmFtZSI6ICJyZWFsd2l0aGluZmluaXR5IiwKLSAgICAgICAgICAgICAgICAiZXNjYXBl
ZE5hbWUiOiAicmVhbHdpdGhpbmZpbml0eSIsCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjog
W10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUi
OiAiYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImluaGVyaXQi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAicmVhZG9ubHkiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRl
LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAg
ICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24i
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAidW5yZXN0cmljdGVkIGRv
dWJsZSIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAg
ICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJiaWdyZWFsd2l0aGluZmluaXR5IiwKLSAg
ICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiYmlncmVhbHdpdGhpbmZpbml0eSIsCi0gICAg
ICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7
Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAi
c3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAicmVhZG9u
bHkiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAg
ICAgICAgInR5cGUiOiAiYXR0cmlidXRlLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2Vu
ZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlk
bFR5cGUiOiAiRE9NU3RyaW5nIiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10K
LSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogInN0cmluZyIsCi0g
ICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogInN0cmluZyIsCi0gICAgICAgICAgICAgICAg
ImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAg
ICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAicmVhZG9ubHkiOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUi
OiAiYXR0cmlidXRlLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGws
Ci0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiQnl0
ZVN0cmluZyIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAg
ICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJieXRlcyIsCi0gICAgICAgICAgICAg
ICAgImVzY2FwZWROYW1lIjogImJ5dGVzIiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBb
XQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6
ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaW5oZXJpdCI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICJyZWFkb25seSI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUt
dHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAg
ICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJEYXRlIiwKLSAgICAgICAg
ICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAg
ICAgICAgICJuYW1lIjogImRhdGUiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJk
YXRlIiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfSwKLSAg
ICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAg
ICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICJyZWFkb25seSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAg
ICAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAgICAgICAgICAg
ICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICAgICAiaWRsVHlwZSI6ICJSZWdFeHAiLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0
cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAicmVn
ZXhwIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAicmVnZXhwIiwKLSAgICAgICAg
ICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfQotICAgICAgICBdLAotICAgICAg
ICAiaW5oZXJpdGFuY2UiOiBudWxsLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0KLV0K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9wcm9taXNlLXZvaWQuanNvbiBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC9zeW50YXgvanNvbi9wcm9taXNlLXZvaWQuanNvbgpkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggNzY3NjgzOGI4MTcuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50
YXgvanNvbi9wcm9taXNlLXZvaWQuanNvbgorKysgL2Rldi9udWxsCkBAIC0xLDM2ICswLDAgQEAK
LVsKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAgICAgICJuYW1lIjog
IkNhdCIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJzIjogWwot
ICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0gICAg
ICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmll
ciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpbmhlcml0IjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgInJlYWRvbmx5IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0g
ICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZS10eXBlIiwKLSAgICAgICAgICAg
ICAgICAgICAgImdlbmVyaWMiOiAiUHJvbWlzZSIsCi0gICAgICAgICAgICAgICAgICAgICJudWxs
YWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAidHlw
ZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51
bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ImlkbFR5cGUiOiAidm9pZCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBb
XQotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMi
OiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAibWVvdyIs
Ci0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogIm1lb3ciLAotICAgICAgICAgICAgICAg
ICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJpbmhl
cml0YW5jZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgfQotXQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL3Byb3RvdHlwZXJvb3QuanNvbiBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC9zeW50YXgvanNvbi9wcm90b3R5cGVyb290Lmpzb24KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IGNlYzc5ZmY2NmI2Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pz
b24vcHJvdG90eXBlcm9vdC5qc29uCisrKyAvZGV2L251bGwKQEAgLTEsMzYgKzAsMCBAQAotWwot
ICAgIHsKLSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUiOiAiTm9k
ZSIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJzIjogWwotICAg
ICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0gICAgICAg
ICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICJpbmhlcml0IjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgInJlYWRvbmx5IjogdHJ1ZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAg
ICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlLXR5cGUiLAotICAgICAgICAgICAgICAg
ICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAgICAgImlkbFR5cGUiOiAidW5zaWduZWQgc2hvcnQiLAotICAgICAgICAgICAgICAgICAgICAi
ZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUi
OiAibm9kZVR5cGUiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJub2RlVHlwZSIs
Ci0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0KLSAgICAgICAg
XSwKLSAgICAgICAgImluaGVyaXRhbmNlIjogbnVsbCwKLSAgICAgICAgImV4dEF0dHJzIjogWwot
ICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJuYW1lIjogIlByb3RvdHlwZVJvb3QiLAot
ICAgICAgICAgICAgICAgICJhcmd1bWVudHMiOiBudWxsLAotICAgICAgICAgICAgICAgICJ0eXBl
IjogImV4dGVuZGVkLWF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInJocyI6IG51bGwKLSAg
ICAgICAgICAgIH0KLSAgICAgICAgXQotICAgIH0KLV0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9z
eW50YXgvanNvbi9wdXRmb3J3YXJkcy5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL3B1dGZv
cndhcmRzLmpzb24KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDk1MWIzZWY3MThjLi4w
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vcHV0Zm9yd2FyZHMuanNvbgor
KysgL2Rldi9udWxsCkBAIC0xLDU3ICswLDAgQEAKLVsKLSAgICB7Ci0gICAgICAgICJ0eXBlIjog
ImludGVyZmFjZSIsCi0gICAgICAgICJuYW1lIjogIlBlcnNvbiIsCi0gICAgICAgICJwYXJ0aWFs
IjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJzIjogWwotICAgICAgICAgICAgewotICAgICAgICAg
ICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICJpbmhlcml0IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5IjogdHJ1ZSwK
LSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUi
OiAiYXR0cmlidXRlLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGws
Ci0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiTmFt
ZSIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAg
fSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJuYW1lIiwKLSAgICAgICAgICAgICAgICAiZXNj
YXBlZE5hbWUiOiAibmFtZSIsCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogWwotICAgICAg
ICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJQdXRGb3J3
YXJkcyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiYXJndW1lbnRzIjogbnVsbCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImV4dGVuZGVkLWF0dHJpYnV0ZSIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAicmhzIjogewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0
eXBlIjogImlkZW50aWZpZXIiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSI6
ICJmdWxsIgotICAgICAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICAgICB9
Ci0gICAgICAgICAgICAgICAgXQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAg
ICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJzdGF0aWMi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJyZWFkb25seSI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAi
dHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjog
bnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6
ICJ1bnNpZ25lZCBzaG9ydCIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0g
ICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJhZ2UiLAotICAgICAg
ICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJhZ2UiLAotICAgICAgICAgICAgICAgICJleHRBdHRy
cyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJpbmhlcml0YW5jZSI6
IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgfQotXQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L3N5bnRheC9qc29uL3JlY29yZC5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL3Jl
Y29yZC5qc29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxYmU1NDI3Yzc0ZC4uMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL3JlY29yZC5qc29uCisrKyAvZGV2
L251bGwKQEAgLTEsMjIwICswLDAgQEAKLVsKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImludGVy
ZmFjZSIsCi0gICAgICAgICJuYW1lIjogIkZvbyIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFsc2Us
Ci0gICAgICAgICJtZW1iZXJzIjogWwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0
eXBlIjogIm9wZXJhdGlvbiIsCi0gICAgICAgICAgICAgICAgImdldHRlciI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICJzZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiZGVsZXRlciI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAg
ICAgICAgICAgICAgICAgICAgInR5cGUiOiAicmV0dXJuLXR5cGUiLAotICAgICAgICAgICAgICAg
ICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAgICAgImlkbFR5cGUiOiAidm9pZCIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6
IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJmb28iLAot
ICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJmb28iLAotICAgICAgICAgICAgICAgICJh
cmd1bWVudHMiOiBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJvcHRpb25hbCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgInZhcmlhZGlj
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdCI6IG51bGwsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImFy
Z3VtZW50LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogInNl
cXVlbmNlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgInR5cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICJnZW5lcmljIjogInJlY29yZCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAi
dW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUi
OiBbCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogIkJ5dGVT
dHJpbmciLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRy
cyI6IFtdCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJ0eXBlIjogImFyZ3VtZW50LXR5cGUiLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJhbnkiLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAi
ZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICJuYW1lIjogInBhcmFtIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJlc2Nh
cGVkTmFtZSI6ICJwYXJhbSIKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAg
IF0sCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0gICAg
ICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAib3BlcmF0aW9uIiwKLSAgICAgICAg
ICAgICAgICAiZ2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInNldHRlciI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICJkZWxldGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0
YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJy
ZXR1cm4tdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogInJlY29yZCIsCi0g
ICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAg
ICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiBbCi0gICAg
ICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUi
OiAicmV0dXJuLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjog
bnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJET01TdHJpbmciLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgICAgICAgICB9LAotICAg
ICAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBl
IjogInJldHVybi10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6
IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogdHJ1ZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiB0cnVlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJpZGxUeXBlIjogWwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6IG51bGwsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiZmxvYXQiLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiBudWxsLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogIkRPTVN0cmluZyIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgXSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAg
ICAgICAgfQotICAgICAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgICAgICAiZXh0
QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAi
YmFyIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiYmFyIiwKLSAgICAgICAgICAg
ICAgICAiYXJndW1lbnRzIjogW10sCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAg
ICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImluaGVyaXRhbmNlIjogbnVsbCwKLSAg
ICAgICAgImV4dEF0dHJzIjogWwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJuYW1l
IjogIkNvbnN0cnVjdG9yIiwKLSAgICAgICAgICAgICAgICAiYXJndW1lbnRzIjogWwotICAgICAg
ICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAib3B0aW9uYWwiOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ2YXJpYWRpYyI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgImRlZmF1bHQiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAg
ImV4dEF0dHJzIjogW10sCi0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6ICJyZWNvcmQiLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxU
eXBlIjogWwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJVU1ZTdHJpbmciLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXJndW1lbnQtdHlwZSIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiVVNWU3RyaW5nIiwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBd
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAg
ICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAiaW5pdCIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiaW5pdCIKLSAgICAgICAg
ICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgInR5cGUi
OiAiZXh0ZW5kZWQtYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAicmhzIjogbnVsbAotICAg
ICAgICAgICAgfQotICAgICAgICBdCi0gICAgfSwKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImlu
dGVyZmFjZSIsCi0gICAgICAgICJuYW1lIjogIkJhciIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFs
c2UsCi0gICAgICAgICJtZW1iZXJzIjogWwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAg
ICJ0eXBlIjogIm9wZXJhdGlvbiIsCi0gICAgICAgICAgICAgICAgImdldHRlciI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICJzZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiZGVsZXRl
ciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsK
LSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAicmV0dXJuLXR5cGUiLAotICAgICAgICAgICAg
ICAgICAgICAiZ2VuZXJpYyI6ICJyZWNvcmQiLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFi
bGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgICAgICJpZGxUeXBlIjogWwotICAgICAgICAgICAgICAgICAgICAgICAgewotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInJldHVybi10eXBlIiwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
InVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAi
RE9NU3RyaW5nIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQot
ICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAgIHsKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjog
ImZsb2F0IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJuYW1lIjogIlhBdHRyIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICJhcmd1bWVudHMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgInR5cGUiOiAiZXh0ZW5kZWQtYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICJyaHMiOiBudWxsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIH0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBdCi0gICAgICAgICAgICAgICAgICAg
ICAgICB9Ci0gICAgICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgICAgICJleHRB
dHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJi
YXIiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJiYXIiLAotICAgICAgICAgICAg
ICAgICJhcmd1bWVudHMiOiBbXSwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAg
ICAgICAgICAgfQotICAgICAgICBdLAotICAgICAgICAiaW5oZXJpdGFuY2UiOiBudWxsLAotICAg
ICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0KLV0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50
YXgvanNvbi9yZWctb3BlcmF0aW9ucy5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL3JlZy1v
cGVyYXRpb25zLmpzb24KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg3OTVjNTllYzg3
Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vcmVnLW9wZXJhdGlvbnMu
anNvbgorKysgL2Rldi9udWxsCkBAIC0xLDE2NiArMCwwIEBACi1bCi0gICAgewotICAgICAgICAi
dHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFtZSI6ICJEaW1lbnNpb25zIiwKLSAgICAg
ICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJlcnMiOiBbCi0gICAgICAgICAgICB7
Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAi
c3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAicmVhZG9u
bHkiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAg
ICAgICAgInR5cGUiOiAiYXR0cmlidXRlLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2Vu
ZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlk
bFR5cGUiOiAidW5zaWduZWQgbG9uZyIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6
IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJ3aWR0aCIs
Ci0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogIndpZHRoIiwKLSAgICAgICAgICAgICAg
ICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAg
ICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJyZWFkb25seSI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlw
ZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVs
bCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJ1
bnNpZ25lZCBsb25nIiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAg
ICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogImhlaWdodCIsCi0gICAgICAg
ICAgICAgICAgImVzY2FwZWROYW1lIjogImhlaWdodCIsCi0gICAgICAgICAgICAgICAgImV4dEF0
dHJzIjogW10KLSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImluaGVyaXRhbmNl
IjogbnVsbCwKLSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9LAotICAgIHsKLSAgICAgICAg
InR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUiOiAiQnV0dG9uIiwKLSAgICAgICAg
InBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJlcnMiOiBbCi0gICAgICAgICAgICB7Ci0g
ICAgICAgICAgICAgICAgInR5cGUiOiAib3BlcmF0aW9uIiwKLSAgICAgICAgICAgICAgICAiZ2V0
dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInNldHRlciI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICJkZWxldGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJyZXR1cm4tdHlwZSIs
Ci0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAg
ICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJib29sZWFuIiwKLSAgICAgICAgICAg
ICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAg
ICAgICJuYW1lIjogImlzTW91c2VPdmVyIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUi
OiAiaXNNb3VzZU92ZXIiLAotICAgICAgICAgICAgICAgICJhcmd1bWVudHMiOiBbXSwKLSAgICAg
ICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsK
LSAgICAgICAgICAgICAgICAidHlwZSI6ICJvcGVyYXRpb24iLAotICAgICAgICAgICAgICAgICJn
ZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic2V0dGVyIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgImRlbGV0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInJldHVybi10eXBl
IiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAg
ICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogInZvaWQiLAotICAgICAgICAgICAg
ICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAg
ICAgIm5hbWUiOiAic2V0RGltZW5zaW9ucyIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1l
IjogInNldERpbWVuc2lvbnMiLAotICAgICAgICAgICAgICAgICJhcmd1bWVudHMiOiBbCi0gICAg
ICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJvcHRpb25hbCI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgInZhcmlhZGljIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAiZGVmYXVsdCI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAiZXh0QXR0cnMiOiBbXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImFyZ3VtZW50LXR5cGUiLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlw
ZSI6ICJEaW1lbnNpb25zIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMi
OiBbXQotICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJuYW1lIjogInNpemUiLAotICAgICAgICAgICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjog
InNpemUiCi0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdLAotICAgICAg
ICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewot
ICAgICAgICAgICAgICAgICJ0eXBlIjogIm9wZXJhdGlvbiIsCi0gICAgICAgICAgICAgICAgImdl
dHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAiZGVsZXRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAicmV0dXJuLXR5cGUi
LAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAg
ICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAidm9pZCIsCi0gICAgICAgICAgICAg
ICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAg
ICAibmFtZSI6ICJzZXREaW1lbnNpb25zIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUi
OiAic2V0RGltZW5zaW9ucyIsCi0gICAgICAgICAgICAgICAgImFyZ3VtZW50cyI6IFsKLSAgICAg
ICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIm9wdGlvbmFsIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAidmFyaWFkaWMiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICJkZWZhdWx0IjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJleHRBdHRycyI6IFtdLAotICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBl
IjogInVuc2lnbmVkIGxvbmciLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRy
cyI6IFtdCi0gICAgICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICAg
ICAgIm5hbWUiOiAid2lkdGgiLAotICAgICAgICAgICAgICAgICAgICAgICAgImVzY2FwZWROYW1l
IjogIndpZHRoIgotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7
Ci0gICAgICAgICAgICAgICAgICAgICAgICAib3B0aW9uYWwiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJ2YXJpYWRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ImRlZmF1bHQiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10s
Ci0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51
bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAidW5zaWduZWQgbG9u
ZyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAg
ICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJoZWln
aHQiLAotICAgICAgICAgICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImhlaWdodCIKLSAg
ICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAg
ImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImluaGVy
aXRhbmNlIjogbnVsbCwKLSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9Ci1dCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vcmVwbGFjZWFibGUuanNvbiBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9z
eW50YXgvanNvbi9yZXBsYWNlYWJsZS5qc29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAxMzM4OTFkNDYxZC4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL3Jl
cGxhY2VhYmxlLmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSw1NiArMCwwIEBACi1bCi0gICAgewot
ICAgICAgICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFtZSI6ICJDb3VudGVyIiwK
LSAgICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJlcnMiOiBbCi0gICAgICAg
ICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAgICAgICAgICAg
ICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAi
cmVhZG9ubHkiOiB0cnVlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAg
ICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAg
ICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAg
ICAiaWRsVHlwZSI6ICJ1bnNpZ25lZCBsb25nIiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0
dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogInZh
bHVlIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAidmFsdWUiLAotICAgICAgICAg
ICAgICAgICJleHRBdHRycyI6IFsKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAg
ICAgICAgICAgICAgIm5hbWUiOiAiUmVwbGFjZWFibGUiLAotICAgICAgICAgICAgICAgICAgICAg
ICAgImFyZ3VtZW50cyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJl
eHRlbmRlZC1hdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgInJocyI6IG51bGwK
LSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0KLSAgICAgICAgICAgIH0s
Ci0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAib3BlcmF0aW9uIiwKLSAg
ICAgICAgICAgICAgICAiZ2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInNldHRlciI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICJkZWxldGVyIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlw
ZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwK
LSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJ2b2lk
IiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9
LAotICAgICAgICAgICAgICAgICJuYW1lIjogImluY3JlbWVudCIsCi0gICAgICAgICAgICAgICAg
ImVzY2FwZWROYW1lIjogImluY3JlbWVudCIsCi0gICAgICAgICAgICAgICAgImFyZ3VtZW50cyI6
IFtdLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAg
ICAgIF0sCi0gICAgICAgICJpbmhlcml0YW5jZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6
IFtdCi0gICAgfQotXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL3NlcXVlbmNl
Lmpzb24gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vc2VxdWVuY2UuanNvbgpkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggZWFkMGNkZDg2MmMuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC9zeW50YXgvanNvbi9zZXF1ZW5jZS5qc29uCisrKyAvZGV2L251bGwKQEAgLTEsMTQyICswLDAg
QEAKLVsKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAgICAgICJuYW1l
IjogIkNhbnZhcyIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJz
IjogWwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogIm9wZXJhdGlvbiIs
Ci0gICAgICAgICAgICAgICAgImdldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzZXR0
ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiZGVsZXRlciI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAg
InR5cGUiOiAicmV0dXJuLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51
bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAi
dm9pZCIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAg
ICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJkcmF3UG9seWdvbiIsCi0gICAgICAgICAg
ICAgICAgImVzY2FwZWROYW1lIjogImRyYXdQb2x5Z29uIiwKLSAgICAgICAgICAgICAgICAiYXJn
dW1lbnRzIjogWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICAib3B0aW9uYWwiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ2YXJpYWRpYyI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHQiOiBudWxsLAotICAgICAg
ICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10sCi0gICAgICAgICAgICAgICAgICAgICAg
ICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1
bWVudC10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6ICJzZXF1
ZW5jZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJ0eXBlIjogImFyZ3VtZW50LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJu
dWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5pb24i
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiZmxv
YXQiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAg
ICAgICAgICAgICAibmFtZSI6ICJjb29yZGluYXRlcyIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAiZXNjYXBlZE5hbWUiOiAiY29vcmRpbmF0ZXMiCi0gICAgICAgICAgICAgICAgICAgIH0KLSAg
ICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAg
ICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogIm9wZXJhdGlv
biIsCi0gICAgICAgICAgICAgICAgImdldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJz
ZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiZGVsZXRlciI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAg
ICAgInR5cGUiOiAicmV0dXJuLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6
ICJzZXF1ZW5jZSIsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlk
bFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJyZXR1cm4tdHlwZSIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ1
bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiZmxvYXQi
LAotICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAg
ICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAg
ICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogImdldEluZmxlY3Rpb25Qb2ludHMiLAot
ICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJnZXRJbmZsZWN0aW9uUG9pbnRzIiwKLSAg
ICAgICAgICAgICAgICAiYXJndW1lbnRzIjogW10sCi0gICAgICAgICAgICAgICAgImV4dEF0dHJz
IjogW10KLSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImluaGVyaXRhbmNlIjog
bnVsbCwKLSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9LAotICAgIHsKLSAgICAgICAgInR5
cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUiOiAiSSIsCi0gICAgICAgICJwYXJ0aWFs
IjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJzIjogWwotICAgICAgICAgICAgewotICAgICAgICAg
ICAgICAgICJ0eXBlIjogIm9wZXJhdGlvbiIsCi0gICAgICAgICAgICAgICAgImdldHRlciI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICJzZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAi
ZGVsZXRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlw
ZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAicmV0dXJuLXR5cGUiLAotICAgICAg
ICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxs
YWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAgICAgImlkbFR5cGUiOiAidm9pZCIsCi0gICAgICAgICAgICAgICAgICAgICJl
eHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6
ICJmMSIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImYxIiwKLSAgICAgICAgICAg
ICAgICAiYXJndW1lbnRzIjogWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICAib3B0aW9uYWwiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ2
YXJpYWRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHQiOiBudWxs
LAotICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10sCi0gICAgICAgICAgICAg
ICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlw
ZSI6ICJhcmd1bWVudC10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJp
YyI6ICJzZXF1ZW5jZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJ0eXBlIjogImFyZ3VtZW50LXR5cGUiLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5
cGUiOiAibG9uZyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6
IFsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJYQXR0ciIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgImFyZ3VtZW50cyI6IG51bGwsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiZXh0ZW5kZWQtYXR0cmlidXRl
IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicmhzIjogbnVsbAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBdCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAg
ICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjogImFyZyIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiYXJnIgotICAgICAgICAgICAgICAgICAgICB9
Ci0gICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAg
ICAgICAgICAgfQotICAgICAgICBdLAotICAgICAgICAiaW5oZXJpdGFuY2UiOiBudWxsLAotICAg
ICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0KLV0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50
YXgvanNvbi9zZXRsaWtlLmpzb24gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vc2V0bGlrZS5qc29u
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkODU4MzUzOGZkMC4uMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL3NldGxpa2UuanNvbgorKysgL2Rldi9udWxsCkBA
IC0xLDgxICswLDAgQEAKLVsKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImludGVyZmFjZSIsCi0g
ICAgICAgICJuYW1lIjogIlNldExpa2UiLAotICAgICAgICAicGFydGlhbCI6IGZhbHNlLAotICAg
ICAgICAibWVtYmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6
ICJzZXRsaWtlIiwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IFsKLSAgICAgICAgICAgICAg
ICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiBudWxsLAotICAgICAgICAg
ICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAg
Im51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogImxvbmciLAotICAgICAgICAg
ICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgfQotICAg
ICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5IjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAg
ICAgICAgImluaGVyaXRhbmNlIjogbnVsbCwKLSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9
LAotICAgIHsKLSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUiOiAi
UmVhZE9ubHlTZXRMaWtlIiwKLSAgICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1l
bWJlcnMiOiBbCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAic2V0bGlr
ZSIsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiBbCi0gICAgICAgICAgICAgICAgICAgIHsK
LSAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogbnVsbCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJs
ZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJsb25nIiwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAg
ICAgICBdLAotICAgICAgICAgICAgICAgICJyZWFkb25seSI6IHRydWUsCi0gICAgICAgICAgICAg
ICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImlu
aGVyaXRhbmNlIjogbnVsbCwKLSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9LAotICAgIHsK
LSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUiOiAiU2V0TGlrZUV4
dCIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJzIjogWwotICAg
ICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogInNldGxpa2UiLAotICAgICAgICAg
ICAgICAgICJpZGxUeXBlIjogWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICAidHlwZSI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJp
YyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgImlkbFR5cGUiOiAibG9uZyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0
cnMiOiBbCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAibmFtZSI6ICJYQXR0ciIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICJhcmd1bWVudHMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAidHlwZSI6ICJleHRlbmRlZC1hdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAicmhzIjogbnVsbAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KLSAgICAg
ICAgICAgICAgICAgICAgICAgIF0KLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAg
ICAgIF0sCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5IjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImlu
aGVyaXRhbmNlIjogbnVsbCwKLSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9Ci1dCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vc3RhdGljLmpzb24gYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3lu
dGF4L2pzb24vc3RhdGljLmpzb24KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQwZGRm
MzVlYzZlLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vc3RhdGljLmpz
b24KKysrIC9kZXYvbnVsbApAQCAtMSwxNjAgKzAsMCBAQAotWwotICAgIHsKLSAgICAgICAgInR5
cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUiOiAiUG9pbnQiLAotICAgICAgICAicGFy
dGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFtdLAotICAgICAgICAiaW5oZXJpdGFu
Y2UiOiBudWxsLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0sCi0gICAgewotICAgICAg
ICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFtZSI6ICJDaXJjbGUiLAotICAgICAg
ICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFsKLSAgICAgICAgICAgIHsK
LSAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJz
dGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJyZWFkb25s
eSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAg
ICAgICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5l
cmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRs
VHlwZSI6ICJmbG9hdCIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAg
ICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJjeCIsCi0gICAgICAgICAg
ICAgICAgImVzY2FwZWROYW1lIjogImN4IiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBb
XQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6
ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaW5oZXJpdCI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICJyZWFkb25seSI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUt
dHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAg
ICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJmbG9hdCIsCi0gICAgICAg
ICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAg
ICAgICAgICAibmFtZSI6ICJjeSIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImN5
IiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfSwKLSAgICAg
ICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAg
ICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICJyZWFkb25seSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAg
ICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAgICAgICAgICAgICAg
ICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICAgICAiaWRsVHlwZSI6ICJmbG9hdCIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6
IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJyYWRpdXMi
LAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJyYWRpdXMiLAotICAgICAgICAgICAg
ICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAg
ICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6
IHRydWUsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAicmVhZG9ubHkiOiB0cnVl
LAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlw
ZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVs
bCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJs
b25nIiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAg
ICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogInRyaWFuZ3VsYXRpb25Db3VudCIsCi0gICAg
ICAgICAgICAgICAgImVzY2FwZWROYW1lIjogInRyaWFuZ3VsYXRpb25Db3VudCIsCi0gICAgICAg
ICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0g
ICAgICAgICAgICAgICAgInR5cGUiOiAib3BlcmF0aW9uIiwKLSAgICAgICAgICAgICAgICAiZ2V0
dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInNldHRlciI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICJkZWxldGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IHRydWUs
Ci0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInJldHVybi10eXBlIiwK
LSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAg
ICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogIlBvaW50IiwKLSAgICAgICAgICAgICAg
ICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAg
ICJuYW1lIjogInRyaWFuZ3VsYXRlIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAi
dHJpYW5ndWxhdGUiLAotICAgICAgICAgICAgICAgICJhcmd1bWVudHMiOiBbCi0gICAgICAgICAg
ICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJvcHRpb25hbCI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgInZhcmlhZGljIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAiZGVmYXVsdCI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXh0
QXR0cnMiOiBbXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImFyZ3VtZW50LXR5cGUiLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAi
dW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJD
aXJjbGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAg
ICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAi
YzEiLAotICAgICAgICAgICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImMxIgotICAgICAg
ICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICAib3B0aW9uYWwiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ2YXJp
YWRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHQiOiBudWxsLAot
ICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10sCi0gICAgICAgICAgICAgICAg
ICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6
ICJhcmd1bWVudC10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6
IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiQ2lyY2xlIiwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJuYW1lIjogImMyIiwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJlc2NhcGVkTmFtZSI6ICJjMiIKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAg
ICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIm9wdGlvbmFsIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAidmFyaWFkaWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICJkZWZhdWx0IjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJleHRB
dHRycyI6IFtdLAotICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1
bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogIkNp
cmNsZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAg
ICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJj
MyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiYzMiCi0gICAgICAg
ICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgICJleHRB
dHRycyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJpbmhlcml0YW5j
ZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgfQotXQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3N5bnRheC9qc29uL3N0cmluZ2lmaWVyLWF0dHJpYnV0ZS5qc29uIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3N5bnRheC9qc29uL3N0cmluZ2lmaWVyLWF0dHJpYnV0ZS5qc29uCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCBkYmNhN2YxNzkwMi4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3N5bnRheC9qc29uL3N0cmluZ2lmaWVyLWF0dHJpYnV0ZS5qc29uCisrKyAvZGV2L251bGwKQEAg
LTEsNTQgKzAsMCBAQAotWwotICAgIHsKLSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAg
ICAgICAgIm5hbWUiOiAiU3R1ZGVudCIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0gICAg
ICAgICJtZW1iZXJzIjogWwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjog
ImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpbmhlcml0Ijog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5IjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZS10
eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAg
ICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogInVuc2lnbmVkIGxvbmciLAot
ICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0g
ICAgICAgICAgICAgICAgIm5hbWUiOiAiaWQiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFt
ZSI6ICJpZCIsCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0s
Ci0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAg
ICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lm
aWVyIjogdHJ1ZSwKLSAgICAgICAgICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICJyZWFkb25seSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewot
ICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAgICAgICAg
ICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxl
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICAgICAiaWRsVHlwZSI6ICJET01TdHJpbmciLAotICAgICAgICAgICAgICAgICAgICAi
ZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUi
OiAibmFtZSIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogIm5hbWUiLAotICAgICAg
ICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAg
ICAgICJpbmhlcml0YW5jZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6IFsKLSAgICAgICAg
ICAgIHsKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJDb25zdHJ1Y3RvciIsCi0gICAgICAgICAg
ICAgICAgImFyZ3VtZW50cyI6IG51bGwsCi0gICAgICAgICAgICAgICAgInR5cGUiOiAiZXh0ZW5k
ZWQtYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAicmhzIjogbnVsbAotICAgICAgICAgICAg
fQotICAgICAgICBdCi0gICAgfQotXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29u
L3N0cmluZ2lmaWVyLWN1c3RvbS5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL3N0cmluZ2lm
aWVyLWN1c3RvbS5qc29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjMTNkZjZlZjEw
Yy4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL3N0cmluZ2lmaWVyLWN1
c3RvbS5qc29uCisrKyAvZGV2L251bGwKQEAgLTEsOTIgKzAsMCBAQAotWwotICAgIHsKLSAgICAg
ICAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUiOiAiU3R1ZGVudCIsCi0gICAg
ICAgICJwYXJ0aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJzIjogWwotICAgICAgICAgICAg
ewotICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAg
InN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICJpbmhlcml0IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInJlYWRv
bmx5IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAg
ICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZS10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdl
bmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJp
ZGxUeXBlIjogInVuc2lnbmVkIGxvbmciLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMi
OiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiaWQiLAot
ICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJpZCIsCi0gICAgICAgICAgICAgICAgImV4
dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAg
ICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAicmVhZG9ubHkiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAi
YXR0cmlidXRlLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0g
ICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IHRydWUsCi0gICAgICAgICAgICAgICAgICAg
ICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJET01TdHJp
bmciLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAg
IH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiZmFtaWx5TmFtZSIsCi0gICAgICAgICAgICAg
ICAgImVzY2FwZWROYW1lIjogImZhbWlseU5hbWUiLAotICAgICAgICAgICAgICAgICJleHRBdHRy
cyI6IFtdCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0
eXBlIjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpbmhl
cml0IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5IjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJp
YnV0ZS10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAg
ICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVu
aW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogIkRPTVN0cmluZyIs
Ci0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwK
LSAgICAgICAgICAgICAgICAibmFtZSI6ICJnaXZlbk5hbWUiLAotICAgICAgICAgICAgICAgICJl
c2NhcGVkTmFtZSI6ICJnaXZlbk5hbWUiLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtd
Ci0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjog
Im9wZXJhdGlvbiIsCi0gICAgICAgICAgICAgICAgImdldHRlciI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICJzZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiZGVsZXRlciI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3Ry
aW5naWZpZXIiOiB0cnVlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAg
ICAgICAgICAgICAidHlwZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJn
ZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAi
aWRsVHlwZSI6ICJET01TdHJpbmciLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBb
XQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiBudWxsLAotICAg
ICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6IG51bGwsCi0gICAgICAgICAgICAgICAgImFyZ3Vt
ZW50cyI6IFtdLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9
Ci0gICAgICAgIF0sCi0gICAgICAgICJpbmhlcml0YW5jZSI6IG51bGwsCi0gICAgICAgICJleHRB
dHRycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJDb25zdHJ1
Y3RvciIsCi0gICAgICAgICAgICAgICAgImFyZ3VtZW50cyI6IG51bGwsCi0gICAgICAgICAgICAg
ICAgInR5cGUiOiAiZXh0ZW5kZWQtYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAicmhzIjog
bnVsbAotICAgICAgICAgICAgfQotICAgICAgICBdCi0gICAgfQotXQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L3N5bnRheC9qc29uL3N0cmluZ2lmaWVyLmpzb24gYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pz
b24vc3RyaW5naWZpZXIuanNvbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTRmMjNl
MDNmNjYuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9zdHJpbmdpZmll
ci5qc29uCisrKyAvZGV2L251bGwKQEAgLTEsNDkgKzAsMCBAQAotWwotICAgIHsKLSAgICAgICAg
InR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUiOiAiQSIsCi0gICAgICAgICJwYXJ0
aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJzIjogWwotICAgICAgICAgICAgewotICAgICAg
ICAgICAgICAgICJ0eXBlIjogIm9wZXJhdGlvbiIsCi0gICAgICAgICAgICAgICAgImdldHRlciI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICJzZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAiZGVsZXRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiB0cnVlLAotICAgICAgICAgICAgICAgICJpZGxU
eXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAg
ICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51
bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJET01TdHJpbmciLAotICAgICAgICAgICAgICAg
ICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAg
Im5hbWUiOiBudWxsLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6IG51bGwsCi0gICAg
ICAgICAgICAgICAgImFyZ3VtZW50cyI6IFtdLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6
IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJpbmhlcml0YW5jZSI6IG51
bGwsCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgfSwKLSAgICB7Ci0gICAgICAgICJ0eXBl
IjogImludGVyZmFjZSIsCi0gICAgICAgICJuYW1lIjogIkIiLAotICAgICAgICAicGFydGlhbCI6
IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAg
ICAgICAidHlwZSI6ICJvcGVyYXRpb24iLAotICAgICAgICAgICAgICAgICJnZXR0ZXIiOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAic2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImRl
bGV0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgInN0cmluZ2lmaWVyIjogdHJ1ZSwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMi
OiBbXQotICAgICAgICAgICAgfQotICAgICAgICBdLAotICAgICAgICAiaW5oZXJpdGFuY2UiOiBu
dWxsLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0KLV0KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC9zeW50YXgvanNvbi90cmVhdGFzbnVsbC5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29u
L3RyZWF0YXNudWxsLmpzb24KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQ1MTU2YmNi
NGYxLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vdHJlYXRhc251bGwu
anNvbgorKysgL2Rldi9udWxsCkBAIC0xLDk0ICswLDAgQEAKLVsKLSAgICB7Ci0gICAgICAgICJ0
eXBlIjogImludGVyZmFjZSIsCi0gICAgICAgICJuYW1lIjogIkRvZyIsCi0gICAgICAgICJwYXJ0
aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJzIjogWwotICAgICAgICAgICAgewotICAgICAg
ICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICJpbmhlcml0IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5IjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0
eXBlIjogImF0dHJpYnV0ZS10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBu
dWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjog
IkRPTVN0cmluZyIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAg
ICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJuYW1lIiwKLSAgICAgICAgICAg
ICAgICAiZXNjYXBlZE5hbWUiOiAibmFtZSIsCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjog
W10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUi
OiAiYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImluaGVyaXQi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAicmVhZG9ubHkiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRl
LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAg
ICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24i
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiRE9NU3RyaW5nIiwKLSAg
ICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAg
ICAgICAgICAgICAgICJuYW1lIjogIm93bmVyIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5h
bWUiOiAib3duZXIiLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAg
ICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogIm9wZXJhdGlvbiIs
Ci0gICAgICAgICAgICAgICAgImdldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzZXR0
ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiZGVsZXRlciI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAg
InR5cGUiOiAicmV0dXJuLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51
bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAi
Ym9vbGVhbiIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAg
ICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJpc01lbWJlck9mQnJlZWQiLAotICAg
ICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJpc01lbWJlck9mQnJlZWQiLAotICAgICAgICAg
ICAgICAgICJhcmd1bWVudHMiOiBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJvcHRpb25hbCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAg
InZhcmlhZGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdCI6IG51
bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6
ICJUcmVhdE51bGxBcyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJhcmd1bWVu
dHMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJleHRl
bmRlZC1hdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicmhzIjog
ewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiaWRlbnRpZmll
ciIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiOiAiRW1wdHlT
dHJpbmciCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAg
ICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5
cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVy
aWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogIkRPTVN0cmluZyIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgICAgIH0s
Ci0gICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJicmVlZE5hbWUiLAotICAgICAgICAg
ICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImJyZWVkTmFtZSIKLSAgICAgICAgICAgICAg
ICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjog
W10KLSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImluaGVyaXRhbmNlIjogbnVs
bCwKLSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9Ci1dCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvc3ludGF4L2pzb24vdHJlYXRhc3VuZGVmaW5lZC5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9q
c29uL3RyZWF0YXN1bmRlZmluZWQuanNvbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MWU5ODMxNWQ5ZjEuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi90cmVh
dGFzdW5kZWZpbmVkLmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSw5NCArMCwwIEBACi1bCi0gICAg
ewotICAgICAgICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFtZSI6ICJDYXQiLAot
ICAgICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFsKLSAgICAgICAg
ICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAg
ICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJy
ZWFkb25seSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAg
ICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAg
ICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAg
ICAiaWRsVHlwZSI6ICJET01TdHJpbmciLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMi
OiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAibmFtZSIs
Ci0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogIm5hbWUiLAotICAgICAgICAgICAgICAg
ICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAg
ICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICJpbmhlcml0IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5IjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBl
IjogImF0dHJpYnV0ZS10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxs
LAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogIkRP
TVN0cmluZyIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAg
ICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJvd25lciIsCi0gICAgICAgICAgICAg
ICAgImVzY2FwZWROYW1lIjogIm93bmVyIiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBb
XQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6
ICJvcGVyYXRpb24iLAotICAgICAgICAgICAgICAgICJnZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAic2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImRlbGV0ZXIiOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0
cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAg
ICAgICAgICAgICAgICJ0eXBlIjogInJldHVybi10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAg
ImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAg
ICJpZGxUeXBlIjogImJvb2xlYW4iLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBb
XQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiaXNNZW1iZXJP
ZkJyZWVkIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiaXNNZW1iZXJPZkJyZWVk
IiwKLSAgICAgICAgICAgICAgICAiYXJndW1lbnRzIjogWwotICAgICAgICAgICAgICAgICAgICB7
Ci0gICAgICAgICAgICAgICAgICAgICAgICAib3B0aW9uYWwiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJ2YXJpYWRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ImRlZmF1bHQiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogWwot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIm5hbWUiOiAiVHJlYXRVbmRlZmluZWRBcyIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJhcmd1bWVudHMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAidHlwZSI6ICJleHRlbmRlZC1hdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAicmhzIjogewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
InR5cGUiOiAiaWRlbnRpZmllciIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAidmFsdWUiOiAiRW1wdHlTdHJpbmciCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IH0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgICAg
ICBdLAotICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgInR5cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogIkRPTVN0cmlu
ZyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAg
ICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJicmVl
ZE5hbWUiLAotICAgICAgICAgICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImJyZWVkTmFt
ZSIKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAg
ICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAg
ImluaGVyaXRhbmNlIjogbnVsbCwKLSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9Ci1dCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vdHlwZWRlZi11bmlvbi5qc29uIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L3N5bnRheC9qc29uL3R5cGVkZWYtdW5pb24uanNvbgpkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMzFlMjQxOThhYjEuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50
YXgvanNvbi90eXBlZGVmLXVuaW9uLmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSw0OCArMCwwIEBA
Ci1bCi0gICAgewotICAgICAgICAidHlwZSI6ICJ0eXBlZGVmIiwKLSAgICAgICAgImlkbFR5cGUi
OiB7Ci0gICAgICAgICAgICAidHlwZSI6ICJ0eXBlZGVmLXR5cGUiLAotICAgICAgICAgICAgImdl
bmVyaWMiOiBudWxsLAotICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAg
ICAidW5pb24iOiB0cnVlLAotICAgICAgICAgICAgImlkbFR5cGUiOiBbCi0gICAgICAgICAgICAg
ICAgewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6IG51bGwsCi0gICAgICAgICAgICAgICAg
ICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICAgICAiaWRsVHlwZSI6ICJJbWFnZURhdGEiLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0
cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgewotICAgICAgICAg
ICAgICAgICAgICAidHlwZSI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjog
bnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6
ICJIVE1MSW1hZ2VFbGVtZW50IiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10K
LSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAg
ICAgInR5cGUiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0g
ICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAg
ICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiSFRNTENh
bnZhc0VsZW1lbnQiLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAg
ICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAidHlw
ZSI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAg
ICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlv
biI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJIVE1MVmlkZW9FbGVt
ZW50IiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAg
ICB9Ci0gICAgICAgICAgICBdLAotICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAg
fSwKLSAgICAgICAgIm5hbWUiOiAiVGV4SW1hZ2VTb3VyY2UiLAotICAgICAgICAiZXh0QXR0cnMi
OiBbXQotICAgIH0KLV0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi90eXBlZGVm
Lmpzb24gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vdHlwZWRlZi5qc29uCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAzNWY5ODhlNzIxZS4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3N5bnRheC9qc29uL3R5cGVkZWYuanNvbgorKysgL2Rldi9udWxsCkBAIC0xLDIzMyArMCwwIEBA
Ci1bCi0gICAgewotICAgICAgICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFtZSI6
ICJQb2ludCIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJzIjog
WwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0g
ICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdp
ZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpbmhlcml0IjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgInJlYWRvbmx5IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7
Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZS10eXBlIiwKLSAgICAgICAg
ICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFi
bGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgICAgICJpZGxUeXBlIjogImZsb2F0IiwKLSAgICAgICAgICAgICAgICAgICAgImV4
dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjog
IngiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJ4IiwKLSAgICAgICAgICAgICAg
ICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAg
ICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJyZWFkb25seSI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlw
ZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVs
bCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJm
bG9hdCIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAg
ICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJ5IiwKLSAgICAgICAgICAgICAgICAiZXNj
YXBlZE5hbWUiOiAieSIsCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAg
ICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImluaGVyaXRhbmNlIjogbnVsbCwKLSAgICAgICAg
ImV4dEF0dHJzIjogW10KLSAgICB9LAotICAgIHsKLSAgICAgICAgInR5cGUiOiAidHlwZWRlZiIs
Ci0gICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgInR5cGUiOiAidHlwZWRlZi10eXBl
IiwKLSAgICAgICAgICAgICJnZW5lcmljIjogInNlcXVlbmNlIiwKLSAgICAgICAgICAgICJudWxs
YWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAi
aWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJ0eXBlZGVmLXR5cGUiLAotICAg
ICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAibnVsbGFibGUi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAiaWRsVHlwZSI6ICJQb2ludCIsCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAg
ICAgICAgICAgIH0sCi0gICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICB9LAotICAg
ICAgICAibmFtZSI6ICJQb2ludFNlcXVlbmNlIiwKLSAgICAgICAgImV4dEF0dHJzIjogW10KLSAg
ICB9LAotICAgIHsKLSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUi
OiAiUmVjdCIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJzIjog
WwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0g
ICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdp
ZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpbmhlcml0IjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgInJlYWRvbmx5IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7
Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZS10eXBlIiwKLSAgICAgICAg
ICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFi
bGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgICAgICJpZGxUeXBlIjogIlBvaW50IiwKLSAgICAgICAgICAgICAgICAgICAgImV4
dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjog
InRvcGxlZnQiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJ0b3BsZWZ0IiwKLSAg
ICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAg
IHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAg
ICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJyZWFk
b25seSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAg
ICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJn
ZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAi
aWRsVHlwZSI6ICJQb2ludCIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0g
ICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJib3R0b21yaWdodCIs
Ci0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImJvdHRvbXJpZ2h0IiwKLSAgICAgICAg
ICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfQotICAgICAgICBdLAotICAgICAg
ICAiaW5oZXJpdGFuY2UiOiBudWxsLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0sCi0g
ICAgewotICAgICAgICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFtZSI6ICJXaWRn
ZXQiLAotICAgICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFsKLSAg
ICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAg
ICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICJyZWFkb25seSI6IHRydWUsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAg
ICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZS10eXBlIiwKLSAgICAgICAgICAgICAg
ICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgICAgICJpZGxUeXBlIjogIlJlY3QiLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMi
OiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiYm91bmRz
IiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiYm91bmRzIiwKLSAgICAgICAgICAg
ICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAg
ICAgICAgICAgICAidHlwZSI6ICJvcGVyYXRpb24iLAotICAgICAgICAgICAgICAgICJnZXR0ZXIi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgImRlbGV0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlk
bFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInJldHVybi10eXBlIiwKLSAg
ICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAi
bnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogImJvb2xlYW4iLAotICAgICAgICAgICAgICAg
ICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAg
Im5hbWUiOiAicG9pbnRXaXRoaW5Cb3VuZHMiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFt
ZSI6ICJwb2ludFdpdGhpbkJvdW5kcyIsCi0gICAgICAgICAgICAgICAgImFyZ3VtZW50cyI6IFsK
LSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIm9wdGlvbmFs
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAidmFyaWFkaWMiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0IjogbnVsbCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICJleHRBdHRycyI6IFtdLAotICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUi
OiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXJndW1lbnQtdHlwZSIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJp
ZGxUeXBlIjogIlBvaW50IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMi
OiBbXQotICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJuYW1lIjogInAiLAotICAgICAgICAgICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogInAi
Ci0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAg
ICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAg
ICAgICAgICAgICJ0eXBlIjogIm9wZXJhdGlvbiIsCi0gICAgICAgICAgICAgICAgImdldHRlciI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICJzZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAiZGVsZXRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRs
VHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAicmV0dXJuLXR5cGUiLAotICAg
ICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJu
dWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiYm9vbGVhbiIsCi0gICAgICAgICAgICAgICAg
ICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAi
bmFtZSI6ICJhbGxQb2ludHNXaXRoaW5Cb3VuZHMiLAotICAgICAgICAgICAgICAgICJlc2NhcGVk
TmFtZSI6ICJhbGxQb2ludHNXaXRoaW5Cb3VuZHMiLAotICAgICAgICAgICAgICAgICJhcmd1bWVu
dHMiOiBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJv
cHRpb25hbCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgInZhcmlhZGljIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdCI6IG51bGwsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJp
ZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImFyZ3VtZW50
LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAiaWRsVHlwZSI6ICJQb2ludFNlcXVlbmNlIiwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICJuYW1lIjogInBzIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJl
c2NhcGVkTmFtZSI6ICJwcyIKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAg
IF0sCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0KLSAgICAg
ICAgXSwKLSAgICAgICAgImluaGVyaXRhbmNlIjogbnVsbCwKLSAgICAgICAgImV4dEF0dHJzIjog
W10KLSAgICB9LAotICAgIHsKLSAgICAgICAgInR5cGUiOiAidHlwZWRlZiIsCi0gICAgICAgICJp
ZGxUeXBlIjogewotICAgICAgICAgICAgInR5cGUiOiAidHlwZWRlZi10eXBlIiwKLSAgICAgICAg
ICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAg
ICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAiaWRsVHlwZSI6ICJvY3RldCIs
Ci0gICAgICAgICAgICAiZXh0QXR0cnMiOiBbCi0gICAgICAgICAgICAgICAgewotICAgICAgICAg
ICAgICAgICAgICAibmFtZSI6ICJDbGFtcCIsCi0gICAgICAgICAgICAgICAgICAgICJhcmd1bWVu
dHMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJleHRlbmRlZC1hdHRyaWJ1
dGUiLAotICAgICAgICAgICAgICAgICAgICAicmhzIjogbnVsbAotICAgICAgICAgICAgICAgIH0K
LSAgICAgICAgICAgIF0KLSAgICAgICAgfSwKLSAgICAgICAgIm5hbWUiOiAidmFsdWUiLAotICAg
ICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0KLV0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50
YXgvanNvbi90eXBlc3VmZml4ZXMuanNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi90eXBlc3Vm
Zml4ZXMuanNvbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTI4NzBjMjJmNGIuLjAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi90eXBlc3VmZml4ZXMuanNvbgor
KysgL2Rldi9udWxsCkBAIC0xLDU1ICswLDAgQEAKLVsKLSAgICB7Ci0gICAgICAgICJ0eXBlIjog
ImludGVyZmFjZSIsCi0gICAgICAgICJuYW1lIjogIlN1ZmZpeGVzIiwKLSAgICAgICAgInBhcnRp
YWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJlcnMiOiBbCi0gICAgICAgICAgICB7Ci0gICAgICAg
ICAgICAgICAgInR5cGUiOiAib3BlcmF0aW9uIiwKLSAgICAgICAgICAgICAgICAiZ2V0dGVyIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgInNldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICJkZWxldGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxU
eXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAg
ICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51
bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJ2b2lkIiwKLSAgICAgICAgICAgICAgICAgICAg
ImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1l
IjogInRlc3QiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJ0ZXN0IiwKLSAgICAg
ICAgICAgICAgICAiYXJndW1lbnRzIjogWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAg
ICAgICAgICAgICAgICAgICAib3B0aW9uYWwiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJ2YXJpYWRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHQi
OiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10sCi0gICAgICAg
ICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAi
Z2VuZXJpYyI6ICJzZXF1ZW5jZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxh
YmxlIjogdHJ1ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIm51bGxhYmxlIjogdHJ1ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJp
ZGxUeXBlIjogIkRPTVN0cmluZyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJl
eHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAgICAg
fSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjogImZvbyIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiZm9vIgotICAgICAgICAgICAgICAgICAgICB9Ci0g
ICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAg
ICAgICAgfQotICAgICAgICBdLAotICAgICAgICAiaW5oZXJpdGFuY2UiOiBudWxsLAotICAgICAg
ICAiZXh0QXR0cnMiOiBbXQotICAgIH0KLV0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgv
anNvbi91bmlvbnR5cGUuanNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi91bmlvbnR5cGUuanNv
bgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTBlYjA3NGVmM2EuLjAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi91bmlvbnR5cGUuanNvbgorKysgL2Rldi9udWxs
CkBAIC0xLDEzMCArMCwwIEBACi1bCi0gICAgewotICAgICAgICAidHlwZSI6ICJpbnRlcmZhY2Ui
LAotICAgICAgICAibmFtZSI6ICJVbmlvbiIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0g
ICAgICAgICJtZW1iZXJzIjogWwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBl
IjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpbmhlcml0
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5IjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0
ZS10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAg
ICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9u
IjogdHJ1ZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiBbCi0gICAgICAgICAgICAg
ICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiBudWxsLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRs
VHlwZSI6ICJmbG9hdCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjog
W10KLSAgICAgICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgICAgICB7
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiBudWxsLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5p
b24iOiB0cnVlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogWwotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAidHlwZSI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImlk
bFR5cGUiOiAiRGF0ZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0
QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAidHlwZSI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAi
Z2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibnVs
bGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlv
biI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUi
OiAiRXZlbnQiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJz
IjogW10KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjog
W10KLSAgICAgICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgICAgICB7
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiBudWxsLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAibnVsbGFibGUiOiB0cnVlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlv
biI6IHRydWUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiBbCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJ0eXBlIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
InVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRs
VHlwZSI6ICJOb2RlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHRB
dHRycyI6IFtdCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJ0eXBlIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJn
ZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJudWxs
YWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9u
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6
ICJET01TdHJpbmciLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0
dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJz
IjogW10KLSAgICAgICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAgXSwK
LSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAot
ICAgICAgICAgICAgICAgICJuYW1lIjogInRlc3QiLAotICAgICAgICAgICAgICAgICJlc2NhcGVk
TmFtZSI6ICJ0ZXN0IiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAg
ICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUi
LAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3Ry
aW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICJyZWFkb25seSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBl
IjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAg
ICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51
bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IHRydWUsCi0gICAg
ICAgICAgICAgICAgICAgICJpZGxUeXBlIjogWwotICAgICAgICAgICAgICAgICAgICAgICAgewot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogbnVsbCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9u
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAibG9uZyIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogWwotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAibmFtZSI6ICJFbmZvcmNlUmFuZ2UiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgImFyZ3VtZW50cyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAidHlwZSI6ICJleHRlbmRlZC1hdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgInJocyI6IG51bGwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgfQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0KLSAgICAgICAgICAgICAgICAgICAg
ICAgIH0sCi0gICAgICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgInR5cGUiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmlj
IjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJEYXRlIiwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAgICAgfQotICAgICAg
ICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAg
ICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAidGVzdDIiLAotICAgICAg
ICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJ0ZXN0MiIsCi0gICAgICAgICAgICAgICAgImV4dEF0
dHJzIjogW10KLSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImluaGVyaXRhbmNl
IjogbnVsbCwKLSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9Ci1dCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3Qvc3ludGF4L2pzb24vdmFyaWFkaWMtb3BlcmF0aW9ucy5qc29uIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3N5bnRheC9qc29uL3ZhcmlhZGljLW9wZXJhdGlvbnMuanNvbgpkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMzI4MGI3YjZhNzguLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50
YXgvanNvbi92YXJpYWRpYy1vcGVyYXRpb25zLmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSwxMDMg
KzAsMCBAQAotWwotICAgIHsKLSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAg
Im5hbWUiOiAiSW50ZWdlclNldCIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0gICAgICAg
ICJtZW1iZXJzIjogWwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogImF0
dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpbmhlcml0IjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5IjogdHJ1ZSwKLSAgICAgICAgICAgICAgICAi
aWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlLXR5cGUi
LAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAg
ICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAidW5zaWduZWQgbG9uZyIsCi0gICAg
ICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAg
ICAgICAgICAgICAibmFtZSI6ICJjYXJkaW5hbGl0eSIsCi0gICAgICAgICAgICAgICAgImVzY2Fw
ZWROYW1lIjogImNhcmRpbmFsaXR5IiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQot
ICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJv
cGVyYXRpb24iLAotICAgICAgICAgICAgICAgICJnZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAic2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImRlbGV0ZXIiOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmlu
Z2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAg
ICAgICAgICAgICJ0eXBlIjogInJldHVybi10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdl
bmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJp
ZGxUeXBlIjogInZvaWQiLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAg
ICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAidW5pb24iLAotICAgICAg
ICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJ1bmlvbiIsCi0gICAgICAgICAgICAgICAgImFyZ3Vt
ZW50cyI6IFsKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAg
Im9wdGlvbmFsIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAidmFyaWFkaWMiOiB0
cnVlLAotICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHQiOiBudWxsLAotICAgICAgICAg
ICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10sCi0gICAgICAgICAgICAgICAgICAgICAgICAi
aWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVu
dC10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgImlkbFR5cGUiOiAibG9uZyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4
dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAg
ICAgICAgICAibmFtZSI6ICJpbnRzIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJlc2NhcGVk
TmFtZSI6ICJpbnRzIgotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXSwK
LSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfSwKLSAgICAgICAg
ICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJvcGVyYXRpb24iLAotICAgICAgICAgICAg
ICAgICJnZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic2V0dGVyIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgImRlbGV0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RhdGlj
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInJldHVy
bi10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAg
ICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9u
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogInZvaWQiLAotICAgICAg
ICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAg
ICAgICAgICAgIm5hbWUiOiAiaW50ZXJzZWN0aW9uIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBl
ZE5hbWUiOiAiaW50ZXJzZWN0aW9uIiwKLSAgICAgICAgICAgICAgICAiYXJndW1lbnRzIjogWwot
ICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAib3B0aW9uYWwi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ2YXJpYWRpYyI6IHRydWUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdCI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAiZXh0QXR0cnMiOiBbXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjog
ewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImFyZ3VtZW50LXR5cGUiLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRs
VHlwZSI6ICJsb25nIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBb
XQotICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJu
YW1lIjogImludHMiLAotICAgICAgICAgICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImlu
dHMiCi0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAg
ICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAg
ICJpbmhlcml0YW5jZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgfQotXQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3N5bnRheC9qc29uL3czYy1pbXBvcnQubG9nCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwZTI5ZmU3ODM4OC4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29u
L3czYy1pbXBvcnQubG9nCisrKyAvZGV2L251bGwKQEAgLTEsNzAgKzAsMCBAQAotVGhlIHRlc3Rz
IGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnku
Ci1EbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQs
IGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1
Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdAotCi1UaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0
cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydAotCi1EbyBOT1QgbW9kaWZ5
IG9yIHJlbW92ZSB0aGlzIGZpbGUuCi0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotUHJvcGVydGllcyByZXF1
aXJpbmcgdmVuZG9yIHByZWZpeGVzOgotTm9uZQotUHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2
ZW5kb3IgcHJlZml4ZXM6Ci1Ob25lCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLUxpc3Qgb2YgZmlsZXM6Ci0v
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3N5bnRheC9qc29uL2FsbG93YW55Lmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pz
b24vYXR0cmlidXRlcy5qc29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2NhbGxiYWNrLmpzb24K
LS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vY29uc3RhbnRzLmpzb24KLS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4
L2pzb24vY29uc3RydWN0b3IuanNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9kaWN0aW9uYXJ5
LWluaGVyaXRzLmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vZGljdGlvbmFyeS5qc29uCi0v
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3N5bnRheC9qc29uL2RvY3VtZW50YXRpb24tZG9zLmpzb24KLS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
c3ludGF4L2pzb24vZG9jdW1lbnRhdGlvbi5qc29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2Vu
dW0uanNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9lcXVpdmFsZW50LWRlY2wuanNvbgotL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC9zeW50YXgvanNvbi9leGNlcHRpb24taW5oZXJpdGFuY2UuanNvbgotL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC9zeW50YXgvanNvbi9leHRlbmRlZC1hdHRyaWJ1dGVzLmpzb24KLS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4
L2pzb24vZ2VuZXJpYy5qc29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2dldHRlci1zZXR0ZXIu
anNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9pZGVudGlmaWVyLXF1YWxpZmllZC1uYW1lcy5q
c29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2ltcGxlbWVudHMuanNvbgotL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9z
eW50YXgvanNvbi9pbmRleGVkLXByb3BlcnRpZXMuanNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNv
bi9pbmhlcml0cy1nZXR0ZXIuanNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9pbnRlcmZhY2Ut
aW5oZXJpdHMuanNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9pdGVyYWJsZS5qc29uCi0vTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L3N5bnRheC9qc29uL2l0ZXJhdG9yLmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24v
bGVnYWN5aXRlcmFibGUuanNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9tYXBsaWtlLmpzb24K
LS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vbWl4aW4uanNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNv
bi9uYW1lZGNvbnN0cnVjdG9yLmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vbmFtZXNwYWNl
Lmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vbm9pbnRlcmZhY2VvYmplY3QuanNvbgotL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC9zeW50YXgvanNvbi9udWxsYWJsZS5qc29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29u
L251bGxhYmxlb2JqZWN0cy5qc29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL29wZXJhdGlvbi1v
cHRpb25hbC1hcmcuanNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9vdmVybG9hZGluZy5qc29u
Ci0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL292ZXJyaWRlYnVpbHRpbnMuanNvbgotL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC9zeW50YXgvanNvbi9wYXJ0aWFsLWludGVyZmFjZS5qc29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9q
c29uL3ByaW1pdGl2ZXMuanNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9wcm9taXNlLXZvaWQu
anNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9wcm90b3R5cGVyb290Lmpzb24KLS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvc3ludGF4L2pzb24vcHV0Zm9yd2FyZHMuanNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9y
ZWNvcmQuanNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9yZWctb3BlcmF0aW9ucy5qc29uCi0v
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3N5bnRheC9qc29uL3JlcGxhY2VhYmxlLmpzb24KLS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4
L2pzb24vc2VxdWVuY2UuanNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9zZXRsaWtlLmpzb24K
LS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vc3RhdGljLmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pz
b24vc3RyaW5naWZpZXItYXR0cmlidXRlLmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vc3Ry
aW5naWZpZXItY3VzdG9tLmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vc3RyaW5naWZpZXIu
anNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi90cmVhdGFzbnVsbC5qc29uCi0vTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3N5bnRheC9qc29uL3RyZWF0YXN1bmRlZmluZWQuanNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNv
bi90eXBlZGVmLXVuaW9uLmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vdHlwZWRlZi5qc29u
Ci0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL3R5cGVzdWZmaXhlcy5qc29uCi0vTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5
bnRheC9qc29uL3VuaW9udHlwZS5qc29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL3ZhcmlhZGlj
LW9wZXJhdGlvbnMuanNvbgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9vcHQvdHlwZWRl
Zi1uZXN0ZWQuanNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvb3B0L3R5cGVkZWYtbmVzdGVkLmpzb24K
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGYwNzk0ZTc0ZTA3Li4wMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvc3ludGF4L29wdC90eXBlZGVmLW5lc3RlZC5qc29uCisrKyAvZGV2L251
bGwKQEAgLTEsMyArMCwwIEBACi17Ci0gICAgImFsbG93TmVzdGVkVHlwZWRlZnMiOiB0cnVlCi19
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRh
eC9vcHQvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L29wdC93M2MtaW1wb3J0Lmxv
ZwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMmU4MTEyM2IwN2MuLjAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvb3B0L3czYy1pbXBvcnQubG9nCisrKyAvZGV2L251bGwK
QEAgLTEsMTcgKzAsMCBAQAotVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0
ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCi1EbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRp
cmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUg
V1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cwot
Ci1UaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0
byByZWltcG9ydAotCi1EbyBOT1QgbW9kaWZ5IG9yIHJlbW92ZSB0aGlzIGZpbGUuCi0KLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLQotUHJvcGVydGllcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgotTm9uZQot
UHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6Ci1Ob25lCi0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0KLUxpc3Qgb2YgZmlsZXM6Ci0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9vcHQvdHlwZWRlZi1u
ZXN0ZWQuanNvbgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3V0aWwvYWNxdWlyZS5qcyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC91dGlsL2FjcXVpcmUuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZmMzdk
ZDYwODNjLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvdXRpbC9hY3F1aXJlLmpzCisrKyAv
ZGV2L251bGwKQEAgLTEsOCArMCwwIEBACi0idXNlIHN0cmljdCI7Ci0KLWNvbnN0IHsgY29sbGVj
dCB9ID0gcmVxdWlyZSgiLi9jb2xsZWN0Iik7Ci1jb25zdCBmcyA9IHJlcXVpcmUoImZzIik7Ci0K
LWZvciAoY29uc3QgdGVzdCBvZiBjb2xsZWN0KCJzeW50YXgiKSkgewotICBmcy53cml0ZUZpbGVT
eW5jKHRlc3QuanNvblBhdGgsIGAke0pTT04uc3RyaW5naWZ5KHRlc3QuYXN0LCBudWxsLCA0KX1c
bmApCi19CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvdXRpbC9jb2xsZWN0LmpzIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3V0aWwvY29sbGVjdC5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggN2UzZDlkM2Jm
MzEuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC91dGlsL2NvbGxlY3QuanMKKysrIC9kZXYv
bnVsbApAQCAtMSw1OSArMCwwIEBACi0idXNlIHN0cmljdCI7Ci0KLWNvbnN0IHdwID0gcmVxdWly
ZSgiLi4vLi4vbGliL3dlYmlkbDIiKTsKLWNvbnN0IHB0aCA9IHJlcXVpcmUoInBhdGgiKTsKLWNv
bnN0IGZzID0gcmVxdWlyZSgiZnMiKTsKLWNvbnN0IGpkcCA9IHJlcXVpcmUoImpzb25kaWZmcGF0
Y2giKTsKLQotLyoqCi0gKiBDb2xsZWN0cyB0ZXN0IGl0ZW1zIGZyb20gdGhlIHNwZWNpZmllZCBk
aXJlY3RvcnkKLSAqIEBwYXJhbSB7c3RyaW5nfSBiYXNlCi0gKi8KLWZ1bmN0aW9uKiBjb2xsZWN0
KGJhc2UsIHsgZXhwZWN0RXJyb3IgfSA9IHt9KSB7Ci0gIGJhc2UgPSBwdGguam9pbihfX2Rpcm5h
bWUsICIuLiIsIGJhc2UpOwotICBjb25zdCBkaXIgPSBwdGguam9pbihiYXNlLCAiaWRsIik7Ci0g
IGNvbnN0IGlkbHMgPSBmcy5yZWFkZGlyU3luYyhkaXIpCi0gICAgLmZpbHRlcihpdCA9PiAoL1wu
d2lkbCQvKS50ZXN0KGl0KSkKLSAgICAubWFwKGl0ID0+IHB0aC5qb2luKGRpciwgaXQpKTsKLQot
ICBmb3IgKGNvbnN0IHBhdGggb2YgaWRscykgewotICAgIGNvbnN0IG9wdEZpbGUgPSBwdGguam9p
bihiYXNlLCAib3B0IiwgcHRoLmJhc2VuYW1lKHBhdGgpKS5yZXBsYWNlKCIud2lkbCIsICIuanNv
biIpOwotICAgIGxldCBvcHQ7Ci0gICAgaWYgKGZzLmV4aXN0c1N5bmMob3B0RmlsZSkpCi0gICAg
ICBvcHQgPSBKU09OLnBhcnNlKGZzLnJlYWRGaWxlU3luYyhvcHRGaWxlLCAidXRmOCIpKTsKLQot
ICAgIHRyeSB7Ci0gICAgICBjb25zdCBhc3QgPSB3cC5wYXJzZShmcy5yZWFkRmlsZVN5bmMocGF0
aCwgInV0ZjgiKS5yZXBsYWNlKC9cclxuL2csICJcbiIpLCBvcHQpOwotICAgICAgeWllbGQgbmV3
IFRlc3RJdGVtKHsgYXN0LCBwYXRoLCBvcHQgfSk7Ci0gICAgfQotICAgIGNhdGNoIChlcnJvcikg
ewotICAgICAgaWYgKGV4cGVjdEVycm9yKSB7Ci0gICAgICAgIHlpZWxkIG5ldyBUZXN0SXRlbSh7
IHBhdGgsIGVycm9yIH0pOwotICAgICAgfQotICAgICAgZWxzZSB7Ci0gICAgICAgIHRocm93IGVy
cm9yOwotICAgICAgfQotICAgIH0KLSAgfQotfTsKLQotCi1jbGFzcyBUZXN0SXRlbSB7Ci0gIGNv
bnN0cnVjdG9yKHsgYXN0LCBwYXRoLCBlcnJvciwgb3B0IH0pIHsKLSAgICB0aGlzLmFzdCA9IGFz
dDsKLSAgICB0aGlzLnBhdGggPSBwYXRoOwotICAgIHRoaXMuZXJyb3IgPSBlcnJvcjsKLSAgICB0
aGlzLm9wdCA9IG9wdDsKLSAgICB0aGlzLmpzb25QYXRoID0gcHRoLmpvaW4ocHRoLmRpcm5hbWUo
cGF0aCksICIuLi9qc29uIiwgcHRoLmJhc2VuYW1lKHBhdGgpLnJlcGxhY2UoIi53aWRsIiwgIi5q
c29uIikpOwotICB9Ci0KLSAgcmVhZEpTT04oKSB7Ci0gICAgcmV0dXJuIEpTT04ucGFyc2UoZnMu
cmVhZEZpbGVTeW5jKHRoaXMuanNvblBhdGgsICJ1dGY4IikpOwotICB9Ci0KLSAgZGlmZih0YXJn
ZXQgPSB0aGlzLnJlYWRKU09OKCkpIHsKLSAgICByZXR1cm4gamRwLmRpZmYodGFyZ2V0LCB0aGlz
LmFzdCk7Ci0gIH0KLX0KLQotbW9kdWxlLmV4cG9ydHMuY29sbGVjdCA9IGNvbGxlY3Q7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3QvdXRpbC93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC91dGlsL3cz
Yy1pbXBvcnQubG9nCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4YTViZDRkMDdhNy4u
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3V0aWwvdzNjLWltcG9ydC5sb2cKKysrIC9kZXYv
bnVsbApAQCAtMSwxOCArMCwwIEBACi1UaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBp
bXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KLURvIE5PVCBtb2RpZnkgdGhlc2UgdGVz
dHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9u
IHRoZSBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVzdHMv
d3B0Ci0KLVRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2Vi
S2l0IHRvIHJlaW1wb3J0Ci0KLURvIE5PVCBtb2RpZnkgb3IgcmVtb3ZlIHRoaXMgZmlsZS4KLQot
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tCi1Qcm9wZXJ0aWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6Ci1O
b25lCi1Qcm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKLU5vbmUKLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLQotTGlzdCBvZiBmaWxlczoKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvdXRpbC9hY3F1aXJlLmpz
Ci0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3V0aWwvY29sbGVjdC5qcwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3czYy1p
bXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3czYy1pbXBvcnQubG9nCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCA0N2I3Y2I5ZmU1Ni4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3czYy1p
bXBvcnQubG9nCisrKyAvZGV2L251bGwKQEAgLTEsMjAgKzAsMCBAQAotVGhlIHRlc3RzIGluIHRo
aXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCi1EbyBO
T1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQsIGNyZWF0
ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20v
d2ViLXBsYXRmb3JtLXRlc3RzL3dwdAotCi1UaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBv
cnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydAotCi1EbyBOT1QgbW9kaWZ5IG9yIHJl
bW92ZSB0aGlzIGZpbGUuCi0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotUHJvcGVydGllcyByZXF1aXJpbmcg
dmVuZG9yIHByZWZpeGVzOgotTm9uZQotUHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3Ig
cHJlZml4ZXM6Ci1Ob25lCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLUxpc3Qgb2YgZmlsZXM6Ci0vTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L2ludmFsaWQuanMKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvbW9jaGEub3B0cwotL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgu
anMKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvd3JpdGVyLmpzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2ViL21ha2Ut
d2ViLXRlc3RzLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dlYi9tYWtlLXdlYi10ZXN0cy5qcwpkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMTc3NDgwNjk5NGUuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC93ZWIvbWFrZS13ZWItdGVzdHMuanMKKysrIC9kZXYvbnVsbApAQCAtMSw1MiArMCwwIEBA
Ci0KLS8vIGdlbmVyYXRlcyB0ZXN0cyB0aGF0IHdvcmsgaW4gYSBicm93c2VyCi0KLS8vIFhYWAot
Ly8gIGhhdmUgaXQgcnVuIHRocm91Z2ggdmFsaWQgYW5kIGludmFsaWQgcHJvcGVybHkKLQotdmFy
IHB0aCA9IHJlcXVpcmUoInBhdGgiKQotLCAgIGZzID0gcmVxdWlyZSgiZnMiKQotLCAgIGRpciA9
IGZ1bmN0aW9uIChwYXRoKSB7Ci0gICAgICAgIHJldHVybiBwdGguam9pbihfX2Rpcm5hbWUsICIu
LiIsIHBhdGgpOwotICAgIH0KLSwgICBhbGxGcm9tRGlyID0gZnVuY3Rpb24gKGRpciwgZXh0LCBh
c0pTT04pIHsKLSAgICAgICAgcmV0dXJuIGZzLnJlYWRkaXJTeW5jKGRpcikKLSAgICAgICAgICAg
ICAgICAgLmZpbHRlcihmdW5jdGlvbiAoaXQpIHsgcmV0dXJuIGV4dC50ZXN0KGl0KTsgfSkKLSAg
ICAgICAgICAgICAgICAgLm1hcChmdW5jdGlvbiAoaXQpIHsKLSAgICAgICAgICAgICAgICAgICAg
IHZhciBjbnQgPSBmcy5yZWFkRmlsZVN5bmMocHRoLmpvaW4oZGlyLCBpdCksICJ1dGY4Iik7Ci0g
ICAgICAgICAgICAgICAgICAgICByZXR1cm4gYXNKU09OID8gSlNPTi5wYXJzZShjbnQpIDogY250
OwotICAgICAgICAgICAgICAgICB9KTsKLSAgICB9Ci0sICAgZGF0YSA9IHsKLSAgICAgICAgdmFs
aWQ6ICB7Ci0gICAgICAgICAgICBqc29uOiAgIGFsbEZyb21EaXIoZGlyKCJzeW50YXgvanNvbiIp
LCAvXC5qc29uJC8sIHRydWUpCi0gICAgICAgICwgICBpZGw6ICAgIGFsbEZyb21EaXIoZGlyKCJz
eW50YXgvaWRsIiksIC9cLnc/aWRsJC8sIGZhbHNlKQotICAgICAgICB9Ci0gICAgLCAgIGludmFs
aWQ6ewotICAgICAgICAgICAganNvbjogICBhbGxGcm9tRGlyKGRpcigiaW52YWxpZC9qc29uIiks
IC9cLmpzb24kLywgdHJ1ZSkKLSAgICAgICAgLCAgIGlkbDogICAgYWxsRnJvbURpcihkaXIoImlu
dmFsaWQvaWRsIiksIC9cLnc/aWRsJC8sIGZhbHNlKQotICAgICAgICB9Ci0gICAgfQotLCAgIGh0
bWwgPSBbCi0gICAgICAgICI8IURPQ1RZUEUgaHRtbD4iCi0gICAgLCAgICI8aHRtbD4iCi0gICAg
LCAgICIgIDxoZWFkPjxtZXRhIGNoYXJzZXQ9J3V0Zi04Jyc+PGxpbmsgcmVsPSdzdHlsZXNoZWV0
JyBocmVmPScuLi8uLi9ub2RlX21vZHVsZXMvbW9jaGEvbW9jaGEuY3NzJz4iCi0gICAgLCAgICIg
ICAgPHRpdGxlPldlYklETDIgQnJvd3NlciBUZXN0czwvdGl0bGU+IgotICAgICwgICAiICAgIDxz
Y3JpcHQ+dmFyIGRhdGEgPSAiICsgSlNPTi5zdHJpbmdpZnkoZGF0YSkgKyAiPC9zY3JpcHQ+Igot
ICAgICwgICAiICA8L2hlYWQ+IgotICAgICwgICAiICA8Ym9keT48ZGl2IGlkPSdtb2NoYSc+PC9k
aXY+IgotICAgICwgICAiICA8c2NyaXB0IHNyYz0naHR0cHM6Ly9hamF4Lmdvb2dsZWFwaXMuY29t
L2FqYXgvbGlicy9qcXVlcnkvMS44LjMvanF1ZXJ5Lm1pbi5qcyc+PC9zY3JpcHQ+IgotICAgICwg
ICAiICA8c2NyaXB0IHNyYz0nLi4vLi4vbm9kZV9tb2R1bGVzL2V4cGVjdC91bWQvZXhwZWN0Lm1p
bi5qcyc+PC9zY3JpcHQ+IgotICAgICwgICAiICA8c2NyaXB0IHNyYz0nLi4vLi4vbm9kZV9tb2R1
bGVzL2V4cGVjdC5qcy9pbmRleC5qcyc+PC9zY3JpcHQ+IgotICAgICwgICAiICA8c2NyaXB0IHNy
Yz0nLi4vLi4vbm9kZV9tb2R1bGVzL21vY2hhL21vY2hhLmpzJz48L3NjcmlwdD4iCi0gICAgLCAg
ICIgIDxzY3JpcHQgc3JjPScuLi8uLi9ub2RlX21vZHVsZXMvanNvbmRpZmZwYXRjaC9wdWJsaWMv
YnVpbGQvanNvbmRpZmZwYXRjaC5taW4uanMnPjwvc2NyaXB0PiIKLSAgICAsICAgIiAgPHNjcmlw
dCBzcmM9Jy4uLy4uL2xpYi93ZWJpZGwyLmpzJz48L3NjcmlwdD4iCi0gICAgLCAgICIgIDxzY3Jp
cHQ+bW9jaGEuc2V0dXAoJ2JkZCcpOzwvc2NyaXB0PiIKLSAgICAsICAgIiAgPHNjcmlwdCBzcmM9
J3J1bi10ZXN0cy5qcyc+PC9zY3JpcHQ+IgotICAgICwgICAiICA8c2NyaXB0Pm1vY2hhLnJ1bigp
Ozwvc2NyaXB0PiIKLSAgICAsICAgIiAgPC9ib2R5PiIKLSAgICAsICAgIjwvaHRtbD4iCi0gICAg
XS5qb2luKCJcbiIpCi07Ci0KLWZzLndyaXRlRmlsZVN5bmMoImJyb3dzZXItdGVzdHMuaHRtbCIs
IGh0bWwsICJ1dGY4Iik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2ViL3J1bi10ZXN0cy5qcyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC93ZWIvcnVuLXRlc3RzLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCA0NTJmNzk5YjJhNi4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dlYi9ydW4tdGVzdHMu
anMKKysrIC9kZXYvbnVsbApAQCAtMSw0OCArMCwwIEBACi0KLWRlc2NyaWJlKCJQYXJzZXMgYWxs
IG9mIHRoZSBJRExzIHRvIHByb2R1Y2UgdGhlIGNvcnJlY3QgQVNUcyIsIGZ1bmN0aW9uICgpIHsK
LSAgICBmb3IgKHZhciBpID0gMCwgbiA9IGRhdGEudmFsaWQuaWRsLmxlbmd0aDsgaSA8IG47IGkr
KykgewotICAgICAgICB2YXIgaWRsID0gZGF0YS52YWxpZC5pZGxbaV0sIGpzb24gPSBkYXRhLnZh
bGlkLmpzb25baV07Ci0gICAgICAgIHZhciBmdW5jID0gKGZ1bmN0aW9uIChpZGwsIGpzb24pIHsK
LSAgICAgICAgICAgIHJldHVybiBmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAgICAgICAgdHJ5IHsK
LSAgICAgICAgICAgICAgICAgICAgLy8gdGhlIEFTVCBjb250YWlucyBOYU4gYW5kICsvLUluZmlu
aXR5IHRoYXQgY2Fubm90IGJlIHNlcmlhbGlzZWQgdG8gSlNPTgotICAgICAgICAgICAgICAgICAg
ICAvLyB0aGUgc3RvcmVkIEpTT04gQVNUcyB1c2UgdGhlIHNhbWUgcmVwbGFjZW1lbnQgZnVuY3Rp
b24gYXMgaXMgdXNlZCBiZWxvdwotICAgICAgICAgICAgICAgICAgICAvLyBzbyB3ZSBjb21wYXJl
IGJhc2VkIG9uIHRoYXQKLSAgICAgICAgICAgICAgICAgICAgdmFyIGRpZmYgPSBqc29uZGlmZnBh
dGNoLmRpZmYoanNvbiwgV2ViSURMMi5wYXJzZShpZGwpKTsKLSAgICAgICAgICAgICAgICAgICAg
aWYgKGRpZmYgJiYgZGVidWcpIGNvbnNvbGUubG9nKEpTT04uc3RyaW5naWZ5KGRpZmYsIG51bGws
IDQpKTsKLSAgICAgICAgICAgICAgICAgICAgZXhwZWN0KGRpZmYpLnRvQmUodW5kZWZpbmVkKTsK
LSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgY2F0Y2ggKGUpIHsKLSAgICAgICAg
ICAgICAgICAgICAgY29uc29sZS5sb2coZS50b1N0cmluZygpKTsKLSAgICAgICAgICAgICAgICAg
ICAgdGhyb3cgZTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB9OwotICAgICAgICB9
KGlkbCwganNvbikpOwotICAgICAgICBpdCgic2hvdWxkIHByb2R1Y2UgdGhlIHNhbWUgQVNUIGZv
ciAiICsgaSwgZnVuYyk7Ci0gICAgfQotfSk7Ci0KLWRlc2NyaWJlKCJQYXJzZXMgYWxsIG9mIHRo
ZSBpbnZhbGlkIElETHMgdG8gY2hlY2sgdGhhdCB0aGV5IGJsb3cgdXAgY29ycmVjdGx5IiwgZnVu
Y3Rpb24gKCkgewotICAgIGZvciAodmFyIGkgPSAwLCBuID0gZGF0YS5pbnZhbGlkLmlkbC5sZW5n
dGg7IGkgPCBuOyBpKyspIHsKLSAgICAgICAgdmFyIGlkbCA9IGRhdGEuaW52YWxpZC5pZGxbaV0s
IGVycm9yID0gZGF0YS5pbnZhbGlkLmpzb25baV07Ci0gICAgICAgIHZhciBmdW5jID0gKGZ1bmN0
aW9uIChpZGwsIGVycikgewotICAgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uICgpIHsKLSAgICAg
ICAgICAgICAgICB2YXIgZXJyb3I7Ci0gICAgICAgICAgICAgICAgdHJ5IHsKLSAgICAgICAgICAg
ICAgICAgICAgdmFyIGFzdCA9IFdlYklETDIucGFyc2UoaWRsKTsKLSAgICAgICAgICAgICAgICAg
ICAgY29uc29sZS5sb2coSlNPTi5zdHJpbmdpZnkoYXN0LCBudWxsLCA0KSk7Ci0gICAgICAgICAg
ICAgICAgfQotICAgICAgICAgICAgICAgIGNhdGNoIChlKSB7Ci0gICAgICAgICAgICAgICAgICAg
IGVycm9yID0gZTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgZmluYWxseSB7
Ci0gICAgICAgICAgICAgICAgICAgIGV4cGVjdChlcnJvcikudG9FeGlzdCgpOwotICAgICAgICAg
ICAgICAgICAgICBleHBlY3QoZXJyb3IubWVzc2FnZSkudG9FcXVhbChlcnIubWVzc2FnZSk7Ci0g
ICAgICAgICAgICAgICAgICAgIGV4cGVjdChlcnJvci5saW5lKS50b0VxdWFsKGVyci5saW5lKTsK
LSAgICAgICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIH07Ci0gICAgICAgIH0oaWRsLCBlcnJv
cikpOwotICAgICAgICBpdCgic2hvdWxkIHByb2R1Y2UgdGhlIHJpZ2h0IGVycm9yIGZvciAiICsg
aSwgZnVuYyk7Ci0gICAgfQotfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2ViL3czYy1pbXBv
cnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L3dlYi93M2MtaW1wb3J0LmxvZwpkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggNDRiZGI5ZmI1NDUuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93ZWIv
dzNjLWltcG9ydC5sb2cKKysrIC9kZXYvbnVsbApAQCAtMSwxOCArMCwwIEBACi1UaGUgdGVzdHMg
aW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4K
LURvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVhZCwg
Y3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0aHVi
LmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0Ci0KLVRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRz
L2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0Ci0KLURvIE5PVCBtb2RpZnkg
b3IgcmVtb3ZlIHRoaXMgZmlsZS4KLQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1Qcm9wZXJ0aWVzIHJlcXVp
cmluZyB2ZW5kb3IgcHJlZml4ZXM6Ci1Ob25lCi1Qcm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5nIHZl
bmRvciBwcmVmaXhlczoKLU5vbmUKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotTGlzdCBvZiBmaWxlczoKLS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3Qvd2ViL21ha2Utd2ViLXRlc3RzLmpzCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dlYi9ydW4tdGVzdHMu
anMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9MSUNFTlNFIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dp
ZGxwcm9jL0xJQ0VOU0UKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQ2NDU2OTU2NzMz
Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvTElDRU5TRQorKysgL2Rldi9u
dWxsCkBAIC0xLDIwMiArMCwwIEBACi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IEFwYWNoZSBMaWNlbnNlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBWZXJzaW9uIDIuMCwg
SmFudWFyeSAyMDA0Ci0gICAgICAgICAgICAgICAgICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5v
cmcvbGljZW5zZXMvCi0KLSAgIFRFUk1TIEFORCBDT05ESVRJT05TIEZPUiBVU0UsIFJFUFJPRFVD
VElPTiwgQU5EIERJU1RSSUJVVElPTgotCi0gICAxLiBEZWZpbml0aW9ucy4KLQotICAgICAgIkxp
Y2Vuc2UiIHNoYWxsIG1lYW4gdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIGZvciB1c2UsIHJlcHJv
ZHVjdGlvbiwKLSAgICAgIGFuZCBkaXN0cmlidXRpb24gYXMgZGVmaW5lZCBieSBTZWN0aW9ucyAx
IHRocm91Z2ggOSBvZiB0aGlzIGRvY3VtZW50LgotCi0gICAgICAiTGljZW5zb3IiIHNoYWxsIG1l
YW4gdGhlIGNvcHlyaWdodCBvd25lciBvciBlbnRpdHkgYXV0aG9yaXplZCBieQotICAgICAgdGhl
IGNvcHlyaWdodCBvd25lciB0aGF0IGlzIGdyYW50aW5nIHRoZSBMaWNlbnNlLgotCi0gICAgICAi
TGVnYWwgRW50aXR5IiBzaGFsbCBtZWFuIHRoZSB1bmlvbiBvZiB0aGUgYWN0aW5nIGVudGl0eSBh
bmQgYWxsCi0gICAgICBvdGhlciBlbnRpdGllcyB0aGF0IGNvbnRyb2wsIGFyZSBjb250cm9sbGVk
IGJ5LCBvciBhcmUgdW5kZXIgY29tbW9uCi0gICAgICBjb250cm9sIHdpdGggdGhhdCBlbnRpdHku
IEZvciB0aGUgcHVycG9zZXMgb2YgdGhpcyBkZWZpbml0aW9uLAotICAgICAgImNvbnRyb2wiIG1l
YW5zIChpKSB0aGUgcG93ZXIsIGRpcmVjdCBvciBpbmRpcmVjdCwgdG8gY2F1c2UgdGhlCi0gICAg
ICBkaXJlY3Rpb24gb3IgbWFuYWdlbWVudCBvZiBzdWNoIGVudGl0eSwgd2hldGhlciBieSBjb250
cmFjdCBvcgotICAgICAgb3RoZXJ3aXNlLCBvciAoaWkpIG93bmVyc2hpcCBvZiBmaWZ0eSBwZXJj
ZW50ICg1MCUpIG9yIG1vcmUgb2YgdGhlCi0gICAgICBvdXRzdGFuZGluZyBzaGFyZXMsIG9yIChp
aWkpIGJlbmVmaWNpYWwgb3duZXJzaGlwIG9mIHN1Y2ggZW50aXR5LgotCi0gICAgICAiWW91IiAo
b3IgIllvdXIiKSBzaGFsbCBtZWFuIGFuIGluZGl2aWR1YWwgb3IgTGVnYWwgRW50aXR5Ci0gICAg
ICBleGVyY2lzaW5nIHBlcm1pc3Npb25zIGdyYW50ZWQgYnkgdGhpcyBMaWNlbnNlLgotCi0gICAg
ICAiU291cmNlIiBmb3JtIHNoYWxsIG1lYW4gdGhlIHByZWZlcnJlZCBmb3JtIGZvciBtYWtpbmcg
bW9kaWZpY2F0aW9ucywKLSAgICAgIGluY2x1ZGluZyBidXQgbm90IGxpbWl0ZWQgdG8gc29mdHdh
cmUgc291cmNlIGNvZGUsIGRvY3VtZW50YXRpb24KLSAgICAgIHNvdXJjZSwgYW5kIGNvbmZpZ3Vy
YXRpb24gZmlsZXMuCi0KLSAgICAgICJPYmplY3QiIGZvcm0gc2hhbGwgbWVhbiBhbnkgZm9ybSBy
ZXN1bHRpbmcgZnJvbSBtZWNoYW5pY2FsCi0gICAgICB0cmFuc2Zvcm1hdGlvbiBvciB0cmFuc2xh
dGlvbiBvZiBhIFNvdXJjZSBmb3JtLCBpbmNsdWRpbmcgYnV0Ci0gICAgICBub3QgbGltaXRlZCB0
byBjb21waWxlZCBvYmplY3QgY29kZSwgZ2VuZXJhdGVkIGRvY3VtZW50YXRpb24sCi0gICAgICBh
bmQgY29udmVyc2lvbnMgdG8gb3RoZXIgbWVkaWEgdHlwZXMuCi0KLSAgICAgICJXb3JrIiBzaGFs
bCBtZWFuIHRoZSB3b3JrIG9mIGF1dGhvcnNoaXAsIHdoZXRoZXIgaW4gU291cmNlIG9yCi0gICAg
ICBPYmplY3QgZm9ybSwgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIExpY2Vuc2UsIGFzIGluZGlj
YXRlZCBieSBhCi0gICAgICBjb3B5cmlnaHQgbm90aWNlIHRoYXQgaXMgaW5jbHVkZWQgaW4gb3Ig
YXR0YWNoZWQgdG8gdGhlIHdvcmsKLSAgICAgIChhbiBleGFtcGxlIGlzIHByb3ZpZGVkIGluIHRo
ZSBBcHBlbmRpeCBiZWxvdykuCi0KLSAgICAgICJEZXJpdmF0aXZlIFdvcmtzIiBzaGFsbCBtZWFu
IGFueSB3b3JrLCB3aGV0aGVyIGluIFNvdXJjZSBvciBPYmplY3QKLSAgICAgIGZvcm0sIHRoYXQg
aXMgYmFzZWQgb24gKG9yIGRlcml2ZWQgZnJvbSkgdGhlIFdvcmsgYW5kIGZvciB3aGljaCB0aGUK
LSAgICAgIGVkaXRvcmlhbCByZXZpc2lvbnMsIGFubm90YXRpb25zLCBlbGFib3JhdGlvbnMsIG9y
IG90aGVyIG1vZGlmaWNhdGlvbnMKLSAgICAgIHJlcHJlc2VudCwgYXMgYSB3aG9sZSwgYW4gb3Jp
Z2luYWwgd29yayBvZiBhdXRob3JzaGlwLiBGb3IgdGhlIHB1cnBvc2VzCi0gICAgICBvZiB0aGlz
IExpY2Vuc2UsIERlcml2YXRpdmUgV29ya3Mgc2hhbGwgbm90IGluY2x1ZGUgd29ya3MgdGhhdCBy
ZW1haW4KLSAgICAgIHNlcGFyYWJsZSBmcm9tLCBvciBtZXJlbHkgbGluayAob3IgYmluZCBieSBu
YW1lKSB0byB0aGUgaW50ZXJmYWNlcyBvZiwKLSAgICAgIHRoZSBXb3JrIGFuZCBEZXJpdmF0aXZl
IFdvcmtzIHRoZXJlb2YuCi0KLSAgICAgICJDb250cmlidXRpb24iIHNoYWxsIG1lYW4gYW55IHdv
cmsgb2YgYXV0aG9yc2hpcCwgaW5jbHVkaW5nCi0gICAgICB0aGUgb3JpZ2luYWwgdmVyc2lvbiBv
ZiB0aGUgV29yayBhbmQgYW55IG1vZGlmaWNhdGlvbnMgb3IgYWRkaXRpb25zCi0gICAgICB0byB0
aGF0IFdvcmsgb3IgRGVyaXZhdGl2ZSBXb3JrcyB0aGVyZW9mLCB0aGF0IGlzIGludGVudGlvbmFs
bHkKLSAgICAgIHN1Ym1pdHRlZCB0byBMaWNlbnNvciBmb3IgaW5jbHVzaW9uIGluIHRoZSBXb3Jr
IGJ5IHRoZSBjb3B5cmlnaHQgb3duZXIKLSAgICAgIG9yIGJ5IGFuIGluZGl2aWR1YWwgb3IgTGVn
YWwgRW50aXR5IGF1dGhvcml6ZWQgdG8gc3VibWl0IG9uIGJlaGFsZiBvZgotICAgICAgdGhlIGNv
cHlyaWdodCBvd25lci4gRm9yIHRoZSBwdXJwb3NlcyBvZiB0aGlzIGRlZmluaXRpb24sICJzdWJt
aXR0ZWQiCi0gICAgICBtZWFucyBhbnkgZm9ybSBvZiBlbGVjdHJvbmljLCB2ZXJiYWwsIG9yIHdy
aXR0ZW4gY29tbXVuaWNhdGlvbiBzZW50Ci0gICAgICB0byB0aGUgTGljZW5zb3Igb3IgaXRzIHJl
cHJlc2VudGF0aXZlcywgaW5jbHVkaW5nIGJ1dCBub3QgbGltaXRlZCB0bwotICAgICAgY29tbXVu
aWNhdGlvbiBvbiBlbGVjdHJvbmljIG1haWxpbmcgbGlzdHMsIHNvdXJjZSBjb2RlIGNvbnRyb2wg
c3lzdGVtcywKLSAgICAgIGFuZCBpc3N1ZSB0cmFja2luZyBzeXN0ZW1zIHRoYXQgYXJlIG1hbmFn
ZWQgYnksIG9yIG9uIGJlaGFsZiBvZiwgdGhlCi0gICAgICBMaWNlbnNvciBmb3IgdGhlIHB1cnBv
c2Ugb2YgZGlzY3Vzc2luZyBhbmQgaW1wcm92aW5nIHRoZSBXb3JrLCBidXQKLSAgICAgIGV4Y2x1
ZGluZyBjb21tdW5pY2F0aW9uIHRoYXQgaXMgY29uc3BpY3VvdXNseSBtYXJrZWQgb3Igb3RoZXJ3
aXNlCi0gICAgICBkZXNpZ25hdGVkIGluIHdyaXRpbmcgYnkgdGhlIGNvcHlyaWdodCBvd25lciBh
cyAiTm90IGEgQ29udHJpYnV0aW9uLiIKLQotICAgICAgIkNvbnRyaWJ1dG9yIiBzaGFsbCBtZWFu
IExpY2Vuc29yIGFuZCBhbnkgaW5kaXZpZHVhbCBvciBMZWdhbCBFbnRpdHkKLSAgICAgIG9uIGJl
aGFsZiBvZiB3aG9tIGEgQ29udHJpYnV0aW9uIGhhcyBiZWVuIHJlY2VpdmVkIGJ5IExpY2Vuc29y
IGFuZAotICAgICAgc3Vic2VxdWVudGx5IGluY29ycG9yYXRlZCB3aXRoaW4gdGhlIFdvcmsuCi0K
LSAgIDIuIEdyYW50IG9mIENvcHlyaWdodCBMaWNlbnNlLiBTdWJqZWN0IHRvIHRoZSB0ZXJtcyBh
bmQgY29uZGl0aW9ucyBvZgotICAgICAgdGhpcyBMaWNlbnNlLCBlYWNoIENvbnRyaWJ1dG9yIGhl
cmVieSBncmFudHMgdG8gWW91IGEgcGVycGV0dWFsLAotICAgICAgd29ybGR3aWRlLCBub24tZXhj
bHVzaXZlLCBuby1jaGFyZ2UsIHJveWFsdHktZnJlZSwgaXJyZXZvY2FibGUKLSAgICAgIGNvcHly
aWdodCBsaWNlbnNlIHRvIHJlcHJvZHVjZSwgcHJlcGFyZSBEZXJpdmF0aXZlIFdvcmtzIG9mLAot
ICAgICAgcHVibGljbHkgZGlzcGxheSwgcHVibGljbHkgcGVyZm9ybSwgc3VibGljZW5zZSwgYW5k
IGRpc3RyaWJ1dGUgdGhlCi0gICAgICBXb3JrIGFuZCBzdWNoIERlcml2YXRpdmUgV29ya3MgaW4g
U291cmNlIG9yIE9iamVjdCBmb3JtLgotCi0gICAzLiBHcmFudCBvZiBQYXRlbnQgTGljZW5zZS4g
U3ViamVjdCB0byB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgb2YKLSAgICAgIHRoaXMgTGljZW5z
ZSwgZWFjaCBDb250cmlidXRvciBoZXJlYnkgZ3JhbnRzIHRvIFlvdSBhIHBlcnBldHVhbCwKLSAg
ICAgIHdvcmxkd2lkZSwgbm9uLWV4Y2x1c2l2ZSwgbm8tY2hhcmdlLCByb3lhbHR5LWZyZWUsIGly
cmV2b2NhYmxlCi0gICAgICAoZXhjZXB0IGFzIHN0YXRlZCBpbiB0aGlzIHNlY3Rpb24pIHBhdGVu
dCBsaWNlbnNlIHRvIG1ha2UsIGhhdmUgbWFkZSwKLSAgICAgIHVzZSwgb2ZmZXIgdG8gc2VsbCwg
c2VsbCwgaW1wb3J0LCBhbmQgb3RoZXJ3aXNlIHRyYW5zZmVyIHRoZSBXb3JrLAotICAgICAgd2hl
cmUgc3VjaCBsaWNlbnNlIGFwcGxpZXMgb25seSB0byB0aG9zZSBwYXRlbnQgY2xhaW1zIGxpY2Vu
c2FibGUKLSAgICAgIGJ5IHN1Y2ggQ29udHJpYnV0b3IgdGhhdCBhcmUgbmVjZXNzYXJpbHkgaW5m
cmluZ2VkIGJ5IHRoZWlyCi0gICAgICBDb250cmlidXRpb24ocykgYWxvbmUgb3IgYnkgY29tYmlu
YXRpb24gb2YgdGhlaXIgQ29udHJpYnV0aW9uKHMpCi0gICAgICB3aXRoIHRoZSBXb3JrIHRvIHdo
aWNoIHN1Y2ggQ29udHJpYnV0aW9uKHMpIHdhcyBzdWJtaXR0ZWQuIElmIFlvdQotICAgICAgaW5z
dGl0dXRlIHBhdGVudCBsaXRpZ2F0aW9uIGFnYWluc3QgYW55IGVudGl0eSAoaW5jbHVkaW5nIGEK
LSAgICAgIGNyb3NzLWNsYWltIG9yIGNvdW50ZXJjbGFpbSBpbiBhIGxhd3N1aXQpIGFsbGVnaW5n
IHRoYXQgdGhlIFdvcmsKLSAgICAgIG9yIGEgQ29udHJpYnV0aW9uIGluY29ycG9yYXRlZCB3aXRo
aW4gdGhlIFdvcmsgY29uc3RpdHV0ZXMgZGlyZWN0Ci0gICAgICBvciBjb250cmlidXRvcnkgcGF0
ZW50IGluZnJpbmdlbWVudCwgdGhlbiBhbnkgcGF0ZW50IGxpY2Vuc2VzCi0gICAgICBncmFudGVk
IHRvIFlvdSB1bmRlciB0aGlzIExpY2Vuc2UgZm9yIHRoYXQgV29yayBzaGFsbCB0ZXJtaW5hdGUK
LSAgICAgIGFzIG9mIHRoZSBkYXRlIHN1Y2ggbGl0aWdhdGlvbiBpcyBmaWxlZC4KLQotICAgNC4g
UmVkaXN0cmlidXRpb24uIFlvdSBtYXkgcmVwcm9kdWNlIGFuZCBkaXN0cmlidXRlIGNvcGllcyBv
ZiB0aGUKLSAgICAgIFdvcmsgb3IgRGVyaXZhdGl2ZSBXb3JrcyB0aGVyZW9mIGluIGFueSBtZWRp
dW0sIHdpdGggb3Igd2l0aG91dAotICAgICAgbW9kaWZpY2F0aW9ucywgYW5kIGluIFNvdXJjZSBv
ciBPYmplY3QgZm9ybSwgcHJvdmlkZWQgdGhhdCBZb3UKLSAgICAgIG1lZXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zOgotCi0gICAgICAoYSkgWW91IG11c3QgZ2l2ZSBhbnkgb3RoZXIgcmVjaXBp
ZW50cyBvZiB0aGUgV29yayBvcgotICAgICAgICAgIERlcml2YXRpdmUgV29ya3MgYSBjb3B5IG9m
IHRoaXMgTGljZW5zZTsgYW5kCi0KLSAgICAgIChiKSBZb3UgbXVzdCBjYXVzZSBhbnkgbW9kaWZp
ZWQgZmlsZXMgdG8gY2FycnkgcHJvbWluZW50IG5vdGljZXMKLSAgICAgICAgICBzdGF0aW5nIHRo
YXQgWW91IGNoYW5nZWQgdGhlIGZpbGVzOyBhbmQKLQotICAgICAgKGMpIFlvdSBtdXN0IHJldGFp
biwgaW4gdGhlIFNvdXJjZSBmb3JtIG9mIGFueSBEZXJpdmF0aXZlIFdvcmtzCi0gICAgICAgICAg
dGhhdCBZb3UgZGlzdHJpYnV0ZSwgYWxsIGNvcHlyaWdodCwgcGF0ZW50LCB0cmFkZW1hcmssIGFu
ZAotICAgICAgICAgIGF0dHJpYnV0aW9uIG5vdGljZXMgZnJvbSB0aGUgU291cmNlIGZvcm0gb2Yg
dGhlIFdvcmssCi0gICAgICAgICAgZXhjbHVkaW5nIHRob3NlIG5vdGljZXMgdGhhdCBkbyBub3Qg
cGVydGFpbiB0byBhbnkgcGFydCBvZgotICAgICAgICAgIHRoZSBEZXJpdmF0aXZlIFdvcmtzOyBh
bmQKLQotICAgICAgKGQpIElmIHRoZSBXb3JrIGluY2x1ZGVzIGEgIk5PVElDRSIgdGV4dCBmaWxl
IGFzIHBhcnQgb2YgaXRzCi0gICAgICAgICAgZGlzdHJpYnV0aW9uLCB0aGVuIGFueSBEZXJpdmF0
aXZlIFdvcmtzIHRoYXQgWW91IGRpc3RyaWJ1dGUgbXVzdAotICAgICAgICAgIGluY2x1ZGUgYSBy
ZWFkYWJsZSBjb3B5IG9mIHRoZSBhdHRyaWJ1dGlvbiBub3RpY2VzIGNvbnRhaW5lZAotICAgICAg
ICAgIHdpdGhpbiBzdWNoIE5PVElDRSBmaWxlLCBleGNsdWRpbmcgdGhvc2Ugbm90aWNlcyB0aGF0
IGRvIG5vdAotICAgICAgICAgIHBlcnRhaW4gdG8gYW55IHBhcnQgb2YgdGhlIERlcml2YXRpdmUg
V29ya3MsIGluIGF0IGxlYXN0IG9uZQotICAgICAgICAgIG9mIHRoZSBmb2xsb3dpbmcgcGxhY2Vz
OiB3aXRoaW4gYSBOT1RJQ0UgdGV4dCBmaWxlIGRpc3RyaWJ1dGVkCi0gICAgICAgICAgYXMgcGFy
dCBvZiB0aGUgRGVyaXZhdGl2ZSBXb3Jrczsgd2l0aGluIHRoZSBTb3VyY2UgZm9ybSBvcgotICAg
ICAgICAgIGRvY3VtZW50YXRpb24sIGlmIHByb3ZpZGVkIGFsb25nIHdpdGggdGhlIERlcml2YXRp
dmUgV29ya3M7IG9yLAotICAgICAgICAgIHdpdGhpbiBhIGRpc3BsYXkgZ2VuZXJhdGVkIGJ5IHRo
ZSBEZXJpdmF0aXZlIFdvcmtzLCBpZiBhbmQKLSAgICAgICAgICB3aGVyZXZlciBzdWNoIHRoaXJk
LXBhcnR5IG5vdGljZXMgbm9ybWFsbHkgYXBwZWFyLiBUaGUgY29udGVudHMKLSAgICAgICAgICBv
ZiB0aGUgTk9USUNFIGZpbGUgYXJlIGZvciBpbmZvcm1hdGlvbmFsIHB1cnBvc2VzIG9ubHkgYW5k
Ci0gICAgICAgICAgZG8gbm90IG1vZGlmeSB0aGUgTGljZW5zZS4gWW91IG1heSBhZGQgWW91ciBv
d24gYXR0cmlidXRpb24KLSAgICAgICAgICBub3RpY2VzIHdpdGhpbiBEZXJpdmF0aXZlIFdvcmtz
IHRoYXQgWW91IGRpc3RyaWJ1dGUsIGFsb25nc2lkZQotICAgICAgICAgIG9yIGFzIGFuIGFkZGVu
ZHVtIHRvIHRoZSBOT1RJQ0UgdGV4dCBmcm9tIHRoZSBXb3JrLCBwcm92aWRlZAotICAgICAgICAg
IHRoYXQgc3VjaCBhZGRpdGlvbmFsIGF0dHJpYnV0aW9uIG5vdGljZXMgY2Fubm90IGJlIGNvbnN0
cnVlZAotICAgICAgICAgIGFzIG1vZGlmeWluZyB0aGUgTGljZW5zZS4KLQotICAgICAgWW91IG1h
eSBhZGQgWW91ciBvd24gY29weXJpZ2h0IHN0YXRlbWVudCB0byBZb3VyIG1vZGlmaWNhdGlvbnMg
YW5kCi0gICAgICBtYXkgcHJvdmlkZSBhZGRpdGlvbmFsIG9yIGRpZmZlcmVudCBsaWNlbnNlIHRl
cm1zIGFuZCBjb25kaXRpb25zCi0gICAgICBmb3IgdXNlLCByZXByb2R1Y3Rpb24sIG9yIGRpc3Ry
aWJ1dGlvbiBvZiBZb3VyIG1vZGlmaWNhdGlvbnMsIG9yCi0gICAgICBmb3IgYW55IHN1Y2ggRGVy
aXZhdGl2ZSBXb3JrcyBhcyBhIHdob2xlLCBwcm92aWRlZCBZb3VyIHVzZSwKLSAgICAgIHJlcHJv
ZHVjdGlvbiwgYW5kIGRpc3RyaWJ1dGlvbiBvZiB0aGUgV29yayBvdGhlcndpc2UgY29tcGxpZXMg
d2l0aAotICAgICAgdGhlIGNvbmRpdGlvbnMgc3RhdGVkIGluIHRoaXMgTGljZW5zZS4KLQotICAg
NS4gU3VibWlzc2lvbiBvZiBDb250cmlidXRpb25zLiBVbmxlc3MgWW91IGV4cGxpY2l0bHkgc3Rh
dGUgb3RoZXJ3aXNlLAotICAgICAgYW55IENvbnRyaWJ1dGlvbiBpbnRlbnRpb25hbGx5IHN1Ym1p
dHRlZCBmb3IgaW5jbHVzaW9uIGluIHRoZSBXb3JrCi0gICAgICBieSBZb3UgdG8gdGhlIExpY2Vu
c29yIHNoYWxsIGJlIHVuZGVyIHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZgotICAgICAgdGhp
cyBMaWNlbnNlLCB3aXRob3V0IGFueSBhZGRpdGlvbmFsIHRlcm1zIG9yIGNvbmRpdGlvbnMuCi0g
ICAgICBOb3R3aXRoc3RhbmRpbmcgdGhlIGFib3ZlLCBub3RoaW5nIGhlcmVpbiBzaGFsbCBzdXBl
cnNlZGUgb3IgbW9kaWZ5Ci0gICAgICB0aGUgdGVybXMgb2YgYW55IHNlcGFyYXRlIGxpY2Vuc2Ug
YWdyZWVtZW50IHlvdSBtYXkgaGF2ZSBleGVjdXRlZAotICAgICAgd2l0aCBMaWNlbnNvciByZWdh
cmRpbmcgc3VjaCBDb250cmlidXRpb25zLgotCi0gICA2LiBUcmFkZW1hcmtzLiBUaGlzIExpY2Vu
c2UgZG9lcyBub3QgZ3JhbnQgcGVybWlzc2lvbiB0byB1c2UgdGhlIHRyYWRlCi0gICAgICBuYW1l
cywgdHJhZGVtYXJrcywgc2VydmljZSBtYXJrcywgb3IgcHJvZHVjdCBuYW1lcyBvZiB0aGUgTGlj
ZW5zb3IsCi0gICAgICBleGNlcHQgYXMgcmVxdWlyZWQgZm9yIHJlYXNvbmFibGUgYW5kIGN1c3Rv
bWFyeSB1c2UgaW4gZGVzY3JpYmluZyB0aGUKLSAgICAgIG9yaWdpbiBvZiB0aGUgV29yayBhbmQg
cmVwcm9kdWNpbmcgdGhlIGNvbnRlbnQgb2YgdGhlIE5PVElDRSBmaWxlLgotCi0gICA3LiBEaXNj
bGFpbWVyIG9mIFdhcnJhbnR5LiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IK
LSAgICAgIGFncmVlZCB0byBpbiB3cml0aW5nLCBMaWNlbnNvciBwcm92aWRlcyB0aGUgV29yayAo
YW5kIGVhY2gKLSAgICAgIENvbnRyaWJ1dG9yIHByb3ZpZGVzIGl0cyBDb250cmlidXRpb25zKSBv
biBhbiAiQVMgSVMiIEJBU0lTLAotICAgICAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElP
TlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yCi0gICAgICBpbXBsaWVkLCBpbmNsdWRp
bmcsIHdpdGhvdXQgbGltaXRhdGlvbiwgYW55IHdhcnJhbnRpZXMgb3IgY29uZGl0aW9ucwotICAg
ICAgb2YgVElUTEUsIE5PTi1JTkZSSU5HRU1FTlQsIE1FUkNIQU5UQUJJTElUWSwgb3IgRklUTkVT
UyBGT1IgQQotICAgICAgUEFSVElDVUxBUiBQVVJQT1NFLiBZb3UgYXJlIHNvbGVseSByZXNwb25z
aWJsZSBmb3IgZGV0ZXJtaW5pbmcgdGhlCi0gICAgICBhcHByb3ByaWF0ZW5lc3Mgb2YgdXNpbmcg
b3IgcmVkaXN0cmlidXRpbmcgdGhlIFdvcmsgYW5kIGFzc3VtZSBhbnkKLSAgICAgIHJpc2tzIGFz
c29jaWF0ZWQgd2l0aCBZb3VyIGV4ZXJjaXNlIG9mIHBlcm1pc3Npb25zIHVuZGVyIHRoaXMgTGlj
ZW5zZS4KLQotICAgOC4gTGltaXRhdGlvbiBvZiBMaWFiaWxpdHkuIEluIG5vIGV2ZW50IGFuZCB1
bmRlciBubyBsZWdhbCB0aGVvcnksCi0gICAgICB3aGV0aGVyIGluIHRvcnQgKGluY2x1ZGluZyBu
ZWdsaWdlbmNlKSwgY29udHJhY3QsIG9yIG90aGVyd2lzZSwKLSAgICAgIHVubGVzcyByZXF1aXJl
ZCBieSBhcHBsaWNhYmxlIGxhdyAoc3VjaCBhcyBkZWxpYmVyYXRlIGFuZCBncm9zc2x5Ci0gICAg
ICBuZWdsaWdlbnQgYWN0cykgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNoYWxsIGFueSBDb250
cmlidXRvciBiZQotICAgICAgbGlhYmxlIHRvIFlvdSBmb3IgZGFtYWdlcywgaW5jbHVkaW5nIGFu
eSBkaXJlY3QsIGluZGlyZWN0LCBzcGVjaWFsLAotICAgICAgaW5jaWRlbnRhbCwgb3IgY29uc2Vx
dWVudGlhbCBkYW1hZ2VzIG9mIGFueSBjaGFyYWN0ZXIgYXJpc2luZyBhcyBhCi0gICAgICByZXN1
bHQgb2YgdGhpcyBMaWNlbnNlIG9yIG91dCBvZiB0aGUgdXNlIG9yIGluYWJpbGl0eSB0byB1c2Ug
dGhlCi0gICAgICBXb3JrIChpbmNsdWRpbmcgYnV0IG5vdCBsaW1pdGVkIHRvIGRhbWFnZXMgZm9y
IGxvc3Mgb2YgZ29vZHdpbGwsCi0gICAgICB3b3JrIHN0b3BwYWdlLCBjb21wdXRlciBmYWlsdXJl
IG9yIG1hbGZ1bmN0aW9uLCBvciBhbnkgYW5kIGFsbAotICAgICAgb3RoZXIgY29tbWVyY2lhbCBk
YW1hZ2VzIG9yIGxvc3NlcyksIGV2ZW4gaWYgc3VjaCBDb250cmlidXRvcgotICAgICAgaGFzIGJl
ZW4gYWR2aXNlZCBvZiB0aGUgcG9zc2liaWxpdHkgb2Ygc3VjaCBkYW1hZ2VzLgotCi0gICA5LiBB
Y2NlcHRpbmcgV2FycmFudHkgb3IgQWRkaXRpb25hbCBMaWFiaWxpdHkuIFdoaWxlIHJlZGlzdHJp
YnV0aW5nCi0gICAgICB0aGUgV29yayBvciBEZXJpdmF0aXZlIFdvcmtzIHRoZXJlb2YsIFlvdSBt
YXkgY2hvb3NlIHRvIG9mZmVyLAotICAgICAgYW5kIGNoYXJnZSBhIGZlZSBmb3IsIGFjY2VwdGFu
Y2Ugb2Ygc3VwcG9ydCwgd2FycmFudHksIGluZGVtbml0eSwKLSAgICAgIG9yIG90aGVyIGxpYWJp
bGl0eSBvYmxpZ2F0aW9ucyBhbmQvb3IgcmlnaHRzIGNvbnNpc3RlbnQgd2l0aCB0aGlzCi0gICAg
ICBMaWNlbnNlLiBIb3dldmVyLCBpbiBhY2NlcHRpbmcgc3VjaCBvYmxpZ2F0aW9ucywgWW91IG1h
eSBhY3Qgb25seQotICAgICAgb24gWW91ciBvd24gYmVoYWxmIGFuZCBvbiBZb3VyIHNvbGUgcmVz
cG9uc2liaWxpdHksIG5vdCBvbiBiZWhhbGYKLSAgICAgIG9mIGFueSBvdGhlciBDb250cmlidXRv
ciwgYW5kIG9ubHkgaWYgWW91IGFncmVlIHRvIGluZGVtbmlmeSwKLSAgICAgIGRlZmVuZCwgYW5k
IGhvbGQgZWFjaCBDb250cmlidXRvciBoYXJtbGVzcyBmb3IgYW55IGxpYWJpbGl0eQotICAgICAg
aW5jdXJyZWQgYnksIG9yIGNsYWltcyBhc3NlcnRlZCBhZ2FpbnN0LCBzdWNoIENvbnRyaWJ1dG9y
IGJ5IHJlYXNvbgotICAgICAgb2YgeW91ciBhY2NlcHRpbmcgYW55IHN1Y2ggd2FycmFudHkgb3Ig
YWRkaXRpb25hbCBsaWFiaWxpdHkuCi0KLSAgIEVORCBPRiBURVJNUyBBTkQgQ09ORElUSU9OUwot
Ci0gICBBUFBFTkRJWDogSG93IHRvIGFwcGx5IHRoZSBBcGFjaGUgTGljZW5zZSB0byB5b3VyIHdv
cmsuCi0KLSAgICAgIFRvIGFwcGx5IHRoZSBBcGFjaGUgTGljZW5zZSB0byB5b3VyIHdvcmssIGF0
dGFjaCB0aGUgZm9sbG93aW5nCi0gICAgICBib2lsZXJwbGF0ZSBub3RpY2UsIHdpdGggdGhlIGZp
ZWxkcyBlbmNsb3NlZCBieSBicmFja2V0cyAiW10iCi0gICAgICByZXBsYWNlZCB3aXRoIHlvdXIg
b3duIGlkZW50aWZ5aW5nIGluZm9ybWF0aW9uLiAoRG9uJ3QgaW5jbHVkZQotICAgICAgdGhlIGJy
YWNrZXRzISkgIFRoZSB0ZXh0IHNob3VsZCBiZSBlbmNsb3NlZCBpbiB0aGUgYXBwcm9wcmlhdGUK
LSAgICAgIGNvbW1lbnQgc3ludGF4IGZvciB0aGUgZmlsZSBmb3JtYXQuIFdlIGFsc28gcmVjb21t
ZW5kIHRoYXQgYQotICAgICAgZmlsZSBvciBjbGFzcyBuYW1lIGFuZCBkZXNjcmlwdGlvbiBvZiBw
dXJwb3NlIGJlIGluY2x1ZGVkIG9uIHRoZQotICAgICAgc2FtZSAicHJpbnRlZCBwYWdlIiBhcyB0
aGUgY29weXJpZ2h0IG5vdGljZSBmb3IgZWFzaWVyCi0gICAgICBpZGVudGlmaWNhdGlvbiB3aXRo
aW4gdGhpcmQtcGFydHkgYXJjaGl2ZXMuCi0KLSAgIENvcHlyaWdodCBbeXl5eV0gW25hbWUgb2Yg
Y29weXJpZ2h0IG93bmVyXQotCi0gICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2Us
IFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKLSAgIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZp
bGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KLSAgIFlvdSBtYXkgb2J0
YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAotCi0gICAgICAgaHR0cDovL3d3dy5hcGFjaGUu
b3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCi0KLSAgIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNh
YmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKLSAgIGRpc3RyaWJ1dGVk
IHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCi0g
ICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4
cHJlc3Mgb3IgaW1wbGllZC4KLSAgIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxh
bmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKLSAgIGxpbWl0YXRpb25zIHVuZGVyIHRo
ZSBMaWNlbnNlLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL01ha2VmaWxlIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L3dpZGxwcm9jL01ha2VmaWxlCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBk
NTE3NDY2ZTQ4ZC4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL01ha2VmaWxl
CisrKyAvZGV2L251bGwKQEAgLTEsMTU4ICswLDAgQEAKLSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwotIyAkSWQk
Ci0jIENvcHlyaWdodCAyMDA5IEFwbGl4IENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgotIyBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUg
IkxpY2Vuc2UiKTsKLSMgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxp
YW5jZSB3aXRoIHRoZSBMaWNlbnNlLgotIyBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExp
Y2Vuc2UgYXQKLSMgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIu
MAotIyBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdy
aXRpbmcsIHNvZnR3YXJlCi0jIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3Ry
aWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCi0jIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05E
SVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgotIyBTZWUgdGhl
IExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMg
YW5kCi0jIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgotIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCi0K
LVVOQU1FID0gJChzaGVsbCB1bmFtZSkKLUlOQ0RJUlMgPSAkKE9CSkRJUikKLVNSQ0RJUiA9IHNy
YwotRE9DRElSID0gZG9jCi1FWEFNUExFU0RJUiA9IGV4YW1wbGVzCi1PQkpESVIgPSBvYmoKLQot
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjCi0jIExpbnV4IGNvbmZpZ3VyYXRpb24KLSMKLWlmbmVxICgsJChmaWx0
ZXIgTGludXglLCAkKFVOQU1FKSkpIAotCi1DRkxBR1MgPSAtZyAtV2FsbCAtV2Vycm9yIC1PMCAk
KHBhdHN1YnN0ICUsIC1JJSwgJChJTkNESVJTKSkKLU9CSlNVRkZJWCA9IC5vCi1FWEVTVUZGSVgg
PQotI0xJQlMgPSAtbGVmZW5jZQotT0JKT1BUSU9OID0gLW8KLUVYRU9QVElPTiA9IC1vCi0KLWVs
c2UKLSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIwotIyBEYXJ3aW4gY29uZmlndXJhdGlvbgotIwotaWZuZXEgKCwk
KGZpbHRlciBEYXJ3aW4lLCAkKFVOQU1FKSkpIAotCi1DRkxBR1MgPSAtZyAtV2FsbCAtV2Vycm9y
IC1PMiAkKHBhdHN1YnN0ICUsIC1JJSwgJChJTkNESVJTKSkKLU9CSlNVRkZJWCA9IC5vCi1FWEVT
VUZGSVggPQotT0JKT1BUSU9OID0gLW8KLSMgVGhlIC1vIGluIHRoZSBmb2xsb3dpbmcgbGluZSBo
YXMgYSBzcGFjZSBhZnRlciBpdCwgd2hpY2ggbXVzdCBub3QgYmUgcmVtb3ZlZC4KLUVYRU9QVElP
TiA9IC1vIAotCi1lbHNlCi0jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKLSMgV2luZG93cyAoY3lnd2luIGJ1dCB1
c2luZyBNUyBjb21waWxlcikgY29uZmlndXJhdGlvbgotIwotIyB0aGlzIGlzIG1lc3N5IC0gc2hv
dWxkIHByb2JhYmx5IHVzZSB2Y3ZhcnMuYmF0Ci1pZm5lcSAoLCQoZmlsdGVyIENZR1dJTiUsICQo
VU5BTUUpKSkgCi1WSVNVQUxTVFVESU9ESVIgPSAkKHdpbGRjYXJkIC9jeWdkcml2ZS9jL1Byb2dy
YW0qRmlsZXMvTWljcm9zb2Z0KlZpc3VhbCpTdHVkaW8qOCkKLVNES0RJUiA9ICQod2lsZGNhcmQg
L2N5Z2RyaXZlL2MvUHJvZ3JhbSpGaWxlcy9NaWNyb3NvZnQqU0RLcy9XaW5kb3dzLyovTGliKQot
aWZlcSAoLCQoVklTVUFMU1RVRElPRElSKSkKLVZJU1VBTFNUVURJT0RJUiA9ICQod2lsZGNhcmQg
L2N5Z2RyaXZlL2MvUHJvZ3JhbVwgRmlsZXNcICovTWljcm9zb2Z0KlZpc3VhbCpTdHVkaW8qMTAq
KQotZW5kaWYKLWlmZXEgKCwkKFZJU1VBTFNUVURJT0RJUikpCi1WSVNVQUxTVFVESU9ESVIgPSAk
KHdpbGRjYXJkIC9jeWdkcml2ZS9jL1Byb2dyYW1cIEZpbGVzXCAqL01pY3Jvc29mdCpWaXN1YWwq
U3R1ZGlvKjExKikKLWVuZGlmCi0jIHRoaXMgaXMgcmV2ZWx2YW50IGZvciB2czIwMTIgYW5kIHdp
bmRvd3MgOCAtIHNkayBsb2NhdGlvbiBoYXMgY2hhbmdlZAotaWZlcSAoLCQoU0RLRElSKSkKLVNE
S0RJUiA9ICQod2lsZGNhcmQgL2N5Z2RyaXZlL2MvUHJvZ3JhbVwgRmlsZXNcICovV2luZG93cypL
aXRzKQotZW5kaWYKLQotaWZlcSAoLCQoVklTVUFMU1RVRElPRElSKSkKLSQoZXJyb3IgQ291bGQg
bm90IGZpbmQgIE1TIFZpc3VhbCBTdHVkaW8pIAotZWxzZQotV0lOVklTVUFMU1RVRElPRElSID0g
JChzaGVsbCBjeWdwYXRoIC13ICckKFZJU1VBTFNUVURJT0RJUiknKQotV0lOU0RLRElSID0gJChz
aGVsbCBjeWdwYXRoIC13ICckKFNES0RJUiknKQotCi0jJChlcnJvciAkKFZJU1VBTFNUVURJT0RJ
UikpIAotCi1DQyA9IFwKLQlMaWI9JyQoV0lOVklTVUFMU1RVRElPRElSKVxWQ1xMSUI7JChXSU5W
SVNVQUxTVFVESU9ESVIpXFZDXFBsYXRmb3JtU0RLXExpYjskKFdJTlNES0RJUiknIFwKLQlQQVRI
PSckKFZJU1VBTFNUVURJT0RJUikvQ29tbW9uNy9JREU6JChWSVNVQUxTVFVESU9ESVIpL1ZDL0JJ
TjokKFZJU1VBTFNUVURJT0RJUikvQ29tbW9uNy9Ub29sczokKFZJU1VBTFNUVURJT0RJUikvU0RL
L3YyLjAvYmluOiQoVklTVUFMU1RVRElPRElSKS84LjAvTGliL3dpbjgvdW0veDg2OickJFBBVEgg
XAotCUluY2x1ZGU9JyQoV0lOVklTVUFMU1RVRElPRElSKVxWQ1xJTkNMVURFOyQoV0lOVklTVUFM
U1RVRElPRElSKVxWQ1xQbGF0Zm9ybVNES1xJbmNsdWRlJyBcCi0JY2wKLWVuZGlmCi0KLUNGTEFH
UyA9IC9ub2xvZ28gL1dYIC9XMyAvd2Q0OTk2IC9aaSAvTzIgJChwYXRzdWJzdCAlLCAvSSUsICQo
SU5DRElSUykpCi1PQkpTVUZGSVggPSAub2JqCi1FWEVTVUZGSVggPSAuZXhlCi1PQkpPUFRJT04g
PSAvRm8KLUVYRU9QVElPTiA9IC9GZQotCi1lbmRpZgotZW5kaWYKLWVuZGlmCi0KLSMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIwotIyBDb21tb24gbWFrZWZpbGUKLSMKLVdJRExQUk9DID0gJChPQkpESVIpL3dpZGxw
cm9jJChFWEVTVUZGSVgpCi1EVEQgPSAkKE9CSkRJUikvd2lkbHByb2N4bWwuZHRkCi0KLUFMTCA9
ICQoV0lETFBST0MpICQoRFREKQotYWxsIDogJChBTEwpCi0KLVNSQ1MgPSBcCi0JY29tbWVudC5j
IFwKLQlsZXguYyBcCi0JbWFpbi5jIFwKLQltaXNjLmMgXAotCW5vZGUuYyBcCi0JcGFyc2UuYyBc
Ci0JcHJvY2Vzcy5jCi0KLU9CSlMgPSAkKHBhdHN1YnN0ICUuYywgJChPQkpESVIpLyUkKE9CSlNV
RkZJWCksICQoU1JDUykpCi0kKFdJRExQUk9DKSA6ICQoT0JKUykKLQkkKENDKSAkKENGTEFHUykg
JChFWEVPUFRJT04pJEAgJF4gJChMSUJTKQotCi0kKE9CSkRJUikvJSQoT0JKU1VGRklYKSA6ICQo
U1JDRElSKS8lLmMKLQlta2RpciAtcCAkKGRpciAkQCkKLQkkKENDKSAkKENGTEFHUykgJChPQkpP
UFRJT04pJEAgLWMgJDwKLQotJChPQkpESVIpLyUuZCA6ICQoU1JDRElSKS8lLmMKLQlta2RpciAt
cCAkKGRpciAkQCkKLQljYyAkKHBhdHN1YnN0ICUsIC1JJSwgJChJTkNESVJTKSkgLU1NIC1NRyAt
TVQgJChwYXRzdWJzdCAlLmQsICUkKE9CSlNVRkZJWCksICRAKSAkPCB8IHNlZCAnJChwYXRzdWJz
dCAlLCBzfCBcKCVcKXwgJChPQkpESVIpL1wxfDssICQoQVVUT0dFTkhFQURFUlMpKScgPiRACi0K
LWluY2x1ZGUgJChwYXRzdWJzdCAlLmMsICQoT0JKRElSKS8lLmQsICQoU1JDUykpCi0KLQotJChE
VEQpIDogJChET0NESVIpL2h0bWx0b2R0ZC54c2wgJChET0NESVIpL3dpZGxwcm9jLmh0bWwKLQl4
c2x0cHJvYyAtaHRtbCAkXiA+JEAKLQotY2xlYW4gOgotCXJtIC1mICQoQUxMKSAkKE9CSlMpCi0K
LXZlcnljbGVhbiA6Ci0Jcm0gLXJmICQoT0JKRElSKQotCi1TVk5GSUxFUyA9ICQoc2hlbGwgdGVz
dCAtZCAuc3ZuICYmIHN2biBpbmZvIC1SIC4gfCBzZWQgLW4gJ3MvXlBhdGg6IFwoLipcKSQkL1wx
L3AnKQotU1ZOQlJBTkNIID0gJChzaGVsbCB0ZXN0IC1kIC5zdm4gJiYgc3ZuIGluZm8gLiB8IHNl
ZCAtbiAnc3xeVVJMOi4qL1woW14vXSpcKSQkfFwxfHAnKQotU1ZOUkVWID0gJChzaGVsbCB0ZXN0
IC1kIC5zdm4gJiYgc3ZuIGluZm8gLVIgLiB8IHNlZCAtbiAncy9eTGFzdCBDaGFuZ2VkIFJldjog
XChbMC05XVswLTldKlwpJCQvXDEvcCcgfCBzb3J0IC1nIHwgdGFpbCAtMSkKLQotU1ZOTE9HID0g
aGlzdG9yeQotJChTVk5MT0cpIDogJChTVk5GSUxFUykKLQlzdm4gbG9nIC12ckhFQUQ6MzExID4k
QAotCi16aXAgOiAkKE9CSkRJUikvd2lkbHByb2MtJChTVk5CUkFOQ0gpJChTVk5SRVYpLnppcAot
JChPQkpESVIpL3dpZGxwcm9jLSQoU1ZOQlJBTkNIKSQoU1ZOUkVWKS56aXAgOiAkKFdJRExQUk9D
KSAkKERURCkgJChET0NESVIpL3dpZGxwcm9jLmh0bWwgJChTUkNESVIpL3dpZGxwcm9jeG1sdG9o
dG1sLnhzbCBNYWtlZmlsZSAkKFNWTkxPRykKLQlybSAtZiAkQAotCXppcCAtaiAkQCAkXiAteCBN
YWtlZmlsZQotCXppcCAkQCBleGFtcGxlcy8qLndpZGwgZXhhbXBsZXMvKi5jc3MgZXhhbXBsZXMv
TWFrZWZpbGUgZXhhbXBsZXMvUkVBRE1FIGV4YW1wbGVzLyoueHNsIGV4YW1wbGVzLyouaHRtbAot
Ci1zcmN6aXAgOiB3aWRscHJvYy1zcmMtJChTVk5CUkFOQ0gpJChTVk5SRVYpLnppcAotCi13aWRs
cHJvYy1zcmMtJS56aXAgOiAkKFNWTkZJTEVTKSAkKFNWTkxPRykKLQl6aXAgJEAgJF4gCi0KLWV4
YW1wbGVzIDoKLQkkKE1BS0UpIC1DIGV4YW1wbGVzIFNSQ0RJUj0uLi9zcmMgT0JKRElSPS4uL29i
aiBFWEFNUExFU09CSkRJUj0uLi9vYmovZXhhbXBsZXMKLQotdGVzdCA6ICQoT0JKUykKLQkkKE1B
S0UpIC1DIHRlc3QgU1JDRElSPS4uL3NyYyBPQkpESVI9Li4vb2JqCi0KLS5ERUxFVEVfT05fRVJS
T1I6CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvUkVBRE1FLm1kIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3dpZGxwcm9jL1JFQURNRS5tZApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOGVkODI0
ZTdkOWQuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9SRUFETUUubWQKKysr
IC9kZXYvbnVsbApAQCAtMSw0MCArMCwwIEBACi0jIFVzZXMKLQotd2lkbHByb2MgY2FuIGJlIHVz
ZWQgdG8gdmFsaWRhdGUgV2ViSURMIGluIFczQyBzcGVjaWZpY2F0aW9ucy4gSXQgc2VydmVzIGFz
IHRoZSBiYXNpcyBmb3IgdGhlIFtXM0MgV2ViIElETCBvbi1saW5lIGNoZWNrZXJdKGh0dHA6Ly93
d3cudzMub3JnLzIwMDkvMDcvd2ViaWRsLWNoZWNrKS4KLQotd2lkbHByb2MncyBnZW5lcmF0ZWQg
WE1MIGlzIHVzZWQgdG8gZ2VuZXJhdGUgW3dlYmlub3MgSmF2YVNjcmlwdCBBUElzIHNwZWNpZmlj
YXRpb25zXShodHRwOi8vZGV2LndlYmlub3Mub3JnL3NwZWNpZmljYXRpb25zL2RyYWZ0LykuCi0K
LSMgTGljZW5zZQotCi13aWRscHJvYyBpcyBsaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIDIgTGlj
ZW5zZS4KLQotIyBPdGhlcnMKLQotU2VlIGFsc28gW3dlYmlkbC5qc10oaHR0cHM6Ly9naXRodWIu
Y29tL2Rhcm9iaW4vd2ViaWRsLmpzKSwgYSBKYXZhU2NyaXB0LWJhc2VkIFdlYiBJREwgcGFyc2Vy
IHVzZWQgYnkgdmFyaW91cyB0b29scyBpbiBXM0MuCi0KLSMgQ3JlZGl0cwotCi1Nb3N0IG9mIHRo
ZSB3b3JrIG9uIHdpZGxwcm9jIHdhcyBkb25lIGJ5IFRpbSBSZW5vdWYgYW5kIFBhZGR5IEJ5ZXJz
LiBBcGxpeCBjb3Jwb3JhdGlvbiBvd25zIHRoZSBjb3B5cmlnaHQgb2YgdGhlIGNvZGUgdXAgdG8g
SnVuZSAyMDExLgotCi1UaGUgdG9vbCBpcyBrZXB0IHVwIHRvIGRhdGUgd2l0aCB0aGUgY2hhbmdl
cyBpbiB0aGUgc3BlYyBieSBEb21pbmlxdWUgSGF6YWVsLU1hc3NpZXV4LCB0aHJvdWdoIGZ1bmRp
bmcgZnJvbSB0aGUgW3dlYmlub3MgcHJvamVjdF0oaHR0cDovL3dlYmlub3Mub3JnLykgc2luY2Ug
SnVuZSAyMDExLgotCi0jIERvY3VtZW50YXRpb24KLQotU2VlIGRvYy93aWRscHJvYy5odG1sIGlu
IHRoZSB0cmVlLgotCi0jIEJ1aWxkIEluc3RydWN0aW9ucwotCi0jIyBXaW5kb3dzCi0KLUluc3Rh
bGwgcmVxdWlyZW1lbnRzCi0qIEN5Z3dpbiAtIG11c3QgaW5zdGFsbCBtdXN0IGluc3RhbGwgbGli
cy9saWJ4c2x0Ci0qIFZpc3VhbCBTdHVkaW8gZXhwcmVzcyAyMDEyIG9yIDIwMTAgKHNlZSBkaWZm
ZXJlbmNlIGJlbG93KQotCi1tYWtlZmlsZSB1c2VzIGN5Z3dpbiBtYWtlLiBSZWZlcmVuY2VzIGFy
ZSBjb2RlZCBpbiB0aGUgbWFrZSBmaWxlIHRvIGRldGVjdCB0ZWggY3VycmVudCB2ZXJzaW9uIG9m
IHZpc3VhbCBzdHVkaW8gCi0KLSMgRnV0dXJlIHdvcmsKLXdpbmRvd3MgYnVpbGQgY291bGQgYmUg
aW1wcm92ZWQgdG8gaGFuZGxlIG11bHRpcGUgdmVyc2lvbnMgd2l0aCB2Y3ZhcnMuYmF0Ci1odHRw
Oi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzYyMDI5L3ZzMjAwOC1jb21tYW5kLXByb21w
dC1jeWd3aW4KLQotCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9kb2MvaHRtbHRv
ZHRkLnhzbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9kb2MvaHRtbHRvZHRkLnhzbApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggZDhiN2Y1OTczZmIuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC93aWRscHJvYy9kb2MvaHRtbHRvZHRkLnhzbAorKysgL2Rldi9udWxsCkBAIC0xLDI4ICsw
LDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InVzLWFzY2lpIj8+Ci08IS0tPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLSRJZCQKLUNvcHlyaWdodCAyMDA5IEFwbGl4IENvcnBvcmF0aW9uLiBBbGwgcmln
aHRzIHJlc2VydmVkLgotTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9u
IDIuMCAodGhlICJMaWNlbnNlIik7Ci15b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBp
biBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCi1Zb3UgbWF5IG9idGFpbiBhIGNvcHkgb2Yg
dGhlIExpY2Vuc2UgYXQKLSAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5T
RS0yLjAKLVVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4g
d3JpdGluZywgc29mdHdhcmUKLWRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3Ry
aWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCi1XSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElU
SU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KLVNlZSB0aGUgTGlj
ZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQK
LWxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgotCi1TdHlsZXNoZWV0IHRvIGV4dHJhY3Qg
RFREIGZvciB3aWRscHJvY3htbCBmcm9tIHdpZGxwcm9jLmh0bWwKLT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PS0tPgot
PHhzbDpzdHlsZXNoZWV0IHhtbG5zOnhzbD0iaHR0cDovL3d3dy53My5vcmcvMTk5OS9YU0wvVHJh
bnNmb3JtIiB2ZXJzaW9uPSIxLjAiPgotPHhzbDpvdXRwdXQgbWV0aG9kPSJ0ZXh0IiBlbmNvZGlu
Zz0idXMtYXNjaWkiIGluZGVudD0ibm8iLz4KLQotPCEtLSA8cHJlIGNsYXNzPSJkdGQiPiBlbGVt
ZW50IC0tPgotPHhzbDp0ZW1wbGF0ZSBtYXRjaD0icHJlW0BjbGFzcz0nZHRkJ10iPgotICAgIDx4
c2w6dmFsdWUtb2Ygc2VsZWN0PSIuIi8+Ci08L3hzbDp0ZW1wbGF0ZT4KLQotPCEtLUlnbm9yZSBv
dGhlciB0ZXh0LiAtLT4KLTx4c2w6dGVtcGxhdGUgbWF0Y2g9InRleHQoKSIgcHJpb3JpdHk9Ii0x
MDAiLz4KLQotPC94c2w6c3R5bGVzaGVldD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJv
Yy9kb2MvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvZG9jL3czYy1pbXBvcnQu
bG9nCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5Nzc0ODNjZTNlOS4uMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL2RvYy93M2MtaW1wb3J0LmxvZworKysgL2Rldi9u
dWxsCkBAIC0xLDE5ICswLDAgQEAKLVRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGlt
cG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgotRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0
cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24g
dGhlIFczQyBDU1Mgb3IgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20vdzNjL2Nzc3dn
LXRlc3QKLQlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cwotCi1UaGVu
IHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWlt
cG9ydAotCi1EbyBOT1QgbW9kaWZ5IG9yIHJlbW92ZSB0aGlzIGZpbGUuCi0KLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLQotUHJvcGVydGllcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgotTm9uZQotUHJvcGVy
dHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6Ci1Ob25lCi0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0KLUxpc3Qgb2YgZmlsZXM6Ci0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL2RvYy9odG1sdG9kdGQueHNs
Ci0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3dpZGxwcm9jL2RvYy93aWRscHJvYy5odG1sCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvd2lkbHByb2MvZG9jL3dpZGxwcm9jLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvZG9j
L3dpZGxwcm9jLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDRlYjQyYzM5YmI5
Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvZG9jL3dpZGxwcm9jLmh0bWwK
KysrIC9kZXYvbnVsbApAQCAtMSwxMTI0ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vVzNDLy9EVEQgSFRNTCA0LjAxLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL2h0bWw0L3N0
cmljdC5kdGQiPgotPCEtLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci1Db3B5cmlnaHQgMjAwOSBBcGxpeCBDb3Jwb3Jh
dGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLUxpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGlj
ZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOwoteW91IG1heSBub3QgdXNlIHRoaXMg
ZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgotWW91IG1heSBvYnRh
aW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0Ci0gICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xp
Y2Vuc2VzL0xJQ0VOU0UtMi4wCi1Vbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3Ig
YWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCi1kaXN0cmlidXRlZCB1bmRlciB0aGUgTGlj
ZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAotV0lUSE9VVCBXQVJSQU5U
SUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQu
Ci1TZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVy
bWlzc2lvbnMgYW5kCi1saW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KLT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PS0tPgotPGh0bWw+Ci08aGVhZD4KLTxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29u
dGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXVzLWFzY2lpIj4KLTx0aXRsZT53aWRscHJvYzwvdGl0
bGU+Ci08c3R5bGUgdHlwZT0idGV4dC9jc3MiPgotICAgIGJvZHkgeyBjb2xvcjogYmxhY2s7IGZv
bnQ6IDEwcHQgdmVyZGFuYTsgfQotICAgIGE6bGluayB7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsg
fQotICAgIGE6dmlzaXRlZCB7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfQotICAgIGE6aG92ZXIg
eyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfQotICAgIGR0IHsgbWFyZ2luLXRvcDogMC41
ZW07IH0KLSAgICBkZCB7IG1hcmdpbi1sZWZ0OiAxZW07IG1hcmdpbi1ib3R0b206IDAuNWVtOyB9
Ci0gICAgbGkgeyBtYXJnaW4tYm90dG9tOiAwOyB9Ci0gICAgaDQgeyBmb250LXNpemU6IDEwcHQ7
IH0KLSAgICB0YWJsZSB7IGJvcmRlcjogMXB4IHNvbGlkOyBib3JkZXItY29sbGFwc2U6IGNvbGxh
cHNlOyB9Ci0gICAgdGQgeyBib3JkZXI6IDFweCBzb2xpZDsgfQotICAgIHRoIHsgYm9yZGVyOiAx
cHggc29saWQ7IH0KLSAgICBjb2RlIHsgYmFja2dyb3VuZC1jb2xvcjogI2YwZjBmMDsgfQotICAg
IHByZSB7IGJhY2tncm91bmQtY29sb3I6ICNmMGYwZjA7IH0KLSAgICAuaW5kZW50IHsgbWFyZ2lu
LWxlZnQ6IDNlbTsgfQotICAgIC5pc3N1ZSB7IGJhY2tncm91bmQtY29sb3I6ICMwMENDQ0M7IH0K
LTwvc3R5bGU+Ci08L2hlYWQ+Ci08Ym9keT4KLTxoMT53aWRscHJvYzwvaDE+Ci0KLTxwPlRpbSBS
ZW5vdWYsIEFwbGl4IENvcnA8L3A+Ci08cD4kSWQkCi08L3A+Ci0KLTxoMj5JbnRyb2R1Y3Rpb248
L2gyPgotCi08cD4KLXdpZGxwcm9jIGlzIGEgcHJvY2Vzc29yIHRoYXQgYWNjZXB0cyBhcyBpbnB1
dAotPGEgaHJlZj0iI3dlYmlkbCI+V2ViIElETDwvYT4gKHRoZSAzMCBTZXB0ZW1iZXIgMjAwOSBl
ZGl0b3IncyBkcmFmdCksCi13aXRoIGNvbW1lbnRzIGluIGEgc3Vic2V0IG9mIHRoZSBmb3JtYXQg
dXNlZCBieQotPGEgaHJlZj0iI2RveHlnZW4iPkRveHlnZW48L2E+LgotVGhlIGZvcm1hdCBpdCBh
Y2NlcHRzIGlzIHByb3Bvc2VkIGJ5IEFwbGl4IGZvciBhdXRob3JpbmcKLTxhIGhyZWY9IiNib25k
aSI+Qk9OREk8L2E+IGludGVyZmFjZSBkZWZpbml0aW9ucy4KLTwvcD4KLQotPHA+Ci1UaGUgb3V0
cHV0IG9mIHdpZGxwcm9jIGlzIGFuIFhNTCByZXByZXNlbnRhdGlvbiBvZiB0aGUKLTxhIGhyZWY9
IiN3ZWJpZGwiPldlYiBJREw8L2E+IGlucHV0LAotd2l0aCBhZGRlZCBYTUwgZWxlbWVudHMgcmVw
cmVzZW50aW5nIHRoZQotPGEgaHJlZj0iI2RveHlnZW4iPkRveHlnZW48L2E+LWxpa2UgY29tbWVu
dHMuCi08L3A+Ci0KLTxoMj5Vc2FnZTwvaDI+Ci0KLTxwPgotPGNvZGU+d2lkbHByb2MgPGk+Zmls
ZW5hbWU8L2k+PC9jb2RlPgotPC9wPgotCi08cD4KLXdpZGxwcm9jIHJlYWRzIHRoZSBmaWxlIG5h
bWVkIDxlbT5maWxlbmFtZTwvZW0+LCBhbmQgCi1zZW5kcyBpdHMgWE1MIG91dHB1dCBmb3JtYXQg
dG8gc3Rkb3V0LgotPC9wPgotCi08aDI+SW5wdXQgZm9ybWF0PC9oMj4KLQotPHA+Ci1UaGUgaW5w
dXQgZm9ybWF0IGFjY2VwdGVkIGJ5IHdpZGxwcm9jIGlzCi08YSBocmVmPSIjd2ViaWRsIj5XZWIg
SURMPC9hPgotKHdpdGggYW4gZXh0ZW5zaW9uIHVzZWQgaW4gdGhlCi08YSBocmVmPSIjdzNjZ2Vv
Ij5XM0MgR2VvbG9jYXRpb24gQVBJPC9hPiksCi13aXRoIGNvbW1lbnRzIGluIGEgZm9ybWF0IHJl
bWluaXNjZW50IG9mIHRoYXQgdXNlZCBieQotPGEgaHJlZj0iI2RveHlnZW4iPkRveHlnZW48L2E+
LgotPC9wPgotCi08aDM+V2ViIElETCBleHRlbnNpb24gZnJvbSBXM0MgZ2VvbG9jYXRpb24gQVBJ
PC9oMz4KLQotPGg0PmRvdWJsZTwvaDQ+Ci0KLTxwPgotPGNvZGU+ZG91YmxlPC9jb2RlPiBpcyBh
bGxvd2VkIGFzIGEgRGVjbGFyYXRpb25UeXBlIG9yIGEgQm94ZWRUeXBlLgotPC9wPgotCi08aDM+
RG94eWdlbi1saWtlIGNvbW1lbnQgaW50cm9kdWN0aW9uPC9oMz4KLQotPHA+Ci1Pbmx5IGEgc21h
bGwgc3Vic2V0IG9mIERveHlnZW4gZnVuY3Rpb25hbGl0eSBpcyBzdXBwb3J0ZWQgYnkKLXdpZGxw
cm9jLCBwbHVzIGFkZGl0aW9ucyB0byBoYW5kbGUgdGhlIEJPTkRJIGNvbmNlcHRzIG9mIEFQSSBm
ZWF0dXJlcwotYW5kIGRldmljZSBjYXBhYmlsaXRpZXMuCi08L3A+Ci0KLTxwPgotSW4gcGFydGlj
dWxhciwgbm8gbGlua3MgYXJlIGFkZGVkIGF1dG9tYXRpY2FsbHkuIChUaGlzIGNvdWxkIGJlIGFk
ZGVkCi1pbiB0aGUgZnV0dXJlLikKLTwvcD4KLQotPGgzPkRveHlnZW4gY29tbWVudCBibG9jazwv
aDM+Ci0KLTxoND5Db21tZW50IHJlZmVycmFsIHBvaW50PC9oND4KLQotPHA+Ci1FYWNoIDxlbT5E
b3h5Z2VuIGNvbW1lbnQgYmxvY2s8L2VtPiByZWZlcnMgdG8gYSA8ZW0+Y29tbWVudCByZWZlcnJh
bAotcG9pbnQ8L2VtPiBpbiB0aGUgV2ViIElETCwgb25lIG9mCi1tb2R1bGUsIGludGVyZmFjZSwg
ZXhjZXB0aW9uLCBjb25zdCwgYXR0cmlidXRlLCBvcGVyYXRpb24gb3IgYXJndW1lbnQuCi08L3A+
Ci0KLTxoND5CbG9jayBjb21tZW50PC9oND4KLQotPHA+Ci1BIGJsb2NrIGNvbW1lbnQgKGRlbGlt
aXRlZCBieSA8Y29kZT4vKiAqLzwvY29kZT4pIHdob3NlIGZpcnN0IGNoYXJhY3RlcgotYWZ0ZXIg
dGhlIDxjb2RlPi8qPC9jb2RlPiBpcyA8Y29kZT4hPC9jb2RlPiBvciBhIHNlY29uZCA8Y29kZT4q
PC9jb2RlPgotaXMgYSA8ZW0+RG94eWdlbiBjb21tZW50IGJsb2NrPC9lbT4uCi08L3A+Ci0KLTxw
PgotTm9ybWFsbHkgdGhlIGNvbW1lbnQgYmxvY2sgcmVmZXJzIHRvIHRoZSBuZXh0IGNvbW1lbnQg
cmVmZXJyYWwgcG9pbnQgaW4KLXRoZSBXZWIgSURMLgotSWYgdGhlIGZpcnN0IGNoYXJhY3RlciBp
cyA8Y29kZT4mbHQ7PC9jb2RlPiwgc28gdGhlIGNvbW1lbnQgYmxvY2sgaXMgaW50cm9kdWNlZAot
d2l0aCA8Y29kZT4vKiombHQ7PC9jb2RlPiBvciA8Y29kZT4vKiEmbHQ7PC9jb2RlPiAsIHRoZW4g
dGhlIGNvbW1lbnQgYmxvY2sKLXJlZmVycyBiYWNrIHRvIHRoZSBwcmV2aW91cyBjb21tZW50IHJl
ZmVycmFsIHBvaW50LgotPC9wPgotCi08cD4KLVRoZSB0ZXh0IG9mIHRoZSBjb21tZW50IGJsb2Nr
Ci1leGNsdWRlcyB0aGUgaW5pdGlhbCA8Y29kZT4hPC9jb2RlPiBvciA8Y29kZT4qPC9jb2RlPiAo
YW5kIHRoZSA8Y29kZT4mbHQ7PC9jb2RlPgotZm9yIGEgcmVmZXJyaW5nIGJhY2sgYmxvY2spLAot
YW5kIGV4Y2x1ZGVzIGFuIGluaXRpYWwgKGFmdGVyIHdoaXRlc3BhY2UpIDxjb2RlPio8L2NvZGU+
Ci1vbiBlYWNoIGxpbmUsCi1hbmQsIHdoZW4gbm90IGluIGEgPGEgaHJlZj0iI2NvZGUiPjxjb2Rl
Plxjb2RlPC9jb2RlPjwvYT4gYmxvY2ssCi1leGNsdWRlcyBhbnkgbGluZSBjb25zaXN0aW5nIGVu
dGlyZWx5IG9mIHdoaXRlc3BhY2UsIHRoZW4gPGNvZGU+KjwvY29kZT4KLWNoYXJhY3RlcnMsIHRo
ZW4gd2hpdGVzcGFjZS4KLTwvcD4KLQotPHA+Ci13aWRscHJvYyBkb2VzIG5vdCBzdXBwb3J0IERv
eHlnZW4gY29tbWFuZHMgdG8gZm9yY2UgYSBjb21tZW50Ci1ibG9jayB0byByZWZlciB0byBhIGRp
ZmZlcmVudCByZWZlcnJhbCBwb2ludC4KLTwvcD4KLQotPGg0PklubGluZSBjb21tZW50czwvaDQ+
Ci0KLTxwPgotVGhlIG1heGltYWwgc2VxdWVuY2Ugb2YgaW5saW5lIGNvbW1lbnRzIChkZWxpbWl0
ZWQgYnkgPGNvZGU+Ly88L2NvZGU+KQotb24gYWRqYWNlbnQgbGluZXMsIHdoZXJlIGFsbCBvZiB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgaG9sZDoKLTwvcD4KLTx1bD4KLTxsaT4KLWVhY2ggaGFz
IGEgZmlyc3QgY2hhcmFjdGVyIGFmdGVyIHRoZSA8Y29kZT4vPC9jb2RlPiBvZiA8Y29kZT4hPC9j
b2RlPiBvcgotYSB0aGlyZCA8Y29kZT4vPC9jb2RlPjsKLTxsaT4KLW5vIGNvbW1lbnQgcmVmZXJy
YWwgcG9pbnQgaW50ZXJ2ZW5lczsKLTxsaT4KLWVpdGhlciBlYWNoIGNvbW1lbnQgaW4gdGhlIHNl
cXVlbmNlIHN0YXJ0cyB3aXRoIGEgPGNvZGU+Jmx0OzwvY29kZT4KLShzZWUgYmVsb3cpLCBvciBu
b25lIGRvZXM7Ci08bGk+Ci10aGUgc2VxdWVuY2UgY29udGFpbnMgYXQgbGVhc3QgdHdvIGlubGlu
ZSBjb21tZW50cywgb3IsIGlmIG9ubHkgb25lLAotdGhlbiBpdCBzdGFydHMgd2l0aCA8Y29kZT4m
bHQ7PC9jb2RlPiAoc2VlIGJlbG93KTsKLTwvdWw+Ci08cD4KLWZvcm1zIGEgPGVtPkRveHlnZW4g
Y29tbWVudCBibG9jazwvZW0+LgotPC9wPgotCi08cD4KLU5vcm1hbGx5IHRoZSBjb21tZW50IGJs
b2NrIHJlZmVycyB0byB0aGUgbmV4dCBjb21tZW50IHJlZmVycmFsIHBvaW50IGluCi10aGUgV2Vi
IElETC4KLUlmIHRoZSBmaXJzdCBjaGFyYWN0ZXIgb2YgZWFjaCBjb21tZW50IGlzIDxjb2RlPiZs
dDs8L2NvZGU+LCBzbyBlYWNoCi1jb21tZW50IGluIHRoZSBibG9jayBpcyBpbnRyb2R1Y2VkCi13
aXRoIDxjb2RlPi8vLyZsdDs8L2NvZGU+IG9yIDxjb2RlPi8vISZsdDs8L2NvZGU+ICwgdGhlbiB0
aGUgY29tbWVudCBibG9jawotcmVmZXJzIGJhY2sgdG8gdGhlIHByZXZpb3VzIGNvbW1lbnQgcmVm
ZXJyYWwgcG9pbnQuCi08L3A+Ci0KLTxwPgotVGhlIHRleHQgb2YgdGhlIGNvbW1lbnQgYmxvY2sK
LWV4Y2x1ZGVzIHRoZSBpbml0aWFsIDxjb2RlPiE8L2NvZGU+IG9yIDxjb2RlPi88L2NvZGU+IChh
bmQgdGhlIDxjb2RlPiZsdDs8L2NvZGU+Ci1mb3IgYSByZWZlcnJpbmcgYmFjayBibG9jaykgb2Yg
ZWFjaCBpbmxpbmUgY29tbWVudCwKLWFuZCwgd2hlbiBub3QgaW4gYSA8YSBocmVmPSIjY29kZSI+
PGNvZGU+XGNvZGU8L2NvZGU+PC9hPiBibG9jaywKLWV4Y2x1ZGVzIGFueSBsaW5lIGNvbnNpc3Rp
bmcgZW50aXJlbHkgb2Ygd2hpdGVzcGFjZSwgdGhlbiA8Y29kZT4vPC9jb2RlPgotY2hhcmFjdGVy
cywgdGhlbiB3aGl0ZXNwYWNlLgotPC9wPgotCi08cD4KLXdpZGxwcm9jIGRvZXMgbm90IHN1cHBv
cnQgRG94eWdlbiBjb21tYW5kcyB0byBmb3JjZSBhIGNvbW1lbnQKLWJsb2NrIHRvIHJlZmVyIHRv
IGEgZGlmZmVyZW50IHJlZmVycmFsIHBvaW50LgotPC9wPgotCi08aDM+UGFyYWdyYXBoPC9oMz4K
LQotPHA+Ci1BIGNvbW1lbnQgYmxvY2sgaXMgYnJva2VuIGludG8gemVybyBvciBtb3JlIDxlbT5w
YXJhZ3JhcGg8L2VtPnMuCi1PbmUgb3IgbW9yZSBibGFuayBsaW5lcyBicmVhayB0aGUgcGFyYWdy
YXBocyAodW5sZXNzIGluIGEKLTxhIGhyZWY9IiNjb2RlIj48Y29kZT5cY29kZTwvY29kZT48L2E+
IGJsb2NrKS4KLTwvcD4KLQotPHA+Ci1DZXJ0YWluIGNvbW1hbmRzIChiZWxvdykgYWxzbyBzdGFy
dCBhIG5ldyBwYXJhZ3JhcGguCi08L3A+Ci0KLTxwPgotQW4KLTxhIGhyZWY9IiNodG1sIj5IVE1M
IGJsb2NrIGVsZW1lbnQ8L2E+Ci1pcyBhIHBhcmFncmFwaC4KLUEgYmxhbmsgbGluZSAob3RoZXIg
dGhhbiBpbiBhCi08YSBocmVmPSIjY29kZSI+PGNvZGU+XGNvZGU8L2NvZGU+PC9hPiBibG9jaykK
LWltcGxpY2l0bHkgY2xvc2VzIGFueSBvcGVuIEhUTUwgZWxlbWVudHMsIHRodXMgZW5kaW5nIHRo
ZSBwYXJhZ3JhcGguCi08L3A+Ci0KLTxoMz5Eb3h5Z2VuLWxpa2UgY29tbWFuZHM8L2gzPgotCi08
cD4KLXdpZGxwcm9jIHN1cHBvcnRzIGEgc21hbGwgc3Vic2V0IG9mIERveHlnZW4gY29tbWFuZHMs
IHBsdXMgc29tZSBhZGRpdGlvbnMKLXRvIGhhbmRsZSBCT05ESSBBUEkgZmVhdHVyZXMgYW5kIGRl
dmljZSBjYXBhYmlsaXRpZXMuCi08L3A+Ci0KLTxwPgotQSBjb21tYW5kIGlzIGFsd2F5cyBpbnRy
b2R1Y2VkIHdpdGggYSA8Y29kZT5cPC9jb2RlPiBjaGFyYWN0ZXIuCi1UaGUgRG94eWdlbiBhbHRl
cm5hdGl2ZSAoZnJvbSBKYXZhRG9jKSBvZiA8Y29kZT5APC9jb2RlPiBpcyBub3QKLXN1cHBvcnRl
ZC4KLTwvcD4KLQotPGg0IGlkPSJhcGktZmVhdHVyZSI+XGFwaS1mZWF0dXJlPC9oND4KLQotPHA+
Ci1TdGFydHMgYSBuZXcgcGFyYWdyYXBoLiBUaGUgZm9sbG93aW5nIHdvcmQgaXMgdGhlIG5hbWUg
b2YgYW4gQVBJIGZlYXR1cmUKLXVzZWQgYnkgdGhlIG1ldGhvZCBiZWluZyBkb2N1bWVudGVkLiBU
aGUgcmVtYWluZGVyIG9mIHRoZSBwYXJhZ3JhcGggaXMKLWFueSBkZXNjcmlwdGlvbiByZXF1aXJl
ZCBvZiBob3cgKGVnIGluIHdoYXQgY2lyY3Vtc3RhbmNlKSB0aGUgQVBJIGZlYXR1cmUKLWlzIHVz
ZWQuCi08L3A+Ci0KLTxoND5cbmFtZTwvaDQ+Ci0KLTxwPgotRGVjbGFyZXMgYSBuYW1lIGZvciB0
aGUgZG9jdW1lbnQgbm9kZSBhc3NvY2lhdGVkIHdpdGggdGhlIGN1cnJlbnQgcmVmZXJyYWwKLXBv
aW50LiBUaGlzIGlzIHVzZWZ1bCBmb3IgdGhlIHJvb3QgZG9jdW1lbnQgbm9kZSB0aGF0IG90aGVy
d2lzZSBkb2VzIG5vdCBoYXZlCi1hIFdlYklETCBpZGVudGlmaWVyLgotPC9wPgotCi08aDQ+XGF1
dGhvcjwvaDQ+Ci0KLTxwPgotU3RhcnRzIGEgbmV3IHBhcmFncmFwaC4gVGhlIHJlbWFpbmRlciBv
ZiB0aGUgcGFyYWdyYXBoIGNvbnRhaW5zCi1pbmZvcm1hdGlvbiBhYm91dCBhIHNpbmdsZSBhdXRo
b3Igb2YgdGhlIHNwZWNpZmljYXRpb24uIE11bHRpcGxlCi08Y29kZT5cYXV0aG9yPC9jb2RlPiBj
b21tYW5kcyBzaG91bGQgYmUgdXNlZCBmb3IgbXVsdGlwbGUgYXV0aG9ycy4KLTwvcD4KLQotPHA+
Ci0oSGVyZSB3aWRscHJvYyBkaWZmZXJzIGZyb20gRG94eWdlbjsgRG94eWdlbiBhbHNvIGFsbG93
cwotbXVsdGlwbGUgYXV0aG9ycyBvbiBzZXBhcmF0ZSBsaW5lcyB0byBhcHBlYXIgaW4gb25lIDxj
b2RlPlxhdXRob3I8L2NvZGU+Ci1wYXJhZ3JhcGguKQotPC9wPgotCi08aDQ+XGI8L2g0PgotCi08
cD4KLVRoaXMgcmVuZGVycyB0aGUgbmV4dCB3b3JkIGFzIGJvbGQuIEl0IGlzIGVxdWl2YWxlbnQg
dG8gZW5jbG9zaW5nIHRoZQotbmV4dCB3b3JkIHdpdGggPGNvZGU+Jmx0O2I+ICZsdDsvYj48L2Nv
ZGU+LgotPC9wPgotCi08aDQ+XGJyaWVmPC9oND4KLQotPHA+Ci1TdGFydHMgYSBuZXcgcGFyYWdy
YXBoLiBUaGUgcmVtYWluZGVyIG9mIHRoZSBwYXJhZ3JhcGggY29udGFpbnMgYSBicmllZgotZGVz
Y3JpcHRpb24gb2YgdGhlIGVudGl0eSBiZWluZyBkb2N1bWVudGVkLgotPC9wPgotCi08aDQgaWQ9
ImNvZGUiPlxjb2RlLCBcZW5kY29kZTwvaDQ+Ci0KLTxwPgotPGNvZGU+XGNvZGU8L2NvZGU+Ci1z
dGFydHMgYSBuZXcgcGFyYWdyYXBoIHdoaWNoIGlzIGEgPGVtPmNvZGUgYmxvY2s8L2VtPi4gVGhl
IGNvZGUgYmxvY2sKLWVuZHMgYXQgdGhlIG5leHQgPGNvZGU+XGVuZGNvZGU8L2NvZGU+IGNvbW1h
bmQuCi08L3A+Ci0KLTxwPgotV2l0aGluIHRoZSBjb2RlIGJsb2NrLCB3aGl0ZXNwYWNlIGFuZCBu
ZXdsaW5lcyBhcmUgcGFzc2VkIHZlcmJhdGltIGludG8KLXRoZSBvdXRwdXQuCi08L3A+Ci0KLTxo
NCBpZD0iZGVmLWFwaS1mZWF0dXJlIj5cZGVmLWFwaS1mZWF0dXJlPC9oND4KLQotPHA+Ci1TdGFy
dHMgYSBuZXcgcGFyYWdyYXBoLiBUaGUgZm9sbG93aW5nIHdvcmQgaXMgdGhlIG5hbWUgb2YgdGhl
IEFQSSBmZWF0dXJlCi13aGljaCBpcyBkZWZpbmVkIGhlcmUuIFRoZSBkZXNjcmlwdGlvbiBpcyBh
biA8ZW0+ZGVmLWFwaS1mZWF0dXJlIGJsb2NrPC9lbT4sCi1jb25zaXN0aW5nIG9mIHRoZQotcmVt
YWluZGVyIG9mIHRoZSBwYXJhZ3JhcGgsIHRvZ2V0aGVyIHdpdGgKLWZ1cnRoZXIgcGFyYWdyYXBo
cyBpbiB0aGUgc2FtZSBibG9jayBjb21tZW50IGVhY2ggb2Ygd2hpY2ggaXMgYSBwbGFpbgotcGFy
YWdyYXBoLCBhIHBhcmFncmFwaCBzdGFydGVkIGR1ZSB0byBIVE1MIG1hcmt1cCwgYSA8Y29kZT5c
YnJpZWY8L2NvZGU+Ci1wYXJhZ3JhcGgsIG9yIGEKLTxhIGhyZWY9IiNkZXZpY2UtY2FwIj48Y29k
ZT5cZGV2aWNlLWNhcDwvY29kZT48L2E+Ci1wYXJhZ3JhcGguCi08L3A+Ci0KLTxoNCBpZD0iZGVm
LWFwaS1mZWF0dXJlLXNldCI+XGRlZi1hcGktZmVhdHVyZS1zZXQ8L2g0PgotCi08cD4KLVN0YXJ0
cyBhIG5ldyBwYXJhZ3JhcGguIFRoZSBmb2xsb3dpbmcgd29yZCBpcyB0aGUgbmFtZSBvZiB0aGUg
QVBJIGZlYXR1cmUKLXNldCB3aGljaCBpcyBkZWZpbmVkIGhlcmUuIFRoZSBkZXNjcmlwdGlvbiBp
cyBhbiA8ZW0+ZGVmLWFwaS1mZWF0dXJlLXNldCBibG9jazwvZW0+LAotY29uc2lzdGluZyBvZiB0
aGUKLXJlbWFpbmRlciBvZiB0aGUgcGFyYWdyYXBoLCB0b2dldGhlciB3aXRoCi1mdXJ0aGVyIHBh
cmFncmFwaHMgaW4gdGhlIHNhbWUgYmxvY2sgY29tbWVudCBlYWNoIG9mIHdoaWNoIGlzIGEgcGxh
aW4KLXBhcmFncmFwaCwgYSBwYXJhZ3JhcGggc3RhcnRlZCBkdWUgdG8gSFRNTCBtYXJrdXAsIGEg
PGNvZGU+XGJyaWVmPC9jb2RlPgotcGFyYWdyYXBoLCBvciBhCi08YSBocmVmPSIjZGV2aWNlLWNh
cCI+PGNvZGU+XGFwaS1mZWF0dXJlPC9jb2RlPjwvYT4KLXBhcmFncmFwaC4KLTwvcD4KLQotPGg0
PlxkZWYtZGV2aWNlLWNhcDwvaDQ+Ci0KLTxwPgotU3RhcnRzIGEgbmV3IHBhcmFncmFwaC4gVGhl
IGZvbGxvd2luZyB3b3JkIGlzIHRoZSBuYW1lIG9mIHRoZSBkZXZpY2UgY2FwYWJpbGl0eQotd2hp
Y2ggaXMgZGVmaW5lZCBoZXJlLiBUaGUgZGVzY3JpcHRpb24gY29uc2lzdHMgb2YgdGhlCi1yZW1h
aW5kZXIgb2YgdGhlIHBhcmFncmFwaCwgdG9nZXRoZXIgd2l0aAotZnVydGhlciBwYXJhZ3JhcGhz
IGluIHRoZSBzYW1lIGJsb2NrIGNvbW1lbnQgZWFjaCBvZiB3aGljaCBpcyBhIHBsYWluCi1wYXJh
Z3JhcGgsIGEgcGFyYWdyYXBoIHN0YXJ0ZWQgZHVlIHRvIEhUTUwgbWFya3VwLCBhIDxjb2RlPlxi
cmllZjwvY29kZT4KLXBhcmFncmFwaCwgb3IgYQotPGEgaHJlZj0iI3BhcmFtIj48Y29kZT5ccGFy
YW08L2NvZGU+PC9hPgotcGFyYWdyYXBoLgotPC9wPgotCi08aDQgaWQ9ImRlZi1pbnN0YW50aWF0
ZWQiPlxkZWYtaW5zdGFudGlhdGVkPC9oND4KLQotPHA+Ci1TdGFydHMgYSBuZXcgcGFyYWdyYXBo
LiAgVGhlIGRlc2NyaXB0aW9uIGlzIGFuIDxlbT5kZWYtaW5zdGFudGlhdGVkIGJsb2NrPC9lbT4s
Ci1jb25zaXN0aW5nIG9mIHRoZQotcmVtYWluZGVyIG9mIHRoZSBwYXJhZ3JhcGgsIHRvZ2V0aGVy
IHdpdGgKLWZ1cnRoZXIgcGFyYWdyYXBocyBpbiB0aGUgc2FtZSBibG9jayBjb21tZW50IGVhY2gg
b2Ygd2hpY2ggaXMgYSBwbGFpbgotcGFyYWdyYXBoLCBhIHBhcmFncmFwaCBzdGFydGVkIGR1ZSB0
byBIVE1MIG1hcmt1cCwgYSA8Y29kZT5cYnJpZWY8L2NvZGU+Ci1wYXJhZ3JhcGgsIG9yIGEKLTxh
IGhyZWY9IiNhcGktZmVhdHVyZSI+PGNvZGU+XGFwaS1mZWF0dXJlPC9jb2RlPjwvYT4KLXBhcmFn
cmFwaC4KLTwvcD4KLQotPGg0IGlkPSJkZXZpY2UtY2FwIj5cZGV2aWNlLWNhcDwvaDQ+Ci0KLTxw
PgotU3RhcnRzIGEgbmV3IHBhcmFncmFwaC4KLVRoaXMgY29tbWFuZCBjYW4gYXBwZWFyIG9ubHkg
aW5zaWRlIGFuCi08YSBocmVmPSIjZGVmLWFwaS1mZWF0dXJlIj5kZWYtYXBpLWZlYXR1cmUgYmxv
Y2s8L2E+LgotVGhlIGZvbGxvd2luZyB3b3JkIGlzIHRoZSBuYW1lIG9mIGEgZGV2aWNlIGNhcGFi
aWxpdHkKLXVzZWQgYnkgdGhlIEFQSSBmZWF0dXJlIGJlaW5nIGRvY3VtZW50ZWQuCi1UaGUgcmVt
YWluZGVyIG9mIHRoZSBwYXJhZ3JhcGggaXMKLWFueSBkZXNjcmlwdGlvbiByZXF1aXJlZCBvZiBo
b3cgKGVnIGluIHdoYXQgY2lyY3Vtc3RhbmNlKSB0aGUgZGV2aWNlIGNhcGFiaWxpdHkKLWlzIHVz
ZWQuCi08L3A+Ci0KLTxoND5cbjwvaDQ+Ci0KLTxwPgotQ3JlYXRlcyBhIGxpbmUgYnJlYWsgaW4g
dGhlIG91dHB1dC4KLTwvcD4KLQotPGg0IGlkPSJwYXJhbSI+XHBhcmFtPC9oND4KLQotPHA+Ci1T
dGFydHMgYSBuZXcgcGFyYWdyYXBoLiBUaGlzIHRha2VzIHRoZSBmb2xsb3dpbmcgd29yZCBhcyB0
aGUgbmFtZSBvZgotYSBwYXJhbWV0ZXIgKGFyZ3VtZW50KSBvZiB0aGUgZW50aXR5IGJlaW5nIGRv
Y3VtZW50ZWQsIHRoZW4gbWFrZXMgdGhlCi1yZW1haW5kZXIgb2YgdGhlIHBhcmFncmFwaCByZWZl
ciB0byB0aGF0IHBhcmFtZXRlci4KLTwvcD4KLQotPGg0PlxyZXR1cm48L2g0PgotCi08cD4KLVN0
YXJ0cyBhIG5ldyBwYXJhZ3JhcGguIFRoZSByZW1haW5kZXIgb2YgdGhlIHBhcmFncmFwaCBpcyBt
YWRlIHRvIHJlZmVyIHRvCi10aGUgcmV0dXJuIHR5cGUgb2YgdGhlIGVudGl0eSBiZWluZyBkb2N1
bWVudGVkLgotPC9wPgotCi08aDQ+XHRocm93PC9oND4KLQotPHA+Ci1TdGFydHMgYSBuZXcgcGFy
YWdyYXBoLiBUaGUgbmV4dCB3b3JkIGlzIHRha2VuIHRvIGJlIHRoZSBuYW1lIG9mIGFuCi1leGNl
cHRpb24gdGhyb3duIGJ5IHRoZSBlbnRpdHkgYmVpbmcgZG9jdW1lbnRlZCwgYW5kIHRoZSByZW1h
aW5kZXIgb2YKLXRoZSBwYXJhZ3JhcGggZG9jdW1lbnRzIHRoYXQgZXhjZXB0aW9uIChpbiB0aGUg
PGNvZGU+cmFpc2VzPC9jb2RlPiBsaXN0IG9mCi1hbiA8Y29kZT5vcGVyYXRpb248L2NvZGU+LCBv
ciB0aGUgPGNvZGU+c2V0cmFpc2VzPC9jb2RlPgotY2xhdXNlIG9mIGFuIDxjb2RlPmF0dHJpYnV0
ZTwvY29kZT4pLgotPC9wPgotCi08aDQ+XHZlcnNpb248L2g0PgotCi08cD4KLVN0YXJ0cyBhIG5l
dyBwYXJhZ3JhcGguIFRoZSByZW1haW5kZXIgb2YgdGhlIHBhcmFncmFwaCBjb250YWlucwotdmVy
c2lvbiBudW1iZXIgaW5mb3JtYXRpb24uCi08L3A+Ci0KLTxoMz5Fc2NhcGUgc2VxdWVuY2VzPC9o
Mz4KLQotPHA+Ci1UaGUgZm9sbG93aW5nIGVzY2FwZSBzZXF1ZW5jZXMgYXJlIHJlY29nbml6ZWQg
aW4gYSBjb21tZW50IGJsb2NrOgotPC9wPgotCi08dGFibGU+Ci08dHI+Ci08dGg+ZXNjYXBlIHNl
cXVlbmNlCi08dGg+cmVzdWx0Ci08dHI+Ci08dGQ+PGNvZGU+XFw8L2NvZGU+Ci08dGQ+PGNvZGU+
XDwvY29kZT4KLTx0cj4KLTx0ZD48Y29kZT5cJmFtcDs8L2NvZGU+Ci08dGQ+PGNvZGU+JmFtcDs8
L2NvZGU+IChlc2NhcGVkIHRvIDxjb2RlPiZhbXA7YW1wOzwvY29kZT4gaW4gb3V0cHV0IFhNTCkK
LTx0cj4KLTx0ZD48Y29kZT5cJDwvY29kZT4KLTx0ZD48Y29kZT4kPC9jb2RlPgotPHRyPgotPHRk
Pjxjb2RlPlwjPC9jb2RlPgotPHRkPjxjb2RlPiM8L2NvZGU+Ci08dHI+Ci08dGQ+PGNvZGU+XCZs
dDs8L2NvZGU+Ci08dGQ+PGNvZGU+Jmx0OzwvY29kZT4gKGVzY2FwZWQgdG8gPGNvZGU+JmFtcDts
dDs8L2NvZGU+IGluIG91dHB1dCBYTUwpCi08dHI+Ci08dGQ+PGNvZGU+XD48L2NvZGU+Ci08dGQ+
PGNvZGU+PjwvY29kZT4KLTx0cj4KLTx0ZD48Y29kZT5cJTwvY29kZT4KLTx0ZD48Y29kZT4lPC9j
b2RlPgotPC90YWJsZT4KLQotPHA+Ci1Tb21lIG9mIHRoZXNlIGVzY2FwZSBzZXF1ZW5jZXMgYXJl
IHVzZWQgdG8gYXZvaWQgRG94eWdlbiBmZWF0dXJlcyB0aGF0Ci13aWRscHJvYyBkb2VzIG5vdCBj
dXJyZW50bHkgaW1wbGVtZW50LiBJbiBwYXJ0aWN1bGFyLAotd2lkbHByb2MgaW5zaXN0cyBvbiBh
IDxjb2RlPiQ8L2NvZGU+IGJlaW5nIGVzY2FwZWQsIHRvCi1hbGxvdyBmb3IgcG9zc2libGUgZnV0
dXJlIGZ1bmN0aW9uYWxpdHkuCi08L3A+Ci0KLTxoMyBpZD0iaHRtbCI+SFRNTCBpbiBjb21tZW50
czwvaDM+Ci0KLTxwPgotd2lkbHByb2MgYWNjZXB0cyBhIHNtYWxsIHN1YnNldCBvZiBIVE1MIGVs
ZW1lbnRzLgotPC9wPgotCi08cD4KLUFuIEhUTUwgYmxvY2sgZWxlbWVudCBpcyBhIHBhcmFncmFw
aC4KLUEgYmxhbmsgbGluZSAob3RoZXIgdGhhbiBpbiBhCi08YSBocmVmPSIjY29kZSI+PGNvZGU+
XGNvZGU8L2NvZGU+PC9hPiBibG9jaykKLWltcGxpY2l0bHkgY2xvc2VzIGFueSBvcGVuIEhUTUwg
ZWxlbWVudHMsIHRodXMgZW5kaW5nIHRoZSBwYXJhZ3JhcGguCi08L3A+Ci0KLTxwPgotVGhlIGZv
bGxvd2luZyBIVE1MIGJsb2NrIGVsZW1lbnRzIGFyZSBhY2NlcHRlZDoKLTxjb2RlPmRsPC9jb2Rl
PgotPGNvZGU+b2w8L2NvZGU+Ci08Y29kZT5wPC9jb2RlPgotPGNvZGU+dGFibGU8L2NvZGU+Ci08
Y29kZT51bDwvY29kZT4KLTwvcD4KLQotPHA+Ci1UaGUgZm9sbG93aW5nIEhUTUwgaW5saW5lIGVs
ZW1lbnRzIGFyZSBhY2NlcHRlZDoKLTxjb2RlPmE8L2NvZGU+Ci08Y29kZT5pbWc8L2NvZGU+Ci08
Y29kZT5iPC9jb2RlPgotPGNvZGU+YnI8L2NvZGU+Ci08Y29kZT5lbTwvY29kZT4KLTwvcD4KLQot
PHA+Ci1UaGUgZm9sbG93aW5nIEhUTUwgZWxlbWVudHMgYXJlIGFjY2VwdGVkIHdoZXJlIHZhbGlk
IGluc2lkZSBvbmUgb2YgdGhlCi1vdGhlciBlbGVtZW50czoKLTxjb2RlPmRkPC9jb2RlPgotPGNv
ZGU+ZHQ8L2NvZGU+Ci08Y29kZT5saTwvY29kZT4KLTxjb2RlPnRkPC9jb2RlPgotPGNvZGU+dGg8
L2NvZGU+Ci08Y29kZT50cjwvY29kZT4KLTwvcD4KLQotCi08aDI+T3V0cHV0IGZvcm1hdDwvaDI+
Ci0KLTxwPgotVGhlIG91dHB1dCBvZiB3aWRscHJvYyBpcyBhbiBYTUwgcmVwcmVzZW50YXRpb24g
b2YgdGhlCi08YSBocmVmPSIjd2ViaWRsIj5XZWIgSURMPC9hPiwKLXdpdGggYWRkZWQgWE1MIGVs
ZW1lbnRzIHJlcHJlc2VudGluZyB0aGUKLTxhIGhyZWY9IiNkb3h5Z2VuIj5Eb3h5Z2VuPC9hPi1s
aWtlIGNvbW1lbnRzLgotPC9wPgotCi08aDM+QW5ub3RhdGVkIGRvY3VtZW50IHR5cGUgZGVjbGFy
YXRpb248L2gzPgotCi08cHJlIGNsYXNzPSJkdGQiPgotJmx0OyEtLSBBdXRvZ2VuZXJhdGVkIGZy
b20gd2lkbHByb2MuaHRtbCA6IGRvIG5vdCBlZGl0LiAtLT4KLTwvcHJlPgotCi08aDQ+RW50aXRp
ZXMgdXNlZCBlbHNld2hlcmU8L2g0PgotCi08cHJlIGNsYXNzPSJkdGQiPgotJmx0OyFFTlRJVFkg
JSBibG9jayAnZGwgfCBwIHwgdGFibGUgfCB1bCcgPgotJmx0OyFFTlRJVFkgJSBCbG9jayAnKCVi
bG9jazspKicgPgotJmx0OyFFTlRJVFkgJSBpbmxpbmUgJ2EgfCBiIHwgYnIgfCBlbSB8IGltZycg
PgotJmx0OyFFTlRJVFkgJSBJbmxpbmUgJygjUENEQVRBIHwgJWlubGluZTspKicgPgotJmx0OyFF
TlRJVFkgJSBGbG93ICcoI1BDREFUQSB8ICVpbmxpbmU7IHwgJWJsb2NrOykqJyA+Ci0KLSZsdDsh
RUxFTUVOVCB3ZWJpZGwgKCNQQ0RBVEEgfCByZWYpKiA+Ci08L3ByZT4KLQotPHA+Ci1UaGUgPGNv
ZGU+Jmx0O3dlYmlkbD48L2NvZGU+IGVsZW1lbnQgY29udGFpbnMgdGhlIGxpdGVyYWwgdGV4dCBv
ZiB0aGUKLW9yaWdpbmFsIFdlYiBJREwgdGhhdCB0aGUgcGFyZW50Ci1lbGVtZW50IHdhcyBwYXJz
ZWQgZnJvbSwgbWludXMgdGhlIGNvbW1lbnRzLCB3aXRoIGVhY2ggcmVmZXJlbmNlIHRvCi1hbiBp
bnRlcmZhY2UgbmFtZSAKLWVuY2xvc2VkIGluIGEgPGNvZGU+Jmx0O3JlZj48L2NvZGU+Li48Y29k
ZT4mbHQ7L3JlZj48L2NvZGU+LgotPC9wPgotCi08aDQ+RGVmaW5pdGlvbnM8L2g0PgotCi08cD4K
LTxlbT5EZWZpbml0aW9uczwvZW0+IGlzIHRoZSByb290IGVsZW1lbnQgb2YgdGhlIFhNTCBkb2N1
bWVudC4KLTwvcD4KLQotPHA+Ci1UaGUgPGVtPkV4dGVuZGVkQXR0cmlidXRlTGlzdDwvZW0+IHNw
ZWNpZmllcyBhbnkgZXh0ZW5kZWQgYXR0cmlidXRlcwotZm9yIHRoZSAgPGVtPkludGVyZmFjZTwv
ZW0+LCA8ZW0+RGljdGlvbmFyeTwvZW0+LCA8ZW0+RXhjZXB0aW9uPC9lbT4sCi08ZW0+VHlwZWRl
ZjwvZW0+LCA8ZW0+VmFsdWV0eXBlPC9lbT4gb3IgPGVtPkNvbnN0PC9lbT4gaW4gdGhlCi08ZW0+
RGVmaW5pdGlvbjwvZW0+LgotPC9wPgotCi08cHJlIGNsYXNzPSJkdGQiPgotJmx0OyFFTEVNRU5U
IERlZmluaXRpb25zICggd2ViaWRsLCBkZXNjcmlwdGl2ZT8sIChJbnRlcmZhY2UgfCBEaWN0aW9u
YXJ5IHwgQ2FsbGJhY2sKLSAgICB8IEVudW0gfCBFeGNlcHRpb24gfCBUeXBlZGVmIHwgSW1wbGVt
ZW50cykqKSA+Ci08L3ByZT4KLQotPGg0PkludGVyZmFjZTwvaDQ+Ci0KLTxwPgotQW4gPGVtPklu
dGVyZmFjZTwvZW0+IHJlcHJlc2VudHMgYW4gaW50ZXJmYWNlLiBUaGUgPGVtPm5hbWU8L2VtPgot
YXR0cmlidXRlIHNwZWNpZmllcyB0aGUgbmFtZSBvZiB0aGUgaW50ZXJmYWNlLiBUaGUgPGVtPmRl
c2NyaXB0aXZlPC9lbT4gZWxlbWVudAotcHJvdmlkZXMgaXRzIGRvY3VtZW50YXRpb24gaWYgYW55
LgotVGhlIDxlbT5pZDwvZW0+IGF0dHJpYnV0ZSBzcGVjaWZpZXMgdGhlIGFic29sdXRlIHNjb3Bl
ZCBuYW1lIG9mIHRoZSBpbnRlcmZhY2UuCi08L3A+Ci0KLTxwPlRoZSA8ZW0+cGFydGlhbDwvZW0+
IGF0dHJpYnV0ZSBpbmRpY2F0ZXMgdGhhdCB0aGUgZGVmaW5pdGlvbiBvZiB0aGUgaW50ZXJmYWNl
IGNvbXBsZW1lbnRzIGFuIGV4aXN0aW5nIGRlZmluaXRpb24uIFRoZSA8ZW0+Y2FsbGJhY2s8L2Vt
PiBhdHRyaWJ1dGUgc3BlY2lmaWNpZXMgdGhhdCBhIGdpdmVuIGludGVyZmFjZSBpcyBhIGNhbGxi
YWNrIGludGVyZmFjZS48L3A+Ci0KLTxwPgotVGhlIDxlbT5JbnRlcmZhY2VJbmhlcml0YW5jZTwv
ZW0+IGVsZW1lbnQgaW5kaWNhdGVzIHRoYXQgdGhlIGludGVyZmFjZQotaW5oZXJpdHMgZnJvbSBv
dGhlciBpbnRlcmZhY2UocykuIEVhY2ggPGVtPk5hbWU8L2VtPiBpbiB0aGUKLTxlbT5JbnRlcmZh
Y2VJbmhlcml0YW5jZTwvZW0+IGhhcyBhIDxlbT5uYW1lPC9lbT4gYXR0cmlidXRlIGdpdmluZyB0
aGUKLXNjb3BlZCBuYW1lIG9mIHRoZSBpbnRlcmZhY2UgYmVpbmcgaW5oZXJpdGVkIGZyb20uCi08
L3A+Ci0KLTxwcmUgY2xhc3M9ImR0ZCI+Ci0mbHQ7IUVMRU1FTlQgSW50ZXJmYWNlICh3ZWJpZGws
IGRlc2NyaXB0aXZlPywgRXh0ZW5kZWRBdHRyaWJ1dGVMaXN0PywKLSAgICAgICAgSW50ZXJmYWNl
SW5oZXJpdGFuY2U/LCAoQ29uc3QgfCBBdHRyaWJ1dGUgfCBPcGVyYXRpb24gfCBTdHJpbmdpZmll
ciogfCBTZXJpYWxpemVyKiB8IEl0ZXJhdG9yIHwgSXRlcmF0b3JPYmplY3QpKiApID4KLSZsdDsh
QVRUTElTVCBJbnRlcmZhY2UgbmFtZSBDREFUQSAjUkVRVUlSRUQKLSAgICAgICAgICAgICAgICAg
ICAgcGFydGlhbCAocGFydGlhbCkgI0lNUExJRUQKLSAgICAgICAgICAgICAgICAgICAgY2FsbGJh
Y2sgKGNhbGxiYWNrKSAjSU1QTElFRAotICAgICAgICAgICAgICAgICAgICBpZCBDREFUQSAjUkVR
VUlSRUQgPgotCi0mbHQ7IUVMRU1FTlQgSW50ZXJmYWNlSW5oZXJpdGFuY2UgKE5hbWUrKSA+Ci0K
LSZsdDshRUxFTUVOVCBOYW1lIEVNUFRZID4KLSZsdDshQVRUTElTVCBOYW1lIG5hbWUgQ0RBVEEg
I1JFUVVJUkVEID4KLTwvcHJlPgotCi08aDQ+RGljdGlvbmFyeTwvaDQ+Ci0KLTxwPgotQSA8ZW0+
RGljdGlvbmFyeTwvZW0+IHJlcHJlc2VudHMgYSBkaWN0aW9uYXJ5LiBUaGUgPGVtPm5hbWU8L2Vt
PgotYXR0cmlidXRlIHNwZWNpZmllcyB0aGUgbmFtZSBvZiB0aGUgZGljdGlvbmFyeS4gVGhlIDxl
bT5kZXNjcmlwdGl2ZTwvZW0+IGVsZW1lbnQKLXByb3ZpZGVzIGl0cyBkb2N1bWVudGF0aW9uIGlm
IGFueS4KLVRoZSA8ZW0+aWQ8L2VtPiBhdHRyaWJ1dGUgc3BlY2lmaWVzIHRoZSBhYnNvbHV0ZSBz
Y29wZWQgbmFtZSBvZiB0aGUgZGljdGlvbmFyeS4KLTwvcD4KLQotPHA+VGhlIDxlbT5wYXJ0aWFs
PC9lbT4gYXR0cmlidXRlIGluZGljYXRlcyB0aGF0IHRoZSBkZWZpbml0aW9uIG9mIHRoZSBpbnRl
cmZhY2UgY29tcGxlbWVudHMgYW4gZXhpc3RpbmcgZGVmaW5pdGlvbi48L3A+Ci0KLTxwPgotVGhl
IDxlbT5EaWN0aW9uYXJ5SW5oZXJpdGFuY2U8L2VtPiBlbGVtZW50IGluZGljYXRlcyB0aGF0IHRo
ZSBkaWN0aW9uYXJ5Ci1pbmhlcml0cyBmcm9tIG90aGVyIGRpY3Rpb25hcnkocykuIEVhY2ggPGVt
Pk5hbWU8L2VtPiBpbiB0aGUKLTxlbT5EaWN0aW9uYXJ5SW5oZXJpdGFuY2U8L2VtPiBoYXMgYSA8
ZW0+bmFtZTwvZW0+IGF0dHJpYnV0ZSBnaXZpbmcgdGhlCi1zY29wZWQgbmFtZSBvZiB0aGUgZGlj
dGlvbmFyeSBiZWluZyBpbmhlcml0ZWQgZnJvbS4KLTwvcD4KLQotCi08cHJlIGNsYXNzPSJkdGQi
PgotJmx0OyFFTEVNRU5UIERpY3Rpb25hcnkgKHdlYmlkbCwgZGVzY3JpcHRpdmU/LCBEaWN0aW9u
YXJ5SW5oZXJpdGFuY2U/LCBEaWN0aW9uYXJ5TWVtYmVyKiApID4KLSZsdDshQVRUTElTVCBEaWN0
aW9uYXJ5IG5hbWUgQ0RBVEEgI1JFUVVJUkVECi0gICAgICAgICAgICAgICAgICAgIHBhcnRpYWwg
KHBhcnRpYWwpICNJTVBMSUVECi0gICAgICAgICAgICAgICAgICAgIGlkIENEQVRBICNSRVFVSVJF
RCA+Ci0KLSZsdDshRUxFTUVOVCBEaWN0aW9uYXJ5SW5oZXJpdGFuY2UgKE5hbWUrKSA+Ci08L3By
ZT4KLQotPGg0PkNhbGxiYWNrPC9oND4KLQotPHA+Ci1BIDxlbT5DYWxsYmFjazwvZW0+IHJlcHJl
c2VudHMgYSBjYWxsYmFjayB0eXBlLiBUaGUgPGVtPm5hbWU8L2VtPgotYXR0cmlidXRlIHNwZWNp
ZmllcyB0aGUgbmFtZSBvZiB0aGUgZGljdGlvbmFyeS4gVGhlIDxlbT5kZXNjcmlwdGl2ZTwvZW0+
IGVsZW1lbnQKLXByb3ZpZGVzIGl0cyBkb2N1bWVudGF0aW9uIGlmIGFueS48L3A+Ci0KLTxwPlRo
ZSA8ZW0+VHlwZTwvZW0+IGVsZW1lbnQgc3BlY2lmaWVzIGl0cyByZXR1cm4gdHlwZS48L3A+Ci0K
LTxwPgotQW4gPGVtPkFyZ3VtZW50PC9lbT4gaXMgYW4gYXJndW1lbnQgdG8gYW4gb3BlcmF0aW9u
LgotVGhlIDxlbT5UeXBlPC9lbT4gZWxlbWVudCBzcGVjaWZpZXMgaXRzIHR5cGUuIFRoZSA8ZW0+
bmFtZTwvZW0+Ci1hdHRyaWJ1dGUgc3BlY2lmaWVzIGl0cyBuYW1lIGlmIGl0IGhhcyBvbmUuCi08
L3A+Ci0KLTxwcmUgY2xhc3M9ImR0ZCI+Ci0mbHQ7IUVMRU1FTlQgQ2FsbGJhY2sgKHdlYmlkbCwg
ZGVzY3JpcHRpdmU/LCBUeXBlLCBBcmd1bWVudExpc3Q/ICkgPgotJmx0OyFBVFRMSVNUIENhbGxi
YWNrIG5hbWUgQ0RBVEEgI1JFUVVJUkVECi0gICAgICAgICAgICAgICAgICAgICAgaWQgQ0RBVEEg
I1JFUVVJUkVEPgotPC9wcmU+Ci0KLQotPGg0PkVudW08L2g0PgotCi08cD4KLUFuIDxlbT5FbnVt
PC9lbT4gcmVwcmVzZW50cyBhbiBlbnVtZXJhdGlvbi4gVGhlIDxlbT5uYW1lPC9lbT4KLWF0dHJp
YnV0ZSBzcGVjaWZpZXMgdGhlIG5hbWUgb2YgdGhlIGVudW1lcmF0aW9uLiBUaGUgPGVtPmRlc2Ny
aXB0aXZlPC9lbT4gZWxlbWVudAotcHJvdmlkZXMgaXRzIGRvY3VtZW50YXRpb24gaWYgYW55Lgot
PC9wPgotCi08cD4KLVRoZSA8ZW0+RW51bVZhbHVlPC9lbT4gZWxlbWVudCBpbmRpY2F0ZXMgdGhl
IHZhbHVlcyBkZWZpbmVkIGZvciB0aGF0IGVudW1lcmF0aW9uIGluIGl0cyA8ZW0+c3RyaW5ndmFs
dWU8L2VtPiBhdHRyaWJ1dGUuCi08L3A+Ci0KLQotPHByZSBjbGFzcz0iZHRkIj4KLSZsdDshRUxF
TUVOVCBFbnVtICh3ZWJpZGwsIGRlc2NyaXB0aXZlPywgRW51bVZhbHVlKiApID4KLSZsdDshQVRU
TElTVCBFbnVtIG5hbWUgQ0RBVEEgI1JFUVVJUkVEIAotICAgICAgICAgICAgICAgICAgICBpZCBD
REFUQSAjUkVRVUlSRUQgPgotCi0mbHQ7IUVMRU1FTlQgRW51bVZhbHVlICh3ZWJpZGwsIGRlc2Ny
aXB0aXZlPykgPgotJmx0OyFBVFRMSVNUIEVudW1WYWx1ZSBzdHJpbmd2YWx1ZSBDREFUQSAjUkVR
VUlSRUQgPgotPC9wcmU+Ci0KLQotCi08aDQ+RXhjZXB0aW9uPC9oND4KLQotPHA+Ci1BbiA8ZW0+
RXhjZXB0aW9uPC9lbT4gcmVwcmVzZW50cyBhbiBleGNlcHRpb24uCi1UaGUgPGVtPm5hbWU8L2Vt
PgotYXR0cmlidXRlIHNwZWNpZmllcyB0aGUgbmFtZSBvZiB0aGUgZXhjZXB0aW9uLgotVGhlIDxl
bT5kZXNjcmlwdGl2ZTwvZW0+IGVsZW1lbnQKLXByb3ZpZGVzIGl0cyBkb2N1bWVudGF0aW9uIGlm
IGFueS4KLVRoZSA8ZW0+aWQ8L2VtPiBhdHRyaWJ1dGUgc3BlY2lmaWVzIHRoZSBhYnNvbHV0ZSBz
Y29wZWQgbmFtZSBvZiB0aGUgZXhjZXB0aW9uLgotPC9wPgotCi08cD4KLUFuIDxlbT5FeGNlcHRp
b25GaWVsZDwvZW0+IHJlcHJlc2VudHMgYSBmaWVsZCBpbiBhbiBleGNlcHRpb24uCi1UaGUgPGVt
Pm5hbWU8L2VtPgotYXR0cmlidXRlIHNwZWNpZmllcyB0aGUgbmFtZSBvZiB0aGUgZmllbGQuCi1U
aGUgPGVtPlR5cGU8L2VtPiBlbGVtZW50IHNwZWNpZmllcyBpdHMgdHlwZS4KLVRoZSA8ZW0+ZGVz
Y3JpcHRpdmU+PC9lbT4gZWxlbWVudAotcHJvdmlkZXMgaXRzIGRvY3VtZW50YXRpb24gaWYgYW55
LgotVGhlIDxlbT5pZDwvZW0+IGF0dHJpYnV0ZSBzcGVjaWZpZXMgdGhlIGFic29sdXRlIHNjb3Bl
ZCBuYW1lIG9mIHRoZSBmaWVsZC4KLTwvcD4KLQotPHA+Ci1UaGUgPGVtPkV4Y2VwdGlvbkluaGVy
aXRhbmNlPC9lbT4gZWxlbWVudCBpbmRpY2F0ZXMgdGhhdCB0aGUgZXhjZXB0aW9uCi1pbmhlcml0
cyBmcm9tIGFub3RoZXIgZXhjZXB0aW9uLiBUaGUgPGVtPk5hbWU8L2VtPiBpbiB0aGUKLTxlbT5F
eGNlcHRpb25Jbmhlcml0YW5jZTwvZW0+IGhhcyBhIDxlbT5uYW1lPC9lbT4gYXR0cmlidXRlIGdp
dmluZyB0aGUKLXNjb3BlZCBuYW1lIG9mIHRoZSBleGNlcHRpb24gYmVpbmcgaW5oZXJpdGVkIGZy
b20uCi08L3A+Ci0KLQotPHByZSBjbGFzcz0iZHRkIj4KLSZsdDshRUxFTUVOVCBFeGNlcHRpb24g
KHdlYmlkbCwgZGVzY3JpcHRpdmU/LCBFeHRlbmRlZEF0dHJpYnV0ZUxpc3Q/LCBFeGNlcHRpb25J
bmhlcml0YW5jZT8sCi0gICAgICAgIChDb25zdCB8IEV4Y2VwdGlvbkZpZWxkKSogKSA+Ci0mbHQ7
IUFUVExJU1QgRXhjZXB0aW9uIG5hbWUgQ0RBVEEgI1JFUVVJUkVEIAotICAgICAgICAgICAgICAg
ICAgICBpZCBDREFUQSAjUkVRVUlSRUQgPgotCi0mbHQ7IUVMRU1FTlQgRXhjZXB0aW9uSW5oZXJp
dGFuY2UgKE5hbWUpID4KLSZsdDshRUxFTUVOVCBFeGNlcHRpb25GaWVsZCAod2ViaWRsLCBkZXNj
cmlwdGl2ZT8sIEV4dGVuZGVkQXR0cmlidXRlTGlzdD8sIChUeXBlKSkgPgotJmx0OyFBVFRMSVNU
IEV4Y2VwdGlvbkZpZWxkIG5hbWUgQ0RBVEEgI1JFUVVJUkVECi0gICAgICAgICAgICAgICAgICAg
ICAgICAgaWQgQ0RBVEEgI1JFUVVJUkVEID4KLTwvcHJlPgotCi08aDQ+VHlwZWRlZjwvaDQ+Ci0K
LTxwPgotQSA8ZW0+VHlwZWRlZjwvZW0+IHJlcHJlc2VudHMgYSB0eXBlIGRlZmluaXRpb24uCi1U
aGUgPGVtPm5hbWU8L2VtPgotYXR0cmlidXRlIHNwZWNpZmllcyB0aGUgbmFtZSBvZiB0aGUgbmV3
IHR5cGUuCi1UaGUgPGVtPlR5cGU8L2VtPiBlbGVtZW50IHNwZWNpZmllcyBpdCBpbiB0ZXJtcyBv
ZiBvdGhlciB0eXBlcy4KLVRoZSA8ZW0+ZGVzY3JpcHRpdmU+PC9lbT4gZWxlbWVudAotcHJvdmlk
ZXMgaXRzIGRvY3VtZW50YXRpb24gaWYgYW55LgotVGhlIDxlbT5pZDwvZW0+IGF0dHJpYnV0ZSBz
cGVjaWZpZXMgdGhlIGFic29sdXRlIHNjb3BlZCBuYW1lIG9mIHRoZSB0eXBlZGVmLgotPC9wPgot
Ci08cHJlIGNsYXNzPSJkdGQiPgotJmx0OyFFTEVNRU5UIFR5cGVkZWYgKHdlYmlkbCwgZGVzY3Jp
cHRpdmU/LCBFeHRlbmRlZEF0dHJpYnV0ZUxpc3Q/LCAoVHlwZSkpID4KLSZsdDshQVRUTElTVCBU
eXBlZGVmIG5hbWUgQ0RBVEEgI1JFUVVJUkVECi0gICAgICAgICAgICAgICAgICBpZCBDREFUQSAj
UkVRVUlSRUQgPgotPC9wcmU+Ci0KLTxoND5JbXBsZW1lbnRzPC9oND4KLQotPHA+Ci1BbiA8ZW0+
SW1wbGVtZW50czwvZW0+IHJlcHJlc2VudHMgV2ViIElETCdzCi08Y29kZT48aT5TY29wZWROYW1l
PC9pPiBpbXBsZW1lbnRzIDxpPlNjb3BlZE5hbWU8L2k+OzwvY29kZT4KLXN5bnRheC4gVGhlIDxl
bT5uYW1lMTwvZW0+IGFuZCA8ZW0+bmFtZTI8L2VtPiBhdHRyaWJ1dGVzIGdpdmUgdGhlCi1maXJz
dCBhbmQgc2Vjb25kIHNjb3BlZCBuYW1lcyByZXNwZWN0aXZlbHkuCi1UaGUgPGVtPmRlc2NyaXB0
aXZlPjwvZW0+IGVsZW1lbnQKLXByb3ZpZGVzIHRoZSA8ZW0+SW1wbGVtZW50czwvZW0+J3MgZG9j
dW1lbnRhdGlvbiBpZiBhbnkuCi08L3A+Ci0KLTxwcmUgY2xhc3M9ImR0ZCI+Ci0mbHQ7IUVMRU1F
TlQgSW1wbGVtZW50cyAod2ViaWRsLCBkZXNjcmlwdGl2ZT8sIEV4dGVuZGVkQXR0cmlidXRlTGlz
dD8pID4KLSZsdDshQVRUTElTVCBJbXBsZW1lbnRzIG5hbWUxIENEQVRBICNSRVFVSVJFRAotICAg
ICAgICAgICAgICAgICAgICAgbmFtZTIgQ0RBVEEgI1JFUVVJUkVEID4KLTwvcHJlPgotCi08aDQ+
Q29uc3Q8L2g0PgotCi08cD4KLTxlbT5Db25zdDwvZW0+IHJlcHJlc2VudHMgV2ViIElETCdzCi08
Y29kZT5jb25zdCA8aT5UeXBlPC9pPiA8aT5pZGVudGlmaWVyPC9pPiA9IDxpPkNvbnN0RXhwcjwv
aT47PC9jb2RlPgotc3ludGF4LgotVGhlIDxlbT5UeXBlPC9lbT4gc3BlY2lmaWVzIHRoZSBjb25z
dGFudCdzIHR5cGUsIHRoZQotPGVtPm5hbWU8L2VtPiBhdHRyaWJ1dGUgc3BlY2lmaWVzIHRoZSBj
b25zdGFudCdzIG5hbWUsIGFuZCB0aGUKLTxlbT52YWx1ZTwvZW0+IGF0dHJpYnV0ZSBzcGVjaWZp
ZXMgaXRzIHZhbHVlLgotVGhlIDxlbT5kZXNjcmlwdGl2ZT48L2VtPiBlbGVtZW50Ci1wcm92aWRl
cyB0aGUgPGVtPkNvbnN0PC9lbT4ncyBkb2N1bWVudGF0aW9uIGlmIGFueS4KLVRoZSA8ZW0+aWQ8
L2VtPiBhdHRyaWJ1dGUgc3BlY2lmaWVzIHRoZSBhYnNvbHV0ZSBzY29wZWQgbmFtZSBvZiB0aGUg
Y29uc3QuCi08L3A+Ci0KLTxwcmUgY2xhc3M9ImR0ZCI+Ci0mbHQ7IUVMRU1FTlQgQ29uc3QgKHdl
YmlkbCwgZGVzY3JpcHRpdmU/LCBFeHRlbmRlZEF0dHJpYnV0ZUxpc3Q/LCBUeXBlKSA+Ci0mbHQ7
IUFUVExJU1QgQ29uc3QgbmFtZSBDREFUQSAjUkVRVUlSRUQKLSAgICAgICAgICAgICAgICB2YWx1
ZSBDREFUQSAjSU1QTElFRAotICAgICAgICAgICAgICAgIGlkIENEQVRBICNSRVFVSVJFRCA+Ci08
L3ByZT4KLQotPGg0PlN0cmluZ2lmaWVyPC9oND4KLQotPHA+Ci1BIDxlbT5TdHJpbmdpZmllcjwv
ZW0+IHJlcHJlc2VudHMgdGhlIFdlYiBJREwgPGNvZGU+c3RyaW5naWZpZXI7PC9jb2RlPgotc3lu
dGF4IGFzIGFuIGludGVyZmFjZSBtZW1iZXIuCi1UaGUgPGVtPmRlc2NyaXB0aXZlPjwvZW0+IGVs
ZW1lbnQKLXByb3ZpZGVzIHRoZSA8ZW0+U3RyaW5naWZpZXI8L2VtPidzIGRvY3VtZW50YXRpb24g
aWYgYW55LgotPC9wPgotCi08cHJlIGNsYXNzPSJkdGQiPgotJmx0OyFFTEVNRU5UIFN0cmluZ2lm
aWVyICh3ZWJpZGwsIGRlc2NyaXB0aXZlPywgRXh0ZW5kZWRBdHRyaWJ1dGVMaXN0PykgPgotPC9w
cmU+Ci0KLTxoND5BdHRyaWJ1dGU8L2g0PgotCi08cD4KLUFuIDxlbT5BdHRyaWJ1dGU8L2VtPiBy
ZXByZXNlbnRzIGFuIGF0dHJpYnV0ZSBhcyBhbiBpbnRlcmZhY2UgbWVtYmVyLgotVGhlIDxlbT5U
eXBlPC9lbT4gZWxlbWVudCBzcGVjaWZpZXMgaXRzIHR5cGUuIFRoZSA8ZW0+bmFtZTwvZW0+Ci1h
dHRyaWJ1dGUgc3BlY2lmaWVzIGl0cyBuYW1lLiBFYWNoIG9mIHRoZSA8ZW0+c3RyaW5naWZpZXI8
L2VtPiwgPGVtPnN0YXRpYzwvZW0+IGFuZAotPGVtPnJlYWRvbmx5PC9lbT4gYXR0cmlidXRlcyBp
cyBzZXQgdG8gYSB2YWx1ZSB0aGUgc2FtZSBhcyB0aGUgYXR0cmlidXRlCi1uYW1lIHdoZW4gdGhl
IGNvcnJlc3BvbmRpbmcga2V5d29yZCBhcHBlYXJzIGluIHRoZSBXZWIgSURMIGlucHV0LiBUaGUg
PGVtPmluaGVyaXQ8L2VtPiBhdHRyaWJ1dGUgaXMgc2V0IHRvIDxlbT5pbmhlcml0PC9lbT4gd2hl
biB0aGUgYXR0cmlidXRlIGluaGVyaXRzIGl0cyBnZXR0ZXIuCi08L3A+Ci0KLQotPHA+Ci1UaGUg
PGVtPmRlc2NyaXB0aXZlPjwvZW0+IGVsZW1lbnQgcHJvdmlkZXMgdGhlIGF0dHJpYnV0ZSdzIGRv
Y3VtZW50YXRpb24KLWlmIGFueS4KLVRoZSA8ZW0+aWQ8L2VtPiBhdHRyaWJ1dGUgc3BlY2lmaWVz
IHRoZSBhYnNvbHV0ZSBzY29wZWQgbmFtZSBvZiB0aGUgYXR0cmlidXRlLgotPC9wPgotCi08cHJl
IGNsYXNzPSJkdGQiPgotJmx0OyFFTEVNRU5UIEF0dHJpYnV0ZSAod2ViaWRsLCBkZXNjcmlwdGl2
ZT8sIEV4dGVuZGVkQXR0cmlidXRlTGlzdD8sIChUeXBlKSkgPgotJmx0OyFBVFRMSVNUIEF0dHJp
YnV0ZSBzdHJpbmdpZmllciAoc3RyaW5naWZpZXIpICNJTVBMSUVECi0gICAgICAgICAgICAgICAg
ICAgIHJlYWRvbmx5IChyZWFkb25seSkgI0lNUExJRUQKLSAgICAgICAgICAgICAgICAgICAgaW5o
ZXJpdCAoaW5oZXJpdCkgI0lNUExJRUQKLSAgICAgICAgICAgICAgICAgICAgc3RhdGljIChzdGF0
aWMpICNJTVBMSUVECi0gICAgICAgICAgICAgICAgICAgIG5hbWUgQ0RBVEEgI1JFUVVJUkVECi0g
ICAgICAgICAgICAgICAgICAgIGlkIENEQVRBICNSRVFVSVJFRCA+Ci0KLTwvcHJlPgotCi0KLTxo
ND5PcGVyYXRpb248L2g0PgotCi08cD4KLUFuIDxlbT5PcGVyYXRpb248L2VtPiByZXByZXNlbnRz
IGEgbWV0aG9kIG9uIGludGVyZmFjZS4KLVRoZSA8ZW0+VHlwZTwvZW0+IGVsZW1lbnQgc3BlY2lm
aWVzIGl0cyByZXR1cm4gdHlwZS4gVGhlIDxlbT5uYW1lPC9lbT4KLWF0dHJpYnV0ZSBzcGVjaWZp
ZXMgaXRzIG5hbWUuCi08L3A+Ci0KLTxwPgotRWFjaCBvZiB0aGUgPGVtPnN0cmluZ2lmaWVyPC9l
bT4sIDxlbT5zdGF0aWM8L2VtPiwgPGVtPmdldHRlcjwvZW0+LAotPGVtPnNldHRlcjwvZW0+LCA8
ZW0+Y3JlYXRvcjwvZW0+LCA8ZW0+ZGVsZXRlcjwvZW0+IGFuZCA8ZW0+bGVnYWN5Y2FsbGVyPC9l
bT4sIDxlbT5zZXJpYWxpemVyPC9lbT4KLWF0dHJpYnV0ZXMgaXMgc2V0IHRvIGEgdmFsdWUgdGhl
IHNhbWUgYXMgdGhlIGF0dHJpYnV0ZQotbmFtZSB3aGVuIHRoZSBjb3JyZXNwb25kaW5nIGtleXdv
cmQgYXBwZWFycyBpbiB0aGUgV2ViIElETCBpbnB1dC4KLTwvcD4KLQotCi08cD4KLVRoZSA8ZW0+
ZGVzY3JpcHRpdmU+PC9lbT4gZWxlbWVudCBwcm92aWRlcyB0aGUgYXR0cmlidXRlJ3MgZG9jdW1l
bnRhdGlvbgotaWYgYW55LgotVGhlIDxlbT5pZDwvZW0+IGF0dHJpYnV0ZSBzcGVjaWZpZXMgdGhl
IGFic29sdXRlIHNjb3BlZCBuYW1lIG9mIHRoZSBvcGVyYXRpb24gaWYgaXQgaGFzIG9uZS4KLTwv
cD4KLQotPHA+Ci1BbiA8ZW0+QXJndW1lbnQ8L2VtPiBpcyBhbiBhcmd1bWVudCB0byBhbiBvcGVy
YXRpb24uCi1UaGUgPGVtPlR5cGU8L2VtPiBlbGVtZW50IHNwZWNpZmllcyBpdHMgdHlwZS4gVGhl
IDxlbT5uYW1lPC9lbT4KLWF0dHJpYnV0ZSBzcGVjaWZpZXMgaXRzIG5hbWUgaWYgaXQgaGFzIG9u
ZS4KLTwvcD4KLQotPHA+Ci1FYWNoIG9mIHRoZSA8ZW0+b3B0aW9uYWw8L2VtPiBhbmQgPGVtPmVs
bGlwc2lzPC9lbT4KLWF0dHJpYnV0ZXMgaXMgc2V0IHRvIGEgdmFsdWUgdGhlIHNhbWUgYXMgdGhl
IGF0dHJpYnV0ZQotbmFtZSB3aGVuIHRoZSBjb3JyZXNwb25kaW5nIHN5bnRheCBhcHBlYXJzIGlu
IHRoZSBXZWIgSURMIGlucHV0LgotPC9wPgotCi08cD5UaGUKLTxlbT52YWx1ZTwvZW0+IGF0dHJp
YnV0ZSB1c2VkIG9uIG9wdGlvbmFsIGFyZ3VtZW50cyBzcGVjaWZpZXMgZGVmYXVsdCB2YWx1ZSBm
b3Igbm9uLXN0cmluZyB2YWx1ZXMsIGFuZCA8ZW0+c3RyaW5ndmFsdWU8L2VtPiBmb3Igc3RyaW5n
IHZhbHVlcy48L3A+Ci0KLQotPHByZSBjbGFzcz0iZHRkIj4KLSZsdDshRUxFTUVOVCBPcGVyYXRp
b24gKHdlYmlkbCwgZGVzY3JpcHRpdmU/LCBFeHRlbmRlZEF0dHJpYnV0ZUxpc3Q/LAotICAgICAg
ICAoVHlwZSksIEFyZ3VtZW50TGlzdCkgPgotJmx0OyFBVFRMSVNUIE9wZXJhdGlvbiBzdHJpbmdp
ZmllciAoc3RyaW5naWZpZXIpICNJTVBMSUVECi0gICAgICAgICAgICAgICAgICAgIHN0YXRpYyAo
c3RhdGljKSAjSU1QTElFRAotICAgICAgICAgICAgICAgICAgICBnZXR0ZXIgKGdldHRlcikgI0lN
UExJRUQKLSAgICAgICAgICAgICAgICAgICAgc2V0dGVyIChzZXR0ZXIpICNJTVBMSUVECi0gICAg
ICAgICAgICAgICAgICAgIGNyZWF0b3IgKGNyZWF0b3IpICNJTVBMSUVECi0gICAgICAgICAgICAg
ICAgICAgIGRlbGV0ZXIgKGRlbGV0ZXIpICNJTVBMSUVECi0gICAgICAgICAgICAgICAgICAgIHNl
cmlhbGl6ZXIgKHNlcmlhbGl6ZXIpICNJTVBMSUVECi0gICAgICAgICAgICAgICAgICAgIGxlZ2Fj
eWNhbGxlciAobGVnYWN5Y2FsbGVyKSAjSU1QTElFRAotICAgICAgICAgICAgICAgICAgICBuYW1l
IE5NVE9LRU4gI0lNUExJRUQKLSAgICAgICAgICAgICAgICAgICAgaWQgTk1UT0tFTiAjSU1QTElF
RCA+Ci0KLQotJmx0OyFFTEVNRU5UIEFyZ3VtZW50TGlzdCAoQXJndW1lbnQqKSA+Ci0KLSZsdDsh
RUxFTUVOVCBBcmd1bWVudCAoZGVzY3JpcHRpdmU/LCBFeHRlbmRlZEF0dHJpYnV0ZUxpc3Q/LCAo
VHlwZSkpID4KLSZsdDshQVRUTElTVCBBcmd1bWVudAotICAgICAgICAgICAgICAgICAgIG9wdGlv
bmFsIChvcHRpb25hbCkgI0lNUExJRUQKLSAgICAgICAgICAgICAgICAgICBlbGxpcHNpcyAoZWxs
aXBzaXMpICNJTVBMSUVECi0gICAgICAgICAgICAgICAgdmFsdWUgQ0RBVEEgI0lNUExJRUQKLSAg
ICAgICAgICAgICAgICBzdHJpbmd2YWx1ZSBDREFUQSAjSU1QTElFRAotICAgICAgICAgICAgICAg
ICAgIG5hbWUgTk1UT0tFTiAjUkVRVUlSRUQgPgotPC9wcmU+Ci0KLTxoND5TZXJpYWxpemVyPC9o
ND4KLTxwPkEgPGVtPlNlcmlhbGl6ZXI8L2VtPiByZXByZXNlbnRzIGEgc2VyaWFsaXplciBmb3Ig
YW4gaW50ZXJmYWNlLCBlaXRoZXIgZGVmaW5lZCBpbiB0aGUgcHJvc2Ugb3IgdmlhIGEgcGF0dGVy
bi48L3A+Ci0KLTxwPlRoZSA8ZW0+ZGVzY3JpcHRpdmU8L2VtPiBlbGVtZW50IHByb3ZpZGVzIHRo
ZSBzZXJpYWxpemVyJ3MgZG9jdW1lbnRhdGlvbiBpZiBhbnkuPC9wPgotCi0KLTxwPlRoZSA8ZW0+
YXR0cmlidXRlPC9lbT4gYXR0cmlidXRlIGRlZmluZXMgdGhlIGF0dHJpYnV0ZSB0aGF0IGlzIHVz
ZWQgZm9yIHNlcmlhbGl6YXRpb24gaWYgYW55LjwvcD4KLQotPHA+VGhlIG9wdGlvbmFsIDxlbT5N
YXA8L2VtPiBhbmQgPGVtPkxpc3Q8L2VtPiBlbGVtZW50cyBkZXNjcmliZSB0aGUgcGF0dGVybiAo
aWYgYW55KSBmb3IgdGhlIHNlcmlhbGl6ZXIuIFRoZXkgdGFrZSA8ZW0+UGF0dGVybkF0dHJpYnV0
ZTwvZW0+IGVsZW1lbnRzIHdpdGggYSA8ZW0+bmFtZTwvZW0+IGF0dHJpYnV0ZSB0aGF0IGRlc2Ny
aWJlcyB0aGUgYXR0cmlidXRlcyB1c2VkIGZvciBzZXJpYWxpemF0aW9uLjwvcD4KLQotPHA+PGVt
Pk1hcDwvZW0+IGVsZW1lbnRzIHRha2UgYSA8ZW0+cGF0dGVybjwvZW0+IGF0dHJpYnV0ZSB0aGF0
IGNhbiBiZSBzZXQgdG8gZWl0aGVyICJnZXR0ZXIiIChpZiB0aGUgZ2V0dGVyIGlzIHVzZWQgZm9y
IHNlcmlhbGl6YXRpb24pLCAiYWxsIiBpZiBhbGwgc2VyaWFsaXphYmxlIGF0dHJpYnV0ZXMgYXJl
IHRvIGJlIHVzZWQsIG9yICJzZWxlY3Rpb24iIGlmIHRoZSBhdHRyaWJ1dGVzIG5hbWVkIGFzIGNo
aWxkcmVuIGVsZW1lbnRzIGFyZSB0byBiZSB1c2VkLiBPcHRpb25hbGx5LCB0aGV5IHRha2UgYSA8
ZW0+aW5oZXJpdDwvZW0+IGF0dHJpYnV0ZSBzZXQgdG8gImluaGVyaXQiIGlmIHRoZSBzZXJpYWxp
emF0aW9uIHRha2VzIGFsc28gaW50byBhY2NvdW50IGluaGVyaXRlZCBhdHRyaWJ1dGVzLjwvcD4K
LQotPHA+PGVtPkxpc3Q8L2VtPiBlbGVtZW50cyB0YWtlIGEgPGVtPnBhdHRlcm48L2VtPiBhdHRy
aWJ1dGUgdGhhdCBjYW4gYmUgc2V0IHRvIGVpdGhlciAiZ2V0dGVyIiAoaWYgdGhlIGdldHRlciBp
cyB1c2VkIGZvciBzZXJpYWxpemF0aW9uKSwgb3IgInNlbGVjdGlvbiIgaWYgdGhlIGF0dHJpYnV0
ZXMgbmFtZWQgYXMgY2hpbGRyZW4gZWxlbWVudHMgYXJlIHRvIGJlIHVzZWQuPC9wPgotCi08cHJl
IGNsYXNzPSJkdGQiPgotJmx0OyFFTEVNRU5UIFNlcmlhbGl6ZXIgKHdlYmlkbCwgZGVzY3JpcHRp
dmU/LCBFeHRlbmRlZEF0dHJpYnV0ZUxpc3Q/LCAoTWFwIHwgTGlzdCk/KSA+Ci0mbHQ7IUFUVExJ
U1QgU2VyaWFsaXplciBhdHRyaWJ1dGUgQ0RBVEEgI0lNUExJRUQgPgotCi0mbHQ7IUVMRU1FTlQg
TWFwICAoKFBhdHRlcm5BdHRyaWJ1dGUqKSkgPgotCi0mbHQ7IUFUVExJU1QgTWFwIGluaGVyaXQg
KGluaGVyaXQpICNJTVBMSUVECi0gICAgICAgICAgICAgICAgIHBhdHRlcm4gKGdldHRlcnxhbGx8
c2VsZWN0aW9uKSAjUkVRVUlSRUQ+Ci0KLSZsdDshRUxFTUVOVCBMaXN0ICAoKFBhdHRlcm5BdHRy
aWJ1dGUqKSkgPgotCi0mbHQ7IUFUVExJU1QgTGlzdCBwYXR0ZXJuIChnZXR0ZXJ8c2VsZWN0aW9u
KSAjUkVRVUlSRUQ+Ci0KLSZsdDshRUxFTUVOVCBQYXR0ZXJuQXR0cmlidXRlIEVNUFRZPgotJmx0
OyFBVFRMSVNUIFBhdHRlcm5BdHRyaWJ1dGUgbmFtZSBDREFUQSAjUkVRVUlSRUQ+Ci0KLTwvcHJl
PgotCi08aDQ+SXRlcmF0b3I8L2g0PgotPHA+QW4gPGVtPkl0ZXJhdG9yPC9lbT4gZWxlbWVudCBk
ZWZpbmVzICB3aGV0aGVyIHRoZSBpbnRlcmZhY2UgaGFzIGEgY3VzdG9tIGl0ZXJhdG9yOyB0aGUg
dHlwZSBvZiB0aGUgaXRlcmF0ZWQgb2JqZWN0cyBpcyBkZWZpbmVkIGluIHRoZSA8ZW0+VHlwZTwv
ZW0+IGNoaWxkLiBJZiB0aGF0IGludGVyYXRvciBpbXBsZW1lbnRzIGEgcGFydGljdWxhciBpbnRl
cmZhY2UsIHRoZSBuYW1lIG9mIHRoYXQgaW50ZXJmYWNlIGlzIHNldCBpbiB0aGUgPGVtPmludGVy
ZmFjZTwvZW0+IGF0dHJpYnV0ZS48L3A+Ci08cHJlIGNsYXNzPSJkdGQiPgotJmx0OyFFTEVNRU5U
IEl0ZXJhdG9yICh3ZWJpZGwsIGRlc2NyaXB0aXZlPywgRXh0ZW5kZWRBdHRyaWJ1dGVMaXN0Pywg
VHlwZSkgPgotJmx0OyFBVFRMSVNUIEl0ZXJhdG9yIGludGVyZmFjZSBDREFUQSAjSU1QTElFRD4K
LTwvcHJlPgotCi08aDQ+SXRlcmF0b3JPYmplY3Q8L2g0PgotPHA+QW4gPGVtPkl0ZXJhdG9yT2Jq
ZWN0PC9lbT4gZWxlbWVudCBkZW5vdGVzIHRoYXQgdGhlIGludGVyZmFjZSBzZXJ2ZXMgYXMgYW4g
aXRlcmF0b3Igb2JqZWN0IGludGVyZmFjZTsgdGhlIHR5cGUgb2YgdGhlIGl0ZXJhdGVkIG9iamVj
dHMgaXMgZGVmaW5lZCBpbiB0aGUgPGVtPlR5cGU8L2VtPiBjaGlsZC48L3A+Ci0KLTxwcmUgY2xh
c3M9ImR0ZCI+Ci0mbHQ7IUVMRU1FTlQgSXRlcmF0b3JPYmplY3QgKHdlYmlkbCwgZGVzY3JpcHRp
dmU/LCBFeHRlbmRlZEF0dHJpYnV0ZUxpc3Q/LCBUeXBlKSA+Ci08L3ByZT4KLQotCi08aDQ+RGlj
dGlvbmFyeU1lbWJlcjwvaDQ+Ci0KLTxwPgotQSA8ZW0+RGljdGlvbmFyeU1lbWJlcjwvZW0+IHJl
cHJlc2VudHMgYSBtZW1iZXIgb2YgYSBkaWN0aW9uYXJ5LgotVGhlIDxlbT5UeXBlPC9lbT4gZWxl
bWVudCBzcGVjaWZpZXMgaXRzIHR5cGUuIFRoZSA8ZW0+bmFtZTwvZW0+Ci1hdHRyaWJ1dGUgc3Bl
Y2lmaWVzIGl0cyBuYW1lLiAKLTwvcD4KLQotPHA+Ci1UaGUgPGVtPmRlc2NyaXB0aXZlPjwvZW0+
IGVsZW1lbnQgcHJvdmlkZXMgdGhlIGRpY3Rpb25hcnkgbWVtYmVyJ3MgZG9jdW1lbnRhdGlvbgot
aWYgYW55LgotVGhlIDxlbT5pZDwvZW0+IGF0dHJpYnV0ZSBzcGVjaWZpZXMgdGhlIGFic29sdXRl
IHNjb3BlZCBuYW1lIG9mIHRoZSBhdHRyaWJ1dGUuCi08L3A+Ci0KLTxwPlRoZQotPGVtPnZhbHVl
PC9lbT4gYXR0cmlidXRlIHNwZWNpZmllcyBpdHMgdmFsdWUgZm9yIG5vbi1zdHJpbmcgdmFsdWVz
LCBhbmQgPGVtPnN0cmluZ3ZhbHVlPC9lbT4gZm9yIHN0cmluZyB2YWx1ZXMuPC9wPgotCi08cHJl
IGNsYXNzPSJkdGQiPgotJmx0OyFFTEVNRU5UIERpY3Rpb25hcnlNZW1iZXIgKHdlYmlkbCwgZGVz
Y3JpcHRpdmU/LCBFeHRlbmRlZEF0dHJpYnV0ZUxpc3Q/LCBUeXBlKSA+Ci0mbHQ7IUFUVExJU1Qg
RGljdGlvbmFyeU1lbWJlciBuYW1lIENEQVRBICNSRVFVSVJFRAotICAgICAgICAgICAgICAgICAg
ICBpZCBDREFUQSAjUkVRVUlSRUQKLSAgICAgICAgICAgICAgICB2YWx1ZSBDREFUQSAjSU1QTElF
RAotICAgICAgICAgICAgICAgIHN0cmluZ3ZhbHVlIENEQVRBICNJTVBMSUVEID4KLQotPC9wcmU+
Ci0KLQotPGg0PkV4dGVuZGVkIGF0dHJpYnV0ZXM8L2g0PgotCi08cD4KLUFuIDxlbT5FeHRlbmRl
ZEF0dHJpYnV0ZUxpc3Q8L2VtPiBjb250YWlucyBvbmUgb3IgbW9yZQotPGVtPkV4dGVuZGVkQXR0
cmlidXRlPC9lbT4gZWxlbWVudC4gRWFjaCA8ZW0+RXh0ZW5kZWRBdHRyaWJ1dGU8L2VtPgotaGFz
OgotPC9wPgotPHVsPgotPGxpPgotYSA8ZW0+bmFtZTwvZW0+IGF0dHJpYnV0ZSBnaXZpbmcgdGhl
IG5hbWUgb2YgdGhlIGV4dGVuZGVkIGF0dHJpYnV0ZTsKLTxsaT4KLWlmIHRoZSBleHRlbmRlZCBh
dHRyaWJ1dGUgY29udGFpbnMgYW4gPGNvZGU+PTwvY29kZT4gc2lnbiBmb2xsb3dlZCBieSBhCi12
YWx1ZSwgYSA8ZW0+dmFsdWU8L2VtPiBhdHRyaWJ1dGUgZ2l2aW5nIHRoZSB2YWx1ZSwgd2hpY2gg
aXMgYSBzY29wZWQKLW5hbWUgb3IgYW4gaWRlbnRpZmllcjsKLTxsaT4KLWlmIHRoZSBleHRlbmRl
ZCBhdHRyaWJ1dGUgY29udGFpbnMgcGFyZW50aGVzZXMgKGVpdGhlciB3aXRoIG9yIHdpdGhvdXQK
LWFuIDxjb2RlPj08L2NvZGU+IHNpZ24pLCBhbiA8ZW0+QXJndW1lbnRMaXN0PC9lbT4gZWxlbWVu
dCBnaXZpbmcgdGhlCi1jb250ZW50cyBvZiB0aGUgcGFyZW50aGVzZXMuCi08L3VsPgotPHA+Ci1J
ZiB0aGUgPGVtPnZhbHVlPC9lbT4gYXR0cmlidXRlIGFuZCB0aGUgPGVtPkFyZ3VtZW50TGlzdDwv
ZW0+IGVsZW1lbnQgYXJlCi1ib3RoIHByZXNlbnQsIHRoZW4gPGVtPnZhbHVlPC9lbT4gbXVzdCBn
aXZlIGFuIGlkZW50aWZpZXIgcmF0aGVyIHRoYW4KLWEgc2NvcGVkIG5hbWUuCi08L3A+Ci0KLTxw
cmUgY2xhc3M9ImR0ZCI+Ci0mbHQ7IUVMRU1FTlQgRXh0ZW5kZWRBdHRyaWJ1dGVMaXN0IChFeHRl
bmRlZEF0dHJpYnV0ZSspID4KLQotJmx0OyFFTEVNRU5UIEV4dGVuZGVkQXR0cmlidXRlICh3ZWJp
ZGwsIEFyZ3VtZW50TGlzdD8pID4KLSZsdDshQVRUTElTVCBFeHRlbmRlZEF0dHJpYnV0ZSBuYW1l
IE5NVE9LRU4gI1JFUVVJUkVECi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgQ0RB
VEEgI0lNUExJRUQgPgotPC9wcmU+Ci0KLTxoND5UeXBlPC9oND4KLQotPHA+Ci08ZW0+VHlwZTwv
ZW0+IHJlcHJlc2VudHMgYSB0eXBlLiBJdCBoYXMgb25lIG9mIHRoZXNlIGZvcm1zOgotPC9wPgot
PHVsPgotPGxpPgotVGhlIDxjb2RlPmFueTwvY29kZT4sIDxjb2RlPm9iamVjdDwvY29kZT4gYW5k
IDxjb2RlPnZvaWQ8L2NvZGU+Ci10eXBlcyBoYXZlIHRoZSBhdHRyaWJ1dGUKLTxlbT50eXBlPC9l
bT4gc2V0IHRvIHRoZSB0eXBlLCBhbmQgbm8gb3RoZXIgYXR0cmlidXRlcyBvciBlbGVtZW50cy4K
LU5vdGUgdGhhdCB0aGUgPGNvZGU+dm9pZDwvY29kZT4gdHlwZSBhcHBlYXJzIG9ubHkgd2hlbiB0
aGUgPGVtPlR5cGU8L2VtPgotZWxlbWVudCBpcyBhIGNoaWxkIG9mIDxlbT5PcGVyYXRpb248L2Vt
Pi4KLTxsaT4KLUEgdHlwZSB0aGF0IGlzIGFuIGludGVyZmFjZSBoYXMgdGhlIGF0dHJpYnV0ZSA8
ZW0+bmFtZTwvZW0+IHNldCB0byB0aGUKLW5hbWUgb2YgdGhhdCBpbnRlcmZhY2UsIGFuZCBubyBv
dGhlciBhdHRyaWJ1dGVzIG9yIGVsZW1lbnRzLgotPGxpPgotRm9yIHRoZSBwcmltaXRpdmUgdHlw
ZXMgPGNvZGU+c2hvcnQ8L2NvZGU+LCA8Y29kZT51bnNpZ25lZCBzaG9ydDwvY29kZT4sCi08Y29k
ZT5sb25nPC9jb2RlPiwgPGNvZGU+dW5zaWduZWQgbG9uZzwvY29kZT4sIDxjb2RlPmxvbmcgbG9u
ZzwvY29kZT4sCi08Y29kZT51bnNpZ25lZCBsb25nIGxvbmc8L2NvZGU+LCA8Y29kZT5mbG9hdDwv
Y29kZT4sIDxjb2RlPmRvdWJsZTwvY29kZT4sCi08Y29kZT5ib29sZWFuPC9jb2RlPiwgPGNvZGU+
b2N0ZXQ8L2NvZGU+LCA8Y29kZT5ieXRlPC9jb2RlPiBhbmQgPGNvZGU+RE9NU3RyaW5nPC9jb2Rl
PiwKLXRoZXJlIGlzIGFuIGF0dHJpYnV0ZSA8ZW0+dHlwZTwvZW0+Ci13aG9zZSB2YWx1ZSBpcyBv
bmUgb2YgdGhvc2Ugc3RyaW5ncywgYW5kIG5vIG90aGVyIGF0dHJpYnV0ZXMgb3IgZWxlbWVudHMu
Ci1Ib3dldmVyLCBpZiB0aGUgdHlwZSB3YXMgc3BlY2lmaWVkIGluIHRoZSBXZWIgSURMIHdpdGgg
YSB0cmFpbGluZyA8Y29kZT4/PC9jb2RlPgotc2lnbiwgdGhlbiB0aGVyZSBpcyBhbiBhdHRyaWJ1
dGUgPGVtPm51bGxhYmxlPC9lbT4gd2l0aCB0aGUgdmFsdWUKLTxjb2RlPm51bGxhYmxlPC9jb2Rl
Pi4KLTwvdWw+Ci08cD4KLVRoZSByZXN0cmljdGlvbnMgb24gd2hpY2ggY29tYmluYXRpb25zIG9m
IGVsZW1lbnRzIGFuZCBhdHRyaWJ1dGVzIGFyZQotcGVybWl0dGVkIGFyZSBub3QgZW5jb2RlZCBi
eSB0aGUgRFRELgotPC9wPgotPHA+Ci1UaGUgPGVtPmRlc2NyaXB0aXZlPC9lbT4gZWxlbWVudCBw
cm92aWRlcyB0aGUgZG9jdW1lbnRhdGlvbgotaWYgYW55LCB3aGVuIHRoZSA8ZW0+VHlwZTwvZW0+
IGlzIGEgY2hpbGQgb2YgPGVtPk9wZXJhdGlvbjwvZW0+LCBhbmQgdGh1cwotcmVwcmVzZW50aW5n
IGFuIG9wZXJhdGlvbidzIHJldHVybiB0eXBlLgotPC9wPgotCi08cD5UaGUgPGVtPkV4dGVuZGVk
QXR0cmlidXRlTGlzdDwvZW0+IGVsZW1lbnQgcHJvdmlkZXMgdGhlIG9wdGlvbmFsIGV4dGVuZGVk
IGF0dHJpYnV0ZXMgdGhhdCBjYW4gYmUgZGVmaW5lZCBmb3IgYSB0eXBlIHRocm91Z2ggdHlwZWRl
ZiwgJmFncmF2ZTsgbGEgPGNvZGU+dHlwZWRlZiBbQ2xhbXBdIG9jdGV0IFZhbHVlOzwvY29kZT4u
PC9wPgotCi08IS0tIGNhbid0IHVzZSBlbnVtZXJhdGVkIHZhbHVlcyBmb3IgdGhlIHZhbHVlcyBv
ZiB0eXBlLCBzaW5jZSBEVEQgZG9uJ3QgYWxsb3cgZW51bWVyYXRlZCB2YWx1ZXMgdG8gaGF2ZSBz
cGFjZSBpbiB0aGVtICh3aGljaCB3b3VsZCBiZSBuZWVkZWQgZS5nLiBmb3IgImxvbmcgbG9uZyIp
IC0tPgotPHByZSBjbGFzcz0iZHRkIj4KLSZsdDshRUxFTUVOVCBUeXBlIChkZXNjcmlwdGl2ZT8s
IEV4dGVuZGVkQXR0cmlidXRlTGlzdD8sIFR5cGUqKSA+Ci0mbHQ7IUFUVExJU1QgVHlwZSB0eXBl
IENEQVRBICNJTVBMSUVECi0gICAgICAgICAgICAgICBuYW1lIE5NVE9LRU4gI0lNUExJRUQKLSAg
ICAgICAgICAgICAgIG51bGxhYmxlIChudWxsYWJsZSkgI0lNUExJRUQgPgotPC9wcmU+Ci0KLTxo
ND5TZXF1ZW5jZTwvaDQ+Ci0KLTxwPkZvciBhIHNlcXVlbmNlIHR5cGUsIHRoZSA8ZW0+VHlwZTwv
ZW0+IGVsZW1lbnQgd2l0aCBhbiBhdHRyaWJ1dGUgPGVtPnR5cGU8L2VtPiBzZXQgdG8gPGVtPnNl
cXVlbmNlPC9lbT4gY29udGFpbnMgYW4gZWxlbWVudCA8ZW0+VHlwZTwvZW0+IGdpdmluZyB0aGUg
c2VxdWVuY2UgZWxlbWVudCB0eXBlLCBhbmQgbm8gb3RoZXIgYXR0cmlidXRlcyBvciBlbGVtZW50
cy4gSWYgdGhlIHNlcXVlbmNlIGlzIHNwZWNpZmllZCBpbiB0aGUgV2ViIElETCB3aXRoIGEgdHJh
aWxpbmcgPGNvZGU+PzwvY29kZT4KLXNpZ24sIHRoZW4gdGhlcmUgaXMgYW4gYXR0cmlidXRlIDxl
bT5udWxsYWJsZTwvZW0+IHdpdGggdGhlIHZhbHVlCi08Y29kZT5udWxsYWJsZTwvY29kZT4uCi0K
LQotPGg0PkFycmF5PC9oND4KLQotPHA+Rm9yIGFuIGFycmF5IHR5cGUsIHRoZSA8ZW0+VHlwZTwv
ZW0+IGVsZW1lbnQgd2l0aCBhbiBhdHRyaWJ1dGUgPGVtPnR5cGU8L2VtPiBzZXQgdG8gPGVtPmFy
cmF5PC9lbT4gY29udGFpbnMgYW4gZWxlbWVudCA8ZW0+VHlwZTwvZW0+IGdpdmluZyB0aGUgYXJy
YXkgZWxlbWVudCB0eXBlLiBJZiB0aGUgYXJyYXkgaXMgc3BlY2lmaWVkIGluIHRoZSBXZWIgSURM
IHdpdGggYSB0cmFpbGluZyA8Y29kZT4/PC9jb2RlPgotc2lnbiwgdGhlbiB0aGVyZSBpcyBhbiBh
dHRyaWJ1dGUgPGVtPm51bGxhYmxlPC9lbT4gd2l0aCB0aGUgdmFsdWUKLTxjb2RlPm51bGxhYmxl
PC9jb2RlPi4KLQotPGg0PlVuaW9uPC9oND4KLQotPHA+Rm9yIGEgdW5pb24gdHlwZSwgdGhlIDxl
bT5UeXBlPC9lbT4gZWxlbWVudCB3aXRoIGFuIGF0dHJpYnV0ZSA8ZW0+dHlwZTwvZW0+IHNldCB0
byA8ZW0+dW5pb248L2VtPiBjb250YWlucyBhdCBsZWFzdCB0d28gZWxlbWVudCA8ZW0+VHlwZTwv
ZW0+IGdpdmluZyB0aGUgdW5pb24gbWVtYmVycyB0eXBlLiBJZiB0aGUgdW5pb24gaXMgc3BlY2lm
aWVkIGluIHRoZSBXZWIgSURMIHdpdGggYSB0cmFpbGluZyA8Y29kZT4/PC9jb2RlPgotc2lnbiwg
dGhlbiB0aGVyZSBpcyBhbiBhdHRyaWJ1dGUgPGVtPm51bGxhYmxlPC9lbT4gd2l0aCB0aGUgdmFs
dWUKLTxjb2RlPm51bGxhYmxlPC9jb2RlPi4KLQotCi0KLTxoND5EZXNjcmlwdGl2ZSBlbGVtZW50
czwvaDQ+Ci0KLTxwPgotVGhlIGZvbGxvd2luZyBlbGVtZW50cyBjb250YWluIGRvY3VtZW50YXRp
b24sIGV4dHJhY3RlZCBmcm9tIHRoZQotRG94eWdlbi1saWtlIGNvbW1lbnRzIGluIHRoZSBpbnB1
dC4gPGNvZGU+Jmx0O3BhcmFtPjwvY29kZT4KLWRlcml2ZXMgb25seSBmcm9tIGEgPGNvZGU+XHBh
cmFtPC9jb2RlPiBjb21tYW5kIHVzZWQgaW5zaWRlIGEKLTxjb2RlPlxkZWYtZGV2aWNlLWNhcDwv
Y29kZT4gYmxvY2s7IGFueSBvdGhlciA8Y29kZT5ccGFyYW08L2NvZGU+IGNvbW1hbmQKLWlzIGxp
bmtlZCB0byBhIHBhcmFtZXRlciAoYXJndW1lbnQpIG9mIHRoZSBtZXRob2QgYmVpbmcgZG9jdW1l
bnRlZC4KLTwvcD4KLQotPHByZSBjbGFzcz0iZHRkIj4KLSZsdDshRUxFTUVOVCBkZXNjcmlwdGl2
ZSAoZGVzY3JpcHRpb24gfCBicmllZiB8IHRocm93IHwgYXV0aG9yCi0gICAgfCB2ZXJzaW9uIHwg
Q29kZSB8IGFwaS1mZWF0dXJlIHwgZGV2aWNlLWNhcCB8IGRlZi1hcGktZmVhdHVyZQotICAgIHwg
ZGVmLWFwaS1mZWF0dXJlLXNldCB8IGRlZi1kZXZpY2UtY2FwIHwgZGVmLWluc3RhbnRpYXRlZCB8
IHBhcmFtKSogPgotCi0mbHQ7IUVMRU1FTlQgZGVzY3JpcHRpb24gJUJsb2NrOyA+Ci0KLSZsdDsh
RUxFTUVOVCBicmllZiAlSW5saW5lOyA+Ci0KLSZsdDshRUxFTUVOVCB0aHJvdyAlSW5saW5lOyA+
Ci0KLSZsdDshRUxFTUVOVCBhdXRob3IgJUlubGluZTsgPgotCi0mbHQ7IUVMRU1FTlQgdmVyc2lv
biAlSW5saW5lOyA+Ci0KLSZsdDshRUxFTUVOVCBDb2RlICVJbmxpbmU7ID4KLQotJmx0OyFFTEVN
RU5UIGFwaS1mZWF0dXJlICVJbmxpbmU7ID4KLSZsdDshQVRUTElTVCBhcGktZmVhdHVyZSBpZGVu
dGlmaWVyIENEQVRBICNSRVFVSVJFRCA+Ci0KLSZsdDshRUxFTUVOVCBkZXZpY2UtY2FwICVJbmxp
bmU7ID4KLSZsdDshQVRUTElTVCBkZXZpY2UtY2FwIGlkZW50aWZpZXIgQ0RBVEEgI1JFUVVJUkVE
ID4KLQotJmx0OyFFTEVNRU5UIHBhcmFtICVJbmxpbmU7ID4KLSZsdDshQVRUTElTVCBwYXJhbSBp
ZGVudGlmaWVyIENEQVRBICNSRVFVSVJFRCA+Ci0KLSZsdDshRUxFTUVOVCBkZWYtYXBpLWZlYXR1
cmUgKGRlc2NyaXB0aXZlPykgPgotJmx0OyFBVFRMSVNUIGRlZi1hcGktZmVhdHVyZSBpZGVudGlm
aWVyIENEQVRBICNSRVFVSVJFRCA+Ci0KLSZsdDshRUxFTUVOVCBkZWYtYXBpLWZlYXR1cmUtc2V0
IChkZXNjcmlwdGl2ZT8pID4KLSZsdDshQVRUTElTVCBkZWYtYXBpLWZlYXR1cmUtc2V0IGlkZW50
aWZpZXIgQ0RBVEEgI1JFUVVJUkVEID4KLQotJmx0OyFFTEVNRU5UIGRlZi1pbnN0YW50aWF0ZWQg
KGRlc2NyaXB0aXZlPykgPgotCi0mbHQ7IUVMRU1FTlQgZGVmLWRldmljZS1jYXAgKGRlc2NyaXB0
aXZlPykgPgotJmx0OyFBVFRMSVNUIGRlZi1kZXZpY2UtY2FwIGlkZW50aWZpZXIgQ0RBVEEgI1JF
UVVJUkVEID4KLQotJmx0OyFFTEVNRU5UIHJlZiAoI1BDREFUQSkgPgotPC9wcmU+Ci0KLTxoND5Y
SFRNTCBlbGVtZW50czwvaDQ+Ci0KLTxwPgotVGhlIGZvbGxvd2luZyBYSFRNTCBlbGVtZW50cyBh
cmUgcGFydCBvZiB3aWRscHJvY3htbDoKLTwvcD4KLQotPHByZSBjbGFzcz0iZHRkIj4KLSZsdDsh
RUxFTUVOVCBhICVJbmxpbmU7ID4KLSZsdDshQVRUTElTVCBhIGhyZWYgQ0RBVEEgI1JFUVVJUkVE
ID4KLQotJmx0OyFFTEVNRU5UIGIgJUlubGluZTsgPgotCi0mbHQ7IUVMRU1FTlQgYnIgRU1QVFkg
PgotCi0mbHQ7IUVMRU1FTlQgZGQgJUZsb3c7ID4KLQotJmx0OyFFTEVNRU5UIGRsICgoZHQgfCBk
ZCkqKSA+Ci0KLSZsdDshRUxFTUVOVCBkdCAlSW5saW5lOyA+Ci0KLSZsdDshRUxFTUVOVCBlbSAl
SW5saW5lOyA+Ci0KLSZsdDshRUxFTUVOVCBpbWcgJUlubGluZTsgPgotJmx0OyFBVFRMSVNUIGlt
ZyBzcmMgQ0RBVEEgI1JFUVVJUkVEIAotICAgICAgICAgICAgICAgICBhbHQgQ0RBVEEgI0lNUExJ
RUQ+Ci0KLQotJmx0OyFFTEVNRU5UIGxpICVGbG93OyA+Ci0KLSZsdDshRUxFTUVOVCBwICVJbmxp
bmU7ID4KLQotJmx0OyFFTEVNRU5UIHRhYmxlICh0ciopID4KLQotJmx0OyFFTEVNRU5UIHRkICVG
bG93OyA+Ci0KLSZsdDshRUxFTUVOVCB0aCAlRmxvdzsgPgotCi0mbHQ7IUVMRU1FTlQgdHIgKCh0
aCB8IHRkKSopID4KLQotJmx0OyFFTEVNRU5UIHVsIChsaSopID4KLTwvcHJlPgotCi0KLTxoMj5C
aWJsaW9ncmFwaHk8L2gyPgotCi08cCBpZD0iYm9uZGkiPgotQk9OREkgLSBhbiBvcGVuIHNvdXJj
ZSBpbmR1c3RyeSBjb2xsYWJvcmF0aW9uIGZvciB3aWRnZXQgYW5kIHdlYiB0ZWNobm9sb2dpZXMs
Ci08YSBocmVmPSJodHRwOi8vYm9uZGkub210cC5vcmcvIj5odHRwOi8vYm9uZGkub210cC5vcmcv
PC9hPgotPC9wPgotCi08cCBpZD0iZG94eWdlbiI+Ci1Eb3h5Z2VuIFNvdXJjZSBjb2RlIGRvY3Vt
ZW50YXRpb24gZ2VuZXJhdG9yIHRvb2wsCi08YSBocmVmPSJodHRwOi8vd3d3LnN0YWNrLm5sL35k
aW1pdHJpL2RveHlnZW4vaW5kZXguaHRtbCI+Ci1odHRwOi8vd3d3LnN0YWNrLm5sL35kaW1pdHJp
L2RveHlnZW4vaW5kZXguaHRtbDwvYT4KLTwvcD4KLQotPHAgaWQ9InczY2dlbyI+Ci1XM0MgR2Vv
bG9jYXRpb24gQVBJIFNwZWNpZmljYXRpb24gRWRpdG9yJ3MgRHJhZnQgMyBBcHJpbCAyMDA5LAot
PGEgaHJlZj0iaHR0cDovL2Rldi53My5vcmcvZ2VvL2FwaS9zcGVjLXNvdXJjZS5odG1sIj4KLWh0
dHA6Ly9kZXYudzMub3JnL2dlby9hcGkvc3BlYy1zb3VyY2UuaHRtbDwvYT4KLTwvcD4KLQotPHAg
aWQ9IndlYmlkbCI+Ci1XZWIgSURMIFczQyBFZGl0b3IncyBEcmFmdCAzIE1heSAyMDExLAotPGEg
aHJlZj0iaHR0cDovL2Rldi53My5vcmcvMjAwNi93ZWJhcGkvV2ViSURMIj5odHRwOi8vZGV2Lncz
Lm9yZy8yMDA2L3dlYmFwaS9XZWJJREw8L2E+Ci08L3A+Ci0KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC93aWRscHJvYy9leGFtcGxlcy9NYWtlZmlsZSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9leGFtcGxl
cy9NYWtlZmlsZQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjE0NDUzZDIzYzAuLjAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9leGFtcGxlcy9NYWtlZmlsZQorKysg
L2Rldi9udWxsCkBAIC0xLDc5ICswLDAgQEAKLSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwotIyAkSWQkCi0jIENv
cHlyaWdodCAyMDA5IEFwbGl4IENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotIyBM
aWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vu
c2UiKTsKLSMgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3
aXRoIHRoZSBMaWNlbnNlLgotIyBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2Ug
YXQKLSMgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAotIyBV
bmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcs
IHNvZnR3YXJlCi0jIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVk
IG9uIGFuICJBUyBJUyIgQkFTSVMsCi0jIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05T
IE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgotIyBTZWUgdGhlIExpY2Vu
c2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCi0j
IGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgotIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCi0KLVVOQU1F
ID0gJChzaGVsbCB1bmFtZSkKLUVYQU1QTEVTRElSID0gLgotIyBUaGUgc2V0dGluZ3Mgb2YgU1JD
RElSICh3aGVyZSB0byBmaW5kIHRoZSB4c2wgc3R5bGUgc2hlZXRzKSwgT0JKRElSICh3aGVyZSB0
bwotIyBmaW5kIHdpZGxwcm9jIGFuZCB3aWRscHJvY3htbC5kdGQpIGFuZCBFWEFNUExFU09CSkRJ
UiAod2hlcmUgdG8gcHV0IHRoZQotIyByZXN1bHRpbmcgaHRtbCBmaWxlcyBhbmQgYW55IGludGVy
bWVkaWF0ZSBmaWxlcykgcmVmbGVjdCB0aGUgZGlyZWN0b3J5Ci0jIHN0cnVjdHVyZSBvZiB0aGUg
cmVsZWFzZWQgd2lkbHByb2MuemlwIGZpbGUgd2hlbiB1bnppcHBlZC4gLi4vTWFrZWZpbGUgY2Fs
bHMKLSMgdGhpcyBNYWtlZmlsZSB3aXRoIHRoZXNlIHNldHRpbmdzIG92ZXJyaWRkZW4gdG8gcmVm
bGVjdCB0aGUgZGlyZWN0b3J5Ci0jIHN0cnVjdHVyZSBpbiBzdm4uCi1TUkNESVIgPSAuLgotT0JK
RElSID0gLi4KLUVYQU1QTEVTT0JKRElSID0gb2JqCi0KLSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwotIyBMaW51
eCBjb25maWd1cmF0aW9uCi0jCi1pZm5lcSAoLCQoZmlsdGVyIExpbnV4JSwgJChVTkFNRSkpKSAK
LQotRVhFU1VGRklYID0KLQotZWxzZQotIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCi0jIERhcndpbiBjb25maWd1
cmF0aW9uCi0jCi1pZm5lcSAoLCQoZmlsdGVyIERhcndpbiUsICQoVU5BTUUpKSkgCi0KLUVYRVNV
RkZJWCA9Ci0KLWVsc2UKLSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwotIyBXaW5kb3dzIChjeWd3aW4gYnV0IHVz
aW5nIE1TIGNvbXBpbGVyKSBjb25maWd1cmF0aW9uCi0jCi1pZm5lcSAoLCQoZmlsdGVyIENZR1dJ
TiUsICQoVU5BTUUpKSkgCi0KLUVYRVNVRkZJWCA9IC5leGUKLQotZW5kaWYKLWVuZGlmCi1lbmRp
ZgotCi0jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMKLSMgQ29tbW9uIG1ha2VmaWxlCi0jCi1XSURMUFJPQyA9ICQo
T0JKRElSKS93aWRscHJvYyQoRVhFU1VGRklYKQotRFREID0gJChPQkpESVIpL3dpZGxwcm9jeG1s
LmR0ZAotCi1XSURMUyA9ICQocGF0c3Vic3QgJChFWEFNUExFU0RJUikvJSwgJSwgJCh3aWxkY2Fy
ZCAkKEVYQU1QTEVTRElSKS8qLndpZGwpKQotCi10ZXN0IDogJChwYXRzdWJzdCAlLndpZGwsICQo
RVhBTVBMRVNPQkpESVIpLyUuaHRtbCwgJChXSURMUykpICQoRVhBTVBMRVNPQkpESVIpL3dpZGxo
dG1sLmNzcwotCUBlY2hvICIkQCBwYXNzIgotCi0kKEVYQU1QTEVTT0JKRElSKS8lLmh0bWwgOiAk
KEVYQU1QTEVTT0JKRElSKS8lLndpZGxwcm9jeG1sICQoU1JDRElSKS93aWRscHJvY3htbHRvaHRt
bC54c2wgTWFrZWZpbGUKLQljcCAkKFNSQ0RJUikvd2lkbHByb2N4bWx0b2h0bWwueHNsICQoZGly
ICRAKS8KLQl4c2x0cHJvYyAkKGRpciAkQCkvd2lkbHByb2N4bWx0b2h0bWwueHNsICQ8ID4kQAot
Ci0kKEVYQU1QTEVTT0JKRElSKS8lLndpZGxwcm9jeG1sIDogJChFWEFNUExFU0RJUikvJS53aWRs
ICQoV0lETFBST0MpICQoRFREKSBNYWtlZmlsZQotCW1rZGlyIC1wICQoZGlyICRAKQotCSQoV0lE
TFBST0MpICQ8ID4kQAotCWNwICQoT0JKRElSKS93aWRscHJvY3htbC5kdGQgJChkaXIgJEApLwot
CXhtbGxpbnQgLS1ub291dCAtLWR0ZHZhbGlkICQoRFREKSAkQAotCi0kKEVYQU1QTEVTT0JKRElS
KS93aWRsaHRtbC5jc3MgOiAkKEVYQU1QTEVTRElSKS93aWRsaHRtbC5jc3MKLQljcCAkPCAkQAot
Ci0uREVMRVRFX09OX0VSUk9SOgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvZXhh
bXBsZXMvUkVBRE1FIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL2V4YW1wbGVzL1JFQURNRQpkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZWZiYjcyZGRhOGQuLjAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC93aWRscHJvYy9leGFtcGxlcy9SRUFETUUKKysrIC9kZXYvbnVsbApAQCAtMSw0MSAr
MCwwIEBACi0jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKLSMgJElkJAotIyBDb3B5cmlnaHQgMjAwOSBBcGxpeCBD
b3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSMgTGljZW5zZWQgdW5kZXIgdGhlIEFw
YWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7Ci0jIHlvdSBtYXkgbm90
IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KLSMg
WW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0Ci0jICAgICBodHRwOi8vd3d3
LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKLSMgVW5sZXNzIHJlcXVpcmVkIGJ5IGFw
cGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQotIyBkaXN0cmli
dXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lT
LAotIyBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVy
IGV4cHJlc3Mgb3IgaW1wbGllZC4KLSMgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMg
bGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAotIyBsaW1pdGF0aW9ucyB1bmRlciB0
aGUgTGljZW5zZS4KLSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwotCi1UaGlzIGV4YW1wbGVzIGRpcmVjdG9yeSBj
b250YWlucyB0d28gb2YgdGhlIEJPTkRJIC53aWRsIGZpbGVzLCBhIE1ha2VmaWxlCi10aGF0IHBy
b2Nlc3NlcyB0aGVtIHRvIGdlbmVyYXRlIGh0bWwsIGFuZCBhIC5jc3MgZmlsZSB0aGF0IHRoZSBy
ZXN1bHRpbmcKLWh0bWwgdXNlcy4KLQotVGhlIE1ha2VmaWxlIHByb2Nlc3NlcyB0aGUgLndpZGwg
ZmlsZXMgYXMgZm9sbG93czoKLQotIDEuIEZvciBlYWNoIC53aWRsLCBnZW5lcmF0ZSB0aGUgLndp
ZGxwcm9jeG1sIGZpbGUgKGFuIFhNTCByZXByZXNlbnRhdGlvbgotICAgIG9mIHRoZSBpbmZvcm1h
dGlvbiBpbiB0aGUgLndpZGwpIHVzaW5nIHdpZGxwcm9jLgotCi0gMi4gVmFsaWRhdGUgKHVzaW5n
IHhtbGxpbnQpIGVhY2ggLndpZGxwcm9jeG1sIGFnYWluc3QgdGhlIERURC4KLQotIDMuIFdlIHdh
bnQgYW55IHJlZmVyZW5jZSBpbiB0aGUgcmVzdWx0aW5nIGh0bWwgdG8gYSB0eXBlIGVsc2V3aGVy
ZSBpbiB0aGUKLSAgICBBUEkgdG8gYmUgYSBsaW5rLiBUaGlzIGlzIHdoZXJlIHdlIGFjaGlldmUg
dGhpcy4gRmlyc3QgZ2VuZXJhdGUgYQotICAgIGxpc3Qgb2YgZnFpZHMgKGZ1bGx5IHF1YWxpZmll
ZCBpZGVudGlmaWVycykgZnJvbSBmcWlkIGF0dHJpYnV0ZXMgaW4KLSAgICB0aGUgWE1MIGJ5IHJ1
bm5pbmcgYWxsIC53aWRscHJvY3htbCBmaWxlcyB0aHJvdWdoIHRoZSBzdHlsZSBzaGVldAotICAg
IHdpZGxwcm9jeG1sZnFpZHMueHNsLgotCi0gNC4gVHVybiB0aGF0IGxpc3Qgb2YgZnFpZHMgaW50
byBhIHNlZCBzY3JpcHQgdGhhdCB0dXJucyBhIDxyZWY+IHRvIGFuCi0gICAgZnFpZCBpbnRvIGEg
PHJlZiByZWY9Ii4uIj4gdG8gdGhlIGZxaWQgaW4gdGhlIHJpZ2h0IC5odG1sIGZpbGUuCi0KLSA1
LiBGb3IgZWFjaCAud2lkbHByb2N4bWwgZmlsZSwgZ2VuZXJhdGUgYSAud2lkbHByb2N4bWwyIGZp
bGUgYnkgcnVubmluZwotICAgIGl0IHRocm91Z2ggdGhlIHNlZCBzY3JpcHQgZ2VuZXJhdGVkIGFi
b3ZlLgotCi0gNi4gRm9yIGVhY2ggLndpZGxwcm9jeG1sMiBmaWxlLCBnZW5lcmF0ZSBhIC5odG1s
IGZpbGUgYnkgcnVubmluZyBpdCB0aHJvdWdoCi0gICAgdGhlIHdpZGxwcm9jeG1sdG9odG1sLnhz
bCBzdHlsZSBzaGVldC4KLQotU2VlIHRoZSBNYWtlZmlsZSBmb3IgZGV0YWlscy4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC93aWRscHJvYy9leGFtcGxlcy9ib25kaS53aWRsIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dp
ZGxwcm9jL2V4YW1wbGVzL2JvbmRpLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDIwMGI5NWZlOWMxLi4wMDAwMDAwMDAwMApHSVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwgMApIY21W
P2QwMDAwMQoKbGl0ZXJhbCA2ODI3CnpjbWJfaFlpfUY1NzV5diZ7U1NueylIWkJzP1FNJVRQNjla
dzlqTFY+IT9HSWBickRjQWwqREU8b0YhLU0yKnYqUQp6b19qQjZHPHRaSTF7SUw/aUBjOT4md1gp
d018PGk+LVBwd0IhS0E4bVlJeXJfcio2dSRzfUFWZkxzakxlQHlneyEKeklqYG88ODxuYGNebWJn
OF8oZGpIbTdhUUk8fFojZ1NDUG4oRnsrI3lINWZraEtWR1NjJjVUTklrYkJWZFYjXnMwCnoqcX5t
VnxFZVlzclBJYHcqNXhgPUhwZWdLbnRvRT1PdG52S0s0ck95RDtDflBYUWdzNHgkJDlVM3NGYylB
RTVCdwp6T3BHXnFWcE0tI1dOZWJpSVNCZ011JWJ7VUdnVzlgMklWR2ZyRWYwVClrfH1vOHJHfHl3
YXhTeFVJLXErSyE3Z2MKenIxQTVoYmU8OXs7eV5mNUBRYmdtVW41QjVNJH1BWlVsY21RP18oNT4p
aWVBZSYoRkYpOWpqMXt8ODBfekxQTTd1CnpDSFA1fig3UkNrcE1oWjVYQitrfWprbkttN19PNCZf
QHwxMzN5OWtoQWpsSXBwQnRaOEt3ZWI3YUtYVXREd0p3JAp6U2UhUj1aRjQkU1dMRD44OVgzTzxL
TVYoI2VIOTltKm9qUjlXRjF1RC1NcUBDeiRSN1doNDJZNzQxN2NeR295cCkKenMoLWwzdDJMfSFo
YGIpZW16ZTwhO0c+YGQ5fEEtcj0xfVk9YjR4TkFoZThYamFMb1JZKiRZPzYrMSE8T3ZTMHszCnpk
PytsfkR9K0d3bU4tTTByWE5GTGxnZD5mdFhfMFU1ZERLNjI9cWNobUlCQzdpQE81TXQzSEAtaTc4
NU95dWxTQAp6anJxezlVYGdzKWcmVlZEV0p8SEFpNW9laUshc1VaN0hAakptelM1V1c8cXRIcFl+
I1loVGFYKmE0QDwkMGpZPXkKenhJcCZET0preUwqVWlnPEZSPXFCP0hmNFQrdVEzTWFrK1JKZHV0
fUBCZ2d9bWlubygwUGI3SjUkPyVaJDJNJDdOCnpDTn01SDJDTzxLWlpSSlQqZXB8eTwwKD8rRjBD
P2Y1SHcwblZOaU1VI0ZfeE9BPz5Ob2lfYDhZK2FzcUg4P1hNZQp6eDdRKjJJJkBNRHl6bX5PMGoo
fkZ3PEE9WmQ8c2VVZHZDOChFKCF5P1I0fjYoUjRtPiROOFQkciU5cWM3TCtHRFIKeiN1aD0oZ1By
RH1JKFRRTUFtKzJxRHpmKyRKdVdGdGBDaWZJIT1mfWh3VmVLbSklPFR0IXAhLW9XSktUWSliakok
Cno0YHw2O0p7Mz5ZNFpodX1XUmZgKTNEb2h6MGp5bT5AbzVvJU8mNERpfEgrXlkqaEpteEF7Sz5w
PzF4ZSs4MXdvKwp6SUszc2R3SmJEPCF+fGslbVdfNHRtNG9YaUl4KTVFZX0wVUFkVXFYKEtnX2Vt
dV5QQk9jKSYrUj9aMXxIKWt3dEYKelMzJWhoPj1EeDlufSlaeUN+PU0kXzNYWTx0REc2R1hVS3ww
cDNKPDxzUzEmOFFiMF9KakVOPnNzd2BXdVNmK1hCCnoqO3kzK0paZTVUSm0yZzUzZGM4NkJfN3p+
Rj9VUSlYJWZuN3Fzc35kMDloc2xLTTJuVykqcGk4ZW5zI0dLKSp4Ywp6XkpnYldSZUA1WkJNZCtS
dD56VnpCUmNWbWRaSW8pMlgkMkJOejt7eHM7RXVzdVZ+XzwjOVAkdGlAUUZlNUY5IXQKendZUjJk
TWBpZGBnb3Q+OCZyekBPSyZeIVcpaHtZXjxIUGZLPntvb1Y4SndEeSMoVjE3fDZmdkdrPGNIYUJ1
Y3FoCno8ZFVURiMwMnRxNE9jbVZNaTleUClQZiVBd1olLSp6X2l6P3Nta15vMEc7U0h8MTZobF9P
OTNZUmVZIXJGTE0+PAp6cGleQCgyQyZXRlI7NSQjNVRTSEJjOF4kaiNldX03bD4xV0RKS3BIakE+
WXdPPDNQTFkxNitITm41bUltPnZUNGYKej9iMUFCWVE4OUolZVE1ajsxYWBURkhzfEwlZ0dHajVI
RyNYciQoTHJnd00oOFUtMDNaWHd4az5xcEd7VXNDeDRxCnplbX59NGJJakhQYE87XmFmTGlUTis8
WUFUWjd9PmlfO1BpQktmSV4jJEltLTRpJVJTVXVLZ1M+NT48JkNDNTk9fgp6RSpUK19KQH49cU1P
RCZ0dUlESWhldW59NSFRVUAjYGo9bFc/bXM9PVVKVns8T1Q+V0Z0cCpVUiFEeD99eVM0JnAKejwp
bGxISnY3V3M5T25FVCVDWHlneGdJX2FFXkRuVC1rKXQlSn1lQkAyQWJ9WDFUXjhHJUlye2NjWkU1
N0BhZkMmCno/JnwqSHArQnRRNzlXNCFzLXttVV9KJm5TVV4wYndEQ3JOXm9MS1NZNF9sUUNmSyNa
NzB1dSgxezJuY1kqeSE9QAp6Wmd+SDIpa2FOUmBENSUoPi1qeDBzNG9+Uk1hMihpJHtBPE04RCl3
VGdqU3heRHFjeUdQRz45cTVzPSZkWGhiMm8KenljK1p5bSk8R1heQD0tcDY3X30maHp5c19CaH0w
ZiRacmhqUjM7ND9FeyZKaXEqbUkkdDllOGpnTXByUV53TSRKCnp6eWtKY3Y5QEFVJj1fc0FPIShI
XlYxMVpAbSZJYDFCQVFHI0B8Sm84Wkp7RVJELWZeMypAN0Q3Y0hATH1Uc05Aewp6eiNwRGtAS3RC
bnFTe2wtdjlldzRnO2R2S1I7YjJjeyp3cVhjczc4aShKfG1jbk0rUi12ZDFyYnFwMEV6IXt+QmgK
ejdjfHZkR2stdFBTdWsmVl8pZ2pTWlZSancxJlljNWs1d2pKUTlkP19tUilhfnQrZVh8c3dfSUFI
aTctYVc4PmkpCnpCODZPQjJASE57c1p3YyRINEA5ZE5vRzBMPklfZFRiNmF1QERiYENORSVjazJn
XnpXeW4mcDhPbi1WPjBKRVM2cAp6N2tpIWA9PmJEbEV7WjB+NkoyQlBGJGNxaTM3JFZfXnJLKHYw
dShEZSV8S0MxOTcoVm5UYVd8YDl0RU5YcFlia3oKendGQi01YnImLTxVI0chYTFkNVZJRCY7fjhM
X29kNDd+dmZfLVdmWkdDa0wkQm9DP2hWeWsyNXR7cXpuWSRCZjRyCno2OEIyfTlyPGZLUmlKTnAh
e1VAOTMjT1NIQlM2d1JJUU8yZ1JHI1I8bz1vRFh5blZzT2lKdDctYWRNMnVIfG8qewp6VEZrZW1X
MU82a04tQUY3TlZhKz51Vi1POG8xPzkhXiRoe0dvd192QmZDLVcpYmJiVGM8JnM0eSl0QExWITcr
NWUKenJSMzBzSGhWdFNeQ301MEZnO19FWTEyNDEtazhENU54SnFiPkwzQ3g2XlB7JjE4ekh3NHc2
cDxNb3JYZVpUTllhCnpTJGctQT5LSEgta157e1VKSUJKT0Y7OV98RVIkekEydWteRkVBOWZoRUlg
ck5SPzhEPGZQLXc+YTYqa0NocFoxSwp6IXgwRExteyR+eWZYQUFjTStkeFluUXhqTkEmPUYqUF43
VClGNHxBMmxYQ3dNQD0tb0gmMVQzJFk9JWZnPGZsOWoKemlXTTwhOCZKa1pBbU1lZyY2MnFMdGU8
YTN1U3JFIXZxXk5zdEU9Y15XQHRqUDwwNSQ7TS0ySHc3d2U/cUtsYm5ZCnp0U2FoQHdmazxaY2BC
M1JSaElsfjFKOEkhJF9ycElCNW1nJUhwcylNO3dqTTM+dUlhMk9rOT9eN3QrRCpoQndpcQp6NjEo
YHpJP0c7fU5ZUHw4VUo1Z00qUksxQ19TMUA8JSsoQS09aHpeWUcpLWt6KzhRVz03MW54Y0JedzdG
U158YkgKekBrYyN2d1BieGZqZVR5RG9RYlA0WD9MaXh0LS1nSnlFK2BiSHVRKmlmbzQrJk5KfnUp
UmE3aHwhczF5Yz9OTWU+CnpnUTFCPkVeQiN3a3UwZXBOT0AtaHNSfSl8ODRaSUNYbX0oOVdXTmM7
PlloVGVTbEx8fVcwPXZESjI3TkFmVyNVRgp6TSpXYE8jX08/Nmx2MURCO0FNcDFUS1dKandEJjc3
NX5IPXBwdFU0Q0NLR21pQW9GVHZkc25OfkBIPUhSUG9HZzgKelcjMXZ4Y1gmcSsyZGljRDgyQFdX
IyZPbWljazxSUyR0YE9yK1o0QF9UYjU8JVlGeXBVUUhTdiYpJWdxPkFlb3YkClAxXz9vfVB2bzVN
O21DZ2hkRFZrSwoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9leGFtcGxlcy9maWxl
c3lzdGVtLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvZXhhbXBsZXMvZmlsZXN5c3RlbS53aWRs
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzNWY2MDJiODU4YS4uMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL2V4YW1wbGVzL2ZpbGVzeXN0ZW0ud2lkbAorKysgL2Rl
di9udWxsCkBAIC0xLDEwMzggKzAsMCBAQAotLyogCi0gKiBMaWNlbnNlZCB0byBPTVRQIEx0ZC4g
KE9NVFApIHVuZGVyIG9uZSBvciBtb3JlIGNvbnRyaWJ1dG9yIGxpY2Vuc2UgYWdyZWVtZW50cy4g
Ci0gKiBTZWUgdGhlIE5PVElDRSBmaWxlIGRpc3RyaWJ1dGVkIHdpdGggdGhpcyB3b3JrIGZvciBh
ZGRpdGlvbmFsIGluZm9ybWF0aW9uIHJlZ2FyZGluZyAKLSAqIGNvcHlyaWdodCBvd25lcnNoaXAu
IAotICogCi0gKiBUaGUgUmVmZXJlbmNlIEltcGxlbWVudGF0aW9uIChzYXZlIGZvciBzdWNoIHBh
cnRzIG9mIHRoZSByZWZlcmVuY2UgaW1wbGVtZW50YXRpb24gbWFkZSAKLSAqIGF2YWlsYWJsZSB1
bmRlciBzZXBhcmF0ZSB0ZXJtcyBhbmQgY29uZGl0aW9ucykgaXMgbWFkZSBhdmFpbGFibGUgdW5k
ZXIgdGhlIHRlcm1zIG9mIHRoZSAKLSAqIEFwYWNoZSBMaWNlbnNlLCB2ZXJzaW9uIDIuMCwgc3Vi
amVjdCB0byB0aGUgY29uZGl0aW9uIHRoYXQgYW55ICJXb3JrcyIgYW5kICJEZXJpdmF0aXZlIAot
ICogV29ya3MiIHVzZWQgb3IgZGlzdHJpYnV0ZWQgZm9yIGNvbW1lcmNpYWwgcHVycG9zZXMgbXVz
dCBiZSBhbmQgcmVtYWluIGNvbXBsaWFudCB3aXRoIHRoZQotICogQk9OREkgc3BlY2lmaWNhdGlv
biBhcyBwcm9tdWxnYXRlZCBieSBPTVRQIGluIGVhY2ggcmVsZWFzZS4gWW91ciBpbXBsZW1lbnRh
dGlvbiBvZiB0aGUgCi0gKiBSZWZlcmVuY2UgSW1wbGVtZW50YXRpb24gKHdoZXRoZXIgb2JqZWN0
IG9yIHNvdXJjZSkgbXVzdCBtYWludGFpbiB0aGVzZSBjb25kaXRpb25zLCBhbmQgCi0gKiB5b3Ug
bXVzdCBub3RpZnkgYW55IHJlY2lwaWVudCBvZiB0aGlzIGNvbmRpdGlvbiBpbiBhIGNvbnNwaWN1
b3VzIHdheS4KLSAqIAotICogWW91IG1heSBub3QgdXNlIHRoaXMgQk9OREkgUmVmZXJlbmNlIElt
cGxlbWVudGF0aW9uIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuIAotICog
Ci0gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQgaHR0cDovL3d3dy5h
cGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wIG9yIGF0IAotICogaHR0cDovL2JvbmRpLm9t
dHAub3JnL0JPTkRJLUxJQ0VOU0UtMi4wIAotICovCi0KLS8qKgotICogXGJyaWVmIEJPTkRJIGZp
bGVzeXN0ZW0gQVBJLgotICoKLSAqIFRoZSBCT05ESSBmaWxlc3lzdGVtIEFQSSBwcm92aWRlcyBh
Y2Nlc3MgdG8gdGhlIGZpbGVzeXN0ZW0gb2YgYSBkZXZpY2UuIFRoZQotICogZmlsZXN5c3RlbSBp
cyBhYnN0cmFjdGx5IHJlcHJlc2VudGVkIGFzIGEgY29sbGVjdGlvbiBvZiBkaXNqb2ludCBmaWxl
c3lzdGVtCi0gKiByb290IGxvY2F0aW9ucyBlYWNoIGNvcnJlc3BvbmRpbmcgdG8gc29tZSBzcGVj
aWZpYyBsb2NhdGlvbiBpbiB0aGUgZGV2aWNlCi0gKiBmaWxlc3lzdGVtLiAgVGhlIGZpbGVzeXN0
ZW0gQVBJIGV4cG9zZXMgdGhlIGhpZXJhcmNoaWVzIGJlbG93IHRoZXNlIHJvb3QKLSAqIGxvY2F0
aW9ucyBhcyBhIHNpbmdsZSB2aXJ0dWFsIGZpbGVzeXN0ZW0gYnV0IHByb3ZpZGVzIG5vIGFjY2Vz
cyB0byBvdGhlcgotICogcGFydHMgb2YgdGhlIGRldmljZSBmaWxlc3lzdGVtLgotICoKLSAqIFRo
ZSByb290cyB0aGF0IGFyZSBleHBvc2VkIGFyZSBkZXRlcm1pbmVkIGJ5IHRoZSBwbGF0Zm9ybSBh
bHNvIGJ5IHRoZQotICogY29udGV4dCBpbiB3aGljaCB0aGUgZmlsZXN5c3RlbSBBUEkgaXMgaW52
b2tlZC4KLSAqCi0gKiBFYWNoIHJvb3QgaGFzIGEgc3RyaW5nIG5hbWUuIEVhY2ggZmlsZSBvciBk
aXJlY3Rvcnkgd2l0aGluIHRoZSB2aXJ0dWFsCi0gKiBmaWxlc3lzdGVtIGlzIGFkZHJlc3NlZCB1
c2luZyBhIGZ1bGx5LXF1YWxpZmllZCBwYXRoIG9mIHRoZSBmb3JtOgotICogPGVtPiZsdDtyb290
IG5hbWUmZ3Q7LyZsdDtwYXRoJmd0OzwvZW0+IHdoZXJlIDxlbT4mbHQ7cm9vdG5hbWUmZ3Q7PC9l
bT4gaXMKLSAqIHRoZSBuYW1lIG9mIHRoZSByb290IGFuZCA8ZW0+Jmx0O3BhdGgmZ3Q7PC9lbT4g
aXMgdGhlIHBhdGggdG8gdGhlIGZpbGUgb3IKLSAqIGRpcmVjdG9yeSByZWxhdGl2ZSB0byB0aGF0
IHJvb3QuCi0gKiAKLSAqIFRoZSBsaXN0IG9mIHRoZSBzdXBwb3J0ZWQgcm9vdCBsb2NhdGlvbnMg
Y2FuIGJlIHJldHJpZXZlZCBieSBjYWxsaW5nCi0gKiBmaWxlc3lzdGVtLmdldFJvb3RMb2NhdGlv
bnMoKS4KLSAqCi0gKiBUaGUgZGVmYXVsdCBsb2NhdGlvbiBmb3IgYSBzcGVjaWZpYyB0eXBlIG9m
IGZpbGUsIGlmIG9uZSBleGlzdHMsIGNhbiBiZQotICogb2J0YWluZWQgYnkgY2FsbGluZyB0aGUg
ZmlsZXN5c3RlbS5nZXREZWZhdWx0TG9jYXRpb24oLi4uKSBtZXRob2QuIEEgc2V0IG9mCi0gKiBw
bGF0Zm9ybS1pbmRlcGVuZGVudCBzeW1ib2xpYyBuYW1lcyBmb3IgbWVkaWEgdHlwZXMgaXMgZGVm
aW5lZC4gVGhlIGRlZmF1bHQKLSAqIGxvY2F0aW9uIGZvciBhIGdpdmVuIGZpbGUgdHlwZSBtYXkg
aXRzZWxmIGJlIGEgcm9vdCwgb3Igc29tZSBzdWJkaXJlY3Rvcnkgb2YKLSAqIGEgcm9vdC4gQWx0
aG91Z2ggdGhlIHNldCBvZiByb290cyBhdmFpbGFibGUgb24gYSBkZXZpY2UgaXMKLSAqIHBsYXRm
b3JtLWRlcGVuZGVudCwgdGhlIGdldERlZmF1bHRMb2NhdGlvbiguLi4pIGZ1bmN0aW9uYWxpdHkg
Y2FuIGJlIHVzZWQgdG8KLSAqIGVuc3VyZSB0aGF0IHdlYiBhcHBsaWNhdGlvbnMgY2FuIGJlIHdy
aXR0ZW4gaW4gYSBwbGF0Zm9ybS1pbmRlcGVuZGVudCB3YXkuCi0gKgotICogSW4gb3JkZXIgdG8g
YWNjZXNzIHNwZWNpZmljIGxvY2F0aW9ucyB3aGljaCBhcmUgcHJlZml4ZWQgd2l0aCBhIHZhbHVl
Ci0gKiByZXRyaWV2ZWQgYnkgZmlsZXN5c3RlbS5nZXREZWZhdWx0TG9jYXRpb24gb3Igc29tZSBy
b290IGxvY2F0aW9uIHJldHVybmVkIGJ5Ci0gKiBmaWxlc3lzdGVtLmdldFJvb3RMb2NhdGlvbnMg
YSBGaWxlIGhhbmRsZSBtdXN0IGJlIHJldHJpZXZlZCB1c2luZyB0aGUKLSAqIGZpbGVzeXN0ZW0u
cmVzb2x2ZSBjYWxsLgotICoKLSAqIEEgRmlsZSBoYW5kbGUgcmVwcmVzZW50cyBlaXRoZXIgYSBm
aWxlIG9yIGEgZGlyZWN0b3J5LiBJZiBpdCBpcyBhIGZpbGUgdGhlCi0gKiBpc0ZpbGUgYXR0cmli
dXRlIHdpbGwgYmUgPGVtPnRydWU8L2VtPiwgb3RoZXJ3aXNlIHRoZSBpc0RpcmVjdG9yeSBhdHRy
aWJ1dGUKLSAqIHdpbGwgYmUgPGVtPnRydWU8L2VtPi4gQSBmaWxlIGNhbiBiZSBvcGVuZWQgZm9y
IHJlYWRpbmcgYW5kIHdyaXRpbmcsIHVzaW5nIGEKLSAqIEZpbGVTdHJlYW0gaGFuZGxlLiBBIGRp
cmVjdG9yeSBjYW4gYmUgdXNlZCB0byBsaXN0IGl0cyBjb250ZW50cyB3aGljaCBpcyBhCi0gKiBs
aXN0IG9mIGZpbGVzIGFuZCBzdWItZGlyZWN0b3JpZXMuIFRoZXJlIGlzIGEgcmVzb2x2ZSBtZXRo
b2Qgb24gZGlyZWN0b3JpZXMKLSAqIGFzIHdlbGwgaW4gb3JkZXIgdG8gcmVzb2x2ZSBmaWxlcyBv
ciBzdWItZGlyZWN0b3JpZXMgbW9yZSBjb252ZW5pZW50bHkgdGhhbgotICogcHJvY2Vzc2luZyBk
aXJlY3RvcnkgbGlzdGluZ3MuCi0gKgotICogVGhlICIvIiBjaGFyYWN0ZXIgaXMgdXNlZCBhcyB0
aGUgKHBhdGgpIGNvbXBvbmVudCBzZXBhcmF0b3IuCi0gKiBUaGUgdXNlIG9mICIuIiBvciAiLi4i
IGluIGxvY2F0aW9uIGNvbXBvbmVudHMgaXMgbm90IHJlcXVpcmVkIHRvIGJlCi0gKiBzdXBwb3J0
ZWQuCi0gKgotICogQWxsIHBhdGggY2hhcmFjdGVycyBuZWVkIHRvIGJlIDxhIGhyZWY9Imh0dHA6
Ly93d3cuaWV0Zi5vcmcvcmZjL3JmYzIyNzkudHh0Ij5VVEYtODwvYT4gZW5jb2RlZC4KLSAqCi0g
KiBcY29kZQotICogCWZ1bmN0aW9uIGVycm9yQ0IoZXJyKSB7Ci0gKiAJCWFsZXJ0KCJCT05ESSBm
aWxlc3lzdGVtIEFQSSBjb3VsZG4ndCBiZSByZXF1ZXN0ZWQ6ICIgKyBlcnIubWVzc2FnZSk7Ci0g
KiAJfQotICoKLSAqIAlmdW5jdGlvbiBzdWNjZXNzQ0IoKSB7Ci0gKiAJCXZhciBkb2NMb2NhdGlv
biA9IGJvbmRpLmZpbGVzeXN0ZW0uZ2V0RGVmYXVsdExvY2F0aW9uKCJkb2N1bWVudHMiKTsKLSAq
IAkJdmFyIGRvY0RpciA9IGJvbmRpLmZpbGVzeXN0ZW0ucmVzb2x2ZShkb2NMb2NhdGlvbik7Ci0g
KiAJCXZhciBkb2NGaWxlcyA9IGRvY0Rpci5saXN0RmlsZXMoKTsKLSAqIAkJZm9yKHZhciBpID0g
MDsgaSAmbHQ7IGRvY0ZpbGVzLmxlbmd0aDsgaSsrKSB7Ci0gKiAJCQkvLyBkaXNwbGF5cyBuYW1l
IG9mIGVhY2ggaW1hZ2UgZmlsZSBpbiBpbWFnZSBkaXJlY3RvcnkKLSAqIAkJCWFsZXJ0KGRvY0Zp
bGVzW2ldLm5hbWUpOwotICogCQl9Ci0gKiAJCXZhciB0ZXN0RmlsZSA9IGRvY0Rpci5jcmVhdGVG
aWxlKCJ0ZXN0LnR4dCIpOwotICogCQl2YXIgb3V0ID0gdGVzdEZpbGUub3BlbigidyIsICJVVEYt
OCIpOwotICogCQkvLyB3cml0ZXMgSGVsbG8gV29ybGQgdG8gdGVzdC50eHQKLSAqIAkJb3V0Lndy
aXRlKCJIZWxsbyBXb3JsZCIpOwotICogCQlvdXQuY2xvc2UoKTsKLSAqIAl9Ci0gKgotICogCWJv
bmRpLnJlcXVlc3RGZWF0dXJlKHN1Y2Nlc3NDQiwgZXJyb3JDQiwgImZpbGVzeXN0ZW0iKTsKLSAq
IFxlbmRjb2RlCi0gKiAKLSAqIFxkZWYtYXBpLWZlYXR1cmUgaHR0cDovL2JvbmRpLm9tdHAub3Jn
L2FwaS9maWxlc3lzdGVtLnJlYWQKLSAqIFxicmllZiBGaWxlc3lzdGVtIHJlYWQgb3BlcmF0aW9u
cywgaW5jbHVkaW5nIHJlYWRpbmcgZGlyZWN0b3J5IGxpc3RpbmdzLAotICogICAgICAgIGZpbGUg
Y29udGVudHMgYW5kIHJlc29sdmluZyByb290IGxvY2F0aW9ucy4KLSAqIFxkZXZpY2UtY2FwIGlv
LmZpbGUucmVhZAotICoKLSAqIFxkZWYtYXBpLWZlYXR1cmUgaHR0cDovL2JvbmRpLm9tdHAub3Jn
L2FwaS9maWxlc3lzdGVtLndyaXRlCi0gKiBcYnJpZWYgRmlsZXN5c3RlbSB3cml0ZSBvcGVyYXRp
b25zLCBpbmNsdWRpbmcgY3JlYXRpbmcgZmlsZXMvZGlyZWN0b3JpZXMsCi0gKiAgICAgICAgd3Jp
dGluZyB0byBmaWxlcywgZGVsZXRpbmcgZmlsZXMvZGlyZWN0b3JpZXMsIG1vdmluZyBhbmQgY29w
eWluZwotICogICAgICAgIGZpbGVzLgotICogXGRldmljZS1jYXAgaW8uZmlsZS53cml0ZQotICog
Ci0gKiBcZGVmLWFwaS1mZWF0dXJlLXNldCBodHRwOi8vYm9uZGkub210cC5vcmcvYXBpL2ZpbGVz
eXN0ZW0KLSAqIFxicmllZiBBbGwgdGhlIEZpbGVTeXN0ZW0gZmVhdHVyZXMKLSAqIFxhcGktZmVh
dHVyZSBodHRwOi8vYm9uZGkub210cC5vcmcvYXBpL2ZpbGVzeXN0ZW0ucmVhZAotICogXGFwaS1m
ZWF0dXJlIGh0dHA6Ly9ib25kaS5vbXRwLm9yZy9hcGkvZmlsZXN5c3RlbS53cml0ZQotICoKLSAq
IFxkZWYtZGV2aWNlLWNhcCBpby5maWxlLnJlYWQKLSAqIFxicmllZiBSZWFkIGRpcmVjdG9yeSBv
ciBmaWxlCi0gKiBccGFyYW0gbmFtZSBOYW1lIG9mIGRpcmVjdG9yeSBvciBmaWxlLCBpbiB2aXJ0
dWFsIGZpbGVzeXN0ZW0sCi0gKiBlLmcuIHJvb3Rsb2NhdGlvbi9maWxlbmFtZQotICoKLSAqIFxk
ZWYtZGV2aWNlLWNhcCBpby5maWxlLndyaXRlCi0gKiBcYnJpZWYgV3JpdGUgZGlyZWN0b3J5IG9y
IGZpbGUKLSAqIFxwYXJhbSBuYW1lIE5hbWUgb2YgZGlyZWN0b3J5IG9yIGZpbGUsIGluIHZpcnR1
YWwgZmlsZXN5c3RlbSwKLSAqIGUuZy4gcm9vdGxvY2F0aW9uL2ZpbGVuYW1lCi0gKgotICogXGF1
dGhvciBQYWRkeSBCeWVycyAmbHQ7cGFkZHlAYXBsaXhjb3JwLmNvbSZndDsKLSAqIFxhdXRob3Ig
QW5zZWxtIFIgR2FyYmUgJmx0O2Fuc2VsbUBhcGxpeGNvcnAuY29tJmd0OwotICogXHZlcnNpb24g
MS4xCi0gKi8KLW1vZHVsZSBmaWxlc3lzdGVtIHsKLQotCS8qKgotCSAqIFxicmllZiBBcnJheSBv
ZiBGaWxlIGhhbmRsZXMuCi0JICoKLQkgKiBUaGlzIGFycmF5IHR5cGUgaXMgcmV0dXJuZWQgd2hl
biBkaXJlY3RvcnkgbGlzdGluZ3MgYXJlIHJlcXVlc3RlZC4KLQkgKi8KLQl0eXBlZGVmIHNlcXVl
bmNlPEZpbGU+IEZpbGVBcnJheTsKLQotCS8qKgotCSAqIFxicmllZiBGaWxlIHN5c3RlbSBzcGVj
aWZpYyBzdWNjZXNzIGNhbGxiYWNrLgotCSAqCi0JICogVGhpcyBjYWxsYmFjayBpbnRlcmZhY2Ug
c3BlY2lmaWVzIGEgc3VjY2VzcyBjYWxsYmFjayB3aXRoIGEgZnVuY3Rpb24KLQkgKiB0YWtpbmcg
YSBGaWxlIG9iamVjdCBhcyBpbnB1dCBhcmd1bWVudC4gSXQgaXMgdXNlZCBpbiBhc3luY2hyb25v
dXMKLQkgKiBvcGVyYXRpb25zIHN1Y2ggYXMgY29weWluZywgbW92aW5nIGFuZCBkZWxldGluZyBm
aWxlcy4KLQkgKi8KLQlbQ2FsbGJhY2s9RnVuY3Rpb25Pbmx5LCBOb0ludGVyZmFjZU9iamVjdF0g
aW50ZXJmYWNlIEZpbGVTeXN0ZW1TdWNjZXNzQ2FsbGJhY2sgewotCSAgIC8qKgotCSAgICAqIFxi
cmllZiBNZXRob2QgaW52b2tlZCB3aGVuIHRoZSBhc3luY2hyb25vdXMgY2FsbCBjb21wbGV0ZXMg
c3VjY2VzZnVsbHkKLQkgICAgKgotCSAgICAqIFxwYXJhbSBmaWxlIFRoZSBmaWxlIHJlc3VsdGlu
ZyBmcm9tIHRoZSBhc3luY2hyb25vdXMgY2FsbAotCSAgICAqLwotCQl2b2lkIG9uU3VjY2Vzcyhp
biBGaWxlIGZpbGUpOwotCX07Ci0KLQkvKioKLQkgKiBcYnJpZWYgTWFuYWdlciBjbGFzcyBleHBv
c2VkIGFzIHRoZSBmaWxlc3lzdGVtIG1vZHVsZXMgQVBJLgotCSAqCi0JICogVGhpcyBtYW5hZ2Vy
IGNsYXNzIGV4cG9zZXMgdGhlIGZpbGVzeXN0ZW0gYmFzZSBBUEksIHN1Y2ggYXMKLQkgKiBkZXRl
cm1pbmluZyByb290IGFuZCBkZWZhdWx0IGxvY2F0aW9ucywgcmVzb2x2aW5nIGEgZ2l2ZW4gbG9j
YXRpb24KLQkgKiBpbnRvIGEgRmlsZSBIYW5kbGUgYW5kIHJlZ2lzdGVyaW5nIGZpbGVzeXN0ZW0g
bGlzdGVuZXJzIGZvcgotCSAqIGZpbGVzeXN0ZW0gZXZlbnRzLgotCSAqCi0JICogXGNvZGUKLQkg
KiAJZnVuY3Rpb24gZXJyb3JDQihlcnIpIHsKLQkgKiAJCWFsZXJ0KCJCT05ESSBmaWxlc3lzdGVt
IEFQSSBjb3VsZG4ndCBiZSByZXF1ZXN0ZWQ6ICIgKyBlcnIubWVzc2FnZSk7Ci0JICogCX0KLQkg
KgotCSAqIAlmdW5jdGlvbiBzdWNjZXNzQ0IoKSB7Ci0JICogCQl2YXIgZG9jTG9jYXRpb24gPSBi
b25kaS5maWxlc3lzdGVtLmdldERlZmF1bHRMb2NhdGlvbigiZG9jdW1lbnRzIik7Ci0JICogCQl2
YXIgZG9jRGlyID0gYm9uZGkuZmlsZXN5c3RlbS5yZXNvbHZlKGRvY0xvY2F0aW9uKTsKLQkgKiAJ
CXZhciBkb2NGaWxlcyA9IGRvY0Rpci5saXN0RmlsZXMoKTsKLQkgKiAJCWZvcih2YXIgaSA9IDA7
IGkgJmx0OyBkb2NGaWxlcy5sZW5ndGg7IGkrKykgewotCSAqIAkJCS8vIGRpc3BsYXlzIG5hbWUg
b2YgZWFjaCBpbWFnZSBmaWxlIGluIGltYWdlIGRpcmVjdG9yeQotCSAqIAkJCWFsZXJ0KGRvY0Zp
bGVzW2ldLm5hbWUpOwotCSAqIAkJfQotCSAqIAkJdmFyIHRlc3RGaWxlID0gZG9jRGlyLmNyZWF0
ZUZpbGUoInRlc3QudHh0Iik7Ci0JICogCQl2YXIgb3V0ID0gdGVzdEZpbGUub3BlbigidyIsICJV
VEYtOCIpOwotCSAqIAkJLy8gd3JpdGVzIEhlbGxvIFdvcmxkIHRvIHRlc3QudHh0Ci0JICogCQlv
dXQud3JpdGUoIkhlbGxvIFdvcmxkIik7Ci0JICogCQlvdXQuY2xvc2UoKTsKLQkgKiAJfQotCSAq
Ci0JICogCWJvbmRpLnJlcXVlc3RGZWF0dXJlKHN1Y2Nlc3NDQiwgZXJyb3JDQiwgImZpbGVzeXN0
ZW0iKTsKLQkgKiBcZW5kY29kZQotCSAqLwotCWludGVyZmFjZSBGaWxlU3lzdGVtTWFuYWdlciB7
Ci0KLQkJLyoqCi0JCSAqIFxicmllZiBDb250YWlucyB0aGUgcGxhdGZvcm0tZGVwZW5kZW50IG1h
eGltdW0gcGF0aCBsZW5ndGguCi0JCSAqCi0JCSAqIFJlYWQtb25seS4KLQkJICoKLQkJICogXGNv
ZGUKLQkJICogCWFsZXJ0KGJvbmRpLmZpbGVzeXN0ZW0ubWF4UGF0aExlbmd0aCk7Ci0JCSAqIFxl
bmRjb2RlCi0JCSAqLwotCQlyZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBtYXhQYXRo
TGVuZ3RoOwotCi0JCS8qKgotCQkgKiBcYnJpZWYgUmV0dXJucyBhIGRlZmF1bHQgbG9jYXRpb24g
cGF0aCBmb3IgdGhlIGdpdmVuIGFyZ3VtZW50cywKLQkJICogaW5jbHVkaW5nIHRoZSByb290IGxv
Y2F0aW9uIHByZWZpeC4KLQkJICoKLQkJICogT3B0aW9uYWxseSB0aGlzIG1ldGhvZCBjYW4gYmUg
Y2FsbGVkIHdpdGggdGhlIHNwYWNlIGFyZ3VtZW50Ci0JCSAqIHNwZWNpZnlpbmcgdGhlIG1pbmlt
dW0gZnJlZSBkaXNrIHNwYWNlIHJlcXVpcmVkLgotCQkgKgotCQkgKiBUaGlzIGZ1bmN0aW9uIHJl
c29sdmVzIGxvY2F0aW9uIHNwZWNpZmllcnMgdG8gbG9jYXRpb24gcGF0aHMuCi0JCSAqIFRoZSBm
b2xsb3dpbmcgbG9jYXRpb24gc3BlY2lmaWVycyBhcmUgc3VwcG9ydGVkOgotCQkgKiBcbiAid2d0
OnBhY2thZ2UiIHRoZSB3aWRnZXQgcGFja2FnZSBsb2NhdGlvbgotCQkgKiBcbiAid2d0OnByaXZh
dGUiIHRoZSB3aWRnZXRzIHByaXZhdGUgc3RvcmFnZQotCQkgKiBcbiAid2d0OnB1YmxpYyIgIHRo
ZSB3aWRnZXRzIHB1YmxpYyBzdG9yYWdlCi0JCSAqIFxuICJ3Z3Q6dGVtcCIgICAgdGhlIHdpZGdl
dHMgdGVtcG9yYXJ5IHN0b3JhZ2UKLQkJICogXG4gImRvY3VtZW50cyIgICB0aGUgZG9jdW1lbnRz
IGxvY2F0aW9uLAotCQkgKiAgICAgICAgICAgICAgICAgICAgZS5nLiB0aGUgIk15IERvY3VtZW50
cyIgZGlyZWN0b3J5IG9uIHNvbWUgc3lzdGVtcwotCQkgKiBcbiAiaW1hZ2VzIiAgICAgIHRoZSBp
bWFnZXMgbG9jYXRpb24sCi0JCSAqICAgICAgICAgICAgICAgICAgICBlLmcuIHRoZSAiTXkgUGlj
dHVyZXMiIGRpcmVjdG9yeSBvbiBzb21lIHN5c3RlbXMKLQkJICogXG4gInZpZGVvcyIgICAgICB0
aGUgdmlkZW9zIGxvY2F0aW9uLAotCQkgKiAgICAgICAgICAgICAgICAgICAgZS5nLiB0aGUgIk15
IFZpZGVvcyIgZGlyZWN0b3J5IG9uIHNvbWUgc3lzdGVtcwotCQkgKiBcbiAidGVtcCIgICAgICAg
IHRoZSB0ZW1wb3Jhcnkgc3RvcmFnZSwKLQkJICogICAgICAgICAgICAgICAgICAgIGUuZyByZXNv
bHZpbmcgdG8gIlRlbXAiCi0JCSAqIFxuICJzZGNhcmQiICAgICAgdGhlIHNkY2FyZCBzdG9yYWdl
LCBpZiBhbnkKLQkJICoKLQkJICogXGNvZGUKLQkJICogCXZhciB3Z3RMb2NhdGlvbiA9IGJvbmRp
LmZpbGVzeXN0ZW0uZ2V0RGVmYXVsdExvY2F0aW9uKCd3Z3Q6cGFja2FnZScpOwotCQkgKiBcZW5k
Y29kZQotCQkgKgotCQkgKiBccGFyYW0gc3BlY2lmaWVyICAgIHRoZSBsb2NhdGlvbiBzcGVjaWZp
ZXIsIHNlZSBhYm92ZSBmb3Igc3VwcG9ydGVkIHNwZWNpZmllcnMuCi0JCSAqIFxwYXJhbSBtaW5G
cmVlU3BhY2Ugb3B0aW9uYWwsIG1pbmltdW0gcmVxdWlyZWQgZnJlZSBkaXNrIHNwYWNlIGluIGJ5
dGVzIGZvcgotCQkgKiAgICAgICAgICAgICAgICAgICAgIHRoaXMgbG9jYXRpb24sIDxlbT4wPC9l
bT4gKGRlZmF1bHQpIG1lYW5zIG5vIGxpbWl0YXRpb24KLQkJICogXHJldHVybiB0aGUgbG9jYXRp
b24gYXMgYSBzdHJpbmcgb3IgPGVtPm51bGw8L2VtPiBpZiB0aGVyZQotCQkgKiAgICAgICAgIGlz
IG5vIGxvY2F0aW9uIGZvciB0aGUgZ2l2ZW4gc3BlY2lmaWVyIG9yIGlmIHRoZXJlIGlzIG5vdAot
CQkgKiAgICAgICAgIGVub3VnaCBzcGFjZSBsZWZ0IGZvciB0aGUgcmVxdWVzdGVkIHNwYWNlIGlu
IGJ5dGVzLgotCQkgKiBcdGhyb3cgRGV2aWNlQVBJRXJyb3IgSU5WQUxJRF9BUkdVTUVOVF9FUlJP
UiBpZiB0aGUKLQkJICogICAgICAgIHNwZWNpZmllciBvciBzcGFjZSBhcmd1bWVudHMgYXJlIGlu
dmFsaWQKLQkJICovCi0JCURPTVN0cmluZyBnZXREZWZhdWx0TG9jYXRpb24oaW4gRE9NU3RyaW5n
IHNwZWNpZmllciwgaW4gdW5zaWduZWQgbG9uZyBtaW5GcmVlU3BhY2UpCi0JCQlyYWlzZXMoRGV2
aWNlQVBJRXJyb3IpOwotCi0JCS8qKgotCQkgKiBcYnJpZWYgUmV0dXJucyBhbGwgcm9vdCBsb2Nh
dGlvbnMuCi0JCSAqCi0JCSAqIFRoZSByb290IGxvY2F0aW9ucyBhcmUgc3ltYm9saWMgbmFtZXMg
Zm9yIGZpbGVzeXN0ZW0KLQkJICogbG9jYXRpb25zIHdoaWNoIGFyZSBhY2Nlc3NpYmxlIGFuZCBz
dXBwb3J0ZWQgYnkgdGhlCi0JCSAqIHVuZGVybHlpbmcgcGxhdGZvcm0uCi0JCSAqCi0JCSAqIFVz
dWFsbHkgdGhlIGZvbGxvd2luZyByb290IGxvY2F0aW9ucyB3aWxsIGJlIHN1cHBvcnRlZDoKLQkJ
ICogXG4gImRvY3VtZW50cyIgcmVwcmVzZW50cyAiTXkgRG9jdW1lbnRzIiBvbiBzb21lIHBsYXRm
b3JtcwotCQkgKiBcbiAiaW1hZ2VzIiAgICByZXByZXNlbnRzICJNeSBQaWN0dXJlcyIgb24gc29t
ZSBwbGF0Zm9ybXMKLQkJICogXG4gInZpZGVvcyIgICAgcmVwcmVzZW50cyAiTXkgVmlkZW9zIiBv
biBzb21lIHBsYXRmb3JtcwotCQkgKiBcbiAidGVtcCIgICAgICByZXByZXNlbnRzICJ0bXAiIG9u
IHNvbWUgcGxhdGZvcm1zCi0JCSAqIFxuICJzZGNhcmQiICAgIHJlcHJlc2VudHMgdGhlIHNkY2Fy
ZCBvbiBzb21lIHBsYXRmb3JtcwotCQkgKgotCQkgKiBTZWUgYWxzbyB0aGUgZ2V0RGVmYXVsdExv
Y2F0aW9uIG1ldGhvZC4KLQkJICoKLQkJICogXGNvZGUKLQkJICogCXZhciBsb2NhdGlvbnMgPSBi
b25kaS5maWxlc3lzdGVtLmdldFJvb3RMb2NhdGlvbnMoKTsKLQkJICogCWZvcih2YXIgaSA9IDA7
IGkgJmx0OyBsb2NhdGlvbnMubGVuZ3RoOyBpKyspIHsKLQkJICogCQkvLyBsb2NhdGlvbnNbaV0g
aXMgYSByZXNvbHZhYmxlIHJvb3QgbG9jYXRpb24KLQkJICogCX0KLQkJICogXGVuZGNvZGUKLQkJ
ICoKLQkJICogXHJldHVybiBzdHJpbmcgYXJyYXkgb2Ygcm9vdCBsb2NhdGlvbnMuCi0JCSAqLwot
CQlTdHJpbmdBcnJheSBnZXRSb290TG9jYXRpb25zKCk7Ci0KLQkJLyoqCi0JCSAqIFxicmllZiBS
ZXNvbHZlcyBhIGxvY2F0aW9uIHRvIGEgRmlsZSBoYW5kbGUuCi0JCSAqCi0JCSAqIFZhbGlkYXRl
cyBhbmQgcmVzb2x2ZXMgdGhlIGdpdmVuIGxvY2F0aW9uIHRvIGEgRmlsZSBoYW5kbGUKLQkJICog
YW5kIHJldHVybnMgYSBoYW5kbGUuIEEgdmFsaWQgbG9jYXRpb24gaXMgcHJlZml4ZWQgd2l0aCBh
Ci0JCSAqIHZhbGlkIHJvb3Qgb3IgZGVmYXVsdCBsb2NhdGlvbiBhbmQgbXVzdCBhZGRyZXNzIGFu
IGV4aXN0aW5nCi0JCSAqIGFuZCBhY2Nlc3NpYmxlIGZpbGUuICAKLQkJICoKLQkJICogXGFwaS1m
ZWF0dXJlIGh0dHA6Ly9ib25kaS5vbXRwLm9yZy9hcGkvZmlsZXN5c3RlbS5yZWFkCi0JCSAqCi0J
CSAqIFxjb2RlCi0JCSAqIAl2YXIgbG9jYXRpb24gPSBib25kaS5maWxlc3lzdGVtLmdldERlZmF1
bHRMb2NhdGlvbigidGVtcCIpOwotCQkgKiAJdmFyIHRlbXAgPSBib25kaS5maWxlc3lzdGVtLnJl
c29sdmUobG9jYXRpb24pOwotCQkgKiAJdmFyIGRvY3VtZW50cyA9IGJvbmRpLmZpbGVzeXN0ZW0u
Z2V0RGVmYXVsdExvY2F0aW9uKCJkb2N1bWVudHMiKTsKLQkJICogCXZhciBteWRvYyA9IGJvbmRp
LmZpbGVzeXN0ZW0ucmVzb2x2ZShkb2N1bWVudHMgKyAiL2RhdGEvMjAwOS9teWRvYy50eHQiKTsK
LQkJICogXGVuZGNvZGUKLQkJICoKLQkJICogXHBhcmFtIGxvY2F0aW9uIHRoZSBsb2NhdGlvbiB0
byByZXNvbHZlLiBNdXN0IGJlIGFic29sdXRlCi0JCSAqICAgICAgICBwcmVmaXhlZCBieSBhIHZh
bGlkIHJvb3Qgb3IgZGVmYXVsdCBsb2NhdGlvbi4KLQkJICogXHJldHVybiB0aGUgcmVzb2x2ZWQg
ZmlsZSBvYmplY3QuCi0JCSAqIFx0aHJvdyBTZWN1cml0eUVycm9yIFBFUk1JU1NJT05fREVOSUVE
X0VSUk9SIHdoZW4KLQkJICogICAgICAgIGFjY2VzcyBpcyBkZW5pZWQgYnkgdGhlIHNlY3VyaXR5
IHBvbGljeS4KLQkJICogXHRocm93IERldmljZUFQSUVycm9yIElOVkFMSURfQVJHVU1FTlRfRVJS
T1IgaWYgaW52YWxpZCBsb2NhdGlvbiB3YXMgZ2l2ZW4uCi0JCSAqLwotCQlGaWxlIHJlc29sdmUo
aW4gRE9NU3RyaW5nIGxvY2F0aW9uKQotCQkJcmFpc2VzKFNlY3VyaXR5RXJyb3IsIERldmljZUFQ
SUVycm9yKTsKLQotCQkvKioKLQkJICogXGJyaWVmIFJlZ2lzdGVycyBhIGZpbGVzeXN0ZW0gZXZl
bnQgbGlzdGVuZXIuCi0JCSAqCi0JCSAqIEZpbGVzeXN0ZW0gZXZlbnQgbGlzdGVuZXJzIGFyZSB1
c2VkIGluIG9yZGVyIHRvIHJldHJpZXZlCi0JCSAqIG5vdGlmaWNhdGlvbnMgaWYgcm9vdCBvciBk
ZWZhdWx0IGxvY2F0aW9ucyBzdWNoIGFzIHN0b3JhZ2UKLQkJICogY2FyZHMgYXJlIG1vdW50ZWQv
dW5tb3VudGVkIGludG8vZnJvbSB0aGUgZGV2aWNlIGZpbGVzeXN0ZW0uCi0JCSAqCi0JCSAqIFxh
cGktZmVhdHVyZSBodHRwOi8vYm9uZGkub210cC5vcmcvYXBpL2ZpbGVzeXN0ZW0ucmVhZAotCQkg
KgotCQkgKiBcY29kZQotCQkgKiAJdmFyIGxpc3RlbmVyID0geyBtb3VudEV2ZW50OiBmdW5jdGlv
bihsb2NhdGlvbikgeyBhbGVydCgnbW91bnRlZCAnICsgbG9jYXRpb24pOyB9LAotCQkgKiAJICAg
ICAgICAgICAgICAgICB1bm1vdW50RXZlbnQ6IGZ1bmN0aW9uKGxvY2F0aW9uKSB7IGFsZXJ0KCd1
bm1vdW50ZWQgJyArIGxvY2F0aW9uKTsgfTsKLQkJICogCWJvbmRpLmZpbGVzeXN0ZW0ucmVnaXN0
ZXJFdmVudExpc3RlbmVyKGxpc3RlbmVyKTsKLQkJICogXGVuZGNvZGUKLQkJICoKLQkJICogXHBh
cmFtIGxpc3RlbmVyIHRoZSBsaXN0ZW5lciBpbnRlcmZhY2UgaW1wbGVtZW50YXRpb24KLQkJICog
XHRocm93IERldmljZUFQSUVycm9yIElOVkFMSURfQVJHVU1FTlRfRVJST1IgaWYgdGhlIGdpdmVu
IGxpc3RlbmVyCi0JCSAqICAgICAgICBpcyBpbnZhbGlkIG9yIG5vdCBhIGxpc3RlbmVyLgotCQkg
Ki8KLQkJdm9pZCByZWdpc3RlckV2ZW50TGlzdGVuZXIoaW4gRmlsZVN5c3RlbUxpc3RlbmVyIGxp
c3RlbmVyKQotCQkJcmFpc2VzKERldmljZUFQSUVycm9yKTsKLQotCQkvKioKLQkJICogXGJyaWVm
IFVucmVnaXN0ZXJzIGEgZmlsZXN5c3RlbSBldmVudCBsaXN0ZW5lci4KLQkJICoKLQkJICogXGNv
ZGUKLQkJICogCWJvbmRpLmZpbGVzeXN0ZW0udW5yZWdpc3RlckV2ZW50TGlzdGVuZXIobGlzdGVu
ZXIpOwotCQkgKiBcZW5kY29kZQotCQkgKgotCQkgKiBccGFyYW0gbGlzdGVuZXIgdGhlIGxpc3Rl
bmVyIGludGVyZmFjZSBpbXBsZW1lbnRhdGlvbgotCQkgKiBcdGhyb3cgRGV2aWNlQVBJRXJyb3Ig
SU5WQUxJRF9BUkdVTUVOVF9FUlJPUiBpZiB0aGUgZ2l2ZW4gbGlzdGVuZXIKLQkJICogICAgICAg
IGlzIGludmFsaWQgb3Igbm90IGEgbGlzdGVuZXIuCi0JCSAqLwotCQl2b2lkIHVucmVnaXN0ZXJF
dmVudExpc3RlbmVyKGluIEZpbGVTeXN0ZW1MaXN0ZW5lciBsaXN0ZW5lcikKLQkJCXJhaXNlcyhE
ZXZpY2VBUElFcnJvcik7Ci0JfTsKLQotCS8qKgotCSAqIFxicmllZiBGaWxlc3lzdGVtIGV2ZW50
IGxpc3RlbmVyIGNsYXNzLgotCSAqCi0JICogVGhpcyBsaXN0ZW5lciBpbXBsZW1lbnRzIHR3byBt
ZXRob2RzIHRvIHJldHJpZXZlIG1vdW50IGFuZCB1bm1vdW50Ci0JICogbm90aWZpY2F0aW9ucyBp
ZiByb290IG9yIGRlZmF1bHQgbG9jYXRpb25zIG9uIGEgc3RvcmFnZSBjYXJkIGdldAotCSAqIGF2
YWlsYWJsZSBvciB1bmF2YWlsYWJsZS4KLQkgKgotCSAqIFxjb2RlCi0JICogCXZhciBmc0V2ZW50
SW1wbCA9IHsKLQkgKiAJCW1vdW50RXZlbnQ6IGZ1bmN0aW9uKGxvY2F0aW9uKSB7Ci0JICogCQkJ
Ly8gbG9jYXRpb24gaGFzIGJlZW4gbW91bnRlZAotCSAqIAkJfSwKLQkgKiAJCXVubW91bnRFdmVu
dDogZnVuY3Rpb24obG9jYXRpb24pIHsKLQkgKiAJCQkvLyBsb2NhdGlvbiBoYXMgYmVlbiB1bm1v
dW50ZWQKLQkgKiAJCX0KLQkgKiAJfTsKLQkgKiBcZW5kY29kZQotCSAqLwotCWludGVyZmFjZSBG
aWxlU3lzdGVtTGlzdGVuZXIgewotCi0JCS8qKgotCQkgKiBcYnJpZWYgQ2FsbGVkIHdoZW4gYSBu
ZXcgcm9vdCBsb2NhdGlvbiBnZXRzIGF2YWlsYWJsZS4KLQkJICoKLQkJICogQSBuZXcgbG9jYXRp
b24gY291bGQgYmUgYSBzdG9yYWdlIGNhcmQgZm9yIGV4YW1wbGUuCi0JCSAqCi0JCSAqIFxwYXJh
bSBsb2NhdGlvbiB0aGUgbmV3bHkgYXZhaWxhYmxlIGxvY2F0aW9uCi0JCSAqLwotCQl2b2lkIG1v
dW50RXZlbnQoaW4gRE9NU3RyaW5nIGxvY2F0aW9uKTsKLQotCQkvKioKLQkJICogXGJyaWVmIENh
bGxlZCB3aGVuIGEgbG9jYXRpb24gZ2V0cyB1bmF2YWlsYWJsZS4KLQkJICoKLQkJICogU3VjaCBh
IGxvY2F0aW9uIGNvdWxkIGJlIGEgc3RvcmFnZSBjYXJkIGZvciBleGFtcGxlLgotCQkgKgotCQkg
KiBccGFyYW0gbG9jYXRpb24gdGhlIGxvY2F0aW9uIHdoaWNoIGlzIGJlY29taW5nIHVuYXZhaWxh
YmxlCi0JCSAqLwotCQl2b2lkIHVubW91bnRFdmVudChpbiBET01TdHJpbmcgbG9jYXRpb24pOwot
CX07Ci0KLQkvKioKLQkgKiBcYnJpZWYgRmlsZSBjbGFzcy4KLQkgKgotCSAqIFRoaXMgaW50ZXJm
YWNlIHJlcHJlc2VudHMgdGhlIGZpbGUgYWJzdHJhY3Rpb24gaW4gdXNlLiBBIGZpbGUgaGFuZGxl
Ci0JICogY2FuIGFkZHJlc3MgZmlsZXMgb3IgZGlyZWN0b3JpZXMuICBBIGZpbGUgaGFuZGxlIHJl
cHJlc2VudHMgYSBmaWxlCi0JICogaWYgdGhlIGlzRmlsZSBwcm9wZXJ0eSBpcyA8ZW0+dHJ1ZTwv
ZW0+LCBvdGhlcndpc2UgaXQgcmVwcmVzZW50cyBhCi0JICogZGlyZWN0b3J5LgotCSAqCi0JICog
QSBmaWxlIGhhbmRsZSByZXByZXNlbnRpbmcgYSBmaWxlIGNhbiBiZSBvcGVuZWQgZm9yIEkvTyBv
cGVyYXRpb25zCi0JICogc3VjaCBhcyByZWFkaW5nIGFuZCB3cml0aW5nLgotCSAqCi0JICogQSBm
aWxlIGhhbmRsZSByZXByZXNlbnRpbmcgYSBkaXJlY3RvcnkgY2FuIGxpc3QgYWxsIGZpbGVzIGlu
IHRoZQotCSAqIGN1cnJlbnQgZGlyZWN0b3J5LgotCSAqCi0JICogXGNvZGUKLQkgKgotCSAqCS8v
IGxpc3QgZGlyZWN0b3J5IGNvbnRlbnRzCi0JICogCXZhciBmaWxlcyA9IGRpci5saXN0RmlsZXMo
KTsKLQkgKiAJZm9yKHZhciBpID0gMDsgaSAmbHQ7IGZpbGVzLmxlbmd0aDsgaSsrKSB7Ci0JICog
CQkvLyBhbGVydHMgZWFjaCBuYW1lIG9mIGRpcidzIGNvbnRlbnRzCi0JICogCQlhbGVydChmaWxl
c1tpXS5uYW1lKTsKLQkgKiAJfQotCSAqIAotCSAqIAkvLyBvcGVucyBhIGZpbGUgZm9yIHdyaXRp
bmcKLQkgKiAJdmFyIGZpbGUgPSBkaXIuY3JlYXRlRmlsZSgidGVzdC50eHQiKTsKLQkgKiAJdmFy
IG91dCAgPSBmaWxlLm9wZW4oInciLCAiVVRGLTgiKTsKLQkgKiAJLy8gd3JpdGVzIEhlbGxvIFdv
cmxkIHRvIHRlc3QudHh0Ci0JICogCW91dC53cml0ZSgiSGVsbG8gV29ybGQiKTsKLQkgKiAJb3V0
LmNsb3NlKCk7Ci0JICogXGVuZGNvZGUKLQkgKi8KLQlpbnRlcmZhY2UgRmlsZSB7Ci0KLQkJLyoq
Ci0JCSAqIFxicmllZiBQYXJlbnQgZGlyZWN0b3J5IGhhbmRsZS4KLQkJICoKLQkJICogUmVhZC1v
bmx5LgotCQkgKgotCQkgKiA8ZW0+bnVsbDwvZW0+IGlmIHRoZXJlIGlzIG5vIHBhcmVudCBkaXJl
Y3RvcnkuCi0JCSAqCi0JCSAqIElmIHRoZXJlIGlzIG5vIHBhcmVudCBkaXJlY3RvcnksIHRoaXMg
cmVwcmVzZW50cyBhIHJvb3QgbG9jYXRpb24uCi0JCSAqCi0JCSAqIFxjb2RlCi0JCSAqIAl2YXIg
cGFyZW50ID0gZmlsZS5wYXJlbnQ7Ci0JCSAqIAlpZihwYXJlbnQgIT0gbnVsbCkgewotCQkgKiAJ
CS8vIHBhcmVudCBkaXJlY3RvcnkgaGFuZGxlCi0JCSAqIAl9Ci0JCSAqIFxlbmRjb2RlCi0JCSAq
LwotCQlyZWFkb25seSBhdHRyaWJ1dGUgRmlsZSBwYXJlbnQ7Ci0KLQkJLyoqCi0JCSAqIFxicmll
ZiBGaWxlL2RpcmVjdG9yeSBhY2Nlc3Mgc3RhdGUgaW4gdGhlIGZpbGVzeXN0ZW0uCi0JCSAqCi0J
CSAqIFJlYWQtb25seS4KLQkJICoKLQkJICogPGVtPmZhbHNlPC9lbT4gaWYgdGhlcmUgaXMgd3Jp
dGUgYWNjZXNzLgotCQkgKgotCQkgKiBUaGlzIGF0dHJpYnV0ZSByZXByZXNlbnRzIHRoZSBhY3R1
YWwgc3RhdGUgb2YgYQotCQkgKiBmaWxlL2RpcmVjdG9yeSBpbiB0aGUgZmlsZXN5c3RlbS4gSXQg
ZG9lcyBub3QgY2hlY2sgaWYgdGhlCi0JCSAqIGFjY2Vzc29yIGhhcyBpby5maWxlLndyaXRlIHBl
cm1pc3Npb24uCi0JCSAqCi0JCSAqIFxjb2RlCi0JCSAqIAlpZihmaWxlLnJlYWRPbmx5KSB7Ci0J
CSAqIAkJLy8gZmlsZSBjYW5ub3QgYmUgd3JpdHRlbgotCQkgKiAJfQotCQkgKiBcZW5kY29kZQot
CQkgKi8KLQkJcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gcmVhZE9ubHk7Ci0KLQkJLyoqCi0J
CSAqIFxicmllZiBGaWxlIHR5cGUuCi0JCSAqCi0JCSAqIFJlYWQtb25seS4KLQkJICoKLQkJICog
PGVtPnRydWU8L2VtPiBpZiB0aGlzIGhhbmRsZSBpcyBhIGZpbGUuCi0JCSAqIDxlbT5mYWxzZTwv
ZW0+IGlmIHRoaXMgaGFuZGxlIGlzIGEgZGlyZWN0b3J5LgotCQkgKgotCQkgKiBcY29kZQotCQkg
KiAJaWYoZmlsZS5pc0ZpbGUpIHsKLQkJICogCQkvLyBpcyBhIGZpbGUKLQkJICogCX0KLQkJICog
XGVuZGNvZGUKLQkJICovCi0JCXJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIGlzRmlsZTsKLQot
CQkvKioKLQkJICogXGJyaWVmIEZpbGUgdHlwZS4KLQkJICoKLQkJICogUmVhZC1vbmx5LgotCQkg
KgotCQkgKiA8ZW0+dHJ1ZTwvZW0+IGlmIHRoaXMgaGFuZGxlIGlzIGEgZGlyZWN0b3J5LgotCQkg
KiA8ZW0+ZmFsc2U8L2VtPiBpZiB0aGlzIGhhbmRsZSBpcyBhIGZpbGUuCi0JCSAqCi0JCSAqIFxj
b2RlCi0JCSAqIAlpZihmaWxlLmlzRGlyZWN0b3J5KSB7Ci0JCSAqIAkJLy8gaXMgYSBkaXJlY3Rv
cnkKLQkJICogCX0KLQkJICogXGVuZGNvZGUKLQkJICovCi0JCXJlYWRvbmx5IGF0dHJpYnV0ZSBi
b29sZWFuIGlzRGlyZWN0b3J5OwotCi0JCS8qKgotCQkgKiBcYnJpZWYgQ3JlYXRpb24gdGltZXN0
YW1wLgotCQkgKgotCQkgKiBSZWFkLW9ubHkuCi0JCSAqCi0JCSAqIFRoZSBjcmVhdGlvbiB0aW1l
c3RhbXAgb2YgdGhpcyBmaWxlLiBUaGlzIGlzIHRoZSB0aW1lc3RhbXAKLQkJICogd2hlbiB0aGUg
ZmlsZSB3YXMgZmlyc3QgY3JlYXRlZCBpbiB0aGUgZmlsZXN5c3RlbS4gVGhpcyBpcwotCQkgKiBl
cXVpdmFsZW50IHRvIHRoZSB0aW1lc3RhbXAgd2hlbiBhIGNhbGwgdG8gY3JlYXRlRmlsZSgpCi0J
CSAqIHN1Y2NlZWRzLgotCQkgKgotCQkgKiBJdCBpcyB1bnNwZWNpZmllZCBhbmQgcGxhdGZvcm0t
ZGVwZW5kZW50IGlmIHRoZSBjcmVhdGlvbgotCQkgKiB0aW1lc3RhbXAgY2hhbmdlcyB3aGVuIGEg
ZmlsZSBpcyBtb3ZlZC4KLQkJICoKLQkJICogXGNvZGUKLQkJICogCWFsZXJ0KGZpbGUuY3JlYXRl
ZCk7IC8vIGRpc3BsYXlzIHRoZSBjcmVhdGlvbiB0aW1lc3RhbXAKLQkJICogXGVuZGNvZGUKLQkJ
ICoKLQkJICovCi0JCXJlYWRvbmx5IGF0dHJpYnV0ZSBEYXRlIGNyZWF0ZWQ7Ci0KLQkJLyoqCi0J
CSAqIFxicmllZiBNb2RpZmljYXRpb24gdGltZXN0YW1wLgotCQkgKgotCQkgKiBSZWFkLW9ubHku
Ci0JCSAqCi0JCSAqIFRoZSBtb2RpZmljYXRpb24gdGltZXN0YW1wIG9mIHRoaXMgZmlsZS4gVGhp
cyBpcyB0aGUgdGltZXN0YW1wCi0JCSAqIG9mIHRoZSBtb3N0IHJlY2VudCBtb2RpZmljYXRpb24g
dG8gdGhlIGZpbGUsIHVzdWFsbHkgd2hlbiB0aGUgbGFzdAotCQkgKiB3cml0ZSBvcGVyYXRpb24g
c3VjY2VlZGVkLiBPcGVuaW5nIGEgZmlsZSBmb3IgcmVhZGluZyBkb2VzIG5vdCBjaGFuZ2UKLQkJ
ICogdGhlIG1vZGlmaWNhdGlvbiB0aW1lc3RhbXAuCi0JCSAqCi0JCSAqIFxjb2RlCi0JCSAqIAlh
bGVydChmaWxlLm1vZGlmaWVkKTsgLy8gZGlzcGxheXMgdGhlIG1vZGlmaWNhdGlvbiB0aW1lc3Rh
bXAKLQkJICogXGVuZGNvZGUKLQkJICoKLQkJICovCi0JCXJlYWRvbmx5IGF0dHJpYnV0ZSBEYXRl
IG1vZGlmaWVkOwotCi0JCS8qKgotCQkgKiBcYnJpZWYgUGF0aCBvZiB0aGlzIGZpbGUsIGV4Y2x1
ZGluZyB0aGUgZmlsZSBuYW1lLgotCQkgKgotCQkgKiBSZWFkLW9ubHkuCi0JCSAqCi0JCSAqIElm
IHRoZSBmaWxlIHBhdGggaXMgPGVtPi9iYXovZm9vLmJhcjwvZW0+LCB0aGVuCi0JCSAqIHRoZSBw
YXRoIGlzIDxlbT4vYmF6LzwvZW0+LiAgCi0JCSAqCi0JCSAqIFRoZSBlbmNvZGluZyBvZiBmaWxl
IHBhdGhzIGlzIDxhIGhyZWY9Imh0dHA6Ly93d3cuaWV0Zi5vcmcvcmZjL3JmYzIyNzkudHh0Ij5V
VEYtODwvYT4uCi0JCSAqCi0JCSAqIFxjb2RlCi0JCSAqIAlhbGVydChmaWxlLnBhdGgpOyAvLyBz
aG91bGQgYmUgL2Jhei8gaWYgdGhlIGZpbGUgaXMgL2Jhei9mb28uYmFyCi0JCSAqIFxlbmRjb2Rl
Ci0JCSAqLwotCQlyZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHBhdGg7Ci0KLQkJLyoqCi0J
CSAqIFxicmllZiBGaWxlIG5hbWUsIGV4Y2x1ZGluZyBhbnkgcGF0aCBjb21wb25lbnRzLgotCQkg
KgotCQkgKiBSZWFkLW9ubHkuCi0JCSAqCi0JCSAqIEFzc3VtZWQgdGhlIGZpbGUgcGF0aCBpcyA8
ZW0+L2Jhei9mb28uYmFyPC9lbT4sIHRoZW4KLQkJICogdGhlIGZpbGUgbmFtZSBpcyA8ZW0+Zm9v
LmJhcjwvZW0+LgotCQkgKgotCQkgKiBUaGUgZW5jb2Rpbmcgb2YgZmlsZSBuYW1lcyBpcyA8YSBo
cmVmPSJodHRwOi8vd3d3LmlldGYub3JnL3JmYy9yZmMyMjc5LnR4dCI+VVRGLTg8L2E+LgotCQkg
KgotCQkgKiBcY29kZQotCQkgKiAJYWxlcnQoZmlsZS5uYW1lKTsgLy8gc2hvdWxkIGJlIGZvby5i
YXIgaWYgdGhlIGZpbGUgcGF0aCBpcyAvYmF6L2Zvby5iYXIKLQkJICogXGVuZGNvZGUKLQkJICov
Ci0JCXJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgbmFtZTsKLQotCQkvKioKLQkJICogXGJy
aWVmIEFic29sdXRlIHBhdGggb2YgdGhpcyBmaWxlLgotCQkgKgotCQkgKiBSZWFkLW9ubHkuCi0J
CSAqCi0JCSAqIEFzc3VtZWQgdGhlIGZpbGUgcGF0aCBpcyA8ZW0+L2Jhei9mb28uYmFyPC9lbT4s
IHRoZW4gdGhpcyBpcyB0aGUgYWJzb2x1dGUgcGF0aC4KLQkJICoKLQkJICogVGhlIGVuY29kaW5n
IG9mIGZpbGUgcGF0aHMgaXMgPGEgaHJlZj0iaHR0cDovL3d3dy5pZXRmLm9yZy9yZmMvcmZjMjI3
OS50eHQiPlVURi04PC9hPi4KLQkJICoKLQkJICogXGNvZGUKLQkJICogCWFsZXJ0KGZpbGUuYWJz
b2x1dGVQYXRoKTsgLy8gc2hvdWxkIGJlIC9iYXovZm9vLmJhciBpZiB0aGUgZmlsZSBpcyAvYmF6
L2Zvby5iYXIKLQkJICogXGVuZGNvZGUKLQkJICovCi0JCXJlYWRvbmx5IGF0dHJpYnV0ZSBET01T
dHJpbmcgYWJzb2x1dGVQYXRoOwotCi0JCS8qKgotCQkgKiBcYnJpZWYgU2l6ZSBpbiBieXRlcyBv
ZiB0aGlzIGZpbGUuCi0JCSAqCi0JCSAqIFJlYWQtb25seS4KLQkJICoKLQkJICogSWYgaXQgaXMg
YXR0ZW1wdGVkIHRvIHJlYWQgdGhpcyBhdHRyaWJ1dGUgb24gYSBkaXJlY3RvcnksCi0JCSAqIDxl
bT51bmRlZmluZWQ8L2VtPiBpcyByZXR1cm5lZC4KLQkJICoKLQkJICogXGNvZGUKLQkJICogCWFs
ZXJ0KGZpbGUuZmlsZVNpemUpOyAvLyBkaXNwbGF5cyB0aGUgZmlsZSBzaXplCi0JCSAqIFxlbmRj
b2RlCi0JCSAqLwotCQlyZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBmaWxlU2l6ZTsK
LQotCQkvKioKLQkJICogXGJyaWVmIEZpbGVzIG1ldGFkYXRhLgotCQkgKgotCQkgKiBUaGUgYWN0
dWFsIG1hcCBjb250ZW50cyBhcmUgaW1wbGVtZW50YXRpb24gZGVwZW5kZW50LgotCQkgKgotCQkg
KiBcY29kZQotCQkgKiAJLy8gc2hvdWxkIGRpc3BsYXkgdGhlIGZpbGUgYXV0aG9yLCBpZiBzdXBw
b3J0ZWQgYnkgdGhlCi0JCSAqIAkvLyBwbGF0Zm9ybSwgdW5kZWZpbmVkIG90aGVyd2lzZQotCQkg
KiAJYWxlcnQoZmlsZS5tZXRhZGF0YS5hdXRob3IpOwotCQkgKiBcZW5kY29kZQotCQkgKi8KLQkJ
cmVhZG9ubHkgYXR0cmlidXRlIE1hcCBtZXRhZGF0YTsKLQotCQkvKioKLQkJICogXGJyaWVmIFJl
dHVybnMgbGlzdCBvZiBhbGwgZmlsZXMgb2YgdGhpcyBkaXJlY3RvcnkuCi0JCSAqCi0JCSAqIFRo
ZSBsaXN0IG9mIGZpbGVzIGNvbnRhaW5zIGRpcmVjdG9yaWVzIGFuZCBmaWxlcywgaXQgZG9lcwot
CQkgKiBub3QgY29udGFpbiB0aGUgZGlyZWN0b3JpZXMgIi4iIGFuZCAiLi4iLgotCQkgKgotCQkg
KiBcYXBpLWZlYXR1cmUgaHR0cDovL2JvbmRpLm9tdHAub3JnL2FwaS9maWxlc3lzdGVtLnJlYWQK
LQkJICoKLQkJICogXGNvZGUKLQkJICogCXZhciBmaWxlcyA9IGRpci5saXN0RmlsZXMoKTsKLQkJ
ICogCWZvcih2YXIgaSA9IDA7IGkgJmx0OyBmaWxlcy5sZW5ndGg7IGkrKykgewotCQkgKiAJCS8v
IGZpbGVzW2ldIGl0ZXJhdGUgb3ZlciBhbGwgZmlsZXMgb2YgdGhpcyBkaXJlY3RvcnkKLQkJICog
CX0KLQkJICogXGVuZGNvZGUKLQkJICoKLQkJICogXHJldHVybiBhcnJheSBvZiBjb250ZW50cyBv
ZiB0aGlzIGRpcmVjdG9yeS4KLQkJICogXHRocm93IFNlY3VyaXR5RXJyb3IgUEVSTUlTU0lPTl9E
RU5JRURfRVJST1Igd2hlbgotCQkgKiAgICAgICAgYWNjZXNzIGlzIGRlbmllZCBieSB0aGUgc2Vj
dXJpdHkgcG9saWN5LgotCQkgKiBcdGhyb3cgRGV2aWNlQVBJRXJyb3IgSU9fRVJST1IgaWYgdGhp
cyBpcyBub3QgYSBkaXJlY3RvcnkuCi0JCSAqLwotCQlGaWxlQXJyYXkgbGlzdEZpbGVzKCkKLQkJ
CXJhaXNlcyhTZWN1cml0eUVycm9yLCBEZXZpY2VBUElFcnJvcik7Ci0KLQkJLyoqCi0JCSAqIFxi
cmllZiBPcGVucyB0aGUgZmlsZSBpbiB0aGUgZ2l2ZW4gbW9kZSBzdXBwb3J0aW5nIHRoZSBnaXZl
bgotCQkgKiBlbmNvZGluZy4KLQkJICoKLQkJICogXGFwaS1mZWF0dXJlIGh0dHA6Ly9ib25kaS5v
bXRwLm9yZy9hcGkvZmlsZXN5c3RlbS5yZWFkCi0JCSAqIFxhcGktZmVhdHVyZSBodHRwOi8vYm9u
ZGkub210cC5vcmcvYXBpL2ZpbGVzeXN0ZW0ud3JpdGUKLQkJICoKLQkJICogXGNvZGUKLQkJICog
CS8vIG9wZW5zIGZpbGUgZm9yIHJlYWRpbmcKLQkJICogCXZhciBpbiA9IGZpbGUub3BlbigiciIs
ICJVVEYtOCIpOwotCQkgKiBcZW5kY29kZQotCQkgKgotCQkgKiBccGFyYW0gbW9kZSB0aGUgbW9k
ZSBmb3Igb3BlbmluZyBhIGZpbGUKLQkJICogXG4gInIiIGZvciByZWFkaW5nCi0JCSAqIFxuICJh
IiBmb3IgYXBwZW5kaW5nCi0JCSAqIFxuICJ3IiBmb3IgW292ZXJdd3JpdGluZwotCQkgKiBccGFy
YW0gZW5jb2RpbmcgdGhlIGVuY29kaW5nIGZvciByZWFkL3dyaXRlIG9wZXJhdGlvbnMgb24gdGhl
IGZpbGUsCi0JCSAqICAgICAgICAgICAgICAgICAgIHN1cHBvcnRlZCBlbmNvZGluZ3MgYXJlOgot
CQkgKiBcbiAiPGEgaHJlZj0iaHR0cDovL3d3dy5pZXRmLm9yZy9yZmMvcmZjMjI3OS50eHQiPlVU
Ri04PC9hPiIgZGVmYXVsdCBlbmNvZGluZwotCQkgKiBcbiAiPGEgaHJlZj0iaHR0cDovL2VuLndp
a2lwZWRpYS5vcmcvd2lraS9JU08vSUVDXzg4NTktMSI+SVNPODg1OS0xPC9hPiIgbGF0aW4xIGVu
Y29kaW5nCi0JCSAqIFxyZXR1cm4gZmlsZSBzdHJlYW0gaGFuZGxlIHRvIHJlYWQvd3JpdGUgZnJv
bS90by4KLQkJICogXHRocm93IFNlY3VyaXR5RXJyb3IgUEVSTUlTU0lPTl9ERU5JRURfRVJST1Ig
d2hlbgotCQkgKiAgICAgICAgYWNjZXNzIGlzIGRlbmllZCBieSB0aGUgc2VjdXJpdHkgcG9saWN5
LgotCQkgKiBcdGhyb3cgRGV2aWNlQVBJRXJyb3IgSU5WQUxJRF9BUkdVTUVOVF9FUlJPUiBpZiBp
bnZhbGlkIG1vZGUKLQkJICogICAgICAgIG9yIHVuc3VwcG9ydGVkIGVuY29kaW5nIGlzIHN1cHBs
aWVkLgotCQkgKiBcdGhyb3cgRGV2aWNlQVBJRXJyb3IgSU9fRVJST1IgaWYgdGhpcyBpcyBub3Qg
YSBmaWxlLgotCQkgKi8KLQkJRmlsZVN0cmVhbSBvcGVuKGluIERPTVN0cmluZyBtb2RlLCBpbiBE
T01TdHJpbmcgZW5jb2RpbmcpCi0JCQlyYWlzZXMoU2VjdXJpdHlFcnJvciwgRGV2aWNlQVBJRXJy
b3IpOwotCi0JCS8qKgotCQkgKiBcYnJpZWYgQ29waWVzIHRoaXMgZmlsZS4KLQkJICoKLQkJICog
VGhlIGNvcHkgd2lsbCBiZSBjcmVhdGVkIGluIHRoZSBnaXZlbiBwYXRoLiBJZiB0aGlzIGZ1bmN0
aW9uCi0JCSAqIGZhaWxzIGFuZCB0aGUgZXJyb3IgY2FsbGJhY2sgaXMgY2FsbGVkLCBpdCB3aWxs
IHBhc3MgYW4KLQkJICogRGV2aWNlQVBJRXJyb3IgSU9fRVJST1IgdG8gdGhlIGNhbGxiYWNrLgot
CQkgKgotCQkgKiBUaGUgZW5jb2Rpbmcgb2YgZmlsZSBwYXRocyBpcyA8YSBocmVmPSJodHRwOi8v
d3d3LmlldGYub3JnL3JmYy9yZmMyMjc5LnR4dCI+VVRGLTg8L2E+LgotCQkgKgotCQkgKiBcYXBp
LWZlYXR1cmUgaHR0cDovL2JvbmRpLm9tdHAub3JnL2FwaS9maWxlc3lzdGVtLndyaXRlCi0JCSAq
Ci0JCSAqIFxjb2RlCi0JCSAqIAkvLyBjb3BpZXMgdGhpcyBmaWxlIHRvIC90ZW1wL2ZpbGUuY29w
eQotCQkgKiAJdmFyIG9wID0gZmlsZS5jb3B5VG8oZnVuY3Rpb24oY29waWVkRmlsZSkgeyBhbGVy
dCgiZmlsZSBjb3BpZWQiKTsgfSwgbnVsbCwgIi90ZW1wL2ZpbGUuY29weSIsIGZhbHNlKTsKLQkJ
ICogXGVuZGNvZGUKLQkJICoKLQkJICogXHBhcmFtIHN1Y2Nlc3NDYWxsYmFjayBjYWxsZWQgd2hl
biB0aGUgZmlsZSBoYXMgYmVlbiBjb3BpZWQuCi0JCSAqIFxwYXJhbSBlcnJvckNhbGxiYWNrIGNh
bGxlZCBpZiBhbiBlcnJvciBvY2N1cmVkLgotCQkgKiBccGFyYW0gZmlsZVBhdGggdGhlIG5ldyBm
aWxlIHBhdGgsIFthLVowLTlfLSAvXSsgYXJlIGFsbG93ZWQgCi0JCSAqIFxwYXJhbSBvdmVyd3Jp
dGUgPGVtPnRydWU8L2VtPiBlbmZvcmNlcyBvdmVyd3JpdGluZyBhbiBleGlzdGluZyBmaWxlLgot
CQkgKiBccmV0dXJuIFBlbmRpbmdPcGVyYXRpb24gZW5hYmxpbmcgdGhlIHJlcXVlc3RlciB0byBj
YW5jZWwgdGhpcyByZXF1ZXN0LgotCQkgKiBcdGhyb3cgU2VjdXJpdHlFcnJvciBQRVJNSVNTSU9O
X0RFTklFRF9FUlJPUiB3aGVuCi0JCSAqICAgICAgICBhY2Nlc3MgaXMgZGVuaWVkIGJ5IHRoZSBz
ZWN1cml0eSBwb2xpY3kuCi0JCSAqIFx0aHJvdyBEZXZpY2VBUElFcnJvciBJT19FUlJPUiBpZiBp
dCBpcyBhdHRlbXB0ZWQgdG8gbW92ZSB0byBhIGRpcmVjdG9yeS4KLQkJICogXHRocm93IERldmlj
ZUFQSUVycm9yIElPX0VSUk9SIGlmIG92ZXJ3cml0ZSBpcyA8ZW0+ZmFsc2U8L2VtPiBhbmQgdGFy
Z2V0IGZpbGUgZXhpc3RzLgotCQkgKiBcdGhyb3cgRGV2aWNlQVBJRXJyb3IgSU9fRVJST1IgaWYg
YW55IGNoYXJhY3RlcnMgaW4gdGhlIHBhdGggYXJlIG5vdCBzdXBwb3J0ZWQuCi0JCSAqIFx0aHJv
dyBEZXZpY2VBUElFcnJvciBJT19FUlJPUiBpZiB0aGUgZmlsZSBjYW5ub3QgYmUgY29waWVkLgot
CQkgKi8KLQkJUGVuZGluZ09wZXJhdGlvbiBjb3B5VG8oaW4gRmlsZVN5c3RlbVN1Y2Nlc3NDYWxs
YmFjayBzdWNjZXNzQ2FsbGJhY2ssCi0JCSAgICAgICAgICAgICAgICAgICAgICAgIGluIEVycm9y
Q2FsbGJhY2sgZXJyb3JDYWxsYmFjaywKLQkJICAgICAgICAgICAgICAgICAgICAgICAgaW4gRE9N
U3RyaW5nIGZpbGVQYXRoLAotCQkgICAgICAgICAgICAgICAgICAgICAgICBpbiBib29sZWFuIG92
ZXJ3cml0ZSkKLQkJCXJhaXNlcyhTZWN1cml0eUVycm9yLCBEZXZpY2VBUElFcnJvcik7Ci0KLQkJ
LyoqCi0JCSAqIFxicmllZiBNb3ZlcyB0aGlzIGZpbGUuCi0JCSAqCi0JCSAqIFRoZSBmaWxlIHdp
bGwgYmUgbW92ZWQgYXRvbWljYWxseSB0byB0aGUgZ2l2ZW4gcGF0aC4gVGhpcyBpcwotCQkgKiBk
aWZmZXJlbnQgdG8gY29weVRvIGFuZCBkZWxldGluZyB0aGUgb2xkIGZpbGUsIGJlY2F1c2UgdGhp
cwotCQkgKiBvcGVyYXRpb24gZG9lcyBub3QgbmVlZCBleHRyYSBkaXNrIHNwYWNlIG9uIGNlcnRh
aW4gcGxhdGZvcm1zLgotCQkgKiBJZiB0aGlzIGZ1bmN0aW9uIGZhaWxzIGFuZCB0aGUgZXJyb3Ig
Y2FsbGJhY2sgaXMgY2FsbGVkLCBpdAotCQkgKiB3aWxsIHBhc3MgYW4gRGV2aWNlQVBJRXJyb3Ig
SU9fRVJST1IgdG8gdGhlIGNhbGxiYWNrLgotCQkgKgotCQkgKiBUaGUgZW5jb2Rpbmcgb2YgZmls
ZSBwYXRocyBpcyA8YSBocmVmPSJodHRwOi8vd3d3LmlldGYub3JnL3JmYy9yZmMyMjc5LnR4dCI+
VVRGLTg8L2E+LgotCQkgKgotCQkgKiBcYXBpLWZlYXR1cmUgaHR0cDovL2JvbmRpLm9tdHAub3Jn
L2FwaS9maWxlc3lzdGVtLndyaXRlCi0JCSAqCi0JCSAqIFxjb2RlCi0JCSAqIAkvLyBtb3ZlcyB0
aGlzIGZpbGUgdG8gL3RlbXAvZmlsZS5tb3ZlCi0JCSAqIAl2YXIgb3AgPSBmaWxlLm1vdmVUbyhm
dW5jdGlvbihtb3ZlZEZpbGUpIHsgZmlsZSA9IG1vdmVkRmlsZTsgfSwgbnVsbCwgIi90ZW1wL2Zp
bGUubW92ZSIpOwotCQkgKiBcZW5kY29kZQotCQkgKgotCQkgKiBccGFyYW0gc3VjY2Vzc0NhbGxi
YWNrIGNhbGxlZCB3aGVuIHRoZSBmaWxlIGhhcyBiZWVuIGNvcGllZC4KLQkJICogXHBhcmFtIGVy
cm9yQ2FsbGJhY2sgY2FsbGVkIGlmIGFuIGVycm9yIG9jY3VyZWQuCi0JCSAqIFxwYXJhbSBmaWxl
UGF0aCB0aGUgbmV3IGZpbGUgbmFtZSwgW2EtWjAtOV8tIC9dKyBhcmUgYWxsb3dlZAotCQkgKiBc
cGFyYW0gb3ZlcndyaXRlIDxlbT50cnVlPC9lbT4gZW5mb3JjZXMgb3ZlcndyaXRpbmcgYW4gZXhp
c3RpbmcgZmlsZS4KLQkJICogXHJldHVybiBQZW5kaW5nT3BlcmF0aW9uIGVuYWJsaW5nIHRoZSBy
ZXF1ZXN0ZXIgdG8gY2FuY2VsIHRoaXMgcmVxdWVzdC4KLQkJICogXHRocm93IFNlY3VyaXR5RXJy
b3IgUEVSTUlTU0lPTl9ERU5JRURfRVJST1Igd2hlbgotCQkgKiAgICAgICAgYWNjZXNzIGlzIGRl
bmllZCBieSB0aGUgc2VjdXJpdHkgcG9saWN5LgotCQkgKiBcdGhyb3cgRGV2aWNlQVBJRXJyb3Ig
SU9fRVJST1IgaWYgaXQgaXMgYXR0ZW1wdGVkIHRvIG1vdmUgdG8gYSBkaXJlY3RvcnkuCi0JCSAq
IFx0aHJvdyBEZXZpY2VBUElFcnJvciBJT19FUlJPUiBpZiBvdmVyd3JpdGUgaXMgPGVtPmZhbHNl
PC9lbT4gYW5kIHRhcmdldCBmaWxlIGV4aXN0cy4KLQkJICogXHRocm93IERldmljZUFQSUVycm9y
IElPX0VSUk9SIGlmIGFueSBjaGFyYWN0ZXJzIGluIHRoZSBwYXRoIGFyZSBub3Qgc3VwcG9ydGVk
LgotCQkgKiBcdGhyb3cgRGV2aWNlQVBJRXJyb3IgSU9fRVJST1IgaWYgdGhlIGZpbGUgY2Fubm90
IGJlIG1vdmVkLgotCQkgKi8KLQkJUGVuZGluZ09wZXJhdGlvbiBtb3ZlVG8oaW4gRmlsZVN5c3Rl
bVN1Y2Nlc3NDYWxsYmFjayBzdWNjZXNzQ2FsbGJhY2ssCi0JCSAgICAgICAgICAgICAgICAgICAg
ICAgIGluIEVycm9yQ2FsbGJhY2sgZXJyb3JDYWxsYmFjaywKLQkJICAgICAgICAgICAgICAgICAg
ICAgICAgaW4gRE9NU3RyaW5nIGZpbGVQYXRoLAotCQkgICAgICAgICAgICAgICAgICAgICAgICBp
biBib29sZWFuIG92ZXJ3cml0ZSkKLQkJCXJhaXNlcyhTZWN1cml0eUVycm9yLCBEZXZpY2VBUElF
cnJvcik7Ci0KLQkJLyoqCi0JCSAqIFxicmllZiBDcmVhdGVzIGEgZGlyZWN0b3J5LgotCQkgKgot
CQkgKiBUaGUgbmV3IGRpcmVjdG9yeSB3aWxsIGJlIGNyZWF0ZWQgcmVsYXRpdmVseSB0byB0aGUg
Y3VycmVudAotCQkgKiBkaXJlY3RvcnkgdGhpcyBvcGVyYXRpb24gaXMgcGVyZm9ybWVkIG9uLiBJ
dCB3aWxsIGF0dGVtcHQgdG8KLQkJICogY3JlYXRlIGFsbCBuZWNlc3Nhcnkgc3ViLWRpcmVjdG9y
aWVzIGFzIHdlbGwuIFRoZSB1c2Ugb2YgIi4iCi0JCSAqIG9yICIuLiIgaW4gcGF0aCBjb21wb25l
bnRzIGlzIG5vdCBzdXBwb3J0ZWQuIElmIHRoZQotCQkgKiBib3R0b20tbW9zdCBkaXJlY3Rvcnkg
YmVpbmcgY3JlYXRlZCBhbHJlYWR5IGV4aXN0cyB0aGlzCi0JCSAqIG1ldGhvZCB3aWxsIHRocm93
IGFuIElPX0VSUk9SLgotCQkgKgotCQkgKiBUaGUgZW5jb2Rpbmcgb2YgZmlsZSBwYXRocyBpcyA8
YSBocmVmPSJodHRwOi8vd3d3LmlldGYub3JnL3JmYy9yZmMyMjc5LnR4dCI+VVRGLTg8L2E+Lgot
CQkgKgotCQkgKiBcYXBpLWZlYXR1cmUgaHR0cDovL2JvbmRpLm9tdHAub3JnL2FwaS9maWxlc3lz
dGVtLndyaXRlCi0JCSAqCi0JCSAqIFxjb2RlCi0JCSAqIAl2YXIgbmV3RGlyID0gZGlyLmNyZWF0
ZURpcmVjdG9yeSgibmV3RGlyIik7Ci0JCSAqIAl2YXIgYW5vdGhlck5ld0RpciA9IGRpci5jcmVh
dGVEaXJlY3RvcnkoIm5ld0RpcjEvc3ViTmV3RGlyMSIpOwotCQkgKiBcZW5kY29kZQotCQkgKgot
CQkgKiBccGFyYW0gZGlyUGF0aCB0aGUgbmV3IGRpcmVjdG9yeSBwYXRoLCBpdCBzaG91bGQgb25s
eSBjb250YWluCi0JCSAqICAgICAgICBjaGFyYWN0ZXJzIHN1cHBvcnRlZCBieSB0aGUgdW5kZXJs
eWluZyBmaWxlc3lzdGVtLgotCQkgKiBccmV0dXJuIGZpbGUgaGFuZGxlIG9mIHRoZSBuZXcgZGly
ZWN0b3J5Ci0JCSAqIFx0aHJvdyBTZWN1cml0eUVycm9yIFBFUk1JU1NJT05fREVOSUVEX0VSUk9S
IHdoZW4KLQkJICogICAgICAgIGFjY2VzcyBpcyBkZW5pZWQgYnkgdGhlIHNlY3VyaXR5IHBvbGlj
eS4KLQkJICogXHRocm93IERldmljZUFQSUVycm9yIElPX0VSUk9SIGlmIHRoaXMgaXMgbm90IGEg
ZGlyZWN0b3J5LgotCQkgKiBcdGhyb3cgRGV2aWNlQVBJRXJyb3IgSU9fRVJST1IgaWYgYW55IHBh
dGggY29tcG9uZW50IGRvZXMgbm90IGV4aXN0LgotCQkgKiBcdGhyb3cgRGV2aWNlQVBJRXJyb3Ig
SU9fRVJST1IgaWYgYSBmaWxlIHdpdGggdGhlIHNhbWUgbmFtZSBleGlzdHMuCi0JCSAqIFx0aHJv
dyBEZXZpY2VBUElFcnJvciBJT19FUlJPUiBpZiBhbnkgY2hhcmFjdGVycyBpbiB0aGUgcGF0aCBh
cmUgbm90IHN1cHBvcnRlZC4KLQkJICogXHRocm93IERldmljZUFQSUVycm9yIElPX0VSUk9SIGlm
IHRoZSBkaXJlY3RvcnkgY2Fubm90IGJlIGNyZWF0ZWQuCi0JCSAqLwotCQlGaWxlIGNyZWF0ZURp
cmVjdG9yeShpbiBET01TdHJpbmcgZGlyUGF0aCkKLQkJCXJhaXNlcyhTZWN1cml0eUVycm9yLCBE
ZXZpY2VBUElFcnJvcik7Ci0KLQkJLyoqCi0JCSAqIFxicmllZiBDcmVhdGVzIGEgbmV3IGVtcHR5
IGZpbGUuCi0JCSAqCi0JCSAqIFRoZSBuZXcgZW1wdHkgZmlsZSBpcyBjcmVhdGVkIGluIHRoZSBn
aXZlbiBwYXRoIHJlbGF0aXZlbHkKLQkJICogdG8gdGhlIGN1cnJlbnQgZGlyZWN0b3J5IHRoZSBv
cGVyYXRpb24gaXMgcGVyZm9ybWVkIG9uLiAgVGhlCi0JCSAqIHVzZSBvZiAiLiIgb3IgIi4uIiBp
biBwYXRoIGNvbXBvbmVudHMgaXMgbm90IHN1cHBvcnRlZC4gIElmCi0JCSAqIHRoZSBib3R0b20t
bW9zdCBmaWxlIGJlaW5nIGNyZWF0ZWQgYWxyZWFkeSBleGlzdHMgdGhpcwotCQkgKiBtZXRob2Qg
d2lsbCB0aHJvdyBhbiBJT19FUlJPUi4gIElmIGFueSBwYXRoIGNvbXBvbmVudCBkb2VzCi0JCSAq
IG5vdCBleGlzdCB0aGlzIG1ldGhvZCB3aWxsIHRocm93IGFuIElPX0VSUk9SLgotCQkgKgotCQkg
KiBUaGUgZW5jb2Rpbmcgb2YgZmlsZSBwYXRocyBpcyA8YSBocmVmPSJodHRwOi8vd3d3LmlldGYu
b3JnL3JmYy9yZmMyMjc5LnR4dCI+VVRGLTg8L2E+LgotCQkgKgotCQkgKiBcYXBpLWZlYXR1cmUg
aHR0cDovL2JvbmRpLm9tdHAub3JnL2FwaS9maWxlc3lzdGVtLndyaXRlCi0JCSAqCi0JCSAqIFxj
b2RlCi0JCSAqIAl2YXIgbmV3RmlsZSA9IGRpci5jcmVhdGVGaWxlKCJuZXdGaWxlIik7Ci0JCSAq
IFxlbmRjb2RlCi0JCSAqCi0JCSAqIFxwYXJhbSBmaWxlUGF0aCB0aGUgbmV3IGZpbGUgcGF0aCwg
aXQgc2hvdWxkIG9ubHkgY29udGFpbgotCQkgKiAgICAgICAgY2hhcmFjdGVycyBzdXBwb3J0ZWQg
YnkgdGhlIHVuZGVybHlpbmcgZmlsZXN5c3RlbS4KLQkJICogXHJldHVybiBmaWxlIGhhbmRsZSBv
ZiB0aGUgbmV3IGVtcHR5IGZpbGUKLQkJICogXHRocm93IFNlY3VyaXR5RXJyb3IgUEVSTUlTU0lP
Tl9ERU5JRURfRVJST1Igd2hlbgotCQkgKiAgICAgICAgYWNjZXNzIGlzIGRlbmllZCBieSB0aGUg
c2VjdXJpdHkgcG9saWN5LgotCQkgKiBcdGhyb3cgRGV2aWNlQVBJRXJyb3IgSU9fRVJST1IgaWYg
dGhpcyBpcyBub3QgYSBkaXJlY3RvcnkuCi0JCSAqIFx0aHJvdyBEZXZpY2VBUElFcnJvciBJT19F
UlJPUiBpZiBhbnkgcGF0aCBjb21wb25lbnQgZG9lcyBub3QgZXhpc3QuCi0JCSAqIFx0aHJvdyBE
ZXZpY2VBUElFcnJvciBJT19FUlJPUiBpZiB0aGUgZmlsZSBhbHJlYWR5IGV4aXN0cy4KLQkJICog
XHRocm93IERldmljZUFQSUVycm9yIElPX0VSUk9SIGlmIGFueSBjaGFyYWN0ZXJzIGluIHRoZSBw
YXRoIGFyZSBub3Qgc3VwcG9ydGVkLgotCQkgKiBcdGhyb3cgRGV2aWNlQVBJRXJyb3IgSU9fRVJS
T1IgaWYgdGhlIGZpbGUgY2Fubm90IGJlIGNyZWF0ZWQuCi0JCSAqLwotCQlGaWxlIGNyZWF0ZUZp
bGUoaW4gRE9NU3RyaW5nIGZpbGVQYXRoKQotCQkJcmFpc2VzKFNlY3VyaXR5RXJyb3IsIERldmlj
ZUFQSUVycm9yKTsKLQotCQkvKioKLQkJICogXGJyaWVmIFJlc29sdmVzIGFuIGV4aXN0aW5nIGZp
bGUgb3IgZGlyZWN0b3J5IHJlbGF0aXZlbHkgdG8KLQkJICogdGhlIGN1cnJlbnQgZGlyZWN0b3J5
IHRoaXMgb3BlcmF0aW9uIGlzIHBlcmZvcm1lZCBvbjsgYW5kCi0JCSAqIHJldHVybnMgYSBmaWxl
IGhhbmRsZSBmb3IgaXQuCi0JCSAqIAotCQkgKiBUaGUgZmlsZVBhdGggaXMgbm90IGFsbG93ZWQg
dG8gY29udGFpbiB0aGUgIi4iIG9yICIuLiIgZGlyZWN0b3JpZXMuCi0JCSAqCi0JCSAqIFRoZSBl
bmNvZGluZyBvZiBmaWxlIHBhdGhzIGlzIDxhIGhyZWY9Imh0dHA6Ly93d3cuaWV0Zi5vcmcvcmZj
L3JmYzIyNzkudHh0Ij5VVEYtODwvYT4uCi0JCSAqCi0JCSAqIFxhcGktZmVhdHVyZSBodHRwOi8v
Ym9uZGkub210cC5vcmcvYXBpL2ZpbGVzeXN0ZW0ucmVhZAotCQkgKgotCQkgKiBcY29kZQotCQkg
KiAJdmFyIGhlbGxvZmlsZSA9IGRpci5yZXNvbHZlKCJmb28vaGVsbG8udHh0Iik7Ci0JCSAqIFxl
bmRjb2RlCi0JCSAqCi0JCSAqIFxwYXJhbSBmaWxlUGF0aCB0aGUgcmVsYXRpdmUgZmlsZS9kaXJl
Y3RvcnkgcGF0aCB0byByZXNvbHZlLgotCQkgKiBccmV0dXJuIGZpbGUgaGFuZGxlIG9mIHRoZSBm
aWxlIG9yIDxlbT5udWxsPC9lbT4gaWYgaXQgY2Fubm90IGJlIHJlc29sdmVkLgotCQkgKiBcdGhy
b3cgU2VjdXJpdHlFcnJvciBQRVJNSVNTSU9OX0RFTklFRF9FUlJPUiB3aGVuCi0JCSAqICAgICAg
ICBhY2Nlc3MgaXMgZGVuaWVkIGJ5IHRoZSBzZWN1cml0eSBwb2xpY3kuCi0JCSAqIFx0aHJvdyBE
ZXZpY2VBUElFcnJvciBJT19FUlJPUiBpZiB0aGlzIGlzIG5vdCBhIGRpcmVjdG9yeS4KLQkJICog
XHRocm93IERldmljZUFQSUVycm9yIElPX0VSUk9SIGlmIGFueSBjaGFyYWN0ZXJzIGluIHRoZSBw
YXRoIGFyZSBub3Qgc3VwcG9ydGVkLgotCQkgKiBcdGhyb3cgRGV2aWNlQVBJRXJyb3IgSU9fRVJS
T1IgaWYgdGhlIGZpbGUgb3IgZGlyZWN0b3J5IGNhbm5vdCBiZSByZXNvbHZlZC4KLQkJICovCi0J
CUZpbGUgcmVzb2x2ZShpbiBET01TdHJpbmcgZmlsZVBhdGgpCi0JCQlyYWlzZXMoU2VjdXJpdHlF
cnJvciwgRGV2aWNlQVBJRXJyb3IpOwotCi0JCS8qKgotCQkgKiBcYnJpZWYgRGVsZXRlcyB0aGlz
IGRpcmVjdG9yeS4KLQkJICoKLQkJICogVGhpcyBmdW5jdGlvbiBhdHRlbXB0cyB0byBkZWxldGUg
YSBkaXJlY3Rvcnkgb3IgZGlyZWN0b3J5Ci0JCSAqIHRyZWUgc3luY2hyb25vdXNseSBhbmQgcmV0
dXJucyA8ZW0+dHJ1ZTwvZW0+IG9uIHN1Y2Nlc3MsCi0JCSAqIDxlbT5mYWxzZTwvZW0+IG90aGVy
d2lzZS4gSXQgbWF5IHRocm93IGFuIElPX0VSUk9SIGlmIGEKLQkJICogcmVjdXJzaXZlIGRlbGV0
aW9uIHBhcnRpYWxseSBmYWlscyBhbmQgYW55IGRlbGV0ZWQgZGF0YSBzbwotCQkgKiBmYXIgY2Fu
bm90IGJlIHJlY292ZXJlZC4gVGhpcyBtaWdodCBoYXBwZW4gZHVlIHRoZSBsYWNrIG9mCi0JCSAq
IGZpbGVzeXN0ZW0gcGVybWlzc2lvbnMgb3IgaWYgYW55IGRpcmVjdG9yaWVzIG9yIGZpbGVzIGFy
ZQotCQkgKiBvcGVuZW5lZCBieSBvdGhlciBwcm9jZXNzZXMuCi0JCSAqCi0JCSAqIFxhcGktZmVh
dHVyZSBodHRwOi8vYm9uZGkub210cC5vcmcvYXBpL2ZpbGVzeXN0ZW0ud3JpdGUKLQkJICoKLQkJ
ICogXGNvZGUKLQkJICogCXZhciBmdWxsUGF0aCA9IGRpci5mdWxsUGF0aDsKLQkJICogCWlmKGRp
ci5kZWxldGVEaXJlY3RvcnkodHJ1ZSkpIHsKLQkJICogCQkvLyBzdWJzZXF1ZW50IGFjY2Vzc2Vz
IHRvIGRpciB3aWxsIHRocm93IGFuIGVycm9yCi0JCSAqIAkJYWxlcnQoZnVsbFBhdGggKyAnIGRl
bGV0ZWQnKTsKLQkJICogCX0KLQkJICogXGVuZGNvZGUKLQkJICoKLQkJICogXHBhcmFtIHJlY3Vy
c2l2ZSA8ZW0+dHJ1ZTwvZW0+IG1lYW5zIGEgcmVjdXJzaXZlIGRlbGV0aW9uLCB0aGlzCi0JCSAq
ICAgICAgICB3aWxsIGRlc3Ryb3kgYWxsIGRhdGEgcmVjdXJzaXZlbHksIHVzZSB3aXRoIGNhdXRp
b24uCi0JCSAqIFxyZXR1cm4gPGVtPnRydWU8L2VtPiBvbiBzdWNjZXNzCi0JCSAqIFx0aHJvdyBT
ZWN1cml0eUVycm9yIFBFUk1JU1NJT05fREVOSUVEX0VSUk9SIHdoZW4KLQkJICogICAgICAgIGFj
Y2VzcyBpcyBkZW5pZWQgYnkgdGhlIHNlY3VyaXR5IHBvbGljeS4KLQkJICogXHRocm93IERldmlj
ZUFQSUVycm9yIElPX0VSUk9SIGlmIHRoaXMgaXMgYSBmaWxlLgotCQkgKiBcdGhyb3cgRGV2aWNl
QVBJRXJyb3IgSU9fRVJST1IgaWYgdGhlIGRpcmVjdG9yeSBpcyBub3QgZW1wdHkgYW5kCi0JCSAq
ICAgICAgICB0aGlzIG9wZXJhdGlvbiBpcyBub3QgcGVyZm9ybWVkIHJlY3Vyc2l2ZWx5LgotCQkg
KiBcdGhyb3cgRGV2aWNlQVBJRXJyb3IgSU9fRVJST1IgaWYgdGhlIGRpcmVjdG9yeSBvciBhbnkg
ZmlsZSBvciBzdWItZGlyZWN0b3J5IGNhbm5vdCBiZSBkZWxldGVkLgotCQkgKi8KLQkJYm9vbGVh
biBkZWxldGVEaXJlY3RvcnkoaW4gYm9vbGVhbiByZWN1cnNpdmUpCi0JCQlyYWlzZXMoU2VjdXJp
dHlFcnJvciwgRGV2aWNlQVBJRXJyb3IpOwotCi0JCS8qKgotCQkgKiBcYnJpZWYgRGVsZXRlcyB0
aGlzIGZpbGUuCi0JCSAqCi0JCSAqIFJldHVybnMgPGVtPnRydWU8L2VtPiBvbiBzdWNjZXNzLCA8
ZW0+ZmFsc2U8L2VtPiBvdGhlcndpc2UuCi0JCSAqCi0JCSAqIFxhcGktZmVhdHVyZSBodHRwOi8v
Ym9uZGkub210cC5vcmcvYXBpL2ZpbGVzeXN0ZW0ud3JpdGUKLQkJICoKLQkJICogXGNvZGUKLQkJ
ICogCXZhciBmdWxsUGF0aCA9IGRpci5mdWxsUGF0aDsKLQkJICogCWlmKGRpci5kZWxldGVGaWxl
KCkpIHsKLQkJICogCQkvLyBzdWJzZXF1ZW50IGFjY2Vzc2VzIHRvIGRpciB3aWxsIHRocm93IGFu
IGVycm9yCi0JCSAqIAkJYWxlcnQoZnVsbFBhdGggKyAnIGRlbGV0ZWQnKTsKLQkJICogCX0KLQkJ
ICogXGVuZGNvZGUKLQkJICoKLQkJICogXHJldHVybiA8ZW0+dHJ1ZTwvZW0+IG9uIHN1Y2Nlc3MK
LQkJICogXHRocm93IFNlY3VyaXR5RXJyb3IgUEVSTUlTU0lPTl9ERU5JRURfRVJST1Igd2hlbgot
CQkgKiAgICAgICAgYWNjZXNzIGlzIGRlbmllZCBieSB0aGUgc2VjdXJpdHkgcG9saWN5LgotCQkg
KiBcdGhyb3cgRGV2aWNlQVBJRXJyb3IgSU9fRVJST1IgaWYgdGhpcyBpcyBhIGRpcmVjdG9yeS4K
LQkJICogXHRocm93IERldmljZUFQSUVycm9yIElPX0VSUk9SIGlmIHRoZSBmaWxlIGNhbm5vdCBi
ZSBkZWxldGVkIGR1ZQotCQkgKiAgICAgICAgdGhlIGxhY2sgb2YgZmlsZXN5c3RlbSBwZXJtaXNz
aW9ucyBvciBpZiBpdCBpcyBsb2NrZWQgb3IKLQkJICogICAgICAgIG9wZW5lZCBieSBhbm90aGVy
IHByb2Nlc3MuCi0JCSAqLwotCQlib29sZWFuIGRlbGV0ZUZpbGUoKQotCQkJcmFpc2VzKFNlY3Vy
aXR5RXJyb3IsIERldmljZUFQSUVycm9yKTsKLQl9OwotCi0JLyoqCi0JICogXGJyaWVmIEZpbGVT
dHJlYW0gQVBJLgotCSAqCi0JICogQSBGaWxlU3RyZWFtIHJlcHJlc2VudHMgYSBoYW5kbGUgdG8g
YSBGaWxlIG9wZW5lZCBmb3IgcmVhZCBhbmQvb3IKLQkgKiB3cml0ZSBvcGVyYXRpb25zLiAgUmVh
ZCBhbmQgd3JpdGUgb3BlcmF0aW9ucyBhcmUgcGVyZm9ybWVkIHJlbGF0aXZlCi0JICogdG8gYSBm
aWxlIHBvaW50ZXIgd2hpY2ggcmVwcmVzZW50cyB0aGUgY3VycmVudCBwb3NpdGlvbiBpbiB0aGUg
ZmlsZS4KLQkgKiAKLQkgKiBBIHNlcmllcyBvZiByZWFkL3dyaXRlIG1ldGhvZHMgYXJlIGF2YWls
YWJsZSB0aGF0IHBlcm1pdCBib3RoIGJpbmFyeSBhbmQKLQkgKiB0ZXh0IHRvIGJlIHByb2Nlc3Nl
ZC4KLQkgKgotCSAqIE9uY2UgYSBmaWxlIHN0cmVhbSBpcyBjbG9zZWQsIGFueSBvcGVyYXRpb24g
YXR0ZW1wdGVkIG9uIHRoaXMgc3RyZWFtCi0JICogd2lsbCByZXN1bHQgaW4gYSBub3JtYWwgSmF2
YVNjcmlwdCBlcnJvci4KLQkgKi8KLQlpbnRlcmZhY2UgRmlsZVN0cmVhbSB7Ci0KLQkJLyoqCi0J
CSAqIFxicmllZiBJbmRpY2F0ZXMgd2hldGhlciBvciBub3QgdGhlIGN1cnJlbnQgZmlsZSBwb2lu
dGVyIGlzIGF0IHRoZSBlbmQKLQkJICogb2YgdGhlIGZpbGUuCi0JCSAqIAotCQkgKiA8ZW0+dHJ1
ZTwvZW0+IGlmIHRoZSBwb3NpdGlvbiBpcyBhdCB0aGUgZW5kIG9mIHRoZSBjdXJyZW50IGZpbGUg
c3RyZWFtLgotCQkgKgotCQkgKiBcY29kZQotCQkgKiAJaWYoc3RyZWFtLmVvZikgewotCQkgKiAJ
CS8vIGZpbGUgaGFzIGJlZW4gcmVhZCBjb21wbGV0ZWx5Ci0JCSAqIAl9Ci0JCSAqIFxlbmRjb2Rl
Ci0JCSAqLwotCQlyZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiBlb2Y7Ci0KLQkJLyoqCi0JCSAq
IFxicmllZiBHZXQvc2V0IHN0cmVhbSBwb3NpdGlvbiBmb3IgcmVhZHMvd3JpdGVzLgotCQkgKiAK
LQkJICogVGhlIHN0cmVhbSBwb3NpdGlvbiBpcyBhbiBvZmZzZXQgb2YgYnl0ZXMgZnJvbSB0aGUg
c3RhcnQgb2YKLQkJICogdGhlIGZpbGUgc3RyZWFtLiAgV2hlbiBpbnZva2luZyBhbiBvcGVyYXRp
b24gdGhhdCByZWFkcyBvcgotCQkgKiB3cml0ZXMgZnJvbSB0aGUgc3RyZWFtLCB0aGUgb3BlcmF0
aW9uIHdpbGwgdGFrZSBwbGFjZSBmcm9tCi0JCSAqIHRoZSBwb3NpdGlvbiBpbiB0aGUgcG9zaXRp
b24gYXR0cmlidXRlLgotCQkgKgotCQkgKiBcY29kZQotCQkgKiAJYWxlcnQoc3RyZWFtLnBvc2l0
aW9uKTsgLy8gZGlzcGxheXMgY3VycmVudCBzdHJlYW0gcG9zaXRpb24KLQkJICogCS8vIGFsdGVy
cyBjdXJyZW50IHN0cmVhbSBwb3NpdGlvbiB0byB0aGUgYmVnaW4gb2YgdGhlIGZpbGUsCi0JCSAq
IAkvLyBsaWtlIHNlZWsoKSBpbiBDCi0JCSAqIAlzdHJlYW0ucG9zaXRpb24gPSAwOwotCQkgKiBc
ZW5kY29kZQotCQkgKiBcdGhyb3cgRGV2aWNlQVBJRXJyb3IgSU9fRVJST1IgaWYgYSBwb3NpdGlv
biB3YXMgZ2l2ZW4gdGhhdCBpcyBvdXQgb2YgdGhlIHN0cmVhbSByYW5nZS4KLQkJICovCi0JCWF0
dHJpYnV0ZSB1bnNpZ25lZCBsb25nIHBvc2l0aW9uCi0JCQlzZXRyYWlzZXMoRGV2aWNlQVBJRXJy
b3IpOwotCi0JCS8qKgotCQkgKiBcYnJpZWYgUmV0dXJucyB0aGUgbnVtYmVyIG9mIGJ5dGVzIHRo
YXQgYXJlIGF2YWlsYWJsZSBmb3IKLQkJICogcmVhZGluZyBmcm9tIHRoZSBzdHJlYW0uCi0JCSAq
Ci0JCSAqIFRoZSBudW1iZXIgb2YgYnl0ZXMgYXZhaWxhYmxlIGZvciByZWFkaW5nIGlzIHRoZSBt
YXhpbXVtCi0JCSAqIGFtb3VudCBvZiBieXRlcyB0aGF0IGNhbiBiZSByZWFkIGluIHRoZSBuZXh0
IHJlYWQgb3BlcmF0aW9uLgotCQkgKiAKLQkJICogLTEgaWYgZW9mIGlzIDxlbT50cnVlPC9lbT4u
Ci0JCSAqCi0JCSAqIFxjb2RlCi0JCSAqIAlhbGVydChzdHJlYW0uYnl0ZXNBdmFpbGFibGUpOyAv
LyBkaXNwbGF5cyB0aGUgYXZhaWxhYmxlIGJ5dGVzIHRvIGJlIHJlYWQKLQkJICogXGVuZGNvZGUK
LQkJICovCi0JCXJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGJ5dGVzQXZhaWxhYmxl
OwotCi0JCS8qKgotCQkgKiBcYnJpZWYgQ2xvc2VzIHRoaXMgRmlsZVN0cmVhbS4KLQkJICogCi0J
CSAqIEZsdXNoZXMgYW55IHBlbmRpbmcgYnVmZmVyZWQgd3JpdGVzIGFuZCBjbG9zZXMgdGhlIEZp
bGUuIEFsd2F5cyBzdWNjZWVkcy4KLQkJICogTm90ZSB0aGF0IHBlbmRpbmcgd3JpdGVzIG1pZ2h0
IG5vdCBzdWNjZWVkLgotCQkgKgotCQkgKiBcY29kZQotCQkgKiAJc3RyZWFtLmNsb3NlKCk7IC8v
IGNsb3NlcyB0aGlzIHN0cmVhbSwgbm8gc3Vic2VxdWVudCBhY2Nlc3MgdG8gc3RyZWFtIGFsbG93
ZWQKLQkJICogXGVuZGNvZGUKLQkJICovCi0JCXZvaWQgY2xvc2UoKTsKLQotCQkvKioKLQkJICog
XGJyaWVmIFJlYWRzIHRoZSBzcGVjaWZpZWQgbnVtYmVyIG9mIGNoYXJhY3RlcnMuCi0JCSAqCi0J
CSAqIFJlYWRzIHNwZWNpZmllZCBudW1iZXIgb2YgY2hhcmFjdGVycyBhbmQgcmV0dXJucyB0aGVt
IGFzIHN0cmluZy4KLQkJICogVGhlIHJlc3VsdGluZyBzdHJpbmcgbGVuZ3RoIG1pZ2h0IGJlIHNo
b3J0ZXIgdGhhbiBjaGFyQ291bnQgaWYgZW9mCi0JCSAqIGlzIDxlbT50cnVlPC9lbT4uCi0JCSAq
Ci0JCSAqIFxjb2RlCi0JCSAqIAl2YXIgdGV4dCA9IHN0cmVhbS5yZWFkKDApOwotCQkgKiAJc3Ry
ZWFtLmNsb3NlKCk7Ci0JCSAqIFxlbmRjb2RlCi0JCSAqCi0JCSAqIFxwYXJhbSBjaGFyQ291bnQg
bnVtYmVyIG9mIGNoYXJhY3RlcnMgYmVpbmcgcmVhZCwgaWYKLQkJICogICAgICAgICAgICAgICAg
ICAgIDxlbT4wPC9lbT4gaXQgd2lsbCByZWFkIGFzIGxvbmcgYXMgYnl0ZXMgYXJlIGF2YWlsYWJs
ZS4KLQkJICogXHJldHVybiB0aGUgcmVzdWx0IG9mIHJlYWQgY2hhcmFjdGVycyBhcyBhIHN0cmlu
Zy4KLQkJICogXHRocm93IERldmljZUFQSUVycm9yIElPX0VSUk9SIGlmIGFuIGVycm9yIG9jY3Vy
cyBkdXJpbmcgcmVhZC4KLQkJICovCi0JCURPTVN0cmluZyByZWFkKGluIHVuc2lnbmVkIGxvbmcg
Y2hhckNvdW50KQotCQkJcmFpc2VzKERldmljZUFQSUVycm9yKTsKLQotCQkvKioKLQkJICogXGJy
aWVmIFJlYWRzIHRoZSBzcGVjaWZpZWQgbnVtYmVyIG9mIGJ5dGVzIGZyb20gdGhpcyBGaWxlU3Ry
ZWFtLgotCQkgKgotCQkgKiBJZiAwIGlzIHN1cHBsaWVkIGl0IHdpbGwgcmVhZCBhbGwgYXZhaWxh
YmxlIGJ5dGVzIGluIGEKLQkJICogc2luZ2xlIHJlYWQgb3BlcmF0aW9uLgotCQkgKgotCQkgKiBc
Y29kZQotCQkgKiAJLy8gcmVhZHMgdXAgdG8gMjU2IGJ5dGVzIGZyb20gdGhlIHN0cmVhbQotCQkg
KiAJdmFyIHJhdyA9IHN0cmVhbS5yZWFkQnl0ZXMoMjU2KTsKLQkJICogCWZvcih2YXIgaSA9IDA7
IGkgJmx0OyByYXcubGVuZ3RoOyBpKyspIHsKLQkJICogCQkvLyByYXdbaV0gY29udGFpbnMgdGhl
IGktdGggYnl0ZSBvZiB0aGUgY3VycmVudCBkYXRhIGNodW5rCi0JCSAqIAl9Ci0JCSAqIFxlbmRj
b2RlCi0JCSAqCi0JCSAqIFxwYXJhbSBieXRlQ291bnQgbnVtYmVyIG9mIGJ5dGVzIGJlaW5nIHJl
YWQuIE11c3Qgbm90IGJlIDxlbT4wPC9lbT4uCi0JCSAqIFxyZXR1cm4gdGhlIHJlc3VsdCBvZiBy
ZWFkIGJ5dGVzIGFzIGEgYnl0ZSAob3IgbnVtYmVyKSBhcnJheS4KLQkJICogXHRocm93IERldmlj
ZUFQSUVycm9yIElPX0VSUk9SIGlmIGFuIGVycm9yIG9jY3VycyBkdXJpbmcgcmVhZEJ5dGVzLgot
CQkgKi8KLQkJQnl0ZUFycmF5IHJlYWRCeXRlcyhpbiB1bnNpZ25lZCBsb25nIGJ5dGVDb3VudCkK
LQkJCXJhaXNlcyhEZXZpY2VBUElFcnJvcik7Ci0KLQkJLyoqCi0JCSAqIFxicmllZiBSZWFkcyB0
aGUgc3BlY2lmaWVkIG51bWJlciBvZiBieXRlcyBmcm9tIHRoaXMgRmlsZVN0cmVhbSwgZW5jb2Rp
bmcKLQkJICogdGhlIHJlc3VsdCBpbiBiYXNlNjQuCi0JCSAqCi0JCSAqIElmIDAgaXMgc3VwcGxp
ZWQgaXQgd2lsbCByZWFkIGFsbCBhdmFpbGFibGUgYnl0ZXMgaW4gYQotCQkgKiBzaW5nbGUgcmVh
ZCBvcGVyYXRpb24uCi0JCSAqCi0JCSAqIFxjb2RlCi0JCSAqIAkvLyByZWFkcyB1cCB0byAyNTYg
Ynl0ZXMgZnJvbSB0aGUgc3RyZWFtCi0JCSAqIAl2YXIgYmFzZTY0ID0gc3RyZWFtLnJlYWRCYXNl
NjQoMjU2KTsKLQkJICogXGVuZGNvZGUKLQkJICoKLQkJICogXHBhcmFtIGJ5dGVDb3VudCBudW1i
ZXIgb2YgYnl0ZXMgYmVpbmcgcmVhZC4gTXVzdCBub3QgYmUgPGVtPjA8L2VtPi4KLQkJICogXHJl
dHVybiB0aGUgcmVzdWx0IG9mIHJlYWQgYnl0ZXMgYXMgYmFzZTY0IGVuY29kaW5nIHN0cmluZy4K
LQkJICogXHRocm93IERldmljZUFQSUVycm9yIElPX0VSUk9SIGlmIGFuIGVycm9yIG9jY3VycyBk
dXJpbmcgcmVhZEJhc2U2NC4KLQkJICovCi0JCURPTVN0cmluZyByZWFkQmFzZTY0KGluIHVuc2ln
bmVkIGxvbmcgYnl0ZUNvdW50KQotCQkJcmFpc2VzKERldmljZUFQSUVycm9yKTsKLQotCQkvKioK
LQkJICogXGJyaWVmIFdyaXRlcyB0aGUgc3BlY2lmaWVkIERPTVN0cmluZyB0byB0aGlzIEZpbGVT
dHJlYW0uCi0JCSAqCi0JCSAqIFxjb2RlCi0JCSAqIAl2YXIgdGV4dCA9ICJIZWxsbyB3b3JsZCI7
Ci0JCSAqIAlzdHJlYW0ud3JpdGUodGV4dCk7Ci0JCSAqIFxlbmRjb2RlCi0JCSAqCi0JCSAqIFxw
YXJhbSBzdHJpbmdEYXRhIHRoZSBhY3R1YWwgc3RyaW5nIHRvIGJlIHdyaXR0ZW4uCi0JCSAqIFx0
aHJvdyBEZXZpY2VBUElFcnJvciBJT19FUlJPUiBpZiBhbiBlcnJvciBvY2N1cnMgZHVyaW5nIHdy
aXRlLgotCQkgKi8KLQkJdm9pZCB3cml0ZShpbiBET01TdHJpbmcgc3RyaW5nRGF0YSkKLQkJCXJh
aXNlcyhEZXZpY2VBUElFcnJvcik7Ci0KLQkJLyoqCi0JCSAqIFxicmllZiBXcml0ZXMgdGhlIHNw
ZWNpZmllZCBieXRlcyB0byB0aGlzIEZpbGVTdHJlYW0uCi0JCSAqCi0JCSAqIFxjb2RlCi0JCSAq
IAl2YXIgYnl0ZXMgPSBpbi5yZWFkQnl0ZXMoMjU2KTsKLQkJICogCW91dC53cml0ZUJ5dGVzKGJ5
dGVzKTsgLy8gd3JpdGVzIHRoZSBieXRlcyByZWFkIGZyb20gaW4gdG8gb3V0Ci0JCSAqIFxlbmRj
b2RlCi0JCSAqCi0JCSAqIFxwYXJhbSBieXRlRGF0YSB0aGUgYnl0ZSBkYXRhIGFycmF5IGJlaW5n
IHdyaXR0ZW4uCi0JCSAqIFx0aHJvdyBEZXZpY2VBUElFcnJvciBJT19FUlJPUiBpZiBhbiBlcnJv
ciBvY2N1cnMgZHVyaW5nIHdyaXRlQnl0ZXMuCi0JCSAqLwotCQl2b2lkIHdyaXRlQnl0ZXMoaW4g
Qnl0ZUFycmF5IGJ5dGVEYXRhKQotCQkJcmFpc2VzKERldmljZUFQSUVycm9yKTsKLQotCQkvKioK
LQkJICogXGJyaWVmIENvbnZlcnRzIHRoZSBzcGVjaWZpZWQgYmFzZTY0IERPTVN0cmluZyB0byBi
eXRlcyBhbmQgd3JpdGVzIHRoZSAKLQkJICogcmVzdWx0IHRvIHRoaXMgRmlsZVN0cmVhbS4KLQkJ
ICoKLQkJICogXGNvZGUKLQkJICogCXZhciBiYXNlNjQgPSBpbi5yZWFkQmFzZTY0KDI1Nik7Ci0J
CSAqIAlvdXQud3JpdGVCYXNlNjQoYmFzZTY0KTsgLy8gd3JpdGVzIHRoZSBiYXNlNjQgZGF0YSBy
ZWFkIGZyb20gaW4gdG8gb3V0Ci0JCSAqIFxlbmRjb2RlCi0JCSAqCi0JCSAqIFxwYXJhbSBiYXNl
NjREYXRhIHRoZSBiYXNlNjQgZGF0YSBiZWluZyB3cml0dGVuLgotCQkgKiBcdGhyb3cgRGV2aWNl
QVBJRXJyb3IgSU9fRVJST1IgaWYgYW4gZXJyb3Igb2NjdXJzIGR1cmluZyB3cml0ZUJhc2U2NC4K
LQkJICovCi0JCXZvaWQgd3JpdGVCYXNlNjQoaW4gRE9NU3RyaW5nIGJhc2U2NERhdGEpCi0JCQly
YWlzZXMoRGV2aWNlQVBJRXJyb3IpOwotCX07Ci0KLSAgLyoqCi0gICAqIFxicmllZiBTcGVjaWZp
ZXMgd2hhdCBpcyBpbnN0YW50aWF0ZWQgYXQgZmVhdHVyZSByZXF1ZXN0Ci0gICAqIFxkZWYtaW5z
dGFudGlhdGVkCi0gICAqIFxhcGktZmVhdHVyZSBodHRwOi8vYm9uZGkub210cC5vcmcvYXBpL2Zp
bGVzeXN0ZW0ucmVhZAotICAgKiBcYXBpLWZlYXR1cmUgaHR0cDovL2JvbmRpLm9tdHAub3JnL2Fw
aS9maWxlc3lzdGVtLndyaXRlCi0gICAqLwotCWludGVyZmFjZSBGaWxlU3lzdGVtTWFuYWdlck9i
amVjdCB7Ci0JCXJlYWRvbmx5IGF0dHJpYnV0ZSBGaWxlU3lzdGVtTWFuYWdlciBmaWxlU3lzdGVt
TWFuYWdlcjsgCi0JfTsKLQlib25kaSBpbXBsZW1lbnRzIEZpbGVTeXN0ZW1NYW5hZ2VyT2JqZWN0
OwotCi19OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL2V4YW1wbGVzL3NwZWN0b3dp
ZGwueHNsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL2V4YW1wbGVzL3NwZWN0b3dpZGwueHNsCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0NDI1Mjc3MDk0MC4uMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3dpZGxwcm9jL2V4YW1wbGVzL3NwZWN0b3dpZGwueHNsCisrKyAvZGV2L251bGwK
QEAgLTEsMjcgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4K
LTwhLS09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotJElkJAotQ29weXJpZ2h0IDIwMDkgQXBsaXggQ29ycG9yYXRpb24u
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCi1MaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2Us
IFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKLXlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUg
ZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KLVlvdSBtYXkgb2J0YWluIGEg
Y29weSBvZiB0aGUgTGljZW5zZSBhdAotICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNl
cy9MSUNFTlNFLTIuMAotVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVl
ZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQotZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2Ug
aXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKLVdJVEhPVVQgV0FSUkFOVElFUyBP
UiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgotU2Vl
IHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Np
b25zIGFuZAotbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCi0KLVhTTFQgc3R5bGVzaGVl
dCB0byBleHRyYWN0IFdlYiBJREwgc25pcHBldHMgZnJvbSBXZWIgSURMIHNwZWMuIAotPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09LS0+Ci08eHNsOnN0eWxlc2hlZXQgeG1sbnM6eHNsPSJodHRwOi8vd3d3LnczLm9yZy8x
OTk5L1hTTC9UcmFuc2Zvcm0iIHZlcnNpb249IjEuMCI+Ci08eHNsOm91dHB1dCBtZXRob2Q9InRl
eHQiIGVuY29kaW5nPSJ1dGYtOCIvPgotCi08eHNsOnRlbXBsYXRlIG1hdGNoPSJjb2RlW0BjbGFz
cz0naWRsLWNvZGUnXSI+Ci0gICAgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9Ii4iLz48eHNsOnRleHQ+
Ci08L3hzbDp0ZXh0PgotPC94c2w6dGVtcGxhdGU+Ci0KLTx4c2w6dGVtcGxhdGUgbWF0Y2g9InRl
eHQoKSIvPgotCi08L3hzbDpzdHlsZXNoZWV0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxw
cm9jL2V4YW1wbGVzL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL2V4YW1wbGVz
L3czYy1pbXBvcnQubG9nCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxYzliZjVhZTEz
Mi4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL2V4YW1wbGVzL3czYy1pbXBv
cnQubG9nCisrKyAvZGV2L251bGwKQEAgLTEsMjMgKzAsMCBAQAotVGhlIHRlc3RzIGluIHRoaXMg
ZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCi1EbyBOT1Qg
bW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQsIGNyZWF0ZSBh
IHB1bGwgcmVxdWVzdCBvbiB0aGUgVzNDIENTUyBvciBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0
aHViLmNvbS93M2MvY3Nzd2ctdGVzdAotCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzCi0KLVRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMg
aW4gV2ViS2l0IHRvIHJlaW1wb3J0Ci0KLURvIE5PVCBtb2RpZnkgb3IgcmVtb3ZlIHRoaXMgZmls
ZS4KLQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1Qcm9wZXJ0aWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4
ZXM6Ci1Ob25lCi1Qcm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKLU5v
bmUKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLQotTGlzdCBvZiBmaWxlczoKLS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mv
ZXhhbXBsZXMvTWFrZWZpbGUKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvZXhhbXBsZXMvUkVBRE1FCi0v
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3dpZGxwcm9jL2V4YW1wbGVzL2JvbmRpLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHBy
b2MvZXhhbXBsZXMvZmlsZXN5c3RlbS53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL2V4YW1wbGVz
L3NwZWN0b3dpZGwueHNsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL2V4YW1wbGVzL3dpZGxodG1sLmNz
cwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL2V4YW1wbGVzL3dpZGxodG1sLmNzcyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC93aWRscHJvYy9leGFtcGxlcy93aWRsaHRtbC5jc3MKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDg1NDMwOTdhM2NjLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
d2lkbHByb2MvZXhhbXBsZXMvd2lkbGh0bWwuY3NzCisrKyAvZGV2L251bGwKQEAgLTEsMTAwICsw
LDAgQEAKLWJvZHkgewotICBwYWRkaW5nOiAyZW07Ci0gIG1hcmdpbjogMDsKLSAgZm9udC1mYW1p
bHk6IHNhbnMtc2VyaWY7Ci0gIGNvbG9yOiBibGFjazsKLSAgYmFja2dyb3VuZDogd2hpdGU7Ci0g
IGJhY2tncm91bmQtcG9zaXRpb246IHRvcCBsZWZ0OwotICBiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6
IGZpeGVkOwotICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OwotfQotOmxpbmsgeyBjb2xv
cjogIzAwQzsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgfQotOnZpc2l0ZWQgeyBjb2xvcjogIzYw
OTsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgfQotYTphY3RpdmUgeyBjb2xvcjogI0MwMDsgYmFj
a2dyb3VuZDogdHJhbnNwYXJlbnQgfQotYTpsaW5rIGltZywgYTp2aXNpdGVkIGltZyB7IGJvcmRl
ci1zdHlsZTogbm9uZSB9IC8qIG5vIGJvcmRlciBvbiBpbWcgbGlua3MgKi8KLQotaDEsIGgyLCBo
MywgaDQsIGg1LCBoNiB7IHRleHQtYWxpZ246IGxlZnQgfQotLyogYmFja2dyb3VuZCBzaG91bGQg
YmUgdHJhbnNwYXJlbnQsIGJ1dCBXZWJUViBoYXMgYSBidWcgKi8KLWgxLCBoMiwgaDMgeyBjb2xv
cjogIzAwOTM5MzsgYmFja2dyb3VuZDogd2hpdGUgfQotaDEgeyBmb250OiAxNzAlIHNhbnMtc2Vy
aWYgfQotaDIgeyBmb250OiAxNDAlIHNhbnMtc2VyaWYgfQotaDMgeyBmb250OiAxMjAlIHNhbnMt
c2VyaWYgfQotaDQgeyBmb250OiBib2xkIDEwMCUgc2Fucy1zZXJpZiB9Ci1oNSB7IGZvbnQ6IGl0
YWxpYyAxMDAlIHNhbnMtc2VyaWYgfQotaDYgeyBmb250OiBzbWFsbC1jYXBzIDEwMCUgc2Fucy1z
ZXJpZjsgbWFyZ2luLWJvdHRvbTogMCB9Ci0KLS5oaWRlIHsgZGlzcGxheTogbm9uZSB9Ci0KLWNv
ZGUgeyBmb250LXNpemU6IDEyMCUgfQotCi11bC50b2MsIG9sLnRvYywgdWwuYXV0aG9ycyB7Ci0g
IGxpc3Qtc3R5bGU6IG5vbmU7Ci19Ci0KLS5oaWRlIHsgZGlzcGxheTogbm9uZSB9Ci0KLWRpdi5o
ZWFkIHsgbWFyZ2luLWJvdHRvbTogMWVtIH0KLWRpdi5oZWFkIGgxIHsgbWFyZ2luLXRvcDogMmVt
OyBjbGVhcjogYm90aCB9Ci1kaXYuaGVhZCB0YWJsZSB7IG1hcmdpbi1sZWZ0OiAyZW07IG1hcmdp
bi10b3A6IDJlbSB9Ci1kaXYuY29uc3RyYWludCwgZGl2Lmlzc3VlLCBkaXYubm90ZSwgZGl2Lm5v
dGljZSAgICAgeyBtYXJnaW4tbGVmdDogMmVtOyB9Ci1kaXYuZXhhbXBsZUlubmVyIHByZSB7IG1h
cmdpbi1sZWZ0OiAxZW07IG1hcmdpbi10b3A6IDBlbTsgbWFyZ2luLWJvdHRvbTogMGVtfQotZGl2
LmV4YW1wbGVPdXRlciB7Ym9yZGVyOiA0cHggZG91YmxlIGdyYXk7IG1hcmdpbjogMGVtOyBwYWRk
aW5nOiAwZW19Ci1kaXYuZXhhbXBsZUlubmVyIHsgYmFja2dyb3VuZC1jb2xvcjogI2Q1ZGVlMzsK
LSAgICAgCSAgICAgICAgICAgYm9yZGVyLXRvcC13aWR0aDogNHB4OwotICAgICAgIAkgICAgICAg
ICAgIGJvcmRlci10b3Atc3R5bGU6IGRvdWJsZTsKLSAgICAgICAJICAgICAgICAgICBib3JkZXIt
dG9wLWNvbG9yOiAjZDNkM2QzOwotICAgICAgIAkgICAgICAgICAgIGJvcmRlci1ib3R0b20td2lk
dGg6IDRweDsKLSAgICAgICAJICAgICAgICAgICBib3JkZXItYm90dG9tLXN0eWxlOiBkb3VibGU7
Ci0gICAgICAgCSAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2QzZDNkMzsKLSAgICAg
ICAJICAgICAgICAgICBwYWRkaW5nOiA0cHg7IG1hcmdpbjogMGVtIH0KLWRpdi5leGFtcGxlV3Jh
cHBlciB7IG1hcmdpbjogNHB4IH0KLWRpdi5leGFtcGxlSGVhZGVyIHsgZm9udC13ZWlnaHQ6IGJv
bGQ7IG1hcmdpbjogNHB4fQotZGl2LnRlcm0geyBmb250OiAxMDAlIHNhbnMtc2VyaWY7IGNvbG9y
OiMwMDAwMDA7IGZvbnQtd2VpZ2h0OiBib2xkOyBsaW5lLWhlaWdodDogNjAlfSAgIAotZGl2Lmxp
c3QgeyBmb250OiAxMDAlIHNhbnMtc2VyaWY7IGNvbG9yOiMwMDAwMDA7IGZvbnQtd2VpZ2h0OiBu
b3JtYWw7IGxpbmUtaGVpZ2h0OiA2MCV9IAotCi0ub3B0aW9uYWwge3RleHQtZGVjb3JhdGlvbjog
bGluZS10aHJvdWdoOyBkaXNwbGF5OiBub25lO30KLQotLmNvcHlyaWdodCwubGVnYWxub3RpY2Ug
eyBmb250LXNpemU6IHNtYWxsIH0KLS5jb3B5cmlnaHQgc21hbGwgeyBmb250LXNpemU6IHNtYWxs
IH0KLQotQG1lZGlhIHNjcmVlbiB7ICAvKiBoaWRlIGZyb20gSUUzICovCi1hW2hyZWZdOmhvdmVy
IHsgYmFja2dyb3VuZDogI2ZmYSB9Ci19Ci0KLW9sLmVudW1hciAgICAgIHsgbGlzdC1zdHlsZS10
eXBlOiBkZWNpbWFsOyB9Ci1vbC5lbnVtbGEgICAgICB7IGxpc3Qtc3R5bGUtdHlwZTogbG93ZXIt
YWxwaGE7IH0KLW9sLmVudW1sciAgICAgIHsgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1yb21hbjsg
fQotb2wuZW51bXVhICAgICAgeyBsaXN0LXN0eWxlLXR5cGU6IHVwcGVyLWFscGhhOyB9Ci1vbC5l
bnVtdXIgICAgICB7IGxpc3Qtc3R5bGUtdHlwZTogdXBwZXItcm9tYW47IH0KLQotLyogQk9OREkg
YWRkaXRpb25zICovCi0KLS50b2MgewotICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsKLX0KLQot
cHJlIHsKLSAgYmFja2dyb3VuZC1jb2xvcjojRDVERUUzOwotICBvdmVyZmxvdzogYXV0bzsKLSAg
cGFkZGluZzogMWVtOwotfQotCi0uZXhhbXBsZWNvZGUgewotICAgIGJhY2tncm91bmQtY29sb3I6
ICNFRUU7Ci19Ci0KLS5kZWYtYXBpLWZlYXR1cmUtc2V0IGR0LCAuZGVmLWFwaS1mZWF0dXJlIGR0
LCBkdCAuZGVmLWRldmljZS1jYXAsIGR0LmNvbnN0IGNvZGUgeyBmb250OiBib2xkIDEwMCUgc2Fu
cy1zZXJpZjsgfQotZHQuYXR0cmlidXRlIGNvZGUsIGR0Lm1ldGhvZCBjb2RlIHsgZm9udDogaXRh
bGljIDEwMCUgc2Fucy1zZXJpZjsgfQotCi0uZGVmLWRldmljZS1jYXBzIGRkIHsgbWFyZ2luLWJv
dHRvbTogMmVtIH0KLQotZHQubWV0aG9kIHsgbWFyZ2luLXRvcDogMmVtIH0KLQotLnN1bW1hcnkg
dGQgewotICAgIHRleHQtYWxpZ246IGxlZnQ7Ci0gICAgYmFja2dyb3VuZC1jb2xvcjogI0JCRERE
RDsKLSAgICBjb2xvcjogaW5oZXJpdDsKLSAgICBmb250LWZhbWlseTogbW9ub3NwYWNlOwotICAg
IHdoaXRlLXNwYWNlOnByZTsKLSAgICBwYWRkaW5nOiAuM2VtIDFlbSAuM2VtIDFlbTsKLX0KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9zcmMvY29tbWVudC5jIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dp
ZGxwcm9jL3NyYy9jb21tZW50LmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDYyMmE3
YmVhN2I0Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mvc3JjL2NvbW1lbnQu
YworKysgL2Rldi9udWxsCkBAIC0xLDE4MjcgKzAsMCBAQAotLyoqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiAk
SWQkCi0gKiBDb3B5cmlnaHQgMjAwOSBBcGxpeCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KLSAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAg
KHRoZSAiTGljZW5zZSIpOwotICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4g
Y29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgotICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9m
IHRoZSBMaWNlbnNlIGF0Ci0gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJ
Q0VOU0UtMi4wCi0gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVk
IHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCi0gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5z
ZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAotICogV0lUSE9VVCBXQVJSQU5U
SUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQu
Ci0gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcg
cGVybWlzc2lvbnMgYW5kCi0gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KLSAqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKi8KLSNpbmNsdWRlIDxhc3NlcnQuaD4KLSNpbmNsdWRlIDxzdHJpbmcuaD4KLSNp
bmNsdWRlIDxzdGRpby5oPgotCi0jaW5jbHVkZSAiY29tbWVudC5oIgotI2luY2x1ZGUgImVudGl0
aWVzLmgiCi0jaW5jbHVkZSAibGV4LmgiCi0jaW5jbHVkZSAibWlzYy5oIgotI2luY2x1ZGUgIm5v
ZGUuaCIKLSNpbmNsdWRlICJvcy5oIgotI2luY2x1ZGUgInByb2Nlc3MuaCIKLQotLyogc3RydWN0
IGNub2RlIDogYSBub2RlIGluIHRoZSBjb21tZW50IHBhcnNlIHRyZWUgKi8KLXN0cnVjdCBjbm9k
ZSB7Ci0gICAgc3RydWN0IGNub2RlICpuZXh0OwotICAgIHN0cnVjdCBjbm9kZSAqY2hpbGRyZW47
Ci0gICAgc3RydWN0IGNub2RlICpwYXJlbnQ7Ci0gICAgY29uc3Qgc3RydWN0IGNub2RlZnVuY3Mg
KmZ1bmNzOwotICAgIGNvbnN0IGNoYXIgKmF0dHJ0ZXh0OwotICAgIGNvbnN0IGNoYXIgKmZpbGVu
YW1lOwotICAgIHVuc2lnbmVkIGludCBsaW5lbnVtOwotfTsKLQotc3RydWN0IGNub2RlZnVuY3Mg
ewotICAgIGludCBpbmRlc2M7IC8qIG5vbi16ZXJvIGlmIGl0IG91dHB1dHMgaXRzIG93biB4bWwg
ZWxlbWVudCB0aGF0IGRvZXMKLSAgICAgICAgICAgICAgICAgICAgICBub3Qgd2FudCB0byBiZSBp
bnNpZGUgPGRlc2NyaXB0aW9uPiAqLwotICAgIGludCBuZWVkcGFyYTsgLyogbm9uLXplcm8gaWYg
dGV4dCBtdXN0IGJlIGluIGEgcGFyYSBub2RlIHRoYXQgaXMgYSBjaGlsZAotICAgICAgICAgICAg
ICAgICAgICAgb2YgdGhpcyBvbmUgKi8KLSAgICBpbnQgKCphc2tlbmQpKHN0cnVjdCBjbm9kZSAq
Y25vZGUsIGNvbnN0IHN0cnVjdCBjbm9kZWZ1bmNzICp0eXBlKTsKLSAgICB2b2lkICgqZW5kKShz
dHJ1Y3QgY25vZGUgKmNub2RlKTsKLSAgICB2b2lkICgqb3V0cHV0KShzdHJ1Y3QgY25vZGUgKmNu
b2RlLCB1bnNpZ25lZCBpbnQgaW5kZW50KTsKLX07Ci0KLXN0cnVjdCBwYXJhbWNub2RlIHsKLSAg
ICBzdHJ1Y3QgY25vZGUgY247Ci0gICAgaW50IGlub3V0OwotICAgIGNoYXIgbmFtZVsxXTsKLX07
Ci0KLS8qIHN0cnVjdCBjb21tZW50IDogYSBkb3h5Z2VuIGNvbW1lbnQgKi8KLXN0cnVjdCBjb21t
ZW50IHsKLSAgICBzdHJ1Y3QgY29tbWVudCAqbmV4dDsKLSAgICBzdHJ1Y3Qgbm9kZSAqbm9kZTsK
LSAgICB1bnNpZ25lZCBpbnQgdHlwZTsKLSAgICBjb25zdCBjaGFyICpmaWxlbmFtZTsKLSAgICB1
bnNpZ25lZCBpbnQgbGluZW51bTsKLSAgICBzdHJ1Y3QgY25vZGUgcm9vdDsKLSAgICBpbnQgYmFj
azsgLyogV2hldGhlciB0aGUgY29tbWVudCByZWZlcnMgYmFjayByYXRoZXIgdGhhbiBmb3J3YXJk
LiAqLwotICAgIGNoYXIgKnRleHQ7Ci19OwotCi0KLXN0YXRpYyBzdHJ1Y3Qgbm9kZSAqbGFzdGlk
ZW50aWZpZXI7Ci1zdGF0aWMgc3RydWN0IGNvbW1lbnQgKmNvbW1lbnRzOwotc3RhdGljIGludCBp
bmNvZGUsIGluaHRtbGJsb2NrOwotc3RhdGljIHN0cnVjdCBjb21tZW50ICpjdXJjb21tZW50Owot
Ci0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioKLSAqIGh0bWxlbGRlc2NzIDogdGFibGUgb2YgcmVjbm9naXplZCBI
VE1MIGVsZW1lbnRzCi0gKi8KLSNkZWZpbmUgSFRNTEVMX0VNUFRZIDEKLSNkZWZpbmUgSFRNTEVM
X0lOTElORSAyCi0jZGVmaW5lIEhUTUxFTF9CTE9DSyA0Ci0jZGVmaW5lIEhUTUxFTF9BVVRPQ0xP
U0UgOAotI2RlZmluZSBIVE1MRUxfTEkgMHgxMAotI2RlZmluZSBIVE1MRUxfRExDT05URU5UUyAw
eDIwCi0jZGVmaW5lIEhUTUxFTF9UQUJMRUNPTlRFTlRTIDB4NDAKLSNkZWZpbmUgSFRNTEVMX1RS
Q09OVEVOVFMgMHg4MAotCi0jZGVmaW5lIEhUTUxFTF9GTE9XIChIVE1MRUxfQkxPQ0sgfCBIVE1M
RUxfSU5MSU5FKQotCi1zdHJ1Y3QgaHRtbGVsZGVzYyB7Ci0gICAgdW5zaWduZWQgaW50IG5hbWVs
ZW47Ci0gICAgY29uc3QgY2hhciAqbmFtZTsKLSAgICB1bnNpZ25lZCBpbnQgZmxhZ3M7Ci0gICAg
dW5zaWduZWQgaW50IGNvbnRlbnQ7Ci19OwotCi1zdGF0aWMgY29uc3Qgc3RydWN0IGh0bWxlbGRl
c2MgaHRtbGVsZGVzY3NbXSA9IHsKLSAgICB7IDEsICJhIiwgSFRNTEVMX0lOTElORSwgMCB9LAot
ICAgIHsgMSwgImIiLCBIVE1MRUxfSU5MSU5FLCAwIH0sCi0gICAgeyAyLCAiYnIiLCBIVE1MRUxf
SU5MSU5FLCBIVE1MRUxfRU1QVFkgfSwKLSAgICB7IDMsICJpbWciLCBIVE1MRUxfSU5MSU5FLCBI
VE1MRUxfRU1QVFkgfSwKLSAgICB7IDIsICJkZCIsIEhUTUxFTF9ETENPTlRFTlRTLCBIVE1MRUxf
RkxPVyB9LAotICAgIHsgMiwgImRsIiwgSFRNTEVMX0JMT0NLLCBIVE1MRUxfRExDT05URU5UUyB9
LAotICAgIHsgMiwgImR0IiwgSFRNTEVMX0RMQ09OVEVOVFMsIEhUTUxFTF9JTkxJTkUgfSwKLSAg
ICB7IDIsICJlbSIsIEhUTUxFTF9JTkxJTkUsIDAgfSwKLSAgICB7IDIsICJsaSIsIEhUTUxFTF9M
SSwgSFRNTEVMX0ZMT1cgfSwKLSAgICB7IDIsICJvbCIsIEhUTUxFTF9CTE9DSywgSFRNTEVMX0xJ
IH0sCi0gICAgeyAxLCAicCIsIEhUTUxFTF9CTE9DSywgSFRNTEVMX0lOTElORSB9LAotICAgIHsg
MiwgInRkIiwgSFRNTEVMX1RSQ09OVEVOVFMgfCBIVE1MRUxfQVVUT0NMT1NFLCBIVE1MRUxfRkxP
VyB9LAotICAgIHsgMiwgInRoIiwgSFRNTEVMX1RSQ09OVEVOVFMgfCBIVE1MRUxfQVVUT0NMT1NF
LCBIVE1MRUxfRkxPVyB9LAotICAgIHsgMiwgInRyIiwgSFRNTEVMX1RBQkxFQ09OVEVOVFMgfCBI
VE1MRUxfQVVUT0NMT1NFLCBIVE1MRUxfVFJDT05URU5UUyB9LAotICAgIHsgNSwgInRhYmxlIiwg
SFRNTEVMX0JMT0NLLCBIVE1MRUxfVEFCTEVDT05URU5UUyB9LAotICAgIHsgMiwgInVsIiwgSFRN
TEVMX0JMT0NLLCBIVE1MRUxfTEkgfSwKLSAgICB7IDAsIDAsIDAsIDAgfQotfTsKLSNkZWZpbmUg
SFRNTEVMREVTQ19CIChodG1sZWxkZXNjcyArIDEpCi0jZGVmaW5lIEhUTUxFTERFU0NfQlIgKGh0
bWxlbGRlc2NzICsgMikKLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBhZGRjb21tZW50IDogYWRkIGEg
Y29tbWVudCB0byB0aGUgbGlzdCBvZiBjb21tZW50cyBpZiBpdCBoYXMgZG94eWdlbiBzeW50YXgK
LSAqCi0gKiBFbnRlcjogICB0b2sgc3RydWN0Ci0gKi8KLXZvaWQKLWFkZGNvbW1lbnQoc3RydWN0
IHRvayAqdG9rKQotewotICAgIGlmICh0b2stPmxlbiA+PSAxICYmICh0b2stPnN0YXJ0WzBdID09
ICchJwotICAgICAgICB8fCAodG9rLT50eXBlID09IFRPS19CTE9DS0NPTU1FTlQgJiYgdG9rLT5z
dGFydFswXSA9PSAnKicpCi0gICAgICAgIHx8ICh0b2stPnR5cGUgPT0gVE9LX0lOTElORUNPTU1F
TlQgJiYgdG9rLT5zdGFydFswXSA9PSAnLycpKSkKLSAgICB7Ci0gICAgICAgIHN0cnVjdCBjb21t
ZW50ICpjb21tZW50OwotICAgICAgICBjb21tZW50ID0gbWVtYWxsb2Moc2l6ZW9mKHN0cnVjdCBj
b21tZW50KSk7Ci0gICAgICAgIGNvbW1lbnQtPnRleHQgPSBtZW1hbGxvYyh0b2stPmxlbiArIDEp
OwotICAgICAgICBtZW1jcHkoY29tbWVudC0+dGV4dCwgdG9rLT5zdGFydCwgdG9rLT5sZW4pOwot
ICAgICAgICBjb21tZW50LT50ZXh0W3Rvay0+bGVuXSA9IDA7Ci0gICAgICAgIGNvbW1lbnQtPnR5
cGUgPSB0b2stPnR5cGU7Ci0gICAgICAgIGNvbW1lbnQtPmZpbGVuYW1lID0gdG9rLT5maWxlbmFt
ZTsKLSAgICAgICAgY29tbWVudC0+bGluZW51bSA9IHRvay0+bGluZW51bTsKLSAgICAgICAgY29t
bWVudC0+bm9kZSA9IDA7Ci0gICAgICAgIGNvbW1lbnQtPmJhY2sgPSAwOwotICAgICAgICBpZiAo
Y29tbWVudC0+dGV4dFsxXSA9PSAnPCcpIHsKLSAgICAgICAgICAgIGNvbW1lbnQtPmJhY2sgPSAx
OwotICAgICAgICAgICAgaWYgKCFsYXN0aWRlbnRpZmllcikgewotICAgICAgICAgICAgICAgIGxv
Y2Vycm9yZXhpdChjb21tZW50LT5maWxlbmFtZSwgY29tbWVudC0+bGluZW51bSwKLSAgICAgICAg
ICAgICAgICAgICAgIm5vIGlkZW50aWZpZXIgdG8gYXR0YWNoIGRveHlnZW4gY29tbWVudCB0byIp
OwotICAgICAgICAgICAgfQotICAgICAgICAgICAgY29tbWVudC0+bm9kZSA9IGxhc3RpZGVudGlm
aWVyOwotICAgICAgICB9Ci0gICAgICAgIGNvbW1lbnQtPm5leHQgPSBjb21tZW50czsKLSAgICAg
ICAgY29tbWVudHMgPSBjb21tZW50OwotICAgIH0KLX0KLQotLyoqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBz
ZXRjb21tZW50bm9kZSA6IHNldCBwYXJzZSBub2RlIHRvIGF0dGFjaCBjb21tZW50cyB0bwotICoK
LSAqIEVudGVyOiAgIG5vZGUyID0gcGFyc2Ugbm9kZSBmb3IgaWRlbnRpZmllcgotICovCi12b2lk
Ci1zZXRjb21tZW50bm9kZShzdHJ1Y3Qgbm9kZSAqbm9kZTIpCi17Ci0gICAgc3RydWN0IGNvbW1l
bnQgKmNvbW1lbnQgPSBjb21tZW50czsKLSAgICB3aGlsZSAoY29tbWVudCAmJiAhY29tbWVudC0+
bm9kZSkgewotICAgICAgICBjb21tZW50LT5ub2RlID0gbm9kZTI7Ci0gICAgICAgIGNvbW1lbnQg
PSBjb21tZW50LT5uZXh0OwotICAgIH0KLSAgICBsYXN0aWRlbnRpZmllciA9IG5vZGUyOwotfQot
Ci0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioKLSAqIGpvaW5pbmxpbmVjb21tZW50cyA6IGpvaW4gYWRqYWNlbnQg
aW5saW5lIGNvbW1lbnRzCi0gKgotICogRW50ZXI6ICAgY29tbWVudCA9IGxpc3Qgb2YgY29tbWVu
dCBzdHJ1Y3RzCi0gKgotICogUmV0dXJuOiAgbmV3IGxpc3Qgb2YgY29tbWVudCBzdHJ1Y3RzCi0g
KgotICogVGhpcyBmdW5jdGlvbiBhbHNvIGRpc2NhcmRzIGFueSBzaW5nbGUgaW5saW5lIGNvbW1l
bnQgdGhhdCBkb2VzIG5vdAotICogcmVmZXIgYmFjay4KLSAqLwotc3RhdGljIHN0cnVjdCBjb21t
ZW50ICoKLWpvaW5pbmxpbmVjb21tZW50cyhzdHJ1Y3QgY29tbWVudCAqY29tbWVudHMpCi17Ci0g
ICAgc3RydWN0IGNvbW1lbnQgKipwY29tbWVudDsKLSAgICBwY29tbWVudCA9ICZjb21tZW50czsK
LSAgICBmb3IgKDs7KSB7Ci0gICAgICAgIHN0cnVjdCBjb21tZW50ICpjb21tZW50OwotICAgICAg
ICBjb21tZW50ID0gKnBjb21tZW50OwotICAgICAgICBpZiAoIWNvbW1lbnQpCi0gICAgICAgICAg
ICBicmVhazsKLSAgICAgICAgaWYgKGNvbW1lbnQtPnR5cGUgIT0gVE9LX0lOTElORUNPTU1FTlQp
IHsKLSAgICAgICAgICAgIC8qIEtlZXAgYmxvY2sgY29tbWVudCBhcyBpcy4gKi8KLSAgICAgICAg
ICAgIHBjb21tZW50ID0gJmNvbW1lbnQtPm5leHQ7Ci0gICAgICAgIH0gZWxzZSBpZiAoIWNvbW1l
bnQtPmJhY2sgJiYgKCFjb21tZW50LT5uZXh0Ci0gICAgICAgICAgICAgICAgfHwgY29tbWVudC0+
bmV4dC0+dHlwZSAhPSBUT0tfSU5MSU5FQ09NTUVOVAotICAgICAgICAgICAgICAgIHx8IGNvbW1l
bnQtPm5leHQtPmZpbGVuYW1lICE9IGNvbW1lbnQtPmZpbGVuYW1lCi0gICAgICAgICAgICAgICAg
fHwgY29tbWVudC0+bmV4dC0+bGluZW51bSAhPSBjb21tZW50LT5saW5lbnVtICsgMSkpCi0gICAg
ICAgIHsKLSAgICAgICAgICAgIC8qIERpc2NhcmQgc2luZ2xlIC8vIGNvbW1lbnQgdGhhdCBkb2Vz
IG5vdCByZWZlciBiYWNrLiAqLwotICAgICAgICAgICAgKnBjb21tZW50ID0gY29tbWVudC0+bmV4
dDsKLQotICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgLyogRmluZCBzZXF1ZW5jZSBvZiBh
ZGphY2VudCAvLyBjb21tZW50cyAoYWRqYWNlbnQgbGluZXMsCi0gICAgICAgICAgICAgKiByZWZl
cnJpbmcgdG8gc2FtZSBub2RlKSBhbmQgam9pbiB0aGVtLiBXZSBkbyB0aGlzIGluIHR3bwotICAg
ICAgICAgICAgICogcGFzc2VzLCBvbmUgdG8gY291bnQgdGhlIGxlbmd0aCBvZiB0aGUgY29tbWVu
dCBhbmQgb25lCi0gICAgICAgICAgICAgKiB0byBqb2luLiBOb3RlIHRoYXQgdGhlIGxpc3QgaXMg
c3RpbGwgaW4gcmV2ZXJzZSBvcmRlciwKLSAgICAgICAgICAgICAqIHNvIHdlIGV4cGVjdCB0aGUg
bGluZSBudW1iZXIgdG8gZGVjcmVhc2UgYnkgMSBlYWNoIHRpbWUuICovCi0gICAgICAgICAgICBz
dHJ1Y3QgY29tbWVudCAqbmV3Y29tbWVudCA9IDAsICpjb21tZW50MjsKLSAgICAgICAgICAgIGNv
bnN0IGNoYXIgKmZpbGVuYW1lID0gY29tbWVudC0+ZmlsZW5hbWU7Ci0gICAgICAgICAgICB1bnNp
Z25lZCBpbnQgbGluZW51bSA9IGNvbW1lbnQtPmxpbmVudW07Ci0gICAgICAgICAgICBmb3IgKDs7
KSB7Ci0gICAgICAgICAgICAgICAgY2hhciAqd3AgPSBuZXdjb21tZW50LT50ZXh0OwotICAgICAg
ICAgICAgICAgIGNvbW1lbnQyID0gY29tbWVudDsKLSAgICAgICAgICAgICAgICBkbyB7Ci0gICAg
ICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBsZW4gPSBzdHJsZW4oY29tbWVudDItPnRleHQp
OwotICAgICAgICAgICAgICAgICAgICBpZiAobmV3Y29tbWVudCkKLSAgICAgICAgICAgICAgICAg
ICAgICAgIG1lbWNweSh3cCwgY29tbWVudDItPnRleHQsIGxlbik7Ci0gICAgICAgICAgICAgICAg
ICAgIHdwICs9IGxlbjsKLSAgICAgICAgICAgICAgICAgICAgbGluZW51bS0tOwotICAgICAgICAg
ICAgICAgICAgICBjb21tZW50MiA9IGNvbW1lbnQyLT5uZXh0OwotICAgICAgICAgICAgICAgIH0g
d2hpbGUgKGNvbW1lbnQyICYmIGNvbW1lbnQyLT5maWxlbmFtZSA9PSBmaWxlbmFtZQotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICYmIGNvbW1lbnQyLT5saW5lbnVtID09IGxpbmVudW0KLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAmJiBjb21tZW50Mi0+bm9kZSA9PSBjb21tZW50LT5u
b2RlKTsKLSAgICAgICAgICAgICAgICAvKiBGaW5pc2hlZCBhIHBhc3MuICovCi0gICAgICAgICAg
ICAgICAgaWYgKG5ld2NvbW1lbnQpIHsKLSAgICAgICAgICAgICAgICAgICAgKndwID0gMDsKLSAg
ICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAg
ICAgIG5ld2NvbW1lbnQgPSBtZW1hbGxvYyhzaXplb2Yoc3RydWN0IGNvbW1lbnQpCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICsgd3AgLSBuZXdjb21tZW50LT50ZXh0KTsKLSAgICAg
ICAgICAgICAgICBuZXdjb21tZW50LT5ub2RlID0gY29tbWVudC0+bm9kZTsKLSAgICAgICAgICAg
ICAgICBuZXdjb21tZW50LT50eXBlID0gY29tbWVudC0+dHlwZTsKLSAgICAgICAgICAgICAgICBu
ZXdjb21tZW50LT5maWxlbmFtZSA9IGZpbGVuYW1lOwotICAgICAgICAgICAgICAgIG5ld2NvbW1l
bnQtPmxpbmVudW0gPSBsaW5lbnVtICsgMTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIC8q
IFJlcGxhY2UgdGhlIHNjYW5uZWQgY29tbWVudCBzdHJ1Y3Qgd2l0aCBuZXdjb21tZW50IGluIHRo
ZQotICAgICAgICAgICAgICogbGlzdC4gKi8KLSAgICAgICAgICAgIG5ld2NvbW1lbnQtPm5leHQg
PSBjb21tZW50MjsKLSAgICAgICAgICAgICpwY29tbWVudCA9IG5ld2NvbW1lbnQ7Ci0gICAgICAg
ICAgICBwY29tbWVudCA9ICZuZXdjb21tZW50LT5uZXh0OwotICAgICAgICB9Ci0gICAgfQotICAg
IHJldHVybiBjb21tZW50czsKLX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBvdXRwdXRjaGlsZHJl
biA6IGNhbGwgb3V0cHV0IHJlY3Vyc2l2ZWx5IG9uIGNoaWxkcmVuIG9mIGNub2RlCi0gKgotICog
RW50ZXI6ICAgY25vZGUKLSAqICAgICAgICAgIGluZGVudCA9IGluZGVudCAobmVzdGluZykgbGV2
ZWwgb2YgcGFyZW50Ci0gKiAgICAgICAgICBpbmRlc2MgPSB3aGV0aGVyIGFscmVhZHkgaW4gPGRl
c2NyaXB0aW9uPiBvciBvdGhlciB0b3AtbGV2ZWwKLSAqICAgICAgICAgICAgICAgICAgIGRlc2Ny
aXB0aXZlIGVsZW1lbnQKLSAqLwotc3RhdGljIHZvaWQKLW91dHB1dGNoaWxkcmVuKHN0cnVjdCBj
bm9kZSAqY25vZGUsIHVuc2lnbmVkIGludCBpbmRlbnQsIGludCBpbmRlc2MpCi17Ci0gICAgaW50
IGN1cmluZGVzYyA9IGluZGVzYzsKLSAgICBjbm9kZSA9IGNub2RlLT5jaGlsZHJlbjsKLSAgICB3
aGlsZSAoY25vZGUpIHsKLSAgICAgICAgaWYgKGN1cmluZGVzYyAhPSBjbm9kZS0+ZnVuY3MtPmlu
ZGVzYykgewotICAgICAgICAgICAgYXNzZXJ0KCFpbmRlc2MpOwotICAgICAgICAgICAgcHJpbnRm
KCIlKnM8JXNkZXNjcmlwdGlvbj5cbiIsIGluZGVudCArIDEsICIiLCBjdXJpbmRlc2MgPyAiLyIg
OiAiIik7Ci0gICAgICAgICAgICBjdXJpbmRlc2MgPSAhY3VyaW5kZXNjOwotICAgICAgICB9Ci0g
ICAgICAgICgqY25vZGUtPmZ1bmNzLT5vdXRwdXQpKGNub2RlLCBpbmRlbnQgKyAyKTsKLSAgICAg
ICAgY25vZGUgPSBjbm9kZS0+bmV4dDsKLSAgICB9Ci0gICAgaWYgKGN1cmluZGVzYyAhPSBpbmRl
c2MpCi0gICAgICAgIHByaW50ZigiJSpzPCVzZGVzY3JpcHRpb24+XG4iLCBpbmRlbnQgKyAxLCAi
IiwgY3VyaW5kZXNjID8gIi8iIDogIiIpOwotfQotCi0vKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIGRlZmF1
bHRfYXNrZW5kIDogYXNrIG5vZGUgaWYgaXQgd2FudHMgdG8gZW5kIGF0IGEgcGFyYSBzdGFydCAo
ZGVmYXVsdAotICogICAgICAgICAgICAgICAgICBpbXBsZW1lbnRhdGlvbikKLSAqCi0gKiBFbnRl
cjogICBjbm9kZQotICogICAgICAgICAgdHlwZSA9IDAgZWxzZSBjbm9kZWZ1bmNzIGZvciBuZXds
eSBzdGFydGluZyBwYXJhCi0gKgotICogUmV0dXJuOiAgbm9uLXplcm8gaWYgdGhpcyBub2RlIHdh
bnRzIHRvIGVuZAotICovCi1zdGF0aWMgaW50Ci1kZWZhdWx0X2Fza2VuZChzdHJ1Y3QgY25vZGUg
KmNub2RlLCBjb25zdCBzdHJ1Y3QgY25vZGVmdW5jcyAqdHlwZSkKLXsKLSAgICByZXR1cm4gMTsK
LX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqCi0gKiByb290X2Fza2VuZCA6IGFzayByb290IG5vZGUgaWYg
aXQgd2FudHMgdG8gZW5kIGF0IGEgcGFyYSBzdGFydAotICoKLSAqIEVudGVyOiAgIGNub2RlIGZv
ciByb290Ci0gKiAgICAgICAgICB0eXBlID0gMCBlbHNlIGNub2RlZnVuY3MgZm9yIG5ld2x5IHN0
YXJ0aW5nIHBhcmEKLSAqCi0gKiBSZXR1cm46ICBub24temVybyBpZiB0aGlzIG5vZGUgd2FudHMg
dG8gZW5kCi0gKi8KLXN0YXRpYyBpbnQKLXJvb3RfYXNrZW5kKHN0cnVjdCBjbm9kZSAqY25vZGUs
IGNvbnN0IHN0cnVjdCBjbm9kZWZ1bmNzICp0eXBlKQotewotICAgIHJldHVybiAwOwotfQotCi0v
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioKLSAqIHJvb3Rfb3V0cHV0IDogb3V0cHV0IHJvb3QgY25vZGUKLSAqCi0g
KiBFbnRlcjogICBjbm9kZSBmb3Igcm9vdAotICogICAgICAgICAgaW5kZW50ID0gaW5kZW50IChu
ZXN0aW5nKSBsZXZlbAotICovCi1zdGF0aWMgdm9pZAotcm9vdF9vdXRwdXQoc3RydWN0IGNub2Rl
ICpjbm9kZSwgdW5zaWduZWQgaW50IGluZGVudCkKLXsKLSAgICBvdXRwdXRjaGlsZHJlbihjbm9k
ZSwgaW5kZW50LCAwKTsKLX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBjbm9kZSB0eXBlIHJvb3QK
LSAqLwotc3RhdGljIGNvbnN0IHN0cnVjdCBjbm9kZWZ1bmNzIHJvb3RfZnVuY3MgPSB7Ci0gICAg
MCwgLyogIWluZGVzYyAqLwotICAgIDEsIC8qIG5lZWRwYXJhICovCi0gICAgJnJvb3RfYXNrZW5k
LAotICAgIDAsIC8qIGVuZCAqLwotICAgICZyb290X291dHB1dCwKLX07Ci0KLS8qKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKgotICogZW5kY25vZGUgOiBlbmQgY3VycmVudCBjbm9kZQotICoKLSAqIEVudGVyOiAgIGNu
b2RlID0gY3VycmVudCBjbm9kZQotICoKLSAqIFJldHVybjogIGNub2RlID0gbmV3IGN1cnJlbnQg
Y29kZSAocGFyZW50IG9mIG9sZCBvbmUpCi0gKi8KLXN0YXRpYyBzdHJ1Y3QgY25vZGUgKgotZW5k
Y25vZGUoc3RydWN0IGNub2RlICpjbm9kZSkKLXsKLSAgICBpZiAoY25vZGUtPmZ1bmNzLT5lbmQp
Ci0gICAgICAgICgqY25vZGUtPmZ1bmNzLT5lbmQpKGNub2RlKTsKLSAgICAvKiBSZXZlcnNlIHRo
ZSBjaGlsZHJlbiBsaXN0LiAqLwotICAgIHsKLSAgICAgICAgc3RydWN0IGNub2RlICpjaGlsZCA9
IGNub2RlLT5jaGlsZHJlbjsKLSAgICAgICAgY25vZGUtPmNoaWxkcmVuID0gMDsKLSAgICAgICAg
d2hpbGUgKGNoaWxkKSB7Ci0gICAgICAgICAgICBzdHJ1Y3QgY25vZGUgKm5leHQgPSBjaGlsZC0+
bmV4dDsKLSAgICAgICAgICAgIGNoaWxkLT5uZXh0ID0gY25vZGUtPmNoaWxkcmVuOwotICAgICAg
ICAgICAgY25vZGUtPmNoaWxkcmVuID0gY2hpbGQ7Ci0gICAgICAgICAgICBjaGlsZCA9IG5leHQ7
Ci0gICAgICAgIH0KLSAgICB9Ci0gICAgcmV0dXJuIGNub2RlLT5wYXJlbnQ7Ci19Ci0KLS8qKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKgotICogZW5kc3BlY2lmaWNjbm9kZSA6IGVuZCBhIHNwZWNpZmljIHR5cGUgb2Yg
Y25vZGUKLSAqCi0gKiBFbnRlcjogICBjbm9kZSA9IGN1cnJlbnQgY25vZGUKLSAqICAgICAgICAg
IHR5cGUgPSB0eXBlIG9mIG5vZGUgdG8gZW5kCi0gKiAgICAgICAgICBmaWxlbmFtZSwgbGluZW51
bSA9IGZpbGVuYW1lIGFuZCBsaW5lIG51bWJlciAoZm9yIGVycm9yIHJlcG9ydGluZykKLSAqCi0g
KiBSZXR1cm46ICBuZXcgY3VycmVudCBjbm9kZQotICovCi1zdGF0aWMgc3RydWN0IGNub2RlICoK
LWVuZHNwZWNpZmljY25vZGUoc3RydWN0IGNub2RlICpjbm9kZSwgY29uc3Qgc3RydWN0IGNub2Rl
ZnVuY3MgKnR5cGUsCi0gICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmZpbGVuYW1lLCB1bnNp
Z25lZCBpbnQgbGluZW51bSkKLXsKLSAgICB3aGlsZSAoY25vZGUtPmZ1bmNzICE9IHR5cGUpIHsK
LSAgICAgICAgaWYgKGNub2RlLT5mdW5jcyA9PSAmcm9vdF9mdW5jcykKLSAgICAgICAgICAgIGxv
Y2Vycm9yZXhpdChmaWxlbmFtZSwgbGluZW51bSwgInVubWF0Y2hlZCBcXGVuZGNvZGUiKTsKLSAg
ICAgICAgY25vZGUgPSBlbmRjbm9kZShjbm9kZSk7Ci0gICAgfQotICAgIHJldHVybiBjbm9kZTsK
LX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqCi0gKiBzdGFydGNub2RlIDogc3RhcnQgYSBuZXdseSBjcmVh
dGVkIGNub2RlCi0gKgotICogRW50ZXI6ICAgY25vZGUgPSBjdXJyZW50IGNub2RlCi0gKiAgICAg
ICAgICBuZXdjbm9kZSA9IG5ldyBjbm9kZSB0byBzdGFydAotICoKLSAqIFJldHVybjogIG5ldyBj
dXJyZW50IGNub2RlICh3aGljaCBpcyB0aGUgc2FtZSBhcyBuZXdjbm9kZSkKLSAqLwotc3RhdGlj
IHN0cnVjdCBjbm9kZSAqCi1zdGFydGNub2RlKHN0cnVjdCBjbm9kZSAqY25vZGUsIHN0cnVjdCBj
bm9kZSAqbmV3Y25vZGUpCi17Ci0gICAgbmV3Y25vZGUtPnBhcmVudCA9IGNub2RlOwotICAgIG5l
d2Nub2RlLT5uZXh0ID0gY25vZGUtPmNoaWxkcmVuOwotICAgIGNub2RlLT5jaGlsZHJlbiA9IG5l
d2Nub2RlOwotICAgIHJldHVybiBuZXdjbm9kZTsKLX0KLQotLyoqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBw
YXJhX291dHB1dCA6IG91dHB1dCBwYXJhIGNub2RlCi0gKgotICogRW50ZXI6ICAgY25vZGUgZm9y
IHJvb3QKLSAqICAgICAgICAgIGluZGVudCA9IGluZGVudCAobmVzdGluZykgbGV2ZWwKLSAqLwot
c3RhdGljIHZvaWQKLXBhcmFfb3V0cHV0KHN0cnVjdCBjbm9kZSAqY25vZGUsIHVuc2lnbmVkIGlu
dCBpbmRlbnQpCi17Ci0gICAgcHJpbnRmKCIlKnM8cD5cbiIsIGluZGVudCwgIiIpOwotICAgIG91
dHB1dGNoaWxkcmVuKGNub2RlLCBpbmRlbnQsIDEpOwotICAgIHByaW50ZigiJSpzPC9wPlxuIiwg
aW5kZW50LCAiIik7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogcGFyYV9lbmQgOiBlbmQgYSBw
YXJhIGNub2RlCi0gKgotICogRW50ZXI6ICAgY25vZGUgc3RydWN0Ci0gKi8KLXN0YXRpYyB2b2lk
Ci1wYXJhX2VuZChzdHJ1Y3QgY25vZGUgKmNub2RlKQotewotICAgIC8qIElmIHRoZSBwYXJhIGNu
b2RlIGlzIGVtcHR5LCByZW1vdmUgaXQuICovCi0gICAgaWYgKCFjbm9kZS0+Y2hpbGRyZW4pCi0g
ICAgICAgIGNub2RlLT5wYXJlbnQtPmNoaWxkcmVuID0gY25vZGUtPm5leHQ7Ci19Ci0KLS8qKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKgotICogY25vZGUgdHlwZSBwYXJhCi0gKi8KLXN0YXRpYyBjb25zdCBzdHJ1Y3Qg
Y25vZGVmdW5jcyBwYXJhX2Z1bmNzID0gewotICAgIDEsIC8qIGluZGVzYyAqLwotICAgIDAsIC8q
ICFuZWVkcGFyYSAqLwotICAgICZkZWZhdWx0X2Fza2VuZCwKLSAgICAmcGFyYV9lbmQsIC8qIGVu
ZCAqLwotICAgICZwYXJhX291dHB1dCwKLX07Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogYnJpZWZf
b3V0cHV0IDogb3V0cHV0IGJyaWVmIGNub2RlCi0gKgotICogRW50ZXI6ICAgY25vZGUgZm9yIHJv
b3QKLSAqICAgICAgICAgIGluZGVudCA9IGluZGVudCAobmVzdGluZykgbGV2ZWwKLSAqLwotc3Rh
dGljIHZvaWQKLWJyaWVmX291dHB1dChzdHJ1Y3QgY25vZGUgKmNub2RlLCB1bnNpZ25lZCBpbnQg
aW5kZW50KQotewotICAgIHByaW50ZigiJSpzPGJyaWVmPlxuIiwgaW5kZW50LCAiIik7Ci0gICAg
b3V0cHV0Y2hpbGRyZW4oY25vZGUsIGluZGVudCwgMSk7Ci0gICAgcHJpbnRmKCIlKnM8L2JyaWVm
PlxuIiwgaW5kZW50LCAiIik7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogY25vZGUgdHlwZSBi
cmllZgotICovCi1zdGF0aWMgY29uc3Qgc3RydWN0IGNub2RlZnVuY3MgYnJpZWZfZnVuY3MgPSB7
Ci0gICAgMCwgLyogIWluZGVzYyAqLwotICAgIDAsIC8qICFuZWVkcGFyYSAqLwotICAgICZkZWZh
dWx0X2Fza2VuZCwKLSAgICAwLCAvKiBlbmQgKi8KLSAgICAmYnJpZWZfb3V0cHV0LAotfTsKLQot
LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqCi0gKiByZXR1cm5fb3V0cHV0IDogb3V0cHV0IHJldHVybiBjbm9kZQot
ICoKLSAqIEVudGVyOiAgIGNub2RlIGZvciByb290Ci0gKiAgICAgICAgICBpbmRlbnQgPSBpbmRl
bnQgKG5lc3RpbmcpIGxldmVsCi0gKi8KLXN0YXRpYyB2b2lkCi1yZXR1cm5fb3V0cHV0KHN0cnVj
dCBjbm9kZSAqY25vZGUsIHVuc2lnbmVkIGludCBpbmRlbnQpCi17Ci0gICAgcHJpbnRmKCIlKnM8
ZGVzY3JpcHRpb24+PHA+XG4iLCBpbmRlbnQsICIiKTsKLSAgICBvdXRwdXRjaGlsZHJlbihjbm9k
ZSwgaW5kZW50LCAxKTsKLSAgICBwcmludGYoIiUqczwvcD48L2Rlc2NyaXB0aW9uPlxuIiwgaW5k
ZW50LCAiIik7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogY25vZGUgdHlwZSByZXR1cm4KLSAq
Lwotc3RhdGljIGNvbnN0IHN0cnVjdCBjbm9kZWZ1bmNzIHJldHVybl9mdW5jcyA9IHsKLSAgICAw
LCAvKiAhaW5kZXNjICovCi0gICAgMCwgLyogIW5lZWRwYXJhICovCi0gICAgJmRlZmF1bHRfYXNr
ZW5kLAotICAgIDAsIC8qIGVuZCAqLwotICAgICZyZXR1cm5fb3V0cHV0LAotfTsKLQotLyoqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqCi0gKiBhdXRob3Jfb3V0cHV0IDogb3V0cHV0IG5hbWUgY25vZGUKLSAqCi0gKiBF
bnRlcjogICBjbm9kZSBmb3Igcm9vdAotICogICAgICAgICAgaW5kZW50ID0gaW5kZW50IChuZXN0
aW5nKSBsZXZlbAotICovCi1zdGF0aWMgdm9pZAotbmFtZV9vdXRwdXQoc3RydWN0IGNub2RlICpj
bm9kZSwgdW5zaWduZWQgaW50IGluZGVudCkKLXsKLSAgICBwcmludGYoIiUqczxuYW1lPlxuIiwg
aW5kZW50LCAiIik7Ci0gICAgb3V0cHV0Y2hpbGRyZW4oY25vZGUsIGluZGVudCwgMSk7Ci0gICAg
cHJpbnRmKCIlKnM8L25hbWU+XG4iLCBpbmRlbnQsICIiKTsKLX0KLQotLyoqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
Ci0gKiBjbm9kZSB0eXBlIG5hbWUKLSAqLwotc3RhdGljIGNvbnN0IHN0cnVjdCBjbm9kZWZ1bmNz
IG5hbWVfZnVuY3MgPSB7Ci0gICAgMCwgLyogIWluZGVzYyAqLwotICAgIDAsIC8qICFuZWVkcGFy
YSAqLwotICAgICZkZWZhdWx0X2Fza2VuZCwKLSAgICAwLCAvKiBlbmQgKi8KLSAgICAmbmFtZV9v
dXRwdXQsCi19OwotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIGF1dGhvcl9vdXRwdXQgOiBvdXRwdXQg
YXV0aG9yIGNub2RlCi0gKgotICogRW50ZXI6ICAgY25vZGUgZm9yIHJvb3QKLSAqICAgICAgICAg
IGluZGVudCA9IGluZGVudCAobmVzdGluZykgbGV2ZWwKLSAqLwotc3RhdGljIHZvaWQKLWF1dGhv
cl9vdXRwdXQoc3RydWN0IGNub2RlICpjbm9kZSwgdW5zaWduZWQgaW50IGluZGVudCkKLXsKLSAg
ICBwcmludGYoIiUqczxhdXRob3I+XG4iLCBpbmRlbnQsICIiKTsKLSAgICBvdXRwdXRjaGlsZHJl
bihjbm9kZSwgaW5kZW50LCAxKTsKLSAgICBwcmludGYoIiUqczwvYXV0aG9yPlxuIiwgaW5kZW50
LCAiIik7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogY25vZGUgdHlwZSBhdXRob3IKLSAqLwot
c3RhdGljIGNvbnN0IHN0cnVjdCBjbm9kZWZ1bmNzIGF1dGhvcl9mdW5jcyA9IHsKLSAgICAwLCAv
KiAhaW5kZXNjICovCi0gICAgMCwgLyogIW5lZWRwYXJhICovCi0gICAgJmRlZmF1bHRfYXNrZW5k
LAotICAgIDAsIC8qIGVuZCAqLwotICAgICZhdXRob3Jfb3V0cHV0LAotfTsKLQotLyoqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqCi0gKiB2ZXJzaW9uX291dHB1dCA6IG91dHB1dCB2ZXJzaW9uIGNub2RlCi0gKgotICog
RW50ZXI6ICAgY25vZGUgZm9yIHJvb3QKLSAqICAgICAgICAgIGluZGVudCA9IGluZGVudCAobmVz
dGluZykgbGV2ZWwKLSAqLwotc3RhdGljIHZvaWQKLXZlcnNpb25fb3V0cHV0KHN0cnVjdCBjbm9k
ZSAqY25vZGUsIHVuc2lnbmVkIGludCBpbmRlbnQpCi17Ci0gICAgcHJpbnRmKCIlKnM8dmVyc2lv
bj5cbiIsIGluZGVudCwgIiIpOwotICAgIG91dHB1dGNoaWxkcmVuKGNub2RlLCBpbmRlbnQsIDEp
OwotICAgIHByaW50ZigiJSpzPC92ZXJzaW9uPlxuIiwgaW5kZW50LCAiIik7Ci19Ci0KLS8qKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKgotICogY25vZGUgdHlwZSB2ZXJzaW9uCi0gKi8KLXN0YXRpYyBjb25zdCBzdHJ1
Y3QgY25vZGVmdW5jcyB2ZXJzaW9uX2Z1bmNzID0gewotICAgIDAsIC8qICFpbmRlc2MgKi8KLSAg
ICAwLCAvKiAhbmVlZHBhcmEgKi8KLSAgICAmZGVmYXVsdF9hc2tlbmQsCi0gICAgMCwgLyogZW5k
ICovCi0gICAgJnZlcnNpb25fb3V0cHV0LAotfTsKLQotLyoqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBjbm9k
ZSB0eXBlIGNvZGUKLSAqLwotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBjb2RlX2VuZCA6IGVuZCBhIGNv
ZGUgY25vZGUKLSAqCi0gKiBFbnRlcjogICBjbm9kZSBzdHJ1Y3QKLSAqLwotc3RhdGljIHZvaWQK
LWNvZGVfZW5kKHN0cnVjdCBjbm9kZSAqY25vZGUpCi17Ci0gICAgaWYgKGluY29kZSkgewotICAg
ICAgICAvKiBUaGUgaW5jb2RlIGZsYWcgaGFzIG5vdCBiZWVuIGNsZWFyZWQsIHNvIHRoaXMgY29k
ZSBjbm9kZSBpcwotICAgICAgICAgKiBiZWluZyBlbmRlZCBpbXBsaWNpdGx5LiBXZSBjb21wbGFp
biBhYm91dCB0aGF0LiAqLwotICAgICAgICBsb2NlcnJvcmV4aXQoY25vZGUtPmZpbGVuYW1lLCBj
bm9kZS0+bGluZW51bSwgIm1pc21hdGNoZWQgXFxjb2RlIik7Ci0gICAgfQotfQotCi0vKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioKLSAqIGNvZGVfb3V0cHV0IDogb3V0cHV0IGNvZGUgY25vZGUKLSAqCi0gKiBFbnRl
cjogICBjbm9kZSBmb3Igcm9vdAotICogICAgICAgICAgaW5kZW50ID0gaW5kZW50IChuZXN0aW5n
KSBsZXZlbAotICovCi1zdGF0aWMgdm9pZAotY29kZV9vdXRwdXQoc3RydWN0IGNub2RlICpjbm9k
ZSwgdW5zaWduZWQgaW50IGluZGVudCkKLXsKLSAgICAvKiBOb3RlIGNhcGl0YWxpemF0aW9uIHRv
IGRpZmZlcmVudGlhdGUgaXQgZnJvbSBIVE1MIGNvZGUgZWxlbWVudC4gKi8KLSAgICBpZihjbm9k
ZS0+YXR0cnRleHQpCi0JICAgIHByaW50ZigiJSpzPENvZGUgJXM+IiwgaW5kZW50LCAiIiwgY25v
ZGUtPmF0dHJ0ZXh0KTsKLQllbHNlCi0JICAgIHByaW50ZigiJSpzPENvZGU+IiwgaW5kZW50LCAi
Iik7Ci0gICAgb3V0cHV0Y2hpbGRyZW4oY25vZGUsIGluZGVudCwgMSk7Ci0gICAgcHJpbnRmKCI8
L0NvZGU+XG4iKTsKLX0KLQotc3RhdGljIGNvbnN0IHN0cnVjdCBjbm9kZWZ1bmNzIGNvZGVfZnVu
Y3MgPSB7Ci0gICAgMCwgLyogaW5kZXNjICovCi0gICAgMCwgLyogIW5lZWRwYXJhICovCi0gICAg
JmRlZmF1bHRfYXNrZW5kLAotICAgICZjb2RlX2VuZCwgLyogZW5kICovCi0gICAgJmNvZGVfb3V0
cHV0LAotfTsKLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBzdGFydHBhcmEgOiBzdGFydCBhIG5ldyBw
YXJhIGNub2RlIGluIHRoZSBwYXJzZSB0cmVlCi0gKgotICogRW50ZXI6ICAgY25vZGUgPSBjdXJy
ZW50IGNub2RlCi0gKiAgICAgICAgICB0eXBlID0gdnRhYmxlIGZvciBwYXJ0aWN1bGFyIHR5cGUg
b2YgY25vZGUKLSAqCi0gKiBSZXR1cm46ICBuZXcgY3VycmVudCBjbm9kZQotICovCi1zdGF0aWMg
c3RydWN0IGNub2RlICoKLXN0YXJ0cGFyYShzdHJ1Y3QgY25vZGUgKmNub2RlLCBjb25zdCBzdHJ1
Y3QgY25vZGVmdW5jcyAqdHlwZSkKLXsKLSAgICBzdHJ1Y3QgY25vZGUgKm5ld2Nub2RlOwotICAg
IHdoaWxlICgoKmNub2RlLT5mdW5jcy0+YXNrZW5kKShjbm9kZSwgdHlwZSkpCi0gICAgICAgIGNu
b2RlID0gZW5kY25vZGUoY25vZGUpOwotICAgIG5ld2Nub2RlID0gbWVtYWxsb2Moc2l6ZW9mKHN0
cnVjdCBjbm9kZSkpOwotICAgIG5ld2Nub2RlLT5mdW5jcyA9IHR5cGU7Ci0gICAgcmV0dXJuIHN0
YXJ0Y25vZGUoY25vZGUsIG5ld2Nub2RlKTsKLX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBjbm9k
ZSB0eXBlIHRleHQKLSAqLwotc3RydWN0IHRleHRjbm9kZSB7Ci0gICAgc3RydWN0IGNub2RlIGNu
OwotICAgIHVuc2lnbmVkIGNoYXIgKmRhdGE7Ci0gICAgdW5zaWduZWQgaW50IGxlbjsKLSAgICB1
bnNpZ25lZCBpbnQgbWF4OwotfTsKLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiB0ZXh0X2VuZCA6IGVu
ZCBhIHRleHQgY25vZGUKLSAqCi0gKiBFbnRlcjogICBjbm9kZSBzdHJ1Y3QKLSAqLwotc3RhdGlj
IHZvaWQKLXRleHRfZW5kKHN0cnVjdCBjbm9kZSAqY25vZGUpCi17Ci0gICAgc3RydWN0IHRleHRj
bm9kZSAqdGV4dGNub2RlID0gKHZvaWQgKiljbm9kZTsKLSAgICB0ZXh0Y25vZGUtPmRhdGFbdGV4
dGNub2RlLT5sZW5dID0gMDsKLSAgICB0ZXh0Y25vZGUtPm1heCA9IHRleHRjbm9kZS0+bGVuICsg
MTsKLSAgICB0ZXh0Y25vZGUtPmRhdGEgPSBtZW1yZWFsbG9jKHRleHRjbm9kZS0+ZGF0YSwgdGV4
dGNub2RlLT5tYXgpOwotfQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIHRleHRfb3V0cHV0IDogb3V0
cHV0IHRleHQgY25vZGUKLSAqCi0gKiBFbnRlcjogICBjbm9kZSBmb3Igcm9vdAotICogICAgICAg
ICAgaW5kZW50ID0gaW5kZW50IChuZXN0aW5nKSBsZXZlbAotICovCi1zdGF0aWMgdm9pZAotdGV4
dF9vdXRwdXQoc3RydWN0IGNub2RlICpjbm9kZSwgdW5zaWduZWQgaW50IGluZGVudCkKLXsKLSAg
ICAvKiBXZSBkbyBub3QgaW5kZW50LCBpbiBjYXNlIHRoaXMgaXMgaW5zaWRlIGEgY29kZSBjbm9k
ZS4gKi8KLSAgICBzdHJ1Y3QgdGV4dGNub2RlICp0ZXh0Y25vZGUgPSAodm9pZCAqKWNub2RlOwot
ICAgIHVuc2lnbmVkIGludCBsZW4gPSB0ZXh0Y25vZGUtPmxlbjsKLSAgICB1bnNpZ25lZCBjb25z
dCBjaGFyICpwID0gdGV4dGNub2RlLT5kYXRhOwotICAgIHdoaWxlIChsZW4pIHsKLSAgICAgICAg
dW5zaWduZWQgaW50IHRoaXNsZW47Ci0gICAgICAgIGNvbnN0IGNoYXIgKnRoaXNwdHI7Ci0gICAg
ICAgIHRoaXNsZW4gPSBwWzBdOwotICAgICAgICAvKiAodm9pZCAqKSBjYXN0IGlzIHRvIGF2b2lk
IGEgd2FybmluZyBmcm9tIHRoZSBNUyBjb21waWxlci4KLSAgICAgICAgICogSSB0aGluayB0aGUg
d2FybmluZyBpcyB3cm9uZywgYnV0IEkgY291bGQgYmUgd3JvbmcuICovCi0gICAgICAgIG1lbWNw
eSgodm9pZCAqKSZ0aGlzcHRyLCBwICsgMSwgc2l6ZW9mKHZvaWQgKikpOwotICAgICAgICBwICs9
IDEgKyBzaXplb2Yodm9pZCAqKTsKLSAgICAgICAgbGVuIC09IDEgKyBzaXplb2Yodm9pZCAqKTsK
LSAgICAgICAgcHJpbnR0ZXh0KHRoaXNwdHIsIHRoaXNsZW4sIDApOwotICAgIH0KLX0KLQotc3Rh
dGljIGNvbnN0IHN0cnVjdCBjbm9kZWZ1bmNzIHRleHRfZnVuY3MgPSB7Ci0gICAgMSwgLyogIWlu
ZGVzYyAqLwotICAgIDAsIC8qICFuZWVkcGFyYSAqLwotICAgICZkZWZhdWx0X2Fza2VuZCwKLSAg
ICAmdGV4dF9lbmQsIC8qIGVuZCAqLwotICAgICZ0ZXh0X291dHB1dCwKLX07Ci0KLS8qKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKgotICogY25vZGUgdHlwZSBodG1sIChIVE1MIGVsZW1lbnQpCi0gKi8KLXN0cnVjdCBo
dG1sY25vZGUgewotICAgIHN0cnVjdCBjbm9kZSBjbjsKLSAgICBjb25zdCBzdHJ1Y3QgaHRtbGVs
ZGVzYyAqZGVzYzsKLSAgICBjaGFyIGF0dHJzWzFdOwotfTsKLQotLyoqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0g
KiBodG1sX2VuZCA6IGVuZCBhbiBodG1sIGNub2RlCi0gKgotICogRW50ZXI6ICAgY25vZGUgc3Ry
dWN0Ci0gKi8KLXN0YXRpYyB2b2lkCi1odG1sX2VuZChzdHJ1Y3QgY25vZGUgKmNub2RlKQotewot
ICAgIGlmICgoKHN0cnVjdCBodG1sY25vZGUgKiljbm9kZSktPmRlc2MtPmZsYWdzICYgSFRNTEVM
X0JMT0NLKQotICAgICAgICBpbmh0bWxibG9jay0tOwotfQotCi0vKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAq
IGh0bWxfb3V0cHV0IDogb3V0cHV0IGh0bWwgY25vZGUKLSAqCi0gKiBFbnRlcjogICBjbm9kZSBm
b3Igcm9vdAotICogICAgICAgICAgaW5kZW50ID0gaW5kZW50IChuZXN0aW5nKSBsZXZlbAotICov
Ci1zdGF0aWMgdm9pZAotaHRtbF9vdXRwdXQoc3RydWN0IGNub2RlICpjbm9kZSwgdW5zaWduZWQg
aW50IGluZGVudCkKLXsKLSAgICBzdHJ1Y3QgaHRtbGNub2RlICpodG1sY25vZGUgPSAodm9pZCAq
KWNub2RlOwotICAgIGlmICghKGh0bWxjbm9kZS0+ZGVzYy0+ZmxhZ3MgJiBIVE1MRUxfSU5MSU5F
KSkKLSAgICAgICAgcHJpbnRmKCIlKnMiLCBpbmRlbnQsICIiKTsKLSAgICBpZiAoaHRtbGNub2Rl
LT5jbi5jaGlsZHJlbikgewotICAgICAgICBwcmludGYoIjwlcyVzPiIsIGh0bWxjbm9kZS0+ZGVz
Yy0+bmFtZSwgaHRtbGNub2RlLT5hdHRycyk7Ci0gICAgICAgIGlmICghKGh0bWxjbm9kZS0+ZGVz
Yy0+ZmxhZ3MgJiBIVE1MRUxfSU5MSU5FKSkKLSAgICAgICAgICAgIHB1dGNoYXIoJ1xuJyk7Ci0g
ICAgICAgIG91dHB1dGNoaWxkcmVuKCZodG1sY25vZGUtPmNuLCBpbmRlbnQsIDEpOwotICAgICAg
ICBpZiAoIShodG1sY25vZGUtPmRlc2MtPmZsYWdzICYgSFRNTEVMX0lOTElORSkpCi0gICAgICAg
ICAgICBwcmludGYoIiUqcyIsIGluZGVudCwgIiIpOwotICAgICAgICBwcmludGYoIjwvJXM+Iiwg
aHRtbGNub2RlLT5kZXNjLT5uYW1lKTsKLSAgICB9IGVsc2UKLSAgICAgICAgcHJpbnRmKCI8JXMl
cy8+IiwgaHRtbGNub2RlLT5kZXNjLT5uYW1lLCBodG1sY25vZGUtPmF0dHJzKTsKLSAgICBpZiAo
IShodG1sY25vZGUtPmRlc2MtPmZsYWdzICYgSFRNTEVMX0lOTElORSkpCi0gICAgICAgIHB1dGNo
YXIoJ1xuJyk7Ci19Ci0KLXN0YXRpYyBjb25zdCBzdHJ1Y3QgY25vZGVmdW5jcyBodG1sX2Z1bmNz
ID0gewotICAgIDEsIC8qIGluZGVzYyAqLwotICAgIDAsIC8qICFuZWVkcGFyYSAqLwotICAgICZk
ZWZhdWx0X2Fza2VuZCwKLSAgICAmaHRtbF9lbmQsIC8qIGVuZCAqLwotICAgICZodG1sX291dHB1
dCwKLX07Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKgotICogc3RhcnRodG1sY25vZGUgOiBzdGFydCBhIG5l
dyBodG1sIGNub2RlCi0gKgotICogRW50ZXI6ICAgY25vZGUgPSBjdXJyZW50IGNub2RlCi0gKiAg
ICAgICAgICBodG1sZWxkZXNjID0gaHRtbCBlbGVtZW50IGRlc2NyaXB0b3IKLSAqICAgICAgICAg
IGF0dHJzID0gYXR0cmlidXRlcyB0ZXh0Ci0gKiAgICAgICAgICBhdHRyc2xlbiA9IGxlbmd0aCBv
ZiBhdHRyaWJ1dGVzIHRleHQKLSAqICAgICAgICAgIGZpbGVuYW1lCi0gKiAgICAgICAgICBsaW5l
bnVtID0gbGluZSBudW1iZXIKLSAqCi0gKiBSZXR1cm46ICBuZXcgY3VycmVudCBjbm9kZQotICov
Ci1zdGF0aWMgc3RydWN0IGNub2RlICoKLXN0YXJ0aHRtbGNub2RlKHN0cnVjdCBjbm9kZSAqY25v
ZGUsIGNvbnN0IHN0cnVjdCBodG1sZWxkZXNjICpodG1sZWxkZXNjLAotICAgICAgICAgICAgICAg
Y29uc3QgY2hhciAqYXR0cnMsIHVuc2lnbmVkIGludCBhdHRyc2xlbiwKLSAgICAgICAgICAgICAg
IGNvbnN0IGNoYXIgKmZpbGVuYW1lLCB1bnNpZ25lZCBpbnQgbGluZW51bSkKLXsKLSAgICBzdHJ1
Y3QgaHRtbGNub2RlICpodG1sY25vZGU7Ci0gICAgLyogRmlyc3QgY2xvc2UgZW5vdWdoIGVsZW1l
bnRzIHRvIGdldCB0byBhIGNvbnRlbnQKLSAgICAgKiBtb2RlbCB0aGF0IHdpbGwgYWNjZXB0IHRo
aXMgbmV3IGVsZW1lbnQuICovCi0gICAgZm9yICg7OykgewotICAgICAgICBpZiAoY25vZGUtPmZ1
bmNzICE9ICZodG1sX2Z1bmNzKSB7Ci0gICAgICAgICAgICAvKiBOb3QgaW4gYW55IGh0bWwgZWxl
bWVudC4gV2UgY2FuIGFjY2VwdCBhbnkgYmxvY2sgZWxlbWVudAotICAgICAgICAgICAgICogKGlu
IHdoaWNoIGNhc2Ugd2UgbmVlZCB0byBjbG9zZSB0aGUgY3VycmVudCBwYXJhZ3JhcGgKLSAgICAg
ICAgICAgICAqIGZpcnN0KSBvciBhbnkgaW5saW5lIGVsZW1lbnQgKGluIHdoaWNoIGNhc2Ugd2Ug
bmVlZCB0bwotICAgICAgICAgICAgICogY2xvc2UgdGhlIGN1cnJlbnQgdGV4dCBjbm9kZSBmaXJz
dCkuICovCi0gICAgICAgICAgICBpZiAoIShodG1sZWxkZXNjLT5mbGFncyAmIEhUTUxFTF9JTkxJ
TkUpKSB7Ci0gICAgICAgICAgICAgICAgaWYgKCEoaHRtbGVsZGVzYy0+ZmxhZ3MgJiBIVE1MRUxf
QkxPQ0spKQotICAgICAgICAgICAgICAgICAgICBsb2NlcnJvcmV4aXQoZmlsZW5hbWUsIGxpbmVu
dW0sICI8JXM+IG5vdCB2YWxpZCBoZXJlIiwgaHRtbGVsZGVzYy0+bmFtZSk7Ci0gICAgICAgICAg
ICAgICAgd2hpbGUgKCgqY25vZGUtPmZ1bmNzLT5hc2tlbmQpKGNub2RlLCAwKSkKLSAgICAgICAg
ICAgICAgICAgICAgY25vZGUgPSBlbmRjbm9kZShjbm9kZSk7Ci0gICAgICAgICAgICB9IGVsc2Ug
ewotICAgICAgICAgICAgICAgIHdoaWxlIChjbm9kZS0+ZnVuY3MgPT0gJnRleHRfZnVuY3MpCi0g
ICAgICAgICAgICAgICAgICAgIGNub2RlID0gZW5kY25vZGUoY25vZGUpOwotICAgICAgICAgICAg
fQotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLSAgICAgICAgaHRtbGNub2RlID0gKHN0
cnVjdCBodG1sY25vZGUgKiljbm9kZTsKLSAgICAgICAgaWYgKCEoaHRtbGVsZGVzYy0+ZmxhZ3Mg
JiBodG1sY25vZGUtPmRlc2MtPmNvbnRlbnQpKQotICAgICAgICAgICAgbG9jZXJyb3JleGl0KGZp
bGVuYW1lLCBsaW5lbnVtLCAiPCVzPiBub3QgdmFsaWQgaGVyZSIsIGh0bWxlbGRlc2MtPm5hbWUp
OwotICAgICAgICBicmVhazsKLSAgICB9Ci0gICAgaWYgKGh0bWxlbGRlc2MtPmZsYWdzICYgSFRN
TEVMX0JMT0NLKQotICAgICAgICBpbmh0bWxibG9jaysrOwotICAgIC8qIENyZWF0ZSB0aGUgbmV3
IGh0bWwgY25vZGUuICovCi0gICAgaHRtbGNub2RlID0gbWVtYWxsb2Moc2l6ZW9mKHN0cnVjdCBo
dG1sY25vZGUpICsgYXR0cnNsZW4pOwotICAgIGh0bWxjbm9kZS0+ZGVzYyA9IGh0bWxlbGRlc2M7
Ci0gICAgaHRtbGNub2RlLT5jbi5mdW5jcyA9ICZodG1sX2Z1bmNzOwotICAgIGh0bWxjbm9kZS0+
Y24uZmlsZW5hbWUgPSBmaWxlbmFtZTsKLSAgICBodG1sY25vZGUtPmNuLmxpbmVudW0gPSBsaW5l
bnVtOwotICAgIG1lbWNweShodG1sY25vZGUtPmF0dHJzLCBhdHRycywgYXR0cnNsZW4pOwotICAg
IGh0bWxjbm9kZS0+YXR0cnNbYXR0cnNsZW5dID0gMDsKLSAgICAvKiBTdGFydCB0aGUgaHRtbCBj
bm9kZS4gKi8KLSAgICBjbm9kZSA9IHN0YXJ0Y25vZGUoY25vZGUsICZodG1sY25vZGUtPmNuKTsK
LSAgICByZXR1cm4gY25vZGU7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogcGFyYW1fb3V0cHV0
IDogb3V0cHV0IHBhcmFtIGNub2RlCi0gKgotICogRW50ZXI6ICAgY25vZGUgZm9yIHBhcmFtCi0g
KiAgICAgICAgICBpbmRlbnQgPSBpbmRlbnQgKG5lc3RpbmcpIGxldmVsCi0gKgotICogVGhpcyBp
cyBvbmx5IHVzZWQgZm9yIGEgXHBhcmFtIGluc2lkZSBhIFxkZWYtZGV2aWNlLWNhcC4gQSBub3Jt
YWwKLSAqIFxwYXJhbSB0aGF0IGdldHMgYXR0YWNoZWQgdG8gYSBmdW5jdGlvbiBhcmd1bWVudCBn
ZXRzIGNoYW5nZWQgdG8KLSAqIGEgXHJldHVybiBzbyBpdCBkb2VzIG5vdCB1c2UgdGhpcyBvdXRw
dXQgZnVuY3Rpb24uCi0gKi8KLXN0YXRpYyB2b2lkCi1wYXJhbV9vdXRwdXQoc3RydWN0IGNub2Rl
ICpjbm9kZSwgdW5zaWduZWQgaW50IGluZGVudCkKLXsKLSAgICBzdHJ1Y3QgcGFyYW1jbm9kZSAq
cGFyYW1jbm9kZSA9ICh2b2lkICopY25vZGU7Ci0gICAgcHJpbnRmKCIlKnM8cGFyYW0gaWRlbnRp
Zmllcj1cIiVzXCI+XG4iLCBpbmRlbnQsICIiLCBwYXJhbWNub2RlLT5uYW1lKTsKLSAgICBvdXRw
dXRjaGlsZHJlbigmcGFyYW1jbm9kZS0+Y24sIGluZGVudCwgMSk7Ci0gICAgcHJpbnRmKCIlKnM8
L3BhcmFtPlxuIiwgaW5kZW50LCAiIik7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogY25vZGUg
dHlwZSBwYXJhbQotICovCi1zdGF0aWMgY29uc3Qgc3RydWN0IGNub2RlZnVuY3MgcGFyYW1fZnVu
Y3MgPSB7Ci0gICAgMCwgLyogIWluZGVzYyAqLwotICAgIDAsIC8qICFuZWVkcGFyYSAqLwotICAg
ICZkZWZhdWx0X2Fza2VuZCwKLSAgICAwLCAvKiBlbmQgKi8KLSAgICAmcGFyYW1fb3V0cHV0LAot
fTsKLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqCi0gKiBjbm9kZSB0eXBlIHRocm93Ci0gKi8KLXN0YXRpYyBj
b25zdCBzdHJ1Y3QgY25vZGVmdW5jcyB0aHJvd19mdW5jcyA9IHsKLSAgICAwLCAvKiAhaW5kZXNj
ICovCi0gICAgMCwgLyogIW5lZWRwYXJhICovCi0gICAgJmRlZmF1bHRfYXNrZW5kLAotICAgIDAs
IC8qIGVuZCAqLwotICAgICZyZXR1cm5fb3V0cHV0LAotfTsKLQotLyoqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0g
KiBzdGFydHBhcmFtY25vZGUgOiBzdGFydCBwYXJhbSAob3IgdGhyb3cpIGNub2RlCi0gKgotICog
RW50ZXI6ICAgY25vZGUgPSBjdXJyZW50IGNub2RlCi0gKiAgICAgICAgICB3b3JkID0gbmFtZSBv
ZiBwYXJhbQotICogICAgICAgICAgd29yZGxlbiA9IGxlbmd0aCBvZiBuYW1lCi0gKiAgICAgICAg
ICBpbm91dCA9IGJpdCAwID0gaW4sIGJpdCAxID0gb3V0Ci0gKiAgICAgICAgICB0eXBlID0gJnBh
cmFtX2Z1bmNzIG9yICZ0aHJvd19mdW5jcwotICoKLSAqIFJldHVybjogIG5ldyBjdXJyZW50IGNu
b2RlCi0gKi8KLXN0YXRpYyBzdHJ1Y3QgY25vZGUgKgotc3RhcnRwYXJhbWNub2RlKHN0cnVjdCBj
bm9kZSAqY25vZGUsIGNvbnN0IGNoYXIgKndvcmQsIHVuc2lnbmVkIGludCB3b3JkbGVuLAotICAg
ICAgICAgICAgICAgIGludCBpbm91dCwgY29uc3Qgc3RydWN0IGNub2RlZnVuY3MgKmZ1bmNzKQot
ewotICAgIHN0cnVjdCBwYXJhbWNub2RlICpwYXJhbWNub2RlOwotICAgIHBhcmFtY25vZGUgPSBt
ZW1hbGxvYyhzaXplb2Yoc3RydWN0IHBhcmFtY25vZGUpICsgd29yZGxlbik7Ci0gICAgcGFyYW1j
bm9kZS0+Y24uZnVuY3MgPSBmdW5jczsKLSAgICBtZW1jcHkocGFyYW1jbm9kZS0+bmFtZSwgd29y
ZCwgd29yZGxlbik7Ci0gICAgcGFyYW1jbm9kZS0+bmFtZVt3b3JkbGVuXSA9IDA7Ci0gICAgcGFy
YW1jbm9kZS0+aW5vdXQgPSBpbm91dDsKLSAgICByZXR1cm4gc3RhcnRjbm9kZShjbm9kZSwgJnBh
cmFtY25vZGUtPmNuKTsKLX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBhcGlfZmVhdHVyZV9vdXRw
dXQgOiBvdXRwdXQgYXBpLWZlYXR1cmUgY25vZGUKLSAqCi0gKiBFbnRlcjogICBjbm9kZSBmb3Ig
cm9vdAotICogICAgICAgICAgaW5kZW50ID0gaW5kZW50IChuZXN0aW5nKSBsZXZlbAotICovCi1z
dGF0aWMgdm9pZAotYXBpX2ZlYXR1cmVfb3V0cHV0KHN0cnVjdCBjbm9kZSAqY25vZGUsIHVuc2ln
bmVkIGludCBpbmRlbnQpCi17Ci0gICAgc3RydWN0IHBhcmFtY25vZGUgKnBhcmFtY25vZGUgPSAo
dm9pZCAqKWNub2RlOwotICAgIHByaW50ZigiJSpzPGFwaS1mZWF0dXJlIGlkZW50aWZpZXI9XCIl
c1wiPlxuIiwgaW5kZW50LCAiIiwgcGFyYW1jbm9kZS0+bmFtZSk7Ci0gICAgb3V0cHV0Y2hpbGRy
ZW4oY25vZGUsIGluZGVudCwgMSk7Ci0gICAgcHJpbnRmKCIlKnM8L2FwaS1mZWF0dXJlPlxuIiwg
aW5kZW50LCAiIik7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogY25vZGUgdHlwZSBhcGlfZmVh
dHVyZQotICovCi1zdGF0aWMgY29uc3Qgc3RydWN0IGNub2RlZnVuY3MgYXBpX2ZlYXR1cmVfZnVu
Y3MgPSB7Ci0gICAgMCwgLyogIWluZGVzYyAqLwotICAgIDAsIC8qIG5lZWRwYXJhICovCi0gICAg
JmRlZmF1bHRfYXNrZW5kLAotICAgIDAsIC8qIGVuZCAqLwotICAgICZhcGlfZmVhdHVyZV9vdXRw
dXQsCi19OwotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIGRldmljZV9jYXBfb3V0cHV0IDogb3V0cHV0
IGRldmljZS1jYXAgY25vZGUKLSAqCi0gKiBFbnRlcjogICBjbm9kZSBmb3Igcm9vdAotICogICAg
ICAgICAgaW5kZW50ID0gaW5kZW50IChuZXN0aW5nKSBsZXZlbAotICovCi1zdGF0aWMgdm9pZAot
ZGV2aWNlX2NhcF9vdXRwdXQoc3RydWN0IGNub2RlICpjbm9kZSwgdW5zaWduZWQgaW50IGluZGVu
dCkKLXsKLSAgICBzdHJ1Y3QgcGFyYW1jbm9kZSAqcGFyYW1jbm9kZSA9ICh2b2lkICopY25vZGU7
Ci0gICAgcHJpbnRmKCIlKnM8ZGV2aWNlLWNhcCBpZGVudGlmaWVyPVwiJXNcIj5cbiIsIGluZGVu
dCwgIiIsIHBhcmFtY25vZGUtPm5hbWUpOwotICAgIG91dHB1dGNoaWxkcmVuKGNub2RlLCBpbmRl
bnQsIDEpOwotICAgIHByaW50ZigiJSpzPC9kZXZpY2UtY2FwPlxuIiwgaW5kZW50LCAiIik7Ci19
Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKgotICogY25vZGUgdHlwZSBkZXZpY2VfY2FwCi0gKi8KLXN0YXRp
YyBjb25zdCBzdHJ1Y3QgY25vZGVmdW5jcyBkZXZpY2VfY2FwX2Z1bmNzID0gewotICAgIDAsIC8q
ICFpbmRlc2MgKi8KLSAgICAwLCAvKiBuZWVkcGFyYSAqLwotICAgICZkZWZhdWx0X2Fza2VuZCwK
LSAgICAwLCAvKiBlbmQgKi8KLSAgICAmZGV2aWNlX2NhcF9vdXRwdXQsCi19OwotCi0vKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioKLSAqIGRlZl9hcGlfZmVhdHVyZV9hc2tlbmQgOiBhc2sgaWYgZGVmLWFwaS1mZWF0
dXJlIGNub2RlIHdhbnRzIHRvIGVuZCBhdCBuZXcgcGFyYQotICoKLSAqIEVudGVyOiAgIGNub2Rl
IGZvciBkZWYtYXBpLWZlYXR1cmUKLSAqICAgICAgICAgIHR5cGUgPSBjbm9kZWZ1bmNzIGZvciBu
ZXcgcGFyYSAoMCBpZiBodG1sIGJsb2NrIGVsZW1lbnQpCi0gKgotICogUmV0dXJuOiAgbm9uLXpl
cm8gdG8gZW5kIHRoZSBkZWYtYXBpLWZlYXR1cmUKLSAqLwotc3RhdGljIGludAotZGVmX2FwaV9m
ZWF0dXJlX2Fza2VuZChzdHJ1Y3QgY25vZGUgKmNub2RlLCBjb25zdCBzdHJ1Y3QgY25vZGVmdW5j
cyAqdHlwZSkKLXsKLSAgICAvKiBBIGRlZi1hcGktZmVhdHVyZSBkb2VzIG5vdCBlbmQgYXQgYSBw
bGFpbiBwYXJhLCBhbiBodG1sIGJsb2NrIGVsZW1lbnQsCi0gICAgICogYSBicmllZiBwYXJhLCBv
ciBhIGRldmljZS1jYXAuICovCi0gICAgaWYgKCF0eXBlIHx8IHR5cGUgPT0gJnBhcmFfZnVuY3Mg
fHwgdHlwZSA9PSAmZGV2aWNlX2NhcF9mdW5jcyB8fCB0eXBlID09ICZicmllZl9mdW5jcykKLSAg
ICAgICAgcmV0dXJuIDA7Ci0gICAgcmV0dXJuIDE7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICog
ZGVmX2FwaV9mZWF0dXJlX291dHB1dCA6IG91dHB1dCBkZWYtYXBpLWZlYXR1cmUgY25vZGUKLSAq
Ci0gKiBFbnRlcjogICBjbm9kZSBmb3Igcm9vdAotICogICAgICAgICAgaW5kZW50ID0gaW5kZW50
IChuZXN0aW5nKSBsZXZlbAotICovCi1zdGF0aWMgdm9pZAotZGVmX2FwaV9mZWF0dXJlX291dHB1
dChzdHJ1Y3QgY25vZGUgKmNub2RlLCB1bnNpZ25lZCBpbnQgaW5kZW50KQotewotICAgIHN0cnVj
dCBwYXJhbWNub2RlICpwYXJhbWNub2RlID0gKHZvaWQgKiljbm9kZTsKLSAgICBwcmludGYoIiUq
czxkZWYtYXBpLWZlYXR1cmUgaWRlbnRpZmllcj1cIiVzXCI+XG4iLCBpbmRlbnQsICIiLCBwYXJh
bWNub2RlLT5uYW1lKTsKLSAgICBwcmludGYoIiUqczxkZXNjcmlwdGl2ZT5cbiIsIGluZGVudCAr
IDIsICIiKTsKLSAgICBvdXRwdXRjaGlsZHJlbihjbm9kZSwgaW5kZW50ICsgMiwgMCk7Ci0gICAg
cHJpbnRmKCIlKnM8L2Rlc2NyaXB0aXZlPlxuIiwgaW5kZW50ICsgMiwgIiIpOwotICAgIHByaW50
ZigiJSpzPC9kZWYtYXBpLWZlYXR1cmU+XG4iLCBpbmRlbnQsICIiKTsKLX0KLQotLyoqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqCi0gKiBjbm9kZSB0eXBlIGRlZl9hcGlfZmVhdHVyZQotICovCi1zdGF0aWMgY29uc3Qg
c3RydWN0IGNub2RlZnVuY3MgZGVmX2FwaV9mZWF0dXJlX2Z1bmNzID0gewotICAgIDAsIC8qICFp
bmRlc2MgKi8KLSAgICAxLCAvKiBuZWVkcGFyYSAqLwotICAgICZkZWZfYXBpX2ZlYXR1cmVfYXNr
ZW5kLAotICAgIDAsIC8qIGVuZCAqLwotICAgICZkZWZfYXBpX2ZlYXR1cmVfb3V0cHV0LAotfTsK
LQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqCi0gKiBkZWZfYXBpX2ZlYXR1cmVfc2V0X2Fza2VuZCA6IGFzayBp
ZiBkZWYtYXBpLWZlYXR1cmUtc2V0IGNub2RlIHdhbnRzIHRvIGVuZCBhdCBuZXcgcGFyYQotICoK
LSAqIEVudGVyOiAgIGNub2RlIGZvciBkZWYtYXBpLWZlYXR1cmUtc2V0Ci0gKiAgICAgICAgICB0
eXBlID0gY25vZGVmdW5jcyBmb3IgbmV3IHBhcmEgKDAgaWYgaHRtbCBibG9jayBlbGVtZW50KQot
ICoKLSAqIFJldHVybjogIG5vbi16ZXJvIHRvIGVuZCB0aGUgZGVmLWFwaS1mZWF0dXJlLXNldAot
ICovCi1zdGF0aWMgaW50Ci1kZWZfYXBpX2ZlYXR1cmVfc2V0X2Fza2VuZChzdHJ1Y3QgY25vZGUg
KmNub2RlLCBjb25zdCBzdHJ1Y3QgY25vZGVmdW5jcyAqdHlwZSkKLXsKLSAgICAvKiBBIGRlZi1h
cGktZmVhdHVyZS1zZXQgZG9lcyBub3QgZW5kIGF0IGEgcGxhaW4gcGFyYSwgYW4gaHRtbCBibG9j
ayBlbGVtZW50LAotICAgICAqIGEgYnJpZWYgcGFyYSwgb3IgYW4gYXBpLWZlYXR1cmUuICovCi0g
ICAgaWYgKCF0eXBlIHx8IHR5cGUgPT0gJnBhcmFfZnVuY3MgfHwgdHlwZSA9PSAmYXBpX2ZlYXR1
cmVfZnVuY3MgfHwgdHlwZSA9PSAmYnJpZWZfZnVuY3MpCi0gICAgICAgIHJldHVybiAwOwotICAg
IHJldHVybiAxOwotfQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIGRlZl9hcGlfZmVhdHVyZV9zZXRf
b3V0cHV0IDogb3V0cHV0IGRlZi1hcGktZmVhdHVyZS1zZXQgY25vZGUKLSAqCi0gKiBFbnRlcjog
ICBjbm9kZSBmb3Igcm9vdAotICogICAgICAgICAgaW5kZW50ID0gaW5kZW50IChuZXN0aW5nKSBs
ZXZlbAotICovCi1zdGF0aWMgdm9pZAotZGVmX2FwaV9mZWF0dXJlX3NldF9vdXRwdXQoc3RydWN0
IGNub2RlICpjbm9kZSwgdW5zaWduZWQgaW50IGluZGVudCkKLXsKLSAgICBzdHJ1Y3QgcGFyYW1j
bm9kZSAqcGFyYW1jbm9kZSA9ICh2b2lkICopY25vZGU7Ci0gICAgcHJpbnRmKCIlKnM8ZGVmLWFw
aS1mZWF0dXJlLXNldCBpZGVudGlmaWVyPVwiJXNcIj5cbiIsIGluZGVudCwgIiIsIHBhcmFtY25v
ZGUtPm5hbWUpOwotICAgIHByaW50ZigiJSpzPGRlc2NyaXB0aXZlPlxuIiwgaW5kZW50ICsgMiwg
IiIpOwotICAgIG91dHB1dGNoaWxkcmVuKGNub2RlLCBpbmRlbnQgKyAyLCAwKTsKLSAgICBwcmlu
dGYoIiUqczwvZGVzY3JpcHRpdmU+XG4iLCBpbmRlbnQgKyAyLCAiIik7Ci0gICAgcHJpbnRmKCIl
KnM8L2RlZi1hcGktZmVhdHVyZS1zZXQ+XG4iLCBpbmRlbnQsICIiKTsKLX0KLQotLyoqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqCi0gKiBjbm9kZSB0eXBlIGRlZl9hcGlfZmVhdHVyZV9zZXQKLSAqLwotc3RhdGljIGNv
bnN0IHN0cnVjdCBjbm9kZWZ1bmNzIGRlZl9hcGlfZmVhdHVyZV9zZXRfZnVuY3MgPSB7Ci0gICAg
MCwgLyogIWluZGVzYyAqLwotICAgIDEsIC8qIG5lZWRwYXJhICovCi0gICAgJmRlZl9hcGlfZmVh
dHVyZV9zZXRfYXNrZW5kLAotICAgIDAsIC8qIGVuZCAqLwotICAgICZkZWZfYXBpX2ZlYXR1cmVf
c2V0X291dHB1dCwKLX07Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogZGVmX2luc3RhbnRpYXRlZF9h
c2tlbmQgOiBhc2sgaWYgZGVmLWluc3RhbnRpYXRlZCBjbm9kZSB3YW50cyB0byBlbmQgYXQgbmV3
IHBhcmEKLSAqCi0gKiBFbnRlcjogICBjbm9kZSBmb3IgZGVmLWluc3RhbnRpYXRlZAotICogICAg
ICAgICAgdHlwZSA9IGNub2RlZnVuY3MgZm9yIG5ldyBwYXJhICgwIGlmIGh0bWwgYmxvY2sgZWxl
bWVudCkKLSAqCi0gKiBSZXR1cm46ICBub24temVybyB0byBlbmQgdGhlIGRlZi1pbnN0YW50aWF0
ZWQKLSAqLwotc3RhdGljIGludAotZGVmX2luc3RhbnRpYXRlZF9hc2tlbmQoc3RydWN0IGNub2Rl
ICpjbm9kZSwgY29uc3Qgc3RydWN0IGNub2RlZnVuY3MgKnR5cGUpCi17Ci0gICAgLyogQSBkZWYt
aW5zdGFudGlhdGVkIGRvZXMgbm90IGVuZCBhdCBhIHBsYWluIHBhcmEsIGFuIGh0bWwgYmxvY2sg
ZWxlbWVudCwKLSAgICAgKiBhIGJyaWVmIHBhcmEsIG9yIGFuIGFwaS1mZWF0dXJlLiAqLwotICAg
IGlmICghdHlwZSB8fCB0eXBlID09ICZwYXJhX2Z1bmNzIHx8IHR5cGUgPT0gJmFwaV9mZWF0dXJl
X2Z1bmNzIHx8IHR5cGUgPT0gJmJyaWVmX2Z1bmNzKQotICAgICAgICByZXR1cm4gMDsKLSAgICBy
ZXR1cm4gMTsKLX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBkZWZfaW5zdGFudGlhdGVkX291dHB1
dCA6IG91dHB1dCBkZWYtaW5zdGFudGlhdGVkIGNub2RlCi0gKgotICogRW50ZXI6ICAgY25vZGUg
Zm9yIHJvb3QKLSAqICAgICAgICAgIGluZGVudCA9IGluZGVudCAobmVzdGluZykgbGV2ZWwKLSAq
Lwotc3RhdGljIHZvaWQKLWRlZl9pbnN0YW50aWF0ZWRfb3V0cHV0KHN0cnVjdCBjbm9kZSAqY25v
ZGUsIHVuc2lnbmVkIGludCBpbmRlbnQpCi17Ci0gICAgcHJpbnRmKCIlKnM8ZGVmLWluc3RhbnRp
YXRlZD5cbiIsIGluZGVudCwgIiIpOwotICAgIHByaW50ZigiJSpzPGRlc2NyaXB0aXZlPlxuIiwg
aW5kZW50ICsgMiwgIiIpOwotICAgIG91dHB1dGNoaWxkcmVuKGNub2RlLCBpbmRlbnQgKyAyLCAw
KTsKLSAgICBwcmludGYoIiUqczwvZGVzY3JpcHRpdmU+XG4iLCBpbmRlbnQgKyAyLCAiIik7Ci0g
ICAgcHJpbnRmKCIlKnM8L2RlZi1pbnN0YW50aWF0ZWQ+XG4iLCBpbmRlbnQsICIiKTsKLX0KLQot
LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqCi0gKiBjbm9kZSB0eXBlIGRlZl9pbnN0YW50aWF0ZWQKLSAqLwotc3Rh
dGljIGNvbnN0IHN0cnVjdCBjbm9kZWZ1bmNzIGRlZl9pbnN0YW50aWF0ZWRfZnVuY3MgPSB7Ci0g
ICAgMCwgLyogIWluZGVzYyAqLwotICAgIDEsIC8qIG5lZWRwYXJhICovCi0gICAgJmRlZl9pbnN0
YW50aWF0ZWRfYXNrZW5kLAotICAgIDAsIC8qIGVuZCAqLwotICAgICZkZWZfaW5zdGFudGlhdGVk
X291dHB1dCwKLX07Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogZGVmX2RldmljZV9jYXBfYXNrZW5k
IDogYXNrIGlmIGRlZi1kZXZpY2UtY2FwIGNub2RlIHdhbnRzIHRvIGVuZCBhdCBuZXcgcGFyYQot
ICoKLSAqIEVudGVyOiAgIGNub2RlIGZvciBkZWYtZGV2aWNlLWNhcAotICogICAgICAgICAgdHlw
ZSA9IGNub2RlZnVuY3MgZm9yIG5ldyBwYXJhICgwIGlmIGh0bWwgYmxvY2sgZWxlbWVudCkKLSAq
Ci0gKiBSZXR1cm46ICBub24temVybyB0byBlbmQgdGhlIGRlZi1kZXZpY2UtY2FwCi0gKi8KLXN0
YXRpYyBpbnQKLWRlZl9kZXZpY2VfY2FwX2Fza2VuZChzdHJ1Y3QgY25vZGUgKmNub2RlLCBjb25z
dCBzdHJ1Y3QgY25vZGVmdW5jcyAqdHlwZSkKLXsKLSAgICAvKiBBIGRlZi1kZXZpY2UtY2FwIGRv
ZXMgbm90IGVuZCBhdCBhIHBsYWluIHBhcmEsIGFuIGh0bWwgYmxvY2sgZWxlbWVudCwKLSAgICAg
KiBhIFxicmllZiBwYXJhLCBvciBhIHBhcmFtLiAqLwotICAgIGlmICghdHlwZSB8fCB0eXBlID09
ICZwYXJhX2Z1bmNzIHx8IHR5cGUgPT0gJnBhcmFtX2Z1bmNzIHx8IHR5cGUgPT0gJmJyaWVmX2Z1
bmNzKQotICAgICAgICByZXR1cm4gMDsKLSAgICByZXR1cm4gMTsKLX0KLQotLyoqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqCi0gKiBkZWZfZGV2aWNlX2NhcF9vdXRwdXQgOiBvdXRwdXQgZGVmX2RldmljZS1jYXAgY25v
ZGUKLSAqCi0gKiBFbnRlcjogICBjbm9kZSBmb3Igcm9vdAotICogICAgICAgICAgaW5kZW50ID0g
aW5kZW50IChuZXN0aW5nKSBsZXZlbAotICovCi1zdGF0aWMgdm9pZAotZGVmX2RldmljZV9jYXBf
b3V0cHV0KHN0cnVjdCBjbm9kZSAqY25vZGUsIHVuc2lnbmVkIGludCBpbmRlbnQpCi17Ci0gICAg
c3RydWN0IHBhcmFtY25vZGUgKnBhcmFtY25vZGUgPSAodm9pZCAqKWNub2RlOwotICAgIHByaW50
ZigiJSpzPGRlZi1kZXZpY2UtY2FwIGlkZW50aWZpZXI9XCIlc1wiPlxuIiwgaW5kZW50LCAiIiwg
cGFyYW1jbm9kZS0+bmFtZSk7Ci0gICAgcHJpbnRmKCIlKnM8ZGVzY3JpcHRpdmU+XG4iLCBpbmRl
bnQgKyAyLCAiIik7Ci0gICAgb3V0cHV0Y2hpbGRyZW4oY25vZGUsIGluZGVudCArIDIsIDApOwot
ICAgIHByaW50ZigiJSpzPC9kZXNjcmlwdGl2ZT5cbiIsIGluZGVudCArIDIsICIiKTsKLSAgICBw
cmludGYoIiUqczwvZGVmLWRldmljZS1jYXA+XG4iLCBpbmRlbnQsICIiKTsKLX0KLQotLyoqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqCi0gKiBjbm9kZSB0eXBlIGRlZl9kZXZpY2VfY2FwCi0gKi8KLXN0YXRpYyBjb25z
dCBzdHJ1Y3QgY25vZGVmdW5jcyBkZWZfZGV2aWNlX2NhcF9mdW5jcyA9IHsKLSAgICAwLCAvKiAh
aW5kZXNjICovCi0gICAgMSwgLyogbmVlZHBhcmEgKi8KLSAgICAmZGVmX2RldmljZV9jYXBfYXNr
ZW5kLAotICAgIDAsIC8qIGVuZCAqLwotICAgICZkZWZfZGV2aWNlX2NhcF9vdXRwdXQsCi19Owot
Ci0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioKLSAqIGFkZHRleHQgOiBhZGQgdGV4dCB0byBjdXJyZW50IHRleHQg
bm9kZSwgc3RhcnRpbmcgb25lIGlmIG5lY2Vzc2FyeQotICoKLSAqIEVudGVyOiAgIGNub2RlID0g
Y3VycmVudCBjbm9kZQotICogICAgICAgICAgdGV4dAotICogICAgICAgICAgbGVuID0gbGVuZ3Ro
IG9mIHRleHQKLSAqCi0gKiBSZXR1cm46ICBuZXcgY3VycmVudCBjbm9kZQotICovCi1zdGF0aWMg
c3RydWN0IGNub2RlICoKLWFkZHRleHQoc3RydWN0IGNub2RlICpjbm9kZSwgY29uc3QgY2hhciAq
dGV4dCwgdW5zaWduZWQgaW50IGxlbikKLXsKLSAgICBzdHJ1Y3QgdGV4dGNub2RlICp0ZXh0Y25v
ZGU7Ci0gICAgaWYgKCFsZW4pCi0gICAgICAgIHJldHVybiBjbm9kZTsKLSAgICBpZiAoY25vZGUt
PmZ1bmNzICE9ICZ0ZXh0X2Z1bmNzKSB7Ci0gICAgICAgIC8qIFN0YXJ0IG5ldyB0ZXh0IGNub2Rl
LiAqLwotICAgICAgICB0ZXh0Y25vZGUgPSBtZW1hbGxvYyhzaXplb2Yoc3RydWN0IHRleHRjbm9k
ZSkpOwotICAgICAgICB0ZXh0Y25vZGUtPmNuLmZ1bmNzID0gJnRleHRfZnVuY3M7Ci0gICAgICAg
IGNub2RlID0gc3RhcnRjbm9kZShjbm9kZSwgJnRleHRjbm9kZS0+Y24pOwotICAgIH0KLSAgICB0
ZXh0Y25vZGUgPSAodm9pZCAqKWNub2RlOwotICAgIGRvIHsKLSAgICAgICAgdW5zaWduZWQgY2hh
ciBidWZbMSArIHNpemVvZih2b2lkICopXTsKLSAgICAgICAgdW5zaWduZWQgaW50IHRoaXNsZW4g
PSBsZW47Ci0gICAgICAgIGlmICh0aGlzbGVuID4gMjU1KQotICAgICAgICAgICAgdGhpc2xlbiA9
IDI1NTsKLSAgICAgICAgLyogRW5jb2RlIGEgcmVjb3JkIGFzIGEgc2luZ2xlIGJ5dGUgbGVuZ3Ro
IGZvbGxvd2VkIGJ5IGEgcG9pbnRlci4gKi8KLSAgICAgICAgYnVmWzBdID0gdGhpc2xlbjsKLSAg
ICAgICAgbWVtY3B5KGJ1ZiArIDEsICZ0ZXh0LCBzaXplb2Yodm9pZCAqKSk7Ci0gICAgICAgIC8q
IEFkZCB0byB0aGUgdGV4dCBjbm9kZSdzIGRhdGEuICovCi0gICAgICAgIGlmICh0ZXh0Y25vZGUt
PmxlbiArIHNpemVvZihidWYpID49IHRleHRjbm9kZS0+bWF4KSB7Ci0gICAgICAgICAgICAvKiBO
ZWVkIHRvIHJlYWxsb2NhdGUgKG9yIGFsbG9jYXRlKSBkYXRhIGJ1ZmZlci4gKi8KLSAgICAgICAg
ICAgIHRleHRjbm9kZS0+bWF4ID0gdGV4dGNub2RlLT5tYXggPyAyICogdGV4dGNub2RlLT5tYXgg
OiAxMDI0OwotICAgICAgICAgICAgdGV4dGNub2RlLT5kYXRhID0gbWVtcmVhbGxvYyh0ZXh0Y25v
ZGUtPmRhdGEsIHRleHRjbm9kZS0+bWF4KTsKLSAgICAgICAgfQotICAgICAgICBtZW1jcHkodGV4
dGNub2RlLT5kYXRhICsgdGV4dGNub2RlLT5sZW4sIGJ1Ziwgc2l6ZW9mKGJ1ZikpOwotICAgICAg
ICB0ZXh0Y25vZGUtPmxlbiArPSBzaXplb2YoYnVmKTsKLSAgICAgICAgdGV4dCArPSB0aGlzbGVu
OwotICAgICAgICBsZW4gLT0gdGhpc2xlbjsKLSAgICB9IHdoaWxlIChsZW4pOwotICAgIHJldHVy
biAmdGV4dGNub2RlLT5jbjsKLX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBpc3doaXRlc3BhY2Ug
OiBkZXRlcm1pbmUgaWYgY2hhcmFjdGVyIGlzIHdoaXRlc3BhY2UKLSAqCi0gKiBFbnRlcjogICBj
aCA9IGNoYXJhY3RlcgotICoKLSAqIFJldHVybjogIDEgaWYgd2hpdGVzcGFjZQotICovCi1zdGF0
aWMgaW5saW5lIGludAotaXN3aGl0ZXNwYWNlKGludCBjaCkKLXsKLSAgICB1bnNpZ25lZCBpbnQg
aSA9IGNoIC0gMTsKLSAgICBpZiAoaSA+PSAzMikKLSAgICAgICAgcmV0dXJuIDA7Ci0gICAgcmV0
dXJuIDB4ODAwMDExMDAgPj4gaSAmIDE7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogcGFyc2V3
b3JkIDogcGFyc2UgdGhlIG5leHQgd29yZCwgaWdub3JpbmcgbGVhZGluZyB3aGl0ZXNwYWNlCi0g
KgotICogRW50ZXI6ICAgKnBwID0gdGV4dCBwb2ludGVyCi0gKgotICogUmV0dXJuOiAgMCBlbHNl
IHN0YXJ0IG9mIHdvcmQgKCpwcCB1cGRhdGVkIHRvIGp1c3QgYmV5b25kIGVuZCkKLSAqLwotc3Rh
dGljIGNvbnN0IGNoYXIgKgotcGFyc2V3b3JkKGNvbnN0IGNoYXIgKipwcCkKLXsKLSAgICBjb25z
dCBjaGFyICpwID0gKnBwLCAqd29yZCA9IDA7Ci0gICAgaW50IGNoID0gKnA7Ci0gICAgd2hpbGUg
KGlzd2hpdGVzcGFjZShjaCkpCi0gICAgICAgIGNoID0gKisrcDsKLSAgICB3b3JkID0gcDsKLSAg
ICB3aGlsZSAoKHVuc2lnbmVkKSgoY2ggJiB+MHgyMCkgLSAnQScpIDw9ICdaJyAtICdBJwotICAg
ICAgICAgICAgfHwgKHVuc2lnbmVkKShjaCAtICcwJykgPCAxMCB8fCBjaCA9PSAnXycgfHwgY2gg
PT0gJy4nCi0gICAgICAgICAgICB8fCBjaCA9PSAnOicgfHwgY2ggPT0gJy8nIHx8IGNoID09ICct
JykKLSAgICB7Ci0gICAgICAgIGNoID0gKisrcDsKLSAgICB9Ci0gICAgaWYgKHAgPT0gd29yZCkK
LSAgICAgICAgcmV0dXJuIDA7Ci0gICAgKnBwID0gcDsKLSAgICByZXR1cm4gd29yZDsKLX0KLQot
LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqCi0gKiBEb3h5Z2VuIGNvbW1hbmQgaGFuZGxlcnMKLSAqCi0gKiBFbnRl
cjogICBwID0gdGV4dCBqdXN0IGFmdGVyIGNvbW1hbmQKLSAqICAgICAgICAgICpwY25vZGUgPSBw
b2ludGVyIHRvIGN1cnJlbnQgY25vZGUgc3RydWN0Ci0gKiAgICAgICAgICB0eXBlID0gMCBlbHNl
IGNub2RlZnVuY3MgcG9pbnRlciBmb3IgdHlwZSBvZiBub2RlIHRvIHN0YXJ0Ci0gKiAgICAgICAg
ICBmaWxlbmFtZSwgbGluZW51bSA9IGN1cnJlbnQgZmlsZW5hbWUgYW5kIGxpbmUgbnVtYmVyIChm
b3IgZXJyb3IgcmVwb3J0aW5nKQotICoKLSAqIFJldHVybjogIHAgPSB1cGRhdGVkIGlmIGV4dHJh
IHRleHQgd2FzIGVhdGVuCi0gKgotICogT24gcmV0dXJuLCAqcG5vZGUgaXMgdXBkYXRlZCBpZiBh
bnkgbm9kZSB3YXMgY2xvc2VkIG9yIG9wZW5lZC4KLSAqLwotCi0vKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAq
IERveHlnZW4gY29tbWFuZCBoYW5kbGVyIDogXGIKLSAqLwotc3RhdGljIGNvbnN0IGNoYXIgKgot
ZG94X2IoY29uc3QgY2hhciAqcCwgc3RydWN0IGNub2RlICoqcGNub2RlLCBjb25zdCBzdHJ1Y3Qg
Y25vZGVmdW5jcyAqdHlwZSwKLSAgICAgIGNvbnN0IGNoYXIgKmZpbGVuYW1lLCB1bnNpZ25lZCBp
bnQgbGluZW51bSwgY29uc3QgY2hhciAqY21kbmFtZSkKLXsKLSAgICBzdHJ1Y3QgY25vZGUgKmNu
b2RlID0gKnBjbm9kZTsKLSAgICBjb25zdCBjaGFyICp3b3JkID0gcGFyc2V3b3JkKCZwKTsKLSAg
ICAvKiBTaWxlbnRseSBpZ25vcmUgXGIgd2l0aCBubyBmb2xsb3dpbmcgd29yZC4gKi8KLSAgICBp
ZiAod29yZCkgewotICAgICAgICBzdHJ1Y3QgY25vZGUgKm15Y25vZGU7Ci0gICAgICAgIG15Y25v
ZGUgPSBjbm9kZSA9IHN0YXJ0aHRtbGNub2RlKGNub2RlLCBIVE1MRUxERVNDX0IsIDAsIDAsIGZp
bGVuYW1lLCBsaW5lbnVtKTsKLSAgICAgICAgY25vZGUgPSBhZGR0ZXh0KGNub2RlLCB3b3JkLCBw
IC0gd29yZCk7Ci0gICAgICAgIHdoaWxlIChjbm9kZSAhPSBteWNub2RlKQotICAgICAgICAgICAg
Y25vZGUgPSBlbmRjbm9kZShjbm9kZSk7Ci0gICAgICAgIGNub2RlID0gZW5kY25vZGUoY25vZGUp
OwotICAgIH0KLSAgICAqcGNub2RlID0gY25vZGU7Ci0gICAgcmV0dXJuIHA7Ci19Ci0KLS8qKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKgotICogRG94eWdlbiBjb21tYW5kIGhhbmRsZXIgOiBcbgotICovCi1zdGF0aWMg
Y29uc3QgY2hhciAqCi1kb3hfbihjb25zdCBjaGFyICpwLCBzdHJ1Y3QgY25vZGUgKipwY25vZGUs
IGNvbnN0IHN0cnVjdCBjbm9kZWZ1bmNzICp0eXBlLAotICAgICAgY29uc3QgY2hhciAqZmlsZW5h
bWUsIHVuc2lnbmVkIGludCBsaW5lbnVtLCBjb25zdCBjaGFyICpjbWRuYW1lKQotewotICAgIHN0
cnVjdCBjbm9kZSAqY25vZGUgPSAqcGNub2RlOwotICAgIGNub2RlID0gc3RhcnRodG1sY25vZGUo
Y25vZGUsIEhUTUxFTERFU0NfQlIsIDAsIDAsIGZpbGVuYW1lLCBsaW5lbnVtKTsKLSAgICBjbm9k
ZSA9IGVuZGNub2RlKGNub2RlKTsKLSAgICAqcGNub2RlID0gY25vZGU7Ci0gICAgcmV0dXJuIHA7
Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKgotICogRG94eWdlbiBjb21tYW5kIGhhbmRsZXIgOiBcY29k
ZQotICovCi1zdGF0aWMgY29uc3QgY2hhciAqCi1kb3hfY29kZShjb25zdCBjaGFyICpwLCBzdHJ1
Y3QgY25vZGUgKipwY25vZGUsIGNvbnN0IHN0cnVjdCBjbm9kZWZ1bmNzICp0eXBlLAotICAgICAg
ICAgY29uc3QgY2hhciAqZmlsZW5hbWUsIHVuc2lnbmVkIGludCBsaW5lbnVtLCBjb25zdCBjaGFy
ICpjbWRuYW1lKQotewotICAgICpwY25vZGUgPSBzdGFydHBhcmEoKnBjbm9kZSwgJmNvZGVfZnVu
Y3MpOwotICAgICgqcGNub2RlKS0+ZmlsZW5hbWUgPSBmaWxlbmFtZTsKLSAgICAoKnBjbm9kZSkt
PmxpbmVudW0gPSBsaW5lbnVtOyAvKiBmb3IgcmVwb3J0aW5nIG1pc21hdGNoZWQgXGNvZGUgZXJy
b3IgKi8KLSAgICBpbmNvZGUgPSAxOwotICAgIHJldHVybiBwOwotfQotCi0vKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioKLSAqIERveHlnZW4gY29tbWFuZCBoYW5kbGVyIDogXGVuZGNvZGUKLSAqLwotc3RhdGljIGNv
bnN0IGNoYXIgKgotZG94X2VuZGNvZGUoY29uc3QgY2hhciAqcCwgc3RydWN0IGNub2RlICoqcGNu
b2RlLCBjb25zdCBzdHJ1Y3QgY25vZGVmdW5jcyAqdHlwZSwKLSAgICAgICAgICAgIGNvbnN0IGNo
YXIgKmZpbGVuYW1lLCB1bnNpZ25lZCBpbnQgbGluZW51bSwgY29uc3QgY2hhciAqY21kbmFtZSkK
LXsKLSAgICBpbmNvZGUgPSAwOwotICAgICpwY25vZGUgPSBlbmRzcGVjaWZpY2Nub2RlKCpwY25v
ZGUsICZjb2RlX2Z1bmNzLCBmaWxlbmFtZSwgbGluZW51bSk7Ci0gICAgcmV0dXJuIHA7Ci19Ci0K
LS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKgotICogRG94eWdlbiBjb21tYW5kIGhhbmRsZXIgOiBccGFyYW0KLSAq
Lwotc3RhdGljIGNvbnN0IGNoYXIgKgotZG94X3BhcmFtKGNvbnN0IGNoYXIgKnAsIHN0cnVjdCBj
bm9kZSAqKnBjbm9kZSwgY29uc3Qgc3RydWN0IGNub2RlZnVuY3MgKnR5cGUsCi0gICAgICAgICAg
Y29uc3QgY2hhciAqZmlsZW5hbWUsIHVuc2lnbmVkIGludCBsaW5lbnVtLCBjb25zdCBjaGFyICpj
bWRuYW1lKQotewotICAgIHN0cnVjdCBjbm9kZSAqY25vZGUgPSAqcGNub2RlOwotICAgIHVuc2ln
bmVkIGludCBpbm91dCA9IDA7Ci0gICAgY29uc3QgY2hhciAqd29yZDsKLSAgICAvKiBDaGVjayBm
b3IgImluIiwgIm91dCIgb3IgYm90aCBhcyBhdHRyaWJ1dGVzLiAqLwotICAgIGlmICgqcCA9PSAn
WycpIHsKLSAgICAgICAgZm9yICg7OykgewotICAgICAgICAgICAgcCsrOwotICAgICAgICAgICAg
aWYgKCFtZW1jbXAocCwgImluIiwgMikpIHsKLSAgICAgICAgICAgICAgICBpbm91dCB8PSAxOwot
ICAgICAgICAgICAgICAgIHAgKz0gMjsKLSAgICAgICAgICAgIH0gZWxzZSBpZiAoIW1lbWNtcChw
LCAib3V0IiwgMykpIHsKLSAgICAgICAgICAgICAgICBpbm91dCB8PSAyOwotICAgICAgICAgICAg
ICAgIHAgKz0gMzsKLSAgICAgICAgICAgIH0gZWxzZQotICAgICAgICAgICAgICAgIGJyZWFrOwot
ICAgICAgICAgICAgaWYgKCpwICE9ICcsJykKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAg
ICAgfQotICAgICAgICBpZiAoKnAgIT0gJ10nKQotICAgICAgICAgICAgbG9jZXJyb3JleGl0KGZp
bGVuYW1lLCBsaW5lbnVtLCAiYmFkIGF0dHJpYnV0ZXMgb24gXFxwYXJhbSIpOwotICAgICAgICBw
Kys7Ci0gICAgfQotICAgIC8qIEdldCB0aGUgbmV4dCB3b3JkIGFzIHRoZSBwYXJhbWV0ZXIgbmFt
ZS4gKi8KLSAgICB3b3JkID0gcGFyc2V3b3JkKCZwKTsKLSAgICBpZiAoIXdvcmQpCi0gICAgICAg
IGxvY2Vycm9yZXhpdChmaWxlbmFtZSwgbGluZW51bSwgImV4cGVjdGVkIHdvcmQgYWZ0ZXIgXFxw
YXJhbSIpOwotICAgIC8qIENsb3NlIGFueSBvcGVuIG5vZGVzLiAqLwotICAgIHdoaWxlICgoKmNu
b2RlLT5mdW5jcy0+YXNrZW5kKShjbm9kZSwgdHlwZSkpCi0gICAgICAgIGNub2RlID0gZW5kY25v
ZGUoY25vZGUpOwotICAgIC8qIENyZWF0ZSBhIG5ldyBwYXJhbSBjbm9kZS4gKi8KLSAgICBjbm9k
ZSA9IHN0YXJ0cGFyYW1jbm9kZShjbm9kZSwgd29yZCwgcCAtIHdvcmQsIGlub3V0LCB0eXBlKTsK
LSAgICBjbm9kZS0+ZmlsZW5hbWUgPSBmaWxlbmFtZTsKLSAgICBjbm9kZS0+bGluZW51bSA9IGxp
bmVudW07Ci0gICAgKnBjbm9kZSA9IGNub2RlOwotICAgIHJldHVybiBwOwotfQotCi0vKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioKLSAqIERveHlnZW4gY29tbWFuZCBoYW5kbGVyIDogXGJyaWVmLCBccmV0dXJuCi0g
Ki8KLXN0YXRpYyBjb25zdCBjaGFyICoKLWRveF9wYXJhKGNvbnN0IGNoYXIgKnAsIHN0cnVjdCBj
bm9kZSAqKnBjbm9kZSwgY29uc3Qgc3RydWN0IGNub2RlZnVuY3MgKnR5cGUsCi0gICAgICAgICBj
b25zdCBjaGFyICpmaWxlbmFtZSwgdW5zaWduZWQgaW50IGxpbmVudW0sIGNvbnN0IGNoYXIgKmNt
ZG5hbWUpCi17Ci0gICAgKnBjbm9kZSA9IHN0YXJ0cGFyYSgqcGNub2RlLCB0eXBlKTsKLSAgICBy
ZXR1cm4gcDsKLX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBEb3h5Z2VuIGNvbW1hbmQgaGFuZGxl
ciA6IFx0aHJvdwotICovCi1zdGF0aWMgY29uc3QgY2hhciAqCi1kb3hfdGhyb3coY29uc3QgY2hh
ciAqcCwgc3RydWN0IGNub2RlICoqcGNub2RlLCBjb25zdCBzdHJ1Y3QgY25vZGVmdW5jcyAqdHlw
ZSwKLSAgICAgICAgICBjb25zdCBjaGFyICpmaWxlbmFtZSwgdW5zaWduZWQgaW50IGxpbmVudW0s
IGNvbnN0IGNoYXIgKmNtZG5hbWUpCi17Ci0gICAgc3RydWN0IGNub2RlICpjbm9kZSA9ICpwY25v
ZGU7Ci0gICAgY29uc3QgY2hhciAqd29yZDsKLSAgICAvKiBHZXQgdGhlIG5leHQgd29yZCBhcyB0
aGUgZXhjZXB0aW9uIG5hbWUuICovCi0gICAgd29yZCA9IHBhcnNld29yZCgmcCk7Ci0gICAgaWYg
KCF3b3JkKQotICAgICAgICBsb2NlcnJvcmV4aXQoZmlsZW5hbWUsIGxpbmVudW0sICJleHBlY3Rl
ZCB3b3JkIGFmdGVyIFxcdGhyb3ciKTsKLSAgICAvKiBDbG9zZSBhbnkgb3BlbiBub2Rlcy4gKi8K
LSAgICB3aGlsZSAoKCpjbm9kZS0+ZnVuY3MtPmFza2VuZCkoY25vZGUsIHR5cGUpKQotICAgICAg
ICBjbm9kZSA9IGVuZGNub2RlKGNub2RlKTsKLSAgICAvKiBDcmVhdGUgYSBuZXcgdGhyb3cgY25v
ZGUuICovCi0gICAgY25vZGUgPSBzdGFydHBhcmFtY25vZGUoY25vZGUsIHdvcmQsIHAgLSB3b3Jk
LCAwLCB0eXBlKTsKLSAgICBjbm9kZS0+ZmlsZW5hbWUgPSBmaWxlbmFtZTsKLSAgICBjbm9kZS0+
bGluZW51bSA9IGxpbmVudW07Ci0gICAgKnBjbm9kZSA9IGNub2RlOwotICAgIHJldHVybiBwOwot
fQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioKLSAqIERveHlnZW4gY29tbWFuZCBoYW5kbGVyIDogXGxhbmcK
LSAqLwotc3RhdGljIGNvbnN0IGNoYXIgKgotZG94X2F0dHIoY29uc3QgY2hhciAqcCwgc3RydWN0
IGNub2RlICoqcGNub2RlLCBjb25zdCBzdHJ1Y3QgY25vZGVmdW5jcyAqdHlwZSwKLSAgICAgICAg
ICBjb25zdCBjaGFyICpmaWxlbmFtZSwgdW5zaWduZWQgaW50IGxpbmVudW0sIGNvbnN0IGNoYXIg
KmNtZG5hbWUpCi17Ci0gIHN0cnVjdCBjbm9kZSAqY25vZGUgPSAqcGNub2RlOwotICAgIGNvbnN0
IGNoYXIgKndvcmQ7Ci0gICAgaW50IGxlbiwgd29yZGxlbiwgb2Zmc2V0ID0gMDsKLQljaGFyICph
dHRydGV4dDsKLSAgICAvKiBHZXQgdGhlIG5leHQgd29yZCBhcyB0aGUgYXR0cmlidXRlIHZhbHVl
LiAqLwotICAgIHdvcmQgPSBwYXJzZXdvcmQoJnApOwotICAgIGlmICghd29yZCkKLSAgICAgICAg
bG9jZXJyb3JleGl0KGZpbGVuYW1lLCBsaW5lbnVtLCAiZXhwZWN0ZWQgd29yZCBhZnRlciBcXCVz
IiwgY21kbmFtZSk7Ci0KLQlsZW4gPSBzdHJsZW4oY21kbmFtZSkgKyAod29yZGxlbiA9IHAtd29y
ZCkgKyA0OyAvKiBwPSJ3b3JkIlwwICovCi0JaWYoY25vZGUtPmF0dHJ0ZXh0KQotCSAgbGVuICs9
IChvZmZzZXQgPSBzdHJsZW4oY25vZGUtPmF0dHJ0ZXh0KSkgKyAxOyAvKiBhZGQgc3BhY2UgZm9y
IHNwYWNlICovCi0JYXR0cnRleHQgPSBtZW1hbGxvYyhsZW4pOwotCWlmKG9mZnNldCkgewotCQlt
ZW1jcHkoYXR0cnRleHQsIGNub2RlLT5hdHRydGV4dCwgb2Zmc2V0KTsKLQkJYXR0cnRleHRbb2Zm
c2V0KytdID0gJyAnOwotCQltZW1mcmVlKCgodm9pZCopY25vZGUtPmF0dHJ0ZXh0KSk7Ci0JfQot
CW9mZnNldCArPSBzcHJpbnRmKCZhdHRydGV4dFtvZmZzZXRdLCAiJXM9XCIiLCBjbWRuYW1lKTsK
LQltZW1jcHkoJmF0dHJ0ZXh0W29mZnNldF0sIHdvcmQsIHdvcmRsZW4pOwotCXN0cmNweSgmYXR0
cnRleHRbb2Zmc2V0ICsgd29yZGxlbl0sICJcIiIpOwotCWNub2RlLT5hdHRydGV4dCA9IGF0dHJ0
ZXh0OwotCS8qIHNraXAgZGVsaW1pdGVyIGJlY2F1c2UgaXQgd29uJ3QgYmUgZG9uZSBvdGhlcndp
c2UgKi8KLQlpZihpbmNvZGUgJiYgaXN3aGl0ZXNwYWNlKCpwKSkgKytwOwotICAgIHJldHVybiBw
OwotfQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioKLSAqIGNvbW1hbmRzIDogdGFibGUgb2YgRG94eWdlbiBj
b21tYW5kcwotICovCi1zdHJ1Y3QgY29tbWFuZCB7Ci0gICAgY29uc3QgY2hhciAqKCpmdW5jKShj
b25zdCBjaGFyICpwLCBzdHJ1Y3QgY25vZGUgKipwY25vZGUsIGNvbnN0IHN0cnVjdCBjbm9kZWZ1
bmNzICp0eXBlLCBjb25zdCBjaGFyICpmaWxlbmFtZSwgdW5zaWduZWQgaW50IGxpbmVudW0sIGNv
bnN0IGNoYXIgKmNtZG5hbWUpOwotICAgIGNvbnN0IHN0cnVjdCBjbm9kZWZ1bmNzICp0eXBlOwot
ICAgIHVuc2lnbmVkIGludCBuYW1lbGVuOwotICAgIGNvbnN0IGNoYXIgKm5hbWU7Ci19Owotc3Rh
dGljIGNvbnN0IHN0cnVjdCBjb21tYW5kIGNvbW1hbmRzW10gPSB7Ci0gICAgeyAmZG94X3Rocm93
LCAmZGVmX2FwaV9mZWF0dXJlX2Z1bmNzLCAxNSwgImRlZi1hcGktZmVhdHVyZSIgfSwKLSAgICB7
ICZkb3hfdGhyb3csICZkZWZfYXBpX2ZlYXR1cmVfc2V0X2Z1bmNzLCAxOSwgImRlZi1hcGktZmVh
dHVyZS1zZXQiIH0sCi0gICAgeyAmZG94X3BhcmEsICZkZWZfaW5zdGFudGlhdGVkX2Z1bmNzLCAx
NiwgImRlZi1pbnN0YW50aWF0ZWQiIH0sCi0gICAgeyAmZG94X3BhcmEsICZuYW1lX2Z1bmNzLCA0
LCAibmFtZSIgfSwKLSAgICB7ICZkb3hfcGFyYSwgJmF1dGhvcl9mdW5jcywgNiwgImF1dGhvciIg
fSwKLSAgICB7ICZkb3hfYiwgMCwgMSwgImIiIH0sCi0gICAgeyAmZG94X3BhcmEsICZicmllZl9m
dW5jcywgNSwgImJyaWVmIiB9LAotICAgIHsgJmRveF9jb2RlLCAwLCA0LCAiY29kZSIgfSwKLSAg
ICB7ICZkb3hfdGhyb3csICZkZWZfZGV2aWNlX2NhcF9mdW5jcywgMTQsICJkZWYtZGV2aWNlLWNh
cCIgfSwKLSAgICB7ICZkb3hfYXR0ciwgMCwgNCwgImxhbmciIH0sCi0gICAgeyAmZG94X2VuZGNv
ZGUsIDAsIDcsICJlbmRjb2RlIiB9LAotICAgIHsgJmRveF9uLCAwLCAxLCAibiIgfSwKLSAgICB7
ICZkb3hfcGFyYW0sICZwYXJhbV9mdW5jcywgNSwgInBhcmFtIiB9LAotICAgIHsgJmRveF9wYXJh
LCAmcmV0dXJuX2Z1bmNzLCA2LCAicmV0dXJuIiB9LAotICAgIHsgJmRveF90aHJvdywgJnRocm93
X2Z1bmNzLCA1LCAidGhyb3ciIH0sCi0gICAgeyAmZG94X3Rocm93LCAmYXBpX2ZlYXR1cmVfZnVu
Y3MsIDExLCAiYXBpLWZlYXR1cmUiIH0sCi0gICAgeyAmZG94X3Rocm93LCAmZGV2aWNlX2NhcF9m
dW5jcywgMTAsICJkZXZpY2UtY2FwIiB9LAotICAgIHsgJmRveF9wYXJhLCAmdmVyc2lvbl9mdW5j
cywgNywgInZlcnNpb24iIH0sCi0gICAgeyAwLCAwLCAwIH0KLX07Ci0KLS8qKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KgotICogcGFyc2VodG1sdGFnIDogcGFyc2UgaHRtbCB0YWcKLSAqCi0gKiBFbnRlcjogICBzdGFy
dCA9IHN0YXJ0IG9mIHRhZywgdGhlICc8JyBjaGFyCi0gKiAgICAgICAgICAqcGNub2RlID0gY3Vy
cmVudCBjbm9kZQotICogICAgICAgICAgZmlsZW5hbWUgPSBmaWxlbmFtZQotICogICAgICAgICAg
KnBsaW5lbnVtID0gY3VycmVudCBsaW5lIG51bWJlcgotICoKLSAqIFJldHVybjogIGp1c3QgYWZ0
ZXIgdGhlIHRhZwotICogICAgICAgICAgKnBjbm9kZSBhbmQgKnBsaW5lbnVtIHVwZGF0ZWQgaWYg
YXBwbGljYWJsZQotICovCi1zdGF0aWMgY29uc3QgY2hhciAqCi1wYXJzZWh0bWx0YWcoY29uc3Qg
Y2hhciAqc3RhcnQsIHN0cnVjdCBjbm9kZSAqKnBjbm9kZSwKLSAgICAgICAgICAgICBjb25zdCBj
aGFyICpmaWxlbmFtZSwgdW5zaWduZWQgaW50ICpwbGluZW51bSkKLXsKLSAgICBzdHJ1Y3QgY25v
ZGUgKmNub2RlID0gKnBjbm9kZTsKLSAgICBjb25zdCBjaGFyICplbmQgPSBzdGFydCArIDEsICpl
bmRuYW1lID0gMCwgKm5hbWUgPSBlbmQ7Ci0gICAgaW50IGNoID0gKmVuZDsKLSAgICBpbnQgcXVv
dGUgPSAwOwotICAgIGludCBjbG9zZSA9IDA7Ci0gICAgdW5zaWduZWQgaW50IGxpbmVudW0gPSAq
cGxpbmVudW07Ci0gICAgY29uc3Qgc3RydWN0IGh0bWxlbGRlc2MgKmh0bWxlbGRlc2M7Ci0gICAg
aWYgKGNoID09ICcvJykgewotICAgICAgICBjbG9zZSA9IDE7Ci0gICAgICAgIGNoID0gKisrZW5k
OwotICAgICAgICBuYW1lID0gZW5kOwotICAgIH0KLSAgICAvKiBGaW5kIHRoZSBlbmQgb2YgdGhl
IHRhZy4gKi8KLSAgICBmb3IgKDs7KSB7Ci0gICAgICAgIGlmICghY2gpCi0gICAgICAgICAgICBs
b2NlcnJvcmV4aXQoZmlsZW5hbWUsICpwbGluZW51bSwgInVudGVybWluYXRlZCBIVE1MIHRhZyIp
OwotICAgICAgICBpZiAoY2ggPT0gJ1xuJykKLSAgICAgICAgICAgIGxpbmVudW0rKzsKLSAgICAg
ICAgZWxzZSBpZiAoaXN3aGl0ZXNwYWNlKGNoKSB8fCBjaCA9PSAnLycpIHsKLSAgICAgICAgICAg
IGlmICghZW5kbmFtZSkKLSAgICAgICAgICAgICAgICBlbmRuYW1lID0gZW5kOwotICAgICAgICB9
IGVsc2UgaWYgKCFxdW90ZSkgewotICAgICAgICAgICAgaWYgKGNoID09ICciJyB8fCBjaCA9PSAn
XCcnKQotICAgICAgICAgICAgICAgIHF1b3RlID0gY2g7Ci0gICAgICAgICAgICBlbHNlIGlmIChj
aCA9PSAnPicpCi0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAg
ICAgICAgICBpZiAoY2ggPT0gcXVvdGUpCi0gICAgICAgICAgICAgICAgcXVvdGUgPSAwOwotICAg
ICAgICB9Ci0gICAgICAgIGNoID0gKisrZW5kOwotICAgIH0KLSAgICBpZiAoIWVuZG5hbWUpCi0g
ICAgICAgIGVuZG5hbWUgPSBlbmQ7Ci0gICAgZW5kKys7Ci0gICAgLyogU2VlIGlmIGl0J3MgYW4g
eG1sIG9wZW4tY2xvc2UgdGFnLiAqLwotICAgIGlmICghY2xvc2UgJiYgZW5kbmFtZSAhPSBuYW1l
ICYmIGVuZFstMl0gPT0gJy8nKQotICAgICAgICBjbG9zZSA9IDI7Ci0gICAgLyogRmluZCB0aGUg
dGFnIGZyb20gb3VyIGxpc3QuICovCi0gICAgaHRtbGVsZGVzYyA9IGh0bWxlbGRlc2NzOwotICAg
IGZvciAoOzspIHsKLSAgICAgICAgaWYgKCFodG1sZWxkZXNjLT5uYW1lbGVuKSB7Ci0gICAgICAg
ICAgICBsb2NlcnJvcmV4aXQoZmlsZW5hbWUsICpwbGluZW51bSwgInVucmVjb2duaXplZCBIVE1M
IHRhZyAlLipzIiwKLSAgICAgICAgICAgICAgICAgICAgZW5kIC0gc3RhcnQsIHN0YXJ0KTsKLSAg
ICAgICAgfQotICAgICAgICBpZiAoaHRtbGVsZGVzYy0+bmFtZWxlbiA9PSBlbmRuYW1lIC0gbmFt
ZQotICAgICAgICAgICAgICAgICYmICFzdHJuY2FzZWNtcChodG1sZWxkZXNjLT5uYW1lLCBuYW1l
LCBlbmRuYW1lIC0gbmFtZSkpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAg
ICB9Ci0gICAgICAgIGh0bWxlbGRlc2MrKzsKLSAgICB9Ci0gICAgaWYgKGNsb3NlID09IDEpIHsK
LSAgICAgICAgLyogQ2xvc2luZyB0YWcuIEZpbmQgb3BlbiBlbGVtZW50IHRvIGNsb3NlLiAqLwot
ICAgICAgICBmb3IgKDs7KSB7Ci0gICAgICAgICAgICBzdHJ1Y3QgaHRtbGNub2RlICpodG1sY25v
ZGU7Ci0gICAgICAgICAgICBpZiAoY25vZGUtPmZ1bmNzICE9ICZ0ZXh0X2Z1bmNzKSB7Ci0gICAg
ICAgICAgICAgICAgaWYgKGNub2RlLT5mdW5jcyAhPSAmaHRtbF9mdW5jcykgewotICAgICAgICAg
ICAgICAgICAgICBsb2NlcnJvcmV4aXQoZmlsZW5hbWUsICpwbGluZW51bSwgIm1pc21hdGNoZWQg
JS4qcyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5kIC0gc3RhcnQsIHN0YXJ0KTsK
LSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgaHRtbGNub2RlID0gKHN0cnVjdCBo
dG1sY25vZGUgKiljbm9kZTsKLSAgICAgICAgICAgICAgICBpZiAoaHRtbGNub2RlLT5kZXNjID09
IGh0bWxlbGRlc2MpCi0gICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgICAg
IGlmICghKGh0bWxjbm9kZS0+ZGVzYy0+ZmxhZ3MgJiBIVE1MRUxfQVVUT0NMT1NFKSkgewotICAg
ICAgICAgICAgICAgICAgICBsb2NlcnJvcmV4aXQoZmlsZW5hbWUsIGh0bWxjbm9kZS0+Y24ubGlu
ZW51bSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAibWlzbWF0Y2hlZCA8JS4qcz4iLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGh0bWxjbm9kZS0+ZGVzYy0+bmFtZWxlbiwgaHRt
bGNub2RlLT5kZXNjLT5uYW1lKTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB9Ci0g
ICAgICAgICAgICBjbm9kZSA9IGVuZGNub2RlKGNub2RlKTsKLSAgICAgICAgfQotICAgICAgICBj
bm9kZSA9IGVuZGNub2RlKGNub2RlKTsKLSAgICB9IGVsc2UgewotICAgICAgICAvKiBPcGVuaW5n
IHRhZy4gKi8KLSAgICAgIGlmIChjbG9zZSAhPTIpCi0JICAgY25vZGUgPSBzdGFydGh0bWxjbm9k
ZShjbm9kZSwgaHRtbGVsZGVzYywgZW5kbmFtZSwgZW5kIC0gMSAtIGVuZG5hbWUsIGZpbGVuYW1l
LCAqcGxpbmVudW0pOwotICAgICAgZWxzZSAvLyBkb24ndCBpbmNsdWRlIHRoZSBjbG9zaW5nICIv
IiBpbiB0aGUgYXR0cmlidXRlcyBsaXN0Ci0JICAgY25vZGUgPSBzdGFydGh0bWxjbm9kZShjbm9k
ZSwgaHRtbGVsZGVzYywgZW5kbmFtZSwgZW5kIC0gMiAtIGVuZG5hbWUsIGZpbGVuYW1lLCAqcGxp
bmVudW0pOwotICAgICAgaWYgKGNsb3NlID09IDIgfHwgKGh0bWxlbGRlc2MtPmNvbnRlbnQgJiBI
VE1MRUxfRU1QVFkpKSB7Ci0JLyogRW1wdHkgZWxlbWVudCAtLSBjbG9zZSBpdCBhZ2Fpbi4gKi8K
LQljbm9kZSA9IGVuZGNub2RlKGNub2RlKTsKLSAgICAgIH0KLSAgICB9Ci0gICAgKnBjbm9kZSA9
IGNub2RlOwotICAgICpwbGluZW51bSA9IGxpbmVudW07Ci0gICAgcmV0dXJuIGVuZDsKLX0KLQot
LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqCi0gKiBwYXJzZWNvbW1lbnQgOiBwYXJzZSBvbmUgY29tbWVudAotICoK
LSAqIEVudGVyOiAgIGNvbW1lbnQgc3RydWN0Ci0gKi8KLXN0YXRpYyB2b2lkCi1wYXJzZWNvbW1l
bnQoc3RydWN0IGNvbW1lbnQgKmNvbW1lbnQpCi17Ci0gICAgc3RydWN0IGNub2RlICpjbm9kZSA9
ICZjb21tZW50LT5yb290OwotICAgIGNvbnN0IGNoYXIgKnAgPSBjb21tZW50LT50ZXh0ICsgY29t
bWVudC0+YmFjazsKLSAgICB1bnNpZ25lZCBpbnQgbGluZW51bSA9IGNvbW1lbnQtPmxpbmVudW0g
LSAxOwotICAgIGludCBjaDsKLSAgICBjdXJjb21tZW50ID0gY29tbWVudDsKLSAgICBpbmNvZGUg
PSAwOwotICAgIGluaHRtbGJsb2NrID0gMDsKLSAgICBjbm9kZS0+ZnVuY3MgPSAmcm9vdF9mdW5j
czsKLSAgICBmb3IgKDs7KSB7Ci0gICAgICAgIC8qIFN0YXJ0IG9mIG5ldyBsaW5lLiAqLwotICAg
ICAgICBjb25zdCBjaGFyICpzdGFydHRleHQ7Ci0gICAgICAgIGNoID0gKnA7Ci0gICAgICAgIGxp
bmVudW0rKzsKLSAgICAgICAgewotICAgICAgICAgICAgLyogRmluZCBmaXJzdCBub24td2hpdGVz
cGFjZSBjaGFyYWN0ZXIuICovCi0gICAgICAgICAgICBjb25zdCBjaGFyICpwMiA9IHA7Ci0gICAg
ICAgICAgICBpbnQgY2gyID0gY2g7Ci0gICAgICAgICAgICB3aGlsZSAoaXN3aGl0ZXNwYWNlKGNo
MikpCi0gICAgICAgICAgICAgICAgY2gyID0gKisrcDI7Ci0gICAgICAgICAgICBpZiAoY29tbWVu
dC0+dHlwZSA9PSBUT0tfQkxPQ0tDT01NRU5UICYmIGNoMiA9PSAnKicpIHsKLSAgICAgICAgICAg
ICAgICAvKiBJZ25vcmUgaW5pdGlhbCAqIGluIGJsb2NrIGNvbW1lbnQgKGV2ZW4gaW4gXGNvZGUg
YmxvY2spLiAqLwotICAgICAgICAgICAgICAgIGNoMiA9ICorK3AyOwotICAgICAgICAgICAgICAg
IGNoID0gY2gyOwotICAgICAgICAgICAgICAgIHAgPSBwMjsKLSAgICAgICAgICAgICAgICBpZiAo
Y2ggPT0gJyonKQotICAgICAgICAgICAgICAgICAgICBnb3RvIGNoZWNrZm9ybGluZW9mc3RhcnM7
Ci0gICAgICAgICAgICAgICAgd2hpbGUgKGlzd2hpdGVzcGFjZShjaDIpKQotICAgICAgICAgICAg
ICAgICAgICBjaDIgPSAqKytwMjsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGlmIChjb21t
ZW50LT50eXBlID09IFRPS19JTkxJTkVDT01NRU5UICYmIGNoMiA9PSAnLycpIHsKLWNoZWNrZm9y
bGluZW9mc3RhcnM6Ci0gICAgICAgICAgICAgICAgaWYgKCFpbmNvZGUpIHsKLSAgICAgICAgICAg
ICAgICAgICAgLyogSWdub3JlIHdob2xlIGxpbmUgb2YgKiBmb3IgYmxvY2sgY29tbWVudCBvciAv
IGZvciBpbmxpbmUKLSAgICAgICAgICAgICAgICAgICAgICogY29tbWVudCBpZiB0aGF0IGlzIHRo
ZSBvbmx5IHRoaW5nIG9uIHRoZSBsaW5lLiAqLwotICAgICAgICAgICAgICAgICAgICBjb25zdCBj
aGFyICpwMyA9IHAyOwotICAgICAgICAgICAgICAgICAgICBpbnQgY2gzOwotICAgICAgICAgICAg
ICAgICAgICBkbyBjaDMgPSAqKytwMzsgd2hpbGUgKGNoMyA9PSBjaDIpOwotICAgICAgICAgICAg
ICAgICAgICB3aGlsZSAoaXN3aGl0ZXNwYWNlKGNoMykpIGNoMyA9ICorK3AzOwotICAgICAgICAg
ICAgICAgICAgICBpZiAoIWNoMyB8fCBjaDMgPT0gJ1xuJykgewotICAgICAgICAgICAgICAgICAg
ICAgICAgLyogUmVhY2hlZCBlbmQgb2YgbGluZSAob3Igd2hvbGUgY29tbWVudCkgLS0gdHJlYXQg
YXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAqIGVtcHR5IGxpbmUuICovCi0gICAgICAgICAg
ICAgICAgICAgICAgICBjaDIgPSBjaDM7Ci0gICAgICAgICAgICAgICAgICAgICAgICBwMiA9IHAz
OwotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAg
fQotICAgICAgICAgICAgaWYgKCFpbmNvZGUpIHsKLSAgICAgICAgICAgICAgICAvKiBPbmx5IGFs
bG93IHdoaXRlc3BhY2Ugb21pc3Npb24gYWJvdmUgdG8gdGFrZSBlZmZlY3QgaWYKLSAgICAgICAg
ICAgICAgICAgKiBub3QgaW4gXGNvZGUgYmxvY2suICovCi0gICAgICAgICAgICAgICAgY2ggPSBj
aDI7Ci0gICAgICAgICAgICAgICAgcCA9IHAyOwotICAgICAgICAgICAgfQotICAgICAgICB9Ci0g
ICAgICAgIGlmICghY2gpIHsKLSAgICAgICAgICAgIC8qIEVuZCBvZiBjb21tZW50cyAtLSBmaW5p
c2guICovCi0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgfQotICAgICAgICBpZiAoIWluY29k
ZSAmJiAhaW5odG1sYmxvY2sgJiYgY2ggPT0gJ1xuJykgewotICAgICAgICAgICAgLyogQmxhbmsg
bGluZSAtLSBmaW5pc2ggYW55IHBhcmEsIGJ1dCBvbmx5IGlmIG5vdCBpbiBjb2RlIGFuZAotICAg
ICAgICAgICAgICogbm90IGluIGFueSBIVE1MIGJsb2NrIGVsZW1lbnQuICovCi0gICAgICAgICAg
ICB3aGlsZSAoKCpjbm9kZS0+ZnVuY3MtPmFza2VuZCkoY25vZGUsIDApKQotICAgICAgICAgICAg
ICAgIGNub2RlID0gZW5kY25vZGUoY25vZGUpOwotICAgICAgICAgICAgcCsrOwotICAgICAgICAg
ICAgY29udGludWU7Ci0gICAgICAgIH0KLSAgICAgICAgLyogU3RhcnQgbmV3IHBhcmEgaWYgdGhl
cmUgaXNuJ3QgYWxyZWFkeSBvbmUgZ29pbmcuICovCi0gICAgICAgIGlmIChjbm9kZS0+ZnVuY3Mt
Pm5lZWRwYXJhKQotICAgICAgICAgICAgY25vZGUgPSBzdGFydHBhcmEoY25vZGUsICZwYXJhX2Z1
bmNzKTsKLSAgICAgICAgLyogUHJvY2VzcyB0ZXh0IG9uIHRoZSBsaW5lLiAqLwotICAgICAgICBz
dGFydHRleHQgPSBwOwotICAgICAgICB3aGlsZSAoY2ggJiYgY2ggIT0gJ1xuJykgewotICAgICAg
ICAgICAgaWYgKGNoICE9ICdcXCcgJiYgY2ggIT0gJzwnIC8qICYmIGNoICE9ICdAJyAqLyAmJiBj
aCAhPSAnJCcKLSAgICAgICAgICAgICAgICAgICAgJiYgY2ggIT0gJyYnICYmIGNoICE9ICdccicp
Ci0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgY2ggPSAqKytwOwotICAgICAgICAgICAg
ICAgIGNvbnRpbnVlOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgLyogT3V0cHV0IGFueSBw
ZW5kaW5nIHRleHQuICovCi0gICAgICAgICAgICBpZiAocCAtIHN0YXJ0dGV4dCkKLSAgICAgICAg
ICAgICAgICBjbm9kZSA9IGFkZHRleHQoY25vZGUsIHN0YXJ0dGV4dCwgcCAtIHN0YXJ0dGV4dCk7
Ci0JICAgIC8qIElnbm9yZSBcciBpbiBET1MgbGluZSByZXR1cm5zICovCi0JICAgIGlmIChjaCA9
PSAnXHInKSB7Ci0JICAgICAgICBjaCA9ICorK3A7Ci0gIAkgICAgICAgIHN0YXJ0dGV4dCA9IHA7
Ci0JCWNvbnRpbnVlOwotCSAgICB9Ci0gICAgICAgICAgICBpZiAoY2ggPT0gJyQnKQotICAgICAg
ICAgICAgICAgIGxvY2Vycm9yZXhpdChjb21tZW50LT5maWxlbmFtZSwgbGluZW51bSwgInVzZSBc
XCQgaW5zdGVhZCBvZiAkIik7Ci0gICAgICAgICAgICAvKiBTZWUgaWYgaXQgaXMgYW4gaHRtbCBu
YW1lZCBlbnRpdHkuICovCi0gICAgICAgICAgICBpZiAoY2ggPT0gJyYnICYmIHBbMV0gIT0gJyMn
KSB7Ci0gICAgICAgICAgICAgICAgY29uc3QgY2hhciAqZW50aXR5ID0gRU5USVRJRVM7Ci0gICAg
ICAgICAgICAgICAgLyogVGhpcyBzZWFyY2ggY291bGQgYmUgZmFzdGVyIGlmIHRoZSBlbnRpdHkg
bmFtZXMgd2VyZSBwdXQKLSAgICAgICAgICAgICAgICAgKiBpbiBhIGhhc2ggdGFibGUgb3Igc29t
ZXRoaW5nLiAqLwotICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKnNlbWljb2xvbiA9IHN0cmNo
cihwLCAnOycpOwotICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBsZW47Ci0gICAgICAgICAg
ICAgICAgaWYgKCFzZW1pY29sb24pCi0gICAgICAgICAgICAgICAgICAgIGxvY2Vycm9yZXhpdChj
b21tZW50LT5maWxlbmFtZSwgbGluZW51bSwgInVudGVybWluYXRlZCBIVE1MIGVudGl0eSIpOwot
ICAgICAgICAgICAgICAgIHArKzsKLSAgICAgICAgICAgICAgICBmb3IgKDs7KSB7Ci0gICAgICAg
ICAgICAgICAgICAgIGxlbiA9IHN0cmxlbihlbnRpdHkpOwotICAgICAgICAgICAgICAgICAgICBp
ZiAoIWxlbikKLSAgICAgICAgICAgICAgICAgICAgICAgIGxvY2Vycm9yZXhpdChjb21tZW50LT5m
aWxlbmFtZSwgbGluZW51bSwgInVucmVjb2duaXNlZCBIVE1MIGVudGl0eSAmJS4qczsiLCBzZW1p
Y29sb24gLSBwLCBwKTsKLSAgICAgICAgICAgICAgICAgICAgaWYgKGxlbiA9PSBzZW1pY29sb24g
LSBwICYmICFtZW1jbXAocCwgZW50aXR5LCBsZW4pKQotICAgICAgICAgICAgICAgICAgICAgICAg
YnJlYWs7Ci0gICAgICAgICAgICAgICAgICAgIGVudGl0eSArPSBsZW4gKyAxOwotICAgICAgICAg
ICAgICAgICAgICBlbnRpdHkgKz0gc3RybGVuKGVudGl0eSkgKyAxOwotICAgICAgICAgICAgICAg
IH0KLSAgICAgICAgICAgICAgICBlbnRpdHkgKz0gbGVuICsgMTsKLSAgICAgICAgICAgICAgICBj
bm9kZSA9IGFkZHRleHQoY25vZGUsIGVudGl0eSwgc3RybGVuKGVudGl0eSkpOwotICAgICAgICAg
ICAgICAgIHAgPSBzZW1pY29sb24gKyAxOwotICAgICAgICAgICAgICAgIGNoID0gKnA7Ci0gICAg
ICAgICAgICAgICAgc3RhcnR0ZXh0ID0gcDsKLSAgICAgICAgICAgICAgICBjb250aW51ZTsKLSAg
ICAgICAgICAgIH0KLSAgICAgICAgICAgIC8qIFNlZSBpZiBpdCBpcyBhIGJhY2tzbGFzaCBlc2Nh
cGUgc2VxdWVuY2UuICovCi0gICAgICAgICAgICBlbHNlIGlmIChjaCA9PSAnXFwnKSB7Ci0gICAg
ICAgICAgICAgICAgY29uc3QgY2hhciAqbWF0Y2ggPSAiXFxAJiQjPD4lIjsKLSAgICAgICAgICAg
ICAgICBjb25zdCBjaGFyICpwb3M7Ci0gICAgICAgICAgICAgICAgY2ggPSBwWzFdOwotICAgICAg
ICAgICAgICAgIHBvcyA9IHN0cmNocihtYXRjaCwgY2gpOwotICAgICAgICAgICAgICAgIGlmIChw
b3MpIHsKLSAgICAgICAgICAgICAgICAgICAgLyogR290IGEgXCBlc2NhcGUgc2VxdWVuY2UuICov
Ci0gICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKnRleHQgPSAKLSAgICAgICAgICAgICAg
ICAgICAgICAgICJcXFwwICAgIEBcMCAgICAmYW1wO1wwJFwwICAgICNcMCAgICAmbHQ7XDAgPlww
ICAgICUiCi0gICAgICAgICAgICAgICAgICAgICAgICArIDYgKiAocG9zIC0gbWF0Y2gpOwotICAg
ICAgICAgICAgICAgICAgICBjbm9kZSA9IGFkZHRleHQoY25vZGUsIHRleHQsIHN0cmxlbih0ZXh0
KSk7Ci0gICAgICAgICAgICAgICAgICAgIHAgKz0gMjsKLSAgICAgICAgICAgICAgICAgICAgY2gg
PSAqcDsKLSAgICAgICAgICAgICAgICAgICAgc3RhcnR0ZXh0ID0gcDsKLSAgICAgICAgICAgICAg
ICAgICAgY29udGludWU7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgfSBlbHNlIGlm
IChjaCA9PSAnPCcpIHsKLSAgICAgICAgICAgICAgICBpZiAoaW5jb2RlKSB7Ci0gICAgICAgICAg
ICAgICAgICAgIGNoID0gKisrcDsKLSAgICAgICAgICAgICAgICAgICAgc3RhcnR0ZXh0ID0gcDsK
LSAgICAgICAgICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAgICAgICAgfQotICAgICAg
ICAgICAgICAgIC8qIEl0J3MgYW4gaHRtbCB0YWcuICovCi0gICAgICAgICAgICAgICAgcCA9IHBh
cnNlaHRtbHRhZyhwLCAmY25vZGUsIGNvbW1lbnQtPmZpbGVuYW1lLCAmbGluZW51bSk7Ci0gICAg
ICAgICAgICAgICAgY2ggPSAqcDsKLSAgICAgICAgICAgICAgICBzdGFydHRleHQgPSBwOwotICAg
ICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgewotICAg
ICAgICAgICAgICAgIC8qIEdvdCBhIGRveHlnZW4gY29tbWFuZC4gRmlyc3Qgd29yayBvdXQgaXRz
IGxlbmd0aC4gKi8KLSAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpzdGFydCA9ICsrcDsKLSAg
ICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgY21kbGVuOwotICAgICAgICAgICAgICAgIGNvbnN0
IHN0cnVjdCBjb21tYW5kICpjb21tYW5kOwotICAgICAgICAgICAgICAgIGNoID0gKnA7Ci0gICAg
ICAgICAgICAgICAgd2hpbGUgKCh1bnNpZ25lZCkoKGNoICYgfjB4MjApIC0gJ0EnKSA8PSAnWicg
LSAnQScKLSAgICAgICAgICAgICAgICAgICAgICAgIHx8ICh1bnNpZ25lZCkoY2ggLSAnMCcpIDwg
MTAgfHwgY2ggPT0gJ18nIHx8IGNoID09ICctJykKLSAgICAgICAgICAgICAgICB7Ci0gICAgICAg
ICAgICAgICAgICAgIGNoID0gKisrcDsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAg
ICAgY21kbGVuID0gcCAtIHN0YXJ0OwotICAgICAgICAgICAgICAgIGlmICghY21kbGVuKQotICAg
ICAgICAgICAgICAgICAgICBsb2NlcnJvcmV4aXQoY29tbWVudC0+ZmlsZW5hbWUsIGxpbmVudW0s
ICJcXCBvciBAIHdpdGhvdXQgRG94eWdlbiBjb21tYW5kIik7Ci0gICAgICAgICAgICAgICAgLyog
TG9vayBpdCB1cCBpbiB0aGUgdGFibGUuICovCi0gICAgICAgICAgICAgICAgY29tbWFuZCA9IGNv
bW1hbmRzOwotICAgICAgICAgICAgICAgIGZvciAoOzspIHsKLSAgICAgICAgICAgICAgICAgICAg
aWYgKCFjb21tYW5kLT5uYW1lbGVuKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBsb2NlcnJv
cmV4aXQoY29tbWVudC0+ZmlsZW5hbWUsIGxpbmVudW0sICJ1bnJlY29nbml6ZWQgRG94eWdlbiBj
b21tYW5kICclLipzJyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNtZGxlbiAr
IDEsIHN0YXJ0IC0gMSk7Ci0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAg
ICAgaWYgKGNvbW1hbmQtPm5hbWVsZW4gPT0gY21kbGVuCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgJiYgIW1lbWNtcChjb21tYW5kLT5uYW1lLCBzdGFydCwgY21kbGVuKSkKLSAgICAgICAg
ICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAg
ICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAgY29tbWFuZCsrOwotICAgICAgICAgICAg
ICAgIH0KLSAgICAgICAgICAgICAgICBwID0gKCpjb21tYW5kLT5mdW5jKShwLCAmY25vZGUsIGNv
bW1hbmQtPnR5cGUsCi0gICAgICAgICAgICAgICAgICAgICAgICBjb21tZW50LT5maWxlbmFtZSwg
bGluZW51bSwgY29tbWFuZC0+bmFtZSk7Ci0gICAgICAgICAgICAgICAgY2ggPSAqcDsKLSAgICAg
ICAgICAgICAgICBzdGFydHRleHQgPSBwOwotICAgICAgICAgICAgfQotICAgICAgICB9Ci0gICAg
ICAgIGlmIChwIC0gc3RhcnR0ZXh0KSB7Ci0gICAgICAgICAgICAvKiBTdGFydCBuZXcgcGFyYSBp
ZiB0aGVyZSBpc24ndCBhbHJlYWR5IG9uZSBnb2luZy4gKi8KLSAgICAgICAgICAgIGlmIChjbm9k
ZS0+ZnVuY3MtPm5lZWRwYXJhKQotICAgICAgICAgICAgICAgIGNub2RlID0gc3RhcnRwYXJhKGNu
b2RlLCAmcGFyYV9mdW5jcyk7Ci0gICAgICAgICAgICBjbm9kZSA9IGFkZHRleHQoY25vZGUsIHN0
YXJ0dGV4dCwgcCAtIHN0YXJ0dGV4dCk7Ci0gICAgICAgIH0KLSAgICAgICAgaWYgKCFjaCkKLSAg
ICAgICAgICAgIGJyZWFrOwotICAgICAgICBpZiAoY25vZGUtPmZ1bmNzID09ICZ0ZXh0X2Z1bmNz
KQotICAgICAgICAgICAgYWRkdGV4dChjbm9kZSwgIlxuIiwgMSk7Ci0gICAgICAgIHArKzsKLSAg
ICB9Ci0gICAgLyogRmluaXNoIHRoZSByb290IGNub2RlLiAqLwotICAgIGRvCi0gICAgICAgIGNu
b2RlID0gZW5kY25vZGUoY25vZGUpOwotICAgIHdoaWxlIChjbm9kZSk7Ci0gICAgYXNzZXJ0KCFp
bmNvZGUpOwotICAgIGFzc2VydCghaW5odG1sYmxvY2spOwotfQotCi0vKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioK
LSAqIHBhcnNlY29tbWVudHMgOiBwYXJzZSBjb21tZW50cwotICoKLSAqIEVudGVyOiAgIGNvbW1l
bnQgPSBmaXJzdCBjb21tZW50IGluIGxpc3QKLSAqLwotc3RhdGljIHZvaWQKLXBhcnNlY29tbWVu
dHMoc3RydWN0IGNvbW1lbnQgKmNvbW1lbnQpCi17Ci0gICAgd2hpbGUgKGNvbW1lbnQpIHsKLSAg
ICAgICAgcGFyc2Vjb21tZW50KGNvbW1lbnQpOwotICAgICAgICBjb21tZW50ID0gY29tbWVudC0+
bmV4dDsKLSAgICB9Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogYXR0YWNoY29tbWVudHRvbm9k
ZSA6IGF0dGFjaCBjb21tZW50IHN0cnVjdCB0byBub2RlCi0gKgotICogRW50ZXI6ICAgbm9kZSA9
IHBhcnNlIG5vZGUgZm9yIGlkZW50aWZpZXIKLSAqICAgICAgICAgIGNvbW1lbnQgPSBjb21tZW50
IHN0cnVjdAotICovCi1zdGF0aWMgdm9pZAotYXR0YWNoY29tbWVudHRvbm9kZShzdHJ1Y3Qgbm9k
ZSAqbm9kZSwgc3RydWN0IGNvbW1lbnQgKmNvbW1lbnQpCi17Ci0gICAgY29tbWVudC0+bmV4dCA9
IG5vZGUtPmNvbW1lbnRzOwotICAgIG5vZGUtPmNvbW1lbnRzID0gY29tbWVudDsKLX0KLQotLyoq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqCi0gKiBhdHRhY2hjb21tZW50cyA6IGF0dGFjaCBjb21tZW50cyB0byBhcHBs
aWNhYmxlIHBhcnNlIG5vZGVzCi0gKgotICogRW50ZXI6ICAgY29tbWVudCA9IGZpcnN0IGluIChy
ZXZlcnNlZCkgbGlzdCBvZiBjb21tZW50IHN0cnVjdHMKLSAqICAgICAgICAgIHJvb3QgPSByb290
IHBhcnNlIG5vZGUgKGZvciBhdHRhY2hpbmcgXGZpbGUgY29tbWVudCBibG9ja3MgdG8pCi0gKi8K
LXN0YXRpYyB2b2lkCi1hdHRhY2hjb21tZW50cyhzdHJ1Y3QgY29tbWVudCAqY29tbWVudCwgc3Ry
dWN0IG5vZGUgKnJvb3QpCi17Ci0gICAgd2hpbGUgKGNvbW1lbnQpIHsKLSAgICAgICAgc3RydWN0
IGNvbW1lbnQgKm5leHQgPSBjb21tZW50LT5uZXh0OwotICAgICAgICAvKiBTZWUgaWYgdGhlcmUg
YXJlIGFueSBccGFyYW0sIFxyZXR1cm4sIFx0aHJvdywgXGRlZi1hcGktZmVhdHVyZSBvcgotICAg
ICAgICAgKiBcZGVmLWRldmljZS1jYXAgY25vZGVzIHRvIGRldGFjaCBhbmQgYXR0YWNoCi0gICAg
ICAgICAqIGVsc2V3aGVyZS4gKFRoaXMgb25seSBsb29rcyBhdCB0b3AtbGV2ZWwgbm9kZXMsIGRp
cmVjdCBjaGlsZHJlbgotICAgICAgICAgKiBvZiB0aGUgcm9vdCwgc28gZG9lcyBub3QgZGV0YWNo
IGEgXHBhcmFtIGluc2lkZSBhCi0gICAgICAgICAqIFxkZWYtZGV2aWNlLWNhcC4pICovCi0gICAg
ICAgIHN0cnVjdCBjbm9kZSAqKnBjbm9kZSA9ICZjb21tZW50LT5yb290LmNoaWxkcmVuOwotICAg
ICAgICBmb3IgKDs7KSB7Ci0gICAgICAgICAgICBzdHJ1Y3QgY25vZGUgKmNub2RlID0gKnBjbm9k
ZTsKLSAgICAgICAgICAgIGlmICghY25vZGUpCi0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAg
ICAgICAgICBpZiAoY25vZGUtPmZ1bmNzID09ICZwYXJhbV9mdW5jcyB8fCBjbm9kZS0+ZnVuY3Mg
PT0gJnJldHVybl9mdW5jcwotICAgICAgICAgICAgICAgICAgICB8fCBjbm9kZS0+ZnVuY3MgPT0g
JnRocm93X2Z1bmNzKQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIC8qIEZvdW5kIGEg
XHBhcmFtIG9yIFxyZXR1cm4gb3IgXHRocm93IHRvIGRldGFjaC4gRmluZCB0aGUKLSAgICAgICAg
ICAgICAgICAgKiBwYXJhbWV0ZXIvZXhjZXB0aW9uIG9mIHRoZSBzYW1lIG5hbWUsIG9yIHRoZSBy
ZXR1cm4gdHlwZS4gKi8KLSAgICAgICAgICAgICAgICBzdHJ1Y3Qgbm9kZSAqbm9kZTsKLSAgICAg
ICAgICAgICAgICBzdHJ1Y3QgY29tbWVudCAqbmV3Y29tbWVudDsKLSAgICAgICAgICAgICAgICBp
ZiAoY25vZGUtPmZ1bmNzID09ICZwYXJhbV9mdW5jcykgewotICAgICAgICAgICAgICAgICAgICBu
b2RlID0gZmluZHBhcmFtaWRlbnRpZmllcihjb21tZW50LT5ub2RlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgKChzdHJ1Y3QgcGFyYW1jbm9kZSAqKWNub2RlKS0+bmFtZSk7Ci0gICAgICAgICAg
ICAgICAgICAgIGlmICghbm9kZSkKLSAgICAgICAgICAgICAgICAgICAgICAgIGxvY2Vycm9yZXhp
dChjb21tZW50LT5maWxlbmFtZSwgY25vZGUtPmxpbmVudW0sICJubyBwYXJhbWV0ZXIgJyVzJyBm
b3VuZCIsICgoc3RydWN0IHBhcmFtY25vZGUgKiljbm9kZSktPm5hbWUpOwotICAgICAgICAgICAg
ICAgIH0gZWxzZSBpZiAoY25vZGUtPmZ1bmNzID09ICZyZXR1cm5fZnVuY3MpIHsKLSAgICAgICAg
ICAgICAgICAgICAgbm9kZSA9IGZpbmRyZXR1cm50eXBlKGNvbW1lbnQtPm5vZGUpOwotICAgICAg
ICAgICAgICAgICAgICBpZiAoIW5vZGUpCi0gICAgICAgICAgICAgICAgICAgICAgICBsb2NlcnJv
cmV4aXQoY29tbWVudC0+ZmlsZW5hbWUsIGNub2RlLT5saW5lbnVtLCAibm8gcmV0dXJuIHR5cGUg
Zm91bmQiKTsKLSAgICAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgICAgICBu
b2RlID0gZmluZHRocm93aWRlbnRpZmllcihjb21tZW50LT5ub2RlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgKChzdHJ1Y3QgcGFyYW1jbm9kZSAqKWNub2RlKS0+bmFtZSk7Ci0gICAgICAgICAg
ICAgICAgICAgIGlmICghbm9kZSkKLSAgICAgICAgICAgICAgICAgICAgICAgIGxvY2Vycm9yZXhp
dChjb21tZW50LT5maWxlbmFtZSwgY25vZGUtPmxpbmVudW0sICJubyBleGNlcHRpb24gJyVzJyBm
b3VuZCIsICgoc3RydWN0IHBhcmFtY25vZGUgKiljbm9kZSktPm5hbWUpOwotICAgICAgICAgICAg
ICAgIH0KLSAgICAgICAgICAgICAgICAvKiBEZXRhY2ggdGhlIGNub2RlIGZyb20gaXRzIG9sZCBj
b21tZW50LiAqLwotICAgICAgICAgICAgICAgICpwY25vZGUgPSBjbm9kZS0+bmV4dDsKLSAgICAg
ICAgICAgICAgICAvKiBDcmVhdGUgYSBuZXcgY29tbWVudCBzdHJ1Y3QgdG8gY29udGFpbiB0aGlz
IGNub2RlLiAqLwotICAgICAgICAgICAgICAgIG5ld2NvbW1lbnQgPSBtZW1hbGxvYyhzaXplb2Yo
c3RydWN0IGNvbW1lbnQpKTsKLSAgICAgICAgICAgICAgICBuZXdjb21tZW50LT5yb290LmZ1bmNz
ID0gJnJvb3RfZnVuY3M7Ci0gICAgICAgICAgICAgICAgbmV3Y29tbWVudC0+bGluZW51bSA9IGNu
b2RlLT5saW5lbnVtOwotICAgICAgICAgICAgICAgIC8qIEF0dGFjaCB0aGUgY25vZGUuICovCi0g
ICAgICAgICAgICAgICAgbmV3Y29tbWVudC0+cm9vdC5jaGlsZHJlbiA9IGNub2RlOwotICAgICAg
ICAgICAgICAgIGNub2RlLT5wYXJlbnQgPSAmbmV3Y29tbWVudC0+cm9vdDsKLSAgICAgICAgICAg
ICAgICBjbm9kZS0+bmV4dCA9IDA7Ci0gICAgICAgICAgICAgICAgLyogTWFrZSB0aGUgY25vZGUg
YSBccmV0dXJuIG9uZSwganVzdCBzbyBldmVuIGEgXHBhcmFtCi0gICAgICAgICAgICAgICAgICog
dXNlcyByZXR1cm5fb3V0cHV0LiAqLwotICAgICAgICAgICAgICAgIGNub2RlLT5mdW5jcyA9ICZy
ZXR1cm5fZnVuY3M7Ci0gICAgICAgICAgICAgICAgLyogQXR0YWNoIHRoZSBuZXcgY29tbWVudCBz
dHJ1Y3QgdG8gdGhlIHBhcnNlIG5vZGUuICovCi0gICAgICAgICAgICAgICAgYXR0YWNoY29tbWVu
dHRvbm9kZShub2RlLCBuZXdjb21tZW50KTsKLSAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAg
ICAgICAgICAgcGNub2RlID0gJmNub2RlLT5uZXh0OwotICAgICAgICAgICAgfQotICAgICAgICB9
Ci0gICAgICAgIC8qIE5vdyBhdHRhY2ggdGhlIGNvbW1lbnQgdG8gaXRzIGlkZW50aWZpZXIgcGFy
c2Ugbm9kZS4gKi8KLSAgICAgICAgewotICAgICAgICAgICAgc3RydWN0IG5vZGUgKm5vZGUgPSBj
b21tZW50LT5ub2RlOwotICAgICAgICAgICAgaWYgKCFub2RlKQotICAgICAgICAgICAgICAgIG5v
ZGUgPSByb290OwotICAgICAgICAgICAgYXR0YWNoY29tbWVudHRvbm9kZShub2RlLCBjb21tZW50
KTsKLSAgICAgICAgfQotICAgICAgICBjb21tZW50ID0gbmV4dDsKLSAgICB9Ci19Ci0KLS8qKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKgotICogcHJvY2Vzc2NvbW1lbnRzIDogam9pbiwgcGFyc2UgYW5kIGF0dGFjaCBj
b21tZW50cwotICoKLSAqIEVudGVyOiAgIHJvb3QgPSByb290IHBhcnNlIG5vZGUKLSAqLwotdm9p
ZAotcHJvY2Vzc2NvbW1lbnRzKHN0cnVjdCBub2RlICpyb290KQotewotICAgIGNvbW1lbnRzID0g
am9pbmlubGluZWNvbW1lbnRzKGNvbW1lbnRzKTsKLSAgICBwYXJzZWNvbW1lbnRzKGNvbW1lbnRz
KTsKLSAgICBhdHRhY2hjb21tZW50cyhjb21tZW50cywgcm9vdCk7Ci19Ci0KLS8qKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKgotICogb3V0cHV0ZGVzY3JpcHRpdmUgOiBvdXRwdXQgZGVzY3JpcHRpdmUgZWxlbWVudHMg
Zm9yIGEgbm9kZQotICoKLSAqIEVudGVyOiAgIG5vZGUgPSBpZGVudGlmaWVyIG5vZGUgdGhhdCBt
aWdodCBoYXZlIHNvbWUgY29tbWVudHMKLSAqICAgICAgICAgIGluZGVudCA9IGluZGVudCAobmVz
dGluZykgbGV2ZWwKLSAqLwotdm9pZAotb3V0cHV0ZGVzY3JpcHRpdmUoc3RydWN0IG5vZGUgKm5v
ZGUsIHVuc2lnbmVkIGludCBpbmRlbnQpCi17Ci0gICAgc3RydWN0IGNvbW1lbnQgKmNvbW1lbnQg
PSBub2RlLT5jb21tZW50czsKLSAgICBpbnQgaW5kZXNjcmlwdGl2ZSA9IDA7Ci0gICAgd2hpbGUg
KGNvbW1lbnQpIHsKLSAgICAgICAgc3RydWN0IGNub2RlICpyb290ID0gJmNvbW1lbnQtPnJvb3Q7
Ci0gICAgICAgIGlmICghaW5kZXNjcmlwdGl2ZSkKLSAgICAgICAgICAgIHByaW50ZigiJSpzPGRl
c2NyaXB0aXZlPlxuIiwgaW5kZW50LCAiIik7Ci0gICAgICAgIGluZGVzY3JpcHRpdmUgPSAxOwot
ICAgICAgICAoKnJvb3QtPmZ1bmNzLT5vdXRwdXQpKHJvb3QsIGluZGVudCArIDIpOwotICAgICAg
ICBjb21tZW50ID0gY29tbWVudC0+bmV4dDsKLSAgICB9Ci0gICAgaWYgKGluZGVzY3JpcHRpdmUp
Ci0gICAgICAgIHByaW50ZigiJSpzPC9kZXNjcmlwdGl2ZT5cbiIsIGluZGVudCwgIiIpOwotfQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3NyYy9jb21tZW50LmggYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
d2lkbHByb2Mvc3JjL2NvbW1lbnQuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTZk
MThlMmNjOGEuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9zcmMvY29tbWVu
dC5oCisrKyAvZGV2L251bGwKQEAgLTEsMjUgKzAsMCBAQAotLyoqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiAk
SWQkCi0gKiBDb3B5cmlnaHQgMjAwOSBBcGxpeCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KLSAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAg
KHRoZSAiTGljZW5zZSIpOwotICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4g
Y29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgotICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9m
IHRoZSBMaWNlbnNlIGF0Ci0gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJ
Q0VOU0UtMi4wCi0gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVk
IHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCi0gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5z
ZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAotICogV0lUSE9VVCBXQVJSQU5U
SUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQu
Ci0gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcg
cGVybWlzc2lvbnMgYW5kCi0gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KLSAqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKi8KLSNpZm5kZWYgY29tbWVudF9oCi0jZGVmaW5lIGNvbW1lbnRfaAotCi1zdHJ1
Y3QgdG9rOwotc3RydWN0IG5vZGU7Ci0KLXZvaWQgYWRkY29tbWVudChzdHJ1Y3QgdG9rICp0b2sp
Owotdm9pZCBzZXRjb21tZW50bm9kZShzdHJ1Y3Qgbm9kZSAqbm9kZTIpOwotdm9pZCBwcm9jZXNz
Y29tbWVudHMoc3RydWN0IG5vZGUgKnJvb3QpOwotdm9pZCBvdXRwdXRkZXNjcmlwdGl2ZShzdHJ1
Y3Qgbm9kZSAqbm9kZSwgdW5zaWduZWQgaW50IGluZGVudCk7Ci0KLSNlbmRpZiAvKiBuZGVmIGNv
bW1lbnRfaCAqLwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3NyYy9lbnRpdGllcy5o
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3dpZGxwcm9jL3NyYy9lbnRpdGllcy5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCBmZjc0YzFjYjNiMi4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxw
cm9jL3NyYy9lbnRpdGllcy5oCisrKyAvZGV2L251bGwKQEAgLTEsMjcxICswLDAgQEAKLS8qKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKgotICogJElkJAotICogQ29weXJpZ2h0IDIwMDkgQXBsaXggQ29ycG9yYXRpb24u
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vu
c2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKLSAqIHlvdSBtYXkgbm90IHVzZSB0aGlz
IGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KLSAqIFlvdSBtYXkg
b2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAotICogICAgIGh0dHA6Ly93d3cuYXBhY2hl
Lm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAotICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2Fi
bGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQotICogZGlzdHJpYnV0ZWQg
dW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKLSAq
IFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhw
cmVzcyBvciBpbXBsaWVkLgotICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFu
Z3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAotICogbGltaXRhdGlvbnMgdW5kZXIgdGhl
IExpY2Vuc2UuCi0gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKiovCi0jaWZuZGVmIGVudGl0aWVzX2gKLSNkZWZpbmUg
ZW50aXRpZXNfaAotCi0jZGVmaW5lIEVOVElUSUVTIFwKLSJuYnNwXDAmIzE2MDtcMCIgXAotImll
eGNsXDAmIzE2MTtcMCIgXAotImNlbnRcMCYjMTYyO1wwIiBcCi0icG91bmRcMCYjMTYzO1wwIiBc
Ci0iY3VycmVuXDAmIzE2NDtcMCIgXAotInllblwwJiMxNjU7XDAiIFwKLSJicnZiYXJcMCYjMTY2
O1wwIiBcCi0ic2VjdFwwJiMxNjc7XDAiIFwKLSJ1bWxcMCYjMTY4O1wwIiBcCi0iY29weVwwJiMx
Njk7XDAiIFwKLSJvcmRmXDAmIzE3MDtcMCIgXAotImxhcXVvXDAmIzE3MTtcMCIgXAotIm5vdFww
JiMxNzI7XDAiIFwKLSJzaHlcMCYjMTczO1wwIiBcCi0icmVnXDAmIzE3NDtcMCIgXAotIm1hY3Jc
MCYjMTc1O1wwIiBcCi0iZGVnXDAmIzE3NjtcMCIgXAotInBsdXNtblwwJiMxNzc7XDAiIFwKLSJz
dXAyXDAmIzE3ODtcMCIgXAotInN1cDNcMCYjMTc5O1wwIiBcCi0iYWN1dGVcMCYjMTgwO1wwIiBc
Ci0ibWljcm9cMCYjMTgxO1wwIiBcCi0icGFyYVwwJiMxODI7XDAiIFwKLSJtaWRkb3RcMCYjMTgz
O1wwIiBcCi0iY2VkaWxcMCYjMTg0O1wwIiBcCi0ic3VwMVwwJiMxODU7XDAiIFwKLSJvcmRtXDAm
IzE4NjtcMCIgXAotInJhcXVvXDAmIzE4NztcMCIgXAotImZyYWMxNFwwJiMxODg7XDAiIFwKLSJm
cmFjMTJcMCYjMTg5O1wwIiBcCi0iZnJhYzM0XDAmIzE5MDtcMCIgXAotImlxdWVzdFwwJiMxOTE7
XDAiIFwKLSJBZ3JhdmVcMCYjMTkyO1wwIiBcCi0iQWFjdXRlXDAmIzE5MztcMCIgXAotIkFjaXJj
XDAmIzE5NDtcMCIgXAotIkF0aWxkZVwwJiMxOTU7XDAiIFwKLSJBdW1sXDAmIzE5NjtcMCIgXAot
IkFyaW5nXDAmIzE5NztcMCIgXAotIkFFbGlnXDAmIzE5ODtcMCIgXAotIkNjZWRpbFwwJiMxOTk7
XDAiIFwKLSJFZ3JhdmVcMCYjMjAwO1wwIiBcCi0iRWFjdXRlXDAmIzIwMTtcMCIgXAotIkVjaXJj
XDAmIzIwMjtcMCIgXAotIkV1bWxcMCYjMjAzO1wwIiBcCi0iSWdyYXZlXDAmIzIwNDtcMCIgXAot
IklhY3V0ZVwwJiMyMDU7XDAiIFwKLSJJY2lyY1wwJiMyMDY7XDAiIFwKLSJJdW1sXDAmIzIwNztc
MCIgXAotIkVUSFwwJiMyMDg7XDAiIFwKLSJOdGlsZGVcMCYjMjA5O1wwIiBcCi0iT2dyYXZlXDAm
IzIxMDtcMCIgXAotIk9hY3V0ZVwwJiMyMTE7XDAiIFwKLSJPY2lyY1wwJiMyMTI7XDAiIFwKLSJP
dGlsZGVcMCYjMjEzO1wwIiBcCi0iT3VtbFwwJiMyMTQ7XDAiIFwKLSJ0aW1lc1wwJiMyMTU7XDAi
IFwKLSJPc2xhc2hcMCYjMjE2O1wwIiBcCi0iVWdyYXZlXDAmIzIxNztcMCIgXAotIlVhY3V0ZVww
JiMyMTg7XDAiIFwKLSJVY2lyY1wwJiMyMTk7XDAiIFwKLSJVdW1sXDAmIzIyMDtcMCIgXAotIllh
Y3V0ZVwwJiMyMjE7XDAiIFwKLSJUSE9STlwwJiMyMjI7XDAiIFwKLSJzemxpZ1wwJiMyMjM7XDAi
IFwKLSJhZ3JhdmVcMCYjMjI0O1wwIiBcCi0iYWFjdXRlXDAmIzIyNTtcMCIgXAotImFjaXJjXDAm
IzIyNjtcMCIgXAotImF0aWxkZVwwJiMyMjc7XDAiIFwKLSJhdW1sXDAmIzIyODtcMCIgXAotImFy
aW5nXDAmIzIyOTtcMCIgXAotImFlbGlnXDAmIzIzMDtcMCIgXAotImNjZWRpbFwwJiMyMzE7XDAi
IFwKLSJlZ3JhdmVcMCYjMjMyO1wwIiBcCi0iZWFjdXRlXDAmIzIzMztcMCIgXAotImVjaXJjXDAm
IzIzNDtcMCIgXAotImV1bWxcMCYjMjM1O1wwIiBcCi0iaWdyYXZlXDAmIzIzNjtcMCIgXAotImlh
Y3V0ZVwwJiMyMzc7XDAiIFwKLSJpY2lyY1wwJiMyMzg7XDAiIFwKLSJpdW1sXDAmIzIzOTtcMCIg
XAotImV0aFwwJiMyNDA7XDAiIFwKLSJudGlsZGVcMCYjMjQxO1wwIiBcCi0ib2dyYXZlXDAmIzI0
MjtcMCIgXAotIm9hY3V0ZVwwJiMyNDM7XDAiIFwKLSJvY2lyY1wwJiMyNDQ7XDAiIFwKLSJvdGls
ZGVcMCYjMjQ1O1wwIiBcCi0ib3VtbFwwJiMyNDY7XDAiIFwKLSJkaXZpZGVcMCYjMjQ3O1wwIiBc
Ci0ib3NsYXNoXDAmIzI0ODtcMCIgXAotInVncmF2ZVwwJiMyNDk7XDAiIFwKLSJ1YWN1dGVcMCYj
MjUwO1wwIiBcCi0idWNpcmNcMCYjMjUxO1wwIiBcCi0idXVtbFwwJiMyNTI7XDAiIFwKLSJ5YWN1
dGVcMCYjMjUzO1wwIiBcCi0idGhvcm5cMCYjMjU0O1wwIiBcCi0ieXVtbFwwJiMyNTU7XDAiIFwK
LSJmbm9mXDAmIzQwMjtcMCIgXAotIkFscGhhXDAmIzkxMztcMCIgXAotIkJldGFcMCYjOTE0O1ww
IiBcCi0iR2FtbWFcMCYjOTE1O1wwIiBcCi0iRGVsdGFcMCYjOTE2O1wwIiBcCi0iRXBzaWxvblww
JiM5MTc7XDAiIFwKLSJaZXRhXDAmIzkxODtcMCIgXAotIkV0YVwwJiM5MTk7XDAiIFwKLSJUaGV0
YVwwJiM5MjA7XDAiIFwKLSJJb3RhXDAmIzkyMTtcMCIgXAotIkthcHBhXDAmIzkyMjtcMCIgXAot
IkxhbWJkYVwwJiM5MjM7XDAiIFwKLSJNdVwwJiM5MjQ7XDAiIFwKLSJOdVwwJiM5MjU7XDAiIFwK
LSJYaVwwJiM5MjY7XDAiIFwKLSJPbWljcm9uXDAmIzkyNztcMCIgXAotIlBpXDAmIzkyODtcMCIg
XAotIlJob1wwJiM5Mjk7XDAiIFwKLSJTaWdtYVwwJiM5MzE7XDAiIFwKLSJUYXVcMCYjOTMyO1ww
IiBcCi0iVXBzaWxvblwwJiM5MzM7XDAiIFwKLSJQaGlcMCYjOTM0O1wwIiBcCi0iQ2hpXDAmIzkz
NTtcMCIgXAotIlBzaVwwJiM5MzY7XDAiIFwKLSJPbWVnYVwwJiM5Mzc7XDAiIFwKLSJhbHBoYVww
JiM5NDU7XDAiIFwKLSJiZXRhXDAmIzk0NjtcMCIgXAotImdhbW1hXDAmIzk0NztcMCIgXAotImRl
bHRhXDAmIzk0ODtcMCIgXAotImVwc2lsb25cMCYjOTQ5O1wwIiBcCi0iemV0YVwwJiM5NTA7XDAi
IFwKLSJldGFcMCYjOTUxO1wwIiBcCi0idGhldGFcMCYjOTUyO1wwIiBcCi0iaW90YVwwJiM5NTM7
XDAiIFwKLSJrYXBwYVwwJiM5NTQ7XDAiIFwKLSJsYW1iZGFcMCYjOTU1O1wwIiBcCi0ibXVcMCYj
OTU2O1wwIiBcCi0ibnVcMCYjOTU3O1wwIiBcCi0ieGlcMCYjOTU4O1wwIiBcCi0ib21pY3Jvblww
JiM5NTk7XDAiIFwKLSJwaVwwJiM5NjA7XDAiIFwKLSJyaG9cMCYjOTYxO1wwIiBcCi0ic2lnbWFm
XDAmIzk2MjtcMCIgXAotInNpZ21hXDAmIzk2MztcMCIgXAotInRhdVwwJiM5NjQ7XDAiIFwKLSJ1
cHNpbG9uXDAmIzk2NTtcMCIgXAotInBoaVwwJiM5NjY7XDAiIFwKLSJjaGlcMCYjOTY3O1wwIiBc
Ci0icHNpXDAmIzk2ODtcMCIgXAotIm9tZWdhXDAmIzk2OTtcMCIgXAotInRoZXRhc3ltXDAmIzk3
NztcMCIgXAotInVwc2loXDAmIzk3ODtcMCIgXAotInBpdlwwJiM5ODI7XDAiIFwKLSJidWxsXDAm
IzgyMjY7XDAiIFwKLSJoZWxsaXBcMCYjODIzMDtcMCIgXAotInByaW1lXDAmIzgyNDI7XDAiIFwK
LSJQcmltZVwwJiM4MjQzO1wwIiBcCi0ib2xpbmVcMCYjODI1NDtcMCIgXAotImZyYXNsXDAmIzgy
NjA7XDAiIFwKLSJ3ZWllcnBcMCYjODQ3MjtcMCIgXAotImltYWdlXDAmIzg0NjU7XDAiIFwKLSJy
ZWFsXDAmIzg0NzY7XDAiIFwKLSJ0cmFkZVwwJiM4NDgyO1wwIiBcCi0iYWxlZnN5bVwwJiM4NTAx
O1wwIiBcCi0ibGFyclwwJiM4NTkyO1wwIiBcCi0idWFyclwwJiM4NTkzO1wwIiBcCi0icmFyclww
JiM4NTk0O1wwIiBcCi0iZGFyclwwJiM4NTk1O1wwIiBcCi0iaGFyclwwJiM4NTk2O1wwIiBcCi0i
Y3JhcnJcMCYjODYyOTtcMCIgXAotImxBcnJcMCYjODY1NjtcMCIgXAotInVBcnJcMCYjODY1Nztc
MCIgXAotInJBcnJcMCYjODY1ODtcMCIgXAotImRBcnJcMCYjODY1OTtcMCIgXAotImhBcnJcMCYj
ODY2MDtcMCIgXAotImZvcmFsbFwwJiM4NzA0O1wwIiBcCi0icGFydFwwJiM4NzA2O1wwIiBcCi0i
ZXhpc3RcMCYjODcwNztcMCIgXAotImVtcHR5XDAmIzg3MDk7XDAiIFwKLSJuYWJsYVwwJiM4NzEx
O1wwIiBcCi0iaXNpblwwJiM4NzEyO1wwIiBcCi0ibm90aW5cMCYjODcxMztcMCIgXAotIm5pXDAm
Izg3MTU7XDAiIFwKLSJwcm9kXDAmIzg3MTk7XDAiIFwKLSJzdW1cMCYjODcyMTtcMCIgXAotIm1p
bnVzXDAmIzg3MjI7XDAiIFwKLSJsb3dhc3RcMCYjODcyNztcMCIgXAotInJhZGljXDAmIzg3MzA7
XDAiIFwKLSJwcm9wXDAmIzg3MzM7XDAiIFwKLSJpbmZpblwwJiM4NzM0O1wwIiBcCi0iYW5nXDAm
Izg3MzY7XDAiIFwKLSJhbmRcMCYjODc0MztcMCIgXAotIm9yXDAmIzg3NDQ7XDAiIFwKLSJjYXBc
MCYjODc0NTtcMCIgXAotImN1cFwwJiM4NzQ2O1wwIiBcCi0iaW50XDAmIzg3NDc7XDAiIFwKLSJ0
aGVyZTRcMCYjODc1NjtcMCIgXAotInNpbVwwJiM4NzY0O1wwIiBcCi0iY29uZ1wwJiM4NzczO1ww
IiBcCi0iYXN5bXBcMCYjODc3NjtcMCIgXAotIm5lXDAmIzg4MDA7XDAiIFwKLSJlcXVpdlwwJiM4
ODAxO1wwIiBcCi0ibGVcMCYjODgwNDtcMCIgXAotImdlXDAmIzg4MDU7XDAiIFwKLSJzdWJcMCYj
ODgzNDtcMCIgXAotInN1cFwwJiM4ODM1O1wwIiBcCi0ibnN1YlwwJiM4ODM2O1wwIiBcCi0ic3Vi
ZVwwJiM4ODM4O1wwIiBcCi0ic3VwZVwwJiM4ODM5O1wwIiBcCi0ib3BsdXNcMCYjODg1MztcMCIg
XAotIm90aW1lc1wwJiM4ODU1O1wwIiBcCi0icGVycFwwJiM4ODY5O1wwIiBcCi0ic2RvdFwwJiM4
OTAxO1wwIiBcCi0ibGNlaWxcMCYjODk2ODtcMCIgXAotInJjZWlsXDAmIzg5Njk7XDAiIFwKLSJs
Zmxvb3JcMCYjODk3MDtcMCIgXAotInJmbG9vclwwJiM4OTcxO1wwIiBcCi0ibGFuZ1wwJiM5MDAx
O1wwIiBcCi0icmFuZ1wwJiM5MDAyO1wwIiBcCi0ibG96XDAmIzk2NzQ7XDAiIFwKLSJzcGFkZXNc
MCYjOTgyNDtcMCIgXAotImNsdWJzXDAmIzk4Mjc7XDAiIFwKLSJoZWFydHNcMCYjOTgyOTtcMCIg
XAotImRpYW1zXDAmIzk4MzA7XDAiIFwKLSJxdW90XDAmIzM0O1wwIiBcCi0iYW1wXDAmIzM4O1ww
IiBcCi0ibHRcMCYjNjA7XDAiIFwKLSJndFwwJiM2MjtcMCIgXAotIk9FbGlnXDAmIzMzODtcMCIg
XAotIm9lbGlnXDAmIzMzOTtcMCIgXAotIlNjYXJvblwwJiMzNTI7XDAiIFwKLSJzY2Fyb25cMCYj
MzUzO1wwIiBcCi0iWXVtbFwwJiMzNzY7XDAiIFwKLSJjaXJjXDAmIzcxMDtcMCIgXAotInRpbGRl
XDAmIzczMjtcMCIgXAotImVuc3BcMCYjODE5NDtcMCIgXAotImVtc3BcMCYjODE5NTtcMCIgXAot
InRoaW5zcFwwJiM4MjAxO1wwIiBcCi0iendualwwJiM4MjA0O1wwIiBcCi0iendqXDAmIzgyMDU7
XDAiIFwKLSJscm1cMCYjODIwNjtcMCIgXAotInJsbVwwJiM4MjA3O1wwIiBcCi0ibmRhc2hcMCYj
ODIxMTtcMCIgXAotIm1kYXNoXDAmIzgyMTI7XDAiIFwKLSJsc3F1b1wwJiM4MjE2O1wwIiBcCi0i
cnNxdW9cMCYjODIxNztcMCIgXAotInNicXVvXDAmIzgyMTg7XDAiIFwKLSJsZHF1b1wwJiM4MjIw
O1wwIiBcCi0icmRxdW9cMCYjODIyMTtcMCIgXAotImJkcXVvXDAmIzgyMjI7XDAiIFwKLSJkYWdn
ZXJcMCYjODIyNDtcMCIgXAotIkRhZ2dlclwwJiM4MjI1O1wwIiBcCi0icGVybWlsXDAmIzgyNDA7
XDAiIFwKLSJsc2FxdW9cMCYjODI0OTtcMCIgXAotInJzYXF1b1wwJiM4MjUwO1wwIiBcCi0iZXVy
b1wwJiM4MzY0O1wwIgotCi0jZW5kaWYgLyogbmRlZiBlbnRpdGllc19oICovCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mvc3JjL2xleC5jIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3NyYy9s
ZXguYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWY5MTAzMzg2YmQuLjAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9zcmMvbGV4LmMKKysrIC9kZXYvbnVsbApAQCAt
MSw1NjAgKzAsMCBAQAotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiAkSWQkCi0gKiBDb3B5cmlnaHQgMjAw
OSBBcGxpeCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIExpY2Vuc2VkIHVu
ZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOwotICog
eW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBM
aWNlbnNlLgotICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0Ci0gKiAg
ICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCi0gKiBVbmxlc3Mg
cmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3
YXJlCi0gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBh
biAiQVMgSVMiIEJBU0lTLAotICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0Yg
QU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCi0gKiBTZWUgdGhlIExpY2Vuc2Ug
Zm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCi0gKiBs
aW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KLSAqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLSNpbmNsdWRl
IDxhc3NlcnQuaD4KLSNpbmNsdWRlIDxlcnJuby5oPgotI2luY2x1ZGUgPHN0ZGlvLmg+Ci0jaW5j
bHVkZSA8c3RyaW5nLmg+Ci0jaW5jbHVkZSAibGV4LmgiCi0jaW5jbHVkZSAibWlzYy5oIgotI2lu
Y2x1ZGUgIm5vZGUuaCIKLSNpbmNsdWRlICJwcm9jZXNzLmgiCi0KLXN0cnVjdCBmaWxlIHsKLSAg
ICBzdHJ1Y3QgZmlsZSAqbmV4dDsKLSAgICBjb25zdCBjaGFyICpmaWxlbmFtZTsKLSAgICBjaGFy
ICpidWY7Ci0gICAgY29uc3QgY2hhciAqcG9zLCAqZW5kOwotICAgIHVuc2lnbmVkIGludCBsaW5l
bnVtOwotfTsKLQotY29uc3QgY2hhciBrZXl3b3Jkc1tdID0gS0VZV09SRFM7Ci0KLXN0YXRpYyBz
dHJ1Y3QgZmlsZSAqZmlsZSwgKmZpcnN0ZmlsZTsKLXN0YXRpYyBzdHJ1Y3QgdG9rIHRvazsKLQot
LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqCi0gKiByZWFkaW5wdXQgOiByZWFkIGFsbCBpbnB1dCBmaWxlcyBpbnRv
IG1lbW9yeQotICoKLSAqIEVudGVyOiAgIGFyZ3YgPSAwLXRlcm1pbmF0ZWQgYXJyYXkgb2YgZmls
ZW5hbWVzCi0gKi8KLXZvaWQKLXJlYWRpbnB1dChjb25zdCBjaGFyICpjb25zdCAqYXJndikKLXsK
LSAgICBzdHJ1Y3QgZmlsZSAqKnBmaWxlID0gJmZpbGU7Ci0gICAgZm9yICg7OykgewotICAgICAg
ICBzdHJ1Y3QgZmlsZSAqZmlsZTsKLSAgICAgICAgY29uc3QgY2hhciAqZmlsZW5hbWUgPSAqYXJn
disrOwotICAgICAgICBjaGFyICpidWYgPSAwOwotICAgICAgICBpbnQgbGVuID0gMCwgdGhpc2xl
biwgaXNzdGRpbjsKLSAgICAgICAgRklMRSAqaGFuZGxlOwotICAgICAgICBpZiAoIWZpbGVuYW1l
KQotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIC8qIFJlYWQgdGhlIGZpbGUuICovCi0gICAg
ICAgIGlzc3RkaW4gPSAhc3RyY21wKGZpbGVuYW1lLCAiLSIpOwotICAgICAgICBpZiAoaXNzdGRp
bikgewotICAgICAgICAgICAgaGFuZGxlID0gc3RkaW47Ci0gICAgICAgICAgICBmaWxlbmFtZSA9
ICI8c3RkaW4+IjsKLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIGhhbmRsZSA9IGZvcGVu
KGZpbGVuYW1lLCAicmIiKTsKLSAgICAgICAgICAgIGlmICghaGFuZGxlKQotICAgICAgICAgICAg
ICAgIGVycm9yZXhpdCgiJXM6ICVzIiwgZmlsZW5hbWUsIHN0cmVycm9yKGVycm5vKSk7Ci0gICAg
ICAgIH0KLSAgICAgICAgZm9yICg7OykgewotICAgICAgICAgICAgdGhpc2xlbiA9IGxlbiA/IGxl
biAqIDIgOiA0MDk2OwotICAgICAgICAgICAgYnVmID0gbWVtcmVhbGxvYyhidWYsIGxlbiArIHRo
aXNsZW4gKyAxKTsKLSAgICAgICAgICAgIHRoaXNsZW4gPSBmcmVhZChidWYgKyBsZW4sIDEsIHRo
aXNsZW4sIGhhbmRsZSk7Ci0gICAgICAgICAgICBpZiAoIXRoaXNsZW4pCi0gICAgICAgICAgICAg
ICAgYnJlYWs7Ci0gICAgICAgICAgICBsZW4gKz0gdGhpc2xlbjsKLSAgICAgICAgfQotICAgICAg
ICBpZiAoZmVycm9yKGhhbmRsZSkpCi0gICAgICAgICAgICBlcnJvcmV4aXQoIiVzOiBJL08gZXJy
b3IiLCBmaWxlbmFtZSk7Ci0gICAgICAgIGlmICghaXNzdGRpbikKLSAgICAgICAgICAgIGZjbG9z
ZShoYW5kbGUpOwotICAgICAgICBidWZbbGVuXSA9IDA7Ci0gICAgICAgIGJ1ZiA9IG1lbXJlYWxs
b2MoYnVmLCBsZW4gKyAxKTsKLSAgICAgICAgLyogQ3JlYXRlIHRoZSBmaWxlIHN0cnVjdCBmb3Ig
aXQuICovCi0gICAgICAgIGZpbGUgPSBtZW1hbGxvYyhzaXplb2Yoc3RydWN0IGZpbGUpKTsKLSAg
ICAgICAgKnBmaWxlID0gZmlsZTsKLSAgICAgICAgcGZpbGUgPSAmZmlsZS0+bmV4dDsKLSAgICAg
ICAgZmlsZS0+ZmlsZW5hbWUgPSBmaWxlbmFtZTsKLSAgICAgICAgZmlsZS0+cG9zID0gZmlsZS0+
YnVmID0gYnVmOwotICAgICAgICBmaWxlLT5lbmQgPSBidWYgKyBsZW47Ci0gICAgICAgIGZpbGUt
PmxpbmVudW0gPSAxOwotICAgIH0KLSAgICAqcGZpbGUgPSAwOwotICAgIGZpcnN0ZmlsZSA9IGZp
bGU7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKgotICogbGV4ZXJyb3JleGl0IDogZXJyb3IgYW5kIGV4
aXQgd2l0aCBsaW5lIG51bWJlcgotICovCi1zdGF0aWMgdm9pZAotbGV4ZXJyb3JleGl0KGNvbnN0
IGNoYXIgKmZvcm1hdCwgLi4uKQotewotICAgIHZhX2xpc3QgYXA7Ci0gICAgdmFfc3RhcnQoYXAs
IGZvcm1hdCk7Ci0gICAgdmxvY2Vycm9yZXhpdChmaWxlLT5maWxlbmFtZSwgZmlsZS0+bGluZW51
bSwgZm9ybWF0LCBhcCk7Ci0gICAgdmFfZW5kKGFwKTsKLX0KLQotLyoqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0g
KiBsZXhibG9ja2NvbW1lbnQgOiBsZXggYSBibG9jayBjb21tZW50Ci0gKgotICogRW50ZXI6ICAg
c3RhcnQgPSBzdGFydCBvZiBjb21tZW50Ci0gKgotICogUmV0dXJuOiAgdG9rIHN0cnVjdCwgbGlm
ZXRpbWUgdW50aWwgbmV4dCBjYWxsIHRvIGxleAotICovCi1zdGF0aWMgc3RydWN0IHRvayAqCi1s
ZXhibG9ja2NvbW1lbnQoY29uc3QgY2hhciAqc3RhcnQpCi17Ci0gICAgY29uc3QgY2hhciAqcCA9
IHN0YXJ0ICsgMTsKLSAgICB0b2suZmlsZW5hbWUgPSBmaWxlLT5maWxlbmFtZTsKLSAgICB0b2su
bGluZW51bSA9IGZpbGUtPmxpbmVudW07Ci0gICAgZm9yICg7OykgewotICAgICAgICBpbnQgY2gg
PSAqKytwOwotICAgICAgICBpZiAoIWNoKQotICAgICAgICAgICAgbGV4ZXJyb3JleGl0KCJ1bnRl
cm1pbmF0ZWQgYmxvY2sgY29tbWVudCIpOwotICAgICAgICBpZiAoY2ggIT0gJyonKSB7Ci0gICAg
ICAgICAgICBpZiAoY2ggPT0gJ1xuJykKLSAgICAgICAgICAgICAgICBmaWxlLT5saW5lbnVtKys7
Ci0gICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgfQotICAgICAgICBjaCA9IHBbMV07Ci0g
ICAgICAgIGlmICghY2gpCi0gICAgICAgICAgICBsZXhlcnJvcmV4aXQoInVudGVybWluYXRlZCBi
bG9jayBjb21tZW50Iik7Ci0gICAgICAgIGlmIChjaCA9PSAnLycpCi0gICAgICAgICAgICBicmVh
azsKLSAgICB9Ci0gICAgcCArPSAyOwotICAgIGZpbGUtPnBvcyA9IHA7Ci0gICAgdG9rLnR5cGUg
PSBUT0tfQkxPQ0tDT01NRU5UOwotICAgIHRvay5zdGFydCA9IHN0YXJ0ICsgMjsKLSAgICB0b2su
bGVuID0gcCAtIHN0YXJ0IC0gNDsKLSAgICByZXR1cm4gJnRvazsKLX0KLQotLyoqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqCi0gKiBsZXhpbmxpbmVjb21tZW50IDogbGV4IGFuIGlubGluZSBjb21tZW50Ci0gKgotICog
RW50ZXI6ICAgc3RhcnQgPSBzdGFydCBvZiBjb21tZW50LCBzdGFydHMgd2l0aCAiLy8iCi0gKgot
ICogUmV0dXJuOiAgdG9rIHN0cnVjdCwgbGlmZXRpbWUgdW50aWwgbmV4dCBjYWxsIHRvIGxleAot
ICovCi1zdGF0aWMgc3RydWN0IHRvayAqCi1sZXhpbmxpbmVjb21tZW50KGNvbnN0IGNoYXIgKnN0
YXJ0KQotewotICAgIGNvbnN0IGNoYXIgKnAgPSBzdGFydCArIDI7Ci0gICAgcCA9IHN0YXJ0ICsg
MTsKLSAgICBmb3IgKDs7KSB7Ci0gICAgICAgIGludCBjaCA9ICorK3A7Ci0gICAgICAgIGlmICgh
Y2ggfHwgY2ggPT0gJ1xuJykKLSAgICAgICAgICAgIGJyZWFrOwotICAgIH0KLSAgICBwKys7Ci0g
ICAgZmlsZS0+cG9zID0gcDsKLSAgICB0b2sudHlwZSA9IFRPS19JTkxJTkVDT01NRU5UOwotICAg
IHRvay5zdGFydCA9IHN0YXJ0ICsgMjsKLSAgICB0b2subGVuID0gcCAtIHN0YXJ0IC0gMjsKLSAg
ICB0b2suZmlsZW5hbWUgPSBmaWxlLT5maWxlbmFtZTsKLSAgICB0b2subGluZW51bSA9IGZpbGUt
PmxpbmVudW0rKzsKLSAgICByZXR1cm4gJnRvazsKLX0KLQotLyoqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBs
ZXhudW1iZXIgOiBsZXggYSBudW1iZXIgKG9yIGp1c3QgYSAnLScgc3ltYm9sKQotICoKLSAqIEVu
dGVyOiAgIHN0YXJ0ID0gc3RhcnQgb2YgdG9rZW4KLSAqCi0gKiBSZXR1cm46ICB0b2sgc3RydWN0
LCBsaWZldGltZSB1bnRpbCBuZXh0IGNhbGwgdG8gbGV4Ci0gKgotICogVGhlIElETCBncmFtbWFy
IHNlZW1zIHRvIHNheSB0aGF0IGEgZmxvYXQgY2FuJ3Qgc3RhcnQgd2l0aCBhCi0gKiBkZWNpbWFs
IHBvaW50LCBzbyB0aGF0J3Mgd2hhdCB3ZSBoYXZlIGltcGxlbWVudGVkIGhlcmUuCi0gKi8KLXN0
YXRpYyBzdHJ1Y3QgdG9rICoKLWxleG51bWJlcihjb25zdCBjaGFyICpzdGFydCkKLXsKLSAgICBm
b3IgKDs7KSB7Ci0gICAgICAgIGNvbnN0IGNoYXIgKnAgPSBzdGFydDsKLSAgICAgICAgY29uc3Qg
Y2hhciAqb2N0YWxlbmQgPSBzdGFydDsKLSAgICAgICAgaW50IGNoID0gKnA7Ci0gICAgICAgIGVu
dW0geyBTVEFURV9TVEFSVCwgU1RBVEVfSU5ULCBTVEFURV9IRVgsIFNUQVRFX09DVEFMLCBTVEFU
RV9CQURPQ1RBTCwKLSAgICAgICAgICAgICAgICBTVEFURV9EUCwgU1RBVEVfRVhQU1RBUlQsIFNU
QVRFX0VYUFNJR04sIFNUQVRFX0VYUAotICAgICAgICAgICAgICAgIH0gc3RhdGUgPSBTVEFURV9T
VEFSVDsKLSAgICAgICAgaWYgKGNoID09ICctJykgewotICAgICAgICAgICAgY2ggPSAqKytwOwot
CSAgICBpZiAoY2ggPT0gJ0knKSB7IC8vIHN0YXJ0cyBvZiBJbmZpbml0eQotCSAgICAgIGNoYXIg
KiBpbmZpbml0eSA9ICItSW5maW5pdHkiOwotICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgbGVu
ID0gc3RybGVuKGluZmluaXR5KTsKLQkgICAgICBpZiAoIW1lbWNtcChzdGFydCwgaW5maW5pdHks
IGxlbikpIHsKLSAgICAgICAgICAgICAgICB0b2sudHlwZSA9IFRPS19taW51c2luZmluaXR5Owot
CQl0b2suc3RhcnQgPSBzdGFydDsKLQkJdG9rLmxlbiA9IGxlbjsKLQkJdG9rLmZpbGVuYW1lID0g
ZmlsZS0+ZmlsZW5hbWU7Ci0JCXRvay5saW5lbnVtID0gZmlsZS0+bGluZW51bTsKLQkJZmlsZS0+
cG9zID0gc3RhcnQgKyBsZW47Ci0JCXJldHVybiAmdG9rOwotCSAgICAgIH0KLQkgICAgfQotCX0K
LSAgICAgICAgaWYgKGNoID09ICcwJykgewotICAgICAgICAgICAgc3RhdGUgPSBTVEFURV9PQ1RB
TDsKLSAgICAgICAgICAgIGNoID0gKisrcDsKLSAgICAgICAgICAgIGlmICgoY2ggJiB+MHgyMCkg
PT0gJ1gnKSB7Ci0gICAgICAgICAgICAgICAgc3RhdGUgPSBTVEFURV9IRVg7Ci0gICAgICAgICAg
ICAgICAgY2ggPSAqKytwOwotICAgICAgICAgICAgfQotICAgICAgICB9Ci0KLSAgICAgICAgZm9y
ICg7OykgewotICAgICAgICAgICAgaWYgKCh1bnNpZ25lZCkoY2ggLSAnMCcpID49IDgpIHsKLSAg
ICAgICAgICAgICAgICBpZiAoKGNoICYgLTIpID09ICc4JykgewotICAgICAgICAgICAgICAgICAg
ICBpZiAoc3RhdGUgPT0gU1RBVEVfT0NUQUwpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIHN0
YXRlID0gU1RBVEVfQkFET0NUQUw7Ci0gICAgICAgICAgICAgICAgICAgICAgICBvY3RhbGVuZCA9
IHA7Ci0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKCh1
bnNpZ25lZCkoKGNoICYgfjB4MjApIC0gJ0EnKSA8PSAnRicgLSAnQScpIHsKLSAgICAgICAgICAg
ICAgICAgICAgaWYgKHN0YXRlICE9IFNUQVRFX0hFWCkgewotICAgICAgICAgICAgICAgICAgICAg
ICAgaWYgKChjaCAmIH4weDIwKSAhPSAnRScpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
YnJlYWs7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoc3RhdGUgPT0gU1RBVEVfSEVYIHx8
IHN0YXRlID49IFNUQVRFX0VYUFNUQVJUIHx8IHN0YXRlID09IFNUQVRFX1NUQVJUKQotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgICAgICAgICAgICAgc3Rh
dGUgPSBTVEFURV9FWFBTVEFSVDsKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAg
ICAgIH0gZWxzZSBpZiAoY2ggPT0gJy4nKSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmIChzdGF0
ZSA9PSBTVEFURV9IRVggfHwgc3RhdGUgPj0gU1RBVEVfRFApCi0gICAgICAgICAgICAgICAgICAg
ICAgICBicmVhazsKLSAgICAgICAgICAgICAgICAgICAgc3RhdGUgPSBTVEFURV9EUDsKLSAgICAg
ICAgICAgICAgICB9IGVsc2UgaWYgKGNoID09ICctJykgewotICAgICAgICAgICAgICAgICAgICBp
ZiAoc3RhdGUgIT0gU1RBVEVfRVhQU1RBUlQpCi0gICAgICAgICAgICAgICAgICAgICAgICBicmVh
azsKLSAgICAgICAgICAgICAgICAgICAgc3RhdGUgPSBTVEFURV9FWFBTSUdOOwotICAgICAgICAg
ICAgICAgIH0gZWxzZQotICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIH0K
LSAgICAgICAgICAgIGNoID0gKisrcDsKLSAgICAgICAgICAgIGlmIChzdGF0ZSA9PSBTVEFURV9T
VEFSVCkKLSAgICAgICAgICAgICAgICBzdGF0ZSA9IFNUQVRFX0lOVDsKLSAgICAgICAgICAgIGVs
c2UgaWYgKHN0YXRlID09IFNUQVRFX0VYUFNUQVJUIHx8IHN0YXRlID09IFNUQVRFX0VYUFNJR04p
Ci0gICAgICAgICAgICAgICAgc3RhdGUgPSBTVEFURV9FWFA7Ci0gICAgICAgIH0KLSAgICAgICAg
c3dpdGNoIChzdGF0ZSkgewotICAgICAgICBjYXNlIFNUQVRFX1NUQVJUOgotICAgICAgICAgICAg
LyogTXVzdCBoYXZlIGp1c3QgYmVlbiBhIC0gY2hhcmFjdGVyIGJ5IGl0c2VsZi4gKi8KLSAgICAg
ICAgICAgIHRvay50eXBlID0gJy0nOwotICAgICAgICAgICAgcCA9IHN0YXJ0ICsgMTsKLSAgICAg
ICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlIFNUQVRFX0JBRE9DVEFMOgotICAgICAgICAgICAg
cCA9IG9jdGFsZW5kOwotICAgICAgICAgICAgLyogZmFsbCB0aHJvdWdoLi4uICovCi0gICAgICAg
IGNhc2UgU1RBVEVfSU5UOgotICAgICAgICBjYXNlIFNUQVRFX09DVEFMOgotICAgICAgICAgICAg
dG9rLnR5cGUgPSBUT0tfSU5URUdFUjsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNl
IFNUQVRFX0hFWDoKLSAgICAgICAgICAgIGlmIChwIC0gc3RhcnQgPT0gMiB8fCAocCAtIHN0YXJ0
ID09IDMgJiYgKnN0YXJ0ID09ICctJykpCi0gICAgICAgICAgICAgICAgcCA9IHN0YXJ0ICsgMTsK
LSAgICAgICAgICAgIHRvay50eXBlID0gVE9LX0lOVEVHRVI7Ci0gICAgICAgICAgICBicmVhazsK
LSAgICAgICAgY2FzZSBTVEFURV9FWFA6Ci0gICAgICAgIGNhc2UgU1RBVEVfRFA6Ci0gICAgICAg
ICAgICB0b2sudHlwZSA9IFRPS19GTE9BVDsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBj
YXNlIFNUQVRFX0VYUFNJR046Ci0gICAgICAgICAgICBwLS07Ci0gICAgICAgICAgICAvKiBmYWxs
IHRocm91Z2guLi4gKi8KLSAgICAgICAgY2FzZSBTVEFURV9FWFBTVEFSVDoKLSAgICAgICAgICAg
IHAtLTsKLSAgICAgICAgICAgIHRvay50eXBlID0gVE9LX0ZMT0FUOwotICAgICAgICAgICAgYnJl
YWs7Ci0gICAgICAgIH0KLSAgICAgICAgdG9rLnN0YXJ0ID0gc3RhcnQ7Ci0gICAgICAgIHRvay5s
ZW4gPSBwIC0gc3RhcnQ7Ci0gICAgICAgIHRvay5maWxlbmFtZSA9IGZpbGUtPmZpbGVuYW1lOwot
ICAgICAgICB0b2subGluZW51bSA9IGZpbGUtPmxpbmVudW07Ci0gICAgICAgIGZpbGUtPnBvcyA9
IHA7Ci0gICAgICAgIHJldHVybiAmdG9rOwotICAgIH0KLX0KLQotLyoqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0g
KiBsZXhzdHJpbmcgOiBsZXggYSBxdW90ZWQgc3RyaW5nCi0gKgotICogRW50ZXI6ICAgc3RhcnQg
PSBzdGFydCBvZiB0b2tlbgotICoKLSAqIFJldHVybjogIHRvayBzdHJ1Y3QsIGxpZmV0aW1lIHVu
dGlsIG5leHQgY2FsbCB0byBsZXgKLSAqLwotc3RhdGljIHN0cnVjdCB0b2sgKgotbGV4c3RyaW5n
KGNvbnN0IGNoYXIgKnN0YXJ0KQotewotICAgIGZvciAoOzspIHsKLSAgICAgICAgY29uc3QgY2hh
ciAqcCA9IHN0YXJ0ICsgMTsKLSAgICAgICAgaW50IGNoID0gKnA7Ci0gICAgICAgIGZvciAoOzsp
IHsKLSAgICAgICAgICAgIGlmICghY2ggfHwgY2ggPT0gJ1xuJykKLSAgICAgICAgICAgICAgICBs
ZXhlcnJvcmV4aXQoInVudGVybWluYXRlZCBzdHJpbmciKTsKLSAgICAgICAgICAgIGlmIChjaCA9
PSAnIicpIHsKLSAgICAgICAgICAgICAgICB0b2sudHlwZSA9IFRPS19TVFJJTkc7Ci0gICAgICAg
ICAgICAgICAgdG9rLnN0YXJ0ID0gc3RhcnQgKyAxOwotICAgICAgICAgICAgICAgIHRvay5sZW4g
PSBwIC0gc3RhcnQgLSAxOwotICAgICAgICAgICAgICAgIHRvay5maWxlbmFtZSA9IGZpbGUtPmZp
bGVuYW1lOwotICAgICAgICAgICAgICAgIHRvay5saW5lbnVtID0gZmlsZS0+bGluZW51bTsKLSAg
ICAgICAgICAgICAgICBmaWxlLT5wb3MgPSBwICsgMTsKLSAgICAgICAgICAgICAgICByZXR1cm4g
JnRvazsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIC8qIE5vdGUgdGhlIElETCBzcGVjIGRv
ZXNuJ3Qgc2VlbSB0byBhbGxvdyBmb3IgZXNjYXBlIHNlcXVlbmNlcwotICAgICAgICAgICAgICog
aW4gc3RyaW5ncy4gKi8KLSAgICAgICAgICAgIGNoID0gKisrcDsKLSAgICAgICAgfQotICAgIH0K
LX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqCi0gKiBsZXhpZGVudGlmaWVyIDogbGV4IGFuIGlkZW50aWZp
ZXIKLSAqCi0gKiBFbnRlcjogICBzdGFydCA9IHN0YXJ0IG9mIHRva2VuCi0gKgotICogUmV0dXJu
OiAgdG9rIHN0cnVjdCwgbGlmZXRpbWUgdW50aWwgbmV4dCBjYWxsIHRvIGxleAotICovCi1zdGF0
aWMgc3RydWN0IHRvayAqCi1sZXhpZGVudGlmaWVyKGNvbnN0IGNoYXIgKnN0YXJ0KQotewotICAg
IGNvbnN0IGNoYXIgKnAgPSBzdGFydCArIDE7Ci0gICAgZm9yICg7OykgewotICAgICAgICBpbnQg
Y2ggPSAqcDsKLSAgICAgICAgaWYgKGNoICE9ICdfJyAmJiAodW5zaWduZWQpKGNoIC0gJzAnKSA+
PSAxMAotICAgICAgICAgICAgICAgICYmICh1bnNpZ25lZCkoKGNoICYgfjB4MjApIC0gJ0EnKSA+
ICdaJyAtICdBJykKLSAgICAgICAgewotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLSAg
ICAgICAgcCsrOwotICAgIH0KLSAgICB0b2sudHlwZSA9IFRPS19JREVOVElGSUVSOwotICAgIHRv
ay5zdGFydCA9IHN0YXJ0OwotICAgIHRvay5sZW4gPSBwIC0gc3RhcnQ7Ci0gICAgdG9rLmZpbGVu
YW1lID0gZmlsZS0+ZmlsZW5hbWU7Ci0gICAgdG9rLmxpbmVudW0gPSBmaWxlLT5saW5lbnVtOwot
ICAgIGZpbGUtPnBvcyA9IHA7Ci0gICAgLyogU2VlIGlmIHRoaXMgaXMgYSBrZXl3b3JkLiAoVGhp
cyBzZWFyY2ggaXMgYSBiaXQgbi1zcXVhcmVkLikgKi8KLSAgICB7Ci0gICAgICAgIHVuc2lnbmVk
IGludCB0eXBlID0gVE9LX0RPTVN0cmluZzsKLSAgICAgICAgcCA9IGtleXdvcmRzOwotICAgICAg
ICBmb3IgKDs7KSB7Ci0gICAgICAgICAgICB1bnNpZ25lZCBpbnQgbGVuID0gc3RybGVuKHApOwot
ICAgICAgICAgICAgaWYgKCFsZW4pCi0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAg
ICBpZiAobGVuID09IHRvay5sZW4gJiYgIW1lbWNtcChzdGFydCwgcCwgbGVuKSkgewotICAgICAg
ICAgICAgICAgIHRvay50eXBlID0gdHlwZTsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAg
ICAgICAgIH0KLSAgICAgICAgICAgIHAgKz0gbGVuICsgMTsKLSAgICAgICAgICAgIHR5cGUrKzsK
LSAgICAgICAgfQotICAgIH0KLSAgICByZXR1cm4gJnRvazsKLX0KLQotLyoqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
Ci0gKiBsZXggOiByZXRyaWV2ZSBuZXh0IHRva2VuCi0gKgotICogUmV0dXJuOiAgdG9rIHN0cnVj
dCwgbGlmZXRpbWUgdW50aWwgbmV4dCBjYWxsIHRvIGxleAotICovCi1zdHJ1Y3QgdG9rICoKLWxl
eCh2b2lkKQotewotICAgIGNvbnN0IGNoYXIgKnA7Ci0gICAgaW50IGNoOwotICAgIGZvciAoOzsp
IHsKLSAgICAgICAgaWYgKCFmaWxlKSB7Ci0gICAgICAgICAgICB0b2sudHlwZSA9IFRPS19FT0Y7
Ci0gICAgICAgICAgICB0b2suc3RhcnQgPSAiZW5kIG9mIGZpbGUiOwotICAgICAgICAgICAgdG9r
LmxlbiA9IHN0cmxlbih0b2suc3RhcnQpOwotICAgICAgICAgICAgcmV0dXJuICZ0b2s7Ci0gICAg
ICAgIH0KLSAgICAgICAgdG9rLnByZXN0YXJ0ID0gcCA9IGZpbGUtPnBvczsKLSAgICAgICAgLyog
Rmx1c2ggd2hpdGVzcGFjZS4gKi8KLSAgICAgICAgZm9yICg7OykgewotICAgICAgICAgICAgY2gg
PSAqcCsrOwotICAgICAgICAgICAgc3dpdGNoIChjaCkgewotICAgICAgICAgICAgY2FzZSAnICc6
Ci0gICAgICAgICAgICBjYXNlICdcdCc6Ci0gICAgICAgICAgICBjYXNlICdccic6Ci0gICAgICAg
ICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAgICBjYXNlICdcbic6Ci0gICAgICAgICAgICAg
ICAgKytmaWxlLT5saW5lbnVtOwotICAgICAgICAgICAgICAgIHRvay5wcmVzdGFydCA9IHA7Ci0g
ICAgICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBicmVh
azsKLSAgICAgICAgfQotICAgICAgICBwLS07Ci0gICAgICAgIGlmIChjaCkKLSAgICAgICAgICAg
IGJyZWFrOwotICAgICAgICBpZiAocCAhPSBmaWxlLT5lbmQpCi0gICAgICAgICAgICBsZXhlcnJv
cmV4aXQoIlxcMCBieXRlIG5vdCBhbGxvd2VkIik7Ci0gICAgICAgIGZpbGUgPSBmaWxlLT5uZXh0
OwotICAgIH0KLSAgICAvKiBTZWUgaWYgd2UgaGF2ZSBhIGNvbW1lbnQuICovCi0gICAgdG9rLnN0
YXJ0ID0gcDsKLSAgICBpZiAoY2ggPT0gJy8nKSB7Ci0gICAgICAgIHN3aXRjaCAoKisrcCkgewot
ICAgICAgICBjYXNlICcqJzoKLSAgICAgICAgICAgIHJldHVybiBsZXhibG9ja2NvbW1lbnQocCAt
IDEpOwotICAgICAgICBjYXNlICcvJzoKLSAgICAgICAgICAgIHJldHVybiBsZXhpbmxpbmVjb21t
ZW50KHAgLSAxKTsKLSAgICAgICAgfQotICAgICAgICB0b2sudHlwZSA9ICcvJzsKLSAgICB9IGVs
c2UgewotICAgICAgICAvKiBIYW5kbGUgdGhpbmdzIHRoYXQgc3RhcnQgd2l0aCAnLScsIHdoaWNo
IGlzIGVpdGhlciAnLScgYXMgYSB0b2tlbiwKLSAgICAgICAgICogb3IgYSBudW1iZXIuIEhhbmRs
ZSBudW1iZXJzLiAqLwotICAgICAgICBpZiAoY2ggPT0gJy0nIHx8ICh1bnNpZ25lZCkoY2ggLSAn
MCcpIDwgMTApCi0gICAgICAgICAgICByZXR1cm4gbGV4bnVtYmVyKHApOwotICAgICAgICAvKiBI
YW5kbGUgc3RyaW5nLiAqLwotICAgICAgICBpZiAoY2ggPT0gJyInKQotICAgICAgICAgICAgcmV0
dXJuIGxleHN0cmluZyhwKTsKLSAgICAgICAgLyogSGFuZGxlIGlkZW50aWZpZXIuICovCi0gICAg
ICAgIGlmIChjaCA9PSAnXycgfHwgKHVuc2lnbmVkKSgoY2ggJiB+MHgyMCkgLSAnQScpIDw9ICda
JyAtICdBJykKLSAgICAgICAgICAgIHJldHVybiBsZXhpZGVudGlmaWVyKHApOwotICAgICAgICAv
KiBUaGUgb25seSBtdWx0aS1zeW1ib2wgdG9rZW4gYXJlIC4uLiBhbmQgW10gKi8KLSAgICAgICAg
aWYgKGNoID09ICcuJykgewotICAgICAgICAgICAgdG9rLnR5cGUgPSAnLic7Ci0gICAgICAgICAg
ICBpZiAoKisrcCA9PSAnLicgJiYgcFsxXSA9PSAnLicpIHsKLSAgICAgICAgICAgICAgICB0b2su
dHlwZSA9IFRPS19FTExJUFNJUzsKLSAgICAgICAgICAgICAgICBwICs9IDI7Ci0gICAgICAgICAg
ICB9Ci0gICAgICAgICAgICBnb3RvIGRvbmU7Ci0gICAgICAgIH0KLSAgICAgICAgaWYgKGNoID09
ICdbJykgewotICAgICAgICAgICAgdG9rLnR5cGUgPSAnWyc7Ci0gICAgICAgICAgICBpZiAoKisr
cCA9PSAnXScpIHsKLSAgICAgICAgICAgICAgICB0b2sudHlwZSA9IFRPS19ET1VCTEVCUkFDS0VU
OwotICAgICAgICAgICAgICAgIHArKzsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGdvdG8g
ZG9uZTsKLSAgICAgICAgfQotICAgIH0KLSAgICAvKiBTaW5nbGUgc3ltYm9sIHRva2VuLiAqLwot
ICAgIHRvay50eXBlID0gY2g7Ci0gICAgcCsrOwotZG9uZToKLSAgICB0b2suZmlsZW5hbWUgPSBm
aWxlLT5maWxlbmFtZTsKLSAgICB0b2subGluZW51bSA9IGZpbGUtPmxpbmVudW07Ci0gICAgdG9r
LmxlbiA9IHAgLSB0b2suc3RhcnQ7Ci0gICAgZmlsZS0+cG9zID0gcDsKLSAgICByZXR1cm4gJnRv
azsKLX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBvdXRwdXR3aWRsIDogb3V0cHV0IGxpdGVyYWwg
V2ViIElETCBpbnB1dCB0aGF0IG5vZGUgd2FzIHBhcnNlZCBmcm9tCi0gKgotICogRW50ZXI6ICAg
bm9kZSA9IHBhcnNlIG5vZGUgdG8gb3V0cHV0IGxpdGVyYWwgV2ViIElETCBmb3IKLSAqLwotdm9p
ZAotb3V0cHV0d2lkbChzdHJ1Y3Qgbm9kZSAqbm9kZSkKLXsKLSAgICBjb25zdCBjaGFyICpzdGFy
dCA9IG5vZGUtPndzc3RhcnQsICplbmQgPSBub2RlLT5lbmQ7Ci0gICAgLyogRmluZCB0aGUgZmls
ZSB0aGF0IHN0YXJ0IGlzIGluLiAqLwotICAgIHN0cnVjdCBmaWxlICpmaWxlID0gZmlyc3RmaWxl
OwotICAgIHdoaWxlIChzdGFydCA8IGZpbGUtPmJ1ZiB8fCBzdGFydCA+PSBmaWxlLT5lbmQpIHsK
LSAgICAgICAgZmlsZSA9IGZpbGUtPm5leHQ7Ci0gICAgICAgIGFzc2VydChmaWxlKTsKLSAgICB9
Ci0gICAgLyogRmluZCB0aGUgKGN1cnJlbnQgb3IpIG5leHQgbm9kZSB0aGF0IGhhcyBub2RlLT5z
dGFydCBzZXQuIEFueSBzdWNoCi0gICAgICogbm9kZSBuZWVkcyB0byBiZSBwdXQgaW5zaWRlIGEg
PHJlZj4gZWxlbWVudC4gKi8KLSAgICB3aGlsZSAobm9kZSAmJiAhbm9kZS0+c3RhcnQpCi0gICAg
ICAgIG5vZGUgPSBub2Rld2Fsayhub2RlKTsKLSAgICAvKiBPdXRwdXQgdW50aWwgd2UgZ2V0IHRv
IHRoZSBlbmQuIFRoaXMgaGFzIHRvIGNvcGUgd2l0aCB0aGUgdGV4dAotICAgICAqIHNwYW5uaW5n
IG11bHRpcGxlIGlucHV0IGZpbGVzLiAqLwotICAgIGZvciAoOzspIHsKLSAgICAgICAgaW50IGZp
bmFsID0gZW5kID49IGZpbGUtPmJ1ZiAmJiBlbmQgPD0gZmlsZS0+ZW5kOwotICAgICAgICBjb25z
dCBjaGFyICp0aGlzZW5kID0gZmluYWwgPyBlbmQgOiBmaWxlLT5lbmQ7Ci0gICAgICAgIC8qIE91
dHB1dCB0aGUgV2ViIElETCwgb21pdHRpbmcgY29tbWVudHMuICovCi0gICAgICAgIHdoaWxlIChz
dGFydCAhPSBlbmQpIHsKLSAgICAgICAgICAgIGNvbnN0IGNoYXIgKnAsICpwMiwgKmNvbW1lbnQs
ICplbmRjb21tZW50OwotICAgICAgICAgICAgaW50IGNoOwotICAgICAgICAgICAgaWYgKG5vZGUg
JiYgc3RhcnQgPT0gbm9kZS0+c3RhcnQpIHsKLSAgICAgICAgICAgICAgICAvKiBXZSBhcmUgb24g
dGhlIHN0YXJ0IG9mIHRoZSBwcmVzZW50IG5vZGUgaW4gdGhlIHRyZWUKLSAgICAgICAgICAgICAg
ICAgKiB3YWxrLiBQdXQgaXQgaW4gYSA8cmVmPi4gKi8KLSAgICAgICAgICAgICAgICBmcHV0cygi
PHJlZj4iLCBzdGRvdXQpOwotICAgICAgICAgICAgICAgIHByaW50dGV4dChub2RlLT5zdGFydCwg
bm9kZS0+ZW5kIC0gbm9kZS0+c3RhcnQsIDEpOwotICAgICAgICAgICAgICAgIGZwdXRzKCI8L3Jl
Zj4iLCBzdGRvdXQpOwotICAgICAgICAgICAgICAgIHN0YXJ0ID0gbm9kZS0+ZW5kOwotICAgICAg
ICAgICAgICAgIC8qIFNraXAgdG8gdGhlIG5leHQgbm9kZSB3aXRoIG5vZGUtPnN0YXJ0IHNldCBp
ZiBhbnkuICovCi0gICAgICAgICAgICAgICAgZG8KLSAgICAgICAgICAgICAgICAgICAgbm9kZSA9
IG5vZGV3YWxrKG5vZGUpOwotICAgICAgICAgICAgICAgIHdoaWxlIChub2RlICYmICFub2RlLT5z
dGFydCk7Ci0gICAgICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAgICB9Ci0gICAgICAg
ICAgICBwMiA9IHRoaXNlbmQ7Ci0gICAgICAgICAgICBpZiAobm9kZSAmJiBub2RlLT5zdGFydCA+
PSBmaWxlLT5idWYgJiYgbm9kZS0+c3RhcnQgPCBwMikKLSAgICAgICAgICAgICAgICBwMiA9IG5v
ZGUtPnN0YXJ0OwotICAgICAgICAgICAgcCA9IG1lbWNocihzdGFydCwgJy8nLCBwMiAtIHN0YXJ0
KTsKLSAgICAgICAgICAgIGlmICghcCkgewotICAgICAgICAgICAgICAgIHByaW50dGV4dChzdGFy
dCwgcDIgLSBzdGFydCwgMSk7Ci0gICAgICAgICAgICAgICAgaWYgKHAyICE9IHRoaXNlbmQpIHsK
LSAgICAgICAgICAgICAgICAgICAgc3RhcnQgPSBwMjsKLSAgICAgICAgICAgICAgICAgICAgY29u
dGludWU7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAg
ICAgICAgfQotICAgICAgICAgICAgLyogU2VlIGlmIHdlJ3JlIGF0IHRoZSBzdGFydCBvZiBhIGNv
bW1lbnQuIElmIHNvIGZpbmQgdGhlIGVuZC4gKi8KLSAgICAgICAgICAgIGNvbW1lbnQgPSAwOwot
ICAgICAgICAgICAgaWYgKHAgKyAxICE9IHRoaXNlbmQpIHsKLSAgICAgICAgICAgICAgICBzd2l0
Y2ggKHBbMV0pIHsKLSAgICAgICAgICAgICAgICBjYXNlICcqJzoKLSAgICAgICAgICAgICAgICAg
ICAgLyogQmxvY2sgY29tbWVudC4gKi8KLSAgICAgICAgICAgICAgICAgICAgY29tbWVudCA9IHA7
Ci0gICAgICAgICAgICAgICAgICAgIHArKzsKLSAgICAgICAgICAgICAgICAgICAgZG8gCi0gICAg
ICAgICAgICAgICAgICAgICAgICBwID0gbWVtY2hyKHAgKyAxLCAnKicsIHRoaXNlbmQgLSBwIC0g
MSk7Ci0gICAgICAgICAgICAgICAgICAgIHdoaWxlIChwWzFdICE9ICcvJyk7Ci0gICAgICAgICAg
ICAgICAgICAgIGVuZGNvbW1lbnQgPSBwICsgMjsKLSAgICAgICAgICAgICAgICAgICAgYnJlYWs7
Ci0gICAgICAgICAgICAgICAgY2FzZSAnLyc6Ci0gICAgICAgICAgICAgICAgICAgIC8qIElubGlu
ZSBjb21tZW50LiAqLwotICAgICAgICAgICAgICAgICAgICBjb21tZW50ID0gcDsKLSAgICAgICAg
ICAgICAgICAgICAgcCA9IG1lbWNocihwLCAnXG4nLCB0aGlzZW5kIC0gcCk7Ci0gICAgICAgICAg
ICAgICAgICAgIGlmICghcCkKLSAgICAgICAgICAgICAgICAgICAgICAgIHAgPSB0aGlzZW5kOwot
ICAgICAgICAgICAgICAgICAgICBlbmRjb21tZW50ID0gcDsKLSAgICAgICAgICAgICAgICAgICAg
YnJlYWs7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgfQotICAgICAgICAgICAgaWYg
KCFjb21tZW50KSB7Ci0gICAgICAgICAgICAgICAgLyogTm90IGF0IHN0YXJ0IG9mIGNvbW1lbnQu
ICovCi0gICAgICAgICAgICAgICAgcCsrOwotICAgICAgICAgICAgICAgIHByaW50dGV4dChzdGFy
dCwgcCAtIHN0YXJ0LCAxKTsKLSAgICAgICAgICAgICAgICBzdGFydCA9IHA7Ci0gICAgICAgICAg
ICAgICAgYXNzZXJ0KHN0YXJ0IDw9IGVuZCk7Ci0gICAgICAgICAgICAgICAgY29udGludWU7Ci0g
ICAgICAgICAgICB9Ci0gICAgICAgICAgICAvKiBJZiB0aGUgY29tbWVudCBoYXMgb25seSB3aGl0
ZXNwYWNlIGJlZm9yZSBpdCBvbiB0aGUgbGluZSwKLSAgICAgICAgICAgICAqIGVhdCB0aGF0IHVw
LiAqLwotICAgICAgICAgICAgcCA9IGNvbW1lbnQ7Ci0gICAgICAgICAgICB3aGlsZSAocCAhPSBz
dGFydCAmJiAoKGNoID0gcFstMV0pID09ICcgJyB8fCBjaCA9PSAnXHQnKSkKLSAgICAgICAgICAg
ICAgICBwLS07Ci0gICAgICAgICAgICBpZiAocCA9PSBzdGFydCB8fCBwWy0xXSA9PSAnXG4nKSB7
Ci0gICAgICAgICAgICAgICAgY29tbWVudCA9IHA7Ci0gICAgICAgICAgICAgICAgLyogSWYgdGhl
IGNvbW1lbnQgaGFzIG9ubHkgd2hpdGVzcGFjZSBhZnRlciBpdCB0byB0aGUgZW5kCi0gICAgICAg
ICAgICAgICAgICogb2YgdGhlIGxpbmUsIGVhdCB0aGF0IGFuZCB0aGUgbmV3bGluZSB1cC4gVGhp
cyBhbHdheXMKLSAgICAgICAgICAgICAgICAgKiBoYXBwZW5zIGZvciBhbiBpbmxpbmUgY29tbWVu
dCBvbiBhIGxpbmUgYnkgaXRzZWxmLiAqLwotICAgICAgICAgICAgICAgIHAgPSBlbmRjb21tZW50
OwotICAgICAgICAgICAgICAgIHdoaWxlIChwICE9IHRoaXNlbmQgJiYgKChjaCA9ICpwKSA9PSAn
ICcgfHwgY2ggPT0gJ1x0JykpCi0gICAgICAgICAgICAgICAgICAgIHArKzsKLSAgICAgICAgICAg
ICAgICBpZiAocCAhPSB0aGlzZW5kICYmICpwID09ICdcbicpCi0gICAgICAgICAgICAgICAgICAg
IHArKzsKLSAgICAgICAgICAgICAgICBlbmRjb21tZW50ID0gcDsKLSAgICAgICAgICAgIH0KLSAg
ICAgICAgICAgIHByaW50dGV4dChzdGFydCwgY29tbWVudCAtIHN0YXJ0LCAxKTsKLSAgICAgICAg
ICAgIHN0YXJ0ID0gZW5kY29tbWVudDsKLSAgICAgICAgICAgIGlmIChzdGFydCA+IHRoaXNlbmQp
Ci0gICAgICAgICAgICAgICAgc3RhcnQgPSB0aGlzZW5kOwotICAgICAgICB9Ci0gICAgICAgIGlm
IChmaW5hbCkKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBmaWxlID0gZmlsZS0+bmV4dDsK
LSAgICAgICAgYXNzZXJ0KGZpbGUpOwotICAgICAgICBzdGFydCA9IGZpbGUtPmJ1ZjsKLSAgICB9
Ci19CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mvc3JjL2xleC5oIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3dpZGxwcm9jL3NyYy9sZXguaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTMwYjc3
YjM2NWMuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9zcmMvbGV4LmgKKysr
IC9kZXYvbnVsbApAQCAtMSwxNDEgKzAsMCBAQAotCi0vKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqICRJZCQK
LSAqIENvcHlyaWdodCAyMDA5IEFwbGl4IENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgotICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhl
ICJMaWNlbnNlIik7Ci0gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21w
bGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCi0gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhl
IExpY2Vuc2UgYXQKLSAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5T
RS0yLjAKLSAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8g
aW4gd3JpdGluZywgc29mdHdhcmUKLSAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlz
IGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCi0gKiBXSVRIT1VUIFdBUlJBTlRJRVMg
T1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KLSAq
IFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJt
aXNzaW9ucyBhbmQKLSAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgotICoqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqLwotI2lmbmRlZiBsZXhfaAotI2RlZmluZSBsZXhfaAotCi0vLyBzdGFydGluZyBmcm9t
ICJhdHRyaWJ1dGUiIGFyZSB0aGUgbGlzdCBvZiBuYW1lcyBhbGxvd2VkIGFzIGFyZ3VtZW50cyBp
ZGVudGlmaWVyCi0jZGVmaW5lIEtFWVdPUkRTIFwKLSAgICAiRE9NU3RyaW5nXDAiIFwKLSAgICAi
Qnl0ZVN0cmluZ1wwIiBcCi0gICAgIkRhdGVcMCIgXAotICAgICJSZWdFeHBcMCIgXAotICAgICJm
YWxzZVwwIiBcCi0gICAgIm9iamVjdFwwIiBcCi0gICAgInRydWVcMCIgXAotICAgICJhbnlcMCIg
XAotICAgICJib29sZWFuXDAiIFwKLSAgICAiYnl0ZVwwIiBcCi0gICAgImRvdWJsZVwwIiBcCi0g
ICAgImZsb2F0XDAiIFwKLSAgICAiSW5maW5pdHlcMCIgXAotICAgICItSW5maW5pdHlcMCIgXAot
ICAgICJpdGVyYXRvclwwIiBcCi0gICAgImxvbmdcMCIgXAotICAgICJOYU5cMCIgXAotICAgICJu
dWxsXDAiIFwKLSAgICAib2N0ZXRcMCIgXAotICAgICJvcHRpb25hbFwwIiBcCi0gICAgIm9yXDAi
IFwKLSAgICAicmVhZG9ubHlcMCIgXAotICAgICJzZXF1ZW5jZVwwIiBcCi0gICAgInNob3J0XDAi
IFwKLSAgICAidW5zaWduZWRcMCIgXAotICAgICJ2b2lkXDAiIFwKLSAgICAiYXR0cmlidXRlXDAi
IFwKLSAgICAiY2FsbGJhY2tcMCIgXAotICAgICJjb25zdFwwIiBcCi0gICAgImNyZWF0b3JcMCIg
XAotICAgICJkZWxldGVyXDAiIFwKLSAgICAiZGljdGlvbmFyeVwwIiBcCi0gICAgImVudW1cMCIg
XAotICAgICJleGNlcHRpb25cMCIgXAotICAgICJnZXR0ZXJcMCIgXAotICAgICJpbXBsZW1lbnRz
XDAiIFwKLSAgICAiaW5oZXJpdFwwIiBcCi0gICAgImludGVyZmFjZVwwIiBcCi0gICAgImxlZ2Fj
eWNhbGxlclwwIiBcCi0gICAgInBhcnRpYWxcMCIgXAotICAgICJzZXJpYWxpemVyXDAiIFwKLSAg
ICAic2V0dGVyXDAiIFwKLSAgICAic3RhdGljXDAiIFwKLSAgICAic3RyaW5naWZpZXJcMCIgXAot
ICAgICJ0eXBlZGVmXDAiIFwKLSAgICAidW5yZXN0cmljdGVkXDAiCi0KLQotZW51bSB0b2t0eXBl
IHsKLSAgICBUT0tfRU9GID0gLTEsCi0gICAgVE9LX0JMT0NLQ09NTUVOVCA9IDB4ODAsCi0gICAg
VE9LX0lOTElORUNPTU1FTlQsIFRPS19JTlRFR0VSLCBUT0tfRkxPQVQsIFRPS19JREVOVElGSUVS
LAotICAgIFRPS19TVFJJTkcsIFRPS19FTExJUFNJUywgVE9LX0RPVUJMRUJSQUNLRVQsCi0gICAg
LyogS2V5d29yZHMgbXVzdCBiZSBpbiB0aGUgc2FtZSBvcmRlciBhcyBhYm92ZS4gKi8KLSAgICBU
T0tfRE9NU3RyaW5nLAotICAgIFRPS19CeXRlU3RyaW5nLAotICAgIFRPS19EYXRlLAotICAgIFRP
S19SZWdFeHAsCi0gICAgVE9LX2ZhbHNlLAotICAgIFRPS19vYmplY3QsCi0gICAgVE9LX3RydWUs
Ci0gICAgVE9LX2FueSwKLSAgICBUT0tfYm9vbGVhbiwKLSAgICBUT0tfYnl0ZSwKLSAgICBUT0tf
ZG91YmxlLAotICAgIFRPS19mbG9hdCwKLSAgICBUT0tfaW5maW5pdHksCi0gICAgVE9LX21pbnVz
aW5maW5pdHksCi0gICAgVE9LX2l0ZXJhdG9yLAotICAgIFRPS19sb25nLAotICAgIFRPS19OYU4s
Ci0gICAgVE9LX251bGwsCi0gICAgVE9LX29jdGV0LAotICAgIFRPS19vcHRpb25hbCwKLSAgICBU
T0tfb3IsCi0gICAgVE9LX3JlYWRvbmx5LAotICAgIFRPS19zZXF1ZW5jZSwKLSAgICBUT0tfc2hv
cnQsCi0gICAgVE9LX3Vuc2lnbmVkLAotICAgIFRPS192b2lkLAotICAgIC8qIEJlbG93IHRoYXQg
bGluZSBhcmUga2V5d29yZHMgdGhhdCBhcmUgYWxsb3dlZCBhcyBhcmd1bWVudHMgbmFtZXMgKi8K
LSAgICBUT0tfYXR0cmlidXRlLAotICAgIFRPS19jYWxsYmFjaywKLSAgICBUT0tfY29uc3QsCi0g
ICAgVE9LX2NyZWF0b3IsCi0gICAgVE9LX2RlbGV0ZXIsCi0gICAgVE9LX2RpY3Rpb25hcnksCi0g
ICAgVE9LX2VudW0sCi0gICAgVE9LX2V4Y2VwdGlvbiwKLSAgICBUT0tfZ2V0dGVyLAotICAgIFRP
S19pbXBsZW1lbnRzLAotICAgIFRPS19pbmhlcml0LAotICAgIFRPS19pbnRlcmZhY2UsCi0gICAg
VE9LX2xlZ2FjeWNhbGxlciwKLSAgICBUT0tfcGFydGlhbCwKLSAgICBUT0tfc2VyaWFsaXplciwK
LSAgICBUT0tfc2V0dGVyLAotICAgIFRPS19zdGF0aWMsCi0gICAgVE9LX3N0cmluZ2lmaWVyLAot
ICAgIFRPS190eXBlZGVmLAotICAgIFRPS191bnJlc3RyaWN0ZWQsCi19OwotCi1zdHJ1Y3QgdG9r
IHsKLSAgICBlbnVtIHRva3R5cGUgdHlwZTsKLSAgICBjb25zdCBjaGFyICpmaWxlbmFtZTsKLSAg
ICB1bnNpZ25lZCBpbnQgbGluZW51bTsKLSAgICBjb25zdCBjaGFyICpwcmVzdGFydDsKLSAgICBj
b25zdCBjaGFyICpzdGFydDsKLSAgICB1bnNpZ25lZCBpbnQgbGVuOwotfTsKLQotZXh0ZXJuIGNv
bnN0IGNoYXIgKmZpbGVuYW1lOwotZXh0ZXJuIGNvbnN0IGNoYXIga2V5d29yZHNbXTsKLQotc3Ry
dWN0IG5vZGU7Ci0KLXZvaWQgcmVhZGlucHV0KGNvbnN0IGNoYXIgKmNvbnN0ICphcmd2KTsKLXN0
cnVjdCB0b2sgKmxleCh2b2lkKTsKLXZvaWQgb3V0cHV0d2lkbChzdHJ1Y3Qgbm9kZSAqbm9kZSk7
Ci0KLSNlbmRpZiAvKiBuZGVmIGxleF9oICovCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHBy
b2Mvc3JjL21haW4uYyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9zcmMvbWFpbi5jCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCBkZjkwZTM0N2RlOC4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3dpZGxwcm9jL3NyYy9tYWluLmMKKysrIC9kZXYvbnVsbApAQCAtMSw2MyArMCwwIEBACi0v
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioKLSAqICRJZCQKLSAqIENvcHlyaWdodCAyMDA5IEFwbGl4IENvcnBvcmF0
aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBM
aWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7Ci0gKiB5b3UgbWF5IG5vdCB1c2Ug
dGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCi0gKiBZb3Ug
bWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKLSAqICAgICBodHRwOi8vd3d3LmFw
YWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKLSAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBs
aWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKLSAqIGRpc3RyaWJ1
dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMs
Ci0gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVy
IGV4cHJlc3Mgb3IgaW1wbGllZC4KLSAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmlj
IGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKLSAqIGxpbWl0YXRpb25zIHVuZGVy
IHRoZSBMaWNlbnNlLgotICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwotI2luY2x1ZGUgPHN0cmluZy5oPgotI2lu
Y2x1ZGUgIm1pc2MuaCIKLSNpbmNsdWRlICJwcm9jZXNzLmgiCi0KLXN0YXRpYyBjb25zdCBjaGFy
IG5vZHRkb3B0W10gPSAiLW5vLWR0ZC1yZWYiOwotY29uc3QgY2hhciAqcHJvZ25hbWU7Ci0KLS8q
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKgotICogb3B0aW9ucyA6IHByb2Nlc3MgY29tbWFuZCBsaW5lIG9wdGlvbnMK
LSAqCi0gKiBFbnRlcjogICBhcmd2Ci0gKgotICogUmV0dXJuOiAgYXJndiBzdGVwcGVkIHRvIHBv
aW50IHRvIGZpcnN0IG5vbi1vcHRpb24gYXJndW1lbnQKLSAqLwotc3RhdGljIGNvbnN0IGNoYXIg
KmNvbnN0ICoKLW9wdGlvbnMoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKmNvbnN0ICphcmd2KQotewot
ICAgIC8qIFNldCBwcm9nbmFtZSBmb3IgZXJyb3IgbWVzc2FnZXMgZXRjLiAqLwotICAgIHsKLSAg
ICAgICAgY29uc3QgY2hhciAqYmFzZTsKLSAgICAgICAgcHJvZ25hbWUgPSBhcmd2WzBdOwotICAg
ICAgICBiYXNlID0gc3RycmNocihwcm9nbmFtZSwgJy8nKTsKLSNpZmRlZiBESVJTRVAKLSAgICAg
ICAgewotICAgICAgICAgICAgY29uc3QgY2hhciAqYmFzZTIgPSBzdHJyY2hyKGJhc2UsICdcXCcp
OwotICAgICAgICAgICAgaWYgKGJhc2UyID4gYmFzZSkKLSAgICAgICAgICAgICAgICBiYXNlID0g
YmFzZTI7Ci0gICAgICAgIH0KLSNlbmRpZiAvKiBkZWYgRElSU0VQICovCi0gICAgICAgIGlmIChi
YXNlKQotICAgICAgICAgICAgcHJvZ25hbWUgPSBiYXNlICsgMTsKLSAgICB9Ci0gICAgcmV0dXJu
IChhcmdjID4gMSAmJiBzdHJuY21wKGFyZ3ZbMV0sIG5vZHRkb3B0LCBzaXplb2Ygbm9kdGRvcHQp
ID09IDApCi0gICAgICAgICAgPyBhcmd2ICsgMiA6IGFyZ3YgKyAxOwotfQotCi0vKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioKLSAqIG1haW4gOiBtYWluIGNvZGUgZm9yIGJvbmRpaWRsIGNvbW1hbmQKLSAqLwotaW50
Ci1tYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKLXsKLSAgICBjb25zdCBjaGFyICpjb25zdCAq
cGFyZzsKLSAgICBwYXJnID0gb3B0aW9ucyhhcmdjLCAoY29uc3QgY2hhciAqY29uc3QgKilhcmd2
KTsKLSAgICBpZiAoISpwYXJnKQotICAgICAgICBlcnJvcmV4aXQoInVzYWdlOiAlcyBbLW5vLWR0
ZC1yZWZdIDxpbnRlcmZhY2U+LndpZGwgLi4uIiwgcHJvZ25hbWUpOwotICAgIHByb2Nlc3NmaWxl
cyhwYXJnLCBwYXJnID09IChjb25zdCBjaGFyICpjb25zdCAqKWFyZ3YgKyAxKTsKLSAgICByZXR1
cm4gMDsKLX0KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3NyYy9taXNjLmMgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3Qvd2lkbHByb2Mvc3JjL21pc2MuYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMzdhZmYzZjM0ZGIuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9zcmMv
bWlzYy5jCisrKyAvZGV2L251bGwKQEAgLTEsMTE5ICswLDAgQEAKLS8qKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgot
ICogJElkJAotICogQ29weXJpZ2h0IDIwMDkgQXBsaXggQ29ycG9yYXRpb24uIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCi0gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24g
Mi4wICh0aGUgIkxpY2Vuc2UiKTsKLSAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0
IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KLSAqIFlvdSBtYXkgb2J0YWluIGEgY29w
eSBvZiB0aGUgTGljZW5zZSBhdAotICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNl
cy9MSUNFTlNFLTIuMAotICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFn
cmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQotICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExp
Y2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKLSAqIFdJVEhPVVQgV0FS
UkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBs
aWVkLgotICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJu
aW5nIHBlcm1pc3Npb25zIGFuZAotICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCi0g
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKiovCi0jaW5jbHVkZSA8c3RkYXJnLmg+Ci0jaW5jbHVkZSA8c3RkaW8uaD4K
LSNpbmNsdWRlIDxzdGRsaWIuaD4KLSNpbmNsdWRlIDxzdHJpbmcuaD4KLSNpbmNsdWRlICJtaXNj
LmgiCi0jaW5jbHVkZSAib3MuaCIgLyogdG8gZ2V0IHZhX2NvcHkgb24gd2luZG93cyAqLwotCi1l
eHRlcm4gY29uc3QgY2hhciAqcHJvZ25hbWU7Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogbWVtb3J5
IGFsbG9jYXRpb24gd3JhcHBlcnMKLSAqLwotdm9pZCAqCi1tZW1hbGxvYyhzaXplX3Qgc2l6ZSkK
LXsKLSAgICB2b2lkICpwdHIgPSBtYWxsb2Moc2l6ZSk7Ci0gICAgaWYgKCFwdHIpCi0gICAgICAg
IGVycm9yZXhpdCgib3V0IG9mIG1lbW9yeSIpOwotICAgIC8qIFplcm8gaW5pdGlhbGlzZSBtZW1v
cnkgZnJvbSBtZW1hbGxvYy4gKi8KLSAgICBtZW1zZXQocHRyLCAwLCBzaXplKTsKLSAgICByZXR1
cm4gcHRyOwotfQotCi12b2lkICoKLW1lbXJlYWxsb2Modm9pZCAqcHRyLCBzaXplX3Qgc2l6ZSkK
LXsKLSAgICB2b2lkICpuZXdwdHIgPSByZWFsbG9jKHB0ciwgc2l6ZSk7Ci0gICAgaWYgKCFuZXdw
dHIpCi0gICAgICAgIGVycm9yZXhpdCgib3V0IG9mIG1lbW9yeSIpOwotICAgIHJldHVybiBuZXdw
dHI7Ci19Ci0KLXZvaWQKLW1lbWZyZWUodm9pZCAqcHRyKQotewotICAgICooaW50ICopcHRyID0g
MHhmZWZlZmVmZTsKLSAgICBmcmVlKHB0cik7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogdm1l
bXByaW50ZiwgbWVtcHJpbnRmIDogYWxsb2NhdGUgYnVmZmVyIGFuZCBzcHJpbnRmIGludG8gaXQK
LSAqLwotY2hhciAqCi1tZW1wcmludGYoY29uc3QgY2hhciAqZm9ybWF0LCAuLi4pCi17Ci0gICAg
dmFfbGlzdCBhcDsKLSAgICBjaGFyICpidWY7Ci0gICAgdmFfc3RhcnQoYXAsIGZvcm1hdCk7Ci0g
ICAgYnVmID0gdm1lbXByaW50Zihmb3JtYXQsIGFwKTsKLSAgICB2YV9lbmQoYXApOwotICAgIHJl
dHVybiBidWY7Ci19Ci0KLWNoYXIgKgotdm1lbXByaW50Zihjb25zdCBjaGFyICpmb3JtYXQsIHZh
X2xpc3QgYXApCi17Ci0gICAgY2hhciAqYnVmOwotICAgIHVuc2lnbmVkIGludCBtYXgsIGxlbjsK
LSAgICB2YV9saXN0IGFwMjsKLSAgICBtYXggPSAxNjsKLSAgICBmb3IgKDs7KSB7Ci0gICAgICAg
IHZhX2NvcHkoYXAyLCBhcCk7Ci0gICAgICAgIGJ1ZiA9IG1lbWFsbG9jKG1heCk7Ci0gICAgICAg
IGxlbiA9IHZzbnByaW50ZihidWYsIG1heCwgZm9ybWF0LCBhcDIpOwotICAgICAgICB2YV9lbmQo
YXAyKTsKLSAgICAgICAgaWYgKGxlbiA8IG1heCkKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAg
ICBtZW1mcmVlKGJ1Zik7Ci0gICAgICAgIG1heCAqPSAyOwotICAgIH0KLSAgICByZXR1cm4gYnVm
OwotfQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioKLSAqIGVycm9yZXhpdCA6IHByaW50IGVycm9yIG1lc3Nh
Z2UgdGhlbiBleGl0Ci0gKi8KLXZvaWQKLXZsb2NlcnJvcmV4aXQoY29uc3QgY2hhciAqZmlsZW5h
bWUsIHVuc2lnbmVkIGludCBsaW5lbnVtLAotICAgICAgICBjb25zdCBjaGFyICpmb3JtYXQsIHZh
X2xpc3QgYXApCi17Ci0gICAgaWYgKGZpbGVuYW1lKQotICAgICAgICBmcHJpbnRmKHN0ZGVyciwg
bGluZW51bSA/ICIlczogJWk6ICIgOiAiJXM6ICIsIGZpbGVuYW1lLCBsaW5lbnVtKTsKLSAgICB2
ZnByaW50ZihzdGRlcnIsIGZvcm1hdCwgYXApOwotICAgIGZwdXRjKCdcbicsIHN0ZGVycik7Ci0g
ICAgZXhpdCgxKTsKLX0KLQotdm9pZAotbG9jZXJyb3JleGl0KGNvbnN0IGNoYXIgKmZpbGVuYW1l
LCB1bnNpZ25lZCBpbnQgbGluZW51bSwKLSAgICAgICAgY29uc3QgY2hhciAqZm9ybWF0LCAuLi4p
Ci17Ci0gICAgdmFfbGlzdCBhcDsKLSAgICB2YV9zdGFydChhcCwgZm9ybWF0KTsKLSAgICB2bG9j
ZXJyb3JleGl0KGZpbGVuYW1lLCBsaW5lbnVtLCBmb3JtYXQsIGFwKTsKLSAgICB2YV9lbmQoYXAp
OwotfQotCi12b2lkCi1lcnJvcmV4aXQoY29uc3QgY2hhciAqZm9ybWF0LCAuLi4pCi17Ci0gICAg
dmFfbGlzdCBhcDsKLSAgICB2YV9zdGFydChhcCwgZm9ybWF0KTsKLSAgICB2bG9jZXJyb3JleGl0
KDAsIDAsIGZvcm1hdCwgYXApOwotICAgIHZhX2VuZChhcCk7Ci19Ci0KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC93aWRscHJvYy9zcmMvbWlzYy5oIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3NyYy9taXNj
LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAxYzM2ZDIxOGVkLi4wMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mvc3JjL21pc2MuaAorKysgL2Rldi9udWxsCkBAIC0x
LDMxICswLDAgQEAKLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogJElkJAotICogQ29weXJpZ2h0IDIwMDkg
QXBsaXggQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKiBMaWNlbnNlZCB1bmRl
ciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKLSAqIHlv
dSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGlj
ZW5zZS4KLSAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAotICogICAg
IGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAotICogVW5sZXNzIHJl
cXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2Fy
ZQotICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4g
IkFTIElTIiBCQVNJUywKLSAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFO
WSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgotICogU2VlIHRoZSBMaWNlbnNlIGZv
ciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAotICogbGlt
aXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCi0gKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi0jaWZuZGVmIG1p
c2NfaAotI2RlZmluZSBtaXNjX2gKLSNpbmNsdWRlIDxzdGRhcmcuaD4KLSNpbmNsdWRlIDxzdGRs
aWIuaD4KLQotdm9pZCAqbWVtYWxsb2Moc2l6ZV90IHNpemUpOwotdm9pZCAqbWVtcmVhbGxvYyh2
b2lkICpwdHIsIHNpemVfdCBzaXplKTsKLXZvaWQgbWVtZnJlZSh2b2lkICpwdHIpOwotCi1jaGFy
ICp2bWVtcHJpbnRmKGNvbnN0IGNoYXIgKmZvcm1hdCwgdmFfbGlzdCBhcCk7Ci1jaGFyICptZW1w
cmludGYoY29uc3QgY2hhciAqZm9ybWF0LCAuLi4pOwotCi12b2lkIHZsb2NlcnJvcmV4aXQoY29u
c3QgY2hhciAqZmlsZW5hbWUsIHVuc2lnbmVkIGludCBsaW5lbnVtLCBjb25zdCBjaGFyICpmb3Jt
YXQsIHZhX2xpc3QgYXApOwotdm9pZCBsb2NlcnJvcmV4aXQoY29uc3QgY2hhciAqZmlsZW5hbWUs
IHVuc2lnbmVkIGludCBsaW5lbnVtLCBjb25zdCBjaGFyICpmb3JtYXQsIC4uLik7Ci12b2lkIGVy
cm9yZXhpdChjb25zdCBjaGFyICpmb3JtYXQsIC4uLik7Ci0KLSNlbmRpZiAvKiBuZGVmIG1pc2Nf
aCAqLwotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mvc3JjL25vZGUuYyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC93aWRscHJvYy9zcmMvbm9kZS5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBk
OGY3Mzc5MDlhNC4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3NyYy9ub2Rl
LmMKKysrIC9kZXYvbnVsbApAQCAtMSwzMzEgKzAsMCBAQAotLyoqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiAk
SWQkCi0gKiBDb3B5cmlnaHQgMjAwOSBBcGxpeCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KLSAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAg
KHRoZSAiTGljZW5zZSIpOwotICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4g
Y29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgotICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9m
IHRoZSBMaWNlbnNlIGF0Ci0gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJ
Q0VOU0UtMi4wCi0gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVk
IHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCi0gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5z
ZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAotICogV0lUSE9VVCBXQVJSQU5U
SUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQu
Ci0gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcg
cGVybWlzc2lvbnMgYW5kCi0gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KLSAqCi0g
KiBOb2RlLXNwZWNpZmljIGZ1bmN0aW9ucwotICoqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwotI2luY2x1ZGUgPGFz
c2VydC5oPgotI2luY2x1ZGUgPHN0ZGlvLmg+Ci0jaW5jbHVkZSA8c3RyaW5nLmg+Ci0jaW5jbHVk
ZSAiY29tbWVudC5oIgotI2luY2x1ZGUgImxleC5oIgotI2luY2x1ZGUgIm1pc2MuaCIKLSNpbmNs
dWRlICJub2RlLmgiCi0jaW5jbHVkZSAicHJvY2Vzcy5oIgotCi1zdHJ1Y3Qgbm9kZSAqCi1uZXdl
bGVtZW50KGNvbnN0IGNoYXIgKm5hbWUpCi17Ci0gICAgc3RydWN0IGVsZW1lbnQgKmVsZW1lbnQg
PSBtZW1hbGxvYyhzaXplb2Yoc3RydWN0IGVsZW1lbnQpKTsKLSAgICBlbGVtZW50LT5uLnR5cGUg
PSBOT0RFX0VMRU1FTlQ7Ci0gICAgZWxlbWVudC0+bmFtZSA9IG5hbWU7Ci0gICAgcmV0dXJuICZl
bGVtZW50LT5uOwotfQotCi1zdHJ1Y3Qgbm9kZSAqCi1uZXdhdHRyKGNvbnN0IGNoYXIgKm5hbWUs
IGNvbnN0IGNoYXIgKnZhbCkKLXsKLSAgICBzdHJ1Y3QgYXR0ciAqYXR0ciA9IG1lbWFsbG9jKHNp
emVvZihzdHJ1Y3QgYXR0cikpOwotICAgIGF0dHItPm4udHlwZSA9IE5PREVfQVRUUjsKLSAgICBh
dHRyLT5uYW1lID0gbmFtZTsKLSAgICBhdHRyLT52YWx1ZSA9IHZhbDsKLSAgICByZXR1cm4gJmF0
dHItPm47Ci19Ci0KLXN0cnVjdCBub2RlICoKLW5ld2F0dHJsaXN0KHZvaWQpCi17Ci0gICAgc3Ry
dWN0IGF0dHJsaXN0ICphdHRybGlzdCA9IG1lbWFsbG9jKHNpemVvZihzdHJ1Y3QgYXR0cmxpc3Qp
KTsKLSAgICBhdHRybGlzdC0+bi50eXBlID0gTk9ERV9BVFRSTElTVDsKLSAgICByZXR1cm4gJmF0
dHJsaXN0LT5uOwotfQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIGFkZG5vZGUgOiBhZGQgbm9kZSBh
cyBjaGlsZCBvZiBhbm90aGVyIG5vZGUKLSAqCi0gKiBFbnRlcjogICBwYXJlbnQgbm9kZQotICog
ICAgICAgICAgY2hpbGQgbm9kZQotICoKLSAqIFRoZSBjaGlsZHJlbiBsaXN0IGlzIGNvbnN0cnVj
dGVkIGJhY2t3YXJkcy4gVGhpcyBpcyBmaXhlZCBsYXRlciB3aXRoCi0gKiBhIGNhbGwgdG8gcmV2
ZXJzZWNoaWxkcmVuLgotICoKLSAqIElmIGNoaWxkIGlzIGFuIGF0dHJsaXN0LCBpdHMgY2hpbGRy
ZW4gYXJlIGFkZGVkIHRvIHBhcmVudCBhbmQgdGhlCi0gKiBhdHRybGlzdCBpcyBmcmVlZC4KLSAq
Lwotdm9pZAotYWRkbm9kZShzdHJ1Y3Qgbm9kZSAqcGFyZW50LCBzdHJ1Y3Qgbm9kZSAqY2hpbGQp
Ci17Ci0gICAgaWYgKCFjaGlsZCkKLSAgICAgICAgcmV0dXJuOwotICAgIGlmIChjaGlsZC0+dHlw
ZSA9PSBOT0RFX0FUVFJMSVNUKSB7Ci0gICAgICAgIC8qIEFkZCB0aGUgYXR0cnMgaW4gdGhlIGF0
dHJsaXN0IHRvIHBhcmVudC4gKi8KLSAgICAgICAgc3RydWN0IG5vZGUgKmNoaWxkMjsKLSAgICAg
ICAgcmV2ZXJzZWNoaWxkcmVuKGNoaWxkKTsKLSAgICAgICAgY2hpbGQyID0gY2hpbGQtPmNoaWxk
cmVuOwotICAgICAgICBtZW1mcmVlKGNoaWxkKTsKLSAgICAgICAgd2hpbGUgKGNoaWxkMikgewot
ICAgICAgICAgICAgc3RydWN0IG5vZGUgKm5leHQgPSBjaGlsZDItPm5leHQ7Ci0gICAgICAgICAg
ICBhZGRub2RlKHBhcmVudCwgY2hpbGQyKTsKLSAgICAgICAgICAgIGNoaWxkMiA9IG5leHQ7Ci0g
ICAgICAgIH0KLSAgICB9IGVsc2UgewotICAgICAgICBjaGlsZC0+bmV4dCA9IHBhcmVudC0+Y2hp
bGRyZW47Ci0gICAgICAgIHBhcmVudC0+Y2hpbGRyZW4gPSBjaGlsZDsKLSAgICAgICAgY2hpbGQt
PnBhcmVudCA9IHBhcmVudDsKLSAgICB9Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogcmV2ZXJz
ZWNoaWxkcmVuIDogcmVjdXJzaXZlbHkgcmV2ZXJzZSBjaGlsZCBsaXN0cwotICoKLSAqIEFsc28g
c2V0cyBwYXJlbnQgZmllbGQgb24gZWFjaCBub2RlLgotICovCi12b2lkCi1yZXZlcnNlY2hpbGRy
ZW4oc3RydWN0IG5vZGUgKm5vZGUpCi17Ci0gICAgc3RydWN0IG5vZGUgKm5ld2xpc3QgPSAwOwot
ICAgIHN0cnVjdCBub2RlICpjaGlsZCA9IG5vZGUtPmNoaWxkcmVuOwotICAgIHdoaWxlIChjaGls
ZCkgewotICAgICAgICBzdHJ1Y3Qgbm9kZSAqbmV4dCA9IGNoaWxkLT5uZXh0OwotICAgICAgICBj
aGlsZC0+cGFyZW50ID0gbm9kZTsKLSAgICAgICAgY2hpbGQtPm5leHQgPSBuZXdsaXN0OwotICAg
ICAgICBuZXdsaXN0ID0gY2hpbGQ7Ci0gICAgICAgIHJldmVyc2VjaGlsZHJlbihjaGlsZCk7Ci0g
ICAgICAgIGNoaWxkID0gbmV4dDsKLSAgICB9Ci0gICAgbm9kZS0+Y2hpbGRyZW4gPSBuZXdsaXN0
OwotfQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioKLSAqIG5vZGVpc2VtcHR5IDogdGVzdCBpZiBub2RlIGlz
IGVtcHR5IChoYXMgbm8gY2hpbGRyZW4pCi0gKi8KLWludAotbm9kZWlzZW1wdHkoc3RydWN0IG5v
ZGUgKm5vZGUpCi17Ci0gICAgcmV0dXJuICFub2RlLT5jaGlsZHJlbjsKLX0KLQotLyoqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqCi0gKiBub2Rld2FsayA6IHNpbmdsZSBzdGVwIG9mIGRlcHRoIGxhc3QgdHJhdmVyc2Fs
IG9mIG5vZGUgdHJlZQotICoKLSAqIFJldHVybjogIG5leHQgbm9kZSBpbiB3YWxrLCAwIGlmIGZp
bmlzaGVkCi0gKi8KLXN0cnVjdCBub2RlICoKLW5vZGV3YWxrKHN0cnVjdCBub2RlICpub2RlKQot
ewotICAgIGlmIChub2RlLT5jaGlsZHJlbikKLSAgICAgICAgcmV0dXJuIG5vZGUtPmNoaWxkcmVu
OwotICAgIGlmIChub2RlLT5uZXh0KQotICAgICAgICByZXR1cm4gbm9kZS0+bmV4dDsKLSAgICBk
byB7Ci0gICAgICAgIG5vZGUgPSBub2RlLT5wYXJlbnQ7Ci0gICAgICAgIGlmICghbm9kZSkKLSAg
ICAgICAgICAgIHJldHVybiAwOwotICAgIH0gd2hpbGUgKCFub2RlLT5uZXh0KTsKLSAgICByZXR1
cm4gbm9kZS0+bmV4dDsKLX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBmaW5kY2hpbGRlbGVtZW50
IDogZmluZCBjaGlsZCBlbGVtZW50IG9mIGEgcGFydGljdWxhciBuYW1lCi0gKgotICogRW50ZXI6
ICAgbm9kZSA9IGVsZW1lbnQKLSAqICAgICAgICAgIG5hbWUgPSBuYW1lIHRvIGZpbmQKLSAqCi0g
KiBSZXR1cm46ICAwIGVsc2UgY2hpbGQgZWxlbWVudCBvZiB0aGF0IG5hbWUKLSAqLwotc3RhdGlj
IHN0cnVjdCBub2RlICoKLWZpbmRjaGlsZGVsZW1lbnQoc3RydWN0IG5vZGUgKm5vZGUsIGNvbnN0
IGNoYXIgKm5hbWUpCi17Ci0gICAgbm9kZSA9IG5vZGUtPmNoaWxkcmVuOwotICAgIHdoaWxlIChu
b2RlKSB7Ci0gICAgICAgIGlmIChub2RlLT50eXBlID09IE5PREVfRUxFTUVOVCkgewotICAgICAg
ICAgICAgc3RydWN0IGVsZW1lbnQgKmVsZW1lbnQgPSAodm9pZCAqKW5vZGU7Ci0gICAgICAgICAg
ICBpZiAoIXN0cmNtcChlbGVtZW50LT5uYW1lLCBuYW1lKSkKLSAgICAgICAgICAgICAgICBicmVh
azsKLSAgICAgICAgfQotICAgICAgICBub2RlID0gbm9kZS0+bmV4dDsKLSAgICB9Ci0gICAgcmV0
dXJuIG5vZGU7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogZ2V0YXR0ciA6IGdldCB2YWx1ZSBv
ZiBhdHRyaWJ1dGUKLSAqCi0gKiBFbnRlcjogICBub2RlID0gZWxlbWVudCB0byBmaW5kIGF0dHJp
YnV0ZSBpbgotICogICAgICAgICAgbmFtZSA9IG5hbWUgb2YgYXR0cmlidXRlCi0gKgotICogUmV0
dXJuOiAgMCBpZiBub3QgZm91bmQsIGVsc2UgMC10ZXJtaW5hdGVkIHN0cmluZyB2YWx1ZQotICov
Ci1jb25zdCBjaGFyICoKLWdldGF0dHIoc3RydWN0IG5vZGUgKm5vZGUsIGNvbnN0IGNoYXIgKm5h
bWUpCi17Ci0gICAgbm9kZSA9IG5vZGUtPmNoaWxkcmVuOwotICAgIHdoaWxlIChub2RlKSB7Ci0g
ICAgICAgIGlmIChub2RlLT50eXBlID09IE5PREVfQVRUUikgewotICAgICAgICAgICAgc3RydWN0
IGF0dHIgKmF0dHIgPSAodm9pZCAqKW5vZGU7Ci0gICAgICAgICAgICBpZiAoIXN0cmNtcChhdHRy
LT5uYW1lLCBuYW1lKSkKLSAgICAgICAgICAgICAgICByZXR1cm4gYXR0ci0+dmFsdWU7Ci0gICAg
ICAgIH0KLSAgICAgICAgbm9kZSA9IG5vZGUtPm5leHQ7Ci0gICAgfQotICAgIHJldHVybiAwOwot
fQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioKLSAqIGZpbmRjaGlsZGVsZW1lbnR3aXRobmFtZWF0dHIgOiBm
aW5kIGNoaWxkIGVsZW1lbnQgd2l0aCBhIG5hbWUgYXR0cmlidXRlCi0gKiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgb2YgYSBwYXJ0aWN1bGFyIHZhbHVlCi0gKgotICogRW50ZXI6ICAg
bm9kZSA9IGVsZW1lbnQKLSAqICAgICAgICAgIG5hbWUgPSBuYW1lIHRvIGZpbmQKLSAqCi0gKiBS
ZXR1cm46ICAwIGVsc2UgY2hpbGQgZWxlbWVudCB3aXRoIG5hbWUgYXR0ciBvZiB0aGF0IHZhbHVl
Ci0gKi8KLXN0YXRpYyBzdHJ1Y3Qgbm9kZSAqCi1maW5kY2hpbGRlbGVtZW50d2l0aG5hbWVhdHRy
KHN0cnVjdCBub2RlICpub2RlLCBjb25zdCBjaGFyICpuYW1lKQotewotICAgIG5vZGUgPSBub2Rl
LT5jaGlsZHJlbjsKLSAgICB3aGlsZSAobm9kZSkgewotICAgICAgICBpZiAobm9kZS0+dHlwZSA9
PSBOT0RFX0VMRU1FTlQpIHsKLSAgICAgICAgICAgIGNvbnN0IGNoYXIgKnMgPSBnZXRhdHRyKG5v
ZGUsICJuYW1lIik7Ci0gICAgICAgICAgICBpZiAocyAmJiAhc3RyY21wKHMsIG5hbWUpKQotICAg
ICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0gICAgICAgIG5vZGUgPSBub2RlLT5uZXh0
OwotICAgIH0KLSAgICByZXR1cm4gbm9kZTsKLX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBmaW5k
cmV0dXJudHlwZSA6IGZpbmQgVHlwZSBwYXJzZSBub2RlIGZvciByZXR1cm4gdHlwZQotICoKLSAq
IEVudGVyOiAgIG5vZGUgPSBPcGVyYXRpb24gZWxlbWVudAotICoKLSAqIFJldHVybjogIDAgaWYg
bm90IGZvdW5kLCBlbHNlIFR5cGUgcGFyc2Ugbm9kZSBmb3IgcmV0dXJuIHR5cGUKLSAqLwotc3Ry
dWN0IG5vZGUgKgotZmluZHJldHVybnR5cGUoc3RydWN0IG5vZGUgKm5vZGUpCi17Ci0gICAgcmV0
dXJuIGZpbmRjaGlsZGVsZW1lbnQobm9kZSwgIlR5cGUiKTsKLX0KLQotLyoqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
Ci0gKiBmaW5kcGFyYW1pZGVudGlmaWVyIDogZmluZCBpZGVudGlmaWVyIHBhcnNlIG5vZGUgZm9y
IHBhcmFtZXRlcgotICoKLSAqIEVudGVyOiAgIG5vZGUgPSBPcGVyYXRpb24gZWxlbWVudAotICog
ICAgICAgICAgbmFtZSA9IHBhcmFtZXRlciBuYW1lIHRvIGZpbmQKLSAqCi0gKiBSZXR1cm46ICAw
IGlmIG5vdCBmb3VuZCwgZWxzZSBub2RlIHN0cnVjdCBmb3IgcGFyYW1ldGVyIGlkZW50aWZpZXIK
LSAqLwotc3RydWN0IG5vZGUgKgotZmluZHBhcmFtaWRlbnRpZmllcihzdHJ1Y3Qgbm9kZSAqbm9k
ZSwgY29uc3QgY2hhciAqbmFtZSkKLXsKLSAgICBub2RlID0gZmluZGNoaWxkZWxlbWVudChub2Rl
LCAiQXJndW1lbnRMaXN0Iik7Ci0gICAgaWYgKG5vZGUpCi0gICAgICAgIG5vZGUgPSBmaW5kY2hp
bGRlbGVtZW50d2l0aG5hbWVhdHRyKG5vZGUsIG5hbWUpOwotICAgIHJldHVybiBub2RlOwotfQot
Ci0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioKLSAqIGZpbmR0aHJvd2lkZW50aWZpZXIgOiBmaW5kIGlkZW50aWZp
ZXIgcGFyc2Ugbm9kZSBmb3IgZXhjZXB0aW9uIG5hbWUKLSAqCi0gKiBFbnRlcjogICBub2RlID0g
T3BlcmF0aW9uIGVsZW1lbnQKLSAqICAgICAgICAgIG5hbWUgPSBleGNlcHRpb24gbmFtZSB0byBm
aW5kCi0gKgotICogUmV0dXJuOiAgMCBpZiBub3QgZm91bmQsIGVsc2Ugbm9kZSBmb3IgTmFtZSBl
bGVtZW50LCBjaGlsZCBvZiBSYWlzZXMKLSAqICAgICAgICAgICAgICBvciBTZXRSYWlzZXMKLSAq
Lwotc3RydWN0IG5vZGUgKgotZmluZHRocm93aWRlbnRpZmllcihzdHJ1Y3Qgbm9kZSAqbm9kZSwg
Y29uc3QgY2hhciAqbmFtZSkKLXsKLSAgICBzdHJ1Y3Qgbm9kZSAqbm9kZTIgPSBmaW5kY2hpbGRl
bGVtZW50KG5vZGUsICJSYWlzZXMiKTsKLSAgICBpZiAobm9kZTIpCi0gICAgICAgIG5vZGUyID0g
ZmluZGNoaWxkZWxlbWVudHdpdGhuYW1lYXR0cihub2RlMiwgbmFtZSk7Ci0gICAgaWYgKCFub2Rl
MikgewotICAgICAgICBub2RlMiA9IGZpbmRjaGlsZGVsZW1lbnQobm9kZSwgIlNldFJhaXNlcyIp
OwotICAgICAgICBpZiAobm9kZTIpCi0gICAgICAgICAgICBub2RlMiA9IGZpbmRjaGlsZGVsZW1l
bnR3aXRobmFtZWF0dHIobm9kZTIsIG5hbWUpOwotICAgIH0KLSAgICByZXR1cm4gbm9kZTI7Ci19
Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKgotICogb3V0cHV0aWQgOiBvdXRwdXQgdGhlIGlkIG9mIGEgbm9k
ZQotICovCi1zdGF0aWMgdm9pZAotb3V0cHV0aWQoc3RydWN0IG5vZGUgKm5vZGUpCi17Ci0gICAg
aWYgKG5vZGUtPnBhcmVudCkKLSAgICAgICAgb3V0cHV0aWQobm9kZS0+cGFyZW50KTsKLSAgICBp
ZiAobm9kZS0+aWQpIHsKLSAgICAgICAgZnB1dHMoIjo6Iiwgc3Rkb3V0KTsKLSAgICAgICAgcHJp
bnR0ZXh0KG5vZGUtPmlkLCBzdHJsZW4obm9kZS0+aWQpLCAxKTsKLSAgICB9Ci19Ci0KLS8qKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKgotICogb3V0cHV0bm9kZSA6IG91dHB1dCBub2RlIGFuZCBpdHMgY2hpbGRyZW4K
LSAqCi0gKiBFbnRlcjogICBub2RlID0gbm9kZSB0byBvdXRwdXQsIGFzc3VtZWQgdG8gYmUgYW4g
ZWxlbWVudAotICogICAgICAgICAgaW5kZW50Ci0gKi8KLXZvaWQKLW91dHB1dG5vZGUoc3RydWN0
IG5vZGUgKm5vZGUsIHVuc2lnbmVkIGludCBpbmRlbnQpCi17Ci0gICAgc3RydWN0IGVsZW1lbnQg
KmVsZW1lbnQgPSAodm9pZCAqKW5vZGU7Ci0gICAgc3RydWN0IG5vZGUgKmNoaWxkOwotICAgIGlu
dCBlbXB0eSA9IDE7Ci0gICAgcHJpbnRmKCIlKnM8JXMiLCBpbmRlbnQsICIiLCBlbGVtZW50LT5u
YW1lKTsKLSAgICBjaGlsZCA9IGVsZW1lbnQtPm4uY2hpbGRyZW47Ci0gICAgd2hpbGUgKGNoaWxk
KSB7Ci0gICAgICAgIHN3aXRjaChjaGlsZC0+dHlwZSkgewotICAgICAgICBjYXNlIE5PREVfRUxF
TUVOVDoKLSAgICAgICAgICAgIGVtcHR5ID0gMDsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAg
ICBjYXNlIE5PREVfQVRUUjoKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBzdHJ1Y3Qg
YXR0ciAqYXR0ciA9ICh2b2lkICopY2hpbGQ7Ci0gICAgICAgICAgICAgICAgcHJpbnRmKCIgJXM9
XCIiLCBhdHRyLT5uYW1lKTsKLSAgICAgICAgICAgICAgICBwcmludHRleHQoYXR0ci0+dmFsdWUs
IHN0cmxlbihhdHRyLT52YWx1ZSksIDEpOwotICAgICAgICAgICAgICAgIHByaW50ZigiXCIiKTsK
LSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0gICAgICAgIGNo
aWxkID0gY2hpbGQtPm5leHQ7Ci0gICAgfQotICAgIGlmIChub2RlLT5pZCkgewotICAgICAgICBw
cmludGYoIiBpZD1cIiIpOwotICAgICAgICBvdXRwdXRpZChub2RlKTsKLSAgICAgICAgcHJpbnRm
KCJcIiIpOwotICAgIH0KLSAgICBpZiAoIWVtcHR5IHx8IG5vZGUtPmNvbW1lbnRzIHx8IG5vZGUt
Pndzc3RhcnQpIHsKLSAgICAgICAgcHJpbnRmKCI+XG4iKTsKLSAgICAgICAgaWYgKG5vZGUtPndz
c3RhcnQpIHsKLSAgICAgICAgICAgIHByaW50ZigiJSpzICA8d2ViaWRsPiIsIGluZGVudCwgIiIp
OwotICAgICAgICAgICAgb3V0cHV0d2lkbChub2RlKTsKLSAgICAgICAgICAgIHByaW50ZigiPC93
ZWJpZGw+XG4iKTsKLSAgICAgICAgfQotICAgICAgICBvdXRwdXRkZXNjcmlwdGl2ZShub2RlLCBp
bmRlbnQgKyAyKTsKLSAgICAgICAgY2hpbGQgPSBlbGVtZW50LT5uLmNoaWxkcmVuOwotICAgICAg
ICB3aGlsZSAoY2hpbGQpIHsKLSAgICAgICAgICAgIHN3aXRjaChjaGlsZC0+dHlwZSkgewotICAg
ICAgICAgICAgY2FzZSBOT0RFX0VMRU1FTlQ6Ci0gICAgICAgICAgICAgICAgb3V0cHV0bm9kZShj
aGlsZCwgaW5kZW50ICsgMik7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICB9
Ci0gICAgICAgICAgICBjaGlsZCA9IGNoaWxkLT5uZXh0OwotICAgICAgICB9Ci0gICAgICAgIHBy
aW50ZigiJSpzPC8lcz5cbiIsIGluZGVudCwgIiIsIGVsZW1lbnQtPm5hbWUpOwotICAgIH0gZWxz
ZQotICAgICAgICBwcmludGYoIi8+XG4iKTsKLX0KLQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
d2lkbHByb2Mvc3JjL25vZGUuaCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9zcmMvbm9kZS5oCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyZDZlMzhlNTMyMy4uMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3dpZGxwcm9jL3NyYy9ub2RlLmgKKysrIC9kZXYvbnVsbApAQCAtMSw2NSArMCww
IEBACi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioKLSAqICRJZCQKLSAqIENvcHlyaWdodCAyMDA5IEFwbGl4IENv
cnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICogTGljZW5zZWQgdW5kZXIgdGhlIEFw
YWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7Ci0gKiB5b3UgbWF5IG5v
dCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCi0g
KiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKLSAqICAgICBodHRwOi8v
d3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKLSAqIFVubGVzcyByZXF1aXJlZCBi
eSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKLSAqIGRp
c3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIg
QkFTSVMsCi0gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwg
ZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KLSAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNw
ZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKLSAqIGxpbWl0YXRpb25z
IHVuZGVyIHRoZSBMaWNlbnNlLgotICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwotI2lmbmRlZiBub2RlX2gKLSNk
ZWZpbmUgbm9kZV9oCi0KLS8qIHN0cnVjdCBub2RlIDogYSBub2RlIGluIHRoZSBwYXJzZSB0cmVl
IChleGNsdWRpbmcgY29tbWVudHMpICovCi1lbnVtIHsgTk9ERV9FTEVNRU5ULCBOT0RFX0FUVFIs
IE5PREVfQVRUUkxJU1QgfTsKLXN0cnVjdCBub2RlIHsKLSAgICBpbnQgdHlwZTsKLSAgICBzdHJ1
Y3Qgbm9kZSAqbmV4dDsKLSAgICBzdHJ1Y3Qgbm9kZSAqcGFyZW50OwotICAgIHN0cnVjdCBub2Rl
ICpjaGlsZHJlbjsKLSAgICBzdHJ1Y3QgY29tbWVudCAqY29tbWVudHM7IC8qIGxpc3Qgb2YgY29t
bWVudHMgYXR0YWNoZWQgdG8gdGhpcyBub2RlICovCi0gICAgLyogSWYgd3NzdGFydCBhbmQgZW5k
IGFyZSBzZXQsIHRoZXkgZ2l2ZSB0aGUgbGl0ZXJhbCBXZWIgSURMIHRoYXQgY2FuCi0gICAgICog
YmUgb3V0cHV0IGluIGEgPHdlYmlkbD4gZWxlbWVudC4gKi8KLSAgICBjb25zdCBjaGFyICp3c3N0
YXJ0OwotICAgIC8qIElmIHN0YXJ0IGFuZCBlbmQgYXJlIHNldCwgdGhleSBnaXZlIHRoZSB0ZXh0
IG9mIGEgc2NvcGVkIG5hbWUgdGhhdAotICAgICAqIGNhbiBiZSBlbmNsb3NlZCBpbiBhIDxyZWY+
IHdoZW4gb3V0cHV0dGluZyBhIDx3ZWJpZGw+IGVsZW1lbnQgZm9yCi0gICAgICogYW4gYW5jZXN0
b3IgZWxlbWVudC4gKi8KLSAgICBjb25zdCBjaGFyICpzdGFydDsKLSAgICBjb25zdCBjaGFyICpl
bmQ7Ci0gICAgY29uc3QgY2hhciAqaWQ7Ci19OwotCi1zdHJ1Y3QgZWxlbWVudCB7Ci0gICAgc3Ry
dWN0IG5vZGUgbjsKLSAgICBjb25zdCBjaGFyICpuYW1lOwotfTsKLQotc3RydWN0IGF0dHIgewot
ICAgIHN0cnVjdCBub2RlIG47Ci0gICAgY29uc3QgY2hhciAqbmFtZTsKLSAgICBjb25zdCBjaGFy
ICp2YWx1ZTsKLX07Ci0KLXN0cnVjdCBhdHRybGlzdCB7Ci0gICAgc3RydWN0IG5vZGUgbjsKLX07
Ci0KLXN0cnVjdCBub2RlICpuZXdlbGVtZW50KGNvbnN0IGNoYXIgKm5hbWUpOwotc3RydWN0IG5v
ZGUgKm5ld2F0dHIoY29uc3QgY2hhciAqbmFtZSwgY29uc3QgY2hhciAqdmFsKTsKLXN0cnVjdCBu
b2RlICpuZXdhdHRybGlzdCh2b2lkKTsKLXZvaWQgYWRkbm9kZShzdHJ1Y3Qgbm9kZSAqcGFyZW50
LCBzdHJ1Y3Qgbm9kZSAqY2hpbGQpOwotdm9pZCByZXZlcnNlY2hpbGRyZW4oc3RydWN0IG5vZGUg
Km5vZGUpOwotaW50IG5vZGVpc2VtcHR5KHN0cnVjdCBub2RlICpub2RlKTsKLWNvbnN0IGNoYXIg
KmdldGF0dHIoc3RydWN0IG5vZGUgKm5vZGUsIGNvbnN0IGNoYXIgKm5hbWUpOwotc3RydWN0IG5v
ZGUgKm5vZGV3YWxrKHN0cnVjdCBub2RlICpub2RlKTsKLXN0cnVjdCBub2RlICpmaW5kcmV0dXJu
dHlwZShzdHJ1Y3Qgbm9kZSAqbm9kZSk7Ci1zdHJ1Y3Qgbm9kZSAqZmluZHBhcmFtaWRlbnRpZmll
cihzdHJ1Y3Qgbm9kZSAqbm9kZSwgY29uc3QgY2hhciAqbmFtZSk7Ci1zdHJ1Y3Qgbm9kZSAqZmlu
ZHRocm93aWRlbnRpZmllcihzdHJ1Y3Qgbm9kZSAqbm9kZSwgY29uc3QgY2hhciAqbmFtZSk7Ci12
b2lkIG91dHB1dG5vZGUoc3RydWN0IG5vZGUgKm5vZGUsIHVuc2lnbmVkIGludCBpbmRlbnQpOwot
Ci0jZW5kaWYgLyogbmRlZiBub2RlX2ggKi8KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxw
cm9jL3NyYy9vcy5oIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3NyYy9vcy5oCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCBhYzhmNDE4OWQxOS4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3dpZGxwcm9jL3NyYy9vcy5oCisrKyAvZGV2L251bGwKQEAgLTEsMzEgKzAsMCBAQAotLyoqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqCi0gKiAkSWQkCi0gKiBDb3B5cmlnaHQgMjAwOSBBcGxpeCBDb3Jwb3JhdGlvbi4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5z
ZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOwotICogeW91IG1heSBub3QgdXNlIHRoaXMg
ZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgotICogWW91IG1heSBv
YnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0Ci0gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUu
b3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCi0gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJs
ZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCi0gKiBkaXN0cmlidXRlZCB1
bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAotICog
V0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHBy
ZXNzIG9yIGltcGxpZWQuCi0gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5n
dWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCi0gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUg
TGljZW5zZS4KLSAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKi8KLSNpZm5kZWYgb3NfaAotI2RlZmluZSBvc19oCi0K
LS8qIExpbnV4IGNvbmZpZ3VyYXRpb24gKi8KLSNpZiBkZWZpbmVkKF9fZ251X2xpbnV4X18pCi0K
LQotLyogV2luZG93cyBjb25maWd1cmF0aW9uICovCi0jZWxpZiBkZWZpbmVkKF9NU0NfVkVSKQot
Ci0jZGVmaW5lIGlubGluZSBfX2lubGluZQotI2RlZmluZSBzdHJuY2FzZWNtcCBzdHJuaWNtcAot
I2RlZmluZSBzbnByaW50ZiBfc25wcmludGYKLSNkZWZpbmUgdmFfY29weShhLGIpICgoYSk9KGIp
KQotCi0jZW5kaWYKLQotI2VuZGlmIC8qIG5kZWYgb3NfaCAqLwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3dpZGxwcm9jL3NyYy9wYXJzZS5jIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3NyYy9wYXJzZS5j
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjMGU4NDU0Y2VhYy4uMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3NyYy9wYXJzZS5jCisrKyAvZGV2L251bGwKQEAgLTEs
MTQxNCArMCwwIEBACi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqICRJZCQKLSAqIENvcHlyaWdodCAyMDA5
IEFwbGl4IENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICogTGljZW5zZWQgdW5k
ZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7Ci0gKiB5
b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExp
Y2Vuc2UuCi0gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKLSAqICAg
ICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKLSAqIFVubGVzcyBy
ZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdh
cmUKLSAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFu
ICJBUyBJUyIgQkFTSVMsCi0gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBB
TlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KLSAqIFNlZSB0aGUgTGljZW5zZSBm
b3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKLSAqIGxp
bWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgotICoKLSAqIEhhbmQtY3JhZnRlZCByZWN1cnNp
dmUgZGVzY2VudCBwYXJzZXIgZm9yIFdlYiBJREwgZ3JhbW1hci4KLSAqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8K
LSNpbmNsdWRlIDxhc3NlcnQuaD4KLSNpbmNsdWRlIDxzdGRhcmcuaD4KLSNpbmNsdWRlIDxzdGRp
by5oPgotI2luY2x1ZGUgPHN0cmluZy5oPgotCi0jaW5jbHVkZSAiY29tbWVudC5oIgotI2luY2x1
ZGUgImxleC5oIgotI2luY2x1ZGUgIm1pc2MuaCIKLSNpbmNsdWRlICJub2RlLmgiCi0jaW5jbHVk
ZSAicGFyc2UuaCIKLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiB0b2tlcnJvcmV4aXQgOiBlcnJvciBh
bmQgZXhpdCB3aXRoIGxpbmUgbnVtYmVyIGZyb20gdG9rZW4KLSAqLwotc3RhdGljIHZvaWQKLXRv
a2Vycm9yZXhpdChzdHJ1Y3QgdG9rICp0b2ssIGNvbnN0IGNoYXIgKmZvcm1hdCwgLi4uKQotewot
ICAgIHZhX2xpc3QgYXA7Ci0gICAgY2hhciAqbTsKLSAgICB2YV9zdGFydChhcCwgZm9ybWF0KTsK
LSAgICBtID0gdm1lbXByaW50Zihmb3JtYXQsIGFwKTsKLSAgICBpZiAodG9rLT50eXBlID09IFRP
S19FT0YpCi0gICAgICAgIGxvY2Vycm9yZXhpdCh0b2stPmZpbGVuYW1lLCB0b2stPmxpbmVudW0s
ICJhdCBlbmQgb2YgaW5wdXQ6ICVzIiwgbSk7Ci0gICAgZWxzZQotICAgICAgICBsb2NlcnJvcmV4
aXQodG9rLT5maWxlbmFtZSwgdG9rLT5saW5lbnVtLCAiYXQgJyUuKnMnOiAlcyIsIHRvay0+bGVu
LCB0b2stPnN0YXJ0LCBtKTsKLSAgICB2YV9lbmQoYXApOwotfQotCi0vKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioK
LSAqIGxleG5vY29tbWVudCA6IGxleCBuZXh0IHRva2VuLCBkaXNjYXJkaW5nIG9yIHN0b3Jpbmcg
Y29tbWVudHMKLSAqCi0gKiBBIGJsb2NrIGNvbW1lbnQgc3RhcnRpbmcgd2l0aCB8Kiogb3IgfCoh
IGlzIGEgZG94eWdlbiBjb21tZW50LgotICogSWYgaXQgc3RhcnRzIHdpdGggfCoqPCBvciB8KiE8
IHRoZW4gaXQgcmVmZXJzIHRvIHRoZSBwcmV2aW91cwotICogaWRlbnRpZmllciwgbm90IHRoZSBu
ZXh0IG9uZS4gKEkgYW0gdXNpbmcgfCB0byByZXByZXNlbnQgLyBvdGhlcndpc2UKLSAqIHRoaXMg
Y29tbWVudCB3b3VsZCBiZSBpbGxlZ2FsLikKLSAqCi0gKiBBbiBpbmxpbmUgY29tbWVudCBzdGFy
dGluZyB3aXRoIC8vLyBvciAvLyEgaXMgYSBkb3h5Z2VuIGNvbW1lbnQuCi0gKiBJZiBpdCBzdGFy
dHMgd2l0aCAvLy88IG9yIC8vITwgdGhlbiBpdCByZWZlcnMgdG8gdGhlIHByZXZpb3VzCi0gKiBp
ZGVudGlmaWVyLCBub3QgdGhlIG5leHQgb25lLgotICovCi1zdGF0aWMgc3RydWN0IHRvayAqCi1s
ZXhub2NvbW1lbnQodm9pZCkKLXsKLSAgICBzdHJ1Y3QgdG9rICp0b2s7Ci0gICAgZm9yICg7Oykg
ewotICAgICAgICB0b2sgPSBsZXgoKTsKLSAgICAgICAgaWYgKHRvay0+dHlwZSAhPSBUT0tfQkxP
Q0tDT01NRU5UICYmIHRvay0+dHlwZSAhPSBUT0tfSU5MSU5FQ09NTUVOVCkKLSAgICAgICAgICAg
IGJyZWFrOwotICAgICAgICBhZGRjb21tZW50KHRvayk7Ci0gICAgfQotICAgIHJldHVybiB0b2s7
Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKgotICogZWF0IDogY2hlY2sgdG9rZW4gdGhlbiByZWFkIHRo
ZSBmb2xsb3dpbmcgb25lCi0gKgotICogRW50ZXI6ICAgdG9rIHN0cnVjdAotICogICAgICAgICAg
dHlwZSA9IHR5cGUgb2YgdG9rZW4gZXhwZWN0ZWQsIGVycm9yIGdpdmVuIGlmIG5vIG1hdGNoCi0g
KgotICogT24gcmV0dXJuLCB0b2sgaXMgdXBkYXRlZCB0byB0aGUgZm9sbG93aW5nIHRva2VuLgot
ICovCi1zdGF0aWMgdm9pZAotZWF0KHN0cnVjdCB0b2sgKnRvaywgaW50IHR5cGUpCi17Ci0gICAg
aWYgKHRvay0+dHlwZSAhPSB0eXBlKSB7Ci0gICAgICAgIGNvbnN0IGNoYXIgKnA7Ci0gICAgICAg
IGlmICh0eXBlIDwgVE9LX0RPTVN0cmluZykKLSAgICAgICAgICAgIHRva2Vycm9yZXhpdCh0b2ss
ICJleHBlY3RlZCAnJWMnIiwgdHlwZSk7Ci0gICAgICAgIHAgPSBrZXl3b3JkczsKLSAgICAgICAg
d2hpbGUgKHR5cGUgIT0gVE9LX0RPTVN0cmluZykgewotICAgICAgICAgICAgcCArPSBzdHJsZW4o
cCkgKyAxOwotICAgICAgICAgICAgdHlwZS0tOwotICAgICAgICB9Ci0gICAgICAgIHRva2Vycm9y
ZXhpdCh0b2ssICJleHBlY3RlZCAnJXMnIiwgcCk7Ci0gICAgfQotICAgIGxleG5vY29tbWVudCgp
OwotfQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioKLSAqIHNldGlkIDogZmxhZyB0aGF0IGFuIGlkIGF0dHJp
YnV0ZSBpcyByZXF1aXJlZCBvbiBub2RlCi0gKgotICogRW50ZXI6ICAgbm9kZQotICoKLSAqIG5v
ZGUtPmlkIGlzIHNldCB0byB0aGUgdmFsdWUgb2YgdGhlIG5hbWUgYXR0cmlidXRlLiBUaGlzIG1h
a2VzCi0gKiBvdXRwdXRub2RlIGdpdmUgaXQgYW4gaWQgYXR0cmlidXRlIHdob3NlIHZhbHVlIGlz
IHRoZSBpZCBhdHRyaWJ1dGUKLSAqIG9mIHRoZSBwYXJlbnQgaWYgYW55LCB0aGVuICI6OiIsIHRo
ZW4gbm9kZS0+aWQuCi0gKi8KLXN0YXRpYyB2b2lkCi1zZXRpZChzdHJ1Y3Qgbm9kZSAqbm9kZSkK
LXsKLSAgICBub2RlLT5pZCA9IGdldGF0dHIobm9kZSwgIm5hbWUiKTsKLX0KLQotLyoqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqCi0gKiBzZXRpZGVudGlmaWVyIDogYWxsb2NhdGUgMC10ZXJtaW5hdGVkIHN0cmluZyBm
b3IgaWRlbnRpZmllciB0b2tlbgotICoKLSAqIEVudGVyOiAgIHRvayA9IHRva2VuLCBlcnJvciBn
aXZlbiBpZiBub3QgaWRlbnRpZmllcgotICoKLSAqIFJldHVybjogIGFsbG9jYXRlZCAwLXRlcm1p
bmF0ZWQgc3RyaW5nCi0gKi8KLXN0YXRpYyBjaGFyICoKLXNldGlkZW50aWZpZXIoc3RydWN0IHRv
ayAqdG9rKQotewotICAgIGNoYXIgKnM7Ci0gICAgaWYgKHRvay0+dHlwZSAhPSBUT0tfSURFTlRJ
RklFUikKLSAgICAgICAgdG9rZXJyb3JleGl0KHRvaywgImV4cGVjdGVkIGlkZW50aWZpZXIiKTsK
LSAgICBzID0gbWVtcHJpbnRmKCIlLipzIiwgdG9rLT5sZW4sIHRvay0+c3RhcnQpOwotICAgIHJl
dHVybiBzOwotfQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIHNldGFyZ3VtZW50bmFtZSA6IGFsbG9j
YXRlIDAtdGVybWluYXRlZCBzdHJpbmcgZm9yIGlkZW50aWZpZXIgdG9rZW4KLSAqCi0gKiBFbnRl
cjogICB0b2sgPSB0b2tlbiwgZXJyb3IgZ2l2ZW4gaWYgbm90IGlkZW50aWZpZXIKLSAqCi0gKiBS
ZXR1cm46ICBhbGxvY2F0ZWQgMC10ZXJtaW5hdGVkIHN0cmluZwotICovCi1zdGF0aWMgY2hhciAq
Ci1zZXRhcmd1bWVudG5hbWUoc3RydWN0IHRvayAqdG9rKQotewotICAgIGNoYXIgKnM7Ci0gICAg
aWYgKHRvay0+dHlwZSAhPSBUT0tfSURFTlRJRklFUiAmJiB0b2stPnR5cGUgPCBUT0tfYXR0cmli
dXRlKQotICAgICAgICB0b2tlcnJvcmV4aXQodG9rLCAiZXhwZWN0ZWQgYXJndW1lbnQgbmFtZSIp
OwotICAgIHMgPSBtZW1wcmludGYoIiUuKnMiLCB0b2stPmxlbiwgdG9rLT5zdGFydCk7Ci0gICAg
cmV0dXJuIHM7Ci19Ci0KLQotLyogUHJvdG90eXBlcyBmb3IgZnVuY3MgdGhhdCBoYXZlIGEgZm9y
d2FyZCByZWZlcmVuY2UuICovCi1zdGF0aWMgc3RydWN0IG5vZGUgKnBhcnNldHlwZShzdHJ1Y3Qg
dG9rICp0b2spOwotc3RhdGljIHN0cnVjdCBub2RlICpwYXJzZWRlZmF1bHR2YWx1ZShzdHJ1Y3Qg
dG9rICp0b2ssIHN0cnVjdCBub2RlICpwYXJlbnQpOwotc3RhdGljIHN0cnVjdCBub2RlICpwYXJz
ZXVuaW9udHlwZShzdHJ1Y3QgdG9rICp0b2spOwotc3RhdGljIHN0cnVjdCBub2RlICpwYXJzZWFy
Z3VtZW50bGlzdChzdHJ1Y3QgdG9rICp0b2spOwotc3RhdGljIHZvaWQgcGFyc2VkZWZpbml0aW9u
cyhzdHJ1Y3QgdG9rICp0b2ssIHN0cnVjdCBub2RlICpwYXJlbnQpOwotc3RhdGljIHN0cnVjdCBu
b2RlICpwYXJzZXR5cGVzdWZmaXhzdGFydGluZ3dpdGhhcnJheShzdHJ1Y3QgdG9rICp0b2ssIHN0
cnVjdCBub2RlICpub2RlKTsKLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBwYXJzZXNjb3BlZG5hbWUg
OiBwYXJzZSBbNTNdIFNjb3BlZE5hbWUKLSAqCi0gKiBFbnRlcjogICB0b2sgPSBuZXh0IHRva2Vu
Ci0gKiAgICAgICAgICBuYW1lID0gbmFtZSBvZiBhdHRyaWJ1dGUgdG8gcHV0IHNjb3BlZCBuYW1l
IGluCi0gKiAgICAgICAgICByZWYgPSB3aGV0aGVyIHRvIGVuYWJsZSBlbmNsb3Npbmcgb2YgdGhl
IG5hbWUgaW4gPHJlZj4gaW4KLSAqICAgICAgICAgICAgICAgIG91dHB1dHdpZGwKLSAqCi0gKiBS
ZXR1cm46ICBub2RlIHN0cnVjdCBmb3IgbmV3IGF0dHJpYnV0ZQotICogICAgICAgICAgdG9rIHVw
ZGF0ZWQKLSAqLwotc3RhdGljIHN0cnVjdCBub2RlICoKLXBhcnNlc2NvcGVkbmFtZShzdHJ1Y3Qg
dG9rICp0b2ssIGNvbnN0IGNoYXIgKm5hbWUsIGludCByZWYpCi17Ci0gICAgY29uc3QgY2hhciAq
c3RhcnQgPSB0b2stPnN0YXJ0LCAqZW5kOwotICAgIHN0cnVjdCBub2RlICpub2RlOwotICAgIHVu
c2lnbmVkIGludCBsZW4gPSAwOwotICAgIGNoYXIgKnMgPSBtZW1hbGxvYygzKTsKLSAgICBpZiAo
dG9rLT50eXBlICE9IFRPS19JREVOVElGSUVSKQotICAgICAgICB0b2tlcnJvcmV4aXQodG9rLCAi
ZXhwZWN0ZWQgaWRlbnRpZmllciIpOwotICAgIHMgPSBtZW1yZWFsbG9jKHMsIGxlbiArIHRvay0+
bGVuICsgMSk7Ci0gICAgbWVtY3B5KHMgKyBsZW4sIHRvay0+c3RhcnQsIHRvay0+bGVuKTsKLSAg
ICBsZW4gKz0gdG9rLT5sZW47Ci0gICAgZW5kID0gdG9rLT5zdGFydCArIHRvay0+bGVuOwotICAg
IGxleG5vY29tbWVudCgpOwotICAgIHNbbGVuXSA9IDA7Ci0gICAgbm9kZSA9IG5ld2F0dHIobmFt
ZSwgcyk7Ci0gICAgaWYgKHJlZikgewotICAgICAgICBub2RlLT5zdGFydCA9IHN0YXJ0OwotICAg
ICAgICBub2RlLT5lbmQgPSBlbmQ7Ci0gICAgfQotICAgIHJldHVybiBub2RlOwotfQotCi0vKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioKLSAqIHBhcnNlc2NvcGVkbmFtZWxpc3QgOiBwYXJzZSBbNTFdIFNjb3BlZE5h
bWVMaXN0Ci0gKgotICogRW50ZXI6ICAgdG9rID0gbmV4dCB0b2tlbgotICogICAgICAgICAgbmFt
ZSA9IG5hbWUgb2YgZWxlbWVudCBmb3Igc2NvcGVkIG5hbWUgbGlzdAotICogICAgICAgICAgbmFt
ZTIgPSBuYW1lIG9mIGVsZW1lbnQgZm9yIGVudHJ5IGluIGxpc3QKLSAqICAgICAgICAgIGNvbW1l
bnQgPSB3aGV0aGVyIHRvIGF0dGFjaCBkb2N1bWVudGF0aW9uIHRvIGVhY2ggbmFtZQotICoKLSAq
IFJldHVybjogIG5vZGUgZm9yIGxpc3Qgb2Ygc2NvcGVkIG5hbWVzCi0gKiAgICAgICAgICB0b2sg
dXBkYXRlZAotICovCi1zdGF0aWMgc3RydWN0IG5vZGUgKgotcGFyc2VzY29wZWRuYW1lbGlzdChz
dHJ1Y3QgdG9rICp0b2ssIGNvbnN0IGNoYXIgKm5hbWUsIGNvbnN0IGNoYXIgKm5hbWUyLAotICAg
ICAgICBpbnQgY29tbWVudCkKLXsKLSAgICBzdHJ1Y3Qgbm9kZSAqbm9kZSA9IG5ld2VsZW1lbnQo
bmFtZSk7Ci0gICAgZm9yICg7OykgewotICAgICAgICBzdHJ1Y3Qgbm9kZSAqYXR0ciA9IHBhcnNl
c2NvcGVkbmFtZSh0b2ssICJuYW1lIiwgMSk7Ci0gICAgICAgIHN0cnVjdCBub2RlICpuID0gbmV3
ZWxlbWVudChuYW1lMik7Ci0gICAgICAgIGlmIChjb21tZW50KQotICAgICAgICAgICAgc2V0Y29t
bWVudG5vZGUobik7Ci0gICAgICAgIGFkZG5vZGUobiwgYXR0cik7Ci0gICAgICAgIGFkZG5vZGUo
bm9kZSwgbik7Ci0gICAgICAgIGlmICh0b2stPnR5cGUgIT0gJywnKQotICAgICAgICAgICAgYnJl
YWs7Ci0gICAgICAgIGxleG5vY29tbWVudCgpOwotICAgIH0KLSAgICByZXR1cm4gbm9kZTsKLX0K
LQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqCi0gKiBwYXJzZXJldHVybnR5cGUgOiBwYXJzZSBbNTBdIFJldHVy
blR5cGUKLSAqCi0gKiBFbnRlcjogICB0b2sgPSBuZXh0IHRva2VuCi0gKgotICogUmV0dXJuOiAg
bm9kZSBmb3IgdHlwZQotICogICAgICAgICAgdG9rIHVwZGF0ZWQKLSAqLwotc3RhdGljIHN0cnVj
dCBub2RlICoKLXBhcnNlcmV0dXJudHlwZShzdHJ1Y3QgdG9rICp0b2spCi17Ci0gICAgaWYgKHRv
ay0+dHlwZSA9PSBUT0tfdm9pZCkgewotICAgICAgICBzdHJ1Y3Qgbm9kZSAqbm9kZSA9IG5ld2Vs
ZW1lbnQoIlR5cGUiKTsKLSAgICAgICAgYWRkbm9kZShub2RlLCBuZXdhdHRyKCJ0eXBlIiwgInZv
aWQiKSk7Ci0gICAgICAgIGxleG5vY29tbWVudCgpOwotICAgICAgICByZXR1cm4gbm9kZTsKLSAg
ICB9Ci0gICAgcmV0dXJuIHBhcnNldHlwZSh0b2spOwotfQotCi0vKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAq
IHBhcnNldW5zaWduZWRpbnRlZ2VydHlwZSA6IHBhcnNlIFs0Nl0gVW5zaWduZWRJbnRlZ2VyVHlw
ZQotICoKLSAqIEVudGVyOiAgIHRvayA9IG5leHQgdG9rZW4gKG9uZSBvZiAidW5zaWduZWQiLCAi
c2hvcnQiIG9yICJsb25nIikKLSAqCi0gKiBSZXR1cm46ICAwLXRlcm1pbmF0ZWQgY2Fub25pY2Fs
IHN0cmluZyBmb3IgdGhlIHR5cGUKLSAqICAgICAgICAgIHRvayB1cGRhdGVkIHRvIGp1c3QgcGFz
dCBVbnNpZ25lZEludGVnZXJUeXBlCi0gKi8KLXN0YXRpYyBjb25zdCBjaGFyICoKLXBhcnNldW5z
aWduZWRpbnRlZ2VydHlwZShzdHJ1Y3QgdG9rICp0b2spCi17Ci0gICAgc3RhdGljIGNvbnN0IGNo
YXIgKm5hbWVzW10gPSB7Ci0gICAgICAgICJzaG9ydCIsICJsb25nIiwgImxvbmcgbG9uZyIsIDAs
Ci0gICAgICAgICJ1bnNpZ25lZCBzaG9ydCIsICJ1bnNpZ25lZCBsb25nIiwgInVuc2lnbmVkIGxv
bmcgbG9uZyIgfTsKLSAgICBlbnVtIHsgVFlQRV9TSE9SVCwgVFlQRV9MT05HLCBUWVBFX0xPTkdM
T05HLAotICAgICAgICAgICBUWVBFX1VOU0lHTkVEID0gNCB9OwotICAgIGludCB0eXBlID0gMDsK
LSAgICBpZiAodG9rLT50eXBlID09IFRPS191bnNpZ25lZCkgewotICAgICAgICB0eXBlID0gVFlQ
RV9VTlNJR05FRDsKLSAgICAgICAgbGV4bm9jb21tZW50KCk7Ci0gICAgfQotICAgIGlmICh0b2st
PnR5cGUgPT0gVE9LX3Nob3J0KSB7Ci0gICAgICAgIHR5cGUgfD0gVFlQRV9TSE9SVDsKLSAgICAg
ICAgbGV4bm9jb21tZW50KCk7Ci0gICAgfSBlbHNlIGlmICh0b2stPnR5cGUgIT0gVE9LX2xvbmcp
Ci0gICAgICAgIHRva2Vycm9yZXhpdCh0b2ssICJleHBlY3RlZCAnc2hvcnQnIG9yICdsb25nJyBh
ZnRlciAndW5zaWduZWQnIik7Ci0gICAgZWxzZSB7Ci0gICAgICAgIHR5cGUgfD0gVFlQRV9MT05H
OwotICAgICAgICBsZXhub2NvbW1lbnQoKTsKLSAgICAgICAgaWYgKHRvay0+dHlwZSA9PSBUT0tf
bG9uZykgewotICAgICAgICAgICAgdHlwZSArPSBUWVBFX0xPTkdMT05HIC0gVFlQRV9MT05HOwot
ICAgICAgICAgICAgbGV4bm9jb21tZW50KCk7Ci0gICAgICAgIH0KLSAgICB9Ci0gICAgcmV0dXJu
IG5hbWVzW3R5cGVdOwotfQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBwYXJzZXR5cGVzdWZmaXggOiBw
YXJzZSBbNDRdIFR5cGVTdWZmaXgKLSAqCi0gKiBFbnRlcjogICB0b2sgPSBuZXh0IHRva2VuCi0g
KgotICogUmV0dXJuOiAgbm9kZSBmb3IgdHlwZQotICogICAgICAgICAgdG9rIHVwZGF0ZWQKLSAq
Lwotc3RhdGljIHN0cnVjdCBub2RlICoKLXBhcnNldHlwZXN1ZmZpeChzdHJ1Y3QgdG9rICp0b2ss
IHN0cnVjdCBub2RlICpub2RlKQotewotICAgIGlmICh0b2stPnR5cGUgPT0gVE9LX0RPVUJMRUJS
QUNLRVQpIHsKLSAgICAgICAgc3RydWN0IG5vZGUgKnR5cGVub2RlID0gbm9kZTsKLQlub2RlID0g
bmV3ZWxlbWVudCgiVHlwZSIpOwotICAgICAgICBhZGRub2RlKG5vZGUsIG5ld2F0dHIoInR5cGUi
LCAiYXJyYXkiKSk7Ci0gICAgICAgIGFkZG5vZGUobm9kZSwgdHlwZW5vZGUpOwotICAgICAgICBs
ZXhub2NvbW1lbnQoKTsKLQlub2RlID0gcGFyc2V0eXBlc3VmZml4KHRvaywgbm9kZSk7Ci0gICAg
fSBlbHNlIGlmICh0b2stPnR5cGUgPT0gJz8nKSB7Ci0gICAgICAgIGFkZG5vZGUobm9kZSwgbmV3
YXR0cigibnVsbGFibGUiLCAibnVsbGFibGUiKSk7Ci0gICAgICAgIGxleG5vY29tbWVudCgpOwot
CW5vZGUgPSBwYXJzZXR5cGVzdWZmaXhzdGFydGluZ3dpdGhhcnJheSh0b2ssIG5vZGUpOwotICAg
IH0KLSAgICByZXR1cm4gbm9kZTsKLX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBwYXJzZXR5cGVz
dWZmaXhzdGFydGluZ3dpdGhhcnJheSA6IHBhcnNlIFs0NF0gVHlwZVN1ZmZpeFN0YXJ0aW5nV2l0
aEFycmF5Ci0gKgotICogRW50ZXI6ICAgdG9rID0gbmV4dCB0b2tlbgotICoKLSAqIFJldHVybjog
IG5vZGUgZm9yIHR5cGUKLSAqICAgICAgICAgIHRvayB1cGRhdGVkCi0gKi8KLXN0YXRpYyBzdHJ1
Y3Qgbm9kZSAqCi1wYXJzZXR5cGVzdWZmaXhzdGFydGluZ3dpdGhhcnJheShzdHJ1Y3QgdG9rICp0
b2ssICBzdHJ1Y3Qgbm9kZSAqbm9kZSkKLXsKLSAgICBpZiAodG9rLT50eXBlID09IFRPS19ET1VC
TEVCUkFDS0VUKSB7Ci0gICAgICAgIHN0cnVjdCBub2RlICp0eXBlbm9kZSA9IG5vZGU7Ci0Jbm9k
ZSA9IG5ld2VsZW1lbnQoIlR5cGUiKTsKLSAgICAgICAgYWRkbm9kZShub2RlLCBuZXdhdHRyKCJ0
eXBlIiwgImFycmF5IikpOwotICAgICAgICBhZGRub2RlKG5vZGUsIHR5cGVub2RlKTsKLSAgICAg
ICAgbGV4bm9jb21tZW50KCk7Ci0Jbm9kZSA9IHBhcnNldHlwZXN1ZmZpeCh0b2ssIG5vZGUpOwot
ICAgIH0KLSAgICByZXR1cm4gbm9kZTsKLX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBwYXJzZXBy
aW1pdGl2ZW9yc3RyaW5ndHlwZSA6IHBhcnNlIFs0NV0gUHJpbWl0aXZlT3JTdHJpbmcKLSAqCi0g
KiBFbnRlcjogICB0b2sgPSBuZXh0IHRva2VuCi0gKgotICogUmV0dXJuOiAgbm9kZSBmb3IgdHlw
ZQotICogICAgICAgICAgdG9rIHVwZGF0ZWQKLSAqLwotc3RhdGljIHN0cnVjdCBub2RlICoKLXBh
cnNlcHJpbWl0aXZlb3JzdHJpbmd0eXBlKHN0cnVjdCB0b2sgKnRvaykKLXsKLSAgc3RydWN0IG5v
ZGUgKm5vZGU7Ci0gICAgc3dpdGNoICh0b2stPnR5cGUpIHsKLSAgICBjYXNlIFRPS191bnNpZ25l
ZDoKLSAgICBjYXNlIFRPS19zaG9ydDoKLSAgICBjYXNlIFRPS19sb25nOgotICAgICAgICBub2Rl
ID0gbmV3ZWxlbWVudCgiVHlwZSIpOwotICAgICAgICBhZGRub2RlKG5vZGUsIG5ld2F0dHIoInR5
cGUiLCBwYXJzZXVuc2lnbmVkaW50ZWdlcnR5cGUodG9rKSkpOwotICAgICAgICBicmVhazsKLSAg
ICBkZWZhdWx0OgotICAgICAgICBub2RlID0gbmV3ZWxlbWVudCgiVHlwZSIpOwotICAgICAgICBz
d2l0Y2ggKHRvay0+dHlwZSkgewotICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgdG9rZXJy
b3JleGl0KHRvaywgImV4cGVjdGVkIHR5cGUiKTsKLSAgICAgICAgICAgIGJyZWFrOwotCWNhc2Ug
VE9LX3VucmVzdHJpY3RlZDoKLQkgIGxleG5vY29tbWVudCgpOwotCSAgaWYgKHRvay0+dHlwZSA9
PSBUT0tfZmxvYXQpIHsKLSAgICAgICAgICAgIGFkZG5vZGUobm9kZSwgbmV3YXR0cigidHlwZSIs
ICJ1bnJlc3RyaWN0ZWQgZmxvYXQiKSk7Ci0JICB9IGVsc2UgaWYgKHRvay0+dHlwZSA9PSBUT0tf
ZG91YmxlKSB7Ci0gICAgICAgICAgICBhZGRub2RlKG5vZGUsIG5ld2F0dHIoInR5cGUiLCAidW5y
ZXN0cmljdGVkIGRvdWJsZSIpKTsKLQkgIH0gZWxzZSB7Ci0gICAgICAgICAgICB0b2tlcnJvcmV4
aXQodG9rLCAiZXhwZWN0ZWQgZmxvYXQgb3IgZG91YmxlIGFmdGVyIHVucmVzdHJpY3RlZCIpOwot
CSAgfQotCSAgYnJlYWs7Ci0gICAgICAgIGNhc2UgVE9LX2Jvb2xlYW46Ci0gICAgICAgICAgICBh
ZGRub2RlKG5vZGUsIG5ld2F0dHIoInR5cGUiLCAiYm9vbGVhbiIpKTsKLSAgICAgICAgICAgIGJy
ZWFrOwotICAgICAgICBjYXNlIFRPS19ieXRlOgotICAgICAgICAgICAgYWRkbm9kZShub2RlLCBu
ZXdhdHRyKCJ0eXBlIiwgImJ5dGUiKSk7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2Fz
ZSBUT0tfb2N0ZXQ6Ci0gICAgICAgICAgICBhZGRub2RlKG5vZGUsIG5ld2F0dHIoInR5cGUiLCAi
b2N0ZXQiKSk7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSBUT0tfZmxvYXQ6Ci0g
ICAgICAgICAgICBhZGRub2RlKG5vZGUsIG5ld2F0dHIoInR5cGUiLCAiZmxvYXQiKSk7Ci0gICAg
ICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSBUT0tfZG91YmxlOgotICAgICAgICAgICAgYWRk
bm9kZShub2RlLCBuZXdhdHRyKCJ0eXBlIiwgImRvdWJsZSIpKTsKLSAgICAgICAgICAgIGJyZWFr
OwotICAgICAgICBjYXNlIFRPS19ET01TdHJpbmc6Ci0gICAgICAgICAgICBhZGRub2RlKG5vZGUs
IG5ld2F0dHIoInR5cGUiLCAiRE9NU3RyaW5nIikpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAg
ICAgIGNhc2UgVE9LX0J5dGVTdHJpbmc6Ci0gICAgICAgICAgICBhZGRub2RlKG5vZGUsIG5ld2F0
dHIoInR5cGUiLCAiQnl0ZVN0cmluZyIpKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBj
YXNlIFRPS19EYXRlOgotICAgICAgICAgICAgYWRkbm9kZShub2RlLCBuZXdhdHRyKCJ0eXBlIiwg
IkRhdGUiKSk7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSBUT0tfUmVnRXhwOgot
ICAgICAgICAgICAgYWRkbm9kZShub2RlLCBuZXdhdHRyKCJ0eXBlIiwgIlJlZ0V4cCIpKTsKLSAg
ICAgICAgICAgIGJyZWFrOwotCi0gICAgICAgIH0KLSAgICAgICAgbGV4bm9jb21tZW50KCk7Ci0g
ICAgfQotICAgIHJldHVybiBub2RlOwotfQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIHBhcnNlbm9u
YW55dHlwZSA6IHBhcnNlIE5vbkFueVR5cGUKLSAqCi0gKiBFbnRlcjogICB0b2sgPSBuZXh0IHRv
a2VuCi0gKgotICogUmV0dXJuOiAgbm9kZSBmb3IgdHlwZQotICogICAgICAgICAgdG9rIHVwZGF0
ZWQKLSAqLwotc3RhdGljIHN0cnVjdCBub2RlICoKLXBhcnNlbm9uYW55dHlwZShzdHJ1Y3QgdG9r
ICp0b2spCi17Ci0gICAgc3RydWN0IG5vZGUgKm5vZGU7Ci0gICAgc3dpdGNoICh0b2stPnR5cGUp
IHsKLSAgICBjYXNlIFRPS19JREVOVElGSUVSOgotICAgICAgICBub2RlID0gbmV3ZWxlbWVudCgi
VHlwZSIpOwotICAgICAgICBhZGRub2RlKG5vZGUsIHBhcnNlc2NvcGVkbmFtZSh0b2ssICJuYW1l
IiwgMSkpOwotCW5vZGUgPSBwYXJzZXR5cGVzdWZmaXgodG9rLCBub2RlKTsKLSAgICAgICAgYnJl
YWs7Ci0gICAgY2FzZSBUT0tfc2VxdWVuY2U6Ci0gICAgICAgIG5vZGUgPSBuZXdlbGVtZW50KCJU
eXBlIik7Ci0gICAgICAgIGFkZG5vZGUobm9kZSwgbmV3YXR0cigidHlwZSIsICJzZXF1ZW5jZSIp
KTsKLSAgICAgICAgbGV4bm9jb21tZW50KCk7Ci0gICAgICAgIGVhdCh0b2ssICc8Jyk7Ci0gICAg
ICAgIGFkZG5vZGUobm9kZSwgcGFyc2V0eXBlKHRvaykpOwotICAgICAgICBlYXQodG9rLCAnPicp
OwotCWlmICh0b2stPnR5cGUgPT0gJz8nKSB7Ci0JICBhZGRub2RlKG5vZGUsIG5ld2F0dHIoIm51
bGxhYmxlIiwgIm51bGxhYmxlIikpOwotCSAgbGV4bm9jb21tZW50KCk7Ci0JfQotICAgICAgICBi
cmVhazsKLSAgICBjYXNlIFRPS19vYmplY3Q6Ci0gICAgICAgIG5vZGUgPSBuZXdlbGVtZW50KCJU
eXBlIik7Ci0gICAgICAgIGFkZG5vZGUobm9kZSwgbmV3YXR0cigidHlwZSIsICJvYmplY3QiKSk7
Ci0gICAgICAgIGxleG5vY29tbWVudCgpOwotCW5vZGUgPSBwYXJzZXR5cGVzdWZmaXgodG9rLCBu
b2RlKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgZGVmYXVsdDoKLSAgICAgICAgbm9kZSA9IHBhcnNl
cHJpbWl0aXZlb3JzdHJpbmd0eXBlKHRvayk7Ci0gICAgICAgIG5vZGUgPSBwYXJzZXR5cGVzdWZm
aXgodG9rLCBub2RlKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgfSAgICAgICAKLSAgICByZXR1cm4g
bm9kZTsKLX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBwYXJzZXVuaW9ubWVtYmVydHlwZTogcGFy
c2UgVW5pb25NZW1iZXJUeXBlCi0gKgotICogRW50ZXI6ICAgdG9rID0gbmV4dCB0b2tlbgotICoK
LSAqIFJldHVybjogIG5vZGUgZm9yIHR5cGUKLSAqICAgICAgICAgIHRvayB1cGRhdGVkCi0gKi8K
LXN0YXRpYyBzdHJ1Y3Qgbm9kZSAqCi1wYXJzZXVuaW9ubWVtYmVydHlwZShzdHJ1Y3QgdG9rICp0
b2spCi17Ci0gIHN0cnVjdCBub2RlICpub2RlOwotICBpZiAodG9rLT50eXBlID09IFRPS19hbnkp
IHsKLSAgICBzdHJ1Y3Qgbm9kZSAqdHlwZW5vZGUgPSBuZXdlbGVtZW50KCJUeXBlIik7Ci0gICAg
YWRkbm9kZSh0eXBlbm9kZSwgbmV3YXR0cigidHlwZSIsICJhbnkiKSk7Ci0gICAgbGV4bm9jb21t
ZW50KCk7Ci0gICAgZWF0KHRvaywgVE9LX0RPVUJMRUJSQUNLRVQpOwotICAgIG5vZGUgPSBuZXdl
bGVtZW50KCJUeXBlIik7Ci0gICAgYWRkbm9kZShub2RlLCBuZXdhdHRyKCJ0eXBlIiwgImFycmF5
IikpOwotICAgIGFkZG5vZGUobm9kZSwgdHlwZW5vZGUpOwotICAgIGxleG5vY29tbWVudCgpOwot
ICAgIG5vZGUgPSBwYXJzZXR5cGVzdWZmaXgodG9rLCBub2RlKTsKLSAgfSBlbHNlIGlmICh0b2st
PnR5cGUgPT0gJygnKSB7IAotICAgIG5vZGUgPSBwYXJzZXVuaW9udHlwZSh0b2spOwotICB9IGVs
c2UgewotICAgIG5vZGUgPSBwYXJzZW5vbmFueXR5cGUodG9rKTsKLSAgfQotICByZXR1cm4gbm9k
ZTsKLX0KLQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIHBhcnNldW5pb250eXBlIDogcGFyc2UgVW5p
b25UeXBlCi0gKgotICogRW50ZXI6ICAgdG9rID0gbmV4dCB0b2tlbgotICoKLSAqIFJldHVybjog
IG5vZGUgZm9yIHR5cGUKLSAqICAgICAgICAgIHRvayB1cGRhdGVkCi0gKi8KLXN0YXRpYyBzdHJ1
Y3Qgbm9kZSAqCi1wYXJzZXVuaW9udHlwZShzdHJ1Y3QgdG9rICp0b2spCi17Ci0gIHN0cnVjdCBu
b2RlICpub2RlOwotICBlYXQodG9rLCAnKCcpOwotICBub2RlID0gbmV3ZWxlbWVudCgiVHlwZSIp
OwotICBhZGRub2RlKG5vZGUsIG5ld2F0dHIoInR5cGUiLCAidW5pb24iKSk7Ci0gIGlmICh0b2st
PnR5cGUgIT0gJyknKSB7Ci0gICAgZm9yICg7OykgewotICAgICAgYWRkbm9kZShub2RlLCBwYXJz
ZXVuaW9ubWVtYmVydHlwZSh0b2spKTsKLSAgICAgIGlmICh0b2stPnR5cGUgIT0gVE9LX29yKQot
CWJyZWFrOwotICAgICAgbGV4bm9jb21tZW50KCk7Ci0gICAgfQotICB9Ci0gIGVhdCh0b2ssICcp
Jyk7Ci0gIG5vZGUgPSBwYXJzZXR5cGVzdWZmaXgodG9rLCBub2RlKTsgICAgICAKLSAgcmV0dXJu
IG5vZGU7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogcGFyc2V0eXBlIDogcGFyc2UgWzQ0XSBU
eXBlCi0gKgotICogRW50ZXI6ICAgdG9rID0gbmV4dCB0b2tlbgotICoKLSAqIFJldHVybjogIG5v
ZGUgZm9yIHR5cGUKLSAqICAgICAgICAgIHRvayB1cGRhdGVkCi0gKi8KLXN0YXRpYyBzdHJ1Y3Qg
bm9kZSAqCi1wYXJzZXR5cGUoc3RydWN0IHRvayAqdG9rKQotewotICAgIHN0cnVjdCBub2RlICpu
b2RlOwotICAgIGlmICh0b2stPnR5cGUgPT0gJygnKSB7Ci0gICAgICBub2RlID0gcGFyc2V1bmlv
bnR5cGUodG9rKTsKLSAgICB9IGVsc2UgaWYgKHRvay0+dHlwZSA9PSBUT0tfYW55KSB7Ci0gICAg
ICBub2RlID0gbmV3ZWxlbWVudCgiVHlwZSIpOwotICAgICAgYWRkbm9kZShub2RlLCBuZXdhdHRy
KCJ0eXBlIiwgImFueSIpKTsKLSAgICAgIGxleG5vY29tbWVudCgpOwotICAgICAgbm9kZSA9IHBh
cnNldHlwZXN1ZmZpeHN0YXJ0aW5nd2l0aGFycmF5KHRvaywgbm9kZSk7Ci0gICAgfSBlbHNlIHsK
LSAgICAgIG5vZGUgPSBwYXJzZW5vbmFueXR5cGUodG9rKTsJCi0gICAgfQotICAgIHJldHVybiBu
b2RlOwotfQotCi0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogcGFyc2VleHRlbmRlZGF0dHJpYnV0ZSA6
IHBhcnNlIFszOV0gRXh0ZW5kZWRBdHRyaWJ1dGUKLSAqCi0gKiBFbnRlcjogICB0b2sgPSBuZXh0
IHRva2VuCi0gKgotICogUmV0dXJuOiAgbm9kZSBmb3IgZXh0ZW5kZWQgYXR0cmlidXRlCi0gKgot
ICogVGhpcyBwYXJzZXMgdGhlIHZhcmlvdXMgZm9ybXMgb2YgZXh0ZW5kZWQgYXR0cmlidXRlLCBh
cyBpbgotICogcnVsZXMgWzU3XSBbNThdIFs1OV0gWzYwXSBbNjFdLgotICoKLSAqIFRoaXMgZG9l
cyBub3Qgc3BvdCB0aGUgZXJyb3IgdGhhdCB5b3UgY2Fubm90IGhhdmUgYSBTY29wZWROYW1lCi0g
KiBhbmQgYW4gQXJndW1lbnRMaXN0LgotICovCi1zdGF0aWMgc3RydWN0IG5vZGUgKgotcGFyc2Vl
eHRlbmRlZGF0dHJpYnV0ZShzdHJ1Y3QgdG9rICp0b2spCi17Ci0JY29uc3QgY2hhciAqc3RhcnQg
OwotICAgIHN0cnVjdCBub2RlICpub2RlID0gbmV3ZWxlbWVudCgiRXh0ZW5kZWRBdHRyaWJ1dGUi
KTsKLSAgICBjaGFyICphdHRybmFtZSA9IHNldGlkZW50aWZpZXIodG9rKTsKLSAgICBhZGRub2Rl
KG5vZGUsIG5ld2F0dHIoIm5hbWUiLCBhdHRybmFtZSkpOwotICAgIHN0YXJ0ID0gdG9rLT5wcmVz
dGFydDsKLSAgICBub2RlLT53c3N0YXJ0ID0gc3RhcnQ7Ci0gICAgbm9kZS0+ZW5kID0gdG9rLT5z
dGFydCArIHRvay0+bGVuOwotICAgIGlmKCFzdHJjbXAoYXR0cm5hbWUsICJDb25zdHJ1Y3RvciIp
IHx8ICFzdHJjbXAoYXR0cm5hbWUsICJOYW1lZENvbnN0cnVjdG9yIikpIHsKLQkgICAgc2V0Y29t
bWVudG5vZGUobm9kZSk7Ci0JfQotICAgIGxleG5vY29tbWVudCgpOwotICAgIGlmICh0b2stPnR5
cGUgPT0gJz0nKSB7Ci0gICAgICAgIGxleG5vY29tbWVudCgpOwotICAgICAgICBhZGRub2RlKG5v
ZGUsIHBhcnNlc2NvcGVkbmFtZSh0b2ssICJ2YWx1ZSIsIDApKTsKLSAgICB9Ci0gICAgaWYgKHRv
ay0+dHlwZSA9PSAnKCcpIHsKLSAgICAgICAgbGV4bm9jb21tZW50KCk7Ci0gICAgICAgIGFkZG5v
ZGUobm9kZSwgcGFyc2Vhcmd1bWVudGxpc3QodG9rKSk7Ci0JICAgIG5vZGUtPmVuZCA9IHRvay0+
c3RhcnQgKyB0b2stPmxlbjsKLSAgICAgICAgZWF0KHRvaywgJyknKTsKLSAgICB9Ci0gICAgcmV0
dXJuIG5vZGU7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogcGFyc2VleHRlbmRlZGF0dHJpYnV0
ZWxpc3QgOiBwYXJzZSBbMzddIEV4dGVuZGVkQXR0cmlidXRlTGlzdAotICoKLSAqIEVudGVyOiAg
IHRvayA9IG5leHQgdG9rZW4KLSAqCi0gKiBSZXR1cm46ICAwIGVsc2Ugbm9kZSBmb3IgZXh0ZW5k
ZWQgYXR0cmlidXRlIGxpc3QKLSAqICAgICAgICAgIHRvayB1cGRhdGVkIGlmIGFueXRoaW5nIHBh
cnNlZAotICovCi1zdGF0aWMgc3RydWN0IG5vZGUgKgotcGFyc2VleHRlbmRlZGF0dHJpYnV0ZWxp
c3Qoc3RydWN0IHRvayAqdG9rKQotewotICAgIHN0cnVjdCBub2RlICpub2RlOwotICAgIGlmICh0
b2stPnR5cGUgIT0gJ1snKQotICAgICAgICByZXR1cm4gMDsKLSAgICBub2RlID0gbmV3ZWxlbWVu
dCgiRXh0ZW5kZWRBdHRyaWJ1dGVMaXN0Iik7Ci0gICAgZm9yICg7OykgewotICAgICAgICBsZXhu
b2NvbW1lbnQoKTsKLSAgICAgICAgYWRkbm9kZShub2RlLCBwYXJzZWV4dGVuZGVkYXR0cmlidXRl
KHRvaykpOwotICAgICAgICBpZiAodG9rLT50eXBlICE9ICcsJykKLSAgICAgICAgICAgIGJyZWFr
OwotICAgIH0KLSAgICBpZiAodG9rLT50eXBlICE9ICddJykKLSAgICAgICAgdG9rZXJyb3JleGl0
KHRvaywgImV4cGVjdGVkICcsJyBvciAnXSciKTsKLSAgICBsZXhub2NvbW1lbnQoKTsKLSAgICBy
ZXR1cm4gbm9kZTsKLX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBwYXJzZWV4Y2VwdGlvbmZpZWxk
IDogcGFyc2UgWzM2XSBFeGNlcHRpb25GaWVsZAotICoKLSAqIEVudGVyOiAgIHRvayA9IG5leHQg
dG9rZW4KLSAqICAgICAgICAgIGVhbCA9IDAgZWxzZSBleHRlbmRlZCBhdHRyaWJ1dGUgbGlzdCBu
b2RlCi0gKgotICogUmV0dXJuOiAgbmV3IG5vZGUgZm9yIHRoZSBleGNlcHRpb25maWVsZAotICog
ICAgICAgICAgdG9rIHVwZGF0ZWQKLSAqLwotc3RhdGljIHN0cnVjdCBub2RlICoKLXBhcnNlZXhj
ZXB0aW9uZmllbGQoc3RydWN0IHRvayAqdG9rLCBzdHJ1Y3Qgbm9kZSAqZWFsKQotewotICAgIHN0
cnVjdCBub2RlICpub2RlID0gbmV3ZWxlbWVudCgiRXhjZXB0aW9uRmllbGQiKTsKLSAgICBpZiAo
ZWFsKSBhZGRub2RlKG5vZGUsIGVhbCk7Ci0gICAgc2V0Y29tbWVudG5vZGUobm9kZSk7Ci0gICAg
YWRkbm9kZShub2RlLCBwYXJzZXR5cGUodG9rKSk7Ci0gICAgYWRkbm9kZShub2RlLCBuZXdhdHRy
KCJuYW1lIiwgc2V0aWRlbnRpZmllcih0b2spKSk7Ci0gICAgdG9rID0gbGV4bm9jb21tZW50KCk7
Ci0gICAgcmV0dXJuIG5vZGU7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogcGFyc2Vhcmd1bWVu
dCA6IHBhcnNlIFszMV0gQXJndW1lbnQKLSAqCi0gKiBFbnRlcjogICB0b2sgPSBuZXh0IHRva2Vu
Ci0gKgotICogUmV0dXJuOiAgbmV3IG5vZGUKLSAqCi0gKiB0b2sgdXBkYXRlZCBvbiByZXR1cm4K
LSAqLwotc3RhdGljIHN0cnVjdCBub2RlICoKLXBhcnNlYXJndW1lbnQoc3RydWN0IHRvayAqdG9r
KQotewotICAgIHN0cnVjdCBub2RlICpub2RlID0gbmV3ZWxlbWVudCgiQXJndW1lbnQiKTsKLSAg
ICBzdHJ1Y3Qgbm9kZSAqZWFsID0gcGFyc2VleHRlbmRlZGF0dHJpYnV0ZWxpc3QodG9rKTsKLSAg
ICBzZXRjb21tZW50bm9kZShub2RlKTsKLSAgICBpZiAoZWFsKSBhZGRub2RlKG5vZGUsIGVhbCk7
Ci0gICAgaWYgKHRvay0+dHlwZSA9PSBUT0tfb3B0aW9uYWwpIHsKLSAgICAgICAgYWRkbm9kZShu
b2RlLCBuZXdhdHRyKCJvcHRpb25hbCIsICJvcHRpb25hbCIpKTsKLSAgICAgICAgbGV4bm9jb21t
ZW50KCk7Ci0gICAgfQotICAgIGFkZG5vZGUobm9kZSwgcGFyc2V0eXBlKHRvaykpOwotICAgIGlm
ICh0b2stPnR5cGUgPT0gVE9LX0VMTElQU0lTKSB7Ci0gICAgICAgIGFkZG5vZGUobm9kZSwgbmV3
YXR0cigiZWxsaXBzaXMiLCAiZWxsaXBzaXMiKSk7Ci0gICAgICAgIGxleG5vY29tbWVudCgpOwot
ICAgIH0KLSAgICBhZGRub2RlKG5vZGUsIG5ld2F0dHIoIm5hbWUiLCBzZXRhcmd1bWVudG5hbWUo
dG9rKSkpOwotICAgIGxleG5vY29tbWVudCgpOwotICAgIC8vIE9wdGlvbmFsIGRlZmF1bHQgdmFs
dWUKLSAgICBpZiAodG9rLT50eXBlID09ICc9JykgewotICAgICAgdG9rID0gbGV4bm9jb21tZW50
KCk7Ci0gICAgICBub2RlID0gcGFyc2VkZWZhdWx0dmFsdWUodG9rLCBub2RlKTsKLSAgICB9Ci0g
ICAgcmV0dXJuIG5vZGU7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogcGFyc2Vhcmd1bWVudGxp
c3QgOiBwYXJzZSBbMjldIEFyZ3VtZW50TGlzdAotICoKLSAqIEVudGVyOiAgIHRvayA9IG5leHQg
dG9rZW4KLSAqCi0gKiBSZXR1cm46ICBuZXcgbm9kZSBmb3IgdGhlIGFyZ2xpc3QKLSAqICAgICAg
ICAgIHRvayB1cGRhdGVkCi0gKi8KLXN0YXRpYyBzdHJ1Y3Qgbm9kZSAqCi1wYXJzZWFyZ3VtZW50
bGlzdChzdHJ1Y3QgdG9rICp0b2spCi17Ci0gICAgc3RydWN0IG5vZGUgKm5vZGUgPSBuZXdlbGVt
ZW50KCJBcmd1bWVudExpc3QiKTsKLSAgICAvKiBXZSByZWx5IG9uIHRoZSBmYWN0IHRoYXQgQXJn
dW1lbnRMaXN0IGlzIGFsd2F5cyBmb2xsb3dlZCBieSAnKScuICovCi0gICAgaWYgKHRvay0+dHlw
ZSAhPSAnKScpIHsKLSAgICAgICAgZm9yICg7OykgewotICAgICAgICAgICAgYWRkbm9kZShub2Rl
LCBwYXJzZWFyZ3VtZW50KHRvaykpOwotICAgICAgICAgICAgaWYgKHRvay0+dHlwZSAhPSAnLCcp
Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBsZXhub2NvbW1lbnQoKTsKLSAg
ICAgICAgfQotICAgIH0KLSAgICByZXR1cm4gbm9kZTsKLX0KLQotCi0vKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioK
LSAqIHBhcnNlb3BlcmF0aW9ucmVzdCA6IHBhcnNlIFsyNV0gT3BlcmF0aW9uUmVzdAotICoKLSAq
IEVudGVyOiAgIHRvayA9IG5leHQgdG9rZW4KLSAqICAgICAgICAgIG5vZGUKLSAqCi0gKiBSZXR1
cm46ICBub2RlCi0gKiAgICAgICAgICB0b2sgb24gdGVybWluYXRpbmcgJzsnCi0gKi8KLXN0YXRp
YyBzdHJ1Y3Qgbm9kZSAqCi1wYXJzZW9wZXJhdGlvbnJlc3Qoc3RydWN0IHRvayAqdG9rLCBzdHJ1
Y3Qgbm9kZSAqbm9kZSkKLXsKLSAgICBpZiAodG9rLT50eXBlID09IFRPS19JREVOVElGSUVSKSB7
Ci0gICAgICAgIGFkZG5vZGUobm9kZSwgbmV3YXR0cigibmFtZSIsIHNldGlkZW50aWZpZXIodG9r
KSkpOwotICAgICAgICBsZXhub2NvbW1lbnQoKTsKLSAgICB9Ci0gICAgZWF0KHRvaywgJygnKTsK
LSAgICBhZGRub2RlKG5vZGUsIHBhcnNlYXJndW1lbnRsaXN0KHRvaykpOwotICAgIGVhdCh0b2ss
ICcpJyk7Ci0gICAgcmV0dXJuIG5vZGU7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogcGFyc2Vy
ZXR1cm50eXBlYW5kb3BlcmF0aW9ucmVzdDogcGFyc2UgUmV0dXJuVHlwZSBPcGVyYXRpb25SZXN0
Ci0gKiBFbnRlcjogICB0b2sgPSBuZXh0IHRva2VuCi0gKiAgICAgICAgICBlYWwKLSAqICAgICAg
ICAgIGF0dHJzIGxpc3Qgb2YgYXR0cmlidXRlcwotICogUmV0dXJuOiAgbm9kZQotICogICAgICAg
ICAgdG9rIG9uIHRlcm1pbmF0aW5nICc7JwotICovCi1zdGF0aWMgc3RydWN0IG5vZGUgKgotcGFy
c2VyZXR1cm50eXBlYW5kb3BlcmF0aW9ucmVzdChzdHJ1Y3QgdG9rICp0b2ssIHN0cnVjdCBub2Rl
ICplYWwsIHN0cnVjdCBub2RlICphdHRycykgCi17Ci0gIHN0cnVjdCBub2RlICpub2RlID0gIG5l
d2VsZW1lbnQoIk9wZXJhdGlvbiIpOwotICBzdHJ1Y3Qgbm9kZSAqbm9kZVR5cGUgPSBwYXJzZXJl
dHVybnR5cGUodG9rKTsKLSAgaWYgKGVhbCkgYWRkbm9kZShub2RlLCBlYWwpOwotICBzZXRjb21t
ZW50bm9kZShub2RlKTsKLSAgYWRkbm9kZShub2RlLCBhdHRycyk7Ci0gIGFkZG5vZGUobm9kZSwg
bm9kZVR5cGUpOwotICByZXR1cm4gcGFyc2VvcGVyYXRpb25yZXN0KHRvaywgbm9kZSk7Ci19Ci0K
LS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKgotICogcGFyc2VpdGVyYXRvcnJlc3QgOiBwYXJzZSBPcHRpb25hbEl0
ZXJhdG9ySW50ZXJmYWNlCi0gKgotICogRW50ZXI6ICAgdG9rID0gbmV4dCB0b2tlbgotICogICAg
ICAgICAgbm9kZQotICoKLSAqIFJldHVybjogIG5vZGUKLSAqICAgICAgICAgIHRvayBvbiB0ZXJt
aW5hdGluZyAnOycKLSAqLwotc3RhdGljIHN0cnVjdCBub2RlICoKLXBhcnNlb3B0aW9uYWxpdGVy
YXRvcmludGVyZmFjZShzdHJ1Y3QgdG9rICp0b2ssIHN0cnVjdCBub2RlICpub2RlKQotewotICBp
ZiAodG9rLT50eXBlID09ICc9JykgewotICAgIGxleG5vY29tbWVudCgpOwotICAgIGFkZG5vZGUo
bm9kZSwgbmV3YXR0cigiaW50ZXJmYWNlIiwgc2V0aWRlbnRpZmllcih0b2spKSk7Ci0gICAgbGV4
bm9jb21tZW50KCk7Ci0gIH0KLSAgcmV0dXJuIG5vZGU7Ci19Ci0KLS8qKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgot
ICogcGFyc2VvcGVyYXRpb25vcml0ZXJhdG9ycmVzdCA6IHBhcnNlIFsyNV0gT3BlcmF0aW9uT3JJ
dGVyYXRvclJlc3QKLSAqCi0gKiBFbnRlcjogICB0b2sgPSBuZXh0IHRva2VuCi0gKiAgICAgICAg
ICBlYWwgPSAwIGVsc2UgZXh0ZW5kZWQgYXR0cmlidXRlIGxpc3Qgbm9kZQotICogICAgICAgICAg
YXR0cnMgPSBsaXN0LW9mLWF0dHJzIG5vZGUgY29udGFpbmluZyBhdHRycyB0byBhZGQgdG8gbmV3
IG5vZGUKLSAqCi0gKiBSZXR1cm46ICBuZXcgbm9kZQotICogICAgICAgICAgdG9rIG9uIHRlcm1p
bmF0aW5nICc7JwotICovCi1zdGF0aWMgc3RydWN0IG5vZGUgKgotcGFyc2VvcGVyYXRpb25vcml0
ZXJhdG9ycmVzdChzdHJ1Y3QgdG9rICp0b2ssIHN0cnVjdCBub2RlICplYWwsIHN0cnVjdCBub2Rl
ICphdHRycykKLXsKLSAgc3RydWN0IG5vZGUgKm5vZGU7Ci0gIHN0cnVjdCBub2RlICpub2RlVHlw
ZSA9IHBhcnNlcmV0dXJudHlwZSh0b2spOwotICB1bnNpZ25lZCBpbnQgaXNJdGVyYXRvciA9IDA7
Ci0gIGlmICh0b2stPnR5cGUgPT0gVE9LX2l0ZXJhdG9yKSB7Ci0gICAgbGV4bm9jb21tZW50KCk7
Ci0gICAgaWYgKHRvay0+dHlwZSA9PSBUT0tfb2JqZWN0KSB7Ci0gICAgICBsZXhub2NvbW1lbnQo
KTsKLSAgICAgIG5vZGUgPSBuZXdlbGVtZW50KCJJdGVyYXRvck9iamVjdCIpOwotICAgICAgYWRk
bm9kZShub2RlLCBub2RlVHlwZSk7Ci0gICAgICByZXR1cm4gbm9kZTsKLSAgICB9IGVsc2Ugewot
ICAgICAgbm9kZSA9IG5ld2VsZW1lbnQoIkl0ZXJhdG9yIik7Ci0gICAgICBpc0l0ZXJhdG9yID0g
MTsgICAgCi0gICAgfQotICB9IGVsc2UgewotICAgIG5vZGUgPSBuZXdlbGVtZW50KCJPcGVyYXRp
b24iKTsKLSAgfQotICBpZiAoZWFsKSBhZGRub2RlKG5vZGUsIGVhbCk7Ci0gIHNldGNvbW1lbnRu
b2RlKG5vZGUpOwotICBhZGRub2RlKG5vZGUsIGF0dHJzKTsKLSAgYWRkbm9kZShub2RlLCBub2Rl
VHlwZSk7Ci0gIGlmIChpc0l0ZXJhdG9yKQotICAgIHJldHVybiBwYXJzZW9wdGlvbmFsaXRlcmF0
b3JpbnRlcmZhY2UodG9rLCBub2RlKTsKLSAgZWxzZQotICAgIHJldHVybiBwYXJzZW9wZXJhdGlv
bnJlc3QodG9rLCBub2RlKTsKLX0KLQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIHBhcnNlYXR0cmli
dXRlIDogcGFyc2UgWzE3XSBBdHRyaWJ1dGUKLSAqCi0gKiBFbnRlcjogICB0b2sgPSBuZXh0IHRv
a2VuICgicmVhZG9ubHkiIG9yICJhdHRyaWJ1dGUiKQotICogICAgICAgICAgZWFsID0gMCBlbHNl
IGV4dGVuZGVkIGF0dHJpYnV0ZSBsaXN0IG5vZGUKLSAqICAgICAgICAgIGF0dHJzID0gbGlzdC1v
Zi1hdHRycyBub2RlIGNvbnRhaW5pbmcgYXR0cnMgdG8gYWRkIHRvIG5ldyBub2RlCi0gKgotICog
UmV0dXJuOiAgbm9kZQotICogICAgICAgICAgdG9rIG9uIHRlcm1pbmF0aW5nICc7JwotICovCi1z
dGF0aWMgc3RydWN0IG5vZGUgKgotcGFyc2VhdHRyaWJ1dGUoc3RydWN0IHRvayAqdG9rLCBzdHJ1
Y3Qgbm9kZSAqZWFsLCBzdHJ1Y3Qgbm9kZSAqYXR0cnMpCi17Ci0gICAgc3RydWN0IG5vZGUgKm5v
ZGUgPSBuZXdlbGVtZW50KCJBdHRyaWJ1dGUiKTsKLSAgICBpZiAoZWFsKSBhZGRub2RlKG5vZGUs
IGVhbCk7Ci0gICAgc2V0Y29tbWVudG5vZGUobm9kZSk7Ci0gICAgYWRkbm9kZShub2RlLCBhdHRy
cyk7Ci0gICAgaWYgKHRvay0+dHlwZSA9PSBUT0tfaW5oZXJpdCkgewotICAgICAgICBsZXhub2Nv
bW1lbnQoKTsKLQlhZGRub2RlKG5vZGUsIG5ld2F0dHIoImluaGVyaXQiLCAiaW5oZXJpdCIpKTsK
LSAgICB9Ci0gICAgaWYgKHRvay0+dHlwZSA9PSBUT0tfcmVhZG9ubHkpIHsKLSAgICAgICAgbGV4
bm9jb21tZW50KCk7Ci0gICAgICAgIGFkZG5vZGUobm9kZSwgbmV3YXR0cigicmVhZG9ubHkiLCAi
cmVhZG9ubHkiKSk7Ci0gICAgfQotICAgIGVhdCh0b2ssIFRPS19hdHRyaWJ1dGUpOwotICAgIGFk
ZG5vZGUobm9kZSwgcGFyc2V0eXBlKHRvaykpOwotICAgIGFkZG5vZGUobm9kZSwgbmV3YXR0cigi
bmFtZSIsIHNldGlkZW50aWZpZXIodG9rKSkpOwotICAgIGxleG5vY29tbWVudCgpOwotICAgIHJl
dHVybiBub2RlOwotfQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIHBhcnNlc2VyaWFsaXplciA6IHBh
cnNlIFNlcmlhbGl6ZXIKLSAqCi0gKiBFbnRlcjogICB0b2sgPSBuZXh0IHRva2VuCi0gKiAgICAg
ICAgICBlYWwKLSAqCi0gKiBSZXR1cm46ICBub2RlIHVwZGF0ZWQgd2l0aCB2YWx1ZQotICogICAg
ICAgICAgdG9rIHVwZGF0ZWQKLSAqLwotc3RhdGljIHN0cnVjdCBub2RlICoKLXBhcnNlc2VyaWFs
aXplciAoc3RydWN0IHRvayAqdG9rLCBzdHJ1Y3Qgbm9kZSAqZWFsKSB7Ci0Jc3RydWN0IG5vZGUg
Km5vZGVBdHRyaWJ1dGU7Ci0Jc3RydWN0IG5vZGUgKm5vZGUgPSBuZXdlbGVtZW50KCJTZXJpYWxp
emVyIik7Ci0gIGlmICh0b2stPnR5cGUgPT0gJz0nKSB7Ci0gICAgaWYgKGVhbCkgYWRkbm9kZShu
b2RlLCBlYWwpOwotICAgIGxleG5vY29tbWVudCgpOwotICAgIGlmICh0b2stPnR5cGUgPT0gVE9L
X0lERU5USUZJRVIpIHsKLSAgICAgIGFkZG5vZGUobm9kZSwgbmV3YXR0cigiYXR0cmlidXRlIiwg
c2V0aWRlbnRpZmllcih0b2spKSk7Ci0gICAgICBsZXhub2NvbW1lbnQoKTsKLSAgICB9IGVsc2Ug
aWYgKHRvay0+dHlwZSA9PSAneycpIHsKLSAgICAgIHVuc2lnbmVkIGludCBkb25lID0gMDsKLSAg
ICAgIHN0cnVjdCBub2RlICpub2RlTWFwID0gbmV3ZWxlbWVudCgiTWFwIik7Ci0gICAgICBsZXhu
b2NvbW1lbnQoKTsKLSAgICAgIGlmICh0b2stPnR5cGUgPT0gVE9LX2dldHRlcikgewotCWFkZG5v
ZGUobm9kZU1hcCwgbmV3YXR0cigicGF0dGVybiIsICJnZXR0ZXIiKSk7Ci0JZG9uZSA9IDE7Ci0g
ICAgICB9IGVsc2UgaWYgKHRvay0+dHlwZSA9PSBUT0tfYXR0cmlidXRlKSB7Ci0JYWRkbm9kZShu
b2RlTWFwLCBuZXdhdHRyKCJwYXR0ZXJuIiwgImFsbCIpKTsKLQlkb25lID0gMTsKLSAgICAgIH0g
ZWxzZSBpZiAodG9rLT50eXBlID09IFRPS19pbmhlcml0KSB7Ci0JYWRkbm9kZShub2RlTWFwLCBu
ZXdhdHRyKCJpbmhlcml0IiwgImluaGVyaXQiKSk7Ci0JbGV4bm9jb21tZW50KCk7Ci0JZWF0KHRv
aywgJywnKTsKLQlpZiAodG9rLT50eXBlID09IFRPS19hdHRyaWJ1dGUpIHsKLQkgIGFkZG5vZGUo
bm9kZU1hcCwgbmV3YXR0cigicGF0dGVybiIsICJhbGwiKSk7Ci0JICBkb25lID0gMTsKLQl9Ci0g
ICAgICB9IGVsc2UgaWYgKHRvay0+dHlwZSAhPSBUT0tfSURFTlRJRklFUikgewotCXRva2Vycm9y
ZXhpdCh0b2ssICJleHBlY3RlZCAnYXR0cmlidXRlJywgJ2dldHRlcicsICdpbmhlcml0JyBvciBh
dHRyaWJ1dGUgaWRlbnRpZmllcnMgaW4gc2VyaWFsaXplciBtYXAiKTsKLSAgICAgIH0KLSAgICAg
IGlmIChkb25lKSB7Ci0JbGV4bm9jb21tZW50KCk7Ci0JZWF0KHRvaywgJ30nKTsKLSAgICAgIH0g
ZWxzZSB7Ci0JYWRkbm9kZShub2RlTWFwLCBuZXdhdHRyKCJwYXR0ZXJuIiwgInNlbGVjdGlvbiIp
KTsKLQlkbyB7Ci0JICBpZiAodG9rLT50eXBlICE9IFRPS19JREVOVElGSUVSKQotCSAgICB0b2tl
cnJvcmV4aXQodG9rLCAiZXhwZWN0ZWQgYXR0cmlidXRlIGlkZW50aWZpZXJzIGluIHNlcmlhbGl6
ZXIgbWFwICVzIiwgdG9rLT5wcmVzdGFydCk7Ci0JICBub2RlQXR0cmlidXRlID0gbmV3ZWxlbWVu
dCgiUGF0dGVybkF0dHJpYnV0ZSIpOwotCSAgYWRkbm9kZShub2RlQXR0cmlidXRlLCBuZXdhdHRy
KCJuYW1lIiwgc2V0aWRlbnRpZmllcih0b2spKSk7Ci0JICBhZGRub2RlKG5vZGVNYXAsIG5vZGVB
dHRyaWJ1dGUpOwotCSAgbGV4bm9jb21tZW50KCk7Ci0JICBpZiAodG9rLT50eXBlID09ICcsJykK
LQkgICAgbGV4bm9jb21tZW50KCk7Ci0JfSB3aGlsZSAodG9rLT50eXBlICE9ICd9Jyk7Ci0JZWF0
KHRvaywgJ30nKTsKLSAgICAgIH0KLSAgICAgIGFkZG5vZGUobm9kZSwgbm9kZU1hcCk7Ci0gICAg
fSBlbHNlIGlmICh0b2stPnR5cGUgPT0gJ1snKSB7Ci0gICAgICBzdHJ1Y3Qgbm9kZSAqbm9kZUxp
c3QgPSBuZXdlbGVtZW50KCJMaXN0Iik7Ci0gICAgICBsZXhub2NvbW1lbnQoKTsKLSAgICAgIGlm
ICh0b2stPnR5cGUgPT0gVE9LX2dldHRlcikgewotCWFkZG5vZGUobm9kZUxpc3QsIG5ld2F0dHIo
InBhdHRlcm4iLCAiZ2V0dGVyIikpOwotCWxleG5vY29tbWVudCgpOwotCWVhdCh0b2ssICddJyk7
Ci0gICAgICB9IGVsc2UgewotCWFkZG5vZGUobm9kZUxpc3QsIG5ld2F0dHIoInBhdHRlcm4iLCAi
c2VsZWN0aW9uIikpOwotCWRvIHsKLQkgIGlmICh0b2stPnR5cGUgIT0gVE9LX0lERU5USUZJRVIp
Ci0JICAgIHRva2Vycm9yZXhpdCh0b2ssICJleHBlY3RlZCBhdHRyaWJ1dGUgaWRlbnRpZmllcnMg
aW4gc2VyaWFsaXplciBsaXN0Iik7Ci0JICBub2RlQXR0cmlidXRlID0gbmV3ZWxlbWVudCgiUGF0
dGVybkF0dHJpYnV0ZSIpOwotCSAgYWRkbm9kZShub2RlQXR0cmlidXRlLCBuZXdhdHRyKCJuYW1l
Iiwgc2V0aWRlbnRpZmllcih0b2spKSk7Ci0JICBhZGRub2RlKG5vZGVMaXN0LCBub2RlQXR0cmli
dXRlKTsKLQkgIGxleG5vY29tbWVudCgpOwotCSAgaWYgKHRvay0+dHlwZSA9PSAnLCcpCi0JICAg
IGxleG5vY29tbWVudCgpOwotCX0gd2hpbGUgKHRvay0+dHlwZSAhPSAnXScpOwkgICAgCi0JZWF0
KHRvaywgJ10nKTsKLSAgICAgIH0KLSAgICAgIGFkZG5vZGUobm9kZSwgbm9kZUxpc3QpOwotICAg
IH0gZWxzZSB7Ci0gICAgICB0b2tlcnJvcmV4aXQodG9rLCAiRXhwZWN0ZWQgJ3snLCAnWycgb3Ig
YW4gYXR0cmlidXRlIGlkZW50aWZpZXIgaW4gdGhlIHNlcmlhbGl6ZXIgZGVjbGFyYXRpb24iKTsK
LSAgICB9Ci0gICAgcmV0dXJuIG5vZGU7Ci0gIH0gZWxzZSB7Ci0gICAgaWYgKGVhbCkgYWRkbm9k
ZShub2RlLCBlYWwpOwotICAgIHJldHVybiBub2RlOwotICB9Ci19Ci0KLS8qKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KgotICogcGFyc2VhdHRyaWJ1dGVvcm9wZXJhdGlvbm9yaXRlcmF0b3IgOiBwYXJzZSBbMTVdIEF0
dHJpYnV0ZU9yT3BlcmF0aW9uT3JJdGVyYXRvcgotICoKLSAqIEVudGVyOiAgIHRvayA9IG5leHQg
dG9rZW4KLSAqICAgICAgICAgIGVhbCA9IDAgZWxzZSBleHRlbmRlZCBhdHRyaWJ1dGUgbGlzdCBu
b2RlCi0gKgotICogUmV0dXJuOiAgbmV3IG5vZGUKLSAqICAgICAgICAgIHRvayBvbiB0ZXJtaW5h
dGluZyAnOycKLSAqLwotc3RhdGljIHN0cnVjdCBub2RlICoKLXBhcnNlYXR0cmlidXRlb3JvcGVy
YXRpb25vcml0ZXJhdG9yKHN0cnVjdCB0b2sgKnRvaywgc3RydWN0IG5vZGUgKmVhbCkKLXsKLQlp
bnQgYWxyZWFkeXNlZW4gOwotICAgIHN0cnVjdCBub2RlICphdHRycyA9IG5ld2F0dHJsaXN0KCk7
Ci0gICAgaWYgKHRvay0+dHlwZSA9PSBUT0tfc2VyaWFsaXplcikgewotICAgICAgbGV4bm9jb21t
ZW50KCk7Ci0gICAgICBpZiAodG9rLT50eXBlID09ICc9JyB8fCB0b2stPnR5cGUgPT0nOycpIHsK
LQlyZXR1cm4gcGFyc2VzZXJpYWxpemVyKHRvaywgZWFsKTsKLSAgICAgIH0gZWxzZSB7Ci0JYWRk
bm9kZShhdHRycywgbmV3YXR0cigic2VyaWFsaXplciIsICJzZXJpYWxpemVyIikpOwotCXJldHVy
biBwYXJzZXJldHVybnR5cGVhbmRvcGVyYXRpb25yZXN0KHRvaywgZWFsLCBhdHRycyk7Ci0gICAg
ICB9Ci0gICAgfQotICAgIGlmICh0b2stPnR5cGUgPT0gVE9LX3N0cmluZ2lmaWVyKSB7Ci0gICAg
ICAgIGFkZG5vZGUoYXR0cnMsIG5ld2F0dHIoInN0cmluZ2lmaWVyIiwgInN0cmluZ2lmaWVyIikp
OwotICAgICAgICBsZXhub2NvbW1lbnQoKTsKLSAgICAgICAgaWYgKHRvay0+dHlwZSA9PSAnOycp
IHsKLSAgICAgICAgICAgIHN0cnVjdCBub2RlICpub2RlID0gbmV3ZWxlbWVudCgiU3RyaW5naWZp
ZXIiKTsKLSAgICAgICAgICAgIGlmIChlYWwpIGFkZG5vZGUobm9kZSwgZWFsKTsKLSAgICAgICAg
ICAgIHJldHVybiBub2RlOwotICAgICAgICB9Ci0gICAgfQotICAgIGlmICh0b2stPnR5cGUgPT0g
VE9LX3N0YXRpYykgewotICAgICAgICBsZXhub2NvbW1lbnQoKTsKLSAgICAgICAgYWRkbm9kZShh
dHRycywgbmV3YXR0cigic3RhdGljIiwgInN0YXRpYyIpKTsKLSAgICB9Ci0gICAgaWYgKHRvay0+
dHlwZSA9PSBUT0tfaW5oZXJpdCB8fCB0b2stPnR5cGUgPT0gVE9LX3JlYWRvbmx5IHx8IHRvay0+
dHlwZSA9PSBUT0tfYXR0cmlidXRlKQotICAgICAgICByZXR1cm4gcGFyc2VhdHRyaWJ1dGUodG9r
LCBlYWwsIGF0dHJzKTsKLSAgICBpZiAoIW5vZGVpc2VtcHR5KGF0dHJzKSkKLSAJcmV0dXJuIHBh
cnNlcmV0dXJudHlwZWFuZG9wZXJhdGlvbnJlc3QodG9rLCBlYWwsIGF0dHJzKTsKLSAgICBhbHJl
YWR5c2VlbiA9IDA7Ci0gICAgZm9yICg7OykgewotICAgICAgc3RhdGljIGNvbnN0IGludCB0W10g
PSB7IFRPS19nZXR0ZXIsCi0JCQkgICAgICAgVE9LX3NldHRlciwgVE9LX2NyZWF0b3IsIFRPS19k
ZWxldGVyLCBUT0tfbGVnYWN5Y2FsbGVyLAotCQkJICAgICAgIDAgfTsKLSAgICAgIGNvbnN0IGlu
dCAqdHQgPSB0OwotICAgICAgY2hhciAqczsKLSAgICAgIHdoaWxlICgqdHQgJiYgKnR0ICE9IHRv
ay0+dHlwZSkKLQl0dCsrOwotICAgICAgaWYgKCEqdHQpCi0JYnJlYWs7Ci0gICAgICBzID0gbWVt
cHJpbnRmKCIlLipzIiwgdG9rLT5sZW4sIHRvay0+c3RhcnQpOwotICAgICAgaWYgKGFscmVhZHlz
ZWVuICYgKDEgPDwgKHR0IC0gdCkpKQotCXRva2Vycm9yZXhpdCh0b2ssICInJXMnIHF1YWxpZmll
ciBjYW5ub3QgYmUgcmVwZWF0ZWQiLCBzKTsKLSAgICAgIGFscmVhZHlzZWVuIHw9IDEgPDwgKHR0
IC0gdCk7Ci0gICAgICBhZGRub2RlKGF0dHJzLCBuZXdhdHRyKHMsIHMpKTsKLSAgICAgIGxleG5v
Y29tbWVudCgpOwotICAgIH0KLSAgICBpZiAoIW5vZGVpc2VtcHR5KGF0dHJzKSkgICAgCi0gICAg
ICByZXR1cm4gcGFyc2VyZXR1cm50eXBlYW5kb3BlcmF0aW9ucmVzdCh0b2ssIGVhbCwgYXR0cnMp
OwotICAgIGVsc2UKLSAgICAgIHJldHVybiBwYXJzZW9wZXJhdGlvbm9yaXRlcmF0b3JyZXN0KHRv
aywgZWFsLCBhdHRycyk7Ci19Ci0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBwYXJzZWNvbnN0ZXhw
ciA6IHBhcnNlIENvbnN0VmFsdWUKLSAqCi0gKiBFbnRlcjogICB0b2sgPSBuZXh0IHRva2VuCi0g
KiAgICAgICAgICBub2RlCi0gKgotICogUmV0dXJuOiAgbm9kZSB1cGRhdGVkIHdpdGggdmFsdWUK
LSAqICAgICAgICAgIHRvayB1cGRhdGVkCi0gKi8KLXN0YXRpYyBzdHJ1Y3Qgbm9kZSAqCi1wYXJz
ZWNvbnN0ZXhwciAoc3RydWN0IHRvayAqdG9rLCBzdHJ1Y3Qgbm9kZSAqbm9kZSkgewotICBjaGFy
ICpzOwotICBzd2l0Y2godG9rLT50eXBlKSB7Ci0gIGNhc2UgVE9LX3RydWU6Ci0gIGNhc2UgVE9L
X2ZhbHNlOgotICBjYXNlIFRPS19taW51c2luZmluaXR5OgotICBjYXNlIFRPS19JTlRFR0VSOgot
ICBjYXNlIFRPS19GTE9BVDoKLSAgY2FzZSBUT0tfbnVsbDoKLSAgY2FzZSBUT0tfaW5maW5pdHk6
Ci0gIGNhc2UgVE9LX05hTjoKLSAgICBicmVhazsKLSAgZGVmYXVsdDoKLSAgICB0b2tlcnJvcmV4
aXQodG9rLCAiZXhwZWN0ZWQgY29uc3RhbnQgdmFsdWUiKTsKLSAgICBicmVhazsKLSAgfQotICBz
ID0gbWVtYWxsb2ModG9rLT5sZW4gKyAxKTsKLSAgbWVtY3B5KHMsIHRvay0+c3RhcnQsIHRvay0+
bGVuKTsKLSAgc1t0b2stPmxlbl0gPSAwOwotICBpZiAodG9rLT50eXBlICE9IFRPS19TVFJJTkcp
IHsKLSAgICBhZGRub2RlKG5vZGUsIG5ld2F0dHIoInZhbHVlIiwgcykpOwotICB9IGVsc2Ugewot
ICAgIGFkZG5vZGUobm9kZSwgbmV3YXR0cigic3RyaW5ndmFsdWUiLCBzKSk7Ci0gIH0KLSAgbGV4
bm9jb21tZW50KCk7Ci0gIHJldHVybiBub2RlOwotfQotCi0vKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIHBh
cnNlZGVmYXVsdHZhbHVlIDogcGFyc2UgRGVmYXVsdFZhbHVlCi0gKgotICogRW50ZXI6ICAgdG9r
ID0gbmV4dCB0b2tlbgotICogICAgICAgICAgbm9kZQotICoKLSAqIFJldHVybjogIG5vZGUgdXBk
YXRlZCB3aXRoIHZhbHVlCi0gKiAgICAgICAgICB0b2sgdXBkYXRlZAotICovCi1zdGF0aWMgc3Ry
dWN0IG5vZGUgKgotcGFyc2VkZWZhdWx0dmFsdWUgKHN0cnVjdCB0b2sgKnRvaywgc3RydWN0IG5v
ZGUgKm5vZGUpIHsKLSAgY2hhciAqczsKLSAgaWYgKHRvay0+dHlwZSA9PSBUT0tfU1RSSU5HKSB7
Ci0gICAgcyA9IG1lbWFsbG9jKHRvay0+bGVuICsgMSk7Ci0gICAgbWVtY3B5KHMsIHRvay0+c3Rh
cnQsIHRvay0+bGVuKTsKLSAgICBzW3Rvay0+bGVuXSA9IDA7Ci0gICAgYWRkbm9kZShub2RlLCBu
ZXdhdHRyKCJzdHJpbmd2YWx1ZSIsIHMpKTsKLSAgICBsZXhub2NvbW1lbnQoKTsKLSAgICByZXR1
cm4gbm9kZTsKLSAgfSBlbHNlIHsKLSAgICByZXR1cm4gcGFyc2Vjb25zdGV4cHIodG9rLCBub2Rl
KTsKLSAgfQotfQotCi0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBwYXJzZWRpY3Rpb25hcnltZW1i
ZXIgOiBwYXJzZSBEaWN0aW9uYXJ5TWVtYmVyCi0gKgotICogRW50ZXI6ICAgdG9rID0gbmV4dCB0
b2tlbgotICogICAgICAgICAgZWFsID0gMCBlbHNlIGV4dGVuZGVkIGF0dHJpYnV0ZSBsaXN0IG5v
ZGUKLSAqCi0gKiBSZXR1cm46ICBuZXcgbm9kZQotICogICAgICAgICAgdG9rIG9uIHRlcm1pbmF0
aW5nICc7JwotICovCi1zdGF0aWMgc3RydWN0IG5vZGUgKgotcGFyc2VkaWN0aW9uYXJ5bWVtYmVy
KHN0cnVjdCB0b2sgKnRvaywgc3RydWN0IG5vZGUgKmVhbCkKLXsKLSAgICBzdHJ1Y3Qgbm9kZSAq
bm9kZSA9IG5ld2VsZW1lbnQoIkRpY3Rpb25hcnlNZW1iZXIiKTsKLSAgICBpZiAoZWFsKSBhZGRu
b2RlKG5vZGUsIGVhbCk7Ci0gICAgc2V0Y29tbWVudG5vZGUobm9kZSk7Ci0gICAgYWRkbm9kZShu
b2RlLCBwYXJzZXR5cGUodG9rKSk7Ci0gICAgYWRkbm9kZShub2RlLCBuZXdhdHRyKCJuYW1lIiwg
c2V0aWRlbnRpZmllcih0b2spKSk7Ci0gICAgdG9rID0gbGV4bm9jb21tZW50KCk7Ci0gICAgLy8g
T3B0aW9uYWwgdmFsdWUKLSAgICBpZiAodG9rLT50eXBlID09ICc9JykgewotICAgICAgdG9rID0g
bGV4bm9jb21tZW50KCk7Ci0gICAgICBub2RlID0gcGFyc2VkZWZhdWx0dmFsdWUodG9rLCBub2Rl
KTsKLSAgICB9Ci0gICAgcmV0dXJuIG5vZGU7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogcGFy
c2Vjb25zdCA6IHBhcnNlIFsxMl0gQ29uc3QKLSAqCi0gKiBFbnRlcjogICB0b2sgPSBuZXh0IHRv
a2VuLCBrbm93biB0byBiZSBUT0tfY29uc3QKLSAqICAgICAgICAgIGVhbCA9IDAgZWxzZSBleHRl
bmRlZCBhdHRyaWJ1dGUgbGlzdCBub2RlCi0gKgotICogUmV0dXJuOiAgbmV3IG5vZGUgZm9yIHRo
ZSBjb25zdAotICogICAgICAgICAgdG9rIG9uIHRlcm1pbmF0aW5nICc7JwotICovCi1zdGF0aWMg
c3RydWN0IG5vZGUgKgotcGFyc2Vjb25zdChzdHJ1Y3QgdG9rICp0b2ssIHN0cnVjdCBub2RlICpl
YWwpCi17Ci0gICAgc3RydWN0IG5vZGUgKm5vZGUgPSBuZXdlbGVtZW50KCJDb25zdCIpOwotICAg
IHNldGNvbW1lbnRub2RlKG5vZGUpOwotICAgIGlmIChlYWwpIGFkZG5vZGUobm9kZSwgZWFsKTsK
LSAgICB0b2sgPSBsZXhub2NvbW1lbnQoKTsKLSAgICBzd2l0Y2godG9rLT50eXBlKSB7Ci0gICAg
Y2FzZSBUT0tfYm9vbGVhbjoKLSAgICBjYXNlIFRPS19ieXRlOgotICAgIGNhc2UgVE9LX29jdGV0
OgotICAgIGNhc2UgVE9LX2Zsb2F0OgotICAgIGNhc2UgVE9LX2RvdWJsZToKLSAgICBjYXNlIFRP
S191bnNpZ25lZDoKLSAgICBjYXNlIFRPS191bnJlc3RyaWN0ZWQ6Ci0gICAgY2FzZSBUT0tfc2hv
cnQ6Ci0gICAgY2FzZSBUT0tfbG9uZzoKLSAgICAgICAgYWRkbm9kZShub2RlLCBwYXJzZXR5cGUo
dG9rKSk7Ci0JYnJlYWs7Ci0gICAgZGVmYXVsdDoKLSAgICAgICAgdG9rZXJyb3JleGl0KHRvaywg
ImV4cGVjdGVkIGFjY2VwdGFibGUgY29uc3RhbnQgdHlwZSIpOwotICAgICAgICBicmVhazsKLSAg
ICB9Ci0gICAgYWRkbm9kZShub2RlLCBuZXdhdHRyKCJuYW1lIiwgc2V0aWRlbnRpZmllcih0b2sp
KSk7Ci0gICAgdG9rID0gbGV4bm9jb21tZW50KCk7Ci0gICAgZWF0KHRvaywgJz0nKTsKLSAgICBu
b2RlID0gcGFyc2Vjb25zdGV4cHIodG9rLCBub2RlKTsKLSAgICByZXR1cm4gbm9kZTsKLX0KLQot
LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqCi0gKiBwYXJzZWltcGxlbWVudHNzdGF0ZW1lbnQgOiBwYXJzZSBbMTFd
IEltcGxlbWVudHNTdGF0ZW1lbnQKLSAqCi0gKiBFbnRlcjogICB0b2sgPSBuZXh0IHRva2VuLCBr
bm93biB0byBiZSA6OiBvciBUT0tfSURFTlRJRklFUgotICogICAgICAgICAgZWFsID0gMCBlbHNl
IGV4dGVuZGVkIGF0dHJpYnV0ZSBsaXN0IG5vZGUKLSAqCi0gKiBSZXR1cm46ICBuZXcgbm9kZSBm
b3IgdGhlIHR5cGVkZWYKLSAqICAgICAgICAgIHRvayB1cGRhdGVkIHRvIHRoZSB0ZXJtaW5hdGlu
ZyAnOycKLSAqLwotc3RhdGljIHN0cnVjdCBub2RlICoKLXBhcnNlaW1wbGVtZW50c3N0YXRlbWVu
dChzdHJ1Y3QgdG9rICp0b2ssIHN0cnVjdCBub2RlICplYWwpCi17Ci0gICAgc3RydWN0IG5vZGUg
Km5vZGUgPSBuZXdlbGVtZW50KCJJbXBsZW1lbnRzIik7Ci0gICAgc2V0Y29tbWVudG5vZGUobm9k
ZSk7Ci0gICAgaWYgKGVhbCkgYWRkbm9kZShub2RlLCBlYWwpOwotICAgIGFkZG5vZGUobm9kZSwg
cGFyc2VzY29wZWRuYW1lKHRvaywgIm5hbWUxIiwgMSkpOwotICAgIGVhdCh0b2ssIFRPS19pbXBs
ZW1lbnRzKTsKLSAgICBhZGRub2RlKG5vZGUsIHBhcnNlc2NvcGVkbmFtZSh0b2ssICJuYW1lMiIs
IDEpKTsKLSAgICByZXR1cm4gbm9kZTsKLX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBwYXJzZXR5
cGVkZWYgOiBwYXJzZSBbMTBdIFR5cGVkZWYKLSAqCi0gKiBFbnRlcjogICB0b2sgPSBuZXh0IHRv
a2VuLCBrbm93biB0byBiZSBUT0tfdHlwZWRlZgotICogICAgICAgICAgZWFsID0gMCBlbHNlIGV4
dGVuZGVkIGF0dHJpYnV0ZSBsaXN0IG5vZGUKLSAqCi0gKiBSZXR1cm46ICBuZXcgbm9kZSBmb3Ig
dGhlIHR5cGVkZWYKLSAqICAgICAgICAgIHRvayB1cGRhdGVkIHRvIHRoZSB0ZXJtaW5hdGluZyAn
OycKLSAqLwotc3RhdGljIHN0cnVjdCBub2RlICoKLXBhcnNldHlwZWRlZihzdHJ1Y3QgdG9rICp0
b2ssIHN0cnVjdCBub2RlICplYWwpCi17Ci1zdHJ1Y3Qgbm9kZSAqZWFsdHlwZTsKLXN0cnVjdCBu
b2RlICp0eXBlbm9kZTsKLSAgICBzdHJ1Y3Qgbm9kZSAqbm9kZSA9IG5ld2VsZW1lbnQoIlR5cGVk
ZWYiKTsKLSAgICBzZXRjb21tZW50bm9kZShub2RlKTsKLSAgICBpZiAoZWFsKSBhZGRub2RlKG5v
ZGUsIGVhbCk7Ci0gICAgdG9rID0gbGV4bm9jb21tZW50KCk7Ci0gICAgZWFsdHlwZSA9IHBhcnNl
ZXh0ZW5kZWRhdHRyaWJ1dGVsaXN0KHRvayk7Ci0gICAgdHlwZW5vZGUgPSBwYXJzZXR5cGUodG9r
KTsKLSAgICBpZiAoZWFsdHlwZSkgYWRkbm9kZSh0eXBlbm9kZSwgZWFsdHlwZSk7Ci0gICAgYWRk
bm9kZShub2RlLCB0eXBlbm9kZSk7Ci0gICAgYWRkbm9kZShub2RlLCBuZXdhdHRyKCJuYW1lIiwg
c2V0aWRlbnRpZmllcih0b2spKSk7Ci0gICAgdG9rID0gbGV4bm9jb21tZW50KCk7Ci0gICAgcmV0
dXJuIG5vZGU7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogcGFyc2VleGNlcHRpb24gOiBwYXJz
ZSBbOF0gRXhjZXB0aW9uCi0gKgotICogRW50ZXI6ICAgdG9rID0gbmV4dCB0b2tlbiwga25vd24g
dG8gYmUgVE9LX2V4Y2VwdGlvbgotICogICAgICAgICAgZWFsID0gMCBlbHNlIGV4dGVuZGVkIGF0
dHJpYnV0ZSBsaXN0IG5vZGUKLSAqCi0gKiBSZXR1cm46ICBuZXcgbm9kZSBmb3IgdGhlIGV4Y2Vw
dGlvbgotICogICAgICAgICAgdG9rIHVwZGF0ZWQgdG8gdGhlIHRlcm1pbmF0aW5nICc7JwotICov
Ci1zdGF0aWMgc3RydWN0IG5vZGUgKgotcGFyc2VleGNlcHRpb24oc3RydWN0IHRvayAqdG9rLCBz
dHJ1Y3Qgbm9kZSAqZWFsKQotewotICAgIHN0cnVjdCBub2RlICpub2RlID0gbmV3ZWxlbWVudCgi
RXhjZXB0aW9uIik7Ci0gICAgc2V0Y29tbWVudG5vZGUobm9kZSk7Ci0gICAgaWYgKGVhbCkgYWRk
bm9kZShub2RlLCBlYWwpOwotICAgIHRvayA9IGxleG5vY29tbWVudCgpOwotICAgIGFkZG5vZGUo
bm9kZSwgbmV3YXR0cigibmFtZSIsIHNldGlkZW50aWZpZXIodG9rKSkpOwotICAgIGxleG5vY29t
bWVudCgpOwotICAgIGlmICh0b2stPnR5cGUgPT0gJzonKSB7Ci0gICAgICAgIGxleG5vY29tbWVu
dCgpOwotICAgICAgICBhZGRub2RlKG5vZGUsIHBhcnNlc2NvcGVkbmFtZWxpc3QodG9rLCAiRXhj
ZXB0aW9uSW5oZXJpdGFuY2UiLCAiTmFtZSIsIDEpKTsKLSAgICB9Ci0gICAgZWF0KHRvaywgJ3sn
KTsKLSAgICB3aGlsZSAodG9rLT50eXBlICE9ICd9JykgewotICAgICAgICBjb25zdCBjaGFyICpz
dGFydCA9IHRvay0+cHJlc3RhcnQ7Ci0gICAgICAgIHN0cnVjdCBub2RlICpub2RlMjsKLSAgICAg
ICAgc3RydWN0IG5vZGUgKmVhbCA9IHBhcnNlZXh0ZW5kZWRhdHRyaWJ1dGVsaXN0KHRvayk7Ci0g
ICAgICAgIGlmICh0b2stPnR5cGUgPT0gVE9LX2NvbnN0KQotICAgICAgICAgICAgbm9kZTIgPSBw
YXJzZWNvbnN0KHRvaywgZWFsKTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgbm9kZTIgPSBw
YXJzZWV4Y2VwdGlvbmZpZWxkKHRvaywgZWFsKTsKLSAgICAgICAgYWRkbm9kZShub2RlLCBub2Rl
Mik7Ci0gICAgICAgIG5vZGUyLT53c3N0YXJ0ID0gc3RhcnQ7Ci0gICAgICAgIG5vZGUyLT5lbmQg
PSB0b2stPnN0YXJ0ICsgdG9rLT5sZW47Ci0gICAgICAgIHNldGlkKG5vZGUyKTsKLSAgICAgICAg
ZWF0KHRvaywgJzsnKTsKLSAgICB9Ci0gICAgbGV4bm9jb21tZW50KCk7Ci0gICAgcmV0dXJuIG5v
ZGU7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKgotICogcGFyc2VpbnRlcmZhY2UgOiBwYXJzZSBbNF0g
SW50ZXJmYWNlCi0gKgotICogRW50ZXI6ICAgdG9rID0gbmV4dCB0b2tlbiwga25vd24gdG8gYmUg
VE9LX2ludGVyZmFjZQotICogICAgICAgICAgZWFsID0gMCBlbHNlIGV4dGVuZGVkIGF0dHJpYnV0
ZSBsaXN0IG5vZGUKLSAqCi0gKiBSZXR1cm46ICBuZXcgbm9kZSBmb3IgdGhlIGludGVyZmFjZQot
ICogICAgICAgICAgdG9rIHVwZGF0ZWQgdG8gdGhlIHRlcm1pbmF0aW5nICc7JwotICovCi1zdGF0
aWMgc3RydWN0IG5vZGUgKgotcGFyc2VpbnRlcmZhY2Uoc3RydWN0IHRvayAqdG9rLCBzdHJ1Y3Qg
bm9kZSAqZWFsKQotewotICAgIHN0cnVjdCBub2RlICpub2RlID0gbmV3ZWxlbWVudCgiSW50ZXJm
YWNlIik7Ci0gICAgaWYgKGVhbCkgYWRkbm9kZShub2RlLCBlYWwpOwotICAgIHNldGNvbW1lbnRu
b2RlKG5vZGUpOwotICAgIHRvayA9IGxleG5vY29tbWVudCgpOwotICAgIGFkZG5vZGUobm9kZSwg
bmV3YXR0cigibmFtZSIsIHNldGlkZW50aWZpZXIodG9rKSkpOwotICAgIHRvayA9IGxleG5vY29t
bWVudCgpOwotICAgIGlmICh0b2stPnR5cGUgPT0gJzonKSB7Ci0gICAgICAgIGxleG5vY29tbWVu
dCgpOwotICAgICAgICBhZGRub2RlKG5vZGUsIHBhcnNlc2NvcGVkbmFtZWxpc3QodG9rLCAiSW50
ZXJmYWNlSW5oZXJpdGFuY2UiLCAiTmFtZSIsIDEpKTsKLSAgICB9Ci0gICAgZWF0KHRvaywgJ3sn
KTsKLSAgICB3aGlsZSAodG9rLT50eXBlICE9ICd9JykgewotICAgICAgICBjb25zdCBjaGFyICpz
dGFydCA9IHRvay0+cHJlc3RhcnQ7Ci0gICAgICAgIHN0cnVjdCBub2RlICplYWwgPSBwYXJzZWV4
dGVuZGVkYXR0cmlidXRlbGlzdCh0b2spOwotICAgICAgICBzdHJ1Y3Qgbm9kZSAqbm9kZTI7Ci0g
ICAgICAgIGlmICh0b2stPnR5cGUgPT0gVE9LX2NvbnN0KQotICAgICAgICAgICAgYWRkbm9kZShu
b2RlLCBub2RlMiA9IHBhcnNlY29uc3QodG9rLCBlYWwpKTsKLSAgICAgICAgZWxzZQotICAgICAg
ICAgICAgYWRkbm9kZShub2RlLCBub2RlMiA9IHBhcnNlYXR0cmlidXRlb3JvcGVyYXRpb25vcml0
ZXJhdG9yKHRvaywgZWFsKSk7Ci0gICAgICAgIG5vZGUyLT53c3N0YXJ0ID0gc3RhcnQ7Ci0gICAg
ICAgIG5vZGUyLT5lbmQgPSB0b2stPnN0YXJ0ICsgdG9rLT5sZW47Ci0gICAgICAgIHNldGlkKG5v
ZGUyKTsKLSAgICAgICAgZWF0KHRvaywgJzsnKTsKLSAgICB9Ci0gICAgbGV4bm9jb21tZW50KCk7
Ci0gICAgcmV0dXJuIG5vZGU7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogcGFyc2VjYWxsYmFj
ayA6IHBhcnNlIENhbGxiYWNrCi0gKgotICogRW50ZXI6ICAgdG9rID0gbmV4dCB0b2tlbiwga25v
d24gdG8gYmUgVE9LX2RpY3Rpb25hcnkKLSAqICAgICAgICAgIGVhbCA9IDAgZWxzZSBleHRlbmRl
ZCBhdHRyaWJ1dGUgbGlzdCBub2RlCi0gKgotICogUmV0dXJuOiAgbmV3IG5vZGUgZm9yIHRoZSBl
bnVtCi0gKiAgICAgICAgICB0b2sgdXBkYXRlZCB0byB0aGUgdGVybWluYXRpbmcgJzsnCi0gKi8K
LXN0YXRpYyBzdHJ1Y3Qgbm9kZSAqCi1wYXJzZWNhbGxiYWNrKHN0cnVjdCB0b2sgKnRvaywgc3Ry
dWN0IG5vZGUgKmVhbCkKLXsKLSAgc3RydWN0IG5vZGUgKm5vZGU7Ci0gIGlmICh0b2stPnR5cGUg
PT0gVE9LX2ludGVyZmFjZSkgewotICAgIG5vZGUgPSBwYXJzZWludGVyZmFjZSh0b2ssIGVhbCk7
Ci0gICAgYWRkbm9kZShub2RlLCBuZXdhdHRyKCJjYWxsYmFjayIsICJjYWxsYmFjayIpKTsgICAg
Ci0gIH0gZWxzZSB7Ci0gICAgbm9kZSA9IG5ld2VsZW1lbnQoIkNhbGxiYWNrIik7Ci0gICAgaWYg
KGVhbCkgYWRkbm9kZShub2RlLCBlYWwpOwotICAgIHNldGNvbW1lbnRub2RlKG5vZGUpOwotICAg
IGFkZG5vZGUobm9kZSwgbmV3YXR0cigibmFtZSIsIHNldGlkZW50aWZpZXIodG9rKSkpOwotICAg
IHRvayA9IGxleG5vY29tbWVudCgpOwotICAgIGVhdCh0b2ssICc9Jyk7Ci0gICAgYWRkbm9kZShu
b2RlLCBwYXJzZXJldHVybnR5cGUodG9rKSk7Ci0gICAgZWF0KHRvaywgJygnKTsKLSAgICBhZGRu
b2RlKG5vZGUsIHBhcnNlYXJndW1lbnRsaXN0KHRvaykpOwotICAgIGVhdCh0b2ssICcpJyk7Ci0g
IH0KLSAgcmV0dXJuIG5vZGU7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogcGFyc2VkaWN0aW9u
YXJ5IDogcGFyc2UgRGljdGlvbmFyeQotICoKLSAqIEVudGVyOiAgIHRvayA9IG5leHQgdG9rZW4s
IGtub3duIHRvIGJlIFRPS19kaWN0aW9uYXJ5Ci0gKiAgICAgICAgICBlYWwgPSAwIGVsc2UgZXh0
ZW5kZWQgYXR0cmlidXRlIGxpc3Qgbm9kZQotICoKLSAqIFJldHVybjogIG5ldyBub2RlIGZvciB0
aGUgZGljdGlvbmFyeQotICogICAgICAgICAgdG9rIHVwZGF0ZWQgdG8gdGhlIHRlcm1pbmF0aW5n
ICc7JwotICovCi1zdGF0aWMgc3RydWN0IG5vZGUgKgotcGFyc2VkaWN0aW9uYXJ5KHN0cnVjdCB0
b2sgKnRvaywgc3RydWN0IG5vZGUgKmVhbCkKLXsKLSAgICBzdHJ1Y3Qgbm9kZSAqbm9kZSA9IG5l
d2VsZW1lbnQoIkRpY3Rpb25hcnkiKTsKLSAgICBpZiAoZWFsKSBhZGRub2RlKG5vZGUsIGVhbCk7
Ci0gICAgc2V0Y29tbWVudG5vZGUobm9kZSk7Ci0gICAgdG9rID0gbGV4bm9jb21tZW50KCk7Ci0g
ICAgYWRkbm9kZShub2RlLCBuZXdhdHRyKCJuYW1lIiwgc2V0aWRlbnRpZmllcih0b2spKSk7Ci0g
ICAgdG9rID0gbGV4bm9jb21tZW50KCk7Ci0gICAgaWYgKHRvay0+dHlwZSA9PSAnOicpIHsKLSAg
ICAgICAgbGV4bm9jb21tZW50KCk7Ci0gICAgICAgIGFkZG5vZGUobm9kZSwgcGFyc2VzY29wZWRu
YW1lbGlzdCh0b2ssICJEaWN0aW9uYXJ5SW5oZXJpdGFuY2UiLCAiTmFtZSIsIDEpKTsKLSAgICB9
Ci0gICAgZWF0KHRvaywgJ3snKTsKLSAgICB3aGlsZSAodG9rLT50eXBlICE9ICd9JykgewotICAg
ICAgICBjb25zdCBjaGFyICpzdGFydCA9IHRvay0+cHJlc3RhcnQ7Ci0gICAgICAgIHN0cnVjdCBu
b2RlICplYWwgPSBwYXJzZWV4dGVuZGVkYXR0cmlidXRlbGlzdCh0b2spOwotICAgICAgICBzdHJ1
Y3Qgbm9kZSAqbm9kZTI7Ci0gICAgICAgIGlmICh0b2stPnR5cGUgPT0gVE9LX2NvbnN0KQotICAg
ICAgICAgICAgYWRkbm9kZShub2RlLCBub2RlMiA9IHBhcnNlY29uc3QodG9rLCBlYWwpKTsKLSAg
ICAgICAgZWxzZQotICAgICAgICAgICAgYWRkbm9kZShub2RlLCBub2RlMiA9IHBhcnNlZGljdGlv
bmFyeW1lbWJlcih0b2ssIGVhbCkpOwotICAgICAgICBub2RlMi0+d3NzdGFydCA9IHN0YXJ0Owot
ICAgICAgICBub2RlMi0+ZW5kID0gdG9rLT5zdGFydCArIHRvay0+bGVuOwotICAgICAgICBzZXRp
ZChub2RlMik7Ci0gICAgICAgIGVhdCh0b2ssICc7Jyk7Ci0gICAgfQotICAgIGxleG5vY29tbWVu
dCgpOwotICAgIHJldHVybiBub2RlOwotfQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIHBhcnNlZW51
bSA6IHBhcnNlIEVudW0KLSAqCi0gKiBFbnRlcjogICB0b2sgPSBuZXh0IHRva2VuLCBrbm93biB0
byBiZSBUT0tfZGljdGlvbmFyeQotICogICAgICAgICAgZWFsID0gMCBlbHNlIGV4dGVuZGVkIGF0
dHJpYnV0ZSBsaXN0IG5vZGUKLSAqCi0gKiBSZXR1cm46ICBuZXcgbm9kZSBmb3IgdGhlIGVudW0K
LSAqICAgICAgICAgIHRvayB1cGRhdGVkIHRvIHRoZSB0ZXJtaW5hdGluZyAnOycKLSAqLwotc3Rh
dGljIHN0cnVjdCBub2RlICoKLXBhcnNlZW51bShzdHJ1Y3QgdG9rICp0b2ssIHN0cnVjdCBub2Rl
ICplYWwpCi17Ci0JY2hhciAqczsKLSAgICBzdHJ1Y3Qgbm9kZSAqbm9kZSA9IG5ld2VsZW1lbnQo
IkVudW0iKTsKLSAgICBpZiAoZWFsKSBhZGRub2RlKG5vZGUsIGVhbCk7Ci0gICAgc2V0Y29tbWVu
dG5vZGUobm9kZSk7Ci0gICAgdG9rID0gbGV4bm9jb21tZW50KCk7Ci0gICAgYWRkbm9kZShub2Rl
LCBuZXdhdHRyKCJuYW1lIiwgc2V0aWRlbnRpZmllcih0b2spKSk7Ci0gICAgdG9rID0gbGV4bm9j
b21tZW50KCk7Ci0gICAgZWF0KHRvaywgJ3snKTsKLSAgICB3aGlsZSAodG9rLT50eXBlICE9ICd9
JykgewotICAgICAgaWYgKHRvay0+dHlwZSA9PSBUT0tfU1RSSU5HKSB7Ci0JY29uc3QgY2hhciAq
c3RhcnQgPSB0b2stPnByZXN0YXJ0OwotCXN0cnVjdCBub2RlICpub2RlMiA9IG5ld2VsZW1lbnQo
IkVudW1WYWx1ZSIpOwotCXNldGNvbW1lbnRub2RlKG5vZGUyKTsKLQkKLQlzID0gbWVtYWxsb2Mo
dG9rLT5sZW4gKyAxKTsKLQltZW1jcHkocywgdG9rLT5zdGFydCwgdG9rLT5sZW4pOwotCXNbdG9r
LT5sZW5dID0gMDsKLQlhZGRub2RlKG5vZGUyLCBuZXdhdHRyKCJzdHJpbmd2YWx1ZSIsIHMpKTsK
LSAgICAgICAgbm9kZTItPndzc3RhcnQgPSBzdGFydDsKLSAgICAgICAgbm9kZTItPmVuZCA9IHRv
ay0+c3RhcnQgKyB0b2stPmxlbjsKLSAgICAgICAgc2V0aWQobm9kZTIpOwotCWFkZG5vZGUobm9k
ZSwgbm9kZTIpOwotICAgICAgfSBlbHNlIHsKLQl0b2tlcnJvcmV4aXQodG9rLCAiZXhwZWN0ZWQg
c3RyaW5nIGluIGVudW0iKTsKLSAgICAgIH0KLSAgICAgIGxleG5vY29tbWVudCgpOwotICAgICAg
aWYgKHRvay0+dHlwZSA9PSAnLCcpIHsKLQlsZXhub2NvbW1lbnQoKTsKLSAgICAgIH0KLSAgICB9
Ci0gICAgZWF0KHRvaywgJ30nKTsKLSAgICByZXR1cm4gbm9kZTsKLX0KLQotLyoqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqCi0gKiBwYXJzZWRlZmluaXRpb25zIDogcGFyc2UgWzFdIERlZmluaXRpb25zCi0gKgotICog
RW50ZXI6ICAgdG9rID0gbmV4dCB0b2tlbgotICogICAgICAgICAgcGFyZW50ID0gcGFyZW50IG5v
ZGUgdG8gYWRkIGRlZmluaXRpb25zIHRvCi0gKgotICogT24gcmV0dXJuLCB0b2sgaGFzIGJlZW4g
dXBkYXRlZC4KLSAqLwotc3RhdGljIHZvaWQKLXBhcnNlZGVmaW5pdGlvbnMoc3RydWN0IHRvayAq
dG9rLCBzdHJ1Y3Qgbm9kZSAqcGFyZW50KQotewotICAgIHBhcmVudC0+d3NzdGFydCA9IHRvay0+
cHJlc3RhcnQ7Ci0gICAgZm9yICg7OykgewotICAgICAgICBjb25zdCBjaGFyICp3c3N0YXJ0ID0g
dG9rLT5wcmVzdGFydDsKLSAgICAgICAgc3RydWN0IG5vZGUgKmVhbCA9IHBhcnNlZXh0ZW5kZWRh
dHRyaWJ1dGVsaXN0KHRvayk7Ci0gICAgICAgIHN0cnVjdCBub2RlICpub2RlOwotICAgICAgICBz
d2l0Y2ggKHRvay0+dHlwZSkgewotICAgICAgICBjYXNlIFRPS19wYXJ0aWFsOgotCSAgICBlYXQo
dG9rLCBUT0tfcGFydGlhbCk7Ci0JICAgIGlmICh0b2stPnR5cGUgPT0gVE9LX2RpY3Rpb25hcnkp
IHsKLQkgICAgICBub2RlID0gcGFyc2VkaWN0aW9uYXJ5KHRvaywgZWFsKTsKLQkgICAgfSBlbHNl
IHsKLQkgICAgICBub2RlID0gcGFyc2VpbnRlcmZhY2UodG9rLCBlYWwpOwotCSAgICB9Ci0JICAg
IGFkZG5vZGUobm9kZSwgbmV3YXR0cigicGFydGlhbCIsICJwYXJ0aWFsIikpOwotICAgICAgICAg
ICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgVE9LX2ludGVyZmFjZToKLSAgCSAgICBub2RlID0gcGFy
c2VpbnRlcmZhY2UodG9rLCBlYWwpOwotICAgICAgICAgICAgYnJlYWs7Ci0JY2FzZSBUT0tfY2Fs
bGJhY2s6Ci0JICAgIGVhdCh0b2ssIFRPS19jYWxsYmFjayk7Ci0JICAgIG5vZGUgPSBwYXJzZWNh
bGxiYWNrKHRvaywgZWFsKTsKLSAgICAgICAgICAgIGJyZWFrOwotCWNhc2UgVE9LX2RpY3Rpb25h
cnk6Ci0gICAgICAgICAgICBub2RlID0gcGFyc2VkaWN0aW9uYXJ5KHRvaywgZWFsKTsKLSAgICAg
ICAgICAgIGJyZWFrOwkgIAotCWNhc2UgVE9LX2VudW06Ci0gICAgICAgICAgICBub2RlID0gcGFy
c2VlbnVtKHRvaywgZWFsKTsKLSAgICAgICAgICAgIGJyZWFrOwkgIAotICAgICAgICBjYXNlIFRP
S19leGNlcHRpb246Ci0gICAgICAgICAgICBub2RlID0gcGFyc2VleGNlcHRpb24odG9rLCBlYWwp
OwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgVE9LX3R5cGVkZWY6Ci0gICAgICAg
ICAgICBub2RlID0gcGFyc2V0eXBlZGVmKHRvaywgZWFsKTsKLSAgICAgICAgICAgIGJyZWFrOwot
ICAgICAgICBjYXNlIFRPS19JREVOVElGSUVSOgotICAgICAgICAgICAgbm9kZSA9IHBhcnNlaW1w
bGVtZW50c3N0YXRlbWVudCh0b2ssIGVhbCk7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAg
ZGVmYXVsdDoKLSAgICAgICAgICAgIGlmIChlYWwpCi0gICAgICAgICAgICAgICAgdG9rZXJyb3Jl
eGl0KHRvaywgImV4cGVjdGVkIGRlZmluaXRpb24gYWZ0ZXIgZXh0ZW5kZWQgYXR0cmlidXRlIGxp
c3QiKTsKLSAgICAgICAgICAgIG5vZGUgPSAwOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAg
IH0KLSAgICAgICAgaWYgKCFub2RlKQotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIG5vZGUt
Pndzc3RhcnQgPSB3c3N0YXJ0OwotICAgICAgICBub2RlLT5lbmQgPSB0b2stPnN0YXJ0ICsgdG9r
LT5sZW47Ci0gICAgICAgIGVhdCh0b2ssICc7Jyk7Ci0gICAgICAgIGFkZG5vZGUocGFyZW50LCBu
b2RlKTsKLSAgICAgICAgc2V0aWQobm9kZSk7Ci0gICAgICAgIHBhcmVudC0+ZW5kID0gbm9kZS0+
ZW5kOwotICAgIH0KLX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBwYXJzZQotICoKLSAqIFJldHVy
bjogIHJvb3QgZWxlbWVudCBjb250YWluaW5nIChwb3NzaWJseSBlbXB0eSkgbGlzdCBvZiBkZWZp
bml0aW9ucwotICovCi1zdHJ1Y3Qgbm9kZSAqCi1wYXJzZSh2b2lkKQotewotCXN0cnVjdCB0b2sg
KnRvazsgCi0gICAgc3RydWN0IG5vZGUgKnJvb3QgPSBuZXdlbGVtZW50KCJEZWZpbml0aW9ucyIp
OwotICAgIHNldGNvbW1lbnRub2RlKHJvb3QpOwotICAgIHRvayA9IGxleG5vY29tbWVudCgpOwot
ICAgIHBhcnNlZGVmaW5pdGlvbnModG9rLCByb290KTsKLSAgICBpZiAodG9rLT50eXBlICE9IFRP
S19FT0YpCi0gICAgICAgIHRva2Vycm9yZXhpdCh0b2ssICJleHBlY3RlZCBlbmQgb2YgaW5wdXQi
KTsKLSAgICByZXZlcnNlY2hpbGRyZW4ocm9vdCk7Ci0gICAgcmV0dXJuIHJvb3Q7Ci19Ci0KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9zcmMvcGFyc2UuaCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRs
cHJvYy9zcmMvcGFyc2UuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYWQ5MDcxYjQ1
M2UuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9zcmMvcGFyc2UuaAorKysg
L2Rldi9udWxsCkBAIC0xLDE5ICswLDAgQEAKLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogJElkJAotICog
Q29weXJpZ2h0IDIwMDkgQXBsaXggQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0g
KiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxp
Y2Vuc2UiKTsKLSAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFu
Y2Ugd2l0aCB0aGUgTGljZW5zZS4KLSAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGlj
ZW5zZSBhdAotICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIu
MAotICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3
cml0aW5nLCBzb2Z0d2FyZQotICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlz
dHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKLSAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBD
T05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgotICogU2Vl
IHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Np
b25zIGFuZAotICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCi0gKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KiovCi0jaWZuZGVmIHBhcnNlX2gKLSNkZWZpbmUgcGFyc2VfaAotCi1zdHJ1Y3Qgbm9kZSAqcGFy
c2Uodm9pZCk7Ci0KLSNlbmRpZiAvKiBuZGVmIHBhcnNlX2ggKi8KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC93aWRscHJvYy9zcmMvcHJvY2Vzcy5jIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3NyYy9wcm9j
ZXNzLmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQ2YTM0M2I4YWEwLi4wMDAwMDAw
MDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mvc3JjL3Byb2Nlc3MuYworKysgL2Rldi9udWxs
CkBAIC0xLDMxOSArMCwwIEBACi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqICRJZCQKLSAqIENvcHlyaWdo
dCAyMDA5IEFwbGl4IENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICogTGljZW5z
ZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7
Ci0gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGgg
dGhlIExpY2Vuc2UuCi0gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQK
LSAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKLSAqIFVu
bGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywg
c29mdHdhcmUKLSAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVk
IG9uIGFuICJBUyBJUyIgQkFTSVMsCi0gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9O
UyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KLSAqIFNlZSB0aGUgTGlj
ZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQK
LSAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgotICoqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwotI2lu
Y2x1ZGUgPGFzc2VydC5oPgotI2luY2x1ZGUgPHN0ZGlvLmg+Ci0jaW5jbHVkZSA8c3RyaW5nLmg+
Ci0jaW5jbHVkZSAiY29tbWVudC5oIgotI2luY2x1ZGUgImxleC5oIgotI2luY2x1ZGUgIm1pc2Mu
aCIKLSNpbmNsdWRlICJub2RlLmgiCi0jaW5jbHVkZSAib3MuaCIKLSNpbmNsdWRlICJwYXJzZS5o
IgotI2luY2x1ZGUgInByb2Nlc3MuaCIKLQotI2lmIDAKLXN0YXRpYyBjb25zdCBjaGFyIG50bmFt
ZXNbXSA9IHsgTlROQU1FUyB9OwotI2VuZGlmIC8qMCovCi0KLS8qKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICog
cHJpbnR0ZXh0IDogcHJpbnQgdGV4dCB3aXRoIHhtbCBlbnRpdHkgZXNjYXBlcwotICoKLSAqIEVu
dGVyOiAgIHMgPSB0ZXh0Ci0gKiAgICAgICAgICBsZW4gPSBudW1iZXIgb2YgYnl0ZXMKLSAqICAg
ICAgICAgIGVzY2FtcCA9IHdoZXRoZXIgdG8gZXNjYXBlICYKLSAqCi0gKiBUaGlzIGFsc28gZXNj
YXBlcyBkb3VibGUgcXVvdGUgbWFyayBzbyBpdCBjYW4gYmUgdXNlZCBmb3IgYW4KLSAqIGF0dHJp
YnV0ZSB2YWx1ZS4gSXQgYWxzbyB0dXJucyBhIHRhYiBpbnRvIHNwYWNlcy4KLSAqLwotdm9pZAot
cHJpbnR0ZXh0KGNvbnN0IGNoYXIgKnMsIHVuc2lnbmVkIGludCBsZW4sIGludCBlc2NhbXApCi17
Ci0gICAgY29uc3QgY2hhciAqcCA9IHMsICplbmQgPSBzICsgbGVuOwotICAgIHVuc2lnbmVkIGlu
dCBjb3VudCA9IDA7Ci0gICAgd2hpbGUgKHAgIT0gZW5kKSB7Ci0gICAgICAgIGludCBjaCA9ICpw
OwotICAgICAgICBjaGFyIGJ1Zls5XTsKLSAgICAgICAgY29uc3QgY2hhciAqc2VxID0gMDsKLSAg
ICAgICAgY291bnQrKzsKLSAgICAgICAgc3dpdGNoIChjaCkgewotICAgICAgICBjYXNlICc8JzoK
LSAgICAgICAgICAgIHNlcSA9ICImbHQ7IjsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBj
YXNlICcmJzoKLSAgICAgICAgICAgIHNlcSA9IGVzY2FtcCA/ICImYW1wOyIgOiAiJiI7Ci0gICAg
ICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSAnIic6Ci0gICAgICAgICAgICBzZXEgPSAiJnF1
b3Q7IjsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlICdcbic6Ci0gICAgICAgICAg
ICBwKys7Ci0gICAgICAgICAgICBjb3VudCA9IDA7Ci0gICAgICAgICAgICBjb250aW51ZTsKLSAg
ICAgICAgY2FzZSAnXHQnOgotICAgICAgICAgICAgc2VxID0gIiAgICAgICAgIiArICgoY291bnQg
LSAxKSAmIDcpOwotICAgICAgICAgICAgY291bnQgPSAwOwotICAgICAgICAgICAgYnJlYWs7Ci0g
ICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICBpZiAoKHVuc2lnbmVkIGNoYXIpY2ggPj0gMHgy
MCkgewotICAgICAgICAgICAgICAgIHArKzsKLSAgICAgICAgICAgICAgICBjb250aW51ZTsKLSAg
ICAgICAgICAgIH0KLSAgICAgICAgICAgIHNucHJpbnRmKGJ1ZiwgOSwgIiYjJWk7IiwgY2gpOwot
ICAgICAgICAgICAgc2VxID0gYnVmOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLSAg
ICAgICAgaWYgKHAgLSBzICE9IGZ3cml0ZShzLCAxLCBwIC0gcywgc3Rkb3V0KSkKLSAgICAgICAg
ICAgIGVycm9yZXhpdCgid3JpdGUgZXJyb3IiKTsKLSAgICAgICAgZnB1dHMoc2VxLCBzdGRvdXQp
OwotICAgICAgICBzID0gKytwOwotICAgIH0KLSAgICBpZiAocCAtIHMgIT0gZndyaXRlKHMsIDEs
IHAgLSBzLCBzdGRvdXQpKQotICAgICAgICBlcnJvcmV4aXQoIndyaXRlIGVycm9yIik7Ci19Ci0K
LSNpZiAwCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioKLSAqIG91dHB1dG5vZGVhc3RleHQgOiBvdXRwdXQgcGFy
c2Ugbm9kZSBhbmQgZGVzY2VuZGFudHMgYXMgZGVwYXJzZWQgdGV4dAotICoKLSAqIEVudGVyOiAg
IG5vZGUgPSBwYXJzZSBub2RlCi0gKiAgICAgICAgICBuZWVkc3BhY2UgPSB0cnVlIGlmIGxhc3Qg
b3V0cHV0IGNoYXIgd2FzIGFuIGlkZW50aWZpZXIgY2hhcgotICoKLSAqIFJldHVybjogIHVwZGF0
ZWQgbmVlZHNwYWNlIHZhbHVlCi0gKi8KLXN0YXRpYyBpbnQKLW91dHB1dG5vZGVhc3RleHQoc3Ry
dWN0IG5vZGUgKm5vZGUsIGludCBuZWVkc3BhY2UpCi17Ci0gICAgaWYgKG5vZGUtPnR5cGUgPj0g
TlRfU1RBUlQpIHsKLSAgICAgICAgc3RydWN0IG5vZGUgKmNoaWxkID0gbm9kZS0+Y2hpbGRyZW47
Ci0gICAgICAgIHdoaWxlIChjaGlsZCkgewotICAgICAgICAgICAgbmVlZHNwYWNlID0gb3V0cHV0
bm9kZWFzdGV4dChjaGlsZCwgbmVlZHNwYWNlKTsKLSAgICAgICAgICAgIGNoaWxkID0gY2hpbGQt
Pm5leHQ7Ci0gICAgICAgIH0KLSAgICB9IGVsc2UgewotICAgICAgICB1bnNpZ25lZCBpbnQgbGVu
ID0gc3RybGVuKG5vZGUtPm5hbWUpOwotICAgICAgICBpZiAobGVuKSB7Ci0gICAgICAgICAgICBp
bnQgY2ggPSBub2RlLT5uYW1lWzBdOwotICAgICAgICAgICAgaWYgKGNoID09ICdfJyB8fCAoKHVu
c2lnbmVkKShjaCAtICcwJykgPCAxMAotICAgICAgICAgICAgICAgICAgICB8fCAodW5zaWduZWQp
KChjaCAmIH4weDIwKSAtICdBJykgPCAyNikpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAg
ICAgaWYgKG5lZWRzcGFjZSkgcHV0Y2hhcignICcpOwotICAgICAgICAgICAgfQotICAgICAgICAg
ICAgY2ggPSBub2RlLT5uYW1lW2xlbiAtIDFdOwotICAgICAgICAgICAgaWYgKGNoID09ICdfJyB8
fCAoKHVuc2lnbmVkKShjaCAtICcwJykgPCAxMAotICAgICAgICAgICAgICAgICAgICB8fCAodW5z
aWduZWQpKChjaCAmIH4weDIwKSAtICdBJykgPCAyNikpCi0gICAgICAgICAgICB7Ci0gICAgICAg
ICAgICAgICAgbmVlZHNwYWNlID0gMTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIHByaW50
dGV4dChub2RlLT5uYW1lLCBsZW4sIDEpOwotICAgICAgICB9Ci0gICAgfQotICAgIHJldHVybiBu
ZWVkc3BhY2U7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogcHJpbnRmcWlkIDogcHJpbnQgZnVs
bHktcXVhbGlmaWVkIGlkCi0gKgotICogRW50ZXI6ICAgbm9kZSBzdHJ1Y3QKLSAqCi0gKiBSZXR1
cm46ICB3aGV0aGVyIGFueXRoaW5nIHByaW50ZWQKLSAqLwotc3RhdGljIGludAotcHJpbnRmcWlk
KHN0cnVjdCBub2RlICpub2RlKQotewotICAgIGludCBhbnkgPSAwOwotICAgIHN0cnVjdCBub2Rl
ICppZGVudGlmaWVyOwotICAgIGlmIChub2RlLT5wYXJlbnQpIHsKLSAgICAgICAgYW55ID0gcHJp
bnRmcWlkKG5vZGUtPnBhcmVudCk7Ci0gICAgfQotICAgIHN3aXRjaCAobm9kZS0+dHlwZSkgewot
ICAgIGNhc2UgTlRfTW9kdWxlOgotICAgIGNhc2UgTlRfSW50ZXJmYWNlOgotICAgIGNhc2UgTlRf
VHlwZWRlZjoKLSAgICBjYXNlIE5UX09wZXJhdGlvbjoKLSAgICBjYXNlIE5UX0F0dHJpYnV0ZToK
LSAgICBjYXNlIE5UX0NvbnN0OgotICAgICAgICBpZiAoYW55KQotICAgICAgICAgICAgcHJpbnRm
KCI6Iik7Ci0gICAgICAgIC8qIEZpbmQgaWRlbnRpZmllciBjaGlsZCBpZiBhbnkuICovCi0gICAg
ICAgIGlkZW50aWZpZXIgPSBub2RlLT5jaGlsZHJlbjsKLSAgICAgICAgd2hpbGUgKGlkZW50aWZp
ZXIpIHsKLSAgICAgICAgICAgIGlmIChpZGVudGlmaWVyLT50eXBlID09IFRPS19JREVOVElGSUVS
KQotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgaWYgKGlkZW50aWZpZXItPnR5
cGUgPT0gTlRfVHlwZWRlZlJlc3QpIHsKLSAgICAgICAgICAgICAgICBpZGVudGlmaWVyID0gaWRl
bnRpZmllci0+Y2hpbGRyZW47Ci0gICAgICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAg
ICB9Ci0gICAgICAgICAgICBpZGVudGlmaWVyID0gaWRlbnRpZmllci0+bmV4dDsKLSAgICAgICAg
fQotICAgICAgICBpZiAoaWRlbnRpZmllcikgewotICAgICAgICAgICAgcHJpbnR0ZXh0KGlkZW50
aWZpZXItPm5hbWUsIHN0cmxlbihpZGVudGlmaWVyLT5uYW1lKSwgMSk7Ci0gICAgICAgICAgICBh
bnkgPSAxOwotICAgICAgICB9Ci0gICAgICAgIGJyZWFrOwotICAgIH0KLSAgICByZXR1cm4gYW55
OwotfQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioKLSAqIG91dHB1dCA6IG91dHB1dCBzdWJ0cmVlIG9mIHBh
cnNlIHRyZWUKLSAqCi0gKiBFbnRlcjogICBub2RlID0gcm9vdCBvZiBzdWJ0cmVlCi0gKiAgICAg
ICAgICBleHRlbmRlZGF0dHJpYnV0ZWxpc3QgPSAwIGVsc2UgZXh0ZW5kZWQgYXR0cmlidXRlIGxp
c3Qgbm9kZQotICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXBwbHlpbmcgdG8g
bm9kZQotICogICAgICAgICAgaW5kZW50ID0gaW5kZW50IChuZXN0aW5nKSBsZXZlbAotICovCi1z
dGF0aWMgdm9pZCBvdXRwdXRjaGlsZHJlbihzdHJ1Y3Qgbm9kZSAqbm9kZSwgc3RydWN0IG5vZGUg
KmlkZW50aWZpZXIsIHVuc2lnbmVkIGludCBpbmRlbnQpOwotCi1zdGF0aWMgdm9pZAotb3V0cHV0
KHN0cnVjdCBub2RlICpub2RlLCBzdHJ1Y3Qgbm9kZSAqZXh0ZW5kZWRhdHRyaWJ1dGVsaXN0LAot
ICAgICAgIHVuc2lnbmVkIGludCBpbmRlbnQpCi17Ci0gICAgaWYgKGV4dGVuZGVkYXR0cmlidXRl
bGlzdCkgewotICAgICAgICBub2RlLT53c3N0YXJ0ID0gZXh0ZW5kZWRhdHRyaWJ1dGVsaXN0LT53
c3N0YXJ0OwotICAgICAgICBub2RlLT5zdGFydCA9IGV4dGVuZGVkYXR0cmlidXRlbGlzdC0+c3Rh
cnQ7Ci0gICAgfQotICAgIGlmIChub2RlLT50eXBlID09IE5UX0V4dGVuZGVkQXR0cmlidXRlKSB7
Ci0gICAgICAgIHByaW50ZigiJSpzPEV4dGVuZGVkQXR0cmlidXRlIHZhbHVlPVwiIiwgaW5kZW50
LCAiIik7Ci0gICAgICAgIG91dHB1dG5vZGVhc3RleHQobm9kZSwgMCk7Ci0gICAgICAgIHByaW50
ZigiXCIvPlxuIik7Ci0gICAgfSBlbHNlIGlmIChub2RlLT50eXBlID09IE5UX0Jvb2xlYW5MaXRl
cmFsKSB7Ci0gICAgICAgIHByaW50ZigiJSpzPEJvb2xlYW5MaXRlcmFsIHZhbHVlPVwiJXNcIi8+
IiwgaW5kZW50LCAiIiwKLSAgICAgICAgICAgIG5vZGUtPmNoaWxkcmVuLT5uYW1lKTsKLSAgICB9
IGVsc2UgaWYgKG5vZGUtPnR5cGUgPT0gTlRfUmVhZE9ubHkpIHsKLSAgICAgICAgcHJpbnRmKCIl
KnM8UmVhZE9ubHkvPlxuIiwgaW5kZW50LCAiIik7Ci0gICAgfSBlbHNlIGlmIChub2RlLT50eXBl
ID49IE5UX1NUQVJUKSB7Ci0gICAgICAgIGNvbnN0IGNoYXIgKm50bmFtZTsKLSAgICAgICAgLyog
RmluZCBpZGVudGlmaWVyIGNoaWxkIGlmIGFueS4gKi8KLSAgICAgICAgc3RydWN0IG5vZGUgKmlk
ZW50aWZpZXIgPSBub2RlLT5jaGlsZHJlbjsKLSAgICAgICAgd2hpbGUgKGlkZW50aWZpZXIpIHsK
LSAgICAgICAgICAgIGlmIChpZGVudGlmaWVyLT50eXBlID09IFRPS19JREVOVElGSUVSKQotICAg
ICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgaWRlbnRpZmllciA9IGlkZW50aWZpZXIt
Pm5leHQ7Ci0gICAgICAgIH0KLSAgICAgICAgLyogRmluZCBub250ZXJtaW5hbCBuYW1lLiAqLwot
ICAgICAgICBudG5hbWUgPSBudG5hbWVzICsgMjsKLSAgICAgICAgd2hpbGUgKG5vZGUtPnR5cGUg
LSBOVF9TVEFSVCAhPSAoKHVuc2lnbmVkIGNoYXIpbnRuYW1lWy0yXSB8ICh1bnNpZ25lZCBjaGFy
KW50bmFtZVstMV0gPDwgOCkpCi0gICAgICAgICAgICBudG5hbWUgKz0gc3RybGVuKG50bmFtZSkg
KyAzOwotICAgICAgICAvKiBPdXRwdXQgc3RhcnQgb2YgZWxlbWVudC4gKi8KLSAgICAgICAgcHJp
bnRmKCIlKnM8JXMiLCBpbmRlbnQsICIiLCBudG5hbWUpOwotICAgICAgICAvKiBPdXRwdXQgaWRl
bnRpZmllciBpZiBhbnkgYXMgYXR0cmlidXRlLiAqLwotICAgICAgICBpZiAoaWRlbnRpZmllcikg
ewotICAgICAgICAgICAgcHJpbnRmKCIgaWRlbnRpZmllcj1cIiIpOwotICAgICAgICAgICAgcHJp
bnR0ZXh0KGlkZW50aWZpZXItPm5hbWUsIHN0cmxlbihpZGVudGlmaWVyLT5uYW1lKSwgMSk7Ci0g
ICAgICAgICAgICBwcmludGYoIlwiIik7Ci0gICAgICAgIH0KLSAgICAgICAgc3dpdGNoIChub2Rl
LT50eXBlKSB7Ci0gICAgICAgIGNhc2UgTlRfTW9kdWxlOgotICAgICAgICBjYXNlIE5UX0ludGVy
ZmFjZToKLSAgICAgICAgY2FzZSBOVF9UeXBlZGVmOgotICAgICAgICBjYXNlIE5UX0NvbnN0Ogot
ICAgICAgICAgICAgLyogT3V0cHV0IGZ1bGx5IHF1YWxpZmllZCBpZC4gKi8KLSAgICAgICAgICAg
IHByaW50ZigiIGZxaWQ9XCIiKTsKLSAgICAgICAgICAgIHByaW50ZnFpZChub2RlKTsKLSAgICAg
ICAgICAgIHByaW50ZigiXCIiKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0gICAg
ICAgIGlmICghaWRlbnRpZmllciAmJiAhZXh0ZW5kZWRhdHRyaWJ1dGVsaXN0ICYmICFub2RlLT5j
aGlsZHJlbiAmJiAhbm9kZS0+Y29tbWVudHMpCi0gICAgICAgICAgICBwcmludGYoIi8+XG4iKTsK
LSAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICBwcmludGYoIj5cbiIpOwotICAgICAgICAgICAg
LyogT3V0cHV0IGRlc2NyaXB0aXZlIGVsZW1lbnRzIChkb3h5Z2VuIGNvbW1lbnRzKSBmb3Igbm9k
ZS4gKi8KLSAgICAgICAgICAgIG91dHB1dGRlc2NyaXB0aXZlKG5vZGUsIGluZGVudCArIDIpOwot
ICAgICAgICAgICAgLyogT3V0cHV0IGRlc2NyaXB0aXZlIGVsZW1lbnRzIChkb3h5Z2VuIGNvbW1l
bnRzKSBmb3IgaWRlbnRpZmllci4gKi8KLSAgICAgICAgICAgIGlmIChpZGVudGlmaWVyKQotICAg
ICAgICAgICAgICAgIG91dHB1dGRlc2NyaXB0aXZlKGlkZW50aWZpZXIsIGluZGVudCArIDIpOwot
ICAgICAgICAgICAgLyogT3V0cHV0IGV4dGVuZGVkIGF0dHJpYnV0ZSBsaXN0LiAqLwotICAgICAg
ICAgICAgaWYgKGV4dGVuZGVkYXR0cmlidXRlbGlzdCkKLSAgICAgICAgICAgICAgICBvdXRwdXQo
ZXh0ZW5kZWRhdHRyaWJ1dGVsaXN0LCAwLCBpbmRlbnQgKyAyKTsKLSAgICAgICAgICAgIC8qIE91
dHB1dCBjaGlsZHJlbiAoZXhjbHVkaW5nIGlkZW50aWZpZXIgY2hpbGQpLiAqLwotICAgICAgICAg
ICAgb3V0cHV0Y2hpbGRyZW4obm9kZSwgaWRlbnRpZmllciwgaW5kZW50ICsgMik7Ci0gICAgICAg
ICAgICBwcmludGYoIiUqczwvJXM+XG4iLCBpbmRlbnQsICIiLCBudG5hbWUpOwotICAgICAgICB9
Ci0gICAgfSBlbHNlIHN3aXRjaCAobm9kZS0+dHlwZSkgewotICAgIGNhc2UgVE9LX0RPTVN0cmlu
ZzoKLSAgICBjYXNlIFRPS19hbnk6Ci0gICAgY2FzZSBUT0tfYm9vbGVhbjoKLSAgICBjYXNlIFRP
S19vY3RldDoKLSAgICBjYXNlIFRPS19mbG9hdDoKLSAgICBjYXNlIFRPS19kb3VibGU6Ci0gICAg
Y2FzZSBUT0tfT2JqZWN0OgotICAgIGNhc2UgVE9LX3Vuc2lnbmVkOgotICAgIGNhc2UgVE9LX3No
b3J0OgotICAgIGNhc2UgVE9LX2xvbmc6Ci0gICAgY2FzZSBUT0tfdm9pZDoKLSAgICAgICAgcHJp
bnRmKCIlKnM8JXMvPlxuIiwgaW5kZW50LCAiIiwgbm9kZS0+bmFtZSk7Ci0gICAgICAgIGJyZWFr
OwotICAgIGNhc2UgVE9LX0lOVEVHRVI6Ci0gICAgICAgIHByaW50ZigiJSpzPGludGVnZXIgdmFs
dWU9XCIiLCBpbmRlbnQsICIiKTsKLSAgICAgICAgcHJpbnR0ZXh0KG5vZGUtPm5hbWUsIHN0cmxl
bihub2RlLT5uYW1lKSwgMSk7Ci0gICAgICAgIHByaW50ZigiXCIvPlxuIik7Ci0gICAgICAgIGJy
ZWFrOwotICAgIGNhc2UgVE9LX0ZMT0FUOgotICAgICAgICBwcmludGYoIiUqczxGbG9hdCB2YWx1
ZT1cIiIsIGluZGVudCwgIiIpOwotICAgICAgICBwcmludHRleHQobm9kZS0+bmFtZSwgc3RybGVu
KG5vZGUtPm5hbWUpLCAxKTsKLSAgICAgICAgcHJpbnRmKCJcIi8+XG4iKTsKLSAgICAgICAgYnJl
YWs7Ci0gICAgY2FzZSBUT0tfU1RSSU5HOgotICAgICAgICBwcmludGYoIiUqczxzdHJpbmcgdmFs
dWU9XCIiLCBpbmRlbnQsICIiKTsKLSAgICAgICAgcHJpbnR0ZXh0KG5vZGUtPm5hbWUsIHN0cmxl
bihub2RlLT5uYW1lKSwgMSk7Ci0gICAgICAgIHByaW50ZigiXCIvPlxuIik7Ci0gICAgICAgIGJy
ZWFrOwotICAgIH0KLX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBvdXRwdXRjaGlsZHJlbiA6IGNh
bGwgb3V0cHV0IGZvciBlYWNoIGNoaWxkIG9mIG5vZGUKLSAqCi0gKiBFbnRlcjogICBub2RlCi0g
KiAgICAgICAgICBpZGVudGlmaWVyID0gY2hpbGQgbm9kZSB0byBvbWl0IGZyb20gb3V0cHV0Ci0g
KiAgICAgICAgICBpbmRlbnQgPSBpbmRlbnQgKG5lc3RpbmcpIGxldmVsCi0gKi8KLXN0YXRpYyB2
b2lkCi1vdXRwdXRjaGlsZHJlbihzdHJ1Y3Qgbm9kZSAqbm9kZSwgc3RydWN0IG5vZGUgKmlkZW50
aWZpZXIsIHVuc2lnbmVkIGludCBpbmRlbnQpCi17Ci0gICAgc3RydWN0IG5vZGUgKmV4dGVuZGVk
YXR0cmlidXRlbGlzdDsKLSAgICBzdHJ1Y3Qgbm9kZSAqY2hpbGQ7Ci0gICAgY2hpbGQgPSBub2Rl
LT5jaGlsZHJlbjsKLSAgICBleHRlbmRlZGF0dHJpYnV0ZWxpc3QgPSAwOwotICAgIHdoaWxlIChj
aGlsZCkgewotICAgICAgICBpZiAoY2hpbGQtPnR5cGUgPT0gTlRfRXh0ZW5kZWRBdHRyaWJ1dGVM
aXN0ICYmIG5vZGUtPnR5cGUgIT0gTlRfQXJndW1lbnQpCi0gICAgICAgICAgICBleHRlbmRlZGF0
dHJpYnV0ZWxpc3QgPSBjaGlsZDsKLSAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICBpZiAoaWRl
bnRpZmllciAhPSBjaGlsZCkKLSAgICAgICAgICAgICAgICBvdXRwdXQoY2hpbGQsIGV4dGVuZGVk
YXR0cmlidXRlbGlzdCwgaW5kZW50KTsKLSAgICAgICAgICAgIGV4dGVuZGVkYXR0cmlidXRlbGlz
dCA9IDA7Ci0gICAgICAgIH0KLSAgICAgICAgY2hpbGQgPSBjaGlsZC0+bmV4dDsKLSAgICB9Ci19
Ci0jZW5kaWYgLyowKi8KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBwcm9jZXNzZmlsZXMgOiBwcm9j
ZXNzIGlucHV0IGZpbGVzCi0gKgotICogRW50ZXI6ICAgbmFtZSA9IGZpbGVuYW1lCi0gKi8KLXZv
aWQKLXByb2Nlc3NmaWxlcyhjb25zdCBjaGFyICpjb25zdCAqbmFtZXMsIGludCBkdGRyZWYpCi17
Ci0gICAgc3RydWN0IG5vZGUgKnJvb3Q7Ci0gICAgcmVhZGlucHV0KG5hbWVzKTsKLSAgICByb290
ID0gcGFyc2UoKTsKLSAgICBwcm9jZXNzY29tbWVudHMocm9vdCk7Ci0gICAgcHJpbnRmKCI8P3ht
bCB2ZXJzaW9uPVwiMS4wXCIgZW5jb2Rpbmc9XCJVVEYtOFwiPz5cbiIpOwotICAgIGlmKGR0ZHJl
ZikKLSAgICAgICAgcHJpbnRmKCI8IURPQ1RZUEUgRGVmaW5pdGlvbnMgU1lTVEVNIFwid2lkbHBy
b2N4bWwuZHRkXCI+XG4iKTsKLSAgICBvdXRwdXRub2RlKHJvb3QsIDApOwotfQotCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mvc3JjL3Byb2Nlc3MuaCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJv
Yy9zcmMvcHJvY2Vzcy5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiYjkyYjIyY2Ux
My4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3NyYy9wcm9jZXNzLmgKKysr
IC9kZXYvbnVsbApAQCAtMSwyNyArMCwwIEBACi0vKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqICRJZCQKLSAq
IENvcHlyaWdodCAyMDA5IEFwbGl4IENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgot
ICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJM
aWNlbnNlIik7Ci0gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlh
bmNlIHdpdGggdGhlIExpY2Vuc2UuCi0gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExp
Y2Vuc2UgYXQKLSAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0y
LjAKLSAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4g
d3JpdGluZywgc29mdHdhcmUKLSAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRp
c3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCi0gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1Ig
Q09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KLSAqIFNl
ZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNz
aW9ucyBhbmQKLSAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgotICoqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqLwotI2lmbmRlZiBwcm9jZXNzX2gKLSNkZWZpbmUgcHJvY2Vzc19oCi0KLSNpZiAwCi0jZGVm
aW5lIE5UX1NUQVJUIDB4MTAwCi0jaW5jbHVkZSAibm9udGVybWluYWxzLmgiCi0jZW5kaWYvKjAq
LwotCi12b2lkIHByaW50dGV4dChjb25zdCBjaGFyICpzLCB1bnNpZ25lZCBpbnQgbGVuLCBpbnQg
ZXNjYW1wKTsKLQotdm9pZCBwcm9jZXNzZmlsZXMoY29uc3QgY2hhciAqY29uc3QgKm5hbWVzLCBp
bnQgZHRkcmVmKTsKLQotI2VuZGlmIC8qIG5kZWYgcHJvY2Vzc19oICovCi0KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC93aWRscHJvYy9zcmMvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHBy
b2Mvc3JjL3czYy1pbXBvcnQubG9nCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiNGVl
ZWVmOGZjMi4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3NyYy93M2MtaW1w
b3J0LmxvZworKysgL2Rldi9udWxsCkBAIC0xLDMzICswLDAgQEAKLVRoZSB0ZXN0cyBpbiB0aGlz
IGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgotRG8gTk9U
IG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUg
YSBwdWxsIHJlcXVlc3Qgb24gdGhlIFczQyBDU1Mgb3IgV1BUIGdpdGh1YjoKLQlodHRwczovL2dp
dGh1Yi5jb20vdzNjL2Nzc3dnLXRlc3QKLQlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cwotCi1UaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3Rz
IGluIFdlYktpdCB0byByZWltcG9ydAotCi1EbyBOT1QgbW9kaWZ5IG9yIHJlbW92ZSB0aGlzIGZp
bGUuCi0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotUHJvcGVydGllcyByZXF1aXJpbmcgdmVuZG9yIHByZWZp
eGVzOgotTm9uZQotUHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6Ci1O
b25lCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0KLUxpc3Qgb2YgZmlsZXM6Ci0vTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9j
L3NyYy9jb21tZW50LmMKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mvc3JjL2NvbW1lbnQuaAotL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC93aWRscHJvYy9zcmMvZW50aXRpZXMuaAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9zcmMvbGV4
LmMKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mvc3JjL2xleC5oCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Ny
Yy9tYWluLmMKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mvc3JjL21pc2MuYwotL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRs
cHJvYy9zcmMvbWlzYy5oCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3NyYy9ub2RlLmMKLS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvd2lkbHByb2Mvc3JjL25vZGUuaAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9zcmMvb3MuaAotL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC93aWRscHJvYy9zcmMvcGFyc2UuYwotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9zcmMvcGFy
c2UuaAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9zcmMvcHJvY2Vzcy5jCi0vTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxw
cm9jL3NyYy9wcm9jZXNzLmgKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mvc3JjL3dpZGxwcm9jeG1sdG9o
dG1sLnhzbApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3NyYy93aWRscHJvY3htbHRv
aHRtbC54c2wgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mvc3JjL3dpZGxwcm9jeG1sdG9odG1sLnhzbApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMmI1ODMzNzFlN2QuLjAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC93aWRscHJvYy9zcmMvd2lkbHByb2N4bWx0b2h0bWwueHNsCisrKyAvZGV2
L251bGwKQEAgLTEsODI4ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0
Zi04Ij8+Ci08IS0tPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLSRJZDogd2lkbHByb2N4bWx0b2h0bWwueHNsIDQwNyAy
MDA5LTEwLTI2IDEzOjQ4OjQ4WiB0cHIgJAotQ29weXJpZ2h0IDIwMDkgQXBsaXggQ29ycG9yYXRp
b24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi1MaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vu
c2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKLXlvdSBtYXkgbm90IHVzZSB0aGlzIGZp
bGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KLVlvdSBtYXkgb2J0YWlu
IGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAotICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNl
bnNlcy9MSUNFTlNFLTIuMAotVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFn
cmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQotZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vu
c2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKLVdJVEhPVVQgV0FSUkFOVElF
UyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgot
U2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1p
c3Npb25zIGFuZAotbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCi0KLVhTTFQgc3R5bGVz
aGVldCB0byBjb252ZXJ0IHdpZGxwcm9jeG1sIGludG8gaHRtbCBkb2N1bWVudGF0aW9uLgotPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09LS0+Ci08eHNsOnN0eWxlc2hlZXQgeG1sbnM6eHNsPSJodHRwOi8vd3d3LnczLm9y
Zy8xOTk5L1hTTC9UcmFuc2Zvcm0iIHZlcnNpb249IjEuMCI+Ci08eHNsOm91dHB1dCBtZXRob2Q9
Imh0bWwiIGVuY29kaW5nPSJ1dGYtOCIgaW5kZW50PSJ5ZXMiIGRvY3R5cGUtcHVibGljPSJodG1s
Ii8+Ci0KLTx4c2w6cGFyYW0gbmFtZT0iZGF0ZSIgc2VsZWN0PSInZXJyb3I6IG1pc3NpbmcgZGF0
ZSciLz4KLQotPHhzbDp2YXJpYWJsZSBuYW1lPSJ0aXRsZSIgc2VsZWN0PSJjb25jYXQoJ1RoZSAn
LC9EZWZpbml0aW9ucy9kZXNjcmlwdGl2ZS9uYW1lLCcgTW9kdWxlIC0gVmVyc2lvbiAnLC9EZWZp
bml0aW9ucy9kZXNjcmlwdGl2ZS92ZXJzaW9uKSIvPgotCi08IS0tUm9vdCBvZiBkb2N1bWVudC4t
LT4KLTx4c2w6dGVtcGxhdGUgbWF0Y2g9Ii8iPgotICAgIDxodG1sPgotICAgICAgICA8aGVhZD4K
LSAgICAgICAgICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9
IndpZGxodG1sLmNzcyIgbWVkaWE9InNjcmVlbiIvPgotICAgICAgICAgICAgPHRpdGxlPgotICAg
ICAgICAgICAgICAgIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIkdGl0bGUiLz4KLSAgICAgICAgICAg
IDwvdGl0bGU+Ci0gICAgICAgIDwvaGVhZD4KLSAgICAgICAgPGJvZHk+Ci0gICAgICAgICAgICA8
eHNsOmFwcGx5LXRlbXBsYXRlcy8+Ci0gICAgICAgIDwvYm9keT4KLSAgICA8L2h0bWw+Ci08L3hz
bDp0ZW1wbGF0ZT4KLQotPCEtLVJvb3Qgb2YgRGVmaW5pdGlvbnMuLS0+Ci08eHNsOnRlbXBsYXRl
IG1hdGNoPSJEZWZpbml0aW9ucyI+Ci0gICAgPGRpdiBjbGFzcz0iYXBpIiBpZD0ie0BpZH0iPgot
ICAgICAgICA8YSBocmVmPSJodHRwOi8vYm9uZGkub210cC5vcmciPjxpbWcgc3JjPSJodHRwOi8v
d3d3Lm9tdHAub3JnL2ltYWdlcy9Cb25kaVNtYWxsLmpwZyIgYWx0PSJCb25kaSBsb2dvIi8+PC9h
PgotICAgICAgICA8aDE+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IiR0aXRsZSIvPjwvaDE+Ci0gICAg
ICAgIDxoMz4xMiBNYXkgMjAwOTwvaDM+Ci0KLSAgICAgICAgPGgyPkF1dGhvcnM8L2gyPgotICAg
ICAgICA8dWwgY2xhc3M9ImF1dGhvcnMiPgotICAgICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVz
IHNlbGVjdD0iZGVzY3JpcHRpdmUvYXV0aG9yIi8+Ci0gICAgICAgIDwvdWw+Ci0KLSAgICAgICAg
PHAgY2xhc3M9ImNvcHlyaWdodCI+PHNtYWxsPsKpIFRoZSBhdXRob3JzLCAyMDEyLiBBbGwgcmln
aHRzIHJlc2VydmVkLjwvc21hbGw+PC9wPgotCi0gICAgICAgIDxoci8+Ci0KLSAgICAgICAgPGgy
PkFic3RyYWN0PC9oMj4KLQotICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9ImRl
c2NyaXB0aXZlL2JyaWVmIi8+Ci0gICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0i
ZGVzY3JpcHRpdmUvZGVzY3JpcHRpb24iLz4KLSAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMg
c2VsZWN0PSJkZXNjcmlwdGl2ZS9Db2RlIi8+Ci0KLSAgICAgICAgPGgyPlRhYmxlIG9mIENvbnRl
bnRzPC9oMj4KLSAgICAgICAgPHVsIGNsYXNzPSJ0b2MiPgotICAgICAgICAgIDxsaT48YSBocmVm
PSIjaW50cm8iPkludHJvZHVjdGlvbjwvYT4KLSAgICAgICAgICA8dWw+Ci0gICAgICAgICAgICA8
eHNsOmlmIHRlc3Q9ImRlc2NyaXB0aXZlL2RlZi1hcGktZmVhdHVyZS1zZXQiPgotICAgICAgICAg
ICAgICA8bGk+PGEgaHJlZj0iI2RlZi1hcGktZmVhdHVyZS1zZXRzIj5GZWF0dXJlIHNldDwvYT48
L2xpPgotICAgICAgICAgICAgPC94c2w6aWY+Ci0gICAgICAgICAgICA8eHNsOmlmIHRlc3Q9ImRl
c2NyaXB0aXZlL2RlZi1hcGktZmVhdHVyZSI+Ci0gICAgICAgICAgICAgIDxsaT48YSBocmVmPSIj
ZGVmLWFwaS1mZWF0dXJlcyI+RmVhdHVyZXM8L2E+PC9saT4KLSAgICAgICAgICAgIDwveHNsOmlm
PgotICAgICAgICAgICAgPHhzbDppZiB0ZXN0PSJkZXNjcmlwdGl2ZS9kZWYtZGV2aWNlLWNhcCI+
Ci0gICAgICAgICAgICAgIDxsaT48YSBocmVmPSIjZGVmLWRldmljZS1jYXBzIj5EZXZpY2UgQ2Fw
YWJpbGl0aWVzPC9hPjwvbGk+Ci0gICAgICAgICAgICA8L3hzbDppZj4KLSAgICAgICAgICA8L3Vs
PgotICAgICAgICAgIDwvbGk+Ci0gICAgICAgICAgPHhzbDppZiB0ZXN0PSJUeXBlZGVmIj4KLSAg
ICAgICAgICAgIDxsaT48YSBocmVmPSIjdHlwZWRlZnMiPlR5cGUgRGVmaW5pdGlvbnM8L2E+Ci0g
ICAgICAgICAgICA8dWwgY2xhc3M9InRvYyI+Ci0gICAgICAgICAgICAgIDx4c2w6Zm9yLWVhY2gg
c2VsZWN0PSJUeXBlZGVmW2Rlc2NyaXB0aXZlXSI+Ci0gICAgICAgICAgICAgICAgPGxpPjxhIGhy
ZWY9IiN7QGlkfSI+PGNvZGU+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBuYW1lIi8+PC9jb2RlPjwv
YT48L2xpPgotICAgICAgICAgICAgICA8L3hzbDpmb3ItZWFjaD4KLSAgICAgICAgICAgIDwvdWw+
Ci0gICAgICAgICAgICA8L2xpPgotICAgICAgICAgIDwveHNsOmlmPgotICAgICAgICAgIDx4c2w6
aWYgdGVzdD0iSW50ZXJmYWNlIj4KLQkgICAgICAgICAgPGxpPjxhIGhyZWY9IiNpbnRlcmZhY2Vz
Ij5JbnRlcmZhY2VzPC9hPgotCSAgICAgICAgICA8dWwgY2xhc3M9InRvYyI+Ci0JICAgICAgICAg
IDx4c2w6Zm9yLWVhY2ggc2VsZWN0PSJJbnRlcmZhY2VbZGVzY3JpcHRpdmVdIj4KLQkgICAgICAg
ICAgICA8bGk+PGEgaHJlZj0iI3tAaWR9Ij48Y29kZT48eHNsOnZhbHVlLW9mIHNlbGVjdD0iQG5h
bWUiLz48L2NvZGU+PC9hPjwvbGk+Ci0JICAgICAgICAgIDwveHNsOmZvci1lYWNoPgotCSAgICAg
ICAgICA8L3VsPgotCSAgICAgICAgICA8L2xpPgotICAgICAgICAgIDwveHNsOmlmPgotICAgICAg
ICAgIDx4c2w6aWYgdGVzdD0iRGljdGlvbmFyeSI+Ci0JICAgICAgICAgIDxsaT48YSBocmVmPSIj
ZGljdGlvbmFyaWVzIj5EaWN0aW9uYXJ5IHR5cGVzPC9hPgotCSAgICAgICAgICA8dWwgY2xhc3M9
InRvYyI+Ci0JICAgICAgICAgIDx4c2w6Zm9yLWVhY2ggc2VsZWN0PSJEaWN0aW9uYXJ5W2Rlc2Ny
aXB0aXZlXSI+Ci0JICAgICAgICAgICAgPGxpPjxhIGhyZWY9IiN7QGlkfSI+PGNvZGU+PHhzbDp2
YWx1ZS1vZiBzZWxlY3Q9IkBuYW1lIi8+PC9jb2RlPjwvYT48L2xpPgotCSAgICAgICAgICA8L3hz
bDpmb3ItZWFjaD4KLQkgICAgICAgICAgPC91bD4KLQkgICAgICAgICAgPC9saT4KLSAgICAgICAg
ICA8L3hzbDppZj4KLSAgICAgICAgICA8eHNsOmlmIHRlc3Q9IkNhbGxiYWNrIj4KLQkgICAgICAg
ICAgPGxpPjxhIGhyZWY9IiNjYWxsYmFja3MiPkNhbGxiYWNrczwvYT4KLQkgICAgICAgICAgPHVs
IGNsYXNzPSJ0b2MiPgotCSAgICAgICAgICA8eHNsOmZvci1lYWNoIHNlbGVjdD0iQ2FsbGJhY2tb
ZGVzY3JpcHRpdmVdIj4KLQkgICAgICAgICAgICA8bGk+PGEgaHJlZj0iI3tAaWR9Ij48Y29kZT48
eHNsOnZhbHVlLW9mIHNlbGVjdD0iQG5hbWUiLz48L2NvZGU+PC9hPjwvbGk+Ci0JICAgICAgICAg
IDwveHNsOmZvci1lYWNoPgotCSAgICAgICAgICA8L3VsPgotCSAgICAgICAgICA8L2xpPgotICAg
ICAgICAgIDwveHNsOmlmPgotICAgICAgICAgIDx4c2w6aWYgdGVzdD0iRW51bSI+Ci0JICAgICAg
ICAgIDxsaT48YSBocmVmPSIjZW51bXMiPkVudW1zPC9hPgotCSAgICAgICAgICA8dWwgY2xhc3M9
InRvYyI+Ci0JICAgICAgICAgIDx4c2w6Zm9yLWVhY2ggc2VsZWN0PSJFbnVtW2Rlc2NyaXB0aXZl
XSI+Ci0JICAgICAgICAgICAgPGxpPjxhIGhyZWY9IiN7QGlkfSI+PGNvZGU+PHhzbDp2YWx1ZS1v
ZiBzZWxlY3Q9IkBuYW1lIi8+PC9jb2RlPjwvYT48L2xpPgotCSAgICAgICAgICA8L3hzbDpmb3It
ZWFjaD4KLQkgICAgICAgICAgPC91bD4KLQkgICAgICAgICAgPC9saT4KLSAgICAgICAgICA8L3hz
bDppZj4KLSAgICAgICAgPC91bD4KLQotICAgICAgICA8aHIvPgotCi0gICAgICAgIDxoMj5TdW1t
YXJ5IG9mIE1ldGhvZHM8L2gyPgotICAgICAgICA8eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0ic3Vt
bWFyeSIvPgotICAgICAgICAKLSAgICAgICAgPGgyIGlkPSJpbnRybyI+SW50cm9kdWN0aW9uPC9o
Mj4KLQotICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9ImRlc2NyaXB0aXZlL2Rl
c2NyaXB0aW9uIi8+Ci0gICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iZGVzY3Jp
cHRpdmUvQ29kZSIvPgotCi0gICAgICAgIDx4c2w6aWYgdGVzdD0iZGVzY3JpcHRpdmUvZGVmLWFw
aS1mZWF0dXJlLXNldCI+Ci0gICAgICAgICAgICA8ZGl2IGlkPSJkZWYtYXBpLWZlYXR1cmUtc2V0
cyIgY2xhc3M9ImRlZi1hcGktZmVhdHVyZS1zZXRzIj4KLSAgICAgICAgICAgICAgICA8aDMgaWQ9
ImZlYXR1cmVzIj5GZWF0dXJlIHNldDwvaDM+Ci0gICAgICAgICAgICAgICAgPHA+VGhpcyBpcyB0
aGUgVVJJIHVzZWQgdG8gZGVjbGFyZSB0aGlzIEFQSSdzIGZlYXR1cmUgc2V0LCBmb3IgdXNlIGlu
IGJvbmRpLnJlcXVlc3RGZWF0dXJlLiBGb3IgdGhlIFVSTCwgdGhlIGxpc3Qgb2YgZmVhdHVyZXMg
aW5jbHVkZWQgYnkgdGhlIGZlYXR1cmUgc2V0IGlzIHByb3ZpZGVkLjwvcD4KLSAgICAgICAgICAg
ICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9ImRlc2NyaXB0aXZlL2RlZi1hcGktZmVh
dHVyZS1zZXQiLz4KLSAgICAgICAgICAgIDwvZGl2PgotICAgICAgICA8L3hzbDppZj4KLSAgICAg
ICAgPHhzbDppZiB0ZXN0PSJkZXNjcmlwdGl2ZS9kZWYtYXBpLWZlYXR1cmUiPgotICAgICAgICAg
ICAgPGRpdiBpZD0iZGVmLWFwaS1mZWF0dXJlcyIgY2xhc3M9ImRlZi1hcGktZmVhdHVyZXMiPgot
ICAgICAgICAgICAgICAgIDxoMyBpZD0iZmVhdHVyZXMiPkZlYXR1cmVzPC9oMz4KLSAgICAgICAg
ICAgICAgICA8cD5UaGlzIGlzIHRoZSBsaXN0IG9mIFVSSXMgdXNlZCB0byBkZWNsYXJlIHRoaXMg
QVBJJ3MgZmVhdHVyZXMsIGZvciB1c2UgaW4gYm9uZGkucmVxdWVzdEZlYXR1cmUuIEZvciBlYWNo
IFVSTCwgdGhlIGxpc3Qgb2YgZnVuY3Rpb25zIGNvdmVyZWQgaXMgcHJvdmlkZWQuPC9wPgotICAg
ICAgICAgICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iSW50ZXJmYWNlL2Rlc2Ny
aXB0aXZlL2RlZi1pbnN0YW50aWF0ZWQiLz4KLSAgICAgICAgICAgICAgICA8eHNsOmFwcGx5LXRl
bXBsYXRlcyBzZWxlY3Q9ImRlc2NyaXB0aXZlL2RlZi1hcGktZmVhdHVyZSIvPgotICAgICAgICAg
ICAgPC9kaXY+Ci0gICAgICAgIDwveHNsOmlmPgotICAgICAgICA8eHNsOmlmIHRlc3Q9ImRlc2Ny
aXB0aXZlL2RlZi1kZXZpY2UtY2FwIj4KLSAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRlZi1kZXZp
Y2UtY2FwcyIgaWQ9ImRlZi1kZXZpY2UtY2FwcyI+Ci0gICAgICAgICAgICAgICAgPGgzPkRldmlj
ZSBjYXBhYmlsaXRpZXM8L2gzPgotICAgICAgICAgICAgICAgIDxkbD4KLSAgICAgICAgICAgICAg
ICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iZGVzY3JpcHRpdmUvZGVmLWRldmljZS1j
YXAiLz4KLSAgICAgICAgICAgICAgICA8L2RsPgotICAgICAgICAgICAgPC9kaXY+Ci0gICAgICAg
IDwveHNsOmlmPgotICAgICAgICA8eHNsOmlmIHRlc3Q9IlR5cGVkZWYiPgotICAgICAgICAgICAg
PGRpdiBjbGFzcz0idHlwZWRlZnMiIGlkPSJ0eXBlZGVmcyI+Ci0gICAgICAgICAgICAgICAgPGgy
PlR5cGUgRGVmaW5pdGlvbnM8L2gyPgotICAgICAgICAgICAgICAgIDx4c2w6YXBwbHktdGVtcGxh
dGVzIHNlbGVjdD0iVHlwZWRlZltkZXNjcmlwdGl2ZV0iLz4KLSAgICAgICAgICAgIDwvZGl2Pgot
ICAgICAgICA8L3hzbDppZj4KLSAgICAgICAgPHhzbDppZiB0ZXN0PSJJbnRlcmZhY2UiPgotICAg
ICAgICAgICAgPGRpdiBjbGFzcz0iaW50ZXJmYWNlcyIgaWQ9ImludGVyZmFjZXMiPgotCQkgICAg
ICAgIDxoMj5JbnRlcmZhY2VzPC9oMj4KLSAgICAgICAJCSAgICA8eHNsOmFwcGx5LXRlbXBsYXRl
cyBzZWxlY3Q9IkludGVyZmFjZSIvPgotICAgICAgICAgICAgPC9kaXY+Ci0gICAgICAgIDwveHNs
OmlmPgotICAgICAgICA8eHNsOmlmIHRlc3Q9IkRpY3Rpb25hcnkiPgotICAgICAgICAgICAgPGRp
diBjbGFzcz0iZGljdGlvbmFyaWVzIiBpZD0iZGljdGlvbmFyaWVzIj4KLSAgICAgICAgCQk8aDI+
RGljdGlvbmFyeSB0eXBlczwvaDI+Ci0gICAgICAgIAkJPHhzbDphcHBseS10ZW1wbGF0ZXMgc2Vs
ZWN0PSJEaWN0aW9uYXJ5Ii8+Ci0gICAgICAgICAgICA8L2Rpdj4KLSAgICAgICAgPC94c2w6aWY+
Ci0gICAgICAgIDx4c2w6aWYgdGVzdD0iQ2FsbGJhY2siPgotICAgICAgICAgICAgPGRpdiBjbGFz
cz0iY2FsbGJhY2tzIiBpZD0iY2FsbGJhY2tzIj4KLSAgICAgICAgCQk8aDI+Q2FsbGJhY2tzPC9o
Mj4KLSAgICAgICAgCQk8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9IkNhbGxiYWNrIi8+Ci0g
ICAgICAgICAgICA8L2Rpdj4KLSAgICAgICAgPC94c2w6aWY+Ci0gICAgICAgIDx4c2w6aWYgdGVz
dD0iRW51bSI+Ci0gICAgICAgICAgICA8ZGl2IGNsYXNzPSJlbnVtcyIgaWQ9ImVudW1zIj4KLSAg
ICAgICAgCQk8aDI+RW51bXM8L2gyPgotICAgICAgICAJCTx4c2w6YXBwbHktdGVtcGxhdGVzIHNl
bGVjdD0iRW51bSIvPgotICAgICAgICAgICAgPC9kaXY+Ci0gICAgICAgIDwveHNsOmlmPgotICAg
IDwvZGl2PgotPC94c2w6dGVtcGxhdGU+Ci0KLTwhLS1kZWYtYXBpLWZlYXR1cmUtc2V0LS0+Ci08
eHNsOnRlbXBsYXRlIG1hdGNoPSJkZWYtYXBpLWZlYXR1cmUtc2V0Ij4KLSAgICAgIDxkbCBjbGFz
cz0iZGVmLWFwaS1mZWF0dXJlLXNldCI+Ci0gICAgICAgICAgPGR0Pjx4c2w6dmFsdWUtb2Ygc2Vs
ZWN0PSJAaWRlbnRpZmllciIvPjwvZHQ+Ci0gICAgICAgICAgPGRkPgotICAgICAgICAgICAgPHhz
bDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJkZXNjcmlwdGl2ZS9icmllZiIvPgotICAgICAgICAg
ICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJkZXNjcmlwdGl2ZSIvPgotICAgICAgICAg
ICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJkZXNjcmlwdGl2ZS9Db2RlIi8+Ci0gICAg
ICAgICAgICA8eHNsOmlmIHRlc3Q9ImRlc2NyaXB0aXZlL2FwaS1mZWF0dXJlIj4KLSAgICAgICAg
ICAgICAgPGRpdiBjbGFzcz0iYXBpLWZlYXR1cmVzIj4KLSAgICAgICAgICAgICAgICA8cD4KLSAg
ICAgICAgICAgICAgICAgIEluY2x1ZGVzIEFQSSBmZWF0dXJlczoKLSAgICAgICAgICAgICAgICA8
L3A+Ci0gICAgICAgICAgICAgICAgPHVsPgotICAgICAgICAgICAgICAgICAgPHhzbDpmb3ItZWFj
aCBzZWxlY3Q9ImRlc2NyaXB0aXZlL2FwaS1mZWF0dXJlIj4KLSAgICAgICAgICAgICAgICAgICAg
PGxpPjxjb2RlPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAaWRlbnRpZmllciIvPjwvY29kZT48L2xp
PgotICAgICAgICAgICAgICAgICAgPC94c2w6Zm9yLWVhY2g+Ci0gICAgICAgICAgICAgICAgPC91
bD4KLSAgICAgICAgICAgICAgPC9kaXY+Ci0gICAgICAgICAgICA8L3hzbDppZj4KLSAgICAgICAg
ICA8L2RkPgotICAgICAgPC9kbD4KLTwveHNsOnRlbXBsYXRlPgotCi08IS0tZGVmLWFwaS1mZWF0
dXJlLS0+Ci08eHNsOnRlbXBsYXRlIG1hdGNoPSJkZWYtYXBpLWZlYXR1cmUiPgotICAgICAgPGRs
IGNsYXNzPSJkZWYtYXBpLWZlYXR1cmUiPgotICAgICAgICAgIDxkdD48eHNsOnZhbHVlLW9mIHNl
bGVjdD0iQGlkZW50aWZpZXIiLz48L2R0PgotICAgICAgICAgIDxkZD4KLSAgICAgICAgICAgIDx4
c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iZGVzY3JpcHRpdmUvYnJpZWYiLz4KLSAgICAgICAg
ICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iZGVzY3JpcHRpdmUiLz4KLSAgICAgICAg
ICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iZGVzY3JpcHRpdmUvQ29kZSIvPgotICAg
ICAgICAgICAgPHhzbDppZiB0ZXN0PSJkZXNjcmlwdGl2ZS9kZXZpY2UtY2FwIj4KLSAgICAgICAg
ICAgICAgPGRpdiBjbGFzcz0iZGV2aWNlLWNhcHMiPgotICAgICAgICAgICAgICAgIDxwPgotICAg
ICAgICAgICAgICAgICAgRGV2aWNlIGNhcGFiaWxpdGllczoKLSAgICAgICAgICAgICAgICA8L3A+
Ci0gICAgICAgICAgICAgICAgPHVsPgotICAgICAgICAgICAgICAgICAgPHhzbDpmb3ItZWFjaCBz
ZWxlY3Q9ImRlc2NyaXB0aXZlL2RldmljZS1jYXAiPgotICAgICAgICAgICAgICAgICAgICA8bGk+
PGNvZGU+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBpZGVudGlmaWVyIi8+PC9jb2RlPjwvbGk+Ci0g
ICAgICAgICAgICAgICAgICA8L3hzbDpmb3ItZWFjaD4KLSAgICAgICAgICAgICAgICA8L3VsPgot
ICAgICAgICAgICAgICA8L2Rpdj4KLSAgICAgICAgICAgIDwveHNsOmlmPgotICAgICAgICAgIDwv
ZGQ+Ci0gICAgICA8L2RsPgotPC94c2w6dGVtcGxhdGU+Ci0KLTwhLS1kZWYtZGV2aWNlLWNhcC0t
PgotPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iZGVmLWRldmljZS1jYXAiPgotICAgIDxkdCBjbGFzcz0i
ZGVmLWRldmljZS1jYXAiPjxjb2RlPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAaWRlbnRpZmllciIv
PjwvY29kZT48L2R0PgotICAgIDxkZD4KLSAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVj
dD0iZGVzY3JpcHRpdmUvYnJpZWYiLz4KLSAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVj
dD0iZGVzY3JpcHRpdmUiLz4KLSAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iZGVz
Y3JpcHRpdmUvQ29kZSIvPgotICAgICAgPHhzbDppZiB0ZXN0PSJkZXNjcmlwdGl2ZS9wYXJhbSI+
Ci0gICAgICAgIDxkaXYgY2xhc3M9ImRldmljZS1jYXBzIj4KLSAgICAgICAgICA8cD5TZWN1cml0
eSBwYXJhbWV0ZXJzOjwvcD4KLSAgICAgICAgICA8dWw+Ci0gICAgICAgICAgICA8eHNsOmFwcGx5
LXRlbXBsYXRlcyBzZWxlY3Q9ImRlc2NyaXB0aXZlL3BhcmFtIi8+Ci0gICAgICAgICAgPC91bD4K
LSAgICAgICAgPC9kaXY+Ci0gICAgICA8L3hzbDppZj4KLSAgICA8L2RkPgotPC94c2w6dGVtcGxh
dGU+Ci0KLTwhLS1FeGNlcHRpb246IG5vdCBpbXBsZW1lbnRlZC0tPgotPCEtLVZhbHVldHlwZTog
bm90IGltcGxlbWVudGVkLS0+Ci08eHNsOnRlbXBsYXRlIG1hdGNoPSJFeGNlcHRpb258VmFsdWV0
eXBlfENvbnN0Ij4KLSAgICA8eHNsOmlmIHRlc3Q9ImRlc2NyaXB0aXZlIj4KLSAgICAgICAgPHhz
bDptZXNzYWdlIHRlcm1pbmF0ZT0ieWVzIj5lbGVtZW50IDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJu
YW1lKCkiLz4gbm90IHN1cHBvcnRlZDwveHNsOm1lc3NhZ2U+Ci0gICAgPC94c2w6aWY+Ci08L3hz
bDp0ZW1wbGF0ZT4KLQotPCEtLVR5cGVkZWYuLS0+Ci08eHNsOnRlbXBsYXRlIG1hdGNoPSJUeXBl
ZGVmW2Rlc2NyaXB0aXZlXSI+Ci0gICAgPGRpdiBjbGFzcz0idHlwZWRlZiIgaWQ9IntAaWR9Ij4K
LSAgICAgICAgPGgzPjIuPHhzbDpudW1iZXIgdmFsdWU9InBvc2l0aW9uKCkiLz4uIDxjb2RlPjx4
c2w6dmFsdWUtb2Ygc2VsZWN0PSJAbmFtZSIvPjwvY29kZT48L2gzPgotICAgICAgICA8eHNsOmFw
cGx5LXRlbXBsYXRlcyBzZWxlY3Q9ImRlc2NyaXB0aXZlL2JyaWVmIi8+Ci0gICAgICAgIDx4c2w6
YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0id2ViaWRsIi8+Ci0gICAgICAgIDx4c2w6YXBwbHktdGVt
cGxhdGVzIHNlbGVjdD0iZGVzY3JpcHRpdmUiLz4KLSAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0
ZXMgc2VsZWN0PSJkZXNjcmlwdGl2ZS9Db2RlIi8+Ci0gICAgPC9kaXY+Ci08L3hzbDp0ZW1wbGF0
ZT4KLQotPCEtLUludGVyZmFjZS4tLT4KLTx4c2w6dGVtcGxhdGUgbWF0Y2g9IkludGVyZmFjZVtk
ZXNjcmlwdGl2ZV0iPgotICAgIDx4c2w6dmFyaWFibGUgbmFtZT0ibmFtZSIgc2VsZWN0PSJAbmFt
ZSIvPgotICAgIDxkaXYgY2xhc3M9ImludGVyZmFjZSIgaWQ9IntAaWR9Ij4KLSAgICAgICAgPGgz
Pjxjb2RlPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAbmFtZSIvPjwvY29kZT48L2gzPgotICAgICAg
ICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9ImRlc2NyaXB0aXZlL2JyaWVmIi8+Ci0gICAg
ICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0id2ViaWRsIi8+Ci0gICAgICAgIDx4c2w6
YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iLi4vSW1wbGVtZW50c1tAbmFtZTI9JG5hbWVdL3dlYmlk
bCIvPgotICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9ImRlc2NyaXB0aXZlIi8+
Ci0gICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iZGVzY3JpcHRpdmUvQ29kZSIv
PgotICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9IkludGVyZmFjZUluaGVyaXRh
bmNlIi8+Ci0gICAgICAgIDx4c2w6aWYgdGVzdD0iQ29uc3QvZGVzY3JpcHRpdmUiPgotICAgICAg
ICAgICAgPGRpdiBjbGFzcz0iY29uc3RzIj4KLSAgICAgICAgICAgICAgICA8aDQ+Q29uc3RhbnRz
PC9oND4KLSAgICAgICAgICAgICAgICA8ZGw+Ci0gICAgICAgICAgICAgICAgICA8eHNsOmFwcGx5
LXRlbXBsYXRlcyBzZWxlY3Q9IkNvbnN0Ii8+Ci0gICAgICAgICAgICAgICAgPC9kbD4KLSAgICAg
ICAgICAgIDwvZGl2PgotICAgICAgICA8L3hzbDppZj4KLSAgICAgICAgPHhzbDppZiB0ZXN0PSJF
eHRlbmRlZEF0dHJpYnV0ZUxpc3QvRXh0ZW5kZWRBdHRyaWJ1dGUvZGVzY3JpcHRpdmUiPgotICAg
ICAgICAgICAgPGRpdiBjbGFzcz0iY29uc3RydWN0b3JzIj4KLSAgICAgICAgICAgICAgICA8aDQ+
Q29uc3RydWN0b3JzPC9oND4KLSAgICAgICAgICAgICAgICA8ZGw+Ci0gICAgICAgICAgICAgICAg
ICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9IkV4dGVuZGVkQXR0cmlidXRlTGlzdC9FeHRl
bmRlZEF0dHJpYnV0ZSIvPgotICAgICAgICAgICAgICAgIDwvZGw+Ci0gICAgICAgICAgICA8L2Rp
dj4KLSAgICAgICAgPC94c2w6aWY+Ci0gICAgICAgIDx4c2w6aWYgdGVzdD0iQXR0cmlidXRlL2Rl
c2NyaXB0aXZlIj4KLSAgICAgICAgICAgIDxkaXYgY2xhc3M9ImF0dHJpYnV0ZXMiPgotICAgICAg
ICAgICAgICAgIDxoND5BdHRyaWJ1dGVzPC9oND4KLSAgICAgICAgICAgICAgICA8ZGw+Ci0gICAg
ICAgICAgICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9IkF0dHJpYnV0ZSIvPgot
ICAgICAgICAgICAgICAgIDwvZGw+Ci0gICAgICAgICAgICA8L2Rpdj4KLSAgICAgICAgPC94c2w6
aWY+Ci0gICAgICAgIDx4c2w6aWYgdGVzdD0iT3BlcmF0aW9uL2Rlc2NyaXB0aXZlIj4KLSAgICAg
ICAgICAgIDxkaXYgY2xhc3M9Im1ldGhvZHMiPgotICAgICAgICAgICAgICAgIDxoND5NZXRob2Rz
PC9oND4KLSAgICAgICAgICAgICAgICA8ZGw+Ci0gICAgICAgICAgICAgICAgICA8eHNsOmFwcGx5
LXRlbXBsYXRlcyBzZWxlY3Q9Ik9wZXJhdGlvbiIvPgotICAgICAgICAgICAgICAgIDwvZGw+Ci0g
ICAgICAgICAgICA8L2Rpdj4KLSAgICAgICAgPC94c2w6aWY+Ci0gICAgPC9kaXY+Ci08L3hzbDp0
ZW1wbGF0ZT4KLTx4c2w6dGVtcGxhdGUgbWF0Y2g9IkludGVyZmFjZVtub3QoZGVzY3JpcHRpdmUp
XSI+Ci08L3hzbDp0ZW1wbGF0ZT4KLQotPCEtLURpY3Rpb25hcnkuLS0+Ci08eHNsOnRlbXBsYXRl
IG1hdGNoPSJEaWN0aW9uYXJ5W2Rlc2NyaXB0aXZlXSI+Ci0gICAgPHhzbDp2YXJpYWJsZSBuYW1l
PSJuYW1lIiBzZWxlY3Q9IkBuYW1lIi8+Ci0gICAgPGRpdiBjbGFzcz0iZGljdGlvbmFyeSIgaWQ9
IntAaWR9Ij4KLSAgICAgICAgPGgzPjxjb2RlPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAbmFtZSIv
PjwvY29kZT48L2gzPgotICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9ImRlc2Ny
aXB0aXZlL2JyaWVmIi8+Ci0gICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0id2Vi
aWRsIi8+Ci0gICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iZGVzY3JpcHRpdmUi
Lz4KLSAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJkZXNjcmlwdGl2ZS9Db2Rl
Ii8+Ci0gICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iSW50ZXJmYWNlSW5oZXJp
dGFuY2UiLz4KLSAgICAgICAgPHhzbDppZiB0ZXN0PSJDb25zdC9kZXNjcmlwdGl2ZSI+Ci0gICAg
ICAgICAgICA8ZGl2IGNsYXNzPSJjb25zdHMiPgotICAgICAgICAgICAgICAgIDxoND5Db25zdGFu
dHM8L2g0PgotICAgICAgICAgICAgICAgIDxkbD4KLSAgICAgICAgICAgICAgICAgIDx4c2w6YXBw
bHktdGVtcGxhdGVzIHNlbGVjdD0iQ29uc3QiLz4KLSAgICAgICAgICAgICAgICA8L2RsPgotICAg
ICAgICAgICAgPC9kaXY+Ci0gICAgICAgIDwveHNsOmlmPgotICAgICAgICA8eHNsOmlmIHRlc3Q9
IkF0dHJpYnV0ZS9kZXNjcmlwdGl2ZSI+Ci0gICAgICAgICAgICA8ZGl2IGNsYXNzPSJhdHRyaWJ1
dGVzIj4KLSAgICAgICAgICAgICAgICA8aDQ+QXR0cmlidXRlczwvaDQ+Ci0gICAgICAgICAgICAg
ICAgPGRsPgotICAgICAgICAgICAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJB
dHRyaWJ1dGUiLz4KLSAgICAgICAgICAgICAgICA8L2RsPgotICAgICAgICAgICAgPC9kaXY+Ci0g
ICAgICAgIDwveHNsOmlmPgotICAgIDwvZGl2PgotPC94c2w6dGVtcGxhdGU+Ci08eHNsOnRlbXBs
YXRlIG1hdGNoPSJEaWN0aW9uYXJ5W25vdChkZXNjcmlwdGl2ZSldIj4KLTwveHNsOnRlbXBsYXRl
PgotCi08eHNsOnRlbXBsYXRlIG1hdGNoPSJJbnRlcmZhY2VJbmhlcml0YW5jZS9TY29wZWROYW1l
TGlzdCI+Ci0gICAgICAgICAgICAgIDxwPgotICAgICAgICAgICAgICAgIDx4c2w6dGV4dD5UaGlz
IGludGVyZmFjZSBpbmhlcml0cyBmcm9tOiA8L3hzbDp0ZXh0PgotICAgICAgICAgICAgICAgIDx4
c2w6Zm9yLWVhY2ggc2VsZWN0PSJOYW1lIj4KLSAgICAgICAgICAgICAgICAgIDxjb2RlPjx4c2w6
dmFsdWUtb2Ygc2VsZWN0PSJAbmFtZSIvPjwvY29kZT4KLSAgICAgICAgICAgICAgICAgIDx4c2w6
aWYgdGVzdD0icG9zaXRpb24hPWxhc3QoKSI+LCA8L3hzbDppZj4KLSAgICAgICAgICAgICAgICA8
L3hzbDpmb3ItZWFjaD4KLSAgICAgICAgICAgICAgPC9wPgotPC94c2w6dGVtcGxhdGU+Ci0KLTwh
LS1BdHRyaWJ1dGUtLT4KLTx4c2w6dGVtcGxhdGUgbWF0Y2g9IkF0dHJpYnV0ZSI+Ci0gICAgPGR0
IGNsYXNzPSJhdHRyaWJ1dGUiIGlkPSJ7QG5hbWV9Ij4KLSAgICAgICAgPGNvZGU+Ci0gICAgICAg
ICAgICA8eHNsOmlmIHRlc3Q9IkBzdHJpbmdpZmllciI+Ci0gICAgICAgICAgICAgICAgc3RyaW5n
aWZpZXIKLSAgICAgICAgICAgIDwveHNsOmlmPgotICAgICAgICAgICAgPHhzbDppZiB0ZXN0PSJA
cmVhZG9ubHkiPgotICAgICAgICAgICAgICAgIHJlYWRvbmx5Ci0gICAgICAgICAgICA8L3hzbDpp
Zj4KLSAgICAgICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iVHlwZSIvPgotICAg
ICAgICAgICAgPHhzbDp0ZXh0PiA8L3hzbDp0ZXh0PgotICAgICAgICAgICAgPHhzbDp2YWx1ZS1v
ZiBzZWxlY3Q9IkBuYW1lIi8+Ci0gICAgICAgIDwvY29kZT48L2R0PgotICAgICAgICA8ZGQ+Ci0g
ICAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJkZXNjcmlwdGl2ZS9icmllZiIv
PgotICAgICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iZGVzY3JpcHRpdmUiLz4K
LSAgICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9IkdldFJhaXNlcyIvPgotICAg
ICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iU2V0UmFpc2VzIi8+Ci0gICAgICAg
ICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJkZXNjcmlwdGl2ZS9Db2RlIi8+Ci0gICAg
ICAgIDwvZGQ+Ci08L3hzbDp0ZW1wbGF0ZT4KLQotPCEtLUNvbnN0LS0+Ci08eHNsOnRlbXBsYXRl
IG1hdGNoPSJDb25zdCI+Ci0gIDxkdCBjbGFzcz0iY29uc3QiIGlkPSJ7QGlkfSI+Ci0gICAgPGNv
ZGU+Ci0gICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9IlR5cGUiLz4KLSAgICAgIDx4
c2w6dGV4dD4gPC94c2w6dGV4dD4KLSAgICAgIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAbmFtZSIv
PgotICAgIDwvY29kZT4KLSAgPC9kdD4KLSAgPGRkPgotICAgIDx4c2w6YXBwbHktdGVtcGxhdGVz
IHNlbGVjdD0iZGVzY3JpcHRpdmUvYnJpZWYiLz4KLSAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBz
ZWxlY3Q9ImRlc2NyaXB0aXZlIi8+Ci0gICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJk
ZXNjcmlwdGl2ZS9Db2RlIi8+Ci0gIDwvZGQ+Ci08L3hzbDp0ZW1wbGF0ZT4KLQotPCEtLUV4dGVu
ZGVkQXR0cmlidXRlIG5hbWU9PUNvbnN0cnVjdG9yIHx8IG5hbWU9PU5hbWVkQ29uc3RydWN0b3It
LT4KLTx4c2w6dGVtcGxhdGUgbWF0Y2g9IkV4dGVuZGVkQXR0cmlidXRlTGlzdC9FeHRlbmRlZEF0
dHJpYnV0ZSI+Ci0gICAgPGR0IGNsYXNzPSJjb25zdHJ1Y3RvciIgaWQ9Intjb25jYXQoQG5hbWUs
Z2VuZXJhdGUtaWQoLikpfSI+Ci0gICAgICAgIDxjb2RlPgotICAgICAgICAgICAgPHhzbDp2YWx1
ZS1vZiBzZWxlY3Q9Ii4uLy4uL0BuYW1lIi8+Ci0gICAgICAgICAgICAgPHhzbDp0ZXh0Pig8L3hz
bDp0ZXh0PgotICAgICAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJBcmd1bWVu
dExpc3QiPgotICAgICAgICAgICAgICAgIDx4c2w6d2l0aC1wYXJhbSBuYW1lPSJub2Rlc2MiIHNl
bGVjdD0iMSIvPgotICAgICAgICAgICAgPC94c2w6YXBwbHktdGVtcGxhdGVzPgotICAgICAgICAg
ICAgPHhzbDp0ZXh0Pik7PC94c2w6dGV4dD4KLSAgICAgICAgPC9jb2RlPgotICAgIDwvZHQ+Ci0g
ICAgPGRkPgotICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9ImRlc2NyaXB0aXZl
L2JyaWVmIi8+Ci0gICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iZGVzY3JpcHRp
dmUiLz4KLSAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJBcmd1bWVudExpc3Qi
Lz4KLSAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJSYWlzZXMiLz4KLSAgICAg
ICAgPHhzbDppZiB0ZXN0PSJkZXNjcmlwdGl2ZS9hcGktZmVhdHVyZSI+Ci0gICAgICAgICAgICA8
ZGl2IGNsYXNzPSJhcGktZmVhdHVyZXMiPgotICAgICAgICAgICAgICAgIDxoNj5BUEkgZmVhdHVy
ZXM8L2g2PgotICAgICAgICAgICAgICAgIDxkbD4KLSAgICAgICAgICAgICAgICAgICAgPHhzbDph
cHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJkZXNjcmlwdGl2ZS9hcGktZmVhdHVyZSIvPgotICAgICAg
ICAgICAgICAgIDwvZGw+Ci0gICAgICAgICAgICA8L2Rpdj4KLSAgICAgICAgPC94c2w6aWY+Ci0g
ICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0id2ViaWRsIi8+Ci0gICAgICAgIDx4
c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iZGVzY3JpcHRpdmUvQ29kZSIvPgotICAgIDwvZGQ+
Ci08L3hzbDp0ZW1wbGF0ZT4KLQotPCEtLU9wZXJhdGlvbi0tPgotPHhzbDp0ZW1wbGF0ZSBtYXRj
aD0iT3BlcmF0aW9uIj4KLSAgICA8ZHQgY2xhc3M9Im1ldGhvZCIgaWQ9Intjb25jYXQoQG5hbWUs
Z2VuZXJhdGUtaWQoLikpfSI+Ci0gICAgICAgIDxjb2RlPgotICAgICAgICAgICAgPHhzbDppZiB0
ZXN0PSJAc3RyaW5naWZpZXIiPgotICAgICAgICAgICAgICAgIDx4c2w6dmFsdWUtb2Ygc2VsZWN0
PSJjb25jYXQoQHN0cmluZ2lmaWVyLCAnICcpIi8+Ci0gICAgICAgICAgICA8L3hzbDppZj4KLSAg
ICAgICAgICAgIDx4c2w6aWYgdGVzdD0iQG9taXR0YWJsZSI+Ci0gICAgICAgICAgICAgICAgPHhz
bDp2YWx1ZS1vZiBzZWxlY3Q9ImNvbmNhdChAb21pdHRhYmxlLCAnICcpIi8+Ci0gICAgICAgICAg
ICA8L3hzbDppZj4KLSAgICAgICAgICAgIDx4c2w6aWYgdGVzdD0iQGdldHRlciI+Ci0gICAgICAg
ICAgICAgICAgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9ImNvbmNhdChAZ2V0dGVyLCAnICcpIi8+Ci0g
ICAgICAgICAgICA8L3hzbDppZj4KLSAgICAgICAgICAgIDx4c2w6aWYgdGVzdD0iQHNldHRlciI+
Ci0gICAgICAgICAgICAgICAgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9ImNvbmNhdChAc2V0dGVyLCAn
ICcpIi8+Ci0gICAgICAgICAgICA8L3hzbDppZj4KLSAgICAgICAgICAgIDx4c2w6aWYgdGVzdD0i
QGNyZWF0b3IiPgotICAgICAgICAgICAgCTx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJjb25jYXQoQGNy
ZWF0b3IsICcgJykiLz4KLSAgICAgICAgICAgIDwveHNsOmlmPgotICAgICAgICAgICAgPHhzbDpp
ZiB0ZXN0PSJAZGVsZXRlciI+Ci0gICAgICAgICAgICAgICAgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9
ImNvbmNhdChAZGVsZXRlciwgJyAnKSIvPgotICAgICAgICAgICAgPC94c2w6aWY+Ci0gICAgICAg
ICAgICA8eHNsOmlmIHRlc3Q9IkBjYWxsZXIiPgotICAgICAgICAgICAgICAgIDx4c2w6dmFsdWUt
b2Ygc2VsZWN0PSJjb25jYXQoQGNhbGxlciwgJyAnKSIvPgotICAgICAgICAgICAgPC94c2w6aWY+
Ci0gICAgICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9IlR5cGUiLz4KLSAgICAg
ICAgICAgIDx4c2w6dGV4dD4gPC94c2w6dGV4dD4KLSAgICAgICAgICAgIDx4c2w6dmFsdWUtb2Yg
c2VsZWN0PSJAbmFtZSIvPgotICAgICAgICAgICAgPHhzbDp0ZXh0Pig8L3hzbDp0ZXh0PgotICAg
ICAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJBcmd1bWVudExpc3QiPgotICAg
ICAgICAgICAgICAgIDx4c2w6d2l0aC1wYXJhbSBuYW1lPSJub2Rlc2MiIHNlbGVjdD0iMSIvPgot
ICAgICAgICAgICAgPC94c2w6YXBwbHktdGVtcGxhdGVzPgotICAgICAgICAgICAgPHhzbDp0ZXh0
Pik7PC94c2w6dGV4dD4KLSAgICAgICAgPC9jb2RlPgotICAgIDwvZHQ+Ci0gICAgPGRkPgotICAg
ICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9ImRlc2NyaXB0aXZlL2JyaWVmIi8+Ci0g
ICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0id2ViaWRsIi8+Ci0gICAgICAgIDx4
c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iZGVzY3JpcHRpdmUvQ29kZSIvPgotICAgICAgICA8
eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9ImRlc2NyaXB0aXZlIi8+Ci0gICAgICAgIDx4c2w6
YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iQXJndW1lbnRMaXN0Ii8+Ci0gICAgICAgIDx4c2w6aWYg
dGVzdD0iVHlwZS9kZXNjcmlwdGl2ZSI+Ci0gICAgICAgICAgPGRpdiBjbGFzcz0icmV0dXJudHlw
ZSI+Ci0gICAgICAgICAgICA8aDU+UmV0dXJuIHZhbHVlPC9oNT4KLSAgICAgICAgICAgIDx4c2w6
YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iVHlwZS9kZXNjcmlwdGl2ZSIvPgotICAgICAgICAgIDwv
ZGl2PgotICAgICAgICA8L3hzbDppZj4KLSAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2Vs
ZWN0PSJSYWlzZXMiLz4KLSAgICAgICAgPHhzbDppZiB0ZXN0PSJkZXNjcmlwdGl2ZS9hcGktZmVh
dHVyZSI+Ci0gICAgICAgICAgICA8ZGl2IGNsYXNzPSJhcGktZmVhdHVyZXMiPgotICAgICAgICAg
ICAgICAgIDxoNj5BUEkgZmVhdHVyZXM8L2g2PgotICAgICAgICAgICAgICAgIDxkbD4KLSAgICAg
ICAgICAgICAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJkZXNjcmlwdGl2ZS9h
cGktZmVhdHVyZSIvPgotICAgICAgICAgICAgICAgIDwvZGw+Ci0gICAgICAgICAgICA8L2Rpdj4K
LSAgICAgICAgPC94c2w6aWY+Ci0gICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0i
ZGVzY3JpcHRpdmUvQ29kZSIvPgotICAgIDwvZGQ+Ci08L3hzbDp0ZW1wbGF0ZT4KLQotPCEtLUNh
bGxiYWNrLS0+Ci08eHNsOnRlbXBsYXRlIG1hdGNoPSJDYWxsYmFjayI+Ci0gICAgPHhzbDp2YXJp
YWJsZSBuYW1lPSJuYW1lIiBzZWxlY3Q9IkBuYW1lIi8+Ci0gICAgPGRpdiBjbGFzcz0iY2FsbGJh
Y2siIGlkPSJ7QGlkfSI+Ci0gICAgICAgIDxoMz48Y29kZT48eHNsOnZhbHVlLW9mIHNlbGVjdD0i
QG5hbWUiLz48L2NvZGU+PC9oMz4KLQotCSAgICA8ZGQ+Ci0JICAgICAgICA8eHNsOmFwcGx5LXRl
bXBsYXRlcyBzZWxlY3Q9ImRlc2NyaXB0aXZlL2JyaWVmIi8+Ci0JICAgICAgICA8eHNsOmFwcGx5
LXRlbXBsYXRlcyBzZWxlY3Q9IndlYmlkbCIvPgotCSAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0
ZXMgc2VsZWN0PSJkZXNjcmlwdGl2ZSIvPgotCSAgICAgICAgPGRpdiBjbGFzcz0ic3lub3BzaXMi
PgotCSAgICAgICAgICAgIDxoNj5TaWduYXR1cmU8L2g2PgotCSAgICAgICAgICAgIDxwcmU+Ci0J
ICAgICAgICAgICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iVHlwZSIvPgotCSAg
ICAgICAgICAgICAgICA8eHNsOnRleHQ+IDwveHNsOnRleHQ+Ci0JICAgICAgICAgICAgICAgIDx4
c2w6dmFsdWUtb2Ygc2VsZWN0PSJAbmFtZSIvPgotCSAgICAgICAgICAgICAgICA8eHNsOnRleHQ+
KDwveHNsOnRleHQ+Ci0JICAgICAgICAgICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVj
dD0iQXJndW1lbnRMaXN0Ij4KLQkgICAgICAgICAgICAgICAgICAgIDx4c2w6d2l0aC1wYXJhbSBu
YW1lPSJub2Rlc2MiIHNlbGVjdD0iMSIvPgotCSAgICAgICAgICAgICAgICA8L3hzbDphcHBseS10
ZW1wbGF0ZXM+Ci0JICAgICAgICAgICAgICAgIDx4c2w6dGV4dD4pOwotPC94c2w6dGV4dD48L3By
ZT4KLQkgICAgICAgIDwvZGl2PgotCSAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0
PSJkZXNjcmlwdGl2ZSIvPgotCSAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJB
cmd1bWVudExpc3QiLz4KLQkgICAgICAgIDx4c2w6aWYgdGVzdD0iVHlwZS9kZXNjcmlwdGl2ZSI+
Ci0JICAgICAgICAgIDxkaXYgY2xhc3M9InJldHVybnR5cGUiPgotCSAgICAgICAgICAgIDxoNT5S
ZXR1cm4gdmFsdWU8L2g1PgotCSAgICAgICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVj
dD0iVHlwZS9kZXNjcmlwdGl2ZSIvPgotCSAgICAgICAgICA8L2Rpdj4KLQkgICAgICAgIDwveHNs
OmlmPgotCSAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJkZXNjcmlwdGl2ZS9D
b2RlIi8+Ci0JICAgIDwvZGQ+Ci0JPC9kaXY+Ci08L3hzbDp0ZW1wbGF0ZT4KLQotPCEtLUFyZ3Vt
ZW50TGlzdC4gVGhpcyBpcyBwYXNzZWQgJG5vZGVzYz10cnVlIHRvIG91dHB1dCBqdXN0IHRoZSBh
cmd1bWVudAotICAgIHR5cGVzIGFuZCBuYW1lcywgYW5kIG5vdCBhbnkgZG9jdW1lbnRhdGlvbiBm
b3IgdGhlbS4tLT4KLTx4c2w6dGVtcGxhdGUgbWF0Y2g9IkFyZ3VtZW50TGlzdCI+Ci0gICAgPHhz
bDpwYXJhbSBuYW1lPSJub2Rlc2MiLz4KLSAgICA8eHNsOmNob29zZT4KLSAgICAgICAgPHhzbDp3
aGVuIHRlc3Q9IiRub2Rlc2MiPgotICAgICAgICAgICAgPCEtLSRub2Rlc2MgaXMgdHJ1ZToganVz
dCBvdXRwdXQgdGhlIHR5cGVzIGFuZCBuYW1lcy0tPgotICAgICAgICAgICAgPHhzbDphcHBseS10
ZW1wbGF0ZXMgc2VsZWN0PSJBcmd1bWVudFsxXSI+Ci0gICAgICAgICAgICAgICAgPHhzbDp3aXRo
LXBhcmFtIG5hbWU9Im5vZGVzYyIgc2VsZWN0PSInbm9jb21tYSciLz4KLSAgICAgICAgICAgIDwv
eHNsOmFwcGx5LXRlbXBsYXRlcz4KLSAgICAgICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNl
bGVjdD0iQXJndW1lbnRbcG9zaXRpb24oKSAhPSAxXSI+Ci0gICAgICAgICAgICAgICAgPHhzbDp3
aXRoLXBhcmFtIG5hbWU9Im5vZGVzYyIgc2VsZWN0PSInY29tbWEnIi8+Ci0gICAgICAgICAgICA8
L3hzbDphcHBseS10ZW1wbGF0ZXM+Ci0gICAgICAgIDwveHNsOndoZW4+Ci0gICAgICAgIDx4c2w6
d2hlbiB0ZXN0PSJBcmd1bWVudCI+Ci0gICAgICAgICAgICA8IS0tJG5vZGVzYyBpcyBmYWxzZTog
b3V0cHV0IHRoZSBkb2N1bWVudGF0aW9uLS0+Ci0gICAgICAgICAgICA8ZGl2IGNsYXNzPSJwYXJh
bWV0ZXJzIj4KLSAgICAgICAgICAgICAgICA8aDY+UGFyYW1ldGVyczwvaDY+Ci0gICAgICAgICAg
ICAgICAgPHVsPgotICAgICAgICAgICAgICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcy8+Ci0g
ICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgIDwvZGl2PgotICAgICAgICA8L3hzbDp3
aGVuPgotICAgIDwveHNsOmNob29zZT4KLTwveHNsOnRlbXBsYXRlPgotCi08IS0tQXJndW1lbnQu
IFRoaXMgaXMgcGFzc2VkICRub2Rlc2M9ZmFsc2UgdG8gb3V0cHV0IHRoZSBkb2N1bWVudGF0aW9u
LAotICAgIG9yICRub2Rlc2M9Im5vY29tbWEiIHRvIG91dHB1dCB0aGUgdHlwZSBhbmQgbmFtZSwg
b3IgJG5vZGVzYz0iY29tbWEiCi0gICAgdG8gb3V0cHV0IGEgY29tbWEgdGhlbiB0aGUgdHlwZSBh
bmQgbmFtZS4gLS0+Ci08eHNsOnRlbXBsYXRlIG1hdGNoPSJBcmd1bWVudCI+Ci0gICAgPHhzbDpw
YXJhbSBuYW1lPSJub2Rlc2MiLz4KLSAgICA8eHNsOmNob29zZT4KLSAgICAgICAgPHhzbDp3aGVu
IHRlc3Q9IiRub2Rlc2MiPgotICAgICAgICAgICAgPCEtLSRub2Rlc2MgaXMgdHJ1ZToganVzdCBv
dXRwdXQgdGhlIHR5cGVzIGFuZCBuYW1lcy0tPgotICAgICAgICAgICAgPHhzbDppZiB0ZXN0PSIk
bm9kZXNjID0gJ2NvbW1hJyI+Ci0gICAgICAgICAgICAgICAgPCEtLU5lZWQgYSBjb21tYSBmaXJz
dC4tLT4KLSAgICAgICAgICAgICAgICA8eHNsOnRleHQ+LCA8L3hzbDp0ZXh0PgotICAgICAgICAg
ICAgPC94c2w6aWY+Ci0gICAgICAgICAgICA8eHNsOmlmIHRlc3Q9IkBpbiI+PHhzbDp2YWx1ZS1v
ZiBzZWxlY3Q9ImNvbmNhdChAaW4sICcgJykiLz48L3hzbDppZj4KLSAgICAgICAgICAgIDx4c2w6
aWYgdGVzdD0iQG9wdGlvbmFsIj48eHNsOnZhbHVlLW9mIHNlbGVjdD0iY29uY2F0KEBvcHRpb25h
bCwgJyAnKSIvPjwveHNsOmlmPgotICAgICAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2Vs
ZWN0PSJUeXBlIi8+Ci0gICAgICAgICAgICA8eHNsOmlmIHRlc3Q9IkBlbGxpcHNpcyI+PHhzbDp0
ZXh0Pi4uLjwveHNsOnRleHQ+PC94c2w6aWY+Ci0gICAgICAgICAgICA8eHNsOnRleHQ+IDwveHNs
OnRleHQ+Ci0gICAgICAgICAgICA8eHNsOnZhbHVlLW9mIHNlbGVjdD0iQG5hbWUiLz4KLQkgICAg
PHhzbDppZiB0ZXN0PSJAdmFsdWUiPgotCSAgICAgIDx4c2w6dGV4dD5EZWZhdWx0IHZhbHVlOiA8
L3hzbDp0ZXh0Pjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAdmFsdWUiLz4KLQkgICAgPC94c2w6aWY+
Ci0JICAgIDx4c2w6aWYgdGVzdD0iQHN0cmluZ3ZhbHVlIj4KLQkgICAgICA8eHNsOnRleHQ+RGVm
YXVsdCB2YWx1ZTogIjwveHNsOnRleHQ+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBzdHJpbmd2YWx1
ZSIvPjx4c2w6dGV4dD4iPC94c2w6dGV4dD4KLQkgICAgPC94c2w6aWY+CSAgICAKLSAgICAgICAg
PC94c2w6d2hlbj4KLSAgICAgICAgPHhzbDpvdGhlcndpc2U+Ci0gICAgICAgICAgICA8IS0tJG5v
ZGVzYyBpcyBmYWxzZTogb3V0cHV0IHRoZSBkb2N1bWVudGF0aW9uLS0+Ci0gICAgICAgICAgICA8
bGkgY2xhc3M9InBhcmFtIj4KLSAgICAgICAgICAgICAgICA8eHNsOnZhbHVlLW9mIHNlbGVjdD0i
QG5hbWUiLz46Ci0gICAgICAgICAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJk
ZXNjcmlwdGl2ZSIvPgotICAgICAgICAgICAgPC9saT4KLSAgICAgICAgPC94c2w6b3RoZXJ3aXNl
PgotICAgIDwveHNsOmNob29zZT4KLTwveHNsOnRlbXBsYXRlPgotCi08IS0tUmFpc2VzIChmb3Ig
YW4gT3BlcmF0aW9uKS4gSXQgaXMgYWxyZWFkeSBrbm93biB0aGF0IHRoZSBsaXN0Ci0gICAgaXMg
bm90IGVtcHR5Li0tPgotPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iUmFpc2VzIj4KLSAgICA8ZGl2IGNs
YXNzPSJleGNlcHRpb25saXN0Ij4KLSAgICAgICAgPGg1PkV4Y2VwdGlvbnM8L2g1PgotICAgICAg
ICA8dWw+Ci0gICAgICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcy8+Ci0gICAgICAgIDwvdWw+
Ci0gICAgPC9kaXY+Ci08L3hzbDp0ZW1wbGF0ZT4KLQotPCEtLVJhaXNlRXhjZXB0aW9uLCB0aGUg
bmFtZSBvZiBhbiBleGNlcHRpb24gaW4gYSBSYWlzZXMuLS0+Ci08eHNsOnRlbXBsYXRlIG1hdGNo
PSJSYWlzZUV4Y2VwdGlvbiI+Ci0gICAgPGxpIGNsYXNzPSJleGNlcHRpb24iPgotICAgICAgICA8
eHNsOnZhbHVlLW9mIHNlbGVjdD0iQG5hbWUiLz46Ci0gICAgICAgIDx4c2w6YXBwbHktdGVtcGxh
dGVzIHNlbGVjdD0iZGVzY3JpcHRpdmUiLz4KLSAgICA8L2xpPgotPC94c2w6dGVtcGxhdGU+Ci0K
LTwhLS1UeXBlLi0tPgotPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iVHlwZSI+Ci0gICAgPHhzbDpjaG9v
c2U+Ci0gICAgICAgIDx4c2w6d2hlbiB0ZXN0PSJUeXBlIj4KLSAgICAgICAgICAgIDx4c2w6dGV4
dD5zZXF1ZW5jZSAmbHQ7PC94c2w6dGV4dD4KLSAgICAgICAgICAgIDx4c2w6YXBwbHktdGVtcGxh
dGVzLz4KLSAgICAgICAgICAgIDx4c2w6dGV4dD4+PC94c2w6dGV4dD4KLSAgICAgICAgPC94c2w6
d2hlbj4KLSAgICAgICAgPHhzbDpvdGhlcndpc2U+Ci0gICAgICAgICAgICA8eHNsOnZhbHVlLW9m
IHNlbGVjdD0iQG5hbWUiLz4KLSAgICAgICAgICAgIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAdHlw
ZSIvPgotICAgICAgICAgICAgPHhzbDppZiB0ZXN0PSJAbnVsbGFibGUiPgotICAgICAgICAgICAg
ICAgIDx4c2w6dGV4dD4/PC94c2w6dGV4dD4KLSAgICAgICAgICAgIDwveHNsOmlmPgotICAgICAg
ICA8L3hzbDpvdGhlcndpc2U+Ci0gICAgPC94c2w6Y2hvb3NlPgotPC94c2w6dGVtcGxhdGU+Ci0K
LTwhLS1FbnVtLi0tPgotPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iRW51bVtkZXNjcmlwdGl2ZV0iPgot
ICAgIDx4c2w6dmFyaWFibGUgbmFtZT0ibmFtZSIgc2VsZWN0PSJAbmFtZSIvPgotICAgIDxkaXYg
Y2xhc3M9ImVudW0iIGlkPSJ7QGlkfSI+Ci0gICAgICAgIDxoMz48Y29kZT48eHNsOnZhbHVlLW9m
IHNlbGVjdD0iQG5hbWUiLz48L2NvZGU+PC9oMz4KLSAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0
ZXMgc2VsZWN0PSJkZXNjcmlwdGl2ZS9icmllZiIvPgotICAgICAgICA8eHNsOmFwcGx5LXRlbXBs
YXRlcyBzZWxlY3Q9IndlYmlkbCIvPgotICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxl
Y3Q9ImRlc2NyaXB0aXZlIi8+Ci0gICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0i
ZGVzY3JpcHRpdmUvQ29kZSIvPgotICAgICAgICA8ZGl2IGNsYXNzPSJlbnVtdmFsdWVzIj4KLSAg
ICAgICAgICAgIDxoND5WYWx1ZXM8L2g0PgotICAgICAgICAgICAgPGRsPgotICAgICAgICAgICAg
ICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9IkVudW1WYWx1ZSIvPgotICAgICAgICAgICAg
PC9kbD4KLSAgICAgICAgPC9kaXY+Ci0gICAgPC9kaXY+Ci08L3hzbDp0ZW1wbGF0ZT4KLTx4c2w6
dGVtcGxhdGUgbWF0Y2g9IkVudW1bbm90KGRlc2NyaXB0aXZlKV0iPgotPC94c2w6dGVtcGxhdGU+
Ci0KLTwhLS1FbnVtVmFsdWUtLT4KLTx4c2w6dGVtcGxhdGUgbWF0Y2g9IkVudW1WYWx1ZSI+Ci0g
IDxkdCBjbGFzcz0iZW51bXZhbHVlIiBpZD0ie0BpZH0iPgotICAgIDxjb2RlPgotICAgICAgPHhz
bDp2YWx1ZS1vZiBzZWxlY3Q9IkBzdHJpbmd2YWx1ZSIvPgotICAgIDwvY29kZT4KLSAgPC9kdD4K
LSAgPGRkPgotICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iZGVzY3JpcHRpdmUvYnJp
ZWYiLz4KLSAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9ImRlc2NyaXB0aXZlIi8+Ci0g
ICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJkZXNjcmlwdGl2ZS9Db2RlIi8+Ci0gIDwv
ZGQ+Ci08L3hzbDp0ZW1wbGF0ZT4KLQotPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iZGVzY3JpcHRpdmVb
bm90KGF1dGhvcildIj4KLSAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJ2ZXJzaW9uIi8+
Ci0gIDx4c2w6aWYgdGVzdD0iYXV0aG9yIj4KLSAgPC94c2w6aWY+Ci0gIDx4c2w6YXBwbHktdGVt
cGxhdGVzIHNlbGVjdD0iZGVzY3JpcHRpb24iLz4KLTwveHNsOnRlbXBsYXRlPgotCi08IS0tYnJp
ZWYtLT4KLTx4c2w6dGVtcGxhdGUgbWF0Y2g9ImJyaWVmIj4KLSAgICA8ZGl2IGNsYXNzPSJicmll
ZiI+Ci0gICAgICAgIDxwPgotICAgICAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMvPgotICAg
ICAgICA8L3A+Ci0gICAgPC9kaXY+Ci08L3hzbDp0ZW1wbGF0ZT4KLQotPCEtLWRlc2NyaXB0aW9u
IGluIFJldHVyblR5cGUgb3IgQXJndW1lbnQgb3IgU2NvcGVkTmFtZS0tPgotPHhzbDp0ZW1wbGF0
ZSBtYXRjaD0iVHlwZS9kZXNjcmlwdGl2ZS9kZXNjcmlwdGlvbnxBcmd1bWVudC9kZXNjcmlwdGl2
ZS9kZXNjcmlwdGlvbnxOYW1lL2Rlc2NyaXB0aXZlL2Rlc2NyaXB0aW9uIj4KLSAgICA8IS0tSWYg
dGhlIGRlc2NyaXB0aW9uIGNvbnRhaW5zIGp1c3QgYSBzaW5nbGUgPHA+IHRoZW4gd2Ugb21pdAot
ICAgICAgICB0aGUgPHA+IGFuZCBqdXN0IGRvIGl0cyBjb250ZW50cy4tLT4KLSAgICA8eHNsOmNo
b29zZT4KLSAgICAgICAgPHhzbDp3aGVuIHRlc3Q9InAgYW5kIGNvdW50KCopID0gMSI+Ci0gICAg
ICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9InAvKnxwL3RleHQoKSIvPgotICAg
ICAgICA8L3hzbDp3aGVuPgotICAgICAgICA8eHNsOm90aGVyd2lzZT4KLSAgICAgICAgICAgIDxk
aXYgY2xhc3M9ImRlc2NyaXB0aW9uIj4KLSAgICAgICAgICAgICAgICA8eHNsOmFwcGx5LXRlbXBs
YXRlcy8+Ci0gICAgICAgICAgICA8L2Rpdj4KLSAgICAgICAgPC94c2w6b3RoZXJ3aXNlPgotICAg
IDwveHNsOmNob29zZT4KLTwveHNsOnRlbXBsYXRlPgotCi08IS0tT3RoZXIgZGVzY3JpcHRpb24t
LT4KLTx4c2w6dGVtcGxhdGUgbWF0Y2g9ImRlc2NyaXB0aW9uIj4KLSAgICA8ZGl2IGNsYXNzPSJk
ZXNjcmlwdGlvbiI+Ci0gICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzLz4KLSAgICA8L2Rpdj4K
LTwveHNsOnRlbXBsYXRlPgotCi08IS0tQ29kZS0tPgotPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iQ29k
ZSI+Ci0gICAgPGRpdiBjbGFzcz0iZXhhbXBsZSI+Ci0gICAgCTx4c2w6Y2hvb3NlPgotICAgICAg
ICAJPHhzbDp3aGVuIHRlc3Q9IkBsYW5nIj4KLQkgICAgICAgCQk8aDU+PHhzbDp2YWx1ZS1vZiBz
ZWxlY3Q9IkBsYW5nIi8+PC9oNT4KLSAgICAgICAgCTwveHNsOndoZW4+Ci0gICAgICAgIAk8eHNs
Om90aGVyd2lzZT4KLQkgICAgICAgCQk8aDU+Q29kZSBleGFtcGxlPC9oNT4KLSAgICAgICAgCTwv
eHNsOm90aGVyd2lzZT4KLSAgICAJPC94c2w6Y2hvb3NlPgotICAgICAgICA8cHJlIGNsYXNzPSJl
eGFtcGxlY29kZSI+PHhzbDphcHBseS10ZW1wbGF0ZXMvPjwvcHJlPgotICAgIDwvZGl2PgotPC94
c2w6dGVtcGxhdGU+Ci0KLTwhLS13ZWJpZGwgOiBsaXRlcmFsIFdlYiBJREwgZnJvbSBpbnB1dC0t
PgotPHhzbDp0ZW1wbGF0ZSBtYXRjaD0id2ViaWRsIj4KLSAgICA8aDU+V2ViSURMPC9oNT4KLSAg
ICA8cHJlIGNsYXNzPSJ3ZWJpZGwiPjx4c2w6YXBwbHktdGVtcGxhdGVzLz48L3ByZT4KLTwveHNs
OnRlbXBsYXRlPgotCi08IS0tYXV0aG9yLS0+Ci08eHNsOnRlbXBsYXRlIG1hdGNoPSJhdXRob3Ii
PgotICAgIDxsaSBjbGFzcz0iYXV0aG9yIj48eHNsOmFwcGx5LXRlbXBsYXRlcy8+PC9saT4KLTwv
eHNsOnRlbXBsYXRlPgotCi08IS0tdmVyc2lvbi0tPgotPHhzbDp0ZW1wbGF0ZSBtYXRjaD0idmVy
c2lvbiI+Ci0gICAgPGRpdiBjbGFzcz0idmVyc2lvbiI+Ci0gICAgICAgIDxoMj4KLSAgICAgICAg
ICAgIFZlcnNpb246IDx4c2w6YXBwbHktdGVtcGxhdGVzLz4KLSAgICAgICAgPC9oMj4KLSAgICA8
L2Rpdj4KLTwveHNsOnRlbXBsYXRlPgotCi08IS0tYXBpLWZlYXR1cmUtLT4KLTx4c2w6dGVtcGxh
dGUgbWF0Y2g9ImFwaS1mZWF0dXJlIj4KLSAgICA8ZHQ+Ci0gICAgICAgIDx4c2w6dmFsdWUtb2Yg
c2VsZWN0PSJAaWRlbnRpZmllciIvPgotICAgIDwvZHQ+Ci0gICAgPGRkPgotICAgICAgICA8eHNs
OmFwcGx5LXRlbXBsYXRlcy8+Ci0gICAgPC9kZD4KLTwveHNsOnRlbXBsYXRlPgotCi08IS0tcGFy
YW0tLT4KLTx4c2w6dGVtcGxhdGUgbWF0Y2g9InBhcmFtIj4KLSAgICA8bGk+Ci0gICAgICAgIDxj
b2RlPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAaWRlbnRpZmllciIvPjwvY29kZT46Ci0gICAgICAg
IDx4c2w6YXBwbHktdGVtcGxhdGVzLz4KLSAgICA8L2xpPgotPC94c2w6dGVtcGxhdGU+Ci0KLTwh
LS1kZWYtaW5zdGFudGlhdGVkLgotICAgIFRoaXMgYXNzdW1lcyB0aGF0IG9ubHkgb25lIGludGVy
ZmFjZSBpbiB0aGUgbW9kdWxlIGhhcyBhIGRlZi1pbnN0YW50aWF0ZWQsCi0gICAgYW5kIHRoYXQg
aW50ZXJmYWNlIGNvbnRhaW5zIGp1c3Qgb25lIGF0dHJpYnV0ZS4tLT4KLTx4c2w6dGVtcGxhdGUg
bWF0Y2g9ImRlZi1pbnN0YW50aWF0ZWQiPgotICAgIDx4c2w6dmFyaWFibGUgbmFtZT0iaWZhY2Vu
YW1lIiBzZWxlY3Q9Ii4uLy4uL0BuYW1lIi8+Ci0gICAgPHA+Ci0gICAgICAgIDx4c2w6Y2hvb3Nl
PgotICAgICAgICAgICAgPHhzbDp3aGVuIHRlc3Q9ImNvdW50KGRlc2NyaXB0aXZlL2FwaS1mZWF0
dXJlKT0xIj4KLSAgICAgICAgICAgICAgICBXaGVuIHRoZSBmZWF0dXJlCi0gICAgICAgICAgICA8
L3hzbDp3aGVuPgotICAgICAgICAgICAgPHhzbDpvdGhlcndpc2U+Ci0gICAgICAgICAgICAgICAg
V2hlbiBhbnkgb2YgdGhlIGZlYXR1cmVzCi0gICAgICAgICAgICA8L3hzbDpvdGhlcndpc2U+Ci0g
ICAgICAgIDwveHNsOmNob29zZT4KLSAgICA8L3A+Ci0gICAgPHVsPgotICAgICAgICA8eHNsOmZv
ci1lYWNoIHNlbGVjdD0iZGVzY3JpcHRpdmUvYXBpLWZlYXR1cmUiPgotICAgICAgICAgICAgPGxp
Pjxjb2RlPgotICAgICAgICAgICAgICAgIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAaWRlbnRpZmll
ciIvPgotICAgICAgICAgICAgPC9jb2RlPjwvbGk+Ci0gICAgICAgIDwveHNsOmZvci1lYWNoPgot
ICAgIDwvdWw+Ci0gICAgPHA+Ci0gICAgICAgIGlzIHN1Y2Nlc3NmdWxseSByZXF1ZXN0ZWQsIHRo
ZSBpbnRlcmZhY2UKLSAgICAgICAgPGNvZGU+PHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSIu
Li8uLi9BdHRyaWJ1dGUvVHlwZSIvPjwvY29kZT4KLSAgICAgICAgaXMgaW5zdGFudGlhdGVkLCBh
bmQgdGhlIHJlc3VsdGluZyBvYmplY3QgYXBwZWFycyBpbiB0aGUgZ2xvYmFsCi0gICAgICAgIG5h
bWVzcGFjZSBhcwotICAgICAgICA8Y29kZT48eHNsOnZhbHVlLW9mIHNlbGVjdD0iLi4vLi4vLi4v
SW1wbGVtZW50c1tAbmFtZTI9JGlmYWNlbmFtZV0vQG5hbWUxIi8+Ljx4c2w6dmFsdWUtb2Ygc2Vs
ZWN0PSIuLi8uLi9BdHRyaWJ1dGUvQG5hbWUiLz48L2NvZGU+LgotICAgIDwvcD4KLTwveHNsOnRl
bXBsYXRlPgotCi0KLQotPCEtLWh0bWwgZWxlbWVudHMtLT4KLTx4c2w6dGVtcGxhdGUgbWF0Y2g9
ImF8YnxicnxkZHxkbHxkdHxlbXxsaXxwfHRhYmxlfHRkfHRofHRyfHVsIj4KLSAgICA8eHNsOmVs
ZW1lbnQgbmFtZT0ie25hbWUoKX0iPjx4c2w6Zm9yLWVhY2ggc2VsZWN0PSJAKiI+PHhzbDphdHRy
aWJ1dGUgbmFtZT0ie25hbWUoKX0iPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIuIi8+PC94c2w6YXR0
cmlidXRlPjwveHNsOmZvci1lYWNoPjx4c2w6YXBwbHktdGVtcGxhdGVzLz48L3hzbDplbGVtZW50
PgotPC94c2w6dGVtcGxhdGU+Ci0KLTx4c2w6dGVtcGxhdGUgbmFtZT0ic3VtbWFyeSI+Ci0gIDx0
YWJsZSBjbGFzcz0ic3VtbWFyeSI+Ci0gICAgPHRoZWFkPgotICAgICAgPHRyPjx0aD5JbnRlcmZh
Y2U8L3RoPjx0aD5NZXRob2Q8L3RoPjwvdHI+Ci0gICAgPC90aGVhZD4KLSAgICA8dGJvZHk+Ci0g
ICAgICA8eHNsOmZvci1lYWNoIHNlbGVjdD0iSW50ZXJmYWNlW2Rlc2NyaXB0aXZlXSI+Ci0gICAg
ICAgIDx0cj48dGQ+PGEgaHJlZj0iI3tAaWR9Ij48eHNsOnZhbHVlLW9mIHNlbGVjdD0iQG5hbWUi
Lz48L2E+PC90ZD4KLSAgICAgICAgPHRkPgotICAgICAgICAgIDx4c2w6Zm9yLWVhY2ggc2VsZWN0
PSJPcGVyYXRpb24iPgotCi0gICAgICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9
IlR5cGUiLz4KLSAgICAgICAgICAgIDx4c2w6dGV4dD4gPC94c2w6dGV4dD4KLSAgICAgICAgICAg
IDxhIGhyZWY9IiN7Y29uY2F0KEBuYW1lLGdlbmVyYXRlLWlkKC4pKX0iPjx4c2w6dmFsdWUtb2Yg
c2VsZWN0PSJAbmFtZSIvPjwvYT4KLSAgICAgICAgICAgIDx4c2w6dGV4dD4oPC94c2w6dGV4dD4K
LSAgICAgICAgICAgIDx4c2w6Zm9yLWVhY2ggc2VsZWN0PSJBcmd1bWVudExpc3QvQXJndW1lbnQi
PgotICAgICAgICAgICAgICA8eHNsOnZhcmlhYmxlIG5hbWU9InR5cGUiPjx4c2w6YXBwbHktdGVt
cGxhdGVzIHNlbGVjdD0iVHlwZSIvPjwveHNsOnZhcmlhYmxlPgotICAgICAgICAgICAgICA8eHNs
OnZhbHVlLW9mIHNlbGVjdD0iY29uY2F0KG5vcm1hbGl6ZS1zcGFjZSgkdHlwZSksJyAnLEBuYW1l
KSIvPgotICAgICAgICAgICAgICA8eHNsOmlmIHRlc3Q9InBvc2l0aW9uKCkgIT0gbGFzdCgpIj4s
IDwveHNsOmlmPgotICAgICAgICAgICAgPC94c2w6Zm9yLWVhY2g+Ci0gICAgICAgICAgICA8eHNs
OnRleHQ+KTwveHNsOnRleHQ+Ci0gICAgICAgICAgICA8eHNsOmlmIHRlc3Q9InBvc2l0aW9uKCkh
PWxhc3QoKSI+PGJyLz48L3hzbDppZj4KLSAgICAgICAgICA8L3hzbDpmb3ItZWFjaD4KLSAgICAg
ICAgPC90ZD4KLSAgICAgICAgPC90cj4KLSAgICAgIDwveHNsOmZvci1lYWNoPgotICAgIDwvdGJv
ZHk+Ci0gIDwvdGFibGU+Ci08L3hzbDp0ZW1wbGF0ZT4KLQotPCEtLTxyZWY+IGVsZW1lbnQgaW4g
bGl0ZXJhbCBXZWIgSURMLi0tPgotPHhzbDp0ZW1wbGF0ZSBtYXRjaD0icmVmW0ByZWZdIj4KLSAg
ICA8YSBocmVmPSJ7QHJlZn0iPgotICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcy8+Ci0gICAg
PC9hPgotPC94c2w6dGVtcGxhdGU+Ci0KLTwveHNsOnN0eWxlc2hlZXQ+Ci0KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L01ha2VmaWxlIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rl
c3QvTWFrZWZpbGUKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM0MDkzOWUzNmZjLi4w
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9NYWtlZmlsZQorKysgL2Rl
di9udWxsCkBAIC0xLDkxICswLDAgQEAKLSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwotIyAkSWQ6IE1ha2VmaWxl
IDQxOCAyMDEwLTA2LTE2IDE1OjI2OjUxWiB0cHIgJAotIyBDb3B5cmlnaHQgMjAwOSBBcGxpeCBD
b3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSMgTGljZW5zZWQgdW5kZXIgdGhlIEFw
YWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7Ci0jIHlvdSBtYXkgbm90
IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KLSMg
WW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0Ci0jICAgICBodHRwOi8vd3d3
LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKLSMgVW5sZXNzIHJlcXVpcmVkIGJ5IGFw
cGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQotIyBkaXN0cmli
dXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lT
LAotIyBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVy
IGV4cHJlc3Mgb3IgaW1wbGllZC4KLSMgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMg
bGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAotIyBsaW1pdGF0aW9ucyB1bmRlciB0
aGUgTGljZW5zZS4KLSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwotCi1VTkFNRSA9ICQoc2hlbGwgdW5hbWUpCi1W
QUxJRFRFU1RESVIgPSB2YWxpZC9pZGwKLVZBTElEVEVTVFJFRkRJUiA9IHZhbGlkL3htbAotVkFM
SURURVNUT0JKRElSID0gdmFsaWQvb2JqCi1JTlZBTElEVEVTVERJUiA9IGludmFsaWQvaWRsCi1J
TlZBTElEVEVTVFJFRkRJUiA9IGludmFsaWQvZXJyb3IKLUlOVkFMSURURVNUT0JKRElSID0gaW52
YWxpZC9vYmoKLQotIyBUaGUgc2V0dGluZ3Mgb2YgU1JDRElSICh3aGVyZSB0byBmaW5kIHRoZSB4
c2wgc3R5bGUgc2hlZXRzKSwgT0JKRElSICh3aGVyZSB0bwotIyBmaW5kIHdpZGxwcm9jIGFuZCB3
aWRscHJvY3htbC5kdGQpIGFuZCBWQUxEVEVTVE9CSkRJUiAod2hlcmUgdG8gcHV0IHRoZQotIyBy
ZXN1bHRpbmcgWE1MIGZpbGVzKSByZWZsZWN0IHRoZSBkaXJlY3RvcnkKLSMgc3RydWN0dXJlIG9m
IHRoZSByZWxlYXNlZCB3aWRscHJvYy56aXAgZmlsZSB3aGVuIHVuemlwcGVkLiAuLi9NYWtlZmls
ZSBjYWxscwotIyB0aGlzIE1ha2VmaWxlIHdpdGggdGhlc2Ugc2V0dGluZ3Mgb3ZlcnJpZGRlbiB0
byByZWZsZWN0IHRoZSBkaXJlY3RvcnkKLSMgc3RydWN0dXJlIGluIHN2bi4KLVNSQ0RJUiA9IC4u
Ci1PQkpESVIgPSAuLgotCi0jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKLSMgTGludXggY29uZmlndXJhdGlvbgot
IwotaWZuZXEgKCwkKGZpbHRlciBMaW51eCUsICQoVU5BTUUpKSkgCi0KLUVYRVNVRkZJWCA9Ci0K
LWVsc2UKLSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIwotIyBEYXJ3aW4gY29uZmlndXJhdGlvbgotIwotaWZuZXEg
KCwkKGZpbHRlciBEYXJ3aW4lLCAkKFVOQU1FKSkpIAotCi1FWEVTVUZGSVggPQotCi1lbHNlCi0j
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMKLSMgV2luZG93cyAoY3lnd2luIGJ1dCB1c2luZyBNUyBjb21waWxlcikg
Y29uZmlndXJhdGlvbgotIwotaWZuZXEgKCwkKGZpbHRlciBDWUdXSU4lLCAkKFVOQU1FKSkpIAot
Ci1FWEVTVUZGSVggPSAuZXhlCi0KLWVuZGlmCi1lbmRpZgotZW5kaWYKLQotIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjCi0jIENvbW1vbiBtYWtlZmlsZQotIwotV0lETFBST0MgPSAkKE9CSkRJUikvd2lkbHByb2Mk
KEVYRVNVRkZJWCkKLURURCA9ICQoT0JKRElSKS93aWRscHJvY3htbC5kdGQKLQotVkFMSURfV0lE
TFMgPSAkKHBhdHN1YnN0ICQoVkFMSURURVNURElSKS8lLCAlLCAkKHdpbGRjYXJkICQoVkFMSURU
RVNURElSKS8qLndpZGwpKQotSU5WQUxJRF9XSURMUyA9ICQocGF0c3Vic3QgJChJTlZBTElEVEVT
VERJUikvJSwgJSwgJCh3aWxkY2FyZCAkKElOVkFMSURURVNURElSKS8qLndpZGwpKQotCi10ZXN0
IDogJChwYXRzdWJzdCAlLndpZGwsICQoVkFMSURURVNUT0JKRElSKS8lLndpZGxwcm9jeG1sLCAk
KFZBTElEX1dJRExTKSkgJChwYXRzdWJzdCAlLndpZGwsICQoSU5WQUxJRFRFU1RPQkpESVIpLyUu
dHh0LCAkKElOVkFMSURfV0lETFMpKSAkKFdJRExQUk9DKSAKLQlAZWNobyAiJEAgcGFzcyIKLQot
IyQoRVhBTVBMRVNPQkpESVIpLyUuaHRtbCA6ICQoRVhBTVBMRVNPQkpESVIpLyUud2lkbHByb2N4
bWwgJChTUkNESVIpL3dpZGxwcm9jeG1sdG9odG1sLnhzbCBNYWtlZmlsZQotIwljcCAkKFNSQ0RJ
Uikvd2lkbHByb2N4bWx0b2h0bWwueHNsICQoZGlyICRAKS8KLSMJeHNsdHByb2MgJChkaXIgJEAp
L3dpZGxwcm9jeG1sdG9odG1sLnhzbCAkPCA+JEAKLQotCi0kKFZBTElEVEVTVE9CSkRJUikvJS53
aWRscHJvY3htbCA6ICQoVkFMSURURVNURElSKS8lLndpZGwgJChXSURMUFJPQykgJChEVEQpIE1h
a2VmaWxlICQocGF0c3Vic3QgJS53aWRsLCAkKFZBTElEVEVTVFJFRkRJUikvJS53aWRscHJvY3ht
bCwgJChWQUxJRF9XSURMUykpCi0JbWtkaXIgLXAgJChkaXIgJEApCi0JJChXSURMUFJPQykgJDwg
PiRACi0JY3AgJChPQkpESVIpL3dpZGxwcm9jeG1sLmR0ZCAkKGRpciAkQCkvCi0JeG1sbGludCAt
LW5vb3V0IC0tZHRkdmFsaWQgJChEVEQpICRACi0JZGlmZiAkQCAkKFZBTElEVEVTVFJFRkRJUikv
YGJhc2VuYW1lICRAYAotCi0kKElOVkFMSURURVNUT0JKRElSKS8lLnR4dCA6ICQoSU5WQUxJRFRF
U1RESVIpLyUud2lkbCAkKFdJRExQUk9DKSBNYWtlZmlsZSAkKHBhdHN1YnN0ICUud2lkbCwgJChJ
TlZBTElEVEVTVFJFRkRJUikvJS50eHQsICQoSU5WQUxJRF9XSURMUykpCi0JbWtkaXIgLXAgJChk
aXIgJEApCi0JLSQoV0lETFBST0MpICQ8ICA+JEAgMj4mMQotCWRpZmYgJEAgJChJTlZBTElEVEVT
VFJFRkRJUikvYGJhc2VuYW1lICRAYAotCi0KLQotLkRFTEVURV9PTl9FUlJPUjoKLQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvaW52YWxpZC9lcnJvci9lbnVtLnR4dCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC93aWRscHJvYy90ZXN0L2ludmFsaWQvZXJyb3IvZW51bS50eHQKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDZmOGJhOGVlZjQ2Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvd2lkbHByb2MvdGVzdC9pbnZhbGlkL2Vycm9yL2VudW0udHh0CisrKyAvZGV2L251bGwKQEAg
LTEgKzAsMCBAQAotaW52YWxpZC9pZGwvZW51bS53aWRsOiAxOiBhdCAnMSc6IGV4cGVjdGVkIHN0
cmluZyBpbiBlbnVtCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9pbnZhbGlk
L2Vycm9yL21vZHVsZS50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9pbnZhbGlkL2Vycm9y
L21vZHVsZS50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDdlNTA0MzE2ZTUxLi4w
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9pbnZhbGlkL2Vycm9yL21v
ZHVsZS50eHQKKysrIC9kZXYvbnVsbApAQCAtMSArMCwwIEBACi1pbnZhbGlkL2lkbC9tb2R1bGUu
d2lkbDogMjogYXQgJ2dmeCc6IGV4cGVjdGVkICdpbXBsZW1lbnRzJwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L3dpZGxwcm9jL3Rlc3QvaW52YWxpZC9lcnJvci9ub25udWxsYWJsZWFueS50eHQgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9pbnZhbGlkL2Vycm9yL25vbm51bGxhYmxlYW55LnR4dApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZWVlYjI1ZjEyYWIuLjAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L2ludmFsaWQvZXJyb3Ivbm9ubnVsbGFibGVhbnku
dHh0CisrKyAvZGV2L251bGwKQEAgLTEgKzAsMCBAQAotaW52YWxpZC9pZGwvbm9ubnVsbGFibGVh
bnkud2lkbDogMjogYXQgJz8nOiBleHBlY3RlZCBpZGVudGlmaWVyCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvd2lkbHByb2MvdGVzdC9pbnZhbGlkL2Vycm9yL25vbm51bGxhYmxlb2JqZWN0cy50eHQg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9pbnZhbGlkL2Vycm9yL25vbm51bGxhYmxlb2JqZWN0
cy50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDUyNjYyMjU5OWI3Li4wMDAwMDAw
MDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9pbnZhbGlkL2Vycm9yL25vbm51bGxh
Ymxlb2JqZWN0cy50eHQKKysrIC9kZXYvbnVsbApAQCAtMSArMCwwIEBACi1pbnZhbGlkL2lkbC9u
b25udWxsYWJsZW9iamVjdHMud2lkbDogNDogYXQgJz8nOiBleHBlY3RlZCBpZGVudGlmaWVyCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9pbnZhbGlkL2Vycm9yL3Njb3BlZG5h
bWUudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvaW52YWxpZC9lcnJvci9zY29wZWRuYW1l
LnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTY0NjYwOGNkMzcuLjAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L2ludmFsaWQvZXJyb3Ivc2NvcGVkbmFt
ZS50eHQKKysrIC9kZXYvbnVsbApAQCAtMSArMCwwIEBACi1pbnZhbGlkL2lkbC9zY29wZWRuYW1l
LndpZGw6IDI6IGF0ICc6JzogZXhwZWN0ZWQgaWRlbnRpZmllcgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3dpZGxwcm9jL3Rlc3QvaW52YWxpZC9lcnJvci9zZXF1ZW5jZUFzQXR0cmlidXRlLnR4dCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L2ludmFsaWQvZXJyb3Ivc2VxdWVuY2VBc0F0dHJpYnV0
ZS50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDE1OTYwY2I4YjVmLi4wMDAwMDAw
MDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9pbnZhbGlkL2Vycm9yL3NlcXVlbmNl
QXNBdHRyaWJ1dGUudHh0CisrKyAvZGV2L251bGwKQEAgLTEgKzAsMCBAQAotaW52YWxpZC9pZGwv
c2VxdWVuY2VBc0F0dHJpYnV0ZS53aWRsOiAyOiBhdCAnc2VxdWVuY2UnOiBleHBlY3RlZCB0eXBl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9pbnZhbGlkL2Vycm9yL3N0cmlu
Z2NvbnN0YW50cy5pZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9pbnZhbGlkL2Vycm9yL3N0
cmluZ2NvbnN0YW50cy5pZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDE1NWE4OTJj
NTVhLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9pbnZhbGlkL2Vy
cm9yL3N0cmluZ2NvbnN0YW50cy5pZGwKKysrIC9kZXYvbnVsbApAQCAtMSArMCwwIEBACi1pbnZh
bGlkL2lkbC9zdHJpbmdjb25zdGFudHMuaWRsOiAyOiBhdCAnRE9NU3RyaW5nJzogZXhwZWN0ZWQg
YWNjZXB0YWJsZSBjb25zdGFudCB0eXBlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mv
dGVzdC9pbnZhbGlkL2Vycm9yL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rl
c3QvaW52YWxpZC9lcnJvci93M2MtaW1wb3J0LmxvZwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggNmNlODU1Y2FiNjkuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90
ZXN0L2ludmFsaWQvZXJyb3IvdzNjLWltcG9ydC5sb2cKKysrIC9kZXYvbnVsbApAQCAtMSwyNCAr
MCwwIEBACi1UaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRo
ZSBXM0MgcmVwb3NpdG9yeS4KLURvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4g
V2ViS2l0LgotSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXM0MgQ1NTIG9y
IFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy10ZXN0Ci0JaHR0cHM6
Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMKLQotVGhlbiBydW4gdGhlIFRvb2xz
L1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKLQotRG8gTk9U
IG1vZGlmeSBvciByZW1vdmUgdGhpcyBmaWxlLgotCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLVByb3BlcnRp
ZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKLU5vbmUKLVByb3BlcnR5IHZhbHVlcyByZXF1
aXJpbmcgdmVuZG9yIHByZWZpeGVzOgotTm9uZQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1MaXN0IG9mIGZp
bGVzOgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L2ludmFsaWQvZXJyb3IvZW51bS50eHQKLS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9pbnZhbGlkL2Vycm9yL21vZHVsZS50eHQKLS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvd2lkbHByb2MvdGVzdC9pbnZhbGlkL2Vycm9yL25vbm51bGxhYmxlYW55LnR4dAotL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC93aWRscHJvYy90ZXN0L2ludmFsaWQvZXJyb3Ivbm9ubnVsbGFibGVvYmplY3RzLnR4dAot
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L2ludmFsaWQvZXJyb3Ivc2NvcGVkbmFtZS50eHQKLS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9pbnZhbGlkL2Vycm9yL3NlcXVlbmNlQXNBdHRyaWJ1dGUu
dHh0Ci0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvaW52YWxpZC9lcnJvci9zdHJpbmdjb25zdGFu
dHMuaWRsCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9pbnZhbGlkL2lkbC9l
bnVtLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9pbnZhbGlkL2lkbC9lbnVtLndpZGwK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGMzNTVjMzI1MWMwLi4wMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9pbnZhbGlkL2lkbC9lbnVtLndpZGwKKysrIC9k
ZXYvbnVsbApAQCAtMSArMCwwIEBACi1lbnVtIGZvbyB7IDEsIDIsIDN9OwpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L2ludmFs
aWQvaWRsL21vZHVsZS53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvaW52YWxpZC9pZGwv
bW9kdWxlLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGE0Yzc5ZmRmMTU1Li4w
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9pbnZhbGlkL2lkbC9tb2R1
bGUud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDI1ICswLDAgQEAKLS8vIEV4dHJhY3RlZCBmcm9t
IGh0dHA6Ly9kZXYudzMub3JnLzIwMDYvd2ViYXBpL1dlYklETC8gb24gMjAxMS0wNS0wNgotbW9k
dWxlIGdmeCB7Ci0KLSAgbW9kdWxlIGdlb20gewotICAgIGludGVyZmFjZSBTaGFwZSB7IC8qIC4u
LiAqLyB9OwotICAgIGludGVyZmFjZSBSZWN0YW5nbGUgOiBTaGFwZSB7IC8qIC4uLiAqLyB9Owot
ICAgIGludGVyZmFjZSBQYXRoIDogU2hhcGUgeyAvKiAuLi4gKi8gfTsKLSAgfTsKLQotICBpbnRl
cmZhY2UgR3JhcGhpY3NDb250ZXh0IHsKLSAgICB2b2lkIGZpbGxTaGFwZShnZW9tOjpTaGFwZSBz
KTsKLSAgICB2b2lkIHN0cm9rZVNoYXBlKGdlb206OlNoYXBlIHMpOwotICB9OwotfTsKLQotbW9k
dWxlIGd1aSB7Ci0KLSAgaW50ZXJmYWNlIFdpZGdldCB7IC8qIC4uLiAqLyAgfTsKLQotICBpbnRl
cmZhY2UgV2luZG93IDogV2lkZ2V0IHsKLSAgICBnZng6OkdyYXBoaWNzQ29udGV4dCBnZXRHcmFw
aGljc0NvbnRleHQoKTsKLSAgfTsKLQotICBpbnRlcmZhY2UgQnV0dG9uIDogV2lkZ2V0IHsgLyog
Li4uICovICB9OwotfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9pbnZhbGlkL2lkbC9ub25udWxsYWJsZWFueS53aWRsIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvaW52YWxpZC9pZGwvbm9ubnVsbGFibGVhbnkud2lkbApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzg5NTc2NTU1MjMuLjAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L2ludmFsaWQvaWRsL25vbm51bGxhYmxlYW55Lndp
ZGwKKysrIC9kZXYvbnVsbApAQCAtMSwzICswLDAgQEAKLWludGVyZmFjZSBOb25OdWxsYWJsZSB7
Ci0gIGF0dHJpYnV0ZSBhbnk/IGZvbzsKLX07ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvaW52YWxpZC9pZGwvbm9ubnVsbGFi
bGVvYmplY3RzLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9pbnZhbGlkL2lkbC9ub25u
dWxsYWJsZW9iamVjdHMud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMWRlYWM1
YWVlYzkuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L2ludmFsaWQv
aWRsL25vbm51bGxhYmxlb2JqZWN0cy53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsNSArMCwwIEBA
Ci1pbnRlcmZhY2UgRm9vIHt9OwotCi1pbnRlcmZhY2UgTm9uTnVsbGFibGUgewotICBhdHRyaWJ1
dGUgRm9vPz8gZm9vOwotfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9pbnZhbGlkL2lkbC9yYWlzZXMud2lkbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC93aWRscHJvYy90ZXN0L2ludmFsaWQvaWRsL3JhaXNlcy53aWRsCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCBmZjY1NTIyZjJiMy4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3dpZGxwcm9jL3Rlc3QvaW52YWxpZC9pZGwvcmFpc2VzLndpZGwKKysrIC9kZXYvbnVsbApAQCAt
MSwxOCArMCwwIEBACi0vLyBnZXRyYWlzZXMgYW5kIHNldHJhaXNlcyBhcmUgbm90IGxvbmdlciB2
YWxpZCBXZWIgSURMCi1pbnRlcmZhY2UgUGVyc29uIHsKLQotICAvLyBBbiBhdHRyaWJ1dGUgdGhh
dCBjYW4gcmFpc2UgYW4gZXhjZXB0aW9uIGlmIGl0IGlzIHNldCB0byBhbiBpbnZhbGlkIHZhbHVl
LgotICBhdHRyaWJ1dGUgRE9NU3RyaW5nIG5hbWUgc2V0cmFpc2VzIChJbnZhbGlkTmFtZSk7Ci0K
LSAgLy8gQW4gYXR0cmlidXRlIHdob3NlIHZhbHVlIGNhbm5vdCBiZSBhc3NpZ25lZCB0bywgYW5k
IHdoaWNoIGNhbiByYWlzZSBhbgotICAvLyBleGNlcHRpb24gc29tZSBjaXJjdW1zdGFuY2VzLgot
ICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHBldE5hbWUgZ2V0cmFpc2VzIChOb1N1Y2hQ
ZXQpOwotfTsKLQotZXhjZXB0aW9uIFNvbWVFeGNlcHRpb24gewotfTsKLQotaW50ZXJmYWNlIEV4
Y2VwdGlvblRocm93ZXIgewotICAvLyBUaGlzIGF0dHJpYnV0ZSBhbHdheXMgdGhyb3dzIGEgU29t
ZUV4Y2VwdGlvbiBhbmQgbmV2ZXIgcmV0dXJucyBhIHZhbHVlLgotICBhdHRyaWJ1dGUgbG9uZyB2
YWx1ZU9mIGdldHJhaXNlcyhTb21lRXhjZXB0aW9uKTsKLX07ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvaW52YWxpZC9pZGwv
c2NvcGVkbmFtZS53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvaW52YWxpZC9pZGwvc2Nv
cGVkbmFtZS53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjZmNiMWNjYzkzOS4u
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvaW52YWxpZC9pZGwvc2Nv
cGVkbmFtZS53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsMiArMCwwIEBACi0vLyBzY29wZWQgbmFt
ZXMgYXJlIG5vIGxvbmdlciB2YWxpZCBpbiBXZWJJREwKLSAgdHlwZWRlZiBnZng6Omdlb206Omdl
b20yZDo6UG9pbnQgUG9pbnQ7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9p
bnZhbGlkL2lkbC9zZXF1ZW5jZUFzQXR0cmlidXRlLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mv
dGVzdC9pbnZhbGlkL2lkbC9zZXF1ZW5jZUFzQXR0cmlidXRlLndpZGwKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IGMyM2RhODJhYzIyLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
d2lkbHByb2MvdGVzdC9pbnZhbGlkL2lkbC9zZXF1ZW5jZUFzQXR0cmlidXRlLndpZGwKKysrIC9k
ZXYvbnVsbApAQCAtMSwzICswLDAgQEAKLWludGVyZmFjZSBzZXF1ZW5jZUFzQXR0cmlidXRlIHsK
LSAgYXR0cmlidXRlIHNlcXVlbmNlPHNob3J0PiBpbnZhbGlkOwotfTsKXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9pbnZhbGlk
L2lkbC9zcGVjaWFsLW9taXR0YWJsZS53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvaW52
YWxpZC9pZGwvc3BlY2lhbC1vbWl0dGFibGUud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggYmRmYmZhNzA5NzMuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90
ZXN0L2ludmFsaWQvaWRsL3NwZWNpYWwtb21pdHRhYmxlLndpZGwKKysrIC9kZXYvbnVsbApAQCAt
MSw4ICswLDAgQEAKLS8vIEV4dHJhY3RlZCBmcm9tIGh0dHA6Ly9kZXYudzMub3JnLzIwMDYvd2Vi
YXBpL1dlYklETC8gb24gMjAxMS0wNS0wNgotLy8gb21pdHRhYmxlIGlzIG5vIGxvbmdlciBhIHJl
Y29nbml6ZWQga2V5d29hcmQgYXMgb2YgMjAxMTA5MDUKLWludGVyZmFjZSBEaWN0aW9uYXJ5IHsK
LSAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgcHJvcGVydHlDb3VudDsKLQotICBv
bWl0dGFibGUgZ2V0dGVyIGZsb2F0IGdldFByb3BlcnR5KERPTVN0cmluZyBwcm9wZXJ0eU5hbWUp
OwotICBvbWl0dGFibGUgc2V0dGVyIHZvaWQgc2V0UHJvcGVydHkoRE9NU3RyaW5nIHByb3BlcnR5
TmFtZSwgZmxvYXQgcHJvcGVydHlWYWx1ZSk7Ci19OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L2ludmFsaWQvaWRsL3N0cmlu
Z2NvbnN0YW50cy5pZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9pbnZhbGlkL2lkbC9zdHJp
bmdjb25zdGFudHMuaWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0NGZkM2ZmMTM2
ZS4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvaW52YWxpZC9pZGwv
c3RyaW5nY29uc3RhbnRzLmlkbAorKysgL2Rldi9udWxsCkBAIC0xLDMgKzAsMCBAQAotaW50ZXJm
YWNlIFV0aWwgewotICBjb25zdCBET01TdHJpbmcgaGVsbG8gPSAid29ybGQiOwotfTsKXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVz
dC9pbnZhbGlkL2lkbC93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L2lu
dmFsaWQvaWRsL3czYy1pbXBvcnQubG9nCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBj
MWUxYzIyNDhjZS4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvaW52
YWxpZC9pZGwvdzNjLWltcG9ydC5sb2cKKysrIC9kZXYvbnVsbApAQCAtMSwyNiArMCwwIEBACi1U
aGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVw
b3NpdG9yeS4KLURvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0Lgot
SW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXM0MgQ1NTIG9yIFdQVCBnaXRo
dWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy10ZXN0Ci0JaHR0cHM6Ly9naXRodWIu
Y29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMKLQotVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMv
aW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKLQotRG8gTk9UIG1vZGlmeSBv
ciByZW1vdmUgdGhpcyBmaWxlLgotCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLVByb3BlcnRpZXMgcmVxdWly
aW5nIHZlbmRvciBwcmVmaXhlczoKLU5vbmUKLVByb3BlcnR5IHZhbHVlcyByZXF1aXJpbmcgdmVu
ZG9yIHByZWZpeGVzOgotTm9uZQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1MaXN0IG9mIGZpbGVzOgotL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC93aWRscHJvYy90ZXN0L2ludmFsaWQvaWRsL2VudW0ud2lkbAotL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93
aWRscHJvYy90ZXN0L2ludmFsaWQvaWRsL21vZHVsZS53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9j
L3Rlc3QvaW52YWxpZC9pZGwvbm9ubnVsbGFibGVhbnkud2lkbAotL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJv
Yy90ZXN0L2ludmFsaWQvaWRsL25vbm51bGxhYmxlb2JqZWN0cy53aWRsCi0vTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dp
ZGxwcm9jL3Rlc3QvaW52YWxpZC9pZGwvcmFpc2VzLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mv
dGVzdC9pbnZhbGlkL2lkbC9zY29wZWRuYW1lLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVz
dC9pbnZhbGlkL2lkbC9zZXF1ZW5jZUFzQXR0cmlidXRlLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHBy
b2MvdGVzdC9pbnZhbGlkL2lkbC9zcGVjaWFsLW9taXR0YWJsZS53aWRsCi0vTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dp
ZGxwcm9jL3Rlc3QvaW52YWxpZC9pZGwvc3RyaW5nY29uc3RhbnRzLmlkbApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL2FsbG93YW55LndpZGwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvYWxsb3dhbnkud2lkbApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMjM0M2JiOTYzNzQuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93
aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9hbGxvd2FueS53aWRsCisrKyAvZGV2L251bGwKQEAgLTEs
NiArMCwwIEBACi0vLyBFeHRyYWN0ZWQgZnJvbSBodHRwOi8vZGV2LnczLm9yZy8yMDA2L3dlYmFw
aS9XZWJJREwvIG9uIDIwMTEtMDUtMDYKLWludGVyZmFjZSBCIHsKLSAgdm9pZCBnKCk7Ci0gIHZv
aWQgZyhCIGIpOwotICB2b2lkIGcoW0FsbG93QW55XSBET01TdHJpbmcgcyk7Ci19OwpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0
L3ZhbGlkL2lkbC9hcnJheS53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRs
L2FycmF5LndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDIyZTIxZmI2NTY0Li4w
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvYXJyYXku
d2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDUgKzAsMCBAQAotLy8gRXh0cmFjdGVkIGZyb20gaHR0
cDovL2Rldi53My5vcmcvMjAwNi93ZWJhcGkvV2ViSURMLyBvbiAyMDExLTA1LTA2Ci1bQ29uc3Ry
dWN0b3JdCi1pbnRlcmZhY2UgTG90dGVyeVJlc3VsdHMgewotICByZWFkb25seSBhdHRyaWJ1dGUg
dW5zaWduZWQgc2hvcnRbXVtdIG51bWJlcnM7Ci19OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9hdHRyaWJ1
dGVzLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvYXR0cmlidXRlcy53
aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3ZTFkNjkxY2JlMi4uMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL2F0dHJpYnV0ZXMud2lk
bAorKysgL2Rldi9udWxsCkBAIC0xLDE0ICswLDAgQEAKLS8vIEV4dHJhY3RlZCBmcm9tIGh0dHA6
Ly9kZXYudzMub3JnLzIwMDYvd2ViYXBpL1dlYklETC8gb24gMjAxMS0wNS0wNgotZXhjZXB0aW9u
IEludmFsaWROYW1lIHsKLSAgRE9NU3RyaW5nIHJlYXNvbjsKLX07Ci0KLWV4Y2VwdGlvbiBOb1N1
Y2hQZXQgeyB9OwotCi1pbnRlcmZhY2UgUGVyc29uIHsKLQotICAvLyBBIHNpbXBsZSBhdHRyaWJ1
dGUgdGhhdCBjYW4gYmUgc2V0IHRvIGFueSB2YWx1ZSB0aGUgcmFuZ2UgYW4gdW5zaWduZWQKLSAg
Ly8gc2hvcnQgY2FuIHRha2UuCi0gIGF0dHJpYnV0ZSB1bnNpZ25lZCBzaG9ydCBhZ2U7Ci0KLX07
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxw
cm9jL3Rlc3QvdmFsaWQvaWRsL2NhbGxiYWNrLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVz
dC92YWxpZC9pZGwvY2FsbGJhY2sud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
ZDkyZjZhMThjMGEuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3Zh
bGlkL2lkbC9jYWxsYmFjay53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsNSArMCwwIEBACi1jYWxs
YmFjayBBc3luY09wZXJhdGlvbkNhbGxiYWNrID0gdm9pZCAoRE9NU3RyaW5nIHN0YXR1cyk7Ci0K
LWNhbGxiYWNrIGludGVyZmFjZSBFdmVudEhhbmRsZXIgewotICB2b2lkIGV2ZW50T2NjdXJyZWQo
RE9NU3RyaW5nIGRldGFpbHMpOwotfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvY2FsbGVyLndpZGwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvY2FsbGVyLndpZGwKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDkyYWNiMWMwMTc2Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvY2FsbGVyLndpZGwKKysrIC9kZXYvbnVsbApAQCAt
MSw1ICswLDAgQEAKLS8vIEV4dHJhY3RlZCBmcm9tIGh0dHA6Ly9kZXYudzMub3JnLzIwMDYvd2Vi
YXBpL1dlYklETC8gb24gMjAxMS0wNS0wNgotaW50ZXJmYWNlIE51bWJlclF1YWRydXBsZXIgewot
ICAvLyBUaGlzIG9wZXJhdGlvbiBzaW1wbHkgcmV0dXJucyBmb3VyIHRpbWVzIHRoZSBnaXZlbiBu
dW1iZXIgeC4KLSAgbGVnYWN5Y2FsbGVyIGZsb2F0IGNvbXB1dGUoZmxvYXQgeCk7Ci19OwpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90
ZXN0L3ZhbGlkL2lkbC9jb25zdGFudHMud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3Zh
bGlkL2lkbC9jb25zdGFudHMud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNWUy
OGFlOWMxMTYuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlk
L2lkbC9jb25zdGFudHMud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDE4ICswLDAgQEAKLS8vIEV4
dHJhY3RlZCBmcm9tIGh0dHA6Ly9kZXYudzMub3JnLzIwMDYvd2ViYXBpL1dlYklETC8gb24gMjAx
MS0wNS0wNgotaW50ZXJmYWNlIFV0aWwgewotICBjb25zdCBib29sZWFuIERFQlVHID0gZmFsc2U7
Ci0gIGNvbnN0IHNob3J0IG5lZ2F0aXZlID0gLTE7Ci0gIGNvbnN0IG9jdGV0IExGID0gMTA7Ci0g
IGNvbnN0IHVuc2lnbmVkIGxvbmcgQklUX01BU0sgPSAweDAwMDBmYzAwOwotICBjb25zdCBmbG9h
dCBBVk9HQURSTyA9IDYuMDIyZTIzOwotICBjb25zdCB1bnJlc3RyaWN0ZWQgZmxvYXQgc29iaWcg
PSBJbmZpbml0eTsKLSAgY29uc3QgdW5yZXN0cmljdGVkIGRvdWJsZSBtaW51c29uZWRpdmlkZWRi
eXplcm8gPSAtSW5maW5pdHk7Ci0gIGNvbnN0IHNob3J0IG5vdGFudW1iZXIgPSBOYU47Ci19Owot
Ci1leGNlcHRpb24gRXJyb3IgewotICBjb25zdCBzaG9ydCBFUlJfVU5LTk9XTiA9IDA7Ci0gIGNv
bnN0IHNob3J0IEVSUl9PVVRfT0ZfTUVNT1JZID0gMTsKLQotICBzaG9ydCBlcnJvckNvZGU7Ci19
OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRs
cHJvYy90ZXN0L3ZhbGlkL2lkbC9jb25zdHJ1Y3Rvci53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9j
L3Rlc3QvdmFsaWQvaWRsL2NvbnN0cnVjdG9yLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IGY5M2VjMDhhNmU2Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mv
dGVzdC92YWxpZC9pZGwvY29uc3RydWN0b3Iud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDkgKzAs
MCBAQAotLy8gRXh0cmFjdGVkIGZyb20gaHR0cDovL2Rldi53My5vcmcvMjAwNi93ZWJhcGkvV2Vi
SURMLyBvbiAyMDExLTA1LTA2Ci1bQ29uc3RydWN0b3IsCi0gQ29uc3RydWN0b3IoZmxvYXQgcmFk
aXVzKV0KLWludGVyZmFjZSBDaXJjbGUgewotICBhdHRyaWJ1dGUgZmxvYXQgcjsKLSAgYXR0cmli
dXRlIGZsb2F0IGN4OwotICBhdHRyaWJ1dGUgZmxvYXQgY3k7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0
ZSBmbG9hdCBjaXJjdW1mZXJlbmNlOwotfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvZGljdGlvbmFyeS1p
bmhlcml0cy53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL2RpY3Rpb25h
cnktaW5oZXJpdHMud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDhmOGEwZmRj
ZWIuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9k
aWN0aW9uYXJ5LWluaGVyaXRzLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSw5ICswLDAgQEAKLWRp
Y3Rpb25hcnkgUGFpbnRPcHRpb25zIHsKLSAgRE9NU3RyaW5nPyBmaWxsUGF0dGVybiA9ICJibGFj
ayI7Ci0gIERPTVN0cmluZz8gc3Ryb2tlUGF0dGVybiA9IG51bGw7Ci0gIFBvaW50IHBvc2l0aW9u
OwotfTsKLQotZGljdGlvbmFyeSBXZXRQYWludE9wdGlvbnMgOiBQYWludE9wdGlvbnMgewotICBm
bG9hdCBoeWRyb21ldHJ5OwotfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvZGljdGlvbmFyeS53aWRsIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL2RpY3Rpb25hcnkud2lkbApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjQ2YjdiYTc4MDYuLjAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9kaWN0aW9uYXJ5LndpZGwKKysrIC9kZXYv
bnVsbApAQCAtMSwxMSArMCwwIEBACi0vLyBFeHRyYWN0ZWQgZnJvbSBXZWIgSURMIGVkaXRvcnMg
ZHJhZnQgTWF5IDMxIDIwMTEKLWRpY3Rpb25hcnkgUGFpbnRPcHRpb25zIHsKLSAgRE9NU3RyaW5n
PyBmaWxsUGF0dGVybiA9ICJibGFjayI7Ci0gIERPTVN0cmluZz8gc3Ryb2tlUGF0dGVybiA9IG51
bGw7Ci0gIFBvaW50IHBvc2l0aW9uOwotfTsKLQotcGFydGlhbCBkaWN0aW9uYXJ5IEEgewotICBs
b25nIGg7Ci0gIGxvbmcgZDsKLX07ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL2RvY3VtZW50YXRpb24tZG9z
LndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvZG9jdW1lbnRhdGlvbi1k
b3Mud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZmI4MDExMDFmMTQuLjAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9kb2N1bWVudGF0
aW9uLWRvcy53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsMzMgKzAsMCBAQAotLyoqCi0qIFxicmll
ZiBUZXN0aW5nIGRvY3VtZW50YXRpb24gZmVhdHVyZXMKLSoKLSogVGhpcyBpcyBhCi0qIHNpbmds
ZSBwYXJhZ3JhcGgKLSoKLSogPHA+VGhpcyBpcyB2YWxpZC48L3A+Ci0qIDxwPlRoaXMgaXMgPGVt
PnZhbGlkPC9lbT4uPC9wPgotKiA8cD5UaGlzIGlzIDxiPnZhbGlkPC9iPi48L3A+Ci0qIDxwPlRo
aXMgaXMgPGEgaHJlZj0nJz52YWxpZDwvYT4uPC9wPgotKiA8dWw+Ci0qIDxsaT5UaGlzPC9saT4K
LSogPGxpPmlzPC9saT4KLSogPGxpPnZhbGlkPC9saT4KLSogPC91bD4KLSogPGRsPgotKiA8ZHQ+
VGhpczwvZHQ+Ci0qIDxkZD52YWxpZDwvZGQ+Ci0qIDwvZGw+Ci0qIDx0YWJsZT4KLSogPHRyPgot
KiA8dGQ+dGhpczwvdGQ+Ci0qIDx0ZD5pczwvdGQ+Ci0qIDwvdHI+Ci0qIDx0cj4KLSogPHRkPnZh
bGlkPC90ZD4KLSogPC90cj4KLSogPC90YWJsZT4KLSogPHA+VGhpcyBpcyA8YnI+IHZhbGlkLjwv
cD4KLSogPHA+VGhpcyBpcyA8YnIgLz4gdmFsaWQuPC9wPgotKiA8cD5UaGlzIGlzIDxici8+IHZh
bGlkLjwvcD4KLSovCi1pbnRlcmZhY2UgRG9jdW1lbnRhdGlvbiB7fTsKXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9p
ZGwvZG9jdW1lbnRhdGlvbi53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRs
L2RvY3VtZW50YXRpb24ud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAzZTky
MjZmNjcuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lk
bC9kb2N1bWVudGF0aW9uLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSwzNCArMCwwIEBACi0vKioK
LSogXGJyaWVmIFRlc3RpbmcgZG9jdW1lbnRhdGlvbiBmZWF0dXJlcwotKgotKiBUaGlzIGlzIGEK
LSogc2luZ2xlIHBhcmFncmFwaAotKgotKiA8cD5UaGlzIGlzIHZhbGlkLjwvcD4KLSogPHA+VGhp
cyBpcyA8ZW0+dmFsaWQ8L2VtPi48L3A+Ci0qIDxwPlRoaXMgaXMgPGI+dmFsaWQ8L2I+LjwvcD4K
LSogPHA+VGhpcyBpcyA8YSBocmVmPScnPnZhbGlkPC9hPi48L3A+Ci0qIDx1bD4KLSogPGxpPlRo
aXM8L2xpPgotKiA8bGk+aXM8L2xpPgotKiA8bGk+dmFsaWQ8L2xpPgotKiA8L3VsPgotKiA8ZGw+
Ci0qIDxkdD5UaGlzPC9kdD4KLSogPGRkPnZhbGlkPC9kZD4KLSogPC9kbD4KLSogPHRhYmxlPgot
KiA8dHI+Ci0qIDx0ZD50aGlzPC90ZD4KLSogPHRkPmlzPC90ZD4KLSogPC90cj4KLSogPHRyPgot
KiA8dGQ+dmFsaWQ8L3RkPgotKiA8L3RyPgotKiA8L3RhYmxlPgotKiA8cD5UaGlzIGlzIDxicj4g
dmFsaWQuPC9wPgotKiA8cD5UaGlzIGlzIDxiciAvPiB2YWxpZC48L3A+Ci0qIDxwPlRoaXMgaXMg
PGJyLz4gdmFsaWQuPC9wPgotKiA8cD48aW1nIHNyYz0iZm9vLnBuZyIgYWx0PSJWYWxpZCIvPjwv
cD4KLSovCi1pbnRlcmZhY2UgRG9jdW1lbnRhdGlvbiB7fTsKXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvZW51
bS53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL2VudW0ud2lkbApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODUxZmNhMmU2ZjYuLjAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9lbnVtLndpZGwKKysrIC9kZXYvbnVs
bApAQCAtMSw4ICswLDAgQEAKLWVudW0gTWVhbFR5cGUgeyAicmljZSIsICJub29kbGVzIiwgIm90
aGVyIiB9OwotCi1pbnRlcmZhY2UgTWVhbCB7Ci0gIGF0dHJpYnV0ZSBNZWFsVHlwZSB0eXBlOwot
ICBhdHRyaWJ1dGUgZmxvYXQgc2l6ZTsgICAgIC8vIGluIGdyYW1zCi0KLSAgdm9pZCBpbml0aWFs
aXplKE1lYWxUeXBlIHR5cGUsIGZsb2F0IHNpemUpOwotfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvZXF1
aXZhbGVudC1kZWNsLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvZXF1
aXZhbGVudC1kZWNsLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZiM2UwZWRh
Mjg0Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwv
ZXF1aXZhbGVudC1kZWNsLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSwxOCArMCwwIEBACi0vLyBF
eHRyYWN0ZWQgZnJvbSBodHRwOi8vZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJJREwvIG9uIDIw
MTEtMDUtMDYKLWludGVyZmFjZSBEaWN0aW9uYXJ5IHsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIHVu
c2lnbmVkIGxvbmcgcHJvcGVydHlDb3VudDsKLQotICBnZXR0ZXIgZmxvYXQgZ2V0UHJvcGVydHko
RE9NU3RyaW5nIHByb3BlcnR5TmFtZSk7Ci0gIHNldHRlciB2b2lkIHNldFByb3BlcnR5KERPTVN0
cmluZyBwcm9wZXJ0eU5hbWUsIGZsb2F0IHByb3BlcnR5VmFsdWUpOwotfTsKLQotCi1pbnRlcmZh
Y2UgRGljdGlvbmFyeSB7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIHByb3Bl
cnR5Q291bnQ7Ci0KLSAgZmxvYXQgZ2V0UHJvcGVydHkoRE9NU3RyaW5nIHByb3BlcnR5TmFtZSk7
Ci0gIHZvaWQgc2V0UHJvcGVydHkoRE9NU3RyaW5nIHByb3BlcnR5TmFtZSwgZmxvYXQgcHJvcGVy
dHlWYWx1ZSk7Ci0KLSAgZ2V0dGVyIGZsb2F0IChET01TdHJpbmcgcHJvcGVydHlOYW1lKTsKLSAg
c2V0dGVyIHZvaWQgKERPTVN0cmluZyBwcm9wZXJ0eU5hbWUsIGZsb2F0IHByb3BlcnR5VmFsdWUp
OwotfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
d2lkbHByb2MvdGVzdC92YWxpZC9pZGwvZXhjZXB0aW9uLWluaGVyaXRhbmNlLndpZGwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvZXhjZXB0aW9uLWluaGVyaXRhbmNlLndpZGwK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI1OGZkZWJhNmY0Li4wMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvZXhjZXB0aW9uLWluaGVyaXRh
bmNlLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSw3ICswLDAgQEAKLS8vIGZyb20gaHR0cDovL2xp
c3RzLnczLm9yZy9BcmNoaXZlcy9QdWJsaWMvcHVibGljLXNjcmlwdC1jb29yZC8yMDEwT2N0RGVj
LzAxMTIuaHRtbAotICBleGNlcHRpb24gRE9NRXhjZXB0aW9uIHsKLSAgICB1bnNpZ25lZCBzaG9y
dCBjb2RlOwotICB9OwotCi0gIGV4Y2VwdGlvbiBIaWVyYXJjaHlSZXF1ZXN0RXJyb3IgOiBET01F
eGNlcHRpb24geyB9OwotICBleGNlcHRpb24gTm9Nb2RpZmljYXRpb25BbGxvd2VkRXJyb3IgOiBE
T01FeGNlcHRpb24geyB9OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9leGNlcHRpb24ud2lkbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9leGNlcHRpb24ud2lkbApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggZjRiNmFlMjllMTAuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9leGNlcHRpb24ud2lkbAorKysgL2Rldi9udWxsCkBA
IC0xLDggKzAsMCBAQAotLy8gRXh0cmFjdGVkIGZyb20gaHR0cDovL2Rldi53My5vcmcvMjAwNi93
ZWJhcGkvV2ViSURMLyBvbiAyMDExLTA1LTA2Ci1pbnRlcmZhY2UgRGFodXQgewotICBhdHRyaWJ1
dGUgRE9NU3RyaW5nIHR5cGU7Ci19OwotCi1leGNlcHRpb24gU29tZUV4Y2VwdGlvbiB7Ci19Owot
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvZ2V0dGVyLXNl
dHRlci53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL2dldHRlci1zZXR0
ZXIud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYmRmODdlMWM3YzcuLjAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9nZXR0ZXItc2V0
dGVyLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSw3ICswLDAgQEAKLS8vIEV4dHJhY3RlZCBmcm9t
IGh0dHA6Ly9kZXYudzMub3JnLzIwMDYvd2ViYXBpL1dlYklETC8gb24gMjAxMS0wNS0wNgotaW50
ZXJmYWNlIERpY3Rpb25hcnkgewotICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBw
cm9wZXJ0eUNvdW50OwotCi0gIGdldHRlciBmbG9hdCAoRE9NU3RyaW5nIHByb3BlcnR5TmFtZSk7
Ci0gIHNldHRlciB2b2lkIChET01TdHJpbmcgcHJvcGVydHlOYW1lLCBmbG9hdCBwcm9wZXJ0eVZh
bHVlKTsKLX07ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL2lkZW50aWZpZXItcXVhbGlmaWVkLW5hbWVzLndp
ZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvaWRlbnRpZmllci1xdWFsaWZp
ZWQtbmFtZXMud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzM4OTNkNGM2NDQu
LjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9pZGVu
dGlmaWVyLXF1YWxpZmllZC1uYW1lcy53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsNDQgKzAsMCBA
QAotLy8gRXh0cmFjdGVkIGZyb20gaHR0cDovL2Rldi53My5vcmcvMjAwNi93ZWJhcGkvV2ViSURM
LyBvbiAyMDExLTA1LTA2Ci0gIC8vIFR5cGVkZWYgaWRlbnRpZmllcjogIm51bWJlciIKLSAgLy8g
UXVhbGlmaWVkIG5hbWU6ICAgICI6OmZyYW1ld29yazo6bnVtYmVyIgotICB0eXBlZGVmIGZsb2F0
IG51bWJlcjsKLQotICAvLyBFeGNlcHRpb24gaWRlbnRpZmllcjogIkZyYW1ld29ya0V4Y2VwdGlv
biIKLSAgLy8gUXVhbGlmaWVkIG5hbWU6ICAgICAgICI6OmZyYW1ld29yazo6RnJhbWV3b3JrRXhj
ZXB0aW9uIgotICBleGNlcHRpb24gRnJhbWV3b3JrRXhjZXB0aW9uIHsKLQotICAgIC8vIENvbnN0
YW50IGlkZW50aWZpZXI6ICJFUlJfTk9UX0ZPVU5EIgotICAgIC8vIFF1YWxpZmllZCBuYW1lOiAg
ICAgICI6OmZyYW1ld29yazo6RnJhbWV3b3JrRXhjZXB0aW9uOjpFUlJfTk9UX0ZPVU5EIgotICAg
IGNvbnN0IGxvbmcgRVJSX05PVF9GT1VORCA9IDE7Ci0KLSAgICAvLyBFeGNlcHRpb24gZmllbGQg
aWRlbnRpZmllcjogImNvZGUiCi0gICAgbG9uZyBjb2RlOwotICB9OwotCi0gIC8vIEludGVyZmFj
ZSBpZGVudGlmaWVyOiAiU3lzdGVtIgotICAvLyBRdWFsaWZpZWQgbmFtZTogICAgICAgIjo6ZnJh
bWV3b3JrOjpTeXN0ZW0iCi0gIGludGVyZmFjZSBTeXN0ZW0gewotCi0gICAgLy8gT3BlcmF0aW9u
IGlkZW50aWZpZXI6ICAgICAgICAgICJjcmVhdGVPYmplY3QiCi0gICAgLy8gT3BlcmF0aW9uIGFy
Z3VtZW50IGlkZW50aWZpZXI6ICJpbnRlcmZhY2UiCi0gICAgb2JqZWN0IGNyZWF0ZU9iamVjdChE
T01TdHJpbmcgX2ludGVyZmFjZSk7Ci0KLSAgICAvLyBPcGVyYXRpb24gaGFzIG5vIGlkZW50aWZp
ZXI7IGl0IGRlY2xhcmVzIGEgZ2V0dGVyLgotICAgIGdldHRlciBET01TdHJpbmcgKERPTVN0cmlu
ZyBrZXlOYW1lKTsKLSAgfTsKLQotICAgIAotICAgIC8vIEludGVyZmFjZSBpZGVudGlmaWVyOiAi
VGV4dEZpZWxkIgotICAgIC8vIFF1YWxpZmllZCBuYW1lOiAgICAgICAiOjpmcmFtZXdvcms6Omd1
aTo6VGV4dEZpZWxkIgotICAgIGludGVyZmFjZSBUZXh0RmllbGQgewotCi0gICAgICAvLyBBdHRy
aWJ1dGUgaWRlbnRpZmllcjogImNvbnN0IgotICAgICAgYXR0cmlidXRlIGJvb2xlYW4gX2NvbnN0
OwotCi0gICAgICAvLyBBdHRyaWJ1dGUgaWRlbnRpZmllcjogInZhbHVlIgotICAgICAgYXR0cmli
dXRlIERPTVN0cmluZz8gX3ZhbHVlOwotICAgIH07Ci0KLWludGVyZmFjZSBGb28gewotIHZvaWQg
b3Aob2JqZWN0IGludGVyZmFjZSk7Ci19OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9pbXBsZW1lbnRzLndp
ZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvaW1wbGVtZW50cy53aWRsCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3YTMxMDkyNmYxYy4uMDAwMDAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL2ltcGxlbWVudHMud2lkbAorKysg
L2Rldi9udWxsCkBAIC0xLDE0ICswLDAgQEAKLS8vIEV4dHJhY3RlZCBmcm9tIGh0dHA6Ly9kZXYu
dzMub3JnLzIwMDYvd2ViYXBpL1dlYklETC8gb24gMjAxMS0wNS0wNgotICBpbnRlcmZhY2UgTm9k
ZSB7Ci0gICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIHNob3J0IG5vZGVUeXBlOwotICAg
IC8vIC4uLgotICB9OwotCi0gIGludGVyZmFjZSBFdmVudFRhcmdldCB7Ci0gICAgdm9pZCBhZGRF
dmVudExpc3RlbmVyKERPTVN0cmluZyB0eXBlLAotICAgICAgICAgICAgICAgICAgICAgICAgICBF
dmVudExpc3RlbmVyIGxpc3RlbmVyLAotICAgICAgICAgICAgICAgICAgICAgICAgICBib29sZWFu
IHVzZUNhcHR1cmUpOwotICAgIC8vIC4uLgotICB9OwotCi0gIE5vZGUgaW1wbGVtZW50cyBFdmVu
dFRhcmdldDsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9p
bmRleGVkLXByb3BlcnRpZXMud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lk
bC9pbmRleGVkLXByb3BlcnRpZXMud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
YWNmMGVkM2JmODQuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3Zh
bGlkL2lkbC9pbmRleGVkLXByb3BlcnRpZXMud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDEyICsw
LDAgQEAKLS8vIEV4dHJhY3RlZCBmcm9tIGh0dHA6Ly9kZXYudzMub3JnLzIwMDYvd2ViYXBpL1dl
YklETC8gb24gMjAxMS0wNS0wNgotaW50ZXJmYWNlIE9yZGVyZWRNYXAgewotICByZWFkb25seSBh
dHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBzaXplOwotCi0gIGdldHRlciBhbnkgZ2V0QnlJbmRleCh1
bnNpZ25lZCBsb25nIGluZGV4KTsKLSAgc2V0dGVyIHZvaWQgc2V0QnlJbmRleCh1bnNpZ25lZCBs
b25nIGluZGV4LCBhbnkgdmFsdWUpOwotICBkZWxldGVyIHZvaWQgcmVtb3ZlQnlJbmRleCh1bnNp
Z25lZCBsb25nIGluZGV4KTsKLQotICBnZXR0ZXIgYW55IGdldChET01TdHJpbmcgbmFtZSk7Ci0g
IHNldHRlciBjcmVhdG9yIHZvaWQgc2V0KERPTVN0cmluZyBuYW1lLCBhbnkgdmFsdWUpOwotICBk
ZWxldGVyIHZvaWQgcmVtb3ZlKERPTVN0cmluZyBuYW1lKTsKLX07ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRs
L2luaGVyaXRzLWdldHRlci53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRs
L2luaGVyaXRzLWdldHRlci53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1NThl
ODExNjQ5NC4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQv
aWRsL2luaGVyaXRzLWdldHRlci53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsMTYgKzAsMCBAQAot
aW50ZXJmYWNlIEFuaW1hbCB7Ci0KLSAgLy8gQSBzaW1wbGUgYXR0cmlidXRlIHRoYXQgY2FuIGJl
IHNldCB0byBhbnkgc3RyaW5nIHZhbHVlLgotICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5n
IG5hbWU7Ci19OwotCi1pbnRlcmZhY2UgUGVyc29uIDogQW5pbWFsIHsKLQotICAvLyBBbiBhdHRy
aWJ1dGUgd2hvc2UgdmFsdWUgY2Fubm90IGJlIGFzc2lnbmVkIHRvLgotICByZWFkb25seSBhdHRy
aWJ1dGUgdW5zaWduZWQgc2hvcnQgYWdlOwotCi0gIC8vIEFuIGF0dHJpYnV0ZSB0aGF0IGNhbiBy
YWlzZSBhbiBleGNlcHRpb24gaWYgaXQgaXMgc2V0IHRvIGFuIGludmFsaWQgdmFsdWUuCi0gIC8v
IEl0cyBnZXR0ZXIgYmVoYXZpb3IgaXMgaW5oZXJpdGVkIGZyb20gQW5pbWFsLCBhbmQgbmVlZCBu
b3QgYmUgc3BlY2lmaWVkCi0gIC8vIHRoZSBkZXNjcmlwdGlvbiBvZiBQZXJzb24uCi0gIGluaGVy
aXQgYXR0cmlidXRlIERPTVN0cmluZyBuYW1lOwotfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvaW50ZXJm
YWNlLWluaGVyaXRzLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvaW50
ZXJmYWNlLWluaGVyaXRzLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDc5MjFk
ZWY3NzI3Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9p
ZGwvaW50ZXJmYWNlLWluaGVyaXRzLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSwxMiArMCwwIEBA
Ci0vLyBFeHRyYWN0ZWQgZnJvbSBodHRwOi8vZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJJREwv
IG9uIDIwMTEtMDUtMDYKLWludGVyZmFjZSBBbmltYWwgewotICBhdHRyaWJ1dGUgRE9NU3RyaW5n
IG5hbWU7Ci19OwotCi1pbnRlcmZhY2UgSHVtYW4gOiBBbmltYWwgewotICBhdHRyaWJ1dGUgRG9n
IHBldDsKLX07Ci0KLWludGVyZmFjZSBEb2cgOiBBbmltYWwgewotICBhdHRyaWJ1dGUgSHVtYW4g
b3duZXI7Ci19OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9pdGVyYXRvci53aWRsIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dp
ZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL2l0ZXJhdG9yLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDNiZjFiMzZkZWM2Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHBy
b2MvdGVzdC92YWxpZC9pZGwvaXRlcmF0b3Iud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDM1ICsw
LDAgQEAKLWludGVyZmFjZSBTZXNzaW9uTWFuYWdlciB7Ci0gIFNlc3Npb24gZ2V0U2Vzc2lvbkZv
clVzZXIoRE9NU3RyaW5nIHVzZXJuYW1lKTsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVk
IGxvbmcgc2Vzc2lvbkNvdW50OwotCi0gIFNlc3Npb24gaXRlcmF0b3I7Ci19OwotCi1pbnRlcmZh
Y2UgU2Vzc2lvbiB7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgdXNlcm5hbWU7Ci0g
IC8vIC4uLgotfTsKLQotaW50ZXJmYWNlIFNlc3Npb25NYW5hZ2VyMiB7Ci0gIFNlc3Npb24yIGdl
dFNlc3Npb25Gb3JVc2VyKERPTVN0cmluZyB1c2VybmFtZSk7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0
ZSB1bnNpZ25lZCBsb25nIHNlc3Npb25Db3VudDsKLQotICBTZXNzaW9uMiBpdGVyYXRvciA9IFNl
c3Npb25JdGVyYXRvcjsKLX07Ci0KLWludGVyZmFjZSBTZXNzaW9uMiB7Ci0gIHJlYWRvbmx5IGF0
dHJpYnV0ZSBET01TdHJpbmcgdXNlcm5hbWU7Ci0gIC8vIC4uLgotfTsKLQotaW50ZXJmYWNlIFNl
c3Npb25JdGVyYXRvciB7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIHJlbWFp
bmluZ1Nlc3Npb25zOwotfTsKLQotICAgICBpbnRlcmZhY2UgTm9kZUxpc3QgewotICAgICAgIE5v
ZGUgaXRlcmF0b3IgPSBOb2RlSXRlcmF0b3I7Ci0gICAgIH07Ci0KLSAgICAgaW50ZXJmYWNlIE5v
ZGVJdGVyYXRvciB7Ci0gICAgICAgTm9kZSBpdGVyYXRvciBvYmplY3Q7Ci0gICAgIH07ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rl
c3QvdmFsaWQvaWRsL25hbWVkY29uc3RydWN0b3Iud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90
ZXN0L3ZhbGlkL2lkbC9uYW1lZGNvbnN0cnVjdG9yLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IGM0NjhiNzhmOGUxLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHBy
b2MvdGVzdC92YWxpZC9pZGwvbmFtZWRjb25zdHJ1Y3Rvci53aWRsCisrKyAvZGV2L251bGwKQEAg
LTEsNiArMCwwIEBACi0vLyBFeHRyYWN0ZWQgZnJvbSBodHRwOi8vZGV2LnczLm9yZy8yMDA2L3dl
YmFwaS9XZWJJREwvIG9uIDIwMTEtMDUtMDYKLVtOYW1lZENvbnN0cnVjdG9yPUF1ZGlvLAotIE5h
bWVkQ29uc3RydWN0b3I9QXVkaW8oRE9NU3RyaW5nIHNyYyldCi1pbnRlcmZhY2UgSFRNTEF1ZGlv
RWxlbWVudCA6IEhUTUxNZWRpYUVsZW1lbnQgewotICAvLyAuLi4KLX07ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQv
aWRsL25vaW50ZXJmYWNlb2JqZWN0LndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxp
ZC9pZGwvbm9pbnRlcmZhY2VvYmplY3Qud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggYzE3ZDc1ZmY4ZmQuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0
L3ZhbGlkL2lkbC9ub2ludGVyZmFjZW9iamVjdC53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsNSAr
MCwwIEBACi0vLyBFeHRyYWN0ZWQgZnJvbSBodHRwOi8vZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9X
ZWJJREwvIG9uIDIwMTEtMDUtMDYKLVtOb0ludGVyZmFjZU9iamVjdF0KLWludGVyZmFjZSBRdWVy
eSB7Ci0gIGFueSBsb29rdXBFbnRyeSh1bnNpZ25lZCBsb25nIGtleSk7Ci19OwpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3Zh
bGlkL2lkbC9udWxsYWJsZS53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRs
L251bGxhYmxlLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGNjYmY2MjVmZjhh
Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvbnVs
bGFibGUud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDkgKzAsMCBAQAotLy8gRXh0cmFjdGVkIGZy
b20gaHR0cDovL2Rldi53My5vcmcvMjAwNi93ZWJhcGkvV2ViSURMLyBvbiAyMDExLTA1LTA2Ci1p
bnRlcmZhY2UgTXlDb25zdGFudHMgewotICBjb25zdCBib29sZWFuPyBBUkVfV0VfVEhFUkVfWUVU
ID0gZmFsc2U7Ci19OwotCi1pbnRlcmZhY2UgTm9kZSB7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSBE
T01TdHJpbmc/IG5hbWVzcGFjZVVSSTsKLSAgLy8gLi4uCi19OwpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9u
dWxsYWJsZW9iamVjdHMud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9u
dWxsYWJsZW9iamVjdHMud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODNkMWQ0
MGIyYWMuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lk
bC9udWxsYWJsZW9iamVjdHMud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDEzICswLDAgQEAKLS8v
IEV4dHJhY3RlZCBmcm9tIFdlYklETCBzcGVjIDIwMTEtMDUtMjMKLQotaW50ZXJmYWNlIEEgewot
ICAvLyAuLi4KLX07Ci1pbnRlcmZhY2UgQiB7Ci0gIC8vIC4uLgotfTsKLWludGVyZmFjZSBDIHsK
LSAgdm9pZCBmKEE/IHgpOwotICB2b2lkIGYoQj8geCk7Ci0KLX07ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRs
L29wZXJhdGlvbi1vcHRpb25hbC1hcmcud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3Zh
bGlkL2lkbC9vcGVyYXRpb24tb3B0aW9uYWwtYXJnLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDM3OTA1M2I0NWYxLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHBy
b2MvdGVzdC92YWxpZC9pZGwvb3BlcmF0aW9uLW9wdGlvbmFsLWFyZy53aWRsCisrKyAvZGV2L251
bGwKQEAgLTEsNCArMCwwIEBACi0vLyBFeHRyYWN0ZWQgZnJvbSBodHRwOi8vZGV2LnczLm9yZy8y
MDA2L3dlYmFwaS9XZWJJREwvIG9uIDIwMTEtMDUtMDYKLWludGVyZmFjZSBDb2xvckNyZWF0b3Ig
ewotICBvYmplY3QgY3JlYXRlQ29sb3IoZmxvYXQgdjEsIGZsb2F0IHYyLCBmbG9hdCB2Mywgb3B0
aW9uYWwgZmxvYXQgYWxwaGEgPSAzLjUpOwotfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvb3ZlcmxvYWRp
bmcud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9vdmVybG9hZGluZy53
aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlZjEyODhhODg3Ny4uMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL292ZXJsb2FkaW5nLndp
ZGwKKysrIC9kZXYvbnVsbApAQCAtMSwyMCArMCwwIEBACi0vLyBFeHRyYWN0ZWQgZnJvbSBodHRw
Oi8vZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJJREwvIG9uIDIwMTEtMDUtMDYKLWludGVyZmFj
ZSBBIHsKLSAgLy8gLi4uCi19OwotCi1pbnRlcmZhY2UgQiB7Ci0gIC8vIC4uLgotfTsKLQotaW50
ZXJmYWNlIEMgewotICB2b2lkIGYoQSB4KTsKLSAgdm9pZCBmKEIgeCk7Ci19OwotCi1pbnRlcmZh
Y2UgQSB7Ci0gIC8qIGYxICovIHZvaWQgZihET01TdHJpbmcgYSk7Ci0gIC8qIGYyICovIHZvaWQg
ZihbQWxsb3dBbnldIERPTVN0cmluZyBhLCBET01TdHJpbmcgYiwgZmxvYXQuLi4gYyk7Ci0gIC8q
IGYzICovIHZvaWQgZigpOwotICAvKiBmNCAqLyB2b2lkIGYobG9uZyBhLCBET01TdHJpbmcgYiwg
b3B0aW9uYWwgRE9NU3RyaW5nIGMsIGZsb2F0Li4uIGQpOwotfTsKXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwv
b3ZlcnJpZGVidWlsdGlucy53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRs
L292ZXJyaWRlYnVpbHRpbnMud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzky
MTFjMjllODQuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlk
L2lkbC9vdmVycmlkZWJ1aWx0aW5zLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSw2ICswLDAgQEAK
LS8vIEV4dHJhY3RlZCBmcm9tIGh0dHA6Ly9kZXYudzMub3JnLzIwMDYvd2ViYXBpL1dlYklETC8g
b24gMjAxMS0wNS0wNgotW092ZXJyaWRlQnVpbHRpbnNdCi1pbnRlcmZhY2UgU3RyaW5nTWFwMiB7
Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxlbmd0aDsKLSAgZ2V0dGVyIERP
TVN0cmluZyBsb29rdXAoRE9NU3RyaW5nIGtleSk7Ci19OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9wYXJ0
aWFsLWludGVyZmFjZS53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3Bh
cnRpYWwtaW50ZXJmYWNlLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDkwZTdl
MGVhNDIxLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9p
ZGwvcGFydGlhbC1pbnRlcmZhY2Uud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDcgKzAsMCBAQAot
aW50ZXJmYWNlIEZvbyB7Ci0gIGF0dHJpYnV0ZSBET01TdHJpbmcgYmFyOwotfTsKLQotcGFydGlh
bCBpbnRlcmZhY2UgRm9vIHsKLSAgYXR0cmlidXRlIERPTVN0cmluZyBxdXV4OwotfTsKXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVz
dC92YWxpZC9pZGwvcHJpbWl0aXZlcy53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFs
aWQvaWRsL3ByaW1pdGl2ZXMud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTI5
Mzk2MDFhMWEuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlk
L2lkbC9wcmltaXRpdmVzLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSwxOSArMCwwIEBACi1pbnRl
cmZhY2UgUHJpbWl0aXZlcyB7Ci0gIGF0dHJpYnV0ZSBib29sZWFuIHRydXRoOwotICBhdHRyaWJ1
dGUgYnl0ZSBjaGFyYWN0ZXI7Ci0gIGF0dHJpYnV0ZSBvY3RldCB2YWx1ZTsKLSAgYXR0cmlidXRl
IHNob3J0IG51bWJlcjsKLSAgYXR0cmlidXRlIHVuc2lnbmVkIHNob3J0IHBvc2l0aXZlOwotICBh
dHRyaWJ1dGUgbG9uZyBiaWc7Ci0gIGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGJpZ3Bvc2l0aXZl
OwotICBhdHRyaWJ1dGUgbG9uZyBsb25nIGJpZ2JpZzsKLSAgYXR0cmlidXRlICB1bnNpZ25lZCBs
b25nIGxvbmcgYmlnYmlncG9zaXRpdmU7Ci0gIGF0dHJpYnV0ZSBmbG9hdCByZWFsOwotICBhdHRy
aWJ1dGUgZG91YmxlIGJpZ3JlYWw7IAotICBhdHRyaWJ1dGUgdW5yZXN0cmljdGVkIGZsb2F0IHJl
YWx3aXRoaW5maW5pdHk7Ci0gIGF0dHJpYnV0ZSB1bnJlc3RyaWN0ZWQgZG91YmxlIGJpZ3JlYWx3
aXRoaW5maW5pdHk7IAotICBhdHRyaWJ1dGUgRE9NU3RyaW5nIHN0cmluZzsgCi0gIGF0dHJpYnV0
ZSBCeXRlU3RyaW5nIGJ5dGVzOyAKLSAgYXR0cmlidXRlIERhdGUgZGF0ZTsKLSAgYXR0cmlidXRl
IFJlZ0V4cCByZWdleHA7Ci19OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9wcm90b3R5cGVyb290LndpZGwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvcHJvdG90eXBlcm9vdC53aWRsCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzMGRkNWNiY2ExMy4uMDAwMDAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3Byb3RvdHlwZXJvb3Qud2lkbAor
KysgL2Rldi9udWxsCkBAIC0xLDUgKzAsMCBAQAotLy8gRXh0cmFjdGVkIGZyb20gaHR0cDovL2Rl
di53My5vcmcvMjAwNi93ZWJhcGkvV2ViSURMLyBvbiAyMDExLTA1LTA2Ci1bUHJvdG90eXBlUm9v
dF0KLWludGVyZmFjZSBOb2RlIHsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIHNob3J0
IG5vZGVUeXBlOwotfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvcHV0Zm9yd2FyZHMud2lkbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9wdXRmb3J3YXJkcy53aWRsCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAxZTUwYTRlZTM5NC4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3B1dGZvcndhcmRzLndpZGwKKysrIC9kZXYvbnVs
bApAQCAtMSw1ICswLDAgQEAKLS8vIEV4dHJhY3RlZCBmcm9tIGh0dHA6Ly9kZXYudzMub3JnLzIw
MDYvd2ViYXBpL1dlYklETC8gb24gMjAxMS0wNS0wNgotaW50ZXJmYWNlIFBlcnNvbiB7Ci0gIFtQ
dXRGb3J3YXJkcz1mdWxsXSByZWFkb25seSBhdHRyaWJ1dGUgTmFtZSBuYW1lOwotICBhdHRyaWJ1
dGUgdW5zaWduZWQgc2hvcnQgYWdlOwotfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvcmVnLW9wZXJhdGlv
bnMud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9yZWctb3BlcmF0aW9u
cy53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxMzk5N2NiMWQxMi4uMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3JlZy1vcGVyYXRp
b25zLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSwxNyArMCwwIEBACi0vLyBFeHRyYWN0ZWQgZnJv
bSBodHRwOi8vZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJJREwvIG9uIDIwMTEtMDUtMDYKLWlu
dGVyZmFjZSBEaW1lbnNpb25zIHsKLSAgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgd2lkdGg7Ci0g
IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGhlaWdodDsKLX07Ci0KLWV4Y2VwdGlvbiBOb1BvaW50
ZXJEZXZpY2UgeyB9OwotCi1pbnRlcmZhY2UgQnV0dG9uIHsKLQotICAvLyBBbiBvcGVyYXRpb24g
dGhhdCB0YWtlcyBubyBhcmd1bWVudHMsIHJldHVybnMgYSBib29sZWFuCi0gIGJvb2xlYW4gaXNN
b3VzZU92ZXIoKTsKLQotICAvLyBPdmVybG9hZGVkIG9wZXJhdGlvbnMuCi0gIHZvaWQgc2V0RGlt
ZW5zaW9ucyhEaW1lbnNpb25zIHNpemUpOwotICB2b2lkIHNldERpbWVuc2lvbnModW5zaWduZWQg
bG9uZyB3aWR0aCwgdW5zaWduZWQgbG9uZyBoZWlnaHQpOwotfTsKXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwv
cmVwbGFjZWFibGUud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9yZXBs
YWNlYWJsZS53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjMTRkMGMzNzY4OS4u
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3JlcGxh
Y2VhYmxlLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSw1ICswLDAgQEAKLS8vIEV4dHJhY3RlZCBm
cm9tIGh0dHA6Ly9kZXYudzMub3JnLzIwMDYvd2ViYXBpL1dlYklETC8gb24gMjAxMS0wNS0wNgot
aW50ZXJmYWNlIENvdW50ZXIgewotICBbUmVwbGFjZWFibGVdIHJlYWRvbmx5IGF0dHJpYnV0ZSB1
bnNpZ25lZCBsb25nIHZhbHVlOwotICB2b2lkIGluY3JlbWVudCgpOwotfTsKXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxp
ZC9pZGwvc2VxdWVuY2Uud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9z
ZXF1ZW5jZS53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhMWFhOTMxZjVmMC4u
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3NlcXVl
bmNlLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSw3ICswLDAgQEAKLS8vIEV4dHJhY3RlZCBmcm9t
IGh0dHA6Ly9kZXYudzMub3JnLzIwMDYvd2ViYXBpL1dlYklETC8gb24gMjAxMS0wNS0wNgotLy8g
ZWRpdGVkIHRvIHJlbW92ZSBzZXF1ZW5jZSBhcyBhdHRyaWJ1dGVzLCBub3cgaW52YWxpZAotaW50
ZXJmYWNlIENhbnZhcyB7Ci0gIHZvaWQgZHJhd1BvbHlnb24oc2VxdWVuY2U8ZmxvYXQ+IGNvb3Jk
aW5hdGVzKTsKLSAgc2VxdWVuY2U8ZmxvYXQ+IGdldEluZmxlY3Rpb25Qb2ludHMoKTsKLSAgLy8g
Li4uCi19OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9zZXJpYWxpemVyLndpZGwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lk
bHByb2MvdGVzdC92YWxpZC9pZGwvc2VyaWFsaXplci53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCA2ZjZjY2QwZThkNS4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxw
cm9jL3Rlc3QvdmFsaWQvaWRsL3NlcmlhbGl6ZXIud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDY0
ICswLDAgQEAKLWludGVyZmFjZSBUcmFuc2FjdGlvbiB7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSBB
Y2NvdW50IGZyb207Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSBBY2NvdW50IHRvOwotICByZWFkb25s
eSBhdHRyaWJ1dGUgZmxvYXQgYW1vdW50OwotICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5n
IGRlc2NyaXB0aW9uOwotICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBudW1iZXI7
Ci0KLSAgc2VyaWFsaXplcjsKLX07Ci0KLWludGVyZmFjZSBBY2NvdW50IHsKLSAgYXR0cmlidXRl
IERPTVN0cmluZyBuYW1lOwotICBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBudW1iZXI7Ci0gIHNl
cmlhbGl6ZXIgRE9NU3RyaW5nIHNlcmlhbGl6ZSgpOwotfTsKLQotaW50ZXJmYWNlIFRyYW5zYWN0
aW9uMiB7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSBBY2NvdW50MiBmcm9tOwotICByZWFkb25seSBh
dHRyaWJ1dGUgQWNjb3VudDIgdG87Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSBmbG9hdCBhbW91bnQ7
Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgZGVzY3JpcHRpb247Ci0gIHJlYWRvbmx5
IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIG51bWJlcjsKLQotICBzZXJpYWxpemVyID0geyBmcm9t
LCB0bywgYW1vdW50LCBkZXNjcmlwdGlvbiB9OwotfTsKLQotaW50ZXJmYWNlIEFjY291bnQyIHsK
LSAgYXR0cmlidXRlIERPTVN0cmluZyBuYW1lOwotICBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBu
dW1iZXI7Ci0gIHNlcmlhbGl6ZXIgPSBudW1iZXI7Ci19OwotCi1pbnRlcmZhY2UgQWNjb3VudDMg
ewotICBhdHRyaWJ1dGUgRE9NU3RyaW5nIG5hbWU7Ci0gIGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25n
IG51bWJlcjsKLQotICBzZXJpYWxpemVyID0geyBhdHRyaWJ1dGUgfTsKLX07Ci0KLWludGVyZmFj
ZSBBY2NvdW50NCB7Ci0gIGdldHRlciBvYmplY3QgZ2V0SXRlbSh1bnNpZ25lZCBsb25nIGluZGV4
KTsKLSAgc2VyaWFsaXplciA9IHsgZ2V0dGVyIH07Ci19OwotCi1pbnRlcmZhY2UgQWNjb3VudDUg
OiBBY2NvdW50IHsKLSAgYXR0cmlidXRlIERPTVN0cmluZyBzZWNvbmRuYW1lOwotICBzZXJpYWxp
emVyID0geyBpbmhlcml0LCBzZWNvbmRuYW1lIH07Ci19OwotCi1pbnRlcmZhY2UgQWNjb3VudDYg
OiBBY2NvdW50IHsKLSAgYXR0cmlidXRlIERPTVN0cmluZyBzZWNvbmRuYW1lOwotICBzZXJpYWxp
emVyID0geyBpbmhlcml0LCBhdHRyaWJ1dGUgfTsKLX07Ci0KLWludGVyZmFjZSBBY2NvdW50NyB7
Ci0gIGF0dHJpYnV0ZSBET01TdHJpbmcgbmFtZTsKLSAgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcg
bnVtYmVyOwotICBzZXJpYWxpemVyID0gWyBuYW1lLCBudW1iZXIgXTsKLX07Ci0KLWludGVyZmFj
ZSBBY2NvdW50OCB7Ci0gIGdldHRlciBvYmplY3QgZ2V0SXRlbSh1bnNpZ25lZCBsb25nIGluZGV4
KTsKLSAgc2VyaWFsaXplciA9IFsgZ2V0dGVyIF07Ci19OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9zdGF0
aWMud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9zdGF0aWMud2lkbApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNWIyY2QzNjU5MGYuLjAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9zdGF0aWMud2lkbAorKysgL2Rl
di9udWxsCkBAIC0xLDExICswLDAgQEAKLS8vIEV4dHJhY3RlZCBmcm9tIGh0dHA6Ly9kZXYudzMu
b3JnLzIwMDYvd2ViYXBpL1dlYklETC8gb24gMjAxMS0wNS0wNgotaW50ZXJmYWNlIFBvaW50IHsg
LyogLi4uICovIH07Ci0KLWludGVyZmFjZSBDaXJjbGUgewotICBhdHRyaWJ1dGUgZmxvYXQgY3g7
Ci0gIGF0dHJpYnV0ZSBmbG9hdCBjeTsKLSAgYXR0cmlidXRlIGZsb2F0IHJhZGl1czsKLQotICBz
dGF0aWMgcmVhZG9ubHkgYXR0cmlidXRlIGxvbmcgdHJpYW5ndWxhdGlvbkNvdW50OwotICBzdGF0
aWMgUG9pbnQgdHJpYW5ndWxhdGUoQ2lyY2xlIGMxLCBDaXJjbGUgYzIsIENpcmNsZSBjMyk7Ci19
OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRs
cHJvYy90ZXN0L3ZhbGlkL2lkbC9zdHJpbmdpZmllci1hdHRyaWJ1dGUud2lkbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9zdHJpbmdpZmllci1hdHRyaWJ1dGUud2lkbApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzk2NGVjYjkzZTYuLjAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9zdHJpbmdpZmllci1hdHRyaWJ1dGUu
d2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDYgKzAsMCBAQAotLy8gRXh0cmFjdGVkIGZyb20gaHR0
cDovL2Rldi53My5vcmcvMjAwNi93ZWJhcGkvV2ViSURMLyBvbiAyMDExLTA1LTA2Ci1bQ29uc3Ry
dWN0b3JdCi1pbnRlcmZhY2UgU3R1ZGVudCB7Ci0gIGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGlk
OwotICBzdHJpbmdpZmllciBhdHRyaWJ1dGUgRE9NU3RyaW5nIG5hbWU7Ci19OwpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3Zh
bGlkL2lkbC9zdHJpbmdpZmllci1jdXN0b20ud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0
L3ZhbGlkL2lkbC9zdHJpbmdpZmllci1jdXN0b20ud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggYjVkN2M4N2U3ZjQuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJv
Yy90ZXN0L3ZhbGlkL2lkbC9zdHJpbmdpZmllci1jdXN0b20ud2lkbAorKysgL2Rldi9udWxsCkBA
IC0xLDkgKzAsMCBAQAotLy8gRXh0cmFjdGVkIGZyb20gaHR0cDovL2Rldi53My5vcmcvMjAwNi93
ZWJhcGkvV2ViSURMLyBvbiAyMDExLTA1LTA2Ci1bQ29uc3RydWN0b3JdCi1pbnRlcmZhY2UgU3R1
ZGVudCB7Ci0gIGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGlkOwotICBhdHRyaWJ1dGUgRE9NU3Ry
aW5nPyBmYW1pbHlOYW1lOwotICBhdHRyaWJ1dGUgRE9NU3RyaW5nIGdpdmVuTmFtZTsKLQotICBz
dHJpbmdpZmllciBET01TdHJpbmcgKCk7Ci19OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9zdHJpbmdpZmll
ci53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3N0cmluZ2lmaWVyLndp
ZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDRlYjQ4M2Q5YjUzLi4wMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvc3RyaW5naWZpZXIud2lk
bAorKysgL2Rldi9udWxsCkBAIC0xLDggKzAsMCBAQAotLy8gRXh0cmFjdGVkIGZyb20gaHR0cDov
L2Rldi53My5vcmcvMjAwNi93ZWJhcGkvV2ViSURMLyBvbiAyMDExLTA1LTA2Ci1pbnRlcmZhY2Ug
QSB7Ci0gIHN0cmluZ2lmaWVyIERPTVN0cmluZyAoKTsKLX07Ci0KLWludGVyZmFjZSBBIHsKLSAg
c3RyaW5naWZpZXI7Ci19OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC90cmVhdGFzbnVsbC53aWRsIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3RyZWF0YXNudWxsLndpZGwKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQzYzU1YjAwOGMwLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvdHJlYXRhc251bGwud2lkbAorKysgL2Rldi9u
dWxsCkBAIC0xLDcgKzAsMCBAQAotLy8gRXh0cmFjdGVkIGZyb20gaHR0cDovL2Rldi53My5vcmcv
MjAwNi93ZWJhcGkvV2ViSURMLyBvbiAyMDExLTA1LTA2Ci1pbnRlcmZhY2UgRG9nIHsKLSAgYXR0
cmlidXRlIERPTVN0cmluZyBuYW1lOwotICBhdHRyaWJ1dGUgRE9NU3RyaW5nIG93bmVyOwotCi0g
IGJvb2xlYW4gaXNNZW1iZXJPZkJyZWVkKFtUcmVhdE51bGxBcz1FbXB0eVN0cmluZ10gRE9NU3Ry
aW5nIGJyZWVkTmFtZSk7Ci19OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC90cmVhdGFzdW5kZWZpbmVkLndp
ZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvdHJlYXRhc3VuZGVmaW5lZC53
aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlMzAwNTBmODQxMy4uMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3RyZWF0YXN1bmRlZmlu
ZWQud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDcgKzAsMCBAQAotLy8gRXh0cmFjdGVkIGZyb20g
aHR0cDovL2Rldi53My5vcmcvMjAwNi93ZWJhcGkvV2ViSURMLyBvbiAyMDExLTA1LTA2Ci1pbnRl
cmZhY2UgQ2F0IHsKLSAgYXR0cmlidXRlIERPTVN0cmluZyBuYW1lOwotICBhdHRyaWJ1dGUgRE9N
U3RyaW5nIG93bmVyOwotCi0gIGJvb2xlYW4gaXNNZW1iZXJPZkJyZWVkKFtUcmVhdFVuZGVmaW5l
ZEFzPUVtcHR5U3RyaW5nXSBET01TdHJpbmcgYnJlZWROYW1lKTsKLX07ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQv
aWRsL3R5cGVkZWYud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC90eXBl
ZGVmLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGI0YzE3ZDhkMzZhLi4wMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvdHlwZWRlZi53
aWRsCisrKyAvZGV2L251bGwKQEAgLTEsMjIgKzAsMCBAQAotLy8gRXh0cmFjdGVkIGZyb20gaHR0
cDovL2Rldi53My5vcmcvMjAwNi93ZWJhcGkvV2ViSURMLyBvbiAyMDExLTA1LTA2Ci0gICAgICBp
bnRlcmZhY2UgUG9pbnQgewotICAgICAgICBhdHRyaWJ1dGUgZmxvYXQgeDsKLSAgICAgICAgYXR0
cmlidXRlIGZsb2F0IHk7Ci0gICAgICB9OwotCi0gICAgICB0eXBlZGVmIHNlcXVlbmNlPFBvaW50
PiBQb2ludFNlcXVlbmNlOwotCi0gICAgICBpbnRlcmZhY2UgUmVjdCB7Ci0gICAgICAgIGF0dHJp
YnV0ZSBQb2ludCB0b3BsZWZ0OwotICAgICAgICBhdHRyaWJ1dGUgUG9pbnQgYm90dG9tcmlnaHQ7
Ci0gICAgICB9OwotCi0gIGludGVyZmFjZSBXaWRnZXQgewotCi0gICAgcmVhZG9ubHkgYXR0cmli
dXRlIFJlY3QgYm91bmRzOwotCi0gICAgYm9vbGVhbiBwb2ludFdpdGhpbkJvdW5kcyhQb2ludCBw
KTsKLSAgICBib29sZWFuIGFsbFBvaW50c1dpdGhpbkJvdW5kcyhQb2ludFNlcXVlbmNlIHBzKTsK
LSAgfTsKLQotICB0eXBlZGVmIFtDbGFtcF0gb2N0ZXQgdmFsdWU7ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRs
L3R5cGVzdWZmaXhlcy53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3R5
cGVzdWZmaXhlcy53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5NWUzMWMxNjkw
Mi4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3R5
cGVzdWZmaXhlcy53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsMyArMCwwIEBACi1pbnRlcmZhY2Ug
U3VmZml4ZXMgewotICB2b2lkIHRlc3Qoc2VxdWVuY2U8RE9NU3RyaW5nW10/Pj8gZm9vKTsKLX07
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvdW5pb250eXBl
LndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvdW5pb250eXBlLndpZGwK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDRkOTlmMDE5NjMwLi4wMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvdW5pb250eXBlLndpZGwKKysr
IC9kZXYvbnVsbApAQCAtMSwzICswLDAgQEAKLWludGVyZmFjZSBVbmlvbiB7Ci0gYXR0cmlidXRl
IChmbG9hdCBvciAoRGF0ZSBvciBFdmVudCkgb3IgKE5vZGUgb3IgRE9NU3RyaW5nKT8pIHRlc3Q7
Ci19OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93
aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC92YXJpYWRpYy1vcGVyYXRpb25zLndpZGwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvdmFyaWFkaWMtb3BlcmF0aW9ucy53aWRsCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1MWZhZTRjYzFlYS4uMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3ZhcmlhZGljLW9wZXJhdGlvbnMud2lk
bAorKysgL2Rldi9udWxsCkBAIC0xLDcgKzAsMCBAQAotLy8gRXh0cmFjdGVkIGZyb20gaHR0cDov
L2Rldi53My5vcmcvMjAwNi93ZWJhcGkvV2ViSURMLyBvbiAyMDExLTA1LTA2Ci1pbnRlcmZhY2Ug
SW50ZWdlclNldCB7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGNhcmRpbmFs
aXR5OwotCi0gIHZvaWQgdW5pb24obG9uZy4uLiBpbnRzKTsKLSAgdm9pZCBpbnRlcnNlY3Rpb24o
bG9uZy4uLiBpbnRzKTsKLX07ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3czYy1pbXBvcnQubG9nIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3czYy1pbXBvcnQubG9nCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCA3MjUwOWI5NGQ3OC4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3czYy1pbXBvcnQubG9nCisrKyAvZGV2L251bGwK
QEAgLTEsNjQgKzAsMCBAQAotVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0
ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCi1EbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRp
cmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUg
VzNDIENTUyBvciBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0aHViLmNvbS93M2MvY3Nzd2ctdGVz
dAotCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCi0KLVRoZW4gcnVu
IHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0
Ci0KLURvIE5PVCBtb2RpZnkgb3IgcmVtb3ZlIHRoaXMgZmlsZS4KLQotLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
Ci1Qcm9wZXJ0aWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6Ci1Ob25lCi1Qcm9wZXJ0eSB2
YWx1ZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKLU5vbmUKLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQot
TGlzdCBvZiBmaWxlczoKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvYWxsb3dh
bnkud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9hcnJheS53aWRsCi0v
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL2F0dHJpYnV0ZXMud2lkbAotL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9jYWxsYmFjay53aWRsCi0vTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dp
ZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL2NhbGxlci53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rl
c3QvdmFsaWQvaWRsL2NvbnN0YW50cy53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFs
aWQvaWRsL2NvbnN0cnVjdG9yLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9p
ZGwvZGljdGlvbmFyeS1pbmhlcml0cy53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFs
aWQvaWRsL2RpY3Rpb25hcnkud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lk
bC9kb2N1bWVudGF0aW9uLWRvcy53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQv
aWRsL2RvY3VtZW50YXRpb24ud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lk
bC9lbnVtLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvZXF1aXZhbGVu
dC1kZWNsLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvZXhjZXB0aW9u
LWluaGVyaXRhbmNlLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvZXhj
ZXB0aW9uLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvZ2V0dGVyLXNl
dHRlci53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL2lkZW50aWZpZXIt
cXVhbGlmaWVkLW5hbWVzLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwv
aW1wbGVtZW50cy53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL2luZGV4
ZWQtcHJvcGVydGllcy53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL2lu
aGVyaXRzLWdldHRlci53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL2lu
dGVyZmFjZS1pbmhlcml0cy53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRs
L2l0ZXJhdG9yLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvbmFtZWRj
b25zdHJ1Y3Rvci53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL25vaW50
ZXJmYWNlb2JqZWN0LndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvbnVs
bGFibGUud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9udWxsYWJsZW9i
amVjdHMud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9vcGVyYXRpb24t
b3B0aW9uYWwtYXJnLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvb3Zl
cmxvYWRpbmcud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9vdmVycmlk
ZWJ1aWx0aW5zLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvcGFydGlh
bC1pbnRlcmZhY2Uud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9wcmlt
aXRpdmVzLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvcHJvdG90eXBl
cm9vdC53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3B1dGZvcndhcmRz
LndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvcmVnLW9wZXJhdGlvbnMu
d2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9yZXBsYWNlYWJsZS53aWRs
Ci0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3NlcXVlbmNlLndpZGwKLS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvc2VyaWFsaXplci53aWRsCi0vTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3N0YXRpYy53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9j
L3Rlc3QvdmFsaWQvaWRsL3N0cmluZ2lmaWVyLWF0dHJpYnV0ZS53aWRsCi0vTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dp
ZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3N0cmluZ2lmaWVyLWN1c3RvbS53aWRsCi0vTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3N0cmluZ2lmaWVyLndpZGwKLS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lk
bHByb2MvdGVzdC92YWxpZC9pZGwvdHJlYXRhc251bGwud2lkbAotL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJv
Yy90ZXN0L3ZhbGlkL2lkbC90cmVhdGFzdW5kZWZpbmVkLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHBy
b2MvdGVzdC92YWxpZC9pZGwvdHlwZWRlZi53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3Qv
dmFsaWQvaWRsL3R5cGVzdWZmaXhlcy53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFs
aWQvaWRsL3VuaW9udHlwZS53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRs
L3ZhcmlhZGljLW9wZXJhdGlvbnMud2lkbApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9j
L3Rlc3QvdmFsaWQveG1sL2FsbG93YW55LndpZGxwcm9jeG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9j
L3Rlc3QvdmFsaWQveG1sL2FsbG93YW55LndpZGxwcm9jeG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCA3ZGE1MDhiY2I1Yy4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxw
cm9jL3Rlc3QvdmFsaWQveG1sL2FsbG93YW55LndpZGxwcm9jeG1sCisrKyAvZGV2L251bGwKQEAg
LTEsNDQgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KLTwh
RE9DVFlQRSBEZWZpbml0aW9ucyBTWVNURU0gIndpZGxwcm9jeG1sLmR0ZCI+Ci08RGVmaW5pdGlv
bnM+Ci0gIDx3ZWJpZGw+aW50ZXJmYWNlIEIgewotICB2b2lkIGcoKTsKLSAgdm9pZCBnKDxyZWY+
QjwvcmVmPiBiKTsKLSAgdm9pZCBnKFtBbGxvd0FueV0gRE9NU3RyaW5nIHMpOwotfTs8L3dlYmlk
bD4KLSAgPEludGVyZmFjZSBuYW1lPSJCIiBpZD0iOjpCIj4KLSAgICA8d2ViaWRsPmludGVyZmFj
ZSBCIHsKLSAgdm9pZCBnKCk7Ci0gIHZvaWQgZyg8cmVmPkI8L3JlZj4gYik7Ci0gIHZvaWQgZyhb
QWxsb3dBbnldIERPTVN0cmluZyBzKTsKLX07PC93ZWJpZGw+Ci0gICAgPE9wZXJhdGlvbiBuYW1l
PSJnIiBpZD0iOjpCOjpnIj4KLSAgICAgIDx3ZWJpZGw+ICB2b2lkIGcoKTs8L3dlYmlkbD4KLSAg
ICAgIDxUeXBlIHR5cGU9InZvaWQiLz4KLSAgICAgIDxBcmd1bWVudExpc3QvPgotICAgIDwvT3Bl
cmF0aW9uPgotICAgIDxPcGVyYXRpb24gbmFtZT0iZyIgaWQ9Ijo6Qjo6ZyI+Ci0gICAgICA8d2Vi
aWRsPiAgdm9pZCBnKDxyZWY+QjwvcmVmPiBiKTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9
InZvaWQiLz4KLSAgICAgIDxBcmd1bWVudExpc3Q+Ci0gICAgICAgIDxBcmd1bWVudCBuYW1lPSJi
Ij4KLSAgICAgICAgICA8VHlwZSBuYW1lPSJCIi8+Ci0gICAgICAgIDwvQXJndW1lbnQ+Ci0gICAg
ICA8L0FyZ3VtZW50TGlzdD4KLSAgICA8L09wZXJhdGlvbj4KLSAgICA8T3BlcmF0aW9uIG5hbWU9
ImciIGlkPSI6OkI6OmciPgotICAgICAgPHdlYmlkbD4gIHZvaWQgZyhbQWxsb3dBbnldIERPTVN0
cmluZyBzKTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9InZvaWQiLz4KLSAgICAgIDxBcmd1
bWVudExpc3Q+Ci0gICAgICAgIDxBcmd1bWVudCBuYW1lPSJzIj4KLSAgICAgICAgICA8RXh0ZW5k
ZWRBdHRyaWJ1dGVMaXN0PgotICAgICAgICAgICAgPEV4dGVuZGVkQXR0cmlidXRlIG5hbWU9IkFs
bG93QW55Ij4KLSAgICAgICAgICAgICAgPHdlYmlkbD5BbGxvd0FueTwvd2ViaWRsPgotICAgICAg
ICAgICAgPC9FeHRlbmRlZEF0dHJpYnV0ZT4KLSAgICAgICAgICA8L0V4dGVuZGVkQXR0cmlidXRl
TGlzdD4KLSAgICAgICAgICA8VHlwZSB0eXBlPSJET01TdHJpbmciLz4KLSAgICAgICAgPC9Bcmd1
bWVudD4KLSAgICAgIDwvQXJndW1lbnRMaXN0PgotICAgIDwvT3BlcmF0aW9uPgotICA8L0ludGVy
ZmFjZT4KLTwvRGVmaW5pdGlvbnM+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVz
dC92YWxpZC94bWwvYXJyYXkud2lkbHByb2N4bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92
YWxpZC94bWwvYXJyYXkud2lkbHByb2N4bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDNkZjcyZmYxNjA4Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92
YWxpZC94bWwvYXJyYXkud2lkbHByb2N4bWwKKysrIC9kZXYvbnVsbApAQCAtMSwyNyArMCwwIEBA
Ci08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgotPCFET0NUWVBFIERlZmlu
aXRpb25zIFNZU1RFTSAid2lkbHByb2N4bWwuZHRkIj4KLTxEZWZpbml0aW9ucz4KLSAgPHdlYmlk
bD5bQ29uc3RydWN0b3JdCi1pbnRlcmZhY2UgTG90dGVyeVJlc3VsdHMgewotICByZWFkb25seSBh
dHRyaWJ1dGUgdW5zaWduZWQgc2hvcnRbXVtdIG51bWJlcnM7Ci19Ozwvd2ViaWRsPgotICA8SW50
ZXJmYWNlIG5hbWU9IkxvdHRlcnlSZXN1bHRzIiBpZD0iOjpMb3R0ZXJ5UmVzdWx0cyI+Ci0gICAg
PHdlYmlkbD5bQ29uc3RydWN0b3JdCi1pbnRlcmZhY2UgTG90dGVyeVJlc3VsdHMgewotICByZWFk
b25seSBhdHRyaWJ1dGUgdW5zaWduZWQgc2hvcnRbXVtdIG51bWJlcnM7Ci19Ozwvd2ViaWRsPgot
ICAgIDxFeHRlbmRlZEF0dHJpYnV0ZUxpc3Q+Ci0gICAgICA8RXh0ZW5kZWRBdHRyaWJ1dGUgbmFt
ZT0iQ29uc3RydWN0b3IiPgotICAgICAgICA8d2ViaWRsPkNvbnN0cnVjdG9yPC93ZWJpZGw+Ci0g
ICAgICA8L0V4dGVuZGVkQXR0cmlidXRlPgotICAgIDwvRXh0ZW5kZWRBdHRyaWJ1dGVMaXN0Pgot
ICAgIDxBdHRyaWJ1dGUgcmVhZG9ubHk9InJlYWRvbmx5IiBuYW1lPSJudW1iZXJzIiBpZD0iOjpM
b3R0ZXJ5UmVzdWx0czo6bnVtYmVycyI+Ci0gICAgICA8d2ViaWRsPiAgcmVhZG9ubHkgYXR0cmli
dXRlIHVuc2lnbmVkIHNob3J0W11bXSBudW1iZXJzOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlw
ZT0iYXJyYXkiPgotICAgICAgICA8VHlwZSB0eXBlPSJhcnJheSI+Ci0gICAgICAgICAgPFR5cGUg
dHlwZT0idW5zaWduZWQgc2hvcnQiLz4KLSAgICAgICAgPC9UeXBlPgotICAgICAgPC9UeXBlPgot
ICAgIDwvQXR0cmlidXRlPgotICA8L0ludGVyZmFjZT4KLTwvRGVmaW5pdGlvbnM+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvYXR0cmlidXRlcy53aWRscHJv
Y3htbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9hdHRyaWJ1dGVzLndpZGxw
cm9jeG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4OWJkOGFjOWIwMS4uMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL2F0dHJpYnV0ZXMu
d2lkbHByb2N4bWwKKysrIC9kZXYvbnVsbApAQCAtMSwzOCArMCwwIEBACi08P3htbCB2ZXJzaW9u
PSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgotPCFET0NUWVBFIERlZmluaXRpb25zIFNZU1RFTSAi
d2lkbHByb2N4bWwuZHRkIj4KLTxEZWZpbml0aW9ucz4KLSAgPHdlYmlkbD5leGNlcHRpb24gSW52
YWxpZE5hbWUgewotICBET01TdHJpbmcgcmVhc29uOwotfTsKLQotZXhjZXB0aW9uIE5vU3VjaFBl
dCB7IH07Ci0KLWludGVyZmFjZSBQZXJzb24gewotCi0gIGF0dHJpYnV0ZSB1bnNpZ25lZCBzaG9y
dCBhZ2U7Ci0KLX07PC93ZWJpZGw+Ci0gIDxFeGNlcHRpb24gbmFtZT0iSW52YWxpZE5hbWUiIGlk
PSI6OkludmFsaWROYW1lIj4KLSAgICA8d2ViaWRsPmV4Y2VwdGlvbiBJbnZhbGlkTmFtZSB7Ci0g
IERPTVN0cmluZyByZWFzb247Ci19Ozwvd2ViaWRsPgotICAgIDxFeGNlcHRpb25GaWVsZCBuYW1l
PSJyZWFzb24iIGlkPSI6OkludmFsaWROYW1lOjpyZWFzb24iPgotICAgICAgPHdlYmlkbD4gIERP
TVN0cmluZyByZWFzb247PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJET01TdHJpbmciLz4K
LSAgICA8L0V4Y2VwdGlvbkZpZWxkPgotICA8L0V4Y2VwdGlvbj4KLSAgPEV4Y2VwdGlvbiBuYW1l
PSJOb1N1Y2hQZXQiIGlkPSI6Ok5vU3VjaFBldCI+Ci0gICAgPHdlYmlkbD5leGNlcHRpb24gTm9T
dWNoUGV0IHsgfTs8L3dlYmlkbD4KLSAgPC9FeGNlcHRpb24+Ci0gIDxJbnRlcmZhY2UgbmFtZT0i
UGVyc29uIiBpZD0iOjpQZXJzb24iPgotICAgIDx3ZWJpZGw+aW50ZXJmYWNlIFBlcnNvbiB7Ci0K
LSAgYXR0cmlidXRlIHVuc2lnbmVkIHNob3J0IGFnZTsKLQotfTs8L3dlYmlkbD4KLSAgICA8QXR0
cmlidXRlIG5hbWU9ImFnZSIgaWQ9Ijo6UGVyc29uOjphZ2UiPgotICAgICAgPHdlYmlkbD4gIGF0
dHJpYnV0ZSB1bnNpZ25lZCBzaG9ydCBhZ2U7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJ1
bnNpZ25lZCBzaG9ydCIvPgotICAgIDwvQXR0cmlidXRlPgotICA8L0ludGVyZmFjZT4KLTwvRGVm
aW5pdGlvbnM+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwv
Y2FsbGJhY2sud2lkbHByb2N4bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwv
Y2FsbGJhY2sud2lkbHByb2N4bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDllYWMw
NmNlMjc5Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94
bWwvY2FsbGJhY2sud2lkbHByb2N4bWwKKysrIC9kZXYvbnVsbApAQCAtMSwzMiArMCwwIEBACi08
P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgotPCFET0NUWVBFIERlZmluaXRp
b25zIFNZU1RFTSAid2lkbHByb2N4bWwuZHRkIj4KLTxEZWZpbml0aW9ucz4KLSAgPHdlYmlkbD5j
YWxsYmFjayBBc3luY09wZXJhdGlvbkNhbGxiYWNrID0gdm9pZCAoRE9NU3RyaW5nIHN0YXR1cyk7
Ci0KLWNhbGxiYWNrIGludGVyZmFjZSBFdmVudEhhbmRsZXIgewotICB2b2lkIGV2ZW50T2NjdXJy
ZWQoRE9NU3RyaW5nIGRldGFpbHMpOwotfTs8L3dlYmlkbD4KLSAgPENhbGxiYWNrIG5hbWU9IkFz
eW5jT3BlcmF0aW9uQ2FsbGJhY2siIGlkPSI6OkFzeW5jT3BlcmF0aW9uQ2FsbGJhY2siPgotICAg
IDx3ZWJpZGw+Y2FsbGJhY2sgQXN5bmNPcGVyYXRpb25DYWxsYmFjayA9IHZvaWQgKERPTVN0cmlu
ZyBzdGF0dXMpOzwvd2ViaWRsPgotICAgIDxUeXBlIHR5cGU9InZvaWQiLz4KLSAgICA8QXJndW1l
bnRMaXN0PgotICAgICAgPEFyZ3VtZW50IG5hbWU9InN0YXR1cyI+Ci0gICAgICAgIDxUeXBlIHR5
cGU9IkRPTVN0cmluZyIvPgotICAgICAgPC9Bcmd1bWVudD4KLSAgICA8L0FyZ3VtZW50TGlzdD4K
LSAgPC9DYWxsYmFjaz4KLSAgPEludGVyZmFjZSBuYW1lPSJFdmVudEhhbmRsZXIiIGNhbGxiYWNr
PSJjYWxsYmFjayIgaWQ9Ijo6RXZlbnRIYW5kbGVyIj4KLSAgICA8d2ViaWRsPmNhbGxiYWNrIGlu
dGVyZmFjZSBFdmVudEhhbmRsZXIgewotICB2b2lkIGV2ZW50T2NjdXJyZWQoRE9NU3RyaW5nIGRl
dGFpbHMpOwotfTs8L3dlYmlkbD4KLSAgICA8T3BlcmF0aW9uIG5hbWU9ImV2ZW50T2NjdXJyZWQi
IGlkPSI6OkV2ZW50SGFuZGxlcjo6ZXZlbnRPY2N1cnJlZCI+Ci0gICAgICA8d2ViaWRsPiAgdm9p
ZCBldmVudE9jY3VycmVkKERPTVN0cmluZyBkZXRhaWxzKTs8L3dlYmlkbD4KLSAgICAgIDxUeXBl
IHR5cGU9InZvaWQiLz4KLSAgICAgIDxBcmd1bWVudExpc3Q+Ci0gICAgICAgIDxBcmd1bWVudCBu
YW1lPSJkZXRhaWxzIj4KLSAgICAgICAgICA8VHlwZSB0eXBlPSJET01TdHJpbmciLz4KLSAgICAg
ICAgPC9Bcmd1bWVudD4KLSAgICAgIDwvQXJndW1lbnRMaXN0PgotICAgIDwvT3BlcmF0aW9uPgot
ICA8L0ludGVyZmFjZT4KLTwvRGVmaW5pdGlvbnM+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lk
bHByb2MvdGVzdC92YWxpZC94bWwvY2FsbGVyLndpZGxwcm9jeG1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxw
cm9jL3Rlc3QvdmFsaWQveG1sL2NhbGxlci53aWRscHJvY3htbApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggOTc1NGQ0ZTAyNjguLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRs
cHJvYy90ZXN0L3ZhbGlkL3htbC9jYWxsZXIud2lkbHByb2N4bWwKKysrIC9kZXYvbnVsbApAQCAt
MSwyMSArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgotPCFE
T0NUWVBFIERlZmluaXRpb25zIFNZU1RFTSAid2lkbHByb2N4bWwuZHRkIj4KLTxEZWZpbml0aW9u
cz4KLSAgPHdlYmlkbD5pbnRlcmZhY2UgTnVtYmVyUXVhZHJ1cGxlciB7Ci0gIGxlZ2FjeWNhbGxl
ciBmbG9hdCBjb21wdXRlKGZsb2F0IHgpOwotfTs8L3dlYmlkbD4KLSAgPEludGVyZmFjZSBuYW1l
PSJOdW1iZXJRdWFkcnVwbGVyIiBpZD0iOjpOdW1iZXJRdWFkcnVwbGVyIj4KLSAgICA8d2ViaWRs
PmludGVyZmFjZSBOdW1iZXJRdWFkcnVwbGVyIHsKLSAgbGVnYWN5Y2FsbGVyIGZsb2F0IGNvbXB1
dGUoZmxvYXQgeCk7Ci19Ozwvd2ViaWRsPgotICAgIDxPcGVyYXRpb24gbGVnYWN5Y2FsbGVyPSJs
ZWdhY3ljYWxsZXIiIG5hbWU9ImNvbXB1dGUiIGlkPSI6Ok51bWJlclF1YWRydXBsZXI6OmNvbXB1
dGUiPgotICAgICAgPHdlYmlkbD4gIGxlZ2FjeWNhbGxlciBmbG9hdCBjb21wdXRlKGZsb2F0IHgp
Ozwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0iZmxvYXQiLz4KLSAgICAgIDxBcmd1bWVudExp
c3Q+Ci0gICAgICAgIDxBcmd1bWVudCBuYW1lPSJ4Ij4KLSAgICAgICAgICA8VHlwZSB0eXBlPSJm
bG9hdCIvPgotICAgICAgICA8L0FyZ3VtZW50PgotICAgICAgPC9Bcmd1bWVudExpc3Q+Ci0gICAg
PC9PcGVyYXRpb24+Ci0gIDwvSW50ZXJmYWNlPgotPC9EZWZpbml0aW9ucz4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9jb25zdGFudHMud2lkbHByb2N4bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvY29uc3RhbnRzLndpZGxwcm9jeG1s
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1MWNiNDMzMWY3NS4uMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL2NvbnN0YW50cy53aWRscHJv
Y3htbAorKysgL2Rldi9udWxsCkBAIC0xLDg1ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIg
ZW5jb2Rpbmc9IlVURi04Ij8+Ci08IURPQ1RZUEUgRGVmaW5pdGlvbnMgU1lTVEVNICJ3aWRscHJv
Y3htbC5kdGQiPgotPERlZmluaXRpb25zPgotICA8d2ViaWRsPmludGVyZmFjZSBVdGlsIHsKLSAg
Y29uc3QgYm9vbGVhbiBERUJVRyA9IGZhbHNlOwotICBjb25zdCBzaG9ydCBuZWdhdGl2ZSA9IC0x
OwotICBjb25zdCBvY3RldCBMRiA9IDEwOwotICBjb25zdCB1bnNpZ25lZCBsb25nIEJJVF9NQVNL
ID0gMHgwMDAwZmMwMDsKLSAgY29uc3QgZmxvYXQgQVZPR0FEUk8gPSA2LjAyMmUyMzsKLSAgY29u
c3QgdW5yZXN0cmljdGVkIGZsb2F0IHNvYmlnID0gSW5maW5pdHk7Ci0gIGNvbnN0IHVucmVzdHJp
Y3RlZCBkb3VibGUgbWludXNvbmVkaXZpZGVkYnl6ZXJvID0gLUluZmluaXR5OwotICBjb25zdCBz
aG9ydCBub3RhbnVtYmVyID0gTmFOOwotfTsKLQotZXhjZXB0aW9uIEVycm9yIHsKLSAgY29uc3Qg
c2hvcnQgRVJSX1VOS05PV04gPSAwOwotICBjb25zdCBzaG9ydCBFUlJfT1VUX09GX01FTU9SWSA9
IDE7Ci0KLSAgc2hvcnQgZXJyb3JDb2RlOwotfTs8L3dlYmlkbD4KLSAgPEludGVyZmFjZSBuYW1l
PSJVdGlsIiBpZD0iOjpVdGlsIj4KLSAgICA8d2ViaWRsPmludGVyZmFjZSBVdGlsIHsKLSAgY29u
c3QgYm9vbGVhbiBERUJVRyA9IGZhbHNlOwotICBjb25zdCBzaG9ydCBuZWdhdGl2ZSA9IC0xOwot
ICBjb25zdCBvY3RldCBMRiA9IDEwOwotICBjb25zdCB1bnNpZ25lZCBsb25nIEJJVF9NQVNLID0g
MHgwMDAwZmMwMDsKLSAgY29uc3QgZmxvYXQgQVZPR0FEUk8gPSA2LjAyMmUyMzsKLSAgY29uc3Qg
dW5yZXN0cmljdGVkIGZsb2F0IHNvYmlnID0gSW5maW5pdHk7Ci0gIGNvbnN0IHVucmVzdHJpY3Rl
ZCBkb3VibGUgbWludXNvbmVkaXZpZGVkYnl6ZXJvID0gLUluZmluaXR5OwotICBjb25zdCBzaG9y
dCBub3RhbnVtYmVyID0gTmFOOwotfTs8L3dlYmlkbD4KLSAgICA8Q29uc3QgbmFtZT0iREVCVUci
IHZhbHVlPSJmYWxzZSIgaWQ9Ijo6VXRpbDo6REVCVUciPgotICAgICAgPHdlYmlkbD4gIGNvbnN0
IGJvb2xlYW4gREVCVUcgPSBmYWxzZTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9ImJvb2xl
YW4iLz4KLSAgICA8L0NvbnN0PgotICAgIDxDb25zdCBuYW1lPSJuZWdhdGl2ZSIgdmFsdWU9Ii0x
IiBpZD0iOjpVdGlsOjpuZWdhdGl2ZSI+Ci0gICAgICA8d2ViaWRsPiAgY29uc3Qgc2hvcnQgbmVn
YXRpdmUgPSAtMTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9InNob3J0Ii8+Ci0gICAgPC9D
b25zdD4KLSAgICA8Q29uc3QgbmFtZT0iTEYiIHZhbHVlPSIxMCIgaWQ9Ijo6VXRpbDo6TEYiPgot
ICAgICAgPHdlYmlkbD4gIGNvbnN0IG9jdGV0IExGID0gMTA7PC93ZWJpZGw+Ci0gICAgICA8VHlw
ZSB0eXBlPSJvY3RldCIvPgotICAgIDwvQ29uc3Q+Ci0gICAgPENvbnN0IG5hbWU9IkJJVF9NQVNL
IiB2YWx1ZT0iMHgwMDAwZmMwMCIgaWQ9Ijo6VXRpbDo6QklUX01BU0siPgotICAgICAgPHdlYmlk
bD4gIGNvbnN0IHVuc2lnbmVkIGxvbmcgQklUX01BU0sgPSAweDAwMDBmYzAwOzwvd2ViaWRsPgot
ICAgICAgPFR5cGUgdHlwZT0idW5zaWduZWQgbG9uZyIvPgotICAgIDwvQ29uc3Q+Ci0gICAgPENv
bnN0IG5hbWU9IkFWT0dBRFJPIiB2YWx1ZT0iNi4wMjJlMjMiIGlkPSI6OlV0aWw6OkFWT0dBRFJP
Ij4KLSAgICAgIDx3ZWJpZGw+ICBjb25zdCBmbG9hdCBBVk9HQURSTyA9IDYuMDIyZTIzOzwvd2Vi
aWRsPgotICAgICAgPFR5cGUgdHlwZT0iZmxvYXQiLz4KLSAgICA8L0NvbnN0PgotICAgIDxDb25z
dCBuYW1lPSJzb2JpZyIgdmFsdWU9IkluZmluaXR5IiBpZD0iOjpVdGlsOjpzb2JpZyI+Ci0gICAg
ICA8d2ViaWRsPiAgY29uc3QgdW5yZXN0cmljdGVkIGZsb2F0IHNvYmlnID0gSW5maW5pdHk7PC93
ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJ1bnJlc3RyaWN0ZWQgZmxvYXQiLz4KLSAgICA8L0Nv
bnN0PgotICAgIDxDb25zdCBuYW1lPSJtaW51c29uZWRpdmlkZWRieXplcm8iIHZhbHVlPSItSW5m
aW5pdHkiIGlkPSI6OlV0aWw6Om1pbnVzb25lZGl2aWRlZGJ5emVybyI+Ci0gICAgICA8d2ViaWRs
PiAgY29uc3QgdW5yZXN0cmljdGVkIGRvdWJsZSBtaW51c29uZWRpdmlkZWRieXplcm8gPSAtSW5m
aW5pdHk7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJ1bnJlc3RyaWN0ZWQgZG91YmxlIi8+
Ci0gICAgPC9Db25zdD4KLSAgICA8Q29uc3QgbmFtZT0ibm90YW51bWJlciIgdmFsdWU9Ik5hTiIg
aWQ9Ijo6VXRpbDo6bm90YW51bWJlciI+Ci0gICAgICA8d2ViaWRsPiAgY29uc3Qgc2hvcnQgbm90
YW51bWJlciA9IE5hTjs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9InNob3J0Ii8+Ci0gICAg
PC9Db25zdD4KLSAgPC9JbnRlcmZhY2U+Ci0gIDxFeGNlcHRpb24gbmFtZT0iRXJyb3IiIGlkPSI6
OkVycm9yIj4KLSAgICA8d2ViaWRsPmV4Y2VwdGlvbiBFcnJvciB7Ci0gIGNvbnN0IHNob3J0IEVS
Ul9VTktOT1dOID0gMDsKLSAgY29uc3Qgc2hvcnQgRVJSX09VVF9PRl9NRU1PUlkgPSAxOwotCi0g
IHNob3J0IGVycm9yQ29kZTsKLX07PC93ZWJpZGw+Ci0gICAgPENvbnN0IG5hbWU9IkVSUl9VTktO
T1dOIiB2YWx1ZT0iMCIgaWQ9Ijo6RXJyb3I6OkVSUl9VTktOT1dOIj4KLSAgICAgIDx3ZWJpZGw+
ICBjb25zdCBzaG9ydCBFUlJfVU5LTk9XTiA9IDA7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBl
PSJzaG9ydCIvPgotICAgIDwvQ29uc3Q+Ci0gICAgPENvbnN0IG5hbWU9IkVSUl9PVVRfT0ZfTUVN
T1JZIiB2YWx1ZT0iMSIgaWQ9Ijo6RXJyb3I6OkVSUl9PVVRfT0ZfTUVNT1JZIj4KLSAgICAgIDx3
ZWJpZGw+ICBjb25zdCBzaG9ydCBFUlJfT1VUX09GX01FTU9SWSA9IDE7PC93ZWJpZGw+Ci0gICAg
ICA8VHlwZSB0eXBlPSJzaG9ydCIvPgotICAgIDwvQ29uc3Q+Ci0gICAgPEV4Y2VwdGlvbkZpZWxk
IG5hbWU9ImVycm9yQ29kZSIgaWQ9Ijo6RXJyb3I6OmVycm9yQ29kZSI+Ci0gICAgICA8d2ViaWRs
PiAgc2hvcnQgZXJyb3JDb2RlOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0ic2hvcnQiLz4K
LSAgICA8L0V4Y2VwdGlvbkZpZWxkPgotICA8L0V4Y2VwdGlvbj4KLTwvRGVmaW5pdGlvbnM+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvY29uc3RydWN0b3Iu
d2lkbHByb2N4bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvY29uc3RydWN0
b3Iud2lkbHByb2N4bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDhlNzhmYmFiMzY1
Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvY29u
c3RydWN0b3Iud2lkbHByb2N4bWwKKysrIC9kZXYvbnVsbApAQCAtMSw1MSArMCwwIEBACi08P3ht
bCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgotPCFET0NUWVBFIERlZmluaXRpb25z
IFNZU1RFTSAid2lkbHByb2N4bWwuZHRkIj4KLTxEZWZpbml0aW9ucz4KLSAgPHdlYmlkbD5bQ29u
c3RydWN0b3IsCi0gQ29uc3RydWN0b3IoZmxvYXQgcmFkaXVzKV0KLWludGVyZmFjZSBDaXJjbGUg
ewotICBhdHRyaWJ1dGUgZmxvYXQgcjsKLSAgYXR0cmlidXRlIGZsb2F0IGN4OwotICBhdHRyaWJ1
dGUgZmxvYXQgY3k7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSBmbG9hdCBjaXJjdW1mZXJlbmNlOwot
fTs8L3dlYmlkbD4KLSAgPEludGVyZmFjZSBuYW1lPSJDaXJjbGUiIGlkPSI6OkNpcmNsZSI+Ci0g
ICAgPHdlYmlkbD5bQ29uc3RydWN0b3IsCi0gQ29uc3RydWN0b3IoZmxvYXQgcmFkaXVzKV0KLWlu
dGVyZmFjZSBDaXJjbGUgewotICBhdHRyaWJ1dGUgZmxvYXQgcjsKLSAgYXR0cmlidXRlIGZsb2F0
IGN4OwotICBhdHRyaWJ1dGUgZmxvYXQgY3k7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSBmbG9hdCBj
aXJjdW1mZXJlbmNlOwotfTs8L3dlYmlkbD4KLSAgICA8RXh0ZW5kZWRBdHRyaWJ1dGVMaXN0Pgot
ICAgICAgPEV4dGVuZGVkQXR0cmlidXRlIG5hbWU9IkNvbnN0cnVjdG9yIj4KLSAgICAgICAgPHdl
YmlkbD5Db25zdHJ1Y3Rvcjwvd2ViaWRsPgotICAgICAgPC9FeHRlbmRlZEF0dHJpYnV0ZT4KLSAg
ICAgIDxFeHRlbmRlZEF0dHJpYnV0ZSBuYW1lPSJDb25zdHJ1Y3RvciI+Ci0gICAgICAgIDx3ZWJp
ZGw+IENvbnN0cnVjdG9yKGZsb2F0IHJhZGl1cyk8L3dlYmlkbD4KLSAgICAgICAgPEFyZ3VtZW50
TGlzdD4KLSAgICAgICAgICA8QXJndW1lbnQgbmFtZT0icmFkaXVzIj4KLSAgICAgICAgICAgIDxU
eXBlIHR5cGU9ImZsb2F0Ii8+Ci0gICAgICAgICAgPC9Bcmd1bWVudD4KLSAgICAgICAgPC9Bcmd1
bWVudExpc3Q+Ci0gICAgICA8L0V4dGVuZGVkQXR0cmlidXRlPgotICAgIDwvRXh0ZW5kZWRBdHRy
aWJ1dGVMaXN0PgotICAgIDxBdHRyaWJ1dGUgbmFtZT0iciIgaWQ9Ijo6Q2lyY2xlOjpyIj4KLSAg
ICAgIDx3ZWJpZGw+ICBhdHRyaWJ1dGUgZmxvYXQgcjs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5
cGU9ImZsb2F0Ii8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gICAgPEF0dHJpYnV0ZSBuYW1lPSJjeCIg
aWQ9Ijo6Q2lyY2xlOjpjeCI+Ci0gICAgICA8d2ViaWRsPiAgYXR0cmlidXRlIGZsb2F0IGN4Ozwv
d2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0iZmxvYXQiLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAg
ICA8QXR0cmlidXRlIG5hbWU9ImN5IiBpZD0iOjpDaXJjbGU6OmN5Ij4KLSAgICAgIDx3ZWJpZGw+
ICBhdHRyaWJ1dGUgZmxvYXQgY3k7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJmbG9hdCIv
PgotICAgIDwvQXR0cmlidXRlPgotICAgIDxBdHRyaWJ1dGUgcmVhZG9ubHk9InJlYWRvbmx5IiBu
YW1lPSJjaXJjdW1mZXJlbmNlIiBpZD0iOjpDaXJjbGU6OmNpcmN1bWZlcmVuY2UiPgotICAgICAg
PHdlYmlkbD4gIHJlYWRvbmx5IGF0dHJpYnV0ZSBmbG9hdCBjaXJjdW1mZXJlbmNlOzwvd2ViaWRs
PgotICAgICAgPFR5cGUgdHlwZT0iZmxvYXQiLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAgPC9JbnRl
cmZhY2U+Ci08L0RlZmluaXRpb25zPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rl
c3QvdmFsaWQveG1sL2RpY3Rpb25hcnktaW5oZXJpdHMud2lkbHByb2N4bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
d2lkbHByb2MvdGVzdC92YWxpZC94bWwvZGljdGlvbmFyeS1pbmhlcml0cy53aWRscHJvY3htbApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjY5YTgzY2Q4NDkuLjAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9kaWN0aW9uYXJ5LWluaGVyaXRz
LndpZGxwcm9jeG1sCisrKyAvZGV2L251bGwKQEAgLTEsNDQgKzAsMCBAQAotPD94bWwgdmVyc2lv
bj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KLTwhRE9DVFlQRSBEZWZpbml0aW9ucyBTWVNURU0g
IndpZGxwcm9jeG1sLmR0ZCI+Ci08RGVmaW5pdGlvbnM+Ci0gIDx3ZWJpZGw+ZGljdGlvbmFyeSBQ
YWludE9wdGlvbnMgewotICBET01TdHJpbmc/IGZpbGxQYXR0ZXJuID0gJnF1b3Q7YmxhY2smcXVv
dDs7Ci0gIERPTVN0cmluZz8gc3Ryb2tlUGF0dGVybiA9IG51bGw7Ci0gIDxyZWY+UG9pbnQ8L3Jl
Zj4gcG9zaXRpb247Ci19OwotCi1kaWN0aW9uYXJ5IFdldFBhaW50T3B0aW9ucyA6IDxyZWY+UGFp
bnRPcHRpb25zPC9yZWY+IHsKLSAgZmxvYXQgaHlkcm9tZXRyeTsKLX07PC93ZWJpZGw+Ci0gIDxE
aWN0aW9uYXJ5IG5hbWU9IlBhaW50T3B0aW9ucyIgaWQ9Ijo6UGFpbnRPcHRpb25zIj4KLSAgICA8
d2ViaWRsPmRpY3Rpb25hcnkgUGFpbnRPcHRpb25zIHsKLSAgRE9NU3RyaW5nPyBmaWxsUGF0dGVy
biA9ICZxdW90O2JsYWNrJnF1b3Q7OwotICBET01TdHJpbmc/IHN0cm9rZVBhdHRlcm4gPSBudWxs
OwotICA8cmVmPlBvaW50PC9yZWY+IHBvc2l0aW9uOwotfTs8L3dlYmlkbD4KLSAgICA8RGljdGlv
bmFyeU1lbWJlciBuYW1lPSJmaWxsUGF0dGVybiIgc3RyaW5ndmFsdWU9ImJsYWNrIiBpZD0iOjpQ
YWludE9wdGlvbnM6OmZpbGxQYXR0ZXJuIj4KLSAgICAgIDx3ZWJpZGw+ICBET01TdHJpbmc/IGZp
bGxQYXR0ZXJuID0gJnF1b3Q7YmxhY2smcXVvdDs7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBl
PSJET01TdHJpbmciIG51bGxhYmxlPSJudWxsYWJsZSIvPgotICAgIDwvRGljdGlvbmFyeU1lbWJl
cj4KLSAgICA8RGljdGlvbmFyeU1lbWJlciBuYW1lPSJzdHJva2VQYXR0ZXJuIiB2YWx1ZT0ibnVs
bCIgaWQ9Ijo6UGFpbnRPcHRpb25zOjpzdHJva2VQYXR0ZXJuIj4KLSAgICAgIDx3ZWJpZGw+ICBE
T01TdHJpbmc/IHN0cm9rZVBhdHRlcm4gPSBudWxsOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlw
ZT0iRE9NU3RyaW5nIiBudWxsYWJsZT0ibnVsbGFibGUiLz4KLSAgICA8L0RpY3Rpb25hcnlNZW1i
ZXI+Ci0gICAgPERpY3Rpb25hcnlNZW1iZXIgbmFtZT0icG9zaXRpb24iIGlkPSI6OlBhaW50T3B0
aW9uczo6cG9zaXRpb24iPgotICAgICAgPHdlYmlkbD4gIDxyZWY+UG9pbnQ8L3JlZj4gcG9zaXRp
b247PC93ZWJpZGw+Ci0gICAgICA8VHlwZSBuYW1lPSJQb2ludCIvPgotICAgIDwvRGljdGlvbmFy
eU1lbWJlcj4KLSAgPC9EaWN0aW9uYXJ5PgotICA8RGljdGlvbmFyeSBuYW1lPSJXZXRQYWludE9w
dGlvbnMiIGlkPSI6OldldFBhaW50T3B0aW9ucyI+Ci0gICAgPHdlYmlkbD5kaWN0aW9uYXJ5IFdl
dFBhaW50T3B0aW9ucyA6IDxyZWY+UGFpbnRPcHRpb25zPC9yZWY+IHsKLSAgZmxvYXQgaHlkcm9t
ZXRyeTsKLX07PC93ZWJpZGw+Ci0gICAgPERpY3Rpb25hcnlJbmhlcml0YW5jZT4KLSAgICAgIDxO
YW1lIG5hbWU9IlBhaW50T3B0aW9ucyIvPgotICAgIDwvRGljdGlvbmFyeUluaGVyaXRhbmNlPgot
ICAgIDxEaWN0aW9uYXJ5TWVtYmVyIG5hbWU9Imh5ZHJvbWV0cnkiIGlkPSI6OldldFBhaW50T3B0
aW9uczo6aHlkcm9tZXRyeSI+Ci0gICAgICA8d2ViaWRsPiAgZmxvYXQgaHlkcm9tZXRyeTs8L3dl
YmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9ImZsb2F0Ii8+Ci0gICAgPC9EaWN0aW9uYXJ5TWVtYmVy
PgotICA8L0RpY3Rpb25hcnk+Ci08L0RlZmluaXRpb25zPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL2RpY3Rpb25hcnkud2lkbHByb2N4bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvZGljdGlvbmFyeS53aWRscHJvY3htbApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTc4Y2NiNGUyNzEuLjAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9kaWN0aW9uYXJ5LndpZGxwcm9jeG1sCisr
KyAvZGV2L251bGwKQEAgLTEsNDcgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGlu
Zz0iVVRGLTgiPz4KLTwhRE9DVFlQRSBEZWZpbml0aW9ucyBTWVNURU0gIndpZGxwcm9jeG1sLmR0
ZCI+Ci08RGVmaW5pdGlvbnM+Ci0gIDx3ZWJpZGw+ZGljdGlvbmFyeSBQYWludE9wdGlvbnMgewot
ICBET01TdHJpbmc/IGZpbGxQYXR0ZXJuID0gJnF1b3Q7YmxhY2smcXVvdDs7Ci0gIERPTVN0cmlu
Zz8gc3Ryb2tlUGF0dGVybiA9IG51bGw7Ci0gIDxyZWY+UG9pbnQ8L3JlZj4gcG9zaXRpb247Ci19
OwotCi1wYXJ0aWFsIGRpY3Rpb25hcnkgQSB7Ci0gIGxvbmcgaDsKLSAgbG9uZyBkOwotfTs8L3dl
YmlkbD4KLSAgPERpY3Rpb25hcnkgbmFtZT0iUGFpbnRPcHRpb25zIiBpZD0iOjpQYWludE9wdGlv
bnMiPgotICAgIDx3ZWJpZGw+ZGljdGlvbmFyeSBQYWludE9wdGlvbnMgewotICBET01TdHJpbmc/
IGZpbGxQYXR0ZXJuID0gJnF1b3Q7YmxhY2smcXVvdDs7Ci0gIERPTVN0cmluZz8gc3Ryb2tlUGF0
dGVybiA9IG51bGw7Ci0gIDxyZWY+UG9pbnQ8L3JlZj4gcG9zaXRpb247Ci19Ozwvd2ViaWRsPgot
ICAgIDxEaWN0aW9uYXJ5TWVtYmVyIG5hbWU9ImZpbGxQYXR0ZXJuIiBzdHJpbmd2YWx1ZT0iYmxh
Y2siIGlkPSI6OlBhaW50T3B0aW9uczo6ZmlsbFBhdHRlcm4iPgotICAgICAgPHdlYmlkbD4gIERP
TVN0cmluZz8gZmlsbFBhdHRlcm4gPSAmcXVvdDtibGFjayZxdW90Ozs8L3dlYmlkbD4KLSAgICAg
IDxUeXBlIHR5cGU9IkRPTVN0cmluZyIgbnVsbGFibGU9Im51bGxhYmxlIi8+Ci0gICAgPC9EaWN0
aW9uYXJ5TWVtYmVyPgotICAgIDxEaWN0aW9uYXJ5TWVtYmVyIG5hbWU9InN0cm9rZVBhdHRlcm4i
IHZhbHVlPSJudWxsIiBpZD0iOjpQYWludE9wdGlvbnM6OnN0cm9rZVBhdHRlcm4iPgotICAgICAg
PHdlYmlkbD4gIERPTVN0cmluZz8gc3Ryb2tlUGF0dGVybiA9IG51bGw7PC93ZWJpZGw+Ci0gICAg
ICA8VHlwZSB0eXBlPSJET01TdHJpbmciIG51bGxhYmxlPSJudWxsYWJsZSIvPgotICAgIDwvRGlj
dGlvbmFyeU1lbWJlcj4KLSAgICA8RGljdGlvbmFyeU1lbWJlciBuYW1lPSJwb3NpdGlvbiIgaWQ9
Ijo6UGFpbnRPcHRpb25zOjpwb3NpdGlvbiI+Ci0gICAgICA8d2ViaWRsPiAgPHJlZj5Qb2ludDwv
cmVmPiBwb3NpdGlvbjs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIG5hbWU9IlBvaW50Ii8+Ci0gICAg
PC9EaWN0aW9uYXJ5TWVtYmVyPgotICA8L0RpY3Rpb25hcnk+Ci0gIDxEaWN0aW9uYXJ5IG5hbWU9
IkEiIHBhcnRpYWw9InBhcnRpYWwiIGlkPSI6OkEiPgotICAgIDx3ZWJpZGw+cGFydGlhbCBkaWN0
aW9uYXJ5IEEgewotICBsb25nIGg7Ci0gIGxvbmcgZDsKLX07PC93ZWJpZGw+Ci0gICAgPERpY3Rp
b25hcnlNZW1iZXIgbmFtZT0iaCIgaWQ9Ijo6QTo6aCI+Ci0gICAgICA8d2ViaWRsPiAgbG9uZyBo
Ozwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0ibG9uZyIvPgotICAgIDwvRGljdGlvbmFyeU1l
bWJlcj4KLSAgICA8RGljdGlvbmFyeU1lbWJlciBuYW1lPSJkIiBpZD0iOjpBOjpkIj4KLSAgICAg
IDx3ZWJpZGw+ICBsb25nIGQ7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJsb25nIi8+Ci0g
ICAgPC9EaWN0aW9uYXJ5TWVtYmVyPgotICA8L0RpY3Rpb25hcnk+Ci08L0RlZmluaXRpb25zPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL2RvY3VtZW50YXRp
b24tZG9zLndpZGxwcm9jeG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL2Rv
Y3VtZW50YXRpb24tZG9zLndpZGxwcm9jeG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAxNjExZjBlNTc2YS4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3Qv
dmFsaWQveG1sL2RvY3VtZW50YXRpb24tZG9zLndpZGxwcm9jeG1sCisrKyAvZGV2L251bGwKQEAg
LTEsNTkgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KLTwh
RE9DVFlQRSBEZWZpbml0aW9ucyBTWVNURU0gIndpZGxwcm9jeG1sLmR0ZCI+Ci08RGVmaW5pdGlv
bnM+Ci0gIDx3ZWJpZGw+aW50ZXJmYWNlIERvY3VtZW50YXRpb24ge307PC93ZWJpZGw+Ci0gIDxJ
bnRlcmZhY2UgbmFtZT0iRG9jdW1lbnRhdGlvbiIgaWQ9Ijo6RG9jdW1lbnRhdGlvbiI+Ci0gICAg
PHdlYmlkbD5pbnRlcmZhY2UgRG9jdW1lbnRhdGlvbiB7fTs8L3dlYmlkbD4KLSAgICA8ZGVzY3Jp
cHRpdmU+Ci0gICAgICAgIDxicmllZj4KLSBUZXN0aW5nIGRvY3VtZW50YXRpb24gZmVhdHVyZXMK
LSAgICAgICAgPC9icmllZj4KLSAgICAgICA8ZGVzY3JpcHRpb24+Ci0gICAgICAgIDxwPgotVGhp
cyBpcyBhCi1zaW5nbGUgcGFyYWdyYXBoCi0gICAgICAgIDwvcD4KLSAgICAgICAgPHA+Ci1UaGlz
IGlzIHZhbGlkLiAgICAgICAgPC9wPgotICAgICAgICA8cD4KLVRoaXMgaXMgPGVtPnZhbGlkPC9l
bT4uICAgICAgICA8L3A+Ci0gICAgICAgIDxwPgotVGhpcyBpcyA8Yj52YWxpZDwvYj4uICAgICAg
ICA8L3A+Ci0gICAgICAgIDxwPgotVGhpcyBpcyA8YSBocmVmPScnPnZhbGlkPC9hPi4gICAgICAg
IDwvcD4KLSAgICAgICAgPHVsPgotICAgICAgICAgIDxsaT4KLVRoaXMgICAgICAgICAgPC9saT4K
LSAgICAgICAgICA8bGk+Ci1pcyAgICAgICAgICA8L2xpPgotICAgICAgICAgIDxsaT4KLXZhbGlk
ICAgICAgICAgIDwvbGk+Ci0gICAgICAgIDwvdWw+Ci0gICAgICAgIDxkbD4KLSAgICAgICAgICA8
ZHQ+Ci1UaGlzICAgICAgICAgIDwvZHQ+Ci0gICAgICAgICAgPGRkPgotdmFsaWQgICAgICAgICAg
PC9kZD4KLSAgICAgICAgPC9kbD4KLSAgICAgICAgPHRhYmxlPgotICAgICAgICAgIDx0cj4KLSAg
ICAgICAgICAgIDx0ZD4KLXRoaXMgICAgICAgICAgICA8L3RkPgotICAgICAgICAgICAgPHRkPgot
aXMgICAgICAgICAgICA8L3RkPgotICAgICAgICAgIDwvdHI+Ci0gICAgICAgICAgPHRyPgotICAg
ICAgICAgICAgPHRkPgotdmFsaWQgICAgICAgICAgICA8L3RkPgotICAgICAgICAgIDwvdHI+Ci0g
ICAgICAgIDwvdGFibGU+Ci0gICAgICAgIDxwPgotVGhpcyBpcyA8YnIvPiB2YWxpZC4gICAgICAg
IDwvcD4KLSAgICAgICAgPHA+Ci1UaGlzIGlzIDxiciAvPiB2YWxpZC4gICAgICAgIDwvcD4KLSAg
ICAgICAgPHA+Ci1UaGlzIGlzIDxici8+IHZhbGlkLiAgICAgICAgPC9wPgotICAgICAgIDwvZGVz
Y3JpcHRpb24+Ci0gICAgPC9kZXNjcmlwdGl2ZT4KLSAgPC9JbnRlcmZhY2U+Ci08L0RlZmluaXRp
b25zPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL2RvY3Vt
ZW50YXRpb24ud2lkbHByb2N4bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwv
ZG9jdW1lbnRhdGlvbi53aWRscHJvY3htbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
YWZlNDUyN2MyMjEuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3Zh
bGlkL3htbC9kb2N1bWVudGF0aW9uLndpZGxwcm9jeG1sCisrKyAvZGV2L251bGwKQEAgLTEsNjEg
KzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KLTwhRE9DVFlQ
RSBEZWZpbml0aW9ucyBTWVNURU0gIndpZGxwcm9jeG1sLmR0ZCI+Ci08RGVmaW5pdGlvbnM+Ci0g
IDx3ZWJpZGw+aW50ZXJmYWNlIERvY3VtZW50YXRpb24ge307PC93ZWJpZGw+Ci0gIDxJbnRlcmZh
Y2UgbmFtZT0iRG9jdW1lbnRhdGlvbiIgaWQ9Ijo6RG9jdW1lbnRhdGlvbiI+Ci0gICAgPHdlYmlk
bD5pbnRlcmZhY2UgRG9jdW1lbnRhdGlvbiB7fTs8L3dlYmlkbD4KLSAgICA8ZGVzY3JpcHRpdmU+
Ci0gICAgICAgIDxicmllZj4KLSBUZXN0aW5nIGRvY3VtZW50YXRpb24gZmVhdHVyZXMKLSAgICAg
ICAgPC9icmllZj4KLSAgICAgICA8ZGVzY3JpcHRpb24+Ci0gICAgICAgIDxwPgotVGhpcyBpcyBh
Ci1zaW5nbGUgcGFyYWdyYXBoCi0gICAgICAgIDwvcD4KLSAgICAgICAgPHA+Ci1UaGlzIGlzIHZh
bGlkLiAgICAgICAgPC9wPgotICAgICAgICA8cD4KLVRoaXMgaXMgPGVtPnZhbGlkPC9lbT4uICAg
ICAgICA8L3A+Ci0gICAgICAgIDxwPgotVGhpcyBpcyA8Yj52YWxpZDwvYj4uICAgICAgICA8L3A+
Ci0gICAgICAgIDxwPgotVGhpcyBpcyA8YSBocmVmPScnPnZhbGlkPC9hPi4gICAgICAgIDwvcD4K
LSAgICAgICAgPHVsPgotICAgICAgICAgIDxsaT4KLVRoaXMgICAgICAgICAgPC9saT4KLSAgICAg
ICAgICA8bGk+Ci1pcyAgICAgICAgICA8L2xpPgotICAgICAgICAgIDxsaT4KLXZhbGlkICAgICAg
ICAgIDwvbGk+Ci0gICAgICAgIDwvdWw+Ci0gICAgICAgIDxkbD4KLSAgICAgICAgICA8ZHQ+Ci1U
aGlzICAgICAgICAgIDwvZHQ+Ci0gICAgICAgICAgPGRkPgotdmFsaWQgICAgICAgICAgPC9kZD4K
LSAgICAgICAgPC9kbD4KLSAgICAgICAgPHRhYmxlPgotICAgICAgICAgIDx0cj4KLSAgICAgICAg
ICAgIDx0ZD4KLXRoaXMgICAgICAgICAgICA8L3RkPgotICAgICAgICAgICAgPHRkPgotaXMgICAg
ICAgICAgICA8L3RkPgotICAgICAgICAgIDwvdHI+Ci0gICAgICAgICAgPHRyPgotICAgICAgICAg
ICAgPHRkPgotdmFsaWQgICAgICAgICAgICA8L3RkPgotICAgICAgICAgIDwvdHI+Ci0gICAgICAg
IDwvdGFibGU+Ci0gICAgICAgIDxwPgotVGhpcyBpcyA8YnIvPiB2YWxpZC4gICAgICAgIDwvcD4K
LSAgICAgICAgPHA+Ci1UaGlzIGlzIDxiciAvPiB2YWxpZC4gICAgICAgIDwvcD4KLSAgICAgICAg
PHA+Ci1UaGlzIGlzIDxici8+IHZhbGlkLiAgICAgICAgPC9wPgotICAgICAgICA8cD4KLTxpbWcg
c3JjPSJmb28ucG5nIiBhbHQ9IlZhbGlkIi8+ICAgICAgICA8L3A+Ci0gICAgICAgPC9kZXNjcmlw
dGlvbj4KLSAgICA8L2Rlc2NyaXB0aXZlPgotICA8L0ludGVyZmFjZT4KLTwvRGVmaW5pdGlvbnM+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvZW51bS53aWRs
cHJvY3htbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9lbnVtLndpZGxwcm9j
eG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlMWU4MjU4ZmJkMC4uMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL2VudW0ud2lkbHByb2N4
bWwKKysrIC9kZXYvbnVsbApAQCAtMSw1MiArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVu
Y29kaW5nPSJVVEYtOCI/PgotPCFET0NUWVBFIERlZmluaXRpb25zIFNZU1RFTSAid2lkbHByb2N4
bWwuZHRkIj4KLTxEZWZpbml0aW9ucz4KLSAgPHdlYmlkbD5lbnVtIE1lYWxUeXBlIHsgJnF1b3Q7
cmljZSZxdW90OywgJnF1b3Q7bm9vZGxlcyZxdW90OywgJnF1b3Q7b3RoZXImcXVvdDsgfTsKLQot
aW50ZXJmYWNlIE1lYWwgewotICBhdHRyaWJ1dGUgPHJlZj5NZWFsVHlwZTwvcmVmPiB0eXBlOwot
ICBhdHRyaWJ1dGUgZmxvYXQgc2l6ZTsgICAgIAotCi0gIHZvaWQgaW5pdGlhbGl6ZSg8cmVmPk1l
YWxUeXBlPC9yZWY+IHR5cGUsIGZsb2F0IHNpemUpOwotfTs8L3dlYmlkbD4KLSAgPEVudW0gbmFt
ZT0iTWVhbFR5cGUiIGlkPSI6Ok1lYWxUeXBlIj4KLSAgICA8d2ViaWRsPmVudW0gTWVhbFR5cGUg
eyAmcXVvdDtyaWNlJnF1b3Q7LCAmcXVvdDtub29kbGVzJnF1b3Q7LCAmcXVvdDtvdGhlciZxdW90
OyB9Ozwvd2ViaWRsPgotICAgIDxFbnVtVmFsdWUgc3RyaW5ndmFsdWU9InJpY2UiPgotICAgICAg
PHdlYmlkbD4gJnF1b3Q7cmljZTwvd2ViaWRsPgotICAgIDwvRW51bVZhbHVlPgotICAgIDxFbnVt
VmFsdWUgc3RyaW5ndmFsdWU9Im5vb2RsZXMiPgotICAgICAgPHdlYmlkbD4gJnF1b3Q7bm9vZGxl
czwvd2ViaWRsPgotICAgIDwvRW51bVZhbHVlPgotICAgIDxFbnVtVmFsdWUgc3RyaW5ndmFsdWU9
Im90aGVyIj4KLSAgICAgIDx3ZWJpZGw+ICZxdW90O290aGVyPC93ZWJpZGw+Ci0gICAgPC9FbnVt
VmFsdWU+Ci0gIDwvRW51bT4KLSAgPEludGVyZmFjZSBuYW1lPSJNZWFsIiBpZD0iOjpNZWFsIj4K
LSAgICA8d2ViaWRsPmludGVyZmFjZSBNZWFsIHsKLSAgYXR0cmlidXRlIDxyZWY+TWVhbFR5cGU8
L3JlZj4gdHlwZTsKLSAgYXR0cmlidXRlIGZsb2F0IHNpemU7ICAgICAKLQotICB2b2lkIGluaXRp
YWxpemUoPHJlZj5NZWFsVHlwZTwvcmVmPiB0eXBlLCBmbG9hdCBzaXplKTsKLX07PC93ZWJpZGw+
Ci0gICAgPEF0dHJpYnV0ZSBuYW1lPSJ0eXBlIiBpZD0iOjpNZWFsOjp0eXBlIj4KLSAgICAgIDx3
ZWJpZGw+ICBhdHRyaWJ1dGUgPHJlZj5NZWFsVHlwZTwvcmVmPiB0eXBlOzwvd2ViaWRsPgotICAg
ICAgPFR5cGUgbmFtZT0iTWVhbFR5cGUiLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAgICA8QXR0cmli
dXRlIG5hbWU9InNpemUiIGlkPSI6Ok1lYWw6OnNpemUiPgotICAgICAgPHdlYmlkbD4gIGF0dHJp
YnV0ZSBmbG9hdCBzaXplOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0iZmxvYXQiLz4KLSAg
ICA8L0F0dHJpYnV0ZT4KLSAgICA8T3BlcmF0aW9uIG5hbWU9ImluaXRpYWxpemUiIGlkPSI6Ok1l
YWw6OmluaXRpYWxpemUiPgotICAgICAgPHdlYmlkbD4gIHZvaWQgaW5pdGlhbGl6ZSg8cmVmPk1l
YWxUeXBlPC9yZWY+IHR5cGUsIGZsb2F0IHNpemUpOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlw
ZT0idm9pZCIvPgotICAgICAgPEFyZ3VtZW50TGlzdD4KLSAgICAgICAgPEFyZ3VtZW50IG5hbWU9
InR5cGUiPgotICAgICAgICAgIDxUeXBlIG5hbWU9Ik1lYWxUeXBlIi8+Ci0gICAgICAgIDwvQXJn
dW1lbnQ+Ci0gICAgICAgIDxBcmd1bWVudCBuYW1lPSJzaXplIj4KLSAgICAgICAgICA8VHlwZSB0
eXBlPSJmbG9hdCIvPgotICAgICAgICA8L0FyZ3VtZW50PgotICAgICAgPC9Bcmd1bWVudExpc3Q+
Ci0gICAgPC9PcGVyYXRpb24+Ci0gIDwvSW50ZXJmYWNlPgotPC9EZWZpbml0aW9ucz4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9lcXVpdmFsZW50LWRlY2wu
d2lkbHByb2N4bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvZXF1aXZhbGVu
dC1kZWNsLndpZGxwcm9jeG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjMzIyZDBh
NWUyMi4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1s
L2VxdWl2YWxlbnQtZGVjbC53aWRscHJvY3htbAorKysgL2Rldi9udWxsCkBAIC0xLDExMSArMCww
IEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgotPCFET0NUWVBFIERl
ZmluaXRpb25zIFNZU1RFTSAid2lkbHByb2N4bWwuZHRkIj4KLTxEZWZpbml0aW9ucz4KLSAgPHdl
YmlkbD5pbnRlcmZhY2UgRGljdGlvbmFyeSB7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25l
ZCBsb25nIHByb3BlcnR5Q291bnQ7Ci0KLSAgZ2V0dGVyIGZsb2F0IGdldFByb3BlcnR5KERPTVN0
cmluZyBwcm9wZXJ0eU5hbWUpOwotICBzZXR0ZXIgdm9pZCBzZXRQcm9wZXJ0eShET01TdHJpbmcg
cHJvcGVydHlOYW1lLCBmbG9hdCBwcm9wZXJ0eVZhbHVlKTsKLX07Ci0KLQotaW50ZXJmYWNlIERp
Y3Rpb25hcnkgewotICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBwcm9wZXJ0eUNv
dW50OwotCi0gIGZsb2F0IGdldFByb3BlcnR5KERPTVN0cmluZyBwcm9wZXJ0eU5hbWUpOwotICB2
b2lkIHNldFByb3BlcnR5KERPTVN0cmluZyBwcm9wZXJ0eU5hbWUsIGZsb2F0IHByb3BlcnR5VmFs
dWUpOwotCi0gIGdldHRlciBmbG9hdCAoRE9NU3RyaW5nIHByb3BlcnR5TmFtZSk7Ci0gIHNldHRl
ciB2b2lkIChET01TdHJpbmcgcHJvcGVydHlOYW1lLCBmbG9hdCBwcm9wZXJ0eVZhbHVlKTsKLX07
PC93ZWJpZGw+Ci0gIDxJbnRlcmZhY2UgbmFtZT0iRGljdGlvbmFyeSIgaWQ9Ijo6RGljdGlvbmFy
eSI+Ci0gICAgPHdlYmlkbD5pbnRlcmZhY2UgRGljdGlvbmFyeSB7Ci0gIHJlYWRvbmx5IGF0dHJp
YnV0ZSB1bnNpZ25lZCBsb25nIHByb3BlcnR5Q291bnQ7Ci0KLSAgZ2V0dGVyIGZsb2F0IGdldFBy
b3BlcnR5KERPTVN0cmluZyBwcm9wZXJ0eU5hbWUpOwotICBzZXR0ZXIgdm9pZCBzZXRQcm9wZXJ0
eShET01TdHJpbmcgcHJvcGVydHlOYW1lLCBmbG9hdCBwcm9wZXJ0eVZhbHVlKTsKLX07PC93ZWJp
ZGw+Ci0gICAgPEF0dHJpYnV0ZSByZWFkb25seT0icmVhZG9ubHkiIG5hbWU9InByb3BlcnR5Q291
bnQiIGlkPSI6OkRpY3Rpb25hcnk6OnByb3BlcnR5Q291bnQiPgotICAgICAgPHdlYmlkbD4gIHJl
YWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIHByb3BlcnR5Q291bnQ7PC93ZWJpZGw+Ci0g
ICAgICA8VHlwZSB0eXBlPSJ1bnNpZ25lZCBsb25nIi8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gICAg
PE9wZXJhdGlvbiBnZXR0ZXI9ImdldHRlciIgbmFtZT0iZ2V0UHJvcGVydHkiIGlkPSI6OkRpY3Rp
b25hcnk6OmdldFByb3BlcnR5Ij4KLSAgICAgIDx3ZWJpZGw+ICBnZXR0ZXIgZmxvYXQgZ2V0UHJv
cGVydHkoRE9NU3RyaW5nIHByb3BlcnR5TmFtZSk7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBl
PSJmbG9hdCIvPgotICAgICAgPEFyZ3VtZW50TGlzdD4KLSAgICAgICAgPEFyZ3VtZW50IG5hbWU9
InByb3BlcnR5TmFtZSI+Ci0gICAgICAgICAgPFR5cGUgdHlwZT0iRE9NU3RyaW5nIi8+Ci0gICAg
ICAgIDwvQXJndW1lbnQ+Ci0gICAgICA8L0FyZ3VtZW50TGlzdD4KLSAgICA8L09wZXJhdGlvbj4K
LSAgICA8T3BlcmF0aW9uIHNldHRlcj0ic2V0dGVyIiBuYW1lPSJzZXRQcm9wZXJ0eSIgaWQ9Ijo6
RGljdGlvbmFyeTo6c2V0UHJvcGVydHkiPgotICAgICAgPHdlYmlkbD4gIHNldHRlciB2b2lkIHNl
dFByb3BlcnR5KERPTVN0cmluZyBwcm9wZXJ0eU5hbWUsIGZsb2F0IHByb3BlcnR5VmFsdWUpOzwv
d2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0idm9pZCIvPgotICAgICAgPEFyZ3VtZW50TGlzdD4K
LSAgICAgICAgPEFyZ3VtZW50IG5hbWU9InByb3BlcnR5TmFtZSI+Ci0gICAgICAgICAgPFR5cGUg
dHlwZT0iRE9NU3RyaW5nIi8+Ci0gICAgICAgIDwvQXJndW1lbnQ+Ci0gICAgICAgIDxBcmd1bWVu
dCBuYW1lPSJwcm9wZXJ0eVZhbHVlIj4KLSAgICAgICAgICA8VHlwZSB0eXBlPSJmbG9hdCIvPgot
ICAgICAgICA8L0FyZ3VtZW50PgotICAgICAgPC9Bcmd1bWVudExpc3Q+Ci0gICAgPC9PcGVyYXRp
b24+Ci0gIDwvSW50ZXJmYWNlPgotICA8SW50ZXJmYWNlIG5hbWU9IkRpY3Rpb25hcnkiIGlkPSI6
OkRpY3Rpb25hcnkiPgotICAgIDx3ZWJpZGw+aW50ZXJmYWNlIERpY3Rpb25hcnkgewotICByZWFk
b25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBwcm9wZXJ0eUNvdW50OwotCi0gIGZsb2F0IGdl
dFByb3BlcnR5KERPTVN0cmluZyBwcm9wZXJ0eU5hbWUpOwotICB2b2lkIHNldFByb3BlcnR5KERP
TVN0cmluZyBwcm9wZXJ0eU5hbWUsIGZsb2F0IHByb3BlcnR5VmFsdWUpOwotCi0gIGdldHRlciBm
bG9hdCAoRE9NU3RyaW5nIHByb3BlcnR5TmFtZSk7Ci0gIHNldHRlciB2b2lkIChET01TdHJpbmcg
cHJvcGVydHlOYW1lLCBmbG9hdCBwcm9wZXJ0eVZhbHVlKTsKLX07PC93ZWJpZGw+Ci0gICAgPEF0
dHJpYnV0ZSByZWFkb25seT0icmVhZG9ubHkiIG5hbWU9InByb3BlcnR5Q291bnQiIGlkPSI6OkRp
Y3Rpb25hcnk6OnByb3BlcnR5Q291bnQiPgotICAgICAgPHdlYmlkbD4gIHJlYWRvbmx5IGF0dHJp
YnV0ZSB1bnNpZ25lZCBsb25nIHByb3BlcnR5Q291bnQ7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0
eXBlPSJ1bnNpZ25lZCBsb25nIi8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gICAgPE9wZXJhdGlvbiBu
YW1lPSJnZXRQcm9wZXJ0eSIgaWQ9Ijo6RGljdGlvbmFyeTo6Z2V0UHJvcGVydHkiPgotICAgICAg
PHdlYmlkbD4gIGZsb2F0IGdldFByb3BlcnR5KERPTVN0cmluZyBwcm9wZXJ0eU5hbWUpOzwvd2Vi
aWRsPgotICAgICAgPFR5cGUgdHlwZT0iZmxvYXQiLz4KLSAgICAgIDxBcmd1bWVudExpc3Q+Ci0g
ICAgICAgIDxBcmd1bWVudCBuYW1lPSJwcm9wZXJ0eU5hbWUiPgotICAgICAgICAgIDxUeXBlIHR5
cGU9IkRPTVN0cmluZyIvPgotICAgICAgICA8L0FyZ3VtZW50PgotICAgICAgPC9Bcmd1bWVudExp
c3Q+Ci0gICAgPC9PcGVyYXRpb24+Ci0gICAgPE9wZXJhdGlvbiBuYW1lPSJzZXRQcm9wZXJ0eSIg
aWQ9Ijo6RGljdGlvbmFyeTo6c2V0UHJvcGVydHkiPgotICAgICAgPHdlYmlkbD4gIHZvaWQgc2V0
UHJvcGVydHkoRE9NU3RyaW5nIHByb3BlcnR5TmFtZSwgZmxvYXQgcHJvcGVydHlWYWx1ZSk7PC93
ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJ2b2lkIi8+Ci0gICAgICA8QXJndW1lbnRMaXN0Pgot
ICAgICAgICA8QXJndW1lbnQgbmFtZT0icHJvcGVydHlOYW1lIj4KLSAgICAgICAgICA8VHlwZSB0
eXBlPSJET01TdHJpbmciLz4KLSAgICAgICAgPC9Bcmd1bWVudD4KLSAgICAgICAgPEFyZ3VtZW50
IG5hbWU9InByb3BlcnR5VmFsdWUiPgotICAgICAgICAgIDxUeXBlIHR5cGU9ImZsb2F0Ii8+Ci0g
ICAgICAgIDwvQXJndW1lbnQ+Ci0gICAgICA8L0FyZ3VtZW50TGlzdD4KLSAgICA8L09wZXJhdGlv
bj4KLSAgICA8T3BlcmF0aW9uIGdldHRlcj0iZ2V0dGVyIj4KLSAgICAgIDx3ZWJpZGw+ICBnZXR0
ZXIgZmxvYXQgKERPTVN0cmluZyBwcm9wZXJ0eU5hbWUpOzwvd2ViaWRsPgotICAgICAgPFR5cGUg
dHlwZT0iZmxvYXQiLz4KLSAgICAgIDxBcmd1bWVudExpc3Q+Ci0gICAgICAgIDxBcmd1bWVudCBu
YW1lPSJwcm9wZXJ0eU5hbWUiPgotICAgICAgICAgIDxUeXBlIHR5cGU9IkRPTVN0cmluZyIvPgot
ICAgICAgICA8L0FyZ3VtZW50PgotICAgICAgPC9Bcmd1bWVudExpc3Q+Ci0gICAgPC9PcGVyYXRp
b24+Ci0gICAgPE9wZXJhdGlvbiBzZXR0ZXI9InNldHRlciI+Ci0gICAgICA8d2ViaWRsPiAgc2V0
dGVyIHZvaWQgKERPTVN0cmluZyBwcm9wZXJ0eU5hbWUsIGZsb2F0IHByb3BlcnR5VmFsdWUpOzwv
d2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0idm9pZCIvPgotICAgICAgPEFyZ3VtZW50TGlzdD4K
LSAgICAgICAgPEFyZ3VtZW50IG5hbWU9InByb3BlcnR5TmFtZSI+Ci0gICAgICAgICAgPFR5cGUg
dHlwZT0iRE9NU3RyaW5nIi8+Ci0gICAgICAgIDwvQXJndW1lbnQ+Ci0gICAgICAgIDxBcmd1bWVu
dCBuYW1lPSJwcm9wZXJ0eVZhbHVlIj4KLSAgICAgICAgICA8VHlwZSB0eXBlPSJmbG9hdCIvPgot
ICAgICAgICA8L0FyZ3VtZW50PgotICAgICAgPC9Bcmd1bWVudExpc3Q+Ci0gICAgPC9PcGVyYXRp
b24+Ci0gIDwvSW50ZXJmYWNlPgotPC9EZWZpbml0aW9ucz4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9leGNlcHRpb24taW5oZXJpdGFuY2Uud2lkbHByb2N4
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvZXhjZXB0aW9uLWluaGVyaXRh
bmNlLndpZGxwcm9jeG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzYTFmODY4YTRi
NC4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL2V4
Y2VwdGlvbi1pbmhlcml0YW5jZS53aWRscHJvY3htbAorKysgL2Rldi9udWxsCkBAIC0xLDMxICsw
LDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Ci08IURPQ1RZUEUg
RGVmaW5pdGlvbnMgU1lTVEVNICJ3aWRscHJvY3htbC5kdGQiPgotPERlZmluaXRpb25zPgotICA8
d2ViaWRsPiAgZXhjZXB0aW9uIERPTUV4Y2VwdGlvbiB7Ci0gICAgdW5zaWduZWQgc2hvcnQgY29k
ZTsKLSAgfTsKLQotICBleGNlcHRpb24gSGllcmFyY2h5UmVxdWVzdEVycm9yIDogPHJlZj5ET01F
eGNlcHRpb248L3JlZj4geyB9OwotICBleGNlcHRpb24gTm9Nb2RpZmljYXRpb25BbGxvd2VkRXJy
b3IgOiA8cmVmPkRPTUV4Y2VwdGlvbjwvcmVmPiB7IH07PC93ZWJpZGw+Ci0gIDxFeGNlcHRpb24g
bmFtZT0iRE9NRXhjZXB0aW9uIiBpZD0iOjpET01FeGNlcHRpb24iPgotICAgIDx3ZWJpZGw+ICBl
eGNlcHRpb24gRE9NRXhjZXB0aW9uIHsKLSAgICB1bnNpZ25lZCBzaG9ydCBjb2RlOwotICB9Ozwv
d2ViaWRsPgotICAgIDxFeGNlcHRpb25GaWVsZCBuYW1lPSJjb2RlIiBpZD0iOjpET01FeGNlcHRp
b246OmNvZGUiPgotICAgICAgPHdlYmlkbD4gICAgdW5zaWduZWQgc2hvcnQgY29kZTs8L3dlYmlk
bD4KLSAgICAgIDxUeXBlIHR5cGU9InVuc2lnbmVkIHNob3J0Ii8+Ci0gICAgPC9FeGNlcHRpb25G
aWVsZD4KLSAgPC9FeGNlcHRpb24+Ci0gIDxFeGNlcHRpb24gbmFtZT0iSGllcmFyY2h5UmVxdWVz
dEVycm9yIiBpZD0iOjpIaWVyYXJjaHlSZXF1ZXN0RXJyb3IiPgotICAgIDx3ZWJpZGw+ICBleGNl
cHRpb24gSGllcmFyY2h5UmVxdWVzdEVycm9yIDogPHJlZj5ET01FeGNlcHRpb248L3JlZj4geyB9
Ozwvd2ViaWRsPgotICAgIDxFeGNlcHRpb25Jbmhlcml0YW5jZT4KLSAgICAgIDxOYW1lIG5hbWU9
IkRPTUV4Y2VwdGlvbiIvPgotICAgIDwvRXhjZXB0aW9uSW5oZXJpdGFuY2U+Ci0gIDwvRXhjZXB0
aW9uPgotICA8RXhjZXB0aW9uIG5hbWU9Ik5vTW9kaWZpY2F0aW9uQWxsb3dlZEVycm9yIiBpZD0i
OjpOb01vZGlmaWNhdGlvbkFsbG93ZWRFcnJvciI+Ci0gICAgPHdlYmlkbD4gIGV4Y2VwdGlvbiBO
b01vZGlmaWNhdGlvbkFsbG93ZWRFcnJvciA6IDxyZWY+RE9NRXhjZXB0aW9uPC9yZWY+IHsgfTs8
L3dlYmlkbD4KLSAgICA8RXhjZXB0aW9uSW5oZXJpdGFuY2U+Ci0gICAgICA8TmFtZSBuYW1lPSJE
T01FeGNlcHRpb24iLz4KLSAgICA8L0V4Y2VwdGlvbkluaGVyaXRhbmNlPgotICA8L0V4Y2VwdGlv
bj4KLTwvRGVmaW5pdGlvbnM+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92
YWxpZC94bWwvZXhjZXB0aW9uLndpZGxwcm9jeG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3Qv
dmFsaWQveG1sL2V4Y2VwdGlvbi53aWRscHJvY3htbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggYWM5MzMyMGZlMTYuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90
ZXN0L3ZhbGlkL3htbC9leGNlcHRpb24ud2lkbHByb2N4bWwKKysrIC9kZXYvbnVsbApAQCAtMSwy
MyArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgotPCFET0NU
WVBFIERlZmluaXRpb25zIFNZU1RFTSAid2lkbHByb2N4bWwuZHRkIj4KLTxEZWZpbml0aW9ucz4K
LSAgPHdlYmlkbD5pbnRlcmZhY2UgRGFodXQgewotICBhdHRyaWJ1dGUgRE9NU3RyaW5nIHR5cGU7
Ci19OwotCi1leGNlcHRpb24gU29tZUV4Y2VwdGlvbiB7Ci19Ozwvd2ViaWRsPgotICA8SW50ZXJm
YWNlIG5hbWU9IkRhaHV0IiBpZD0iOjpEYWh1dCI+Ci0gICAgPHdlYmlkbD5pbnRlcmZhY2UgRGFo
dXQgewotICBhdHRyaWJ1dGUgRE9NU3RyaW5nIHR5cGU7Ci19Ozwvd2ViaWRsPgotICAgIDxBdHRy
aWJ1dGUgbmFtZT0idHlwZSIgaWQ9Ijo6RGFodXQ6OnR5cGUiPgotICAgICAgPHdlYmlkbD4gIGF0
dHJpYnV0ZSBET01TdHJpbmcgdHlwZTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9IkRPTVN0
cmluZyIvPgotICAgIDwvQXR0cmlidXRlPgotICA8L0ludGVyZmFjZT4KLSAgPEV4Y2VwdGlvbiBu
YW1lPSJTb21lRXhjZXB0aW9uIiBpZD0iOjpTb21lRXhjZXB0aW9uIj4KLSAgICA8d2ViaWRsPmV4
Y2VwdGlvbiBTb21lRXhjZXB0aW9uIHsKLX07PC93ZWJpZGw+Ci0gIDwvRXhjZXB0aW9uPgotPC9E
ZWZpbml0aW9ucz4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3ht
bC9nZXR0ZXItc2V0dGVyLndpZGxwcm9jeG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFs
aWQveG1sL2dldHRlci1zZXR0ZXIud2lkbHByb2N4bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDc2YWZjMDU4YzY4Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mv
dGVzdC92YWxpZC94bWwvZ2V0dGVyLXNldHRlci53aWRscHJvY3htbAorKysgL2Rldi9udWxsCkBA
IC0xLDQzICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Ci08
IURPQ1RZUEUgRGVmaW5pdGlvbnMgU1lTVEVNICJ3aWRscHJvY3htbC5kdGQiPgotPERlZmluaXRp
b25zPgotICA8d2ViaWRsPmludGVyZmFjZSBEaWN0aW9uYXJ5IHsKLSAgcmVhZG9ubHkgYXR0cmli
dXRlIHVuc2lnbmVkIGxvbmcgcHJvcGVydHlDb3VudDsKLQotICBnZXR0ZXIgZmxvYXQgKERPTVN0
cmluZyBwcm9wZXJ0eU5hbWUpOwotICBzZXR0ZXIgdm9pZCAoRE9NU3RyaW5nIHByb3BlcnR5TmFt
ZSwgZmxvYXQgcHJvcGVydHlWYWx1ZSk7Ci19Ozwvd2ViaWRsPgotICA8SW50ZXJmYWNlIG5hbWU9
IkRpY3Rpb25hcnkiIGlkPSI6OkRpY3Rpb25hcnkiPgotICAgIDx3ZWJpZGw+aW50ZXJmYWNlIERp
Y3Rpb25hcnkgewotICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBwcm9wZXJ0eUNv
dW50OwotCi0gIGdldHRlciBmbG9hdCAoRE9NU3RyaW5nIHByb3BlcnR5TmFtZSk7Ci0gIHNldHRl
ciB2b2lkIChET01TdHJpbmcgcHJvcGVydHlOYW1lLCBmbG9hdCBwcm9wZXJ0eVZhbHVlKTsKLX07
PC93ZWJpZGw+Ci0gICAgPEF0dHJpYnV0ZSByZWFkb25seT0icmVhZG9ubHkiIG5hbWU9InByb3Bl
cnR5Q291bnQiIGlkPSI6OkRpY3Rpb25hcnk6OnByb3BlcnR5Q291bnQiPgotICAgICAgPHdlYmlk
bD4gIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIHByb3BlcnR5Q291bnQ7PC93ZWJp
ZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJ1bnNpZ25lZCBsb25nIi8+Ci0gICAgPC9BdHRyaWJ1dGU+
Ci0gICAgPE9wZXJhdGlvbiBnZXR0ZXI9ImdldHRlciI+Ci0gICAgICA8d2ViaWRsPiAgZ2V0dGVy
IGZsb2F0IChET01TdHJpbmcgcHJvcGVydHlOYW1lKTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5
cGU9ImZsb2F0Ii8+Ci0gICAgICA8QXJndW1lbnRMaXN0PgotICAgICAgICA8QXJndW1lbnQgbmFt
ZT0icHJvcGVydHlOYW1lIj4KLSAgICAgICAgICA8VHlwZSB0eXBlPSJET01TdHJpbmciLz4KLSAg
ICAgICAgPC9Bcmd1bWVudD4KLSAgICAgIDwvQXJndW1lbnRMaXN0PgotICAgIDwvT3BlcmF0aW9u
PgotICAgIDxPcGVyYXRpb24gc2V0dGVyPSJzZXR0ZXIiPgotICAgICAgPHdlYmlkbD4gIHNldHRl
ciB2b2lkIChET01TdHJpbmcgcHJvcGVydHlOYW1lLCBmbG9hdCBwcm9wZXJ0eVZhbHVlKTs8L3dl
YmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9InZvaWQiLz4KLSAgICAgIDxBcmd1bWVudExpc3Q+Ci0g
ICAgICAgIDxBcmd1bWVudCBuYW1lPSJwcm9wZXJ0eU5hbWUiPgotICAgICAgICAgIDxUeXBlIHR5
cGU9IkRPTVN0cmluZyIvPgotICAgICAgICA8L0FyZ3VtZW50PgotICAgICAgICA8QXJndW1lbnQg
bmFtZT0icHJvcGVydHlWYWx1ZSI+Ci0gICAgICAgICAgPFR5cGUgdHlwZT0iZmxvYXQiLz4KLSAg
ICAgICAgPC9Bcmd1bWVudD4KLSAgICAgIDwvQXJndW1lbnRMaXN0PgotICAgIDwvT3BlcmF0aW9u
PgotICA8L0ludGVyZmFjZT4KLTwvRGVmaW5pdGlvbnM+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
d2lkbHByb2MvdGVzdC92YWxpZC94bWwvaWRlbnRpZmllci1xdWFsaWZpZWQtbmFtZXMud2lkbHBy
b2N4bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvaWRlbnRpZmllci1xdWFs
aWZpZWQtbmFtZXMud2lkbHByb2N4bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGI2
MDI0ZTVmZjY4Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxp
ZC94bWwvaWRlbnRpZmllci1xdWFsaWZpZWQtbmFtZXMud2lkbHByb2N4bWwKKysrIC9kZXYvbnVs
bApAQCAtMSwxMDcgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgi
Pz4KLTwhRE9DVFlQRSBEZWZpbml0aW9ucyBTWVNURU0gIndpZGxwcm9jeG1sLmR0ZCI+Ci08RGVm
aW5pdGlvbnM+Ci0gIDx3ZWJpZGw+ICB0eXBlZGVmIGZsb2F0IG51bWJlcjsKLQotICBleGNlcHRp
b24gRnJhbWV3b3JrRXhjZXB0aW9uIHsKLQotICAgIGNvbnN0IGxvbmcgRVJSX05PVF9GT1VORCA9
IDE7Ci0KLSAgICBsb25nIGNvZGU7Ci0gIH07Ci0KLSAgaW50ZXJmYWNlIFN5c3RlbSB7Ci0KLSAg
ICBvYmplY3QgY3JlYXRlT2JqZWN0KERPTVN0cmluZyBfaW50ZXJmYWNlKTsKLQotICAgIGdldHRl
ciBET01TdHJpbmcgKERPTVN0cmluZyBrZXlOYW1lKTsKLSAgfTsKLQotICAgIAotICAgIGludGVy
ZmFjZSBUZXh0RmllbGQgewotCi0gICAgICBhdHRyaWJ1dGUgYm9vbGVhbiBfY29uc3Q7Ci0KLSAg
ICAgIGF0dHJpYnV0ZSBET01TdHJpbmc/IF92YWx1ZTsKLSAgICB9OwotCi1pbnRlcmZhY2UgRm9v
IHsKLSB2b2lkIG9wKG9iamVjdCBpbnRlcmZhY2UpOwotfTs8L3dlYmlkbD4KLSAgPFR5cGVkZWYg
bmFtZT0ibnVtYmVyIiBpZD0iOjpudW1iZXIiPgotICAgIDx3ZWJpZGw+ICB0eXBlZGVmIGZsb2F0
IG51bWJlcjs8L3dlYmlkbD4KLSAgICA8VHlwZSB0eXBlPSJmbG9hdCIvPgotICA8L1R5cGVkZWY+
Ci0gIDxFeGNlcHRpb24gbmFtZT0iRnJhbWV3b3JrRXhjZXB0aW9uIiBpZD0iOjpGcmFtZXdvcmtF
eGNlcHRpb24iPgotICAgIDx3ZWJpZGw+ICBleGNlcHRpb24gRnJhbWV3b3JrRXhjZXB0aW9uIHsK
LQotICAgIGNvbnN0IGxvbmcgRVJSX05PVF9GT1VORCA9IDE7Ci0KLSAgICBsb25nIGNvZGU7Ci0g
IH07PC93ZWJpZGw+Ci0gICAgPENvbnN0IG5hbWU9IkVSUl9OT1RfRk9VTkQiIHZhbHVlPSIxIiBp
ZD0iOjpGcmFtZXdvcmtFeGNlcHRpb246OkVSUl9OT1RfRk9VTkQiPgotICAgICAgPHdlYmlkbD4g
ICAgY29uc3QgbG9uZyBFUlJfTk9UX0ZPVU5EID0gMTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5
cGU9ImxvbmciLz4KLSAgICA8L0NvbnN0PgotICAgIDxFeGNlcHRpb25GaWVsZCBuYW1lPSJjb2Rl
IiBpZD0iOjpGcmFtZXdvcmtFeGNlcHRpb246OmNvZGUiPgotICAgICAgPHdlYmlkbD4gICAgbG9u
ZyBjb2RlOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0ibG9uZyIvPgotICAgIDwvRXhjZXB0
aW9uRmllbGQ+Ci0gIDwvRXhjZXB0aW9uPgotICA8SW50ZXJmYWNlIG5hbWU9IlN5c3RlbSIgaWQ9
Ijo6U3lzdGVtIj4KLSAgICA8d2ViaWRsPiAgaW50ZXJmYWNlIFN5c3RlbSB7Ci0KLSAgICBvYmpl
Y3QgY3JlYXRlT2JqZWN0KERPTVN0cmluZyBfaW50ZXJmYWNlKTsKLQotICAgIGdldHRlciBET01T
dHJpbmcgKERPTVN0cmluZyBrZXlOYW1lKTsKLSAgfTs8L3dlYmlkbD4KLSAgICA8T3BlcmF0aW9u
IG5hbWU9ImNyZWF0ZU9iamVjdCIgaWQ9Ijo6U3lzdGVtOjpjcmVhdGVPYmplY3QiPgotICAgICAg
PHdlYmlkbD4gICAgb2JqZWN0IGNyZWF0ZU9iamVjdChET01TdHJpbmcgX2ludGVyZmFjZSk7PC93
ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJvYmplY3QiLz4KLSAgICAgIDxBcmd1bWVudExpc3Q+
Ci0gICAgICAgIDxBcmd1bWVudCBuYW1lPSJfaW50ZXJmYWNlIj4KLSAgICAgICAgICA8VHlwZSB0
eXBlPSJET01TdHJpbmciLz4KLSAgICAgICAgPC9Bcmd1bWVudD4KLSAgICAgIDwvQXJndW1lbnRM
aXN0PgotICAgIDwvT3BlcmF0aW9uPgotICAgIDxPcGVyYXRpb24gZ2V0dGVyPSJnZXR0ZXIiPgot
ICAgICAgPHdlYmlkbD4gICAgZ2V0dGVyIERPTVN0cmluZyAoRE9NU3RyaW5nIGtleU5hbWUpOzwv
d2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0iRE9NU3RyaW5nIi8+Ci0gICAgICA8QXJndW1lbnRM
aXN0PgotICAgICAgICA8QXJndW1lbnQgbmFtZT0ia2V5TmFtZSI+Ci0gICAgICAgICAgPFR5cGUg
dHlwZT0iRE9NU3RyaW5nIi8+Ci0gICAgICAgIDwvQXJndW1lbnQ+Ci0gICAgICA8L0FyZ3VtZW50
TGlzdD4KLSAgICA8L09wZXJhdGlvbj4KLSAgPC9JbnRlcmZhY2U+Ci0gIDxJbnRlcmZhY2UgbmFt
ZT0iVGV4dEZpZWxkIiBpZD0iOjpUZXh0RmllbGQiPgotICAgIDx3ZWJpZGw+ICAgIGludGVyZmFj
ZSBUZXh0RmllbGQgewotCi0gICAgICBhdHRyaWJ1dGUgYm9vbGVhbiBfY29uc3Q7Ci0KLSAgICAg
IGF0dHJpYnV0ZSBET01TdHJpbmc/IF92YWx1ZTsKLSAgICB9Ozwvd2ViaWRsPgotICAgIDxBdHRy
aWJ1dGUgbmFtZT0iX2NvbnN0IiBpZD0iOjpUZXh0RmllbGQ6Ol9jb25zdCI+Ci0gICAgICA8d2Vi
aWRsPiAgICAgIGF0dHJpYnV0ZSBib29sZWFuIF9jb25zdDs8L3dlYmlkbD4KLSAgICAgIDxUeXBl
IHR5cGU9ImJvb2xlYW4iLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAgICA8QXR0cmlidXRlIG5hbWU9
Il92YWx1ZSIgaWQ9Ijo6VGV4dEZpZWxkOjpfdmFsdWUiPgotICAgICAgPHdlYmlkbD4gICAgICBh
dHRyaWJ1dGUgRE9NU3RyaW5nPyBfdmFsdWU7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJE
T01TdHJpbmciIG51bGxhYmxlPSJudWxsYWJsZSIvPgotICAgIDwvQXR0cmlidXRlPgotICA8L0lu
dGVyZmFjZT4KLSAgPEludGVyZmFjZSBuYW1lPSJGb28iIGlkPSI6OkZvbyI+Ci0gICAgPHdlYmlk
bD5pbnRlcmZhY2UgRm9vIHsKLSB2b2lkIG9wKG9iamVjdCBpbnRlcmZhY2UpOwotfTs8L3dlYmlk
bD4KLSAgICA8T3BlcmF0aW9uIG5hbWU9Im9wIiBpZD0iOjpGb286Om9wIj4KLSAgICAgIDx3ZWJp
ZGw+IHZvaWQgb3Aob2JqZWN0IGludGVyZmFjZSk7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBl
PSJ2b2lkIi8+Ci0gICAgICA8QXJndW1lbnRMaXN0PgotICAgICAgICA8QXJndW1lbnQgbmFtZT0i
aW50ZXJmYWNlIj4KLSAgICAgICAgICA8VHlwZSB0eXBlPSJvYmplY3QiLz4KLSAgICAgICAgPC9B
cmd1bWVudD4KLSAgICAgIDwvQXJndW1lbnRMaXN0PgotICAgIDwvT3BlcmF0aW9uPgotICA8L0lu
dGVyZmFjZT4KLTwvRGVmaW5pdGlvbnM+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mv
dGVzdC92YWxpZC94bWwvaW1wbGVtZW50cy53aWRscHJvY3htbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJv
Yy90ZXN0L3ZhbGlkL3htbC9pbXBsZW1lbnRzLndpZGxwcm9jeG1sCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAzZDFjMWFiODQ3OC4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dp
ZGxwcm9jL3Rlc3QvdmFsaWQveG1sL2ltcGxlbWVudHMud2lkbHByb2N4bWwKKysrIC9kZXYvbnVs
bApAQCAtMSw1MSArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/
PgotPCFET0NUWVBFIERlZmluaXRpb25zIFNZU1RFTSAid2lkbHByb2N4bWwuZHRkIj4KLTxEZWZp
bml0aW9ucz4KLSAgPHdlYmlkbD4gIGludGVyZmFjZSBOb2RlIHsKLSAgICByZWFkb25seSBhdHRy
aWJ1dGUgdW5zaWduZWQgc2hvcnQgbm9kZVR5cGU7Ci0gIH07Ci0KLSAgaW50ZXJmYWNlIEV2ZW50
VGFyZ2V0IHsKLSAgICB2b2lkIGFkZEV2ZW50TGlzdGVuZXIoRE9NU3RyaW5nIHR5cGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgIDxyZWY+RXZlbnRMaXN0ZW5lcjwvcmVmPiBsaXN0ZW5lciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbGVhbiB1c2VDYXB0dXJlKTsKLSAgfTsKLQot
ICA8cmVmPk5vZGU8L3JlZj4gaW1wbGVtZW50cyA8cmVmPkV2ZW50VGFyZ2V0PC9yZWY+Ozwvd2Vi
aWRsPgotICA8SW50ZXJmYWNlIG5hbWU9Ik5vZGUiIGlkPSI6Ok5vZGUiPgotICAgIDx3ZWJpZGw+
ICBpbnRlcmZhY2UgTm9kZSB7Ci0gICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIHNob3J0
IG5vZGVUeXBlOwotICB9Ozwvd2ViaWRsPgotICAgIDxBdHRyaWJ1dGUgcmVhZG9ubHk9InJlYWRv
bmx5IiBuYW1lPSJub2RlVHlwZSIgaWQ9Ijo6Tm9kZTo6bm9kZVR5cGUiPgotICAgICAgPHdlYmlk
bD4gICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIHNob3J0IG5vZGVUeXBlOzwvd2ViaWRs
PgotICAgICAgPFR5cGUgdHlwZT0idW5zaWduZWQgc2hvcnQiLz4KLSAgICA8L0F0dHJpYnV0ZT4K
LSAgPC9JbnRlcmZhY2U+Ci0gIDxJbnRlcmZhY2UgbmFtZT0iRXZlbnRUYXJnZXQiIGlkPSI6OkV2
ZW50VGFyZ2V0Ij4KLSAgICA8d2ViaWRsPiAgaW50ZXJmYWNlIEV2ZW50VGFyZ2V0IHsKLSAgICB2
b2lkIGFkZEV2ZW50TGlzdGVuZXIoRE9NU3RyaW5nIHR5cGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgIDxyZWY+RXZlbnRMaXN0ZW5lcjwvcmVmPiBsaXN0ZW5lciwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgYm9vbGVhbiB1c2VDYXB0dXJlKTsKLSAgfTs8L3dlYmlkbD4KLSAgICA8T3Bl
cmF0aW9uIG5hbWU9ImFkZEV2ZW50TGlzdGVuZXIiIGlkPSI6OkV2ZW50VGFyZ2V0OjphZGRFdmVu
dExpc3RlbmVyIj4KLSAgICAgIDx3ZWJpZGw+ICAgIHZvaWQgYWRkRXZlbnRMaXN0ZW5lcihET01T
dHJpbmcgdHlwZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlZj5FdmVudExpc3RlbmVy
PC9yZWY+IGxpc3RlbmVyLAotICAgICAgICAgICAgICAgICAgICAgICAgICBib29sZWFuIHVzZUNh
cHR1cmUpOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0idm9pZCIvPgotICAgICAgPEFyZ3Vt
ZW50TGlzdD4KLSAgICAgICAgPEFyZ3VtZW50IG5hbWU9InR5cGUiPgotICAgICAgICAgIDxUeXBl
IHR5cGU9IkRPTVN0cmluZyIvPgotICAgICAgICA8L0FyZ3VtZW50PgotICAgICAgICA8QXJndW1l
bnQgbmFtZT0ibGlzdGVuZXIiPgotICAgICAgICAgIDxUeXBlIG5hbWU9IkV2ZW50TGlzdGVuZXIi
Lz4KLSAgICAgICAgPC9Bcmd1bWVudD4KLSAgICAgICAgPEFyZ3VtZW50IG5hbWU9InVzZUNhcHR1
cmUiPgotICAgICAgICAgIDxUeXBlIHR5cGU9ImJvb2xlYW4iLz4KLSAgICAgICAgPC9Bcmd1bWVu
dD4KLSAgICAgIDwvQXJndW1lbnRMaXN0PgotICAgIDwvT3BlcmF0aW9uPgotICA8L0ludGVyZmFj
ZT4KLSAgPEltcGxlbWVudHMgbmFtZTE9Ik5vZGUiIG5hbWUyPSJFdmVudFRhcmdldCI+Ci0gICAg
PHdlYmlkbD4gIDxyZWY+Tm9kZTwvcmVmPiBpbXBsZW1lbnRzIDxyZWY+RXZlbnRUYXJnZXQ8L3Jl
Zj47PC93ZWJpZGw+Ci0gIDwvSW1wbGVtZW50cz4KLTwvRGVmaW5pdGlvbnM+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvaW5kZXhlZC1wcm9wZXJ0aWVzLndp
ZGxwcm9jeG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL2luZGV4ZWQtcHJv
cGVydGllcy53aWRscHJvY3htbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZmI4MzYy
MWI2MGQuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3ht
bC9pbmRleGVkLXByb3BlcnRpZXMud2lkbHByb2N4bWwKKysrIC9kZXYvbnVsbApAQCAtMSw5MiAr
MCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgotPCFET0NUWVBF
IERlZmluaXRpb25zIFNZU1RFTSAid2lkbHByb2N4bWwuZHRkIj4KLTxEZWZpbml0aW9ucz4KLSAg
PHdlYmlkbD5pbnRlcmZhY2UgT3JkZXJlZE1hcCB7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNp
Z25lZCBsb25nIHNpemU7Ci0KLSAgZ2V0dGVyIGFueSBnZXRCeUluZGV4KHVuc2lnbmVkIGxvbmcg
aW5kZXgpOwotICBzZXR0ZXIgdm9pZCBzZXRCeUluZGV4KHVuc2lnbmVkIGxvbmcgaW5kZXgsIGFu
eSB2YWx1ZSk7Ci0gIGRlbGV0ZXIgdm9pZCByZW1vdmVCeUluZGV4KHVuc2lnbmVkIGxvbmcgaW5k
ZXgpOwotCi0gIGdldHRlciBhbnkgZ2V0KERPTVN0cmluZyBuYW1lKTsKLSAgc2V0dGVyIGNyZWF0
b3Igdm9pZCBzZXQoRE9NU3RyaW5nIG5hbWUsIGFueSB2YWx1ZSk7Ci0gIGRlbGV0ZXIgdm9pZCBy
ZW1vdmUoRE9NU3RyaW5nIG5hbWUpOwotfTs8L3dlYmlkbD4KLSAgPEludGVyZmFjZSBuYW1lPSJP
cmRlcmVkTWFwIiBpZD0iOjpPcmRlcmVkTWFwIj4KLSAgICA8d2ViaWRsPmludGVyZmFjZSBPcmRl
cmVkTWFwIHsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgc2l6ZTsKLQotICBn
ZXR0ZXIgYW55IGdldEJ5SW5kZXgodW5zaWduZWQgbG9uZyBpbmRleCk7Ci0gIHNldHRlciB2b2lk
IHNldEJ5SW5kZXgodW5zaWduZWQgbG9uZyBpbmRleCwgYW55IHZhbHVlKTsKLSAgZGVsZXRlciB2
b2lkIHJlbW92ZUJ5SW5kZXgodW5zaWduZWQgbG9uZyBpbmRleCk7Ci0KLSAgZ2V0dGVyIGFueSBn
ZXQoRE9NU3RyaW5nIG5hbWUpOwotICBzZXR0ZXIgY3JlYXRvciB2b2lkIHNldChET01TdHJpbmcg
bmFtZSwgYW55IHZhbHVlKTsKLSAgZGVsZXRlciB2b2lkIHJlbW92ZShET01TdHJpbmcgbmFtZSk7
Ci19Ozwvd2ViaWRsPgotICAgIDxBdHRyaWJ1dGUgcmVhZG9ubHk9InJlYWRvbmx5IiBuYW1lPSJz
aXplIiBpZD0iOjpPcmRlcmVkTWFwOjpzaXplIj4KLSAgICAgIDx3ZWJpZGw+ICByZWFkb25seSBh
dHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBzaXplOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0i
dW5zaWduZWQgbG9uZyIvPgotICAgIDwvQXR0cmlidXRlPgotICAgIDxPcGVyYXRpb24gZ2V0dGVy
PSJnZXR0ZXIiIG5hbWU9ImdldEJ5SW5kZXgiIGlkPSI6Ok9yZGVyZWRNYXA6OmdldEJ5SW5kZXgi
PgotICAgICAgPHdlYmlkbD4gIGdldHRlciBhbnkgZ2V0QnlJbmRleCh1bnNpZ25lZCBsb25nIGlu
ZGV4KTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9ImFueSIvPgotICAgICAgPEFyZ3VtZW50
TGlzdD4KLSAgICAgICAgPEFyZ3VtZW50IG5hbWU9ImluZGV4Ij4KLSAgICAgICAgICA8VHlwZSB0
eXBlPSJ1bnNpZ25lZCBsb25nIi8+Ci0gICAgICAgIDwvQXJndW1lbnQ+Ci0gICAgICA8L0FyZ3Vt
ZW50TGlzdD4KLSAgICA8L09wZXJhdGlvbj4KLSAgICA8T3BlcmF0aW9uIHNldHRlcj0ic2V0dGVy
IiBuYW1lPSJzZXRCeUluZGV4IiBpZD0iOjpPcmRlcmVkTWFwOjpzZXRCeUluZGV4Ij4KLSAgICAg
IDx3ZWJpZGw+ICBzZXR0ZXIgdm9pZCBzZXRCeUluZGV4KHVuc2lnbmVkIGxvbmcgaW5kZXgsIGFu
eSB2YWx1ZSk7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJ2b2lkIi8+Ci0gICAgICA8QXJn
dW1lbnRMaXN0PgotICAgICAgICA8QXJndW1lbnQgbmFtZT0iaW5kZXgiPgotICAgICAgICAgIDxU
eXBlIHR5cGU9InVuc2lnbmVkIGxvbmciLz4KLSAgICAgICAgPC9Bcmd1bWVudD4KLSAgICAgICAg
PEFyZ3VtZW50IG5hbWU9InZhbHVlIj4KLSAgICAgICAgICA8VHlwZSB0eXBlPSJhbnkiLz4KLSAg
ICAgICAgPC9Bcmd1bWVudD4KLSAgICAgIDwvQXJndW1lbnRMaXN0PgotICAgIDwvT3BlcmF0aW9u
PgotICAgIDxPcGVyYXRpb24gZGVsZXRlcj0iZGVsZXRlciIgbmFtZT0icmVtb3ZlQnlJbmRleCIg
aWQ9Ijo6T3JkZXJlZE1hcDo6cmVtb3ZlQnlJbmRleCI+Ci0gICAgICA8d2ViaWRsPiAgZGVsZXRl
ciB2b2lkIHJlbW92ZUJ5SW5kZXgodW5zaWduZWQgbG9uZyBpbmRleCk7PC93ZWJpZGw+Ci0gICAg
ICA8VHlwZSB0eXBlPSJ2b2lkIi8+Ci0gICAgICA8QXJndW1lbnRMaXN0PgotICAgICAgICA8QXJn
dW1lbnQgbmFtZT0iaW5kZXgiPgotICAgICAgICAgIDxUeXBlIHR5cGU9InVuc2lnbmVkIGxvbmci
Lz4KLSAgICAgICAgPC9Bcmd1bWVudD4KLSAgICAgIDwvQXJndW1lbnRMaXN0PgotICAgIDwvT3Bl
cmF0aW9uPgotICAgIDxPcGVyYXRpb24gZ2V0dGVyPSJnZXR0ZXIiIG5hbWU9ImdldCIgaWQ9Ijo6
T3JkZXJlZE1hcDo6Z2V0Ij4KLSAgICAgIDx3ZWJpZGw+ICBnZXR0ZXIgYW55IGdldChET01TdHJp
bmcgbmFtZSk7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJhbnkiLz4KLSAgICAgIDxBcmd1
bWVudExpc3Q+Ci0gICAgICAgIDxBcmd1bWVudCBuYW1lPSJuYW1lIj4KLSAgICAgICAgICA8VHlw
ZSB0eXBlPSJET01TdHJpbmciLz4KLSAgICAgICAgPC9Bcmd1bWVudD4KLSAgICAgIDwvQXJndW1l
bnRMaXN0PgotICAgIDwvT3BlcmF0aW9uPgotICAgIDxPcGVyYXRpb24gc2V0dGVyPSJzZXR0ZXIi
IGNyZWF0b3I9ImNyZWF0b3IiIG5hbWU9InNldCIgaWQ9Ijo6T3JkZXJlZE1hcDo6c2V0Ij4KLSAg
ICAgIDx3ZWJpZGw+ICBzZXR0ZXIgY3JlYXRvciB2b2lkIHNldChET01TdHJpbmcgbmFtZSwgYW55
IHZhbHVlKTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9InZvaWQiLz4KLSAgICAgIDxBcmd1
bWVudExpc3Q+Ci0gICAgICAgIDxBcmd1bWVudCBuYW1lPSJuYW1lIj4KLSAgICAgICAgICA8VHlw
ZSB0eXBlPSJET01TdHJpbmciLz4KLSAgICAgICAgPC9Bcmd1bWVudD4KLSAgICAgICAgPEFyZ3Vt
ZW50IG5hbWU9InZhbHVlIj4KLSAgICAgICAgICA8VHlwZSB0eXBlPSJhbnkiLz4KLSAgICAgICAg
PC9Bcmd1bWVudD4KLSAgICAgIDwvQXJndW1lbnRMaXN0PgotICAgIDwvT3BlcmF0aW9uPgotICAg
IDxPcGVyYXRpb24gZGVsZXRlcj0iZGVsZXRlciIgbmFtZT0icmVtb3ZlIiBpZD0iOjpPcmRlcmVk
TWFwOjpyZW1vdmUiPgotICAgICAgPHdlYmlkbD4gIGRlbGV0ZXIgdm9pZCByZW1vdmUoRE9NU3Ry
aW5nIG5hbWUpOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0idm9pZCIvPgotICAgICAgPEFy
Z3VtZW50TGlzdD4KLSAgICAgICAgPEFyZ3VtZW50IG5hbWU9Im5hbWUiPgotICAgICAgICAgIDxU
eXBlIHR5cGU9IkRPTVN0cmluZyIvPgotICAgICAgICA8L0FyZ3VtZW50PgotICAgICAgPC9Bcmd1
bWVudExpc3Q+Ci0gICAgPC9PcGVyYXRpb24+Ci0gIDwvSW50ZXJmYWNlPgotPC9EZWZpbml0aW9u
cz4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9pbmhlcml0
cy1nZXR0ZXIud2lkbHByb2N4bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwv
aW5oZXJpdHMtZ2V0dGVyLndpZGxwcm9jeG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCA1NWU3YTMxN2ZkOS4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3Qv
dmFsaWQveG1sL2luaGVyaXRzLWdldHRlci53aWRscHJvY3htbAorKysgL2Rldi9udWxsCkBAIC0x
LDQ0ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Ci08IURP
Q1RZUEUgRGVmaW5pdGlvbnMgU1lTVEVNICJ3aWRscHJvY3htbC5kdGQiPgotPERlZmluaXRpb25z
PgotICA8d2ViaWRsPmludGVyZmFjZSBBbmltYWwgewotCi0gIHJlYWRvbmx5IGF0dHJpYnV0ZSBE
T01TdHJpbmcgbmFtZTsKLX07Ci0KLWludGVyZmFjZSBQZXJzb24gOiA8cmVmPkFuaW1hbDwvcmVm
PiB7Ci0KLSAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIHNob3J0IGFnZTsKLQotICBpbmhl
cml0IGF0dHJpYnV0ZSBET01TdHJpbmcgbmFtZTsKLX07PC93ZWJpZGw+Ci0gIDxJbnRlcmZhY2Ug
bmFtZT0iQW5pbWFsIiBpZD0iOjpBbmltYWwiPgotICAgIDx3ZWJpZGw+aW50ZXJmYWNlIEFuaW1h
bCB7Ci0KLSAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBuYW1lOwotfTs8L3dlYmlkbD4K
LSAgICA8QXR0cmlidXRlIHJlYWRvbmx5PSJyZWFkb25seSIgbmFtZT0ibmFtZSIgaWQ9Ijo6QW5p
bWFsOjpuYW1lIj4KLSAgICAgIDx3ZWJpZGw+ICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5n
IG5hbWU7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJET01TdHJpbmciLz4KLSAgICA8L0F0
dHJpYnV0ZT4KLSAgPC9JbnRlcmZhY2U+Ci0gIDxJbnRlcmZhY2UgbmFtZT0iUGVyc29uIiBpZD0i
OjpQZXJzb24iPgotICAgIDx3ZWJpZGw+aW50ZXJmYWNlIFBlcnNvbiA6IDxyZWY+QW5pbWFsPC9y
ZWY+IHsKLQotICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgc2hvcnQgYWdlOwotCi0gIGlu
aGVyaXQgYXR0cmlidXRlIERPTVN0cmluZyBuYW1lOwotfTs8L3dlYmlkbD4KLSAgICA8SW50ZXJm
YWNlSW5oZXJpdGFuY2U+Ci0gICAgICA8TmFtZSBuYW1lPSJBbmltYWwiLz4KLSAgICA8L0ludGVy
ZmFjZUluaGVyaXRhbmNlPgotICAgIDxBdHRyaWJ1dGUgcmVhZG9ubHk9InJlYWRvbmx5IiBuYW1l
PSJhZ2UiIGlkPSI6OlBlcnNvbjo6YWdlIj4KLSAgICAgIDx3ZWJpZGw+ICByZWFkb25seSBhdHRy
aWJ1dGUgdW5zaWduZWQgc2hvcnQgYWdlOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0idW5z
aWduZWQgc2hvcnQiLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAgICA8QXR0cmlidXRlIGluaGVyaXQ9
ImluaGVyaXQiIG5hbWU9Im5hbWUiIGlkPSI6OlBlcnNvbjo6bmFtZSI+Ci0gICAgICA8d2ViaWRs
PiAgaW5oZXJpdCBhdHRyaWJ1dGUgRE9NU3RyaW5nIG5hbWU7PC93ZWJpZGw+Ci0gICAgICA8VHlw
ZSB0eXBlPSJET01TdHJpbmciLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAgPC9JbnRlcmZhY2U+Ci08
L0RlZmluaXRpb25zPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQv
eG1sL2ludGVyZmFjZS1pbmhlcml0cy53aWRscHJvY3htbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90
ZXN0L3ZhbGlkL3htbC9pbnRlcmZhY2UtaW5oZXJpdHMud2lkbHByb2N4bWwKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDk0ZjBlMjlkZjA1Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvaW50ZXJmYWNlLWluaGVyaXRzLndpZGxwcm9jeG1s
CisrKyAvZGV2L251bGwKQEAgLTEsNDggKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNv
ZGluZz0iVVRGLTgiPz4KLTwhRE9DVFlQRSBEZWZpbml0aW9ucyBTWVNURU0gIndpZGxwcm9jeG1s
LmR0ZCI+Ci08RGVmaW5pdGlvbnM+Ci0gIDx3ZWJpZGw+aW50ZXJmYWNlIEFuaW1hbCB7Ci0gIGF0
dHJpYnV0ZSBET01TdHJpbmcgbmFtZTsKLX07Ci0KLWludGVyZmFjZSBIdW1hbiA6IDxyZWY+QW5p
bWFsPC9yZWY+IHsKLSAgYXR0cmlidXRlIDxyZWY+RG9nPC9yZWY+IHBldDsKLX07Ci0KLWludGVy
ZmFjZSBEb2cgOiA8cmVmPkFuaW1hbDwvcmVmPiB7Ci0gIGF0dHJpYnV0ZSA8cmVmPkh1bWFuPC9y
ZWY+IG93bmVyOwotfTs8L3dlYmlkbD4KLSAgPEludGVyZmFjZSBuYW1lPSJBbmltYWwiIGlkPSI6
OkFuaW1hbCI+Ci0gICAgPHdlYmlkbD5pbnRlcmZhY2UgQW5pbWFsIHsKLSAgYXR0cmlidXRlIERP
TVN0cmluZyBuYW1lOwotfTs8L3dlYmlkbD4KLSAgICA8QXR0cmlidXRlIG5hbWU9Im5hbWUiIGlk
PSI6OkFuaW1hbDo6bmFtZSI+Ci0gICAgICA8d2ViaWRsPiAgYXR0cmlidXRlIERPTVN0cmluZyBu
YW1lOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0iRE9NU3RyaW5nIi8+Ci0gICAgPC9BdHRy
aWJ1dGU+Ci0gIDwvSW50ZXJmYWNlPgotICA8SW50ZXJmYWNlIG5hbWU9Ikh1bWFuIiBpZD0iOjpI
dW1hbiI+Ci0gICAgPHdlYmlkbD5pbnRlcmZhY2UgSHVtYW4gOiA8cmVmPkFuaW1hbDwvcmVmPiB7
Ci0gIGF0dHJpYnV0ZSA8cmVmPkRvZzwvcmVmPiBwZXQ7Ci19Ozwvd2ViaWRsPgotICAgIDxJbnRl
cmZhY2VJbmhlcml0YW5jZT4KLSAgICAgIDxOYW1lIG5hbWU9IkFuaW1hbCIvPgotICAgIDwvSW50
ZXJmYWNlSW5oZXJpdGFuY2U+Ci0gICAgPEF0dHJpYnV0ZSBuYW1lPSJwZXQiIGlkPSI6Okh1bWFu
OjpwZXQiPgotICAgICAgPHdlYmlkbD4gIGF0dHJpYnV0ZSA8cmVmPkRvZzwvcmVmPiBwZXQ7PC93
ZWJpZGw+Ci0gICAgICA8VHlwZSBuYW1lPSJEb2ciLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAgPC9J
bnRlcmZhY2U+Ci0gIDxJbnRlcmZhY2UgbmFtZT0iRG9nIiBpZD0iOjpEb2ciPgotICAgIDx3ZWJp
ZGw+aW50ZXJmYWNlIERvZyA6IDxyZWY+QW5pbWFsPC9yZWY+IHsKLSAgYXR0cmlidXRlIDxyZWY+
SHVtYW48L3JlZj4gb3duZXI7Ci19Ozwvd2ViaWRsPgotICAgIDxJbnRlcmZhY2VJbmhlcml0YW5j
ZT4KLSAgICAgIDxOYW1lIG5hbWU9IkFuaW1hbCIvPgotICAgIDwvSW50ZXJmYWNlSW5oZXJpdGFu
Y2U+Ci0gICAgPEF0dHJpYnV0ZSBuYW1lPSJvd25lciIgaWQ9Ijo6RG9nOjpvd25lciI+Ci0gICAg
ICA8d2ViaWRsPiAgYXR0cmlidXRlIDxyZWY+SHVtYW48L3JlZj4gb3duZXI7PC93ZWJpZGw+Ci0g
ICAgICA8VHlwZSBuYW1lPSJIdW1hbiIvPgotICAgIDwvQXR0cmlidXRlPgotICA8L0ludGVyZmFj
ZT4KLTwvRGVmaW5pdGlvbnM+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92
YWxpZC94bWwvaXRlcmF0b3Iud2lkbHByb2N4bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92
YWxpZC94bWwvaXRlcmF0b3Iud2lkbHByb2N4bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDhjYTk1ZmJiZDE3Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVz
dC92YWxpZC94bWwvaXRlcmF0b3Iud2lkbHByb2N4bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxMzIg
KzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KLTwhRE9DVFlQ
RSBEZWZpbml0aW9ucyBTWVNURU0gIndpZGxwcm9jeG1sLmR0ZCI+Ci08RGVmaW5pdGlvbnM+Ci0g
IDx3ZWJpZGw+aW50ZXJmYWNlIFNlc3Npb25NYW5hZ2VyIHsKLSAgPHJlZj5TZXNzaW9uPC9yZWY+
IGdldFNlc3Npb25Gb3JVc2VyKERPTVN0cmluZyB1c2VybmFtZSk7Ci0gIHJlYWRvbmx5IGF0dHJp
YnV0ZSB1bnNpZ25lZCBsb25nIHNlc3Npb25Db3VudDsKLQotICA8cmVmPlNlc3Npb248L3JlZj4g
aXRlcmF0b3I7Ci19OwotCi1pbnRlcmZhY2UgU2Vzc2lvbiB7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0
ZSBET01TdHJpbmcgdXNlcm5hbWU7Ci19OwotCi1pbnRlcmZhY2UgU2Vzc2lvbk1hbmFnZXIyIHsK
LSAgPHJlZj5TZXNzaW9uMjwvcmVmPiBnZXRTZXNzaW9uRm9yVXNlcihET01TdHJpbmcgdXNlcm5h
bWUpOwotICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBzZXNzaW9uQ291bnQ7Ci0K
LSAgPHJlZj5TZXNzaW9uMjwvcmVmPiBpdGVyYXRvciA9IFNlc3Npb25JdGVyYXRvcjsKLX07Ci0K
LWludGVyZmFjZSBTZXNzaW9uMiB7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgdXNl
cm5hbWU7Ci19OwotCi1pbnRlcmZhY2UgU2Vzc2lvbkl0ZXJhdG9yIHsKLSAgcmVhZG9ubHkgYXR0
cmlidXRlIHVuc2lnbmVkIGxvbmcgcmVtYWluaW5nU2Vzc2lvbnM7Ci19OwotCi0gICAgIGludGVy
ZmFjZSBOb2RlTGlzdCB7Ci0gICAgICAgPHJlZj5Ob2RlPC9yZWY+IGl0ZXJhdG9yID0gTm9kZUl0
ZXJhdG9yOwotICAgICB9OwotCi0gICAgIGludGVyZmFjZSBOb2RlSXRlcmF0b3IgewotICAgICAg
IDxyZWY+Tm9kZTwvcmVmPiBpdGVyYXRvciBvYmplY3Q7Ci0gICAgIH07PC93ZWJpZGw+Ci0gIDxJ
bnRlcmZhY2UgbmFtZT0iU2Vzc2lvbk1hbmFnZXIiIGlkPSI6OlNlc3Npb25NYW5hZ2VyIj4KLSAg
ICA8d2ViaWRsPmludGVyZmFjZSBTZXNzaW9uTWFuYWdlciB7Ci0gIDxyZWY+U2Vzc2lvbjwvcmVm
PiBnZXRTZXNzaW9uRm9yVXNlcihET01TdHJpbmcgdXNlcm5hbWUpOwotICByZWFkb25seSBhdHRy
aWJ1dGUgdW5zaWduZWQgbG9uZyBzZXNzaW9uQ291bnQ7Ci0KLSAgPHJlZj5TZXNzaW9uPC9yZWY+
IGl0ZXJhdG9yOwotfTs8L3dlYmlkbD4KLSAgICA8T3BlcmF0aW9uIG5hbWU9ImdldFNlc3Npb25G
b3JVc2VyIiBpZD0iOjpTZXNzaW9uTWFuYWdlcjo6Z2V0U2Vzc2lvbkZvclVzZXIiPgotICAgICAg
PHdlYmlkbD4gIDxyZWY+U2Vzc2lvbjwvcmVmPiBnZXRTZXNzaW9uRm9yVXNlcihET01TdHJpbmcg
dXNlcm5hbWUpOzwvd2ViaWRsPgotICAgICAgPFR5cGUgbmFtZT0iU2Vzc2lvbiIvPgotICAgICAg
PEFyZ3VtZW50TGlzdD4KLSAgICAgICAgPEFyZ3VtZW50IG5hbWU9InVzZXJuYW1lIj4KLSAgICAg
ICAgICA8VHlwZSB0eXBlPSJET01TdHJpbmciLz4KLSAgICAgICAgPC9Bcmd1bWVudD4KLSAgICAg
IDwvQXJndW1lbnRMaXN0PgotICAgIDwvT3BlcmF0aW9uPgotICAgIDxBdHRyaWJ1dGUgcmVhZG9u
bHk9InJlYWRvbmx5IiBuYW1lPSJzZXNzaW9uQ291bnQiIGlkPSI6OlNlc3Npb25NYW5hZ2VyOjpz
ZXNzaW9uQ291bnQiPgotICAgICAgPHdlYmlkbD4gIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25l
ZCBsb25nIHNlc3Npb25Db3VudDs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9InVuc2lnbmVk
IGxvbmciLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAgICA8SXRlcmF0b3I+Ci0gICAgICA8d2ViaWRs
PiAgPHJlZj5TZXNzaW9uPC9yZWY+IGl0ZXJhdG9yOzwvd2ViaWRsPgotICAgICAgPFR5cGUgbmFt
ZT0iU2Vzc2lvbiIvPgotICAgIDwvSXRlcmF0b3I+Ci0gIDwvSW50ZXJmYWNlPgotICA8SW50ZXJm
YWNlIG5hbWU9IlNlc3Npb24iIGlkPSI6OlNlc3Npb24iPgotICAgIDx3ZWJpZGw+aW50ZXJmYWNl
IFNlc3Npb24gewotICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHVzZXJuYW1lOwotfTs8
L3dlYmlkbD4KLSAgICA8QXR0cmlidXRlIHJlYWRvbmx5PSJyZWFkb25seSIgbmFtZT0idXNlcm5h
bWUiIGlkPSI6OlNlc3Npb246OnVzZXJuYW1lIj4KLSAgICAgIDx3ZWJpZGw+ICByZWFkb25seSBh
dHRyaWJ1dGUgRE9NU3RyaW5nIHVzZXJuYW1lOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0i
RE9NU3RyaW5nIi8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gIDwvSW50ZXJmYWNlPgotICA8SW50ZXJm
YWNlIG5hbWU9IlNlc3Npb25NYW5hZ2VyMiIgaWQ9Ijo6U2Vzc2lvbk1hbmFnZXIyIj4KLSAgICA8
d2ViaWRsPmludGVyZmFjZSBTZXNzaW9uTWFuYWdlcjIgewotICA8cmVmPlNlc3Npb24yPC9yZWY+
IGdldFNlc3Npb25Gb3JVc2VyKERPTVN0cmluZyB1c2VybmFtZSk7Ci0gIHJlYWRvbmx5IGF0dHJp
YnV0ZSB1bnNpZ25lZCBsb25nIHNlc3Npb25Db3VudDsKLQotICA8cmVmPlNlc3Npb24yPC9yZWY+
IGl0ZXJhdG9yID0gU2Vzc2lvbkl0ZXJhdG9yOwotfTs8L3dlYmlkbD4KLSAgICA8T3BlcmF0aW9u
IG5hbWU9ImdldFNlc3Npb25Gb3JVc2VyIiBpZD0iOjpTZXNzaW9uTWFuYWdlcjI6OmdldFNlc3Np
b25Gb3JVc2VyIj4KLSAgICAgIDx3ZWJpZGw+ICA8cmVmPlNlc3Npb24yPC9yZWY+IGdldFNlc3Np
b25Gb3JVc2VyKERPTVN0cmluZyB1c2VybmFtZSk7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSBuYW1l
PSJTZXNzaW9uMiIvPgotICAgICAgPEFyZ3VtZW50TGlzdD4KLSAgICAgICAgPEFyZ3VtZW50IG5h
bWU9InVzZXJuYW1lIj4KLSAgICAgICAgICA8VHlwZSB0eXBlPSJET01TdHJpbmciLz4KLSAgICAg
ICAgPC9Bcmd1bWVudD4KLSAgICAgIDwvQXJndW1lbnRMaXN0PgotICAgIDwvT3BlcmF0aW9uPgot
ICAgIDxBdHRyaWJ1dGUgcmVhZG9ubHk9InJlYWRvbmx5IiBuYW1lPSJzZXNzaW9uQ291bnQiIGlk
PSI6OlNlc3Npb25NYW5hZ2VyMjo6c2Vzc2lvbkNvdW50Ij4KLSAgICAgIDx3ZWJpZGw+ICByZWFk
b25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBzZXNzaW9uQ291bnQ7PC93ZWJpZGw+Ci0gICAg
ICA8VHlwZSB0eXBlPSJ1bnNpZ25lZCBsb25nIi8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gICAgPEl0
ZXJhdG9yIGludGVyZmFjZT0iU2Vzc2lvbkl0ZXJhdG9yIj4KLSAgICAgIDx3ZWJpZGw+ICA8cmVm
PlNlc3Npb24yPC9yZWY+IGl0ZXJhdG9yID0gU2Vzc2lvbkl0ZXJhdG9yOzwvd2ViaWRsPgotICAg
ICAgPFR5cGUgbmFtZT0iU2Vzc2lvbjIiLz4KLSAgICA8L0l0ZXJhdG9yPgotICA8L0ludGVyZmFj
ZT4KLSAgPEludGVyZmFjZSBuYW1lPSJTZXNzaW9uMiIgaWQ9Ijo6U2Vzc2lvbjIiPgotICAgIDx3
ZWJpZGw+aW50ZXJmYWNlIFNlc3Npb24yIHsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmlu
ZyB1c2VybmFtZTsKLX07PC93ZWJpZGw+Ci0gICAgPEF0dHJpYnV0ZSByZWFkb25seT0icmVhZG9u
bHkiIG5hbWU9InVzZXJuYW1lIiBpZD0iOjpTZXNzaW9uMjo6dXNlcm5hbWUiPgotICAgICAgPHdl
YmlkbD4gIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgdXNlcm5hbWU7PC93ZWJpZGw+Ci0g
ICAgICA8VHlwZSB0eXBlPSJET01TdHJpbmciLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAgPC9JbnRl
cmZhY2U+Ci0gIDxJbnRlcmZhY2UgbmFtZT0iU2Vzc2lvbkl0ZXJhdG9yIiBpZD0iOjpTZXNzaW9u
SXRlcmF0b3IiPgotICAgIDx3ZWJpZGw+aW50ZXJmYWNlIFNlc3Npb25JdGVyYXRvciB7Ci0gIHJl
YWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIHJlbWFpbmluZ1Nlc3Npb25zOwotfTs8L3dl
YmlkbD4KLSAgICA8QXR0cmlidXRlIHJlYWRvbmx5PSJyZWFkb25seSIgbmFtZT0icmVtYWluaW5n
U2Vzc2lvbnMiIGlkPSI6OlNlc3Npb25JdGVyYXRvcjo6cmVtYWluaW5nU2Vzc2lvbnMiPgotICAg
ICAgPHdlYmlkbD4gIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIHJlbWFpbmluZ1Nl
c3Npb25zOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0idW5zaWduZWQgbG9uZyIvPgotICAg
IDwvQXR0cmlidXRlPgotICA8L0ludGVyZmFjZT4KLSAgPEludGVyZmFjZSBuYW1lPSJOb2RlTGlz
dCIgaWQ9Ijo6Tm9kZUxpc3QiPgotICAgIDx3ZWJpZGw+ICAgICBpbnRlcmZhY2UgTm9kZUxpc3Qg
ewotICAgICAgIDxyZWY+Tm9kZTwvcmVmPiBpdGVyYXRvciA9IE5vZGVJdGVyYXRvcjsKLSAgICAg
fTs8L3dlYmlkbD4KLSAgICA8SXRlcmF0b3IgaW50ZXJmYWNlPSJOb2RlSXRlcmF0b3IiPgotICAg
ICAgPHdlYmlkbD4gICAgICAgPHJlZj5Ob2RlPC9yZWY+IGl0ZXJhdG9yID0gTm9kZUl0ZXJhdG9y
Ozwvd2ViaWRsPgotICAgICAgPFR5cGUgbmFtZT0iTm9kZSIvPgotICAgIDwvSXRlcmF0b3I+Ci0g
IDwvSW50ZXJmYWNlPgotICA8SW50ZXJmYWNlIG5hbWU9Ik5vZGVJdGVyYXRvciIgaWQ9Ijo6Tm9k
ZUl0ZXJhdG9yIj4KLSAgICA8d2ViaWRsPiAgICAgaW50ZXJmYWNlIE5vZGVJdGVyYXRvciB7Ci0g
ICAgICAgPHJlZj5Ob2RlPC9yZWY+IGl0ZXJhdG9yIG9iamVjdDsKLSAgICAgfTs8L3dlYmlkbD4K
LSAgICA8SXRlcmF0b3JPYmplY3Q+Ci0gICAgICA8d2ViaWRsPiAgICAgICA8cmVmPk5vZGU8L3Jl
Zj4gaXRlcmF0b3Igb2JqZWN0Ozwvd2ViaWRsPgotICAgICAgPFR5cGUgbmFtZT0iTm9kZSIvPgot
ICAgIDwvSXRlcmF0b3JPYmplY3Q+Ci0gIDwvSW50ZXJmYWNlPgotPC9EZWZpbml0aW9ucz4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9tb2R1bGUud2lkbHBy
b2N4bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvbW9kdWxlLndpZGxwcm9j
eG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiNTc1Yjg3MDVhZi4uMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL21vZHVsZS53aWRscHJv
Y3htbAorKysgL2Rldi9udWxsCkBAIC0xLDk5ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIg
ZW5jb2Rpbmc9IlVURi04Ij8+Ci08IURPQ1RZUEUgRGVmaW5pdGlvbnMgU1lTVEVNICJ3aWRscHJv
Y3htbC5kdGQiPgotPERlZmluaXRpb25zPgotICA8TW9kdWxlIG5hbWU9ImdmeCIgaWQ9Ijo6Z2Z4
Ij4KLSAgICA8d2ViaWRsPm1vZHVsZSBnZnggewotCi0gIG1vZHVsZSBnZW9tIHsKLSAgICBpbnRl
cmZhY2UgU2hhcGUgeyAgfTsKLSAgICBpbnRlcmZhY2UgUmVjdGFuZ2xlIDogPHJlZj5TaGFwZTwv
cmVmPiB7ICB9OwotICAgIGludGVyZmFjZSBQYXRoIDogPHJlZj5TaGFwZTwvcmVmPiB7ICB9Owot
ICB9OwotCi0gIGludGVyZmFjZSBHcmFwaGljc0NvbnRleHQgewotICAgIHZvaWQgZmlsbFNoYXBl
KDxyZWY+Z2VvbTo6U2hhcGU8L3JlZj4gcyk7Ci0gICAgdm9pZCBzdHJva2VTaGFwZSg8cmVmPmdl
b206OlNoYXBlPC9yZWY+IHMpOwotICB9OwotfTs8L3dlYmlkbD4KLSAgICA8TW9kdWxlIG5hbWU9
Imdlb20iIGlkPSI6OmdmeDo6Z2VvbSI+Ci0gICAgICA8d2ViaWRsPiAgbW9kdWxlIGdlb20gewot
ICAgIGludGVyZmFjZSBTaGFwZSB7ICB9OwotICAgIGludGVyZmFjZSBSZWN0YW5nbGUgOiA8cmVm
PlNoYXBlPC9yZWY+IHsgIH07Ci0gICAgaW50ZXJmYWNlIFBhdGggOiA8cmVmPlNoYXBlPC9yZWY+
IHsgIH07Ci0gIH07PC93ZWJpZGw+Ci0gICAgICA8SW50ZXJmYWNlIG5hbWU9IlNoYXBlIiBpZD0i
OjpnZng6Omdlb206OlNoYXBlIj4KLSAgICAgICAgPHdlYmlkbD4gICAgaW50ZXJmYWNlIFNoYXBl
IHsgIH07PC93ZWJpZGw+Ci0gICAgICA8L0ludGVyZmFjZT4KLSAgICAgIDxJbnRlcmZhY2UgbmFt
ZT0iUmVjdGFuZ2xlIiBpZD0iOjpnZng6Omdlb206OlJlY3RhbmdsZSI+Ci0gICAgICAgIDx3ZWJp
ZGw+ICAgIGludGVyZmFjZSBSZWN0YW5nbGUgOiA8cmVmPlNoYXBlPC9yZWY+IHsgIH07PC93ZWJp
ZGw+Ci0gICAgICAgIDxJbnRlcmZhY2VJbmhlcml0YW5jZT4KLSAgICAgICAgICA8TmFtZSBuYW1l
PSJTaGFwZSIvPgotICAgICAgICA8L0ludGVyZmFjZUluaGVyaXRhbmNlPgotICAgICAgPC9JbnRl
cmZhY2U+Ci0gICAgICA8SW50ZXJmYWNlIG5hbWU9IlBhdGgiIGlkPSI6OmdmeDo6Z2VvbTo6UGF0
aCI+Ci0gICAgICAgIDx3ZWJpZGw+ICAgIGludGVyZmFjZSBQYXRoIDogPHJlZj5TaGFwZTwvcmVm
PiB7ICB9Ozwvd2ViaWRsPgotICAgICAgICA8SW50ZXJmYWNlSW5oZXJpdGFuY2U+Ci0gICAgICAg
ICAgPE5hbWUgbmFtZT0iU2hhcGUiLz4KLSAgICAgICAgPC9JbnRlcmZhY2VJbmhlcml0YW5jZT4K
LSAgICAgIDwvSW50ZXJmYWNlPgotICAgIDwvTW9kdWxlPgotICAgIDxJbnRlcmZhY2UgbmFtZT0i
R3JhcGhpY3NDb250ZXh0IiBpZD0iOjpnZng6OkdyYXBoaWNzQ29udGV4dCI+Ci0gICAgICA8d2Vi
aWRsPiAgaW50ZXJmYWNlIEdyYXBoaWNzQ29udGV4dCB7Ci0gICAgdm9pZCBmaWxsU2hhcGUoPHJl
Zj5nZW9tOjpTaGFwZTwvcmVmPiBzKTsKLSAgICB2b2lkIHN0cm9rZVNoYXBlKDxyZWY+Z2VvbTo6
U2hhcGU8L3JlZj4gcyk7Ci0gIH07PC93ZWJpZGw+Ci0gICAgICA8T3BlcmF0aW9uIG5hbWU9ImZp
bGxTaGFwZSIgaWQ9Ijo6Z2Z4OjpHcmFwaGljc0NvbnRleHQ6OmZpbGxTaGFwZSI+Ci0gICAgICAg
IDx3ZWJpZGw+ICAgIHZvaWQgZmlsbFNoYXBlKDxyZWY+Z2VvbTo6U2hhcGU8L3JlZj4gcyk7PC93
ZWJpZGw+Ci0gICAgICAgIDxUeXBlIHR5cGU9InZvaWQiLz4KLSAgICAgICAgPEFyZ3VtZW50TGlz
dD4KLSAgICAgICAgICA8QXJndW1lbnQgbmFtZT0icyI+Ci0gICAgICAgICAgICA8VHlwZSBuYW1l
PSJnZW9tOjpTaGFwZSIvPgotICAgICAgICAgIDwvQXJndW1lbnQ+Ci0gICAgICAgIDwvQXJndW1l
bnRMaXN0PgotICAgICAgPC9PcGVyYXRpb24+Ci0gICAgICA8T3BlcmF0aW9uIG5hbWU9InN0cm9r
ZVNoYXBlIiBpZD0iOjpnZng6OkdyYXBoaWNzQ29udGV4dDo6c3Ryb2tlU2hhcGUiPgotICAgICAg
ICA8d2ViaWRsPiAgICB2b2lkIHN0cm9rZVNoYXBlKDxyZWY+Z2VvbTo6U2hhcGU8L3JlZj4gcyk7
PC93ZWJpZGw+Ci0gICAgICAgIDxUeXBlIHR5cGU9InZvaWQiLz4KLSAgICAgICAgPEFyZ3VtZW50
TGlzdD4KLSAgICAgICAgICA8QXJndW1lbnQgbmFtZT0icyI+Ci0gICAgICAgICAgICA8VHlwZSBu
YW1lPSJnZW9tOjpTaGFwZSIvPgotICAgICAgICAgIDwvQXJndW1lbnQ+Ci0gICAgICAgIDwvQXJn
dW1lbnRMaXN0PgotICAgICAgPC9PcGVyYXRpb24+Ci0gICAgPC9JbnRlcmZhY2U+Ci0gIDwvTW9k
dWxlPgotICA8TW9kdWxlIG5hbWU9Imd1aSIgaWQ9Ijo6Z3VpIj4KLSAgICA8d2ViaWRsPm1vZHVs
ZSBndWkgewotCi0gIGludGVyZmFjZSBXaWRnZXQgeyAgIH07Ci0KLSAgaW50ZXJmYWNlIFdpbmRv
dyA6IDxyZWY+V2lkZ2V0PC9yZWY+IHsKLSAgICA8cmVmPmdmeDo6R3JhcGhpY3NDb250ZXh0PC9y
ZWY+IGdldEdyYXBoaWNzQ29udGV4dCgpOwotICB9OwotCi0gIGludGVyZmFjZSBCdXR0b24gOiA8
cmVmPldpZGdldDwvcmVmPiB7ICAgfTsKLX07PC93ZWJpZGw+Ci0gICAgPEludGVyZmFjZSBuYW1l
PSJXaWRnZXQiIGlkPSI6Omd1aTo6V2lkZ2V0Ij4KLSAgICAgIDx3ZWJpZGw+ICBpbnRlcmZhY2Ug
V2lkZ2V0IHsgICB9Ozwvd2ViaWRsPgotICAgIDwvSW50ZXJmYWNlPgotICAgIDxJbnRlcmZhY2Ug
bmFtZT0iV2luZG93IiBpZD0iOjpndWk6OldpbmRvdyI+Ci0gICAgICA8d2ViaWRsPiAgaW50ZXJm
YWNlIFdpbmRvdyA6IDxyZWY+V2lkZ2V0PC9yZWY+IHsKLSAgICA8cmVmPmdmeDo6R3JhcGhpY3ND
b250ZXh0PC9yZWY+IGdldEdyYXBoaWNzQ29udGV4dCgpOwotICB9Ozwvd2ViaWRsPgotICAgICAg
PEludGVyZmFjZUluaGVyaXRhbmNlPgotICAgICAgICA8TmFtZSBuYW1lPSJXaWRnZXQiLz4KLSAg
ICAgIDwvSW50ZXJmYWNlSW5oZXJpdGFuY2U+Ci0gICAgICA8T3BlcmF0aW9uIG5hbWU9ImdldEdy
YXBoaWNzQ29udGV4dCIgaWQ9Ijo6Z3VpOjpXaW5kb3c6OmdldEdyYXBoaWNzQ29udGV4dCI+Ci0g
ICAgICAgIDx3ZWJpZGw+ICAgIDxyZWY+Z2Z4OjpHcmFwaGljc0NvbnRleHQ8L3JlZj4gZ2V0R3Jh
cGhpY3NDb250ZXh0KCk7PC93ZWJpZGw+Ci0gICAgICAgIDxUeXBlIG5hbWU9ImdmeDo6R3JhcGhp
Y3NDb250ZXh0Ii8+Ci0gICAgICAgIDxBcmd1bWVudExpc3QvPgotICAgICAgPC9PcGVyYXRpb24+
Ci0gICAgPC9JbnRlcmZhY2U+Ci0gICAgPEludGVyZmFjZSBuYW1lPSJCdXR0b24iIGlkPSI6Omd1
aTo6QnV0dG9uIj4KLSAgICAgIDx3ZWJpZGw+ICBpbnRlcmZhY2UgQnV0dG9uIDogPHJlZj5XaWRn
ZXQ8L3JlZj4geyAgIH07PC93ZWJpZGw+Ci0gICAgICA8SW50ZXJmYWNlSW5oZXJpdGFuY2U+Ci0g
ICAgICAgIDxOYW1lIG5hbWU9IldpZGdldCIvPgotICAgICAgPC9JbnRlcmZhY2VJbmhlcml0YW5j
ZT4KLSAgICA8L0ludGVyZmFjZT4KLSAgPC9Nb2R1bGU+Ci08L0RlZmluaXRpb25zPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL25hbWVkY29uc3RydWN0b3Iu
d2lkbHByb2N4bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvbmFtZWRjb25z
dHJ1Y3Rvci53aWRscHJvY3htbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWY2NjE2
MTI4NzkuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3ht
bC9uYW1lZGNvbnN0cnVjdG9yLndpZGxwcm9jeG1sCisrKyAvZGV2L251bGwKQEAgLTEsMzAgKzAs
MCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KLTwhRE9DVFlQRSBE
ZWZpbml0aW9ucyBTWVNURU0gIndpZGxwcm9jeG1sLmR0ZCI+Ci08RGVmaW5pdGlvbnM+Ci0gIDx3
ZWJpZGw+W05hbWVkQ29uc3RydWN0b3I9QXVkaW8sCi0gTmFtZWRDb25zdHJ1Y3Rvcj1BdWRpbyhE
T01TdHJpbmcgc3JjKV0KLWludGVyZmFjZSBIVE1MQXVkaW9FbGVtZW50IDogPHJlZj5IVE1MTWVk
aWFFbGVtZW50PC9yZWY+IHsKLX07PC93ZWJpZGw+Ci0gIDxJbnRlcmZhY2UgbmFtZT0iSFRNTEF1
ZGlvRWxlbWVudCIgaWQ9Ijo6SFRNTEF1ZGlvRWxlbWVudCI+Ci0gICAgPHdlYmlkbD5bTmFtZWRD
b25zdHJ1Y3Rvcj1BdWRpbywKLSBOYW1lZENvbnN0cnVjdG9yPUF1ZGlvKERPTVN0cmluZyBzcmMp
XQotaW50ZXJmYWNlIEhUTUxBdWRpb0VsZW1lbnQgOiA8cmVmPkhUTUxNZWRpYUVsZW1lbnQ8L3Jl
Zj4gewotfTs8L3dlYmlkbD4KLSAgICA8RXh0ZW5kZWRBdHRyaWJ1dGVMaXN0PgotICAgICAgPEV4
dGVuZGVkQXR0cmlidXRlIG5hbWU9Ik5hbWVkQ29uc3RydWN0b3IiIHZhbHVlPSJBdWRpbyI+Ci0g
ICAgICAgIDx3ZWJpZGw+TmFtZWRDb25zdHJ1Y3Rvcjwvd2ViaWRsPgotICAgICAgPC9FeHRlbmRl
ZEF0dHJpYnV0ZT4KLSAgICAgIDxFeHRlbmRlZEF0dHJpYnV0ZSBuYW1lPSJOYW1lZENvbnN0cnVj
dG9yIiB2YWx1ZT0iQXVkaW8iPgotICAgICAgICA8d2ViaWRsPiBOYW1lZENvbnN0cnVjdG9yPUF1
ZGlvKERPTVN0cmluZyBzcmMpPC93ZWJpZGw+Ci0gICAgICAgIDxBcmd1bWVudExpc3Q+Ci0gICAg
ICAgICAgPEFyZ3VtZW50IG5hbWU9InNyYyI+Ci0gICAgICAgICAgICA8VHlwZSB0eXBlPSJET01T
dHJpbmciLz4KLSAgICAgICAgICA8L0FyZ3VtZW50PgotICAgICAgICA8L0FyZ3VtZW50TGlzdD4K
LSAgICAgIDwvRXh0ZW5kZWRBdHRyaWJ1dGU+Ci0gICAgPC9FeHRlbmRlZEF0dHJpYnV0ZUxpc3Q+
Ci0gICAgPEludGVyZmFjZUluaGVyaXRhbmNlPgotICAgICAgPE5hbWUgbmFtZT0iSFRNTE1lZGlh
RWxlbWVudCIvPgotICAgIDwvSW50ZXJmYWNlSW5oZXJpdGFuY2U+Ci0gIDwvSW50ZXJmYWNlPgot
PC9EZWZpbml0aW9ucz4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlk
L3htbC9uYW1lc3BhY2VvYmplY3Qud2lkbHByb2N4bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVz
dC92YWxpZC94bWwvbmFtZXNwYWNlb2JqZWN0LndpZGxwcm9jeG1sCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCBhZjBjZGU5MzcxOS4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dp
ZGxwcm9jL3Rlc3QvdmFsaWQveG1sL25hbWVzcGFjZW9iamVjdC53aWRscHJvY3htbAorKysgL2Rl
di9udWxsCkBAIC0xLDYwICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVU
Ri04Ij8+Ci08IURPQ1RZUEUgRGVmaW5pdGlvbnMgU1lTVEVNICJ3aWRscHJvY3htbC5kdGQiPgot
PERlZmluaXRpb25zPgotICA8TW9kdWxlIG5hbWU9ImFjbWUiIGlkPSI6OmFjbWUiPgotICAgIDx3
ZWJpZGw+W05hbWVzcGFjZU9iamVjdF0KLW1vZHVsZSBhY21lIHsKLSAgCi0gIGV4Y2VwdGlvbiBE
ZXZpY2VFeGNlcHRpb24geyB9OwotCi0gIG1vZHVsZSBwaW0gewotCi0gICAgW0NvbnN0cnVjdG9y
XQotICAgIGludGVyZmFjZSBDb250YWN0IHsgfTsKLQotICAgIFtDb25zdHJ1Y3RvciwKLSAgICAg
TmFtZWRDb25zdHJ1Y3Rvcj1SZWN1cnJpbmdFdmVudChsb25nIGZyZXEpXQotICAgIGludGVyZmFj
ZSBDYWxlbmRhckV2ZW50IHsgfTsKLSAgfTsKLX07PC93ZWJpZGw+Ci0gICAgPEV4dGVuZGVkQXR0
cmlidXRlTGlzdD4KLSAgICAgIDxFeHRlbmRlZEF0dHJpYnV0ZSBuYW1lPSJOYW1lc3BhY2VPYmpl
Y3QiLz4KLSAgICA8L0V4dGVuZGVkQXR0cmlidXRlTGlzdD4KLSAgICA8RXhjZXB0aW9uIG5hbWU9
IkRldmljZUV4Y2VwdGlvbiIgaWQ9Ijo6YWNtZTo6RGV2aWNlRXhjZXB0aW9uIj4KLSAgICAgIDx3
ZWJpZGw+ICBleGNlcHRpb24gRGV2aWNlRXhjZXB0aW9uIHsgfTs8L3dlYmlkbD4KLSAgICA8L0V4
Y2VwdGlvbj4KLSAgICA8TW9kdWxlIG5hbWU9InBpbSIgaWQ9Ijo6YWNtZTo6cGltIj4KLSAgICAg
IDx3ZWJpZGw+ICBtb2R1bGUgcGltIHsKLQotICAgIFtDb25zdHJ1Y3Rvcl0KLSAgICBpbnRlcmZh
Y2UgQ29udGFjdCB7IH07Ci0KLSAgICBbQ29uc3RydWN0b3IsCi0gICAgIE5hbWVkQ29uc3RydWN0
b3I9UmVjdXJyaW5nRXZlbnQobG9uZyBmcmVxKV0KLSAgICBpbnRlcmZhY2UgQ2FsZW5kYXJFdmVu
dCB7IH07Ci0gIH07PC93ZWJpZGw+Ci0gICAgICA8SW50ZXJmYWNlIG5hbWU9IkNvbnRhY3QiIGlk
PSI6OmFjbWU6OnBpbTo6Q29udGFjdCI+Ci0gICAgICAgIDx3ZWJpZGw+ICAgIFtDb25zdHJ1Y3Rv
cl0KLSAgICBpbnRlcmZhY2UgQ29udGFjdCB7IH07PC93ZWJpZGw+Ci0gICAgICAgIDxFeHRlbmRl
ZEF0dHJpYnV0ZUxpc3Q+Ci0gICAgICAgICAgPEV4dGVuZGVkQXR0cmlidXRlIG5hbWU9IkNvbnN0
cnVjdG9yIi8+Ci0gICAgICAgIDwvRXh0ZW5kZWRBdHRyaWJ1dGVMaXN0PgotICAgICAgPC9JbnRl
cmZhY2U+Ci0gICAgICA8SW50ZXJmYWNlIG5hbWU9IkNhbGVuZGFyRXZlbnQiIGlkPSI6OmFjbWU6
OnBpbTo6Q2FsZW5kYXJFdmVudCI+Ci0gICAgICAgIDx3ZWJpZGw+ICAgIFtDb25zdHJ1Y3RvciwK
LSAgICAgTmFtZWRDb25zdHJ1Y3Rvcj1SZWN1cnJpbmdFdmVudChsb25nIGZyZXEpXQotICAgIGlu
dGVyZmFjZSBDYWxlbmRhckV2ZW50IHsgfTs8L3dlYmlkbD4KLSAgICAgICAgPEV4dGVuZGVkQXR0
cmlidXRlTGlzdD4KLSAgICAgICAgICA8RXh0ZW5kZWRBdHRyaWJ1dGUgbmFtZT0iQ29uc3RydWN0
b3IiLz4KLSAgICAgICAgICA8RXh0ZW5kZWRBdHRyaWJ1dGUgbmFtZT0iTmFtZWRDb25zdHJ1Y3Rv
ciIgdmFsdWU9IlJlY3VycmluZ0V2ZW50Ij4KLSAgICAgICAgICAgIDxBcmd1bWVudExpc3Q+Ci0g
ICAgICAgICAgICAgIDxBcmd1bWVudCBuYW1lPSJmcmVxIj4KLSAgICAgICAgICAgICAgICA8VHlw
ZSB0eXBlPSJsb25nIi8+Ci0gICAgICAgICAgICAgIDwvQXJndW1lbnQ+Ci0gICAgICAgICAgICA8
L0FyZ3VtZW50TGlzdD4KLSAgICAgICAgICA8L0V4dGVuZGVkQXR0cmlidXRlPgotICAgICAgICA8
L0V4dGVuZGVkQXR0cmlidXRlTGlzdD4KLSAgICAgIDwvSW50ZXJmYWNlPgotICAgIDwvTW9kdWxl
PgotICA8L01vZHVsZT4KLTwvRGVmaW5pdGlvbnM+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lk
bHByb2MvdGVzdC92YWxpZC94bWwvbm9pbnRlcmZhY2VvYmplY3Qud2lkbHByb2N4bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvbm9pbnRlcmZhY2VvYmplY3Qud2lkbHByb2N4
bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGY2NGYxMTZiNjBmLi4wMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvbm9pbnRlcmZhY2VvYmpl
Y3Qud2lkbHByb2N4bWwKKysrIC9kZXYvbnVsbApAQCAtMSwyOCArMCwwIEBACi08P3htbCB2ZXJz
aW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgotPCFET0NUWVBFIERlZmluaXRpb25zIFNZU1RF
TSAid2lkbHByb2N4bWwuZHRkIj4KLTxEZWZpbml0aW9ucz4KLSAgPHdlYmlkbD5bTm9JbnRlcmZh
Y2VPYmplY3RdCi1pbnRlcmZhY2UgUXVlcnkgewotICBhbnkgbG9va3VwRW50cnkodW5zaWduZWQg
bG9uZyBrZXkpOwotfTs8L3dlYmlkbD4KLSAgPEludGVyZmFjZSBuYW1lPSJRdWVyeSIgaWQ9Ijo6
UXVlcnkiPgotICAgIDx3ZWJpZGw+W05vSW50ZXJmYWNlT2JqZWN0XQotaW50ZXJmYWNlIFF1ZXJ5
IHsKLSAgYW55IGxvb2t1cEVudHJ5KHVuc2lnbmVkIGxvbmcga2V5KTsKLX07PC93ZWJpZGw+Ci0g
ICAgPEV4dGVuZGVkQXR0cmlidXRlTGlzdD4KLSAgICAgIDxFeHRlbmRlZEF0dHJpYnV0ZSBuYW1l
PSJOb0ludGVyZmFjZU9iamVjdCI+Ci0gICAgICAgIDx3ZWJpZGw+Tm9JbnRlcmZhY2VPYmplY3Q8
L3dlYmlkbD4KLSAgICAgIDwvRXh0ZW5kZWRBdHRyaWJ1dGU+Ci0gICAgPC9FeHRlbmRlZEF0dHJp
YnV0ZUxpc3Q+Ci0gICAgPE9wZXJhdGlvbiBuYW1lPSJsb29rdXBFbnRyeSIgaWQ9Ijo6UXVlcnk6
Omxvb2t1cEVudHJ5Ij4KLSAgICAgIDx3ZWJpZGw+ICBhbnkgbG9va3VwRW50cnkodW5zaWduZWQg
bG9uZyBrZXkpOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0iYW55Ii8+Ci0gICAgICA8QXJn
dW1lbnRMaXN0PgotICAgICAgICA8QXJndW1lbnQgbmFtZT0ia2V5Ij4KLSAgICAgICAgICA8VHlw
ZSB0eXBlPSJ1bnNpZ25lZCBsb25nIi8+Ci0gICAgICAgIDwvQXJndW1lbnQ+Ci0gICAgICA8L0Fy
Z3VtZW50TGlzdD4KLSAgICA8L09wZXJhdGlvbj4KLSAgPC9JbnRlcmZhY2U+Ci08L0RlZmluaXRp
b25zPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL251bGxh
YmxlLndpZGxwcm9jeG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL251bGxh
YmxlLndpZGxwcm9jeG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4NzM5ZTQ0MzI2
Mi4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL251
bGxhYmxlLndpZGxwcm9jeG1sCisrKyAvZGV2L251bGwKQEAgLTEsMjkgKzAsMCBAQAotPD94bWwg
dmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KLTwhRE9DVFlQRSBEZWZpbml0aW9ucyBT
WVNURU0gIndpZGxwcm9jeG1sLmR0ZCI+Ci08RGVmaW5pdGlvbnM+Ci0gIDx3ZWJpZGw+aW50ZXJm
YWNlIE15Q29uc3RhbnRzIHsKLSAgY29uc3QgYm9vbGVhbj8gQVJFX1dFX1RIRVJFX1lFVCA9IGZh
bHNlOwotfTsKLQotaW50ZXJmYWNlIE5vZGUgewotICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3Ry
aW5nPyBuYW1lc3BhY2VVUkk7Ci19Ozwvd2ViaWRsPgotICA8SW50ZXJmYWNlIG5hbWU9Ik15Q29u
c3RhbnRzIiBpZD0iOjpNeUNvbnN0YW50cyI+Ci0gICAgPHdlYmlkbD5pbnRlcmZhY2UgTXlDb25z
dGFudHMgewotICBjb25zdCBib29sZWFuPyBBUkVfV0VfVEhFUkVfWUVUID0gZmFsc2U7Ci19Ozwv
d2ViaWRsPgotICAgIDxDb25zdCBuYW1lPSJBUkVfV0VfVEhFUkVfWUVUIiB2YWx1ZT0iZmFsc2Ui
IGlkPSI6Ok15Q29uc3RhbnRzOjpBUkVfV0VfVEhFUkVfWUVUIj4KLSAgICAgIDx3ZWJpZGw+ICBj
b25zdCBib29sZWFuPyBBUkVfV0VfVEhFUkVfWUVUID0gZmFsc2U7PC93ZWJpZGw+Ci0gICAgICA8
VHlwZSB0eXBlPSJib29sZWFuIiBudWxsYWJsZT0ibnVsbGFibGUiLz4KLSAgICA8L0NvbnN0Pgot
ICA8L0ludGVyZmFjZT4KLSAgPEludGVyZmFjZSBuYW1lPSJOb2RlIiBpZD0iOjpOb2RlIj4KLSAg
ICA8d2ViaWRsPmludGVyZmFjZSBOb2RlIHsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmlu
Zz8gbmFtZXNwYWNlVVJJOwotfTs8L3dlYmlkbD4KLSAgICA8QXR0cmlidXRlIHJlYWRvbmx5PSJy
ZWFkb25seSIgbmFtZT0ibmFtZXNwYWNlVVJJIiBpZD0iOjpOb2RlOjpuYW1lc3BhY2VVUkkiPgot
ICAgICAgPHdlYmlkbD4gIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmc/IG5hbWVzcGFjZVVS
STs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9IkRPTVN0cmluZyIgbnVsbGFibGU9Im51bGxh
YmxlIi8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gIDwvSW50ZXJmYWNlPgotPC9EZWZpbml0aW9ucz4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9udWxsYWJsZW9i
amVjdHMud2lkbHByb2N4bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvbnVs
bGFibGVvYmplY3RzLndpZGxwcm9jeG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAy
MmQ5ZmRkMjVkNi4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFs
aWQveG1sL251bGxhYmxlb2JqZWN0cy53aWRscHJvY3htbAorKysgL2Rldi9udWxsCkBAIC0xLDQ2
ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Ci08IURPQ1RZ
UEUgRGVmaW5pdGlvbnMgU1lTVEVNICJ3aWRscHJvY3htbC5kdGQiPgotPERlZmluaXRpb25zPgot
ICA8d2ViaWRsPmludGVyZmFjZSBBIHsKLX07Ci1pbnRlcmZhY2UgQiB7Ci19OwotaW50ZXJmYWNl
IEMgewotICB2b2lkIGYoPHJlZj5BPC9yZWY+PyB4KTsKLSAgdm9pZCBmKDxyZWY+QjwvcmVmPj8g
eCk7Ci0KLX07PC93ZWJpZGw+Ci0gIDxJbnRlcmZhY2UgbmFtZT0iQSIgaWQ9Ijo6QSI+Ci0gICAg
PHdlYmlkbD5pbnRlcmZhY2UgQSB7Ci19Ozwvd2ViaWRsPgotICA8L0ludGVyZmFjZT4KLSAgPElu
dGVyZmFjZSBuYW1lPSJCIiBpZD0iOjpCIj4KLSAgICA8d2ViaWRsPmludGVyZmFjZSBCIHsKLX07
PC93ZWJpZGw+Ci0gIDwvSW50ZXJmYWNlPgotICA8SW50ZXJmYWNlIG5hbWU9IkMiIGlkPSI6OkMi
PgotICAgIDx3ZWJpZGw+aW50ZXJmYWNlIEMgewotICB2b2lkIGYoPHJlZj5BPC9yZWY+PyB4KTsK
LSAgdm9pZCBmKDxyZWY+QjwvcmVmPj8geCk7Ci0KLX07PC93ZWJpZGw+Ci0gICAgPE9wZXJhdGlv
biBuYW1lPSJmIiBpZD0iOjpDOjpmIj4KLSAgICAgIDx3ZWJpZGw+ICB2b2lkIGYoPHJlZj5BPC9y
ZWY+PyB4KTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9InZvaWQiLz4KLSAgICAgIDxBcmd1
bWVudExpc3Q+Ci0gICAgICAgIDxBcmd1bWVudCBuYW1lPSJ4Ij4KLSAgICAgICAgICA8VHlwZSBu
YW1lPSJBIiBudWxsYWJsZT0ibnVsbGFibGUiLz4KLSAgICAgICAgPC9Bcmd1bWVudD4KLSAgICAg
IDwvQXJndW1lbnRMaXN0PgotICAgIDwvT3BlcmF0aW9uPgotICAgIDxPcGVyYXRpb24gbmFtZT0i
ZiIgaWQ9Ijo6Qzo6ZiI+Ci0gICAgICA8d2ViaWRsPiAgdm9pZCBmKDxyZWY+QjwvcmVmPj8geCk7
PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJ2b2lkIi8+Ci0gICAgICA8QXJndW1lbnRMaXN0
PgotICAgICAgICA8QXJndW1lbnQgbmFtZT0ieCI+Ci0gICAgICAgICAgPFR5cGUgbmFtZT0iQiIg
bnVsbGFibGU9Im51bGxhYmxlIi8+Ci0gICAgICAgIDwvQXJndW1lbnQ+Ci0gICAgICA8L0FyZ3Vt
ZW50TGlzdD4KLSAgICA8L09wZXJhdGlvbj4KLSAgPC9JbnRlcmZhY2U+Ci08L0RlZmluaXRpb25z
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL29wZXJhdGlv
bi1vcHRpb25hbC1hcmcud2lkbHByb2N4bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxp
ZC94bWwvb3BlcmF0aW9uLW9wdGlvbmFsLWFyZy53aWRscHJvY3htbApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggNTRhZWYxZjg3ZTMuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93
aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9vcGVyYXRpb24tb3B0aW9uYWwtYXJnLndpZGxwcm9jeG1s
CisrKyAvZGV2L251bGwKQEAgLTEsMzAgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNv
ZGluZz0iVVRGLTgiPz4KLTwhRE9DVFlQRSBEZWZpbml0aW9ucyBTWVNURU0gIndpZGxwcm9jeG1s
LmR0ZCI+Ci08RGVmaW5pdGlvbnM+Ci0gIDx3ZWJpZGw+aW50ZXJmYWNlIENvbG9yQ3JlYXRvciB7
Ci0gIG9iamVjdCBjcmVhdGVDb2xvcihmbG9hdCB2MSwgZmxvYXQgdjIsIGZsb2F0IHYzLCBvcHRp
b25hbCBmbG9hdCBhbHBoYSA9IDMuNSk7Ci19Ozwvd2ViaWRsPgotICA8SW50ZXJmYWNlIG5hbWU9
IkNvbG9yQ3JlYXRvciIgaWQ9Ijo6Q29sb3JDcmVhdG9yIj4KLSAgICA8d2ViaWRsPmludGVyZmFj
ZSBDb2xvckNyZWF0b3IgewotICBvYmplY3QgY3JlYXRlQ29sb3IoZmxvYXQgdjEsIGZsb2F0IHYy
LCBmbG9hdCB2Mywgb3B0aW9uYWwgZmxvYXQgYWxwaGEgPSAzLjUpOwotfTs8L3dlYmlkbD4KLSAg
ICA8T3BlcmF0aW9uIG5hbWU9ImNyZWF0ZUNvbG9yIiBpZD0iOjpDb2xvckNyZWF0b3I6OmNyZWF0
ZUNvbG9yIj4KLSAgICAgIDx3ZWJpZGw+ICBvYmplY3QgY3JlYXRlQ29sb3IoZmxvYXQgdjEsIGZs
b2F0IHYyLCBmbG9hdCB2Mywgb3B0aW9uYWwgZmxvYXQgYWxwaGEgPSAzLjUpOzwvd2ViaWRsPgot
ICAgICAgPFR5cGUgdHlwZT0ib2JqZWN0Ii8+Ci0gICAgICA8QXJndW1lbnRMaXN0PgotICAgICAg
ICA8QXJndW1lbnQgbmFtZT0idjEiPgotICAgICAgICAgIDxUeXBlIHR5cGU9ImZsb2F0Ii8+Ci0g
ICAgICAgIDwvQXJndW1lbnQ+Ci0gICAgICAgIDxBcmd1bWVudCBuYW1lPSJ2MiI+Ci0gICAgICAg
ICAgPFR5cGUgdHlwZT0iZmxvYXQiLz4KLSAgICAgICAgPC9Bcmd1bWVudD4KLSAgICAgICAgPEFy
Z3VtZW50IG5hbWU9InYzIj4KLSAgICAgICAgICA8VHlwZSB0eXBlPSJmbG9hdCIvPgotICAgICAg
ICA8L0FyZ3VtZW50PgotICAgICAgICA8QXJndW1lbnQgb3B0aW9uYWw9Im9wdGlvbmFsIiBuYW1l
PSJhbHBoYSIgdmFsdWU9IjMuNSI+Ci0gICAgICAgICAgPFR5cGUgdHlwZT0iZmxvYXQiLz4KLSAg
ICAgICAgPC9Bcmd1bWVudD4KLSAgICAgIDwvQXJndW1lbnRMaXN0PgotICAgIDwvT3BlcmF0aW9u
PgotICA8L0ludGVyZmFjZT4KLTwvRGVmaW5pdGlvbnM+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
d2lkbHByb2MvdGVzdC92YWxpZC94bWwvb3ZlcmxvYWRpbmcud2lkbHByb2N4bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvb3ZlcmxvYWRpbmcud2lkbHByb2N4bWwKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRiNmRhN2E2OGM3Li4wMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvb3ZlcmxvYWRpbmcud2lkbHByb2N4bWwK
KysrIC9kZXYvbnVsbApAQCAtMSwxMTMgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNv
ZGluZz0iVVRGLTgiPz4KLTwhRE9DVFlQRSBEZWZpbml0aW9ucyBTWVNURU0gIndpZGxwcm9jeG1s
LmR0ZCI+Ci08RGVmaW5pdGlvbnM+Ci0gIDx3ZWJpZGw+aW50ZXJmYWNlIEEgewotfTsKLQotaW50
ZXJmYWNlIEIgewotfTsKLQotaW50ZXJmYWNlIEMgewotICB2b2lkIGYoPHJlZj5BPC9yZWY+IHgp
OwotICB2b2lkIGYoPHJlZj5CPC9yZWY+IHgpOwotfTsKLQotaW50ZXJmYWNlIEEgewotdm9pZCBm
KERPTVN0cmluZyBhKTsKLXZvaWQgZihbQWxsb3dBbnldIERPTVN0cmluZyBhLCBET01TdHJpbmcg
YiwgZmxvYXQuLi4gYyk7Ci12b2lkIGYoKTsKLXZvaWQgZihsb25nIGEsIERPTVN0cmluZyBiLCBv
cHRpb25hbCBET01TdHJpbmcgYywgZmxvYXQuLi4gZCk7Ci19Ozwvd2ViaWRsPgotICA8SW50ZXJm
YWNlIG5hbWU9IkEiIGlkPSI6OkEiPgotICAgIDx3ZWJpZGw+aW50ZXJmYWNlIEEgewotfTs8L3dl
YmlkbD4KLSAgPC9JbnRlcmZhY2U+Ci0gIDxJbnRlcmZhY2UgbmFtZT0iQiIgaWQ9Ijo6QiI+Ci0g
ICAgPHdlYmlkbD5pbnRlcmZhY2UgQiB7Ci19Ozwvd2ViaWRsPgotICA8L0ludGVyZmFjZT4KLSAg
PEludGVyZmFjZSBuYW1lPSJDIiBpZD0iOjpDIj4KLSAgICA8d2ViaWRsPmludGVyZmFjZSBDIHsK
LSAgdm9pZCBmKDxyZWY+QTwvcmVmPiB4KTsKLSAgdm9pZCBmKDxyZWY+QjwvcmVmPiB4KTsKLX07
PC93ZWJpZGw+Ci0gICAgPE9wZXJhdGlvbiBuYW1lPSJmIiBpZD0iOjpDOjpmIj4KLSAgICAgIDx3
ZWJpZGw+ICB2b2lkIGYoPHJlZj5BPC9yZWY+IHgpOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlw
ZT0idm9pZCIvPgotICAgICAgPEFyZ3VtZW50TGlzdD4KLSAgICAgICAgPEFyZ3VtZW50IG5hbWU9
IngiPgotICAgICAgICAgIDxUeXBlIG5hbWU9IkEiLz4KLSAgICAgICAgPC9Bcmd1bWVudD4KLSAg
ICAgIDwvQXJndW1lbnRMaXN0PgotICAgIDwvT3BlcmF0aW9uPgotICAgIDxPcGVyYXRpb24gbmFt
ZT0iZiIgaWQ9Ijo6Qzo6ZiI+Ci0gICAgICA8d2ViaWRsPiAgdm9pZCBmKDxyZWY+QjwvcmVmPiB4
KTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9InZvaWQiLz4KLSAgICAgIDxBcmd1bWVudExp
c3Q+Ci0gICAgICAgIDxBcmd1bWVudCBuYW1lPSJ4Ij4KLSAgICAgICAgICA8VHlwZSBuYW1lPSJC
Ii8+Ci0gICAgICAgIDwvQXJndW1lbnQ+Ci0gICAgICA8L0FyZ3VtZW50TGlzdD4KLSAgICA8L09w
ZXJhdGlvbj4KLSAgPC9JbnRlcmZhY2U+Ci0gIDxJbnRlcmZhY2UgbmFtZT0iQSIgaWQ9Ijo6QSI+
Ci0gICAgPHdlYmlkbD5pbnRlcmZhY2UgQSB7Ci12b2lkIGYoRE9NU3RyaW5nIGEpOwotdm9pZCBm
KFtBbGxvd0FueV0gRE9NU3RyaW5nIGEsIERPTVN0cmluZyBiLCBmbG9hdC4uLiBjKTsKLXZvaWQg
ZigpOwotdm9pZCBmKGxvbmcgYSwgRE9NU3RyaW5nIGIsIG9wdGlvbmFsIERPTVN0cmluZyBjLCBm
bG9hdC4uLiBkKTsKLX07PC93ZWJpZGw+Ci0gICAgPE9wZXJhdGlvbiBuYW1lPSJmIiBpZD0iOjpB
OjpmIj4KLSAgICAgIDx3ZWJpZGw+IHZvaWQgZihET01TdHJpbmcgYSk7PC93ZWJpZGw+Ci0gICAg
ICA8VHlwZSB0eXBlPSJ2b2lkIi8+Ci0gICAgICA8QXJndW1lbnRMaXN0PgotICAgICAgICA8QXJn
dW1lbnQgbmFtZT0iYSI+Ci0gICAgICAgICAgPFR5cGUgdHlwZT0iRE9NU3RyaW5nIi8+Ci0gICAg
ICAgIDwvQXJndW1lbnQ+Ci0gICAgICA8L0FyZ3VtZW50TGlzdD4KLSAgICA8L09wZXJhdGlvbj4K
LSAgICA8T3BlcmF0aW9uIG5hbWU9ImYiIGlkPSI6OkE6OmYiPgotICAgICAgPHdlYmlkbD4gdm9p
ZCBmKFtBbGxvd0FueV0gRE9NU3RyaW5nIGEsIERPTVN0cmluZyBiLCBmbG9hdC4uLiBjKTs8L3dl
YmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9InZvaWQiLz4KLSAgICAgIDxBcmd1bWVudExpc3Q+Ci0g
ICAgICAgIDxBcmd1bWVudCBuYW1lPSJhIj4KLSAgICAgICAgICA8RXh0ZW5kZWRBdHRyaWJ1dGVM
aXN0PgotICAgICAgICAgICAgPEV4dGVuZGVkQXR0cmlidXRlIG5hbWU9IkFsbG93QW55Ij4KLSAg
ICAgICAgICAgICAgPHdlYmlkbD5BbGxvd0FueTwvd2ViaWRsPgotICAgICAgICAgICAgPC9FeHRl
bmRlZEF0dHJpYnV0ZT4KLSAgICAgICAgICA8L0V4dGVuZGVkQXR0cmlidXRlTGlzdD4KLSAgICAg
ICAgICA8VHlwZSB0eXBlPSJET01TdHJpbmciLz4KLSAgICAgICAgPC9Bcmd1bWVudD4KLSAgICAg
ICAgPEFyZ3VtZW50IG5hbWU9ImIiPgotICAgICAgICAgIDxUeXBlIHR5cGU9IkRPTVN0cmluZyIv
PgotICAgICAgICA8L0FyZ3VtZW50PgotICAgICAgICA8QXJndW1lbnQgZWxsaXBzaXM9ImVsbGlw
c2lzIiBuYW1lPSJjIj4KLSAgICAgICAgICA8VHlwZSB0eXBlPSJmbG9hdCIvPgotICAgICAgICA8
L0FyZ3VtZW50PgotICAgICAgPC9Bcmd1bWVudExpc3Q+Ci0gICAgPC9PcGVyYXRpb24+Ci0gICAg
PE9wZXJhdGlvbiBuYW1lPSJmIiBpZD0iOjpBOjpmIj4KLSAgICAgIDx3ZWJpZGw+IHZvaWQgZigp
Ozwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0idm9pZCIvPgotICAgICAgPEFyZ3VtZW50TGlz
dC8+Ci0gICAgPC9PcGVyYXRpb24+Ci0gICAgPE9wZXJhdGlvbiBuYW1lPSJmIiBpZD0iOjpBOjpm
Ij4KLSAgICAgIDx3ZWJpZGw+IHZvaWQgZihsb25nIGEsIERPTVN0cmluZyBiLCBvcHRpb25hbCBE
T01TdHJpbmcgYywgZmxvYXQuLi4gZCk7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJ2b2lk
Ii8+Ci0gICAgICA8QXJndW1lbnRMaXN0PgotICAgICAgICA8QXJndW1lbnQgbmFtZT0iYSI+Ci0g
ICAgICAgICAgPFR5cGUgdHlwZT0ibG9uZyIvPgotICAgICAgICA8L0FyZ3VtZW50PgotICAgICAg
ICA8QXJndW1lbnQgbmFtZT0iYiI+Ci0gICAgICAgICAgPFR5cGUgdHlwZT0iRE9NU3RyaW5nIi8+
Ci0gICAgICAgIDwvQXJndW1lbnQ+Ci0gICAgICAgIDxBcmd1bWVudCBvcHRpb25hbD0ib3B0aW9u
YWwiIG5hbWU9ImMiPgotICAgICAgICAgIDxUeXBlIHR5cGU9IkRPTVN0cmluZyIvPgotICAgICAg
ICA8L0FyZ3VtZW50PgotICAgICAgICA8QXJndW1lbnQgZWxsaXBzaXM9ImVsbGlwc2lzIiBuYW1l
PSJkIj4KLSAgICAgICAgICA8VHlwZSB0eXBlPSJmbG9hdCIvPgotICAgICAgICA8L0FyZ3VtZW50
PgotICAgICAgPC9Bcmd1bWVudExpc3Q+Ci0gICAgPC9PcGVyYXRpb24+Ci0gIDwvSW50ZXJmYWNl
PgotPC9EZWZpbml0aW9ucz4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3Zh
bGlkL3htbC9vdmVycmlkZWJ1aWx0aW5zLndpZGxwcm9jeG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9j
L3Rlc3QvdmFsaWQveG1sL292ZXJyaWRlYnVpbHRpbnMud2lkbHByb2N4bWwKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDU2YzkyNTE3YmViLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvb3ZlcnJpZGVidWlsdGlucy53aWRscHJvY3htbAor
KysgL2Rldi9udWxsCkBAIC0xLDM0ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rp
bmc9IlVURi04Ij8+Ci08IURPQ1RZUEUgRGVmaW5pdGlvbnMgU1lTVEVNICJ3aWRscHJvY3htbC5k
dGQiPgotPERlZmluaXRpb25zPgotICA8d2ViaWRsPltPdmVycmlkZUJ1aWx0aW5zXQotaW50ZXJm
YWNlIFN0cmluZ01hcDIgewotICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBsZW5n
dGg7Ci0gIGdldHRlciBET01TdHJpbmcgbG9va3VwKERPTVN0cmluZyBrZXkpOwotfTs8L3dlYmlk
bD4KLSAgPEludGVyZmFjZSBuYW1lPSJTdHJpbmdNYXAyIiBpZD0iOjpTdHJpbmdNYXAyIj4KLSAg
ICA8d2ViaWRsPltPdmVycmlkZUJ1aWx0aW5zXQotaW50ZXJmYWNlIFN0cmluZ01hcDIgewotICBy
ZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBsZW5ndGg7Ci0gIGdldHRlciBET01TdHJp
bmcgbG9va3VwKERPTVN0cmluZyBrZXkpOwotfTs8L3dlYmlkbD4KLSAgICA8RXh0ZW5kZWRBdHRy
aWJ1dGVMaXN0PgotICAgICAgPEV4dGVuZGVkQXR0cmlidXRlIG5hbWU9Ik92ZXJyaWRlQnVpbHRp
bnMiPgotICAgICAgICA8d2ViaWRsPk92ZXJyaWRlQnVpbHRpbnM8L3dlYmlkbD4KLSAgICAgIDwv
RXh0ZW5kZWRBdHRyaWJ1dGU+Ci0gICAgPC9FeHRlbmRlZEF0dHJpYnV0ZUxpc3Q+Ci0gICAgPEF0
dHJpYnV0ZSByZWFkb25seT0icmVhZG9ubHkiIG5hbWU9Imxlbmd0aCIgaWQ9Ijo6U3RyaW5nTWFw
Mjo6bGVuZ3RoIj4KLSAgICAgIDx3ZWJpZGw+ICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQg
bG9uZyBsZW5ndGg7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJ1bnNpZ25lZCBsb25nIi8+
Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gICAgPE9wZXJhdGlvbiBnZXR0ZXI9ImdldHRlciIgbmFtZT0i
bG9va3VwIiBpZD0iOjpTdHJpbmdNYXAyOjpsb29rdXAiPgotICAgICAgPHdlYmlkbD4gIGdldHRl
ciBET01TdHJpbmcgbG9va3VwKERPTVN0cmluZyBrZXkpOzwvd2ViaWRsPgotICAgICAgPFR5cGUg
dHlwZT0iRE9NU3RyaW5nIi8+Ci0gICAgICA8QXJndW1lbnRMaXN0PgotICAgICAgICA8QXJndW1l
bnQgbmFtZT0ia2V5Ij4KLSAgICAgICAgICA8VHlwZSB0eXBlPSJET01TdHJpbmciLz4KLSAgICAg
ICAgPC9Bcmd1bWVudD4KLSAgICAgIDwvQXJndW1lbnRMaXN0PgotICAgIDwvT3BlcmF0aW9uPgot
ICA8L0ludGVyZmFjZT4KLTwvRGVmaW5pdGlvbnM+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lk
bHByb2MvdGVzdC92YWxpZC94bWwvcGFydGlhbC1pbnRlcmZhY2Uud2lkbHByb2N4bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvcGFydGlhbC1pbnRlcmZhY2Uud2lkbHByb2N4
bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDhkN2RjYjRlNGY3Li4wMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvcGFydGlhbC1pbnRlcmZh
Y2Uud2lkbHByb2N4bWwKKysrIC9kZXYvbnVsbApAQCAtMSwyOSArMCwwIEBACi08P3htbCB2ZXJz
aW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgotPCFET0NUWVBFIERlZmluaXRpb25zIFNZU1RF
TSAid2lkbHByb2N4bWwuZHRkIj4KLTxEZWZpbml0aW9ucz4KLSAgPHdlYmlkbD5pbnRlcmZhY2Ug
Rm9vIHsKLSAgYXR0cmlidXRlIERPTVN0cmluZyBiYXI7Ci19OwotCi1wYXJ0aWFsIGludGVyZmFj
ZSBGb28gewotICBhdHRyaWJ1dGUgRE9NU3RyaW5nIHF1dXg7Ci19Ozwvd2ViaWRsPgotICA8SW50
ZXJmYWNlIG5hbWU9IkZvbyIgaWQ9Ijo6Rm9vIj4KLSAgICA8d2ViaWRsPmludGVyZmFjZSBGb28g
ewotICBhdHRyaWJ1dGUgRE9NU3RyaW5nIGJhcjsKLX07PC93ZWJpZGw+Ci0gICAgPEF0dHJpYnV0
ZSBuYW1lPSJiYXIiIGlkPSI6OkZvbzo6YmFyIj4KLSAgICAgIDx3ZWJpZGw+ICBhdHRyaWJ1dGUg
RE9NU3RyaW5nIGJhcjs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9IkRPTVN0cmluZyIvPgot
ICAgIDwvQXR0cmlidXRlPgotICA8L0ludGVyZmFjZT4KLSAgPEludGVyZmFjZSBuYW1lPSJGb28i
IHBhcnRpYWw9InBhcnRpYWwiIGlkPSI6OkZvbyI+Ci0gICAgPHdlYmlkbD5wYXJ0aWFsIGludGVy
ZmFjZSBGb28gewotICBhdHRyaWJ1dGUgRE9NU3RyaW5nIHF1dXg7Ci19Ozwvd2ViaWRsPgotICAg
IDxBdHRyaWJ1dGUgbmFtZT0icXV1eCIgaWQ9Ijo6Rm9vOjpxdXV4Ij4KLSAgICAgIDx3ZWJpZGw+
ICBhdHRyaWJ1dGUgRE9NU3RyaW5nIHF1dXg7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJE
T01TdHJpbmciLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAgPC9JbnRlcmZhY2U+Ci08L0RlZmluaXRp
b25zPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL3ByaW1p
dGl2ZXMud2lkbHByb2N4bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvcHJp
bWl0aXZlcy53aWRscHJvY3htbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDY5Nzdh
MmQ3NGUuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3ht
bC9wcmltaXRpdmVzLndpZGxwcm9jeG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTEyICswLDAgQEAK
LTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Ci08IURPQ1RZUEUgRGVmaW5p
dGlvbnMgU1lTVEVNICJ3aWRscHJvY3htbC5kdGQiPgotPERlZmluaXRpb25zPgotICA8d2ViaWRs
PmludGVyZmFjZSBQcmltaXRpdmVzIHsKLSAgYXR0cmlidXRlIGJvb2xlYW4gdHJ1dGg7Ci0gIGF0
dHJpYnV0ZSBieXRlIGNoYXJhY3RlcjsKLSAgYXR0cmlidXRlIG9jdGV0IHZhbHVlOwotICBhdHRy
aWJ1dGUgc2hvcnQgbnVtYmVyOwotICBhdHRyaWJ1dGUgdW5zaWduZWQgc2hvcnQgcG9zaXRpdmU7
Ci0gIGF0dHJpYnV0ZSBsb25nIGJpZzsKLSAgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgYmlncG9z
aXRpdmU7Ci0gIGF0dHJpYnV0ZSBsb25nIGxvbmcgYmlnYmlnOwotICBhdHRyaWJ1dGUgIHVuc2ln
bmVkIGxvbmcgbG9uZyBiaWdiaWdwb3NpdGl2ZTsKLSAgYXR0cmlidXRlIGZsb2F0IHJlYWw7Ci0g
IGF0dHJpYnV0ZSBkb3VibGUgYmlncmVhbDsgCi0gIGF0dHJpYnV0ZSB1bnJlc3RyaWN0ZWQgZmxv
YXQgcmVhbHdpdGhpbmZpbml0eTsKLSAgYXR0cmlidXRlIHVucmVzdHJpY3RlZCBkb3VibGUgYmln
cmVhbHdpdGhpbmZpbml0eTsgCi0gIGF0dHJpYnV0ZSBET01TdHJpbmcgc3RyaW5nOyAKLSAgYXR0
cmlidXRlIEJ5dGVTdHJpbmcgYnl0ZXM7IAotICBhdHRyaWJ1dGUgRGF0ZSBkYXRlOwotICBhdHRy
aWJ1dGUgUmVnRXhwIHJlZ2V4cDsKLX07PC93ZWJpZGw+Ci0gIDxJbnRlcmZhY2UgbmFtZT0iUHJp
bWl0aXZlcyIgaWQ9Ijo6UHJpbWl0aXZlcyI+Ci0gICAgPHdlYmlkbD5pbnRlcmZhY2UgUHJpbWl0
aXZlcyB7Ci0gIGF0dHJpYnV0ZSBib29sZWFuIHRydXRoOwotICBhdHRyaWJ1dGUgYnl0ZSBjaGFy
YWN0ZXI7Ci0gIGF0dHJpYnV0ZSBvY3RldCB2YWx1ZTsKLSAgYXR0cmlidXRlIHNob3J0IG51bWJl
cjsKLSAgYXR0cmlidXRlIHVuc2lnbmVkIHNob3J0IHBvc2l0aXZlOwotICBhdHRyaWJ1dGUgbG9u
ZyBiaWc7Ci0gIGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGJpZ3Bvc2l0aXZlOwotICBhdHRyaWJ1
dGUgbG9uZyBsb25nIGJpZ2JpZzsKLSAgYXR0cmlidXRlICB1bnNpZ25lZCBsb25nIGxvbmcgYmln
YmlncG9zaXRpdmU7Ci0gIGF0dHJpYnV0ZSBmbG9hdCByZWFsOwotICBhdHRyaWJ1dGUgZG91Ymxl
IGJpZ3JlYWw7IAotICBhdHRyaWJ1dGUgdW5yZXN0cmljdGVkIGZsb2F0IHJlYWx3aXRoaW5maW5p
dHk7Ci0gIGF0dHJpYnV0ZSB1bnJlc3RyaWN0ZWQgZG91YmxlIGJpZ3JlYWx3aXRoaW5maW5pdHk7
IAotICBhdHRyaWJ1dGUgRE9NU3RyaW5nIHN0cmluZzsgCi0gIGF0dHJpYnV0ZSBCeXRlU3RyaW5n
IGJ5dGVzOyAKLSAgYXR0cmlidXRlIERhdGUgZGF0ZTsKLSAgYXR0cmlidXRlIFJlZ0V4cCByZWdl
eHA7Ci19Ozwvd2ViaWRsPgotICAgIDxBdHRyaWJ1dGUgbmFtZT0idHJ1dGgiIGlkPSI6OlByaW1p
dGl2ZXM6OnRydXRoIj4KLSAgICAgIDx3ZWJpZGw+ICBhdHRyaWJ1dGUgYm9vbGVhbiB0cnV0aDs8
L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9ImJvb2xlYW4iLz4KLSAgICA8L0F0dHJpYnV0ZT4K
LSAgICA8QXR0cmlidXRlIG5hbWU9ImNoYXJhY3RlciIgaWQ9Ijo6UHJpbWl0aXZlczo6Y2hhcmFj
dGVyIj4KLSAgICAgIDx3ZWJpZGw+ICBhdHRyaWJ1dGUgYnl0ZSBjaGFyYWN0ZXI7PC93ZWJpZGw+
Ci0gICAgICA8VHlwZSB0eXBlPSJieXRlIi8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gICAgPEF0dHJp
YnV0ZSBuYW1lPSJ2YWx1ZSIgaWQ9Ijo6UHJpbWl0aXZlczo6dmFsdWUiPgotICAgICAgPHdlYmlk
bD4gIGF0dHJpYnV0ZSBvY3RldCB2YWx1ZTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9Im9j
dGV0Ii8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gICAgPEF0dHJpYnV0ZSBuYW1lPSJudW1iZXIiIGlk
PSI6OlByaW1pdGl2ZXM6Om51bWJlciI+Ci0gICAgICA8d2ViaWRsPiAgYXR0cmlidXRlIHNob3J0
IG51bWJlcjs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9InNob3J0Ii8+Ci0gICAgPC9BdHRy
aWJ1dGU+Ci0gICAgPEF0dHJpYnV0ZSBuYW1lPSJwb3NpdGl2ZSIgaWQ9Ijo6UHJpbWl0aXZlczo6
cG9zaXRpdmUiPgotICAgICAgPHdlYmlkbD4gIGF0dHJpYnV0ZSB1bnNpZ25lZCBzaG9ydCBwb3Np
dGl2ZTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9InVuc2lnbmVkIHNob3J0Ii8+Ci0gICAg
PC9BdHRyaWJ1dGU+Ci0gICAgPEF0dHJpYnV0ZSBuYW1lPSJiaWciIGlkPSI6OlByaW1pdGl2ZXM6
OmJpZyI+Ci0gICAgICA8d2ViaWRsPiAgYXR0cmlidXRlIGxvbmcgYmlnOzwvd2ViaWRsPgotICAg
ICAgPFR5cGUgdHlwZT0ibG9uZyIvPgotICAgIDwvQXR0cmlidXRlPgotICAgIDxBdHRyaWJ1dGUg
bmFtZT0iYmlncG9zaXRpdmUiIGlkPSI6OlByaW1pdGl2ZXM6OmJpZ3Bvc2l0aXZlIj4KLSAgICAg
IDx3ZWJpZGw+ICBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBiaWdwb3NpdGl2ZTs8L3dlYmlkbD4K
LSAgICAgIDxUeXBlIHR5cGU9InVuc2lnbmVkIGxvbmciLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAg
ICA8QXR0cmlidXRlIG5hbWU9ImJpZ2JpZyIgaWQ9Ijo6UHJpbWl0aXZlczo6YmlnYmlnIj4KLSAg
ICAgIDx3ZWJpZGw+ICBhdHRyaWJ1dGUgbG9uZyBsb25nIGJpZ2JpZzs8L3dlYmlkbD4KLSAgICAg
IDxUeXBlIHR5cGU9ImxvbmcgbG9uZyIvPgotICAgIDwvQXR0cmlidXRlPgotICAgIDxBdHRyaWJ1
dGUgbmFtZT0iYmlnYmlncG9zaXRpdmUiIGlkPSI6OlByaW1pdGl2ZXM6OmJpZ2JpZ3Bvc2l0aXZl
Ij4KLSAgICAgIDx3ZWJpZGw+ICBhdHRyaWJ1dGUgIHVuc2lnbmVkIGxvbmcgbG9uZyBiaWdiaWdw
b3NpdGl2ZTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9InVuc2lnbmVkIGxvbmcgbG9uZyIv
PgotICAgIDwvQXR0cmlidXRlPgotICAgIDxBdHRyaWJ1dGUgbmFtZT0icmVhbCIgaWQ9Ijo6UHJp
bWl0aXZlczo6cmVhbCI+Ci0gICAgICA8d2ViaWRsPiAgYXR0cmlidXRlIGZsb2F0IHJlYWw7PC93
ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJmbG9hdCIvPgotICAgIDwvQXR0cmlidXRlPgotICAg
IDxBdHRyaWJ1dGUgbmFtZT0iYmlncmVhbCIgaWQ9Ijo6UHJpbWl0aXZlczo6YmlncmVhbCI+Ci0g
ICAgICA8d2ViaWRsPiAgYXR0cmlidXRlIGRvdWJsZSBiaWdyZWFsOzwvd2ViaWRsPgotICAgICAg
PFR5cGUgdHlwZT0iZG91YmxlIi8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gICAgPEF0dHJpYnV0ZSBu
YW1lPSJyZWFsd2l0aGluZmluaXR5IiBpZD0iOjpQcmltaXRpdmVzOjpyZWFsd2l0aGluZmluaXR5
Ij4KLSAgICAgIDx3ZWJpZGw+ICBhdHRyaWJ1dGUgdW5yZXN0cmljdGVkIGZsb2F0IHJlYWx3aXRo
aW5maW5pdHk7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJ1bnJlc3RyaWN0ZWQgZmxvYXQi
Lz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAgICA8QXR0cmlidXRlIG5hbWU9ImJpZ3JlYWx3aXRoaW5m
aW5pdHkiIGlkPSI6OlByaW1pdGl2ZXM6OmJpZ3JlYWx3aXRoaW5maW5pdHkiPgotICAgICAgPHdl
YmlkbD4gIGF0dHJpYnV0ZSB1bnJlc3RyaWN0ZWQgZG91YmxlIGJpZ3JlYWx3aXRoaW5maW5pdHk7
PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJ1bnJlc3RyaWN0ZWQgZG91YmxlIi8+Ci0gICAg
PC9BdHRyaWJ1dGU+Ci0gICAgPEF0dHJpYnV0ZSBuYW1lPSJzdHJpbmciIGlkPSI6OlByaW1pdGl2
ZXM6OnN0cmluZyI+Ci0gICAgICA8d2ViaWRsPiAgYXR0cmlidXRlIERPTVN0cmluZyBzdHJpbmc7
PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJET01TdHJpbmciLz4KLSAgICA8L0F0dHJpYnV0
ZT4KLSAgICA8QXR0cmlidXRlIG5hbWU9ImJ5dGVzIiBpZD0iOjpQcmltaXRpdmVzOjpieXRlcyI+
Ci0gICAgICA8d2ViaWRsPiAgYXR0cmlidXRlIEJ5dGVTdHJpbmcgYnl0ZXM7PC93ZWJpZGw+Ci0g
ICAgICA8VHlwZSB0eXBlPSJCeXRlU3RyaW5nIi8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gICAgPEF0
dHJpYnV0ZSBuYW1lPSJkYXRlIiBpZD0iOjpQcmltaXRpdmVzOjpkYXRlIj4KLSAgICAgIDx3ZWJp
ZGw+ICBhdHRyaWJ1dGUgRGF0ZSBkYXRlOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0iRGF0
ZSIvPgotICAgIDwvQXR0cmlidXRlPgotICAgIDxBdHRyaWJ1dGUgbmFtZT0icmVnZXhwIiBpZD0i
OjpQcmltaXRpdmVzOjpyZWdleHAiPgotICAgICAgPHdlYmlkbD4gIGF0dHJpYnV0ZSBSZWdFeHAg
cmVnZXhwOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0iUmVnRXhwIi8+Ci0gICAgPC9BdHRy
aWJ1dGU+Ci0gIDwvSW50ZXJmYWNlPgotPC9EZWZpbml0aW9ucz4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9wcm90b3R5cGVyb290LndpZGxwcm9jeG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL3Byb3RvdHlwZXJvb3Qud2lkbHByb2N4
bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDJlNTZjZDc1ZWMzLi4wMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvcHJvdG90eXBlcm9vdC53
aWRscHJvY3htbAorKysgL2Rldi9udWxsCkBAIC0xLDIzICswLDAgQEAKLTw/eG1sIHZlcnNpb249
IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Ci08IURPQ1RZUEUgRGVmaW5pdGlvbnMgU1lTVEVNICJ3
aWRscHJvY3htbC5kdGQiPgotPERlZmluaXRpb25zPgotICA8d2ViaWRsPltQcm90b3R5cGVSb290
XQotaW50ZXJmYWNlIE5vZGUgewotICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgc2hvcnQg
bm9kZVR5cGU7Ci19Ozwvd2ViaWRsPgotICA8SW50ZXJmYWNlIG5hbWU9Ik5vZGUiIGlkPSI6Ok5v
ZGUiPgotICAgIDx3ZWJpZGw+W1Byb3RvdHlwZVJvb3RdCi1pbnRlcmZhY2UgTm9kZSB7Ci0gIHJl
YWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBzaG9ydCBub2RlVHlwZTsKLX07PC93ZWJpZGw+Ci0g
ICAgPEV4dGVuZGVkQXR0cmlidXRlTGlzdD4KLSAgICAgIDxFeHRlbmRlZEF0dHJpYnV0ZSBuYW1l
PSJQcm90b3R5cGVSb290Ij4KLSAgICAgICAgPHdlYmlkbD5Qcm90b3R5cGVSb290PC93ZWJpZGw+
Ci0gICAgICA8L0V4dGVuZGVkQXR0cmlidXRlPgotICAgIDwvRXh0ZW5kZWRBdHRyaWJ1dGVMaXN0
PgotICAgIDxBdHRyaWJ1dGUgcmVhZG9ubHk9InJlYWRvbmx5IiBuYW1lPSJub2RlVHlwZSIgaWQ9
Ijo6Tm9kZTo6bm9kZVR5cGUiPgotICAgICAgPHdlYmlkbD4gIHJlYWRvbmx5IGF0dHJpYnV0ZSB1
bnNpZ25lZCBzaG9ydCBub2RlVHlwZTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9InVuc2ln
bmVkIHNob3J0Ii8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gIDwvSW50ZXJmYWNlPgotPC9EZWZpbml0
aW9ucz4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9wdXRm
b3J3YXJkcy53aWRscHJvY3htbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9w
dXRmb3J3YXJkcy53aWRscHJvY3htbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjM0
ZmFkNTVhNTYuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlk
L3htbC9wdXRmb3J3YXJkcy53aWRscHJvY3htbAorKysgL2Rldi9udWxsCkBAIC0xLDI3ICswLDAg
QEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Ci08IURPQ1RZUEUgRGVm
aW5pdGlvbnMgU1lTVEVNICJ3aWRscHJvY3htbC5kdGQiPgotPERlZmluaXRpb25zPgotICA8d2Vi
aWRsPmludGVyZmFjZSBQZXJzb24gewotICBbUHV0Rm9yd2FyZHM9ZnVsbF0gcmVhZG9ubHkgYXR0
cmlidXRlIDxyZWY+TmFtZTwvcmVmPiBuYW1lOwotICBhdHRyaWJ1dGUgdW5zaWduZWQgc2hvcnQg
YWdlOwotfTs8L3dlYmlkbD4KLSAgPEludGVyZmFjZSBuYW1lPSJQZXJzb24iIGlkPSI6OlBlcnNv
biI+Ci0gICAgPHdlYmlkbD5pbnRlcmZhY2UgUGVyc29uIHsKLSAgW1B1dEZvcndhcmRzPWZ1bGxd
IHJlYWRvbmx5IGF0dHJpYnV0ZSA8cmVmPk5hbWU8L3JlZj4gbmFtZTsKLSAgYXR0cmlidXRlIHVu
c2lnbmVkIHNob3J0IGFnZTsKLX07PC93ZWJpZGw+Ci0gICAgPEF0dHJpYnV0ZSByZWFkb25seT0i
cmVhZG9ubHkiIG5hbWU9Im5hbWUiIGlkPSI6OlBlcnNvbjo6bmFtZSI+Ci0gICAgICA8d2ViaWRs
PiAgW1B1dEZvcndhcmRzPWZ1bGxdIHJlYWRvbmx5IGF0dHJpYnV0ZSA8cmVmPk5hbWU8L3JlZj4g
bmFtZTs8L3dlYmlkbD4KLSAgICAgIDxFeHRlbmRlZEF0dHJpYnV0ZUxpc3Q+Ci0gICAgICAgIDxF
eHRlbmRlZEF0dHJpYnV0ZSBuYW1lPSJQdXRGb3J3YXJkcyIgdmFsdWU9ImZ1bGwiPgotICAgICAg
ICAgIDx3ZWJpZGw+UHV0Rm9yd2FyZHM8L3dlYmlkbD4KLSAgICAgICAgPC9FeHRlbmRlZEF0dHJp
YnV0ZT4KLSAgICAgIDwvRXh0ZW5kZWRBdHRyaWJ1dGVMaXN0PgotICAgICAgPFR5cGUgbmFtZT0i
TmFtZSIvPgotICAgIDwvQXR0cmlidXRlPgotICAgIDxBdHRyaWJ1dGUgbmFtZT0iYWdlIiBpZD0i
OjpQZXJzb246OmFnZSI+Ci0gICAgICA8d2ViaWRsPiAgYXR0cmlidXRlIHVuc2lnbmVkIHNob3J0
IGFnZTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9InVuc2lnbmVkIHNob3J0Ii8+Ci0gICAg
PC9BdHRyaWJ1dGU+Ci0gIDwvSW50ZXJmYWNlPgotPC9EZWZpbml0aW9ucz4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9yZWctb3BlcmF0aW9ucy53aWRscHJv
Y3htbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9yZWctb3BlcmF0aW9ucy53
aWRscHJvY3htbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggM2I3NTZlZDY4ZDguLjAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9yZWctb3Bl
cmF0aW9ucy53aWRscHJvY3htbAorKysgL2Rldi9udWxsCkBAIC0xLDcwICswLDAgQEAKLTw/eG1s
IHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Ci08IURPQ1RZUEUgRGVmaW5pdGlvbnMg
U1lTVEVNICJ3aWRscHJvY3htbC5kdGQiPgotPERlZmluaXRpb25zPgotICA8d2ViaWRsPmludGVy
ZmFjZSBEaW1lbnNpb25zIHsKLSAgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgd2lkdGg7Ci0gIGF0
dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGhlaWdodDsKLX07Ci0KLWV4Y2VwdGlvbiBOb1BvaW50ZXJE
ZXZpY2UgeyB9OwotCi1pbnRlcmZhY2UgQnV0dG9uIHsKLQotICBib29sZWFuIGlzTW91c2VPdmVy
KCk7Ci0KLSAgdm9pZCBzZXREaW1lbnNpb25zKDxyZWY+RGltZW5zaW9uczwvcmVmPiBzaXplKTsK
LSAgdm9pZCBzZXREaW1lbnNpb25zKHVuc2lnbmVkIGxvbmcgd2lkdGgsIHVuc2lnbmVkIGxvbmcg
aGVpZ2h0KTsKLX07PC93ZWJpZGw+Ci0gIDxJbnRlcmZhY2UgbmFtZT0iRGltZW5zaW9ucyIgaWQ9
Ijo6RGltZW5zaW9ucyI+Ci0gICAgPHdlYmlkbD5pbnRlcmZhY2UgRGltZW5zaW9ucyB7Ci0gIGF0
dHJpYnV0ZSB1bnNpZ25lZCBsb25nIHdpZHRoOwotICBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBo
ZWlnaHQ7Ci19Ozwvd2ViaWRsPgotICAgIDxBdHRyaWJ1dGUgbmFtZT0id2lkdGgiIGlkPSI6OkRp
bWVuc2lvbnM6OndpZHRoIj4KLSAgICAgIDx3ZWJpZGw+ICBhdHRyaWJ1dGUgdW5zaWduZWQgbG9u
ZyB3aWR0aDs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9InVuc2lnbmVkIGxvbmciLz4KLSAg
ICA8L0F0dHJpYnV0ZT4KLSAgICA8QXR0cmlidXRlIG5hbWU9ImhlaWdodCIgaWQ9Ijo6RGltZW5z
aW9uczo6aGVpZ2h0Ij4KLSAgICAgIDx3ZWJpZGw+ICBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBo
ZWlnaHQ7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJ1bnNpZ25lZCBsb25nIi8+Ci0gICAg
PC9BdHRyaWJ1dGU+Ci0gIDwvSW50ZXJmYWNlPgotICA8RXhjZXB0aW9uIG5hbWU9Ik5vUG9pbnRl
ckRldmljZSIgaWQ9Ijo6Tm9Qb2ludGVyRGV2aWNlIj4KLSAgICA8d2ViaWRsPmV4Y2VwdGlvbiBO
b1BvaW50ZXJEZXZpY2UgeyB9Ozwvd2ViaWRsPgotICA8L0V4Y2VwdGlvbj4KLSAgPEludGVyZmFj
ZSBuYW1lPSJCdXR0b24iIGlkPSI6OkJ1dHRvbiI+Ci0gICAgPHdlYmlkbD5pbnRlcmZhY2UgQnV0
dG9uIHsKLQotICBib29sZWFuIGlzTW91c2VPdmVyKCk7Ci0KLSAgdm9pZCBzZXREaW1lbnNpb25z
KDxyZWY+RGltZW5zaW9uczwvcmVmPiBzaXplKTsKLSAgdm9pZCBzZXREaW1lbnNpb25zKHVuc2ln
bmVkIGxvbmcgd2lkdGgsIHVuc2lnbmVkIGxvbmcgaGVpZ2h0KTsKLX07PC93ZWJpZGw+Ci0gICAg
PE9wZXJhdGlvbiBuYW1lPSJpc01vdXNlT3ZlciIgaWQ9Ijo6QnV0dG9uOjppc01vdXNlT3ZlciI+
Ci0gICAgICA8d2ViaWRsPiAgYm9vbGVhbiBpc01vdXNlT3ZlcigpOzwvd2ViaWRsPgotICAgICAg
PFR5cGUgdHlwZT0iYm9vbGVhbiIvPgotICAgICAgPEFyZ3VtZW50TGlzdC8+Ci0gICAgPC9PcGVy
YXRpb24+Ci0gICAgPE9wZXJhdGlvbiBuYW1lPSJzZXREaW1lbnNpb25zIiBpZD0iOjpCdXR0b246
OnNldERpbWVuc2lvbnMiPgotICAgICAgPHdlYmlkbD4gIHZvaWQgc2V0RGltZW5zaW9ucyg8cmVm
PkRpbWVuc2lvbnM8L3JlZj4gc2l6ZSk7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJ2b2lk
Ii8+Ci0gICAgICA8QXJndW1lbnRMaXN0PgotICAgICAgICA8QXJndW1lbnQgbmFtZT0ic2l6ZSI+
Ci0gICAgICAgICAgPFR5cGUgbmFtZT0iRGltZW5zaW9ucyIvPgotICAgICAgICA8L0FyZ3VtZW50
PgotICAgICAgPC9Bcmd1bWVudExpc3Q+Ci0gICAgPC9PcGVyYXRpb24+Ci0gICAgPE9wZXJhdGlv
biBuYW1lPSJzZXREaW1lbnNpb25zIiBpZD0iOjpCdXR0b246OnNldERpbWVuc2lvbnMiPgotICAg
ICAgPHdlYmlkbD4gIHZvaWQgc2V0RGltZW5zaW9ucyh1bnNpZ25lZCBsb25nIHdpZHRoLCB1bnNp
Z25lZCBsb25nIGhlaWdodCk7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJ2b2lkIi8+Ci0g
ICAgICA8QXJndW1lbnRMaXN0PgotICAgICAgICA8QXJndW1lbnQgbmFtZT0id2lkdGgiPgotICAg
ICAgICAgIDxUeXBlIHR5cGU9InVuc2lnbmVkIGxvbmciLz4KLSAgICAgICAgPC9Bcmd1bWVudD4K
LSAgICAgICAgPEFyZ3VtZW50IG5hbWU9ImhlaWdodCI+Ci0gICAgICAgICAgPFR5cGUgdHlwZT0i
dW5zaWduZWQgbG9uZyIvPgotICAgICAgICA8L0FyZ3VtZW50PgotICAgICAgPC9Bcmd1bWVudExp
c3Q+Ci0gICAgPC9PcGVyYXRpb24+Ci0gIDwvSW50ZXJmYWNlPgotPC9EZWZpbml0aW9ucz4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9yZXBsYWNlYWJsZS53
aWRscHJvY3htbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9yZXBsYWNlYWJs
ZS53aWRscHJvY3htbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjk3NjIxNjY4MjUu
LjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9yZXBs
YWNlYWJsZS53aWRscHJvY3htbAorKysgL2Rldi9udWxsCkBAIC0xLDI4ICswLDAgQEAKLTw/eG1s
IHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Ci08IURPQ1RZUEUgRGVmaW5pdGlvbnMg
U1lTVEVNICJ3aWRscHJvY3htbC5kdGQiPgotPERlZmluaXRpb25zPgotICA8d2ViaWRsPmludGVy
ZmFjZSBDb3VudGVyIHsKLSAgW1JlcGxhY2VhYmxlXSByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWdu
ZWQgbG9uZyB2YWx1ZTsKLSAgdm9pZCBpbmNyZW1lbnQoKTsKLX07PC93ZWJpZGw+Ci0gIDxJbnRl
cmZhY2UgbmFtZT0iQ291bnRlciIgaWQ9Ijo6Q291bnRlciI+Ci0gICAgPHdlYmlkbD5pbnRlcmZh
Y2UgQ291bnRlciB7Ci0gIFtSZXBsYWNlYWJsZV0gcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVk
IGxvbmcgdmFsdWU7Ci0gIHZvaWQgaW5jcmVtZW50KCk7Ci19Ozwvd2ViaWRsPgotICAgIDxBdHRy
aWJ1dGUgcmVhZG9ubHk9InJlYWRvbmx5IiBuYW1lPSJ2YWx1ZSIgaWQ9Ijo6Q291bnRlcjo6dmFs
dWUiPgotICAgICAgPHdlYmlkbD4gIFtSZXBsYWNlYWJsZV0gcmVhZG9ubHkgYXR0cmlidXRlIHVu
c2lnbmVkIGxvbmcgdmFsdWU7PC93ZWJpZGw+Ci0gICAgICA8RXh0ZW5kZWRBdHRyaWJ1dGVMaXN0
PgotICAgICAgICA8RXh0ZW5kZWRBdHRyaWJ1dGUgbmFtZT0iUmVwbGFjZWFibGUiPgotICAgICAg
ICAgIDx3ZWJpZGw+UmVwbGFjZWFibGU8L3dlYmlkbD4KLSAgICAgICAgPC9FeHRlbmRlZEF0dHJp
YnV0ZT4KLSAgICAgIDwvRXh0ZW5kZWRBdHRyaWJ1dGVMaXN0PgotICAgICAgPFR5cGUgdHlwZT0i
dW5zaWduZWQgbG9uZyIvPgotICAgIDwvQXR0cmlidXRlPgotICAgIDxPcGVyYXRpb24gbmFtZT0i
aW5jcmVtZW50IiBpZD0iOjpDb3VudGVyOjppbmNyZW1lbnQiPgotICAgICAgPHdlYmlkbD4gIHZv
aWQgaW5jcmVtZW50KCk7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJ2b2lkIi8+Ci0gICAg
ICA8QXJndW1lbnRMaXN0Lz4KLSAgICA8L09wZXJhdGlvbj4KLSAgPC9JbnRlcmZhY2U+Ci08L0Rl
ZmluaXRpb25zPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1s
L3NlcXVlbmNlLndpZGxwcm9jeG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1s
L3NlcXVlbmNlLndpZGxwcm9jeG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkNWY0
NTY0MTc1Yi4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQv
eG1sL3NlcXVlbmNlLndpZGxwcm9jeG1sCisrKyAvZGV2L251bGwKQEAgLTEsMzIgKzAsMCBAQAot
PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KLTwhRE9DVFlQRSBEZWZpbml0
aW9ucyBTWVNURU0gIndpZGxwcm9jeG1sLmR0ZCI+Ci08RGVmaW5pdGlvbnM+Ci0gIDx3ZWJpZGw+
aW50ZXJmYWNlIENhbnZhcyB7Ci0gIHZvaWQgZHJhd1BvbHlnb24oc2VxdWVuY2UmbHQ7ZmxvYXQ+
IGNvb3JkaW5hdGVzKTsKLSAgc2VxdWVuY2UmbHQ7ZmxvYXQ+IGdldEluZmxlY3Rpb25Qb2ludHMo
KTsKLX07PC93ZWJpZGw+Ci0gIDxJbnRlcmZhY2UgbmFtZT0iQ2FudmFzIiBpZD0iOjpDYW52YXMi
PgotICAgIDx3ZWJpZGw+aW50ZXJmYWNlIENhbnZhcyB7Ci0gIHZvaWQgZHJhd1BvbHlnb24oc2Vx
dWVuY2UmbHQ7ZmxvYXQ+IGNvb3JkaW5hdGVzKTsKLSAgc2VxdWVuY2UmbHQ7ZmxvYXQ+IGdldElu
ZmxlY3Rpb25Qb2ludHMoKTsKLX07PC93ZWJpZGw+Ci0gICAgPE9wZXJhdGlvbiBuYW1lPSJkcmF3
UG9seWdvbiIgaWQ9Ijo6Q2FudmFzOjpkcmF3UG9seWdvbiI+Ci0gICAgICA8d2ViaWRsPiAgdm9p
ZCBkcmF3UG9seWdvbihzZXF1ZW5jZSZsdDtmbG9hdD4gY29vcmRpbmF0ZXMpOzwvd2ViaWRsPgot
ICAgICAgPFR5cGUgdHlwZT0idm9pZCIvPgotICAgICAgPEFyZ3VtZW50TGlzdD4KLSAgICAgICAg
PEFyZ3VtZW50IG5hbWU9ImNvb3JkaW5hdGVzIj4KLSAgICAgICAgICA8VHlwZSB0eXBlPSJzZXF1
ZW5jZSI+Ci0gICAgICAgICAgICA8VHlwZSB0eXBlPSJmbG9hdCIvPgotICAgICAgICAgIDwvVHlw
ZT4KLSAgICAgICAgPC9Bcmd1bWVudD4KLSAgICAgIDwvQXJndW1lbnRMaXN0PgotICAgIDwvT3Bl
cmF0aW9uPgotICAgIDxPcGVyYXRpb24gbmFtZT0iZ2V0SW5mbGVjdGlvblBvaW50cyIgaWQ9Ijo6
Q2FudmFzOjpnZXRJbmZsZWN0aW9uUG9pbnRzIj4KLSAgICAgIDx3ZWJpZGw+ICBzZXF1ZW5jZSZs
dDtmbG9hdD4gZ2V0SW5mbGVjdGlvblBvaW50cygpOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlw
ZT0ic2VxdWVuY2UiPgotICAgICAgICA8VHlwZSB0eXBlPSJmbG9hdCIvPgotICAgICAgPC9UeXBl
PgotICAgICAgPEFyZ3VtZW50TGlzdC8+Ci0gICAgPC9PcGVyYXRpb24+Ci0gIDwvSW50ZXJmYWNl
PgotPC9EZWZpbml0aW9ucz4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3Zh
bGlkL3htbC9zZXJpYWxpemVyLndpZGxwcm9jeG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3Qv
dmFsaWQveG1sL3NlcmlhbGl6ZXIud2lkbHByb2N4bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IGViNDIxOWY4YTVlLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mv
dGVzdC92YWxpZC94bWwvc2VyaWFsaXplci53aWRscHJvY3htbAorKysgL2Rldi9udWxsCkBAIC0x
LDI5NiArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgotPCFE
T0NUWVBFIERlZmluaXRpb25zIFNZU1RFTSAid2lkbHByb2N4bWwuZHRkIj4KLTxEZWZpbml0aW9u
cz4KLSAgPHdlYmlkbD5pbnRlcmZhY2UgVHJhbnNhY3Rpb24gewotICByZWFkb25seSBhdHRyaWJ1
dGUgPHJlZj5BY2NvdW50PC9yZWY+IGZyb207Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSA8cmVmPkFj
Y291bnQ8L3JlZj4gdG87Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSBmbG9hdCBhbW91bnQ7Ci0gIHJl
YWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgZGVzY3JpcHRpb247Ci0gIHJlYWRvbmx5IGF0dHJp
YnV0ZSB1bnNpZ25lZCBsb25nIG51bWJlcjsKLQotICBzZXJpYWxpemVyOwotfTsKLQotaW50ZXJm
YWNlIEFjY291bnQgewotICBhdHRyaWJ1dGUgRE9NU3RyaW5nIG5hbWU7Ci0gIGF0dHJpYnV0ZSB1
bnNpZ25lZCBsb25nIG51bWJlcjsKLSAgc2VyaWFsaXplciBET01TdHJpbmcgc2VyaWFsaXplKCk7
Ci19OwotCi1pbnRlcmZhY2UgVHJhbnNhY3Rpb24yIHsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIDxy
ZWY+QWNjb3VudDI8L3JlZj4gZnJvbTsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIDxyZWY+QWNjb3Vu
dDI8L3JlZj4gdG87Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSBmbG9hdCBhbW91bnQ7Ci0gIHJlYWRv
bmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgZGVzY3JpcHRpb247Ci0gIHJlYWRvbmx5IGF0dHJpYnV0
ZSB1bnNpZ25lZCBsb25nIG51bWJlcjsKLQotICBzZXJpYWxpemVyID0geyBmcm9tLCB0bywgYW1v
dW50LCBkZXNjcmlwdGlvbiB9OwotfTsKLQotaW50ZXJmYWNlIEFjY291bnQyIHsKLSAgYXR0cmli
dXRlIERPTVN0cmluZyBuYW1lOwotICBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBudW1iZXI7Ci0g
IHNlcmlhbGl6ZXIgPSBudW1iZXI7Ci19OwotCi1pbnRlcmZhY2UgQWNjb3VudDMgewotICBhdHRy
aWJ1dGUgRE9NU3RyaW5nIG5hbWU7Ci0gIGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIG51bWJlcjsK
LQotICBzZXJpYWxpemVyID0geyBhdHRyaWJ1dGUgfTsKLX07Ci0KLWludGVyZmFjZSBBY2NvdW50
NCB7Ci0gIGdldHRlciBvYmplY3QgZ2V0SXRlbSh1bnNpZ25lZCBsb25nIGluZGV4KTsKLSAgc2Vy
aWFsaXplciA9IHsgZ2V0dGVyIH07Ci19OwotCi1pbnRlcmZhY2UgQWNjb3VudDUgOiA8cmVmPkFj
Y291bnQ8L3JlZj4gewotICBhdHRyaWJ1dGUgRE9NU3RyaW5nIHNlY29uZG5hbWU7Ci0gIHNlcmlh
bGl6ZXIgPSB7IGluaGVyaXQsIHNlY29uZG5hbWUgfTsKLX07Ci0KLWludGVyZmFjZSBBY2NvdW50
NiA6IDxyZWY+QWNjb3VudDwvcmVmPiB7Ci0gIGF0dHJpYnV0ZSBET01TdHJpbmcgc2Vjb25kbmFt
ZTsKLSAgc2VyaWFsaXplciA9IHsgaW5oZXJpdCwgYXR0cmlidXRlIH07Ci19OwotCi1pbnRlcmZh
Y2UgQWNjb3VudDcgewotICBhdHRyaWJ1dGUgRE9NU3RyaW5nIG5hbWU7Ci0gIGF0dHJpYnV0ZSB1
bnNpZ25lZCBsb25nIG51bWJlcjsKLSAgc2VyaWFsaXplciA9IFsgbmFtZSwgbnVtYmVyIF07Ci19
OwotCi1pbnRlcmZhY2UgQWNjb3VudDggewotICBnZXR0ZXIgb2JqZWN0IGdldEl0ZW0odW5zaWdu
ZWQgbG9uZyBpbmRleCk7Ci0gIHNlcmlhbGl6ZXIgPSBbIGdldHRlciBdOwotfTs8L3dlYmlkbD4K
LSAgPEludGVyZmFjZSBuYW1lPSJUcmFuc2FjdGlvbiIgaWQ9Ijo6VHJhbnNhY3Rpb24iPgotICAg
IDx3ZWJpZGw+aW50ZXJmYWNlIFRyYW5zYWN0aW9uIHsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIDxy
ZWY+QWNjb3VudDwvcmVmPiBmcm9tOwotICByZWFkb25seSBhdHRyaWJ1dGUgPHJlZj5BY2NvdW50
PC9yZWY+IHRvOwotICByZWFkb25seSBhdHRyaWJ1dGUgZmxvYXQgYW1vdW50OwotICByZWFkb25s
eSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGRlc2NyaXB0aW9uOwotICByZWFkb25seSBhdHRyaWJ1dGUg
dW5zaWduZWQgbG9uZyBudW1iZXI7Ci0KLSAgc2VyaWFsaXplcjsKLX07PC93ZWJpZGw+Ci0gICAg
PEF0dHJpYnV0ZSByZWFkb25seT0icmVhZG9ubHkiIG5hbWU9ImZyb20iIGlkPSI6OlRyYW5zYWN0
aW9uOjpmcm9tIj4KLSAgICAgIDx3ZWJpZGw+ICByZWFkb25seSBhdHRyaWJ1dGUgPHJlZj5BY2Nv
dW50PC9yZWY+IGZyb207PC93ZWJpZGw+Ci0gICAgICA8VHlwZSBuYW1lPSJBY2NvdW50Ii8+Ci0g
ICAgPC9BdHRyaWJ1dGU+Ci0gICAgPEF0dHJpYnV0ZSByZWFkb25seT0icmVhZG9ubHkiIG5hbWU9
InRvIiBpZD0iOjpUcmFuc2FjdGlvbjo6dG8iPgotICAgICAgPHdlYmlkbD4gIHJlYWRvbmx5IGF0
dHJpYnV0ZSA8cmVmPkFjY291bnQ8L3JlZj4gdG87PC93ZWJpZGw+Ci0gICAgICA8VHlwZSBuYW1l
PSJBY2NvdW50Ii8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gICAgPEF0dHJpYnV0ZSByZWFkb25seT0i
cmVhZG9ubHkiIG5hbWU9ImFtb3VudCIgaWQ9Ijo6VHJhbnNhY3Rpb246OmFtb3VudCI+Ci0gICAg
ICA8d2ViaWRsPiAgcmVhZG9ubHkgYXR0cmlidXRlIGZsb2F0IGFtb3VudDs8L3dlYmlkbD4KLSAg
ICAgIDxUeXBlIHR5cGU9ImZsb2F0Ii8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gICAgPEF0dHJpYnV0
ZSByZWFkb25seT0icmVhZG9ubHkiIG5hbWU9ImRlc2NyaXB0aW9uIiBpZD0iOjpUcmFuc2FjdGlv
bjo6ZGVzY3JpcHRpb24iPgotICAgICAgPHdlYmlkbD4gIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01T
dHJpbmcgZGVzY3JpcHRpb247PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJET01TdHJpbmci
Lz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAgICA8QXR0cmlidXRlIHJlYWRvbmx5PSJyZWFkb25seSIg
bmFtZT0ibnVtYmVyIiBpZD0iOjpUcmFuc2FjdGlvbjo6bnVtYmVyIj4KLSAgICAgIDx3ZWJpZGw+
ICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBudW1iZXI7PC93ZWJpZGw+Ci0gICAg
ICA8VHlwZSB0eXBlPSJ1bnNpZ25lZCBsb25nIi8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gICAgPFNl
cmlhbGl6ZXI+Ci0gICAgICA8d2ViaWRsPiAgc2VyaWFsaXplcjs8L3dlYmlkbD4KLSAgICA8L1Nl
cmlhbGl6ZXI+Ci0gIDwvSW50ZXJmYWNlPgotICA8SW50ZXJmYWNlIG5hbWU9IkFjY291bnQiIGlk
PSI6OkFjY291bnQiPgotICAgIDx3ZWJpZGw+aW50ZXJmYWNlIEFjY291bnQgewotICBhdHRyaWJ1
dGUgRE9NU3RyaW5nIG5hbWU7Ci0gIGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIG51bWJlcjsKLSAg
c2VyaWFsaXplciBET01TdHJpbmcgc2VyaWFsaXplKCk7Ci19Ozwvd2ViaWRsPgotICAgIDxBdHRy
aWJ1dGUgbmFtZT0ibmFtZSIgaWQ9Ijo6QWNjb3VudDo6bmFtZSI+Ci0gICAgICA8d2ViaWRsPiAg
YXR0cmlidXRlIERPTVN0cmluZyBuYW1lOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0iRE9N
U3RyaW5nIi8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gICAgPEF0dHJpYnV0ZSBuYW1lPSJudW1iZXIi
IGlkPSI6OkFjY291bnQ6Om51bWJlciI+Ci0gICAgICA8d2ViaWRsPiAgYXR0cmlidXRlIHVuc2ln
bmVkIGxvbmcgbnVtYmVyOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0idW5zaWduZWQgbG9u
ZyIvPgotICAgIDwvQXR0cmlidXRlPgotICAgIDxPcGVyYXRpb24gc2VyaWFsaXplcj0ic2VyaWFs
aXplciIgbmFtZT0ic2VyaWFsaXplIiBpZD0iOjpBY2NvdW50OjpzZXJpYWxpemUiPgotICAgICAg
PHdlYmlkbD4gIHNlcmlhbGl6ZXIgRE9NU3RyaW5nIHNlcmlhbGl6ZSgpOzwvd2ViaWRsPgotICAg
ICAgPFR5cGUgdHlwZT0iRE9NU3RyaW5nIi8+Ci0gICAgICA8QXJndW1lbnRMaXN0Lz4KLSAgICA8
L09wZXJhdGlvbj4KLSAgPC9JbnRlcmZhY2U+Ci0gIDxJbnRlcmZhY2UgbmFtZT0iVHJhbnNhY3Rp
b24yIiBpZD0iOjpUcmFuc2FjdGlvbjIiPgotICAgIDx3ZWJpZGw+aW50ZXJmYWNlIFRyYW5zYWN0
aW9uMiB7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSA8cmVmPkFjY291bnQyPC9yZWY+IGZyb207Ci0g
IHJlYWRvbmx5IGF0dHJpYnV0ZSA8cmVmPkFjY291bnQyPC9yZWY+IHRvOwotICByZWFkb25seSBh
dHRyaWJ1dGUgZmxvYXQgYW1vdW50OwotICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGRl
c2NyaXB0aW9uOwotICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBudW1iZXI7Ci0K
LSAgc2VyaWFsaXplciA9IHsgZnJvbSwgdG8sIGFtb3VudCwgZGVzY3JpcHRpb24gfTsKLX07PC93
ZWJpZGw+Ci0gICAgPEF0dHJpYnV0ZSByZWFkb25seT0icmVhZG9ubHkiIG5hbWU9ImZyb20iIGlk
PSI6OlRyYW5zYWN0aW9uMjo6ZnJvbSI+Ci0gICAgICA8d2ViaWRsPiAgcmVhZG9ubHkgYXR0cmli
dXRlIDxyZWY+QWNjb3VudDI8L3JlZj4gZnJvbTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIG5hbWU9
IkFjY291bnQyIi8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gICAgPEF0dHJpYnV0ZSByZWFkb25seT0i
cmVhZG9ubHkiIG5hbWU9InRvIiBpZD0iOjpUcmFuc2FjdGlvbjI6OnRvIj4KLSAgICAgIDx3ZWJp
ZGw+ICByZWFkb25seSBhdHRyaWJ1dGUgPHJlZj5BY2NvdW50MjwvcmVmPiB0bzs8L3dlYmlkbD4K
LSAgICAgIDxUeXBlIG5hbWU9IkFjY291bnQyIi8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gICAgPEF0
dHJpYnV0ZSByZWFkb25seT0icmVhZG9ubHkiIG5hbWU9ImFtb3VudCIgaWQ9Ijo6VHJhbnNhY3Rp
b24yOjphbW91bnQiPgotICAgICAgPHdlYmlkbD4gIHJlYWRvbmx5IGF0dHJpYnV0ZSBmbG9hdCBh
bW91bnQ7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJmbG9hdCIvPgotICAgIDwvQXR0cmli
dXRlPgotICAgIDxBdHRyaWJ1dGUgcmVhZG9ubHk9InJlYWRvbmx5IiBuYW1lPSJkZXNjcmlwdGlv
biIgaWQ9Ijo6VHJhbnNhY3Rpb24yOjpkZXNjcmlwdGlvbiI+Ci0gICAgICA8d2ViaWRsPiAgcmVh
ZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBkZXNjcmlwdGlvbjs8L3dlYmlkbD4KLSAgICAgIDxU
eXBlIHR5cGU9IkRPTVN0cmluZyIvPgotICAgIDwvQXR0cmlidXRlPgotICAgIDxBdHRyaWJ1dGUg
cmVhZG9ubHk9InJlYWRvbmx5IiBuYW1lPSJudW1iZXIiIGlkPSI6OlRyYW5zYWN0aW9uMjo6bnVt
YmVyIj4KLSAgICAgIDx3ZWJpZGw+ICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBu
dW1iZXI7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJ1bnNpZ25lZCBsb25nIi8+Ci0gICAg
PC9BdHRyaWJ1dGU+Ci0gICAgPFNlcmlhbGl6ZXI+Ci0gICAgICA8d2ViaWRsPiAgc2VyaWFsaXpl
ciA9IHsgZnJvbSwgdG8sIGFtb3VudCwgZGVzY3JpcHRpb24gfTs8L3dlYmlkbD4KLSAgICAgIDxN
YXAgcGF0dGVybj0ic2VsZWN0aW9uIj4KLSAgICAgICAgPFBhdHRlcm5BdHRyaWJ1dGUgbmFtZT0i
ZnJvbSIvPgotICAgICAgICA8UGF0dGVybkF0dHJpYnV0ZSBuYW1lPSJ0byIvPgotICAgICAgICA8
UGF0dGVybkF0dHJpYnV0ZSBuYW1lPSJhbW91bnQiLz4KLSAgICAgICAgPFBhdHRlcm5BdHRyaWJ1
dGUgbmFtZT0iZGVzY3JpcHRpb24iLz4KLSAgICAgIDwvTWFwPgotICAgIDwvU2VyaWFsaXplcj4K
LSAgPC9JbnRlcmZhY2U+Ci0gIDxJbnRlcmZhY2UgbmFtZT0iQWNjb3VudDIiIGlkPSI6OkFjY291
bnQyIj4KLSAgICA8d2ViaWRsPmludGVyZmFjZSBBY2NvdW50MiB7Ci0gIGF0dHJpYnV0ZSBET01T
dHJpbmcgbmFtZTsKLSAgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbnVtYmVyOwotICBzZXJpYWxp
emVyID0gbnVtYmVyOwotfTs8L3dlYmlkbD4KLSAgICA8QXR0cmlidXRlIG5hbWU9Im5hbWUiIGlk
PSI6OkFjY291bnQyOjpuYW1lIj4KLSAgICAgIDx3ZWJpZGw+ICBhdHRyaWJ1dGUgRE9NU3RyaW5n
IG5hbWU7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJET01TdHJpbmciLz4KLSAgICA8L0F0
dHJpYnV0ZT4KLSAgICA8QXR0cmlidXRlIG5hbWU9Im51bWJlciIgaWQ9Ijo6QWNjb3VudDI6Om51
bWJlciI+Ci0gICAgICA8d2ViaWRsPiAgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbnVtYmVyOzwv
d2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0idW5zaWduZWQgbG9uZyIvPgotICAgIDwvQXR0cmli
dXRlPgotICAgIDxTZXJpYWxpemVyIGF0dHJpYnV0ZT0ibnVtYmVyIj4KLSAgICAgIDx3ZWJpZGw+
ICBzZXJpYWxpemVyID0gbnVtYmVyOzwvd2ViaWRsPgotICAgIDwvU2VyaWFsaXplcj4KLSAgPC9J
bnRlcmZhY2U+Ci0gIDxJbnRlcmZhY2UgbmFtZT0iQWNjb3VudDMiIGlkPSI6OkFjY291bnQzIj4K
LSAgICA8d2ViaWRsPmludGVyZmFjZSBBY2NvdW50MyB7Ci0gIGF0dHJpYnV0ZSBET01TdHJpbmcg
bmFtZTsKLSAgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbnVtYmVyOwotCi0gIHNlcmlhbGl6ZXIg
PSB7IGF0dHJpYnV0ZSB9OwotfTs8L3dlYmlkbD4KLSAgICA8QXR0cmlidXRlIG5hbWU9Im5hbWUi
IGlkPSI6OkFjY291bnQzOjpuYW1lIj4KLSAgICAgIDx3ZWJpZGw+ICBhdHRyaWJ1dGUgRE9NU3Ry
aW5nIG5hbWU7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJET01TdHJpbmciLz4KLSAgICA8
L0F0dHJpYnV0ZT4KLSAgICA8QXR0cmlidXRlIG5hbWU9Im51bWJlciIgaWQ9Ijo6QWNjb3VudDM6
Om51bWJlciI+Ci0gICAgICA8d2ViaWRsPiAgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbnVtYmVy
Ozwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0idW5zaWduZWQgbG9uZyIvPgotICAgIDwvQXR0
cmlidXRlPgotICAgIDxTZXJpYWxpemVyPgotICAgICAgPHdlYmlkbD4gIHNlcmlhbGl6ZXIgPSB7
IGF0dHJpYnV0ZSB9Ozwvd2ViaWRsPgotICAgICAgPE1hcCBwYXR0ZXJuPSJhbGwiLz4KLSAgICA8
L1NlcmlhbGl6ZXI+Ci0gIDwvSW50ZXJmYWNlPgotICA8SW50ZXJmYWNlIG5hbWU9IkFjY291bnQ0
IiBpZD0iOjpBY2NvdW50NCI+Ci0gICAgPHdlYmlkbD5pbnRlcmZhY2UgQWNjb3VudDQgewotICBn
ZXR0ZXIgb2JqZWN0IGdldEl0ZW0odW5zaWduZWQgbG9uZyBpbmRleCk7Ci0gIHNlcmlhbGl6ZXIg
PSB7IGdldHRlciB9OwotfTs8L3dlYmlkbD4KLSAgICA8T3BlcmF0aW9uIGdldHRlcj0iZ2V0dGVy
IiBuYW1lPSJnZXRJdGVtIiBpZD0iOjpBY2NvdW50NDo6Z2V0SXRlbSI+Ci0gICAgICA8d2ViaWRs
PiAgZ2V0dGVyIG9iamVjdCBnZXRJdGVtKHVuc2lnbmVkIGxvbmcgaW5kZXgpOzwvd2ViaWRsPgot
ICAgICAgPFR5cGUgdHlwZT0ib2JqZWN0Ii8+Ci0gICAgICA8QXJndW1lbnRMaXN0PgotICAgICAg
ICA8QXJndW1lbnQgbmFtZT0iaW5kZXgiPgotICAgICAgICAgIDxUeXBlIHR5cGU9InVuc2lnbmVk
IGxvbmciLz4KLSAgICAgICAgPC9Bcmd1bWVudD4KLSAgICAgIDwvQXJndW1lbnRMaXN0PgotICAg
IDwvT3BlcmF0aW9uPgotICAgIDxTZXJpYWxpemVyPgotICAgICAgPHdlYmlkbD4gIHNlcmlhbGl6
ZXIgPSB7IGdldHRlciB9Ozwvd2ViaWRsPgotICAgICAgPE1hcCBwYXR0ZXJuPSJnZXR0ZXIiLz4K
LSAgICA8L1NlcmlhbGl6ZXI+Ci0gIDwvSW50ZXJmYWNlPgotICA8SW50ZXJmYWNlIG5hbWU9IkFj
Y291bnQ1IiBpZD0iOjpBY2NvdW50NSI+Ci0gICAgPHdlYmlkbD5pbnRlcmZhY2UgQWNjb3VudDUg
OiA8cmVmPkFjY291bnQ8L3JlZj4gewotICBhdHRyaWJ1dGUgRE9NU3RyaW5nIHNlY29uZG5hbWU7
Ci0gIHNlcmlhbGl6ZXIgPSB7IGluaGVyaXQsIHNlY29uZG5hbWUgfTsKLX07PC93ZWJpZGw+Ci0g
ICAgPEludGVyZmFjZUluaGVyaXRhbmNlPgotICAgICAgPE5hbWUgbmFtZT0iQWNjb3VudCIvPgot
ICAgIDwvSW50ZXJmYWNlSW5oZXJpdGFuY2U+Ci0gICAgPEF0dHJpYnV0ZSBuYW1lPSJzZWNvbmRu
YW1lIiBpZD0iOjpBY2NvdW50NTo6c2Vjb25kbmFtZSI+Ci0gICAgICA8d2ViaWRsPiAgYXR0cmli
dXRlIERPTVN0cmluZyBzZWNvbmRuYW1lOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0iRE9N
U3RyaW5nIi8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gICAgPFNlcmlhbGl6ZXI+Ci0gICAgICA8d2Vi
aWRsPiAgc2VyaWFsaXplciA9IHsgaW5oZXJpdCwgc2Vjb25kbmFtZSB9Ozwvd2ViaWRsPgotICAg
ICAgPE1hcCBpbmhlcml0PSJpbmhlcml0IiBwYXR0ZXJuPSJzZWxlY3Rpb24iPgotICAgICAgICA8
UGF0dGVybkF0dHJpYnV0ZSBuYW1lPSJzZWNvbmRuYW1lIi8+Ci0gICAgICA8L01hcD4KLSAgICA8
L1NlcmlhbGl6ZXI+Ci0gIDwvSW50ZXJmYWNlPgotICA8SW50ZXJmYWNlIG5hbWU9IkFjY291bnQ2
IiBpZD0iOjpBY2NvdW50NiI+Ci0gICAgPHdlYmlkbD5pbnRlcmZhY2UgQWNjb3VudDYgOiA8cmVm
PkFjY291bnQ8L3JlZj4gewotICBhdHRyaWJ1dGUgRE9NU3RyaW5nIHNlY29uZG5hbWU7Ci0gIHNl
cmlhbGl6ZXIgPSB7IGluaGVyaXQsIGF0dHJpYnV0ZSB9OwotfTs8L3dlYmlkbD4KLSAgICA8SW50
ZXJmYWNlSW5oZXJpdGFuY2U+Ci0gICAgICA8TmFtZSBuYW1lPSJBY2NvdW50Ii8+Ci0gICAgPC9J
bnRlcmZhY2VJbmhlcml0YW5jZT4KLSAgICA8QXR0cmlidXRlIG5hbWU9InNlY29uZG5hbWUiIGlk
PSI6OkFjY291bnQ2OjpzZWNvbmRuYW1lIj4KLSAgICAgIDx3ZWJpZGw+ICBhdHRyaWJ1dGUgRE9N
U3RyaW5nIHNlY29uZG5hbWU7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJET01TdHJpbmci
Lz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAgICA8U2VyaWFsaXplcj4KLSAgICAgIDx3ZWJpZGw+ICBz
ZXJpYWxpemVyID0geyBpbmhlcml0LCBhdHRyaWJ1dGUgfTs8L3dlYmlkbD4KLSAgICAgIDxNYXAg
aW5oZXJpdD0iaW5oZXJpdCIgcGF0dGVybj0iYWxsIi8+Ci0gICAgPC9TZXJpYWxpemVyPgotICA8
L0ludGVyZmFjZT4KLSAgPEludGVyZmFjZSBuYW1lPSJBY2NvdW50NyIgaWQ9Ijo6QWNjb3VudDci
PgotICAgIDx3ZWJpZGw+aW50ZXJmYWNlIEFjY291bnQ3IHsKLSAgYXR0cmlidXRlIERPTVN0cmlu
ZyBuYW1lOwotICBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBudW1iZXI7Ci0gIHNlcmlhbGl6ZXIg
PSBbIG5hbWUsIG51bWJlciBdOwotfTs8L3dlYmlkbD4KLSAgICA8QXR0cmlidXRlIG5hbWU9Im5h
bWUiIGlkPSI6OkFjY291bnQ3OjpuYW1lIj4KLSAgICAgIDx3ZWJpZGw+ICBhdHRyaWJ1dGUgRE9N
U3RyaW5nIG5hbWU7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJET01TdHJpbmciLz4KLSAg
ICA8L0F0dHJpYnV0ZT4KLSAgICA8QXR0cmlidXRlIG5hbWU9Im51bWJlciIgaWQ9Ijo6QWNjb3Vu
dDc6Om51bWJlciI+Ci0gICAgICA8d2ViaWRsPiAgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbnVt
YmVyOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0idW5zaWduZWQgbG9uZyIvPgotICAgIDwv
QXR0cmlidXRlPgotICAgIDxTZXJpYWxpemVyPgotICAgICAgPHdlYmlkbD4gIHNlcmlhbGl6ZXIg
PSBbIG5hbWUsIG51bWJlciBdOzwvd2ViaWRsPgotICAgICAgPExpc3QgcGF0dGVybj0ic2VsZWN0
aW9uIj4KLSAgICAgICAgPFBhdHRlcm5BdHRyaWJ1dGUgbmFtZT0ibmFtZSIvPgotICAgICAgICA8
UGF0dGVybkF0dHJpYnV0ZSBuYW1lPSJudW1iZXIiLz4KLSAgICAgIDwvTGlzdD4KLSAgICA8L1Nl
cmlhbGl6ZXI+Ci0gIDwvSW50ZXJmYWNlPgotICA8SW50ZXJmYWNlIG5hbWU9IkFjY291bnQ4IiBp
ZD0iOjpBY2NvdW50OCI+Ci0gICAgPHdlYmlkbD5pbnRlcmZhY2UgQWNjb3VudDggewotICBnZXR0
ZXIgb2JqZWN0IGdldEl0ZW0odW5zaWduZWQgbG9uZyBpbmRleCk7Ci0gIHNlcmlhbGl6ZXIgPSBb
IGdldHRlciBdOwotfTs8L3dlYmlkbD4KLSAgICA8T3BlcmF0aW9uIGdldHRlcj0iZ2V0dGVyIiBu
YW1lPSJnZXRJdGVtIiBpZD0iOjpBY2NvdW50ODo6Z2V0SXRlbSI+Ci0gICAgICA8d2ViaWRsPiAg
Z2V0dGVyIG9iamVjdCBnZXRJdGVtKHVuc2lnbmVkIGxvbmcgaW5kZXgpOzwvd2ViaWRsPgotICAg
ICAgPFR5cGUgdHlwZT0ib2JqZWN0Ii8+Ci0gICAgICA8QXJndW1lbnRMaXN0PgotICAgICAgICA8
QXJndW1lbnQgbmFtZT0iaW5kZXgiPgotICAgICAgICAgIDxUeXBlIHR5cGU9InVuc2lnbmVkIGxv
bmciLz4KLSAgICAgICAgPC9Bcmd1bWVudD4KLSAgICAgIDwvQXJndW1lbnRMaXN0PgotICAgIDwv
T3BlcmF0aW9uPgotICAgIDxTZXJpYWxpemVyPgotICAgICAgPHdlYmlkbD4gIHNlcmlhbGl6ZXIg
PSBbIGdldHRlciBdOzwvd2ViaWRsPgotICAgICAgPExpc3QgcGF0dGVybj0iZ2V0dGVyIi8+Ci0g
ICAgPC9TZXJpYWxpemVyPgotICA8L0ludGVyZmFjZT4KLTwvRGVmaW5pdGlvbnM+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvc3BlY2lhbC1vbWl0dGFibGUu
d2lkbHByb2N4bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvc3BlY2lhbC1v
bWl0dGFibGUud2lkbHByb2N4bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDE5ODZk
MTkwYTgwLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94
bWwvc3BlY2lhbC1vbWl0dGFibGUud2lkbHByb2N4bWwKKysrIC9kZXYvbnVsbApAQCAtMSwzNyAr
MCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgotPCFET0NUWVBF
IERlZmluaXRpb25zIFNZU1RFTSAid2lkbHByb2N4bWwuZHRkIj4KLTxEZWZpbml0aW9ucz4KLSAg
PEludGVyZmFjZSBuYW1lPSJEaWN0aW9uYXJ5IiBpZD0iOjpEaWN0aW9uYXJ5Ij4KLSAgICA8d2Vi
aWRsPmludGVyZmFjZSBEaWN0aW9uYXJ5IHsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVk
IGxvbmcgcHJvcGVydHlDb3VudDsKLQotICBvbWl0dGFibGUgZ2V0dGVyIGZsb2F0IGdldFByb3Bl
cnR5KERPTVN0cmluZyBwcm9wZXJ0eU5hbWUpOwotICBvbWl0dGFibGUgc2V0dGVyIHZvaWQgc2V0
UHJvcGVydHkoRE9NU3RyaW5nIHByb3BlcnR5TmFtZSwgZmxvYXQgcHJvcGVydHlWYWx1ZSk7Ci19
Ozwvd2ViaWRsPgotICAgIDxBdHRyaWJ1dGUgcmVhZG9ubHk9InJlYWRvbmx5IiBuYW1lPSJwcm9w
ZXJ0eUNvdW50IiBpZD0iOjpEaWN0aW9uYXJ5Ojpwcm9wZXJ0eUNvdW50Ij4KLSAgICAgIDx3ZWJp
ZGw+ICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBwcm9wZXJ0eUNvdW50Ozwvd2Vi
aWRsPgotICAgICAgPFR5cGUgdHlwZT0idW5zaWduZWQgbG9uZyIvPgotICAgIDwvQXR0cmlidXRl
PgotICAgIDxPcGVyYXRpb24gb21pdHRhYmxlPSJvbWl0dGFibGUiIGdldHRlcj0iZ2V0dGVyIiBu
YW1lPSJnZXRQcm9wZXJ0eSIgaWQ9Ijo6RGljdGlvbmFyeTo6Z2V0UHJvcGVydHkiPgotICAgICAg
PHdlYmlkbD4gIG9taXR0YWJsZSBnZXR0ZXIgZmxvYXQgZ2V0UHJvcGVydHkoRE9NU3RyaW5nIHBy
b3BlcnR5TmFtZSk7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJmbG9hdCIvPgotICAgICAg
PEFyZ3VtZW50TGlzdD4KLSAgICAgICAgPEFyZ3VtZW50IG5hbWU9InByb3BlcnR5TmFtZSI+Ci0g
ICAgICAgICAgPFR5cGUgdHlwZT0iRE9NU3RyaW5nIi8+Ci0gICAgICAgIDwvQXJndW1lbnQ+Ci0g
ICAgICA8L0FyZ3VtZW50TGlzdD4KLSAgICA8L09wZXJhdGlvbj4KLSAgICA8T3BlcmF0aW9uIG9t
aXR0YWJsZT0ib21pdHRhYmxlIiBzZXR0ZXI9InNldHRlciIgbmFtZT0ic2V0UHJvcGVydHkiIGlk
PSI6OkRpY3Rpb25hcnk6OnNldFByb3BlcnR5Ij4KLSAgICAgIDx3ZWJpZGw+ICBvbWl0dGFibGUg
c2V0dGVyIHZvaWQgc2V0UHJvcGVydHkoRE9NU3RyaW5nIHByb3BlcnR5TmFtZSwgZmxvYXQgcHJv
cGVydHlWYWx1ZSk7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJ2b2lkIi8+Ci0gICAgICA8
QXJndW1lbnRMaXN0PgotICAgICAgICA8QXJndW1lbnQgbmFtZT0icHJvcGVydHlOYW1lIj4KLSAg
ICAgICAgICA8VHlwZSB0eXBlPSJET01TdHJpbmciLz4KLSAgICAgICAgPC9Bcmd1bWVudD4KLSAg
ICAgICAgPEFyZ3VtZW50IG5hbWU9InByb3BlcnR5VmFsdWUiPgotICAgICAgICAgIDxUeXBlIHR5
cGU9ImZsb2F0Ii8+Ci0gICAgICAgIDwvQXJndW1lbnQ+Ci0gICAgICA8L0FyZ3VtZW50TGlzdD4K
LSAgICA8L09wZXJhdGlvbj4KLSAgPC9JbnRlcmZhY2U+Ci08L0RlZmluaXRpb25zPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL3N0YXRpYy53aWRscHJvY3ht
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9zdGF0aWMud2lkbHByb2N4bWwK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAzYzE0ZTE2ZWJhLi4wMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvc3RhdGljLndpZGxwcm9jeG1s
CisrKyAvZGV2L251bGwKQEAgLTEsNTggKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNv
ZGluZz0iVVRGLTgiPz4KLTwhRE9DVFlQRSBEZWZpbml0aW9ucyBTWVNURU0gIndpZGxwcm9jeG1s
LmR0ZCI+Ci08RGVmaW5pdGlvbnM+Ci0gIDx3ZWJpZGw+aW50ZXJmYWNlIFBvaW50IHsgIH07Ci0K
LWludGVyZmFjZSBDaXJjbGUgewotICBhdHRyaWJ1dGUgZmxvYXQgY3g7Ci0gIGF0dHJpYnV0ZSBm
bG9hdCBjeTsKLSAgYXR0cmlidXRlIGZsb2F0IHJhZGl1czsKLQotICBzdGF0aWMgcmVhZG9ubHkg
YXR0cmlidXRlIGxvbmcgdHJpYW5ndWxhdGlvbkNvdW50OwotICBzdGF0aWMgPHJlZj5Qb2ludDwv
cmVmPiB0cmlhbmd1bGF0ZSg8cmVmPkNpcmNsZTwvcmVmPiBjMSwgPHJlZj5DaXJjbGU8L3JlZj4g
YzIsIDxyZWY+Q2lyY2xlPC9yZWY+IGMzKTsKLX07PC93ZWJpZGw+Ci0gIDxJbnRlcmZhY2UgbmFt
ZT0iUG9pbnQiIGlkPSI6OlBvaW50Ij4KLSAgICA8d2ViaWRsPmludGVyZmFjZSBQb2ludCB7ICB9
Ozwvd2ViaWRsPgotICA8L0ludGVyZmFjZT4KLSAgPEludGVyZmFjZSBuYW1lPSJDaXJjbGUiIGlk
PSI6OkNpcmNsZSI+Ci0gICAgPHdlYmlkbD5pbnRlcmZhY2UgQ2lyY2xlIHsKLSAgYXR0cmlidXRl
IGZsb2F0IGN4OwotICBhdHRyaWJ1dGUgZmxvYXQgY3k7Ci0gIGF0dHJpYnV0ZSBmbG9hdCByYWRp
dXM7Ci0KLSAgc3RhdGljIHJlYWRvbmx5IGF0dHJpYnV0ZSBsb25nIHRyaWFuZ3VsYXRpb25Db3Vu
dDsKLSAgc3RhdGljIDxyZWY+UG9pbnQ8L3JlZj4gdHJpYW5ndWxhdGUoPHJlZj5DaXJjbGU8L3Jl
Zj4gYzEsIDxyZWY+Q2lyY2xlPC9yZWY+IGMyLCA8cmVmPkNpcmNsZTwvcmVmPiBjMyk7Ci19Ozwv
d2ViaWRsPgotICAgIDxBdHRyaWJ1dGUgbmFtZT0iY3giIGlkPSI6OkNpcmNsZTo6Y3giPgotICAg
ICAgPHdlYmlkbD4gIGF0dHJpYnV0ZSBmbG9hdCBjeDs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5
cGU9ImZsb2F0Ii8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gICAgPEF0dHJpYnV0ZSBuYW1lPSJjeSIg
aWQ9Ijo6Q2lyY2xlOjpjeSI+Ci0gICAgICA8d2ViaWRsPiAgYXR0cmlidXRlIGZsb2F0IGN5Ozwv
d2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0iZmxvYXQiLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAg
ICA8QXR0cmlidXRlIG5hbWU9InJhZGl1cyIgaWQ9Ijo6Q2lyY2xlOjpyYWRpdXMiPgotICAgICAg
PHdlYmlkbD4gIGF0dHJpYnV0ZSBmbG9hdCByYWRpdXM7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0
eXBlPSJmbG9hdCIvPgotICAgIDwvQXR0cmlidXRlPgotICAgIDxBdHRyaWJ1dGUgc3RhdGljPSJz
dGF0aWMiIHJlYWRvbmx5PSJyZWFkb25seSIgbmFtZT0idHJpYW5ndWxhdGlvbkNvdW50IiBpZD0i
OjpDaXJjbGU6OnRyaWFuZ3VsYXRpb25Db3VudCI+Ci0gICAgICA8d2ViaWRsPiAgc3RhdGljIHJl
YWRvbmx5IGF0dHJpYnV0ZSBsb25nIHRyaWFuZ3VsYXRpb25Db3VudDs8L3dlYmlkbD4KLSAgICAg
IDxUeXBlIHR5cGU9ImxvbmciLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAgICA8T3BlcmF0aW9uIHN0
YXRpYz0ic3RhdGljIiBuYW1lPSJ0cmlhbmd1bGF0ZSIgaWQ9Ijo6Q2lyY2xlOjp0cmlhbmd1bGF0
ZSI+Ci0gICAgICA8d2ViaWRsPiAgc3RhdGljIDxyZWY+UG9pbnQ8L3JlZj4gdHJpYW5ndWxhdGUo
PHJlZj5DaXJjbGU8L3JlZj4gYzEsIDxyZWY+Q2lyY2xlPC9yZWY+IGMyLCA8cmVmPkNpcmNsZTwv
cmVmPiBjMyk7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSBuYW1lPSJQb2ludCIvPgotICAgICAgPEFy
Z3VtZW50TGlzdD4KLSAgICAgICAgPEFyZ3VtZW50IG5hbWU9ImMxIj4KLSAgICAgICAgICA8VHlw
ZSBuYW1lPSJDaXJjbGUiLz4KLSAgICAgICAgPC9Bcmd1bWVudD4KLSAgICAgICAgPEFyZ3VtZW50
IG5hbWU9ImMyIj4KLSAgICAgICAgICA8VHlwZSBuYW1lPSJDaXJjbGUiLz4KLSAgICAgICAgPC9B
cmd1bWVudD4KLSAgICAgICAgPEFyZ3VtZW50IG5hbWU9ImMzIj4KLSAgICAgICAgICA8VHlwZSBu
YW1lPSJDaXJjbGUiLz4KLSAgICAgICAgPC9Bcmd1bWVudD4KLSAgICAgIDwvQXJndW1lbnRMaXN0
PgotICAgIDwvT3BlcmF0aW9uPgotICA8L0ludGVyZmFjZT4KLTwvRGVmaW5pdGlvbnM+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvc3RyaW5naWZpZXItYXR0
cmlidXRlLndpZGxwcm9jeG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL3N0
cmluZ2lmaWVyLWF0dHJpYnV0ZS53aWRscHJvY3htbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDgyY2U0ZDM0MWIuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90
ZXN0L3ZhbGlkL3htbC9zdHJpbmdpZmllci1hdHRyaWJ1dGUud2lkbHByb2N4bWwKKysrIC9kZXYv
bnVsbApAQCAtMSwyOSArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYt
OCI/PgotPCFET0NUWVBFIERlZmluaXRpb25zIFNZU1RFTSAid2lkbHByb2N4bWwuZHRkIj4KLTxE
ZWZpbml0aW9ucz4KLSAgPHdlYmlkbD5bQ29uc3RydWN0b3JdCi1pbnRlcmZhY2UgU3R1ZGVudCB7
Ci0gIGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGlkOwotICBzdHJpbmdpZmllciBhdHRyaWJ1dGUg
RE9NU3RyaW5nIG5hbWU7Ci19Ozwvd2ViaWRsPgotICA8SW50ZXJmYWNlIG5hbWU9IlN0dWRlbnQi
IGlkPSI6OlN0dWRlbnQiPgotICAgIDx3ZWJpZGw+W0NvbnN0cnVjdG9yXQotaW50ZXJmYWNlIFN0
dWRlbnQgewotICBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBpZDsKLSAgc3RyaW5naWZpZXIgYXR0
cmlidXRlIERPTVN0cmluZyBuYW1lOwotfTs8L3dlYmlkbD4KLSAgICA8RXh0ZW5kZWRBdHRyaWJ1
dGVMaXN0PgotICAgICAgPEV4dGVuZGVkQXR0cmlidXRlIG5hbWU9IkNvbnN0cnVjdG9yIj4KLSAg
ICAgICAgPHdlYmlkbD5Db25zdHJ1Y3Rvcjwvd2ViaWRsPgotICAgICAgPC9FeHRlbmRlZEF0dHJp
YnV0ZT4KLSAgICA8L0V4dGVuZGVkQXR0cmlidXRlTGlzdD4KLSAgICA8QXR0cmlidXRlIG5hbWU9
ImlkIiBpZD0iOjpTdHVkZW50OjppZCI+Ci0gICAgICA8d2ViaWRsPiAgYXR0cmlidXRlIHVuc2ln
bmVkIGxvbmcgaWQ7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJ1bnNpZ25lZCBsb25nIi8+
Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gICAgPEF0dHJpYnV0ZSBzdHJpbmdpZmllcj0ic3RyaW5naWZp
ZXIiIG5hbWU9Im5hbWUiIGlkPSI6OlN0dWRlbnQ6Om5hbWUiPgotICAgICAgPHdlYmlkbD4gIHN0
cmluZ2lmaWVyIGF0dHJpYnV0ZSBET01TdHJpbmcgbmFtZTs8L3dlYmlkbD4KLSAgICAgIDxUeXBl
IHR5cGU9IkRPTVN0cmluZyIvPgotICAgIDwvQXR0cmlidXRlPgotICA8L0ludGVyZmFjZT4KLTwv
RGVmaW5pdGlvbnM+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94
bWwvc3RyaW5naWZpZXItY3VzdG9tLndpZGxwcm9jeG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rl
c3QvdmFsaWQveG1sL3N0cmluZ2lmaWVyLWN1c3RvbS53aWRscHJvY3htbApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggY2RhYjFjY2ZjMzcuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9zdHJpbmdpZmllci1jdXN0b20ud2lkbHByb2N4bWwK
KysrIC9kZXYvbnVsbApAQCAtMSw0NCArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29k
aW5nPSJVVEYtOCI/PgotPCFET0NUWVBFIERlZmluaXRpb25zIFNZU1RFTSAid2lkbHByb2N4bWwu
ZHRkIj4KLTxEZWZpbml0aW9ucz4KLSAgPHdlYmlkbD5bQ29uc3RydWN0b3JdCi1pbnRlcmZhY2Ug
U3R1ZGVudCB7Ci0gIGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGlkOwotICBhdHRyaWJ1dGUgRE9N
U3RyaW5nPyBmYW1pbHlOYW1lOwotICBhdHRyaWJ1dGUgRE9NU3RyaW5nIGdpdmVuTmFtZTsKLQot
ICBzdHJpbmdpZmllciBET01TdHJpbmcgKCk7Ci19Ozwvd2ViaWRsPgotICA8SW50ZXJmYWNlIG5h
bWU9IlN0dWRlbnQiIGlkPSI6OlN0dWRlbnQiPgotICAgIDx3ZWJpZGw+W0NvbnN0cnVjdG9yXQot
aW50ZXJmYWNlIFN0dWRlbnQgewotICBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBpZDsKLSAgYXR0
cmlidXRlIERPTVN0cmluZz8gZmFtaWx5TmFtZTsKLSAgYXR0cmlidXRlIERPTVN0cmluZyBnaXZl
bk5hbWU7Ci0KLSAgc3RyaW5naWZpZXIgRE9NU3RyaW5nICgpOwotfTs8L3dlYmlkbD4KLSAgICA8
RXh0ZW5kZWRBdHRyaWJ1dGVMaXN0PgotICAgICAgPEV4dGVuZGVkQXR0cmlidXRlIG5hbWU9IkNv
bnN0cnVjdG9yIj4KLSAgICAgICAgPHdlYmlkbD5Db25zdHJ1Y3Rvcjwvd2ViaWRsPgotICAgICAg
PC9FeHRlbmRlZEF0dHJpYnV0ZT4KLSAgICA8L0V4dGVuZGVkQXR0cmlidXRlTGlzdD4KLSAgICA8
QXR0cmlidXRlIG5hbWU9ImlkIiBpZD0iOjpTdHVkZW50OjppZCI+Ci0gICAgICA8d2ViaWRsPiAg
YXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgaWQ7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJ1
bnNpZ25lZCBsb25nIi8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gICAgPEF0dHJpYnV0ZSBuYW1lPSJm
YW1pbHlOYW1lIiBpZD0iOjpTdHVkZW50OjpmYW1pbHlOYW1lIj4KLSAgICAgIDx3ZWJpZGw+ICBh
dHRyaWJ1dGUgRE9NU3RyaW5nPyBmYW1pbHlOYW1lOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlw
ZT0iRE9NU3RyaW5nIiBudWxsYWJsZT0ibnVsbGFibGUiLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAg
ICA8QXR0cmlidXRlIG5hbWU9ImdpdmVuTmFtZSIgaWQ9Ijo6U3R1ZGVudDo6Z2l2ZW5OYW1lIj4K
LSAgICAgIDx3ZWJpZGw+ICBhdHRyaWJ1dGUgRE9NU3RyaW5nIGdpdmVuTmFtZTs8L3dlYmlkbD4K
LSAgICAgIDxUeXBlIHR5cGU9IkRPTVN0cmluZyIvPgotICAgIDwvQXR0cmlidXRlPgotICAgIDxP
cGVyYXRpb24gc3RyaW5naWZpZXI9InN0cmluZ2lmaWVyIj4KLSAgICAgIDx3ZWJpZGw+ICBzdHJp
bmdpZmllciBET01TdHJpbmcgKCk7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJET01TdHJp
bmciLz4KLSAgICAgIDxBcmd1bWVudExpc3QvPgotICAgIDwvT3BlcmF0aW9uPgotICA8L0ludGVy
ZmFjZT4KLTwvRGVmaW5pdGlvbnM+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVz
dC92YWxpZC94bWwvc3RyaW5naWZpZXIud2lkbHByb2N4bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mv
dGVzdC92YWxpZC94bWwvc3RyaW5naWZpZXIud2lkbHByb2N4bWwKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDRhMThiODBiNzA0Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lk
bHByb2MvdGVzdC92YWxpZC94bWwvc3RyaW5naWZpZXIud2lkbHByb2N4bWwKKysrIC9kZXYvbnVs
bApAQCAtMSwyOSArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/
PgotPCFET0NUWVBFIERlZmluaXRpb25zIFNZU1RFTSAid2lkbHByb2N4bWwuZHRkIj4KLTxEZWZp
bml0aW9ucz4KLSAgPHdlYmlkbD5pbnRlcmZhY2UgQSB7Ci0gIHN0cmluZ2lmaWVyIERPTVN0cmlu
ZyAoKTsKLX07Ci0KLWludGVyZmFjZSBBIHsKLSAgc3RyaW5naWZpZXI7Ci19Ozwvd2ViaWRsPgot
ICA8SW50ZXJmYWNlIG5hbWU9IkEiIGlkPSI6OkEiPgotICAgIDx3ZWJpZGw+aW50ZXJmYWNlIEEg
ewotICBzdHJpbmdpZmllciBET01TdHJpbmcgKCk7Ci19Ozwvd2ViaWRsPgotICAgIDxPcGVyYXRp
b24gc3RyaW5naWZpZXI9InN0cmluZ2lmaWVyIj4KLSAgICAgIDx3ZWJpZGw+ICBzdHJpbmdpZmll
ciBET01TdHJpbmcgKCk7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJET01TdHJpbmciLz4K
LSAgICAgIDxBcmd1bWVudExpc3QvPgotICAgIDwvT3BlcmF0aW9uPgotICA8L0ludGVyZmFjZT4K
LSAgPEludGVyZmFjZSBuYW1lPSJBIiBpZD0iOjpBIj4KLSAgICA8d2ViaWRsPmludGVyZmFjZSBB
IHsKLSAgc3RyaW5naWZpZXI7Ci19Ozwvd2ViaWRsPgotICAgIDxTdHJpbmdpZmllcj4KLSAgICAg
IDx3ZWJpZGw+ICBzdHJpbmdpZmllcjs8L3dlYmlkbD4KLSAgICA8L1N0cmluZ2lmaWVyPgotICA8
L0ludGVyZmFjZT4KLTwvRGVmaW5pdGlvbnM+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHBy
b2MvdGVzdC92YWxpZC94bWwvdHJlYXRhc251bGwud2lkbHByb2N4bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lk
bHByb2MvdGVzdC92YWxpZC94bWwvdHJlYXRhc251bGwud2lkbHByb2N4bWwKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IGE1N2FlMTYzZjBiLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvdHJlYXRhc251bGwud2lkbHByb2N4bWwKKysrIC9k
ZXYvbnVsbApAQCAtMSw0MCArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJV
VEYtOCI/PgotPCFET0NUWVBFIERlZmluaXRpb25zIFNZU1RFTSAid2lkbHByb2N4bWwuZHRkIj4K
LTxEZWZpbml0aW9ucz4KLSAgPHdlYmlkbD5pbnRlcmZhY2UgRG9nIHsKLSAgYXR0cmlidXRlIERP
TVN0cmluZyBuYW1lOwotICBhdHRyaWJ1dGUgRE9NU3RyaW5nIG93bmVyOwotCi0gIGJvb2xlYW4g
aXNNZW1iZXJPZkJyZWVkKFtUcmVhdE51bGxBcz1FbXB0eVN0cmluZ10gRE9NU3RyaW5nIGJyZWVk
TmFtZSk7Ci19Ozwvd2ViaWRsPgotICA8SW50ZXJmYWNlIG5hbWU9IkRvZyIgaWQ9Ijo6RG9nIj4K
LSAgICA8d2ViaWRsPmludGVyZmFjZSBEb2cgewotICBhdHRyaWJ1dGUgRE9NU3RyaW5nIG5hbWU7
Ci0gIGF0dHJpYnV0ZSBET01TdHJpbmcgb3duZXI7Ci0KLSAgYm9vbGVhbiBpc01lbWJlck9mQnJl
ZWQoW1RyZWF0TnVsbEFzPUVtcHR5U3RyaW5nXSBET01TdHJpbmcgYnJlZWROYW1lKTsKLX07PC93
ZWJpZGw+Ci0gICAgPEF0dHJpYnV0ZSBuYW1lPSJuYW1lIiBpZD0iOjpEb2c6Om5hbWUiPgotICAg
ICAgPHdlYmlkbD4gIGF0dHJpYnV0ZSBET01TdHJpbmcgbmFtZTs8L3dlYmlkbD4KLSAgICAgIDxU
eXBlIHR5cGU9IkRPTVN0cmluZyIvPgotICAgIDwvQXR0cmlidXRlPgotICAgIDxBdHRyaWJ1dGUg
bmFtZT0ib3duZXIiIGlkPSI6OkRvZzo6b3duZXIiPgotICAgICAgPHdlYmlkbD4gIGF0dHJpYnV0
ZSBET01TdHJpbmcgb3duZXI7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJET01TdHJpbmci
Lz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAgICA8T3BlcmF0aW9uIG5hbWU9ImlzTWVtYmVyT2ZCcmVl
ZCIgaWQ9Ijo6RG9nOjppc01lbWJlck9mQnJlZWQiPgotICAgICAgPHdlYmlkbD4gIGJvb2xlYW4g
aXNNZW1iZXJPZkJyZWVkKFtUcmVhdE51bGxBcz1FbXB0eVN0cmluZ10gRE9NU3RyaW5nIGJyZWVk
TmFtZSk7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJib29sZWFuIi8+Ci0gICAgICA8QXJn
dW1lbnRMaXN0PgotICAgICAgICA8QXJndW1lbnQgbmFtZT0iYnJlZWROYW1lIj4KLSAgICAgICAg
ICA8RXh0ZW5kZWRBdHRyaWJ1dGVMaXN0PgotICAgICAgICAgICAgPEV4dGVuZGVkQXR0cmlidXRl
IG5hbWU9IlRyZWF0TnVsbEFzIiB2YWx1ZT0iRW1wdHlTdHJpbmciPgotICAgICAgICAgICAgICA8
d2ViaWRsPlRyZWF0TnVsbEFzPC93ZWJpZGw+Ci0gICAgICAgICAgICA8L0V4dGVuZGVkQXR0cmli
dXRlPgotICAgICAgICAgIDwvRXh0ZW5kZWRBdHRyaWJ1dGVMaXN0PgotICAgICAgICAgIDxUeXBl
IHR5cGU9IkRPTVN0cmluZyIvPgotICAgICAgICA8L0FyZ3VtZW50PgotICAgICAgPC9Bcmd1bWVu
dExpc3Q+Ci0gICAgPC9PcGVyYXRpb24+Ci0gIDwvSW50ZXJmYWNlPgotPC9EZWZpbml0aW9ucz4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC90cmVhdGFzdW5k
ZWZpbmVkLndpZGxwcm9jeG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL3Ry
ZWF0YXN1bmRlZmluZWQud2lkbHByb2N4bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDE3ZTcxMDgxZGEwLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92
YWxpZC94bWwvdHJlYXRhc3VuZGVmaW5lZC53aWRscHJvY3htbAorKysgL2Rldi9udWxsCkBAIC0x
LDQwICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Ci08IURP
Q1RZUEUgRGVmaW5pdGlvbnMgU1lTVEVNICJ3aWRscHJvY3htbC5kdGQiPgotPERlZmluaXRpb25z
PgotICA8d2ViaWRsPmludGVyZmFjZSBDYXQgewotICBhdHRyaWJ1dGUgRE9NU3RyaW5nIG5hbWU7
Ci0gIGF0dHJpYnV0ZSBET01TdHJpbmcgb3duZXI7Ci0KLSAgYm9vbGVhbiBpc01lbWJlck9mQnJl
ZWQoW1RyZWF0VW5kZWZpbmVkQXM9RW1wdHlTdHJpbmddIERPTVN0cmluZyBicmVlZE5hbWUpOwot
fTs8L3dlYmlkbD4KLSAgPEludGVyZmFjZSBuYW1lPSJDYXQiIGlkPSI6OkNhdCI+Ci0gICAgPHdl
YmlkbD5pbnRlcmZhY2UgQ2F0IHsKLSAgYXR0cmlidXRlIERPTVN0cmluZyBuYW1lOwotICBhdHRy
aWJ1dGUgRE9NU3RyaW5nIG93bmVyOwotCi0gIGJvb2xlYW4gaXNNZW1iZXJPZkJyZWVkKFtUcmVh
dFVuZGVmaW5lZEFzPUVtcHR5U3RyaW5nXSBET01TdHJpbmcgYnJlZWROYW1lKTsKLX07PC93ZWJp
ZGw+Ci0gICAgPEF0dHJpYnV0ZSBuYW1lPSJuYW1lIiBpZD0iOjpDYXQ6Om5hbWUiPgotICAgICAg
PHdlYmlkbD4gIGF0dHJpYnV0ZSBET01TdHJpbmcgbmFtZTs8L3dlYmlkbD4KLSAgICAgIDxUeXBl
IHR5cGU9IkRPTVN0cmluZyIvPgotICAgIDwvQXR0cmlidXRlPgotICAgIDxBdHRyaWJ1dGUgbmFt
ZT0ib3duZXIiIGlkPSI6OkNhdDo6b3duZXIiPgotICAgICAgPHdlYmlkbD4gIGF0dHJpYnV0ZSBE
T01TdHJpbmcgb3duZXI7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJET01TdHJpbmciLz4K
LSAgICA8L0F0dHJpYnV0ZT4KLSAgICA8T3BlcmF0aW9uIG5hbWU9ImlzTWVtYmVyT2ZCcmVlZCIg
aWQ9Ijo6Q2F0Ojppc01lbWJlck9mQnJlZWQiPgotICAgICAgPHdlYmlkbD4gIGJvb2xlYW4gaXNN
ZW1iZXJPZkJyZWVkKFtUcmVhdFVuZGVmaW5lZEFzPUVtcHR5U3RyaW5nXSBET01TdHJpbmcgYnJl
ZWROYW1lKTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9ImJvb2xlYW4iLz4KLSAgICAgIDxB
cmd1bWVudExpc3Q+Ci0gICAgICAgIDxBcmd1bWVudCBuYW1lPSJicmVlZE5hbWUiPgotICAgICAg
ICAgIDxFeHRlbmRlZEF0dHJpYnV0ZUxpc3Q+Ci0gICAgICAgICAgICA8RXh0ZW5kZWRBdHRyaWJ1
dGUgbmFtZT0iVHJlYXRVbmRlZmluZWRBcyIgdmFsdWU9IkVtcHR5U3RyaW5nIj4KLSAgICAgICAg
ICAgICAgPHdlYmlkbD5UcmVhdFVuZGVmaW5lZEFzPC93ZWJpZGw+Ci0gICAgICAgICAgICA8L0V4
dGVuZGVkQXR0cmlidXRlPgotICAgICAgICAgIDwvRXh0ZW5kZWRBdHRyaWJ1dGVMaXN0PgotICAg
ICAgICAgIDxUeXBlIHR5cGU9IkRPTVN0cmluZyIvPgotICAgICAgICA8L0FyZ3VtZW50PgotICAg
ICAgPC9Bcmd1bWVudExpc3Q+Ci0gICAgPC9PcGVyYXRpb24+Ci0gIDwvSW50ZXJmYWNlPgotPC9E
ZWZpbml0aW9ucz4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3ht
bC90eXBlZGVmLndpZGxwcm9jeG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1s
L3R5cGVkZWYud2lkbHByb2N4bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDc4NWY2
NzA2ZTZkLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94
bWwvdHlwZWRlZi53aWRscHJvY3htbAorKysgL2Rldi9udWxsCkBAIC0xLDEwMCArMCwwIEBACi08
P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgotPCFET0NUWVBFIERlZmluaXRp
b25zIFNZU1RFTSAid2lkbHByb2N4bWwuZHRkIj4KLTxEZWZpbml0aW9ucz4KLSAgPHdlYmlkbD4g
ICAgICBpbnRlcmZhY2UgUG9pbnQgewotICAgICAgICBhdHRyaWJ1dGUgZmxvYXQgeDsKLSAgICAg
ICAgYXR0cmlidXRlIGZsb2F0IHk7Ci0gICAgICB9OwotCi0gICAgICB0eXBlZGVmIHNlcXVlbmNl
Jmx0OzxyZWY+UG9pbnQ8L3JlZj4+IFBvaW50U2VxdWVuY2U7Ci0KLSAgICAgIGludGVyZmFjZSBS
ZWN0IHsKLSAgICAgICAgYXR0cmlidXRlIDxyZWY+UG9pbnQ8L3JlZj4gdG9wbGVmdDsKLSAgICAg
ICAgYXR0cmlidXRlIDxyZWY+UG9pbnQ8L3JlZj4gYm90dG9tcmlnaHQ7Ci0gICAgICB9OwotCi0g
IGludGVyZmFjZSBXaWRnZXQgewotCi0gICAgcmVhZG9ubHkgYXR0cmlidXRlIDxyZWY+UmVjdDwv
cmVmPiBib3VuZHM7Ci0KLSAgICBib29sZWFuIHBvaW50V2l0aGluQm91bmRzKDxyZWY+UG9pbnQ8
L3JlZj4gcCk7Ci0gICAgYm9vbGVhbiBhbGxQb2ludHNXaXRoaW5Cb3VuZHMoPHJlZj5Qb2ludFNl
cXVlbmNlPC9yZWY+IHBzKTsKLSAgfTsKLQotICB0eXBlZGVmIFtDbGFtcF0gb2N0ZXQgdmFsdWU7
PC93ZWJpZGw+Ci0gIDxJbnRlcmZhY2UgbmFtZT0iUG9pbnQiIGlkPSI6OlBvaW50Ij4KLSAgICA8
d2ViaWRsPiAgICAgIGludGVyZmFjZSBQb2ludCB7Ci0gICAgICAgIGF0dHJpYnV0ZSBmbG9hdCB4
OwotICAgICAgICBhdHRyaWJ1dGUgZmxvYXQgeTsKLSAgICAgIH07PC93ZWJpZGw+Ci0gICAgPEF0
dHJpYnV0ZSBuYW1lPSJ4IiBpZD0iOjpQb2ludDo6eCI+Ci0gICAgICA8d2ViaWRsPiAgICAgICAg
YXR0cmlidXRlIGZsb2F0IHg7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJmbG9hdCIvPgot
ICAgIDwvQXR0cmlidXRlPgotICAgIDxBdHRyaWJ1dGUgbmFtZT0ieSIgaWQ9Ijo6UG9pbnQ6Onki
PgotICAgICAgPHdlYmlkbD4gICAgICAgIGF0dHJpYnV0ZSBmbG9hdCB5Ozwvd2ViaWRsPgotICAg
ICAgPFR5cGUgdHlwZT0iZmxvYXQiLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAgPC9JbnRlcmZhY2U+
Ci0gIDxUeXBlZGVmIG5hbWU9IlBvaW50U2VxdWVuY2UiIGlkPSI6OlBvaW50U2VxdWVuY2UiPgot
ICAgIDx3ZWJpZGw+ICAgICAgdHlwZWRlZiBzZXF1ZW5jZSZsdDs8cmVmPlBvaW50PC9yZWY+PiBQ
b2ludFNlcXVlbmNlOzwvd2ViaWRsPgotICAgIDxUeXBlIHR5cGU9InNlcXVlbmNlIj4KLSAgICAg
IDxUeXBlIG5hbWU9IlBvaW50Ii8+Ci0gICAgPC9UeXBlPgotICA8L1R5cGVkZWY+Ci0gIDxJbnRl
cmZhY2UgbmFtZT0iUmVjdCIgaWQ9Ijo6UmVjdCI+Ci0gICAgPHdlYmlkbD4gICAgICBpbnRlcmZh
Y2UgUmVjdCB7Ci0gICAgICAgIGF0dHJpYnV0ZSA8cmVmPlBvaW50PC9yZWY+IHRvcGxlZnQ7Ci0g
ICAgICAgIGF0dHJpYnV0ZSA8cmVmPlBvaW50PC9yZWY+IGJvdHRvbXJpZ2h0OwotICAgICAgfTs8
L3dlYmlkbD4KLSAgICA8QXR0cmlidXRlIG5hbWU9InRvcGxlZnQiIGlkPSI6OlJlY3Q6OnRvcGxl
ZnQiPgotICAgICAgPHdlYmlkbD4gICAgICAgIGF0dHJpYnV0ZSA8cmVmPlBvaW50PC9yZWY+IHRv
cGxlZnQ7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSBuYW1lPSJQb2ludCIvPgotICAgIDwvQXR0cmli
dXRlPgotICAgIDxBdHRyaWJ1dGUgbmFtZT0iYm90dG9tcmlnaHQiIGlkPSI6OlJlY3Q6OmJvdHRv
bXJpZ2h0Ij4KLSAgICAgIDx3ZWJpZGw+ICAgICAgICBhdHRyaWJ1dGUgPHJlZj5Qb2ludDwvcmVm
PiBib3R0b21yaWdodDs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIG5hbWU9IlBvaW50Ii8+Ci0gICAg
PC9BdHRyaWJ1dGU+Ci0gIDwvSW50ZXJmYWNlPgotICA8SW50ZXJmYWNlIG5hbWU9IldpZGdldCIg
aWQ9Ijo6V2lkZ2V0Ij4KLSAgICA8d2ViaWRsPiAgaW50ZXJmYWNlIFdpZGdldCB7Ci0KLSAgICBy
ZWFkb25seSBhdHRyaWJ1dGUgPHJlZj5SZWN0PC9yZWY+IGJvdW5kczsKLQotICAgIGJvb2xlYW4g
cG9pbnRXaXRoaW5Cb3VuZHMoPHJlZj5Qb2ludDwvcmVmPiBwKTsKLSAgICBib29sZWFuIGFsbFBv
aW50c1dpdGhpbkJvdW5kcyg8cmVmPlBvaW50U2VxdWVuY2U8L3JlZj4gcHMpOwotICB9Ozwvd2Vi
aWRsPgotICAgIDxBdHRyaWJ1dGUgcmVhZG9ubHk9InJlYWRvbmx5IiBuYW1lPSJib3VuZHMiIGlk
PSI6OldpZGdldDo6Ym91bmRzIj4KLSAgICAgIDx3ZWJpZGw+ICAgIHJlYWRvbmx5IGF0dHJpYnV0
ZSA8cmVmPlJlY3Q8L3JlZj4gYm91bmRzOzwvd2ViaWRsPgotICAgICAgPFR5cGUgbmFtZT0iUmVj
dCIvPgotICAgIDwvQXR0cmlidXRlPgotICAgIDxPcGVyYXRpb24gbmFtZT0icG9pbnRXaXRoaW5C
b3VuZHMiIGlkPSI6OldpZGdldDo6cG9pbnRXaXRoaW5Cb3VuZHMiPgotICAgICAgPHdlYmlkbD4g
ICAgYm9vbGVhbiBwb2ludFdpdGhpbkJvdW5kcyg8cmVmPlBvaW50PC9yZWY+IHApOzwvd2ViaWRs
PgotICAgICAgPFR5cGUgdHlwZT0iYm9vbGVhbiIvPgotICAgICAgPEFyZ3VtZW50TGlzdD4KLSAg
ICAgICAgPEFyZ3VtZW50IG5hbWU9InAiPgotICAgICAgICAgIDxUeXBlIG5hbWU9IlBvaW50Ii8+
Ci0gICAgICAgIDwvQXJndW1lbnQ+Ci0gICAgICA8L0FyZ3VtZW50TGlzdD4KLSAgICA8L09wZXJh
dGlvbj4KLSAgICA8T3BlcmF0aW9uIG5hbWU9ImFsbFBvaW50c1dpdGhpbkJvdW5kcyIgaWQ9Ijo6
V2lkZ2V0OjphbGxQb2ludHNXaXRoaW5Cb3VuZHMiPgotICAgICAgPHdlYmlkbD4gICAgYm9vbGVh
biBhbGxQb2ludHNXaXRoaW5Cb3VuZHMoPHJlZj5Qb2ludFNlcXVlbmNlPC9yZWY+IHBzKTs8L3dl
YmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9ImJvb2xlYW4iLz4KLSAgICAgIDxBcmd1bWVudExpc3Q+
Ci0gICAgICAgIDxBcmd1bWVudCBuYW1lPSJwcyI+Ci0gICAgICAgICAgPFR5cGUgbmFtZT0iUG9p
bnRTZXF1ZW5jZSIvPgotICAgICAgICA8L0FyZ3VtZW50PgotICAgICAgPC9Bcmd1bWVudExpc3Q+
Ci0gICAgPC9PcGVyYXRpb24+Ci0gIDwvSW50ZXJmYWNlPgotICA8VHlwZWRlZiBuYW1lPSJ2YWx1
ZSIgaWQ9Ijo6dmFsdWUiPgotICAgIDx3ZWJpZGw+ICB0eXBlZGVmIFtDbGFtcF0gb2N0ZXQgdmFs
dWU7PC93ZWJpZGw+Ci0gICAgPFR5cGUgdHlwZT0ib2N0ZXQiPgotICAgICAgPEV4dGVuZGVkQXR0
cmlidXRlTGlzdD4KLSAgICAgICAgPEV4dGVuZGVkQXR0cmlidXRlIG5hbWU9IkNsYW1wIj4KLSAg
ICAgICAgICA8d2ViaWRsPkNsYW1wPC93ZWJpZGw+Ci0gICAgICAgIDwvRXh0ZW5kZWRBdHRyaWJ1
dGU+Ci0gICAgICA8L0V4dGVuZGVkQXR0cmlidXRlTGlzdD4KLSAgICA8L1R5cGU+Ci0gIDwvVHlw
ZWRlZj4KLTwvRGVmaW5pdGlvbnM+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVz
dC92YWxpZC94bWwvdHlwZXN1ZmZpeGVzLndpZGxwcm9jeG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9j
L3Rlc3QvdmFsaWQveG1sL3R5cGVzdWZmaXhlcy53aWRscHJvY3htbApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggODMwZmU2MmJjMGQuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93
aWRscHJvYy90ZXN0L3ZhbGlkL3htbC90eXBlc3VmZml4ZXMud2lkbHByb2N4bWwKKysrIC9kZXYv
bnVsbApAQCAtMSwyNSArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYt
OCI/PgotPCFET0NUWVBFIERlZmluaXRpb25zIFNZU1RFTSAid2lkbHByb2N4bWwuZHRkIj4KLTxE
ZWZpbml0aW9ucz4KLSAgPHdlYmlkbD5pbnRlcmZhY2UgU3VmZml4ZXMgewotICB2b2lkIHRlc3Qo
c2VxdWVuY2UmbHQ7RE9NU3RyaW5nW10/Pj8gZm9vKTsKLX07PC93ZWJpZGw+Ci0gIDxJbnRlcmZh
Y2UgbmFtZT0iU3VmZml4ZXMiIGlkPSI6OlN1ZmZpeGVzIj4KLSAgICA8d2ViaWRsPmludGVyZmFj
ZSBTdWZmaXhlcyB7Ci0gIHZvaWQgdGVzdChzZXF1ZW5jZSZsdDtET01TdHJpbmdbXT8+PyBmb28p
OwotfTs8L3dlYmlkbD4KLSAgICA8T3BlcmF0aW9uIG5hbWU9InRlc3QiIGlkPSI6OlN1ZmZpeGVz
Ojp0ZXN0Ij4KLSAgICAgIDx3ZWJpZGw+ICB2b2lkIHRlc3Qoc2VxdWVuY2UmbHQ7RE9NU3RyaW5n
W10/Pj8gZm9vKTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9InZvaWQiLz4KLSAgICAgIDxB
cmd1bWVudExpc3Q+Ci0gICAgICAgIDxBcmd1bWVudCBuYW1lPSJmb28iPgotICAgICAgICAgIDxU
eXBlIHR5cGU9InNlcXVlbmNlIiBudWxsYWJsZT0ibnVsbGFibGUiPgotICAgICAgICAgICAgPFR5
cGUgdHlwZT0iYXJyYXkiIG51bGxhYmxlPSJudWxsYWJsZSI+Ci0gICAgICAgICAgICAgIDxUeXBl
IHR5cGU9IkRPTVN0cmluZyIvPgotICAgICAgICAgICAgPC9UeXBlPgotICAgICAgICAgIDwvVHlw
ZT4KLSAgICAgICAgPC9Bcmd1bWVudD4KLSAgICAgIDwvQXJndW1lbnRMaXN0PgotICAgIDwvT3Bl
cmF0aW9uPgotICA8L0ludGVyZmFjZT4KLTwvRGVmaW5pdGlvbnM+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvdW5pb250eXBlLndpZGxwcm9jeG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL3VuaW9udHlwZS53aWRscHJvY3htbApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggN2QwODgwNzk5NTYuLjAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC91bmlvbnR5cGUud2lkbHByb2N4bWwK
KysrIC9kZXYvbnVsbApAQCAtMSwyNiArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29k
aW5nPSJVVEYtOCI/PgotPCFET0NUWVBFIERlZmluaXRpb25zIFNZU1RFTSAid2lkbHByb2N4bWwu
ZHRkIj4KLTxEZWZpbml0aW9ucz4KLSAgPHdlYmlkbD5pbnRlcmZhY2UgVW5pb24gewotIGF0dHJp
YnV0ZSAoZmxvYXQgb3IgKERhdGUgb3IgPHJlZj5FdmVudDwvcmVmPikgb3IgKDxyZWY+Tm9kZTwv
cmVmPiBvciBET01TdHJpbmcpPykgdGVzdDsKLX07PC93ZWJpZGw+Ci0gIDxJbnRlcmZhY2UgbmFt
ZT0iVW5pb24iIGlkPSI6OlVuaW9uIj4KLSAgICA8d2ViaWRsPmludGVyZmFjZSBVbmlvbiB7Ci0g
YXR0cmlidXRlIChmbG9hdCBvciAoRGF0ZSBvciA8cmVmPkV2ZW50PC9yZWY+KSBvciAoPHJlZj5O
b2RlPC9yZWY+IG9yIERPTVN0cmluZyk/KSB0ZXN0OwotfTs8L3dlYmlkbD4KLSAgICA8QXR0cmli
dXRlIG5hbWU9InRlc3QiIGlkPSI6OlVuaW9uOjp0ZXN0Ij4KLSAgICAgIDx3ZWJpZGw+IGF0dHJp
YnV0ZSAoZmxvYXQgb3IgKERhdGUgb3IgPHJlZj5FdmVudDwvcmVmPikgb3IgKDxyZWY+Tm9kZTwv
cmVmPiBvciBET01TdHJpbmcpPykgdGVzdDs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9InVu
aW9uIj4KLSAgICAgICAgPFR5cGUgdHlwZT0iZmxvYXQiLz4KLSAgICAgICAgPFR5cGUgdHlwZT0i
dW5pb24iPgotICAgICAgICAgIDxUeXBlIHR5cGU9IkRhdGUiLz4KLSAgICAgICAgICA8VHlwZSBu
YW1lPSJFdmVudCIvPgotICAgICAgICA8L1R5cGU+Ci0gICAgICAgIDxUeXBlIHR5cGU9InVuaW9u
IiBudWxsYWJsZT0ibnVsbGFibGUiPgotICAgICAgICAgIDxUeXBlIG5hbWU9Ik5vZGUiLz4KLSAg
ICAgICAgICA8VHlwZSB0eXBlPSJET01TdHJpbmciLz4KLSAgICAgICAgPC9UeXBlPgotICAgICAg
PC9UeXBlPgotICAgIDwvQXR0cmlidXRlPgotICA8L0ludGVyZmFjZT4KLTwvRGVmaW5pdGlvbnM+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvdmFyaWFkaWMt
b3BlcmF0aW9ucy53aWRscHJvY3htbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3ht
bC92YXJpYWRpYy1vcGVyYXRpb25zLndpZGxwcm9jeG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwYmM5Zjc4NDQxMy4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9j
L3Rlc3QvdmFsaWQveG1sL3ZhcmlhZGljLW9wZXJhdGlvbnMud2lkbHByb2N4bWwKKysrIC9kZXYv
bnVsbApAQCAtMSw0MCArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYt
OCI/PgotPCFET0NUWVBFIERlZmluaXRpb25zIFNZU1RFTSAid2lkbHByb2N4bWwuZHRkIj4KLTxE
ZWZpbml0aW9ucz4KLSAgPHdlYmlkbD5pbnRlcmZhY2UgSW50ZWdlclNldCB7Ci0gIHJlYWRvbmx5
IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGNhcmRpbmFsaXR5OwotCi0gIHZvaWQgdW5pb24obG9u
Zy4uLiBpbnRzKTsKLSAgdm9pZCBpbnRlcnNlY3Rpb24obG9uZy4uLiBpbnRzKTsKLX07PC93ZWJp
ZGw+Ci0gIDxJbnRlcmZhY2UgbmFtZT0iSW50ZWdlclNldCIgaWQ9Ijo6SW50ZWdlclNldCI+Ci0g
ICAgPHdlYmlkbD5pbnRlcmZhY2UgSW50ZWdlclNldCB7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSB1
bnNpZ25lZCBsb25nIGNhcmRpbmFsaXR5OwotCi0gIHZvaWQgdW5pb24obG9uZy4uLiBpbnRzKTsK
LSAgdm9pZCBpbnRlcnNlY3Rpb24obG9uZy4uLiBpbnRzKTsKLX07PC93ZWJpZGw+Ci0gICAgPEF0
dHJpYnV0ZSByZWFkb25seT0icmVhZG9ubHkiIG5hbWU9ImNhcmRpbmFsaXR5IiBpZD0iOjpJbnRl
Z2VyU2V0OjpjYXJkaW5hbGl0eSI+Ci0gICAgICA8d2ViaWRsPiAgcmVhZG9ubHkgYXR0cmlidXRl
IHVuc2lnbmVkIGxvbmcgY2FyZGluYWxpdHk7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJ1
bnNpZ25lZCBsb25nIi8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gICAgPE9wZXJhdGlvbiBuYW1lPSJ1
bmlvbiIgaWQ9Ijo6SW50ZWdlclNldDo6dW5pb24iPgotICAgICAgPHdlYmlkbD4gIHZvaWQgdW5p
b24obG9uZy4uLiBpbnRzKTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9InZvaWQiLz4KLSAg
ICAgIDxBcmd1bWVudExpc3Q+Ci0gICAgICAgIDxBcmd1bWVudCBlbGxpcHNpcz0iZWxsaXBzaXMi
IG5hbWU9ImludHMiPgotICAgICAgICAgIDxUeXBlIHR5cGU9ImxvbmciLz4KLSAgICAgICAgPC9B
cmd1bWVudD4KLSAgICAgIDwvQXJndW1lbnRMaXN0PgotICAgIDwvT3BlcmF0aW9uPgotICAgIDxP
cGVyYXRpb24gbmFtZT0iaW50ZXJzZWN0aW9uIiBpZD0iOjpJbnRlZ2VyU2V0OjppbnRlcnNlY3Rp
b24iPgotICAgICAgPHdlYmlkbD4gIHZvaWQgaW50ZXJzZWN0aW9uKGxvbmcuLi4gaW50cyk7PC93
ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJ2b2lkIi8+Ci0gICAgICA8QXJndW1lbnRMaXN0Pgot
ICAgICAgICA8QXJndW1lbnQgZWxsaXBzaXM9ImVsbGlwc2lzIiBuYW1lPSJpbnRzIj4KLSAgICAg
ICAgICA8VHlwZSB0eXBlPSJsb25nIi8+Ci0gICAgICAgIDwvQXJndW1lbnQ+Ci0gICAgICA8L0Fy
Z3VtZW50TGlzdD4KLSAgICA8L09wZXJhdGlvbj4KLSAgPC9JbnRlcmZhY2U+Ci08L0RlZmluaXRp
b25zPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL3czYy1p
bXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL3czYy1pbXBvcnQu
bG9nCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiNGQxMjNlZTFlZi4uMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL3czYy1pbXBvcnQubG9n
CisrKyAvZGV2L251bGwKQEAgLTEsNjcgKzAsMCBAQAotVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0
b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCi1EbyBOT1QgbW9kaWZ5
IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQsIGNyZWF0ZSBhIHB1bGwg
cmVxdWVzdCBvbiB0aGUgVzNDIENTUyBvciBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0aHViLmNv
bS93M2MvY3Nzd2ctdGVzdAotCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzCi0KLVRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2Vi
S2l0IHRvIHJlaW1wb3J0Ci0KLURvIE5PVCBtb2RpZnkgb3IgcmVtb3ZlIHRoaXMgZmlsZS4KLQot
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tCi1Qcm9wZXJ0aWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6Ci1O
b25lCi1Qcm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKLU5vbmUKLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLQotTGlzdCBvZiBmaWxlczoKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92
YWxpZC94bWwvYWxsb3dhbnkud2lkbHByb2N4bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92
YWxpZC94bWwvYXJyYXkud2lkbHByb2N4bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxp
ZC94bWwvYXR0cmlidXRlcy53aWRscHJvY3htbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3Zh
bGlkL3htbC9jYWxsYmFjay53aWRscHJvY3htbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3Zh
bGlkL3htbC9jYWxsZXIud2lkbHByb2N4bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxp
ZC94bWwvY29uc3RhbnRzLndpZGxwcm9jeG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFs
aWQveG1sL2NvbnN0cnVjdG9yLndpZGxwcm9jeG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3Qv
dmFsaWQveG1sL2RpY3Rpb25hcnktaW5oZXJpdHMud2lkbHByb2N4bWwKLS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lk
bHByb2MvdGVzdC92YWxpZC94bWwvZGljdGlvbmFyeS53aWRscHJvY3htbAotL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93
aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9kb2N1bWVudGF0aW9uLWRvcy53aWRscHJvY3htbAotL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9kb2N1bWVudGF0aW9uLndpZGxwcm9jeG1s
Ci0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL2VudW0ud2lkbHByb2N4bWwKLS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvZXF1aXZhbGVudC1kZWNsLndpZGxwcm9j
eG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL2V4Y2VwdGlvbi1pbmhlcml0
YW5jZS53aWRscHJvY3htbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9leGNl
cHRpb24ud2lkbHByb2N4bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvZ2V0
dGVyLXNldHRlci53aWRscHJvY3htbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3ht
bC9pZGVudGlmaWVyLXF1YWxpZmllZC1uYW1lcy53aWRscHJvY3htbAotL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRs
cHJvYy90ZXN0L3ZhbGlkL3htbC9pbXBsZW1lbnRzLndpZGxwcm9jeG1sCi0vTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dp
ZGxwcm9jL3Rlc3QvdmFsaWQveG1sL2luZGV4ZWQtcHJvcGVydGllcy53aWRscHJvY3htbAotL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9pbmhlcml0cy1nZXR0ZXIud2lkbHByb2N4
bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvaW50ZXJmYWNlLWluaGVyaXRz
LndpZGxwcm9jeG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL2l0ZXJhdG9y
LndpZGxwcm9jeG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL21vZHVsZS53
aWRscHJvY3htbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9uYW1lZGNvbnN0
cnVjdG9yLndpZGxwcm9jeG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL25h
bWVzcGFjZW9iamVjdC53aWRscHJvY3htbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlk
L3htbC9ub2ludGVyZmFjZW9iamVjdC53aWRscHJvY3htbAotL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90
ZXN0L3ZhbGlkL3htbC9udWxsYWJsZS53aWRscHJvY3htbAotL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90
ZXN0L3ZhbGlkL3htbC9udWxsYWJsZW9iamVjdHMud2lkbHByb2N4bWwKLS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lk
bHByb2MvdGVzdC92YWxpZC94bWwvb3BlcmF0aW9uLW9wdGlvbmFsLWFyZy53aWRscHJvY3htbAot
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9vdmVybG9hZGluZy53aWRscHJvY3ht
bAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9vdmVycmlkZWJ1aWx0aW5zLndp
ZGxwcm9jeG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL3BhcnRpYWwtaW50
ZXJmYWNlLndpZGxwcm9jeG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL3By
aW1pdGl2ZXMud2lkbHByb2N4bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwv
cHJvdG90eXBlcm9vdC53aWRscHJvY3htbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlk
L3htbC9wdXRmb3J3YXJkcy53aWRscHJvY3htbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3Zh
bGlkL3htbC9yZWctb3BlcmF0aW9ucy53aWRscHJvY3htbAotL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90
ZXN0L3ZhbGlkL3htbC9yZXBsYWNlYWJsZS53aWRscHJvY3htbAotL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJv
Yy90ZXN0L3ZhbGlkL3htbC9zZXF1ZW5jZS53aWRscHJvY3htbAotL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJv
Yy90ZXN0L3ZhbGlkL3htbC9zZXJpYWxpemVyLndpZGxwcm9jeG1sCi0vTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxw
cm9jL3Rlc3QvdmFsaWQveG1sL3NwZWNpYWwtb21pdHRhYmxlLndpZGxwcm9jeG1sCi0vTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL3N0YXRpYy53aWRscHJvY3htbAotL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9zdHJpbmdpZmllci1hdHRyaWJ1dGUud2lkbHByb2N4
bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvc3RyaW5naWZpZXItY3VzdG9t
LndpZGxwcm9jeG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL3N0cmluZ2lm
aWVyLndpZGxwcm9jeG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL3RyZWF0
YXNudWxsLndpZGxwcm9jeG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL3Ry
ZWF0YXN1bmRlZmluZWQud2lkbHByb2N4bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxp
ZC94bWwvdHlwZWRlZi53aWRscHJvY3htbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlk
L3htbC90eXBlc3VmZml4ZXMud2lkbHByb2N4bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92
YWxpZC94bWwvdW5pb250eXBlLndpZGxwcm9jeG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3Qv
dmFsaWQveG1sL3ZhcmlhZGljLW9wZXJhdGlvbnMud2lkbHByb2N4bWwKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC93aWRscHJvYy90ZXN0L3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9j
L3Rlc3QvdzNjLWltcG9ydC5sb2cKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGU0ZGZi
MTdhMTkxLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC93M2MtaW1w
b3J0LmxvZworKysgL2Rldi9udWxsCkBAIC0xLDE4ICswLDAgQEAKLVRoZSB0ZXN0cyBpbiB0aGlz
IGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgotRG8gTk9U
IG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUg
YSBwdWxsIHJlcXVlc3Qgb24gdGhlIFczQyBDU1Mgb3IgV1BUIGdpdGh1YjoKLQlodHRwczovL2dp
dGh1Yi5jb20vdzNjL2Nzc3dnLXRlc3QKLQlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cwotCi1UaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3Rz
IGluIFdlYktpdCB0byByZWltcG9ydAotCi1EbyBOT1QgbW9kaWZ5IG9yIHJlbW92ZSB0aGlzIGZp
bGUuCi0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotUHJvcGVydGllcyByZXF1aXJpbmcgdmVuZG9yIHByZWZp
eGVzOgotTm9uZQotUHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6Ci1O
b25lCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0KLUxpc3Qgb2YgZmlsZXM6Ci0vTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9j
L3Rlc3QvTWFrZWZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy93M2MtaW1wb3J0
LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy93M2MtaW1wb3J0LmxvZwpkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggN2ZkMTQxNGQ3NjMuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93
aWRscHJvYy93M2MtaW1wb3J0LmxvZworKysgL2Rldi9udWxsCkBAIC0xLDIwICswLDAgQEAKLVRo
ZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBv
c2l0b3J5LgotRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1J
bnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFczQyBDU1Mgb3IgV1BUIGdpdGh1
YjoKLQlodHRwczovL2dpdGh1Yi5jb20vdzNjL2Nzc3dnLXRlc3QKLQlodHRwczovL2dpdGh1Yi5j
b20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cwotCi1UaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9p
bXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydAotCi1EbyBOT1QgbW9kaWZ5IG9y
IHJlbW92ZSB0aGlzIGZpbGUuCi0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotUHJvcGVydGllcyByZXF1aXJp
bmcgdmVuZG9yIHByZWZpeGVzOgotTm9uZQotUHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5k
b3IgcHJlZml4ZXM6Ci1Ob25lCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLUxpc3Qgb2YgZmlsZXM6Ci0vTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L3dpZGxwcm9jL0xJQ0VOU0UKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvTWFrZWZpbGUKLS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3Qvd2lkbHByb2MvUkVBRE1FLm1kCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd3JpdGVy
LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L3dyaXRlci5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
ZTg0MDc2YjRmMjguLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93cml0ZXIuanMKKysrIC9k
ZXYvbnVsbApAQCAtMSwyMyArMCwwIEBACi0idXNlIHN0cmljdCI7Ci0KLWNvbnN0IHsgY29sbGVj
dCB9ID0gcmVxdWlyZSgiLi91dGlsL2NvbGxlY3QiKTsKLWNvbnN0IHdwID0gcmVxdWlyZSgiLi4v
bGliL3dlYmlkbDIiKTsKLWNvbnN0IHdyaXRlciA9IHJlcXVpcmUoIi4uL2xpYi93cml0ZXIiKTsK
LWNvbnN0IGV4cGVjdCA9IHJlcXVpcmUoImV4cGVjdCIpOwotY29uc3QgZGVidWcgPSB0cnVlOwot
Ci1kZXNjcmliZSgiUmV3cml0ZSBhbmQgcGFyc2VzIGFsbCBvZiB0aGUgSURMcyB0byBwcm9kdWNl
IHRoZSBzYW1lIEFTVHMiLCAoKSA9PiB7Ci0gIGZvciAoY29uc3QgdGVzdCBvZiBjb2xsZWN0KCJz
eW50YXgiKSkgewotICAgIGl0KGBzaG91bGQgcHJvZHVjZSB0aGUgc2FtZSBBU1QgZm9yICR7dGVz
dC5wYXRofWAsICgpID0+IHsKLSAgICAgIHRyeSB7Ci0gICAgICAgIGNvbnN0IGRpZmYgPSB0ZXN0
LmRpZmYod3AucGFyc2Uod3JpdGVyLndyaXRlKHRlc3QuYXN0KSwgdGVzdC5vcHQpKTsKLSAgICAg
ICAgaWYgKGRpZmYgJiYgZGVidWcpIGNvbnNvbGUubG9nKEpTT04uc3RyaW5naWZ5KGRpZmYsIG51
bGwsIDQpKTsKLSAgICAgICAgZXhwZWN0KGRpZmYpLnRvQmUodW5kZWZpbmVkKTsKLSAgICAgIH0K
LSAgICAgIGNhdGNoIChlKSB7Ci0gICAgICAgIGNvbnNvbGUubG9nKGUudG9TdHJpbmcoKSk7Ci0g
ICAgICAgIHRocm93IGU7Ci0gICAgICB9Ci0gICAgfSk7Ci0gIH0KLX0pOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdzNjLWltcG9ydC5sb2cKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDgyNDU5ZWMyNTc4Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3czYy1p
bXBvcnQubG9nCisrKyAvZGV2L251bGwKQEAgLTEsMjMgKzAsMCBAQAotVGhlIHRlc3RzIGluIHRo
aXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCi1EbyBO
T1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQsIGNyZWF0
ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20v
d2ViLXBsYXRmb3JtLXRlc3RzL3dwdAotCi1UaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBv
cnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydAotCi1EbyBOT1QgbW9kaWZ5IG9yIHJl
bW92ZSB0aGlzIGZpbGUuCi0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotUHJvcGVydGllcyByZXF1aXJpbmcg
dmVuZG9yIHByZWZpeGVzOgotTm9uZQotUHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3Ig
cHJlZml4ZXM6Ci1Ob25lCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLUxpc3Qgb2YgZmlsZXM6Ci0vTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi9D
SEFOR0VMT0cubWQKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL0xJQ0VOU0UKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL1JFQURNRS5tZAotL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvY292ZXJh
Z2UuaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvaW5kZXguanMKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3BhY2thZ2UtbG9jay5qc29uCi0vTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi9w
YWNrYWdlLmpzb24K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>386939</attachid>
            <date>2020-01-06 23:54:19 -0800</date>
            <delta_ts>2020-01-08 00:15:51 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>204652-binary-2.diff</filename>
            <type>text/plain</type>
            <size>2252766</size>
            <attacher name="Alexey Shvayka">ashvayka</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IGRhZWFlY2ViMjRhLi42NjNmZThiMjE1
MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMjAt
MDEtMDYgIEFsZXhleSBTaHZheWthICA8c2h2YWlrYWxlc2hAZ21haWwuY29tPgorCisgICAgICAg
IENsZWFuIHVwIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNDY1MgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggcmVtb3ZlcyB3ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzIHN1YmRpcmVjdG9yaWVzIHRoYXQgYXJlCisgICAgICAgIG1p
c3NpbmcgaW4gdXBzdHJlYW0gNzNkNzQ4ZmNhN2U4IChpbXBvcnQtdzNjLXRlc3RzIHRvb2wgc2Vt
bXMgdG8ga2VlcCB0aGVtKS4KKworICAgICAgICBBbHNvIGl0IHJlbW92ZXMgYW5kIG1hcmtzIGFz
ICJza2lwIiBpbiBpbXBvcnQtZXhwZWN0YXRpb25zLmpzb24gdHdvIHN1YmRpcmVjdG9yaWVzOgor
ICAgICAgICAxLiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtIGFzIGl0IGNv
bnRhaW5zIENocm9taXVtLXNwZWNpZmljIGhhcm5lc3Mgd2UgZG9uJ3QgdXNlOworICAgICAgICAy
LiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QgYXMgaXQgY29udGFpbnMgaGFybmVz
cyB0ZXN0cyB3ZSBkb24ndCBydW4uCisKKyAgICAgICAgSW4gdG90YWwsIHRoaXMgcGF0Y2ggcmVt
b3ZlcyB+MiBNQiBvZiB1bm5lZWRlZCBmaWxlcy4KKworICAgICAgICAqIHJlc291cmNlcy9pbXBv
cnQtZXhwZWN0YXRpb25zLmpzb246CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy8qOiBVcGRhdGVkLgorCiAyMDIwLTAxLTA1ICBSb2IgQnVpcyAgPHJidWlzQGlnYWxpYS5j
b20+CiAKICAgICAgICAgVGlnaHRlbiB1cCBzdHlsZXNoZWV0IGxvYWRpbmcKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9yZXNvdXJjZXMvaW1wb3J0LWV4cGVjdGF0aW9ucy5q
c29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3Jlc291cmNlcy9pbXBvcnQtZXhwZWN0YXRp
b25zLmpzb24KaW5kZXggOGIyNjg2MTA2ZDIuLjQ5MjU5OTI3NzVlIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2MvcmVzb3VyY2VzL2ltcG9ydC1leHBlY3RhdGlvbnMuanNvbgor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcmVzb3VyY2VzL2ltcG9ydC1leHBlY3RhdGlv
bnMuanNvbgpAQCAtMzM0LDYgKzMzNCw4IEBACiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9yZXNp
emUtb2JzZXJ2ZXIvIjogImltcG9ydCIsIAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2UtdGltaW5nIjogImltcG9ydCIsIAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
IjogImltcG9ydCIsIAorICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVt
IjogInNraXAiLCAKKyAgICAid2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0IjogInNr
aXAiLCAKICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL3NjcmVlbi1vcmllbnRhdGlvbiI6ICJza2lw
IiwgCiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9zY3JvbGwtYW5jaG9yaW5nIjogInNraXAiLCAK
ICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL3Njcm9sbC1pbnRvLXZpZXciOiAic2tpcCIsIApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvY2hyb21pdW0vUkVBRE1FLm1kIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vUkVBRE1FLm1kCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCBiNTNjNmE4YzQyMy4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vUkVB
RE1FLm1kCisrKyAvZGV2L251bGwKQEAgLTEsNCArMCwwIEBACi1UaGlzIGRpcmVjdG9yeSBjb250
YWlucyBDaHJvbWl1bS1zcGVjaWZpYyB0ZXN0IHJlc291cmNlcy4KLQotVGhlIGZpbGVzIGBtb2pv
X2JpbmRpbmdzLmpzYCBhbmQgYCoubW9qb20uanNgIGFyZSBtYW51YWxseSBjb3BpZWQgZnJvbSB0
aGUKLUNocm9taXVtIGJ1aWxkIHByb2Nlc3MncyBnZW5lcmF0ZWQgZmlsZXMgYW5kIHNob3VsZCBu
b3QgYmUgZWRpdGVkIG1hbnVhbGx5LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vYmlnX2J1ZmZlci5tb2pv
bS5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL2Nocm9taXVtL2JpZ19idWZmZXIubW9qb20uanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IGYwOTcwNmVlYmI4Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS9iaWdfYnVmZmVyLm1v
am9tLmpzCisrKyAvZGV2L251bGwKQEAgLTEsMjYzICswLDAgQEAKLS8vIENvcHlyaWdodCAyMDE0
IFRoZSBDaHJvbWl1bSBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotLy8gVXNlIG9mIHRo
aXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZSB0aGF0IGNh
biBiZQotLy8gZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KLQotJ3VzZSBzdHJpY3QnOwotCi0o
ZnVuY3Rpb24oKSB7Ci0gIHZhciBtb2pvbUlkID0gJ21vam8vcHVibGljL21vam9tL2Jhc2UvYmln
X2J1ZmZlci5tb2pvbSc7Ci0gIGlmIChtb2pvLmludGVybmFsLmlzTW9qb21Mb2FkZWQobW9qb21J
ZCkpIHsKLSAgICBjb25zb2xlLndhcm4oJ1RoZSBmb2xsb3dpbmcgbW9qb20gaXMgbG9hZGVkIG11
bHRpcGxlIHRpbWVzOiAnICsgbW9qb21JZCk7Ci0gICAgcmV0dXJuOwotICB9Ci0gIG1vam8uaW50
ZXJuYWwubWFya01vam9tTG9hZGVkKG1vam9tSWQpOwotICB2YXIgYmluZGluZ3MgPSBtb2pvOwot
ICB2YXIgYXNzb2NpYXRlZEJpbmRpbmdzID0gbW9qbzsKLSAgdmFyIGNvZGVjID0gbW9qby5pbnRl
cm5hbDsKLSAgdmFyIHZhbGlkYXRvciA9IG1vam8uaW50ZXJuYWw7Ci0KLSAgdmFyIGV4cG9ydHMg
PSBtb2pvLmludGVybmFsLmV4cG9zZU5hbWVzcGFjZSgnbW9qb0Jhc2UubW9qb20nKTsKLQotCi0K
LSAgZnVuY3Rpb24gQmlnQnVmZmVyU2hhcmVkTWVtb3J5UmVnaW9uKHZhbHVlcykgewotICAgIHRo
aXMuaW5pdERlZmF1bHRzXygpOwotICAgIHRoaXMuaW5pdEZpZWxkc18odmFsdWVzKTsKLSAgfQot
Ci0KLSAgQmlnQnVmZmVyU2hhcmVkTWVtb3J5UmVnaW9uLnByb3RvdHlwZS5pbml0RGVmYXVsdHNf
ID0gZnVuY3Rpb24oKSB7Ci0gICAgdGhpcy5idWZmZXJIYW5kbGUgPSBudWxsOwotICAgIHRoaXMu
c2l6ZSA9IDA7Ci0gIH07Ci0gIEJpZ0J1ZmZlclNoYXJlZE1lbW9yeVJlZ2lvbi5wcm90b3R5cGUu
aW5pdEZpZWxkc18gPSBmdW5jdGlvbihmaWVsZHMpIHsKLSAgICBmb3IodmFyIGZpZWxkIGluIGZp
ZWxkcykgewotICAgICAgICBpZiAodGhpcy5oYXNPd25Qcm9wZXJ0eShmaWVsZCkpCi0gICAgICAg
ICAgdGhpc1tmaWVsZF0gPSBmaWVsZHNbZmllbGRdOwotICAgIH0KLSAgfTsKLQotICBCaWdCdWZm
ZXJTaGFyZWRNZW1vcnlSZWdpb24udmFsaWRhdGUgPSBmdW5jdGlvbihtZXNzYWdlVmFsaWRhdG9y
LCBvZmZzZXQpIHsKLSAgICB2YXIgZXJyOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFs
aWRhdGVTdHJ1Y3RIZWFkZXIob2Zmc2V0LCBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSk7Ci0gICAg
aWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1
cm4gZXJyOwotCi0gICAgdmFyIGtWZXJzaW9uU2l6ZXMgPSBbCi0gICAgICB7dmVyc2lvbjogMCwg
bnVtQnl0ZXM6IDE2fQotICAgIF07Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0
ZVN0cnVjdFZlcnNpb24ob2Zmc2V0LCBrVmVyc2lvblNpemVzKTsKLSAgICBpZiAoZXJyICE9PSB2
YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQot
ICAgIC8vIHZhbGlkYXRlIEJpZ0J1ZmZlclNoYXJlZE1lbW9yeVJlZ2lvbi5idWZmZXJIYW5kbGUK
LSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlSGFuZGxlKG9mZnNldCArIGNvZGVj
LmtTdHJ1Y3RIZWFkZXJTaXplICsgMCwgZmFsc2UpCi0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9y
LnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0KLSAgICByZXR1
cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIEJpZ0J1ZmZlclNo
YXJlZE1lbW9yeVJlZ2lvbi5lbmNvZGVkU2l6ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsg
ODsKLQotICBCaWdCdWZmZXJTaGFyZWRNZW1vcnlSZWdpb24uZGVjb2RlID0gZnVuY3Rpb24oZGVj
b2RlcikgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgdmFyIHZhbCA9IG5ldyBCaWdCdWZmZXJTaGFy
ZWRNZW1vcnlSZWdpb24oKTsKLSAgICB2YXIgbnVtYmVyT2ZCeXRlcyA9IGRlY29kZXIucmVhZFVp
bnQzMigpOwotICAgIHZhciB2ZXJzaW9uID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFs
LmJ1ZmZlckhhbmRsZSA9IGRlY29kZXIuZGVjb2RlU3RydWN0KGNvZGVjLkhhbmRsZSk7Ci0gICAg
dmFsLnNpemUgPSBkZWNvZGVyLmRlY29kZVN0cnVjdChjb2RlYy5VaW50MzIpOwotICAgIHJldHVy
biB2YWw7Ci0gIH07Ci0KLSAgQmlnQnVmZmVyU2hhcmVkTWVtb3J5UmVnaW9uLmVuY29kZSA9IGZ1
bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgZW5jb2Rlci53cml0
ZVVpbnQzMihCaWdCdWZmZXJTaGFyZWRNZW1vcnlSZWdpb24uZW5jb2RlZFNpemUpOwotICAgIGVu
Y29kZXIud3JpdGVVaW50MzIoMCk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3QoY29kZWMuSGFu
ZGxlLCB2YWwuYnVmZmVySGFuZGxlKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdChjb2RlYy5V
aW50MzIsIHZhbC5zaXplKTsKLSAgfTsKLQotICBmdW5jdGlvbiBCaWdCdWZmZXIodmFsdWUpIHsK
LSAgICB0aGlzLmluaXREZWZhdWx0XygpOwotICAgIHRoaXMuaW5pdFZhbHVlXyh2YWx1ZSk7Ci0g
IH0KLQotCi0gIEJpZ0J1ZmZlci5UYWdzID0gewotICAgIGJ5dGVzOiAwLAotICAgIHNoYXJlZE1l
bW9yeTogMSwKLSAgICBpbnZhbGlkQnVmZmVyOiAyLAotICB9OwotCi0gIEJpZ0J1ZmZlci5wcm90
b3R5cGUuaW5pdERlZmF1bHRfID0gZnVuY3Rpb24oKSB7Ci0gICAgdGhpcy4kZGF0YSA9IG51bGw7
Ci0gICAgdGhpcy4kdGFnID0gdW5kZWZpbmVkOwotICB9Ci0KLSAgQmlnQnVmZmVyLnByb3RvdHlw
ZS5pbml0VmFsdWVfID0gZnVuY3Rpb24odmFsdWUpIHsKLSAgICBpZiAodmFsdWUgPT0gdW5kZWZp
bmVkKSB7Ci0gICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgdmFyIGtleXMgPSBPYmplY3Qua2V5
cyh2YWx1ZSk7Ci0gICAgaWYgKGtleXMubGVuZ3RoID09IDApIHsKLSAgICAgIHJldHVybjsKLSAg
ICB9Ci0KLSAgICBpZiAoa2V5cy5sZW5ndGggPiAxKSB7Ci0gICAgICB0aHJvdyBuZXcgVHlwZUVy
cm9yKCJZb3UgbWF5IHNldCBvbmx5IG9uZSBtZW1iZXIgb24gYSB1bmlvbi4iKTsKLSAgICB9Ci0K
LSAgICB2YXIgZmllbGRzID0gWwotICAgICAgICAiYnl0ZXMiLAotICAgICAgICAic2hhcmVkTWVt
b3J5IiwKLSAgICAgICAgImludmFsaWRCdWZmZXIiLAotICAgIF07Ci0KLSAgICBpZiAoZmllbGRz
LmluZGV4T2Yoa2V5c1swXSkgPCAwKSB7Ci0gICAgICB0aHJvdyBuZXcgUmVmZXJlbmNlRXJyb3Io
a2V5c1swXSArICIgaXMgbm90IGEgQmlnQnVmZmVyIG1lbWJlci4iKTsKLQotICAgIH0KLQotICAg
IHRoaXNba2V5c1swXV0gPSB2YWx1ZVtrZXlzWzBdXTsKLSAgfQotICBPYmplY3QuZGVmaW5lUHJv
cGVydHkoQmlnQnVmZmVyLnByb3RvdHlwZSwgImJ5dGVzIiwgewotICAgIGdldDogZnVuY3Rpb24o
KSB7Ci0gICAgICBpZiAodGhpcy4kdGFnICE9IEJpZ0J1ZmZlci5UYWdzLmJ5dGVzKSB7Ci0gICAg
ICAgIHRocm93IG5ldyBSZWZlcmVuY2VFcnJvcigKLSAgICAgICAgICAgICJCaWdCdWZmZXIuYnl0
ZXMgaXMgbm90IGN1cnJlbnRseSBzZXQuIik7Ci0gICAgICB9Ci0gICAgICByZXR1cm4gdGhpcy4k
ZGF0YTsKLSAgICB9LAotCi0gICAgc2V0OiBmdW5jdGlvbih2YWx1ZSkgewotICAgICAgdGhpcy4k
dGFnID0gQmlnQnVmZmVyLlRhZ3MuYnl0ZXM7Ci0gICAgICB0aGlzLiRkYXRhID0gdmFsdWU7Ci0g
ICAgfQotICB9KTsKLSAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEJpZ0J1ZmZlci5wcm90b3R5cGUs
ICJzaGFyZWRNZW1vcnkiLCB7Ci0gICAgZ2V0OiBmdW5jdGlvbigpIHsKLSAgICAgIGlmICh0aGlz
LiR0YWcgIT0gQmlnQnVmZmVyLlRhZ3Muc2hhcmVkTWVtb3J5KSB7Ci0gICAgICAgIHRocm93IG5l
dyBSZWZlcmVuY2VFcnJvcigKLSAgICAgICAgICAgICJCaWdCdWZmZXIuc2hhcmVkTWVtb3J5IGlz
IG5vdCBjdXJyZW50bHkgc2V0LiIpOwotICAgICAgfQotICAgICAgcmV0dXJuIHRoaXMuJGRhdGE7
Ci0gICAgfSwKLQotICAgIHNldDogZnVuY3Rpb24odmFsdWUpIHsKLSAgICAgIHRoaXMuJHRhZyA9
IEJpZ0J1ZmZlci5UYWdzLnNoYXJlZE1lbW9yeTsKLSAgICAgIHRoaXMuJGRhdGEgPSB2YWx1ZTsK
LSAgICB9Ci0gIH0pOwotICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQmlnQnVmZmVyLnByb3RvdHlw
ZSwgImludmFsaWRCdWZmZXIiLCB7Ci0gICAgZ2V0OiBmdW5jdGlvbigpIHsKLSAgICAgIGlmICh0
aGlzLiR0YWcgIT0gQmlnQnVmZmVyLlRhZ3MuaW52YWxpZEJ1ZmZlcikgewotICAgICAgICB0aHJv
dyBuZXcgUmVmZXJlbmNlRXJyb3IoCi0gICAgICAgICAgICAiQmlnQnVmZmVyLmludmFsaWRCdWZm
ZXIgaXMgbm90IGN1cnJlbnRseSBzZXQuIik7Ci0gICAgICB9Ci0gICAgICByZXR1cm4gdGhpcy4k
ZGF0YTsKLSAgICB9LAotCi0gICAgc2V0OiBmdW5jdGlvbih2YWx1ZSkgewotICAgICAgdGhpcy4k
dGFnID0gQmlnQnVmZmVyLlRhZ3MuaW52YWxpZEJ1ZmZlcjsKLSAgICAgIHRoaXMuJGRhdGEgPSB2
YWx1ZTsKLSAgICB9Ci0gIH0pOwotCi0KLSAgICBCaWdCdWZmZXIuZW5jb2RlID0gZnVuY3Rpb24o
ZW5jb2RlciwgdmFsKSB7Ci0gICAgICBpZiAodmFsID09IG51bGwpIHsKLSAgICAgICAgZW5jb2Rl
ci53cml0ZVVpbnQ2NCgwKTsKLSAgICAgICAgZW5jb2Rlci53cml0ZVVpbnQ2NCgwKTsKLSAgICAg
ICAgcmV0dXJuOwotICAgICAgfQotICAgICAgaWYgKHZhbC4kdGFnID09IHVuZGVmaW5lZCkgewot
ICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgZW5jb2RlIHVuaW9ucyB3aXRoIGFu
IHVua25vd24gbWVtYmVyIHNldC4iKTsKLSAgICAgIH0KLQotICAgICAgZW5jb2Rlci53cml0ZVVp
bnQzMigxNik7Ci0gICAgICBlbmNvZGVyLndyaXRlVWludDMyKHZhbC4kdGFnKTsKLSAgICAgIHN3
aXRjaCAodmFsLiR0YWcpIHsKLSAgICAgICAgY2FzZSBCaWdCdWZmZXIuVGFncy5ieXRlczoKLSAg
ICAgICAgICBlbmNvZGVyLmVuY29kZUFycmF5UG9pbnRlcihjb2RlYy5VaW50OCwgdmFsLmJ5dGVz
KTsKLSAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSBCaWdCdWZmZXIuVGFncy5zaGFyZWRN
ZW1vcnk6Ci0gICAgICAgICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3RQb2ludGVyKEJpZ0J1ZmZlclNo
YXJlZE1lbW9yeVJlZ2lvbiwgdmFsLnNoYXJlZE1lbW9yeSk7Ci0gICAgICAgICAgYnJlYWs7Ci0g
ICAgICAgIGNhc2UgQmlnQnVmZmVyLlRhZ3MuaW52YWxpZEJ1ZmZlcjoKLSAgICAgICAgICBlbmNv
ZGVyLndyaXRlVWludDgodmFsLmludmFsaWRCdWZmZXIgPyAxIDogMCk7Ci0gICAgICAgICAgYnJl
YWs7Ci0gICAgICB9Ci0gICAgICBlbmNvZGVyLmFsaWduKCk7Ci0gICAgfTsKLQotCi0gICAgQmln
QnVmZmVyLmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICAgIHZhciBzaXplID0gZGVj
b2Rlci5yZWFkVWludDMyKCk7Ci0gICAgICBpZiAoc2l6ZSA9PSAwKSB7Ci0gICAgICAgIGRlY29k
ZXIucmVhZFVpbnQzMigpOwotICAgICAgICBkZWNvZGVyLnJlYWRVaW50NjQoKTsKLSAgICAgICAg
cmV0dXJuIG51bGw7Ci0gICAgICB9Ci0KLSAgICAgIHZhciByZXN1bHQgPSBuZXcgQmlnQnVmZmVy
KCk7Ci0gICAgICB2YXIgdGFnID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgICBzd2l0Y2gg
KHRhZykgewotICAgICAgICBjYXNlIEJpZ0J1ZmZlci5UYWdzLmJ5dGVzOgotICAgICAgICAgIHJl
c3VsdC5ieXRlcyA9IGRlY29kZXIuZGVjb2RlQXJyYXlQb2ludGVyKGNvZGVjLlVpbnQ4KTsKLSAg
ICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSBCaWdCdWZmZXIuVGFncy5zaGFyZWRNZW1vcnk6
Ci0gICAgICAgICAgcmVzdWx0LnNoYXJlZE1lbW9yeSA9IGRlY29kZXIuZGVjb2RlU3RydWN0UG9p
bnRlcihCaWdCdWZmZXJTaGFyZWRNZW1vcnlSZWdpb24pOwotICAgICAgICAgIGJyZWFrOwotICAg
ICAgICBjYXNlIEJpZ0J1ZmZlci5UYWdzLmludmFsaWRCdWZmZXI6Ci0gICAgICAgICAgcmVzdWx0
LmludmFsaWRCdWZmZXIgPSBkZWNvZGVyLnJlYWRVaW50OCgpID8gdHJ1ZSA6IGZhbHNlOwotICAg
ICAgICAgIGJyZWFrOwotICAgICAgfQotICAgICAgZGVjb2Rlci5hbGlnbigpOwotCi0gICAgICBy
ZXR1cm4gcmVzdWx0OwotICAgIH07Ci0KLQotICAgIEJpZ0J1ZmZlci52YWxpZGF0ZSA9IGZ1bmN0
aW9uKG1lc3NhZ2VWYWxpZGF0b3IsIG9mZnNldCkgewotICAgICAgdmFyIHNpemUgPSBtZXNzYWdl
VmFsaWRhdG9yLmRlY29kZVVuaW9uU2l6ZShvZmZzZXQpOwotICAgICAgaWYgKHNpemUgIT0gMTYp
IHsKLSAgICAgICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuSU5WQUxJRF9VTklP
Tl9TSVpFOwotICAgICAgfQotCi0gICAgICB2YXIgdGFnID0gbWVzc2FnZVZhbGlkYXRvci5kZWNv
ZGVVbmlvblRhZyhvZmZzZXQpOwotICAgICAgdmFyIGRhdGFfb2Zmc2V0ID0gb2Zmc2V0ICsgODsK
LSAgICAgIHZhciBlcnI7Ci0gICAgICBzd2l0Y2ggKHRhZykgewotICAgICAgICBjYXNlIEJpZ0J1
ZmZlci5UYWdzLmJ5dGVzOgotCi0KLSAgICAvLyB2YWxpZGF0ZSBCaWdCdWZmZXIuYnl0ZXMKLSAg
ICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlQXJyYXlQb2ludGVyKGRhdGFfb2Zmc2V0
LCAxLCBjb2RlYy5VaW50OCwgZmFsc2UsIFswXSwgMCk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRh
dG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotICAgICAgICAg
IGJyZWFrOwotICAgICAgICBjYXNlIEJpZ0J1ZmZlci5UYWdzLnNoYXJlZE1lbW9yeToKLQotCi0g
ICAgLy8gdmFsaWRhdGUgQmlnQnVmZmVyLnNoYXJlZE1lbW9yeQotICAgIGVyciA9IG1lc3NhZ2VW
YWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RQb2ludGVyKGRhdGFfb2Zmc2V0LCBCaWdCdWZmZXJTaGFy
ZWRNZW1vcnlSZWdpb24sIGZhbHNlKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRh
dGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0gICAgICAgICAgYnJlYWs7Ci0g
ICAgICAgIGNhc2UgQmlnQnVmZmVyLlRhZ3MuaW52YWxpZEJ1ZmZlcjoKLQotCi0gICAgICAgICAg
YnJlYWs7Ci0gICAgICB9Ci0KLSAgICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9y
Lk5PTkU7Ci0gICAgfTsKLQotICBCaWdCdWZmZXIuZW5jb2RlZFNpemUgPSAxNjsKLSAgZXhwb3J0
cy5CaWdCdWZmZXJTaGFyZWRNZW1vcnlSZWdpb24gPSBCaWdCdWZmZXJTaGFyZWRNZW1vcnlSZWdp
b247Ci0gIGV4cG9ydHMuQmlnQnVmZmVyID0gQmlnQnVmZmVyOwotfSkoKTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2No
cm9taXVtL2JpZ19idWZmZXIubW9qb20uanMuaGVhZGVycyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL2JpZ19idWZmZXIubW9q
b20uanMuaGVhZGVycwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmM2MWEzNGE0ZWMu
LjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL2JpZ19idWZmZXIubW9qb20uanMuaGVhZGVycworKysg
L2Rldi9udWxsCkBAIC0xICswLDAgQEAKLUNvbnRlbnQtVHlwZTogdGV4dC9qYXZhc2NyaXB0OyBj
aGFyc2V0PXV0Zi04ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21p
dW0vY29udGFjdHNfbWFuYWdlcl9tb2NrLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vY29udGFjdHNfbWFuYWdlcl9tb2Nr
LmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiYmVlNjViMGM5ZS4uMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvY2hyb21pdW0vY29udGFjdHNfbWFuYWdlcl9tb2NrLmpzCisrKyAvZGV2L251bGwKQEAg
LTEsOTAgKzAsMCBAQAotLy8gQ29weXJpZ2h0IDIwMTggVGhlIENocm9taXVtIEF1dGhvcnMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCi0vLyBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5l
ZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCi0vLyBmb3VuZCBpbiB0aGUgTElD
RU5TRSBmaWxlLgotCi0ndXNlIHN0cmljdCc7Ci0KLWNvbnN0IFdlYkNvbnRhY3RzVGVzdCA9ICgo
KSA9PiB7Ci0gIGNsYXNzIE1vY2tDb250YWN0cyB7Ci0gICAgY29uc3RydWN0b3IoKSB7Ci0gICAg
ICB0aGlzLmJpbmRpbmdTZXRfID0gbmV3IG1vam8uQmluZGluZ1NldChibGluay5tb2pvbS5Db250
YWN0c01hbmFnZXIpOwotCi0gICAgICB0aGlzLmludGVyY2VwdG9yXyA9IG5ldyBNb2pvSW50ZXJm
YWNlSW50ZXJjZXB0b3IoCi0gICAgICAgIGJsaW5rLm1vam9tLkNvbnRhY3RzTWFuYWdlci5uYW1l
LCAiY29udGV4dCIsIHRydWUpOwotICAgICAgdGhpcy5pbnRlcmNlcHRvcl8ub25pbnRlcmZhY2Vy
ZXF1ZXN0ID0KLSAgICAgICAgICBlID0+IHRoaXMuYmluZGluZ1NldF8uYWRkQmluZGluZyh0aGlz
LCBlLmhhbmRsZSk7Ci0gICAgICB0aGlzLmludGVyY2VwdG9yXy5zdGFydCgpOwotCi0gICAgICB0
aGlzLnNlbGVjdGVkQ29udGFjdHNfID0gW107Ci0gICAgfQotCi0gICAgZm9ybWF0QWRkcmVzc18o
YWRkcmVzcykgewotICAgICAgLy8gVGhlc2UgYXJlIGFsbCByZXF1aXJlZCBmaWVsZHMgaW4gdGhl
IG1vam8gZGVmaW5pdGlvbi4KLSAgICAgIHJldHVybiB7Ci0gICAgICAgIGNvdW50cnk6IGFkZHJl
c3MuY291bnRyeSB8fCAnJywKLSAgICAgICAgYWRkcmVzc0xpbmU6IGFkZHJlc3MuYWRkcmVzc0xp
bmUgfHwgW10sCi0gICAgICAgIHJlZ2lvbjogYWRkcmVzcy5yZWdpb24gfHwgJycsCi0gICAgICAg
IGNpdHk6IGFkZHJlc3MuY2l0eSB8fCAnJywKLSAgICAgICAgZGVwZW5kZW50TG9jYWxpdHk6IGFk
ZHJlc3MuZGVwZW5kZW50TG9jYWxpdHkgfHwgJycsCi0gICAgICAgIHBvc3RhbENvZGU6IGFkZHJl
c3MucG9zdENvZGUgfHwgJycsCi0gICAgICAgIHNvcnRpbmdDb2RlOiBhZGRyZXNzLnNvcnRpbmdD
b2RlIHx8ICcnLAotICAgICAgICBvcmdhbml6YXRpb246IGFkZHJlc3Mub3JnYW5pemF0aW9uIHx8
ICcnLAotICAgICAgICByZWNpcGllbnQ6IGFkZHJlc3MucmVjaXBpZW50IHx8ICcnLAotICAgICAg
ICBwaG9uZTogYWRkcmVzcy5waG9uZSB8fCAnJywKLSAgICAgIH07Ci0gICAgfQotCi0gICAgYXN5
bmMgc2VsZWN0KG11bHRpcGxlLCBpbmNsdWRlTmFtZXMsIGluY2x1ZGVFbWFpbHMsIGluY2x1ZGVU
ZWwsIGluY2x1ZGVBZGRyZXNzZXMsIGluY2x1ZGVJY29ucykgewotICAgICAgaWYgKHRoaXMuc2Vs
ZWN0ZWRDb250YWN0c18gPT09IG51bGwpCi0gICAgICAgIHJldHVybiB7Y29udGFjdHM6IG51bGx9
OwotCi0gICAgICBjb25zdCBjb250YWN0SW5mb3MgPSBhd2FpdCBQcm9taXNlLmFsbCh0aGlzLnNl
bGVjdGVkQ29udGFjdHNfLm1hcChhc3luYyBjb250YWN0ID0+IHsKLSAgICAgICAgY29uc3QgY29u
dGFjdEluZm8gPSBuZXcgYmxpbmsubW9qb20uQ29udGFjdEluZm8oKTsKLSAgICAgICAgaWYgKGlu
Y2x1ZGVOYW1lcykKLSAgICAgICAgICBjb250YWN0SW5mby5uYW1lID0gY29udGFjdC5uYW1lIHx8
IFtdOwotICAgICAgICBpZiAoaW5jbHVkZUVtYWlscykKLSAgICAgICAgICBjb250YWN0SW5mby5l
bWFpbCA9IGNvbnRhY3QuZW1haWwgfHwgW107Ci0gICAgICAgIGlmIChpbmNsdWRlVGVsKQotICAg
ICAgICAgIGNvbnRhY3RJbmZvLnRlbCA9IGNvbnRhY3QudGVsIHx8IFtdOwotICAgICAgICBpZiAo
aW5jbHVkZUFkZHJlc3NlcykgewotICAgICAgICAgIGNvbnRhY3RJbmZvLmFkZHJlc3MgPSAoY29u
dGFjdC5hZGRyZXNzIHx8IFtdKS5tYXAoYWRkcmVzcyA9PiB0aGlzLmZvcm1hdEFkZHJlc3NfKGFk
ZHJlc3MpKTsKLSAgICAgICAgfQotICAgICAgICBpZiAoaW5jbHVkZUljb25zKSB7Ci0gICAgICAg
ICAgY29udGFjdEluZm8uaWNvbiA9IGF3YWl0IFByb21pc2UuYWxsKAotICAgICAgICAgICAgKGNv
bnRhY3QuaWNvbiB8fCBbXSkubWFwKGFzeW5jIGJsb2IgPT4gKHsKLSAgICAgICAgICAgICAgbWlt
ZVR5cGU6IGJsb2IudHlwZSwKLSAgICAgICAgICAgICAgZGF0YTogKGF3YWl0IGJsb2IudGV4dCgp
KS5zcGxpdCgnJykubWFwKHMgPT4gcy5jaGFyQ29kZUF0KDApKSwKLSAgICAgICAgICAgIH0pKSk7
Ci0gICAgICAgIH0KLSAgICAgICAgcmV0dXJuIGNvbnRhY3RJbmZvOwotICAgICAgfSkpOwotCi0g
ICAgICBpZiAoIWNvbnRhY3RJbmZvcy5sZW5ndGgpIHJldHVybiB7Y29udGFjdHM6IFtdfTsKLSAg
ICAgIGlmICghbXVsdGlwbGUpIHJldHVybiB7Y29udGFjdHM6IFtjb250YWN0SW5mb3NbMF1dfTsK
LSAgICAgIHJldHVybiB7Y29udGFjdHM6IGNvbnRhY3RJbmZvc307Ci0gICAgfQotCi0gICAgc2V0
U2VsZWN0ZWRDb250YWN0cyhjb250YWN0cykgewotICAgICAgdGhpcy5zZWxlY3RlZENvbnRhY3Rz
XyA9IGNvbnRhY3RzOwotICAgIH0KLQotICAgIHJlc2V0KCkgewotICAgICAgdGhpcy5iaW5kaW5n
U2V0Xy5jbG9zZUFsbEJpbmRpbmdzKCk7Ci0gICAgICB0aGlzLmludGVyY2VwdG9yXy5zdG9wKCk7
Ci0gICAgfQotICB9Ci0KLSAgY29uc3QgbW9ja0NvbnRhY3RzID0gbmV3IE1vY2tDb250YWN0cygp
OwotCi0gIGNsYXNzIENvbnRhY3RzVGVzdENocm9taXVtIHsKLSAgICBjb25zdHJ1Y3RvcigpIHsK
LSAgICAgIE9iamVjdC5mcmVlemUodGhpcyk7IC8vIE1ha2UgaXQgaW1tdXRhYmxlLgotICAgIH0K
LQotICAgIHNldFNlbGVjdGVkQ29udGFjdHMoY29udGFjdHMpIHsKLSAgICAgIG1vY2tDb250YWN0
cy5zZXRTZWxlY3RlZENvbnRhY3RzKGNvbnRhY3RzKTsKLSAgICB9Ci0gIH0KLQotICByZXR1cm4g
Q29udGFjdHNUZXN0Q2hyb21pdW07Ci19KSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vZGV2aWNlLm1v
am9tLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvY2hyb21pdW0vZGV2aWNlLm1vam9tLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCA2NDg4Y2JjNjljMi4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vZGV2aWNlLm1vam9tLmpz
CisrKyAvZGV2L251bGwKQEAgLTEsMzc4OCArMCwwIEBACi0vLyBDb3B5cmlnaHQgMjAxNCBUaGUg
Q2hyb21pdW0gQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLS8vIFVzZSBvZiB0aGlzIHNv
dXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUK
LS8vIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCi0KLSd1c2Ugc3RyaWN0JzsKLQotKGZ1bmN0
aW9uKCkgewotICB2YXIgbW9qb21JZCA9ICdkZXZpY2UvdXNiL3B1YmxpYy9tb2pvbS9kZXZpY2Uu
bW9qb20nOwotICBpZiAobW9qby5pbnRlcm5hbC5pc01vam9tTG9hZGVkKG1vam9tSWQpKSB7Ci0g
ICAgY29uc29sZS53YXJuKCdUaGUgZm9sbG93aW5nIG1vam9tIGlzIGxvYWRlZCBtdWx0aXBsZSB0
aW1lczogJyArIG1vam9tSWQpOwotICAgIHJldHVybjsKLSAgfQotICBtb2pvLmludGVybmFsLm1h
cmtNb2pvbUxvYWRlZChtb2pvbUlkKTsKLSAgdmFyIGJpbmRpbmdzID0gbW9qbzsKLSAgdmFyIGFz
c29jaWF0ZWRCaW5kaW5ncyA9IG1vam87Ci0gIHZhciBjb2RlYyA9IG1vam8uaW50ZXJuYWw7Ci0g
IHZhciB2YWxpZGF0b3IgPSBtb2pvLmludGVybmFsOwotCi0gIHZhciBleHBvcnRzID0gbW9qby5p
bnRlcm5hbC5leHBvc2VOYW1lc3BhY2UoJ2RldmljZS5tb2pvbScpOwotICB2YXIgc3RyaW5nMTYk
ID0KLSAgICAgIG1vam8uaW50ZXJuYWwuZXhwb3NlTmFtZXNwYWNlKCdtb2pvQmFzZS5tb2pvbScp
OwotICBpZiAobW9qby5jb25maWcuYXV0b0xvYWRNb2pvbURlcHMpIHsKLSAgICBtb2pvLmludGVy
bmFsLmxvYWRNb2pvbUlmTmVjZXNzYXJ5KAotICAgICAgICAnbW9qby9wdWJsaWMvbW9qb20vYmFz
ZS9zdHJpbmcxNi5tb2pvbScsICcuLi8uLi8uLi8uLi9tb2pvL3B1YmxpYy9tb2pvbS9iYXNlL3N0
cmluZzE2Lm1vam9tLmpzJyk7Ci0gIH0KLSAgdmFyIHVybCQgPQotICAgICAgbW9qby5pbnRlcm5h
bC5leHBvc2VOYW1lc3BhY2UoJ3VybC5tb2pvbScpOwotICBpZiAobW9qby5jb25maWcuYXV0b0xv
YWRNb2pvbURlcHMpIHsKLSAgICBtb2pvLmludGVybmFsLmxvYWRNb2pvbUlmTmVjZXNzYXJ5KAot
ICAgICAgICAndXJsL21vam9tL3VybC5tb2pvbScsICcuLi8uLi8uLi8uLi91cmwvbW9qb20vdXJs
Lm1vam9tLmpzJyk7Ci0gIH0KLQotCi0gIHZhciBVc2JPcGVuRGV2aWNlRXJyb3IgPSB7fTsKLSAg
VXNiT3BlbkRldmljZUVycm9yLk9LID0gMDsKLSAgVXNiT3BlbkRldmljZUVycm9yLkFDQ0VTU19E
RU5JRUQgPSBVc2JPcGVuRGV2aWNlRXJyb3IuT0sgKyAxOwotICBVc2JPcGVuRGV2aWNlRXJyb3Iu
QUxSRUFEWV9PUEVOID0gVXNiT3BlbkRldmljZUVycm9yLkFDQ0VTU19ERU5JRUQgKyAxOwotICBV
c2JPcGVuRGV2aWNlRXJyb3IuTUlOX1ZBTFVFID0gMCwKLSAgVXNiT3BlbkRldmljZUVycm9yLk1B
WF9WQUxVRSA9IDIsCi0KLSAgVXNiT3BlbkRldmljZUVycm9yLmlzS25vd25FbnVtVmFsdWUgPSBm
dW5jdGlvbih2YWx1ZSkgewotICAgIHN3aXRjaCAodmFsdWUpIHsKLSAgICBjYXNlIDA6Ci0gICAg
Y2FzZSAxOgotICAgIGNhc2UgMjoKLSAgICAgIHJldHVybiB0cnVlOwotICAgIH0KLSAgICByZXR1
cm4gZmFsc2U7Ci0gIH07Ci0KLSAgVXNiT3BlbkRldmljZUVycm9yLnZhbGlkYXRlID0gZnVuY3Rp
b24oZW51bVZhbHVlKSB7Ci0gICAgdmFyIGlzRXh0ZW5zaWJsZSA9IGZhbHNlOwotICAgIGlmIChp
c0V4dGVuc2libGUgfHwgdGhpcy5pc0tub3duRW51bVZhbHVlKGVudW1WYWx1ZSkpCi0gICAgICBy
ZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwotCi0gICAgcmV0dXJuIHZhbGlk
YXRvci52YWxpZGF0aW9uRXJyb3IuVU5LTk9XTl9FTlVNX1ZBTFVFOwotICB9OwotICB2YXIgVXNi
VHJhbnNmZXJEaXJlY3Rpb24gPSB7fTsKLSAgVXNiVHJhbnNmZXJEaXJlY3Rpb24uSU5CT1VORCA9
IDA7Ci0gIFVzYlRyYW5zZmVyRGlyZWN0aW9uLk9VVEJPVU5EID0gVXNiVHJhbnNmZXJEaXJlY3Rp
b24uSU5CT1VORCArIDE7Ci0gIFVzYlRyYW5zZmVyRGlyZWN0aW9uLk1JTl9WQUxVRSA9IDAsCi0g
IFVzYlRyYW5zZmVyRGlyZWN0aW9uLk1BWF9WQUxVRSA9IDEsCi0KLSAgVXNiVHJhbnNmZXJEaXJl
Y3Rpb24uaXNLbm93bkVudW1WYWx1ZSA9IGZ1bmN0aW9uKHZhbHVlKSB7Ci0gICAgc3dpdGNoICh2
YWx1ZSkgewotICAgIGNhc2UgMDoKLSAgICBjYXNlIDE6Ci0gICAgICByZXR1cm4gdHJ1ZTsKLSAg
ICB9Ci0gICAgcmV0dXJuIGZhbHNlOwotICB9OwotCi0gIFVzYlRyYW5zZmVyRGlyZWN0aW9uLnZh
bGlkYXRlID0gZnVuY3Rpb24oZW51bVZhbHVlKSB7Ci0gICAgdmFyIGlzRXh0ZW5zaWJsZSA9IGZh
bHNlOwotICAgIGlmIChpc0V4dGVuc2libGUgfHwgdGhpcy5pc0tub3duRW51bVZhbHVlKGVudW1W
YWx1ZSkpCi0gICAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwotCi0g
ICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuVU5LTk9XTl9FTlVNX1ZBTFVFOwot
ICB9OwotICB2YXIgVXNiQ29udHJvbFRyYW5zZmVyVHlwZSA9IHt9OwotICBVc2JDb250cm9sVHJh
bnNmZXJUeXBlLlNUQU5EQVJEID0gMDsKLSAgVXNiQ29udHJvbFRyYW5zZmVyVHlwZS5DTEFTUyA9
IFVzYkNvbnRyb2xUcmFuc2ZlclR5cGUuU1RBTkRBUkQgKyAxOwotICBVc2JDb250cm9sVHJhbnNm
ZXJUeXBlLlZFTkRPUiA9IFVzYkNvbnRyb2xUcmFuc2ZlclR5cGUuQ0xBU1MgKyAxOwotICBVc2JD
b250cm9sVHJhbnNmZXJUeXBlLlJFU0VSVkVEID0gVXNiQ29udHJvbFRyYW5zZmVyVHlwZS5WRU5E
T1IgKyAxOwotICBVc2JDb250cm9sVHJhbnNmZXJUeXBlLk1JTl9WQUxVRSA9IDAsCi0gIFVzYkNv
bnRyb2xUcmFuc2ZlclR5cGUuTUFYX1ZBTFVFID0gMywKLQotICBVc2JDb250cm9sVHJhbnNmZXJU
eXBlLmlzS25vd25FbnVtVmFsdWUgPSBmdW5jdGlvbih2YWx1ZSkgewotICAgIHN3aXRjaCAodmFs
dWUpIHsKLSAgICBjYXNlIDA6Ci0gICAgY2FzZSAxOgotICAgIGNhc2UgMjoKLSAgICBjYXNlIDM6
Ci0gICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9Ci0gICAgcmV0dXJuIGZhbHNlOwotICB9OwotCi0g
IFVzYkNvbnRyb2xUcmFuc2ZlclR5cGUudmFsaWRhdGUgPSBmdW5jdGlvbihlbnVtVmFsdWUpIHsK
LSAgICB2YXIgaXNFeHRlbnNpYmxlID0gZmFsc2U7Ci0gICAgaWYgKGlzRXh0ZW5zaWJsZSB8fCB0
aGlzLmlzS25vd25FbnVtVmFsdWUoZW51bVZhbHVlKSkKLSAgICAgIHJldHVybiB2YWxpZGF0b3Iu
dmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0KLSAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25F
cnJvci5VTktOT1dOX0VOVU1fVkFMVUU7Ci0gIH07Ci0gIHZhciBVc2JDb250cm9sVHJhbnNmZXJS
ZWNpcGllbnQgPSB7fTsKLSAgVXNiQ29udHJvbFRyYW5zZmVyUmVjaXBpZW50LkRFVklDRSA9IDA7
Ci0gIFVzYkNvbnRyb2xUcmFuc2ZlclJlY2lwaWVudC5JTlRFUkZBQ0UgPSBVc2JDb250cm9sVHJh
bnNmZXJSZWNpcGllbnQuREVWSUNFICsgMTsKLSAgVXNiQ29udHJvbFRyYW5zZmVyUmVjaXBpZW50
LkVORFBPSU5UID0gVXNiQ29udHJvbFRyYW5zZmVyUmVjaXBpZW50LklOVEVSRkFDRSArIDE7Ci0g
IFVzYkNvbnRyb2xUcmFuc2ZlclJlY2lwaWVudC5PVEhFUiA9IFVzYkNvbnRyb2xUcmFuc2ZlclJl
Y2lwaWVudC5FTkRQT0lOVCArIDE7Ci0gIFVzYkNvbnRyb2xUcmFuc2ZlclJlY2lwaWVudC5NSU5f
VkFMVUUgPSAwLAotICBVc2JDb250cm9sVHJhbnNmZXJSZWNpcGllbnQuTUFYX1ZBTFVFID0gMywK
LQotICBVc2JDb250cm9sVHJhbnNmZXJSZWNpcGllbnQuaXNLbm93bkVudW1WYWx1ZSA9IGZ1bmN0
aW9uKHZhbHVlKSB7Ci0gICAgc3dpdGNoICh2YWx1ZSkgewotICAgIGNhc2UgMDoKLSAgICBjYXNl
IDE6Ci0gICAgY2FzZSAyOgotICAgIGNhc2UgMzoKLSAgICAgIHJldHVybiB0cnVlOwotICAgIH0K
LSAgICByZXR1cm4gZmFsc2U7Ci0gIH07Ci0KLSAgVXNiQ29udHJvbFRyYW5zZmVyUmVjaXBpZW50
LnZhbGlkYXRlID0gZnVuY3Rpb24oZW51bVZhbHVlKSB7Ci0gICAgdmFyIGlzRXh0ZW5zaWJsZSA9
IGZhbHNlOwotICAgIGlmIChpc0V4dGVuc2libGUgfHwgdGhpcy5pc0tub3duRW51bVZhbHVlKGVu
dW1WYWx1ZSkpCi0gICAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwot
Ci0gICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuVU5LTk9XTl9FTlVNX1ZBTFVF
OwotICB9OwotICB2YXIgVXNiVHJhbnNmZXJUeXBlID0ge307Ci0gIFVzYlRyYW5zZmVyVHlwZS5D
T05UUk9MID0gMDsKLSAgVXNiVHJhbnNmZXJUeXBlLklTT0NIUk9OT1VTID0gVXNiVHJhbnNmZXJU
eXBlLkNPTlRST0wgKyAxOwotICBVc2JUcmFuc2ZlclR5cGUuQlVMSyA9IFVzYlRyYW5zZmVyVHlw
ZS5JU09DSFJPTk9VUyArIDE7Ci0gIFVzYlRyYW5zZmVyVHlwZS5JTlRFUlJVUFQgPSBVc2JUcmFu
c2ZlclR5cGUuQlVMSyArIDE7Ci0gIFVzYlRyYW5zZmVyVHlwZS5NSU5fVkFMVUUgPSAwLAotICBV
c2JUcmFuc2ZlclR5cGUuTUFYX1ZBTFVFID0gMywKLQotICBVc2JUcmFuc2ZlclR5cGUuaXNLbm93
bkVudW1WYWx1ZSA9IGZ1bmN0aW9uKHZhbHVlKSB7Ci0gICAgc3dpdGNoICh2YWx1ZSkgewotICAg
IGNhc2UgMDoKLSAgICBjYXNlIDE6Ci0gICAgY2FzZSAyOgotICAgIGNhc2UgMzoKLSAgICAgIHJl
dHVybiB0cnVlOwotICAgIH0KLSAgICByZXR1cm4gZmFsc2U7Ci0gIH07Ci0KLSAgVXNiVHJhbnNm
ZXJUeXBlLnZhbGlkYXRlID0gZnVuY3Rpb24oZW51bVZhbHVlKSB7Ci0gICAgdmFyIGlzRXh0ZW5z
aWJsZSA9IGZhbHNlOwotICAgIGlmIChpc0V4dGVuc2libGUgfHwgdGhpcy5pc0tub3duRW51bVZh
bHVlKGVudW1WYWx1ZSkpCi0gICAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5O
T05FOwotCi0gICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuVU5LTk9XTl9FTlVN
X1ZBTFVFOwotICB9OwotICB2YXIgVXNiU3luY2hyb25pemF0aW9uVHlwZSA9IHt9OwotICBVc2JT
eW5jaHJvbml6YXRpb25UeXBlLk5PTkUgPSAwOwotICBVc2JTeW5jaHJvbml6YXRpb25UeXBlLkFT
WU5DSFJPTk9VUyA9IFVzYlN5bmNocm9uaXphdGlvblR5cGUuTk9ORSArIDE7Ci0gIFVzYlN5bmNo
cm9uaXphdGlvblR5cGUuQURBUFRJVkUgPSBVc2JTeW5jaHJvbml6YXRpb25UeXBlLkFTWU5DSFJP
Tk9VUyArIDE7Ci0gIFVzYlN5bmNocm9uaXphdGlvblR5cGUuU1lOQ0hST05PVVMgPSBVc2JTeW5j
aHJvbml6YXRpb25UeXBlLkFEQVBUSVZFICsgMTsKLSAgVXNiU3luY2hyb25pemF0aW9uVHlwZS5N
SU5fVkFMVUUgPSAwLAotICBVc2JTeW5jaHJvbml6YXRpb25UeXBlLk1BWF9WQUxVRSA9IDMsCi0K
LSAgVXNiU3luY2hyb25pemF0aW9uVHlwZS5pc0tub3duRW51bVZhbHVlID0gZnVuY3Rpb24odmFs
dWUpIHsKLSAgICBzd2l0Y2ggKHZhbHVlKSB7Ci0gICAgY2FzZSAwOgotICAgIGNhc2UgMToKLSAg
ICBjYXNlIDI6Ci0gICAgY2FzZSAzOgotICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfQotICAgIHJl
dHVybiBmYWxzZTsKLSAgfTsKLQotICBVc2JTeW5jaHJvbml6YXRpb25UeXBlLnZhbGlkYXRlID0g
ZnVuY3Rpb24oZW51bVZhbHVlKSB7Ci0gICAgdmFyIGlzRXh0ZW5zaWJsZSA9IGZhbHNlOwotICAg
IGlmIChpc0V4dGVuc2libGUgfHwgdGhpcy5pc0tub3duRW51bVZhbHVlKGVudW1WYWx1ZSkpCi0g
ICAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwotCi0gICAgcmV0dXJu
IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuVU5LTk9XTl9FTlVNX1ZBTFVFOwotICB9OwotICB2
YXIgVXNiVXNhZ2VUeXBlID0ge307Ci0gIFVzYlVzYWdlVHlwZS5EQVRBID0gMDsKLSAgVXNiVXNh
Z2VUeXBlLkZFRURCQUNLID0gVXNiVXNhZ2VUeXBlLkRBVEEgKyAxOwotICBVc2JVc2FnZVR5cGUu
RVhQTElDSVRfRkVFREJBQ0sgPSBVc2JVc2FnZVR5cGUuRkVFREJBQ0sgKyAxOwotICBVc2JVc2Fn
ZVR5cGUuUEVSSU9ESUMgPSBVc2JVc2FnZVR5cGUuRVhQTElDSVRfRkVFREJBQ0sgKyAxOwotICBV
c2JVc2FnZVR5cGUuTk9USUZJQ0FUSU9OID0gVXNiVXNhZ2VUeXBlLlBFUklPRElDICsgMTsKLSAg
VXNiVXNhZ2VUeXBlLlJFU0VSVkVEID0gVXNiVXNhZ2VUeXBlLk5PVElGSUNBVElPTiArIDE7Ci0g
IFVzYlVzYWdlVHlwZS5NSU5fVkFMVUUgPSAwLAotICBVc2JVc2FnZVR5cGUuTUFYX1ZBTFVFID0g
NSwKLQotICBVc2JVc2FnZVR5cGUuaXNLbm93bkVudW1WYWx1ZSA9IGZ1bmN0aW9uKHZhbHVlKSB7
Ci0gICAgc3dpdGNoICh2YWx1ZSkgewotICAgIGNhc2UgMDoKLSAgICBjYXNlIDE6Ci0gICAgY2Fz
ZSAyOgotICAgIGNhc2UgMzoKLSAgICBjYXNlIDQ6Ci0gICAgY2FzZSA1OgotICAgICAgcmV0dXJu
IHRydWU7Ci0gICAgfQotICAgIHJldHVybiBmYWxzZTsKLSAgfTsKLQotICBVc2JVc2FnZVR5cGUu
dmFsaWRhdGUgPSBmdW5jdGlvbihlbnVtVmFsdWUpIHsKLSAgICB2YXIgaXNFeHRlbnNpYmxlID0g
ZmFsc2U7Ci0gICAgaWYgKGlzRXh0ZW5zaWJsZSB8fCB0aGlzLmlzS25vd25FbnVtVmFsdWUoZW51
bVZhbHVlKSkKLSAgICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0K
LSAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5VTktOT1dOX0VOVU1fVkFMVUU7
Ci0gIH07Ci0gIHZhciBVc2JUcmFuc2ZlclN0YXR1cyA9IHt9OwotICBVc2JUcmFuc2ZlclN0YXR1
cy5DT01QTEVURUQgPSAwOwotICBVc2JUcmFuc2ZlclN0YXR1cy5UUkFOU0ZFUl9FUlJPUiA9IFVz
YlRyYW5zZmVyU3RhdHVzLkNPTVBMRVRFRCArIDE7Ci0gIFVzYlRyYW5zZmVyU3RhdHVzLlRJTUVP
VVQgPSBVc2JUcmFuc2ZlclN0YXR1cy5UUkFOU0ZFUl9FUlJPUiArIDE7Ci0gIFVzYlRyYW5zZmVy
U3RhdHVzLkNBTkNFTExFRCA9IFVzYlRyYW5zZmVyU3RhdHVzLlRJTUVPVVQgKyAxOwotICBVc2JU
cmFuc2ZlclN0YXR1cy5TVEFMTEVEID0gVXNiVHJhbnNmZXJTdGF0dXMuQ0FOQ0VMTEVEICsgMTsK
LSAgVXNiVHJhbnNmZXJTdGF0dXMuRElTQ09OTkVDVCA9IFVzYlRyYW5zZmVyU3RhdHVzLlNUQUxM
RUQgKyAxOwotICBVc2JUcmFuc2ZlclN0YXR1cy5CQUJCTEUgPSBVc2JUcmFuc2ZlclN0YXR1cy5E
SVNDT05ORUNUICsgMTsKLSAgVXNiVHJhbnNmZXJTdGF0dXMuU0hPUlRfUEFDS0VUID0gVXNiVHJh
bnNmZXJTdGF0dXMuQkFCQkxFICsgMTsKLSAgVXNiVHJhbnNmZXJTdGF0dXMuUEVSTUlTU0lPTl9E
RU5JRUQgPSBVc2JUcmFuc2ZlclN0YXR1cy5TSE9SVF9QQUNLRVQgKyAxOwotICBVc2JUcmFuc2Zl
clN0YXR1cy5NSU5fVkFMVUUgPSAwLAotICBVc2JUcmFuc2ZlclN0YXR1cy5NQVhfVkFMVUUgPSA4
LAotCi0gIFVzYlRyYW5zZmVyU3RhdHVzLmlzS25vd25FbnVtVmFsdWUgPSBmdW5jdGlvbih2YWx1
ZSkgewotICAgIHN3aXRjaCAodmFsdWUpIHsKLSAgICBjYXNlIDA6Ci0gICAgY2FzZSAxOgotICAg
IGNhc2UgMjoKLSAgICBjYXNlIDM6Ci0gICAgY2FzZSA0OgotICAgIGNhc2UgNToKLSAgICBjYXNl
IDY6Ci0gICAgY2FzZSA3OgotICAgIGNhc2UgODoKLSAgICAgIHJldHVybiB0cnVlOwotICAgIH0K
LSAgICByZXR1cm4gZmFsc2U7Ci0gIH07Ci0KLSAgVXNiVHJhbnNmZXJTdGF0dXMudmFsaWRhdGUg
PSBmdW5jdGlvbihlbnVtVmFsdWUpIHsKLSAgICB2YXIgaXNFeHRlbnNpYmxlID0gZmFsc2U7Ci0g
ICAgaWYgKGlzRXh0ZW5zaWJsZSB8fCB0aGlzLmlzS25vd25FbnVtVmFsdWUoZW51bVZhbHVlKSkK
LSAgICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0KLSAgICByZXR1
cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5VTktOT1dOX0VOVU1fVkFMVUU7Ci0gIH07Ci0K
LSAgZnVuY3Rpb24gVXNiRW5kcG9pbnRJbmZvKHZhbHVlcykgewotICAgIHRoaXMuaW5pdERlZmF1
bHRzXygpOwotICAgIHRoaXMuaW5pdEZpZWxkc18odmFsdWVzKTsKLSAgfQotCi0KLSAgVXNiRW5k
cG9pbnRJbmZvLnByb3RvdHlwZS5pbml0RGVmYXVsdHNfID0gZnVuY3Rpb24oKSB7Ci0gICAgdGhp
cy5lbmRwb2ludE51bWJlciA9IDA7Ci0gICAgdGhpcy5wb2xsaW5nSW50ZXJ2YWwgPSAwOwotICAg
IHRoaXMuZGlyZWN0aW9uID0gMDsKLSAgICB0aGlzLnR5cGUgPSAwOwotICAgIHRoaXMucGFja2V0
U2l6ZSA9IDA7Ci0gICAgdGhpcy5zeW5jaHJvbml6YXRpb25UeXBlID0gMDsKLSAgICB0aGlzLnVz
YWdlVHlwZSA9IDA7Ci0gICAgdGhpcy5leHRyYURhdGEgPSBudWxsOwotICB9OwotICBVc2JFbmRw
b2ludEluZm8ucHJvdG90eXBlLmluaXRGaWVsZHNfID0gZnVuY3Rpb24oZmllbGRzKSB7Ci0gICAg
Zm9yKHZhciBmaWVsZCBpbiBmaWVsZHMpIHsKLSAgICAgICAgaWYgKHRoaXMuaGFzT3duUHJvcGVy
dHkoZmllbGQpKQotICAgICAgICAgIHRoaXNbZmllbGRdID0gZmllbGRzW2ZpZWxkXTsKLSAgICB9
Ci0gIH07Ci0KLSAgVXNiRW5kcG9pbnRJbmZvLnZhbGlkYXRlID0gZnVuY3Rpb24obWVzc2FnZVZh
bGlkYXRvciwgb2Zmc2V0KSB7Ci0gICAgdmFyIGVycjsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRh
dG9yLnZhbGlkYXRlU3RydWN0SGVhZGVyKG9mZnNldCwgY29kZWMua1N0cnVjdEhlYWRlclNpemUp
OwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAg
ICAgcmV0dXJuIGVycjsKLQotICAgIHZhciBrVmVyc2lvblNpemVzID0gWwotICAgICAge3ZlcnNp
b246IDAsIG51bUJ5dGVzOiA0MH0KLSAgICBdOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3Iu
dmFsaWRhdGVTdHJ1Y3RWZXJzaW9uKG9mZnNldCwga1ZlcnNpb25TaXplcyk7Ci0gICAgaWYgKGVy
ciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJy
OwotCi0KLQotICAgIC8vIHZhbGlkYXRlIFVzYkVuZHBvaW50SW5mby5kaXJlY3Rpb24KLSAgICBl
cnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlRW51bShvZmZzZXQgKyBjb2RlYy5rU3RydWN0
SGVhZGVyU2l6ZSArIDQsIFVzYlRyYW5zZmVyRGlyZWN0aW9uKTsKLSAgICBpZiAoZXJyICE9PSB2
YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQot
ICAgIC8vIHZhbGlkYXRlIFVzYkVuZHBvaW50SW5mby50eXBlCi0gICAgZXJyID0gbWVzc2FnZVZh
bGlkYXRvci52YWxpZGF0ZUVudW0ob2Zmc2V0ICsgY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyA4
LCBVc2JUcmFuc2ZlclR5cGUpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9u
RXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0KLSAgICAvLyB2YWxpZGF0ZSBV
c2JFbmRwb2ludEluZm8uc3luY2hyb25pemF0aW9uVHlwZQotICAgIGVyciA9IG1lc3NhZ2VWYWxp
ZGF0b3IudmFsaWRhdGVFbnVtKG9mZnNldCArIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgMTYs
IFVzYlN5bmNocm9uaXphdGlvblR5cGUpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxp
ZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0gICAgLy8gdmFsaWRh
dGUgVXNiRW5kcG9pbnRJbmZvLnVzYWdlVHlwZQotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3Iu
dmFsaWRhdGVFbnVtKG9mZnNldCArIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgMjAsIFVzYlVz
YWdlVHlwZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05F
KQotICAgICAgICByZXR1cm4gZXJyOwotCi0KLQotICAgIC8vIHZhbGlkYXRlIFVzYkVuZHBvaW50
SW5mby5leHRyYURhdGEKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlQXJyYXlQ
b2ludGVyKG9mZnNldCArIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgMjQsIDEsIGNvZGVjLlVp
bnQ4LCBmYWxzZSwgWzBdLCAwKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlv
bkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICByZXR1cm4gdmFsaWRhdG9y
LnZhbGlkYXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIFVzYkVuZHBvaW50SW5mby5lbmNvZGVk
U2l6ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgMzI7Ci0KLSAgVXNiRW5kcG9pbnRJbmZv
LmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIHZhciB2
YWwgPSBuZXcgVXNiRW5kcG9pbnRJbmZvKCk7Ci0gICAgdmFyIG51bWJlck9mQnl0ZXMgPSBkZWNv
ZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YXIgdmVyc2lvbiA9IGRlY29kZXIucmVhZFVpbnQzMigp
OwotICAgIHZhbC5lbmRwb2ludE51bWJlciA9IGRlY29kZXIuZGVjb2RlU3RydWN0KGNvZGVjLlVp
bnQ4KTsKLSAgICB2YWwucG9sbGluZ0ludGVydmFsID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoY29k
ZWMuVWludDgpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0g
ICAgdmFsLmRpcmVjdGlvbiA9IGRlY29kZXIuZGVjb2RlU3RydWN0KGNvZGVjLkludDMyKTsKLSAg
ICB2YWwudHlwZSA9IGRlY29kZXIuZGVjb2RlU3RydWN0KGNvZGVjLkludDMyKTsKLSAgICB2YWwu
cGFja2V0U2l6ZSA9IGRlY29kZXIuZGVjb2RlU3RydWN0KGNvZGVjLlVpbnQzMik7Ci0gICAgdmFs
LnN5bmNocm9uaXphdGlvblR5cGUgPSBkZWNvZGVyLmRlY29kZVN0cnVjdChjb2RlYy5JbnQzMik7
Ci0gICAgdmFsLnVzYWdlVHlwZSA9IGRlY29kZXIuZGVjb2RlU3RydWN0KGNvZGVjLkludDMyKTsK
LSAgICB2YWwuZXh0cmFEYXRhID0gZGVjb2Rlci5kZWNvZGVBcnJheVBvaW50ZXIoY29kZWMuVWlu
dDgpOwotICAgIHJldHVybiB2YWw7Ci0gIH07Ci0KLSAgVXNiRW5kcG9pbnRJbmZvLmVuY29kZSA9
IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgZW5jb2Rlci53
cml0ZVVpbnQzMihVc2JFbmRwb2ludEluZm8uZW5jb2RlZFNpemUpOwotICAgIGVuY29kZXIud3Jp
dGVVaW50MzIoMCk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3QoY29kZWMuVWludDgsIHZhbC5l
bmRwb2ludE51bWJlcik7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3QoY29kZWMuVWludDgsIHZh
bC5wb2xsaW5nSW50ZXJ2YWwpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNr
aXAoMSk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3QoY29kZWMuSW50MzIsIHZhbC5kaXJlY3Rp
b24pOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNvZGVjLkludDMyLCB2YWwudHlwZSk7Ci0g
ICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3QoY29kZWMuVWludDMyLCB2YWwucGFja2V0U2l6ZSk7Ci0g
ICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3QoY29kZWMuSW50MzIsIHZhbC5zeW5jaHJvbml6YXRpb25U
eXBlKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdChjb2RlYy5JbnQzMiwgdmFsLnVzYWdlVHlw
ZSk7Ci0gICAgZW5jb2Rlci5lbmNvZGVBcnJheVBvaW50ZXIoY29kZWMuVWludDgsIHZhbC5leHRy
YURhdGEpOwotICB9OwotICBmdW5jdGlvbiBVc2JBbHRlcm5hdGVJbnRlcmZhY2VJbmZvKHZhbHVl
cykgewotICAgIHRoaXMuaW5pdERlZmF1bHRzXygpOwotICAgIHRoaXMuaW5pdEZpZWxkc18odmFs
dWVzKTsKLSAgfQotCi0KLSAgVXNiQWx0ZXJuYXRlSW50ZXJmYWNlSW5mby5wcm90b3R5cGUuaW5p
dERlZmF1bHRzXyA9IGZ1bmN0aW9uKCkgewotICAgIHRoaXMuYWx0ZXJuYXRlU2V0dGluZyA9IDA7
Ci0gICAgdGhpcy5jbGFzc0NvZGUgPSAwOwotICAgIHRoaXMuc3ViY2xhc3NDb2RlID0gMDsKLSAg
ICB0aGlzLnByb3RvY29sQ29kZSA9IDA7Ci0gICAgdGhpcy5pbnRlcmZhY2VOYW1lID0gbnVsbDsK
LSAgICB0aGlzLmVuZHBvaW50cyA9IG51bGw7Ci0gICAgdGhpcy5leHRyYURhdGEgPSBudWxsOwot
ICB9OwotICBVc2JBbHRlcm5hdGVJbnRlcmZhY2VJbmZvLnByb3RvdHlwZS5pbml0RmllbGRzXyA9
IGZ1bmN0aW9uKGZpZWxkcykgewotICAgIGZvcih2YXIgZmllbGQgaW4gZmllbGRzKSB7Ci0gICAg
ICAgIGlmICh0aGlzLmhhc093blByb3BlcnR5KGZpZWxkKSkKLSAgICAgICAgICB0aGlzW2ZpZWxk
XSA9IGZpZWxkc1tmaWVsZF07Ci0gICAgfQotICB9OwotCi0gIFVzYkFsdGVybmF0ZUludGVyZmFj
ZUluZm8udmFsaWRhdGUgPSBmdW5jdGlvbihtZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsKLSAg
ICB2YXIgZXJyOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RIZWFk
ZXIob2Zmc2V0LCBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFs
aWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAg
dmFyIGtWZXJzaW9uU2l6ZXMgPSBbCi0gICAgICB7dmVyc2lvbjogMCwgbnVtQnl0ZXM6IDQwfQot
ICAgIF07Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFZlcnNpb24o
b2Zmc2V0LCBrVmVyc2lvblNpemVzKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRh
dGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotCi0KLQotCi0gICAgLy8g
dmFsaWRhdGUgVXNiQWx0ZXJuYXRlSW50ZXJmYWNlSW5mby5pbnRlcmZhY2VOYW1lCi0gICAgZXJy
ID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFBvaW50ZXIob2Zmc2V0ICsgY29kZWMu
a1N0cnVjdEhlYWRlclNpemUgKyA4LCBzdHJpbmcxNiQuU3RyaW5nMTYsIHRydWUpOwotICAgIGlm
IChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJu
IGVycjsKLQotCi0gICAgLy8gdmFsaWRhdGUgVXNiQWx0ZXJuYXRlSW50ZXJmYWNlSW5mby5lbmRw
b2ludHMKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlQXJyYXlQb2ludGVyKG9m
ZnNldCArIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgMTYsIDgsIG5ldyBjb2RlYy5Qb2ludGVy
VG8oVXNiRW5kcG9pbnRJbmZvKSwgZmFsc2UsIFswXSwgMCk7Ci0gICAgaWYgKGVyciAhPT0gdmFs
aWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0KLSAg
ICAvLyB2YWxpZGF0ZSBVc2JBbHRlcm5hdGVJbnRlcmZhY2VJbmZvLmV4dHJhRGF0YQotICAgIGVy
ciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVBcnJheVBvaW50ZXIob2Zmc2V0ICsgY29kZWMu
a1N0cnVjdEhlYWRlclNpemUgKyAyNCwgMSwgY29kZWMuVWludDgsIGZhbHNlLCBbMF0sIDApOwot
ICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAg
cmV0dXJuIGVycjsKLQotICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7
Ci0gIH07Ci0KLSAgVXNiQWx0ZXJuYXRlSW50ZXJmYWNlSW5mby5lbmNvZGVkU2l6ZSA9IGNvZGVj
LmtTdHJ1Y3RIZWFkZXJTaXplICsgMzI7Ci0KLSAgVXNiQWx0ZXJuYXRlSW50ZXJmYWNlSW5mby5k
ZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICB2YXIgdmFs
ID0gbmV3IFVzYkFsdGVybmF0ZUludGVyZmFjZUluZm8oKTsKLSAgICB2YXIgbnVtYmVyT2ZCeXRl
cyA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhciB2ZXJzaW9uID0gZGVjb2Rlci5yZWFk
VWludDMyKCk7Ci0gICAgdmFsLmFsdGVybmF0ZVNldHRpbmcgPSBkZWNvZGVyLmRlY29kZVN0cnVj
dChjb2RlYy5VaW50OCk7Ci0gICAgdmFsLmNsYXNzQ29kZSA9IGRlY29kZXIuZGVjb2RlU3RydWN0
KGNvZGVjLlVpbnQ4KTsKLSAgICB2YWwuc3ViY2xhc3NDb2RlID0gZGVjb2Rlci5kZWNvZGVTdHJ1
Y3QoY29kZWMuVWludDgpOwotICAgIHZhbC5wcm90b2NvbENvZGUgPSBkZWNvZGVyLmRlY29kZVN0
cnVjdChjb2RlYy5VaW50OCk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tp
cCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIHZh
bC5pbnRlcmZhY2VOYW1lID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3RQb2ludGVyKHN0cmluZzE2JC5T
dHJpbmcxNik7Ci0gICAgdmFsLmVuZHBvaW50cyA9IGRlY29kZXIuZGVjb2RlQXJyYXlQb2ludGVy
KG5ldyBjb2RlYy5Qb2ludGVyVG8oVXNiRW5kcG9pbnRJbmZvKSk7Ci0gICAgdmFsLmV4dHJhRGF0
YSA9IGRlY29kZXIuZGVjb2RlQXJyYXlQb2ludGVyKGNvZGVjLlVpbnQ4KTsKLSAgICByZXR1cm4g
dmFsOwotICB9OwotCi0gIFVzYkFsdGVybmF0ZUludGVyZmFjZUluZm8uZW5jb2RlID0gZnVuY3Rp
b24oZW5jb2RlciwgdmFsKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICBlbmNvZGVyLndyaXRlVWlu
dDMyKFVzYkFsdGVybmF0ZUludGVyZmFjZUluZm8uZW5jb2RlZFNpemUpOwotICAgIGVuY29kZXIu
d3JpdGVVaW50MzIoMCk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3QoY29kZWMuVWludDgsIHZh
bC5hbHRlcm5hdGVTZXR0aW5nKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdChjb2RlYy5VaW50
OCwgdmFsLmNsYXNzQ29kZSk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3QoY29kZWMuVWludDgs
IHZhbC5zdWJjbGFzc0NvZGUpOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNvZGVjLlVpbnQ4
LCB2YWwucHJvdG9jb2xDb2RlKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5z
a2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAg
ZW5jb2Rlci5lbmNvZGVTdHJ1Y3RQb2ludGVyKHN0cmluZzE2JC5TdHJpbmcxNiwgdmFsLmludGVy
ZmFjZU5hbWUpOwotICAgIGVuY29kZXIuZW5jb2RlQXJyYXlQb2ludGVyKG5ldyBjb2RlYy5Qb2lu
dGVyVG8oVXNiRW5kcG9pbnRJbmZvKSwgdmFsLmVuZHBvaW50cyk7Ci0gICAgZW5jb2Rlci5lbmNv
ZGVBcnJheVBvaW50ZXIoY29kZWMuVWludDgsIHZhbC5leHRyYURhdGEpOwotICB9OwotICBmdW5j
dGlvbiBVc2JJbnRlcmZhY2VJbmZvKHZhbHVlcykgewotICAgIHRoaXMuaW5pdERlZmF1bHRzXygp
OwotICAgIHRoaXMuaW5pdEZpZWxkc18odmFsdWVzKTsKLSAgfQotCi0KLSAgVXNiSW50ZXJmYWNl
SW5mby5wcm90b3R5cGUuaW5pdERlZmF1bHRzXyA9IGZ1bmN0aW9uKCkgewotICAgIHRoaXMuaW50
ZXJmYWNlTnVtYmVyID0gMDsKLSAgICB0aGlzLmFsdGVybmF0ZXMgPSBudWxsOwotICB9OwotICBV
c2JJbnRlcmZhY2VJbmZvLnByb3RvdHlwZS5pbml0RmllbGRzXyA9IGZ1bmN0aW9uKGZpZWxkcykg
ewotICAgIGZvcih2YXIgZmllbGQgaW4gZmllbGRzKSB7Ci0gICAgICAgIGlmICh0aGlzLmhhc093
blByb3BlcnR5KGZpZWxkKSkKLSAgICAgICAgICB0aGlzW2ZpZWxkXSA9IGZpZWxkc1tmaWVsZF07
Ci0gICAgfQotICB9OwotCi0gIFVzYkludGVyZmFjZUluZm8udmFsaWRhdGUgPSBmdW5jdGlvbiht
ZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsKLSAgICB2YXIgZXJyOwotICAgIGVyciA9IG1lc3Nh
Z2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RIZWFkZXIob2Zmc2V0LCBjb2RlYy5rU3RydWN0SGVh
ZGVyU2l6ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05F
KQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgdmFyIGtWZXJzaW9uU2l6ZXMgPSBbCi0gICAg
ICB7dmVyc2lvbjogMCwgbnVtQnl0ZXM6IDI0fQotICAgIF07Ci0gICAgZXJyID0gbWVzc2FnZVZh
bGlkYXRvci52YWxpZGF0ZVN0cnVjdFZlcnNpb24ob2Zmc2V0LCBrVmVyc2lvblNpemVzKTsKLSAg
ICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJl
dHVybiBlcnI7Ci0KLQotCi0gICAgLy8gdmFsaWRhdGUgVXNiSW50ZXJmYWNlSW5mby5hbHRlcm5h
dGVzCi0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZUFycmF5UG9pbnRlcihvZmZz
ZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDgsIDgsIG5ldyBjb2RlYy5Qb2ludGVyVG8o
VXNiQWx0ZXJuYXRlSW50ZXJmYWNlSW5mbyksIGZhbHNlLCBbMF0sIDApOwotICAgIGlmIChlcnIg
IT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsK
LQotICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gIH07Ci0KLSAg
VXNiSW50ZXJmYWNlSW5mby5lbmNvZGVkU2l6ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsg
MTY7Ci0KLSAgVXNiSW50ZXJmYWNlSW5mby5kZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0g
ICAgdmFyIHBhY2tlZDsKLSAgICB2YXIgdmFsID0gbmV3IFVzYkludGVyZmFjZUluZm8oKTsKLSAg
ICB2YXIgbnVtYmVyT2ZCeXRlcyA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhciB2ZXJz
aW9uID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFsLmludGVyZmFjZU51bWJlciA9IGRl
Y29kZXIuZGVjb2RlU3RydWN0KGNvZGVjLlVpbnQ4KTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0g
ICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNr
aXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBk
ZWNvZGVyLnNraXAoMSk7Ci0gICAgdmFsLmFsdGVybmF0ZXMgPSBkZWNvZGVyLmRlY29kZUFycmF5
UG9pbnRlcihuZXcgY29kZWMuUG9pbnRlclRvKFVzYkFsdGVybmF0ZUludGVyZmFjZUluZm8pKTsK
LSAgICByZXR1cm4gdmFsOwotICB9OwotCi0gIFVzYkludGVyZmFjZUluZm8uZW5jb2RlID0gZnVu
Y3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICBlbmNvZGVyLndyaXRl
VWludDMyKFVzYkludGVyZmFjZUluZm8uZW5jb2RlZFNpemUpOwotICAgIGVuY29kZXIud3JpdGVV
aW50MzIoMCk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3QoY29kZWMuVWludDgsIHZhbC5pbnRl
cmZhY2VOdW1iZXIpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7
Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVy
LnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAg
ICBlbmNvZGVyLmVuY29kZUFycmF5UG9pbnRlcihuZXcgY29kZWMuUG9pbnRlclRvKFVzYkFsdGVy
bmF0ZUludGVyZmFjZUluZm8pLCB2YWwuYWx0ZXJuYXRlcyk7Ci0gIH07Ci0gIGZ1bmN0aW9uIFVz
YkNvbmZpZ3VyYXRpb25JbmZvKHZhbHVlcykgewotICAgIHRoaXMuaW5pdERlZmF1bHRzXygpOwot
ICAgIHRoaXMuaW5pdEZpZWxkc18odmFsdWVzKTsKLSAgfQotCi0KLSAgVXNiQ29uZmlndXJhdGlv
bkluZm8ucHJvdG90eXBlLmluaXREZWZhdWx0c18gPSBmdW5jdGlvbigpIHsKLSAgICB0aGlzLmNv
bmZpZ3VyYXRpb25WYWx1ZSA9IDA7Ci0gICAgdGhpcy5zZWxmUG93ZXJlZCA9IGZhbHNlOwotICAg
IHRoaXMucmVtb3RlV2FrZXVwID0gZmFsc2U7Ci0gICAgdGhpcy5tYXhpbXVtUG93ZXIgPSAwOwot
ICAgIHRoaXMuY29uZmlndXJhdGlvbk5hbWUgPSBudWxsOwotICAgIHRoaXMuaW50ZXJmYWNlcyA9
IG51bGw7Ci0gICAgdGhpcy5leHRyYURhdGEgPSBudWxsOwotICB9OwotICBVc2JDb25maWd1cmF0
aW9uSW5mby5wcm90b3R5cGUuaW5pdEZpZWxkc18gPSBmdW5jdGlvbihmaWVsZHMpIHsKLSAgICBm
b3IodmFyIGZpZWxkIGluIGZpZWxkcykgewotICAgICAgICBpZiAodGhpcy5oYXNPd25Qcm9wZXJ0
eShmaWVsZCkpCi0gICAgICAgICAgdGhpc1tmaWVsZF0gPSBmaWVsZHNbZmllbGRdOwotICAgIH0K
LSAgfTsKLQotICBVc2JDb25maWd1cmF0aW9uSW5mby52YWxpZGF0ZSA9IGZ1bmN0aW9uKG1lc3Nh
Z2VWYWxpZGF0b3IsIG9mZnNldCkgewotICAgIHZhciBlcnI7Ci0gICAgZXJyID0gbWVzc2FnZVZh
bGlkYXRvci52YWxpZGF0ZVN0cnVjdEhlYWRlcihvZmZzZXQsIGNvZGVjLmtTdHJ1Y3RIZWFkZXJT
aXplKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0g
ICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICB2YXIga1ZlcnNpb25TaXplcyA9IFsKLSAgICAgIHt2
ZXJzaW9uOiAwLCBudW1CeXRlczogNDB9Ci0gICAgXTsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRh
dG9yLnZhbGlkYXRlU3RydWN0VmVyc2lvbihvZmZzZXQsIGtWZXJzaW9uU2l6ZXMpOwotICAgIGlm
IChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJu
IGVycjsKLQotCi0KLSAgICAvLyB2YWxpZGF0ZSBVc2JDb25maWd1cmF0aW9uSW5mby5jb25maWd1
cmF0aW9uTmFtZQotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RQb2lu
dGVyKG9mZnNldCArIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgOCwgc3RyaW5nMTYkLlN0cmlu
ZzE2LCB0cnVlKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5P
TkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotCi0KLQotICAgIC8vIHZhbGlkYXRlIFVzYkNv
bmZpZ3VyYXRpb25JbmZvLmludGVyZmFjZXMKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZh
bGlkYXRlQXJyYXlQb2ludGVyKG9mZnNldCArIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgMTYs
IDgsIG5ldyBjb2RlYy5Qb2ludGVyVG8oVXNiSW50ZXJmYWNlSW5mbyksIGZhbHNlLCBbMF0sIDAp
OwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAg
ICAgcmV0dXJuIGVycjsKLQotCi0gICAgLy8gdmFsaWRhdGUgVXNiQ29uZmlndXJhdGlvbkluZm8u
ZXh0cmFEYXRhCi0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZUFycmF5UG9pbnRl
cihvZmZzZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDI0LCAxLCBjb2RlYy5VaW50OCwg
ZmFsc2UsIFswXSwgMCk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJv
ci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgcmV0dXJuIHZhbGlkYXRvci52YWxp
ZGF0aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQotICBVc2JDb25maWd1cmF0aW9uSW5mby5lbmNvZGVk
U2l6ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgMzI7Ci0KLSAgVXNiQ29uZmlndXJhdGlv
bkluZm8uZGVjb2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHZhciBwYWNrZWQ7Ci0gICAg
dmFyIHZhbCA9IG5ldyBVc2JDb25maWd1cmF0aW9uSW5mbygpOwotICAgIHZhciBudW1iZXJPZkJ5
dGVzID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFyIHZlcnNpb24gPSBkZWNvZGVyLnJl
YWRVaW50MzIoKTsKLSAgICB2YWwuY29uZmlndXJhdGlvblZhbHVlID0gZGVjb2Rlci5kZWNvZGVT
dHJ1Y3QoY29kZWMuVWludDgpOwotICAgIHBhY2tlZCA9IGRlY29kZXIucmVhZFVpbnQ4KCk7Ci0g
ICAgdmFsLnNlbGZQb3dlcmVkID0gKHBhY2tlZCA+PiAwKSAmIDEgPyB0cnVlIDogZmFsc2U7Ci0g
ICAgdmFsLnJlbW90ZVdha2V1cCA9IChwYWNrZWQgPj4gMSkgJiAxID8gdHJ1ZSA6IGZhbHNlOwot
ICAgIHZhbC5tYXhpbXVtUG93ZXIgPSBkZWNvZGVyLmRlY29kZVN0cnVjdChjb2RlYy5VaW50OCk7
Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVy
LnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAg
ICB2YWwuY29uZmlndXJhdGlvbk5hbWUgPSBkZWNvZGVyLmRlY29kZVN0cnVjdFBvaW50ZXIoc3Ry
aW5nMTYkLlN0cmluZzE2KTsKLSAgICB2YWwuaW50ZXJmYWNlcyA9IGRlY29kZXIuZGVjb2RlQXJy
YXlQb2ludGVyKG5ldyBjb2RlYy5Qb2ludGVyVG8oVXNiSW50ZXJmYWNlSW5mbykpOwotICAgIHZh
bC5leHRyYURhdGEgPSBkZWNvZGVyLmRlY29kZUFycmF5UG9pbnRlcihjb2RlYy5VaW50OCk7Ci0g
ICAgcmV0dXJuIHZhbDsKLSAgfTsKLQotICBVc2JDb25maWd1cmF0aW9uSW5mby5lbmNvZGUgPSBm
dW5jdGlvbihlbmNvZGVyLCB2YWwpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIGVuY29kZXIud3Jp
dGVVaW50MzIoVXNiQ29uZmlndXJhdGlvbkluZm8uZW5jb2RlZFNpemUpOwotICAgIGVuY29kZXIu
d3JpdGVVaW50MzIoMCk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3QoY29kZWMuVWludDgsIHZh
bC5jb25maWd1cmF0aW9uVmFsdWUpOwotICAgIHBhY2tlZCA9IDA7Ci0gICAgcGFja2VkIHw9ICh2
YWwuc2VsZlBvd2VyZWQgJiAxKSA8PCAwCi0gICAgcGFja2VkIHw9ICh2YWwucmVtb3RlV2FrZXVw
ICYgMSkgPDwgMQotICAgIGVuY29kZXIud3JpdGVVaW50OChwYWNrZWQpOwotICAgIGVuY29kZXIu
ZW5jb2RlU3RydWN0KGNvZGVjLlVpbnQ4LCB2YWwubWF4aW11bVBvd2VyKTsKLSAgICBlbmNvZGVy
LnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAg
ICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuZW5j
b2RlU3RydWN0UG9pbnRlcihzdHJpbmcxNiQuU3RyaW5nMTYsIHZhbC5jb25maWd1cmF0aW9uTmFt
ZSk7Ci0gICAgZW5jb2Rlci5lbmNvZGVBcnJheVBvaW50ZXIobmV3IGNvZGVjLlBvaW50ZXJUbyhV
c2JJbnRlcmZhY2VJbmZvKSwgdmFsLmludGVyZmFjZXMpOwotICAgIGVuY29kZXIuZW5jb2RlQXJy
YXlQb2ludGVyKGNvZGVjLlVpbnQ4LCB2YWwuZXh0cmFEYXRhKTsKLSAgfTsKLSAgZnVuY3Rpb24g
VXNiRGV2aWNlSW5mbyh2YWx1ZXMpIHsKLSAgICB0aGlzLmluaXREZWZhdWx0c18oKTsKLSAgICB0
aGlzLmluaXRGaWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0gIFVzYkRldmljZUluZm8ucHJvdG90
eXBlLmluaXREZWZhdWx0c18gPSBmdW5jdGlvbigpIHsKLSAgICB0aGlzLmd1aWQgPSBudWxsOwot
ICAgIHRoaXMudXNiVmVyc2lvbk1ham9yID0gMDsKLSAgICB0aGlzLnVzYlZlcnNpb25NaW5vciA9
IDA7Ci0gICAgdGhpcy51c2JWZXJzaW9uU3VibWlub3IgPSAwOwotICAgIHRoaXMuY2xhc3NDb2Rl
ID0gMDsKLSAgICB0aGlzLnN1YmNsYXNzQ29kZSA9IDA7Ci0gICAgdGhpcy5wcm90b2NvbENvZGUg
PSAwOwotICAgIHRoaXMudmVuZG9ySWQgPSAwOwotICAgIHRoaXMuYnVzTnVtYmVyID0gMDsKLSAg
ICB0aGlzLnBvcnROdW1iZXIgPSAwOwotICAgIHRoaXMucHJvZHVjdElkID0gMDsKLSAgICB0aGlz
LmRldmljZVZlcnNpb25NYWpvciA9IDA7Ci0gICAgdGhpcy5kZXZpY2VWZXJzaW9uTWlub3IgPSAw
OwotICAgIHRoaXMuZGV2aWNlVmVyc2lvblN1Ym1pbm9yID0gMDsKLSAgICB0aGlzLmFjdGl2ZUNv
bmZpZ3VyYXRpb24gPSAwOwotICAgIHRoaXMubWFudWZhY3R1cmVyTmFtZSA9IG51bGw7Ci0gICAg
dGhpcy5wcm9kdWN0TmFtZSA9IG51bGw7Ci0gICAgdGhpcy5zZXJpYWxOdW1iZXIgPSBudWxsOwot
ICAgIHRoaXMud2VidXNiTGFuZGluZ1BhZ2UgPSBudWxsOwotICAgIHRoaXMuY29uZmlndXJhdGlv
bnMgPSBudWxsOwotICB9OwotICBVc2JEZXZpY2VJbmZvLnByb3RvdHlwZS5pbml0RmllbGRzXyA9
IGZ1bmN0aW9uKGZpZWxkcykgewotICAgIGZvcih2YXIgZmllbGQgaW4gZmllbGRzKSB7Ci0gICAg
ICAgIGlmICh0aGlzLmhhc093blByb3BlcnR5KGZpZWxkKSkKLSAgICAgICAgICB0aGlzW2ZpZWxk
XSA9IGZpZWxkc1tmaWVsZF07Ci0gICAgfQotICB9OwotCi0gIFVzYkRldmljZUluZm8udmFsaWRh
dGUgPSBmdW5jdGlvbihtZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsKLSAgICB2YXIgZXJyOwot
ICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RIZWFkZXIob2Zmc2V0LCBj
b2RlYy5rU3RydWN0SGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlk
YXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgdmFyIGtWZXJzaW9u
U2l6ZXMgPSBbCi0gICAgICB7dmVyc2lvbjogMCwgbnVtQnl0ZXM6IDgwfQotICAgIF07Ci0gICAg
ZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFZlcnNpb24ob2Zmc2V0LCBrVmVy
c2lvblNpemVzKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5P
TkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotICAgIC8vIHZhbGlkYXRlIFVzYkRldmljZUlu
Zm8uZ3VpZAotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJpbmdQb2ludGVy
KG9mZnNldCArIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgMCwgZmFsc2UpCi0gICAgaWYgKGVy
ciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJy
OwotCi0KLQotCi0KLQotCi0KLQotCi0KLQotCi0KLQotICAgIC8vIHZhbGlkYXRlIFVzYkRldmlj
ZUluZm8ubWFudWZhY3R1cmVyTmFtZQotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRh
dGVTdHJ1Y3RQb2ludGVyKG9mZnNldCArIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgMzIsIHN0
cmluZzE2JC5TdHJpbmcxNiwgdHJ1ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlk
YXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0KLSAgICAvLyB2YWxpZGF0
ZSBVc2JEZXZpY2VJbmZvLnByb2R1Y3ROYW1lCi0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52
YWxpZGF0ZVN0cnVjdFBvaW50ZXIob2Zmc2V0ICsgY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyA0
MCwgc3RyaW5nMTYkLlN0cmluZzE2LCB0cnVlKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3Iu
dmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotICAgIC8vIHZh
bGlkYXRlIFVzYkRldmljZUluZm8uc2VyaWFsTnVtYmVyCi0gICAgZXJyID0gbWVzc2FnZVZhbGlk
YXRvci52YWxpZGF0ZVN0cnVjdFBvaW50ZXIob2Zmc2V0ICsgY29kZWMua1N0cnVjdEhlYWRlclNp
emUgKyA0OCwgc3RyaW5nMTYkLlN0cmluZzE2LCB0cnVlKTsKLSAgICBpZiAoZXJyICE9PSB2YWxp
ZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotICAg
IC8vIHZhbGlkYXRlIFVzYkRldmljZUluZm8ud2VidXNiTGFuZGluZ1BhZ2UKLSAgICBlcnIgPSBt
ZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0UG9pbnRlcihvZmZzZXQgKyBjb2RlYy5rU3Ry
dWN0SGVhZGVyU2l6ZSArIDU2LCB1cmwkLlVybCwgdHJ1ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFs
aWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0KLQot
ICAgIC8vIHZhbGlkYXRlIFVzYkRldmljZUluZm8uY29uZmlndXJhdGlvbnMKLSAgICBlcnIgPSBt
ZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlQXJyYXlQb2ludGVyKG9mZnNldCArIGNvZGVjLmtTdHJ1
Y3RIZWFkZXJTaXplICsgNjQsIDgsIG5ldyBjb2RlYy5Qb2ludGVyVG8oVXNiQ29uZmlndXJhdGlv
bkluZm8pLCBmYWxzZSwgWzBdLCAwKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRh
dGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICByZXR1cm4gdmFsaWRh
dG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIFVzYkRldmljZUluZm8uZW5jb2Rl
ZFNpemUgPSBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDcyOwotCi0gIFVzYkRldmljZUluZm8u
ZGVjb2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgdmFyIHZh
bCA9IG5ldyBVc2JEZXZpY2VJbmZvKCk7Ci0gICAgdmFyIG51bWJlck9mQnl0ZXMgPSBkZWNvZGVy
LnJlYWRVaW50MzIoKTsKLSAgICB2YXIgdmVyc2lvbiA9IGRlY29kZXIucmVhZFVpbnQzMigpOwot
ICAgIHZhbC5ndWlkID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoY29kZWMuU3RyaW5nKTsKLSAgICB2
YWwudXNiVmVyc2lvbk1ham9yID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoY29kZWMuVWludDgpOwot
ICAgIHZhbC51c2JWZXJzaW9uTWlub3IgPSBkZWNvZGVyLmRlY29kZVN0cnVjdChjb2RlYy5VaW50
OCk7Ci0gICAgdmFsLnVzYlZlcnNpb25TdWJtaW5vciA9IGRlY29kZXIuZGVjb2RlU3RydWN0KGNv
ZGVjLlVpbnQ4KTsKLSAgICB2YWwuY2xhc3NDb2RlID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoY29k
ZWMuVWludDgpOwotICAgIHZhbC5zdWJjbGFzc0NvZGUgPSBkZWNvZGVyLmRlY29kZVN0cnVjdChj
b2RlYy5VaW50OCk7Ci0gICAgdmFsLnByb3RvY29sQ29kZSA9IGRlY29kZXIuZGVjb2RlU3RydWN0
KGNvZGVjLlVpbnQ4KTsKLSAgICB2YWwudmVuZG9ySWQgPSBkZWNvZGVyLmRlY29kZVN0cnVjdChj
b2RlYy5VaW50MTYpOwotICAgIHZhbC5idXNOdW1iZXIgPSBkZWNvZGVyLmRlY29kZVN0cnVjdChj
b2RlYy5VaW50MzIpOwotICAgIHZhbC5wb3J0TnVtYmVyID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3Qo
Y29kZWMuVWludDMyKTsKLSAgICB2YWwucHJvZHVjdElkID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3Qo
Y29kZWMuVWludDE2KTsKLSAgICB2YWwuZGV2aWNlVmVyc2lvbk1ham9yID0gZGVjb2Rlci5kZWNv
ZGVTdHJ1Y3QoY29kZWMuVWludDgpOwotICAgIHZhbC5kZXZpY2VWZXJzaW9uTWlub3IgPSBkZWNv
ZGVyLmRlY29kZVN0cnVjdChjb2RlYy5VaW50OCk7Ci0gICAgdmFsLmRldmljZVZlcnNpb25TdWJt
aW5vciA9IGRlY29kZXIuZGVjb2RlU3RydWN0KGNvZGVjLlVpbnQ4KTsKLSAgICB2YWwuYWN0aXZl
Q29uZmlndXJhdGlvbiA9IGRlY29kZXIuZGVjb2RlU3RydWN0KGNvZGVjLlVpbnQ4KTsKLSAgICBk
ZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIHZhbC5tYW51ZmFjdHVy
ZXJOYW1lID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3RQb2ludGVyKHN0cmluZzE2JC5TdHJpbmcxNik7
Ci0gICAgdmFsLnByb2R1Y3ROYW1lID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3RQb2ludGVyKHN0cmlu
ZzE2JC5TdHJpbmcxNik7Ci0gICAgdmFsLnNlcmlhbE51bWJlciA9IGRlY29kZXIuZGVjb2RlU3Ry
dWN0UG9pbnRlcihzdHJpbmcxNiQuU3RyaW5nMTYpOwotICAgIHZhbC53ZWJ1c2JMYW5kaW5nUGFn
ZSA9IGRlY29kZXIuZGVjb2RlU3RydWN0UG9pbnRlcih1cmwkLlVybCk7Ci0gICAgdmFsLmNvbmZp
Z3VyYXRpb25zID0gZGVjb2Rlci5kZWNvZGVBcnJheVBvaW50ZXIobmV3IGNvZGVjLlBvaW50ZXJU
byhVc2JDb25maWd1cmF0aW9uSW5mbykpOwotICAgIHJldHVybiB2YWw7Ci0gIH07Ci0KLSAgVXNi
RGV2aWNlSW5mby5lbmNvZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2YWwpIHsKLSAgICB2YXIgcGFj
a2VkOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoVXNiRGV2aWNlSW5mby5lbmNvZGVkU2l6ZSk7
Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMigwKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdChj
b2RlYy5TdHJpbmcsIHZhbC5ndWlkKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdChjb2RlYy5V
aW50OCwgdmFsLnVzYlZlcnNpb25NYWpvcik7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3QoY29k
ZWMuVWludDgsIHZhbC51c2JWZXJzaW9uTWlub3IpOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0
KGNvZGVjLlVpbnQ4LCB2YWwudXNiVmVyc2lvblN1Ym1pbm9yKTsKLSAgICBlbmNvZGVyLmVuY29k
ZVN0cnVjdChjb2RlYy5VaW50OCwgdmFsLmNsYXNzQ29kZSk7Ci0gICAgZW5jb2Rlci5lbmNvZGVT
dHJ1Y3QoY29kZWMuVWludDgsIHZhbC5zdWJjbGFzc0NvZGUpOwotICAgIGVuY29kZXIuZW5jb2Rl
U3RydWN0KGNvZGVjLlVpbnQ4LCB2YWwucHJvdG9jb2xDb2RlKTsKLSAgICBlbmNvZGVyLmVuY29k
ZVN0cnVjdChjb2RlYy5VaW50MTYsIHZhbC52ZW5kb3JJZCk7Ci0gICAgZW5jb2Rlci5lbmNvZGVT
dHJ1Y3QoY29kZWMuVWludDMyLCB2YWwuYnVzTnVtYmVyKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0
cnVjdChjb2RlYy5VaW50MzIsIHZhbC5wb3J0TnVtYmVyKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0
cnVjdChjb2RlYy5VaW50MTYsIHZhbC5wcm9kdWN0SWQpOwotICAgIGVuY29kZXIuZW5jb2RlU3Ry
dWN0KGNvZGVjLlVpbnQ4LCB2YWwuZGV2aWNlVmVyc2lvbk1ham9yKTsKLSAgICBlbmNvZGVyLmVu
Y29kZVN0cnVjdChjb2RlYy5VaW50OCwgdmFsLmRldmljZVZlcnNpb25NaW5vcik7Ci0gICAgZW5j
b2Rlci5lbmNvZGVTdHJ1Y3QoY29kZWMuVWludDgsIHZhbC5kZXZpY2VWZXJzaW9uU3VibWlub3Ip
OwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNvZGVjLlVpbnQ4LCB2YWwuYWN0aXZlQ29uZmln
dXJhdGlvbik7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAg
ICBlbmNvZGVyLmVuY29kZVN0cnVjdFBvaW50ZXIoc3RyaW5nMTYkLlN0cmluZzE2LCB2YWwubWFu
dWZhY3R1cmVyTmFtZSk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3RQb2ludGVyKHN0cmluZzE2
JC5TdHJpbmcxNiwgdmFsLnByb2R1Y3ROYW1lKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdFBv
aW50ZXIoc3RyaW5nMTYkLlN0cmluZzE2LCB2YWwuc2VyaWFsTnVtYmVyKTsKLSAgICBlbmNvZGVy
LmVuY29kZVN0cnVjdFBvaW50ZXIodXJsJC5VcmwsIHZhbC53ZWJ1c2JMYW5kaW5nUGFnZSk7Ci0g
ICAgZW5jb2Rlci5lbmNvZGVBcnJheVBvaW50ZXIobmV3IGNvZGVjLlBvaW50ZXJUbyhVc2JDb25m
aWd1cmF0aW9uSW5mbyksIHZhbC5jb25maWd1cmF0aW9ucyk7Ci0gIH07Ci0gIGZ1bmN0aW9uIFVz
YkNvbnRyb2xUcmFuc2ZlclBhcmFtcyh2YWx1ZXMpIHsKLSAgICB0aGlzLmluaXREZWZhdWx0c18o
KTsKLSAgICB0aGlzLmluaXRGaWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0gIFVzYkNvbnRyb2xU
cmFuc2ZlclBhcmFtcy5wcm90b3R5cGUuaW5pdERlZmF1bHRzXyA9IGZ1bmN0aW9uKCkgewotICAg
IHRoaXMudHlwZSA9IDA7Ci0gICAgdGhpcy5yZWNpcGllbnQgPSAwOwotICAgIHRoaXMucmVxdWVz
dCA9IDA7Ci0gICAgdGhpcy52YWx1ZSA9IDA7Ci0gICAgdGhpcy5pbmRleCA9IDA7Ci0gIH07Ci0g
IFVzYkNvbnRyb2xUcmFuc2ZlclBhcmFtcy5wcm90b3R5cGUuaW5pdEZpZWxkc18gPSBmdW5jdGlv
bihmaWVsZHMpIHsKLSAgICBmb3IodmFyIGZpZWxkIGluIGZpZWxkcykgewotICAgICAgICBpZiAo
dGhpcy5oYXNPd25Qcm9wZXJ0eShmaWVsZCkpCi0gICAgICAgICAgdGhpc1tmaWVsZF0gPSBmaWVs
ZHNbZmllbGRdOwotICAgIH0KLSAgfTsKLQotICBVc2JDb250cm9sVHJhbnNmZXJQYXJhbXMudmFs
aWRhdGUgPSBmdW5jdGlvbihtZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsKLSAgICB2YXIgZXJy
OwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RIZWFkZXIob2Zmc2V0
LCBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZh
bGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgdmFyIGtWZXJz
aW9uU2l6ZXMgPSBbCi0gICAgICB7dmVyc2lvbjogMCwgbnVtQnl0ZXM6IDI0fQotICAgIF07Ci0g
ICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFZlcnNpb24ob2Zmc2V0LCBr
VmVyc2lvblNpemVzKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9y
Lk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotICAgIC8vIHZhbGlkYXRlIFVzYkNvbnRy
b2xUcmFuc2ZlclBhcmFtcy50eXBlCi0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0
ZUVudW0ob2Zmc2V0ICsgY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyAwLCBVc2JDb250cm9sVHJh
bnNmZXJUeXBlKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5P
TkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotICAgIC8vIHZhbGlkYXRlIFVzYkNvbnRyb2xU
cmFuc2ZlclBhcmFtcy5yZWNpcGllbnQKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlk
YXRlRW51bShvZmZzZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDQsIFVzYkNvbnRyb2xU
cmFuc2ZlclJlY2lwaWVudCk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25F
cnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0KLQotCi0gICAgcmV0dXJuIHZhbGlk
YXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQotICBVc2JDb250cm9sVHJhbnNmZXJQ
YXJhbXMuZW5jb2RlZFNpemUgPSBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDE2OwotCi0gIFVz
YkNvbnRyb2xUcmFuc2ZlclBhcmFtcy5kZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0gICAg
dmFyIHBhY2tlZDsKLSAgICB2YXIgdmFsID0gbmV3IFVzYkNvbnRyb2xUcmFuc2ZlclBhcmFtcygp
OwotICAgIHZhciBudW1iZXJPZkJ5dGVzID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFy
IHZlcnNpb24gPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YWwudHlwZSA9IGRlY29kZXIu
ZGVjb2RlU3RydWN0KGNvZGVjLkludDMyKTsKLSAgICB2YWwucmVjaXBpZW50ID0gZGVjb2Rlci5k
ZWNvZGVTdHJ1Y3QoY29kZWMuSW50MzIpOwotICAgIHZhbC5yZXF1ZXN0ID0gZGVjb2Rlci5kZWNv
ZGVTdHJ1Y3QoY29kZWMuVWludDgpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICB2YWwudmFs
dWUgPSBkZWNvZGVyLmRlY29kZVN0cnVjdChjb2RlYy5VaW50MTYpOwotICAgIHZhbC5pbmRleCA9
IGRlY29kZXIuZGVjb2RlU3RydWN0KGNvZGVjLlVpbnQxNik7Ci0gICAgZGVjb2Rlci5za2lwKDEp
OwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICByZXR1cm4gdmFsOwotICB9OwotCi0gIFVzYkNv
bnRyb2xUcmFuc2ZlclBhcmFtcy5lbmNvZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2YWwpIHsKLSAg
ICB2YXIgcGFja2VkOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoVXNiQ29udHJvbFRyYW5zZmVy
UGFyYW1zLmVuY29kZWRTaXplKTsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKDApOwotICAgIGVu
Y29kZXIuZW5jb2RlU3RydWN0KGNvZGVjLkludDMyLCB2YWwudHlwZSk7Ci0gICAgZW5jb2Rlci5l
bmNvZGVTdHJ1Y3QoY29kZWMuSW50MzIsIHZhbC5yZWNpcGllbnQpOwotICAgIGVuY29kZXIuZW5j
b2RlU3RydWN0KGNvZGVjLlVpbnQ4LCB2YWwucmVxdWVzdCk7Ci0gICAgZW5jb2Rlci5za2lwKDEp
OwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNvZGVjLlVpbnQxNiwgdmFsLnZhbHVlKTsKLSAg
ICBlbmNvZGVyLmVuY29kZVN0cnVjdChjb2RlYy5VaW50MTYsIHZhbC5pbmRleCk7Ci0gICAgZW5j
b2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgfTsKLSAgZnVuY3Rpb24gVXNi
SXNvY2hyb25vdXNQYWNrZXQodmFsdWVzKSB7Ci0gICAgdGhpcy5pbml0RGVmYXVsdHNfKCk7Ci0g
ICAgdGhpcy5pbml0RmllbGRzXyh2YWx1ZXMpOwotICB9Ci0KLQotICBVc2JJc29jaHJvbm91c1Bh
Y2tldC5wcm90b3R5cGUuaW5pdERlZmF1bHRzXyA9IGZ1bmN0aW9uKCkgewotICAgIHRoaXMubGVu
Z3RoID0gMDsKLSAgICB0aGlzLnRyYW5zZmVycmVkTGVuZ3RoID0gMDsKLSAgICB0aGlzLnN0YXR1
cyA9IDA7Ci0gIH07Ci0gIFVzYklzb2Nocm9ub3VzUGFja2V0LnByb3RvdHlwZS5pbml0RmllbGRz
XyA9IGZ1bmN0aW9uKGZpZWxkcykgewotICAgIGZvcih2YXIgZmllbGQgaW4gZmllbGRzKSB7Ci0g
ICAgICAgIGlmICh0aGlzLmhhc093blByb3BlcnR5KGZpZWxkKSkKLSAgICAgICAgICB0aGlzW2Zp
ZWxkXSA9IGZpZWxkc1tmaWVsZF07Ci0gICAgfQotICB9OwotCi0gIFVzYklzb2Nocm9ub3VzUGFj
a2V0LnZhbGlkYXRlID0gZnVuY3Rpb24obWVzc2FnZVZhbGlkYXRvciwgb2Zmc2V0KSB7Ci0gICAg
dmFyIGVycjsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0SGVhZGVy
KG9mZnNldCwgY29kZWMua1N0cnVjdEhlYWRlclNpemUpOwotICAgIGlmIChlcnIgIT09IHZhbGlk
YXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHZh
ciBrVmVyc2lvblNpemVzID0gWwotICAgICAge3ZlcnNpb246IDAsIG51bUJ5dGVzOiAyNH0KLSAg
ICBdOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RWZXJzaW9uKG9m
ZnNldCwga1ZlcnNpb25TaXplcyk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRp
b25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0KLQotCi0gICAgLy8gdmFsaWRh
dGUgVXNiSXNvY2hyb25vdXNQYWNrZXQuc3RhdHVzCi0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRv
ci52YWxpZGF0ZUVudW0ob2Zmc2V0ICsgY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyA4LCBVc2JU
cmFuc2ZlclN0YXR1cyk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJv
ci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgcmV0dXJuIHZhbGlkYXRvci52YWxp
ZGF0aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQotICBVc2JJc29jaHJvbm91c1BhY2tldC5lbmNvZGVk
U2l6ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgMTY7Ci0KLSAgVXNiSXNvY2hyb25vdXNQ
YWNrZXQuZGVjb2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHZhciBwYWNrZWQ7Ci0gICAg
dmFyIHZhbCA9IG5ldyBVc2JJc29jaHJvbm91c1BhY2tldCgpOwotICAgIHZhciBudW1iZXJPZkJ5
dGVzID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFyIHZlcnNpb24gPSBkZWNvZGVyLnJl
YWRVaW50MzIoKTsKLSAgICB2YWwubGVuZ3RoID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoY29kZWMu
VWludDMyKTsKLSAgICB2YWwudHJhbnNmZXJyZWRMZW5ndGggPSBkZWNvZGVyLmRlY29kZVN0cnVj
dChjb2RlYy5VaW50MzIpOwotICAgIHZhbC5zdGF0dXMgPSBkZWNvZGVyLmRlY29kZVN0cnVjdChj
b2RlYy5JbnQzMik7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsK
LSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIHJldHVybiB2
YWw7Ci0gIH07Ci0KLSAgVXNiSXNvY2hyb25vdXNQYWNrZXQuZW5jb2RlID0gZnVuY3Rpb24oZW5j
b2RlciwgdmFsKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKFVz
Yklzb2Nocm9ub3VzUGFja2V0LmVuY29kZWRTaXplKTsKLSAgICBlbmNvZGVyLndyaXRlVWludDMy
KDApOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNvZGVjLlVpbnQzMiwgdmFsLmxlbmd0aCk7
Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3QoY29kZWMuVWludDMyLCB2YWwudHJhbnNmZXJyZWRM
ZW5ndGgpOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNvZGVjLkludDMyLCB2YWwuc3RhdHVz
KTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29k
ZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gIH07Ci0gIGZ1bmN0aW9uIFVzYkRl
dmljZV9PcGVuX1BhcmFtcyh2YWx1ZXMpIHsKLSAgICB0aGlzLmluaXREZWZhdWx0c18oKTsKLSAg
ICB0aGlzLmluaXRGaWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0gIFVzYkRldmljZV9PcGVuX1Bh
cmFtcy5wcm90b3R5cGUuaW5pdERlZmF1bHRzXyA9IGZ1bmN0aW9uKCkgewotICB9OwotICBVc2JE
ZXZpY2VfT3Blbl9QYXJhbXMucHJvdG90eXBlLmluaXRGaWVsZHNfID0gZnVuY3Rpb24oZmllbGRz
KSB7Ci0gICAgZm9yKHZhciBmaWVsZCBpbiBmaWVsZHMpIHsKLSAgICAgICAgaWYgKHRoaXMuaGFz
T3duUHJvcGVydHkoZmllbGQpKQotICAgICAgICAgIHRoaXNbZmllbGRdID0gZmllbGRzW2ZpZWxk
XTsKLSAgICB9Ci0gIH07Ci0KLSAgVXNiRGV2aWNlX09wZW5fUGFyYW1zLnZhbGlkYXRlID0gZnVu
Y3Rpb24obWVzc2FnZVZhbGlkYXRvciwgb2Zmc2V0KSB7Ci0gICAgdmFyIGVycjsKLSAgICBlcnIg
PSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0SGVhZGVyKG9mZnNldCwgY29kZWMua1N0
cnVjdEhlYWRlclNpemUpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJy
b3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHZhciBrVmVyc2lvblNpemVzID0g
WwotICAgICAge3ZlcnNpb246IDAsIG51bUJ5dGVzOiA4fQotICAgIF07Ci0gICAgZXJyID0gbWVz
c2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFZlcnNpb24ob2Zmc2V0LCBrVmVyc2lvblNpemVz
KTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAg
ICAgIHJldHVybiBlcnI7Ci0KLSAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5O
T05FOwotICB9OwotCi0gIFVzYkRldmljZV9PcGVuX1BhcmFtcy5lbmNvZGVkU2l6ZSA9IGNvZGVj
LmtTdHJ1Y3RIZWFkZXJTaXplICsgMDsKLQotICBVc2JEZXZpY2VfT3Blbl9QYXJhbXMuZGVjb2Rl
ID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgdmFyIHZhbCA9IG5l
dyBVc2JEZXZpY2VfT3Blbl9QYXJhbXMoKTsKLSAgICB2YXIgbnVtYmVyT2ZCeXRlcyA9IGRlY29k
ZXIucmVhZFVpbnQzMigpOwotICAgIHZhciB2ZXJzaW9uID0gZGVjb2Rlci5yZWFkVWludDMyKCk7
Ci0gICAgcmV0dXJuIHZhbDsKLSAgfTsKLQotICBVc2JEZXZpY2VfT3Blbl9QYXJhbXMuZW5jb2Rl
ID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICBlbmNvZGVy
LndyaXRlVWludDMyKFVzYkRldmljZV9PcGVuX1BhcmFtcy5lbmNvZGVkU2l6ZSk7Ci0gICAgZW5j
b2Rlci53cml0ZVVpbnQzMigwKTsKLSAgfTsKLSAgZnVuY3Rpb24gVXNiRGV2aWNlX09wZW5fUmVz
cG9uc2VQYXJhbXModmFsdWVzKSB7Ci0gICAgdGhpcy5pbml0RGVmYXVsdHNfKCk7Ci0gICAgdGhp
cy5pbml0RmllbGRzXyh2YWx1ZXMpOwotICB9Ci0KLQotICBVc2JEZXZpY2VfT3Blbl9SZXNwb25z
ZVBhcmFtcy5wcm90b3R5cGUuaW5pdERlZmF1bHRzXyA9IGZ1bmN0aW9uKCkgewotICAgIHRoaXMu
ZXJyb3IgPSAwOwotICB9OwotICBVc2JEZXZpY2VfT3Blbl9SZXNwb25zZVBhcmFtcy5wcm90b3R5
cGUuaW5pdEZpZWxkc18gPSBmdW5jdGlvbihmaWVsZHMpIHsKLSAgICBmb3IodmFyIGZpZWxkIGlu
IGZpZWxkcykgewotICAgICAgICBpZiAodGhpcy5oYXNPd25Qcm9wZXJ0eShmaWVsZCkpCi0gICAg
ICAgICAgdGhpc1tmaWVsZF0gPSBmaWVsZHNbZmllbGRdOwotICAgIH0KLSAgfTsKLQotICBVc2JE
ZXZpY2VfT3Blbl9SZXNwb25zZVBhcmFtcy52YWxpZGF0ZSA9IGZ1bmN0aW9uKG1lc3NhZ2VWYWxp
ZGF0b3IsIG9mZnNldCkgewotICAgIHZhciBlcnI7Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRv
ci52YWxpZGF0ZVN0cnVjdEhlYWRlcihvZmZzZXQsIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplKTsK
LSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAg
IHJldHVybiBlcnI7Ci0KLSAgICB2YXIga1ZlcnNpb25TaXplcyA9IFsKLSAgICAgIHt2ZXJzaW9u
OiAwLCBudW1CeXRlczogMTZ9Ci0gICAgXTsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZh
bGlkYXRlU3RydWN0VmVyc2lvbihvZmZzZXQsIGtWZXJzaW9uU2l6ZXMpOwotICAgIGlmIChlcnIg
IT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsK
LQotCi0gICAgLy8gdmFsaWRhdGUgVXNiRGV2aWNlX09wZW5fUmVzcG9uc2VQYXJhbXMuZXJyb3IK
LSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlRW51bShvZmZzZXQgKyBjb2RlYy5r
U3RydWN0SGVhZGVyU2l6ZSArIDAsIFVzYk9wZW5EZXZpY2VFcnJvcik7Ci0gICAgaWYgKGVyciAh
PT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwot
Ci0gICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQotICBV
c2JEZXZpY2VfT3Blbl9SZXNwb25zZVBhcmFtcy5lbmNvZGVkU2l6ZSA9IGNvZGVjLmtTdHJ1Y3RI
ZWFkZXJTaXplICsgODsKLQotICBVc2JEZXZpY2VfT3Blbl9SZXNwb25zZVBhcmFtcy5kZWNvZGUg
PSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICB2YXIgdmFsID0gbmV3
IFVzYkRldmljZV9PcGVuX1Jlc3BvbnNlUGFyYW1zKCk7Ci0gICAgdmFyIG51bWJlck9mQnl0ZXMg
PSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YXIgdmVyc2lvbiA9IGRlY29kZXIucmVhZFVp
bnQzMigpOwotICAgIHZhbC5lcnJvciA9IGRlY29kZXIuZGVjb2RlU3RydWN0KGNvZGVjLkludDMy
KTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29k
ZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgcmV0dXJuIHZhbDsKLSAgfTsK
LQotICBVc2JEZXZpY2VfT3Blbl9SZXNwb25zZVBhcmFtcy5lbmNvZGUgPSBmdW5jdGlvbihlbmNv
ZGVyLCB2YWwpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoVXNi
RGV2aWNlX09wZW5fUmVzcG9uc2VQYXJhbXMuZW5jb2RlZFNpemUpOwotICAgIGVuY29kZXIud3Jp
dGVVaW50MzIoMCk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3QoY29kZWMuSW50MzIsIHZhbC5l
cnJvcik7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBl
bmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICB9OwotICBmdW5jdGlvbiBV
c2JEZXZpY2VfQ2xvc2VfUGFyYW1zKHZhbHVlcykgewotICAgIHRoaXMuaW5pdERlZmF1bHRzXygp
OwotICAgIHRoaXMuaW5pdEZpZWxkc18odmFsdWVzKTsKLSAgfQotCi0KLSAgVXNiRGV2aWNlX0Ns
b3NlX1BhcmFtcy5wcm90b3R5cGUuaW5pdERlZmF1bHRzXyA9IGZ1bmN0aW9uKCkgewotICB9Owot
ICBVc2JEZXZpY2VfQ2xvc2VfUGFyYW1zLnByb3RvdHlwZS5pbml0RmllbGRzXyA9IGZ1bmN0aW9u
KGZpZWxkcykgewotICAgIGZvcih2YXIgZmllbGQgaW4gZmllbGRzKSB7Ci0gICAgICAgIGlmICh0
aGlzLmhhc093blByb3BlcnR5KGZpZWxkKSkKLSAgICAgICAgICB0aGlzW2ZpZWxkXSA9IGZpZWxk
c1tmaWVsZF07Ci0gICAgfQotICB9OwotCi0gIFVzYkRldmljZV9DbG9zZV9QYXJhbXMudmFsaWRh
dGUgPSBmdW5jdGlvbihtZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsKLSAgICB2YXIgZXJyOwot
ICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RIZWFkZXIob2Zmc2V0LCBj
b2RlYy5rU3RydWN0SGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlk
YXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgdmFyIGtWZXJzaW9u
U2l6ZXMgPSBbCi0gICAgICB7dmVyc2lvbjogMCwgbnVtQnl0ZXM6IDh9Ci0gICAgXTsKLSAgICBl
cnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0VmVyc2lvbihvZmZzZXQsIGtWZXJz
aW9uU2l6ZXMpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9O
RSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlv
bkVycm9yLk5PTkU7Ci0gIH07Ci0KLSAgVXNiRGV2aWNlX0Nsb3NlX1BhcmFtcy5lbmNvZGVkU2l6
ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgMDsKLQotICBVc2JEZXZpY2VfQ2xvc2VfUGFy
YW1zLmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIHZh
ciB2YWwgPSBuZXcgVXNiRGV2aWNlX0Nsb3NlX1BhcmFtcygpOwotICAgIHZhciBudW1iZXJPZkJ5
dGVzID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFyIHZlcnNpb24gPSBkZWNvZGVyLnJl
YWRVaW50MzIoKTsKLSAgICByZXR1cm4gdmFsOwotICB9OwotCi0gIFVzYkRldmljZV9DbG9zZV9Q
YXJhbXMuZW5jb2RlID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAgdmFyIHBhY2tlZDsK
LSAgICBlbmNvZGVyLndyaXRlVWludDMyKFVzYkRldmljZV9DbG9zZV9QYXJhbXMuZW5jb2RlZFNp
emUpOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoMCk7Ci0gIH07Ci0gIGZ1bmN0aW9uIFVzYkRl
dmljZV9DbG9zZV9SZXNwb25zZVBhcmFtcyh2YWx1ZXMpIHsKLSAgICB0aGlzLmluaXREZWZhdWx0
c18oKTsKLSAgICB0aGlzLmluaXRGaWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0gIFVzYkRldmlj
ZV9DbG9zZV9SZXNwb25zZVBhcmFtcy5wcm90b3R5cGUuaW5pdERlZmF1bHRzXyA9IGZ1bmN0aW9u
KCkgewotICB9OwotICBVc2JEZXZpY2VfQ2xvc2VfUmVzcG9uc2VQYXJhbXMucHJvdG90eXBlLmlu
aXRGaWVsZHNfID0gZnVuY3Rpb24oZmllbGRzKSB7Ci0gICAgZm9yKHZhciBmaWVsZCBpbiBmaWVs
ZHMpIHsKLSAgICAgICAgaWYgKHRoaXMuaGFzT3duUHJvcGVydHkoZmllbGQpKQotICAgICAgICAg
IHRoaXNbZmllbGRdID0gZmllbGRzW2ZpZWxkXTsKLSAgICB9Ci0gIH07Ci0KLSAgVXNiRGV2aWNl
X0Nsb3NlX1Jlc3BvbnNlUGFyYW1zLnZhbGlkYXRlID0gZnVuY3Rpb24obWVzc2FnZVZhbGlkYXRv
ciwgb2Zmc2V0KSB7Ci0gICAgdmFyIGVycjsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZh
bGlkYXRlU3RydWN0SGVhZGVyKG9mZnNldCwgY29kZWMua1N0cnVjdEhlYWRlclNpemUpOwotICAg
IGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0
dXJuIGVycjsKLQotICAgIHZhciBrVmVyc2lvblNpemVzID0gWwotICAgICAge3ZlcnNpb246IDAs
IG51bUJ5dGVzOiA4fQotICAgIF07Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0
ZVN0cnVjdFZlcnNpb24ob2Zmc2V0LCBrVmVyc2lvblNpemVzKTsKLSAgICBpZiAoZXJyICE9PSB2
YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAg
ICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIFVzYkRl
dmljZV9DbG9zZV9SZXNwb25zZVBhcmFtcy5lbmNvZGVkU2l6ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFk
ZXJTaXplICsgMDsKLQotICBVc2JEZXZpY2VfQ2xvc2VfUmVzcG9uc2VQYXJhbXMuZGVjb2RlID0g
ZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgdmFyIHZhbCA9IG5ldyBV
c2JEZXZpY2VfQ2xvc2VfUmVzcG9uc2VQYXJhbXMoKTsKLSAgICB2YXIgbnVtYmVyT2ZCeXRlcyA9
IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhciB2ZXJzaW9uID0gZGVjb2Rlci5yZWFkVWlu
dDMyKCk7Ci0gICAgcmV0dXJuIHZhbDsKLSAgfTsKLQotICBVc2JEZXZpY2VfQ2xvc2VfUmVzcG9u
c2VQYXJhbXMuZW5jb2RlID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAgdmFyIHBhY2tl
ZDsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKFVzYkRldmljZV9DbG9zZV9SZXNwb25zZVBhcmFt
cy5lbmNvZGVkU2l6ZSk7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMigwKTsKLSAgfTsKLSAgZnVu
Y3Rpb24gVXNiRGV2aWNlX1NldENvbmZpZ3VyYXRpb25fUGFyYW1zKHZhbHVlcykgewotICAgIHRo
aXMuaW5pdERlZmF1bHRzXygpOwotICAgIHRoaXMuaW5pdEZpZWxkc18odmFsdWVzKTsKLSAgfQot
Ci0KLSAgVXNiRGV2aWNlX1NldENvbmZpZ3VyYXRpb25fUGFyYW1zLnByb3RvdHlwZS5pbml0RGVm
YXVsdHNfID0gZnVuY3Rpb24oKSB7Ci0gICAgdGhpcy52YWx1ZSA9IDA7Ci0gIH07Ci0gIFVzYkRl
dmljZV9TZXRDb25maWd1cmF0aW9uX1BhcmFtcy5wcm90b3R5cGUuaW5pdEZpZWxkc18gPSBmdW5j
dGlvbihmaWVsZHMpIHsKLSAgICBmb3IodmFyIGZpZWxkIGluIGZpZWxkcykgewotICAgICAgICBp
ZiAodGhpcy5oYXNPd25Qcm9wZXJ0eShmaWVsZCkpCi0gICAgICAgICAgdGhpc1tmaWVsZF0gPSBm
aWVsZHNbZmllbGRdOwotICAgIH0KLSAgfTsKLQotICBVc2JEZXZpY2VfU2V0Q29uZmlndXJhdGlv
bl9QYXJhbXMudmFsaWRhdGUgPSBmdW5jdGlvbihtZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsK
LSAgICB2YXIgZXJyOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RI
ZWFkZXIob2Zmc2V0LCBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVyciAhPT0g
dmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0g
ICAgdmFyIGtWZXJzaW9uU2l6ZXMgPSBbCi0gICAgICB7dmVyc2lvbjogMCwgbnVtQnl0ZXM6IDE2
fQotICAgIF07Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFZlcnNp
b24ob2Zmc2V0LCBrVmVyc2lvblNpemVzKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFs
aWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotICAgIHJldHVybiB2
YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gIH07Ci0KLSAgVXNiRGV2aWNlX1NldENv
bmZpZ3VyYXRpb25fUGFyYW1zLmVuY29kZWRTaXplID0gY29kZWMua1N0cnVjdEhlYWRlclNpemUg
KyA4OwotCi0gIFVzYkRldmljZV9TZXRDb25maWd1cmF0aW9uX1BhcmFtcy5kZWNvZGUgPSBmdW5j
dGlvbihkZWNvZGVyKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICB2YXIgdmFsID0gbmV3IFVzYkRl
dmljZV9TZXRDb25maWd1cmF0aW9uX1BhcmFtcygpOwotICAgIHZhciBudW1iZXJPZkJ5dGVzID0g
ZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFyIHZlcnNpb24gPSBkZWNvZGVyLnJlYWRVaW50
MzIoKTsKLSAgICB2YWwudmFsdWUgPSBkZWNvZGVyLmRlY29kZVN0cnVjdChjb2RlYy5VaW50OCk7
Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVy
LnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAg
ICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIHJldHVybiB2YWw7
Ci0gIH07Ci0KLSAgVXNiRGV2aWNlX1NldENvbmZpZ3VyYXRpb25fUGFyYW1zLmVuY29kZSA9IGZ1
bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgZW5jb2Rlci53cml0
ZVVpbnQzMihVc2JEZXZpY2VfU2V0Q29uZmlndXJhdGlvbl9QYXJhbXMuZW5jb2RlZFNpemUpOwot
ICAgIGVuY29kZXIud3JpdGVVaW50MzIoMCk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3QoY29k
ZWMuVWludDgsIHZhbC52YWx1ZSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIu
c2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAg
IGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lw
KDEpOwotICB9OwotICBmdW5jdGlvbiBVc2JEZXZpY2VfU2V0Q29uZmlndXJhdGlvbl9SZXNwb25z
ZVBhcmFtcyh2YWx1ZXMpIHsKLSAgICB0aGlzLmluaXREZWZhdWx0c18oKTsKLSAgICB0aGlzLmlu
aXRGaWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0gIFVzYkRldmljZV9TZXRDb25maWd1cmF0aW9u
X1Jlc3BvbnNlUGFyYW1zLnByb3RvdHlwZS5pbml0RGVmYXVsdHNfID0gZnVuY3Rpb24oKSB7Ci0g
ICAgdGhpcy5zdWNjZXNzID0gZmFsc2U7Ci0gIH07Ci0gIFVzYkRldmljZV9TZXRDb25maWd1cmF0
aW9uX1Jlc3BvbnNlUGFyYW1zLnByb3RvdHlwZS5pbml0RmllbGRzXyA9IGZ1bmN0aW9uKGZpZWxk
cykgewotICAgIGZvcih2YXIgZmllbGQgaW4gZmllbGRzKSB7Ci0gICAgICAgIGlmICh0aGlzLmhh
c093blByb3BlcnR5KGZpZWxkKSkKLSAgICAgICAgICB0aGlzW2ZpZWxkXSA9IGZpZWxkc1tmaWVs
ZF07Ci0gICAgfQotICB9OwotCi0gIFVzYkRldmljZV9TZXRDb25maWd1cmF0aW9uX1Jlc3BvbnNl
UGFyYW1zLnZhbGlkYXRlID0gZnVuY3Rpb24obWVzc2FnZVZhbGlkYXRvciwgb2Zmc2V0KSB7Ci0g
ICAgdmFyIGVycjsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0SGVh
ZGVyKG9mZnNldCwgY29kZWMua1N0cnVjdEhlYWRlclNpemUpOwotICAgIGlmIChlcnIgIT09IHZh
bGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAg
IHZhciBrVmVyc2lvblNpemVzID0gWwotICAgICAge3ZlcnNpb246IDAsIG51bUJ5dGVzOiAxNn0K
LSAgICBdOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RWZXJzaW9u
KG9mZnNldCwga1ZlcnNpb25TaXplcyk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlk
YXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0KLSAgICByZXR1cm4gdmFs
aWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIFVzYkRldmljZV9TZXRDb25m
aWd1cmF0aW9uX1Jlc3BvbnNlUGFyYW1zLmVuY29kZWRTaXplID0gY29kZWMua1N0cnVjdEhlYWRl
clNpemUgKyA4OwotCi0gIFVzYkRldmljZV9TZXRDb25maWd1cmF0aW9uX1Jlc3BvbnNlUGFyYW1z
LmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIHZhciB2
YWwgPSBuZXcgVXNiRGV2aWNlX1NldENvbmZpZ3VyYXRpb25fUmVzcG9uc2VQYXJhbXMoKTsKLSAg
ICB2YXIgbnVtYmVyT2ZCeXRlcyA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhciB2ZXJz
aW9uID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgcGFja2VkID0gZGVjb2Rlci5yZWFkVWlu
dDgoKTsKLSAgICB2YWwuc3VjY2VzcyA9IChwYWNrZWQgPj4gMCkgJiAxID8gdHJ1ZSA6IGZhbHNl
OwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rl
ci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0g
ICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICByZXR1cm4gdmFs
OwotICB9OwotCi0gIFVzYkRldmljZV9TZXRDb25maWd1cmF0aW9uX1Jlc3BvbnNlUGFyYW1zLmVu
Y29kZSA9IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgZW5j
b2Rlci53cml0ZVVpbnQzMihVc2JEZXZpY2VfU2V0Q29uZmlndXJhdGlvbl9SZXNwb25zZVBhcmFt
cy5lbmNvZGVkU2l6ZSk7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMigwKTsKLSAgICBwYWNrZWQg
PSAwOwotICAgIHBhY2tlZCB8PSAodmFsLnN1Y2Nlc3MgJiAxKSA8PCAwCi0gICAgZW5jb2Rlci53
cml0ZVVpbnQ4KHBhY2tlZCk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tp
cCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVu
Y29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEp
OwotICB9OwotICBmdW5jdGlvbiBVc2JEZXZpY2VfQ2xhaW1JbnRlcmZhY2VfUGFyYW1zKHZhbHVl
cykgewotICAgIHRoaXMuaW5pdERlZmF1bHRzXygpOwotICAgIHRoaXMuaW5pdEZpZWxkc18odmFs
dWVzKTsKLSAgfQotCi0KLSAgVXNiRGV2aWNlX0NsYWltSW50ZXJmYWNlX1BhcmFtcy5wcm90b3R5
cGUuaW5pdERlZmF1bHRzXyA9IGZ1bmN0aW9uKCkgewotICAgIHRoaXMuaW50ZXJmYWNlTnVtYmVy
ID0gMDsKLSAgfTsKLSAgVXNiRGV2aWNlX0NsYWltSW50ZXJmYWNlX1BhcmFtcy5wcm90b3R5cGUu
aW5pdEZpZWxkc18gPSBmdW5jdGlvbihmaWVsZHMpIHsKLSAgICBmb3IodmFyIGZpZWxkIGluIGZp
ZWxkcykgewotICAgICAgICBpZiAodGhpcy5oYXNPd25Qcm9wZXJ0eShmaWVsZCkpCi0gICAgICAg
ICAgdGhpc1tmaWVsZF0gPSBmaWVsZHNbZmllbGRdOwotICAgIH0KLSAgfTsKLQotICBVc2JEZXZp
Y2VfQ2xhaW1JbnRlcmZhY2VfUGFyYW1zLnZhbGlkYXRlID0gZnVuY3Rpb24obWVzc2FnZVZhbGlk
YXRvciwgb2Zmc2V0KSB7Ci0gICAgdmFyIGVycjsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9y
LnZhbGlkYXRlU3RydWN0SGVhZGVyKG9mZnNldCwgY29kZWMua1N0cnVjdEhlYWRlclNpemUpOwot
ICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAg
cmV0dXJuIGVycjsKLQotICAgIHZhciBrVmVyc2lvblNpemVzID0gWwotICAgICAge3ZlcnNpb246
IDAsIG51bUJ5dGVzOiAxNn0KLSAgICBdOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFs
aWRhdGVTdHJ1Y3RWZXJzaW9uKG9mZnNldCwga1ZlcnNpb25TaXplcyk7Ci0gICAgaWYgKGVyciAh
PT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwot
Ci0KLSAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwotICB9OwotCi0g
IFVzYkRldmljZV9DbGFpbUludGVyZmFjZV9QYXJhbXMuZW5jb2RlZFNpemUgPSBjb2RlYy5rU3Ry
dWN0SGVhZGVyU2l6ZSArIDg7Ci0KLSAgVXNiRGV2aWNlX0NsYWltSW50ZXJmYWNlX1BhcmFtcy5k
ZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICB2YXIgdmFs
ID0gbmV3IFVzYkRldmljZV9DbGFpbUludGVyZmFjZV9QYXJhbXMoKTsKLSAgICB2YXIgbnVtYmVy
T2ZCeXRlcyA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhciB2ZXJzaW9uID0gZGVjb2Rl
ci5yZWFkVWludDMyKCk7Ci0gICAgdmFsLmludGVyZmFjZU51bWJlciA9IGRlY29kZXIuZGVjb2Rl
U3RydWN0KGNvZGVjLlVpbnQ4KTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5z
a2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAg
ZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAo
MSk7Ci0gICAgcmV0dXJuIHZhbDsKLSAgfTsKLQotICBVc2JEZXZpY2VfQ2xhaW1JbnRlcmZhY2Vf
UGFyYW1zLmVuY29kZSA9IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgIHZhciBwYWNrZWQ7
Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMihVc2JEZXZpY2VfQ2xhaW1JbnRlcmZhY2VfUGFyYW1z
LmVuY29kZWRTaXplKTsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKDApOwotICAgIGVuY29kZXIu
ZW5jb2RlU3RydWN0KGNvZGVjLlVpbnQ4LCB2YWwuaW50ZXJmYWNlTnVtYmVyKTsKLSAgICBlbmNv
ZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsK
LSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIu
c2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gIH07Ci0gIGZ1bmN0aW9uIFVzYkRldmlj
ZV9DbGFpbUludGVyZmFjZV9SZXNwb25zZVBhcmFtcyh2YWx1ZXMpIHsKLSAgICB0aGlzLmluaXRE
ZWZhdWx0c18oKTsKLSAgICB0aGlzLmluaXRGaWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0gIFVz
YkRldmljZV9DbGFpbUludGVyZmFjZV9SZXNwb25zZVBhcmFtcy5wcm90b3R5cGUuaW5pdERlZmF1
bHRzXyA9IGZ1bmN0aW9uKCkgewotICAgIHRoaXMuc3VjY2VzcyA9IGZhbHNlOwotICB9OwotICBV
c2JEZXZpY2VfQ2xhaW1JbnRlcmZhY2VfUmVzcG9uc2VQYXJhbXMucHJvdG90eXBlLmluaXRGaWVs
ZHNfID0gZnVuY3Rpb24oZmllbGRzKSB7Ci0gICAgZm9yKHZhciBmaWVsZCBpbiBmaWVsZHMpIHsK
LSAgICAgICAgaWYgKHRoaXMuaGFzT3duUHJvcGVydHkoZmllbGQpKQotICAgICAgICAgIHRoaXNb
ZmllbGRdID0gZmllbGRzW2ZpZWxkXTsKLSAgICB9Ci0gIH07Ci0KLSAgVXNiRGV2aWNlX0NsYWlt
SW50ZXJmYWNlX1Jlc3BvbnNlUGFyYW1zLnZhbGlkYXRlID0gZnVuY3Rpb24obWVzc2FnZVZhbGlk
YXRvciwgb2Zmc2V0KSB7Ci0gICAgdmFyIGVycjsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9y
LnZhbGlkYXRlU3RydWN0SGVhZGVyKG9mZnNldCwgY29kZWMua1N0cnVjdEhlYWRlclNpemUpOwot
ICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAg
cmV0dXJuIGVycjsKLQotICAgIHZhciBrVmVyc2lvblNpemVzID0gWwotICAgICAge3ZlcnNpb246
IDAsIG51bUJ5dGVzOiAxNn0KLSAgICBdOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFs
aWRhdGVTdHJ1Y3RWZXJzaW9uKG9mZnNldCwga1ZlcnNpb25TaXplcyk7Ci0gICAgaWYgKGVyciAh
PT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwot
Ci0KLSAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwotICB9OwotCi0g
IFVzYkRldmljZV9DbGFpbUludGVyZmFjZV9SZXNwb25zZVBhcmFtcy5lbmNvZGVkU2l6ZSA9IGNv
ZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgODsKLQotICBVc2JEZXZpY2VfQ2xhaW1JbnRlcmZhY2Vf
UmVzcG9uc2VQYXJhbXMuZGVjb2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHZhciBwYWNr
ZWQ7Ci0gICAgdmFyIHZhbCA9IG5ldyBVc2JEZXZpY2VfQ2xhaW1JbnRlcmZhY2VfUmVzcG9uc2VQ
YXJhbXMoKTsKLSAgICB2YXIgbnVtYmVyT2ZCeXRlcyA9IGRlY29kZXIucmVhZFVpbnQzMigpOwot
ICAgIHZhciB2ZXJzaW9uID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgcGFja2VkID0gZGVj
b2Rlci5yZWFkVWludDgoKTsKLSAgICB2YWwuc3VjY2VzcyA9IChwYWNrZWQgPj4gMCkgJiAxID8g
dHJ1ZSA6IGZhbHNlOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7
Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVy
LnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAg
ICByZXR1cm4gdmFsOwotICB9OwotCi0gIFVzYkRldmljZV9DbGFpbUludGVyZmFjZV9SZXNwb25z
ZVBhcmFtcy5lbmNvZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2YWwpIHsKLSAgICB2YXIgcGFja2Vk
OwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoVXNiRGV2aWNlX0NsYWltSW50ZXJmYWNlX1Jlc3Bv
bnNlUGFyYW1zLmVuY29kZWRTaXplKTsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKDApOwotICAg
IHBhY2tlZCA9IDA7Ci0gICAgcGFja2VkIHw9ICh2YWwuc3VjY2VzcyAmIDEpIDw8IDAKLSAgICBl
bmNvZGVyLndyaXRlVWludDgocGFja2VkKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5j
b2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7
Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVy
LnNraXAoMSk7Ci0gIH07Ci0gIGZ1bmN0aW9uIFVzYkRldmljZV9SZWxlYXNlSW50ZXJmYWNlX1Bh
cmFtcyh2YWx1ZXMpIHsKLSAgICB0aGlzLmluaXREZWZhdWx0c18oKTsKLSAgICB0aGlzLmluaXRG
aWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0gIFVzYkRldmljZV9SZWxlYXNlSW50ZXJmYWNlX1Bh
cmFtcy5wcm90b3R5cGUuaW5pdERlZmF1bHRzXyA9IGZ1bmN0aW9uKCkgewotICAgIHRoaXMuaW50
ZXJmYWNlTnVtYmVyID0gMDsKLSAgfTsKLSAgVXNiRGV2aWNlX1JlbGVhc2VJbnRlcmZhY2VfUGFy
YW1zLnByb3RvdHlwZS5pbml0RmllbGRzXyA9IGZ1bmN0aW9uKGZpZWxkcykgewotICAgIGZvcih2
YXIgZmllbGQgaW4gZmllbGRzKSB7Ci0gICAgICAgIGlmICh0aGlzLmhhc093blByb3BlcnR5KGZp
ZWxkKSkKLSAgICAgICAgICB0aGlzW2ZpZWxkXSA9IGZpZWxkc1tmaWVsZF07Ci0gICAgfQotICB9
OwotCi0gIFVzYkRldmljZV9SZWxlYXNlSW50ZXJmYWNlX1BhcmFtcy52YWxpZGF0ZSA9IGZ1bmN0
aW9uKG1lc3NhZ2VWYWxpZGF0b3IsIG9mZnNldCkgewotICAgIHZhciBlcnI7Ci0gICAgZXJyID0g
bWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdEhlYWRlcihvZmZzZXQsIGNvZGVjLmtTdHJ1
Y3RIZWFkZXJTaXplKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9y
Lk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICB2YXIga1ZlcnNpb25TaXplcyA9IFsK
LSAgICAgIHt2ZXJzaW9uOiAwLCBudW1CeXRlczogMTZ9Ci0gICAgXTsKLSAgICBlcnIgPSBtZXNz
YWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0VmVyc2lvbihvZmZzZXQsIGtWZXJzaW9uU2l6ZXMp
OwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAg
ICAgcmV0dXJuIGVycjsKLQotCi0gICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3Iu
Tk9ORTsKLSAgfTsKLQotICBVc2JEZXZpY2VfUmVsZWFzZUludGVyZmFjZV9QYXJhbXMuZW5jb2Rl
ZFNpemUgPSBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDg7Ci0KLSAgVXNiRGV2aWNlX1JlbGVh
c2VJbnRlcmZhY2VfUGFyYW1zLmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICB2YXIg
cGFja2VkOwotICAgIHZhciB2YWwgPSBuZXcgVXNiRGV2aWNlX1JlbGVhc2VJbnRlcmZhY2VfUGFy
YW1zKCk7Ci0gICAgdmFyIG51bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAg
ICB2YXIgdmVyc2lvbiA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhbC5pbnRlcmZhY2VO
dW1iZXIgPSBkZWNvZGVyLmRlY29kZVN0cnVjdChjb2RlYy5VaW50OCk7Ci0gICAgZGVjb2Rlci5z
a2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAg
ZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAo
MSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIHJldHVybiB2YWw7Ci0gIH07Ci0KLSAgVXNi
RGV2aWNlX1JlbGVhc2VJbnRlcmZhY2VfUGFyYW1zLmVuY29kZSA9IGZ1bmN0aW9uKGVuY29kZXIs
IHZhbCkgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMihVc2JEZXZp
Y2VfUmVsZWFzZUludGVyZmFjZV9QYXJhbXMuZW5jb2RlZFNpemUpOwotICAgIGVuY29kZXIud3Jp
dGVVaW50MzIoMCk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3QoY29kZWMuVWludDgsIHZhbC5p
bnRlcmZhY2VOdW1iZXIpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAo
MSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNv
ZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsK
LSAgfTsKLSAgZnVuY3Rpb24gVXNiRGV2aWNlX1JlbGVhc2VJbnRlcmZhY2VfUmVzcG9uc2VQYXJh
bXModmFsdWVzKSB7Ci0gICAgdGhpcy5pbml0RGVmYXVsdHNfKCk7Ci0gICAgdGhpcy5pbml0Rmll
bGRzXyh2YWx1ZXMpOwotICB9Ci0KLQotICBVc2JEZXZpY2VfUmVsZWFzZUludGVyZmFjZV9SZXNw
b25zZVBhcmFtcy5wcm90b3R5cGUuaW5pdERlZmF1bHRzXyA9IGZ1bmN0aW9uKCkgewotICAgIHRo
aXMuc3VjY2VzcyA9IGZhbHNlOwotICB9OwotICBVc2JEZXZpY2VfUmVsZWFzZUludGVyZmFjZV9S
ZXNwb25zZVBhcmFtcy5wcm90b3R5cGUuaW5pdEZpZWxkc18gPSBmdW5jdGlvbihmaWVsZHMpIHsK
LSAgICBmb3IodmFyIGZpZWxkIGluIGZpZWxkcykgewotICAgICAgICBpZiAodGhpcy5oYXNPd25Q
cm9wZXJ0eShmaWVsZCkpCi0gICAgICAgICAgdGhpc1tmaWVsZF0gPSBmaWVsZHNbZmllbGRdOwot
ICAgIH0KLSAgfTsKLQotICBVc2JEZXZpY2VfUmVsZWFzZUludGVyZmFjZV9SZXNwb25zZVBhcmFt
cy52YWxpZGF0ZSA9IGZ1bmN0aW9uKG1lc3NhZ2VWYWxpZGF0b3IsIG9mZnNldCkgewotICAgIHZh
ciBlcnI7Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdEhlYWRlcihv
ZmZzZXQsIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0
b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICB2YXIg
a1ZlcnNpb25TaXplcyA9IFsKLSAgICAgIHt2ZXJzaW9uOiAwLCBudW1CeXRlczogMTZ9Ci0gICAg
XTsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0VmVyc2lvbihvZmZz
ZXQsIGtWZXJzaW9uU2l6ZXMpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9u
RXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0gICAgcmV0dXJuIHZhbGlkYXRv
ci52YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQotICBVc2JEZXZpY2VfUmVsZWFzZUludGVy
ZmFjZV9SZXNwb25zZVBhcmFtcy5lbmNvZGVkU2l6ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXpl
ICsgODsKLQotICBVc2JEZXZpY2VfUmVsZWFzZUludGVyZmFjZV9SZXNwb25zZVBhcmFtcy5kZWNv
ZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICB2YXIgdmFsID0g
bmV3IFVzYkRldmljZV9SZWxlYXNlSW50ZXJmYWNlX1Jlc3BvbnNlUGFyYW1zKCk7Ci0gICAgdmFy
IG51bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YXIgdmVyc2lvbiA9
IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHBhY2tlZCA9IGRlY29kZXIucmVhZFVpbnQ4KCk7
Ci0gICAgdmFsLnN1Y2Nlc3MgPSAocGFja2VkID4+IDApICYgMSA/IHRydWUgOiBmYWxzZTsKLSAg
ICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tp
cCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRl
Y29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgcmV0dXJuIHZhbDsKLSAg
fTsKLQotICBVc2JEZXZpY2VfUmVsZWFzZUludGVyZmFjZV9SZXNwb25zZVBhcmFtcy5lbmNvZGUg
PSBmdW5jdGlvbihlbmNvZGVyLCB2YWwpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIGVuY29kZXIu
d3JpdGVVaW50MzIoVXNiRGV2aWNlX1JlbGVhc2VJbnRlcmZhY2VfUmVzcG9uc2VQYXJhbXMuZW5j
b2RlZFNpemUpOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoMCk7Ci0gICAgcGFja2VkID0gMDsK
LSAgICBwYWNrZWQgfD0gKHZhbC5zdWNjZXNzICYgMSkgPDwgMAotICAgIGVuY29kZXIud3JpdGVV
aW50OChwYWNrZWQpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7
Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVy
LnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAg
fTsKLSAgZnVuY3Rpb24gVXNiRGV2aWNlX1NldEludGVyZmFjZUFsdGVybmF0ZVNldHRpbmdfUGFy
YW1zKHZhbHVlcykgewotICAgIHRoaXMuaW5pdERlZmF1bHRzXygpOwotICAgIHRoaXMuaW5pdEZp
ZWxkc18odmFsdWVzKTsKLSAgfQotCi0KLSAgVXNiRGV2aWNlX1NldEludGVyZmFjZUFsdGVybmF0
ZVNldHRpbmdfUGFyYW1zLnByb3RvdHlwZS5pbml0RGVmYXVsdHNfID0gZnVuY3Rpb24oKSB7Ci0g
ICAgdGhpcy5pbnRlcmZhY2VOdW1iZXIgPSAwOwotICAgIHRoaXMuYWx0ZXJuYXRlU2V0dGluZyA9
IDA7Ci0gIH07Ci0gIFVzYkRldmljZV9TZXRJbnRlcmZhY2VBbHRlcm5hdGVTZXR0aW5nX1BhcmFt
cy5wcm90b3R5cGUuaW5pdEZpZWxkc18gPSBmdW5jdGlvbihmaWVsZHMpIHsKLSAgICBmb3IodmFy
IGZpZWxkIGluIGZpZWxkcykgewotICAgICAgICBpZiAodGhpcy5oYXNPd25Qcm9wZXJ0eShmaWVs
ZCkpCi0gICAgICAgICAgdGhpc1tmaWVsZF0gPSBmaWVsZHNbZmllbGRdOwotICAgIH0KLSAgfTsK
LQotICBVc2JEZXZpY2VfU2V0SW50ZXJmYWNlQWx0ZXJuYXRlU2V0dGluZ19QYXJhbXMudmFsaWRh
dGUgPSBmdW5jdGlvbihtZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsKLSAgICB2YXIgZXJyOwot
ICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RIZWFkZXIob2Zmc2V0LCBj
b2RlYy5rU3RydWN0SGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlk
YXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgdmFyIGtWZXJzaW9u
U2l6ZXMgPSBbCi0gICAgICB7dmVyc2lvbjogMCwgbnVtQnl0ZXM6IDE2fQotICAgIF07Ci0gICAg
ZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFZlcnNpb24ob2Zmc2V0LCBrVmVy
c2lvblNpemVzKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5P
TkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotCi0gICAgcmV0dXJuIHZhbGlkYXRvci52YWxp
ZGF0aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQotICBVc2JEZXZpY2VfU2V0SW50ZXJmYWNlQWx0ZXJu
YXRlU2V0dGluZ19QYXJhbXMuZW5jb2RlZFNpemUgPSBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSAr
IDg7Ci0KLSAgVXNiRGV2aWNlX1NldEludGVyZmFjZUFsdGVybmF0ZVNldHRpbmdfUGFyYW1zLmRl
Y29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIHZhciB2YWwg
PSBuZXcgVXNiRGV2aWNlX1NldEludGVyZmFjZUFsdGVybmF0ZVNldHRpbmdfUGFyYW1zKCk7Ci0g
ICAgdmFyIG51bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YXIgdmVy
c2lvbiA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhbC5pbnRlcmZhY2VOdW1iZXIgPSBk
ZWNvZGVyLmRlY29kZVN0cnVjdChjb2RlYy5VaW50OCk7Ci0gICAgdmFsLmFsdGVybmF0ZVNldHRp
bmcgPSBkZWNvZGVyLmRlY29kZVN0cnVjdChjb2RlYy5VaW50OCk7Ci0gICAgZGVjb2Rlci5za2lw
KDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVj
b2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7
Ci0gICAgcmV0dXJuIHZhbDsKLSAgfTsKLQotICBVc2JEZXZpY2VfU2V0SW50ZXJmYWNlQWx0ZXJu
YXRlU2V0dGluZ19QYXJhbXMuZW5jb2RlID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAg
dmFyIHBhY2tlZDsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKFVzYkRldmljZV9TZXRJbnRlcmZh
Y2VBbHRlcm5hdGVTZXR0aW5nX1BhcmFtcy5lbmNvZGVkU2l6ZSk7Ci0gICAgZW5jb2Rlci53cml0
ZVVpbnQzMigwKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdChjb2RlYy5VaW50OCwgdmFsLmlu
dGVyZmFjZU51bWJlcik7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3QoY29kZWMuVWludDgsIHZh
bC5hbHRlcm5hdGVTZXR0aW5nKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5z
a2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAg
ZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgfTsKLSAgZnVuY3Rpb24g
VXNiRGV2aWNlX1NldEludGVyZmFjZUFsdGVybmF0ZVNldHRpbmdfUmVzcG9uc2VQYXJhbXModmFs
dWVzKSB7Ci0gICAgdGhpcy5pbml0RGVmYXVsdHNfKCk7Ci0gICAgdGhpcy5pbml0RmllbGRzXyh2
YWx1ZXMpOwotICB9Ci0KLQotICBVc2JEZXZpY2VfU2V0SW50ZXJmYWNlQWx0ZXJuYXRlU2V0dGlu
Z19SZXNwb25zZVBhcmFtcy5wcm90b3R5cGUuaW5pdERlZmF1bHRzXyA9IGZ1bmN0aW9uKCkgewot
ICAgIHRoaXMuc3VjY2VzcyA9IGZhbHNlOwotICB9OwotICBVc2JEZXZpY2VfU2V0SW50ZXJmYWNl
QWx0ZXJuYXRlU2V0dGluZ19SZXNwb25zZVBhcmFtcy5wcm90b3R5cGUuaW5pdEZpZWxkc18gPSBm
dW5jdGlvbihmaWVsZHMpIHsKLSAgICBmb3IodmFyIGZpZWxkIGluIGZpZWxkcykgewotICAgICAg
ICBpZiAodGhpcy5oYXNPd25Qcm9wZXJ0eShmaWVsZCkpCi0gICAgICAgICAgdGhpc1tmaWVsZF0g
PSBmaWVsZHNbZmllbGRdOwotICAgIH0KLSAgfTsKLQotICBVc2JEZXZpY2VfU2V0SW50ZXJmYWNl
QWx0ZXJuYXRlU2V0dGluZ19SZXNwb25zZVBhcmFtcy52YWxpZGF0ZSA9IGZ1bmN0aW9uKG1lc3Nh
Z2VWYWxpZGF0b3IsIG9mZnNldCkgewotICAgIHZhciBlcnI7Ci0gICAgZXJyID0gbWVzc2FnZVZh
bGlkYXRvci52YWxpZGF0ZVN0cnVjdEhlYWRlcihvZmZzZXQsIGNvZGVjLmtTdHJ1Y3RIZWFkZXJT
aXplKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0g
ICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICB2YXIga1ZlcnNpb25TaXplcyA9IFsKLSAgICAgIHt2
ZXJzaW9uOiAwLCBudW1CeXRlczogMTZ9Ci0gICAgXTsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRh
dG9yLnZhbGlkYXRlU3RydWN0VmVyc2lvbihvZmZzZXQsIGtWZXJzaW9uU2l6ZXMpOwotICAgIGlm
IChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJu
IGVycjsKLQotCi0gICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAg
fTsKLQotICBVc2JEZXZpY2VfU2V0SW50ZXJmYWNlQWx0ZXJuYXRlU2V0dGluZ19SZXNwb25zZVBh
cmFtcy5lbmNvZGVkU2l6ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgODsKLQotICBVc2JE
ZXZpY2VfU2V0SW50ZXJmYWNlQWx0ZXJuYXRlU2V0dGluZ19SZXNwb25zZVBhcmFtcy5kZWNvZGUg
PSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICB2YXIgdmFsID0gbmV3
IFVzYkRldmljZV9TZXRJbnRlcmZhY2VBbHRlcm5hdGVTZXR0aW5nX1Jlc3BvbnNlUGFyYW1zKCk7
Ci0gICAgdmFyIG51bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YXIg
dmVyc2lvbiA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHBhY2tlZCA9IGRlY29kZXIucmVh
ZFVpbnQ4KCk7Ci0gICAgdmFsLnN1Y2Nlc3MgPSAocGFja2VkID4+IDApICYgMSA/IHRydWUgOiBm
YWxzZTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRl
Y29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEp
OwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgcmV0dXJu
IHZhbDsKLSAgfTsKLQotICBVc2JEZXZpY2VfU2V0SW50ZXJmYWNlQWx0ZXJuYXRlU2V0dGluZ19S
ZXNwb25zZVBhcmFtcy5lbmNvZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2YWwpIHsKLSAgICB2YXIg
cGFja2VkOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoVXNiRGV2aWNlX1NldEludGVyZmFjZUFs
dGVybmF0ZVNldHRpbmdfUmVzcG9uc2VQYXJhbXMuZW5jb2RlZFNpemUpOwotICAgIGVuY29kZXIu
d3JpdGVVaW50MzIoMCk7Ci0gICAgcGFja2VkID0gMDsKLSAgICBwYWNrZWQgfD0gKHZhbC5zdWNj
ZXNzICYgMSkgPDwgMAotICAgIGVuY29kZXIud3JpdGVVaW50OChwYWNrZWQpOwotICAgIGVuY29k
ZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwot
ICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5z
a2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgfTsKLSAgZnVuY3Rpb24gVXNiRGV2aWNl
X1Jlc2V0X1BhcmFtcyh2YWx1ZXMpIHsKLSAgICB0aGlzLmluaXREZWZhdWx0c18oKTsKLSAgICB0
aGlzLmluaXRGaWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0gIFVzYkRldmljZV9SZXNldF9QYXJh
bXMucHJvdG90eXBlLmluaXREZWZhdWx0c18gPSBmdW5jdGlvbigpIHsKLSAgfTsKLSAgVXNiRGV2
aWNlX1Jlc2V0X1BhcmFtcy5wcm90b3R5cGUuaW5pdEZpZWxkc18gPSBmdW5jdGlvbihmaWVsZHMp
IHsKLSAgICBmb3IodmFyIGZpZWxkIGluIGZpZWxkcykgewotICAgICAgICBpZiAodGhpcy5oYXNP
d25Qcm9wZXJ0eShmaWVsZCkpCi0gICAgICAgICAgdGhpc1tmaWVsZF0gPSBmaWVsZHNbZmllbGRd
OwotICAgIH0KLSAgfTsKLQotICBVc2JEZXZpY2VfUmVzZXRfUGFyYW1zLnZhbGlkYXRlID0gZnVu
Y3Rpb24obWVzc2FnZVZhbGlkYXRvciwgb2Zmc2V0KSB7Ci0gICAgdmFyIGVycjsKLSAgICBlcnIg
PSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0SGVhZGVyKG9mZnNldCwgY29kZWMua1N0
cnVjdEhlYWRlclNpemUpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJy
b3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHZhciBrVmVyc2lvblNpemVzID0g
WwotICAgICAge3ZlcnNpb246IDAsIG51bUJ5dGVzOiA4fQotICAgIF07Ci0gICAgZXJyID0gbWVz
c2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFZlcnNpb24ob2Zmc2V0LCBrVmVyc2lvblNpemVz
KTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAg
ICAgIHJldHVybiBlcnI7Ci0KLSAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5O
T05FOwotICB9OwotCi0gIFVzYkRldmljZV9SZXNldF9QYXJhbXMuZW5jb2RlZFNpemUgPSBjb2Rl
Yy5rU3RydWN0SGVhZGVyU2l6ZSArIDA7Ci0KLSAgVXNiRGV2aWNlX1Jlc2V0X1BhcmFtcy5kZWNv
ZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICB2YXIgdmFsID0g
bmV3IFVzYkRldmljZV9SZXNldF9QYXJhbXMoKTsKLSAgICB2YXIgbnVtYmVyT2ZCeXRlcyA9IGRl
Y29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhciB2ZXJzaW9uID0gZGVjb2Rlci5yZWFkVWludDMy
KCk7Ci0gICAgcmV0dXJuIHZhbDsKLSAgfTsKLQotICBVc2JEZXZpY2VfUmVzZXRfUGFyYW1zLmVu
Y29kZSA9IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgZW5j
b2Rlci53cml0ZVVpbnQzMihVc2JEZXZpY2VfUmVzZXRfUGFyYW1zLmVuY29kZWRTaXplKTsKLSAg
ICBlbmNvZGVyLndyaXRlVWludDMyKDApOwotICB9OwotICBmdW5jdGlvbiBVc2JEZXZpY2VfUmVz
ZXRfUmVzcG9uc2VQYXJhbXModmFsdWVzKSB7Ci0gICAgdGhpcy5pbml0RGVmYXVsdHNfKCk7Ci0g
ICAgdGhpcy5pbml0RmllbGRzXyh2YWx1ZXMpOwotICB9Ci0KLQotICBVc2JEZXZpY2VfUmVzZXRf
UmVzcG9uc2VQYXJhbXMucHJvdG90eXBlLmluaXREZWZhdWx0c18gPSBmdW5jdGlvbigpIHsKLSAg
ICB0aGlzLnN1Y2Nlc3MgPSBmYWxzZTsKLSAgfTsKLSAgVXNiRGV2aWNlX1Jlc2V0X1Jlc3BvbnNl
UGFyYW1zLnByb3RvdHlwZS5pbml0RmllbGRzXyA9IGZ1bmN0aW9uKGZpZWxkcykgewotICAgIGZv
cih2YXIgZmllbGQgaW4gZmllbGRzKSB7Ci0gICAgICAgIGlmICh0aGlzLmhhc093blByb3BlcnR5
KGZpZWxkKSkKLSAgICAgICAgICB0aGlzW2ZpZWxkXSA9IGZpZWxkc1tmaWVsZF07Ci0gICAgfQot
ICB9OwotCi0gIFVzYkRldmljZV9SZXNldF9SZXNwb25zZVBhcmFtcy52YWxpZGF0ZSA9IGZ1bmN0
aW9uKG1lc3NhZ2VWYWxpZGF0b3IsIG9mZnNldCkgewotICAgIHZhciBlcnI7Ci0gICAgZXJyID0g
bWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdEhlYWRlcihvZmZzZXQsIGNvZGVjLmtTdHJ1
Y3RIZWFkZXJTaXplKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9y
Lk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICB2YXIga1ZlcnNpb25TaXplcyA9IFsK
LSAgICAgIHt2ZXJzaW9uOiAwLCBudW1CeXRlczogMTZ9Ci0gICAgXTsKLSAgICBlcnIgPSBtZXNz
YWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0VmVyc2lvbihvZmZzZXQsIGtWZXJzaW9uU2l6ZXMp
OwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAg
ICAgcmV0dXJuIGVycjsKLQotCi0gICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3Iu
Tk9ORTsKLSAgfTsKLQotICBVc2JEZXZpY2VfUmVzZXRfUmVzcG9uc2VQYXJhbXMuZW5jb2RlZFNp
emUgPSBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDg7Ci0KLSAgVXNiRGV2aWNlX1Jlc2V0X1Jl
c3BvbnNlUGFyYW1zLmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICB2YXIgcGFja2Vk
OwotICAgIHZhciB2YWwgPSBuZXcgVXNiRGV2aWNlX1Jlc2V0X1Jlc3BvbnNlUGFyYW1zKCk7Ci0g
ICAgdmFyIG51bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YXIgdmVy
c2lvbiA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHBhY2tlZCA9IGRlY29kZXIucmVhZFVp
bnQ4KCk7Ci0gICAgdmFsLnN1Y2Nlc3MgPSAocGFja2VkID4+IDApICYgMSA/IHRydWUgOiBmYWxz
ZTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29k
ZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwot
ICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgcmV0dXJuIHZh
bDsKLSAgfTsKLQotICBVc2JEZXZpY2VfUmVzZXRfUmVzcG9uc2VQYXJhbXMuZW5jb2RlID0gZnVu
Y3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICBlbmNvZGVyLndyaXRl
VWludDMyKFVzYkRldmljZV9SZXNldF9SZXNwb25zZVBhcmFtcy5lbmNvZGVkU2l6ZSk7Ci0gICAg
ZW5jb2Rlci53cml0ZVVpbnQzMigwKTsKLSAgICBwYWNrZWQgPSAwOwotICAgIHBhY2tlZCB8PSAo
dmFsLnN1Y2Nlc3MgJiAxKSA8PCAwCi0gICAgZW5jb2Rlci53cml0ZVVpbnQ4KHBhY2tlZCk7Ci0g
ICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNr
aXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBl
bmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICB9OwotICBmdW5jdGlvbiBV
c2JEZXZpY2VfQ2xlYXJIYWx0X1BhcmFtcyh2YWx1ZXMpIHsKLSAgICB0aGlzLmluaXREZWZhdWx0
c18oKTsKLSAgICB0aGlzLmluaXRGaWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0gIFVzYkRldmlj
ZV9DbGVhckhhbHRfUGFyYW1zLnByb3RvdHlwZS5pbml0RGVmYXVsdHNfID0gZnVuY3Rpb24oKSB7
Ci0gICAgdGhpcy5lbmRwb2ludCA9IDA7Ci0gIH07Ci0gIFVzYkRldmljZV9DbGVhckhhbHRfUGFy
YW1zLnByb3RvdHlwZS5pbml0RmllbGRzXyA9IGZ1bmN0aW9uKGZpZWxkcykgewotICAgIGZvcih2
YXIgZmllbGQgaW4gZmllbGRzKSB7Ci0gICAgICAgIGlmICh0aGlzLmhhc093blByb3BlcnR5KGZp
ZWxkKSkKLSAgICAgICAgICB0aGlzW2ZpZWxkXSA9IGZpZWxkc1tmaWVsZF07Ci0gICAgfQotICB9
OwotCi0gIFVzYkRldmljZV9DbGVhckhhbHRfUGFyYW1zLnZhbGlkYXRlID0gZnVuY3Rpb24obWVz
c2FnZVZhbGlkYXRvciwgb2Zmc2V0KSB7Ci0gICAgdmFyIGVycjsKLSAgICBlcnIgPSBtZXNzYWdl
VmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0SGVhZGVyKG9mZnNldCwgY29kZWMua1N0cnVjdEhlYWRl
clNpemUpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkK
LSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHZhciBrVmVyc2lvblNpemVzID0gWwotICAgICAg
e3ZlcnNpb246IDAsIG51bUJ5dGVzOiAxNn0KLSAgICBdOwotICAgIGVyciA9IG1lc3NhZ2VWYWxp
ZGF0b3IudmFsaWRhdGVTdHJ1Y3RWZXJzaW9uKG9mZnNldCwga1ZlcnNpb25TaXplcyk7Ci0gICAg
aWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1
cm4gZXJyOwotCi0KLSAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwot
ICB9OwotCi0gIFVzYkRldmljZV9DbGVhckhhbHRfUGFyYW1zLmVuY29kZWRTaXplID0gY29kZWMu
a1N0cnVjdEhlYWRlclNpemUgKyA4OwotCi0gIFVzYkRldmljZV9DbGVhckhhbHRfUGFyYW1zLmRl
Y29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIHZhciB2YWwg
PSBuZXcgVXNiRGV2aWNlX0NsZWFySGFsdF9QYXJhbXMoKTsKLSAgICB2YXIgbnVtYmVyT2ZCeXRl
cyA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhciB2ZXJzaW9uID0gZGVjb2Rlci5yZWFk
VWludDMyKCk7Ci0gICAgdmFsLmVuZHBvaW50ID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoY29kZWMu
VWludDgpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAg
ZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAo
MSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICByZXR1
cm4gdmFsOwotICB9OwotCi0gIFVzYkRldmljZV9DbGVhckhhbHRfUGFyYW1zLmVuY29kZSA9IGZ1
bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgZW5jb2Rlci53cml0
ZVVpbnQzMihVc2JEZXZpY2VfQ2xlYXJIYWx0X1BhcmFtcy5lbmNvZGVkU2l6ZSk7Ci0gICAgZW5j
b2Rlci53cml0ZVVpbnQzMigwKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdChjb2RlYy5VaW50
OCwgdmFsLmVuZHBvaW50KTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lw
KDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5j
b2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7
Ci0gIH07Ci0gIGZ1bmN0aW9uIFVzYkRldmljZV9DbGVhckhhbHRfUmVzcG9uc2VQYXJhbXModmFs
dWVzKSB7Ci0gICAgdGhpcy5pbml0RGVmYXVsdHNfKCk7Ci0gICAgdGhpcy5pbml0RmllbGRzXyh2
YWx1ZXMpOwotICB9Ci0KLQotICBVc2JEZXZpY2VfQ2xlYXJIYWx0X1Jlc3BvbnNlUGFyYW1zLnBy
b3RvdHlwZS5pbml0RGVmYXVsdHNfID0gZnVuY3Rpb24oKSB7Ci0gICAgdGhpcy5zdWNjZXNzID0g
ZmFsc2U7Ci0gIH07Ci0gIFVzYkRldmljZV9DbGVhckhhbHRfUmVzcG9uc2VQYXJhbXMucHJvdG90
eXBlLmluaXRGaWVsZHNfID0gZnVuY3Rpb24oZmllbGRzKSB7Ci0gICAgZm9yKHZhciBmaWVsZCBp
biBmaWVsZHMpIHsKLSAgICAgICAgaWYgKHRoaXMuaGFzT3duUHJvcGVydHkoZmllbGQpKQotICAg
ICAgICAgIHRoaXNbZmllbGRdID0gZmllbGRzW2ZpZWxkXTsKLSAgICB9Ci0gIH07Ci0KLSAgVXNi
RGV2aWNlX0NsZWFySGFsdF9SZXNwb25zZVBhcmFtcy52YWxpZGF0ZSA9IGZ1bmN0aW9uKG1lc3Nh
Z2VWYWxpZGF0b3IsIG9mZnNldCkgewotICAgIHZhciBlcnI7Ci0gICAgZXJyID0gbWVzc2FnZVZh
bGlkYXRvci52YWxpZGF0ZVN0cnVjdEhlYWRlcihvZmZzZXQsIGNvZGVjLmtTdHJ1Y3RIZWFkZXJT
aXplKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0g
ICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICB2YXIga1ZlcnNpb25TaXplcyA9IFsKLSAgICAgIHt2
ZXJzaW9uOiAwLCBudW1CeXRlczogMTZ9Ci0gICAgXTsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRh
dG9yLnZhbGlkYXRlU3RydWN0VmVyc2lvbihvZmZzZXQsIGtWZXJzaW9uU2l6ZXMpOwotICAgIGlm
IChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJu
IGVycjsKLQotCi0gICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAg
fTsKLQotICBVc2JEZXZpY2VfQ2xlYXJIYWx0X1Jlc3BvbnNlUGFyYW1zLmVuY29kZWRTaXplID0g
Y29kZWMua1N0cnVjdEhlYWRlclNpemUgKyA4OwotCi0gIFVzYkRldmljZV9DbGVhckhhbHRfUmVz
cG9uc2VQYXJhbXMuZGVjb2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHZhciBwYWNrZWQ7
Ci0gICAgdmFyIHZhbCA9IG5ldyBVc2JEZXZpY2VfQ2xlYXJIYWx0X1Jlc3BvbnNlUGFyYW1zKCk7
Ci0gICAgdmFyIG51bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YXIg
dmVyc2lvbiA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHBhY2tlZCA9IGRlY29kZXIucmVh
ZFVpbnQ4KCk7Ci0gICAgdmFsLnN1Y2Nlc3MgPSAocGFja2VkID4+IDApICYgMSA/IHRydWUgOiBm
YWxzZTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRl
Y29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEp
OwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgcmV0dXJu
IHZhbDsKLSAgfTsKLQotICBVc2JEZXZpY2VfQ2xlYXJIYWx0X1Jlc3BvbnNlUGFyYW1zLmVuY29k
ZSA9IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgZW5jb2Rl
ci53cml0ZVVpbnQzMihVc2JEZXZpY2VfQ2xlYXJIYWx0X1Jlc3BvbnNlUGFyYW1zLmVuY29kZWRT
aXplKTsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKDApOwotICAgIHBhY2tlZCA9IDA7Ci0gICAg
cGFja2VkIHw9ICh2YWwuc3VjY2VzcyAmIDEpIDw8IDAKLSAgICBlbmNvZGVyLndyaXRlVWludDgo
cGFja2VkKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAg
IGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lw
KDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gIH07Ci0g
IGZ1bmN0aW9uIFVzYkRldmljZV9Db250cm9sVHJhbnNmZXJJbl9QYXJhbXModmFsdWVzKSB7Ci0g
ICAgdGhpcy5pbml0RGVmYXVsdHNfKCk7Ci0gICAgdGhpcy5pbml0RmllbGRzXyh2YWx1ZXMpOwot
ICB9Ci0KLQotICBVc2JEZXZpY2VfQ29udHJvbFRyYW5zZmVySW5fUGFyYW1zLnByb3RvdHlwZS5p
bml0RGVmYXVsdHNfID0gZnVuY3Rpb24oKSB7Ci0gICAgdGhpcy5wYXJhbXMgPSBudWxsOwotICAg
IHRoaXMubGVuZ3RoID0gMDsKLSAgICB0aGlzLnRpbWVvdXQgPSAwOwotICB9OwotICBVc2JEZXZp
Y2VfQ29udHJvbFRyYW5zZmVySW5fUGFyYW1zLnByb3RvdHlwZS5pbml0RmllbGRzXyA9IGZ1bmN0
aW9uKGZpZWxkcykgewotICAgIGZvcih2YXIgZmllbGQgaW4gZmllbGRzKSB7Ci0gICAgICAgIGlm
ICh0aGlzLmhhc093blByb3BlcnR5KGZpZWxkKSkKLSAgICAgICAgICB0aGlzW2ZpZWxkXSA9IGZp
ZWxkc1tmaWVsZF07Ci0gICAgfQotICB9OwotCi0gIFVzYkRldmljZV9Db250cm9sVHJhbnNmZXJJ
bl9QYXJhbXMudmFsaWRhdGUgPSBmdW5jdGlvbihtZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsK
LSAgICB2YXIgZXJyOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RI
ZWFkZXIob2Zmc2V0LCBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVyciAhPT0g
dmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0g
ICAgdmFyIGtWZXJzaW9uU2l6ZXMgPSBbCi0gICAgICB7dmVyc2lvbjogMCwgbnVtQnl0ZXM6IDI0
fQotICAgIF07Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFZlcnNp
b24ob2Zmc2V0LCBrVmVyc2lvblNpemVzKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFs
aWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotICAgIC8vIHZhbGlk
YXRlIFVzYkRldmljZV9Db250cm9sVHJhbnNmZXJJbl9QYXJhbXMucGFyYW1zCi0gICAgZXJyID0g
bWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFBvaW50ZXIob2Zmc2V0ICsgY29kZWMua1N0
cnVjdEhlYWRlclNpemUgKyAwLCBVc2JDb250cm9sVHJhbnNmZXJQYXJhbXMsIGZhbHNlKTsKLSAg
ICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJl
dHVybiBlcnI7Ci0KLQotCi0gICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9O
RTsKLSAgfTsKLQotICBVc2JEZXZpY2VfQ29udHJvbFRyYW5zZmVySW5fUGFyYW1zLmVuY29kZWRT
aXplID0gY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyAxNjsKLQotICBVc2JEZXZpY2VfQ29udHJv
bFRyYW5zZmVySW5fUGFyYW1zLmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICB2YXIg
cGFja2VkOwotICAgIHZhciB2YWwgPSBuZXcgVXNiRGV2aWNlX0NvbnRyb2xUcmFuc2ZlckluX1Bh
cmFtcygpOwotICAgIHZhciBudW1iZXJPZkJ5dGVzID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0g
ICAgdmFyIHZlcnNpb24gPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YWwucGFyYW1zID0g
ZGVjb2Rlci5kZWNvZGVTdHJ1Y3RQb2ludGVyKFVzYkNvbnRyb2xUcmFuc2ZlclBhcmFtcyk7Ci0g
ICAgdmFsLmxlbmd0aCA9IGRlY29kZXIuZGVjb2RlU3RydWN0KGNvZGVjLlVpbnQzMik7Ci0gICAg
dmFsLnRpbWVvdXQgPSBkZWNvZGVyLmRlY29kZVN0cnVjdChjb2RlYy5VaW50MzIpOwotICAgIHJl
dHVybiB2YWw7Ci0gIH07Ci0KLSAgVXNiRGV2aWNlX0NvbnRyb2xUcmFuc2ZlckluX1BhcmFtcy5l
bmNvZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2YWwpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIGVu
Y29kZXIud3JpdGVVaW50MzIoVXNiRGV2aWNlX0NvbnRyb2xUcmFuc2ZlckluX1BhcmFtcy5lbmNv
ZGVkU2l6ZSk7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMigwKTsKLSAgICBlbmNvZGVyLmVuY29k
ZVN0cnVjdFBvaW50ZXIoVXNiQ29udHJvbFRyYW5zZmVyUGFyYW1zLCB2YWwucGFyYW1zKTsKLSAg
ICBlbmNvZGVyLmVuY29kZVN0cnVjdChjb2RlYy5VaW50MzIsIHZhbC5sZW5ndGgpOwotICAgIGVu
Y29kZXIuZW5jb2RlU3RydWN0KGNvZGVjLlVpbnQzMiwgdmFsLnRpbWVvdXQpOwotICB9OwotICBm
dW5jdGlvbiBVc2JEZXZpY2VfQ29udHJvbFRyYW5zZmVySW5fUmVzcG9uc2VQYXJhbXModmFsdWVz
KSB7Ci0gICAgdGhpcy5pbml0RGVmYXVsdHNfKCk7Ci0gICAgdGhpcy5pbml0RmllbGRzXyh2YWx1
ZXMpOwotICB9Ci0KLQotICBVc2JEZXZpY2VfQ29udHJvbFRyYW5zZmVySW5fUmVzcG9uc2VQYXJh
bXMucHJvdG90eXBlLmluaXREZWZhdWx0c18gPSBmdW5jdGlvbigpIHsKLSAgICB0aGlzLnN0YXR1
cyA9IDA7Ci0gICAgdGhpcy5kYXRhID0gbnVsbDsKLSAgfTsKLSAgVXNiRGV2aWNlX0NvbnRyb2xU
cmFuc2ZlckluX1Jlc3BvbnNlUGFyYW1zLnByb3RvdHlwZS5pbml0RmllbGRzXyA9IGZ1bmN0aW9u
KGZpZWxkcykgewotICAgIGZvcih2YXIgZmllbGQgaW4gZmllbGRzKSB7Ci0gICAgICAgIGlmICh0
aGlzLmhhc093blByb3BlcnR5KGZpZWxkKSkKLSAgICAgICAgICB0aGlzW2ZpZWxkXSA9IGZpZWxk
c1tmaWVsZF07Ci0gICAgfQotICB9OwotCi0gIFVzYkRldmljZV9Db250cm9sVHJhbnNmZXJJbl9S
ZXNwb25zZVBhcmFtcy52YWxpZGF0ZSA9IGZ1bmN0aW9uKG1lc3NhZ2VWYWxpZGF0b3IsIG9mZnNl
dCkgewotICAgIHZhciBlcnI7Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0
cnVjdEhlYWRlcihvZmZzZXQsIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplKTsKLSAgICBpZiAoZXJy
ICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7
Ci0KLSAgICB2YXIga1ZlcnNpb25TaXplcyA9IFsKLSAgICAgIHt2ZXJzaW9uOiAwLCBudW1CeXRl
czogMjR9Ci0gICAgXTsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0
VmVyc2lvbihvZmZzZXQsIGtWZXJzaW9uU2l6ZXMpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRv
ci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0gICAgLy8g
dmFsaWRhdGUgVXNiRGV2aWNlX0NvbnRyb2xUcmFuc2ZlckluX1Jlc3BvbnNlUGFyYW1zLnN0YXR1
cwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVFbnVtKG9mZnNldCArIGNvZGVj
LmtTdHJ1Y3RIZWFkZXJTaXplICsgMCwgVXNiVHJhbnNmZXJTdGF0dXMpOwotICAgIGlmIChlcnIg
IT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsK
LQotCi0gICAgLy8gdmFsaWRhdGUgVXNiRGV2aWNlX0NvbnRyb2xUcmFuc2ZlckluX1Jlc3BvbnNl
UGFyYW1zLmRhdGEKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlQXJyYXlQb2lu
dGVyKG9mZnNldCArIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgOCwgMSwgY29kZWMuVWludDgs
IGZhbHNlLCBbMF0sIDApOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJy
b3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHJldHVybiB2YWxpZGF0b3IudmFs
aWRhdGlvbkVycm9yLk5PTkU7Ci0gIH07Ci0KLSAgVXNiRGV2aWNlX0NvbnRyb2xUcmFuc2Zlcklu
X1Jlc3BvbnNlUGFyYW1zLmVuY29kZWRTaXplID0gY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyAx
NjsKLQotICBVc2JEZXZpY2VfQ29udHJvbFRyYW5zZmVySW5fUmVzcG9uc2VQYXJhbXMuZGVjb2Rl
ID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgdmFyIHZhbCA9IG5l
dyBVc2JEZXZpY2VfQ29udHJvbFRyYW5zZmVySW5fUmVzcG9uc2VQYXJhbXMoKTsKLSAgICB2YXIg
bnVtYmVyT2ZCeXRlcyA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhciB2ZXJzaW9uID0g
ZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFsLnN0YXR1cyA9IGRlY29kZXIuZGVjb2RlU3Ry
dWN0KGNvZGVjLkludDMyKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lw
KDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgdmFs
LmRhdGEgPSBkZWNvZGVyLmRlY29kZUFycmF5UG9pbnRlcihjb2RlYy5VaW50OCk7Ci0gICAgcmV0
dXJuIHZhbDsKLSAgfTsKLQotICBVc2JEZXZpY2VfQ29udHJvbFRyYW5zZmVySW5fUmVzcG9uc2VQ
YXJhbXMuZW5jb2RlID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAgdmFyIHBhY2tlZDsK
LSAgICBlbmNvZGVyLndyaXRlVWludDMyKFVzYkRldmljZV9Db250cm9sVHJhbnNmZXJJbl9SZXNw
b25zZVBhcmFtcy5lbmNvZGVkU2l6ZSk7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMigwKTsKLSAg
ICBlbmNvZGVyLmVuY29kZVN0cnVjdChjb2RlYy5JbnQzMiwgdmFsLnN0YXR1cyk7Ci0gICAgZW5j
b2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7
Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuZW5jb2RlQXJyYXlQb2ludGVyKGNv
ZGVjLlVpbnQ4LCB2YWwuZGF0YSk7Ci0gIH07Ci0gIGZ1bmN0aW9uIFVzYkRldmljZV9Db250cm9s
VHJhbnNmZXJPdXRfUGFyYW1zKHZhbHVlcykgewotICAgIHRoaXMuaW5pdERlZmF1bHRzXygpOwot
ICAgIHRoaXMuaW5pdEZpZWxkc18odmFsdWVzKTsKLSAgfQotCi0KLSAgVXNiRGV2aWNlX0NvbnRy
b2xUcmFuc2Zlck91dF9QYXJhbXMucHJvdG90eXBlLmluaXREZWZhdWx0c18gPSBmdW5jdGlvbigp
IHsKLSAgICB0aGlzLnBhcmFtcyA9IG51bGw7Ci0gICAgdGhpcy5kYXRhID0gbnVsbDsKLSAgICB0
aGlzLnRpbWVvdXQgPSAwOwotICB9OwotICBVc2JEZXZpY2VfQ29udHJvbFRyYW5zZmVyT3V0X1Bh
cmFtcy5wcm90b3R5cGUuaW5pdEZpZWxkc18gPSBmdW5jdGlvbihmaWVsZHMpIHsKLSAgICBmb3Io
dmFyIGZpZWxkIGluIGZpZWxkcykgewotICAgICAgICBpZiAodGhpcy5oYXNPd25Qcm9wZXJ0eShm
aWVsZCkpCi0gICAgICAgICAgdGhpc1tmaWVsZF0gPSBmaWVsZHNbZmllbGRdOwotICAgIH0KLSAg
fTsKLQotICBVc2JEZXZpY2VfQ29udHJvbFRyYW5zZmVyT3V0X1BhcmFtcy52YWxpZGF0ZSA9IGZ1
bmN0aW9uKG1lc3NhZ2VWYWxpZGF0b3IsIG9mZnNldCkgewotICAgIHZhciBlcnI7Ci0gICAgZXJy
ID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdEhlYWRlcihvZmZzZXQsIGNvZGVjLmtT
dHJ1Y3RIZWFkZXJTaXplKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVy
cm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICB2YXIga1ZlcnNpb25TaXplcyA9
IFsKLSAgICAgIHt2ZXJzaW9uOiAwLCBudW1CeXRlczogMzJ9Ci0gICAgXTsKLSAgICBlcnIgPSBt
ZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0VmVyc2lvbihvZmZzZXQsIGtWZXJzaW9uU2l6
ZXMpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAg
ICAgICAgcmV0dXJuIGVycjsKLQotCi0gICAgLy8gdmFsaWRhdGUgVXNiRGV2aWNlX0NvbnRyb2xU
cmFuc2Zlck91dF9QYXJhbXMucGFyYW1zCi0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxp
ZGF0ZVN0cnVjdFBvaW50ZXIob2Zmc2V0ICsgY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyAwLCBV
c2JDb250cm9sVHJhbnNmZXJQYXJhbXMsIGZhbHNlKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0
b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotICAgIC8v
IHZhbGlkYXRlIFVzYkRldmljZV9Db250cm9sVHJhbnNmZXJPdXRfUGFyYW1zLmRhdGEKLSAgICBl
cnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlQXJyYXlQb2ludGVyKG9mZnNldCArIGNvZGVj
LmtTdHJ1Y3RIZWFkZXJTaXplICsgOCwgMSwgY29kZWMuVWludDgsIGZhbHNlLCBbMF0sIDApOwot
ICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAg
cmV0dXJuIGVycjsKLQotCi0gICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9O
RTsKLSAgfTsKLQotICBVc2JEZXZpY2VfQ29udHJvbFRyYW5zZmVyT3V0X1BhcmFtcy5lbmNvZGVk
U2l6ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgMjQ7Ci0KLSAgVXNiRGV2aWNlX0NvbnRy
b2xUcmFuc2Zlck91dF9QYXJhbXMuZGVjb2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHZh
ciBwYWNrZWQ7Ci0gICAgdmFyIHZhbCA9IG5ldyBVc2JEZXZpY2VfQ29udHJvbFRyYW5zZmVyT3V0
X1BhcmFtcygpOwotICAgIHZhciBudW1iZXJPZkJ5dGVzID0gZGVjb2Rlci5yZWFkVWludDMyKCk7
Ci0gICAgdmFyIHZlcnNpb24gPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YWwucGFyYW1z
ID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3RQb2ludGVyKFVzYkNvbnRyb2xUcmFuc2ZlclBhcmFtcyk7
Ci0gICAgdmFsLmRhdGEgPSBkZWNvZGVyLmRlY29kZUFycmF5UG9pbnRlcihjb2RlYy5VaW50OCk7
Ci0gICAgdmFsLnRpbWVvdXQgPSBkZWNvZGVyLmRlY29kZVN0cnVjdChjb2RlYy5VaW50MzIpOwot
ICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5z
a2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICByZXR1cm4gdmFsOwotICB9OwotCi0g
IFVzYkRldmljZV9Db250cm9sVHJhbnNmZXJPdXRfUGFyYW1zLmVuY29kZSA9IGZ1bmN0aW9uKGVu
Y29kZXIsIHZhbCkgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMihV
c2JEZXZpY2VfQ29udHJvbFRyYW5zZmVyT3V0X1BhcmFtcy5lbmNvZGVkU2l6ZSk7Ci0gICAgZW5j
b2Rlci53cml0ZVVpbnQzMigwKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdFBvaW50ZXIoVXNi
Q29udHJvbFRyYW5zZmVyUGFyYW1zLCB2YWwucGFyYW1zKTsKLSAgICBlbmNvZGVyLmVuY29kZUFy
cmF5UG9pbnRlcihjb2RlYy5VaW50OCwgdmFsLmRhdGEpOwotICAgIGVuY29kZXIuZW5jb2RlU3Ry
dWN0KGNvZGVjLlVpbnQzMiwgdmFsLnRpbWVvdXQpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAg
ICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tp
cCgxKTsKLSAgfTsKLSAgZnVuY3Rpb24gVXNiRGV2aWNlX0NvbnRyb2xUcmFuc2Zlck91dF9SZXNw
b25zZVBhcmFtcyh2YWx1ZXMpIHsKLSAgICB0aGlzLmluaXREZWZhdWx0c18oKTsKLSAgICB0aGlz
LmluaXRGaWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0gIFVzYkRldmljZV9Db250cm9sVHJhbnNm
ZXJPdXRfUmVzcG9uc2VQYXJhbXMucHJvdG90eXBlLmluaXREZWZhdWx0c18gPSBmdW5jdGlvbigp
IHsKLSAgICB0aGlzLnN0YXR1cyA9IDA7Ci0gIH07Ci0gIFVzYkRldmljZV9Db250cm9sVHJhbnNm
ZXJPdXRfUmVzcG9uc2VQYXJhbXMucHJvdG90eXBlLmluaXRGaWVsZHNfID0gZnVuY3Rpb24oZmll
bGRzKSB7Ci0gICAgZm9yKHZhciBmaWVsZCBpbiBmaWVsZHMpIHsKLSAgICAgICAgaWYgKHRoaXMu
aGFzT3duUHJvcGVydHkoZmllbGQpKQotICAgICAgICAgIHRoaXNbZmllbGRdID0gZmllbGRzW2Zp
ZWxkXTsKLSAgICB9Ci0gIH07Ci0KLSAgVXNiRGV2aWNlX0NvbnRyb2xUcmFuc2Zlck91dF9SZXNw
b25zZVBhcmFtcy52YWxpZGF0ZSA9IGZ1bmN0aW9uKG1lc3NhZ2VWYWxpZGF0b3IsIG9mZnNldCkg
ewotICAgIHZhciBlcnI7Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVj
dEhlYWRlcihvZmZzZXQsIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplKTsKLSAgICBpZiAoZXJyICE9
PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0K
LSAgICB2YXIga1ZlcnNpb25TaXplcyA9IFsKLSAgICAgIHt2ZXJzaW9uOiAwLCBudW1CeXRlczog
MTZ9Ci0gICAgXTsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0VmVy
c2lvbihvZmZzZXQsIGtWZXJzaW9uU2l6ZXMpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52
YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0gICAgLy8gdmFs
aWRhdGUgVXNiRGV2aWNlX0NvbnRyb2xUcmFuc2Zlck91dF9SZXNwb25zZVBhcmFtcy5zdGF0dXMK
LSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlRW51bShvZmZzZXQgKyBjb2RlYy5r
U3RydWN0SGVhZGVyU2l6ZSArIDAsIFVzYlRyYW5zZmVyU3RhdHVzKTsKLSAgICBpZiAoZXJyICE9
PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0K
LSAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIFVz
YkRldmljZV9Db250cm9sVHJhbnNmZXJPdXRfUmVzcG9uc2VQYXJhbXMuZW5jb2RlZFNpemUgPSBj
b2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDg7Ci0KLSAgVXNiRGV2aWNlX0NvbnRyb2xUcmFuc2Zl
ck91dF9SZXNwb25zZVBhcmFtcy5kZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgdmFy
IHBhY2tlZDsKLSAgICB2YXIgdmFsID0gbmV3IFVzYkRldmljZV9Db250cm9sVHJhbnNmZXJPdXRf
UmVzcG9uc2VQYXJhbXMoKTsKLSAgICB2YXIgbnVtYmVyT2ZCeXRlcyA9IGRlY29kZXIucmVhZFVp
bnQzMigpOwotICAgIHZhciB2ZXJzaW9uID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFs
LnN0YXR1cyA9IGRlY29kZXIuZGVjb2RlU3RydWN0KGNvZGVjLkludDMyKTsKLSAgICBkZWNvZGVy
LnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAg
ICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgcmV0dXJuIHZhbDsKLSAgfTsKLQotICBVc2JEZXZpY2Vf
Q29udHJvbFRyYW5zZmVyT3V0X1Jlc3BvbnNlUGFyYW1zLmVuY29kZSA9IGZ1bmN0aW9uKGVuY29k
ZXIsIHZhbCkgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMihVc2JE
ZXZpY2VfQ29udHJvbFRyYW5zZmVyT3V0X1Jlc3BvbnNlUGFyYW1zLmVuY29kZWRTaXplKTsKLSAg
ICBlbmNvZGVyLndyaXRlVWludDMyKDApOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNvZGVj
LkludDMyLCB2YWwuc3RhdHVzKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5z
a2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gIH07
Ci0gIGZ1bmN0aW9uIFVzYkRldmljZV9HZW5lcmljVHJhbnNmZXJJbl9QYXJhbXModmFsdWVzKSB7
Ci0gICAgdGhpcy5pbml0RGVmYXVsdHNfKCk7Ci0gICAgdGhpcy5pbml0RmllbGRzXyh2YWx1ZXMp
OwotICB9Ci0KLQotICBVc2JEZXZpY2VfR2VuZXJpY1RyYW5zZmVySW5fUGFyYW1zLnByb3RvdHlw
ZS5pbml0RGVmYXVsdHNfID0gZnVuY3Rpb24oKSB7Ci0gICAgdGhpcy5lbmRwb2ludE51bWJlciA9
IDA7Ci0gICAgdGhpcy5sZW5ndGggPSAwOwotICAgIHRoaXMudGltZW91dCA9IDA7Ci0gIH07Ci0g
IFVzYkRldmljZV9HZW5lcmljVHJhbnNmZXJJbl9QYXJhbXMucHJvdG90eXBlLmluaXRGaWVsZHNf
ID0gZnVuY3Rpb24oZmllbGRzKSB7Ci0gICAgZm9yKHZhciBmaWVsZCBpbiBmaWVsZHMpIHsKLSAg
ICAgICAgaWYgKHRoaXMuaGFzT3duUHJvcGVydHkoZmllbGQpKQotICAgICAgICAgIHRoaXNbZmll
bGRdID0gZmllbGRzW2ZpZWxkXTsKLSAgICB9Ci0gIH07Ci0KLSAgVXNiRGV2aWNlX0dlbmVyaWNU
cmFuc2ZlckluX1BhcmFtcy52YWxpZGF0ZSA9IGZ1bmN0aW9uKG1lc3NhZ2VWYWxpZGF0b3IsIG9m
ZnNldCkgewotICAgIHZhciBlcnI7Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0
ZVN0cnVjdEhlYWRlcihvZmZzZXQsIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplKTsKLSAgICBpZiAo
ZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBl
cnI7Ci0KLSAgICB2YXIga1ZlcnNpb25TaXplcyA9IFsKLSAgICAgIHt2ZXJzaW9uOiAwLCBudW1C
eXRlczogMjR9Ci0gICAgXTsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3Ry
dWN0VmVyc2lvbihvZmZzZXQsIGtWZXJzaW9uU2l6ZXMpOwotICAgIGlmIChlcnIgIT09IHZhbGlk
YXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0KLQot
ICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gIH07Ci0KLSAgVXNi
RGV2aWNlX0dlbmVyaWNUcmFuc2ZlckluX1BhcmFtcy5lbmNvZGVkU2l6ZSA9IGNvZGVjLmtTdHJ1
Y3RIZWFkZXJTaXplICsgMTY7Ci0KLSAgVXNiRGV2aWNlX0dlbmVyaWNUcmFuc2ZlckluX1BhcmFt
cy5kZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICB2YXIg
dmFsID0gbmV3IFVzYkRldmljZV9HZW5lcmljVHJhbnNmZXJJbl9QYXJhbXMoKTsKLSAgICB2YXIg
bnVtYmVyT2ZCeXRlcyA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhciB2ZXJzaW9uID0g
ZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFsLmVuZHBvaW50TnVtYmVyID0gZGVjb2Rlci5k
ZWNvZGVTdHJ1Y3QoY29kZWMuVWludDgpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNv
ZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIHZhbC5sZW5ndGggPSBkZWNv
ZGVyLmRlY29kZVN0cnVjdChjb2RlYy5VaW50MzIpOwotICAgIHZhbC50aW1lb3V0ID0gZGVjb2Rl
ci5kZWNvZGVTdHJ1Y3QoY29kZWMuVWludDMyKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAg
ZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAo
MSk7Ci0gICAgcmV0dXJuIHZhbDsKLSAgfTsKLQotICBVc2JEZXZpY2VfR2VuZXJpY1RyYW5zZmVy
SW5fUGFyYW1zLmVuY29kZSA9IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgIHZhciBwYWNr
ZWQ7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMihVc2JEZXZpY2VfR2VuZXJpY1RyYW5zZmVySW5f
UGFyYW1zLmVuY29kZWRTaXplKTsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKDApOwotICAgIGVu
Y29kZXIuZW5jb2RlU3RydWN0KGNvZGVjLlVpbnQ4LCB2YWwuZW5kcG9pbnROdW1iZXIpOwotICAg
IGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lw
KDEpOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNvZGVjLlVpbnQzMiwgdmFsLmxlbmd0aCk7
Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3QoY29kZWMuVWludDMyLCB2YWwudGltZW91dCk7Ci0g
ICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNr
aXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICB9OwotICBmdW5jdGlvbiBVc2JEZXZpY2Vf
R2VuZXJpY1RyYW5zZmVySW5fUmVzcG9uc2VQYXJhbXModmFsdWVzKSB7Ci0gICAgdGhpcy5pbml0
RGVmYXVsdHNfKCk7Ci0gICAgdGhpcy5pbml0RmllbGRzXyh2YWx1ZXMpOwotICB9Ci0KLQotICBV
c2JEZXZpY2VfR2VuZXJpY1RyYW5zZmVySW5fUmVzcG9uc2VQYXJhbXMucHJvdG90eXBlLmluaXRE
ZWZhdWx0c18gPSBmdW5jdGlvbigpIHsKLSAgICB0aGlzLnN0YXR1cyA9IDA7Ci0gICAgdGhpcy5k
YXRhID0gbnVsbDsKLSAgfTsKLSAgVXNiRGV2aWNlX0dlbmVyaWNUcmFuc2ZlckluX1Jlc3BvbnNl
UGFyYW1zLnByb3RvdHlwZS5pbml0RmllbGRzXyA9IGZ1bmN0aW9uKGZpZWxkcykgewotICAgIGZv
cih2YXIgZmllbGQgaW4gZmllbGRzKSB7Ci0gICAgICAgIGlmICh0aGlzLmhhc093blByb3BlcnR5
KGZpZWxkKSkKLSAgICAgICAgICB0aGlzW2ZpZWxkXSA9IGZpZWxkc1tmaWVsZF07Ci0gICAgfQot
ICB9OwotCi0gIFVzYkRldmljZV9HZW5lcmljVHJhbnNmZXJJbl9SZXNwb25zZVBhcmFtcy52YWxp
ZGF0ZSA9IGZ1bmN0aW9uKG1lc3NhZ2VWYWxpZGF0b3IsIG9mZnNldCkgewotICAgIHZhciBlcnI7
Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdEhlYWRlcihvZmZzZXQs
IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFs
aWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICB2YXIga1ZlcnNp
b25TaXplcyA9IFsKLSAgICAgIHt2ZXJzaW9uOiAwLCBudW1CeXRlczogMjR9Ci0gICAgXTsKLSAg
ICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0VmVyc2lvbihvZmZzZXQsIGtW
ZXJzaW9uU2l6ZXMpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3Iu
Tk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0gICAgLy8gdmFsaWRhdGUgVXNiRGV2aWNl
X0dlbmVyaWNUcmFuc2ZlckluX1Jlc3BvbnNlUGFyYW1zLnN0YXR1cwotICAgIGVyciA9IG1lc3Nh
Z2VWYWxpZGF0b3IudmFsaWRhdGVFbnVtKG9mZnNldCArIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXpl
ICsgMCwgVXNiVHJhbnNmZXJTdGF0dXMpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxp
ZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0gICAgLy8gdmFsaWRh
dGUgVXNiRGV2aWNlX0dlbmVyaWNUcmFuc2ZlckluX1Jlc3BvbnNlUGFyYW1zLmRhdGEKLSAgICBl
cnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlQXJyYXlQb2ludGVyKG9mZnNldCArIGNvZGVj
LmtTdHJ1Y3RIZWFkZXJTaXplICsgOCwgMSwgY29kZWMuVWludDgsIGZhbHNlLCBbMF0sIDApOwot
ICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAg
cmV0dXJuIGVycjsKLQotICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7
Ci0gIH07Ci0KLSAgVXNiRGV2aWNlX0dlbmVyaWNUcmFuc2ZlckluX1Jlc3BvbnNlUGFyYW1zLmVu
Y29kZWRTaXplID0gY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyAxNjsKLQotICBVc2JEZXZpY2Vf
R2VuZXJpY1RyYW5zZmVySW5fUmVzcG9uc2VQYXJhbXMuZGVjb2RlID0gZnVuY3Rpb24oZGVjb2Rl
cikgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgdmFyIHZhbCA9IG5ldyBVc2JEZXZpY2VfR2VuZXJp
Y1RyYW5zZmVySW5fUmVzcG9uc2VQYXJhbXMoKTsKLSAgICB2YXIgbnVtYmVyT2ZCeXRlcyA9IGRl
Y29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhciB2ZXJzaW9uID0gZGVjb2Rlci5yZWFkVWludDMy
KCk7Ci0gICAgdmFsLnN0YXR1cyA9IGRlY29kZXIuZGVjb2RlU3RydWN0KGNvZGVjLkludDMyKTsK
LSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIu
c2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgdmFsLmRhdGEgPSBkZWNvZGVyLmRl
Y29kZUFycmF5UG9pbnRlcihjb2RlYy5VaW50OCk7Ci0gICAgcmV0dXJuIHZhbDsKLSAgfTsKLQot
ICBVc2JEZXZpY2VfR2VuZXJpY1RyYW5zZmVySW5fUmVzcG9uc2VQYXJhbXMuZW5jb2RlID0gZnVu
Y3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICBlbmNvZGVyLndyaXRl
VWludDMyKFVzYkRldmljZV9HZW5lcmljVHJhbnNmZXJJbl9SZXNwb25zZVBhcmFtcy5lbmNvZGVk
U2l6ZSk7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMigwKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0
cnVjdChjb2RlYy5JbnQzMiwgdmFsLnN0YXR1cyk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAg
IGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lw
KDEpOwotICAgIGVuY29kZXIuZW5jb2RlQXJyYXlQb2ludGVyKGNvZGVjLlVpbnQ4LCB2YWwuZGF0
YSk7Ci0gIH07Ci0gIGZ1bmN0aW9uIFVzYkRldmljZV9HZW5lcmljVHJhbnNmZXJPdXRfUGFyYW1z
KHZhbHVlcykgewotICAgIHRoaXMuaW5pdERlZmF1bHRzXygpOwotICAgIHRoaXMuaW5pdEZpZWxk
c18odmFsdWVzKTsKLSAgfQotCi0KLSAgVXNiRGV2aWNlX0dlbmVyaWNUcmFuc2Zlck91dF9QYXJh
bXMucHJvdG90eXBlLmluaXREZWZhdWx0c18gPSBmdW5jdGlvbigpIHsKLSAgICB0aGlzLmVuZHBv
aW50TnVtYmVyID0gMDsKLSAgICB0aGlzLnRpbWVvdXQgPSAwOwotICAgIHRoaXMuZGF0YSA9IG51
bGw7Ci0gIH07Ci0gIFVzYkRldmljZV9HZW5lcmljVHJhbnNmZXJPdXRfUGFyYW1zLnByb3RvdHlw
ZS5pbml0RmllbGRzXyA9IGZ1bmN0aW9uKGZpZWxkcykgewotICAgIGZvcih2YXIgZmllbGQgaW4g
ZmllbGRzKSB7Ci0gICAgICAgIGlmICh0aGlzLmhhc093blByb3BlcnR5KGZpZWxkKSkKLSAgICAg
ICAgICB0aGlzW2ZpZWxkXSA9IGZpZWxkc1tmaWVsZF07Ci0gICAgfQotICB9OwotCi0gIFVzYkRl
dmljZV9HZW5lcmljVHJhbnNmZXJPdXRfUGFyYW1zLnZhbGlkYXRlID0gZnVuY3Rpb24obWVzc2Fn
ZVZhbGlkYXRvciwgb2Zmc2V0KSB7Ci0gICAgdmFyIGVycjsKLSAgICBlcnIgPSBtZXNzYWdlVmFs
aWRhdG9yLnZhbGlkYXRlU3RydWN0SGVhZGVyKG9mZnNldCwgY29kZWMua1N0cnVjdEhlYWRlclNp
emUpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAg
ICAgICAgcmV0dXJuIGVycjsKLQotICAgIHZhciBrVmVyc2lvblNpemVzID0gWwotICAgICAge3Zl
cnNpb246IDAsIG51bUJ5dGVzOiAyNH0KLSAgICBdOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0
b3IudmFsaWRhdGVTdHJ1Y3RWZXJzaW9uKG9mZnNldCwga1ZlcnNpb25TaXplcyk7Ci0gICAgaWYg
KGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4g
ZXJyOwotCi0KLQotICAgIC8vIHZhbGlkYXRlIFVzYkRldmljZV9HZW5lcmljVHJhbnNmZXJPdXRf
UGFyYW1zLmRhdGEKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlQXJyYXlQb2lu
dGVyKG9mZnNldCArIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgOCwgMSwgY29kZWMuVWludDgs
IGZhbHNlLCBbMF0sIDApOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJy
b3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0gICAgcmV0dXJuIHZhbGlkYXRvci52
YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQotICBVc2JEZXZpY2VfR2VuZXJpY1RyYW5zZmVy
T3V0X1BhcmFtcy5lbmNvZGVkU2l6ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgMTY7Ci0K
LSAgVXNiRGV2aWNlX0dlbmVyaWNUcmFuc2Zlck91dF9QYXJhbXMuZGVjb2RlID0gZnVuY3Rpb24o
ZGVjb2RlcikgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgdmFyIHZhbCA9IG5ldyBVc2JEZXZpY2Vf
R2VuZXJpY1RyYW5zZmVyT3V0X1BhcmFtcygpOwotICAgIHZhciBudW1iZXJPZkJ5dGVzID0gZGVj
b2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFyIHZlcnNpb24gPSBkZWNvZGVyLnJlYWRVaW50MzIo
KTsKLSAgICB2YWwuZW5kcG9pbnROdW1iZXIgPSBkZWNvZGVyLmRlY29kZVN0cnVjdChjb2RlYy5V
aW50OCk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBk
ZWNvZGVyLnNraXAoMSk7Ci0gICAgdmFsLnRpbWVvdXQgPSBkZWNvZGVyLmRlY29kZVN0cnVjdChj
b2RlYy5VaW50MzIpOwotICAgIHZhbC5kYXRhID0gZGVjb2Rlci5kZWNvZGVBcnJheVBvaW50ZXIo
Y29kZWMuVWludDgpOwotICAgIHJldHVybiB2YWw7Ci0gIH07Ci0KLSAgVXNiRGV2aWNlX0dlbmVy
aWNUcmFuc2Zlck91dF9QYXJhbXMuZW5jb2RlID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0g
ICAgdmFyIHBhY2tlZDsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKFVzYkRldmljZV9HZW5lcmlj
VHJhbnNmZXJPdXRfUGFyYW1zLmVuY29kZWRTaXplKTsKLSAgICBlbmNvZGVyLndyaXRlVWludDMy
KDApOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNvZGVjLlVpbnQ4LCB2YWwuZW5kcG9pbnRO
dW1iZXIpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAg
ZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNvZGVjLlVpbnQzMiwg
dmFsLnRpbWVvdXQpOwotICAgIGVuY29kZXIuZW5jb2RlQXJyYXlQb2ludGVyKGNvZGVjLlVpbnQ4
LCB2YWwuZGF0YSk7Ci0gIH07Ci0gIGZ1bmN0aW9uIFVzYkRldmljZV9HZW5lcmljVHJhbnNmZXJP
dXRfUmVzcG9uc2VQYXJhbXModmFsdWVzKSB7Ci0gICAgdGhpcy5pbml0RGVmYXVsdHNfKCk7Ci0g
ICAgdGhpcy5pbml0RmllbGRzXyh2YWx1ZXMpOwotICB9Ci0KLQotICBVc2JEZXZpY2VfR2VuZXJp
Y1RyYW5zZmVyT3V0X1Jlc3BvbnNlUGFyYW1zLnByb3RvdHlwZS5pbml0RGVmYXVsdHNfID0gZnVu
Y3Rpb24oKSB7Ci0gICAgdGhpcy5zdGF0dXMgPSAwOwotICB9OwotICBVc2JEZXZpY2VfR2VuZXJp
Y1RyYW5zZmVyT3V0X1Jlc3BvbnNlUGFyYW1zLnByb3RvdHlwZS5pbml0RmllbGRzXyA9IGZ1bmN0
aW9uKGZpZWxkcykgewotICAgIGZvcih2YXIgZmllbGQgaW4gZmllbGRzKSB7Ci0gICAgICAgIGlm
ICh0aGlzLmhhc093blByb3BlcnR5KGZpZWxkKSkKLSAgICAgICAgICB0aGlzW2ZpZWxkXSA9IGZp
ZWxkc1tmaWVsZF07Ci0gICAgfQotICB9OwotCi0gIFVzYkRldmljZV9HZW5lcmljVHJhbnNmZXJP
dXRfUmVzcG9uc2VQYXJhbXMudmFsaWRhdGUgPSBmdW5jdGlvbihtZXNzYWdlVmFsaWRhdG9yLCBv
ZmZzZXQpIHsKLSAgICB2YXIgZXJyOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRh
dGVTdHJ1Y3RIZWFkZXIob2Zmc2V0LCBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSk7Ci0gICAgaWYg
KGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4g
ZXJyOwotCi0gICAgdmFyIGtWZXJzaW9uU2l6ZXMgPSBbCi0gICAgICB7dmVyc2lvbjogMCwgbnVt
Qnl0ZXM6IDE2fQotICAgIF07Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0
cnVjdFZlcnNpb24ob2Zmc2V0LCBrVmVyc2lvblNpemVzKTsKLSAgICBpZiAoZXJyICE9PSB2YWxp
ZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotICAg
IC8vIHZhbGlkYXRlIFVzYkRldmljZV9HZW5lcmljVHJhbnNmZXJPdXRfUmVzcG9uc2VQYXJhbXMu
c3RhdHVzCi0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZUVudW0ob2Zmc2V0ICsg
Y29kZWMua1N0cnVjdEhlYWRlclNpemUgKyAwLCBVc2JUcmFuc2ZlclN0YXR1cyk7Ci0gICAgaWYg
KGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4g
ZXJyOwotCi0gICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAgfTsK
LQotICBVc2JEZXZpY2VfR2VuZXJpY1RyYW5zZmVyT3V0X1Jlc3BvbnNlUGFyYW1zLmVuY29kZWRT
aXplID0gY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyA4OwotCi0gIFVzYkRldmljZV9HZW5lcmlj
VHJhbnNmZXJPdXRfUmVzcG9uc2VQYXJhbXMuZGVjb2RlID0gZnVuY3Rpb24oZGVjb2Rlcikgewot
ICAgIHZhciBwYWNrZWQ7Ci0gICAgdmFyIHZhbCA9IG5ldyBVc2JEZXZpY2VfR2VuZXJpY1RyYW5z
ZmVyT3V0X1Jlc3BvbnNlUGFyYW1zKCk7Ci0gICAgdmFyIG51bWJlck9mQnl0ZXMgPSBkZWNvZGVy
LnJlYWRVaW50MzIoKTsKLSAgICB2YXIgdmVyc2lvbiA9IGRlY29kZXIucmVhZFVpbnQzMigpOwot
ICAgIHZhbC5zdGF0dXMgPSBkZWNvZGVyLmRlY29kZVN0cnVjdChjb2RlYy5JbnQzMik7Ci0gICAg
ZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAo
MSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIHJldHVybiB2YWw7Ci0gIH07Ci0KLSAgVXNi
RGV2aWNlX0dlbmVyaWNUcmFuc2Zlck91dF9SZXNwb25zZVBhcmFtcy5lbmNvZGUgPSBmdW5jdGlv
bihlbmNvZGVyLCB2YWwpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIGVuY29kZXIud3JpdGVVaW50
MzIoVXNiRGV2aWNlX0dlbmVyaWNUcmFuc2Zlck91dF9SZXNwb25zZVBhcmFtcy5lbmNvZGVkU2l6
ZSk7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMigwKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVj
dChjb2RlYy5JbnQzMiwgdmFsLnN0YXR1cyk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVu
Y29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEp
OwotICB9OwotICBmdW5jdGlvbiBVc2JEZXZpY2VfSXNvY2hyb25vdXNUcmFuc2ZlckluX1BhcmFt
cyh2YWx1ZXMpIHsKLSAgICB0aGlzLmluaXREZWZhdWx0c18oKTsKLSAgICB0aGlzLmluaXRGaWVs
ZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0gIFVzYkRldmljZV9Jc29jaHJvbm91c1RyYW5zZmVySW5f
UGFyYW1zLnByb3RvdHlwZS5pbml0RGVmYXVsdHNfID0gZnVuY3Rpb24oKSB7Ci0gICAgdGhpcy5l
bmRwb2ludE51bWJlciA9IDA7Ci0gICAgdGhpcy50aW1lb3V0ID0gMDsKLSAgICB0aGlzLnBhY2tl
dExlbmd0aHMgPSBudWxsOwotICB9OwotICBVc2JEZXZpY2VfSXNvY2hyb25vdXNUcmFuc2Zlcklu
X1BhcmFtcy5wcm90b3R5cGUuaW5pdEZpZWxkc18gPSBmdW5jdGlvbihmaWVsZHMpIHsKLSAgICBm
b3IodmFyIGZpZWxkIGluIGZpZWxkcykgewotICAgICAgICBpZiAodGhpcy5oYXNPd25Qcm9wZXJ0
eShmaWVsZCkpCi0gICAgICAgICAgdGhpc1tmaWVsZF0gPSBmaWVsZHNbZmllbGRdOwotICAgIH0K
LSAgfTsKLQotICBVc2JEZXZpY2VfSXNvY2hyb25vdXNUcmFuc2ZlckluX1BhcmFtcy52YWxpZGF0
ZSA9IGZ1bmN0aW9uKG1lc3NhZ2VWYWxpZGF0b3IsIG9mZnNldCkgewotICAgIHZhciBlcnI7Ci0g
ICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdEhlYWRlcihvZmZzZXQsIGNv
ZGVjLmtTdHJ1Y3RIZWFkZXJTaXplKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRh
dGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICB2YXIga1ZlcnNpb25T
aXplcyA9IFsKLSAgICAgIHt2ZXJzaW9uOiAwLCBudW1CeXRlczogMjR9Ci0gICAgXTsKLSAgICBl
cnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0VmVyc2lvbihvZmZzZXQsIGtWZXJz
aW9uU2l6ZXMpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9O
RSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0KLSAgICAvLyB2YWxpZGF0ZSBVc2JEZXZpY2Vf
SXNvY2hyb25vdXNUcmFuc2ZlckluX1BhcmFtcy5wYWNrZXRMZW5ndGhzCi0gICAgZXJyID0gbWVz
c2FnZVZhbGlkYXRvci52YWxpZGF0ZUFycmF5UG9pbnRlcihvZmZzZXQgKyBjb2RlYy5rU3RydWN0
SGVhZGVyU2l6ZSArIDgsIDQsIGNvZGVjLlVpbnQzMiwgZmFsc2UsIFswXSwgMCk7Ci0gICAgaWYg
KGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4g
ZXJyOwotCi0KLSAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwotICB9
OwotCi0gIFVzYkRldmljZV9Jc29jaHJvbm91c1RyYW5zZmVySW5fUGFyYW1zLmVuY29kZWRTaXpl
ID0gY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyAxNjsKLQotICBVc2JEZXZpY2VfSXNvY2hyb25v
dXNUcmFuc2ZlckluX1BhcmFtcy5kZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgdmFy
IHBhY2tlZDsKLSAgICB2YXIgdmFsID0gbmV3IFVzYkRldmljZV9Jc29jaHJvbm91c1RyYW5zZmVy
SW5fUGFyYW1zKCk7Ci0gICAgdmFyIG51bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50MzIo
KTsKLSAgICB2YXIgdmVyc2lvbiA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhbC5lbmRw
b2ludE51bWJlciA9IGRlY29kZXIuZGVjb2RlU3RydWN0KGNvZGVjLlVpbnQ4KTsKLSAgICBkZWNv
ZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsK
LSAgICB2YWwudGltZW91dCA9IGRlY29kZXIuZGVjb2RlU3RydWN0KGNvZGVjLlVpbnQzMik7Ci0g
ICAgdmFsLnBhY2tldExlbmd0aHMgPSBkZWNvZGVyLmRlY29kZUFycmF5UG9pbnRlcihjb2RlYy5V
aW50MzIpOwotICAgIHJldHVybiB2YWw7Ci0gIH07Ci0KLSAgVXNiRGV2aWNlX0lzb2Nocm9ub3Vz
VHJhbnNmZXJJbl9QYXJhbXMuZW5jb2RlID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAg
dmFyIHBhY2tlZDsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKFVzYkRldmljZV9Jc29jaHJvbm91
c1RyYW5zZmVySW5fUGFyYW1zLmVuY29kZWRTaXplKTsKLSAgICBlbmNvZGVyLndyaXRlVWludDMy
KDApOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNvZGVjLlVpbnQ4LCB2YWwuZW5kcG9pbnRO
dW1iZXIpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAg
ZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNvZGVjLlVpbnQzMiwg
dmFsLnRpbWVvdXQpOwotICAgIGVuY29kZXIuZW5jb2RlQXJyYXlQb2ludGVyKGNvZGVjLlVpbnQz
MiwgdmFsLnBhY2tldExlbmd0aHMpOwotICB9OwotICBmdW5jdGlvbiBVc2JEZXZpY2VfSXNvY2hy
b25vdXNUcmFuc2ZlckluX1Jlc3BvbnNlUGFyYW1zKHZhbHVlcykgewotICAgIHRoaXMuaW5pdERl
ZmF1bHRzXygpOwotICAgIHRoaXMuaW5pdEZpZWxkc18odmFsdWVzKTsKLSAgfQotCi0KLSAgVXNi
RGV2aWNlX0lzb2Nocm9ub3VzVHJhbnNmZXJJbl9SZXNwb25zZVBhcmFtcy5wcm90b3R5cGUuaW5p
dERlZmF1bHRzXyA9IGZ1bmN0aW9uKCkgewotICAgIHRoaXMuZGF0YSA9IG51bGw7Ci0gICAgdGhp
cy5wYWNrZXRzID0gbnVsbDsKLSAgfTsKLSAgVXNiRGV2aWNlX0lzb2Nocm9ub3VzVHJhbnNmZXJJ
bl9SZXNwb25zZVBhcmFtcy5wcm90b3R5cGUuaW5pdEZpZWxkc18gPSBmdW5jdGlvbihmaWVsZHMp
IHsKLSAgICBmb3IodmFyIGZpZWxkIGluIGZpZWxkcykgewotICAgICAgICBpZiAodGhpcy5oYXNP
d25Qcm9wZXJ0eShmaWVsZCkpCi0gICAgICAgICAgdGhpc1tmaWVsZF0gPSBmaWVsZHNbZmllbGRd
OwotICAgIH0KLSAgfTsKLQotICBVc2JEZXZpY2VfSXNvY2hyb25vdXNUcmFuc2ZlckluX1Jlc3Bv
bnNlUGFyYW1zLnZhbGlkYXRlID0gZnVuY3Rpb24obWVzc2FnZVZhbGlkYXRvciwgb2Zmc2V0KSB7
Ci0gICAgdmFyIGVycjsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0
SGVhZGVyKG9mZnNldCwgY29kZWMua1N0cnVjdEhlYWRlclNpemUpOwotICAgIGlmIChlcnIgIT09
IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQot
ICAgIHZhciBrVmVyc2lvblNpemVzID0gWwotICAgICAge3ZlcnNpb246IDAsIG51bUJ5dGVzOiAy
NH0KLSAgICBdOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RWZXJz
aW9uKG9mZnNldCwga1ZlcnNpb25TaXplcyk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZh
bGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0KLSAgICAvLyB2YWxp
ZGF0ZSBVc2JEZXZpY2VfSXNvY2hyb25vdXNUcmFuc2ZlckluX1Jlc3BvbnNlUGFyYW1zLmRhdGEK
LSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlQXJyYXlQb2ludGVyKG9mZnNldCAr
IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgMCwgMSwgY29kZWMuVWludDgsIGZhbHNlLCBbMF0s
IDApOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAg
ICAgICAgcmV0dXJuIGVycjsKLQotCi0gICAgLy8gdmFsaWRhdGUgVXNiRGV2aWNlX0lzb2Nocm9u
b3VzVHJhbnNmZXJJbl9SZXNwb25zZVBhcmFtcy5wYWNrZXRzCi0gICAgZXJyID0gbWVzc2FnZVZh
bGlkYXRvci52YWxpZGF0ZUFycmF5UG9pbnRlcihvZmZzZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVy
U2l6ZSArIDgsIDgsIG5ldyBjb2RlYy5Qb2ludGVyVG8oVXNiSXNvY2hyb25vdXNQYWNrZXQpLCBm
YWxzZSwgWzBdLCAwKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9y
Lk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlk
YXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIFVzYkRldmljZV9Jc29jaHJvbm91c1RyYW5zZmVy
SW5fUmVzcG9uc2VQYXJhbXMuZW5jb2RlZFNpemUgPSBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSAr
IDE2OwotCi0gIFVzYkRldmljZV9Jc29jaHJvbm91c1RyYW5zZmVySW5fUmVzcG9uc2VQYXJhbXMu
ZGVjb2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgdmFyIHZh
bCA9IG5ldyBVc2JEZXZpY2VfSXNvY2hyb25vdXNUcmFuc2ZlckluX1Jlc3BvbnNlUGFyYW1zKCk7
Ci0gICAgdmFyIG51bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YXIg
dmVyc2lvbiA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhbC5kYXRhID0gZGVjb2Rlci5k
ZWNvZGVBcnJheVBvaW50ZXIoY29kZWMuVWludDgpOwotICAgIHZhbC5wYWNrZXRzID0gZGVjb2Rl
ci5kZWNvZGVBcnJheVBvaW50ZXIobmV3IGNvZGVjLlBvaW50ZXJUbyhVc2JJc29jaHJvbm91c1Bh
Y2tldCkpOwotICAgIHJldHVybiB2YWw7Ci0gIH07Ci0KLSAgVXNiRGV2aWNlX0lzb2Nocm9ub3Vz
VHJhbnNmZXJJbl9SZXNwb25zZVBhcmFtcy5lbmNvZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2YWwp
IHsKLSAgICB2YXIgcGFja2VkOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoVXNiRGV2aWNlX0lz
b2Nocm9ub3VzVHJhbnNmZXJJbl9SZXNwb25zZVBhcmFtcy5lbmNvZGVkU2l6ZSk7Ci0gICAgZW5j
b2Rlci53cml0ZVVpbnQzMigwKTsKLSAgICBlbmNvZGVyLmVuY29kZUFycmF5UG9pbnRlcihjb2Rl
Yy5VaW50OCwgdmFsLmRhdGEpOwotICAgIGVuY29kZXIuZW5jb2RlQXJyYXlQb2ludGVyKG5ldyBj
b2RlYy5Qb2ludGVyVG8oVXNiSXNvY2hyb25vdXNQYWNrZXQpLCB2YWwucGFja2V0cyk7Ci0gIH07
Ci0gIGZ1bmN0aW9uIFVzYkRldmljZV9Jc29jaHJvbm91c1RyYW5zZmVyT3V0X1BhcmFtcyh2YWx1
ZXMpIHsKLSAgICB0aGlzLmluaXREZWZhdWx0c18oKTsKLSAgICB0aGlzLmluaXRGaWVsZHNfKHZh
bHVlcyk7Ci0gIH0KLQotCi0gIFVzYkRldmljZV9Jc29jaHJvbm91c1RyYW5zZmVyT3V0X1BhcmFt
cy5wcm90b3R5cGUuaW5pdERlZmF1bHRzXyA9IGZ1bmN0aW9uKCkgewotICAgIHRoaXMuZW5kcG9p
bnROdW1iZXIgPSAwOwotICAgIHRoaXMudGltZW91dCA9IDA7Ci0gICAgdGhpcy5kYXRhID0gbnVs
bDsKLSAgICB0aGlzLnBhY2tldExlbmd0aHMgPSBudWxsOwotICB9OwotICBVc2JEZXZpY2VfSXNv
Y2hyb25vdXNUcmFuc2Zlck91dF9QYXJhbXMucHJvdG90eXBlLmluaXRGaWVsZHNfID0gZnVuY3Rp
b24oZmllbGRzKSB7Ci0gICAgZm9yKHZhciBmaWVsZCBpbiBmaWVsZHMpIHsKLSAgICAgICAgaWYg
KHRoaXMuaGFzT3duUHJvcGVydHkoZmllbGQpKQotICAgICAgICAgIHRoaXNbZmllbGRdID0gZmll
bGRzW2ZpZWxkXTsKLSAgICB9Ci0gIH07Ci0KLSAgVXNiRGV2aWNlX0lzb2Nocm9ub3VzVHJhbnNm
ZXJPdXRfUGFyYW1zLnZhbGlkYXRlID0gZnVuY3Rpb24obWVzc2FnZVZhbGlkYXRvciwgb2Zmc2V0
KSB7Ci0gICAgdmFyIGVycjsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3Ry
dWN0SGVhZGVyKG9mZnNldCwgY29kZWMua1N0cnVjdEhlYWRlclNpemUpOwotICAgIGlmIChlcnIg
IT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsK
LQotICAgIHZhciBrVmVyc2lvblNpemVzID0gWwotICAgICAge3ZlcnNpb246IDAsIG51bUJ5dGVz
OiAzMn0KLSAgICBdOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RW
ZXJzaW9uKG9mZnNldCwga1ZlcnNpb25TaXplcyk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9y
LnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0KLQotICAgIC8v
IHZhbGlkYXRlIFVzYkRldmljZV9Jc29jaHJvbm91c1RyYW5zZmVyT3V0X1BhcmFtcy5kYXRhCi0g
ICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZUFycmF5UG9pbnRlcihvZmZzZXQgKyBj
b2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDgsIDEsIGNvZGVjLlVpbnQ4LCBmYWxzZSwgWzBdLCAw
KTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAg
ICAgIHJldHVybiBlcnI7Ci0KLQotICAgIC8vIHZhbGlkYXRlIFVzYkRldmljZV9Jc29jaHJvbm91
c1RyYW5zZmVyT3V0X1BhcmFtcy5wYWNrZXRMZW5ndGhzCi0gICAgZXJyID0gbWVzc2FnZVZhbGlk
YXRvci52YWxpZGF0ZUFycmF5UG9pbnRlcihvZmZzZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVyU2l6
ZSArIDE2LCA0LCBjb2RlYy5VaW50MzIsIGZhbHNlLCBbMF0sIDApOwotICAgIGlmIChlcnIgIT09
IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQot
Ci0gICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQotICBV
c2JEZXZpY2VfSXNvY2hyb25vdXNUcmFuc2Zlck91dF9QYXJhbXMuZW5jb2RlZFNpemUgPSBjb2Rl
Yy5rU3RydWN0SGVhZGVyU2l6ZSArIDI0OwotCi0gIFVzYkRldmljZV9Jc29jaHJvbm91c1RyYW5z
ZmVyT3V0X1BhcmFtcy5kZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgdmFyIHBhY2tl
ZDsKLSAgICB2YXIgdmFsID0gbmV3IFVzYkRldmljZV9Jc29jaHJvbm91c1RyYW5zZmVyT3V0X1Bh
cmFtcygpOwotICAgIHZhciBudW1iZXJPZkJ5dGVzID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0g
ICAgdmFyIHZlcnNpb24gPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YWwuZW5kcG9pbnRO
dW1iZXIgPSBkZWNvZGVyLmRlY29kZVN0cnVjdChjb2RlYy5VaW50OCk7Ci0gICAgZGVjb2Rlci5z
a2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAg
dmFsLnRpbWVvdXQgPSBkZWNvZGVyLmRlY29kZVN0cnVjdChjb2RlYy5VaW50MzIpOwotICAgIHZh
bC5kYXRhID0gZGVjb2Rlci5kZWNvZGVBcnJheVBvaW50ZXIoY29kZWMuVWludDgpOwotICAgIHZh
bC5wYWNrZXRMZW5ndGhzID0gZGVjb2Rlci5kZWNvZGVBcnJheVBvaW50ZXIoY29kZWMuVWludDMy
KTsKLSAgICByZXR1cm4gdmFsOwotICB9OwotCi0gIFVzYkRldmljZV9Jc29jaHJvbm91c1RyYW5z
ZmVyT3V0X1BhcmFtcy5lbmNvZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2YWwpIHsKLSAgICB2YXIg
cGFja2VkOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoVXNiRGV2aWNlX0lzb2Nocm9ub3VzVHJh
bnNmZXJPdXRfUGFyYW1zLmVuY29kZWRTaXplKTsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKDAp
OwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNvZGVjLlVpbnQ4LCB2YWwuZW5kcG9pbnROdW1i
ZXIpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5j
b2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNvZGVjLlVpbnQzMiwgdmFs
LnRpbWVvdXQpOwotICAgIGVuY29kZXIuZW5jb2RlQXJyYXlQb2ludGVyKGNvZGVjLlVpbnQ4LCB2
YWwuZGF0YSk7Ci0gICAgZW5jb2Rlci5lbmNvZGVBcnJheVBvaW50ZXIoY29kZWMuVWludDMyLCB2
YWwucGFja2V0TGVuZ3Rocyk7Ci0gIH07Ci0gIGZ1bmN0aW9uIFVzYkRldmljZV9Jc29jaHJvbm91
c1RyYW5zZmVyT3V0X1Jlc3BvbnNlUGFyYW1zKHZhbHVlcykgewotICAgIHRoaXMuaW5pdERlZmF1
bHRzXygpOwotICAgIHRoaXMuaW5pdEZpZWxkc18odmFsdWVzKTsKLSAgfQotCi0KLSAgVXNiRGV2
aWNlX0lzb2Nocm9ub3VzVHJhbnNmZXJPdXRfUmVzcG9uc2VQYXJhbXMucHJvdG90eXBlLmluaXRE
ZWZhdWx0c18gPSBmdW5jdGlvbigpIHsKLSAgICB0aGlzLnBhY2tldHMgPSBudWxsOwotICB9Owot
ICBVc2JEZXZpY2VfSXNvY2hyb25vdXNUcmFuc2Zlck91dF9SZXNwb25zZVBhcmFtcy5wcm90b3R5
cGUuaW5pdEZpZWxkc18gPSBmdW5jdGlvbihmaWVsZHMpIHsKLSAgICBmb3IodmFyIGZpZWxkIGlu
IGZpZWxkcykgewotICAgICAgICBpZiAodGhpcy5oYXNPd25Qcm9wZXJ0eShmaWVsZCkpCi0gICAg
ICAgICAgdGhpc1tmaWVsZF0gPSBmaWVsZHNbZmllbGRdOwotICAgIH0KLSAgfTsKLQotICBVc2JE
ZXZpY2VfSXNvY2hyb25vdXNUcmFuc2Zlck91dF9SZXNwb25zZVBhcmFtcy52YWxpZGF0ZSA9IGZ1
bmN0aW9uKG1lc3NhZ2VWYWxpZGF0b3IsIG9mZnNldCkgewotICAgIHZhciBlcnI7Ci0gICAgZXJy
ID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdEhlYWRlcihvZmZzZXQsIGNvZGVjLmtT
dHJ1Y3RIZWFkZXJTaXplKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVy
cm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICB2YXIga1ZlcnNpb25TaXplcyA9
IFsKLSAgICAgIHt2ZXJzaW9uOiAwLCBudW1CeXRlczogMTZ9Ci0gICAgXTsKLSAgICBlcnIgPSBt
ZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0VmVyc2lvbihvZmZzZXQsIGtWZXJzaW9uU2l6
ZXMpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAg
ICAgICAgcmV0dXJuIGVycjsKLQotCi0gICAgLy8gdmFsaWRhdGUgVXNiRGV2aWNlX0lzb2Nocm9u
b3VzVHJhbnNmZXJPdXRfUmVzcG9uc2VQYXJhbXMucGFja2V0cwotICAgIGVyciA9IG1lc3NhZ2VW
YWxpZGF0b3IudmFsaWRhdGVBcnJheVBvaW50ZXIob2Zmc2V0ICsgY29kZWMua1N0cnVjdEhlYWRl
clNpemUgKyAwLCA4LCBuZXcgY29kZWMuUG9pbnRlclRvKFVzYklzb2Nocm9ub3VzUGFja2V0KSwg
ZmFsc2UsIFswXSwgMCk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJv
ci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgcmV0dXJuIHZhbGlkYXRvci52YWxp
ZGF0aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQotICBVc2JEZXZpY2VfSXNvY2hyb25vdXNUcmFuc2Zl
ck91dF9SZXNwb25zZVBhcmFtcy5lbmNvZGVkU2l6ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXpl
ICsgODsKLQotICBVc2JEZXZpY2VfSXNvY2hyb25vdXNUcmFuc2Zlck91dF9SZXNwb25zZVBhcmFt
cy5kZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICB2YXIg
dmFsID0gbmV3IFVzYkRldmljZV9Jc29jaHJvbm91c1RyYW5zZmVyT3V0X1Jlc3BvbnNlUGFyYW1z
KCk7Ci0gICAgdmFyIG51bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2
YXIgdmVyc2lvbiA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhbC5wYWNrZXRzID0gZGVj
b2Rlci5kZWNvZGVBcnJheVBvaW50ZXIobmV3IGNvZGVjLlBvaW50ZXJUbyhVc2JJc29jaHJvbm91
c1BhY2tldCkpOwotICAgIHJldHVybiB2YWw7Ci0gIH07Ci0KLSAgVXNiRGV2aWNlX0lzb2Nocm9u
b3VzVHJhbnNmZXJPdXRfUmVzcG9uc2VQYXJhbXMuZW5jb2RlID0gZnVuY3Rpb24oZW5jb2Rlciwg
dmFsKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKFVzYkRldmlj
ZV9Jc29jaHJvbm91c1RyYW5zZmVyT3V0X1Jlc3BvbnNlUGFyYW1zLmVuY29kZWRTaXplKTsKLSAg
ICBlbmNvZGVyLndyaXRlVWludDMyKDApOwotICAgIGVuY29kZXIuZW5jb2RlQXJyYXlQb2ludGVy
KG5ldyBjb2RlYy5Qb2ludGVyVG8oVXNiSXNvY2hyb25vdXNQYWNrZXQpLCB2YWwucGFja2V0cyk7
Ci0gIH07Ci0gIGZ1bmN0aW9uIFVzYkRldmljZUNsaWVudF9PbkRldmljZU9wZW5lZF9QYXJhbXMo
dmFsdWVzKSB7Ci0gICAgdGhpcy5pbml0RGVmYXVsdHNfKCk7Ci0gICAgdGhpcy5pbml0RmllbGRz
Xyh2YWx1ZXMpOwotICB9Ci0KLQotICBVc2JEZXZpY2VDbGllbnRfT25EZXZpY2VPcGVuZWRfUGFy
YW1zLnByb3RvdHlwZS5pbml0RGVmYXVsdHNfID0gZnVuY3Rpb24oKSB7Ci0gIH07Ci0gIFVzYkRl
dmljZUNsaWVudF9PbkRldmljZU9wZW5lZF9QYXJhbXMucHJvdG90eXBlLmluaXRGaWVsZHNfID0g
ZnVuY3Rpb24oZmllbGRzKSB7Ci0gICAgZm9yKHZhciBmaWVsZCBpbiBmaWVsZHMpIHsKLSAgICAg
ICAgaWYgKHRoaXMuaGFzT3duUHJvcGVydHkoZmllbGQpKQotICAgICAgICAgIHRoaXNbZmllbGRd
ID0gZmllbGRzW2ZpZWxkXTsKLSAgICB9Ci0gIH07Ci0KLSAgVXNiRGV2aWNlQ2xpZW50X09uRGV2
aWNlT3BlbmVkX1BhcmFtcy52YWxpZGF0ZSA9IGZ1bmN0aW9uKG1lc3NhZ2VWYWxpZGF0b3IsIG9m
ZnNldCkgewotICAgIHZhciBlcnI7Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0
ZVN0cnVjdEhlYWRlcihvZmZzZXQsIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplKTsKLSAgICBpZiAo
ZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBl
cnI7Ci0KLSAgICB2YXIga1ZlcnNpb25TaXplcyA9IFsKLSAgICAgIHt2ZXJzaW9uOiAwLCBudW1C
eXRlczogOH0KLSAgICBdOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1
Y3RWZXJzaW9uKG9mZnNldCwga1ZlcnNpb25TaXplcyk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRh
dG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgcmV0
dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQotICBVc2JEZXZpY2VD
bGllbnRfT25EZXZpY2VPcGVuZWRfUGFyYW1zLmVuY29kZWRTaXplID0gY29kZWMua1N0cnVjdEhl
YWRlclNpemUgKyAwOwotCi0gIFVzYkRldmljZUNsaWVudF9PbkRldmljZU9wZW5lZF9QYXJhbXMu
ZGVjb2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgdmFyIHZh
bCA9IG5ldyBVc2JEZXZpY2VDbGllbnRfT25EZXZpY2VPcGVuZWRfUGFyYW1zKCk7Ci0gICAgdmFy
IG51bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YXIgdmVyc2lvbiA9
IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHJldHVybiB2YWw7Ci0gIH07Ci0KLSAgVXNiRGV2
aWNlQ2xpZW50X09uRGV2aWNlT3BlbmVkX1BhcmFtcy5lbmNvZGUgPSBmdW5jdGlvbihlbmNvZGVy
LCB2YWwpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoVXNiRGV2
aWNlQ2xpZW50X09uRGV2aWNlT3BlbmVkX1BhcmFtcy5lbmNvZGVkU2l6ZSk7Ci0gICAgZW5jb2Rl
ci53cml0ZVVpbnQzMigwKTsKLSAgfTsKLSAgZnVuY3Rpb24gVXNiRGV2aWNlQ2xpZW50X09uRGV2
aWNlQ2xvc2VkX1BhcmFtcyh2YWx1ZXMpIHsKLSAgICB0aGlzLmluaXREZWZhdWx0c18oKTsKLSAg
ICB0aGlzLmluaXRGaWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0gIFVzYkRldmljZUNsaWVudF9P
bkRldmljZUNsb3NlZF9QYXJhbXMucHJvdG90eXBlLmluaXREZWZhdWx0c18gPSBmdW5jdGlvbigp
IHsKLSAgfTsKLSAgVXNiRGV2aWNlQ2xpZW50X09uRGV2aWNlQ2xvc2VkX1BhcmFtcy5wcm90b3R5
cGUuaW5pdEZpZWxkc18gPSBmdW5jdGlvbihmaWVsZHMpIHsKLSAgICBmb3IodmFyIGZpZWxkIGlu
IGZpZWxkcykgewotICAgICAgICBpZiAodGhpcy5oYXNPd25Qcm9wZXJ0eShmaWVsZCkpCi0gICAg
ICAgICAgdGhpc1tmaWVsZF0gPSBmaWVsZHNbZmllbGRdOwotICAgIH0KLSAgfTsKLQotICBVc2JE
ZXZpY2VDbGllbnRfT25EZXZpY2VDbG9zZWRfUGFyYW1zLnZhbGlkYXRlID0gZnVuY3Rpb24obWVz
c2FnZVZhbGlkYXRvciwgb2Zmc2V0KSB7Ci0gICAgdmFyIGVycjsKLSAgICBlcnIgPSBtZXNzYWdl
VmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0SGVhZGVyKG9mZnNldCwgY29kZWMua1N0cnVjdEhlYWRl
clNpemUpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkK
LSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHZhciBrVmVyc2lvblNpemVzID0gWwotICAgICAg
e3ZlcnNpb246IDAsIG51bUJ5dGVzOiA4fQotICAgIF07Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlk
YXRvci52YWxpZGF0ZVN0cnVjdFZlcnNpb24ob2Zmc2V0LCBrVmVyc2lvblNpemVzKTsKLSAgICBp
ZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVy
biBlcnI7Ci0KLSAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwotICB9
OwotCi0gIFVzYkRldmljZUNsaWVudF9PbkRldmljZUNsb3NlZF9QYXJhbXMuZW5jb2RlZFNpemUg
PSBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDA7Ci0KLSAgVXNiRGV2aWNlQ2xpZW50X09uRGV2
aWNlQ2xvc2VkX1BhcmFtcy5kZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgdmFyIHBh
Y2tlZDsKLSAgICB2YXIgdmFsID0gbmV3IFVzYkRldmljZUNsaWVudF9PbkRldmljZUNsb3NlZF9Q
YXJhbXMoKTsKLSAgICB2YXIgbnVtYmVyT2ZCeXRlcyA9IGRlY29kZXIucmVhZFVpbnQzMigpOwot
ICAgIHZhciB2ZXJzaW9uID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgcmV0dXJuIHZhbDsK
LSAgfTsKLQotICBVc2JEZXZpY2VDbGllbnRfT25EZXZpY2VDbG9zZWRfUGFyYW1zLmVuY29kZSA9
IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgZW5jb2Rlci53
cml0ZVVpbnQzMihVc2JEZXZpY2VDbGllbnRfT25EZXZpY2VDbG9zZWRfUGFyYW1zLmVuY29kZWRT
aXplKTsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKDApOwotICB9OwotICB2YXIga1VzYkRldmlj
ZV9PcGVuX05hbWUgPSAwOwotICB2YXIga1VzYkRldmljZV9DbG9zZV9OYW1lID0gMTsKLSAgdmFy
IGtVc2JEZXZpY2VfU2V0Q29uZmlndXJhdGlvbl9OYW1lID0gMjsKLSAgdmFyIGtVc2JEZXZpY2Vf
Q2xhaW1JbnRlcmZhY2VfTmFtZSA9IDM7Ci0gIHZhciBrVXNiRGV2aWNlX1JlbGVhc2VJbnRlcmZh
Y2VfTmFtZSA9IDQ7Ci0gIHZhciBrVXNiRGV2aWNlX1NldEludGVyZmFjZUFsdGVybmF0ZVNldHRp
bmdfTmFtZSA9IDU7Ci0gIHZhciBrVXNiRGV2aWNlX1Jlc2V0X05hbWUgPSA2OwotICB2YXIga1Vz
YkRldmljZV9DbGVhckhhbHRfTmFtZSA9IDc7Ci0gIHZhciBrVXNiRGV2aWNlX0NvbnRyb2xUcmFu
c2ZlckluX05hbWUgPSA4OwotICB2YXIga1VzYkRldmljZV9Db250cm9sVHJhbnNmZXJPdXRfTmFt
ZSA9IDk7Ci0gIHZhciBrVXNiRGV2aWNlX0dlbmVyaWNUcmFuc2ZlckluX05hbWUgPSAxMDsKLSAg
dmFyIGtVc2JEZXZpY2VfR2VuZXJpY1RyYW5zZmVyT3V0X05hbWUgPSAxMTsKLSAgdmFyIGtVc2JE
ZXZpY2VfSXNvY2hyb25vdXNUcmFuc2ZlckluX05hbWUgPSAxMjsKLSAgdmFyIGtVc2JEZXZpY2Vf
SXNvY2hyb25vdXNUcmFuc2Zlck91dF9OYW1lID0gMTM7Ci0KLSAgZnVuY3Rpb24gVXNiRGV2aWNl
UHRyKGhhbmRsZU9yUHRySW5mbykgewotICAgIHRoaXMucHRyID0gbmV3IGJpbmRpbmdzLkludGVy
ZmFjZVB0ckNvbnRyb2xsZXIoVXNiRGV2aWNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlT3JQdHJJbmZvKTsKLSAgfQotCi0gIGZ1bmN0
aW9uIFVzYkRldmljZUFzc29jaWF0ZWRQdHIoYXNzb2NpYXRlZEludGVyZmFjZVB0ckluZm8pIHsK
LSAgICB0aGlzLnB0ciA9IG5ldyBhc3NvY2lhdGVkQmluZGluZ3MuQXNzb2NpYXRlZEludGVyZmFj
ZVB0ckNvbnRyb2xsZXIoCi0gICAgICAgIFVzYkRldmljZSwgYXNzb2NpYXRlZEludGVyZmFjZVB0
ckluZm8pOwotICB9Ci0KLSAgVXNiRGV2aWNlQXNzb2NpYXRlZFB0ci5wcm90b3R5cGUgPQotICAg
ICAgT2JqZWN0LmNyZWF0ZShVc2JEZXZpY2VQdHIucHJvdG90eXBlKTsKLSAgVXNiRGV2aWNlQXNz
b2NpYXRlZFB0ci5wcm90b3R5cGUuY29uc3RydWN0b3IgPQotICAgICAgVXNiRGV2aWNlQXNzb2Np
YXRlZFB0cjsKLQotICBmdW5jdGlvbiBVc2JEZXZpY2VQcm94eShyZWNlaXZlcikgewotICAgIHRo
aXMucmVjZWl2ZXJfID0gcmVjZWl2ZXI7Ci0gIH0KLSAgVXNiRGV2aWNlUHRyLnByb3RvdHlwZS5v
cGVuID0gZnVuY3Rpb24oKSB7Ci0gICAgcmV0dXJuIFVzYkRldmljZVByb3h5LnByb3RvdHlwZS5v
cGVuCi0gICAgICAgIC5hcHBseSh0aGlzLnB0ci5nZXRQcm94eSgpLCBhcmd1bWVudHMpOwotICB9
OwotCi0gIFVzYkRldmljZVByb3h5LnByb3RvdHlwZS5vcGVuID0gZnVuY3Rpb24oKSB7Ci0gICAg
dmFyIHBhcmFtc18gPSBuZXcgVXNiRGV2aWNlX09wZW5fUGFyYW1zKCk7Ci0gICAgcmV0dXJuIG5l
dyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewotICAgICAgdmFyIGJ1aWxkZXIg
PSBuZXcgY29kZWMuTWVzc2FnZVYxQnVpbGRlcigKLSAgICAgICAgICBrVXNiRGV2aWNlX09wZW5f
TmFtZSwKLSAgICAgICAgICBjb2RlYy5hbGlnbihVc2JEZXZpY2VfT3Blbl9QYXJhbXMuZW5jb2Rl
ZFNpemUpLAotICAgICAgICAgIGNvZGVjLmtNZXNzYWdlRXhwZWN0c1Jlc3BvbnNlLCAwKTsKLSAg
ICAgIGJ1aWxkZXIuZW5jb2RlU3RydWN0KFVzYkRldmljZV9PcGVuX1BhcmFtcywgcGFyYW1zXyk7
Ci0gICAgICB2YXIgbWVzc2FnZSA9IGJ1aWxkZXIuZmluaXNoKCk7Ci0gICAgICB0aGlzLnJlY2Vp
dmVyXy5hY2NlcHRBbmRFeHBlY3RSZXNwb25zZShtZXNzYWdlKS50aGVuKGZ1bmN0aW9uKG1lc3Nh
Z2UpIHsKLSAgICAgICAgdmFyIHJlYWRlciA9IG5ldyBjb2RlYy5NZXNzYWdlUmVhZGVyKG1lc3Nh
Z2UpOwotICAgICAgICB2YXIgcmVzcG9uc2VQYXJhbXMgPQotICAgICAgICAgICAgcmVhZGVyLmRl
Y29kZVN0cnVjdChVc2JEZXZpY2VfT3Blbl9SZXNwb25zZVBhcmFtcyk7Ci0gICAgICAgIHJlc29s
dmUocmVzcG9uc2VQYXJhbXMpOwotICAgICAgfSkuY2F0Y2goZnVuY3Rpb24ocmVzdWx0KSB7Ci0g
ICAgICAgIHJlamVjdChFcnJvcigiQ29ubmVjdGlvbiBlcnJvcjogIiArIHJlc3VsdCkpOwotICAg
ICAgfSk7Ci0gICAgfS5iaW5kKHRoaXMpKTsKLSAgfTsKLSAgVXNiRGV2aWNlUHRyLnByb3RvdHlw
ZS5jbG9zZSA9IGZ1bmN0aW9uKCkgewotICAgIHJldHVybiBVc2JEZXZpY2VQcm94eS5wcm90b3R5
cGUuY2xvc2UKLSAgICAgICAgLmFwcGx5KHRoaXMucHRyLmdldFByb3h5KCksIGFyZ3VtZW50cyk7
Ci0gIH07Ci0KLSAgVXNiRGV2aWNlUHJveHkucHJvdG90eXBlLmNsb3NlID0gZnVuY3Rpb24oKSB7
Ci0gICAgdmFyIHBhcmFtc18gPSBuZXcgVXNiRGV2aWNlX0Nsb3NlX1BhcmFtcygpOwotICAgIHJl
dHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKLSAgICAgIHZhciBi
dWlsZGVyID0gbmV3IGNvZGVjLk1lc3NhZ2VWMUJ1aWxkZXIoCi0gICAgICAgICAga1VzYkRldmlj
ZV9DbG9zZV9OYW1lLAotICAgICAgICAgIGNvZGVjLmFsaWduKFVzYkRldmljZV9DbG9zZV9QYXJh
bXMuZW5jb2RlZFNpemUpLAotICAgICAgICAgIGNvZGVjLmtNZXNzYWdlRXhwZWN0c1Jlc3BvbnNl
LCAwKTsKLSAgICAgIGJ1aWxkZXIuZW5jb2RlU3RydWN0KFVzYkRldmljZV9DbG9zZV9QYXJhbXMs
IHBhcmFtc18pOwotICAgICAgdmFyIG1lc3NhZ2UgPSBidWlsZGVyLmZpbmlzaCgpOwotICAgICAg
dGhpcy5yZWNlaXZlcl8uYWNjZXB0QW5kRXhwZWN0UmVzcG9uc2UobWVzc2FnZSkudGhlbihmdW5j
dGlvbihtZXNzYWdlKSB7Ci0gICAgICAgIHZhciByZWFkZXIgPSBuZXcgY29kZWMuTWVzc2FnZVJl
YWRlcihtZXNzYWdlKTsKLSAgICAgICAgdmFyIHJlc3BvbnNlUGFyYW1zID0KLSAgICAgICAgICAg
IHJlYWRlci5kZWNvZGVTdHJ1Y3QoVXNiRGV2aWNlX0Nsb3NlX1Jlc3BvbnNlUGFyYW1zKTsKLSAg
ICAgICAgcmVzb2x2ZShyZXNwb25zZVBhcmFtcyk7Ci0gICAgICB9KS5jYXRjaChmdW5jdGlvbihy
ZXN1bHQpIHsKLSAgICAgICAgcmVqZWN0KEVycm9yKCJDb25uZWN0aW9uIGVycm9yOiAiICsgcmVz
dWx0KSk7Ci0gICAgICB9KTsKLSAgICB9LmJpbmQodGhpcykpOwotICB9OwotICBVc2JEZXZpY2VQ
dHIucHJvdG90eXBlLnNldENvbmZpZ3VyYXRpb24gPSBmdW5jdGlvbigpIHsKLSAgICByZXR1cm4g
VXNiRGV2aWNlUHJveHkucHJvdG90eXBlLnNldENvbmZpZ3VyYXRpb24KLSAgICAgICAgLmFwcGx5
KHRoaXMucHRyLmdldFByb3h5KCksIGFyZ3VtZW50cyk7Ci0gIH07Ci0KLSAgVXNiRGV2aWNlUHJv
eHkucHJvdG90eXBlLnNldENvbmZpZ3VyYXRpb24gPSBmdW5jdGlvbih2YWx1ZSkgewotICAgIHZh
ciBwYXJhbXNfID0gbmV3IFVzYkRldmljZV9TZXRDb25maWd1cmF0aW9uX1BhcmFtcygpOwotICAg
IHBhcmFtc18udmFsdWUgPSB2YWx1ZTsKLSAgICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24o
cmVzb2x2ZSwgcmVqZWN0KSB7Ci0gICAgICB2YXIgYnVpbGRlciA9IG5ldyBjb2RlYy5NZXNzYWdl
VjFCdWlsZGVyKAotICAgICAgICAgIGtVc2JEZXZpY2VfU2V0Q29uZmlndXJhdGlvbl9OYW1lLAot
ICAgICAgICAgIGNvZGVjLmFsaWduKFVzYkRldmljZV9TZXRDb25maWd1cmF0aW9uX1BhcmFtcy5l
bmNvZGVkU2l6ZSksCi0gICAgICAgICAgY29kZWMua01lc3NhZ2VFeHBlY3RzUmVzcG9uc2UsIDAp
OwotICAgICAgYnVpbGRlci5lbmNvZGVTdHJ1Y3QoVXNiRGV2aWNlX1NldENvbmZpZ3VyYXRpb25f
UGFyYW1zLCBwYXJhbXNfKTsKLSAgICAgIHZhciBtZXNzYWdlID0gYnVpbGRlci5maW5pc2goKTsK
LSAgICAgIHRoaXMucmVjZWl2ZXJfLmFjY2VwdEFuZEV4cGVjdFJlc3BvbnNlKG1lc3NhZ2UpLnRo
ZW4oZnVuY3Rpb24obWVzc2FnZSkgewotICAgICAgICB2YXIgcmVhZGVyID0gbmV3IGNvZGVjLk1l
c3NhZ2VSZWFkZXIobWVzc2FnZSk7Ci0gICAgICAgIHZhciByZXNwb25zZVBhcmFtcyA9Ci0gICAg
ICAgICAgICByZWFkZXIuZGVjb2RlU3RydWN0KFVzYkRldmljZV9TZXRDb25maWd1cmF0aW9uX1Jl
c3BvbnNlUGFyYW1zKTsKLSAgICAgICAgcmVzb2x2ZShyZXNwb25zZVBhcmFtcyk7Ci0gICAgICB9
KS5jYXRjaChmdW5jdGlvbihyZXN1bHQpIHsKLSAgICAgICAgcmVqZWN0KEVycm9yKCJDb25uZWN0
aW9uIGVycm9yOiAiICsgcmVzdWx0KSk7Ci0gICAgICB9KTsKLSAgICB9LmJpbmQodGhpcykpOwot
ICB9OwotICBVc2JEZXZpY2VQdHIucHJvdG90eXBlLmNsYWltSW50ZXJmYWNlID0gZnVuY3Rpb24o
KSB7Ci0gICAgcmV0dXJuIFVzYkRldmljZVByb3h5LnByb3RvdHlwZS5jbGFpbUludGVyZmFjZQot
ICAgICAgICAuYXBwbHkodGhpcy5wdHIuZ2V0UHJveHkoKSwgYXJndW1lbnRzKTsKLSAgfTsKLQot
ICBVc2JEZXZpY2VQcm94eS5wcm90b3R5cGUuY2xhaW1JbnRlcmZhY2UgPSBmdW5jdGlvbihpbnRl
cmZhY2VOdW1iZXIpIHsKLSAgICB2YXIgcGFyYW1zXyA9IG5ldyBVc2JEZXZpY2VfQ2xhaW1JbnRl
cmZhY2VfUGFyYW1zKCk7Ci0gICAgcGFyYW1zXy5pbnRlcmZhY2VOdW1iZXIgPSBpbnRlcmZhY2VO
dW1iZXI7Ci0gICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkg
ewotICAgICAgdmFyIGJ1aWxkZXIgPSBuZXcgY29kZWMuTWVzc2FnZVYxQnVpbGRlcigKLSAgICAg
ICAgICBrVXNiRGV2aWNlX0NsYWltSW50ZXJmYWNlX05hbWUsCi0gICAgICAgICAgY29kZWMuYWxp
Z24oVXNiRGV2aWNlX0NsYWltSW50ZXJmYWNlX1BhcmFtcy5lbmNvZGVkU2l6ZSksCi0gICAgICAg
ICAgY29kZWMua01lc3NhZ2VFeHBlY3RzUmVzcG9uc2UsIDApOwotICAgICAgYnVpbGRlci5lbmNv
ZGVTdHJ1Y3QoVXNiRGV2aWNlX0NsYWltSW50ZXJmYWNlX1BhcmFtcywgcGFyYW1zXyk7Ci0gICAg
ICB2YXIgbWVzc2FnZSA9IGJ1aWxkZXIuZmluaXNoKCk7Ci0gICAgICB0aGlzLnJlY2VpdmVyXy5h
Y2NlcHRBbmRFeHBlY3RSZXNwb25zZShtZXNzYWdlKS50aGVuKGZ1bmN0aW9uKG1lc3NhZ2UpIHsK
LSAgICAgICAgdmFyIHJlYWRlciA9IG5ldyBjb2RlYy5NZXNzYWdlUmVhZGVyKG1lc3NhZ2UpOwot
ICAgICAgICB2YXIgcmVzcG9uc2VQYXJhbXMgPQotICAgICAgICAgICAgcmVhZGVyLmRlY29kZVN0
cnVjdChVc2JEZXZpY2VfQ2xhaW1JbnRlcmZhY2VfUmVzcG9uc2VQYXJhbXMpOwotICAgICAgICBy
ZXNvbHZlKHJlc3BvbnNlUGFyYW1zKTsKLSAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uKHJlc3VsdCkg
ewotICAgICAgICByZWplY3QoRXJyb3IoIkNvbm5lY3Rpb24gZXJyb3I6ICIgKyByZXN1bHQpKTsK
LSAgICAgIH0pOwotICAgIH0uYmluZCh0aGlzKSk7Ci0gIH07Ci0gIFVzYkRldmljZVB0ci5wcm90
b3R5cGUucmVsZWFzZUludGVyZmFjZSA9IGZ1bmN0aW9uKCkgewotICAgIHJldHVybiBVc2JEZXZp
Y2VQcm94eS5wcm90b3R5cGUucmVsZWFzZUludGVyZmFjZQotICAgICAgICAuYXBwbHkodGhpcy5w
dHIuZ2V0UHJveHkoKSwgYXJndW1lbnRzKTsKLSAgfTsKLQotICBVc2JEZXZpY2VQcm94eS5wcm90
b3R5cGUucmVsZWFzZUludGVyZmFjZSA9IGZ1bmN0aW9uKGludGVyZmFjZU51bWJlcikgewotICAg
IHZhciBwYXJhbXNfID0gbmV3IFVzYkRldmljZV9SZWxlYXNlSW50ZXJmYWNlX1BhcmFtcygpOwot
ICAgIHBhcmFtc18uaW50ZXJmYWNlTnVtYmVyID0gaW50ZXJmYWNlTnVtYmVyOwotICAgIHJldHVy
biBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKLSAgICAgIHZhciBidWls
ZGVyID0gbmV3IGNvZGVjLk1lc3NhZ2VWMUJ1aWxkZXIoCi0gICAgICAgICAga1VzYkRldmljZV9S
ZWxlYXNlSW50ZXJmYWNlX05hbWUsCi0gICAgICAgICAgY29kZWMuYWxpZ24oVXNiRGV2aWNlX1Jl
bGVhc2VJbnRlcmZhY2VfUGFyYW1zLmVuY29kZWRTaXplKSwKLSAgICAgICAgICBjb2RlYy5rTWVz
c2FnZUV4cGVjdHNSZXNwb25zZSwgMCk7Ci0gICAgICBidWlsZGVyLmVuY29kZVN0cnVjdChVc2JE
ZXZpY2VfUmVsZWFzZUludGVyZmFjZV9QYXJhbXMsIHBhcmFtc18pOwotICAgICAgdmFyIG1lc3Nh
Z2UgPSBidWlsZGVyLmZpbmlzaCgpOwotICAgICAgdGhpcy5yZWNlaXZlcl8uYWNjZXB0QW5kRXhw
ZWN0UmVzcG9uc2UobWVzc2FnZSkudGhlbihmdW5jdGlvbihtZXNzYWdlKSB7Ci0gICAgICAgIHZh
ciByZWFkZXIgPSBuZXcgY29kZWMuTWVzc2FnZVJlYWRlcihtZXNzYWdlKTsKLSAgICAgICAgdmFy
IHJlc3BvbnNlUGFyYW1zID0KLSAgICAgICAgICAgIHJlYWRlci5kZWNvZGVTdHJ1Y3QoVXNiRGV2
aWNlX1JlbGVhc2VJbnRlcmZhY2VfUmVzcG9uc2VQYXJhbXMpOwotICAgICAgICByZXNvbHZlKHJl
c3BvbnNlUGFyYW1zKTsKLSAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uKHJlc3VsdCkgewotICAgICAg
ICByZWplY3QoRXJyb3IoIkNvbm5lY3Rpb24gZXJyb3I6ICIgKyByZXN1bHQpKTsKLSAgICAgIH0p
OwotICAgIH0uYmluZCh0aGlzKSk7Ci0gIH07Ci0gIFVzYkRldmljZVB0ci5wcm90b3R5cGUuc2V0
SW50ZXJmYWNlQWx0ZXJuYXRlU2V0dGluZyA9IGZ1bmN0aW9uKCkgewotICAgIHJldHVybiBVc2JE
ZXZpY2VQcm94eS5wcm90b3R5cGUuc2V0SW50ZXJmYWNlQWx0ZXJuYXRlU2V0dGluZwotICAgICAg
ICAuYXBwbHkodGhpcy5wdHIuZ2V0UHJveHkoKSwgYXJndW1lbnRzKTsKLSAgfTsKLQotICBVc2JE
ZXZpY2VQcm94eS5wcm90b3R5cGUuc2V0SW50ZXJmYWNlQWx0ZXJuYXRlU2V0dGluZyA9IGZ1bmN0
aW9uKGludGVyZmFjZU51bWJlciwgYWx0ZXJuYXRlU2V0dGluZykgewotICAgIHZhciBwYXJhbXNf
ID0gbmV3IFVzYkRldmljZV9TZXRJbnRlcmZhY2VBbHRlcm5hdGVTZXR0aW5nX1BhcmFtcygpOwot
ICAgIHBhcmFtc18uaW50ZXJmYWNlTnVtYmVyID0gaW50ZXJmYWNlTnVtYmVyOwotICAgIHBhcmFt
c18uYWx0ZXJuYXRlU2V0dGluZyA9IGFsdGVybmF0ZVNldHRpbmc7Ci0gICAgcmV0dXJuIG5ldyBQ
cm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewotICAgICAgdmFyIGJ1aWxkZXIgPSBu
ZXcgY29kZWMuTWVzc2FnZVYxQnVpbGRlcigKLSAgICAgICAgICBrVXNiRGV2aWNlX1NldEludGVy
ZmFjZUFsdGVybmF0ZVNldHRpbmdfTmFtZSwKLSAgICAgICAgICBjb2RlYy5hbGlnbihVc2JEZXZp
Y2VfU2V0SW50ZXJmYWNlQWx0ZXJuYXRlU2V0dGluZ19QYXJhbXMuZW5jb2RlZFNpemUpLAotICAg
ICAgICAgIGNvZGVjLmtNZXNzYWdlRXhwZWN0c1Jlc3BvbnNlLCAwKTsKLSAgICAgIGJ1aWxkZXIu
ZW5jb2RlU3RydWN0KFVzYkRldmljZV9TZXRJbnRlcmZhY2VBbHRlcm5hdGVTZXR0aW5nX1BhcmFt
cywgcGFyYW1zXyk7Ci0gICAgICB2YXIgbWVzc2FnZSA9IGJ1aWxkZXIuZmluaXNoKCk7Ci0gICAg
ICB0aGlzLnJlY2VpdmVyXy5hY2NlcHRBbmRFeHBlY3RSZXNwb25zZShtZXNzYWdlKS50aGVuKGZ1
bmN0aW9uKG1lc3NhZ2UpIHsKLSAgICAgICAgdmFyIHJlYWRlciA9IG5ldyBjb2RlYy5NZXNzYWdl
UmVhZGVyKG1lc3NhZ2UpOwotICAgICAgICB2YXIgcmVzcG9uc2VQYXJhbXMgPQotICAgICAgICAg
ICAgcmVhZGVyLmRlY29kZVN0cnVjdChVc2JEZXZpY2VfU2V0SW50ZXJmYWNlQWx0ZXJuYXRlU2V0
dGluZ19SZXNwb25zZVBhcmFtcyk7Ci0gICAgICAgIHJlc29sdmUocmVzcG9uc2VQYXJhbXMpOwot
ICAgICAgfSkuY2F0Y2goZnVuY3Rpb24ocmVzdWx0KSB7Ci0gICAgICAgIHJlamVjdChFcnJvcigi
Q29ubmVjdGlvbiBlcnJvcjogIiArIHJlc3VsdCkpOwotICAgICAgfSk7Ci0gICAgfS5iaW5kKHRo
aXMpKTsKLSAgfTsKLSAgVXNiRGV2aWNlUHRyLnByb3RvdHlwZS5yZXNldCA9IGZ1bmN0aW9uKCkg
ewotICAgIHJldHVybiBVc2JEZXZpY2VQcm94eS5wcm90b3R5cGUucmVzZXQKLSAgICAgICAgLmFw
cGx5KHRoaXMucHRyLmdldFByb3h5KCksIGFyZ3VtZW50cyk7Ci0gIH07Ci0KLSAgVXNiRGV2aWNl
UHJveHkucHJvdG90eXBlLnJlc2V0ID0gZnVuY3Rpb24oKSB7Ci0gICAgdmFyIHBhcmFtc18gPSBu
ZXcgVXNiRGV2aWNlX1Jlc2V0X1BhcmFtcygpOwotICAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5j
dGlvbihyZXNvbHZlLCByZWplY3QpIHsKLSAgICAgIHZhciBidWlsZGVyID0gbmV3IGNvZGVjLk1l
c3NhZ2VWMUJ1aWxkZXIoCi0gICAgICAgICAga1VzYkRldmljZV9SZXNldF9OYW1lLAotICAgICAg
ICAgIGNvZGVjLmFsaWduKFVzYkRldmljZV9SZXNldF9QYXJhbXMuZW5jb2RlZFNpemUpLAotICAg
ICAgICAgIGNvZGVjLmtNZXNzYWdlRXhwZWN0c1Jlc3BvbnNlLCAwKTsKLSAgICAgIGJ1aWxkZXIu
ZW5jb2RlU3RydWN0KFVzYkRldmljZV9SZXNldF9QYXJhbXMsIHBhcmFtc18pOwotICAgICAgdmFy
IG1lc3NhZ2UgPSBidWlsZGVyLmZpbmlzaCgpOwotICAgICAgdGhpcy5yZWNlaXZlcl8uYWNjZXB0
QW5kRXhwZWN0UmVzcG9uc2UobWVzc2FnZSkudGhlbihmdW5jdGlvbihtZXNzYWdlKSB7Ci0gICAg
ICAgIHZhciByZWFkZXIgPSBuZXcgY29kZWMuTWVzc2FnZVJlYWRlcihtZXNzYWdlKTsKLSAgICAg
ICAgdmFyIHJlc3BvbnNlUGFyYW1zID0KLSAgICAgICAgICAgIHJlYWRlci5kZWNvZGVTdHJ1Y3Qo
VXNiRGV2aWNlX1Jlc2V0X1Jlc3BvbnNlUGFyYW1zKTsKLSAgICAgICAgcmVzb2x2ZShyZXNwb25z
ZVBhcmFtcyk7Ci0gICAgICB9KS5jYXRjaChmdW5jdGlvbihyZXN1bHQpIHsKLSAgICAgICAgcmVq
ZWN0KEVycm9yKCJDb25uZWN0aW9uIGVycm9yOiAiICsgcmVzdWx0KSk7Ci0gICAgICB9KTsKLSAg
ICB9LmJpbmQodGhpcykpOwotICB9OwotICBVc2JEZXZpY2VQdHIucHJvdG90eXBlLmNsZWFySGFs
dCA9IGZ1bmN0aW9uKCkgewotICAgIHJldHVybiBVc2JEZXZpY2VQcm94eS5wcm90b3R5cGUuY2xl
YXJIYWx0Ci0gICAgICAgIC5hcHBseSh0aGlzLnB0ci5nZXRQcm94eSgpLCBhcmd1bWVudHMpOwot
ICB9OwotCi0gIFVzYkRldmljZVByb3h5LnByb3RvdHlwZS5jbGVhckhhbHQgPSBmdW5jdGlvbihl
bmRwb2ludCkgewotICAgIHZhciBwYXJhbXNfID0gbmV3IFVzYkRldmljZV9DbGVhckhhbHRfUGFy
YW1zKCk7Ci0gICAgcGFyYW1zXy5lbmRwb2ludCA9IGVuZHBvaW50OwotICAgIHJldHVybiBuZXcg
UHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKLSAgICAgIHZhciBidWlsZGVyID0g
bmV3IGNvZGVjLk1lc3NhZ2VWMUJ1aWxkZXIoCi0gICAgICAgICAga1VzYkRldmljZV9DbGVhckhh
bHRfTmFtZSwKLSAgICAgICAgICBjb2RlYy5hbGlnbihVc2JEZXZpY2VfQ2xlYXJIYWx0X1BhcmFt
cy5lbmNvZGVkU2l6ZSksCi0gICAgICAgICAgY29kZWMua01lc3NhZ2VFeHBlY3RzUmVzcG9uc2Us
IDApOwotICAgICAgYnVpbGRlci5lbmNvZGVTdHJ1Y3QoVXNiRGV2aWNlX0NsZWFySGFsdF9QYXJh
bXMsIHBhcmFtc18pOwotICAgICAgdmFyIG1lc3NhZ2UgPSBidWlsZGVyLmZpbmlzaCgpOwotICAg
ICAgdGhpcy5yZWNlaXZlcl8uYWNjZXB0QW5kRXhwZWN0UmVzcG9uc2UobWVzc2FnZSkudGhlbihm
dW5jdGlvbihtZXNzYWdlKSB7Ci0gICAgICAgIHZhciByZWFkZXIgPSBuZXcgY29kZWMuTWVzc2Fn
ZVJlYWRlcihtZXNzYWdlKTsKLSAgICAgICAgdmFyIHJlc3BvbnNlUGFyYW1zID0KLSAgICAgICAg
ICAgIHJlYWRlci5kZWNvZGVTdHJ1Y3QoVXNiRGV2aWNlX0NsZWFySGFsdF9SZXNwb25zZVBhcmFt
cyk7Ci0gICAgICAgIHJlc29sdmUocmVzcG9uc2VQYXJhbXMpOwotICAgICAgfSkuY2F0Y2goZnVu
Y3Rpb24ocmVzdWx0KSB7Ci0gICAgICAgIHJlamVjdChFcnJvcigiQ29ubmVjdGlvbiBlcnJvcjog
IiArIHJlc3VsdCkpOwotICAgICAgfSk7Ci0gICAgfS5iaW5kKHRoaXMpKTsKLSAgfTsKLSAgVXNi
RGV2aWNlUHRyLnByb3RvdHlwZS5jb250cm9sVHJhbnNmZXJJbiA9IGZ1bmN0aW9uKCkgewotICAg
IHJldHVybiBVc2JEZXZpY2VQcm94eS5wcm90b3R5cGUuY29udHJvbFRyYW5zZmVySW4KLSAgICAg
ICAgLmFwcGx5KHRoaXMucHRyLmdldFByb3h5KCksIGFyZ3VtZW50cyk7Ci0gIH07Ci0KLSAgVXNi
RGV2aWNlUHJveHkucHJvdG90eXBlLmNvbnRyb2xUcmFuc2ZlckluID0gZnVuY3Rpb24ocGFyYW1z
LCBsZW5ndGgsIHRpbWVvdXQpIHsKLSAgICB2YXIgcGFyYW1zXyA9IG5ldyBVc2JEZXZpY2VfQ29u
dHJvbFRyYW5zZmVySW5fUGFyYW1zKCk7Ci0gICAgcGFyYW1zXy5wYXJhbXMgPSBwYXJhbXM7Ci0g
ICAgcGFyYW1zXy5sZW5ndGggPSBsZW5ndGg7Ci0gICAgcGFyYW1zXy50aW1lb3V0ID0gdGltZW91
dDsKLSAgICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7Ci0g
ICAgICB2YXIgYnVpbGRlciA9IG5ldyBjb2RlYy5NZXNzYWdlVjFCdWlsZGVyKAotICAgICAgICAg
IGtVc2JEZXZpY2VfQ29udHJvbFRyYW5zZmVySW5fTmFtZSwKLSAgICAgICAgICBjb2RlYy5hbGln
bihVc2JEZXZpY2VfQ29udHJvbFRyYW5zZmVySW5fUGFyYW1zLmVuY29kZWRTaXplKSwKLSAgICAg
ICAgICBjb2RlYy5rTWVzc2FnZUV4cGVjdHNSZXNwb25zZSwgMCk7Ci0gICAgICBidWlsZGVyLmVu
Y29kZVN0cnVjdChVc2JEZXZpY2VfQ29udHJvbFRyYW5zZmVySW5fUGFyYW1zLCBwYXJhbXNfKTsK
LSAgICAgIHZhciBtZXNzYWdlID0gYnVpbGRlci5maW5pc2goKTsKLSAgICAgIHRoaXMucmVjZWl2
ZXJfLmFjY2VwdEFuZEV4cGVjdFJlc3BvbnNlKG1lc3NhZ2UpLnRoZW4oZnVuY3Rpb24obWVzc2Fn
ZSkgewotICAgICAgICB2YXIgcmVhZGVyID0gbmV3IGNvZGVjLk1lc3NhZ2VSZWFkZXIobWVzc2Fn
ZSk7Ci0gICAgICAgIHZhciByZXNwb25zZVBhcmFtcyA9Ci0gICAgICAgICAgICByZWFkZXIuZGVj
b2RlU3RydWN0KFVzYkRldmljZV9Db250cm9sVHJhbnNmZXJJbl9SZXNwb25zZVBhcmFtcyk7Ci0g
ICAgICAgIHJlc29sdmUocmVzcG9uc2VQYXJhbXMpOwotICAgICAgfSkuY2F0Y2goZnVuY3Rpb24o
cmVzdWx0KSB7Ci0gICAgICAgIHJlamVjdChFcnJvcigiQ29ubmVjdGlvbiBlcnJvcjogIiArIHJl
c3VsdCkpOwotICAgICAgfSk7Ci0gICAgfS5iaW5kKHRoaXMpKTsKLSAgfTsKLSAgVXNiRGV2aWNl
UHRyLnByb3RvdHlwZS5jb250cm9sVHJhbnNmZXJPdXQgPSBmdW5jdGlvbigpIHsKLSAgICByZXR1
cm4gVXNiRGV2aWNlUHJveHkucHJvdG90eXBlLmNvbnRyb2xUcmFuc2Zlck91dAotICAgICAgICAu
YXBwbHkodGhpcy5wdHIuZ2V0UHJveHkoKSwgYXJndW1lbnRzKTsKLSAgfTsKLQotICBVc2JEZXZp
Y2VQcm94eS5wcm90b3R5cGUuY29udHJvbFRyYW5zZmVyT3V0ID0gZnVuY3Rpb24ocGFyYW1zLCBk
YXRhLCB0aW1lb3V0KSB7Ci0gICAgdmFyIHBhcmFtc18gPSBuZXcgVXNiRGV2aWNlX0NvbnRyb2xU
cmFuc2Zlck91dF9QYXJhbXMoKTsKLSAgICBwYXJhbXNfLnBhcmFtcyA9IHBhcmFtczsKLSAgICBw
YXJhbXNfLmRhdGEgPSBkYXRhOwotICAgIHBhcmFtc18udGltZW91dCA9IHRpbWVvdXQ7Ci0gICAg
cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewotICAgICAgdmFy
IGJ1aWxkZXIgPSBuZXcgY29kZWMuTWVzc2FnZVYxQnVpbGRlcigKLSAgICAgICAgICBrVXNiRGV2
aWNlX0NvbnRyb2xUcmFuc2Zlck91dF9OYW1lLAotICAgICAgICAgIGNvZGVjLmFsaWduKFVzYkRl
dmljZV9Db250cm9sVHJhbnNmZXJPdXRfUGFyYW1zLmVuY29kZWRTaXplKSwKLSAgICAgICAgICBj
b2RlYy5rTWVzc2FnZUV4cGVjdHNSZXNwb25zZSwgMCk7Ci0gICAgICBidWlsZGVyLmVuY29kZVN0
cnVjdChVc2JEZXZpY2VfQ29udHJvbFRyYW5zZmVyT3V0X1BhcmFtcywgcGFyYW1zXyk7Ci0gICAg
ICB2YXIgbWVzc2FnZSA9IGJ1aWxkZXIuZmluaXNoKCk7Ci0gICAgICB0aGlzLnJlY2VpdmVyXy5h
Y2NlcHRBbmRFeHBlY3RSZXNwb25zZShtZXNzYWdlKS50aGVuKGZ1bmN0aW9uKG1lc3NhZ2UpIHsK
LSAgICAgICAgdmFyIHJlYWRlciA9IG5ldyBjb2RlYy5NZXNzYWdlUmVhZGVyKG1lc3NhZ2UpOwot
ICAgICAgICB2YXIgcmVzcG9uc2VQYXJhbXMgPQotICAgICAgICAgICAgcmVhZGVyLmRlY29kZVN0
cnVjdChVc2JEZXZpY2VfQ29udHJvbFRyYW5zZmVyT3V0X1Jlc3BvbnNlUGFyYW1zKTsKLSAgICAg
ICAgcmVzb2x2ZShyZXNwb25zZVBhcmFtcyk7Ci0gICAgICB9KS5jYXRjaChmdW5jdGlvbihyZXN1
bHQpIHsKLSAgICAgICAgcmVqZWN0KEVycm9yKCJDb25uZWN0aW9uIGVycm9yOiAiICsgcmVzdWx0
KSk7Ci0gICAgICB9KTsKLSAgICB9LmJpbmQodGhpcykpOwotICB9OwotICBVc2JEZXZpY2VQdHIu
cHJvdG90eXBlLmdlbmVyaWNUcmFuc2ZlckluID0gZnVuY3Rpb24oKSB7Ci0gICAgcmV0dXJuIFVz
YkRldmljZVByb3h5LnByb3RvdHlwZS5nZW5lcmljVHJhbnNmZXJJbgotICAgICAgICAuYXBwbHko
dGhpcy5wdHIuZ2V0UHJveHkoKSwgYXJndW1lbnRzKTsKLSAgfTsKLQotICBVc2JEZXZpY2VQcm94
eS5wcm90b3R5cGUuZ2VuZXJpY1RyYW5zZmVySW4gPSBmdW5jdGlvbihlbmRwb2ludE51bWJlciwg
bGVuZ3RoLCB0aW1lb3V0KSB7Ci0gICAgdmFyIHBhcmFtc18gPSBuZXcgVXNiRGV2aWNlX0dlbmVy
aWNUcmFuc2ZlckluX1BhcmFtcygpOwotICAgIHBhcmFtc18uZW5kcG9pbnROdW1iZXIgPSBlbmRw
b2ludE51bWJlcjsKLSAgICBwYXJhbXNfLmxlbmd0aCA9IGxlbmd0aDsKLSAgICBwYXJhbXNfLnRp
bWVvdXQgPSB0aW1lb3V0OwotICAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZl
LCByZWplY3QpIHsKLSAgICAgIHZhciBidWlsZGVyID0gbmV3IGNvZGVjLk1lc3NhZ2VWMUJ1aWxk
ZXIoCi0gICAgICAgICAga1VzYkRldmljZV9HZW5lcmljVHJhbnNmZXJJbl9OYW1lLAotICAgICAg
ICAgIGNvZGVjLmFsaWduKFVzYkRldmljZV9HZW5lcmljVHJhbnNmZXJJbl9QYXJhbXMuZW5jb2Rl
ZFNpemUpLAotICAgICAgICAgIGNvZGVjLmtNZXNzYWdlRXhwZWN0c1Jlc3BvbnNlLCAwKTsKLSAg
ICAgIGJ1aWxkZXIuZW5jb2RlU3RydWN0KFVzYkRldmljZV9HZW5lcmljVHJhbnNmZXJJbl9QYXJh
bXMsIHBhcmFtc18pOwotICAgICAgdmFyIG1lc3NhZ2UgPSBidWlsZGVyLmZpbmlzaCgpOwotICAg
ICAgdGhpcy5yZWNlaXZlcl8uYWNjZXB0QW5kRXhwZWN0UmVzcG9uc2UobWVzc2FnZSkudGhlbihm
dW5jdGlvbihtZXNzYWdlKSB7Ci0gICAgICAgIHZhciByZWFkZXIgPSBuZXcgY29kZWMuTWVzc2Fn
ZVJlYWRlcihtZXNzYWdlKTsKLSAgICAgICAgdmFyIHJlc3BvbnNlUGFyYW1zID0KLSAgICAgICAg
ICAgIHJlYWRlci5kZWNvZGVTdHJ1Y3QoVXNiRGV2aWNlX0dlbmVyaWNUcmFuc2ZlckluX1Jlc3Bv
bnNlUGFyYW1zKTsKLSAgICAgICAgcmVzb2x2ZShyZXNwb25zZVBhcmFtcyk7Ci0gICAgICB9KS5j
YXRjaChmdW5jdGlvbihyZXN1bHQpIHsKLSAgICAgICAgcmVqZWN0KEVycm9yKCJDb25uZWN0aW9u
IGVycm9yOiAiICsgcmVzdWx0KSk7Ci0gICAgICB9KTsKLSAgICB9LmJpbmQodGhpcykpOwotICB9
OwotICBVc2JEZXZpY2VQdHIucHJvdG90eXBlLmdlbmVyaWNUcmFuc2Zlck91dCA9IGZ1bmN0aW9u
KCkgewotICAgIHJldHVybiBVc2JEZXZpY2VQcm94eS5wcm90b3R5cGUuZ2VuZXJpY1RyYW5zZmVy
T3V0Ci0gICAgICAgIC5hcHBseSh0aGlzLnB0ci5nZXRQcm94eSgpLCBhcmd1bWVudHMpOwotICB9
OwotCi0gIFVzYkRldmljZVByb3h5LnByb3RvdHlwZS5nZW5lcmljVHJhbnNmZXJPdXQgPSBmdW5j
dGlvbihlbmRwb2ludE51bWJlciwgZGF0YSwgdGltZW91dCkgewotICAgIHZhciBwYXJhbXNfID0g
bmV3IFVzYkRldmljZV9HZW5lcmljVHJhbnNmZXJPdXRfUGFyYW1zKCk7Ci0gICAgcGFyYW1zXy5l
bmRwb2ludE51bWJlciA9IGVuZHBvaW50TnVtYmVyOwotICAgIHBhcmFtc18uZGF0YSA9IGRhdGE7
Ci0gICAgcGFyYW1zXy50aW1lb3V0ID0gdGltZW91dDsKLSAgICByZXR1cm4gbmV3IFByb21pc2Uo
ZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7Ci0gICAgICB2YXIgYnVpbGRlciA9IG5ldyBjb2Rl
Yy5NZXNzYWdlVjFCdWlsZGVyKAotICAgICAgICAgIGtVc2JEZXZpY2VfR2VuZXJpY1RyYW5zZmVy
T3V0X05hbWUsCi0gICAgICAgICAgY29kZWMuYWxpZ24oVXNiRGV2aWNlX0dlbmVyaWNUcmFuc2Zl
ck91dF9QYXJhbXMuZW5jb2RlZFNpemUpLAotICAgICAgICAgIGNvZGVjLmtNZXNzYWdlRXhwZWN0
c1Jlc3BvbnNlLCAwKTsKLSAgICAgIGJ1aWxkZXIuZW5jb2RlU3RydWN0KFVzYkRldmljZV9HZW5l
cmljVHJhbnNmZXJPdXRfUGFyYW1zLCBwYXJhbXNfKTsKLSAgICAgIHZhciBtZXNzYWdlID0gYnVp
bGRlci5maW5pc2goKTsKLSAgICAgIHRoaXMucmVjZWl2ZXJfLmFjY2VwdEFuZEV4cGVjdFJlc3Bv
bnNlKG1lc3NhZ2UpLnRoZW4oZnVuY3Rpb24obWVzc2FnZSkgewotICAgICAgICB2YXIgcmVhZGVy
ID0gbmV3IGNvZGVjLk1lc3NhZ2VSZWFkZXIobWVzc2FnZSk7Ci0gICAgICAgIHZhciByZXNwb25z
ZVBhcmFtcyA9Ci0gICAgICAgICAgICByZWFkZXIuZGVjb2RlU3RydWN0KFVzYkRldmljZV9HZW5l
cmljVHJhbnNmZXJPdXRfUmVzcG9uc2VQYXJhbXMpOwotICAgICAgICByZXNvbHZlKHJlc3BvbnNl
UGFyYW1zKTsKLSAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uKHJlc3VsdCkgewotICAgICAgICByZWpl
Y3QoRXJyb3IoIkNvbm5lY3Rpb24gZXJyb3I6ICIgKyByZXN1bHQpKTsKLSAgICAgIH0pOwotICAg
IH0uYmluZCh0aGlzKSk7Ci0gIH07Ci0gIFVzYkRldmljZVB0ci5wcm90b3R5cGUuaXNvY2hyb25v
dXNUcmFuc2ZlckluID0gZnVuY3Rpb24oKSB7Ci0gICAgcmV0dXJuIFVzYkRldmljZVByb3h5LnBy
b3RvdHlwZS5pc29jaHJvbm91c1RyYW5zZmVySW4KLSAgICAgICAgLmFwcGx5KHRoaXMucHRyLmdl
dFByb3h5KCksIGFyZ3VtZW50cyk7Ci0gIH07Ci0KLSAgVXNiRGV2aWNlUHJveHkucHJvdG90eXBl
Lmlzb2Nocm9ub3VzVHJhbnNmZXJJbiA9IGZ1bmN0aW9uKGVuZHBvaW50TnVtYmVyLCBwYWNrZXRM
ZW5ndGhzLCB0aW1lb3V0KSB7Ci0gICAgdmFyIHBhcmFtc18gPSBuZXcgVXNiRGV2aWNlX0lzb2No
cm9ub3VzVHJhbnNmZXJJbl9QYXJhbXMoKTsKLSAgICBwYXJhbXNfLmVuZHBvaW50TnVtYmVyID0g
ZW5kcG9pbnROdW1iZXI7Ci0gICAgcGFyYW1zXy5wYWNrZXRMZW5ndGhzID0gcGFja2V0TGVuZ3Ro
czsKLSAgICBwYXJhbXNfLnRpbWVvdXQgPSB0aW1lb3V0OwotICAgIHJldHVybiBuZXcgUHJvbWlz
ZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKLSAgICAgIHZhciBidWlsZGVyID0gbmV3IGNv
ZGVjLk1lc3NhZ2VWMUJ1aWxkZXIoCi0gICAgICAgICAga1VzYkRldmljZV9Jc29jaHJvbm91c1Ry
YW5zZmVySW5fTmFtZSwKLSAgICAgICAgICBjb2RlYy5hbGlnbihVc2JEZXZpY2VfSXNvY2hyb25v
dXNUcmFuc2ZlckluX1BhcmFtcy5lbmNvZGVkU2l6ZSksCi0gICAgICAgICAgY29kZWMua01lc3Nh
Z2VFeHBlY3RzUmVzcG9uc2UsIDApOwotICAgICAgYnVpbGRlci5lbmNvZGVTdHJ1Y3QoVXNiRGV2
aWNlX0lzb2Nocm9ub3VzVHJhbnNmZXJJbl9QYXJhbXMsIHBhcmFtc18pOwotICAgICAgdmFyIG1l
c3NhZ2UgPSBidWlsZGVyLmZpbmlzaCgpOwotICAgICAgdGhpcy5yZWNlaXZlcl8uYWNjZXB0QW5k
RXhwZWN0UmVzcG9uc2UobWVzc2FnZSkudGhlbihmdW5jdGlvbihtZXNzYWdlKSB7Ci0gICAgICAg
IHZhciByZWFkZXIgPSBuZXcgY29kZWMuTWVzc2FnZVJlYWRlcihtZXNzYWdlKTsKLSAgICAgICAg
dmFyIHJlc3BvbnNlUGFyYW1zID0KLSAgICAgICAgICAgIHJlYWRlci5kZWNvZGVTdHJ1Y3QoVXNi
RGV2aWNlX0lzb2Nocm9ub3VzVHJhbnNmZXJJbl9SZXNwb25zZVBhcmFtcyk7Ci0gICAgICAgIHJl
c29sdmUocmVzcG9uc2VQYXJhbXMpOwotICAgICAgfSkuY2F0Y2goZnVuY3Rpb24ocmVzdWx0KSB7
Ci0gICAgICAgIHJlamVjdChFcnJvcigiQ29ubmVjdGlvbiBlcnJvcjogIiArIHJlc3VsdCkpOwot
ICAgICAgfSk7Ci0gICAgfS5iaW5kKHRoaXMpKTsKLSAgfTsKLSAgVXNiRGV2aWNlUHRyLnByb3Rv
dHlwZS5pc29jaHJvbm91c1RyYW5zZmVyT3V0ID0gZnVuY3Rpb24oKSB7Ci0gICAgcmV0dXJuIFVz
YkRldmljZVByb3h5LnByb3RvdHlwZS5pc29jaHJvbm91c1RyYW5zZmVyT3V0Ci0gICAgICAgIC5h
cHBseSh0aGlzLnB0ci5nZXRQcm94eSgpLCBhcmd1bWVudHMpOwotICB9OwotCi0gIFVzYkRldmlj
ZVByb3h5LnByb3RvdHlwZS5pc29jaHJvbm91c1RyYW5zZmVyT3V0ID0gZnVuY3Rpb24oZW5kcG9p
bnROdW1iZXIsIGRhdGEsIHBhY2tldExlbmd0aHMsIHRpbWVvdXQpIHsKLSAgICB2YXIgcGFyYW1z
XyA9IG5ldyBVc2JEZXZpY2VfSXNvY2hyb25vdXNUcmFuc2Zlck91dF9QYXJhbXMoKTsKLSAgICBw
YXJhbXNfLmVuZHBvaW50TnVtYmVyID0gZW5kcG9pbnROdW1iZXI7Ci0gICAgcGFyYW1zXy5kYXRh
ID0gZGF0YTsKLSAgICBwYXJhbXNfLnBhY2tldExlbmd0aHMgPSBwYWNrZXRMZW5ndGhzOwotICAg
IHBhcmFtc18udGltZW91dCA9IHRpbWVvdXQ7Ci0gICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0
aW9uKHJlc29sdmUsIHJlamVjdCkgewotICAgICAgdmFyIGJ1aWxkZXIgPSBuZXcgY29kZWMuTWVz
c2FnZVYxQnVpbGRlcigKLSAgICAgICAgICBrVXNiRGV2aWNlX0lzb2Nocm9ub3VzVHJhbnNmZXJP
dXRfTmFtZSwKLSAgICAgICAgICBjb2RlYy5hbGlnbihVc2JEZXZpY2VfSXNvY2hyb25vdXNUcmFu
c2Zlck91dF9QYXJhbXMuZW5jb2RlZFNpemUpLAotICAgICAgICAgIGNvZGVjLmtNZXNzYWdlRXhw
ZWN0c1Jlc3BvbnNlLCAwKTsKLSAgICAgIGJ1aWxkZXIuZW5jb2RlU3RydWN0KFVzYkRldmljZV9J
c29jaHJvbm91c1RyYW5zZmVyT3V0X1BhcmFtcywgcGFyYW1zXyk7Ci0gICAgICB2YXIgbWVzc2Fn
ZSA9IGJ1aWxkZXIuZmluaXNoKCk7Ci0gICAgICB0aGlzLnJlY2VpdmVyXy5hY2NlcHRBbmRFeHBl
Y3RSZXNwb25zZShtZXNzYWdlKS50aGVuKGZ1bmN0aW9uKG1lc3NhZ2UpIHsKLSAgICAgICAgdmFy
IHJlYWRlciA9IG5ldyBjb2RlYy5NZXNzYWdlUmVhZGVyKG1lc3NhZ2UpOwotICAgICAgICB2YXIg
cmVzcG9uc2VQYXJhbXMgPQotICAgICAgICAgICAgcmVhZGVyLmRlY29kZVN0cnVjdChVc2JEZXZp
Y2VfSXNvY2hyb25vdXNUcmFuc2Zlck91dF9SZXNwb25zZVBhcmFtcyk7Ci0gICAgICAgIHJlc29s
dmUocmVzcG9uc2VQYXJhbXMpOwotICAgICAgfSkuY2F0Y2goZnVuY3Rpb24ocmVzdWx0KSB7Ci0g
ICAgICAgIHJlamVjdChFcnJvcigiQ29ubmVjdGlvbiBlcnJvcjogIiArIHJlc3VsdCkpOwotICAg
ICAgfSk7Ci0gICAgfS5iaW5kKHRoaXMpKTsKLSAgfTsKLQotICBmdW5jdGlvbiBVc2JEZXZpY2VT
dHViKGRlbGVnYXRlKSB7Ci0gICAgdGhpcy5kZWxlZ2F0ZV8gPSBkZWxlZ2F0ZTsKLSAgfQotICBV
c2JEZXZpY2VTdHViLnByb3RvdHlwZS5vcGVuID0gZnVuY3Rpb24oKSB7Ci0gICAgcmV0dXJuIHRo
aXMuZGVsZWdhdGVfICYmIHRoaXMuZGVsZWdhdGVfLm9wZW4gJiYgdGhpcy5kZWxlZ2F0ZV8ub3Bl
bigpOwotICB9Ci0gIFVzYkRldmljZVN0dWIucHJvdG90eXBlLmNsb3NlID0gZnVuY3Rpb24oKSB7
Ci0gICAgcmV0dXJuIHRoaXMuZGVsZWdhdGVfICYmIHRoaXMuZGVsZWdhdGVfLmNsb3NlICYmIHRo
aXMuZGVsZWdhdGVfLmNsb3NlKCk7Ci0gIH0KLSAgVXNiRGV2aWNlU3R1Yi5wcm90b3R5cGUuc2V0
Q29uZmlndXJhdGlvbiA9IGZ1bmN0aW9uKHZhbHVlKSB7Ci0gICAgcmV0dXJuIHRoaXMuZGVsZWdh
dGVfICYmIHRoaXMuZGVsZWdhdGVfLnNldENvbmZpZ3VyYXRpb24gJiYgdGhpcy5kZWxlZ2F0ZV8u
c2V0Q29uZmlndXJhdGlvbih2YWx1ZSk7Ci0gIH0KLSAgVXNiRGV2aWNlU3R1Yi5wcm90b3R5cGUu
Y2xhaW1JbnRlcmZhY2UgPSBmdW5jdGlvbihpbnRlcmZhY2VOdW1iZXIpIHsKLSAgICByZXR1cm4g
dGhpcy5kZWxlZ2F0ZV8gJiYgdGhpcy5kZWxlZ2F0ZV8uY2xhaW1JbnRlcmZhY2UgJiYgdGhpcy5k
ZWxlZ2F0ZV8uY2xhaW1JbnRlcmZhY2UoaW50ZXJmYWNlTnVtYmVyKTsKLSAgfQotICBVc2JEZXZp
Y2VTdHViLnByb3RvdHlwZS5yZWxlYXNlSW50ZXJmYWNlID0gZnVuY3Rpb24oaW50ZXJmYWNlTnVt
YmVyKSB7Ci0gICAgcmV0dXJuIHRoaXMuZGVsZWdhdGVfICYmIHRoaXMuZGVsZWdhdGVfLnJlbGVh
c2VJbnRlcmZhY2UgJiYgdGhpcy5kZWxlZ2F0ZV8ucmVsZWFzZUludGVyZmFjZShpbnRlcmZhY2VO
dW1iZXIpOwotICB9Ci0gIFVzYkRldmljZVN0dWIucHJvdG90eXBlLnNldEludGVyZmFjZUFsdGVy
bmF0ZVNldHRpbmcgPSBmdW5jdGlvbihpbnRlcmZhY2VOdW1iZXIsIGFsdGVybmF0ZVNldHRpbmcp
IHsKLSAgICByZXR1cm4gdGhpcy5kZWxlZ2F0ZV8gJiYgdGhpcy5kZWxlZ2F0ZV8uc2V0SW50ZXJm
YWNlQWx0ZXJuYXRlU2V0dGluZyAmJiB0aGlzLmRlbGVnYXRlXy5zZXRJbnRlcmZhY2VBbHRlcm5h
dGVTZXR0aW5nKGludGVyZmFjZU51bWJlciwgYWx0ZXJuYXRlU2V0dGluZyk7Ci0gIH0KLSAgVXNi
RGV2aWNlU3R1Yi5wcm90b3R5cGUucmVzZXQgPSBmdW5jdGlvbigpIHsKLSAgICByZXR1cm4gdGhp
cy5kZWxlZ2F0ZV8gJiYgdGhpcy5kZWxlZ2F0ZV8ucmVzZXQgJiYgdGhpcy5kZWxlZ2F0ZV8ucmVz
ZXQoKTsKLSAgfQotICBVc2JEZXZpY2VTdHViLnByb3RvdHlwZS5jbGVhckhhbHQgPSBmdW5jdGlv
bihlbmRwb2ludCkgewotICAgIHJldHVybiB0aGlzLmRlbGVnYXRlXyAmJiB0aGlzLmRlbGVnYXRl
Xy5jbGVhckhhbHQgJiYgdGhpcy5kZWxlZ2F0ZV8uY2xlYXJIYWx0KGVuZHBvaW50KTsKLSAgfQot
ICBVc2JEZXZpY2VTdHViLnByb3RvdHlwZS5jb250cm9sVHJhbnNmZXJJbiA9IGZ1bmN0aW9uKHBh
cmFtcywgbGVuZ3RoLCB0aW1lb3V0KSB7Ci0gICAgcmV0dXJuIHRoaXMuZGVsZWdhdGVfICYmIHRo
aXMuZGVsZWdhdGVfLmNvbnRyb2xUcmFuc2ZlckluICYmIHRoaXMuZGVsZWdhdGVfLmNvbnRyb2xU
cmFuc2ZlckluKHBhcmFtcywgbGVuZ3RoLCB0aW1lb3V0KTsKLSAgfQotICBVc2JEZXZpY2VTdHVi
LnByb3RvdHlwZS5jb250cm9sVHJhbnNmZXJPdXQgPSBmdW5jdGlvbihwYXJhbXMsIGRhdGEsIHRp
bWVvdXQpIHsKLSAgICByZXR1cm4gdGhpcy5kZWxlZ2F0ZV8gJiYgdGhpcy5kZWxlZ2F0ZV8uY29u
dHJvbFRyYW5zZmVyT3V0ICYmIHRoaXMuZGVsZWdhdGVfLmNvbnRyb2xUcmFuc2Zlck91dChwYXJh
bXMsIGRhdGEsIHRpbWVvdXQpOwotICB9Ci0gIFVzYkRldmljZVN0dWIucHJvdG90eXBlLmdlbmVy
aWNUcmFuc2ZlckluID0gZnVuY3Rpb24oZW5kcG9pbnROdW1iZXIsIGxlbmd0aCwgdGltZW91dCkg
ewotICAgIHJldHVybiB0aGlzLmRlbGVnYXRlXyAmJiB0aGlzLmRlbGVnYXRlXy5nZW5lcmljVHJh
bnNmZXJJbiAmJiB0aGlzLmRlbGVnYXRlXy5nZW5lcmljVHJhbnNmZXJJbihlbmRwb2ludE51bWJl
ciwgbGVuZ3RoLCB0aW1lb3V0KTsKLSAgfQotICBVc2JEZXZpY2VTdHViLnByb3RvdHlwZS5nZW5l
cmljVHJhbnNmZXJPdXQgPSBmdW5jdGlvbihlbmRwb2ludE51bWJlciwgZGF0YSwgdGltZW91dCkg
ewotICAgIHJldHVybiB0aGlzLmRlbGVnYXRlXyAmJiB0aGlzLmRlbGVnYXRlXy5nZW5lcmljVHJh
bnNmZXJPdXQgJiYgdGhpcy5kZWxlZ2F0ZV8uZ2VuZXJpY1RyYW5zZmVyT3V0KGVuZHBvaW50TnVt
YmVyLCBkYXRhLCB0aW1lb3V0KTsKLSAgfQotICBVc2JEZXZpY2VTdHViLnByb3RvdHlwZS5pc29j
aHJvbm91c1RyYW5zZmVySW4gPSBmdW5jdGlvbihlbmRwb2ludE51bWJlciwgcGFja2V0TGVuZ3Ro
cywgdGltZW91dCkgewotICAgIHJldHVybiB0aGlzLmRlbGVnYXRlXyAmJiB0aGlzLmRlbGVnYXRl
Xy5pc29jaHJvbm91c1RyYW5zZmVySW4gJiYgdGhpcy5kZWxlZ2F0ZV8uaXNvY2hyb25vdXNUcmFu
c2ZlckluKGVuZHBvaW50TnVtYmVyLCBwYWNrZXRMZW5ndGhzLCB0aW1lb3V0KTsKLSAgfQotICBV
c2JEZXZpY2VTdHViLnByb3RvdHlwZS5pc29jaHJvbm91c1RyYW5zZmVyT3V0ID0gZnVuY3Rpb24o
ZW5kcG9pbnROdW1iZXIsIGRhdGEsIHBhY2tldExlbmd0aHMsIHRpbWVvdXQpIHsKLSAgICByZXR1
cm4gdGhpcy5kZWxlZ2F0ZV8gJiYgdGhpcy5kZWxlZ2F0ZV8uaXNvY2hyb25vdXNUcmFuc2Zlck91
dCAmJiB0aGlzLmRlbGVnYXRlXy5pc29jaHJvbm91c1RyYW5zZmVyT3V0KGVuZHBvaW50TnVtYmVy
LCBkYXRhLCBwYWNrZXRMZW5ndGhzLCB0aW1lb3V0KTsKLSAgfQotCi0gIFVzYkRldmljZVN0dWIu
cHJvdG90eXBlLmFjY2VwdCA9IGZ1bmN0aW9uKG1lc3NhZ2UpIHsKLSAgICB2YXIgcmVhZGVyID0g
bmV3IGNvZGVjLk1lc3NhZ2VSZWFkZXIobWVzc2FnZSk7Ci0gICAgc3dpdGNoIChyZWFkZXIubWVz
c2FnZU5hbWUpIHsKLSAgICBkZWZhdWx0OgotICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0KLSAg
fTsKLQotICBVc2JEZXZpY2VTdHViLnByb3RvdHlwZS5hY2NlcHRXaXRoUmVzcG9uZGVyID0KLSAg
ICAgIGZ1bmN0aW9uKG1lc3NhZ2UsIHJlc3BvbmRlcikgewotICAgIHZhciByZWFkZXIgPSBuZXcg
Y29kZWMuTWVzc2FnZVJlYWRlcihtZXNzYWdlKTsKLSAgICBzd2l0Y2ggKHJlYWRlci5tZXNzYWdl
TmFtZSkgewotICAgIGNhc2Uga1VzYkRldmljZV9PcGVuX05hbWU6Ci0gICAgICB2YXIgcGFyYW1z
ID0gcmVhZGVyLmRlY29kZVN0cnVjdChVc2JEZXZpY2VfT3Blbl9QYXJhbXMpOwotICAgICAgdGhp
cy5vcGVuKCkudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgICAgICB2YXIgcmVzcG9uc2VQ
YXJhbXMgPQotICAgICAgICAgICAgbmV3IFVzYkRldmljZV9PcGVuX1Jlc3BvbnNlUGFyYW1zKCk7
Ci0gICAgICAgIHJlc3BvbnNlUGFyYW1zLmVycm9yID0gcmVzcG9uc2UuZXJyb3I7Ci0gICAgICAg
IHZhciBidWlsZGVyID0gbmV3IGNvZGVjLk1lc3NhZ2VWMUJ1aWxkZXIoCi0gICAgICAgICAgICBr
VXNiRGV2aWNlX09wZW5fTmFtZSwKLSAgICAgICAgICAgIGNvZGVjLmFsaWduKFVzYkRldmljZV9P
cGVuX1Jlc3BvbnNlUGFyYW1zLmVuY29kZWRTaXplKSwKLSAgICAgICAgICAgIGNvZGVjLmtNZXNz
YWdlSXNSZXNwb25zZSwgcmVhZGVyLnJlcXVlc3RJRCk7Ci0gICAgICAgIGJ1aWxkZXIuZW5jb2Rl
U3RydWN0KFVzYkRldmljZV9PcGVuX1Jlc3BvbnNlUGFyYW1zLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICByZXNwb25zZVBhcmFtcyk7Ci0gICAgICAgIHZhciBtZXNzYWdlID0gYnVpbGRl
ci5maW5pc2goKTsKLSAgICAgICAgcmVzcG9uZGVyLmFjY2VwdChtZXNzYWdlKTsKLSAgICAgIH0p
OwotICAgICAgcmV0dXJuIHRydWU7Ci0gICAgY2FzZSBrVXNiRGV2aWNlX0Nsb3NlX05hbWU6Ci0g
ICAgICB2YXIgcGFyYW1zID0gcmVhZGVyLmRlY29kZVN0cnVjdChVc2JEZXZpY2VfQ2xvc2VfUGFy
YW1zKTsKLSAgICAgIHRoaXMuY2xvc2UoKS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAg
ICAgIHZhciByZXNwb25zZVBhcmFtcyA9Ci0gICAgICAgICAgICBuZXcgVXNiRGV2aWNlX0Nsb3Nl
X1Jlc3BvbnNlUGFyYW1zKCk7Ci0gICAgICAgIHZhciBidWlsZGVyID0gbmV3IGNvZGVjLk1lc3Nh
Z2VWMUJ1aWxkZXIoCi0gICAgICAgICAgICBrVXNiRGV2aWNlX0Nsb3NlX05hbWUsCi0gICAgICAg
ICAgICBjb2RlYy5hbGlnbihVc2JEZXZpY2VfQ2xvc2VfUmVzcG9uc2VQYXJhbXMuZW5jb2RlZFNp
emUpLAotICAgICAgICAgICAgY29kZWMua01lc3NhZ2VJc1Jlc3BvbnNlLCByZWFkZXIucmVxdWVz
dElEKTsKLSAgICAgICAgYnVpbGRlci5lbmNvZGVTdHJ1Y3QoVXNiRGV2aWNlX0Nsb3NlX1Jlc3Bv
bnNlUGFyYW1zLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNwb25zZVBhcmFtcyk7
Ci0gICAgICAgIHZhciBtZXNzYWdlID0gYnVpbGRlci5maW5pc2goKTsKLSAgICAgICAgcmVzcG9u
ZGVyLmFjY2VwdChtZXNzYWdlKTsKLSAgICAgIH0pOwotICAgICAgcmV0dXJuIHRydWU7Ci0gICAg
Y2FzZSBrVXNiRGV2aWNlX1NldENvbmZpZ3VyYXRpb25fTmFtZToKLSAgICAgIHZhciBwYXJhbXMg
PSByZWFkZXIuZGVjb2RlU3RydWN0KFVzYkRldmljZV9TZXRDb25maWd1cmF0aW9uX1BhcmFtcyk7
Ci0gICAgICB0aGlzLnNldENvbmZpZ3VyYXRpb24ocGFyYW1zLnZhbHVlKS50aGVuKGZ1bmN0aW9u
KHJlc3BvbnNlKSB7Ci0gICAgICAgIHZhciByZXNwb25zZVBhcmFtcyA9Ci0gICAgICAgICAgICBu
ZXcgVXNiRGV2aWNlX1NldENvbmZpZ3VyYXRpb25fUmVzcG9uc2VQYXJhbXMoKTsKLSAgICAgICAg
cmVzcG9uc2VQYXJhbXMuc3VjY2VzcyA9IHJlc3BvbnNlLnN1Y2Nlc3M7Ci0gICAgICAgIHZhciBi
dWlsZGVyID0gbmV3IGNvZGVjLk1lc3NhZ2VWMUJ1aWxkZXIoCi0gICAgICAgICAgICBrVXNiRGV2
aWNlX1NldENvbmZpZ3VyYXRpb25fTmFtZSwKLSAgICAgICAgICAgIGNvZGVjLmFsaWduKFVzYkRl
dmljZV9TZXRDb25maWd1cmF0aW9uX1Jlc3BvbnNlUGFyYW1zLmVuY29kZWRTaXplKSwKLSAgICAg
ICAgICAgIGNvZGVjLmtNZXNzYWdlSXNSZXNwb25zZSwgcmVhZGVyLnJlcXVlc3RJRCk7Ci0gICAg
ICAgIGJ1aWxkZXIuZW5jb2RlU3RydWN0KFVzYkRldmljZV9TZXRDb25maWd1cmF0aW9uX1Jlc3Bv
bnNlUGFyYW1zLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNwb25zZVBhcmFtcyk7
Ci0gICAgICAgIHZhciBtZXNzYWdlID0gYnVpbGRlci5maW5pc2goKTsKLSAgICAgICAgcmVzcG9u
ZGVyLmFjY2VwdChtZXNzYWdlKTsKLSAgICAgIH0pOwotICAgICAgcmV0dXJuIHRydWU7Ci0gICAg
Y2FzZSBrVXNiRGV2aWNlX0NsYWltSW50ZXJmYWNlX05hbWU6Ci0gICAgICB2YXIgcGFyYW1zID0g
cmVhZGVyLmRlY29kZVN0cnVjdChVc2JEZXZpY2VfQ2xhaW1JbnRlcmZhY2VfUGFyYW1zKTsKLSAg
ICAgIHRoaXMuY2xhaW1JbnRlcmZhY2UocGFyYW1zLmludGVyZmFjZU51bWJlcikudGhlbihmdW5j
dGlvbihyZXNwb25zZSkgewotICAgICAgICB2YXIgcmVzcG9uc2VQYXJhbXMgPQotICAgICAgICAg
ICAgbmV3IFVzYkRldmljZV9DbGFpbUludGVyZmFjZV9SZXNwb25zZVBhcmFtcygpOwotICAgICAg
ICByZXNwb25zZVBhcmFtcy5zdWNjZXNzID0gcmVzcG9uc2Uuc3VjY2VzczsKLSAgICAgICAgdmFy
IGJ1aWxkZXIgPSBuZXcgY29kZWMuTWVzc2FnZVYxQnVpbGRlcigKLSAgICAgICAgICAgIGtVc2JE
ZXZpY2VfQ2xhaW1JbnRlcmZhY2VfTmFtZSwKLSAgICAgICAgICAgIGNvZGVjLmFsaWduKFVzYkRl
dmljZV9DbGFpbUludGVyZmFjZV9SZXNwb25zZVBhcmFtcy5lbmNvZGVkU2l6ZSksCi0gICAgICAg
ICAgICBjb2RlYy5rTWVzc2FnZUlzUmVzcG9uc2UsIHJlYWRlci5yZXF1ZXN0SUQpOwotICAgICAg
ICBidWlsZGVyLmVuY29kZVN0cnVjdChVc2JEZXZpY2VfQ2xhaW1JbnRlcmZhY2VfUmVzcG9uc2VQ
YXJhbXMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlUGFyYW1zKTsKLSAg
ICAgICAgdmFyIG1lc3NhZ2UgPSBidWlsZGVyLmZpbmlzaCgpOwotICAgICAgICByZXNwb25kZXIu
YWNjZXB0KG1lc3NhZ2UpOwotICAgICAgfSk7Ci0gICAgICByZXR1cm4gdHJ1ZTsKLSAgICBjYXNl
IGtVc2JEZXZpY2VfUmVsZWFzZUludGVyZmFjZV9OYW1lOgotICAgICAgdmFyIHBhcmFtcyA9IHJl
YWRlci5kZWNvZGVTdHJ1Y3QoVXNiRGV2aWNlX1JlbGVhc2VJbnRlcmZhY2VfUGFyYW1zKTsKLSAg
ICAgIHRoaXMucmVsZWFzZUludGVyZmFjZShwYXJhbXMuaW50ZXJmYWNlTnVtYmVyKS50aGVuKGZ1
bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgICAgIHZhciByZXNwb25zZVBhcmFtcyA9Ci0gICAgICAg
ICAgICBuZXcgVXNiRGV2aWNlX1JlbGVhc2VJbnRlcmZhY2VfUmVzcG9uc2VQYXJhbXMoKTsKLSAg
ICAgICAgcmVzcG9uc2VQYXJhbXMuc3VjY2VzcyA9IHJlc3BvbnNlLnN1Y2Nlc3M7Ci0gICAgICAg
IHZhciBidWlsZGVyID0gbmV3IGNvZGVjLk1lc3NhZ2VWMUJ1aWxkZXIoCi0gICAgICAgICAgICBr
VXNiRGV2aWNlX1JlbGVhc2VJbnRlcmZhY2VfTmFtZSwKLSAgICAgICAgICAgIGNvZGVjLmFsaWdu
KFVzYkRldmljZV9SZWxlYXNlSW50ZXJmYWNlX1Jlc3BvbnNlUGFyYW1zLmVuY29kZWRTaXplKSwK
LSAgICAgICAgICAgIGNvZGVjLmtNZXNzYWdlSXNSZXNwb25zZSwgcmVhZGVyLnJlcXVlc3RJRCk7
Ci0gICAgICAgIGJ1aWxkZXIuZW5jb2RlU3RydWN0KFVzYkRldmljZV9SZWxlYXNlSW50ZXJmYWNl
X1Jlc3BvbnNlUGFyYW1zLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNwb25zZVBh
cmFtcyk7Ci0gICAgICAgIHZhciBtZXNzYWdlID0gYnVpbGRlci5maW5pc2goKTsKLSAgICAgICAg
cmVzcG9uZGVyLmFjY2VwdChtZXNzYWdlKTsKLSAgICAgIH0pOwotICAgICAgcmV0dXJuIHRydWU7
Ci0gICAgY2FzZSBrVXNiRGV2aWNlX1NldEludGVyZmFjZUFsdGVybmF0ZVNldHRpbmdfTmFtZToK
LSAgICAgIHZhciBwYXJhbXMgPSByZWFkZXIuZGVjb2RlU3RydWN0KFVzYkRldmljZV9TZXRJbnRl
cmZhY2VBbHRlcm5hdGVTZXR0aW5nX1BhcmFtcyk7Ci0gICAgICB0aGlzLnNldEludGVyZmFjZUFs
dGVybmF0ZVNldHRpbmcocGFyYW1zLmludGVyZmFjZU51bWJlciwgcGFyYW1zLmFsdGVybmF0ZVNl
dHRpbmcpLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICAgICAgdmFyIHJlc3BvbnNlUGFy
YW1zID0KLSAgICAgICAgICAgIG5ldyBVc2JEZXZpY2VfU2V0SW50ZXJmYWNlQWx0ZXJuYXRlU2V0
dGluZ19SZXNwb25zZVBhcmFtcygpOwotICAgICAgICByZXNwb25zZVBhcmFtcy5zdWNjZXNzID0g
cmVzcG9uc2Uuc3VjY2VzczsKLSAgICAgICAgdmFyIGJ1aWxkZXIgPSBuZXcgY29kZWMuTWVzc2Fn
ZVYxQnVpbGRlcigKLSAgICAgICAgICAgIGtVc2JEZXZpY2VfU2V0SW50ZXJmYWNlQWx0ZXJuYXRl
U2V0dGluZ19OYW1lLAotICAgICAgICAgICAgY29kZWMuYWxpZ24oVXNiRGV2aWNlX1NldEludGVy
ZmFjZUFsdGVybmF0ZVNldHRpbmdfUmVzcG9uc2VQYXJhbXMuZW5jb2RlZFNpemUpLAotICAgICAg
ICAgICAgY29kZWMua01lc3NhZ2VJc1Jlc3BvbnNlLCByZWFkZXIucmVxdWVzdElEKTsKLSAgICAg
ICAgYnVpbGRlci5lbmNvZGVTdHJ1Y3QoVXNiRGV2aWNlX1NldEludGVyZmFjZUFsdGVybmF0ZVNl
dHRpbmdfUmVzcG9uc2VQYXJhbXMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3Bv
bnNlUGFyYW1zKTsKLSAgICAgICAgdmFyIG1lc3NhZ2UgPSBidWlsZGVyLmZpbmlzaCgpOwotICAg
ICAgICByZXNwb25kZXIuYWNjZXB0KG1lc3NhZ2UpOwotICAgICAgfSk7Ci0gICAgICByZXR1cm4g
dHJ1ZTsKLSAgICBjYXNlIGtVc2JEZXZpY2VfUmVzZXRfTmFtZToKLSAgICAgIHZhciBwYXJhbXMg
PSByZWFkZXIuZGVjb2RlU3RydWN0KFVzYkRldmljZV9SZXNldF9QYXJhbXMpOwotICAgICAgdGhp
cy5yZXNldCgpLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICAgICAgdmFyIHJlc3BvbnNl
UGFyYW1zID0KLSAgICAgICAgICAgIG5ldyBVc2JEZXZpY2VfUmVzZXRfUmVzcG9uc2VQYXJhbXMo
KTsKLSAgICAgICAgcmVzcG9uc2VQYXJhbXMuc3VjY2VzcyA9IHJlc3BvbnNlLnN1Y2Nlc3M7Ci0g
ICAgICAgIHZhciBidWlsZGVyID0gbmV3IGNvZGVjLk1lc3NhZ2VWMUJ1aWxkZXIoCi0gICAgICAg
ICAgICBrVXNiRGV2aWNlX1Jlc2V0X05hbWUsCi0gICAgICAgICAgICBjb2RlYy5hbGlnbihVc2JE
ZXZpY2VfUmVzZXRfUmVzcG9uc2VQYXJhbXMuZW5jb2RlZFNpemUpLAotICAgICAgICAgICAgY29k
ZWMua01lc3NhZ2VJc1Jlc3BvbnNlLCByZWFkZXIucmVxdWVzdElEKTsKLSAgICAgICAgYnVpbGRl
ci5lbmNvZGVTdHJ1Y3QoVXNiRGV2aWNlX1Jlc2V0X1Jlc3BvbnNlUGFyYW1zLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICByZXNwb25zZVBhcmFtcyk7Ci0gICAgICAgIHZhciBtZXNzYWdl
ID0gYnVpbGRlci5maW5pc2goKTsKLSAgICAgICAgcmVzcG9uZGVyLmFjY2VwdChtZXNzYWdlKTsK
LSAgICAgIH0pOwotICAgICAgcmV0dXJuIHRydWU7Ci0gICAgY2FzZSBrVXNiRGV2aWNlX0NsZWFy
SGFsdF9OYW1lOgotICAgICAgdmFyIHBhcmFtcyA9IHJlYWRlci5kZWNvZGVTdHJ1Y3QoVXNiRGV2
aWNlX0NsZWFySGFsdF9QYXJhbXMpOwotICAgICAgdGhpcy5jbGVhckhhbHQocGFyYW1zLmVuZHBv
aW50KS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgICAgIHZhciByZXNwb25zZVBhcmFt
cyA9Ci0gICAgICAgICAgICBuZXcgVXNiRGV2aWNlX0NsZWFySGFsdF9SZXNwb25zZVBhcmFtcygp
OwotICAgICAgICByZXNwb25zZVBhcmFtcy5zdWNjZXNzID0gcmVzcG9uc2Uuc3VjY2VzczsKLSAg
ICAgICAgdmFyIGJ1aWxkZXIgPSBuZXcgY29kZWMuTWVzc2FnZVYxQnVpbGRlcigKLSAgICAgICAg
ICAgIGtVc2JEZXZpY2VfQ2xlYXJIYWx0X05hbWUsCi0gICAgICAgICAgICBjb2RlYy5hbGlnbihV
c2JEZXZpY2VfQ2xlYXJIYWx0X1Jlc3BvbnNlUGFyYW1zLmVuY29kZWRTaXplKSwKLSAgICAgICAg
ICAgIGNvZGVjLmtNZXNzYWdlSXNSZXNwb25zZSwgcmVhZGVyLnJlcXVlc3RJRCk7Ci0gICAgICAg
IGJ1aWxkZXIuZW5jb2RlU3RydWN0KFVzYkRldmljZV9DbGVhckhhbHRfUmVzcG9uc2VQYXJhbXMs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlUGFyYW1zKTsKLSAgICAgICAg
dmFyIG1lc3NhZ2UgPSBidWlsZGVyLmZpbmlzaCgpOwotICAgICAgICByZXNwb25kZXIuYWNjZXB0
KG1lc3NhZ2UpOwotICAgICAgfSk7Ci0gICAgICByZXR1cm4gdHJ1ZTsKLSAgICBjYXNlIGtVc2JE
ZXZpY2VfQ29udHJvbFRyYW5zZmVySW5fTmFtZToKLSAgICAgIHZhciBwYXJhbXMgPSByZWFkZXIu
ZGVjb2RlU3RydWN0KFVzYkRldmljZV9Db250cm9sVHJhbnNmZXJJbl9QYXJhbXMpOwotICAgICAg
dGhpcy5jb250cm9sVHJhbnNmZXJJbihwYXJhbXMucGFyYW1zLCBwYXJhbXMubGVuZ3RoLCBwYXJh
bXMudGltZW91dCkudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgICAgICB2YXIgcmVzcG9u
c2VQYXJhbXMgPQotICAgICAgICAgICAgbmV3IFVzYkRldmljZV9Db250cm9sVHJhbnNmZXJJbl9S
ZXNwb25zZVBhcmFtcygpOwotICAgICAgICByZXNwb25zZVBhcmFtcy5zdGF0dXMgPSByZXNwb25z
ZS5zdGF0dXM7Ci0gICAgICAgIHJlc3BvbnNlUGFyYW1zLmRhdGEgPSByZXNwb25zZS5kYXRhOwot
ICAgICAgICB2YXIgYnVpbGRlciA9IG5ldyBjb2RlYy5NZXNzYWdlVjFCdWlsZGVyKAotICAgICAg
ICAgICAga1VzYkRldmljZV9Db250cm9sVHJhbnNmZXJJbl9OYW1lLAotICAgICAgICAgICAgY29k
ZWMuYWxpZ24oVXNiRGV2aWNlX0NvbnRyb2xUcmFuc2ZlckluX1Jlc3BvbnNlUGFyYW1zLmVuY29k
ZWRTaXplKSwKLSAgICAgICAgICAgIGNvZGVjLmtNZXNzYWdlSXNSZXNwb25zZSwgcmVhZGVyLnJl
cXVlc3RJRCk7Ci0gICAgICAgIGJ1aWxkZXIuZW5jb2RlU3RydWN0KFVzYkRldmljZV9Db250cm9s
VHJhbnNmZXJJbl9SZXNwb25zZVBhcmFtcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
cmVzcG9uc2VQYXJhbXMpOwotICAgICAgICB2YXIgbWVzc2FnZSA9IGJ1aWxkZXIuZmluaXNoKCk7
Ci0gICAgICAgIHJlc3BvbmRlci5hY2NlcHQobWVzc2FnZSk7Ci0gICAgICB9KTsKLSAgICAgIHJl
dHVybiB0cnVlOwotICAgIGNhc2Uga1VzYkRldmljZV9Db250cm9sVHJhbnNmZXJPdXRfTmFtZToK
LSAgICAgIHZhciBwYXJhbXMgPSByZWFkZXIuZGVjb2RlU3RydWN0KFVzYkRldmljZV9Db250cm9s
VHJhbnNmZXJPdXRfUGFyYW1zKTsKLSAgICAgIHRoaXMuY29udHJvbFRyYW5zZmVyT3V0KHBhcmFt
cy5wYXJhbXMsIHBhcmFtcy5kYXRhLCBwYXJhbXMudGltZW91dCkudGhlbihmdW5jdGlvbihyZXNw
b25zZSkgewotICAgICAgICB2YXIgcmVzcG9uc2VQYXJhbXMgPQotICAgICAgICAgICAgbmV3IFVz
YkRldmljZV9Db250cm9sVHJhbnNmZXJPdXRfUmVzcG9uc2VQYXJhbXMoKTsKLSAgICAgICAgcmVz
cG9uc2VQYXJhbXMuc3RhdHVzID0gcmVzcG9uc2Uuc3RhdHVzOwotICAgICAgICB2YXIgYnVpbGRl
ciA9IG5ldyBjb2RlYy5NZXNzYWdlVjFCdWlsZGVyKAotICAgICAgICAgICAga1VzYkRldmljZV9D
b250cm9sVHJhbnNmZXJPdXRfTmFtZSwKLSAgICAgICAgICAgIGNvZGVjLmFsaWduKFVzYkRldmlj
ZV9Db250cm9sVHJhbnNmZXJPdXRfUmVzcG9uc2VQYXJhbXMuZW5jb2RlZFNpemUpLAotICAgICAg
ICAgICAgY29kZWMua01lc3NhZ2VJc1Jlc3BvbnNlLCByZWFkZXIucmVxdWVzdElEKTsKLSAgICAg
ICAgYnVpbGRlci5lbmNvZGVTdHJ1Y3QoVXNiRGV2aWNlX0NvbnRyb2xUcmFuc2Zlck91dF9SZXNw
b25zZVBhcmFtcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2VQYXJhbXMp
OwotICAgICAgICB2YXIgbWVzc2FnZSA9IGJ1aWxkZXIuZmluaXNoKCk7Ci0gICAgICAgIHJlc3Bv
bmRlci5hY2NlcHQobWVzc2FnZSk7Ci0gICAgICB9KTsKLSAgICAgIHJldHVybiB0cnVlOwotICAg
IGNhc2Uga1VzYkRldmljZV9HZW5lcmljVHJhbnNmZXJJbl9OYW1lOgotICAgICAgdmFyIHBhcmFt
cyA9IHJlYWRlci5kZWNvZGVTdHJ1Y3QoVXNiRGV2aWNlX0dlbmVyaWNUcmFuc2ZlckluX1BhcmFt
cyk7Ci0gICAgICB0aGlzLmdlbmVyaWNUcmFuc2ZlckluKHBhcmFtcy5lbmRwb2ludE51bWJlciwg
cGFyYW1zLmxlbmd0aCwgcGFyYW1zLnRpbWVvdXQpLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsK
LSAgICAgICAgdmFyIHJlc3BvbnNlUGFyYW1zID0KLSAgICAgICAgICAgIG5ldyBVc2JEZXZpY2Vf
R2VuZXJpY1RyYW5zZmVySW5fUmVzcG9uc2VQYXJhbXMoKTsKLSAgICAgICAgcmVzcG9uc2VQYXJh
bXMuc3RhdHVzID0gcmVzcG9uc2Uuc3RhdHVzOwotICAgICAgICByZXNwb25zZVBhcmFtcy5kYXRh
ID0gcmVzcG9uc2UuZGF0YTsKLSAgICAgICAgdmFyIGJ1aWxkZXIgPSBuZXcgY29kZWMuTWVzc2Fn
ZVYxQnVpbGRlcigKLSAgICAgICAgICAgIGtVc2JEZXZpY2VfR2VuZXJpY1RyYW5zZmVySW5fTmFt
ZSwKLSAgICAgICAgICAgIGNvZGVjLmFsaWduKFVzYkRldmljZV9HZW5lcmljVHJhbnNmZXJJbl9S
ZXNwb25zZVBhcmFtcy5lbmNvZGVkU2l6ZSksCi0gICAgICAgICAgICBjb2RlYy5rTWVzc2FnZUlz
UmVzcG9uc2UsIHJlYWRlci5yZXF1ZXN0SUQpOwotICAgICAgICBidWlsZGVyLmVuY29kZVN0cnVj
dChVc2JEZXZpY2VfR2VuZXJpY1RyYW5zZmVySW5fUmVzcG9uc2VQYXJhbXMsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlUGFyYW1zKTsKLSAgICAgICAgdmFyIG1lc3NhZ2Ug
PSBidWlsZGVyLmZpbmlzaCgpOwotICAgICAgICByZXNwb25kZXIuYWNjZXB0KG1lc3NhZ2UpOwot
ICAgICAgfSk7Ci0gICAgICByZXR1cm4gdHJ1ZTsKLSAgICBjYXNlIGtVc2JEZXZpY2VfR2VuZXJp
Y1RyYW5zZmVyT3V0X05hbWU6Ci0gICAgICB2YXIgcGFyYW1zID0gcmVhZGVyLmRlY29kZVN0cnVj
dChVc2JEZXZpY2VfR2VuZXJpY1RyYW5zZmVyT3V0X1BhcmFtcyk7Ci0gICAgICB0aGlzLmdlbmVy
aWNUcmFuc2Zlck91dChwYXJhbXMuZW5kcG9pbnROdW1iZXIsIHBhcmFtcy5kYXRhLCBwYXJhbXMu
dGltZW91dCkudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgICAgICB2YXIgcmVzcG9uc2VQ
YXJhbXMgPQotICAgICAgICAgICAgbmV3IFVzYkRldmljZV9HZW5lcmljVHJhbnNmZXJPdXRfUmVz
cG9uc2VQYXJhbXMoKTsKLSAgICAgICAgcmVzcG9uc2VQYXJhbXMuc3RhdHVzID0gcmVzcG9uc2Uu
c3RhdHVzOwotICAgICAgICB2YXIgYnVpbGRlciA9IG5ldyBjb2RlYy5NZXNzYWdlVjFCdWlsZGVy
KAotICAgICAgICAgICAga1VzYkRldmljZV9HZW5lcmljVHJhbnNmZXJPdXRfTmFtZSwKLSAgICAg
ICAgICAgIGNvZGVjLmFsaWduKFVzYkRldmljZV9HZW5lcmljVHJhbnNmZXJPdXRfUmVzcG9uc2VQ
YXJhbXMuZW5jb2RlZFNpemUpLAotICAgICAgICAgICAgY29kZWMua01lc3NhZ2VJc1Jlc3BvbnNl
LCByZWFkZXIucmVxdWVzdElEKTsKLSAgICAgICAgYnVpbGRlci5lbmNvZGVTdHJ1Y3QoVXNiRGV2
aWNlX0dlbmVyaWNUcmFuc2Zlck91dF9SZXNwb25zZVBhcmFtcywKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgcmVzcG9uc2VQYXJhbXMpOwotICAgICAgICB2YXIgbWVzc2FnZSA9IGJ1aWxk
ZXIuZmluaXNoKCk7Ci0gICAgICAgIHJlc3BvbmRlci5hY2NlcHQobWVzc2FnZSk7Ci0gICAgICB9
KTsKLSAgICAgIHJldHVybiB0cnVlOwotICAgIGNhc2Uga1VzYkRldmljZV9Jc29jaHJvbm91c1Ry
YW5zZmVySW5fTmFtZToKLSAgICAgIHZhciBwYXJhbXMgPSByZWFkZXIuZGVjb2RlU3RydWN0KFVz
YkRldmljZV9Jc29jaHJvbm91c1RyYW5zZmVySW5fUGFyYW1zKTsKLSAgICAgIHRoaXMuaXNvY2hy
b25vdXNUcmFuc2ZlckluKHBhcmFtcy5lbmRwb2ludE51bWJlciwgcGFyYW1zLnBhY2tldExlbmd0
aHMsIHBhcmFtcy50aW1lb3V0KS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgICAgIHZh
ciByZXNwb25zZVBhcmFtcyA9Ci0gICAgICAgICAgICBuZXcgVXNiRGV2aWNlX0lzb2Nocm9ub3Vz
VHJhbnNmZXJJbl9SZXNwb25zZVBhcmFtcygpOwotICAgICAgICByZXNwb25zZVBhcmFtcy5kYXRh
ID0gcmVzcG9uc2UuZGF0YTsKLSAgICAgICAgcmVzcG9uc2VQYXJhbXMucGFja2V0cyA9IHJlc3Bv
bnNlLnBhY2tldHM7Ci0gICAgICAgIHZhciBidWlsZGVyID0gbmV3IGNvZGVjLk1lc3NhZ2VWMUJ1
aWxkZXIoCi0gICAgICAgICAgICBrVXNiRGV2aWNlX0lzb2Nocm9ub3VzVHJhbnNmZXJJbl9OYW1l
LAotICAgICAgICAgICAgY29kZWMuYWxpZ24oVXNiRGV2aWNlX0lzb2Nocm9ub3VzVHJhbnNmZXJJ
bl9SZXNwb25zZVBhcmFtcy5lbmNvZGVkU2l6ZSksCi0gICAgICAgICAgICBjb2RlYy5rTWVzc2Fn
ZUlzUmVzcG9uc2UsIHJlYWRlci5yZXF1ZXN0SUQpOwotICAgICAgICBidWlsZGVyLmVuY29kZVN0
cnVjdChVc2JEZXZpY2VfSXNvY2hyb25vdXNUcmFuc2ZlckluX1Jlc3BvbnNlUGFyYW1zLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICByZXNwb25zZVBhcmFtcyk7Ci0gICAgICAgIHZhciBt
ZXNzYWdlID0gYnVpbGRlci5maW5pc2goKTsKLSAgICAgICAgcmVzcG9uZGVyLmFjY2VwdChtZXNz
YWdlKTsKLSAgICAgIH0pOwotICAgICAgcmV0dXJuIHRydWU7Ci0gICAgY2FzZSBrVXNiRGV2aWNl
X0lzb2Nocm9ub3VzVHJhbnNmZXJPdXRfTmFtZToKLSAgICAgIHZhciBwYXJhbXMgPSByZWFkZXIu
ZGVjb2RlU3RydWN0KFVzYkRldmljZV9Jc29jaHJvbm91c1RyYW5zZmVyT3V0X1BhcmFtcyk7Ci0g
ICAgICB0aGlzLmlzb2Nocm9ub3VzVHJhbnNmZXJPdXQocGFyYW1zLmVuZHBvaW50TnVtYmVyLCBw
YXJhbXMuZGF0YSwgcGFyYW1zLnBhY2tldExlbmd0aHMsIHBhcmFtcy50aW1lb3V0KS50aGVuKGZ1
bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgICAgIHZhciByZXNwb25zZVBhcmFtcyA9Ci0gICAgICAg
ICAgICBuZXcgVXNiRGV2aWNlX0lzb2Nocm9ub3VzVHJhbnNmZXJPdXRfUmVzcG9uc2VQYXJhbXMo
KTsKLSAgICAgICAgcmVzcG9uc2VQYXJhbXMucGFja2V0cyA9IHJlc3BvbnNlLnBhY2tldHM7Ci0g
ICAgICAgIHZhciBidWlsZGVyID0gbmV3IGNvZGVjLk1lc3NhZ2VWMUJ1aWxkZXIoCi0gICAgICAg
ICAgICBrVXNiRGV2aWNlX0lzb2Nocm9ub3VzVHJhbnNmZXJPdXRfTmFtZSwKLSAgICAgICAgICAg
IGNvZGVjLmFsaWduKFVzYkRldmljZV9Jc29jaHJvbm91c1RyYW5zZmVyT3V0X1Jlc3BvbnNlUGFy
YW1zLmVuY29kZWRTaXplKSwKLSAgICAgICAgICAgIGNvZGVjLmtNZXNzYWdlSXNSZXNwb25zZSwg
cmVhZGVyLnJlcXVlc3RJRCk7Ci0gICAgICAgIGJ1aWxkZXIuZW5jb2RlU3RydWN0KFVzYkRldmlj
ZV9Jc29jaHJvbm91c1RyYW5zZmVyT3V0X1Jlc3BvbnNlUGFyYW1zLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICByZXNwb25zZVBhcmFtcyk7Ci0gICAgICAgIHZhciBtZXNzYWdlID0gYnVp
bGRlci5maW5pc2goKTsKLSAgICAgICAgcmVzcG9uZGVyLmFjY2VwdChtZXNzYWdlKTsKLSAgICAg
IH0pOwotICAgICAgcmV0dXJuIHRydWU7Ci0gICAgZGVmYXVsdDoKLSAgICAgIHJldHVybiBmYWxz
ZTsKLSAgICB9Ci0gIH07Ci0KLSAgZnVuY3Rpb24gdmFsaWRhdGVVc2JEZXZpY2VSZXF1ZXN0KG1l
c3NhZ2VWYWxpZGF0b3IpIHsKLSAgICB2YXIgbWVzc2FnZSA9IG1lc3NhZ2VWYWxpZGF0b3IubWVz
c2FnZTsKLSAgICB2YXIgcGFyYW1zQ2xhc3MgPSBudWxsOwotICAgIHN3aXRjaCAobWVzc2FnZS5n
ZXROYW1lKCkpIHsKLSAgICAgIGNhc2Uga1VzYkRldmljZV9PcGVuX05hbWU6Ci0gICAgICAgIGlm
IChtZXNzYWdlLmV4cGVjdHNSZXNwb25zZSgpKQotICAgICAgICAgIHBhcmFtc0NsYXNzID0gVXNi
RGV2aWNlX09wZW5fUGFyYW1zOwotICAgICAgYnJlYWs7Ci0gICAgICBjYXNlIGtVc2JEZXZpY2Vf
Q2xvc2VfTmFtZToKLSAgICAgICAgaWYgKG1lc3NhZ2UuZXhwZWN0c1Jlc3BvbnNlKCkpCi0gICAg
ICAgICAgcGFyYW1zQ2xhc3MgPSBVc2JEZXZpY2VfQ2xvc2VfUGFyYW1zOwotICAgICAgYnJlYWs7
Ci0gICAgICBjYXNlIGtVc2JEZXZpY2VfU2V0Q29uZmlndXJhdGlvbl9OYW1lOgotICAgICAgICBp
ZiAobWVzc2FnZS5leHBlY3RzUmVzcG9uc2UoKSkKLSAgICAgICAgICBwYXJhbXNDbGFzcyA9IFVz
YkRldmljZV9TZXRDb25maWd1cmF0aW9uX1BhcmFtczsKLSAgICAgIGJyZWFrOwotICAgICAgY2Fz
ZSBrVXNiRGV2aWNlX0NsYWltSW50ZXJmYWNlX05hbWU6Ci0gICAgICAgIGlmIChtZXNzYWdlLmV4
cGVjdHNSZXNwb25zZSgpKQotICAgICAgICAgIHBhcmFtc0NsYXNzID0gVXNiRGV2aWNlX0NsYWlt
SW50ZXJmYWNlX1BhcmFtczsKLSAgICAgIGJyZWFrOwotICAgICAgY2FzZSBrVXNiRGV2aWNlX1Jl
bGVhc2VJbnRlcmZhY2VfTmFtZToKLSAgICAgICAgaWYgKG1lc3NhZ2UuZXhwZWN0c1Jlc3BvbnNl
KCkpCi0gICAgICAgICAgcGFyYW1zQ2xhc3MgPSBVc2JEZXZpY2VfUmVsZWFzZUludGVyZmFjZV9Q
YXJhbXM7Ci0gICAgICBicmVhazsKLSAgICAgIGNhc2Uga1VzYkRldmljZV9TZXRJbnRlcmZhY2VB
bHRlcm5hdGVTZXR0aW5nX05hbWU6Ci0gICAgICAgIGlmIChtZXNzYWdlLmV4cGVjdHNSZXNwb25z
ZSgpKQotICAgICAgICAgIHBhcmFtc0NsYXNzID0gVXNiRGV2aWNlX1NldEludGVyZmFjZUFsdGVy
bmF0ZVNldHRpbmdfUGFyYW1zOwotICAgICAgYnJlYWs7Ci0gICAgICBjYXNlIGtVc2JEZXZpY2Vf
UmVzZXRfTmFtZToKLSAgICAgICAgaWYgKG1lc3NhZ2UuZXhwZWN0c1Jlc3BvbnNlKCkpCi0gICAg
ICAgICAgcGFyYW1zQ2xhc3MgPSBVc2JEZXZpY2VfUmVzZXRfUGFyYW1zOwotICAgICAgYnJlYWs7
Ci0gICAgICBjYXNlIGtVc2JEZXZpY2VfQ2xlYXJIYWx0X05hbWU6Ci0gICAgICAgIGlmIChtZXNz
YWdlLmV4cGVjdHNSZXNwb25zZSgpKQotICAgICAgICAgIHBhcmFtc0NsYXNzID0gVXNiRGV2aWNl
X0NsZWFySGFsdF9QYXJhbXM7Ci0gICAgICBicmVhazsKLSAgICAgIGNhc2Uga1VzYkRldmljZV9D
b250cm9sVHJhbnNmZXJJbl9OYW1lOgotICAgICAgICBpZiAobWVzc2FnZS5leHBlY3RzUmVzcG9u
c2UoKSkKLSAgICAgICAgICBwYXJhbXNDbGFzcyA9IFVzYkRldmljZV9Db250cm9sVHJhbnNmZXJJ
bl9QYXJhbXM7Ci0gICAgICBicmVhazsKLSAgICAgIGNhc2Uga1VzYkRldmljZV9Db250cm9sVHJh
bnNmZXJPdXRfTmFtZToKLSAgICAgICAgaWYgKG1lc3NhZ2UuZXhwZWN0c1Jlc3BvbnNlKCkpCi0g
ICAgICAgICAgcGFyYW1zQ2xhc3MgPSBVc2JEZXZpY2VfQ29udHJvbFRyYW5zZmVyT3V0X1BhcmFt
czsKLSAgICAgIGJyZWFrOwotICAgICAgY2FzZSBrVXNiRGV2aWNlX0dlbmVyaWNUcmFuc2Zlcklu
X05hbWU6Ci0gICAgICAgIGlmIChtZXNzYWdlLmV4cGVjdHNSZXNwb25zZSgpKQotICAgICAgICAg
IHBhcmFtc0NsYXNzID0gVXNiRGV2aWNlX0dlbmVyaWNUcmFuc2ZlckluX1BhcmFtczsKLSAgICAg
IGJyZWFrOwotICAgICAgY2FzZSBrVXNiRGV2aWNlX0dlbmVyaWNUcmFuc2Zlck91dF9OYW1lOgot
ICAgICAgICBpZiAobWVzc2FnZS5leHBlY3RzUmVzcG9uc2UoKSkKLSAgICAgICAgICBwYXJhbXND
bGFzcyA9IFVzYkRldmljZV9HZW5lcmljVHJhbnNmZXJPdXRfUGFyYW1zOwotICAgICAgYnJlYWs7
Ci0gICAgICBjYXNlIGtVc2JEZXZpY2VfSXNvY2hyb25vdXNUcmFuc2ZlckluX05hbWU6Ci0gICAg
ICAgIGlmIChtZXNzYWdlLmV4cGVjdHNSZXNwb25zZSgpKQotICAgICAgICAgIHBhcmFtc0NsYXNz
ID0gVXNiRGV2aWNlX0lzb2Nocm9ub3VzVHJhbnNmZXJJbl9QYXJhbXM7Ci0gICAgICBicmVhazsK
LSAgICAgIGNhc2Uga1VzYkRldmljZV9Jc29jaHJvbm91c1RyYW5zZmVyT3V0X05hbWU6Ci0gICAg
ICAgIGlmIChtZXNzYWdlLmV4cGVjdHNSZXNwb25zZSgpKQotICAgICAgICAgIHBhcmFtc0NsYXNz
ID0gVXNiRGV2aWNlX0lzb2Nocm9ub3VzVHJhbnNmZXJPdXRfUGFyYW1zOwotICAgICAgYnJlYWs7
Ci0gICAgfQotICAgIGlmIChwYXJhbXNDbGFzcyA9PT0gbnVsbCkKLSAgICAgIHJldHVybiB2YWxp
ZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gICAgcmV0dXJuIHBhcmFtc0NsYXNzLnZhbGlk
YXRlKG1lc3NhZ2VWYWxpZGF0b3IsIG1lc3NhZ2VWYWxpZGF0b3IubWVzc2FnZS5nZXRIZWFkZXJO
dW1CeXRlcygpKTsKLSAgfQotCi0gIGZ1bmN0aW9uIHZhbGlkYXRlVXNiRGV2aWNlUmVzcG9uc2Uo
bWVzc2FnZVZhbGlkYXRvcikgewotICAgdmFyIG1lc3NhZ2UgPSBtZXNzYWdlVmFsaWRhdG9yLm1l
c3NhZ2U7Ci0gICB2YXIgcGFyYW1zQ2xhc3MgPSBudWxsOwotICAgc3dpdGNoIChtZXNzYWdlLmdl
dE5hbWUoKSkgewotICAgICAgY2FzZSBrVXNiRGV2aWNlX09wZW5fTmFtZToKLSAgICAgICAgaWYg
KG1lc3NhZ2UuaXNSZXNwb25zZSgpKQotICAgICAgICAgIHBhcmFtc0NsYXNzID0gVXNiRGV2aWNl
X09wZW5fUmVzcG9uc2VQYXJhbXM7Ci0gICAgICAgIGJyZWFrOwotICAgICAgY2FzZSBrVXNiRGV2
aWNlX0Nsb3NlX05hbWU6Ci0gICAgICAgIGlmIChtZXNzYWdlLmlzUmVzcG9uc2UoKSkKLSAgICAg
ICAgICBwYXJhbXNDbGFzcyA9IFVzYkRldmljZV9DbG9zZV9SZXNwb25zZVBhcmFtczsKLSAgICAg
ICAgYnJlYWs7Ci0gICAgICBjYXNlIGtVc2JEZXZpY2VfU2V0Q29uZmlndXJhdGlvbl9OYW1lOgot
ICAgICAgICBpZiAobWVzc2FnZS5pc1Jlc3BvbnNlKCkpCi0gICAgICAgICAgcGFyYW1zQ2xhc3Mg
PSBVc2JEZXZpY2VfU2V0Q29uZmlndXJhdGlvbl9SZXNwb25zZVBhcmFtczsKLSAgICAgICAgYnJl
YWs7Ci0gICAgICBjYXNlIGtVc2JEZXZpY2VfQ2xhaW1JbnRlcmZhY2VfTmFtZToKLSAgICAgICAg
aWYgKG1lc3NhZ2UuaXNSZXNwb25zZSgpKQotICAgICAgICAgIHBhcmFtc0NsYXNzID0gVXNiRGV2
aWNlX0NsYWltSW50ZXJmYWNlX1Jlc3BvbnNlUGFyYW1zOwotICAgICAgICBicmVhazsKLSAgICAg
IGNhc2Uga1VzYkRldmljZV9SZWxlYXNlSW50ZXJmYWNlX05hbWU6Ci0gICAgICAgIGlmIChtZXNz
YWdlLmlzUmVzcG9uc2UoKSkKLSAgICAgICAgICBwYXJhbXNDbGFzcyA9IFVzYkRldmljZV9SZWxl
YXNlSW50ZXJmYWNlX1Jlc3BvbnNlUGFyYW1zOwotICAgICAgICBicmVhazsKLSAgICAgIGNhc2Ug
a1VzYkRldmljZV9TZXRJbnRlcmZhY2VBbHRlcm5hdGVTZXR0aW5nX05hbWU6Ci0gICAgICAgIGlm
IChtZXNzYWdlLmlzUmVzcG9uc2UoKSkKLSAgICAgICAgICBwYXJhbXNDbGFzcyA9IFVzYkRldmlj
ZV9TZXRJbnRlcmZhY2VBbHRlcm5hdGVTZXR0aW5nX1Jlc3BvbnNlUGFyYW1zOwotICAgICAgICBi
cmVhazsKLSAgICAgIGNhc2Uga1VzYkRldmljZV9SZXNldF9OYW1lOgotICAgICAgICBpZiAobWVz
c2FnZS5pc1Jlc3BvbnNlKCkpCi0gICAgICAgICAgcGFyYW1zQ2xhc3MgPSBVc2JEZXZpY2VfUmVz
ZXRfUmVzcG9uc2VQYXJhbXM7Ci0gICAgICAgIGJyZWFrOwotICAgICAgY2FzZSBrVXNiRGV2aWNl
X0NsZWFySGFsdF9OYW1lOgotICAgICAgICBpZiAobWVzc2FnZS5pc1Jlc3BvbnNlKCkpCi0gICAg
ICAgICAgcGFyYW1zQ2xhc3MgPSBVc2JEZXZpY2VfQ2xlYXJIYWx0X1Jlc3BvbnNlUGFyYW1zOwot
ICAgICAgICBicmVhazsKLSAgICAgIGNhc2Uga1VzYkRldmljZV9Db250cm9sVHJhbnNmZXJJbl9O
YW1lOgotICAgICAgICBpZiAobWVzc2FnZS5pc1Jlc3BvbnNlKCkpCi0gICAgICAgICAgcGFyYW1z
Q2xhc3MgPSBVc2JEZXZpY2VfQ29udHJvbFRyYW5zZmVySW5fUmVzcG9uc2VQYXJhbXM7Ci0gICAg
ICAgIGJyZWFrOwotICAgICAgY2FzZSBrVXNiRGV2aWNlX0NvbnRyb2xUcmFuc2Zlck91dF9OYW1l
OgotICAgICAgICBpZiAobWVzc2FnZS5pc1Jlc3BvbnNlKCkpCi0gICAgICAgICAgcGFyYW1zQ2xh
c3MgPSBVc2JEZXZpY2VfQ29udHJvbFRyYW5zZmVyT3V0X1Jlc3BvbnNlUGFyYW1zOwotICAgICAg
ICBicmVhazsKLSAgICAgIGNhc2Uga1VzYkRldmljZV9HZW5lcmljVHJhbnNmZXJJbl9OYW1lOgot
ICAgICAgICBpZiAobWVzc2FnZS5pc1Jlc3BvbnNlKCkpCi0gICAgICAgICAgcGFyYW1zQ2xhc3Mg
PSBVc2JEZXZpY2VfR2VuZXJpY1RyYW5zZmVySW5fUmVzcG9uc2VQYXJhbXM7Ci0gICAgICAgIGJy
ZWFrOwotICAgICAgY2FzZSBrVXNiRGV2aWNlX0dlbmVyaWNUcmFuc2Zlck91dF9OYW1lOgotICAg
ICAgICBpZiAobWVzc2FnZS5pc1Jlc3BvbnNlKCkpCi0gICAgICAgICAgcGFyYW1zQ2xhc3MgPSBV
c2JEZXZpY2VfR2VuZXJpY1RyYW5zZmVyT3V0X1Jlc3BvbnNlUGFyYW1zOwotICAgICAgICBicmVh
azsKLSAgICAgIGNhc2Uga1VzYkRldmljZV9Jc29jaHJvbm91c1RyYW5zZmVySW5fTmFtZToKLSAg
ICAgICAgaWYgKG1lc3NhZ2UuaXNSZXNwb25zZSgpKQotICAgICAgICAgIHBhcmFtc0NsYXNzID0g
VXNiRGV2aWNlX0lzb2Nocm9ub3VzVHJhbnNmZXJJbl9SZXNwb25zZVBhcmFtczsKLSAgICAgICAg
YnJlYWs7Ci0gICAgICBjYXNlIGtVc2JEZXZpY2VfSXNvY2hyb25vdXNUcmFuc2Zlck91dF9OYW1l
OgotICAgICAgICBpZiAobWVzc2FnZS5pc1Jlc3BvbnNlKCkpCi0gICAgICAgICAgcGFyYW1zQ2xh
c3MgPSBVc2JEZXZpY2VfSXNvY2hyb25vdXNUcmFuc2Zlck91dF9SZXNwb25zZVBhcmFtczsKLSAg
ICAgICAgYnJlYWs7Ci0gICAgfQotICAgIGlmIChwYXJhbXNDbGFzcyA9PT0gbnVsbCkKLSAgICAg
IHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gICAgcmV0dXJuIHBhcmFt
c0NsYXNzLnZhbGlkYXRlKG1lc3NhZ2VWYWxpZGF0b3IsIG1lc3NhZ2VWYWxpZGF0b3IubWVzc2Fn
ZS5nZXRIZWFkZXJOdW1CeXRlcygpKTsKLSAgfQotCi0gIHZhciBVc2JEZXZpY2UgPSB7Ci0gICAg
bmFtZTogJ2RldmljZS5tb2pvbS5Vc2JEZXZpY2UnLAotICAgIGtWZXJzaW9uOiAwLAotICAgIHB0
ckNsYXNzOiBVc2JEZXZpY2VQdHIsCi0gICAgcHJveHlDbGFzczogVXNiRGV2aWNlUHJveHksCi0g
ICAgc3R1YkNsYXNzOiBVc2JEZXZpY2VTdHViLAotICAgIHZhbGlkYXRlUmVxdWVzdDogdmFsaWRh
dGVVc2JEZXZpY2VSZXF1ZXN0LAotICAgIHZhbGlkYXRlUmVzcG9uc2U6IHZhbGlkYXRlVXNiRGV2
aWNlUmVzcG9uc2UsCi0gIH07Ci0gIFVzYkRldmljZVN0dWIucHJvdG90eXBlLnZhbGlkYXRvciA9
IHZhbGlkYXRlVXNiRGV2aWNlUmVxdWVzdDsKLSAgVXNiRGV2aWNlUHJveHkucHJvdG90eXBlLnZh
bGlkYXRvciA9IHZhbGlkYXRlVXNiRGV2aWNlUmVzcG9uc2U7Ci0gIHZhciBrVXNiRGV2aWNlQ2xp
ZW50X09uRGV2aWNlT3BlbmVkX05hbWUgPSAwOwotICB2YXIga1VzYkRldmljZUNsaWVudF9PbkRl
dmljZUNsb3NlZF9OYW1lID0gMTsKLQotICBmdW5jdGlvbiBVc2JEZXZpY2VDbGllbnRQdHIoaGFu
ZGxlT3JQdHJJbmZvKSB7Ci0gICAgdGhpcy5wdHIgPSBuZXcgYmluZGluZ3MuSW50ZXJmYWNlUHRy
Q29udHJvbGxlcihVc2JEZXZpY2VDbGllbnQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVPclB0ckluZm8pOwotICB9Ci0KLSAgZnVuY3Rp
b24gVXNiRGV2aWNlQ2xpZW50QXNzb2NpYXRlZFB0cihhc3NvY2lhdGVkSW50ZXJmYWNlUHRySW5m
bykgewotICAgIHRoaXMucHRyID0gbmV3IGFzc29jaWF0ZWRCaW5kaW5ncy5Bc3NvY2lhdGVkSW50
ZXJmYWNlUHRyQ29udHJvbGxlcigKLSAgICAgICAgVXNiRGV2aWNlQ2xpZW50LCBhc3NvY2lhdGVk
SW50ZXJmYWNlUHRySW5mbyk7Ci0gIH0KLQotICBVc2JEZXZpY2VDbGllbnRBc3NvY2lhdGVkUHRy
LnByb3RvdHlwZSA9Ci0gICAgICBPYmplY3QuY3JlYXRlKFVzYkRldmljZUNsaWVudFB0ci5wcm90
b3R5cGUpOwotICBVc2JEZXZpY2VDbGllbnRBc3NvY2lhdGVkUHRyLnByb3RvdHlwZS5jb25zdHJ1
Y3RvciA9Ci0gICAgICBVc2JEZXZpY2VDbGllbnRBc3NvY2lhdGVkUHRyOwotCi0gIGZ1bmN0aW9u
IFVzYkRldmljZUNsaWVudFByb3h5KHJlY2VpdmVyKSB7Ci0gICAgdGhpcy5yZWNlaXZlcl8gPSBy
ZWNlaXZlcjsKLSAgfQotICBVc2JEZXZpY2VDbGllbnRQdHIucHJvdG90eXBlLm9uRGV2aWNlT3Bl
bmVkID0gZnVuY3Rpb24oKSB7Ci0gICAgcmV0dXJuIFVzYkRldmljZUNsaWVudFByb3h5LnByb3Rv
dHlwZS5vbkRldmljZU9wZW5lZAotICAgICAgICAuYXBwbHkodGhpcy5wdHIuZ2V0UHJveHkoKSwg
YXJndW1lbnRzKTsKLSAgfTsKLQotICBVc2JEZXZpY2VDbGllbnRQcm94eS5wcm90b3R5cGUub25E
ZXZpY2VPcGVuZWQgPSBmdW5jdGlvbigpIHsKLSAgICB2YXIgcGFyYW1zXyA9IG5ldyBVc2JEZXZp
Y2VDbGllbnRfT25EZXZpY2VPcGVuZWRfUGFyYW1zKCk7Ci0gICAgdmFyIGJ1aWxkZXIgPSBuZXcg
Y29kZWMuTWVzc2FnZVYwQnVpbGRlcigKLSAgICAgICAga1VzYkRldmljZUNsaWVudF9PbkRldmlj
ZU9wZW5lZF9OYW1lLAotICAgICAgICBjb2RlYy5hbGlnbihVc2JEZXZpY2VDbGllbnRfT25EZXZp
Y2VPcGVuZWRfUGFyYW1zLmVuY29kZWRTaXplKSk7Ci0gICAgYnVpbGRlci5lbmNvZGVTdHJ1Y3Qo
VXNiRGV2aWNlQ2xpZW50X09uRGV2aWNlT3BlbmVkX1BhcmFtcywgcGFyYW1zXyk7Ci0gICAgdmFy
IG1lc3NhZ2UgPSBidWlsZGVyLmZpbmlzaCgpOwotICAgIHRoaXMucmVjZWl2ZXJfLmFjY2VwdCht
ZXNzYWdlKTsKLSAgfTsKLSAgVXNiRGV2aWNlQ2xpZW50UHRyLnByb3RvdHlwZS5vbkRldmljZUNs
b3NlZCA9IGZ1bmN0aW9uKCkgewotICAgIHJldHVybiBVc2JEZXZpY2VDbGllbnRQcm94eS5wcm90
b3R5cGUub25EZXZpY2VDbG9zZWQKLSAgICAgICAgLmFwcGx5KHRoaXMucHRyLmdldFByb3h5KCks
IGFyZ3VtZW50cyk7Ci0gIH07Ci0KLSAgVXNiRGV2aWNlQ2xpZW50UHJveHkucHJvdG90eXBlLm9u
RGV2aWNlQ2xvc2VkID0gZnVuY3Rpb24oKSB7Ci0gICAgdmFyIHBhcmFtc18gPSBuZXcgVXNiRGV2
aWNlQ2xpZW50X09uRGV2aWNlQ2xvc2VkX1BhcmFtcygpOwotICAgIHZhciBidWlsZGVyID0gbmV3
IGNvZGVjLk1lc3NhZ2VWMEJ1aWxkZXIoCi0gICAgICAgIGtVc2JEZXZpY2VDbGllbnRfT25EZXZp
Y2VDbG9zZWRfTmFtZSwKLSAgICAgICAgY29kZWMuYWxpZ24oVXNiRGV2aWNlQ2xpZW50X09uRGV2
aWNlQ2xvc2VkX1BhcmFtcy5lbmNvZGVkU2l6ZSkpOwotICAgIGJ1aWxkZXIuZW5jb2RlU3RydWN0
KFVzYkRldmljZUNsaWVudF9PbkRldmljZUNsb3NlZF9QYXJhbXMsIHBhcmFtc18pOwotICAgIHZh
ciBtZXNzYWdlID0gYnVpbGRlci5maW5pc2goKTsKLSAgICB0aGlzLnJlY2VpdmVyXy5hY2NlcHQo
bWVzc2FnZSk7Ci0gIH07Ci0KLSAgZnVuY3Rpb24gVXNiRGV2aWNlQ2xpZW50U3R1YihkZWxlZ2F0
ZSkgewotICAgIHRoaXMuZGVsZWdhdGVfID0gZGVsZWdhdGU7Ci0gIH0KLSAgVXNiRGV2aWNlQ2xp
ZW50U3R1Yi5wcm90b3R5cGUub25EZXZpY2VPcGVuZWQgPSBmdW5jdGlvbigpIHsKLSAgICByZXR1
cm4gdGhpcy5kZWxlZ2F0ZV8gJiYgdGhpcy5kZWxlZ2F0ZV8ub25EZXZpY2VPcGVuZWQgJiYgdGhp
cy5kZWxlZ2F0ZV8ub25EZXZpY2VPcGVuZWQoKTsKLSAgfQotICBVc2JEZXZpY2VDbGllbnRTdHVi
LnByb3RvdHlwZS5vbkRldmljZUNsb3NlZCA9IGZ1bmN0aW9uKCkgewotICAgIHJldHVybiB0aGlz
LmRlbGVnYXRlXyAmJiB0aGlzLmRlbGVnYXRlXy5vbkRldmljZUNsb3NlZCAmJiB0aGlzLmRlbGVn
YXRlXy5vbkRldmljZUNsb3NlZCgpOwotICB9Ci0KLSAgVXNiRGV2aWNlQ2xpZW50U3R1Yi5wcm90
b3R5cGUuYWNjZXB0ID0gZnVuY3Rpb24obWVzc2FnZSkgewotICAgIHZhciByZWFkZXIgPSBuZXcg
Y29kZWMuTWVzc2FnZVJlYWRlcihtZXNzYWdlKTsKLSAgICBzd2l0Y2ggKHJlYWRlci5tZXNzYWdl
TmFtZSkgewotICAgIGNhc2Uga1VzYkRldmljZUNsaWVudF9PbkRldmljZU9wZW5lZF9OYW1lOgot
ICAgICAgdmFyIHBhcmFtcyA9IHJlYWRlci5kZWNvZGVTdHJ1Y3QoVXNiRGV2aWNlQ2xpZW50X09u
RGV2aWNlT3BlbmVkX1BhcmFtcyk7Ci0gICAgICB0aGlzLm9uRGV2aWNlT3BlbmVkKCk7Ci0gICAg
ICByZXR1cm4gdHJ1ZTsKLSAgICBjYXNlIGtVc2JEZXZpY2VDbGllbnRfT25EZXZpY2VDbG9zZWRf
TmFtZToKLSAgICAgIHZhciBwYXJhbXMgPSByZWFkZXIuZGVjb2RlU3RydWN0KFVzYkRldmljZUNs
aWVudF9PbkRldmljZUNsb3NlZF9QYXJhbXMpOwotICAgICAgdGhpcy5vbkRldmljZUNsb3NlZCgp
OwotICAgICAgcmV0dXJuIHRydWU7Ci0gICAgZGVmYXVsdDoKLSAgICAgIHJldHVybiBmYWxzZTsK
LSAgICB9Ci0gIH07Ci0KLSAgVXNiRGV2aWNlQ2xpZW50U3R1Yi5wcm90b3R5cGUuYWNjZXB0V2l0
aFJlc3BvbmRlciA9Ci0gICAgICBmdW5jdGlvbihtZXNzYWdlLCByZXNwb25kZXIpIHsKLSAgICB2
YXIgcmVhZGVyID0gbmV3IGNvZGVjLk1lc3NhZ2VSZWFkZXIobWVzc2FnZSk7Ci0gICAgc3dpdGNo
IChyZWFkZXIubWVzc2FnZU5hbWUpIHsKLSAgICBkZWZhdWx0OgotICAgICAgcmV0dXJuIGZhbHNl
OwotICAgIH0KLSAgfTsKLQotICBmdW5jdGlvbiB2YWxpZGF0ZVVzYkRldmljZUNsaWVudFJlcXVl
c3QobWVzc2FnZVZhbGlkYXRvcikgewotICAgIHZhciBtZXNzYWdlID0gbWVzc2FnZVZhbGlkYXRv
ci5tZXNzYWdlOwotICAgIHZhciBwYXJhbXNDbGFzcyA9IG51bGw7Ci0gICAgc3dpdGNoIChtZXNz
YWdlLmdldE5hbWUoKSkgewotICAgICAgY2FzZSBrVXNiRGV2aWNlQ2xpZW50X09uRGV2aWNlT3Bl
bmVkX05hbWU6Ci0gICAgICAgIGlmICghbWVzc2FnZS5leHBlY3RzUmVzcG9uc2UoKSAmJiAhbWVz
c2FnZS5pc1Jlc3BvbnNlKCkpCi0gICAgICAgICAgcGFyYW1zQ2xhc3MgPSBVc2JEZXZpY2VDbGll
bnRfT25EZXZpY2VPcGVuZWRfUGFyYW1zOwotICAgICAgYnJlYWs7Ci0gICAgICBjYXNlIGtVc2JE
ZXZpY2VDbGllbnRfT25EZXZpY2VDbG9zZWRfTmFtZToKLSAgICAgICAgaWYgKCFtZXNzYWdlLmV4
cGVjdHNSZXNwb25zZSgpICYmICFtZXNzYWdlLmlzUmVzcG9uc2UoKSkKLSAgICAgICAgICBwYXJh
bXNDbGFzcyA9IFVzYkRldmljZUNsaWVudF9PbkRldmljZUNsb3NlZF9QYXJhbXM7Ci0gICAgICBi
cmVhazsKLSAgICB9Ci0gICAgaWYgKHBhcmFtc0NsYXNzID09PSBudWxsKQotICAgICAgcmV0dXJu
IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAgICByZXR1cm4gcGFyYW1zQ2xhc3Mu
dmFsaWRhdGUobWVzc2FnZVZhbGlkYXRvciwgbWVzc2FnZVZhbGlkYXRvci5tZXNzYWdlLmdldEhl
YWRlck51bUJ5dGVzKCkpOwotICB9Ci0KLSAgZnVuY3Rpb24gdmFsaWRhdGVVc2JEZXZpY2VDbGll
bnRSZXNwb25zZShtZXNzYWdlVmFsaWRhdG9yKSB7Ci0gICAgcmV0dXJuIHZhbGlkYXRvci52YWxp
ZGF0aW9uRXJyb3IuTk9ORTsKLSAgfQotCi0gIHZhciBVc2JEZXZpY2VDbGllbnQgPSB7Ci0gICAg
bmFtZTogJ2RldmljZS5tb2pvbS5Vc2JEZXZpY2VDbGllbnQnLAotICAgIGtWZXJzaW9uOiAwLAot
ICAgIHB0ckNsYXNzOiBVc2JEZXZpY2VDbGllbnRQdHIsCi0gICAgcHJveHlDbGFzczogVXNiRGV2
aWNlQ2xpZW50UHJveHksCi0gICAgc3R1YkNsYXNzOiBVc2JEZXZpY2VDbGllbnRTdHViLAotICAg
IHZhbGlkYXRlUmVxdWVzdDogdmFsaWRhdGVVc2JEZXZpY2VDbGllbnRSZXF1ZXN0LAotICAgIHZh
bGlkYXRlUmVzcG9uc2U6IG51bGwsCi0gIH07Ci0gIFVzYkRldmljZUNsaWVudFN0dWIucHJvdG90
eXBlLnZhbGlkYXRvciA9IHZhbGlkYXRlVXNiRGV2aWNlQ2xpZW50UmVxdWVzdDsKLSAgVXNiRGV2
aWNlQ2xpZW50UHJveHkucHJvdG90eXBlLnZhbGlkYXRvciA9IG51bGw7Ci0gIGV4cG9ydHMuVXNi
T3BlbkRldmljZUVycm9yID0gVXNiT3BlbkRldmljZUVycm9yOwotICBleHBvcnRzLlVzYlRyYW5z
ZmVyRGlyZWN0aW9uID0gVXNiVHJhbnNmZXJEaXJlY3Rpb247Ci0gIGV4cG9ydHMuVXNiQ29udHJv
bFRyYW5zZmVyVHlwZSA9IFVzYkNvbnRyb2xUcmFuc2ZlclR5cGU7Ci0gIGV4cG9ydHMuVXNiQ29u
dHJvbFRyYW5zZmVyUmVjaXBpZW50ID0gVXNiQ29udHJvbFRyYW5zZmVyUmVjaXBpZW50OwotICBl
eHBvcnRzLlVzYlRyYW5zZmVyVHlwZSA9IFVzYlRyYW5zZmVyVHlwZTsKLSAgZXhwb3J0cy5Vc2JT
eW5jaHJvbml6YXRpb25UeXBlID0gVXNiU3luY2hyb25pemF0aW9uVHlwZTsKLSAgZXhwb3J0cy5V
c2JVc2FnZVR5cGUgPSBVc2JVc2FnZVR5cGU7Ci0gIGV4cG9ydHMuVXNiVHJhbnNmZXJTdGF0dXMg
PSBVc2JUcmFuc2ZlclN0YXR1czsKLSAgZXhwb3J0cy5Vc2JFbmRwb2ludEluZm8gPSBVc2JFbmRw
b2ludEluZm87Ci0gIGV4cG9ydHMuVXNiQWx0ZXJuYXRlSW50ZXJmYWNlSW5mbyA9IFVzYkFsdGVy
bmF0ZUludGVyZmFjZUluZm87Ci0gIGV4cG9ydHMuVXNiSW50ZXJmYWNlSW5mbyA9IFVzYkludGVy
ZmFjZUluZm87Ci0gIGV4cG9ydHMuVXNiQ29uZmlndXJhdGlvbkluZm8gPSBVc2JDb25maWd1cmF0
aW9uSW5mbzsKLSAgZXhwb3J0cy5Vc2JEZXZpY2VJbmZvID0gVXNiRGV2aWNlSW5mbzsKLSAgZXhw
b3J0cy5Vc2JDb250cm9sVHJhbnNmZXJQYXJhbXMgPSBVc2JDb250cm9sVHJhbnNmZXJQYXJhbXM7
Ci0gIGV4cG9ydHMuVXNiSXNvY2hyb25vdXNQYWNrZXQgPSBVc2JJc29jaHJvbm91c1BhY2tldDsK
LSAgZXhwb3J0cy5Vc2JEZXZpY2UgPSBVc2JEZXZpY2U7Ci0gIGV4cG9ydHMuVXNiRGV2aWNlUHRy
ID0gVXNiRGV2aWNlUHRyOwotICBleHBvcnRzLlVzYkRldmljZUFzc29jaWF0ZWRQdHIgPSBVc2JE
ZXZpY2VBc3NvY2lhdGVkUHRyOwotICBleHBvcnRzLlVzYkRldmljZUNsaWVudCA9IFVzYkRldmlj
ZUNsaWVudDsKLSAgZXhwb3J0cy5Vc2JEZXZpY2VDbGllbnRQdHIgPSBVc2JEZXZpY2VDbGllbnRQ
dHI7Ci0gIGV4cG9ydHMuVXNiRGV2aWNlQ2xpZW50QXNzb2NpYXRlZFB0ciA9IFVzYkRldmljZUNs
aWVudEFzc29jaWF0ZWRQdHI7Ci19KSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vZGV2aWNlLm1vam9t
LmpzLmhlYWRlcnMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy9jaHJvbWl1bS9kZXZpY2UubW9qb20uanMuaGVhZGVycwpkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggNjgwNWMzMjNkZjUuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL2Rl
dmljZS5tb2pvbS5qcy5oZWFkZXJzCisrKyAvZGV2L251bGwKQEAgLTEgKzAsMCBAQAotQ29udGVu
dC1UeXBlOiB0ZXh0L2phdmFzY3JpcHQ7IGNoYXJzZXQ9dXRmLTgKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVt
L2RldmljZV9lbnVtZXJhdGlvbl9vcHRpb25zLm1vam9tLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vZGV2aWNlX2VudW1l
cmF0aW9uX29wdGlvbnMubW9qb20uanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDVh
Nzc1YWQzNjg3Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS9kZXZpY2VfZW51bWVyYXRpb25fb3B0
aW9ucy5tb2pvbS5qcworKysgL2Rldi9udWxsCkBAIC0xLDE4NCArMCwwIEBACi0vLyBDb3B5cmln
aHQgMjAxNCBUaGUgQ2hyb21pdW0gQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLS8vIFVz
ZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2Ug
dGhhdCBjYW4gYmUKLS8vIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCi0KLSd1c2Ugc3RyaWN0
JzsKLQotKGZ1bmN0aW9uKCkgewotICB2YXIgbW9qb21JZCA9ICdkZXZpY2UvdXNiL3B1YmxpYy9t
b2pvbS9kZXZpY2VfZW51bWVyYXRpb25fb3B0aW9ucy5tb2pvbSc7Ci0gIGlmIChtb2pvLmludGVy
bmFsLmlzTW9qb21Mb2FkZWQobW9qb21JZCkpIHsKLSAgICBjb25zb2xlLndhcm4oJ1RoZSBmb2xs
b3dpbmcgbW9qb20gaXMgbG9hZGVkIG11bHRpcGxlIHRpbWVzOiAnICsgbW9qb21JZCk7Ci0gICAg
cmV0dXJuOwotICB9Ci0gIG1vam8uaW50ZXJuYWwubWFya01vam9tTG9hZGVkKG1vam9tSWQpOwot
ICB2YXIgYmluZGluZ3MgPSBtb2pvOwotICB2YXIgYXNzb2NpYXRlZEJpbmRpbmdzID0gbW9qbzsK
LSAgdmFyIGNvZGVjID0gbW9qby5pbnRlcm5hbDsKLSAgdmFyIHZhbGlkYXRvciA9IG1vam8uaW50
ZXJuYWw7Ci0KLSAgdmFyIGV4cG9ydHMgPSBtb2pvLmludGVybmFsLmV4cG9zZU5hbWVzcGFjZSgn
ZGV2aWNlLm1vam9tJyk7Ci0gIHZhciBzdHJpbmcxNiQgPQotICAgICAgbW9qby5pbnRlcm5hbC5l
eHBvc2VOYW1lc3BhY2UoJ21vam9CYXNlLm1vam9tJyk7Ci0gIGlmIChtb2pvLmNvbmZpZy5hdXRv
TG9hZE1vam9tRGVwcykgewotICAgIG1vam8uaW50ZXJuYWwubG9hZE1vam9tSWZOZWNlc3Nhcnko
Ci0gICAgICAgICdtb2pvL3B1YmxpYy9tb2pvbS9iYXNlL3N0cmluZzE2Lm1vam9tJywgJy4uLy4u
Ly4uLy4uL21vam8vcHVibGljL21vam9tL2Jhc2Uvc3RyaW5nMTYubW9qb20uanMnKTsKLSAgfQot
Ci0KLQotICBmdW5jdGlvbiBVc2JEZXZpY2VGaWx0ZXIodmFsdWVzKSB7Ci0gICAgdGhpcy5pbml0
RGVmYXVsdHNfKCk7Ci0gICAgdGhpcy5pbml0RmllbGRzXyh2YWx1ZXMpOwotICB9Ci0KLQotICBV
c2JEZXZpY2VGaWx0ZXIucHJvdG90eXBlLmluaXREZWZhdWx0c18gPSBmdW5jdGlvbigpIHsKLSAg
ICB0aGlzLmhhc1ZlbmRvcklkID0gZmFsc2U7Ci0gICAgdGhpcy5oYXNQcm9kdWN0SWQgPSBmYWxz
ZTsKLSAgICB0aGlzLmhhc0NsYXNzQ29kZSA9IGZhbHNlOwotICAgIHRoaXMuaGFzU3ViY2xhc3ND
b2RlID0gZmFsc2U7Ci0gICAgdGhpcy5oYXNQcm90b2NvbENvZGUgPSBmYWxzZTsKLSAgICB0aGlz
LmNsYXNzQ29kZSA9IDA7Ci0gICAgdGhpcy52ZW5kb3JJZCA9IDA7Ci0gICAgdGhpcy5wcm9kdWN0
SWQgPSAwOwotICAgIHRoaXMuc3ViY2xhc3NDb2RlID0gMDsKLSAgICB0aGlzLnByb3RvY29sQ29k
ZSA9IDA7Ci0gICAgdGhpcy5zZXJpYWxOdW1iZXIgPSBudWxsOwotICB9OwotICBVc2JEZXZpY2VG
aWx0ZXIucHJvdG90eXBlLmluaXRGaWVsZHNfID0gZnVuY3Rpb24oZmllbGRzKSB7Ci0gICAgZm9y
KHZhciBmaWVsZCBpbiBmaWVsZHMpIHsKLSAgICAgICAgaWYgKHRoaXMuaGFzT3duUHJvcGVydHko
ZmllbGQpKQotICAgICAgICAgIHRoaXNbZmllbGRdID0gZmllbGRzW2ZpZWxkXTsKLSAgICB9Ci0g
IH07Ci0KLSAgVXNiRGV2aWNlRmlsdGVyLnZhbGlkYXRlID0gZnVuY3Rpb24obWVzc2FnZVZhbGlk
YXRvciwgb2Zmc2V0KSB7Ci0gICAgdmFyIGVycjsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9y
LnZhbGlkYXRlU3RydWN0SGVhZGVyKG9mZnNldCwgY29kZWMua1N0cnVjdEhlYWRlclNpemUpOwot
ICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAg
cmV0dXJuIGVycjsKLQotICAgIHZhciBrVmVyc2lvblNpemVzID0gWwotICAgICAge3ZlcnNpb246
IDAsIG51bUJ5dGVzOiAyNH0KLSAgICBdOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFs
aWRhdGVTdHJ1Y3RWZXJzaW9uKG9mZnNldCwga1ZlcnNpb25TaXplcyk7Ci0gICAgaWYgKGVyciAh
PT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwot
Ci0KLQotCi0KLQotCi0KLQotCi0KLQotICAgIC8vIHZhbGlkYXRlIFVzYkRldmljZUZpbHRlci5z
ZXJpYWxOdW1iZXIKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0UG9p
bnRlcihvZmZzZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDgsIHN0cmluZzE2JC5TdHJp
bmcxNiwgdHJ1ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5O
T05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0
aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQotICBVc2JEZXZpY2VGaWx0ZXIuZW5jb2RlZFNpemUgPSBj
b2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDE2OwotCi0gIFVzYkRldmljZUZpbHRlci5kZWNvZGUg
PSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICB2YXIgdmFsID0gbmV3
IFVzYkRldmljZUZpbHRlcigpOwotICAgIHZhciBudW1iZXJPZkJ5dGVzID0gZGVjb2Rlci5yZWFk
VWludDMyKCk7Ci0gICAgdmFyIHZlcnNpb24gPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICBw
YWNrZWQgPSBkZWNvZGVyLnJlYWRVaW50OCgpOwotICAgIHZhbC5oYXNWZW5kb3JJZCA9IChwYWNr
ZWQgPj4gMCkgJiAxID8gdHJ1ZSA6IGZhbHNlOwotICAgIHZhbC5oYXNQcm9kdWN0SWQgPSAocGFj
a2VkID4+IDEpICYgMSA/IHRydWUgOiBmYWxzZTsKLSAgICB2YWwuaGFzQ2xhc3NDb2RlID0gKHBh
Y2tlZCA+PiAyKSAmIDEgPyB0cnVlIDogZmFsc2U7Ci0gICAgdmFsLmhhc1N1YmNsYXNzQ29kZSA9
IChwYWNrZWQgPj4gMykgJiAxID8gdHJ1ZSA6IGZhbHNlOwotICAgIHZhbC5oYXNQcm90b2NvbENv
ZGUgPSAocGFja2VkID4+IDQpICYgMSA/IHRydWUgOiBmYWxzZTsKLSAgICB2YWwuY2xhc3NDb2Rl
ID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoY29kZWMuVWludDgpOwotICAgIHZhbC52ZW5kb3JJZCA9
IGRlY29kZXIuZGVjb2RlU3RydWN0KGNvZGVjLlVpbnQxNik7Ci0gICAgdmFsLnByb2R1Y3RJZCA9
IGRlY29kZXIuZGVjb2RlU3RydWN0KGNvZGVjLlVpbnQxNik7Ci0gICAgdmFsLnN1YmNsYXNzQ29k
ZSA9IGRlY29kZXIuZGVjb2RlU3RydWN0KGNvZGVjLlVpbnQ4KTsKLSAgICB2YWwucHJvdG9jb2xD
b2RlID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoY29kZWMuVWludDgpOwotICAgIHZhbC5zZXJpYWxO
dW1iZXIgPSBkZWNvZGVyLmRlY29kZVN0cnVjdFBvaW50ZXIoc3RyaW5nMTYkLlN0cmluZzE2KTsK
LSAgICByZXR1cm4gdmFsOwotICB9OwotCi0gIFVzYkRldmljZUZpbHRlci5lbmNvZGUgPSBmdW5j
dGlvbihlbmNvZGVyLCB2YWwpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIGVuY29kZXIud3JpdGVV
aW50MzIoVXNiRGV2aWNlRmlsdGVyLmVuY29kZWRTaXplKTsKLSAgICBlbmNvZGVyLndyaXRlVWlu
dDMyKDApOwotICAgIHBhY2tlZCA9IDA7Ci0gICAgcGFja2VkIHw9ICh2YWwuaGFzVmVuZG9ySWQg
JiAxKSA8PCAwCi0gICAgcGFja2VkIHw9ICh2YWwuaGFzUHJvZHVjdElkICYgMSkgPDwgMQotICAg
IHBhY2tlZCB8PSAodmFsLmhhc0NsYXNzQ29kZSAmIDEpIDw8IDIKLSAgICBwYWNrZWQgfD0gKHZh
bC5oYXNTdWJjbGFzc0NvZGUgJiAxKSA8PCAzCi0gICAgcGFja2VkIHw9ICh2YWwuaGFzUHJvdG9j
b2xDb2RlICYgMSkgPDwgNAotICAgIGVuY29kZXIud3JpdGVVaW50OChwYWNrZWQpOwotICAgIGVu
Y29kZXIuZW5jb2RlU3RydWN0KGNvZGVjLlVpbnQ4LCB2YWwuY2xhc3NDb2RlKTsKLSAgICBlbmNv
ZGVyLmVuY29kZVN0cnVjdChjb2RlYy5VaW50MTYsIHZhbC52ZW5kb3JJZCk7Ci0gICAgZW5jb2Rl
ci5lbmNvZGVTdHJ1Y3QoY29kZWMuVWludDE2LCB2YWwucHJvZHVjdElkKTsKLSAgICBlbmNvZGVy
LmVuY29kZVN0cnVjdChjb2RlYy5VaW50OCwgdmFsLnN1YmNsYXNzQ29kZSk7Ci0gICAgZW5jb2Rl
ci5lbmNvZGVTdHJ1Y3QoY29kZWMuVWludDgsIHZhbC5wcm90b2NvbENvZGUpOwotICAgIGVuY29k
ZXIuZW5jb2RlU3RydWN0UG9pbnRlcihzdHJpbmcxNiQuU3RyaW5nMTYsIHZhbC5zZXJpYWxOdW1i
ZXIpOwotICB9OwotICBmdW5jdGlvbiBVc2JFbnVtZXJhdGlvbk9wdGlvbnModmFsdWVzKSB7Ci0g
ICAgdGhpcy5pbml0RGVmYXVsdHNfKCk7Ci0gICAgdGhpcy5pbml0RmllbGRzXyh2YWx1ZXMpOwot
ICB9Ci0KLQotICBVc2JFbnVtZXJhdGlvbk9wdGlvbnMucHJvdG90eXBlLmluaXREZWZhdWx0c18g
PSBmdW5jdGlvbigpIHsKLSAgICB0aGlzLmZpbHRlcnMgPSBudWxsOwotICB9OwotICBVc2JFbnVt
ZXJhdGlvbk9wdGlvbnMucHJvdG90eXBlLmluaXRGaWVsZHNfID0gZnVuY3Rpb24oZmllbGRzKSB7
Ci0gICAgZm9yKHZhciBmaWVsZCBpbiBmaWVsZHMpIHsKLSAgICAgICAgaWYgKHRoaXMuaGFzT3du
UHJvcGVydHkoZmllbGQpKQotICAgICAgICAgIHRoaXNbZmllbGRdID0gZmllbGRzW2ZpZWxkXTsK
LSAgICB9Ci0gIH07Ci0KLSAgVXNiRW51bWVyYXRpb25PcHRpb25zLnZhbGlkYXRlID0gZnVuY3Rp
b24obWVzc2FnZVZhbGlkYXRvciwgb2Zmc2V0KSB7Ci0gICAgdmFyIGVycjsKLSAgICBlcnIgPSBt
ZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0SGVhZGVyKG9mZnNldCwgY29kZWMua1N0cnVj
dEhlYWRlclNpemUpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3Iu
Tk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHZhciBrVmVyc2lvblNpemVzID0gWwot
ICAgICAge3ZlcnNpb246IDAsIG51bUJ5dGVzOiAxNn0KLSAgICBdOwotICAgIGVyciA9IG1lc3Nh
Z2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RWZXJzaW9uKG9mZnNldCwga1ZlcnNpb25TaXplcyk7
Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAg
ICByZXR1cm4gZXJyOwotCi0KLSAgICAvLyB2YWxpZGF0ZSBVc2JFbnVtZXJhdGlvbk9wdGlvbnMu
ZmlsdGVycwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVBcnJheVBvaW50ZXIo
b2Zmc2V0ICsgY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyAwLCA4LCBuZXcgY29kZWMuUG9pbnRl
clRvKFVzYkRldmljZUZpbHRlciksIGZhbHNlLCBbMF0sIDApOwotICAgIGlmIChlcnIgIT09IHZh
bGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAg
IHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gIH07Ci0KLSAgVXNiRW51
bWVyYXRpb25PcHRpb25zLmVuY29kZWRTaXplID0gY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyA4
OwotCi0gIFVzYkVudW1lcmF0aW9uT3B0aW9ucy5kZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7
Ci0gICAgdmFyIHBhY2tlZDsKLSAgICB2YXIgdmFsID0gbmV3IFVzYkVudW1lcmF0aW9uT3B0aW9u
cygpOwotICAgIHZhciBudW1iZXJPZkJ5dGVzID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAg
dmFyIHZlcnNpb24gPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YWwuZmlsdGVycyA9IGRl
Y29kZXIuZGVjb2RlQXJyYXlQb2ludGVyKG5ldyBjb2RlYy5Qb2ludGVyVG8oVXNiRGV2aWNlRmls
dGVyKSk7Ci0gICAgcmV0dXJuIHZhbDsKLSAgfTsKLQotICBVc2JFbnVtZXJhdGlvbk9wdGlvbnMu
ZW5jb2RlID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICBl
bmNvZGVyLndyaXRlVWludDMyKFVzYkVudW1lcmF0aW9uT3B0aW9ucy5lbmNvZGVkU2l6ZSk7Ci0g
ICAgZW5jb2Rlci53cml0ZVVpbnQzMigwKTsKLSAgICBlbmNvZGVyLmVuY29kZUFycmF5UG9pbnRl
cihuZXcgY29kZWMuUG9pbnRlclRvKFVzYkRldmljZUZpbHRlciksIHZhbC5maWx0ZXJzKTsKLSAg
fTsKLSAgZXhwb3J0cy5Vc2JEZXZpY2VGaWx0ZXIgPSBVc2JEZXZpY2VGaWx0ZXI7Ci0gIGV4cG9y
dHMuVXNiRW51bWVyYXRpb25PcHRpb25zID0gVXNiRW51bWVyYXRpb25PcHRpb25zOwotfSkoKTsK
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS9kZXZpY2VfZW51
bWVyYXRpb25fb3B0aW9ucy5tb2pvbS5qcy5oZWFkZXJzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vZGV2aWNlX2VudW1lcmF0
aW9uX29wdGlvbnMubW9qb20uanMuaGVhZGVycwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggNmM2MWEzNGE0ZWMuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL2RldmljZV9lbnVtZXJhdGlv
bl9vcHRpb25zLm1vam9tLmpzLmhlYWRlcnMKKysrIC9kZXYvbnVsbApAQCAtMSArMCwwIEBACi1D
b250ZW50LVR5cGU6IHRleHQvamF2YXNjcmlwdDsgY2hhcnNldD11dGYtOApcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL2RldmljZV9tYW5hZ2VyX2NsaWVudC5t
b2pvbS5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL2Nocm9taXVtL2RldmljZV9tYW5hZ2VyX2NsaWVudC5tb2pvbS5qcwpkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggNDM5ZjY0NjU3NGQuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVt
L2RldmljZV9tYW5hZ2VyX2NsaWVudC5tb2pvbS5qcworKysgL2Rldi9udWxsCkBAIC0xLDI2MiAr
MCwwIEBACi0vLyBDb3B5cmlnaHQgMjAxNCBUaGUgQ2hyb21pdW0gQXV0aG9ycy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KLS8vIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEg
QlNELXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKLS8vIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZp
bGUuCi0KLSd1c2Ugc3RyaWN0JzsKLQotKGZ1bmN0aW9uKCkgewotICB2YXIgbW9qb21JZCA9ICdk
ZXZpY2UvdXNiL3B1YmxpYy9tb2pvbS9kZXZpY2VfbWFuYWdlcl9jbGllbnQubW9qb20nOwotICBp
ZiAobW9qby5pbnRlcm5hbC5pc01vam9tTG9hZGVkKG1vam9tSWQpKSB7Ci0gICAgY29uc29sZS53
YXJuKCdUaGUgZm9sbG93aW5nIG1vam9tIGlzIGxvYWRlZCBtdWx0aXBsZSB0aW1lczogJyArIG1v
am9tSWQpOwotICAgIHJldHVybjsKLSAgfQotICBtb2pvLmludGVybmFsLm1hcmtNb2pvbUxvYWRl
ZChtb2pvbUlkKTsKLSAgdmFyIGJpbmRpbmdzID0gbW9qbzsKLSAgdmFyIGFzc29jaWF0ZWRCaW5k
aW5ncyA9IG1vam87Ci0gIHZhciBjb2RlYyA9IG1vam8uaW50ZXJuYWw7Ci0gIHZhciB2YWxpZGF0
b3IgPSBtb2pvLmludGVybmFsOwotCi0gIHZhciBleHBvcnRzID0gbW9qby5pbnRlcm5hbC5leHBv
c2VOYW1lc3BhY2UoJ2RldmljZS5tb2pvbScpOwotICB2YXIgZGV2aWNlJCA9Ci0gICAgICBtb2pv
LmludGVybmFsLmV4cG9zZU5hbWVzcGFjZSgnZGV2aWNlLm1vam9tJyk7Ci0gIGlmIChtb2pvLmNv
bmZpZy5hdXRvTG9hZE1vam9tRGVwcykgewotICAgIG1vam8uaW50ZXJuYWwubG9hZE1vam9tSWZO
ZWNlc3NhcnkoCi0gICAgICAgICdkZXZpY2UvdXNiL3B1YmxpYy9tb2pvbS9kZXZpY2UubW9qb20n
LCAnZGV2aWNlLm1vam9tLmpzJyk7Ci0gIH0KLQotCi0KLSAgZnVuY3Rpb24gVXNiRGV2aWNlTWFu
YWdlckNsaWVudF9PbkRldmljZUFkZGVkX1BhcmFtcyh2YWx1ZXMpIHsKLSAgICB0aGlzLmluaXRE
ZWZhdWx0c18oKTsKLSAgICB0aGlzLmluaXRGaWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0gIFVz
YkRldmljZU1hbmFnZXJDbGllbnRfT25EZXZpY2VBZGRlZF9QYXJhbXMucHJvdG90eXBlLmluaXRE
ZWZhdWx0c18gPSBmdW5jdGlvbigpIHsKLSAgICB0aGlzLmRldmljZUluZm8gPSBudWxsOwotICB9
OwotICBVc2JEZXZpY2VNYW5hZ2VyQ2xpZW50X09uRGV2aWNlQWRkZWRfUGFyYW1zLnByb3RvdHlw
ZS5pbml0RmllbGRzXyA9IGZ1bmN0aW9uKGZpZWxkcykgewotICAgIGZvcih2YXIgZmllbGQgaW4g
ZmllbGRzKSB7Ci0gICAgICAgIGlmICh0aGlzLmhhc093blByb3BlcnR5KGZpZWxkKSkKLSAgICAg
ICAgICB0aGlzW2ZpZWxkXSA9IGZpZWxkc1tmaWVsZF07Ci0gICAgfQotICB9OwotCi0gIFVzYkRl
dmljZU1hbmFnZXJDbGllbnRfT25EZXZpY2VBZGRlZF9QYXJhbXMudmFsaWRhdGUgPSBmdW5jdGlv
bihtZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsKLSAgICB2YXIgZXJyOwotICAgIGVyciA9IG1l
c3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RIZWFkZXIob2Zmc2V0LCBjb2RlYy5rU3RydWN0
SGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5O
T05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgdmFyIGtWZXJzaW9uU2l6ZXMgPSBbCi0g
ICAgICB7dmVyc2lvbjogMCwgbnVtQnl0ZXM6IDE2fQotICAgIF07Ci0gICAgZXJyID0gbWVzc2Fn
ZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFZlcnNpb24ob2Zmc2V0LCBrVmVyc2lvblNpemVzKTsK
LSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAg
IHJldHVybiBlcnI7Ci0KLQotICAgIC8vIHZhbGlkYXRlIFVzYkRldmljZU1hbmFnZXJDbGllbnRf
T25EZXZpY2VBZGRlZF9QYXJhbXMuZGV2aWNlSW5mbwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0
b3IudmFsaWRhdGVTdHJ1Y3RQb2ludGVyKG9mZnNldCArIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXpl
ICsgMCwgZGV2aWNlJC5Vc2JEZXZpY2VJbmZvLCBmYWxzZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFs
aWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAg
cmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQotICBVc2JEZXZp
Y2VNYW5hZ2VyQ2xpZW50X09uRGV2aWNlQWRkZWRfUGFyYW1zLmVuY29kZWRTaXplID0gY29kZWMu
a1N0cnVjdEhlYWRlclNpemUgKyA4OwotCi0gIFVzYkRldmljZU1hbmFnZXJDbGllbnRfT25EZXZp
Y2VBZGRlZF9QYXJhbXMuZGVjb2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHZhciBwYWNr
ZWQ7Ci0gICAgdmFyIHZhbCA9IG5ldyBVc2JEZXZpY2VNYW5hZ2VyQ2xpZW50X09uRGV2aWNlQWRk
ZWRfUGFyYW1zKCk7Ci0gICAgdmFyIG51bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50MzIo
KTsKLSAgICB2YXIgdmVyc2lvbiA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhbC5kZXZp
Y2VJbmZvID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3RQb2ludGVyKGRldmljZSQuVXNiRGV2aWNlSW5m
byk7Ci0gICAgcmV0dXJuIHZhbDsKLSAgfTsKLQotICBVc2JEZXZpY2VNYW5hZ2VyQ2xpZW50X09u
RGV2aWNlQWRkZWRfUGFyYW1zLmVuY29kZSA9IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAg
IHZhciBwYWNrZWQ7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMihVc2JEZXZpY2VNYW5hZ2VyQ2xp
ZW50X09uRGV2aWNlQWRkZWRfUGFyYW1zLmVuY29kZWRTaXplKTsKLSAgICBlbmNvZGVyLndyaXRl
VWludDMyKDApOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0UG9pbnRlcihkZXZpY2UkLlVzYkRl
dmljZUluZm8sIHZhbC5kZXZpY2VJbmZvKTsKLSAgfTsKLSAgZnVuY3Rpb24gVXNiRGV2aWNlTWFu
YWdlckNsaWVudF9PbkRldmljZVJlbW92ZWRfUGFyYW1zKHZhbHVlcykgewotICAgIHRoaXMuaW5p
dERlZmF1bHRzXygpOwotICAgIHRoaXMuaW5pdEZpZWxkc18odmFsdWVzKTsKLSAgfQotCi0KLSAg
VXNiRGV2aWNlTWFuYWdlckNsaWVudF9PbkRldmljZVJlbW92ZWRfUGFyYW1zLnByb3RvdHlwZS5p
bml0RGVmYXVsdHNfID0gZnVuY3Rpb24oKSB7Ci0gICAgdGhpcy5kZXZpY2VJbmZvID0gbnVsbDsK
LSAgfTsKLSAgVXNiRGV2aWNlTWFuYWdlckNsaWVudF9PbkRldmljZVJlbW92ZWRfUGFyYW1zLnBy
b3RvdHlwZS5pbml0RmllbGRzXyA9IGZ1bmN0aW9uKGZpZWxkcykgewotICAgIGZvcih2YXIgZmll
bGQgaW4gZmllbGRzKSB7Ci0gICAgICAgIGlmICh0aGlzLmhhc093blByb3BlcnR5KGZpZWxkKSkK
LSAgICAgICAgICB0aGlzW2ZpZWxkXSA9IGZpZWxkc1tmaWVsZF07Ci0gICAgfQotICB9OwotCi0g
IFVzYkRldmljZU1hbmFnZXJDbGllbnRfT25EZXZpY2VSZW1vdmVkX1BhcmFtcy52YWxpZGF0ZSA9
IGZ1bmN0aW9uKG1lc3NhZ2VWYWxpZGF0b3IsIG9mZnNldCkgewotICAgIHZhciBlcnI7Ci0gICAg
ZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdEhlYWRlcihvZmZzZXQsIGNvZGVj
LmtTdHJ1Y3RIZWFkZXJTaXplKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlv
bkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICB2YXIga1ZlcnNpb25TaXpl
cyA9IFsKLSAgICAgIHt2ZXJzaW9uOiAwLCBudW1CeXRlczogMTZ9Ci0gICAgXTsKLSAgICBlcnIg
PSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0VmVyc2lvbihvZmZzZXQsIGtWZXJzaW9u
U2l6ZXMpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkK
LSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0gICAgLy8gdmFsaWRhdGUgVXNiRGV2aWNlTWFuYWdl
ckNsaWVudF9PbkRldmljZVJlbW92ZWRfUGFyYW1zLmRldmljZUluZm8KLSAgICBlcnIgPSBtZXNz
YWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0UG9pbnRlcihvZmZzZXQgKyBjb2RlYy5rU3RydWN0
SGVhZGVyU2l6ZSArIDAsIGRldmljZSQuVXNiRGV2aWNlSW5mbywgZmFsc2UpOwotICAgIGlmIChl
cnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVy
cjsKLQotICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gIH07Ci0K
LSAgVXNiRGV2aWNlTWFuYWdlckNsaWVudF9PbkRldmljZVJlbW92ZWRfUGFyYW1zLmVuY29kZWRT
aXplID0gY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyA4OwotCi0gIFVzYkRldmljZU1hbmFnZXJD
bGllbnRfT25EZXZpY2VSZW1vdmVkX1BhcmFtcy5kZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7
Ci0gICAgdmFyIHBhY2tlZDsKLSAgICB2YXIgdmFsID0gbmV3IFVzYkRldmljZU1hbmFnZXJDbGll
bnRfT25EZXZpY2VSZW1vdmVkX1BhcmFtcygpOwotICAgIHZhciBudW1iZXJPZkJ5dGVzID0gZGVj
b2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFyIHZlcnNpb24gPSBkZWNvZGVyLnJlYWRVaW50MzIo
KTsKLSAgICB2YWwuZGV2aWNlSW5mbyA9IGRlY29kZXIuZGVjb2RlU3RydWN0UG9pbnRlcihkZXZp
Y2UkLlVzYkRldmljZUluZm8pOwotICAgIHJldHVybiB2YWw7Ci0gIH07Ci0KLSAgVXNiRGV2aWNl
TWFuYWdlckNsaWVudF9PbkRldmljZVJlbW92ZWRfUGFyYW1zLmVuY29kZSA9IGZ1bmN0aW9uKGVu
Y29kZXIsIHZhbCkgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMihV
c2JEZXZpY2VNYW5hZ2VyQ2xpZW50X09uRGV2aWNlUmVtb3ZlZF9QYXJhbXMuZW5jb2RlZFNpemUp
OwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoMCk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3RQ
b2ludGVyKGRldmljZSQuVXNiRGV2aWNlSW5mbywgdmFsLmRldmljZUluZm8pOwotICB9OwotICB2
YXIga1VzYkRldmljZU1hbmFnZXJDbGllbnRfT25EZXZpY2VBZGRlZF9OYW1lID0gMDsKLSAgdmFy
IGtVc2JEZXZpY2VNYW5hZ2VyQ2xpZW50X09uRGV2aWNlUmVtb3ZlZF9OYW1lID0gMTsKLQotICBm
dW5jdGlvbiBVc2JEZXZpY2VNYW5hZ2VyQ2xpZW50UHRyKGhhbmRsZU9yUHRySW5mbykgewotICAg
IHRoaXMucHRyID0gbmV3IGJpbmRpbmdzLkludGVyZmFjZVB0ckNvbnRyb2xsZXIoVXNiRGV2aWNl
TWFuYWdlckNsaWVudCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGhhbmRsZU9yUHRySW5mbyk7Ci0gIH0KLQotICBmdW5jdGlvbiBVc2JEZXZpY2VN
YW5hZ2VyQ2xpZW50QXNzb2NpYXRlZFB0cihhc3NvY2lhdGVkSW50ZXJmYWNlUHRySW5mbykgewot
ICAgIHRoaXMucHRyID0gbmV3IGFzc29jaWF0ZWRCaW5kaW5ncy5Bc3NvY2lhdGVkSW50ZXJmYWNl
UHRyQ29udHJvbGxlcigKLSAgICAgICAgVXNiRGV2aWNlTWFuYWdlckNsaWVudCwgYXNzb2NpYXRl
ZEludGVyZmFjZVB0ckluZm8pOwotICB9Ci0KLSAgVXNiRGV2aWNlTWFuYWdlckNsaWVudEFzc29j
aWF0ZWRQdHIucHJvdG90eXBlID0KLSAgICAgIE9iamVjdC5jcmVhdGUoVXNiRGV2aWNlTWFuYWdl
ckNsaWVudFB0ci5wcm90b3R5cGUpOwotICBVc2JEZXZpY2VNYW5hZ2VyQ2xpZW50QXNzb2NpYXRl
ZFB0ci5wcm90b3R5cGUuY29uc3RydWN0b3IgPQotICAgICAgVXNiRGV2aWNlTWFuYWdlckNsaWVu
dEFzc29jaWF0ZWRQdHI7Ci0KLSAgZnVuY3Rpb24gVXNiRGV2aWNlTWFuYWdlckNsaWVudFByb3h5
KHJlY2VpdmVyKSB7Ci0gICAgdGhpcy5yZWNlaXZlcl8gPSByZWNlaXZlcjsKLSAgfQotICBVc2JE
ZXZpY2VNYW5hZ2VyQ2xpZW50UHRyLnByb3RvdHlwZS5vbkRldmljZUFkZGVkID0gZnVuY3Rpb24o
KSB7Ci0gICAgcmV0dXJuIFVzYkRldmljZU1hbmFnZXJDbGllbnRQcm94eS5wcm90b3R5cGUub25E
ZXZpY2VBZGRlZAotICAgICAgICAuYXBwbHkodGhpcy5wdHIuZ2V0UHJveHkoKSwgYXJndW1lbnRz
KTsKLSAgfTsKLQotICBVc2JEZXZpY2VNYW5hZ2VyQ2xpZW50UHJveHkucHJvdG90eXBlLm9uRGV2
aWNlQWRkZWQgPSBmdW5jdGlvbihkZXZpY2VJbmZvKSB7Ci0gICAgdmFyIHBhcmFtc18gPSBuZXcg
VXNiRGV2aWNlTWFuYWdlckNsaWVudF9PbkRldmljZUFkZGVkX1BhcmFtcygpOwotICAgIHBhcmFt
c18uZGV2aWNlSW5mbyA9IGRldmljZUluZm87Ci0gICAgdmFyIGJ1aWxkZXIgPSBuZXcgY29kZWMu
TWVzc2FnZVYwQnVpbGRlcigKLSAgICAgICAga1VzYkRldmljZU1hbmFnZXJDbGllbnRfT25EZXZp
Y2VBZGRlZF9OYW1lLAotICAgICAgICBjb2RlYy5hbGlnbihVc2JEZXZpY2VNYW5hZ2VyQ2xpZW50
X09uRGV2aWNlQWRkZWRfUGFyYW1zLmVuY29kZWRTaXplKSk7Ci0gICAgYnVpbGRlci5lbmNvZGVT
dHJ1Y3QoVXNiRGV2aWNlTWFuYWdlckNsaWVudF9PbkRldmljZUFkZGVkX1BhcmFtcywgcGFyYW1z
Xyk7Ci0gICAgdmFyIG1lc3NhZ2UgPSBidWlsZGVyLmZpbmlzaCgpOwotICAgIHRoaXMucmVjZWl2
ZXJfLmFjY2VwdChtZXNzYWdlKTsKLSAgfTsKLSAgVXNiRGV2aWNlTWFuYWdlckNsaWVudFB0ci5w
cm90b3R5cGUub25EZXZpY2VSZW1vdmVkID0gZnVuY3Rpb24oKSB7Ci0gICAgcmV0dXJuIFVzYkRl
dmljZU1hbmFnZXJDbGllbnRQcm94eS5wcm90b3R5cGUub25EZXZpY2VSZW1vdmVkCi0gICAgICAg
IC5hcHBseSh0aGlzLnB0ci5nZXRQcm94eSgpLCBhcmd1bWVudHMpOwotICB9OwotCi0gIFVzYkRl
dmljZU1hbmFnZXJDbGllbnRQcm94eS5wcm90b3R5cGUub25EZXZpY2VSZW1vdmVkID0gZnVuY3Rp
b24oZGV2aWNlSW5mbykgewotICAgIHZhciBwYXJhbXNfID0gbmV3IFVzYkRldmljZU1hbmFnZXJD
bGllbnRfT25EZXZpY2VSZW1vdmVkX1BhcmFtcygpOwotICAgIHBhcmFtc18uZGV2aWNlSW5mbyA9
IGRldmljZUluZm87Ci0gICAgdmFyIGJ1aWxkZXIgPSBuZXcgY29kZWMuTWVzc2FnZVYwQnVpbGRl
cigKLSAgICAgICAga1VzYkRldmljZU1hbmFnZXJDbGllbnRfT25EZXZpY2VSZW1vdmVkX05hbWUs
Ci0gICAgICAgIGNvZGVjLmFsaWduKFVzYkRldmljZU1hbmFnZXJDbGllbnRfT25EZXZpY2VSZW1v
dmVkX1BhcmFtcy5lbmNvZGVkU2l6ZSkpOwotICAgIGJ1aWxkZXIuZW5jb2RlU3RydWN0KFVzYkRl
dmljZU1hbmFnZXJDbGllbnRfT25EZXZpY2VSZW1vdmVkX1BhcmFtcywgcGFyYW1zXyk7Ci0gICAg
dmFyIG1lc3NhZ2UgPSBidWlsZGVyLmZpbmlzaCgpOwotICAgIHRoaXMucmVjZWl2ZXJfLmFjY2Vw
dChtZXNzYWdlKTsKLSAgfTsKLQotICBmdW5jdGlvbiBVc2JEZXZpY2VNYW5hZ2VyQ2xpZW50U3R1
YihkZWxlZ2F0ZSkgewotICAgIHRoaXMuZGVsZWdhdGVfID0gZGVsZWdhdGU7Ci0gIH0KLSAgVXNi
RGV2aWNlTWFuYWdlckNsaWVudFN0dWIucHJvdG90eXBlLm9uRGV2aWNlQWRkZWQgPSBmdW5jdGlv
bihkZXZpY2VJbmZvKSB7Ci0gICAgcmV0dXJuIHRoaXMuZGVsZWdhdGVfICYmIHRoaXMuZGVsZWdh
dGVfLm9uRGV2aWNlQWRkZWQgJiYgdGhpcy5kZWxlZ2F0ZV8ub25EZXZpY2VBZGRlZChkZXZpY2VJ
bmZvKTsKLSAgfQotICBVc2JEZXZpY2VNYW5hZ2VyQ2xpZW50U3R1Yi5wcm90b3R5cGUub25EZXZp
Y2VSZW1vdmVkID0gZnVuY3Rpb24oZGV2aWNlSW5mbykgewotICAgIHJldHVybiB0aGlzLmRlbGVn
YXRlXyAmJiB0aGlzLmRlbGVnYXRlXy5vbkRldmljZVJlbW92ZWQgJiYgdGhpcy5kZWxlZ2F0ZV8u
b25EZXZpY2VSZW1vdmVkKGRldmljZUluZm8pOwotICB9Ci0KLSAgVXNiRGV2aWNlTWFuYWdlckNs
aWVudFN0dWIucHJvdG90eXBlLmFjY2VwdCA9IGZ1bmN0aW9uKG1lc3NhZ2UpIHsKLSAgICB2YXIg
cmVhZGVyID0gbmV3IGNvZGVjLk1lc3NhZ2VSZWFkZXIobWVzc2FnZSk7Ci0gICAgc3dpdGNoIChy
ZWFkZXIubWVzc2FnZU5hbWUpIHsKLSAgICBjYXNlIGtVc2JEZXZpY2VNYW5hZ2VyQ2xpZW50X09u
RGV2aWNlQWRkZWRfTmFtZToKLSAgICAgIHZhciBwYXJhbXMgPSByZWFkZXIuZGVjb2RlU3RydWN0
KFVzYkRldmljZU1hbmFnZXJDbGllbnRfT25EZXZpY2VBZGRlZF9QYXJhbXMpOwotICAgICAgdGhp
cy5vbkRldmljZUFkZGVkKHBhcmFtcy5kZXZpY2VJbmZvKTsKLSAgICAgIHJldHVybiB0cnVlOwot
ICAgIGNhc2Uga1VzYkRldmljZU1hbmFnZXJDbGllbnRfT25EZXZpY2VSZW1vdmVkX05hbWU6Ci0g
ICAgICB2YXIgcGFyYW1zID0gcmVhZGVyLmRlY29kZVN0cnVjdChVc2JEZXZpY2VNYW5hZ2VyQ2xp
ZW50X09uRGV2aWNlUmVtb3ZlZF9QYXJhbXMpOwotICAgICAgdGhpcy5vbkRldmljZVJlbW92ZWQo
cGFyYW1zLmRldmljZUluZm8pOwotICAgICAgcmV0dXJuIHRydWU7Ci0gICAgZGVmYXVsdDoKLSAg
ICAgIHJldHVybiBmYWxzZTsKLSAgICB9Ci0gIH07Ci0KLSAgVXNiRGV2aWNlTWFuYWdlckNsaWVu
dFN0dWIucHJvdG90eXBlLmFjY2VwdFdpdGhSZXNwb25kZXIgPQotICAgICAgZnVuY3Rpb24obWVz
c2FnZSwgcmVzcG9uZGVyKSB7Ci0gICAgdmFyIHJlYWRlciA9IG5ldyBjb2RlYy5NZXNzYWdlUmVh
ZGVyKG1lc3NhZ2UpOwotICAgIHN3aXRjaCAocmVhZGVyLm1lc3NhZ2VOYW1lKSB7Ci0gICAgZGVm
YXVsdDoKLSAgICAgIHJldHVybiBmYWxzZTsKLSAgICB9Ci0gIH07Ci0KLSAgZnVuY3Rpb24gdmFs
aWRhdGVVc2JEZXZpY2VNYW5hZ2VyQ2xpZW50UmVxdWVzdChtZXNzYWdlVmFsaWRhdG9yKSB7Ci0g
ICAgdmFyIG1lc3NhZ2UgPSBtZXNzYWdlVmFsaWRhdG9yLm1lc3NhZ2U7Ci0gICAgdmFyIHBhcmFt
c0NsYXNzID0gbnVsbDsKLSAgICBzd2l0Y2ggKG1lc3NhZ2UuZ2V0TmFtZSgpKSB7Ci0gICAgICBj
YXNlIGtVc2JEZXZpY2VNYW5hZ2VyQ2xpZW50X09uRGV2aWNlQWRkZWRfTmFtZToKLSAgICAgICAg
aWYgKCFtZXNzYWdlLmV4cGVjdHNSZXNwb25zZSgpICYmICFtZXNzYWdlLmlzUmVzcG9uc2UoKSkK
LSAgICAgICAgICBwYXJhbXNDbGFzcyA9IFVzYkRldmljZU1hbmFnZXJDbGllbnRfT25EZXZpY2VB
ZGRlZF9QYXJhbXM7Ci0gICAgICBicmVhazsKLSAgICAgIGNhc2Uga1VzYkRldmljZU1hbmFnZXJD
bGllbnRfT25EZXZpY2VSZW1vdmVkX05hbWU6Ci0gICAgICAgIGlmICghbWVzc2FnZS5leHBlY3Rz
UmVzcG9uc2UoKSAmJiAhbWVzc2FnZS5pc1Jlc3BvbnNlKCkpCi0gICAgICAgICAgcGFyYW1zQ2xh
c3MgPSBVc2JEZXZpY2VNYW5hZ2VyQ2xpZW50X09uRGV2aWNlUmVtb3ZlZF9QYXJhbXM7Ci0gICAg
ICBicmVhazsKLSAgICB9Ci0gICAgaWYgKHBhcmFtc0NsYXNzID09PSBudWxsKQotICAgICAgcmV0
dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAgICByZXR1cm4gcGFyYW1zQ2xh
c3MudmFsaWRhdGUobWVzc2FnZVZhbGlkYXRvciwgbWVzc2FnZVZhbGlkYXRvci5tZXNzYWdlLmdl
dEhlYWRlck51bUJ5dGVzKCkpOwotICB9Ci0KLSAgZnVuY3Rpb24gdmFsaWRhdGVVc2JEZXZpY2VN
YW5hZ2VyQ2xpZW50UmVzcG9uc2UobWVzc2FnZVZhbGlkYXRvcikgewotICAgIHJldHVybiB2YWxp
ZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gIH0KLQotICB2YXIgVXNiRGV2aWNlTWFuYWdl
ckNsaWVudCA9IHsKLSAgICBuYW1lOiAnZGV2aWNlLm1vam9tLlVzYkRldmljZU1hbmFnZXJDbGll
bnQnLAotICAgIGtWZXJzaW9uOiAwLAotICAgIHB0ckNsYXNzOiBVc2JEZXZpY2VNYW5hZ2VyQ2xp
ZW50UHRyLAotICAgIHByb3h5Q2xhc3M6IFVzYkRldmljZU1hbmFnZXJDbGllbnRQcm94eSwKLSAg
ICBzdHViQ2xhc3M6IFVzYkRldmljZU1hbmFnZXJDbGllbnRTdHViLAotICAgIHZhbGlkYXRlUmVx
dWVzdDogdmFsaWRhdGVVc2JEZXZpY2VNYW5hZ2VyQ2xpZW50UmVxdWVzdCwKLSAgICB2YWxpZGF0
ZVJlc3BvbnNlOiBudWxsLAotICB9OwotICBVc2JEZXZpY2VNYW5hZ2VyQ2xpZW50U3R1Yi5wcm90
b3R5cGUudmFsaWRhdG9yID0gdmFsaWRhdGVVc2JEZXZpY2VNYW5hZ2VyQ2xpZW50UmVxdWVzdDsK
LSAgVXNiRGV2aWNlTWFuYWdlckNsaWVudFByb3h5LnByb3RvdHlwZS52YWxpZGF0b3IgPSBudWxs
OwotICBleHBvcnRzLlVzYkRldmljZU1hbmFnZXJDbGllbnQgPSBVc2JEZXZpY2VNYW5hZ2VyQ2xp
ZW50OwotICBleHBvcnRzLlVzYkRldmljZU1hbmFnZXJDbGllbnRQdHIgPSBVc2JEZXZpY2VNYW5h
Z2VyQ2xpZW50UHRyOwotICBleHBvcnRzLlVzYkRldmljZU1hbmFnZXJDbGllbnRBc3NvY2lhdGVk
UHRyID0gVXNiRGV2aWNlTWFuYWdlckNsaWVudEFzc29jaWF0ZWRQdHI7Ci19KSgpOwpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL2RldmljZV9tYW5hZ2VyX2Ns
aWVudC5tb2pvbS5qcy5oZWFkZXJzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vZGV2aWNlX21hbmFnZXJfY2xpZW50Lm1vam9t
LmpzLmhlYWRlcnMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZjNjFhMzRhNGVjLi4w
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy9jaHJvbWl1bS9kZXZpY2VfbWFuYWdlcl9jbGllbnQubW9qb20uanMuaGVh
ZGVycworKysgL2Rldi9udWxsCkBAIC0xICswLDAgQEAKLUNvbnRlbnQtVHlwZTogdGV4dC9qYXZh
c2NyaXB0OyBjaGFyc2V0PXV0Zi04ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvY2hyb21pdW0vZ2VuZXJpY19zZW5zb3JfbW9ja3MuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS9nZW5lcmljX3NlbnNv
cl9tb2Nrcy5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNWU5MDJmMjUyM2QuLjAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL2Nocm9taXVtL2dlbmVyaWNfc2Vuc29yX21vY2tzLmpzCisrKyAvZGV2L251
bGwKQEAgLTEsMzQ3ICswLDAgQEAKLSd1c2Ugc3RyaWN0JzsKLQotdmFyIEdlbmVyaWNTZW5zb3JU
ZXN0ID0gKCgpID0+IHsKLSAgLy8gRGVmYXVsdCBzZW5zb3IgZnJlcXVlbmN5IGluIGRlZmF1bHQg
Y29uZmlndXJhdGlvbnMuCi0gIGNvbnN0IERFRkFVTFRfRlJFUVVFTkNZID0gNTsKLQotICAvLyBD
bGFzcyB0aGF0IG1vY2tzIFNlbnNvciBpbnRlcmZhY2UgZGVmaW5lZCBpbgotICAvLyBodHRwczov
L2NzLmNocm9taXVtLm9yZy9jaHJvbWl1bS9zcmMvc2VydmljZXMvZGV2aWNlL3B1YmxpYy9tb2pv
bS9zZW5zb3IubW9qb20KLSAgY2xhc3MgTW9ja1NlbnNvciB7Ci0gICAgY29uc3RydWN0b3Ioc2Vu
c29yUmVxdWVzdCwgaGFuZGxlLCBvZmZzZXQsIHNpemUsIHJlcG9ydGluZ01vZGUpIHsKLSAgICAg
IHRoaXMuY2xpZW50XyA9IG51bGw7Ci0gICAgICB0aGlzLnN0YXJ0U2hvdWxkRmFpbF8gPSBmYWxz
ZTsKLSAgICAgIHRoaXMucmVwb3J0aW5nTW9kZV8gPSByZXBvcnRpbmdNb2RlOwotICAgICAgdGhp
cy5zZW5zb3JSZWFkaW5nVGltZXJJZF8gPSBudWxsOwotICAgICAgdGhpcy5yZWFkaW5nRGF0YV8g
PSBudWxsOwotICAgICAgdGhpcy5yZXF1ZXN0ZWRGcmVxdWVuY2llc18gPSBbXTsKLSAgICAgIGxl
dCBydiA9IGhhbmRsZS5tYXBCdWZmZXIob2Zmc2V0LCBzaXplKTsKLSAgICAgIGFzc2VydF9lcXVh
bHMocnYucmVzdWx0LCBNb2pvLlJFU1VMVF9PSywgIkZhaWxlZCB0byBtYXAgc2hhcmVkIGJ1ZmZl
ciIpOwotICAgICAgdGhpcy5idWZmZXJfID0gbmV3IEZsb2F0NjRBcnJheShydi5idWZmZXIpOwot
ICAgICAgdGhpcy5idWZmZXJfLmZpbGwoMCk7Ci0gICAgICB0aGlzLmJpbmRpbmdfID0gbmV3IG1v
am8uQmluZGluZyhkZXZpY2UubW9qb20uU2Vuc29yLCB0aGlzLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgc2Vuc29yUmVxdWVzdCk7Ci0gICAgICB0aGlzLmJpbmRpbmdf
LnNldENvbm5lY3Rpb25FcnJvckhhbmRsZXIoKCkgPT4gewotICAgICAgICB0aGlzLnJlc2V0KCk7
Ci0gICAgICB9KTsKLSAgICB9Ci0KLSAgICAvLyBSZXR1cm5zIGRlZmF1bHQgY29uZmlndXJhdGlv
bi4KLSAgICBhc3luYyBnZXREZWZhdWx0Q29uZmlndXJhdGlvbigpIHsKLSAgICAgIHJldHVybiB7
IGZyZXF1ZW5jeTogREVGQVVMVF9GUkVRVUVOQ1kgfTsKLSAgICB9Ci0KLSAgICAvLyBBZGRzIGNv
bmZpZ3VyYXRpb24gZm9yIHRoZSBzZW5zb3IgYW5kIHN0YXJ0cyByZXBvcnRpbmcgZmFrZSBkYXRh
Ci0gICAgLy8gdGhyb3VnaCBzZXRTZW5zb3JSZWFkaW5nIGZ1bmN0aW9uLgotICAgIGFzeW5jIGFk
ZENvbmZpZ3VyYXRpb24oY29uZmlndXJhdGlvbikgewotICAgICAgYXNzZXJ0X25vdF9lcXVhbHMo
Y29uZmlndXJhdGlvbiwgbnVsbCwgIkludmFsaWQgc2Vuc29yIGNvbmZpZ3VyYXRpb24uIik7Ci0K
LSAgICAgIHRoaXMucmVxdWVzdGVkRnJlcXVlbmNpZXNfLnB1c2goY29uZmlndXJhdGlvbi5mcmVx
dWVuY3kpOwotICAgICAgLy8gU29ydCB1c2luZyBkZXNjZW5kaW5nIG9yZGVyLgotICAgICAgdGhp
cy5yZXF1ZXN0ZWRGcmVxdWVuY2llc18uc29ydCgKLSAgICAgICAgICAoZmlyc3QsIHNlY29uZCkg
PT4geyByZXR1cm4gc2Vjb25kIC0gZmlyc3QgfSk7Ci0KLSAgICAgIGlmICghdGhpcy5zdGFydFNo
b3VsZEZhaWxfICkKLSAgICAgICAgdGhpcy5zdGFydFJlYWRpbmcoKTsKLQotICAgICAgcmV0dXJu
IHsgc3VjY2VzczogIXRoaXMuc3RhcnRTaG91bGRGYWlsXyB9OwotICAgIH0KLQotICAgIC8vIFJl
bW92ZXMgc2Vuc29yIGNvbmZpZ3VyYXRpb24gZnJvbSB0aGUgbGlzdCBvZiBhY3RpdmUgY29uZmln
dXJhdGlvbnMgYW5kCi0gICAgLy8gc3RvcHMgbm90aWZpY2F0aW9uIGFib3V0IHNlbnNvciByZWFk
aW5nIGNoYW5nZXMgaWYKLSAgICAvLyByZXF1ZXN0ZWRGcmVxdWVuY2llc18gaXMgZW1wdHkuCi0g
ICAgcmVtb3ZlQ29uZmlndXJhdGlvbihjb25maWd1cmF0aW9uKSB7Ci0gICAgICBjb25zdCBpbmRl
eCA9IHRoaXMucmVxdWVzdGVkRnJlcXVlbmNpZXNfLmluZGV4T2YoY29uZmlndXJhdGlvbi5mcmVx
dWVuY3kpOwotICAgICAgaWYgKGluZGV4ID09IC0xKQotICAgICAgICByZXR1cm47Ci0KLSAgICAg
IHRoaXMucmVxdWVzdGVkRnJlcXVlbmNpZXNfLnNwbGljZShpbmRleCwgMSk7Ci0gICAgICBpZiAo
dGhpcy5yZXF1ZXN0ZWRGcmVxdWVuY2llc18ubGVuZ3RoID09PSAwKQotICAgICAgICB0aGlzLnN0
b3BSZWFkaW5nKCk7Ci0gICAgfQotCi0gICAgLy8gTW9jayBmdW5jdGlvbnMKLQotICAgIC8vIFJl
c2V0cyBtb2NrIFNlbnNvciBzdGF0ZS4KLSAgICByZXNldCgpIHsKLSAgICAgIHRoaXMuc3RvcFJl
YWRpbmcoKTsKLSAgICAgIHRoaXMuc3RhcnRTaG91bGRGYWlsXyA9IGZhbHNlOwotICAgICAgdGhp
cy5yZXF1ZXN0ZWRGcmVxdWVuY2llc18gPSBbXTsKLSAgICAgIHRoaXMucmVhZGluZ0RhdGFfID0g
bnVsbDsKLSAgICAgIHRoaXMuYnVmZmVyXy5maWxsKDApOwotICAgICAgdGhpcy5iaW5kaW5nXy5j
bG9zZSgpOwotICAgIH0KLQotICAgIC8vIFNldHMgZmFrZSBkYXRhIHRoYXQgaXMgdXNlZCB0byBk
ZWxpdmVyIHNlbnNvciByZWFkaW5nIHVwZGF0ZXMuCi0gICAgYXN5bmMgc2V0U2Vuc29yUmVhZGlu
ZyhyZWFkaW5nRGF0YSkgewotICAgICAgdGhpcy5yZWFkaW5nRGF0YV8gPSBuZXcgUmluZ0J1ZmZl
cihyZWFkaW5nRGF0YSk7Ci0gICAgICByZXR1cm4gdGhpczsKLSAgICB9Ci0KLSAgICAvLyBTZXRz
IGZsYWcgdGhhdCBmb3JjZXMgc2Vuc29yIHRvIGZhaWwgd2hlbiBhZGRDb25maWd1cmF0aW9uIGlz
IGludm9rZWQuCi0gICAgc2V0U3RhcnRTaG91bGRGYWlsKHNob3VsZEZhaWwpIHsKLSAgICAgIHRo
aXMuc3RhcnRTaG91bGRGYWlsXyA9IHNob3VsZEZhaWw7Ci0gICAgfQotCi0gICAgc3RhcnRSZWFk
aW5nKCkgewotICAgICAgaWYgKHRoaXMucmVhZGluZ0RhdGFfICE9IG51bGwpIHsKLSAgICAgICAg
dGhpcy5zdG9wUmVhZGluZygpOwotICAgICAgfQotICAgICAgbGV0IG1heEZyZXF1ZW5jeVVzZWQg
PSB0aGlzLnJlcXVlc3RlZEZyZXF1ZW5jaWVzX1swXTsKLSAgICAgIGxldCB0aW1lb3V0ID0gKDEg
LyBtYXhGcmVxdWVuY3lVc2VkKSAqIDEwMDA7Ci0gICAgICB0aGlzLnNlbnNvclJlYWRpbmdUaW1l
cklkXyA9IHdpbmRvdy5zZXRJbnRlcnZhbCgoKSA9PiB7Ci0gICAgICAgIGlmICh0aGlzLnJlYWRp
bmdEYXRhXykgewotICAgICAgICAgIC8vIHxidWZmZXJffCBpcyBhIFR5cGVkQXJyYXksIHNvIHdl
IG5lZWQgdG8gbWFrZSBzdXJlIHBhc3MgYW4KLSAgICAgICAgICAvLyBhcnJheSB0byBzZXQoKS4K
LSAgICAgICAgICBjb25zdCByZWFkaW5nID0gdGhpcy5yZWFkaW5nRGF0YV8ubmV4dCgpLnZhbHVl
OwotICAgICAgICAgIGFzc2VydF90cnVlKEFycmF5LmlzQXJyYXkocmVhZGluZyksICJUaGUgcmVh
ZGluZ3MgcGFzc2VkIHRvICIgKwotICAgICAgICAgICAgICAic2V0U2Vuc29yUmVhZGluZygpIG11
c3QgYmUgYXJyYXlzLiIpOwotICAgICAgICAgIHRoaXMuYnVmZmVyXy5zZXQocmVhZGluZywgMik7
Ci0gICAgICAgIH0KLSAgICAgICAgLy8gRm9yIGFsbCB0ZXN0cyBzZW5zb3IgcmVhZGluZyBzaG91
bGQgaGF2ZSBtb25vdG9uaWNhbGx5Ci0gICAgICAgIC8vIGluY3JlYXNpbmcgdGltZXN0YW1wIGlu
IHNlY29uZHMuCi0gICAgICAgIHRoaXMuYnVmZmVyX1sxXSA9IHdpbmRvdy5wZXJmb3JtYW5jZS5u
b3coKSAqIDAuMDAxOwotICAgICAgICBpZiAodGhpcy5yZXBvcnRpbmdNb2RlXyA9PT0gZGV2aWNl
Lm1vam9tLlJlcG9ydGluZ01vZGUuT05fQ0hBTkdFKSB7Ci0gICAgICAgICAgdGhpcy5jbGllbnRf
LnNlbnNvclJlYWRpbmdDaGFuZ2VkKCk7Ci0gICAgICAgIH0KLSAgICAgIH0sIHRpbWVvdXQpOwot
ICAgIH0KLQotICAgIHN0b3BSZWFkaW5nKCkgewotICAgICAgaWYgKHRoaXMuc2Vuc29yUmVhZGlu
Z1RpbWVySWRfICE9IG51bGwpIHsKLSAgICAgICAgd2luZG93LmNsZWFySW50ZXJ2YWwodGhpcy5z
ZW5zb3JSZWFkaW5nVGltZXJJZF8pOwotICAgICAgICB0aGlzLnNlbnNvclJlYWRpbmdUaW1lcklk
XyA9IG51bGw7Ci0gICAgICB9Ci0gICAgfQotCi0gICAgZ2V0U2FtcGxpbmdGcmVxdWVuY3koKSB7
Ci0gICAgICAgYXNzZXJ0X3RydWUodGhpcy5yZXF1ZXN0ZWRGcmVxdWVuY2llc18ubGVuZ3RoID4g
MCk7Ci0gICAgICAgcmV0dXJuIHRoaXMucmVxdWVzdGVkRnJlcXVlbmNpZXNfWzBdOwotICAgIH0K
LSAgfQotCi0gIC8vIENsYXNzIHRoYXQgbW9ja3MgU2Vuc29yUHJvdmlkZXIgaW50ZXJmYWNlIGRl
ZmluZWQgaW4KLSAgLy8gaHR0cHM6Ly9jcy5jaHJvbWl1bS5vcmcvY2hyb21pdW0vc3JjL3NlcnZp
Y2VzL2RldmljZS9wdWJsaWMvbW9qb20vc2Vuc29yX3Byb3ZpZGVyLm1vam9tCi0gIGNsYXNzIE1v
Y2tTZW5zb3JQcm92aWRlciB7Ci0gICAgY29uc3RydWN0b3IoKSB7Ci0gICAgICB0aGlzLnJlYWRp
bmdTaXplSW5CeXRlc18gPQotICAgICAgICAgIGRldmljZS5tb2pvbS5TZW5zb3JJbml0UGFyYW1z
LlJFQURfQlVGRkVSX1NJWkVfRk9SX1RFU1RTOwotICAgICAgdGhpcy5zaGFyZWRCdWZmZXJTaXpl
SW5CeXRlc18gPSB0aGlzLnJlYWRpbmdTaXplSW5CeXRlc18gKgotICAgICAgICAgICAgICAoZGV2
aWNlLm1vam9tLlNlbnNvclR5cGUuTUFYX1ZBTFVFICsgMSk7Ci0gICAgICBjb25zdCBydiA9IE1v
am8uY3JlYXRlU2hhcmVkQnVmZmVyKHRoaXMuc2hhcmVkQnVmZmVyU2l6ZUluQnl0ZXNfKTsKLSAg
ICAgIGFzc2VydF9lcXVhbHMocnYucmVzdWx0LCBNb2pvLlJFU1VMVF9PSywgIkZhaWxlZCB0byBj
cmVhdGUgYnVmZmVyIik7Ci0gICAgICB0aGlzLnNoYXJlZEJ1ZmZlckhhbmRsZV8gPSBydi5oYW5k
bGU7Ci0gICAgICB0aGlzLmFjdGl2ZVNlbnNvcnNfID0gbmV3IE1hcCgpOwotICAgICAgdGhpcy5y
ZXNvbHZlRnVuY3NfID0gbmV3IE1hcCgpOwotICAgICAgdGhpcy5nZXRTZW5zb3JTaG91bGRGYWls
XyA9IG5ldyBNYXAoKTsKLSAgICAgIHRoaXMucGVybWlzc2lvbnNEZW5pZWRfID0gbmV3IE1hcCgp
OwotICAgICAgdGhpcy5tYXhGcmVxdWVuY3lfID0gNjA7Ci0gICAgICB0aGlzLm1pbkZyZXF1ZW5j
eV8gPSAxOwotICAgICAgdGhpcy5tb2pvbVNlbnNvclR5cGVfID0gbmV3IE1hcChbCi0gICAgICAg
IFsnQWNjZWxlcm9tZXRlcicsIGRldmljZS5tb2pvbS5TZW5zb3JUeXBlLkFDQ0VMRVJPTUVURVJd
LAotICAgICAgICBbJ0xpbmVhckFjY2VsZXJhdGlvblNlbnNvcicsCi0gICAgICAgICAgICBkZXZp
Y2UubW9qb20uU2Vuc29yVHlwZS5MSU5FQVJfQUNDRUxFUkFUSU9OXSwKLSAgICAgICAgWydBbWJp
ZW50TGlnaHRTZW5zb3InLCBkZXZpY2UubW9qb20uU2Vuc29yVHlwZS5BTUJJRU5UX0xJR0hUXSwK
LSAgICAgICAgWydHeXJvc2NvcGUnLCBkZXZpY2UubW9qb20uU2Vuc29yVHlwZS5HWVJPU0NPUEVd
LAotICAgICAgICBbJ01hZ25ldG9tZXRlcicsIGRldmljZS5tb2pvbS5TZW5zb3JUeXBlLk1BR05F
VE9NRVRFUl0sCi0gICAgICAgIFsnQWJzb2x1dGVPcmllbnRhdGlvblNlbnNvcicsCi0gICAgICAg
ICAgICBkZXZpY2UubW9qb20uU2Vuc29yVHlwZS5BQlNPTFVURV9PUklFTlRBVElPTl9RVUFURVJO
SU9OXSwKLSAgICAgICAgWydBYnNvbHV0ZU9yaWVudGF0aW9uRXVsZXJBbmdsZXMnLAotICAgICAg
ICAgICAgZGV2aWNlLm1vam9tLlNlbnNvclR5cGUuQUJTT0xVVEVfT1JJRU5UQVRJT05fRVVMRVJf
QU5HTEVTXSwKLSAgICAgICAgWydSZWxhdGl2ZU9yaWVudGF0aW9uU2Vuc29yJywKLSAgICAgICAg
ICAgIGRldmljZS5tb2pvbS5TZW5zb3JUeXBlLlJFTEFUSVZFX09SSUVOVEFUSU9OX1FVQVRFUk5J
T05dLAotICAgICAgICBbJ1JlbGF0aXZlT3JpZW50YXRpb25FdWxlckFuZ2xlcycsCi0gICAgICAg
ICAgICBkZXZpY2UubW9qb20uU2Vuc29yVHlwZS5SRUxBVElWRV9PUklFTlRBVElPTl9FVUxFUl9B
TkdMRVNdLAotICAgICAgICBbJ1Byb3hpbWl0eVNlbnNvcicsIGRldmljZS5tb2pvbS5TZW5zb3JU
eXBlLlBST1hJTUlUWV0KLSAgICAgIF0pOwotICAgICAgdGhpcy5iaW5kaW5nXyA9IG5ldyBtb2pv
LkJpbmRpbmcoZGV2aWNlLm1vam9tLlNlbnNvclByb3ZpZGVyLCB0aGlzKTsKLQotICAgICAgdGhp
cy5pbnRlcmNlcHRvcl8gPSBuZXcgTW9qb0ludGVyZmFjZUludGVyY2VwdG9yKAotICAgICAgICAg
IGRldmljZS5tb2pvbS5TZW5zb3JQcm92aWRlci5uYW1lLCAiY29udGV4dCIsIHRydWUpOwotICAg
ICAgdGhpcy5pbnRlcmNlcHRvcl8ub25pbnRlcmZhY2VyZXF1ZXN0ID0gZSA9PiB7Ci0gICAgICAg
IHRoaXMuYmluZFRvUGlwZShlLmhhbmRsZSk7Ci0gICAgICB9OwotICAgICAgdGhpcy5pbnRlcmNl
cHRvcl8uc3RhcnQoKTsKLSAgICB9Ci0KLSAgICAvLyBSZXR1cm5zIGluaXRpYWxpemVkIFNlbnNv
ciBwcm94eSB0byB0aGUgY2xpZW50LgotICAgIGFzeW5jIGdldFNlbnNvcih0eXBlKSB7Ci0gICAg
ICBpZiAodGhpcy5nZXRTZW5zb3JTaG91bGRGYWlsXy5nZXQodHlwZSkpIHsKLSAgICAgICAgcmV0
dXJuIHtyZXN1bHQ6IGRldmljZS5tb2pvbS5TZW5zb3JDcmVhdGlvblJlc3VsdC5FUlJPUl9OT1Rf
QVZBSUxBQkxFLAotICAgICAgICAgICAgICAgIGluaXRQYXJhbXM6IG51bGx9OwotICAgICAgfQot
ICAgICAgaWYgKHRoaXMucGVybWlzc2lvbnNEZW5pZWRfLmdldCh0eXBlKSkgewotICAgICAgICBy
ZXR1cm4ge3Jlc3VsdDogZGV2aWNlLm1vam9tLlNlbnNvckNyZWF0aW9uUmVzdWx0LkVSUk9SX05P
VF9BTExPV0VELAotICAgICAgICAgICAgICAgIGluaXRQYXJhbXM6IG51bGx9OwotICAgICAgfQot
Ci0gICAgICBjb25zdCBvZmZzZXQgPSB0eXBlICogdGhpcy5yZWFkaW5nU2l6ZUluQnl0ZXNfOwot
ICAgICAgY29uc3QgcmVwb3J0aW5nTW9kZSA9IGRldmljZS5tb2pvbS5SZXBvcnRpbmdNb2RlLk9O
X0NIQU5HRTsKLQotICAgICAgY29uc3Qgc2Vuc29yUHRyID0gbmV3IGRldmljZS5tb2pvbS5TZW5z
b3JQdHIoKTsKLSAgICAgIGlmICghdGhpcy5hY3RpdmVTZW5zb3JzXy5oYXModHlwZSkpIHsKLSAg
ICAgICAgY29uc3QgbW9ja1NlbnNvciA9IG5ldyBNb2NrU2Vuc29yKAotICAgICAgICAgICAgbW9q
by5tYWtlUmVxdWVzdChzZW5zb3JQdHIpLCB0aGlzLnNoYXJlZEJ1ZmZlckhhbmRsZV8sIG9mZnNl
dCwKLSAgICAgICAgICAgIHRoaXMucmVhZGluZ1NpemVJbkJ5dGVzXywgcmVwb3J0aW5nTW9kZSk7
Ci0gICAgICAgIHRoaXMuYWN0aXZlU2Vuc29yc18uc2V0KHR5cGUsIG1vY2tTZW5zb3IpOwotICAg
ICAgICB0aGlzLmFjdGl2ZVNlbnNvcnNfLmdldCh0eXBlKS5jbGllbnRfID0KLSAgICAgICAgICAg
IG5ldyBkZXZpY2UubW9qb20uU2Vuc29yQ2xpZW50UHRyKCk7Ci0gICAgICB9Ci0KLSAgICAgIGNv
bnN0IHJ2ID0gdGhpcy5zaGFyZWRCdWZmZXJIYW5kbGVfLmR1cGxpY2F0ZUJ1ZmZlckhhbmRsZSgp
OwotCi0gICAgICBhc3NlcnRfZXF1YWxzKHJ2LnJlc3VsdCwgTW9qby5SRVNVTFRfT0spOwotCi0g
ICAgICBjb25zdCBkZWZhdWx0Q29uZmlnID0geyBmcmVxdWVuY3k6IERFRkFVTFRfRlJFUVVFTkNZ
IH07Ci0gICAgICAvLyBDb25zaWRlciBzZW5zb3IgdHJhaXRzIHRvIG1lZXQgYXNzZXJ0aW9ucyBp
biBDKysgY29kZSAoc2VlCi0gICAgICAvLyBzZXJ2aWNlcy9kZXZpY2UvcHVibGljL2NwcC9nZW5l
cmljX3NlbnNvci9zZW5zb3JfdHJhaXRzLmgpCi0gICAgICBpZiAodHlwZSA9PSBkZXZpY2UubW9q
b20uU2Vuc29yVHlwZS5BTUJJRU5UX0xJR0hUIHx8Ci0gICAgICAgICAgdHlwZSA9PSBkZXZpY2Uu
bW9qb20uU2Vuc29yVHlwZS5NQUdORVRPTUVURVIpIHsKLSAgICAgICAgdGhpcy5tYXhGcmVxdWVu
Y3lfID0gTWF0aC5taW4oMTAsIHRoaXMubWF4RnJlcXVlbmN5Xyk7Ci0gICAgICB9Ci0KLSAgICAg
IC8vIENocm9taXVtIGFwcGxpZXMgc29tZSByb3VuZGluZyBhbmQgb3RoZXIgcHJpdmFjeS1yZWxh
dGVkIG1lYXN1cmVzIHRoYXQKLSAgICAgIC8vIGNhbiBjYXVzZSBBTFMgbm90IHRvIHJlcG9ydCBh
IHJlYWRpbmcgd2hlbiBpdCBoYXMgbm90IGNoYW5nZWQgYmV5b25kIGEKLSAgICAgIC8vIGNlcnRh
aW4gdGhyZXNob2xkIGNvbXBhcmVkIHRvIHRoZSBwcmV2aW91cyBpbGx1bWluYW5jZSB2YWx1ZS4g
TWFrZQotICAgICAgLy8gZWFjaCByZWFkaW5nIHJldHVybiBhIGRpZmZlcmVudCB2YWx1ZSB0aGF0
IGlzIHNpZ25pZmljYW50bHkgZGlmZmVyZW50Ci0gICAgICAvLyBmcm9tIHRoZSBwcmV2aW91cyBv
bmUgd2hlbiBzZXRTZW5zb3JSZWFkaW5nKCkgaXMgbm90IGNhbGxlZCBieSBjbGllbnQKLSAgICAg
IC8vIGNvZGUgKGUuZy4gcnVuX2dlbmVyaWNfc2Vuc29yX2lmcmFtZV90ZXN0cygpKS4KLSAgICAg
IGlmICh0eXBlID09IGRldmljZS5tb2pvbS5TZW5zb3JUeXBlLkFNQklFTlRfTElHSFQpIHsKLSAg
ICAgICAgdGhpcy5hY3RpdmVTZW5zb3JzXy5nZXQodHlwZSkuc2V0U2Vuc29yUmVhZGluZyhbCi0g
ICAgICAgICAgW3dpbmRvdy5wZXJmb3JtYW5jZS5ub3coKSAqIDEwMF0sCi0gICAgICAgICAgWyh3
aW5kb3cucGVyZm9ybWFuY2Uubm93KCkgKyA1MCkgKiAxMDBdCi0gICAgICAgIF0pOwotICAgICAg
fQotCi0gICAgICBjb25zdCBpbml0UGFyYW1zID0gbmV3IGRldmljZS5tb2pvbS5TZW5zb3JJbml0
UGFyYW1zKHsKLSAgICAgICAgc2Vuc29yOiBzZW5zb3JQdHIsCi0gICAgICAgIGNsaWVudFJlY2Vp
dmVyOiBtb2pvLm1ha2VSZXF1ZXN0KHRoaXMuYWN0aXZlU2Vuc29yc18uZ2V0KHR5cGUpLmNsaWVu
dF8pLAotICAgICAgICBtZW1vcnk6IHJ2LmhhbmRsZSwKLSAgICAgICAgYnVmZmVyT2Zmc2V0OiBv
ZmZzZXQsCi0gICAgICAgIG1vZGU6IHJlcG9ydGluZ01vZGUsCi0gICAgICAgIGRlZmF1bHRDb25m
aWd1cmF0aW9uOiBkZWZhdWx0Q29uZmlnLAotICAgICAgICBtaW5pbXVtRnJlcXVlbmN5OiB0aGlz
Lm1pbkZyZXF1ZW5jeV8sCi0gICAgICAgIG1heGltdW1GcmVxdWVuY3k6IHRoaXMubWF4RnJlcXVl
bmN5XwotICAgICAgfSk7Ci0KLSAgICAgIGlmICh0aGlzLnJlc29sdmVGdW5jc18uaGFzKHR5cGUp
KSB7Ci0gICAgICAgIGZvciAobGV0IHJlc29sdmVGdW5jIG9mIHRoaXMucmVzb2x2ZUZ1bmNzXy5n
ZXQodHlwZSkpIHsKLSAgICAgICAgICByZXNvbHZlRnVuYyh0aGlzLmFjdGl2ZVNlbnNvcnNfLmdl
dCh0eXBlKSk7Ci0gICAgICAgIH0KLSAgICAgICAgdGhpcy5yZXNvbHZlRnVuY3NfLmRlbGV0ZSh0
eXBlKTsKLSAgICAgIH0KLQotICAgICAgcmV0dXJuIHtyZXN1bHQ6IGRldmljZS5tb2pvbS5TZW5z
b3JDcmVhdGlvblJlc3VsdC5TVUNDRVNTLAotICAgICAgICAgICAgICBpbml0UGFyYW1zOiBpbml0
UGFyYW1zfTsKLSAgICB9Ci0KLSAgICAvLyBCaW5kcyBvYmplY3QgdG8gbW9qbyBtZXNzYWdlIHBp
cGUKLSAgICBiaW5kVG9QaXBlKHBpcGUpIHsKLSAgICAgIHRoaXMuYmluZGluZ18uYmluZChwaXBl
KTsKLSAgICAgIHRoaXMuYmluZGluZ18uc2V0Q29ubmVjdGlvbkVycm9ySGFuZGxlcigoKSA9PiB7
Ci0gICAgICAgIHRoaXMucmVzZXQoKTsKLSAgICAgIH0pOwotICAgIH0KLQotICAgIC8vIE1vY2sg
ZnVuY3Rpb25zCi0KLSAgICAvLyBSZXNldHMgc3RhdGUgb2YgbW9jayBTZW5zb3JQcm92aWRlciBi
ZXR3ZWVuIHRlc3QgcnVucy4KLSAgICByZXNldCgpIHsKLSAgICAgIGZvciAoY29uc3Qgc2Vuc29y
IG9mIHRoaXMuYWN0aXZlU2Vuc29yc18udmFsdWVzKCkpIHsKLSAgICAgICAgc2Vuc29yLnJlc2V0
KCk7Ci0gICAgICB9Ci0gICAgICB0aGlzLmFjdGl2ZVNlbnNvcnNfLmNsZWFyKCk7Ci0gICAgICB0
aGlzLnJlc29sdmVGdW5jc18uY2xlYXIoKTsKLSAgICAgIHRoaXMuZ2V0U2Vuc29yU2hvdWxkRmFp
bF8uY2xlYXIoKTsKLSAgICAgIHRoaXMucGVybWlzc2lvbnNEZW5pZWRfLmNsZWFyKCk7Ci0gICAg
ICB0aGlzLm1heEZyZXF1ZW5jeV8gPSA2MDsKLSAgICAgIHRoaXMubWluRnJlcXVlbmN5XyA9IDE7
Ci0gICAgICB0aGlzLmJpbmRpbmdfLmNsb3NlKCk7Ci0gICAgICB0aGlzLmludGVyY2VwdG9yXy5z
dG9wKCk7Ci0gICAgfQotCi0gICAgLy8gU2V0cyBmbGFnIHRoYXQgZm9yY2VzIG1vY2sgU2Vuc29y
UHJvdmlkZXIgdG8gZmFpbCB3aGVuIGdldFNlbnNvcigpIGlzCi0gICAgLy8gaW52b2tlZC4KLSAg
ICBzZXRHZXRTZW5zb3JTaG91bGRGYWlsKHNlbnNvclR5cGUsIHNob3VsZEZhaWwpIHsKLSAgICAg
IHRoaXMuZ2V0U2Vuc29yU2hvdWxkRmFpbF8uc2V0KHRoaXMubW9qb21TZW5zb3JUeXBlXy5nZXQo
c2Vuc29yVHlwZSksCi0gICAgICAgICAgc2hvdWxkRmFpbCk7Ci0gICAgfQotCi0gICAgc2V0UGVy
bWlzc2lvbnNEZW5pZWQoc2Vuc29yVHlwZSwgcGVybWlzc2lvbnNEZW5pZWQpIHsKLSAgICAgIHRo
aXMucGVybWlzc2lvbnNEZW5pZWRfLnNldCh0aGlzLm1vam9tU2Vuc29yVHlwZV8uZ2V0KHNlbnNv
clR5cGUpLAotICAgICAgICAgIHBlcm1pc3Npb25zRGVuaWVkKTsKLSAgICB9Ci0KLSAgICAvLyBS
ZXR1cm5zIG1vY2sgc2Vuc29yIHRoYXQgd2FzIGNyZWF0ZWQgaW4gZ2V0U2Vuc29yIHRvIHRoZSBs
YXlvdXQgdGVzdC4KLSAgICBnZXRDcmVhdGVkU2Vuc29yKHNlbnNvclR5cGUpIHsKLSAgICAgIGNv
bnN0IHR5cGUgPSB0aGlzLm1vam9tU2Vuc29yVHlwZV8uZ2V0KHNlbnNvclR5cGUpOwotICAgICAg
YXNzZXJ0X2VxdWFscyh0eXBlb2YgdHlwZSwgIm51bWJlciIsICJBIHNlbnNvciB0eXBlIG11c3Qg
YmUgc3BlY2lmaWVkLiIpOwotCi0gICAgICBpZiAodGhpcy5hY3RpdmVTZW5zb3JzXy5oYXModHlw
ZSkpIHsKLSAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh0aGlzLmFjdGl2ZVNlbnNvcnNf
LmdldCh0eXBlKSk7Ci0gICAgICB9Ci0KLSAgICAgIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZl
ID0+IHsKLSAgICAgICAgaWYgKCF0aGlzLnJlc29sdmVGdW5jc18uaGFzKHR5cGUpKSB7Ci0gICAg
ICAgICAgdGhpcy5yZXNvbHZlRnVuY3NfLnNldCh0eXBlLCBbXSk7Ci0gICAgICAgIH0KLSAgICAg
ICAgdGhpcy5yZXNvbHZlRnVuY3NfLmdldCh0eXBlKS5wdXNoKHJlc29sdmUpOwotICAgICAgfSk7
Ci0gICAgfQotCi0gICAgLy8gU2V0cyB0aGUgbWF4aW11bSBmcmVxdWVuY3kgZm9yIGEgY29uY3Jl
dGUgc2Vuc29yLgotICAgIHNldE1heGltdW1TdXBwb3J0ZWRGcmVxdWVuY3koZnJlcXVlbmN5KSB7
Ci0gICAgICB0aGlzLm1heEZyZXF1ZW5jeV8gPSBmcmVxdWVuY3k7Ci0gICAgfQotCi0gICAgLy8g
U2V0cyB0aGUgbWluaW11bSBmcmVxdWVuY3kgZm9yIGEgY29uY3JldGUgc2Vuc29yLgotICAgIHNl
dE1pbmltdW1TdXBwb3J0ZWRGcmVxdWVuY3koZnJlcXVlbmN5KSB7Ci0gICAgICB0aGlzLm1pbkZy
ZXF1ZW5jeV8gPSBmcmVxdWVuY3k7Ci0gICAgfQotICB9Ci0KLSAgbGV0IHRlc3RJbnRlcm5hbCA9
IHsKLSAgICBpbml0aWFsaXplZDogZmFsc2UsCi0gICAgc2Vuc29yUHJvdmlkZXI6IG51bGwKLSAg
fQotCi0gIGNsYXNzIEdlbmVyaWNTZW5zb3JUZXN0Q2hyb21pdW0gewotICAgIGNvbnN0cnVjdG9y
KCkgewotICAgICAgT2JqZWN0LmZyZWV6ZSh0aGlzKTsgLy8gTWFrZSBpdCBpbW11dGFibGUuCi0g
ICAgfQotCi0gICAgaW5pdGlhbGl6ZSgpIHsKLSAgICAgIGlmICh0ZXN0SW50ZXJuYWwuaW5pdGlh
bGl6ZWQpCi0gICAgICAgIHRocm93IG5ldyBFcnJvcignQ2FsbCByZXNldCgpIGJlZm9yZSBpbml0
aWFsaXplKCkuJyk7Ci0KLSAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewotICAgICAgICAv
LyBHcmFudCBzZW5zb3IgcGVybWlzc2lvbnMgZm9yIENocm9taXVtIHRlc3RydW5uZXIuCi0gICAg
ICAgIFsnYWNjZWxlcm9tZXRlcicsICdneXJvc2NvcGUnLAotICAgICAgICAgJ21hZ25ldG9tZXRl
cicsICdhbWJpZW50LWxpZ2h0LXNlbnNvciddLmZvckVhY2goKGVudHJ5KSA9PiB7Ci0gICAgICAg
ICAgd2luZG93LnRlc3RSdW5uZXIuc2V0UGVybWlzc2lvbihlbnRyeSwgJ2dyYW50ZWQnLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9jYXRpb24ub3JpZ2luLCBs
b2NhdGlvbi5vcmlnaW4pOwotICAgICAgICB9KTsKLSAgICAgIH0KLQotICAgICAgdGVzdEludGVy
bmFsLnNlbnNvclByb3ZpZGVyID0gbmV3IE1vY2tTZW5zb3JQcm92aWRlcjsKLSAgICAgIHRlc3RJ
bnRlcm5hbC5pbml0aWFsaXplZCA9IHRydWU7Ci0gICAgfQotICAgIC8vIFJlc2V0cyBzdGF0ZSBv
ZiBzZW5zb3IgbW9ja3MgYmV0d2VlbiB0ZXN0IHJ1bnMuCi0gICAgYXN5bmMgcmVzZXQoKSB7Ci0g
ICAgICBpZiAoIXRlc3RJbnRlcm5hbC5pbml0aWFsaXplZCkKLSAgICAgICAgdGhyb3cgbmV3IEVy
cm9yKCdDYWxsIGluaXRpYWxpemUoKSBiZWZvcmUgcmVzZXQoKS4nKTsKLSAgICAgIHRlc3RJbnRl
cm5hbC5zZW5zb3JQcm92aWRlci5yZXNldCgpOwotICAgICAgdGVzdEludGVybmFsLnNlbnNvclBy
b3ZpZGVyID0gbnVsbDsKLSAgICAgIHRlc3RJbnRlcm5hbC5pbml0aWFsaXplZCA9IGZhbHNlOwot
Ci0gICAgICAvLyBXYWl0IGZvciBhbiBldmVudCBsb29wIGl0ZXJhdGlvbiB0byBsZXQgYW55IHBl
bmRpbmcgbW9qbyBjb21tYW5kcyBpbgotICAgICAgLy8gdGhlIHNlbnNvciBwcm92aWRlciBmaW5p
c2guCi0gICAgICBhd2FpdCBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHNldFRpbWVvdXQocmVzb2x2
ZSwgMCkpOwotICAgIH0KLQotICAgIGdldFNlbnNvclByb3ZpZGVyKCkgewotICAgICAgcmV0dXJu
IHRlc3RJbnRlcm5hbC5zZW5zb3JQcm92aWRlcjsKLSAgICB9Ci0gIH0KLQotICByZXR1cm4gR2Vu
ZXJpY1NlbnNvclRlc3RDaHJvbWl1bTsKLX0pKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS9nZW5lcmlj
X3NlbnNvcl9tb2Nrcy5qcy5oZWFkZXJzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vZ2VuZXJpY19zZW5zb3JfbW9ja3MuanMu
aGVhZGVycwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjgwNWMzMjNkZjUuLjAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL2Nocm9taXVtL2dlbmVyaWNfc2Vuc29yX21vY2tzLmpzLmhlYWRlcnMKKysrIC9k
ZXYvbnVsbApAQCAtMSArMCwwIEBACi1Db250ZW50LVR5cGU6IHRleHQvamF2YXNjcmlwdDsgY2hh
cnNldD11dGYtOApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vaW1hZ2VfY2FwdHVyZS1tb2pvbS5qcy5oZWFk
ZXJzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvY2hyb21pdW0vaW1hZ2VfY2FwdHVyZS1tb2pvbS5qcy5oZWFkZXJzCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCA2YzYxYTM0YTRlYy4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vaW1h
Z2VfY2FwdHVyZS1tb2pvbS5qcy5oZWFkZXJzCisrKyAvZGV2L251bGwKQEAgLTEgKzAsMCBAQAot
Q29udGVudC1UeXBlOiB0ZXh0L2phdmFzY3JpcHQ7IGNoYXJzZXQ9dXRmLTgKXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS9pbWFnZV9jYXB0dXJlLm1vam9tLmpz
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
Y2hyb21pdW0vaW1hZ2VfY2FwdHVyZS5tb2pvbS5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggZjE0NWQ3YTM0MDIuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL2ltYWdlX2NhcHR1cmUu
bW9qb20uanMKKysrIC9kZXYvbnVsbApAQCAtMSwxNDAzICswLDAgQEAKLS8vIENvcHlyaWdodCAy
MDE0IFRoZSBDaHJvbWl1bSBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotLy8gVXNlIG9m
IHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZSB0aGF0
IGNhbiBiZQotLy8gZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KLQotJ3VzZSBzdHJpY3QnOwot
Ci0oZnVuY3Rpb24oKSB7Ci0gIHZhciBtb2pvbUlkID0gJ21lZGlhL2NhcHR1cmUvbW9qb20vaW1h
Z2VfY2FwdHVyZS5tb2pvbSc7Ci0gIGlmIChtb2pvLmludGVybmFsLmlzTW9qb21Mb2FkZWQobW9q
b21JZCkpIHsKLSAgICBjb25zb2xlLndhcm4oJ1RoZSBmb2xsb3dpbmcgbW9qb20gaXMgbG9hZGVk
IG11bHRpcGxlIHRpbWVzOiAnICsgbW9qb21JZCk7Ci0gICAgcmV0dXJuOwotICB9Ci0gIG1vam8u
aW50ZXJuYWwubWFya01vam9tTG9hZGVkKG1vam9tSWQpOwotICB2YXIgYmluZGluZ3MgPSBtb2pv
OwotICB2YXIgYXNzb2NpYXRlZEJpbmRpbmdzID0gbW9qbzsKLSAgdmFyIGNvZGVjID0gbW9qby5p
bnRlcm5hbDsKLSAgdmFyIHZhbGlkYXRvciA9IG1vam8uaW50ZXJuYWw7Ci0KLSAgdmFyIGV4cG9y
dHMgPSBtb2pvLmludGVybmFsLmV4cG9zZU5hbWVzcGFjZSgnbWVkaWEubW9qb20nKTsKLQotCi0g
IHZhciBNZXRlcmluZ01vZGUgPSB7fTsKLSAgTWV0ZXJpbmdNb2RlLk5PTkUgPSAwOwotICBNZXRl
cmluZ01vZGUuTUFOVUFMID0gTWV0ZXJpbmdNb2RlLk5PTkUgKyAxOwotICBNZXRlcmluZ01vZGUu
U0lOR0xFX1NIT1QgPSBNZXRlcmluZ01vZGUuTUFOVUFMICsgMTsKLSAgTWV0ZXJpbmdNb2RlLkNP
TlRJTlVPVVMgPSBNZXRlcmluZ01vZGUuU0lOR0xFX1NIT1QgKyAxOwotICBNZXRlcmluZ01vZGUu
TUlOX1ZBTFVFID0gMCwKLSAgTWV0ZXJpbmdNb2RlLk1BWF9WQUxVRSA9IDMsCi0KLSAgTWV0ZXJp
bmdNb2RlLmlzS25vd25FbnVtVmFsdWUgPSBmdW5jdGlvbih2YWx1ZSkgewotICAgIHN3aXRjaCAo
dmFsdWUpIHsKLSAgICBjYXNlIDA6Ci0gICAgY2FzZSAxOgotICAgIGNhc2UgMjoKLSAgICBjYXNl
IDM6Ci0gICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9Ci0gICAgcmV0dXJuIGZhbHNlOwotICB9Owot
Ci0gIE1ldGVyaW5nTW9kZS52YWxpZGF0ZSA9IGZ1bmN0aW9uKGVudW1WYWx1ZSkgewotICAgIHZh
ciBpc0V4dGVuc2libGUgPSBmYWxzZTsKLSAgICBpZiAoaXNFeHRlbnNpYmxlIHx8IHRoaXMuaXNL
bm93bkVudW1WYWx1ZShlbnVtVmFsdWUpKQotICAgICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0
aW9uRXJyb3IuTk9ORTsKLQotICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLlVO
S05PV05fRU5VTV9WQUxVRTsKLSAgfTsKLSAgdmFyIFJlZEV5ZVJlZHVjdGlvbiA9IHt9OwotICBS
ZWRFeWVSZWR1Y3Rpb24uTkVWRVIgPSAwOwotICBSZWRFeWVSZWR1Y3Rpb24uQUxXQVlTID0gUmVk
RXllUmVkdWN0aW9uLk5FVkVSICsgMTsKLSAgUmVkRXllUmVkdWN0aW9uLkNPTlRST0xMQUJMRSA9
IFJlZEV5ZVJlZHVjdGlvbi5BTFdBWVMgKyAxOwotICBSZWRFeWVSZWR1Y3Rpb24uTUlOX1ZBTFVF
ID0gMCwKLSAgUmVkRXllUmVkdWN0aW9uLk1BWF9WQUxVRSA9IDIsCi0KLSAgUmVkRXllUmVkdWN0
aW9uLmlzS25vd25FbnVtVmFsdWUgPSBmdW5jdGlvbih2YWx1ZSkgewotICAgIHN3aXRjaCAodmFs
dWUpIHsKLSAgICBjYXNlIDA6Ci0gICAgY2FzZSAxOgotICAgIGNhc2UgMjoKLSAgICAgIHJldHVy
biB0cnVlOwotICAgIH0KLSAgICByZXR1cm4gZmFsc2U7Ci0gIH07Ci0KLSAgUmVkRXllUmVkdWN0
aW9uLnZhbGlkYXRlID0gZnVuY3Rpb24oZW51bVZhbHVlKSB7Ci0gICAgdmFyIGlzRXh0ZW5zaWJs
ZSA9IGZhbHNlOwotICAgIGlmIChpc0V4dGVuc2libGUgfHwgdGhpcy5pc0tub3duRW51bVZhbHVl
KGVudW1WYWx1ZSkpCi0gICAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05F
OwotCi0gICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuVU5LTk9XTl9FTlVNX1ZB
TFVFOwotICB9OwotICB2YXIgRmlsbExpZ2h0TW9kZSA9IHt9OwotICBGaWxsTGlnaHRNb2RlLk9G
RiA9IDA7Ci0gIEZpbGxMaWdodE1vZGUuQVVUTyA9IEZpbGxMaWdodE1vZGUuT0ZGICsgMTsKLSAg
RmlsbExpZ2h0TW9kZS5GTEFTSCA9IEZpbGxMaWdodE1vZGUuQVVUTyArIDE7Ci0gIEZpbGxMaWdo
dE1vZGUuTUlOX1ZBTFVFID0gMCwKLSAgRmlsbExpZ2h0TW9kZS5NQVhfVkFMVUUgPSAyLAotCi0g
IEZpbGxMaWdodE1vZGUuaXNLbm93bkVudW1WYWx1ZSA9IGZ1bmN0aW9uKHZhbHVlKSB7Ci0gICAg
c3dpdGNoICh2YWx1ZSkgewotICAgIGNhc2UgMDoKLSAgICBjYXNlIDE6Ci0gICAgY2FzZSAyOgot
ICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfQotICAgIHJldHVybiBmYWxzZTsKLSAgfTsKLQotICBG
aWxsTGlnaHRNb2RlLnZhbGlkYXRlID0gZnVuY3Rpb24oZW51bVZhbHVlKSB7Ci0gICAgdmFyIGlz
RXh0ZW5zaWJsZSA9IGZhbHNlOwotICAgIGlmIChpc0V4dGVuc2libGUgfHwgdGhpcy5pc0tub3du
RW51bVZhbHVlKGVudW1WYWx1ZSkpCi0gICAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25F
cnJvci5OT05FOwotCi0gICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuVU5LTk9X
Tl9FTlVNX1ZBTFVFOwotICB9OwotCi0gIGZ1bmN0aW9uIFJhbmdlKHZhbHVlcykgewotICAgIHRo
aXMuaW5pdERlZmF1bHRzXygpOwotICAgIHRoaXMuaW5pdEZpZWxkc18odmFsdWVzKTsKLSAgfQot
Ci0KLSAgUmFuZ2UucHJvdG90eXBlLmluaXREZWZhdWx0c18gPSBmdW5jdGlvbigpIHsKLSAgICB0
aGlzLm1heCA9IDA7Ci0gICAgdGhpcy5taW4gPSAwOwotICAgIHRoaXMuY3VycmVudCA9IDA7Ci0g
ICAgdGhpcy5zdGVwID0gMDsKLSAgfTsKLSAgUmFuZ2UucHJvdG90eXBlLmluaXRGaWVsZHNfID0g
ZnVuY3Rpb24oZmllbGRzKSB7Ci0gICAgZm9yKHZhciBmaWVsZCBpbiBmaWVsZHMpIHsKLSAgICAg
ICAgaWYgKHRoaXMuaGFzT3duUHJvcGVydHkoZmllbGQpKQotICAgICAgICAgIHRoaXNbZmllbGRd
ID0gZmllbGRzW2ZpZWxkXTsKLSAgICB9Ci0gIH07Ci0KLSAgUmFuZ2UudmFsaWRhdGUgPSBmdW5j
dGlvbihtZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsKLSAgICB2YXIgZXJyOwotICAgIGVyciA9
IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RIZWFkZXIob2Zmc2V0LCBjb2RlYy5rU3Ry
dWN0SGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJv
ci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgdmFyIGtWZXJzaW9uU2l6ZXMgPSBb
Ci0gICAgICB7dmVyc2lvbjogMCwgbnVtQnl0ZXM6IDQwfQotICAgIF07Ci0gICAgZXJyID0gbWVz
c2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFZlcnNpb24ob2Zmc2V0LCBrVmVyc2lvblNpemVz
KTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAg
ICAgIHJldHVybiBlcnI7Ci0KLQotCi0KLQotICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlv
bkVycm9yLk5PTkU7Ci0gIH07Ci0KLSAgUmFuZ2UuZW5jb2RlZFNpemUgPSBjb2RlYy5rU3RydWN0
SGVhZGVyU2l6ZSArIDMyOwotCi0gIFJhbmdlLmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsK
LSAgICB2YXIgcGFja2VkOwotICAgIHZhciB2YWwgPSBuZXcgUmFuZ2UoKTsKLSAgICB2YXIgbnVt
YmVyT2ZCeXRlcyA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhciB2ZXJzaW9uID0gZGVj
b2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFsLm1heCA9IGRlY29kZXIuZGVjb2RlU3RydWN0KGNv
ZGVjLkRvdWJsZSk7Ci0gICAgdmFsLm1pbiA9IGRlY29kZXIuZGVjb2RlU3RydWN0KGNvZGVjLkRv
dWJsZSk7Ci0gICAgdmFsLmN1cnJlbnQgPSBkZWNvZGVyLmRlY29kZVN0cnVjdChjb2RlYy5Eb3Vi
bGUpOwotICAgIHZhbC5zdGVwID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoY29kZWMuRG91YmxlKTsK
LSAgICByZXR1cm4gdmFsOwotICB9OwotCi0gIFJhbmdlLmVuY29kZSA9IGZ1bmN0aW9uKGVuY29k
ZXIsIHZhbCkgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMihSYW5n
ZS5lbmNvZGVkU2l6ZSk7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMigwKTsKLSAgICBlbmNvZGVy
LmVuY29kZVN0cnVjdChjb2RlYy5Eb3VibGUsIHZhbC5tYXgpOwotICAgIGVuY29kZXIuZW5jb2Rl
U3RydWN0KGNvZGVjLkRvdWJsZSwgdmFsLm1pbik7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3Qo
Y29kZWMuRG91YmxlLCB2YWwuY3VycmVudCk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3QoY29k
ZWMuRG91YmxlLCB2YWwuc3RlcCk7Ci0gIH07Ci0gIGZ1bmN0aW9uIFBob3RvU3RhdGUodmFsdWVz
KSB7Ci0gICAgdGhpcy5pbml0RGVmYXVsdHNfKCk7Ci0gICAgdGhpcy5pbml0RmllbGRzXyh2YWx1
ZXMpOwotICB9Ci0KLQotICBQaG90b1N0YXRlLnByb3RvdHlwZS5pbml0RGVmYXVsdHNfID0gZnVu
Y3Rpb24oKSB7Ci0gICAgdGhpcy5zdXBwb3J0ZWRXaGl0ZUJhbGFuY2VNb2RlcyA9IG51bGw7Ci0g
ICAgdGhpcy5jdXJyZW50V2hpdGVCYWxhbmNlTW9kZSA9IDA7Ci0gICAgdGhpcy5jdXJyZW50RXhw
b3N1cmVNb2RlID0gMDsKLSAgICB0aGlzLnN1cHBvcnRlZEV4cG9zdXJlTW9kZXMgPSBudWxsOwot
ICAgIHRoaXMuc3VwcG9ydGVkRm9jdXNNb2RlcyA9IG51bGw7Ci0gICAgdGhpcy5jdXJyZW50Rm9j
dXNNb2RlID0gMDsKLSAgICB0aGlzLnN1cHBvcnRzVG9yY2ggPSBmYWxzZTsKLSAgICB0aGlzLnRv
cmNoID0gZmFsc2U7Ci0gICAgdGhpcy5wb2ludHNPZkludGVyZXN0ID0gbnVsbDsKLSAgICB0aGlz
LmV4cG9zdXJlQ29tcGVuc2F0aW9uID0gbnVsbDsKLSAgICB0aGlzLmV4cG9zdXJlVGltZSA9IG51
bGw7Ci0gICAgdGhpcy5jb2xvclRlbXBlcmF0dXJlID0gbnVsbDsKLSAgICB0aGlzLmlzbyA9IG51
bGw7Ci0gICAgdGhpcy5icmlnaHRuZXNzID0gbnVsbDsKLSAgICB0aGlzLmNvbnRyYXN0ID0gbnVs
bDsKLSAgICB0aGlzLnNhdHVyYXRpb24gPSBudWxsOwotICAgIHRoaXMuc2hhcnBuZXNzID0gbnVs
bDsKLSAgICB0aGlzLmZvY3VzRGlzdGFuY2UgPSBudWxsOwotICAgIHRoaXMucGFuID0gbnVsbDsK
LSAgICB0aGlzLnRpbHQgPSBudWxsOwotICAgIHRoaXMuem9vbSA9IG51bGw7Ci0gICAgdGhpcy5y
ZWRFeWVSZWR1Y3Rpb24gPSAwOwotICAgIHRoaXMuaGVpZ2h0ID0gbnVsbDsKLSAgICB0aGlzLndp
ZHRoID0gbnVsbDsKLSAgICB0aGlzLmZpbGxMaWdodE1vZGUgPSBudWxsOwotICB9OwotICBQaG90
b1N0YXRlLnByb3RvdHlwZS5pbml0RmllbGRzXyA9IGZ1bmN0aW9uKGZpZWxkcykgewotICAgIGZv
cih2YXIgZmllbGQgaW4gZmllbGRzKSB7Ci0gICAgICAgIGlmICh0aGlzLmhhc093blByb3BlcnR5
KGZpZWxkKSkKLSAgICAgICAgICB0aGlzW2ZpZWxkXSA9IGZpZWxkc1tmaWVsZF07Ci0gICAgfQot
ICB9OwotCi0gIFBob3RvU3RhdGUudmFsaWRhdGUgPSBmdW5jdGlvbihtZXNzYWdlVmFsaWRhdG9y
LCBvZmZzZXQpIHsKLSAgICB2YXIgZXJyOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFs
aWRhdGVTdHJ1Y3RIZWFkZXIob2Zmc2V0LCBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSk7Ci0gICAg
aWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1
cm4gZXJyOwotCi0gICAgdmFyIGtWZXJzaW9uU2l6ZXMgPSBbCi0gICAgICB7dmVyc2lvbjogMCwg
bnVtQnl0ZXM6IDE4NH0KLSAgICBdOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRh
dGVTdHJ1Y3RWZXJzaW9uKG9mZnNldCwga1ZlcnNpb25TaXplcyk7Ci0gICAgaWYgKGVyciAhPT0g
dmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0K
LSAgICAvLyB2YWxpZGF0ZSBQaG90b1N0YXRlLnN1cHBvcnRlZFdoaXRlQmFsYW5jZU1vZGVzCi0g
ICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZUFycmF5UG9pbnRlcihvZmZzZXQgKyBj
b2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDAsIDQsIG5ldyBjb2RlYy5FbnVtKE1ldGVyaW5nTW9k
ZSksIGZhbHNlLCBbMF0sIDApOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9u
RXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0gICAgLy8gdmFsaWRhdGUgUGhv
dG9TdGF0ZS5jdXJyZW50V2hpdGVCYWxhbmNlTW9kZQotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0
b3IudmFsaWRhdGVFbnVtKG9mZnNldCArIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgOCwgTWV0
ZXJpbmdNb2RlKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5P
TkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotICAgIC8vIHZhbGlkYXRlIFBob3RvU3RhdGUu
c3VwcG9ydGVkRXhwb3N1cmVNb2RlcwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRh
dGVBcnJheVBvaW50ZXIob2Zmc2V0ICsgY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyAxNiwgNCwg
bmV3IGNvZGVjLkVudW0oTWV0ZXJpbmdNb2RlKSwgZmFsc2UsIFswXSwgMCk7Ci0gICAgaWYgKGVy
ciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJy
OwotCi0KLSAgICAvLyB2YWxpZGF0ZSBQaG90b1N0YXRlLmN1cnJlbnRFeHBvc3VyZU1vZGUKLSAg
ICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlRW51bShvZmZzZXQgKyBjb2RlYy5rU3Ry
dWN0SGVhZGVyU2l6ZSArIDEyLCBNZXRlcmluZ01vZGUpOwotICAgIGlmIChlcnIgIT09IHZhbGlk
YXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0gICAg
Ly8gdmFsaWRhdGUgUGhvdG9TdGF0ZS5zdXBwb3J0ZWRGb2N1c01vZGVzCi0gICAgZXJyID0gbWVz
c2FnZVZhbGlkYXRvci52YWxpZGF0ZUFycmF5UG9pbnRlcihvZmZzZXQgKyBjb2RlYy5rU3RydWN0
SGVhZGVyU2l6ZSArIDI0LCA0LCBuZXcgY29kZWMuRW51bShNZXRlcmluZ01vZGUpLCBmYWxzZSwg
WzBdLCAwKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUp
Ci0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotICAgIC8vIHZhbGlkYXRlIFBob3RvU3RhdGUuY3Vy
cmVudEZvY3VzTW9kZQotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVFbnVtKG9m
ZnNldCArIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgMzIsIE1ldGVyaW5nTW9kZSk7Ci0gICAg
aWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1
cm4gZXJyOwotCi0KLSAgICAvLyB2YWxpZGF0ZSBQaG90b1N0YXRlLnBvaW50c09mSW50ZXJlc3QK
LSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlQXJyYXlQb2ludGVyKG9mZnNldCAr
IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgNDAsIDgsIG5ldyBjb2RlYy5Qb2ludGVyVG8oUG9p
bnQyRCksIGZhbHNlLCBbMF0sIDApOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0
aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0gICAgLy8gdmFsaWRhdGUg
UGhvdG9TdGF0ZS5leHBvc3VyZUNvbXBlbnNhdGlvbgotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0
b3IudmFsaWRhdGVTdHJ1Y3RQb2ludGVyKG9mZnNldCArIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXpl
ICsgNDgsIFJhbmdlLCBmYWxzZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRp
b25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0KLSAgICAvLyB2YWxpZGF0ZSBQ
aG90b1N0YXRlLmV4cG9zdXJlVGltZQotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRh
dGVTdHJ1Y3RQb2ludGVyKG9mZnNldCArIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgNTYsIFJh
bmdlLCBmYWxzZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5O
T05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0KLSAgICAvLyB2YWxpZGF0ZSBQaG90b1N0YXRl
LmNvbG9yVGVtcGVyYXR1cmUKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3Ry
dWN0UG9pbnRlcihvZmZzZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDY0LCBSYW5nZSwg
ZmFsc2UpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkK
LSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0gICAgLy8gdmFsaWRhdGUgUGhvdG9TdGF0ZS5pc28K
LSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0UG9pbnRlcihvZmZzZXQg
KyBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDcyLCBSYW5nZSwgZmFsc2UpOwotICAgIGlmIChl
cnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVy
cjsKLQotCi0gICAgLy8gdmFsaWRhdGUgUGhvdG9TdGF0ZS5icmlnaHRuZXNzCi0gICAgZXJyID0g
bWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFBvaW50ZXIob2Zmc2V0ICsgY29kZWMua1N0
cnVjdEhlYWRlclNpemUgKyA4MCwgUmFuZ2UsIGZhbHNlKTsKLSAgICBpZiAoZXJyICE9PSB2YWxp
ZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotICAg
IC8vIHZhbGlkYXRlIFBob3RvU3RhdGUuY29udHJhc3QKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRh
dG9yLnZhbGlkYXRlU3RydWN0UG9pbnRlcihvZmZzZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVyU2l6
ZSArIDg4LCBSYW5nZSwgZmFsc2UpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0
aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0gICAgLy8gdmFsaWRhdGUg
UGhvdG9TdGF0ZS5zYXR1cmF0aW9uCi0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0
ZVN0cnVjdFBvaW50ZXIob2Zmc2V0ICsgY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyA5NiwgUmFu
Z2UsIGZhbHNlKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5P
TkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotICAgIC8vIHZhbGlkYXRlIFBob3RvU3RhdGUu
c2hhcnBuZXNzCi0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFBvaW50
ZXIob2Zmc2V0ICsgY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyAxMDQsIFJhbmdlLCBmYWxzZSk7
Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAg
ICByZXR1cm4gZXJyOwotCi0KLSAgICAvLyB2YWxpZGF0ZSBQaG90b1N0YXRlLmZvY3VzRGlzdGFu
Y2UKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0UG9pbnRlcihvZmZz
ZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDExMiwgUmFuZ2UsIGZhbHNlKTsKLSAgICBp
ZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVy
biBlcnI7Ci0KLQotICAgIC8vIHZhbGlkYXRlIFBob3RvU3RhdGUucGFuCi0gICAgZXJyID0gbWVz
c2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFBvaW50ZXIob2Zmc2V0ICsgY29kZWMua1N0cnVj
dEhlYWRlclNpemUgKyAxMjAsIFJhbmdlLCBmYWxzZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRh
dG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0KLSAgICAv
LyB2YWxpZGF0ZSBQaG90b1N0YXRlLnRpbHQKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZh
bGlkYXRlU3RydWN0UG9pbnRlcihvZmZzZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDEy
OCwgUmFuZ2UsIGZhbHNlKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVy
cm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotICAgIC8vIHZhbGlkYXRlIFBob3Rv
U3RhdGUuem9vbQotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RQb2lu
dGVyKG9mZnNldCArIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgMTM2LCBSYW5nZSwgZmFsc2Up
OwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAg
ICAgcmV0dXJuIGVycjsKLQotCi0KLQotICAgIC8vIHZhbGlkYXRlIFBob3RvU3RhdGUucmVkRXll
UmVkdWN0aW9uCi0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZUVudW0ob2Zmc2V0
ICsgY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyAxNDQsIFJlZEV5ZVJlZHVjdGlvbik7Ci0gICAg
aWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1
cm4gZXJyOwotCi0KLSAgICAvLyB2YWxpZGF0ZSBQaG90b1N0YXRlLmhlaWdodAotICAgIGVyciA9
IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RQb2ludGVyKG9mZnNldCArIGNvZGVjLmtT
dHJ1Y3RIZWFkZXJTaXplICsgMTUyLCBSYW5nZSwgZmFsc2UpOwotICAgIGlmIChlcnIgIT09IHZh
bGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0g
ICAgLy8gdmFsaWRhdGUgUGhvdG9TdGF0ZS53aWR0aAotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0
b3IudmFsaWRhdGVTdHJ1Y3RQb2ludGVyKG9mZnNldCArIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXpl
ICsgMTYwLCBSYW5nZSwgZmFsc2UpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0
aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0gICAgLy8gdmFsaWRhdGUg
UGhvdG9TdGF0ZS5maWxsTGlnaHRNb2RlCi0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxp
ZGF0ZUFycmF5UG9pbnRlcihvZmZzZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDE2OCwg
NCwgbmV3IGNvZGVjLkVudW0oRmlsbExpZ2h0TW9kZSksIGZhbHNlLCBbMF0sIDApOwotICAgIGlm
IChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJu
IGVycjsKLQotICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gIH07
Ci0KLSAgUGhvdG9TdGF0ZS5lbmNvZGVkU2l6ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsg
MTc2OwotCi0gIFBob3RvU3RhdGUuZGVjb2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHZh
ciBwYWNrZWQ7Ci0gICAgdmFyIHZhbCA9IG5ldyBQaG90b1N0YXRlKCk7Ci0gICAgdmFyIG51bWJl
ck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YXIgdmVyc2lvbiA9IGRlY29k
ZXIucmVhZFVpbnQzMigpOwotICAgIHZhbC5zdXBwb3J0ZWRXaGl0ZUJhbGFuY2VNb2RlcyA9IGRl
Y29kZXIuZGVjb2RlQXJyYXlQb2ludGVyKG5ldyBjb2RlYy5FbnVtKE1ldGVyaW5nTW9kZSkpOwot
ICAgIHZhbC5jdXJyZW50V2hpdGVCYWxhbmNlTW9kZSA9IGRlY29kZXIuZGVjb2RlU3RydWN0KGNv
ZGVjLkludDMyKTsKLSAgICB2YWwuY3VycmVudEV4cG9zdXJlTW9kZSA9IGRlY29kZXIuZGVjb2Rl
U3RydWN0KGNvZGVjLkludDMyKTsKLSAgICB2YWwuc3VwcG9ydGVkRXhwb3N1cmVNb2RlcyA9IGRl
Y29kZXIuZGVjb2RlQXJyYXlQb2ludGVyKG5ldyBjb2RlYy5FbnVtKE1ldGVyaW5nTW9kZSkpOwot
ICAgIHZhbC5zdXBwb3J0ZWRGb2N1c01vZGVzID0gZGVjb2Rlci5kZWNvZGVBcnJheVBvaW50ZXIo
bmV3IGNvZGVjLkVudW0oTWV0ZXJpbmdNb2RlKSk7Ci0gICAgdmFsLmN1cnJlbnRGb2N1c01vZGUg
PSBkZWNvZGVyLmRlY29kZVN0cnVjdChjb2RlYy5JbnQzMik7Ci0gICAgcGFja2VkID0gZGVjb2Rl
ci5yZWFkVWludDgoKTsKLSAgICB2YWwuc3VwcG9ydHNUb3JjaCA9IChwYWNrZWQgPj4gMCkgJiAx
ID8gdHJ1ZSA6IGZhbHNlOwotICAgIHZhbC50b3JjaCA9IChwYWNrZWQgPj4gMSkgJiAxID8gdHJ1
ZSA6IGZhbHNlOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0g
ICAgZGVjb2Rlci5za2lwKDEpOwotICAgIHZhbC5wb2ludHNPZkludGVyZXN0ID0gZGVjb2Rlci5k
ZWNvZGVBcnJheVBvaW50ZXIobmV3IGNvZGVjLlBvaW50ZXJUbyhQb2ludDJEKSk7Ci0gICAgdmFs
LmV4cG9zdXJlQ29tcGVuc2F0aW9uID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3RQb2ludGVyKFJhbmdl
KTsKLSAgICB2YWwuZXhwb3N1cmVUaW1lID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3RQb2ludGVyKFJh
bmdlKTsKLSAgICB2YWwuY29sb3JUZW1wZXJhdHVyZSA9IGRlY29kZXIuZGVjb2RlU3RydWN0UG9p
bnRlcihSYW5nZSk7Ci0gICAgdmFsLmlzbyA9IGRlY29kZXIuZGVjb2RlU3RydWN0UG9pbnRlcihS
YW5nZSk7Ci0gICAgdmFsLmJyaWdodG5lc3MgPSBkZWNvZGVyLmRlY29kZVN0cnVjdFBvaW50ZXIo
UmFuZ2UpOwotICAgIHZhbC5jb250cmFzdCA9IGRlY29kZXIuZGVjb2RlU3RydWN0UG9pbnRlcihS
YW5nZSk7Ci0gICAgdmFsLnNhdHVyYXRpb24gPSBkZWNvZGVyLmRlY29kZVN0cnVjdFBvaW50ZXIo
UmFuZ2UpOwotICAgIHZhbC5zaGFycG5lc3MgPSBkZWNvZGVyLmRlY29kZVN0cnVjdFBvaW50ZXIo
UmFuZ2UpOwotICAgIHZhbC5mb2N1c0Rpc3RhbmNlID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3RQb2lu
dGVyKFJhbmdlKTsKLSAgICB2YWwucGFuID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3RQb2ludGVyKFJh
bmdlKTsKLSAgICB2YWwudGlsdCA9IGRlY29kZXIuZGVjb2RlU3RydWN0UG9pbnRlcihSYW5nZSk7
Ci0gICAgdmFsLnpvb20gPSBkZWNvZGVyLmRlY29kZVN0cnVjdFBvaW50ZXIoUmFuZ2UpOwotICAg
IHZhbC5yZWRFeWVSZWR1Y3Rpb24gPSBkZWNvZGVyLmRlY29kZVN0cnVjdChjb2RlYy5JbnQzMik7
Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVy
LnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIHZhbC5oZWlnaHQgPSBkZWNvZGVy
LmRlY29kZVN0cnVjdFBvaW50ZXIoUmFuZ2UpOwotICAgIHZhbC53aWR0aCA9IGRlY29kZXIuZGVj
b2RlU3RydWN0UG9pbnRlcihSYW5nZSk7Ci0gICAgdmFsLmZpbGxMaWdodE1vZGUgPSBkZWNvZGVy
LmRlY29kZUFycmF5UG9pbnRlcihuZXcgY29kZWMuRW51bShGaWxsTGlnaHRNb2RlKSk7Ci0gICAg
cmV0dXJuIHZhbDsKLSAgfTsKLQotICBQaG90b1N0YXRlLmVuY29kZSA9IGZ1bmN0aW9uKGVuY29k
ZXIsIHZhbCkgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMihQaG90
b1N0YXRlLmVuY29kZWRTaXplKTsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKDApOwotICAgIGVu
Y29kZXIuZW5jb2RlQXJyYXlQb2ludGVyKG5ldyBjb2RlYy5FbnVtKE1ldGVyaW5nTW9kZSksIHZh
bC5zdXBwb3J0ZWRXaGl0ZUJhbGFuY2VNb2Rlcyk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3Qo
Y29kZWMuSW50MzIsIHZhbC5jdXJyZW50V2hpdGVCYWxhbmNlTW9kZSk7Ci0gICAgZW5jb2Rlci5l
bmNvZGVTdHJ1Y3QoY29kZWMuSW50MzIsIHZhbC5jdXJyZW50RXhwb3N1cmVNb2RlKTsKLSAgICBl
bmNvZGVyLmVuY29kZUFycmF5UG9pbnRlcihuZXcgY29kZWMuRW51bShNZXRlcmluZ01vZGUpLCB2
YWwuc3VwcG9ydGVkRXhwb3N1cmVNb2Rlcyk7Ci0gICAgZW5jb2Rlci5lbmNvZGVBcnJheVBvaW50
ZXIobmV3IGNvZGVjLkVudW0oTWV0ZXJpbmdNb2RlKSwgdmFsLnN1cHBvcnRlZEZvY3VzTW9kZXMp
OwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNvZGVjLkludDMyLCB2YWwuY3VycmVudEZvY3Vz
TW9kZSk7Ci0gICAgcGFja2VkID0gMDsKLSAgICBwYWNrZWQgfD0gKHZhbC5zdXBwb3J0c1RvcmNo
ICYgMSkgPDwgMAotICAgIHBhY2tlZCB8PSAodmFsLnRvcmNoICYgMSkgPDwgMQotICAgIGVuY29k
ZXIud3JpdGVVaW50OChwYWNrZWQpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVy
LnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuZW5jb2RlQXJyYXlQ
b2ludGVyKG5ldyBjb2RlYy5Qb2ludGVyVG8oUG9pbnQyRCksIHZhbC5wb2ludHNPZkludGVyZXN0
KTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdFBvaW50ZXIoUmFuZ2UsIHZhbC5leHBvc3VyZUNv
bXBlbnNhdGlvbik7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3RQb2ludGVyKFJhbmdlLCB2YWwu
ZXhwb3N1cmVUaW1lKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdFBvaW50ZXIoUmFuZ2UsIHZh
bC5jb2xvclRlbXBlcmF0dXJlKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdFBvaW50ZXIoUmFu
Z2UsIHZhbC5pc28pOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0UG9pbnRlcihSYW5nZSwgdmFs
LmJyaWdodG5lc3MpOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0UG9pbnRlcihSYW5nZSwgdmFs
LmNvbnRyYXN0KTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdFBvaW50ZXIoUmFuZ2UsIHZhbC5z
YXR1cmF0aW9uKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdFBvaW50ZXIoUmFuZ2UsIHZhbC5z
aGFycG5lc3MpOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0UG9pbnRlcihSYW5nZSwgdmFsLmZv
Y3VzRGlzdGFuY2UpOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0UG9pbnRlcihSYW5nZSwgdmFs
LnBhbik7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3RQb2ludGVyKFJhbmdlLCB2YWwudGlsdCk7
Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3RQb2ludGVyKFJhbmdlLCB2YWwuem9vbSk7Ci0gICAg
ZW5jb2Rlci5lbmNvZGVTdHJ1Y3QoY29kZWMuSW50MzIsIHZhbC5yZWRFeWVSZWR1Y3Rpb24pOwot
ICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5z
a2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdFBv
aW50ZXIoUmFuZ2UsIHZhbC5oZWlnaHQpOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0UG9pbnRl
cihSYW5nZSwgdmFsLndpZHRoKTsKLSAgICBlbmNvZGVyLmVuY29kZUFycmF5UG9pbnRlcihuZXcg
Y29kZWMuRW51bShGaWxsTGlnaHRNb2RlKSwgdmFsLmZpbGxMaWdodE1vZGUpOwotICB9OwotICBm
dW5jdGlvbiBQb2ludDJEKHZhbHVlcykgewotICAgIHRoaXMuaW5pdERlZmF1bHRzXygpOwotICAg
IHRoaXMuaW5pdEZpZWxkc18odmFsdWVzKTsKLSAgfQotCi0KLSAgUG9pbnQyRC5wcm90b3R5cGUu
aW5pdERlZmF1bHRzXyA9IGZ1bmN0aW9uKCkgewotICAgIHRoaXMueCA9IDA7Ci0gICAgdGhpcy55
ID0gMDsKLSAgfTsKLSAgUG9pbnQyRC5wcm90b3R5cGUuaW5pdEZpZWxkc18gPSBmdW5jdGlvbihm
aWVsZHMpIHsKLSAgICBmb3IodmFyIGZpZWxkIGluIGZpZWxkcykgewotICAgICAgICBpZiAodGhp
cy5oYXNPd25Qcm9wZXJ0eShmaWVsZCkpCi0gICAgICAgICAgdGhpc1tmaWVsZF0gPSBmaWVsZHNb
ZmllbGRdOwotICAgIH0KLSAgfTsKLQotICBQb2ludDJELnZhbGlkYXRlID0gZnVuY3Rpb24obWVz
c2FnZVZhbGlkYXRvciwgb2Zmc2V0KSB7Ci0gICAgdmFyIGVycjsKLSAgICBlcnIgPSBtZXNzYWdl
VmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0SGVhZGVyKG9mZnNldCwgY29kZWMua1N0cnVjdEhlYWRl
clNpemUpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkK
LSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHZhciBrVmVyc2lvblNpemVzID0gWwotICAgICAg
e3ZlcnNpb246IDAsIG51bUJ5dGVzOiAyNH0KLSAgICBdOwotICAgIGVyciA9IG1lc3NhZ2VWYWxp
ZGF0b3IudmFsaWRhdGVTdHJ1Y3RWZXJzaW9uKG9mZnNldCwga1ZlcnNpb25TaXplcyk7Ci0gICAg
aWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1
cm4gZXJyOwotCi0KLQotICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7
Ci0gIH07Ci0KLSAgUG9pbnQyRC5lbmNvZGVkU2l6ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXpl
ICsgMTY7Ci0KLSAgUG9pbnQyRC5kZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgdmFy
IHBhY2tlZDsKLSAgICB2YXIgdmFsID0gbmV3IFBvaW50MkQoKTsKLSAgICB2YXIgbnVtYmVyT2ZC
eXRlcyA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhciB2ZXJzaW9uID0gZGVjb2Rlci5y
ZWFkVWludDMyKCk7Ci0gICAgdmFsLnggPSBkZWNvZGVyLmRlY29kZVN0cnVjdChjb2RlYy5Eb3Vi
bGUpOwotICAgIHZhbC55ID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoY29kZWMuRG91YmxlKTsKLSAg
ICByZXR1cm4gdmFsOwotICB9OwotCi0gIFBvaW50MkQuZW5jb2RlID0gZnVuY3Rpb24oZW5jb2Rl
ciwgdmFsKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKFBvaW50
MkQuZW5jb2RlZFNpemUpOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoMCk7Ci0gICAgZW5jb2Rl
ci5lbmNvZGVTdHJ1Y3QoY29kZWMuRG91YmxlLCB2YWwueCk7Ci0gICAgZW5jb2Rlci5lbmNvZGVT
dHJ1Y3QoY29kZWMuRG91YmxlLCB2YWwueSk7Ci0gIH07Ci0gIGZ1bmN0aW9uIFBob3RvU2V0dGlu
Z3ModmFsdWVzKSB7Ci0gICAgdGhpcy5pbml0RGVmYXVsdHNfKCk7Ci0gICAgdGhpcy5pbml0Rmll
bGRzXyh2YWx1ZXMpOwotICB9Ci0KLQotICBQaG90b1NldHRpbmdzLnByb3RvdHlwZS5pbml0RGVm
YXVsdHNfID0gZnVuY3Rpb24oKSB7Ci0gICAgdGhpcy5oYXNXaGl0ZUJhbGFuY2VNb2RlID0gZmFs
c2U7Ci0gICAgdGhpcy5oYXNFeHBvc3VyZU1vZGUgPSBmYWxzZTsKLSAgICB0aGlzLmhhc0ZvY3Vz
TW9kZSA9IGZhbHNlOwotICAgIHRoaXMuaGFzRXhwb3N1cmVDb21wZW5zYXRpb24gPSBmYWxzZTsK
LSAgICB0aGlzLmhhc0V4cG9zdXJlVGltZSA9IGZhbHNlOwotICAgIHRoaXMuaGFzQ29sb3JUZW1w
ZXJhdHVyZSA9IGZhbHNlOwotICAgIHRoaXMuaGFzSXNvID0gZmFsc2U7Ci0gICAgdGhpcy5oYXNC
cmlnaHRuZXNzID0gZmFsc2U7Ci0gICAgdGhpcy5oYXNDb250cmFzdCA9IGZhbHNlOwotICAgIHRo
aXMuaGFzU2F0dXJhdGlvbiA9IGZhbHNlOwotICAgIHRoaXMuaGFzU2hhcnBuZXNzID0gZmFsc2U7
Ci0gICAgdGhpcy5oYXNGb2N1c0Rpc3RhbmNlID0gZmFsc2U7Ci0gICAgdGhpcy5oYXNQYW4gPSBm
YWxzZTsKLSAgICB0aGlzLmhhc1RpbHQgPSBmYWxzZTsKLSAgICB0aGlzLmhhc1pvb20gPSBmYWxz
ZTsKLSAgICB0aGlzLmhhc1RvcmNoID0gZmFsc2U7Ci0gICAgdGhpcy50b3JjaCA9IGZhbHNlOwot
ICAgIHRoaXMuaGFzRmlsbExpZ2h0TW9kZSA9IGZhbHNlOwotICAgIHRoaXMuaGFzV2lkdGggPSBm
YWxzZTsKLSAgICB0aGlzLmhhc0hlaWdodCA9IGZhbHNlOwotICAgIHRoaXMuaGFzUmVkRXllUmVk
dWN0aW9uID0gZmFsc2U7Ci0gICAgdGhpcy5yZWRFeWVSZWR1Y3Rpb24gPSBmYWxzZTsKLSAgICB0
aGlzLndoaXRlQmFsYW5jZU1vZGUgPSAwOwotICAgIHRoaXMuZXhwb3N1cmVNb2RlID0gMDsKLSAg
ICB0aGlzLmZvY3VzTW9kZSA9IDA7Ci0gICAgdGhpcy5wb2ludHNPZkludGVyZXN0ID0gbnVsbDsK
LSAgICB0aGlzLmV4cG9zdXJlQ29tcGVuc2F0aW9uID0gMDsKLSAgICB0aGlzLmV4cG9zdXJlVGlt
ZSA9IDA7Ci0gICAgdGhpcy5jb2xvclRlbXBlcmF0dXJlID0gMDsKLSAgICB0aGlzLmlzbyA9IDA7
Ci0gICAgdGhpcy5icmlnaHRuZXNzID0gMDsKLSAgICB0aGlzLmNvbnRyYXN0ID0gMDsKLSAgICB0
aGlzLnNhdHVyYXRpb24gPSAwOwotICAgIHRoaXMuc2hhcnBuZXNzID0gMDsKLSAgICB0aGlzLmZv
Y3VzRGlzdGFuY2UgPSAwOwotICAgIHRoaXMucGFuID0gMDsKLSAgICB0aGlzLnRpbHQgPSAwOwot
ICAgIHRoaXMuem9vbSA9IDA7Ci0gICAgdGhpcy5maWxsTGlnaHRNb2RlID0gMDsKLSAgICB0aGlz
LndpZHRoID0gMDsKLSAgICB0aGlzLmhlaWdodCA9IDA7Ci0gIH07Ci0gIFBob3RvU2V0dGluZ3Mu
cHJvdG90eXBlLmluaXRGaWVsZHNfID0gZnVuY3Rpb24oZmllbGRzKSB7Ci0gICAgZm9yKHZhciBm
aWVsZCBpbiBmaWVsZHMpIHsKLSAgICAgICAgaWYgKHRoaXMuaGFzT3duUHJvcGVydHkoZmllbGQp
KQotICAgICAgICAgIHRoaXNbZmllbGRdID0gZmllbGRzW2ZpZWxkXTsKLSAgICB9Ci0gIH07Ci0K
LSAgUGhvdG9TZXR0aW5ncy52YWxpZGF0ZSA9IGZ1bmN0aW9uKG1lc3NhZ2VWYWxpZGF0b3IsIG9m
ZnNldCkgewotICAgIHZhciBlcnI7Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0
ZVN0cnVjdEhlYWRlcihvZmZzZXQsIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplKTsKLSAgICBpZiAo
ZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBl
cnI7Ci0KLSAgICB2YXIga1ZlcnNpb25TaXplcyA9IFsKLSAgICAgIHt2ZXJzaW9uOiAwLCBudW1C
eXRlczogMTUyfQotICAgIF07Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0
cnVjdFZlcnNpb24ob2Zmc2V0LCBrVmVyc2lvblNpemVzKTsKLSAgICBpZiAoZXJyICE9PSB2YWxp
ZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotCi0g
ICAgLy8gdmFsaWRhdGUgUGhvdG9TZXR0aW5ncy53aGl0ZUJhbGFuY2VNb2RlCi0gICAgZXJyID0g
bWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZUVudW0ob2Zmc2V0ICsgY29kZWMua1N0cnVjdEhlYWRl
clNpemUgKyA0LCBNZXRlcmluZ01vZGUpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxp
ZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0KLSAgICAvLyB2YWxp
ZGF0ZSBQaG90b1NldHRpbmdzLmV4cG9zdXJlTW9kZQotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0
b3IudmFsaWRhdGVFbnVtKG9mZnNldCArIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgOCwgTWV0
ZXJpbmdNb2RlKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5P
TkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotCi0gICAgLy8gdmFsaWRhdGUgUGhvdG9TZXR0
aW5ncy5mb2N1c01vZGUKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlRW51bShv
ZmZzZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDEyLCBNZXRlcmluZ01vZGUpOwotICAg
IGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0
dXJuIGVycjsKLQotCi0gICAgLy8gdmFsaWRhdGUgUGhvdG9TZXR0aW5ncy5wb2ludHNPZkludGVy
ZXN0Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZUFycmF5UG9pbnRlcihvZmZz
ZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDE2LCA4LCBuZXcgY29kZWMuUG9pbnRlclRv
KFBvaW50MkQpLCBmYWxzZSwgWzBdLCAwKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFs
aWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotCi0KLQotCi0KLQot
Ci0KLQotCi0KLQotCi0KLQotCi0KLQotCi0KLQotCi0KLQotCi0KLQotICAgIC8vIHZhbGlkYXRl
IFBob3RvU2V0dGluZ3MuZmlsbExpZ2h0TW9kZQotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3Iu
dmFsaWRhdGVFbnVtKG9mZnNldCArIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgMTIwLCBGaWxs
TGlnaHRNb2RlKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5P
TkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotCi0KLQotCi0KLSAgICByZXR1cm4gdmFsaWRh
dG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIFBob3RvU2V0dGluZ3MuZW5jb2Rl
ZFNpemUgPSBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDE0NDsKLQotICBQaG90b1NldHRpbmdz
LmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIHZhciB2
YWwgPSBuZXcgUGhvdG9TZXR0aW5ncygpOwotICAgIHZhciBudW1iZXJPZkJ5dGVzID0gZGVjb2Rl
ci5yZWFkVWludDMyKCk7Ci0gICAgdmFyIHZlcnNpb24gPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsK
LSAgICBwYWNrZWQgPSBkZWNvZGVyLnJlYWRVaW50OCgpOwotICAgIHZhbC5oYXNXaGl0ZUJhbGFu
Y2VNb2RlID0gKHBhY2tlZCA+PiAwKSAmIDEgPyB0cnVlIDogZmFsc2U7Ci0gICAgdmFsLmhhc0V4
cG9zdXJlTW9kZSA9IChwYWNrZWQgPj4gMSkgJiAxID8gdHJ1ZSA6IGZhbHNlOwotICAgIHZhbC5o
YXNGb2N1c01vZGUgPSAocGFja2VkID4+IDIpICYgMSA/IHRydWUgOiBmYWxzZTsKLSAgICB2YWwu
aGFzRXhwb3N1cmVDb21wZW5zYXRpb24gPSAocGFja2VkID4+IDMpICYgMSA/IHRydWUgOiBmYWxz
ZTsKLSAgICB2YWwuaGFzRXhwb3N1cmVUaW1lID0gKHBhY2tlZCA+PiA0KSAmIDEgPyB0cnVlIDog
ZmFsc2U7Ci0gICAgdmFsLmhhc0NvbG9yVGVtcGVyYXR1cmUgPSAocGFja2VkID4+IDUpICYgMSA/
IHRydWUgOiBmYWxzZTsKLSAgICB2YWwuaGFzSXNvID0gKHBhY2tlZCA+PiA2KSAmIDEgPyB0cnVl
IDogZmFsc2U7Ci0gICAgdmFsLmhhc0JyaWdodG5lc3MgPSAocGFja2VkID4+IDcpICYgMSA/IHRy
dWUgOiBmYWxzZTsKLSAgICBwYWNrZWQgPSBkZWNvZGVyLnJlYWRVaW50OCgpOwotICAgIHZhbC5o
YXNDb250cmFzdCA9IChwYWNrZWQgPj4gMCkgJiAxID8gdHJ1ZSA6IGZhbHNlOwotICAgIHZhbC5o
YXNTYXR1cmF0aW9uID0gKHBhY2tlZCA+PiAxKSAmIDEgPyB0cnVlIDogZmFsc2U7Ci0gICAgdmFs
Lmhhc1NoYXJwbmVzcyA9IChwYWNrZWQgPj4gMikgJiAxID8gdHJ1ZSA6IGZhbHNlOwotICAgIHZh
bC5oYXNGb2N1c0Rpc3RhbmNlID0gKHBhY2tlZCA+PiAzKSAmIDEgPyB0cnVlIDogZmFsc2U7Ci0g
ICAgdmFsLmhhc1BhbiA9IChwYWNrZWQgPj4gNCkgJiAxID8gdHJ1ZSA6IGZhbHNlOwotICAgIHZh
bC5oYXNUaWx0ID0gKHBhY2tlZCA+PiA1KSAmIDEgPyB0cnVlIDogZmFsc2U7Ci0gICAgdmFsLmhh
c1pvb20gPSAocGFja2VkID4+IDYpICYgMSA/IHRydWUgOiBmYWxzZTsKLSAgICB2YWwuaGFzVG9y
Y2ggPSAocGFja2VkID4+IDcpICYgMSA/IHRydWUgOiBmYWxzZTsKLSAgICBwYWNrZWQgPSBkZWNv
ZGVyLnJlYWRVaW50OCgpOwotICAgIHZhbC50b3JjaCA9IChwYWNrZWQgPj4gMCkgJiAxID8gdHJ1
ZSA6IGZhbHNlOwotICAgIHZhbC5oYXNGaWxsTGlnaHRNb2RlID0gKHBhY2tlZCA+PiAxKSAmIDEg
PyB0cnVlIDogZmFsc2U7Ci0gICAgdmFsLmhhc1dpZHRoID0gKHBhY2tlZCA+PiAyKSAmIDEgPyB0
cnVlIDogZmFsc2U7Ci0gICAgdmFsLmhhc0hlaWdodCA9IChwYWNrZWQgPj4gMykgJiAxID8gdHJ1
ZSA6IGZhbHNlOwotICAgIHZhbC5oYXNSZWRFeWVSZWR1Y3Rpb24gPSAocGFja2VkID4+IDQpICYg
MSA/IHRydWUgOiBmYWxzZTsKLSAgICB2YWwucmVkRXllUmVkdWN0aW9uID0gKHBhY2tlZCA+PiA1
KSAmIDEgPyB0cnVlIDogZmFsc2U7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIHZhbC53aGl0
ZUJhbGFuY2VNb2RlID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoY29kZWMuSW50MzIpOwotICAgIHZh
bC5leHBvc3VyZU1vZGUgPSBkZWNvZGVyLmRlY29kZVN0cnVjdChjb2RlYy5JbnQzMik7Ci0gICAg
dmFsLmZvY3VzTW9kZSA9IGRlY29kZXIuZGVjb2RlU3RydWN0KGNvZGVjLkludDMyKTsKLSAgICB2
YWwucG9pbnRzT2ZJbnRlcmVzdCA9IGRlY29kZXIuZGVjb2RlQXJyYXlQb2ludGVyKG5ldyBjb2Rl
Yy5Qb2ludGVyVG8oUG9pbnQyRCkpOwotICAgIHZhbC5leHBvc3VyZUNvbXBlbnNhdGlvbiA9IGRl
Y29kZXIuZGVjb2RlU3RydWN0KGNvZGVjLkRvdWJsZSk7Ci0gICAgdmFsLmV4cG9zdXJlVGltZSA9
IGRlY29kZXIuZGVjb2RlU3RydWN0KGNvZGVjLkRvdWJsZSk7Ci0gICAgdmFsLmNvbG9yVGVtcGVy
YXR1cmUgPSBkZWNvZGVyLmRlY29kZVN0cnVjdChjb2RlYy5Eb3VibGUpOwotICAgIHZhbC5pc28g
PSBkZWNvZGVyLmRlY29kZVN0cnVjdChjb2RlYy5Eb3VibGUpOwotICAgIHZhbC5icmlnaHRuZXNz
ID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoY29kZWMuRG91YmxlKTsKLSAgICB2YWwuY29udHJhc3Qg
PSBkZWNvZGVyLmRlY29kZVN0cnVjdChjb2RlYy5Eb3VibGUpOwotICAgIHZhbC5zYXR1cmF0aW9u
ID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoY29kZWMuRG91YmxlKTsKLSAgICB2YWwuc2hhcnBuZXNz
ID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoY29kZWMuRG91YmxlKTsKLSAgICB2YWwuZm9jdXNEaXN0
YW5jZSA9IGRlY29kZXIuZGVjb2RlU3RydWN0KGNvZGVjLkRvdWJsZSk7Ci0gICAgdmFsLnBhbiA9
IGRlY29kZXIuZGVjb2RlU3RydWN0KGNvZGVjLkRvdWJsZSk7Ci0gICAgdmFsLnRpbHQgPSBkZWNv
ZGVyLmRlY29kZVN0cnVjdChjb2RlYy5Eb3VibGUpOwotICAgIHZhbC56b29tID0gZGVjb2Rlci5k
ZWNvZGVTdHJ1Y3QoY29kZWMuRG91YmxlKTsKLSAgICB2YWwuZmlsbExpZ2h0TW9kZSA9IGRlY29k
ZXIuZGVjb2RlU3RydWN0KGNvZGVjLkludDMyKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAg
ZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAo
MSk7Ci0gICAgdmFsLndpZHRoID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoY29kZWMuRG91YmxlKTsK
LSAgICB2YWwuaGVpZ2h0ID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoY29kZWMuRG91YmxlKTsKLSAg
ICByZXR1cm4gdmFsOwotICB9OwotCi0gIFBob3RvU2V0dGluZ3MuZW5jb2RlID0gZnVuY3Rpb24o
ZW5jb2RlciwgdmFsKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICBlbmNvZGVyLndyaXRlVWludDMy
KFBob3RvU2V0dGluZ3MuZW5jb2RlZFNpemUpOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoMCk7
Ci0gICAgcGFja2VkID0gMDsKLSAgICBwYWNrZWQgfD0gKHZhbC5oYXNXaGl0ZUJhbGFuY2VNb2Rl
ICYgMSkgPDwgMAotICAgIHBhY2tlZCB8PSAodmFsLmhhc0V4cG9zdXJlTW9kZSAmIDEpIDw8IDEK
LSAgICBwYWNrZWQgfD0gKHZhbC5oYXNGb2N1c01vZGUgJiAxKSA8PCAyCi0gICAgcGFja2VkIHw9
ICh2YWwuaGFzRXhwb3N1cmVDb21wZW5zYXRpb24gJiAxKSA8PCAzCi0gICAgcGFja2VkIHw9ICh2
YWwuaGFzRXhwb3N1cmVUaW1lICYgMSkgPDwgNAotICAgIHBhY2tlZCB8PSAodmFsLmhhc0NvbG9y
VGVtcGVyYXR1cmUgJiAxKSA8PCA1Ci0gICAgcGFja2VkIHw9ICh2YWwuaGFzSXNvICYgMSkgPDwg
NgotICAgIHBhY2tlZCB8PSAodmFsLmhhc0JyaWdodG5lc3MgJiAxKSA8PCA3Ci0gICAgZW5jb2Rl
ci53cml0ZVVpbnQ4KHBhY2tlZCk7Ci0gICAgcGFja2VkID0gMDsKLSAgICBwYWNrZWQgfD0gKHZh
bC5oYXNDb250cmFzdCAmIDEpIDw8IDAKLSAgICBwYWNrZWQgfD0gKHZhbC5oYXNTYXR1cmF0aW9u
ICYgMSkgPDwgMQotICAgIHBhY2tlZCB8PSAodmFsLmhhc1NoYXJwbmVzcyAmIDEpIDw8IDIKLSAg
ICBwYWNrZWQgfD0gKHZhbC5oYXNGb2N1c0Rpc3RhbmNlICYgMSkgPDwgMwotICAgIHBhY2tlZCB8
PSAodmFsLmhhc1BhbiAmIDEpIDw8IDQKLSAgICBwYWNrZWQgfD0gKHZhbC5oYXNUaWx0ICYgMSkg
PDwgNQotICAgIHBhY2tlZCB8PSAodmFsLmhhc1pvb20gJiAxKSA8PCA2Ci0gICAgcGFja2VkIHw9
ICh2YWwuaGFzVG9yY2ggJiAxKSA8PCA3Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQ4KHBhY2tlZCk7
Ci0gICAgcGFja2VkID0gMDsKLSAgICBwYWNrZWQgfD0gKHZhbC50b3JjaCAmIDEpIDw8IDAKLSAg
ICBwYWNrZWQgfD0gKHZhbC5oYXNGaWxsTGlnaHRNb2RlICYgMSkgPDwgMQotICAgIHBhY2tlZCB8
PSAodmFsLmhhc1dpZHRoICYgMSkgPDwgMgotICAgIHBhY2tlZCB8PSAodmFsLmhhc0hlaWdodCAm
IDEpIDw8IDMKLSAgICBwYWNrZWQgfD0gKHZhbC5oYXNSZWRFeWVSZWR1Y3Rpb24gJiAxKSA8PCA0
Ci0gICAgcGFja2VkIHw9ICh2YWwucmVkRXllUmVkdWN0aW9uICYgMSkgPDwgNQotICAgIGVuY29k
ZXIud3JpdGVVaW50OChwYWNrZWQpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVy
LmVuY29kZVN0cnVjdChjb2RlYy5JbnQzMiwgdmFsLndoaXRlQmFsYW5jZU1vZGUpOwotICAgIGVu
Y29kZXIuZW5jb2RlU3RydWN0KGNvZGVjLkludDMyLCB2YWwuZXhwb3N1cmVNb2RlKTsKLSAgICBl
bmNvZGVyLmVuY29kZVN0cnVjdChjb2RlYy5JbnQzMiwgdmFsLmZvY3VzTW9kZSk7Ci0gICAgZW5j
b2Rlci5lbmNvZGVBcnJheVBvaW50ZXIobmV3IGNvZGVjLlBvaW50ZXJUbyhQb2ludDJEKSwgdmFs
LnBvaW50c09mSW50ZXJlc3QpOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNvZGVjLkRvdWJs
ZSwgdmFsLmV4cG9zdXJlQ29tcGVuc2F0aW9uKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdChj
b2RlYy5Eb3VibGUsIHZhbC5leHBvc3VyZVRpbWUpOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0
KGNvZGVjLkRvdWJsZSwgdmFsLmNvbG9yVGVtcGVyYXR1cmUpOwotICAgIGVuY29kZXIuZW5jb2Rl
U3RydWN0KGNvZGVjLkRvdWJsZSwgdmFsLmlzbyk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3Qo
Y29kZWMuRG91YmxlLCB2YWwuYnJpZ2h0bmVzcyk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3Qo
Y29kZWMuRG91YmxlLCB2YWwuY29udHJhc3QpOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNv
ZGVjLkRvdWJsZSwgdmFsLnNhdHVyYXRpb24pOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNv
ZGVjLkRvdWJsZSwgdmFsLnNoYXJwbmVzcyk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3QoY29k
ZWMuRG91YmxlLCB2YWwuZm9jdXNEaXN0YW5jZSk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3Qo
Y29kZWMuRG91YmxlLCB2YWwucGFuKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdChjb2RlYy5E
b3VibGUsIHZhbC50aWx0KTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdChjb2RlYy5Eb3VibGUs
IHZhbC56b29tKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdChjb2RlYy5JbnQzMiwgdmFsLmZp
bGxMaWdodE1vZGUpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7
Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVy
LmVuY29kZVN0cnVjdChjb2RlYy5Eb3VibGUsIHZhbC53aWR0aCk7Ci0gICAgZW5jb2Rlci5lbmNv
ZGVTdHJ1Y3QoY29kZWMuRG91YmxlLCB2YWwuaGVpZ2h0KTsKLSAgfTsKLSAgZnVuY3Rpb24gQmxv
Yih2YWx1ZXMpIHsKLSAgICB0aGlzLmluaXREZWZhdWx0c18oKTsKLSAgICB0aGlzLmluaXRGaWVs
ZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0gIEJsb2IucHJvdG90eXBlLmluaXREZWZhdWx0c18gPSBm
dW5jdGlvbigpIHsKLSAgICB0aGlzLm1pbWVUeXBlID0gbnVsbDsKLSAgICB0aGlzLmRhdGEgPSBu
dWxsOwotICB9OwotICBCbG9iLnByb3RvdHlwZS5pbml0RmllbGRzXyA9IGZ1bmN0aW9uKGZpZWxk
cykgewotICAgIGZvcih2YXIgZmllbGQgaW4gZmllbGRzKSB7Ci0gICAgICAgIGlmICh0aGlzLmhh
c093blByb3BlcnR5KGZpZWxkKSkKLSAgICAgICAgICB0aGlzW2ZpZWxkXSA9IGZpZWxkc1tmaWVs
ZF07Ci0gICAgfQotICB9OwotCi0gIEJsb2IudmFsaWRhdGUgPSBmdW5jdGlvbihtZXNzYWdlVmFs
aWRhdG9yLCBvZmZzZXQpIHsKLSAgICB2YXIgZXJyOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0
b3IudmFsaWRhdGVTdHJ1Y3RIZWFkZXIob2Zmc2V0LCBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSk7
Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAg
ICByZXR1cm4gZXJyOwotCi0gICAgdmFyIGtWZXJzaW9uU2l6ZXMgPSBbCi0gICAgICB7dmVyc2lv
bjogMCwgbnVtQnl0ZXM6IDI0fQotICAgIF07Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52
YWxpZGF0ZVN0cnVjdFZlcnNpb24ob2Zmc2V0LCBrVmVyc2lvblNpemVzKTsKLSAgICBpZiAoZXJy
ICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7
Ci0KLQotICAgIC8vIHZhbGlkYXRlIEJsb2IubWltZVR5cGUKLSAgICBlcnIgPSBtZXNzYWdlVmFs
aWRhdG9yLnZhbGlkYXRlU3RyaW5nUG9pbnRlcihvZmZzZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVy
U2l6ZSArIDAsIGZhbHNlKQotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJy
b3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0gICAgLy8gdmFsaWRhdGUgQmxvYi5k
YXRhCi0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZUFycmF5UG9pbnRlcihvZmZz
ZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDgsIDEsIGNvZGVjLlVpbnQ4LCBmYWxzZSwg
WzBdLCAwKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUp
Ci0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25F
cnJvci5OT05FOwotICB9OwotCi0gIEJsb2IuZW5jb2RlZFNpemUgPSBjb2RlYy5rU3RydWN0SGVh
ZGVyU2l6ZSArIDE2OwotCi0gIEJsb2IuZGVjb2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAg
IHZhciBwYWNrZWQ7Ci0gICAgdmFyIHZhbCA9IG5ldyBCbG9iKCk7Ci0gICAgdmFyIG51bWJlck9m
Qnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YXIgdmVyc2lvbiA9IGRlY29kZXIu
cmVhZFVpbnQzMigpOwotICAgIHZhbC5taW1lVHlwZSA9IGRlY29kZXIuZGVjb2RlU3RydWN0KGNv
ZGVjLlN0cmluZyk7Ci0gICAgdmFsLmRhdGEgPSBkZWNvZGVyLmRlY29kZUFycmF5UG9pbnRlcihj
b2RlYy5VaW50OCk7Ci0gICAgcmV0dXJuIHZhbDsKLSAgfTsKLQotICBCbG9iLmVuY29kZSA9IGZ1
bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgZW5jb2Rlci53cml0
ZVVpbnQzMihCbG9iLmVuY29kZWRTaXplKTsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKDApOwot
ICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNvZGVjLlN0cmluZywgdmFsLm1pbWVUeXBlKTsKLSAg
ICBlbmNvZGVyLmVuY29kZUFycmF5UG9pbnRlcihjb2RlYy5VaW50OCwgdmFsLmRhdGEpOwotICB9
OwotICBmdW5jdGlvbiBJbWFnZUNhcHR1cmVfR2V0UGhvdG9TdGF0ZV9QYXJhbXModmFsdWVzKSB7
Ci0gICAgdGhpcy5pbml0RGVmYXVsdHNfKCk7Ci0gICAgdGhpcy5pbml0RmllbGRzXyh2YWx1ZXMp
OwotICB9Ci0KLQotICBJbWFnZUNhcHR1cmVfR2V0UGhvdG9TdGF0ZV9QYXJhbXMucHJvdG90eXBl
LmluaXREZWZhdWx0c18gPSBmdW5jdGlvbigpIHsKLSAgICB0aGlzLnNvdXJjZUlkID0gbnVsbDsK
LSAgfTsKLSAgSW1hZ2VDYXB0dXJlX0dldFBob3RvU3RhdGVfUGFyYW1zLnByb3RvdHlwZS5pbml0
RmllbGRzXyA9IGZ1bmN0aW9uKGZpZWxkcykgewotICAgIGZvcih2YXIgZmllbGQgaW4gZmllbGRz
KSB7Ci0gICAgICAgIGlmICh0aGlzLmhhc093blByb3BlcnR5KGZpZWxkKSkKLSAgICAgICAgICB0
aGlzW2ZpZWxkXSA9IGZpZWxkc1tmaWVsZF07Ci0gICAgfQotICB9OwotCi0gIEltYWdlQ2FwdHVy
ZV9HZXRQaG90b1N0YXRlX1BhcmFtcy52YWxpZGF0ZSA9IGZ1bmN0aW9uKG1lc3NhZ2VWYWxpZGF0
b3IsIG9mZnNldCkgewotICAgIHZhciBlcnI7Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52
YWxpZGF0ZVN0cnVjdEhlYWRlcihvZmZzZXQsIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplKTsKLSAg
ICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJl
dHVybiBlcnI7Ci0KLSAgICB2YXIga1ZlcnNpb25TaXplcyA9IFsKLSAgICAgIHt2ZXJzaW9uOiAw
LCBudW1CeXRlczogMTZ9Ci0gICAgXTsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlk
YXRlU3RydWN0VmVyc2lvbihvZmZzZXQsIGtWZXJzaW9uU2l6ZXMpOwotICAgIGlmIChlcnIgIT09
IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQot
Ci0gICAgLy8gdmFsaWRhdGUgSW1hZ2VDYXB0dXJlX0dldFBob3RvU3RhdGVfUGFyYW1zLnNvdXJj
ZUlkCi0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cmluZ1BvaW50ZXIob2Zm
c2V0ICsgY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyAwLCBmYWxzZSkKLSAgICBpZiAoZXJyICE9
PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0K
LSAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIElt
YWdlQ2FwdHVyZV9HZXRQaG90b1N0YXRlX1BhcmFtcy5lbmNvZGVkU2l6ZSA9IGNvZGVjLmtTdHJ1
Y3RIZWFkZXJTaXplICsgODsKLQotICBJbWFnZUNhcHR1cmVfR2V0UGhvdG9TdGF0ZV9QYXJhbXMu
ZGVjb2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgdmFyIHZh
bCA9IG5ldyBJbWFnZUNhcHR1cmVfR2V0UGhvdG9TdGF0ZV9QYXJhbXMoKTsKLSAgICB2YXIgbnVt
YmVyT2ZCeXRlcyA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhciB2ZXJzaW9uID0gZGVj
b2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFsLnNvdXJjZUlkID0gZGVjb2Rlci5kZWNvZGVTdHJ1
Y3QoY29kZWMuU3RyaW5nKTsKLSAgICByZXR1cm4gdmFsOwotICB9OwotCi0gIEltYWdlQ2FwdHVy
ZV9HZXRQaG90b1N0YXRlX1BhcmFtcy5lbmNvZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2YWwpIHsK
LSAgICB2YXIgcGFja2VkOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoSW1hZ2VDYXB0dXJlX0dl
dFBob3RvU3RhdGVfUGFyYW1zLmVuY29kZWRTaXplKTsKLSAgICBlbmNvZGVyLndyaXRlVWludDMy
KDApOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNvZGVjLlN0cmluZywgdmFsLnNvdXJjZUlk
KTsKLSAgfTsKLSAgZnVuY3Rpb24gSW1hZ2VDYXB0dXJlX0dldFBob3RvU3RhdGVfUmVzcG9uc2VQ
YXJhbXModmFsdWVzKSB7Ci0gICAgdGhpcy5pbml0RGVmYXVsdHNfKCk7Ci0gICAgdGhpcy5pbml0
RmllbGRzXyh2YWx1ZXMpOwotICB9Ci0KLQotICBJbWFnZUNhcHR1cmVfR2V0UGhvdG9TdGF0ZV9S
ZXNwb25zZVBhcmFtcy5wcm90b3R5cGUuaW5pdERlZmF1bHRzXyA9IGZ1bmN0aW9uKCkgewotICAg
IHRoaXMuc3RhdGUgPSBudWxsOwotICB9OwotICBJbWFnZUNhcHR1cmVfR2V0UGhvdG9TdGF0ZV9S
ZXNwb25zZVBhcmFtcy5wcm90b3R5cGUuaW5pdEZpZWxkc18gPSBmdW5jdGlvbihmaWVsZHMpIHsK
LSAgICBmb3IodmFyIGZpZWxkIGluIGZpZWxkcykgewotICAgICAgICBpZiAodGhpcy5oYXNPd25Q
cm9wZXJ0eShmaWVsZCkpCi0gICAgICAgICAgdGhpc1tmaWVsZF0gPSBmaWVsZHNbZmllbGRdOwot
ICAgIH0KLSAgfTsKLQotICBJbWFnZUNhcHR1cmVfR2V0UGhvdG9TdGF0ZV9SZXNwb25zZVBhcmFt
cy52YWxpZGF0ZSA9IGZ1bmN0aW9uKG1lc3NhZ2VWYWxpZGF0b3IsIG9mZnNldCkgewotICAgIHZh
ciBlcnI7Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdEhlYWRlcihv
ZmZzZXQsIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0
b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICB2YXIg
a1ZlcnNpb25TaXplcyA9IFsKLSAgICAgIHt2ZXJzaW9uOiAwLCBudW1CeXRlczogMTZ9Ci0gICAg
XTsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0VmVyc2lvbihvZmZz
ZXQsIGtWZXJzaW9uU2l6ZXMpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9u
RXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0gICAgLy8gdmFsaWRhdGUgSW1h
Z2VDYXB0dXJlX0dldFBob3RvU3RhdGVfUmVzcG9uc2VQYXJhbXMuc3RhdGUKLSAgICBlcnIgPSBt
ZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0UG9pbnRlcihvZmZzZXQgKyBjb2RlYy5rU3Ry
dWN0SGVhZGVyU2l6ZSArIDAsIFBob3RvU3RhdGUsIGZhbHNlKTsKLSAgICBpZiAoZXJyICE9PSB2
YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAg
ICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIEltYWdl
Q2FwdHVyZV9HZXRQaG90b1N0YXRlX1Jlc3BvbnNlUGFyYW1zLmVuY29kZWRTaXplID0gY29kZWMu
a1N0cnVjdEhlYWRlclNpemUgKyA4OwotCi0gIEltYWdlQ2FwdHVyZV9HZXRQaG90b1N0YXRlX1Jl
c3BvbnNlUGFyYW1zLmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICB2YXIgcGFja2Vk
OwotICAgIHZhciB2YWwgPSBuZXcgSW1hZ2VDYXB0dXJlX0dldFBob3RvU3RhdGVfUmVzcG9uc2VQ
YXJhbXMoKTsKLSAgICB2YXIgbnVtYmVyT2ZCeXRlcyA9IGRlY29kZXIucmVhZFVpbnQzMigpOwot
ICAgIHZhciB2ZXJzaW9uID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFsLnN0YXRlID0g
ZGVjb2Rlci5kZWNvZGVTdHJ1Y3RQb2ludGVyKFBob3RvU3RhdGUpOwotICAgIHJldHVybiB2YWw7
Ci0gIH07Ci0KLSAgSW1hZ2VDYXB0dXJlX0dldFBob3RvU3RhdGVfUmVzcG9uc2VQYXJhbXMuZW5j
b2RlID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICBlbmNv
ZGVyLndyaXRlVWludDMyKEltYWdlQ2FwdHVyZV9HZXRQaG90b1N0YXRlX1Jlc3BvbnNlUGFyYW1z
LmVuY29kZWRTaXplKTsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKDApOwotICAgIGVuY29kZXIu
ZW5jb2RlU3RydWN0UG9pbnRlcihQaG90b1N0YXRlLCB2YWwuc3RhdGUpOwotICB9OwotICBmdW5j
dGlvbiBJbWFnZUNhcHR1cmVfU2V0T3B0aW9uc19QYXJhbXModmFsdWVzKSB7Ci0gICAgdGhpcy5p
bml0RGVmYXVsdHNfKCk7Ci0gICAgdGhpcy5pbml0RmllbGRzXyh2YWx1ZXMpOwotICB9Ci0KLQot
ICBJbWFnZUNhcHR1cmVfU2V0T3B0aW9uc19QYXJhbXMucHJvdG90eXBlLmluaXREZWZhdWx0c18g
PSBmdW5jdGlvbigpIHsKLSAgICB0aGlzLnNvdXJjZUlkID0gbnVsbDsKLSAgICB0aGlzLnNldHRp
bmdzID0gbnVsbDsKLSAgfTsKLSAgSW1hZ2VDYXB0dXJlX1NldE9wdGlvbnNfUGFyYW1zLnByb3Rv
dHlwZS5pbml0RmllbGRzXyA9IGZ1bmN0aW9uKGZpZWxkcykgewotICAgIGZvcih2YXIgZmllbGQg
aW4gZmllbGRzKSB7Ci0gICAgICAgIGlmICh0aGlzLmhhc093blByb3BlcnR5KGZpZWxkKSkKLSAg
ICAgICAgICB0aGlzW2ZpZWxkXSA9IGZpZWxkc1tmaWVsZF07Ci0gICAgfQotICB9OwotCi0gIElt
YWdlQ2FwdHVyZV9TZXRPcHRpb25zX1BhcmFtcy52YWxpZGF0ZSA9IGZ1bmN0aW9uKG1lc3NhZ2VW
YWxpZGF0b3IsIG9mZnNldCkgewotICAgIHZhciBlcnI7Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlk
YXRvci52YWxpZGF0ZVN0cnVjdEhlYWRlcihvZmZzZXQsIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXpl
KTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAg
ICAgIHJldHVybiBlcnI7Ci0KLSAgICB2YXIga1ZlcnNpb25TaXplcyA9IFsKLSAgICAgIHt2ZXJz
aW9uOiAwLCBudW1CeXRlczogMjR9Ci0gICAgXTsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9y
LnZhbGlkYXRlU3RydWN0VmVyc2lvbihvZmZzZXQsIGtWZXJzaW9uU2l6ZXMpOwotICAgIGlmIChl
cnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVy
cjsKLQotCi0gICAgLy8gdmFsaWRhdGUgSW1hZ2VDYXB0dXJlX1NldE9wdGlvbnNfUGFyYW1zLnNv
dXJjZUlkCi0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cmluZ1BvaW50ZXIo
b2Zmc2V0ICsgY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyAwLCBmYWxzZSkKLSAgICBpZiAoZXJy
ICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7
Ci0KLQotICAgIC8vIHZhbGlkYXRlIEltYWdlQ2FwdHVyZV9TZXRPcHRpb25zX1BhcmFtcy5zZXR0
aW5ncwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RQb2ludGVyKG9m
ZnNldCArIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgOCwgUGhvdG9TZXR0aW5ncywgZmFsc2Up
OwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAg
ICAgcmV0dXJuIGVycjsKLQotICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5P
TkU7Ci0gIH07Ci0KLSAgSW1hZ2VDYXB0dXJlX1NldE9wdGlvbnNfUGFyYW1zLmVuY29kZWRTaXpl
ID0gY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyAxNjsKLQotICBJbWFnZUNhcHR1cmVfU2V0T3B0
aW9uc19QYXJhbXMuZGVjb2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHZhciBwYWNrZWQ7
Ci0gICAgdmFyIHZhbCA9IG5ldyBJbWFnZUNhcHR1cmVfU2V0T3B0aW9uc19QYXJhbXMoKTsKLSAg
ICB2YXIgbnVtYmVyT2ZCeXRlcyA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhciB2ZXJz
aW9uID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFsLnNvdXJjZUlkID0gZGVjb2Rlci5k
ZWNvZGVTdHJ1Y3QoY29kZWMuU3RyaW5nKTsKLSAgICB2YWwuc2V0dGluZ3MgPSBkZWNvZGVyLmRl
Y29kZVN0cnVjdFBvaW50ZXIoUGhvdG9TZXR0aW5ncyk7Ci0gICAgcmV0dXJuIHZhbDsKLSAgfTsK
LQotICBJbWFnZUNhcHR1cmVfU2V0T3B0aW9uc19QYXJhbXMuZW5jb2RlID0gZnVuY3Rpb24oZW5j
b2RlciwgdmFsKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKElt
YWdlQ2FwdHVyZV9TZXRPcHRpb25zX1BhcmFtcy5lbmNvZGVkU2l6ZSk7Ci0gICAgZW5jb2Rlci53
cml0ZVVpbnQzMigwKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdChjb2RlYy5TdHJpbmcsIHZh
bC5zb3VyY2VJZCk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3RQb2ludGVyKFBob3RvU2V0dGlu
Z3MsIHZhbC5zZXR0aW5ncyk7Ci0gIH07Ci0gIGZ1bmN0aW9uIEltYWdlQ2FwdHVyZV9TZXRPcHRp
b25zX1Jlc3BvbnNlUGFyYW1zKHZhbHVlcykgewotICAgIHRoaXMuaW5pdERlZmF1bHRzXygpOwot
ICAgIHRoaXMuaW5pdEZpZWxkc18odmFsdWVzKTsKLSAgfQotCi0KLSAgSW1hZ2VDYXB0dXJlX1Nl
dE9wdGlvbnNfUmVzcG9uc2VQYXJhbXMucHJvdG90eXBlLmluaXREZWZhdWx0c18gPSBmdW5jdGlv
bigpIHsKLSAgICB0aGlzLnN1Y2Nlc3MgPSBmYWxzZTsKLSAgfTsKLSAgSW1hZ2VDYXB0dXJlX1Nl
dE9wdGlvbnNfUmVzcG9uc2VQYXJhbXMucHJvdG90eXBlLmluaXRGaWVsZHNfID0gZnVuY3Rpb24o
ZmllbGRzKSB7Ci0gICAgZm9yKHZhciBmaWVsZCBpbiBmaWVsZHMpIHsKLSAgICAgICAgaWYgKHRo
aXMuaGFzT3duUHJvcGVydHkoZmllbGQpKQotICAgICAgICAgIHRoaXNbZmllbGRdID0gZmllbGRz
W2ZpZWxkXTsKLSAgICB9Ci0gIH07Ci0KLSAgSW1hZ2VDYXB0dXJlX1NldE9wdGlvbnNfUmVzcG9u
c2VQYXJhbXMudmFsaWRhdGUgPSBmdW5jdGlvbihtZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsK
LSAgICB2YXIgZXJyOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RI
ZWFkZXIob2Zmc2V0LCBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVyciAhPT0g
dmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0g
ICAgdmFyIGtWZXJzaW9uU2l6ZXMgPSBbCi0gICAgICB7dmVyc2lvbjogMCwgbnVtQnl0ZXM6IDE2
fQotICAgIF07Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFZlcnNp
b24ob2Zmc2V0LCBrVmVyc2lvblNpemVzKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFs
aWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotICAgIHJldHVybiB2
YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gIH07Ci0KLSAgSW1hZ2VDYXB0dXJlX1Nl
dE9wdGlvbnNfUmVzcG9uc2VQYXJhbXMuZW5jb2RlZFNpemUgPSBjb2RlYy5rU3RydWN0SGVhZGVy
U2l6ZSArIDg7Ci0KLSAgSW1hZ2VDYXB0dXJlX1NldE9wdGlvbnNfUmVzcG9uc2VQYXJhbXMuZGVj
b2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgdmFyIHZhbCA9
IG5ldyBJbWFnZUNhcHR1cmVfU2V0T3B0aW9uc19SZXNwb25zZVBhcmFtcygpOwotICAgIHZhciBu
dW1iZXJPZkJ5dGVzID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFyIHZlcnNpb24gPSBk
ZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICBwYWNrZWQgPSBkZWNvZGVyLnJlYWRVaW50OCgpOwot
ICAgIHZhbC5zdWNjZXNzID0gKHBhY2tlZCA+PiAwKSAmIDEgPyB0cnVlIDogZmFsc2U7Ci0gICAg
ZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAo
MSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNv
ZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIHJldHVybiB2YWw7Ci0gIH07
Ci0KLSAgSW1hZ2VDYXB0dXJlX1NldE9wdGlvbnNfUmVzcG9uc2VQYXJhbXMuZW5jb2RlID0gZnVu
Y3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICBlbmNvZGVyLndyaXRl
VWludDMyKEltYWdlQ2FwdHVyZV9TZXRPcHRpb25zX1Jlc3BvbnNlUGFyYW1zLmVuY29kZWRTaXpl
KTsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKDApOwotICAgIHBhY2tlZCA9IDA7Ci0gICAgcGFj
a2VkIHw9ICh2YWwuc3VjY2VzcyAmIDEpIDw8IDAKLSAgICBlbmNvZGVyLndyaXRlVWludDgocGFj
a2VkKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVu
Y29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEp
OwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gIH07Ci0gIGZ1
bmN0aW9uIEltYWdlQ2FwdHVyZV9UYWtlUGhvdG9fUGFyYW1zKHZhbHVlcykgewotICAgIHRoaXMu
aW5pdERlZmF1bHRzXygpOwotICAgIHRoaXMuaW5pdEZpZWxkc18odmFsdWVzKTsKLSAgfQotCi0K
LSAgSW1hZ2VDYXB0dXJlX1Rha2VQaG90b19QYXJhbXMucHJvdG90eXBlLmluaXREZWZhdWx0c18g
PSBmdW5jdGlvbigpIHsKLSAgICB0aGlzLnNvdXJjZUlkID0gbnVsbDsKLSAgfTsKLSAgSW1hZ2VD
YXB0dXJlX1Rha2VQaG90b19QYXJhbXMucHJvdG90eXBlLmluaXRGaWVsZHNfID0gZnVuY3Rpb24o
ZmllbGRzKSB7Ci0gICAgZm9yKHZhciBmaWVsZCBpbiBmaWVsZHMpIHsKLSAgICAgICAgaWYgKHRo
aXMuaGFzT3duUHJvcGVydHkoZmllbGQpKQotICAgICAgICAgIHRoaXNbZmllbGRdID0gZmllbGRz
W2ZpZWxkXTsKLSAgICB9Ci0gIH07Ci0KLSAgSW1hZ2VDYXB0dXJlX1Rha2VQaG90b19QYXJhbXMu
dmFsaWRhdGUgPSBmdW5jdGlvbihtZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsKLSAgICB2YXIg
ZXJyOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RIZWFkZXIob2Zm
c2V0LCBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9y
LnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgdmFyIGtW
ZXJzaW9uU2l6ZXMgPSBbCi0gICAgICB7dmVyc2lvbjogMCwgbnVtQnl0ZXM6IDE2fQotICAgIF07
Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFZlcnNpb24ob2Zmc2V0
LCBrVmVyc2lvblNpemVzKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVy
cm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotICAgIC8vIHZhbGlkYXRlIEltYWdl
Q2FwdHVyZV9UYWtlUGhvdG9fUGFyYW1zLnNvdXJjZUlkCi0gICAgZXJyID0gbWVzc2FnZVZhbGlk
YXRvci52YWxpZGF0ZVN0cmluZ1BvaW50ZXIob2Zmc2V0ICsgY29kZWMua1N0cnVjdEhlYWRlclNp
emUgKyAwLCBmYWxzZSkKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9y
Lk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlk
YXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIEltYWdlQ2FwdHVyZV9UYWtlUGhvdG9fUGFyYW1z
LmVuY29kZWRTaXplID0gY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyA4OwotCi0gIEltYWdlQ2Fw
dHVyZV9UYWtlUGhvdG9fUGFyYW1zLmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICB2
YXIgcGFja2VkOwotICAgIHZhciB2YWwgPSBuZXcgSW1hZ2VDYXB0dXJlX1Rha2VQaG90b19QYXJh
bXMoKTsKLSAgICB2YXIgbnVtYmVyT2ZCeXRlcyA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAg
IHZhciB2ZXJzaW9uID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFsLnNvdXJjZUlkID0g
ZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoY29kZWMuU3RyaW5nKTsKLSAgICByZXR1cm4gdmFsOwotICB9
OwotCi0gIEltYWdlQ2FwdHVyZV9UYWtlUGhvdG9fUGFyYW1zLmVuY29kZSA9IGZ1bmN0aW9uKGVu
Y29kZXIsIHZhbCkgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMihJ
bWFnZUNhcHR1cmVfVGFrZVBob3RvX1BhcmFtcy5lbmNvZGVkU2l6ZSk7Ci0gICAgZW5jb2Rlci53
cml0ZVVpbnQzMigwKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdChjb2RlYy5TdHJpbmcsIHZh
bC5zb3VyY2VJZCk7Ci0gIH07Ci0gIGZ1bmN0aW9uIEltYWdlQ2FwdHVyZV9UYWtlUGhvdG9fUmVz
cG9uc2VQYXJhbXModmFsdWVzKSB7Ci0gICAgdGhpcy5pbml0RGVmYXVsdHNfKCk7Ci0gICAgdGhp
cy5pbml0RmllbGRzXyh2YWx1ZXMpOwotICB9Ci0KLQotICBJbWFnZUNhcHR1cmVfVGFrZVBob3Rv
X1Jlc3BvbnNlUGFyYW1zLnByb3RvdHlwZS5pbml0RGVmYXVsdHNfID0gZnVuY3Rpb24oKSB7Ci0g
ICAgdGhpcy5ibG9iID0gbnVsbDsKLSAgfTsKLSAgSW1hZ2VDYXB0dXJlX1Rha2VQaG90b19SZXNw
b25zZVBhcmFtcy5wcm90b3R5cGUuaW5pdEZpZWxkc18gPSBmdW5jdGlvbihmaWVsZHMpIHsKLSAg
ICBmb3IodmFyIGZpZWxkIGluIGZpZWxkcykgewotICAgICAgICBpZiAodGhpcy5oYXNPd25Qcm9w
ZXJ0eShmaWVsZCkpCi0gICAgICAgICAgdGhpc1tmaWVsZF0gPSBmaWVsZHNbZmllbGRdOwotICAg
IH0KLSAgfTsKLQotICBJbWFnZUNhcHR1cmVfVGFrZVBob3RvX1Jlc3BvbnNlUGFyYW1zLnZhbGlk
YXRlID0gZnVuY3Rpb24obWVzc2FnZVZhbGlkYXRvciwgb2Zmc2V0KSB7Ci0gICAgdmFyIGVycjsK
LSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0SGVhZGVyKG9mZnNldCwg
Y29kZWMua1N0cnVjdEhlYWRlclNpemUpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxp
ZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHZhciBrVmVyc2lv
blNpemVzID0gWwotICAgICAge3ZlcnNpb246IDAsIG51bUJ5dGVzOiAxNn0KLSAgICBdOwotICAg
IGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RWZXJzaW9uKG9mZnNldCwga1Zl
cnNpb25TaXplcyk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5O
T05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0KLSAgICAvLyB2YWxpZGF0ZSBJbWFnZUNhcHR1
cmVfVGFrZVBob3RvX1Jlc3BvbnNlUGFyYW1zLmJsb2IKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRh
dG9yLnZhbGlkYXRlU3RydWN0UG9pbnRlcihvZmZzZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVyU2l6
ZSArIDAsIEJsb2IsIGZhbHNlKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlv
bkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICByZXR1cm4gdmFsaWRhdG9y
LnZhbGlkYXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIEltYWdlQ2FwdHVyZV9UYWtlUGhvdG9f
UmVzcG9uc2VQYXJhbXMuZW5jb2RlZFNpemUgPSBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDg7
Ci0KLSAgSW1hZ2VDYXB0dXJlX1Rha2VQaG90b19SZXNwb25zZVBhcmFtcy5kZWNvZGUgPSBmdW5j
dGlvbihkZWNvZGVyKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICB2YXIgdmFsID0gbmV3IEltYWdl
Q2FwdHVyZV9UYWtlUGhvdG9fUmVzcG9uc2VQYXJhbXMoKTsKLSAgICB2YXIgbnVtYmVyT2ZCeXRl
cyA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhciB2ZXJzaW9uID0gZGVjb2Rlci5yZWFk
VWludDMyKCk7Ci0gICAgdmFsLmJsb2IgPSBkZWNvZGVyLmRlY29kZVN0cnVjdFBvaW50ZXIoQmxv
Yik7Ci0gICAgcmV0dXJuIHZhbDsKLSAgfTsKLQotICBJbWFnZUNhcHR1cmVfVGFrZVBob3RvX1Jl
c3BvbnNlUGFyYW1zLmVuY29kZSA9IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgIHZhciBw
YWNrZWQ7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMihJbWFnZUNhcHR1cmVfVGFrZVBob3RvX1Jl
c3BvbnNlUGFyYW1zLmVuY29kZWRTaXplKTsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKDApOwot
ICAgIGVuY29kZXIuZW5jb2RlU3RydWN0UG9pbnRlcihCbG9iLCB2YWwuYmxvYik7Ci0gIH07Ci0g
IHZhciBrSW1hZ2VDYXB0dXJlX0dldFBob3RvU3RhdGVfTmFtZSA9IDA7Ci0gIHZhciBrSW1hZ2VD
YXB0dXJlX1NldE9wdGlvbnNfTmFtZSA9IDE7Ci0gIHZhciBrSW1hZ2VDYXB0dXJlX1Rha2VQaG90
b19OYW1lID0gMjsKLQotICBmdW5jdGlvbiBJbWFnZUNhcHR1cmVQdHIoaGFuZGxlT3JQdHJJbmZv
KSB7Ci0gICAgdGhpcy5wdHIgPSBuZXcgYmluZGluZ3MuSW50ZXJmYWNlUHRyQ29udHJvbGxlcihJ
bWFnZUNhcHR1cmUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBoYW5kbGVPclB0ckluZm8pOwotICB9Ci0KLSAgZnVuY3Rpb24gSW1hZ2VDYXB0dXJl
QXNzb2NpYXRlZFB0cihhc3NvY2lhdGVkSW50ZXJmYWNlUHRySW5mbykgewotICAgIHRoaXMucHRy
ID0gbmV3IGFzc29jaWF0ZWRCaW5kaW5ncy5Bc3NvY2lhdGVkSW50ZXJmYWNlUHRyQ29udHJvbGxl
cigKLSAgICAgICAgSW1hZ2VDYXB0dXJlLCBhc3NvY2lhdGVkSW50ZXJmYWNlUHRySW5mbyk7Ci0g
IH0KLQotICBJbWFnZUNhcHR1cmVBc3NvY2lhdGVkUHRyLnByb3RvdHlwZSA9Ci0gICAgICBPYmpl
Y3QuY3JlYXRlKEltYWdlQ2FwdHVyZVB0ci5wcm90b3R5cGUpOwotICBJbWFnZUNhcHR1cmVBc3Nv
Y2lhdGVkUHRyLnByb3RvdHlwZS5jb25zdHJ1Y3RvciA9Ci0gICAgICBJbWFnZUNhcHR1cmVBc3Nv
Y2lhdGVkUHRyOwotCi0gIGZ1bmN0aW9uIEltYWdlQ2FwdHVyZVByb3h5KHJlY2VpdmVyKSB7Ci0g
ICAgdGhpcy5yZWNlaXZlcl8gPSByZWNlaXZlcjsKLSAgfQotICBJbWFnZUNhcHR1cmVQdHIucHJv
dG90eXBlLmdldFBob3RvU3RhdGUgPSBmdW5jdGlvbigpIHsKLSAgICByZXR1cm4gSW1hZ2VDYXB0
dXJlUHJveHkucHJvdG90eXBlLmdldFBob3RvU3RhdGUKLSAgICAgICAgLmFwcGx5KHRoaXMucHRy
LmdldFByb3h5KCksIGFyZ3VtZW50cyk7Ci0gIH07Ci0KLSAgSW1hZ2VDYXB0dXJlUHJveHkucHJv
dG90eXBlLmdldFBob3RvU3RhdGUgPSBmdW5jdGlvbihzb3VyY2VJZCkgewotICAgIHZhciBwYXJh
bXNfID0gbmV3IEltYWdlQ2FwdHVyZV9HZXRQaG90b1N0YXRlX1BhcmFtcygpOwotICAgIHBhcmFt
c18uc291cmNlSWQgPSBzb3VyY2VJZDsKLSAgICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24o
cmVzb2x2ZSwgcmVqZWN0KSB7Ci0gICAgICB2YXIgYnVpbGRlciA9IG5ldyBjb2RlYy5NZXNzYWdl
VjFCdWlsZGVyKAotICAgICAgICAgIGtJbWFnZUNhcHR1cmVfR2V0UGhvdG9TdGF0ZV9OYW1lLAot
ICAgICAgICAgIGNvZGVjLmFsaWduKEltYWdlQ2FwdHVyZV9HZXRQaG90b1N0YXRlX1BhcmFtcy5l
bmNvZGVkU2l6ZSksCi0gICAgICAgICAgY29kZWMua01lc3NhZ2VFeHBlY3RzUmVzcG9uc2UsIDAp
OwotICAgICAgYnVpbGRlci5lbmNvZGVTdHJ1Y3QoSW1hZ2VDYXB0dXJlX0dldFBob3RvU3RhdGVf
UGFyYW1zLCBwYXJhbXNfKTsKLSAgICAgIHZhciBtZXNzYWdlID0gYnVpbGRlci5maW5pc2goKTsK
LSAgICAgIHRoaXMucmVjZWl2ZXJfLmFjY2VwdEFuZEV4cGVjdFJlc3BvbnNlKG1lc3NhZ2UpLnRo
ZW4oZnVuY3Rpb24obWVzc2FnZSkgewotICAgICAgICB2YXIgcmVhZGVyID0gbmV3IGNvZGVjLk1l
c3NhZ2VSZWFkZXIobWVzc2FnZSk7Ci0gICAgICAgIHZhciByZXNwb25zZVBhcmFtcyA9Ci0gICAg
ICAgICAgICByZWFkZXIuZGVjb2RlU3RydWN0KEltYWdlQ2FwdHVyZV9HZXRQaG90b1N0YXRlX1Jl
c3BvbnNlUGFyYW1zKTsKLSAgICAgICAgcmVzb2x2ZShyZXNwb25zZVBhcmFtcyk7Ci0gICAgICB9
KS5jYXRjaChmdW5jdGlvbihyZXN1bHQpIHsKLSAgICAgICAgcmVqZWN0KEVycm9yKCJDb25uZWN0
aW9uIGVycm9yOiAiICsgcmVzdWx0KSk7Ci0gICAgICB9KTsKLSAgICB9LmJpbmQodGhpcykpOwot
ICB9OwotICBJbWFnZUNhcHR1cmVQdHIucHJvdG90eXBlLnNldE9wdGlvbnMgPSBmdW5jdGlvbigp
IHsKLSAgICByZXR1cm4gSW1hZ2VDYXB0dXJlUHJveHkucHJvdG90eXBlLnNldE9wdGlvbnMKLSAg
ICAgICAgLmFwcGx5KHRoaXMucHRyLmdldFByb3h5KCksIGFyZ3VtZW50cyk7Ci0gIH07Ci0KLSAg
SW1hZ2VDYXB0dXJlUHJveHkucHJvdG90eXBlLnNldE9wdGlvbnMgPSBmdW5jdGlvbihzb3VyY2VJ
ZCwgc2V0dGluZ3MpIHsKLSAgICB2YXIgcGFyYW1zXyA9IG5ldyBJbWFnZUNhcHR1cmVfU2V0T3B0
aW9uc19QYXJhbXMoKTsKLSAgICBwYXJhbXNfLnNvdXJjZUlkID0gc291cmNlSWQ7Ci0gICAgcGFy
YW1zXy5zZXR0aW5ncyA9IHNldHRpbmdzOwotICAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlv
bihyZXNvbHZlLCByZWplY3QpIHsKLSAgICAgIHZhciBidWlsZGVyID0gbmV3IGNvZGVjLk1lc3Nh
Z2VWMUJ1aWxkZXIoCi0gICAgICAgICAga0ltYWdlQ2FwdHVyZV9TZXRPcHRpb25zX05hbWUsCi0g
ICAgICAgICAgY29kZWMuYWxpZ24oSW1hZ2VDYXB0dXJlX1NldE9wdGlvbnNfUGFyYW1zLmVuY29k
ZWRTaXplKSwKLSAgICAgICAgICBjb2RlYy5rTWVzc2FnZUV4cGVjdHNSZXNwb25zZSwgMCk7Ci0g
ICAgICBidWlsZGVyLmVuY29kZVN0cnVjdChJbWFnZUNhcHR1cmVfU2V0T3B0aW9uc19QYXJhbXMs
IHBhcmFtc18pOwotICAgICAgdmFyIG1lc3NhZ2UgPSBidWlsZGVyLmZpbmlzaCgpOwotICAgICAg
dGhpcy5yZWNlaXZlcl8uYWNjZXB0QW5kRXhwZWN0UmVzcG9uc2UobWVzc2FnZSkudGhlbihmdW5j
dGlvbihtZXNzYWdlKSB7Ci0gICAgICAgIHZhciByZWFkZXIgPSBuZXcgY29kZWMuTWVzc2FnZVJl
YWRlcihtZXNzYWdlKTsKLSAgICAgICAgdmFyIHJlc3BvbnNlUGFyYW1zID0KLSAgICAgICAgICAg
IHJlYWRlci5kZWNvZGVTdHJ1Y3QoSW1hZ2VDYXB0dXJlX1NldE9wdGlvbnNfUmVzcG9uc2VQYXJh
bXMpOwotICAgICAgICByZXNvbHZlKHJlc3BvbnNlUGFyYW1zKTsKLSAgICAgIH0pLmNhdGNoKGZ1
bmN0aW9uKHJlc3VsdCkgewotICAgICAgICByZWplY3QoRXJyb3IoIkNvbm5lY3Rpb24gZXJyb3I6
ICIgKyByZXN1bHQpKTsKLSAgICAgIH0pOwotICAgIH0uYmluZCh0aGlzKSk7Ci0gIH07Ci0gIElt
YWdlQ2FwdHVyZVB0ci5wcm90b3R5cGUudGFrZVBob3RvID0gZnVuY3Rpb24oKSB7Ci0gICAgcmV0
dXJuIEltYWdlQ2FwdHVyZVByb3h5LnByb3RvdHlwZS50YWtlUGhvdG8KLSAgICAgICAgLmFwcGx5
KHRoaXMucHRyLmdldFByb3h5KCksIGFyZ3VtZW50cyk7Ci0gIH07Ci0KLSAgSW1hZ2VDYXB0dXJl
UHJveHkucHJvdG90eXBlLnRha2VQaG90byA9IGZ1bmN0aW9uKHNvdXJjZUlkKSB7Ci0gICAgdmFy
IHBhcmFtc18gPSBuZXcgSW1hZ2VDYXB0dXJlX1Rha2VQaG90b19QYXJhbXMoKTsKLSAgICBwYXJh
bXNfLnNvdXJjZUlkID0gc291cmNlSWQ7Ci0gICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9u
KHJlc29sdmUsIHJlamVjdCkgewotICAgICAgdmFyIGJ1aWxkZXIgPSBuZXcgY29kZWMuTWVzc2Fn
ZVYxQnVpbGRlcigKLSAgICAgICAgICBrSW1hZ2VDYXB0dXJlX1Rha2VQaG90b19OYW1lLAotICAg
ICAgICAgIGNvZGVjLmFsaWduKEltYWdlQ2FwdHVyZV9UYWtlUGhvdG9fUGFyYW1zLmVuY29kZWRT
aXplKSwKLSAgICAgICAgICBjb2RlYy5rTWVzc2FnZUV4cGVjdHNSZXNwb25zZSwgMCk7Ci0gICAg
ICBidWlsZGVyLmVuY29kZVN0cnVjdChJbWFnZUNhcHR1cmVfVGFrZVBob3RvX1BhcmFtcywgcGFy
YW1zXyk7Ci0gICAgICB2YXIgbWVzc2FnZSA9IGJ1aWxkZXIuZmluaXNoKCk7Ci0gICAgICB0aGlz
LnJlY2VpdmVyXy5hY2NlcHRBbmRFeHBlY3RSZXNwb25zZShtZXNzYWdlKS50aGVuKGZ1bmN0aW9u
KG1lc3NhZ2UpIHsKLSAgICAgICAgdmFyIHJlYWRlciA9IG5ldyBjb2RlYy5NZXNzYWdlUmVhZGVy
KG1lc3NhZ2UpOwotICAgICAgICB2YXIgcmVzcG9uc2VQYXJhbXMgPQotICAgICAgICAgICAgcmVh
ZGVyLmRlY29kZVN0cnVjdChJbWFnZUNhcHR1cmVfVGFrZVBob3RvX1Jlc3BvbnNlUGFyYW1zKTsK
LSAgICAgICAgcmVzb2x2ZShyZXNwb25zZVBhcmFtcyk7Ci0gICAgICB9KS5jYXRjaChmdW5jdGlv
bihyZXN1bHQpIHsKLSAgICAgICAgcmVqZWN0KEVycm9yKCJDb25uZWN0aW9uIGVycm9yOiAiICsg
cmVzdWx0KSk7Ci0gICAgICB9KTsKLSAgICB9LmJpbmQodGhpcykpOwotICB9OwotCi0gIGZ1bmN0
aW9uIEltYWdlQ2FwdHVyZVN0dWIoZGVsZWdhdGUpIHsKLSAgICB0aGlzLmRlbGVnYXRlXyA9IGRl
bGVnYXRlOwotICB9Ci0gIEltYWdlQ2FwdHVyZVN0dWIucHJvdG90eXBlLmdldFBob3RvU3RhdGUg
PSBmdW5jdGlvbihzb3VyY2VJZCkgewotICAgIHJldHVybiB0aGlzLmRlbGVnYXRlXyAmJiB0aGlz
LmRlbGVnYXRlXy5nZXRQaG90b1N0YXRlICYmIHRoaXMuZGVsZWdhdGVfLmdldFBob3RvU3RhdGUo
c291cmNlSWQpOwotICB9Ci0gIEltYWdlQ2FwdHVyZVN0dWIucHJvdG90eXBlLnNldE9wdGlvbnMg
PSBmdW5jdGlvbihzb3VyY2VJZCwgc2V0dGluZ3MpIHsKLSAgICByZXR1cm4gdGhpcy5kZWxlZ2F0
ZV8gJiYgdGhpcy5kZWxlZ2F0ZV8uc2V0T3B0aW9ucyAmJiB0aGlzLmRlbGVnYXRlXy5zZXRPcHRp
b25zKHNvdXJjZUlkLCBzZXR0aW5ncyk7Ci0gIH0KLSAgSW1hZ2VDYXB0dXJlU3R1Yi5wcm90b3R5
cGUudGFrZVBob3RvID0gZnVuY3Rpb24oc291cmNlSWQpIHsKLSAgICByZXR1cm4gdGhpcy5kZWxl
Z2F0ZV8gJiYgdGhpcy5kZWxlZ2F0ZV8udGFrZVBob3RvICYmIHRoaXMuZGVsZWdhdGVfLnRha2VQ
aG90byhzb3VyY2VJZCk7Ci0gIH0KLQotICBJbWFnZUNhcHR1cmVTdHViLnByb3RvdHlwZS5hY2Nl
cHQgPSBmdW5jdGlvbihtZXNzYWdlKSB7Ci0gICAgdmFyIHJlYWRlciA9IG5ldyBjb2RlYy5NZXNz
YWdlUmVhZGVyKG1lc3NhZ2UpOwotICAgIHN3aXRjaCAocmVhZGVyLm1lc3NhZ2VOYW1lKSB7Ci0g
ICAgZGVmYXVsdDoKLSAgICAgIHJldHVybiBmYWxzZTsKLSAgICB9Ci0gIH07Ci0KLSAgSW1hZ2VD
YXB0dXJlU3R1Yi5wcm90b3R5cGUuYWNjZXB0V2l0aFJlc3BvbmRlciA9Ci0gICAgICBmdW5jdGlv
bihtZXNzYWdlLCByZXNwb25kZXIpIHsKLSAgICB2YXIgcmVhZGVyID0gbmV3IGNvZGVjLk1lc3Nh
Z2VSZWFkZXIobWVzc2FnZSk7Ci0gICAgc3dpdGNoIChyZWFkZXIubWVzc2FnZU5hbWUpIHsKLSAg
ICBjYXNlIGtJbWFnZUNhcHR1cmVfR2V0UGhvdG9TdGF0ZV9OYW1lOgotICAgICAgdmFyIHBhcmFt
cyA9IHJlYWRlci5kZWNvZGVTdHJ1Y3QoSW1hZ2VDYXB0dXJlX0dldFBob3RvU3RhdGVfUGFyYW1z
KTsKLSAgICAgIHRoaXMuZ2V0UGhvdG9TdGF0ZShwYXJhbXMuc291cmNlSWQpLnRoZW4oZnVuY3Rp
b24ocmVzcG9uc2UpIHsKLSAgICAgICAgdmFyIHJlc3BvbnNlUGFyYW1zID0KLSAgICAgICAgICAg
IG5ldyBJbWFnZUNhcHR1cmVfR2V0UGhvdG9TdGF0ZV9SZXNwb25zZVBhcmFtcygpOwotICAgICAg
ICByZXNwb25zZVBhcmFtcy5zdGF0ZSA9IHJlc3BvbnNlLnN0YXRlOwotICAgICAgICB2YXIgYnVp
bGRlciA9IG5ldyBjb2RlYy5NZXNzYWdlVjFCdWlsZGVyKAotICAgICAgICAgICAga0ltYWdlQ2Fw
dHVyZV9HZXRQaG90b1N0YXRlX05hbWUsCi0gICAgICAgICAgICBjb2RlYy5hbGlnbihJbWFnZUNh
cHR1cmVfR2V0UGhvdG9TdGF0ZV9SZXNwb25zZVBhcmFtcy5lbmNvZGVkU2l6ZSksCi0gICAgICAg
ICAgICBjb2RlYy5rTWVzc2FnZUlzUmVzcG9uc2UsIHJlYWRlci5yZXF1ZXN0SUQpOwotICAgICAg
ICBidWlsZGVyLmVuY29kZVN0cnVjdChJbWFnZUNhcHR1cmVfR2V0UGhvdG9TdGF0ZV9SZXNwb25z
ZVBhcmFtcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2VQYXJhbXMpOwot
ICAgICAgICB2YXIgbWVzc2FnZSA9IGJ1aWxkZXIuZmluaXNoKCk7Ci0gICAgICAgIHJlc3BvbmRl
ci5hY2NlcHQobWVzc2FnZSk7Ci0gICAgICB9KTsKLSAgICAgIHJldHVybiB0cnVlOwotICAgIGNh
c2Uga0ltYWdlQ2FwdHVyZV9TZXRPcHRpb25zX05hbWU6Ci0gICAgICB2YXIgcGFyYW1zID0gcmVh
ZGVyLmRlY29kZVN0cnVjdChJbWFnZUNhcHR1cmVfU2V0T3B0aW9uc19QYXJhbXMpOwotICAgICAg
dGhpcy5zZXRPcHRpb25zKHBhcmFtcy5zb3VyY2VJZCwgcGFyYW1zLnNldHRpbmdzKS50aGVuKGZ1
bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgICAgIHZhciByZXNwb25zZVBhcmFtcyA9Ci0gICAgICAg
ICAgICBuZXcgSW1hZ2VDYXB0dXJlX1NldE9wdGlvbnNfUmVzcG9uc2VQYXJhbXMoKTsKLSAgICAg
ICAgcmVzcG9uc2VQYXJhbXMuc3VjY2VzcyA9IHJlc3BvbnNlLnN1Y2Nlc3M7Ci0gICAgICAgIHZh
ciBidWlsZGVyID0gbmV3IGNvZGVjLk1lc3NhZ2VWMUJ1aWxkZXIoCi0gICAgICAgICAgICBrSW1h
Z2VDYXB0dXJlX1NldE9wdGlvbnNfTmFtZSwKLSAgICAgICAgICAgIGNvZGVjLmFsaWduKEltYWdl
Q2FwdHVyZV9TZXRPcHRpb25zX1Jlc3BvbnNlUGFyYW1zLmVuY29kZWRTaXplKSwKLSAgICAgICAg
ICAgIGNvZGVjLmtNZXNzYWdlSXNSZXNwb25zZSwgcmVhZGVyLnJlcXVlc3RJRCk7Ci0gICAgICAg
IGJ1aWxkZXIuZW5jb2RlU3RydWN0KEltYWdlQ2FwdHVyZV9TZXRPcHRpb25zX1Jlc3BvbnNlUGFy
YW1zLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNwb25zZVBhcmFtcyk7Ci0gICAg
ICAgIHZhciBtZXNzYWdlID0gYnVpbGRlci5maW5pc2goKTsKLSAgICAgICAgcmVzcG9uZGVyLmFj
Y2VwdChtZXNzYWdlKTsKLSAgICAgIH0pOwotICAgICAgcmV0dXJuIHRydWU7Ci0gICAgY2FzZSBr
SW1hZ2VDYXB0dXJlX1Rha2VQaG90b19OYW1lOgotICAgICAgdmFyIHBhcmFtcyA9IHJlYWRlci5k
ZWNvZGVTdHJ1Y3QoSW1hZ2VDYXB0dXJlX1Rha2VQaG90b19QYXJhbXMpOwotICAgICAgdGhpcy50
YWtlUGhvdG8ocGFyYW1zLnNvdXJjZUlkKS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAg
ICAgIHZhciByZXNwb25zZVBhcmFtcyA9Ci0gICAgICAgICAgICBuZXcgSW1hZ2VDYXB0dXJlX1Rh
a2VQaG90b19SZXNwb25zZVBhcmFtcygpOwotICAgICAgICByZXNwb25zZVBhcmFtcy5ibG9iID0g
cmVzcG9uc2UuYmxvYjsKLSAgICAgICAgdmFyIGJ1aWxkZXIgPSBuZXcgY29kZWMuTWVzc2FnZVYx
QnVpbGRlcigKLSAgICAgICAgICAgIGtJbWFnZUNhcHR1cmVfVGFrZVBob3RvX05hbWUsCi0gICAg
ICAgICAgICBjb2RlYy5hbGlnbihJbWFnZUNhcHR1cmVfVGFrZVBob3RvX1Jlc3BvbnNlUGFyYW1z
LmVuY29kZWRTaXplKSwKLSAgICAgICAgICAgIGNvZGVjLmtNZXNzYWdlSXNSZXNwb25zZSwgcmVh
ZGVyLnJlcXVlc3RJRCk7Ci0gICAgICAgIGJ1aWxkZXIuZW5jb2RlU3RydWN0KEltYWdlQ2FwdHVy
ZV9UYWtlUGhvdG9fUmVzcG9uc2VQYXJhbXMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHJlc3BvbnNlUGFyYW1zKTsKLSAgICAgICAgdmFyIG1lc3NhZ2UgPSBidWlsZGVyLmZpbmlzaCgp
OwotICAgICAgICByZXNwb25kZXIuYWNjZXB0KG1lc3NhZ2UpOwotICAgICAgfSk7Ci0gICAgICBy
ZXR1cm4gdHJ1ZTsKLSAgICBkZWZhdWx0OgotICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0KLSAg
fTsKLQotICBmdW5jdGlvbiB2YWxpZGF0ZUltYWdlQ2FwdHVyZVJlcXVlc3QobWVzc2FnZVZhbGlk
YXRvcikgewotICAgIHZhciBtZXNzYWdlID0gbWVzc2FnZVZhbGlkYXRvci5tZXNzYWdlOwotICAg
IHZhciBwYXJhbXNDbGFzcyA9IG51bGw7Ci0gICAgc3dpdGNoIChtZXNzYWdlLmdldE5hbWUoKSkg
ewotICAgICAgY2FzZSBrSW1hZ2VDYXB0dXJlX0dldFBob3RvU3RhdGVfTmFtZToKLSAgICAgICAg
aWYgKG1lc3NhZ2UuZXhwZWN0c1Jlc3BvbnNlKCkpCi0gICAgICAgICAgcGFyYW1zQ2xhc3MgPSBJ
bWFnZUNhcHR1cmVfR2V0UGhvdG9TdGF0ZV9QYXJhbXM7Ci0gICAgICBicmVhazsKLSAgICAgIGNh
c2Uga0ltYWdlQ2FwdHVyZV9TZXRPcHRpb25zX05hbWU6Ci0gICAgICAgIGlmIChtZXNzYWdlLmV4
cGVjdHNSZXNwb25zZSgpKQotICAgICAgICAgIHBhcmFtc0NsYXNzID0gSW1hZ2VDYXB0dXJlX1Nl
dE9wdGlvbnNfUGFyYW1zOwotICAgICAgYnJlYWs7Ci0gICAgICBjYXNlIGtJbWFnZUNhcHR1cmVf
VGFrZVBob3RvX05hbWU6Ci0gICAgICAgIGlmIChtZXNzYWdlLmV4cGVjdHNSZXNwb25zZSgpKQot
ICAgICAgICAgIHBhcmFtc0NsYXNzID0gSW1hZ2VDYXB0dXJlX1Rha2VQaG90b19QYXJhbXM7Ci0g
ICAgICBicmVhazsKLSAgICB9Ci0gICAgaWYgKHBhcmFtc0NsYXNzID09PSBudWxsKQotICAgICAg
cmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAgICByZXR1cm4gcGFyYW1z
Q2xhc3MudmFsaWRhdGUobWVzc2FnZVZhbGlkYXRvciwgbWVzc2FnZVZhbGlkYXRvci5tZXNzYWdl
LmdldEhlYWRlck51bUJ5dGVzKCkpOwotICB9Ci0KLSAgZnVuY3Rpb24gdmFsaWRhdGVJbWFnZUNh
cHR1cmVSZXNwb25zZShtZXNzYWdlVmFsaWRhdG9yKSB7Ci0gICB2YXIgbWVzc2FnZSA9IG1lc3Nh
Z2VWYWxpZGF0b3IubWVzc2FnZTsKLSAgIHZhciBwYXJhbXNDbGFzcyA9IG51bGw7Ci0gICBzd2l0
Y2ggKG1lc3NhZ2UuZ2V0TmFtZSgpKSB7Ci0gICAgICBjYXNlIGtJbWFnZUNhcHR1cmVfR2V0UGhv
dG9TdGF0ZV9OYW1lOgotICAgICAgICBpZiAobWVzc2FnZS5pc1Jlc3BvbnNlKCkpCi0gICAgICAg
ICAgcGFyYW1zQ2xhc3MgPSBJbWFnZUNhcHR1cmVfR2V0UGhvdG9TdGF0ZV9SZXNwb25zZVBhcmFt
czsKLSAgICAgICAgYnJlYWs7Ci0gICAgICBjYXNlIGtJbWFnZUNhcHR1cmVfU2V0T3B0aW9uc19O
YW1lOgotICAgICAgICBpZiAobWVzc2FnZS5pc1Jlc3BvbnNlKCkpCi0gICAgICAgICAgcGFyYW1z
Q2xhc3MgPSBJbWFnZUNhcHR1cmVfU2V0T3B0aW9uc19SZXNwb25zZVBhcmFtczsKLSAgICAgICAg
YnJlYWs7Ci0gICAgICBjYXNlIGtJbWFnZUNhcHR1cmVfVGFrZVBob3RvX05hbWU6Ci0gICAgICAg
IGlmIChtZXNzYWdlLmlzUmVzcG9uc2UoKSkKLSAgICAgICAgICBwYXJhbXNDbGFzcyA9IEltYWdl
Q2FwdHVyZV9UYWtlUGhvdG9fUmVzcG9uc2VQYXJhbXM7Ci0gICAgICAgIGJyZWFrOwotICAgIH0K
LSAgICBpZiAocGFyYW1zQ2xhc3MgPT09IG51bGwpCi0gICAgICByZXR1cm4gdmFsaWRhdG9yLnZh
bGlkYXRpb25FcnJvci5OT05FOwotICAgIHJldHVybiBwYXJhbXNDbGFzcy52YWxpZGF0ZShtZXNz
YWdlVmFsaWRhdG9yLCBtZXNzYWdlVmFsaWRhdG9yLm1lc3NhZ2UuZ2V0SGVhZGVyTnVtQnl0ZXMo
KSk7Ci0gIH0KLQotICB2YXIgSW1hZ2VDYXB0dXJlID0gewotICAgIG5hbWU6ICdtZWRpYS5tb2pv
bS5JbWFnZUNhcHR1cmUnLAotICAgIGtWZXJzaW9uOiAwLAotICAgIHB0ckNsYXNzOiBJbWFnZUNh
cHR1cmVQdHIsCi0gICAgcHJveHlDbGFzczogSW1hZ2VDYXB0dXJlUHJveHksCi0gICAgc3R1YkNs
YXNzOiBJbWFnZUNhcHR1cmVTdHViLAotICAgIHZhbGlkYXRlUmVxdWVzdDogdmFsaWRhdGVJbWFn
ZUNhcHR1cmVSZXF1ZXN0LAotICAgIHZhbGlkYXRlUmVzcG9uc2U6IHZhbGlkYXRlSW1hZ2VDYXB0
dXJlUmVzcG9uc2UsCi0gIH07Ci0gIEltYWdlQ2FwdHVyZVN0dWIucHJvdG90eXBlLnZhbGlkYXRv
ciA9IHZhbGlkYXRlSW1hZ2VDYXB0dXJlUmVxdWVzdDsKLSAgSW1hZ2VDYXB0dXJlUHJveHkucHJv
dG90eXBlLnZhbGlkYXRvciA9IHZhbGlkYXRlSW1hZ2VDYXB0dXJlUmVzcG9uc2U7Ci0gIGV4cG9y
dHMuTWV0ZXJpbmdNb2RlID0gTWV0ZXJpbmdNb2RlOwotICBleHBvcnRzLlJlZEV5ZVJlZHVjdGlv
biA9IFJlZEV5ZVJlZHVjdGlvbjsKLSAgZXhwb3J0cy5GaWxsTGlnaHRNb2RlID0gRmlsbExpZ2h0
TW9kZTsKLSAgZXhwb3J0cy5SYW5nZSA9IFJhbmdlOwotICBleHBvcnRzLlBob3RvU3RhdGUgPSBQ
aG90b1N0YXRlOwotICBleHBvcnRzLlBvaW50MkQgPSBQb2ludDJEOwotICBleHBvcnRzLlBob3Rv
U2V0dGluZ3MgPSBQaG90b1NldHRpbmdzOwotICBleHBvcnRzLkJsb2IgPSBCbG9iOwotICBleHBv
cnRzLkltYWdlQ2FwdHVyZSA9IEltYWdlQ2FwdHVyZTsKLSAgZXhwb3J0cy5JbWFnZUNhcHR1cmVQ
dHIgPSBJbWFnZUNhcHR1cmVQdHI7Ci0gIGV4cG9ydHMuSW1hZ2VDYXB0dXJlQXNzb2NpYXRlZFB0
ciA9IEltYWdlQ2FwdHVyZUFzc29jaWF0ZWRQdHI7Ci19KSgpOwpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL21vY2stYmFyY29kZWRldGVjdGlvbi5qcyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9t
aXVtL21vY2stYmFyY29kZWRldGVjdGlvbi5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggNzAzZGI0MjU1OTAuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL21vY2stYmFyY29kZWRldGVj
dGlvbi5qcworKysgL2Rldi9udWxsCkBAIC0xLDEyNCArMCwwIEBACi0idXNlIHN0cmljdCI7Ci0K
LXZhciBCYXJjb2RlRGV0ZWN0aW9uVGVzdCA9ICgoKSA9PiB7Ci0gIC8vIENsYXNzIHRoYXQgbW9j
a3MgQmFyY29kZURldGVjdGlvblByb3ZpZGVyIGludGVyZmFjZSBkZWZpbmVkIGluCi0gIC8vIGh0
dHBzOi8vY3MuY2hyb21pdW0ub3JnL2Nocm9taXVtL3NyYy9zZXJ2aWNlcy9zaGFwZV9kZXRlY3Rp
b24vcHVibGljL21vam9tL2JhcmNvZGVkZXRlY3Rpb25fcHJvdmlkZXIubW9qb20KLSAgY2xhc3Mg
TW9ja0JhcmNvZGVEZXRlY3Rpb25Qcm92aWRlciB7Ci0gICAgY29uc3RydWN0b3IoKSB7Ci0gICAg
ICB0aGlzLmJpbmRpbmdTZXRfID0gbmV3IG1vam8uQmluZGluZ1NldCgKLSAgICAgICAgICBzaGFw
ZURldGVjdGlvbi5tb2pvbS5CYXJjb2RlRGV0ZWN0aW9uUHJvdmlkZXIpOwotCi0gICAgICB0aGlz
LmludGVyY2VwdG9yXyA9IG5ldyBNb2pvSW50ZXJmYWNlSW50ZXJjZXB0b3IoCi0gICAgICAgICAg
c2hhcGVEZXRlY3Rpb24ubW9qb20uQmFyY29kZURldGVjdGlvblByb3ZpZGVyLm5hbWUsICJjb250
ZXh0IiwgdHJ1ZSk7Ci0gICAgICB0aGlzLmludGVyY2VwdG9yXy5vbmludGVyZmFjZXJlcXVlc3Qg
PQotICAgICAgICAgZSA9PiB0aGlzLmJpbmRpbmdTZXRfLmFkZEJpbmRpbmcodGhpcywgZS5oYW5k
bGUpOwotICAgICAgdGhpcy5pbnRlcmNlcHRvcl8uc3RhcnQoKTsKLSAgICB9Ci0KLSAgICBjcmVh
dGVCYXJjb2RlRGV0ZWN0aW9uKHJlcXVlc3QsIG9wdGlvbnMpIHsKLSAgICAgIHRoaXMubW9ja1Nl
cnZpY2VfID0gbmV3IE1vY2tCYXJjb2RlRGV0ZWN0aW9uKHJlcXVlc3QsIG9wdGlvbnMpOwotICAg
IH0KLQotICAgIGVudW1lcmF0ZVN1cHBvcnRlZEZvcm1hdHMoKSB7Ci0gICAgICByZXR1cm4gUHJv
bWlzZS5yZXNvbHZlKHsKLSAgICAgICAgc3VwcG9ydGVkRm9ybWF0czogWwotICAgICAgICAgIHNo
YXBlRGV0ZWN0aW9uLm1vam9tLkJhcmNvZGVGb3JtYXQuQVpURUMsCi0gICAgICAgICAgc2hhcGVE
ZXRlY3Rpb24ubW9qb20uQmFyY29kZUZvcm1hdC5EQVRBX01BVFJJWCwKLSAgICAgICAgICBzaGFw
ZURldGVjdGlvbi5tb2pvbS5CYXJjb2RlRm9ybWF0LlFSX0NPREUsCi0gICAgICAgIF0KLSAgICAg
IH0pOwotICAgIH0KLQotICAgIGdldEZyYW1lRGF0YSgpIHsKLSAgICAgIHJldHVybiB0aGlzLm1v
Y2tTZXJ2aWNlXy5idWZmZXJEYXRhXzsKLSAgICB9Ci0KLSAgICBnZXRGb3JtYXRzKCkgewotICAg
ICByZXR1cm4gdGhpcy5tb2NrU2VydmljZV8ub3B0aW9uc18uZm9ybWF0czsKLSAgICB9Ci0KLSAg
ICByZXNldCgpIHsKLSAgICAgIHRoaXMubW9ja1NlcnZpY2VfID0gbnVsbDsKLSAgICAgIHRoaXMu
YmluZGluZ1NldF8uY2xvc2VBbGxCaW5kaW5ncygpOwotICAgICAgdGhpcy5pbnRlcmNlcHRvcl8u
c3RvcCgpOwotICAgIH0KLSAgfQotCi0gIC8vIENsYXNzIHRoYXQgbW9ja3MgQmFyY29kZURldGVj
dGlvbiBpbnRlcmZhY2UgZGVmaW5lZCBpbgotICAvLyBodHRwczovL2NzLmNocm9taXVtLm9yZy9j
aHJvbWl1bS9zcmMvc2VydmljZXMvc2hhcGVfZGV0ZWN0aW9uL3B1YmxpYy9tb2pvbS9iYXJjb2Rl
ZGV0ZWN0aW9uLm1vam9tCi0gIGNsYXNzIE1vY2tCYXJjb2RlRGV0ZWN0aW9uIHsKLSAgICBjb25z
dHJ1Y3RvcihyZXF1ZXN0LCBvcHRpb25zKSB7Ci0gICAgICB0aGlzLm9wdGlvbnNfID0gb3B0aW9u
czsKLSAgICAgIHRoaXMuYmluZGluZ18gPQotICAgICAgICAgIG5ldyBtb2pvLkJpbmRpbmcoc2hh
cGVEZXRlY3Rpb24ubW9qb20uQmFyY29kZURldGVjdGlvbiwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHRoaXMsIHJlcXVlc3QpOwotICAgIH0KLQotICAgIGRldGVjdChiaXRtYXBEYXRhKSB7
Ci0gICAgICB0aGlzLmJ1ZmZlckRhdGFfID0KLSAgICAgICAgICBuZXcgVWludDMyQXJyYXkoZ2V0
QXJyYXlCdWZmZXJGcm9tQmlnQnVmZmVyKGJpdG1hcERhdGEucGl4ZWxEYXRhKSk7Ci0gICAgICBy
ZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHsKLSAgICAgICAgcmVzdWx0czogWwotICAgICAgICAgIHsK
LSAgICAgICAgICAgIHJhd1ZhbHVlIDogImNhdHMiLAotICAgICAgICAgICAgYm91bmRpbmdCb3g6
IHsgeDogMS4wLCB5OiAxLjAsIHdpZHRoOiAxMDAuMCwgaGVpZ2h0OiAxMDAuMCB9LAotICAgICAg
ICAgICAgZm9ybWF0OiBzaGFwZURldGVjdGlvbi5tb2pvbS5CYXJjb2RlRm9ybWF0LlFSX0NPREUs
Ci0gICAgICAgICAgICBjb3JuZXJQb2ludHM6IFsKLSAgICAgICAgICAgICAgeyB4OiAxLjAsIHk6
IDEuMCB9LAotICAgICAgICAgICAgICB7IHg6IDEwMS4wLCB5OiAxLjAgfSwKLSAgICAgICAgICAg
ICAgeyB4OiAxMDEuMCwgeTogMTAxLjAgfSwKLSAgICAgICAgICAgICAgeyB4OiAxLjAsIHk6IDEw
MS4wIH0KLSAgICAgICAgICAgIF0sCi0gICAgICAgICAgfSwKLSAgICAgICAgICB7Ci0gICAgICAg
ICAgICByYXdWYWx1ZSA6ICJkb2dzIiwKLSAgICAgICAgICAgIGJvdW5kaW5nQm94OiB7IHg6IDIu
MCwgeTogMi4wLCB3aWR0aDogNTAuMCwgaGVpZ2h0OiA1MC4wIH0sCi0gICAgICAgICAgICBmb3Jt
YXQ6IHNoYXBlRGV0ZWN0aW9uLm1vam9tLkJhcmNvZGVGb3JtYXQuQ09ERV8xMjgsCi0gICAgICAg
ICAgICBjb3JuZXJQb2ludHM6IFsKLSAgICAgICAgICAgICAgeyB4OiAyLjAsIHk6IDIuMCB9LAot
ICAgICAgICAgICAgICB7IHg6IDUyLjAsIHk6IDIuMCB9LAotICAgICAgICAgICAgICB7IHg6IDUy
LjAsIHk6IDUyLjAgfSwKLSAgICAgICAgICAgICAgeyB4OiAyLjAsIHk6IDUyLjAgfQotICAgICAg
ICAgICAgXSwKLSAgICAgICAgICB9LAotICAgICAgICBdLAotICAgICAgfSk7Ci0gICAgfQotICB9
Ci0KLSAgbGV0IHRlc3RJbnRlcm5hbCA9IHsKLSAgICBpbml0aWFsaXplZDogZmFsc2UsCi0gICAg
TW9ja0JhcmNvZGVEZXRlY3Rpb25Qcm92aWRlcjogbnVsbAotICB9Ci0KLSAgY2xhc3MgQmFyY29k
ZURldGVjdGlvblRlc3RDaHJvbWl1bSB7Ci0gICAgY29uc3RydWN0b3IoKSB7Ci0gICAgICBPYmpl
Y3QuZnJlZXplKHRoaXMpOyAvLyBNYWtlIGl0IGltbXV0YWJsZS4KLSAgICB9Ci0KLSAgICBpbml0
aWFsaXplKCkgewotICAgICAgaWYgKHRlc3RJbnRlcm5hbC5pbml0aWFsaXplZCkKLSAgICAgICAg
dGhyb3cgbmV3IEVycm9yKCdDYWxsIHJlc2V0KCkgYmVmb3JlIGluaXRpYWxpemUoKS4nKTsKLQot
ICAgICAgdGVzdEludGVybmFsLk1vY2tCYXJjb2RlRGV0ZWN0aW9uUHJvdmlkZXIgPSBuZXcgTW9j
a0JhcmNvZGVEZXRlY3Rpb25Qcm92aWRlcjsKLSAgICAgIHRlc3RJbnRlcm5hbC5pbml0aWFsaXpl
ZCA9IHRydWU7Ci0gICAgfQotCi0gICAgLy8gUmVzZXRzIHN0YXRlIG9mIGJhcmNvZGUgZGV0ZWN0
aW9uIG1vY2tzIGJldHdlZW4gdGVzdCBydW5zLgotICAgIGFzeW5jIHJlc2V0KCkgewotICAgICAg
aWYgKCF0ZXN0SW50ZXJuYWwuaW5pdGlhbGl6ZWQpCi0gICAgICAgIHRocm93IG5ldyBFcnJvcign
Q2FsbCBpbml0aWFsaXplKCkgYmVmb3JlIHJlc2V0KCkuJyk7Ci0gICAgICB0ZXN0SW50ZXJuYWwu
TW9ja0JhcmNvZGVEZXRlY3Rpb25Qcm92aWRlci5yZXNldCgpOwotICAgICAgdGVzdEludGVybmFs
Lk1vY2tCYXJjb2RlRGV0ZWN0aW9uUHJvdmlkZXIgPSBudWxsOwotICAgICAgdGVzdEludGVybmFs
LmluaXRpYWxpemVkID0gZmFsc2U7Ci0KLSAgICAgIGF3YWl0IG5ldyBQcm9taXNlKHJlc29sdmUg
PT4gc2V0VGltZW91dChyZXNvbHZlLCAwKSk7Ci0gICAgfQotCi0gICAgTW9ja0JhcmNvZGVEZXRl
Y3Rpb25Qcm92aWRlcigpIHsKLSAgICAgIHJldHVybiB0ZXN0SW50ZXJuYWwuTW9ja0JhcmNvZGVE
ZXRlY3Rpb25Qcm92aWRlcjsKLSAgICB9Ci0gIH0KLQotICByZXR1cm4gQmFyY29kZURldGVjdGlv
blRlc3RDaHJvbWl1bTsKLX0pKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS9tb2NrLWJhcmNvZGVkZXRl
Y3Rpb24uanMuaGVhZGVycyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL21vY2stYmFyY29kZWRldGVjdGlvbi5qcy5oZWFkZXJz
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2YzYxYTM0YTRlYy4uMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvY2hyb21pdW0vbW9jay1iYXJjb2RlZGV0ZWN0aW9uLmpzLmhlYWRlcnMKKysrIC9kZXYvbnVs
bApAQCAtMSArMCwwIEBACi1Db250ZW50LVR5cGU6IHRleHQvamF2YXNjcmlwdDsgY2hhcnNldD11
dGYtOApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL21vY2st
ZmFjZWRldGVjdGlvbi5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL21vY2stZmFjZWRldGVjdGlvbi5qcwpkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDEzMDZhMmEwYzcuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVt
L21vY2stZmFjZWRldGVjdGlvbi5qcworKysgL2Rldi9udWxsCkBAIC0xLDEzMSArMCwwIEBACi0i
dXNlIHN0cmljdCI7Ci0KLXZhciBGYWNlRGV0ZWN0aW9uVGVzdCA9ICgoKSA9PiB7Ci0gIC8vIENs
YXNzIHRoYXQgbW9ja3MgRmFjZURldGVjdGlvblByb3ZpZGVyIGludGVyZmFjZSBkZWZpbmVkIGlu
Ci0gIC8vIGh0dHBzOi8vY3MuY2hyb21pdW0ub3JnL2Nocm9taXVtL3NyYy9zZXJ2aWNlcy9zaGFw
ZV9kZXRlY3Rpb24vcHVibGljL21vam9tL2ZhY2VkZXRlY3Rpb25fcHJvdmlkZXIubW9qb20KLSAg
Y2xhc3MgTW9ja0ZhY2VEZXRlY3Rpb25Qcm92aWRlciB7Ci0gICAgY29uc3RydWN0b3IoKSB7Ci0g
ICAgICB0aGlzLmJpbmRpbmdTZXRfID0gbmV3IG1vam8uQmluZGluZ1NldCgKLSAgICAgICAgc2hh
cGVEZXRlY3Rpb24ubW9qb20uRmFjZURldGVjdGlvblByb3ZpZGVyKTsKLQotICAgICAgdGhpcy5p
bnRlcmNlcHRvcl8gPSBuZXcgTW9qb0ludGVyZmFjZUludGVyY2VwdG9yKAotICAgICAgICAgIHNo
YXBlRGV0ZWN0aW9uLm1vam9tLkZhY2VEZXRlY3Rpb25Qcm92aWRlci5uYW1lLCAiY29udGV4dCIs
IHRydWUpOwotICAgICAgdGhpcy5pbnRlcmNlcHRvcl8ub25pbnRlcmZhY2VyZXF1ZXN0ID0KLSAg
ICAgICAgIGUgPT4gdGhpcy5iaW5kaW5nU2V0Xy5hZGRCaW5kaW5nKHRoaXMsIGUuaGFuZGxlKTsK
LSAgICAgIHRoaXMuaW50ZXJjZXB0b3JfLnN0YXJ0KCk7Ci0gICAgfQotCi0gICAgY3JlYXRlRmFj
ZURldGVjdGlvbihyZXF1ZXN0LCBvcHRpb25zKSB7Ci0gICAgICB0aGlzLm1vY2tTZXJ2aWNlXyA9
IG5ldyBNb2NrRmFjZURldGVjdGlvbihyZXF1ZXN0LCBvcHRpb25zKTsKLSAgICB9Ci0KLSAgICBn
ZXRGcmFtZURhdGEoKSB7Ci0gICAgICByZXR1cm4gdGhpcy5tb2NrU2VydmljZV8uYnVmZmVyRGF0
YV87Ci0gICAgfQotCi0gICAgZ2V0TWF4RGV0ZWN0ZWRGYWNlcygpIHsKLSAgICAgcmV0dXJuIHRo
aXMubW9ja1NlcnZpY2VfLm1heERldGVjdGVkRmFjZXNfOwotICAgIH0KLQotICAgIGdldEZhc3RN
b2RlICgpIHsKLSAgICAgIHJldHVybiB0aGlzLm1vY2tTZXJ2aWNlXy5mYXN0TW9kZV87Ci0gICAg
fQotCi0gICAgcmVzZXQoKSB7Ci0gICAgICB0aGlzLm1vY2tTZXJ2aWNlXyA9IG51bGw7Ci0gICAg
ICB0aGlzLmJpbmRpbmdTZXRfLmNsb3NlQWxsQmluZGluZ3MoKTsKLSAgICAgIHRoaXMuaW50ZXJj
ZXB0b3JfLnN0b3AoKTsKLSAgICB9Ci0gIH0KLQotICAvLyBDbGFzcyB0aGF0IG1vY2tzIEZhY2VE
ZXRlY3Rpb24gaW50ZXJmYWNlIGRlZmluZWQgaW4KLSAgLy8gaHR0cHM6Ly9jcy5jaHJvbWl1bS5v
cmcvY2hyb21pdW0vc3JjL3NlcnZpY2VzL3NoYXBlX2RldGVjdGlvbi9wdWJsaWMvbW9qb20vZmFj
ZWRldGVjdGlvbi5tb2pvbQotICBjbGFzcyBNb2NrRmFjZURldGVjdGlvbiB7Ci0gICAgY29uc3Ry
dWN0b3IocmVxdWVzdCwgb3B0aW9ucykgewotICAgICAgdGhpcy5tYXhEZXRlY3RlZEZhY2VzXyA9
IG9wdGlvbnMubWF4RGV0ZWN0ZWRGYWNlczsKLSAgICAgIHRoaXMuZmFzdE1vZGVfID0gb3B0aW9u
cy5mYXN0TW9kZTsKLSAgICAgIHRoaXMuYmluZGluZ18gPQotICAgICAgICAgIG5ldyBtb2pvLkJp
bmRpbmcoc2hhcGVEZXRlY3Rpb24ubW9qb20uRmFjZURldGVjdGlvbiwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHRoaXMsIHJlcXVlc3QpOwotICAgIH0KLQotICAgIGRldGVjdChiaXRtYXBE
YXRhKSB7Ci0gICAgICB0aGlzLmJ1ZmZlckRhdGFfID0KLSAgICAgICAgICBuZXcgVWludDMyQXJy
YXkoZ2V0QXJyYXlCdWZmZXJGcm9tQmlnQnVmZmVyKGJpdG1hcERhdGEucGl4ZWxEYXRhKSk7Ci0g
ICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHsKLSAgICAgICAgcmVzdWx0czogWwotICAgICAg
ICAgIHsKLSAgICAgICAgICAgIGJvdW5kaW5nQm94OiB7eDogMS4wLCB5OiAxLjAsIHdpZHRoOiAx
MDAuMCwgaGVpZ2h0OiAxMDAuMH0sCi0gICAgICAgICAgICBsYW5kbWFya3M6IFt7Ci0gICAgICAg
ICAgICAgIHR5cGU6IHNoYXBlRGV0ZWN0aW9uLm1vam9tLkxhbmRtYXJrVHlwZS5FWUUsCi0gICAg
ICAgICAgICAgIGxvY2F0aW9uczogW3t4OiA0LjAsIHk6IDUuMH1dCi0gICAgICAgICAgICB9LAot
ICAgICAgICAgICAgewotICAgICAgICAgICAgICB0eXBlOiBzaGFwZURldGVjdGlvbi5tb2pvbS5M
YW5kbWFya1R5cGUuRVlFLAotICAgICAgICAgICAgICBsb2NhdGlvbnM6IFsKLSAgICAgICAgICAg
ICAgICB7eDogNC4wLCB5OiA1LjB9LCB7eDogNS4wLCB5OiA0LjB9LCB7eDogNi4wLCB5OiAzLjB9
LAotICAgICAgICAgICAgICAgIHt4OiA3LjAsIHk6IDQuMH0sIHt4OiA4LjAsIHk6IDUuMH0sIHt4
OiA3LjAsIHk6IDYuMH0sCi0gICAgICAgICAgICAgICAge3g6IDYuMCwgeTogNy4wfSwge3g6IDUu
MCwgeTogNi4wfQotICAgICAgICAgICAgICBdCi0gICAgICAgICAgICB9XQotICAgICAgICAgIH0s
Ci0gICAgICAgICAgewotICAgICAgICAgICAgYm91bmRpbmdCb3g6IHt4OiAyLjAsIHk6IDIuMCwg
d2lkdGg6IDIwMC4wLCBoZWlnaHQ6IDIwMC4wfSwKLSAgICAgICAgICAgIGxhbmRtYXJrczogW3sK
LSAgICAgICAgICAgICAgdHlwZTogc2hhcGVEZXRlY3Rpb24ubW9qb20uTGFuZG1hcmtUeXBlLk5P
U0UsCi0gICAgICAgICAgICAgIGxvY2F0aW9uczogW3t4OiAxMDAuMCwgeTogNTAuMH1dCi0gICAg
ICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICB0eXBlOiBzaGFwZURldGVj
dGlvbi5tb2pvbS5MYW5kbWFya1R5cGUuTk9TRSwKLSAgICAgICAgICAgICAgbG9jYXRpb25zOiBb
Ci0gICAgICAgICAgICAgICAge3g6IDgwLjAsIHk6IDUwLjB9LCB7eDogNzAuMCwgeTogNjAuMH0s
IHt4OiA2MC4wLCB5OiA3MC4wfSwKLSAgICAgICAgICAgICAgICB7eDogNzAuMCwgeTogNjAuMH0s
IHt4OiA4MC4wLCB5OiA3MC4wfSwge3g6IDkwLjAsIHk6IDgwLjB9LAotICAgICAgICAgICAgICAg
IHt4OiAxMDAuMCwgeTogNzAuMH0sIHt4OiA5MC4wLCB5OiA2MC4wfSwge3g6IDgwLjAsIHk6IDUw
LjB9Ci0gICAgICAgICAgICAgIF0KLSAgICAgICAgICAgIH1dCi0gICAgICAgICAgfSwKLSAgICAg
ICAgICB7Ci0gICAgICAgICAgICBib3VuZGluZ0JveDoge3g6IDMuMCwgeTogMy4wLCB3aWR0aDog
MzAwLjAsIGhlaWdodDogMzAwLjB9LAotICAgICAgICAgICAgbGFuZG1hcmtzOiBbXQotICAgICAg
ICAgIH0sCi0gICAgICAgIF0KLSAgICAgIH0pOwotICAgIH0KLSAgfQotCi0gIGxldCB0ZXN0SW50
ZXJuYWwgPSB7Ci0gICAgaW5pdGlhbGl6ZWQ6IGZhbHNlLAotICAgIE1vY2tGYWNlRGV0ZWN0aW9u
UHJvdmlkZXI6IG51bGwKLSAgfQotCi0gIGNsYXNzIEZhY2VEZXRlY3Rpb25UZXN0Q2hyb21pdW0g
ewotICAgIGNvbnN0cnVjdG9yKCkgewotICAgICAgT2JqZWN0LmZyZWV6ZSh0aGlzKTsgLy8gTWFr
ZSBpdCBpbW11dGFibGUuCi0gICAgfQotCi0gICAgaW5pdGlhbGl6ZSgpIHsKLSAgICAgIGlmICh0
ZXN0SW50ZXJuYWwuaW5pdGlhbGl6ZWQpCi0gICAgICAgIHRocm93IG5ldyBFcnJvcignQ2FsbCBy
ZXNldCgpIGJlZm9yZSBpbml0aWFsaXplKCkuJyk7Ci0KLSAgICAgIHRlc3RJbnRlcm5hbC5Nb2Nr
RmFjZURldGVjdGlvblByb3ZpZGVyID0gbmV3IE1vY2tGYWNlRGV0ZWN0aW9uUHJvdmlkZXI7Ci0g
ICAgICB0ZXN0SW50ZXJuYWwuaW5pdGlhbGl6ZWQgPSB0cnVlOwotICAgIH0KLQotICAgIC8vIFJl
c2V0cyBzdGF0ZSBvZiBmYWNlIGRldGVjdGlvbiBtb2NrcyBiZXR3ZWVuIHRlc3QgcnVucy4KLSAg
ICBhc3luYyByZXNldCgpIHsKLSAgICAgIGlmICghdGVzdEludGVybmFsLmluaXRpYWxpemVkKQot
ICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0NhbGwgaW5pdGlhbGl6ZSgpIGJlZm9yZSByZXNldCgp
LicpOwotICAgICAgdGVzdEludGVybmFsLk1vY2tGYWNlRGV0ZWN0aW9uUHJvdmlkZXIucmVzZXQo
KTsKLSAgICAgIHRlc3RJbnRlcm5hbC5Nb2NrRmFjZURldGVjdGlvblByb3ZpZGVyID0gbnVsbDsK
LSAgICAgIHRlc3RJbnRlcm5hbC5pbml0aWFsaXplZCA9IGZhbHNlOwotCi0gICAgICBhd2FpdCBu
ZXcgUHJvbWlzZShyZXNvbHZlID0+IHNldFRpbWVvdXQocmVzb2x2ZSwgMCkpOwotICAgIH0KLQot
ICAgIE1vY2tGYWNlRGV0ZWN0aW9uUHJvdmlkZXIoKSB7Ci0gICAgICByZXR1cm4gdGVzdEludGVy
bmFsLk1vY2tGYWNlRGV0ZWN0aW9uUHJvdmlkZXI7Ci0gICAgfQotICB9Ci0KLSAgcmV0dXJuIEZh
Y2VEZXRlY3Rpb25UZXN0Q2hyb21pdW07Ci19KSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vbW9jay1m
YWNlZGV0ZWN0aW9uLmpzLmhlYWRlcnMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS9tb2NrLWZhY2VkZXRlY3Rpb24uanMuaGVh
ZGVycwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmM2MWEzNGE0ZWMuLjAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL2Nocm9taXVtL21vY2stZmFjZWRldGVjdGlvbi5qcy5oZWFkZXJzCisrKyAvZGV2L251
bGwKQEAgLTEgKzAsMCBAQAotQ29udGVudC1UeXBlOiB0ZXh0L2phdmFzY3JpcHQ7IGNoYXJzZXQ9
dXRmLTgKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS9tb2Nr
LWltYWdlY2FwdHVyZS5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL21vY2staW1hZ2VjYXB0dXJlLmpzCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCA5ZDQ2YjU3MDIwZi4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0v
bW9jay1pbWFnZWNhcHR1cmUuanMKKysrIC9kZXYvbnVsbApAQCAtMSwyNjUgKzAsMCBAQAotInVz
ZSBzdHJpY3QiOwotCi12YXIgSW1hZ2VDYXB0dXJlVGVzdCA9ICgoKSA9PiB7Ci0gIC8vIENsYXNz
IHRoYXQgbW9ja3MgSW1hZ2VDYXB0dXJlIGludGVyZmFjZSBkZWZpbmVkIGluCi0gIC8vIGh0dHBz
Oi8vY3MuY2hyb21pdW0ub3JnL2Nocm9taXVtL3NyYy9tZWRpYS9jYXB0dXJlL21vam9tL2ltYWdl
X2NhcHR1cmUubW9qb20KLSAgY2xhc3MgTW9ja0ltYWdlQ2FwdHVyZSB7Ci0gICAgY29uc3RydWN0
b3IoKSB7Ci0gICAgICB0aGlzLmludGVyY2VwdG9yXyA9IG5ldyBNb2pvSW50ZXJmYWNlSW50ZXJj
ZXB0b3IoCi0gICAgICAgIG1lZGlhLm1vam9tLkltYWdlQ2FwdHVyZS5uYW1lLCAiY29udGV4dCIs
IHRydWUpOwotICAgICAgdGhpcy5pbnRlcmNlcHRvcl8ub25pbnRlcmZhY2VyZXF1ZXN0ID0KLSAg
ICAgICAgZSA9PiB0aGlzLmJpbmRpbmdTZXRfLmFkZEJpbmRpbmcodGhpcywgZS5oYW5kbGUpOwot
ICAgICAgdGhpcy5pbnRlcmNlcHRvcl8uc3RhcnQoKTsKLQotICAgICAgdGhpcy5zdGF0ZV8gPSB7
Ci0gICAgICAgIHN0YXRlOiB7Ci0gICAgICAgICAgc3VwcG9ydGVkV2hpdGVCYWxhbmNlTW9kZXM6
IFsKLSAgICAgICAgICAgIG1lZGlhLm1vam9tLk1ldGVyaW5nTW9kZS5TSU5HTEVfU0hPVCwKLSAg
ICAgICAgICAgIG1lZGlhLm1vam9tLk1ldGVyaW5nTW9kZS5DT05USU5VT1VTCi0gICAgICAgICAg
XSwKLSAgICAgICAgICBjdXJyZW50V2hpdGVCYWxhbmNlTW9kZTogbWVkaWEubW9qb20uTWV0ZXJp
bmdNb2RlLkNPTlRJTlVPVVMsCi0gICAgICAgICAgc3VwcG9ydGVkRXhwb3N1cmVNb2RlczogWwot
ICAgICAgICAgICAgbWVkaWEubW9qb20uTWV0ZXJpbmdNb2RlLk1BTlVBTCwKLSAgICAgICAgICAg
IG1lZGlhLm1vam9tLk1ldGVyaW5nTW9kZS5TSU5HTEVfU0hPVCwKLSAgICAgICAgICAgIG1lZGlh
Lm1vam9tLk1ldGVyaW5nTW9kZS5DT05USU5VT1VTCi0gICAgICAgICAgXSwKLSAgICAgICAgICBj
dXJyZW50RXhwb3N1cmVNb2RlOiBtZWRpYS5tb2pvbS5NZXRlcmluZ01vZGUuTUFOVUFMLAotICAg
ICAgICAgIHN1cHBvcnRlZEZvY3VzTW9kZXM6IFsKLSAgICAgICAgICAgIG1lZGlhLm1vam9tLk1l
dGVyaW5nTW9kZS5NQU5VQUwsCi0gICAgICAgICAgICBtZWRpYS5tb2pvbS5NZXRlcmluZ01vZGUu
U0lOR0xFX1NIT1QKLSAgICAgICAgICBdLAotICAgICAgICAgIGN1cnJlbnRGb2N1c01vZGU6IG1l
ZGlhLm1vam9tLk1ldGVyaW5nTW9kZS5NQU5VQUwsCi0gICAgICAgICAgcG9pbnRzT2ZJbnRlcmVz
dDogW3sKLSAgICAgICAgICAgIHg6IDAuNCwKLSAgICAgICAgICAgIHk6IDAuNgotICAgICAgICAg
IH1dLAotCi0gICAgICAgICAgZXhwb3N1cmVDb21wZW5zYXRpb246IHsKLSAgICAgICAgICAgIG1p
bjogLTIwMC4wLAotICAgICAgICAgICAgbWF4OiAyMDAuMCwKLSAgICAgICAgICAgIGN1cnJlbnQ6
IDMzLjAsCi0gICAgICAgICAgICBzdGVwOiAzMy4wCi0gICAgICAgICAgfSwKLSAgICAgICAgICBl
eHBvc3VyZVRpbWU6IHsKLSAgICAgICAgICAgIG1pbjogMTAwLjAsCi0gICAgICAgICAgICBtYXg6
IDEwMDAwMC4wLAotICAgICAgICAgICAgY3VycmVudDogMTAwMC4wLAotICAgICAgICAgICAgc3Rl
cDogMTAwLjAKLSAgICAgICAgICB9LAotICAgICAgICAgIGNvbG9yVGVtcGVyYXR1cmU6IHsKLSAg
ICAgICAgICAgIG1pbjogMjUwMC4wLAotICAgICAgICAgICAgbWF4OiA2NTAwLjAsCi0gICAgICAg
ICAgICBjdXJyZW50OiA2MDAwLjAsCi0gICAgICAgICAgICBzdGVwOiAxMDAwLjAKLSAgICAgICAg
ICB9LAotICAgICAgICAgIGlzbzogewotICAgICAgICAgICAgbWluOiAxMDAuMCwKLSAgICAgICAg
ICAgIG1heDogMTIwMDAuMCwKLSAgICAgICAgICAgIGN1cnJlbnQ6IDQwMC4wLAotICAgICAgICAg
ICAgc3RlcDogMS4wCi0gICAgICAgICAgfSwKLQotICAgICAgICAgIGJyaWdodG5lc3M6IHsKLSAg
ICAgICAgICAgIG1pbjogMS4wLAotICAgICAgICAgICAgbWF4OiAxMC4wLAotICAgICAgICAgICAg
Y3VycmVudDogNS4wLAotICAgICAgICAgICAgc3RlcDogMS4wCi0gICAgICAgICAgfSwKLSAgICAg
ICAgICBjb250cmFzdDogewotICAgICAgICAgICAgbWluOiAyLjAsCi0gICAgICAgICAgICBtYXg6
IDkuMCwKLSAgICAgICAgICAgIGN1cnJlbnQ6IDUuMCwKLSAgICAgICAgICAgIHN0ZXA6IDEuMAot
ICAgICAgICAgIH0sCi0gICAgICAgICAgc2F0dXJhdGlvbjogewotICAgICAgICAgICAgbWluOiAz
LjAsCi0gICAgICAgICAgICBtYXg6IDguMCwKLSAgICAgICAgICAgIGN1cnJlbnQ6IDYuMCwKLSAg
ICAgICAgICAgIHN0ZXA6IDEuMAotICAgICAgICAgIH0sCi0gICAgICAgICAgc2hhcnBuZXNzOiB7
Ci0gICAgICAgICAgICBtaW46IDQuMCwKLSAgICAgICAgICAgIG1heDogNy4wLAotICAgICAgICAg
ICAgY3VycmVudDogNy4wLAotICAgICAgICAgICAgc3RlcDogMS4wCi0gICAgICAgICAgfSwKLQot
ICAgICAgICAgIGZvY3VzRGlzdGFuY2U6IHsKLSAgICAgICAgICAgIG1pbjogMS4wLAotICAgICAg
ICAgICAgbWF4OiAxMC4wLAotICAgICAgICAgICAgY3VycmVudDogMy4wLAotICAgICAgICAgICAg
c3RlcDogMS4wCi0gICAgICAgICAgfSwKLQotICAgICAgICAgIHBhbjogewotICAgICAgICAgICAg
bWluOiAwLjAsCi0gICAgICAgICAgICBtYXg6IDEwLjAsCi0gICAgICAgICAgICBjdXJyZW50OiA1
LjAsCi0gICAgICAgICAgICBzdGVwOiAyLjAKLSAgICAgICAgICB9LAotCi0gICAgICAgICAgdGls
dDogewotICAgICAgICAgICAgbWluOiAwLjAsCi0gICAgICAgICAgICBtYXg6IDEwLjAsCi0gICAg
ICAgICAgICBjdXJyZW50OiA1LjAsCi0gICAgICAgICAgICBzdGVwOiAyLjAKLSAgICAgICAgICB9
LAotCi0gICAgICAgICAgem9vbTogewotICAgICAgICAgICAgbWluOiAwLjAsCi0gICAgICAgICAg
ICBtYXg6IDEwLjAsCi0gICAgICAgICAgICBjdXJyZW50OiA1LjAsCi0gICAgICAgICAgICBzdGVw
OiA1LjAKLSAgICAgICAgICB9LAotCi0gICAgICAgICAgc3VwcG9ydHNUb3JjaDogdHJ1ZSwKLSAg
ICAgICAgICB0b3JjaDogZmFsc2UsCi0KLSAgICAgICAgICByZWRFeWVSZWR1Y3Rpb246IG1lZGlh
Lm1vam9tLlJlZEV5ZVJlZHVjdGlvbi5DT05UUk9MTEFCTEUsCi0gICAgICAgICAgaGVpZ2h0OiB7
Ci0gICAgICAgICAgICBtaW46IDI0MC4wLAotICAgICAgICAgICAgbWF4OiAyNDQ4LjAsCi0gICAg
ICAgICAgICBjdXJyZW50OiAyNDAuMCwKLSAgICAgICAgICAgIHN0ZXA6IDIuMAotICAgICAgICAg
IH0sCi0gICAgICAgICAgd2lkdGg6IHsKLSAgICAgICAgICAgIG1pbjogMzIwLjAsCi0gICAgICAg
ICAgICBtYXg6IDMyNjQuMCwKLSAgICAgICAgICAgIGN1cnJlbnQ6IDMyMC4wLAotICAgICAgICAg
ICAgc3RlcDogMy4wCi0gICAgICAgICAgfSwKLSAgICAgICAgICBmaWxsTGlnaHRNb2RlOiBbCi0g
ICAgICAgICAgICBtZWRpYS5tb2pvbS5GaWxsTGlnaHRNb2RlLkFVVE8sIG1lZGlhLm1vam9tLkZp
bGxMaWdodE1vZGUuRkxBU0gKLSAgICAgICAgICBdLAotICAgICAgICB9Ci0gICAgICB9OwotICAg
ICAgdGhpcy5zZXR0aW5nc18gPSBudWxsOwotICAgICAgdGhpcy5iaW5kaW5nU2V0XyA9IG5ldyBt
b2pvLkJpbmRpbmdTZXQobWVkaWEubW9qb20uSW1hZ2VDYXB0dXJlKTsKLSAgICB9Ci0KLSAgICBy
ZXNldCgpIHsKLSAgICAgIHRoaXMuYmluZGluZ1NldF8uY2xvc2VBbGxCaW5kaW5ncygpOwotICAg
ICAgdGhpcy5pbnRlcmNlcHRvcl8uc3RvcCgpOwotICAgIH0KLQotICAgIGdldFBob3RvU3RhdGUo
c291cmNlX2lkKSB7Ci0gICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHRoaXMuc3RhdGVfKTsK
LSAgICB9Ci0KLSAgICBzZXRPcHRpb25zKHNvdXJjZV9pZCwgc2V0dGluZ3MpIHsKLSAgICAgIHRo
aXMuc2V0dGluZ3NfID0gc2V0dGluZ3M7Ci0gICAgICBpZiAoc2V0dGluZ3MuaGFzSXNvKQotICAg
ICAgICB0aGlzLnN0YXRlXy5zdGF0ZS5pc28uY3VycmVudCA9IHNldHRpbmdzLmlzbzsKLSAgICAg
IGlmIChzZXR0aW5ncy5oYXNIZWlnaHQpCi0gICAgICAgIHRoaXMuc3RhdGVfLnN0YXRlLmhlaWdo
dC5jdXJyZW50ID0gc2V0dGluZ3MuaGVpZ2h0OwotICAgICAgaWYgKHNldHRpbmdzLmhhc1dpZHRo
KQotICAgICAgICB0aGlzLnN0YXRlXy5zdGF0ZS53aWR0aC5jdXJyZW50ID0gc2V0dGluZ3Mud2lk
dGg7Ci0gICAgICBpZiAoc2V0dGluZ3MuaGFzUGFuKQotICAgICAgICB0aGlzLnN0YXRlXy5zdGF0
ZS5wYW4uY3VycmVudCA9IHNldHRpbmdzLnBhbjsKLSAgICAgIGlmIChzZXR0aW5ncy5oYXNUaWx0
KQotICAgICAgICB0aGlzLnN0YXRlXy5zdGF0ZS50aWx0LmN1cnJlbnQgPSBzZXR0aW5ncy50aWx0
OwotICAgICAgaWYgKHNldHRpbmdzLmhhc1pvb20pCi0gICAgICAgIHRoaXMuc3RhdGVfLnN0YXRl
Lnpvb20uY3VycmVudCA9IHNldHRpbmdzLnpvb207Ci0gICAgICBpZiAoc2V0dGluZ3MuaGFzRm9j
dXNNb2RlKQotICAgICAgICB0aGlzLnN0YXRlXy5zdGF0ZS5jdXJyZW50Rm9jdXNNb2RlID0gc2V0
dGluZ3MuZm9jdXNNb2RlOwotICAgICAgaWYgKHNldHRpbmdzLmhhc0ZvY3VzRGlzdGFuY2UpCi0g
ICAgICAgIHRoaXMuc3RhdGVfLnN0YXRlLmZvY3VzRGlzdGFuY2UuY3VycmVudCA9IHNldHRpbmdz
LmZvY3VzRGlzdGFuY2U7Ci0KLSAgICAgIGlmIChzZXR0aW5ncy5wb2ludHNPZkludGVyZXN0Lmxl
bmd0aCA+IDApIHsKLSAgICAgICAgdGhpcy5zdGF0ZV8uc3RhdGUucG9pbnRzT2ZJbnRlcmVzdCA9
Ci0gICAgICAgICAgc2V0dGluZ3MucG9pbnRzT2ZJbnRlcmVzdDsKLSAgICAgIH0KLQotICAgICAg
aWYgKHNldHRpbmdzLmhhc0V4cG9zdXJlTW9kZSkKLSAgICAgICAgdGhpcy5zdGF0ZV8uc3RhdGUu
Y3VycmVudEV4cG9zdXJlTW9kZSA9IHNldHRpbmdzLmV4cG9zdXJlTW9kZTsKLQotICAgICAgaWYg
KHNldHRpbmdzLmhhc0V4cG9zdXJlQ29tcGVuc2F0aW9uKSB7Ci0gICAgICAgIHRoaXMuc3RhdGVf
LnN0YXRlLmV4cG9zdXJlQ29tcGVuc2F0aW9uLmN1cnJlbnQgPQotICAgICAgICAgIHNldHRpbmdz
LmV4cG9zdXJlQ29tcGVuc2F0aW9uOwotICAgICAgfQotICAgICAgaWYgKHNldHRpbmdzLmhhc0V4
cG9zdXJlVGltZSkgewotICAgICAgICB0aGlzLnN0YXRlXy5zdGF0ZS5leHBvc3VyZVRpbWUuY3Vy
cmVudCA9Ci0gICAgICAgICAgc2V0dGluZ3MuZXhwb3N1cmVUaW1lOwotICAgICAgfQotICAgICAg
aWYgKHNldHRpbmdzLmhhc1doaXRlQmFsYW5jZU1vZGUpIHsKLSAgICAgICAgdGhpcy5zdGF0ZV8u
c3RhdGUuY3VycmVudFdoaXRlQmFsYW5jZU1vZGUgPQotICAgICAgICAgIHNldHRpbmdzLndoaXRl
QmFsYW5jZU1vZGU7Ci0gICAgICB9Ci0gICAgICBpZiAoc2V0dGluZ3MuaGFzRmlsbExpZ2h0TW9k
ZSkKLSAgICAgICAgdGhpcy5zdGF0ZV8uc3RhdGUuZmlsbExpZ2h0TW9kZSA9IFtzZXR0aW5ncy5m
aWxsTGlnaHRNb2RlXTsKLSAgICAgIGlmIChzZXR0aW5ncy5oYXNSZWRFeWVSZWR1Y3Rpb24pCi0g
ICAgICAgIHRoaXMuc3RhdGVfLnN0YXRlLnJlZEV5ZVJlZHVjdGlvbiA9IHNldHRpbmdzLnJlZEV5
ZVJlZHVjdGlvbjsKLSAgICAgIGlmIChzZXR0aW5ncy5oYXNDb2xvclRlbXBlcmF0dXJlKSB7Ci0g
ICAgICAgIHRoaXMuc3RhdGVfLnN0YXRlLmNvbG9yVGVtcGVyYXR1cmUuY3VycmVudCA9Ci0gICAg
ICAgICAgc2V0dGluZ3MuY29sb3JUZW1wZXJhdHVyZTsKLSAgICAgIH0KLSAgICAgIGlmIChzZXR0
aW5ncy5oYXNCcmlnaHRuZXNzKQotICAgICAgICB0aGlzLnN0YXRlXy5zdGF0ZS5icmlnaHRuZXNz
LmN1cnJlbnQgPSBzZXR0aW5ncy5icmlnaHRuZXNzOwotICAgICAgaWYgKHNldHRpbmdzLmhhc0Nv
bnRyYXN0KQotICAgICAgICB0aGlzLnN0YXRlXy5zdGF0ZS5jb250cmFzdC5jdXJyZW50ID0gc2V0
dGluZ3MuY29udHJhc3Q7Ci0gICAgICBpZiAoc2V0dGluZ3MuaGFzU2F0dXJhdGlvbikKLSAgICAg
ICAgdGhpcy5zdGF0ZV8uc3RhdGUuc2F0dXJhdGlvbi5jdXJyZW50ID0gc2V0dGluZ3Muc2F0dXJh
dGlvbjsKLSAgICAgIGlmIChzZXR0aW5ncy5oYXNTaGFycG5lc3MpCi0gICAgICAgIHRoaXMuc3Rh
dGVfLnN0YXRlLnNoYXJwbmVzcy5jdXJyZW50ID0gc2V0dGluZ3Muc2hhcnBuZXNzOwotCi0gICAg
ICBpZiAoc2V0dGluZ3MuaGFzVG9yY2gpCi0gICAgICAgIHRoaXMuc3RhdGVfLnN0YXRlLnRvcmNo
ID0gc2V0dGluZ3MudG9yY2g7Ci0KLSAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoewotICAg
ICAgICBzdWNjZXNzOiB0cnVlCi0gICAgICB9KTsKLSAgICB9Ci0KLSAgICB0YWtlUGhvdG8oc291
cmNlX2lkKSB7Ci0gICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHsKLSAgICAgICAgYmxvYjog
ewotICAgICAgICAgIG1pbWVUeXBlOiAnaW1hZ2UvY2F0JywKLSAgICAgICAgICBkYXRhOiBuZXcg
QXJyYXkoMikKLSAgICAgICAgfQotICAgICAgfSk7Ci0gICAgfQotCi0gICAgc3RhdGUoKSB7Ci0g
ICAgICByZXR1cm4gdGhpcy5zdGF0ZV8uc3RhdGU7Ci0gICAgfQotCi0gICAgb3B0aW9ucygpIHsK
LSAgICAgIHJldHVybiB0aGlzLnNldHRpbmdzXzsKLSAgICB9Ci0gIH0KLQotICBsZXQgdGVzdElu
dGVybmFsID0gewotICAgIGluaXRpYWxpemVkOiBmYWxzZSwKLSAgICBtb2NrSW1hZ2VDYXB0dXJl
OiBudWxsCi0gIH0KLQotICBjbGFzcyBJbWFnZUNhcHR1cmVUZXN0Q2hyb21pdW0gewotCi0gICAg
Y29uc3RydWN0b3IoKSB7Ci0gICAgICBPYmplY3QuZnJlZXplKHRoaXMpOyAvLyBNYWtlIGl0IGlt
bXV0YWJsZS4KLSAgICB9Ci0KLSAgICBpbml0aWFsaXplKCkgewotICAgICAgaWYgKHRlc3RJbnRl
cm5hbC5pbml0aWFsaXplZCkKLSAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdDYWxsIHJlc2V0KCkg
YmVmb3JlIGluaXRpYWxpemUoKS4nKTsKLQotICAgICAgdGVzdEludGVybmFsLm1vY2tJbWFnZUNh
cHR1cmUgPSBuZXcgTW9ja0ltYWdlQ2FwdHVyZTsKLSAgICAgIHRlc3RJbnRlcm5hbC5pbml0aWFs
aXplZCA9IHRydWU7Ci0gICAgfQotICAgIC8vIFJlc2V0cyBzdGF0ZSBvZiBpbWFnZSBjYXB0dXJl
IG1vY2tzIGJldHdlZW4gdGVzdCBydW5zLgotICAgIGFzeW5jIHJlc2V0KCkgewotICAgICAgaWYg
KCF0ZXN0SW50ZXJuYWwuaW5pdGlhbGl6ZWQpCi0gICAgICAgIHRocm93IG5ldyBFcnJvcignQ2Fs
bCBpbml0aWFsaXplKCkgYmVmb3JlIHJlc2V0KCkuJyk7Ci0gICAgICB0ZXN0SW50ZXJuYWwubW9j
a0ltYWdlQ2FwdHVyZS5yZXNldCgpOwotICAgICAgdGVzdEludGVybmFsLm1vY2tJbWFnZUNhcHR1
cmUgPSBudWxsOwotICAgICAgdGVzdEludGVybmFsLmluaXRpYWxpemVkID0gZmFsc2U7Ci0KLSAg
ICAgIGF3YWl0IG5ldyBQcm9taXNlKHJlc29sdmUgPT4gc2V0VGltZW91dChyZXNvbHZlLCAwKSk7
Ci0gICAgfQotICAgIG1vY2tJbWFnZUNhcHR1cmUoKSB7Ci0gICAgICByZXR1cm4gdGVzdEludGVy
bmFsLm1vY2tJbWFnZUNhcHR1cmU7Ci0gICAgfQotICB9Ci0KLSAgcmV0dXJuIEltYWdlQ2FwdHVy
ZVRlc3RDaHJvbWl1bTsKLX0pKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS9tb2pvX2JpbmRpbmdzLmpz
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
Y2hyb21pdW0vbW9qb19iaW5kaW5ncy5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
NzBmNmNhZDVlNWYuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL21vam9fYmluZGluZ3MuanMKKysr
IC9kZXYvbnVsbApAQCAtMSw1MTQ2ICswLDAgQEAKLS8vIENvcHlyaWdodCAyMDE3IFRoZSBDaHJv
bWl1bSBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotLy8gVXNlIG9mIHRoaXMgc291cmNl
IGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQotLy8g
Zm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KLQotJ3VzZSBzdHJpY3QnOwotCi1pZiAoKHR5cGVv
ZiBtb2pvICE9PSAndW5kZWZpbmVkJykgJiYgbW9qby5iaW5kaW5nc0xpYnJhcnlJbml0aWFsaXpl
ZCkgewotICB0aHJvdyBuZXcgRXJyb3IoJ1RoZSBNb2pvIGJpbmRpbmdzIGxpYnJhcnkgaGFzIGJl
ZW4gaW5pdGlhbGl6ZWQuJyk7Ci19Ci0KLXZhciBtb2pvID0gbW9qbyB8fCB7fTsKLW1vam8uYmlu
ZGluZ3NMaWJyYXJ5SW5pdGlhbGl6ZWQgPSB0cnVlOwotCi1tb2pvLmludGVybmFsID0gbW9qby5p
bnRlcm5hbCB8fCB7fTsKLQotbW9qby5jb25maWcgPSBtb2pvLmNvbmZpZyB8fCB7fTsKLWlmICh0
eXBlb2YgbW9qby5jb25maWcuZ2xvYmFsID09PSAndW5kZWZpbmVkJykgewotICBtb2pvLmNvbmZp
Zy5nbG9iYWwgPSB0aGlzOwotfQotCi1pZiAodHlwZW9mIG1vam8uY29uZmlnLmF1dG9Mb2FkTW9q
b21EZXBzID09PSAndW5kZWZpbmVkJykgewotICAvLyBXaGV0aGVyIHRvIGF1dG9tYXRpY2FsbHkg
bG9hZCBtb2pvbSBkZXBlbmRlbmNpZXMuCi0gIC8vIEZvciBleGFtcGxlLCBpZiBmb28ubW9qb20g
aW1wb3J0cyBiYXIubW9qb20sIHxhdXRvTG9hZE1vam9tRGVwc3wgc2V0IHRvCi0gIC8vIHRydWUg
bWVhbnMgdGhhdCBsb2FkaW5nIGZvby5tb2pvbS5qcyB3aWxsIGluc2VydCBhIDxzY3JpcHQ+IHRh
ZyB0byBsb2FkCi0gIC8vIGJhci5tb2pvbS5qcywgaWYgaXQgaGFzbid0IGJlZW4gbG9hZGVkLgot
ICAvLwotICAvLyBUaGUgVVJMIG9mIGJhci5tb2pvbS5qcyBpcyBkZXRlcm1pbmVkIGJ5IHRoZSBy
ZWxhdGl2ZSBwYXRoIG9mIGJhci5tb2pvbQotICAvLyAocmVsYXRpdmUgdG8gdGhlIHBvc2l0aW9u
IG9mIGZvby5tb2pvbSBhdCBidWlsZCB0aW1lKSBhbmQgdGhlIFVSTCBvZgotICAvLyBmb28ubW9q
b20uanMuIEZvciBleG1wbGUsIGlmIGF0IGJ1aWxkIHRpbWUgdGhlIHR3byBtb2pvbSBmaWxlcyBh
cmUKLSAgLy8gbG9jYXRlZCBhdDoKLSAgLy8gICBhL2IvYy9mb28ubW9qb20KLSAgLy8gICBhL2Iv
ZC9iYXIubW9qb20KLSAgLy8gYW5kIHRoZSBVUkwgb2YgZm9vLm1vam9tLmpzIGlzOgotICAvLyAg
IGh0dHA6Ly9leGFtcGxlLm9yZy9zY3JpcHRzL2IvYy9mb28ubW9qb20uanMKLSAgLy8gdGhlbiB0
aGUgVVJMIG9mIGJhci5tb2pvbS5qcyB3aWxsIGJlOgotICAvLyAgIGh0dHA6Ly9leGFtcGxlLm9y
Zy9zY3JpcHRzL2IvZC9iYXIubW9qb20uanMKLSAgLy8KLSAgLy8gSWYgeW91IHdvdWxkIGxpa2Ug
YmFyLm1vam9tLmpzIHRvIGxpdmUgYXQgYSBkaWZmZXJlbnQgbG9jYXRpb24sIHlvdSBuZWVkCi0g
IC8vIHRvIHR1cm4gb2ZmIHxhdXRvTG9hZE1vam9tRGVwc3wgYmVmb3JlIGxvYWRpbmcgZm9vLm1v
am9tLmpzLCBhbmQgbWFudWFsbHkKLSAgLy8gbG9hZCBiYXIubW9qb20uanMgeW91cnNlbGYuIFNp
bWlsYXJseSwgeW91IG5lZWQgdG8gdHVybiBvZmYgdGhlIG9wdGlvbiBpZgotICAvLyB5b3UgbWVy
Z2UgYmFyLm1vam9tLmpzIGFuZCBmb28ubW9qb20uanMgaW50byBhIHNpbmdsZSBmaWxlLgotICAv
LwotICAvLyBQZXJmb3JtYW5jZSB0aXA6IEF2b2lkIGxvYWRpbmcgdGhlIHNhbWUgbW9qb20uanMg
ZmlsZSBtdWx0aXBsZSB0aW1lcy4KLSAgLy8gQXNzdW1lIHRoYXQgfGF1dG9Mb2FkTW9qb21EZXBz
fCBpcyBzZXQgdG8gdHJ1ZSwKLSAgLy8KLSAgLy8gPCEtLQotICAvLyAoVGhpcyBjb21tZW50IHRh
ZyBpcyBuZWNlc3Nhcnkgb24gSU9TIHRvIGF2b2lkIGludGVycHJldGluZyB0aGUgY2xvc2luZwot
ICAvLyBzY3JpcHQgdGFncyBpbiB0aGUgZXhhbXBsZS4pCi0gIC8vCi0gIC8vIE5vIGR1cGxpY2F0
ZSBsb2FkaW5nOyByZWNvbW1lbmRlZDoKLSAgLy8gPHNjcmlwdCBzcmM9Imh0dHA6Ly9leGFtcGxl
Lm9yZy9zY3JpcHRzL2IvYy9mb28ubW9qb20uanMiPjwvc2NyaXB0PgotICAvLwotICAvLyBObyBk
dXBsaWNhdGUgbG9hZGluZywgYWx0aG91Z2ggdW5uZWNlc3Nhcnk6Ci0gIC8vIDxzY3JpcHQgc3Jj
PSJodHRwOi8vZXhhbXBsZS5vcmcvc2NyaXB0cy9iL2QvYmFyLm1vam9tLmpzIj48L3NjcmlwdD4K
LSAgLy8gPHNjcmlwdCBzcmM9Imh0dHA6Ly9leGFtcGxlLm9yZy9zY3JpcHRzL2IvYy9mb28ubW9q
b20uanMiPjwvc2NyaXB0PgotICAvLwotICAvLyBMb2FkIGJhci5tb2pvbS5qcyB0d2ljZTsgc2hv
dWxkIGJlIGF2b2lkZWQ6Ci0gIC8vIDxzY3JpcHQgc3JjPSJodHRwOi8vZXhhbXBsZS5vcmcvc2Ny
aXB0cy9iL2MvZm9vLm1vam9tLmpzIj48L3NjcmlwdD4KLSAgLy8gPHNjcmlwdCBzcmM9Imh0dHA6
Ly9leGFtcGxlLm9yZy9zY3JpcHRzL2IvZC9iYXIubW9qb20uanMiPjwvc2NyaXB0PgotICAvLwot
ICAvLyAtLT4KLSAgbW9qby5jb25maWcuYXV0b0xvYWRNb2pvbURlcHMgPSB0cnVlOwotfQotCi0o
ZnVuY3Rpb24oKSB7Ci0gIHZhciBpbnRlcm5hbCA9IG1vam8uaW50ZXJuYWw7Ci0gIHZhciBjb25m
aWcgPSBtb2pvLmNvbmZpZzsKLQotICB2YXIgTG9hZFN0YXRlID0gewotICAgIFBFTkRJTkdfTE9B
RDogMSwKLSAgICBMT0FERUQ6IDIKLSAgfTsKLQotICB2YXIgbW9qb21SZWdpc3RyeSA9IG5ldyBN
YXAoKTsKLQotICBmdW5jdGlvbiBleHBvc2VOYW1lc3BhY2UobmFtZXNwYWNlKSB7Ci0gICAgdmFy
IGN1cnJlbnQgPSBjb25maWcuZ2xvYmFsOwotICAgIHZhciBwYXJ0cyA9IG5hbWVzcGFjZS5zcGxp
dCgnLicpOwotCi0gICAgZm9yICh2YXIgcGFydDsgcGFydHMubGVuZ3RoICYmIChwYXJ0ID0gcGFy
dHMuc2hpZnQoKSk7KSB7Ci0gICAgICBpZiAoIWN1cnJlbnRbcGFydF0pIHsKLSAgICAgICAgY3Vy
cmVudFtwYXJ0XSA9IHt9OwotICAgICAgfQotICAgICAgY3VycmVudCA9IGN1cnJlbnRbcGFydF07
Ci0gICAgfQotCi0gICAgcmV0dXJuIGN1cnJlbnQ7Ci0gIH0KLQotICBmdW5jdGlvbiBpc01vam9t
UGVuZGluZ0xvYWQoaWQpIHsKLSAgICByZXR1cm4gbW9qb21SZWdpc3RyeS5nZXQoaWQpID09PSBM
b2FkU3RhdGUuUEVORElOR19MT0FEOwotICB9Ci0KLSAgZnVuY3Rpb24gaXNNb2pvbUxvYWRlZChp
ZCkgewotICAgIHJldHVybiBtb2pvbVJlZ2lzdHJ5LmdldChpZCkgPT09IExvYWRTdGF0ZS5MT0FE
RUQ7Ci0gIH0KLQotICBmdW5jdGlvbiBtYXJrTW9qb21QZW5kaW5nTG9hZChpZCkgewotICAgIGlm
IChpc01vam9tTG9hZGVkKGlkKSkgewotICAgICAgdGhyb3cgbmV3IEVycm9yKCdUaGUgZm9sbG93
aW5nIG1vam9tIGZpbGUgaGFzIGJlZW4gbG9hZGVkOiAnICsgaWQpOwotICAgIH0KLQotICAgIG1v
am9tUmVnaXN0cnkuc2V0KGlkLCBMb2FkU3RhdGUuUEVORElOR19MT0FEKTsKLSAgfQotCi0gIGZ1
bmN0aW9uIG1hcmtNb2pvbUxvYWRlZChpZCkgewotICAgIG1vam9tUmVnaXN0cnkuc2V0KGlkLCBM
b2FkU3RhdGUuTE9BREVEKTsKLSAgfQotCi0gIGZ1bmN0aW9uIGxvYWRNb2pvbUlmTmVjZXNzYXJ5
KGlkLCByZWxhdGl2ZVBhdGgpIHsKLSAgICBpZiAobW9qb21SZWdpc3RyeS5oYXMoaWQpKSB7Ci0g
ICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgaWYgKGNvbmZpZy5nbG9iYWwuZG9jdW1lbnQgPT09
IHVuZGVmaW5lZCkgewotICAgICAgdGhyb3cgbmV3IEVycm9yKAotICAgICAgICAgICdNb2pvbSBk
ZXBlbmRlbmN5IGF1dG9sb2FkaW5nIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB3b3JrZXJzLiAnICsK
LSAgICAgICAgICAnUGxlYXNlIHNlZSBjb25maWcgdmFyaWFibGUgbW9qby5jb25maWcuYXV0b0xv
YWRNb2pvbURlcHMgZm9yIG1vcmUgJyArCi0gICAgICAgICAgJ2RldGFpbHMuJyk7Ci0gICAgfQot
Ci0gICAgbWFya01vam9tUGVuZGluZ0xvYWQoaWQpOwotICAgIHZhciB1cmwgPSBuZXcgVVJMKHJl
bGF0aXZlUGF0aCwgZG9jdW1lbnQuY3VycmVudFNjcmlwdC5zcmMpLmhyZWY7Ci0gICAgY29uZmln
Lmdsb2JhbC5kb2N1bWVudC53cml0ZSgnPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNy
Yz0iJyArCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmwgKyAnIj48JyArICcv
c2NyaXB0PicpOwotICB9Ci0KLSAgaW50ZXJuYWwuZXhwb3NlTmFtZXNwYWNlID0gZXhwb3NlTmFt
ZXNwYWNlOwotICBpbnRlcm5hbC5pc01vam9tUGVuZGluZ0xvYWQgPSBpc01vam9tUGVuZGluZ0xv
YWQ7Ci0gIGludGVybmFsLmlzTW9qb21Mb2FkZWQgPSBpc01vam9tTG9hZGVkOwotICBpbnRlcm5h
bC5tYXJrTW9qb21QZW5kaW5nTG9hZCA9IG1hcmtNb2pvbVBlbmRpbmdMb2FkOwotICBpbnRlcm5h
bC5tYXJrTW9qb21Mb2FkZWQgPSBtYXJrTW9qb21Mb2FkZWQ7Ci0gIGludGVybmFsLmxvYWRNb2pv
bUlmTmVjZXNzYXJ5ID0gbG9hZE1vam9tSWZOZWNlc3Nhcnk7Ci19KSgpOwotLy8gQ29weXJpZ2h0
IDIwMTcgVGhlIENocm9taXVtIEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0vLyBVc2Ug
b2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlIHRo
YXQgY2FuIGJlCi0vLyBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgotCi0oZnVuY3Rpb24oKSB7
Ci0gIHZhciBpbnRlcm5hbCA9IG1vam8uaW50ZXJuYWw7Ci0KLSAgLy8gLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tCi0KLSAgLy8gfG91dHB1dHwgY291bGQgYmUgYW4gaW50ZXJmYWNlIHBvaW50ZXIsIEludGVy
ZmFjZVB0ckluZm8gb3IKLSAgLy8gQXNzb2NpYXRlZEludGVyZmFjZVB0ckluZm8uCi0gIGZ1bmN0
aW9uIG1ha2VSZXF1ZXN0KG91dHB1dCkgewotICAgIGlmIChvdXRwdXQgaW5zdGFuY2VvZiBtb2pv
LkFzc29jaWF0ZWRJbnRlcmZhY2VQdHJJbmZvKSB7Ci0gICAgICB2YXIge2hhbmRsZTAsIGhhbmRs
ZTF9ID0gaW50ZXJuYWwuY3JlYXRlUGFpclBlbmRpbmdBc3NvY2lhdGlvbigpOwotICAgICAgb3V0
cHV0LmludGVyZmFjZUVuZHBvaW50SGFuZGxlID0gaGFuZGxlMDsKLSAgICAgIG91dHB1dC52ZXJz
aW9uID0gMDsKLQotICAgICAgcmV0dXJuIG5ldyBtb2pvLkFzc29jaWF0ZWRJbnRlcmZhY2VSZXF1
ZXN0KGhhbmRsZTEpOwotICAgIH0KLQotICAgIGlmIChvdXRwdXQgaW5zdGFuY2VvZiBtb2pvLklu
dGVyZmFjZVB0ckluZm8pIHsKLSAgICAgIHZhciBwaXBlID0gTW9qby5jcmVhdGVNZXNzYWdlUGlw
ZSgpOwotICAgICAgb3V0cHV0LmhhbmRsZSA9IHBpcGUuaGFuZGxlMDsKLSAgICAgIG91dHB1dC52
ZXJzaW9uID0gMDsKLQotICAgICAgcmV0dXJuIG5ldyBtb2pvLkludGVyZmFjZVJlcXVlc3QocGlw
ZS5oYW5kbGUxKTsKLSAgICB9Ci0KLSAgICB2YXIgcGlwZSA9IE1vam8uY3JlYXRlTWVzc2FnZVBp
cGUoKTsKLSAgICBvdXRwdXQucHRyLmJpbmQobmV3IG1vam8uSW50ZXJmYWNlUHRySW5mbyhwaXBl
LmhhbmRsZTAsIDApKTsKLSAgICByZXR1cm4gbmV3IG1vam8uSW50ZXJmYWNlUmVxdWVzdChwaXBl
LmhhbmRsZTEpOwotICB9Ci0KLSAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0KLSAgLy8gT3BlcmF0
aW9ucyB1c2VkIHRvIHNldHVwL2NvbmZpZ3VyZSBhbiBpbnRlcmZhY2UgcG9pbnRlci4gRXhwb3Nl
ZCBhcyB0aGUKLSAgLy8gfHB0cnwgZmllbGQgb2YgZ2VuZXJhdGVkIGludGVyZmFjZSBwb2ludGVy
IGNsYXNzZXMuCi0gIC8vIHxwdHJJbmZvT3JIYW5kbGV8IGNvdWxkIGJlIG9taXR0ZWQgYW5kIHBh
c3NlZCBpbnRvIGJpbmQoKSBsYXRlci4KLSAgZnVuY3Rpb24gSW50ZXJmYWNlUHRyQ29udHJvbGxl
cihpbnRlcmZhY2VUeXBlLCBwdHJJbmZvT3JIYW5kbGUpIHsKLSAgICB0aGlzLnZlcnNpb24gPSAw
OwotCi0gICAgdGhpcy5pbnRlcmZhY2VUeXBlXyA9IGludGVyZmFjZVR5cGU7Ci0gICAgdGhpcy5y
b3V0ZXJfID0gbnVsbDsKLSAgICB0aGlzLmludGVyZmFjZUVuZHBvaW50Q2xpZW50XyA9IG51bGw7
Ci0gICAgdGhpcy5wcm94eV8gPSBudWxsOwotCi0gICAgLy8gfHJvdXRlcl98IGFuZCB8aW50ZXJm
YWNlRW5kcG9pbnRDbGllbnRffCBhcmUgbGF6aWx5IGluaXRpYWxpemVkLgotICAgIC8vIHxoYW5k
bGVffCBpcyB2YWxpZCBiZXR3ZWVuIGJpbmQoKSBhbmQKLSAgICAvLyB0aGUgaW5pdGlhbGl6YXRp
b24gb2YgfHJvdXRlcl98IGFuZCB8aW50ZXJmYWNlRW5kcG9pbnRDbGllbnRffC4KLSAgICB0aGlz
LmhhbmRsZV8gPSBudWxsOwotCi0gICAgaWYgKHB0ckluZm9PckhhbmRsZSkKLSAgICAgIHRoaXMu
YmluZChwdHJJbmZvT3JIYW5kbGUpOwotICB9Ci0KLSAgSW50ZXJmYWNlUHRyQ29udHJvbGxlci5w
cm90b3R5cGUuYmluZCA9IGZ1bmN0aW9uKHB0ckluZm9PckhhbmRsZSkgewotICAgIHRoaXMucmVz
ZXQoKTsKLQotICAgIGlmIChwdHJJbmZvT3JIYW5kbGUgaW5zdGFuY2VvZiBtb2pvLkludGVyZmFj
ZVB0ckluZm8pIHsKLSAgICAgIHRoaXMudmVyc2lvbiA9IHB0ckluZm9PckhhbmRsZS52ZXJzaW9u
OwotICAgICAgdGhpcy5oYW5kbGVfID0gcHRySW5mb09ySGFuZGxlLmhhbmRsZTsKLSAgICB9IGVs
c2UgewotICAgICAgdGhpcy5oYW5kbGVfID0gcHRySW5mb09ySGFuZGxlOwotICAgIH0KLSAgfTsK
LQotICBJbnRlcmZhY2VQdHJDb250cm9sbGVyLnByb3RvdHlwZS5pc0JvdW5kID0gZnVuY3Rpb24o
KSB7Ci0gICAgcmV0dXJuIHRoaXMuaW50ZXJmYWNlRW5kcG9pbnRDbGllbnRfICE9PSBudWxsIHx8
IHRoaXMuaGFuZGxlXyAhPT0gbnVsbDsKLSAgfTsKLQotICAvLyBBbHRob3VnaCB1c2VycyBjb3Vs
ZCBqdXN0IGRpc2NhcmQgdGhlIG9iamVjdCwgcmVzZXQoKSBjbG9zZXMgdGhlIHBpcGUKLSAgLy8g
aW1tZWRpYXRlbHkuCi0gIEludGVyZmFjZVB0ckNvbnRyb2xsZXIucHJvdG90eXBlLnJlc2V0ID0g
ZnVuY3Rpb24oKSB7Ci0gICAgdGhpcy52ZXJzaW9uID0gMDsKLSAgICBpZiAodGhpcy5pbnRlcmZh
Y2VFbmRwb2ludENsaWVudF8pIHsKLSAgICAgIHRoaXMuaW50ZXJmYWNlRW5kcG9pbnRDbGllbnRf
LmNsb3NlKCk7Ci0gICAgICB0aGlzLmludGVyZmFjZUVuZHBvaW50Q2xpZW50XyA9IG51bGw7Ci0g
ICAgfQotICAgIGlmICh0aGlzLnJvdXRlcl8pIHsKLSAgICAgIHRoaXMucm91dGVyXy5jbG9zZSgp
OwotICAgICAgdGhpcy5yb3V0ZXJfID0gbnVsbDsKLQotICAgICAgdGhpcy5wcm94eV8gPSBudWxs
OwotICAgIH0KLSAgICBpZiAodGhpcy5oYW5kbGVfKSB7Ci0gICAgICB0aGlzLmhhbmRsZV8uY2xv
c2UoKTsKLSAgICAgIHRoaXMuaGFuZGxlXyA9IG51bGw7Ci0gICAgfQotICB9OwotCi0gIEludGVy
ZmFjZVB0ckNvbnRyb2xsZXIucHJvdG90eXBlLnJlc2V0V2l0aFJlYXNvbiA9IGZ1bmN0aW9uKHJl
YXNvbikgewotICAgIGlmICh0aGlzLmlzQm91bmQoKSkgewotICAgICAgdGhpcy5jb25maWd1cmVQ
cm94eUlmTmVjZXNzYXJ5XygpOwotICAgICAgdGhpcy5pbnRlcmZhY2VFbmRwb2ludENsaWVudF8u
Y2xvc2UocmVhc29uKTsKLSAgICAgIHRoaXMuaW50ZXJmYWNlRW5kcG9pbnRDbGllbnRfID0gbnVs
bDsKLSAgICB9Ci0gICAgdGhpcy5yZXNldCgpOwotICB9OwotCi0gIEludGVyZmFjZVB0ckNvbnRy
b2xsZXIucHJvdG90eXBlLnNldENvbm5lY3Rpb25FcnJvckhhbmRsZXIgPSBmdW5jdGlvbigKLSAg
ICAgIGNhbGxiYWNrKSB7Ci0gICAgaWYgKCF0aGlzLmlzQm91bmQoKSkKLSAgICAgIHRocm93IG5l
dyBFcnJvcigiQ2Fubm90IHNldCBjb25uZWN0aW9uIGVycm9yIGhhbmRsZXIgaWYgbm90IGJvdW5k
LiIpOwotCi0gICAgdGhpcy5jb25maWd1cmVQcm94eUlmTmVjZXNzYXJ5XygpOwotICAgIHRoaXMu
aW50ZXJmYWNlRW5kcG9pbnRDbGllbnRfLnNldENvbm5lY3Rpb25FcnJvckhhbmRsZXIoY2FsbGJh
Y2spOwotICB9OwotCi0gIEludGVyZmFjZVB0ckNvbnRyb2xsZXIucHJvdG90eXBlLnBhc3NJbnRl
cmZhY2UgPSBmdW5jdGlvbigpIHsKLSAgICB2YXIgcmVzdWx0OwotICAgIGlmICh0aGlzLnJvdXRl
cl8pIHsKLSAgICAgIC8vIFRPRE8oeXpzaGVuKTogRml4IFJvdXRlciBpbnRlcmZhY2UgdG8gc3Vw
cG9ydCBleHRyYWN0aW5nIGhhbmRsZS4KLSAgICAgIHJlc3VsdCA9IG5ldyBtb2pvLkludGVyZmFj
ZVB0ckluZm8oCi0gICAgICAgICAgdGhpcy5yb3V0ZXJfLmNvbm5lY3Rvcl8uaGFuZGxlXywgdGhp
cy52ZXJzaW9uKTsKLSAgICAgIHRoaXMucm91dGVyXy5jb25uZWN0b3JfLmhhbmRsZV8gPSBudWxs
OwotICAgIH0gZWxzZSB7Ci0gICAgICAvLyBUaGlzIGFsc28gaGFuZGxlcyB0aGUgY2FzZSB3aGVu
IHRoaXMgb2JqZWN0IGlzIG5vdCBib3VuZC4KLSAgICAgIHJlc3VsdCA9IG5ldyBtb2pvLkludGVy
ZmFjZVB0ckluZm8odGhpcy5oYW5kbGVfLCB0aGlzLnZlcnNpb24pOwotICAgICAgdGhpcy5oYW5k
bGVfID0gbnVsbDsKLSAgICB9Ci0KLSAgICB0aGlzLnJlc2V0KCk7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLSAgfTsKLQotICBJbnRlcmZhY2VQdHJDb250cm9sbGVyLnByb3RvdHlwZS5nZXRQcm94eSA9
IGZ1bmN0aW9uKCkgewotICAgIHRoaXMuY29uZmlndXJlUHJveHlJZk5lY2Vzc2FyeV8oKTsKLSAg
ICByZXR1cm4gdGhpcy5wcm94eV87Ci0gIH07Ci0KLSAgSW50ZXJmYWNlUHRyQ29udHJvbGxlci5w
cm90b3R5cGUuY29uZmlndXJlUHJveHlJZk5lY2Vzc2FyeV8gPSBmdW5jdGlvbigpIHsKLSAgICBp
ZiAoIXRoaXMuaGFuZGxlXykKLSAgICAgIHJldHVybjsKLQotICAgIHRoaXMucm91dGVyXyA9IG5l
dyBpbnRlcm5hbC5Sb3V0ZXIodGhpcy5oYW5kbGVfLCB0cnVlKTsKLSAgICB0aGlzLmhhbmRsZV8g
PSBudWxsOwotCi0gICAgdGhpcy5pbnRlcmZhY2VFbmRwb2ludENsaWVudF8gPSBuZXcgaW50ZXJu
YWwuSW50ZXJmYWNlRW5kcG9pbnRDbGllbnQoCi0gICAgICAgIHRoaXMucm91dGVyXy5jcmVhdGVM
b2NhbEVuZHBvaW50SGFuZGxlKGludGVybmFsLmtNYXN0ZXJJbnRlcmZhY2VJZCkpOwotCi0gICAg
dGhpcy5pbnRlcmZhY2VFbmRwb2ludENsaWVudF8gLnNldFBheWxvYWRWYWxpZGF0b3JzKFsKLSAg
ICAgICAgdGhpcy5pbnRlcmZhY2VUeXBlXy52YWxpZGF0ZVJlc3BvbnNlXSk7Ci0gICAgdGhpcy5w
cm94eV8gPSBuZXcgdGhpcy5pbnRlcmZhY2VUeXBlXy5wcm94eUNsYXNzKAotICAgICAgICB0aGlz
LmludGVyZmFjZUVuZHBvaW50Q2xpZW50Xyk7Ci0gIH07Ci0KLSAgSW50ZXJmYWNlUHRyQ29udHJv
bGxlci5wcm90b3R5cGUucXVlcnlWZXJzaW9uID0gZnVuY3Rpb24oKSB7Ci0gICAgZnVuY3Rpb24g
b25RdWVyeVZlcnNpb24odmVyc2lvbikgewotICAgICAgdGhpcy52ZXJzaW9uID0gdmVyc2lvbjsK
LSAgICAgIHJldHVybiB2ZXJzaW9uOwotICAgIH0KLQotICAgIHRoaXMuY29uZmlndXJlUHJveHlJ
Zk5lY2Vzc2FyeV8oKTsKLSAgICByZXR1cm4gdGhpcy5pbnRlcmZhY2VFbmRwb2ludENsaWVudF8u
cXVlcnlWZXJzaW9uKCkudGhlbigKLSAgICAgIG9uUXVlcnlWZXJzaW9uLmJpbmQodGhpcykpOwot
ICB9OwotCi0gIEludGVyZmFjZVB0ckNvbnRyb2xsZXIucHJvdG90eXBlLnJlcXVpcmVWZXJzaW9u
ID0gZnVuY3Rpb24odmVyc2lvbikgewotICAgIHRoaXMuY29uZmlndXJlUHJveHlJZk5lY2Vzc2Fy
eV8oKTsKLQotICAgIGlmICh0aGlzLnZlcnNpb24gPj0gdmVyc2lvbikgewotICAgICAgcmV0dXJu
OwotICAgIH0KLSAgICB0aGlzLnZlcnNpb24gPSB2ZXJzaW9uOwotICAgIHRoaXMuaW50ZXJmYWNl
RW5kcG9pbnRDbGllbnRfLnJlcXVpcmVWZXJzaW9uKHZlcnNpb24pOwotICB9OwotCi0gIC8vIC0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLQotCi0gIC8vIHxyZXF1ZXN0fCBjb3VsZCBiZSBvbWl0dGVkIGFuZCBw
YXNzZWQgaW50byBiaW5kKCkgbGF0ZXIuCi0gIC8vCi0gIC8vIEV4YW1wbGU6Ci0gIC8vCi0gIC8v
ICAgIC8vIEZvb0ltcGwgaW1wbGVtZW50cyBtb2pvbS5Gb28uCi0gIC8vICAgIGZ1bmN0aW9uIEZv
b0ltcGwoKSB7IC4uLiB9Ci0gIC8vICAgIEZvb0ltcGwucHJvdG90eXBlLmZvb01ldGhvZDEgPSBm
dW5jdGlvbigpIHsgLi4uIH0KLSAgLy8gICAgRm9vSW1wbC5wcm90b3R5cGUuZm9vTWV0aG9kMiA9
IGZ1bmN0aW9uKCkgeyAuLi4gfQotICAvLwotICAvLyAgICB2YXIgZm9vUHRyID0gbmV3IG1vam9t
LkZvb1B0cigpOwotICAvLyAgICB2YXIgcmVxdWVzdCA9IG1ha2VSZXF1ZXN0KGZvb1B0cik7Ci0g
IC8vICAgIHZhciBiaW5kaW5nID0gbmV3IEJpbmRpbmcobW9qb20uRm9vLCBuZXcgRm9vSW1wbCgp
LCByZXF1ZXN0KTsKLSAgLy8gICAgZm9vUHRyLmZvb01ldGhvZDEoKTsKLSAgZnVuY3Rpb24gQmlu
ZGluZyhpbnRlcmZhY2VUeXBlLCBpbXBsLCByZXF1ZXN0T3JIYW5kbGUpIHsKLSAgICB0aGlzLmlu
dGVyZmFjZVR5cGVfID0gaW50ZXJmYWNlVHlwZTsKLSAgICB0aGlzLmltcGxfID0gaW1wbDsKLSAg
ICB0aGlzLnJvdXRlcl8gPSBudWxsOwotICAgIHRoaXMuaW50ZXJmYWNlRW5kcG9pbnRDbGllbnRf
ID0gbnVsbDsKLSAgICB0aGlzLnN0dWJfID0gbnVsbDsKLQotICAgIGlmIChyZXF1ZXN0T3JIYW5k
bGUpCi0gICAgICB0aGlzLmJpbmQocmVxdWVzdE9ySGFuZGxlKTsKLSAgfQotCi0gIEJpbmRpbmcu
cHJvdG90eXBlLmlzQm91bmQgPSBmdW5jdGlvbigpIHsKLSAgICByZXR1cm4gdGhpcy5yb3V0ZXJf
ICE9PSBudWxsOwotICB9OwotCi0gIEJpbmRpbmcucHJvdG90eXBlLmNyZWF0ZUludGVyZmFjZVB0
ckFuZEJpbmQgPSBmdW5jdGlvbigpIHsKLSAgICB2YXIgcHRyID0gbmV3IHRoaXMuaW50ZXJmYWNl
VHlwZV8ucHRyQ2xhc3MoKTsKLSAgICAvLyBUT0RPKHl6c2hlbik6IFNldCB0aGUgdmVyc2lvbiBv
ZiB0aGUgaW50ZXJmYWNlIHBvaW50ZXIuCi0gICAgdGhpcy5iaW5kKG1ha2VSZXF1ZXN0KHB0cikp
OwotICAgIHJldHVybiBwdHI7Ci0gIH07Ci0KLSAgQmluZGluZy5wcm90b3R5cGUuYmluZCA9IGZ1
bmN0aW9uKHJlcXVlc3RPckhhbmRsZSkgewotICAgIHRoaXMuY2xvc2UoKTsKLQotICAgIHZhciBo
YW5kbGUgPSByZXF1ZXN0T3JIYW5kbGUgaW5zdGFuY2VvZiBtb2pvLkludGVyZmFjZVJlcXVlc3Qg
PwotICAgICAgICByZXF1ZXN0T3JIYW5kbGUuaGFuZGxlIDogcmVxdWVzdE9ySGFuZGxlOwotICAg
IGlmICghKGhhbmRsZSBpbnN0YW5jZW9mIE1vam9IYW5kbGUpKQotICAgICAgcmV0dXJuOwotCi0g
ICAgdGhpcy5yb3V0ZXJfID0gbmV3IGludGVybmFsLlJvdXRlcihoYW5kbGUpOwotCi0gICAgdGhp
cy5zdHViXyA9IG5ldyB0aGlzLmludGVyZmFjZVR5cGVfLnN0dWJDbGFzcyh0aGlzLmltcGxfKTsK
LSAgICB0aGlzLmludGVyZmFjZUVuZHBvaW50Q2xpZW50XyA9IG5ldyBpbnRlcm5hbC5JbnRlcmZh
Y2VFbmRwb2ludENsaWVudCgKLSAgICAgICAgdGhpcy5yb3V0ZXJfLmNyZWF0ZUxvY2FsRW5kcG9p
bnRIYW5kbGUoaW50ZXJuYWwua01hc3RlckludGVyZmFjZUlkKSwKLSAgICAgICAgdGhpcy5zdHVi
XywgdGhpcy5pbnRlcmZhY2VUeXBlXy5rVmVyc2lvbik7Ci0KLSAgICB0aGlzLmludGVyZmFjZUVu
ZHBvaW50Q2xpZW50XyAuc2V0UGF5bG9hZFZhbGlkYXRvcnMoWwotICAgICAgICB0aGlzLmludGVy
ZmFjZVR5cGVfLnZhbGlkYXRlUmVxdWVzdF0pOwotICB9OwotCi0gIEJpbmRpbmcucHJvdG90eXBl
LmNsb3NlID0gZnVuY3Rpb24oKSB7Ci0gICAgaWYgKCF0aGlzLmlzQm91bmQoKSkKLSAgICAgIHJl
dHVybjsKLQotICAgIGlmICh0aGlzLmludGVyZmFjZUVuZHBvaW50Q2xpZW50XykgewotICAgICAg
dGhpcy5pbnRlcmZhY2VFbmRwb2ludENsaWVudF8uY2xvc2UoKTsKLSAgICAgIHRoaXMuaW50ZXJm
YWNlRW5kcG9pbnRDbGllbnRfID0gbnVsbDsKLSAgICB9Ci0KLSAgICB0aGlzLnJvdXRlcl8uY2xv
c2UoKTsKLSAgICB0aGlzLnJvdXRlcl8gPSBudWxsOwotICAgIHRoaXMuc3R1Yl8gPSBudWxsOwot
ICB9OwotCi0gIEJpbmRpbmcucHJvdG90eXBlLmNsb3NlV2l0aFJlYXNvbiA9IGZ1bmN0aW9uKHJl
YXNvbikgewotICAgIGlmICh0aGlzLmludGVyZmFjZUVuZHBvaW50Q2xpZW50XykgewotICAgICAg
dGhpcy5pbnRlcmZhY2VFbmRwb2ludENsaWVudF8uY2xvc2UocmVhc29uKTsKLSAgICAgIHRoaXMu
aW50ZXJmYWNlRW5kcG9pbnRDbGllbnRfID0gbnVsbDsKLSAgICB9Ci0gICAgdGhpcy5jbG9zZSgp
OwotICB9OwotCi0gIEJpbmRpbmcucHJvdG90eXBlLnNldENvbm5lY3Rpb25FcnJvckhhbmRsZXIg
PSBmdW5jdGlvbihjYWxsYmFjaykgewotICAgIGlmICghdGhpcy5pc0JvdW5kKCkpIHsKLSAgICAg
IHRocm93IG5ldyBFcnJvcigiQ2Fubm90IHNldCBjb25uZWN0aW9uIGVycm9yIGhhbmRsZXIgaWYg
bm90IGJvdW5kLiIpOwotICAgIH0KLSAgICB0aGlzLmludGVyZmFjZUVuZHBvaW50Q2xpZW50Xy5z
ZXRDb25uZWN0aW9uRXJyb3JIYW5kbGVyKGNhbGxiYWNrKTsKLSAgfTsKLQotICBCaW5kaW5nLnBy
b3RvdHlwZS51bmJpbmQgPSBmdW5jdGlvbigpIHsKLSAgICBpZiAoIXRoaXMuaXNCb3VuZCgpKQot
ICAgICAgcmV0dXJuIG5ldyBtb2pvLkludGVyZmFjZVJlcXVlc3QobnVsbCk7Ci0KLSAgICB2YXIg
cmVzdWx0ID0gbmV3IG1vam8uSW50ZXJmYWNlUmVxdWVzdCh0aGlzLnJvdXRlcl8uY29ubmVjdG9y
Xy5oYW5kbGVfKTsKLSAgICB0aGlzLnJvdXRlcl8uY29ubmVjdG9yXy5oYW5kbGVfID0gbnVsbDsK
LSAgICB0aGlzLmNsb3NlKCk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLSAgfTsKLQotICAvLyAtLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0KLQotICBmdW5jdGlvbiBCaW5kaW5nU2V0RW50cnkoYmluZGluZ1NldCwg
aW50ZXJmYWNlVHlwZSwgYmluZGluZ1R5cGUsIGltcGwsCi0gICAgICByZXF1ZXN0T3JIYW5kbGUs
IGJpbmRpbmdJZCkgewotICAgIHRoaXMuYmluZGluZ1NldF8gPSBiaW5kaW5nU2V0OwotICAgIHRo
aXMuYmluZGluZ0lkXyA9IGJpbmRpbmdJZDsKLSAgICB0aGlzLmJpbmRpbmdfID0gbmV3IGJpbmRp
bmdUeXBlKGludGVyZmFjZVR5cGUsIGltcGwsCi0gICAgICAgIHJlcXVlc3RPckhhbmRsZSk7Ci0K
LSAgICB0aGlzLmJpbmRpbmdfLnNldENvbm5lY3Rpb25FcnJvckhhbmRsZXIoZnVuY3Rpb24ocmVh
c29uKSB7Ci0gICAgICB0aGlzLmJpbmRpbmdTZXRfLm9uQ29ubmVjdGlvbkVycm9yKGJpbmRpbmdJ
ZCwgcmVhc29uKTsKLSAgICB9LmJpbmQodGhpcykpOwotICB9Ci0KLSAgQmluZGluZ1NldEVudHJ5
LnByb3RvdHlwZS5jbG9zZSA9IGZ1bmN0aW9uKCkgewotICAgIHRoaXMuYmluZGluZ18uY2xvc2Uo
KTsKLSAgfTsKLQotICBmdW5jdGlvbiBCaW5kaW5nU2V0KGludGVyZmFjZVR5cGUpIHsKLSAgICB0
aGlzLmludGVyZmFjZVR5cGVfID0gaW50ZXJmYWNlVHlwZTsKLSAgICB0aGlzLm5leHRCaW5kaW5n
SWRfID0gMDsKLSAgICB0aGlzLmJpbmRpbmdzXyA9IG5ldyBNYXAoKTsKLSAgICB0aGlzLmVycm9y
SGFuZGxlcl8gPSBudWxsOwotICAgIHRoaXMuYmluZGluZ1R5cGVfID0gQmluZGluZzsKLSAgfQot
Ci0gIEJpbmRpbmdTZXQucHJvdG90eXBlLmlzRW1wdHkgPSBmdW5jdGlvbigpIHsKLSAgICByZXR1
cm4gdGhpcy5iaW5kaW5nc18uc2l6ZSA9PSAwOwotICB9OwotCi0gIEJpbmRpbmdTZXQucHJvdG90
eXBlLmFkZEJpbmRpbmcgPSBmdW5jdGlvbihpbXBsLCByZXF1ZXN0T3JIYW5kbGUpIHsKLSAgICB0
aGlzLmJpbmRpbmdzXy5zZXQoCi0gICAgICAgIHRoaXMubmV4dEJpbmRpbmdJZF8sCi0gICAgICAg
IG5ldyBCaW5kaW5nU2V0RW50cnkodGhpcywgdGhpcy5pbnRlcmZhY2VUeXBlXywgdGhpcy5iaW5k
aW5nVHlwZV8sIGltcGwsCi0gICAgICAgICAgICByZXF1ZXN0T3JIYW5kbGUsIHRoaXMubmV4dEJp
bmRpbmdJZF8pKTsKLSAgICArK3RoaXMubmV4dEJpbmRpbmdJZF87Ci0gIH07Ci0KLSAgQmluZGlu
Z1NldC5wcm90b3R5cGUuY2xvc2VBbGxCaW5kaW5ncyA9IGZ1bmN0aW9uKCkgewotICAgIGZvciAo
dmFyIGVudHJ5IG9mIHRoaXMuYmluZGluZ3NfLnZhbHVlcygpKQotICAgICAgZW50cnkuY2xvc2Uo
KTsKLSAgICB0aGlzLmJpbmRpbmdzXy5jbGVhcigpOwotICB9OwotCi0gIEJpbmRpbmdTZXQucHJv
dG90eXBlLnNldENvbm5lY3Rpb25FcnJvckhhbmRsZXIgPSBmdW5jdGlvbihjYWxsYmFjaykgewot
ICAgIHRoaXMuZXJyb3JIYW5kbGVyXyA9IGNhbGxiYWNrOwotICB9OwotCi0gIEJpbmRpbmdTZXQu
cHJvdG90eXBlLm9uQ29ubmVjdGlvbkVycm9yID0gZnVuY3Rpb24oYmluZGluZ0lkLCByZWFzb24p
IHsKLSAgICB0aGlzLmJpbmRpbmdzXy5kZWxldGUoYmluZGluZ0lkKTsKLQotICAgIGlmICh0aGlz
LmVycm9ySGFuZGxlcl8pCi0gICAgICB0aGlzLmVycm9ySGFuZGxlcl8ocmVhc29uKTsKLSAgfTsK
LQotICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLQotICAvLyBPcGVyYXRpb25zIHVzZWQgdG8gc2V0
dXAvY29uZmlndXJlIGFuIGFzc29jaWF0ZWQgaW50ZXJmYWNlIHBvaW50ZXIuCi0gIC8vIEV4cG9z
ZWQgYXMgfHB0cnwgZmllbGQgb2YgZ2VuZXJhdGVkIGFzc29jaWF0ZWQgaW50ZXJmYWNlIHBvaW50
ZXIgY2xhc3Nlcy4KLSAgLy8gfGFzc29jaWF0ZWRQdHJJbmZvfCBjb3VsZCBiZSBvbWl0dGVkIGFu
ZCBwYXNzZWQgaW50byBiaW5kKCkgbGF0ZXIuCi0gIC8vCi0gIC8vIEV4YW1wbGU6Ci0gIC8vICAg
IC8vIEludGVnZXJTZW5kZXJJbXBsIGltcGxlbWVudHMgbW9qb20uSW50ZWdlclNlbmRlcgotICAv
LyAgICBmdW5jdGlvbiBJbnRlZ2VyU2VuZGVySW1wbCgpIHsgLi4uIH0KLSAgLy8gICAgSW50ZWdl
clNlbmRlckltcGwucHJvdG90eXBlLmVjaG8gPSBmdW5jdGlvbigpIHsgLi4uIH0KLSAgLy8KLSAg
Ly8gICAgLy8gSW50ZWdlclNlbmRlckNvbm5lY3Rpb25JbXBsIGltcGxlbWVudHMgbW9qb20uSW50
ZWdlclNlbmRlckNvbm5lY3Rpb24KLSAgLy8gICAgZnVuY3Rpb24gSW50ZWdlclNlbmRlckNvbm5l
Y3Rpb25JbXBsKCkgewotICAvLyAgICAgIHRoaXMuc2VuZGVyQmluZGluZ18gPSBudWxsOwotICAv
LyAgICB9Ci0gIC8vICAgIEludGVnZXJTZW5kZXJDb25uZWN0aW9uSW1wbC5wcm90b3R5cGUuZ2V0
U2VuZGVyID0gZnVuY3Rpb24oCi0gIC8vICAgICAgICBhc3NvY2lhdGVkUmVxdWVzdCkgewotICAv
LyAgICAgIHRoaXMuc2VuZGVyQmluZGluZ18gPSBuZXcgQXNzb2NpYXRlZEJpbmRpbmcobW9qb20u
SW50ZWdlclNlbmRlciwKLSAgLy8gICAgICAgICAgbmV3IEludGVnZXJTZW5kZXJJbXBsKCksCi0g
IC8vICAgICAgICAgIGFzc29jaWF0ZWRSZXF1ZXN0KTsKLSAgLy8gICAgfQotICAvLwotICAvLyAg
ICB2YXIgaW50ZWdlclNlbmRlckNvbm5lY3Rpb24gPSBuZXcgbW9qb20uSW50ZWdlclNlbmRlckNv
bm5lY3Rpb25QdHIoKTsKLSAgLy8gICAgdmFyIGludGVnZXJTZW5kZXJDb25uZWN0aW9uQmluZGlu
ZyA9IG5ldyBCaW5kaW5nKAotICAvLyAgICAgICAgbW9qb20uSW50ZWdlclNlbmRlckNvbm5lY3Rp
b24sCi0gIC8vICAgICAgICBuZXcgSW50ZWdlclNlbmRlckNvbm5lY3Rpb25JbXBsKCksCi0gIC8v
ICAgICAgICBtb2pvLm1ha2VSZXF1ZXN0KGludGVnZXJTZW5kZXJDb25uZWN0aW9uKSk7Ci0gIC8v
Ci0gIC8vICAgIC8vIEEgbG9jYWxseS1jcmVhdGVkIGFzc29jaWF0ZWQgaW50ZXJmYWNlIHBvaW50
ZXIgY2FuIG9ubHkgYmUgdXNlZCB0bwotICAvLyAgICAvLyBtYWtlIGNhbGxzIHdoZW4gdGhlIGNv
cnJlc3BvbmRpbmcgYXNzb2NpYXRlZCByZXF1ZXN0IGlzIHNlbnQgb3ZlcgotICAvLyAgICAvLyBh
bm90aGVyIGludGVyZmFjZSAoZWl0aGVyIHRoZSBtYXN0ZXIgaW50ZXJmYWNlIG9yIGFub3RoZXIK
LSAgLy8gICAgLy8gYXNzb2NpYXRlZCBpbnRlcmZhY2UpLgotICAvLyAgICB2YXIgYXNzb2NpYXRl
ZEludGVyZmFjZVB0ckluZm8gPSBuZXcgQXNzb2NpYXRlZEludGVyZmFjZVB0ckluZm8oKTsKLSAg
Ly8gICAgdmFyIGFzc29jaWF0ZWRSZXF1ZXN0ID0gbWFrZVJlcXVlc3QoaW50ZXJmYWNlUHRySW5m
byk7Ci0gIC8vCi0gIC8vICAgIGludGVnZXJTZW5kZXJDb25uZWN0aW9uLmdldFNlbmRlcihhc3Nv
Y2lhdGVkUmVxdWVzdCk7Ci0gIC8vCi0gIC8vICAgIC8vIENyZWF0ZSBhbiBhc3NvY2lhdGVkIGlu
dGVyZmFjZSBhbmQgYmluZCB0aGUgYXNzb2NpYXRlZCBoYW5kbGUuCi0gIC8vICAgIHZhciBpbnRl
Z2VyU2VuZGVyID0gbmV3IG1vam9tLkFzc29jaWF0ZWRJbnRlZ2VyU2VuZGVyUHRyKCk7Ci0gIC8v
ICAgIGludGVnZXJTZW5kZXIucHRyLmJpbmQoYXNzb2NpYXRlZEludGVyZmFjZVB0ckluZm8pOwot
ICAvLyAgICBpbnRlZ2VyU2VuZGVyLmVjaG8oKTsKLQotICBmdW5jdGlvbiBBc3NvY2lhdGVkSW50
ZXJmYWNlUHRyQ29udHJvbGxlcihpbnRlcmZhY2VUeXBlLCBhc3NvY2lhdGVkUHRySW5mbykgewot
ICAgIHRoaXMudmVyc2lvbiA9IDA7Ci0KLSAgICB0aGlzLmludGVyZmFjZVR5cGVfID0gaW50ZXJm
YWNlVHlwZTsKLSAgICB0aGlzLmludGVyZmFjZUVuZHBvaW50Q2xpZW50XyA9IG51bGw7Ci0gICAg
dGhpcy5wcm94eV8gPSBudWxsOwotCi0gICAgaWYgKGFzc29jaWF0ZWRQdHJJbmZvKSB7Ci0gICAg
ICB0aGlzLmJpbmQoYXNzb2NpYXRlZFB0ckluZm8pOwotICAgIH0KLSAgfQotCi0gIEFzc29jaWF0
ZWRJbnRlcmZhY2VQdHJDb250cm9sbGVyLnByb3RvdHlwZS5iaW5kID0gZnVuY3Rpb24oCi0gICAg
ICBhc3NvY2lhdGVkUHRySW5mbykgewotICAgIHRoaXMucmVzZXQoKTsKLSAgICB0aGlzLnZlcnNp
b24gPSBhc3NvY2lhdGVkUHRySW5mby52ZXJzaW9uOwotCi0gICAgdGhpcy5pbnRlcmZhY2VFbmRw
b2ludENsaWVudF8gPSBuZXcgaW50ZXJuYWwuSW50ZXJmYWNlRW5kcG9pbnRDbGllbnQoCi0gICAg
ICAgIGFzc29jaWF0ZWRQdHJJbmZvLmludGVyZmFjZUVuZHBvaW50SGFuZGxlKTsKLQotICAgIHRo
aXMuaW50ZXJmYWNlRW5kcG9pbnRDbGllbnRfIC5zZXRQYXlsb2FkVmFsaWRhdG9ycyhbCi0gICAg
ICAgIHRoaXMuaW50ZXJmYWNlVHlwZV8udmFsaWRhdGVSZXNwb25zZV0pOwotICAgIHRoaXMucHJv
eHlfID0gbmV3IHRoaXMuaW50ZXJmYWNlVHlwZV8ucHJveHlDbGFzcygKLSAgICAgICAgdGhpcy5p
bnRlcmZhY2VFbmRwb2ludENsaWVudF8pOwotICB9OwotCi0gIEFzc29jaWF0ZWRJbnRlcmZhY2VQ
dHJDb250cm9sbGVyLnByb3RvdHlwZS5pc0JvdW5kID0gZnVuY3Rpb24oKSB7Ci0gICAgcmV0dXJu
IHRoaXMuaW50ZXJmYWNlRW5kcG9pbnRDbGllbnRfICE9PSBudWxsOwotICB9OwotCi0gIEFzc29j
aWF0ZWRJbnRlcmZhY2VQdHJDb250cm9sbGVyLnByb3RvdHlwZS5yZXNldCA9IGZ1bmN0aW9uKCkg
ewotICAgIHRoaXMudmVyc2lvbiA9IDA7Ci0gICAgaWYgKHRoaXMuaW50ZXJmYWNlRW5kcG9pbnRD
bGllbnRfKSB7Ci0gICAgICB0aGlzLmludGVyZmFjZUVuZHBvaW50Q2xpZW50Xy5jbG9zZSgpOwot
ICAgICAgdGhpcy5pbnRlcmZhY2VFbmRwb2ludENsaWVudF8gPSBudWxsOwotICAgIH0KLSAgICBp
ZiAodGhpcy5wcm94eV8pIHsKLSAgICAgIHRoaXMucHJveHlfID0gbnVsbDsKLSAgICB9Ci0gIH07
Ci0KLSAgQXNzb2NpYXRlZEludGVyZmFjZVB0ckNvbnRyb2xsZXIucHJvdG90eXBlLnJlc2V0V2l0
aFJlYXNvbiA9IGZ1bmN0aW9uKAotICAgICAgcmVhc29uKSB7Ci0gICAgaWYgKHRoaXMuaXNCb3Vu
ZCgpKSB7Ci0gICAgICB0aGlzLmludGVyZmFjZUVuZHBvaW50Q2xpZW50Xy5jbG9zZShyZWFzb24p
OwotICAgICAgdGhpcy5pbnRlcmZhY2VFbmRwb2ludENsaWVudF8gPSBudWxsOwotICAgIH0KLSAg
ICB0aGlzLnJlc2V0KCk7Ci0gIH07Ci0KLSAgLy8gSW5kaWNhdGVzIHdoZXRoZXIgYW4gZXJyb3Ig
aGFzIGJlZW4gZW5jb3VudGVyZWQuIElmIHRydWUsIG1ldGhvZCBjYWxscwotICAvLyBvbiB0aGlz
IGludGVyZmFjZSB3aWxsIGJlIGRyb3BwZWQgKGFuZCBtYXkgYWxyZWFkeSBoYXZlIGJlZW4gZHJv
cHBlZCkuCi0gIEFzc29jaWF0ZWRJbnRlcmZhY2VQdHJDb250cm9sbGVyLnByb3RvdHlwZS5nZXRF
bmNvdW50ZXJlZEVycm9yID0gZnVuY3Rpb24oKSB7Ci0gICAgcmV0dXJuIHRoaXMuaW50ZXJmYWNl
RW5kcG9pbnRDbGllbnRfID8KLSAgICAgICAgdGhpcy5pbnRlcmZhY2VFbmRwb2ludENsaWVudF8u
Z2V0RW5jb3VudGVyZWRFcnJvcigpIDogZmFsc2U7Ci0gIH07Ci0KLSAgQXNzb2NpYXRlZEludGVy
ZmFjZVB0ckNvbnRyb2xsZXIucHJvdG90eXBlLnNldENvbm5lY3Rpb25FcnJvckhhbmRsZXIgPQot
ICAgICAgZnVuY3Rpb24oY2FsbGJhY2spIHsKLSAgICBpZiAoIXRoaXMuaXNCb3VuZCgpKSB7Ci0g
ICAgICB0aHJvdyBuZXcgRXJyb3IoIkNhbm5vdCBzZXQgY29ubmVjdGlvbiBlcnJvciBoYW5kbGVy
IGlmIG5vdCBib3VuZC4iKTsKLSAgICB9Ci0KLSAgICB0aGlzLmludGVyZmFjZUVuZHBvaW50Q2xp
ZW50Xy5zZXRDb25uZWN0aW9uRXJyb3JIYW5kbGVyKGNhbGxiYWNrKTsKLSAgfTsKLQotICBBc3Nv
Y2lhdGVkSW50ZXJmYWNlUHRyQ29udHJvbGxlci5wcm90b3R5cGUucGFzc0ludGVyZmFjZSA9IGZ1
bmN0aW9uKCkgewotICAgIGlmICghdGhpcy5pc0JvdW5kKCkpIHsKLSAgICAgIHJldHVybiBuZXcg
bW9qby5Bc3NvY2lhdGVkSW50ZXJmYWNlUHRySW5mbyhudWxsKTsKLSAgICB9Ci0KLSAgICB2YXIg
cmVzdWx0ID0gbmV3IG1vam8uQXNzb2NpYXRlZEludGVyZmFjZVB0ckluZm8oCi0gICAgICAgIHRo
aXMuaW50ZXJmYWNlRW5kcG9pbnRDbGllbnRfLnBhc3NIYW5kbGUoKSwgdGhpcy52ZXJzaW9uKTsK
LSAgICB0aGlzLnJlc2V0KCk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLSAgfTsKLQotICBBc3NvY2lh
dGVkSW50ZXJmYWNlUHRyQ29udHJvbGxlci5wcm90b3R5cGUuZ2V0UHJveHkgPSBmdW5jdGlvbigp
IHsKLSAgICByZXR1cm4gdGhpcy5wcm94eV87Ci0gIH07Ci0KLSAgQXNzb2NpYXRlZEludGVyZmFj
ZVB0ckNvbnRyb2xsZXIucHJvdG90eXBlLnF1ZXJ5VmVyc2lvbiA9IGZ1bmN0aW9uKCkgewotICAg
IGZ1bmN0aW9uIG9uUXVlcnlWZXJzaW9uKHZlcnNpb24pIHsKLSAgICAgIHRoaXMudmVyc2lvbiA9
IHZlcnNpb247Ci0gICAgICByZXR1cm4gdmVyc2lvbjsKLSAgICB9Ci0KLSAgICByZXR1cm4gdGhp
cy5pbnRlcmZhY2VFbmRwb2ludENsaWVudF8ucXVlcnlWZXJzaW9uKCkudGhlbigKLSAgICAgIG9u
UXVlcnlWZXJzaW9uLmJpbmQodGhpcykpOwotICB9OwotCi0gIEFzc29jaWF0ZWRJbnRlcmZhY2VQ
dHJDb250cm9sbGVyLnByb3RvdHlwZS5yZXF1aXJlVmVyc2lvbiA9IGZ1bmN0aW9uKAotICAgICAg
dmVyc2lvbikgewotICAgIGlmICh0aGlzLnZlcnNpb24gPj0gdmVyc2lvbikgewotICAgICAgcmV0
dXJuOwotICAgIH0KLSAgICB0aGlzLnZlcnNpb24gPSB2ZXJzaW9uOwotICAgIHRoaXMuaW50ZXJm
YWNlRW5kcG9pbnRDbGllbnRfLnJlcXVpcmVWZXJzaW9uKHZlcnNpb24pOwotICB9OwotCi0gIC8v
IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLQotCi0gIC8vIHxhc3NvY2lhdGVkSW50ZXJmYWNlUmVxdWVzdHwg
Y291bGQgYmUgb21pdHRlZCBhbmQgcGFzc2VkIGludG8gYmluZCgpCi0gIC8vIGxhdGVyLgotICBm
dW5jdGlvbiBBc3NvY2lhdGVkQmluZGluZyhpbnRlcmZhY2VUeXBlLCBpbXBsLCBhc3NvY2lhdGVk
SW50ZXJmYWNlUmVxdWVzdCkgewotICAgIHRoaXMuaW50ZXJmYWNlVHlwZV8gPSBpbnRlcmZhY2VU
eXBlOwotICAgIHRoaXMuaW1wbF8gPSBpbXBsOwotICAgIHRoaXMuaW50ZXJmYWNlRW5kcG9pbnRD
bGllbnRfID0gbnVsbDsKLSAgICB0aGlzLnN0dWJfID0gbnVsbDsKLQotICAgIGlmIChhc3NvY2lh
dGVkSW50ZXJmYWNlUmVxdWVzdCkgewotICAgICAgdGhpcy5iaW5kKGFzc29jaWF0ZWRJbnRlcmZh
Y2VSZXF1ZXN0KTsKLSAgICB9Ci0gIH0KLQotICBBc3NvY2lhdGVkQmluZGluZy5wcm90b3R5cGUu
aXNCb3VuZCA9IGZ1bmN0aW9uKCkgewotICAgIHJldHVybiB0aGlzLmludGVyZmFjZUVuZHBvaW50
Q2xpZW50XyAhPT0gbnVsbDsKLSAgfTsKLQotICBBc3NvY2lhdGVkQmluZGluZy5wcm90b3R5cGUu
YmluZCA9IGZ1bmN0aW9uKGFzc29jaWF0ZWRJbnRlcmZhY2VSZXF1ZXN0KSB7Ci0gICAgdGhpcy5j
bG9zZSgpOwotCi0gICAgdGhpcy5zdHViXyA9IG5ldyB0aGlzLmludGVyZmFjZVR5cGVfLnN0dWJD
bGFzcyh0aGlzLmltcGxfKTsKLSAgICB0aGlzLmludGVyZmFjZUVuZHBvaW50Q2xpZW50XyA9IG5l
dyBpbnRlcm5hbC5JbnRlcmZhY2VFbmRwb2ludENsaWVudCgKLSAgICAgICAgYXNzb2NpYXRlZElu
dGVyZmFjZVJlcXVlc3QuaW50ZXJmYWNlRW5kcG9pbnRIYW5kbGUsIHRoaXMuc3R1Yl8sCi0gICAg
ICAgIHRoaXMuaW50ZXJmYWNlVHlwZV8ua1ZlcnNpb24pOwotCi0gICAgdGhpcy5pbnRlcmZhY2VF
bmRwb2ludENsaWVudF8gLnNldFBheWxvYWRWYWxpZGF0b3JzKFsKLSAgICAgICAgdGhpcy5pbnRl
cmZhY2VUeXBlXy52YWxpZGF0ZVJlcXVlc3RdKTsKLSAgfTsKLQotCi0gIEFzc29jaWF0ZWRCaW5k
aW5nLnByb3RvdHlwZS5jbG9zZSA9IGZ1bmN0aW9uKCkgewotICAgIGlmICghdGhpcy5pc0JvdW5k
KCkpIHsKLSAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBpZiAodGhpcy5pbnRlcmZhY2VFbmRw
b2ludENsaWVudF8pIHsKLSAgICAgIHRoaXMuaW50ZXJmYWNlRW5kcG9pbnRDbGllbnRfLmNsb3Nl
KCk7Ci0gICAgICB0aGlzLmludGVyZmFjZUVuZHBvaW50Q2xpZW50XyA9IG51bGw7Ci0gICAgfQot
Ci0gICAgdGhpcy5zdHViXyA9IG51bGw7Ci0gIH07Ci0KLSAgQXNzb2NpYXRlZEJpbmRpbmcucHJv
dG90eXBlLmNsb3NlV2l0aFJlYXNvbiA9IGZ1bmN0aW9uKHJlYXNvbikgewotICAgIGlmICh0aGlz
LmludGVyZmFjZUVuZHBvaW50Q2xpZW50XykgewotICAgICAgdGhpcy5pbnRlcmZhY2VFbmRwb2lu
dENsaWVudF8uY2xvc2UocmVhc29uKTsKLSAgICAgIHRoaXMuaW50ZXJmYWNlRW5kcG9pbnRDbGll
bnRfID0gbnVsbDsKLSAgICB9Ci0gICAgdGhpcy5jbG9zZSgpOwotICB9OwotCi0gIEFzc29jaWF0
ZWRCaW5kaW5nLnByb3RvdHlwZS5zZXRDb25uZWN0aW9uRXJyb3JIYW5kbGVyID0gZnVuY3Rpb24o
Y2FsbGJhY2spIHsKLSAgICBpZiAoIXRoaXMuaXNCb3VuZCgpKSB7Ci0gICAgICB0aHJvdyBuZXcg
RXJyb3IoIkNhbm5vdCBzZXQgY29ubmVjdGlvbiBlcnJvciBoYW5kbGVyIGlmIG5vdCBib3VuZC4i
KTsKLSAgICB9Ci0gICAgdGhpcy5pbnRlcmZhY2VFbmRwb2ludENsaWVudF8uc2V0Q29ubmVjdGlv
bkVycm9ySGFuZGxlcihjYWxsYmFjayk7Ci0gIH07Ci0KLSAgQXNzb2NpYXRlZEJpbmRpbmcucHJv
dG90eXBlLnVuYmluZCA9IGZ1bmN0aW9uKCkgewotICAgIGlmICghdGhpcy5pc0JvdW5kKCkpIHsK
LSAgICAgIHJldHVybiBuZXcgbW9qby5Bc3NvY2lhdGVkSW50ZXJmYWNlUmVxdWVzdChudWxsKTsK
LSAgICB9Ci0KLSAgICB2YXIgcmVzdWx0ID0gbmV3IG1vam8uQXNzb2NpYXRlZEludGVyZmFjZVJl
cXVlc3QoCi0gICAgICAgIHRoaXMuaW50ZXJmYWNlRW5kcG9pbnRDbGllbnRfLnBhc3NIYW5kbGUo
KSk7Ci0gICAgdGhpcy5jbG9zZSgpOwotICAgIHJldHVybiByZXN1bHQ7Ci0gIH07Ci0KLSAgLy8g
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tCi0KLSAgZnVuY3Rpb24gQXNzb2NpYXRlZEJpbmRpbmdTZXQoaW50
ZXJmYWNlVHlwZSkgewotICAgIG1vam8uQmluZGluZ1NldC5jYWxsKHRoaXMsIGludGVyZmFjZVR5
cGUpOwotICAgIHRoaXMuYmluZGluZ1R5cGVfID0gQXNzb2NpYXRlZEJpbmRpbmc7Ci0gIH0KLQot
ICBBc3NvY2lhdGVkQmluZGluZ1NldC5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKEJpbmRpbmdT
ZXQucHJvdG90eXBlKTsKLSAgQXNzb2NpYXRlZEJpbmRpbmdTZXQucHJvdG90eXBlLmNvbnN0cnVj
dG9yID0gQXNzb2NpYXRlZEJpbmRpbmdTZXQ7Ci0KLSAgbW9qby5tYWtlUmVxdWVzdCA9IG1ha2VS
ZXF1ZXN0OwotICBtb2pvLkFzc29jaWF0ZWRJbnRlcmZhY2VQdHJDb250cm9sbGVyID0gQXNzb2Np
YXRlZEludGVyZmFjZVB0ckNvbnRyb2xsZXI7Ci0gIG1vam8uQXNzb2NpYXRlZEJpbmRpbmcgPSBB
c3NvY2lhdGVkQmluZGluZzsKLSAgbW9qby5Bc3NvY2lhdGVkQmluZGluZ1NldCA9IEFzc29jaWF0
ZWRCaW5kaW5nU2V0OwotICBtb2pvLkJpbmRpbmcgPSBCaW5kaW5nOwotICBtb2pvLkJpbmRpbmdT
ZXQgPSBCaW5kaW5nU2V0OwotICBtb2pvLkludGVyZmFjZVB0ckNvbnRyb2xsZXIgPSBJbnRlcmZh
Y2VQdHJDb250cm9sbGVyOwotfSkoKTsKLS8vIENvcHlyaWdodCAyMDE2IFRoZSBDaHJvbWl1bSBB
dXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotLy8gVXNlIG9mIHRoaXMgc291cmNlIGNvZGUg
aXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQotLy8gZm91bmQg
aW4gdGhlIExJQ0VOU0UgZmlsZS4KLQotKGZ1bmN0aW9uKCkgewotICB2YXIgaW50ZXJuYWwgPSBt
b2pvLmludGVybmFsOwotCi0gIC8vIENvbnN0YW50cyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gIHZhciBrSW50ZXJmYWNl
SWROYW1lc3BhY2VNYXNrID0gMHg4MDAwMDAwMDsKLSAgdmFyIGtNYXN0ZXJJbnRlcmZhY2VJZCA9
IDB4MDAwMDAwMDA7Ci0gIHZhciBrSW52YWxpZEludGVyZmFjZUlkID0gMHhGRkZGRkZGRjsKLQot
ICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLQotICBmdW5jdGlvbiBJbnRlcmZhY2VQdHJJbmZvKGhh
bmRsZSwgdmVyc2lvbikgewotICAgIHRoaXMuaGFuZGxlID0gaGFuZGxlOwotICAgIHRoaXMudmVy
c2lvbiA9IHZlcnNpb247Ci0gIH0KLQotICBJbnRlcmZhY2VQdHJJbmZvLnByb3RvdHlwZS5pc1Zh
bGlkID0gZnVuY3Rpb24oKSB7Ci0gICAgcmV0dXJuIHRoaXMuaGFuZGxlIGluc3RhbmNlb2YgTW9q
b0hhbmRsZTsKLSAgfTsKLQotICBJbnRlcmZhY2VQdHJJbmZvLnByb3RvdHlwZS5jbG9zZSA9IGZ1
bmN0aW9uKCkgewotICAgIGlmICghdGhpcy5pc1ZhbGlkKCkpCi0gICAgICByZXR1cm47Ci0KLSAg
ICB0aGlzLmhhbmRsZS5jbG9zZSgpOwotICAgIHRoaXMuaGFuZGxlID0gbnVsbDsKLSAgICB0aGlz
LnZlcnNpb24gPSAwOwotICB9OwotCi0gIGZ1bmN0aW9uIEFzc29jaWF0ZWRJbnRlcmZhY2VQdHJJ
bmZvKGludGVyZmFjZUVuZHBvaW50SGFuZGxlLCB2ZXJzaW9uKSB7Ci0gICAgdGhpcy5pbnRlcmZh
Y2VFbmRwb2ludEhhbmRsZSA9IGludGVyZmFjZUVuZHBvaW50SGFuZGxlOwotICAgIHRoaXMudmVy
c2lvbiA9IHZlcnNpb247Ci0gIH0KLQotICBBc3NvY2lhdGVkSW50ZXJmYWNlUHRySW5mby5wcm90
b3R5cGUuaXNWYWxpZCA9IGZ1bmN0aW9uKCkgewotICAgIHJldHVybiB0aGlzLmludGVyZmFjZUVu
ZHBvaW50SGFuZGxlLmlzVmFsaWQoKTsKLSAgfTsKLQotICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K
LQotICBmdW5jdGlvbiBJbnRlcmZhY2VSZXF1ZXN0KGhhbmRsZSkgewotICAgIHRoaXMuaGFuZGxl
ID0gaGFuZGxlOwotICB9Ci0KLSAgSW50ZXJmYWNlUmVxdWVzdC5wcm90b3R5cGUuaXNWYWxpZCA9
IGZ1bmN0aW9uKCkgewotICAgIHJldHVybiB0aGlzLmhhbmRsZSBpbnN0YW5jZW9mIE1vam9IYW5k
bGU7Ci0gIH07Ci0KLSAgSW50ZXJmYWNlUmVxdWVzdC5wcm90b3R5cGUuY2xvc2UgPSBmdW5jdGlv
bigpIHsKLSAgICBpZiAoIXRoaXMuaXNWYWxpZCgpKQotICAgICAgcmV0dXJuOwotCi0gICAgdGhp
cy5oYW5kbGUuY2xvc2UoKTsKLSAgICB0aGlzLmhhbmRsZSA9IG51bGw7Ci0gIH07Ci0KLSAgZnVu
Y3Rpb24gQXNzb2NpYXRlZEludGVyZmFjZVJlcXVlc3QoaW50ZXJmYWNlRW5kcG9pbnRIYW5kbGUp
IHsKLSAgICB0aGlzLmludGVyZmFjZUVuZHBvaW50SGFuZGxlID0gaW50ZXJmYWNlRW5kcG9pbnRI
YW5kbGU7Ci0gIH0KLQotICBBc3NvY2lhdGVkSW50ZXJmYWNlUmVxdWVzdC5wcm90b3R5cGUuaXNW
YWxpZCA9IGZ1bmN0aW9uKCkgewotICAgIHJldHVybiB0aGlzLmludGVyZmFjZUVuZHBvaW50SGFu
ZGxlLmlzVmFsaWQoKTsKLSAgfTsKLQotICBBc3NvY2lhdGVkSW50ZXJmYWNlUmVxdWVzdC5wcm90
b3R5cGUucmVzZXRXaXRoUmVhc29uID0gZnVuY3Rpb24ocmVhc29uKSB7Ci0gICAgdGhpcy5pbnRl
cmZhY2VFbmRwb2ludEhhbmRsZS5yZXNldChyZWFzb24pOwotICB9OwotCi0gIGZ1bmN0aW9uIGlz
TWFzdGVySW50ZXJmYWNlSWQoaW50ZXJmYWNlSWQpIHsKLSAgICByZXR1cm4gaW50ZXJmYWNlSWQg
PT09IGtNYXN0ZXJJbnRlcmZhY2VJZDsKLSAgfQotCi0gIGZ1bmN0aW9uIGlzVmFsaWRJbnRlcmZh
Y2VJZChpbnRlcmZhY2VJZCkgewotICAgIHJldHVybiBpbnRlcmZhY2VJZCAhPT0ga0ludmFsaWRJ
bnRlcmZhY2VJZDsKLSAgfQotCi0gIGZ1bmN0aW9uIGhhc0ludGVyZmFjZUlkTmFtZXNwYWNlQml0
U2V0KGludGVyZmFjZUlkKSB7Ci0gICAgaWYgKGludGVyZmFjZUlkID49IDIgKiBrSW50ZXJmYWNl
SWROYW1lc3BhY2VNYXNrKSB7Ci0gICAgICB0aHJvdyBuZXcgRXJyb3IoIkludGVyZmFjZSBJRCBz
aG91bGQgYmUgYSAzMi1iaXQgdW5zaWduZWQgaW50ZWdlci4iKTsKLSAgICB9Ci0gICAgcmV0dXJu
IGludGVyZmFjZUlkID49IGtJbnRlcmZhY2VJZE5hbWVzcGFjZU1hc2s7Ci0gIH0KLQotICBtb2pv
LkludGVyZmFjZVB0ckluZm8gPSBJbnRlcmZhY2VQdHJJbmZvOwotICBtb2pvLkludGVyZmFjZVJl
cXVlc3QgPSBJbnRlcmZhY2VSZXF1ZXN0OwotICBtb2pvLkFzc29jaWF0ZWRJbnRlcmZhY2VQdHJJ
bmZvID0gQXNzb2NpYXRlZEludGVyZmFjZVB0ckluZm87Ci0gIG1vam8uQXNzb2NpYXRlZEludGVy
ZmFjZVJlcXVlc3QgPSBBc3NvY2lhdGVkSW50ZXJmYWNlUmVxdWVzdDsKLSAgaW50ZXJuYWwuaXNN
YXN0ZXJJbnRlcmZhY2VJZCA9IGlzTWFzdGVySW50ZXJmYWNlSWQ7Ci0gIGludGVybmFsLmlzVmFs
aWRJbnRlcmZhY2VJZCA9IGlzVmFsaWRJbnRlcmZhY2VJZDsKLSAgaW50ZXJuYWwuaGFzSW50ZXJm
YWNlSWROYW1lc3BhY2VCaXRTZXQgPSBoYXNJbnRlcmZhY2VJZE5hbWVzcGFjZUJpdFNldDsKLSAg
aW50ZXJuYWwua0ludmFsaWRJbnRlcmZhY2VJZCA9IGtJbnZhbGlkSW50ZXJmYWNlSWQ7Ci0gIGlu
dGVybmFsLmtNYXN0ZXJJbnRlcmZhY2VJZCA9IGtNYXN0ZXJJbnRlcmZhY2VJZDsKLSAgaW50ZXJu
YWwua0ludGVyZmFjZUlkTmFtZXNwYWNlTWFzayA9IGtJbnRlcmZhY2VJZE5hbWVzcGFjZU1hc2s7
Ci19KSgpOwotLy8gQ29weXJpZ2h0IDIwMTQgVGhlIENocm9taXVtIEF1dGhvcnMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCi0vLyBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBh
IEJTRC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCi0vLyBmb3VuZCBpbiB0aGUgTElDRU5TRSBm
aWxlLgotCi0oZnVuY3Rpb24oKSB7Ci0gIHZhciBpbnRlcm5hbCA9IG1vam8uaW50ZXJuYWw7Ci0K
LSAgdmFyIGtIb3N0SXNMaXR0bGVFbmRpYW4gPSAoZnVuY3Rpb24gKCkgewotICAgIHZhciBlbmRp
YW5BcnJheUJ1ZmZlciA9IG5ldyBBcnJheUJ1ZmZlcigyKTsKLSAgICB2YXIgZW5kaWFuVWludDhB
cnJheSA9IG5ldyBVaW50OEFycmF5KGVuZGlhbkFycmF5QnVmZmVyKTsKLSAgICB2YXIgZW5kaWFu
VWludDE2QXJyYXkgPSBuZXcgVWludDE2QXJyYXkoZW5kaWFuQXJyYXlCdWZmZXIpOwotICAgIGVu
ZGlhblVpbnQxNkFycmF5WzBdID0gMTsKLSAgICByZXR1cm4gZW5kaWFuVWludDhBcnJheVswXSA9
PSAxOwotICB9KSgpOwotCi0gIHZhciBrSGlnaFdvcmRNdWx0aXBsaWVyID0gMHgxMDAwMDAwMDA7
Ci0KLSAgZnVuY3Rpb24gQnVmZmVyKHNpemVPckFycmF5QnVmZmVyKSB7Ci0gICAgaWYgKHNpemVP
ckFycmF5QnVmZmVyIGluc3RhbmNlb2YgQXJyYXlCdWZmZXIpCi0gICAgICB0aGlzLmFycmF5QnVm
ZmVyID0gc2l6ZU9yQXJyYXlCdWZmZXI7Ci0gICAgZWxzZQotICAgICAgdGhpcy5hcnJheUJ1ZmZl
ciA9IG5ldyBBcnJheUJ1ZmZlcihzaXplT3JBcnJheUJ1ZmZlcik7Ci0KLSAgICB0aGlzLmRhdGFW
aWV3ID0gbmV3IERhdGFWaWV3KHRoaXMuYXJyYXlCdWZmZXIpOwotICAgIHRoaXMubmV4dCA9IDA7
Ci0gIH0KLQotICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQnVmZmVyLnByb3RvdHlwZSwgImJ5dGVM
ZW5ndGgiLCB7Ci0gICAgZ2V0OiBmdW5jdGlvbigpIHsgcmV0dXJuIHRoaXMuYXJyYXlCdWZmZXIu
Ynl0ZUxlbmd0aDsgfQotICB9KTsKLQotICBCdWZmZXIucHJvdG90eXBlLmFsbG9jID0gZnVuY3Rp
b24oc2l6ZSkgewotICAgIHZhciBwb2ludGVyID0gdGhpcy5uZXh0OwotICAgIHRoaXMubmV4dCAr
PSBzaXplOwotICAgIGlmICh0aGlzLm5leHQgPiB0aGlzLmJ5dGVMZW5ndGgpIHsKLSAgICAgIHZh
ciBuZXdTaXplID0gKDEuNSAqICh0aGlzLmJ5dGVMZW5ndGggKyBzaXplKSkgfCAwOwotICAgICAg
dGhpcy5ncm93KG5ld1NpemUpOwotICAgIH0KLSAgICByZXR1cm4gcG9pbnRlcjsKLSAgfTsKLQot
ICBmdW5jdGlvbiBjb3B5QXJyYXlCdWZmZXIoZHN0QXJyYXlCdWZmZXIsIHNyY0FycmF5QnVmZmVy
KSB7Ci0gICAgKG5ldyBVaW50OEFycmF5KGRzdEFycmF5QnVmZmVyKSkuc2V0KG5ldyBVaW50OEFy
cmF5KHNyY0FycmF5QnVmZmVyKSk7Ci0gIH0KLQotICBCdWZmZXIucHJvdG90eXBlLmdyb3cgPSBm
dW5jdGlvbihzaXplKSB7Ci0gICAgdmFyIG5ld0FycmF5QnVmZmVyID0gbmV3IEFycmF5QnVmZmVy
KHNpemUpOwotICAgIGNvcHlBcnJheUJ1ZmZlcihuZXdBcnJheUJ1ZmZlciwgdGhpcy5hcnJheUJ1
ZmZlcik7Ci0gICAgdGhpcy5hcnJheUJ1ZmZlciA9IG5ld0FycmF5QnVmZmVyOwotICAgIHRoaXMu
ZGF0YVZpZXcgPSBuZXcgRGF0YVZpZXcodGhpcy5hcnJheUJ1ZmZlcik7Ci0gIH07Ci0KLSAgQnVm
ZmVyLnByb3RvdHlwZS50cmltID0gZnVuY3Rpb24oKSB7Ci0gICAgdGhpcy5hcnJheUJ1ZmZlciA9
IHRoaXMuYXJyYXlCdWZmZXIuc2xpY2UoMCwgdGhpcy5uZXh0KTsKLSAgICB0aGlzLmRhdGFWaWV3
ID0gbmV3IERhdGFWaWV3KHRoaXMuYXJyYXlCdWZmZXIpOwotICB9OwotCi0gIEJ1ZmZlci5wcm90
b3R5cGUuZ2V0VWludDggPSBmdW5jdGlvbihvZmZzZXQpIHsKLSAgICByZXR1cm4gdGhpcy5kYXRh
Vmlldy5nZXRVaW50OChvZmZzZXQpOwotICB9Ci0gIEJ1ZmZlci5wcm90b3R5cGUuZ2V0VWludDE2
ID0gZnVuY3Rpb24ob2Zmc2V0KSB7Ci0gICAgcmV0dXJuIHRoaXMuZGF0YVZpZXcuZ2V0VWludDE2
KG9mZnNldCwga0hvc3RJc0xpdHRsZUVuZGlhbik7Ci0gIH0KLSAgQnVmZmVyLnByb3RvdHlwZS5n
ZXRVaW50MzIgPSBmdW5jdGlvbihvZmZzZXQpIHsKLSAgICByZXR1cm4gdGhpcy5kYXRhVmlldy5n
ZXRVaW50MzIob2Zmc2V0LCBrSG9zdElzTGl0dGxlRW5kaWFuKTsKLSAgfQotICBCdWZmZXIucHJv
dG90eXBlLmdldFVpbnQ2NCA9IGZ1bmN0aW9uKG9mZnNldCkgewotICAgIHZhciBsbywgaGk7Ci0g
ICAgaWYgKGtIb3N0SXNMaXR0bGVFbmRpYW4pIHsKLSAgICAgIGxvID0gdGhpcy5kYXRhVmlldy5n
ZXRVaW50MzIob2Zmc2V0LCBrSG9zdElzTGl0dGxlRW5kaWFuKTsKLSAgICAgIGhpID0gdGhpcy5k
YXRhVmlldy5nZXRVaW50MzIob2Zmc2V0ICsgNCwga0hvc3RJc0xpdHRsZUVuZGlhbik7Ci0gICAg
fSBlbHNlIHsKLSAgICAgIGhpID0gdGhpcy5kYXRhVmlldy5nZXRVaW50MzIob2Zmc2V0LCBrSG9z
dElzTGl0dGxlRW5kaWFuKTsKLSAgICAgIGxvID0gdGhpcy5kYXRhVmlldy5nZXRVaW50MzIob2Zm
c2V0ICsgNCwga0hvc3RJc0xpdHRsZUVuZGlhbik7Ci0gICAgfQotICAgIHJldHVybiBsbyArIGhp
ICoga0hpZ2hXb3JkTXVsdGlwbGllcjsKLSAgfQotCi0gIEJ1ZmZlci5wcm90b3R5cGUuZ2V0SW50
OCA9IGZ1bmN0aW9uKG9mZnNldCkgewotICAgIHJldHVybiB0aGlzLmRhdGFWaWV3LmdldEludDgo
b2Zmc2V0KTsKLSAgfQotICBCdWZmZXIucHJvdG90eXBlLmdldEludDE2ID0gZnVuY3Rpb24ob2Zm
c2V0KSB7Ci0gICAgcmV0dXJuIHRoaXMuZGF0YVZpZXcuZ2V0SW50MTYob2Zmc2V0LCBrSG9zdElz
TGl0dGxlRW5kaWFuKTsKLSAgfQotICBCdWZmZXIucHJvdG90eXBlLmdldEludDMyID0gZnVuY3Rp
b24ob2Zmc2V0KSB7Ci0gICAgcmV0dXJuIHRoaXMuZGF0YVZpZXcuZ2V0SW50MzIob2Zmc2V0LCBr
SG9zdElzTGl0dGxlRW5kaWFuKTsKLSAgfQotICBCdWZmZXIucHJvdG90eXBlLmdldEludDY0ID0g
ZnVuY3Rpb24ob2Zmc2V0KSB7Ci0gICAgdmFyIGxvLCBoaTsKLSAgICBpZiAoa0hvc3RJc0xpdHRs
ZUVuZGlhbikgewotICAgICAgbG8gPSB0aGlzLmRhdGFWaWV3LmdldFVpbnQzMihvZmZzZXQsIGtI
b3N0SXNMaXR0bGVFbmRpYW4pOwotICAgICAgaGkgPSB0aGlzLmRhdGFWaWV3LmdldEludDMyKG9m
ZnNldCArIDQsIGtIb3N0SXNMaXR0bGVFbmRpYW4pOwotICAgIH0gZWxzZSB7Ci0gICAgICBoaSA9
IHRoaXMuZGF0YVZpZXcuZ2V0SW50MzIob2Zmc2V0LCBrSG9zdElzTGl0dGxlRW5kaWFuKTsKLSAg
ICAgIGxvID0gdGhpcy5kYXRhVmlldy5nZXRVaW50MzIob2Zmc2V0ICsgNCwga0hvc3RJc0xpdHRs
ZUVuZGlhbik7Ci0gICAgfQotICAgIHJldHVybiBsbyArIGhpICoga0hpZ2hXb3JkTXVsdGlwbGll
cjsKLSAgfQotCi0gIEJ1ZmZlci5wcm90b3R5cGUuZ2V0RmxvYXQzMiA9IGZ1bmN0aW9uKG9mZnNl
dCkgewotICAgIHJldHVybiB0aGlzLmRhdGFWaWV3LmdldEZsb2F0MzIob2Zmc2V0LCBrSG9zdElz
TGl0dGxlRW5kaWFuKTsKLSAgfQotICBCdWZmZXIucHJvdG90eXBlLmdldEZsb2F0NjQgPSBmdW5j
dGlvbihvZmZzZXQpIHsKLSAgICByZXR1cm4gdGhpcy5kYXRhVmlldy5nZXRGbG9hdDY0KG9mZnNl
dCwga0hvc3RJc0xpdHRsZUVuZGlhbik7Ci0gIH0KLQotICBCdWZmZXIucHJvdG90eXBlLnNldFVp
bnQ4ID0gZnVuY3Rpb24ob2Zmc2V0LCB2YWx1ZSkgewotICAgIHRoaXMuZGF0YVZpZXcuc2V0VWlu
dDgob2Zmc2V0LCB2YWx1ZSk7Ci0gIH0KLSAgQnVmZmVyLnByb3RvdHlwZS5zZXRVaW50MTYgPSBm
dW5jdGlvbihvZmZzZXQsIHZhbHVlKSB7Ci0gICAgdGhpcy5kYXRhVmlldy5zZXRVaW50MTYob2Zm
c2V0LCB2YWx1ZSwga0hvc3RJc0xpdHRsZUVuZGlhbik7Ci0gIH0KLSAgQnVmZmVyLnByb3RvdHlw
ZS5zZXRVaW50MzIgPSBmdW5jdGlvbihvZmZzZXQsIHZhbHVlKSB7Ci0gICAgdGhpcy5kYXRhVmll
dy5zZXRVaW50MzIob2Zmc2V0LCB2YWx1ZSwga0hvc3RJc0xpdHRsZUVuZGlhbik7Ci0gIH0KLSAg
QnVmZmVyLnByb3RvdHlwZS5zZXRVaW50NjQgPSBmdW5jdGlvbihvZmZzZXQsIHZhbHVlKSB7Ci0g
ICAgdmFyIGhpID0gKHZhbHVlIC8ga0hpZ2hXb3JkTXVsdGlwbGllcikgfCAwOwotICAgIGlmIChr
SG9zdElzTGl0dGxlRW5kaWFuKSB7Ci0gICAgICB0aGlzLmRhdGFWaWV3LnNldEludDMyKG9mZnNl
dCwgdmFsdWUsIGtIb3N0SXNMaXR0bGVFbmRpYW4pOwotICAgICAgdGhpcy5kYXRhVmlldy5zZXRJ
bnQzMihvZmZzZXQgKyA0LCBoaSwga0hvc3RJc0xpdHRsZUVuZGlhbik7Ci0gICAgfSBlbHNlIHsK
LSAgICAgIHRoaXMuZGF0YVZpZXcuc2V0SW50MzIob2Zmc2V0LCBoaSwga0hvc3RJc0xpdHRsZUVu
ZGlhbik7Ci0gICAgICB0aGlzLmRhdGFWaWV3LnNldEludDMyKG9mZnNldCArIDQsIHZhbHVlLCBr
SG9zdElzTGl0dGxlRW5kaWFuKTsKLSAgICB9Ci0gIH0KLQotICBCdWZmZXIucHJvdG90eXBlLnNl
dEludDggPSBmdW5jdGlvbihvZmZzZXQsIHZhbHVlKSB7Ci0gICAgdGhpcy5kYXRhVmlldy5zZXRJ
bnQ4KG9mZnNldCwgdmFsdWUpOwotICB9Ci0gIEJ1ZmZlci5wcm90b3R5cGUuc2V0SW50MTYgPSBm
dW5jdGlvbihvZmZzZXQsIHZhbHVlKSB7Ci0gICAgdGhpcy5kYXRhVmlldy5zZXRJbnQxNihvZmZz
ZXQsIHZhbHVlLCBrSG9zdElzTGl0dGxlRW5kaWFuKTsKLSAgfQotICBCdWZmZXIucHJvdG90eXBl
LnNldEludDMyID0gZnVuY3Rpb24ob2Zmc2V0LCB2YWx1ZSkgewotICAgIHRoaXMuZGF0YVZpZXcu
c2V0SW50MzIob2Zmc2V0LCB2YWx1ZSwga0hvc3RJc0xpdHRsZUVuZGlhbik7Ci0gIH0KLSAgQnVm
ZmVyLnByb3RvdHlwZS5zZXRJbnQ2NCA9IGZ1bmN0aW9uKG9mZnNldCwgdmFsdWUpIHsKLSAgICB2
YXIgaGkgPSBNYXRoLmZsb29yKHZhbHVlIC8ga0hpZ2hXb3JkTXVsdGlwbGllcik7Ci0gICAgaWYg
KGtIb3N0SXNMaXR0bGVFbmRpYW4pIHsKLSAgICAgIHRoaXMuZGF0YVZpZXcuc2V0SW50MzIob2Zm
c2V0LCB2YWx1ZSwga0hvc3RJc0xpdHRsZUVuZGlhbik7Ci0gICAgICB0aGlzLmRhdGFWaWV3LnNl
dEludDMyKG9mZnNldCArIDQsIGhpLCBrSG9zdElzTGl0dGxlRW5kaWFuKTsKLSAgICB9IGVsc2Ug
ewotICAgICAgdGhpcy5kYXRhVmlldy5zZXRJbnQzMihvZmZzZXQsIGhpLCBrSG9zdElzTGl0dGxl
RW5kaWFuKTsKLSAgICAgIHRoaXMuZGF0YVZpZXcuc2V0SW50MzIob2Zmc2V0ICsgNCwgdmFsdWUs
IGtIb3N0SXNMaXR0bGVFbmRpYW4pOwotICAgIH0KLSAgfQotCi0gIEJ1ZmZlci5wcm90b3R5cGUu
c2V0RmxvYXQzMiA9IGZ1bmN0aW9uKG9mZnNldCwgdmFsdWUpIHsKLSAgICB0aGlzLmRhdGFWaWV3
LnNldEZsb2F0MzIob2Zmc2V0LCB2YWx1ZSwga0hvc3RJc0xpdHRsZUVuZGlhbik7Ci0gIH0KLSAg
QnVmZmVyLnByb3RvdHlwZS5zZXRGbG9hdDY0ID0gZnVuY3Rpb24ob2Zmc2V0LCB2YWx1ZSkgewot
ICAgIHRoaXMuZGF0YVZpZXcuc2V0RmxvYXQ2NChvZmZzZXQsIHZhbHVlLCBrSG9zdElzTGl0dGxl
RW5kaWFuKTsKLSAgfQotCi0gIGludGVybmFsLkJ1ZmZlciA9IEJ1ZmZlcjsKLX0pKCk7Ci0vLyBD
b3B5cmlnaHQgMjAxNCBUaGUgQ2hyb21pdW0gQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
LS8vIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlIGxp
Y2Vuc2UgdGhhdCBjYW4gYmUKLS8vIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCi0KLShmdW5j
dGlvbigpIHsKLSAgdmFyIGludGVybmFsID0gbW9qby5pbnRlcm5hbDsKLQotICB2YXIga0Vycm9y
VW5zaWduZWQgPSAiUGFzc2luZyBuZWdhdGl2ZSB2YWx1ZSB0byB1bnNpZ25lZCI7Ci0gIHZhciBr
RXJyb3JBcnJheSA9ICJQYXNzaW5nIG5vbiBBcnJheSBmb3IgYXJyYXkgdHlwZSI7Ci0gIHZhciBr
RXJyb3JTdHJpbmcgPSAiUGFzc2luZyBub24gU3RyaW5nIGZvciBzdHJpbmcgdHlwZSI7Ci0gIHZh
ciBrRXJyb3JNYXAgPSAiUGFzc2luZyBub24gTWFwIGZvciBtYXAgdHlwZSI7Ci0KLSAgLy8gTWVt
b3J5IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0KLQotICB2YXIga0FsaWdubWVudCA9IDg7Ci0KLSAgZnVuY3Rpb24gYWxp
Z24oc2l6ZSkgewotICAgIHJldHVybiBzaXplICsgKGtBbGlnbm1lbnQgLSAoc2l6ZSAlIGtBbGln
bm1lbnQpKSAlIGtBbGlnbm1lbnQ7Ci0gIH0KLQotICBmdW5jdGlvbiBpc0FsaWduZWQob2Zmc2V0
KSB7Ci0gICAgcmV0dXJuIG9mZnNldCA+PSAwICYmIChvZmZzZXQgJSBrQWxpZ25tZW50KSA9PT0g
MDsKLSAgfQotCi0gIC8vIENvbnN0YW50cyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0KLSAgdmFyIGtBcnJheUhlYWRlclNp
emUgPSA4OwotICB2YXIga1N0cnVjdEhlYWRlclNpemUgPSA4OwotICB2YXIga01lc3NhZ2VWMEhl
YWRlclNpemUgPSAyNDsKLSAgdmFyIGtNZXNzYWdlVjFIZWFkZXJTaXplID0gMzI7Ci0gIHZhciBr
TWVzc2FnZVYySGVhZGVyU2l6ZSA9IDQ4OwotICB2YXIga01hcFN0cnVjdFBheWxvYWRTaXplID0g
MTY7Ci0KLSAgdmFyIGtTdHJ1Y3RIZWFkZXJOdW1CeXRlc09mZnNldCA9IDA7Ci0gIHZhciBrU3Ry
dWN0SGVhZGVyVmVyc2lvbk9mZnNldCA9IDQ7Ci0KLSAgdmFyIGtFbmNvZGVkSW52YWxpZEhhbmRs
ZVZhbHVlID0gMHhGRkZGRkZGRjsKLQotICAvLyBEZWNvZGVyIC0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotCi0gIGZ1bmN0
aW9uIERlY29kZXIoYnVmZmVyLCBoYW5kbGVzLCBhc3NvY2lhdGVkRW5kcG9pbnRIYW5kbGVzLCBi
YXNlKSB7Ci0gICAgdGhpcy5idWZmZXIgPSBidWZmZXI7Ci0gICAgdGhpcy5oYW5kbGVzID0gaGFu
ZGxlczsKLSAgICB0aGlzLmFzc29jaWF0ZWRFbmRwb2ludEhhbmRsZXMgPSBhc3NvY2lhdGVkRW5k
cG9pbnRIYW5kbGVzOwotICAgIHRoaXMuYmFzZSA9IGJhc2U7Ci0gICAgdGhpcy5uZXh0ID0gYmFz
ZTsKLSAgfQotCi0gIERlY29kZXIucHJvdG90eXBlLmFsaWduID0gZnVuY3Rpb24oKSB7Ci0gICAg
dGhpcy5uZXh0ID0gYWxpZ24odGhpcy5uZXh0KTsKLSAgfTsKLQotICBEZWNvZGVyLnByb3RvdHlw
ZS5za2lwID0gZnVuY3Rpb24ob2Zmc2V0KSB7Ci0gICAgdGhpcy5uZXh0ICs9IG9mZnNldDsKLSAg
fTsKLQotICBEZWNvZGVyLnByb3RvdHlwZS5yZWFkSW50OCA9IGZ1bmN0aW9uKCkgewotICAgIHZh
ciByZXN1bHQgPSB0aGlzLmJ1ZmZlci5nZXRJbnQ4KHRoaXMubmV4dCk7Ci0gICAgdGhpcy5uZXh0
ICs9IDE7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLSAgfTsKLQotICBEZWNvZGVyLnByb3RvdHlwZS5y
ZWFkVWludDggPSBmdW5jdGlvbigpIHsKLSAgICB2YXIgcmVzdWx0ID0gdGhpcy5idWZmZXIuZ2V0
VWludDgodGhpcy5uZXh0KTsKLSAgICB0aGlzLm5leHQgKz0gMTsKLSAgICByZXR1cm4gcmVzdWx0
OwotICB9OwotCi0gIERlY29kZXIucHJvdG90eXBlLnJlYWRJbnQxNiA9IGZ1bmN0aW9uKCkgewot
ICAgIHZhciByZXN1bHQgPSB0aGlzLmJ1ZmZlci5nZXRJbnQxNih0aGlzLm5leHQpOwotICAgIHRo
aXMubmV4dCArPSAyOwotICAgIHJldHVybiByZXN1bHQ7Ci0gIH07Ci0KLSAgRGVjb2Rlci5wcm90
b3R5cGUucmVhZFVpbnQxNiA9IGZ1bmN0aW9uKCkgewotICAgIHZhciByZXN1bHQgPSB0aGlzLmJ1
ZmZlci5nZXRVaW50MTYodGhpcy5uZXh0KTsKLSAgICB0aGlzLm5leHQgKz0gMjsKLSAgICByZXR1
cm4gcmVzdWx0OwotICB9OwotCi0gIERlY29kZXIucHJvdG90eXBlLnJlYWRJbnQzMiA9IGZ1bmN0
aW9uKCkgewotICAgIHZhciByZXN1bHQgPSB0aGlzLmJ1ZmZlci5nZXRJbnQzMih0aGlzLm5leHQp
OwotICAgIHRoaXMubmV4dCArPSA0OwotICAgIHJldHVybiByZXN1bHQ7Ci0gIH07Ci0KLSAgRGVj
b2Rlci5wcm90b3R5cGUucmVhZFVpbnQzMiA9IGZ1bmN0aW9uKCkgewotICAgIHZhciByZXN1bHQg
PSB0aGlzLmJ1ZmZlci5nZXRVaW50MzIodGhpcy5uZXh0KTsKLSAgICB0aGlzLm5leHQgKz0gNDsK
LSAgICByZXR1cm4gcmVzdWx0OwotICB9OwotCi0gIERlY29kZXIucHJvdG90eXBlLnJlYWRJbnQ2
NCA9IGZ1bmN0aW9uKCkgewotICAgIHZhciByZXN1bHQgPSB0aGlzLmJ1ZmZlci5nZXRJbnQ2NCh0
aGlzLm5leHQpOwotICAgIHRoaXMubmV4dCArPSA4OwotICAgIHJldHVybiByZXN1bHQ7Ci0gIH07
Ci0KLSAgRGVjb2Rlci5wcm90b3R5cGUucmVhZFVpbnQ2NCA9IGZ1bmN0aW9uKCkgewotICAgIHZh
ciByZXN1bHQgPSB0aGlzLmJ1ZmZlci5nZXRVaW50NjQodGhpcy5uZXh0KTsKLSAgICB0aGlzLm5l
eHQgKz0gODsKLSAgICByZXR1cm4gcmVzdWx0OwotICB9OwotCi0gIERlY29kZXIucHJvdG90eXBl
LnJlYWRGbG9hdCA9IGZ1bmN0aW9uKCkgewotICAgIHZhciByZXN1bHQgPSB0aGlzLmJ1ZmZlci5n
ZXRGbG9hdDMyKHRoaXMubmV4dCk7Ci0gICAgdGhpcy5uZXh0ICs9IDQ7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLSAgfTsKLQotICBEZWNvZGVyLnByb3RvdHlwZS5yZWFkRG91YmxlID0gZnVuY3Rpb24o
KSB7Ci0gICAgdmFyIHJlc3VsdCA9IHRoaXMuYnVmZmVyLmdldEZsb2F0NjQodGhpcy5uZXh0KTsK
LSAgICB0aGlzLm5leHQgKz0gODsKLSAgICByZXR1cm4gcmVzdWx0OwotICB9OwotCi0gIERlY29k
ZXIucHJvdG90eXBlLmRlY29kZVBvaW50ZXIgPSBmdW5jdGlvbigpIHsKLSAgICAvLyBUT0RPKGFi
YXJ0aCk6IFRvIGNvcnJlY3RseSBkZWNvZGUgYSBwb2ludGVyLCB3ZSBuZWVkIHRvIGtub3cgdGhl
IHJlYWwKLSAgICAvLyBiYXNlIGFkZHJlc3Mgb2YgdGhlIGFycmF5IGJ1ZmZlci4KLSAgICB2YXIg
b2Zmc2V0UG9pbnRlciA9IHRoaXMubmV4dDsKLSAgICB2YXIgb2Zmc2V0ID0gdGhpcy5yZWFkVWlu
dDY0KCk7Ci0gICAgaWYgKCFvZmZzZXQpCi0gICAgICByZXR1cm4gMDsKLSAgICByZXR1cm4gb2Zm
c2V0UG9pbnRlciArIG9mZnNldDsKLSAgfTsKLQotICBEZWNvZGVyLnByb3RvdHlwZS5kZWNvZGVB
bmRDcmVhdGVEZWNvZGVyID0gZnVuY3Rpb24ocG9pbnRlcikgewotICAgIHJldHVybiBuZXcgRGVj
b2Rlcih0aGlzLmJ1ZmZlciwgdGhpcy5oYW5kbGVzLAotICAgICAgICB0aGlzLmFzc29jaWF0ZWRF
bmRwb2ludEhhbmRsZXMsIHBvaW50ZXIpOwotICB9OwotCi0gIERlY29kZXIucHJvdG90eXBlLmRl
Y29kZUhhbmRsZSA9IGZ1bmN0aW9uKCkgewotICAgIHJldHVybiB0aGlzLmhhbmRsZXNbdGhpcy5y
ZWFkVWludDMyKCldIHx8IG51bGw7Ci0gIH07Ci0KLSAgRGVjb2Rlci5wcm90b3R5cGUuZGVjb2Rl
QXNzb2NpYXRlZEVuZHBvaW50SGFuZGxlID0gZnVuY3Rpb24oKSB7Ci0gICAgcmV0dXJuIHRoaXMu
YXNzb2NpYXRlZEVuZHBvaW50SGFuZGxlc1t0aGlzLnJlYWRVaW50MzIoKV0gfHwgbnVsbDsKLSAg
fTsKLQotICBEZWNvZGVyLnByb3RvdHlwZS5kZWNvZGVTdHJpbmcgPSBmdW5jdGlvbigpIHsKLSAg
ICB2YXIgbnVtYmVyT2ZCeXRlcyA9IHRoaXMucmVhZFVpbnQzMigpOwotICAgIHZhciBudW1iZXJP
ZkVsZW1lbnRzID0gdGhpcy5yZWFkVWludDMyKCk7Ci0gICAgdmFyIGJhc2UgPSB0aGlzLm5leHQ7
Ci0gICAgdGhpcy5uZXh0ICs9IG51bWJlck9mRWxlbWVudHM7Ci0gICAgcmV0dXJuIGludGVybmFs
LmRlY29kZVV0ZjhTdHJpbmcoCi0gICAgICAgIG5ldyBVaW50OEFycmF5KHRoaXMuYnVmZmVyLmFy
cmF5QnVmZmVyLCBiYXNlLCBudW1iZXJPZkVsZW1lbnRzKSk7Ci0gIH07Ci0KLSAgRGVjb2Rlci5w
cm90b3R5cGUuZGVjb2RlQXJyYXkgPSBmdW5jdGlvbihjbHMpIHsKLSAgICB2YXIgbnVtYmVyT2ZC
eXRlcyA9IHRoaXMucmVhZFVpbnQzMigpOwotICAgIHZhciBudW1iZXJPZkVsZW1lbnRzID0gdGhp
cy5yZWFkVWludDMyKCk7Ci0gICAgdmFyIHZhbCA9IG5ldyBBcnJheShudW1iZXJPZkVsZW1lbnRz
KTsKLSAgICBpZiAoY2xzID09PSBQYWNrZWRCb29sKSB7Ci0gICAgICB2YXIgYnl0ZTsKLSAgICAg
IGZvciAodmFyIGkgPSAwOyBpIDwgbnVtYmVyT2ZFbGVtZW50czsgKytpKSB7Ci0gICAgICAgIGlm
IChpICUgOCA9PT0gMCkKLSAgICAgICAgICBieXRlID0gdGhpcy5yZWFkVWludDgoKTsKLSAgICAg
ICAgdmFsW2ldID0gKGJ5dGUgJiAoMSA8PCBpICUgOCkpID8gdHJ1ZSA6IGZhbHNlOwotICAgICAg
fQotICAgIH0gZWxzZSB7Ci0gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IG51bWJlck9mRWxlbWVu
dHM7ICsraSkgewotICAgICAgICB2YWxbaV0gPSBjbHMuZGVjb2RlKHRoaXMpOwotICAgICAgfQot
ICAgIH0KLSAgICByZXR1cm4gdmFsOwotICB9OwotCi0gIERlY29kZXIucHJvdG90eXBlLmRlY29k
ZVN0cnVjdCA9IGZ1bmN0aW9uKGNscykgewotICAgIHJldHVybiBjbHMuZGVjb2RlKHRoaXMpOwot
ICB9OwotCi0gIERlY29kZXIucHJvdG90eXBlLmRlY29kZVN0cnVjdFBvaW50ZXIgPSBmdW5jdGlv
bihjbHMpIHsKLSAgICB2YXIgcG9pbnRlciA9IHRoaXMuZGVjb2RlUG9pbnRlcigpOwotICAgIGlm
ICghcG9pbnRlcikgewotICAgICAgcmV0dXJuIG51bGw7Ci0gICAgfQotICAgIHJldHVybiBjbHMu
ZGVjb2RlKHRoaXMuZGVjb2RlQW5kQ3JlYXRlRGVjb2Rlcihwb2ludGVyKSk7Ci0gIH07Ci0KLSAg
RGVjb2Rlci5wcm90b3R5cGUuZGVjb2RlQXJyYXlQb2ludGVyID0gZnVuY3Rpb24oY2xzKSB7Ci0g
ICAgdmFyIHBvaW50ZXIgPSB0aGlzLmRlY29kZVBvaW50ZXIoKTsKLSAgICBpZiAoIXBvaW50ZXIp
IHsKLSAgICAgIHJldHVybiBudWxsOwotICAgIH0KLSAgICByZXR1cm4gdGhpcy5kZWNvZGVBbmRD
cmVhdGVEZWNvZGVyKHBvaW50ZXIpLmRlY29kZUFycmF5KGNscyk7Ci0gIH07Ci0KLSAgRGVjb2Rl
ci5wcm90b3R5cGUuZGVjb2RlU3RyaW5nUG9pbnRlciA9IGZ1bmN0aW9uKCkgewotICAgIHZhciBw
b2ludGVyID0gdGhpcy5kZWNvZGVQb2ludGVyKCk7Ci0gICAgaWYgKCFwb2ludGVyKSB7Ci0gICAg
ICByZXR1cm4gbnVsbDsKLSAgICB9Ci0gICAgcmV0dXJuIHRoaXMuZGVjb2RlQW5kQ3JlYXRlRGVj
b2Rlcihwb2ludGVyKS5kZWNvZGVTdHJpbmcoKTsKLSAgfTsKLQotICBEZWNvZGVyLnByb3RvdHlw
ZS5kZWNvZGVNYXAgPSBmdW5jdGlvbihrZXlDbGFzcywgdmFsdWVDbGFzcykgewotICAgIHRoaXMu
c2tpcCg0KTsgLy8gbnVtYmVyT2ZCeXRlcwotICAgIHRoaXMuc2tpcCg0KTsgLy8gdmVyc2lvbgot
ICAgIHZhciBrZXlzID0gdGhpcy5kZWNvZGVBcnJheVBvaW50ZXIoa2V5Q2xhc3MpOwotICAgIHZh
ciB2YWx1ZXMgPSB0aGlzLmRlY29kZUFycmF5UG9pbnRlcih2YWx1ZUNsYXNzKTsKLSAgICB2YXIg
dmFsID0gbmV3IE1hcCgpOwotICAgIGZvciAodmFyIGkgPSAwOyBpIDwga2V5cy5sZW5ndGg7IGkr
KykKLSAgICAgIHZhbC5zZXQoa2V5c1tpXSwgdmFsdWVzW2ldKTsKLSAgICByZXR1cm4gdmFsOwot
ICB9OwotCi0gIERlY29kZXIucHJvdG90eXBlLmRlY29kZU1hcFBvaW50ZXIgPSBmdW5jdGlvbihr
ZXlDbGFzcywgdmFsdWVDbGFzcykgewotICAgIHZhciBwb2ludGVyID0gdGhpcy5kZWNvZGVQb2lu
dGVyKCk7Ci0gICAgaWYgKCFwb2ludGVyKSB7Ci0gICAgICByZXR1cm4gbnVsbDsKLSAgICB9Ci0g
ICAgdmFyIGRlY29kZXIgPSB0aGlzLmRlY29kZUFuZENyZWF0ZURlY29kZXIocG9pbnRlcik7Ci0g
ICAgcmV0dXJuIGRlY29kZXIuZGVjb2RlTWFwKGtleUNsYXNzLCB2YWx1ZUNsYXNzKTsKLSAgfTsK
LQotICAvLyBFbmNvZGVyIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotCi0gIGZ1bmN0aW9uIEVuY29kZXIoYnVmZmVyLCBo
YW5kbGVzLCBhc3NvY2lhdGVkRW5kcG9pbnRIYW5kbGVzLCBiYXNlKSB7Ci0gICAgdGhpcy5idWZm
ZXIgPSBidWZmZXI7Ci0gICAgdGhpcy5oYW5kbGVzID0gaGFuZGxlczsKLSAgICB0aGlzLmFzc29j
aWF0ZWRFbmRwb2ludEhhbmRsZXMgPSBhc3NvY2lhdGVkRW5kcG9pbnRIYW5kbGVzOwotICAgIHRo
aXMuYmFzZSA9IGJhc2U7Ci0gICAgdGhpcy5uZXh0ID0gYmFzZTsKLSAgfQotCi0gIEVuY29kZXIu
cHJvdG90eXBlLmFsaWduID0gZnVuY3Rpb24oKSB7Ci0gICAgdGhpcy5uZXh0ID0gYWxpZ24odGhp
cy5uZXh0KTsKLSAgfTsKLQotICBFbmNvZGVyLnByb3RvdHlwZS5za2lwID0gZnVuY3Rpb24ob2Zm
c2V0KSB7Ci0gICAgdGhpcy5uZXh0ICs9IG9mZnNldDsKLSAgfTsKLQotICBFbmNvZGVyLnByb3Rv
dHlwZS53cml0ZUludDggPSBmdW5jdGlvbih2YWwpIHsKLSAgICB0aGlzLmJ1ZmZlci5zZXRJbnQ4
KHRoaXMubmV4dCwgdmFsKTsKLSAgICB0aGlzLm5leHQgKz0gMTsKLSAgfTsKLQotICBFbmNvZGVy
LnByb3RvdHlwZS53cml0ZVVpbnQ4ID0gZnVuY3Rpb24odmFsKSB7Ci0gICAgaWYgKHZhbCA8IDAp
IHsKLSAgICAgIHRocm93IG5ldyBFcnJvcihrRXJyb3JVbnNpZ25lZCk7Ci0gICAgfQotICAgIHRo
aXMuYnVmZmVyLnNldFVpbnQ4KHRoaXMubmV4dCwgdmFsKTsKLSAgICB0aGlzLm5leHQgKz0gMTsK
LSAgfTsKLQotICBFbmNvZGVyLnByb3RvdHlwZS53cml0ZUludDE2ID0gZnVuY3Rpb24odmFsKSB7
Ci0gICAgdGhpcy5idWZmZXIuc2V0SW50MTYodGhpcy5uZXh0LCB2YWwpOwotICAgIHRoaXMubmV4
dCArPSAyOwotICB9OwotCi0gIEVuY29kZXIucHJvdG90eXBlLndyaXRlVWludDE2ID0gZnVuY3Rp
b24odmFsKSB7Ci0gICAgaWYgKHZhbCA8IDApIHsKLSAgICAgIHRocm93IG5ldyBFcnJvcihrRXJy
b3JVbnNpZ25lZCk7Ci0gICAgfQotICAgIHRoaXMuYnVmZmVyLnNldFVpbnQxNih0aGlzLm5leHQs
IHZhbCk7Ci0gICAgdGhpcy5uZXh0ICs9IDI7Ci0gIH07Ci0KLSAgRW5jb2Rlci5wcm90b3R5cGUu
d3JpdGVJbnQzMiA9IGZ1bmN0aW9uKHZhbCkgewotICAgIHRoaXMuYnVmZmVyLnNldEludDMyKHRo
aXMubmV4dCwgdmFsKTsKLSAgICB0aGlzLm5leHQgKz0gNDsKLSAgfTsKLQotICBFbmNvZGVyLnBy
b3RvdHlwZS53cml0ZVVpbnQzMiA9IGZ1bmN0aW9uKHZhbCkgewotICAgIGlmICh2YWwgPCAwKSB7
Ci0gICAgICB0aHJvdyBuZXcgRXJyb3Ioa0Vycm9yVW5zaWduZWQpOwotICAgIH0KLSAgICB0aGlz
LmJ1ZmZlci5zZXRVaW50MzIodGhpcy5uZXh0LCB2YWwpOwotICAgIHRoaXMubmV4dCArPSA0Owot
ICB9OwotCi0gIEVuY29kZXIucHJvdG90eXBlLndyaXRlSW50NjQgPSBmdW5jdGlvbih2YWwpIHsK
LSAgICB0aGlzLmJ1ZmZlci5zZXRJbnQ2NCh0aGlzLm5leHQsIHZhbCk7Ci0gICAgdGhpcy5uZXh0
ICs9IDg7Ci0gIH07Ci0KLSAgRW5jb2Rlci5wcm90b3R5cGUud3JpdGVVaW50NjQgPSBmdW5jdGlv
bih2YWwpIHsKLSAgICBpZiAodmFsIDwgMCkgewotICAgICAgdGhyb3cgbmV3IEVycm9yKGtFcnJv
clVuc2lnbmVkKTsKLSAgICB9Ci0gICAgdGhpcy5idWZmZXIuc2V0VWludDY0KHRoaXMubmV4dCwg
dmFsKTsKLSAgICB0aGlzLm5leHQgKz0gODsKLSAgfTsKLQotICBFbmNvZGVyLnByb3RvdHlwZS53
cml0ZUZsb2F0ID0gZnVuY3Rpb24odmFsKSB7Ci0gICAgdGhpcy5idWZmZXIuc2V0RmxvYXQzMih0
aGlzLm5leHQsIHZhbCk7Ci0gICAgdGhpcy5uZXh0ICs9IDQ7Ci0gIH07Ci0KLSAgRW5jb2Rlci5w
cm90b3R5cGUud3JpdGVEb3VibGUgPSBmdW5jdGlvbih2YWwpIHsKLSAgICB0aGlzLmJ1ZmZlci5z
ZXRGbG9hdDY0KHRoaXMubmV4dCwgdmFsKTsKLSAgICB0aGlzLm5leHQgKz0gODsKLSAgfTsKLQot
ICBFbmNvZGVyLnByb3RvdHlwZS5lbmNvZGVQb2ludGVyID0gZnVuY3Rpb24ocG9pbnRlcikgewot
ICAgIGlmICghcG9pbnRlcikKLSAgICAgIHJldHVybiB0aGlzLndyaXRlVWludDY0KDApOwotICAg
IC8vIFRPRE8oYWJhcnRoKTogVG8gY29ycmVjdGx5IGVuY29kZSBhIHBvaW50ZXIsIHdlIG5lZWQg
dG8ga25vdyB0aGUgcmVhbAotICAgIC8vIGJhc2UgYWRkcmVzcyBvZiB0aGUgYXJyYXkgYnVmZmVy
LgotICAgIHZhciBvZmZzZXQgPSBwb2ludGVyIC0gdGhpcy5uZXh0OwotICAgIHRoaXMud3JpdGVV
aW50NjQob2Zmc2V0KTsKLSAgfTsKLQotICBFbmNvZGVyLnByb3RvdHlwZS5jcmVhdGVBbmRFbmNv
ZGVFbmNvZGVyID0gZnVuY3Rpb24oc2l6ZSkgewotICAgIHZhciBwb2ludGVyID0gdGhpcy5idWZm
ZXIuYWxsb2MoYWxpZ24oc2l6ZSkpOwotICAgIHRoaXMuZW5jb2RlUG9pbnRlcihwb2ludGVyKTsK
LSAgICByZXR1cm4gbmV3IEVuY29kZXIodGhpcy5idWZmZXIsIHRoaXMuaGFuZGxlcywKLSAgICAg
ICAgdGhpcy5hc3NvY2lhdGVkRW5kcG9pbnRIYW5kbGVzLCBwb2ludGVyKTsKLSAgfTsKLQotICBF
bmNvZGVyLnByb3RvdHlwZS5lbmNvZGVIYW5kbGUgPSBmdW5jdGlvbihoYW5kbGUpIHsKLSAgICBp
ZiAoaGFuZGxlKSB7Ci0gICAgICB0aGlzLmhhbmRsZXMucHVzaChoYW5kbGUpOwotICAgICAgdGhp
cy53cml0ZVVpbnQzMih0aGlzLmhhbmRsZXMubGVuZ3RoIC0gMSk7Ci0gICAgfSBlbHNlIHsKLSAg
ICAgIHRoaXMud3JpdGVVaW50MzIoa0VuY29kZWRJbnZhbGlkSGFuZGxlVmFsdWUpOwotICAgIH0K
LSAgfTsKLQotICBFbmNvZGVyLnByb3RvdHlwZS5lbmNvZGVBc3NvY2lhdGVkRW5kcG9pbnRIYW5k
bGUgPSBmdW5jdGlvbihlbmRwb2ludEhhbmRsZSkgewotICAgIGlmIChlbmRwb2ludEhhbmRsZSkg
ewotICAgICAgdGhpcy5hc3NvY2lhdGVkRW5kcG9pbnRIYW5kbGVzLnB1c2goZW5kcG9pbnRIYW5k
bGUpOwotICAgICAgdGhpcy53cml0ZVVpbnQzMih0aGlzLmFzc29jaWF0ZWRFbmRwb2ludEhhbmRs
ZXMubGVuZ3RoIC0gMSk7Ci0gICAgfSBlbHNlIHsKLSAgICAgIHRoaXMud3JpdGVVaW50MzIoa0Vu
Y29kZWRJbnZhbGlkSGFuZGxlVmFsdWUpOwotICAgIH0KLSAgfTsKLQotICBFbmNvZGVyLnByb3Rv
dHlwZS5lbmNvZGVTdHJpbmcgPSBmdW5jdGlvbih2YWwpIHsKLSAgICB2YXIgYmFzZSA9IHRoaXMu
bmV4dCArIGtBcnJheUhlYWRlclNpemU7Ci0gICAgdmFyIG51bWJlck9mRWxlbWVudHMgPSBpbnRl
cm5hbC5lbmNvZGVVdGY4U3RyaW5nKAotICAgICAgICB2YWwsIG5ldyBVaW50OEFycmF5KHRoaXMu
YnVmZmVyLmFycmF5QnVmZmVyLCBiYXNlKSk7Ci0gICAgdmFyIG51bWJlck9mQnl0ZXMgPSBrQXJy
YXlIZWFkZXJTaXplICsgbnVtYmVyT2ZFbGVtZW50czsKLSAgICB0aGlzLndyaXRlVWludDMyKG51
bWJlck9mQnl0ZXMpOwotICAgIHRoaXMud3JpdGVVaW50MzIobnVtYmVyT2ZFbGVtZW50cyk7Ci0g
ICAgdGhpcy5uZXh0ICs9IG51bWJlck9mRWxlbWVudHM7Ci0gIH07Ci0KLSAgRW5jb2Rlci5wcm90
b3R5cGUuZW5jb2RlQXJyYXkgPQotICAgICAgZnVuY3Rpb24oY2xzLCB2YWwsIG51bWJlck9mRWxl
bWVudHMsIGVuY29kZWRTaXplKSB7Ci0gICAgaWYgKG51bWJlck9mRWxlbWVudHMgPT09IHVuZGVm
aW5lZCkKLSAgICAgIG51bWJlck9mRWxlbWVudHMgPSB2YWwubGVuZ3RoOwotICAgIGlmIChlbmNv
ZGVkU2l6ZSA9PT0gdW5kZWZpbmVkKQotICAgICAgZW5jb2RlZFNpemUgPSBrQXJyYXlIZWFkZXJT
aXplICsgY2xzLmVuY29kZWRTaXplICogbnVtYmVyT2ZFbGVtZW50czsKLQotICAgIHRoaXMud3Jp
dGVVaW50MzIoZW5jb2RlZFNpemUpOwotICAgIHRoaXMud3JpdGVVaW50MzIobnVtYmVyT2ZFbGVt
ZW50cyk7Ci0KLSAgICBpZiAoY2xzID09PSBQYWNrZWRCb29sKSB7Ci0gICAgICB2YXIgYnl0ZSA9
IDA7Ci0gICAgICBmb3IgKGkgPSAwOyBpIDwgbnVtYmVyT2ZFbGVtZW50czsgKytpKSB7Ci0gICAg
ICAgIGlmICh2YWxbaV0pCi0gICAgICAgICAgYnl0ZSB8PSAoMSA8PCBpICUgOCk7Ci0gICAgICAg
IGlmIChpICUgOCA9PT0gNyB8fCBpID09IG51bWJlck9mRWxlbWVudHMgLSAxKSB7Ci0gICAgICAg
ICAgVWludDguZW5jb2RlKHRoaXMsIGJ5dGUpOwotICAgICAgICAgIGJ5dGUgPSAwOwotICAgICAg
ICB9Ci0gICAgICB9Ci0gICAgfSBlbHNlIHsKLSAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbnVt
YmVyT2ZFbGVtZW50czsgKytpKQotICAgICAgICBjbHMuZW5jb2RlKHRoaXMsIHZhbFtpXSk7Ci0g
ICAgfQotICB9OwotCi0gIEVuY29kZXIucHJvdG90eXBlLmVuY29kZVN0cnVjdCA9IGZ1bmN0aW9u
KGNscywgdmFsKSB7Ci0gICAgcmV0dXJuIGNscy5lbmNvZGUodGhpcywgdmFsKTsKLSAgfTsKLQot
ICBFbmNvZGVyLnByb3RvdHlwZS5lbmNvZGVTdHJ1Y3RQb2ludGVyID0gZnVuY3Rpb24oY2xzLCB2
YWwpIHsKLSAgICBpZiAodmFsID09IG51bGwpIHsKLSAgICAgIC8vIEFsc28gaGFuZGxlcyB1bmRl
ZmluZWQsIHNpbmNlIHVuZGVmaW5lZCA9PSBudWxsLgotICAgICAgdGhpcy5lbmNvZGVQb2ludGVy
KHZhbCk7Ci0gICAgICByZXR1cm47Ci0gICAgfQotICAgIHZhciBlbmNvZGVyID0gdGhpcy5jcmVh
dGVBbmRFbmNvZGVFbmNvZGVyKGNscy5lbmNvZGVkU2l6ZSk7Ci0gICAgY2xzLmVuY29kZShlbmNv
ZGVyLCB2YWwpOwotICB9OwotCi0gIEVuY29kZXIucHJvdG90eXBlLmVuY29kZUFycmF5UG9pbnRl
ciA9IGZ1bmN0aW9uKGNscywgdmFsKSB7Ci0gICAgaWYgKHZhbCA9PSBudWxsKSB7Ci0gICAgICAv
LyBBbHNvIGhhbmRsZXMgdW5kZWZpbmVkLCBzaW5jZSB1bmRlZmluZWQgPT0gbnVsbC4KLSAgICAg
IHRoaXMuZW5jb2RlUG9pbnRlcih2YWwpOwotICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIHZh
ciBudW1iZXJPZkVsZW1lbnRzID0gdmFsLmxlbmd0aDsKLSAgICBpZiAoIU51bWJlci5pc1NhZmVJ
bnRlZ2VyKG51bWJlck9mRWxlbWVudHMpIHx8IG51bWJlck9mRWxlbWVudHMgPCAwKQotICAgICAg
dGhyb3cgbmV3IEVycm9yKGtFcnJvckFycmF5KTsKLQotICAgIHZhciBlbmNvZGVkU2l6ZSA9IGtB
cnJheUhlYWRlclNpemUgKyAoKGNscyA9PT0gUGFja2VkQm9vbCkgPwotICAgICAgICBNYXRoLmNl
aWwobnVtYmVyT2ZFbGVtZW50cyAvIDgpIDogY2xzLmVuY29kZWRTaXplICogbnVtYmVyT2ZFbGVt
ZW50cyk7Ci0gICAgdmFyIGVuY29kZXIgPSB0aGlzLmNyZWF0ZUFuZEVuY29kZUVuY29kZXIoZW5j
b2RlZFNpemUpOwotICAgIGVuY29kZXIuZW5jb2RlQXJyYXkoY2xzLCB2YWwsIG51bWJlck9mRWxl
bWVudHMsIGVuY29kZWRTaXplKTsKLSAgfTsKLQotICBFbmNvZGVyLnByb3RvdHlwZS5lbmNvZGVT
dHJpbmdQb2ludGVyID0gZnVuY3Rpb24odmFsKSB7Ci0gICAgaWYgKHZhbCA9PSBudWxsKSB7Ci0g
ICAgICAvLyBBbHNvIGhhbmRsZXMgdW5kZWZpbmVkLCBzaW5jZSB1bmRlZmluZWQgPT0gbnVsbC4K
LSAgICAgIHRoaXMuZW5jb2RlUG9pbnRlcih2YWwpOwotICAgICAgcmV0dXJuOwotICAgIH0KLSAg
ICAvLyBPbmx5IGFjY2VwdHMgc3RyaW5nIHByaW1pdml0ZXMsIG5vdCBTdHJpbmcgT2JqZWN0cyBs
aWtlIG5ldyBTdHJpbmcoImZvbyIpCi0gICAgaWYgKHR5cGVvZih2YWwpICE9PSAic3RyaW5nIikg
ewotICAgICAgdGhyb3cgbmV3IEVycm9yKGtFcnJvclN0cmluZyk7Ci0gICAgfQotICAgIHZhciBl
bmNvZGVkU2l6ZSA9IGtBcnJheUhlYWRlclNpemUgKyBpbnRlcm5hbC51dGY4TGVuZ3RoKHZhbCk7
Ci0gICAgdmFyIGVuY29kZXIgPSB0aGlzLmNyZWF0ZUFuZEVuY29kZUVuY29kZXIoZW5jb2RlZFNp
emUpOwotICAgIGVuY29kZXIuZW5jb2RlU3RyaW5nKHZhbCk7Ci0gIH07Ci0KLSAgRW5jb2Rlci5w
cm90b3R5cGUuZW5jb2RlTWFwID0gZnVuY3Rpb24oa2V5Q2xhc3MsIHZhbHVlQ2xhc3MsIHZhbCkg
ewotICAgIHZhciBrZXlzID0gbmV3IEFycmF5KHZhbC5zaXplKTsKLSAgICB2YXIgdmFsdWVzID0g
bmV3IEFycmF5KHZhbC5zaXplKTsKLSAgICB2YXIgaSA9IDA7Ci0gICAgdmFsLmZvckVhY2goZnVu
Y3Rpb24odmFsdWUsIGtleSkgewotICAgICAgdmFsdWVzW2ldID0gdmFsdWU7Ci0gICAgICBrZXlz
W2krK10gPSBrZXk7Ci0gICAgfSk7Ci0gICAgdGhpcy53cml0ZVVpbnQzMihrU3RydWN0SGVhZGVy
U2l6ZSArIGtNYXBTdHJ1Y3RQYXlsb2FkU2l6ZSk7Ci0gICAgdGhpcy53cml0ZVVpbnQzMigwKTsg
IC8vIHZlcnNpb24KLSAgICB0aGlzLmVuY29kZUFycmF5UG9pbnRlcihrZXlDbGFzcywga2V5cyk7
Ci0gICAgdGhpcy5lbmNvZGVBcnJheVBvaW50ZXIodmFsdWVDbGFzcywgdmFsdWVzKTsKLSAgfQot
Ci0gIEVuY29kZXIucHJvdG90eXBlLmVuY29kZU1hcFBvaW50ZXIgPSBmdW5jdGlvbihrZXlDbGFz
cywgdmFsdWVDbGFzcywgdmFsKSB7Ci0gICAgaWYgKHZhbCA9PSBudWxsKSB7Ci0gICAgICAvLyBB
bHNvIGhhbmRsZXMgdW5kZWZpbmVkLCBzaW5jZSB1bmRlZmluZWQgPT0gbnVsbC4KLSAgICAgIHRo
aXMuZW5jb2RlUG9pbnRlcih2YWwpOwotICAgICAgcmV0dXJuOwotICAgIH0KLSAgICBpZiAoISh2
YWwgaW5zdGFuY2VvZiBNYXApKSB7Ci0gICAgICB0aHJvdyBuZXcgRXJyb3Ioa0Vycm9yTWFwKTsK
LSAgICB9Ci0gICAgdmFyIGVuY29kZWRTaXplID0ga1N0cnVjdEhlYWRlclNpemUgKyBrTWFwU3Ry
dWN0UGF5bG9hZFNpemU7Ci0gICAgdmFyIGVuY29kZXIgPSB0aGlzLmNyZWF0ZUFuZEVuY29kZUVu
Y29kZXIoZW5jb2RlZFNpemUpOwotICAgIGVuY29kZXIuZW5jb2RlTWFwKGtleUNsYXNzLCB2YWx1
ZUNsYXNzLCB2YWwpOwotICB9OwotCi0gIC8vIE1lc3NhZ2UgLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0KLSAgdmFyIGtN
ZXNzYWdlSW50ZXJmYWNlSWRPZmZzZXQgPSBrU3RydWN0SGVhZGVyU2l6ZTsKLSAgdmFyIGtNZXNz
YWdlTmFtZU9mZnNldCA9IGtNZXNzYWdlSW50ZXJmYWNlSWRPZmZzZXQgKyA0OwotICB2YXIga01l
c3NhZ2VGbGFnc09mZnNldCA9IGtNZXNzYWdlTmFtZU9mZnNldCArIDQ7Ci0gIHZhciBrTWVzc2Fn
ZVJlcXVlc3RJRE9mZnNldCA9IGtNZXNzYWdlRmxhZ3NPZmZzZXQgKyA4OwotICB2YXIga01lc3Nh
Z2VQYXlsb2FkSW50ZXJmYWNlSWRzUG9pbnRlck9mZnNldCA9IGtNZXNzYWdlVjJIZWFkZXJTaXpl
IC0gODsKLQotICB2YXIga01lc3NhZ2VFeHBlY3RzUmVzcG9uc2UgPSAxIDw8IDA7Ci0gIHZhciBr
TWVzc2FnZUlzUmVzcG9uc2UgICAgICA9IDEgPDwgMTsKLQotICBmdW5jdGlvbiBNZXNzYWdlKGJ1
ZmZlciwgaGFuZGxlcywgYXNzb2NpYXRlZEVuZHBvaW50SGFuZGxlcykgewotICAgIGlmIChhc3Nv
Y2lhdGVkRW5kcG9pbnRIYW5kbGVzID09PSB1bmRlZmluZWQpIHsKLSAgICAgIGFzc29jaWF0ZWRF
bmRwb2ludEhhbmRsZXMgPSBbXTsKLSAgICB9Ci0KLSAgICB0aGlzLmJ1ZmZlciA9IGJ1ZmZlcjsK
LSAgICB0aGlzLmhhbmRsZXMgPSBoYW5kbGVzOwotICAgIHRoaXMuYXNzb2NpYXRlZEVuZHBvaW50
SGFuZGxlcyA9IGFzc29jaWF0ZWRFbmRwb2ludEhhbmRsZXM7Ci0gIH0KLQotICBNZXNzYWdlLnBy
b3RvdHlwZS5nZXRIZWFkZXJOdW1CeXRlcyA9IGZ1bmN0aW9uKCkgewotICAgIHJldHVybiB0aGlz
LmJ1ZmZlci5nZXRVaW50MzIoa1N0cnVjdEhlYWRlck51bUJ5dGVzT2Zmc2V0KTsKLSAgfTsKLQot
ICBNZXNzYWdlLnByb3RvdHlwZS5nZXRIZWFkZXJWZXJzaW9uID0gZnVuY3Rpb24oKSB7Ci0gICAg
cmV0dXJuIHRoaXMuYnVmZmVyLmdldFVpbnQzMihrU3RydWN0SGVhZGVyVmVyc2lvbk9mZnNldCk7
Ci0gIH07Ci0KLSAgTWVzc2FnZS5wcm90b3R5cGUuZ2V0TmFtZSA9IGZ1bmN0aW9uKCkgewotICAg
IHJldHVybiB0aGlzLmJ1ZmZlci5nZXRVaW50MzIoa01lc3NhZ2VOYW1lT2Zmc2V0KTsKLSAgfTsK
LQotICBNZXNzYWdlLnByb3RvdHlwZS5nZXRGbGFncyA9IGZ1bmN0aW9uKCkgewotICAgIHJldHVy
biB0aGlzLmJ1ZmZlci5nZXRVaW50MzIoa01lc3NhZ2VGbGFnc09mZnNldCk7Ci0gIH07Ci0KLSAg
TWVzc2FnZS5wcm90b3R5cGUuZ2V0SW50ZXJmYWNlSWQgPSBmdW5jdGlvbigpIHsKLSAgICByZXR1
cm4gdGhpcy5idWZmZXIuZ2V0VWludDMyKGtNZXNzYWdlSW50ZXJmYWNlSWRPZmZzZXQpOwotICB9
OwotCi0gIE1lc3NhZ2UucHJvdG90eXBlLmdldFBheWxvYWRJbnRlcmZhY2VJZHMgPSBmdW5jdGlv
bigpIHsKLSAgICBpZiAodGhpcy5nZXRIZWFkZXJWZXJzaW9uKCkgPCAyKSB7Ci0gICAgICByZXR1
cm4gbnVsbDsKLSAgICB9Ci0KLSAgICB2YXIgZGVjb2RlciA9IG5ldyBEZWNvZGVyKHRoaXMuYnVm
ZmVyLCB0aGlzLmhhbmRsZXMsCi0gICAgICAgIHRoaXMuYXNzb2NpYXRlZEVuZHBvaW50SGFuZGxl
cywKLSAgICAgICAga01lc3NhZ2VQYXlsb2FkSW50ZXJmYWNlSWRzUG9pbnRlck9mZnNldCk7Ci0g
ICAgdmFyIHBheWxvYWRJbnRlcmZhY2VJZHMgPSBkZWNvZGVyLmRlY29kZUFycmF5UG9pbnRlcihV
aW50MzIpOwotICAgIHJldHVybiBwYXlsb2FkSW50ZXJmYWNlSWRzOwotICB9OwotCi0gIE1lc3Nh
Z2UucHJvdG90eXBlLmlzUmVzcG9uc2UgPSBmdW5jdGlvbigpIHsKLSAgICByZXR1cm4gKHRoaXMu
Z2V0RmxhZ3MoKSAmIGtNZXNzYWdlSXNSZXNwb25zZSkgIT0gMDsKLSAgfTsKLQotICBNZXNzYWdl
LnByb3RvdHlwZS5leHBlY3RzUmVzcG9uc2UgPSBmdW5jdGlvbigpIHsKLSAgICByZXR1cm4gKHRo
aXMuZ2V0RmxhZ3MoKSAmIGtNZXNzYWdlRXhwZWN0c1Jlc3BvbnNlKSAhPSAwOwotICB9OwotCi0g
IE1lc3NhZ2UucHJvdG90eXBlLnNldFJlcXVlc3RJRCA9IGZ1bmN0aW9uKHJlcXVlc3RJRCkgewot
ICAgIC8vIFRPRE8oZGFyaW4pOiBWZXJpZnkgdGhhdCBzcGFjZSB3YXMgcmVzZXJ2ZWQgZm9yIHRo
aXMgZmllbGQhCi0gICAgdGhpcy5idWZmZXIuc2V0VWludDY0KGtNZXNzYWdlUmVxdWVzdElET2Zm
c2V0LCByZXF1ZXN0SUQpOwotICB9OwotCi0gIE1lc3NhZ2UucHJvdG90eXBlLnNldEludGVyZmFj
ZUlkID0gZnVuY3Rpb24oaW50ZXJmYWNlSWQpIHsKLSAgICB0aGlzLmJ1ZmZlci5zZXRVaW50MzIo
a01lc3NhZ2VJbnRlcmZhY2VJZE9mZnNldCwgaW50ZXJmYWNlSWQpOwotICB9OwotCi0gIE1lc3Nh
Z2UucHJvdG90eXBlLnNldFBheWxvYWRJbnRlcmZhY2VJZHNfID0gZnVuY3Rpb24ocGF5bG9hZElu
dGVyZmFjZUlkcykgewotICAgIGlmICh0aGlzLmdldEhlYWRlclZlcnNpb24oKSA8IDIpIHsKLSAg
ICAgIHRocm93IG5ldyBFcnJvcigKLSAgICAgICAgICAiVmVyc2lvbiBvZiBtZXNzYWdlIGRvZXMg
bm90IHN1cHBvcnQgcGF5bG9hZCBpbnRlcmZhY2UgaWRzIik7Ci0gICAgfQotCi0gICAgdmFyIGRl
Y29kZXIgPSBuZXcgRGVjb2Rlcih0aGlzLmJ1ZmZlciwgdGhpcy5oYW5kbGVzLAotICAgICAgICB0
aGlzLmFzc29jaWF0ZWRFbmRwb2ludEhhbmRsZXMsCi0gICAgICAgIGtNZXNzYWdlUGF5bG9hZElu
dGVyZmFjZUlkc1BvaW50ZXJPZmZzZXQpOwotICAgIHZhciBwYXlsb2FkSW50ZXJmYWNlSWRzT2Zm
c2V0ID0gZGVjb2Rlci5kZWNvZGVQb2ludGVyKCk7Ci0gICAgdmFyIGVuY29kZXIgPSBuZXcgRW5j
b2Rlcih0aGlzLmJ1ZmZlciwgdGhpcy5oYW5kbGVzLAotICAgICAgICB0aGlzLmFzc29jaWF0ZWRF
bmRwb2ludEhhbmRsZXMsCi0gICAgICAgIHBheWxvYWRJbnRlcmZhY2VJZHNPZmZzZXQpOwotICAg
IGVuY29kZXIuZW5jb2RlQXJyYXkoVWludDMyLCBwYXlsb2FkSW50ZXJmYWNlSWRzKTsKLSAgfTsK
LQotICBNZXNzYWdlLnByb3RvdHlwZS5zZXJpYWxpemVBc3NvY2lhdGVkRW5kcG9pbnRIYW5kbGVz
ID0gZnVuY3Rpb24oCi0gICAgICBhc3NvY2lhdGVkR3JvdXBDb250cm9sbGVyKSB7Ci0gICAgaWYg
KHRoaXMuYXNzb2NpYXRlZEVuZHBvaW50SGFuZGxlcy5sZW5ndGggPiAwKSB7Ci0gICAgICBpZiAo
dGhpcy5nZXRIZWFkZXJWZXJzaW9uKCkgPCAyKSB7Ci0gICAgICAgIHRocm93IG5ldyBFcnJvcigK
LSAgICAgICAgICAgICJWZXJzaW9uIG9mIG1lc3NhZ2UgZG9lcyBub3Qgc3VwcG9ydCBhc3NvY2lh
dGVkIGVuZHBvaW50IGhhbmRsZXMiKTsKLSAgICAgIH0KLQotICAgICAgdmFyIGRhdGEgPSBbXTsK
LSAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5hc3NvY2lhdGVkRW5kcG9pbnRIYW5kbGVz
Lmxlbmd0aDsgaSsrKSB7Ci0gICAgICAgIHZhciBoYW5kbGUgPSB0aGlzLmFzc29jaWF0ZWRFbmRw
b2ludEhhbmRsZXNbaV07Ci0gICAgICAgIGRhdGEucHVzaChhc3NvY2lhdGVkR3JvdXBDb250cm9s
bGVyLmFzc29jaWF0ZUludGVyZmFjZShoYW5kbGUpKTsKLSAgICAgIH0KLSAgICAgIHRoaXMuYXNz
b2NpYXRlZEVuZHBvaW50SGFuZGxlcyA9IFtdOwotICAgICAgdGhpcy5zZXRQYXlsb2FkSW50ZXJm
YWNlSWRzXyhkYXRhKTsKLSAgICB9Ci0gIH07Ci0KLSAgTWVzc2FnZS5wcm90b3R5cGUuZGVzZXJp
YWxpemVBc3NvY2lhdGVkRW5kcG9pbnRIYW5kbGVzID0gZnVuY3Rpb24oCi0gICAgICBhc3NvY2lh
dGVkR3JvdXBDb250cm9sbGVyKSB7Ci0gICAgaWYgKHRoaXMuZ2V0SGVhZGVyVmVyc2lvbigpIDwg
MikgewotICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfQotCi0gICAgdGhpcy5hc3NvY2lhdGVkRW5k
cG9pbnRIYW5kbGVzID0gW107Ci0gICAgdmFyIGlkcyA9IHRoaXMuZ2V0UGF5bG9hZEludGVyZmFj
ZUlkcygpOwotCi0gICAgdmFyIHJlc3VsdCA9IHRydWU7Ci0gICAgZm9yICh2YXIgaSA9IDA7IGkg
PCBpZHMubGVuZ3RoOyBpKyspIHsKLSAgICAgIHZhciBoYW5kbGUgPSBhc3NvY2lhdGVkR3JvdXBD
b250cm9sbGVyLmNyZWF0ZUxvY2FsRW5kcG9pbnRIYW5kbGUoaWRzW2ldKTsKLSAgICAgIGlmIChp
bnRlcm5hbC5pc1ZhbGlkSW50ZXJmYWNlSWQoaWRzW2ldKSAmJiAhaGFuZGxlLmlzVmFsaWQoKSkg
ewotICAgICAgICAvLyB8aWRzW2ldfCBpdHNlbGYgaXMgdmFsaWQgYnV0IGhhbmRsZSBjcmVhdGlv
biBmYWlsZWQuIEluIHRoYXQgY2FzZSwKLSAgICAgICAgLy8gbWFyayBkZXNlcmlhbGl6YXRpb24g
YXMgZmFpbGVkIGJ1dCBjb250aW51ZSB0byBkZXNlcmlhbGl6ZSB0aGUKLSAgICAgICAgLy8gcmVz
dCBvZiBoYW5kbGVzLgotICAgICAgICByZXN1bHQgPSBmYWxzZTsKLSAgICAgIH0KLSAgICAgIHRo
aXMuYXNzb2NpYXRlZEVuZHBvaW50SGFuZGxlcy5wdXNoKGhhbmRsZSk7Ci0gICAgICBpZHNbaV0g
PSBpbnRlcm5hbC5rSW52YWxpZEludGVyZmFjZUlkOwotICAgIH0KLQotICAgIHRoaXMuc2V0UGF5
bG9hZEludGVyZmFjZUlkc18oaWRzKTsKLSAgICByZXR1cm4gcmVzdWx0OwotICB9OwotCi0KLSAg
Ly8gTWVzc2FnZVYwQnVpbGRlciAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0KLQotICBmdW5jdGlvbiBNZXNzYWdlVjBCdWlsZGVyKG1lc3Nh
Z2VOYW1lLCBwYXlsb2FkU2l6ZSkgewotICAgIC8vIEN1cnJlbnRseSwgd2UgZG9uJ3QgY29tcHV0
ZSB0aGUgcGF5bG9hZCBzaXplIGNvcnJlY3RseSBhaGVhZCBvZiB0aW1lLgotICAgIC8vIEluc3Rl
YWQsIHdlIHJlc2l6ZSB0aGUgYnVmZmVyIGF0IHRoZSBlbmQuCi0gICAgdmFyIG51bWJlck9mQnl0
ZXMgPSBrTWVzc2FnZVYwSGVhZGVyU2l6ZSArIHBheWxvYWRTaXplOwotICAgIHRoaXMuYnVmZmVy
ID0gbmV3IGludGVybmFsLkJ1ZmZlcihudW1iZXJPZkJ5dGVzKTsKLSAgICB0aGlzLmhhbmRsZXMg
PSBbXTsKLSAgICB2YXIgZW5jb2RlciA9IHRoaXMuY3JlYXRlRW5jb2RlcihrTWVzc2FnZVYwSGVh
ZGVyU2l6ZSk7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMihrTWVzc2FnZVYwSGVhZGVyU2l6ZSk7
Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMigwKTsgIC8vIHZlcnNpb24uCi0gICAgZW5jb2Rlci53
cml0ZVVpbnQzMigwKTsgIC8vIGludGVyZmFjZSBJRC4KLSAgICBlbmNvZGVyLndyaXRlVWludDMy
KG1lc3NhZ2VOYW1lKTsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKDApOyAgLy8gZmxhZ3MuCi0g
ICAgZW5jb2Rlci53cml0ZVVpbnQzMigwKTsgIC8vIHBhZGRpbmcuCi0gIH0KLQotICBNZXNzYWdl
VjBCdWlsZGVyLnByb3RvdHlwZS5jcmVhdGVFbmNvZGVyID0gZnVuY3Rpb24oc2l6ZSkgewotICAg
IHZhciBwb2ludGVyID0gdGhpcy5idWZmZXIuYWxsb2Moc2l6ZSk7Ci0gICAgcmV0dXJuIG5ldyBF
bmNvZGVyKHRoaXMuYnVmZmVyLCB0aGlzLmhhbmRsZXMsIFtdLCBwb2ludGVyKTsKLSAgfTsKLQot
ICBNZXNzYWdlVjBCdWlsZGVyLnByb3RvdHlwZS5lbmNvZGVTdHJ1Y3QgPSBmdW5jdGlvbihjbHMs
IHZhbCkgewotICAgIGNscy5lbmNvZGUodGhpcy5jcmVhdGVFbmNvZGVyKGNscy5lbmNvZGVkU2l6
ZSksIHZhbCk7Ci0gIH07Ci0KLSAgTWVzc2FnZVYwQnVpbGRlci5wcm90b3R5cGUuZmluaXNoID0g
ZnVuY3Rpb24oKSB7Ci0gICAgLy8gVE9ETyhhYmFydGgpOiBSYXRoZXIgdGhhbiByZXNpemluZyB0
aGUgYnVmZmVyIGF0IHRoZSBlbmQsIHdlIGNvdWxkCi0gICAgLy8gY29tcHV0ZSB0aGUgc2l6ZSB3
ZSBuZWVkIGFoZWFkIG9mIHRpbWUsIGxpa2Ugd2UgZG8gaW4gQysrLgotICAgIHRoaXMuYnVmZmVy
LnRyaW0oKTsKLSAgICB2YXIgbWVzc2FnZSA9IG5ldyBNZXNzYWdlKHRoaXMuYnVmZmVyLCB0aGlz
LmhhbmRsZXMpOwotICAgIHRoaXMuYnVmZmVyID0gbnVsbDsKLSAgICB0aGlzLmhhbmRsZXMgPSBu
dWxsOwotICAgIHRoaXMuZW5jb2RlciA9IG51bGw7Ci0gICAgcmV0dXJuIG1lc3NhZ2U7Ci0gIH07
Ci0KLSAgLy8gTWVzc2FnZVYxQnVpbGRlciAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLQotCi0gIGZ1bmN0aW9uIE1lc3NhZ2VWMUJ1aWxkZXIobWVzc2FnZU5h
bWUsIHBheWxvYWRTaXplLCBmbGFncywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHJlcXVlc3RJRCkgewotICAgIC8vIEN1cnJlbnRseSwgd2UgZG9uJ3QgY29tcHV0ZSB0
aGUgcGF5bG9hZCBzaXplIGNvcnJlY3RseSBhaGVhZCBvZiB0aW1lLgotICAgIC8vIEluc3RlYWQs
IHdlIHJlc2l6ZSB0aGUgYnVmZmVyIGF0IHRoZSBlbmQuCi0gICAgdmFyIG51bWJlck9mQnl0ZXMg
PSBrTWVzc2FnZVYxSGVhZGVyU2l6ZSArIHBheWxvYWRTaXplOwotICAgIHRoaXMuYnVmZmVyID0g
bmV3IGludGVybmFsLkJ1ZmZlcihudW1iZXJPZkJ5dGVzKTsKLSAgICB0aGlzLmhhbmRsZXMgPSBb
XTsKLSAgICB2YXIgZW5jb2RlciA9IHRoaXMuY3JlYXRlRW5jb2RlcihrTWVzc2FnZVYxSGVhZGVy
U2l6ZSk7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMihrTWVzc2FnZVYxSGVhZGVyU2l6ZSk7Ci0g
ICAgZW5jb2Rlci53cml0ZVVpbnQzMigxKTsgIC8vIHZlcnNpb24uCi0gICAgZW5jb2Rlci53cml0
ZVVpbnQzMigwKTsgIC8vIGludGVyZmFjZSBJRC4KLSAgICBlbmNvZGVyLndyaXRlVWludDMyKG1l
c3NhZ2VOYW1lKTsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKGZsYWdzKTsKLSAgICBlbmNvZGVy
LndyaXRlVWludDMyKDApOyAgLy8gcGFkZGluZy4KLSAgICBlbmNvZGVyLndyaXRlVWludDY0KHJl
cXVlc3RJRCk7Ci0gIH0KLQotICBNZXNzYWdlVjFCdWlsZGVyLnByb3RvdHlwZSA9Ci0gICAgICBP
YmplY3QuY3JlYXRlKE1lc3NhZ2VWMEJ1aWxkZXIucHJvdG90eXBlKTsKLQotICBNZXNzYWdlVjFC
dWlsZGVyLnByb3RvdHlwZS5jb25zdHJ1Y3RvciA9Ci0gICAgICBNZXNzYWdlVjFCdWlsZGVyOwot
Ci0gIC8vIE1lc3NhZ2VWMiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLQotCi0gIGZ1bmN0aW9uIE1lc3NhZ2VWMkJ1aWxkZXIobWVzc2FnZU5hbWUsIHBheWxv
YWRTaXplLCBmbGFncywgcmVxdWVzdElEKSB7Ci0gICAgLy8gQ3VycmVudGx5LCB3ZSBkb24ndCBj
b21wdXRlIHRoZSBwYXlsb2FkIHNpemUgY29ycmVjdGx5IGFoZWFkIG9mIHRpbWUuCi0gICAgLy8g
SW5zdGVhZCwgd2UgcmVzaXplIHRoZSBidWZmZXIgYXQgdGhlIGVuZC4KLSAgICB2YXIgbnVtYmVy
T2ZCeXRlcyA9IGtNZXNzYWdlVjJIZWFkZXJTaXplICsgcGF5bG9hZFNpemU7Ci0gICAgdGhpcy5i
dWZmZXIgPSBuZXcgaW50ZXJuYWwuQnVmZmVyKG51bWJlck9mQnl0ZXMpOwotICAgIHRoaXMuaGFu
ZGxlcyA9IFtdOwotCi0gICAgdGhpcy5wYXlsb2FkID0gbnVsbDsKLSAgICB0aGlzLmFzc29jaWF0
ZWRFbmRwb2ludEhhbmRsZXMgPSBbXTsKLQotICAgIHRoaXMuZW5jb2RlciA9IHRoaXMuY3JlYXRl
RW5jb2RlcihrTWVzc2FnZVYySGVhZGVyU2l6ZSk7Ci0gICAgdGhpcy5lbmNvZGVyLndyaXRlVWlu
dDMyKGtNZXNzYWdlVjJIZWFkZXJTaXplKTsKLSAgICB0aGlzLmVuY29kZXIud3JpdGVVaW50MzIo
Mik7ICAvLyB2ZXJzaW9uLgotICAgIC8vIEdldHMgc2V0IHRvIGFuIGFwcHJvcHJpYXRlIGludGVy
ZmFjZUlkIGZvciB0aGUgZW5kcG9pbnQgYnkgdGhlIFJvdXRlci4KLSAgICB0aGlzLmVuY29kZXIu
d3JpdGVVaW50MzIoMCk7ICAvLyBpbnRlcmZhY2UgSUQuCi0gICAgdGhpcy5lbmNvZGVyLndyaXRl
VWludDMyKG1lc3NhZ2VOYW1lKTsKLSAgICB0aGlzLmVuY29kZXIud3JpdGVVaW50MzIoZmxhZ3Mp
OwotICAgIHRoaXMuZW5jb2Rlci53cml0ZVVpbnQzMigwKTsgIC8vIHBhZGRpbmcuCi0gICAgdGhp
cy5lbmNvZGVyLndyaXRlVWludDY0KHJlcXVlc3RJRCk7Ci0gIH0KLQotICBNZXNzYWdlVjJCdWls
ZGVyLnByb3RvdHlwZS5jcmVhdGVFbmNvZGVyID0gZnVuY3Rpb24oc2l6ZSkgewotICAgIHZhciBw
b2ludGVyID0gdGhpcy5idWZmZXIuYWxsb2Moc2l6ZSk7Ci0gICAgcmV0dXJuIG5ldyBFbmNvZGVy
KHRoaXMuYnVmZmVyLCB0aGlzLmhhbmRsZXMsCi0gICAgICAgIHRoaXMuYXNzb2NpYXRlZEVuZHBv
aW50SGFuZGxlcywgcG9pbnRlcik7Ci0gIH07Ci0KLSAgTWVzc2FnZVYyQnVpbGRlci5wcm90b3R5
cGUuc2V0UGF5bG9hZCA9IGZ1bmN0aW9uKGNscywgdmFsKSB7Ci0gICAgdGhpcy5wYXlsb2FkID0g
e2NsczogY2xzLCB2YWw6IHZhbH07Ci0gIH07Ci0KLSAgTWVzc2FnZVYyQnVpbGRlci5wcm90b3R5
cGUuZmluaXNoID0gZnVuY3Rpb24oKSB7Ci0gICAgaWYgKCF0aGlzLnBheWxvYWQpIHsKLSAgICAg
IHRocm93IG5ldyBFcnJvcigiUGF5bG9hZCBuZWVkcyB0byBiZSBzZXQgYmVmb3JlIGNhbGxpbmcg
ZmluaXNoIik7Ci0gICAgfQotCi0gICAgdGhpcy5lbmNvZGVyLmVuY29kZVN0cnVjdFBvaW50ZXIo
dGhpcy5wYXlsb2FkLmNscywgdGhpcy5wYXlsb2FkLnZhbCk7Ci0gICAgdGhpcy5lbmNvZGVyLmVu
Y29kZUFycmF5UG9pbnRlcihVaW50MzIsCi0gICAgICAgIG5ldyBBcnJheSh0aGlzLmFzc29jaWF0
ZWRFbmRwb2ludEhhbmRsZXMubGVuZ3RoKSk7Ci0KLSAgICB0aGlzLmJ1ZmZlci50cmltKCk7Ci0g
ICAgdmFyIG1lc3NhZ2UgPSBuZXcgTWVzc2FnZSh0aGlzLmJ1ZmZlciwgdGhpcy5oYW5kbGVzLAot
ICAgICAgICB0aGlzLmFzc29jaWF0ZWRFbmRwb2ludEhhbmRsZXMpOwotICAgIHRoaXMuYnVmZmVy
ID0gbnVsbDsKLSAgICB0aGlzLmhhbmRsZXMgPSBudWxsOwotICAgIHRoaXMuZW5jb2RlciA9IG51
bGw7Ci0gICAgdGhpcy5wYXlsb2FkID0gbnVsbDsKLSAgICB0aGlzLmFzc29jaWF0ZWRFbmRwb2lu
dEhhbmRsZXMgPSBudWxsOwotCi0gICAgcmV0dXJuIG1lc3NhZ2U7Ci0gIH07Ci0KLSAgLy8gTWVz
c2FnZVJlYWRlciAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0KLQotICBmdW5jdGlvbiBNZXNzYWdlUmVhZGVyKG1lc3NhZ2UpIHsKLSAg
ICB0aGlzLmRlY29kZXIgPSBuZXcgRGVjb2RlcihtZXNzYWdlLmJ1ZmZlciwgbWVzc2FnZS5oYW5k
bGVzLAotICAgICAgICBtZXNzYWdlLmFzc29jaWF0ZWRFbmRwb2ludEhhbmRsZXMsIDApOwotICAg
IHZhciBtZXNzYWdlSGVhZGVyU2l6ZSA9IHRoaXMuZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAg
dGhpcy5wYXlsb2FkU2l6ZSA9IG1lc3NhZ2UuYnVmZmVyLmJ5dGVMZW5ndGggLSBtZXNzYWdlSGVh
ZGVyU2l6ZTsKLSAgICB2YXIgdmVyc2lvbiA9IHRoaXMuZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0g
ICAgdmFyIGludGVyZmFjZV9pZCA9IHRoaXMuZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdGhp
cy5tZXNzYWdlTmFtZSA9IHRoaXMuZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdGhpcy5mbGFn
cyA9IHRoaXMuZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgLy8gU2tpcCB0aGUgcGFkZGluZy4K
LSAgICB0aGlzLmRlY29kZXIuc2tpcCg0KTsKLSAgICBpZiAodmVyc2lvbiA+PSAxKQotICAgICAg
dGhpcy5yZXF1ZXN0SUQgPSB0aGlzLmRlY29kZXIucmVhZFVpbnQ2NCgpOwotICAgIHRoaXMuZGVj
b2Rlci5za2lwKG1lc3NhZ2VIZWFkZXJTaXplIC0gdGhpcy5kZWNvZGVyLm5leHQpOwotICB9Ci0K
LSAgTWVzc2FnZVJlYWRlci5wcm90b3R5cGUuZGVjb2RlU3RydWN0ID0gZnVuY3Rpb24oY2xzKSB7
Ci0gICAgcmV0dXJuIGNscy5kZWNvZGUodGhpcy5kZWNvZGVyKTsKLSAgfTsKLQotICAvLyBCdWls
dC1pbiB0eXBlcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLQotCi0gIC8vIFRoaXMgdHlwZSBpcyBvbmx5IHVzZWQgd2l0aCBBcnJheU9m
KFBhY2tlZEJvb2wpLgotICBmdW5jdGlvbiBQYWNrZWRCb29sKCkgewotICB9Ci0KLSAgZnVuY3Rp
b24gSW50OCgpIHsKLSAgfQotCi0gIEludDguZW5jb2RlZFNpemUgPSAxOwotCi0gIEludDguZGVj
b2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHJldHVybiBkZWNvZGVyLnJlYWRJbnQ4KCk7
Ci0gIH07Ci0KLSAgSW50OC5lbmNvZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2YWwpIHsKLSAgICBl
bmNvZGVyLndyaXRlSW50OCh2YWwpOwotICB9OwotCi0gIFVpbnQ4LmVuY29kZSA9IGZ1bmN0aW9u
KGVuY29kZXIsIHZhbCkgewotICAgIGVuY29kZXIud3JpdGVVaW50OCh2YWwpOwotICB9OwotCi0g
IGZ1bmN0aW9uIFVpbnQ4KCkgewotICB9Ci0KLSAgVWludDguZW5jb2RlZFNpemUgPSAxOwotCi0g
IFVpbnQ4LmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICByZXR1cm4gZGVjb2Rlci5y
ZWFkVWludDgoKTsKLSAgfTsKLQotICBVaW50OC5lbmNvZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2
YWwpIHsKLSAgICBlbmNvZGVyLndyaXRlVWludDgodmFsKTsKLSAgfTsKLQotICBmdW5jdGlvbiBJ
bnQxNigpIHsKLSAgfQotCi0gIEludDE2LmVuY29kZWRTaXplID0gMjsKLQotICBJbnQxNi5kZWNv
ZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgcmV0dXJuIGRlY29kZXIucmVhZEludDE2KCk7
Ci0gIH07Ci0KLSAgSW50MTYuZW5jb2RlID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAg
ZW5jb2Rlci53cml0ZUludDE2KHZhbCk7Ci0gIH07Ci0KLSAgZnVuY3Rpb24gVWludDE2KCkgewot
ICB9Ci0KLSAgVWludDE2LmVuY29kZWRTaXplID0gMjsKLQotICBVaW50MTYuZGVjb2RlID0gZnVu
Y3Rpb24oZGVjb2RlcikgewotICAgIHJldHVybiBkZWNvZGVyLnJlYWRVaW50MTYoKTsKLSAgfTsK
LQotICBVaW50MTYuZW5jb2RlID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAgZW5jb2Rl
ci53cml0ZVVpbnQxNih2YWwpOwotICB9OwotCi0gIGZ1bmN0aW9uIEludDMyKCkgewotICB9Ci0K
LSAgSW50MzIuZW5jb2RlZFNpemUgPSA0OwotCi0gIEludDMyLmRlY29kZSA9IGZ1bmN0aW9uKGRl
Y29kZXIpIHsKLSAgICByZXR1cm4gZGVjb2Rlci5yZWFkSW50MzIoKTsKLSAgfTsKLQotICBJbnQz
Mi5lbmNvZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2YWwpIHsKLSAgICBlbmNvZGVyLndyaXRlSW50
MzIodmFsKTsKLSAgfTsKLQotICBmdW5jdGlvbiBVaW50MzIoKSB7Ci0gIH0KLQotICBVaW50MzIu
ZW5jb2RlZFNpemUgPSA0OwotCi0gIFVpbnQzMi5kZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7
Ci0gICAgcmV0dXJuIGRlY29kZXIucmVhZFVpbnQzMigpOwotICB9OwotCi0gIFVpbnQzMi5lbmNv
ZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2YWwpIHsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKHZh
bCk7Ci0gIH07Ci0KLSAgZnVuY3Rpb24gSW50NjQoKSB7Ci0gIH0KLQotICBJbnQ2NC5lbmNvZGVk
U2l6ZSA9IDg7Ci0KLSAgSW50NjQuZGVjb2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHJl
dHVybiBkZWNvZGVyLnJlYWRJbnQ2NCgpOwotICB9OwotCi0gIEludDY0LmVuY29kZSA9IGZ1bmN0
aW9uKGVuY29kZXIsIHZhbCkgewotICAgIGVuY29kZXIud3JpdGVJbnQ2NCh2YWwpOwotICB9Owot
Ci0gIGZ1bmN0aW9uIFVpbnQ2NCgpIHsKLSAgfQotCi0gIFVpbnQ2NC5lbmNvZGVkU2l6ZSA9IDg7
Ci0KLSAgVWludDY0LmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICByZXR1cm4gZGVj
b2Rlci5yZWFkVWludDY0KCk7Ci0gIH07Ci0KLSAgVWludDY0LmVuY29kZSA9IGZ1bmN0aW9uKGVu
Y29kZXIsIHZhbCkgewotICAgIGVuY29kZXIud3JpdGVVaW50NjQodmFsKTsKLSAgfTsKLQotICBm
dW5jdGlvbiBTdHJpbmcoKSB7Ci0gIH07Ci0KLSAgU3RyaW5nLmVuY29kZWRTaXplID0gODsKLQot
ICBTdHJpbmcuZGVjb2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHJldHVybiBkZWNvZGVy
LmRlY29kZVN0cmluZ1BvaW50ZXIoKTsKLSAgfTsKLQotICBTdHJpbmcuZW5jb2RlID0gZnVuY3Rp
b24oZW5jb2RlciwgdmFsKSB7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJpbmdQb2ludGVyKHZhbCk7
Ci0gIH07Ci0KLSAgZnVuY3Rpb24gTnVsbGFibGVTdHJpbmcoKSB7Ci0gIH0KLQotICBOdWxsYWJs
ZVN0cmluZy5lbmNvZGVkU2l6ZSA9IFN0cmluZy5lbmNvZGVkU2l6ZTsKLQotICBOdWxsYWJsZVN0
cmluZy5kZWNvZGUgPSBTdHJpbmcuZGVjb2RlOwotCi0gIE51bGxhYmxlU3RyaW5nLmVuY29kZSA9
IFN0cmluZy5lbmNvZGU7Ci0KLSAgZnVuY3Rpb24gRmxvYXQoKSB7Ci0gIH0KLQotICBGbG9hdC5l
bmNvZGVkU2l6ZSA9IDQ7Ci0KLSAgRmxvYXQuZGVjb2RlID0gZnVuY3Rpb24oZGVjb2Rlcikgewot
ICAgIHJldHVybiBkZWNvZGVyLnJlYWRGbG9hdCgpOwotICB9OwotCi0gIEZsb2F0LmVuY29kZSA9
IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgIGVuY29kZXIud3JpdGVGbG9hdCh2YWwpOwot
ICB9OwotCi0gIGZ1bmN0aW9uIERvdWJsZSgpIHsKLSAgfQotCi0gIERvdWJsZS5lbmNvZGVkU2l6
ZSA9IDg7Ci0KLSAgRG91YmxlLmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICByZXR1
cm4gZGVjb2Rlci5yZWFkRG91YmxlKCk7Ci0gIH07Ci0KLSAgRG91YmxlLmVuY29kZSA9IGZ1bmN0
aW9uKGVuY29kZXIsIHZhbCkgewotICAgIGVuY29kZXIud3JpdGVEb3VibGUodmFsKTsKLSAgfTsK
LQotICBmdW5jdGlvbiBFbnVtKGNscykgewotICAgIHRoaXMuY2xzID0gY2xzOwotICB9Ci0KLSAg
RW51bS5wcm90b3R5cGUuZW5jb2RlZFNpemUgPSA0OwotCi0gIEVudW0ucHJvdG90eXBlLmRlY29k
ZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICByZXR1cm4gZGVjb2Rlci5yZWFkSW50MzIoKTsK
LSAgfTsKLQotICBFbnVtLnByb3RvdHlwZS5lbmNvZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2YWwp
IHsKLSAgICBlbmNvZGVyLndyaXRlSW50MzIodmFsKTsKLSAgfTsKLQotICBmdW5jdGlvbiBQb2lu
dGVyVG8oY2xzKSB7Ci0gICAgdGhpcy5jbHMgPSBjbHM7Ci0gIH0KLQotICBQb2ludGVyVG8ucHJv
dG90eXBlLmVuY29kZWRTaXplID0gODsKLQotICBQb2ludGVyVG8ucHJvdG90eXBlLmRlY29kZSA9
IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICB2YXIgcG9pbnRlciA9IGRlY29kZXIuZGVjb2RlUG9p
bnRlcigpOwotICAgIGlmICghcG9pbnRlcikgewotICAgICAgcmV0dXJuIG51bGw7Ci0gICAgfQot
ICAgIHJldHVybiB0aGlzLmNscy5kZWNvZGUoZGVjb2Rlci5kZWNvZGVBbmRDcmVhdGVEZWNvZGVy
KHBvaW50ZXIpKTsKLSAgfTsKLQotICBQb2ludGVyVG8ucHJvdG90eXBlLmVuY29kZSA9IGZ1bmN0
aW9uKGVuY29kZXIsIHZhbCkgewotICAgIGlmICghdmFsKSB7Ci0gICAgICBlbmNvZGVyLmVuY29k
ZVBvaW50ZXIodmFsKTsKLSAgICAgIHJldHVybjsKLSAgICB9Ci0gICAgdmFyIG9iamVjdEVuY29k
ZXIgPSBlbmNvZGVyLmNyZWF0ZUFuZEVuY29kZUVuY29kZXIodGhpcy5jbHMuZW5jb2RlZFNpemUp
OwotICAgIHRoaXMuY2xzLmVuY29kZShvYmplY3RFbmNvZGVyLCB2YWwpOwotICB9OwotCi0gIGZ1
bmN0aW9uIE51bGxhYmxlUG9pbnRlclRvKGNscykgewotICAgIFBvaW50ZXJUby5jYWxsKHRoaXMs
IGNscyk7Ci0gIH0KLQotICBOdWxsYWJsZVBvaW50ZXJUby5wcm90b3R5cGUgPSBPYmplY3QuY3Jl
YXRlKFBvaW50ZXJUby5wcm90b3R5cGUpOwotCi0gIGZ1bmN0aW9uIEFycmF5T2YoY2xzLCBsZW5n
dGgpIHsKLSAgICB0aGlzLmNscyA9IGNsczsKLSAgICB0aGlzLmxlbmd0aCA9IGxlbmd0aCB8fCAw
OwotICB9Ci0KLSAgQXJyYXlPZi5wcm90b3R5cGUuZW5jb2RlZFNpemUgPSA4OwotCi0gIEFycmF5
T2YucHJvdG90eXBlLmRpbWVuc2lvbnMgPSBmdW5jdGlvbigpIHsKLSAgICByZXR1cm4gW3RoaXMu
bGVuZ3RoXS5jb25jYXQoCi0gICAgICAodGhpcy5jbHMgaW5zdGFuY2VvZiBBcnJheU9mKSA/IHRo
aXMuY2xzLmRpbWVuc2lvbnMoKSA6IFtdKTsKLSAgfQotCi0gIEFycmF5T2YucHJvdG90eXBlLmRl
Y29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICByZXR1cm4gZGVjb2Rlci5kZWNvZGVBcnJh
eVBvaW50ZXIodGhpcy5jbHMpOwotICB9OwotCi0gIEFycmF5T2YucHJvdG90eXBlLmVuY29kZSA9
IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgIGVuY29kZXIuZW5jb2RlQXJyYXlQb2ludGVy
KHRoaXMuY2xzLCB2YWwpOwotICB9OwotCi0gIGZ1bmN0aW9uIE51bGxhYmxlQXJyYXlPZihjbHMp
IHsKLSAgICBBcnJheU9mLmNhbGwodGhpcywgY2xzKTsKLSAgfQotCi0gIE51bGxhYmxlQXJyYXlP
Zi5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKEFycmF5T2YucHJvdG90eXBlKTsKLQotICBmdW5j
dGlvbiBIYW5kbGUoKSB7Ci0gIH0KLQotICBIYW5kbGUuZW5jb2RlZFNpemUgPSA0OwotCi0gIEhh
bmRsZS5kZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgcmV0dXJuIGRlY29kZXIuZGVj
b2RlSGFuZGxlKCk7Ci0gIH07Ci0KLSAgSGFuZGxlLmVuY29kZSA9IGZ1bmN0aW9uKGVuY29kZXIs
IHZhbCkgewotICAgIGVuY29kZXIuZW5jb2RlSGFuZGxlKHZhbCk7Ci0gIH07Ci0KLSAgZnVuY3Rp
b24gTnVsbGFibGVIYW5kbGUoKSB7Ci0gIH0KLQotICBOdWxsYWJsZUhhbmRsZS5lbmNvZGVkU2l6
ZSA9IEhhbmRsZS5lbmNvZGVkU2l6ZTsKLQotICBOdWxsYWJsZUhhbmRsZS5kZWNvZGUgPSBIYW5k
bGUuZGVjb2RlOwotCi0gIE51bGxhYmxlSGFuZGxlLmVuY29kZSA9IEhhbmRsZS5lbmNvZGU7Ci0K
LSAgZnVuY3Rpb24gSW50ZXJmYWNlKGNscykgewotICAgIHRoaXMuY2xzID0gY2xzOwotICB9Ci0K
LSAgSW50ZXJmYWNlLnByb3RvdHlwZS5lbmNvZGVkU2l6ZSA9IDg7Ci0KLSAgSW50ZXJmYWNlLnBy
b3RvdHlwZS5kZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgdmFyIGludGVyZmFjZVB0
ckluZm8gPSBuZXcgbW9qby5JbnRlcmZhY2VQdHJJbmZvKAotICAgICAgICBkZWNvZGVyLmRlY29k
ZUhhbmRsZSgpLCBkZWNvZGVyLnJlYWRVaW50MzIoKSk7Ci0gICAgdmFyIGludGVyZmFjZVB0ciA9
IG5ldyB0aGlzLmNscygpOwotICAgIGludGVyZmFjZVB0ci5wdHIuYmluZChpbnRlcmZhY2VQdHJJ
bmZvKTsKLSAgICByZXR1cm4gaW50ZXJmYWNlUHRyOwotICB9OwotCi0gIEludGVyZmFjZS5wcm90
b3R5cGUuZW5jb2RlID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAgdmFyIGludGVyZmFj
ZVB0ckluZm8gPQotICAgICAgICB2YWwgPyB2YWwucHRyLnBhc3NJbnRlcmZhY2UoKSA6IG5ldyBt
b2pvLkludGVyZmFjZVB0ckluZm8obnVsbCwgMCk7Ci0gICAgZW5jb2Rlci5lbmNvZGVIYW5kbGUo
aW50ZXJmYWNlUHRySW5mby5oYW5kbGUpOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoaW50ZXJm
YWNlUHRySW5mby52ZXJzaW9uKTsKLSAgfTsKLQotICBmdW5jdGlvbiBOdWxsYWJsZUludGVyZmFj
ZShjbHMpIHsKLSAgICBJbnRlcmZhY2UuY2FsbCh0aGlzLCBjbHMpOwotICB9Ci0KLSAgTnVsbGFi
bGVJbnRlcmZhY2UucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShJbnRlcmZhY2UucHJvdG90eXBl
KTsKLQotICBmdW5jdGlvbiBBc3NvY2lhdGVkSW50ZXJmYWNlUHRySW5mbygpIHsKLSAgfQotCi0g
IEFzc29jaWF0ZWRJbnRlcmZhY2VQdHJJbmZvLnByb3RvdHlwZS5lbmNvZGVkU2l6ZSA9IDg7Ci0K
LSAgQXNzb2NpYXRlZEludGVyZmFjZVB0ckluZm8uZGVjb2RlID0gZnVuY3Rpb24oZGVjb2Rlcikg
ewotICAgIHJldHVybiBuZXcgbW9qby5Bc3NvY2lhdGVkSW50ZXJmYWNlUHRySW5mbygKLSAgICAg
IGRlY29kZXIuZGVjb2RlQXNzb2NpYXRlZEVuZHBvaW50SGFuZGxlKCksIGRlY29kZXIucmVhZFVp
bnQzMigpKTsKLSAgfTsKLQotICBBc3NvY2lhdGVkSW50ZXJmYWNlUHRySW5mby5lbmNvZGUgPSBm
dW5jdGlvbihlbmNvZGVyLCB2YWwpIHsKLSAgICB2YXIgYXNzb2NpYXRlZGludGVyZmFjZVB0cklu
Zm8gPQotICAgICAgICB2YWwgPyB2YWwgOiBuZXcgbW9qby5Bc3NvY2lhdGVkSW50ZXJmYWNlUHRy
SW5mbyhudWxsLCAwKTsKLSAgICBlbmNvZGVyLmVuY29kZUFzc29jaWF0ZWRFbmRwb2ludEhhbmRs
ZSgKLSAgICAgICAgYXNzb2NpYXRlZGludGVyZmFjZVB0ckluZm8uaW50ZXJmYWNlRW5kcG9pbnRI
YW5kbGUpOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoYXNzb2NpYXRlZGludGVyZmFjZVB0cklu
Zm8udmVyc2lvbik7Ci0gIH07Ci0KLSAgZnVuY3Rpb24gTnVsbGFibGVBc3NvY2lhdGVkSW50ZXJm
YWNlUHRySW5mbygpIHsKLSAgfQotCi0gIE51bGxhYmxlQXNzb2NpYXRlZEludGVyZmFjZVB0cklu
Zm8uZW5jb2RlZFNpemUgPQotICAgICAgQXNzb2NpYXRlZEludGVyZmFjZVB0ckluZm8uZW5jb2Rl
ZFNpemU7Ci0KLSAgTnVsbGFibGVBc3NvY2lhdGVkSW50ZXJmYWNlUHRySW5mby5kZWNvZGUgPQot
ICAgICAgQXNzb2NpYXRlZEludGVyZmFjZVB0ckluZm8uZGVjb2RlOwotCi0gIE51bGxhYmxlQXNz
b2NpYXRlZEludGVyZmFjZVB0ckluZm8uZW5jb2RlID0KLSAgICAgIEFzc29jaWF0ZWRJbnRlcmZh
Y2VQdHJJbmZvLmVuY29kZTsKLQotICBmdW5jdGlvbiBJbnRlcmZhY2VSZXF1ZXN0KCkgewotICB9
Ci0KLSAgSW50ZXJmYWNlUmVxdWVzdC5lbmNvZGVkU2l6ZSA9IDQ7Ci0KLSAgSW50ZXJmYWNlUmVx
dWVzdC5kZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgcmV0dXJuIG5ldyBtb2pvLklu
dGVyZmFjZVJlcXVlc3QoZGVjb2Rlci5kZWNvZGVIYW5kbGUoKSk7Ci0gIH07Ci0KLSAgSW50ZXJm
YWNlUmVxdWVzdC5lbmNvZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2YWwpIHsKLSAgICBlbmNvZGVy
LmVuY29kZUhhbmRsZSh2YWwgPyB2YWwuaGFuZGxlIDogbnVsbCk7Ci0gIH07Ci0KLSAgZnVuY3Rp
b24gTnVsbGFibGVJbnRlcmZhY2VSZXF1ZXN0KCkgewotICB9Ci0KLSAgTnVsbGFibGVJbnRlcmZh
Y2VSZXF1ZXN0LmVuY29kZWRTaXplID0gSW50ZXJmYWNlUmVxdWVzdC5lbmNvZGVkU2l6ZTsKLQot
ICBOdWxsYWJsZUludGVyZmFjZVJlcXVlc3QuZGVjb2RlID0gSW50ZXJmYWNlUmVxdWVzdC5kZWNv
ZGU7Ci0KLSAgTnVsbGFibGVJbnRlcmZhY2VSZXF1ZXN0LmVuY29kZSA9IEludGVyZmFjZVJlcXVl
c3QuZW5jb2RlOwotCi0gIGZ1bmN0aW9uIEFzc29jaWF0ZWRJbnRlcmZhY2VSZXF1ZXN0KCkgewot
ICB9Ci0KLSAgQXNzb2NpYXRlZEludGVyZmFjZVJlcXVlc3QuZGVjb2RlID0gZnVuY3Rpb24oZGVj
b2RlcikgewotICAgIHZhciBoYW5kbGUgPSBkZWNvZGVyLmRlY29kZUFzc29jaWF0ZWRFbmRwb2lu
dEhhbmRsZSgpOwotICAgIHJldHVybiBuZXcgbW9qby5Bc3NvY2lhdGVkSW50ZXJmYWNlUmVxdWVz
dChoYW5kbGUpOwotICB9OwotCi0gIEFzc29jaWF0ZWRJbnRlcmZhY2VSZXF1ZXN0LmVuY29kZSA9
IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgIGVuY29kZXIuZW5jb2RlQXNzb2NpYXRlZEVu
ZHBvaW50SGFuZGxlKAotICAgICAgICB2YWwgPyB2YWwuaW50ZXJmYWNlRW5kcG9pbnRIYW5kbGUg
OiBudWxsKTsKLSAgfTsKLQotICBBc3NvY2lhdGVkSW50ZXJmYWNlUmVxdWVzdC5lbmNvZGVkU2l6
ZSA9IDQ7Ci0KLSAgZnVuY3Rpb24gTnVsbGFibGVBc3NvY2lhdGVkSW50ZXJmYWNlUmVxdWVzdCgp
IHsKLSAgfQotCi0gIE51bGxhYmxlQXNzb2NpYXRlZEludGVyZmFjZVJlcXVlc3QuZW5jb2RlZFNp
emUgPQotICAgICAgQXNzb2NpYXRlZEludGVyZmFjZVJlcXVlc3QuZW5jb2RlZFNpemU7Ci0KLSAg
TnVsbGFibGVBc3NvY2lhdGVkSW50ZXJmYWNlUmVxdWVzdC5kZWNvZGUgPQotICAgICAgQXNzb2Np
YXRlZEludGVyZmFjZVJlcXVlc3QuZGVjb2RlOwotCi0gIE51bGxhYmxlQXNzb2NpYXRlZEludGVy
ZmFjZVJlcXVlc3QuZW5jb2RlID0KLSAgICAgIEFzc29jaWF0ZWRJbnRlcmZhY2VSZXF1ZXN0LmVu
Y29kZTsKLQotICBmdW5jdGlvbiBNYXBPZihrZXlDbGFzcywgdmFsdWVDbGFzcykgewotICAgIHRo
aXMua2V5Q2xhc3MgPSBrZXlDbGFzczsKLSAgICB0aGlzLnZhbHVlQ2xhc3MgPSB2YWx1ZUNsYXNz
OwotICB9Ci0KLSAgTWFwT2YucHJvdG90eXBlLmVuY29kZWRTaXplID0gODsKLQotICBNYXBPZi5w
cm90b3R5cGUuZGVjb2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHJldHVybiBkZWNvZGVy
LmRlY29kZU1hcFBvaW50ZXIodGhpcy5rZXlDbGFzcywgdGhpcy52YWx1ZUNsYXNzKTsKLSAgfTsK
LQotICBNYXBPZi5wcm90b3R5cGUuZW5jb2RlID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0g
ICAgZW5jb2Rlci5lbmNvZGVNYXBQb2ludGVyKHRoaXMua2V5Q2xhc3MsIHRoaXMudmFsdWVDbGFz
cywgdmFsKTsKLSAgfTsKLQotICBmdW5jdGlvbiBOdWxsYWJsZU1hcE9mKGtleUNsYXNzLCB2YWx1
ZUNsYXNzKSB7Ci0gICAgTWFwT2YuY2FsbCh0aGlzLCBrZXlDbGFzcywgdmFsdWVDbGFzcyk7Ci0g
IH0KLQotICBOdWxsYWJsZU1hcE9mLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoTWFwT2YucHJv
dG90eXBlKTsKLQotICBpbnRlcm5hbC5hbGlnbiA9IGFsaWduOwotICBpbnRlcm5hbC5pc0FsaWdu
ZWQgPSBpc0FsaWduZWQ7Ci0gIGludGVybmFsLk1lc3NhZ2UgPSBNZXNzYWdlOwotICBpbnRlcm5h
bC5NZXNzYWdlVjBCdWlsZGVyID0gTWVzc2FnZVYwQnVpbGRlcjsKLSAgaW50ZXJuYWwuTWVzc2Fn
ZVYxQnVpbGRlciA9IE1lc3NhZ2VWMUJ1aWxkZXI7Ci0gIGludGVybmFsLk1lc3NhZ2VWMkJ1aWxk
ZXIgPSBNZXNzYWdlVjJCdWlsZGVyOwotICBpbnRlcm5hbC5NZXNzYWdlUmVhZGVyID0gTWVzc2Fn
ZVJlYWRlcjsKLSAgaW50ZXJuYWwua0FycmF5SGVhZGVyU2l6ZSA9IGtBcnJheUhlYWRlclNpemU7
Ci0gIGludGVybmFsLmtNYXBTdHJ1Y3RQYXlsb2FkU2l6ZSA9IGtNYXBTdHJ1Y3RQYXlsb2FkU2l6
ZTsKLSAgaW50ZXJuYWwua1N0cnVjdEhlYWRlclNpemUgPSBrU3RydWN0SGVhZGVyU2l6ZTsKLSAg
aW50ZXJuYWwua0VuY29kZWRJbnZhbGlkSGFuZGxlVmFsdWUgPSBrRW5jb2RlZEludmFsaWRIYW5k
bGVWYWx1ZTsKLSAgaW50ZXJuYWwua01lc3NhZ2VWMEhlYWRlclNpemUgPSBrTWVzc2FnZVYwSGVh
ZGVyU2l6ZTsKLSAgaW50ZXJuYWwua01lc3NhZ2VWMUhlYWRlclNpemUgPSBrTWVzc2FnZVYxSGVh
ZGVyU2l6ZTsKLSAgaW50ZXJuYWwua01lc3NhZ2VWMkhlYWRlclNpemUgPSBrTWVzc2FnZVYySGVh
ZGVyU2l6ZTsKLSAgaW50ZXJuYWwua01lc3NhZ2VQYXlsb2FkSW50ZXJmYWNlSWRzUG9pbnRlck9m
ZnNldCA9Ci0gICAgICBrTWVzc2FnZVBheWxvYWRJbnRlcmZhY2VJZHNQb2ludGVyT2Zmc2V0Owot
ICBpbnRlcm5hbC5rTWVzc2FnZUV4cGVjdHNSZXNwb25zZSA9IGtNZXNzYWdlRXhwZWN0c1Jlc3Bv
bnNlOwotICBpbnRlcm5hbC5rTWVzc2FnZUlzUmVzcG9uc2UgPSBrTWVzc2FnZUlzUmVzcG9uc2U7
Ci0gIGludGVybmFsLkludDggPSBJbnQ4OwotICBpbnRlcm5hbC5VaW50OCA9IFVpbnQ4OwotICBp
bnRlcm5hbC5JbnQxNiA9IEludDE2OwotICBpbnRlcm5hbC5VaW50MTYgPSBVaW50MTY7Ci0gIGlu
dGVybmFsLkludDMyID0gSW50MzI7Ci0gIGludGVybmFsLlVpbnQzMiA9IFVpbnQzMjsKLSAgaW50
ZXJuYWwuSW50NjQgPSBJbnQ2NDsKLSAgaW50ZXJuYWwuVWludDY0ID0gVWludDY0OwotICBpbnRl
cm5hbC5GbG9hdCA9IEZsb2F0OwotICBpbnRlcm5hbC5Eb3VibGUgPSBEb3VibGU7Ci0gIGludGVy
bmFsLlN0cmluZyA9IFN0cmluZzsKLSAgaW50ZXJuYWwuRW51bSA9IEVudW07Ci0gIGludGVybmFs
Lk51bGxhYmxlU3RyaW5nID0gTnVsbGFibGVTdHJpbmc7Ci0gIGludGVybmFsLlBvaW50ZXJUbyA9
IFBvaW50ZXJUbzsKLSAgaW50ZXJuYWwuTnVsbGFibGVQb2ludGVyVG8gPSBOdWxsYWJsZVBvaW50
ZXJUbzsKLSAgaW50ZXJuYWwuQXJyYXlPZiA9IEFycmF5T2Y7Ci0gIGludGVybmFsLk51bGxhYmxl
QXJyYXlPZiA9IE51bGxhYmxlQXJyYXlPZjsKLSAgaW50ZXJuYWwuUGFja2VkQm9vbCA9IFBhY2tl
ZEJvb2w7Ci0gIGludGVybmFsLkhhbmRsZSA9IEhhbmRsZTsKLSAgaW50ZXJuYWwuTnVsbGFibGVI
YW5kbGUgPSBOdWxsYWJsZUhhbmRsZTsKLSAgaW50ZXJuYWwuSW50ZXJmYWNlID0gSW50ZXJmYWNl
OwotICBpbnRlcm5hbC5OdWxsYWJsZUludGVyZmFjZSA9IE51bGxhYmxlSW50ZXJmYWNlOwotICBp
bnRlcm5hbC5JbnRlcmZhY2VSZXF1ZXN0ID0gSW50ZXJmYWNlUmVxdWVzdDsKLSAgaW50ZXJuYWwu
TnVsbGFibGVJbnRlcmZhY2VSZXF1ZXN0ID0gTnVsbGFibGVJbnRlcmZhY2VSZXF1ZXN0OwotICBp
bnRlcm5hbC5Bc3NvY2lhdGVkSW50ZXJmYWNlUHRySW5mbyA9IEFzc29jaWF0ZWRJbnRlcmZhY2VQ
dHJJbmZvOwotICBpbnRlcm5hbC5OdWxsYWJsZUFzc29jaWF0ZWRJbnRlcmZhY2VQdHJJbmZvID0K
LSAgICAgIE51bGxhYmxlQXNzb2NpYXRlZEludGVyZmFjZVB0ckluZm87Ci0gIGludGVybmFsLkFz
c29jaWF0ZWRJbnRlcmZhY2VSZXF1ZXN0ID0gQXNzb2NpYXRlZEludGVyZmFjZVJlcXVlc3Q7Ci0g
IGludGVybmFsLk51bGxhYmxlQXNzb2NpYXRlZEludGVyZmFjZVJlcXVlc3QgPQotICAgICAgTnVs
bGFibGVBc3NvY2lhdGVkSW50ZXJmYWNlUmVxdWVzdDsKLSAgaW50ZXJuYWwuTWFwT2YgPSBNYXBP
ZjsKLSAgaW50ZXJuYWwuTnVsbGFibGVNYXBPZiA9IE51bGxhYmxlTWFwT2Y7Ci19KSgpOwotLy8g
Q29weXJpZ2h0IDIwMTQgVGhlIENocm9taXVtIEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
Ci0vLyBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBs
aWNlbnNlIHRoYXQgY2FuIGJlCi0vLyBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgotCi0oZnVu
Y3Rpb24oKSB7Ci0gIHZhciBpbnRlcm5hbCA9IG1vam8uaW50ZXJuYWw7Ci0KLSAgZnVuY3Rpb24g
Q29ubmVjdG9yKGhhbmRsZSkgewotICAgIGlmICghKGhhbmRsZSBpbnN0YW5jZW9mIE1vam9IYW5k
bGUpKQotICAgICAgdGhyb3cgbmV3IEVycm9yKCJDb25uZWN0b3I6IG5vdCBhIGhhbmRsZSAiICsg
aGFuZGxlKTsKLSAgICB0aGlzLmhhbmRsZV8gPSBoYW5kbGU7Ci0gICAgdGhpcy5kcm9wV3JpdGVz
XyA9IGZhbHNlOwotICAgIHRoaXMuZXJyb3JfID0gZmFsc2U7Ci0gICAgdGhpcy5pbmNvbWluZ1Jl
Y2VpdmVyXyA9IG51bGw7Ci0gICAgdGhpcy5yZWFkV2F0Y2hlcl8gPSBudWxsOwotICAgIHRoaXMu
ZXJyb3JIYW5kbGVyXyA9IG51bGw7Ci0gICAgdGhpcy5wYXVzZWRfID0gZmFsc2U7Ci0KLSAgICB0
aGlzLndhaXRUb1JlYWRNb3JlKCk7Ci0gIH0KLQotICBDb25uZWN0b3IucHJvdG90eXBlLmNsb3Nl
ID0gZnVuY3Rpb24oKSB7Ci0gICAgdGhpcy5jYW5jZWxXYWl0KCk7Ci0gICAgaWYgKHRoaXMuaGFu
ZGxlXyAhPSBudWxsKSB7Ci0gICAgICB0aGlzLmhhbmRsZV8uY2xvc2UoKTsKLSAgICAgIHRoaXMu
aGFuZGxlXyA9IG51bGw7Ci0gICAgfQotICB9OwotCi0gIENvbm5lY3Rvci5wcm90b3R5cGUucGF1
c2VJbmNvbWluZ01ldGhvZENhbGxQcm9jZXNzaW5nID0gZnVuY3Rpb24oKSB7Ci0gICAgaWYgKHRo
aXMucGF1c2VkXykgewotICAgICAgcmV0dXJuOwotICAgIH0KLSAgICB0aGlzLnBhdXNlZF89IHRy
dWU7Ci0gICAgdGhpcy5jYW5jZWxXYWl0KCk7Ci0gIH07Ci0KLSAgQ29ubmVjdG9yLnByb3RvdHlw
ZS5yZXN1bWVJbmNvbWluZ01ldGhvZENhbGxQcm9jZXNzaW5nID0gZnVuY3Rpb24oKSB7Ci0gICAg
aWYgKCF0aGlzLnBhdXNlZF8pIHsKLSAgICAgIHJldHVybjsKLSAgICB9Ci0gICAgdGhpcy5wYXVz
ZWRfPSBmYWxzZTsKLSAgICB0aGlzLndhaXRUb1JlYWRNb3JlKCk7Ci0gIH07Ci0KLSAgQ29ubmVj
dG9yLnByb3RvdHlwZS5hY2NlcHQgPSBmdW5jdGlvbihtZXNzYWdlKSB7Ci0gICAgaWYgKHRoaXMu
ZXJyb3JfKQotICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgaWYgKHRoaXMuZHJvcFdyaXRlc18p
Ci0gICAgICByZXR1cm4gdHJ1ZTsKLQotICAgIHZhciByZXN1bHQgPSB0aGlzLmhhbmRsZV8ud3Jp
dGVNZXNzYWdlKAotICAgICAgICBuZXcgVWludDhBcnJheShtZXNzYWdlLmJ1ZmZlci5hcnJheUJ1
ZmZlciksIG1lc3NhZ2UuaGFuZGxlcyk7Ci0gICAgc3dpdGNoIChyZXN1bHQpIHsKLSAgICAgIGNh
c2UgTW9qby5SRVNVTFRfT0s6Ci0gICAgICAgIC8vIFRoZSBoYW5kbGVzIHdlcmUgc3VjY2Vzc2Z1
bGx5IHRyYW5zZmVycmVkLCBzbyB3ZSBkb24ndCBvd24gdGhlbQotICAgICAgICAvLyBhbnltb3Jl
LgotICAgICAgICBtZXNzYWdlLmhhbmRsZXMgPSBbXTsKLSAgICAgICAgYnJlYWs7Ci0gICAgICBj
YXNlIE1vam8uUkVTVUxUX0ZBSUxFRF9QUkVDT05ESVRJT046Ci0gICAgICAgIC8vIFRoZXJlJ3Mg
bm8gcG9pbnQgaW4gY29udGludWluZyB0byB3cml0ZSB0byB0aGlzIHBpcGUgc2luY2UgdGhlIG90
aGVyCi0gICAgICAgIC8vIGVuZCBpcyBnb25lLiBBdm9pZCB3cml0aW5nIGFueSBmdXR1cmUgbWVz
c2FnZXMuIEhpZGUgd3JpdGUgZmFpbHVyZXMKLSAgICAgICAgLy8gZnJvbSB0aGUgY2FsbGVyIHNp
bmNlIHdlJ2QgbGlrZSB0aGVtIHRvIGNvbnRpbnVlIGNvbnN1bWluZyBhbnkKLSAgICAgICAgLy8g
YmFja2xvZyBvZiBpbmNvbWluZyBtZXNzYWdlcyBiZWZvcmUgcmVnYXJkaW5nIHRoZSBtZXNzYWdl
IHBpcGUgYXMKLSAgICAgICAgLy8gY2xvc2VkLgotICAgICAgICB0aGlzLmRyb3BXcml0ZXNfID0g
dHJ1ZTsKLSAgICAgICAgYnJlYWs7Ci0gICAgICBkZWZhdWx0OgotICAgICAgICAvLyBUaGlzIHBh
cnRpY3VsYXIgd3JpdGUgd2FzIHJlamVjdGVkLCBwcmVzdW1hYmx5IGJlY2F1c2Ugb2YgYmFkIGlu
cHV0LgotICAgICAgICAvLyBUaGUgcGlwZSBpcyBub3QgbmVjZXNzYXJpbHkgaW4gYSBiYWQgc3Rh
dGUuCi0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICB9Ci0gICAgcmV0dXJuIHRydWU7Ci0gIH07
Ci0KLSAgQ29ubmVjdG9yLnByb3RvdHlwZS5zZXRJbmNvbWluZ1JlY2VpdmVyID0gZnVuY3Rpb24o
cmVjZWl2ZXIpIHsKLSAgICB0aGlzLmluY29taW5nUmVjZWl2ZXJfID0gcmVjZWl2ZXI7Ci0gIH07
Ci0KLSAgQ29ubmVjdG9yLnByb3RvdHlwZS5zZXRFcnJvckhhbmRsZXIgPSBmdW5jdGlvbihoYW5k
bGVyKSB7Ci0gICAgdGhpcy5lcnJvckhhbmRsZXJfID0gaGFuZGxlcjsKLSAgfTsKLQotICBDb25u
ZWN0b3IucHJvdG90eXBlLnJlYWRNb3JlXyA9IGZ1bmN0aW9uKHJlc3VsdCkgewotICAgIGZvciAo
OzspIHsKLSAgICAgIGlmICh0aGlzLnBhdXNlZF8pIHsKLSAgICAgICAgcmV0dXJuOwotICAgICAg
fQotCi0gICAgICB2YXIgcmVhZCA9IHRoaXMuaGFuZGxlXy5yZWFkTWVzc2FnZSgpOwotICAgICAg
aWYgKHRoaXMuaGFuZGxlXyA9PSBudWxsKSAvLyBUaGUgY29ubmVjdG9yIGhhcyBiZWVuIGNsb3Nl
ZC4KLSAgICAgICAgcmV0dXJuOwotICAgICAgaWYgKHJlYWQucmVzdWx0ID09IE1vam8uUkVTVUxU
X1NIT1VMRF9XQUlUKQotICAgICAgICByZXR1cm47Ci0gICAgICBpZiAocmVhZC5yZXN1bHQgIT0g
TW9qby5SRVNVTFRfT0spIHsKLSAgICAgICAgdGhpcy5oYW5kbGVFcnJvcihyZWFkLnJlc3VsdCAh
PT0gTW9qby5SRVNVTFRfRkFJTEVEX1BSRUNPTkRJVElPTiwKLSAgICAgICAgICAgIGZhbHNlKTsK
LSAgICAgICAgcmV0dXJuOwotICAgICAgfQotICAgICAgdmFyIG1lc3NhZ2VCdWZmZXIgPSBuZXcg
aW50ZXJuYWwuQnVmZmVyKHJlYWQuYnVmZmVyKTsKLSAgICAgIHZhciBtZXNzYWdlID0gbmV3IGlu
dGVybmFsLk1lc3NhZ2UobWVzc2FnZUJ1ZmZlciwgcmVhZC5oYW5kbGVzKTsKLSAgICAgIHZhciBy
ZWNlaXZlclJlc3VsdCA9IHRoaXMuaW5jb21pbmdSZWNlaXZlcl8gJiYKLSAgICAgICAgICB0aGlz
LmluY29taW5nUmVjZWl2ZXJfLmFjY2VwdChtZXNzYWdlKTsKLQotICAgICAgLy8gRGlzcGF0Y2hp
bmcgdGhlIG1lc3NhZ2UgbWF5IGhhdmUgY2xvc2VkIHRoZSBjb25uZWN0b3IuCi0gICAgICBpZiAo
dGhpcy5oYW5kbGVfID09IG51bGwpCi0gICAgICAgIHJldHVybjsKLQotICAgICAgLy8gSGFuZGxl
IGludmFsaWQgaW5jb21pbmcgbWVzc2FnZS4KLSAgICAgIGlmICghaW50ZXJuYWwuaXNUZXN0aW5n
TW9kZSgpICYmICFyZWNlaXZlclJlc3VsdCkgewotICAgICAgICAvLyBUT0RPKHl6c2hlbik6IENv
bnNpZGVyIG5vdGlmeWluZyB0aGUgZW1iZWRkZXIuCi0gICAgICAgIHRoaXMuaGFuZGxlRXJyb3Io
dHJ1ZSwgZmFsc2UpOwotICAgICAgfQotICAgIH0KLSAgfTsKLQotICBDb25uZWN0b3IucHJvdG90
eXBlLmNhbmNlbFdhaXQgPSBmdW5jdGlvbigpIHsKLSAgICBpZiAodGhpcy5yZWFkV2F0Y2hlcl8p
IHsKLSAgICAgIHRoaXMucmVhZFdhdGNoZXJfLmNhbmNlbCgpOwotICAgICAgdGhpcy5yZWFkV2F0
Y2hlcl8gPSBudWxsOwotICAgIH0KLSAgfTsKLQotICBDb25uZWN0b3IucHJvdG90eXBlLndhaXRU
b1JlYWRNb3JlID0gZnVuY3Rpb24oKSB7Ci0gICAgaWYgKHRoaXMuaGFuZGxlXykgewotICAgICAg
dGhpcy5yZWFkV2F0Y2hlcl8gPSB0aGlzLmhhbmRsZV8ud2F0Y2goe3JlYWRhYmxlOiB0cnVlfSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucmVhZE1v
cmVfLmJpbmQodGhpcykpOwotICAgIH0KLSAgfTsKLQotICBDb25uZWN0b3IucHJvdG90eXBlLmhh
bmRsZUVycm9yID0gZnVuY3Rpb24oZm9yY2VQaXBlUmVzZXQsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JjZUFzeW5jSGFuZGxlcikgewotICAgIGlmICh0
aGlzLmVycm9yXyB8fCB0aGlzLmhhbmRsZV8gPT09IG51bGwpIHsKLSAgICAgIHJldHVybjsKLSAg
ICB9Ci0KLSAgICBpZiAodGhpcy5wYXVzZWRfKSB7Ci0gICAgICAvLyBFbmZvcmNlIGNhbGxpbmcg
dGhlIGVycm9yIGhhbmRsZXIgYXN5bmNocm9ub3VzbHkgaWYgdGhlIHVzZXIgaGFzCi0gICAgICAv
LyBwYXVzZWQgcmVjZWl2aW5nIG1lc3NhZ2VzLiBXZSBuZWVkIHRvIHdhaXQgdW50aWwgdGhlIHVz
ZXIgc3RhcnRzCi0gICAgICAvLyByZWNlaXZpbmcgbWVzc2FnZXMgYWdhaW4uCi0gICAgICBmb3Jj
ZUFzeW5jSGFuZGxlciA9IHRydWU7Ci0gICAgfQotCi0gICAgaWYgKCFmb3JjZVBpcGVSZXNldCAm
JiBmb3JjZUFzeW5jSGFuZGxlcikgewotICAgICAgZm9yY2VQaXBlUmVzZXQgPSB0cnVlOwotICAg
IH0KLQotICAgIHRoaXMuY2FuY2VsV2FpdCgpOwotICAgIGlmIChmb3JjZVBpcGVSZXNldCkgewot
ICAgICAgdGhpcy5oYW5kbGVfLmNsb3NlKCk7Ci0gICAgICB2YXIgZHVtbXlQaXBlID0gTW9qby5j
cmVhdGVNZXNzYWdlUGlwZSgpOwotICAgICAgdGhpcy5oYW5kbGVfID0gZHVtbXlQaXBlLmhhbmRs
ZTA7Ci0gICAgfQotCi0gICAgaWYgKGZvcmNlQXN5bmNIYW5kbGVyKSB7Ci0gICAgICBpZiAoIXRo
aXMucGF1c2VkXykgewotICAgICAgICB0aGlzLndhaXRUb1JlYWRNb3JlKCk7Ci0gICAgICB9Ci0g
ICAgfSBlbHNlIHsKLSAgICAgIHRoaXMuZXJyb3JfID0gdHJ1ZTsKLSAgICAgIGlmICh0aGlzLmVy
cm9ySGFuZGxlcl8pIHsKLSAgICAgICAgdGhpcy5lcnJvckhhbmRsZXJfLm9uRXJyb3IoKTsKLSAg
ICAgIH0KLSAgICB9Ci0gIH07Ci0KLSAgaW50ZXJuYWwuQ29ubmVjdG9yID0gQ29ubmVjdG9yOwot
fSkoKTsKLS8vIENvcHlyaWdodCAyMDE3IFRoZSBDaHJvbWl1bSBBdXRob3JzLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgotLy8gVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBC
U0Qtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQotLy8gZm91bmQgaW4gdGhlIExJQ0VOU0UgZmls
ZS4KLQotKGZ1bmN0aW9uKCkgewotICB2YXIgaW50ZXJuYWwgPSBtb2pvLmludGVybmFsOwotCi0g
IGZ1bmN0aW9uIHZhbGlkYXRlQ29udHJvbFJlcXVlc3RXaXRoUmVzcG9uc2UobWVzc2FnZSkgewot
ICAgIHZhciBtZXNzYWdlVmFsaWRhdG9yID0gbmV3IGludGVybmFsLlZhbGlkYXRvcihtZXNzYWdl
KTsKLSAgICB2YXIgZXJyb3IgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlTWVzc2FnZUlzUmVx
dWVzdEV4cGVjdGluZ1Jlc3BvbnNlKCk7Ci0gICAgaWYgKGVycm9yICE9PSBpbnRlcm5hbC52YWxp
ZGF0aW9uRXJyb3IuTk9ORSkgewotICAgICAgdGhyb3cgZXJyb3I7Ci0gICAgfQotCi0gICAgaWYg
KG1lc3NhZ2UuZ2V0TmFtZSgpICE9IG1vam8uaW50ZXJmYWNlQ29udHJvbC5rUnVuTWVzc2FnZUlk
KSB7Ci0gICAgICB0aHJvdyBuZXcgRXJyb3IoIkNvbnRyb2wgbWVzc2FnZSBuYW1lIGlzIG5vdCBr
UnVuTWVzc2FnZUlkIik7Ci0gICAgfQotCi0gICAgLy8gVmFsaWRhdGUgcGF5bG9hZC4KLSAgICBl
cnJvciA9IG1vam8uaW50ZXJmYWNlQ29udHJvbC5SdW5NZXNzYWdlUGFyYW1zLnZhbGlkYXRlKG1l
c3NhZ2VWYWxpZGF0b3IsCi0gICAgICAgIG1lc3NhZ2UuZ2V0SGVhZGVyTnVtQnl0ZXMoKSk7Ci0g
ICAgaWYgKGVycm9yICE9IGludGVybmFsLnZhbGlkYXRpb25FcnJvci5OT05FKSB7Ci0gICAgICB0
aHJvdyBlcnJvcjsKLSAgICB9Ci0gIH0KLQotICBmdW5jdGlvbiB2YWxpZGF0ZUNvbnRyb2xSZXF1
ZXN0V2l0aG91dFJlc3BvbnNlKG1lc3NhZ2UpIHsKLSAgICB2YXIgbWVzc2FnZVZhbGlkYXRvciA9
IG5ldyBpbnRlcm5hbC5WYWxpZGF0b3IobWVzc2FnZSk7Ci0gICAgdmFyIGVycm9yID0gbWVzc2Fn
ZVZhbGlkYXRvci52YWxpZGF0ZU1lc3NhZ2VJc1JlcXVlc3RXaXRob3V0UmVzcG9uc2UoKTsKLSAg
ICBpZiAoZXJyb3IgIT0gaW50ZXJuYWwudmFsaWRhdGlvbkVycm9yLk5PTkUpIHsKLSAgICAgIHRo
cm93IGVycm9yOwotICAgIH0KLQotICAgIGlmIChtZXNzYWdlLmdldE5hbWUoKSAhPSBtb2pvLmlu
dGVyZmFjZUNvbnRyb2wua1J1bk9yQ2xvc2VQaXBlTWVzc2FnZUlkKSB7Ci0gICAgICB0aHJvdyBu
ZXcgRXJyb3IoIkNvbnRyb2wgbWVzc2FnZSBuYW1lIGlzIG5vdCBrUnVuT3JDbG9zZVBpcGVNZXNz
YWdlSWQiKTsKLSAgICB9Ci0KLSAgICAvLyBWYWxpZGF0ZSBwYXlsb2FkLgotICAgIGVycm9yID0g
bW9qby5pbnRlcmZhY2VDb250cm9sLlJ1bk9yQ2xvc2VQaXBlTWVzc2FnZVBhcmFtcy52YWxpZGF0
ZSgKLSAgICAgICAgbWVzc2FnZVZhbGlkYXRvciwgbWVzc2FnZS5nZXRIZWFkZXJOdW1CeXRlcygp
KTsKLSAgICBpZiAoZXJyb3IgIT0gaW50ZXJuYWwudmFsaWRhdGlvbkVycm9yLk5PTkUpIHsKLSAg
ICAgIHRocm93IGVycm9yOwotICAgIH0KLSAgfQotCi0gIGZ1bmN0aW9uIHJ1bk9yQ2xvc2VQaXBl
KG1lc3NhZ2UsIGludGVyZmFjZVZlcnNpb24pIHsKLSAgICB2YXIgcmVhZGVyID0gbmV3IGludGVy
bmFsLk1lc3NhZ2VSZWFkZXIobWVzc2FnZSk7Ci0gICAgdmFyIHJ1bk9yQ2xvc2VQaXBlTWVzc2Fn
ZVBhcmFtcyA9IHJlYWRlci5kZWNvZGVTdHJ1Y3QoCi0gICAgICAgIG1vam8uaW50ZXJmYWNlQ29u
dHJvbC5SdW5PckNsb3NlUGlwZU1lc3NhZ2VQYXJhbXMpOwotICAgIHJldHVybiBpbnRlcmZhY2VW
ZXJzaW9uID49Ci0gICAgICAgIHJ1bk9yQ2xvc2VQaXBlTWVzc2FnZVBhcmFtcy5pbnB1dC5yZXF1
aXJlVmVyc2lvbi52ZXJzaW9uOwotICB9Ci0KLSAgZnVuY3Rpb24gcnVuKG1lc3NhZ2UsIHJlc3Bv
bmRlciwgaW50ZXJmYWNlVmVyc2lvbikgewotICAgIHZhciByZWFkZXIgPSBuZXcgaW50ZXJuYWwu
TWVzc2FnZVJlYWRlcihtZXNzYWdlKTsKLSAgICB2YXIgcnVuTWVzc2FnZVBhcmFtcyA9Ci0gICAg
ICAgIHJlYWRlci5kZWNvZGVTdHJ1Y3QobW9qby5pbnRlcmZhY2VDb250cm9sLlJ1bk1lc3NhZ2VQ
YXJhbXMpOwotICAgIHZhciBydW5PdXRwdXQgPSBudWxsOwotCi0gICAgaWYgKHJ1bk1lc3NhZ2VQ
YXJhbXMuaW5wdXQucXVlcnlWZXJzaW9uKSB7Ci0gICAgICBydW5PdXRwdXQgPSBuZXcgbW9qby5p
bnRlcmZhY2VDb250cm9sLlJ1bk91dHB1dCgpOwotICAgICAgcnVuT3V0cHV0LnF1ZXJ5VmVyc2lv
blJlc3VsdCA9IG5ldwotICAgICAgICAgIG1vam8uaW50ZXJmYWNlQ29udHJvbC5RdWVyeVZlcnNp
b25SZXN1bHQoCi0gICAgICAgICAgICAgIHsndmVyc2lvbic6IGludGVyZmFjZVZlcnNpb259KTsK
LSAgICB9Ci0KLSAgICB2YXIgcnVuUmVzcG9uc2VNZXNzYWdlUGFyYW1zID0gbmV3Ci0gICAgICAg
IG1vam8uaW50ZXJmYWNlQ29udHJvbC5SdW5SZXNwb25zZU1lc3NhZ2VQYXJhbXMoKTsKLSAgICBy
dW5SZXNwb25zZU1lc3NhZ2VQYXJhbXMub3V0cHV0ID0gcnVuT3V0cHV0OwotCi0gICAgdmFyIG1l
c3NhZ2VOYW1lID0gbW9qby5pbnRlcmZhY2VDb250cm9sLmtSdW5NZXNzYWdlSWQ7Ci0gICAgdmFy
IHBheWxvYWRTaXplID0KLSAgICAgICAgbW9qby5pbnRlcmZhY2VDb250cm9sLlJ1blJlc3BvbnNl
TWVzc2FnZVBhcmFtcy5lbmNvZGVkU2l6ZTsKLSAgICB2YXIgcmVxdWVzdElEID0gcmVhZGVyLnJl
cXVlc3RJRDsKLSAgICB2YXIgYnVpbGRlciA9IG5ldyBpbnRlcm5hbC5NZXNzYWdlVjFCdWlsZGVy
KG1lc3NhZ2VOYW1lLAotICAgICAgICBwYXlsb2FkU2l6ZSwgaW50ZXJuYWwua01lc3NhZ2VJc1Jl
c3BvbnNlLCByZXF1ZXN0SUQpOwotICAgIGJ1aWxkZXIuZW5jb2RlU3RydWN0KG1vam8uaW50ZXJm
YWNlQ29udHJvbC5SdW5SZXNwb25zZU1lc3NhZ2VQYXJhbXMsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgcnVuUmVzcG9uc2VNZXNzYWdlUGFyYW1zKTsKLSAgICByZXNwb25kZXIuYWNjZXB0KGJ1
aWxkZXIuZmluaXNoKCkpOwotICAgIHJldHVybiB0cnVlOwotICB9Ci0KLSAgZnVuY3Rpb24gaXNJ
bnRlcmZhY2VDb250cm9sTWVzc2FnZShtZXNzYWdlKSB7Ci0gICAgcmV0dXJuIG1lc3NhZ2UuZ2V0
TmFtZSgpID09IG1vam8uaW50ZXJmYWNlQ29udHJvbC5rUnVuTWVzc2FnZUlkIHx8Ci0gICAgICAg
ICAgIG1lc3NhZ2UuZ2V0TmFtZSgpID09IG1vam8uaW50ZXJmYWNlQ29udHJvbC5rUnVuT3JDbG9z
ZVBpcGVNZXNzYWdlSWQ7Ci0gIH0KLQotICBmdW5jdGlvbiBDb250cm9sTWVzc2FnZUhhbmRsZXIo
aW50ZXJmYWNlVmVyc2lvbikgewotICAgIHRoaXMuaW50ZXJmYWNlVmVyc2lvbl8gPSBpbnRlcmZh
Y2VWZXJzaW9uOwotICB9Ci0KLSAgQ29udHJvbE1lc3NhZ2VIYW5kbGVyLnByb3RvdHlwZS5hY2Nl
cHQgPSBmdW5jdGlvbihtZXNzYWdlKSB7Ci0gICAgdmFsaWRhdGVDb250cm9sUmVxdWVzdFdpdGhv
dXRSZXNwb25zZShtZXNzYWdlKTsKLSAgICByZXR1cm4gcnVuT3JDbG9zZVBpcGUobWVzc2FnZSwg
dGhpcy5pbnRlcmZhY2VWZXJzaW9uXyk7Ci0gIH07Ci0KLSAgQ29udHJvbE1lc3NhZ2VIYW5kbGVy
LnByb3RvdHlwZS5hY2NlcHRXaXRoUmVzcG9uZGVyID0gZnVuY3Rpb24obWVzc2FnZSwKLSAgICAg
IHJlc3BvbmRlcikgewotICAgIHZhbGlkYXRlQ29udHJvbFJlcXVlc3RXaXRoUmVzcG9uc2UobWVz
c2FnZSk7Ci0gICAgcmV0dXJuIHJ1bihtZXNzYWdlLCByZXNwb25kZXIsIHRoaXMuaW50ZXJmYWNl
VmVyc2lvbl8pOwotICB9OwotCi0gIGludGVybmFsLkNvbnRyb2xNZXNzYWdlSGFuZGxlciA9IENv
bnRyb2xNZXNzYWdlSGFuZGxlcjsKLSAgaW50ZXJuYWwuaXNJbnRlcmZhY2VDb250cm9sTWVzc2Fn
ZSA9IGlzSW50ZXJmYWNlQ29udHJvbE1lc3NhZ2U7Ci19KSgpOwotLy8gQ29weXJpZ2h0IDIwMTcg
VGhlIENocm9taXVtIEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0vLyBVc2Ugb2YgdGhp
cyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlIHRoYXQgY2Fu
IGJlCi0vLyBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgotCi0oZnVuY3Rpb24oKSB7Ci0gIHZh
ciBpbnRlcm5hbCA9IG1vam8uaW50ZXJuYWw7Ci0KLSAgZnVuY3Rpb24gY29uc3RydWN0UnVuT3JD
bG9zZVBpcGVNZXNzYWdlKHJ1bk9yQ2xvc2VQaXBlSW5wdXQpIHsKLSAgICB2YXIgcnVuT3JDbG9z
ZVBpcGVNZXNzYWdlUGFyYW1zID0gbmV3Ci0gICAgICAgIG1vam8uaW50ZXJmYWNlQ29udHJvbC5S
dW5PckNsb3NlUGlwZU1lc3NhZ2VQYXJhbXMoKTsKLSAgICBydW5PckNsb3NlUGlwZU1lc3NhZ2VQ
YXJhbXMuaW5wdXQgPSBydW5PckNsb3NlUGlwZUlucHV0OwotCi0gICAgdmFyIG1lc3NhZ2VOYW1l
ID0gbW9qby5pbnRlcmZhY2VDb250cm9sLmtSdW5PckNsb3NlUGlwZU1lc3NhZ2VJZDsKLSAgICB2
YXIgcGF5bG9hZFNpemUgPQotICAgICAgICBtb2pvLmludGVyZmFjZUNvbnRyb2wuUnVuT3JDbG9z
ZVBpcGVNZXNzYWdlUGFyYW1zLmVuY29kZWRTaXplOwotICAgIHZhciBidWlsZGVyID0gbmV3IGlu
dGVybmFsLk1lc3NhZ2VWMEJ1aWxkZXIobWVzc2FnZU5hbWUsIHBheWxvYWRTaXplKTsKLSAgICBi
dWlsZGVyLmVuY29kZVN0cnVjdChtb2pvLmludGVyZmFjZUNvbnRyb2wuUnVuT3JDbG9zZVBpcGVN
ZXNzYWdlUGFyYW1zLAotICAgICAgICAgICAgICAgICAgICAgICAgIHJ1bk9yQ2xvc2VQaXBlTWVz
c2FnZVBhcmFtcyk7Ci0gICAgdmFyIG1lc3NhZ2UgPSBidWlsZGVyLmZpbmlzaCgpOwotICAgIHJl
dHVybiBtZXNzYWdlOwotICB9Ci0KLSAgZnVuY3Rpb24gdmFsaWRhdGVDb250cm9sUmVzcG9uc2Uo
bWVzc2FnZSkgewotICAgIHZhciBtZXNzYWdlVmFsaWRhdG9yID0gbmV3IGludGVybmFsLlZhbGlk
YXRvcihtZXNzYWdlKTsKLSAgICB2YXIgZXJyb3IgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRl
TWVzc2FnZUlzUmVzcG9uc2UoKTsKLSAgICBpZiAoZXJyb3IgIT0gaW50ZXJuYWwudmFsaWRhdGlv
bkVycm9yLk5PTkUpIHsKLSAgICAgIHRocm93IGVycm9yOwotICAgIH0KLQotICAgIGlmIChtZXNz
YWdlLmdldE5hbWUoKSAhPSBtb2pvLmludGVyZmFjZUNvbnRyb2wua1J1bk1lc3NhZ2VJZCkgewot
ICAgICAgdGhyb3cgbmV3IEVycm9yKCJDb250cm9sIG1lc3NhZ2UgbmFtZSBpcyBub3Qga1J1bk1l
c3NhZ2VJZCIpOwotICAgIH0KLQotICAgIC8vIFZhbGlkYXRlIHBheWxvYWQuCi0gICAgZXJyb3Ig
PSBtb2pvLmludGVyZmFjZUNvbnRyb2wuUnVuUmVzcG9uc2VNZXNzYWdlUGFyYW1zLnZhbGlkYXRl
KAotICAgICAgICBtZXNzYWdlVmFsaWRhdG9yLCBtZXNzYWdlLmdldEhlYWRlck51bUJ5dGVzKCkp
OwotICAgIGlmIChlcnJvciAhPSBpbnRlcm5hbC52YWxpZGF0aW9uRXJyb3IuTk9ORSkgewotICAg
ICAgdGhyb3cgZXJyb3I7Ci0gICAgfQotICB9Ci0KLSAgZnVuY3Rpb24gYWNjZXB0UnVuUmVzcG9u
c2UobWVzc2FnZSkgewotICAgIHZhbGlkYXRlQ29udHJvbFJlc3BvbnNlKG1lc3NhZ2UpOwotCi0g
ICAgdmFyIHJlYWRlciA9IG5ldyBpbnRlcm5hbC5NZXNzYWdlUmVhZGVyKG1lc3NhZ2UpOwotICAg
IHZhciBydW5SZXNwb25zZU1lc3NhZ2VQYXJhbXMgPSByZWFkZXIuZGVjb2RlU3RydWN0KAotICAg
ICAgICBtb2pvLmludGVyZmFjZUNvbnRyb2wuUnVuUmVzcG9uc2VNZXNzYWdlUGFyYW1zKTsKLQot
ICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUocnVuUmVzcG9uc2VNZXNzYWdlUGFyYW1zKTsKLSAg
fQotCi0gLyoqCi0gICogU2VuZHMgdGhlIGdpdmVuIHJ1biBtZXNzYWdlIHRocm91Z2ggdGhlIHJl
Y2VpdmVyLgotICAqIEFjY2VwdHMgdGhlIHJlc3BvbnNlIG1lc3NhZ2UgZnJvbSB0aGUgcmVjZWl2
ZXIgYW5kIGRlY29kZXMgdGhlIG1lc3NhZ2UKLSAgKiBzdHJ1Y3QgdG8gUnVuUmVzcG9uc2VNZXNz
YWdlUGFyYW1zLgotICAqCi0gICogQHBhcmFtICB7Um91dGVyfSByZWNlaXZlci4KLSAgKiBAcGFy
YW0gIHtSdW5NZXNzYWdlUGFyYW1zfSBydW5NZXNzYWdlUGFyYW1zIHRvIGJlIHNlbnQgdmlhIGEg
bWVzc2FnZS4KLSAgKiBAcmV0dXJuIHtQcm9taXNlfSB0aGF0IHJlc29sdmVzIHRvIGEgUnVuUmVz
cG9uc2VNZXNzYWdlUGFyYW1zLgotICAqLwotICBmdW5jdGlvbiBzZW5kUnVuTWVzc2FnZShyZWNl
aXZlciwgcnVuTWVzc2FnZVBhcmFtcykgewotICAgIHZhciBtZXNzYWdlTmFtZSA9IG1vam8uaW50
ZXJmYWNlQ29udHJvbC5rUnVuTWVzc2FnZUlkOwotICAgIHZhciBwYXlsb2FkU2l6ZSA9IG1vam8u
aW50ZXJmYWNlQ29udHJvbC5SdW5NZXNzYWdlUGFyYW1zLmVuY29kZWRTaXplOwotICAgIC8vIHxy
ZXF1ZXN0SUR8IGlzIHNldCB0byAwLCBidXQgaXMgbGF0ZXIgcHJvcGVybHkgc2V0IGJ5IFJvdXRl
ci4KLSAgICB2YXIgYnVpbGRlciA9IG5ldyBpbnRlcm5hbC5NZXNzYWdlVjFCdWlsZGVyKG1lc3Nh
Z2VOYW1lLAotICAgICAgICBwYXlsb2FkU2l6ZSwgaW50ZXJuYWwua01lc3NhZ2VFeHBlY3RzUmVz
cG9uc2UsIDApOwotICAgIGJ1aWxkZXIuZW5jb2RlU3RydWN0KG1vam8uaW50ZXJmYWNlQ29udHJv
bC5SdW5NZXNzYWdlUGFyYW1zLAotICAgICAgICAgICAgICAgICAgICAgICAgIHJ1bk1lc3NhZ2VQ
YXJhbXMpOwotICAgIHZhciBtZXNzYWdlID0gYnVpbGRlci5maW5pc2goKTsKLQotICAgIHJldHVy
biByZWNlaXZlci5hY2NlcHRBbmRFeHBlY3RSZXNwb25zZShtZXNzYWdlKS50aGVuKGFjY2VwdFJ1
blJlc3BvbnNlKTsKLSAgfQotCi0gIGZ1bmN0aW9uIENvbnRyb2xNZXNzYWdlUHJveHkocmVjZWl2
ZXIpIHsKLSAgICB0aGlzLnJlY2VpdmVyXyA9IHJlY2VpdmVyOwotICB9Ci0KLSAgQ29udHJvbE1l
c3NhZ2VQcm94eS5wcm90b3R5cGUucXVlcnlWZXJzaW9uID0gZnVuY3Rpb24oKSB7Ci0gICAgdmFy
IHJ1bk1lc3NhZ2VQYXJhbXMgPSBuZXcgbW9qby5pbnRlcmZhY2VDb250cm9sLlJ1bk1lc3NhZ2VQ
YXJhbXMoKTsKLSAgICBydW5NZXNzYWdlUGFyYW1zLmlucHV0ID0gbmV3IG1vam8uaW50ZXJmYWNl
Q29udHJvbC5SdW5JbnB1dCgpOwotICAgIHJ1bk1lc3NhZ2VQYXJhbXMuaW5wdXQucXVlcnlWZXJz
aW9uID0KLSAgICAgICAgbmV3IG1vam8uaW50ZXJmYWNlQ29udHJvbC5RdWVyeVZlcnNpb24oKTsK
LQotICAgIHJldHVybiBzZW5kUnVuTWVzc2FnZSh0aGlzLnJlY2VpdmVyXywgcnVuTWVzc2FnZVBh
cmFtcykudGhlbihmdW5jdGlvbigKLSAgICAgICAgcnVuUmVzcG9uc2VNZXNzYWdlUGFyYW1zKSB7
Ci0gICAgICByZXR1cm4gcnVuUmVzcG9uc2VNZXNzYWdlUGFyYW1zLm91dHB1dC5xdWVyeVZlcnNp
b25SZXN1bHQudmVyc2lvbjsKLSAgICB9KTsKLSAgfTsKLQotICBDb250cm9sTWVzc2FnZVByb3h5
LnByb3RvdHlwZS5yZXF1aXJlVmVyc2lvbiA9IGZ1bmN0aW9uKHZlcnNpb24pIHsKLSAgICB2YXIg
cnVuT3JDbG9zZVBpcGVJbnB1dCA9IG5ldyBtb2pvLmludGVyZmFjZUNvbnRyb2wuUnVuT3JDbG9z
ZVBpcGVJbnB1dCgpOwotICAgIHJ1bk9yQ2xvc2VQaXBlSW5wdXQucmVxdWlyZVZlcnNpb24gPQot
ICAgICAgICBuZXcgbW9qby5pbnRlcmZhY2VDb250cm9sLlJlcXVpcmVWZXJzaW9uKHsndmVyc2lv
bic6IHZlcnNpb259KTsKLSAgICB2YXIgbWVzc2FnZSA9IGNvbnN0cnVjdFJ1bk9yQ2xvc2VQaXBl
TWVzc2FnZShydW5PckNsb3NlUGlwZUlucHV0KTsKLSAgICB0aGlzLnJlY2VpdmVyXy5hY2NlcHQo
bWVzc2FnZSk7Ci0gIH07Ci0KLSAgaW50ZXJuYWwuQ29udHJvbE1lc3NhZ2VQcm94eSA9IENvbnRy
b2xNZXNzYWdlUHJveHk7Ci19KSgpOwotLy8gQ29weXJpZ2h0IDIwMTcgVGhlIENocm9taXVtIEF1
dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0vLyBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBp
cyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCi0vLyBmb3VuZCBp
biB0aGUgTElDRU5TRSBmaWxlLgotCi0oZnVuY3Rpb24oKSB7Ci0gIHZhciBpbnRlcm5hbCA9IG1v
am8uaW50ZXJuYWw7Ci0KLSAgZnVuY3Rpb24gSW50ZXJmYWNlRW5kcG9pbnRDbGllbnQoaW50ZXJm
YWNlRW5kcG9pbnRIYW5kbGUsIHJlY2VpdmVyLAotICAgICAgaW50ZXJmYWNlVmVyc2lvbikgewot
ICAgIHRoaXMuY29udHJvbGxlcl8gPSBudWxsOwotICAgIHRoaXMuZW5jb3VudGVyZWRFcnJvcl8g
PSBmYWxzZTsKLSAgICB0aGlzLmhhbmRsZV8gPSBpbnRlcmZhY2VFbmRwb2ludEhhbmRsZTsKLSAg
ICB0aGlzLmluY29taW5nUmVjZWl2ZXJfID0gcmVjZWl2ZXI7Ci0KLSAgICBpZiAoaW50ZXJmYWNl
VmVyc2lvbiAhPT0gdW5kZWZpbmVkKSB7Ci0gICAgICB0aGlzLmNvbnRyb2xNZXNzYWdlSGFuZGxl
cl8gPSBuZXcgaW50ZXJuYWwuQ29udHJvbE1lc3NhZ2VIYW5kbGVyKAotICAgICAgICAgIGludGVy
ZmFjZVZlcnNpb24pOwotICAgIH0gZWxzZSB7Ci0gICAgICB0aGlzLmNvbnRyb2xNZXNzYWdlUHJv
eHlfID0gbmV3IGludGVybmFsLkNvbnRyb2xNZXNzYWdlUHJveHkodGhpcyk7Ci0gICAgfQotCi0g
ICAgdGhpcy5uZXh0UmVxdWVzdElEXyA9IDA7Ci0gICAgdGhpcy5jb21wbGV0ZXJzXyA9IG5ldyBN
YXAoKTsKLSAgICB0aGlzLnBheWxvYWRWYWxpZGF0b3JzXyA9IFtdOwotICAgIHRoaXMuY29ubmVj
dGlvbkVycm9ySGFuZGxlcl8gPSBudWxsOwotCi0gICAgaWYgKGludGVyZmFjZUVuZHBvaW50SGFu
ZGxlLnBlbmRpbmdBc3NvY2lhdGlvbigpKSB7Ci0gICAgICBpbnRlcmZhY2VFbmRwb2ludEhhbmRs
ZS5zZXRBc3NvY2lhdGlvbkV2ZW50SGFuZGxlcigKLSAgICAgICAgICB0aGlzLm9uQXNzb2NpYXRp
b25FdmVudC5iaW5kKHRoaXMpKTsKLSAgICB9IGVsc2UgewotICAgICAgdGhpcy5pbml0Q29udHJv
bGxlcklmTmVjZXNzYXJ5XygpOwotICAgIH0KLSAgfQotCi0gIEludGVyZmFjZUVuZHBvaW50Q2xp
ZW50LnByb3RvdHlwZS5pbml0Q29udHJvbGxlcklmTmVjZXNzYXJ5XyA9IGZ1bmN0aW9uKCkgewot
ICAgIGlmICh0aGlzLmNvbnRyb2xsZXJfIHx8IHRoaXMuaGFuZGxlXy5wZW5kaW5nQXNzb2NpYXRp
b24oKSkgewotICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIHRoaXMuY29udHJvbGxlcl8gPSB0
aGlzLmhhbmRsZV8uZ3JvdXBDb250cm9sbGVyKCkuYXR0YWNoRW5kcG9pbnRDbGllbnQoCi0gICAg
ICAgIHRoaXMuaGFuZGxlXywgdGhpcyk7Ci0gIH07Ci0KLSAgSW50ZXJmYWNlRW5kcG9pbnRDbGll
bnQucHJvdG90eXBlLm9uQXNzb2NpYXRpb25FdmVudCA9IGZ1bmN0aW9uKAotICAgICAgYXNzb2Np
YXRpb25FdmVudCkgewotICAgIGlmIChhc3NvY2lhdGlvbkV2ZW50ID09PSBpbnRlcm5hbC5Bc3Nv
Y2lhdGlvbkV2ZW50LkFTU09DSUFURUQpIHsKLSAgICAgIHRoaXMuaW5pdENvbnRyb2xsZXJJZk5l
Y2Vzc2FyeV8oKTsKLSAgICB9IGVsc2UgaWYgKGFzc29jaWF0aW9uRXZlbnQgPT09Ci0gICAgICAg
ICAgaW50ZXJuYWwuQXNzb2NpYXRpb25FdmVudC5QRUVSX0NMT1NFRF9CRUZPUkVfQVNTT0NJQVRJ
T04pIHsKLSAgICAgIHNldFRpbWVvdXQodGhpcy5ub3RpZnlFcnJvci5iaW5kKHRoaXMsIHRoaXMu
aGFuZGxlXy5kaXNjb25uZWN0UmVhc29uKCkpLAotICAgICAgICAgICAgICAgICAwKTsKLSAgICB9
Ci0gIH07Ci0KLSAgSW50ZXJmYWNlRW5kcG9pbnRDbGllbnQucHJvdG90eXBlLnBhc3NIYW5kbGUg
PSBmdW5jdGlvbigpIHsKLSAgICBpZiAoIXRoaXMuaGFuZGxlXy5pc1ZhbGlkKCkpIHsKLSAgICAg
IHJldHVybiBuZXcgaW50ZXJuYWwuSW50ZXJmYWNlRW5kcG9pbnRIYW5kbGUoKTsKLSAgICB9Ci0K
LSAgICAvLyBVc2VkIHRvIGNsZWFyIHRoZSBwcmV2aW91c2x5IHNldCBjYWxsYmFjay4KLSAgICB0
aGlzLmhhbmRsZV8uc2V0QXNzb2NpYXRpb25FdmVudEhhbmRsZXIodW5kZWZpbmVkKTsKLQotICAg
IGlmICh0aGlzLmNvbnRyb2xsZXJfKSB7Ci0gICAgICB0aGlzLmNvbnRyb2xsZXJfID0gbnVsbDsK
LSAgICAgIHRoaXMuaGFuZGxlXy5ncm91cENvbnRyb2xsZXIoKS5kZXRhY2hFbmRwb2ludENsaWVu
dCh0aGlzLmhhbmRsZV8pOwotICAgIH0KLSAgICB2YXIgaGFuZGxlID0gdGhpcy5oYW5kbGVfOwot
ICAgIHRoaXMuaGFuZGxlXyA9IG51bGw7Ci0gICAgcmV0dXJuIGhhbmRsZTsKLSAgfTsKLQotICBJ
bnRlcmZhY2VFbmRwb2ludENsaWVudC5wcm90b3R5cGUuY2xvc2UgPSBmdW5jdGlvbihyZWFzb24p
IHsKLSAgICB2YXIgaGFuZGxlID0gdGhpcy5wYXNzSGFuZGxlKCk7Ci0gICAgaGFuZGxlLnJlc2V0
KHJlYXNvbik7Ci0gIH07Ci0KLSAgSW50ZXJmYWNlRW5kcG9pbnRDbGllbnQucHJvdG90eXBlLmFj
Y2VwdCA9IGZ1bmN0aW9uKG1lc3NhZ2UpIHsKLSAgICBpZiAobWVzc2FnZS5hc3NvY2lhdGVkRW5k
cG9pbnRIYW5kbGVzLmxlbmd0aCA+IDApIHsKLSAgICAgIG1lc3NhZ2Uuc2VyaWFsaXplQXNzb2Np
YXRlZEVuZHBvaW50SGFuZGxlcygKLSAgICAgICAgICB0aGlzLmhhbmRsZV8uZ3JvdXBDb250cm9s
bGVyKCkpOwotICAgIH0KLQotICAgIGlmICh0aGlzLmVuY291bnRlcmVkRXJyb3JfKSB7Ci0gICAg
ICByZXR1cm4gZmFsc2U7Ci0gICAgfQotCi0gICAgdGhpcy5pbml0Q29udHJvbGxlcklmTmVjZXNz
YXJ5XygpOwotICAgIHJldHVybiB0aGlzLmNvbnRyb2xsZXJfLnNlbmRNZXNzYWdlKG1lc3NhZ2Up
OwotICB9OwotCi0gIEludGVyZmFjZUVuZHBvaW50Q2xpZW50LnByb3RvdHlwZS5hY2NlcHRBbmRF
eHBlY3RSZXNwb25zZSA9IGZ1bmN0aW9uKAotICAgICAgbWVzc2FnZSkgewotICAgIGlmIChtZXNz
YWdlLmFzc29jaWF0ZWRFbmRwb2ludEhhbmRsZXMubGVuZ3RoID4gMCkgewotICAgICAgbWVzc2Fn
ZS5zZXJpYWxpemVBc3NvY2lhdGVkRW5kcG9pbnRIYW5kbGVzKAotICAgICAgICAgIHRoaXMuaGFu
ZGxlXy5ncm91cENvbnRyb2xsZXIoKSk7Ci0gICAgfQotCi0gICAgaWYgKHRoaXMuZW5jb3VudGVy
ZWRFcnJvcl8pIHsKLSAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdCgpOwotICAgIH0KLQotICAg
IHRoaXMuaW5pdENvbnRyb2xsZXJJZk5lY2Vzc2FyeV8oKTsKLQotICAgIC8vIFJlc2VydmUgMCBp
biBjYXNlIHdlIHdhbnQgaXQgdG8gY29udmV5IHNwZWNpYWwgbWVhbmluZyBpbiB0aGUgZnV0dXJl
LgotICAgIHZhciByZXF1ZXN0SUQgPSB0aGlzLm5leHRSZXF1ZXN0SURfKys7Ci0gICAgaWYgKHJl
cXVlc3RJRCA9PT0gMCkKLSAgICAgIHJlcXVlc3RJRCA9IHRoaXMubmV4dFJlcXVlc3RJRF8rKzsK
LQotICAgIG1lc3NhZ2Uuc2V0UmVxdWVzdElEKHJlcXVlc3RJRCk7Ci0gICAgdmFyIHJlc3VsdCA9
IHRoaXMuY29udHJvbGxlcl8uc2VuZE1lc3NhZ2UobWVzc2FnZSk7Ci0gICAgaWYgKCFyZXN1bHQp
Ci0gICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QoRXJyb3IoIkNvbm5lY3Rpb24gZXJyb3IiKSk7
Ci0KLSAgICB2YXIgY29tcGxldGVyID0ge307Ci0gICAgdGhpcy5jb21wbGV0ZXJzXy5zZXQocmVx
dWVzdElELCBjb21wbGV0ZXIpOwotICAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNv
bHZlLCByZWplY3QpIHsKLSAgICAgIGNvbXBsZXRlci5yZXNvbHZlID0gcmVzb2x2ZTsKLSAgICAg
IGNvbXBsZXRlci5yZWplY3QgPSByZWplY3Q7Ci0gICAgfSk7Ci0gIH07Ci0KLSAgSW50ZXJmYWNl
RW5kcG9pbnRDbGllbnQucHJvdG90eXBlLnNldFBheWxvYWRWYWxpZGF0b3JzID0gZnVuY3Rpb24o
Ci0gICAgICBwYXlsb2FkVmFsaWRhdG9ycykgewotICAgIHRoaXMucGF5bG9hZFZhbGlkYXRvcnNf
ID0gcGF5bG9hZFZhbGlkYXRvcnM7Ci0gIH07Ci0KLSAgSW50ZXJmYWNlRW5kcG9pbnRDbGllbnQu
cHJvdG90eXBlLnNldEluY29taW5nUmVjZWl2ZXIgPSBmdW5jdGlvbihyZWNlaXZlcikgewotICAg
IHRoaXMuaW5jb21pbmdSZWNlaXZlcl8gPSByZWNlaXZlcjsKLSAgfTsKLQotICBJbnRlcmZhY2VF
bmRwb2ludENsaWVudC5wcm90b3R5cGUuc2V0Q29ubmVjdGlvbkVycm9ySGFuZGxlciA9IGZ1bmN0
aW9uKAotICAgICAgaGFuZGxlcikgewotICAgIHRoaXMuY29ubmVjdGlvbkVycm9ySGFuZGxlcl8g
PSBoYW5kbGVyOwotICB9OwotCi0gIEludGVyZmFjZUVuZHBvaW50Q2xpZW50LnByb3RvdHlwZS5o
YW5kbGVJbmNvbWluZ01lc3NhZ2UgPSBmdW5jdGlvbihtZXNzYWdlLAotICAgICAgbWVzc2FnZVZh
bGlkYXRvcikgewotICAgIHZhciBub0Vycm9yID0gaW50ZXJuYWwudmFsaWRhdGlvbkVycm9yLk5P
TkU7Ci0gICAgdmFyIGVyciA9IG5vRXJyb3I7Ci0gICAgZm9yICh2YXIgaSA9IDA7IGVyciA9PT0g
bm9FcnJvciAmJiBpIDwgdGhpcy5wYXlsb2FkVmFsaWRhdG9yc18ubGVuZ3RoOyArK2kpCi0gICAg
ICBlcnIgPSB0aGlzLnBheWxvYWRWYWxpZGF0b3JzX1tpXShtZXNzYWdlVmFsaWRhdG9yKTsKLQot
ICAgIGlmIChlcnIgPT0gbm9FcnJvcikgewotICAgICAgcmV0dXJuIHRoaXMuaGFuZGxlVmFsaWRJ
bmNvbWluZ01lc3NhZ2VfKG1lc3NhZ2UpOwotICAgIH0gZWxzZSB7Ci0gICAgICBpbnRlcm5hbC5y
ZXBvcnRWYWxpZGF0aW9uRXJyb3IoZXJyKTsKLSAgICAgIHJldHVybiBmYWxzZTsKLSAgICB9Ci0g
IH07Ci0KLSAgSW50ZXJmYWNlRW5kcG9pbnRDbGllbnQucHJvdG90eXBlLmhhbmRsZVZhbGlkSW5j
b21pbmdNZXNzYWdlXyA9IGZ1bmN0aW9uKAotICAgICAgbWVzc2FnZSkgewotICAgIGlmIChpbnRl
cm5hbC5pc1Rlc3RpbmdNb2RlKCkpIHsKLSAgICAgIHJldHVybiB0cnVlOwotICAgIH0KLQotICAg
IGlmICh0aGlzLmVuY291bnRlcmVkRXJyb3JfKSB7Ci0gICAgICByZXR1cm4gZmFsc2U7Ci0gICAg
fQotCi0gICAgdmFyIG9rID0gZmFsc2U7Ci0KLSAgICBpZiAobWVzc2FnZS5leHBlY3RzUmVzcG9u
c2UoKSkgewotICAgICAgaWYgKGludGVybmFsLmlzSW50ZXJmYWNlQ29udHJvbE1lc3NhZ2UobWVz
c2FnZSkgJiYKLSAgICAgICAgICB0aGlzLmNvbnRyb2xNZXNzYWdlSGFuZGxlcl8pIHsKLSAgICAg
ICAgb2sgPSB0aGlzLmNvbnRyb2xNZXNzYWdlSGFuZGxlcl8uYWNjZXB0V2l0aFJlc3BvbmRlciht
ZXNzYWdlLCB0aGlzKTsKLSAgICAgIH0gZWxzZSBpZiAodGhpcy5pbmNvbWluZ1JlY2VpdmVyXykg
ewotICAgICAgICBvayA9IHRoaXMuaW5jb21pbmdSZWNlaXZlcl8uYWNjZXB0V2l0aFJlc3BvbmRl
cihtZXNzYWdlLCB0aGlzKTsKLSAgICAgIH0KLSAgICB9IGVsc2UgaWYgKG1lc3NhZ2UuaXNSZXNw
b25zZSgpKSB7Ci0gICAgICB2YXIgcmVhZGVyID0gbmV3IGludGVybmFsLk1lc3NhZ2VSZWFkZXIo
bWVzc2FnZSk7Ci0gICAgICB2YXIgcmVxdWVzdElEID0gcmVhZGVyLnJlcXVlc3RJRDsKLSAgICAg
IHZhciBjb21wbGV0ZXIgPSB0aGlzLmNvbXBsZXRlcnNfLmdldChyZXF1ZXN0SUQpOwotICAgICAg
aWYgKGNvbXBsZXRlcikgewotICAgICAgICB0aGlzLmNvbXBsZXRlcnNfLmRlbGV0ZShyZXF1ZXN0
SUQpOwotICAgICAgICBjb21wbGV0ZXIucmVzb2x2ZShtZXNzYWdlKTsKLSAgICAgICAgb2sgPSB0
cnVlOwotICAgICAgfSBlbHNlIHsKLSAgICAgICAgY29uc29sZS5sb2coIlVuZXhwZWN0ZWQgcmVz
cG9uc2Ugd2l0aCByZXF1ZXN0IElEOiAiICsgcmVxdWVzdElEKTsKLSAgICAgIH0KLSAgICB9IGVs
c2UgewotICAgICAgaWYgKGludGVybmFsLmlzSW50ZXJmYWNlQ29udHJvbE1lc3NhZ2UobWVzc2Fn
ZSkgJiYKLSAgICAgICAgICB0aGlzLmNvbnRyb2xNZXNzYWdlSGFuZGxlcl8pIHsKLSAgICAgICAg
b2sgPSB0aGlzLmNvbnRyb2xNZXNzYWdlSGFuZGxlcl8uYWNjZXB0KG1lc3NhZ2UpOwotICAgICAg
fSBlbHNlIGlmICh0aGlzLmluY29taW5nUmVjZWl2ZXJfKSB7Ci0gICAgICAgIG9rID0gdGhpcy5p
bmNvbWluZ1JlY2VpdmVyXy5hY2NlcHQobWVzc2FnZSk7Ci0gICAgICB9Ci0gICAgfQotICAgIHJl
dHVybiBvazsKLSAgfTsKLQotICBJbnRlcmZhY2VFbmRwb2ludENsaWVudC5wcm90b3R5cGUubm90
aWZ5RXJyb3IgPSBmdW5jdGlvbihyZWFzb24pIHsKLSAgICBpZiAodGhpcy5lbmNvdW50ZXJlZEVy
cm9yXykgewotICAgICAgcmV0dXJuOwotICAgIH0KLSAgICB0aGlzLmVuY291bnRlcmVkRXJyb3Jf
ID0gdHJ1ZTsKLQotICAgIHRoaXMuY29tcGxldGVyc18uZm9yRWFjaChmdW5jdGlvbih2YWx1ZSkg
ewotICAgICAgdmFsdWUucmVqZWN0KCk7Ci0gICAgfSk7Ci0gICAgdGhpcy5jb21wbGV0ZXJzXy5j
bGVhcigpOyAgLy8gRHJvcCBhbnkgcmVzcG9uZGVycy4KLQotICAgIGlmICh0aGlzLmNvbm5lY3Rp
b25FcnJvckhhbmRsZXJfKSB7Ci0gICAgICB0aGlzLmNvbm5lY3Rpb25FcnJvckhhbmRsZXJfKHJl
YXNvbik7Ci0gICAgfQotICB9OwotCi0gIEludGVyZmFjZUVuZHBvaW50Q2xpZW50LnByb3RvdHlw
ZS5xdWVyeVZlcnNpb24gPSBmdW5jdGlvbigpIHsKLSAgICByZXR1cm4gdGhpcy5jb250cm9sTWVz
c2FnZVByb3h5Xy5xdWVyeVZlcnNpb24oKTsKLSAgfTsKLQotICBJbnRlcmZhY2VFbmRwb2ludENs
aWVudC5wcm90b3R5cGUucmVxdWlyZVZlcnNpb24gPSBmdW5jdGlvbih2ZXJzaW9uKSB7Ci0gICAg
dGhpcy5jb250cm9sTWVzc2FnZVByb3h5Xy5yZXF1aXJlVmVyc2lvbih2ZXJzaW9uKTsKLSAgfTsK
LQotICBJbnRlcmZhY2VFbmRwb2ludENsaWVudC5wcm90b3R5cGUuZ2V0RW5jb3VudGVyZWRFcnJv
ciA9IGZ1bmN0aW9uKCkgewotICAgIHJldHVybiB0aGlzLmVuY291bnRlcmVkRXJyb3JfOwotICB9
OwotCi0gIGludGVybmFsLkludGVyZmFjZUVuZHBvaW50Q2xpZW50ID0gSW50ZXJmYWNlRW5kcG9p
bnRDbGllbnQ7Ci19KSgpOwotLy8gQ29weXJpZ2h0IDIwMTcgVGhlIENocm9taXVtIEF1dGhvcnMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0vLyBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zl
cm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCi0vLyBmb3VuZCBpbiB0aGUg
TElDRU5TRSBmaWxlLgotCi0oZnVuY3Rpb24oKSB7Ci0gIHZhciBpbnRlcm5hbCA9IG1vam8uaW50
ZXJuYWw7Ci0KLSAgdmFyIEFzc29jaWF0aW9uRXZlbnQgPSB7Ci0gICAgLy8gVGhlIGludGVyZmFj
ZSBoYXMgYmVlbiBhc3NvY2lhdGVkIHdpdGggYSBtZXNzYWdlIHBpcGUuCi0gICAgQVNTT0NJQVRF
RDogJ2Fzc29jaWF0ZWQnLAotICAgIC8vIFRoZSBwZWVyIG9mIHRoaXMgb2JqZWN0IGhhcyBiZWVu
IGNsb3NlZCBiZWZvcmUgYXNzb2NpYXRpb24uCi0gICAgUEVFUl9DTE9TRURfQkVGT1JFX0FTU09D
SUFUSU9OOiAncGVlcl9jbG9zZWRfYmVmb3JlX2Fzc29jaWF0aW9uJwotICB9OwotCi0gIGZ1bmN0
aW9uIFN0YXRlKGludGVyZmFjZUlkLCBhc3NvY2lhdGVkR3JvdXBDb250cm9sbGVyKSB7Ci0gICAg
aWYgKGludGVyZmFjZUlkID09PSB1bmRlZmluZWQpIHsKLSAgICAgIGludGVyZmFjZUlkID0gaW50
ZXJuYWwua0ludmFsaWRJbnRlcmZhY2VJZDsKLSAgICB9Ci0KLSAgICB0aGlzLmludGVyZmFjZUlk
ID0gaW50ZXJmYWNlSWQ7Ci0gICAgdGhpcy5hc3NvY2lhdGVkR3JvdXBDb250cm9sbGVyID0gYXNz
b2NpYXRlZEdyb3VwQ29udHJvbGxlcjsKLSAgICB0aGlzLnBlbmRpbmdBc3NvY2lhdGlvbiA9IGZh
bHNlOwotICAgIHRoaXMuZGlzY29ubmVjdFJlYXNvbiA9IG51bGw7Ci0gICAgdGhpcy5wZWVyU3Rh
dGVfID0gbnVsbDsKLSAgICB0aGlzLmFzc29jaWF0aW9uRXZlbnRIYW5kbGVyXyA9IG51bGw7Ci0g
IH0KLQotICBTdGF0ZS5wcm90b3R5cGUuaW5pdFBlbmRpbmdTdGF0ZSA9IGZ1bmN0aW9uKHBlZXIp
IHsKLSAgICB0aGlzLnBlbmRpbmdBc3NvY2lhdGlvbiA9IHRydWU7Ci0gICAgdGhpcy5wZWVyU3Rh
dGVfID0gcGVlcjsKLSAgfTsKLQotICBTdGF0ZS5wcm90b3R5cGUuaXNWYWxpZCA9IGZ1bmN0aW9u
KCkgewotICAgIHJldHVybiB0aGlzLnBlbmRpbmdBc3NvY2lhdGlvbiB8fAotICAgICAgICBpbnRl
cm5hbC5pc1ZhbGlkSW50ZXJmYWNlSWQodGhpcy5pbnRlcmZhY2VJZCk7Ci0gIH07Ci0KLSAgU3Rh
dGUucHJvdG90eXBlLmNsb3NlID0gZnVuY3Rpb24oZGlzY29ubmVjdFJlYXNvbikgewotICAgIHZh
ciBjYWNoZWRHcm91cENvbnRyb2xsZXI7Ci0gICAgdmFyIGNhY2hlZFBlZXJTdGF0ZTsKLSAgICB2
YXIgY2FjaGVkSWQgPSBpbnRlcm5hbC5rSW52YWxpZEludGVyZmFjZUlkOwotCi0gICAgaWYgKCF0
aGlzLnBlbmRpbmdBc3NvY2lhdGlvbikgewotICAgICAgaWYgKGludGVybmFsLmlzVmFsaWRJbnRl
cmZhY2VJZCh0aGlzLmludGVyZmFjZUlkKSkgewotICAgICAgICBjYWNoZWRHcm91cENvbnRyb2xs
ZXIgPSB0aGlzLmFzc29jaWF0ZWRHcm91cENvbnRyb2xsZXI7Ci0gICAgICAgIHRoaXMuYXNzb2Np
YXRlZEdyb3VwQ29udHJvbGxlciA9IG51bGw7Ci0gICAgICAgIGNhY2hlZElkID0gdGhpcy5pbnRl
cmZhY2VJZDsKLSAgICAgICAgdGhpcy5pbnRlcmZhY2VJZCA9IGludGVybmFsLmtJbnZhbGlkSW50
ZXJmYWNlSWQ7Ci0gICAgICB9Ci0gICAgfSBlbHNlIHsKLSAgICAgIHRoaXMucGVuZGluZ0Fzc29j
aWF0aW9uID0gZmFsc2U7Ci0gICAgICBjYWNoZWRQZWVyU3RhdGUgPSB0aGlzLnBlZXJTdGF0ZV87
Ci0gICAgICB0aGlzLnBlZXJTdGF0ZV8gPSBudWxsOwotICAgIH0KLQotICAgIGlmIChjYWNoZWRH
cm91cENvbnRyb2xsZXIpIHsKLSAgICAgIGNhY2hlZEdyb3VwQ29udHJvbGxlci5jbG9zZUVuZHBv
aW50SGFuZGxlKGNhY2hlZElkLAotICAgICAgICAgIGRpc2Nvbm5lY3RSZWFzb24pOwotICAgIH0g
ZWxzZSBpZiAoY2FjaGVkUGVlclN0YXRlKSB7Ci0gICAgICBjYWNoZWRQZWVyU3RhdGUub25QZWVy
Q2xvc2VkQmVmb3JlQXNzb2NpYXRpb24oZGlzY29ubmVjdFJlYXNvbik7Ci0gICAgfQotICB9Owot
Ci0gIFN0YXRlLnByb3RvdHlwZS5ydW5Bc3NvY2lhdGlvbkV2ZW50SGFuZGxlciA9IGZ1bmN0aW9u
KGFzc29jaWF0aW9uRXZlbnQpIHsKLSAgICBpZiAodGhpcy5hc3NvY2lhdGlvbkV2ZW50SGFuZGxl
cl8pIHsKLSAgICAgIHZhciBoYW5kbGVyID0gdGhpcy5hc3NvY2lhdGlvbkV2ZW50SGFuZGxlcl87
Ci0gICAgICB0aGlzLmFzc29jaWF0aW9uRXZlbnRIYW5kbGVyXyA9IG51bGw7Ci0gICAgICBoYW5k
bGVyKGFzc29jaWF0aW9uRXZlbnQpOwotICAgIH0KLSAgfTsKLQotICBTdGF0ZS5wcm90b3R5cGUu
c2V0QXNzb2NpYXRpb25FdmVudEhhbmRsZXIgPSBmdW5jdGlvbihoYW5kbGVyKSB7Ci0gICAgaWYg
KCF0aGlzLnBlbmRpbmdBc3NvY2lhdGlvbiAmJgotICAgICAgICAhaW50ZXJuYWwuaXNWYWxpZElu
dGVyZmFjZUlkKHRoaXMuaW50ZXJmYWNlSWQpKSB7Ci0gICAgICByZXR1cm47Ci0gICAgfQotCi0g
ICAgaWYgKCFoYW5kbGVyKSB7Ci0gICAgICB0aGlzLmFzc29jaWF0aW9uRXZlbnRIYW5kbGVyXyA9
IG51bGw7Ci0gICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgdGhpcy5hc3NvY2lhdGlvbkV2ZW50
SGFuZGxlcl8gPSBoYW5kbGVyOwotICAgIGlmICghdGhpcy5wZW5kaW5nQXNzb2NpYXRpb24pIHsK
LSAgICAgIHNldFRpbWVvdXQodGhpcy5ydW5Bc3NvY2lhdGlvbkV2ZW50SGFuZGxlci5iaW5kKHRo
aXMsCi0gICAgICAgICAgQXNzb2NpYXRpb25FdmVudC5BU1NPQ0lBVEVEKSwgMCk7Ci0gICAgfSBl
bHNlIGlmICghdGhpcy5wZWVyU3RhdGVfKSB7Ci0gICAgICBzZXRUaW1lb3V0KHRoaXMucnVuQXNz
b2NpYXRpb25FdmVudEhhbmRsZXIuYmluZCh0aGlzLAotICAgICAgICAgIEFzc29jaWF0aW9uRXZl
bnQuUEVFUl9DTE9TRURfQkVGT1JFX0FTU09DSUFUSU9OKSwgMCk7Ci0gICAgfQotICB9OwotCi0g
IFN0YXRlLnByb3RvdHlwZS5ub3RpZnlBc3NvY2lhdGlvbiA9IGZ1bmN0aW9uKGludGVyZmFjZUlk
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwZWVyR3Jv
dXBDb250cm9sbGVyKSB7Ci0gICAgdmFyIGNhY2hlZFBlZXJTdGF0ZSA9IHRoaXMucGVlclN0YXRl
XzsKLSAgICB0aGlzLnBlZXJTdGF0ZV8gPSBudWxsOwotCi0gICAgdGhpcy5wZW5kaW5nQXNzb2Np
YXRpb24gPSBmYWxzZTsKLQotICAgIGlmIChjYWNoZWRQZWVyU3RhdGUpIHsKLSAgICAgIGNhY2hl
ZFBlZXJTdGF0ZS5vbkFzc29jaWF0ZWQoaW50ZXJmYWNlSWQsIHBlZXJHcm91cENvbnRyb2xsZXIp
OwotICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfQotICAgIHJldHVybiBmYWxzZTsKLSAgfTsKLQot
ICBTdGF0ZS5wcm90b3R5cGUub25Bc3NvY2lhdGVkID0gZnVuY3Rpb24oaW50ZXJmYWNlSWQsCi0g
ICAgICBhc3NvY2lhdGVkR3JvdXBDb250cm9sbGVyKSB7Ci0gICAgaWYgKCF0aGlzLnBlbmRpbmdB
c3NvY2lhdGlvbikgewotICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIHRoaXMucGVuZGluZ0Fz
c29jaWF0aW9uID0gZmFsc2U7Ci0gICAgdGhpcy5wZWVyU3RhdGVfID0gbnVsbDsKLSAgICB0aGlz
LmludGVyZmFjZUlkID0gaW50ZXJmYWNlSWQ7Ci0gICAgdGhpcy5hc3NvY2lhdGVkR3JvdXBDb250
cm9sbGVyID0gYXNzb2NpYXRlZEdyb3VwQ29udHJvbGxlcjsKLSAgICB0aGlzLnJ1bkFzc29jaWF0
aW9uRXZlbnRIYW5kbGVyKEFzc29jaWF0aW9uRXZlbnQuQVNTT0NJQVRFRCk7Ci0gIH07Ci0KLSAg
U3RhdGUucHJvdG90eXBlLm9uUGVlckNsb3NlZEJlZm9yZUFzc29jaWF0aW9uID0gZnVuY3Rpb24o
ZGlzY29ubmVjdFJlYXNvbikgewotICAgIGlmICghdGhpcy5wZW5kaW5nQXNzb2NpYXRpb24pIHsK
LSAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICB0aGlzLnBlZXJTdGF0ZV8gPSBudWxsOwotICAg
IHRoaXMuZGlzY29ubmVjdFJlYXNvbiA9IGRpc2Nvbm5lY3RSZWFzb247Ci0KLSAgICB0aGlzLnJ1
bkFzc29jaWF0aW9uRXZlbnRIYW5kbGVyKAotICAgICAgICBBc3NvY2lhdGlvbkV2ZW50LlBFRVJf
Q0xPU0VEX0JFRk9SRV9BU1NPQ0lBVElPTik7Ci0gIH07Ci0KLSAgZnVuY3Rpb24gY3JlYXRlUGFp
clBlbmRpbmdBc3NvY2lhdGlvbigpIHsKLSAgICB2YXIgaGFuZGxlMCA9IG5ldyBJbnRlcmZhY2VF
bmRwb2ludEhhbmRsZSgpOwotICAgIHZhciBoYW5kbGUxID0gbmV3IEludGVyZmFjZUVuZHBvaW50
SGFuZGxlKCk7Ci0gICAgaGFuZGxlMC5zdGF0ZV8uaW5pdFBlbmRpbmdTdGF0ZShoYW5kbGUxLnN0
YXRlXyk7Ci0gICAgaGFuZGxlMS5zdGF0ZV8uaW5pdFBlbmRpbmdTdGF0ZShoYW5kbGUwLnN0YXRl
Xyk7Ci0gICAgcmV0dXJuIHtoYW5kbGUwOiBoYW5kbGUwLCBoYW5kbGUxOiBoYW5kbGUxfTsKLSAg
fQotCi0gIGZ1bmN0aW9uIEludGVyZmFjZUVuZHBvaW50SGFuZGxlKGludGVyZmFjZUlkLCBhc3Nv
Y2lhdGVkR3JvdXBDb250cm9sbGVyKSB7Ci0gICAgdGhpcy5zdGF0ZV8gPSBuZXcgU3RhdGUoaW50
ZXJmYWNlSWQsIGFzc29jaWF0ZWRHcm91cENvbnRyb2xsZXIpOwotICB9Ci0KLSAgSW50ZXJmYWNl
RW5kcG9pbnRIYW5kbGUucHJvdG90eXBlLmlzVmFsaWQgPSBmdW5jdGlvbigpIHsKLSAgICByZXR1
cm4gdGhpcy5zdGF0ZV8uaXNWYWxpZCgpOwotICB9OwotCi0gIEludGVyZmFjZUVuZHBvaW50SGFu
ZGxlLnByb3RvdHlwZS5wZW5kaW5nQXNzb2NpYXRpb24gPSBmdW5jdGlvbigpIHsKLSAgICByZXR1
cm4gdGhpcy5zdGF0ZV8ucGVuZGluZ0Fzc29jaWF0aW9uOwotICB9OwotCi0gIEludGVyZmFjZUVu
ZHBvaW50SGFuZGxlLnByb3RvdHlwZS5pZCA9IGZ1bmN0aW9uKCkgewotICAgIHJldHVybiB0aGlz
LnN0YXRlXy5pbnRlcmZhY2VJZDsKLSAgfTsKLQotICBJbnRlcmZhY2VFbmRwb2ludEhhbmRsZS5w
cm90b3R5cGUuZ3JvdXBDb250cm9sbGVyID0gZnVuY3Rpb24oKSB7Ci0gICAgcmV0dXJuIHRoaXMu
c3RhdGVfLmFzc29jaWF0ZWRHcm91cENvbnRyb2xsZXI7Ci0gIH07Ci0KLSAgSW50ZXJmYWNlRW5k
cG9pbnRIYW5kbGUucHJvdG90eXBlLmRpc2Nvbm5lY3RSZWFzb24gPSBmdW5jdGlvbigpIHsKLSAg
ICByZXR1cm4gdGhpcy5zdGF0ZV8uZGlzY29ubmVjdFJlYXNvbjsKLSAgfTsKLQotICBJbnRlcmZh
Y2VFbmRwb2ludEhhbmRsZS5wcm90b3R5cGUuc2V0QXNzb2NpYXRpb25FdmVudEhhbmRsZXIgPSBm
dW5jdGlvbigKLSAgICAgIGhhbmRsZXIpIHsKLSAgICB0aGlzLnN0YXRlXy5zZXRBc3NvY2lhdGlv
bkV2ZW50SGFuZGxlcihoYW5kbGVyKTsKLSAgfTsKLQotICBJbnRlcmZhY2VFbmRwb2ludEhhbmRs
ZS5wcm90b3R5cGUubm90aWZ5QXNzb2NpYXRpb24gPSBmdW5jdGlvbihpbnRlcmZhY2VJZCwKLSAg
ICAgIHBlZXJHcm91cENvbnRyb2xsZXIpIHsKLSAgICByZXR1cm4gdGhpcy5zdGF0ZV8ubm90aWZ5
QXNzb2NpYXRpb24oaW50ZXJmYWNlSWQsIHBlZXJHcm91cENvbnRyb2xsZXIpOwotICB9OwotCi0g
IEludGVyZmFjZUVuZHBvaW50SGFuZGxlLnByb3RvdHlwZS5yZXNldCA9IGZ1bmN0aW9uKHJlYXNv
bikgewotICAgIHRoaXMuc3RhdGVfLmNsb3NlKHJlYXNvbik7Ci0gICAgdGhpcy5zdGF0ZV8gPSBu
ZXcgU3RhdGUoKTsKLSAgfTsKLQotICBpbnRlcm5hbC5Bc3NvY2lhdGlvbkV2ZW50ID0gQXNzb2Np
YXRpb25FdmVudDsKLSAgaW50ZXJuYWwuSW50ZXJmYWNlRW5kcG9pbnRIYW5kbGUgPSBJbnRlcmZh
Y2VFbmRwb2ludEhhbmRsZTsKLSAgaW50ZXJuYWwuY3JlYXRlUGFpclBlbmRpbmdBc3NvY2lhdGlv
biA9IGNyZWF0ZVBhaXJQZW5kaW5nQXNzb2NpYXRpb247Ci19KSgpOwotLy8gQ29weXJpZ2h0IDIw
MTcgVGhlIENocm9taXVtIEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0vLyBVc2Ugb2Yg
dGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlIHRoYXQg
Y2FuIGJlCi0vLyBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgotCi0oZnVuY3Rpb24oKSB7Ci0g
IHZhciBpbnRlcm5hbCA9IG1vam8uaW50ZXJuYWw7Ci0KLSAgZnVuY3Rpb24gdmFsaWRhdGVDb250
cm9sUmVxdWVzdFdpdGhvdXRSZXNwb25zZShtZXNzYWdlKSB7Ci0gICAgdmFyIG1lc3NhZ2VWYWxp
ZGF0b3IgPSBuZXcgaW50ZXJuYWwuVmFsaWRhdG9yKG1lc3NhZ2UpOwotICAgIHZhciBlcnJvciA9
IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVNZXNzYWdlSXNSZXF1ZXN0V2l0aG91dFJlc3BvbnNl
KCk7Ci0gICAgaWYgKGVycm9yICE9IGludGVybmFsLnZhbGlkYXRpb25FcnJvci5OT05FKSB7Ci0g
ICAgICB0aHJvdyBlcnJvcjsKLSAgICB9Ci0KLSAgICBpZiAobWVzc2FnZS5nZXROYW1lKCkgIT0g
bW9qby5waXBlQ29udHJvbC5rUnVuT3JDbG9zZVBpcGVNZXNzYWdlSWQpIHsKLSAgICAgIHRocm93
IG5ldyBFcnJvcigiQ29udHJvbCBtZXNzYWdlIG5hbWUgaXMgbm90IGtSdW5PckNsb3NlUGlwZU1l
c3NhZ2VJZCIpOwotICAgIH0KLQotICAgIC8vIFZhbGlkYXRlIHBheWxvYWQuCi0gICAgZXJyb3Ig
PSBtb2pvLnBpcGVDb250cm9sLlJ1bk9yQ2xvc2VQaXBlTWVzc2FnZVBhcmFtcy52YWxpZGF0ZSgK
LSAgICAgICAgbWVzc2FnZVZhbGlkYXRvciwgbWVzc2FnZS5nZXRIZWFkZXJOdW1CeXRlcygpKTsK
LSAgICBpZiAoZXJyb3IgIT0gaW50ZXJuYWwudmFsaWRhdGlvbkVycm9yLk5PTkUpIHsKLSAgICAg
IHRocm93IGVycm9yOwotICAgIH0KLSAgfQotCi0gIGZ1bmN0aW9uIHJ1bk9yQ2xvc2VQaXBlKG1l
c3NhZ2UsIGRlbGVnYXRlKSB7Ci0gICAgdmFyIHJlYWRlciA9IG5ldyBpbnRlcm5hbC5NZXNzYWdl
UmVhZGVyKG1lc3NhZ2UpOwotICAgIHZhciBydW5PckNsb3NlUGlwZU1lc3NhZ2VQYXJhbXMgPSBy
ZWFkZXIuZGVjb2RlU3RydWN0KAotICAgICAgICBtb2pvLnBpcGVDb250cm9sLlJ1bk9yQ2xvc2VQ
aXBlTWVzc2FnZVBhcmFtcyk7Ci0gICAgdmFyIGV2ZW50ID0gcnVuT3JDbG9zZVBpcGVNZXNzYWdl
UGFyYW1zLmlucHV0Ci0gICAgICAgIC5wZWVyQXNzb2NpYXRlZEVuZHBvaW50Q2xvc2VkRXZlbnQ7
Ci0gICAgcmV0dXJuIGRlbGVnYXRlLm9uUGVlckFzc29jaWF0ZWRFbmRwb2ludENsb3NlZChldmVu
dC5pZCwKLSAgICAgICAgZXZlbnQuZGlzY29ubmVjdFJlYXNvbik7Ci0gIH0KLQotICBmdW5jdGlv
biBpc1BpcGVDb250cm9sTWVzc2FnZShtZXNzYWdlKSB7Ci0gICAgcmV0dXJuICFpbnRlcm5hbC5p
c1ZhbGlkSW50ZXJmYWNlSWQobWVzc2FnZS5nZXRJbnRlcmZhY2VJZCgpKTsKLSAgfQotCi0gIGZ1
bmN0aW9uIFBpcGVDb250cm9sTWVzc2FnZUhhbmRsZXIoZGVsZWdhdGUpIHsKLSAgICB0aGlzLmRl
bGVnYXRlXyA9IGRlbGVnYXRlOwotICB9Ci0KLSAgUGlwZUNvbnRyb2xNZXNzYWdlSGFuZGxlci5w
cm90b3R5cGUuYWNjZXB0ID0gZnVuY3Rpb24obWVzc2FnZSkgewotICAgIHZhbGlkYXRlQ29udHJv
bFJlcXVlc3RXaXRob3V0UmVzcG9uc2UobWVzc2FnZSk7Ci0gICAgcmV0dXJuIHJ1bk9yQ2xvc2VQ
aXBlKG1lc3NhZ2UsIHRoaXMuZGVsZWdhdGVfKTsKLSAgfTsKLQotICBpbnRlcm5hbC5QaXBlQ29u
dHJvbE1lc3NhZ2VIYW5kbGVyID0gUGlwZUNvbnRyb2xNZXNzYWdlSGFuZGxlcjsKLSAgaW50ZXJu
YWwuaXNQaXBlQ29udHJvbE1lc3NhZ2UgPSBpc1BpcGVDb250cm9sTWVzc2FnZTsKLX0pKCk7Ci0v
LyBDb3B5cmlnaHQgMjAxNyBUaGUgQ2hyb21pdW0gQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KLS8vIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxl
IGxpY2Vuc2UgdGhhdCBjYW4gYmUKLS8vIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCi0KLShm
dW5jdGlvbigpIHsKLSAgdmFyIGludGVybmFsID0gbW9qby5pbnRlcm5hbDsKLQotICBmdW5jdGlv
biBjb25zdHJ1Y3RSdW5PckNsb3NlUGlwZU1lc3NhZ2UocnVuT3JDbG9zZVBpcGVJbnB1dCkgewot
ICAgIHZhciBydW5PckNsb3NlUGlwZU1lc3NhZ2VQYXJhbXMgPSBuZXcKLSAgICAgICAgbW9qby5w
aXBlQ29udHJvbC5SdW5PckNsb3NlUGlwZU1lc3NhZ2VQYXJhbXMoKTsKLSAgICBydW5PckNsb3Nl
UGlwZU1lc3NhZ2VQYXJhbXMuaW5wdXQgPSBydW5PckNsb3NlUGlwZUlucHV0OwotCi0gICAgdmFy
IG1lc3NhZ2VOYW1lID0gbW9qby5waXBlQ29udHJvbC5rUnVuT3JDbG9zZVBpcGVNZXNzYWdlSWQ7
Ci0gICAgdmFyIHBheWxvYWRTaXplID0KLSAgICAgICAgbW9qby5waXBlQ29udHJvbC5SdW5PckNs
b3NlUGlwZU1lc3NhZ2VQYXJhbXMuZW5jb2RlZFNpemU7Ci0KLSAgICB2YXIgYnVpbGRlciA9IG5l
dyBpbnRlcm5hbC5NZXNzYWdlVjBCdWlsZGVyKG1lc3NhZ2VOYW1lLCBwYXlsb2FkU2l6ZSk7Ci0g
ICAgYnVpbGRlci5lbmNvZGVTdHJ1Y3QobW9qby5waXBlQ29udHJvbC5SdW5PckNsb3NlUGlwZU1l
c3NhZ2VQYXJhbXMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgcnVuT3JDbG9zZVBpcGVNZXNz
YWdlUGFyYW1zKTsKLSAgICB2YXIgbWVzc2FnZSA9IGJ1aWxkZXIuZmluaXNoKCk7Ci0gICAgbWVz
c2FnZS5zZXRJbnRlcmZhY2VJZChpbnRlcm5hbC5rSW52YWxpZEludGVyZmFjZUlkKTsKLSAgICBy
ZXR1cm4gbWVzc2FnZTsKLSAgfQotCi0gIGZ1bmN0aW9uIFBpcGVDb250cm9sTWVzc2FnZVByb3h5
KHJlY2VpdmVyKSB7Ci0gICAgdGhpcy5yZWNlaXZlcl8gPSByZWNlaXZlcjsKLSAgfQotCi0gIFBp
cGVDb250cm9sTWVzc2FnZVByb3h5LnByb3RvdHlwZS5ub3RpZnlQZWVyRW5kcG9pbnRDbG9zZWQg
PSBmdW5jdGlvbigKLSAgICAgIGludGVyZmFjZUlkLCByZWFzb24pIHsKLSAgICB2YXIgbWVzc2Fn
ZSA9IHRoaXMuY29uc3RydWN0UGVlckVuZHBvaW50Q2xvc2VkTWVzc2FnZShpbnRlcmZhY2VJZCwg
cmVhc29uKTsKLSAgICB0aGlzLnJlY2VpdmVyXy5hY2NlcHQobWVzc2FnZSk7Ci0gIH07Ci0KLSAg
UGlwZUNvbnRyb2xNZXNzYWdlUHJveHkucHJvdG90eXBlLmNvbnN0cnVjdFBlZXJFbmRwb2ludENs
b3NlZE1lc3NhZ2UgPQotICAgICAgZnVuY3Rpb24oaW50ZXJmYWNlSWQsIHJlYXNvbikgewotICAg
IHZhciBldmVudCA9IG5ldyBtb2pvLnBpcGVDb250cm9sLlBlZXJBc3NvY2lhdGVkRW5kcG9pbnRD
bG9zZWRFdmVudCgpOwotICAgIGV2ZW50LmlkID0gaW50ZXJmYWNlSWQ7Ci0gICAgaWYgKHJlYXNv
bikgewotICAgICAgZXZlbnQuZGlzY29ubmVjdFJlYXNvbiA9IG5ldyBtb2pvLnBpcGVDb250cm9s
LkRpc2Nvbm5lY3RSZWFzb24oewotICAgICAgICAgIGN1c3RvbVJlYXNvbjogcmVhc29uLmN1c3Rv
bVJlYXNvbiwKLSAgICAgICAgICBkZXNjcmlwdGlvbjogcmVhc29uLmRlc2NyaXB0aW9ufSk7Ci0g
ICAgfQotICAgIHZhciBydW5PckNsb3NlUGlwZUlucHV0ID0gbmV3IG1vam8ucGlwZUNvbnRyb2wu
UnVuT3JDbG9zZVBpcGVJbnB1dCgpOwotICAgIHJ1bk9yQ2xvc2VQaXBlSW5wdXQucGVlckFzc29j
aWF0ZWRFbmRwb2ludENsb3NlZEV2ZW50ID0gZXZlbnQ7Ci0gICAgcmV0dXJuIGNvbnN0cnVjdFJ1
bk9yQ2xvc2VQaXBlTWVzc2FnZShydW5PckNsb3NlUGlwZUlucHV0KTsKLSAgfTsKLQotICBpbnRl
cm5hbC5QaXBlQ29udHJvbE1lc3NhZ2VQcm94eSA9IFBpcGVDb250cm9sTWVzc2FnZVByb3h5Owot
fSkoKTsKLS8vIENvcHlyaWdodCAyMDE0IFRoZSBDaHJvbWl1bSBBdXRob3JzLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgotLy8gVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBC
U0Qtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQotLy8gZm91bmQgaW4gdGhlIExJQ0VOU0UgZmls
ZS4KLQotKGZ1bmN0aW9uKCkgewotICB2YXIgaW50ZXJuYWwgPSBtb2pvLmludGVybmFsOwotCi0g
IC8qKgotICAgKiBUaGUgc3RhdGUgb2YgfGVuZHBvaW50fC4gSWYgYm90aCB0aGUgZW5kcG9pbnQg
YW5kIGl0cyBwZWVyIGhhdmUgYmVlbgotICAgKiBjbG9zZWQsIHJlbW92ZXMgaXQgZnJvbSB8ZW5k
cG9pbnRzX3wuCi0gICAqIEBlbnVtIHtzdHJpbmd9Ci0gICAqLwotICB2YXIgRW5kcG9pbnRTdGF0
ZVVwZGF0ZVR5cGUgPSB7Ci0gICAgRU5EUE9JTlRfQ0xPU0VEOiAnZW5kcG9pbnRfY2xvc2VkJywK
LSAgICBQRUVSX0VORFBPSU5UX0NMT1NFRDogJ3BlZXJfZW5kcG9pbnRfY2xvc2VkJwotICB9Owot
Ci0gIGZ1bmN0aW9uIGNoZWNrKGNvbmRpdGlvbiwgb3V0cHV0KSB7Ci0gICAgaWYgKCFjb25kaXRp
b24pIHsKLSAgICAgIC8vIHRlc3RoYXJuZXNzLmpzIGRvZXMgbm90IHJldGhyb3cgZXJyb3JzIHNv
IHRoZSBlcnJvciBzdGFjayBuZWVkcyB0byBiZQotICAgICAgLy8gaW5jbHVkZWQgYXMgYSBzdHJp
bmcgaW4gdGhlIGVycm9yIHdlIHRocm93IGZvciBkZWJ1Z2dpbmcgbGF5b3V0IHRlc3RzLgotICAg
ICAgdGhyb3cgbmV3IEVycm9yKChuZXcgRXJyb3IoKSkuc3RhY2spOwotICAgIH0KLSAgfQotCi0g
IGZ1bmN0aW9uIEludGVyZmFjZUVuZHBvaW50KHJvdXRlciwgaW50ZXJmYWNlSWQpIHsKLSAgICB0
aGlzLnJvdXRlcl8gPSByb3V0ZXI7Ci0gICAgdGhpcy5pZCA9IGludGVyZmFjZUlkOwotICAgIHRo
aXMuY2xvc2VkID0gZmFsc2U7Ci0gICAgdGhpcy5wZWVyQ2xvc2VkID0gZmFsc2U7Ci0gICAgdGhp
cy5oYW5kbGVDcmVhdGVkID0gZmFsc2U7Ci0gICAgdGhpcy5kaXNjb25uZWN0UmVhc29uID0gbnVs
bDsKLSAgICB0aGlzLmNsaWVudCA9IG51bGw7Ci0gIH0KLQotICBJbnRlcmZhY2VFbmRwb2ludC5w
cm90b3R5cGUuc2VuZE1lc3NhZ2UgPSBmdW5jdGlvbihtZXNzYWdlKSB7Ci0gICAgbWVzc2FnZS5z
ZXRJbnRlcmZhY2VJZCh0aGlzLmlkKTsKLSAgICByZXR1cm4gdGhpcy5yb3V0ZXJfLmNvbm5lY3Rv
cl8uYWNjZXB0KG1lc3NhZ2UpOwotICB9OwotCi0gIGZ1bmN0aW9uIFJvdXRlcihoYW5kbGUsIHNl
dEludGVyZmFjZUlkTmFtZXNwYWNlQml0KSB7Ci0gICAgaWYgKCEoaGFuZGxlIGluc3RhbmNlb2Yg
TW9qb0hhbmRsZSkpIHsKLSAgICAgIHRocm93IG5ldyBFcnJvcigiUm91dGVyIGNvbnN0cnVjdG9y
OiBOb3QgYSBoYW5kbGUiKTsKLSAgICB9Ci0gICAgaWYgKHNldEludGVyZmFjZUlkTmFtZXNwYWNl
Qml0ID09PSB1bmRlZmluZWQpIHsKLSAgICAgIHNldEludGVyZmFjZUlkTmFtZXNwYWNlQml0ID0g
ZmFsc2U7Ci0gICAgfQotCi0gICAgdGhpcy5jb25uZWN0b3JfID0gbmV3IGludGVybmFsLkNvbm5l
Y3RvcihoYW5kbGUpOwotCi0gICAgdGhpcy5jb25uZWN0b3JfLnNldEluY29taW5nUmVjZWl2ZXIo
ewotICAgICAgICBhY2NlcHQ6IHRoaXMuYWNjZXB0LmJpbmQodGhpcyksCi0gICAgfSk7Ci0gICAg
dGhpcy5jb25uZWN0b3JfLnNldEVycm9ySGFuZGxlcih7Ci0gICAgICAgIG9uRXJyb3I6IHRoaXMu
b25QaXBlQ29ubmVjdGlvbkVycm9yLmJpbmQodGhpcyksCi0gICAgfSk7Ci0KLSAgICB0aGlzLnNl
dEludGVyZmFjZUlkTmFtZXNwYWNlQml0XyA9IHNldEludGVyZmFjZUlkTmFtZXNwYWNlQml0Owot
ICAgIC8vIHxjYWNoZWRNZXNzYWdlRGF0YXwgY2FjaGVzIGluZm9tYXRpb24gYWJvdXQgYSBtZXNz
YWdlLCBzbyBpdCBjYW4gYmUKLSAgICAvLyBwcm9jZXNzZWQgbGF0ZXIgaWYgYSBjbGllbnQgaXMg
bm90IHlldCBhdHRhY2hlZCB0byB0aGUgdGFyZ2V0IGVuZHBvaW50LgotICAgIHRoaXMuY2FjaGVk
TWVzc2FnZURhdGEgPSBudWxsOwotICAgIHRoaXMuY29udHJvbE1lc3NhZ2VIYW5kbGVyXyA9IG5l
dyBpbnRlcm5hbC5QaXBlQ29udHJvbE1lc3NhZ2VIYW5kbGVyKHRoaXMpOwotICAgIHRoaXMuY29u
dHJvbE1lc3NhZ2VQcm94eV8gPQotICAgICAgICBuZXcgaW50ZXJuYWwuUGlwZUNvbnRyb2xNZXNz
YWdlUHJveHkodGhpcy5jb25uZWN0b3JfKTsKLSAgICB0aGlzLm5leHRJbnRlcmZhY2VJZFZhbHVl
XyA9IDE7Ci0gICAgdGhpcy5lbmNvdW50ZXJlZEVycm9yXyA9IGZhbHNlOwotICAgIHRoaXMuZW5k
cG9pbnRzXyA9IG5ldyBNYXAoKTsKLSAgfQotCi0gIFJvdXRlci5wcm90b3R5cGUuYXNzb2NpYXRl
SW50ZXJmYWNlID0gZnVuY3Rpb24oaGFuZGxlVG9TZW5kKSB7Ci0gICAgaWYgKCFoYW5kbGVUb1Nl
bmQucGVuZGluZ0Fzc29jaWF0aW9uKCkpIHsKLSAgICAgIHJldHVybiBpbnRlcm5hbC5rSW52YWxp
ZEludGVyZmFjZUlkOwotICAgIH0KLQotICAgIHZhciBpZCA9IDA7Ci0gICAgZG8gewotICAgICAg
aWYgKHRoaXMubmV4dEludGVyZmFjZUlkVmFsdWVfID49IGludGVybmFsLmtJbnRlcmZhY2VJZE5h
bWVzcGFjZU1hc2spIHsKLSAgICAgICAgdGhpcy5uZXh0SW50ZXJmYWNlSWRWYWx1ZV8gPSAxOwot
ICAgICAgfQotICAgICAgaWQgPSB0aGlzLm5leHRJbnRlcmZhY2VJZFZhbHVlXysrOwotICAgICAg
aWYgKHRoaXMuc2V0SW50ZXJmYWNlSWROYW1lc3BhY2VCaXRfKSB7Ci0gICAgICAgIGlkICs9IGlu
dGVybmFsLmtJbnRlcmZhY2VJZE5hbWVzcGFjZU1hc2s7Ci0gICAgICB9Ci0gICAgfSB3aGlsZSAo
dGhpcy5lbmRwb2ludHNfLmhhcyhpZCkpOwotCi0gICAgdmFyIGVuZHBvaW50ID0gbmV3IEludGVy
ZmFjZUVuZHBvaW50KHRoaXMsIGlkKTsKLSAgICB0aGlzLmVuZHBvaW50c18uc2V0KGlkLCBlbmRw
b2ludCk7Ci0gICAgaWYgKHRoaXMuZW5jb3VudGVyZWRFcnJvcl8pIHsKLSAgICAgIHRoaXMudXBk
YXRlRW5kcG9pbnRTdGF0ZU1heVJlbW92ZShlbmRwb2ludCwKLSAgICAgICAgICBFbmRwb2ludFN0
YXRlVXBkYXRlVHlwZS5QRUVSX0VORFBPSU5UX0NMT1NFRCk7Ci0gICAgfQotICAgIGVuZHBvaW50
LmhhbmRsZUNyZWF0ZWQgPSB0cnVlOwotCi0gICAgaWYgKCFoYW5kbGVUb1NlbmQubm90aWZ5QXNz
b2NpYXRpb24oaWQsIHRoaXMpKSB7Ci0gICAgICAvLyBUaGUgcGVlciBoYW5kbGUgb2YgfGhhbmRs
ZVRvU2VuZHwsIHdoaWNoIGlzIHN1cHBvc2VkIHRvIGpvaW4gdGhpcwotICAgICAgLy8gYXNzb2Np
YXRlZCBncm91cCwgaGFzIGJlZW4gY2xvc2VkLgotICAgICAgdGhpcy51cGRhdGVFbmRwb2ludFN0
YXRlTWF5UmVtb3ZlKGVuZHBvaW50LAotICAgICAgICAgIEVuZHBvaW50U3RhdGVVcGRhdGVUeXBl
LkVORFBPSU5UX0NMT1NFRCk7Ci0KLSAgICAgIHBpcGVDb250cm9sTWVzc2FnZXByb3h5Lm5vdGlm
eVBlZXJFbmRwb2ludENsb3NlZChpZCwKLSAgICAgICAgICBoYW5kbGVUb1NlbmQuZGlzY29ubmVj
dFJlYXNvbigpKTsKLSAgICB9Ci0KLSAgICByZXR1cm4gaWQ7Ci0gIH07Ci0KLSAgUm91dGVyLnBy
b3RvdHlwZS5hdHRhY2hFbmRwb2ludENsaWVudCA9IGZ1bmN0aW9uKAotICAgICAgaW50ZXJmYWNl
RW5kcG9pbnRIYW5kbGUsIGludGVyZmFjZUVuZHBvaW50Q2xpZW50KSB7Ci0gICAgY2hlY2soaW50
ZXJuYWwuaXNWYWxpZEludGVyZmFjZUlkKGludGVyZmFjZUVuZHBvaW50SGFuZGxlLmlkKCkpKTsK
LSAgICBjaGVjayhpbnRlcmZhY2VFbmRwb2ludENsaWVudCk7Ci0KLSAgICB2YXIgZW5kcG9pbnQg
PSB0aGlzLmVuZHBvaW50c18uZ2V0KGludGVyZmFjZUVuZHBvaW50SGFuZGxlLmlkKCkpOwotICAg
IGNoZWNrKGVuZHBvaW50KTsKLSAgICBjaGVjayghZW5kcG9pbnQuY2xpZW50KTsKLSAgICBjaGVj
ayghZW5kcG9pbnQuY2xvc2VkKTsKLSAgICBlbmRwb2ludC5jbGllbnQgPSBpbnRlcmZhY2VFbmRw
b2ludENsaWVudDsKLQotICAgIGlmIChlbmRwb2ludC5wZWVyQ2xvc2VkKSB7Ci0gICAgICBzZXRU
aW1lb3V0KGVuZHBvaW50LmNsaWVudC5ub3RpZnlFcnJvci5iaW5kKGVuZHBvaW50LmNsaWVudCks
IDApOwotICAgIH0KLQotICAgIGlmICh0aGlzLmNhY2hlZE1lc3NhZ2VEYXRhICYmIGludGVyZmFj
ZUVuZHBvaW50SGFuZGxlLmlkKCkgPT09Ci0gICAgICAgIHRoaXMuY2FjaGVkTWVzc2FnZURhdGEu
bWVzc2FnZS5nZXRJbnRlcmZhY2VJZCgpKSB7Ci0gICAgICBzZXRUaW1lb3V0KChmdW5jdGlvbigp
IHsKLSAgICAgICAgaWYgKCF0aGlzLmNhY2hlZE1lc3NhZ2VEYXRhKSB7Ci0gICAgICAgICAgcmV0
dXJuOwotICAgICAgICB9Ci0KLSAgICAgICAgdmFyIHRhcmdldEVuZHBvaW50ID0gdGhpcy5lbmRw
b2ludHNfLmdldCgKLSAgICAgICAgICAgIHRoaXMuY2FjaGVkTWVzc2FnZURhdGEubWVzc2FnZS5n
ZXRJbnRlcmZhY2VJZCgpKTsKLSAgICAgICAgLy8gQ2hlY2sgdGhhdCB0aGUgdGFyZ2V0IGVuZHBv
aW50J3MgY2xpZW50IHN0aWxsIGV4aXN0cy4KLSAgICAgICAgaWYgKHRhcmdldEVuZHBvaW50ICYm
IHRhcmdldEVuZHBvaW50LmNsaWVudCkgewotICAgICAgICAgIHZhciBtZXNzYWdlID0gdGhpcy5j
YWNoZWRNZXNzYWdlRGF0YS5tZXNzYWdlOwotICAgICAgICAgIHZhciBtZXNzYWdlVmFsaWRhdG9y
ID0gdGhpcy5jYWNoZWRNZXNzYWdlRGF0YS5tZXNzYWdlVmFsaWRhdG9yOwotICAgICAgICAgIHRo
aXMuY2FjaGVkTWVzc2FnZURhdGEgPSBudWxsOwotICAgICAgICAgIHRoaXMuY29ubmVjdG9yXy5y
ZXN1bWVJbmNvbWluZ01ldGhvZENhbGxQcm9jZXNzaW5nKCk7Ci0gICAgICAgICAgdmFyIG9rID0g
ZW5kcG9pbnQuY2xpZW50LmhhbmRsZUluY29taW5nTWVzc2FnZShtZXNzYWdlLAotICAgICAgICAg
ICAgICBtZXNzYWdlVmFsaWRhdG9yKTsKLQotICAgICAgICAgIC8vIEhhbmRsZSBpbnZhbGlkIGNh
Y2hlZCBpbmNvbWluZyBtZXNzYWdlLgotICAgICAgICAgIGlmICghaW50ZXJuYWwuaXNUZXN0aW5n
TW9kZSgpICYmICFvaykgewotICAgICAgICAgICAgdGhpcy5jb25uZWN0b3JfLmhhbmRsZUVycm9y
KHRydWUsIHRydWUpOwotICAgICAgICAgIH0KLSAgICAgICAgfQotICAgICAgfSkuYmluZCh0aGlz
KSwgMCk7Ci0gICAgfQotCi0gICAgcmV0dXJuIGVuZHBvaW50OwotICB9OwotCi0gIFJvdXRlci5w
cm90b3R5cGUuZGV0YWNoRW5kcG9pbnRDbGllbnQgPSBmdW5jdGlvbigKLSAgICAgIGludGVyZmFj
ZUVuZHBvaW50SGFuZGxlKSB7Ci0gICAgY2hlY2soaW50ZXJuYWwuaXNWYWxpZEludGVyZmFjZUlk
KGludGVyZmFjZUVuZHBvaW50SGFuZGxlLmlkKCkpKTsKLSAgICB2YXIgZW5kcG9pbnQgPSB0aGlz
LmVuZHBvaW50c18uZ2V0KGludGVyZmFjZUVuZHBvaW50SGFuZGxlLmlkKCkpOwotICAgIGNoZWNr
KGVuZHBvaW50KTsKLSAgICBjaGVjayhlbmRwb2ludC5jbGllbnQpOwotICAgIGNoZWNrKCFlbmRw
b2ludC5jbG9zZWQpOwotCi0gICAgZW5kcG9pbnQuY2xpZW50ID0gbnVsbDsKLSAgfTsKLQotICBS
b3V0ZXIucHJvdG90eXBlLmNyZWF0ZUxvY2FsRW5kcG9pbnRIYW5kbGUgPSBmdW5jdGlvbigKLSAg
ICAgIGludGVyZmFjZUlkKSB7Ci0gICAgaWYgKCFpbnRlcm5hbC5pc1ZhbGlkSW50ZXJmYWNlSWQo
aW50ZXJmYWNlSWQpKSB7Ci0gICAgICByZXR1cm4gbmV3IGludGVybmFsLkludGVyZmFjZUVuZHBv
aW50SGFuZGxlKCk7Ci0gICAgfQotCi0gICAgLy8gVW5sZXNzIGl0IGlzIHRoZSBtYXN0ZXIgSUQs
IHxpbnRlcmZhY2VJZHwgaXMgZnJvbSB0aGUgcmVtb3RlIHNpZGUgYW5kCi0gICAgLy8gdGhlcmVm
b3JlIGl0cyBuYW1lc3BhY2UgYml0IGlzIHN1cHBvc2VkIHRvIGJlIGRpZmZlcmVudCB0aGFuIHRo
ZSB2YWx1ZQotICAgIC8vIHRoYXQgdGhpcyByb3V0ZXIgd291bGQgdXNlLgotICAgIGlmICghaW50
ZXJuYWwuaXNNYXN0ZXJJbnRlcmZhY2VJZChpbnRlcmZhY2VJZCkgJiYKLSAgICAgICAgdGhpcy5z
ZXRJbnRlcmZhY2VJZE5hbWVzcGFjZUJpdF8gPT09Ci0gICAgICAgICAgICBpbnRlcm5hbC5oYXNJ
bnRlcmZhY2VJZE5hbWVzcGFjZUJpdFNldChpbnRlcmZhY2VJZCkpIHsKLSAgICAgIHJldHVybiBu
ZXcgaW50ZXJuYWwuSW50ZXJmYWNlRW5kcG9pbnRIYW5kbGUoKTsKLSAgICB9Ci0KLSAgICB2YXIg
ZW5kcG9pbnQgPSB0aGlzLmVuZHBvaW50c18uZ2V0KGludGVyZmFjZUlkKTsKLQotICAgIGlmICgh
ZW5kcG9pbnQpIHsKLSAgICAgIGVuZHBvaW50ID0gbmV3IEludGVyZmFjZUVuZHBvaW50KHRoaXMs
IGludGVyZmFjZUlkKTsKLSAgICAgIHRoaXMuZW5kcG9pbnRzXy5zZXQoaW50ZXJmYWNlSWQsIGVu
ZHBvaW50KTsKLQotICAgICAgY2hlY2soIWVuZHBvaW50LmhhbmRsZUNyZWF0ZWQpOwotCi0gICAg
ICBpZiAodGhpcy5lbmNvdW50ZXJlZEVycm9yXykgewotICAgICAgICB0aGlzLnVwZGF0ZUVuZHBv
aW50U3RhdGVNYXlSZW1vdmUoZW5kcG9pbnQsCi0gICAgICAgICAgICBFbmRwb2ludFN0YXRlVXBk
YXRlVHlwZS5QRUVSX0VORFBPSU5UX0NMT1NFRCk7Ci0gICAgICB9Ci0gICAgfSBlbHNlIHsKLSAg
ICAgIC8vIElmIHRoZSBlbmRwb2ludCBhbHJlYWR5IGV4aXN0LCBpdCBpcyBiZWNhdXNlIHdlIGhh
dmUgcmVjZWl2ZWQgYQotICAgICAgLy8gbm90aWZpY2F0aW9uIHRoYXQgdGhlIHBlZXIgZW5kcG9p
bnQgaGFzIGNsb3NlZC4KLSAgICAgIGNoZWNrKCFlbmRwb2ludC5jbG9zZWQpOwotICAgICAgY2hl
Y2soZW5kcG9pbnQucGVlckNsb3NlZCk7Ci0KLSAgICAgIGlmIChlbmRwb2ludC5oYW5kbGVDcmVh
dGVkKSB7Ci0gICAgICAgIHJldHVybiBuZXcgaW50ZXJuYWwuSW50ZXJmYWNlRW5kcG9pbnRIYW5k
bGUoKTsKLSAgICAgIH0KLSAgICB9Ci0KLSAgICBlbmRwb2ludC5oYW5kbGVDcmVhdGVkID0gdHJ1
ZTsKLSAgICByZXR1cm4gbmV3IGludGVybmFsLkludGVyZmFjZUVuZHBvaW50SGFuZGxlKGludGVy
ZmFjZUlkLCB0aGlzKTsKLSAgfTsKLQotICBSb3V0ZXIucHJvdG90eXBlLmFjY2VwdCA9IGZ1bmN0
aW9uKG1lc3NhZ2UpIHsKLSAgICB2YXIgbWVzc2FnZVZhbGlkYXRvciA9IG5ldyBpbnRlcm5hbC5W
YWxpZGF0b3IobWVzc2FnZSk7Ci0gICAgdmFyIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRh
dGVNZXNzYWdlSGVhZGVyKCk7Ci0KLSAgICB2YXIgb2sgPSBmYWxzZTsKLSAgICBpZiAoZXJyICE9
PSBpbnRlcm5hbC52YWxpZGF0aW9uRXJyb3IuTk9ORSkgewotICAgICAgaW50ZXJuYWwucmVwb3J0
VmFsaWRhdGlvbkVycm9yKGVycik7Ci0gICAgfSBlbHNlIGlmIChtZXNzYWdlLmRlc2VyaWFsaXpl
QXNzb2NpYXRlZEVuZHBvaW50SGFuZGxlcyh0aGlzKSkgewotICAgICAgaWYgKGludGVybmFsLmlz
UGlwZUNvbnRyb2xNZXNzYWdlKG1lc3NhZ2UpKSB7Ci0gICAgICAgIG9rID0gdGhpcy5jb250cm9s
TWVzc2FnZUhhbmRsZXJfLmFjY2VwdChtZXNzYWdlKTsKLSAgICAgIH0gZWxzZSB7Ci0gICAgICAg
IHZhciBpbnRlcmZhY2VJZCA9IG1lc3NhZ2UuZ2V0SW50ZXJmYWNlSWQoKTsKLSAgICAgICAgdmFy
IGVuZHBvaW50ID0gdGhpcy5lbmRwb2ludHNfLmdldChpbnRlcmZhY2VJZCk7Ci0gICAgICAgIGlm
ICghZW5kcG9pbnQgfHwgZW5kcG9pbnQuY2xvc2VkKSB7Ci0gICAgICAgICAgcmV0dXJuIHRydWU7
Ci0gICAgICAgIH0KLQotICAgICAgICBpZiAoIWVuZHBvaW50LmNsaWVudCkgewotICAgICAgICAg
IC8vIFdlIG5lZWQgdG8gd2FpdCB1bnRpbCBhIGNsaWVudCBpcyBhdHRhY2hlZCBpbiBvcmRlciB0
byBkaXNwYXRjaAotICAgICAgICAgIC8vIGZ1cnRoZXIgbWVzc2FnZXMuCi0gICAgICAgICAgdGhp
cy5jYWNoZWRNZXNzYWdlRGF0YSA9IHttZXNzYWdlOiBtZXNzYWdlLAotICAgICAgICAgICAgICBt
ZXNzYWdlVmFsaWRhdG9yOiBtZXNzYWdlVmFsaWRhdG9yfTsKLSAgICAgICAgICB0aGlzLmNvbm5l
Y3Rvcl8ucGF1c2VJbmNvbWluZ01ldGhvZENhbGxQcm9jZXNzaW5nKCk7Ci0gICAgICAgICAgcmV0
dXJuIHRydWU7Ci0gICAgICAgIH0KLSAgICAgICAgb2sgPSBlbmRwb2ludC5jbGllbnQuaGFuZGxl
SW5jb21pbmdNZXNzYWdlKG1lc3NhZ2UsIG1lc3NhZ2VWYWxpZGF0b3IpOwotICAgICAgfQotICAg
IH0KLSAgICByZXR1cm4gb2s7Ci0gIH07Ci0KLSAgUm91dGVyLnByb3RvdHlwZS5jbG9zZSA9IGZ1
bmN0aW9uKCkgewotICAgIHRoaXMuY29ubmVjdG9yXy5jbG9zZSgpOwotICAgIC8vIENsb3Npbmcg
dGhlIG1lc3NhZ2UgcGlwZSB3b24ndCB0cmlnZ2VyIGNvbm5lY3Rpb24gZXJyb3IgaGFuZGxlci4K
LSAgICAvLyBFeHBsaWNpdGx5IGNhbGwgb25QaXBlQ29ubmVjdGlvbkVycm9yKCkgc28gdGhhdCBh
c3NvY2lhdGVkIGVuZHBvaW50cwotICAgIC8vIHdpbGwgZ2V0IG5vdGlmaWVkLgotICAgIHRoaXMu
b25QaXBlQ29ubmVjdGlvbkVycm9yKCk7Ci0gIH07Ci0KLSAgUm91dGVyLnByb3RvdHlwZS5vblBl
ZXJBc3NvY2lhdGVkRW5kcG9pbnRDbG9zZWQgPSBmdW5jdGlvbihpbnRlcmZhY2VJZCwKLSAgICAg
IHJlYXNvbikgewotICAgIHZhciBlbmRwb2ludCA9IHRoaXMuZW5kcG9pbnRzXy5nZXQoaW50ZXJm
YWNlSWQpOwotICAgIGlmICghZW5kcG9pbnQpIHsKLSAgICAgIGVuZHBvaW50ID0gbmV3IEludGVy
ZmFjZUVuZHBvaW50KHRoaXMsIGludGVyZmFjZUlkKTsKLSAgICAgIHRoaXMuZW5kcG9pbnRzXy5z
ZXQoaW50ZXJmYWNlSWQsIGVuZHBvaW50KTsKLSAgICB9Ci0KLSAgICBpZiAocmVhc29uKSB7Ci0g
ICAgICBlbmRwb2ludC5kaXNjb25uZWN0UmVhc29uID0gcmVhc29uOwotICAgIH0KLQotICAgIGlm
ICghZW5kcG9pbnQucGVlckNsb3NlZCkgewotICAgICAgaWYgKGVuZHBvaW50LmNsaWVudCkgewot
ICAgICAgICBzZXRUaW1lb3V0KGVuZHBvaW50LmNsaWVudC5ub3RpZnlFcnJvci5iaW5kKGVuZHBv
aW50LmNsaWVudCwgcmVhc29uKSwKLSAgICAgICAgICAgICAgICAgICAwKTsKLSAgICAgIH0KLSAg
ICAgIHRoaXMudXBkYXRlRW5kcG9pbnRTdGF0ZU1heVJlbW92ZShlbmRwb2ludCwKLSAgICAgICAg
ICBFbmRwb2ludFN0YXRlVXBkYXRlVHlwZS5QRUVSX0VORFBPSU5UX0NMT1NFRCk7Ci0gICAgfQot
ICAgIHJldHVybiB0cnVlOwotICB9OwotCi0gIFJvdXRlci5wcm90b3R5cGUub25QaXBlQ29ubmVj
dGlvbkVycm9yID0gZnVuY3Rpb24oKSB7Ci0gICAgdGhpcy5lbmNvdW50ZXJlZEVycm9yXyA9IHRy
dWU7Ci0KLSAgICBmb3IgKHZhciBlbmRwb2ludCBvZiB0aGlzLmVuZHBvaW50c18udmFsdWVzKCkp
IHsKLSAgICAgIGlmIChlbmRwb2ludC5jbGllbnQpIHsKLSAgICAgICAgc2V0VGltZW91dCgKLSAg
ICAgICAgICAgIGVuZHBvaW50LmNsaWVudC5ub3RpZnlFcnJvci5iaW5kKAotICAgICAgICAgICAg
ICAgIGVuZHBvaW50LmNsaWVudCwgZW5kcG9pbnQuZGlzY29ubmVjdFJlYXNvbiksCi0gICAgICAg
ICAgICAwKTsKLSAgICAgIH0KLSAgICAgIHRoaXMudXBkYXRlRW5kcG9pbnRTdGF0ZU1heVJlbW92
ZShlbmRwb2ludCwKLSAgICAgICAgICBFbmRwb2ludFN0YXRlVXBkYXRlVHlwZS5QRUVSX0VORFBP
SU5UX0NMT1NFRCk7Ci0gICAgfQotICB9OwotCi0gIFJvdXRlci5wcm90b3R5cGUuY2xvc2VFbmRw
b2ludEhhbmRsZSA9IGZ1bmN0aW9uKGludGVyZmFjZUlkLCByZWFzb24pIHsKLSAgICBpZiAoIWlu
dGVybmFsLmlzVmFsaWRJbnRlcmZhY2VJZChpbnRlcmZhY2VJZCkpIHsKLSAgICAgIHJldHVybjsK
LSAgICB9Ci0gICAgdmFyIGVuZHBvaW50ID0gdGhpcy5lbmRwb2ludHNfLmdldChpbnRlcmZhY2VJ
ZCk7Ci0gICAgY2hlY2soZW5kcG9pbnQpOwotICAgIGNoZWNrKCFlbmRwb2ludC5jbGllbnQpOwot
ICAgIGNoZWNrKCFlbmRwb2ludC5jbG9zZWQpOwotCi0gICAgdGhpcy51cGRhdGVFbmRwb2ludFN0
YXRlTWF5UmVtb3ZlKGVuZHBvaW50LAotICAgICAgICBFbmRwb2ludFN0YXRlVXBkYXRlVHlwZS5F
TkRQT0lOVF9DTE9TRUQpOwotCi0gICAgaWYgKCFpbnRlcm5hbC5pc01hc3RlckludGVyZmFjZUlk
KGludGVyZmFjZUlkKSB8fCByZWFzb24pIHsKLSAgICAgIHRoaXMuY29udHJvbE1lc3NhZ2VQcm94
eV8ubm90aWZ5UGVlckVuZHBvaW50Q2xvc2VkKGludGVyZmFjZUlkLCByZWFzb24pOwotICAgIH0K
LQotICAgIGlmICh0aGlzLmNhY2hlZE1lc3NhZ2VEYXRhICYmIGludGVyZmFjZUlkID09PQotICAg
ICAgICB0aGlzLmNhY2hlZE1lc3NhZ2VEYXRhLm1lc3NhZ2UuZ2V0SW50ZXJmYWNlSWQoKSkgewot
ICAgICAgdGhpcy5jYWNoZWRNZXNzYWdlRGF0YSA9IG51bGw7Ci0gICAgICB0aGlzLmNvbm5lY3Rv
cl8ucmVzdW1lSW5jb21pbmdNZXRob2RDYWxsUHJvY2Vzc2luZygpOwotICAgIH0KLSAgfTsKLQot
ICBSb3V0ZXIucHJvdG90eXBlLnVwZGF0ZUVuZHBvaW50U3RhdGVNYXlSZW1vdmUgPSBmdW5jdGlv
bihlbmRwb2ludCwKLSAgICAgIGVuZHBvaW50U3RhdGVVcGRhdGVUeXBlKSB7Ci0gICAgaWYgKGVu
ZHBvaW50U3RhdGVVcGRhdGVUeXBlID09PSBFbmRwb2ludFN0YXRlVXBkYXRlVHlwZS5FTkRQT0lO
VF9DTE9TRUQpIHsKLSAgICAgIGVuZHBvaW50LmNsb3NlZCA9IHRydWU7Ci0gICAgfSBlbHNlIHsK
LSAgICAgIGVuZHBvaW50LnBlZXJDbG9zZWQgPSB0cnVlOwotICAgIH0KLSAgICBpZiAoZW5kcG9p
bnQuY2xvc2VkICYmIGVuZHBvaW50LnBlZXJDbG9zZWQpIHsKLSAgICAgIHRoaXMuZW5kcG9pbnRz
Xy5kZWxldGUoZW5kcG9pbnQuaWQpOwotICAgIH0KLSAgfTsKLQotICBpbnRlcm5hbC5Sb3V0ZXIg
PSBSb3V0ZXI7Ci19KSgpOwotLy8gQ29weXJpZ2h0IDIwMTQgVGhlIENocm9taXVtIEF1dGhvcnMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0vLyBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zl
cm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCi0vLyBmb3VuZCBpbiB0aGUg
TElDRU5TRSBmaWxlLgotCi0vKioKLSAqIERlZmluZXMgZnVuY3Rpb25zIGZvciB0cmFuc2xhdGlu
ZyBiZXR3ZWVuIEphdmFTY3JpcHQgc3RyaW5ncyBhbmQgVVRGOCBzdHJpbmdzCi0gKiBzdG9yZWQg
aW4gQXJyYXlCdWZmZXJzLiBUaGVyZSBpcyBtdWNoIHJvb20gZm9yIG9wdGltaXphdGlvbiBpbiB0
aGlzIGNvZGUgaWYKLSAqIGl0IHByb3ZlcyBuZWNlc3NhcnkuCi0gKi8KLShmdW5jdGlvbigpIHsK
LSAgdmFyIGludGVybmFsID0gbW9qby5pbnRlcm5hbDsKLSAgdmFyIHRleHREZWNvZGVyID0gbmV3
IFRleHREZWNvZGVyKCd1dGYtOCcpOwotICB2YXIgdGV4dEVuY29kZXIgPSBuZXcgVGV4dEVuY29k
ZXIoJ3V0Zi04Jyk7Ci0KLSAgLyoqCi0gICAqIERlY29kZXMgdGhlIFVURjggc3RyaW5nIGZyb20g
dGhlIGdpdmVuIGJ1ZmZlci4KLSAgICogQHBhcmFtIHtBcnJheUJ1ZmZlclZpZXd9IGJ1ZmZlciBU
aGUgYnVmZmVyIGNvbnRhaW5pbmcgVVRGOCBzdHJpbmcgZGF0YS4KLSAgICogQHJldHVybiB7c3Ry
aW5nfSBUaGUgY29ycmVzcG9uZGluZyBKYXZhU2NyaXB0IHN0cmluZy4KLSAgICovCi0gIGZ1bmN0
aW9uIGRlY29kZVV0ZjhTdHJpbmcoYnVmZmVyKSB7Ci0gICAgcmV0dXJuIHRleHREZWNvZGVyLmRl
Y29kZShidWZmZXIpOwotICB9Ci0KLSAgLyoqCi0gICAqIEVuY29kZXMgdGhlIGdpdmVuIEphdmFT
Y3JpcHQgc3RyaW5nIGludG8gVVRGOC4KLSAgICogQHBhcmFtIHtzdHJpbmd9IHN0ciBUaGUgc3Ry
aW5nIHRvIGVuY29kZS4KLSAgICogQHBhcmFtIHtBcnJheUJ1ZmZlclZpZXd9IG91dHB1dEJ1ZmZl
ciBUaGUgYnVmZmVyIHRvIGNvbnRhaW4gdGhlIHJlc3VsdC4KLSAgICogU2hvdWxkIGJlIHByZS1h
bGxvY2F0ZWQgdG8gaG9sZCBlbm91Z2ggc3BhY2UuIFVzZSB8dXRmOExlbmd0aHwgdG8gZGV0ZXJt
aW5lCi0gICAqIGhvdyBtdWNoIHNwYWNlIGlzIHJlcXVpcmVkLgotICAgKiBAcmV0dXJuIHtudW1i
ZXJ9IFRoZSBudW1iZXIgb2YgYnl0ZXMgd3JpdHRlbiB0byB8b3V0cHV0QnVmZmVyfC4KLSAgICov
Ci0gIGZ1bmN0aW9uIGVuY29kZVV0ZjhTdHJpbmcoc3RyLCBvdXRwdXRCdWZmZXIpIHsKLSAgICBj
b25zdCB1dGY4QnVmZmVyID0gdGV4dEVuY29kZXIuZW5jb2RlKHN0cik7Ci0gICAgaWYgKG91dHB1
dEJ1ZmZlci5sZW5ndGggPCB1dGY4QnVmZmVyLmxlbmd0aCkKLSAgICAgIHRocm93IG5ldyBFcnJv
cigiQnVmZmVyIHRvbyBzbWFsbCBmb3IgZW5jb2RlVXRmOFN0cmluZyIpOwotICAgIG91dHB1dEJ1
ZmZlci5zZXQodXRmOEJ1ZmZlcik7Ci0gICAgcmV0dXJuIHV0ZjhCdWZmZXIubGVuZ3RoOwotICB9
Ci0KLSAgLyoqCi0gICAqIFJldHVybnMgdGhlIG51bWJlciBvZiBieXRlcyB0aGF0IGEgVVRGOCBl
bmNvZGluZyBvZiB0aGUgSmF2YVNjcmlwdCBzdHJpbmcKLSAgICogfHN0cnwgd291bGQgb2NjdXB5
LgotICAgKi8KLSAgZnVuY3Rpb24gdXRmOExlbmd0aChzdHIpIHsKLSAgICByZXR1cm4gdGV4dEVu
Y29kZXIuZW5jb2RlKHN0cikubGVuZ3RoOwotICB9Ci0KLSAgaW50ZXJuYWwuZGVjb2RlVXRmOFN0
cmluZyA9IGRlY29kZVV0ZjhTdHJpbmc7Ci0gIGludGVybmFsLmVuY29kZVV0ZjhTdHJpbmcgPSBl
bmNvZGVVdGY4U3RyaW5nOwotICBpbnRlcm5hbC51dGY4TGVuZ3RoID0gdXRmOExlbmd0aDsKLX0p
KCk7Ci0vLyBDb3B5cmlnaHQgMjAxNCBUaGUgQ2hyb21pdW0gQXV0aG9ycy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KLS8vIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNE
LXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKLS8vIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUu
Ci0KLShmdW5jdGlvbigpIHsKLSAgdmFyIGludGVybmFsID0gbW9qby5pbnRlcm5hbDsKLQotICB2
YXIgdmFsaWRhdGlvbkVycm9yID0gewotICAgIE5PTkU6ICdWQUxJREFUSU9OX0VSUk9SX05PTkUn
LAotICAgIE1JU0FMSUdORURfT0JKRUNUOiAnVkFMSURBVElPTl9FUlJPUl9NSVNBTElHTkVEX09C
SkVDVCcsCi0gICAgSUxMRUdBTF9NRU1PUllfUkFOR0U6ICdWQUxJREFUSU9OX0VSUk9SX0lMTEVH
QUxfTUVNT1JZX1JBTkdFJywKLSAgICBVTkVYUEVDVEVEX1NUUlVDVF9IRUFERVI6ICdWQUxJREFU
SU9OX0VSUk9SX1VORVhQRUNURURfU1RSVUNUX0hFQURFUicsCi0gICAgVU5FWFBFQ1RFRF9BUlJB
WV9IRUFERVI6ICdWQUxJREFUSU9OX0VSUk9SX1VORVhQRUNURURfQVJSQVlfSEVBREVSJywKLSAg
ICBJTExFR0FMX0hBTkRMRTogJ1ZBTElEQVRJT05fRVJST1JfSUxMRUdBTF9IQU5ETEUnLAotICAg
IFVORVhQRUNURURfSU5WQUxJRF9IQU5ETEU6ICdWQUxJREFUSU9OX0VSUk9SX1VORVhQRUNURURf
SU5WQUxJRF9IQU5ETEUnLAotICAgIElMTEVHQUxfUE9JTlRFUjogJ1ZBTElEQVRJT05fRVJST1Jf
SUxMRUdBTF9QT0lOVEVSJywKLSAgICBVTkVYUEVDVEVEX05VTExfUE9JTlRFUjogJ1ZBTElEQVRJ
T05fRVJST1JfVU5FWFBFQ1RFRF9OVUxMX1BPSU5URVInLAotICAgIElMTEVHQUxfSU5URVJGQUNF
X0lEOiAnVkFMSURBVElPTl9FUlJPUl9JTExFR0FMX0lOVEVSRkFDRV9JRCcsCi0gICAgVU5FWFBF
Q1RFRF9JTlZBTElEX0lOVEVSRkFDRV9JRDoKLSAgICAgICAgJ1ZBTElEQVRJT05fRVJST1JfVU5F
WFBFQ1RFRF9JTlZBTElEX0lOVEVSRkFDRV9JRCcsCi0gICAgTUVTU0FHRV9IRUFERVJfSU5WQUxJ
RF9GTEFHUzoKLSAgICAgICAgJ1ZBTElEQVRJT05fRVJST1JfTUVTU0FHRV9IRUFERVJfSU5WQUxJ
RF9GTEFHUycsCi0gICAgTUVTU0FHRV9IRUFERVJfTUlTU0lOR19SRVFVRVNUX0lEOgotICAgICAg
ICAnVkFMSURBVElPTl9FUlJPUl9NRVNTQUdFX0hFQURFUl9NSVNTSU5HX1JFUVVFU1RfSUQnLAot
ICAgIERJRkZFUkVOVF9TSVpFRF9BUlJBWVNfSU5fTUFQOgotICAgICAgICAnVkFMSURBVElPTl9F
UlJPUl9ESUZGRVJFTlRfU0laRURfQVJSQVlTX0lOX01BUCcsCi0gICAgSU5WQUxJRF9VTklPTl9T
SVpFOiAnVkFMSURBVElPTl9FUlJPUl9JTlZBTElEX1VOSU9OX1NJWkUnLAotICAgIFVORVhQRUNU
RURfTlVMTF9VTklPTjogJ1ZBTElEQVRJT05fRVJST1JfVU5FWFBFQ1RFRF9OVUxMX1VOSU9OJywK
LSAgICBVTktOT1dOX0VOVU1fVkFMVUU6ICdWQUxJREFUSU9OX0VSUk9SX1VOS05PV05fRU5VTV9W
QUxVRScsCi0gIH07Ci0KLSAgdmFyIE5VTExfTU9KT19QT0lOVEVSID0gIk5VTExfTU9KT19QT0lO
VEVSIjsKLSAgdmFyIGdWYWxpZGF0aW9uRXJyb3JPYnNlcnZlciA9IG51bGw7Ci0KLSAgZnVuY3Rp
b24gcmVwb3J0VmFsaWRhdGlvbkVycm9yKGVycm9yKSB7Ci0gICAgaWYgKGdWYWxpZGF0aW9uRXJy
b3JPYnNlcnZlcikgewotICAgICAgZ1ZhbGlkYXRpb25FcnJvck9ic2VydmVyLmxhc3RFcnJvciA9
IGVycm9yOwotICAgIH0gZWxzZSB7Ci0gICAgICBjb25zb2xlLndhcm4oJ0ludmFsaWQgbWVzc2Fn
ZTogJyArIGVycm9yKTsKLSAgICB9Ci0gIH0KLQotICB2YXIgVmFsaWRhdGlvbkVycm9yT2JzZXJ2
ZXJGb3JUZXN0aW5nID0gKGZ1bmN0aW9uKCkgewotICAgIGZ1bmN0aW9uIE9ic2VydmVyKCkgewot
ICAgICAgdGhpcy5sYXN0RXJyb3IgPSB2YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAgICB9Ci0KLSAg
ICBPYnNlcnZlci5wcm90b3R5cGUucmVzZXQgPSBmdW5jdGlvbigpIHsKLSAgICAgIHRoaXMubGFz
dEVycm9yID0gdmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gICAgfTsKLQotICAgIHJldHVybiB7Ci0g
ICAgICBnZXRJbnN0YW5jZTogZnVuY3Rpb24oKSB7Ci0gICAgICAgIGlmICghZ1ZhbGlkYXRpb25F
cnJvck9ic2VydmVyKSB7Ci0gICAgICAgICAgZ1ZhbGlkYXRpb25FcnJvck9ic2VydmVyID0gbmV3
IE9ic2VydmVyKCk7Ci0gICAgICAgIH0KLSAgICAgICAgcmV0dXJuIGdWYWxpZGF0aW9uRXJyb3JP
YnNlcnZlcjsKLSAgICAgIH0KLSAgICB9OwotICB9KSgpOwotCi0gIGZ1bmN0aW9uIGlzVGVzdGlu
Z01vZGUoKSB7Ci0gICAgcmV0dXJuIEJvb2xlYW4oZ1ZhbGlkYXRpb25FcnJvck9ic2VydmVyKTsK
LSAgfQotCi0gIGZ1bmN0aW9uIGNsZWFyVGVzdGluZ01vZGUoKSB7Ci0gICAgZ1ZhbGlkYXRpb25F
cnJvck9ic2VydmVyID0gbnVsbDsKLSAgfQotCi0gIGZ1bmN0aW9uIGlzRW51bUNsYXNzKGNscykg
ewotICAgIHJldHVybiBjbHMgaW5zdGFuY2VvZiBpbnRlcm5hbC5FbnVtOwotICB9Ci0KLSAgZnVu
Y3Rpb24gaXNTdHJpbmdDbGFzcyhjbHMpIHsKLSAgICByZXR1cm4gY2xzID09PSBpbnRlcm5hbC5T
dHJpbmcgfHwgY2xzID09PSBpbnRlcm5hbC5OdWxsYWJsZVN0cmluZzsKLSAgfQotCi0gIGZ1bmN0
aW9uIGlzSGFuZGxlQ2xhc3MoY2xzKSB7Ci0gICAgcmV0dXJuIGNscyA9PT0gaW50ZXJuYWwuSGFu
ZGxlIHx8IGNscyA9PT0gaW50ZXJuYWwuTnVsbGFibGVIYW5kbGU7Ci0gIH0KLQotICBmdW5jdGlv
biBpc0ludGVyZmFjZUNsYXNzKGNscykgewotICAgIHJldHVybiBjbHMgaW5zdGFuY2VvZiBpbnRl
cm5hbC5JbnRlcmZhY2U7Ci0gIH0KLQotICBmdW5jdGlvbiBpc0ludGVyZmFjZVJlcXVlc3RDbGFz
cyhjbHMpIHsKLSAgICByZXR1cm4gY2xzID09PSBpbnRlcm5hbC5JbnRlcmZhY2VSZXF1ZXN0IHx8
Ci0gICAgICAgIGNscyA9PT0gaW50ZXJuYWwuTnVsbGFibGVJbnRlcmZhY2VSZXF1ZXN0OwotICB9
Ci0KLSAgZnVuY3Rpb24gaXNBc3NvY2lhdGVkSW50ZXJmYWNlQ2xhc3MoY2xzKSB7Ci0gICAgcmV0
dXJuIGNscyA9PT0gaW50ZXJuYWwuQXNzb2NpYXRlZEludGVyZmFjZVB0ckluZm8gfHwKLSAgICAg
ICAgY2xzID09PSBpbnRlcm5hbC5OdWxsYWJsZUFzc29jaWF0ZWRJbnRlcmZhY2VQdHJJbmZvOwot
ICB9Ci0KLSAgZnVuY3Rpb24gaXNBc3NvY2lhdGVkSW50ZXJmYWNlUmVxdWVzdENsYXNzKGNscykg
ewotICAgIHJldHVybiBjbHMgPT09IGludGVybmFsLkFzc29jaWF0ZWRJbnRlcmZhY2VSZXF1ZXN0
IHx8Ci0gICAgICAgIGNscyA9PT0gaW50ZXJuYWwuTnVsbGFibGVBc3NvY2lhdGVkSW50ZXJmYWNl
UmVxdWVzdDsKLSAgfQotCi0gIGZ1bmN0aW9uIGlzTnVsbGFibGUodHlwZSkgewotICAgIHJldHVy
biB0eXBlID09PSBpbnRlcm5hbC5OdWxsYWJsZVN0cmluZyB8fAotICAgICAgICB0eXBlID09PSBp
bnRlcm5hbC5OdWxsYWJsZUhhbmRsZSB8fAotICAgICAgICB0eXBlID09PSBpbnRlcm5hbC5OdWxs
YWJsZUFzc29jaWF0ZWRJbnRlcmZhY2VQdHJJbmZvIHx8Ci0gICAgICAgIHR5cGUgPT09IGludGVy
bmFsLk51bGxhYmxlQXNzb2NpYXRlZEludGVyZmFjZVJlcXVlc3QgfHwKLSAgICAgICAgdHlwZSA9
PT0gaW50ZXJuYWwuTnVsbGFibGVJbnRlcmZhY2UgfHwKLSAgICAgICAgdHlwZSA9PT0gaW50ZXJu
YWwuTnVsbGFibGVJbnRlcmZhY2VSZXF1ZXN0IHx8Ci0gICAgICAgIHR5cGUgaW5zdGFuY2VvZiBp
bnRlcm5hbC5OdWxsYWJsZUFycmF5T2YgfHwKLSAgICAgICAgdHlwZSBpbnN0YW5jZW9mIGludGVy
bmFsLk51bGxhYmxlUG9pbnRlclRvOwotICB9Ci0KLSAgZnVuY3Rpb24gVmFsaWRhdG9yKG1lc3Nh
Z2UpIHsKLSAgICB0aGlzLm1lc3NhZ2UgPSBtZXNzYWdlOwotICAgIHRoaXMub2Zmc2V0ID0gMDsK
LSAgICB0aGlzLmhhbmRsZUluZGV4ID0gMDsKLSAgICB0aGlzLmFzc29jaWF0ZWRFbmRwb2ludEhh
bmRsZUluZGV4ID0gMDsKLSAgICB0aGlzLnBheWxvYWRJbnRlcmZhY2VJZHMgPSBudWxsOwotICAg
IHRoaXMub2Zmc2V0TGltaXQgPSB0aGlzLm1lc3NhZ2UuYnVmZmVyLmJ5dGVMZW5ndGg7Ci0gIH0K
LQotICBPYmplY3QuZGVmaW5lUHJvcGVydHkoVmFsaWRhdG9yLnByb3RvdHlwZSwgImhhbmRsZUlu
ZGV4TGltaXQiLCB7Ci0gICAgZ2V0OiBmdW5jdGlvbigpIHsgcmV0dXJuIHRoaXMubWVzc2FnZS5o
YW5kbGVzLmxlbmd0aDsgfQotICB9KTsKLQotICBPYmplY3QuZGVmaW5lUHJvcGVydHkoVmFsaWRh
dG9yLnByb3RvdHlwZSwgImFzc29jaWF0ZWRIYW5kbGVJbmRleExpbWl0IiwgewotICAgIGdldDog
ZnVuY3Rpb24oKSB7Ci0gICAgICByZXR1cm4gdGhpcy5wYXlsb2FkSW50ZXJmYWNlSWRzID8gdGhp
cy5wYXlsb2FkSW50ZXJmYWNlSWRzLmxlbmd0aCA6IDA7Ci0gICAgfQotICB9KTsKLQotICAvLyBU
cnVlIGlmIHdlIGNhbiBzYWZlbHkgYWxsb2NhdGUgYSBibG9jayBvZiBieXRlcyBmcm9tIHN0YXJ0
IHRvCi0gIC8vIHRvIHN0YXJ0ICsgbnVtQnl0ZXMuCi0gIFZhbGlkYXRvci5wcm90b3R5cGUuaXNW
YWxpZFJhbmdlID0gZnVuY3Rpb24oc3RhcnQsIG51bUJ5dGVzKSB7Ci0gICAgLy8gT25seSBwb3Np
dGl2ZSBKYXZhU2NyaXB0IGludGVnZXJzIHRoYXQgYXJlIGxlc3MgdGhhbiAyXjUzCi0gICAgLy8g
KE51bWJlci5NQVhfU0FGRV9JTlRFR0VSKSBjYW4gYmUgcmVwcmVzZW50ZWQgZXhhY3RseS4KLSAg
ICBpZiAoc3RhcnQgPCB0aGlzLm9mZnNldCB8fCBudW1CeXRlcyA8PSAwIHx8Ci0gICAgICAgICFO
dW1iZXIuaXNTYWZlSW50ZWdlcihzdGFydCkgfHwKLSAgICAgICAgIU51bWJlci5pc1NhZmVJbnRl
Z2VyKG51bUJ5dGVzKSkKLSAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIHZhciBuZXdPZmZzZXQg
PSBzdGFydCArIG51bUJ5dGVzOwotICAgIGlmICghTnVtYmVyLmlzU2FmZUludGVnZXIobmV3T2Zm
c2V0KSB8fCBuZXdPZmZzZXQgPiB0aGlzLm9mZnNldExpbWl0KQotICAgICAgcmV0dXJuIGZhbHNl
OwotCi0gICAgcmV0dXJuIHRydWU7Ci0gIH07Ci0KLSAgVmFsaWRhdG9yLnByb3RvdHlwZS5jbGFp
bVJhbmdlID0gZnVuY3Rpb24oc3RhcnQsIG51bUJ5dGVzKSB7Ci0gICAgaWYgKHRoaXMuaXNWYWxp
ZFJhbmdlKHN0YXJ0LCBudW1CeXRlcykpIHsKLSAgICAgIHRoaXMub2Zmc2V0ID0gc3RhcnQgKyBu
dW1CeXRlczsKLSAgICAgIHJldHVybiB0cnVlOwotICAgIH0KLSAgICByZXR1cm4gZmFsc2U7Ci0g
IH07Ci0KLSAgVmFsaWRhdG9yLnByb3RvdHlwZS5jbGFpbUhhbmRsZSA9IGZ1bmN0aW9uKGluZGV4
KSB7Ci0gICAgaWYgKGluZGV4ID09PSBpbnRlcm5hbC5rRW5jb2RlZEludmFsaWRIYW5kbGVWYWx1
ZSkKLSAgICAgIHJldHVybiB0cnVlOwotCi0gICAgaWYgKGluZGV4IDwgdGhpcy5oYW5kbGVJbmRl
eCB8fCBpbmRleCA+PSB0aGlzLmhhbmRsZUluZGV4TGltaXQpCi0gICAgICByZXR1cm4gZmFsc2U7
Ci0KLSAgICAvLyBUaGlzIGlzIHNhZmUgYmVjYXVzZSBoYW5kbGUgaW5kaWNlcyBhcmUgdWludDMy
LgotICAgIHRoaXMuaGFuZGxlSW5kZXggPSBpbmRleCArIDE7Ci0gICAgcmV0dXJuIHRydWU7Ci0g
IH07Ci0KLSAgVmFsaWRhdG9yLnByb3RvdHlwZS5jbGFpbUFzc29jaWF0ZWRFbmRwb2ludEhhbmRs
ZSA9IGZ1bmN0aW9uKGluZGV4KSB7Ci0gICAgaWYgKGluZGV4ID09PSBpbnRlcm5hbC5rRW5jb2Rl
ZEludmFsaWRIYW5kbGVWYWx1ZSkgewotICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfQotCi0gICAg
aWYgKGluZGV4IDwgdGhpcy5hc3NvY2lhdGVkRW5kcG9pbnRIYW5kbGVJbmRleCB8fAotICAgICAg
ICBpbmRleCA+PSB0aGlzLmFzc29jaWF0ZWRIYW5kbGVJbmRleExpbWl0KSB7Ci0gICAgICByZXR1
cm4gZmFsc2U7Ci0gICAgfQotCi0gICAgLy8gVGhpcyBpcyBzYWZlIGJlY2F1c2UgaGFuZGxlIGlu
ZGljZXMgYXJlIHVpbnQzMi4KLSAgICB0aGlzLmFzc29jaWF0ZWRFbmRwb2ludEhhbmRsZUluZGV4
ID0gaW5kZXggKyAxOwotICAgIHJldHVybiB0cnVlOwotICB9OwotCi0gIFZhbGlkYXRvci5wcm90
b3R5cGUudmFsaWRhdGVFbnVtID0gZnVuY3Rpb24ob2Zmc2V0LCBlbnVtQ2xhc3MpIHsKLSAgICAv
LyBOb3RlOiBBc3N1bWVzIHRoYXQgZW51bXMgYXJlIGFsd2F5cyAzMiBiaXRzISBCdXQgdGhpcyBt
YXRjaGVzCi0gICAgLy8gbW9qb206OmdlbmVyYXRlOjpwYWNrOjpQYWNrZWRGaWVsZDo6R2V0U2l6
ZUZvcktpbmQsIHNvIGl0IHNob3VsZCBiZSBva2F5LgotICAgIHZhciB2YWx1ZSA9IHRoaXMubWVz
c2FnZS5idWZmZXIuZ2V0SW50MzIob2Zmc2V0KTsKLSAgICByZXR1cm4gZW51bUNsYXNzLnZhbGlk
YXRlKHZhbHVlKTsKLSAgfQotCi0gIFZhbGlkYXRvci5wcm90b3R5cGUudmFsaWRhdGVIYW5kbGUg
PSBmdW5jdGlvbihvZmZzZXQsIG51bGxhYmxlKSB7Ci0gICAgdmFyIGluZGV4ID0gdGhpcy5tZXNz
YWdlLmJ1ZmZlci5nZXRVaW50MzIob2Zmc2V0KTsKLQotICAgIGlmIChpbmRleCA9PT0gaW50ZXJu
YWwua0VuY29kZWRJbnZhbGlkSGFuZGxlVmFsdWUpCi0gICAgICByZXR1cm4gbnVsbGFibGUgPwot
ICAgICAgICAgIHZhbGlkYXRpb25FcnJvci5OT05FIDogdmFsaWRhdGlvbkVycm9yLlVORVhQRUNU
RURfSU5WQUxJRF9IQU5ETEU7Ci0KLSAgICBpZiAoIXRoaXMuY2xhaW1IYW5kbGUoaW5kZXgpKQot
ICAgICAgcmV0dXJuIHZhbGlkYXRpb25FcnJvci5JTExFR0FMX0hBTkRMRTsKLQotICAgIHJldHVy
biB2YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQotICBWYWxpZGF0b3IucHJvdG90eXBlLnZh
bGlkYXRlQXNzb2NpYXRlZEVuZHBvaW50SGFuZGxlID0gZnVuY3Rpb24ob2Zmc2V0LAotICAgICAg
bnVsbGFibGUpIHsKLSAgICB2YXIgaW5kZXggPSB0aGlzLm1lc3NhZ2UuYnVmZmVyLmdldFVpbnQz
MihvZmZzZXQpOwotCi0gICAgaWYgKGluZGV4ID09PSBpbnRlcm5hbC5rRW5jb2RlZEludmFsaWRI
YW5kbGVWYWx1ZSkgewotICAgICAgcmV0dXJuIG51bGxhYmxlID8gdmFsaWRhdGlvbkVycm9yLk5P
TkUgOgotICAgICAgICAgIHZhbGlkYXRpb25FcnJvci5VTkVYUEVDVEVEX0lOVkFMSURfSU5URVJG
QUNFX0lEOwotICAgIH0KLQotICAgIGlmICghdGhpcy5jbGFpbUFzc29jaWF0ZWRFbmRwb2ludEhh
bmRsZShpbmRleCkpIHsKLSAgICAgIHJldHVybiB2YWxpZGF0aW9uRXJyb3IuSUxMRUdBTF9JTlRF
UkZBQ0VfSUQ7Ci0gICAgfQotCi0gICAgcmV0dXJuIHZhbGlkYXRpb25FcnJvci5OT05FOwotICB9
OwotCi0gIFZhbGlkYXRvci5wcm90b3R5cGUudmFsaWRhdGVJbnRlcmZhY2UgPSBmdW5jdGlvbihv
ZmZzZXQsIG51bGxhYmxlKSB7Ci0gICAgcmV0dXJuIHRoaXMudmFsaWRhdGVIYW5kbGUob2Zmc2V0
LCBudWxsYWJsZSk7Ci0gIH07Ci0KLSAgVmFsaWRhdG9yLnByb3RvdHlwZS52YWxpZGF0ZUludGVy
ZmFjZVJlcXVlc3QgPSBmdW5jdGlvbihvZmZzZXQsIG51bGxhYmxlKSB7Ci0gICAgcmV0dXJuIHRo
aXMudmFsaWRhdGVIYW5kbGUob2Zmc2V0LCBudWxsYWJsZSk7Ci0gIH07Ci0KLSAgVmFsaWRhdG9y
LnByb3RvdHlwZS52YWxpZGF0ZUFzc29jaWF0ZWRJbnRlcmZhY2UgPSBmdW5jdGlvbihvZmZzZXQs
Ci0gICAgICBudWxsYWJsZSkgewotICAgIHJldHVybiB0aGlzLnZhbGlkYXRlQXNzb2NpYXRlZEVu
ZHBvaW50SGFuZGxlKG9mZnNldCwgbnVsbGFibGUpOwotICB9OwotCi0gIFZhbGlkYXRvci5wcm90
b3R5cGUudmFsaWRhdGVBc3NvY2lhdGVkSW50ZXJmYWNlUmVxdWVzdCA9IGZ1bmN0aW9uKAotICAg
ICAgb2Zmc2V0LCBudWxsYWJsZSkgewotICAgIHJldHVybiB0aGlzLnZhbGlkYXRlQXNzb2NpYXRl
ZEVuZHBvaW50SGFuZGxlKG9mZnNldCwgbnVsbGFibGUpOwotICB9OwotCi0gIFZhbGlkYXRvci5w
cm90b3R5cGUudmFsaWRhdGVTdHJ1Y3RIZWFkZXIgPSBmdW5jdGlvbihvZmZzZXQsIG1pbk51bUJ5
dGVzKSB7Ci0gICAgaWYgKCFpbnRlcm5hbC5pc0FsaWduZWQob2Zmc2V0KSkKLSAgICAgIHJldHVy
biB2YWxpZGF0aW9uRXJyb3IuTUlTQUxJR05FRF9PQkpFQ1Q7Ci0KLSAgICBpZiAoIXRoaXMuaXNW
YWxpZFJhbmdlKG9mZnNldCwgaW50ZXJuYWwua1N0cnVjdEhlYWRlclNpemUpKQotICAgICAgcmV0
dXJuIHZhbGlkYXRpb25FcnJvci5JTExFR0FMX01FTU9SWV9SQU5HRTsKLQotICAgIHZhciBudW1C
eXRlcyA9IHRoaXMubWVzc2FnZS5idWZmZXIuZ2V0VWludDMyKG9mZnNldCk7Ci0KLSAgICBpZiAo
bnVtQnl0ZXMgPCBtaW5OdW1CeXRlcykKLSAgICAgIHJldHVybiB2YWxpZGF0aW9uRXJyb3IuVU5F
WFBFQ1RFRF9TVFJVQ1RfSEVBREVSOwotCi0gICAgaWYgKCF0aGlzLmNsYWltUmFuZ2Uob2Zmc2V0
LCBudW1CeXRlcykpCi0gICAgICByZXR1cm4gdmFsaWRhdGlvbkVycm9yLklMTEVHQUxfTUVNT1JZ
X1JBTkdFOwotCi0gICAgcmV0dXJuIHZhbGlkYXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIFZh
bGlkYXRvci5wcm90b3R5cGUudmFsaWRhdGVTdHJ1Y3RWZXJzaW9uID0gZnVuY3Rpb24ob2Zmc2V0
LCB2ZXJzaW9uU2l6ZXMpIHsKLSAgICB2YXIgbnVtQnl0ZXMgPSB0aGlzLm1lc3NhZ2UuYnVmZmVy
LmdldFVpbnQzMihvZmZzZXQpOwotICAgIHZhciB2ZXJzaW9uID0gdGhpcy5tZXNzYWdlLmJ1ZmZl
ci5nZXRVaW50MzIob2Zmc2V0ICsgNCk7Ci0KLSAgICBpZiAodmVyc2lvbiA8PSB2ZXJzaW9uU2l6
ZXNbdmVyc2lvblNpemVzLmxlbmd0aCAtIDFdLnZlcnNpb24pIHsKLSAgICAgIC8vIFNjYW4gaW4g
cmV2ZXJzZSBvcmRlciB0byBvcHRpbWl6ZSBmb3IgbW9yZSByZWNlbnQgdmVyc2lvblNpemVzLgot
ICAgICAgZm9yICh2YXIgaSA9IHZlcnNpb25TaXplcy5sZW5ndGggLSAxOyBpID49IDA7IC0taSkg
ewotICAgICAgICBpZiAodmVyc2lvbiA+PSB2ZXJzaW9uU2l6ZXNbaV0udmVyc2lvbikgewotICAg
ICAgICAgIGlmIChudW1CeXRlcyA9PSB2ZXJzaW9uU2l6ZXNbaV0ubnVtQnl0ZXMpCi0gICAgICAg
ICAgICBicmVhazsKLSAgICAgICAgICByZXR1cm4gdmFsaWRhdGlvbkVycm9yLlVORVhQRUNURURf
U1RSVUNUX0hFQURFUjsKLSAgICAgICAgfQotICAgICAgfQotICAgIH0gZWxzZSBpZiAobnVtQnl0
ZXMgPCB2ZXJzaW9uU2l6ZXNbdmVyc2lvblNpemVzLmxlbmd0aC0xXS5udW1CeXRlcykgewotICAg
ICAgcmV0dXJuIHZhbGlkYXRpb25FcnJvci5VTkVYUEVDVEVEX1NUUlVDVF9IRUFERVI7Ci0gICAg
fQotCi0gICAgcmV0dXJuIHZhbGlkYXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIFZhbGlkYXRv
ci5wcm90b3R5cGUuaXNGaWVsZEluU3RydWN0VmVyc2lvbiA9IGZ1bmN0aW9uKG9mZnNldCwgZmll
bGRWZXJzaW9uKSB7Ci0gICAgdmFyIHN0cnVjdFZlcnNpb24gPSB0aGlzLm1lc3NhZ2UuYnVmZmVy
LmdldFVpbnQzMihvZmZzZXQgKyA0KTsKLSAgICByZXR1cm4gZmllbGRWZXJzaW9uIDw9IHN0cnVj
dFZlcnNpb247Ci0gIH07Ci0KLSAgVmFsaWRhdG9yLnByb3RvdHlwZS52YWxpZGF0ZU1lc3NhZ2VI
ZWFkZXIgPSBmdW5jdGlvbigpIHsKLSAgICB2YXIgZXJyID0gdGhpcy52YWxpZGF0ZVN0cnVjdEhl
YWRlcigwLCBpbnRlcm5hbC5rTWVzc2FnZVYwSGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVyciAhPSB2
YWxpZGF0aW9uRXJyb3IuTk9ORSkgewotICAgICAgcmV0dXJuIGVycjsKLSAgICB9Ci0KLSAgICB2
YXIgbnVtQnl0ZXMgPSB0aGlzLm1lc3NhZ2UuZ2V0SGVhZGVyTnVtQnl0ZXMoKTsKLSAgICB2YXIg
dmVyc2lvbiA9IHRoaXMubWVzc2FnZS5nZXRIZWFkZXJWZXJzaW9uKCk7Ci0KLSAgICB2YXIgdmFs
aWRWZXJzaW9uQW5kTnVtQnl0ZXMgPQotICAgICAgICAodmVyc2lvbiA9PSAwICYmIG51bUJ5dGVz
ID09IGludGVybmFsLmtNZXNzYWdlVjBIZWFkZXJTaXplKSB8fAotICAgICAgICAodmVyc2lvbiA9
PSAxICYmIG51bUJ5dGVzID09IGludGVybmFsLmtNZXNzYWdlVjFIZWFkZXJTaXplKSB8fAotICAg
ICAgICAodmVyc2lvbiA9PSAyICYmIG51bUJ5dGVzID09IGludGVybmFsLmtNZXNzYWdlVjJIZWFk
ZXJTaXplKSB8fAotICAgICAgICAodmVyc2lvbiA+IDIgJiYgbnVtQnl0ZXMgPj0gaW50ZXJuYWwu
a01lc3NhZ2VWMkhlYWRlclNpemUpOwotCi0gICAgaWYgKCF2YWxpZFZlcnNpb25BbmROdW1CeXRl
cykgewotICAgICAgcmV0dXJuIHZhbGlkYXRpb25FcnJvci5VTkVYUEVDVEVEX1NUUlVDVF9IRUFE
RVI7Ci0gICAgfQotCi0gICAgdmFyIGV4cGVjdHNSZXNwb25zZSA9IHRoaXMubWVzc2FnZS5leHBl
Y3RzUmVzcG9uc2UoKTsKLSAgICB2YXIgaXNSZXNwb25zZSA9IHRoaXMubWVzc2FnZS5pc1Jlc3Bv
bnNlKCk7Ci0KLSAgICBpZiAodmVyc2lvbiA9PSAwICYmIChleHBlY3RzUmVzcG9uc2UgfHwgaXNS
ZXNwb25zZSkpIHsKLSAgICAgIHJldHVybiB2YWxpZGF0aW9uRXJyb3IuTUVTU0FHRV9IRUFERVJf
TUlTU0lOR19SRVFVRVNUX0lEOwotICAgIH0KLQotICAgIGlmIChpc1Jlc3BvbnNlICYmIGV4cGVj
dHNSZXNwb25zZSkgewotICAgICAgcmV0dXJuIHZhbGlkYXRpb25FcnJvci5NRVNTQUdFX0hFQURF
Ul9JTlZBTElEX0ZMQUdTOwotICAgIH0KLQotICAgIGlmICh2ZXJzaW9uIDwgMikgewotICAgICAg
cmV0dXJuIHZhbGlkYXRpb25FcnJvci5OT05FOwotICAgIH0KLQotICAgIHZhciBlcnIgPSB0aGlz
LnZhbGlkYXRlQXJyYXlQb2ludGVyKAotICAgICAgICBpbnRlcm5hbC5rTWVzc2FnZVBheWxvYWRJ
bnRlcmZhY2VJZHNQb2ludGVyT2Zmc2V0LAotICAgICAgICBpbnRlcm5hbC5VaW50MzIuZW5jb2Rl
ZFNpemUsIGludGVybmFsLlVpbnQzMiwgdHJ1ZSwgWzBdLCAwKTsKLQotICAgIGlmIChlcnIgIT0g
dmFsaWRhdGlvbkVycm9yLk5PTkUpIHsKLSAgICAgIHJldHVybiBlcnI7Ci0gICAgfQotCi0gICAg
dGhpcy5wYXlsb2FkSW50ZXJmYWNlSWRzID0gdGhpcy5tZXNzYWdlLmdldFBheWxvYWRJbnRlcmZh
Y2VJZHMoKTsKLSAgICBpZiAodGhpcy5wYXlsb2FkSW50ZXJmYWNlSWRzKSB7Ci0gICAgICBmb3Ig
KHZhciBpbnRlcmZhY2VJZCBvZiB0aGlzLnBheWxvYWRJbnRlcmZhY2VJZHMpIHsKLSAgICAgICAg
aWYgKCFpbnRlcm5hbC5pc1ZhbGlkSW50ZXJmYWNlSWQoaW50ZXJmYWNlSWQpIHx8Ci0gICAgICAg
ICAgICBpbnRlcm5hbC5pc01hc3RlckludGVyZmFjZUlkKGludGVyZmFjZUlkKSkgewotICAgICAg
ICAgIHJldHVybiB2YWxpZGF0aW9uRXJyb3IuSUxMRUdBTF9JTlRFUkZBQ0VfSUQ7Ci0gICAgICAg
IH0KLSAgICAgIH0KLSAgICB9Ci0KLSAgICAvLyBTZXQgb2Zmc2V0IHRvIHRoZSBzdGFydCBvZiB0
aGUgcGF5bG9hZCBhbmQgb2Zmc2V0TGltaXQgdG8gdGhlIHN0YXJ0IG9mCi0gICAgLy8gdGhlIHBh
eWxvYWQgaW50ZXJmYWNlIElkcyBzbyB0aGF0IHBheWxvYWQgY2FuIGJlIHZhbGlkYXRlZCB1c2lu
ZyB0aGUKLSAgICAvLyBzYW1lIG1lc3NhZ2VWYWxpZGF0b3IuCi0gICAgdGhpcy5vZmZzZXQgPSB0
aGlzLm1lc3NhZ2UuZ2V0SGVhZGVyTnVtQnl0ZXMoKTsKLSAgICB0aGlzLm9mZnNldExpbWl0ID0g
dGhpcy5kZWNvZGVQb2ludGVyKAotICAgICAgICBpbnRlcm5hbC5rTWVzc2FnZVBheWxvYWRJbnRl
cmZhY2VJZHNQb2ludGVyT2Zmc2V0KTsKLQotICAgIHJldHVybiB2YWxpZGF0aW9uRXJyb3IuTk9O
RTsKLSAgfTsKLQotICBWYWxpZGF0b3IucHJvdG90eXBlLnZhbGlkYXRlTWVzc2FnZUlzUmVxdWVz
dFdpdGhvdXRSZXNwb25zZSA9IGZ1bmN0aW9uKCkgewotICAgIGlmICh0aGlzLm1lc3NhZ2UuaXNS
ZXNwb25zZSgpIHx8IHRoaXMubWVzc2FnZS5leHBlY3RzUmVzcG9uc2UoKSkgewotICAgICAgcmV0
dXJuIHZhbGlkYXRpb25FcnJvci5NRVNTQUdFX0hFQURFUl9JTlZBTElEX0ZMQUdTOwotICAgIH0K
LSAgICByZXR1cm4gdmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gIH07Ci0KLSAgVmFsaWRhdG9yLnBy
b3RvdHlwZS52YWxpZGF0ZU1lc3NhZ2VJc1JlcXVlc3RFeHBlY3RpbmdSZXNwb25zZSA9IGZ1bmN0
aW9uKCkgewotICAgIGlmICh0aGlzLm1lc3NhZ2UuaXNSZXNwb25zZSgpIHx8ICF0aGlzLm1lc3Nh
Z2UuZXhwZWN0c1Jlc3BvbnNlKCkpIHsKLSAgICAgIHJldHVybiB2YWxpZGF0aW9uRXJyb3IuTUVT
U0FHRV9IRUFERVJfSU5WQUxJRF9GTEFHUzsKLSAgICB9Ci0gICAgcmV0dXJuIHZhbGlkYXRpb25F
cnJvci5OT05FOwotICB9OwotCi0gIFZhbGlkYXRvci5wcm90b3R5cGUudmFsaWRhdGVNZXNzYWdl
SXNSZXNwb25zZSA9IGZ1bmN0aW9uKCkgewotICAgIGlmICh0aGlzLm1lc3NhZ2UuZXhwZWN0c1Jl
c3BvbnNlKCkgfHwgIXRoaXMubWVzc2FnZS5pc1Jlc3BvbnNlKCkpIHsKLSAgICAgIHJldHVybiB2
YWxpZGF0aW9uRXJyb3IuTUVTU0FHRV9IRUFERVJfSU5WQUxJRF9GTEFHUzsKLSAgICB9Ci0gICAg
cmV0dXJuIHZhbGlkYXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIC8vIFJldHVybnMgdGhlIG1l
c3NhZ2UuYnVmZmVyIHJlbGF0aXZlIG9mZnNldCB0aGlzIHBvaW50ZXIgInBvaW50cyB0byIsCi0g
IC8vIE5VTExfTU9KT19QT0lOVEVSIGlmIHRoZSBwb2ludGVyIHJlcHJlc2VudHMgYSBudWxsLCBv
ciBKUyBudWxsIGlmIHRoZQotICAvLyBwb2ludGVyJ3MgdmFsdWUgaXMgbm90IHZhbGlkLgotICBW
YWxpZGF0b3IucHJvdG90eXBlLmRlY29kZVBvaW50ZXIgPSBmdW5jdGlvbihvZmZzZXQpIHsKLSAg
ICB2YXIgcG9pbnRlclZhbHVlID0gdGhpcy5tZXNzYWdlLmJ1ZmZlci5nZXRVaW50NjQob2Zmc2V0
KTsKLSAgICBpZiAocG9pbnRlclZhbHVlID09PSAwKQotICAgICAgcmV0dXJuIE5VTExfTU9KT19Q
T0lOVEVSOwotICAgIHZhciBidWZmZXJPZmZzZXQgPSBvZmZzZXQgKyBwb2ludGVyVmFsdWU7Ci0g
ICAgcmV0dXJuIE51bWJlci5pc1NhZmVJbnRlZ2VyKGJ1ZmZlck9mZnNldCkgPyBidWZmZXJPZmZz
ZXQgOiBudWxsOwotICB9OwotCi0gIFZhbGlkYXRvci5wcm90b3R5cGUuZGVjb2RlVW5pb25TaXpl
ID0gZnVuY3Rpb24ob2Zmc2V0KSB7Ci0gICAgcmV0dXJuIHRoaXMubWVzc2FnZS5idWZmZXIuZ2V0
VWludDMyKG9mZnNldCk7Ci0gIH07Ci0KLSAgVmFsaWRhdG9yLnByb3RvdHlwZS5kZWNvZGVVbmlv
blRhZyA9IGZ1bmN0aW9uKG9mZnNldCkgewotICAgIHJldHVybiB0aGlzLm1lc3NhZ2UuYnVmZmVy
LmdldFVpbnQzMihvZmZzZXQgKyA0KTsKLSAgfTsKLQotICBWYWxpZGF0b3IucHJvdG90eXBlLnZh
bGlkYXRlQXJyYXlQb2ludGVyID0gZnVuY3Rpb24oCi0gICAgICBvZmZzZXQsIGVsZW1lbnRTaXpl
LCBlbGVtZW50VHlwZSwgbnVsbGFibGUsIGV4cGVjdGVkRGltZW5zaW9uU2l6ZXMsCi0gICAgICBj
dXJyZW50RGltZW5zaW9uKSB7Ci0gICAgdmFyIGFycmF5T2Zmc2V0ID0gdGhpcy5kZWNvZGVQb2lu
dGVyKG9mZnNldCk7Ci0gICAgaWYgKGFycmF5T2Zmc2V0ID09PSBudWxsKQotICAgICAgcmV0dXJu
IHZhbGlkYXRpb25FcnJvci5JTExFR0FMX1BPSU5URVI7Ci0KLSAgICBpZiAoYXJyYXlPZmZzZXQg
PT09IE5VTExfTU9KT19QT0lOVEVSKQotICAgICAgcmV0dXJuIG51bGxhYmxlID8KLSAgICAgICAg
ICB2YWxpZGF0aW9uRXJyb3IuTk9ORSA6IHZhbGlkYXRpb25FcnJvci5VTkVYUEVDVEVEX05VTExf
UE9JTlRFUjsKLQotICAgIHJldHVybiB0aGlzLnZhbGlkYXRlQXJyYXkoYXJyYXlPZmZzZXQsIGVs
ZW1lbnRTaXplLCBlbGVtZW50VHlwZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4
cGVjdGVkRGltZW5zaW9uU2l6ZXMsIGN1cnJlbnREaW1lbnNpb24pOwotICB9OwotCi0gIFZhbGlk
YXRvci5wcm90b3R5cGUudmFsaWRhdGVTdHJ1Y3RQb2ludGVyID0gZnVuY3Rpb24oCi0gICAgICBv
ZmZzZXQsIHN0cnVjdENsYXNzLCBudWxsYWJsZSkgewotICAgIHZhciBzdHJ1Y3RPZmZzZXQgPSB0
aGlzLmRlY29kZVBvaW50ZXIob2Zmc2V0KTsKLSAgICBpZiAoc3RydWN0T2Zmc2V0ID09PSBudWxs
KQotICAgICAgcmV0dXJuIHZhbGlkYXRpb25FcnJvci5JTExFR0FMX1BPSU5URVI7Ci0KLSAgICBp
ZiAoc3RydWN0T2Zmc2V0ID09PSBOVUxMX01PSk9fUE9JTlRFUikKLSAgICAgIHJldHVybiBudWxs
YWJsZSA/Ci0gICAgICAgICAgdmFsaWRhdGlvbkVycm9yLk5PTkUgOiB2YWxpZGF0aW9uRXJyb3Iu
VU5FWFBFQ1RFRF9OVUxMX1BPSU5URVI7Ci0KLSAgICByZXR1cm4gc3RydWN0Q2xhc3MudmFsaWRh
dGUodGhpcywgc3RydWN0T2Zmc2V0KTsKLSAgfTsKLQotICBWYWxpZGF0b3IucHJvdG90eXBlLnZh
bGlkYXRlVW5pb24gPSBmdW5jdGlvbigKLSAgICAgIG9mZnNldCwgdW5pb25DbGFzcywgbnVsbGFi
bGUpIHsKLSAgICB2YXIgc2l6ZSA9IHRoaXMubWVzc2FnZS5idWZmZXIuZ2V0VWludDMyKG9mZnNl
dCk7Ci0gICAgaWYgKHNpemUgPT0gMCkgewotICAgICAgcmV0dXJuIG51bGxhYmxlID8KLSAgICAg
ICAgICB2YWxpZGF0aW9uRXJyb3IuTk9ORSA6IHZhbGlkYXRpb25FcnJvci5VTkVYUEVDVEVEX05V
TExfVU5JT047Ci0gICAgfQotCi0gICAgcmV0dXJuIHVuaW9uQ2xhc3MudmFsaWRhdGUodGhpcywg
b2Zmc2V0KTsKLSAgfTsKLQotICBWYWxpZGF0b3IucHJvdG90eXBlLnZhbGlkYXRlTmVzdGVkVW5p
b24gPSBmdW5jdGlvbigKLSAgICAgIG9mZnNldCwgdW5pb25DbGFzcywgbnVsbGFibGUpIHsKLSAg
ICB2YXIgdW5pb25PZmZzZXQgPSB0aGlzLmRlY29kZVBvaW50ZXIob2Zmc2V0KTsKLSAgICBpZiAo
dW5pb25PZmZzZXQgPT09IG51bGwpCi0gICAgICByZXR1cm4gdmFsaWRhdGlvbkVycm9yLklMTEVH
QUxfUE9JTlRFUjsKLQotICAgIGlmICh1bmlvbk9mZnNldCA9PT0gTlVMTF9NT0pPX1BPSU5URVIp
Ci0gICAgICByZXR1cm4gbnVsbGFibGUgPwotICAgICAgICAgIHZhbGlkYXRpb25FcnJvci5OT05F
IDogdmFsaWRhdGlvbkVycm9yLlVORVhQRUNURURfTlVMTF9VTklPTjsKLQotICAgIHJldHVybiB0
aGlzLnZhbGlkYXRlVW5pb24odW5pb25PZmZzZXQsIHVuaW9uQ2xhc3MsIG51bGxhYmxlKTsKLSAg
fTsKLQotICAvLyBUaGlzIG1ldGhvZCBhc3N1bWVzIHRoYXQgdGhlIGFycmF5IGF0IGFycmF5UG9p
bnRlck9mZnNldCBoYXMKLSAgLy8gYmVlbiB2YWxpZGF0ZWQuCi0KLSAgVmFsaWRhdG9yLnByb3Rv
dHlwZS5hcnJheUxlbmd0aCA9IGZ1bmN0aW9uKGFycmF5UG9pbnRlck9mZnNldCkgewotICAgIHZh
ciBhcnJheU9mZnNldCA9IHRoaXMuZGVjb2RlUG9pbnRlcihhcnJheVBvaW50ZXJPZmZzZXQpOwot
ICAgIHJldHVybiB0aGlzLm1lc3NhZ2UuYnVmZmVyLmdldFVpbnQzMihhcnJheU9mZnNldCArIDQp
OwotICB9OwotCi0gIFZhbGlkYXRvci5wcm90b3R5cGUudmFsaWRhdGVNYXBQb2ludGVyID0gZnVu
Y3Rpb24oCi0gICAgICBvZmZzZXQsIG1hcElzTnVsbGFibGUsIGtleUNsYXNzLCB2YWx1ZUNsYXNz
LCB2YWx1ZUlzTnVsbGFibGUpIHsKLSAgICAvLyBWYWxpZGF0ZSB0aGUgaW1wbGljaXQgbWFwIHN0
cnVjdDoKLSAgICAvLyBzdHJ1Y3Qge2FycmF5PGtleUNsYXNzPiBrZXlzOyBhcnJheTx2YWx1ZUNs
YXNzPiB2YWx1ZXN9OwotICAgIHZhciBzdHJ1Y3RPZmZzZXQgPSB0aGlzLmRlY29kZVBvaW50ZXIo
b2Zmc2V0KTsKLSAgICBpZiAoc3RydWN0T2Zmc2V0ID09PSBudWxsKQotICAgICAgcmV0dXJuIHZh
bGlkYXRpb25FcnJvci5JTExFR0FMX1BPSU5URVI7Ci0KLSAgICBpZiAoc3RydWN0T2Zmc2V0ID09
PSBOVUxMX01PSk9fUE9JTlRFUikKLSAgICAgIHJldHVybiBtYXBJc051bGxhYmxlID8KLSAgICAg
ICAgICB2YWxpZGF0aW9uRXJyb3IuTk9ORSA6IHZhbGlkYXRpb25FcnJvci5VTkVYUEVDVEVEX05V
TExfUE9JTlRFUjsKLQotICAgIHZhciBtYXBFbmNvZGVkU2l6ZSA9IGludGVybmFsLmtTdHJ1Y3RI
ZWFkZXJTaXplICsKLSAgICAgICAgICAgICAgICAgICAgICAgICBpbnRlcm5hbC5rTWFwU3RydWN0
UGF5bG9hZFNpemU7Ci0gICAgdmFyIGVyciA9IHRoaXMudmFsaWRhdGVTdHJ1Y3RIZWFkZXIoc3Ry
dWN0T2Zmc2V0LCBtYXBFbmNvZGVkU2l6ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdGlvbkVy
cm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICAvLyBWYWxpZGF0ZSB0aGUga2V5
cyBhcnJheS4KLSAgICB2YXIga2V5c0FycmF5UG9pbnRlck9mZnNldCA9IHN0cnVjdE9mZnNldCAr
IGludGVybmFsLmtTdHJ1Y3RIZWFkZXJTaXplOwotICAgIGVyciA9IHRoaXMudmFsaWRhdGVBcnJh
eVBvaW50ZXIoCi0gICAgICAgIGtleXNBcnJheVBvaW50ZXJPZmZzZXQsIGtleUNsYXNzLmVuY29k
ZWRTaXplLCBrZXlDbGFzcywgZmFsc2UsIFswXSwgMCk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRh
dGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICAvLyBWYWxpZGF0ZSB0
aGUgdmFsdWVzIGFycmF5LgotICAgIHZhciB2YWx1ZXNBcnJheVBvaW50ZXJPZmZzZXQgPSBrZXlz
QXJyYXlQb2ludGVyT2Zmc2V0ICsgODsKLSAgICB2YXIgdmFsdWVzQXJyYXlEaW1lbnNpb25zID0g
WzBdOyAvLyBWYWxpZGF0ZSB0aGUgYWN0dWFsIGxlbmd0aCBiZWxvdy4KLSAgICBpZiAodmFsdWVD
bGFzcyBpbnN0YW5jZW9mIGludGVybmFsLkFycmF5T2YpCi0gICAgICB2YWx1ZXNBcnJheURpbWVu
c2lvbnMgPQotICAgICAgICAgIHZhbHVlc0FycmF5RGltZW5zaW9ucy5jb25jYXQodmFsdWVDbGFz
cy5kaW1lbnNpb25zKCkpOwotICAgIHZhciBlcnIgPSB0aGlzLnZhbGlkYXRlQXJyYXlQb2ludGVy
KHZhbHVlc0FycmF5UG9pbnRlck9mZnNldCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB2YWx1ZUNsYXNzLmVuY29kZWRTaXplLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHZhbHVlQ2xhc3MsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdmFsdWVJc051bGxhYmxlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHZhbHVlc0FycmF5RGltZW5zaW9ucywKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAwKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0aW9uRXJy
b3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIC8vIFZhbGlkYXRlIHRoZSBsZW5n
dGhzIG9mIHRoZSBrZXlzIGFuZCB2YWx1ZXMgYXJyYXlzLgotICAgIHZhciBrZXlzQXJyYXlMZW5n
dGggPSB0aGlzLmFycmF5TGVuZ3RoKGtleXNBcnJheVBvaW50ZXJPZmZzZXQpOwotICAgIHZhciB2
YWx1ZXNBcnJheUxlbmd0aCA9IHRoaXMuYXJyYXlMZW5ndGgodmFsdWVzQXJyYXlQb2ludGVyT2Zm
c2V0KTsKLSAgICBpZiAoa2V5c0FycmF5TGVuZ3RoICE9IHZhbHVlc0FycmF5TGVuZ3RoKQotICAg
ICAgcmV0dXJuIHZhbGlkYXRpb25FcnJvci5ESUZGRVJFTlRfU0laRURfQVJSQVlTX0lOX01BUDsK
LQotICAgIHJldHVybiB2YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQotICBWYWxpZGF0b3Iu
cHJvdG90eXBlLnZhbGlkYXRlU3RyaW5nUG9pbnRlciA9IGZ1bmN0aW9uKG9mZnNldCwgbnVsbGFi
bGUpIHsKLSAgICByZXR1cm4gdGhpcy52YWxpZGF0ZUFycmF5UG9pbnRlcigKLSAgICAgICAgb2Zm
c2V0LCBpbnRlcm5hbC5VaW50OC5lbmNvZGVkU2l6ZSwgaW50ZXJuYWwuVWludDgsIG51bGxhYmxl
LCBbMF0sIDApOwotICB9OwotCi0gIC8vIFNpbWlsYXIgdG8gQXJyYXlfRGF0YTxUPjo6VmFsaWRh
dGUoKQotICAvLyBtb2pvL3B1YmxpYy9jcHAvYmluZGluZ3MvbGliL2FycmF5X2ludGVybmFsLmgK
LQotICBWYWxpZGF0b3IucHJvdG90eXBlLnZhbGlkYXRlQXJyYXkgPQotICAgICAgZnVuY3Rpb24g
KG9mZnNldCwgZWxlbWVudFNpemUsIGVsZW1lbnRUeXBlLCBleHBlY3RlZERpbWVuc2lvblNpemVz
LAotICAgICAgICAgICAgICAgIGN1cnJlbnREaW1lbnNpb24pIHsKLSAgICBpZiAoIWludGVybmFs
LmlzQWxpZ25lZChvZmZzZXQpKQotICAgICAgcmV0dXJuIHZhbGlkYXRpb25FcnJvci5NSVNBTElH
TkVEX09CSkVDVDsKLQotICAgIGlmICghdGhpcy5pc1ZhbGlkUmFuZ2Uob2Zmc2V0LCBpbnRlcm5h
bC5rQXJyYXlIZWFkZXJTaXplKSkKLSAgICAgIHJldHVybiB2YWxpZGF0aW9uRXJyb3IuSUxMRUdB
TF9NRU1PUllfUkFOR0U7Ci0KLSAgICB2YXIgbnVtQnl0ZXMgPSB0aGlzLm1lc3NhZ2UuYnVmZmVy
LmdldFVpbnQzMihvZmZzZXQpOwotICAgIHZhciBudW1FbGVtZW50cyA9IHRoaXMubWVzc2FnZS5i
dWZmZXIuZ2V0VWludDMyKG9mZnNldCArIDQpOwotCi0gICAgLy8gTm90ZTogdGhpcyBjb21wdXRh
dGlvbiBpcyAic2FmZSIgYmVjYXVzZSBlbGVtZW50U2l6ZSA8PSA4IGFuZAotICAgIC8vIG51bUVs
ZW1lbnRzIGlzIGEgdWludDMyLgotICAgIHZhciBlbGVtZW50c1RvdGFsU2l6ZSA9IChlbGVtZW50
VHlwZSA9PT0gaW50ZXJuYWwuUGFja2VkQm9vbCkgPwotICAgICAgICBNYXRoLmNlaWwobnVtRWxl
bWVudHMgLyA4KSA6IChlbGVtZW50U2l6ZSAqIG51bUVsZW1lbnRzKTsKLQotICAgIGlmIChudW1C
eXRlcyA8IGludGVybmFsLmtBcnJheUhlYWRlclNpemUgKyBlbGVtZW50c1RvdGFsU2l6ZSkKLSAg
ICAgIHJldHVybiB2YWxpZGF0aW9uRXJyb3IuVU5FWFBFQ1RFRF9BUlJBWV9IRUFERVI7Ci0KLSAg
ICBpZiAoZXhwZWN0ZWREaW1lbnNpb25TaXplc1tjdXJyZW50RGltZW5zaW9uXSAhPSAwICYmCi0g
ICAgICAgIG51bUVsZW1lbnRzICE9IGV4cGVjdGVkRGltZW5zaW9uU2l6ZXNbY3VycmVudERpbWVu
c2lvbl0pIHsKLSAgICAgIHJldHVybiB2YWxpZGF0aW9uRXJyb3IuVU5FWFBFQ1RFRF9BUlJBWV9I
RUFERVI7Ci0gICAgfQotCi0gICAgaWYgKCF0aGlzLmNsYWltUmFuZ2Uob2Zmc2V0LCBudW1CeXRl
cykpCi0gICAgICByZXR1cm4gdmFsaWRhdGlvbkVycm9yLklMTEVHQUxfTUVNT1JZX1JBTkdFOwot
Ci0gICAgLy8gVmFsaWRhdGUgdGhlIGFycmF5J3MgZWxlbWVudHMgaWYgdGhleSBhcmUgcG9pbnRl
cnMgb3IgaGFuZGxlcy4KLQotICAgIHZhciBlbGVtZW50c09mZnNldCA9IG9mZnNldCArIGludGVy
bmFsLmtBcnJheUhlYWRlclNpemU7Ci0gICAgdmFyIG51bGxhYmxlID0gaXNOdWxsYWJsZShlbGVt
ZW50VHlwZSk7Ci0KLSAgICBpZiAoaXNIYW5kbGVDbGFzcyhlbGVtZW50VHlwZSkpCi0gICAgICBy
ZXR1cm4gdGhpcy52YWxpZGF0ZUhhbmRsZUVsZW1lbnRzKGVsZW1lbnRzT2Zmc2V0LCBudW1FbGVt
ZW50cywgbnVsbGFibGUpOwotICAgIGlmIChpc0ludGVyZmFjZUNsYXNzKGVsZW1lbnRUeXBlKSkK
LSAgICAgIHJldHVybiB0aGlzLnZhbGlkYXRlSW50ZXJmYWNlRWxlbWVudHMoCi0gICAgICAgICAg
ZWxlbWVudHNPZmZzZXQsIG51bUVsZW1lbnRzLCBudWxsYWJsZSk7Ci0gICAgaWYgKGlzSW50ZXJm
YWNlUmVxdWVzdENsYXNzKGVsZW1lbnRUeXBlKSkKLSAgICAgIHJldHVybiB0aGlzLnZhbGlkYXRl
SW50ZXJmYWNlUmVxdWVzdEVsZW1lbnRzKAotICAgICAgICAgIGVsZW1lbnRzT2Zmc2V0LCBudW1F
bGVtZW50cywgbnVsbGFibGUpOwotICAgIGlmIChpc0Fzc29jaWF0ZWRJbnRlcmZhY2VDbGFzcyhl
bGVtZW50VHlwZSkpCi0gICAgICByZXR1cm4gdGhpcy52YWxpZGF0ZUFzc29jaWF0ZWRJbnRlcmZh
Y2VFbGVtZW50cygKLSAgICAgICAgICBlbGVtZW50c09mZnNldCwgbnVtRWxlbWVudHMsIG51bGxh
YmxlKTsKLSAgICBpZiAoaXNBc3NvY2lhdGVkSW50ZXJmYWNlUmVxdWVzdENsYXNzKGVsZW1lbnRU
eXBlKSkKLSAgICAgIHJldHVybiB0aGlzLnZhbGlkYXRlQXNzb2NpYXRlZEludGVyZmFjZVJlcXVl
c3RFbGVtZW50cygKLSAgICAgICAgICBlbGVtZW50c09mZnNldCwgbnVtRWxlbWVudHMsIG51bGxh
YmxlKTsKLSAgICBpZiAoaXNTdHJpbmdDbGFzcyhlbGVtZW50VHlwZSkpCi0gICAgICByZXR1cm4g
dGhpcy52YWxpZGF0ZUFycmF5RWxlbWVudHMoCi0gICAgICAgICAgZWxlbWVudHNPZmZzZXQsIG51
bUVsZW1lbnRzLCBpbnRlcm5hbC5VaW50OCwgbnVsbGFibGUsIFswXSwgMCk7Ci0gICAgaWYgKGVs
ZW1lbnRUeXBlIGluc3RhbmNlb2YgaW50ZXJuYWwuUG9pbnRlclRvKQotICAgICAgcmV0dXJuIHRo
aXMudmFsaWRhdGVTdHJ1Y3RFbGVtZW50cygKLSAgICAgICAgICBlbGVtZW50c09mZnNldCwgbnVt
RWxlbWVudHMsIGVsZW1lbnRUeXBlLmNscywgbnVsbGFibGUpOwotICAgIGlmIChlbGVtZW50VHlw
ZSBpbnN0YW5jZW9mIGludGVybmFsLkFycmF5T2YpCi0gICAgICByZXR1cm4gdGhpcy52YWxpZGF0
ZUFycmF5RWxlbWVudHMoCi0gICAgICAgICAgZWxlbWVudHNPZmZzZXQsIG51bUVsZW1lbnRzLCBl
bGVtZW50VHlwZS5jbHMsIG51bGxhYmxlLAotICAgICAgICAgIGV4cGVjdGVkRGltZW5zaW9uU2l6
ZXMsIGN1cnJlbnREaW1lbnNpb24gKyAxKTsKLSAgICBpZiAoaXNFbnVtQ2xhc3MoZWxlbWVudFR5
cGUpKQotICAgICAgcmV0dXJuIHRoaXMudmFsaWRhdGVFbnVtRWxlbWVudHMoZWxlbWVudHNPZmZz
ZXQsIG51bUVsZW1lbnRzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ZWxlbWVudFR5cGUuY2xzKTsKLQotICAgIHJldHVybiB2YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAg
fTsKLQotICAvLyBOb3RlOiB0aGUgfG9mZnNldCArIGkgKiBlbGVtZW50U2l6ZXwgY29tcHV0YXRp
b24gaW4gdGhlIHZhbGlkYXRlRm9vRWxlbWVudHMKLSAgLy8gbWV0aG9kcyBiZWxvdyBpcyAic2Fm
ZSIgYmVjYXVzZSBlbGVtZW50U2l6ZSA8PSA4LCBvZmZzZXQgYW5kCi0gIC8vIG51bUVsZW1lbnRz
IGFyZSB1aW50MzIsIGFuZCAwIDw9IGkgPCBudW1FbGVtZW50cy4KLQotICBWYWxpZGF0b3IucHJv
dG90eXBlLnZhbGlkYXRlSGFuZGxlRWxlbWVudHMgPQotICAgICAgZnVuY3Rpb24ob2Zmc2V0LCBu
dW1FbGVtZW50cywgbnVsbGFibGUpIHsKLSAgICB2YXIgZWxlbWVudFNpemUgPSBpbnRlcm5hbC5I
YW5kbGUuZW5jb2RlZFNpemU7Ci0gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBudW1FbGVtZW50czsg
aSsrKSB7Ci0gICAgICB2YXIgZWxlbWVudE9mZnNldCA9IG9mZnNldCArIGkgKiBlbGVtZW50U2l6
ZTsKLSAgICAgIHZhciBlcnIgPSB0aGlzLnZhbGlkYXRlSGFuZGxlKGVsZW1lbnRPZmZzZXQsIG51
bGxhYmxlKTsKLSAgICAgIGlmIChlcnIgIT0gdmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAg
IHJldHVybiBlcnI7Ci0gICAgfQotICAgIHJldHVybiB2YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAg
fTsKLQotICBWYWxpZGF0b3IucHJvdG90eXBlLnZhbGlkYXRlSW50ZXJmYWNlRWxlbWVudHMgPQot
ICAgICAgZnVuY3Rpb24ob2Zmc2V0LCBudW1FbGVtZW50cywgbnVsbGFibGUpIHsKLSAgICB2YXIg
ZWxlbWVudFNpemUgPSBpbnRlcm5hbC5JbnRlcmZhY2UucHJvdG90eXBlLmVuY29kZWRTaXplOwot
ICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbnVtRWxlbWVudHM7IGkrKykgewotICAgICAgdmFyIGVs
ZW1lbnRPZmZzZXQgPSBvZmZzZXQgKyBpICogZWxlbWVudFNpemU7Ci0gICAgICB2YXIgZXJyID0g
dGhpcy52YWxpZGF0ZUludGVyZmFjZShlbGVtZW50T2Zmc2V0LCBudWxsYWJsZSk7Ci0gICAgICBp
ZiAoZXJyICE9IHZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotICAg
IH0KLSAgICByZXR1cm4gdmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gIH07Ci0KLSAgVmFsaWRhdG9y
LnByb3RvdHlwZS52YWxpZGF0ZUludGVyZmFjZVJlcXVlc3RFbGVtZW50cyA9Ci0gICAgICBmdW5j
dGlvbihvZmZzZXQsIG51bUVsZW1lbnRzLCBudWxsYWJsZSkgewotICAgIHZhciBlbGVtZW50U2l6
ZSA9IGludGVybmFsLkludGVyZmFjZVJlcXVlc3QuZW5jb2RlZFNpemU7Ci0gICAgZm9yICh2YXIg
aSA9IDA7IGkgPCBudW1FbGVtZW50czsgaSsrKSB7Ci0gICAgICB2YXIgZWxlbWVudE9mZnNldCA9
IG9mZnNldCArIGkgKiBlbGVtZW50U2l6ZTsKLSAgICAgIHZhciBlcnIgPSB0aGlzLnZhbGlkYXRl
SW50ZXJmYWNlUmVxdWVzdChlbGVtZW50T2Zmc2V0LCBudWxsYWJsZSk7Ci0gICAgICBpZiAoZXJy
ICE9IHZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotICAgIH0KLSAg
ICByZXR1cm4gdmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gIH07Ci0KLSAgVmFsaWRhdG9yLnByb3Rv
dHlwZS52YWxpZGF0ZUFzc29jaWF0ZWRJbnRlcmZhY2VFbGVtZW50cyA9Ci0gICAgICBmdW5jdGlv
bihvZmZzZXQsIG51bUVsZW1lbnRzLCBudWxsYWJsZSkgewotICAgIHZhciBlbGVtZW50U2l6ZSA9
IGludGVybmFsLkFzc29jaWF0ZWRJbnRlcmZhY2VQdHJJbmZvLnByb3RvdHlwZS5lbmNvZGVkU2l6
ZTsKLSAgICBmb3IgKHZhciBpID0gMDsgaSA8IG51bUVsZW1lbnRzOyBpKyspIHsKLSAgICAgIHZh
ciBlbGVtZW50T2Zmc2V0ID0gb2Zmc2V0ICsgaSAqIGVsZW1lbnRTaXplOwotICAgICAgdmFyIGVy
ciA9IHRoaXMudmFsaWRhdGVBc3NvY2lhdGVkSW50ZXJmYWNlKGVsZW1lbnRPZmZzZXQsIG51bGxh
YmxlKTsKLSAgICAgIGlmIChlcnIgIT0gdmFsaWRhdGlvbkVycm9yLk5PTkUpIHsKLSAgICAgICAg
cmV0dXJuIGVycjsKLSAgICAgIH0KLSAgICB9Ci0gICAgcmV0dXJuIHZhbGlkYXRpb25FcnJvci5O
T05FOwotICB9OwotCi0gIFZhbGlkYXRvci5wcm90b3R5cGUudmFsaWRhdGVBc3NvY2lhdGVkSW50
ZXJmYWNlUmVxdWVzdEVsZW1lbnRzID0KLSAgICAgIGZ1bmN0aW9uKG9mZnNldCwgbnVtRWxlbWVu
dHMsIG51bGxhYmxlKSB7Ci0gICAgdmFyIGVsZW1lbnRTaXplID0gaW50ZXJuYWwuQXNzb2NpYXRl
ZEludGVyZmFjZVJlcXVlc3QuZW5jb2RlZFNpemU7Ci0gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBu
dW1FbGVtZW50czsgaSsrKSB7Ci0gICAgICB2YXIgZWxlbWVudE9mZnNldCA9IG9mZnNldCArIGkg
KiBlbGVtZW50U2l6ZTsKLSAgICAgIHZhciBlcnIgPSB0aGlzLnZhbGlkYXRlQXNzb2NpYXRlZElu
dGVyZmFjZVJlcXVlc3QoZWxlbWVudE9mZnNldCwKLSAgICAgICAgICBudWxsYWJsZSk7Ci0gICAg
ICBpZiAoZXJyICE9IHZhbGlkYXRpb25FcnJvci5OT05FKSB7Ci0gICAgICAgIHJldHVybiBlcnI7
Ci0gICAgICB9Ci0gICAgfQotICAgIHJldHVybiB2YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAgfTsK
LQotICAvLyBUaGUgZWxlbWVudENsYXNzIHBhcmFtZXRlciBpcyB0aGUgZWxlbWVudCB0eXBlIG9m
IHRoZSBlbGVtZW50IGFycmF5cy4KLSAgVmFsaWRhdG9yLnByb3RvdHlwZS52YWxpZGF0ZUFycmF5
RWxlbWVudHMgPQotICAgICAgZnVuY3Rpb24ob2Zmc2V0LCBudW1FbGVtZW50cywgZWxlbWVudENs
YXNzLCBudWxsYWJsZSwKLSAgICAgICAgICAgICAgIGV4cGVjdGVkRGltZW5zaW9uU2l6ZXMsIGN1
cnJlbnREaW1lbnNpb24pIHsKLSAgICB2YXIgZWxlbWVudFNpemUgPSBpbnRlcm5hbC5Qb2ludGVy
VG8ucHJvdG90eXBlLmVuY29kZWRTaXplOwotICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbnVtRWxl
bWVudHM7IGkrKykgewotICAgICAgdmFyIGVsZW1lbnRPZmZzZXQgPSBvZmZzZXQgKyBpICogZWxl
bWVudFNpemU7Ci0gICAgICB2YXIgZXJyID0gdGhpcy52YWxpZGF0ZUFycmF5UG9pbnRlcigKLSAg
ICAgICAgICBlbGVtZW50T2Zmc2V0LCBlbGVtZW50Q2xhc3MuZW5jb2RlZFNpemUsIGVsZW1lbnRD
bGFzcywgbnVsbGFibGUsCi0gICAgICAgICAgZXhwZWN0ZWREaW1lbnNpb25TaXplcywgY3VycmVu
dERpbWVuc2lvbik7Ci0gICAgICBpZiAoZXJyICE9IHZhbGlkYXRpb25FcnJvci5OT05FKQotICAg
ICAgICByZXR1cm4gZXJyOwotICAgIH0KLSAgICByZXR1cm4gdmFsaWRhdGlvbkVycm9yLk5PTkU7
Ci0gIH07Ci0KLSAgVmFsaWRhdG9yLnByb3RvdHlwZS52YWxpZGF0ZVN0cnVjdEVsZW1lbnRzID0K
LSAgICAgIGZ1bmN0aW9uKG9mZnNldCwgbnVtRWxlbWVudHMsIHN0cnVjdENsYXNzLCBudWxsYWJs
ZSkgewotICAgIHZhciBlbGVtZW50U2l6ZSA9IGludGVybmFsLlBvaW50ZXJUby5wcm90b3R5cGUu
ZW5jb2RlZFNpemU7Ci0gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBudW1FbGVtZW50czsgaSsrKSB7
Ci0gICAgICB2YXIgZWxlbWVudE9mZnNldCA9IG9mZnNldCArIGkgKiBlbGVtZW50U2l6ZTsKLSAg
ICAgIHZhciBlcnIgPQotICAgICAgICAgIHRoaXMudmFsaWRhdGVTdHJ1Y3RQb2ludGVyKGVsZW1l
bnRPZmZzZXQsIHN0cnVjdENsYXNzLCBudWxsYWJsZSk7Ci0gICAgICBpZiAoZXJyICE9IHZhbGlk
YXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotICAgIH0KLSAgICByZXR1cm4g
dmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gIH07Ci0KLSAgVmFsaWRhdG9yLnByb3RvdHlwZS52YWxp
ZGF0ZUVudW1FbGVtZW50cyA9Ci0gICAgICBmdW5jdGlvbihvZmZzZXQsIG51bUVsZW1lbnRzLCBl
bnVtQ2xhc3MpIHsKLSAgICB2YXIgZWxlbWVudFNpemUgPSBpbnRlcm5hbC5FbnVtLnByb3RvdHlw
ZS5lbmNvZGVkU2l6ZTsKLSAgICBmb3IgKHZhciBpID0gMDsgaSA8IG51bUVsZW1lbnRzOyBpKysp
IHsKLSAgICAgIHZhciBlbGVtZW50T2Zmc2V0ID0gb2Zmc2V0ICsgaSAqIGVsZW1lbnRTaXplOwot
ICAgICAgdmFyIGVyciA9IHRoaXMudmFsaWRhdGVFbnVtKGVsZW1lbnRPZmZzZXQsIGVudW1DbGFz
cyk7Ci0gICAgICBpZiAoZXJyICE9IHZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1
cm4gZXJyOwotICAgIH0KLSAgICByZXR1cm4gdmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gIH07Ci0K
LSAgaW50ZXJuYWwudmFsaWRhdGlvbkVycm9yID0gdmFsaWRhdGlvbkVycm9yOwotICBpbnRlcm5h
bC5WYWxpZGF0b3IgPSBWYWxpZGF0b3I7Ci0gIGludGVybmFsLlZhbGlkYXRpb25FcnJvck9ic2Vy
dmVyRm9yVGVzdGluZyA9Ci0gICAgICBWYWxpZGF0aW9uRXJyb3JPYnNlcnZlckZvclRlc3Rpbmc7
Ci0gIGludGVybmFsLnJlcG9ydFZhbGlkYXRpb25FcnJvciA9IHJlcG9ydFZhbGlkYXRpb25FcnJv
cjsKLSAgaW50ZXJuYWwuaXNUZXN0aW5nTW9kZSA9IGlzVGVzdGluZ01vZGU7Ci0gIGludGVybmFs
LmNsZWFyVGVzdGluZ01vZGUgPSBjbGVhclRlc3RpbmdNb2RlOwotfSkoKTsKLS8vIENvcHlyaWdo
dCAyMDE0IFRoZSBDaHJvbWl1bSBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotLy8gVXNl
IG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZSB0
aGF0IGNhbiBiZQotLy8gZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KLQotJ3VzZSBzdHJpY3Qn
OwotCi0oZnVuY3Rpb24oKSB7Ci0gIHZhciBtb2pvbUlkID0gJ21vam8vcHVibGljL2ludGVyZmFj
ZXMvYmluZGluZ3MvaW50ZXJmYWNlX2NvbnRyb2xfbWVzc2FnZXMubW9qb20nOwotICBpZiAobW9q
by5pbnRlcm5hbC5pc01vam9tTG9hZGVkKG1vam9tSWQpKSB7Ci0gICAgY29uc29sZS53YXJuKCdU
aGUgZm9sbG93aW5nIG1vam9tIGlzIGxvYWRlZCBtdWx0aXBsZSB0aW1lczogJyArIG1vam9tSWQp
OwotICAgIHJldHVybjsKLSAgfQotICBtb2pvLmludGVybmFsLm1hcmtNb2pvbUxvYWRlZChtb2pv
bUlkKTsKLSAgdmFyIGJpbmRpbmdzID0gbW9qbzsKLSAgdmFyIGFzc29jaWF0ZWRCaW5kaW5ncyA9
IG1vam87Ci0gIHZhciBjb2RlYyA9IG1vam8uaW50ZXJuYWw7Ci0gIHZhciB2YWxpZGF0b3IgPSBt
b2pvLmludGVybmFsOwotCi0gIHZhciBleHBvcnRzID0gbW9qby5pbnRlcm5hbC5leHBvc2VOYW1l
c3BhY2UoJ21vam8uaW50ZXJmYWNlQ29udHJvbCcpOwotCi0KLSAgdmFyIGtSdW5NZXNzYWdlSWQg
PSAweEZGRkZGRkZGOwotICB2YXIga1J1bk9yQ2xvc2VQaXBlTWVzc2FnZUlkID0gMHhGRkZGRkZG
RTsKLQotICBmdW5jdGlvbiBSdW5NZXNzYWdlUGFyYW1zKHZhbHVlcykgewotICAgIHRoaXMuaW5p
dERlZmF1bHRzXygpOwotICAgIHRoaXMuaW5pdEZpZWxkc18odmFsdWVzKTsKLSAgfQotCi0KLSAg
UnVuTWVzc2FnZVBhcmFtcy5wcm90b3R5cGUuaW5pdERlZmF1bHRzXyA9IGZ1bmN0aW9uKCkgewot
ICAgIHRoaXMuaW5wdXQgPSBudWxsOwotICB9OwotICBSdW5NZXNzYWdlUGFyYW1zLnByb3RvdHlw
ZS5pbml0RmllbGRzXyA9IGZ1bmN0aW9uKGZpZWxkcykgewotICAgIGZvcih2YXIgZmllbGQgaW4g
ZmllbGRzKSB7Ci0gICAgICAgIGlmICh0aGlzLmhhc093blByb3BlcnR5KGZpZWxkKSkKLSAgICAg
ICAgICB0aGlzW2ZpZWxkXSA9IGZpZWxkc1tmaWVsZF07Ci0gICAgfQotICB9OwotCi0gIFJ1bk1l
c3NhZ2VQYXJhbXMudmFsaWRhdGUgPSBmdW5jdGlvbihtZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQp
IHsKLSAgICB2YXIgZXJyOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1
Y3RIZWFkZXIob2Zmc2V0LCBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVyciAh
PT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwot
Ci0gICAgdmFyIGtWZXJzaW9uU2l6ZXMgPSBbCi0gICAgICB7dmVyc2lvbjogMCwgbnVtQnl0ZXM6
IDI0fQotICAgIF07Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFZl
cnNpb24ob2Zmc2V0LCBrVmVyc2lvblNpemVzKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3Iu
dmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotICAgIC8vIHZh
bGlkYXRlIFJ1bk1lc3NhZ2VQYXJhbXMuaW5wdXQKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9y
LnZhbGlkYXRlVW5pb24ob2Zmc2V0ICsgY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyAwLCBSdW5J
bnB1dCwgZmFsc2UpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3Iu
Tk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRh
dGlvbkVycm9yLk5PTkU7Ci0gIH07Ci0KLSAgUnVuTWVzc2FnZVBhcmFtcy5lbmNvZGVkU2l6ZSA9
IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgMTY7Ci0KLSAgUnVuTWVzc2FnZVBhcmFtcy5kZWNv
ZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICB2YXIgdmFsID0g
bmV3IFJ1bk1lc3NhZ2VQYXJhbXMoKTsKLSAgICB2YXIgbnVtYmVyT2ZCeXRlcyA9IGRlY29kZXIu
cmVhZFVpbnQzMigpOwotICAgIHZhciB2ZXJzaW9uID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0g
ICAgdmFsLmlucHV0ID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoUnVuSW5wdXQpOwotICAgIHJldHVy
biB2YWw7Ci0gIH07Ci0KLSAgUnVuTWVzc2FnZVBhcmFtcy5lbmNvZGUgPSBmdW5jdGlvbihlbmNv
ZGVyLCB2YWwpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoUnVu
TWVzc2FnZVBhcmFtcy5lbmNvZGVkU2l6ZSk7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMigwKTsK
LSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdChSdW5JbnB1dCwgdmFsLmlucHV0KTsKLSAgfTsKLSAg
ZnVuY3Rpb24gUnVuUmVzcG9uc2VNZXNzYWdlUGFyYW1zKHZhbHVlcykgewotICAgIHRoaXMuaW5p
dERlZmF1bHRzXygpOwotICAgIHRoaXMuaW5pdEZpZWxkc18odmFsdWVzKTsKLSAgfQotCi0KLSAg
UnVuUmVzcG9uc2VNZXNzYWdlUGFyYW1zLnByb3RvdHlwZS5pbml0RGVmYXVsdHNfID0gZnVuY3Rp
b24oKSB7Ci0gICAgdGhpcy5vdXRwdXQgPSBudWxsOwotICB9OwotICBSdW5SZXNwb25zZU1lc3Nh
Z2VQYXJhbXMucHJvdG90eXBlLmluaXRGaWVsZHNfID0gZnVuY3Rpb24oZmllbGRzKSB7Ci0gICAg
Zm9yKHZhciBmaWVsZCBpbiBmaWVsZHMpIHsKLSAgICAgICAgaWYgKHRoaXMuaGFzT3duUHJvcGVy
dHkoZmllbGQpKQotICAgICAgICAgIHRoaXNbZmllbGRdID0gZmllbGRzW2ZpZWxkXTsKLSAgICB9
Ci0gIH07Ci0KLSAgUnVuUmVzcG9uc2VNZXNzYWdlUGFyYW1zLnZhbGlkYXRlID0gZnVuY3Rpb24o
bWVzc2FnZVZhbGlkYXRvciwgb2Zmc2V0KSB7Ci0gICAgdmFyIGVycjsKLSAgICBlcnIgPSBtZXNz
YWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0SGVhZGVyKG9mZnNldCwgY29kZWMua1N0cnVjdEhl
YWRlclNpemUpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9O
RSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHZhciBrVmVyc2lvblNpemVzID0gWwotICAg
ICAge3ZlcnNpb246IDAsIG51bUJ5dGVzOiAyNH0KLSAgICBdOwotICAgIGVyciA9IG1lc3NhZ2VW
YWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RWZXJzaW9uKG9mZnNldCwga1ZlcnNpb25TaXplcyk7Ci0g
ICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICBy
ZXR1cm4gZXJyOwotCi0KLSAgICAvLyB2YWxpZGF0ZSBSdW5SZXNwb25zZU1lc3NhZ2VQYXJhbXMu
b3V0cHV0Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVVuaW9uKG9mZnNldCAr
IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgMCwgUnVuT3V0cHV0LCB0cnVlKTsKLSAgICBpZiAo
ZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBl
cnI7Ci0KLSAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwotICB9Owot
Ci0gIFJ1blJlc3BvbnNlTWVzc2FnZVBhcmFtcy5lbmNvZGVkU2l6ZSA9IGNvZGVjLmtTdHJ1Y3RI
ZWFkZXJTaXplICsgMTY7Ci0KLSAgUnVuUmVzcG9uc2VNZXNzYWdlUGFyYW1zLmRlY29kZSA9IGZ1
bmN0aW9uKGRlY29kZXIpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIHZhciB2YWwgPSBuZXcgUnVu
UmVzcG9uc2VNZXNzYWdlUGFyYW1zKCk7Ci0gICAgdmFyIG51bWJlck9mQnl0ZXMgPSBkZWNvZGVy
LnJlYWRVaW50MzIoKTsKLSAgICB2YXIgdmVyc2lvbiA9IGRlY29kZXIucmVhZFVpbnQzMigpOwot
ICAgIHZhbC5vdXRwdXQgPSBkZWNvZGVyLmRlY29kZVN0cnVjdChSdW5PdXRwdXQpOwotICAgIHJl
dHVybiB2YWw7Ci0gIH07Ci0KLSAgUnVuUmVzcG9uc2VNZXNzYWdlUGFyYW1zLmVuY29kZSA9IGZ1
bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgZW5jb2Rlci53cml0
ZVVpbnQzMihSdW5SZXNwb25zZU1lc3NhZ2VQYXJhbXMuZW5jb2RlZFNpemUpOwotICAgIGVuY29k
ZXIud3JpdGVVaW50MzIoMCk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3QoUnVuT3V0cHV0LCB2
YWwub3V0cHV0KTsKLSAgfTsKLSAgZnVuY3Rpb24gUXVlcnlWZXJzaW9uKHZhbHVlcykgewotICAg
IHRoaXMuaW5pdERlZmF1bHRzXygpOwotICAgIHRoaXMuaW5pdEZpZWxkc18odmFsdWVzKTsKLSAg
fQotCi0KLSAgUXVlcnlWZXJzaW9uLnByb3RvdHlwZS5pbml0RGVmYXVsdHNfID0gZnVuY3Rpb24o
KSB7Ci0gIH07Ci0gIFF1ZXJ5VmVyc2lvbi5wcm90b3R5cGUuaW5pdEZpZWxkc18gPSBmdW5jdGlv
bihmaWVsZHMpIHsKLSAgICBmb3IodmFyIGZpZWxkIGluIGZpZWxkcykgewotICAgICAgICBpZiAo
dGhpcy5oYXNPd25Qcm9wZXJ0eShmaWVsZCkpCi0gICAgICAgICAgdGhpc1tmaWVsZF0gPSBmaWVs
ZHNbZmllbGRdOwotICAgIH0KLSAgfTsKLQotICBRdWVyeVZlcnNpb24udmFsaWRhdGUgPSBmdW5j
dGlvbihtZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsKLSAgICB2YXIgZXJyOwotICAgIGVyciA9
IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RIZWFkZXIob2Zmc2V0LCBjb2RlYy5rU3Ry
dWN0SGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJv
ci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgdmFyIGtWZXJzaW9uU2l6ZXMgPSBb
Ci0gICAgICB7dmVyc2lvbjogMCwgbnVtQnl0ZXM6IDh9Ci0gICAgXTsKLSAgICBlcnIgPSBtZXNz
YWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0VmVyc2lvbihvZmZzZXQsIGtWZXJzaW9uU2l6ZXMp
OwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAg
ICAgcmV0dXJuIGVycjsKLQotICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5P
TkU7Ci0gIH07Ci0KLSAgUXVlcnlWZXJzaW9uLmVuY29kZWRTaXplID0gY29kZWMua1N0cnVjdEhl
YWRlclNpemUgKyAwOwotCi0gIFF1ZXJ5VmVyc2lvbi5kZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVy
KSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICB2YXIgdmFsID0gbmV3IFF1ZXJ5VmVyc2lvbigpOwot
ICAgIHZhciBudW1iZXJPZkJ5dGVzID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFyIHZl
cnNpb24gPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICByZXR1cm4gdmFsOwotICB9OwotCi0g
IFF1ZXJ5VmVyc2lvbi5lbmNvZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2YWwpIHsKLSAgICB2YXIg
cGFja2VkOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoUXVlcnlWZXJzaW9uLmVuY29kZWRTaXpl
KTsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKDApOwotICB9OwotICBmdW5jdGlvbiBRdWVyeVZl
cnNpb25SZXN1bHQodmFsdWVzKSB7Ci0gICAgdGhpcy5pbml0RGVmYXVsdHNfKCk7Ci0gICAgdGhp
cy5pbml0RmllbGRzXyh2YWx1ZXMpOwotICB9Ci0KLQotICBRdWVyeVZlcnNpb25SZXN1bHQucHJv
dG90eXBlLmluaXREZWZhdWx0c18gPSBmdW5jdGlvbigpIHsKLSAgICB0aGlzLnZlcnNpb24gPSAw
OwotICB9OwotICBRdWVyeVZlcnNpb25SZXN1bHQucHJvdG90eXBlLmluaXRGaWVsZHNfID0gZnVu
Y3Rpb24oZmllbGRzKSB7Ci0gICAgZm9yKHZhciBmaWVsZCBpbiBmaWVsZHMpIHsKLSAgICAgICAg
aWYgKHRoaXMuaGFzT3duUHJvcGVydHkoZmllbGQpKQotICAgICAgICAgIHRoaXNbZmllbGRdID0g
ZmllbGRzW2ZpZWxkXTsKLSAgICB9Ci0gIH07Ci0KLSAgUXVlcnlWZXJzaW9uUmVzdWx0LnZhbGlk
YXRlID0gZnVuY3Rpb24obWVzc2FnZVZhbGlkYXRvciwgb2Zmc2V0KSB7Ci0gICAgdmFyIGVycjsK
LSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0SGVhZGVyKG9mZnNldCwg
Y29kZWMua1N0cnVjdEhlYWRlclNpemUpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxp
ZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHZhciBrVmVyc2lv
blNpemVzID0gWwotICAgICAge3ZlcnNpb246IDAsIG51bUJ5dGVzOiAxNn0KLSAgICBdOwotICAg
IGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RWZXJzaW9uKG9mZnNldCwga1Zl
cnNpb25TaXplcyk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5O
T05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0KLSAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlk
YXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIFF1ZXJ5VmVyc2lvblJlc3VsdC5lbmNvZGVkU2l6
ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgODsKLQotICBRdWVyeVZlcnNpb25SZXN1bHQu
ZGVjb2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgdmFyIHZh
bCA9IG5ldyBRdWVyeVZlcnNpb25SZXN1bHQoKTsKLSAgICB2YXIgbnVtYmVyT2ZCeXRlcyA9IGRl
Y29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhciB2ZXJzaW9uID0gZGVjb2Rlci5yZWFkVWludDMy
KCk7Ci0gICAgdmFsLnZlcnNpb24gPSBkZWNvZGVyLmRlY29kZVN0cnVjdChjb2RlYy5VaW50MzIp
OwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rl
ci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICByZXR1cm4gdmFsOwotICB9Owot
Ci0gIFF1ZXJ5VmVyc2lvblJlc3VsdC5lbmNvZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2YWwpIHsK
LSAgICB2YXIgcGFja2VkOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoUXVlcnlWZXJzaW9uUmVz
dWx0LmVuY29kZWRTaXplKTsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKDApOwotICAgIGVuY29k
ZXIuZW5jb2RlU3RydWN0KGNvZGVjLlVpbnQzMiwgdmFsLnZlcnNpb24pOwotICAgIGVuY29kZXIu
c2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAg
IGVuY29kZXIuc2tpcCgxKTsKLSAgfTsKLSAgZnVuY3Rpb24gRmx1c2hGb3JUZXN0aW5nKHZhbHVl
cykgewotICAgIHRoaXMuaW5pdERlZmF1bHRzXygpOwotICAgIHRoaXMuaW5pdEZpZWxkc18odmFs
dWVzKTsKLSAgfQotCi0KLSAgRmx1c2hGb3JUZXN0aW5nLnByb3RvdHlwZS5pbml0RGVmYXVsdHNf
ID0gZnVuY3Rpb24oKSB7Ci0gIH07Ci0gIEZsdXNoRm9yVGVzdGluZy5wcm90b3R5cGUuaW5pdEZp
ZWxkc18gPSBmdW5jdGlvbihmaWVsZHMpIHsKLSAgICBmb3IodmFyIGZpZWxkIGluIGZpZWxkcykg
ewotICAgICAgICBpZiAodGhpcy5oYXNPd25Qcm9wZXJ0eShmaWVsZCkpCi0gICAgICAgICAgdGhp
c1tmaWVsZF0gPSBmaWVsZHNbZmllbGRdOwotICAgIH0KLSAgfTsKLQotICBGbHVzaEZvclRlc3Rp
bmcudmFsaWRhdGUgPSBmdW5jdGlvbihtZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsKLSAgICB2
YXIgZXJyOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RIZWFkZXIo
b2Zmc2V0LCBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRh
dG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgdmFy
IGtWZXJzaW9uU2l6ZXMgPSBbCi0gICAgICB7dmVyc2lvbjogMCwgbnVtQnl0ZXM6IDh9Ci0gICAg
XTsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0VmVyc2lvbihvZmZz
ZXQsIGtWZXJzaW9uU2l6ZXMpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9u
RXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHJldHVybiB2YWxpZGF0b3Iu
dmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gIH07Ci0KLSAgRmx1c2hGb3JUZXN0aW5nLmVuY29kZWRT
aXplID0gY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyAwOwotCi0gIEZsdXNoRm9yVGVzdGluZy5k
ZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICB2YXIgdmFs
ID0gbmV3IEZsdXNoRm9yVGVzdGluZygpOwotICAgIHZhciBudW1iZXJPZkJ5dGVzID0gZGVjb2Rl
ci5yZWFkVWludDMyKCk7Ci0gICAgdmFyIHZlcnNpb24gPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsK
LSAgICByZXR1cm4gdmFsOwotICB9OwotCi0gIEZsdXNoRm9yVGVzdGluZy5lbmNvZGUgPSBmdW5j
dGlvbihlbmNvZGVyLCB2YWwpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIGVuY29kZXIud3JpdGVV
aW50MzIoRmx1c2hGb3JUZXN0aW5nLmVuY29kZWRTaXplKTsKLSAgICBlbmNvZGVyLndyaXRlVWlu
dDMyKDApOwotICB9OwotICBmdW5jdGlvbiBSdW5PckNsb3NlUGlwZU1lc3NhZ2VQYXJhbXModmFs
dWVzKSB7Ci0gICAgdGhpcy5pbml0RGVmYXVsdHNfKCk7Ci0gICAgdGhpcy5pbml0RmllbGRzXyh2
YWx1ZXMpOwotICB9Ci0KLQotICBSdW5PckNsb3NlUGlwZU1lc3NhZ2VQYXJhbXMucHJvdG90eXBl
LmluaXREZWZhdWx0c18gPSBmdW5jdGlvbigpIHsKLSAgICB0aGlzLmlucHV0ID0gbnVsbDsKLSAg
fTsKLSAgUnVuT3JDbG9zZVBpcGVNZXNzYWdlUGFyYW1zLnByb3RvdHlwZS5pbml0RmllbGRzXyA9
IGZ1bmN0aW9uKGZpZWxkcykgewotICAgIGZvcih2YXIgZmllbGQgaW4gZmllbGRzKSB7Ci0gICAg
ICAgIGlmICh0aGlzLmhhc093blByb3BlcnR5KGZpZWxkKSkKLSAgICAgICAgICB0aGlzW2ZpZWxk
XSA9IGZpZWxkc1tmaWVsZF07Ci0gICAgfQotICB9OwotCi0gIFJ1bk9yQ2xvc2VQaXBlTWVzc2Fn
ZVBhcmFtcy52YWxpZGF0ZSA9IGZ1bmN0aW9uKG1lc3NhZ2VWYWxpZGF0b3IsIG9mZnNldCkgewot
ICAgIHZhciBlcnI7Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdEhl
YWRlcihvZmZzZXQsIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplKTsKLSAgICBpZiAoZXJyICE9PSB2
YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAg
ICB2YXIga1ZlcnNpb25TaXplcyA9IFsKLSAgICAgIHt2ZXJzaW9uOiAwLCBudW1CeXRlczogMjR9
Ci0gICAgXTsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0VmVyc2lv
bihvZmZzZXQsIGtWZXJzaW9uU2l6ZXMpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxp
ZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0gICAgLy8gdmFsaWRh
dGUgUnVuT3JDbG9zZVBpcGVNZXNzYWdlUGFyYW1zLmlucHV0Ci0gICAgZXJyID0gbWVzc2FnZVZh
bGlkYXRvci52YWxpZGF0ZVVuaW9uKG9mZnNldCArIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsg
MCwgUnVuT3JDbG9zZVBpcGVJbnB1dCwgZmFsc2UpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRv
ci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHJldHVy
biB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gIH07Ci0KLSAgUnVuT3JDbG9zZVBp
cGVNZXNzYWdlUGFyYW1zLmVuY29kZWRTaXplID0gY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyAx
NjsKLQotICBSdW5PckNsb3NlUGlwZU1lc3NhZ2VQYXJhbXMuZGVjb2RlID0gZnVuY3Rpb24oZGVj
b2RlcikgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgdmFyIHZhbCA9IG5ldyBSdW5PckNsb3NlUGlw
ZU1lc3NhZ2VQYXJhbXMoKTsKLSAgICB2YXIgbnVtYmVyT2ZCeXRlcyA9IGRlY29kZXIucmVhZFVp
bnQzMigpOwotICAgIHZhciB2ZXJzaW9uID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFs
LmlucHV0ID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoUnVuT3JDbG9zZVBpcGVJbnB1dCk7Ci0gICAg
cmV0dXJuIHZhbDsKLSAgfTsKLQotICBSdW5PckNsb3NlUGlwZU1lc3NhZ2VQYXJhbXMuZW5jb2Rl
ID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICBlbmNvZGVy
LndyaXRlVWludDMyKFJ1bk9yQ2xvc2VQaXBlTWVzc2FnZVBhcmFtcy5lbmNvZGVkU2l6ZSk7Ci0g
ICAgZW5jb2Rlci53cml0ZVVpbnQzMigwKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdChSdW5P
ckNsb3NlUGlwZUlucHV0LCB2YWwuaW5wdXQpOwotICB9OwotICBmdW5jdGlvbiBSZXF1aXJlVmVy
c2lvbih2YWx1ZXMpIHsKLSAgICB0aGlzLmluaXREZWZhdWx0c18oKTsKLSAgICB0aGlzLmluaXRG
aWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0gIFJlcXVpcmVWZXJzaW9uLnByb3RvdHlwZS5pbml0
RGVmYXVsdHNfID0gZnVuY3Rpb24oKSB7Ci0gICAgdGhpcy52ZXJzaW9uID0gMDsKLSAgfTsKLSAg
UmVxdWlyZVZlcnNpb24ucHJvdG90eXBlLmluaXRGaWVsZHNfID0gZnVuY3Rpb24oZmllbGRzKSB7
Ci0gICAgZm9yKHZhciBmaWVsZCBpbiBmaWVsZHMpIHsKLSAgICAgICAgaWYgKHRoaXMuaGFzT3du
UHJvcGVydHkoZmllbGQpKQotICAgICAgICAgIHRoaXNbZmllbGRdID0gZmllbGRzW2ZpZWxkXTsK
LSAgICB9Ci0gIH07Ci0KLSAgUmVxdWlyZVZlcnNpb24udmFsaWRhdGUgPSBmdW5jdGlvbihtZXNz
YWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsKLSAgICB2YXIgZXJyOwotICAgIGVyciA9IG1lc3NhZ2VW
YWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RIZWFkZXIob2Zmc2V0LCBjb2RlYy5rU3RydWN0SGVhZGVy
U2l6ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQot
ICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgdmFyIGtWZXJzaW9uU2l6ZXMgPSBbCi0gICAgICB7
dmVyc2lvbjogMCwgbnVtQnl0ZXM6IDE2fQotICAgIF07Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlk
YXRvci52YWxpZGF0ZVN0cnVjdFZlcnNpb24ob2Zmc2V0LCBrVmVyc2lvblNpemVzKTsKLSAgICBp
ZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVy
biBlcnI7Ci0KLQotICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0g
IH07Ci0KLSAgUmVxdWlyZVZlcnNpb24uZW5jb2RlZFNpemUgPSBjb2RlYy5rU3RydWN0SGVhZGVy
U2l6ZSArIDg7Ci0KLSAgUmVxdWlyZVZlcnNpb24uZGVjb2RlID0gZnVuY3Rpb24oZGVjb2Rlcikg
ewotICAgIHZhciBwYWNrZWQ7Ci0gICAgdmFyIHZhbCA9IG5ldyBSZXF1aXJlVmVyc2lvbigpOwot
ICAgIHZhciBudW1iZXJPZkJ5dGVzID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFyIHZl
cnNpb24gPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YWwudmVyc2lvbiA9IGRlY29kZXIu
ZGVjb2RlU3RydWN0KGNvZGVjLlVpbnQzMik7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRl
Y29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEp
OwotICAgIHJldHVybiB2YWw7Ci0gIH07Ci0KLSAgUmVxdWlyZVZlcnNpb24uZW5jb2RlID0gZnVu
Y3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICBlbmNvZGVyLndyaXRl
VWludDMyKFJlcXVpcmVWZXJzaW9uLmVuY29kZWRTaXplKTsKLSAgICBlbmNvZGVyLndyaXRlVWlu
dDMyKDApOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNvZGVjLlVpbnQzMiwgdmFsLnZlcnNp
b24pOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5j
b2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgfTsKLQotICBmdW5jdGlvbiBS
dW5JbnB1dCh2YWx1ZSkgewotICAgIHRoaXMuaW5pdERlZmF1bHRfKCk7Ci0gICAgdGhpcy5pbml0
VmFsdWVfKHZhbHVlKTsKLSAgfQotCi0KLSAgUnVuSW5wdXQuVGFncyA9IHsKLSAgICBxdWVyeVZl
cnNpb246IDAsCi0gICAgZmx1c2hGb3JUZXN0aW5nOiAxLAotICB9OwotCi0gIFJ1bklucHV0LnBy
b3RvdHlwZS5pbml0RGVmYXVsdF8gPSBmdW5jdGlvbigpIHsKLSAgICB0aGlzLiRkYXRhID0gbnVs
bDsKLSAgICB0aGlzLiR0YWcgPSB1bmRlZmluZWQ7Ci0gIH0KLQotICBSdW5JbnB1dC5wcm90b3R5
cGUuaW5pdFZhbHVlXyA9IGZ1bmN0aW9uKHZhbHVlKSB7Ci0gICAgaWYgKHZhbHVlID09IHVuZGVm
aW5lZCkgewotICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIHZhciBrZXlzID0gT2JqZWN0Lmtl
eXModmFsdWUpOwotICAgIGlmIChrZXlzLmxlbmd0aCA9PSAwKSB7Ci0gICAgICByZXR1cm47Ci0g
ICAgfQotCi0gICAgaWYgKGtleXMubGVuZ3RoID4gMSkgewotICAgICAgdGhyb3cgbmV3IFR5cGVF
cnJvcigiWW91IG1heSBzZXQgb25seSBvbmUgbWVtYmVyIG9uIGEgdW5pb24uIik7Ci0gICAgfQot
Ci0gICAgdmFyIGZpZWxkcyA9IFsKLSAgICAgICAgInF1ZXJ5VmVyc2lvbiIsCi0gICAgICAgICJm
bHVzaEZvclRlc3RpbmciLAotICAgIF07Ci0KLSAgICBpZiAoZmllbGRzLmluZGV4T2Yoa2V5c1sw
XSkgPCAwKSB7Ci0gICAgICB0aHJvdyBuZXcgUmVmZXJlbmNlRXJyb3Ioa2V5c1swXSArICIgaXMg
bm90IGEgUnVuSW5wdXQgbWVtYmVyLiIpOwotCi0gICAgfQotCi0gICAgdGhpc1trZXlzWzBdXSA9
IHZhbHVlW2tleXNbMF1dOwotICB9Ci0gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShSdW5JbnB1dC5w
cm90b3R5cGUsICJxdWVyeVZlcnNpb24iLCB7Ci0gICAgZ2V0OiBmdW5jdGlvbigpIHsKLSAgICAg
IGlmICh0aGlzLiR0YWcgIT0gUnVuSW5wdXQuVGFncy5xdWVyeVZlcnNpb24pIHsKLSAgICAgICAg
dGhyb3cgbmV3IFJlZmVyZW5jZUVycm9yKAotICAgICAgICAgICAgIlJ1bklucHV0LnF1ZXJ5VmVy
c2lvbiBpcyBub3QgY3VycmVudGx5IHNldC4iKTsKLSAgICAgIH0KLSAgICAgIHJldHVybiB0aGlz
LiRkYXRhOwotICAgIH0sCi0KLSAgICBzZXQ6IGZ1bmN0aW9uKHZhbHVlKSB7Ci0gICAgICB0aGlz
LiR0YWcgPSBSdW5JbnB1dC5UYWdzLnF1ZXJ5VmVyc2lvbjsKLSAgICAgIHRoaXMuJGRhdGEgPSB2
YWx1ZTsKLSAgICB9Ci0gIH0pOwotICBPYmplY3QuZGVmaW5lUHJvcGVydHkoUnVuSW5wdXQucHJv
dG90eXBlLCAiZmx1c2hGb3JUZXN0aW5nIiwgewotICAgIGdldDogZnVuY3Rpb24oKSB7Ci0gICAg
ICBpZiAodGhpcy4kdGFnICE9IFJ1bklucHV0LlRhZ3MuZmx1c2hGb3JUZXN0aW5nKSB7Ci0gICAg
ICAgIHRocm93IG5ldyBSZWZlcmVuY2VFcnJvcigKLSAgICAgICAgICAgICJSdW5JbnB1dC5mbHVz
aEZvclRlc3RpbmcgaXMgbm90IGN1cnJlbnRseSBzZXQuIik7Ci0gICAgICB9Ci0gICAgICByZXR1
cm4gdGhpcy4kZGF0YTsKLSAgICB9LAotCi0gICAgc2V0OiBmdW5jdGlvbih2YWx1ZSkgewotICAg
ICAgdGhpcy4kdGFnID0gUnVuSW5wdXQuVGFncy5mbHVzaEZvclRlc3Rpbmc7Ci0gICAgICB0aGlz
LiRkYXRhID0gdmFsdWU7Ci0gICAgfQotICB9KTsKLQotCi0gICAgUnVuSW5wdXQuZW5jb2RlID0g
ZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAgICBpZiAodmFsID09IG51bGwpIHsKLSAgICAg
ICAgZW5jb2Rlci53cml0ZVVpbnQ2NCgwKTsKLSAgICAgICAgZW5jb2Rlci53cml0ZVVpbnQ2NCgw
KTsKLSAgICAgICAgcmV0dXJuOwotICAgICAgfQotICAgICAgaWYgKHZhbC4kdGFnID09IHVuZGVm
aW5lZCkgewotICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgZW5jb2RlIHVuaW9u
cyB3aXRoIGFuIHVua25vd24gbWVtYmVyIHNldC4iKTsKLSAgICAgIH0KLQotICAgICAgZW5jb2Rl
ci53cml0ZVVpbnQzMigxNik7Ci0gICAgICBlbmNvZGVyLndyaXRlVWludDMyKHZhbC4kdGFnKTsK
LSAgICAgIHN3aXRjaCAodmFsLiR0YWcpIHsKLSAgICAgICAgY2FzZSBSdW5JbnB1dC5UYWdzLnF1
ZXJ5VmVyc2lvbjoKLSAgICAgICAgICBlbmNvZGVyLmVuY29kZVN0cnVjdFBvaW50ZXIoUXVlcnlW
ZXJzaW9uLCB2YWwucXVlcnlWZXJzaW9uKTsKLSAgICAgICAgICBicmVhazsKLSAgICAgICAgY2Fz
ZSBSdW5JbnB1dC5UYWdzLmZsdXNoRm9yVGVzdGluZzoKLSAgICAgICAgICBlbmNvZGVyLmVuY29k
ZVN0cnVjdFBvaW50ZXIoRmx1c2hGb3JUZXN0aW5nLCB2YWwuZmx1c2hGb3JUZXN0aW5nKTsKLSAg
ICAgICAgICBicmVhazsKLSAgICAgIH0KLSAgICAgIGVuY29kZXIuYWxpZ24oKTsKLSAgICB9Owot
Ci0KLSAgICBSdW5JbnB1dC5kZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgICB2YXIg
c2l6ZSA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgICAgaWYgKHNpemUgPT0gMCkgewotICAg
ICAgICBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICAgICAgZGVjb2Rlci5yZWFkVWludDY0KCk7
Ci0gICAgICAgIHJldHVybiBudWxsOwotICAgICAgfQotCi0gICAgICB2YXIgcmVzdWx0ID0gbmV3
IFJ1bklucHV0KCk7Ci0gICAgICB2YXIgdGFnID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAg
ICBzd2l0Y2ggKHRhZykgewotICAgICAgICBjYXNlIFJ1bklucHV0LlRhZ3MucXVlcnlWZXJzaW9u
OgotICAgICAgICAgIHJlc3VsdC5xdWVyeVZlcnNpb24gPSBkZWNvZGVyLmRlY29kZVN0cnVjdFBv
aW50ZXIoUXVlcnlWZXJzaW9uKTsKLSAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSBSdW5J
bnB1dC5UYWdzLmZsdXNoRm9yVGVzdGluZzoKLSAgICAgICAgICByZXN1bHQuZmx1c2hGb3JUZXN0
aW5nID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3RQb2ludGVyKEZsdXNoRm9yVGVzdGluZyk7Ci0gICAg
ICAgICAgYnJlYWs7Ci0gICAgICB9Ci0gICAgICBkZWNvZGVyLmFsaWduKCk7Ci0KLSAgICAgIHJl
dHVybiByZXN1bHQ7Ci0gICAgfTsKLQotCi0gICAgUnVuSW5wdXQudmFsaWRhdGUgPSBmdW5jdGlv
bihtZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsKLSAgICAgIHZhciBzaXplID0gbWVzc2FnZVZh
bGlkYXRvci5kZWNvZGVVbmlvblNpemUob2Zmc2V0KTsKLSAgICAgIGlmIChzaXplICE9IDE2KSB7
Ci0gICAgICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLklOVkFMSURfVU5JT05f
U0laRTsKLSAgICAgIH0KLQotICAgICAgdmFyIHRhZyA9IG1lc3NhZ2VWYWxpZGF0b3IuZGVjb2Rl
VW5pb25UYWcob2Zmc2V0KTsKLSAgICAgIHZhciBkYXRhX29mZnNldCA9IG9mZnNldCArIDg7Ci0g
ICAgICB2YXIgZXJyOwotICAgICAgc3dpdGNoICh0YWcpIHsKLSAgICAgICAgY2FzZSBSdW5JbnB1
dC5UYWdzLnF1ZXJ5VmVyc2lvbjoKLSAgICAgICAgICAKLQotICAgIC8vIHZhbGlkYXRlIFJ1bklu
cHV0LnF1ZXJ5VmVyc2lvbgotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1
Y3RQb2ludGVyKGRhdGFfb2Zmc2V0LCBRdWVyeVZlcnNpb24sIGZhbHNlKTsKLSAgICBpZiAoZXJy
ICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7
Ci0gICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgUnVuSW5wdXQuVGFncy5mbHVzaEZvclRl
c3Rpbmc6Ci0gICAgICAgICAgCi0KLSAgICAvLyB2YWxpZGF0ZSBSdW5JbnB1dC5mbHVzaEZvclRl
c3RpbmcKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0UG9pbnRlcihk
YXRhX29mZnNldCwgRmx1c2hGb3JUZXN0aW5nLCBmYWxzZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFs
aWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotICAgICAg
ICAgIGJyZWFrOwotICAgICAgfQotCi0gICAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25F
cnJvci5OT05FOwotICAgIH07Ci0KLSAgUnVuSW5wdXQuZW5jb2RlZFNpemUgPSAxNjsKLQotICBm
dW5jdGlvbiBSdW5PdXRwdXQodmFsdWUpIHsKLSAgICB0aGlzLmluaXREZWZhdWx0XygpOwotICAg
IHRoaXMuaW5pdFZhbHVlXyh2YWx1ZSk7Ci0gIH0KLQotCi0gIFJ1bk91dHB1dC5UYWdzID0gewot
ICAgIHF1ZXJ5VmVyc2lvblJlc3VsdDogMCwKLSAgfTsKLQotICBSdW5PdXRwdXQucHJvdG90eXBl
LmluaXREZWZhdWx0XyA9IGZ1bmN0aW9uKCkgewotICAgIHRoaXMuJGRhdGEgPSBudWxsOwotICAg
IHRoaXMuJHRhZyA9IHVuZGVmaW5lZDsKLSAgfQotCi0gIFJ1bk91dHB1dC5wcm90b3R5cGUuaW5p
dFZhbHVlXyA9IGZ1bmN0aW9uKHZhbHVlKSB7Ci0gICAgaWYgKHZhbHVlID09IHVuZGVmaW5lZCkg
ewotICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIHZhciBrZXlzID0gT2JqZWN0LmtleXModmFs
dWUpOwotICAgIGlmIChrZXlzLmxlbmd0aCA9PSAwKSB7Ci0gICAgICByZXR1cm47Ci0gICAgfQot
Ci0gICAgaWYgKGtleXMubGVuZ3RoID4gMSkgewotICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcigi
WW91IG1heSBzZXQgb25seSBvbmUgbWVtYmVyIG9uIGEgdW5pb24uIik7Ci0gICAgfQotCi0gICAg
dmFyIGZpZWxkcyA9IFsKLSAgICAgICAgInF1ZXJ5VmVyc2lvblJlc3VsdCIsCi0gICAgXTsKLQot
ICAgIGlmIChmaWVsZHMuaW5kZXhPZihrZXlzWzBdKSA8IDApIHsKLSAgICAgIHRocm93IG5ldyBS
ZWZlcmVuY2VFcnJvcihrZXlzWzBdICsgIiBpcyBub3QgYSBSdW5PdXRwdXQgbWVtYmVyLiIpOwot
Ci0gICAgfQotCi0gICAgdGhpc1trZXlzWzBdXSA9IHZhbHVlW2tleXNbMF1dOwotICB9Ci0gIE9i
amVjdC5kZWZpbmVQcm9wZXJ0eShSdW5PdXRwdXQucHJvdG90eXBlLCAicXVlcnlWZXJzaW9uUmVz
dWx0IiwgewotICAgIGdldDogZnVuY3Rpb24oKSB7Ci0gICAgICBpZiAodGhpcy4kdGFnICE9IFJ1
bk91dHB1dC5UYWdzLnF1ZXJ5VmVyc2lvblJlc3VsdCkgewotICAgICAgICB0aHJvdyBuZXcgUmVm
ZXJlbmNlRXJyb3IoCi0gICAgICAgICAgICAiUnVuT3V0cHV0LnF1ZXJ5VmVyc2lvblJlc3VsdCBp
cyBub3QgY3VycmVudGx5IHNldC4iKTsKLSAgICAgIH0KLSAgICAgIHJldHVybiB0aGlzLiRkYXRh
OwotICAgIH0sCi0KLSAgICBzZXQ6IGZ1bmN0aW9uKHZhbHVlKSB7Ci0gICAgICB0aGlzLiR0YWcg
PSBSdW5PdXRwdXQuVGFncy5xdWVyeVZlcnNpb25SZXN1bHQ7Ci0gICAgICB0aGlzLiRkYXRhID0g
dmFsdWU7Ci0gICAgfQotICB9KTsKLQotCi0gICAgUnVuT3V0cHV0LmVuY29kZSA9IGZ1bmN0aW9u
KGVuY29kZXIsIHZhbCkgewotICAgICAgaWYgKHZhbCA9PSBudWxsKSB7Ci0gICAgICAgIGVuY29k
ZXIud3JpdGVVaW50NjQoMCk7Ci0gICAgICAgIGVuY29kZXIud3JpdGVVaW50NjQoMCk7Ci0gICAg
ICAgIHJldHVybjsKLSAgICAgIH0KLSAgICAgIGlmICh2YWwuJHRhZyA9PSB1bmRlZmluZWQpIHsK
LSAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGVuY29kZSB1bmlvbnMgd2l0aCBh
biB1bmtub3duIG1lbWJlciBzZXQuIik7Ci0gICAgICB9Ci0KLSAgICAgIGVuY29kZXIud3JpdGVV
aW50MzIoMTYpOwotICAgICAgZW5jb2Rlci53cml0ZVVpbnQzMih2YWwuJHRhZyk7Ci0gICAgICBz
d2l0Y2ggKHZhbC4kdGFnKSB7Ci0gICAgICAgIGNhc2UgUnVuT3V0cHV0LlRhZ3MucXVlcnlWZXJz
aW9uUmVzdWx0OgotICAgICAgICAgIGVuY29kZXIuZW5jb2RlU3RydWN0UG9pbnRlcihRdWVyeVZl
cnNpb25SZXN1bHQsIHZhbC5xdWVyeVZlcnNpb25SZXN1bHQpOwotICAgICAgICAgIGJyZWFrOwot
ICAgICAgfQotICAgICAgZW5jb2Rlci5hbGlnbigpOwotICAgIH07Ci0KLQotICAgIFJ1bk91dHB1
dC5kZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgICB2YXIgc2l6ZSA9IGRlY29kZXIu
cmVhZFVpbnQzMigpOwotICAgICAgaWYgKHNpemUgPT0gMCkgewotICAgICAgICBkZWNvZGVyLnJl
YWRVaW50MzIoKTsKLSAgICAgICAgZGVjb2Rlci5yZWFkVWludDY0KCk7Ci0gICAgICAgIHJldHVy
biBudWxsOwotICAgICAgfQotCi0gICAgICB2YXIgcmVzdWx0ID0gbmV3IFJ1bk91dHB1dCgpOwot
ICAgICAgdmFyIHRhZyA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgICAgc3dpdGNoICh0YWcp
IHsKLSAgICAgICAgY2FzZSBSdW5PdXRwdXQuVGFncy5xdWVyeVZlcnNpb25SZXN1bHQ6Ci0gICAg
ICAgICAgcmVzdWx0LnF1ZXJ5VmVyc2lvblJlc3VsdCA9IGRlY29kZXIuZGVjb2RlU3RydWN0UG9p
bnRlcihRdWVyeVZlcnNpb25SZXN1bHQpOwotICAgICAgICAgIGJyZWFrOwotICAgICAgfQotICAg
ICAgZGVjb2Rlci5hbGlnbigpOwotCi0gICAgICByZXR1cm4gcmVzdWx0OwotICAgIH07Ci0KLQot
ICAgIFJ1bk91dHB1dC52YWxpZGF0ZSA9IGZ1bmN0aW9uKG1lc3NhZ2VWYWxpZGF0b3IsIG9mZnNl
dCkgewotICAgICAgdmFyIHNpemUgPSBtZXNzYWdlVmFsaWRhdG9yLmRlY29kZVVuaW9uU2l6ZShv
ZmZzZXQpOwotICAgICAgaWYgKHNpemUgIT0gMTYpIHsKLSAgICAgICAgcmV0dXJuIHZhbGlkYXRv
ci52YWxpZGF0aW9uRXJyb3IuSU5WQUxJRF9VTklPTl9TSVpFOwotICAgICAgfQotCi0gICAgICB2
YXIgdGFnID0gbWVzc2FnZVZhbGlkYXRvci5kZWNvZGVVbmlvblRhZyhvZmZzZXQpOwotICAgICAg
dmFyIGRhdGFfb2Zmc2V0ID0gb2Zmc2V0ICsgODsKLSAgICAgIHZhciBlcnI7Ci0gICAgICBzd2l0
Y2ggKHRhZykgewotICAgICAgICBjYXNlIFJ1bk91dHB1dC5UYWdzLnF1ZXJ5VmVyc2lvblJlc3Vs
dDoKLSAgICAgICAgICAKLQotICAgIC8vIHZhbGlkYXRlIFJ1bk91dHB1dC5xdWVyeVZlcnNpb25S
ZXN1bHQKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0UG9pbnRlcihk
YXRhX29mZnNldCwgUXVlcnlWZXJzaW9uUmVzdWx0LCBmYWxzZSk7Ci0gICAgaWYgKGVyciAhPT0g
dmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotICAg
ICAgICAgIGJyZWFrOwotICAgICAgfQotCi0gICAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRp
b25FcnJvci5OT05FOwotICAgIH07Ci0KLSAgUnVuT3V0cHV0LmVuY29kZWRTaXplID0gMTY7Ci0K
LSAgZnVuY3Rpb24gUnVuT3JDbG9zZVBpcGVJbnB1dCh2YWx1ZSkgewotICAgIHRoaXMuaW5pdERl
ZmF1bHRfKCk7Ci0gICAgdGhpcy5pbml0VmFsdWVfKHZhbHVlKTsKLSAgfQotCi0KLSAgUnVuT3JD
bG9zZVBpcGVJbnB1dC5UYWdzID0gewotICAgIHJlcXVpcmVWZXJzaW9uOiAwLAotICB9OwotCi0g
IFJ1bk9yQ2xvc2VQaXBlSW5wdXQucHJvdG90eXBlLmluaXREZWZhdWx0XyA9IGZ1bmN0aW9uKCkg
ewotICAgIHRoaXMuJGRhdGEgPSBudWxsOwotICAgIHRoaXMuJHRhZyA9IHVuZGVmaW5lZDsKLSAg
fQotCi0gIFJ1bk9yQ2xvc2VQaXBlSW5wdXQucHJvdG90eXBlLmluaXRWYWx1ZV8gPSBmdW5jdGlv
bih2YWx1ZSkgewotICAgIGlmICh2YWx1ZSA9PSB1bmRlZmluZWQpIHsKLSAgICAgIHJldHVybjsK
LSAgICB9Ci0KLSAgICB2YXIga2V5cyA9IE9iamVjdC5rZXlzKHZhbHVlKTsKLSAgICBpZiAoa2V5
cy5sZW5ndGggPT0gMCkgewotICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIGlmIChrZXlzLmxl
bmd0aCA+IDEpIHsKLSAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoIllvdSBtYXkgc2V0IG9ubHkg
b25lIG1lbWJlciBvbiBhIHVuaW9uLiIpOwotICAgIH0KLQotICAgIHZhciBmaWVsZHMgPSBbCi0g
ICAgICAgICJyZXF1aXJlVmVyc2lvbiIsCi0gICAgXTsKLQotICAgIGlmIChmaWVsZHMuaW5kZXhP
ZihrZXlzWzBdKSA8IDApIHsKLSAgICAgIHRocm93IG5ldyBSZWZlcmVuY2VFcnJvcihrZXlzWzBd
ICsgIiBpcyBub3QgYSBSdW5PckNsb3NlUGlwZUlucHV0IG1lbWJlci4iKTsKLQotICAgIH0KLQot
ICAgIHRoaXNba2V5c1swXV0gPSB2YWx1ZVtrZXlzWzBdXTsKLSAgfQotICBPYmplY3QuZGVmaW5l
UHJvcGVydHkoUnVuT3JDbG9zZVBpcGVJbnB1dC5wcm90b3R5cGUsICJyZXF1aXJlVmVyc2lvbiIs
IHsKLSAgICBnZXQ6IGZ1bmN0aW9uKCkgewotICAgICAgaWYgKHRoaXMuJHRhZyAhPSBSdW5PckNs
b3NlUGlwZUlucHV0LlRhZ3MucmVxdWlyZVZlcnNpb24pIHsKLSAgICAgICAgdGhyb3cgbmV3IFJl
ZmVyZW5jZUVycm9yKAotICAgICAgICAgICAgIlJ1bk9yQ2xvc2VQaXBlSW5wdXQucmVxdWlyZVZl
cnNpb24gaXMgbm90IGN1cnJlbnRseSBzZXQuIik7Ci0gICAgICB9Ci0gICAgICByZXR1cm4gdGhp
cy4kZGF0YTsKLSAgICB9LAotCi0gICAgc2V0OiBmdW5jdGlvbih2YWx1ZSkgewotICAgICAgdGhp
cy4kdGFnID0gUnVuT3JDbG9zZVBpcGVJbnB1dC5UYWdzLnJlcXVpcmVWZXJzaW9uOwotICAgICAg
dGhpcy4kZGF0YSA9IHZhbHVlOwotICAgIH0KLSAgfSk7Ci0KLQotICAgIFJ1bk9yQ2xvc2VQaXBl
SW5wdXQuZW5jb2RlID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAgICBpZiAodmFsID09
IG51bGwpIHsKLSAgICAgICAgZW5jb2Rlci53cml0ZVVpbnQ2NCgwKTsKLSAgICAgICAgZW5jb2Rl
ci53cml0ZVVpbnQ2NCgwKTsKLSAgICAgICAgcmV0dXJuOwotICAgICAgfQotICAgICAgaWYgKHZh
bC4kdGFnID09IHVuZGVmaW5lZCkgewotICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5u
b3QgZW5jb2RlIHVuaW9ucyB3aXRoIGFuIHVua25vd24gbWVtYmVyIHNldC4iKTsKLSAgICAgIH0K
LQotICAgICAgZW5jb2Rlci53cml0ZVVpbnQzMigxNik7Ci0gICAgICBlbmNvZGVyLndyaXRlVWlu
dDMyKHZhbC4kdGFnKTsKLSAgICAgIHN3aXRjaCAodmFsLiR0YWcpIHsKLSAgICAgICAgY2FzZSBS
dW5PckNsb3NlUGlwZUlucHV0LlRhZ3MucmVxdWlyZVZlcnNpb246Ci0gICAgICAgICAgZW5jb2Rl
ci5lbmNvZGVTdHJ1Y3RQb2ludGVyKFJlcXVpcmVWZXJzaW9uLCB2YWwucmVxdWlyZVZlcnNpb24p
OwotICAgICAgICAgIGJyZWFrOwotICAgICAgfQotICAgICAgZW5jb2Rlci5hbGlnbigpOwotICAg
IH07Ci0KLQotICAgIFJ1bk9yQ2xvc2VQaXBlSW5wdXQuZGVjb2RlID0gZnVuY3Rpb24oZGVjb2Rl
cikgewotICAgICAgdmFyIHNpemUgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICAgIGlmIChz
aXplID09IDApIHsKLSAgICAgICAgZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgICAgIGRlY29k
ZXIucmVhZFVpbnQ2NCgpOwotICAgICAgICByZXR1cm4gbnVsbDsKLSAgICAgIH0KLQotICAgICAg
dmFyIHJlc3VsdCA9IG5ldyBSdW5PckNsb3NlUGlwZUlucHV0KCk7Ci0gICAgICB2YXIgdGFnID0g
ZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgICBzd2l0Y2ggKHRhZykgewotICAgICAgICBjYXNl
IFJ1bk9yQ2xvc2VQaXBlSW5wdXQuVGFncy5yZXF1aXJlVmVyc2lvbjoKLSAgICAgICAgICByZXN1
bHQucmVxdWlyZVZlcnNpb24gPSBkZWNvZGVyLmRlY29kZVN0cnVjdFBvaW50ZXIoUmVxdWlyZVZl
cnNpb24pOwotICAgICAgICAgIGJyZWFrOwotICAgICAgfQotICAgICAgZGVjb2Rlci5hbGlnbigp
OwotCi0gICAgICByZXR1cm4gcmVzdWx0OwotICAgIH07Ci0KLQotICAgIFJ1bk9yQ2xvc2VQaXBl
SW5wdXQudmFsaWRhdGUgPSBmdW5jdGlvbihtZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsKLSAg
ICAgIHZhciBzaXplID0gbWVzc2FnZVZhbGlkYXRvci5kZWNvZGVVbmlvblNpemUob2Zmc2V0KTsK
LSAgICAgIGlmIChzaXplICE9IDE2KSB7Ci0gICAgICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRh
dGlvbkVycm9yLklOVkFMSURfVU5JT05fU0laRTsKLSAgICAgIH0KLQotICAgICAgdmFyIHRhZyA9
IG1lc3NhZ2VWYWxpZGF0b3IuZGVjb2RlVW5pb25UYWcob2Zmc2V0KTsKLSAgICAgIHZhciBkYXRh
X29mZnNldCA9IG9mZnNldCArIDg7Ci0gICAgICB2YXIgZXJyOwotICAgICAgc3dpdGNoICh0YWcp
IHsKLSAgICAgICAgY2FzZSBSdW5PckNsb3NlUGlwZUlucHV0LlRhZ3MucmVxdWlyZVZlcnNpb246
Ci0gICAgICAgICAgCi0KLSAgICAvLyB2YWxpZGF0ZSBSdW5PckNsb3NlUGlwZUlucHV0LnJlcXVp
cmVWZXJzaW9uCi0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFBvaW50
ZXIoZGF0YV9vZmZzZXQsIFJlcXVpcmVWZXJzaW9uLCBmYWxzZSk7Ci0gICAgaWYgKGVyciAhPT0g
dmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotICAg
ICAgICAgIGJyZWFrOwotICAgICAgfQotCi0gICAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRp
b25FcnJvci5OT05FOwotICAgIH07Ci0KLSAgUnVuT3JDbG9zZVBpcGVJbnB1dC5lbmNvZGVkU2l6
ZSA9IDE2OwotICBleHBvcnRzLmtSdW5NZXNzYWdlSWQgPSBrUnVuTWVzc2FnZUlkOwotICBleHBv
cnRzLmtSdW5PckNsb3NlUGlwZU1lc3NhZ2VJZCA9IGtSdW5PckNsb3NlUGlwZU1lc3NhZ2VJZDsK
LSAgZXhwb3J0cy5SdW5NZXNzYWdlUGFyYW1zID0gUnVuTWVzc2FnZVBhcmFtczsKLSAgZXhwb3J0
cy5SdW5SZXNwb25zZU1lc3NhZ2VQYXJhbXMgPSBSdW5SZXNwb25zZU1lc3NhZ2VQYXJhbXM7Ci0g
IGV4cG9ydHMuUXVlcnlWZXJzaW9uID0gUXVlcnlWZXJzaW9uOwotICBleHBvcnRzLlF1ZXJ5VmVy
c2lvblJlc3VsdCA9IFF1ZXJ5VmVyc2lvblJlc3VsdDsKLSAgZXhwb3J0cy5GbHVzaEZvclRlc3Rp
bmcgPSBGbHVzaEZvclRlc3Rpbmc7Ci0gIGV4cG9ydHMuUnVuT3JDbG9zZVBpcGVNZXNzYWdlUGFy
YW1zID0gUnVuT3JDbG9zZVBpcGVNZXNzYWdlUGFyYW1zOwotICBleHBvcnRzLlJlcXVpcmVWZXJz
aW9uID0gUmVxdWlyZVZlcnNpb247Ci0gIGV4cG9ydHMuUnVuSW5wdXQgPSBSdW5JbnB1dDsKLSAg
ZXhwb3J0cy5SdW5PdXRwdXQgPSBSdW5PdXRwdXQ7Ci0gIGV4cG9ydHMuUnVuT3JDbG9zZVBpcGVJ
bnB1dCA9IFJ1bk9yQ2xvc2VQaXBlSW5wdXQ7Ci19KSgpOy8vIENvcHlyaWdodCAyMDE0IFRoZSBD
aHJvbWl1bSBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotLy8gVXNlIG9mIHRoaXMgc291
cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQot
Ly8gZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KLQotJ3VzZSBzdHJpY3QnOwotCi0oZnVuY3Rp
b24oKSB7Ci0gIHZhciBtb2pvbUlkID0gJ21vam8vcHVibGljL2ludGVyZmFjZXMvYmluZGluZ3Mv
cGlwZV9jb250cm9sX21lc3NhZ2VzLm1vam9tJzsKLSAgaWYgKG1vam8uaW50ZXJuYWwuaXNNb2pv
bUxvYWRlZChtb2pvbUlkKSkgewotICAgIGNvbnNvbGUud2FybignVGhlIGZvbGxvd2luZyBtb2pv
bSBpcyBsb2FkZWQgbXVsdGlwbGUgdGltZXM6ICcgKyBtb2pvbUlkKTsKLSAgICByZXR1cm47Ci0g
IH0KLSAgbW9qby5pbnRlcm5hbC5tYXJrTW9qb21Mb2FkZWQobW9qb21JZCk7Ci0gIHZhciBiaW5k
aW5ncyA9IG1vam87Ci0gIHZhciBhc3NvY2lhdGVkQmluZGluZ3MgPSBtb2pvOwotICB2YXIgY29k
ZWMgPSBtb2pvLmludGVybmFsOwotICB2YXIgdmFsaWRhdG9yID0gbW9qby5pbnRlcm5hbDsKLQot
ICB2YXIgZXhwb3J0cyA9IG1vam8uaW50ZXJuYWwuZXhwb3NlTmFtZXNwYWNlKCdtb2pvLnBpcGVD
b250cm9sJyk7Ci0KLQotICB2YXIga1J1bk9yQ2xvc2VQaXBlTWVzc2FnZUlkID0gMHhGRkZGRkZG
RTsKLQotICBmdW5jdGlvbiBSdW5PckNsb3NlUGlwZU1lc3NhZ2VQYXJhbXModmFsdWVzKSB7Ci0g
ICAgdGhpcy5pbml0RGVmYXVsdHNfKCk7Ci0gICAgdGhpcy5pbml0RmllbGRzXyh2YWx1ZXMpOwot
ICB9Ci0KLQotICBSdW5PckNsb3NlUGlwZU1lc3NhZ2VQYXJhbXMucHJvdG90eXBlLmluaXREZWZh
dWx0c18gPSBmdW5jdGlvbigpIHsKLSAgICB0aGlzLmlucHV0ID0gbnVsbDsKLSAgfTsKLSAgUnVu
T3JDbG9zZVBpcGVNZXNzYWdlUGFyYW1zLnByb3RvdHlwZS5pbml0RmllbGRzXyA9IGZ1bmN0aW9u
KGZpZWxkcykgewotICAgIGZvcih2YXIgZmllbGQgaW4gZmllbGRzKSB7Ci0gICAgICAgIGlmICh0
aGlzLmhhc093blByb3BlcnR5KGZpZWxkKSkKLSAgICAgICAgICB0aGlzW2ZpZWxkXSA9IGZpZWxk
c1tmaWVsZF07Ci0gICAgfQotICB9OwotCi0gIFJ1bk9yQ2xvc2VQaXBlTWVzc2FnZVBhcmFtcy52
YWxpZGF0ZSA9IGZ1bmN0aW9uKG1lc3NhZ2VWYWxpZGF0b3IsIG9mZnNldCkgewotICAgIHZhciBl
cnI7Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdEhlYWRlcihvZmZz
ZXQsIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3Iu
dmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICB2YXIga1Zl
cnNpb25TaXplcyA9IFsKLSAgICAgIHt2ZXJzaW9uOiAwLCBudW1CeXRlczogMjR9Ci0gICAgXTsK
LSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0VmVyc2lvbihvZmZzZXQs
IGtWZXJzaW9uU2l6ZXMpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJy
b3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0gICAgLy8gdmFsaWRhdGUgUnVuT3JD
bG9zZVBpcGVNZXNzYWdlUGFyYW1zLmlucHV0Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52
YWxpZGF0ZVVuaW9uKG9mZnNldCArIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgMCwgUnVuT3JD
bG9zZVBpcGVJbnB1dCwgZmFsc2UpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0
aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHJldHVybiB2YWxpZGF0
b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gIH07Ci0KLSAgUnVuT3JDbG9zZVBpcGVNZXNzYWdl
UGFyYW1zLmVuY29kZWRTaXplID0gY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyAxNjsKLQotICBS
dW5PckNsb3NlUGlwZU1lc3NhZ2VQYXJhbXMuZGVjb2RlID0gZnVuY3Rpb24oZGVjb2Rlcikgewot
ICAgIHZhciBwYWNrZWQ7Ci0gICAgdmFyIHZhbCA9IG5ldyBSdW5PckNsb3NlUGlwZU1lc3NhZ2VQ
YXJhbXMoKTsKLSAgICB2YXIgbnVtYmVyT2ZCeXRlcyA9IGRlY29kZXIucmVhZFVpbnQzMigpOwot
ICAgIHZhciB2ZXJzaW9uID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFsLmlucHV0ID0g
ZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoUnVuT3JDbG9zZVBpcGVJbnB1dCk7Ci0gICAgcmV0dXJuIHZh
bDsKLSAgfTsKLQotICBSdW5PckNsb3NlUGlwZU1lc3NhZ2VQYXJhbXMuZW5jb2RlID0gZnVuY3Rp
b24oZW5jb2RlciwgdmFsKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICBlbmNvZGVyLndyaXRlVWlu
dDMyKFJ1bk9yQ2xvc2VQaXBlTWVzc2FnZVBhcmFtcy5lbmNvZGVkU2l6ZSk7Ci0gICAgZW5jb2Rl
ci53cml0ZVVpbnQzMigwKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdChSdW5PckNsb3NlUGlw
ZUlucHV0LCB2YWwuaW5wdXQpOwotICB9OwotICBmdW5jdGlvbiBEaXNjb25uZWN0UmVhc29uKHZh
bHVlcykgewotICAgIHRoaXMuaW5pdERlZmF1bHRzXygpOwotICAgIHRoaXMuaW5pdEZpZWxkc18o
dmFsdWVzKTsKLSAgfQotCi0KLSAgRGlzY29ubmVjdFJlYXNvbi5wcm90b3R5cGUuaW5pdERlZmF1
bHRzXyA9IGZ1bmN0aW9uKCkgewotICAgIHRoaXMuY3VzdG9tUmVhc29uID0gMDsKLSAgICB0aGlz
LmRlc2NyaXB0aW9uID0gbnVsbDsKLSAgfTsKLSAgRGlzY29ubmVjdFJlYXNvbi5wcm90b3R5cGUu
aW5pdEZpZWxkc18gPSBmdW5jdGlvbihmaWVsZHMpIHsKLSAgICBmb3IodmFyIGZpZWxkIGluIGZp
ZWxkcykgewotICAgICAgICBpZiAodGhpcy5oYXNPd25Qcm9wZXJ0eShmaWVsZCkpCi0gICAgICAg
ICAgdGhpc1tmaWVsZF0gPSBmaWVsZHNbZmllbGRdOwotICAgIH0KLSAgfTsKLQotICBEaXNjb25u
ZWN0UmVhc29uLnZhbGlkYXRlID0gZnVuY3Rpb24obWVzc2FnZVZhbGlkYXRvciwgb2Zmc2V0KSB7
Ci0gICAgdmFyIGVycjsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0
SGVhZGVyKG9mZnNldCwgY29kZWMua1N0cnVjdEhlYWRlclNpemUpOwotICAgIGlmIChlcnIgIT09
IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQot
ICAgIHZhciBrVmVyc2lvblNpemVzID0gWwotICAgICAge3ZlcnNpb246IDAsIG51bUJ5dGVzOiAy
NH0KLSAgICBdOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RWZXJz
aW9uKG9mZnNldCwga1ZlcnNpb25TaXplcyk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZh
bGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0KLQotICAgIC8vIHZh
bGlkYXRlIERpc2Nvbm5lY3RSZWFzb24uZGVzY3JpcHRpb24KLSAgICBlcnIgPSBtZXNzYWdlVmFs
aWRhdG9yLnZhbGlkYXRlU3RyaW5nUG9pbnRlcihvZmZzZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVy
U2l6ZSArIDgsIGZhbHNlKQotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJy
b3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHJldHVybiB2YWxpZGF0b3IudmFs
aWRhdGlvbkVycm9yLk5PTkU7Ci0gIH07Ci0KLSAgRGlzY29ubmVjdFJlYXNvbi5lbmNvZGVkU2l6
ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgMTY7Ci0KLSAgRGlzY29ubmVjdFJlYXNvbi5k
ZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICB2YXIgdmFs
ID0gbmV3IERpc2Nvbm5lY3RSZWFzb24oKTsKLSAgICB2YXIgbnVtYmVyT2ZCeXRlcyA9IGRlY29k
ZXIucmVhZFVpbnQzMigpOwotICAgIHZhciB2ZXJzaW9uID0gZGVjb2Rlci5yZWFkVWludDMyKCk7
Ci0gICAgdmFsLmN1c3RvbVJlYXNvbiA9IGRlY29kZXIuZGVjb2RlU3RydWN0KGNvZGVjLlVpbnQz
Mik7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNv
ZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIHZhbC5kZXNjcmlwdGlvbiA9
IGRlY29kZXIuZGVjb2RlU3RydWN0KGNvZGVjLlN0cmluZyk7Ci0gICAgcmV0dXJuIHZhbDsKLSAg
fTsKLQotICBEaXNjb25uZWN0UmVhc29uLmVuY29kZSA9IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkg
ewotICAgIHZhciBwYWNrZWQ7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMihEaXNjb25uZWN0UmVh
c29uLmVuY29kZWRTaXplKTsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKDApOwotICAgIGVuY29k
ZXIuZW5jb2RlU3RydWN0KGNvZGVjLlVpbnQzMiwgdmFsLmN1c3RvbVJlYXNvbik7Ci0gICAgZW5j
b2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7
Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNvZGVjLlN0
cmluZywgdmFsLmRlc2NyaXB0aW9uKTsKLSAgfTsKLSAgZnVuY3Rpb24gUGVlckFzc29jaWF0ZWRF
bmRwb2ludENsb3NlZEV2ZW50KHZhbHVlcykgewotICAgIHRoaXMuaW5pdERlZmF1bHRzXygpOwot
ICAgIHRoaXMuaW5pdEZpZWxkc18odmFsdWVzKTsKLSAgfQotCi0KLSAgUGVlckFzc29jaWF0ZWRF
bmRwb2ludENsb3NlZEV2ZW50LnByb3RvdHlwZS5pbml0RGVmYXVsdHNfID0gZnVuY3Rpb24oKSB7
Ci0gICAgdGhpcy5pZCA9IDA7Ci0gICAgdGhpcy5kaXNjb25uZWN0UmVhc29uID0gbnVsbDsKLSAg
fTsKLSAgUGVlckFzc29jaWF0ZWRFbmRwb2ludENsb3NlZEV2ZW50LnByb3RvdHlwZS5pbml0Rmll
bGRzXyA9IGZ1bmN0aW9uKGZpZWxkcykgewotICAgIGZvcih2YXIgZmllbGQgaW4gZmllbGRzKSB7
Ci0gICAgICAgIGlmICh0aGlzLmhhc093blByb3BlcnR5KGZpZWxkKSkKLSAgICAgICAgICB0aGlz
W2ZpZWxkXSA9IGZpZWxkc1tmaWVsZF07Ci0gICAgfQotICB9OwotCi0gIFBlZXJBc3NvY2lhdGVk
RW5kcG9pbnRDbG9zZWRFdmVudC52YWxpZGF0ZSA9IGZ1bmN0aW9uKG1lc3NhZ2VWYWxpZGF0b3Is
IG9mZnNldCkgewotICAgIHZhciBlcnI7Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxp
ZGF0ZVN0cnVjdEhlYWRlcihvZmZzZXQsIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplKTsKLSAgICBp
ZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVy
biBlcnI7Ci0KLSAgICB2YXIga1ZlcnNpb25TaXplcyA9IFsKLSAgICAgIHt2ZXJzaW9uOiAwLCBu
dW1CeXRlczogMjR9Ci0gICAgXTsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRl
U3RydWN0VmVyc2lvbihvZmZzZXQsIGtWZXJzaW9uU2l6ZXMpOwotICAgIGlmIChlcnIgIT09IHZh
bGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0K
LSAgICAvLyB2YWxpZGF0ZSBQZWVyQXNzb2NpYXRlZEVuZHBvaW50Q2xvc2VkRXZlbnQuZGlzY29u
bmVjdFJlYXNvbgotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RQb2lu
dGVyKG9mZnNldCArIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgOCwgRGlzY29ubmVjdFJlYXNv
biwgdHJ1ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05F
KQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9u
RXJyb3IuTk9ORTsKLSAgfTsKLQotICBQZWVyQXNzb2NpYXRlZEVuZHBvaW50Q2xvc2VkRXZlbnQu
ZW5jb2RlZFNpemUgPSBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDE2OwotCi0gIFBlZXJBc3Nv
Y2lhdGVkRW5kcG9pbnRDbG9zZWRFdmVudC5kZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0g
ICAgdmFyIHBhY2tlZDsKLSAgICB2YXIgdmFsID0gbmV3IFBlZXJBc3NvY2lhdGVkRW5kcG9pbnRD
bG9zZWRFdmVudCgpOwotICAgIHZhciBudW1iZXJPZkJ5dGVzID0gZGVjb2Rlci5yZWFkVWludDMy
KCk7Ci0gICAgdmFyIHZlcnNpb24gPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YWwuaWQg
PSBkZWNvZGVyLmRlY29kZVN0cnVjdChjb2RlYy5VaW50MzIpOwotICAgIGRlY29kZXIuc2tpcCgx
KTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29k
ZXIuc2tpcCgxKTsKLSAgICB2YWwuZGlzY29ubmVjdFJlYXNvbiA9IGRlY29kZXIuZGVjb2RlU3Ry
dWN0UG9pbnRlcihEaXNjb25uZWN0UmVhc29uKTsKLSAgICByZXR1cm4gdmFsOwotICB9OwotCi0g
IFBlZXJBc3NvY2lhdGVkRW5kcG9pbnRDbG9zZWRFdmVudC5lbmNvZGUgPSBmdW5jdGlvbihlbmNv
ZGVyLCB2YWwpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoUGVl
ckFzc29jaWF0ZWRFbmRwb2ludENsb3NlZEV2ZW50LmVuY29kZWRTaXplKTsKLSAgICBlbmNvZGVy
LndyaXRlVWludDMyKDApOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNvZGVjLlVpbnQzMiwg
dmFsLmlkKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAg
IGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5lbmNv
ZGVTdHJ1Y3RQb2ludGVyKERpc2Nvbm5lY3RSZWFzb24sIHZhbC5kaXNjb25uZWN0UmVhc29uKTsK
LSAgfTsKLQotICBmdW5jdGlvbiBSdW5PckNsb3NlUGlwZUlucHV0KHZhbHVlKSB7Ci0gICAgdGhp
cy5pbml0RGVmYXVsdF8oKTsKLSAgICB0aGlzLmluaXRWYWx1ZV8odmFsdWUpOwotICB9Ci0KLQot
ICBSdW5PckNsb3NlUGlwZUlucHV0LlRhZ3MgPSB7Ci0gICAgcGVlckFzc29jaWF0ZWRFbmRwb2lu
dENsb3NlZEV2ZW50OiAwLAotICB9OwotCi0gIFJ1bk9yQ2xvc2VQaXBlSW5wdXQucHJvdG90eXBl
LmluaXREZWZhdWx0XyA9IGZ1bmN0aW9uKCkgewotICAgIHRoaXMuJGRhdGEgPSBudWxsOwotICAg
IHRoaXMuJHRhZyA9IHVuZGVmaW5lZDsKLSAgfQotCi0gIFJ1bk9yQ2xvc2VQaXBlSW5wdXQucHJv
dG90eXBlLmluaXRWYWx1ZV8gPSBmdW5jdGlvbih2YWx1ZSkgewotICAgIGlmICh2YWx1ZSA9PSB1
bmRlZmluZWQpIHsKLSAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICB2YXIga2V5cyA9IE9iamVj
dC5rZXlzKHZhbHVlKTsKLSAgICBpZiAoa2V5cy5sZW5ndGggPT0gMCkgewotICAgICAgcmV0dXJu
OwotICAgIH0KLQotICAgIGlmIChrZXlzLmxlbmd0aCA+IDEpIHsKLSAgICAgIHRocm93IG5ldyBU
eXBlRXJyb3IoIllvdSBtYXkgc2V0IG9ubHkgb25lIG1lbWJlciBvbiBhIHVuaW9uLiIpOwotICAg
IH0KLQotICAgIHZhciBmaWVsZHMgPSBbCi0gICAgICAgICJwZWVyQXNzb2NpYXRlZEVuZHBvaW50
Q2xvc2VkRXZlbnQiLAotICAgIF07Ci0KLSAgICBpZiAoZmllbGRzLmluZGV4T2Yoa2V5c1swXSkg
PCAwKSB7Ci0gICAgICB0aHJvdyBuZXcgUmVmZXJlbmNlRXJyb3Ioa2V5c1swXSArICIgaXMgbm90
IGEgUnVuT3JDbG9zZVBpcGVJbnB1dCBtZW1iZXIuIik7Ci0KLSAgICB9Ci0KLSAgICB0aGlzW2tl
eXNbMF1dID0gdmFsdWVba2V5c1swXV07Ci0gIH0KLSAgT2JqZWN0LmRlZmluZVByb3BlcnR5KFJ1
bk9yQ2xvc2VQaXBlSW5wdXQucHJvdG90eXBlLCAicGVlckFzc29jaWF0ZWRFbmRwb2ludENsb3Nl
ZEV2ZW50IiwgewotICAgIGdldDogZnVuY3Rpb24oKSB7Ci0gICAgICBpZiAodGhpcy4kdGFnICE9
IFJ1bk9yQ2xvc2VQaXBlSW5wdXQuVGFncy5wZWVyQXNzb2NpYXRlZEVuZHBvaW50Q2xvc2VkRXZl
bnQpIHsKLSAgICAgICAgdGhyb3cgbmV3IFJlZmVyZW5jZUVycm9yKAotICAgICAgICAgICAgIlJ1
bk9yQ2xvc2VQaXBlSW5wdXQucGVlckFzc29jaWF0ZWRFbmRwb2ludENsb3NlZEV2ZW50IGlzIG5v
dCBjdXJyZW50bHkgc2V0LiIpOwotICAgICAgfQotICAgICAgcmV0dXJuIHRoaXMuJGRhdGE7Ci0g
ICAgfSwKLQotICAgIHNldDogZnVuY3Rpb24odmFsdWUpIHsKLSAgICAgIHRoaXMuJHRhZyA9IFJ1
bk9yQ2xvc2VQaXBlSW5wdXQuVGFncy5wZWVyQXNzb2NpYXRlZEVuZHBvaW50Q2xvc2VkRXZlbnQ7
Ci0gICAgICB0aGlzLiRkYXRhID0gdmFsdWU7Ci0gICAgfQotICB9KTsKLQotCi0gICAgUnVuT3JD
bG9zZVBpcGVJbnB1dC5lbmNvZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2YWwpIHsKLSAgICAgIGlm
ICh2YWwgPT0gbnVsbCkgewotICAgICAgICBlbmNvZGVyLndyaXRlVWludDY0KDApOwotICAgICAg
ICBlbmNvZGVyLndyaXRlVWludDY0KDApOwotICAgICAgICByZXR1cm47Ci0gICAgICB9Ci0gICAg
ICBpZiAodmFsLiR0YWcgPT0gdW5kZWZpbmVkKSB7Ci0gICAgICAgIHRocm93IG5ldyBUeXBlRXJy
b3IoIkNhbm5vdCBlbmNvZGUgdW5pb25zIHdpdGggYW4gdW5rbm93biBtZW1iZXIgc2V0LiIpOwot
ICAgICAgfQotCi0gICAgICBlbmNvZGVyLndyaXRlVWludDMyKDE2KTsKLSAgICAgIGVuY29kZXIu
d3JpdGVVaW50MzIodmFsLiR0YWcpOwotICAgICAgc3dpdGNoICh2YWwuJHRhZykgewotICAgICAg
ICBjYXNlIFJ1bk9yQ2xvc2VQaXBlSW5wdXQuVGFncy5wZWVyQXNzb2NpYXRlZEVuZHBvaW50Q2xv
c2VkRXZlbnQ6Ci0gICAgICAgICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3RQb2ludGVyKFBlZXJBc3Nv
Y2lhdGVkRW5kcG9pbnRDbG9zZWRFdmVudCwgdmFsLnBlZXJBc3NvY2lhdGVkRW5kcG9pbnRDbG9z
ZWRFdmVudCk7Ci0gICAgICAgICAgYnJlYWs7Ci0gICAgICB9Ci0gICAgICBlbmNvZGVyLmFsaWdu
KCk7Ci0gICAgfTsKLQotCi0gICAgUnVuT3JDbG9zZVBpcGVJbnB1dC5kZWNvZGUgPSBmdW5jdGlv
bihkZWNvZGVyKSB7Ci0gICAgICB2YXIgc2l6ZSA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAg
ICAgaWYgKHNpemUgPT0gMCkgewotICAgICAgICBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICAg
ICAgZGVjb2Rlci5yZWFkVWludDY0KCk7Ci0gICAgICAgIHJldHVybiBudWxsOwotICAgICAgfQot
Ci0gICAgICB2YXIgcmVzdWx0ID0gbmV3IFJ1bk9yQ2xvc2VQaXBlSW5wdXQoKTsKLSAgICAgIHZh
ciB0YWcgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICAgIHN3aXRjaCAodGFnKSB7Ci0gICAg
ICAgIGNhc2UgUnVuT3JDbG9zZVBpcGVJbnB1dC5UYWdzLnBlZXJBc3NvY2lhdGVkRW5kcG9pbnRD
bG9zZWRFdmVudDoKLSAgICAgICAgICByZXN1bHQucGVlckFzc29jaWF0ZWRFbmRwb2ludENsb3Nl
ZEV2ZW50ID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3RQb2ludGVyKFBlZXJBc3NvY2lhdGVkRW5kcG9p
bnRDbG9zZWRFdmVudCk7Ci0gICAgICAgICAgYnJlYWs7Ci0gICAgICB9Ci0gICAgICBkZWNvZGVy
LmFsaWduKCk7Ci0KLSAgICAgIHJldHVybiByZXN1bHQ7Ci0gICAgfTsKLQotCi0gICAgUnVuT3JD
bG9zZVBpcGVJbnB1dC52YWxpZGF0ZSA9IGZ1bmN0aW9uKG1lc3NhZ2VWYWxpZGF0b3IsIG9mZnNl
dCkgewotICAgICAgdmFyIHNpemUgPSBtZXNzYWdlVmFsaWRhdG9yLmRlY29kZVVuaW9uU2l6ZShv
ZmZzZXQpOwotICAgICAgaWYgKHNpemUgIT0gMTYpIHsKLSAgICAgICAgcmV0dXJuIHZhbGlkYXRv
ci52YWxpZGF0aW9uRXJyb3IuSU5WQUxJRF9VTklPTl9TSVpFOwotICAgICAgfQotCi0gICAgICB2
YXIgdGFnID0gbWVzc2FnZVZhbGlkYXRvci5kZWNvZGVVbmlvblRhZyhvZmZzZXQpOwotICAgICAg
dmFyIGRhdGFfb2Zmc2V0ID0gb2Zmc2V0ICsgODsKLSAgICAgIHZhciBlcnI7Ci0gICAgICBzd2l0
Y2ggKHRhZykgewotICAgICAgICBjYXNlIFJ1bk9yQ2xvc2VQaXBlSW5wdXQuVGFncy5wZWVyQXNz
b2NpYXRlZEVuZHBvaW50Q2xvc2VkRXZlbnQ6Ci0gICAgICAgICAgCi0KLSAgICAvLyB2YWxpZGF0
ZSBSdW5PckNsb3NlUGlwZUlucHV0LnBlZXJBc3NvY2lhdGVkRW5kcG9pbnRDbG9zZWRFdmVudAot
ICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RQb2ludGVyKGRhdGFfb2Zm
c2V0LCBQZWVyQXNzb2NpYXRlZEVuZHBvaW50Q2xvc2VkRXZlbnQsIGZhbHNlKTsKLSAgICBpZiAo
ZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBl
cnI7Ci0gICAgICAgICAgYnJlYWs7Ci0gICAgICB9Ci0KLSAgICAgIHJldHVybiB2YWxpZGF0b3Iu
dmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gICAgfTsKLQotICBSdW5PckNsb3NlUGlwZUlucHV0LmVu
Y29kZWRTaXplID0gMTY7Ci0gIGV4cG9ydHMua1J1bk9yQ2xvc2VQaXBlTWVzc2FnZUlkID0ga1J1
bk9yQ2xvc2VQaXBlTWVzc2FnZUlkOwotICBleHBvcnRzLlJ1bk9yQ2xvc2VQaXBlTWVzc2FnZVBh
cmFtcyA9IFJ1bk9yQ2xvc2VQaXBlTWVzc2FnZVBhcmFtczsKLSAgZXhwb3J0cy5EaXNjb25uZWN0
UmVhc29uID0gRGlzY29ubmVjdFJlYXNvbjsKLSAgZXhwb3J0cy5QZWVyQXNzb2NpYXRlZEVuZHBv
aW50Q2xvc2VkRXZlbnQgPSBQZWVyQXNzb2NpYXRlZEVuZHBvaW50Q2xvc2VkRXZlbnQ7Ci0gIGV4
cG9ydHMuUnVuT3JDbG9zZVBpcGVJbnB1dCA9IFJ1bk9yQ2xvc2VQaXBlSW5wdXQ7Ci19KSgpOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvY2hyb21pdW0vbW9qb19iaW5kaW5ncy5qcy5oZWFkZXJzIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vbW9qb19i
aW5kaW5ncy5qcy5oZWFkZXJzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2ODA1YzMy
M2RmNS4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vbW9qb19iaW5kaW5ncy5qcy5oZWFkZXJzCisr
KyAvZGV2L251bGwKQEAgLTEgKzAsMCBAQAotQ29udGVudC1UeXBlOiB0ZXh0L2phdmFzY3JpcHQ7
IGNoYXJzZXQ9dXRmLTgKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL21vam9fd2ViX3Rlc3RfaGVscGVyX3Rl
c3QubW9qb20uanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy9jaHJvbWl1bS9tb2pvX3dlYl90ZXN0X2hlbHBlcl90ZXN0Lm1vam9tLmpzCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjZmJhZDA4Njg5OC4uMDAwMDAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
Y2hyb21pdW0vbW9qb193ZWJfdGVzdF9oZWxwZXJfdGVzdC5tb2pvbS5qcworKysgL2Rldi9udWxs
CkBAIC0xLDI2NCArMCwwIEBACi0vLyBDb3B5cmlnaHQgMjAxNCBUaGUgQ2hyb21pdW0gQXV0aG9y
cy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLS8vIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdv
dmVybmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKLS8vIGZvdW5kIGluIHRo
ZSBMSUNFTlNFIGZpbGUuCi0KLSd1c2Ugc3RyaWN0JzsKLQotKGZ1bmN0aW9uKCkgewotICB2YXIg
bW9qb21JZCA9ICdjb250ZW50L3Rlc3QvZGF0YS9tb2pvX3dlYl90ZXN0X2hlbHBlcl90ZXN0Lm1v
am9tJzsKLSAgaWYgKG1vam8uaW50ZXJuYWwuaXNNb2pvbUxvYWRlZChtb2pvbUlkKSkgewotICAg
IGNvbnNvbGUud2FybignVGhlIGZvbGxvd2luZyBtb2pvbSBpcyBsb2FkZWQgbXVsdGlwbGUgdGlt
ZXM6ICcgKyBtb2pvbUlkKTsKLSAgICByZXR1cm47Ci0gIH0KLSAgbW9qby5pbnRlcm5hbC5tYXJr
TW9qb21Mb2FkZWQobW9qb21JZCk7Ci0KLSAgLy8gVE9ETyh5enNoZW4pOiBEZWZpbmUgdGhlc2Ug
YWxpYXNlcyB0byBtaW5pbWl6ZSB0aGUgZGlmZmVyZW5jZXMgYmV0d2VlbiB0aGUKLSAgLy8gb2xk
L25ldyBtb2Rlcy4gUmVtb3ZlIHRoZW0gd2hlbiB0aGUgb2xkIG1vZGUgZ29lcyBhd2F5LgotICB2
YXIgYmluZGluZ3MgPSBtb2pvOwotICB2YXIgYXNzb2NpYXRlZEJpbmRpbmdzID0gbW9qbzsKLSAg
dmFyIGNvZGVjID0gbW9qby5pbnRlcm5hbDsKLSAgdmFyIHZhbGlkYXRvciA9IG1vam8uaW50ZXJu
YWw7Ci0KLSAgdmFyIGV4cG9ydHMgPSBtb2pvLmludGVybmFsLmV4cG9zZU5hbWVzcGFjZSgnY29u
dGVudC5tb2pvbScpOwotCi0KLQotICBmdW5jdGlvbiBNb2pvV2ViVGVzdEhlbHBlcl9SZXZlcnNl
X1BhcmFtcyh2YWx1ZXMpIHsKLSAgICB0aGlzLmluaXREZWZhdWx0c18oKTsKLSAgICB0aGlzLmlu
aXRGaWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0gIE1vam9XZWJUZXN0SGVscGVyX1JldmVyc2Vf
UGFyYW1zLnByb3RvdHlwZS5pbml0RGVmYXVsdHNfID0gZnVuY3Rpb24oKSB7Ci0gICAgdGhpcy5t
ZXNzYWdlID0gbnVsbDsKLSAgfTsKLSAgTW9qb1dlYlRlc3RIZWxwZXJfUmV2ZXJzZV9QYXJhbXMu
cHJvdG90eXBlLmluaXRGaWVsZHNfID0gZnVuY3Rpb24oZmllbGRzKSB7Ci0gICAgZm9yKHZhciBm
aWVsZCBpbiBmaWVsZHMpIHsKLSAgICAgICAgaWYgKHRoaXMuaGFzT3duUHJvcGVydHkoZmllbGQp
KQotICAgICAgICAgIHRoaXNbZmllbGRdID0gZmllbGRzW2ZpZWxkXTsKLSAgICB9Ci0gIH07Ci0K
LSAgTW9qb1dlYlRlc3RIZWxwZXJfUmV2ZXJzZV9QYXJhbXMudmFsaWRhdGUgPSBmdW5jdGlvbiht
ZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsKLSAgICB2YXIgZXJyOwotICAgIGVyciA9IG1lc3Nh
Z2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RIZWFkZXIob2Zmc2V0LCBjb2RlYy5rU3RydWN0SGVh
ZGVyU2l6ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05F
KQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgdmFyIGtWZXJzaW9uU2l6ZXMgPSBbCi0gICAg
ICB7dmVyc2lvbjogMCwgbnVtQnl0ZXM6IDE2fQotICAgIF07Ci0gICAgZXJyID0gbWVzc2FnZVZh
bGlkYXRvci52YWxpZGF0ZVN0cnVjdFZlcnNpb24ob2Zmc2V0LCBrVmVyc2lvblNpemVzKTsKLSAg
ICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJl
dHVybiBlcnI7Ci0KLQotICAgIC8vIHZhbGlkYXRlIE1vam9XZWJUZXN0SGVscGVyX1JldmVyc2Vf
UGFyYW1zLm1lc3NhZ2UKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RyaW5n
UG9pbnRlcihvZmZzZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDAsIGZhbHNlKQotICAg
IGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0
dXJuIGVycjsKLQotICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0g
IH07Ci0KLSAgTW9qb1dlYlRlc3RIZWxwZXJfUmV2ZXJzZV9QYXJhbXMuZW5jb2RlZFNpemUgPSBj
b2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDg7Ci0KLSAgTW9qb1dlYlRlc3RIZWxwZXJfUmV2ZXJz
ZV9QYXJhbXMuZGVjb2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHZhciBwYWNrZWQ7Ci0g
ICAgdmFyIHZhbCA9IG5ldyBNb2pvV2ViVGVzdEhlbHBlcl9SZXZlcnNlX1BhcmFtcygpOwotICAg
IHZhciBudW1iZXJPZkJ5dGVzID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFyIHZlcnNp
b24gPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YWwubWVzc2FnZSA9IGRlY29kZXIuZGVj
b2RlU3RydWN0KGNvZGVjLlN0cmluZyk7Ci0gICAgcmV0dXJuIHZhbDsKLSAgfTsKLQotICBNb2pv
V2ViVGVzdEhlbHBlcl9SZXZlcnNlX1BhcmFtcy5lbmNvZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2
YWwpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoTW9qb1dlYlRl
c3RIZWxwZXJfUmV2ZXJzZV9QYXJhbXMuZW5jb2RlZFNpemUpOwotICAgIGVuY29kZXIud3JpdGVV
aW50MzIoMCk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3QoY29kZWMuU3RyaW5nLCB2YWwubWVz
c2FnZSk7Ci0gIH07Ci0gIGZ1bmN0aW9uIE1vam9XZWJUZXN0SGVscGVyX1JldmVyc2VfUmVzcG9u
c2VQYXJhbXModmFsdWVzKSB7Ci0gICAgdGhpcy5pbml0RGVmYXVsdHNfKCk7Ci0gICAgdGhpcy5p
bml0RmllbGRzXyh2YWx1ZXMpOwotICB9Ci0KLQotICBNb2pvV2ViVGVzdEhlbHBlcl9SZXZlcnNl
X1Jlc3BvbnNlUGFyYW1zLnByb3RvdHlwZS5pbml0RGVmYXVsdHNfID0gZnVuY3Rpb24oKSB7Ci0g
ICAgdGhpcy5yZXZlcnNlZCA9IG51bGw7Ci0gIH07Ci0gIE1vam9XZWJUZXN0SGVscGVyX1JldmVy
c2VfUmVzcG9uc2VQYXJhbXMucHJvdG90eXBlLmluaXRGaWVsZHNfID0gZnVuY3Rpb24oZmllbGRz
KSB7Ci0gICAgZm9yKHZhciBmaWVsZCBpbiBmaWVsZHMpIHsKLSAgICAgICAgaWYgKHRoaXMuaGFz
T3duUHJvcGVydHkoZmllbGQpKQotICAgICAgICAgIHRoaXNbZmllbGRdID0gZmllbGRzW2ZpZWxk
XTsKLSAgICB9Ci0gIH07Ci0KLSAgTW9qb1dlYlRlc3RIZWxwZXJfUmV2ZXJzZV9SZXNwb25zZVBh
cmFtcy52YWxpZGF0ZSA9IGZ1bmN0aW9uKG1lc3NhZ2VWYWxpZGF0b3IsIG9mZnNldCkgewotICAg
IHZhciBlcnI7Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdEhlYWRl
cihvZmZzZXQsIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplKTsKLSAgICBpZiAoZXJyICE9PSB2YWxp
ZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICB2
YXIga1ZlcnNpb25TaXplcyA9IFsKLSAgICAgIHt2ZXJzaW9uOiAwLCBudW1CeXRlczogMTZ9Ci0g
ICAgXTsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0VmVyc2lvbihv
ZmZzZXQsIGtWZXJzaW9uU2l6ZXMpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0
aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0gICAgLy8gdmFsaWRhdGUg
TW9qb1dlYlRlc3RIZWxwZXJfUmV2ZXJzZV9SZXNwb25zZVBhcmFtcy5yZXZlcnNlZAotICAgIGVy
ciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJpbmdQb2ludGVyKG9mZnNldCArIGNvZGVj
LmtTdHJ1Y3RIZWFkZXJTaXplICsgMCwgZmFsc2UpCi0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9y
LnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgcmV0dXJu
IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQotICBNb2pvV2ViVGVzdEhl
bHBlcl9SZXZlcnNlX1Jlc3BvbnNlUGFyYW1zLmVuY29kZWRTaXplID0gY29kZWMua1N0cnVjdEhl
YWRlclNpemUgKyA4OwotCi0gIE1vam9XZWJUZXN0SGVscGVyX1JldmVyc2VfUmVzcG9uc2VQYXJh
bXMuZGVjb2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgdmFy
IHZhbCA9IG5ldyBNb2pvV2ViVGVzdEhlbHBlcl9SZXZlcnNlX1Jlc3BvbnNlUGFyYW1zKCk7Ci0g
ICAgdmFyIG51bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YXIgdmVy
c2lvbiA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhbC5yZXZlcnNlZCA9IGRlY29kZXIu
ZGVjb2RlU3RydWN0KGNvZGVjLlN0cmluZyk7Ci0gICAgcmV0dXJuIHZhbDsKLSAgfTsKLQotICBN
b2pvV2ViVGVzdEhlbHBlcl9SZXZlcnNlX1Jlc3BvbnNlUGFyYW1zLmVuY29kZSA9IGZ1bmN0aW9u
KGVuY29kZXIsIHZhbCkgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQz
MihNb2pvV2ViVGVzdEhlbHBlcl9SZXZlcnNlX1Jlc3BvbnNlUGFyYW1zLmVuY29kZWRTaXplKTsK
LSAgICBlbmNvZGVyLndyaXRlVWludDMyKDApOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNv
ZGVjLlN0cmluZywgdmFsLnJldmVyc2VkKTsKLSAgfTsKLSAgdmFyIGtNb2pvV2ViVGVzdEhlbHBl
cl9SZXZlcnNlX05hbWUgPSAwOwotCi0gIGZ1bmN0aW9uIE1vam9XZWJUZXN0SGVscGVyUHRyKGhh
bmRsZU9yUHRySW5mbykgewotICAgIHRoaXMucHRyID0gbmV3IGJpbmRpbmdzLkludGVyZmFjZVB0
ckNvbnRyb2xsZXIoTW9qb1dlYlRlc3RIZWxwZXIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVPclB0ckluZm8pOwotICB9Ci0KLSAgZnVu
Y3Rpb24gTW9qb1dlYlRlc3RIZWxwZXJBc3NvY2lhdGVkUHRyKGFzc29jaWF0ZWRJbnRlcmZhY2VQ
dHJJbmZvKSB7Ci0gICAgdGhpcy5wdHIgPSBuZXcgYXNzb2NpYXRlZEJpbmRpbmdzLkFzc29jaWF0
ZWRJbnRlcmZhY2VQdHJDb250cm9sbGVyKAotICAgICAgICBNb2pvV2ViVGVzdEhlbHBlciwgYXNz
b2NpYXRlZEludGVyZmFjZVB0ckluZm8pOwotICB9Ci0KLSAgTW9qb1dlYlRlc3RIZWxwZXJBc3Nv
Y2lhdGVkUHRyLnByb3RvdHlwZSA9Ci0gICAgICBPYmplY3QuY3JlYXRlKE1vam9XZWJUZXN0SGVs
cGVyUHRyLnByb3RvdHlwZSk7Ci0gIE1vam9XZWJUZXN0SGVscGVyQXNzb2NpYXRlZFB0ci5wcm90
b3R5cGUuY29uc3RydWN0b3IgPQotICAgICAgTW9qb1dlYlRlc3RIZWxwZXJBc3NvY2lhdGVkUHRy
OwotCi0gIGZ1bmN0aW9uIE1vam9XZWJUZXN0SGVscGVyUHJveHkocmVjZWl2ZXIpIHsKLSAgICB0
aGlzLnJlY2VpdmVyXyA9IHJlY2VpdmVyOwotICB9Ci0gIE1vam9XZWJUZXN0SGVscGVyUHRyLnBy
b3RvdHlwZS5yZXZlcnNlID0gZnVuY3Rpb24oKSB7Ci0gICAgcmV0dXJuIE1vam9XZWJUZXN0SGVs
cGVyUHJveHkucHJvdG90eXBlLnJldmVyc2UKLSAgICAgICAgLmFwcGx5KHRoaXMucHRyLmdldFBy
b3h5KCksIGFyZ3VtZW50cyk7Ci0gIH07Ci0KLSAgTW9qb1dlYlRlc3RIZWxwZXJQcm94eS5wcm90
b3R5cGUucmV2ZXJzZSA9IGZ1bmN0aW9uKG1lc3NhZ2UpIHsKLSAgICB2YXIgcGFyYW1zID0gbmV3
IE1vam9XZWJUZXN0SGVscGVyX1JldmVyc2VfUGFyYW1zKCk7Ci0gICAgcGFyYW1zLm1lc3NhZ2Ug
PSBtZXNzYWdlOwotICAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWpl
Y3QpIHsKLSAgICAgIHZhciBidWlsZGVyID0gbmV3IGNvZGVjLk1lc3NhZ2VWMUJ1aWxkZXIoCi0g
ICAgICAgICAga01vam9XZWJUZXN0SGVscGVyX1JldmVyc2VfTmFtZSwKLSAgICAgICAgICBjb2Rl
Yy5hbGlnbihNb2pvV2ViVGVzdEhlbHBlcl9SZXZlcnNlX1BhcmFtcy5lbmNvZGVkU2l6ZSksCi0g
ICAgICAgICAgY29kZWMua01lc3NhZ2VFeHBlY3RzUmVzcG9uc2UsIDApOwotICAgICAgYnVpbGRl
ci5lbmNvZGVTdHJ1Y3QoTW9qb1dlYlRlc3RIZWxwZXJfUmV2ZXJzZV9QYXJhbXMsIHBhcmFtcyk7
Ci0gICAgICB2YXIgbWVzc2FnZSA9IGJ1aWxkZXIuZmluaXNoKCk7Ci0gICAgICB0aGlzLnJlY2Vp
dmVyXy5hY2NlcHRBbmRFeHBlY3RSZXNwb25zZShtZXNzYWdlKS50aGVuKGZ1bmN0aW9uKG1lc3Nh
Z2UpIHsKLSAgICAgICAgdmFyIHJlYWRlciA9IG5ldyBjb2RlYy5NZXNzYWdlUmVhZGVyKG1lc3Nh
Z2UpOwotICAgICAgICB2YXIgcmVzcG9uc2VQYXJhbXMgPQotICAgICAgICAgICAgcmVhZGVyLmRl
Y29kZVN0cnVjdChNb2pvV2ViVGVzdEhlbHBlcl9SZXZlcnNlX1Jlc3BvbnNlUGFyYW1zKTsKLSAg
ICAgICAgcmVzb2x2ZShyZXNwb25zZVBhcmFtcyk7Ci0gICAgICB9KS5jYXRjaChmdW5jdGlvbihy
ZXN1bHQpIHsKLSAgICAgICAgcmVqZWN0KEVycm9yKCJDb25uZWN0aW9uIGVycm9yOiAiICsgcmVz
dWx0KSk7Ci0gICAgICB9KTsKLSAgICB9LmJpbmQodGhpcykpOwotICB9OwotCi0gIGZ1bmN0aW9u
IE1vam9XZWJUZXN0SGVscGVyU3R1YihkZWxlZ2F0ZSkgewotICAgIHRoaXMuZGVsZWdhdGVfID0g
ZGVsZWdhdGU7Ci0gIH0KLSAgTW9qb1dlYlRlc3RIZWxwZXJTdHViLnByb3RvdHlwZS5yZXZlcnNl
ID0gZnVuY3Rpb24obWVzc2FnZSkgewotICAgIHJldHVybiB0aGlzLmRlbGVnYXRlXyAmJiB0aGlz
LmRlbGVnYXRlXy5yZXZlcnNlICYmIHRoaXMuZGVsZWdhdGVfLnJldmVyc2UobWVzc2FnZSk7Ci0g
IH0KLQotICBNb2pvV2ViVGVzdEhlbHBlclN0dWIucHJvdG90eXBlLmFjY2VwdCA9IGZ1bmN0aW9u
KG1lc3NhZ2UpIHsKLSAgICB2YXIgcmVhZGVyID0gbmV3IGNvZGVjLk1lc3NhZ2VSZWFkZXIobWVz
c2FnZSk7Ci0gICAgc3dpdGNoIChyZWFkZXIubWVzc2FnZU5hbWUpIHsKLSAgICBkZWZhdWx0Ogot
ICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0KLSAgfTsKLQotICBNb2pvV2ViVGVzdEhlbHBlclN0
dWIucHJvdG90eXBlLmFjY2VwdFdpdGhSZXNwb25kZXIgPQotICAgICAgZnVuY3Rpb24obWVzc2Fn
ZSwgcmVzcG9uZGVyKSB7Ci0gICAgdmFyIHJlYWRlciA9IG5ldyBjb2RlYy5NZXNzYWdlUmVhZGVy
KG1lc3NhZ2UpOwotICAgIHN3aXRjaCAocmVhZGVyLm1lc3NhZ2VOYW1lKSB7Ci0gICAgY2FzZSBr
TW9qb1dlYlRlc3RIZWxwZXJfUmV2ZXJzZV9OYW1lOgotICAgICAgdmFyIHBhcmFtcyA9IHJlYWRl
ci5kZWNvZGVTdHJ1Y3QoTW9qb1dlYlRlc3RIZWxwZXJfUmV2ZXJzZV9QYXJhbXMpOwotICAgICAg
dGhpcy5yZXZlcnNlKHBhcmFtcy5tZXNzYWdlKS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0g
ICAgICAgIHZhciByZXNwb25zZVBhcmFtcyA9Ci0gICAgICAgICAgICBuZXcgTW9qb1dlYlRlc3RI
ZWxwZXJfUmV2ZXJzZV9SZXNwb25zZVBhcmFtcygpOwotICAgICAgICByZXNwb25zZVBhcmFtcy5y
ZXZlcnNlZCA9IHJlc3BvbnNlLnJldmVyc2VkOwotICAgICAgICB2YXIgYnVpbGRlciA9IG5ldyBj
b2RlYy5NZXNzYWdlVjFCdWlsZGVyKAotICAgICAgICAgICAga01vam9XZWJUZXN0SGVscGVyX1Jl
dmVyc2VfTmFtZSwKLSAgICAgICAgICAgIGNvZGVjLmFsaWduKE1vam9XZWJUZXN0SGVscGVyX1Jl
dmVyc2VfUmVzcG9uc2VQYXJhbXMuZW5jb2RlZFNpemUpLAotICAgICAgICAgICAgY29kZWMua01l
c3NhZ2VJc1Jlc3BvbnNlLCByZWFkZXIucmVxdWVzdElEKTsKLSAgICAgICAgYnVpbGRlci5lbmNv
ZGVTdHJ1Y3QoTW9qb1dlYlRlc3RIZWxwZXJfUmV2ZXJzZV9SZXNwb25zZVBhcmFtcywKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2VQYXJhbXMpOwotICAgICAgICB2YXIgbWVz
c2FnZSA9IGJ1aWxkZXIuZmluaXNoKCk7Ci0gICAgICAgIHJlc3BvbmRlci5hY2NlcHQobWVzc2Fn
ZSk7Ci0gICAgICB9KTsKLSAgICAgIHJldHVybiB0cnVlOwotICAgIGRlZmF1bHQ6Ci0gICAgICBy
ZXR1cm4gZmFsc2U7Ci0gICAgfQotICB9OwotCi0gIGZ1bmN0aW9uIHZhbGlkYXRlTW9qb1dlYlRl
c3RIZWxwZXJSZXF1ZXN0KG1lc3NhZ2VWYWxpZGF0b3IpIHsKLSAgICB2YXIgbWVzc2FnZSA9IG1l
c3NhZ2VWYWxpZGF0b3IubWVzc2FnZTsKLSAgICB2YXIgcGFyYW1zQ2xhc3MgPSBudWxsOwotICAg
IHN3aXRjaCAobWVzc2FnZS5nZXROYW1lKCkpIHsKLSAgICAgIGNhc2Uga01vam9XZWJUZXN0SGVs
cGVyX1JldmVyc2VfTmFtZToKLSAgICAgICAgaWYgKG1lc3NhZ2UuZXhwZWN0c1Jlc3BvbnNlKCkp
Ci0gICAgICAgICAgcGFyYW1zQ2xhc3MgPSBNb2pvV2ViVGVzdEhlbHBlcl9SZXZlcnNlX1BhcmFt
czsKLSAgICAgIGJyZWFrOwotICAgIH0KLSAgICBpZiAocGFyYW1zQ2xhc3MgPT09IG51bGwpCi0g
ICAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwotICAgIHJldHVybiBw
YXJhbXNDbGFzcy52YWxpZGF0ZShtZXNzYWdlVmFsaWRhdG9yLCBtZXNzYWdlVmFsaWRhdG9yLm1l
c3NhZ2UuZ2V0SGVhZGVyTnVtQnl0ZXMoKSk7Ci0gIH0KLQotICBmdW5jdGlvbiB2YWxpZGF0ZU1v
am9XZWJUZXN0SGVscGVyUmVzcG9uc2UobWVzc2FnZVZhbGlkYXRvcikgewotICAgdmFyIG1lc3Nh
Z2UgPSBtZXNzYWdlVmFsaWRhdG9yLm1lc3NhZ2U7Ci0gICB2YXIgcGFyYW1zQ2xhc3MgPSBudWxs
OwotICAgc3dpdGNoIChtZXNzYWdlLmdldE5hbWUoKSkgewotICAgICAgY2FzZSBrTW9qb1dlYlRl
c3RIZWxwZXJfUmV2ZXJzZV9OYW1lOgotICAgICAgICBpZiAobWVzc2FnZS5pc1Jlc3BvbnNlKCkp
Ci0gICAgICAgICAgcGFyYW1zQ2xhc3MgPSBNb2pvV2ViVGVzdEhlbHBlcl9SZXZlcnNlX1Jlc3Bv
bnNlUGFyYW1zOwotICAgICAgICBicmVhazsKLSAgICB9Ci0gICAgaWYgKHBhcmFtc0NsYXNzID09
PSBudWxsKQotICAgICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAg
ICByZXR1cm4gcGFyYW1zQ2xhc3MudmFsaWRhdGUobWVzc2FnZVZhbGlkYXRvciwgbWVzc2FnZVZh
bGlkYXRvci5tZXNzYWdlLmdldEhlYWRlck51bUJ5dGVzKCkpOwotICB9Ci0KLSAgdmFyIE1vam9X
ZWJUZXN0SGVscGVyID0gewotICAgIG5hbWU6ICdjb250ZW50Lm1vam9tLk1vam9XZWJUZXN0SGVs
cGVyJywKLSAgICBrVmVyc2lvbjogMCwKLSAgICBwdHJDbGFzczogTW9qb1dlYlRlc3RIZWxwZXJQ
dHIsCi0gICAgcHJveHlDbGFzczogTW9qb1dlYlRlc3RIZWxwZXJQcm94eSwKLSAgICBzdHViQ2xh
c3M6IE1vam9XZWJUZXN0SGVscGVyU3R1YiwKLSAgICB2YWxpZGF0ZVJlcXVlc3Q6IHZhbGlkYXRl
TW9qb1dlYlRlc3RIZWxwZXJSZXF1ZXN0LAotICAgIHZhbGlkYXRlUmVzcG9uc2U6IHZhbGlkYXRl
TW9qb1dlYlRlc3RIZWxwZXJSZXNwb25zZSwKLSAgfTsKLSAgTW9qb1dlYlRlc3RIZWxwZXJTdHVi
LnByb3RvdHlwZS52YWxpZGF0b3IgPSB2YWxpZGF0ZU1vam9XZWJUZXN0SGVscGVyUmVxdWVzdDsK
LSAgTW9qb1dlYlRlc3RIZWxwZXJQcm94eS5wcm90b3R5cGUudmFsaWRhdG9yID0gdmFsaWRhdGVN
b2pvV2ViVGVzdEhlbHBlclJlc3BvbnNlOwotICBleHBvcnRzLk1vam9XZWJUZXN0SGVscGVyID0g
TW9qb1dlYlRlc3RIZWxwZXI7Ci0gIGV4cG9ydHMuTW9qb1dlYlRlc3RIZWxwZXJQdHIgPSBNb2pv
V2ViVGVzdEhlbHBlclB0cjsKLSAgZXhwb3J0cy5Nb2pvV2ViVGVzdEhlbHBlckFzc29jaWF0ZWRQ
dHIgPSBNb2pvV2ViVGVzdEhlbHBlckFzc29jaWF0ZWRQdHI7Ci19KSgpOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hy
b21pdW0vbW9qb193ZWJfdGVzdF9oZWxwZXJfdGVzdC5tb2pvbS5qcy5oZWFkZXJzIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0v
bW9qb193ZWJfdGVzdF9oZWxwZXJfdGVzdC5tb2pvbS5qcy5oZWFkZXJzCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCA2ODA1YzMyM2RmNS4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vbW9q
b193ZWJfdGVzdF9oZWxwZXJfdGVzdC5tb2pvbS5qcy5oZWFkZXJzCisrKyAvZGV2L251bGwKQEAg
LTEgKzAsMCBAQAotQ29udGVudC1UeXBlOiB0ZXh0L2phdmFzY3JpcHQ7IGNoYXJzZXQ9dXRmLTgK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL2Nocm9taXVtL25mYy1tb2NrLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vbmZjLW1vY2suanMKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY4MjNmNjM2MmZhLi4wMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJv
bWl1bS9uZmMtbW9jay5qcworKysgL2Rldi9udWxsCkBAIC0xLDQwMyArMCwwIEBACi0ndXNlIHN0
cmljdCc7Ci0KLWZ1bmN0aW9uIHRvTW9qb05ERUZQdXNoVGFyZ2V0KHRhcmdldCkgewotICBzd2l0
Y2ggKHRhcmdldCkgewotICBjYXNlICdwZWVyJzoKLSAgICByZXR1cm4gZGV2aWNlLm1vam9tLk5E
RUZQdXNoVGFyZ2V0LlBFRVI7Ci0gIGNhc2UgJ3RhZyc6Ci0gICAgcmV0dXJuIGRldmljZS5tb2pv
bS5OREVGUHVzaFRhcmdldC5UQUc7Ci0gIH0KLQotICByZXR1cm4gZGV2aWNlLm1vam9tLk5ERUZQ
dXNoVGFyZ2V0LkFOWTsKLX0KLQotLy8gQ29udmVydHMgYmV0d2VlbiBOREVGTWVzc2FnZUluaXQg
aHR0cHM6Ly93M2MuZ2l0aHViLmlvL3dlYi1uZmMvI2RvbS1uZGVmbWVzc2FnZQotLy8gYW5kIG1v
am9tLk5ERUZNZXNzYWdlIHN0cnVjdHVyZSwgc28gdGhhdCB3YXRjaCBmdW5jdGlvbiBjYW4gYmUg
dGVzdGVkLgotZnVuY3Rpb24gdG9Nb2pvTkRFRk1lc3NhZ2UobWVzc2FnZSkgewotICBsZXQgbmRl
Zk1lc3NhZ2UgPSBuZXcgZGV2aWNlLm1vam9tLk5ERUZNZXNzYWdlKCk7Ci0gIG5kZWZNZXNzYWdl
LmRhdGEgPSBbXTsKLSAgZm9yIChsZXQgcmVjb3JkIG9mIG1lc3NhZ2UucmVjb3JkcykgewotICAg
IG5kZWZNZXNzYWdlLmRhdGEucHVzaCh0b01vam9OREVGUmVjb3JkKHJlY29yZCkpOwotICB9Ci0g
IHJldHVybiBuZGVmTWVzc2FnZTsKLX0KLQotZnVuY3Rpb24gdG9Nb2pvTkRFRlJlY29yZChyZWNv
cmQpIHsKLSAgbGV0IG5mY1JlY29yZCA9IG5ldyBkZXZpY2UubW9qb20uTkRFRlJlY29yZCgpOwot
ICBuZmNSZWNvcmQucmVjb3JkVHlwZSA9IHJlY29yZC5yZWNvcmRUeXBlOwotICBuZmNSZWNvcmQu
bWVkaWFUeXBlID0gcmVjb3JkLm1lZGlhVHlwZTsKLSAgbmZjUmVjb3JkLmlkID0gcmVjb3JkLmlk
OwotICBuZmNSZWNvcmQuZGF0YSA9IHRvQnl0ZUFycmF5KHJlY29yZC5kYXRhKTsKLSAgaWYgKHJl
Y29yZC5kYXRhICE9IG51bGwgJiYgcmVjb3JkLmRhdGEucmVjb3JkcyAhPT0gdW5kZWZpbmVkKSB7
Ci0gICAgLy8gfHJlY29yZC5kYXRhfCBtYXkgYmUgYW4gTkRFRk1lc3NhZ2VJbml0LCBpLmUuIHRo
ZSBwYXlsb2FkIGlzIGEgbWVzc2FnZS4KLSAgICBuZmNSZWNvcmQucGF5bG9hZE1lc3NhZ2UgPSB0
b01vam9OREVGTWVzc2FnZShyZWNvcmQuZGF0YSk7Ci0gIH0KLSAgcmV0dXJuIG5mY1JlY29yZDsK
LX0KLQotLy8gQ29udmVydHMgSlMgb2JqZWN0cyB0byBieXRlIGFycmF5LgotZnVuY3Rpb24gdG9C
eXRlQXJyYXkoZGF0YSkgewotICBpZiAoZGF0YSBpbnN0YW5jZW9mIEFycmF5QnVmZmVyKQotICAg
IHJldHVybiBuZXcgVWludDhBcnJheShkYXRhKTsKLSAgZWxzZSBpZiAoQXJyYXlCdWZmZXIuaXNW
aWV3KGRhdGEpKQotICAgIHJldHVybiBuZXcgVWludDhBcnJheShkYXRhLmJ1ZmZlciwgZGF0YS5i
eXRlT2Zmc2V0LCBkYXRhLmJ5dGVMZW5ndGgpOwotCi0gIGxldCBieXRlQXJyYXkgPSBuZXcgVWlu
dDhBcnJheSgwKTsKLSAgbGV0IHRtcERhdGEgPSBkYXRhOwotICBpZiAodHlwZW9mIHRtcERhdGEg
PT09ICdvYmplY3QnIHx8IHR5cGVvZiB0bXBEYXRhID09PSAnbnVtYmVyJykKLSAgICB0bXBEYXRh
ID0gSlNPTi5zdHJpbmdpZnkodG1wRGF0YSk7Ci0KLSAgaWYgKHR5cGVvZiB0bXBEYXRhID09PSAn
c3RyaW5nJykKLSAgICBieXRlQXJyYXkgPSBuZXcgVGV4dEVuY29kZXIoJ3V0Zi04JykuZW5jb2Rl
KHRtcERhdGEpOwotCi0gIHJldHVybiBieXRlQXJyYXk7Ci19Ci0KLS8vIENvbXBhcmVzIE5ERUZS
ZWNvcmRzIHRoYXQgd2VyZSBwcm92aWRlZCAvIHJlY2VpdmVkIGJ5IHRoZSBtb2NrIHNlcnZpY2Uu
Ci0vLyBUT0RPOiBVc2UgZGlmZmVyZW50IGdldHRlcnMgdG8gZ2V0IHJlY2VpdmVkIHJlY29yZCBk
YXRhLAotLy8gc2VlIHNwZWMgY2hhbmdlcyBhdCBodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1u
ZmMvcHVsbC8yNDMuCi1mdW5jdGlvbiBjb21wYXJlTkRFRlJlY29yZHMocHJvdmlkZWRSZWNvcmQs
IHJlY2VpdmVkUmVjb3JkKSB7Ci0gIGFzc2VydF9lcXVhbHMocHJvdmlkZWRSZWNvcmQucmVjb3Jk
VHlwZSwgcmVjZWl2ZWRSZWNvcmQucmVjb3JkVHlwZSk7Ci0KLSAgaWYgKHByb3ZpZGVkUmVjb3Jk
LmlkID09PSB1bmRlZmluZWQpIHsKLSAgICBhc3NlcnRfZXF1YWxzKG51bGwsIHJlY2VpdmVkUmVj
b3JkLmlkKTsKLSAgfSBlbHNlIHsKLSAgICBhc3NlcnRfZXF1YWxzKHByb3ZpZGVkUmVjb3JkLmlk
LCByZWNlaXZlZFJlY29yZC5pZCk7Ci0gIH0KLQotICBpZiAocHJvdmlkZWRSZWNvcmQubWVkaWFU
eXBlID09PSB1bmRlZmluZWQpIHsKLSAgICBhc3NlcnRfZXF1YWxzKG51bGwsIHJlY2VpdmVkUmVj
b3JkLm1lZGlhVHlwZSk7Ci0gIH0gZWxzZSB7Ci0gICAgYXNzZXJ0X2VxdWFscyhwcm92aWRlZFJl
Y29yZC5tZWRpYVR5cGUsIHJlY2VpdmVkUmVjb3JkLm1lZGlhVHlwZSk7Ci0gIH0KLQotICBhc3Nl
cnRfbm90X2VxdWFscyhwcm92aWRlZFJlY29yZC5yZWNvcmRUeXBlLCAnZW1wdHknKTsKLQotICBh
c3NlcnRfYXJyYXlfZXF1YWxzKHRvQnl0ZUFycmF5KHByb3ZpZGVkUmVjb3JkLmRhdGEpLAotICAg
ICAgICAgICAgICAgICAgICAgIG5ldyBVaW50OEFycmF5KHJlY2VpdmVkUmVjb3JkLmRhdGEpKTsK
LX0KLQotLy8gQ29tcGFyZXMgTkRFRlB1c2hPcHRpb25zIHN0cnVjdHVyZXMgdGhhdCB3ZXJlIHBy
b3ZpZGVkIHRvIEFQSSBhbmQKLS8vIHJlY2VpdmVkIGJ5IHRoZSBtb2NrIG1vam8gc2VydmljZS4K
LWZ1bmN0aW9uIGFzc2VydE5ERUZQdXNoT3B0aW9uc0VxdWFsKHByb3ZpZGVkLCByZWNlaXZlZCkg
ewotICBpZiAocHJvdmlkZWQuaWdub3JlUmVhZCAhPT0gdW5kZWZpbmVkKQotICAgIGFzc2VydF9l
cXVhbHMocHJvdmlkZWQuaWdub3JlUmVhZCwgISFyZWNlaXZlZC5pZ25vcmVSZWFkKTsKLSAgZWxz
ZQotICAgIGFzc2VydF9lcXVhbHMoISFyZWNlaXZlZC5pZ25vcmVfcmVhZCwgdHJ1ZSk7Ci0KLSAg
aWYgKHByb3ZpZGVkLnRhcmdldCAhPT0gdW5kZWZpbmVkKQotICAgIGFzc2VydF9lcXVhbHModG9N
b2pvTkRFRlB1c2hUYXJnZXQocHJvdmlkZWQudGFyZ2V0KSwgcmVjZWl2ZWQudGFyZ2V0KTsKLSAg
ZWxzZQotICAgIGFzc2VydF9lcXVhbHMocmVjZWl2ZWQudGFyZ2V0LCBkZXZpY2UubW9qb20uTkRF
RlB1c2hUYXJnZXQuQU5ZKTsKLX0KLQotLy8gQ29tcGFyZXMgTkRFRlJlYWRlck9wdGlvbnMgc3Ry
dWN0dXJlcyB0aGF0IHdlcmUgcHJvdmlkZWQgdG8gQVBJIGFuZAotLy8gcmVjZWl2ZWQgYnkgdGhl
IG1vY2sgbW9qbyBzZXJ2aWNlLgotZnVuY3Rpb24gYXNzZXJ0TkRFRlJlYWRlck9wdGlvbnNFcXVh
bChwcm92aWRlZCwgcmVjZWl2ZWQpIHsKLSAgaWYgKHByb3ZpZGVkLnVybCAhPT0gdW5kZWZpbmVk
KQotICAgIGFzc2VydF9lcXVhbHMocHJvdmlkZWQudXJsLCByZWNlaXZlZC51cmwpOwotICBlbHNl
Ci0gICAgYXNzZXJ0X2VxdWFscyhyZWNlaXZlZC51cmwsICcnKTsKLQotICBpZiAocHJvdmlkZWQu
bWVkaWFUeXBlICE9PSB1bmRlZmluZWQpCi0gICAgYXNzZXJ0X2VxdWFscyhwcm92aWRlZC5tZWRp
YVR5cGUsIHJlY2VpdmVkLm1lZGlhVHlwZSk7Ci0gIGVsc2UKLSAgICBhc3NlcnRfZXF1YWxzKHJl
Y2VpdmVkLm1lZGlhVHlwZSwgJycpOwotCi0gIGlmIChwcm92aWRlZC5yZWNvcmRUeXBlICE9PSB1
bmRlZmluZWQpIHsKLSAgICBhc3NlcnRfZXF1YWxzKHByb3ZpZGVkLnJlY29yZFR5cGUsIHJlY2Vp
dmVkLnJlY29yZFR5cGUpOwotICB9Ci19Ci0KLS8vIENoZWNrcyB3aGV0aGVyIE5ERUZSZWFkZXJP
cHRpb25zIGFyZSBtYXRjaGVkIHdpdGggZ2l2ZW4gbWVzc2FnZS4KLWZ1bmN0aW9uIG1hdGNoZXNX
YXRjaE9wdGlvbnMobWVzc2FnZSwgb3B0aW9ucykgewotICAvLyBBIG1lc3NhZ2Ugd2l0aCBubyBy
ZWNvcmRzIGlzIHRvIG5vdGlmeSB0aGF0IHRoZSB0YWcgaXMgYWxyZWFkeSBmb3JtYXR0ZWQgdG8K
LSAgLy8gc3VwcG9ydCBOREVGIGJ1dCBkb2VzIG5vdCBjb250YWluIGEgbWVzc2FnZSB5ZXQuIFdl
IGFsd2F5cyBkaXNwYXRjaCBpdCBmb3IKLSAgLy8gYWxsIG9wdGlvbnMuCi0gIGlmIChtZXNzYWdl
LnJlY29yZHMubGVuZ3RoID09IDApCi0gICAgcmV0dXJuIHRydWU7Ci0KLSAgZm9yIChsZXQgcmVj
b3JkIG9mIG1lc3NhZ2UucmVjb3JkcykgewotICAgIGlmIChvcHRpb25zLmlkICE9IG51bGwgJiYg
b3B0aW9ucy5pZCAhPT0gcmVjb3JkLmlkKSB7Ci0gICAgICBjb250aW51ZTsKLSAgICB9Ci0gICAg
aWYgKG9wdGlvbnMucmVjb3JkVHlwZSAhPSBudWxsICYmCi0gICAgICAgIG9wdGlvbnMucmVjb3Jk
VHlwZSAhPT0gcmVjb3JkLnJlY29yZFR5cGUpIHsKLSAgICAgIGNvbnRpbnVlOwotICAgIH0KLSAg
ICBpZiAob3B0aW9ucy5tZWRpYVR5cGUgIT09ICcnICYmIG9wdGlvbnMubWVkaWFUeXBlICE9PSBy
ZWNvcmQubWVkaWFUeXBlKSB7Ci0gICAgICBjb250aW51ZTsKLSAgICB9Ci0KLSAgICAvLyBGb3Vu
ZCBvbmUgcmVjb3JkIG1hdGNoZXMsIG1lYW5zIHRoZSBtZXNzYWdlIG1hdGNoZXMuCi0gICAgcmV0
dXJuIHRydWU7Ci0gIH0KLQotICByZXR1cm4gZmFsc2U7Ci19Ci0KLWZ1bmN0aW9uIGNyZWF0ZU5E
RUZFcnJvcih0eXBlKSB7Ci0gIHJldHVybiB7IGVycm9yOiB0eXBlID8KLSAgICAgIG5ldyBkZXZp
Y2UubW9qb20uTkRFRkVycm9yKHsgZXJyb3JUeXBlOiB0eXBlIH0pIDogbnVsbCB9OwotfQotCi12
YXIgV2ViTkZDVGVzdCA9ICgoKSA9PiB7Ci0gIGNsYXNzIE1vY2tORkMgewotICAgIGNvbnN0cnVj
dG9yKCkgewotICAgICAgdGhpcy5iaW5kaW5nU2V0XyA9IG5ldyBtb2pvLkJpbmRpbmdTZXQoZGV2
aWNlLm1vam9tLk5GQyk7Ci0KLSAgICAgIHRoaXMuaW50ZXJjZXB0b3JfID0gbmV3IE1vam9JbnRl
cmZhY2VJbnRlcmNlcHRvcigKLSAgICAgICAgICBkZXZpY2UubW9qb20uTkZDLm5hbWUsICJjb250
ZXh0IiwgdHJ1ZSk7Ci0gICAgICB0aGlzLmludGVyY2VwdG9yXy5vbmludGVyZmFjZXJlcXVlc3Qg
PQotICAgICAgICAgIGUgPT4gdGhpcy5iaW5kaW5nU2V0Xy5hZGRCaW5kaW5nKHRoaXMsIGUuaGFu
ZGxlKTsKLSAgICAgIHRoaXMuaW50ZXJjZXB0b3JfLnN0YXJ0KCk7Ci0KLSAgICAgIHRoaXMuaHdf
c3RhdHVzXyA9IE5GQ0hXU3RhdHVzLkVOQUJMRUQ7Ci0gICAgICB0aGlzLnB1c2hlZF9tZXNzYWdl
XyA9IG51bGw7Ci0gICAgICB0aGlzLnB1c2hfb3B0aW9uc18gPSBudWxsOwotICAgICAgdGhpcy5w
ZW5kaW5nX3Byb21pc2VfZnVuY18gPSBudWxsOwotICAgICAgdGhpcy5wdXNoX2NvbXBsZXRlZF8g
PSB0cnVlOwotICAgICAgdGhpcy5jbGllbnRfID0gbnVsbDsKLSAgICAgIHRoaXMud2F0Y2hlcnNf
ID0gW107Ci0gICAgICB0aGlzLnJlYWRpbmdfbWVzc2FnZXNfID0gW107Ci0gICAgICB0aGlzLm9w
ZXJhdGlvbnNfc3VzcGVuZGVkXyA9IGZhbHNlOwotICAgICAgdGhpcy5pc19uZGVmX3RlY2hfID0g
dHJ1ZTsKLSAgICAgIHRoaXMuaXNfZm9ybWF0dGVkX3RhZ18gPSBmYWxzZTsKLSAgICB9Ci0KLSAg
ICAvLyBORkMgZGVsZWdhdGUgZnVuY3Rpb25zLgotICAgIGFzeW5jIHB1c2gobWVzc2FnZSwgb3B0
aW9ucykgewotICAgICAgbGV0IGVycm9yID0gdGhpcy5nZXRIV0Vycm9yKCk7Ci0gICAgICBpZiAo
ZXJyb3IpCi0gICAgICAgIHJldHVybiBlcnJvcjsKLSAgICAgIC8vIENhbmNlbHMgcHJldmlvdXMg
cGVuZGluZyBwdXNoIG9wZXJhdGlvbi4KLSAgICAgIGlmICh0aGlzLnBlbmRpbmdfcHJvbWlzZV9m
dW5jXykgewotICAgICAgICB0aGlzLmNhbmNlbFBlbmRpbmdQdXNoT3BlcmF0aW9uKCk7Ci0gICAg
ICB9Ci0KLSAgICAgIHRoaXMucHVzaGVkX21lc3NhZ2VfID0gbWVzc2FnZTsKLSAgICAgIHRoaXMu
cHVzaF9vcHRpb25zXyA9IG9wdGlvbnM7Ci0KLSAgICAgIHJldHVybiBuZXcgUHJvbWlzZShyZXNv
bHZlID0+IHsKLSAgICAgICAgdGhpcy5wZW5kaW5nX3Byb21pc2VfZnVuY18gPSByZXNvbHZlOwot
ICAgICAgICBpZiAodGhpcy5vcGVyYXRpb25zX3N1c3BlbmRlZF8pIHsKLSAgICAgICAgICAvLyBQ
ZW5kcyBwdXNoIG9wZXJhdGlvbiBpZiBORkMgb3BlcmF0aW9uIGlzIHN1c3BlbmRlZC4KLSAgICAg
ICAgfSBlbHNlIGlmICghdGhpcy5wdXNoX2NvbXBsZXRlZF8pIHsKLSAgICAgICAgICAvLyBMZWF2
ZXMgdGhlIHB1c2ggb3BlcmF0aW5nIHBlbmRpbmcuCi0gICAgICAgIH0gZWxzZSBpZiAoIXRoaXMu
aXNfbmRlZl90ZWNoXykgewotICAgICAgICAgIC8vIFJlc29sdmVzIHdpdGggTm90U3VwcG9ydGVk
RXJyb3IgaWYgdGhlIGRldmljZSBkb2VzIG5vdCBleHBvc2UKLSAgICAgICAgICAvLyBOREVGIHRl
Y2hub2xvZ3kuCi0gICAgICAgICAgcmVzb2x2ZShjcmVhdGVOREVGRXJyb3IoZGV2aWNlLm1vam9t
Lk5ERUZFcnJvclR5cGUuTk9UX1NVUFBPUlRFRCkpOwotICAgICAgICB9IGVsc2UgaWYgKHRoaXMu
aXNfZm9ybWF0dGVkX3RhZ18gJiYgIW9wdGlvbnMub3ZlcndyaXRlKSB7Ci0gICAgICAgICAgLy8g
UmVzb2x2ZXMgd2l0aCBOb3RBbGxvd2VkRXJyb3IgaWYgdGhlcmUgYXJlIE5ERUYgcmVjb3JkcyBv
biB0aGUgZGV2aWNlCi0gICAgICAgICAgLy8gYW5kIG92ZXJ3cml0ZSBpcyBmYWxzZS4KLSAgICAg
ICAgICByZXNvbHZlKGNyZWF0ZU5ERUZFcnJvcihkZXZpY2UubW9qb20uTkRFRkVycm9yVHlwZS5O
T1RfQUxMT1dFRCkpOwotICAgICAgICB9IGVsc2UgewotICAgICAgICAgIHJlc29sdmUoY3JlYXRl
TkRFRkVycm9yKG51bGwpKTsKLSAgICAgICAgfQotICAgICAgfSk7Ci0gICAgfQotCi0gICAgYXN5
bmMgY2FuY2VsUHVzaCh0YXJnZXQpIHsKLSAgICAgIGlmICh0aGlzLnB1c2hfb3B0aW9uc18gJiYg
KCh0YXJnZXQgPT09IGRldmljZS5tb2pvbS5OREVGUHVzaFRhcmdldC5BTlkpIHx8Ci0gICAgICAg
ICAgKHRoaXMucHVzaF9vcHRpb25zXy50YXJnZXQgPT09IHRhcmdldCkpKSB7Ci0gICAgICAgIHRo
aXMuY2FuY2VsUGVuZGluZ1B1c2hPcGVyYXRpb24oKTsKLSAgICAgIH0KLQotICAgICAgcmV0dXJu
IGNyZWF0ZU5ERUZFcnJvcihudWxsKTsKLSAgICB9Ci0KLSAgICBzZXRDbGllbnQoY2xpZW50KSB7
Ci0gICAgICB0aGlzLmNsaWVudF8gPSBjbGllbnQ7Ci0gICAgfQotCi0gICAgYXN5bmMgd2F0Y2go
b3B0aW9ucywgaWQpIHsKLSAgICAgIGFzc2VydF90cnVlKGlkID4gMCk7Ci0gICAgICBsZXQgZXJy
b3IgPSB0aGlzLmdldEhXRXJyb3IoKTsKLSAgICAgIGlmIChlcnJvcikgewotICAgICAgICByZXR1
cm4gZXJyb3I7Ci0gICAgICB9Ci0KLSAgICAgIHRoaXMud2F0Y2hlcnNfLnB1c2goe2lkOiBpZCwg
b3B0aW9uczogb3B0aW9uc30pOwotICAgICAgLy8gSWdub3JlcyByZWFkaW5nIGlmIE5GQyBvcGVy
YXRpb24gaXMgc3VzcGVuZGVkCi0gICAgICAvLyBvciB0aGUgTkZDIHRhZyBkb2VzIG5vdCBleHBv
c2UgTkRFRiB0ZWNobm9sb2d5LgotICAgICAgaWYoIXRoaXMub3BlcmF0aW9uc19zdXNwZW5kZWRf
ICYmIHRoaXMuaXNfbmRlZl90ZWNoXykgewotICAgICAgICAvLyBUcmlnZ2VycyBvbldhdGNoIGlm
IHRoZSBuZXcgd2F0Y2hlciBtYXRjaGVzIGV4aXN0aW5nIG1lc3NhZ2VzLgotICAgICAgICBmb3Ig
KGxldCBtZXNzYWdlIG9mIHRoaXMucmVhZGluZ19tZXNzYWdlc18pIHsKLSAgICAgICAgICBpZiAo
bWF0Y2hlc1dhdGNoT3B0aW9ucyhtZXNzYWdlLCBvcHRpb25zKSkgewotICAgICAgICAgICAgdGhp
cy5jbGllbnRfLm9uV2F0Y2goCi0gICAgICAgICAgICAgICAgW2lkXSwgZmFrZV90YWdfc2VyaWFs
X251bWJlciwgdG9Nb2pvTkRFRk1lc3NhZ2UobWVzc2FnZSkpOwotICAgICAgICAgIH0KLSAgICAg
ICAgfQotICAgICAgfQotCi0gICAgICByZXR1cm4gY3JlYXRlTkRFRkVycm9yKG51bGwpOwotICAg
IH0KLQotICAgIGFzeW5jIGNhbmNlbFdhdGNoKGlkKSB7Ci0gICAgICBsZXQgaW5kZXggPSB0aGlz
LndhdGNoZXJzXy5maW5kSW5kZXgodmFsdWUgPT4gdmFsdWUuaWQgPT09IGlkKTsKLSAgICAgIGlm
IChpbmRleCA9PT0gLTEpIHsKLSAgICAgICAgcmV0dXJuIGNyZWF0ZU5ERUZFcnJvcihkZXZpY2Uu
bW9qb20uTkRFRkVycm9yVHlwZS5OT1RfRk9VTkQpOwotICAgICAgfQotCi0gICAgICB0aGlzLndh
dGNoZXJzXy5zcGxpY2UoaW5kZXgsIDEpOwotICAgICAgcmV0dXJuIGNyZWF0ZU5ERUZFcnJvcihu
dWxsKTsKLSAgICB9Ci0KLSAgICBhc3luYyBjYW5jZWxBbGxXYXRjaGVzKCkgewotICAgICAgaWYg
KHRoaXMud2F0Y2hlcnNfLmxlbmd0aCA9PT0gMCkgewotICAgICAgICByZXR1cm4gY3JlYXRlTkRF
RkVycm9yKGRldmljZS5tb2pvbS5OREVGRXJyb3JUeXBlLk5PVF9GT1VORCk7Ci0gICAgICB9Ci0K
LSAgICAgIHRoaXMud2F0Y2hlcnNfLnNwbGljZSgwLCB0aGlzLndhdGNoZXJzXy5sZW5ndGgpOwot
ICAgICAgcmV0dXJuIGNyZWF0ZU5ERUZFcnJvcihudWxsKTsKLSAgICB9Ci0KLSAgICBnZXRIV0Vy
cm9yKCkgewotICAgICAgaWYgKHRoaXMuaHdfc3RhdHVzXyA9PT0gTkZDSFdTdGF0dXMuRElTQUJM
RUQpCi0gICAgICAgIHJldHVybiBjcmVhdGVOREVGRXJyb3IoZGV2aWNlLm1vam9tLk5ERUZFcnJv
clR5cGUuTk9UX1JFQURBQkxFKTsKLSAgICAgIGlmICh0aGlzLmh3X3N0YXR1c18gPT09IE5GQ0hX
U3RhdHVzLk5PVF9TVVBQT1JURUQpCi0gICAgICAgIHJldHVybiBjcmVhdGVOREVGRXJyb3IoZGV2
aWNlLm1vam9tLk5ERUZFcnJvclR5cGUuTk9UX1NVUFBPUlRFRCk7Ci0gICAgICByZXR1cm4gbnVs
bDsKLSAgICB9Ci0KLSAgICBzZXRIV1N0YXR1cyhzdGF0dXMpIHsKLSAgICAgIHRoaXMuaHdfc3Rh
dHVzXyA9IHN0YXR1czsKLSAgICB9Ci0KLSAgICBwdXNoZWRNZXNzYWdlKCkgewotICAgICAgcmV0
dXJuIHRoaXMucHVzaGVkX21lc3NhZ2VfOwotICAgIH0KLQotICAgIHB1c2hPcHRpb25zKCkgewot
ICAgICAgcmV0dXJuIHRoaXMucHVzaF9vcHRpb25zXzsKLSAgICB9Ci0KLSAgICB3YXRjaE9wdGlv
bnMoKSB7Ci0gICAgICBhc3NlcnRfbm90X2VxdWFscyh0aGlzLndhdGNoZXJzXy5sZW5ndGgsIDAp
OwotICAgICAgcmV0dXJuIHRoaXMud2F0Y2hlcnNfW3RoaXMud2F0Y2hlcnNfLmxlbmd0aCAtIDFd
Lm9wdGlvbnM7Ci0gICAgfQotCi0gICAgc2V0UGVuZGluZ1B1c2hDb21wbGV0ZWQocmVzdWx0KSB7
Ci0gICAgICB0aGlzLnB1c2hfY29tcGxldGVkXyA9IHJlc3VsdDsKLSAgICB9Ci0KLSAgICByZXNl
dCgpIHsKLSAgICAgIHRoaXMuaHdfc3RhdHVzXyA9IE5GQ0hXU3RhdHVzLkVOQUJMRUQ7Ci0gICAg
ICB0aGlzLndhdGNoZXJzXyA9IFtdOwotICAgICAgdGhpcy5yZWFkaW5nX21lc3NhZ2VzXyA9IFtd
OwotICAgICAgdGhpcy5vcGVyYXRpb25zX3N1c3BlbmRlZF8gPSBmYWxzZTsKLSAgICAgIHRoaXMu
Y2FuY2VsUGVuZGluZ1B1c2hPcGVyYXRpb24oKTsKLSAgICAgIHRoaXMuaXNfbmRlZl90ZWNoXyA9
IHRydWU7Ci0gICAgICB0aGlzLmlzX2Zvcm1hdHRlZF90YWdfID0gZmFsc2U7Ci0gICAgfQotCi0g
ICAgY2FuY2VsUGVuZGluZ1B1c2hPcGVyYXRpb24oKSB7Ci0gICAgICBpZiAodGhpcy5wZW5kaW5n
X3Byb21pc2VfZnVuY18pIHsKLSAgICAgICAgdGhpcy5wZW5kaW5nX3Byb21pc2VfZnVuY18oCi0g
ICAgICAgICAgICBjcmVhdGVOREVGRXJyb3IoZGV2aWNlLm1vam9tLk5ERUZFcnJvclR5cGUuT1BF
UkFUSU9OX0NBTkNFTExFRCkpOwotICAgICAgfQotCi0gICAgICB0aGlzLnB1c2hlZF9tZXNzYWdl
XyA9IG51bGw7Ci0gICAgICB0aGlzLnB1c2hfb3B0aW9uc18gPSBudWxsOwotICAgICAgdGhpcy5w
ZW5kaW5nX3Byb21pc2VfZnVuY18gPSBudWxsOwotICAgICAgdGhpcy5wdXNoX2NvbXBsZXRlZF8g
PSB0cnVlOwotICAgIH0KLQotICAgIC8vIFNldHMgbWVzc2FnZSB0aGF0IGlzIHVzZWQgdG8gZGVs
aXZlciBORkMgcmVhZGluZyB1cGRhdGVzLgotICAgIHNldFJlYWRpbmdNZXNzYWdlKG1lc3NhZ2Up
IHsKLSAgICAgIHRoaXMucmVhZGluZ19tZXNzYWdlc18ucHVzaChtZXNzYWdlKTsKLSAgICAgIC8v
IElnbm9yZXMgcmVhZGluZyBpZiB0aGUgTkZDIHRhZyBkb2VzIG5vdCBleHBvc2UgTkRFRiB0ZWNo
bm9sb2d5LgotICAgICAgaWYoIXRoaXMuaXNfbmRlZl90ZWNoXykgcmV0dXJuOwotICAgICAgLy8g
SWdub3JlcyByZWFkaW5nIGlmIE5GQyBvcGVyYXRpb24gaXMgc3VzcGVuZGVkLgotICAgICAgaWYo
dGhpcy5vcGVyYXRpb25zX3N1c3BlbmRlZF8pIHJldHVybjsKLSAgICAgIC8vIElnbm9yZXMgcmVh
ZGluZyBpZiBOREVGUHVzaE9wdGlvbnMuaWdub3JlUmVhZCBpcyB0cnVlLgotICAgICAgaWYodGhp
cy5wdXNoX29wdGlvbnNfICYmIHRoaXMucHVzaF9vcHRpb25zXy5pZ25vcmVSZWFkKQotICAgICAg
ICByZXR1cm47Ci0gICAgICAvLyBUcmlnZ2VycyBvbldhdGNoIGlmIHRoZSBuZXcgbWVzc2FnZSBt
YXRjaGVzIGV4aXN0aW5nIHdhdGNoZXJzLgotICAgICAgZm9yIChsZXQgd2F0Y2hlciBvZiB0aGlz
LndhdGNoZXJzXykgewotICAgICAgICBpZiAobWF0Y2hlc1dhdGNoT3B0aW9ucyhtZXNzYWdlLCB3
YXRjaGVyLm9wdGlvbnMpKSB7Ci0gICAgICAgICAgdGhpcy5jbGllbnRfLm9uV2F0Y2goCi0gICAg
ICAgICAgICAgIFt3YXRjaGVyLmlkXSwgZmFrZV90YWdfc2VyaWFsX251bWJlciwKLSAgICAgICAg
ICAgICAgdG9Nb2pvTkRFRk1lc3NhZ2UobWVzc2FnZSkpOwotICAgICAgICB9Ci0gICAgICB9Ci0g
ICAgfQotCi0gICAgLy8gU3VzcGVuZHMgYWxsIHBlbmRpbmcgTkZDIG9wZXJhdGlvbnMuIENvdWxk
IGJlIHVzZWQgd2hlbiB3ZWIgcGFnZQotICAgIC8vIHZpc2liaWxpdHkgaXMgbG9zdC4KLSAgICBz
dXNwZW5kTkZDT3BlcmF0aW9ucygpIHsKLSAgICAgIHRoaXMub3BlcmF0aW9uc19zdXNwZW5kZWRf
ID0gdHJ1ZTsKLSAgICB9Ci0KLSAgICAvLyBSZXN1bWVzIGFsbCBzdXNwZW5kZWQgTkZDIG9wZXJh
dGlvbnMuCi0gICAgcmVzdW1lTkZDT3BlcmF0aW9ucygpIHsKLSAgICAgIHRoaXMub3BlcmF0aW9u
c19zdXNwZW5kZWRfID0gZmFsc2U7Ci0gICAgICAvLyBSZXN1bWVzIHBlbmRpbmcgTkZDIHJlYWRp
bmcuCi0gICAgICBmb3IgKGxldCB3YXRjaGVyIG9mIHRoaXMud2F0Y2hlcnNfKSB7Ci0gICAgICAg
IGZvciAobGV0IG1lc3NhZ2Ugb2YgdGhpcy5yZWFkaW5nX21lc3NhZ2VzXykgewotICAgICAgICAg
IGlmIChtYXRjaGVzV2F0Y2hPcHRpb25zKG1lc3NhZ2UsIHdhdGNoZXIub3B0aW9ucykgJiYgdGhp
cy5pc19uZGVmX3RlY2hfKSB7Ci0gICAgICAgICAgICB0aGlzLmNsaWVudF8ub25XYXRjaCgKLSAg
ICAgICAgICAgICAgICBbd2F0Y2hlci5pZF0sIGZha2VfdGFnX3NlcmlhbF9udW1iZXIsCi0gICAg
ICAgICAgICAgICAgdG9Nb2pvTkRFRk1lc3NhZ2UobWVzc2FnZSkpOwotICAgICAgICAgIH0KLSAg
ICAgICAgfQotICAgICAgfQotICAgICAgLy8gUmVzdW1lcyBwZW5kaW5nIHB1c2ggb3BlcmF0aW9u
LgotICAgICAgaWYgKHRoaXMucGVuZGluZ19wcm9taXNlX2Z1bmNfKSB7Ci0gICAgICAgIHRoaXMu
cGVuZGluZ19wcm9taXNlX2Z1bmNfKGNyZWF0ZU5ERUZFcnJvcihudWxsKSk7Ci0gICAgICB9Ci0g
ICAgfQotCi0gICAgc2V0SXNOREVGVGVjaChpc05kZWYpIHsKLSAgICAgIHRoaXMuaXNfbmRlZl90
ZWNoXyA9IGlzTmRlZjsKLSAgICB9Ci0KLSAgICBzZXRJc0Zvcm1hdHRlZFRhZyhpc0Zvcm1hdHRl
ZCkgewotICAgICAgdGhpcy5pc19mb3JtYXR0ZWRfdGFnXyA9IGlzRm9ybWF0dGVkOwotICAgIH0K
LSAgfQotCi0gIGxldCB0ZXN0SW50ZXJuYWwgPSB7Ci0gICAgaW5pdGlhbGl6ZWQ6IGZhbHNlLAot
ICAgIG1vY2tORkM6IG51bGwKLSAgfQotCi0gIGNsYXNzIE5GQ1Rlc3RDaHJvbWl1bSB7Ci0gICAg
Y29uc3RydWN0b3IoKSB7Ci0gICAgICBPYmplY3QuZnJlZXplKHRoaXMpOyAvLyBNYWtlcyBpdCBp
bW11dGFibGUuCi0gICAgfQotCi0gICAgaW5pdGlhbGl6ZSgpIHsKLSAgICAgIGlmICh0ZXN0SW50
ZXJuYWwuaW5pdGlhbGl6ZWQpCi0gICAgICAgIHRocm93IG5ldyBFcnJvcignQ2FsbCByZXNldCgp
IGJlZm9yZSBpbml0aWFsaXplKCkuJyk7Ci0KLSAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikg
ewotICAgICAgICAvLyBHcmFudCBuZmMgcGVybWlzc2lvbnMgZm9yIENocm9taXVtIHRlc3RydW5u
ZXIuCi0gICAgICAgIHdpbmRvdy50ZXN0UnVubmVyLnNldFBlcm1pc3Npb24oJ25mYycsICdncmFu
dGVkJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2NhdGlvbi5v
cmlnaW4sIGxvY2F0aW9uLm9yaWdpbik7Ci0gICAgICB9Ci0KLSAgICAgIGlmICh0ZXN0SW50ZXJu
YWwubW9ja05GQyA9PSBudWxsKSB7Ci0gICAgICAgIHRlc3RJbnRlcm5hbC5tb2NrTkZDID0gbmV3
IE1vY2tORkMoKTsKLSAgICAgIH0KLSAgICAgIHRlc3RJbnRlcm5hbC5pbml0aWFsaXplZCA9IHRy
dWU7Ci0gICAgfQotCi0gICAgLy8gUmV1c2VzIHRoZSBuZmMgbW9jayBidXQgcmVzZXRzIGl0cyBz
dGF0ZSBiZXR3ZWVuIHRlc3QgcnVucy4KLSAgICBhc3luYyByZXNldCgpIHsKLSAgICAgIGlmICgh
dGVzdEludGVybmFsLmluaXRpYWxpemVkKQotICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0NhbGwg
aW5pdGlhbGl6ZSgpIGJlZm9yZSByZXNldCgpLicpOwotICAgICAgdGVzdEludGVybmFsLm1vY2tO
RkMucmVzZXQoKTsKLSAgICAgIHRlc3RJbnRlcm5hbC5pbml0aWFsaXplZCA9IGZhbHNlOwotCi0g
ICAgICBhd2FpdCBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHNldFRpbWVvdXQocmVzb2x2ZSwgMCkp
OwotICAgIH0KLQotICAgIGdldE1vY2tORkMoKSB7Ci0gICAgICByZXR1cm4gdGVzdEludGVybmFs
Lm1vY2tORkM7Ci0gICAgfQotICB9Ci0KLSAgcmV0dXJuIE5GQ1Rlc3RDaHJvbWl1bTsKLX0pKCk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy9jaHJvbWl1bS9zZW5zb3IubW9qb20uanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS9zZW5zb3IubW9qb20u
anMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDc1NzhkZDZkNjRmLi4wMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy9jaHJvbWl1bS9zZW5zb3IubW9qb20uanMKKysrIC9kZXYvbnVsbApAQCAtMSwxMDc0ICsw
LDAgQEAKLS8vIENvcHlyaWdodCAyMDE0IFRoZSBDaHJvbWl1bSBBdXRob3JzLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgotLy8gVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBC
U0Qtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQotLy8gZm91bmQgaW4gdGhlIExJQ0VOU0UgZmls
ZS4KLQotJ3VzZSBzdHJpY3QnOwotCi0oZnVuY3Rpb24oKSB7Ci0gIHZhciBtb2pvbUlkID0gJ3Nl
cnZpY2VzL2RldmljZS9wdWJsaWMvbW9qb20vc2Vuc29yLm1vam9tJzsKLSAgaWYgKG1vam8uaW50
ZXJuYWwuaXNNb2pvbUxvYWRlZChtb2pvbUlkKSkgewotICAgIGNvbnNvbGUud2FybignVGhlIGZv
bGxvd2luZyBtb2pvbSBpcyBsb2FkZWQgbXVsdGlwbGUgdGltZXM6ICcgKyBtb2pvbUlkKTsKLSAg
ICByZXR1cm47Ci0gIH0KLSAgbW9qby5pbnRlcm5hbC5tYXJrTW9qb21Mb2FkZWQobW9qb21JZCk7
Ci0gIHZhciBiaW5kaW5ncyA9IG1vam87Ci0gIHZhciBhc3NvY2lhdGVkQmluZGluZ3MgPSBtb2pv
OwotICB2YXIgY29kZWMgPSBtb2pvLmludGVybmFsOwotICB2YXIgdmFsaWRhdG9yID0gbW9qby5p
bnRlcm5hbDsKLQotICB2YXIgZXhwb3J0cyA9IG1vam8uaW50ZXJuYWwuZXhwb3NlTmFtZXNwYWNl
KCdkZXZpY2UubW9qb20nKTsKLQotCi0gIHZhciBTZW5zb3JUeXBlID0ge307Ci0gIFNlbnNvclR5
cGUuQU1CSUVOVF9MSUdIVCA9IDA7Ci0gIFNlbnNvclR5cGUuUFJPWElNSVRZID0gU2Vuc29yVHlw
ZS5BTUJJRU5UX0xJR0hUICsgMTsKLSAgU2Vuc29yVHlwZS5BQ0NFTEVST01FVEVSID0gU2Vuc29y
VHlwZS5QUk9YSU1JVFkgKyAxOwotICBTZW5zb3JUeXBlLkxJTkVBUl9BQ0NFTEVSQVRJT04gPSBT
ZW5zb3JUeXBlLkFDQ0VMRVJPTUVURVIgKyAxOwotICBTZW5zb3JUeXBlLkdZUk9TQ09QRSA9IFNl
bnNvclR5cGUuTElORUFSX0FDQ0VMRVJBVElPTiArIDE7Ci0gIFNlbnNvclR5cGUuTUFHTkVUT01F
VEVSID0gU2Vuc29yVHlwZS5HWVJPU0NPUEUgKyAxOwotICBTZW5zb3JUeXBlLlBSRVNTVVJFID0g
U2Vuc29yVHlwZS5NQUdORVRPTUVURVIgKyAxOwotICBTZW5zb3JUeXBlLkFCU09MVVRFX09SSUVO
VEFUSU9OX0VVTEVSX0FOR0xFUyA9IFNlbnNvclR5cGUuUFJFU1NVUkUgKyAxOwotICBTZW5zb3JU
eXBlLkFCU09MVVRFX09SSUVOVEFUSU9OX1FVQVRFUk5JT04gPSBTZW5zb3JUeXBlLkFCU09MVVRF
X09SSUVOVEFUSU9OX0VVTEVSX0FOR0xFUyArIDE7Ci0gIFNlbnNvclR5cGUuUkVMQVRJVkVfT1JJ
RU5UQVRJT05fRVVMRVJfQU5HTEVTID0gU2Vuc29yVHlwZS5BQlNPTFVURV9PUklFTlRBVElPTl9R
VUFURVJOSU9OICsgMTsKLSAgU2Vuc29yVHlwZS5SRUxBVElWRV9PUklFTlRBVElPTl9RVUFURVJO
SU9OID0gU2Vuc29yVHlwZS5SRUxBVElWRV9PUklFTlRBVElPTl9FVUxFUl9BTkdMRVMgKyAxOwot
ICBTZW5zb3JUeXBlLk1JTl9WQUxVRSA9IDAsCi0gIFNlbnNvclR5cGUuTUFYX1ZBTFVFID0gMTAs
Ci0KLSAgU2Vuc29yVHlwZS5pc0tub3duRW51bVZhbHVlID0gZnVuY3Rpb24odmFsdWUpIHsKLSAg
ICBzd2l0Y2ggKHZhbHVlKSB7Ci0gICAgY2FzZSAwOgotICAgIGNhc2UgMToKLSAgICBjYXNlIDI6
Ci0gICAgY2FzZSAzOgotICAgIGNhc2UgNDoKLSAgICBjYXNlIDU6Ci0gICAgY2FzZSA2OgotICAg
IGNhc2UgNzoKLSAgICBjYXNlIDg6Ci0gICAgY2FzZSA5OgotICAgIGNhc2UgMTA6Ci0gICAgICBy
ZXR1cm4gdHJ1ZTsKLSAgICB9Ci0gICAgcmV0dXJuIGZhbHNlOwotICB9OwotCi0gIFNlbnNvclR5
cGUudmFsaWRhdGUgPSBmdW5jdGlvbihlbnVtVmFsdWUpIHsKLSAgICB2YXIgaXNFeHRlbnNpYmxl
ID0gZmFsc2U7Ci0gICAgaWYgKGlzRXh0ZW5zaWJsZSB8fCB0aGlzLmlzS25vd25FbnVtVmFsdWUo
ZW51bVZhbHVlKSkKLSAgICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7
Ci0KLSAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5VTktOT1dOX0VOVU1fVkFM
VUU7Ci0gIH07Ci0gIHZhciBSZXBvcnRpbmdNb2RlID0ge307Ci0gIFJlcG9ydGluZ01vZGUuT05f
Q0hBTkdFID0gMDsKLSAgUmVwb3J0aW5nTW9kZS5DT05USU5VT1VTID0gUmVwb3J0aW5nTW9kZS5P
Tl9DSEFOR0UgKyAxOwotICBSZXBvcnRpbmdNb2RlLk1JTl9WQUxVRSA9IDAsCi0gIFJlcG9ydGlu
Z01vZGUuTUFYX1ZBTFVFID0gMSwKLQotICBSZXBvcnRpbmdNb2RlLmlzS25vd25FbnVtVmFsdWUg
PSBmdW5jdGlvbih2YWx1ZSkgewotICAgIHN3aXRjaCAodmFsdWUpIHsKLSAgICBjYXNlIDA6Ci0g
ICAgY2FzZSAxOgotICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfQotICAgIHJldHVybiBmYWxzZTsK
LSAgfTsKLQotICBSZXBvcnRpbmdNb2RlLnZhbGlkYXRlID0gZnVuY3Rpb24oZW51bVZhbHVlKSB7
Ci0gICAgdmFyIGlzRXh0ZW5zaWJsZSA9IGZhbHNlOwotICAgIGlmIChpc0V4dGVuc2libGUgfHwg
dGhpcy5pc0tub3duRW51bVZhbHVlKGVudW1WYWx1ZSkpCi0gICAgICByZXR1cm4gdmFsaWRhdG9y
LnZhbGlkYXRpb25FcnJvci5OT05FOwotCi0gICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9u
RXJyb3IuVU5LTk9XTl9FTlVNX1ZBTFVFOwotICB9OwotCi0gIGZ1bmN0aW9uIFNlbnNvckNvbmZp
Z3VyYXRpb24odmFsdWVzKSB7Ci0gICAgdGhpcy5pbml0RGVmYXVsdHNfKCk7Ci0gICAgdGhpcy5p
bml0RmllbGRzXyh2YWx1ZXMpOwotICB9Ci0KLQotICBTZW5zb3JDb25maWd1cmF0aW9uLnByb3Rv
dHlwZS5pbml0RGVmYXVsdHNfID0gZnVuY3Rpb24oKSB7Ci0gICAgdGhpcy5mcmVxdWVuY3kgPSAw
OwotICB9OwotICBTZW5zb3JDb25maWd1cmF0aW9uLnByb3RvdHlwZS5pbml0RmllbGRzXyA9IGZ1
bmN0aW9uKGZpZWxkcykgewotICAgIGZvcih2YXIgZmllbGQgaW4gZmllbGRzKSB7Ci0gICAgICAg
IGlmICh0aGlzLmhhc093blByb3BlcnR5KGZpZWxkKSkKLSAgICAgICAgICB0aGlzW2ZpZWxkXSA9
IGZpZWxkc1tmaWVsZF07Ci0gICAgfQotICB9OwotCi0gIFNlbnNvckNvbmZpZ3VyYXRpb24udmFs
aWRhdGUgPSBmdW5jdGlvbihtZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsKLSAgICB2YXIgZXJy
OwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RIZWFkZXIob2Zmc2V0
LCBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZh
bGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgdmFyIGtWZXJz
aW9uU2l6ZXMgPSBbCi0gICAgICB7dmVyc2lvbjogMCwgbnVtQnl0ZXM6IDE2fQotICAgIF07Ci0g
ICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFZlcnNpb24ob2Zmc2V0LCBr
VmVyc2lvblNpemVzKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9y
Lk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotICAgIHJldHVybiB2YWxpZGF0b3IudmFs
aWRhdGlvbkVycm9yLk5PTkU7Ci0gIH07Ci0KLSAgU2Vuc29yQ29uZmlndXJhdGlvbi5lbmNvZGVk
U2l6ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgODsKLQotICBTZW5zb3JDb25maWd1cmF0
aW9uLmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIHZh
ciB2YWwgPSBuZXcgU2Vuc29yQ29uZmlndXJhdGlvbigpOwotICAgIHZhciBudW1iZXJPZkJ5dGVz
ID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFyIHZlcnNpb24gPSBkZWNvZGVyLnJlYWRV
aW50MzIoKTsKLSAgICB2YWwuZnJlcXVlbmN5ID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoY29kZWMu
RG91YmxlKTsKLSAgICByZXR1cm4gdmFsOwotICB9OwotCi0gIFNlbnNvckNvbmZpZ3VyYXRpb24u
ZW5jb2RlID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICBl
bmNvZGVyLndyaXRlVWludDMyKFNlbnNvckNvbmZpZ3VyYXRpb24uZW5jb2RlZFNpemUpOwotICAg
IGVuY29kZXIud3JpdGVVaW50MzIoMCk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3QoY29kZWMu
RG91YmxlLCB2YWwuZnJlcXVlbmN5KTsKLSAgfTsKLSAgZnVuY3Rpb24gU2Vuc29yX0dldERlZmF1
bHRDb25maWd1cmF0aW9uX1BhcmFtcyh2YWx1ZXMpIHsKLSAgICB0aGlzLmluaXREZWZhdWx0c18o
KTsKLSAgICB0aGlzLmluaXRGaWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0gIFNlbnNvcl9HZXRE
ZWZhdWx0Q29uZmlndXJhdGlvbl9QYXJhbXMucHJvdG90eXBlLmluaXREZWZhdWx0c18gPSBmdW5j
dGlvbigpIHsKLSAgfTsKLSAgU2Vuc29yX0dldERlZmF1bHRDb25maWd1cmF0aW9uX1BhcmFtcy5w
cm90b3R5cGUuaW5pdEZpZWxkc18gPSBmdW5jdGlvbihmaWVsZHMpIHsKLSAgICBmb3IodmFyIGZp
ZWxkIGluIGZpZWxkcykgewotICAgICAgICBpZiAodGhpcy5oYXNPd25Qcm9wZXJ0eShmaWVsZCkp
Ci0gICAgICAgICAgdGhpc1tmaWVsZF0gPSBmaWVsZHNbZmllbGRdOwotICAgIH0KLSAgfTsKLQot
ICBTZW5zb3JfR2V0RGVmYXVsdENvbmZpZ3VyYXRpb25fUGFyYW1zLnZhbGlkYXRlID0gZnVuY3Rp
b24obWVzc2FnZVZhbGlkYXRvciwgb2Zmc2V0KSB7Ci0gICAgdmFyIGVycjsKLSAgICBlcnIgPSBt
ZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0SGVhZGVyKG9mZnNldCwgY29kZWMua1N0cnVj
dEhlYWRlclNpemUpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3Iu
Tk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHZhciBrVmVyc2lvblNpemVzID0gWwot
ICAgICAge3ZlcnNpb246IDAsIG51bUJ5dGVzOiA4fQotICAgIF07Ci0gICAgZXJyID0gbWVzc2Fn
ZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFZlcnNpb24ob2Zmc2V0LCBrVmVyc2lvblNpemVzKTsK
LSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAg
IHJldHVybiBlcnI7Ci0KLSAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05F
OwotICB9OwotCi0gIFNlbnNvcl9HZXREZWZhdWx0Q29uZmlndXJhdGlvbl9QYXJhbXMuZW5jb2Rl
ZFNpemUgPSBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDA7Ci0KLSAgU2Vuc29yX0dldERlZmF1
bHRDb25maWd1cmF0aW9uX1BhcmFtcy5kZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0gICAg
dmFyIHBhY2tlZDsKLSAgICB2YXIgdmFsID0gbmV3IFNlbnNvcl9HZXREZWZhdWx0Q29uZmlndXJh
dGlvbl9QYXJhbXMoKTsKLSAgICB2YXIgbnVtYmVyT2ZCeXRlcyA9IGRlY29kZXIucmVhZFVpbnQz
MigpOwotICAgIHZhciB2ZXJzaW9uID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgcmV0dXJu
IHZhbDsKLSAgfTsKLQotICBTZW5zb3JfR2V0RGVmYXVsdENvbmZpZ3VyYXRpb25fUGFyYW1zLmVu
Y29kZSA9IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgZW5j
b2Rlci53cml0ZVVpbnQzMihTZW5zb3JfR2V0RGVmYXVsdENvbmZpZ3VyYXRpb25fUGFyYW1zLmVu
Y29kZWRTaXplKTsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKDApOwotICB9OwotICBmdW5jdGlv
biBTZW5zb3JfR2V0RGVmYXVsdENvbmZpZ3VyYXRpb25fUmVzcG9uc2VQYXJhbXModmFsdWVzKSB7
Ci0gICAgdGhpcy5pbml0RGVmYXVsdHNfKCk7Ci0gICAgdGhpcy5pbml0RmllbGRzXyh2YWx1ZXMp
OwotICB9Ci0KLQotICBTZW5zb3JfR2V0RGVmYXVsdENvbmZpZ3VyYXRpb25fUmVzcG9uc2VQYXJh
bXMucHJvdG90eXBlLmluaXREZWZhdWx0c18gPSBmdW5jdGlvbigpIHsKLSAgICB0aGlzLmNvbmZp
Z3VyYXRpb24gPSBudWxsOwotICB9OwotICBTZW5zb3JfR2V0RGVmYXVsdENvbmZpZ3VyYXRpb25f
UmVzcG9uc2VQYXJhbXMucHJvdG90eXBlLmluaXRGaWVsZHNfID0gZnVuY3Rpb24oZmllbGRzKSB7
Ci0gICAgZm9yKHZhciBmaWVsZCBpbiBmaWVsZHMpIHsKLSAgICAgICAgaWYgKHRoaXMuaGFzT3du
UHJvcGVydHkoZmllbGQpKQotICAgICAgICAgIHRoaXNbZmllbGRdID0gZmllbGRzW2ZpZWxkXTsK
LSAgICB9Ci0gIH07Ci0KLSAgU2Vuc29yX0dldERlZmF1bHRDb25maWd1cmF0aW9uX1Jlc3BvbnNl
UGFyYW1zLnZhbGlkYXRlID0gZnVuY3Rpb24obWVzc2FnZVZhbGlkYXRvciwgb2Zmc2V0KSB7Ci0g
ICAgdmFyIGVycjsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0SGVh
ZGVyKG9mZnNldCwgY29kZWMua1N0cnVjdEhlYWRlclNpemUpOwotICAgIGlmIChlcnIgIT09IHZh
bGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAg
IHZhciBrVmVyc2lvblNpemVzID0gWwotICAgICAge3ZlcnNpb246IDAsIG51bUJ5dGVzOiAxNn0K
LSAgICBdOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RWZXJzaW9u
KG9mZnNldCwga1ZlcnNpb25TaXplcyk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlk
YXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0KLSAgICAvLyB2YWxpZGF0
ZSBTZW5zb3JfR2V0RGVmYXVsdENvbmZpZ3VyYXRpb25fUmVzcG9uc2VQYXJhbXMuY29uZmlndXJh
dGlvbgotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RQb2ludGVyKG9m
ZnNldCArIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgMCwgU2Vuc29yQ29uZmlndXJhdGlvbiwg
ZmFsc2UpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkK
LSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVy
cm9yLk5PTkU7Ci0gIH07Ci0KLSAgU2Vuc29yX0dldERlZmF1bHRDb25maWd1cmF0aW9uX1Jlc3Bv
bnNlUGFyYW1zLmVuY29kZWRTaXplID0gY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyA4OwotCi0g
IFNlbnNvcl9HZXREZWZhdWx0Q29uZmlndXJhdGlvbl9SZXNwb25zZVBhcmFtcy5kZWNvZGUgPSBm
dW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICB2YXIgdmFsID0gbmV3IFNl
bnNvcl9HZXREZWZhdWx0Q29uZmlndXJhdGlvbl9SZXNwb25zZVBhcmFtcygpOwotICAgIHZhciBu
dW1iZXJPZkJ5dGVzID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFyIHZlcnNpb24gPSBk
ZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YWwuY29uZmlndXJhdGlvbiA9IGRlY29kZXIuZGVj
b2RlU3RydWN0UG9pbnRlcihTZW5zb3JDb25maWd1cmF0aW9uKTsKLSAgICByZXR1cm4gdmFsOwot
ICB9OwotCi0gIFNlbnNvcl9HZXREZWZhdWx0Q29uZmlndXJhdGlvbl9SZXNwb25zZVBhcmFtcy5l
bmNvZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2YWwpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIGVu
Y29kZXIud3JpdGVVaW50MzIoU2Vuc29yX0dldERlZmF1bHRDb25maWd1cmF0aW9uX1Jlc3BvbnNl
UGFyYW1zLmVuY29kZWRTaXplKTsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKDApOwotICAgIGVu
Y29kZXIuZW5jb2RlU3RydWN0UG9pbnRlcihTZW5zb3JDb25maWd1cmF0aW9uLCB2YWwuY29uZmln
dXJhdGlvbik7Ci0gIH07Ci0gIGZ1bmN0aW9uIFNlbnNvcl9BZGRDb25maWd1cmF0aW9uX1BhcmFt
cyh2YWx1ZXMpIHsKLSAgICB0aGlzLmluaXREZWZhdWx0c18oKTsKLSAgICB0aGlzLmluaXRGaWVs
ZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0gIFNlbnNvcl9BZGRDb25maWd1cmF0aW9uX1BhcmFtcy5w
cm90b3R5cGUuaW5pdERlZmF1bHRzXyA9IGZ1bmN0aW9uKCkgewotICAgIHRoaXMuY29uZmlndXJh
dGlvbiA9IG51bGw7Ci0gIH07Ci0gIFNlbnNvcl9BZGRDb25maWd1cmF0aW9uX1BhcmFtcy5wcm90
b3R5cGUuaW5pdEZpZWxkc18gPSBmdW5jdGlvbihmaWVsZHMpIHsKLSAgICBmb3IodmFyIGZpZWxk
IGluIGZpZWxkcykgewotICAgICAgICBpZiAodGhpcy5oYXNPd25Qcm9wZXJ0eShmaWVsZCkpCi0g
ICAgICAgICAgdGhpc1tmaWVsZF0gPSBmaWVsZHNbZmllbGRdOwotICAgIH0KLSAgfTsKLQotICBT
ZW5zb3JfQWRkQ29uZmlndXJhdGlvbl9QYXJhbXMudmFsaWRhdGUgPSBmdW5jdGlvbihtZXNzYWdl
VmFsaWRhdG9yLCBvZmZzZXQpIHsKLSAgICB2YXIgZXJyOwotICAgIGVyciA9IG1lc3NhZ2VWYWxp
ZGF0b3IudmFsaWRhdGVTdHJ1Y3RIZWFkZXIob2Zmc2V0LCBjb2RlYy5rU3RydWN0SGVhZGVyU2l6
ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAg
ICAgICByZXR1cm4gZXJyOwotCi0gICAgdmFyIGtWZXJzaW9uU2l6ZXMgPSBbCi0gICAgICB7dmVy
c2lvbjogMCwgbnVtQnl0ZXM6IDE2fQotICAgIF07Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRv
ci52YWxpZGF0ZVN0cnVjdFZlcnNpb24ob2Zmc2V0LCBrVmVyc2lvblNpemVzKTsKLSAgICBpZiAo
ZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBl
cnI7Ci0KLQotICAgIC8vIHZhbGlkYXRlIFNlbnNvcl9BZGRDb25maWd1cmF0aW9uX1BhcmFtcy5j
b25maWd1cmF0aW9uCi0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFBv
aW50ZXIob2Zmc2V0ICsgY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyAwLCBTZW5zb3JDb25maWd1
cmF0aW9uLCBmYWxzZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJv
ci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgcmV0dXJuIHZhbGlkYXRvci52YWxp
ZGF0aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQotICBTZW5zb3JfQWRkQ29uZmlndXJhdGlvbl9QYXJh
bXMuZW5jb2RlZFNpemUgPSBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDg7Ci0KLSAgU2Vuc29y
X0FkZENvbmZpZ3VyYXRpb25fUGFyYW1zLmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAg
ICB2YXIgcGFja2VkOwotICAgIHZhciB2YWwgPSBuZXcgU2Vuc29yX0FkZENvbmZpZ3VyYXRpb25f
UGFyYW1zKCk7Ci0gICAgdmFyIG51bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsK
LSAgICB2YXIgdmVyc2lvbiA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhbC5jb25maWd1
cmF0aW9uID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3RQb2ludGVyKFNlbnNvckNvbmZpZ3VyYXRpb24p
OwotICAgIHJldHVybiB2YWw7Ci0gIH07Ci0KLSAgU2Vuc29yX0FkZENvbmZpZ3VyYXRpb25fUGFy
YW1zLmVuY29kZSA9IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgIHZhciBwYWNrZWQ7Ci0g
ICAgZW5jb2Rlci53cml0ZVVpbnQzMihTZW5zb3JfQWRkQ29uZmlndXJhdGlvbl9QYXJhbXMuZW5j
b2RlZFNpemUpOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoMCk7Ci0gICAgZW5jb2Rlci5lbmNv
ZGVTdHJ1Y3RQb2ludGVyKFNlbnNvckNvbmZpZ3VyYXRpb24sIHZhbC5jb25maWd1cmF0aW9uKTsK
LSAgfTsKLSAgZnVuY3Rpb24gU2Vuc29yX0FkZENvbmZpZ3VyYXRpb25fUmVzcG9uc2VQYXJhbXMo
dmFsdWVzKSB7Ci0gICAgdGhpcy5pbml0RGVmYXVsdHNfKCk7Ci0gICAgdGhpcy5pbml0RmllbGRz
Xyh2YWx1ZXMpOwotICB9Ci0KLQotICBTZW5zb3JfQWRkQ29uZmlndXJhdGlvbl9SZXNwb25zZVBh
cmFtcy5wcm90b3R5cGUuaW5pdERlZmF1bHRzXyA9IGZ1bmN0aW9uKCkgewotICAgIHRoaXMuc3Vj
Y2VzcyA9IGZhbHNlOwotICB9OwotICBTZW5zb3JfQWRkQ29uZmlndXJhdGlvbl9SZXNwb25zZVBh
cmFtcy5wcm90b3R5cGUuaW5pdEZpZWxkc18gPSBmdW5jdGlvbihmaWVsZHMpIHsKLSAgICBmb3Io
dmFyIGZpZWxkIGluIGZpZWxkcykgewotICAgICAgICBpZiAodGhpcy5oYXNPd25Qcm9wZXJ0eShm
aWVsZCkpCi0gICAgICAgICAgdGhpc1tmaWVsZF0gPSBmaWVsZHNbZmllbGRdOwotICAgIH0KLSAg
fTsKLQotICBTZW5zb3JfQWRkQ29uZmlndXJhdGlvbl9SZXNwb25zZVBhcmFtcy52YWxpZGF0ZSA9
IGZ1bmN0aW9uKG1lc3NhZ2VWYWxpZGF0b3IsIG9mZnNldCkgewotICAgIHZhciBlcnI7Ci0gICAg
ZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdEhlYWRlcihvZmZzZXQsIGNvZGVj
LmtTdHJ1Y3RIZWFkZXJTaXplKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlv
bkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICB2YXIga1ZlcnNpb25TaXpl
cyA9IFsKLSAgICAgIHt2ZXJzaW9uOiAwLCBudW1CeXRlczogMTZ9Ci0gICAgXTsKLSAgICBlcnIg
PSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0VmVyc2lvbihvZmZzZXQsIGtWZXJzaW9u
U2l6ZXMpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkK
LSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0gICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9u
RXJyb3IuTk9ORTsKLSAgfTsKLQotICBTZW5zb3JfQWRkQ29uZmlndXJhdGlvbl9SZXNwb25zZVBh
cmFtcy5lbmNvZGVkU2l6ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgODsKLQotICBTZW5z
b3JfQWRkQ29uZmlndXJhdGlvbl9SZXNwb25zZVBhcmFtcy5kZWNvZGUgPSBmdW5jdGlvbihkZWNv
ZGVyKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICB2YXIgdmFsID0gbmV3IFNlbnNvcl9BZGRDb25m
aWd1cmF0aW9uX1Jlc3BvbnNlUGFyYW1zKCk7Ci0gICAgdmFyIG51bWJlck9mQnl0ZXMgPSBkZWNv
ZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YXIgdmVyc2lvbiA9IGRlY29kZXIucmVhZFVpbnQzMigp
OwotICAgIHBhY2tlZCA9IGRlY29kZXIucmVhZFVpbnQ4KCk7Ci0gICAgdmFsLnN1Y2Nlc3MgPSAo
cGFja2VkID4+IDApICYgMSA/IHRydWUgOiBmYWxzZTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0g
ICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNr
aXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBk
ZWNvZGVyLnNraXAoMSk7Ci0gICAgcmV0dXJuIHZhbDsKLSAgfTsKLQotICBTZW5zb3JfQWRkQ29u
ZmlndXJhdGlvbl9SZXNwb25zZVBhcmFtcy5lbmNvZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2YWwp
IHsKLSAgICB2YXIgcGFja2VkOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoU2Vuc29yX0FkZENv
bmZpZ3VyYXRpb25fUmVzcG9uc2VQYXJhbXMuZW5jb2RlZFNpemUpOwotICAgIGVuY29kZXIud3Jp
dGVVaW50MzIoMCk7Ci0gICAgcGFja2VkID0gMDsKLSAgICBwYWNrZWQgfD0gKHZhbC5zdWNjZXNz
ICYgMSkgPDwgMAotICAgIGVuY29kZXIud3JpdGVVaW50OChwYWNrZWQpOwotICAgIGVuY29kZXIu
c2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAg
IGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lw
KDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgfTsKLSAgZnVuY3Rpb24gU2Vuc29yX1JlbW92
ZUNvbmZpZ3VyYXRpb25fUGFyYW1zKHZhbHVlcykgewotICAgIHRoaXMuaW5pdERlZmF1bHRzXygp
OwotICAgIHRoaXMuaW5pdEZpZWxkc18odmFsdWVzKTsKLSAgfQotCi0KLSAgU2Vuc29yX1JlbW92
ZUNvbmZpZ3VyYXRpb25fUGFyYW1zLnByb3RvdHlwZS5pbml0RGVmYXVsdHNfID0gZnVuY3Rpb24o
KSB7Ci0gICAgdGhpcy5jb25maWd1cmF0aW9uID0gbnVsbDsKLSAgfTsKLSAgU2Vuc29yX1JlbW92
ZUNvbmZpZ3VyYXRpb25fUGFyYW1zLnByb3RvdHlwZS5pbml0RmllbGRzXyA9IGZ1bmN0aW9uKGZp
ZWxkcykgewotICAgIGZvcih2YXIgZmllbGQgaW4gZmllbGRzKSB7Ci0gICAgICAgIGlmICh0aGlz
Lmhhc093blByb3BlcnR5KGZpZWxkKSkKLSAgICAgICAgICB0aGlzW2ZpZWxkXSA9IGZpZWxkc1tm
aWVsZF07Ci0gICAgfQotICB9OwotCi0gIFNlbnNvcl9SZW1vdmVDb25maWd1cmF0aW9uX1BhcmFt
cy52YWxpZGF0ZSA9IGZ1bmN0aW9uKG1lc3NhZ2VWYWxpZGF0b3IsIG9mZnNldCkgewotICAgIHZh
ciBlcnI7Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdEhlYWRlcihv
ZmZzZXQsIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0
b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICB2YXIg
a1ZlcnNpb25TaXplcyA9IFsKLSAgICAgIHt2ZXJzaW9uOiAwLCBudW1CeXRlczogMTZ9Ci0gICAg
XTsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0VmVyc2lvbihvZmZz
ZXQsIGtWZXJzaW9uU2l6ZXMpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9u
RXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0gICAgLy8gdmFsaWRhdGUgU2Vu
c29yX1JlbW92ZUNvbmZpZ3VyYXRpb25fUGFyYW1zLmNvbmZpZ3VyYXRpb24KLSAgICBlcnIgPSBt
ZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0UG9pbnRlcihvZmZzZXQgKyBjb2RlYy5rU3Ry
dWN0SGVhZGVyU2l6ZSArIDAsIFNlbnNvckNvbmZpZ3VyYXRpb24sIGZhbHNlKTsKLSAgICBpZiAo
ZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBl
cnI7Ci0KLSAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwotICB9Owot
Ci0gIFNlbnNvcl9SZW1vdmVDb25maWd1cmF0aW9uX1BhcmFtcy5lbmNvZGVkU2l6ZSA9IGNvZGVj
LmtTdHJ1Y3RIZWFkZXJTaXplICsgODsKLQotICBTZW5zb3JfUmVtb3ZlQ29uZmlndXJhdGlvbl9Q
YXJhbXMuZGVjb2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHZhciBwYWNrZWQ7Ci0gICAg
dmFyIHZhbCA9IG5ldyBTZW5zb3JfUmVtb3ZlQ29uZmlndXJhdGlvbl9QYXJhbXMoKTsKLSAgICB2
YXIgbnVtYmVyT2ZCeXRlcyA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhciB2ZXJzaW9u
ID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFsLmNvbmZpZ3VyYXRpb24gPSBkZWNvZGVy
LmRlY29kZVN0cnVjdFBvaW50ZXIoU2Vuc29yQ29uZmlndXJhdGlvbik7Ci0gICAgcmV0dXJuIHZh
bDsKLSAgfTsKLQotICBTZW5zb3JfUmVtb3ZlQ29uZmlndXJhdGlvbl9QYXJhbXMuZW5jb2RlID0g
ZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICBlbmNvZGVyLndy
aXRlVWludDMyKFNlbnNvcl9SZW1vdmVDb25maWd1cmF0aW9uX1BhcmFtcy5lbmNvZGVkU2l6ZSk7
Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMigwKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdFBv
aW50ZXIoU2Vuc29yQ29uZmlndXJhdGlvbiwgdmFsLmNvbmZpZ3VyYXRpb24pOwotICB9OwotICBm
dW5jdGlvbiBTZW5zb3JfU3VzcGVuZF9QYXJhbXModmFsdWVzKSB7Ci0gICAgdGhpcy5pbml0RGVm
YXVsdHNfKCk7Ci0gICAgdGhpcy5pbml0RmllbGRzXyh2YWx1ZXMpOwotICB9Ci0KLQotICBTZW5z
b3JfU3VzcGVuZF9QYXJhbXMucHJvdG90eXBlLmluaXREZWZhdWx0c18gPSBmdW5jdGlvbigpIHsK
LSAgfTsKLSAgU2Vuc29yX1N1c3BlbmRfUGFyYW1zLnByb3RvdHlwZS5pbml0RmllbGRzXyA9IGZ1
bmN0aW9uKGZpZWxkcykgewotICAgIGZvcih2YXIgZmllbGQgaW4gZmllbGRzKSB7Ci0gICAgICAg
IGlmICh0aGlzLmhhc093blByb3BlcnR5KGZpZWxkKSkKLSAgICAgICAgICB0aGlzW2ZpZWxkXSA9
IGZpZWxkc1tmaWVsZF07Ci0gICAgfQotICB9OwotCi0gIFNlbnNvcl9TdXNwZW5kX1BhcmFtcy52
YWxpZGF0ZSA9IGZ1bmN0aW9uKG1lc3NhZ2VWYWxpZGF0b3IsIG9mZnNldCkgewotICAgIHZhciBl
cnI7Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdEhlYWRlcihvZmZz
ZXQsIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3Iu
dmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICB2YXIga1Zl
cnNpb25TaXplcyA9IFsKLSAgICAgIHt2ZXJzaW9uOiAwLCBudW1CeXRlczogOH0KLSAgICBdOwot
ICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RWZXJzaW9uKG9mZnNldCwg
a1ZlcnNpb25TaXplcyk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJv
ci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgcmV0dXJuIHZhbGlkYXRvci52YWxp
ZGF0aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQotICBTZW5zb3JfU3VzcGVuZF9QYXJhbXMuZW5jb2Rl
ZFNpemUgPSBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDA7Ci0KLSAgU2Vuc29yX1N1c3BlbmRf
UGFyYW1zLmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICB2YXIgcGFja2VkOwotICAg
IHZhciB2YWwgPSBuZXcgU2Vuc29yX1N1c3BlbmRfUGFyYW1zKCk7Ci0gICAgdmFyIG51bWJlck9m
Qnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YXIgdmVyc2lvbiA9IGRlY29kZXIu
cmVhZFVpbnQzMigpOwotICAgIHJldHVybiB2YWw7Ci0gIH07Ci0KLSAgU2Vuc29yX1N1c3BlbmRf
UGFyYW1zLmVuY29kZSA9IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgIHZhciBwYWNrZWQ7
Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMihTZW5zb3JfU3VzcGVuZF9QYXJhbXMuZW5jb2RlZFNp
emUpOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoMCk7Ci0gIH07Ci0gIGZ1bmN0aW9uIFNlbnNv
cl9SZXN1bWVfUGFyYW1zKHZhbHVlcykgewotICAgIHRoaXMuaW5pdERlZmF1bHRzXygpOwotICAg
IHRoaXMuaW5pdEZpZWxkc18odmFsdWVzKTsKLSAgfQotCi0KLSAgU2Vuc29yX1Jlc3VtZV9QYXJh
bXMucHJvdG90eXBlLmluaXREZWZhdWx0c18gPSBmdW5jdGlvbigpIHsKLSAgfTsKLSAgU2Vuc29y
X1Jlc3VtZV9QYXJhbXMucHJvdG90eXBlLmluaXRGaWVsZHNfID0gZnVuY3Rpb24oZmllbGRzKSB7
Ci0gICAgZm9yKHZhciBmaWVsZCBpbiBmaWVsZHMpIHsKLSAgICAgICAgaWYgKHRoaXMuaGFzT3du
UHJvcGVydHkoZmllbGQpKQotICAgICAgICAgIHRoaXNbZmllbGRdID0gZmllbGRzW2ZpZWxkXTsK
LSAgICB9Ci0gIH07Ci0KLSAgU2Vuc29yX1Jlc3VtZV9QYXJhbXMudmFsaWRhdGUgPSBmdW5jdGlv
bihtZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsKLSAgICB2YXIgZXJyOwotICAgIGVyciA9IG1l
c3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RIZWFkZXIob2Zmc2V0LCBjb2RlYy5rU3RydWN0
SGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5O
T05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgdmFyIGtWZXJzaW9uU2l6ZXMgPSBbCi0g
ICAgICB7dmVyc2lvbjogMCwgbnVtQnl0ZXM6IDh9Ci0gICAgXTsKLSAgICBlcnIgPSBtZXNzYWdl
VmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0VmVyc2lvbihvZmZzZXQsIGtWZXJzaW9uU2l6ZXMpOwot
ICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAg
cmV0dXJuIGVycjsKLQotICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7
Ci0gIH07Ci0KLSAgU2Vuc29yX1Jlc3VtZV9QYXJhbXMuZW5jb2RlZFNpemUgPSBjb2RlYy5rU3Ry
dWN0SGVhZGVyU2l6ZSArIDA7Ci0KLSAgU2Vuc29yX1Jlc3VtZV9QYXJhbXMuZGVjb2RlID0gZnVu
Y3Rpb24oZGVjb2RlcikgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgdmFyIHZhbCA9IG5ldyBTZW5z
b3JfUmVzdW1lX1BhcmFtcygpOwotICAgIHZhciBudW1iZXJPZkJ5dGVzID0gZGVjb2Rlci5yZWFk
VWludDMyKCk7Ci0gICAgdmFyIHZlcnNpb24gPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICBy
ZXR1cm4gdmFsOwotICB9OwotCi0gIFNlbnNvcl9SZXN1bWVfUGFyYW1zLmVuY29kZSA9IGZ1bmN0
aW9uKGVuY29kZXIsIHZhbCkgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgZW5jb2Rlci53cml0ZVVp
bnQzMihTZW5zb3JfUmVzdW1lX1BhcmFtcy5lbmNvZGVkU2l6ZSk7Ci0gICAgZW5jb2Rlci53cml0
ZVVpbnQzMigwKTsKLSAgfTsKLSAgZnVuY3Rpb24gU2Vuc29yX0NvbmZpZ3VyZVJlYWRpbmdDaGFu
Z2VOb3RpZmljYXRpb25zX1BhcmFtcyh2YWx1ZXMpIHsKLSAgICB0aGlzLmluaXREZWZhdWx0c18o
KTsKLSAgICB0aGlzLmluaXRGaWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0gIFNlbnNvcl9Db25m
aWd1cmVSZWFkaW5nQ2hhbmdlTm90aWZpY2F0aW9uc19QYXJhbXMucHJvdG90eXBlLmluaXREZWZh
dWx0c18gPSBmdW5jdGlvbigpIHsKLSAgICB0aGlzLmVuYWJsZWQgPSBmYWxzZTsKLSAgfTsKLSAg
U2Vuc29yX0NvbmZpZ3VyZVJlYWRpbmdDaGFuZ2VOb3RpZmljYXRpb25zX1BhcmFtcy5wcm90b3R5
cGUuaW5pdEZpZWxkc18gPSBmdW5jdGlvbihmaWVsZHMpIHsKLSAgICBmb3IodmFyIGZpZWxkIGlu
IGZpZWxkcykgewotICAgICAgICBpZiAodGhpcy5oYXNPd25Qcm9wZXJ0eShmaWVsZCkpCi0gICAg
ICAgICAgdGhpc1tmaWVsZF0gPSBmaWVsZHNbZmllbGRdOwotICAgIH0KLSAgfTsKLQotICBTZW5z
b3JfQ29uZmlndXJlUmVhZGluZ0NoYW5nZU5vdGlmaWNhdGlvbnNfUGFyYW1zLnZhbGlkYXRlID0g
ZnVuY3Rpb24obWVzc2FnZVZhbGlkYXRvciwgb2Zmc2V0KSB7Ci0gICAgdmFyIGVycjsKLSAgICBl
cnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0SGVhZGVyKG9mZnNldCwgY29kZWMu
a1N0cnVjdEhlYWRlclNpemUpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9u
RXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHZhciBrVmVyc2lvblNpemVz
ID0gWwotICAgICAge3ZlcnNpb246IDAsIG51bUJ5dGVzOiAxNn0KLSAgICBdOwotICAgIGVyciA9
IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RWZXJzaW9uKG9mZnNldCwga1ZlcnNpb25T
aXplcyk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQot
ICAgICAgICByZXR1cm4gZXJyOwotCi0KLSAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25F
cnJvci5OT05FOwotICB9OwotCi0gIFNlbnNvcl9Db25maWd1cmVSZWFkaW5nQ2hhbmdlTm90aWZp
Y2F0aW9uc19QYXJhbXMuZW5jb2RlZFNpemUgPSBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDg7
Ci0KLSAgU2Vuc29yX0NvbmZpZ3VyZVJlYWRpbmdDaGFuZ2VOb3RpZmljYXRpb25zX1BhcmFtcy5k
ZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICB2YXIgdmFs
ID0gbmV3IFNlbnNvcl9Db25maWd1cmVSZWFkaW5nQ2hhbmdlTm90aWZpY2F0aW9uc19QYXJhbXMo
KTsKLSAgICB2YXIgbnVtYmVyT2ZCeXRlcyA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZh
ciB2ZXJzaW9uID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgcGFja2VkID0gZGVjb2Rlci5y
ZWFkVWludDgoKTsKLSAgICB2YWwuZW5hYmxlZCA9IChwYWNrZWQgPj4gMCkgJiAxID8gdHJ1ZSA6
IGZhbHNlOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAg
ZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAo
MSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICByZXR1
cm4gdmFsOwotICB9OwotCi0gIFNlbnNvcl9Db25maWd1cmVSZWFkaW5nQ2hhbmdlTm90aWZpY2F0
aW9uc19QYXJhbXMuZW5jb2RlID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAgdmFyIHBh
Y2tlZDsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKFNlbnNvcl9Db25maWd1cmVSZWFkaW5nQ2hh
bmdlTm90aWZpY2F0aW9uc19QYXJhbXMuZW5jb2RlZFNpemUpOwotICAgIGVuY29kZXIud3JpdGVV
aW50MzIoMCk7Ci0gICAgcGFja2VkID0gMDsKLSAgICBwYWNrZWQgfD0gKHZhbC5lbmFibGVkICYg
MSkgPDwgMAotICAgIGVuY29kZXIud3JpdGVVaW50OChwYWNrZWQpOwotICAgIGVuY29kZXIuc2tp
cCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVu
Y29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEp
OwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgfTsKLSAgZnVuY3Rpb24gU2Vuc29yQ2xpZW50X1Jh
aXNlRXJyb3JfUGFyYW1zKHZhbHVlcykgewotICAgIHRoaXMuaW5pdERlZmF1bHRzXygpOwotICAg
IHRoaXMuaW5pdEZpZWxkc18odmFsdWVzKTsKLSAgfQotCi0KLSAgU2Vuc29yQ2xpZW50X1JhaXNl
RXJyb3JfUGFyYW1zLnByb3RvdHlwZS5pbml0RGVmYXVsdHNfID0gZnVuY3Rpb24oKSB7Ci0gIH07
Ci0gIFNlbnNvckNsaWVudF9SYWlzZUVycm9yX1BhcmFtcy5wcm90b3R5cGUuaW5pdEZpZWxkc18g
PSBmdW5jdGlvbihmaWVsZHMpIHsKLSAgICBmb3IodmFyIGZpZWxkIGluIGZpZWxkcykgewotICAg
ICAgICBpZiAodGhpcy5oYXNPd25Qcm9wZXJ0eShmaWVsZCkpCi0gICAgICAgICAgdGhpc1tmaWVs
ZF0gPSBmaWVsZHNbZmllbGRdOwotICAgIH0KLSAgfTsKLQotICBTZW5zb3JDbGllbnRfUmFpc2VF
cnJvcl9QYXJhbXMudmFsaWRhdGUgPSBmdW5jdGlvbihtZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQp
IHsKLSAgICB2YXIgZXJyOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1
Y3RIZWFkZXIob2Zmc2V0LCBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVyciAh
PT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwot
Ci0gICAgdmFyIGtWZXJzaW9uU2l6ZXMgPSBbCi0gICAgICB7dmVyc2lvbjogMCwgbnVtQnl0ZXM6
IDh9Ci0gICAgXTsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0VmVy
c2lvbihvZmZzZXQsIGtWZXJzaW9uU2l6ZXMpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52
YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHJldHVybiB2
YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gIH07Ci0KLSAgU2Vuc29yQ2xpZW50X1Jh
aXNlRXJyb3JfUGFyYW1zLmVuY29kZWRTaXplID0gY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyAw
OwotCi0gIFNlbnNvckNsaWVudF9SYWlzZUVycm9yX1BhcmFtcy5kZWNvZGUgPSBmdW5jdGlvbihk
ZWNvZGVyKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICB2YXIgdmFsID0gbmV3IFNlbnNvckNsaWVu
dF9SYWlzZUVycm9yX1BhcmFtcygpOwotICAgIHZhciBudW1iZXJPZkJ5dGVzID0gZGVjb2Rlci5y
ZWFkVWludDMyKCk7Ci0gICAgdmFyIHZlcnNpb24gPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAg
ICByZXR1cm4gdmFsOwotICB9OwotCi0gIFNlbnNvckNsaWVudF9SYWlzZUVycm9yX1BhcmFtcy5l
bmNvZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2YWwpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIGVu
Y29kZXIud3JpdGVVaW50MzIoU2Vuc29yQ2xpZW50X1JhaXNlRXJyb3JfUGFyYW1zLmVuY29kZWRT
aXplKTsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKDApOwotICB9OwotICBmdW5jdGlvbiBTZW5z
b3JDbGllbnRfU2Vuc29yUmVhZGluZ0NoYW5nZWRfUGFyYW1zKHZhbHVlcykgewotICAgIHRoaXMu
aW5pdERlZmF1bHRzXygpOwotICAgIHRoaXMuaW5pdEZpZWxkc18odmFsdWVzKTsKLSAgfQotCi0K
LSAgU2Vuc29yQ2xpZW50X1NlbnNvclJlYWRpbmdDaGFuZ2VkX1BhcmFtcy5wcm90b3R5cGUuaW5p
dERlZmF1bHRzXyA9IGZ1bmN0aW9uKCkgewotICB9OwotICBTZW5zb3JDbGllbnRfU2Vuc29yUmVh
ZGluZ0NoYW5nZWRfUGFyYW1zLnByb3RvdHlwZS5pbml0RmllbGRzXyA9IGZ1bmN0aW9uKGZpZWxk
cykgewotICAgIGZvcih2YXIgZmllbGQgaW4gZmllbGRzKSB7Ci0gICAgICAgIGlmICh0aGlzLmhh
c093blByb3BlcnR5KGZpZWxkKSkKLSAgICAgICAgICB0aGlzW2ZpZWxkXSA9IGZpZWxkc1tmaWVs
ZF07Ci0gICAgfQotICB9OwotCi0gIFNlbnNvckNsaWVudF9TZW5zb3JSZWFkaW5nQ2hhbmdlZF9Q
YXJhbXMudmFsaWRhdGUgPSBmdW5jdGlvbihtZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsKLSAg
ICB2YXIgZXJyOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RIZWFk
ZXIob2Zmc2V0LCBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFs
aWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAg
dmFyIGtWZXJzaW9uU2l6ZXMgPSBbCi0gICAgICB7dmVyc2lvbjogMCwgbnVtQnl0ZXM6IDh9Ci0g
ICAgXTsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0VmVyc2lvbihv
ZmZzZXQsIGtWZXJzaW9uU2l6ZXMpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0
aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHJldHVybiB2YWxpZGF0
b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gIH07Ci0KLSAgU2Vuc29yQ2xpZW50X1NlbnNvclJl
YWRpbmdDaGFuZ2VkX1BhcmFtcy5lbmNvZGVkU2l6ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXpl
ICsgMDsKLQotICBTZW5zb3JDbGllbnRfU2Vuc29yUmVhZGluZ0NoYW5nZWRfUGFyYW1zLmRlY29k
ZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIHZhciB2YWwgPSBu
ZXcgU2Vuc29yQ2xpZW50X1NlbnNvclJlYWRpbmdDaGFuZ2VkX1BhcmFtcygpOwotICAgIHZhciBu
dW1iZXJPZkJ5dGVzID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFyIHZlcnNpb24gPSBk
ZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICByZXR1cm4gdmFsOwotICB9OwotCi0gIFNlbnNvckNs
aWVudF9TZW5zb3JSZWFkaW5nQ2hhbmdlZF9QYXJhbXMuZW5jb2RlID0gZnVuY3Rpb24oZW5jb2Rl
ciwgdmFsKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKFNlbnNv
ckNsaWVudF9TZW5zb3JSZWFkaW5nQ2hhbmdlZF9QYXJhbXMuZW5jb2RlZFNpemUpOwotICAgIGVu
Y29kZXIud3JpdGVVaW50MzIoMCk7Ci0gIH07Ci0gIHZhciBrU2Vuc29yX0dldERlZmF1bHRDb25m
aWd1cmF0aW9uX05hbWUgPSAwOwotICB2YXIga1NlbnNvcl9BZGRDb25maWd1cmF0aW9uX05hbWUg
PSAxOwotICB2YXIga1NlbnNvcl9SZW1vdmVDb25maWd1cmF0aW9uX05hbWUgPSAyOwotICB2YXIg
a1NlbnNvcl9TdXNwZW5kX05hbWUgPSAzOwotICB2YXIga1NlbnNvcl9SZXN1bWVfTmFtZSA9IDQ7
Ci0gIHZhciBrU2Vuc29yX0NvbmZpZ3VyZVJlYWRpbmdDaGFuZ2VOb3RpZmljYXRpb25zX05hbWUg
PSA1OwotCi0gIGZ1bmN0aW9uIFNlbnNvclB0cihoYW5kbGVPclB0ckluZm8pIHsKLSAgICB0aGlz
LnB0ciA9IG5ldyBiaW5kaW5ncy5JbnRlcmZhY2VQdHJDb250cm9sbGVyKFNlbnNvciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZU9yUHRy
SW5mbyk7Ci0gIH0KLQotICBmdW5jdGlvbiBTZW5zb3JBc3NvY2lhdGVkUHRyKGFzc29jaWF0ZWRJ
bnRlcmZhY2VQdHJJbmZvKSB7Ci0gICAgdGhpcy5wdHIgPSBuZXcgYXNzb2NpYXRlZEJpbmRpbmdz
LkFzc29jaWF0ZWRJbnRlcmZhY2VQdHJDb250cm9sbGVyKAotICAgICAgICBTZW5zb3IsIGFzc29j
aWF0ZWRJbnRlcmZhY2VQdHJJbmZvKTsKLSAgfQotCi0gIFNlbnNvckFzc29jaWF0ZWRQdHIucHJv
dG90eXBlID0KLSAgICAgIE9iamVjdC5jcmVhdGUoU2Vuc29yUHRyLnByb3RvdHlwZSk7Ci0gIFNl
bnNvckFzc29jaWF0ZWRQdHIucHJvdG90eXBlLmNvbnN0cnVjdG9yID0KLSAgICAgIFNlbnNvckFz
c29jaWF0ZWRQdHI7Ci0KLSAgZnVuY3Rpb24gU2Vuc29yUHJveHkocmVjZWl2ZXIpIHsKLSAgICB0
aGlzLnJlY2VpdmVyXyA9IHJlY2VpdmVyOwotICB9Ci0gIFNlbnNvclB0ci5wcm90b3R5cGUuZ2V0
RGVmYXVsdENvbmZpZ3VyYXRpb24gPSBmdW5jdGlvbigpIHsKLSAgICByZXR1cm4gU2Vuc29yUHJv
eHkucHJvdG90eXBlLmdldERlZmF1bHRDb25maWd1cmF0aW9uCi0gICAgICAgIC5hcHBseSh0aGlz
LnB0ci5nZXRQcm94eSgpLCBhcmd1bWVudHMpOwotICB9OwotCi0gIFNlbnNvclByb3h5LnByb3Rv
dHlwZS5nZXREZWZhdWx0Q29uZmlndXJhdGlvbiA9IGZ1bmN0aW9uKCkgewotICAgIHZhciBwYXJh
bXNfID0gbmV3IFNlbnNvcl9HZXREZWZhdWx0Q29uZmlndXJhdGlvbl9QYXJhbXMoKTsKLSAgICBy
ZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7Ci0gICAgICB2YXIg
YnVpbGRlciA9IG5ldyBjb2RlYy5NZXNzYWdlVjFCdWlsZGVyKAotICAgICAgICAgIGtTZW5zb3Jf
R2V0RGVmYXVsdENvbmZpZ3VyYXRpb25fTmFtZSwKLSAgICAgICAgICBjb2RlYy5hbGlnbihTZW5z
b3JfR2V0RGVmYXVsdENvbmZpZ3VyYXRpb25fUGFyYW1zLmVuY29kZWRTaXplKSwKLSAgICAgICAg
ICBjb2RlYy5rTWVzc2FnZUV4cGVjdHNSZXNwb25zZSwgMCk7Ci0gICAgICBidWlsZGVyLmVuY29k
ZVN0cnVjdChTZW5zb3JfR2V0RGVmYXVsdENvbmZpZ3VyYXRpb25fUGFyYW1zLCBwYXJhbXNfKTsK
LSAgICAgIHZhciBtZXNzYWdlID0gYnVpbGRlci5maW5pc2goKTsKLSAgICAgIHRoaXMucmVjZWl2
ZXJfLmFjY2VwdEFuZEV4cGVjdFJlc3BvbnNlKG1lc3NhZ2UpLnRoZW4oZnVuY3Rpb24obWVzc2Fn
ZSkgewotICAgICAgICB2YXIgcmVhZGVyID0gbmV3IGNvZGVjLk1lc3NhZ2VSZWFkZXIobWVzc2Fn
ZSk7Ci0gICAgICAgIHZhciByZXNwb25zZVBhcmFtcyA9Ci0gICAgICAgICAgICByZWFkZXIuZGVj
b2RlU3RydWN0KFNlbnNvcl9HZXREZWZhdWx0Q29uZmlndXJhdGlvbl9SZXNwb25zZVBhcmFtcyk7
Ci0gICAgICAgIHJlc29sdmUocmVzcG9uc2VQYXJhbXMpOwotICAgICAgfSkuY2F0Y2goZnVuY3Rp
b24ocmVzdWx0KSB7Ci0gICAgICAgIHJlamVjdChFcnJvcigiQ29ubmVjdGlvbiBlcnJvcjogIiAr
IHJlc3VsdCkpOwotICAgICAgfSk7Ci0gICAgfS5iaW5kKHRoaXMpKTsKLSAgfTsKLSAgU2Vuc29y
UHRyLnByb3RvdHlwZS5hZGRDb25maWd1cmF0aW9uID0gZnVuY3Rpb24oKSB7Ci0gICAgcmV0dXJu
IFNlbnNvclByb3h5LnByb3RvdHlwZS5hZGRDb25maWd1cmF0aW9uCi0gICAgICAgIC5hcHBseSh0
aGlzLnB0ci5nZXRQcm94eSgpLCBhcmd1bWVudHMpOwotICB9OwotCi0gIFNlbnNvclByb3h5LnBy
b3RvdHlwZS5hZGRDb25maWd1cmF0aW9uID0gZnVuY3Rpb24oY29uZmlndXJhdGlvbikgewotICAg
IHZhciBwYXJhbXNfID0gbmV3IFNlbnNvcl9BZGRDb25maWd1cmF0aW9uX1BhcmFtcygpOwotICAg
IHBhcmFtc18uY29uZmlndXJhdGlvbiA9IGNvbmZpZ3VyYXRpb247Ci0gICAgcmV0dXJuIG5ldyBQ
cm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewotICAgICAgdmFyIGJ1aWxkZXIgPSBu
ZXcgY29kZWMuTWVzc2FnZVYxQnVpbGRlcigKLSAgICAgICAgICBrU2Vuc29yX0FkZENvbmZpZ3Vy
YXRpb25fTmFtZSwKLSAgICAgICAgICBjb2RlYy5hbGlnbihTZW5zb3JfQWRkQ29uZmlndXJhdGlv
bl9QYXJhbXMuZW5jb2RlZFNpemUpLAotICAgICAgICAgIGNvZGVjLmtNZXNzYWdlRXhwZWN0c1Jl
c3BvbnNlLCAwKTsKLSAgICAgIGJ1aWxkZXIuZW5jb2RlU3RydWN0KFNlbnNvcl9BZGRDb25maWd1
cmF0aW9uX1BhcmFtcywgcGFyYW1zXyk7Ci0gICAgICB2YXIgbWVzc2FnZSA9IGJ1aWxkZXIuZmlu
aXNoKCk7Ci0gICAgICB0aGlzLnJlY2VpdmVyXy5hY2NlcHRBbmRFeHBlY3RSZXNwb25zZShtZXNz
YWdlKS50aGVuKGZ1bmN0aW9uKG1lc3NhZ2UpIHsKLSAgICAgICAgdmFyIHJlYWRlciA9IG5ldyBj
b2RlYy5NZXNzYWdlUmVhZGVyKG1lc3NhZ2UpOwotICAgICAgICB2YXIgcmVzcG9uc2VQYXJhbXMg
PQotICAgICAgICAgICAgcmVhZGVyLmRlY29kZVN0cnVjdChTZW5zb3JfQWRkQ29uZmlndXJhdGlv
bl9SZXNwb25zZVBhcmFtcyk7Ci0gICAgICAgIHJlc29sdmUocmVzcG9uc2VQYXJhbXMpOwotICAg
ICAgfSkuY2F0Y2goZnVuY3Rpb24ocmVzdWx0KSB7Ci0gICAgICAgIHJlamVjdChFcnJvcigiQ29u
bmVjdGlvbiBlcnJvcjogIiArIHJlc3VsdCkpOwotICAgICAgfSk7Ci0gICAgfS5iaW5kKHRoaXMp
KTsKLSAgfTsKLSAgU2Vuc29yUHRyLnByb3RvdHlwZS5yZW1vdmVDb25maWd1cmF0aW9uID0gZnVu
Y3Rpb24oKSB7Ci0gICAgcmV0dXJuIFNlbnNvclByb3h5LnByb3RvdHlwZS5yZW1vdmVDb25maWd1
cmF0aW9uCi0gICAgICAgIC5hcHBseSh0aGlzLnB0ci5nZXRQcm94eSgpLCBhcmd1bWVudHMpOwot
ICB9OwotCi0gIFNlbnNvclByb3h5LnByb3RvdHlwZS5yZW1vdmVDb25maWd1cmF0aW9uID0gZnVu
Y3Rpb24oY29uZmlndXJhdGlvbikgewotICAgIHZhciBwYXJhbXNfID0gbmV3IFNlbnNvcl9SZW1v
dmVDb25maWd1cmF0aW9uX1BhcmFtcygpOwotICAgIHBhcmFtc18uY29uZmlndXJhdGlvbiA9IGNv
bmZpZ3VyYXRpb247Ci0gICAgdmFyIGJ1aWxkZXIgPSBuZXcgY29kZWMuTWVzc2FnZVYwQnVpbGRl
cigKLSAgICAgICAga1NlbnNvcl9SZW1vdmVDb25maWd1cmF0aW9uX05hbWUsCi0gICAgICAgIGNv
ZGVjLmFsaWduKFNlbnNvcl9SZW1vdmVDb25maWd1cmF0aW9uX1BhcmFtcy5lbmNvZGVkU2l6ZSkp
OwotICAgIGJ1aWxkZXIuZW5jb2RlU3RydWN0KFNlbnNvcl9SZW1vdmVDb25maWd1cmF0aW9uX1Bh
cmFtcywgcGFyYW1zXyk7Ci0gICAgdmFyIG1lc3NhZ2UgPSBidWlsZGVyLmZpbmlzaCgpOwotICAg
IHRoaXMucmVjZWl2ZXJfLmFjY2VwdChtZXNzYWdlKTsKLSAgfTsKLSAgU2Vuc29yUHRyLnByb3Rv
dHlwZS5zdXNwZW5kID0gZnVuY3Rpb24oKSB7Ci0gICAgcmV0dXJuIFNlbnNvclByb3h5LnByb3Rv
dHlwZS5zdXNwZW5kCi0gICAgICAgIC5hcHBseSh0aGlzLnB0ci5nZXRQcm94eSgpLCBhcmd1bWVu
dHMpOwotICB9OwotCi0gIFNlbnNvclByb3h5LnByb3RvdHlwZS5zdXNwZW5kID0gZnVuY3Rpb24o
KSB7Ci0gICAgdmFyIHBhcmFtc18gPSBuZXcgU2Vuc29yX1N1c3BlbmRfUGFyYW1zKCk7Ci0gICAg
dmFyIGJ1aWxkZXIgPSBuZXcgY29kZWMuTWVzc2FnZVYwQnVpbGRlcigKLSAgICAgICAga1NlbnNv
cl9TdXNwZW5kX05hbWUsCi0gICAgICAgIGNvZGVjLmFsaWduKFNlbnNvcl9TdXNwZW5kX1BhcmFt
cy5lbmNvZGVkU2l6ZSkpOwotICAgIGJ1aWxkZXIuZW5jb2RlU3RydWN0KFNlbnNvcl9TdXNwZW5k
X1BhcmFtcywgcGFyYW1zXyk7Ci0gICAgdmFyIG1lc3NhZ2UgPSBidWlsZGVyLmZpbmlzaCgpOwot
ICAgIHRoaXMucmVjZWl2ZXJfLmFjY2VwdChtZXNzYWdlKTsKLSAgfTsKLSAgU2Vuc29yUHRyLnBy
b3RvdHlwZS5yZXN1bWUgPSBmdW5jdGlvbigpIHsKLSAgICByZXR1cm4gU2Vuc29yUHJveHkucHJv
dG90eXBlLnJlc3VtZQotICAgICAgICAuYXBwbHkodGhpcy5wdHIuZ2V0UHJveHkoKSwgYXJndW1l
bnRzKTsKLSAgfTsKLQotICBTZW5zb3JQcm94eS5wcm90b3R5cGUucmVzdW1lID0gZnVuY3Rpb24o
KSB7Ci0gICAgdmFyIHBhcmFtc18gPSBuZXcgU2Vuc29yX1Jlc3VtZV9QYXJhbXMoKTsKLSAgICB2
YXIgYnVpbGRlciA9IG5ldyBjb2RlYy5NZXNzYWdlVjBCdWlsZGVyKAotICAgICAgICBrU2Vuc29y
X1Jlc3VtZV9OYW1lLAotICAgICAgICBjb2RlYy5hbGlnbihTZW5zb3JfUmVzdW1lX1BhcmFtcy5l
bmNvZGVkU2l6ZSkpOwotICAgIGJ1aWxkZXIuZW5jb2RlU3RydWN0KFNlbnNvcl9SZXN1bWVfUGFy
YW1zLCBwYXJhbXNfKTsKLSAgICB2YXIgbWVzc2FnZSA9IGJ1aWxkZXIuZmluaXNoKCk7Ci0gICAg
dGhpcy5yZWNlaXZlcl8uYWNjZXB0KG1lc3NhZ2UpOwotICB9OwotICBTZW5zb3JQdHIucHJvdG90
eXBlLmNvbmZpZ3VyZVJlYWRpbmdDaGFuZ2VOb3RpZmljYXRpb25zID0gZnVuY3Rpb24oKSB7Ci0g
ICAgcmV0dXJuIFNlbnNvclByb3h5LnByb3RvdHlwZS5jb25maWd1cmVSZWFkaW5nQ2hhbmdlTm90
aWZpY2F0aW9ucwotICAgICAgICAuYXBwbHkodGhpcy5wdHIuZ2V0UHJveHkoKSwgYXJndW1lbnRz
KTsKLSAgfTsKLQotICBTZW5zb3JQcm94eS5wcm90b3R5cGUuY29uZmlndXJlUmVhZGluZ0NoYW5n
ZU5vdGlmaWNhdGlvbnMgPSBmdW5jdGlvbihlbmFibGVkKSB7Ci0gICAgdmFyIHBhcmFtc18gPSBu
ZXcgU2Vuc29yX0NvbmZpZ3VyZVJlYWRpbmdDaGFuZ2VOb3RpZmljYXRpb25zX1BhcmFtcygpOwot
ICAgIHBhcmFtc18uZW5hYmxlZCA9IGVuYWJsZWQ7Ci0gICAgdmFyIGJ1aWxkZXIgPSBuZXcgY29k
ZWMuTWVzc2FnZVYwQnVpbGRlcigKLSAgICAgICAga1NlbnNvcl9Db25maWd1cmVSZWFkaW5nQ2hh
bmdlTm90aWZpY2F0aW9uc19OYW1lLAotICAgICAgICBjb2RlYy5hbGlnbihTZW5zb3JfQ29uZmln
dXJlUmVhZGluZ0NoYW5nZU5vdGlmaWNhdGlvbnNfUGFyYW1zLmVuY29kZWRTaXplKSk7Ci0gICAg
YnVpbGRlci5lbmNvZGVTdHJ1Y3QoU2Vuc29yX0NvbmZpZ3VyZVJlYWRpbmdDaGFuZ2VOb3RpZmlj
YXRpb25zX1BhcmFtcywgcGFyYW1zXyk7Ci0gICAgdmFyIG1lc3NhZ2UgPSBidWlsZGVyLmZpbmlz
aCgpOwotICAgIHRoaXMucmVjZWl2ZXJfLmFjY2VwdChtZXNzYWdlKTsKLSAgfTsKLQotICBmdW5j
dGlvbiBTZW5zb3JTdHViKGRlbGVnYXRlKSB7Ci0gICAgdGhpcy5kZWxlZ2F0ZV8gPSBkZWxlZ2F0
ZTsKLSAgfQotICBTZW5zb3JTdHViLnByb3RvdHlwZS5nZXREZWZhdWx0Q29uZmlndXJhdGlvbiA9
IGZ1bmN0aW9uKCkgewotICAgIHJldHVybiB0aGlzLmRlbGVnYXRlXyAmJiB0aGlzLmRlbGVnYXRl
Xy5nZXREZWZhdWx0Q29uZmlndXJhdGlvbiAmJiB0aGlzLmRlbGVnYXRlXy5nZXREZWZhdWx0Q29u
ZmlndXJhdGlvbigpOwotICB9Ci0gIFNlbnNvclN0dWIucHJvdG90eXBlLmFkZENvbmZpZ3VyYXRp
b24gPSBmdW5jdGlvbihjb25maWd1cmF0aW9uKSB7Ci0gICAgcmV0dXJuIHRoaXMuZGVsZWdhdGVf
ICYmIHRoaXMuZGVsZWdhdGVfLmFkZENvbmZpZ3VyYXRpb24gJiYgdGhpcy5kZWxlZ2F0ZV8uYWRk
Q29uZmlndXJhdGlvbihjb25maWd1cmF0aW9uKTsKLSAgfQotICBTZW5zb3JTdHViLnByb3RvdHlw
ZS5yZW1vdmVDb25maWd1cmF0aW9uID0gZnVuY3Rpb24oY29uZmlndXJhdGlvbikgewotICAgIHJl
dHVybiB0aGlzLmRlbGVnYXRlXyAmJiB0aGlzLmRlbGVnYXRlXy5yZW1vdmVDb25maWd1cmF0aW9u
ICYmIHRoaXMuZGVsZWdhdGVfLnJlbW92ZUNvbmZpZ3VyYXRpb24oY29uZmlndXJhdGlvbik7Ci0g
IH0KLSAgU2Vuc29yU3R1Yi5wcm90b3R5cGUuc3VzcGVuZCA9IGZ1bmN0aW9uKCkgewotICAgIHJl
dHVybiB0aGlzLmRlbGVnYXRlXyAmJiB0aGlzLmRlbGVnYXRlXy5zdXNwZW5kICYmIHRoaXMuZGVs
ZWdhdGVfLnN1c3BlbmQoKTsKLSAgfQotICBTZW5zb3JTdHViLnByb3RvdHlwZS5yZXN1bWUgPSBm
dW5jdGlvbigpIHsKLSAgICByZXR1cm4gdGhpcy5kZWxlZ2F0ZV8gJiYgdGhpcy5kZWxlZ2F0ZV8u
cmVzdW1lICYmIHRoaXMuZGVsZWdhdGVfLnJlc3VtZSgpOwotICB9Ci0gIFNlbnNvclN0dWIucHJv
dG90eXBlLmNvbmZpZ3VyZVJlYWRpbmdDaGFuZ2VOb3RpZmljYXRpb25zID0gZnVuY3Rpb24oZW5h
YmxlZCkgewotICAgIHJldHVybiB0aGlzLmRlbGVnYXRlXyAmJiB0aGlzLmRlbGVnYXRlXy5jb25m
aWd1cmVSZWFkaW5nQ2hhbmdlTm90aWZpY2F0aW9ucyAmJiB0aGlzLmRlbGVnYXRlXy5jb25maWd1
cmVSZWFkaW5nQ2hhbmdlTm90aWZpY2F0aW9ucyhlbmFibGVkKTsKLSAgfQotCi0gIFNlbnNvclN0
dWIucHJvdG90eXBlLmFjY2VwdCA9IGZ1bmN0aW9uKG1lc3NhZ2UpIHsKLSAgICB2YXIgcmVhZGVy
ID0gbmV3IGNvZGVjLk1lc3NhZ2VSZWFkZXIobWVzc2FnZSk7Ci0gICAgc3dpdGNoIChyZWFkZXIu
bWVzc2FnZU5hbWUpIHsKLSAgICBjYXNlIGtTZW5zb3JfUmVtb3ZlQ29uZmlndXJhdGlvbl9OYW1l
OgotICAgICAgdmFyIHBhcmFtcyA9IHJlYWRlci5kZWNvZGVTdHJ1Y3QoU2Vuc29yX1JlbW92ZUNv
bmZpZ3VyYXRpb25fUGFyYW1zKTsKLSAgICAgIHRoaXMucmVtb3ZlQ29uZmlndXJhdGlvbihwYXJh
bXMuY29uZmlndXJhdGlvbik7Ci0gICAgICByZXR1cm4gdHJ1ZTsKLSAgICBjYXNlIGtTZW5zb3Jf
U3VzcGVuZF9OYW1lOgotICAgICAgdmFyIHBhcmFtcyA9IHJlYWRlci5kZWNvZGVTdHJ1Y3QoU2Vu
c29yX1N1c3BlbmRfUGFyYW1zKTsKLSAgICAgIHRoaXMuc3VzcGVuZCgpOwotICAgICAgcmV0dXJu
IHRydWU7Ci0gICAgY2FzZSBrU2Vuc29yX1Jlc3VtZV9OYW1lOgotICAgICAgdmFyIHBhcmFtcyA9
IHJlYWRlci5kZWNvZGVTdHJ1Y3QoU2Vuc29yX1Jlc3VtZV9QYXJhbXMpOwotICAgICAgdGhpcy5y
ZXN1bWUoKTsKLSAgICAgIHJldHVybiB0cnVlOwotICAgIGNhc2Uga1NlbnNvcl9Db25maWd1cmVS
ZWFkaW5nQ2hhbmdlTm90aWZpY2F0aW9uc19OYW1lOgotICAgICAgdmFyIHBhcmFtcyA9IHJlYWRl
ci5kZWNvZGVTdHJ1Y3QoU2Vuc29yX0NvbmZpZ3VyZVJlYWRpbmdDaGFuZ2VOb3RpZmljYXRpb25z
X1BhcmFtcyk7Ci0gICAgICB0aGlzLmNvbmZpZ3VyZVJlYWRpbmdDaGFuZ2VOb3RpZmljYXRpb25z
KHBhcmFtcy5lbmFibGVkKTsKLSAgICAgIHJldHVybiB0cnVlOwotICAgIGRlZmF1bHQ6Ci0gICAg
ICByZXR1cm4gZmFsc2U7Ci0gICAgfQotICB9OwotCi0gIFNlbnNvclN0dWIucHJvdG90eXBlLmFj
Y2VwdFdpdGhSZXNwb25kZXIgPQotICAgICAgZnVuY3Rpb24obWVzc2FnZSwgcmVzcG9uZGVyKSB7
Ci0gICAgdmFyIHJlYWRlciA9IG5ldyBjb2RlYy5NZXNzYWdlUmVhZGVyKG1lc3NhZ2UpOwotICAg
IHN3aXRjaCAocmVhZGVyLm1lc3NhZ2VOYW1lKSB7Ci0gICAgY2FzZSBrU2Vuc29yX0dldERlZmF1
bHRDb25maWd1cmF0aW9uX05hbWU6Ci0gICAgICB2YXIgcGFyYW1zID0gcmVhZGVyLmRlY29kZVN0
cnVjdChTZW5zb3JfR2V0RGVmYXVsdENvbmZpZ3VyYXRpb25fUGFyYW1zKTsKLSAgICAgIHRoaXMu
Z2V0RGVmYXVsdENvbmZpZ3VyYXRpb24oKS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAg
ICAgIHZhciByZXNwb25zZVBhcmFtcyA9Ci0gICAgICAgICAgICBuZXcgU2Vuc29yX0dldERlZmF1
bHRDb25maWd1cmF0aW9uX1Jlc3BvbnNlUGFyYW1zKCk7Ci0gICAgICAgIHJlc3BvbnNlUGFyYW1z
LmNvbmZpZ3VyYXRpb24gPSByZXNwb25zZS5jb25maWd1cmF0aW9uOwotICAgICAgICB2YXIgYnVp
bGRlciA9IG5ldyBjb2RlYy5NZXNzYWdlVjFCdWlsZGVyKAotICAgICAgICAgICAga1NlbnNvcl9H
ZXREZWZhdWx0Q29uZmlndXJhdGlvbl9OYW1lLAotICAgICAgICAgICAgY29kZWMuYWxpZ24oU2Vu
c29yX0dldERlZmF1bHRDb25maWd1cmF0aW9uX1Jlc3BvbnNlUGFyYW1zLmVuY29kZWRTaXplKSwK
LSAgICAgICAgICAgIGNvZGVjLmtNZXNzYWdlSXNSZXNwb25zZSwgcmVhZGVyLnJlcXVlc3RJRCk7
Ci0gICAgICAgIGJ1aWxkZXIuZW5jb2RlU3RydWN0KFNlbnNvcl9HZXREZWZhdWx0Q29uZmlndXJh
dGlvbl9SZXNwb25zZVBhcmFtcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzcG9u
c2VQYXJhbXMpOwotICAgICAgICB2YXIgbWVzc2FnZSA9IGJ1aWxkZXIuZmluaXNoKCk7Ci0gICAg
ICAgIHJlc3BvbmRlci5hY2NlcHQobWVzc2FnZSk7Ci0gICAgICB9KTsKLSAgICAgIHJldHVybiB0
cnVlOwotICAgIGNhc2Uga1NlbnNvcl9BZGRDb25maWd1cmF0aW9uX05hbWU6Ci0gICAgICB2YXIg
cGFyYW1zID0gcmVhZGVyLmRlY29kZVN0cnVjdChTZW5zb3JfQWRkQ29uZmlndXJhdGlvbl9QYXJh
bXMpOwotICAgICAgdGhpcy5hZGRDb25maWd1cmF0aW9uKHBhcmFtcy5jb25maWd1cmF0aW9uKS50
aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgICAgIHZhciByZXNwb25zZVBhcmFtcyA9Ci0g
ICAgICAgICAgICBuZXcgU2Vuc29yX0FkZENvbmZpZ3VyYXRpb25fUmVzcG9uc2VQYXJhbXMoKTsK
LSAgICAgICAgcmVzcG9uc2VQYXJhbXMuc3VjY2VzcyA9IHJlc3BvbnNlLnN1Y2Nlc3M7Ci0gICAg
ICAgIHZhciBidWlsZGVyID0gbmV3IGNvZGVjLk1lc3NhZ2VWMUJ1aWxkZXIoCi0gICAgICAgICAg
ICBrU2Vuc29yX0FkZENvbmZpZ3VyYXRpb25fTmFtZSwKLSAgICAgICAgICAgIGNvZGVjLmFsaWdu
KFNlbnNvcl9BZGRDb25maWd1cmF0aW9uX1Jlc3BvbnNlUGFyYW1zLmVuY29kZWRTaXplKSwKLSAg
ICAgICAgICAgIGNvZGVjLmtNZXNzYWdlSXNSZXNwb25zZSwgcmVhZGVyLnJlcXVlc3RJRCk7Ci0g
ICAgICAgIGJ1aWxkZXIuZW5jb2RlU3RydWN0KFNlbnNvcl9BZGRDb25maWd1cmF0aW9uX1Jlc3Bv
bnNlUGFyYW1zLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNwb25zZVBhcmFtcyk7
Ci0gICAgICAgIHZhciBtZXNzYWdlID0gYnVpbGRlci5maW5pc2goKTsKLSAgICAgICAgcmVzcG9u
ZGVyLmFjY2VwdChtZXNzYWdlKTsKLSAgICAgIH0pOwotICAgICAgcmV0dXJuIHRydWU7Ci0gICAg
ZGVmYXVsdDoKLSAgICAgIHJldHVybiBmYWxzZTsKLSAgICB9Ci0gIH07Ci0KLSAgZnVuY3Rpb24g
dmFsaWRhdGVTZW5zb3JSZXF1ZXN0KG1lc3NhZ2VWYWxpZGF0b3IpIHsKLSAgICB2YXIgbWVzc2Fn
ZSA9IG1lc3NhZ2VWYWxpZGF0b3IubWVzc2FnZTsKLSAgICB2YXIgcGFyYW1zQ2xhc3MgPSBudWxs
OwotICAgIHN3aXRjaCAobWVzc2FnZS5nZXROYW1lKCkpIHsKLSAgICAgIGNhc2Uga1NlbnNvcl9H
ZXREZWZhdWx0Q29uZmlndXJhdGlvbl9OYW1lOgotICAgICAgICBpZiAobWVzc2FnZS5leHBlY3Rz
UmVzcG9uc2UoKSkKLSAgICAgICAgICBwYXJhbXNDbGFzcyA9IFNlbnNvcl9HZXREZWZhdWx0Q29u
ZmlndXJhdGlvbl9QYXJhbXM7Ci0gICAgICBicmVhazsKLSAgICAgIGNhc2Uga1NlbnNvcl9BZGRD
b25maWd1cmF0aW9uX05hbWU6Ci0gICAgICAgIGlmIChtZXNzYWdlLmV4cGVjdHNSZXNwb25zZSgp
KQotICAgICAgICAgIHBhcmFtc0NsYXNzID0gU2Vuc29yX0FkZENvbmZpZ3VyYXRpb25fUGFyYW1z
OwotICAgICAgYnJlYWs7Ci0gICAgICBjYXNlIGtTZW5zb3JfUmVtb3ZlQ29uZmlndXJhdGlvbl9O
YW1lOgotICAgICAgICBpZiAoIW1lc3NhZ2UuZXhwZWN0c1Jlc3BvbnNlKCkgJiYgIW1lc3NhZ2Uu
aXNSZXNwb25zZSgpKQotICAgICAgICAgIHBhcmFtc0NsYXNzID0gU2Vuc29yX1JlbW92ZUNvbmZp
Z3VyYXRpb25fUGFyYW1zOwotICAgICAgYnJlYWs7Ci0gICAgICBjYXNlIGtTZW5zb3JfU3VzcGVu
ZF9OYW1lOgotICAgICAgICBpZiAoIW1lc3NhZ2UuZXhwZWN0c1Jlc3BvbnNlKCkgJiYgIW1lc3Nh
Z2UuaXNSZXNwb25zZSgpKQotICAgICAgICAgIHBhcmFtc0NsYXNzID0gU2Vuc29yX1N1c3BlbmRf
UGFyYW1zOwotICAgICAgYnJlYWs7Ci0gICAgICBjYXNlIGtTZW5zb3JfUmVzdW1lX05hbWU6Ci0g
ICAgICAgIGlmICghbWVzc2FnZS5leHBlY3RzUmVzcG9uc2UoKSAmJiAhbWVzc2FnZS5pc1Jlc3Bv
bnNlKCkpCi0gICAgICAgICAgcGFyYW1zQ2xhc3MgPSBTZW5zb3JfUmVzdW1lX1BhcmFtczsKLSAg
ICAgIGJyZWFrOwotICAgICAgY2FzZSBrU2Vuc29yX0NvbmZpZ3VyZVJlYWRpbmdDaGFuZ2VOb3Rp
ZmljYXRpb25zX05hbWU6Ci0gICAgICAgIGlmICghbWVzc2FnZS5leHBlY3RzUmVzcG9uc2UoKSAm
JiAhbWVzc2FnZS5pc1Jlc3BvbnNlKCkpCi0gICAgICAgICAgcGFyYW1zQ2xhc3MgPSBTZW5zb3Jf
Q29uZmlndXJlUmVhZGluZ0NoYW5nZU5vdGlmaWNhdGlvbnNfUGFyYW1zOwotICAgICAgYnJlYWs7
Ci0gICAgfQotICAgIGlmIChwYXJhbXNDbGFzcyA9PT0gbnVsbCkKLSAgICAgIHJldHVybiB2YWxp
ZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gICAgcmV0dXJuIHBhcmFtc0NsYXNzLnZhbGlk
YXRlKG1lc3NhZ2VWYWxpZGF0b3IsIG1lc3NhZ2VWYWxpZGF0b3IubWVzc2FnZS5nZXRIZWFkZXJO
dW1CeXRlcygpKTsKLSAgfQotCi0gIGZ1bmN0aW9uIHZhbGlkYXRlU2Vuc29yUmVzcG9uc2UobWVz
c2FnZVZhbGlkYXRvcikgewotICAgdmFyIG1lc3NhZ2UgPSBtZXNzYWdlVmFsaWRhdG9yLm1lc3Nh
Z2U7Ci0gICB2YXIgcGFyYW1zQ2xhc3MgPSBudWxsOwotICAgc3dpdGNoIChtZXNzYWdlLmdldE5h
bWUoKSkgewotICAgICAgY2FzZSBrU2Vuc29yX0dldERlZmF1bHRDb25maWd1cmF0aW9uX05hbWU6
Ci0gICAgICAgIGlmIChtZXNzYWdlLmlzUmVzcG9uc2UoKSkKLSAgICAgICAgICBwYXJhbXNDbGFz
cyA9IFNlbnNvcl9HZXREZWZhdWx0Q29uZmlndXJhdGlvbl9SZXNwb25zZVBhcmFtczsKLSAgICAg
ICAgYnJlYWs7Ci0gICAgICBjYXNlIGtTZW5zb3JfQWRkQ29uZmlndXJhdGlvbl9OYW1lOgotICAg
ICAgICBpZiAobWVzc2FnZS5pc1Jlc3BvbnNlKCkpCi0gICAgICAgICAgcGFyYW1zQ2xhc3MgPSBT
ZW5zb3JfQWRkQ29uZmlndXJhdGlvbl9SZXNwb25zZVBhcmFtczsKLSAgICAgICAgYnJlYWs7Ci0g
ICAgfQotICAgIGlmIChwYXJhbXNDbGFzcyA9PT0gbnVsbCkKLSAgICAgIHJldHVybiB2YWxpZGF0
b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gICAgcmV0dXJuIHBhcmFtc0NsYXNzLnZhbGlkYXRl
KG1lc3NhZ2VWYWxpZGF0b3IsIG1lc3NhZ2VWYWxpZGF0b3IubWVzc2FnZS5nZXRIZWFkZXJOdW1C
eXRlcygpKTsKLSAgfQotCi0gIHZhciBTZW5zb3IgPSB7Ci0gICAgbmFtZTogJ2RldmljZS5tb2pv
bS5TZW5zb3InLAotICAgIGtWZXJzaW9uOiAwLAotICAgIHB0ckNsYXNzOiBTZW5zb3JQdHIsCi0g
ICAgcHJveHlDbGFzczogU2Vuc29yUHJveHksCi0gICAgc3R1YkNsYXNzOiBTZW5zb3JTdHViLAot
ICAgIHZhbGlkYXRlUmVxdWVzdDogdmFsaWRhdGVTZW5zb3JSZXF1ZXN0LAotICAgIHZhbGlkYXRl
UmVzcG9uc2U6IHZhbGlkYXRlU2Vuc29yUmVzcG9uc2UsCi0gIH07Ci0gIFNlbnNvclN0dWIucHJv
dG90eXBlLnZhbGlkYXRvciA9IHZhbGlkYXRlU2Vuc29yUmVxdWVzdDsKLSAgU2Vuc29yUHJveHku
cHJvdG90eXBlLnZhbGlkYXRvciA9IHZhbGlkYXRlU2Vuc29yUmVzcG9uc2U7Ci0gIHZhciBrU2Vu
c29yQ2xpZW50X1JhaXNlRXJyb3JfTmFtZSA9IDA7Ci0gIHZhciBrU2Vuc29yQ2xpZW50X1NlbnNv
clJlYWRpbmdDaGFuZ2VkX05hbWUgPSAxOwotCi0gIGZ1bmN0aW9uIFNlbnNvckNsaWVudFB0ciho
YW5kbGVPclB0ckluZm8pIHsKLSAgICB0aGlzLnB0ciA9IG5ldyBiaW5kaW5ncy5JbnRlcmZhY2VQ
dHJDb250cm9sbGVyKFNlbnNvckNsaWVudCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZU9yUHRySW5mbyk7Ci0gIH0KLQotICBmdW5jdGlv
biBTZW5zb3JDbGllbnRBc3NvY2lhdGVkUHRyKGFzc29jaWF0ZWRJbnRlcmZhY2VQdHJJbmZvKSB7
Ci0gICAgdGhpcy5wdHIgPSBuZXcgYXNzb2NpYXRlZEJpbmRpbmdzLkFzc29jaWF0ZWRJbnRlcmZh
Y2VQdHJDb250cm9sbGVyKAotICAgICAgICBTZW5zb3JDbGllbnQsIGFzc29jaWF0ZWRJbnRlcmZh
Y2VQdHJJbmZvKTsKLSAgfQotCi0gIFNlbnNvckNsaWVudEFzc29jaWF0ZWRQdHIucHJvdG90eXBl
ID0KLSAgICAgIE9iamVjdC5jcmVhdGUoU2Vuc29yQ2xpZW50UHRyLnByb3RvdHlwZSk7Ci0gIFNl
bnNvckNsaWVudEFzc29jaWF0ZWRQdHIucHJvdG90eXBlLmNvbnN0cnVjdG9yID0KLSAgICAgIFNl
bnNvckNsaWVudEFzc29jaWF0ZWRQdHI7Ci0KLSAgZnVuY3Rpb24gU2Vuc29yQ2xpZW50UHJveHko
cmVjZWl2ZXIpIHsKLSAgICB0aGlzLnJlY2VpdmVyXyA9IHJlY2VpdmVyOwotICB9Ci0gIFNlbnNv
ckNsaWVudFB0ci5wcm90b3R5cGUucmFpc2VFcnJvciA9IGZ1bmN0aW9uKCkgewotICAgIHJldHVy
biBTZW5zb3JDbGllbnRQcm94eS5wcm90b3R5cGUucmFpc2VFcnJvcgotICAgICAgICAuYXBwbHko
dGhpcy5wdHIuZ2V0UHJveHkoKSwgYXJndW1lbnRzKTsKLSAgfTsKLQotICBTZW5zb3JDbGllbnRQ
cm94eS5wcm90b3R5cGUucmFpc2VFcnJvciA9IGZ1bmN0aW9uKCkgewotICAgIHZhciBwYXJhbXNf
ID0gbmV3IFNlbnNvckNsaWVudF9SYWlzZUVycm9yX1BhcmFtcygpOwotICAgIHZhciBidWlsZGVy
ID0gbmV3IGNvZGVjLk1lc3NhZ2VWMEJ1aWxkZXIoCi0gICAgICAgIGtTZW5zb3JDbGllbnRfUmFp
c2VFcnJvcl9OYW1lLAotICAgICAgICBjb2RlYy5hbGlnbihTZW5zb3JDbGllbnRfUmFpc2VFcnJv
cl9QYXJhbXMuZW5jb2RlZFNpemUpKTsKLSAgICBidWlsZGVyLmVuY29kZVN0cnVjdChTZW5zb3JD
bGllbnRfUmFpc2VFcnJvcl9QYXJhbXMsIHBhcmFtc18pOwotICAgIHZhciBtZXNzYWdlID0gYnVp
bGRlci5maW5pc2goKTsKLSAgICB0aGlzLnJlY2VpdmVyXy5hY2NlcHQobWVzc2FnZSk7Ci0gIH07
Ci0gIFNlbnNvckNsaWVudFB0ci5wcm90b3R5cGUuc2Vuc29yUmVhZGluZ0NoYW5nZWQgPSBmdW5j
dGlvbigpIHsKLSAgICByZXR1cm4gU2Vuc29yQ2xpZW50UHJveHkucHJvdG90eXBlLnNlbnNvclJl
YWRpbmdDaGFuZ2VkCi0gICAgICAgIC5hcHBseSh0aGlzLnB0ci5nZXRQcm94eSgpLCBhcmd1bWVu
dHMpOwotICB9OwotCi0gIFNlbnNvckNsaWVudFByb3h5LnByb3RvdHlwZS5zZW5zb3JSZWFkaW5n
Q2hhbmdlZCA9IGZ1bmN0aW9uKCkgewotICAgIHZhciBwYXJhbXNfID0gbmV3IFNlbnNvckNsaWVu
dF9TZW5zb3JSZWFkaW5nQ2hhbmdlZF9QYXJhbXMoKTsKLSAgICB2YXIgYnVpbGRlciA9IG5ldyBj
b2RlYy5NZXNzYWdlVjBCdWlsZGVyKAotICAgICAgICBrU2Vuc29yQ2xpZW50X1NlbnNvclJlYWRp
bmdDaGFuZ2VkX05hbWUsCi0gICAgICAgIGNvZGVjLmFsaWduKFNlbnNvckNsaWVudF9TZW5zb3JS
ZWFkaW5nQ2hhbmdlZF9QYXJhbXMuZW5jb2RlZFNpemUpKTsKLSAgICBidWlsZGVyLmVuY29kZVN0
cnVjdChTZW5zb3JDbGllbnRfU2Vuc29yUmVhZGluZ0NoYW5nZWRfUGFyYW1zLCBwYXJhbXNfKTsK
LSAgICB2YXIgbWVzc2FnZSA9IGJ1aWxkZXIuZmluaXNoKCk7Ci0gICAgdGhpcy5yZWNlaXZlcl8u
YWNjZXB0KG1lc3NhZ2UpOwotICB9OwotCi0gIGZ1bmN0aW9uIFNlbnNvckNsaWVudFN0dWIoZGVs
ZWdhdGUpIHsKLSAgICB0aGlzLmRlbGVnYXRlXyA9IGRlbGVnYXRlOwotICB9Ci0gIFNlbnNvckNs
aWVudFN0dWIucHJvdG90eXBlLnJhaXNlRXJyb3IgPSBmdW5jdGlvbigpIHsKLSAgICByZXR1cm4g
dGhpcy5kZWxlZ2F0ZV8gJiYgdGhpcy5kZWxlZ2F0ZV8ucmFpc2VFcnJvciAmJiB0aGlzLmRlbGVn
YXRlXy5yYWlzZUVycm9yKCk7Ci0gIH0KLSAgU2Vuc29yQ2xpZW50U3R1Yi5wcm90b3R5cGUuc2Vu
c29yUmVhZGluZ0NoYW5nZWQgPSBmdW5jdGlvbigpIHsKLSAgICByZXR1cm4gdGhpcy5kZWxlZ2F0
ZV8gJiYgdGhpcy5kZWxlZ2F0ZV8uc2Vuc29yUmVhZGluZ0NoYW5nZWQgJiYgdGhpcy5kZWxlZ2F0
ZV8uc2Vuc29yUmVhZGluZ0NoYW5nZWQoKTsKLSAgfQotCi0gIFNlbnNvckNsaWVudFN0dWIucHJv
dG90eXBlLmFjY2VwdCA9IGZ1bmN0aW9uKG1lc3NhZ2UpIHsKLSAgICB2YXIgcmVhZGVyID0gbmV3
IGNvZGVjLk1lc3NhZ2VSZWFkZXIobWVzc2FnZSk7Ci0gICAgc3dpdGNoIChyZWFkZXIubWVzc2Fn
ZU5hbWUpIHsKLSAgICBjYXNlIGtTZW5zb3JDbGllbnRfUmFpc2VFcnJvcl9OYW1lOgotICAgICAg
dmFyIHBhcmFtcyA9IHJlYWRlci5kZWNvZGVTdHJ1Y3QoU2Vuc29yQ2xpZW50X1JhaXNlRXJyb3Jf
UGFyYW1zKTsKLSAgICAgIHRoaXMucmFpc2VFcnJvcigpOwotICAgICAgcmV0dXJuIHRydWU7Ci0g
ICAgY2FzZSBrU2Vuc29yQ2xpZW50X1NlbnNvclJlYWRpbmdDaGFuZ2VkX05hbWU6Ci0gICAgICB2
YXIgcGFyYW1zID0gcmVhZGVyLmRlY29kZVN0cnVjdChTZW5zb3JDbGllbnRfU2Vuc29yUmVhZGlu
Z0NoYW5nZWRfUGFyYW1zKTsKLSAgICAgIHRoaXMuc2Vuc29yUmVhZGluZ0NoYW5nZWQoKTsKLSAg
ICAgIHJldHVybiB0cnVlOwotICAgIGRlZmF1bHQ6Ci0gICAgICByZXR1cm4gZmFsc2U7Ci0gICAg
fQotICB9OwotCi0gIFNlbnNvckNsaWVudFN0dWIucHJvdG90eXBlLmFjY2VwdFdpdGhSZXNwb25k
ZXIgPQotICAgICAgZnVuY3Rpb24obWVzc2FnZSwgcmVzcG9uZGVyKSB7Ci0gICAgdmFyIHJlYWRl
ciA9IG5ldyBjb2RlYy5NZXNzYWdlUmVhZGVyKG1lc3NhZ2UpOwotICAgIHN3aXRjaCAocmVhZGVy
Lm1lc3NhZ2VOYW1lKSB7Ci0gICAgZGVmYXVsdDoKLSAgICAgIHJldHVybiBmYWxzZTsKLSAgICB9
Ci0gIH07Ci0KLSAgZnVuY3Rpb24gdmFsaWRhdGVTZW5zb3JDbGllbnRSZXF1ZXN0KG1lc3NhZ2VW
YWxpZGF0b3IpIHsKLSAgICB2YXIgbWVzc2FnZSA9IG1lc3NhZ2VWYWxpZGF0b3IubWVzc2FnZTsK
LSAgICB2YXIgcGFyYW1zQ2xhc3MgPSBudWxsOwotICAgIHN3aXRjaCAobWVzc2FnZS5nZXROYW1l
KCkpIHsKLSAgICAgIGNhc2Uga1NlbnNvckNsaWVudF9SYWlzZUVycm9yX05hbWU6Ci0gICAgICAg
IGlmICghbWVzc2FnZS5leHBlY3RzUmVzcG9uc2UoKSAmJiAhbWVzc2FnZS5pc1Jlc3BvbnNlKCkp
Ci0gICAgICAgICAgcGFyYW1zQ2xhc3MgPSBTZW5zb3JDbGllbnRfUmFpc2VFcnJvcl9QYXJhbXM7
Ci0gICAgICBicmVhazsKLSAgICAgIGNhc2Uga1NlbnNvckNsaWVudF9TZW5zb3JSZWFkaW5nQ2hh
bmdlZF9OYW1lOgotICAgICAgICBpZiAoIW1lc3NhZ2UuZXhwZWN0c1Jlc3BvbnNlKCkgJiYgIW1l
c3NhZ2UuaXNSZXNwb25zZSgpKQotICAgICAgICAgIHBhcmFtc0NsYXNzID0gU2Vuc29yQ2xpZW50
X1NlbnNvclJlYWRpbmdDaGFuZ2VkX1BhcmFtczsKLSAgICAgIGJyZWFrOwotICAgIH0KLSAgICBp
ZiAocGFyYW1zQ2xhc3MgPT09IG51bGwpCi0gICAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRp
b25FcnJvci5OT05FOwotICAgIHJldHVybiBwYXJhbXNDbGFzcy52YWxpZGF0ZShtZXNzYWdlVmFs
aWRhdG9yLCBtZXNzYWdlVmFsaWRhdG9yLm1lc3NhZ2UuZ2V0SGVhZGVyTnVtQnl0ZXMoKSk7Ci0g
IH0KLQotICBmdW5jdGlvbiB2YWxpZGF0ZVNlbnNvckNsaWVudFJlc3BvbnNlKG1lc3NhZ2VWYWxp
ZGF0b3IpIHsKLSAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwotICB9
Ci0KLSAgdmFyIFNlbnNvckNsaWVudCA9IHsKLSAgICBuYW1lOiAnZGV2aWNlLm1vam9tLlNlbnNv
ckNsaWVudCcsCi0gICAga1ZlcnNpb246IDAsCi0gICAgcHRyQ2xhc3M6IFNlbnNvckNsaWVudFB0
ciwKLSAgICBwcm94eUNsYXNzOiBTZW5zb3JDbGllbnRQcm94eSwKLSAgICBzdHViQ2xhc3M6IFNl
bnNvckNsaWVudFN0dWIsCi0gICAgdmFsaWRhdGVSZXF1ZXN0OiB2YWxpZGF0ZVNlbnNvckNsaWVu
dFJlcXVlc3QsCi0gICAgdmFsaWRhdGVSZXNwb25zZTogbnVsbCwKLSAgfTsKLSAgU2Vuc29yQ2xp
ZW50U3R1Yi5wcm90b3R5cGUudmFsaWRhdG9yID0gdmFsaWRhdGVTZW5zb3JDbGllbnRSZXF1ZXN0
OwotICBTZW5zb3JDbGllbnRQcm94eS5wcm90b3R5cGUudmFsaWRhdG9yID0gbnVsbDsKLSAgZXhw
b3J0cy5TZW5zb3JUeXBlID0gU2Vuc29yVHlwZTsKLSAgZXhwb3J0cy5SZXBvcnRpbmdNb2RlID0g
UmVwb3J0aW5nTW9kZTsKLSAgZXhwb3J0cy5TZW5zb3JDb25maWd1cmF0aW9uID0gU2Vuc29yQ29u
ZmlndXJhdGlvbjsKLSAgZXhwb3J0cy5TZW5zb3IgPSBTZW5zb3I7Ci0gIGV4cG9ydHMuU2Vuc29y
UHRyID0gU2Vuc29yUHRyOwotICBleHBvcnRzLlNlbnNvckFzc29jaWF0ZWRQdHIgPSBTZW5zb3JB
c3NvY2lhdGVkUHRyOwotICBleHBvcnRzLlNlbnNvckNsaWVudCA9IFNlbnNvckNsaWVudDsKLSAg
ZXhwb3J0cy5TZW5zb3JDbGllbnRQdHIgPSBTZW5zb3JDbGllbnRQdHI7Ci0gIGV4cG9ydHMuU2Vu
c29yQ2xpZW50QXNzb2NpYXRlZFB0ciA9IFNlbnNvckNsaWVudEFzc29jaWF0ZWRQdHI7Ci19KSgp
OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL3NlbnNvcl9w
cm92aWRlci5tb2pvbS5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL3NlbnNvcl9wcm92aWRlci5tb2pvbS5qcwpkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDgyYjE1YTMwNGEuLjAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9t
aXVtL3NlbnNvcl9wcm92aWRlci5tb2pvbS5qcworKysgL2Rldi9udWxsCkBAIC0xLDQyOSArMCww
IEBACi0vLyBDb3B5cmlnaHQgMjAxNCBUaGUgQ2hyb21pdW0gQXV0aG9ycy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KLS8vIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNE
LXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKLS8vIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUu
Ci0KLSd1c2Ugc3RyaWN0JzsKLQotKGZ1bmN0aW9uKCkgewotICB2YXIgbW9qb21JZCA9ICdzZXJ2
aWNlcy9kZXZpY2UvcHVibGljL21vam9tL3NlbnNvcl9wcm92aWRlci5tb2pvbSc7Ci0gIGlmICht
b2pvLmludGVybmFsLmlzTW9qb21Mb2FkZWQobW9qb21JZCkpIHsKLSAgICBjb25zb2xlLndhcm4o
J1RoZSBmb2xsb3dpbmcgbW9qb20gaXMgbG9hZGVkIG11bHRpcGxlIHRpbWVzOiAnICsgbW9qb21J
ZCk7Ci0gICAgcmV0dXJuOwotICB9Ci0gIG1vam8uaW50ZXJuYWwubWFya01vam9tTG9hZGVkKG1v
am9tSWQpOwotICB2YXIgYmluZGluZ3MgPSBtb2pvOwotICB2YXIgYXNzb2NpYXRlZEJpbmRpbmdz
ID0gbW9qbzsKLSAgdmFyIGNvZGVjID0gbW9qby5pbnRlcm5hbDsKLSAgdmFyIHZhbGlkYXRvciA9
IG1vam8uaW50ZXJuYWw7Ci0KLSAgdmFyIGV4cG9ydHMgPSBtb2pvLmludGVybmFsLmV4cG9zZU5h
bWVzcGFjZSgnZGV2aWNlLm1vam9tJyk7Ci0gIHZhciBzZW5zb3IkID0KLSAgICAgIG1vam8uaW50
ZXJuYWwuZXhwb3NlTmFtZXNwYWNlKCdkZXZpY2UubW9qb20nKTsKLSAgaWYgKG1vam8uY29uZmln
LmF1dG9Mb2FkTW9qb21EZXBzKSB7Ci0gICAgbW9qby5pbnRlcm5hbC5sb2FkTW9qb21JZk5lY2Vz
c2FyeSgKLSAgICAgICAgJ3NlcnZpY2VzL2RldmljZS9wdWJsaWMvbW9qb20vc2Vuc29yLm1vam9t
JywgJ3NlbnNvci5tb2pvbS5qcycpOwotICB9Ci0KLQotICB2YXIgU2Vuc29yQ3JlYXRpb25SZXN1
bHQgPSB7fTsKLSAgU2Vuc29yQ3JlYXRpb25SZXN1bHQuU1VDQ0VTUyA9IDA7Ci0gIFNlbnNvckNy
ZWF0aW9uUmVzdWx0LkVSUk9SX05PVF9BVkFJTEFCTEUgPSBTZW5zb3JDcmVhdGlvblJlc3VsdC5T
VUNDRVNTICsgMTsKLSAgU2Vuc29yQ3JlYXRpb25SZXN1bHQuRVJST1JfTk9UX0FMTE9XRUQgPSBT
ZW5zb3JDcmVhdGlvblJlc3VsdC5FUlJPUl9OT1RfQVZBSUxBQkxFICsgMTsKLQotICBTZW5zb3JD
cmVhdGlvblJlc3VsdC5pc0tub3duRW51bVZhbHVlID0gZnVuY3Rpb24odmFsdWUpIHsKLSAgICBz
d2l0Y2ggKHZhbHVlKSB7Ci0gICAgY2FzZSAwOgotICAgIGNhc2UgMToKLSAgICBjYXNlIDI6Ci0g
ICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9Ci0gICAgcmV0dXJuIGZhbHNlOwotICB9OwotCi0gIFNl
bnNvckNyZWF0aW9uUmVzdWx0LnZhbGlkYXRlID0gZnVuY3Rpb24oZW51bVZhbHVlKSB7Ci0gICAg
dmFyIGlzRXh0ZW5zaWJsZSA9IGZhbHNlOwotICAgIGlmIChpc0V4dGVuc2libGUgfHwgdGhpcy5p
c0tub3duRW51bVZhbHVlKGVudW1WYWx1ZSkpCi0gICAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlk
YXRpb25FcnJvci5OT05FOwotCi0gICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3Iu
VU5LTk9XTl9FTlVNX1ZBTFVFOwotICB9OwotCi0gIGZ1bmN0aW9uIFNlbnNvckluaXRQYXJhbXMo
dmFsdWVzKSB7Ci0gICAgdGhpcy5pbml0RGVmYXVsdHNfKCk7Ci0gICAgdGhpcy5pbml0RmllbGRz
Xyh2YWx1ZXMpOwotICB9Ci0KLQotICBTZW5zb3JJbml0UGFyYW1zLmtSZWFkQnVmZmVyU2l6ZUZv
clRlc3RzID0gNDg7Ci0gIFNlbnNvckluaXRQYXJhbXMucHJvdG90eXBlLmluaXREZWZhdWx0c18g
PSBmdW5jdGlvbigpIHsKLSAgICB0aGlzLnNlbnNvciA9IG5ldyBzZW5zb3IkLlNlbnNvclB0cigp
OwotICAgIHRoaXMuY2xpZW50UmVjZWl2ZXIgPSBuZXcgYmluZGluZ3MuSW50ZXJmYWNlUmVxdWVz
dCgpOwotICAgIHRoaXMubWVtb3J5ID0gbnVsbDsKLSAgICB0aGlzLmJ1ZmZlck9mZnNldCA9IDA7
Ci0gICAgdGhpcy5tb2RlID0gMDsKLSAgICB0aGlzLmRlZmF1bHRDb25maWd1cmF0aW9uID0gbnVs
bDsKLSAgICB0aGlzLm1heGltdW1GcmVxdWVuY3kgPSAwOwotICAgIHRoaXMubWluaW11bUZyZXF1
ZW5jeSA9IDA7Ci0gIH07Ci0gIFNlbnNvckluaXRQYXJhbXMucHJvdG90eXBlLmluaXRGaWVsZHNf
ID0gZnVuY3Rpb24oZmllbGRzKSB7Ci0gICAgZm9yKHZhciBmaWVsZCBpbiBmaWVsZHMpIHsKLSAg
ICAgICAgaWYgKHRoaXMuaGFzT3duUHJvcGVydHkoZmllbGQpKQotICAgICAgICAgIHRoaXNbZmll
bGRdID0gZmllbGRzW2ZpZWxkXTsKLSAgICB9Ci0gIH07Ci0KLSAgU2Vuc29ySW5pdFBhcmFtcy52
YWxpZGF0ZSA9IGZ1bmN0aW9uKG1lc3NhZ2VWYWxpZGF0b3IsIG9mZnNldCkgewotICAgIHZhciBl
cnI7Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdEhlYWRlcihvZmZz
ZXQsIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3Iu
dmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICB2YXIga1Zl
cnNpb25TaXplcyA9IFsKLSAgICAgIHt2ZXJzaW9uOiAwLCBudW1CeXRlczogNjR9Ci0gICAgXTsK
LSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0VmVyc2lvbihvZmZzZXQs
IGtWZXJzaW9uU2l6ZXMpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJy
b3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0gICAgLy8gdmFsaWRhdGUgU2Vuc29y
SW5pdFBhcmFtcy5zZW5zb3IKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlSW50
ZXJmYWNlKG9mZnNldCArIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgMCwgZmFsc2UpOwotICAg
IGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0
dXJuIGVycjsKLQotCi0gICAgLy8gdmFsaWRhdGUgU2Vuc29ySW5pdFBhcmFtcy5jbGllbnRSZWNl
aXZlcgotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVJbnRlcmZhY2VSZXF1ZXN0
KG9mZnNldCArIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgOCwgZmFsc2UpCi0gICAgaWYgKGVy
ciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJy
OwotCi0KLSAgICAvLyB2YWxpZGF0ZSBTZW5zb3JJbml0UGFyYW1zLm1lbW9yeQotICAgIGVyciA9
IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVIYW5kbGUob2Zmc2V0ICsgY29kZWMua1N0cnVjdEhl
YWRlclNpemUgKyAxMiwgZmFsc2UpCi0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRp
b25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0KLQotICAgIC8vIHZhbGlkYXRl
IFNlbnNvckluaXRQYXJhbXMubW9kZQotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRh
dGVFbnVtKG9mZnNldCArIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgMjQsIHNlbnNvciQuUmVw
b3J0aW5nTW9kZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5O
T05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0KLSAgICAvLyB2YWxpZGF0ZSBTZW5zb3JJbml0
UGFyYW1zLmRlZmF1bHRDb25maWd1cmF0aW9uCi0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52
YWxpZGF0ZVN0cnVjdFBvaW50ZXIob2Zmc2V0ICsgY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyAz
Miwgc2Vuc29yJC5TZW5zb3JDb25maWd1cmF0aW9uLCBmYWxzZSk7Ci0gICAgaWYgKGVyciAhPT0g
dmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0K
LQotICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gIH07Ci0KLSAg
U2Vuc29ySW5pdFBhcmFtcy5lbmNvZGVkU2l6ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsg
NTY7Ci0KLSAgU2Vuc29ySW5pdFBhcmFtcy5kZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0g
ICAgdmFyIHBhY2tlZDsKLSAgICB2YXIgdmFsID0gbmV3IFNlbnNvckluaXRQYXJhbXMoKTsKLSAg
ICB2YXIgbnVtYmVyT2ZCeXRlcyA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhciB2ZXJz
aW9uID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFsLnNlbnNvciA9IGRlY29kZXIuZGVj
b2RlU3RydWN0KG5ldyBjb2RlYy5JbnRlcmZhY2Uoc2Vuc29yJC5TZW5zb3JQdHIpKTsKLSAgICB2
YWwuY2xpZW50UmVjZWl2ZXIgPSBkZWNvZGVyLmRlY29kZVN0cnVjdChjb2RlYy5JbnRlcmZhY2VS
ZXF1ZXN0KTsKLSAgICB2YWwubWVtb3J5ID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoY29kZWMuSGFu
ZGxlKTsKLSAgICB2YWwuYnVmZmVyT2Zmc2V0ID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoY29kZWMu
VWludDY0KTsKLSAgICB2YWwubW9kZSA9IGRlY29kZXIuZGVjb2RlU3RydWN0KGNvZGVjLkludDMy
KTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29k
ZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgdmFsLmRlZmF1bHRDb25maWd1
cmF0aW9uID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3RQb2ludGVyKHNlbnNvciQuU2Vuc29yQ29uZmln
dXJhdGlvbik7Ci0gICAgdmFsLm1heGltdW1GcmVxdWVuY3kgPSBkZWNvZGVyLmRlY29kZVN0cnVj
dChjb2RlYy5Eb3VibGUpOwotICAgIHZhbC5taW5pbXVtRnJlcXVlbmN5ID0gZGVjb2Rlci5kZWNv
ZGVTdHJ1Y3QoY29kZWMuRG91YmxlKTsKLSAgICByZXR1cm4gdmFsOwotICB9OwotCi0gIFNlbnNv
ckluaXRQYXJhbXMuZW5jb2RlID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAgdmFyIHBh
Y2tlZDsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKFNlbnNvckluaXRQYXJhbXMuZW5jb2RlZFNp
emUpOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoMCk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1
Y3QobmV3IGNvZGVjLkludGVyZmFjZShzZW5zb3IkLlNlbnNvclB0ciksIHZhbC5zZW5zb3IpOwot
ICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNvZGVjLkludGVyZmFjZVJlcXVlc3QsIHZhbC5jbGll
bnRSZWNlaXZlcik7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3QoY29kZWMuSGFuZGxlLCB2YWwu
bWVtb3J5KTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdChjb2RlYy5VaW50NjQsIHZhbC5idWZm
ZXJPZmZzZXQpOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNvZGVjLkludDMyLCB2YWwubW9k
ZSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNv
ZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuZW5jb2RlU3Ry
dWN0UG9pbnRlcihzZW5zb3IkLlNlbnNvckNvbmZpZ3VyYXRpb24sIHZhbC5kZWZhdWx0Q29uZmln
dXJhdGlvbik7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3QoY29kZWMuRG91YmxlLCB2YWwubWF4
aW11bUZyZXF1ZW5jeSk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3QoY29kZWMuRG91YmxlLCB2
YWwubWluaW11bUZyZXF1ZW5jeSk7Ci0gIH07Ci0gIGZ1bmN0aW9uIFNlbnNvclByb3ZpZGVyX0dl
dFNlbnNvcl9QYXJhbXModmFsdWVzKSB7Ci0gICAgdGhpcy5pbml0RGVmYXVsdHNfKCk7Ci0gICAg
dGhpcy5pbml0RmllbGRzXyh2YWx1ZXMpOwotICB9Ci0KLQotICBTZW5zb3JQcm92aWRlcl9HZXRT
ZW5zb3JfUGFyYW1zLnByb3RvdHlwZS5pbml0RGVmYXVsdHNfID0gZnVuY3Rpb24oKSB7Ci0gICAg
dGhpcy50eXBlID0gMDsKLSAgfTsKLSAgU2Vuc29yUHJvdmlkZXJfR2V0U2Vuc29yX1BhcmFtcy5w
cm90b3R5cGUuaW5pdEZpZWxkc18gPSBmdW5jdGlvbihmaWVsZHMpIHsKLSAgICBmb3IodmFyIGZp
ZWxkIGluIGZpZWxkcykgewotICAgICAgICBpZiAodGhpcy5oYXNPd25Qcm9wZXJ0eShmaWVsZCkp
Ci0gICAgICAgICAgdGhpc1tmaWVsZF0gPSBmaWVsZHNbZmllbGRdOwotICAgIH0KLSAgfTsKLQot
ICBTZW5zb3JQcm92aWRlcl9HZXRTZW5zb3JfUGFyYW1zLnZhbGlkYXRlID0gZnVuY3Rpb24obWVz
c2FnZVZhbGlkYXRvciwgb2Zmc2V0KSB7Ci0gICAgdmFyIGVycjsKLSAgICBlcnIgPSBtZXNzYWdl
VmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0SGVhZGVyKG9mZnNldCwgY29kZWMua1N0cnVjdEhlYWRl
clNpemUpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkK
LSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHZhciBrVmVyc2lvblNpemVzID0gWwotICAgICAg
e3ZlcnNpb246IDAsIG51bUJ5dGVzOiAxNn0KLSAgICBdOwotICAgIGVyciA9IG1lc3NhZ2VWYWxp
ZGF0b3IudmFsaWRhdGVTdHJ1Y3RWZXJzaW9uKG9mZnNldCwga1ZlcnNpb25TaXplcyk7Ci0gICAg
aWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1
cm4gZXJyOwotCi0KLSAgICAvLyB2YWxpZGF0ZSBTZW5zb3JQcm92aWRlcl9HZXRTZW5zb3JfUGFy
YW1zLnR5cGUKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlRW51bShvZmZzZXQg
KyBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDAsIHNlbnNvciQuU2Vuc29yVHlwZSk7Ci0gICAg
aWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1
cm4gZXJyOwotCi0gICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAg
fTsKLQotICBTZW5zb3JQcm92aWRlcl9HZXRTZW5zb3JfUGFyYW1zLmVuY29kZWRTaXplID0gY29k
ZWMua1N0cnVjdEhlYWRlclNpemUgKyA4OwotCi0gIFNlbnNvclByb3ZpZGVyX0dldFNlbnNvcl9Q
YXJhbXMuZGVjb2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHZhciBwYWNrZWQ7Ci0gICAg
dmFyIHZhbCA9IG5ldyBTZW5zb3JQcm92aWRlcl9HZXRTZW5zb3JfUGFyYW1zKCk7Ci0gICAgdmFy
IG51bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YXIgdmVyc2lvbiA9
IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhbC50eXBlID0gZGVjb2Rlci5kZWNvZGVTdHJ1
Y3QoY29kZWMuSW50MzIpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAo
MSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICByZXR1
cm4gdmFsOwotICB9OwotCi0gIFNlbnNvclByb3ZpZGVyX0dldFNlbnNvcl9QYXJhbXMuZW5jb2Rl
ID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICBlbmNvZGVy
LndyaXRlVWludDMyKFNlbnNvclByb3ZpZGVyX0dldFNlbnNvcl9QYXJhbXMuZW5jb2RlZFNpemUp
OwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoMCk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3Qo
Y29kZWMuSW50MzIsIHZhbC50eXBlKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rl
ci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0g
IH07Ci0gIGZ1bmN0aW9uIFNlbnNvclByb3ZpZGVyX0dldFNlbnNvcl9SZXNwb25zZVBhcmFtcyh2
YWx1ZXMpIHsKLSAgICB0aGlzLmluaXREZWZhdWx0c18oKTsKLSAgICB0aGlzLmluaXRGaWVsZHNf
KHZhbHVlcyk7Ci0gIH0KLQotCi0gIFNlbnNvclByb3ZpZGVyX0dldFNlbnNvcl9SZXNwb25zZVBh
cmFtcy5wcm90b3R5cGUuaW5pdERlZmF1bHRzXyA9IGZ1bmN0aW9uKCkgewotICAgIHRoaXMucmVz
dWx0ID0gMDsKLSAgICB0aGlzLmluaXRQYXJhbXMgPSBudWxsOwotICB9OwotICBTZW5zb3JQcm92
aWRlcl9HZXRTZW5zb3JfUmVzcG9uc2VQYXJhbXMucHJvdG90eXBlLmluaXRGaWVsZHNfID0gZnVu
Y3Rpb24oZmllbGRzKSB7Ci0gICAgZm9yKHZhciBmaWVsZCBpbiBmaWVsZHMpIHsKLSAgICAgICAg
aWYgKHRoaXMuaGFzT3duUHJvcGVydHkoZmllbGQpKQotICAgICAgICAgIHRoaXNbZmllbGRdID0g
ZmllbGRzW2ZpZWxkXTsKLSAgICB9Ci0gIH07Ci0KLSAgU2Vuc29yUHJvdmlkZXJfR2V0U2Vuc29y
X1Jlc3BvbnNlUGFyYW1zLnZhbGlkYXRlID0gZnVuY3Rpb24obWVzc2FnZVZhbGlkYXRvciwgb2Zm
c2V0KSB7Ci0gICAgdmFyIGVycjsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRl
U3RydWN0SGVhZGVyKG9mZnNldCwgY29kZWMua1N0cnVjdEhlYWRlclNpemUpOwotICAgIGlmIChl
cnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVy
cjsKLQotICAgIHZhciBrVmVyc2lvblNpemVzID0gWwotICAgICAge3ZlcnNpb246IDAsIG51bUJ5
dGVzOiAyNH0KLSAgICBdOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1
Y3RWZXJzaW9uKG9mZnNldCwga1ZlcnNpb25TaXplcyk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRh
dG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0KLSAgICAv
LyB2YWxpZGF0ZSBTZW5zb3JQcm92aWRlcl9HZXRTZW5zb3JfUmVzcG9uc2VQYXJhbXMucmVzdWx0
Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZUVudW0ob2Zmc2V0ICsgY29kZWMu
a1N0cnVjdEhlYWRlclNpemUgKyAwLCBTZW5zb3JDcmVhdGlvblJlc3VsdCk7Ci0gICAgaWYgKGVy
ciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJy
OwotCi0KLSAgICAvLyB2YWxpZGF0ZSBTZW5zb3JQcm92aWRlcl9HZXRTZW5zb3JfUmVzcG9uc2VQ
YXJhbXMuaW5pdFBhcmFtcwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1
Y3RQb2ludGVyKG9mZnNldCArIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgOCwgU2Vuc29ySW5p
dFBhcmFtcywgdHJ1ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJv
ci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgcmV0dXJuIHZhbGlkYXRvci52YWxp
ZGF0aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQotICBTZW5zb3JQcm92aWRlcl9HZXRTZW5zb3JfUmVz
cG9uc2VQYXJhbXMuZW5jb2RlZFNpemUgPSBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDE2Owot
Ci0gIFNlbnNvclByb3ZpZGVyX0dldFNlbnNvcl9SZXNwb25zZVBhcmFtcy5kZWNvZGUgPSBmdW5j
dGlvbihkZWNvZGVyKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICB2YXIgdmFsID0gbmV3IFNlbnNv
clByb3ZpZGVyX0dldFNlbnNvcl9SZXNwb25zZVBhcmFtcygpOwotICAgIHZhciBudW1iZXJPZkJ5
dGVzID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFyIHZlcnNpb24gPSBkZWNvZGVyLnJl
YWRVaW50MzIoKTsKLSAgICB2YWwucmVzdWx0ID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoY29kZWMu
SW50MzIpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAg
ZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICB2YWwuaW5pdFBhcmFt
cyA9IGRlY29kZXIuZGVjb2RlU3RydWN0UG9pbnRlcihTZW5zb3JJbml0UGFyYW1zKTsKLSAgICBy
ZXR1cm4gdmFsOwotICB9OwotCi0gIFNlbnNvclByb3ZpZGVyX0dldFNlbnNvcl9SZXNwb25zZVBh
cmFtcy5lbmNvZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2YWwpIHsKLSAgICB2YXIgcGFja2VkOwot
ICAgIGVuY29kZXIud3JpdGVVaW50MzIoU2Vuc29yUHJvdmlkZXJfR2V0U2Vuc29yX1Jlc3BvbnNl
UGFyYW1zLmVuY29kZWRTaXplKTsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKDApOwotICAgIGVu
Y29kZXIuZW5jb2RlU3RydWN0KGNvZGVjLkludDMyLCB2YWwucmVzdWx0KTsKLSAgICBlbmNvZGVy
LnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAg
ICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3RQb2ludGVyKFNlbnNv
ckluaXRQYXJhbXMsIHZhbC5pbml0UGFyYW1zKTsKLSAgfTsKLSAgdmFyIGtTZW5zb3JQcm92aWRl
cl9HZXRTZW5zb3JfTmFtZSA9IDA7Ci0KLSAgZnVuY3Rpb24gU2Vuc29yUHJvdmlkZXJQdHIoaGFu
ZGxlT3JQdHJJbmZvKSB7Ci0gICAgdGhpcy5wdHIgPSBuZXcgYmluZGluZ3MuSW50ZXJmYWNlUHRy
Q29udHJvbGxlcihTZW5zb3JQcm92aWRlciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZU9yUHRySW5mbyk7Ci0gIH0KLQotICBmdW5jdGlv
biBTZW5zb3JQcm92aWRlckFzc29jaWF0ZWRQdHIoYXNzb2NpYXRlZEludGVyZmFjZVB0ckluZm8p
IHsKLSAgICB0aGlzLnB0ciA9IG5ldyBhc3NvY2lhdGVkQmluZGluZ3MuQXNzb2NpYXRlZEludGVy
ZmFjZVB0ckNvbnRyb2xsZXIoCi0gICAgICAgIFNlbnNvclByb3ZpZGVyLCBhc3NvY2lhdGVkSW50
ZXJmYWNlUHRySW5mbyk7Ci0gIH0KLQotICBTZW5zb3JQcm92aWRlckFzc29jaWF0ZWRQdHIucHJv
dG90eXBlID0KLSAgICAgIE9iamVjdC5jcmVhdGUoU2Vuc29yUHJvdmlkZXJQdHIucHJvdG90eXBl
KTsKLSAgU2Vuc29yUHJvdmlkZXJBc3NvY2lhdGVkUHRyLnByb3RvdHlwZS5jb25zdHJ1Y3RvciA9
Ci0gICAgICBTZW5zb3JQcm92aWRlckFzc29jaWF0ZWRQdHI7Ci0KLSAgZnVuY3Rpb24gU2Vuc29y
UHJvdmlkZXJQcm94eShyZWNlaXZlcikgewotICAgIHRoaXMucmVjZWl2ZXJfID0gcmVjZWl2ZXI7
Ci0gIH0KLSAgU2Vuc29yUHJvdmlkZXJQdHIucHJvdG90eXBlLmdldFNlbnNvciA9IGZ1bmN0aW9u
KCkgewotICAgIHJldHVybiBTZW5zb3JQcm92aWRlclByb3h5LnByb3RvdHlwZS5nZXRTZW5zb3IK
LSAgICAgICAgLmFwcGx5KHRoaXMucHRyLmdldFByb3h5KCksIGFyZ3VtZW50cyk7Ci0gIH07Ci0K
LSAgU2Vuc29yUHJvdmlkZXJQcm94eS5wcm90b3R5cGUuZ2V0U2Vuc29yID0gZnVuY3Rpb24odHlw
ZSkgewotICAgIHZhciBwYXJhbXMgPSBuZXcgU2Vuc29yUHJvdmlkZXJfR2V0U2Vuc29yX1BhcmFt
cygpOwotICAgIHBhcmFtcy50eXBlID0gdHlwZTsKLSAgICByZXR1cm4gbmV3IFByb21pc2UoZnVu
Y3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7Ci0gICAgICB2YXIgYnVpbGRlciA9IG5ldyBjb2RlYy5N
ZXNzYWdlVjFCdWlsZGVyKAotICAgICAgICAgIGtTZW5zb3JQcm92aWRlcl9HZXRTZW5zb3JfTmFt
ZSwKLSAgICAgICAgICBjb2RlYy5hbGlnbihTZW5zb3JQcm92aWRlcl9HZXRTZW5zb3JfUGFyYW1z
LmVuY29kZWRTaXplKSwKLSAgICAgICAgICBjb2RlYy5rTWVzc2FnZUV4cGVjdHNSZXNwb25zZSwg
MCk7Ci0gICAgICBidWlsZGVyLmVuY29kZVN0cnVjdChTZW5zb3JQcm92aWRlcl9HZXRTZW5zb3Jf
UGFyYW1zLCBwYXJhbXMpOwotICAgICAgdmFyIG1lc3NhZ2UgPSBidWlsZGVyLmZpbmlzaCgpOwot
ICAgICAgdGhpcy5yZWNlaXZlcl8uYWNjZXB0QW5kRXhwZWN0UmVzcG9uc2UobWVzc2FnZSkudGhl
bihmdW5jdGlvbihtZXNzYWdlKSB7Ci0gICAgICAgIHZhciByZWFkZXIgPSBuZXcgY29kZWMuTWVz
c2FnZVJlYWRlcihtZXNzYWdlKTsKLSAgICAgICAgdmFyIHJlc3BvbnNlUGFyYW1zID0KLSAgICAg
ICAgICAgIHJlYWRlci5kZWNvZGVTdHJ1Y3QoU2Vuc29yUHJvdmlkZXJfR2V0U2Vuc29yX1Jlc3Bv
bnNlUGFyYW1zKTsKLSAgICAgICAgcmVzb2x2ZShyZXNwb25zZVBhcmFtcyk7Ci0gICAgICB9KS5j
YXRjaChmdW5jdGlvbihyZXN1bHQpIHsKLSAgICAgICAgcmVqZWN0KEVycm9yKCJDb25uZWN0aW9u
IGVycm9yOiAiICsgcmVzdWx0KSk7Ci0gICAgICB9KTsKLSAgICB9LmJpbmQodGhpcykpOwotICB9
OwotCi0gIGZ1bmN0aW9uIFNlbnNvclByb3ZpZGVyU3R1YihkZWxlZ2F0ZSkgewotICAgIHRoaXMu
ZGVsZWdhdGVfID0gZGVsZWdhdGU7Ci0gIH0KLSAgU2Vuc29yUHJvdmlkZXJTdHViLnByb3RvdHlw
ZS5nZXRTZW5zb3IgPSBmdW5jdGlvbih0eXBlKSB7Ci0gICAgcmV0dXJuIHRoaXMuZGVsZWdhdGVf
ICYmIHRoaXMuZGVsZWdhdGVfLmdldFNlbnNvciAmJiB0aGlzLmRlbGVnYXRlXy5nZXRTZW5zb3Io
dHlwZSk7Ci0gIH0KLQotICBTZW5zb3JQcm92aWRlclN0dWIucHJvdG90eXBlLmFjY2VwdCA9IGZ1
bmN0aW9uKG1lc3NhZ2UpIHsKLSAgICB2YXIgcmVhZGVyID0gbmV3IGNvZGVjLk1lc3NhZ2VSZWFk
ZXIobWVzc2FnZSk7Ci0gICAgc3dpdGNoIChyZWFkZXIubWVzc2FnZU5hbWUpIHsKLSAgICBkZWZh
dWx0OgotICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0KLSAgfTsKLQotICBTZW5zb3JQcm92aWRl
clN0dWIucHJvdG90eXBlLmFjY2VwdFdpdGhSZXNwb25kZXIgPQotICAgICAgZnVuY3Rpb24obWVz
c2FnZSwgcmVzcG9uZGVyKSB7Ci0gICAgdmFyIHJlYWRlciA9IG5ldyBjb2RlYy5NZXNzYWdlUmVh
ZGVyKG1lc3NhZ2UpOwotICAgIHN3aXRjaCAocmVhZGVyLm1lc3NhZ2VOYW1lKSB7Ci0gICAgY2Fz
ZSBrU2Vuc29yUHJvdmlkZXJfR2V0U2Vuc29yX05hbWU6Ci0gICAgICB2YXIgcGFyYW1zID0gcmVh
ZGVyLmRlY29kZVN0cnVjdChTZW5zb3JQcm92aWRlcl9HZXRTZW5zb3JfUGFyYW1zKTsKLSAgICAg
IHRoaXMuZ2V0U2Vuc29yKHBhcmFtcy50eXBlKS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0g
ICAgICAgIHZhciByZXNwb25zZVBhcmFtcyA9Ci0gICAgICAgICAgICBuZXcgU2Vuc29yUHJvdmlk
ZXJfR2V0U2Vuc29yX1Jlc3BvbnNlUGFyYW1zKCk7Ci0gICAgICAgIHJlc3BvbnNlUGFyYW1zLnJl
c3VsdCA9IHJlc3BvbnNlLnJlc3VsdDsKLSAgICAgICAgcmVzcG9uc2VQYXJhbXMuaW5pdFBhcmFt
cyA9IHJlc3BvbnNlLmluaXRQYXJhbXM7Ci0gICAgICAgIHZhciBidWlsZGVyID0gbmV3IGNvZGVj
Lk1lc3NhZ2VWMUJ1aWxkZXIoCi0gICAgICAgICAgICBrU2Vuc29yUHJvdmlkZXJfR2V0U2Vuc29y
X05hbWUsCi0gICAgICAgICAgICBjb2RlYy5hbGlnbihTZW5zb3JQcm92aWRlcl9HZXRTZW5zb3Jf
UmVzcG9uc2VQYXJhbXMuZW5jb2RlZFNpemUpLAotICAgICAgICAgICAgY29kZWMua01lc3NhZ2VJ
c1Jlc3BvbnNlLCByZWFkZXIucmVxdWVzdElEKTsKLSAgICAgICAgYnVpbGRlci5lbmNvZGVTdHJ1
Y3QoU2Vuc29yUHJvdmlkZXJfR2V0U2Vuc29yX1Jlc3BvbnNlUGFyYW1zLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICByZXNwb25zZVBhcmFtcyk7Ci0gICAgICAgIHZhciBtZXNzYWdlID0g
YnVpbGRlci5maW5pc2goKTsKLSAgICAgICAgcmVzcG9uZGVyLmFjY2VwdChtZXNzYWdlKTsKLSAg
ICAgIH0pOwotICAgICAgcmV0dXJuIHRydWU7Ci0gICAgZGVmYXVsdDoKLSAgICAgIHJldHVybiBm
YWxzZTsKLSAgICB9Ci0gIH07Ci0KLSAgZnVuY3Rpb24gdmFsaWRhdGVTZW5zb3JQcm92aWRlclJl
cXVlc3QobWVzc2FnZVZhbGlkYXRvcikgewotICAgIHZhciBtZXNzYWdlID0gbWVzc2FnZVZhbGlk
YXRvci5tZXNzYWdlOwotICAgIHZhciBwYXJhbXNDbGFzcyA9IG51bGw7Ci0gICAgc3dpdGNoICht
ZXNzYWdlLmdldE5hbWUoKSkgewotICAgICAgY2FzZSBrU2Vuc29yUHJvdmlkZXJfR2V0U2Vuc29y
X05hbWU6Ci0gICAgICAgIGlmIChtZXNzYWdlLmV4cGVjdHNSZXNwb25zZSgpKQotICAgICAgICAg
IHBhcmFtc0NsYXNzID0gU2Vuc29yUHJvdmlkZXJfR2V0U2Vuc29yX1BhcmFtczsKLSAgICAgIGJy
ZWFrOwotICAgIH0KLSAgICBpZiAocGFyYW1zQ2xhc3MgPT09IG51bGwpCi0gICAgICByZXR1cm4g
dmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwotICAgIHJldHVybiBwYXJhbXNDbGFzcy52
YWxpZGF0ZShtZXNzYWdlVmFsaWRhdG9yLCBtZXNzYWdlVmFsaWRhdG9yLm1lc3NhZ2UuZ2V0SGVh
ZGVyTnVtQnl0ZXMoKSk7Ci0gIH0KLQotICBmdW5jdGlvbiB2YWxpZGF0ZVNlbnNvclByb3ZpZGVy
UmVzcG9uc2UobWVzc2FnZVZhbGlkYXRvcikgewotICAgdmFyIG1lc3NhZ2UgPSBtZXNzYWdlVmFs
aWRhdG9yLm1lc3NhZ2U7Ci0gICB2YXIgcGFyYW1zQ2xhc3MgPSBudWxsOwotICAgc3dpdGNoICht
ZXNzYWdlLmdldE5hbWUoKSkgewotICAgICAgY2FzZSBrU2Vuc29yUHJvdmlkZXJfR2V0U2Vuc29y
X05hbWU6Ci0gICAgICAgIGlmIChtZXNzYWdlLmlzUmVzcG9uc2UoKSkKLSAgICAgICAgICBwYXJh
bXNDbGFzcyA9IFNlbnNvclByb3ZpZGVyX0dldFNlbnNvcl9SZXNwb25zZVBhcmFtczsKLSAgICAg
ICAgYnJlYWs7Ci0gICAgfQotICAgIGlmIChwYXJhbXNDbGFzcyA9PT0gbnVsbCkKLSAgICAgIHJl
dHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gICAgcmV0dXJuIHBhcmFtc0Ns
YXNzLnZhbGlkYXRlKG1lc3NhZ2VWYWxpZGF0b3IsIG1lc3NhZ2VWYWxpZGF0b3IubWVzc2FnZS5n
ZXRIZWFkZXJOdW1CeXRlcygpKTsKLSAgfQotCi0gIHZhciBTZW5zb3JQcm92aWRlciA9IHsKLSAg
ICBuYW1lOiAnZGV2aWNlLm1vam9tLlNlbnNvclByb3ZpZGVyJywKLSAgICBrVmVyc2lvbjogMCwK
LSAgICBwdHJDbGFzczogU2Vuc29yUHJvdmlkZXJQdHIsCi0gICAgcHJveHlDbGFzczogU2Vuc29y
UHJvdmlkZXJQcm94eSwKLSAgICBzdHViQ2xhc3M6IFNlbnNvclByb3ZpZGVyU3R1YiwKLSAgICB2
YWxpZGF0ZVJlcXVlc3Q6IHZhbGlkYXRlU2Vuc29yUHJvdmlkZXJSZXF1ZXN0LAotICAgIHZhbGlk
YXRlUmVzcG9uc2U6IHZhbGlkYXRlU2Vuc29yUHJvdmlkZXJSZXNwb25zZSwKLSAgfTsKLSAgU2Vu
c29yUHJvdmlkZXJTdHViLnByb3RvdHlwZS52YWxpZGF0b3IgPSB2YWxpZGF0ZVNlbnNvclByb3Zp
ZGVyUmVxdWVzdDsKLSAgU2Vuc29yUHJvdmlkZXJQcm94eS5wcm90b3R5cGUudmFsaWRhdG9yID0g
dmFsaWRhdGVTZW5zb3JQcm92aWRlclJlc3BvbnNlOwotICBleHBvcnRzLlNlbnNvckNyZWF0aW9u
UmVzdWx0ID0gU2Vuc29yQ3JlYXRpb25SZXN1bHQ7Ci0gIGV4cG9ydHMuU2Vuc29ySW5pdFBhcmFt
cyA9IFNlbnNvckluaXRQYXJhbXM7Ci0gIGV4cG9ydHMuU2Vuc29yUHJvdmlkZXIgPSBTZW5zb3JQ
cm92aWRlcjsKLSAgZXhwb3J0cy5TZW5zb3JQcm92aWRlclB0ciA9IFNlbnNvclByb3ZpZGVyUHRy
OwotICBleHBvcnRzLlNlbnNvclByb3ZpZGVyQXNzb2NpYXRlZFB0ciA9IFNlbnNvclByb3ZpZGVy
QXNzb2NpYXRlZFB0cjsKLX0pKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS9zbXNfbW9jay5qcyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9t
aXVtL3Ntc19tb2NrLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkODQ3NmNmMzdh
ZC4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vc21zX21vY2suanMKKysrIC9kZXYvbnVsbApAQCAt
MSw1MiArMCwwIEBACi0ndXNlIHN0cmljdCc7Ci0KLWNvbnN0IFNtc1Byb3ZpZGVyID0gKCgpID0+
IHsKLQotICBjbGFzcyBNb2NrU21zUmVjZWl2ZXIgewotCi0gICAgY29uc3RydWN0b3IoKSB7Ci0g
ICAgICB0aGlzLm1vam9SZWNlaXZlcl8gPSBuZXcgYmxpbmsubW9qb20uU21zUmVjZWl2ZXJSZWNl
aXZlcih0aGlzKTsKLQotICAgICAgdGhpcy5pbnRlcmNlcHRvcl8gPSBuZXcgTW9qb0ludGVyZmFj
ZUludGVyY2VwdG9yKAotICAgICAgICAgIGJsaW5rLm1vam9tLlNtc1JlY2VpdmVyLiRpbnRlcmZh
Y2VOYW1lLCAiY29udGV4dCIsIHRydWUpOwotCi0gICAgICB0aGlzLmludGVyY2VwdG9yXy5vbmlu
dGVyZmFjZXJlcXVlc3QgPSAoZSkgPT4gewotICAgICAgICB0aGlzLm1vam9SZWNlaXZlcl8uJC5i
aW5kSGFuZGxlKGUuaGFuZGxlKTsKLSAgICAgIH0KLSAgICAgIHRoaXMuaW50ZXJjZXB0b3JfLnN0
YXJ0KCk7Ci0KLSAgICAgIHRoaXMucmV0dXJuVmFsdWVzXyA9IHt9OwotICAgIH0KLQotICAgIGFz
eW5jIHJlY2VpdmUoKSB7Ci0gICAgICBsZXQgY2FsbCA9IHRoaXMucmV0dXJuVmFsdWVzXy5yZWNl
aXZlID8KLSAgICAgICAgICB0aGlzLnJldHVyblZhbHVlc18ucmVjZWl2ZS5zaGlmdCgpIDogbnVs
bDsKLSAgICAgIGlmICghY2FsbCkKLSAgICAgICAgcmV0dXJuOwotICAgICAgcmV0dXJuIGNhbGwo
KTsKLSAgICB9Ci0KLSAgICBhc3luYyBhYm9ydCgpIHt9Ci0KLSAgICBwdXNoUmV0dXJuVmFsdWVz
Rm9yVGVzdGluZyhjYWxsTmFtZSwgdmFsdWUpIHsKLSAgICAgIHRoaXMucmV0dXJuVmFsdWVzX1tj
YWxsTmFtZV0gPSB0aGlzLnJldHVyblZhbHVlc19bY2FsbE5hbWVdIHx8IFtdOwotICAgICAgdGhp
cy5yZXR1cm5WYWx1ZXNfW2NhbGxOYW1lXS5wdXNoKHZhbHVlKTsKLSAgICAgIHJldHVybiB0aGlz
OwotICAgIH0KLQotICB9Ci0KLSAgY29uc3QgbW9ja1Ntc1JlY2VpdmVyID0gbmV3IE1vY2tTbXNS
ZWNlaXZlcigpOwotCi0gIGNsYXNzIFNtc1Byb3ZpZGVyQ2hyb21pdW0gewotICAgIGNvbnN0cnVj
dG9yKCkgewotICAgICAgT2JqZWN0LmZyZWV6ZSh0aGlzKTsgLy8gTWFrZSBpdCBpbW11dGFibGUu
Ci0gICAgfQotCi0gICAgcHVzaFJldHVyblZhbHVlc0ZvclRlc3RpbmcoY2FsbE5hbWUsIGNhbGxi
YWNrKSB7Ci0gICAgICBtb2NrU21zUmVjZWl2ZXIucHVzaFJldHVyblZhbHVlc0ZvclRlc3Rpbmco
Y2FsbE5hbWUsIGNhbGxiYWNrKTsKLSAgICB9Ci0gIH0KLQotICByZXR1cm4gU21zUHJvdmlkZXJD
aHJvbWl1bTsKLX0pKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS9zdHJpbmcxNi5tb2pvbS5qcyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9t
aXVtL3N0cmluZzE2Lm1vam9tLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyNTM3
N2U2NjU3MS4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vc3RyaW5nMTYubW9qb20uanMKKysrIC9k
ZXYvbnVsbApAQCAtMSwxNDEgKzAsMCBAQAotLy8gQ29weXJpZ2h0IDIwMTQgVGhlIENocm9taXVt
IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0vLyBVc2Ugb2YgdGhpcyBzb3VyY2UgY29k
ZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCi0vLyBmb3Vu
ZCBpbiB0aGUgTElDRU5TRSBmaWxlLgotCi0ndXNlIHN0cmljdCc7Ci0KLShmdW5jdGlvbigpIHsK
LSAgdmFyIG1vam9tSWQgPSAnbW9qby9wdWJsaWMvbW9qb20vYmFzZS9zdHJpbmcxNi5tb2pvbSc7
Ci0gIGlmIChtb2pvLmludGVybmFsLmlzTW9qb21Mb2FkZWQobW9qb21JZCkpIHsKLSAgICBjb25z
b2xlLndhcm4oJ1RoZSBmb2xsb3dpbmcgbW9qb20gaXMgbG9hZGVkIG11bHRpcGxlIHRpbWVzOiAn
ICsgbW9qb21JZCk7Ci0gICAgcmV0dXJuOwotICB9Ci0gIG1vam8uaW50ZXJuYWwubWFya01vam9t
TG9hZGVkKG1vam9tSWQpOwotICB2YXIgYmluZGluZ3MgPSBtb2pvOwotICB2YXIgYXNzb2NpYXRl
ZEJpbmRpbmdzID0gbW9qbzsKLSAgdmFyIGNvZGVjID0gbW9qby5pbnRlcm5hbDsKLSAgdmFyIHZh
bGlkYXRvciA9IG1vam8uaW50ZXJuYWw7Ci0KLSAgdmFyIGV4cG9ydHMgPSBtb2pvLmludGVybmFs
LmV4cG9zZU5hbWVzcGFjZSgnbW9qb0Jhc2UubW9qb20nKTsKLSAgdmFyIGJpZ19idWZmZXIkID0K
LSAgICAgIG1vam8uaW50ZXJuYWwuZXhwb3NlTmFtZXNwYWNlKCdtb2pvQmFzZS5tb2pvbScpOwot
ICBpZiAobW9qby5jb25maWcuYXV0b0xvYWRNb2pvbURlcHMpIHsKLSAgICBtb2pvLmludGVybmFs
LmxvYWRNb2pvbUlmTmVjZXNzYXJ5KAotICAgICAgICAnbW9qby9wdWJsaWMvbW9qb20vYmFzZS9i
aWdfYnVmZmVyLm1vam9tJywgJ2JpZ19idWZmZXIubW9qb20uanMnKTsKLSAgfQotCi0KLQotICBm
dW5jdGlvbiBTdHJpbmcxNih2YWx1ZXMpIHsKLSAgICB0aGlzLmluaXREZWZhdWx0c18oKTsKLSAg
ICB0aGlzLmluaXRGaWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0gIFN0cmluZzE2LnByb3RvdHlw
ZS5pbml0RGVmYXVsdHNfID0gZnVuY3Rpb24oKSB7Ci0gICAgdGhpcy5kYXRhID0gbnVsbDsKLSAg
fTsKLSAgU3RyaW5nMTYucHJvdG90eXBlLmluaXRGaWVsZHNfID0gZnVuY3Rpb24oZmllbGRzKSB7
Ci0gICAgZm9yKHZhciBmaWVsZCBpbiBmaWVsZHMpIHsKLSAgICAgICAgaWYgKHRoaXMuaGFzT3du
UHJvcGVydHkoZmllbGQpKQotICAgICAgICAgIHRoaXNbZmllbGRdID0gZmllbGRzW2ZpZWxkXTsK
LSAgICB9Ci0gIH07Ci0KLSAgU3RyaW5nMTYudmFsaWRhdGUgPSBmdW5jdGlvbihtZXNzYWdlVmFs
aWRhdG9yLCBvZmZzZXQpIHsKLSAgICB2YXIgZXJyOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0
b3IudmFsaWRhdGVTdHJ1Y3RIZWFkZXIob2Zmc2V0LCBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSk7
Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAg
ICByZXR1cm4gZXJyOwotCi0gICAgdmFyIGtWZXJzaW9uU2l6ZXMgPSBbCi0gICAgICB7dmVyc2lv
bjogMCwgbnVtQnl0ZXM6IDE2fQotICAgIF07Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52
YWxpZGF0ZVN0cnVjdFZlcnNpb24ob2Zmc2V0LCBrVmVyc2lvblNpemVzKTsKLSAgICBpZiAoZXJy
ICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7
Ci0KLQotICAgIC8vIHZhbGlkYXRlIFN0cmluZzE2LmRhdGEKLSAgICBlcnIgPSBtZXNzYWdlVmFs
aWRhdG9yLnZhbGlkYXRlQXJyYXlQb2ludGVyKG9mZnNldCArIGNvZGVjLmtTdHJ1Y3RIZWFkZXJT
aXplICsgMCwgMiwgY29kZWMuVWludDE2LCBmYWxzZSwgWzBdLCAwKTsKLSAgICBpZiAoZXJyICE9
PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0K
LSAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIFN0
cmluZzE2LmVuY29kZWRTaXplID0gY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyA4OwotCi0gIFN0
cmluZzE2LmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICB2YXIgcGFja2VkOwotICAg
IHZhciB2YWwgPSBuZXcgU3RyaW5nMTYoKTsKLSAgICB2YXIgbnVtYmVyT2ZCeXRlcyA9IGRlY29k
ZXIucmVhZFVpbnQzMigpOwotICAgIHZhciB2ZXJzaW9uID0gZGVjb2Rlci5yZWFkVWludDMyKCk7
Ci0gICAgdmFsLmRhdGEgPSBkZWNvZGVyLmRlY29kZUFycmF5UG9pbnRlcihjb2RlYy5VaW50MTYp
OwotICAgIHJldHVybiB2YWw7Ci0gIH07Ci0KLSAgU3RyaW5nMTYuZW5jb2RlID0gZnVuY3Rpb24o
ZW5jb2RlciwgdmFsKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICBlbmNvZGVyLndyaXRlVWludDMy
KFN0cmluZzE2LmVuY29kZWRTaXplKTsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKDApOwotICAg
IGVuY29kZXIuZW5jb2RlQXJyYXlQb2ludGVyKGNvZGVjLlVpbnQxNiwgdmFsLmRhdGEpOwotICB9
OwotICBmdW5jdGlvbiBCaWdTdHJpbmcxNih2YWx1ZXMpIHsKLSAgICB0aGlzLmluaXREZWZhdWx0
c18oKTsKLSAgICB0aGlzLmluaXRGaWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0gIEJpZ1N0cmlu
ZzE2LnByb3RvdHlwZS5pbml0RGVmYXVsdHNfID0gZnVuY3Rpb24oKSB7Ci0gICAgdGhpcy5kYXRh
ID0gbnVsbDsKLSAgfTsKLSAgQmlnU3RyaW5nMTYucHJvdG90eXBlLmluaXRGaWVsZHNfID0gZnVu
Y3Rpb24oZmllbGRzKSB7Ci0gICAgZm9yKHZhciBmaWVsZCBpbiBmaWVsZHMpIHsKLSAgICAgICAg
aWYgKHRoaXMuaGFzT3duUHJvcGVydHkoZmllbGQpKQotICAgICAgICAgIHRoaXNbZmllbGRdID0g
ZmllbGRzW2ZpZWxkXTsKLSAgICB9Ci0gIH07Ci0KLSAgQmlnU3RyaW5nMTYudmFsaWRhdGUgPSBm
dW5jdGlvbihtZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsKLSAgICB2YXIgZXJyOwotICAgIGVy
ciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RIZWFkZXIob2Zmc2V0LCBjb2RlYy5r
U3RydWN0SGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25F
cnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgdmFyIGtWZXJzaW9uU2l6ZXMg
PSBbCi0gICAgICB7dmVyc2lvbjogMCwgbnVtQnl0ZXM6IDI0fQotICAgIF07Ci0gICAgZXJyID0g
bWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFZlcnNpb24ob2Zmc2V0LCBrVmVyc2lvblNp
emVzKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0g
ICAgICAgIHJldHVybiBlcnI7Ci0KLQotICAgIC8vIHZhbGlkYXRlIEJpZ1N0cmluZzE2LmRhdGEK
LSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlVW5pb24ob2Zmc2V0ICsgY29kZWMu
a1N0cnVjdEhlYWRlclNpemUgKyAwLCBiaWdfYnVmZmVyJC5CaWdCdWZmZXIsIGZhbHNlKTsKLSAg
ICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJl
dHVybiBlcnI7Ci0KLSAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwot
ICB9OwotCi0gIEJpZ1N0cmluZzE2LmVuY29kZWRTaXplID0gY29kZWMua1N0cnVjdEhlYWRlclNp
emUgKyAxNjsKLQotICBCaWdTdHJpbmcxNi5kZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0g
ICAgdmFyIHBhY2tlZDsKLSAgICB2YXIgdmFsID0gbmV3IEJpZ1N0cmluZzE2KCk7Ci0gICAgdmFy
IG51bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YXIgdmVyc2lvbiA9
IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhbC5kYXRhID0gZGVjb2Rlci5kZWNvZGVTdHJ1
Y3QoYmlnX2J1ZmZlciQuQmlnQnVmZmVyKTsKLSAgICByZXR1cm4gdmFsOwotICB9OwotCi0gIEJp
Z1N0cmluZzE2LmVuY29kZSA9IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgIHZhciBwYWNr
ZWQ7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMihCaWdTdHJpbmcxNi5lbmNvZGVkU2l6ZSk7Ci0g
ICAgZW5jb2Rlci53cml0ZVVpbnQzMigwKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdChiaWdf
YnVmZmVyJC5CaWdCdWZmZXIsIHZhbC5kYXRhKTsKLSAgfTsKLSAgZXhwb3J0cy5TdHJpbmcxNiA9
IFN0cmluZzE2OwotICBleHBvcnRzLkJpZ1N0cmluZzE2ID0gQmlnU3RyaW5nMTY7Ci19KSgpOwpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL3N0cmluZzE2Lm1v
am9tLmpzLmhlYWRlcnMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy9jaHJvbWl1bS9zdHJpbmcxNi5tb2pvbS5qcy5oZWFkZXJzCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2ODA1YzMyM2RmNS4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21p
dW0vc3RyaW5nMTYubW9qb20uanMuaGVhZGVycworKysgL2Rldi9udWxsCkBAIC0xICswLDAgQEAK
LUNvbnRlbnQtVHlwZTogdGV4dC9qYXZhc2NyaXB0OyBjaGFyc2V0PXV0Zi04CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9j
aHJvbWl1bS91cmwubW9qb20uanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS91cmwubW9qb20uanMKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IGM1ZWVlMWYyYWViLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS91cmwu
bW9qb20uanMKKysrIC9kZXYvbnVsbApAQCAtMSw3OSArMCwwIEBACi0vLyBDb3B5cmlnaHQgMjAx
NCBUaGUgQ2hyb21pdW0gQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLS8vIFVzZSBvZiB0
aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UgdGhhdCBj
YW4gYmUKLS8vIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCi0KLSd1c2Ugc3RyaWN0JzsKLQot
KGZ1bmN0aW9uKCkgewotICB2YXIgbW9qb21JZCA9ICd1cmwvbW9qb20vdXJsLm1vam9tJzsKLSAg
aWYgKG1vam8uaW50ZXJuYWwuaXNNb2pvbUxvYWRlZChtb2pvbUlkKSkgewotICAgIGNvbnNvbGUu
d2FybignVGhlIGZvbGxvd2luZyBtb2pvbSBpcyBsb2FkZWQgbXVsdGlwbGUgdGltZXM6ICcgKyBt
b2pvbUlkKTsKLSAgICByZXR1cm47Ci0gIH0KLSAgbW9qby5pbnRlcm5hbC5tYXJrTW9qb21Mb2Fk
ZWQobW9qb21JZCk7Ci0gIHZhciBiaW5kaW5ncyA9IG1vam87Ci0gIHZhciBhc3NvY2lhdGVkQmlu
ZGluZ3MgPSBtb2pvOwotICB2YXIgY29kZWMgPSBtb2pvLmludGVybmFsOwotICB2YXIgdmFsaWRh
dG9yID0gbW9qby5pbnRlcm5hbDsKLQotICB2YXIgZXhwb3J0cyA9IG1vam8uaW50ZXJuYWwuZXhw
b3NlTmFtZXNwYWNlKCd1cmwubW9qb20nKTsKLQotCi0KLSAgZnVuY3Rpb24gVXJsKHZhbHVlcykg
ewotICAgIHRoaXMuaW5pdERlZmF1bHRzXygpOwotICAgIHRoaXMuaW5pdEZpZWxkc18odmFsdWVz
KTsKLSAgfQotCi0KLSAgVXJsLnByb3RvdHlwZS5pbml0RGVmYXVsdHNfID0gZnVuY3Rpb24oKSB7
Ci0gICAgdGhpcy51cmwgPSBudWxsOwotICB9OwotICBVcmwucHJvdG90eXBlLmluaXRGaWVsZHNf
ID0gZnVuY3Rpb24oZmllbGRzKSB7Ci0gICAgZm9yKHZhciBmaWVsZCBpbiBmaWVsZHMpIHsKLSAg
ICAgICAgaWYgKHRoaXMuaGFzT3duUHJvcGVydHkoZmllbGQpKQotICAgICAgICAgIHRoaXNbZmll
bGRdID0gZmllbGRzW2ZpZWxkXTsKLSAgICB9Ci0gIH07Ci0KLSAgVXJsLnZhbGlkYXRlID0gZnVu
Y3Rpb24obWVzc2FnZVZhbGlkYXRvciwgb2Zmc2V0KSB7Ci0gICAgdmFyIGVycjsKLSAgICBlcnIg
PSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0SGVhZGVyKG9mZnNldCwgY29kZWMua1N0
cnVjdEhlYWRlclNpemUpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJy
b3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHZhciBrVmVyc2lvblNpemVzID0g
WwotICAgICAge3ZlcnNpb246IDAsIG51bUJ5dGVzOiAxNn0KLSAgICBdOwotICAgIGVyciA9IG1l
c3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RWZXJzaW9uKG9mZnNldCwga1ZlcnNpb25TaXpl
cyk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAg
ICAgICByZXR1cm4gZXJyOwotCi0KLSAgICAvLyB2YWxpZGF0ZSBVcmwudXJsCi0gICAgZXJyID0g
bWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cmluZ1BvaW50ZXIob2Zmc2V0ICsgY29kZWMua1N0
cnVjdEhlYWRlclNpemUgKyAwLCBmYWxzZSkKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFs
aWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICByZXR1cm4gdmFs
aWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIFVybC5lbmNvZGVkU2l6ZSA9
IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgODsKLQotICBVcmwuZGVjb2RlID0gZnVuY3Rpb24o
ZGVjb2RlcikgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgdmFyIHZhbCA9IG5ldyBVcmwoKTsKLSAg
ICB2YXIgbnVtYmVyT2ZCeXRlcyA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhciB2ZXJz
aW9uID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFsLnVybCA9IGRlY29kZXIuZGVjb2Rl
U3RydWN0KGNvZGVjLlN0cmluZyk7Ci0gICAgcmV0dXJuIHZhbDsKLSAgfTsKLQotICBVcmwuZW5j
b2RlID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICBlbmNv
ZGVyLndyaXRlVWludDMyKFVybC5lbmNvZGVkU2l6ZSk7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQz
MigwKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdChjb2RlYy5TdHJpbmcsIHZhbC51cmwpOwot
ICB9OwotICBleHBvcnRzLlVybCA9IFVybDsKLX0pKCk7ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS93M2MtaW1wb3J0
LmxvZwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWFjMDliOGRmZTQuLjAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL2Nocm9taXVtL3czYy1pbXBvcnQubG9nCisrKyAvZGV2L251bGwKQEAgLTEsNTYgKzAs
MCBAQAotVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUg
VzNDIHJlcG9zaXRvcnkuCi1EbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdl
YktpdC4KLUluc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoK
LQlodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdAotCi1UaGVuIHJ1biB0
aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydAot
Ci1EbyBOT1QgbW9kaWZ5IG9yIHJlbW92ZSB0aGlzIGZpbGUuCi0KLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQot
UHJvcGVydGllcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgotTm9uZQotUHJvcGVydHkgdmFs
dWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6Ci1Ob25lCi0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLUxp
c3Qgb2YgZmlsZXM6Ci0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvY2hyb21pdW0vUkVBRE1FLm1kCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vYmlnX2J1ZmZlci5tb2pvbS5q
cwotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L2Nocm9taXVtL2JpZ19idWZmZXIubW9qb20uanMuaGVhZGVycwotL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL2NvbnRhY3RzX21h
bmFnZXJfbW9jay5qcwotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL2Nocm9taXVtL2RldmljZS5tb2pvbS5qcwotL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL2RldmljZS5tb2pv
bS5qcy5oZWFkZXJzCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvY2hyb21pdW0vZGV2aWNlX2VudW1lcmF0aW9uX29wdGlvbnMubW9qb20uanMK
LS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9j
aHJvbWl1bS9kZXZpY2VfZW51bWVyYXRpb25fb3B0aW9ucy5tb2pvbS5qcy5oZWFkZXJzCi0vTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21p
dW0vZGV2aWNlX21hbmFnZXJfY2xpZW50Lm1vam9tLmpzCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vZGV2aWNlX21hbmFnZXJf
Y2xpZW50Lm1vam9tLmpzLmhlYWRlcnMKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS9nZW5lcmljX3NlbnNvcl9tb2Nrcy5qcwot
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2No
cm9taXVtL2dlbmVyaWNfc2Vuc29yX21vY2tzLmpzLmhlYWRlcnMKLS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS9pbWFnZV9jYXB0
dXJlLW1vam9tLmpzLmhlYWRlcnMKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS9pbWFnZV9jYXB0dXJlLm1vam9tLmpzCi0vTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21p
dW0vbW9jay1iYXJjb2RlZGV0ZWN0aW9uLmpzCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vbW9jay1iYXJjb2RlZGV0ZWN0aW9u
LmpzLmhlYWRlcnMKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy9jaHJvbWl1bS9tb2NrLWZhY2VkZXRlY3Rpb24uanMKLS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS9tb2NrLWZh
Y2VkZXRlY3Rpb24uanMuaGVhZGVycwotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL21vY2staW1hZ2VjYXB0dXJlLmpzCi0vTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21p
dW0vbW9qb19iaW5kaW5ncy5qcwotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL21vam9fYmluZGluZ3MuanMuaGVhZGVycwotL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9t
aXVtL21vam9fd2ViX3Rlc3RfaGVscGVyX3Rlc3QubW9qb20uanMKLS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS9tb2pvX3dlYl90
ZXN0X2hlbHBlcl90ZXN0Lm1vam9tLmpzLmhlYWRlcnMKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS9uZmMtbW9jay5qcwotL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9t
aXVtL3NlbnNvci5tb2pvbS5qcwotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL3NlbnNvcl9wcm92aWRlci5tb2pvbS5qcwotL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9t
aXVtL3Ntc19tb2NrLmpzCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vc3RyaW5nMTYubW9qb20uanMKLS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS9zdHJpbmcx
Ni5tb2pvbS5qcy5oZWFkZXJzCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vdXJsLm1vam9tLmpzCi0vTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vd2ViLWJsdWV0
b290aC10ZXN0LmpzCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvY2hyb21pdW0vd2ViLWJsdWV0b290aC10ZXN0LmpzLmhlYWRlcnMKLS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1
bS93ZWJfdXNiX3NlcnZpY2UubW9qb20uanMKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS93ZWJfdXNiX3NlcnZpY2UubW9qb20u
anMuaGVhZGVycwotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL2Nocm9taXVtL3dlYnVzYi1jaGlsZC10ZXN0LmpzCi0vTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vd2VidXNiLWNo
aWxkLXRlc3QuanMuaGVhZGVycwotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL3dlYnVzYi10ZXN0LmpzCi0vTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vd2VidXNi
LXRlc3QuanMuaGVhZGVycwotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL3dlYnhyLXRlc3QuanMKLS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS93ZWJ4ci10ZXN0
LmpzLmhlYWRlcnMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL3dlYi1ibHVldG9vdGgtdGVzdC5qcyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9t
aXVtL3dlYi1ibHVldG9vdGgtdGVzdC5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
ZWU4ZjA4MmI4NzQuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL3dlYi1ibHVldG9vdGgtdGVzdC5q
cworKysgL2Rldi9udWxsCkBAIC0xLDYxNyArMCwwIEBACi0ndXNlIHN0cmljdCc7Ci0KLWZ1bmN0
aW9uIHRvTW9qb0NlbnRyYWxTdGF0ZShzdGF0ZSkgewotICBzd2l0Y2ggKHN0YXRlKSB7Ci0gICAg
Y2FzZSAnYWJzZW50JzoKLSAgICAgIHJldHVybiBibHVldG9vdGgubW9qb20uQ2VudHJhbFN0YXRl
LkFCU0VOVDsKLSAgICBjYXNlICdwb3dlcmVkLW9mZic6Ci0gICAgICByZXR1cm4gYmx1ZXRvb3Ro
Lm1vam9tLkNlbnRyYWxTdGF0ZS5QT1dFUkVEX09GRjsKLSAgICBjYXNlICdwb3dlcmVkLW9uJzoK
LSAgICAgIHJldHVybiBibHVldG9vdGgubW9qb20uQ2VudHJhbFN0YXRlLlBPV0VSRURfT047Ci0g
ICAgZGVmYXVsdDoKLSAgICAgIHRocm93IGBVbnN1cHBvcnRlZCB2YWx1ZSAke3N0YXRlfSBmb3Ig
c3RhdGUuYDsKLSAgfQotfQotCi0vLyBDYW5vbmljYWxpemVzIFVVSURzIGFuZCBjb252ZXJ0cyB0
aGVtIHRvIE1vam8gVVVJRHMuCi1mdW5jdGlvbiBjYW5vbmljYWxpemVBbmRDb252ZXJ0VG9Nb2pv
VVVJRCh1dWlkcykgewotICBsZXQgY2Fub25pY2FsVVVJRHMgPSB1dWlkcy5tYXAodmFsID0+ICh7
dXVpZDogQmx1ZXRvb3RoVVVJRC5nZXRTZXJ2aWNlKHZhbCl9KSk7Ci0gIHJldHVybiBjYW5vbmlj
YWxVVUlEczsKLX0KLQotLy8gQ29udmVydHMgV2ViSURMIGEgcmVjb3JkPERPTVN0cmluZywgQnVm
ZmVyU291cmNlPiB0byBhIG1hcDxLLCBhcnJheTx1aW50OD4+IHRvCi0vLyB1c2UgZm9yIE1vam8s
IHdoZXJlIHRoZSB2YWx1ZSBmb3IgSyBpcyBjYWxjdWxhdGVkIHVzaW5nIGtleUZuLgotZnVuY3Rp
b24gY29udmVydFRvTW9qb01hcChyZWNvcmQsIGtleUZuKSB7Ci0gIGxldCBtYXAgPSBuZXcgTWFw
KCk7Ci0gIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKHJlY29yZCkp
IHsKLSAgICBsZXQgYnVmZmVyID0gQXJyYXlCdWZmZXIuaXNWaWV3KHZhbHVlKSA/IHZhbHVlLmJ1
ZmZlciA6IHZhbHVlOwotICAgIG1hcC5zZXQoa2V5Rm4oa2V5KSwgQXJyYXkuZnJvbShuZXcgVWlu
dDhBcnJheShidWZmZXIpKSk7Ci0gIH0KLSAgcmV0dXJuIG1hcDsKLX0KLQotLy8gTWFwcGluZyBv
ZiB0aGUgcHJvcGVydHkgbmFtZXMgb2YKLS8vIEJsdWV0b290aENoYXJhY3RlcmlzdGljUHJvcGVy
dGllcyBkZWZpbmVkIGluCi0vLyBodHRwczovL3dlYmJsdWV0b290aGNnLmdpdGh1Yi5pby93ZWIt
Ymx1ZXRvb3RoLyNjaGFyYWN0ZXJpc3RpY3Byb3BlcnRpZXMKLS8vIHRvIHByb3BlcnR5IG5hbWVz
IG9mIHRoZSBDaGFyYWN0ZXJpc3RpY1Byb3BlcnRpZXMgbW9qbyBzdHJ1Y3QuCi1jb25zdCBDSEFS
QUNURVJJU1RJQ19QUk9QRVJUSUVTX1dFQl9UT19NT0pPID0gewotICBicm9hZGNhc3Q6ICdicm9h
ZGNhc3QnLAotICByZWFkOiAncmVhZCcsCi0gIHdyaXRlX3dpdGhvdXRfcmVzcG9uc2U6ICd3cml0
ZV93aXRob3V0X3Jlc3BvbnNlJywKLSAgd3JpdGU6ICd3cml0ZScsCi0gIG5vdGlmeTogJ25vdGlm
eScsCi0gIGluZGljYXRlOiAnaW5kaWNhdGUnLAotICBhdXRoZW50aWNhdGVkU2lnbmVkV3JpdGVz
OiAnYXV0aGVudGljYXRlZF9zaWduZWRfd3JpdGVzJywKLSAgZXh0ZW5kZWRfcHJvcGVydGllczog
J2V4dGVuZGVkX3Byb3BlcnRpZXMnLAotfTsKLQotLy8gTWFwcGluZyBvZiB0aGUgTW9qbyBDaG9v
c2VyRXZlbnRUeXBlIGVudW0gdG8gYSBzdHJpbmcuCi1jb25zdCBNT0pPX0NIT09TRVJfRVZFTlRf
VFlQRV9NQVAgPSAoKCkgPT4gewotICBjb25zdCBDaG9vc2VyRXZlbnRUeXBlID0gY29udGVudC5t
b2pvbS5DaG9vc2VyRXZlbnRUeXBlOwotICByZXR1cm4gewotICAgIFtDaG9vc2VyRXZlbnRUeXBl
LkNIT09TRVJfT1BFTkVEXTogJ2Nob29zZXItb3BlbmVkJywKLSAgICBbQ2hvb3NlckV2ZW50VHlw
ZS5DSE9PU0VSX0NMT1NFRF06ICdjaG9vc2VyLWNsb3NlZCcsCi0gICAgW0Nob29zZXJFdmVudFR5
cGUuQURBUFRFUl9SRU1PVkVEXTogJ2FkYXB0ZXItcmVtb3ZlZCcsCi0gICAgW0Nob29zZXJFdmVu
dFR5cGUuQURBUFRFUl9ESVNBQkxFRF06ICdhZGFwdGVyLWRpc2FibGVkJywKLSAgICBbQ2hvb3Nl
ckV2ZW50VHlwZS5BREFQVEVSX0VOQUJMRURdOiAnYWRhcHRlci1lbmFibGVkJywKLSAgICBbQ2hv
b3NlckV2ZW50VHlwZS5ESVNDT1ZFUllfRkFJTEVEX1RPX1NUQVJUXTogJ2Rpc2NvdmVyeS1mYWls
ZWQtdG8tc3RhcnQnLAotICAgIFtDaG9vc2VyRXZlbnRUeXBlLkRJU0NPVkVSSU5HXTogJ2Rpc2Nv
dmVyaW5nJywKLSAgICBbQ2hvb3NlckV2ZW50VHlwZS5ESVNDT1ZFUllfSURMRV06ICdkaXNjb3Zl
cnktaWRsZScsCi0gICAgW0Nob29zZXJFdmVudFR5cGUuQUREX09SX1VQREFURV9ERVZJQ0VdOiAn
YWRkLW9yLXVwZGF0ZS1kZXZpY2UnLAotICB9Ci19KSgpOwotCi1mdW5jdGlvbiBBcnJheVRvTW9q
b0NoYXJhY3RlcmlzdGljUHJvcGVydGllcyhhcnIpIHsKLSAgbGV0IHN0cnVjdCA9IG5ldyBibHVl
dG9vdGgubW9qb20uQ2hhcmFjdGVyaXN0aWNQcm9wZXJ0aWVzKCk7Ci0KLSAgYXJyLmZvckVhY2go
dmFsID0+IHsKLSAgICBsZXQgbW9qb19wcm9wZXJ0eSA9Ci0gICAgICBDSEFSQUNURVJJU1RJQ19Q
Uk9QRVJUSUVTX1dFQl9UT19NT0pPW3ZhbF07Ci0KLSAgICBpZiAoc3RydWN0Lmhhc093blByb3Bl
cnR5KG1vam9fcHJvcGVydHkpKQotICAgICAgc3RydWN0W21vam9fcHJvcGVydHldID0gdHJ1ZTsK
LSAgICBlbHNlCi0gICAgICB0aHJvdyBgSW52YWxpZCBtZW1iZXIgJyR7dmFsfScgZm9yIENoYXJh
Y3RlcmlzdGljUHJvcGVydGllc2A7Ci0gIH0pOwotCi0gIHJldHVybiBzdHJ1Y3Q7Ci19Ci0KLWNs
YXNzIEZha2VCbHVldG9vdGggewotICBjb25zdHJ1Y3RvcigpIHsKLSAgICB0aGlzLmZha2VfYmx1
ZXRvb3RoX3B0cl8gPSBuZXcgYmx1ZXRvb3RoLm1vam9tLkZha2VCbHVldG9vdGhQdHIoKTsKLSAg
ICBNb2pvLmJpbmRJbnRlcmZhY2UoYmx1ZXRvb3RoLm1vam9tLkZha2VCbHVldG9vdGgubmFtZSwK
LSAgICAgICAgbW9qby5tYWtlUmVxdWVzdCh0aGlzLmZha2VfYmx1ZXRvb3RoX3B0cl8pLmhhbmRs
ZSwgJ3Byb2Nlc3MnKTsKLSAgICB0aGlzLmZha2VfY2VudHJhbF8gPSBudWxsOwotICB9Ci0KLSAg
Ly8gU2V0IGl0IHRvIGluZGljYXRlIHdoZXRoZXIgdGhlIHBsYXRmb3JtIHN1cHBvcnRzIEJMRS4g
Rm9yIGV4YW1wbGUsCi0gIC8vIFdpbmRvd3MgNyBpcyBhIHBsYXRmb3JtIHRoYXQgZG9lc24ndCBz
dXBwb3J0IExvdyBFbmVyZ3kuIE9uIHRoZSBvdGhlcgotICAvLyBoYW5kIFdpbmRvd3MgMTAgaXMg
YSBwbGF0Zm9ybSB0aGF0IGRvZXMgc3VwcG9ydCBMRSwgZXZlbiBpZiB0aGVyZSBpcyBubwotICAv
LyBCbHVldG9vdGggcmFkaW8gcHJlc2VudC4KLSAgYXN5bmMgc2V0TEVTdXBwb3J0ZWQoc3VwcG9y
dGVkKSB7Ci0gICAgaWYgKHR5cGVvZiBzdXBwb3J0ZWQgIT09ICdib29sZWFuJykgdGhyb3cgJ1R5
cGUgTm90IFN1cHBvcnRlZCc7Ci0gICAgYXdhaXQgdGhpcy5mYWtlX2JsdWV0b290aF9wdHJfLnNl
dExFU3VwcG9ydGVkKHN1cHBvcnRlZCk7Ci0gIH0KLQotICAvLyBSZXR1cm5zIGEgcHJvbWlzZSB0
aGF0IHJlc29sdmVzIHdpdGggYSBGYWtlQ2VudHJhbCB0aGF0IGNsaWVudHMgY2FuIHVzZQotICAv
LyB0byBzaW11bGF0ZSBldmVudHMgdGhhdCBhIGRldmljZSBpbiB0aGUgQ2VudHJhbC9PYnNlcnZl
ciByb2xlIHdvdWxkCi0gIC8vIHJlY2VpdmUgYXMgd2VsbCBhcyBtb25pdG9yIHRoZSBvcGVyYXRp
b25zIHBlcmZvcm1lZCBieSB0aGUgZGV2aWNlIGluIHRoZQotICAvLyBDZW50cmFsL09ic2VydmVy
IHJvbGUuCi0gIC8vIENhbGxzIHNldHMgTEUgYXMgc3VwcG9ydGVkLgotICAvLwotICAvLyBBICJD
ZW50cmFsIiBvYmplY3Qgd291bGQgYWxsb3cgaXRzIGNsaWVudHMgdG8gcmVjZWl2ZSBhZHZlcnRp
c2luZyBldmVudHMKLSAgLy8gYW5kIGluaXRpYXRlIGNvbm5lY3Rpb25zIHRvIHBlcmlwaGVyYWxz
IGkuZS4gb3BlcmF0aW9ucyBvZiB0d28gcm9sZXMKLSAgLy8gZGVmaW5lZCBieSB0aGUgQmx1ZXRv
b3RoIFNwZWM6IE9ic2VydmVyIGFuZCBDZW50cmFsLgotICAvLyBTZWUgQmx1ZXRvb3RoIDQuMiBW
b2wgMyBQYXJ0IEMgMi4yLjIgIlJvbGVzIHdoZW4gT3BlcmF0aW5nIG92ZXIgYW4KLSAgLy8gTEUg
UGh5c2ljYWwgVHJhbnNwb3J0Ii4KLSAgYXN5bmMgc2ltdWxhdGVDZW50cmFsKHtzdGF0ZX0pIHsK
LSAgICBpZiAodGhpcy5mYWtlX2NlbnRyYWxfKQotICAgICAgdGhyb3cgJ3NpbXVsYXRlQ2VudHJh
bCgpIHNob3VsZCBvbmx5IGJlIGNhbGxlZCBvbmNlJzsKLQotICAgIGF3YWl0IHRoaXMuc2V0TEVT
dXBwb3J0ZWQodHJ1ZSk7Ci0KLSAgICBsZXQge2Zha2VDZW50cmFsOiBmYWtlX2NlbnRyYWxfcHRy
fSA9Ci0gICAgICBhd2FpdCB0aGlzLmZha2VfYmx1ZXRvb3RoX3B0cl8uc2ltdWxhdGVDZW50cmFs
KAotICAgICAgICB0b01vam9DZW50cmFsU3RhdGUoc3RhdGUpKTsKLSAgICB0aGlzLmZha2VfY2Vu
dHJhbF8gPSBuZXcgRmFrZUNlbnRyYWwoZmFrZV9jZW50cmFsX3B0cik7Ci0gICAgcmV0dXJuIHRo
aXMuZmFrZV9jZW50cmFsXzsKLSAgfQotCi0gIC8vIFJldHVybnMgdHJ1ZSBpZiB0aGVyZSBhcmUg
bm8gcGVuZGluZyByZXNwb25zZXMuCi0gIGFzeW5jIGFsbFJlc3BvbnNlc0NvbnN1bWVkKCkgewot
ICAgIGxldCB7Y29uc3VtZWR9ID0gYXdhaXQgdGhpcy5mYWtlX2JsdWV0b290aF9wdHJfLmFsbFJl
c3BvbnNlc0NvbnN1bWVkKCk7Ci0gICAgcmV0dXJuIGNvbnN1bWVkOwotICB9Ci0KLSAgLy8gUmV0
dXJucyBhIHByb21pc2UgdGhhdCByZXNvbHZlcyB3aXRoIGEgRmFrZUNob29zZXIgdGhhdCBjbGll
bnRzIGNhbiB1c2UgdG8KLSAgLy8gc2ltdWxhdGUgY2hvb3NlciBldmVudHMuCi0gIGFzeW5jIGdl
dE1hbnVhbENob29zZXIoKSB7Ci0gICAgaWYgKHR5cGVvZiB0aGlzLmZha2VfY2hvb3Nlcl8gPT09
ICd1bmRlZmluZWQnKSB7Ci0gICAgICB0aGlzLmZha2VfY2hvb3Nlcl8gPSBuZXcgRmFrZUNob29z
ZXIoKTsKLSAgICB9Ci0gICAgcmV0dXJuIHRoaXMuZmFrZV9jaG9vc2VyXzsKLSAgfQotfQotCi0v
LyBGYWtlQ2VudHJhbCBhbGxvd3MgY2xpZW50cyB0byBzaW11bGF0ZSBldmVudHMgdGhhdCBhIGRl
dmljZSBpbiB0aGUKLS8vIENlbnRyYWwvT2JzZXJ2ZXIgcm9sZSB3b3VsZCByZWNlaXZlIGFzIHdl
bGwgYXMgbW9uaXRvciB0aGUgb3BlcmF0aW9ucwotLy8gcGVyZm9ybWVkIGJ5IHRoZSBkZXZpY2Ug
aW4gdGhlIENlbnRyYWwvT2JzZXJ2ZXIgcm9sZS4KLWNsYXNzIEZha2VDZW50cmFsIHsKLSAgY29u
c3RydWN0b3IoZmFrZV9jZW50cmFsX3B0cikgewotICAgIHRoaXMuZmFrZV9jZW50cmFsX3B0cl8g
PSBmYWtlX2NlbnRyYWxfcHRyOwotICAgIHRoaXMucGVyaXBoZXJhbHNfID0gbmV3IE1hcCgpOwot
ICB9Ci0KLSAgLy8gU2ltdWxhdGVzIGEgcGVyaXBoZXJhbCB3aXRoIHxhZGRyZXNzfCwgfG5hbWV8
IGFuZCB8a25vd25fc2VydmljZV91dWlkc3wKLSAgLy8gdGhhdCBoYXMgYWxyZWFkeSBiZWVuIGNv
bm5lY3RlZCB0byB0aGUgc3lzdGVtLiBJZiB0aGUgcGVyaXBoZXJhbCBleGlzdGVkCi0gIC8vIGFs
cmVhZHkgaXQgdXBkYXRlcyBpdHMgbmFtZSBhbmQga25vd24gVVVJRHMuIHxrbm93bl9zZXJ2aWNl
X3V1aWRzfCBzaG91bGQKLSAgLy8gYmUgYW4gYXJyYXkgb2YgQmx1ZXRvb3RoU2VydmljZVVVSURz
Ci0gIC8vIGh0dHBzOi8vd2ViYmx1ZXRvb3RoY2cuZ2l0aHViLmlvL3dlYi1ibHVldG9vdGgvI3R5
cGVkZWZkZWYtYmx1ZXRvb3Roc2VydmljZXV1aWQKLSAgLy8KLSAgLy8gUGxhdGZvcm1zIG9mZmVy
IG1ldGhvZHMgdG8gcmV0cmlldmUgZGV2aWNlcyB0aGF0IGhhdmUgYWxyZWFkeSBiZWVuCi0gIC8v
IGNvbm5lY3RlZCB0byB0aGUgc3lzdGVtIG9yIHdlcmVuJ3QgY29ubmVjdGVkIHRocm91Z2ggdGhl
IFVBIGUuZy4gYSB1c2VyCi0gIC8vIGNvbm5lY3RlZCBhIHBlcmlwaGVyYWwgdGhyb3VnaCB0aGUg
c3lzdGVtJ3Mgc2V0dGluZ3MuIFRoaXMgbWV0aG9kIGlzCi0gIC8vIGludGVuZGVkIHRvIHNpbXVs
YXRlIHBlcmlwaGVyYWxzIHRoYXQgdGhvc2UgbWV0aG9kcyB3b3VsZCByZXR1cm4uCi0gIGFzeW5j
IHNpbXVsYXRlUHJlY29ubmVjdGVkUGVyaXBoZXJhbCh7Ci0gICAgYWRkcmVzcywgbmFtZSwga25v
d25TZXJ2aWNlVVVJRHMgPSBbXX0pIHsKLQotICAgIGF3YWl0IHRoaXMuZmFrZV9jZW50cmFsX3B0
cl8uc2ltdWxhdGVQcmVjb25uZWN0ZWRQZXJpcGhlcmFsKAotICAgICAgYWRkcmVzcywgbmFtZSwg
Y2Fub25pY2FsaXplQW5kQ29udmVydFRvTW9qb1VVSUQoa25vd25TZXJ2aWNlVVVJRHMpKTsKLQot
ICAgIHJldHVybiB0aGlzLmZldGNoT3JDcmVhdGVQZXJpcGhlcmFsXyhhZGRyZXNzKTsKLSAgfQot
Ci0gIC8vIFNpbXVsYXRlcyBhbiBhZHZlcnRpc2VtZW50IHBhY2tldCBkZXNjcmliZWQgYnkgfHNj
YW5SZXN1bHR8IGJlaW5nIHJlY2VpdmVkCi0gIC8vIGZyb20gYSBkZXZpY2UuIElmIGNlbnRyYWwg
aXMgY3VycmVudGx5IHNjYW5uaW5nLCB0aGUgZGV2aWNlIHdpbGwgYXBwZWFyIG9uCi0gIC8vIHRo
ZSBsaXN0IG9mIGRpc2NvdmVyZWQgZGV2aWNlcy4KLSAgYXN5bmMgc2ltdWxhdGVBZHZlcnRpc2Vt
ZW50UmVjZWl2ZWQoc2NhblJlc3VsdCkgewotICAgIGlmICgndXVpZHMnIGluIHNjYW5SZXN1bHQu
c2NhblJlY29yZCkgewotICAgICAgc2NhblJlc3VsdC5zY2FuUmVjb3JkLnV1aWRzID0KLSAgICAg
ICAgICBjYW5vbmljYWxpemVBbmRDb252ZXJ0VG9Nb2pvVVVJRChzY2FuUmVzdWx0LnNjYW5SZWNv
cmQudXVpZHMpOwotICAgIH0KLQotICAgIC8vIENvbnZlcnQgdGhlIG9wdGlvbmFsIGFwcGVhcmFu
Y2UgYW5kIHR4UG93ZXIgZmllbGRzIHRvIHRoZSBjb3JyZXNwb25kaW5nCi0gICAgLy8gTW9qbyBz
dHJ1Y3R1cmVzLCBzaW5jZSBNb2pvIGRvZXMgbm90IHN1cHBvcnQgb3B0aW9uYWwgaW50ZXJnZXIg
dmFsdWVzLiBJZgotICAgIC8vIHRoZSBmaWVsZHMgYXJlIHVuZGVmaW5lZCwgc2V0IHRoZSBoYXNW
YWx1ZSBmaWVsZCBhcyBmYWxzZSBhbmQgdmFsdWUgYXMgMC4KLSAgICAvLyBPdGhlcndpc2UsIHNl
dCB0aGUgaGFzVmFsdWUgZmllbGQgYXMgdHJ1ZSBhbmQgdmFsdWUgd2l0aCB0aGUgZmllbGQgdmFs
dWUuCi0gICAgY29uc3QgaGFzX2FwcGVhcmFuY2UgPSAnYXBwZWFyYW5jZScgaW4gc2NhblJlc3Vs
dC5zY2FuUmVjb3JkOwotICAgIHNjYW5SZXN1bHQuc2NhblJlY29yZC5hcHBlYXJhbmNlID0gewot
ICAgICAgaGFzVmFsdWU6IGhhc19hcHBlYXJhbmNlLAotICAgICAgdmFsdWU6IChoYXNfYXBwZWFy
YW5jZSA/IHNjYW5SZXN1bHQuc2NhblJlY29yZC5hcHBlYXJhbmNlIDogMCkKLSAgICB9Ci0KLSAg
ICBjb25zdCBoYXNfdHhfcG93ZXIgPSAndHhQb3dlcicgaW4gc2NhblJlc3VsdC5zY2FuUmVjb3Jk
OwotICAgIHNjYW5SZXN1bHQuc2NhblJlY29yZC50eFBvd2VyID0gewotICAgICAgaGFzVmFsdWU6
IGhhc190eF9wb3dlciwKLSAgICAgIHZhbHVlOiAoaGFzX3R4X3Bvd2VyID8gc2NhblJlc3VsdC5z
Y2FuUmVjb3JkLnR4UG93ZXIgOiAwKQotICAgIH0KLQotICAgIC8vIENvbnZlcnQgbWFudWZhY3R1
cmVyRGF0YSBmcm9tIGEgcmVjb3JkPERPTVN0cmluZywgQnVmZmVyU291cmNlPiBpbnRvIGEKLSAg
ICAvLyBtYXA8dWludDgsIGFycmF5PHVpbnQ4Pj4gZm9yIE1vam8uCi0gICAgaWYgKCdtYW51ZmFj
dHVyZXJEYXRhJyBpbiBzY2FuUmVzdWx0LnNjYW5SZWNvcmQpIHsKLSAgICAgIHNjYW5SZXN1bHQu
c2NhblJlY29yZC5tYW51ZmFjdHVyZXJEYXRhID0gY29udmVydFRvTW9qb01hcCgKLSAgICAgICAg
ICBzY2FuUmVzdWx0LnNjYW5SZWNvcmQubWFudWZhY3R1cmVyRGF0YSwgTnVtYmVyKTsKLSAgICB9
Ci0KLSAgICAvLyBDb252ZXJ0IHNlcnZpY2VEYXRhIGZyb20gYSByZWNvcmQ8RE9NU3RyaW5nLCBC
dWZmZXJTb3VyY2U+IGludG8gYQotICAgIC8vIG1hcDxzdHJpbmcsIGFycmF5PHVpbnQ4Pj4gZm9y
IE1vam8uCi0gICAgaWYgKCdzZXJ2aWNlRGF0YScgaW4gc2NhblJlc3VsdC5zY2FuUmVjb3JkKSB7
Ci0gICAgICBzY2FuUmVzdWx0LnNjYW5SZWNvcmQuc2VydmljZURhdGEuc2VydmljZURhdGEgPSBj
b252ZXJ0VG9Nb2pvTWFwKAotICAgICAgICAgIHNjYW5SZXN1bHQuc2NhblJlY29yZC5zZXJ2aWNl
RGF0YSwgQmx1ZXRvb3RoVVVJRC5nZXRTZXJ2aWNlKTsKLSAgICB9Ci0KLSAgICBhd2FpdCB0aGlz
LmZha2VfY2VudHJhbF9wdHJfLnNpbXVsYXRlQWR2ZXJ0aXNlbWVudFJlY2VpdmVkKAotICAgICAg
ICBuZXcgYmx1ZXRvb3RoLm1vam9tLlNjYW5SZXN1bHQoc2NhblJlc3VsdCkpOwotCi0gICAgcmV0
dXJuIHRoaXMuZmV0Y2hPckNyZWF0ZVBlcmlwaGVyYWxfKHNjYW5SZXN1bHQuZGV2aWNlQWRkcmVz
cyk7Ci0gIH0KLQotICAvLyBTaW11bGF0ZXMgYSBjaGFuZ2UgaW4gdGhlIGNlbnRyYWwgZGV2aWNl
IGRlc2NyaWJlZCBieSB8c3RhdGV8LiBGb3IgZXhhbXBsZSwKLSAgLy8gc2V0U3RhdGUoJ3Bvd2Vy
ZWQtb2ZmJykgY2FuIGJlIHVzZWQgdG8gc2ltdWxhdGUgdGhlIGNlbnRyYWwgZGV2aWNlIHBvd2Vy
aW5nCi0gIC8vIG9mZi4KLSAgLy8KLSAgLy8gVGhpcyBtZXRob2Qgc2hvdWxkIGJlIHVzZWQgZm9y
IGFueSBjZW50cmFsIHN0YXRlIGNoYW5nZXMgYWZ0ZXIKLSAgLy8gc2ltdWxhdGVDZW50cmFsKCkg
aGFzIGJlZW4gY2FsbGVkIHRvIGNyZWF0ZSBhIEZha2VDZW50cmFsIG9iamVjdC4KLSAgYXN5bmMg
c2V0U3RhdGUoc3RhdGUpIHsKLSAgICBhd2FpdCB0aGlzLmZha2VfY2VudHJhbF9wdHJfLnNldFN0
YXRlKHRvTW9qb0NlbnRyYWxTdGF0ZShzdGF0ZSkpOwotICB9Ci0KLSAgLy8gQ3JlYXRlIGEgZmFr
ZV9wZXJpcGhlcmFsIG9iamVjdCBmcm9tIHRoZSBnaXZlbiBhZGRyZXNzLgotICBmZXRjaE9yQ3Jl
YXRlUGVyaXBoZXJhbF8oYWRkcmVzcykgewotICAgIGxldCBwZXJpcGhlcmFsID0gdGhpcy5wZXJp
cGhlcmFsc18uZ2V0KGFkZHJlc3MpOwotICAgIGlmIChwZXJpcGhlcmFsID09PSB1bmRlZmluZWQp
IHsKLSAgICAgIHBlcmlwaGVyYWwgPSBuZXcgRmFrZVBlcmlwaGVyYWwoYWRkcmVzcywgdGhpcy5m
YWtlX2NlbnRyYWxfcHRyXyk7Ci0gICAgICB0aGlzLnBlcmlwaGVyYWxzXy5zZXQoYWRkcmVzcywg
cGVyaXBoZXJhbCk7Ci0gICAgfQotICAgIHJldHVybiBwZXJpcGhlcmFsOwotICB9Ci19Ci0KLWNs
YXNzIEZha2VQZXJpcGhlcmFsIHsKLSAgY29uc3RydWN0b3IoYWRkcmVzcywgZmFrZV9jZW50cmFs
X3B0cikgewotICAgIHRoaXMuYWRkcmVzcyA9IGFkZHJlc3M7Ci0gICAgdGhpcy5mYWtlX2NlbnRy
YWxfcHRyXyA9IGZha2VfY2VudHJhbF9wdHI7Ci0gIH0KLQotICAvLyBBZGRzIGEgZmFrZSBHQVRU
IFNlcnZpY2Ugd2l0aCB8dXVpZHwgdG8gYmUgZGlzY292ZXJlZCB3aGVuIGRpc2NvdmVyaW5nCi0g
IC8vIHRoZSBwZXJpcGhlcmFsJ3MgR0FUVCBBdHRyaWJ1dGVzLiBSZXR1cm5zIGEgRmFrZVJlbW90
ZUdBVFRTZXJ2aWNlCi0gIC8vIGNvcnJlc3BvbmRpbmcgdG8gdGhpcyBzZXJ2aWNlLiB8dXVpZHwg
c2hvdWxkIGJlIGEgQmx1ZXRvb3RoU2VydmljZVVVSURzCi0gIC8vIGh0dHBzOi8vd2ViYmx1ZXRv
b3RoY2cuZ2l0aHViLmlvL3dlYi1ibHVldG9vdGgvI3R5cGVkZWZkZWYtYmx1ZXRvb3Roc2Vydmlj
ZXV1aWQKLSAgYXN5bmMgYWRkRmFrZVNlcnZpY2Uoe3V1aWR9KSB7Ci0gICAgbGV0IHtzZXJ2aWNl
SWQ6IHNlcnZpY2VfaWR9ID0gYXdhaXQgdGhpcy5mYWtlX2NlbnRyYWxfcHRyXy5hZGRGYWtlU2Vy
dmljZSgKLSAgICAgIHRoaXMuYWRkcmVzcywge3V1aWQ6IEJsdWV0b290aFVVSUQuZ2V0U2Vydmlj
ZSh1dWlkKX0pOwotCi0gICAgaWYgKHNlcnZpY2VfaWQgPT09IG51bGwpIHRocm93ICdhZGRGYWtl
U2VydmljZSBmYWlsZWQnOwotCi0gICAgcmV0dXJuIG5ldyBGYWtlUmVtb3RlR0FUVFNlcnZpY2Uo
Ci0gICAgICBzZXJ2aWNlX2lkLCB0aGlzLmFkZHJlc3MsIHRoaXMuZmFrZV9jZW50cmFsX3B0cl8p
OwotICB9Ci0KLSAgLy8gU2V0cyB0aGUgbmV4dCBHQVRUIENvbm5lY3Rpb24gcmVxdWVzdCByZXNw
b25zZSB0byB8Y29kZXwuIHxjb2RlfCBjb3VsZCBiZQotICAvLyBhbiBIQ0kgRXJyb3IgQ29kZSBm
cm9tIEJUIDQuMiBWb2wgMiBQYXJ0IEQgMS4zIExpc3QgT2YgRXJyb3IgQ29kZXMgb3IgYQotICAv
LyBudW1iZXIgb3V0c2lkZSB0aGF0IHJhbmdlIHJldHVybmVkIGJ5IHNwZWNpZmljIHBsYXRmb3Jt
cyBlLmcuIEFuZHJvaWQKLSAgLy8gcmV0dXJucyAweDEwMSB0byBzaWduYWwgYSBHQVRUIGZhaWx1
cmUKLSAgLy8gaHR0cHM6Ly9kZXZlbG9wZXIuYW5kcm9pZC5jb20vcmVmZXJlbmNlL2FuZHJvaWQv
Ymx1ZXRvb3RoL0JsdWV0b290aEdhdHQuaHRtbCNHQVRUX0ZBSUxVUkUKLSAgYXN5bmMgc2V0TmV4
dEdBVFRDb25uZWN0aW9uUmVzcG9uc2Uoe2NvZGV9KSB7Ci0gICAgbGV0IHtzdWNjZXNzfSA9Ci0g
ICAgICBhd2FpdCB0aGlzLmZha2VfY2VudHJhbF9wdHJfLnNldE5leHRHQVRUQ29ubmVjdGlvblJl
c3BvbnNlKAotICAgICAgICB0aGlzLmFkZHJlc3MsIGNvZGUpOwotCi0gICAgaWYgKHN1Y2Nlc3Mg
IT09IHRydWUpIHRocm93ICdzZXROZXh0R0FUVENvbm5lY3Rpb25SZXNwb25zZSBmYWlsZWQuJzsK
LSAgfQotCi0gIC8vIFNldHMgdGhlIG5leHQgR0FUVCBEaXNjb3ZlcnkgcmVxdWVzdCByZXNwb25z
ZSBmb3IgcGVyaXBoZXJhbCB3aXRoCi0gIC8vIHxhZGRyZXNzfCB0byB8Y29kZXwuIHxjb2RlfCBj
b3VsZCBiZSBhbiBIQ0kgRXJyb3IgQ29kZSBmcm9tCi0gIC8vIEJUIDQuMiBWb2wgMiBQYXJ0IEQg
MS4zIExpc3QgT2YgRXJyb3IgQ29kZXMgb3IgYSBudW1iZXIgb3V0c2lkZSB0aGF0Ci0gIC8vIHJh
bmdlIHJldHVybmVkIGJ5IHNwZWNpZmljIHBsYXRmb3JtcyBlLmcuIEFuZHJvaWQgcmV0dXJucyAw
eDEwMSB0byBzaWduYWwKLSAgLy8gYSBHQVRUIGZhaWx1cmUKLSAgLy8gaHR0cHM6Ly9kZXZlbG9w
ZXIuYW5kcm9pZC5jb20vcmVmZXJlbmNlL2FuZHJvaWQvYmx1ZXRvb3RoL0JsdWV0b290aEdhdHQu
aHRtbCNHQVRUX0ZBSUxVUkUKLSAgLy8KLSAgLy8gVGhlIGZvbGxvd2luZyBwcm9jZWR1cmVzIGRl
ZmluZWQgYXQgQlQgNC4yIFZvbCAzIFBhcnQgRyBTZWN0aW9uIDQuCi0gIC8vICJHQVRUIEZlYXR1
cmUgUmVxdWlyZW1lbnRzIiBhcmUgdXNlZCB0byBkaXNjb3ZlciBhdHRyaWJ1dGVzIG9mIHRoZQot
ICAvLyBHQVRUIFNlcnZlcjoKLSAgLy8gIC0gUHJpbWFyeSBTZXJ2aWNlIERpc2NvdmVyeQotICAv
LyAgLSBSZWxhdGlvbnNoaXAgRGlzY292ZXJ5Ci0gIC8vICAtIENoYXJhY3RlcmlzdGljIERpc2Nv
dmVyeQotICAvLyAgLSBDaGFyYWN0ZXJpc3RpYyBEZXNjcmlwdG9yIERpc2NvdmVyeQotICAvLyBU
aGlzIG1ldGhvZCBhaW1zIHRvIHNpbXVsYXRlIHRoZSByZXNwb25zZSBvbmNlIGFsbCBvZiB0aGVz
ZSBwcm9jZWR1cmVzCi0gIC8vIGhhdmUgY29tcGxldGVkIG9yIGlmIHRoZXJlIHdhcyBhbiBlcnJv
ciBkdXJpbmcgYW55IG9mIHRoZW0uCi0gIGFzeW5jIHNldE5leHRHQVRURGlzY292ZXJ5UmVzcG9u
c2Uoe2NvZGV9KSB7Ci0gICAgbGV0IHtzdWNjZXNzfSA9Ci0gICAgICBhd2FpdCB0aGlzLmZha2Vf
Y2VudHJhbF9wdHJfLnNldE5leHRHQVRURGlzY292ZXJ5UmVzcG9uc2UoCi0gICAgICAgIHRoaXMu
YWRkcmVzcywgY29kZSk7Ci0KLSAgICBpZiAoc3VjY2VzcyAhPT0gdHJ1ZSkgdGhyb3cgJ3NldE5l
eHRHQVRURGlzY292ZXJ5UmVzcG9uc2UgZmFpbGVkLic7Ci0gIH0KLQotICAvLyBTaW11bGF0ZXMg
YSBHQVRUIGRpc2Nvbm5lY3Rpb24gZnJvbSB0aGUgcGVyaXBoZXJhbCB3aXRoIHxhZGRyZXNzfC4K
LSAgYXN5bmMgc2ltdWxhdGVHQVRURGlzY29ubmVjdGlvbigpIHsKLSAgICBsZXQge3N1Y2Nlc3N9
ID0KLSAgICAgIGF3YWl0IHRoaXMuZmFrZV9jZW50cmFsX3B0cl8uc2ltdWxhdGVHQVRURGlzY29u
bmVjdGlvbih0aGlzLmFkZHJlc3MpOwotCi0gICAgaWYgKHN1Y2Nlc3MgIT09IHRydWUpIHRocm93
ICdzaW11bGF0ZUdBVFREaXNjb25uZWN0aW9uIGZhaWxlZC4nOwotICB9Ci0KLSAgLy8gU2ltdWxh
dGVzIGFuIEluZGljYXRpb24gZnJvbSB0aGUgcGVyaXBoZXJhbCdzIEdBVFQgYFNlcnZpY2UgQ2hh
bmdlZGAKLSAgLy8gQ2hhcmFjdGVyaXN0aWMgZnJvbSBCVCA0LjIgVm9sIDMgUGFydCBHIDcuMS4g
VGhpcyBJbmRpY2F0aW9uIGlzIHNpZ25hbGVkCi0gIC8vIHdoZW4gc2VydmljZXMsIGNoYXJhY3Rl
cmlzdGljcywgb3IgZGVzY3JpcHRvcnMgYXJlIGNoYW5nZWQsIGFkZGVkLCBvcgotICAvLyByZW1v
dmVkLgotICAvLwotICAvLyBUaGUgdmFsdWUgZm9yIGBTZXJ2aWNlIENoYW5nZWRgIGlzIGEgcmFu
Z2Ugb2YgYXR0cmlidXRlIGhhbmRsZXMgdGhhdCBoYXZlCi0gIC8vIGNoYW5nZWQuIEhvd2V2ZXIs
IHRoaXMgdGVzdGluZyBzcGVjaWZpY2F0aW9uIHdvcmtzIGF0IGFuIGFic3RyYWN0ZWQKLSAgLy8g
bGV2ZWwgYW5kIGRvZXMgbm90IGV4cG9zZSBzZXR0aW5nIGF0dHJpYnV0ZSBoYW5kbGVzIHdoZW4g
YWRkaW5nCi0gIC8vIGF0dHJpYnV0ZXMuIENvbnNlcXVlbnRseSwgdGhpcyBzaW11bGF0ZSBtZXRo
b2Qgc2hvdWxkIGluY2x1ZGUgdGhlIGZ1bGwKLSAgLy8gcmFuZ2Ugb2YgYWxsIHRoZSBwZXJpcGhl
cmFsJ3MgYXR0cmlidXRlIGhhbmRsZSB2YWx1ZXMuCi0gIGFzeW5jIHNpbXVsYXRlR0FUVFNlcnZp
Y2VzQ2hhbmdlZCgpIHsKLSAgICBsZXQge3N1Y2Nlc3N9ID0KLSAgICAgIGF3YWl0IHRoaXMuZmFr
ZV9jZW50cmFsX3B0cl8uc2ltdWxhdGVHQVRUU2VydmljZXNDaGFuZ2VkKHRoaXMuYWRkcmVzcyk7
Ci0KLSAgICBpZiAoc3VjY2VzcyAhPT0gdHJ1ZSkgdGhyb3cgJ3NpbXVsYXRlR0FUVFNlcnZpY2Vz
Q2hhbmdlZCBmYWlsZWQuJzsKLSAgfQotfQotCi1jbGFzcyBGYWtlUmVtb3RlR0FUVFNlcnZpY2Ug
ewotICBjb25zdHJ1Y3RvcihzZXJ2aWNlX2lkLCBwZXJpcGhlcmFsX2FkZHJlc3MsIGZha2VfY2Vu
dHJhbF9wdHIpIHsKLSAgICB0aGlzLnNlcnZpY2VfaWRfID0gc2VydmljZV9pZDsKLSAgICB0aGlz
LnBlcmlwaGVyYWxfYWRkcmVzc18gPSBwZXJpcGhlcmFsX2FkZHJlc3M7Ci0gICAgdGhpcy5mYWtl
X2NlbnRyYWxfcHRyXyA9IGZha2VfY2VudHJhbF9wdHI7Ci0gIH0KLQotICAvLyBBZGRzIGEgZmFr
ZSBHQVRUIENoYXJhY3RlcmlzdGljIHdpdGggfHV1aWR8IGFuZCB8cHJvcGVydGllc3wKLSAgLy8g
dG8gdGhpcyBmYWtlIHNlcnZpY2UuIFRoZSBjaGFyYWN0ZXJpc3RpYyB3aWxsIGJlIGZvdW5kIHdo
ZW4gZGlzY292ZXJpbmcKLSAgLy8gdGhlIHBlcmlwaGVyYWwncyBHQVRUIEF0dHJpYnV0ZXMuIFJl
dHVybnMgYSBGYWtlUmVtb3RlR0FUVENoYXJhY3RlcmlzdGljCi0gIC8vIGNvcnJlc3BvbmRpbmcg
dG8gdGhlIGFkZGVkIGNoYXJhY3RlcmlzdGljLgotICBhc3luYyBhZGRGYWtlQ2hhcmFjdGVyaXN0
aWMoe3V1aWQsIHByb3BlcnRpZXN9KSB7Ci0gICAgbGV0IHtjaGFyYWN0ZXJpc3RpY0lkOiBjaGFy
YWN0ZXJpc3RpY19pZH0gPQotICAgICAgICBhd2FpdCB0aGlzLmZha2VfY2VudHJhbF9wdHJfLmFk
ZEZha2VDaGFyYWN0ZXJpc3RpYygKLSAgICAgICAgICAgIHt1dWlkOiBCbHVldG9vdGhVVUlELmdl
dENoYXJhY3RlcmlzdGljKHV1aWQpfSwKLSAgICAgICAgICAgIEFycmF5VG9Nb2pvQ2hhcmFjdGVy
aXN0aWNQcm9wZXJ0aWVzKHByb3BlcnRpZXMpLAotICAgICAgICAgICAgdGhpcy5zZXJ2aWNlX2lk
XywKLSAgICAgICAgICAgIHRoaXMucGVyaXBoZXJhbF9hZGRyZXNzXyk7Ci0KLSAgICBpZiAoY2hh
cmFjdGVyaXN0aWNfaWQgPT09IG51bGwpIHRocm93ICdhZGRGYWtlQ2hhcmFjdGVyaXN0aWMgZmFp
bGVkJzsKLQotICAgIHJldHVybiBuZXcgRmFrZVJlbW90ZUdBVFRDaGFyYWN0ZXJpc3RpYygKLSAg
ICAgIGNoYXJhY3RlcmlzdGljX2lkLCB0aGlzLnNlcnZpY2VfaWRfLAotICAgICAgdGhpcy5wZXJp
cGhlcmFsX2FkZHJlc3NfLCB0aGlzLmZha2VfY2VudHJhbF9wdHJfKTsKLSAgfQotCi0gIC8vIFJl
bW92ZXMgdGhlIGZha2UgR0FUVCBzZXJ2aWNlIGZyb20gaXRzIGZha2UgcGVyaXBoZXJhbC4KLSAg
YXN5bmMgcmVtb3ZlKCkgewotICAgIGxldCB7c3VjY2Vzc30gPQotICAgICAgICBhd2FpdCB0aGlz
LmZha2VfY2VudHJhbF9wdHJfLnJlbW92ZUZha2VTZXJ2aWNlKAotICAgICAgICAgICAgdGhpcy5z
ZXJ2aWNlX2lkXywKLSAgICAgICAgICAgIHRoaXMucGVyaXBoZXJhbF9hZGRyZXNzXyk7Ci0KLSAg
ICBpZiAoIXN1Y2Nlc3MpIHRocm93ICdyZW1vdmUgZmFpbGVkJzsKLSAgfQotfQotCi1jbGFzcyBG
YWtlUmVtb3RlR0FUVENoYXJhY3RlcmlzdGljIHsKLSAgY29uc3RydWN0b3IoY2hhcmFjdGVyaXN0
aWNfaWQsIHNlcnZpY2VfaWQsIHBlcmlwaGVyYWxfYWRkcmVzcywKLSAgICAgIGZha2VfY2VudHJh
bF9wdHIpIHsKLSAgICB0aGlzLmlkc18gPSBbY2hhcmFjdGVyaXN0aWNfaWQsIHNlcnZpY2VfaWQs
IHBlcmlwaGVyYWxfYWRkcmVzc107Ci0gICAgdGhpcy5kZXNjcmlwdG9yc18gPSBbXTsKLSAgICB0
aGlzLmZha2VfY2VudHJhbF9wdHJfID0gZmFrZV9jZW50cmFsX3B0cjsKLSAgfQotCi0gIC8vIEFk
ZHMgYSBmYWtlIEdBVFQgRGVzY3JpcHRvciB3aXRoIHx1dWlkfCB0byBiZSBkaXNjb3ZlcmVkIHdo
ZW4KLSAgLy8gZGlzY292ZXJpbmcgdGhlIHBlcmlwaGVyYWwncyBHQVRUIEF0dHJpYnV0ZXMuIFJl
dHVybnMgYQotICAvLyBGYWtlUmVtb3RlR0FUVERlc2NyaXB0b3IgY29ycmVzcG9uZGluZyB0byB0
aGlzIGRlc2NyaXB0b3IuIHx1dWlkfCBzaG91bGQKLSAgLy8gYmUgYSBCbHVldG9vdGhEZXNjcmlw
dG9yVVVJRAotICAvLyBodHRwczovL3dlYmJsdWV0b290aGNnLmdpdGh1Yi5pby93ZWItYmx1ZXRv
b3RoLyN0eXBlZGVmZGVmLWJsdWV0b290aGRlc2NyaXB0b3J1dWlkCi0gIGFzeW5jIGFkZEZha2VE
ZXNjcmlwdG9yKHt1dWlkfSkgewotICAgIGxldCB7ZGVzY3JpcHRvcklkOiBkZXNjcmlwdG9yX2lk
fSA9Ci0gICAgICAgIGF3YWl0IHRoaXMuZmFrZV9jZW50cmFsX3B0cl8uYWRkRmFrZURlc2NyaXB0
b3IoCi0gICAgICAgICAgICB7dXVpZDogQmx1ZXRvb3RoVVVJRC5nZXREZXNjcmlwdG9yKHV1aWQp
fSwgLi4udGhpcy5pZHNfKTsKLQotICAgIGlmIChkZXNjcmlwdG9yX2lkID09PSBudWxsKSB0aHJv
dyAnYWRkRmFrZURlc2NyaXB0b3IgZmFpbGVkJzsKLQotICAgIGxldCBmYWtlX2Rlc2NyaXB0b3Ig
PSBuZXcgRmFrZVJlbW90ZUdBVFREZXNjcmlwdG9yKAotICAgICAgZGVzY3JpcHRvcl9pZCwgLi4u
dGhpcy5pZHNfLCB0aGlzLmZha2VfY2VudHJhbF9wdHJfKTsKLSAgICB0aGlzLmRlc2NyaXB0b3Jz
Xy5wdXNoKGZha2VfZGVzY3JpcHRvcik7Ci0KLSAgICByZXR1cm4gZmFrZV9kZXNjcmlwdG9yOwot
ICB9Ci0KLSAgLy8gU2V0cyB0aGUgbmV4dCByZWFkIHJlc3BvbnNlIGZvciBjaGFyYWN0ZXJpc3Rp
YyB0byB8Y29kZXwgYW5kIHx2YWx1ZXwuCi0gIC8vIHxjb2RlfCBjb3VsZCBiZSBhIEdBVFQgRXJy
b3IgUmVzcG9uc2UgZnJvbQotICAvLyBCVCA0LjIgVm9sIDMgUGFydCBGIDMuNC4xLjEgRXJyb3Ig
UmVzcG9uc2Ugb3IgYSBudW1iZXIgb3V0c2lkZSB0aGF0IHJhbmdlCi0gIC8vIHJldHVybmVkIGJ5
IHNwZWNpZmljIHBsYXRmb3JtcyBlLmcuIEFuZHJvaWQgcmV0dXJucyAweDEwMSB0byBzaWduYWwg
YSBHQVRUCi0gIC8vIGZhaWx1cmUuCi0gIC8vIGh0dHBzOi8vZGV2ZWxvcGVyLmFuZHJvaWQuY29t
L3JlZmVyZW5jZS9hbmRyb2lkL2JsdWV0b290aC9CbHVldG9vdGhHYXR0Lmh0bWwjR0FUVF9GQUlM
VVJFCi0gIGFzeW5jIHNldE5leHRSZWFkUmVzcG9uc2UoZ2F0dF9jb2RlLCB2YWx1ZT1udWxsKSB7
Ci0gICAgaWYgKGdhdHRfY29kZSA9PT0gMCAmJiB2YWx1ZSA9PT0gbnVsbCkgewotICAgICAgdGhy
b3cgJ3x2YWx1ZXwgY2FuXCd0IGJlIG51bGwgaWYgcmVhZCBzaG91bGQgc3VjY2Vzcy4nOwotICAg
IH0KLSAgICBpZiAoZ2F0dF9jb2RlICE9PSAwICYmIHZhbHVlICE9PSBudWxsKSB7Ci0gICAgICB0
aHJvdyAnfHZhbHVlfCBtdXN0IGJlIG51bGwgaWYgcmVhZCBzaG91bGQgZmFpbC4nOwotICAgIH0K
LQotICAgIGxldCB7c3VjY2Vzc30gPQotICAgICAgYXdhaXQgdGhpcy5mYWtlX2NlbnRyYWxfcHRy
Xy5zZXROZXh0UmVhZENoYXJhY3RlcmlzdGljUmVzcG9uc2UoCi0gICAgICAgIGdhdHRfY29kZSwg
dmFsdWUsIC4uLnRoaXMuaWRzXyk7Ci0KLSAgICBpZiAoIXN1Y2Nlc3MpIHRocm93ICdzZXROZXh0
UmVhZENoYXJhY3RlcmlzdGljUmVzcG9uc2UgZmFpbGVkJzsKLSAgfQotCi0gIC8vIFNldHMgdGhl
IG5leHQgd3JpdGUgcmVzcG9uc2UgZm9yIHRoaXMgY2hhcmFjdGVyaXN0aWMgdG8gfGNvZGV8LiBJ
ZgotICAvLyB3cml0aW5nIHRvIGEgY2hhcmFjdGVyaXN0aWMgdGhhdCBvbmx5IHN1cHBvcnRzICd3
cml0ZV93aXRob3V0X3Jlc3BvbnNlJwotICAvLyB0aGUgc2V0IHJlc3BvbnNlIHdpbGwgYmUgaWdu
b3JlZC4KLSAgLy8gfGNvZGV8IGNvdWxkIGJlIGEgR0FUVCBFcnJvciBSZXNwb25zZSBmcm9tCi0g
IC8vIEJUIDQuMiBWb2wgMyBQYXJ0IEYgMy40LjEuMSBFcnJvciBSZXNwb25zZSBvciBhIG51bWJl
ciBvdXRzaWRlIHRoYXQgcmFuZ2UKLSAgLy8gcmV0dXJuZWQgYnkgc3BlY2lmaWMgcGxhdGZvcm1z
IGUuZy4gQW5kcm9pZCByZXR1cm5zIDB4MTAxIHRvIHNpZ25hbCBhIEdBVFQKLSAgLy8gZmFpbHVy
ZS4KLSAgYXN5bmMgc2V0TmV4dFdyaXRlUmVzcG9uc2UoZ2F0dF9jb2RlKSB7Ci0gICAgbGV0IHtz
dWNjZXNzfSA9Ci0gICAgICBhd2FpdCB0aGlzLmZha2VfY2VudHJhbF9wdHJfLnNldE5leHRXcml0
ZUNoYXJhY3RlcmlzdGljUmVzcG9uc2UoCi0gICAgICAgIGdhdHRfY29kZSwgLi4udGhpcy5pZHNf
KTsKLQotICAgIGlmICghc3VjY2VzcykgdGhyb3cgJ3NldE5leHRXcml0ZUNoYXJhY3RlcmlzdGlj
UmVzcG9uc2UgZmFpbGVkJzsKLSAgfQotCi0gIC8vIFNldHMgdGhlIG5leHQgc3Vic2NyaWJlIHRv
IG5vdGlmaWNhdGlvbnMgcmVzcG9uc2UgZm9yIGNoYXJhY3RlcmlzdGljIHdpdGgKLSAgLy8gfGNo
YXJhY3RlcmlzdGljX2lkfCBpbiB8c2VydmljZV9pZHwgYW5kIGluIHxwZXJpcGhlcmFsX2FkZHJl
c3N8IHRvCi0gIC8vIHxjb2RlfC4gfGNvZGV8IGNvdWxkIGJlIGEgR0FUVCBFcnJvciBSZXNwb25z
ZSBmcm9tIEJUIDQuMiBWb2wgMyBQYXJ0IEYKLSAgLy8gMy40LjEuMSBFcnJvciBSZXNwb25zZSBv
ciBhIG51bWJlciBvdXRzaWRlIHRoYXQgcmFuZ2UgcmV0dXJuZWQgYnkKLSAgLy8gc3BlY2lmaWMg
cGxhdGZvcm1zIGUuZy4gQW5kcm9pZCByZXR1cm5zIDB4MTAxIHRvIHNpZ25hbCBhIEdBVFQgZmFp
bHVyZS4KLSAgYXN5bmMgc2V0TmV4dFN1YnNjcmliZVRvTm90aWZpY2F0aW9uc1Jlc3BvbnNlKGdh
dHRfY29kZSkgewotICAgIGxldCB7c3VjY2Vzc30gPQotICAgICAgYXdhaXQgdGhpcy5mYWtlX2Nl
bnRyYWxfcHRyXy5zZXROZXh0U3Vic2NyaWJlVG9Ob3RpZmljYXRpb25zUmVzcG9uc2UoCi0gICAg
ICAgIGdhdHRfY29kZSwgLi4udGhpcy5pZHNfKTsKLQotICAgIGlmICghc3VjY2VzcykgdGhyb3cg
J3NldE5leHRTdWJzY3JpYmVUb05vdGlmaWNhdGlvbnNSZXNwb25zZSBmYWlsZWQnOwotICB9Ci0K
LSAgLy8gU2V0cyB0aGUgbmV4dCB1bnN1YnNjcmliZSB0byBub3RpZmljYXRpb25zIHJlc3BvbnNl
IGZvciBjaGFyYWN0ZXJpc3RpYyB3aXRoCi0gIC8vIHxjaGFyYWN0ZXJpc3RpY19pZHwgaW4gfHNl
cnZpY2VfaWR8IGFuZCBpbiB8cGVyaXBoZXJhbF9hZGRyZXNzfCB0bwotICAvLyB8Y29kZXwuIHxj
b2RlfCBjb3VsZCBiZSBhIEdBVFQgRXJyb3IgUmVzcG9uc2UgZnJvbSBCVCA0LjIgVm9sIDMgUGFy
dCBGCi0gIC8vIDMuNC4xLjEgRXJyb3IgUmVzcG9uc2Ugb3IgYSBudW1iZXIgb3V0c2lkZSB0aGF0
IHJhbmdlIHJldHVybmVkIGJ5Ci0gIC8vIHNwZWNpZmljIHBsYXRmb3JtcyBlLmcuIEFuZHJvaWQg
cmV0dXJucyAweDEwMSB0byBzaWduYWwgYSBHQVRUIGZhaWx1cmUuCi0gIGFzeW5jIHNldE5leHRV
bnN1YnNjcmliZUZyb21Ob3RpZmljYXRpb25zUmVzcG9uc2UoZ2F0dF9jb2RlKSB7Ci0gICAgbGV0
IHtzdWNjZXNzfSA9Ci0gICAgICBhd2FpdCB0aGlzLmZha2VfY2VudHJhbF9wdHJfLnNldE5leHRV
bnN1YnNjcmliZUZyb21Ob3RpZmljYXRpb25zUmVzcG9uc2UoCi0gICAgICAgIGdhdHRfY29kZSwg
Li4udGhpcy5pZHNfKTsKLQotICAgIGlmICghc3VjY2VzcykgdGhyb3cgJ3NldE5leHRVbnN1YnNj
cmliZVRvTm90aWZpY2F0aW9uc1Jlc3BvbnNlIGZhaWxlZCc7Ci0gIH0KLQotICAvLyBSZXR1cm5z
IHRydWUgaWYgbm90aWZpY2F0aW9ucyBmcm9tIHRoZSBjaGFyYWN0ZXJpc3RpYyBoYXZlIGJlZW4g
c3Vic2NyaWJlZAotICAvLyB0by4KLSAgYXN5bmMgaXNOb3RpZnlpbmcoKSB7Ci0gICAgbGV0IHtz
dWNjZXNzLCBpc05vdGlmeWluZ30gPQotICAgICAgICBhd2FpdCB0aGlzLmZha2VfY2VudHJhbF9w
dHJfLmlzTm90aWZ5aW5nKC4uLnRoaXMuaWRzXyk7Ci0KLSAgICBpZiAoIXN1Y2Nlc3MpIHRocm93
ICdpc05vdGlmeWluZyBmYWlsZWQnOwotCi0gICAgcmV0dXJuIGlzTm90aWZ5aW5nOwotICB9Ci0K
LSAgLy8gR2V0cyB0aGUgbGFzdCBzdWNjZXNzZnVsbHkgd3JpdHRlbiB2YWx1ZSB0byB0aGUgY2hh
cmFjdGVyaXN0aWMuCi0gIC8vIFJldHVybnMgbnVsbCBpZiBubyB2YWx1ZSBoYXMgeWV0IGJlZW4g
d3JpdHRlbiB0byB0aGUgY2hhcmFjdGVyaXN0aWMuCi0gIGFzeW5jIGdldExhc3RXcml0dGVuVmFs
dWUoKSB7Ci0gICAgbGV0IHtzdWNjZXNzLCB2YWx1ZX0gPQotICAgICAgYXdhaXQgdGhpcy5mYWtl
X2NlbnRyYWxfcHRyXy5nZXRMYXN0V3JpdHRlbkNoYXJhY3RlcmlzdGljVmFsdWUoCi0gICAgICAg
ICAgLi4udGhpcy5pZHNfKTsKLQotICAgIGlmICghc3VjY2VzcykgdGhyb3cgJ2dldExhc3RXcml0
dGVuQ2hhcmFjdGVyaXN0aWNWYWx1ZSBmYWlsZWQnOwotCi0gICAgcmV0dXJuIHZhbHVlOwotICB9
Ci0KLSAgLy8gUmVtb3ZlcyB0aGUgZmFrZSBHQVRUIENoYXJhY3RlcmlzdGljIGZyb20gaXRzIGZh
a2Ugc2VydmljZS4KLSAgYXN5bmMgcmVtb3ZlKCkgewotICAgIGxldCB7c3VjY2Vzc30gPQotICAg
ICAgICBhd2FpdCB0aGlzLmZha2VfY2VudHJhbF9wdHJfLnJlbW92ZUZha2VDaGFyYWN0ZXJpc3Rp
YyguLi50aGlzLmlkc18pOwotCi0gICAgaWYgKCFzdWNjZXNzKSB0aHJvdyAncmVtb3ZlIGZhaWxl
ZCc7Ci0gIH0KLX0KLQotY2xhc3MgRmFrZVJlbW90ZUdBVFREZXNjcmlwdG9yIHsKLSAgY29uc3Ry
dWN0b3IoZGVzY3JpcHRvcl9pZCwKLSAgICAgICAgICAgICAgY2hhcmFjdGVyaXN0aWNfaWQsCi0g
ICAgICAgICAgICAgIHNlcnZpY2VfaWQsCi0gICAgICAgICAgICAgIHBlcmlwaGVyYWxfYWRkcmVz
cywKLSAgICAgICAgICAgICAgZmFrZV9jZW50cmFsX3B0cikgewotICAgIHRoaXMuaWRzXyA9IFsK
LSAgICAgIGRlc2NyaXB0b3JfaWQsIGNoYXJhY3RlcmlzdGljX2lkLCBzZXJ2aWNlX2lkLCBwZXJp
cGhlcmFsX2FkZHJlc3NdOwotICAgIHRoaXMuZmFrZV9jZW50cmFsX3B0cl8gPSBmYWtlX2NlbnRy
YWxfcHRyOwotICB9Ci0KLSAgLy8gU2V0cyB0aGUgbmV4dCByZWFkIHJlc3BvbnNlIGZvciBkZXNj
cmlwdG9yIHRvIHxjb2RlfCBhbmQgfHZhbHVlfC4KLSAgLy8gfGNvZGV8IGNvdWxkIGJlIGEgR0FU
VCBFcnJvciBSZXNwb25zZSBmcm9tCi0gIC8vIEJUIDQuMiBWb2wgMyBQYXJ0IEYgMy40LjEuMSBF
cnJvciBSZXNwb25zZSBvciBhIG51bWJlciBvdXRzaWRlIHRoYXQgcmFuZ2UKLSAgLy8gcmV0dXJu
ZWQgYnkgc3BlY2lmaWMgcGxhdGZvcm1zIGUuZy4gQW5kcm9pZCByZXR1cm5zIDB4MTAxIHRvIHNp
Z25hbCBhIEdBVFQKLSAgLy8gZmFpbHVyZS4KLSAgLy8gaHR0cHM6Ly9kZXZlbG9wZXIuYW5kcm9p
ZC5jb20vcmVmZXJlbmNlL2FuZHJvaWQvYmx1ZXRvb3RoL0JsdWV0b290aEdhdHQuaHRtbCNHQVRU
X0ZBSUxVUkUKLSAgYXN5bmMgc2V0TmV4dFJlYWRSZXNwb25zZShnYXR0X2NvZGUsIHZhbHVlPW51
bGwpIHsKLSAgICBpZiAoZ2F0dF9jb2RlID09PSAwICYmIHZhbHVlID09PSBudWxsKSB7Ci0gICAg
ICB0aHJvdyAnfHZhbHVlfCBjYW5ub3QgYmUgbnVsbCBpZiByZWFkIHNob3VsZCBzdWNjZWVkLic7
Ci0gICAgfQotICAgIGlmIChnYXR0X2NvZGUgIT09IDAgJiYgdmFsdWUgIT09IG51bGwpIHsKLSAg
ICAgIHRocm93ICd8dmFsdWV8IG11c3QgYmUgbnVsbCBpZiByZWFkIHNob3VsZCBmYWlsLic7Ci0g
ICAgfQotCi0gICAgbGV0IHtzdWNjZXNzfSA9Ci0gICAgICBhd2FpdCB0aGlzLmZha2VfY2VudHJh
bF9wdHJfLnNldE5leHRSZWFkRGVzY3JpcHRvclJlc3BvbnNlKAotICAgICAgICBnYXR0X2NvZGUs
IHZhbHVlLCAuLi50aGlzLmlkc18pOwotCi0gICAgaWYgKCFzdWNjZXNzKSB0aHJvdyAnc2V0TmV4
dFJlYWREZXNjcmlwdG9yUmVzcG9uc2UgZmFpbGVkJzsKLSAgfQotCi0gIC8vIFNldHMgdGhlIG5l
eHQgd3JpdGUgcmVzcG9uc2UgZm9yIHRoaXMgZGVzY3JpcHRvciB0byB8Y29kZXwuCi0gIC8vIHxj
b2RlfCBjb3VsZCBiZSBhIEdBVFQgRXJyb3IgUmVzcG9uc2UgZnJvbQotICAvLyBCVCA0LjIgVm9s
IDMgUGFydCBGIDMuNC4xLjEgRXJyb3IgUmVzcG9uc2Ugb3IgYSBudW1iZXIgb3V0c2lkZSB0aGF0
IHJhbmdlCi0gIC8vIHJldHVybmVkIGJ5IHNwZWNpZmljIHBsYXRmb3JtcyBlLmcuIEFuZHJvaWQg
cmV0dXJucyAweDEwMSB0byBzaWduYWwgYSBHQVRUCi0gIC8vIGZhaWx1cmUuCi0gIGFzeW5jIHNl
dE5leHRXcml0ZVJlc3BvbnNlKGdhdHRfY29kZSkgewotICAgIGxldCB7c3VjY2Vzc30gPQotICAg
ICAgYXdhaXQgdGhpcy5mYWtlX2NlbnRyYWxfcHRyXy5zZXROZXh0V3JpdGVEZXNjcmlwdG9yUmVz
cG9uc2UoCi0gICAgICAgIGdhdHRfY29kZSwgLi4udGhpcy5pZHNfKTsKLQotICAgIGlmICghc3Vj
Y2VzcykgdGhyb3cgJ3NldE5leHRXcml0ZURlc2NyaXB0b3JSZXNwb25zZSBmYWlsZWQnOwotICB9
Ci0KLSAgLy8gR2V0cyB0aGUgbGFzdCBzdWNjZXNzZnVsbHkgd3JpdHRlbiB2YWx1ZSB0byB0aGUg
ZGVzY3JpcHRvci4KLSAgLy8gUmV0dXJucyBudWxsIGlmIG5vIHZhbHVlIGhhcyB5ZXQgYmVlbiB3
cml0dGVuIHRvIHRoZSBkZXNjcmlwdG9yLgotICBhc3luYyBnZXRMYXN0V3JpdHRlblZhbHVlKCkg
ewotICAgIGxldCB7c3VjY2VzcywgdmFsdWV9ID0KLSAgICAgIGF3YWl0IHRoaXMuZmFrZV9jZW50
cmFsX3B0cl8uZ2V0TGFzdFdyaXR0ZW5EZXNjcmlwdG9yVmFsdWUoCi0gICAgICAgICAgLi4udGhp
cy5pZHNfKTsKLQotICAgIGlmICghc3VjY2VzcykgdGhyb3cgJ2dldExhc3RXcml0dGVuRGVzY3Jp
cHRvclZhbHVlIGZhaWxlZCc7Ci0KLSAgICByZXR1cm4gdmFsdWU7Ci0gIH0KLQotICAvLyBSZW1v
dmVzIHRoZSBmYWtlIEdBVFQgRGVzY3JpcHRvciBmcm9tIGl0cyBmYWtlIGNoYXJhY3RlcmlzdGlj
LgotICBhc3luYyByZW1vdmUoKSB7Ci0gICAgbGV0IHtzdWNjZXNzfSA9Ci0gICAgICAgIGF3YWl0
IHRoaXMuZmFrZV9jZW50cmFsX3B0cl8ucmVtb3ZlRmFrZURlc2NyaXB0b3IoLi4udGhpcy5pZHNf
KTsKLQotICAgIGlmICghc3VjY2VzcykgdGhyb3cgJ3JlbW92ZSBmYWlsZWQnOwotICB9Ci19Ci0K
LS8vIEZha2VDaG9vc2VyIGFsbG93cyBjbGllbnRzIHRvIHNpbXVsYXRlIHVzZXIgYWN0aW9ucyBv
biBhIEJsdWV0b290aCBjaG9vc2VyLAotLy8gYW5kIHJlY29yZHMgdGhlIGV2ZW50cyBwcm9kdWNl
ZCBieSB0aGUgQmx1ZXRvb3RoIGNob29zZXIuCi1jbGFzcyBGYWtlQ2hvb3NlciB7Ci0gIGNvbnN0
cnVjdG9yKCkgewotICAgIGxldCBmYWtlQmx1ZXRvb3RoQ2hvb3NlckZhY3RvcnlQdHIgPQotICAg
ICAgICBuZXcgY29udGVudC5tb2pvbS5GYWtlQmx1ZXRvb3RoQ2hvb3NlckZhY3RvcnlQdHIoKTsK
LSAgICBNb2pvLmJpbmRJbnRlcmZhY2UoY29udGVudC5tb2pvbS5GYWtlQmx1ZXRvb3RoQ2hvb3Nl
ckZhY3RvcnkubmFtZSwKLSAgICAgICAgbW9qby5tYWtlUmVxdWVzdChmYWtlQmx1ZXRvb3RoQ2hv
b3NlckZhY3RvcnlQdHIpLmhhbmRsZSwgJ3Byb2Nlc3MnKTsKLQotICAgIHRoaXMuZmFrZV9ibHVl
dG9vdGhfY2hvb3Nlcl9wdHJfID0KLSAgICAgICAgbmV3IGNvbnRlbnQubW9qb20uRmFrZUJsdWV0
b290aENob29zZXJQdHIoKTsKLQotICAgIGxldCBjbGllbnRQdHJJbmZvID0gbmV3IG1vam8uQXNz
b2NpYXRlZEludGVyZmFjZVB0ckluZm8oKTsKLSAgICB0aGlzLmZha2VfYmx1ZXRvb3RoX2Nob29z
ZXJfY2xpZW50X2JpbmRpbmdfID0KLSAgICAgICAgbmV3IG1vam8uQXNzb2NpYXRlZEJpbmRpbmco
Y29udGVudC5tb2pvbS5GYWtlQmx1ZXRvb3RoQ2hvb3NlckNsaWVudCwKLSAgICAgICAgICAgIHRo
aXMsIG1vam8ubWFrZVJlcXVlc3QoY2xpZW50UHRySW5mbykpOwotCi0gICAgZmFrZUJsdWV0b290
aENob29zZXJGYWN0b3J5UHRyLmNyZWF0ZUZha2VCbHVldG9vdGhDaG9vc2VyKAotICAgICAgICBt
b2pvLm1ha2VSZXF1ZXN0KHRoaXMuZmFrZV9ibHVldG9vdGhfY2hvb3Nlcl9wdHJfKSwgY2xpZW50
UHRySW5mbyk7Ci0KLSAgICB0aGlzLmV2ZW50c18gPSBuZXcgQXJyYXkoKTsKLSAgICB0aGlzLmV2
ZW50X2xpc3RlbmVyXyA9IG51bGw7Ci0gIH0KLQotICAvLyBJZiB0aGUgY2hvb3NlciBoYXMgcmVj
ZWl2ZWQgbW9yZSBldmVudHMgdGhhbiB8bnVtT2ZFdmVudHN8IHRoaXMgZnVuY3Rpb24KLSAgLy8g
d2lsbCByZWplY3QgdGhlIHByb21pc2UsIGVsc2UgaXQgd2lsbCB3YWl0IHVudGlsIHxudW1PZkV2
ZW50c3wgZXZlbnRzIGFyZQotICAvLyByZWNlaXZlZCBiZWZvcmUgcmVzb2x2aW5nIHdpdGggYW4g
YXJyYXkgb2YgfEZha2VCbHVldG9vdGhDaG9vc2VyRXZlbnR8Ci0gIC8vIG9iamVjdHMuCi0gIGFz
eW5jIHdhaXRGb3JFdmVudHMobnVtT2ZFdmVudHMpIHsKLSAgICByZXR1cm4gbmV3IFByb21pc2Uo
cmVzb2x2ZSA9PiB7Ci0gICAgICBpZiAodGhpcy5ldmVudHNfLmxlbmd0aCA+IG51bU9mRXZlbnRz
KSB7Ci0gICAgICAgIHRocm93IGBBc2tlZCBmb3IgJHtudW1PZkV2ZW50c30gZXZlbnQocyksIGJ1
dCByZWNlaXZlZCBgICsKLSAgICAgICAgICAgIGAke3RoaXMuZXZlbnRzXy5sZW5ndGh9LmA7Ci0g
ICAgICB9Ci0KLSAgICAgIHRoaXMuZXZlbnRfbGlzdGVuZXJfID0gKCkgPT4gewotICAgICAgICAg
aWYgKHRoaXMuZXZlbnRzXy5sZW5ndGggPT09IG51bU9mRXZlbnRzKSB7Ci0gICAgICAgICAgbGV0
IHJlc3VsdCA9IEFycmF5LmZyb20odGhpcy5ldmVudHNfKTsKLSAgICAgICAgICB0aGlzLmV2ZW50
X2xpc3RlbmVyXyA9IG51bGw7Ci0gICAgICAgICAgdGhpcy5ldmVudHNfID0gW107Ci0gICAgICAg
ICAgcmVzb2x2ZShyZXN1bHQpOwotICAgICAgICB9Ci0gICAgICB9OwotICAgICAgdGhpcy5ldmVu
dF9saXN0ZW5lcl8oKTsKLSAgICB9KTsKLSAgfQotCi0gIGFzeW5jIHNlbGVjdFBlcmlwaGVyYWwo
cGVyaXBoZXJhbCkgewotICAgIGlmICghKHBlcmlwaGVyYWwgaW5zdGFuY2VvZiBGYWtlUGVyaXBo
ZXJhbCkpIHsKLSAgICAgIHRocm93ICd8cGVyaXBoZXJhbHwgbXVzdCBiZSBhbiBpbnN0YW5jZSBv
ZiBGYWtlUGVyaXBoZXJhbCc7Ci0gICAgfQotICAgIGF3YWl0IHRoaXMuZmFrZV9ibHVldG9vdGhf
Y2hvb3Nlcl9wdHJfLnNlbGVjdFBlcmlwaGVyYWwocGVyaXBoZXJhbC5hZGRyZXNzKTsKLSAgfQot
Ci0gIGFzeW5jIGNhbmNlbCgpIHsKLSAgICBhd2FpdCB0aGlzLmZha2VfYmx1ZXRvb3RoX2Nob29z
ZXJfcHRyXy5jYW5jZWwoKTsKLSAgfQotCi0gIGFzeW5jIHJlc2NhbigpIHsKLSAgICBhd2FpdCB0
aGlzLmZha2VfYmx1ZXRvb3RoX2Nob29zZXJfcHRyXy5yZXNjYW4oKTsKLSAgfQotCi0gIG9uRXZl
bnQoY2hvb3NlckV2ZW50KSB7Ci0gICAgY2hvb3NlckV2ZW50LnR5cGUgPSBNT0pPX0NIT09TRVJf
RVZFTlRfVFlQRV9NQVBbY2hvb3NlckV2ZW50LnR5cGVdOwotICAgIHRoaXMuZXZlbnRzXy5wdXNo
KGNob29zZXJFdmVudCk7Ci0gICAgaWYgKHRoaXMuZXZlbnRfbGlzdGVuZXJfICE9PSBudWxsKSB7
Ci0gICAgICB0aGlzLmV2ZW50X2xpc3RlbmVyXygpOwotICAgIH0KLSAgfQotfQotCi0vLyBJZiB0
aGlzIGxpbmUgZmFpbHMsIGl0IG1lYW5zIHRoYXQgY3VycmVudCBlbnZpcm9ubWVudCBkb2VzIG5v
dCBzdXBwb3J0IHRoZQotLy8gV2ViIEJsdWV0b290aCBUZXN0IEFQSS4KLXRyeSB7Ci0gIG5hdmln
YXRvci5ibHVldG9vdGgudGVzdCA9IG5ldyBGYWtlQmx1ZXRvb3RoKCk7Ci19IGNhdGNoIHsKLSAg
ICB0aHJvdyAnV2ViIEJsdWV0b290aCBUZXN0IEFQSSBpcyBub3QgaW1wbGVtZW50ZWQgb24gdGhp
cyAnICsKLSAgICAgICAgJ2Vudmlyb25tZW50LiBTZWUgdGhlIGJsdWV0b290aCBSRUFETUUgYXQg
JyArCi0gICAgICAgICdodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdC9i
bG9iL21hc3Rlci9ibHVldG9vdGgvUkVBRE1FLm1kI3dlYi1ibHVldG9vdGgtdGVzdGluZyc7Ci19
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy9jaHJvbWl1bS93ZWItYmx1ZXRvb3RoLXRlc3QuanMuaGVhZGVycyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVt
L3dlYi1ibHVldG9vdGgtdGVzdC5qcy5oZWFkZXJzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCA2ODA1YzMyM2RmNS4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vd2ViLWJsdWV0b290aC10
ZXN0LmpzLmhlYWRlcnMKKysrIC9kZXYvbnVsbApAQCAtMSArMCwwIEBACi1Db250ZW50LVR5cGU6
IHRleHQvamF2YXNjcmlwdDsgY2hhcnNldD11dGYtOApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vd2ViX3Vz
Yl9zZXJ2aWNlLm1vam9tLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vd2ViX3VzYl9zZXJ2aWNlLm1vam9tLmpzCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhNGEwMTdiMWRlMS4uMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hy
b21pdW0vd2ViX3VzYl9zZXJ2aWNlLm1vam9tLmpzCisrKyAvZGV2L251bGwKQEAgLTEsNjE0ICsw
LDAgQEAKLS8vIENvcHlyaWdodCAyMDE0IFRoZSBDaHJvbWl1bSBBdXRob3JzLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgotLy8gVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBC
U0Qtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQotLy8gZm91bmQgaW4gdGhlIExJQ0VOU0UgZmls
ZS4KLQotJ3VzZSBzdHJpY3QnOwotCi0oZnVuY3Rpb24oKSB7Ci0gIHZhciBtb2pvbUlkID0gJ3Ro
aXJkX3BhcnR5L2JsaW5rL3B1YmxpYy9tb2pvbS91c2Ivd2ViX3VzYl9zZXJ2aWNlLm1vam9tJzsK
LSAgaWYgKG1vam8uaW50ZXJuYWwuaXNNb2pvbUxvYWRlZChtb2pvbUlkKSkgewotICAgIGNvbnNv
bGUud2FybignVGhlIGZvbGxvd2luZyBtb2pvbSBpcyBsb2FkZWQgbXVsdGlwbGUgdGltZXM6ICcg
KyBtb2pvbUlkKTsKLSAgICByZXR1cm47Ci0gIH0KLSAgbW9qby5pbnRlcm5hbC5tYXJrTW9qb21M
b2FkZWQobW9qb21JZCk7Ci0gIHZhciBiaW5kaW5ncyA9IG1vam87Ci0gIHZhciBhc3NvY2lhdGVk
QmluZGluZ3MgPSBtb2pvOwotICB2YXIgY29kZWMgPSBtb2pvLmludGVybmFsOwotICB2YXIgdmFs
aWRhdG9yID0gbW9qby5pbnRlcm5hbDsKLQotICB2YXIgZXhwb3J0cyA9IG1vam8uaW50ZXJuYWwu
ZXhwb3NlTmFtZXNwYWNlKCdibGluay5tb2pvbScpOwotICB2YXIgZGV2aWNlJCA9Ci0gICAgICBt
b2pvLmludGVybmFsLmV4cG9zZU5hbWVzcGFjZSgnZGV2aWNlLm1vam9tJyk7Ci0gIGlmIChtb2pv
LmNvbmZpZy5hdXRvTG9hZE1vam9tRGVwcykgewotICAgIG1vam8uaW50ZXJuYWwubG9hZE1vam9t
SWZOZWNlc3NhcnkoCi0gICAgICAgICdkZXZpY2UvdXNiL3B1YmxpYy9tb2pvbS9kZXZpY2UubW9q
b20nLCAnLi4vLi4vLi4vLi4vLi4vZGV2aWNlL3VzYi9wdWJsaWMvbW9qb20vZGV2aWNlLm1vam9t
LmpzJyk7Ci0gIH0KLSAgdmFyIGRldmljZV9lbnVtZXJhdGlvbl9vcHRpb25zJCA9Ci0gICAgICBt
b2pvLmludGVybmFsLmV4cG9zZU5hbWVzcGFjZSgnZGV2aWNlLm1vam9tJyk7Ci0gIGlmIChtb2pv
LmNvbmZpZy5hdXRvTG9hZE1vam9tRGVwcykgewotICAgIG1vam8uaW50ZXJuYWwubG9hZE1vam9t
SWZOZWNlc3NhcnkoCi0gICAgICAgICdkZXZpY2UvdXNiL3B1YmxpYy9tb2pvbS9kZXZpY2VfZW51
bWVyYXRpb25fb3B0aW9ucy5tb2pvbScsICcuLi8uLi8uLi8uLi8uLi9kZXZpY2UvdXNiL3B1Ymxp
Yy9tb2pvbS9kZXZpY2VfZW51bWVyYXRpb25fb3B0aW9ucy5tb2pvbS5qcycpOwotICB9Ci0gIHZh
ciBkZXZpY2VfbWFuYWdlcl9jbGllbnQkID0KLSAgICAgIG1vam8uaW50ZXJuYWwuZXhwb3NlTmFt
ZXNwYWNlKCdkZXZpY2UubW9qb20nKTsKLSAgaWYgKG1vam8uY29uZmlnLmF1dG9Mb2FkTW9qb21E
ZXBzKSB7Ci0gICAgbW9qby5pbnRlcm5hbC5sb2FkTW9qb21JZk5lY2Vzc2FyeSgKLSAgICAgICAg
J2RldmljZS91c2IvcHVibGljL21vam9tL2RldmljZV9tYW5hZ2VyX2NsaWVudC5tb2pvbScsICcu
Li8uLi8uLi8uLi8uLi9kZXZpY2UvdXNiL3B1YmxpYy9tb2pvbS9kZXZpY2VfbWFuYWdlcl9jbGll
bnQubW9qb20uanMnKTsKLSAgfQotCi0KLQotICBmdW5jdGlvbiBXZWJVc2JTZXJ2aWNlX0dldERl
dmljZXNfUGFyYW1zKHZhbHVlcykgewotICAgIHRoaXMuaW5pdERlZmF1bHRzXygpOwotICAgIHRo
aXMuaW5pdEZpZWxkc18odmFsdWVzKTsKLSAgfQotCi0KLSAgV2ViVXNiU2VydmljZV9HZXREZXZp
Y2VzX1BhcmFtcy5wcm90b3R5cGUuaW5pdERlZmF1bHRzXyA9IGZ1bmN0aW9uKCkgewotICB9Owot
ICBXZWJVc2JTZXJ2aWNlX0dldERldmljZXNfUGFyYW1zLnByb3RvdHlwZS5pbml0RmllbGRzXyA9
IGZ1bmN0aW9uKGZpZWxkcykgewotICAgIGZvcih2YXIgZmllbGQgaW4gZmllbGRzKSB7Ci0gICAg
ICAgIGlmICh0aGlzLmhhc093blByb3BlcnR5KGZpZWxkKSkKLSAgICAgICAgICB0aGlzW2ZpZWxk
XSA9IGZpZWxkc1tmaWVsZF07Ci0gICAgfQotICB9OwotCi0gIFdlYlVzYlNlcnZpY2VfR2V0RGV2
aWNlc19QYXJhbXMudmFsaWRhdGUgPSBmdW5jdGlvbihtZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQp
IHsKLSAgICB2YXIgZXJyOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1
Y3RIZWFkZXIob2Zmc2V0LCBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVyciAh
PT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwot
Ci0gICAgdmFyIGtWZXJzaW9uU2l6ZXMgPSBbCi0gICAgICB7dmVyc2lvbjogMCwgbnVtQnl0ZXM6
IDh9Ci0gICAgXTsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0VmVy
c2lvbihvZmZzZXQsIGtWZXJzaW9uU2l6ZXMpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52
YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHJldHVybiB2
YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gIH07Ci0KLSAgV2ViVXNiU2VydmljZV9H
ZXREZXZpY2VzX1BhcmFtcy5lbmNvZGVkU2l6ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsg
MDsKLQotICBXZWJVc2JTZXJ2aWNlX0dldERldmljZXNfUGFyYW1zLmRlY29kZSA9IGZ1bmN0aW9u
KGRlY29kZXIpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIHZhciB2YWwgPSBuZXcgV2ViVXNiU2Vy
dmljZV9HZXREZXZpY2VzX1BhcmFtcygpOwotICAgIHZhciBudW1iZXJPZkJ5dGVzID0gZGVjb2Rl
ci5yZWFkVWludDMyKCk7Ci0gICAgdmFyIHZlcnNpb24gPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsK
LSAgICByZXR1cm4gdmFsOwotICB9OwotCi0gIFdlYlVzYlNlcnZpY2VfR2V0RGV2aWNlc19QYXJh
bXMuZW5jb2RlID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAg
ICBlbmNvZGVyLndyaXRlVWludDMyKFdlYlVzYlNlcnZpY2VfR2V0RGV2aWNlc19QYXJhbXMuZW5j
b2RlZFNpemUpOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoMCk7Ci0gIH07Ci0gIGZ1bmN0aW9u
IFdlYlVzYlNlcnZpY2VfR2V0RGV2aWNlc19SZXNwb25zZVBhcmFtcyh2YWx1ZXMpIHsKLSAgICB0
aGlzLmluaXREZWZhdWx0c18oKTsKLSAgICB0aGlzLmluaXRGaWVsZHNfKHZhbHVlcyk7Ci0gIH0K
LQotCi0gIFdlYlVzYlNlcnZpY2VfR2V0RGV2aWNlc19SZXNwb25zZVBhcmFtcy5wcm90b3R5cGUu
aW5pdERlZmF1bHRzXyA9IGZ1bmN0aW9uKCkgewotICAgIHRoaXMucmVzdWx0cyA9IG51bGw7Ci0g
IH07Ci0gIFdlYlVzYlNlcnZpY2VfR2V0RGV2aWNlc19SZXNwb25zZVBhcmFtcy5wcm90b3R5cGUu
aW5pdEZpZWxkc18gPSBmdW5jdGlvbihmaWVsZHMpIHsKLSAgICBmb3IodmFyIGZpZWxkIGluIGZp
ZWxkcykgewotICAgICAgICBpZiAodGhpcy5oYXNPd25Qcm9wZXJ0eShmaWVsZCkpCi0gICAgICAg
ICAgdGhpc1tmaWVsZF0gPSBmaWVsZHNbZmllbGRdOwotICAgIH0KLSAgfTsKLQotICBXZWJVc2JT
ZXJ2aWNlX0dldERldmljZXNfUmVzcG9uc2VQYXJhbXMudmFsaWRhdGUgPSBmdW5jdGlvbihtZXNz
YWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsKLSAgICB2YXIgZXJyOwotICAgIGVyciA9IG1lc3NhZ2VW
YWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RIZWFkZXIob2Zmc2V0LCBjb2RlYy5rU3RydWN0SGVhZGVy
U2l6ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQot
ICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgdmFyIGtWZXJzaW9uU2l6ZXMgPSBbCi0gICAgICB7
dmVyc2lvbjogMCwgbnVtQnl0ZXM6IDE2fQotICAgIF07Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlk
YXRvci52YWxpZGF0ZVN0cnVjdFZlcnNpb24ob2Zmc2V0LCBrVmVyc2lvblNpemVzKTsKLSAgICBp
ZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVy
biBlcnI7Ci0KLQotICAgIC8vIHZhbGlkYXRlIFdlYlVzYlNlcnZpY2VfR2V0RGV2aWNlc19SZXNw
b25zZVBhcmFtcy5yZXN1bHRzCi0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZUFy
cmF5UG9pbnRlcihvZmZzZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDAsIDgsIG5ldyBj
b2RlYy5Qb2ludGVyVG8oZGV2aWNlJC5Vc2JEZXZpY2VJbmZvKSwgZmFsc2UsIFswXSwgMCk7Ci0g
ICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICBy
ZXR1cm4gZXJyOwotCi0gICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORTsK
LSAgfTsKLQotICBXZWJVc2JTZXJ2aWNlX0dldERldmljZXNfUmVzcG9uc2VQYXJhbXMuZW5jb2Rl
ZFNpemUgPSBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDg7Ci0KLSAgV2ViVXNiU2VydmljZV9H
ZXREZXZpY2VzX1Jlc3BvbnNlUGFyYW1zLmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAg
ICB2YXIgcGFja2VkOwotICAgIHZhciB2YWwgPSBuZXcgV2ViVXNiU2VydmljZV9HZXREZXZpY2Vz
X1Jlc3BvbnNlUGFyYW1zKCk7Ci0gICAgdmFyIG51bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRV
aW50MzIoKTsKLSAgICB2YXIgdmVyc2lvbiA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZh
bC5yZXN1bHRzID0gZGVjb2Rlci5kZWNvZGVBcnJheVBvaW50ZXIobmV3IGNvZGVjLlBvaW50ZXJU
byhkZXZpY2UkLlVzYkRldmljZUluZm8pKTsKLSAgICByZXR1cm4gdmFsOwotICB9OwotCi0gIFdl
YlVzYlNlcnZpY2VfR2V0RGV2aWNlc19SZXNwb25zZVBhcmFtcy5lbmNvZGUgPSBmdW5jdGlvbihl
bmNvZGVyLCB2YWwpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIo
V2ViVXNiU2VydmljZV9HZXREZXZpY2VzX1Jlc3BvbnNlUGFyYW1zLmVuY29kZWRTaXplKTsKLSAg
ICBlbmNvZGVyLndyaXRlVWludDMyKDApOwotICAgIGVuY29kZXIuZW5jb2RlQXJyYXlQb2ludGVy
KG5ldyBjb2RlYy5Qb2ludGVyVG8oZGV2aWNlJC5Vc2JEZXZpY2VJbmZvKSwgdmFsLnJlc3VsdHMp
OwotICB9OwotICBmdW5jdGlvbiBXZWJVc2JTZXJ2aWNlX0dldERldmljZV9QYXJhbXModmFsdWVz
KSB7Ci0gICAgdGhpcy5pbml0RGVmYXVsdHNfKCk7Ci0gICAgdGhpcy5pbml0RmllbGRzXyh2YWx1
ZXMpOwotICB9Ci0KLQotICBXZWJVc2JTZXJ2aWNlX0dldERldmljZV9QYXJhbXMucHJvdG90eXBl
LmluaXREZWZhdWx0c18gPSBmdW5jdGlvbigpIHsKLSAgICB0aGlzLmd1aWQgPSBudWxsOwotICAg
IHRoaXMuZGV2aWNlUmVxdWVzdGQgPSBuZXcgYmluZGluZ3MuSW50ZXJmYWNlUmVxdWVzdCgpOwot
ICB9OwotICBXZWJVc2JTZXJ2aWNlX0dldERldmljZV9QYXJhbXMucHJvdG90eXBlLmluaXRGaWVs
ZHNfID0gZnVuY3Rpb24oZmllbGRzKSB7Ci0gICAgZm9yKHZhciBmaWVsZCBpbiBmaWVsZHMpIHsK
LSAgICAgICAgaWYgKHRoaXMuaGFzT3duUHJvcGVydHkoZmllbGQpKQotICAgICAgICAgIHRoaXNb
ZmllbGRdID0gZmllbGRzW2ZpZWxkXTsKLSAgICB9Ci0gIH07Ci0KLSAgV2ViVXNiU2VydmljZV9H
ZXREZXZpY2VfUGFyYW1zLnZhbGlkYXRlID0gZnVuY3Rpb24obWVzc2FnZVZhbGlkYXRvciwgb2Zm
c2V0KSB7Ci0gICAgdmFyIGVycjsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRl
U3RydWN0SGVhZGVyKG9mZnNldCwgY29kZWMua1N0cnVjdEhlYWRlclNpemUpOwotICAgIGlmIChl
cnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVy
cjsKLQotICAgIHZhciBrVmVyc2lvblNpemVzID0gWwotICAgICAge3ZlcnNpb246IDAsIG51bUJ5
dGVzOiAyNH0KLSAgICBdOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1
Y3RWZXJzaW9uKG9mZnNldCwga1ZlcnNpb25TaXplcyk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRh
dG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0KLSAgICAv
LyB2YWxpZGF0ZSBXZWJVc2JTZXJ2aWNlX0dldERldmljZV9QYXJhbXMuZ3VpZAotICAgIGVyciA9
IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJpbmdQb2ludGVyKG9mZnNldCArIGNvZGVjLmtT
dHJ1Y3RIZWFkZXJTaXplICsgMCwgZmFsc2UpCi0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZh
bGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0KLSAgICAvLyB2YWxp
ZGF0ZSBXZWJVc2JTZXJ2aWNlX0dldERldmljZV9QYXJhbXMuZGV2aWNlUmVxdWVzdGQKLSAgICBl
cnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlSW50ZXJmYWNlUmVxdWVzdChvZmZzZXQgKyBj
b2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDgsIGZhbHNlKQotICAgIGlmIChlcnIgIT09IHZhbGlk
YXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHJl
dHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gIH07Ci0KLSAgV2ViVXNiU2Vy
dmljZV9HZXREZXZpY2VfUGFyYW1zLmVuY29kZWRTaXplID0gY29kZWMua1N0cnVjdEhlYWRlclNp
emUgKyAxNjsKLQotICBXZWJVc2JTZXJ2aWNlX0dldERldmljZV9QYXJhbXMuZGVjb2RlID0gZnVu
Y3Rpb24oZGVjb2RlcikgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgdmFyIHZhbCA9IG5ldyBXZWJV
c2JTZXJ2aWNlX0dldERldmljZV9QYXJhbXMoKTsKLSAgICB2YXIgbnVtYmVyT2ZCeXRlcyA9IGRl
Y29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhciB2ZXJzaW9uID0gZGVjb2Rlci5yZWFkVWludDMy
KCk7Ci0gICAgdmFsLmd1aWQgPSBkZWNvZGVyLmRlY29kZVN0cnVjdChjb2RlYy5TdHJpbmcpOwot
ICAgIHZhbC5kZXZpY2VSZXF1ZXN0ZCA9IGRlY29kZXIuZGVjb2RlU3RydWN0KGNvZGVjLkludGVy
ZmFjZVJlcXVlc3QpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7
Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICByZXR1cm4g
dmFsOwotICB9OwotCi0gIFdlYlVzYlNlcnZpY2VfR2V0RGV2aWNlX1BhcmFtcy5lbmNvZGUgPSBm
dW5jdGlvbihlbmNvZGVyLCB2YWwpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIGVuY29kZXIud3Jp
dGVVaW50MzIoV2ViVXNiU2VydmljZV9HZXREZXZpY2VfUGFyYW1zLmVuY29kZWRTaXplKTsKLSAg
ICBlbmNvZGVyLndyaXRlVWludDMyKDApOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNvZGVj
LlN0cmluZywgdmFsLmd1aWQpOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNvZGVjLkludGVy
ZmFjZVJlcXVlc3QsIHZhbC5kZXZpY2VSZXF1ZXN0ZCk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwot
ICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5z
a2lwKDEpOwotICB9OwotICBmdW5jdGlvbiBXZWJVc2JTZXJ2aWNlX0dldFBlcm1pc3Npb25fUGFy
YW1zKHZhbHVlcykgewotICAgIHRoaXMuaW5pdERlZmF1bHRzXygpOwotICAgIHRoaXMuaW5pdEZp
ZWxkc18odmFsdWVzKTsKLSAgfQotCi0KLSAgV2ViVXNiU2VydmljZV9HZXRQZXJtaXNzaW9uX1Bh
cmFtcy5wcm90b3R5cGUuaW5pdERlZmF1bHRzXyA9IGZ1bmN0aW9uKCkgewotICAgIHRoaXMuZGV2
aWNlRmlsdGVycyA9IG51bGw7Ci0gIH07Ci0gIFdlYlVzYlNlcnZpY2VfR2V0UGVybWlzc2lvbl9Q
YXJhbXMucHJvdG90eXBlLmluaXRGaWVsZHNfID0gZnVuY3Rpb24oZmllbGRzKSB7Ci0gICAgZm9y
KHZhciBmaWVsZCBpbiBmaWVsZHMpIHsKLSAgICAgICAgaWYgKHRoaXMuaGFzT3duUHJvcGVydHko
ZmllbGQpKQotICAgICAgICAgIHRoaXNbZmllbGRdID0gZmllbGRzW2ZpZWxkXTsKLSAgICB9Ci0g
IH07Ci0KLSAgV2ViVXNiU2VydmljZV9HZXRQZXJtaXNzaW9uX1BhcmFtcy52YWxpZGF0ZSA9IGZ1
bmN0aW9uKG1lc3NhZ2VWYWxpZGF0b3IsIG9mZnNldCkgewotICAgIHZhciBlcnI7Ci0gICAgZXJy
ID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdEhlYWRlcihvZmZzZXQsIGNvZGVjLmtT
dHJ1Y3RIZWFkZXJTaXplKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVy
cm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICB2YXIga1ZlcnNpb25TaXplcyA9
IFsKLSAgICAgIHt2ZXJzaW9uOiAwLCBudW1CeXRlczogMTZ9Ci0gICAgXTsKLSAgICBlcnIgPSBt
ZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0VmVyc2lvbihvZmZzZXQsIGtWZXJzaW9uU2l6
ZXMpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAg
ICAgICAgcmV0dXJuIGVycjsKLQotCi0gICAgLy8gdmFsaWRhdGUgV2ViVXNiU2VydmljZV9HZXRQ
ZXJtaXNzaW9uX1BhcmFtcy5kZXZpY2VGaWx0ZXJzCi0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRv
ci52YWxpZGF0ZUFycmF5UG9pbnRlcihvZmZzZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSAr
IDAsIDgsIG5ldyBjb2RlYy5Qb2ludGVyVG8oZGV2aWNlX2VudW1lcmF0aW9uX29wdGlvbnMkLlVz
YkRldmljZUZpbHRlciksIGZhbHNlLCBbMF0sIDApOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRv
ci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHJldHVy
biB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gIH07Ci0KLSAgV2ViVXNiU2Vydmlj
ZV9HZXRQZXJtaXNzaW9uX1BhcmFtcy5lbmNvZGVkU2l6ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFkZXJT
aXplICsgODsKLQotICBXZWJVc2JTZXJ2aWNlX0dldFBlcm1pc3Npb25fUGFyYW1zLmRlY29kZSA9
IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIHZhciB2YWwgPSBuZXcg
V2ViVXNiU2VydmljZV9HZXRQZXJtaXNzaW9uX1BhcmFtcygpOwotICAgIHZhciBudW1iZXJPZkJ5
dGVzID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFyIHZlcnNpb24gPSBkZWNvZGVyLnJl
YWRVaW50MzIoKTsKLSAgICB2YWwuZGV2aWNlRmlsdGVycyA9IGRlY29kZXIuZGVjb2RlQXJyYXlQ
b2ludGVyKG5ldyBjb2RlYy5Qb2ludGVyVG8oZGV2aWNlX2VudW1lcmF0aW9uX29wdGlvbnMkLlVz
YkRldmljZUZpbHRlcikpOwotICAgIHJldHVybiB2YWw7Ci0gIH07Ci0KLSAgV2ViVXNiU2Vydmlj
ZV9HZXRQZXJtaXNzaW9uX1BhcmFtcy5lbmNvZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2YWwpIHsK
LSAgICB2YXIgcGFja2VkOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoV2ViVXNiU2VydmljZV9H
ZXRQZXJtaXNzaW9uX1BhcmFtcy5lbmNvZGVkU2l6ZSk7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQz
MigwKTsKLSAgICBlbmNvZGVyLmVuY29kZUFycmF5UG9pbnRlcihuZXcgY29kZWMuUG9pbnRlclRv
KGRldmljZV9lbnVtZXJhdGlvbl9vcHRpb25zJC5Vc2JEZXZpY2VGaWx0ZXIpLCB2YWwuZGV2aWNl
RmlsdGVycyk7Ci0gIH07Ci0gIGZ1bmN0aW9uIFdlYlVzYlNlcnZpY2VfR2V0UGVybWlzc2lvbl9S
ZXNwb25zZVBhcmFtcyh2YWx1ZXMpIHsKLSAgICB0aGlzLmluaXREZWZhdWx0c18oKTsKLSAgICB0
aGlzLmluaXRGaWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0gIFdlYlVzYlNlcnZpY2VfR2V0UGVy
bWlzc2lvbl9SZXNwb25zZVBhcmFtcy5wcm90b3R5cGUuaW5pdERlZmF1bHRzXyA9IGZ1bmN0aW9u
KCkgewotICAgIHRoaXMucmVzdWx0ID0gbnVsbDsKLSAgfTsKLSAgV2ViVXNiU2VydmljZV9HZXRQ
ZXJtaXNzaW9uX1Jlc3BvbnNlUGFyYW1zLnByb3RvdHlwZS5pbml0RmllbGRzXyA9IGZ1bmN0aW9u
KGZpZWxkcykgewotICAgIGZvcih2YXIgZmllbGQgaW4gZmllbGRzKSB7Ci0gICAgICAgIGlmICh0
aGlzLmhhc093blByb3BlcnR5KGZpZWxkKSkKLSAgICAgICAgICB0aGlzW2ZpZWxkXSA9IGZpZWxk
c1tmaWVsZF07Ci0gICAgfQotICB9OwotCi0gIFdlYlVzYlNlcnZpY2VfR2V0UGVybWlzc2lvbl9S
ZXNwb25zZVBhcmFtcy52YWxpZGF0ZSA9IGZ1bmN0aW9uKG1lc3NhZ2VWYWxpZGF0b3IsIG9mZnNl
dCkgewotICAgIHZhciBlcnI7Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0
cnVjdEhlYWRlcihvZmZzZXQsIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplKTsKLSAgICBpZiAoZXJy
ICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7
Ci0KLSAgICB2YXIga1ZlcnNpb25TaXplcyA9IFsKLSAgICAgIHt2ZXJzaW9uOiAwLCBudW1CeXRl
czogMTZ9Ci0gICAgXTsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0
VmVyc2lvbihvZmZzZXQsIGtWZXJzaW9uU2l6ZXMpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRv
ci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0gICAgLy8g
dmFsaWRhdGUgV2ViVXNiU2VydmljZV9HZXRQZXJtaXNzaW9uX1Jlc3BvbnNlUGFyYW1zLnJlc3Vs
dAotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RQb2ludGVyKG9mZnNl
dCArIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgMCwgZGV2aWNlJC5Vc2JEZXZpY2VJbmZvLCB0
cnVlKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0g
ICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJv
ci5OT05FOwotICB9OwotCi0gIFdlYlVzYlNlcnZpY2VfR2V0UGVybWlzc2lvbl9SZXNwb25zZVBh
cmFtcy5lbmNvZGVkU2l6ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgODsKLQotICBXZWJV
c2JTZXJ2aWNlX0dldFBlcm1pc3Npb25fUmVzcG9uc2VQYXJhbXMuZGVjb2RlID0gZnVuY3Rpb24o
ZGVjb2RlcikgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgdmFyIHZhbCA9IG5ldyBXZWJVc2JTZXJ2
aWNlX0dldFBlcm1pc3Npb25fUmVzcG9uc2VQYXJhbXMoKTsKLSAgICB2YXIgbnVtYmVyT2ZCeXRl
cyA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhciB2ZXJzaW9uID0gZGVjb2Rlci5yZWFk
VWludDMyKCk7Ci0gICAgdmFsLnJlc3VsdCA9IGRlY29kZXIuZGVjb2RlU3RydWN0UG9pbnRlcihk
ZXZpY2UkLlVzYkRldmljZUluZm8pOwotICAgIHJldHVybiB2YWw7Ci0gIH07Ci0KLSAgV2ViVXNi
U2VydmljZV9HZXRQZXJtaXNzaW9uX1Jlc3BvbnNlUGFyYW1zLmVuY29kZSA9IGZ1bmN0aW9uKGVu
Y29kZXIsIHZhbCkgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMihX
ZWJVc2JTZXJ2aWNlX0dldFBlcm1pc3Npb25fUmVzcG9uc2VQYXJhbXMuZW5jb2RlZFNpemUpOwot
ICAgIGVuY29kZXIud3JpdGVVaW50MzIoMCk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3RQb2lu
dGVyKGRldmljZSQuVXNiRGV2aWNlSW5mbywgdmFsLnJlc3VsdCk7Ci0gIH07Ci0gIGZ1bmN0aW9u
IFdlYlVzYlNlcnZpY2VfU2V0Q2xpZW50X1BhcmFtcyh2YWx1ZXMpIHsKLSAgICB0aGlzLmluaXRE
ZWZhdWx0c18oKTsKLSAgICB0aGlzLmluaXRGaWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0gIFdl
YlVzYlNlcnZpY2VfU2V0Q2xpZW50X1BhcmFtcy5wcm90b3R5cGUuaW5pdERlZmF1bHRzXyA9IGZ1
bmN0aW9uKCkgewotICAgIHRoaXMuY2xpZW50ID0gbmV3IGFzc29jaWF0ZWRCaW5kaW5ncy5Bc3Nv
Y2lhdGVkSW50ZXJmYWNlUHRySW5mbygpOwotICB9OwotICBXZWJVc2JTZXJ2aWNlX1NldENsaWVu
dF9QYXJhbXMucHJvdG90eXBlLmluaXRGaWVsZHNfID0gZnVuY3Rpb24oZmllbGRzKSB7Ci0gICAg
Zm9yKHZhciBmaWVsZCBpbiBmaWVsZHMpIHsKLSAgICAgICAgaWYgKHRoaXMuaGFzT3duUHJvcGVy
dHkoZmllbGQpKQotICAgICAgICAgIHRoaXNbZmllbGRdID0gZmllbGRzW2ZpZWxkXTsKLSAgICB9
Ci0gIH07Ci0KLSAgV2ViVXNiU2VydmljZV9TZXRDbGllbnRfUGFyYW1zLnZhbGlkYXRlID0gZnVu
Y3Rpb24obWVzc2FnZVZhbGlkYXRvciwgb2Zmc2V0KSB7Ci0gICAgdmFyIGVycjsKLSAgICBlcnIg
PSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0SGVhZGVyKG9mZnNldCwgY29kZWMua1N0
cnVjdEhlYWRlclNpemUpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJy
b3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHZhciBrVmVyc2lvblNpemVzID0g
WwotICAgICAge3ZlcnNpb246IDAsIG51bUJ5dGVzOiAxNn0KLSAgICBdOwotICAgIGVyciA9IG1l
c3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RWZXJzaW9uKG9mZnNldCwga1ZlcnNpb25TaXpl
cyk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAg
ICAgICByZXR1cm4gZXJyOwotCi0KLSAgICAvLyB2YWxpZGF0ZSBXZWJVc2JTZXJ2aWNlX1NldENs
aWVudF9QYXJhbXMuY2xpZW50Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZUFz
c29jaWF0ZWRJbnRlcmZhY2Uob2Zmc2V0ICsgY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyAwLCBm
YWxzZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQot
ICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJy
b3IuTk9ORTsKLSAgfTsKLQotICBXZWJVc2JTZXJ2aWNlX1NldENsaWVudF9QYXJhbXMuZW5jb2Rl
ZFNpemUgPSBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDg7Ci0KLSAgV2ViVXNiU2VydmljZV9T
ZXRDbGllbnRfUGFyYW1zLmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICB2YXIgcGFj
a2VkOwotICAgIHZhciB2YWwgPSBuZXcgV2ViVXNiU2VydmljZV9TZXRDbGllbnRfUGFyYW1zKCk7
Ci0gICAgdmFyIG51bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YXIg
dmVyc2lvbiA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhbC5jbGllbnQgPSBkZWNvZGVy
LmRlY29kZVN0cnVjdChjb2RlYy5Bc3NvY2lhdGVkSW50ZXJmYWNlUHRySW5mbyk7Ci0gICAgcmV0
dXJuIHZhbDsKLSAgfTsKLQotICBXZWJVc2JTZXJ2aWNlX1NldENsaWVudF9QYXJhbXMuZW5jb2Rl
ID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICBlbmNvZGVy
LndyaXRlVWludDMyKFdlYlVzYlNlcnZpY2VfU2V0Q2xpZW50X1BhcmFtcy5lbmNvZGVkU2l6ZSk7
Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMigwKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdChj
b2RlYy5Bc3NvY2lhdGVkSW50ZXJmYWNlUHRySW5mbywgdmFsLmNsaWVudCk7Ci0gIH07Ci0gIHZh
ciBrV2ViVXNiU2VydmljZV9HZXREZXZpY2VzX05hbWUgPSAwOwotICB2YXIga1dlYlVzYlNlcnZp
Y2VfR2V0RGV2aWNlX05hbWUgPSAxOwotICB2YXIga1dlYlVzYlNlcnZpY2VfR2V0UGVybWlzc2lv
bl9OYW1lID0gMjsKLSAgdmFyIGtXZWJVc2JTZXJ2aWNlX1NldENsaWVudF9OYW1lID0gMzsKLQot
ICBmdW5jdGlvbiBXZWJVc2JTZXJ2aWNlUHRyKGhhbmRsZU9yUHRySW5mbykgewotICAgIHRoaXMu
cHRyID0gbmV3IGJpbmRpbmdzLkludGVyZmFjZVB0ckNvbnRyb2xsZXIoV2ViVXNiU2VydmljZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRs
ZU9yUHRySW5mbyk7Ci0gIH0KLQotICBmdW5jdGlvbiBXZWJVc2JTZXJ2aWNlQXNzb2NpYXRlZFB0
cihhc3NvY2lhdGVkSW50ZXJmYWNlUHRySW5mbykgewotICAgIHRoaXMucHRyID0gbmV3IGFzc29j
aWF0ZWRCaW5kaW5ncy5Bc3NvY2lhdGVkSW50ZXJmYWNlUHRyQ29udHJvbGxlcigKLSAgICAgICAg
V2ViVXNiU2VydmljZSwgYXNzb2NpYXRlZEludGVyZmFjZVB0ckluZm8pOwotICB9Ci0KLSAgV2Vi
VXNiU2VydmljZUFzc29jaWF0ZWRQdHIucHJvdG90eXBlID0KLSAgICAgIE9iamVjdC5jcmVhdGUo
V2ViVXNiU2VydmljZVB0ci5wcm90b3R5cGUpOwotICBXZWJVc2JTZXJ2aWNlQXNzb2NpYXRlZFB0
ci5wcm90b3R5cGUuY29uc3RydWN0b3IgPQotICAgICAgV2ViVXNiU2VydmljZUFzc29jaWF0ZWRQ
dHI7Ci0KLSAgZnVuY3Rpb24gV2ViVXNiU2VydmljZVByb3h5KHJlY2VpdmVyKSB7Ci0gICAgdGhp
cy5yZWNlaXZlcl8gPSByZWNlaXZlcjsKLSAgfQotICBXZWJVc2JTZXJ2aWNlUHRyLnByb3RvdHlw
ZS5nZXREZXZpY2VzID0gZnVuY3Rpb24oKSB7Ci0gICAgcmV0dXJuIFdlYlVzYlNlcnZpY2VQcm94
eS5wcm90b3R5cGUuZ2V0RGV2aWNlcwotICAgICAgICAuYXBwbHkodGhpcy5wdHIuZ2V0UHJveHko
KSwgYXJndW1lbnRzKTsKLSAgfTsKLQotICBXZWJVc2JTZXJ2aWNlUHJveHkucHJvdG90eXBlLmdl
dERldmljZXMgPSBmdW5jdGlvbigpIHsKLSAgICB2YXIgcGFyYW1zXyA9IG5ldyBXZWJVc2JTZXJ2
aWNlX0dldERldmljZXNfUGFyYW1zKCk7Ci0gICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9u
KHJlc29sdmUsIHJlamVjdCkgewotICAgICAgdmFyIGJ1aWxkZXIgPSBuZXcgY29kZWMuTWVzc2Fn
ZVYxQnVpbGRlcigKLSAgICAgICAgICBrV2ViVXNiU2VydmljZV9HZXREZXZpY2VzX05hbWUsCi0g
ICAgICAgICAgY29kZWMuYWxpZ24oV2ViVXNiU2VydmljZV9HZXREZXZpY2VzX1BhcmFtcy5lbmNv
ZGVkU2l6ZSksCi0gICAgICAgICAgY29kZWMua01lc3NhZ2VFeHBlY3RzUmVzcG9uc2UsIDApOwot
ICAgICAgYnVpbGRlci5lbmNvZGVTdHJ1Y3QoV2ViVXNiU2VydmljZV9HZXREZXZpY2VzX1BhcmFt
cywgcGFyYW1zXyk7Ci0gICAgICB2YXIgbWVzc2FnZSA9IGJ1aWxkZXIuZmluaXNoKCk7Ci0gICAg
ICB0aGlzLnJlY2VpdmVyXy5hY2NlcHRBbmRFeHBlY3RSZXNwb25zZShtZXNzYWdlKS50aGVuKGZ1
bmN0aW9uKG1lc3NhZ2UpIHsKLSAgICAgICAgdmFyIHJlYWRlciA9IG5ldyBjb2RlYy5NZXNzYWdl
UmVhZGVyKG1lc3NhZ2UpOwotICAgICAgICB2YXIgcmVzcG9uc2VQYXJhbXMgPQotICAgICAgICAg
ICAgcmVhZGVyLmRlY29kZVN0cnVjdChXZWJVc2JTZXJ2aWNlX0dldERldmljZXNfUmVzcG9uc2VQ
YXJhbXMpOwotICAgICAgICByZXNvbHZlKHJlc3BvbnNlUGFyYW1zKTsKLSAgICAgIH0pLmNhdGNo
KGZ1bmN0aW9uKHJlc3VsdCkgewotICAgICAgICByZWplY3QoRXJyb3IoIkNvbm5lY3Rpb24gZXJy
b3I6ICIgKyByZXN1bHQpKTsKLSAgICAgIH0pOwotICAgIH0uYmluZCh0aGlzKSk7Ci0gIH07Ci0g
IFdlYlVzYlNlcnZpY2VQdHIucHJvdG90eXBlLmdldERldmljZSA9IGZ1bmN0aW9uKCkgewotICAg
IHJldHVybiBXZWJVc2JTZXJ2aWNlUHJveHkucHJvdG90eXBlLmdldERldmljZQotICAgICAgICAu
YXBwbHkodGhpcy5wdHIuZ2V0UHJveHkoKSwgYXJndW1lbnRzKTsKLSAgfTsKLQotICBXZWJVc2JT
ZXJ2aWNlUHJveHkucHJvdG90eXBlLmdldERldmljZSA9IGZ1bmN0aW9uKGd1aWQsIGRldmljZVJl
cXVlc3RkKSB7Ci0gICAgdmFyIHBhcmFtc18gPSBuZXcgV2ViVXNiU2VydmljZV9HZXREZXZpY2Vf
UGFyYW1zKCk7Ci0gICAgcGFyYW1zXy5ndWlkID0gZ3VpZDsKLSAgICBwYXJhbXNfLmRldmljZVJl
cXVlc3RkID0gZGV2aWNlUmVxdWVzdGQ7Ci0gICAgdmFyIGJ1aWxkZXIgPSBuZXcgY29kZWMuTWVz
c2FnZVYwQnVpbGRlcigKLSAgICAgICAga1dlYlVzYlNlcnZpY2VfR2V0RGV2aWNlX05hbWUsCi0g
ICAgICAgIGNvZGVjLmFsaWduKFdlYlVzYlNlcnZpY2VfR2V0RGV2aWNlX1BhcmFtcy5lbmNvZGVk
U2l6ZSkpOwotICAgIGJ1aWxkZXIuZW5jb2RlU3RydWN0KFdlYlVzYlNlcnZpY2VfR2V0RGV2aWNl
X1BhcmFtcywgcGFyYW1zXyk7Ci0gICAgdmFyIG1lc3NhZ2UgPSBidWlsZGVyLmZpbmlzaCgpOwot
ICAgIHRoaXMucmVjZWl2ZXJfLmFjY2VwdChtZXNzYWdlKTsKLSAgfTsKLSAgV2ViVXNiU2Vydmlj
ZVB0ci5wcm90b3R5cGUuZ2V0UGVybWlzc2lvbiA9IGZ1bmN0aW9uKCkgewotICAgIHJldHVybiBX
ZWJVc2JTZXJ2aWNlUHJveHkucHJvdG90eXBlLmdldFBlcm1pc3Npb24KLSAgICAgICAgLmFwcGx5
KHRoaXMucHRyLmdldFByb3h5KCksIGFyZ3VtZW50cyk7Ci0gIH07Ci0KLSAgV2ViVXNiU2Vydmlj
ZVByb3h5LnByb3RvdHlwZS5nZXRQZXJtaXNzaW9uID0gZnVuY3Rpb24oZGV2aWNlRmlsdGVycykg
ewotICAgIHZhciBwYXJhbXNfID0gbmV3IFdlYlVzYlNlcnZpY2VfR2V0UGVybWlzc2lvbl9QYXJh
bXMoKTsKLSAgICBwYXJhbXNfLmRldmljZUZpbHRlcnMgPSBkZXZpY2VGaWx0ZXJzOwotICAgIHJl
dHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKLSAgICAgIHZhciBi
dWlsZGVyID0gbmV3IGNvZGVjLk1lc3NhZ2VWMUJ1aWxkZXIoCi0gICAgICAgICAga1dlYlVzYlNl
cnZpY2VfR2V0UGVybWlzc2lvbl9OYW1lLAotICAgICAgICAgIGNvZGVjLmFsaWduKFdlYlVzYlNl
cnZpY2VfR2V0UGVybWlzc2lvbl9QYXJhbXMuZW5jb2RlZFNpemUpLAotICAgICAgICAgIGNvZGVj
LmtNZXNzYWdlRXhwZWN0c1Jlc3BvbnNlLCAwKTsKLSAgICAgIGJ1aWxkZXIuZW5jb2RlU3RydWN0
KFdlYlVzYlNlcnZpY2VfR2V0UGVybWlzc2lvbl9QYXJhbXMsIHBhcmFtc18pOwotICAgICAgdmFy
IG1lc3NhZ2UgPSBidWlsZGVyLmZpbmlzaCgpOwotICAgICAgdGhpcy5yZWNlaXZlcl8uYWNjZXB0
QW5kRXhwZWN0UmVzcG9uc2UobWVzc2FnZSkudGhlbihmdW5jdGlvbihtZXNzYWdlKSB7Ci0gICAg
ICAgIHZhciByZWFkZXIgPSBuZXcgY29kZWMuTWVzc2FnZVJlYWRlcihtZXNzYWdlKTsKLSAgICAg
ICAgdmFyIHJlc3BvbnNlUGFyYW1zID0KLSAgICAgICAgICAgIHJlYWRlci5kZWNvZGVTdHJ1Y3Qo
V2ViVXNiU2VydmljZV9HZXRQZXJtaXNzaW9uX1Jlc3BvbnNlUGFyYW1zKTsKLSAgICAgICAgcmVz
b2x2ZShyZXNwb25zZVBhcmFtcyk7Ci0gICAgICB9KS5jYXRjaChmdW5jdGlvbihyZXN1bHQpIHsK
LSAgICAgICAgcmVqZWN0KEVycm9yKCJDb25uZWN0aW9uIGVycm9yOiAiICsgcmVzdWx0KSk7Ci0g
ICAgICB9KTsKLSAgICB9LmJpbmQodGhpcykpOwotICB9OwotICBXZWJVc2JTZXJ2aWNlUHRyLnBy
b3RvdHlwZS5zZXRDbGllbnQgPSBmdW5jdGlvbigpIHsKLSAgICByZXR1cm4gV2ViVXNiU2Vydmlj
ZVByb3h5LnByb3RvdHlwZS5zZXRDbGllbnQKLSAgICAgICAgLmFwcGx5KHRoaXMucHRyLmdldFBy
b3h5KCksIGFyZ3VtZW50cyk7Ci0gIH07Ci0KLSAgV2ViVXNiU2VydmljZVByb3h5LnByb3RvdHlw
ZS5zZXRDbGllbnQgPSBmdW5jdGlvbihjbGllbnQpIHsKLSAgICB2YXIgcGFyYW1zXyA9IG5ldyBX
ZWJVc2JTZXJ2aWNlX1NldENsaWVudF9QYXJhbXMoKTsKLSAgICBwYXJhbXNfLmNsaWVudCA9IGNs
aWVudDsKLSAgICB2YXIgYnVpbGRlciA9IG5ldyBjb2RlYy5NZXNzYWdlVjJCdWlsZGVyKAotICAg
ICAgICBrV2ViVXNiU2VydmljZV9TZXRDbGllbnRfTmFtZSwKLSAgICAgICAgY29kZWMuYWxpZ24o
V2ViVXNiU2VydmljZV9TZXRDbGllbnRfUGFyYW1zLmVuY29kZWRTaXplKSk7Ci0gICAgYnVpbGRl
ci5zZXRQYXlsb2FkKFdlYlVzYlNlcnZpY2VfU2V0Q2xpZW50X1BhcmFtcywgcGFyYW1zXyk7Ci0g
ICAgdmFyIG1lc3NhZ2UgPSBidWlsZGVyLmZpbmlzaCgpOwotICAgIHRoaXMucmVjZWl2ZXJfLmFj
Y2VwdChtZXNzYWdlKTsKLSAgfTsKLQotICBmdW5jdGlvbiBXZWJVc2JTZXJ2aWNlU3R1YihkZWxl
Z2F0ZSkgewotICAgIHRoaXMuZGVsZWdhdGVfID0gZGVsZWdhdGU7Ci0gIH0KLSAgV2ViVXNiU2Vy
dmljZVN0dWIucHJvdG90eXBlLmdldERldmljZXMgPSBmdW5jdGlvbigpIHsKLSAgICByZXR1cm4g
dGhpcy5kZWxlZ2F0ZV8gJiYgdGhpcy5kZWxlZ2F0ZV8uZ2V0RGV2aWNlcyAmJiB0aGlzLmRlbGVn
YXRlXy5nZXREZXZpY2VzKCk7Ci0gIH0KLSAgV2ViVXNiU2VydmljZVN0dWIucHJvdG90eXBlLmdl
dERldmljZSA9IGZ1bmN0aW9uKGd1aWQsIGRldmljZVJlcXVlc3RkKSB7Ci0gICAgcmV0dXJuIHRo
aXMuZGVsZWdhdGVfICYmIHRoaXMuZGVsZWdhdGVfLmdldERldmljZSAmJiB0aGlzLmRlbGVnYXRl
Xy5nZXREZXZpY2UoZ3VpZCwgZGV2aWNlUmVxdWVzdGQpOwotICB9Ci0gIFdlYlVzYlNlcnZpY2VT
dHViLnByb3RvdHlwZS5nZXRQZXJtaXNzaW9uID0gZnVuY3Rpb24oZGV2aWNlRmlsdGVycykgewot
ICAgIHJldHVybiB0aGlzLmRlbGVnYXRlXyAmJiB0aGlzLmRlbGVnYXRlXy5nZXRQZXJtaXNzaW9u
ICYmIHRoaXMuZGVsZWdhdGVfLmdldFBlcm1pc3Npb24oZGV2aWNlRmlsdGVycyk7Ci0gIH0KLSAg
V2ViVXNiU2VydmljZVN0dWIucHJvdG90eXBlLnNldENsaWVudCA9IGZ1bmN0aW9uKGNsaWVudCkg
ewotICAgIHJldHVybiB0aGlzLmRlbGVnYXRlXyAmJiB0aGlzLmRlbGVnYXRlXy5zZXRDbGllbnQg
JiYgdGhpcy5kZWxlZ2F0ZV8uc2V0Q2xpZW50KGNsaWVudCk7Ci0gIH0KLQotICBXZWJVc2JTZXJ2
aWNlU3R1Yi5wcm90b3R5cGUuYWNjZXB0ID0gZnVuY3Rpb24obWVzc2FnZSkgewotICAgIHZhciBy
ZWFkZXIgPSBuZXcgY29kZWMuTWVzc2FnZVJlYWRlcihtZXNzYWdlKTsKLSAgICBzd2l0Y2ggKHJl
YWRlci5tZXNzYWdlTmFtZSkgewotICAgIGNhc2Uga1dlYlVzYlNlcnZpY2VfR2V0RGV2aWNlX05h
bWU6Ci0gICAgICB2YXIgcGFyYW1zID0gcmVhZGVyLmRlY29kZVN0cnVjdChXZWJVc2JTZXJ2aWNl
X0dldERldmljZV9QYXJhbXMpOwotICAgICAgdGhpcy5nZXREZXZpY2UocGFyYW1zLmd1aWQsIHBh
cmFtcy5kZXZpY2VSZXF1ZXN0ZCk7Ci0gICAgICByZXR1cm4gdHJ1ZTsKLSAgICBjYXNlIGtXZWJV
c2JTZXJ2aWNlX1NldENsaWVudF9OYW1lOgotICAgICAgdmFyIHBhcmFtcyA9IHJlYWRlci5kZWNv
ZGVTdHJ1Y3QoV2ViVXNiU2VydmljZV9TZXRDbGllbnRfUGFyYW1zKTsKLSAgICAgIHRoaXMuc2V0
Q2xpZW50KHBhcmFtcy5jbGllbnQpOwotICAgICAgcmV0dXJuIHRydWU7Ci0gICAgZGVmYXVsdDoK
LSAgICAgIHJldHVybiBmYWxzZTsKLSAgICB9Ci0gIH07Ci0KLSAgV2ViVXNiU2VydmljZVN0dWIu
cHJvdG90eXBlLmFjY2VwdFdpdGhSZXNwb25kZXIgPQotICAgICAgZnVuY3Rpb24obWVzc2FnZSwg
cmVzcG9uZGVyKSB7Ci0gICAgdmFyIHJlYWRlciA9IG5ldyBjb2RlYy5NZXNzYWdlUmVhZGVyKG1l
c3NhZ2UpOwotICAgIHN3aXRjaCAocmVhZGVyLm1lc3NhZ2VOYW1lKSB7Ci0gICAgY2FzZSBrV2Vi
VXNiU2VydmljZV9HZXREZXZpY2VzX05hbWU6Ci0gICAgICB2YXIgcGFyYW1zID0gcmVhZGVyLmRl
Y29kZVN0cnVjdChXZWJVc2JTZXJ2aWNlX0dldERldmljZXNfUGFyYW1zKTsKLSAgICAgIHRoaXMu
Z2V0RGV2aWNlcygpLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICAgICAgdmFyIHJlc3Bv
bnNlUGFyYW1zID0KLSAgICAgICAgICAgIG5ldyBXZWJVc2JTZXJ2aWNlX0dldERldmljZXNfUmVz
cG9uc2VQYXJhbXMoKTsKLSAgICAgICAgcmVzcG9uc2VQYXJhbXMucmVzdWx0cyA9IHJlc3BvbnNl
LnJlc3VsdHM7Ci0gICAgICAgIHZhciBidWlsZGVyID0gbmV3IGNvZGVjLk1lc3NhZ2VWMUJ1aWxk
ZXIoCi0gICAgICAgICAgICBrV2ViVXNiU2VydmljZV9HZXREZXZpY2VzX05hbWUsCi0gICAgICAg
ICAgICBjb2RlYy5hbGlnbihXZWJVc2JTZXJ2aWNlX0dldERldmljZXNfUmVzcG9uc2VQYXJhbXMu
ZW5jb2RlZFNpemUpLAotICAgICAgICAgICAgY29kZWMua01lc3NhZ2VJc1Jlc3BvbnNlLCByZWFk
ZXIucmVxdWVzdElEKTsKLSAgICAgICAgYnVpbGRlci5lbmNvZGVTdHJ1Y3QoV2ViVXNiU2Vydmlj
ZV9HZXREZXZpY2VzX1Jlc3BvbnNlUGFyYW1zLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICByZXNwb25zZVBhcmFtcyk7Ci0gICAgICAgIHZhciBtZXNzYWdlID0gYnVpbGRlci5maW5pc2go
KTsKLSAgICAgICAgcmVzcG9uZGVyLmFjY2VwdChtZXNzYWdlKTsKLSAgICAgIH0pOwotICAgICAg
cmV0dXJuIHRydWU7Ci0gICAgY2FzZSBrV2ViVXNiU2VydmljZV9HZXRQZXJtaXNzaW9uX05hbWU6
Ci0gICAgICB2YXIgcGFyYW1zID0gcmVhZGVyLmRlY29kZVN0cnVjdChXZWJVc2JTZXJ2aWNlX0dl
dFBlcm1pc3Npb25fUGFyYW1zKTsKLSAgICAgIHRoaXMuZ2V0UGVybWlzc2lvbihwYXJhbXMuZGV2
aWNlRmlsdGVycykudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgICAgICB2YXIgcmVzcG9u
c2VQYXJhbXMgPQotICAgICAgICAgICAgbmV3IFdlYlVzYlNlcnZpY2VfR2V0UGVybWlzc2lvbl9S
ZXNwb25zZVBhcmFtcygpOwotICAgICAgICByZXNwb25zZVBhcmFtcy5yZXN1bHQgPSByZXNwb25z
ZS5yZXN1bHQ7Ci0gICAgICAgIHZhciBidWlsZGVyID0gbmV3IGNvZGVjLk1lc3NhZ2VWMUJ1aWxk
ZXIoCi0gICAgICAgICAgICBrV2ViVXNiU2VydmljZV9HZXRQZXJtaXNzaW9uX05hbWUsCi0gICAg
ICAgICAgICBjb2RlYy5hbGlnbihXZWJVc2JTZXJ2aWNlX0dldFBlcm1pc3Npb25fUmVzcG9uc2VQ
YXJhbXMuZW5jb2RlZFNpemUpLAotICAgICAgICAgICAgY29kZWMua01lc3NhZ2VJc1Jlc3BvbnNl
LCByZWFkZXIucmVxdWVzdElEKTsKLSAgICAgICAgYnVpbGRlci5lbmNvZGVTdHJ1Y3QoV2ViVXNi
U2VydmljZV9HZXRQZXJtaXNzaW9uX1Jlc3BvbnNlUGFyYW1zLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICByZXNwb25zZVBhcmFtcyk7Ci0gICAgICAgIHZhciBtZXNzYWdlID0gYnVpbGRl
ci5maW5pc2goKTsKLSAgICAgICAgcmVzcG9uZGVyLmFjY2VwdChtZXNzYWdlKTsKLSAgICAgIH0p
OwotICAgICAgcmV0dXJuIHRydWU7Ci0gICAgZGVmYXVsdDoKLSAgICAgIHJldHVybiBmYWxzZTsK
LSAgICB9Ci0gIH07Ci0KLSAgZnVuY3Rpb24gdmFsaWRhdGVXZWJVc2JTZXJ2aWNlUmVxdWVzdCht
ZXNzYWdlVmFsaWRhdG9yKSB7Ci0gICAgdmFyIG1lc3NhZ2UgPSBtZXNzYWdlVmFsaWRhdG9yLm1l
c3NhZ2U7Ci0gICAgdmFyIHBhcmFtc0NsYXNzID0gbnVsbDsKLSAgICBzd2l0Y2ggKG1lc3NhZ2Uu
Z2V0TmFtZSgpKSB7Ci0gICAgICBjYXNlIGtXZWJVc2JTZXJ2aWNlX0dldERldmljZXNfTmFtZToK
LSAgICAgICAgaWYgKG1lc3NhZ2UuZXhwZWN0c1Jlc3BvbnNlKCkpCi0gICAgICAgICAgcGFyYW1z
Q2xhc3MgPSBXZWJVc2JTZXJ2aWNlX0dldERldmljZXNfUGFyYW1zOwotICAgICAgYnJlYWs7Ci0g
ICAgICBjYXNlIGtXZWJVc2JTZXJ2aWNlX0dldERldmljZV9OYW1lOgotICAgICAgICBpZiAoIW1l
c3NhZ2UuZXhwZWN0c1Jlc3BvbnNlKCkgJiYgIW1lc3NhZ2UuaXNSZXNwb25zZSgpKQotICAgICAg
ICAgIHBhcmFtc0NsYXNzID0gV2ViVXNiU2VydmljZV9HZXREZXZpY2VfUGFyYW1zOwotICAgICAg
YnJlYWs7Ci0gICAgICBjYXNlIGtXZWJVc2JTZXJ2aWNlX0dldFBlcm1pc3Npb25fTmFtZToKLSAg
ICAgICAgaWYgKG1lc3NhZ2UuZXhwZWN0c1Jlc3BvbnNlKCkpCi0gICAgICAgICAgcGFyYW1zQ2xh
c3MgPSBXZWJVc2JTZXJ2aWNlX0dldFBlcm1pc3Npb25fUGFyYW1zOwotICAgICAgYnJlYWs7Ci0g
ICAgICBjYXNlIGtXZWJVc2JTZXJ2aWNlX1NldENsaWVudF9OYW1lOgotICAgICAgICBpZiAoIW1l
c3NhZ2UuZXhwZWN0c1Jlc3BvbnNlKCkgJiYgIW1lc3NhZ2UuaXNSZXNwb25zZSgpKQotICAgICAg
ICAgIHBhcmFtc0NsYXNzID0gV2ViVXNiU2VydmljZV9TZXRDbGllbnRfUGFyYW1zOwotICAgICAg
YnJlYWs7Ci0gICAgfQotICAgIGlmIChwYXJhbXNDbGFzcyA9PT0gbnVsbCkKLSAgICAgIHJldHVy
biB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gICAgcmV0dXJuIHBhcmFtc0NsYXNz
LnZhbGlkYXRlKG1lc3NhZ2VWYWxpZGF0b3IsIG1lc3NhZ2VWYWxpZGF0b3IubWVzc2FnZS5nZXRI
ZWFkZXJOdW1CeXRlcygpKTsKLSAgfQotCi0gIGZ1bmN0aW9uIHZhbGlkYXRlV2ViVXNiU2Vydmlj
ZVJlc3BvbnNlKG1lc3NhZ2VWYWxpZGF0b3IpIHsKLSAgIHZhciBtZXNzYWdlID0gbWVzc2FnZVZh
bGlkYXRvci5tZXNzYWdlOwotICAgdmFyIHBhcmFtc0NsYXNzID0gbnVsbDsKLSAgIHN3aXRjaCAo
bWVzc2FnZS5nZXROYW1lKCkpIHsKLSAgICAgIGNhc2Uga1dlYlVzYlNlcnZpY2VfR2V0RGV2aWNl
c19OYW1lOgotICAgICAgICBpZiAobWVzc2FnZS5pc1Jlc3BvbnNlKCkpCi0gICAgICAgICAgcGFy
YW1zQ2xhc3MgPSBXZWJVc2JTZXJ2aWNlX0dldERldmljZXNfUmVzcG9uc2VQYXJhbXM7Ci0gICAg
ICAgIGJyZWFrOwotICAgICAgY2FzZSBrV2ViVXNiU2VydmljZV9HZXRQZXJtaXNzaW9uX05hbWU6
Ci0gICAgICAgIGlmIChtZXNzYWdlLmlzUmVzcG9uc2UoKSkKLSAgICAgICAgICBwYXJhbXNDbGFz
cyA9IFdlYlVzYlNlcnZpY2VfR2V0UGVybWlzc2lvbl9SZXNwb25zZVBhcmFtczsKLSAgICAgICAg
YnJlYWs7Ci0gICAgfQotICAgIGlmIChwYXJhbXNDbGFzcyA9PT0gbnVsbCkKLSAgICAgIHJldHVy
biB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gICAgcmV0dXJuIHBhcmFtc0NsYXNz
LnZhbGlkYXRlKG1lc3NhZ2VWYWxpZGF0b3IsIG1lc3NhZ2VWYWxpZGF0b3IubWVzc2FnZS5nZXRI
ZWFkZXJOdW1CeXRlcygpKTsKLSAgfQotCi0gIHZhciBXZWJVc2JTZXJ2aWNlID0gewotICAgIG5h
bWU6ICdibGluay5tb2pvbS5XZWJVc2JTZXJ2aWNlJywKLSAgICBrVmVyc2lvbjogMCwKLSAgICBw
dHJDbGFzczogV2ViVXNiU2VydmljZVB0ciwKLSAgICBwcm94eUNsYXNzOiBXZWJVc2JTZXJ2aWNl
UHJveHksCi0gICAgc3R1YkNsYXNzOiBXZWJVc2JTZXJ2aWNlU3R1YiwKLSAgICB2YWxpZGF0ZVJl
cXVlc3Q6IHZhbGlkYXRlV2ViVXNiU2VydmljZVJlcXVlc3QsCi0gICAgdmFsaWRhdGVSZXNwb25z
ZTogdmFsaWRhdGVXZWJVc2JTZXJ2aWNlUmVzcG9uc2UsCi0gIH07Ci0gIFdlYlVzYlNlcnZpY2VT
dHViLnByb3RvdHlwZS52YWxpZGF0b3IgPSB2YWxpZGF0ZVdlYlVzYlNlcnZpY2VSZXF1ZXN0Owot
ICBXZWJVc2JTZXJ2aWNlUHJveHkucHJvdG90eXBlLnZhbGlkYXRvciA9IHZhbGlkYXRlV2ViVXNi
U2VydmljZVJlc3BvbnNlOwotICBleHBvcnRzLldlYlVzYlNlcnZpY2UgPSBXZWJVc2JTZXJ2aWNl
OwotICBleHBvcnRzLldlYlVzYlNlcnZpY2VQdHIgPSBXZWJVc2JTZXJ2aWNlUHRyOwotICBleHBv
cnRzLldlYlVzYlNlcnZpY2VBc3NvY2lhdGVkUHRyID0gV2ViVXNiU2VydmljZUFzc29jaWF0ZWRQ
dHI7Ci19KSgpOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVt
L3dlYl91c2Jfc2VydmljZS5tb2pvbS5qcy5oZWFkZXJzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vd2ViX3VzYl9zZXJ2aWNl
Lm1vam9tLmpzLmhlYWRlcnMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY4MDVjMzIz
ZGY1Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS93ZWJfdXNiX3NlcnZpY2UubW9qb20uanMuaGVh
ZGVycworKysgL2Rldi9udWxsCkBAIC0xICswLDAgQEAKLUNvbnRlbnQtVHlwZTogdGV4dC9qYXZh
c2NyaXB0OyBjaGFyc2V0PXV0Zi04CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS93ZWJ1c2ItY2hpbGQtdGVz
dC5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL2Nocm9taXVtL3dlYnVzYi1jaGlsZC10ZXN0LmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCBlZTc5MGJiNjE5Zi4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vd2VidXNiLWNoaWxk
LXRlc3QuanMKKysrIC9kZXYvbnVsbApAQCAtMSw0MCArMCwwIEBACi0ndXNlIHN0cmljdCc7Ci0K
LS8vIFRoaXMgcG9seWZpbGwgcHJlcGFyZXMgYSBjaGlsZCBjb250ZXh0IHRvIGJlIGF0dGFjaGVk
IHRvIGEgcGFyZW50IGNvbnRleHQuCi0vLyBUaGUgcGFyZW50IG11c3QgY2FsbCBuYXZpZ2F0b3Iu
dXNiLnRlc3QuYXR0YWNoVG9Db250ZXh0KCkgdG8gYXR0YWNoIHRvIHRoZQotLy8gY2hpbGQgY29u
dGV4dC4KLSgoKSA9PiB7Ci0gIGlmICh0aGlzLmNvbnN0cnVjdG9yLm5hbWUgPT09ICdEZWRpY2F0
ZWRXb3JrZXJHbG9iYWxTY29wZScgfHwKLSAgICAgIHRoaXMgIT09IHdpbmRvdy50b3ApIHsKLQot
ICAgIC8vIFJ1biBDaHJvbWl1bSBzcGVjaWZpYyBzZXQgdXAgY29kZS4KLSAgICBpZiAodHlwZW9m
IE1vam9JbnRlcmZhY2VJbnRlcmNlcHRvciAhPT0gJ3VuZGVmaW5lZCcpIHsKLSAgICAgIGxldCBt
ZXNzYWdlQ2hhbm5lbCA9IG5ldyBNZXNzYWdlQ2hhbm5lbCgpOwotICAgICAgbWVzc2FnZUNoYW5u
ZWwucG9ydDEub25tZXNzYWdlID0gYXN5bmMgKG1lc3NhZ2VFdmVudCkgPT4gewotICAgICAgICBp
ZiAobWVzc2FnZUV2ZW50LmRhdGEudHlwZSA9PT0gJ0F0dGFjaCcpIHsKLSAgICAgICAgICBtZXNz
YWdlRXZlbnQuZGF0YS5pbnRlcmZhY2VzLmZvckVhY2goaW50ZXJmYWNlTmFtZSA9PiB7Ci0gICAg
ICAgICAgICBsZXQgaW50ZXJmYWNlSW50ZXJjZXB0b3IgPQotICAgICAgICAgICAgICAgIG5ldyBN
b2pvSW50ZXJmYWNlSW50ZXJjZXB0b3IoaW50ZXJmYWNlTmFtZSwgImNvbnRleHQiLCB0cnVlKTsK
LSAgICAgICAgICAgIGludGVyZmFjZUludGVyY2VwdG9yLm9uaW50ZXJmYWNlcmVxdWVzdCA9Ci0g
ICAgICAgICAgICAgIGUgPT4gbWVzc2FnZUNoYW5uZWwucG9ydDEucG9zdE1lc3NhZ2UoewotICAg
ICAgICAgICAgICAgIHR5cGU6IGludGVyZmFjZU5hbWUsCi0gICAgICAgICAgICAgICAgaGFuZGxl
OiBlLmhhbmRsZQotICAgICAgICAgICAgICB9LCBbZS5oYW5kbGVdKTsKLSAgICAgICAgICAgIGlu
dGVyZmFjZUludGVyY2VwdG9yLnN0YXJ0KCk7Ci0gICAgICAgICAgfSk7Ci0KLSAgICAgICAgICAv
LyBXYWl0IGZvciBhIGNhbGwgdG8gR2V0RGV2aWNlcygpIHRvIGVuc3VyZSB0aGF0IHRoZSBpbnRl
cmZhY2UKLSAgICAgICAgICAvLyBoYW5kbGVzIGFyZSBmb3J3YXJkZWQgdG8gdGhlIHBhcmVudCBj
b250ZXh0LgotICAgICAgICAgIGF3YWl0IG5hdmlnYXRvci51c2IuZ2V0RGV2aWNlcygpOwotICAg
ICAgICAgIG1lc3NhZ2VDaGFubmVsLnBvcnQxLnBvc3RNZXNzYWdlKHsgdHlwZTogJ0NvbXBsZXRl
JyB9KTsKLSAgICAgICAgfQotICAgICAgfTsKLQotICAgICAgbGV0IG1lc3NhZ2UgPSB7IHR5cGU6
ICdSZWFkeUZvckF0dGFjaG1lbnQnLCBwb3J0OiBtZXNzYWdlQ2hhbm5lbC5wb3J0MiB9OwotICAg
ICAgaWYgKHR5cGVvZiBXaW5kb3cgIT09ICd1bmRlZmluZWQnKQotICAgICAgICBwYXJlbnQucG9z
dE1lc3NhZ2UobWVzc2FnZSwgJyonLCBbbWVzc2FnZUNoYW5uZWwucG9ydDJdKTsKLSAgICAgIGVs
c2UKLSAgICAgICAgcG9zdE1lc3NhZ2UobWVzc2FnZSwgW21lc3NhZ2VDaGFubmVsLnBvcnQyXSk7
Ci0gICAgfQotICB9Ci19KSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vd2VidXNiLWNoaWxkLXRlc3Qu
anMuaGVhZGVycyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL2Nocm9taXVtL3dlYnVzYi1jaGlsZC10ZXN0LmpzLmhlYWRlcnMKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY4MDVjMzIzZGY1Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1
bS93ZWJ1c2ItY2hpbGQtdGVzdC5qcy5oZWFkZXJzCisrKyAvZGV2L251bGwKQEAgLTEgKzAsMCBA
QAotQ29udGVudC1UeXBlOiB0ZXh0L2phdmFzY3JpcHQ7IGNoYXJzZXQ9dXRmLTgKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L2Nocm9taXVtL3dlYnVzYi10ZXN0LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vd2VidXNiLXRlc3QuanMKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDgzYjg4MWY3ZDZlLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1
bS93ZWJ1c2ItdGVzdC5qcworKysgL2Rldi9udWxsCkBAIC0xLDU1MSArMCwwIEBACi0ndXNlIHN0
cmljdCc7Ci0KLS8vIFRoaXMgcG9seWZpbGwgbGlicmFyeSBpbXBsZW1lbnRzIHRoZSBXZWJVU0Ig
VGVzdCBBUEkgYXMgc3BlY2lmaWVkIGhlcmU6Ci0vLyBodHRwczovL3dpY2cuZ2l0aHViLmlvL3dl
YnVzYi90ZXN0LwotCi0oKCkgPT4gewotCi0vLyBUaGVzZSB2YXJpYWJsZXMgYXJlIGxvZ2ljYWxs
eSBtZW1iZXJzIG9mIHRoZSBVU0JUZXN0IGNsYXNzIGJ1dCBhcmUgZGVmaW5lZAotLy8gaGVyZSB0
byBoaWRlIHRoZW0gZnJvbSBiZWluZyB2aXNpYmxlIGFzIGZpZWxkcyBvZiBuYXZpZ2F0b3IudXNi
LnRlc3QuCi1sZXQgaW50ZXJuYWwgPSB7Ci0gIGludGlhbGl6ZWQ6IGZhbHNlLAotCi0gIHdlYlVz
YlNlcnZpY2U6IG51bGwsCi0gIHdlYlVzYlNlcnZpY2VJbnRlcmNlcHRvcjogbnVsbCwKLQotICBt
ZXNzYWdlUG9ydDogbnVsbCwKLX07Ci0KLWZ1bmN0aW9uIGdldE1lc3NhZ2VQb3J0KHRhcmdldCkg
ewotICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7Ci0gICAgdGFyZ2V0LmFkZEV2ZW50
TGlzdGVuZXIoJ21lc3NhZ2UnLCBtZXNzYWdlRXZlbnQgPT4gewotICAgICAgaWYgKG1lc3NhZ2VF
dmVudC5kYXRhLnR5cGUgPT09ICdSZWFkeUZvckF0dGFjaG1lbnQnKSB7Ci0gICAgICAgIGlmIChp
bnRlcm5hbC5tZXNzYWdlUG9ydCA9PT0gbnVsbCkgewotICAgICAgICAgIGludGVybmFsLm1lc3Nh
Z2VQb3J0ID0gbWVzc2FnZUV2ZW50LmRhdGEucG9ydDsKLSAgICAgICAgfQotICAgICAgICByZXNv
bHZlKCk7Ci0gICAgICB9Ci0gICAgfSwge29uY2U6IHRydWV9KTsKLSAgfSk7Ci19Ci0KLS8vIENv
bnZlcnRzIGFuIEVDTUFTY3JpcHQgU3RyaW5nIG9iamVjdCB0byBhbiBpbnN0YW5jZSBvZgotLy8g
bW9qb19iYXNlLm1vam9tLlN0cmluZzE2LgotZnVuY3Rpb24gbW9qb1N0cmluZzE2VG9TdHJpbmco
c3RyaW5nMTYpIHsKLSAgcmV0dXJuIFN0cmluZy5mcm9tQ2hhckNvZGUuYXBwbHkobnVsbCwgc3Ry
aW5nMTYuZGF0YSk7Ci19Ci0KLS8vIENvbnZlcnRzIGFuIGluc3RhbmNlIG9mIG1vam9fYmFzZS5t
b2pvbS5TdHJpbmcxNiB0byBhbiBFQ01BU2NyaXB0IFN0cmluZy4KLWZ1bmN0aW9uIHN0cmluZ1Rv
TW9qb1N0cmluZzE2KHN0cmluZykgewotICBsZXQgYXJyYXkgPSBuZXcgQXJyYXkoc3RyaW5nLmxl
bmd0aCk7Ci0gIGZvciAodmFyIGkgPSAwOyBpIDwgc3RyaW5nLmxlbmd0aDsgKytpKSB7Ci0gICAg
YXJyYXlbaV0gPSBzdHJpbmcuY2hhckNvZGVBdChpKTsKLSAgfQotICByZXR1cm4geyBkYXRhOiBh
cnJheSB9Ci19Ci0KLWZ1bmN0aW9uIGZha2VEZXZpY2VJbml0VG9EZXZpY2VJbmZvKGd1aWQsIGlu
aXQpIHsKLSAgbGV0IGRldmljZUluZm8gPSB7Ci0gICAgZ3VpZDogZ3VpZCArICIiLAotICAgIHVz
YlZlcnNpb25NYWpvcjogaW5pdC51c2JWZXJzaW9uTWFqb3IsCi0gICAgdXNiVmVyc2lvbk1pbm9y
OiBpbml0LnVzYlZlcnNpb25NaW5vciwKLSAgICB1c2JWZXJzaW9uU3VibWlub3I6IGluaXQudXNi
VmVyc2lvblN1Ym1pbm9yLAotICAgIGNsYXNzQ29kZTogaW5pdC5kZXZpY2VDbGFzcywKLSAgICBz
dWJjbGFzc0NvZGU6IGluaXQuZGV2aWNlU3ViY2xhc3MsCi0gICAgcHJvdG9jb2xDb2RlOiBpbml0
LmRldmljZVByb3RvY29sLAotICAgIHZlbmRvcklkOiBpbml0LnZlbmRvcklkLAotICAgIHByb2R1
Y3RJZDogaW5pdC5wcm9kdWN0SWQsCi0gICAgZGV2aWNlVmVyc2lvbk1ham9yOiBpbml0LmRldmlj
ZVZlcnNpb25NYWpvciwKLSAgICBkZXZpY2VWZXJzaW9uTWlub3I6IGluaXQuZGV2aWNlVmVyc2lv
bk1pbm9yLAotICAgIGRldmljZVZlcnNpb25TdWJtaW5vcjogaW5pdC5kZXZpY2VWZXJzaW9uU3Vi
bWlub3IsCi0gICAgbWFudWZhY3R1cmVyTmFtZTogc3RyaW5nVG9Nb2pvU3RyaW5nMTYoaW5pdC5t
YW51ZmFjdHVyZXJOYW1lKSwKLSAgICBwcm9kdWN0TmFtZTogc3RyaW5nVG9Nb2pvU3RyaW5nMTYo
aW5pdC5wcm9kdWN0TmFtZSksCi0gICAgc2VyaWFsTnVtYmVyOiBzdHJpbmdUb01vam9TdHJpbmcx
Nihpbml0LnNlcmlhbE51bWJlciksCi0gICAgYWN0aXZlQ29uZmlndXJhdGlvbjogaW5pdC5hY3Rp
dmVDb25maWd1cmF0aW9uVmFsdWUsCi0gICAgY29uZmlndXJhdGlvbnM6IFtdCi0gIH07Ci0gIGlu
aXQuY29uZmlndXJhdGlvbnMuZm9yRWFjaChjb25maWcgPT4gewotICAgIHZhciBjb25maWdJbmZv
ID0gewotICAgICAgY29uZmlndXJhdGlvblZhbHVlOiBjb25maWcuY29uZmlndXJhdGlvblZhbHVl
LAotICAgICAgY29uZmlndXJhdGlvbk5hbWU6IHN0cmluZ1RvTW9qb1N0cmluZzE2KGNvbmZpZy5j
b25maWd1cmF0aW9uTmFtZSksCi0gICAgICBzZWxmUG93ZXJlZDogZmFsc2UsCi0gICAgICByZW1v
dGVXYWtldXA6IGZhbHNlLAotICAgICAgbWF4aW11bVBvd2VyOiAwLAotICAgICAgaW50ZXJmYWNl
czogW10sCi0gICAgICBleHRyYURhdGE6IG5ldyBVaW50OEFycmF5KCkKLSAgICB9OwotICAgIGNv
bmZpZy5pbnRlcmZhY2VzLmZvckVhY2goaWZhY2UgPT4gewotICAgICAgdmFyIGludGVyZmFjZUlu
Zm8gPSB7Ci0gICAgICAgIGludGVyZmFjZU51bWJlcjogaWZhY2UuaW50ZXJmYWNlTnVtYmVyLAot
ICAgICAgICBhbHRlcm5hdGVzOiBbXQotICAgICAgfTsKLSAgICAgIGlmYWNlLmFsdGVybmF0ZXMu
Zm9yRWFjaChhbHRlcm5hdGUgPT4gewotICAgICAgICB2YXIgYWx0ZXJuYXRlSW5mbyA9IHsKLSAg
ICAgICAgICBhbHRlcm5hdGVTZXR0aW5nOiBhbHRlcm5hdGUuYWx0ZXJuYXRlU2V0dGluZywKLSAg
ICAgICAgICBjbGFzc0NvZGU6IGFsdGVybmF0ZS5pbnRlcmZhY2VDbGFzcywKLSAgICAgICAgICBz
dWJjbGFzc0NvZGU6IGFsdGVybmF0ZS5pbnRlcmZhY2VTdWJjbGFzcywKLSAgICAgICAgICBwcm90
b2NvbENvZGU6IGFsdGVybmF0ZS5pbnRlcmZhY2VQcm90b2NvbCwKLSAgICAgICAgICBpbnRlcmZh
Y2VOYW1lOiBzdHJpbmdUb01vam9TdHJpbmcxNihhbHRlcm5hdGUuaW50ZXJmYWNlTmFtZSksCi0g
ICAgICAgICAgZW5kcG9pbnRzOiBbXSwKLSAgICAgICAgICBleHRyYURhdGE6IG5ldyBVaW50OEFy
cmF5KCkKLSAgICAgICAgfTsKLSAgICAgICAgYWx0ZXJuYXRlLmVuZHBvaW50cy5mb3JFYWNoKGVu
ZHBvaW50ID0+IHsKLSAgICAgICAgICB2YXIgZW5kcG9pbnRJbmZvID0gewotICAgICAgICAgICAg
ZW5kcG9pbnROdW1iZXI6IGVuZHBvaW50LmVuZHBvaW50TnVtYmVyLAotICAgICAgICAgICAgcGFj
a2V0U2l6ZTogZW5kcG9pbnQucGFja2V0U2l6ZSwKLSAgICAgICAgICAgIHN5bmNocm9uaXphdGlv
blR5cGU6IGRldmljZS5tb2pvbS5Vc2JTeW5jaHJvbml6YXRpb25UeXBlLk5PTkUsCi0gICAgICAg
ICAgICB1c2FnZVR5cGU6IGRldmljZS5tb2pvbS5Vc2JVc2FnZVR5cGUuREFUQSwKLSAgICAgICAg
ICAgIHBvbGxpbmdJbnRlcnZhbDogMCwKLSAgICAgICAgICAgIGV4dHJhRGF0YTogbmV3IFVpbnQ4
QXJyYXkoKQotICAgICAgICAgIH07Ci0gICAgICAgICAgc3dpdGNoIChlbmRwb2ludC5kaXJlY3Rp
b24pIHsKLSAgICAgICAgICBjYXNlICJpbiI6Ci0gICAgICAgICAgICBlbmRwb2ludEluZm8uZGly
ZWN0aW9uID0gZGV2aWNlLm1vam9tLlVzYlRyYW5zZmVyRGlyZWN0aW9uLklOQk9VTkQ7Ci0gICAg
ICAgICAgICBicmVhazsKLSAgICAgICAgICBjYXNlICJvdXQiOgotICAgICAgICAgICAgZW5kcG9p
bnRJbmZvLmRpcmVjdGlvbiA9IGRldmljZS5tb2pvbS5Vc2JUcmFuc2ZlckRpcmVjdGlvbi5PVVRC
T1VORDsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgIH0KLSAgICAgICAgICBzd2l0Y2gg
KGVuZHBvaW50LnR5cGUpIHsKLSAgICAgICAgICBjYXNlICJidWxrIjoKLSAgICAgICAgICAgIGVu
ZHBvaW50SW5mby50eXBlID0gZGV2aWNlLm1vam9tLlVzYlRyYW5zZmVyVHlwZS5CVUxLOwotICAg
ICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgY2FzZSAiaW50ZXJydXB0IjoKLSAgICAgICAgICAg
IGVuZHBvaW50SW5mby50eXBlID0gZGV2aWNlLm1vam9tLlVzYlRyYW5zZmVyVHlwZS5JTlRFUlJV
UFQ7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgICBjYXNlICJpc29jaHJvbm91cyI6Ci0g
ICAgICAgICAgICBlbmRwb2ludEluZm8udHlwZSA9IGRldmljZS5tb2pvbS5Vc2JUcmFuc2ZlclR5
cGUuSVNPQ0hST05PVVM7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgICB9Ci0gICAgICAg
ICAgYWx0ZXJuYXRlSW5mby5lbmRwb2ludHMucHVzaChlbmRwb2ludEluZm8pOwotICAgICAgICB9
KTsKLSAgICAgICAgaW50ZXJmYWNlSW5mby5hbHRlcm5hdGVzLnB1c2goYWx0ZXJuYXRlSW5mbyk7
Ci0gICAgICB9KTsKLSAgICAgIGNvbmZpZ0luZm8uaW50ZXJmYWNlcy5wdXNoKGludGVyZmFjZUlu
Zm8pOwotICAgIH0pOwotICAgIGRldmljZUluZm8uY29uZmlndXJhdGlvbnMucHVzaChjb25maWdJ
bmZvKTsKLSAgfSk7Ci0gIHJldHVybiBkZXZpY2VJbmZvOwotfQotCi1mdW5jdGlvbiBjb252ZXJ0
TW9qb0RldmljZUZpbHRlcnMoaW5wdXQpIHsKLSAgbGV0IG91dHB1dCA9IFtdOwotICBpbnB1dC5m
b3JFYWNoKGZpbHRlciA9PiB7Ci0gICAgb3V0cHV0LnB1c2goY29udmVydE1vam9EZXZpY2VGaWx0
ZXIoZmlsdGVyKSk7Ci0gIH0pOwotICByZXR1cm4gb3V0cHV0OwotfQotCi1mdW5jdGlvbiBjb252
ZXJ0TW9qb0RldmljZUZpbHRlcihpbnB1dCkgewotICBsZXQgb3V0cHV0ID0ge307Ci0gIGlmIChp
bnB1dC5oYXNWZW5kb3JJZCkKLSAgICBvdXRwdXQudmVuZG9ySWQgPSBpbnB1dC52ZW5kb3JJZDsK
LSAgaWYgKGlucHV0Lmhhc1Byb2R1Y3RJZCkKLSAgICBvdXRwdXQucHJvZHVjdElkID0gaW5wdXQu
cHJvZHVjdElkOwotICBpZiAoaW5wdXQuaGFzQ2xhc3NDb2RlKQotICAgIG91dHB1dC5jbGFzc0Nv
ZGUgPSBpbnB1dC5jbGFzc0NvZGU7Ci0gIGlmIChpbnB1dC5oYXNTdWJjbGFzc0NvZGUpCi0gICAg
b3V0cHV0LnN1YmNsYXNzQ29kZSA9IGlucHV0LnN1YmNsYXNzQ29kZTsKLSAgaWYgKGlucHV0Lmhh
c1Byb3RvY29sQ29kZSkKLSAgICBvdXRwdXQucHJvdG9jb2xDb2RlID0gaW5wdXQucHJvdG9jb2xD
b2RlOwotICBpZiAoaW5wdXQuc2VyaWFsTnVtYmVyKQotICAgIG91dHB1dC5zZXJpYWxOdW1iZXIg
PSBtb2pvU3RyaW5nMTZUb1N0cmluZyhpbnB1dC5zZXJpYWxOdW1iZXIpOwotICByZXR1cm4gb3V0
cHV0OwotfQotCi1jbGFzcyBGYWtlRGV2aWNlIHsKLSAgY29uc3RydWN0b3IoZGV2aWNlSW5pdCkg
ewotICAgIHRoaXMuaW5mb18gPSBkZXZpY2VJbml0OwotICAgIHRoaXMub3BlbmVkXyA9IGZhbHNl
OwotICAgIHRoaXMuY3VycmVudENvbmZpZ3VyYXRpb25fID0gbnVsbDsKLSAgICB0aGlzLmNsYWlt
ZWRJbnRlcmZhY2VzXyA9IG5ldyBNYXAoKTsKLSAgfQotCi0gIGdldENvbmZpZ3VyYXRpb24oKSB7
Ci0gICAgaWYgKHRoaXMuY3VycmVudENvbmZpZ3VyYXRpb25fKSB7Ci0gICAgICByZXR1cm4gUHJv
bWlzZS5yZXNvbHZlKHsKLSAgICAgICAgICB2YWx1ZTogdGhpcy5jdXJyZW50Q29uZmlndXJhdGlv
bl8uY29uZmlndXJhdGlvblZhbHVlIH0pOwotICAgIH0gZWxzZSB7Ci0gICAgICByZXR1cm4gUHJv
bWlzZS5yZXNvbHZlKHsgdmFsdWU6IDAgfSk7Ci0gICAgfQotICB9Ci0KLSAgb3BlbigpIHsKLSAg
ICBhc3NlcnRfZmFsc2UodGhpcy5vcGVuZWRfKTsKLSAgICB0aGlzLm9wZW5lZF8gPSB0cnVlOwot
ICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoeyBlcnJvcjogZGV2aWNlLm1vam9tLlVzYk9wZW5E
ZXZpY2VFcnJvci5PSyB9KTsKLSAgfQotCi0gIGNsb3NlKCkgewotICAgIGFzc2VydF90cnVlKHRo
aXMub3BlbmVkXyk7Ci0gICAgdGhpcy5vcGVuZWRfID0gZmFsc2U7Ci0gICAgcmV0dXJuIFByb21p
c2UucmVzb2x2ZSgpOwotICB9Ci0KLSAgc2V0Q29uZmlndXJhdGlvbih2YWx1ZSkgewotICAgIGFz
c2VydF90cnVlKHRoaXMub3BlbmVkXyk7Ci0KLSAgICBsZXQgc2VsZWN0ZWRDb25maWd1cmF0aW9u
ID0gdGhpcy5pbmZvXy5jb25maWd1cmF0aW9ucy5maW5kKAotICAgICAgICBjb25maWd1cmF0aW9u
ID0+IGNvbmZpZ3VyYXRpb24uY29uZmlndXJhdGlvblZhbHVlID09IHZhbHVlKTsKLSAgICAvLyBC
bGluayBzaG91bGQgbmV2ZXIgcmVxdWVzdCBhbiBpbnZhbGlkIGNvbmZpZ3VyYXRpb24uCi0gICAg
YXNzZXJ0X25vdF9lcXVhbHMoc2VsZWN0ZWRDb25maWd1cmF0aW9uLCB1bmRlZmluZWQpOwotICAg
IHRoaXMuY3VycmVudENvbmZpZ3VyYXRpb25fID0gc2VsZWN0ZWRDb25maWd1cmF0aW9uOwotICAg
IHJldHVybiBQcm9taXNlLnJlc29sdmUoeyBzdWNjZXNzOiB0cnVlIH0pOwotICB9Ci0KLSAgY2xh
aW1JbnRlcmZhY2UoaW50ZXJmYWNlTnVtYmVyKSB7Ci0gICAgYXNzZXJ0X3RydWUodGhpcy5vcGVu
ZWRfKTsKLSAgICBhc3NlcnRfZmFsc2UodGhpcy5jdXJyZW50Q29uZmlndXJhdGlvbl8gPT0gbnVs
bCwgJ2RldmljZSBjb25maWd1cmVkJyk7Ci0gICAgYXNzZXJ0X2ZhbHNlKHRoaXMuY2xhaW1lZElu
dGVyZmFjZXNfLmhhcyhpbnRlcmZhY2VOdW1iZXIpLAotICAgICAgICAgICAgICAgICAnaW50ZXJm
YWNlIGFscmVhZHkgY2xhaW1lZCcpOwotCi0gICAgLy8gQmxpbmsgc2hvdWxkIG5ldmVyIHJlcXVl
c3QgYW4gaW52YWxpZCBpbnRlcmZhY2UuCi0gICAgYXNzZXJ0X3RydWUodGhpcy5jdXJyZW50Q29u
ZmlndXJhdGlvbl8uaW50ZXJmYWNlcy5zb21lKAotICAgICAgICAgICAgaWZhY2UgPT4gaWZhY2Uu
aW50ZXJmYWNlTnVtYmVyID09IGludGVyZmFjZU51bWJlcikpOwotICAgIHRoaXMuY2xhaW1lZElu
dGVyZmFjZXNfLnNldChpbnRlcmZhY2VOdW1iZXIsIDApOwotICAgIHJldHVybiBQcm9taXNlLnJl
c29sdmUoeyBzdWNjZXNzOiB0cnVlIH0pOwotICB9Ci0KLSAgcmVsZWFzZUludGVyZmFjZShpbnRl
cmZhY2VOdW1iZXIpIHsKLSAgICBhc3NlcnRfdHJ1ZSh0aGlzLm9wZW5lZF8pOwotICAgIGFzc2Vy
dF9mYWxzZSh0aGlzLmN1cnJlbnRDb25maWd1cmF0aW9uXyA9PSBudWxsLCAnZGV2aWNlIGNvbmZp
Z3VyZWQnKTsKLSAgICBhc3NlcnRfdHJ1ZSh0aGlzLmNsYWltZWRJbnRlcmZhY2VzXy5oYXMoaW50
ZXJmYWNlTnVtYmVyKSk7Ci0gICAgdGhpcy5jbGFpbWVkSW50ZXJmYWNlc18uZGVsZXRlKGludGVy
ZmFjZU51bWJlcik7Ci0gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh7IHN1Y2Nlc3M6IHRydWUg
fSk7Ci0gIH0KLQotICBzZXRJbnRlcmZhY2VBbHRlcm5hdGVTZXR0aW5nKGludGVyZmFjZU51bWJl
ciwgYWx0ZXJuYXRlU2V0dGluZykgewotICAgIGFzc2VydF90cnVlKHRoaXMub3BlbmVkXyk7Ci0g
ICAgYXNzZXJ0X2ZhbHNlKHRoaXMuY3VycmVudENvbmZpZ3VyYXRpb25fID09IG51bGwsICdkZXZp
Y2UgY29uZmlndXJlZCcpOwotICAgIGFzc2VydF90cnVlKHRoaXMuY2xhaW1lZEludGVyZmFjZXNf
LmhhcyhpbnRlcmZhY2VOdW1iZXIpKTsKLQotICAgIGxldCBpZmFjZSA9IHRoaXMuY3VycmVudENv
bmZpZ3VyYXRpb25fLmludGVyZmFjZXMuZmluZCgKLSAgICAgICAgaWZhY2UgPT4gaWZhY2UuaW50
ZXJmYWNlTnVtYmVyID09IGludGVyZmFjZU51bWJlcik7Ci0gICAgLy8gQmxpbmsgc2hvdWxkIG5l
dmVyIHJlcXVlc3QgYW4gaW52YWxpZCBpbnRlcmZhY2Ugb3IgYWx0ZXJuYXRlLgotICAgIGFzc2Vy
dF9mYWxzZShpZmFjZSA9PSB1bmRlZmluZWQpOwotICAgIGFzc2VydF90cnVlKGlmYWNlLmFsdGVy
bmF0ZXMuc29tZSgKLSAgICAgICAgeCA9PiB4LmFsdGVybmF0ZVNldHRpbmcgPT0gYWx0ZXJuYXRl
U2V0dGluZykpOwotICAgIHRoaXMuY2xhaW1lZEludGVyZmFjZXNfLnNldChpbnRlcmZhY2VOdW1i
ZXIsIGFsdGVybmF0ZVNldHRpbmcpOwotICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoeyBzdWNj
ZXNzOiB0cnVlIH0pOwotICB9Ci0KLSAgcmVzZXQoKSB7Ci0gICAgYXNzZXJ0X3RydWUodGhpcy5v
cGVuZWRfKTsKLSAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHsgc3VjY2VzczogdHJ1ZSB9KTsK
LSAgfQotCi0gIGNsZWFySGFsdChlbmRwb2ludCkgewotICAgIGFzc2VydF90cnVlKHRoaXMub3Bl
bmVkXyk7Ci0gICAgYXNzZXJ0X2ZhbHNlKHRoaXMuY3VycmVudENvbmZpZ3VyYXRpb25fID09IG51
bGwsICdkZXZpY2UgY29uZmlndXJlZCcpOwotICAgIC8vIFRPRE8ocmVpbGx5Zyk6IEFzc2VydCB0
aGF0IGVuZHBvaW50IGlzIHZhbGlkLgotICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoeyBzdWNj
ZXNzOiB0cnVlIH0pOwotICB9Ci0KLSAgYXN5bmMgY29udHJvbFRyYW5zZmVySW4ocGFyYW1zLCBs
ZW5ndGgsIHRpbWVvdXQpIHsKLSAgICBhc3NlcnRfdHJ1ZSh0aGlzLm9wZW5lZF8pOwotCi0gICAg
aWYgKChwYXJhbXMucmVjaXBpZW50ID09IGRldmljZS5tb2pvbS5Vc2JDb250cm9sVHJhbnNmZXJS
ZWNpcGllbnQuSU5URVJGQUNFIHx8Ci0gICAgICAgICBwYXJhbXMucmVjaXBpZW50ID09IGRldmlj
ZS5tb2pvbS5Vc2JDb250cm9sVHJhbnNmZXJSZWNpcGllbnQuRU5EUE9JTlQpICYmCi0gICAgICAg
IHRoaXMuY3VycmVudENvbmZpZ3VyYXRpb25fID09IG51bGwpIHsKLSAgICAgIHJldHVybiB7Ci0g
ICAgICAgIHN0YXR1czogZGV2aWNlLm1vam9tLlVzYlRyYW5zZmVyU3RhdHVzLlBFUk1JU1NJT05f
REVOSUVELAotICAgICAgfTsKLSAgICB9Ci0KLSAgICByZXR1cm4gewotICAgICAgc3RhdHVzOiBk
ZXZpY2UubW9qb20uVXNiVHJhbnNmZXJTdGF0dXMuT0ssCi0gICAgICBkYXRhOiBbbGVuZ3RoID4+
IDgsIGxlbmd0aCAmIDB4ZmYsIHBhcmFtcy5yZXF1ZXN0LCBwYXJhbXMudmFsdWUgPj4gOCwKLSAg
ICAgICAgICAgICBwYXJhbXMudmFsdWUgJiAweGZmLCBwYXJhbXMuaW5kZXggPj4gOCwgcGFyYW1z
LmluZGV4ICYgMHhmZl0KLSAgICB9OwotICB9Ci0KLSAgYXN5bmMgY29udHJvbFRyYW5zZmVyT3V0
KHBhcmFtcywgZGF0YSwgdGltZW91dCkgewotICAgIGFzc2VydF90cnVlKHRoaXMub3BlbmVkXyk7
Ci0KLSAgICBpZiAoKHBhcmFtcy5yZWNpcGllbnQgPT0gZGV2aWNlLm1vam9tLlVzYkNvbnRyb2xU
cmFuc2ZlclJlY2lwaWVudC5JTlRFUkZBQ0UgfHwKLSAgICAgICAgIHBhcmFtcy5yZWNpcGllbnQg
PT0gZGV2aWNlLm1vam9tLlVzYkNvbnRyb2xUcmFuc2ZlclJlY2lwaWVudC5FTkRQT0lOVCkgJiYK
LSAgICAgICAgdGhpcy5jdXJyZW50Q29uZmlndXJhdGlvbl8gPT0gbnVsbCkgewotICAgICAgcmV0
dXJuIHsKLSAgICAgICAgc3RhdHVzOiBkZXZpY2UubW9qb20uVXNiVHJhbnNmZXJTdGF0dXMuUEVS
TUlTU0lPTl9ERU5JRUQsCi0gICAgICB9OwotICAgIH0KLQotICAgIHJldHVybiB7Ci0gICAgICBz
dGF0dXM6IGRldmljZS5tb2pvbS5Vc2JUcmFuc2ZlclN0YXR1cy5PSywKLSAgICAgIGJ5dGVzV3Jp
dHRlbjogZGF0YS5ieXRlTGVuZ3RoCi0gICAgfTsKLSAgfQotCi0gIGdlbmVyaWNUcmFuc2Zlcklu
KGVuZHBvaW50TnVtYmVyLCBsZW5ndGgsIHRpbWVvdXQpIHsKLSAgICBhc3NlcnRfdHJ1ZSh0aGlz
Lm9wZW5lZF8pOwotICAgIGFzc2VydF9mYWxzZSh0aGlzLmN1cnJlbnRDb25maWd1cmF0aW9uXyA9
PSBudWxsLCAnZGV2aWNlIGNvbmZpZ3VyZWQnKTsKLSAgICAvLyBUT0RPKHJlaWxseWcpOiBBc3Nl
cnQgdGhhdCBlbmRwb2ludCBpcyB2YWxpZC4KLSAgICBsZXQgZGF0YSA9IG5ldyBBcnJheShsZW5n
dGgpOwotICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbGVuZ3RoOyArK2kpCi0gICAgICBkYXRhW2ld
ID0gaSAmIDB4ZmY7Ci0gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh7Ci0gICAgICBzdGF0dXM6
IGRldmljZS5tb2pvbS5Vc2JUcmFuc2ZlclN0YXR1cy5PSywKLSAgICAgIGRhdGE6IGRhdGEKLSAg
ICB9KTsKLSAgfQotCi0gIGdlbmVyaWNUcmFuc2Zlck91dChlbmRwb2ludE51bWJlciwgZGF0YSwg
dGltZW91dCkgewotICAgIGFzc2VydF90cnVlKHRoaXMub3BlbmVkXyk7Ci0gICAgYXNzZXJ0X2Zh
bHNlKHRoaXMuY3VycmVudENvbmZpZ3VyYXRpb25fID09IG51bGwsICdkZXZpY2UgY29uZmlndXJl
ZCcpOwotICAgIC8vIFRPRE8ocmVpbGx5Zyk6IEFzc2VydCB0aGF0IGVuZHBvaW50IGlzIHZhbGlk
LgotICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoewotICAgICAgc3RhdHVzOiBkZXZpY2UubW9q
b20uVXNiVHJhbnNmZXJTdGF0dXMuT0ssCi0gICAgICBieXRlc1dyaXR0ZW46IGRhdGEuYnl0ZUxl
bmd0aAotICAgIH0pOwotICB9Ci0KLSAgaXNvY2hyb25vdXNUcmFuc2ZlckluKGVuZHBvaW50TnVt
YmVyLCBwYWNrZXRMZW5ndGhzLCB0aW1lb3V0KSB7Ci0gICAgYXNzZXJ0X3RydWUodGhpcy5vcGVu
ZWRfKTsKLSAgICBhc3NlcnRfZmFsc2UodGhpcy5jdXJyZW50Q29uZmlndXJhdGlvbl8gPT0gbnVs
bCwgJ2RldmljZSBjb25maWd1cmVkJyk7Ci0gICAgLy8gVE9ETyhyZWlsbHlnKTogQXNzZXJ0IHRo
YXQgZW5kcG9pbnQgaXMgdmFsaWQuCi0gICAgbGV0IGRhdGEgPSBuZXcgQXJyYXkocGFja2V0TGVu
Z3Rocy5yZWR1Y2UoKGEsIGIpID0+IGEgKyBiLCAwKSk7Ci0gICAgbGV0IGRhdGFPZmZzZXQgPSAw
OwotICAgIGxldCBwYWNrZXRzID0gbmV3IEFycmF5KHBhY2tldExlbmd0aHMubGVuZ3RoKTsKLSAg
ICBmb3IgKGxldCBpID0gMDsgaSA8IHBhY2tldExlbmd0aHMubGVuZ3RoOyArK2kpIHsKLSAgICAg
IGZvciAobGV0IGogPSAwOyBqIDwgcGFja2V0TGVuZ3Roc1tpXTsgKytqKQotICAgICAgICBkYXRh
W2RhdGFPZmZzZXQrK10gPSBqICYgMHhmZjsKLSAgICAgIHBhY2tldHNbaV0gPSB7Ci0gICAgICAg
IGxlbmd0aDogcGFja2V0TGVuZ3Roc1tpXSwKLSAgICAgICAgdHJhbnNmZXJyZWRMZW5ndGg6IHBh
Y2tldExlbmd0aHNbaV0sCi0gICAgICAgIHN0YXR1czogZGV2aWNlLm1vam9tLlVzYlRyYW5zZmVy
U3RhdHVzLk9LCi0gICAgICB9OwotICAgIH0KLSAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHsg
ZGF0YTogZGF0YSwgcGFja2V0czogcGFja2V0cyB9KTsKLSAgfQotCi0gIGlzb2Nocm9ub3VzVHJh
bnNmZXJPdXQoZW5kcG9pbnROdW1iZXIsIGRhdGEsIHBhY2tldExlbmd0aHMsIHRpbWVvdXQpIHsK
LSAgICBhc3NlcnRfdHJ1ZSh0aGlzLm9wZW5lZF8pOwotICAgIGFzc2VydF9mYWxzZSh0aGlzLmN1
cnJlbnRDb25maWd1cmF0aW9uXyA9PSBudWxsLCAnZGV2aWNlIGNvbmZpZ3VyZWQnKTsKLSAgICAv
LyBUT0RPKHJlaWxseWcpOiBBc3NlcnQgdGhhdCBlbmRwb2ludCBpcyB2YWxpZC4KLSAgICBsZXQg
cGFja2V0cyA9IG5ldyBBcnJheShwYWNrZXRMZW5ndGhzLmxlbmd0aCk7Ci0gICAgZm9yIChsZXQg
aSA9IDA7IGkgPCBwYWNrZXRMZW5ndGhzLmxlbmd0aDsgKytpKSB7Ci0gICAgICBwYWNrZXRzW2ld
ID0gewotICAgICAgICBsZW5ndGg6IHBhY2tldExlbmd0aHNbaV0sCi0gICAgICAgIHRyYW5zZmVy
cmVkTGVuZ3RoOiBwYWNrZXRMZW5ndGhzW2ldLAotICAgICAgICBzdGF0dXM6IGRldmljZS5tb2pv
bS5Vc2JUcmFuc2ZlclN0YXR1cy5PSwotICAgICAgfTsKLSAgICB9Ci0gICAgcmV0dXJuIFByb21p
c2UucmVzb2x2ZSh7IHBhY2tldHM6IHBhY2tldHMgfSk7Ci0gIH0KLX0KLQotY2xhc3MgRmFrZVdl
YlVzYlNlcnZpY2UgewotICBjb25zdHJ1Y3RvcigpIHsKLSAgICB0aGlzLmJpbmRpbmdTZXRfID0g
bmV3IG1vam8uQmluZGluZ1NldChibGluay5tb2pvbS5XZWJVc2JTZXJ2aWNlKTsKLSAgICB0aGlz
LmRldmljZXNfID0gbmV3IE1hcCgpOwotICAgIHRoaXMuZGV2aWNlc0J5R3VpZF8gPSBuZXcgTWFw
KCk7Ci0gICAgdGhpcy5jbGllbnRfID0gbnVsbDsKLSAgICB0aGlzLm5leHRHdWlkXyA9IDA7Ci0g
IH0KLQotICBhZGRCaW5kaW5nKGhhbmRsZSkgewotICAgIHRoaXMuYmluZGluZ1NldF8uYWRkQmlu
ZGluZyh0aGlzLCBoYW5kbGUpOwotICB9Ci0KLSAgYWRkRGV2aWNlKGZha2VEZXZpY2UsIGluZm8p
IHsKLSAgICBsZXQgZGV2aWNlID0gewotICAgICAgZmFrZURldmljZTogZmFrZURldmljZSwKLSAg
ICAgIGd1aWQ6ICh0aGlzLm5leHRHdWlkXysrKS50b1N0cmluZygpLAotICAgICAgaW5mbzogaW5m
bywKLSAgICAgIGJpbmRpbmdBcnJheTogW10KLSAgICB9OwotICAgIHRoaXMuZGV2aWNlc18uc2V0
KGZha2VEZXZpY2UsIGRldmljZSk7Ci0gICAgdGhpcy5kZXZpY2VzQnlHdWlkXy5zZXQoZGV2aWNl
Lmd1aWQsIGRldmljZSk7Ci0gICAgaWYgKHRoaXMuY2xpZW50XykKLSAgICAgIHRoaXMuY2xpZW50
Xy5vbkRldmljZUFkZGVkKGZha2VEZXZpY2VJbml0VG9EZXZpY2VJbmZvKGRldmljZS5ndWlkLCBp
bmZvKSk7Ci0gIH0KLQotICByZW1vdmVEZXZpY2UoZmFrZURldmljZSkgewotICAgIGxldCBkZXZp
Y2UgPSB0aGlzLmRldmljZXNfLmdldChmYWtlRGV2aWNlKTsKLSAgICBpZiAoIWRldmljZSkKLSAg
ICAgIHRocm93IG5ldyBFcnJvcignQ2Fubm90IHJlbW92ZSB1bmtub3duIGRldmljZS4nKTsKLQot
ICAgIGZvciAodmFyIGJpbmRpbmcgb2YgZGV2aWNlLmJpbmRpbmdBcnJheSkKLSAgICAgIGJpbmRp
bmcuY2xvc2UoKTsKLSAgICB0aGlzLmRldmljZXNfLmRlbGV0ZShkZXZpY2UuZmFrZURldmljZSk7
Ci0gICAgdGhpcy5kZXZpY2VzQnlHdWlkXy5kZWxldGUoZGV2aWNlLmd1aWQpOwotICAgIGlmICh0
aGlzLmNsaWVudF8pIHsKLSAgICAgIHRoaXMuY2xpZW50Xy5vbkRldmljZVJlbW92ZWQoCi0gICAg
ICAgICAgZmFrZURldmljZUluaXRUb0RldmljZUluZm8oZGV2aWNlLmd1aWQsIGRldmljZS5pbmZv
KSk7Ci0gICAgfQotICB9Ci0KLSAgcmVtb3ZlQWxsRGV2aWNlcygpIHsKLSAgICB0aGlzLmRldmlj
ZXNfLmZvckVhY2goZGV2aWNlID0+IHsKLSAgICAgIGZvciAodmFyIGJpbmRpbmcgb2YgZGV2aWNl
LmJpbmRpbmdBcnJheSkKLSAgICAgICAgYmluZGluZy5jbG9zZSgpOwotICAgICAgdGhpcy5jbGll
bnRfLm9uRGV2aWNlUmVtb3ZlZCgKLSAgICAgICAgICBmYWtlRGV2aWNlSW5pdFRvRGV2aWNlSW5m
byhkZXZpY2UuZ3VpZCwgZGV2aWNlLmluZm8pKTsKLSAgICB9KTsKLSAgICB0aGlzLmRldmljZXNf
LmNsZWFyKCk7Ci0gICAgdGhpcy5kZXZpY2VzQnlHdWlkXy5jbGVhcigpOwotICB9Ci0KLSAgZ2V0
RGV2aWNlcygpIHsKLSAgICBsZXQgZGV2aWNlcyA9IFtdOwotICAgIHRoaXMuZGV2aWNlc18uZm9y
RWFjaChkZXZpY2UgPT4gewotICAgICAgZGV2aWNlcy5wdXNoKGZha2VEZXZpY2VJbml0VG9EZXZp
Y2VJbmZvKGRldmljZS5ndWlkLCBkZXZpY2UuaW5mbykpOwotICAgIH0pOwotICAgIHJldHVybiBQ
cm9taXNlLnJlc29sdmUoeyByZXN1bHRzOiBkZXZpY2VzIH0pOwotICB9Ci0KLSAgZ2V0RGV2aWNl
KGd1aWQsIHJlcXVlc3QpIHsKLSAgICBsZXQgcmV0cmlldmVkRGV2aWNlID0gdGhpcy5kZXZpY2Vz
QnlHdWlkXy5nZXQoZ3VpZCk7Ci0gICAgaWYgKHJldHJpZXZlZERldmljZSkgewotICAgICAgbGV0
IGJpbmRpbmcgPSBuZXcgbW9qby5CaW5kaW5nKAotICAgICAgICAgIGRldmljZS5tb2pvbS5Vc2JE
ZXZpY2UsCi0gICAgICAgICAgbmV3IEZha2VEZXZpY2UocmV0cmlldmVkRGV2aWNlLmluZm8pLAot
ICAgICAgICAgIHJlcXVlc3QpOwotICAgICAgYmluZGluZy5zZXRDb25uZWN0aW9uRXJyb3JIYW5k
bGVyKCgpID0+IHsKLSAgICAgICAgaWYgKHJldHJpZXZlZERldmljZS5mYWtlRGV2aWNlLm9uY2xv
c2UpCi0gICAgICAgICAgcmV0cmlldmVkRGV2aWNlLmZha2VEZXZpY2Uub25jbG9zZSgpOwotICAg
ICAgfSk7Ci0gICAgICByZXRyaWV2ZWREZXZpY2UuYmluZGluZ0FycmF5LnB1c2goYmluZGluZyk7
Ci0gICAgfSBlbHNlIHsKLSAgICAgIHJlcXVlc3QuY2xvc2UoKTsKLSAgICB9Ci0gIH0KLQotICBn
ZXRQZXJtaXNzaW9uKGRldmljZUZpbHRlcnMpIHsKLSAgICByZXR1cm4gbmV3IFByb21pc2UocmVz
b2x2ZSA9PiB7Ci0gICAgICBpZiAobmF2aWdhdG9yLnVzYi50ZXN0Lm9ucmVxdWVzdGRldmljZSkg
ewotICAgICAgICBuYXZpZ2F0b3IudXNiLnRlc3Qub25yZXF1ZXN0ZGV2aWNlKAotICAgICAgICAg
ICAgbmV3IFVTQkRldmljZVJlcXVlc3RFdmVudChkZXZpY2VGaWx0ZXJzLCByZXNvbHZlKSk7Ci0g
ICAgICB9IGVsc2UgewotICAgICAgICByZXNvbHZlKHsgcmVzdWx0OiBudWxsIH0pOwotICAgICAg
fQotICAgIH0pOwotICB9Ci0KLSAgc2V0Q2xpZW50KGNsaWVudEluZm8pIHsKLSAgICB0aGlzLmNs
aWVudF8gPSBuZXcgZGV2aWNlLm1vam9tLlVzYkRldmljZU1hbmFnZXJDbGllbnRBc3NvY2lhdGVk
UHRyKGNsaWVudEluZm8pOwotICB9Ci19Ci0KLWNsYXNzIFVTQkRldmljZVJlcXVlc3RFdmVudCB7
Ci0gIGNvbnN0cnVjdG9yKGRldmljZUZpbHRlcnMsIHJlc29sdmUpIHsKLSAgICB0aGlzLmZpbHRl
cnMgPSBjb252ZXJ0TW9qb0RldmljZUZpbHRlcnMoZGV2aWNlRmlsdGVycyk7Ci0gICAgdGhpcy5y
ZXNvbHZlRnVuY18gPSByZXNvbHZlOwotICB9Ci0KLSAgcmVzcG9uZFdpdGgodmFsdWUpIHsKLSAg
ICAvLyBXYWl0IHVudGlsIHx2YWx1ZXwgcmVzb2x2ZXMgKGlmIGl0IGlzIGEgUHJvbWlzZSkuIFRo
aXMgZnVuY3Rpb24gcmV0dXJucwotICAgIC8vIG5vIHZhbHVlLgotICAgIFByb21pc2UucmVzb2x2
ZSh2YWx1ZSkudGhlbihmYWtlRGV2aWNlID0+IHsKLSAgICAgIGxldCBkZXZpY2UgPSBpbnRlcm5h
bC53ZWJVc2JTZXJ2aWNlLmRldmljZXNfLmdldChmYWtlRGV2aWNlKTsKLSAgICAgIGxldCByZXN1
bHQgPSBudWxsOwotICAgICAgaWYgKGRldmljZSkgewotICAgICAgICByZXN1bHQgPSBmYWtlRGV2
aWNlSW5pdFRvRGV2aWNlSW5mbyhkZXZpY2UuZ3VpZCwgZGV2aWNlLmluZm8pOwotICAgICAgfQot
ICAgICAgdGhpcy5yZXNvbHZlRnVuY18oeyByZXN1bHQ6IHJlc3VsdCB9KTsKLSAgICB9LCAoKSA9
PiB7Ci0gICAgICB0aGlzLnJlc29sdmVGdW5jXyh7IHJlc3VsdDogbnVsbCB9KTsKLSAgICB9KTsK
LSAgfQotfQotCi0vLyBVbmxpa2UgRmFrZURldmljZSB0aGlzIGNsYXNzIGlzIGV4cG9ydGVkIHRv
IGNhbGxlcnMgb2YgVVNCVGVzdC5hZGRGYWtlRGV2aWNlLgotY2xhc3MgRmFrZVVTQkRldmljZSB7
Ci0gIGNvbnN0cnVjdG9yKCkgewotICAgIHRoaXMub25jbG9zZSA9IG51bGw7Ci0gIH0KLQotICBk
aXNjb25uZWN0KCkgewotICAgIHNldFRpbWVvdXQoKCkgPT4gaW50ZXJuYWwud2ViVXNiU2Vydmlj
ZS5yZW1vdmVEZXZpY2UodGhpcyksIDApOwotICB9Ci19Ci0KLWNsYXNzIFVTQlRlc3QgewotICBj
b25zdHJ1Y3RvcigpIHsKLSAgICB0aGlzLm9ucmVxdWVzdGRldmljZSA9IHVuZGVmaW5lZDsKLSAg
fQotCi0gIGFzeW5jIGluaXRpYWxpemUoKSB7Ci0gICAgaWYgKGludGVybmFsLmluaXRpYWxpemVk
KQotICAgICAgcmV0dXJuOwotCi0gICAgLy8gQmUgcmVhZHkgdG8gaGFuZGxlICdSZWFkeUZvckF0
dGFjaG1lbnQnIG1lc3NhZ2UgZnJvbSBjaGlsZCBpZnJhbWVzLgotICAgIGlmICgnd2luZG93JyBp
biBzZWxmKSB7Ci0gICAgICBnZXRNZXNzYWdlUG9ydCh3aW5kb3cpOwotICAgIH0KLQotICAgIGlu
dGVybmFsLndlYlVzYlNlcnZpY2UgPSBuZXcgRmFrZVdlYlVzYlNlcnZpY2UoKTsKLSAgICBpbnRl
cm5hbC53ZWJVc2JTZXJ2aWNlSW50ZXJjZXB0b3IgPQotICAgICAgICBuZXcgTW9qb0ludGVyZmFj
ZUludGVyY2VwdG9yKGJsaW5rLm1vam9tLldlYlVzYlNlcnZpY2UubmFtZSwgImNvbnRleHQiLCB0
cnVlKTsKLSAgICBpbnRlcm5hbC53ZWJVc2JTZXJ2aWNlSW50ZXJjZXB0b3Iub25pbnRlcmZhY2Vy
ZXF1ZXN0ID0KLSAgICAgICAgZSA9PiBpbnRlcm5hbC53ZWJVc2JTZXJ2aWNlLmFkZEJpbmRpbmco
ZS5oYW5kbGUpOwotICAgIGludGVybmFsLndlYlVzYlNlcnZpY2VJbnRlcmNlcHRvci5zdGFydCgp
OwotCi0gICAgLy8gV2FpdCBmb3IgYSBjYWxsIHRvIEdldERldmljZXMoKSB0byBwYXNzIGJldHdl
ZW4gdGhlIHJlbmRlcmVyIGFuZCB0aGUKLSAgICAvLyBtb2NrIGluIG9yZGVyIHRvIGVzdGFibGlz
aCB0aGF0IGV2ZXJ5dGhpbmcgaXMgc2V0IHVwLgotICAgIGF3YWl0IG5hdmlnYXRvci51c2IuZ2V0
RGV2aWNlcygpOwotICAgIGludGVybmFsLmluaXRpYWxpemVkID0gdHJ1ZTsKLSAgfQotCi0gIC8v
IFJldHVybnMgYSBwcm9taXNlIHRoYXQgaXMgcmVzb2x2ZWQgd2hlbiB0aGUgaW1wbGVtZW50YXRp
b24gb2YgfHVzYnwgaW4gdGhlCi0gIC8vIGdsb2JhbCBzY29wZSBmb3IgfGNvbnRleHR8IGlzIGNv
bnRyb2xsZWQgYnkgdGhlIGN1cnJlbnQgY29udGV4dC4KLSAgYXR0YWNoVG9Db250ZXh0KGNvbnRl
eHQpIHsKLSAgICBpZiAoIWludGVybmFsLmluaXRpYWxpemVkKQotICAgICAgdGhyb3cgbmV3IEVy
cm9yKCdDYWxsIGluaXRpYWxpemUoKSBiZWZvcmUgYXR0YWNoVG9Db250ZXh0KCknKTsKLQotICAg
IGxldCB0YXJnZXQgPSBjb250ZXh0LmNvbnN0cnVjdG9yLm5hbWUgPT09ICdXb3JrZXInID8gY29u
dGV4dCA6IHdpbmRvdzsKLSAgICByZXR1cm4gZ2V0TWVzc2FnZVBvcnQodGFyZ2V0KS50aGVuKCgp
ID0+IHsKLSAgICAgIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKLSAgICAgICAgaW50
ZXJuYWwubWVzc2FnZVBvcnQub25tZXNzYWdlID0gY2hhbm5lbEV2ZW50ID0+IHsKLSAgICAgICAg
ICBzd2l0Y2ggKGNoYW5uZWxFdmVudC5kYXRhLnR5cGUpIHsKLSAgICAgICAgICAgIGNhc2UgYmxp
bmsubW9qb20uV2ViVXNiU2VydmljZS5uYW1lOgotICAgICAgICAgICAgICBpbnRlcm5hbC53ZWJV
c2JTZXJ2aWNlLmFkZEJpbmRpbmcoY2hhbm5lbEV2ZW50LmRhdGEuaGFuZGxlKTsKLSAgICAgICAg
ICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBjYXNlICdDb21wbGV0ZSc6Ci0gICAgICAgICAgICAg
IHJlc29sdmUoKTsKLSAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgfQotICAgICAgICB9
OwotICAgICAgICBpbnRlcm5hbC5tZXNzYWdlUG9ydC5wb3N0TWVzc2FnZSh7Ci0gICAgICAgICAg
dHlwZTogJ0F0dGFjaCcgLAotICAgICAgICAgIGludGVyZmFjZXM6IFsKLSAgICAgICAgICAgIGJs
aW5rLm1vam9tLldlYlVzYlNlcnZpY2UubmFtZSwKLSAgICAgICAgICBdfSk7Ci0gICAgICB9KTsK
LSAgICB9KTsKLSAgfQotCi0gIGFkZEZha2VEZXZpY2UoZGV2aWNlSW5pdCkgewotICAgIGlmICgh
aW50ZXJuYWwuaW5pdGlhbGl6ZWQpCi0gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0NhbGwgaW5pdGlh
bGl6ZSgpIGJlZm9yZSBhZGRGYWtlRGV2aWNlKCkuJyk7Ci0KLSAgICAvLyB8YWRkRGV2aWNlfCBh
bmQgfHJlbW92ZURldmljZXwgYXJlIGNhbGxlZCBpbiBhIHNldFRpbWVvdXQgY2FsbGJhY2sgc28K
LSAgICAvLyB0aGF0IHRlc3RzIGRvIG5vdCByZWx5IG9uIHRoZSBkZXZpY2UgYmVpbmcgaW1tZWRp
YXRlbHkgYXZhaWxhYmxlIHdoaWNoCi0gICAgLy8gbWF5IG5vdCBiZSB0cnVlIGZvciBhbGwgaW1w
bGVtZW50YXRpb25zIG9mIHRoaXMgdGVzdCBBUEkuCi0gICAgbGV0IGZha2VEZXZpY2UgPSBuZXcg
RmFrZVVTQkRldmljZSgpOwotICAgIHNldFRpbWVvdXQoCi0gICAgICAgICgpID0+IGludGVybmFs
LndlYlVzYlNlcnZpY2UuYWRkRGV2aWNlKGZha2VEZXZpY2UsIGRldmljZUluaXQpLCAwKTsKLSAg
ICByZXR1cm4gZmFrZURldmljZTsKLSAgfQotCi0gIHJlc2V0KCkgewotICAgIGlmICghaW50ZXJu
YWwuaW5pdGlhbGl6ZWQpCi0gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0NhbGwgaW5pdGlhbGl6ZSgp
IGJlZm9yZSByZXNldCgpLicpOwotCi0gICAgLy8gUmVzZXQgdGhlIG1vY2tzIGluIGEgc2V0VGlt
ZW91dCBjYWxsYmFjayBzbyB0aGF0IHRlc3RzIGRvIG5vdCByZWx5IG9uCi0gICAgLy8gdGhlIGZh
Y3QgdGhhdCB0aGlzIHBvbHlmaWxsIGNhbiBkbyB0aGlzIHN5bmNocm9ub3VzbHkuCi0gICAgcmV0
dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4gewotICAgICAgc2V0VGltZW91dCgoKSA9PiB7Ci0g
ICAgICAgIGlmIChpbnRlcm5hbC5tZXNzYWdlUG9ydCAhPT0gbnVsbCkKLSAgICAgICAgICBpbnRl
cm5hbC5tZXNzYWdlUG9ydC5jbG9zZSgpOwotICAgICAgICBpbnRlcm5hbC5tZXNzYWdlUG9ydCA9
IG51bGw7Ci0gICAgICAgIGludGVybmFsLndlYlVzYlNlcnZpY2UucmVtb3ZlQWxsRGV2aWNlcygp
OwotICAgICAgICByZXNvbHZlKCk7Ci0gICAgICB9LCAwKTsKLSAgICB9KTsKLSAgfQotfQotCi1u
YXZpZ2F0b3IudXNiLnRlc3QgPSBuZXcgVVNCVGVzdCgpOwotCi19KSgpOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hy
b21pdW0vd2VidXNiLXRlc3QuanMuaGVhZGVycyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL3dlYnVzYi10ZXN0LmpzLmhlYWRl
cnMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY4MDVjMzIzZGY1Li4wMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy9jaHJvbWl1bS93ZWJ1c2ItdGVzdC5qcy5oZWFkZXJzCisrKyAvZGV2L251bGwKQEAgLTEg
KzAsMCBAQAotQ29udGVudC1UeXBlOiB0ZXh0L2phdmFzY3JpcHQ7IGNoYXJzZXQ9dXRmLTgKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL2Nocm9taXVtL3dlYnhyLXRlc3QuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS93ZWJ4ci10ZXN0LmpzCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3MzlkNzcxZDQwYi4uMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hy
b21pdW0vd2VieHItdGVzdC5qcworKysgL2Rldi9udWxsCkBAIC0xLDEwMjYgKzAsMCBAQAotJ3Vz
ZSBzdHJpY3QnOwotCi0vLyBUaGlzIHBvbHlmaWxsIGxpYnJhcnkgaW1wbGVtZW50cyB0aGUgV2Vi
WFIgVGVzdCBBUEkgYXMgc3BlY2lmaWVkIGhlcmU6Ci0vLyBodHRwczovL2dpdGh1Yi5jb20vaW1t
ZXJzaXZlLXdlYi93ZWJ4ci10ZXN0LWFwaQotCi0KLWxldCBkZWZhdWx0X3N0YW5kaW5nID0gbmV3
IGdmeC5tb2pvbS5UcmFuc2Zvcm0oKTsKLWRlZmF1bHRfc3RhbmRpbmcubWF0cml4ID0gWzEsIDAs
IDAsIDAsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAwLCAxLCAwLCAwLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgMCwgMCwgMSwgMCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
IDAsIDEuNjUsIDAsIDFdOwotY29uc3QgZGVmYXVsdF9zdGFnZV9wYXJhbWV0ZXJzID0gewotICBz
dGFuZGluZ1RyYW5zZm9ybTogZGVmYXVsdF9zdGFuZGluZywKLSAgYm91bmRzOiBudWxsCi19Owot
Ci1mdW5jdGlvbiBnZXRNYXRyaXhGcm9tVHJhbnNmb3JtKHRyYW5zZm9ybSkgewotICBsZXQgeCA9
IHRyYW5zZm9ybS5vcmllbnRhdGlvblswXTsKLSAgbGV0IHkgPSB0cmFuc2Zvcm0ub3JpZW50YXRp
b25bMV07Ci0gIGxldCB6ID0gdHJhbnNmb3JtLm9yaWVudGF0aW9uWzJdOwotICBsZXQgdyA9IHRy
YW5zZm9ybS5vcmllbnRhdGlvblszXTsKLQotICBsZXQgbTExID0gMS4wIC0gMi4wICogKHkgKiB5
ICsgeiAqIHopOwotICBsZXQgbTIxID0gMi4wICogKHggKiB5ICsgeiAqIHcpOwotICBsZXQgbTMx
ID0gMi4wICogKHggKiB6IC0geSAqIHcpOwotCi0gIGxldCBtMTIgPSAyLjAgKiAoeCAqIHkgLSB6
ICogdyk7Ci0gIGxldCBtMjIgPSAxLjAgLSAyLjAgKiAoeCAqIHggKyB6ICogeik7Ci0gIGxldCBt
MzIgPSAyLjAgKiAoeSAqIHogKyB4ICogdyk7Ci0KLSAgbGV0IG0xMyA9IDIuMCAqICh4ICogeiAr
IHkgKiB3KTsKLSAgbGV0IG0yMyA9IDIuMCAqICh5ICogeiAtIHggKiB3KTsKLSAgbGV0IG0zMyA9
IDEuMCAtIDIuMCAqICh4ICogeCArIHkgKiB5KTsKLQotICBsZXQgbTE0ID0gdHJhbnNmb3JtLnBv
c2l0aW9uWzBdOwotICBsZXQgbTI0ID0gdHJhbnNmb3JtLnBvc2l0aW9uWzFdOwotICBsZXQgbTM0
ID0gdHJhbnNmb3JtLnBvc2l0aW9uWzJdOwotCi0gIC8vIENvbHVtbi1tYWpvciBsaW5lYXJpemVk
IG9yZGVyIGlzIGV4cGVjdGVkLgotICByZXR1cm4gW20xMSwgbTIxLCBtMzEsIDAsCi0gICAgICAg
ICAgbTEyLCBtMjIsIG0zMiwgMCwKLSAgICAgICAgICBtMTMsIG0yMywgbTMzLCAwLAotICAgICAg
ICAgIG0xNCwgbTI0LCBtMzQsIDFdOwotfQotCi1mdW5jdGlvbiBjb21wb3NlR0ZYVHJhbnNmb3Jt
KGZha2VUcmFuc2Zvcm1Jbml0KSB7Ci0gIGxldCB0cmFuc2Zvcm0gPSBuZXcgZ2Z4Lm1vam9tLlRy
YW5zZm9ybSgpOwotICB0cmFuc2Zvcm0ubWF0cml4ID0gZ2V0TWF0cml4RnJvbVRyYW5zZm9ybShm
YWtlVHJhbnNmb3JtSW5pdCk7Ci0gIHJldHVybiB0cmFuc2Zvcm07Ci19Ci0KLWNsYXNzIENocm9t
ZVhSVGVzdCB7Ci0gIGNvbnN0cnVjdG9yKCkgewotICAgIHRoaXMubW9ja1ZSU2VydmljZV8gPSBu
ZXcgTW9ja1ZSU2VydmljZShtb2pvLmZyYW1lSW50ZXJmYWNlcyk7Ci0gIH0KLQotICBzaW11bGF0
ZURldmljZUNvbm5lY3Rpb24oaW5pdF9wYXJhbXMpIHsKLSAgICByZXR1cm4gUHJvbWlzZS5yZXNv
bHZlKHRoaXMubW9ja1ZSU2VydmljZV8uYWRkUnVudGltZShpbml0X3BhcmFtcykpOwotICB9Ci0K
LSAgZGlzY29ubmVjdEFsbERldmljZXMoKSB7Ci0gICAgdGhpcy5tb2NrVlJTZXJ2aWNlXy5yZW1v
dmVBbGxSdW50aW1lcyhkZXZpY2UpOwotICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTsKLSAg
fQotCi0gIHNpbXVsYXRlVXNlckFjdGl2YXRpb24oY2FsbGJhY2spIHsKLSAgICBsZXQgYnV0dG9u
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYnV0dG9uJyk7Ci0gICAgYnV0dG9uLnRleHRDb250
ZW50ID0gJ2NsaWNrIHRvIGNvbnRpbnVlIHRlc3QnOwotICAgIGJ1dHRvbi5zdHlsZS5kaXNwbGF5
ID0gJ2Jsb2NrJzsKLSAgICBidXR0b24uc3R5bGUuZm9udFNpemUgPSAnMjBweCc7Ci0gICAgYnV0
dG9uLnN0eWxlLnBhZGRpbmcgPSAnMTBweCc7Ci0gICAgYnV0dG9uLm9uY2xpY2sgPSAoKSA9PiB7
Ci0gICAgICBjYWxsYmFjaygpOwotICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChidXR0
b24pOwotICAgIH07Ci0gICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChidXR0b24pOwotICAg
IHRlc3RfZHJpdmVyLmNsaWNrKGJ1dHRvbik7Ci0gIH0KLX0KLQotLy8gTW9ja2luZyBjbGFzcyBk
ZWZpbml0aW9ucwotCi0vLyBNb2NrIHNlcnZpY2UgaW1wbGVtZW50cyB0aGUgVlJTZXJ2aWNlIG1v
am8gaW50ZXJmYWNlLgotY2xhc3MgTW9ja1ZSU2VydmljZSB7Ci0gIGNvbnN0cnVjdG9yKCkgewot
ICAgIHRoaXMuYmluZGluZ1NldF8gPSBuZXcgbW9qby5CaW5kaW5nU2V0KGRldmljZS5tb2pvbS5W
UlNlcnZpY2UpOwotICAgIHRoaXMucnVudGltZXNfID0gW107Ci0KLSAgICB0aGlzLmludGVyY2Vw
dG9yXyA9Ci0gICAgICAgIG5ldyBNb2pvSW50ZXJmYWNlSW50ZXJjZXB0b3IoZGV2aWNlLm1vam9t
LlZSU2VydmljZS5uYW1lLCAiY29udGV4dCIsIHRydWUpOwotICAgIHRoaXMuaW50ZXJjZXB0b3Jf
Lm9uaW50ZXJmYWNlcmVxdWVzdCA9IGUgPT4KLSAgICAgICAgdGhpcy5iaW5kaW5nU2V0Xy5hZGRC
aW5kaW5nKHRoaXMsIGUuaGFuZGxlKTsKLSAgICB0aGlzLmludGVyY2VwdG9yXy5zdGFydCgpOwot
ICB9Ci0KLSAgLy8gVGVzdCBtZXRob2RzCi0gIGFkZFJ1bnRpbWUoZmFrZURldmljZUluaXQpIHsK
LSAgICBsZXQgcnVudGltZSA9IG5ldyBNb2NrUnVudGltZShmYWtlRGV2aWNlSW5pdCwgdGhpcyk7
Ci0gICAgdGhpcy5ydW50aW1lc18ucHVzaChydW50aW1lKTsKLQotICAgIGlmICh0aGlzLmNsaWVu
dF8pIHsKLSAgICAgIHRoaXMuY2xpZW50Xy5vbkRldmljZUNoYW5nZWQoKTsKLSAgICB9Ci0KLSAg
ICByZXR1cm4gcnVudGltZTsKLSAgfQotCi0gIHJlbW92ZUFsbFJ1bnRpbWVzKCkgewotICAgIGlm
ICh0aGlzLmNsaWVudF8pIHsKLSAgICAgIHRoaXMuY2xpZW50Xy5vbkRldmljZUNoYW5nZWQoKTsK
LSAgICB9Ci0KLSAgICB0aGlzLnJ1bnRpbWVzXyA9IFtdOwotICB9Ci0KLSAgcmVtb3ZlUnVudGlt
ZShkZXZpY2UpIHsKLSAgICBsZXQgaW5kZXggPSB0aGlzLnJ1bnRpbWVzXy5pbmRleE9mKGRldmlj
ZSk7Ci0gICAgaWYgKGluZGV4ID49IDApIHsKLSAgICAgIHRoaXMucnVudGltZXNfLnNwbGljZShp
bmRleCwgMSk7Ci0gICAgICBpZiAodGhpcy5jbGllbnRfKSB7Ci0gICAgICAgIHRoaXMuY2xpZW50
Xy5vbkRldmljZUNoYW5nZWQoKTsKLSAgICAgIH0KLSAgICB9Ci0gIH0KLQotICBzZXRDbGllbnQo
Y2xpZW50KSB7Ci0gICAgaWYgKHRoaXMuY2xpZW50XykgewotICAgICAgdGhyb3cgbmV3IEVycm9y
KCJzZXRDbGllbnQgc2hvdWxkIG9ubHkgYmUgY2FsbGVkIG9uY2UiKTsKLSAgICB9Ci0KLSAgICB0
aGlzLmNsaWVudF8gPSBjbGllbnQ7Ci0gIH0KLQotICByZXF1ZXN0U2Vzc2lvbihzZXNzaW9uT3B0
aW9ucywgd2FzX2FjdGl2YXRpb24pIHsKLSAgICBsZXQgcmVxdWVzdHMgPSBbXTsKLSAgICAvLyBS
ZXF1ZXN0IGEgc2Vzc2lvbiBmcm9tIGFsbCB0aGUgcnVudGltZXMuCi0gICAgZm9yIChsZXQgaSA9
IDA7IGkgPCB0aGlzLnJ1bnRpbWVzXy5sZW5ndGg7IGkrKykgewotICAgICAgcmVxdWVzdHNbaV0g
PSB0aGlzLnJ1bnRpbWVzX1tpXS5yZXF1ZXN0UnVudGltZVNlc3Npb24oc2Vzc2lvbk9wdGlvbnMp
OwotICAgIH0KLQotICAgIHJldHVybiBQcm9taXNlLmFsbChyZXF1ZXN0cykudGhlbigocmVzdWx0
cykgPT4gewotICAgICAgLy8gRmluZCBhbmQgcmV0dXJuIHRoZSBmaXJzdCBzdWNjZXNzZnVsIHJl
c3VsdC4KLSAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcmVzdWx0cy5sZW5ndGg7IGkrKykgewot
ICAgICAgICBpZiAocmVzdWx0c1tpXS5zZXNzaW9uKSB7Ci0gICAgICAgICAgLy8gQ29uc3RydWN0
IGEgZHVtbXkgbWV0cmljcyByZWNvcmRlcgotICAgICAgICAgIGxldCBtZXRyaWNzUmVjb3JkZXJQ
dHIgPSBuZXcgZGV2aWNlLm1vam9tLlhSU2Vzc2lvbk1ldHJpY3NSZWNvcmRlclB0cigpOwotICAg
ICAgICAgIGxldCBtZXRyaWNzUmVjb3JkZXJSZXF1ZXN0ID0gbW9qby5tYWtlUmVxdWVzdChtZXRy
aWNzUmVjb3JkZXJQdHIpOwotICAgICAgICAgIGxldCBtZXRyaWNzUmVjb3JkZXJCaW5kaW5nID0g
bmV3IG1vam8uQmluZGluZygKLSAgICAgICAgICAgICAgZGV2aWNlLm1vam9tLlhSU2Vzc2lvbk1l
dHJpY3NSZWNvcmRlciwgbmV3IE1vY2tYUlNlc3Npb25NZXRyaWNzUmVjb3JkZXIoKSwgbWV0cmlj
c1JlY29yZGVyUmVxdWVzdCk7Ci0KLSAgICAgICAgICBsZXQgc3VjY2VzcyA9IHsKLSAgICAgICAg
ICAgIHNlc3Npb246IHJlc3VsdHNbaV0uc2Vzc2lvbiwKLSAgICAgICAgICAgIG1ldHJpY3NSZWNv
cmRlcjogbWV0cmljc1JlY29yZGVyUHRyLAotICAgICAgICAgIH07Ci0KLSAgICAgICAgICByZXR1
cm4gewotICAgICAgICAgICAgcmVzdWx0OiB7Ci0gICAgICAgICAgICAgIHN1Y2Nlc3MgOiBzdWNj
ZXNzLAotICAgICAgICAgICAgICAkdGFnIDogIDAKLSAgICAgICAgICAgIH0KLSAgICAgICAgICB9
OwotICAgICAgICB9Ci0gICAgICB9Ci0KLSAgICAgIC8vIElmIHRoZXJlIHdlcmUgbm8gc3VjY2Vz
c2Z1bCByZXN1bHRzLCByZXR1cm5zIGEgbnVsbCBzZXNzaW9uLgotICAgICAgcmV0dXJuIHsKLSAg
ICAgICAgcmVzdWx0OiB7Ci0gICAgICAgICAgZmFpbHVyZVJlYXNvbiA6IGRldmljZS5tb2pvbS5S
ZXF1ZXN0U2Vzc2lvbkVycm9yLk5PX1JVTlRJTUVfRk9VTkQsCi0gICAgICAgICAgJHRhZyA6ICAx
Ci0gICAgICAgIH0KLSAgICAgIH07Ci0gICAgfSk7Ci0gIH0KLQotICBleGl0UHJlc2VudCgpIHsK
LSAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7Ci0gIH0KLQotICBzdXBwb3J0c1Nlc3Npb24o
c2Vzc2lvbk9wdGlvbnMpIHsKLSAgICBsZXQgcmVxdWVzdHMgPSBbXTsKLSAgICAvLyBDaGVjayBz
dXBwb3J0cyBvbiBhbGwgdGhlIHJ1bnRpbWVzLgotICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhp
cy5ydW50aW1lc18ubGVuZ3RoOyBpKyspIHsKLSAgICAgIHJlcXVlc3RzW2ldID0gdGhpcy5ydW50
aW1lc19baV0ucnVudGltZVN1cHBvcnRzU2Vzc2lvbihzZXNzaW9uT3B0aW9ucyk7Ci0gICAgfQot
Ci0gICAgcmV0dXJuIFByb21pc2UuYWxsKHJlcXVlc3RzKS50aGVuKChyZXN1bHRzKSA9PiB7Ci0g
ICAgICAvLyBGaW5kIGFuZCByZXR1cm4gdGhlIGZpcnN0IHN1Y2Nlc3NmdWwgcmVzdWx0LgotICAg
ICAgZm9yIChsZXQgaSA9IDA7IGkgPCByZXN1bHRzLmxlbmd0aDsgaSsrKSB7Ci0gICAgICAgIGlm
IChyZXN1bHRzW2ldLnN1cHBvcnRzU2Vzc2lvbikgewotICAgICAgICAgIHJldHVybiByZXN1bHRz
W2ldOwotICAgICAgICB9Ci0gICAgICB9Ci0KLSAgICAgIC8vIElmIHRoZXJlIHdlcmUgbm8gc3Vj
Y2Vzc2Z1bCByZXN1bHRzLCByZXR1cm5zIGZhbHNlLgotICAgICAgcmV0dXJuIHtzdXBwb3J0c1Nl
c3Npb246IGZhbHNlfTsKLSAgICB9KTsKLSAgfTsKLX0KLQotLy8gSW1wbGVtZW50cyBYUkZyYW1l
RGF0YVByb3ZpZGVyIGFuZCBYUlByZXNlbnRhdGlvblByb3ZpZGVyLiBNYWludGFpbnMgYSBtb2Nr
Ci0vLyBmb3IgWFJQcmVzZW50YXRpb25Qcm92aWRlci4KLWNsYXNzIE1vY2tSdW50aW1lIHsKLSAg
Ly8gTWFwcGluZyBmcm9tIHN0cmluZyBmZWF0dXJlIG5hbWVzIHRvIHRoZSBjb3JyZXNwb25kaW5n
IG1vam8gdHlwZXMuCi0gIC8vIFRoaXMgaXMgZXhwb3NlZCBhcyBhIG1lbWJlciBmb3IgZXh0ZW5z
aWJpbGl0eS4KLSAgc3RhdGljIGZlYXR1cmVUb01vam9NYXAgPSB7Ci0gICAgInZpZXdlciI6IGRl
dmljZS5tb2pvbS5YUlNlc3Npb25GZWF0dXJlLlJFRl9TUEFDRV9WSUVXRVIsCi0gICAgImxvY2Fs
IjogZGV2aWNlLm1vam9tLlhSU2Vzc2lvbkZlYXR1cmUuUkVGX1NQQUNFX0xPQ0FMLAotICAgICJs
b2NhbC1mbG9vciI6IGRldmljZS5tb2pvbS5YUlNlc3Npb25GZWF0dXJlLlJFRl9TUEFDRV9MT0NB
TF9GTE9PUiwKLSAgICAiYm91bmRlZC1mbG9vciI6IGRldmljZS5tb2pvbS5YUlNlc3Npb25GZWF0
dXJlLlJFRl9TUEFDRV9CT1VOREVEX0ZMT09SLAotICAgICJ1bmJvdW5kZWQiOiBkZXZpY2UubW9q
b20uWFJTZXNzaW9uRmVhdHVyZS5SRUZfU1BBQ0VfVU5CT1VOREVEIH07Ci0KLSAgY29uc3RydWN0
b3IoZmFrZURldmljZUluaXQsIHNlcnZpY2UpIHsKLSAgICB0aGlzLnNlc3Npb25DbGllbnRfID0g
bmV3IGRldmljZS5tb2pvbS5YUlNlc3Npb25DbGllbnRQdHIoKTsKLSAgICB0aGlzLnByZXNlbnRh
dGlvbl9wcm92aWRlcl8gPSBuZXcgTW9ja1hSUHJlc2VudGF0aW9uUHJvdmlkZXIoKTsKLQotICAg
IHRoaXMucG9zZV8gPSBudWxsOwotICAgIHRoaXMubmV4dF9mcmFtZV9pZF8gPSAwOwotICAgIHRo
aXMuYm91bmRzXyA9IG51bGw7Ci0gICAgdGhpcy5zZW5kX21vam9fc3BhY2VfcmVzZXRfID0gZmFs
c2U7Ci0KLSAgICB0aGlzLnNlcnZpY2VfID0gc2VydmljZTsKLQotICAgIHRoaXMuZnJhbWVzT2ZS
ZWZlcmVuY2UgPSB7fTsKLQotICAgIHRoaXMuaW5wdXRfc291cmNlc18gPSBbXTsKLSAgICB0aGlz
Lm5leHRfaW5wdXRfc291cmNlX2luZGV4XyA9IDE7Ci0KLSAgICAvLyBJbml0aWFsaXplIERpc3Bs
YXlJbmZvIGZpcnN0IHRvIHNldCB0aGUgZGVmYXVsdHMsIHRoZW4gb3ZlcnJpZGUgd2l0aAotICAg
IC8vIGFueXRoaW5nIGZyb20gdGhlIGRldmljZUluaXQKLSAgICBpZiAoZmFrZURldmljZUluaXQu
c3VwcG9ydHNJbW1lcnNpdmUpIHsKLSAgICAgIHRoaXMuZGlzcGxheUluZm9fID0gdGhpcy5nZXRJ
bW1lcnNpdmVEaXNwbGF5SW5mbygpOwotICAgIH0gZWxzZSB7Ci0gICAgICB0aGlzLmRpc3BsYXlJ
bmZvXyA9IHRoaXMuZ2V0Tm9uSW1tZXJzaXZlRGlzcGxheUluZm8oKTsKLSAgICB9Ci0KLSAgICBp
ZiAoZmFrZURldmljZUluaXQuc3VwcG9ydHNFbnZpcm9ubWVudEludGVncmF0aW9uKSB7Ci0gICAg
ICB0aGlzLmRpc3BsYXlJbmZvXy5jYXBhYmlsaXRpZXMuY2FuUHJvdmlkZUVudmlyb25tZW50SW50
ZWdyYXRpb24gPSB0cnVlOwotICAgIH0KLQotICAgIGlmIChmYWtlRGV2aWNlSW5pdC52aWV3ZXJP
cmlnaW4gIT0gbnVsbCkgewotICAgICAgdGhpcy5zZXRWaWV3ZXJPcmlnaW4oZmFrZURldmljZUlu
aXQudmlld2VyT3JpZ2luKTsKLSAgICB9Ci0KLSAgICBpZiAoZmFrZURldmljZUluaXQuZmxvb3JP
cmlnaW4gIT0gbnVsbCkgewotICAgICAgdGhpcy5zZXRGbG9vck9yaWdpbihmYWtlRGV2aWNlSW5p
dC5mbG9vck9yaWdpbik7Ci0gICAgfQotCi0gICAgLy8gVGhpcyBhcHByb3ByaWF0ZWx5IGhhbmRs
ZXMgaWYgdGhlIGNvb3JkaW5hdGVzIGFyZSBudWxsCi0gICAgdGhpcy5zZXRCb3VuZHNHZW9tZXRy
eShmYWtlRGV2aWNlSW5pdC5ib3VuZHNDb29yZGluYXRlcyk7Ci0KLSAgICB0aGlzLnNldFZpZXdz
KGZha2VEZXZpY2VJbml0LnZpZXdzKTsKLQotICAgIC8vIE5lZWQgdG8gc3VwcG9ydCB3ZWJWUiB3
aGljaCBkb2Vzbid0IGhhdmUgYSBub3Rpb24gb2YgZmVhdHVyZXMKLSAgICB0aGlzLnNldEZlYXR1
cmVzKGZha2VEZXZpY2VJbml0LnN1cHBvcnRlZEZlYXR1cmVzIHx8IFtdKTsKLSAgfQotCi0gIC8v
IFRlc3QgQVBJIG1ldGhvZHMuCi0gIGRpc2Nvbm5lY3QoKSB7Ci0gICAgdGhpcy5zZXJ2aWNlXy5y
ZW1vdmVSdW50aW1lKHRoaXMpOwotICAgIHRoaXMucHJlc2VudGF0aW9uX3Byb3ZpZGVyXy5DbG9z
ZSgpOwotICAgIGlmICh0aGlzLnNlc3Npb25DbGllbnRfLnB0ci5pc0JvdW5kKCkpIHsKLSAgICAg
IHRoaXMuc2Vzc2lvbkNsaWVudF8ucHRyLnJlc2V0KCk7Ci0gICAgfQotCi0gICAgcmV0dXJuIFBy
b21pc2UucmVzb2x2ZSgpOwotICB9Ci0KLSAgc2V0Vmlld3Modmlld3MpIHsKLSAgICBpZiAodmll
d3MpIHsKLSAgICAgIGxldCBjaGFuZ2VkID0gZmFsc2U7Ci0gICAgICBmb3IgKGxldCBpID0gMDsg
aSA8IHZpZXdzLmxlbmd0aDsgaSsrKSB7Ci0gICAgICAgIGlmICh2aWV3c1tpXS5leWUgPT0gJ2xl
ZnQnKSB7Ci0gICAgICAgICAgdGhpcy5kaXNwbGF5SW5mb18ubGVmdEV5ZSA9IHRoaXMuZ2V0RXll
KHZpZXdzW2ldKTsKLSAgICAgICAgICBjaGFuZ2VkID0gdHJ1ZTsKLSAgICAgICAgfSBlbHNlIGlm
ICh2aWV3c1tpXS5leWUgPT0gJ3JpZ2h0JykgewotICAgICAgICAgIHRoaXMuZGlzcGxheUluZm9f
LnJpZ2h0RXllID0gdGhpcy5nZXRFeWUodmlld3NbaV0pOwotICAgICAgICAgIGNoYW5nZWQgPSB0
cnVlOwotICAgICAgICB9Ci0gICAgICB9Ci0KLSAgICAgIGlmIChjaGFuZ2VkICYmIHRoaXMuc2Vz
c2lvbkNsaWVudF8ucHRyLmlzQm91bmQoKSkgewotICAgICAgICB0aGlzLnNlc3Npb25DbGllbnRf
Lm9uQ2hhbmdlZCh0aGlzLmRpc3BsYXlJbmZvXyk7Ci0gICAgICB9Ci0gICAgfQotICB9Ci0KLSAg
c2V0Vmlld2VyT3JpZ2luKG9yaWdpbiwgZW11bGF0ZWRQb3NpdGlvbiA9IGZhbHNlKSB7Ci0gICAg
bGV0IHAgPSBvcmlnaW4ucG9zaXRpb247Ci0gICAgbGV0IHEgPSBvcmlnaW4ub3JpZW50YXRpb247
Ci0gICAgdGhpcy5wb3NlXyA9IHsKLSAgICAgIG9yaWVudGF0aW9uOiB7IHg6IHFbMF0sIHk6IHFb
MV0sIHo6IHFbMl0sIHc6IHFbM10gfSwKLSAgICAgIHBvc2l0aW9uOiB7IHg6IHBbMF0sIHk6IHBb
MV0sIHo6IHBbMl0gfSwKLSAgICAgIGVtdWxhdGVkUG9zaXRpb246IGVtdWxhdGVkUG9zaXRpb24s
Ci0gICAgICBhbmd1bGFyVmVsb2NpdHk6IG51bGwsCi0gICAgICBsaW5lYXJWZWxvY2l0eTogbnVs
bCwKLSAgICAgIGFuZ3VsYXJBY2NlbGVyYXRpb246IG51bGwsCi0gICAgICBsaW5lYXJBY2NlbGVy
YXRpb246IG51bGwsCi0gICAgICBpbnB1dFN0YXRlOiBudWxsLAotICAgICAgcG9zZUluZGV4OiAw
Ci0gICAgfTsKLSAgfQotCi0gIGNsZWFyVmlld2VyT3JpZ2luKCkgewotICAgIHRoaXMucG9zZV8g
PSBudWxsOwotICB9Ci0KLSAgc2ltdWxhdGVWaXNpYmlsaXR5Q2hhbmdlKHZpc2liaWxpdHlTdGF0
ZSkgewotICAgIGxldCBtb2pvU3RhdGUgPSBudWxsOwotICAgIHN3aXRjaCh2aXNpYmlsaXR5U3Rh
dGUpIHsKLSAgICAgIGNhc2UgInZpc2libGUiOgotICAgICAgICBtb2pvU3RhdGUgPSBkZXZpY2Uu
bW9qb20uWFJWaXNpYmlsaXR5U3RhdGUuVklTSUJMRTsKLSAgICAgICAgYnJlYWs7Ci0gICAgICBj
YXNlICJ2aXNpYmxlLWJsdXJyZWQiOgotICAgICAgICBtb2pvU3RhdGUgPSBkZXZpY2UubW9qb20u
WFJWaXNpYmlsaXR5U3RhdGUuVklTSUJMRV9CTFVSUkVEOwotICAgICAgICBicmVhazsKLSAgICAg
IGNhc2UgImhpZGRlbiI6Ci0gICAgICAgIG1vam9TdGF0ZSA9IGRldmljZS5tb2pvbS5YUlZpc2li
aWxpdHlTdGF0ZS5ISURERU47Ci0gICAgICAgIGJyZWFrOwotICAgIH0KLSAgICBpZiAobW9qb1N0
YXRlKSB7Ci0gICAgICB0aGlzLnNlc3Npb25DbGllbnRfLm9uVmlzaWJpbGl0eVN0YXRlQ2hhbmdl
ZChtb2pvU3RhdGUpOwotICAgIH0KLSAgfQotCi0gIHNldEJvdW5kc0dlb21ldHJ5KGJvdW5kcykg
ewotICAgIGlmIChib3VuZHMgPT0gbnVsbCkgewotICAgICAgdGhpcy5ib3VuZHNfID0gbnVsbDsK
LSAgICB9IGVsc2UgaWYgKGJvdW5kcy5sZW5ndGggPCAzKSB7Ci0gICAgICB0aHJvdyBuZXcgRXJy
b3IoIkJvdW5kcyBtdXN0IGhhdmUgYSBsZW5ndGggb2YgYXQgbGVhc3QgMyIpOwotICAgIH0gZWxz
ZSB7Ci0gICAgICB0aGlzLmJvdW5kc18gPSBib3VuZHM7Ci0gICAgfQotCi0gICAgLy8gV2UgY2Fu
IG9ubHkgc2V0IGJvdW5kcyBpZiB3ZSBoYXZlIHN0YWdlUGFyYW1ldGVycyBzZXQ7IG90aGVyd2lz
ZSwgd2UKLSAgICAvLyBkb24ndCBrbm93IHRoZSB0cmFuc2Zvcm0gZnJvbSBsb2NhbCBzcGFjZSB0
byBib3VuZHMgc3BhY2UuCi0gICAgLy8gV2UnbGwgY2FjaGUgdGhlIGJvdW5kcyBzbyB0aGF0IHRo
ZXkgY2FuIGJlIHNldCBpbiB0aGUgZnV0dXJlIGlmIHRoZQotICAgIC8vIGZsb29yTGV2ZWwgdHJh
bnNmb3JtIGlzIHNldCwgYnV0IHdlIHdvbid0IHVwZGF0ZSB0aGVtIGp1c3QgeWV0LgotICAgIGlm
ICh0aGlzLmRpc3BsYXlJbmZvXy5zdGFnZVBhcmFtZXRlcnMpIHsKLSAgICAgIHRoaXMuZGlzcGxh
eUluZm9fLnN0YWdlUGFyYW1ldGVycy5ib3VuZHMgPSB0aGlzLmJvdW5kc187Ci0KLSAgICAgIGlm
ICh0aGlzLnNlc3Npb25DbGllbnRfLnB0ci5pc0JvdW5kKCkpIHsKLSAgICAgICAgdGhpcy5zZXNz
aW9uQ2xpZW50Xy5vbkNoYW5nZWQodGhpcy5kaXNwbGF5SW5mb18pOwotICAgICAgfQotICAgIH0K
LSAgfQotCi0gIHNldEZsb29yT3JpZ2luKGZsb29yT3JpZ2luKSB7Ci0gICAgaWYgKCF0aGlzLmRp
c3BsYXlJbmZvXy5zdGFnZVBhcmFtZXRlcnMpIHsKLSAgICAgIHRoaXMuZGlzcGxheUluZm9fLnN0
YWdlUGFyYW1ldGVycyA9IGRlZmF1bHRfc3RhZ2VfcGFyYW1ldGVyczsKLSAgICAgIHRoaXMuZGlz
cGxheUluZm9fLnN0YWdlUGFyYW1ldGVycy5ib3VuZHMgPSB0aGlzLmJvdW5kc187Ci0gICAgfQot
Ci0gICAgdGhpcy5kaXNwbGF5SW5mb18uc3RhZ2VQYXJhbWV0ZXJzLnN0YW5kaW5nVHJhbnNmb3Jt
ID0gbmV3IGdmeC5tb2pvbS5UcmFuc2Zvcm0oKTsKLSAgICB0aGlzLmRpc3BsYXlJbmZvXy5zdGFn
ZVBhcmFtZXRlcnMuc3RhbmRpbmdUcmFuc2Zvcm0ubWF0cml4ID0KLSAgICAgIGdldE1hdHJpeEZy
b21UcmFuc2Zvcm0oZmxvb3JPcmlnaW4pOwotCi0gICAgaWYgKHRoaXMuc2Vzc2lvbkNsaWVudF8u
cHRyLmlzQm91bmQoKSkgewotICAgICAgdGhpcy5zZXNzaW9uQ2xpZW50Xy5vbkNoYW5nZWQodGhp
cy5kaXNwbGF5SW5mb18pOwotICAgIH0KLSAgfQotCi0gIGNsZWFyRmxvb3JPcmlnaW4oKSB7Ci0g
ICAgaWYgKHRoaXMuZGlzcGxheUluZm9fLnN0YWdlUGFyYW1ldGVycykgewotICAgICAgdGhpcy5k
aXNwbGF5SW5mb18uc3RhZ2VQYXJhbWV0ZXJzID0gbnVsbDsKLQotICAgICAgaWYgKHRoaXMuc2Vz
c2lvbkNsaWVudF8ucHRyLmlzQm91bmQoKSkgewotICAgICAgICB0aGlzLnNlc3Npb25DbGllbnRf
Lm9uQ2hhbmdlZCh0aGlzLmRpc3BsYXlJbmZvXyk7Ci0gICAgICB9Ci0gICAgfQotICB9Ci0KLSAg
c2ltdWxhdGVSZXNldFBvc2UoKSB7Ci0gICAgdGhpcy5zZW5kX21vam9fc3BhY2VfcmVzZXRfID0g
dHJ1ZTsKLSAgfQotCi0gIHNpbXVsYXRlSW5wdXRTb3VyY2VDb25uZWN0aW9uKGZha2VJbnB1dFNv
dXJjZUluaXQpIHsKLSAgICBsZXQgaW5kZXggPSB0aGlzLm5leHRfaW5wdXRfc291cmNlX2luZGV4
XzsKLSAgICB0aGlzLm5leHRfaW5wdXRfc291cmNlX2luZGV4XysrOwotCi0gICAgbGV0IHNvdXJj
ZSA9IG5ldyBNb2NrWFJJbnB1dFNvdXJjZShmYWtlSW5wdXRTb3VyY2VJbml0LCBpbmRleCwgdGhp
cyk7Ci0gICAgdGhpcy5pbnB1dF9zb3VyY2VzXy5wdXNoKHNvdXJjZSk7Ci0gICAgcmV0dXJuIHNv
dXJjZTsKLSAgfQotCi0gIC8vIEhlbHBlciBtZXRob2RzCi0gIGdldE5vbkltbWVyc2l2ZURpc3Bs
YXlJbmZvKCkgewotICAgIGxldCBkaXNwbGF5SW5mbyA9IHRoaXMuZ2V0SW1tZXJzaXZlRGlzcGxh
eUluZm8oKTsKLQotICAgIGRpc3BsYXlJbmZvLmNhcGFiaWxpdGllcy5jYW5QcmVzZW50ID0gZmFs
c2U7Ci0gICAgZGlzcGxheUluZm8ubGVmdEV5ZSA9IG51bGw7Ci0gICAgZGlzcGxheUluZm8ucmln
aHRFeWUgPSBudWxsOwotCi0gICAgcmV0dXJuIGRpc3BsYXlJbmZvOwotICB9Ci0KLSAgLy8gRnVu
Y3Rpb24gdG8gZ2VuZXJhdGUgc29tZSB2YWxpZCBkaXNwbGF5IGluZm9ybWF0aW9uIGZvciB0aGUg
ZGV2aWNlLgotICBnZXRJbW1lcnNpdmVEaXNwbGF5SW5mbygpIHsKLSAgICByZXR1cm4gewotICAg
ICAgZGlzcGxheU5hbWU6ICdGYWtlRGV2aWNlJywKLSAgICAgIGNhcGFiaWxpdGllczogewotICAg
ICAgICBoYXNQb3NpdGlvbjogZmFsc2UsCi0gICAgICAgIGhhc0V4dGVybmFsRGlzcGxheTogZmFs
c2UsCi0gICAgICAgIGNhblByZXNlbnQ6IHRydWUsCi0gICAgICAgIG1heExheWVyczogMQotICAg
ICAgfSwKLSAgICAgIHN0YWdlUGFyYW1ldGVyczogbnVsbCwKLSAgICAgIGxlZnRFeWU6IHsKLSAg
ICAgICAgZmllbGRPZlZpZXc6IHsKLSAgICAgICAgICB1cERlZ3JlZXM6IDQ4LjMxNiwKLSAgICAg
ICAgICBkb3duRGVncmVlczogNTAuMDk5LAotICAgICAgICAgIGxlZnREZWdyZWVzOiA1MC44OTks
Ci0gICAgICAgICAgcmlnaHREZWdyZWVzOiAzNS4xOTcKLSAgICAgICAgfSwKLSAgICAgICAgaGVh
ZEZyb21FeWU6IGNvbXBvc2VHRlhUcmFuc2Zvcm0oewotICAgICAgICAgIHBvc2l0aW9uOiBbLTAu
MDMyLCAwLCAwXSwKLSAgICAgICAgICBvcmllbnRhdGlvbjogWzAsIDAsIDAsIDFdCi0gICAgICAg
IH0pLAotICAgICAgICByZW5kZXJXaWR0aDogMjAsCi0gICAgICAgIHJlbmRlckhlaWdodDogMjAK
LSAgICAgIH0sCi0gICAgICByaWdodEV5ZTogewotICAgICAgICBmaWVsZE9mVmlldzogewotICAg
ICAgICAgIHVwRGVncmVlczogNDguMzE2LAotICAgICAgICAgIGRvd25EZWdyZWVzOiA1MC4wOTks
Ci0gICAgICAgICAgbGVmdERlZ3JlZXM6IDUwLjg5OSwKLSAgICAgICAgICByaWdodERlZ3JlZXM6
IDM1LjE5NwotICAgICAgICB9LAotICAgICAgICBoZWFkRnJvbUV5ZTogY29tcG9zZUdGWFRyYW5z
Zm9ybSh7Ci0gICAgICAgICAgcG9zaXRpb246IFswLjAzMiwgMCwgMF0sCi0gICAgICAgICAgb3Jp
ZW50YXRpb246IFswLCAwLCAwLCAxXQotICAgICAgICB9KSwKLSAgICAgICAgcmVuZGVyV2lkdGg6
IDIwLAotICAgICAgICByZW5kZXJIZWlnaHQ6IDIwCi0gICAgICB9LAotICAgICAgd2VieHJEZWZh
dWx0RnJhbWVidWZmZXJTY2FsZTogMC43LAotICAgIH07Ci0gIH0KLQotICAvLyBUaGlzIGZ1bmN0
aW9uIGNvbnZlcnRzIGJldHdlZW4gdGhlIG1hdHJpeCBwcm92aWRlZCBieSB0aGUgV2ViWFIgdGVz
dCBBUEkKLSAgLy8gYW5kIHRoZSBpbnRlcm5hbCBkYXRhIHJlcHJlc2VudGF0aW9uLgotICBnZXRF
eWUoZmFrZVhSVmlld0luaXQpIHsKLSAgICBsZXQgZm92ID0gbnVsbDsKLQotICAgIGlmIChmYWtl
WFJWaWV3SW5pdC5maWVsZE9mVmlldykgewotICAgICAgZm92ID0gewotICAgICAgICB1cERlZ3Jl
ZXM6IGZha2VYUlZpZXdJbml0LmZpZWxkT2ZWaWV3LnVwRGVncmVlcywKLSAgICAgICAgZG93bkRl
Z3JlZXM6IGZha2VYUlZpZXdJbml0LmZpZWxkT2ZWaWV3LmRvd25EZWdyZWVzLAotICAgICAgICBs
ZWZ0RGVncmVlczogZmFrZVhSVmlld0luaXQuZmllbGRPZlZpZXcubGVmdERlZ3JlZXMsCi0gICAg
ICAgIHJpZ2h0RGVncmVlczogZmFrZVhSVmlld0luaXQuZmllbGRPZlZpZXcucmlnaHREZWdyZWVz
Ci0gICAgICB9OwotICAgIH0gZWxzZSB7Ci0gICAgICBsZXQgbSA9IGZha2VYUlZpZXdJbml0LnBy
b2plY3Rpb25NYXRyaXg7Ci0KLSAgICAgIGZ1bmN0aW9uIHRvRGVncmVlcyh0YW4pIHsKLSAgICAg
ICAgcmV0dXJuIE1hdGguYXRhbih0YW4pICogMTgwIC8gTWF0aC5QSTsKLSAgICAgIH0KLQotICAg
ICAgbGV0IGxlZnRUYW4gPSAoMSAtIG1bOF0pIC8gbVswXTsKLSAgICAgIGxldCByaWdodFRhbiA9
ICgxICsgbVs4XSkgLyBtWzBdOwotICAgICAgbGV0IHVwVGFuID0gKDEgKyBtWzldKSAvIG1bNV07
Ci0gICAgICBsZXQgZG93blRhbiA9ICgxIC0gbVs5XSkgLyBtWzVdOwotCi0gICAgICBmb3YgPSB7
Ci0gICAgICAgIHVwRGVncmVlczogdG9EZWdyZWVzKHVwVGFuKSwKLSAgICAgICAgZG93bkRlZ3Jl
ZXM6IHRvRGVncmVlcyhkb3duVGFuKSwKLSAgICAgICAgbGVmdERlZ3JlZXM6IHRvRGVncmVlcyhs
ZWZ0VGFuKSwKLSAgICAgICAgcmlnaHREZWdyZWVzOiB0b0RlZ3JlZXMocmlnaHRUYW4pCi0gICAg
ICB9OwotICAgIH0KLQotICAgIHJldHVybiB7Ci0gICAgICBmaWVsZE9mVmlldzogZm92LAotICAg
ICAgaGVhZEZyb21FeWU6IGNvbXBvc2VHRlhUcmFuc2Zvcm0oZmFrZVhSVmlld0luaXQudmlld09m
ZnNldCksCi0gICAgICByZW5kZXJXaWR0aDogZmFrZVhSVmlld0luaXQucmVzb2x1dGlvbi53aWR0
aCwKLSAgICAgIHJlbmRlckhlaWdodDogZmFrZVhSVmlld0luaXQucmVzb2x1dGlvbi5oZWlnaHQK
LSAgICB9OwotICB9Ci0KLSAgc2V0RmVhdHVyZXMoc3VwcG9ydGVkRmVhdHVyZXMpIHsKLSAgICBm
dW5jdGlvbiBjb252ZXJ0RmVhdHVyZVRvTW9qb20oZmVhdHVyZSkgewotICAgICAgaWYgKGZlYXR1
cmUgaW4gTW9ja1J1bnRpbWUuZmVhdHVyZVRvTW9qb01hcCkgewotICAgICAgICByZXR1cm4gTW9j
a1J1bnRpbWUuZmVhdHVyZVRvTW9qb01hcFtmZWF0dXJlXTsKLSAgICAgIH0gZWxzZSB7Ci0gICAg
ICAgIHJldHVybiBkZXZpY2UubW9qb20uWFJTZXNzaW9uRmVhdHVyZS5JTlZBTElEOwotICAgICAg
fQotICAgIH0KLQotICAgIHRoaXMuc3VwcG9ydGVkRmVhdHVyZXNfID0gW107Ci0KLSAgICBmb3Ig
KGxldCBpID0gMDsgaSA8IHN1cHBvcnRlZEZlYXR1cmVzLmxlbmd0aDsgaSsrKSB7Ci0gICAgICBs
ZXQgZmVhdHVyZSA9IGNvbnZlcnRGZWF0dXJlVG9Nb2pvbShzdXBwb3J0ZWRGZWF0dXJlc1tpXSk7
Ci0gICAgICBpZiAoZmVhdHVyZSAhPT0gZGV2aWNlLm1vam9tLlhSU2Vzc2lvbkZlYXR1cmUuSU5W
QUxJRCkgewotICAgICAgICB0aGlzLnN1cHBvcnRlZEZlYXR1cmVzXy5wdXNoKGZlYXR1cmUpOwot
ICAgICAgfQotICAgIH0KLSAgfQotCi0gIC8vIFRoZXNlIG1ldGhvZHMgYXJlIGludGVuZGVkIHRv
IGJlIHVzZWQgYnkgTW9ja1hSSW5wdXRTb3VyY2Ugb25seS4KLSAgYWRkSW5wdXRTb3VyY2Uoc291
cmNlKSB7Ci0gICAgbGV0IGluZGV4ID0gdGhpcy5pbnB1dF9zb3VyY2VzXy5pbmRleE9mKHNvdXJj
ZSk7Ci0gICAgaWYgKGluZGV4ID09IC0xKSB7Ci0gICAgICB0aGlzLmlucHV0X3NvdXJjZXNfLnB1
c2goc291cmNlKTsKLSAgICB9Ci0gIH0KLQotICByZW1vdmVJbnB1dFNvdXJjZShzb3VyY2UpIHsK
LSAgICBsZXQgaW5kZXggPSB0aGlzLmlucHV0X3NvdXJjZXNfLmluZGV4T2Yoc291cmNlKTsKLSAg
ICBpZiAoaW5kZXggPj0gMCkgewotICAgICAgdGhpcy5pbnB1dF9zb3VyY2VzXy5zcGxpY2UoaW5k
ZXgsIDEpOwotICAgIH0KLSAgfQotCi0gIC8vIE1vam8gZnVuY3Rpb24gaW1wbGVtZW50YXRpb25z
LgotCi0gIC8vIFhSRnJhbWVEYXRhUHJvdmlkZXIgaW1wbGVtZW50YXRpb24uCi0gIGdldEZyYW1l
RGF0YSgpIHsKLSAgICBsZXQgbW9qb19zcGFjZV9yZXNldCA9IHRoaXMuc2VuZF9tb2pvX3NwYWNl
X3Jlc2V0XzsKLSAgICB0aGlzLnNlbmRfbW9qb19zcGFjZV9yZXNldF8gPSBmYWxzZTsKLSAgICBp
ZiAodGhpcy5wb3NlXykgewotICAgICAgdGhpcy5wb3NlXy5wb3NlSW5kZXgrKzsKLQotICAgIH0K
LQotICAgIC8vIFNldHRpbmcgdGhlIGlucHV0X3N0YXRlIHRvIG51bGwgdGVzdHMgYSBzbGlnaHRs
eSBkaWZmZXJlbnQgcGF0aCB0aGFuCi0gICAgLy8gdGhlIGJyb3dzZXIgdGVzdHMgd2hlcmUgaWYg
dGhlIGxhc3QgaW5wdXQgc291cmNlIGlzIHJlbW92ZWQsIHRoZSBkZXZpY2UKLSAgICAvLyBjb2Rl
IGFsd2F5cyBzZW5kcyB1cCBhbiBlbXB0eSBhcnJheSwgYnV0IGl0J3MgYWxzbyB2YWxpZCBtb2pv
bSB0byBzZW5kCi0gICAgLy8gdXAgYSBudWxsIGFycmF5LgotICAgIGxldCBpbnB1dF9zdGF0ZSA9
IG51bGw7Ci0gICAgaWYgKHRoaXMuaW5wdXRfc291cmNlc18ubGVuZ3RoID4gMCkgewotICAgICAg
aW5wdXRfc3RhdGUgPSBbXTsKLSAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5pbnB1dF9z
b3VyY2VzXy5sZW5ndGg7IGkrKykgewotICAgICAgICBpbnB1dF9zdGF0ZS5wdXNoKHRoaXMuaW5w
dXRfc291cmNlc19baV0uZ2V0SW5wdXRTb3VyY2VTdGF0ZSgpKTsKLSAgICAgIH0KLSAgICB9Ci0K
LSAgICAvLyBDb252ZXJ0IGN1cnJlbnQgZG9jdW1lbnQgdGltZSB0byBtb25vdG9uaWMgdGltZS4K
LSAgICBsZXQgbm93ID0gd2luZG93LnBlcmZvcm1hbmNlLm5vdygpIC8gMTAwMC4wOwotICAgIGxl
dCBkaWZmID0gbm93IC0gaW50ZXJuYWxzLm1vbm90b25pY1RpbWVUb1plcm9CYXNlZERvY3VtZW50
VGltZShub3cpOwotICAgIG5vdyArPSBkaWZmOwotICAgIG5vdyAqPSAxMDAwMDAwOwotCi0gICAg
cmV0dXJuIFByb21pc2UucmVzb2x2ZSh7Ci0gICAgICBmcmFtZURhdGE6IHsKLSAgICAgICAgcG9z
ZTogdGhpcy5wb3NlXywKLSAgICAgICAgbW9qb1NwYWNlUmVzZXQ6IG1vam9fc3BhY2VfcmVzZXQs
Ci0gICAgICAgIGlucHV0U3RhdGU6IGlucHV0X3N0YXRlLAotICAgICAgICB0aW1lRGVsdGE6IHsK
LSAgICAgICAgICBtaWNyb3NlY29uZHM6IG5vdywKLSAgICAgICAgfSwKLSAgICAgICAgZnJhbWVJ
ZDogdGhpcy5uZXh0X2ZyYW1lX2lkXysrLAotICAgICAgICBidWZmZXJIb2xkZXI6IG51bGwsCi0g
ICAgICAgIGJ1ZmZlclNpemU6IHt9Ci0gICAgICB9Ci0gICAgfSk7Ci0gIH0KLQotICBnZXRFbnZp
cm9ubWVudEludGVncmF0aW9uUHJvdmlkZXIoZW52aXJvbm1lbnRQcm92aWRlclJlcXVlc3QpIHsK
LSAgICB0aGlzLmVudmlyb25tZW50UHJvdmlkZXJCaW5kaW5nXyA9IG5ldyBtb2pvLkFzc29jaWF0
ZWRCaW5kaW5nKAotICAgICAgICBkZXZpY2UubW9qb20uWFJFbnZpcm9ubWVudEludGVncmF0aW9u
UHJvdmlkZXIsIHRoaXMsCi0gICAgICAgIGVudmlyb25tZW50UHJvdmlkZXJSZXF1ZXN0KTsKLSAg
fQotCi0gIC8vIE5vdGUgdGhhdCBpZiBnZXRFbnZpcm9ubWVudFByb3ZpZGVyIGhhc24ndCBmaW5p
c2hlZCBydW5uaW5nIHlldCB0aGlzIHdpbGwKLSAgLy8gYmUgdW5kZWZpbmVkLiBJdCdzIHJlY29t
bWVuZGVkIHRoYXQgeW91IGFsbG93IGEgc3VjY2Vzc2Z1bCB0YXNrIHRvIHBvc3QKLSAgLy8gZmly
c3QgYmVmb3JlIGF0dGVtcHRpbmcgdG8gY2xvc2UuCi0gIGNsb3NlRW52aXJvbm1lbnRJbnRlZ3Jh
dGlvblByb3ZpZGVyKCkgewotICAgIHRoaXMuZW52aXJvbm1lbnRQcm92aWRlckJpbmRpbmdfLmNs
b3NlKCk7Ci0gIH0KLQotICBjbG9zZURhdGFQcm92aWRlcigpIHsKLSAgICB0aGlzLmRhdGFQcm92
aWRlckJpbmRpbmdfLmNsb3NlKCk7Ci0gIH0KLQotICB1cGRhdGVTZXNzaW9uR2VvbWV0cnkoZnJh
bWVfc2l6ZSwgZGlzcGxheV9yb3RhdGlvbikgewotICAgIC8vIFRoaXMgZnVuY3Rpb24gbXVzdCBl
eGlzdCB0byBlbnN1cmUgdGhhdCBjYWxscyB0byBpdCBkbyBub3QgY3Jhc2gsIGJ1dCB3ZQotICAg
IC8vIGRvIG5vdCBoYXZlIGFueSB1c2UgZm9yIHRoaXMgZGF0YSBhdCBwcmVzZW50LgotICB9Ci0K
LSAgLy8gVXRpbGl0eSBmdW5jdGlvbgotICByZXF1ZXN0UnVudGltZVNlc3Npb24oc2Vzc2lvbk9w
dGlvbnMpIHsKLSAgICByZXR1cm4gdGhpcy5ydW50aW1lU3VwcG9ydHNTZXNzaW9uKHNlc3Npb25P
cHRpb25zKS50aGVuKChyZXN1bHQpID0+IHsKLSAgICAgIC8vIFRoZSBKYXZhU2NyaXB0IGJpbmRp
bmdzIGNvbnZlcnQgY19zdHlsZV9uYW1lcyB0byBjYW1lbENhc2UgbmFtZXMuCi0gICAgICBsZXQg
b3B0aW9ucyA9IG5ldyBkZXZpY2UubW9qb20uWFJQcmVzZW50YXRpb25UcmFuc3BvcnRPcHRpb25z
KCk7Ci0gICAgICBvcHRpb25zLnRyYW5zcG9ydE1ldGhvZCA9Ci0gICAgICAgICAgZGV2aWNlLm1v
am9tLlhSUHJlc2VudGF0aW9uVHJhbnNwb3J0TWV0aG9kLlNVQk1JVF9BU19NQUlMQk9YX0hPTERF
UjsKLSAgICAgIG9wdGlvbnMud2FpdEZvclRyYW5zZmVyTm90aWZpY2F0aW9uID0gdHJ1ZTsKLSAg
ICAgIG9wdGlvbnMud2FpdEZvclJlbmRlck5vdGlmaWNhdGlvbiA9IHRydWU7Ci0KLSAgICAgIGxl
dCBzdWJtaXRfZnJhbWVfc2luazsKLSAgICAgIGlmIChyZXN1bHQuc3VwcG9ydHNTZXNzaW9uKSB7
Ci0gICAgICAgIHN1Ym1pdF9mcmFtZV9zaW5rID0gewotICAgICAgICAgIGNsaWVudFJlY2VpdmVy
OiB0aGlzLnByZXNlbnRhdGlvbl9wcm92aWRlcl8uZ2V0Q2xpZW50UmVjZWl2ZXIoKSwKLSAgICAg
ICAgICBwcm92aWRlcjogdGhpcy5wcmVzZW50YXRpb25fcHJvdmlkZXJfLmJpbmRQcm92aWRlcihz
ZXNzaW9uT3B0aW9ucyksCi0gICAgICAgICAgdHJhbnNwb3J0T3B0aW9uczogb3B0aW9ucwotICAg
ICAgICB9OwotCi0gICAgICAgIGxldCBkYXRhUHJvdmlkZXJQdHIgPSBuZXcgZGV2aWNlLm1vam9t
LlhSRnJhbWVEYXRhUHJvdmlkZXJQdHIoKTsKLSAgICAgICAgbGV0IGRhdGFQcm92aWRlclJlcXVl
c3QgPSBtb2pvLm1ha2VSZXF1ZXN0KGRhdGFQcm92aWRlclB0cik7Ci0gICAgICAgIHRoaXMuZGF0
YVByb3ZpZGVyQmluZGluZ18gPSBuZXcgbW9qby5CaW5kaW5nKAotICAgICAgICAgICAgZGV2aWNl
Lm1vam9tLlhSRnJhbWVEYXRhUHJvdmlkZXIsIHRoaXMsIGRhdGFQcm92aWRlclJlcXVlc3QpOwot
Ci0gICAgICAgIGxldCBjbGllbnRSZWNlaXZlciA9IG1vam8ubWFrZVJlcXVlc3QodGhpcy5zZXNz
aW9uQ2xpZW50Xyk7Ci0KLSAgICAgICAgbGV0IGVuYWJsZWRfZmVhdHVyZXMgPSBbXTsKLSAgICAg
ICAgZm9yKGxldCBpID0gMDsgaSA8IHNlc3Npb25PcHRpb25zLnJlcXVpcmVkRmVhdHVyZXMubGVu
Z3RoOyBpKyspIHsKLSAgICAgICAgICBpZiAodGhpcy5zdXBwb3J0ZWRGZWF0dXJlc18uaW5kZXhP
ZihzZXNzaW9uT3B0aW9ucy5yZXF1aXJlZEZlYXR1cmVzW2ldKSAhPT0gLTEpIHsKLSAgICAgICAg
ICAgIGVuYWJsZWRfZmVhdHVyZXMucHVzaChzZXNzaW9uT3B0aW9ucy5yZXF1aXJlZEZlYXR1cmVz
W2ldKTsKLSAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgcmV0dXJuIFByb21pc2UucmVz
b2x2ZSh7c2Vzc2lvbjogbnVsbH0pOwotICAgICAgICAgIH0KLSAgICAgICAgfQotCi0gICAgICAg
IGZvciAobGV0IGkgPTA7IGkgPCBzZXNzaW9uT3B0aW9ucy5vcHRpb25hbEZlYXR1cmVzLmxlbmd0
aDsgaSsrKSB7Ci0gICAgICAgICAgaWYgKHRoaXMuc3VwcG9ydGVkRmVhdHVyZXNfLmluZGV4T2Yo
c2Vzc2lvbk9wdGlvbnMub3B0aW9uYWxGZWF0dXJlc1tpXSkgIT09IC0xKSB7Ci0gICAgICAgICAg
ICBlbmFibGVkX2ZlYXR1cmVzLnB1c2goc2Vzc2lvbk9wdGlvbnMub3B0aW9uYWxGZWF0dXJlc1tp
XSk7Ci0gICAgICAgICAgfQotICAgICAgICB9Ci0KLSAgICAgICAgcmV0dXJuIFByb21pc2UucmVz
b2x2ZSh7Ci0gICAgICAgICAgc2Vzc2lvbjogewotICAgICAgICAgICAgc3VibWl0RnJhbWVTaW5r
OiBzdWJtaXRfZnJhbWVfc2luaywKLSAgICAgICAgICAgIGRhdGFQcm92aWRlcjogZGF0YVByb3Zp
ZGVyUHRyLAotICAgICAgICAgICAgY2xpZW50UmVjZWl2ZXI6IGNsaWVudFJlY2VpdmVyLAotICAg
ICAgICAgICAgZGlzcGxheUluZm86IHRoaXMuZGlzcGxheUluZm9fLAotICAgICAgICAgICAgZW5h
YmxlZEZlYXR1cmVzOiBlbmFibGVkX2ZlYXR1cmVzLAotICAgICAgICAgIH0KLSAgICAgICAgfSk7
Ci0gICAgICB9IGVsc2UgewotICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHtzZXNzaW9u
OiBudWxsfSk7Ci0gICAgICB9Ci0gICAgfSk7Ci0gIH0KLQotICBydW50aW1lU3VwcG9ydHNTZXNz
aW9uKG9wdGlvbnMpIHsKLSAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHsKLSAgICAgIHN1cHBv
cnRzU2Vzc2lvbjoKLSAgICAgICAgICAhb3B0aW9ucy5pbW1lcnNpdmUgfHwgdGhpcy5kaXNwbGF5
SW5mb18uY2FwYWJpbGl0aWVzLmNhblByZXNlbnQKLSAgICB9KTsKLSAgfTsKLX0KLQotY2xhc3Mg
TW9ja1hSU2Vzc2lvbk1ldHJpY3NSZWNvcmRlciB7Ci0gIHJlcG9ydEZlYXR1cmVVc2VkKGZlYXR1
cmUpIHsKLSAgICAvLyBEbyBub3RoaW5nCi0gIH0KLX0KLQotY2xhc3MgTW9ja1hSSW5wdXRTb3Vy
Y2UgewotICBjb25zdHJ1Y3RvcihmYWtlSW5wdXRTb3VyY2VJbml0LCBpZCwgcGFpcmVkRGV2aWNl
KSB7Ci0gICAgdGhpcy5zb3VyY2VfaWRfID0gaWQ7Ci0gICAgdGhpcy5wYWlyZWREZXZpY2VfID0g
cGFpcmVkRGV2aWNlOwotICAgIHRoaXMuaGFuZGVkbmVzc18gPSBmYWtlSW5wdXRTb3VyY2VJbml0
LmhhbmRlZG5lc3M7Ci0gICAgdGhpcy50YXJnZXRfcmF5X21vZGVfID0gZmFrZUlucHV0U291cmNl
SW5pdC50YXJnZXRSYXlNb2RlOwotICAgIHRoaXMuc2V0UG9pbnRlck9yaWdpbihmYWtlSW5wdXRT
b3VyY2VJbml0LnBvaW50ZXJPcmlnaW4pOwotICAgIHRoaXMuc2V0UHJvZmlsZXMoZmFrZUlucHV0
U291cmNlSW5pdC5wcm9maWxlcyk7Ci0KLSAgICB0aGlzLnByaW1hcnlfaW5wdXRfcHJlc3NlZF8g
PSBmYWxzZTsKLSAgICBpZiAoZmFrZUlucHV0U291cmNlSW5pdC5zZWxlY3Rpb25TdGFydGVkICE9
IG51bGwpIHsKLSAgICAgIHRoaXMucHJpbWFyeV9pbnB1dF9wcmVzc2VkXyA9IGZha2VJbnB1dFNv
dXJjZUluaXQuc2VsZWN0aW9uU3RhcnRlZDsKLSAgICB9Ci0KLSAgICB0aGlzLnByaW1hcnlfaW5w
dXRfY2xpY2tlZF8gPSBmYWxzZTsKLSAgICBpZiAoZmFrZUlucHV0U291cmNlSW5pdC5zZWxlY3Rp
b25DbGlja2VkICE9IG51bGwpIHsKLSAgICAgIHRoaXMucHJpbWFyeV9pbnB1dF9jbGlja2VkXyA9
IGZha2VJbnB1dFNvdXJjZUluaXQuc2VsZWN0aW9uQ2xpY2tlZDsKLSAgICB9Ci0KLSAgICB0aGlz
Lm1vam9fZnJvbV9pbnB1dF8gPSBudWxsOwotICAgIGlmIChmYWtlSW5wdXRTb3VyY2VJbml0Lmdy
aXBPcmlnaW4gIT0gbnVsbCkgewotICAgICAgdGhpcy5zZXRHcmlwT3JpZ2luKGZha2VJbnB1dFNv
dXJjZUluaXQuZ3JpcE9yaWdpbik7Ci0gICAgfQotCi0gICAgLy8gVGhpcyBwcm9wZXJseSBoYW5k
bGVzIGlmIHN1cHBvcnRlZEJ1dHRvbnMgd2VyZSBub3Qgc3BlY2lmaWVkLgotICAgIHRoaXMuc2V0
U3VwcG9ydGVkQnV0dG9ucyhmYWtlSW5wdXRTb3VyY2VJbml0LnN1cHBvcnRlZEJ1dHRvbnMpOwot
Ci0gICAgdGhpcy5lbXVsYXRlZF9wb3NpdGlvbl8gPSBmYWxzZTsKLSAgICB0aGlzLmRlc2NfZGly
dHlfID0gdHJ1ZTsKLSAgfQotCi0gIC8vIFdlYnhyLXRlc3QtYXBpCi0gIHNldEhhbmRlZG5lc3Mo
aGFuZGVkbmVzcykgewotICAgIGlmICh0aGlzLmhhbmRlZG5lc3NfICE9IGhhbmRlZG5lc3MpIHsK
LSAgICAgIHRoaXMuZGVzY19kaXJ0eV8gPSB0cnVlOwotICAgICAgdGhpcy5oYW5kZWRuZXNzXyA9
IGhhbmRlZG5lc3M7Ci0gICAgfQotICB9Ci0KLSAgc2V0VGFyZ2V0UmF5TW9kZSh0YXJnZXRSYXlN
b2RlKSB7Ci0gICAgaWYgKHRoaXMudGFyZ2V0X3JheV9tb2RlXyAhPSB0YXJnZXRSYXlNb2RlKSB7
Ci0gICAgICB0aGlzLmRlc2NfZGlydHlfID0gdHJ1ZTsKLSAgICAgIHRoaXMudGFyZ2V0X3JheV9t
b2RlXyA9IHRhcmdldFJheU1vZGU7Ci0gICAgfQotICB9Ci0KLSAgc2V0UHJvZmlsZXMocHJvZmls
ZXMpIHsKLSAgICB0aGlzLmRlc2NfZGlydHlfID0gdHJ1ZTsKLSAgICB0aGlzLnByb2ZpbGVzXyA9
IHByb2ZpbGVzOwotICB9Ci0KLSAgc2V0R3JpcE9yaWdpbih0cmFuc2Zvcm0sIGVtdWxhdGVkUG9z
aXRpb24gPSBmYWxzZSkgewotICAgIHRoaXMubW9qb19mcm9tX2lucHV0XyA9IG5ldyBnZngubW9q
b20uVHJhbnNmb3JtKCk7Ci0gICAgdGhpcy5tb2pvX2Zyb21faW5wdXRfLm1hdHJpeCA9IGdldE1h
dHJpeEZyb21UcmFuc2Zvcm0odHJhbnNmb3JtKTsKLSAgICB0aGlzLmVtdWxhdGVkX3Bvc2l0aW9u
XyA9IGVtdWxhdGVkUG9zaXRpb247Ci0gIH0KLQotICBjbGVhckdyaXBPcmlnaW4oKSB7Ci0gICAg
aWYgKHRoaXMubW9qb19mcm9tX2lucHV0XyAhPSBudWxsKSB7Ci0gICAgICB0aGlzLm1vam9fZnJv
bV9pbnB1dF8gPSBudWxsOwotICAgICAgdGhpcy5lbXVsYXRlZF9wb3NpdGlvbl8gPSBmYWxzZTsK
LSAgICB9Ci0gIH0KLQotICBzZXRQb2ludGVyT3JpZ2luKHRyYW5zZm9ybSwgZW11bGF0ZWRQb3Np
dGlvbiA9IGZhbHNlKSB7Ci0gICAgdGhpcy5kZXNjX2RpcnR5XyA9IHRydWU7Ci0gICAgdGhpcy5p
bnB1dF9mcm9tX3BvaW50ZXJfID0gbmV3IGdmeC5tb2pvbS5UcmFuc2Zvcm0oKTsKLSAgICB0aGlz
LmlucHV0X2Zyb21fcG9pbnRlcl8ubWF0cml4ID0gZ2V0TWF0cml4RnJvbVRyYW5zZm9ybSh0cmFu
c2Zvcm0pOwotICAgIHRoaXMuZW11bGF0ZWRfcG9zaXRpb25fID0gZW11bGF0ZWRQb3NpdGlvbjsK
LSAgfQotCi0gIGRpc2Nvbm5lY3QoKSB7Ci0gICAgdGhpcy5wYWlyZWREZXZpY2VfLnJlbW92ZUlu
cHV0U291cmNlKHRoaXMpOwotICB9Ci0KLSAgcmVjb25uZWN0KCkgewotICAgIHRoaXMucGFpcmVk
RGV2aWNlXy5hZGRJbnB1dFNvdXJjZSh0aGlzKTsKLSAgfQotCi0gIHN0YXJ0U2VsZWN0aW9uKCkg
ewotICAgIHRoaXMucHJpbWFyeV9pbnB1dF9wcmVzc2VkXyA9IHRydWU7Ci0gICAgaWYgKHRoaXMu
Z2FtZXBhZF8pIHsKLSAgICAgIHRoaXMuZ2FtZXBhZF8uYnV0dG9uc1swXS5wcmVzc2VkID0gdHJ1
ZTsKLSAgICAgIHRoaXMuZ2FtZXBhZF8uYnV0dG9uc1swXS50b3VjaGVkID0gdHJ1ZTsKLSAgICB9
Ci0gIH0KLQotICBlbmRTZWxlY3Rpb24oKSB7Ci0gICAgaWYgKCF0aGlzLnByaW1hcnlfaW5wdXRf
cHJlc3NlZF8pIHsKLSAgICAgIHRocm93IG5ldyBFcnJvcigiQXR0ZW1wdGVkIHRvIGVuZCBzZWxl
Y3Rpb24gd2hpY2ggd2FzIG5vdCBzdGFydGVkIik7Ci0gICAgfQotCi0gICAgdGhpcy5wcmltYXJ5
X2lucHV0X3ByZXNzZWRfID0gZmFsc2U7Ci0gICAgdGhpcy5wcmltYXJ5X2lucHV0X2NsaWNrZWRf
ID0gdHJ1ZTsKLQotICAgIGlmICh0aGlzLmdhbWVwYWRfKSB7Ci0gICAgICB0aGlzLmdhbWVwYWRf
LmJ1dHRvbnNbMF0ucHJlc3NlZCA9IGZhbHNlOwotICAgICAgdGhpcy5nYW1lcGFkXy5idXR0b25z
WzBdLnRvdWNoZWQgPSBmYWxzZTsKLSAgICB9Ci0gIH0KLQotICBzaW11bGF0ZVNlbGVjdCgpIHsK
LSAgICB0aGlzLnByaW1hcnlfaW5wdXRfY2xpY2tlZF8gPSB0cnVlOwotICB9Ci0KLSAgc2V0U3Vw
cG9ydGVkQnV0dG9ucyhzdXBwb3J0ZWRCdXR0b25zKSB7Ci0gICAgdGhpcy5nYW1lcGFkXyA9IG51
bGw7Ci0gICAgdGhpcy5zdXBwb3J0ZWRfYnV0dG9uc18gPSBbXTsKLQotICAgIC8vIElmIHRoZXJl
IGFyZSBubyBzdXBwb3J0ZWQgYnV0dG9ucywgd2UgY2FuIHN0b3Agbm93LgotICAgIGlmIChzdXBw
b3J0ZWRCdXR0b25zID09IG51bGwgfHwgc3VwcG9ydGVkQnV0dG9ucy5sZW5ndGggPCAxKSB7Ci0g
ICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgbGV0IHN1cHBvcnRlZF9idXR0b25fbWFwID0ge307
Ci0gICAgdGhpcy5nYW1lcGFkXyA9IHRoaXMuZ2V0RW1wdHlHYW1lcGFkKCk7Ci0gICAgZm9yIChs
ZXQgaSA9IDA7IGkgPCBzdXBwb3J0ZWRCdXR0b25zLmxlbmd0aDsgaSsrKSB7Ci0gICAgICBsZXQg
YnV0dG9uVHlwZSA9IHN1cHBvcnRlZEJ1dHRvbnNbaV0uYnV0dG9uVHlwZTsKLSAgICAgIHRoaXMu
c3VwcG9ydGVkX2J1dHRvbnNfLnB1c2goYnV0dG9uVHlwZSk7Ci0gICAgICBzdXBwb3J0ZWRfYnV0
dG9uX21hcFtidXR0b25UeXBlXSA9IHN1cHBvcnRlZEJ1dHRvbnNbaV07Ci0gICAgfQotCi0gICAg
Ly8gTGV0J3Mgc3RhcnQgYnkgYnVpbGRpbmcgdGhlIGJ1dHRvbiBzdGF0ZSBpbiBvcmRlciBvZiBw
cmlvcml0eToKLSAgICAvLyBQcmltYXJ5IGJ1dHRvbiBpcyBpbmRleCAwLgotICAgIHRoaXMuZ2Ft
ZXBhZF8uYnV0dG9ucy5wdXNoKHsKLSAgICAgIHByZXNzZWQ6IHRoaXMucHJpbWFyeV9pbnB1dF9w
cmVzc2VkXywKLSAgICAgIHRvdWNoZWQ6IHRoaXMucHJpbWFyeV9pbnB1dF9wcmVzc2VkXywKLSAg
ICAgIHZhbHVlOiB0aGlzLnByaW1hcnlfaW5wdXRfcHJlc3NlZF8gPyAxLjAgOiAwLjAKLSAgICB9
KTsKLQotICAgIC8vIE5vdyBhZGQgdGhlIHJlc3Qgb2Ygb3VyIGJ1dHRvbnMKLSAgICB0aGlzLmFk
ZEdhbWVwYWRCdXR0b24oc3VwcG9ydGVkX2J1dHRvbl9tYXBbJ2dyaXAnXSk7Ci0gICAgdGhpcy5h
ZGRHYW1lcGFkQnV0dG9uKHN1cHBvcnRlZF9idXR0b25fbWFwWyd0b3VjaHBhZCddKTsKLSAgICB0
aGlzLmFkZEdhbWVwYWRCdXR0b24oc3VwcG9ydGVkX2J1dHRvbl9tYXBbJ3RodW1ic3RpY2snXSk7
Ci0gICAgdGhpcy5hZGRHYW1lcGFkQnV0dG9uKHN1cHBvcnRlZF9idXR0b25fbWFwWydvcHRpb25h
bC1idXR0b24nXSk7Ci0gICAgdGhpcy5hZGRHYW1lcGFkQnV0dG9uKHN1cHBvcnRlZF9idXR0b25f
bWFwWydvcHRpb25hbC10aHVtYnN0aWNrJ10pOwotCi0gICAgLy8gRmluYWxseSwgYmFjay1maWxs
IHBsYWNlaG9sZGVyIGJ1dHRvbnMvYXhlcwotICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5n
YW1lcGFkXy5idXR0b25zLmxlbmd0aDsgaSsrKSB7Ci0gICAgICBpZiAodGhpcy5nYW1lcGFkXy5i
dXR0b25zW2ldID09IG51bGwpIHsKLSAgICAgICAgdGhpcy5nYW1lcGFkXy5idXR0b25zW2ldID0g
ewotICAgICAgICAgIHByZXNzZWQ6IGZhbHNlLAotICAgICAgICAgIHRvdWNoZWQ6IGZhbHNlLAot
ICAgICAgICAgIHZhbHVlOiAwCi0gICAgICAgIH0KLSAgICAgIH0KLSAgICB9Ci0KLSAgICBmb3Ig
KGxldCBpPTA7IGkgPCB0aGlzLmdhbWVwYWRfLmF4ZXMubGVuZ3RoOyBpKyspIHsKLSAgICAgIGlm
ICh0aGlzLmdhbWVwYWRfLmF4ZXNbaV0gPT0gbnVsbCkgewotICAgICAgICB0aGlzLmdhbWVwYWRf
LmF4ZXNbaV0gPSAwOwotICAgICAgfQotICAgIH0KLSAgfQotCi0gIHVwZGF0ZUJ1dHRvblN0YXRl
KGJ1dHRvblN0YXRlKSB7Ci0gICAgaWYgKHRoaXMuc3VwcG9ydGVkX2J1dHRvbnNfLmluZGV4T2Yo
YnV0dG9uU3RhdGUuYnV0dG9uVHlwZSkgPT0gLTEpIHsKLSAgICAgIHRocm93IG5ldyBFcnJvcigi
VHJpZWQgdG8gdXBkYXRlIHN0YXRlIG9uIGFuIHVuc3VwcG9ydGVkIGJ1dHRvbiIpOwotICAgIH0K
LQotICAgIGxldCBidXR0b25JbmRleCA9IHRoaXMuZ2V0QnV0dG9uSW5kZXgoYnV0dG9uU3RhdGUu
YnV0dG9uVHlwZSk7Ci0gICAgbGV0IGF4ZXNTdGFydEluZGV4ID0gdGhpcy5nZXRBeGVzU3RhcnRJ
bmRleChidXR0b25TdGF0ZS5idXR0b25UeXBlKTsKLQotICAgIGlmIChidXR0b25JbmRleCA9PSAt
MSkgewotICAgICAgdGhyb3cgbmV3IEVycm9yKCJVbmtub3duIEJ1dHRvbiBUeXBlISIpOwotICAg
IH0KLQotICAgIHRoaXMuZ2FtZXBhZF8uYnV0dG9uc1tidXR0b25JbmRleF0ucHJlc3NlZCA9IGJ1
dHRvblN0YXRlLnByZXNzZWQ7Ci0gICAgdGhpcy5nYW1lcGFkXy5idXR0b25zW2J1dHRvbkluZGV4
XS50b3VjaGVkID0gYnV0dG9uU3RhdGUudG91Y2hlZDsKLSAgICB0aGlzLmdhbWVwYWRfLmJ1dHRv
bnNbYnV0dG9uSW5kZXhdLnZhbHVlID0gYnV0dG9uU3RhdGUucHJlc3NlZFZhbHVlOwotCi0gICAg
aWYgKGF4ZXNTdGFydEluZGV4ICE9IC0xKSB7Ci0gICAgICB0aGlzLmdhbWVwYWRfLmF4ZXNbYXhl
c1N0YXJ0SW5kZXhdID0gYnV0dG9uU3RhdGUueFZhbHVlID09IG51bGwgPyAwLjAgOiBidXR0b25T
dGF0ZS54VmFsdWU7Ci0gICAgICB0aGlzLmdhbWVwYWRfLmF4ZXNbYXhlc1N0YXJ0SW5kZXggKyAx
XSA9IGJ1dHRvblN0YXRlLnlWYWx1ZSA9PSBudWxsID8gMC4wIDogYnV0dG9uU3RhdGUueVZhbHVl
OwotICAgIH0KLSAgfQotCi0gIC8vIEhlbHBlcnMgZm9yIE1vam9tCi0gIGdldElucHV0U291cmNl
U3RhdGUoKSB7Ci0gICAgbGV0IGlucHV0X3N0YXRlID0gbmV3IGRldmljZS5tb2pvbS5YUklucHV0
U291cmNlU3RhdGUoKTsKLQotICAgIGlucHV0X3N0YXRlLnNvdXJjZUlkID0gdGhpcy5zb3VyY2Vf
aWRfOwotCi0gICAgaW5wdXRfc3RhdGUucHJpbWFyeUlucHV0UHJlc3NlZCA9IHRoaXMucHJpbWFy
eV9pbnB1dF9wcmVzc2VkXzsKLSAgICBpbnB1dF9zdGF0ZS5wcmltYXJ5SW5wdXRDbGlja2VkID0g
dGhpcy5wcmltYXJ5X2lucHV0X2NsaWNrZWRfOwotCi0gICAgaW5wdXRfc3RhdGUubW9qb0Zyb21J
bnB1dCA9IHRoaXMubW9qb19mcm9tX2lucHV0XzsKLQotICAgIGlucHV0X3N0YXRlLmdhbWVwYWQg
PSB0aGlzLmdhbWVwYWRfOwotCi0gICAgaW5wdXRfc3RhdGUuZW11bGF0ZWRQb3NpdGlvbiA9IHRo
aXMuZW11bGF0ZWRfcG9zaXRpb25fOwotCi0gICAgaWYgKHRoaXMuZGVzY19kaXJ0eV8pIHsKLSAg
ICAgIGxldCBpbnB1dF9kZXNjID0gbmV3IGRldmljZS5tb2pvbS5YUklucHV0U291cmNlRGVzY3Jp
cHRpb24oKTsKLQotICAgICAgc3dpdGNoICh0aGlzLnRhcmdldF9yYXlfbW9kZV8pIHsKLSAgICAg
ICAgY2FzZSAnZ2F6ZSc6Ci0gICAgICAgICAgaW5wdXRfZGVzYy50YXJnZXRSYXlNb2RlID0gZGV2
aWNlLm1vam9tLlhSVGFyZ2V0UmF5TW9kZS5HQVpJTkc7Ci0gICAgICAgICAgYnJlYWs7Ci0gICAg
ICAgIGNhc2UgJ3RyYWNrZWQtcG9pbnRlcic6Ci0gICAgICAgICAgaW5wdXRfZGVzYy50YXJnZXRS
YXlNb2RlID0gZGV2aWNlLm1vam9tLlhSVGFyZ2V0UmF5TW9kZS5QT0lOVElORzsKLSAgICAgICAg
ICBicmVhazsKLSAgICAgIH0KLQotICAgICAgc3dpdGNoICh0aGlzLmhhbmRlZG5lc3NfKSB7Ci0g
ICAgICAgIGNhc2UgJ2xlZnQnOgotICAgICAgICAgIGlucHV0X2Rlc2MuaGFuZGVkbmVzcyA9IGRl
dmljZS5tb2pvbS5YUkhhbmRlZG5lc3MuTEVGVDsKLSAgICAgICAgICBicmVhazsKLSAgICAgICAg
Y2FzZSAncmlnaHQnOgotICAgICAgICAgIGlucHV0X2Rlc2MuaGFuZGVkbmVzcyA9IGRldmljZS5t
b2pvbS5YUkhhbmRlZG5lc3MuUklHSFQ7Ci0gICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGRlZmF1
bHQ6Ci0gICAgICAgICAgaW5wdXRfZGVzYy5oYW5kZWRuZXNzID0gZGV2aWNlLm1vam9tLlhSSGFu
ZGVkbmVzcy5OT05FOwotICAgICAgICAgIGJyZWFrOwotICAgICAgfQotCi0gICAgICBpbnB1dF9k
ZXNjLmlucHV0RnJvbVBvaW50ZXIgPSB0aGlzLmlucHV0X2Zyb21fcG9pbnRlcl87Ci0KLSAgICAg
IGlucHV0X2Rlc2MucHJvZmlsZXMgPSB0aGlzLnByb2ZpbGVzXzsKLQotICAgICAgaW5wdXRfc3Rh
dGUuZGVzY3JpcHRpb24gPSBpbnB1dF9kZXNjOwotCi0gICAgICB0aGlzLmRlc2NfZGlydHlfID0g
ZmFsc2U7Ci0gICAgfQotCi0gICAgcmV0dXJuIGlucHV0X3N0YXRlOwotICB9Ci0KLSAgZ2V0RW1w
dHlHYW1lcGFkKCkgewotICAgIC8vIE1vam8gY29tcGxhaW5zIGlmIHNvbWUgb2YgdGhlIHByb3Bl
cnRpZXMgb24gR2FtZXBhZCBhcmUgbnVsbCwgc28gc2V0Ci0gICAgLy8gZXZlcnl0aGluZyB0byBy
ZWFzb25hYmxlIGRlZmF1bHRzIHRoYXQgdGVzdHMgY2FuIG92ZXJyaWRlLgotICAgIGxldCBnYW1l
cGFkID0gbmV3IGRldmljZS5tb2pvbS5HYW1lcGFkKCk7Ci0gICAgZ2FtZXBhZC5jb25uZWN0ZWQg
PSB0cnVlOwotICAgIGdhbWVwYWQuaWQgPSAiIjsKLSAgICBnYW1lcGFkLnRpbWVzdGFtcCA9IDA7
Ci0gICAgZ2FtZXBhZC5heGVzID0gW107Ci0gICAgZ2FtZXBhZC5idXR0b25zID0gW107Ci0gICAg
Z2FtZXBhZC5tYXBwaW5nID0gInhyLXN0YW5kYXJkIjsKLSAgICBnYW1lcGFkLmRpc3BsYXlfaWQg
PSAwOwotCi0gICAgc3dpdGNoICh0aGlzLmhhbmRlZG5lc3NfKSB7Ci0gICAgICBjYXNlICdsZWZ0
JzoKLSAgICAgIGdhbWVwYWQuaGFuZCA9IGRldmljZS5tb2pvbS5HYW1lcGFkSGFuZC5HYW1lcGFk
SGFuZExlZnQ7Ci0gICAgICBicmVhazsKLSAgICAgIGNhc2UgJ3JpZ2h0JzoKLSAgICAgIGdhbWVw
YWQuaGFuZCA9IGRldmljZS5tb2pvbS5HYW1lcGFkSGFuZC5HYW1lcGFkSGFuZFJpZ2h0OwotICAg
ICAgYnJlYWs7Ci0gICAgICBkZWZhdWx0OgotICAgICAgZ2FtZXBhZC5oYW5kID0gZGV2aWNlLm1v
am9tLkdhbWVwYWRIYW5kLkdhbWVwYWRIYW5kTm9uZTsKLSAgICAgIGJyZWFrOwotICAgIH0KLQot
ICAgIHJldHVybiBnYW1lcGFkOwotICB9Ci0KLSAgYWRkR2FtZXBhZEJ1dHRvbihidXR0b25TdGF0
ZSkgewotICAgIGlmIChidXR0b25TdGF0ZSA9PSBudWxsKSB7Ci0gICAgICByZXR1cm47Ci0gICAg
fQotCi0gICAgbGV0IGJ1dHRvbkluZGV4ID0gdGhpcy5nZXRCdXR0b25JbmRleChidXR0b25TdGF0
ZS5idXR0b25UeXBlKTsKLSAgICBsZXQgYXhlc1N0YXJ0SW5kZXggPSB0aGlzLmdldEF4ZXNTdGFy
dEluZGV4KGJ1dHRvblN0YXRlLmJ1dHRvblR5cGUpOwotCi0gICAgaWYgKGJ1dHRvbkluZGV4ID09
IC0xKSB7Ci0gICAgICB0aHJvdyBuZXcgRXJyb3IoIlVua25vd24gQnV0dG9uIFR5cGUhIik7Ci0g
ICAgfQotCi0gICAgdGhpcy5nYW1lcGFkXy5idXR0b25zW2J1dHRvbkluZGV4XSA9IHsKLSAgICAg
IHByZXNzZWQ6IGJ1dHRvblN0YXRlLnByZXNzZWQsCi0gICAgICB0b3VjaGVkOiBidXR0b25TdGF0
ZS50b3VjaGVkLAotICAgICAgdmFsdWU6IGJ1dHRvblN0YXRlLnByZXNzZWRWYWx1ZQotICAgIH07
Ci0KLSAgICAvLyBBZGQgeC95IHZhbHVlIGlmIHN1cHBvcnRlZC4KLSAgICBpZiAoYXhlc1N0YXJ0
SW5kZXggIT0gLTEpIHsKLSAgICAgIHRoaXMuZ2FtZXBhZF8uYXhlc1theGVzU3RhcnRJbmRleF0g
PSAoYnV0dG9uU3RhdGUueFZhbHVlID09IG51bGwgPyAwLjAgOiBidXR0b25TYXRlLnhWYWx1ZSk7
Ci0gICAgICB0aGlzLmdhbWVwYWRfLmF4ZXNbYXhlc1N0YXJ0SW5kZXggKyAxXSA9IChidXR0b25T
dGF0ZS55VmFsdWUgPT0gbnVsbCA/IDAuMCA6IGJ1dHRvblNhdGUueVZhbHVlKTsKLSAgICB9Ci0g
IH0KLQotICAvLyBHZW5lcmFsIEhlbHBlciBtZXRob2RzCi0gIGdldEJ1dHRvbkluZGV4KGJ1dHRv
blR5cGUpIHsKLSAgICBzd2l0Y2ggKGJ1dHRvblR5cGUpIHsKLSAgICAgIGNhc2UgJ2dyaXAnOgot
ICAgICAgICByZXR1cm4gMTsKLSAgICAgIGNhc2UgJ3RvdWNocGFkJzoKLSAgICAgICAgcmV0dXJu
IDI7Ci0gICAgICBjYXNlICd0aHVtYnN0aWNrJzoKLSAgICAgICAgcmV0dXJuIDM7Ci0gICAgICBj
YXNlICdvcHRpb25hbC1idXR0b24nOgotICAgICAgICByZXR1cm4gNDsKLSAgICAgIGNhc2UgJ29w
dGlvbmFsLXRodW1ic3RpY2snOgotICAgICAgICByZXR1cm4gNTsKLSAgICAgIGRlZmF1bHQ6Ci0g
ICAgICAgIHJldHVybiAtMTsKLSAgICB9Ci0gIH0KLQotICBnZXRBeGVzU3RhcnRJbmRleChidXR0
b25UeXBlKSB7Ci0gICAgc3dpdGNoIChidXR0b25UeXBlKSB7Ci0gICAgICBjYXNlICd0b3VjaHBh
ZCc6Ci0gICAgICAgIHJldHVybiAwOwotICAgICAgY2FzZSAndGh1bWJzdGljayc6Ci0gICAgICAg
IHJldHVybiAyOwotICAgICAgY2FzZSAnb3B0aW9uYWwtdGh1bWJzdGljayc6Ci0gICAgICAgIHJl
dHVybiA0OwotICAgICAgZGVmYXVsdDoKLSAgICAgICAgcmV0dXJuIC0xOwotICAgIH0KLSAgfQot
fQotCi0vLyBNb2pvIGhlbHBlciBjbGFzc2VzCi1jbGFzcyBNb2NrWFJQcmVzZW50YXRpb25Qcm92
aWRlciB7Ci0gIGNvbnN0cnVjdG9yKCkgewotICAgIHRoaXMuYmluZGluZ18gPSBuZXcgbW9qby5C
aW5kaW5nKGRldmljZS5tb2pvbS5YUlByZXNlbnRhdGlvblByb3ZpZGVyLCB0aGlzKTsKLQotICAg
IHRoaXMuc3VibWl0X2ZyYW1lX2NvdW50XyA9IDA7Ci0gICAgdGhpcy5taXNzaW5nX2ZyYW1lX2Nv
dW50XyA9IDA7Ci0gIH0KLQotICBiaW5kUHJvdmlkZXIocmVxdWVzdCkgewotICAgIGxldCBwcm92
aWRlclB0ciA9IG5ldyBkZXZpY2UubW9qb20uWFJQcmVzZW50YXRpb25Qcm92aWRlclB0cigpOwot
ICAgIGxldCBwcm92aWRlclJlcXVlc3QgPSBtb2pvLm1ha2VSZXF1ZXN0KHByb3ZpZGVyUHRyKTsK
LQotICAgIHRoaXMuYmluZGluZ18uY2xvc2UoKTsKLQotICAgIHRoaXMuYmluZGluZ18gPSBuZXcg
bW9qby5CaW5kaW5nKAotICAgICAgICBkZXZpY2UubW9qb20uWFJQcmVzZW50YXRpb25Qcm92aWRl
ciwgdGhpcywgcHJvdmlkZXJSZXF1ZXN0KTsKLQotICAgIHJldHVybiBwcm92aWRlclB0cjsKLSAg
fQotCi0gIGdldENsaWVudFJlY2VpdmVyKCkgewotICAgIHRoaXMuc3VibWl0RnJhbWVDbGllbnRf
ID0gbmV3IGRldmljZS5tb2pvbS5YUlByZXNlbnRhdGlvbkNsaWVudFB0cigpOwotICAgIHJldHVy
biBtb2pvLm1ha2VSZXF1ZXN0KHRoaXMuc3VibWl0RnJhbWVDbGllbnRfKTsKLSAgfQotCi0gIC8v
IFhSUHJlc2VudGF0aW9uUHJvdmlkZXIgbW9qbyBpbXBsZW1lbnRhdGlvbgotICBzdWJtaXRGcmFt
ZU1pc3NpbmcoZnJhbWVJZCwgbWFpbGJveEhvbGRlciwgdGltZVdhaXRlZCkgewotICAgIHRoaXMu
bWlzc2luZ19mcmFtZV9jb3VudF8rKzsKLSAgfQotCi0gIHN1Ym1pdEZyYW1lKGZyYW1lSWQsIG1h
aWxib3hIb2xkZXIsIHRpbWVXYWl0ZWQpIHsKLSAgICB0aGlzLnN1Ym1pdF9mcmFtZV9jb3VudF8r
KzsKLQotICAgIC8vIFRyaWdnZXIgdGhlIHN1Ym1pdCBjb21wbGV0aW9uIGNhbGxiYWNrcyBoZXJl
LiBXQVJOSU5HOiBUaGUKLSAgICAvLyBKYXZhc2NyaXB0LWJhc2VkIG1vam8gbW9ja3MgYXJlICpu
b3QqIHJlLWVudHJhbnQuIEl0J3MgT0sgdG8KLSAgICAvLyB3YWl0IGZvciB0aGVzZSBub3RpZmlj
YXRpb25zIG9uIHRoZSBuZXh0IGZyYW1lLCBidXQgd2FpdGluZwotICAgIC8vIHdpdGhpbiB0aGUg
Y3VycmVudCBmcmFtZSB3b3VsZCBuZXZlciBmaW5pc2ggc2luY2UgdGhlIGluY29taW5nCi0gICAg
Ly8gY2FsbHMgd291bGQgYmUgcXVldWVkIHVudGlsIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBjb250
ZXh0IGZpbmlzaGVzLgotICAgIHRoaXMuc3VibWl0RnJhbWVDbGllbnRfLm9uU3VibWl0RnJhbWVU
cmFuc2ZlcnJlZCh0cnVlKTsKLSAgICB0aGlzLnN1Ym1pdEZyYW1lQ2xpZW50Xy5vblN1Ym1pdEZy
YW1lUmVuZGVyZWQoKTsKLSAgfQotCi0gIC8vIFV0aWxpdHkgbWV0aG9kcwotICBDbG9zZSgpIHsK
LSAgICB0aGlzLmJpbmRpbmdfLmNsb3NlKCk7Ci0gIH0KLX0KLQotLy8gVGhpcyBpcyBhIHRlbXBv
cmFyeSB3b3JrYXJvdW5kIGZvciB0aGUgZmFjdCB0aGF0IHNwaW5uaW5nIHVwIHdlYnhyIGJlZm9y
ZQotLy8gdGhlIG1vam8gaW50ZXJjZXB0b3JzIGFyZSBjcmVhdGVkIHdpbGwgY2F1c2UgdGhlIGlu
dGVyY2VwdG9ycyB0byBub3QgZ2V0Ci0vLyByZWdpc3RlcmVkLCBzbyB3ZSBoYXZlIHRvIGNyZWF0
ZSB0aGlzIGJlZm9yZSB3ZSBxdWVyeSB4cjsKLWxldCBYUlRlc3QgPSBuZXcgQ2hyb21lWFJUZXN0
KCk7Ci0KLS8vIFRoaXMgdGVzdCBBUEkgaXMgYWxzbyB1c2VkIHRvIHJ1biBDaHJvbWUncyBpbnRl
cm5hbCBsZWdhY3kgVlIgdGVzdHM7IGhvd2V2ZXIsCi0vLyB0aG9zZSBmYWlsIGlmIG5hdmlnYXRv
ci54ciBoYXMgYmVlbiB1c2VkLiBUaG9zZSB0ZXN0cyB3aWxsIHNldCBhIGJvb2wgdGVsbGluZwot
Ly8gdXMgbm90IHRvIHRyeSB0byBjaGVjayBuYXZpZ2F0b3IueHIKLWlmICgodHlwZW9mIGxlZ2Fj
eV92cl90ZXN0ID09PSAndW5kZWZpbmVkJykgfHwgIWxlZ2FjeV92cl90ZXN0KSB7Ci0gIC8vIFNv
bWUgdGVzdHMgbWF5IHJ1biBpbiB0aGUgaHR0cCBjb250ZXh0IHdoZXJlIG5hdmlnYXRvci54ciBp
c24ndCBleHBvc2VkCi0gIC8vIFRoaXMgc2hvdWxkIGp1c3QgYmUgdG8gdGVzdCB0aGF0IGl0IGlz
bid0IGV4cG9zZWQsIGJ1dCBkb24ndCB0cnkgdG8gc2V0IHVwCi0gIC8vIHRoZSB0ZXN0IGZyYW1l
d29yayBpbiB0aGlzIGNhc2UuCi0gIGlmIChuYXZpZ2F0b3IueHIpIHsKLSAgICBuYXZpZ2F0b3Iu
eHIudGVzdCA9IFhSVGVzdDsKLSAgfQotfSBlbHNlIHsKLSAgbmF2aWdhdG9yLnZyID0geyB0ZXN0
OiBYUlRlc3QgfTsKLX0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL3dlYnhyLXRlc3QuanMuaGVhZGVycyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2No
cm9taXVtL3dlYnhyLXRlc3QuanMuaGVhZGVycwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggNjgwNWMzMjNkZjUuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL3dlYnhyLXRlc3QuanMuaGVh
ZGVycworKysgL2Rldi9udWxsCkBAIC0xICswLDAgQEAKLUNvbnRlbnQtVHlwZTogdGV4dC9qYXZh
c2NyaXB0OyBjaGFyc2V0PXV0Zi04CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9kb2NzL2FwaS5tZCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2RvY3MvYXBpLm1kCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjN2E4OTFlOTFlZC4uMDAwMDAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
ZG9jcy9hcGkubWQKKysrIC9kZXYvbnVsbApAQCAtMSw3MDQgKzAsMCBAQAotIyMgSW50cm9kdWN0
aW9uICMjCi0KLXRlc3RoYXJuZXNzLmpzIHByb3ZpZGVzIGEgZnJhbWV3b3JrIGZvciB3cml0aW5n
IHRlc3RjYXNlcy4gSXQgaXMgaW50ZW5kZWQgdG8KLXByb3ZpZGUgYSBjb252ZW5pZW50IEFQSSBm
b3IgbWFraW5nIGNvbW1vbiBhc3NlcnRpb25zLCBhbmQgdG8gd29yayBib3RoCi1mb3IgdGVzdGlu
ZyBzeW5jaHJvbm91cyBhbmQgYXN5bmNocm9ub3VzIERPTSBmZWF0dXJlcyBpbiBhIHdheSB0aGF0
Ci1wcm9tb3RlcyBjbGVhciwgcm9idXN0LCB0ZXN0cy4KLQotIyMgQmFzaWMgVXNhZ2UgIyMKLQot
VGhlIHRlc3QgaGFybmVzcyBzY3JpcHQgY2FuIGJlIHVzZWQgZnJvbSBIVE1MIG9yIFNWRyBkb2N1
bWVudHMgYW5kIHdlYiB3b3JrZXIKLXNjcmlwdHMuCi0KLUZyb20gYW4gSFRNTCBvciBTVkcgZG9j
dW1lbnQsIHN0YXJ0IGJ5IGltcG9ydGluZyBib3RoIGB0ZXN0aGFybmVzcy5qc2AgYW5kCi1gdGVz
dGhhcm5lc3NyZXBvcnQuanNgIHNjcmlwdHMgaW50byB0aGUgZG9jdW1lbnQ6Ci0KLWBgYGh0bWwK
LTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLWBgYAot
Ci1SZWZlciB0byB0aGUgW1dlYiBXb3JrZXJzXSgjd2ViLXdvcmtlcnMpIHNlY3Rpb24gZm9yIGRl
dGFpbHMgYW5kIGFuIGV4YW1wbGUgb24KLXRlc3Rpbmcgd2l0aGluIGEgd2ViIHdvcmtlci4KLQot
V2l0aGluIGVhY2ggZmlsZSBvbmUgbWF5IGRlZmluZSBvbmUgb3IgbW9yZSB0ZXN0cy4gRWFjaCB0
ZXN0IGlzIGF0b21pYyBpbiB0aGUKLXNlbnNlIHRoYXQgYSBzaW5nbGUgdGVzdCBoYXMgYSBzaW5n
bGUgcmVzdWx0IChgUEFTU2AvYEZBSUxgL2BUSU1FT1VUYC9gTk9UUlVOYCkuCi1XaXRoaW4gZWFj
aCB0ZXN0IG9uZSBtYXkgaGF2ZSBhIG51bWJlciBvZiBhc3NlcnRzLiBUaGUgdGVzdCBmYWlscyBh
dCB0aGUgZmlyc3QKLWZhaWxpbmcgYXNzZXJ0LCBhbmQgdGhlIHJlbWFpbmRlciBvZiB0aGUgdGVz
dCBpcyAodHlwaWNhbGx5KSBub3QgcnVuLgotCi1JZiB0aGUgZmlsZSBjb250YWluaW5nIHRoZSB0
ZXN0cyBpcyBhIEhUTUwgZmlsZSwgYSB0YWJsZSBjb250YWluaW5nIHRoZSB0ZXN0Ci1yZXN1bHRz
IHdpbGwgYmUgYWRkZWQgdG8gdGhlIGRvY3VtZW50IGFmdGVyIGFsbCB0ZXN0cyBoYXZlIHJ1bi4g
QnkgZGVmYXVsdCB0aGlzCi13aWxsIGJlIGFkZGVkIHRvIGEgYGRpdmAgZWxlbWVudCB3aXRoIGBp
ZD1sb2dgIGlmIGl0IGV4aXN0cywgb3IgYSBuZXcgYGRpdmAKLWVsZW1lbnQgYXBwZW5kZWQgdG8g
YGRvY3VtZW50LmJvZHlgIGlmIGl0IGRvZXMgbm90LgotCi1OT1RFOiBCeSBkZWZhdWx0IHRlc3Rz
IG11c3QgYmUgY3JlYXRlZCBiZWZvcmUgdGhlIGxvYWQgZXZlbnQgZmlyZXMuIEZvciB3YXlzCi10
byBjcmVhdGUgdGVzdHMgYWZ0ZXIgdGhlIGxvYWQgZXZlbnQsIHNlZSAiRGV0ZXJtaW5pbmcgd2hl
biBhbGwgdGVzdHMKLWFyZSBjb21wbGV0ZSIsIGJlbG93LgotCi0jIyBTeW5jaHJvbm91cyBUZXN0
cyAjIwotCi1UbyBjcmVhdGUgYSBzeW5jaHJvbm91cyB0ZXN0IHVzZSB0aGUgYHRlc3QoKWAgZnVu
Y3Rpb246Ci0KLWBgYGpzCi10ZXN0KHRlc3RfZnVuY3Rpb24sIG5hbWUsIHByb3BlcnRpZXMpCi1g
YGAKLQotYHRlc3RfZnVuY3Rpb25gIGlzIGEgZnVuY3Rpb24gdGhhdCBjb250YWlucyB0aGUgY29k
ZSB0byB0ZXN0LiBGb3IgZXhhbXBsZSBhCi10cml2aWFsIHRlc3QgZm9yIHRoZSBET00KLVtgaGFz
RmVhdHVyZSgpYF0oaHR0cHM6Ly9kb20uc3BlYy53aGF0d2cub3JnLyNkb20tZG9taW1wbGVtZW50
YXRpb24taGFzZmVhdHVyZSkKLW1ldGhvZCAod2hpY2ggaXMgZGVmaW5lZCB0byBhbHdheXMgcmV0
dXJuIHRydWUpIHdvdWxkIGJlOgotCi1gYGBqcwotdGVzdChmdW5jdGlvbigpIHsKLSAgYXNzZXJ0
X3RydWUoZG9jdW1lbnQuaW1wbGVtZW50YXRpb24uaGFzRmVhdHVyZSgpKTsKLX0sICJoYXNGZWF0
dXJlKCkgd2l0aCBubyBhcmd1bWVudHMiKQotYGBgCi0KLVRoZSBmdW5jdGlvbiBwYXNzZWQgaW4g
aXMgcnVuIGluIHRoZSBgdGVzdCgpYCBjYWxsLgotCi1gcHJvcGVydGllc2AgaXMgYSBqYXZhc2Ny
aXB0IG9iamVjdCBmb3IgcGFzc2luZyBleHRyYSBvcHRpb25zIHRvIHRoZQotdGVzdC4gQ3VycmVu
dGx5IGl0IGlzIG9ubHkgdXNlZCB0byBwcm92aWRlIHRlc3Qtc3BlY2lmaWMKLW1ldGFkYXRhLCBh
cyBkZXNjcmliZWQgaW4gdGhlIFttZXRhZGF0YV0oI21ldGFkYXRhKSBzZWN0aW9uIGJlbG93Lgot
Ci0jIyBBc3luY2hyb25vdXMgVGVzdHMgIyMKLQotVGVzdGluZyBhc3luY2hyb25vdXMgZmVhdHVy
ZXMgaXMgc29tZXdoYXQgbW9yZSBjb21wbGV4IHNpbmNlIHRoZSByZXN1bHQgb2YKLWEgdGVzdCBt
YXkgZGVwZW5kIG9uIG9uZSBvciBtb3JlIGV2ZW50cyBvciBvdGhlciBjYWxsYmFja3MuIFRoZSBB
UEkgcHJvdmlkZWQKLWZvciB0ZXN0aW5nIHRoZXNlIGZlYXR1cmVzIGlzIGludGVuZGVkIHRvIGJl
IHJhdGhlciBsb3ctbGV2ZWwgYnV0IGhvcGVmdWxseQotYXBwbGljYWJsZSB0byBtYW55IHNpdHVh
dGlvbnMuCi0KLVRvIGNyZWF0ZSBhIHRlc3QsIG9uZSBzdGFydHMgYnkgZ2V0dGluZyBhIGBUZXN0
YCBvYmplY3QgdXNpbmcgYGFzeW5jX3Rlc3RgOgotCi1gYGBqcwotYXN5bmNfdGVzdChuYW1lLCBw
cm9wZXJ0aWVzKQotYGBgCi0KLWUuZy4KLQotYGBganMKLXZhciB0ID0gYXN5bmNfdGVzdCgiRE9N
Q29udGVudExvYWRlZCIpCi1gYGAKLQotQXNzZXJ0aW9ucyBjYW4gYmUgYWRkZWQgdG8gdGhlIHRl
c3QgYnkgY2FsbGluZyB0aGUgc3RlcCBtZXRob2Qgb2YgdGhlIHRlc3QKLW9iamVjdCB3aXRoIGEg
ZnVuY3Rpb24gY29udGFpbmluZyB0aGUgdGVzdCBhc3NlcnRpb25zOgotCi1gYGBqcwotZG9jdW1l
bnQuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsIGZ1bmN0aW9uKCkgewotICB0
LnN0ZXAoZnVuY3Rpb24oKSB7Ci0gICAgYXNzZXJ0X3RydWUoZS5idWJibGVzLCAiYnViYmxlcyBz
aG91bGQgYmUgdHJ1ZSIpOwotICB9KTsKLX0pOwotYGBgCi0KLVdoZW4gYWxsIHRoZSBzdGVwcyBh
cmUgY29tcGxldGUsIHRoZSBgZG9uZSgpYCBtZXRob2QgbXVzdCBiZSBjYWxsZWQ6Ci0KLWBgYGpz
Ci10LmRvbmUoKTsKLWBgYAotCi1BcyBhIGNvbnZlbmllbmNlLCBgYXN5bmNfdGVzdGAgY2FuIGFs
c28gdGFrZXMgYSBmdW5jdGlvbiBhcyBmaXJzdCBhcmd1bWVudC4KLVRoaXMgZnVuY3Rpb24gaXMg
Y2FsbGVkIHdpdGggdGhlIHRlc3Qgb2JqZWN0IGFzIGJvdGggaXRzIGB0aGlzYCBvYmplY3QgYW5k
Ci1maXJzdCBhcmd1bWVudC4gVGhlIGFib3ZlIGV4YW1wbGUgY2FuIGJlIHJld3JpdHRlbiBhczoK
LQotYGBganMKLWFzeW5jX3Rlc3QoZnVuY3Rpb24odCkgewotICBkb2N1bWVudC5hZGRFdmVudExp
c3RlbmVyKCJET01Db250ZW50TG9hZGVkIiwgZnVuY3Rpb24oKSB7Ci0gICAgdC5zdGVwKGZ1bmN0
aW9uKCkgewotICAgICAgYXNzZXJ0X3RydWUoZS5idWJibGVzLCAiYnViYmxlcyBzaG91bGQgYmUg
dHJ1ZSIpOwotICAgIH0pOwotICAgIHQuZG9uZSgpOwotICB9KTsKLX0sICJET01Db250ZW50TG9h
ZGVkIik7Ci1gYGAKLQotd2hpY2ggYXZvaWRzIGNsdXR0ZXJpbmcgdGhlIGdsb2JhbCBzY29wZSB3
aXRoIHJlZmVyZW5jZXMgdG8gYXN5bmMKLXRlc3RzIGluc3RhbmNlcy4KLQotVGhlIHByb3BlcnRp
ZXMgYXJndW1lbnQgaXMgaWRlbnRpY2FsIHRvIHRoYXQgZm9yIGB0ZXN0KClgLgotCi1JbiBtYW55
IGNhc2VzIGl0IGlzIGNvbnZlbmllbnQgdG8gcnVuIGEgc3RlcCBpbiByZXNwb25zZSB0byBhbiBl
dmVudCBvciBhCi1jYWxsYmFjay4gQSBjb252ZW5pZW50IG1ldGhvZCBvZiBkb2luZyB0aGlzIGlz
IHRocm91Z2ggdGhlIGBzdGVwX2Z1bmNgIG1ldGhvZAotd2hpY2ggcmV0dXJucyBhIGZ1bmN0aW9u
IHRoYXQsIHdoZW4gY2FsbGVkIHJ1bnMgYSB0ZXN0IHN0ZXAuIEZvciBleGFtcGxlCi0KLWBgYGpz
Ci1kb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIiwgdC5zdGVwX2Z1
bmMoZnVuY3Rpb24oKSB7Ci0gIGFzc2VydF90cnVlKGUuYnViYmxlcywgImJ1YmJsZXMgc2hvdWxk
IGJlIHRydWUiKTsKLSAgdC5kb25lKCk7Ci19KTsKLWBgYAotCi1BcyBhIGZ1cnRoZXIgY29udmVu
aWVuY2UsIHRoZSBgc3RlcF9mdW5jYCB0aGF0IGNhbGxzIGBkb25lKClgIGNhbiBpbnN0ZWFkCi11
c2UgYHN0ZXBfZnVuY19kb25lYCwgYXMgZm9sbG93czoKLQotYGBganMKLWRvY3VtZW50LmFkZEV2
ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLCB0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9u
KCkgewotICBhc3NlcnRfdHJ1ZShlLmJ1YmJsZXMsICJidWJibGVzIHNob3VsZCBiZSB0cnVlIik7
Ci19KTsKLWBgYAotCi1Gb3IgYXN5bmNocm9ub3VzIGNhbGxiYWNrcyB0aGF0IHNob3VsZCBuZXZl
ciBleGVjdXRlLCBgdW5yZWFjaGVkX2Z1bmNgIGNhbgotYmUgdXNlZC4gRm9yIGV4YW1wbGU6Ci0K
LWBgYGpzCi1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29u
dGVudExvYWRlZCIsCi0gIHQudW5yZWFjaGVkX2Z1bmMoIkRPTUNvbnRlbnRMb2FkZWQgc2hvdWxk
IG5vdCBiZSBmaXJlZCBvbiB0aGUgZG9jdW1lbnQgZWxlbWVudCIpKTsKLWBgYAotCi1LZWVwIGlu
IG1pbmQgdGhhdCBvdGhlciB0ZXN0cyBjb3VsZCBzdGFydCBleGVjdXRpbmcgYmVmb3JlIGFuIEFz
eW5jaHJvbm91cwotVGVzdCBpcyBmaW5pc2hlZC4KLQotIyMgUHJvbWlzZSBUZXN0cyAjIwotCi1g
cHJvbWlzZV90ZXN0YCBjYW4gYmUgdXNlZCB0byB0ZXN0IEFQSXMgdGhhdCBhcmUgYmFzZWQgb24g
UHJvbWlzZXM6Ci0KLWBgYGpzCi1wcm9taXNlX3Rlc3QodGVzdF9mdW5jdGlvbiwgbmFtZSwgcHJv
cGVydGllcykKLWBgYAotCi1gdGVzdF9mdW5jdGlvbmAgaXMgYSBmdW5jdGlvbiB0aGF0IHJlY2Vp
dmVzIGEgdGVzdCBhcyBhbiBhcmd1bWVudCBhbmQgcmV0dXJucyBhCi1wcm9taXNlLiBUaGUgdGVz
dCBjb21wbGV0ZXMgd2hlbiB0aGUgcmV0dXJuZWQgcHJvbWlzZSByZXNvbHZlcy4gVGhlIHRlc3Qg
ZmFpbHMKLWlmIHRoZSByZXR1cm5lZCBwcm9taXNlIHJlamVjdHMuCi0KLUUuZy46Ci0KLWBgYGpz
Ci1mdW5jdGlvbiBmb28oKSB7Ci0gIHJldHVybiBQcm9taXNlLnJlc29sdmUoImZvbyIpOwotfQot
Ci1wcm9taXNlX3Rlc3QoZnVuY3Rpb24oKSB7Ci0gIHJldHVybiBmb28oKQotICAgIC50aGVuKGZ1
bmN0aW9uKHJlc3VsdCkgewotICAgICAgYXNzZXJ0X2VxdWFscyhyZXN1bHQsICJmb28iLCAiZm9v
IHNob3VsZCByZXR1cm4gJ2ZvbyciKTsKLSAgICB9KTsKLX0sICJTaW1wbGUgZXhhbXBsZSIpOwot
YGBgCi0KLUluIHRoZSBleGFtcGxlIGFib3ZlLCBgZm9vKClgIHJldHVybnMgYSBQcm9taXNlIHRo
YXQgcmVzb2x2ZXMgd2l0aCB0aGUgc3RyaW5nCi0iZm9vIi4gVGhlIGB0ZXN0X2Z1bmN0aW9uYCBw
YXNzZWQgaW50byBgcHJvbWlzZV90ZXN0YCBpbnZva2VzIGBmb29gIGFuZCBhdHRhY2hlcwotYSBy
ZXNvbHZlIHJlYWN0aW9uIHRoYXQgdmVyaWZpZXMgdGhlIHJldHVybmVkIHZhbHVlLgotCi1Ob3Rl
IHRoYXQgaW4gdGhlIHByb21pc2UgY2hhaW4gY29uc3RydWN0ZWQgaW4gYHRlc3RfZnVuY3Rpb25g
IGFzc2VydGlvbnMgZG9uJ3QKLW5lZWQgdG8gd3JhcHBlZCBpbiBgc3RlcGAgb3IgYHN0ZXBfZnVu
Y2AgY2FsbHMuCi0KLVVubGlrZSBBc3luY2hyb25vdXMgVGVzdHMsIFByb21pc2UgVGVzdHMgZG9u
J3Qgc3RhcnQgcnVubmluZyB1bnRpbCBhZnRlciB0aGUKLXByZXZpb3VzIFByb21pc2UgVGVzdCBm
aW5pc2hlcy4KLQotYHByb21pc2VfcmVqZWN0c2AgY2FuIGJlIHVzZWQgdG8gdGVzdCBQcm9taXNl
cyB0aGF0IG5lZWQgdG8gcmVqZWN0OgotCi1gYGBqcwotcHJvbWlzZV9yZWplY3RzKHRlc3Rfb2Jq
ZWN0LCBjb2RlLCBwcm9taXNlLCBkZXNjcmlwdGlvbikKLWBgYAotCi1UaGUgYGNvZGVgIGFyZ3Vt
ZW50IGlzIGVxdWl2YWxlbnQgdG8gdGhlIHNhbWUgYXJndW1lbnQgdG8gdGhlIGBhc3NlcnRfdGhy
b3dzYAotZnVuY3Rpb24uCi0KLUhlcmUncyBhbiBleGFtcGxlIHdoZXJlIHRoZSBgYmFyKClgIGZ1
bmN0aW9uIHJldHVybnMgYSBQcm9taXNlIHRoYXQgcmVqZWN0cwotd2l0aCBhIFR5cGVFcnJvcjoK
LQotYGBganMKLWZ1bmN0aW9uIGJhcigpIHsKLSAgcmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyBU
eXBlRXJyb3IoKSk7Ci19Ci0KLXByb21pc2VfdGVzdChmdW5jdGlvbih0KSB7Ci0gIHJldHVybiBw
cm9taXNlX3JlamVjdHModCwgbmV3IFR5cGVFcnJvcigpLCBiYXIoKSk7Ci19LCAiQW5vdGhlciBl
eGFtcGxlIik7Ci1gYGAKLQotYEV2ZW50V2F0Y2hlcmAgaXMgYSBjb25zdHJ1Y3RvciBmdW5jdGlv
biB0aGF0IGFsbG93cyBET00gZXZlbnRzIHRvIGJlIGhhbmRsZWQKLXVzaW5nIFByb21pc2VzLCB3
aGljaCBjYW4gbWFrZSBpdCBhIGxvdCBlYXNpZXIgdG8gdGVzdCBhIHZlcnkgc3BlY2lmaWMgc2Vy
aWVzCi1vZiBldmVudHMsIGluY2x1ZGluZyBlbnN1cmluZyB0aGF0IHVuZXhwZWN0ZWQgZXZlbnRz
IGFyZSBub3QgZmlyZWQgYXQgYW55IHBvaW50LgotCi1IZXJlJ3MgYW4gZXhhbXBsZSBvZiBob3cg
dG8gdXNlIGBFdmVudFdhdGNoZXJgOgotCi1gYGBqcwotdmFyIHQgPSBhc3luY190ZXN0KCJFdmVu
dCBvcmRlciBvbiBhbmltYXRpb24gc3RhcnQiKTsKLQotdmFyIGFuaW1hdGlvbiA9IHdhdGNoZWRO
b2RlLmdldEFuaW1hdGlvbnMoKVswXTsKLXZhciBldmVudFdhdGNoZXIgPSBuZXcgRXZlbnRXYXRj
aGVyKHQsIHdhdGNoZWROb2RlLCBbJ2FuaW1hdGlvbnN0YXJ0JywKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FuaW1hdGlvbml0ZXJhdGlvbics
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdh
bmltYXRpb25lbmQnXSk7Ci0KLWV2ZW50V2F0Y2hlci53YWl0X2ZvcignYW5pbWF0aW9uc3RhcnQn
KS50aGVuKHQuc3RlcF9mdW5jKGZ1bmN0aW9uKCkgewotICBhc3NlcnRFeHBlY3RlZFN0YXRlQXRT
dGFydE9mQW5pbWF0aW9uKCk7Ci0gIGFuaW1hdGlvbi5jdXJyZW50VGltZSA9IEVORF9USU1FOyAv
LyBza2lwIHRvIGVuZAotICAvLyBXZSBleHBlY3QgdHdvIGFuaW1hdGlvbml0ZXJhdGlvbiBldmVu
dHMgdGhlbiBhbiBhbmltYXRpb25lbmQgZXZlbnQgb24KLSAgLy8gc2tpcHBpbmcgdG8gdGhlIGVu
ZCBvZiB0aGUgYW5pbWF0aW9uLgotICByZXR1cm4gZXZlbnRXYXRjaGVyLndhaXRfZm9yKFsnYW5p
bWF0aW9uaXRlcmF0aW9uJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FuaW1h
dGlvbml0ZXJhdGlvbicsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhbmltYXRp
b25lbmQnXSk7Ci19KSkudGhlbih0LnN0ZXBfZnVuYyhmdW5jdGlvbigpIHsKLSAgYXNzZXJ0RXhw
ZWN0ZWRTdGF0ZUF0RW5kT2ZBbmltYXRpb24oKTsKLSAgdC5kb25lKCk7Ci19KSk7Ci1gYGAKLQot
YHdhaXRfZm9yYCBlaXRoZXIgdGFrZXMgdGhlIG5hbWUgb2YgYSBzaW5nbGUgZXZlbnQgYW5kIHJl
dHVybnMgYSBQcm9taXNlIHRoYXQKLXdpbGwgcmVzb2x2ZSBhZnRlciB0aGF0IGV2ZW50IGlzIGZp
cmVkIGF0IHRoZSB3YXRjaGVkIG5vZGUsIG9yIGVsc2UgaXQgdGFrZXMgYW4KLWFycmF5IG9mIHRo
ZSBuYW1lcyBvZiBhIHNlcmllcyBvZiBldmVudHMgYW5kIHJldHVybnMgYSBQcm9taXNlIHRoYXQg
d2lsbAotcmVzb2x2ZSBhZnRlciB0aGF0IHNwZWNpZmljIHNlcmllcyBvZiBldmVudHMgaGFzIGJl
ZW4gZmlyZWQgYXQgdGhlIHdhdGNoZWQgbm9kZS4KLQotYEV2ZW50V2F0Y2hlcmAgd2lsbCBhc3Nl
cnQgaWYgYW4gZXZlbnQgb2NjdXJzIHdoaWxlIHRoZXJlIGlzIG5vIGB3YWl0X2ZvcmAoKQotY3Jl
YXRlZCBQcm9taXNlIHdhaXRpbmcgdG8gYmUgZnVsZmlsbGVkLCBvciBpZiB0aGUgZXZlbnQgaXMg
b2YgYSBkaWZmZXJlbnQgdHlwZQotdG8gdGhlIHR5cGUgY3VycmVudGx5IGV4cGVjdGVkLiBUaGlz
IGVuc3VyZXMgdGhhdCBvbmx5IHRoZSBldmVudHMgdGhhdCBhcmUKLWV4cGVjdGVkIG9jY3VyLCBp
biB0aGUgY29ycmVjdCBvcmRlciwgYW5kIHdpdGggdGhlIGNvcnJlY3QgdGltaW5nLgotCi0jIyBT
aW5nbGUgUGFnZSBUZXN0cyAjIwotCi1Tb21ldGltZXMsIHBhcnRpY3VsYXJseSB3aGVuIGRlYWxp
bmcgd2l0aCBhc3luY2hyb25vdXMgYmVoYXZpb3VyLAotaGF2aW5nIGV4YWN0bHkgb25lIHRlc3Qg
cGVyIHBhZ2UgaXMgZGVzaXJhYmxlLCBhbmQgdGhlIG92ZXJoZWFkIG9mCi13cmFwcGluZyBldmVy
eXRoaW5nIGluIGZ1bmN0aW9ucyBmb3IgaXNvbGF0aW9uIGJlY29tZXMKLWJ1cmRlbnNvbWUuIEZv
ciB0aGVzZSBjYXNlcyBgdGVzdGhhcm5lc3MuanNgIHN1cHBvcnQgInNpbmdsZSBwYWdlCi10ZXN0
cyIuCi0KLUluIG9yZGVyIGZvciBhIHRlc3QgdG8gYmUgaW50ZXJwcmV0ZWQgYXMgYSBzaW5nbGUg
cGFnZSB0ZXN0LCB0aGVuCi1pdCBtdXN0IHNpbXBseSBub3QgY2FsbCBgdGVzdCgpYCBvciBgYXN5
bmNfdGVzdCgpYCBhbnl3aGVyZSBvbiB0aGUgcGFnZSwgYW5kCi1tdXN0IGNhbGwgdGhlIGBkb25l
KClgIGZ1bmN0aW9uIHRvIGluZGljYXRlIHRoYXQgdGhlIHRlc3QgaXMgY29tcGxldGUuIEFsbAot
dGhlIGBhc3NlcnRfKmAgZnVuY3Rpb25zIGFyZSBhdmFsaWFibGUgYXMgbm9ybWFsLCBidXQgYXJl
IGNhbGxlZCB3aXRob3V0Ci10aGUgbm9ybWFsIHN0ZXAgZnVuY3Rpb24gd3JhcHBlci4gRm9yIGV4
YW1wbGU6Ci0KLWBgYGh0bWwKLTwhZG9jdHlwZSBodG1sPgotPHRpdGxlPkJhc2ljIGRvY3VtZW50
LmJvZHkgdGVzdDwvdGl0bGU+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+Ci08Ym9keT4KLSAgPHNjcmlwdD4KLSAgICBhc3NlcnRfZXF1YWxzKGRvY3Vt
ZW50LmJvZHksIGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJib2R5IilbMF0pCi0gICAg
ZG9uZSgpCi0gPC9zY3JpcHQ+Ci1gYGAKLQotVGhlIHRlc3QgdGl0bGUgZm9yIHNpbmdsZSBwYWdl
IHRlc3RzIGlzIGFsd2F5cyB0YWtlbiBmcm9tIGBkb2N1bWVudC50aXRsZWAuCi0KLSMjIE1ha2lu
ZyBhc3NlcnRpb25zICMjCi0KLUZ1bmN0aW9ucyBmb3IgbWFraW5nIGFzc2VydGlvbnMgc3RhcnQg
YGFzc2VydF9gLiBUaGUgZnVsbCBsaXN0IG9mCi1hc3NlcnRzIGF2YWxpYWJsZSBpcyBkb2N1bWVu
dGVkIGluIHRoZSBbYXNzZXJ0c10oI2xpc3Qtb2YtYXNzZXJ0aW9ucykgc2VjdGlvbgotYmVsb3cu
IFRoZSBnZW5lcmFsIHNpZ25hdHVyZSBpcwotCi1gYGBqcwotYXNzZXJ0X3NvbWV0aGluZyhhY3R1
YWwsIGV4cGVjdGVkLCBkZXNjcmlwdGlvbikKLWBgYAotCi1hbHRob3VnaCBub3QgYWxsIGFzc2Vy
dGlvbnMgcHJlY2lzZWx5IG1hdGNoIHRoaXMgcGF0dGVybiBlLmcuIGBhc3NlcnRfdHJ1ZWAKLW9u
bHkgdGFrZXMgYGFjdHVhbGAgYW5kIGBkZXNjcmlwdGlvbmAgYXMgYXJndW1lbnRzLgotCi1UaGUg
ZGVzY3JpcHRpb24gcGFyYW1ldGVyIGlzIHVzZWQgdG8gcHJlc2VudCBtb3JlIHVzZWZ1bCBlcnJv
ciBtZXNzYWdlcyB3aGVuCi1hIHRlc3QgZmFpbHMKLQotTk9URTogQWxsIGFzc2VydHMgbXVzdCBi
ZSBsb2NhdGVkIGluIGEgYHRlc3QoKWAgb3IgYSBzdGVwIG9mIGFuCi1gYXN5bmNfdGVzdCgpYCwg
dW5sZXNzIHRoZSB0ZXN0IGlzIGEgc2luZ2xlIHBhZ2UgdGVzdC4gQXNzZXJ0cyBvdXRzaWRlCi10
aGVzZSBwbGFjZXMgd29uJ3QgYmUgZGV0ZWN0ZWQgY29ycmVjdGx5IGJ5IHRoZSBoYXJuZXNzIGFu
ZCBtYXkgY2F1c2UKLXVuZXhwZWN0ZWQgZXhjZXB0aW9ucyB0aGF0IHdpbGwgbGVhZCB0byBhbiBl
cnJvciBpbiB0aGUgaGFybmVzcy4KLQotIyMgQ2xlYW51cCAjIwotCi1PY2Nhc2lvbmFsbHkgdGVz
dHMgbWF5IGNyZWF0ZSBzdGF0ZSB0aGF0IHdpbGwgcGVyc2lzdCBiZXlvbmQgdGhlIHRlc3QgaXRz
ZWxmLgotSW4gb3JkZXIgdG8gZW5zdXJlIHRoYXQgdGVzdHMgYXJlIGluZGVwZW5kZW50LCBzdWNo
IHN0YXRlIHNob3VsZCBiZSBjbGVhbmVkCi11cCBvbmNlIHRoZSB0ZXN0IGhhcyBhIHJlc3VsdC4g
VGhpcyBjYW4gYmUgYWNoaWV2ZWQgYnkgYWRkaW5nIGNsZWFudXAKLWNhbGxiYWNrcyB0byB0aGUg
dGVzdC4gU3VjaCBjYWxsYmFja3MgYXJlIHJlZ2lzdGVyZWQgdXNpbmcgdGhlIGBhZGRfY2xlYW51
cGAKLWZ1bmN0aW9uIG9uIHRoZSB0ZXN0IG9iamVjdC4gQWxsIHJlZ2lzdGVyZWQgY2FsbGJhY2tz
IHdpbGwgYmUgcnVuIGFzIHNvb24gYXMKLXRoZSB0ZXN0IHJlc3VsdCBpcyBrbm93bi4gRm9yIGV4
YW1wbGUKLQotYGBganMKLSAgdGVzdChmdW5jdGlvbigpIHsKLSAgICB2YXIgZWxlbWVudCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwotICAgIGVsZW1lbnQuc2V0QXR0cmlidXRlKCJp
ZCIsICJudWxsIik7Ci0gICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChlbGVtZW50KTsKLSAg
ICB0aGlzLmFkZF9jbGVhbnVwKGZ1bmN0aW9uKCkgeyBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxk
KGVsZW1lbnQpIH0pOwotICAgIGFzc2VydF9lcXVhbHMoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
bnVsbCksIGVsZW1lbnQpOwotICB9LCAiQ2FsbGluZyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCB3
aXRoIGEgbnVsbCBhcmd1bWVudC4iKTsKLWBgYAotCi0jIyBUaW1lb3V0cyBpbiBUZXN0cyAjIwot
Ci1JbiBnZW5lcmFsIHRoZSB1c2Ugb2YgdGltZW91dHMgaW4gdGVzdHMgaXMgZGlzY291cmFnZWQg
YmVjYXVzZSB0aGlzIGlzCi1hbiBvYnNlcnZlZCBzb3VyY2Ugb2YgaW5zdGFiaWxpdHkgaW4gcmVh
bCB0ZXN0cyB3aGVuIHJ1biBvbiBDSQotaW5mcmFzdHJ1Y3R1cmUuIEluIHBhcnRpY3VsYXIgaWYg
YSB0ZXN0IHNob3VsZCBmYWlsIHdoZW4gc29tZXRoaW5nCi1kb2Vzbid0IGhhcHBlbiwgaXQgaXMg
Z29vZCBwcmFjdGljZSB0byBzaW1wbHkgbGV0IHRoZSB0ZXN0IHJ1biB0byB0aGUKLWZ1bGwgdGlt
ZW91dCByYXRoZXIgdGhhbiB0cnlpbmcgdG8gZ3Vlc3MgYW4gYXBwcm9wcmlhdGUgc2hvcnRlcgot
dGltZW91dCB0byB1c2UuCi0KLUluIG90aGVyIGNhc2VzIGl0IG1heSBiZSBuZWNlc3NhcnkgdG8g
dXNlIGEgdGltZW91dCAoZS5nLiwgZm9yIGEgdGVzdAotdGhhdCBvbmx5IHBhc3NlcyBpZiBzb21l
IGV2ZW50IGlzICpub3QqIGZpcmVkKS4gSW4gdGhpcyBjYXNlIGl0IGlzCi0qbm90KiBwZXJtaXR0
ZWQgdG8gdXNlIHRoZSBzdGFuZGFyZCBgc2V0VGltZW91dGAgZnVuY3Rpb24uIEluc3RlYWQgb25l
Ci1tdXN0IHVzZSB0aGUgYHN0ZXBfdGltZW91dGAgZnVuY3Rpb246Ci0KLWBgYGpzCi1hc3luY190
ZXN0KGZ1bmN0aW9uKHQpIHsKLSAgdmFyIGdvdEV2ZW50ID0gZmFsc2U7Ci0gIGRvY3VtZW50LmFk
ZEV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLCB0LnN0ZXBfZnVuYyhmdW5jdGlvbigp
IHsKLSAgICBhc3NlcnRfZmFsc2UoZ290RXZlbnQsICJVbmV4cGVjdGVkIERPTUNvbnRlbnRMb2Fk
ZWQgZXZlbnQiKTsKLSAgICBnb3RFdmVudCA9IHRydWU7Ci0gICAgdC5zdGVwX3RpbWVvdXQoZnVu
Y3Rpb24oKSB7IHQuZG9uZSgpOyB9LCAyMDAwKTsKLSAgfSk7Ci19LCAiT25seSBvbmUgRE9NQ29u
dGVudExvYWRlZCIpOwotYGBgCi0KLVRoZSBkaWZmZXJlbmNlIGJldHdlZW4gYHNldFRpbWVvdXRg
IGFuZCBgc3RlcF90aW1lb3V0YCBpcyB0aGF0IHRoZQotbGF0dGVyIHRha2VzIGFjY291bnQgb2Yg
dGhlIHRpbWVvdXQgbXVsdGlwbGllciB3aGVuIGNvbXB1dGluZyB0aGUKLWRlbGF5OyBlLmcuLCBp
biB0aGUgYWJvdmUgY2FzZSBhIHRpbWVvdXQgbXVsdGlwbGllciBvZiAyIHdvdWxkIGNhdXNlIGEK
LXBhdXNlIG9mIDQwMDBtcyBiZWZvcmUgY2FsbGluZyB0aGUgY2FsbGJhY2suIFRoaXMgbWFrZXMg
aXQgbGVzcyBsaWtlbHkKLXRvIHByb2R1Y2UgdW5zdGFibGUgcmVzdWx0cyBpbiBzbG93IGNvbmZp
Z3VyYXRpb25zLgotCi1Ob3RlIHRoYXQgdGltZW91dHMgZ2VuZXJhbGx5IG5lZWQgdG8gYmUgYSBm
ZXcgc2Vjb25kcyBsb25nIGluIG9yZGVyIHRvCi1wcm9kdWNlIHN0YWJsZSByZXN1bHRzIGluIGFs
bCB0ZXN0IGVudmlyb25tZW50cy4KLQotRm9yIHNpbmdsZS1wYWdlIHRlc3RzLCBgc3RlcF90aW1l
b3V0YCBpcyBhbHNvIGF2YWlsYWJsZSBhcyBhIGdsb2JhbAotZnVuY3Rpb24uCi0KLSMjIEhhcm5l
c3MgVGltZW91dCAjIwotCi1UaGUgb3ZlcmFsbCBoYXJuZXNzIGFkbWl0cyB0d28gdGltZW91dCB2
YWx1ZXMgYCJub3JtYWwiYCAodGhlCi1kZWZhdWx0KSBhbmQgYCJsb25nImAsIHVzZWQgZm9yIHRl
c3RzIHdoaWNoIGhhdmUgYW4gdW51c3VhbGx5IGxvbmcKLXJ1bnRpbWUuIEFmdGVyIHRoZSB0aW1l
b3V0IGlzIHJlYWNoZWQsIHRoZSBoYXJuZXNzIHdpbGwgc3RvcAotd2FpdGluZyBmb3IgZnVydGhl
ciBhc3luYyB0ZXN0cyB0byBjb21wbGV0ZS4gQnkgZGVmYXVsdCB0aGUKLXRpbWVvdXRzIGFyZSBz
ZXQgdG8gMTBzIGFuZCA2MHMsIHJlc3BlY3RpdmVseSwgYnV0IG1heSBiZSBjaGFuZ2VkCi13aGVu
IHRoZSB0ZXN0IGlzIHJ1biBvbiBoYXJkd2FyZSB3aXRoIGRpZmZlcmVudCBwZXJmb3JtYW5jZQot
Y2hhcmFjdGVyaXN0aWNzIHRvIGEgY29tbW9uIGRlc2t0b3AgY29tcHV0ZXIuICBJbiBvcmRlciB0
byBvcHQtaW4KLXRvIHRoZSBsb25nZXIgdGVzdCB0aW1lb3V0LCB0aGUgdGVzdCBtdXN0IHNwZWNp
ZnkgYSBtZXRhIGVsZW1lbnQ6Ci0KLWBgYGh0bWwKLTxtZXRhIG5hbWU9InRpbWVvdXQiIGNvbnRl
bnQ9ImxvbmciPgotYGBgCi0KLU9jY2FzaW9uYWxseSB0ZXN0cyBtYXkgaGF2ZSBhIHJhY2UgYmV0
d2VlbiB0aGUgaGFybmVzcyB0aW1pbmcgb3V0IGFuZAotYSBwYXJ0aWN1bGFyIHRlc3QgZmFpbGlu
ZzsgdHlwaWNhbGx5IHdoZW4gdGhlIHRlc3Qgd2FpdHMgZm9yIHNvbWUgZXZlbnQKLXRoYXQgbmV2
ZXIgb2NjdXJzLiBJbiB0aGlzIGNhc2UgaXQgaXMgcG9zc2libGUgdG8gdXNlIGB0ZXN0LmZvcmNl
X3RpbWVvdXQoKWAKLWluIHBsYWNlIG9mIGBhc3NlcnRfdW5yZWFjaGVkKClgLCB0byBpbW1lZGlh
dGVseSBmYWlsIHRoZSB0ZXN0IGJ1dCB3aXRoIGEKLXN0YXR1cyBvZiBgVElNRU9VVGAuIFRoaXMg
c2hvdWxkIG9ubHkgYmUgdXNlZCBhcyBhIGxhc3QgcmVzb3J0IHdoZW4gaXQgaXMKLW5vdCBwb3Nz
aWJsZSB0byBtYWtlIHRoZSB0ZXN0IHJlbGlhYmxlIGluIHNvbWUgb3RoZXIgd2F5LgotCi0jIyBT
ZXR1cCAjIwotCi1Tb21ldGltZXMgdGVzdHMgcmVxdWlyZSBub24tdHJpdmlhbCBzZXR1cCB0aGF0
IG1heSBmYWlsLiBGb3IgdGhpcyBwdXJwb3NlCi10aGVyZSBpcyBhIGBzZXR1cCgpYCBmdW5jdGlv
biwgdGhhdCBtYXkgYmUgY2FsbGVkIHdpdGggb25lIG9yIHR3byBhcmd1bWVudHMuCi1UaGUgdHdv
IGFyZ3VtZW50IHZlcnNpb24gaXM6Ci0KLWBgYGpzCi1zZXR1cChmdW5jLCBwcm9wZXJ0aWVzKQot
YGBgCi0KLVRoZSBvbmUgYXJndW1lbnQgdmVyc2lvbnMgbWF5IG9taXQgZWl0aGVyIGFyZ3VtZW50
LgotZnVuYyBpcyBhIGZ1bmN0aW9uIHRvIGJlIHJ1biBzeW5jaHJvbm91c2x5LiBgc2V0dXAoKWAg
YmVjb21lcyBhIG5vLW9wIG9uY2UKLWFueSB0ZXN0cyBoYXZlIHJldHVybmVkIHJlc3VsdHMuIFBy
b3BlcnRpZXMgYXJlIGdsb2JhbCBwcm9wZXJ0aWVzIG9mIHRoZSB0ZXN0Ci1oYXJuZXNzLiBDdXJy
ZW50bHkgcmVjb2duaXNlZCBwcm9wZXJ0aWVzIGFyZToKLQotYGV4cGxpY2l0X2RvbmVgIC0gV2Fp
dCBmb3IgYW4gZXhwbGljaXQgY2FsbCB0byBkb25lKCkgYmVmb3JlIGRlY2xhcmluZyBhbGwKLXRl
c3RzIGNvbXBsZXRlIChzZWUgYmVsb3c7IGltcGxpY2l0bHkgdHJ1ZSBmb3Igc2luZ2xlIHBhZ2Ug
dGVzdHMpCi0KLWBvdXRwdXRfZG9jdW1lbnRgIC0gVGhlIGRvY3VtZW50IHRvIHdoaWNoIHJlc3Vs
dHMgc2hvdWxkIGJlIGxvZ2dlZC4gQnkgZGVmYXVsdAotdGhpcyBpcyB0aGUgY3VycmVudCBkb2N1
bWVudCBidXQgY291bGQgYmUgYW4gYW5jZXN0b3IgZG9jdW1lbnQgaW4gc29tZSBjYXNlcwotZS5n
LiBhIFNWRyB0ZXN0IGxvYWRlZCBpbiBhbiBIVE1MIHdyYXBwZXIKLQotYGV4cGxpY2l0X3RpbWVv
dXRgIC0gZGlzYWJsZSBmaWxlIHRpbWVvdXQ7IG9ubHkgc3RvcCB3YWl0aW5nIGZvciByZXN1bHRz
Ci13aGVuIHRoZSBgdGltZW91dCgpYCBmdW5jdGlvbiBpcyBjYWxsZWQgKHR5cGljYWxseSBmb3Ig
dXNlIHdoZW4gaW50ZWdyYXRpbmcKLXdpdGggc29tZSBleGlzdGluZyB0ZXN0IGZyYW1ld29yayB0
aGF0IGhhcyBpdHMgb3duIHRpbWVvdXQgbWVjaGFuaXNtKS4KLQotYGFsbG93X3VuY2F1Z2h0X2V4
Y2VwdGlvbmAgLSBkb24ndCB0cmVhdCBhbiB1bmNhdWdodCBleGNlcHRpb24gYXMgYW4gZXJyb3I7
Ci1uZWVkZWQgd2hlbiBlLmcuIHRlc3RpbmcgdGhlIGB3aW5kb3cub25lcnJvcmAgaGFuZGxlci4K
LQotYHRpbWVvdXRfbXVsdGlwbGllcmAgLSBNdWx0aXBsaWVyIHRvIGFwcGx5IHRvIHBlci10ZXN0
IHRpbWVvdXRzLgotCi0jIyBEZXRlcm1pbmluZyB3aGVuIGFsbCB0ZXN0cyBhcmUgY29tcGxldGUg
IyMKLQotQnkgZGVmYXVsdCB0aGUgdGVzdCBoYXJuZXNzIHdpbGwgYXNzdW1lIHRoZXJlIGFyZSBu
byBtb3JlIHJlc3VsdHMgdG8gY29tZQotd2hlbjoKLQotIDEuIFRoZXJlIGFyZSBubyBgVGVzdGAg
b2JqZWN0cyB0aGF0IGhhdmUgYmVlbiBjcmVhdGVkIGJ1dCBub3QgY29tcGxldGVkCi0gMi4gVGhl
IGxvYWQgZXZlbnQgb24gdGhlIGRvY3VtZW50IGhhcyBmaXJlZAotCi1UaGlzIGJlaGF2aW91ciBj
YW4gYmUgb3ZlcnJpZGRlbiBieSBzZXR0aW5nIHRoZSBgZXhwbGljaXRfZG9uZWAgcHJvcGVydHkg
dG8KLXRydWUgaW4gYSBjYWxsIHRvIGBzZXR1cCgpYC4gSWYgYGV4cGxpY2l0X2RvbmVgIGlzIHRy
dWUsIHRoZSB0ZXN0IGhhcm5lc3Mgd2lsbAotbm90IGFzc3VtZSBpdCBpcyBkb25lIHVudGlsIHRo
ZSBnbG9iYWwgYGRvbmUoKWAgZnVuY3Rpb24gaXMgY2FsbGVkLiBPbmNlIGBkb25lKClgCi1pcyBj
YWxsZWQsIHRoZSB0d28gY29uZGl0aW9ucyBhYm92ZSBhcHBseSBsaWtlIG5vcm1hbC4KLQotRGVk
aWNhdGVkIGFuZCBzaGFyZWQgd29ya2VycyBkb24ndCBoYXZlIGFuIGV2ZW50IHRoYXQgY29ycmVz
cG9uZHMgdG8gdGhlIGBsb2FkYAotZXZlbnQgaW4gYSBkb2N1bWVudC4gVGhlcmVmb3JlIHRoZXNl
IHdvcmtlciB0ZXN0cyBhbHdheXMgYmVoYXZlIGFzIGlmIHRoZQotYGV4cGxpY2l0X2RvbmVgIHBy
b3BlcnR5IGlzIHNldCB0byB0cnVlLiBTZXJ2aWNlIHdvcmtlcnMgZGVwZW5kIG9uIHRoZQotW2lu
c3RhbGxdKGh0dHBzOi8vc2xpZ2h0bHlvZmYuZ2l0aHViLmlvL1NlcnZpY2VXb3JrZXIvc3BlYy9z
ZXJ2aWNlX3dvcmtlci9pbmRleC5odG1sI3NlcnZpY2Utd29ya2VyLWdsb2JhbC1zY29wZS1pbnN0
YWxsLWV2ZW50KQotZXZlbnQgd2hpY2ggaXMgZmlyZWQgZm9sbG93aW5nIHRoZSBjb21wbGV0aW9u
IG9mIFtydW5uaW5nIHRoZQotd29ya2VyXShodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211
bHRpcGFnZS93b3JrZXJzLmh0bWwjcnVuLWEtd29ya2VyKS4KLQotIyMgR2VuZXJhdGluZyB0ZXN0
cyAjIwotCi1UaGVyZSBhcmUgc2NlbmFyaW9zIGluIHdoaWNoIGlzIGlzIGRlc2lyYWJsZSB0byBj
cmVhdGUgYSBsYXJnZSBudW1iZXIgb2YKLShzeW5jaHJvbm91cykgdGVzdHMgdGhhdCBhcmUgaW50
ZXJuYWxseSBzaW1pbGFyIGJ1dCB2YXJ5IGluIHRoZSBwYXJhbWV0ZXJzCi11c2VkLiBUbyBtYWtl
IHRoaXMgZWFzaWVyLCB0aGUgYGdlbmVyYXRlX3Rlc3RzYCBmdW5jdGlvbiBhbGxvd3MgYSBzaW5n
bGUKLWZ1bmN0aW9uIHRvIGJlIGNhbGxlZCB3aXRoIGVhY2ggc2V0IG9mIHBhcmFtZXRlcnMgaW4g
YSBsaXN0OgotCi1gYGBqcwotZ2VuZXJhdGVfdGVzdHModGVzdF9mdW5jdGlvbiwgcGFyYW1ldGVy
X2xpc3RzLCBwcm9wZXJ0aWVzKQotYGBgCi0KLUZvciBleGFtcGxlOgotCi1gYGBqcwotZ2VuZXJh
dGVfdGVzdHMoYXNzZXJ0X2VxdWFscywgWwotICAgIFsiU3VtIG9uZSBhbmQgb25lIiwgMSsxLCAy
XSwKLSAgICBbIlN1bSBvbmUgYW5kIHplcm8iLCAxKzAsIDFdCi0gICAgXSkKLWBgYAotCi1JcyBl
cXVpdmFsZW50IHRvOgotCi1gYGBqcwotdGVzdChmdW5jdGlvbigpIHthc3NlcnRfZXF1YWxzKDEr
MSwgMil9LCAiU3VtIG9uZSBhbmQgb25lIikKLXRlc3QoZnVuY3Rpb24oKSB7YXNzZXJ0X2VxdWFs
cygxKzAsIDEpfSwgIlN1bSBvbmUgYW5kIHplcm8iKQotYGBgCi0KLU5vdGUgdGhhdCB0aGUgZmly
c3QgaXRlbSBpbiBlYWNoIHBhcmFtZXRlciBsaXN0IGNvcnJlc3BvbmRzIHRvIHRoZSBuYW1lIG9m
Ci10aGUgdGVzdC4KLQotVGhlIHByb3BlcnRpZXMgYXJndW1lbnQgaXMgaWRlbnRpY2FsIHRvIHRo
YXQgZm9yIGB0ZXN0KClgLiBUaGlzIG1heSBiZSBhCi1zaW5nbGUgb2JqZWN0ICh1c2VkIGZvciBh
bGwgZ2VuZXJhdGVkIHRlc3RzKSBvciBhbiBhcnJheS4KLQotIyMgQ2FsbGJhY2sgQVBJICMjCi0K
LVRoZSBmcmFtZXdvcmsgcHJvdmlkZXMgY2FsbGJhY2tzIGNvcnJlc3BvbmRpbmcgdG8gNCBldmVu
dHM6Ci0KLSAqIGBzdGFydGAgLSB0cmlnZ2VyZWQgd2hlbiB0aGUgZmlyc3QgVGVzdCBpcyBjcmVh
dGVkCi0gKiBgdGVzdF9zdGF0ZWAgLSB0cmlnZ2VyZWQgd2hlbiBhIHRlc3Qgc3RhdGUgY2hhbmdl
cwotICogYHJlc3VsdGAgLSB0cmlnZ2VyZWQgd2hlbiBhIHRlc3QgcmVzdWx0IGlzIHJlY2VpdmVk
Ci0gKiBgY29tcGxldGVgIC0gdHJpZ2dlcmVkIHdoZW4gYWxsIHJlc3VsdHMgYXJlIHJlY2VpdmVk
Ci0KLVRoZSBwYWdlIGRlZmluaW5nIHRoZSB0ZXN0cyBtYXkgYWRkIGNhbGxiYWNrcyBmb3IgdGhl
c2UgZXZlbnRzIGJ5IGNhbGxpbmcKLXRoZSBmb2xsb3dpbmcgbWV0aG9kczoKLQotICBgYWRkX3N0
YXJ0X2NhbGxiYWNrKGNhbGxiYWNrKWAgLSBjYWxsYmFjayBjYWxsZWQgd2l0aCBubyBhcmd1bWVu
dHMKLQotICBgYWRkX3Rlc3Rfc3RhdGVfY2FsbGJhY2soY2FsbGJhY2spYCAtIGNhbGxiYWNrIGNh
bGxlZCB3aXRoIGEgdGVzdCBhcmd1bWVudAotCi0gIGBhZGRfcmVzdWx0X2NhbGxiYWNrKGNhbGxi
YWNrKWAgLSBjYWxsYmFjayBjYWxsZWQgd2l0aCBhIHRlc3QgYXJndW1lbnQKLQotICBgYWRkX2Nv
bXBsZXRpb25fY2FsbGJhY2soY2FsbGJhY2spYCAtIGNhbGxiYWNrIGNhbGxlZCB3aXRoIGFuIGFy
cmF5IG9mIHRlc3RzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5k
IGEgc3RhdHVzIG9iamVjdAotCi1UZXN0cyBoYXZlIHRoZSBmb2xsb3dpbmcgcHJvcGVydGllczoK
LQotICAqIGBzdGF0dXNgIC0gQSBzdGF0dXMgY29kZS4gVGhpcyBjYW4gYmUgY29tcGFyZWQgdG8g
dGhlIGBQQVNTYCwgYEZBSUxgLAotICAgICAgICAgICAgICAgYFRJTUVPVVRgIGFuZCBgTk9UUlVO
YCBwcm9wZXJ0aWVzIG9uIHRoZSB0ZXN0IG9iamVjdAotCi0gICogYG1lc3NhZ2VgIC0gQSBtZXNz
YWdlIGluZGljYXRpbmcgdGhlIHJlYXNvbiBmb3IgZmFpbHVyZS4gSW4gdGhlIGZ1dHVyZSB0aGlz
Ci0gICAgICAgICAgICAgICAgd2lsbCBhbHdheXMgYmUgYSBzdHJpbmcKLQotIFRoZSBzdGF0dXMg
b2JqZWN0IGdpdmVzIHRoZSBvdmVyYWxsIHN0YXR1cyBvZiB0aGUgaGFybmVzcy4gSXQgaGFzIHRo
ZQotIGZvbGxvd2luZyBwcm9wZXJ0aWVzOgotCi0gKiBgc3RhdHVzYCAtIENhbiBiZSBjb21wYXJl
ZCB0byB0aGUgYE9LYCwgYEVSUk9SYCBhbmQgYFRJTUVPVVRgIHByb3BlcnRpZXMKLQotICogYG1l
c3NhZ2VgIC0gQW4gZXJyb3IgbWVzc2FnZSBzZXQgd2hlbiB0aGUgc3RhdHVzIGlzIGBFUlJPUmAK
LQotIyMgRXh0ZXJuYWwgQVBJICMjCi0KLUluIG9yZGVyIHRvIGNvbGxlY3QgdGhlIHJlc3VsdHMg
b2YgbXVsdGlwbGUgcGFnZXMgY29udGFpbmluZyB0ZXN0cywgdGhlIHRlc3QKLWhhcm5lc3Mgd2ls
bCwgd2hlbiBsb2FkZWQgaW4gYSBuZXN0ZWQgYnJvd3NpbmcgY29udGV4dCwgYXR0ZW1wdCB0byBj
YWxsCi1jZXJ0YWluIGZ1bmN0aW9ucyBpbiBlYWNoIGFuY2VzdG9yIGFuZCBvcGVuZXIgYnJvd3Np
bmcgY29udGV4dDoKLQotICogc3RhcnQgLSBgc3RhcnRfY2FsbGJhY2tgCi0gKiB0ZXN0XF9zdGF0
ZSAtIGB0ZXN0X3N0YXRlX2NhbGxiYWNrYAotICogcmVzdWx0IC0gYHJlc3VsdF9jYWxsYmFja2AK
LSAqIGNvbXBsZXRlIC0gYGNvbXBsZXRpb25fY2FsbGJhY2tgCi0KLVRoZXNlIGFyZSBnaXZlbiB0
aGUgc2FtZSBhcmd1bWVudHMgYXMgdGhlIGNvcnJlc3BvbmRpbmcgaW50ZXJuYWwgY2FsbGJhY2tz
Ci1kZXNjcmliZWQgYWJvdmUuCi0KLSMjIEV4dGVybmFsIEFQSSB0aHJvdWdoIGNyb3NzLWRvY3Vt
ZW50IG1lc3NhZ2luZyAjIwotCi1XaGVyZSBzdXBwb3J0ZWQsIHRoZSB0ZXN0IGhhcm5lc3Mgd2ls
bCBhbHNvIHNlbmQgbWVzc2FnZXMgdXNpbmcgY3Jvc3MtZG9jdW1lbnQKLW1lc3NhZ2luZyB0byBl
YWNoIGFuY2VzdG9yIGFuZCBvcGVuZXIgYnJvd3NpbmcgY29udGV4dC4gU2luY2UgaXQgdXNlcyB0
aGUKLXdpbGRjYXJkIGtleXdvcmQgKFwqKSwgY3Jvc3Mtb3JpZ2luIGNvbW11bmljYXRpb24gaXMg
ZW5hYmxlZCBhbmQgc2NyaXB0IG9uCi1kaWZmZXJlbnQgb3JpZ2lucyBjYW4gY29sbGVjdCB0aGUg
cmVzdWx0cy4KLQotVGhpcyBBUEkgZm9sbG93cyBzaW1pbGFyIGNvbnZlbnRpb25zIGFzIHRob3Nl
IGRlc2NyaWJlZCBhYm92ZSBvbmx5IHNsaWdodGx5Ci1tb2RpZmllZCB0byBhY2NvbW1vZGF0ZSBt
ZXNzYWdlIGV2ZW50IEFQSS4gRWFjaCBtZXNzYWdlIGlzIHNlbnQgYnkgdGhlIGhhcm5lc3MKLWlz
IHBhc3NlZCBhIHNpbmdsZSB2YW5pbGxhIG9iamVjdCwgYXZhaWxhYmxlIGFzIHRoZSBgZGF0YWAg
cHJvcGVydHkgb2YgdGhlIGV2ZW50Ci1vYmplY3QuIFRoZXNlIG9iamVjdHMgYXJlIHN0cnVjdHVy
ZWQgYXMgZm9sbG93czoKLQotICogc3RhcnQgLSBgeyB0eXBlOiAic3RhcnQiIH1gCi0gKiB0ZXN0
XF9zdGF0ZSAtIGB7IHR5cGU6ICJ0ZXN0X3N0YXRlIiwgdGVzdDogVGVzdCB9YAotICogcmVzdWx0
IC0gYHsgdHlwZTogInJlc3VsdCIsIHRlc3Q6IFRlc3QgfWAKLSAqIGNvbXBsZXRlIC0gYHsgdHlw
ZTogImNvbXBsZXRlIiwgdGVzdHM6IFtUZXN0LCAuLi5dLCBzdGF0dXM6IFRlc3RzU3RhdHVzIH1g
Ci0KLSMjIFdlYiBXb3JrZXJzICMjCi0KLVRoZSBgdGVzdGhhcm5lc3MuanNgIHNjcmlwdCBjYW4g
YmUgdXNlZCBmcm9tIHdpdGhpbiBbZGVkaWNhdGVkIHdvcmtlcnMsIHNoYXJlZAotd29ya2Vyc10o
aHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2Uvd29ya2Vycy5odG1sKSBhbmQg
W3NlcnZpY2UKLXdvcmtlcnNdKGh0dHBzOi8vc2xpZ2h0bHlvZmYuZ2l0aHViLmlvL1NlcnZpY2VX
b3JrZXIvc3BlYy9zZXJ2aWNlX3dvcmtlci8pLgotCi1UZXN0aW5nIGZyb20gYSB3b3JrZXIgc2Ny
aXB0IGlzIGRpZmZlcmVudCBmcm9tIHRlc3RpbmcgZnJvbSBhbiBIVE1MIGRvY3VtZW50IGluCi1z
ZXZlcmFsIHdheXM6Ci0KLSogV29ya2VycyBoYXZlIG5vIHJlcG9ydGluZyBjYXBhYmlsaXR5IHNp
bmNlIHRoZXkgYXJlIHJ1bmluZyBpbiB0aGUgYmFja2dyb3VuZC4KLSAgSGVuY2UgdGhleSByZWx5
IG9uIGB0ZXN0aGFybmVzcy5qc2AgcnVubmluZyBpbiBhIGNvbXBhbmlvbiBjbGllbnQgSFRNTCBk
b2N1bWVudAotICBmb3IgcmVwb3J0aW5nLgotCi0qIFNoYXJlZCBhbmQgc2VydmljZSB3b3JrZXJz
IGRvIG5vdCBoYXZlIGEgdW5pcXVlIGNsaWVudCBkb2N1bWVudCBzaW5jZSB0aGVyZQotICBjb3Vs
ZCBiZSBtb3JlIHRoYW4gb25lIGRvY3VtZW50IHRoYXQgY29tbXVuaWNhdGVzIHdpdGggdGhlc2Ug
d29ya2Vycy4gU28gYQotICBjbGllbnQgZG9jdW1lbnQgbmVlZHMgdG8gZXhwbGljaXRseSBjb25u
ZWN0IHRvIGEgd29ya2VyIGFuZCBmZXRjaCB0ZXN0IHJlc3VsdHMKLSAgZnJvbSBpdCB1c2luZyBg
ZmV0Y2hfdGVzdHNfZnJvbV93b3JrZXJgLiBUaGlzIGlzIHRydWUgZXZlbiBmb3IgYSBkZWRpY2F0
ZWQKLSAgd29ya2VyLiBPbmNlIGNvbm5lY3RlZCwgdGhlIGluZGl2aWR1YWwgdGVzdHMgcnVubmlu
ZyBpbiB0aGUgd29ya2VyIChvciB0aG9zZQotICB0aGF0IGhhdmUgYWxyZWFkeSBydW4gdG8gY29t
cGxldGlvbikgd2lsbCBiZSBhdXRvbWF0aWNhbGx5IHJlZmxlY3RlZCBpbiB0aGUKLSAgY2xpZW50
IGRvY3VtZW50LgotCi0qIFRoZSBjbGllbnQgZG9jdW1lbnQgY29udHJvbHMgdGhlIHRpbWVvdXQg
b2YgdGhlIHRlc3RzLiBBbGwgd29ya2VyIHNjcmlwdHMgYWN0Ci0gIGFzIGlmIHRoZXkgd2VyZSBz
dGFydGVkIHdpdGggdGhlIGBleHBsaWNpdF90aW1lb3V0YCBvcHRpb24gKHNlZSB0aGUgW0hhcm5l
c3MKLSAgdGltZW91dF0oI2hhcm5lc3MtdGltZW91dCkgc2VjdGlvbikuCi0KLSogRGVkaWNhdGVk
IGFuZCBzaGFyZWQgd29ya2VycyBkb24ndCBoYXZlIGFuIGVxdWl2YWxlbnQgb2YgYW4gYG9ubG9h
ZGAgZXZlbnQuCi0gIFRodXMgdGhlIHRlc3QgaGFybmVzcyBoYXMgbm8gd2F5IHRvIGtub3cgd2hl
biBhbGwgdGVzdHMgaGF2ZSBjb21wbGV0ZWQgKHNlZQotICBbRGV0ZXJtaW5pbmcgd2hlbiBhbGwg
dGVzdHMgYXJlCi0gIGNvbXBsZXRlXSgjZGV0ZXJtaW5pbmctd2hlbi1hbGwtdGVzdHMtYXJlLWNv
bXBsZXRlKSkuIFNvIHRoZXNlIHdvcmtlciB0ZXN0cwotICBiZWhhdmUgYXMgaWYgdGhleSB3ZXJl
IHN0YXJ0ZWQgd2l0aCB0aGUgYGV4cGxpY2l0X2RvbmVgIG9wdGlvbi4gU2VydmljZQotICB3b3Jr
ZXJzIGRlcGVuZCBvbiB0aGUKLSAgW29uaW5zdGFsbF0oaHR0cHM6Ly9zbGlnaHRseW9mZi5naXRo
dWIuaW8vU2VydmljZVdvcmtlci9zcGVjL3NlcnZpY2Vfd29ya2VyL2luZGV4Lmh0bWwjc2Vydmlj
ZS13b3JrZXItZ2xvYmFsLXNjb3BlLWluc3RhbGwtZXZlbnQpCi0gIGV2ZW50IGFuZCBkb24ndCBy
ZXF1aXJlIGFuIGV4cGxpY2l0IGBkb25lYCBjYWxsLgotCi1IZXJlJ3MgYW4gZXhhbXBsZSB0aGF0
IHVzZXMgYSBkZWRpY2F0ZWQgd29ya2VyLgotCi1gd29ya2VyLmpzYDoKLQotYGBganMKLWltcG9y
dFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLQotdGVzdChmdW5jdGlvbih0
KSB7Ci0gIGFzc2VydF90cnVlKHRydWUsICJ0cnVlIGlzIHRydWUiKTsKLX0sICJTaW1wbGUgdGVz
dCIpOwotCi0vLyBkb25lKCkgaXMgbmVlZGVkIGJlY2F1c2UgdGhlIHRlc3RoYXJuZXNzIGlzIHJ1
bm5pbmcgYXMgaWYgZXhwbGljaXRfZG9uZQotLy8gd2FzIHNwZWNpZmllZC4KLWRvbmUoKTsKLWBg
YAotCi1gdGVzdC5odG1sYDoKLQotYGBgaHRtbAotPCFET0NUWVBFIGh0bWw+Ci08dGl0bGU+U2lt
cGxlIHRlc3Q8L3RpdGxlPgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
Pjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgotPGRpdiBpZD0ibG9nIj48L2Rpdj4KLTxzY3JpcHQ+Ci0KLWZldGNoX3Rlc3Rz
X2Zyb21fd29ya2VyKG5ldyBXb3JrZXIoIndvcmtlci5qcyIpKTsKLQotPC9zY3JpcHQ+Ci1gYGAK
LQotVGhlIGFyZ3VtZW50IHRvIHRoZSBgZmV0Y2hfdGVzdHNfZnJvbV93b3JrZXJgIGZ1bmN0aW9u
IGNhbiBiZSBhCi1bYFdvcmtlcmBdKGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlw
YWdlL3dvcmtlcnMuaHRtbCNkZWRpY2F0ZWQtd29ya2Vycy1hbmQtdGhlLXdvcmtlci1pbnRlcmZh
Y2UpLAotYSBbYFNoYXJlZFdvcmtlcmBdKGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVs
dGlwYWdlL3dvcmtlcnMuaHRtbCNzaGFyZWQtd29ya2Vycy1hbmQtdGhlLXNoYXJlZHdvcmtlci1p
bnRlcmZhY2UpCi1vciBhIFtgU2VydmljZVdvcmtlcmBdKGh0dHBzOi8vc2xpZ2h0bHlvZmYuZ2l0
aHViLmlvL1NlcnZpY2VXb3JrZXIvc3BlYy9zZXJ2aWNlX3dvcmtlci8jc2VydmljZS13b3JrZXIt
b2JqKS4KLU9uY2UgY2FsbGVkLCB0aGUgY29udGFpbmluZyBkb2N1bWVudCBmZXRjaGVzIGFsbCB0
aGUgdGVzdHMgZnJvbSB0aGUgd29ya2VyIGFuZAotYmVoYXZlcyBhcyBpZiB0aG9zZSB0ZXN0cyB3
ZXJlIHJ1bm5pbmcgaW4gdGhlIGNvbnRhaW5pbmcgZG9jdW1lbnQgaXRzZWxmLgotCi0jIyBMaXN0
IG9mIEFzc2VydGlvbnMgIyMKLQotIyMjIGBhc3NlcnRfdHJ1ZShhY3R1YWwsIGRlc2NyaXB0aW9u
KWAKLWFzc2VydHMgdGhhdCBgYWN0dWFsYCBpcyBzdHJpY3RseSB0cnVlCi0KLSMjIyBgYXNzZXJ0
X2ZhbHNlKGFjdHVhbCwgZGVzY3JpcHRpb24pYAotYXNzZXJ0cyB0aGF0IGBhY3R1YWxgIGlzIHN0
cmljdGx5IGZhbHNlCi0KLSMjIyBgYXNzZXJ0X2VxdWFscyhhY3R1YWwsIGV4cGVjdGVkLCBkZXNj
cmlwdGlvbilgCi1hc3NlcnRzIHRoYXQgYGFjdHVhbGAgaXMgdGhlIHNhbWUgdmFsdWUgYXMgYGV4
cGVjdGVkYAotCi0jIyMgYGFzc2VydF9ub3RfZXF1YWxzKGFjdHVhbCwgZXhwZWN0ZWQsIGRlc2Ny
aXB0aW9uKWAKLWFzc2VydHMgdGhhdCBgYWN0dWFsYCBpcyBhIGRpZmZlcmVudCB2YWx1ZSB0byBg
ZXhwZWN0ZWRgLgotVGhpcyBtZWFucyB0aGF0IGBleHBlY3RlZGAgaXMgYSBtaXNub21lci4KLQot
IyMjIGBhc3NlcnRfaW5fYXJyYXkoYWN0dWFsLCBleHBlY3RlZCwgZGVzY3JpcHRpb24pYAotYXNz
ZXJ0cyB0aGF0IGBleHBlY3RlZGAgaXMgYW4gQXJyYXksIGFuZCBgYWN0dWFsYCBpcyBlcXVhbCB0
byBvbmUgb2YgdGhlCi1tZW1iZXJzIGkuZS4gYGV4cGVjdGVkLmluZGV4T2YoYWN0dWFsKSAhPSAt
MWAKLQotIyMjIGBhc3NlcnRfYXJyYXlfZXF1YWxzKGFjdHVhbCwgZXhwZWN0ZWQsIGRlc2NyaXB0
aW9uKWAKLWFzc2VydHMgdGhhdCBgYWN0dWFsYCBhbmQgYGV4cGVjdGVkYCBoYXZlIHRoZSBzYW1l
Ci1sZW5ndGggYW5kIHRoZSB2YWx1ZSBvZiBlYWNoIGluZGV4ZWQgcHJvcGVydHkgaW4gYGFjdHVh
bGAgaXMgdGhlIHN0cmljdGx5IGVxdWFsCi10byB0aGUgY29ycmVzcG9uZGluZyBwcm9wZXJ0eSB2
YWx1ZSBpbiBgZXhwZWN0ZWRgCi0KLSMjIyBgYXNzZXJ0X2FwcHJveF9lcXVhbHMoYWN0dWFsLCBl
eHBlY3RlZCwgZXBzaWxvbiwgZGVzY3JpcHRpb24pYAotYXNzZXJ0cyB0aGF0IGBhY3R1YWxgIGlz
IGEgbnVtYmVyIHdpdGhpbiDCsWBlcHNpbG9uYCBvZiBgZXhwZWN0ZWRgCi0KLSMjIyBgYXNzZXJ0
X2xlc3NfdGhhbihhY3R1YWwsIGV4cGVjdGVkLCBkZXNjcmlwdGlvbilgCi1hc3NlcnRzIHRoYXQg
YGFjdHVhbGAgaXMgYSBudW1iZXIgbGVzcyB0aGFuIGBleHBlY3RlZGAKLQotIyMjIGBhc3NlcnRf
Z3JlYXRlcl90aGFuKGFjdHVhbCwgZXhwZWN0ZWQsIGRlc2NyaXB0aW9uKWAKLWFzc2VydHMgdGhh
dCBgYWN0dWFsYCBpcyBhIG51bWJlciBncmVhdGVyIHRoYW4gYGV4cGVjdGVkYAotCi0jIyMgYGFz
c2VydF9iZXR3ZWVuX2V4Y2x1c2l2ZShhY3R1YWwsIGxvd2VyLCB1cHBlciwgZGVzY3JpcHRpb25g
Ci1hc3NlcnRzIHRoYXQgYGFjdHVhbGAgaXMgYSBudW1iZXIgYmV0d2VlbiBgbG93ZXJgIGFuZCBg
dXBwZXJgIGJ1dCBub3QKLWVxdWFsIHRvIGVpdGhlciBvZiB0aGVtCi0KLSMjIyBgYXNzZXJ0X2xl
c3NfdGhhbl9lcXVhbChhY3R1YWwsIGV4cGVjdGVkLCBkZXNjcmlwdGlvbilgCi1hc3NlcnRzIHRo
YXQgYGFjdHVhbGAgaXMgYSBudW1iZXIgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIGBleHBlY3RlZGAK
LQotIyMjIGBhc3NlcnRfZ3JlYXRlcl90aGFuX2VxdWFsKGFjdHVhbCwgZXhwZWN0ZWQsIGRlc2Ny
aXB0aW9uKWAKLWFzc2VydHMgdGhhdCBgYWN0dWFsYCBpcyBhIG51bWJlciBncmVhdGVyIHRoYW4g
b3IgZXF1YWwgdG8gYGV4cGVjdGVkYAotCi0jIyMgYGFzc2VydF9iZXR3ZWVuX2luY2x1c2l2ZShh
Y3R1YWwsIGxvd2VyLCB1cHBlciwgZGVzY3JpcHRpb25gCi1hc3NlcnRzIHRoYXQgYGFjdHVhbGAg
aXMgYSBudW1iZXIgYmV0d2VlbiBgbG93ZXJgIGFuZCBgdXBwZXJgIG9yCi1lcXVhbCB0byBlaXRo
ZXIgb2YgdGhlbQotCi0jIyMgYGFzc2VydF9yZWdleHBfbWF0Y2goYWN0dWFsLCBleHBlY3RlZCwg
ZGVzY3JpcHRpb24pYAotYXNzZXJ0cyB0aGF0IGBhY3R1YWxgIG1hdGNoZXMgdGhlIHJlZ2V4cCBg
ZXhwZWN0ZWRgCi0KLSMjIyBgYXNzZXJ0X2NsYXNzX3N0cmluZyhvYmplY3QsIGNsYXNzX25hbWUs
IGRlc2NyaXB0aW9uKWAKLWFzc2VydHMgdGhhdCB0aGUgY2xhc3Mgc3RyaW5nIG9mIGBvYmplY3Rg
IGFzIHJldHVybmVkIGluCi1gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZ2AgaXMgZXF1YWwgdG8g
YGNsYXNzX25hbWVgLgotCi0jIyMgYGFzc2VydF9vd25fcHJvcGVydHkob2JqZWN0LCBwcm9wZXJ0
eV9uYW1lLCBkZXNjcmlwdGlvbilgCi1hc3NlcnQgdGhhdCBvYmplY3QgaGFzIG93biBwcm9wZXJ0
eSBgcHJvcGVydHlfbmFtZWAKLQotIyMjIGBhc3NlcnRfaW5oZXJpdHMob2JqZWN0LCBwcm9wZXJ0
eV9uYW1lLCBkZXNjcmlwdGlvbilgCi1hc3NlcnQgdGhhdCBvYmplY3QgZG9lcyBub3QgaGF2ZSBh
biBvd24gcHJvcGVydHkgbmFtZWQKLWBwcm9wZXJ0eV9uYW1lYCBidXQgdGhhdCBgcHJvcGVydHlf
bmFtZWAgaXMgcHJlc2VudCBpbiB0aGUgcHJvdG90eXBlCi1jaGFpbiBmb3Igb2JqZWN0Ci0KLSMj
IyBgYXNzZXJ0X2lkbF9hdHRyaWJ1dGUob2JqZWN0LCBhdHRyaWJ1dGVfbmFtZSwgZGVzY3JpcHRp
b24pYAotYXNzZXJ0IHRoYXQgYW4gb2JqZWN0IHRoYXQgaXMgYW4gaW5zdGFuY2Ugb2Ygc29tZSBp
bnRlcmZhY2UgaGFzIHRoZQotYXR0cmlidXRlIGF0dHJpYnV0ZV9uYW1lIGZvbGxvd2luZyB0aGUg
Y29uZGl0aW9ucyBzcGVjaWZpZWQgYnkgV2ViSURMCi0KLSMjIyBgYXNzZXJ0X3JlYWRvbmx5KG9i
amVjdCwgcHJvcGVydHlfbmFtZSwgZGVzY3JpcHRpb24pYAotYXNzZXJ0IHRoYXQgcHJvcGVydHkg
YHByb3BlcnR5X25hbWVgIG9uIG9iamVjdCBpcyByZWFkb25seQotCi0jIyMgYGFzc2VydF90aHJv
d3MoY29kZSwgZnVuYywgZGVzY3JpcHRpb24pYAotYGNvZGVgIC0gdGhlIGV4cGVjdGVkIGV4Y2Vw
dGlvbi4gVGhpcyBjYW4gdGFrZSBzZXZlcmFsIGZvcm1zOgotCi0gICogc3RyaW5nIC0gdGhlIHRo
cm93biBleGNlcHRpb24gbXVzdCBiZSBhIERPTUV4Y2VwdGlvbiB3aXRoIHRoZSBnaXZlbgotICAg
ICAgICAgICAgIG5hbWUsIGUuZy4sICJUaW1lb3V0RXJyb3IiIChmb3IgY29tcGF0aWJpbGl0eSB3
aXRoIGV4aXN0aW5nCi0gICAgICAgICAgICAgdGVzdHMsIGEgY29uc3RhbnQgaXMgYWxzbyBzdXBw
b3J0ZWQsIGUuZy4sICJUSU1FT1VUX0VSUiIpCi0gICogb2JqZWN0IC0gdGhlIHRocm93biBleGNl
cHRpb24gbXVzdCBoYXZlIGEgcHJvcGVydHkgY2FsbGVkICJuYW1lIiB0aGF0Ci0gICAgICAgICAg
ICAgbWF0Y2hlcyBjb2RlLm5hbWUKLSAgKiBudWxsIC0gICBhbGxvdyBhbnkgZXhjZXB0aW9uIChp
biBnZW5lcmFsLCBvbmUgb2YgdGhlIG9wdGlvbnMgYWJvdmUKLSAgICAgICAgICAgICBzaG91bGQg
YmUgdXNlZCkKLQotYGZ1bmNgIC0gYSBmdW5jdGlvbiB0aGF0IHNob3VsZCB0aHJvdwotCi0jIyMg
YGFzc2VydF91bnJlYWNoZWQoZGVzY3JpcHRpb24pYAotYXNzZXJ0cyBpZiBjYWxsZWQuIFVzZWQg
dG8gZW5zdXJlIHRoYXQgc29tZSBjb2RlcGF0aCBpcyAqbm90KiB0YWtlbiBlLmcuCi1hbiBldmVu
dCBkb2VzIG5vdCBmaXJlLgotCi0jIyMgYGFzc2VydF9hbnkoYXNzZXJ0X2Z1bmMsIGFjdHVhbCwg
ZXhwZWN0ZWRfYXJyYXksIGV4dHJhX2FyZ18xLCAuLi4gZXh0cmFfYXJnX04pYAotYXNzZXJ0cyB0
aGF0IG9uZSBgYXNzZXJ0X2Z1bmMoYWN0dWFsLCBleHBlY3RlZF9hcnJheV9OLCBleHRyYV9hcmcx
LCAuLi4sIGV4dHJhX2FyZ19OKWAKLSAgaXMgdHJ1ZSBmb3Igc29tZSBgZXhwZWN0ZWRfYXJyYXlf
TmAgaW4gYGV4cGVjdGVkX2FycmF5YC4gVGhpcyBvbmx5IHdvcmtzIGZvciBgYXNzZXJ0X2Z1bmNg
Ci0gIHdpdGggc2lnbmF0dXJlIGBhc3NlcnRfZnVuYyhhY3R1YWwsIGV4cGVjdGVkLCBhcmdzXzEs
IC4uLiwgYXJnc19OKWAuIE5vdGUgdGhhdCB0ZXN0cwotICB3aXRoIG11bHRpcGxlIGFsbG93ZWQg
cGFzcyBjb25kaXRpb25zIGFyZSBiYWQgcHJhY3RpY2UgdW5sZXNzIHRoZSBzcGVjIHNwZWNpZmlj
YWxseQotICBhbGxvd3MgbXVsdGlwbGUgYmVoYXZpb3Vycy4gVGVzdCBhdXRob3JzIHNob3VsZCBu
b3QgdXNlIHRoaXMgbWV0aG9kIHNpbXBseSB0byBoaWRlCi0gIFVBIGJ1Z3MuCi0KLSMjIyBgYXNz
ZXJ0X2V4aXN0cyhvYmplY3QsIHByb3BlcnR5X25hbWUsIGRlc2NyaXB0aW9uKWAKLSoqZGVwcmVj
YXRlZCoqCi1hc3NlcnRzIHRoYXQgb2JqZWN0IGhhcyBhbiBvd24gcHJvcGVydHkgYHByb3BlcnR5
X25hbWVgCi0KLSMjIyBgYXNzZXJ0X25vdF9leGlzdHMob2JqZWN0LCBwcm9wZXJ0eV9uYW1lLCBk
ZXNjcmlwdGlvbilgCi0qKmRlcHJlY2F0ZWQqKgotYXNzZXJ0IHRoYXQgb2JqZWN0IGRvZXMgbm90
IGhhdmUgb3duIHByb3BlcnR5IGBwcm9wZXJ0eV9uYW1lYAotCi0jIyBNZXRhZGF0YSAjIwotCi1J
dCBpcyBwb3NzaWJsZSB0byBhZGQgb3B0aW9uYWwgbWV0YWRhdGEgdG8gdGVzdHM7IHRoaXMgY2Fu
IGJlIGRvbmUgaW4KLW9uZSBvZiB0d28gd2F5czsgZWl0aGVyIGJ5IGFkZGluZyBgPG1ldGE+YCBl
bGVtZW50cyB0byB0aGUgaGVhZCBvZiB0aGUKLWRvY3VtZW50IGNvbnRhaW5pbmcgdGhlIHRlc3Rz
LCBvciBieSBhZGRpbmcgdGhlIG1ldGFkYXRhIHRvIGluZGl2aWR1YWwKLWBbYXN5bmNfXXRlc3Rg
IGNhbGxzLCBhcyBwcm9wZXJ0aWVzLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZG9jcy9pZGxoYXJuZXNzLm1kIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZG9jcy9p
ZGxoYXJuZXNzLm1kCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxNDEwNzdiM2E3Mi4u
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvZG9jcy9pZGxoYXJuZXNzLm1kCisrKyAvZGV2L251bGwKQEAgLTEsMTI4
ICswLDAgQEAKLSMjIEludHJvZHVjdGlvbiAjIwotCi1gaWRsaGFybmVzcy5qc2AgYXV0b21hdGlj
YWxseSBnZW5lcmF0ZXMgYnJvd3NlciB0ZXN0cyBmb3IgV2ViSURMIGludGVyZmFjZXMsIHVzaW5n
Ci10aGUgdGVzdGhhcm5lc3MuanMgZnJhbWV3b3JrLiAgVG8gdXNlLCBmaXJzdCBpbmNsdWRlIHRo
ZSBmb2xsb3dpbmc6Ci0KLWBgYGh0bWwKLTxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanM+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9L3Jlc291cmNlcy9XZWJJRExQYXJzZXIuanM+PC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0vcmVzb3VyY2VzL2lkbGhhcm5lc3MuanM+PC9zY3JpcHQ+Ci1g
YGAKLQotVGhlbiB5b3UnbGwgbmVlZCBzb21lIHR5cGUgb2YgSURMcy4gIEhlcmUncyBzb21lIHNj
cmlwdCB0aGF0IGNhbiBiZSBydW4gb24gYQotc3BlYyB3cml0dGVuIGluIEhUTUwsIHdoaWNoIHdp
bGwgZ3JhYiBhbGwgdGhlIGVsZW1lbnRzIHdpdGggYGNsYXNzPSJpZGwiYCwKLWNvbmNhdGVuYXRl
IHRoZW0sIGFuZCByZXBsYWNlIHRoZSBib2R5IHNvIHlvdSBjYW4gY29weS1wYXN0ZToKLQotYGBg
anMKLXZhciBzID0gIiI7Ci1bXS5mb3JFYWNoLmNhbGwoZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNs
YXNzTmFtZSgiaWRsIiksIGZ1bmN0aW9uKGlkbCkgewotICAvL2h0dHBzOi8vd3d3LnczLm9yZy9C
dWdzL1B1YmxpYy9zaG93X2J1Zy5jZ2k/aWQ9MTQ5MTQKLSAgaWYgKCFpZGwuY2xhc3NMaXN0LmNv
bnRhaW5zKCJleHRyYWN0IikpCi0gIHsKLSAgICBzICs9IGlkbC50ZXh0Q29udGVudCArICJcblxu
IjsKLSAgfQotfSk7Ci1kb2N1bWVudC5ib2R5LmlubmVySFRNTCA9ICc8cHJlPjwvcHJlPic7Ci1k
b2N1bWVudC5ib2R5LmZpcnN0Q2hpbGQudGV4dENvbnRlbnQgPSBzOwotYGBgCi0KLU9uY2UgeW91
IGhhdmUgdGhhdCwgcHV0IGl0IGluIHlvdXIgc2NyaXB0IHNvbWVob3cuICBUaGUgZWFzaWVzdCB3
YXkgaXMgdG8KLWVtYmVkIGl0IGxpdGVyYWxseSBpbiBhbiBIVE1MIGZpbGUgd2l0aCBgPHNjcmlw
dCB0eXBlPXRleHQvcGxhaW4+YCBvciBzaW1pbGFyLAotc28gdGhhdCB5b3UgZG9uJ3QgaGF2ZSB0
byBkbyBhbnkgZXNjYXBpbmcuICBBbm90aGVyIHBvc3NpYmlsaXR5IGlzIHRvIHB1dCBpdAotaW4g
YSBzZXBhcmF0ZSAuaWRsIGZpbGUgdGhhdCdzIGZldGNoZWQgdmlhIFhIUiBvciBzaW1pbGFyLiAg
U2FtcGxlIHVzYWdlOgotCi1gYGBqcwotdmFyIGlkbF9hcnJheSA9IG5ldyBJZGxBcnJheSgpOwot
aWRsX2FycmF5LmFkZF91bnRlc3RlZF9pZGxzKCJpbnRlcmZhY2UgTm9kZSB7IHJlYWRvbmx5IGF0
dHJpYnV0ZSBET01TdHJpbmcgbm9kZU5hbWU7IH07Iik7Ci1pZGxfYXJyYXkuYWRkX2lkbHMoImlu
dGVyZmFjZSBEb2N1bWVudCA6IE5vZGUgeyByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIFVS
TDsgfTsiKTsKLWlkbF9hcnJheS5hZGRfb2JqZWN0cyh7RG9jdW1lbnQ6IFsiZG9jdW1lbnQiXX0p
OwotaWRsX2FycmF5LnRlc3QoKTsKLWBgYAotCi1UaGlzIHRlc3RzIHRoYXQgYHdpbmRvdy5Eb2N1
bWVudGAgZXhpc3RzIGFuZCBtZWV0cyBhbGwgdGhlIHJlcXVpcmVtZW50cyBvZgotV2ViSURMLiAg
SXQgYWxzbyB0ZXN0cyB0aGF0IHdpbmRvdy5kb2N1bWVudCAodGhlIHJlc3VsdCBvZiBldmFsdWF0
aW5nIHRoZQotc3RyaW5nICJkb2N1bWVudCIpIGhhcyBVUkwgYW5kIG5vZGVOYW1lIHByb3BlcnRp
ZXMgdGhhdCBiZWhhdmUgYXMgdGhleQotc2hvdWxkLCBhbmQgb3RoZXJ3aXNlIG1lZXRzIFdlYklE
TCdzIHJlcXVpcmVtZW50cyBmb3IgYW4gb2JqZWN0IHdob3NlCi1wcmltYXJ5IGludGVyZmFjZSBp
cyBEb2N1bWVudC4gIEl0IGRvZXMgbm90IHRlc3QgdGhhdCB3aW5kb3cuTm9kZSBleGlzdHMsCi13
aGljaCBpcyB3aGF0IHlvdSB3YW50IGlmIHRoZSBOb2RlIGludGVyZmFjZSBpcyBhbHJlYWR5IHRl
c3RlZCBpbiBzb21lIG90aGVyCi1zcGVjaWZpY2F0aW9uJ3Mgc3VpdGUgYW5kIHlvdXIgc3BlY2lm
aWNhdGlvbiBvbmx5IGV4dGVuZHMgb3IgcmVmZXJzIHRvIGl0LgotT2YgY291cnNlLCBlYWNoIElE
TCBzdHJpbmcgY2FuIGRlZmluZSBtYW55IGRpZmZlcmVudCB0aGluZ3MsIGFuZCBjYWxscyB0bwot
YWRkX29iamVjdHMoKSBjYW4gcmVnaXN0ZXIgbWFueSBkaWZmZXJlbnQgb2JqZWN0cyBmb3IgZGlm
ZmVyZW50IGludGVyZmFjZXM6Ci10aGlzIGlzIGEgdmVyeSBzaW1wbGUgZXhhbXBsZS4KLQotIyMg
UHVibGljIG1ldGhvZHMgb2YgSWRsQXJyYXkgIyMKLQotSWRsQXJyYXkgb2JqZWN0cyBjYW4gYmUg
b2J0YWluZWQgd2l0aCBgbmV3IElkbEFycmF5KClgLiAgQW55dGhpbmcgbm90Ci1kb2N1bWVudGVk
IGluIHRoaXMgc2VjdGlvbiBzaG91bGQgYmUgY29uc2lkZXJlZCBhbiBpbXBsZW1lbnRhdGlvbiBk
ZXRhaWwsCi1hbmQgb3V0c2lkZSBjYWxsZXJzIHNob3VsZCBub3QgdXNlIGl0LgotCi0jIyMgYGFk
ZF9pZGxzKGlkbF9zdHJpbmcpYAotICBQYXJzZXMgYGlkbF9zdHJpbmdgICh0aHJvd2luZyBvbiBw
YXJzZSBlcnJvcikgYW5kIGFkZHMgdGhlIHJlc3VsdHMgdG8gdGhlCi0gIElkbEFycmF5LiAgQWxs
IHRoZSBkZWZpbml0aW9ucyB3aWxsIGJlIHRlc3RlZCB3aGVuIHlvdSBydW4gdGVzdCgpLiAgSWYK
LSAgc29tZSBvZiB0aGUgZGVmaW5pdGlvbnMgcmVmZXIgdG8gb3RoZXIgZGVmaW5pdGlvbnMsIHRo
b3NlIG11c3QgYmUgcHJlc2VudAotICB0b28uICBGb3IgaW5zdGFuY2UsIGlmIGBpZGxfc3RyaW5n
YCBzYXlzIHRoYXQgYERvY3VtZW50YCBpbmhlcml0cyBmcm9tIGBOb2RlYCwKLSAgdGhlIGBOb2Rl
YCBpbnRlcmZhY2UgbXVzdCBhbHNvIGhhdmUgYmVlbiBwcm92aWRlZCBpbiBzb21lIGNhbGwgdG8g
YGFkZF9pZGxzKClgCi0gIG9yIGBhZGRfdW50ZXN0ZWRfaWRscygpYC4KLQotIyMjIGBhZGRfdW50
ZXN0ZWRfaWRscyhpZGxfc3RyaW5nKWAKLSAgTGlrZSBgYWRkX2lkbHMoKWAsIGJ1dCB0aGUgZGVm
aW5pdGlvbnMgd2lsbCBub3QgYmUgdGVzdGVkLiAgSWYgYW4gdW50ZXN0ZWQKLSAgaW50ZXJmYWNl
IGlzIGFkZGVkIGFuZCB0aGVuIGV4dGVuZGVkIHdpdGggYSB0ZXN0ZWQgcGFydGlhbCBpbnRlcmZh
Y2UsIHRoZQotICBtZW1iZXJzIG9mIHRoZSBwYXJ0aWFsIGludGVyZmFjZSB3aWxsIHN0aWxsIGJl
IHRlc3RlZC4gIEFsc28sIGFsbCB0aGUKLSAgbWVtYmVycyB3aWxsIHN0aWxsIGJlIHRlc3RlZCBm
b3Igb2JqZWN0cyBhZGRlZCB3aXRoIGBhZGRfb2JqZWN0cygpYCwgYmVjYXVzZQotICB5b3UgcHJv
YmFibHkgd2FudCB0byB0ZXN0IHRoYXQgKGZvciBpbnN0YW5jZSkgd2luZG93LmRvY3VtZW50IGhh
cyBhbGwgdGhlCi0gIHByb3BlcnRpZXMgZnJvbSBgTm9kZWAsIG5vdCBqdXN0IGBEb2N1bWVudGAs
IGV2ZW4gaWYgdGhlIGBOb2RlYCBpbnRlcmZhY2UgaXRzZWxmCi0gIGlzIHRlc3RlZCBpbiBhIGRp
ZmZlcmVudCB0ZXN0IHN1aXRlLgotCi0jIyMgYGFkZF9vYmplY3RzKGRpY3QpYAotICBgZGljdGAg
c2hvdWxkIGJlIGFuIG9iamVjdCB3aG9zZSBrZXlzIGFyZSB0aGUgbmFtZXMgb2YgaW50ZXJmYWNl
cyBvcgotICBleGNlcHRpb25zLCBhbmQgd2hvc2UgdmFsdWVzIGFyZSBhcnJheXMgb2Ygc3RyaW5n
cy4gIFdoZW4gYW4gaW50ZXJmYWNlIG9yCi0gIGV4Y2VwdGlvbiBpcyB0ZXN0ZWQsIGV2ZXJ5IHN0
cmluZyByZWdpc3RlcmVkIGZvciBpdCB3aXRoIGBhZGRfb2JqZWN0cygpYAotICB3aWxsIGJlIGV2
YWx1YXRlZCwgYW5kIHRlc3RzIHdpbGwgYmUgcnVuIG9uIHRoZSByZXN1bHQgdG8gdmVyaWZ5IHRo
YXQgaXQKLSAgY29ycmVjdGx5IGltcGxlbWVudHMgdGhhdCBpbnRlcmZhY2Ugb3IgZXhjZXB0aW9u
LiAgVGhpcyBpcyB0aGUgb25seSB3YXkgdG8KLSAgdGVzdCBhbnl0aGluZyBhYm91dCBgW05vSW50
ZXJmYWNlT2JqZWN0XWAgaW50ZXJmYWNlcywgYW5kIHRoZXJlIGFyZSBtYW55Ci0gIHRlc3RzIHRo
YXQgY2FuJ3QgYmUgcnVuIG9uIGFueSBpbnRlcmZhY2Ugd2l0aG91dCBhbiBvYmplY3QgdG8gZmlk
ZGxlIHdpdGguCi0KLSAgVGhlIGludGVyZmFjZSBoYXMgdG8gYmUgdGhlICpwcmltYXJ5KiBpbnRl
cmZhY2Ugb2YgYWxsIHRoZSBvYmplY3RzCi0gIHByb3ZpZGVkLiAgRm9yIGV4YW1wbGUsIGRvbid0
IHBhc3MgYHtOb2RlOiBbImRvY3VtZW50Il19YCwgYnV0IHJhdGhlcgotICBge0RvY3VtZW50OiBb
ImRvY3VtZW50Il19YC4gIEFzc3VtaW5nIHRoZSBgRG9jdW1lbnRgIGludGVyZmFjZSB3YXMgZGVj
bGFyZWQgdG8KLSAgaW5oZXJpdCBmcm9tIGBOb2RlYCwgdGhpcyB3aWxsIGF1dG9tYXRpY2FsbHkg
dGVzdCB0aGF0IGRvY3VtZW50IGltcGxlbWVudHMKLSAgdGhlIGBOb2RlYCBpbnRlcmZhY2UgdG9v
LgotCi0gIFdhcm5pbmc6IG1ldGhvZHMgd2lsbCBiZSBjYWxsZWQgb24gYW55IHByb3ZpZGVkIG9i
amVjdHMsIGluIGEgbWFubmVyIHRoYXQKLSAgV2ViSURMIHJlcXVpcmVzIGJlIHNhZmUuICBGb3Ig
aW5zdGFuY2UsIGlmIGEgbWV0aG9kIGhhcyBtYW5kYXRvcnkKLSAgYXJndW1lbnRzLCB0aGUgdGVz
dCBzdWl0ZSB3aWxsIHRyeSBjYWxsaW5nIGl0IHdpdGggdG9vIGZldyBhcmd1bWVudHMgdG8KLSAg
c2VlIGlmIGl0IHRocm93cyBhbiBleGNlcHRpb24uICBJZiBhbiBpbXBsZW1lbnRhdGlvbiBpbmNv
cnJlY3RseSBydW5zIHRoZQotICBmdW5jdGlvbiBpbnN0ZWFkIG9mIHRocm93aW5nLCB0aGlzIG1p
Z2h0IGhhdmUgc2lkZSBlZmZlY3RzLCBwb3NzaWJseSBldmVuCi0gIHByZXZlbnRpbmcgdGhlIHRl
c3Qgc3VpdGUgZnJvbSBydW5uaW5nIGNvcnJlY3RseS4KLQotIyMjIGBwcmV2ZW50X211bHRpcGxl
X3Rlc3RpbmcobmFtZSlgCi0gIFRoaXMgaXMgYSBuaWNoZSBtZXRob2QgZm9yIHVzZSBpbiBjYXNl
IHlvdSdyZSB0ZXN0aW5nIG1hbnkgb2JqZWN0cyB0aGF0Ci0gIGltcGxlbWVudCB0aGUgc2FtZSBp
bnRlcmZhY2VzLCBhbmQgZG9uJ3Qgd2FudCB0byByZXRlc3QgdGhlIHNhbWUKLSAgaW50ZXJmYWNl
cyBldmVyeSBzaW5nbGUgdGltZS4gIEZvciBpbnN0YW5jZSwgSFRNTCBkZWZpbmVzIG1hbnkgaW50
ZXJmYWNlcwotICB0aGF0IGFsbCBpbmhlcml0IGZyb20gYEhUTUxFbGVtZW50YCwgc28gdGhlIEhU
TUwgdGVzdCBzdWl0ZSBoYXMgc29tZXRoaW5nCi0gIGxpa2UKLQotYGBganMKLS5hZGRfb2JqZWN0
cyh7Ci0gIEhUTUxIdG1sRWxlbWVudDogWydkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQnXSwKLSAg
SFRNTEhlYWRFbGVtZW50OiBbJ2RvY3VtZW50LmhlYWQnXSwKLSAgSFRNTEJvZHlFbGVtZW50OiBb
J2RvY3VtZW50LmJvZHknXSwKLSAgLi4uCi19KQotYGBgCi0KLSAgYW5kIHNvIG9uIGZvciBkb3pl
bnMgb2YgZWxlbWVudCB0eXBlcy4gIFRoaXMgd291bGQgbWVhbiB0aGF0IGl0IHdvdWxkCi0gIHJl
dGVzdCB0aGF0IGVhY2ggYW5kIGV2ZXJ5IG9uZSBvZiB0aG9zZSBlbGVtZW50cyBpbXBsZW1lbnRz
IGBIVE1MRWxlbWVudGAsCi0gIGBFbGVtZW50YCwgYW5kIGBOb2RlYCwgd2hpY2ggd291bGQgYmUg
dGhvdXNhbmRzIG9mIGJhc2ljYWxseSByZWR1bmRhbnQgdGVzdHMuCi0gIFRoZSB0ZXN0IHN1aXRl
IHRoZXJlZm9yZSBjYWxscyBgcHJldmVudF9tdWx0aXBsZV90ZXN0aW5nKCJIVE1MRWxlbWVudCIp
YC4KLSAgVGhpcyBtZWFucyB0aGF0IG9uY2Ugb25lIG9iamVjdCBoYXMgYmVlbiB0ZXN0ZWQgdG8g
aW1wbGVtZW50IGBIVE1MRWxlbWVudGAKLSAgYW5kIGl0cyBhbmNlc3RvcnMsIG5vIG90aGVyIG9i
amVjdCB3aWxsIGJlLiAgVGh1cyBpbiB0aGUgZXhhbXBsZSBjb2RlCi0gIGFib3ZlLCB0aGUgaGFy
bmVzcyB3b3VsZCB0ZXN0IHRoYXQgYGRvY3VtZW50LmRvY3VtZW50RWxlbWVudGAgY29ycmVjdGx5
Ci0gIGltcGxlbWVudHMgYEhUTUxIdG1sRWxlbWVudGAsIGBIVE1MRWxlbWVudGAsIGBFbGVtZW50
YCwgYW5kIGBOb2RlYDsgYnV0Ci0gIGBkb2N1bWVudC5oZWFkYCB3b3VsZCBvbmx5IGJlIHRlc3Rl
ZCBmb3IgYEhUTUxIZWFkRWxlbWVudGAsIGFuZCBzbyBvbiBmb3IKLSAgZnVydGhlciBvYmplY3Rz
LgotCi0jIyMgYHRlc3QoKWAKLSAgUnVuIGFsbCB0ZXN0cy4gIFRoaXMgc2hvdWxkIGJlIGNhbGxl
ZCBhZnRlciB5b3UndmUgY2FsbGVkIGFsbCBvdGhlcgotICBtZXRob2RzIHRvIGFkZCBJRExzIGFu
ZCBvYmplY3RzLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZG9jcy93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2RvY3MvdzNjLWltcG9ydC5s
b2cKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDk3ZGJlZTNmNDJhLi4wMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy9kb2NzL3czYy1pbXBvcnQubG9nCisrKyAvZGV2L251bGwKQEAgLTEsMTkgKzAsMCBAQAot
VGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJl
cG9zaXRvcnkuCi1EbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4K
LUluc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgVzNDIENTUyBvciBXUFQgZ2l0
aHViOgotCWh0dHBzOi8vZ2l0aHViLmNvbS93M2MvY3Nzd2ctdGVzdAotCWh0dHBzOi8vZ2l0aHVi
LmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCi0KLVRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRz
L2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0Ci0KLURvIE5PVCBtb2RpZnkg
b3IgcmVtb3ZlIHRoaXMgZmlsZS4KLQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1Qcm9wZXJ0aWVzIHJlcXVp
cmluZyB2ZW5kb3IgcHJlZml4ZXM6Ci1Ob25lCi1Qcm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5nIHZl
bmRvciBwcmVmaXhlczoKLU5vbmUKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotTGlzdCBvZiBmaWxlczoKLS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9kb2Nz
L2FwaS5tZAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL2RvY3MvaWRsaGFybmVzcy5tZApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2FtcGxlLWVy
cm9yLXdvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBsZS1lcnJvci13b3JrZXIuanMKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDliZmUwYTZmMzQzLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9leGFtcGxl
cy9hcGlzYW1wbGUtZXJyb3Itd29ya2VyLmpzCisrKyAvZGV2L251bGwKQEAgLTEsMyArMCwwIEBA
Ci1pbXBvcnRTY3JpcHRzKCIuLi90ZXN0aGFybmVzcy5qcyIpOwotCi10aHJvdyBuZXcgRXJyb3Io
IlRoaXMgZmFpbHVyZSBpcyBleHBlY3RlZC4iKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBs
ZS13b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy9leGFtcGxlcy9hcGlzYW1wbGUtd29ya2VyLmpzCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCBiMWQwODYzMTRjYy4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2Ft
cGxlLXdvcmtlci5qcworKysgL2Rldi9udWxsCkBAIC0xLDM0ICswLDAgQEAKLWltcG9ydFNjcmlw
dHMoIi4uL3Rlc3RoYXJuZXNzLmpzIik7Ci0KLXRlc3QoCi0gICAgZnVuY3Rpb24odGVzdCkgewot
ICAgICAgICBhc3NlcnRfdHJ1ZSh0cnVlLCAiVHJ1ZSBpcyB0cnVlIik7Ci0gICAgfSwKLSAgICAi
V29ya2VyIHRlc3QgdGhhdCBjb21wbGV0ZXMgc3VjY2Vzc2Z1bGx5Iik7Ci0KLXRlc3QoCi0gICAg
ZnVuY3Rpb24odGVzdCkgewotICAgICAgICBhc3NlcnRfdHJ1ZShmYWxzZSwgIkZhaWxpbmcgdGVz
dCIpOwotICAgIH0sCi0gICAgIldvcmtlciB0ZXN0IHRoYXQgZmFpbHMgKCdGQUlMJykiKTsKLQot
YXN5bmNfdGVzdCgKLSAgICBmdW5jdGlvbih0ZXN0KSB7Ci0gICAgICAgIGFzc2VydF90cnVlKHRy
dWUsICJUcnVlIGlzIHRydWUiKTsKLSAgICB9LAotICAgICJXb3JrZXIgdGVzdCB0aGF0IHRpbWVz
IG91dCAoJ1RJTUVPVVQnKSIpOwotCi1hc3luY190ZXN0KCJXb3JrZXIgdGVzdCB0aGF0IGRvZXNu
J3QgcnVuICgnTk9UIFJVTicpIik7Ci0KLWFzeW5jX3Rlc3QoCi0gICAgZnVuY3Rpb24odGVzdCkg
ewotICAgICAgICBzZWxmLnNldFRpbWVvdXQoCi0gICAgICAgICAgICBmdW5jdGlvbigpIHsKLSAg
ICAgICAgICAgICAgICB0ZXN0LmRvbmUoKTsKLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAw
KTsKLSAgICB9LAotICAgICJXb3JrZXIgYXN5bmNfdGVzdCB0aGF0IGNvbXBsZXRlcyBzdWNjZXNz
ZnVsbHkiKTsKLQotLy8gQW4gZXhwbGljaXQgZG9uZSgpIGlzIHJlcXVpcmVkIGZvciBkZWRpY2F0
ZWQgYW5kIHNoYXJlZCB3ZWIgd29ya2Vycy4KLWRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2Fw
aXNhbXBsZS5odG0gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy9leGFtcGxlcy9hcGlzYW1wbGUuaHRtCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCA1MDRhMzQzYWNkYi4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2FtcGxlLmh0
bQorKysgL2Rldi9udWxsCkBAIC0xLDE3NSArMCwwIEBACi08IURPQ1RZUEUgSFRNTD4KLTxodG1s
PgotPGhlYWQ+Ci08dGl0bGU+U2FtcGxlIEhUTUw1IEFQSSBUZXN0czwvdGl0bGU+Ci08bWV0YSBu
YW1lPSJ0aW1lb3V0IiBjb250ZW50PSI2MDAwIj4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0ibG9h
ZF90ZXN0X2F0dHIuZG9uZSgpIj4KLTxoMT5TYW1wbGUgSFRNTDUgQVBJIFRlc3RzPC9oMT4KLTxk
aXYgaWQ9ImxvZyI+PC9kaXY+Ci08c2NyaXB0IHNyYz0iLi4vdGVzdGhhcm5lc3MuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdCBzcmM9Ii4uL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQ+Ci0gICAgc2V0dXBfcnVuID0gZmFsc2U7Ci0gICAgc2V0dXAoZnVuY3Rpb24oKSB7Ci0g
ICAgICAgICAgICBzZXR1cF9ydW4gPSB0cnVlOwotICAgICAgICAgIH0pOwotICAgIHRlc3QoZnVu
Y3Rpb24oKSB7YXNzZXJ0X3RydWUoc2V0dXBfcnVuKX0sICJTZXR1cCBmdW5jdGlvbiByYW4iKTsK
LQotICAgIC8vIFR3byBleGFtcGxlcyBmb3IgdGVzdGluZyBldmVudHMgZnJvbSBoYW5kbGVyIGFu
ZCBhdHRyaWJ1dGVzCi0gICAgdmFyIGxvYWRfdGVzdF9ldmVudCA9IGFzeW5jX3Rlc3QoIndpbmRv
dyBvbmxvYWQgZXZlbnQgZmlyZXMgd2hlbiBzZXQgZnJvbSB0aGUgaGFuZGxlciIpOwotCi0gICAg
ZnVuY3Rpb24gd2luZG93TG9hZCgpCi0gICAgewotICAgICAgICBsb2FkX3Rlc3RfZXZlbnQuZG9u
ZSgpOwotICAgIH0KLSAgICBvbl9ldmVudCh3aW5kb3csICJsb2FkIiwgd2luZG93TG9hZCk7Ci0K
LSAgICAvLyBzZWUgdGhlIGJvZHkgb25sb2FkIGJlbG93Ci0gICAgdmFyIGxvYWRfdGVzdF9hdHRy
ID0gYXN5bmNfdGVzdCgiYm9keSBlbGVtZW50IGZpcmVzIHRoZSBvbmxvYWQgZXZlbnQgc2V0IGZy
b20gdGhlIGF0dHJpYnV0ZSIpOwotPC9zY3JpcHQ+Ci08c2NyaXB0PgotICAgIGZ1bmN0aW9uIGJv
ZHlFbGVtZW50KCkKLSAgICB7Ci0gICAgICAgIGFzc2VydF9lcXVhbHMoZG9jdW1lbnQuYm9keSwg
ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImJvZHkiKVswXSk7Ci0gICAgfQotICAgIHRl
c3QoYm9keUVsZW1lbnQsICJkb2N1bWVudC5ib2R5IHNob3VsZCBiZSB0aGUgZmlyc3QgYm9keSBl
bGVtZW50IGluIHRoZSBkb2N1bWVudCIpOwotCi0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAg
ICAgYXNzZXJ0X2VxdWFscygxLDEpOwotICAgICAgICBhc3NlcnRfZXF1YWxzKE5hTiwgTmFOLCAi
TmFOIGNhc2UiKTsKLSAgICAgICAgYXNzZXJ0X2VxdWFscygwLCAwLCAiWmVybyBjYXNlIik7Ci0g
ICAgfSwgImFzc2VydF9lcXVhbHMgdGVzdHMiKQotCi0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAg
ICAgICAgYXNzZXJ0X2VxdWFscygtMCwgMCwgIlplcm8gY2FzZSIpOwotICAgIH0sICJhc3NlcnRf
ZXF1YWxzIHRlc3RzIGV4cGVjdGVkIHRvIGZhaWwiKQotCi0gICAgdGVzdChmdW5jdGlvbigpIHsK
LSAgICAgICAgYXNzZXJ0X25vdF9lcXVhbHMoe30sIHt9LCAib2JqZWN0IGNhc2UiKTsKLSAgICAg
ICAgYXNzZXJ0X25vdF9lcXVhbHMoLTAsIDAsICJaZXJvIGNhc2UiKTsKLSAgICB9LCAiYXNzZXJ0
X25vdF9lcXVhbHMgdGVzdHMiKQotCi0gICAgZnVuY3Rpb24gdGVzdEFzc2VydFBhc3MoKQotICAg
IHsKLSAgICAgICAgYXNzZXJ0X3RydWUodHJ1ZSk7Ci0gICAgfQotICAgIHRlc3QodGVzdEFzc2Vy
dFBhc3MsICJhc3NlcnRfdHJ1ZSBleHBlY3RlZCB0byBwYXNzIik7Ci0KLSAgICBmdW5jdGlvbiB0
ZXN0QXNzZXJ0RmFsc2UoKQotICAgIHsKLSAgICAgICAgYXNzZXJ0X3RydWUoZmFsc2UsICJmYWxz
ZSBzaG91bGQgbm90IGJlIHRydWUiKTsKLSAgICB9Ci0gICAgdGVzdCh0ZXN0QXNzZXJ0RmFsc2Us
ICJhc3NlcnRfdHJ1ZSBleHBlY3RlZCB0byBmYWlsIik7Ci0KLSAgICBmdW5jdGlvbiBiYXNpY0Fz
c2VydEFycmF5RXF1YWxzKCkKLSAgICB7Ci0gICAgICAgIGFzc2VydF9hcnJheV9lcXVhbHMoWzEs
IE5hTl0sIFsxLCBOYU5dLCAiWzEsIE5hTl0gaXMgZXF1YWwgdG8gWzEsIE5hTl0iKTsKLSAgICB9
Ci0gICAgdGVzdChiYXNpY0Fzc2VydEFycmF5RXF1YWxzLCAiYmFzaWMgYXNzZXJ0X2FycmF5X2Vx
dWFscyB0ZXN0Iik7Ci0KLSAgICBmdW5jdGlvbiBiYXNpY0Fzc2VydE9iamVjdEVxdWFscygpCi0g
ICAgewotICAgICAgICBhc3NlcnRfb2JqZWN0X2VxdWFscyhbMSwgMiwgWzEsIDJdXSwgeyAwOiAx
LCAxOiAyLCAyOiB7IDA6IDEsIDE6IDJ9IH0sICJhcnJheSBpcyBlcXVhbCB0byBvYmplY3QiKQot
ICAgIH0KLSAgICB0ZXN0KGJhc2ljQXNzZXJ0T2JqZWN0RXF1YWxzLCAiYmFzaWMgYXNzZXJ0X29i
amVjdF9lcXVhbHMgdGVzdCIpOwotCi0gICAgZnVuY3Rpb24gYmFzaWNBc3NlcnRBcHByb3hFcXVh
bHMoKQotICAgIHsKLSAgICAgICAgYXNzZXJ0X2FwcHJveF9lcXVhbHMoMTAsIDExLCAxLCAiMTAg
aXMgYXBwcm94aW1hdGVseSAoKy8tIDEpIDExIikKLSAgICB9Ci0gICAgdGVzdChiYXNpY0Fzc2Vy
dEFwcHJveEVxdWFscywgImJhc2ljIGFzc2VydF9hcHByb3hfZXF1YWxzIHRlc3QiKTsKLQotICAg
IGZ1bmN0aW9uIGJhc2ljQXNzZXJ0TGVzc1RoYW4oKQotICAgIHsKLSAgICAgICAgYXNzZXJ0X2xl
c3NfdGhhbigxMCwgMTEsICIxMCBpcyBsZXNzIHRoYW4gMTEiKQotICAgIH0KLSAgICB0ZXN0KGJh
c2ljQXNzZXJ0QXBwcm94RXF1YWxzLCAiYmFzaWMgYXNzZXJ0X2xlc3NfdGhhbiB0ZXN0Iik7Ci0K
LSAgICBmdW5jdGlvbiBiYXNpY0Fzc2VydEdyZWF0ZXJUaGFuKCkKLSAgICB7Ci0gICAgICAgIGFz
c2VydF9ncmVhdGVyX3RoYW4oMTAsIDExLCAiMTAgaXMgbm90IGdyZWF0ZXIgdGhhbiAxMSIpOwot
ICAgIH0KLSAgICB0ZXN0KGJhc2ljQXNzZXJ0R3JlYXRlclRoYW4sICJhc3NlcnRfZ3JlYXRlcl90
aGFuIGV4cGVjdGVkIHRvIGZhaWwiKTsKLQotICAgIGZ1bmN0aW9uIGJhc2ljQXNzZXJ0R3JlYXRl
clRoYW5FcXVhbCgpCi0gICAgewotICAgICAgICBhc3NlcnRfZ3JlYXRlcl90aGFuX2VxdWFsKDEw
LCAxMCwgIjEwIGlzIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAxMCIpCi0gICAgfQotICAgIHRl
c3QoYmFzaWNBc3NlcnRHcmVhdGVyVGhhbkVxdWFsLCAiYmFzaWMgYXNzZXJ0X2dyZWF0ZXJfdGhh
bl9lcXVhbCB0ZXN0Iik7Ci0KLSAgICBmdW5jdGlvbiBiYXNpY0Fzc2VydExlc3NUaGFuRXF1YWwo
KQotICAgIHsKLSAgICAgICAgYXNzZXJ0X2dyZWF0ZXJfdGhhbl9lcXVhbCgnMTAnLCAxMCwgIicx
MCcgaXMgbm90IGEgbnVtYmVyIikKLSAgICB9Ci0gICAgdGVzdChiYXNpY0Fzc2VydExlc3NUaGFu
RXF1YWwsICJhc3NlcnRfbGVzc190aGFuX2VxdWFsIGV4cGVjdGVkIHRvIGZhaWwiKTsKLQotICAg
IGZ1bmN0aW9uIHRlc3RBc3NlcnRJbmhlcml0cygpIHsKLSAgICAgICAgdmFyIEEgPSBmdW5jdGlv
bigpe3RoaXMuYSA9ICJhIn0KLSAgICAgICAgQS5wcm90b3R5cGUgPSB7YjoiYiJ9Ci0gICAgICAg
IHZhciBhID0gbmV3IEEoKTsKLSAgICAgICAgYXNzZXJ0X2V4aXN0cyhhLCAiYSIpOwotICAgICAg
ICBhc3NlcnRfbm90X2V4aXN0cyhhLCAiYiIpOwotICAgICAgICBhc3NlcnRfaW5oZXJpdHMoYSwg
ImIiKTsKLSAgICB9Ci0gICAgdGVzdCh0ZXN0QXNzZXJ0SW5oZXJpdHMsICJ0ZXN0IGZvciBhc3Nl
cnRbX25vdF1fZXhpc3RzIGFuZCBpbnNlcnRfaW5oZXJpdHMiKQotCi0gICAgdGVzdChmdW5jdGlv
bigpCi0gICAgewotICAgICAgICB2YXIgYSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImEiKQot
ICAgICAgICB2YXIgYiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImIiKQotICAgICAgICBhc3Nl
cnRfdGhyb3dzKCJOT1RfRk9VTkRfRVJSIiwgZnVuY3Rpb24oKXthLnJlbW92ZUNoaWxkKGIpfSk7
Ci0gICAgfSwgIlRlc3QgdGhyb3cgRE9NIGV4Y2VwdGlvbiIpCi0KLSAgICB0ZXN0KGZ1bmN0aW9u
KCkKLSAgICB7Ci0gICAgICAgIHZhciBhID0gZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoImEiKQot
ICAgICAgICB2YXIgYiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImIiKQotICAgICAgICBhc3Nl
cnRfdGhyb3dzKCJOT1RfRk9VTkRfRVJSIiwgZnVuY3Rpb24oKXthLmFwcGVuZENoaWxkKGIpfSk7
Ci0gICAgfSwgIlRlc3QgdGhyb3cgRE9NIGV4Y2VwdGlvbiBleHBlY3RlZCB0byBmYWlsIikKLQot
ICAgIHRlc3QoZnVuY3Rpb24oKQotICAgIHsKLSAgICAgICAgdmFyIGUgPSB7Y29kZTowLCBuYW1l
OiJURVNUX0VSUiIsIFRFU1RfRVJSOjB9Ci0gICAgICAgIGFzc2VydF90aHJvd3MoIlRFU1RfRVJS
IiwgZnVuY3Rpb24oKSB7dGhyb3cgZX0pOwotICAgIH0sICJUZXN0IGFzc2VydF90aHJvd3Mgd2l0
aCBub24tRE9NLWV4Y2VwdGlvbiBleHBlY3RlZCB0byBGYWlsIik7Ci0KLSAgICB2YXIgdCA9IGFz
eW5jX3Rlc3QoIlRlc3Qgc3RlcF9mdW5jIikKLSAgICBzZXRUaW1lb3V0KAotICAgICAgdC5zdGVw
X2Z1bmMoCi0gICAgICAgIGZ1bmN0aW9uICgpIHsKLSAgICAgICAgICBhc3NlcnRfdHJ1ZSh0cnVl
KTsgdC5kb25lKCk7Ci0gICAgICAgIH0pLCAwKTsKLQotICAgIGFzeW5jX3Rlc3QoZnVuY3Rpb24o
dCkgewotICAgICAgICBzZXRUaW1lb3V0KHQuc3RlcF9mdW5jKGZ1bmN0aW9uICgpe2Fzc2VydF90
cnVlKHRydWUpOyB0LmRvbmUoKTt9KSwgMCk7Ci0gICAgfSwgIlRlc3QgYXN5bmMgdGVzdCB3aXRo
IGNhbGxiYWNrIik7Ci0KLSAgICBhc3luY190ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICBzZXRU
aW1lb3V0KHRoaXMuc3RlcF9mdW5jKGZ1bmN0aW9uICgpe2Fzc2VydF90cnVlKHRydWUpOyB0aGlz
LmRvbmUoKTt9KSwgMCk7Ci0gICAgfSwgIlRlc3QgYXN5bmMgdGVzdCB3aXRoIGNhbGxiYWNrIGFu
ZCBgdGhpc2Agb2JqLiIpOwotCi0gICAgYXN5bmNfdGVzdCgidGVzdCBzaG91bGQgdGltZW91dCAo
ZmFpbCkgd2l0aCB0aGUgZGVmYXVsdCBvZiAyIHNlY29uZHMiKS5zdGVwKGZ1bmN0aW9uKCl7fSk7
Ci0KLSAgICBhc3luY190ZXN0KCJ0ZXN0IHNob3VsZCB0aW1lb3V0IChmYWlsKSB3aXRoIGEgY3Vz
dG9tIHNldCB0aW1lb3V0IHZhbHVlIG9mIDEgc2Vjb25kIiwKLSAgICAgICAgICAgICAgIHt0aW1l
b3V0OjEwMDB9KS5zdGVwKGZ1bmN0aW9uKCl7fSk7Ci0KLSAgICBhc3luY190ZXN0KCJhc3luYyB0
ZXN0IHRoYXQgaXMgbmV2ZXIgc3RhcnRlZCwgc2hvdWxkIGhhdmUgc3RhdHVzIE5vdCBSdW4iLCB7
dGltZW91dDoxMDAwfSk7Ci0KLQotICAgIHRlc3QoZnVuY3Rpb24odCkgewotICAgICAgICAgICAg
IHdpbmRvdy5nbG9iYWwgPSAxOwotICAgICAgICAgICAgIHQuYWRkX2NsZWFudXAoZnVuY3Rpb24o
KSB7ZGVsZXRlIHdpbmRvdy5nbG9iYWx9KTsKLSAgICAgICAgICAgICBhc3NlcnRfZXF1YWxzKHdp
bmRvdy5nbG9iYWwsIDEpOwotICAgICAgICAgfSwKLSAgICAgICAgICJUZXN0IHRoYXQgZGVmaW5l
cyBhIGdsb2JhbCBhbmQgY2xlYW5zIGl0IHVwIik7Ci0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkge2Fz
c2VydF9lcXVhbHMod2luZG93Lmdsb2JhbCwgdW5kZWZpbmVkKX0sCi0gICAgICAgICAiVGVzdCB0
aGF0IGNsZWFudXAgaGFuZGxlcnMgZnJvbSBwcmV2aW91cyB0ZXN0IHJhbiIpOwotCi08L3Njcmlw
dD4KLTwvYm9keT4KLTwvaHRtbD4KLQotCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBsZTEw
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy9leGFtcGxlcy9hcGlzYW1wbGUxMC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCA2OTgxMGZlMTZjZi4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2FtcGxlMTAuaHRt
bAorKysgL2Rldi9udWxsCkBAIC0xLDExOSArMCwwIEBACi08IURPQ1RZUEUgSFRNTD4KLTxodG1s
PgotPGhlYWQ+Ci08dGl0bGU+QXN5bmMgVGVzdHMgYW5kIFByb21pc2VzPC90aXRsZT4KLTwvaGVh
ZD4KLTxib2R5PgotPGgxPkFzeW5jIFRlc3RzIGFuZCBQcm9taXNlczwvaDE+Ci08cD5UaGlzIHRl
c3QgYXNzdW1lcyBFQ01BU2NyaXB0IDYgUHJvbWlzZSBzdXBwb3J0LiBTb21lIGZhaWx1cmVzIGFy
ZSBleHBlY3RlZC48L3A+Ci08ZGl2IGlkPSJsb2ciPjwvZGl2PgotPHNjcmlwdCBzcmM9Ii4uL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotCi10ZXN0KGZ1bmN0aW9uKCkgewotICB2YXIgcCA9
IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkge30pOwotICBhc3NlcnRfdHJ1
ZSgndGhlbicgaW4gcCk7Ci0gIGFzc2VydF9lcXVhbHModHlwZW9mIFByb21pc2UucmVzb2x2ZSwg
J2Z1bmN0aW9uJyk7Ci0gIGFzc2VydF9lcXVhbHModHlwZW9mIFByb21pc2UucmVqZWN0LCAnZnVu
Y3Rpb24nKTsKLX0sICJQcm9taXNlcyBhcmUgc3VwcG9ydGVkIGluIHlvdXIgYnJvd3NlciIpOwot
Ci0oZnVuY3Rpb24oKSB7Ci0gIHZhciB0ID0gYXN5bmNfdGVzdCgiUHJvbWlzZSByZXNvbHV0aW9u
Iik7Ci0gIHQuc3RlcChmdW5jdGlvbigpIHsKLSAgICBQcm9taXNlLnJlc29sdmUoJ3gnKS50aGVu
KAotICAgICAgdC5zdGVwX2Z1bmMoZnVuY3Rpb24odmFsdWUpIHsKLSAgICAgICAgYXNzZXJ0X2Vx
dWFscyh2YWx1ZSwgJ3gnKTsKLSAgICAgICAgdC5kb25lKCk7Ci0gICAgICB9KSwKLSAgICAgIHQu
dW5yZWFjaGVkX2Z1bmMoJ1Byb21pc2Ugc2hvdWxkIG5vdCByZWplY3QnKQotICAgICk7Ci0gIH0p
OwotfSgpKTsKLQotKGZ1bmN0aW9uKCkgewotICB2YXIgdCA9IGFzeW5jX3Rlc3QoIlByb21pc2Ug
cmVqZWN0aW9uIik7Ci0gIHQuc3RlcChmdW5jdGlvbigpIHsKLSAgICBQcm9taXNlLnJlamVjdChF
cnJvcignZmFpbCcpKS50aGVuKAotICAgICAgdC51bnJlYWNoZWRfZnVuYygnUHJvbWlzZSBzaG91
bGQgcmVqZWN0JyksCi0gICAgICB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKLSAgICAg
ICAgYXNzZXJ0X3RydWUocmVhc29uIGluc3RhbmNlb2YgRXJyb3IpOwotICAgICAgICBhc3NlcnRf
ZXF1YWxzKHJlYXNvbi5tZXNzYWdlLCAnZmFpbCcpOwotICAgICAgICB0LmRvbmUoKTsKLSAgICAg
IH0pCi0gICAgKTsKLSAgfSk7Ci19KCkpOwotCi0oZnVuY3Rpb24oKSB7Ci0gIHZhciB0ID0gYXN5
bmNfdGVzdCgiUHJvbWlzZXMgcmVzb2x1dGlvbiBjaGFpbmluZyIpOwotICB0LnN0ZXAoZnVuY3Rp
b24oKSB7Ci0gICAgdmFyIHJlc29sdXRpb25zID0gW107Ci0gICAgUHJvbWlzZS5yZXNvbHZlKCdh
JykudGhlbigKLSAgICAgIHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHZhbHVlKSB7Ci0gICAgICAgIHJl
c29sdXRpb25zLnB1c2godmFsdWUpOwotICAgICAgICByZXR1cm4gJ2InOwotICAgICAgfSkKLSAg
ICApLnRoZW4oCi0gICAgICB0LnN0ZXBfZnVuYyhmdW5jdGlvbih2YWx1ZSkgewotICAgICAgICBy
ZXNvbHV0aW9ucy5wdXNoKHZhbHVlKTsKLSAgICAgICAgcmV0dXJuICdjJzsKLSAgICAgIH0pCi0g
ICAgKS50aGVuKAotICAgICAgdC5zdGVwX2Z1bmMoZnVuY3Rpb24odmFsdWUpIHsKLSAgICAgICAg
cmVzb2x1dGlvbnMucHVzaCh2YWx1ZSk7Ci0KLSAgICAgICAgYXNzZXJ0X2FycmF5X2VxdWFscyhy
ZXNvbHV0aW9ucywgWydhJywgJ2InLCAnYyddKTsKLSAgICAgICAgdC5kb25lKCk7Ci0gICAgICB9
KQotICAgICkuY2F0Y2goCi0gICAgICB0LnVucmVhY2hlZF9mdW5jKCdwcm9taXNlIHNob3VsZCBu
b3QgaGF2ZSByZWplY3RlZCcpCi0gICAgKTsKLSAgfSk7Ci19KCkpOwotCi0oZnVuY3Rpb24oKSB7
Ci0gIHZhciB0ID0gYXN5bmNfdGVzdCgiVXNlIG9mIHN0ZXBfZnVuYyB3aXRoIFByb21pc2VzIik7
Ci0gIHQuc3RlcChmdW5jdGlvbigpIHsKLSAgICB2YXIgcmVzb2x1dGlvbnMgPSBbXTsKLSAgICBQ
cm9taXNlLnJlc29sdmUoJ3gnKS50aGVuKAotICAgICAgdC5zdGVwX2Z1bmNfZG9uZSgpLAotICAg
ICAgdC51bnJlYWNoZWRfZnVuYygnUHJvbWlzZSBzaG91bGQgbm90IGhhdmUgcmVqZWN0ZWQnKQot
ICAgICk7Ci0gIH0pOwotfSgpKTsKLQotKGZ1bmN0aW9uKCkgewotICB2YXIgdCA9IGFzeW5jX3Rl
c3QoIlByb21pc2VzIGFuZCB0ZXN0IGFzc2VydGlvbiBmYWlsdXJlcyAoc2hvdWxkIGZhaWwpIik7
Ci0gIHQuc3RlcChmdW5jdGlvbigpIHsKLSAgICB2YXIgcmVzb2x1dGlvbnMgPSBbXTsKLSAgICBQ
cm9taXNlLnJlc29sdmUoJ3gnKS50aGVuKAotICAgICAgdC5zdGVwX2Z1bmMoZnVuY3Rpb24odmFs
dWUpIHsKLSAgICAgICAgYXNzZXJ0X3RydWUoZmFsc2UsICdUaGlzIGZhaWx1cmUgaXMgZXhwZWN0
ZWQnKTsKLSAgICAgIH0pCi0gICAgKS50aGVuKAotICAgICAgdC51bnJlYWNoZWRfZnVuYygnUHJv
bWlzZSBzaG91bGQgbm90IGhhdmUgcmVzb2x2ZWQnKQotICAgICkuY2F0Y2goCi0gICAgICB0LnVu
cmVhY2hlZF9mdW5jKCdQcm9taXNlIHNob3VsZCBub3QgaGF2ZSByZWplY3RlZCcpCi0gICAgKTsK
LSAgfSk7Ci19KCkpOwotCi0oZnVuY3Rpb24oKSB7Ci0gIHZhciB0ID0gYXN5bmNfdGVzdCgiVXNl
IG9mIHVucmVhY2hlZF9mdW5jIHdpdGggUHJvbWlzZXMgKHNob3VsZCBmYWlsKSIpOwotICB0LnN0
ZXAoZnVuY3Rpb24oKSB7Ci0gICAgdmFyIHJlc29sdXRpb25zID0gW107Ci0gICAgdmFyIHI7Ci0g
ICAgdmFyIHAgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKLSAgICAg
IC8vIFJlamVjdCBpbnN0ZWFkIG9mIHJlc29sdmUsIHRvIGRlbW9uc3RyYXRlIGZhaWx1cmUuCi0g
ICAgICByZWplY3QoMTIzKTsKLSAgICB9KTsKLSAgICBwLnRoZW4oCi0gICAgICBmdW5jdGlvbih2
YWx1ZSkgewotICAgICAgICBhc3NlcnRfZXF1YWxzKHZhbHVlLCAxMjMsICdUaGlzIHNob3VsZCBu
b3QgYWN0dWFsbHkgaGFwcGVuJyk7Ci0gICAgICB9LAotICAgICAgdC51bnJlYWNoZWRfZnVuYygn
VGhpcyBmYWlsdXJlIGlzIGV4cGVjdGVkJykKLSAgICApOwotICB9KTsKLX0oKSk7Ci08L3Njcmlw
dD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBsZTExLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy9hcGlzYW1wbGUx
MS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzMmU4OTg0YzNmMS4uMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2FtcGxlMTEuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDk5
ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLTx0aXRsZT5FeGFtcGxl
IHdpdGggaWZyYW1lIHRoYXQgbm90aWZpZXMgY29udGFpbmluZyBkb2N1bWVudCB2aWEgY2FsbGJh
Y2tzPC90aXRsZT4KLTxzY3JpcHQgc3JjPSIuLi90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0iLi4vdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPC9oZWFkPgot
PGJvZHkgb25sb2FkPSJzdGFydF90ZXN0X2luX2lmcmFtZSgpIj4KLTxoMT5DYWxsYmFja3MgRnJv
bSBUZXN0cyBSdW5uaW5nIEluIEFuIElGUkFNRTwvaDE+Ci08cD5BIHRlc3QgaXMgcnVuIGluc2lk
ZSBhbiA8dHQ+aWZyYW1lPC90dD4gd2l0aCBhIHNhbWUgb3JpZ2luIGRvY3VtZW50LiBUaGUKLWNv
bnRhaW5pbmcgZG9jdW1lbnQgc2hvdWxkIHJlY2VpdmUgY2FsbGJhY2tzIGFzIHRoZSB0ZXN0cyBw
cm9ncmVzcyBpbnNpZGUgdGhlCi08dHQ+aWZyYW1lPC90dD4uIEEgc2luZ2xlIHBhc3NpbmcgdGVz
dCBpcyBleHBlY3RlZCBpbiB0aGUgc3VtbWFyeSBiZWxvdy4KLTxkaXYgaWQ9ImxvZyI+PC9kaXY+
Ci0KLTxzY3JpcHQ+Ci12YXIgY2FsbGJhY2tzID0gW107Ci12YXIgU1RBUlQgPSAxCi12YXIgVEVT
VF9TVEFURSA9IDIKLXZhciBSRVNVTFQgPSAzCi12YXIgQ09NUExFVElPTiA9IDQKLXZhciB0ZXN0
X2NvbXBsZXRlID0gZmFsc2U7Ci0KLXNldHVwKHtleHBsaWNpdF9kb25lOiB0cnVlfSk7Ci0KLS8v
IFRoZSBmb2xsb3dpbmcgY2FsbGJhY2tzIGFyZSBjYWxsZWQgZm9yIHRlc3RzIGluIHRoaXMgZG9j
dW1lbnQgYXMgd2VsbCBhcyB0aGUKLS8vIHRlc3RzIGluIHRoZSBJRlJBTUUuIEN1cnJlbnRseSwg
Y2FsbGJhY2tzIGludm9rZWQgZnJvbSB0aGlzIGRvY3VtZW50IGFuZCBhbnkKLS8vIGNoaWxkIGRv
Y3VtZW50IGFyZSBpbmRpc3Rpbmd1aXNoYWJsZSBmcm9tIGVhY2ggb3RoZXIuCi0KLWZ1bmN0aW9u
IHN0YXJ0X2NhbGxiYWNrKHByb3BlcnRpZXMpIHsKLSAgICBjYWxsYmFja3MucHVzaChTVEFSVCk7
Ci19Ci0KLWZ1bmN0aW9uIHRlc3Rfc3RhdGVfY2FsbGJhY2sodGVzdCkgewotICAgIGNhbGxiYWNr
cy5wdXNoKFRFU1RfU1RBVEUpOwotfQotCi1mdW5jdGlvbiByZXN1bHRfY2FsbGJhY2sodGVzdCkg
ewotICAgIGNhbGxiYWNrcy5wdXNoKFJFU1VMVCk7Ci19Ci0KLWZ1bmN0aW9uIGNvbXBsZXRpb25f
Y2FsbGJhY2sodGVzdHMsIHN0YXR1cykgewotICAgIGlmICh0ZXN0X2NvbXBsZXRlKSB7Ci0gICAg
ICAgIHJldHVybjsKLSAgICB9Ci0gICAgdGVzdF9jb21wbGV0ZSA9IHRydWU7Ci0gICAgY2FsbGJh
Y2tzLnB1c2goQ09NUExFVElPTik7Ci0gICAgdmVyaWZ5X3JlY2VpdmVkX2NhbGxiYWNrcygpOwot
ICAgIGRvbmUoKTsKLX0KLQotZnVuY3Rpb24gdmVyaWZ5X3JlY2VpdmVkX2NhbGxiYWNrcygpIHsK
LSAgICB2YXIgY29weV9vZl9jYWxsYmFja3MgPSBjYWxsYmFja3Muc2xpY2UoMCk7Ci0KLSAgICAv
LyBOb3RlIHRoYXQgeW91IGNhbid0IHJ1biB0ZXN0IGFzc2VydGlvbnMgZGlyZWN0bHkgaW4gYSBj
YWxsYmFjayBldmVuIGlmCi0gICAgLy8gdGhpcyBpcyBhIGZpbGUgdGVzdC4gV2hlbiB0aGUgY2Fs
bGJhY2sgaXMgaW52b2tlZCBmcm9tIGEgc2FtZS1vcmlnaW4gY2hpbGQKLSAgICAvLyBwYWdlLCB0
aGUgY2FsbHN0YWNrIHJlYWNoZXMgaW50byB0aGUgY2FsbGluZyBjaGlsZCBkb2N1bWVudC4gQW55
Ci0gICAgLy8gZXhjZXB0aW9uIHRocm93biBpbiBhIGNhbGxiYWNrIHdpbGwgYmUgaGFuZGxlZCBi
eSB0aGUgY2hpbGQgcmF0aGVyIHRoYW4KLSAgICAvLyB0aGlzIGRvY3VtZW50LgotICAgIHRlc3Qo
Ci0gICAgICAgIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgLy8gY2FsbGJhY2tzIGxpc3Qgc2hv
dWxkIGxvb2sgbGlrZToKLSAgICAgICAgICAgIC8vICAgICBTVEFSVCAxKihURVNUX1NUQVRFKSBS
RVNVTFQgQ09NUExFVElPTgotICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhjb3B5X29mX2NhbGxi
YWNrcy5zaGlmdCgpLCBTVEFSVCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIlRoZSBmaXJz
dCByZWNlaXZlZCBjYWxsYmFjayBzaG91bGQgYmUgJ3N0YXJ0X2NhbGxiYWNrJy4iKTsKLSAgICAg
ICAgICAgIGFzc2VydF9lcXVhbHMoY29weV9vZl9jYWxsYmFja3Muc2hpZnQoKSwgVEVTVF9TVEFU
RSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIid0ZXN0X3N0YXRlX2NhbGxiYWNrJyBzaG91
bGQgYmUgcmVjZWl2ZWQgYmVmb3JlIGFueSAiICsKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
InJlc3VsdCBvciBjb21wbGV0aW9uIGNhbGxiYWNrcy4iKTsKLSAgICAgICAgICAgIHdoaWxlKGNv
cHlfb2ZfY2FsbGJhY2tzLmxlbmd0aCA+IDApIHsKLSAgICAgICAgICAgICAgICB2YXIgY2FsbGJh
Y2sgPSBjb3B5X29mX2NhbGxiYWNrcy5zaGlmdCgpOwotICAgICAgICAgICAgICAgIGlmIChjYWxs
YmFjayAhPSBURVNUX1NUQVRFKSB7Ci0gICAgICAgICAgICAgICAgICAgIGNvcHlfb2ZfY2FsbGJh
Y2tzLnVuc2hpZnQoY2FsbGJhY2spOwotICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAg
ICAgICAgICAgICB9Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBhc3NlcnRfZXF1YWxzKGNv
cHlfb2ZfY2FsbGJhY2tzLnNoaWZ0KCksIFJFU1VMVCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgIid0ZXN0X3N0YXRlX2NhbGxiYWNrJyBzaG91bGQgYmUgZm9sbG93ZWQgYnkgJ3Jlc3VsdF9j
YWxsYmFjaycuIik7Ci0gICAgICAgICAgICBhc3NlcnRfZXF1YWxzKGNvcHlfb2ZfY2FsbGJhY2tz
LnNoaWZ0KCksIENPTVBMRVRJT04sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICJGaW5hbCAn
cmVzdWx0X2NhbGxiYWNrJyBzaG91bGQgYmUgZm9sbG93ZWQgYnkgJ2NvbXBsZXRpb25fY2FsbGJh
Y2snLiIpOwotICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhjb3B5X29mX2NhbGxiYWNrcy5sZW5n
dGgsIDAsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICInY29tcGxldGlvbl9jYWxsYmFjaycg
c2hvdWxkIGJlIHRoZSBsYXN0IGNhbGxiYWNrLiIpOwotICAgICAgICB9KTsKLX0KLQotZnVuY3Rp
b24gc3RhcnRfdGVzdF9pbl9pZnJhbWUoKSB7Ci0gICAgLy8gVGhpcyBkb2N1bWVudCBpcyBnb2lu
ZyB0byBjbGVhciBhbnkgcmVjZWl2ZWQgY2FsbGJhY2tzIGFuZCBtYWludGFpbgotICAgIC8vIHJh
ZGlvIHNpbGVuY2UgdW50aWwgdGhlIHRlc3QgaW4gdGhlIGlmcmFtZSBydW5zIHRvIGNvbXBsZXRp
b24uIFRoZQotICAgIC8vIGNvbXBsZXRpb25fY2FsbGJhY2soKSB3aWxsIHRoZW4gY29tcGxldGUg
dGhlIHRlc3Rpbmcgb24gdGhpcyBkb2N1bWVudC4KLSAgICBjYWxsYmFja3MubGVuZ3RoID0gMDsK
LSAgICB2YXIgaWZyYW1lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7Ci0gICAg
Ly8gYXBpc2FtcGxlNi5odG1sIGhhcyBhIHNpbmdsZSB0ZXN0LgotICAgIGlmcmFtZS5zcmMgPSAi
YXBpc2FtcGxlNi5odG1sIjsKLSAgICBpZnJhbWUuc3R5bGUuc2V0UHJvcGVydHkoImRpc3BsYXki
LCAibm9uZSIpOwotICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXQiKS5hcHBlbmRD
aGlsZChpZnJhbWUpOwotfQotPC9zY3JpcHQ+Ci0KLTxkaXYgaWQ9InRhcmdldCI+Ci08L2Rpdj4K
LTwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBsZTEyLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy9hcGlz
YW1wbGUxMi5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiMzlhNjFhNmYyOS4u
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2FtcGxlMTIuaHRtbAorKysgL2Rldi9udWxsCkBA
IC0xLDY3ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLTx0aXRsZT5F
eGFtcGxlIHdpdGggaWZyYW1lIHRoYXQgbm90aWZpZXMgY29udGFpbmluZyBkb2N1bWVudCB2aWEg
Y3Jvc3MgZG9jdW1lbnQgbWVzc2FnaW5nPC90aXRsZT4KLTxzY3JpcHQgc3JjPSIuLi90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08aDE+Tm90aWZpY2F0aW9ucyBGcm9tIFRlc3Rz
IFJ1bm5pbmcgSW4gQW4gSUZSQU1FPC9oMT4KLTxwPkEgdGVzdCBpcyBydW4gaW5zaWRlIGFuIDx0
dD5pZnJhbWU8L3R0PiB3aXRoIGEgc2FtZSBvcmlnaW4gZG9jdW1lbnQuIFRoZQotY29udGFpbmlu
ZyBkb2N1bWVudCBzaG91bGQgcmVjZWl2ZSBtZXNzYWdlcyB2aWEgPHR0PnBvc3RNZXNzYWdlPC90
dD4vCi08dHQ+b25tZXNzYWdlPC90dD4gYXMgdGhlIHRlc3RzIHByb2dyZXNzIGluc2lkZSB0aGUg
PHR0PmlmcmFtZTwvdHQ+LiBBIHNpbmdsZQotcGFzc2luZyB0ZXN0IGlzIGV4cGVjdGVkIGluIHRo
ZSBzdW1tYXJ5IGJlbG93LgotPC9wPgotPGRpdiBpZD0ibG9nIj48L2Rpdj4KLQotPHNjcmlwdD4K
LXZhciB0ID0gYXN5bmNfdGVzdCgiQ29udGFpbmluZyBkb2N1bWVudCByZWNlaXZlcyBtZXNzYWdl
cyIpOwotdmFyIHN0YXJ0X3JlY2VpdmVkID0gZmFsc2U7Ci12YXIgcmVzdWx0X3JlY2VpdmVkID0g
ZmFsc2U7Ci12YXIgY29tcGxldGlvbl9yZWNlaXZlZCA9IGZhbHNlOwotCi0vLyBUaGVzZSBhcmUg
dGhlIG1lc3NhZ2VzIHRoYXQgYXJlIGV4cGVjdGVkIHRvIGJlIHNlZW4gd2hpbGUgcnVubmluZyB0
aGUgdGVzdHMKLS8vIGluIHRoZSBJRlJBTUUuCi12YXIgZXhwZWN0ZWRfbWVzc2FnZXMgPSBbCi0g
ICAgdC5zdGVwX2Z1bmMoCi0gICAgICAgIGZ1bmN0aW9uKG1lc3NhZ2UpIHsKLSAgICAgICAgICAg
IGFzc2VydF9lcXVhbHMobWVzc2FnZS5kYXRhLnR5cGUsICJzdGFydCIpOwotICAgICAgICAgICAg
YXNzZXJ0X293bl9wcm9wZXJ0eShtZXNzYWdlLmRhdGEsICJwcm9wZXJ0aWVzIik7Ci0gICAgICAg
IH0pLAotCi0gICAgdC5zdGVwX2Z1bmMoCi0gICAgICAgIGZ1bmN0aW9uKG1lc3NhZ2UpIHsKLSAg
ICAgICAgICAgIGFzc2VydF9lcXVhbHMobWVzc2FnZS5kYXRhLnR5cGUsICJ0ZXN0X3N0YXRlIik7
Ci0gICAgICAgICAgICBhc3NlcnRfZXF1YWxzKG1lc3NhZ2UuZGF0YS50ZXN0LnN0YXR1cywgbWVz
c2FnZS5kYXRhLnRlc3QuTk9UUlVOKTsKLSAgICAgICAgfSksCi0KLSAgICB0LnN0ZXBfZnVuYygK
LSAgICAgICAgZnVuY3Rpb24obWVzc2FnZSkgewotICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyht
ZXNzYWdlLmRhdGEudHlwZSwgInJlc3VsdCIpOwotICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyht
ZXNzYWdlLmRhdGEudGVzdC5zdGF0dXMsIG1lc3NhZ2UuZGF0YS50ZXN0LlBBU1MpOwotICAgICAg
ICB9KSwKLQotICAgIHQuc3RlcF9mdW5jKAotICAgICAgICBmdW5jdGlvbihtZXNzYWdlKSB7Ci0g
ICAgICAgICAgICBhc3NlcnRfZXF1YWxzKG1lc3NhZ2UuZGF0YS50eXBlLCAiY29tcGxldGUiKTsK
LSAgICAgICAgICAgIGFzc2VydF9lcXVhbHMobWVzc2FnZS5kYXRhLnRlc3RzLmxlbmd0aCwgMSk7
Ci0gICAgICAgICAgICBhc3NlcnRfZXF1YWxzKG1lc3NhZ2UuZGF0YS50ZXN0c1swXS5zdGF0dXMs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UuZGF0YS50ZXN0c1swXS5QQVNTKTsK
LSAgICAgICAgICAgIGFzc2VydF9lcXVhbHMobWVzc2FnZS5kYXRhLnN0YXR1cy5zdGF0dXMsIG1l
c3NhZ2UuZGF0YS5zdGF0dXMuT0spOwotICAgICAgICAgICAgdC5kb25lKCk7Ci0gICAgICAgIH0p
LAotCi0gICAgdC51bnJlYWNoZWRfZnVuYygiVG9vIG1hbnkgbWVzc2FnZXMgcmVjZWl2ZWQiKQot
XTsKLQotb25fZXZlbnQod2luZG93LAotICAgICAgICAgIm1lc3NhZ2UiLAotICAgICAgICAgZnVu
Y3Rpb24obWVzc2FnZSkgewotICAgICAgICAgICAgIHZhciBoYW5kbGVyID0gZXhwZWN0ZWRfbWVz
c2FnZXMuc2hpZnQoKTsKLSAgICAgICAgICAgICBoYW5kbGVyKG1lc3NhZ2UpOwotICAgICAgICAg
fSk7Ci08L3NjcmlwdD4KLTxpZnJhbWUgc3JjPSJhcGlzYW1wbGU2Lmh0bWwiIHN0eWxlPSJkaXNw
bGF5Om5vbmUiPgotICA8IS0tICBhcGlzYW1wbGU2IGltcGxlbWVudHMgYSBmaWxlX2lzX3Rlc3Qg
dGVzdC4gIC0tPgotPC9pZnJhbWU+Ci08L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy9hcGlzYW1w
bGUxMy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2FtcGxlMTMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggZjZjZjBlZWM4MzEuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBsZTEz
Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxMzIgKzAsMCBAQAotPCFET0NUWVBFIEhUTUw+Ci08
aHRtbD4KLTxoZWFkPgotPHRpdGxlPlByb21pc2UgVGVzdHM8L3RpdGxlPgotPC9oZWFkPgotPGJv
ZHk+Ci08aDE+UHJvbWlzZSBUZXN0czwvaDE+Ci08cD5UaGlzIHRlc3QgZGVtb25zdHJhdGVzIHRo
ZSB1c2Ugb2YgPHR0PnByb21pc2VfdGVzdDwvdHQ+LiBBc3N1bWVzIEVDTUFTY3JpcHQgNgotUHJv
bWlzZSBzdXBwb3J0LiBTb21lIGZhaWx1cmVzIGFyZSBleHBlY3RlZC48L3A+Ci08ZGl2IGlkPSJs
b2ciPjwvZGl2PgotPHNjcmlwdCBzcmM9Ii4uL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSIuLi90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0Pgot
dGVzdCgKLSAgICBmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIHAgPSBuZXcgUHJvbWlzZShmdW5j
dGlvbihyZXNvbHZlLCByZWplY3Qpe30pOwotICAgICAgICBhc3NlcnRfdHJ1ZSgidGhlbiIgaW4g
cCk7Ci0gICAgICAgIGFzc2VydF9lcXVhbHModHlwZW9mIFByb21pc2UucmVzb2x2ZSwgImZ1bmN0
aW9uIik7Ci0gICAgICAgIGFzc2VydF9lcXVhbHModHlwZW9mIFByb21pc2UucmVqZWN0LCAiZnVu
Y3Rpb24iKTsKLSAgICB9LAotICAgICJQcm9taXNlcyBhcmUgc3VwcG9ydGVkIGluIHlvdXIgYnJv
d3NlciIpOwotCi1wcm9taXNlX3Rlc3QoCi0gICAgZnVuY3Rpb24oKSB7Ci0gICAgICAgIHJldHVy
biBQcm9taXNlLnJlc29sdmUoIngiKQotICAgICAgICAgICAgLnRoZW4oCi0gICAgICAgICAgICAg
ICAgZnVuY3Rpb24odmFsdWUpIHsKLSAgICAgICAgICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyh2
YWx1ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAieCIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIkZ1bGZpbGxlZCBwcm9taXNlIHNob3VsZCBwYXNzIHJl
c3VsdCB0byAiICsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZnVsZmlsbCBy
ZWFjdGlvbi4iKTsKLSAgICAgICAgICAgICAgICB9KTsKLSAgICB9LAotICAgICJQcm9taXNlIGZ1
bGZpbGxtZW50IHdpdGggcmVzdWx0Iik7Ci0KLXByb21pc2VfdGVzdCgKLSAgICBmdW5jdGlvbih0
KSB7Ci0gICAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdChuZXcgRXJyb3IoImZhaWwiKSkKLSAg
ICAgICAgICAgIC50aGVuKHQudW5yZWFjaGVkX2Z1bmMoIlByb21pc2Ugc2hvdWxkIHJlamVjdCIp
LAotICAgICAgICAgICAgICAgIGZ1bmN0aW9uKHJlYXNvbikgewotICAgICAgICAgICAgICAgICAg
ICBhc3NlcnRfdHJ1ZSgKLSAgICAgICAgICAgICAgICAgICAgICAgIHJlYXNvbiBpbnN0YW5jZW9m
IEVycm9yLAotICAgICAgICAgICAgICAgICAgICAgICAgIlJlamVjdGVkIHByb21pc2Ugc2hvdWxk
IHBhc3MgcmVhc29uIHRvIGZ1bGZpbGwgcmVhY3Rpb24uIik7Ci0gICAgICAgICAgICAgICAgICAg
IGFzc2VydF9lcXVhbHMoCi0gICAgICAgICAgICAgICAgICAgICAgICByZWFzb24ubWVzc2FnZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICJmYWlsIiwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJSZWplY3RlZCBwcm9taXNlIHNob3VsZCBwYXNzIHJlYXNvbiB0byByZWplY3QgcmVhY3Rpb24u
Iik7Ci0gICAgICAgICAgICAgICAgfSk7Ci0gICAgfSwKLSAgICAiUHJvbWlzZSByZWplY3Rpb24g
d2l0aCByZXN1bHQiKTsKLQotcHJvbWlzZV90ZXN0KAotICAgIGZ1bmN0aW9uKCkgewotICAgICAg
ICB2YXIgcmVzb2x1dGlvbnMgPSBbXTsKLSAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgi
YSIpCi0gICAgICAgICAgICAudGhlbigKLSAgICAgICAgICAgICAgICBmdW5jdGlvbih2YWx1ZSkg
ewotICAgICAgICAgICAgICAgICAgICByZXNvbHV0aW9ucy5wdXNoKHZhbHVlKTsKLSAgICAgICAg
ICAgICAgICAgICAgcmV0dXJuICJiIjsKLSAgICAgICAgICAgICAgICB9KQotICAgICAgICAgICAg
LnRoZW4oCi0gICAgICAgICAgICAgICAgZnVuY3Rpb24odmFsdWUpIHsKLSAgICAgICAgICAgICAg
ICAgICAgcmVzb2x1dGlvbnMucHVzaCh2YWx1ZSk7Ci0gICAgICAgICAgICAgICAgICAgIHJldHVy
biAiYyI7Ci0gICAgICAgICAgICAgICAgfSkKLSAgICAgICAgICAgIC50aGVuKAotICAgICAgICAg
ICAgICAgIGZ1bmN0aW9uKHZhbHVlKSB7Ci0gICAgICAgICAgICAgICAgICAgIHJlc29sdXRpb25z
LnB1c2godmFsdWUpOwotICAgICAgICAgICAgICAgICAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKHJl
c29sdXRpb25zLCBbImEiLCAiYiIsICJjIl0pOwotICAgICAgICAgICAgICAgIH0pOwotICAgIH0s
Ci0gICAgIkNoYWluIG9mIHByb21pc2UgcmVzb2x1dGlvbnMiKTsKLQotcHJvbWlzZV90ZXN0KAot
ICAgIGZ1bmN0aW9uKHQpIHsKLSAgICAgICAgdmFyIHJlc29sdXRpb25zID0gW107Ci0gICAgICAg
IHJldHVybiBQcm9taXNlLnJlc29sdmUoIngiKQotICAgICAgICAgICAgLnRoZW4oCi0gICAgICAg
ICAgICAgICAgZnVuY3Rpb24odmFsdWUpIHsKLSAgICAgICAgICAgICAgICAgICAgYXNzZXJ0X3Ry
dWUoZmFsc2UsICJFeHBlY3RlZCBmYWlsdXJlLiIpOwotICAgICAgICAgICAgICAgIH0pCi0gICAg
ICAgICAgICAudGhlbih0LnVucmVhY2hlZF9mdW5jKCJVTkVYUEVDVEVEIEZBSUxVUkU6IFByb21p
c2Ugc2hvdWxkIG5vdCBoYXZlIHJlc29sdmVkLiIpKTsKLSAgICB9LAotICAgICJBc3NlcnRpb24g
ZmFpbHVyZSBpbiBhIGZ1bGZpbGwgcmVhY3Rpb24gKHNob3VsZCBGQUlMIHdpdGggYW4gZXhwZWN0
ZWQgZmFpbHVyZSkiKTsKLQotcHJvbWlzZV90ZXN0KAotICAgIGZ1bmN0aW9uKHQpIHsKLSAgICAg
ICAgcmV0dXJuIG5ldyBQcm9taXNlKAotICAgICAgICAgICAgICAgIGZ1bmN0aW9uKHJlc29sdmUs
IHJlamVjdCkgewotICAgICAgICAgICAgICAgICAgICByZWplY3QoMTIzKTsKLSAgICAgICAgICAg
ICAgICB9KQotICAgICAgICAgICAgLnRoZW4odC51bnJlYWNoZWRfZnVuYygiVU5FWFBFQ1RFRCBG
QUlMVVJFOiBGdWxmaWxsIHJlYWN0aW9uIHJlYWNoZWQgYWZ0ZXIgcmVqZWN0aW9uLiIpLAotICAg
ICAgICAgICAgICAgICAgdC51bnJlYWNoZWRfZnVuYygiRXhwZWN0ZWQgZmFpbHVyZS4iKSk7Ci0g
ICAgfSwKLSAgICAidW5yZWFjaGVkX2Z1bmMgYXMgcmVhY3RvciAoc2hvdWxkIEZBSUwgd2l0aCBh
biBleHBlY3RlZCBmYWlsdXJlKSIpOwotCi1wcm9taXNlX3Rlc3QoCi0gICAgZnVuY3Rpb24oKSB7
Ci0gICAgICAgIHJldHVybiB0cnVlOwotICAgIH0sCi0gICAgInByb21pc2VfdGVzdCB3aXRoIGZ1
bmN0aW9uIHRoYXQgZG9lc24ndCByZXR1cm4gYSBQcm9taXNlIik7Ci0KLXByb21pc2VfdGVzdChm
dW5jdGlvbigpe30sCi0gICAgICAgICAgICAgInByb21pc2VfdGVzdCB3aXRoIGZ1bmN0aW9uIHRo
YXQgZG9lc24ndCByZXR1cm4gYW55dGhpbmciKTsKLQotcHJvbWlzZV90ZXN0KAotICAgIGZ1bmN0
aW9uKCkgewotICAgICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QoIkV4cGVjdGVkIHJlamVjdGlv
biIpOwotICAgIH0sCi0gICAgInByb21pc2VfdGVzdCB3aXRoIHVuaGFuZGxlZCByZWplY3Rpb24g
KHNob3VsZCBGQUlMKSIpOwotCi1wcm9taXNlX3Rlc3QoCi0gICAgZnVuY3Rpb24oKSB7Ci0gICAg
ICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoMTApCi0gICAgICAgICAgICAudGhlbigKLSAgICAg
ICAgICAgICAgICBmdW5jdGlvbih2YWx1ZSkgewotICAgICAgICAgICAgICAgICAgICB0aHJvdyBF
cnJvcigiRXhwZWN0ZWQgZXhjZXB0aW9uLiIpOwotICAgICAgICAgICAgICAgIH0pOwotICAgIH0s
Ci0gICAgInByb21pc2VfdGVzdCB3aXRoIHVuaGFuZGxlZCBleGNlcHRpb24gaW4gZnVsZmlsbCBy
ZWFjdGlvbiAoc2hvdWxkIEZBSUwpIik7Ci0KLXByb21pc2VfdGVzdCgKLSAgICBmdW5jdGlvbih0
KSB7Ci0gICAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdCgxMCkKLSAgICAgICAgICAgIC50aGVu
KAotICAgICAgICAgICAgICAgIHQudW5yZWFjaGVkX2Z1bmMoIlVORVhQRUNURUQgRkFJTFVSRTog
RnVsZmlsbCByZWFjdGlvbiByZWFjaGVkIGFmdGVyIHJlamVjdGlvbi4iKSwKLSAgICAgICAgICAg
ICAgICBmdW5jdGlvbih2YWx1ZSkgewotICAgICAgICAgICAgICAgICAgICB0aHJvdyBFcnJvcigi
RXhwZWN0ZWQgZXhjZXB0aW9uLiIpOwotICAgICAgICAgICAgICAgIH0pOwotICAgIH0sCi0gICAg
InByb21pc2VfdGVzdCB3aXRoIHVuaGFuZGxlZCBleGNlcHRpb24gaW4gcmVqZWN0IHJlYWN0aW9u
IChzaG91bGQgRkFJTCkiKTsKLTwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2FtcGxl
MTQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBsZTE0Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDg5ODAzZjBiYjZhLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy9hcGlzYW1wbGUxNC5o
dG1sCisrKyAvZGV2L251bGwKQEAgLTEsMjkgKzAsMCBAQAotPCFET0NUWVBFIEhUTUw+Ci08aHRt
bD4KLTxoZWFkPgotPHRpdGxlPkRlZGljYXRlZCBXb3JrZXIgVGVzdHM8L3RpdGxlPgotPHNjcmlw
dCBzcmM9Ii4uL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxoMT5EZWRpY2F0
ZWQgV2ViIFdvcmtlciBUZXN0czwvaDE+Ci08cD5EZW1vbnN0cmF0ZXMgcnVubmluZyA8dHQ+dGVz
dGhhcm5lc3M8L3R0PiBiYXNlZCB0ZXN0cyBpbnNpZGUgYSBkZWRpY2F0ZWQgd2ViIHdvcmtlci4K
LTxwPlRoZSB0ZXN0IGhhcm5lc3MgaXMgZXhwZWN0ZWQgdG8gZmFpbCBkdWUgdG8gYW4gdW5jYXVn
aHQgZXhjZXB0aW9uIGluIG9uZSB3b3JrZXIuPC9wPgotPGRpdiBpZD0ibG9nIj48L2Rpdj4KLQot
PHNjcmlwdD4KLXRlc3QoZnVuY3Rpb24odCkgewotICAgICAgICBhc3NlcnRfdHJ1ZSgiV29ya2Vy
IiBpbiBzZWxmLCAiQnJvd3NlciBzaG91bGQgc3VwcG9ydCBXb3JrZXJzIik7Ci0gICAgfSwKLSAg
ICAiQnJvd3NlciBzdXBwb3J0cyBXb3JrZXJzIik7Ci0KLWZldGNoX3Rlc3RzX2Zyb21fd29ya2Vy
KG5ldyBXb3JrZXIoImFwaXNhbXBsZS13b3JrZXIuanMiKSk7Ci0KLWZldGNoX3Rlc3RzX2Zyb21f
d29ya2VyKG5ldyBXb3JrZXIoImFwaXNhbXBsZS1lcnJvci13b3JrZXIuanMiKSk7Ci0KLXRlc3Qo
ZnVuY3Rpb24odCkgewotICAgICAgICBhc3NlcnRfZmFsc2UoZmFsc2UsICJGYWxzZSBpcyBmYWxz
ZSIpOwotICAgIH0sCi0gICAgIlRlc3QgcnVubmluZyBvbiBtYWluIGRvY3VtZW50LiIpOwotPC9z
Y3JpcHQ+Ci08L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy9hcGlzYW1wbGUxNS5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZXhhbXBs
ZXMvYXBpc2FtcGxlMTUuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjMxZDE5
MjJiYWMuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBsZTE1Lmh0bWwKKysrIC9kZXYv
bnVsbApAQCAtMSwyNiArMCwwIEBACi08IURPQ1RZUEUgSFRNTD4KLTxodG1sPgotPGhlYWQ+Ci08
dGl0bGU+RXhhbXBsZSB3aXRoIGEgc2hhcmVkIHdvcmtlcjwvdGl0bGU+Ci08c2NyaXB0IHNyYz0i
Li4vdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGgxPlNoYXJlZCBXZWIgV29y
a2VyIFRlc3RzPC9oMT4KLTxwPkRlbW9uc3RyYXRlcyBydW5uaW5nIDx0dD50ZXN0aGFybmVzczwv
dHQ+IGJhc2VkIHRlc3RzIGluc2lkZSBhIHNoYXJlZCB3b3JrZXIuCi08cD5UaGUgdGVzdCBoYXJu
ZXNzIHNob3VsZCB0aW1lIG91dCBkdWUgdG8gb25lIG9mIHRoZSB0ZXN0cyBpbiB0aGUgd29ya2Vy
IHRpbWluZyBvdXQuCi08cD5UaGlzIHRlc3QgYXNzdW1lcyB0aGF0IHRoZSBicm93c2VyIHN1cHBv
cnRzIDxhIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL3dvcmtlcnMvI3NoYXJlZC13b3JrZXJz
LWFuZC10aGUtc2hhcmVkd29ya2VyLWludGVyZmFjZSI+c2hhcmVkIHdlYiB3b3JrZXJzPC9hPi4K
LTxkaXYgaWQ9ImxvZyI+PC9kaXY+Ci0KLTxzY3JpcHQ+Ci10ZXN0KAotICAgIGZ1bmN0aW9uKHQp
IHsKLSAgICAgICAgYXNzZXJ0X3RydWUoIlNoYXJlZFdvcmtlciIgaW4gc2VsZiwKLSAgICAgICAg
ICAgICAgICAgICAgIkJyb3dzZXIgc2hvdWxkIHN1cHBvcnQgU2hhcmVkV29ya2VycyIpOwotICAg
IH0sCi0gICAgIkJyb3dzZXIgc3VwcG9ydHMgU2hhcmVkV29ya2VycyIpOwotCi1mZXRjaF90ZXN0
c19mcm9tX3dvcmtlcihuZXcgU2hhcmVkV29ya2VyKCJhcGlzYW1wbGUtd29ya2VyLmpzIiwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk15IHNoYXJlZCB3b3JrZXIi
KSk7Ci08L3NjcmlwdD4KLTwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBsZTE2Lmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy9leGFtcGxlcy9hcGlzYW1wbGUxNi5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCBkODU5ZDk0YmY2Yy4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2FtcGxlMTYuaHRtbAor
KysgL2Rldi9udWxsCkBAIC0xLDYyICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08
aGVhZD4KLTx0aXRsZT5FeGFtcGxlIHdpdGggYSBzZXJ2aWNlIHdvcmtlcjwvdGl0bGU+Ci08c2Ny
aXB0IHNyYz0iLi4vdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGgxPlNlcnZp
Y2UgV29ya2VyIFRlc3RzPC9oMT4KLTxwPkRlbW9uc3RyYXRlcyBydW5uaW5nIDx0dD50ZXN0aGFy
bmVzczwvdHQ+IGJhc2VkIHRlc3RzIGluc2lkZSBhIHNlcnZpY2Ugd29ya2VyLgotPHA+VGhlIHRl
c3QgaGFybmVzcyBzaG91bGQgdGltZSBvdXQgZHVlIHRvIG9uZSBvZiB0aGUgdGVzdHMgaW5zaWRl
IHRoZSB3b3JrZXIgdGltaW5nIG91dC4KLTxwPlRoaXMgdGVzdCBhc3N1bWVzIHRoYXQgdGhlIGJy
b3dzZXIgc3VwcG9ydHMgPGEgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvc2VydmljZS13b3Jr
ZXJzLyI+U2VydmljZVdvcmtlcnM8L2E+LgotPGRpdiBpZD0ibG9nIj48L2Rpdj4KLQotPHNjcmlw
dD4KLXRlc3QoCi0gICAgZnVuY3Rpb24odCkgewotICAgICAgICBhc3NlcnRfdHJ1ZSgic2Vydmlj
ZVdvcmtlciIgaW4gbmF2aWdhdG9yLAotICAgICAgICAgICAgICAgICAgICAibmF2aWdhdG9yLnNl
cnZpY2VXb3JrZXIgZXhpc3RzIik7Ci0gICAgfSwKLSAgICAiQnJvd3NlciBzdXBwb3J0cyBTZXJ2
aWNlV29ya2VyIik7Ci0KLXByb21pc2VfdGVzdCgKLSAgICBmdW5jdGlvbigpIHsKLSAgICAgICAg
Ly8gU2luY2UgdGhlIHNlcnZpY2Ugd29ya2VyIHJlZ2lzdHJhdGlvbiBjb3VsZCBiZSBpbiBhbiBp
bmRldGVybWluYXRlCi0gICAgICAgIC8vIHN0YXRlIChkdWUgdG8sIGZvciBleGFtcGxlLCBhIHBy
ZXZpb3VzIHRlc3QgcnVuIGZhaWxpbmcpLCB3ZSBzdGFydCBieQotICAgICAgICAvLyB1bnJlZ3N0
ZXJpbmcgb3VyIHNlcnZpY2Ugd29ya2VyIGFuZCB0aGVuIHJlZ2lzdGVyaW5nIGl0IGFnYWluLgot
ICAgICAgICB2YXIgc2NvcGUgPSAiL3NlcnZpY2Utd29ya2VyLXNjb3BlIjsKLSAgICAgICAgdmFy
IHdvcmtlcl91cmwgPSAiYXBpc2FtcGxlLXdvcmtlci5qcyI7Ci0KLSAgICAgICAgcmV0dXJuIG5h
dmlnYXRvci5zZXJ2aWNlV29ya2VyLnJlZ2lzdGVyKHdvcmtlcl91cmwsIHtzY29wZTogc2NvcGV9
KQotICAgICAgICAgICAgLnRoZW4oCi0gICAgICAgICAgICAgICAgZnVuY3Rpb24ocmVnaXN0cmF0
aW9uKSB7Ci0gICAgICAgICAgICAgICAgICAgIHJldHVybiByZWdpc3RyYXRpb24udW5yZWdpc3Rl
cigpOwotICAgICAgICAgICAgICAgIH0pCi0gICAgICAgICAgICAudGhlbigKLSAgICAgICAgICAg
ICAgICBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5hdmlnYXRvci5z
ZXJ2aWNlV29ya2VyLnJlZ2lzdGVyKHdvcmtlcl91cmwsIHtzY29wZTogc2NvcGV9KTsKLSAgICAg
ICAgICAgICAgICB9KQotICAgICAgICAgICAgLnRoZW4oCi0gICAgICAgICAgICAgICAgZnVuY3Rp
b24ocmVnaXN0cmF0aW9uKSB7Ci0gICAgICAgICAgICAgICAgICAgIGFkZF9jb21wbGV0aW9uX2Nh
bGxiYWNrKAotICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgcmVnaXN0cmF0aW9uLnVucmVnaXN0ZXIoKTsKLSAgICAgICAgICAg
ICAgICAgICAgICAgIH0pOwotCi0gICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXcgUHJvbWlz
ZSgKLSAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uKHJlc29sdmUpIHsKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICByZWdpc3RyYXRpb24uYWRkRXZlbnRMaXN0ZW5lcigidXBkYXRl
Zm91bmQiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbigpIHsKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc29sdmUocmVnaXN0cmF0aW9uLmlu
c3RhbGxpbmcpOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKLSAgICAgICAg
ICAgICAgICAgICAgICAgIH0pOwotICAgICAgICAgICAgICAgIH0pCi0gICAgICAgICAgICAudGhl
bigKLSAgICAgICAgICAgICAgICBmdW5jdGlvbih3b3JrZXIpIHsKLSAgICAgICAgICAgICAgICAg
ICAgZmV0Y2hfdGVzdHNfZnJvbV93b3JrZXIod29ya2VyKTsKLSAgICAgICAgICAgICAgICB9KTsK
LSAgICB9LAotICAgICJSZWdpc3RlciBTZXJ2aWNlV29ya2VyIik7Ci08L3NjcmlwdD4KLTwvYm9k
eT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBsZTE3Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy9hcGlzYW1wbGUx
Ny5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjMjdjNDE3YjhmYi4uMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2FtcGxlMTcuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDU5
ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLTx0aXRsZT5TYW1wbGUg
Zm9yIHVzaW5nIGdlbmVyYXRlX3Rlc3RzIHRvIGNyZWF0ZSBhIHNlcmllcyBvZiB0ZXN0cyB0aGF0
IHNoYXJlIHRoZSBzYW1lIGNhbGxiYWNrLjwvdGl0bGU+Ci08c2NyaXB0IHNyYz0iLi4vdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPHNjcmlwdD4KLS8vIGdlbmVyYXRlX3Rlc3Rz
IHRha2VzIGFuIGFycmF5IG9mIGFycmF5cyB0aGF0IGRlZmluZSB0ZXN0cwotLy8gYnV0IGxldHMg
cGFzcyBpdCBhbiBlbXB0eSBhcnJheSBhbmQgdmVyaWZ5IGl0IGRvZXMgbm90aGluZy4KLWZ1bmN0
aW9uIG51bGxfY2FsbGJhY2soKSB7Ci0JdGhyb3cgIm51bGxfY2FsbGJhY2sgc2hvdWxkIG5vdCBi
ZSBjYWxsZWQuIjsKLX0KLWdlbmVyYXRlX3Rlc3RzKG51bGxfY2FsbGJhY2ssIFtdKTsKLQotLy8g
R2VuZXJhdGUgMyB0ZXN0cyBzcGVjaWZ5aW5nIHRoZSBuYW1lIGFuZCBvbmUgcGFyYW1ldGVyCi1m
dW5jdGlvbiB2YWxpZGF0ZV9hcmd1bWVudHMoYXJnMSkgewotCWFzc2VydF9lcXVhbHMoYXJnMSwg
MSwgIkVuc3VyZSB0aGF0IHdlIGdldCBvdXIgZXhwZWN0ZWQgYXJndW1lbnQiKTsKLX0KLWdlbmVy
YXRlX3Rlc3RzKHZhbGlkYXRlX2FyZ3VtZW50cywgWwotCVsiZmlyc3QgdGVzdCIsIDFdLAotCVsi
c2Vjb25kIHRlc3QiLCAxXSwKLQlbInRoaXJkIHRlc3QiLCAxXSwKLV0pOwotCi0vLyBHZW5lcmF0
ZSBhIHRlc3QgcGFzc2luZyBpbiBhIHByb3BlcnRpZXMgb2JqZWN0IHRoYXQgaXMgc2hhcmVkIGFj
cm9zcyB0ZXN0cy4KLWZ1bmN0aW9uIHZhbGlkYXRlX3Byb3BlcnRpZXMoKSB7Ci0JYXNzZXJ0X3Ry
dWUodGhpcy5wcm9wZXJ0aWVzLnNlbnRpbmVsLCAiRW5zdXJlIHRoYXQgd2UgZ290IHRoZSByaWdo
dCBwcm9wZXJ0aWVzIG9iamVjdC4iKTsKLX0KLWdlbmVyYXRlX3Rlc3RzKHZhbGlkYXRlX3Byb3Bl
cnRpZXMsIFtbInNlbnRpbmVsIGNoZWNrIDEiXSwgWyJzZW50aW5lbCBjaGVjayAyIl1dLCB7c2Vu
dGluZWw6IHRydWV9KTsKLQotLy8gR2VuZXJhdGUgYSB0ZXN0IHBhc3NpbmcgaW4gYSBwcm9wZXJ0
aWVzIG9iamVjdCB0aGF0IGlzIHNoYXJlZCBhY3Jvc3MgdGVzdHMuCi1mdW5jdGlvbiB2YWxpZGF0
ZV9zZXBhcmF0ZV9wcm9wZXJ0aWVzKCkgewotCWlmICh0aGlzLm5hbWUgPT09ICJzZW50aW5lbCBj
aGVjayAxIHVuaXF1ZSBwcm9wZXJ0aWVzIikgewotCQlhc3NlcnRfdHJ1ZSh0aGlzLnByb3BlcnRp
ZXMuc2VudGluZWwsICJFbnN1cmUgdGhhdCB3ZSBnb3QgdGhlIHJpZ2h0IHByb3BlcnRpZXMgb2Jq
ZWN0LiBFeHBlY3Qgc2VudGluZWw6IHRydWUuIik7Ci0JfQotCWVsc2UgewotCQlhc3NlcnRfZmFs
c2UodGhpcy5wcm9wZXJ0aWVzLnNlbnRpbmVsLCAiRW5zdXJlIHRoYXQgd2UgZ290IHRoZSByaWdo
dCBwcm9wZXJ0aWVzIG9iamVjdC4gRXhwZWN0IHNlbnRpbmVsOiBmYWxzZS4iKTsKLQl9Ci19Ci1n
ZW5lcmF0ZV90ZXN0cyh2YWxpZGF0ZV9zZXBhcmF0ZV9wcm9wZXJ0aWVzLCBbWyJzZW50aW5lbCBj
aGVjayAxIHVuaXF1ZSBwcm9wZXJ0aWVzIl0sIFsic2VudGluZWwgY2hlY2sgMiB1bmlxdWUgcHJv
cGVydGllcyJdXSwgW3tzZW50aW5lbDogdHJ1ZX0sIHtzZW50aW5lbDogZmFsc2V9XSk7Ci0KLS8v
IEZpbmFsbHkgZ2VuZXJhdGUgYSBjb21wbGljYXRlZCBzZXQgb2YgdGVzdHMgZnJvbSBhbm90aGVy
IGRhdGEgc291cmNlCi12YXIgbGV0dGVycyA9IFsiYSIsICJiIiwgImMiLCAiZCIsICJlIiwgImYi
XTsKLXZhciBudW1iZXJzID0gWzAsIDEsIDIsIDMsIDQsIDVdOwotZnVuY3Rpb24gdmFsaWRhdGVf
cmVsYXRlZF9hcmd1bWVudHMoYXJnMSwgYXJnMikgewotCWFzc2VydF9lcXVhbHMoYXJnMS5jaGFy
Q29kZUF0KDApIC0gImEiLmNoYXJDb2RlQXQoMCksIGFyZzIsICJFbnN1cmUgdGhhdCB3ZSBjYW4g
bWFwIGxldHRlcnMgdG8gbnVtYmVycy4iKTsKLX0KLWZ1bmN0aW9uIGZvcm1hdF9hc190ZXN0KGxl
dHRlciwgaW5kZXgsIGxldHRlcnMpIHsKLQlyZXR1cm4gWyJUZXN0IHRvIG1hcCAiICsgbGV0dGVy
ICsgIiB0byAiICsgbnVtYmVyc1tpbmRleF0sIGxldHRlciwgbnVtYmVyc1tpbmRleF1dOwotfQot
Z2VuZXJhdGVfdGVzdHModmFsaWRhdGVfcmVsYXRlZF9hcmd1bWVudHMsIGxldHRlcnMubWFwKGZv
cm1hdF9hc190ZXN0KSk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KLQotCi0KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL2V4YW1wbGVzL2FwaXNhbXBsZTE4Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy9hcGlzYW1wbGUxOC5odG1sCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5NTBhMTUwYTZjMC4uMDAwMDAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
ZXhhbXBsZXMvYXBpc2FtcGxlMTguaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDI2ICswLDAgQEAK
LTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLTx0aXRsZT5FeGFtcGxlIHdpdGggaWZy
YW1lIHRoYXQgY29uc29saWRhdGVzIGVycm9ycyB2aWEgZmV0Y2hfdGVzdHNfZnJvbV93aW5kb3c8
L3RpdGxlPgotPHNjcmlwdCBzcmM9Ii4uL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSIuLi90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotdmFy
IHBhcmVudF90ZXN0ID0gYXN5bmNfdGVzdCgiVGVzdCBleGVjdXRpbmcgaW4gcGFyZW50IGNvbnRl
eHQiKTsKLTwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgb25sb2FkPSJwYXJlbnRfdGVzdC5kb25l
KCkiPgotPGgxPkZldGNoaW5nIFRlc3RzIEZyb20gYSBDaGlsZCBDb250ZXh0PC9oMT4KLTxwPlRo
aXMgdGVzdCBkZW1vbnN0cmF0ZXMgdGhlIHVzZSBvZiA8dHQ+ZmV0Y2hfdGVzdHNfZnJvbV93aW5k
b3c8L3R0PiB0byBwdWxsCi10ZXN0cyBmcm9tIGFuIDx0dD5pZnJhbWU8L3R0PiBpbnRvIHRoZSBw
cmltYXJ5IGRvY3VtZW50LjwvcD4KLTxwPlRoZSB0ZXN0IHN1aXRlIGlzIGV4cGVjdGVkIHRvIGZh
aWwgZHVlIHRvIGFuIHVuaGFuZGxlZCBleGNlcHRpb24gaW4gdGhlCi1jaGlsZCBjb250ZXh0Ljwv
cD4KLTxkaXYgaWQ9ImxvZyI+PC9kaXY+Ci0KLTxpZnJhbWUgaWQ9ImNoaWxkQ29udGV4dCIgc3Jj
PSJhcGlzYW1wbGU0Lmh0bSIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+PC9pZnJhbWU+Ci08IS0tICBh
cGlzYW1wbGU0IGlzIGEgZmFpbGluZyBzdWl0ZSBkdWUgdG8gYW4gdW5oYW5kbGVkIEVycm9yLiAg
LS0+Ci0KLTxzY3JpcHQ+Ci0JdmFyIGNoaWxkQ29udGV4dCA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjaGlsZENvbnRleHQiKTsKLQlmZXRjaF90ZXN0c19mcm9tX3dpbmRvdyhjaGlsZENvbnRl
eHQuY29udGVudFdpbmRvdyk7Ci08L3NjcmlwdD4KLTwvYm9keT4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy9hcGlzYW1wbGUxOS5odG1sIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZXMvYXBp
c2FtcGxlMTkuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggN2JjYTEzNGFiMjIu
LjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBsZTE5Lmh0bWwKKysrIC9kZXYvbnVsbApA
QCAtMSwyNiArMCwwIEBACi08IURPQ1RZUEUgSFRNTD4KLTxodG1sPgotPGhlYWQ+Ci08dGl0bGU+
RXhhbXBsZSB3aXRoIGlmcmFtZSB0aGF0IGNvbnNvbGlkYXRlcyB0ZXN0cyB2aWEgZmV0Y2hfdGVz
dHNfZnJvbV93aW5kb3c8L3RpdGxlPgotPHNjcmlwdCBzcmM9Ii4uL3Rlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0PgotdmFyIHBhcmVudF90ZXN0ID0gYXN5bmNfdGVzdCgiVGVzdCBleGVjdXRpbmcg
aW4gcGFyZW50IGNvbnRleHQiKTsKLTwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgb25sb2FkPSJw
YXJlbnRfdGVzdC5kb25lKCkiPgotPGgxPkZldGNoaW5nIFRlc3RzIEZyb20gYSBDaGlsZCBDb250
ZXh0PC9oMT4KLTxwPlRoaXMgdGVzdCBkZW1vbnN0cmF0ZXMgdGhlIHVzZSBvZiA8dHQ+ZmV0Y2hf
dGVzdHNfZnJvbV93aW5kb3c8L3R0PiB0byBwdWxsCi10ZXN0cyBmcm9tIGFuIDx0dD5pZnJhbWU8
L3R0PiBpbnRvIHRoZSBwcmltYXJ5IGRvY3VtZW50LjwvcD4KLTxwPlRoZSB0ZXN0IHN1aXRlIHdp
bGwgbm90IGNvbXBsZXRlIHVudGlsIHRlc3RzIGluIHRoZSBjaGlsZCBjb250ZXh0IGhhdmUgZmlu
aXNoZWQKLWV4ZWN1dGluZzwvcD4KLTxkaXYgaWQ9ImxvZyI+PC9kaXY+Ci0KLTxpZnJhbWUgaWQ9
ImNoaWxkQ29udGV4dCIgc3JjPSJhcGlzYW1wbGUxMC5odG1sIiBzdHlsZT0iZGlzcGxheTpub25l
Ij48L2lmcmFtZT4KLTwhLS0gIGFwaXNhbXBsZTEwIGhhcyBhc3luYyB0ZXN0cyB3aXRoIHByb21p
c2VzICAtLT4KLQotPHNjcmlwdD4KLQl2YXIgY2hpbGRDb250ZXh0ID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNoaWxkQ29udGV4dCIpOwotCWZldGNoX3Rlc3RzX2Zyb21fd2luZG93KGNoaWxk
Q29udGV4dC5jb250ZW50V2luZG93KTsKLTwvc2NyaXB0PgotPC9ib2R5PgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBsZTIuaHRtIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZXMv
YXBpc2FtcGxlMi5odG0KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDRhNGMxNmI0ZGZh
Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy9hcGlzYW1wbGUyLmh0bQorKysgL2Rldi9udWxsCkBA
IC0xLDE5ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLTx0aXRsZT5T
YW1wbGUgSFRNTDUgQVBJIFRlc3RzPC90aXRsZT4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0ibG9h
ZF90ZXN0X2F0dHIuZG9uZSgpIj4KLTxoMT5TYW1wbGUgSFRNTDUgQVBJIFRlc3RzPC9oMT4KLTxw
PlRoZXJlIHNob3VsZCBiZSB0d28gcmVzdWx0czwvcD4KLTxkaXYgaWQ9ImxvZyI+PC9kaXY+Ci08
c2NyaXB0IHNyYz0iLi4vdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4u
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci1zZXR1cCh7ZXhwbGlj
aXRfZG9uZTp0cnVlfSkKLXRlc3QoZnVuY3Rpb24oKSB7YXNzZXJ0X3RydWUodHJ1ZSl9LCAiVGVz
dCBkZWZpbmVkIGJlZm9yZSBvbmxvYWQiKTsKLQotb25sb2FkID0gZnVuY3Rpb24oKSB7dGVzdChm
dW5jdGlvbiAoKXthc3NlcnRfdHJ1ZSh0cnVlKX0sICJUZXN0IGRlZmluZWQgYWZ0ZXIgb25sb2Fk
Iik7Ci1kb25lKCk7Ci19Ci08L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBsZTMu
aHRtIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvZXhhbXBsZXMvYXBpc2FtcGxlMy5odG0KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDRkYmJmOWE4NzFiLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy9hcGlzYW1wbGUzLmh0bQorKysg
L2Rldi9udWxsCkBAIC0xLDE3ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVh
ZD4KLTx0aXRsZT5TYW1wbGUgSFRNTDUgQVBJIFRlc3RzPC90aXRsZT4KLTwvaGVhZD4KLTxzY3Jp
cHQgc3JjPSIuLi90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci0KLTxib2R5IG9ubG9hZD0ibG9h
ZF90ZXN0X2F0dHIuZG9uZSgpIj4KLTxoMT5TYW1wbGUgSFRNTDUgQVBJIFRlc3RzPC9oMT4KLTxk
aXYgaWQ9ImxvZyI+PC9kaXY+Ci08c2NyaXB0Pgotc2V0dXAoe2V4cGxpY2l0X3RpbWVvdXQ6dHJ1
ZX0pOwotdmFyIHQgPSBhc3luY190ZXN0KCJUaGlzIHRlc3Qgc2hvdWxkIGdpdmUgYSBzdGF0dXMg
b2YgJ05vdCBSdW4nIHdpdGhvdXQgYSBkZWxheSIpOwotdGltZW91dCgpOwotPC9zY3JpcHQ+Ci08
L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy9hcGlzYW1wbGU0Lmh0bSBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVz
L2FwaXNhbXBsZTQuaHRtCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjOGZiYmRlZDY5
NS4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2FtcGxlNC5odG0KKysrIC9kZXYvbnVsbApA
QCAtMSwxNiArMCwwIEBACi08IURPQ1RZUEUgSFRNTD4KLTxodG1sPgotPGhlYWQ+Ci08dGl0bGU+
SGFybmVzcyBIYW5kbGluZyBVbmNhdWdodCBFeGNlcHRpb248L3RpdGxlPgotPC9oZWFkPgotPHNj
cmlwdCBzcmM9Ii4uL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLQotPGJvZHk+Ci08aDE+SGFy
bmVzcyBIYW5kbGluZyBVbmNhdWdodCBFeGNlcHRpb248L2gxPgotPGRpdiBpZD0ibG9nIj48L2Rp
dj4KLTxzY3JpcHQ+Ci12YXIgdCA9IGFzeW5jX3Rlc3QoIlRoaXMgc2hvdWxkIHNob3cgYSBoYXJu
ZXNzIHN0YXR1cyBvZiAnRXJyb3InIGFuZCBhIHRlc3Qgc3RhdHVzIG9mICdOb3QgUnVuJyIpOwot
dGhyb3cgbmV3IEVycm9yKCJFeGFtcGxlIEVycm9yIik7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBsZTUuaHRtIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2FtcGxl
NS5odG0KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDNlZGY2MDJhMWU2Li4wMDAwMDAw
MDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy9leGFtcGxlcy9hcGlzYW1wbGU1Lmh0bQorKysgL2Rldi9udWxsCkBAIC0xLDE4ICsw
LDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLTx0aXRsZT5IYXJuZXNzIEln
bm9yaW5nIFVuY2F1Z2h0IEV4Y2VwdGlvbjwvdGl0bGU+Ci08L2hlYWQ+Ci08c2NyaXB0IHNyYz0i
Li4vdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotCi08Ym9keT4KLTxoMT5IYXJuZXNzIElnbm9y
aW5nIFVuY2F1Z2h0IEV4Y2VwdGlvbjwvaDE+Ci08ZGl2IGlkPSJsb2ciPjwvZGl2PgotPHNjcmlw
dD4KLXNldHVwKHthbGxvd191bmNhdWdodF9leGNlcHRpb246dHJ1ZX0pOwotdmFyIHQgPSBhc3lu
Y190ZXN0KCJzZXR1cCh7YWxsb3dfdW5jYXVnaHRfZXhjZXB0aW9uOnRydWV9KSBzaG91bGQgYWxs
b3cgdGVzdHMgdG8gcGFzcyBldmVuIGlmIHRoZXJlIGlzIGFuIGV4Y2VwdGlvbiIpOwotb25lcnJv
ciA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKCkge3QuZG9uZSgpfSk7Ci10aHJvdyBuZXcgRXJyb3Io
IkV4YW1wbGUgRXJyb3IiKTsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
ZXhhbXBsZXMvYXBpc2FtcGxlNi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2FtcGxlNi5odG1sCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3NDU5YzU0ZDU3Mi4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZXhhbXBs
ZXMvYXBpc2FtcGxlNi5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTAgKzAsMCBAQAotPCFET0NU
WVBFIEhUTUw+Ci08dGl0bGU+RXhhbXBsZSB3aXRoIGZpbGVfaXNfdGVzdDwvdGl0bGU+Ci08c2Ny
aXB0IHNyYz0iLi4vdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci1vbmxvYWQgPSBmdW5jdGlv
bigpIHsKLSAgYXNzZXJ0X3RydWUodHJ1ZSk7Ci0gIGRvbmUoKTsKLX0KLTwvc2NyaXB0PgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBsZTcuaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L2V4YW1wbGVzL2FwaXNhbXBsZTcuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
Njg4NWY1MmY4YTUuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBsZTcuaHRtbAorKysg
L2Rldi9udWxsCkBAIC0xLDEwICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPHRpdGxlPkV4YW1w
bGUgd2l0aCBmaWxlX2lzX3Rlc3QgKHNob3VsZCBmYWlsKTwvdGl0bGU+Ci08c2NyaXB0IHNyYz0i
Li4vdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci1vbmxvYWQgPSBmdW5jdGlvbigpIHsKLSAg
YXNzZXJ0X3RydWUoZmFsc2UpOwotICBkb25lKCk7Ci19Ci08L3NjcmlwdD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy9hcGlzYW1wbGU4Lmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9leGFtcGxl
cy9hcGlzYW1wbGU4Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDcwODUzZDlj
NmM1Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy9hcGlzYW1wbGU4Lmh0bWwKKysrIC9kZXYvbnVs
bApAQCAtMSw4ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPHRpdGxlPkV4YW1wbGUgc2luZ2xl
IHBhZ2UgdGVzdCB3aXRoIG5vIGJvZHk8L3RpdGxlPgotPHNjcmlwdCBzcmM9Ii4uL3Rlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0PgotYXNzZXJ0X3RydWUodHJ1ZSk7Ci1kb25lKCk7Ci08L3Njcmlw
dD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy9hcGlzYW1w
bGU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy9leGFtcGxlcy9hcGlzYW1wbGU5Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IGY4NDQzM2RkMTk4Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy9hcGlzYW1wbGU5Lmh0
bWwKKysrIC9kZXYvbnVsbApAQCAtMSw3ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPHRpdGxl
PkV4YW1wbGUgc2luZ2xlIHBhZ2UgdGVzdCB3aXRoIG5vIGFzc2VydHM8L3RpdGxlPgotPHNjcmlw
dCBzcmM9Ii4uL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotZG9uZSgpOwotPC9zY3JpcHQ+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZXMvdzNjLWltcG9y
dC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy9leGFtcGxlcy93M2MtaW1wb3J0LmxvZwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDc0NWZiNTg0NDYuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL3czYy1pbXBvcnQubG9nCisr
KyAvZGV2L251bGwKQEAgLTEsMzcgKzAsMCBAQAotVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5
IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCi1EbyBOT1QgbW9kaWZ5IHRo
ZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVx
dWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cwotCi1UaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3Rz
IGluIFdlYktpdCB0byByZWltcG9ydAotCi1EbyBOT1QgbW9kaWZ5IG9yIHJlbW92ZSB0aGlzIGZp
bGUuCi0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotUHJvcGVydGllcyByZXF1aXJpbmcgdmVuZG9yIHByZWZp
eGVzOgotTm9uZQotUHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6Ci1O
b25lCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0KLUxpc3Qgb2YgZmlsZXM6Ci0vTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2FtcGxlLWVy
cm9yLXdvcmtlci5qcwotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBsZS13b3JrZXIuanMKLS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy9hcGlzYW1w
bGUuaHRtCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvZXhhbXBsZXMvYXBpc2FtcGxlMTAuaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBsZTExLmh0bWwK
LS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9l
eGFtcGxlcy9hcGlzYW1wbGUxMi5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2FtcGxlMTMuaHRtbAotL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVz
L2FwaXNhbXBsZTE0Lmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy9hcGlzYW1wbGUxNS5odG1sCi0vTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2Ft
cGxlMTYuaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBsZTE3Lmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy9hcGlzYW1wbGUxOC5o
dG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvZXhhbXBsZXMvYXBpc2FtcGxlMTkuaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBsZTIuaHRtCi0vTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZXhhbXBs
ZXMvYXBpc2FtcGxlMy5odG0KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy9hcGlzYW1wbGU0Lmh0bQotL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBs
ZTUuaHRtCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvZXhhbXBsZXMvYXBpc2FtcGxlNi5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2FtcGxlNy5odG1sCi0v
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZXhh
bXBsZXMvYXBpc2FtcGxlOC5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2FtcGxlOS5odG1sCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90
ZXN0L1JFQURNRS5tZCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3Rlc3QvUkVBRE1FLm1kCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAxODVhZTVmNGVmYy4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC9SRUFETUUubWQKKysrIC9kZXYvbnVs
bApAQCAtMSw5MCArMCwwIEBACi0jIGB0ZXN0aGFybmVzcy5qc2AgdGVzdCBzdWl0ZQotCi1UaGUg
dGVzdCBzdWl0ZSBmb3IgdGhlIGB0ZXN0aGFybmVzcy5qc2AgdGVzdGluZyBmcmFtZXdvcmsuCi0K
LSMjIEV4ZWN1dGluZyBUZXN0cwotCi1JbnN0YWxsIHRoZSBmb2xsb3dpbmcgZGVwZW5kZW5jaWVz
OgotCi0tIFtQeXRob24gMi43LjkrXShodHRwczovL3d3dy5weXRob24ub3JnLykKLS0gW3RoZSB0
b3ggUHl0aG9uIHBhY2thZ2VdKGh0dHBzOi8vdG94LnJlYWR0aGVkb2NzLmlvL2VuL2xhdGVzdC8p
Ci0tIFt0aGUgTW96aWxsYSBGaXJlZm94IHdlYiBicm93c2VyXShodHRwczovL21vemlsbGEub3Jn
L2ZpcmVmb3gpCi0tIFt0aGUgR2Vja29Ecml2ZXIgc2VydmVyXShodHRwczovL2dpdGh1Yi5jb20v
bW96aWxsYS9nZWNrb2RyaXZlcikKLQotTWFrZSBzdXJlIGBnZWNrb2RyaXZlcmAgY2FuIGJlIGZv
dW5kIGluIHlvdXIgYFBBVEhgLgotCi1DdXJyZW50bHksIHRoZSB0ZXN0cyBzaG91bGQgYmUgcnVu
IHdpdGggdGhlIGxhdGVzdCAqRmlyZWZveCBOaWdodGx5Ki4gSW4gb3JkZXIgdG8KLXNwZWNpZnkg
dGhlIHBhdGggdG8gRmlyZWZveCBOaWdodGx5LCB1c2UgdGhlIGZvbGxvd2luZyBjb21tYW5kLWxp
bmUgb3B0aW9uOgotCi0gICAgdG94IC0tIC0tYmluYXJ5PS9wYXRoL3RvL0ZpcmVmb3hOaWdodGx5
Ci0KLSMjIyBBdXRvbWF0ZWQgU2NyaXB0Ci0KLUFsdGVybmF0aXZlbHksIHlvdSBtYXkgcnVuIGB0
b29scy9jaS9jaV9yZXNvdXJjZXNfdW5pdHRlc3Quc2hgLCB3aGljaCBvbmx5IGRlcGVuZHMgb24K
LVB5dGhvbiAyLiBUaGUgc2NyaXB0IHdpbGwgaW5zdGFsbCBvdGhlciBkZXBlbmRlbmNpZXMgYXV0
b21hdGljYWxseSBhbmQgc3RhcnQgYHRveGAgd2l0aAotdGhlIGNvcnJlY3QgYXJndW1lbnRzLgot
Ci0jIyBBdXRob3JpbmcgVGVzdHMKLQotVGVzdCBjYXNlcyBhcmUgZXhwcmVzc2VkIGFzIGAuaHRt
bGAgZmlsZXMgbG9jYXRlZCB3aXRoaW4gdGhlIGB0ZXN0cy91bml0L2AgYW5kCi1gdGVzdHMvZnVu
Y3Rpb25hbC9gIHN1Yi1kaXJlY3Rvcmllcy4gRWFjaCB0ZXN0IHNob3VsZCBpbmNsdWRlIHRoZQot
YHRlc3RoYXJuZXNzLmpzYCBsaWJyYXJ5IHdpdGggdGhlIGZvbGxvd2luZyBtYXJrdXA6Ci0KLSAg
ICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci0gICAg
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgot
Ci1UaGlzIHNob3VsZCBiZSBmb2xsb3dlZCBieSBvbmUgb3IgbW9yZSBgPHNjcmlwdD5gIHRhZ3Mg
dGhhdCBpbnRlcmZhY2Ugd2l0aCB0aGUKLWB0ZXN0aGFybmVzcy5qc2AgQVBJIGluIHNvbWUgd2F5
LiBGb3IgZXhhbXBsZToKLQotICAgIDxzY3JpcHQ+Ci0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAg
ICAgICAgMSA9IDE7Ci0gICAgICB9LCAnVGhpcyB0ZXN0IGlzIGV4cGVjdGVkIHRvIGZhaWwuJyk7
Ci0gICAgPC9zY3JpcHQ+Ci0KLSMjIyBVbml0IHRlc3RzCi0KLVRoZSAidW5pdCB0ZXN0IiB0eXBl
IGFsbG93cyBmb3IgY29uY2lzZWx5IHRlc3RpbmcgdGhlIGV4cGVjdGVkIGJlaGF2aW9yIG9mCi1h
c3NlcnRpb24gbWV0aG9kcy4gVGhlc2UgdGVzdHMgbWF5IGRlZmluZSBhbnkgbnVtYmVyIG9mIHN1
Yi10ZXN0czsgdGhlCi1hY2NlcHRhbmNlIGNyaXRlcmlhIGlzIHNpbXBseSB0aGF0IGFsbCB0ZXN0
cyBleGVjdXRlZCBwYXNzLgotCi0jIyMgRnVuY3Rpb25hbCB0ZXN0cwotCi1UaG9yb3VnaGx5IHRl
c3RpbmcgdGhlIGJlaGF2aW9yIG9mIHRoZSBoYXJuZXNzIGl0c2VsZiByZXF1aXJlcyBlbnN1cmlu
ZyBhCi1udW1iZXIgb2YgY29uc2lkZXJhdGlvbnMgd2hpY2ggY2Fubm90IGJlIHZlcmlmaWVkIHdp
dGggdGhlICJ1bml0IHRlc3RpbmciCi1zdHJhdGVneS4gVGhlc2UgaW5jbHVkZToKLQotLSBFbnN1
cmluZyB0aGF0IHNvbWUgdGVzdHMgYXJlIG5vdCBydW4KLS0gRW5zdXJpbmcgY29uZGl0aW9ucyB0
aGF0IGNhdXNlIHRlc3QgZmFpbHVyZXMKLS0gRW5zdXJpbmcgY29uZGl0aW9ucyB0aGF0IGNhdXNl
IGhhcm5lc3MgZXJyb3JzCi0KLUZ1bmN0aW9uYWwgdGVzdHMgYWxsb3cgZm9yIHRoZXNlIGRldGFp
bHMgdG8gYmUgdmVyaWZpZWQuIEV2ZXJ5IGZ1bmN0aW9uYWwgdGVzdAotbXVzdCBpbmNsdWRlIGEg
c3VtbWFyeSBvZiB0aGUgZXhwZWN0ZWQgcmVzdWx0cyBhcyBhIEpTT04gc3RyaW5nIHdpdGhpbiBh
Ci1gPHNjcmlwdD5gIHRhZyB3aXRoIGFuIGBpZGAgb2YgYCJleHBlY3RlZCJgLCBlLmcuOgotCi0g
ICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2pzb24iIGlkPSJleHBlY3RlZCI+Ci0gICAgewotICAgICAg
InN1bW1hcml6ZWRfc3RhdHVzIjogewotICAgICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAg
ICJzdGFjayI6IG51bGwsCi0gICAgICAgICJzdGF0dXNfc3RyaW5nIjogIk9LIgotICAgICAgfSwK
LSAgICAgICJzdW1tYXJpemVkX3Rlc3RzIjogWwotICAgICAgICB7Ci0gICAgICAgICAgIm1lc3Nh
Z2UiOiAiUmVmZXJlbmNlRXJyb3I6IGludmFsaWQgYXNzaWdubWVudCBsZWZ0LWhhbmQgc2lkZSIs
Ci0gICAgICAgICAgIm5hbWUiOiAiU2FtcGxlIEhUTUw1IEFQSSBUZXN0cyIsCi0gICAgICAgICAg
InByb3BlcnRpZXMiOiB7fSwKLSAgICAgICAgICAic3RhY2siOiAiKGltcGxlbWVudGF0aW9uLWRl
ZmluZWQpIiwKLSAgICAgICAgICAic3RhdHVzX3N0cmluZyI6ICJGQUlMIgotICAgICAgICB9Ci0g
ICAgICBdLAotICAgICAgInR5cGUiOiAiY29tcGxldGUiCi0gICAgfQotICAgIDwvc2NyaXB0Pgot
Ci1gdGVzdGhhcm5lc3MuanNgIGlzIGV4cGVjdGVkIHRvIGZ1bmN0aW9uIGNvbnNpc3RlbnRseSBp
biBhIG51bWJlciBvZgotZGlzdGluY3QgZW52aXJvbm1lbnRzLiBJbiBvcmRlciB0byB2ZXJpZnkg
dGhpcyBleHBlY3RhdGlvbiwgZWFjaCBmdW5jdGlvbmFsCi10ZXN0IG1heSBiZSBleGVjdXRlZCB1
bmRlciBhIG51bWJlciBvZiBkaXN0aW5jdCBjb25kaXRpb25zLiBUaGVzZSBjb25kaXRpb25zCi1h
cmUgYXBwbGllZCB1c2luZyBXUFQncyAidGVzdCB2YXJpYW50cyIgcGF0dGVybi4gVGhlIGF2YWls
YWJsZSB2YXJpYW50cyBhcmUKLWRlZmluZWQgaW4gdGhlIGB2YXJpYW50cy5qc2AgZmlsZTsgdGhp
cyBmaWxlIG11c3QgYmUgaW5jbHVkZWQgYmVmb3JlCi1gdGVzdGhhcm5lc3MuanNgLiBFdmVyeSB0
ZXN0IG11c3Qgc3BlY2lmeSBhdCBsZWFzdCBvbmUgdmFyaWFudC4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvY29u
ZnRlc3QucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy90ZXN0L2NvbmZ0ZXN0LnB5CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0
Y2FhNzk0M2ZiNy4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC9jb25mdGVzdC5weQorKysgL2Rldi9udWxs
CkBAIC0xLDI0MiArMCwwIEBACi1pbXBvcnQgaW8KLWltcG9ydCBqc29uCi1pbXBvcnQgb3MKLWlt
cG9ydCBzc2wKLQotaW1wb3J0IGh0bWw1bGliCi1pbXBvcnQgcHkKLWltcG9ydCBweXRlc3QKLWZy
b20gc2VsZW5pdW0gaW1wb3J0IHdlYmRyaXZlcgotZnJvbSBzaXggaW1wb3J0IHRleHRfdHlwZQot
ZnJvbSBzaXgubW92ZXMgaW1wb3J0IHVybGxpYgotCi1mcm9tIHdwdHNlcnZlciBpbXBvcnQgV1BU
U2VydmVyCi0KLUhFUkUgPSBvcy5wYXRoLmRpcm5hbWUob3MucGF0aC5hYnNwYXRoKF9fZmlsZV9f
KSkKLVdQVF9ST09UID0gb3MucGF0aC5ub3JtcGF0aChvcy5wYXRoLmpvaW4oSEVSRSwgJy4uJywg
Jy4uJykpCi1IQVJORVNTID0gb3MucGF0aC5qb2luKEhFUkUsICdoYXJuZXNzLmh0bWwnKQotVEVT
VF9UWVBFUyA9ICgnZnVuY3Rpb25hbCcsICd1bml0JykKLQotCi1kZWYgcHl0ZXN0X2FkZG9wdGlv
bihwYXJzZXIpOgotICAgIHBhcnNlci5hZGRvcHRpb24oIi0tYmluYXJ5IiwgYWN0aW9uPSJzdG9y
ZSIsIGRlZmF1bHQ9Tm9uZSwgaGVscD0icGF0aCB0byBicm93c2VyIGJpbmFyeSIpCi0KLQotZGVm
IHB5dGVzdF9jb2xsZWN0X2ZpbGUocGF0aCwgcGFyZW50KToKLSAgICBpZiBwYXRoLmV4dC5sb3dl
cigpICE9ICcuaHRtbCc6Ci0gICAgICAgIHJldHVybgotCi0gICAgIyBUZXN0cyBhcmUgb3JnYW5p
emVkIGluIGRpcmVjdG9yaWVzIGJ5IHR5cGUKLSAgICB0ZXN0X3R5cGUgPSBvcy5wYXRoLnJlbHBh
dGgoc3RyKHBhdGgpLCBIRVJFKQotICAgIGlmIG9zLnBhdGguc2VwIG5vdCBpbiB0ZXN0X3R5cGUg
b3IgIi4uIiBpbiB0ZXN0X3R5cGU6Ci0gICAgICAgICMgSFRNTCBmaWxlcyBpbiB0aGlzIGRpcmVj
dG9yeSBhcmUgbm90IHRlc3RzCi0gICAgICAgIHJldHVybgotICAgIHRlc3RfdHlwZSA9IHRlc3Rf
dHlwZS5zcGxpdChvcy5wYXRoLnNlcClbMV0KLQotICAgIHJldHVybiBIVE1MSXRlbShzdHIocGF0
aCksIHRlc3RfdHlwZSwgcGFyZW50KQotCi0KLWRlZiBweXRlc3RfY29uZmlndXJlKGNvbmZpZyk6
Ci0gICAgY29uZmlnLmRyaXZlciA9IHdlYmRyaXZlci5GaXJlZm94KGZpcmVmb3hfYmluYXJ5PWNv
bmZpZy5nZXRvcHRpb24oIi0tYmluYXJ5IikpCi0gICAgY29uZmlnLmFkZF9jbGVhbnVwKGNvbmZp
Zy5kcml2ZXIucXVpdCkKLQotICAgIGNvbmZpZy5zZXJ2ZXIgPSBXUFRTZXJ2ZXIoV1BUX1JPT1Qp
Ci0gICAgY29uZmlnLnNlcnZlci5zdGFydCgpCi0gICAgIyBBbHRob3VnaCB0aGUgbmFtZSBvZiB0
aGUgYF9jcmVhdGVfdW52ZXJpZmllZF9jb250ZXh0YCBtZXRob2Qgc3VnZ2VzdHMKLSAgICAjIHRo
YXQgaXQgaXMgbm90IGludGVuZGVkIGZvciBleHRlcm5hbCBjb25zdW1wdGlvbiwgdGhlIHN0YW5k
YXJkIGxpYnJhcnkncwotICAgICMgZG9jdW1lbnRhdGlvbiBleHBsaWNpdGx5IGVuZG9yc2VzIGl0
cyB1c2U6Ci0gICAgIwotICAgICMgPiBUbyByZXZlcnQgdG8gdGhlIHByZXZpb3VzLCB1bnZlcmlm
aWVkLCBiZWhhdmlvcgotICAgICMgPiBzc2wuX2NyZWF0ZV91bnZlcmlmaWVkX2NvbnRleHQoKSBj
YW4gYmUgcGFzc2VkIHRvIHRoZSBjb250ZXh0Ci0gICAgIyA+IHBhcmFtZXRlci4KLSAgICAjCi0g
ICAgIyBodHRwczovL2RvY3MucHl0aG9uLm9yZy8yL2xpYnJhcnkvaHR0cGxpYi5odG1sI2h0dHBs
aWIuSFRUUFNDb25uZWN0aW9uCi0gICAgY29uZmlnLnNzbF9jb250ZXh0ID0gc3NsLl9jcmVhdGVf
dW52ZXJpZmllZF9jb250ZXh0KCkKLSAgICBjb25maWcuYWRkX2NsZWFudXAoY29uZmlnLnNlcnZl
ci5zdG9wKQotCi0KLWRlZiByZXNvbHZlX3VyaShjb250ZXh0LCB1cmkpOgotICAgIGlmIHVyaS5z
dGFydHN3aXRoKCcvJyk6Ci0gICAgICAgIGJhc2UgPSBXUFRfUk9PVAotICAgICAgICBwYXRoID0g
dXJpWzE6XQotICAgIGVsc2U6Ci0gICAgICAgIGJhc2UgPSBvcy5wYXRoLmRpcm5hbWUoY29udGV4
dCkKLSAgICAgICAgcGF0aCA9IHVyaQotCi0gICAgcmV0dXJuIG9zLnBhdGguZXhpc3RzKG9zLnBh
dGguam9pbihiYXNlLCBwYXRoKSkKLQotCi1jbGFzcyBIVE1MSXRlbShweXRlc3QuSXRlbSwgcHl0
ZXN0LkNvbGxlY3Rvcik6Ci0gICAgZGVmIF9faW5pdF9fKHNlbGYsIGZpbGVuYW1lLCB0ZXN0X3R5
cGUsIHBhcmVudCk6Ci0gICAgICAgIHNlbGYudXJsID0gcGFyZW50LnNlc3Npb24uY29uZmlnLnNl
cnZlci51cmwoZmlsZW5hbWUpCi0gICAgICAgIHNlbGYudHlwZSA9IHRlc3RfdHlwZQotICAgICAg
ICBzZWxmLnZhcmlhbnRzID0gW10KLSAgICAgICAgIyBTb21lIHRlc3RzIGFyZSByZWxpYW50IG9u
IHRoZSBXUFQgc2VydmVycyBzdWJzdGl0dXRpb24gZnVuY3Rpb25hbGl0eSwKLSAgICAgICAgIyBz
byB0ZXN0cyBtdXN0IGJlIHJldHJpZXZlZCBmcm9tIHRoZSBzZXJ2ZXIgcmF0aGVyIHRoYW4gcmVh
ZCBmcm9tIHRoZQotICAgICAgICAjIGZpbGUgc3lzdGVtIGRpcmVjdGx5LgotICAgICAgICBoYW5k
bGUgPSB1cmxsaWIucmVxdWVzdC51cmxvcGVuKHNlbGYudXJsLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQ9cGFyZW50LnNlc3Npb24uY29uZmlnLnNzbF9j
b250ZXh0KQotICAgICAgICB0cnk6Ci0gICAgICAgICAgICBtYXJrdXAgPSBoYW5kbGUucmVhZCgp
Ci0gICAgICAgIGZpbmFsbHk6Ci0gICAgICAgICAgICBoYW5kbGUuY2xvc2UoKQotCi0gICAgICAg
IGlmIHRlc3RfdHlwZSBub3QgaW4gVEVTVF9UWVBFUzoKLSAgICAgICAgICAgIHJhaXNlIFZhbHVl
RXJyb3IoJ1VucmVjb2duaXplZCB0ZXN0IHR5cGU6ICIlcyInICUgdGVzdF90eXBlKQotCi0gICAg
ICAgIHBhcnNlZCA9IGh0bWw1bGliLnBhcnNlKG1hcmt1cCwgbmFtZXNwYWNlSFRNTEVsZW1lbnRz
PUZhbHNlKQotICAgICAgICBuYW1lID0gTm9uZQotICAgICAgICBpbmNsdWRlc192YXJpYW50c19z
Y3JpcHQgPSBGYWxzZQotICAgICAgICBzZWxmLmV4cGVjdGVkID0gTm9uZQotCi0gICAgICAgIGZv
ciBlbGVtZW50IGluIHBhcnNlZC5nZXRpdGVyYXRvcigpOgotICAgICAgICAgICAgaWYgbm90IG5h
bWUgYW5kIGVsZW1lbnQudGFnID09ICd0aXRsZSc6Ci0gICAgICAgICAgICAgICAgbmFtZSA9IGVs
ZW1lbnQudGV4dAotICAgICAgICAgICAgICAgIGNvbnRpbnVlCi0gICAgICAgICAgICBpZiBlbGVt
ZW50LnRhZyA9PSAnbWV0YScgYW5kIGVsZW1lbnQuYXR0cmliLmdldCgnbmFtZScpID09ICd2YXJp
YW50JzoKLSAgICAgICAgICAgICAgICBzZWxmLnZhcmlhbnRzLmFwcGVuZChlbGVtZW50LmF0dHJp
Yi5nZXQoJ2NvbnRlbnQnKSkKLSAgICAgICAgICAgICAgICBjb250aW51ZQotICAgICAgICAgICAg
aWYgZWxlbWVudC50YWcgPT0gJ3NjcmlwdCc6Ci0gICAgICAgICAgICAgICAgaWYgZWxlbWVudC5h
dHRyaWIuZ2V0KCdpZCcpID09ICdleHBlY3RlZCc6Ci0gICAgICAgICAgICAgICAgICAgIHNlbGYu
ZXhwZWN0ZWQgPSBqc29uLmxvYWRzKHRleHRfdHlwZShlbGVtZW50LnRleHQpKQotCi0gICAgICAg
ICAgICAgICAgc3JjID0gZWxlbWVudC5hdHRyaWIuZ2V0KCdzcmMnLCAnJykKLQotICAgICAgICAg
ICAgICAgIGlmICd2YXJpYW50cy5qcycgaW4gc3JjOgotICAgICAgICAgICAgICAgICAgICBpbmNs
dWRlc192YXJpYW50c19zY3JpcHQgPSBUcnVlCi0gICAgICAgICAgICAgICAgICAgIGlmIG5vdCBy
ZXNvbHZlX3VyaShmaWxlbmFtZSwgc3JjKToKLSAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNl
IFZhbHVlRXJyb3IoJ0NvdWxkIG5vdCByZXNvbHZlIHBhdGggIiVzIiBmcm9tICVzJyAlIChzcmMs
IGZpbGVuYW1lKSkKLQotICAgICAgICBpZiBub3QgbmFtZToKLSAgICAgICAgICAgIHJhaXNlIFZh
bHVlRXJyb3IoJ05vIG5hbWUgZm91bmQgaW4gZmlsZTogJXMnICUgZmlsZW5hbWUpCi0gICAgICAg
IGVsaWYgc2VsZi50eXBlID09ICdmdW5jdGlvbmFsJzoKLSAgICAgICAgICAgIGlmIG5vdCBzZWxm
LmV4cGVjdGVkOgotICAgICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoJ0Z1bmN0aW9uYWwg
dGVzdHMgbXVzdCBzcGVjaWZ5IGV4cGVjdGVkIHJlcG9ydCBkYXRhJykKLSAgICAgICAgICAgIGlm
IG5vdCBpbmNsdWRlc192YXJpYW50c19zY3JpcHQ6Ci0gICAgICAgICAgICAgICAgcmFpc2UgVmFs
dWVFcnJvcignTm8gdmFyaWFudHMgc2NyaXB0IGZvdW5kIGluIGZpbGU6ICVzJyAlIGZpbGVuYW1l
KQotICAgICAgICAgICAgaWYgbGVuKHNlbGYudmFyaWFudHMpID09IDA6Ci0gICAgICAgICAgICAg
ICAgcmFpc2UgVmFsdWVFcnJvcignTm8gdGVzdCB2YXJpYW50cyBzcGVjaWZpZWQgaW4gZmlsZSAl
cycgJSBmaWxlbmFtZSkKLSAgICAgICAgZWxpZiBzZWxmLnR5cGUgPT0gJ3VuaXQnIGFuZCBzZWxm
LmV4cGVjdGVkOgotICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcignVW5pdCB0ZXN0cyBtdXN0
IG5vdCBzcGVjaWZ5IGV4cGVjdGVkIHJlcG9ydCBkYXRhJykKLQotICAgICAgICAjIEVuc3VyZSB0
aGF0IGRpc3RpbmN0IGl0ZW1zIGhhdmUgZGlzdGluY3QgZnNwYXRoIGF0dHJpYnV0ZXMuCi0gICAg
ICAgICMgVGhpcyBpcyBuZWNlc3NhcnkgYmVjYXVzZSBweXRlc3QgaGFzIGFuIGludGVybmFsIGNh
Y2hlIGtleWVkIG9uIGl0LAotICAgICAgICAjIGFuZCBvbmx5IHRoZSBmaXJzdCB0ZXN0IHdpdGgg
YW55IGdpdmVuIGZzcGF0aCB3aWxsIGJlIHJ1bi4KLSAgICAgICAgIwotICAgICAgICAjIFRoaXMg
Y2Fubm90IHVzZSBzdXBlcihIVE1MSXRlbSwgc2VsZikuX19pbml0X18oLi4pIGJlY2F1c2Ugb25s
eSB0aGUKLSAgICAgICAgIyBDb2xsZWN0b3IgY29uc3RydWN0b3IgdGFrZXMgdGhlIGZzcGF0aCBh
cmd1bWVudC4KLSAgICAgICAgcHl0ZXN0Lkl0ZW0uX19pbml0X18oc2VsZiwgbmFtZSwgcGFyZW50
KQotICAgICAgICBweXRlc3QuQ29sbGVjdG9yLl9faW5pdF9fKHNlbGYsIG5hbWUsIHBhcmVudCwg
ZnNwYXRoPXB5LnBhdGgubG9jYWwoZmlsZW5hbWUpKQotCi0KLSAgICBkZWYgcmVwb3J0aW5mbyhz
ZWxmKToKLSAgICAgICAgcmV0dXJuIHNlbGYuZnNwYXRoLCBOb25lLCBzZWxmLnVybAotCi0gICAg
ZGVmIHJlcHJfZmFpbHVyZShzZWxmLCBleGNpbmZvKToKLSAgICAgICAgcmV0dXJuIHB5dGVzdC5D
b2xsZWN0b3IucmVwcl9mYWlsdXJlKHNlbGYsIGV4Y2luZm8pCi0KLSAgICBkZWYgcnVudGVzdChz
ZWxmKToKLSAgICAgICAgaWYgc2VsZi50eXBlID09ICd1bml0JzoKLSAgICAgICAgICAgIHNlbGYu
X3J1bl91bml0X3Rlc3QoKQotICAgICAgICBlbGlmIHNlbGYudHlwZSA9PSAnZnVuY3Rpb25hbCc6
Ci0gICAgICAgICAgICBzZWxmLl9ydW5fZnVuY3Rpb25hbF90ZXN0KCkKLSAgICAgICAgZWxzZToK
LSAgICAgICAgICAgIHJhaXNlIE5vdEltcGxlbWVudGVkRXJyb3IKLQotICAgIGRlZiBfcnVuX3Vu
aXRfdGVzdChzZWxmKToKLSAgICAgICAgZHJpdmVyID0gc2VsZi5zZXNzaW9uLmNvbmZpZy5kcml2
ZXIKLSAgICAgICAgc2VydmVyID0gc2VsZi5zZXNzaW9uLmNvbmZpZy5zZXJ2ZXIKLQotICAgICAg
ICBkcml2ZXIuZ2V0KHNlcnZlci51cmwoSEFSTkVTUykpCi0KLSAgICAgICAgYWN0dWFsID0gZHJp
dmVyLmV4ZWN1dGVfYXN5bmNfc2NyaXB0KAotICAgICAgICAgICAgJ3J1blRlc3QoIiVzIiwgImZv
byIsIGFyZ3VtZW50c1swXSknICUgc2VsZi51cmwKLSAgICAgICAgKQotCi0gICAgICAgIHN1bW1h
cml6ZWQgPSBzZWxmLl9zdW1tYXJpemUoYWN0dWFsKQotCi0gICAgICAgIGFzc2VydCBzdW1tYXJp
emVkW3Unc3VtbWFyaXplZF9zdGF0dXMnXVt1J3N0YXR1c19zdHJpbmcnXSA9PSB1J09LJywgc3Vt
bWFyaXplZFt1J3N1bW1hcml6ZWRfc3RhdHVzJ11bdSdtZXNzYWdlJ10KLSAgICAgICAgZm9yIHRl
c3QgaW4gc3VtbWFyaXplZFt1J3N1bW1hcml6ZWRfdGVzdHMnXToKLSAgICAgICAgICAgIG1zZyA9
ICIlc1xuJXMiICUgKHRlc3RbdSduYW1lJ10sIHRlc3RbdSdtZXNzYWdlJ10pCi0gICAgICAgICAg
ICBhc3NlcnQgdGVzdFt1J3N0YXR1c19zdHJpbmcnXSA9PSB1J1BBU1MnLCBtc2cKLQotICAgIGRl
ZiBfcnVuX2Z1bmN0aW9uYWxfdGVzdChzZWxmKToKLSAgICAgICAgZm9yIHZhcmlhbnQgaW4gc2Vs
Zi52YXJpYW50czoKLSAgICAgICAgICAgIHNlbGYuX3J1bl9mdW5jdGlvbmFsX3Rlc3RfdmFyaWFu
dCh2YXJpYW50KQotCi0gICAgZGVmIF9ydW5fZnVuY3Rpb25hbF90ZXN0X3ZhcmlhbnQoc2VsZiwg
dmFyaWFudCk6Ci0gICAgICAgIGRyaXZlciA9IHNlbGYuc2Vzc2lvbi5jb25maWcuZHJpdmVyCi0g
ICAgICAgIHNlcnZlciA9IHNlbGYuc2Vzc2lvbi5jb25maWcuc2VydmVyCi0KLSAgICAgICAgZHJp
dmVyLmdldChzZXJ2ZXIudXJsKEhBUk5FU1MpKQotCi0gICAgICAgIHRlc3RfdXJsID0gc2VsZi51
cmwgKyB2YXJpYW50Ci0gICAgICAgIGFjdHVhbCA9IGRyaXZlci5leGVjdXRlX2FzeW5jX3Njcmlw
dCgncnVuVGVzdCgiJXMiLCAiZm9vIiwgYXJndW1lbnRzWzBdKScgJSB0ZXN0X3VybCkKLQotICAg
ICAgICAjIFRlc3Qgb2JqZWN0IG9yZGVyaW5nIGlzIG5vdCBndWFyYW50ZWVkLiBUaGlzIHdlYWsg
YXNzZXJ0aW9uIHZlcmlmaWVzCi0gICAgICAgICMgdGhhdCB0aGUgaW5kaWNlcyBhcmUgdW5pcXVl
IGFuZCBzZXF1ZW50aWFsCi0gICAgICAgIGluZGljZXMgPSBbdGVzdF9vYmouZ2V0KCdpbmRleCcp
IGZvciB0ZXN0X29iaiBpbiBhY3R1YWxbJ3Rlc3RzJ11dCi0gICAgICAgIHNlbGYuX2Fzc2VydF9z
ZXF1ZW5jZShpbmRpY2VzKQotCi0gICAgICAgIHN1bW1hcml6ZWQgPSBzZWxmLl9zdW1tYXJpemUo
YWN0dWFsKQotICAgICAgICBzZWxmLmV4cGVjdGVkW3Unc3VtbWFyaXplZF90ZXN0cyddLnNvcnQo
a2V5PWxhbWJkYSB0ZXN0X29iajogdGVzdF9vYmouZ2V0KCduYW1lJykpCi0KLSAgICAgICAgYXNz
ZXJ0IHN1bW1hcml6ZWQgPT0gc2VsZi5leHBlY3RlZAotCi0gICAgZGVmIF9zdW1tYXJpemUoc2Vs
ZiwgYWN0dWFsKToKLSAgICAgICAgc3VtbWFyaXplZCA9IHt9Ci0KLSAgICAgICAgc3VtbWFyaXpl
ZFt1J3N1bW1hcml6ZWRfc3RhdHVzJ10gPSBzZWxmLl9zdW1tYXJpemVfc3RhdHVzKGFjdHVhbFsn
c3RhdHVzJ10pCi0gICAgICAgIHN1bW1hcml6ZWRbdSdzdW1tYXJpemVkX3Rlc3RzJ10gPSBbCi0g
ICAgICAgICAgICBzZWxmLl9zdW1tYXJpemVfdGVzdCh0ZXN0KSBmb3IgdGVzdCBpbiBhY3R1YWxb
J3Rlc3RzJ11dCi0gICAgICAgIHN1bW1hcml6ZWRbdSdzdW1tYXJpemVkX3Rlc3RzJ10uc29ydChr
ZXk9bGFtYmRhIHRlc3Rfb2JqOiB0ZXN0X29iai5nZXQoJ25hbWUnKSkKLSAgICAgICAgc3VtbWFy
aXplZFt1J3R5cGUnXSA9IGFjdHVhbFsndHlwZSddCi0KLSAgICAgICAgcmV0dXJuIHN1bW1hcml6
ZWQKLQotICAgIEBzdGF0aWNtZXRob2QKLSAgICBkZWYgX2Fzc2VydF9zZXF1ZW5jZShudW1zKToK
LSAgICAgICAgaWYgbnVtcyBhbmQgbGVuKG51bXMpID4gMDoKLSAgICAgICAgICAgIGFzc2VydCBu
dW1zID09IGxpc3QocmFuZ2UoMSwgbnVtc1stMV0gKyAxKSkKLQotICAgIEBzdGF0aWNtZXRob2QK
LSAgICBkZWYgX3NjcnViX3N0YWNrKHRlc3Rfb2JqKToKLSAgICAgICAgY29weSA9IGRpY3QodGVz
dF9vYmopCi0gICAgICAgIGRlbCBjb3B5WydzdGFjayddCi0gICAgICAgIHJldHVybiBjb3B5Ci0K
LSAgICBAc3RhdGljbWV0aG9kCi0gICAgZGVmIF9leHBhbmRfc3RhdHVzKHN0YXR1c19vYmopOgot
ICAgICAgICBmb3Iga2V5LCB2YWx1ZSBpbiBbaXRlbSBmb3IgaXRlbSBpbiBzdGF0dXNfb2JqLml0
ZW1zKCldOgotICAgICAgICAgICAgIyBJbiAic3RhdHVzIiBhbmQgInRlc3QiIG9iamVjdHMsIHRo
ZSAic3RhdHVzIiB2YWx1ZSBlbnVtCi0gICAgICAgICAgICAjIGRlZmluaXRpb25zIGFyZSBpbnRl
cnNwZXJzZWQgd2l0aCBwcm9wZXJ0aWVzIGZvciB1bnJlbGF0ZWQKLSAgICAgICAgICAgICMgbWV0
YWRhdGEuIFRoZSBmb2xsb3dpbmcgY29uZGl0aW9uIGlzIGEgYmVzdC1lZmZvcnQgYXR0ZW1wdCB0
bwotICAgICAgICAgICAgIyBpZ25vcmUgbm9uLWVudW0gcHJvcGVydGllcy4KLSAgICAgICAgICAg
IGlmIGtleSAhPSBrZXkudXBwZXIoKSBvciBub3QgaXNpbnN0YW5jZSh2YWx1ZSwgaW50KToKLSAg
ICAgICAgICAgICAgICBjb250aW51ZQotCi0gICAgICAgICAgICBkZWwgc3RhdHVzX29ialtrZXld
Ci0KLSAgICAgICAgICAgIGlmIHN0YXR1c19vYmpbJ3N0YXR1cyddID09IHZhbHVlOgotICAgICAg
ICAgICAgICAgIHN0YXR1c19vYmpbdSdzdGF0dXNfc3RyaW5nJ10gPSBrZXkKLQotICAgICAgICBk
ZWwgc3RhdHVzX29ialsnc3RhdHVzJ10KLQotICAgICAgICByZXR1cm4gc3RhdHVzX29iagotCi0g
ICAgQHN0YXRpY21ldGhvZAotICAgIGRlZiBfc3VtbWFyaXplX3Rlc3QodGVzdF9vYmopOgotICAg
ICAgICBkZWwgdGVzdF9vYmpbJ2luZGV4J10KLQotICAgICAgICBhc3NlcnQgJ3BoYXNlJyBpbiB0
ZXN0X29iagotICAgICAgICBhc3NlcnQgJ3BoYXNlcycgaW4gdGVzdF9vYmoKLSAgICAgICAgYXNz
ZXJ0ICdDT01QTEVURScgaW4gdGVzdF9vYmpbJ3BoYXNlcyddCi0gICAgICAgIGFzc2VydCB0ZXN0
X29ialsncGhhc2UnXSA9PSB0ZXN0X29ialsncGhhc2VzJ11bJ0NPTVBMRVRFJ10KLSAgICAgICAg
ZGVsIHRlc3Rfb2JqWydwaGFzZXMnXQotICAgICAgICBkZWwgdGVzdF9vYmpbJ3BoYXNlJ10KLQot
ICAgICAgICByZXR1cm4gSFRNTEl0ZW0uX2V4cGFuZF9zdGF0dXMoSFRNTEl0ZW0uX3NjcnViX3N0
YWNrKHRlc3Rfb2JqKSkKLQotICAgIEBzdGF0aWNtZXRob2QKLSAgICBkZWYgX3N1bW1hcml6ZV9z
dGF0dXMoc3RhdHVzX29iaik6Ci0gICAgICAgIHJldHVybiBIVE1MSXRlbS5fZXhwYW5kX3N0YXR1
cyhIVE1MSXRlbS5fc2NydWJfc3RhY2soc3RhdHVzX29iaikpCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L2hhcm5l
c3MuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3Rlc3QvaGFybmVzcy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1
ZWUwZjI4NWU4My4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC9oYXJuZXNzLmh0bWwKKysrIC9kZXYvbnVs
bApAQCAtMSwyNiArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotICA8aGVhZD4KLSAg
ICA8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hh
cnNldD11dGYtOCI+Ci0gIDwvaGVhZD4KLSAgPGJvZHk+Ci0gICAgPHNjcmlwdD4KLWZ1bmN0aW9u
IHJ1blRlc3QodXJsLCBpZCwgZG9uZSkgewotICB2YXIgY2hpbGQ7Ci0KLSAgZnVuY3Rpb24gb25N
ZXNzYWdlKGV2ZW50KSB7Ci0gICAgaWYgKCFldmVudC5kYXRhIHx8IGV2ZW50LmRhdGEudHlwZSAh
PT0gJ2NvbXBsZXRlJykgewotICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIHdpbmRvdy5yZW1v
dmVFdmVudExpc3RlbmVyKCdtZXNzYWdlJywgb25NZXNzYWdlKTsKLSAgICBjaGlsZC5jbG9zZSgp
OwotICAgIGRvbmUoZXZlbnQuZGF0YSk7Ci0gIH0KLSAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIo
J21lc3NhZ2UnLCBvbk1lc3NhZ2UpOwotCi0gIHdpbmRvdy5jaGlsZCA9IGNoaWxkID0gd2luZG93
Lm9wZW4odXJsLCBpZCk7Ci19Ci0gICAgPC9zY3JpcHQ+Ci0gIDwvYm9keT4KLTwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3Rlc3QvaWRsLWhlbHBlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvaWRsLWhlbHBlci5qcwpkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMmI3MzUyN2ZmMmIuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvaWRsLWhl
bHBlci5qcworKysgL2Rldi9udWxsCkBAIC0xLDI0ICswLDAgQEAKLSJ1c2Ugc3RyaWN0IjsKLQot
dmFyIHR5cGVkZWZGcm9tID0gaW50ZXJmYWNlRnJvbTsKLXZhciBkaWN0aW9uYXJ5RnJvbSA9IGlu
dGVyZmFjZUZyb207Ci1mdW5jdGlvbiBpbnRlcmZhY2VGcm9tKGkpIHsKLSAgICB2YXIgaWRsID0g
bmV3IElkbEFycmF5KCk7Ci0gICAgaWRsLmFkZF9pZGxzKGkpOwotICAgIGZvciAodmFyIHByb3Ag
aW4gaWRsLm1lbWJlcnMpIHsKLSAgICAgICAgcmV0dXJuIGlkbC5tZW1iZXJzW3Byb3BdOwotICAg
IH0KLX0KLQotZnVuY3Rpb24gbWVtYmVyRnJvbShtKSB7Ci0gICAgdmFyIGlkbCA9IG5ldyBJZGxB
cnJheSgpOwotICAgIGlkbC5hZGRfaWRscygnaW50ZXJmYWNlIEEgeyAnICsgbSArICc7IH07Jyk7
Ci0gICAgcmV0dXJuIGlkbC5tZW1iZXJzWyJBIl0ubWVtYmVyc1swXTsKLX0KLQotZnVuY3Rpb24g
dHlwZUZyb20odHlwZSkgewotICAgIHZhciBhc3QgPSBXZWJJREwyLnBhcnNlKCdpbnRlcmZhY2Ug
Rm9vIHsgJyArIHR5cGUgKyAnIGEoKTsgfTsnKTsKLSAgICBhc3QgPSBhc3RbMF07IC8vIGdldCB0
aGUgZmlyc3QgZnJhZ21lbnQKLSAgICBhc3QgPSBhc3QubWVtYmVyc1swXTsgLy8gZ2V0IHRoZSBm
aXJzdCBtZW1iZXIKLSAgICByZXR1cm4gYXN0LmlkbFR5cGU7IC8vIGdldCB0aGUgdHlwZSBvZiB0
aGUgZmlyc3QgZmllbGQKLX0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvbmVzdGVkLXRlc3RoYXJuZXNzLmpzIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVz
dC9uZXN0ZWQtdGVzdGhhcm5lc3MuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQ5
N2MxNTY4Yzc1Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L25lc3RlZC10ZXN0aGFybmVzcy5qcworKysg
L2Rldi9udWxsCkBAIC0xLDgwICswLDAgQEAKLSd1c2Ugc3RyaWN0JzsKLQotLyoqCi0gKiBFeGVj
dXRlIHRlc3RoYXJuZXNzLmpzIGFuZCBvbmUgb3IgbW9yZSBzY3JpcHRzIGluIGFuIGlmcmFtZS4g
UmVwb3J0IHRoZQotICogcmVzdWx0cyBvZiB0aGUgZXhlY3V0aW9uLgotICoKLSAqIEBwYXJhbSB7
Li4uZnVuY3Rpb258Li4uc3RyaW5nfSBib2RpZXMgLSBhIGZ1bmN0aW9uIGJvZHkuIElmIHNwZWNp
ZmllZCBhcyBhCi0gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVu
Y3Rpb24gb2JqZWN0LCBpdCB3aWxsIGJlCi0gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgc2VyaWFsaXplZCB0byBhIHN0cmluZyB1c2luZyB0aGUKLSAqICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBidWlsdC1pbgotICogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGBGdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmdg
IHByaW9yCi0gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gaW5j
bHVzaW9uIGluIHRoZSBnZW5lcmF0ZWQKLSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpZnJhbWUuCi0gKgotICogQHJldHVybnMge1Byb21pc2V9IGV2ZW50dWFsIHZh
bHVlIGRlc2NyaWJpbmcgdGhlIHJlc3VsdCBvZiB0aGUgdGVzdAotICogICAgICAgICAgICAgICAg
ICAgIGV4ZWN1dGlvbjsgdGhlIHN1bW1hcnkgb2JqZWN0IGhhcyB0d28gcHJvcGVydGllczoKLSAq
ICAgICAgICAgICAgICAgICAgICBgaGFybmVzc2AgKGEgc3RyaW5nIGRlc2NyaWJpbmcgdGhlIGhh
cm5lc3Mgc3RhdHVzKSBhbmQKLSAqICAgICAgICAgICAgICAgICAgICBgdGVzdHNgIChhbiBvYmpl
Y3Qgd2hvc2UgIm93biIgcHJvcGVydHkgbmFtZXMgYXJlIHRoZQotICogICAgICAgICAgICAgICAg
ICAgIHRpdGxlcyBvZiB0aGUgZGVmaW5lZCBzdWItdGVzdHMgYW5kIHdob3NlIGFzc29jaWF0ZWQK
LSAqICAgICAgICAgICAgICAgICAgICB2YWx1ZXMgYXJlIHRoZSBzdWJ0ZXN0IHN0YXR1c2VzKS4K
LSAqLwotZnVuY3Rpb24gbWFrZVRlc3QoLi4uYm9kaWVzKSB7Ci0gIGNvbnN0IGNsb3NlU2NyaXB0
ID0gJzwnICsgJy9zY3JpcHQ+JzsKLSAgbGV0IHNyYyA9IGAKLTwhRE9DVFlQRSBIVE1MPgotPGh0
bWw+Ci08aGVhZD4KLTx0aXRsZT5Eb2N1bWVudCB0aXRsZTwvdGl0bGU+Ci08c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcz8ke01hdGgucmFuZG9tKCl9Ij4ke2Nsb3NlU2NyaXB0
fQotPC9oZWFkPgotCi08Ym9keT4KLTxkaXYgaWQ9ImxvZyI+PC9kaXY+YDsKLSAgYm9kaWVzLmZv
ckVhY2goKGJvZHkpID0+IHsKLSAgICBzcmMgKz0gJzxzY3JpcHQ+KCcgKyBib2R5ICsgJykoKTsn
ICsgY2xvc2VTY3JpcHQ7Ci0gIH0pOwotCi0gIGNvbnN0IGlmcmFtZSA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoJ2lmcmFtZScpOwotCi0gIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaWZyYW1l
KTsKLSAgaWZyYW1lLmNvbnRlbnREb2N1bWVudC53cml0ZShzcmMpOwotCi0gIHJldHVybiBuZXcg
UHJvbWlzZSgocmVzb2x2ZSkgPT4gewotICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdtZXNz
YWdlJywgZnVuY3Rpb24gb25NZXNzYWdlKGUpIHsKLSAgICAgIGlmIChlLnNvdXJjZSAhPT0gaWZy
YW1lLmNvbnRlbnRXaW5kb3cpIHsKLSAgICAgICAgcmV0dXJuOwotICAgICAgfQotICAgICAgaWYg
KCFlLmRhdGEgfHwgZS5kYXRhLnR5cGUgIT09J2NvbXBsZXRlJykgewotICAgICAgICByZXR1cm47
Ci0gICAgICB9Ci0gICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcignbWVzc2FnZScsIG9u
TWVzc2FnZSk7Ci0gICAgICByZXNvbHZlKGUuZGF0YSk7Ci0gICAgfSk7Ci0KLSAgICBpZnJhbWUu
Y29udGVudERvY3VtZW50LmNsb3NlKCk7Ci0gIH0pLnRoZW4oKHsgdGVzdHMsIHN0YXR1cyB9KSA9
PiB7Ci0gICAgY29uc3Qgc3VtbWFyeSA9IHsKLSAgICAgIGhhcm5lc3M6IGdldEVudW1Qcm9wKHN0
YXR1cywgc3RhdHVzLnN0YXR1cyksCi0gICAgICB0ZXN0czoge30KLSAgICB9OwotCi0gICAgdGVz
dHMuZm9yRWFjaCgodGVzdCkgPT4gewotICAgICAgc3VtbWFyeS50ZXN0c1t0ZXN0Lm5hbWVdID0g
Z2V0RW51bVByb3AodGVzdCwgdGVzdC5zdGF0dXMpOwotICAgIH0pOwotCi0gICAgcmV0dXJuIHN1
bW1hcnk7Ci0gIH0pOwotfQotCi1mdW5jdGlvbiBnZXRFbnVtUHJvcChvYmplY3QsIHZhbHVlKSB7
Ci0gIGZvciAobGV0IHByb3BlcnR5IGluIG9iamVjdCkgewotICAgIGlmICghL15bQS1aXSskLy50
ZXN0KHByb3BlcnR5KSkgewotICAgICAgY29udGludWU7Ci0gICAgfQotCi0gICAgaWYgKG9iamVj
dFtwcm9wZXJ0eV0gPT09IHZhbHVlKSB7Ci0gICAgICByZXR1cm4gcHJvcGVydHk7Ci0gICAgfQot
ICB9Ci19CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2FkZF9jbGVhbnVwLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Fk
ZF9jbGVhbnVwLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQ0N2U3ZmYyNGI3
Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2FkZF9jbGVhbnVwLmh0bWwKKysrIC9kZXYvbnVs
bApAQCAtMSw5NiArMCwwIEBACi08IURPQ1RZUEUgSFRNTD4KLTxodG1sPgotPGhlYWQ+Ci08dGl0
bGU+VGVzdCNhZGRfY2xlYW51cDwvdGl0bGU+Ci08c2NyaXB0IHNyYz0iLi4vLi4vdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGRpdiBpZD0ibG9nIj48L2Rpdj4KLTxzY3Jp
cHQ+Ci0idXNlIHN0cmljdCI7Ci0KLXZhciBsb2dfc3luYzsKLXRlc3QoZnVuY3Rpb24odCkgewot
ICBsb2dfc3luYyA9ICIiOwotICB0LmFkZF9jbGVhbnVwKGZ1bmN0aW9uKCkgeyBsb2dfc3luYyAr
PSAiMSI7IH0pOwotICB0LmFkZF9jbGVhbnVwKGZ1bmN0aW9uKCkgeyBsb2dfc3luYyArPSAiMiI7
IH0pOwotICB0LmFkZF9jbGVhbnVwKGZ1bmN0aW9uKCkgeyBsb2dfc3luYyArPSAiMyI7IH0pOwot
ICB0LmFkZF9jbGVhbnVwKGZ1bmN0aW9uKCkgeyBsb2dfc3luYyArPSAiNCI7IH0pOwotICB0LmFk
ZF9jbGVhbnVwKGZ1bmN0aW9uKCkgeyBsb2dfc3luYyArPSAiNSI7IH0pOwotICBsb2dfc3luYyAr
PSAiMCI7Ci19LCAicHJvYmUgc3luY2hyb25vdXMiKTsKLQotdGVzdChmdW5jdGlvbigpIHsKLSAg
aWYgKGxvZ19zeW5jICE9PSAiMDEyMzQ1IikgewotICAgIHRocm93IG5ldyBFcnJvcigiRXhwZWN0
ZWQ6ICcwMTIzNDUnLiBBY3R1YWw6ICciICsgbG9nX3N5bmMgKyAiJy4iKTsKLSAgfQotfSwgIkNs
ZWFudXAgbWV0aG9kcyBhcmUgaW52b2tlZCBleGFjdGx5IG9uY2UgYW5kIGluIHRoZSBleHBlY3Rl
ZCBzZXF1ZW5jZS4iKTsKLQotdmFyIGNvbXBsZXRlLCBsb2dfYXN5bmM7Ci1hc3luY190ZXN0KGZ1
bmN0aW9uKHQpIHsKLSAgY29tcGxldGUgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbigpIHsKLSAgICBp
ZiAobG9nX2FzeW5jICE9PSAiMDEyIikgewotICAgICAgdGhyb3cgbmV3IEVycm9yKCJFeHBlY3Rl
ZDogJzAxMicuIEFjdHVhbDogJyIgKyBsb2dfYXN5bmMgKyAiJy4iKTsKLSAgICB9Ci0KLSAgICB0
LmRvbmUoKTsKLSAgfSk7Ci19LCAiQ2xlYW51cCBtZXRob2RzIGFyZSBpbnZva2VkIGZvbGxvd2lu
ZyB0aGUgY29tcGxldGlvbiBvZiBhc3luY2hyb25vdXMgdGVzdHMiKTsKLQotYXN5bmNfdGVzdChm
dW5jdGlvbih0KSB7Ci0gIGxvZ19hc3luYyA9ICIiOwotICB0LmFkZF9jbGVhbnVwKGZ1bmN0aW9u
KCkgeyBsb2dfYXN5bmMgKz0gIjEiOyB9KTsKLQotICBzZXRUaW1lb3V0KHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKCkgewotICAgIHQuYWRkX2NsZWFudXAoZnVuY3Rpb24oKSB7Ci0gICAgICBsb2dfYXN5
bmMgKz0gIjIiOwotICAgICAgY29tcGxldGUoKTsKLSAgICB9KTsKLSAgICBsb2dfYXN5bmMgKz0g
IjAiOwotICAgIHQuZG9uZSgpOwotICB9KSwgMCk7Ci19LCAicHJvYmUgYXN5bmNocm9ub3VzIik7
Ci08L3NjcmlwdD4KLTxzY3JpcHQgdHlwZT0idGV4dC9qc29uIiBpZD0iZXhwZWN0ZWQiPgotewot
ICAic3VtbWFyaXplZF9zdGF0dXMiOiB7Ci0gICAgInN0YXR1c19zdHJpbmciOiAiT0siLAotICAg
ICJtZXNzYWdlIjogbnVsbCwKLSAgICAic3RhY2siOiBudWxsCi0gIH0sCi0gICJzdW1tYXJpemVk
X3Rlc3RzIjogWwotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAg
Im5hbWUiOiAiQ2xlYW51cCBtZXRob2RzIGFyZSBpbnZva2VkIGV4YWN0bHkgb25jZSBhbmQgaW4g
dGhlIGV4cGVjdGVkIHNlcXVlbmNlLiIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAg
Im1lc3NhZ2UiOiBudWxsLAotICAgICAgInN0YWNrIjogbnVsbAotICAgIH0sCi0gICAgewotICAg
ICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJDbGVhbnVwIG1ldGhv
ZHMgYXJlIGludm9rZWQgZm9sbG93aW5nIHRoZSBjb21wbGV0aW9uIG9mIGFzeW5jaHJvbm91cyB0
ZXN0cyIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsLAot
ICAgICAgInN0YWNrIjogbnVsbAotICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmci
OiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJwcm9iZSBhc3luY2hyb25vdXMiLAotICAgICAgInBy
b3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICJzdGFjayI6IG51
bGwKLSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAg
Im5hbWUiOiAicHJvYmUgc3luY2hyb25vdXMiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAg
ICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICJzdGFjayI6IG51bGwKLSAgICB9Ci0gIF0sCi0g
ICJ0eXBlIjogImNvbXBsZXRlIgotfQotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy90ZXN0L3Rlc3RzL2FkZF9jbGVhbnVwX2NvdW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2FkZF9jbGVh
bnVwX2NvdW50Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGEwNzljOWI4Nzli
Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2FkZF9jbGVhbnVwX2NvdW50Lmh0bWwKKysrIC9k
ZXYvbnVsbApAQCAtMSw0MSArMCwwIEBACi08IURPQ1RZUEUgSFRNTD4KLTxodG1sPgotPGhlYWQ+
Ci08dGl0bGU+VGVzdCNhZGRfY2xlYW51cCByZXBvcnRlZCBjb3VudDwvdGl0bGU+Ci08c2NyaXB0
IHNyYz0iLi4vLi4vdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4u
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGRpdiBp
ZD0ibG9nIj48L2Rpdj4KLQotPHNjcmlwdD4KLXByb21pc2VfdGVzdChmdW5jdGlvbih0KSB7Ci0g
ICAgdC5hZGRfY2xlYW51cChmdW5jdGlvbigpIHt9KTsKLSAgICB0LmFkZF9jbGVhbnVwKGZ1bmN0
aW9uKCkge30pOwotICAgIHQuYWRkX2NsZWFudXAoZnVuY3Rpb24oKSB7IHRocm93IG5ldyBFcnJv
cigpOyB9KTsKLSAgICBuZXcgRXZlbnRXYXRjaGVyKHQsIGRvY3VtZW50LmJvZHksIFtdKTsKLQot
ICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTsKLX0sICd0ZXN0IHdpdGggMyB1c2VyLWRlZmlu
ZWQgY2xlYW51cCBmdW5jdGlvbnMnKTsKLTwvc2NyaXB0PgotPHNjcmlwdCB0eXBlPSJ0ZXh0L2pz
b24iIGlkPSJleHBlY3RlZCI+Ci17Ci0gICJzdW1tYXJpemVkX3N0YXR1cyI6IHsKLSAgICAic3Rh
dHVzX3N0cmluZyI6ICJFUlJPUiIsCi0gICAgIm1lc3NhZ2UiOiAiVGVzdCBuYW1lZCAndGVzdCB3
aXRoIDMgdXNlci1kZWZpbmVkIGNsZWFudXAgZnVuY3Rpb25zJyBzcGVjaWZpZWQgMyAnY2xlYW51
cCcgZnVuY3Rpb25zLCBhbmQgMSBmYWlsZWQuIiwKLSAgICAic3RhY2siOiBudWxsCi0gIH0sCi0g
ICJzdW1tYXJpemVkX3Rlc3RzIjogWwotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBB
U1MiLAotICAgICAgIm5hbWUiOiAidGVzdCB3aXRoIDMgdXNlci1kZWZpbmVkIGNsZWFudXAgZnVu
Y3Rpb25zIiwKLSAgICAgICJzdGFjayI6IG51bGwsCi0gICAgICAibWVzc2FnZSI6IG51bGwsCi0g
ICAgICAicHJvcGVydGllcyI6IHt9Ci0gICAgfQotICBdLAotICAidHlwZSI6ICJjb21wbGV0ZSIK
LX0KLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9hZGRf
Y2xlYW51cF9lcnIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvYWRkX2NsZWFudXBfZXJyLmh0bWwKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY2ZWZiMDc3MzM3Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rl
c3RzL2FkZF9jbGVhbnVwX2Vyci5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNDggKzAsMCBAQAot
PCFET0NUWVBFIEhUTUw+Ci08aHRtbD4KLTxoZWFkPgotPHRpdGxlPlRlc3QjYWRkX2NsZWFudXA6
IGVycm9yPC90aXRsZT4KLTxzY3JpcHQgc3JjPSIuLi8uLi90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgot
PC9oZWFkPgotPGJvZHk+Ci08ZGl2IGlkPSJsb2ciPjwvZGl2PgotPHNjcmlwdD4KLSJ1c2Ugc3Ry
aWN0IjsKLQotdGVzdChmdW5jdGlvbih0KSB7Ci0gIHQuYWRkX2NsZWFudXAoZnVuY3Rpb24oKSB7
Ci0gICAgdGhyb3cgbmV3IEVycm9yKCdleGNlcHRpb24gaW4gY2xlYW51cCBmdW5jdGlvbicpOwot
ICB9KTsKLX0sICJFeGNlcHRpb24gaW4gY2xlYW51cCBmdW5jdGlvbiBjYXVzZXMgaGFybmVzcyBm
YWlsdXJlLiIpOwotCi10ZXN0KGZ1bmN0aW9uKCkge30sICJUaGlzIHRlc3Qgc2hvdWxkIG5vdCBi
ZSBydW4uIik7Ci08L3NjcmlwdD4KLTxzY3JpcHQgdHlwZT0idGV4dC9qc29uIiBpZD0iZXhwZWN0
ZWQiPgotewotICAic3VtbWFyaXplZF9zdGF0dXMiOiB7Ci0gICAgInN0YXR1c19zdHJpbmciOiAi
RVJST1IiLAotICAgICJtZXNzYWdlIjogIlRlc3QgbmFtZWQgJ0V4Y2VwdGlvbiBpbiBjbGVhbnVw
IGZ1bmN0aW9uIGNhdXNlcyBoYXJuZXNzIGZhaWx1cmUuJyBzcGVjaWZpZWQgMSAnY2xlYW51cCcg
ZnVuY3Rpb24sIGFuZCAxIGZhaWxlZC4iLAotICAgICJzdGFjayI6IG51bGwKLSAgfSwKLSAgInN1
bW1hcml6ZWRfdGVzdHMiOiBbCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIs
Ci0gICAgICAibmFtZSI6ICJFeGNlcHRpb24gaW4gY2xlYW51cCBmdW5jdGlvbiBjYXVzZXMgaGFy
bmVzcyBmYWlsdXJlLiIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2Ui
OiBudWxsLAotICAgICAgInN0YWNrIjogbnVsbAotICAgIH0sCi0gICAgewotICAgICAgInN0YXR1
c19zdHJpbmciOiAiTk9UUlVOIiwKLSAgICAgICJuYW1lIjogIlRoaXMgdGVzdCBzaG91bGQgbm90
IGJlIHJ1bi4iLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogbnVs
bCwKLSAgICAgICJzdGFjayI6IG51bGwKLSAgICB9Ci0gIF0sCi0gICJ0eXBlIjogImNvbXBsZXRl
IgotfQotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Fk
ZF9jbGVhbnVwX2Vycl9tdWx0aS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9hZGRfY2xlYW51cF9lcnJfbXVsdGku
aHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjYwNjY4YzAyOTAuLjAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3Rlc3QvdGVzdHMvYWRkX2NsZWFudXBfZXJyX211bHRpLmh0bWwKKysrIC9kZXYvbnVs
bApAQCAtMSw1NSArMCwwIEBACi08IURPQ1RZUEUgSFRNTD4KLTxodG1sPgotPGhlYWQ+Ci08dGl0
bGU+VGVzdCNhZGRfY2xlYW51cDogbXVsdGlwbGUgZnVuY3Rpb25zIHdpdGggb25lIGluIGVycm9y
PC90aXRsZT4KLTxzY3JpcHQgc3JjPSIuLi8uLi90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0iLi4vLi4vdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPC9oZWFk
PgotPGJvZHk+Ci08ZGl2IGlkPSJsb2ciPjwvZGl2PgotCi08c2NyaXB0PgotInVzZSBzdHJpY3Qi
OwotCi10ZXN0KGZ1bmN0aW9uKHQpIHsKLSAgICB0LmFkZF9jbGVhbnVwKGZ1bmN0aW9uKCkgewot
ICAgICAgdGhyb3cgbmV3IEVycm9yKCJleGNlcHRpb24gaW4gY2xlYW51cCBmdW5jdGlvbiIpOwot
ICAgIH0pOwotCi0gICAgLy8gVGhlIGZvbGxvd2luZyBjbGVhbnVwIGZ1bmN0aW9uIGRlZmluZXMg
YSB0ZXN0IHNvIHRoYXQgdGhlIHJlcG9ydGVkCi0gICAgLy8gZGF0YSBkZW1vbnN0cmF0ZXMgdGhl
IGludGVuZGVkIHJ1bi10aW1lIGJlaGF2aW9yLCBpLmUuIHRoYXQKLSAgICAvLyBgdGVzdGhhcm5l
c3MuanNgIGludm9rZXMgYWxsIGNsZWFudXAgZnVuY3Rpb25zIGV2ZW4gd2hlbiBvbmUgb3IgbW9y
ZQotICAgIC8vIHRocm93IGVycm9ycy4KLSAgICB0LmFkZF9jbGVhbnVwKGZ1bmN0aW9uKCkgewot
ICAgICAgdGVzdChmdW5jdGlvbigpIHt9LCAiVmVyaWZpY2F0aW9uIHRlc3QiKTsKLSAgICB9KTsK
LSAgfSwgIlRlc3Qgd2l0aCBtdWx0aXBsZSBjbGVhbnVwIGZ1bmN0aW9ucyIpOwotPC9zY3JpcHQ+
Ci08c2NyaXB0IHR5cGU9InRleHQvanNvbiIgaWQ9ImV4cGVjdGVkIj4KLXsKLSAgInN1bW1hcml6
ZWRfc3RhdHVzIjogewotICAgICJzdGF0dXNfc3RyaW5nIjogIkVSUk9SIiwKLSAgICAibWVzc2Fn
ZSI6ICJUZXN0IG5hbWVkICdUZXN0IHdpdGggbXVsdGlwbGUgY2xlYW51cCBmdW5jdGlvbnMnIHNw
ZWNpZmllZCAyICdjbGVhbnVwJyBmdW5jdGlvbnMsIGFuZCAxIGZhaWxlZC4iLAotICAgICJzdGFj
ayI6IG51bGwKLSAgfSwKLSAgInN1bW1hcml6ZWRfdGVzdHMiOiBbCi0gICAgewotICAgICAgInN0
YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJUZXN0IHdpdGggbXVsdGlwbGUg
Y2xlYW51cCBmdW5jdGlvbnMiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNz
YWdlIjogbnVsbCwKLSAgICAgICJzdGFjayI6IG51bGwKLSAgICB9LAotICAgIHsKLSAgICAgICJz
dGF0dXNfc3RyaW5nIjogIk5PVFJVTiIsCi0gICAgICAibmFtZSI6ICJWZXJpZmljYXRpb24gdGVz
dCIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAg
ICAgInN0YWNrIjogbnVsbAotICAgIH0KLSAgXSwKLSAgInR5cGUiOiAiY29tcGxldGUiCi19Ci08
L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvYXBpLXRlc3Rz
LTEuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3Rlc3QvdGVzdHMvYXBpLXRlc3RzLTEuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggNTNkOTFjNDc5YTIuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvYXBpLXRlc3Rz
LTEuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDQ2MiArMCwwIEBACi08IURPQ1RZUEUgSFRNTD4K
LTxodG1sPgotPGhlYWQ+Ci08dGl0bGU+U2FtcGxlIEhUTUw1IEFQSSBUZXN0czwvdGl0bGU+Ci08
bWV0YSBuYW1lPSJ0aW1lb3V0IiBjb250ZW50PSI2MDAwIj4KLTwvaGVhZD4KLTxib2R5IG9ubG9h
ZD0ibG9hZF90ZXN0X2F0dHIuZG9uZSgpIj4KLTxoMT5TYW1wbGUgSFRNTDUgQVBJIFRlc3RzPC9o
MT4KLTxkaXYgaWQ9ImxvZyI+PC9kaXY+Ci08c2NyaXB0IHNyYz0iLi4vLi4vdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQ+Ci0gICAgc2V0dXBfcnVuID0gZmFsc2U7Ci0gICAgc2V0dXAoZnVu
Y3Rpb24oKSB7Ci0gICAgICAgICAgICBzZXR1cF9ydW4gPSB0cnVlOwotICAgICAgICAgIH0pOwot
ICAgIHRlc3QoZnVuY3Rpb24oKSB7YXNzZXJ0X3RydWUoc2V0dXBfcnVuKX0sICJTZXR1cCBmdW5j
dGlvbiByYW4iKTsKLQotICAgIC8vIFR3byBleGFtcGxlcyBmb3IgdGVzdGluZyBldmVudHMgZnJv
bSBoYW5kbGVyIGFuZCBhdHRyaWJ1dGVzCi0gICAgdmFyIGxvYWRfdGVzdF9ldmVudCA9IGFzeW5j
X3Rlc3QoIndpbmRvdyBvbmxvYWQgZXZlbnQgZmlyZXMgd2hlbiBzZXQgZnJvbSB0aGUgaGFuZGxl
ciIpOwotCi0gICAgZnVuY3Rpb24gd2luZG93TG9hZCgpCi0gICAgewotICAgICAgICBsb2FkX3Rl
c3RfZXZlbnQuZG9uZSgpOwotICAgIH0KLSAgICBvbl9ldmVudCh3aW5kb3csICJsb2FkIiwgd2lu
ZG93TG9hZCk7Ci0KLSAgICAvLyBzZWUgdGhlIGJvZHkgb25sb2FkIGJlbG93Ci0gICAgdmFyIGxv
YWRfdGVzdF9hdHRyID0gYXN5bmNfdGVzdCgiYm9keSBlbGVtZW50IGZpcmVzIHRoZSBvbmxvYWQg
ZXZlbnQgc2V0IGZyb20gdGhlIGF0dHJpYnV0ZSIpOwotPC9zY3JpcHQ+Ci08c2NyaXB0PgotICAg
IGZ1bmN0aW9uIGJvZHlFbGVtZW50KCkKLSAgICB7Ci0gICAgICAgIGFzc2VydF9lcXVhbHMoZG9j
dW1lbnQuYm9keSwgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImJvZHkiKVswXSk7Ci0g
ICAgfQotICAgIHRlc3QoYm9keUVsZW1lbnQsICJkb2N1bWVudC5ib2R5IHNob3VsZCBiZSB0aGUg
Zmlyc3QgYm9keSBlbGVtZW50IGluIHRoZSBkb2N1bWVudCIpOwotCi0gICAgdGVzdChmdW5jdGlv
bigpIHsKLSAgICAgICAgYXNzZXJ0X2VxdWFscygxLDEpOwotICAgICAgICBhc3NlcnRfZXF1YWxz
KE5hTiwgTmFOLCAiTmFOIGNhc2UiKTsKLSAgICAgICAgYXNzZXJ0X2VxdWFscygwLCAwLCAiWmVy
byBjYXNlIik7Ci0gICAgfSwgImFzc2VydF9lcXVhbHMgdGVzdHMiKQotCi0gICAgdGVzdChmdW5j
dGlvbigpIHsKLSAgICAgICAgYXNzZXJ0X2VxdWFscygtMCwgMCwgIlplcm8gY2FzZSIpOwotICAg
IH0sICJhc3NlcnRfZXF1YWxzIHRlc3RzIGV4cGVjdGVkIHRvIGZhaWwiKQotCi0gICAgdGVzdChm
dW5jdGlvbigpIHsKLSAgICAgICAgYXNzZXJ0X25vdF9lcXVhbHMoe30sIHt9LCAib2JqZWN0IGNh
c2UiKTsKLSAgICAgICAgYXNzZXJ0X25vdF9lcXVhbHMoLTAsIDAsICJaZXJvIGNhc2UiKTsKLSAg
ICB9LCAiYXNzZXJ0X25vdF9lcXVhbHMgdGVzdHMiKQotCi0gICAgZnVuY3Rpb24gdGVzdEFzc2Vy
dFBhc3MoKQotICAgIHsKLSAgICAgICAgYXNzZXJ0X3RydWUodHJ1ZSk7Ci0gICAgfQotICAgIHRl
c3QodGVzdEFzc2VydFBhc3MsICJhc3NlcnRfdHJ1ZSBleHBlY3RlZCB0byBwYXNzIik7Ci0KLSAg
ICBmdW5jdGlvbiB0ZXN0QXNzZXJ0RmFsc2UoKQotICAgIHsKLSAgICAgICAgYXNzZXJ0X3RydWUo
ZmFsc2UsICJmYWxzZSBzaG91bGQgbm90IGJlIHRydWUiKTsKLSAgICB9Ci0gICAgdGVzdCh0ZXN0
QXNzZXJ0RmFsc2UsICJhc3NlcnRfdHJ1ZSBleHBlY3RlZCB0byBmYWlsIik7Ci0KLSAgICBmdW5j
dGlvbiBiYXNpY0Fzc2VydEFycmF5RXF1YWxzKCkKLSAgICB7Ci0gICAgICAgIGFzc2VydF9hcnJh
eV9lcXVhbHMoWzEsIE5hTl0sIFsxLCBOYU5dLCAiWzEsIE5hTl0gaXMgZXF1YWwgdG8gWzEsIE5h
Tl0iKTsKLSAgICB9Ci0gICAgdGVzdChiYXNpY0Fzc2VydEFycmF5RXF1YWxzLCAiYmFzaWMgYXNz
ZXJ0X2FycmF5X2VxdWFscyB0ZXN0Iik7Ci0KLSAgICBmdW5jdGlvbiBhc3NlcnRBcnJheUVxdWFs
c1VuZGVmaW5lZCgpCi0gICAgewotICAgICAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKHVuZGVmaW5l
ZCwgWzFdLCAidW5kZWZpbmVkIGVxdWFscyBbMV0/Iik7Ci0gICAgfQotICAgIHRlc3QoYXNzZXJ0
QXJyYXlFcXVhbHNVbmRlZmluZWQsICJhc3NlcnRfYXJyYXlfZXF1YWxzIHdpdGggZmlyc3QgcGFy
YW0gdW5kZWZpbmVkIik7Ci0KLSAgICBmdW5jdGlvbiBhc3NlcnRBcnJheUVxdWFsc1RydWUoKQot
ICAgIHsKLSAgICAgICAgYXNzZXJ0X2FycmF5X2VxdWFscyh0cnVlLCBbMV0sICJ0cnVlIGVxdWFs
cyBbMV0/Iik7Ci0gICAgfQotICAgIHRlc3QoYXNzZXJ0QXJyYXlFcXVhbHNUcnVlLCAiYXNzZXJ0
X2FycmF5X2VxdWFscyB3aXRoIGZpcnN0IHBhcmFtIHRydWUiKTsKLQotICAgIGZ1bmN0aW9uIGFz
c2VydEFycmF5RXF1YWxzRmFsc2UoKQotICAgIHsKLSAgICAgICAgYXNzZXJ0X2FycmF5X2VxdWFs
cyhmYWxzZSwgWzFdLCAiZmFsc2UgZXF1YWxzIFsxXT8iKTsKLSAgICB9Ci0gICAgdGVzdChhc3Nl
cnRBcnJheUVxdWFsc0ZhbHNlLCAiYXNzZXJ0X2FycmF5X2VxdWFscyB3aXRoIGZpcnN0IHBhcmFt
IGZhbHNlIik7Ci0KLSAgICBmdW5jdGlvbiBhc3NlcnRBcnJheUVxdWFsc051bGwoKQotICAgIHsK
LSAgICAgICAgYXNzZXJ0X2FycmF5X2VxdWFscyhudWxsLCBbMV0sICJudWxsIGVxdWFscyBbMV0/
Iik7Ci0gICAgfQotICAgIHRlc3QoYXNzZXJ0QXJyYXlFcXVhbHNOdWxsLCAiYXNzZXJ0X2FycmF5
X2VxdWFscyB3aXRoIGZpcnN0IHBhcmFtIG51bGwiKTsKLQotICAgIGZ1bmN0aW9uIGFzc2VydEFy
cmF5RXF1YWxzTnVtZXJpYygpCi0gICAgewotICAgICAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKDEs
IFsxXSwgIjEgZXF1YWxzIFsxXT8iKTsKLSAgICB9Ci0gICAgdGVzdChhc3NlcnRBcnJheUVxdWFs
c051bWVyaWMsICJhc3NlcnRfYXJyYXlfZXF1YWxzIHdpdGggZmlyc3QgcGFyYW0gMSIpOwotCi0g
ICAgZnVuY3Rpb24gYmFzaWNBc3NlcnRPYmplY3RFcXVhbHMoKQotICAgIHsKLSAgICAgICAgYXNz
ZXJ0X29iamVjdF9lcXVhbHMoWzEsIDIsIFsxLCAyXV0sIHsgMDogMSwgMTogMiwgMjogeyAwOiAx
LCAxOiAyfSB9LCAiYXJyYXkgaXMgZXF1YWwgdG8gb2JqZWN0IikKLSAgICB9Ci0gICAgdGVzdChi
YXNpY0Fzc2VydE9iamVjdEVxdWFscywgImJhc2ljIGFzc2VydF9vYmplY3RfZXF1YWxzIHRlc3Qi
KTsKLQotICAgIGZ1bmN0aW9uIGJhc2ljQXNzZXJ0QXJyYXlBcHByb3hFcXVhbHMoKQotICAgIHsK
LSAgICAgICAgYXNzZXJ0X2FycmF5X2FwcHJveF9lcXVhbHMoWzEwLCAxMV0sIFsxMSwgMTBdLCAx
LCAiWzEwLCAxMV0gaXMgYXBwcm94aW1hdGVseSAoKy8tIDEpIFsxMSwgMTBdIikKLSAgICB9Ci0g
ICAgdGVzdChiYXNpY0Fzc2VydEFycmF5QXBwcm94RXF1YWxzLCAiYmFzaWMgYXNzZXJ0X2FycmF5
X2FwcHJveF9lcXVhbHMgdGVzdCIpOwotCi0gICAgZnVuY3Rpb24gYmFzaWNBc3NlcnRBcHByb3hF
cXVhbHMoKQotICAgIHsKLSAgICAgICAgYXNzZXJ0X2FwcHJveF9lcXVhbHMoMTAsIDExLCAxLCAi
MTAgaXMgYXBwcm94aW1hdGVseSAoKy8tIDEpIDExIikKLSAgICB9Ci0gICAgdGVzdChiYXNpY0Fz
c2VydEFwcHJveEVxdWFscywgImJhc2ljIGFzc2VydF9hcHByb3hfZXF1YWxzIHRlc3QiKTsKLQot
ICAgIGZ1bmN0aW9uIGJhc2ljQXNzZXJ0TGVzc1RoYW4oKQotICAgIHsKLSAgICAgICAgYXNzZXJ0
X2xlc3NfdGhhbigxMCwgMTEsICIxMCBpcyBsZXNzIHRoYW4gMTEiKQotICAgIH0KLSAgICB0ZXN0
KGJhc2ljQXNzZXJ0QXBwcm94RXF1YWxzLCAiYmFzaWMgYXNzZXJ0X2xlc3NfdGhhbiB0ZXN0Iik7
Ci0KLSAgICBmdW5jdGlvbiBiYXNpY0Fzc2VydEdyZWF0ZXJUaGFuKCkKLSAgICB7Ci0gICAgICAg
IGFzc2VydF9ncmVhdGVyX3RoYW4oMTAsIDExLCAiMTAgaXMgbm90IGdyZWF0ZXIgdGhhbiAxMSIp
OwotICAgIH0KLSAgICB0ZXN0KGJhc2ljQXNzZXJ0R3JlYXRlclRoYW4sICJhc3NlcnRfZ3JlYXRl
cl90aGFuIGV4cGVjdGVkIHRvIGZhaWwiKTsKLQotICAgIGZ1bmN0aW9uIGJhc2ljQXNzZXJ0R3Jl
YXRlclRoYW5FcXVhbCgpCi0gICAgewotICAgICAgICBhc3NlcnRfZ3JlYXRlcl90aGFuX2VxdWFs
KDEwLCAxMCwgIjEwIGlzIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAxMCIpCi0gICAgfQotICAg
IHRlc3QoYmFzaWNBc3NlcnRHcmVhdGVyVGhhbkVxdWFsLCAiYmFzaWMgYXNzZXJ0X2dyZWF0ZXJf
dGhhbl9lcXVhbCB0ZXN0Iik7Ci0KLSAgICBmdW5jdGlvbiBiYXNpY0Fzc2VydExlc3NUaGFuRXF1
YWwoKQotICAgIHsKLSAgICAgICAgYXNzZXJ0X2dyZWF0ZXJfdGhhbl9lcXVhbCgnMTAnLCAxMCwg
IicxMCcgaXMgbm90IGEgbnVtYmVyIikKLSAgICB9Ci0gICAgdGVzdChiYXNpY0Fzc2VydExlc3NU
aGFuRXF1YWwsICJhc3NlcnRfbGVzc190aGFuX2VxdWFsIGV4cGVjdGVkIHRvIGZhaWwiKTsKLQot
ICAgIGZ1bmN0aW9uIHRlc3RBc3NlcnRJbmhlcml0cygpIHsKLSAgICAgICAgdmFyIEEgPSBmdW5j
dGlvbigpe3RoaXMuYSA9ICJhIn0KLSAgICAgICAgQS5wcm90b3R5cGUgPSB7YjoiYiJ9Ci0gICAg
ICAgIHZhciBhID0gbmV3IEEoKTsKLSAgICAgICAgYXNzZXJ0X2V4aXN0cyhhLCAiYSIpOwotICAg
ICAgICBhc3NlcnRfbm90X2V4aXN0cyhhLCAiYiIpOwotICAgICAgICBhc3NlcnRfaW5oZXJpdHMo
YSwgImIiKTsKLSAgICB9Ci0gICAgdGVzdCh0ZXN0QXNzZXJ0SW5oZXJpdHMsICJ0ZXN0IGZvciBh
c3NlcnRbX25vdF1fZXhpc3RzIGFuZCBpbnNlcnRfaW5oZXJpdHMiKQotCi0gICAgdGVzdChmdW5j
dGlvbigpCi0gICAgewotICAgICAgICB2YXIgYSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImEi
KQotICAgICAgICB2YXIgYiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImIiKQotICAgICAgICBh
c3NlcnRfdGhyb3dzKCJOT1RfRk9VTkRfRVJSIiwgZnVuY3Rpb24gKCkge2EucmVtb3ZlQ2hpbGQo
Yil9KTsKLSAgICB9LCAiVGVzdCB0aHJvdyBET00gZXhjZXB0aW9uIikKLQotICAgIHRlc3QoZnVu
Y3Rpb24oKQotICAgIHsKLSAgICAgICAgdmFyIGEgPSBkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgi
YSIpCi0gICAgICAgIHZhciBiID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYiIpCi0gICAgICAg
IGFzc2VydF90aHJvd3MoIk5PVF9GT1VORF9FUlIiLCBmdW5jdGlvbiAoKSB7YS5hcHBlbmRDaGls
ZChiKX0pOwotICAgIH0sICJUZXN0IHRocm93IERPTSBleGNlcHRpb24gZXhwZWN0ZWQgdG8gZmFp
bCIpCi0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkKLSAgICB7Ci0gICAgICAgIHZhciBlID0ge2NvZGU6
MCwgbmFtZToiVEVTVF9FUlIiLCBURVNUX0VSUjowfQotICAgICAgICBhc3NlcnRfdGhyb3dzKCJU
RVNUX0VSUiIsIGZ1bmN0aW9uKCkge3Rocm93IGV9KTsKLSAgICB9LCAiVGVzdCBhc3NlcnRfdGhy
b3dzIHdpdGggbm9uLURPTS1leGNlcHRpb24gZXhwZWN0ZWQgdG8gRmFpbCIpOwotCi0gICAgdmFy
IHQgPSBhc3luY190ZXN0KCJUZXN0IHN0ZXBfZnVuYyIpCi0gICAgc2V0VGltZW91dCgKLSAgICAg
IHQuc3RlcF9mdW5jKAotICAgICAgICBmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAgYXNzZXJ0X3Ry
dWUodHJ1ZSk7IHQuZG9uZSgpOwotICAgICAgICB9KSwgMCk7Ci0KLSAgICBhc3luY190ZXN0KGZ1
bmN0aW9uKHQpIHsKLSAgICAgICAgc2V0VGltZW91dCh0LnN0ZXBfZnVuYyhmdW5jdGlvbiAoKXth
c3NlcnRfdHJ1ZSh0cnVlKTsgdC5kb25lKCk7fSksIDApOwotICAgIH0sICJUZXN0IGFzeW5jIHRl
c3Qgd2l0aCBjYWxsYmFjayIpOwotCi0gICAgYXN5bmNfdGVzdChmdW5jdGlvbigpIHsKLSAgICAg
ICAgc2V0VGltZW91dCh0aGlzLnN0ZXBfZnVuYyhmdW5jdGlvbiAoKXthc3NlcnRfdHJ1ZSh0cnVl
KTsgdGhpcy5kb25lKCk7fSksIDApOwotICAgIH0sICJUZXN0IGFzeW5jIHRlc3Qgd2l0aCBjYWxs
YmFjayBhbmQgYHRoaXNgIG9iai4iKTsKLQotICAgIGFzeW5jX3Rlc3QoInRlc3Qgc2hvdWxkIHRp
bWVvdXQgKGZhaWwpIHdpdGggdGhlIGRlZmF1bHQgb2YgMiBzZWNvbmRzIikuc3RlcChmdW5jdGlv
bigpe30pOwotCi0gICAgYXN5bmNfdGVzdCgidGVzdCBzaG91bGQgdGltZW91dCAoZmFpbCkgd2l0
aCBhIGN1c3RvbSBzZXQgdGltZW91dCB2YWx1ZSBvZiAxIHNlY29uZCIsCi0gICAgICAgICAgICAg
ICB7dGltZW91dDoxMDAwfSkuc3RlcChmdW5jdGlvbigpe30pOwotCi0gICAgYXN5bmNfdGVzdCgi
YXN5bmMgdGVzdCB0aGF0IGlzIG5ldmVyIHN0YXJ0ZWQsIHNob3VsZCBoYXZlIHN0YXR1cyBOb3Qg
UnVuIiwge3RpbWVvdXQ6MTAwMH0pOwotCi0KLSAgICB0ZXN0KGZ1bmN0aW9uKHQpIHsKLSAgICAg
ICAgICAgICB3aW5kb3cuZ2xvYmFsID0gMTsKLSAgICAgICAgICAgICB0LmFkZF9jbGVhbnVwKGZ1
bmN0aW9uKCkge2RlbGV0ZSB3aW5kb3cuZ2xvYmFsfSk7Ci0gICAgICAgICAgICAgYXNzZXJ0X2Vx
dWFscyh3aW5kb3cuZ2xvYmFsLCAxKTsKLSAgICAgICAgIH0sCi0gICAgICAgICAiVGVzdCB0aGF0
IGRlZmluZXMgYSBnbG9iYWwgYW5kIGNsZWFucyBpdCB1cCIpOwotCi0gICAgdGVzdChmdW5jdGlv
bigpIHthc3NlcnRfZXF1YWxzKHdpbmRvdy5nbG9iYWwsIHVuZGVmaW5lZCl9LAotICAgICAgICAg
IlRlc3QgdGhhdCBjbGVhbnVwIGhhbmRsZXJzIGZyb20gcHJldmlvdXMgdGVzdCByYW4iKTsKLQot
PC9zY3JpcHQ+Ci08c2NyaXB0IHR5cGU9InRleHQvanNvbiIgaWQ9ImV4cGVjdGVkIj4KLXsKLSAg
InN1bW1hcml6ZWRfc3RhdHVzIjogewotICAgICJzdGF0dXNfc3RyaW5nIjogIlRJTUVPVVQiLAot
ICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAic3RhY2siOiBudWxsCi0gIH0sCi0gICJzdW1tYXJp
emVkX3Rlc3RzIjogWwotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLCAKLSAg
ICAgICJuYW1lIjogIlNldHVwIGZ1bmN0aW9uIHJhbiIsIAotICAgICAgInN0YWNrIjogbnVsbCwg
Ci0gICAgICAibWVzc2FnZSI6IG51bGwsIAotICAgICAgInByb3BlcnRpZXMiOiB7fQotICAgIH0s
IAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIkZBSUwiLCAKLSAgICAgICJuYW1lIjog
IlRlc3QgYXNzZXJ0X3Rocm93cyB3aXRoIG5vbi1ET00tZXhjZXB0aW9uIGV4cGVjdGVkIHRvIEZh
aWwiLCAKLSAgICAgICJzdGFjayI6ICIoaW1wbGVtZW50YXRpb24tZGVmaW5lZCkiLCAKLSAgICAg
ICJtZXNzYWdlIjogIlRlc3QgYnVnOiB1bnJlY29nbml6ZWQgRE9NRXhjZXB0aW9uIGNvZGUgXCJU
RVNUX0VSUlwiIHBhc3NlZCB0byBhc3NlcnRfdGhyb3dzKCkiLCAKLSAgICAgICJwcm9wZXJ0aWVz
Ijoge30KLSAgICB9LCAKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwgCi0g
ICAgICAibmFtZSI6ICJUZXN0IGFzeW5jIHRlc3Qgd2l0aCBjYWxsYmFjayIsIAotICAgICAgInN0
YWNrIjogbnVsbCwgCi0gICAgICAibWVzc2FnZSI6IG51bGwsIAotICAgICAgInByb3BlcnRpZXMi
OiB7fQotICAgIH0sIAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLCAKLSAg
ICAgICJuYW1lIjogIlRlc3QgYXN5bmMgdGVzdCB3aXRoIGNhbGxiYWNrIGFuZCBgdGhpc2Agb2Jq
LiIsIAotICAgICAgInN0YWNrIjogbnVsbCwgCi0gICAgICAibWVzc2FnZSI6IG51bGwsIAotICAg
ICAgInByb3BlcnRpZXMiOiB7fQotICAgIH0sIAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5n
IjogIlBBU1MiLCAKLSAgICAgICJuYW1lIjogIlRlc3Qgc3RlcF9mdW5jIiwgCi0gICAgICAic3Rh
Y2siOiBudWxsLCAKLSAgICAgICJtZXNzYWdlIjogbnVsbCwgCi0gICAgICAicHJvcGVydGllcyI6
IHt9Ci0gICAgfSwgCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsIAotICAg
ICAgIm5hbWUiOiAiVGVzdCB0aGF0IGNsZWFudXAgaGFuZGxlcnMgZnJvbSBwcmV2aW91cyB0ZXN0
IHJhbiIsIAotICAgICAgInN0YWNrIjogbnVsbCwgCi0gICAgICAibWVzc2FnZSI6IG51bGwsIAot
ICAgICAgInByb3BlcnRpZXMiOiB7fQotICAgIH0sIAotICAgIHsKLSAgICAgICJzdGF0dXNfc3Ry
aW5nIjogIlBBU1MiLCAKLSAgICAgICJuYW1lIjogIlRlc3QgdGhhdCBkZWZpbmVzIGEgZ2xvYmFs
IGFuZCBjbGVhbnMgaXQgdXAiLCAKLSAgICAgICJzdGFjayI6IG51bGwsIAotICAgICAgIm1lc3Nh
Z2UiOiBudWxsLCAKLSAgICAgICJwcm9wZXJ0aWVzIjoge30KLSAgICB9LCAKLSAgICB7Ci0gICAg
ICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwgCi0gICAgICAibmFtZSI6ICJUZXN0IHRocm93IERP
TSBleGNlcHRpb24iLCAKLSAgICAgICJzdGFjayI6IG51bGwsIAotICAgICAgIm1lc3NhZ2UiOiBu
dWxsLCAKLSAgICAgICJwcm9wZXJ0aWVzIjoge30KLSAgICB9LCAKLSAgICB7Ci0gICAgICAic3Rh
dHVzX3N0cmluZyI6ICJGQUlMIiwgCi0gICAgICAibmFtZSI6ICJUZXN0IHRocm93IERPTSBleGNl
cHRpb24gZXhwZWN0ZWQgdG8gZmFpbCIsIAotICAgICAgInN0YWNrIjogIihpbXBsZW1lbnRhdGlv
bi1kZWZpbmVkKSIsIAotICAgICAgIm1lc3NhZ2UiOiAiYXNzZXJ0X3Rocm93czogZnVuY3Rpb24g
XCJmdW5jdGlvbiAoKSB7YS5hcHBlbmRDaGlsZChiKX1cIiB0aHJldyBvYmplY3QgXCJIaWVyYXJj
aHlSZXF1ZXN0RXJyb3I6IE5vZGUgY2Fubm90IGJlIGluc2VydGVkIGF0IHRoZSBzcGVjaWZpZWQg
cG9pbnQgaW4gdGhlIGhpZXJhcmNoeVwiIHRoYXQgaXMgbm90IGEgRE9NRXhjZXB0aW9uIE5PVF9G
T1VORF9FUlI6IHByb3BlcnR5IFwiY29kZVwiIGlzIGVxdWFsIHRvIDMsIGV4cGVjdGVkIDgiLCAK
LSAgICAgICJwcm9wZXJ0aWVzIjoge30KLSAgICB9LCAKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0
cmluZyI6ICJGQUlMIiwgCi0gICAgICAibmFtZSI6ICJhc3NlcnRfYXJyYXlfZXF1YWxzIHdpdGgg
Zmlyc3QgcGFyYW0gMSIsIAotICAgICAgInN0YWNrIjogIihpbXBsZW1lbnRhdGlvbi1kZWZpbmVk
KSIsIAotICAgICAgIm1lc3NhZ2UiOiAiYXNzZXJ0X2FycmF5X2VxdWFsczogMSBlcXVhbHMgWzFd
PyB2YWx1ZSBpcyAxLCBleHBlY3RlZCBhcnJheSIsIAotICAgICAgInByb3BlcnRpZXMiOiB7fQot
ICAgIH0sIAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIkZBSUwiLCAKLSAgICAgICJu
YW1lIjogImFzc2VydF9hcnJheV9lcXVhbHMgd2l0aCBmaXJzdCBwYXJhbSBmYWxzZSIsIAotICAg
ICAgInN0YWNrIjogIihpbXBsZW1lbnRhdGlvbi1kZWZpbmVkKSIsIAotICAgICAgIm1lc3NhZ2Ui
OiAiYXNzZXJ0X2FycmF5X2VxdWFsczogZmFsc2UgZXF1YWxzIFsxXT8gdmFsdWUgaXMgZmFsc2Us
IGV4cGVjdGVkIGFycmF5IiwgCi0gICAgICAicHJvcGVydGllcyI6IHt9Ci0gICAgfSwgCi0gICAg
ewotICAgICAgInN0YXR1c19zdHJpbmciOiAiRkFJTCIsIAotICAgICAgIm5hbWUiOiAiYXNzZXJ0
X2FycmF5X2VxdWFscyB3aXRoIGZpcnN0IHBhcmFtIG51bGwiLCAKLSAgICAgICJzdGFjayI6ICIo
aW1wbGVtZW50YXRpb24tZGVmaW5lZCkiLCAKLSAgICAgICJtZXNzYWdlIjogImFzc2VydF9hcnJh
eV9lcXVhbHM6IG51bGwgZXF1YWxzIFsxXT8gdmFsdWUgaXMgbnVsbCwgZXhwZWN0ZWQgYXJyYXki
LCAKLSAgICAgICJwcm9wZXJ0aWVzIjoge30KLSAgICB9LCAKLSAgICB7Ci0gICAgICAic3RhdHVz
X3N0cmluZyI6ICJGQUlMIiwgCi0gICAgICAibmFtZSI6ICJhc3NlcnRfYXJyYXlfZXF1YWxzIHdp
dGggZmlyc3QgcGFyYW0gdHJ1ZSIsIAotICAgICAgInN0YWNrIjogIihpbXBsZW1lbnRhdGlvbi1k
ZWZpbmVkKSIsIAotICAgICAgIm1lc3NhZ2UiOiAiYXNzZXJ0X2FycmF5X2VxdWFsczogdHJ1ZSBl
cXVhbHMgWzFdPyB2YWx1ZSBpcyB0cnVlLCBleHBlY3RlZCBhcnJheSIsIAotICAgICAgInByb3Bl
cnRpZXMiOiB7fQotICAgIH0sIAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIkZBSUwi
LCAKLSAgICAgICJuYW1lIjogImFzc2VydF9hcnJheV9lcXVhbHMgd2l0aCBmaXJzdCBwYXJhbSB1
bmRlZmluZWQiLCAKLSAgICAgICJzdGFjayI6ICIoaW1wbGVtZW50YXRpb24tZGVmaW5lZCkiLCAK
LSAgICAgICJtZXNzYWdlIjogImFzc2VydF9hcnJheV9lcXVhbHM6IHVuZGVmaW5lZCBlcXVhbHMg
WzFdPyB2YWx1ZSBpcyB1bmRlZmluZWQsIGV4cGVjdGVkIGFycmF5IiwgCi0gICAgICAicHJvcGVy
dGllcyI6IHt9Ci0gICAgfSwgCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIs
IAotICAgICAgIm5hbWUiOiAiYXNzZXJ0X2VxdWFscyB0ZXN0cyIsIAotICAgICAgInN0YWNrIjog
bnVsbCwgCi0gICAgICAibWVzc2FnZSI6IG51bGwsIAotICAgICAgInByb3BlcnRpZXMiOiB7fQot
ICAgIH0sIAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIkZBSUwiLCAKLSAgICAgICJu
YW1lIjogImFzc2VydF9lcXVhbHMgdGVzdHMgZXhwZWN0ZWQgdG8gZmFpbCIsIAotICAgICAgInN0
YWNrIjogIihpbXBsZW1lbnRhdGlvbi1kZWZpbmVkKSIsIAotICAgICAgIm1lc3NhZ2UiOiAiYXNz
ZXJ0X2VxdWFsczogWmVybyBjYXNlIGV4cGVjdGVkIDAgYnV0IGdvdCAtMCIsIAotICAgICAgInBy
b3BlcnRpZXMiOiB7fQotICAgIH0sIAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIkZB
SUwiLCAKLSAgICAgICJuYW1lIjogImFzc2VydF9ncmVhdGVyX3RoYW4gZXhwZWN0ZWQgdG8gZmFp
bCIsIAotICAgICAgInN0YWNrIjogIihpbXBsZW1lbnRhdGlvbi1kZWZpbmVkKSIsIAotICAgICAg
Im1lc3NhZ2UiOiAiYXNzZXJ0X2dyZWF0ZXJfdGhhbjogMTAgaXMgbm90IGdyZWF0ZXIgdGhhbiAx
MSBleHBlY3RlZCBhIG51bWJlciBncmVhdGVyIHRoYW4gMTEgYnV0IGdvdCAxMCIsIAotICAgICAg
InByb3BlcnRpZXMiOiB7fQotICAgIH0sIAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjog
IkZBSUwiLCAKLSAgICAgICJuYW1lIjogImFzc2VydF9sZXNzX3RoYW5fZXF1YWwgZXhwZWN0ZWQg
dG8gZmFpbCIsIAotICAgICAgInN0YWNrIjogIihpbXBsZW1lbnRhdGlvbi1kZWZpbmVkKSIsIAot
ICAgICAgIm1lc3NhZ2UiOiAiYXNzZXJ0X2dyZWF0ZXJfdGhhbl9lcXVhbDogJzEwJyBpcyBub3Qg
YSBudW1iZXIgZXhwZWN0ZWQgYSBudW1iZXIgYnV0IGdvdCBhIFwic3RyaW5nXCIiLCAKLSAgICAg
ICJwcm9wZXJ0aWVzIjoge30KLSAgICB9LCAKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6
ICJQQVNTIiwgCi0gICAgICAibmFtZSI6ICJhc3NlcnRfbm90X2VxdWFscyB0ZXN0cyIsIAotICAg
ICAgInN0YWNrIjogbnVsbCwgCi0gICAgICAibWVzc2FnZSI6IG51bGwsIAotICAgICAgInByb3Bl
cnRpZXMiOiB7fQotICAgIH0sIAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIkZBSUwi
LCAKLSAgICAgICJuYW1lIjogImFzc2VydF90cnVlIGV4cGVjdGVkIHRvIGZhaWwiLCAKLSAgICAg
ICJzdGFjayI6ICIoaW1wbGVtZW50YXRpb24tZGVmaW5lZCkiLCAKLSAgICAgICJtZXNzYWdlIjog
ImFzc2VydF90cnVlOiBmYWxzZSBzaG91bGQgbm90IGJlIHRydWUgZXhwZWN0ZWQgdHJ1ZSBnb3Qg
ZmFsc2UiLCAKLSAgICAgICJwcm9wZXJ0aWVzIjoge30KLSAgICB9LCAKLSAgICB7Ci0gICAgICAi
c3RhdHVzX3N0cmluZyI6ICJQQVNTIiwgCi0gICAgICAibmFtZSI6ICJhc3NlcnRfdHJ1ZSBleHBl
Y3RlZCB0byBwYXNzIiwgCi0gICAgICAic3RhY2siOiBudWxsLCAKLSAgICAgICJtZXNzYWdlIjog
bnVsbCwgCi0gICAgICAicHJvcGVydGllcyI6IHt9Ci0gICAgfSwgCi0gICAgewotICAgICAgInN0
YXR1c19zdHJpbmciOiAiTk9UUlVOIiwgCi0gICAgICAibmFtZSI6ICJhc3luYyB0ZXN0IHRoYXQg
aXMgbmV2ZXIgc3RhcnRlZCwgc2hvdWxkIGhhdmUgc3RhdHVzIE5vdCBSdW4iLCAKLSAgICAgICJz
dGFjayI6IG51bGwsIAotICAgICAgIm1lc3NhZ2UiOiBudWxsLCAKLSAgICAgICJwcm9wZXJ0aWVz
IjogewotICAgICAgICAidGltZW91dCI6IDEwMDAKLSAgICAgIH0KLSAgICB9LCAKLSAgICB7Ci0g
ICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1lIjogImJhc2ljIGFzc2Vy
dF9hcHByb3hfZXF1YWxzIHRlc3QiLAotICAgICAgInN0YWNrIjogbnVsbCwKLSAgICAgICJtZXNz
YWdlIjogbnVsbCwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30KLSAgICB9LAotICAgIHsKLSAgICAg
ICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUiOiAiYmFzaWMgYXNzZXJ0X2Fy
cmF5X2FwcHJveF9lcXVhbHMgdGVzdCIsCi0gICAgICAic3RhY2siOiBudWxsLAotICAgICAgIm1l
c3NhZ2UiOiBudWxsLAotICAgICAgInByb3BlcnRpZXMiOiB7fQotICAgIH0sCi0gICAgewotICAg
ICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsIAotICAgICAgIm5hbWUiOiAiYmFzaWMgYXNzZXJ0
X2FycmF5X2VxdWFscyB0ZXN0IiwgCi0gICAgICAic3RhY2siOiBudWxsLCAKLSAgICAgICJtZXNz
YWdlIjogbnVsbCwgCi0gICAgICAicHJvcGVydGllcyI6IHt9Ci0gICAgfSwgCi0gICAgewotICAg
ICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsIAotICAgICAgIm5hbWUiOiAiYmFzaWMgYXNzZXJ0
X2dyZWF0ZXJfdGhhbl9lcXVhbCB0ZXN0IiwgCi0gICAgICAic3RhY2siOiBudWxsLCAKLSAgICAg
ICJtZXNzYWdlIjogbnVsbCwgCi0gICAgICAicHJvcGVydGllcyI6IHt9Ci0gICAgfSwgCi0gICAg
ewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsIAotICAgICAgIm5hbWUiOiAiYmFzaWMg
YXNzZXJ0X2xlc3NfdGhhbiB0ZXN0IiwgCi0gICAgICAic3RhY2siOiBudWxsLCAKLSAgICAgICJt
ZXNzYWdlIjogbnVsbCwgCi0gICAgICAicHJvcGVydGllcyI6IHt9Ci0gICAgfSwgCi0gICAgewot
ICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsIAotICAgICAgIm5hbWUiOiAiYmFzaWMgYXNz
ZXJ0X29iamVjdF9lcXVhbHMgdGVzdCIsIAotICAgICAgInN0YWNrIjogbnVsbCwgCi0gICAgICAi
bWVzc2FnZSI6IG51bGwsIAotICAgICAgInByb3BlcnRpZXMiOiB7fQotICAgIH0sIAotICAgIHsK
LSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLCAKLSAgICAgICJuYW1lIjogImJvZHkgZWxl
bWVudCBmaXJlcyB0aGUgb25sb2FkIGV2ZW50IHNldCBmcm9tIHRoZSBhdHRyaWJ1dGUiLCAKLSAg
ICAgICJzdGFjayI6IG51bGwsIAotICAgICAgIm1lc3NhZ2UiOiBudWxsLCAKLSAgICAgICJwcm9w
ZXJ0aWVzIjoge30KLSAgICB9LCAKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNT
IiwgCi0gICAgICAibmFtZSI6ICJkb2N1bWVudC5ib2R5IHNob3VsZCBiZSB0aGUgZmlyc3QgYm9k
eSBlbGVtZW50IGluIHRoZSBkb2N1bWVudCIsIAotICAgICAgInN0YWNrIjogbnVsbCwgCi0gICAg
ICAibWVzc2FnZSI6IG51bGwsIAotICAgICAgInByb3BlcnRpZXMiOiB7fQotICAgIH0sIAotICAg
IHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLCAKLSAgICAgICJuYW1lIjogInRlc3Qg
Zm9yIGFzc2VydFtfbm90XV9leGlzdHMgYW5kIGluc2VydF9pbmhlcml0cyIsIAotICAgICAgInN0
YWNrIjogbnVsbCwgCi0gICAgICAibWVzc2FnZSI6IG51bGwsIAotICAgICAgInByb3BlcnRpZXMi
OiB7fQotICAgIH0sIAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlRJTUVPVVQiLCAK
LSAgICAgICJuYW1lIjogInRlc3Qgc2hvdWxkIHRpbWVvdXQgKGZhaWwpIHdpdGggYSBjdXN0b20g
c2V0IHRpbWVvdXQgdmFsdWUgb2YgMSBzZWNvbmQiLCAKLSAgICAgICJzdGFjayI6IG51bGwsIAot
ICAgICAgIm1lc3NhZ2UiOiAiVGVzdCB0aW1lZCBvdXQiLCAKLSAgICAgICJwcm9wZXJ0aWVzIjog
ewotICAgICAgICAidGltZW91dCI6IDEwMDAKLSAgICAgIH0KLSAgICB9LCAKLSAgICB7Ci0gICAg
ICAic3RhdHVzX3N0cmluZyI6ICJUSU1FT1VUIiwgCi0gICAgICAibmFtZSI6ICJ0ZXN0IHNob3Vs
ZCB0aW1lb3V0IChmYWlsKSB3aXRoIHRoZSBkZWZhdWx0IG9mIDIgc2Vjb25kcyIsIAotICAgICAg
InN0YWNrIjogbnVsbCwgCi0gICAgICAibWVzc2FnZSI6ICJUZXN0IHRpbWVkIG91dCIsIAotICAg
ICAgInByb3BlcnRpZXMiOiB7fQotICAgIH0sIAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5n
IjogIlBBU1MiLCAKLSAgICAgICJuYW1lIjogIndpbmRvdyBvbmxvYWQgZXZlbnQgZmlyZXMgd2hl
biBzZXQgZnJvbSB0aGUgaGFuZGxlciIsIAotICAgICAgInN0YWNrIjogbnVsbCwgCi0gICAgICAi
bWVzc2FnZSI6IG51bGwsIAotICAgICAgInByb3BlcnRpZXMiOiB7fQotICAgIH0KLSAgXSwKLSAg
InR5cGUiOiAiY29tcGxldGUiCi19Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3Rlc3QvdGVzdHMvYXBpLXRlc3RzLTIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvYXBpLXRlc3RzLTIuaHRt
bApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTlmYTViZTljODUuLjAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3Rlc3QvdGVzdHMvYXBpLXRlc3RzLTIuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDQ3ICsw
LDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLTx0aXRsZT5TYW1wbGUgSFRN
TDUgQVBJIFRlc3RzPC90aXRsZT4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0ibG9hZF90ZXN0X2F0
dHIuZG9uZSgpIj4KLTxoMT5TYW1wbGUgSFRNTDUgQVBJIFRlc3RzPC9oMT4KLTxwPlRoZXJlIHNo
b3VsZCBiZSB0d28gcmVzdWx0czwvcD4KLTxkaXYgaWQ9ImxvZyI+PC9kaXY+Ci08c2NyaXB0IHNy
Yz0iLi4vLi4vdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci1zZXR1cCh7ZXhwbGljaXRf
ZG9uZTp0cnVlfSkKLXRlc3QoZnVuY3Rpb24oKSB7YXNzZXJ0X3RydWUodHJ1ZSl9LCAiVGVzdCBk
ZWZpbmVkIGJlZm9yZSBvbmxvYWQiKTsKLQotb25sb2FkID0gZnVuY3Rpb24oKSB7dGVzdChmdW5j
dGlvbiAoKXthc3NlcnRfdHJ1ZSh0cnVlKX0sICJUZXN0IGRlZmluZWQgYWZ0ZXIgb25sb2FkIik7
Ci1kb25lKCk7Ci19Ci08L3NjcmlwdD4KLTxzY3JpcHQgdHlwZT0idGV4dC9qc29uIiBpZD0iZXhw
ZWN0ZWQiPgotewotICAic3VtbWFyaXplZF9zdGF0dXMiOiB7Ci0gICAgInN0YXR1c19zdHJpbmci
OiAiT0siLAotICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAic3RhY2siOiBudWxsCi0gIH0sCi0g
ICJzdW1tYXJpemVkX3Rlc3RzIjogWwotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBB
U1MiLAotICAgICAgIm5hbWUiOiAiVGVzdCBkZWZpbmVkIGFmdGVyIG9ubG9hZCIsCi0gICAgICAi
cHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgInN0YWNrIjog
bnVsbAotICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAg
ICAibmFtZSI6ICJUZXN0IGRlZmluZWQgYmVmb3JlIG9ubG9hZCIsCi0gICAgICAicHJvcGVydGll
cyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgInN0YWNrIjogbnVsbAotICAg
IH0KLSAgXSwKLSAgInR5cGUiOiAiY29tcGxldGUiCi19Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvYXBpLXRlc3RzLTMuaHRtbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvYXBp
LXRlc3RzLTMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZmI1NzFjOGVlODUu
LjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvYXBpLXRlc3RzLTMuaHRtbAorKysgL2Rldi9udWxs
CkBAIC0xLDM2ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLTx0aXRs
ZT5TYW1wbGUgSFRNTDUgQVBJIFRlc3RzPC90aXRsZT4KLTwvaGVhZD4KLTxzY3JpcHQgc3JjPSIu
Li8uLi90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci0KLTxib2R5IG9ubG9hZD0ibG9hZF90ZXN0
X2F0dHIuZG9uZSgpIj4KLTxoMT5TYW1wbGUgSFRNTDUgQVBJIFRlc3RzPC9oMT4KLTxkaXYgaWQ9
ImxvZyI+PC9kaXY+Ci08c2NyaXB0Pgotc2V0dXAoe2V4cGxpY2l0X3RpbWVvdXQ6dHJ1ZX0pOwot
dmFyIHQgPSBhc3luY190ZXN0KCJUaGlzIHRlc3Qgc2hvdWxkIGdpdmUgYSBzdGF0dXMgb2YgJ05v
dCBSdW4nIHdpdGhvdXQgYSBkZWxheSIpOwotdGltZW91dCgpOwotPC9zY3JpcHQ+Ci08c2NyaXB0
IHR5cGU9InRleHQvanNvbiIgaWQ9ImV4cGVjdGVkIj4KLXsKLSAgInN1bW1hcml6ZWRfc3RhdHVz
IjogewotICAgICJzdGF0dXNfc3RyaW5nIjogIlRJTUVPVVQiLAotICAgICJtZXNzYWdlIjogbnVs
bCwKLSAgICAic3RhY2siOiBudWxsCi0gIH0sCi0gICJzdW1tYXJpemVkX3Rlc3RzIjogWwotICAg
IHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIk5PVFJVTiIsCi0gICAgICAibmFtZSI6ICJUaGlz
IHRlc3Qgc2hvdWxkIGdpdmUgYSBzdGF0dXMgb2YgJ05vdCBSdW4nIHdpdGhvdXQgYSBkZWxheSIs
Ci0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAg
InN0YWNrIjogbnVsbAotICAgIH0KLSAgXSwKLSAgInR5cGUiOiAiY29tcGxldGUiCi19Ci08L3Nj
cmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC9h
ZGRfY2xlYW51cC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFsL2FkZF9jbGVhbnVwLmh0bWwKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDMxZmUxOWM0YmNlLi4wMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90
ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvYWRkX2NsZWFudXAuaHRtbAorKysgL2Rldi9udWxsCkBAIC0x
LDk0ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLTxtZXRhIG5hbWU9
InZhcmlhbnQiIGNvbnRlbnQ9IiI+Ci08bWV0YSBuYW1lPSJ2YXJpYW50IiBjb250ZW50PSI/a2Vl
cC1wcm9taXNlIj4KLTx0aXRsZT5UZXN0I2FkZF9jbGVhbnVwPC90aXRsZT4KLTxzY3JpcHQgc3Jj
PSIuLi8uLi92YXJpYW50cy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxkaXYgaWQ9ImxvZyI+
PC9kaXY+Ci08c2NyaXB0PgotInVzZSBzdHJpY3QiOwotCi12YXIgbG9nX3N5bmM7Ci10ZXN0KGZ1
bmN0aW9uKHQpIHsKLSAgbG9nX3N5bmMgPSAiIjsKLSAgdC5hZGRfY2xlYW51cChmdW5jdGlvbigp
IHsgbG9nX3N5bmMgKz0gIjEiOyB9KTsKLSAgdC5hZGRfY2xlYW51cChmdW5jdGlvbigpIHsgbG9n
X3N5bmMgKz0gIjIiOyB9KTsKLSAgdC5hZGRfY2xlYW51cChmdW5jdGlvbigpIHsgbG9nX3N5bmMg
Kz0gIjMiOyB9KTsKLSAgdC5hZGRfY2xlYW51cChmdW5jdGlvbigpIHsgbG9nX3N5bmMgKz0gIjQi
OyB9KTsKLSAgdC5hZGRfY2xlYW51cChmdW5jdGlvbigpIHsgbG9nX3N5bmMgKz0gIjUiOyB9KTsK
LSAgbG9nX3N5bmMgKz0gIjAiOwotfSwgInByb2JlIHN5bmNocm9ub3VzIik7Ci0KLXRlc3QoZnVu
Y3Rpb24oKSB7Ci0gIGlmIChsb2dfc3luYyAhPT0gIjAxMjM0NSIpIHsKLSAgICB0aHJvdyBuZXcg
RXJyb3IoIkV4cGVjdGVkOiAnMDEyMzQ1Jy4gQWN0dWFsOiAnIiArIGxvZ19zeW5jICsgIicuIik7
Ci0gIH0KLX0sICJDbGVhbnVwIG1ldGhvZHMgYXJlIGludm9rZWQgZXhhY3RseSBvbmNlIGFuZCBp
biB0aGUgZXhwZWN0ZWQgc2VxdWVuY2UuIik7Ci0KLXZhciBjb21wbGV0ZSwgbG9nX2FzeW5jOwot
YXN5bmNfdGVzdChmdW5jdGlvbih0KSB7Ci0gIGNvbXBsZXRlID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24oKSB7Ci0gICAgaWYgKGxvZ19hc3luYyAhPT0gIjAxMiIpIHsKLSAgICAgIHRocm93IG5ldyBF
cnJvcigiRXhwZWN0ZWQ6ICcwMTInLiBBY3R1YWw6ICciICsgbG9nX2FzeW5jICsgIicuIik7Ci0g
ICAgfQotCi0gICAgdC5kb25lKCk7Ci0gIH0pOwotfSwgIkNsZWFudXAgbWV0aG9kcyBhcmUgaW52
b2tlZCBmb2xsb3dpbmcgdGhlIGNvbXBsZXRpb24gb2YgYXN5bmNocm9ub3VzIHRlc3RzIik7Ci0K
LWFzeW5jX3Rlc3QoZnVuY3Rpb24odCkgewotICBsb2dfYXN5bmMgPSAiIjsKLSAgdC5hZGRfY2xl
YW51cChmdW5jdGlvbigpIHsgbG9nX2FzeW5jICs9ICIxIjsgfSk7Ci0KLSAgc2V0VGltZW91dCh0
LnN0ZXBfZnVuYyhmdW5jdGlvbigpIHsKLSAgICB0LmFkZF9jbGVhbnVwKGZ1bmN0aW9uKCkgewot
ICAgICAgbG9nX2FzeW5jICs9ICIyIjsKLSAgICAgIGNvbXBsZXRlKCk7Ci0gICAgfSk7Ci0gICAg
bG9nX2FzeW5jICs9ICIwIjsKLSAgICB0LmRvbmUoKTsKLSAgfSksIDApOwotfSwgInByb2JlIGFz
eW5jaHJvbm91cyIpOwotPC9zY3JpcHQ+Ci08c2NyaXB0IHR5cGU9InRleHQvanNvbiIgaWQ9ImV4
cGVjdGVkIj4KLXsKLSAgInN1bW1hcml6ZWRfc3RhdHVzIjogewotICAgICJzdGF0dXNfc3RyaW5n
IjogIk9LIiwKLSAgICAibWVzc2FnZSI6IG51bGwKLSAgfSwKLSAgInN1bW1hcml6ZWRfdGVzdHMi
OiBbCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6
ICJDbGVhbnVwIG1ldGhvZHMgYXJlIGludm9rZWQgZXhhY3RseSBvbmNlIGFuZCBpbiB0aGUgZXhw
ZWN0ZWQgc2VxdWVuY2UuIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2Fn
ZSI6IG51bGwKLSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAot
ICAgICAgIm5hbWUiOiAiQ2xlYW51cCBtZXRob2RzIGFyZSBpbnZva2VkIGZvbGxvd2luZyB0aGUg
Y29tcGxldGlvbiBvZiBhc3luY2hyb25vdXMgdGVzdHMiLAotICAgICAgInByb3BlcnRpZXMiOiB7
fSwKLSAgICAgICJtZXNzYWdlIjogbnVsbAotICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19z
dHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJwcm9iZSBhc3luY2hyb25vdXMiLAotICAg
ICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogbnVsbAotICAgIH0sCi0gICAg
ewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJwcm9iZSBz
eW5jaHJvbm91cyIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBu
dWxsCi0gICAgfQotICBdLAotICAidHlwZSI6ICJjb21wbGV0ZSIKLX0KLTwvc2NyaXB0PgotPC9i
b2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFsL2FkZF9jbGVhbnVw
X2FzeW5jLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvYWRkX2NsZWFudXBfYXN5bmMuaHRtbApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWQwYWRlNDE1MGEuLjAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC9hZGRfY2xlYW51cF9hc3luYy5odG1sCisrKyAvZGV2L251
bGwKQEAgLTEsODcgKzAsMCBAQAotPCFET0NUWVBFIEhUTUw+Ci08aHRtbD4KLTxoZWFkPgotPG1l
dGEgbmFtZT0idmFyaWFudCIgY29udGVudD0iP2tlZXAtcHJvbWlzZSI+Ci08dGl0bGU+VGVzdCNh
ZGRfY2xlYW51cCB3aXRoIFByb21pc2UtcmV0dXJuaW5nIGZ1bmN0aW9uczwvdGl0bGU+Ci08c2Ny
aXB0IHNyYz0iLi4vLi4vdmFyaWFudHMuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4u
Ly4uL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxkaXYgaWQ9Imxv
ZyI+PC9kaXY+Ci0KLTxzY3JpcHQ+Ci0idXNlIHN0cmljdCI7Ci12YXIgY29tcGxldGVDb3VudCA9
IDA7Ci12YXIgY291bnRzID0gewotICAgIGFmdGVyVGljazogbnVsbCwKLSAgICBhZnRlckZpcnN0
OiBudWxsCi19OwotCi1hZGRfcmVzdWx0X2NhbGxiYWNrKGZ1bmN0aW9uKHJlc3VsdF90KSB7Ci0g
IGNvbXBsZXRlQ291bnQgKz0gMTsKLX0pOwotCi1wcm9taXNlX3Rlc3QoZnVuY3Rpb24odCkgewot
ICB0LmFkZF9jbGVhbnVwKGZ1bmN0aW9uKCkgewotICAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5j
dGlvbihyZXNvbHZlKSB7Ci0gICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewotICAgICAgICBj
b3VudHMuYWZ0ZXJUaWNrID0gY29tcGxldGVDb3VudDsKLSAgICAgICAgcmVzb2x2ZSgpOwotICAg
ICAgfSwgMCk7Ci0gICAgfSk7Ci0gIH0pOwotICB0LmFkZF9jbGVhbnVwKGZ1bmN0aW9uKCkgewot
ICAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKSB7Ci0KLSAgICAgIHNldFRp
bWVvdXQoZnVuY3Rpb24oKSB7Ci0gICAgICAgIGNvdW50cy5hZnRlckZpcnN0ID0gY29tcGxldGVD
b3VudDsKLSAgICAgICAgcmVzb2x2ZSgpOwotICAgICAgfSwgMCk7Ci0gICAgfSk7Ci0gIH0pOwot
Ci0gIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTsKLX0sICdwcm9taXNlX3Rlc3Qgd2l0aCBhc3lu
Y2hyb25vdXMgY2xlYW51cCcpOwotCi1wcm9taXNlX3Rlc3QoZnVuY3Rpb24oKSB7Ci0gIGFzc2Vy
dF9lcXVhbHMoCi0gICAgY291bnRzLmFmdGVyVGljaywKLSAgICAwLAotICAgICJ0ZXN0IGlzIG5v
dCBhc3luY2hyb25vdXNseSBjb25zaWRlcmVkICdjb21wbGV0ZSciCi0gICk7Ci0gIGFzc2VydF9l
cXVhbHMoCi0gICAgY291bnRzLmFmdGVyRmlyc3QsCi0gICAgMCwKLSAgICAidGVzdCBpcyBub3Qg
Y29uc2lkZXJlZCAnY29tcGxldGUnIGZvbGxvd2luZyBmdWxmaWxsbWVudCBvZiBmaXJzdCBwcm9t
aXNlIgotICApOwotICBhc3NlcnRfZXF1YWxzKGNvbXBsZXRlQ291bnQsIDEpOwotCi0gIHJldHVy
biBQcm9taXNlLnJlc29sdmUoKTsKLX0sICJzeW5jaHJvbm91c2x5LWRlZmluZWQgcHJvbWlzZV90
ZXN0Iik7Ci08L3NjcmlwdD4KLTxzY3JpcHQgdHlwZT0idGV4dC9qc29uIiBpZD0iZXhwZWN0ZWQi
PgotewotICAic3VtbWFyaXplZF9zdGF0dXMiOiB7Ci0gICAgInN0YXR1c19zdHJpbmciOiAiT0si
LAotICAgICJtZXNzYWdlIjogbnVsbAotICB9LAotICAic3VtbWFyaXplZF90ZXN0cyI6IFsKLSAg
ICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1lIjogInByb21p
c2VfdGVzdCB3aXRoIGFzeW5jaHJvbm91cyBjbGVhbnVwIiwKLSAgICAgICJtZXNzYWdlIjogbnVs
bCwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30KLSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0dXNf
c3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUiOiAic3luY2hyb25vdXNseS1kZWZpbmVkIHBy
b21pc2VfdGVzdCIsCi0gICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAicHJvcGVydGllcyI6
IHt9Ci0gICAgfQotICBdLAotICAidHlwZSI6ICJjb21wbGV0ZSIKLX0KLTwvc2NyaXB0PgotPC9i
b2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFsL2FkZF9jbGVhbnVw
X2FzeW5jX2JhZF9yZXR1cm4uaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC9hZGRfY2xlYW51cF9h
c3luY19iYWRfcmV0dXJuLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDBiNDUz
NjJmMTY0Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvYWRkX2NsZWFudXBf
YXN5bmNfYmFkX3JldHVybi5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNTIgKzAsMCBAQAotPCFE
T0NUWVBFIEhUTUw+Ci08aHRtbD4KLTxoZWFkPgotPG1ldGEgbmFtZT0idmFyaWFudCIgY29udGVu
dD0iP2tlZXAtcHJvbWlzZSI+Ci08dGl0bGU+VGVzdCNhZGRfY2xlYW51cCB3aXRoIG5vbi10aGVu
YWJsZS1yZXR1cm5pbmcgZnVuY3Rpb248L3RpdGxlPgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Zhcmlh
bnRzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4vdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwv
c2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08ZGl2IGlkPSJsb2ciPjwvZGl2PgotCi08c2NyaXB0
PgotInVzZSBzdHJpY3QiOwotCi1wcm9taXNlX3Rlc3QoZnVuY3Rpb24odCkgewotICB0LmFkZF9j
bGVhbnVwKGZ1bmN0aW9uKCkge30pOwotICB0LmFkZF9jbGVhbnVwKGZ1bmN0aW9uKCkgewotICAg
IHJldHVybiB7IHRoZW46IDkgfTsKLSAgfSk7Ci0gIHQuYWRkX2NsZWFudXAoZnVuY3Rpb24oKSB7
IHJldHVybiBQcm9taXNlLnJlc29sdmUoKTsgfSk7Ci0KLSAgcmV0dXJuIFByb21pc2UucmVzb2x2
ZSgpOwotfSwgInByb21pc2VfdGVzdCB0aGF0IHJldHVybnMgYSBub24tdGhlbmFibGUgb2JqZWN0
IGluIG9uZSBcImNsZWFudXBcIiBjYWxsYmFjayIpOwotCi1wcm9taXNlX3Rlc3QoZnVuY3Rpb24o
KSB7fSwgIlRoZSB0ZXN0IHJ1bm5lciBpcyBpbiBhbiB1bnByZWRpY3RhYmxlIHN0YXRlICgnTk9U
IFJVTicpIik7Ci08L3NjcmlwdD4KLTxzY3JpcHQgdHlwZT0idGV4dC9qc29uIiBpZD0iZXhwZWN0
ZWQiPgotewotICAic3VtbWFyaXplZF9zdGF0dXMiOiB7Ci0gICAgInN0YXR1c19zdHJpbmciOiAi
RVJST1IiLAotICAgICJtZXNzYWdlIjogIlRlc3QgbmFtZWQgJ3Byb21pc2VfdGVzdCB0aGF0IHJl
dHVybnMgYSBub24tdGhlbmFibGUgb2JqZWN0IGluIG9uZSBcImNsZWFudXBcIiBjYWxsYmFjaycg
c3BlY2lmaWVkIDMgJ2NsZWFudXAnIGZ1bmN0aW9ucywgYW5kIDEgcmV0dXJuZWQgYSBub24tdGhl
bmFibGUgdmFsdWUuIgotICB9LAotICAic3VtbWFyaXplZF90ZXN0cyI6IFsKLSAgICB7Ci0gICAg
ICAic3RhdHVzX3N0cmluZyI6ICJOT1RSVU4iLAotICAgICAgIm5hbWUiOiAiVGhlIHRlc3QgcnVu
bmVyIGlzIGluIGFuIHVucHJlZGljdGFibGUgc3RhdGUgKCdOT1QgUlVOJykiLAotICAgICAgIm1l
c3NhZ2UiOiBudWxsLAotICAgICAgInByb3BlcnRpZXMiOiB7fQotICAgIH0sCi0gICAgewotICAg
ICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJwcm9taXNlX3Rlc3Qg
dGhhdCByZXR1cm5zIGEgbm9uLXRoZW5hYmxlIG9iamVjdCBpbiBvbmUgXCJjbGVhbnVwXCIgY2Fs
bGJhY2siLAotICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgInByb3BlcnRpZXMiOiB7fQot
ICAgIH0KLSAgXSwKLSAgInR5cGUiOiAiY29tcGxldGUiCi19Ci08L3NjcmlwdD4KLTwvYm9keT4K
LTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC9hZGRfY2xlYW51cF9hc3lu
Y19yZWplY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC9hZGRfY2xlYW51cF9hc3luY19y
ZWplY3Rpb24uaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDUyOGI0MjU0ZjYu
LjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC9hZGRfY2xlYW51cF9hc3luY19y
ZWplY3Rpb24uaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDk2ICswLDAgQEAKLTwhRE9DVFlQRSBI
VE1MPgotPGh0bWw+Ci08aGVhZD4KLTxtZXRhIG5hbWU9InZhcmlhbnQiIGNvbnRlbnQ9Ij9rZWVw
LXByb21pc2UiPgotPHRpdGxlPlRlc3QjYWRkX2NsZWFudXAgd2l0aCBQcm9taXNlLXJldHVybmlu
ZyBmdW5jdGlvbnMgKHJlamVjdGlvbiBoYW5kbGluZyk8L3RpdGxlPgotPHNjcmlwdCBzcmM9Ii4u
Ly4uL3ZhcmlhbnRzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4vdGVzdGhhcm5lc3NyZXBv
cnQuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08ZGl2IGlkPSJsb2ciPjwvZGl2Pgot
Ci08c2NyaXB0PgotInVzZSBzdHJpY3QiOwotdmFyIHJlc29sdmUsIHJlamVjdDsKLXZhciBjb21w
bGV0ZUNvdW50ID0gMDsKLWFkZF9yZXN1bHRfY2FsbGJhY2soZnVuY3Rpb24ocmVzdWx0X3QpIHsK
LSAgY29tcGxldGVDb3VudCArPSAxOwotfSk7Ci1wcm9taXNlX3Rlc3QoZnVuY3Rpb24odCkgewot
ICB0LmFkZF9jbGVhbnVwKGZ1bmN0aW9uKCkgewotICAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5j
dGlvbihfLCBfcmVqZWN0KSB7IHJlamVjdCA9IF9yZWplY3Q7IH0pOwotICB9KTsKLSAgdC5hZGRf
Y2xlYW51cChmdW5jdGlvbigpIHsKLSAgICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24oX3Jl
c29sdmUpIHsgcmVzb2x2ZSA9IF9yZXNvbHZlOyB9KTsKLSAgfSk7Ci0KLSAgLy8gVGhlIGZvbGxv
d2luZyBjbGVhbnVwIGZ1bmN0aW9uIGRlZmluZXMgZW1wdHkgdGVzdHMgc28gdGhhdCB0aGUgcmVw
b3J0ZWQKLSAgLy8gZGF0YSBkZW1vbnN0cmF0ZXMgdGhlIGludGVuZGVkIHJ1bi10aW1lIGJlaGF2
aW9yIHdpdGhvdXQgcmVseWluZyBvbiB0aGUKLSAgLy8gdGVzdCBoYXJuZXNzJ3MgaGFuZGxpbmcg
b2YgZXJyb3JzIGR1cmluZyB0ZXN0IGNsZWFudXAgKHdoaWNoIGlzIHRlc3RlZAotICAvLyBlbHNl
d2hlcmUpLgotICB0LmFkZF9jbGVhbnVwKGZ1bmN0aW9uKCkgewotICAgIGlmIChjb21wbGV0ZUNv
dW50ID09PSAwKSB7Ci0gICAgICBwcm9taXNlX3Rlc3QoCi0gICAgICAgIGZ1bmN0aW9uKCkge30s
Ci0gICAgICAgICJ0ZXN0IGlzIG5vdCBhc3luY2hyb25vdXNseSBjb25zaWRlcmVkICdjb21wbGV0
ZScgKCdOT1QgUlVOJykiCi0gICAgICApOwotICAgIH0KLQotICAgIHJlamVjdCgpOwotCi0gICAg
c2V0VGltZW91dChmdW5jdGlvbigpIHsKLSAgICAgIGlmIChjb21wbGV0ZUNvdW50ID09PSAwKSB7
Ci0gICAgICAgIHByb21pc2VfdGVzdCgKLSAgICAgICAgICBmdW5jdGlvbigpIHt9LAotICAgICAg
ICAgICJ0ZXN0IGlzIG5vdCBjb25zaWRlcmVkICdjb21wbGV0ZScgZm9sbG93aW5nIHJlamVjdGlv
biBvZiBmaXJzdCAiICsKLSAgICAgICAgICAicHJvbWlzZSAoJ05PVCBSVU4nKSIKLSAgICAgICAg
KTsKLSAgICAgIH0KLQotICAgICAgcmVzb2x2ZSgpOwotICAgIH0sIDApOwotICB9KTsKLQotICBy
ZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7Ci19LCAicHJvbWlzZV90ZXN0IHdpdGggYXN5bmNocm9u
b3VzIGNsZWFudXAgaW5jbHVkaW5nIHJlamVjdGlvbiIpOwotCi1wcm9taXNlX3Rlc3QoZnVuY3Rp
b24oKSB7fSwgInN5bmNocm9ub3VzbHktZGVmaW5lZCB0ZXN0ICgnTk9UIFJVTicpIik7Ci08L3Nj
cmlwdD4KLTxzY3JpcHQgdHlwZT0idGV4dC9qc29uIiBpZD0iZXhwZWN0ZWQiPgotewotICAic3Vt
bWFyaXplZF9zdGF0dXMiOiB7Ci0gICAgInN0YXR1c19zdHJpbmciOiAiRVJST1IiLAotICAgICJt
ZXNzYWdlIjogIlRlc3QgbmFtZWQgJ3Byb21pc2VfdGVzdCB3aXRoIGFzeW5jaHJvbm91cyBjbGVh
bnVwIGluY2x1ZGluZyByZWplY3Rpb24nIHNwZWNpZmllZCAzICdjbGVhbnVwJyBmdW5jdGlvbnMs
IGFuZCAxIGZhaWxlZC4iCi0gIH0sCi0gICJzdW1tYXJpemVkX3Rlc3RzIjogWwotICAgIHsKLSAg
ICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUiOiAicHJvbWlzZV90ZXN0
IHdpdGggYXN5bmNocm9ub3VzIGNsZWFudXAgaW5jbHVkaW5nIHJlamVjdGlvbiIsCi0gICAgICAi
bWVzc2FnZSI6IG51bGwsCi0gICAgICAicHJvcGVydGllcyI6IHt9Ci0gICAgfSwKLSAgICB7Ci0g
ICAgICAic3RhdHVzX3N0cmluZyI6ICJOT1RSVU4iLAotICAgICAgIm5hbWUiOiAic3luY2hyb25v
dXNseS1kZWZpbmVkIHRlc3QgKCdOT1QgUlVOJykiLAotICAgICAgIm1lc3NhZ2UiOiBudWxsLAot
ICAgICAgInByb3BlcnRpZXMiOiB7fQotICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJp
bmciOiAiTk9UUlVOIiwKLSAgICAgICJuYW1lIjogInRlc3QgaXMgbm90IGFzeW5jaHJvbm91c2x5
IGNvbnNpZGVyZWQgJ2NvbXBsZXRlJyAoJ05PVCBSVU4nKSIsCi0gICAgICAibWVzc2FnZSI6IG51
bGwsCi0gICAgICAicHJvcGVydGllcyI6IHt9Ci0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVz
X3N0cmluZyI6ICJOT1RSVU4iLAotICAgICAgIm5hbWUiOiAidGVzdCBpcyBub3QgY29uc2lkZXJl
ZCAnY29tcGxldGUnIGZvbGxvd2luZyByZWplY3Rpb24gb2YgZmlyc3QgcHJvbWlzZSAoJ05PVCBS
VU4nKSIsCi0gICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAicHJvcGVydGllcyI6IHt9Ci0g
ICAgfQotICBdLAotICAidHlwZSI6ICJjb21wbGV0ZSIKLX0KLTwvc2NyaXB0PgotPC9ib2R5Pgot
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFsL2FkZF9jbGVhbnVwX2FzeW5j
X3JlamVjdGlvbl9hZnRlcl9sb2FkLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvYWRkX2NsZWFu
dXBfYXN5bmNfcmVqZWN0aW9uX2FmdGVyX2xvYWQuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggYmQ4ZmIzNzljNzguLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25h
bC9hZGRfY2xlYW51cF9hc3luY19yZWplY3Rpb25fYWZ0ZXJfbG9hZC5odG1sCisrKyAvZGV2L251
bGwKQEAgLTEsNTQgKzAsMCBAQAotPCFET0NUWVBFIEhUTUw+Ci08aHRtbD4KLTxoZWFkPgotPG1l
dGEgbmFtZT0idmFyaWFudCIgY29udGVudD0iP2tlZXAtcHJvbWlzZSI+Ci08dGl0bGU+VGVzdCNh
ZGRfY2xlYW51cCB3aXRoIFByb21pc2UtcmV0dXJuaW5nIGZ1bmN0aW9ucyAocmVqZWN0aW9uIGhh
bmRsaW5nIGZvbGxvd2luZyAibG9hZCIgZXZlbnQpPC90aXRsZT4KLTxzY3JpcHQgc3JjPSIuLi8u
Li92YXJpYW50cy5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxoMT5Qcm9taXNlIFRl
c3RzPC9oMT4KLTxwPlRoaXMgdGVzdCBkZW1vbnN0cmF0ZXMgdGhlIHVzZSBvZiA8dHQ+cHJvbWlz
ZV90ZXN0PC90dD4uIEFzc3VtZXMgRUNNQVNjcmlwdCA2Ci1Qcm9taXNlIHN1cHBvcnQuIFNvbWUg
ZmFpbHVyZXMgYXJlIGV4cGVjdGVkLjwvcD4KLTxkaXYgaWQ9ImxvZyI+PC9kaXY+Ci08c2NyaXB0
IHNyYz0iLi4vLi4vLi4vdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4u
Ly4uLy4uL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci1wcm9taXNl
X3Rlc3QoZnVuY3Rpb24odCkgewotICB0LmFkZF9jbGVhbnVwKGZ1bmN0aW9uKCkgewotICAgIHJl
dHVybiBQcm9taXNlLnJlamVjdChuZXcgRXJyb3IoImZvbyIpKTsKLSAgfSk7Ci0KLSAgcmV0dXJu
IG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7Ci0gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5l
cigiRE9NQ29udGVudExvYWRlZCIsIGZ1bmN0aW9uKCkgewotICAgICAgc2V0VGltZW91dChyZXNv
bHZlLCAwKQotICAgIH0pOwotICB9KTsKLX0sICJUZXN0IHdpdGggZmFpbGluZyBjbGVhbnVwIHRo
YXQgY29tcGxldGVzIGFmdGVyIERPTUNvbnRlbnRMb2FkZWQgZXZlbnQiKTsKLQotcHJvbWlzZV90
ZXN0KGZ1bmN0aW9uKHQpIHsKLSAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpOwotfSwgIlRlc3Qg
dGhhdCBzaG91bGQgbm90IGJlIHJ1biBkdWUgdG8gaW52YWxpZCBoYXJuZXNzIHN0YXRlICgnTk9U
IFJVTicpIik7Ci08L3NjcmlwdD4KLTxzY3JpcHQgdHlwZT0idGV4dC9qc29uIiBpZD0iZXhwZWN0
ZWQiPgotewotICAic3VtbWFyaXplZF9zdGF0dXMiOiB7Ci0gICAgInN0YXR1c19zdHJpbmciOiAi
RVJST1IiLAotICAgICJtZXNzYWdlIjogIlRlc3QgbmFtZWQgJ1Rlc3Qgd2l0aCBmYWlsaW5nIGNs
ZWFudXAgdGhhdCBjb21wbGV0ZXMgYWZ0ZXIgRE9NQ29udGVudExvYWRlZCBldmVudCcgc3BlY2lm
aWVkIDEgJ2NsZWFudXAnIGZ1bmN0aW9uLCBhbmQgMSBmYWlsZWQuIgotICB9LAotICAic3VtbWFy
aXplZF90ZXN0cyI6IFsKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJOT1RSVU4iLAot
ICAgICAgIm5hbWUiOiAiVGVzdCB0aGF0IHNob3VsZCBub3QgYmUgcnVuIGR1ZSB0byBpbnZhbGlk
IGhhcm5lc3Mgc3RhdGUgKCdOT1QgUlVOJykiLAotICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAg
ICAgInByb3BlcnRpZXMiOiB7fQotICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmci
OiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJUZXN0IHdpdGggZmFpbGluZyBjbGVhbnVwIHRoYXQg
Y29tcGxldGVzIGFmdGVyIERPTUNvbnRlbnRMb2FkZWQgZXZlbnQiLAotICAgICAgIm1lc3NhZ2Ui
OiBudWxsLAotICAgICAgInByb3BlcnRpZXMiOiB7fQotICAgIH0KLSAgXSwKLSAgInR5cGUiOiAi
Y29tcGxldGUiCi19Ci08L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC9h
ZGRfY2xlYW51cF9hc3luY190aW1lb3V0Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvYWRkX2Ns
ZWFudXBfYXN5bmNfdGltZW91dC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1
Y2IwNGQ1YThiYS4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFsL2FkZF9jbGVh
bnVwX2FzeW5jX3RpbWVvdXQuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDU5ICswLDAgQEAKLTwh
RE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLTxtZXRhIG5hbWU9InZhcmlhbnQiIGNvbnRl
bnQ9Ij9rZWVwLXByb21pc2UiPgotPHRpdGxlPlRlc3QjYWRkX2NsZWFudXAgd2l0aCBQcm9taXNl
LXJldHVybmluZyBmdW5jdGlvbnMgKHRpbWVvdXQgaGFuZGxpbmcpPC90aXRsZT4KLTxzY3JpcHQg
c3JjPSIuLi8uLi92YXJpYW50cy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4v
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGRpdiBpZD0ibG9nIj48
L2Rpdj4KLTxzY3JpcHQ+Ci0idXNlIHN0cmljdCI7Ci0KLXByb21pc2VfdGVzdChmdW5jdGlvbih0
KSB7Ci0gIHQuYWRkX2NsZWFudXAoZnVuY3Rpb24oKSB7Ci0gICAgcmV0dXJuIFByb21pc2UucmVz
b2x2ZSgpOwotICB9KTsKLQotICB0LmFkZF9jbGVhbnVwKGZ1bmN0aW9uKCkgewotICAgIHJldHVy
biBuZXcgUHJvbWlzZShmdW5jdGlvbigpIHt9KTsKLSAgfSk7Ci0KLSAgdC5hZGRfY2xlYW51cChm
dW5jdGlvbigpIHt9KTsKLQotICB0LmFkZF9jbGVhbnVwKGZ1bmN0aW9uKCkgewotICAgIHJldHVy
biBuZXcgUHJvbWlzZShmdW5jdGlvbigpIHt9KTsKLSAgfSk7Ci0KLSAgcmV0dXJuIFByb21pc2Uu
cmVzb2x2ZSgpOwotfSwgInByb21pc2VfdGVzdCB3aXRoIGFzeW5jaHJvbm91cyBjbGVhbnVwIik7
Ci0KLXByb21pc2VfdGVzdChmdW5jdGlvbigpIHt9LCAicHJvbWlzZV90ZXN0IGZvbGxvd2luZyB0
aW1lZCBvdXQgY2xlYW51cCAoJ05PVCBSVU4nKSIpOwotPC9zY3JpcHQ+Ci08c2NyaXB0IHR5cGU9
InRleHQvanNvbiIgaWQ9ImV4cGVjdGVkIj4KLXsKLSAgInN1bW1hcml6ZWRfc3RhdHVzIjogewot
ICAgICJzdGF0dXNfc3RyaW5nIjogIkVSUk9SIiwKLSAgICAibWVzc2FnZSI6ICJUaW1lb3V0IHdo
aWxlIHJ1bm5pbmcgY2xlYW51cCBmb3IgdGVzdCBuYW1lZCBcInByb21pc2VfdGVzdCB3aXRoIGFz
eW5jaHJvbm91cyBjbGVhbnVwXCIuIgotICB9LAotICAic3VtbWFyaXplZF90ZXN0cyI6IFsKLSAg
ICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJOT1RSVU4iLAotICAgICAgIm5hbWUiOiAicHJv
bWlzZV90ZXN0IGZvbGxvd2luZyB0aW1lZCBvdXQgY2xlYW51cCAoJ05PVCBSVU4nKSIsCi0gICAg
ICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAicHJvcGVydGllcyI6IHt9Ci0gICAgfSwKLSAgICB7
Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1lIjogInByb21pc2Vf
dGVzdCB3aXRoIGFzeW5jaHJvbm91cyBjbGVhbnVwIiwKLSAgICAgICJtZXNzYWdlIjogbnVsbCwK
LSAgICAgICJwcm9wZXJ0aWVzIjoge30KLSAgICB9Ci0gIF0sCi0gICJ0eXBlIjogImNvbXBsZXRl
IgotfQotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1
bmN0aW9uYWwvYWRkX2NsZWFudXBfYmFkX3JldHVybi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFs
L2FkZF9jbGVhbnVwX2JhZF9yZXR1cm4uaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMWYxYzZmYmY0NGIuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC9hZGRf
Y2xlYW51cF9iYWRfcmV0dXJuLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw2NCArMCwwIEBACi08
IURPQ1RZUEUgSFRNTD4KLTxodG1sPgotPGhlYWQ+Ci08bWV0YSBuYW1lPSJ2YXJpYW50IiBjb250
ZW50PSIiPgotPG1ldGEgbmFtZT0idmFyaWFudCIgY29udGVudD0iP2tlZXAtcHJvbWlzZSI+Ci08
dGl0bGU+VGVzdCNhZGRfY2xlYW51cCB3aXRoIHZhbHVlLXJldHVybmluZyBmdW5jdGlvbjwvdGl0
bGU+Ci08c2NyaXB0IHNyYz0iLi4vLi4vdmFyaWFudHMuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBz
cmM9Ii4uLy4uLy4uL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8u
Li8uLi90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxk
aXYgaWQ9ImxvZyI+PC9kaXY+Ci08c2NyaXB0PgotInVzZSBzdHJpY3QiOwotCi10ZXN0KGZ1bmN0
aW9uKHQpIHsKLSAgdC5hZGRfY2xlYW51cChmdW5jdGlvbigpIHt9KTsKLSAgdC5hZGRfY2xlYW51
cChmdW5jdGlvbigpIHsgcmV0dXJuIG51bGw7IH0pOwotICB0LmFkZF9jbGVhbnVwKGZ1bmN0aW9u
KCkgewotICAgIHRlc3QoCi0gICAgICBmdW5jdGlvbigpIHt9LAotICAgICAgIlRoZSB0ZXN0IHJ1
bm5lciBpcyBpbiBhbiB1bnByZWRpY3RhYmxlIHN0YXRlICMxICgnTk9UIFJVTicpIgotICAgICk7
Ci0KLSAgICB0aHJvdyBuZXcgRXJyb3IoKTsKLSAgfSk7Ci0gIHQuYWRkX2NsZWFudXAoZnVuY3Rp
b24oKSB7IHJldHVybiA0OyB9KTsKLSAgdC5hZGRfY2xlYW51cChmdW5jdGlvbigpIHsgcmV0dXJu
IHsgdGhlbjogZnVuY3Rpb24oKSB7fSB9OyB9KTsKLSAgdC5hZGRfY2xlYW51cChmdW5jdGlvbigp
IHt9KTsKLX0sICJUZXN0IHRoYXQgcmV0dXJucyBhIHZhbHVlIGluIHRocmVlIFwiY2xlYW51cFwi
IGZ1bmN0aW9ucyIpOwotCi10ZXN0KGZ1bmN0aW9uKCkge30sICJUaGUgdGVzdCBydW5uZXIgaXMg
aW4gYW4gdW5wcmVkaWN0YWJsZSBzdGF0ZSAjMiAoJ05PVCBSVU4nKSIpOwotPC9zY3JpcHQ+Ci08
c2NyaXB0IHR5cGU9InRleHQvanNvbiIgaWQ9ImV4cGVjdGVkIj4KLXsKLSAgInN1bW1hcml6ZWRf
c3RhdHVzIjogewotICAgICJzdGF0dXNfc3RyaW5nIjogIkVSUk9SIiwKLSAgICAibWVzc2FnZSI6
ICJUZXN0IG5hbWVkICdUZXN0IHRoYXQgcmV0dXJucyBhIHZhbHVlIGluIHRocmVlIFwiY2xlYW51
cFwiIGZ1bmN0aW9ucycgc3BlY2lmaWVkIDYgJ2NsZWFudXAnIGZ1bmN0aW9ucywgYW5kIDEgZmFp
bGVkLCBhbmQgMyByZXR1cm5lZCBhIG5vbi11bmRlZmluZWQgdmFsdWUuIgotICB9LAotICAic3Vt
bWFyaXplZF90ZXN0cyI6IFsKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwK
LSAgICAgICJuYW1lIjogIlRlc3QgdGhhdCByZXR1cm5zIGEgdmFsdWUgaW4gdGhyZWUgXCJjbGVh
bnVwXCIgZnVuY3Rpb25zIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2Fn
ZSI6IG51bGwKLSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIk5PVFJVTiIs
Ci0gICAgICAibmFtZSI6ICJUaGUgdGVzdCBydW5uZXIgaXMgaW4gYW4gdW5wcmVkaWN0YWJsZSBz
dGF0ZSAjMSAoJ05PVCBSVU4nKSIsCi0gICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAicHJv
cGVydGllcyI6IHt9Ci0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJOT1RS
VU4iLAotICAgICAgIm5hbWUiOiAiVGhlIHRlc3QgcnVubmVyIGlzIGluIGFuIHVucHJlZGljdGFi
bGUgc3RhdGUgIzIgKCdOT1QgUlVOJykiLAotICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAg
InByb3BlcnRpZXMiOiB7fQotICAgIH0KLSAgXSwKLSAgInR5cGUiOiAiY29tcGxldGUiCi19Ci08
L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25h
bC9hZGRfY2xlYW51cF9jb3VudC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFsL2FkZF9jbGVhbnVw
X2NvdW50Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDM4ZmQ4ZmQ3YTEwLi4w
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvYWRkX2NsZWFudXBfY291bnQuaHRt
bAorKysgL2Rldi9udWxsCkBAIC0xLDQxICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+
Ci08aGVhZD4KLTxtZXRhIG5hbWU9InZhcmlhbnQiIGNvbnRlbnQ9Ij9rZWVwLXByb21pc2UiPgot
PHRpdGxlPlRlc3QjYWRkX2NsZWFudXAgcmVwb3J0ZWQgY291bnQ8L3RpdGxlPgotPHNjcmlwdCBz
cmM9Ii4uLy4uL3ZhcmlhbnRzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4vdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08ZGl2IGlkPSJsb2ciPjwv
ZGl2PgotCi08c2NyaXB0PgotcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHQpIHsKLSAgICB0LmFkZF9j
bGVhbnVwKGZ1bmN0aW9uKCkge30pOwotICAgIHQuYWRkX2NsZWFudXAoZnVuY3Rpb24oKSB7fSk7
Ci0gICAgdC5hZGRfY2xlYW51cChmdW5jdGlvbigpIHsgdGhyb3cgbmV3IEVycm9yKCk7IH0pOwot
ICAgIG5ldyBFdmVudFdhdGNoZXIodCwgZG9jdW1lbnQuYm9keSwgW10pOwotCi0gICAgcmV0dXJu
IFByb21pc2UucmVzb2x2ZSgpOwotfSwgJ3Rlc3Qgd2l0aCAzIHVzZXItZGVmaW5lZCBjbGVhbnVw
IGZ1bmN0aW9ucycpOwotPC9zY3JpcHQ+Ci08c2NyaXB0IHR5cGU9InRleHQvanNvbiIgaWQ9ImV4
cGVjdGVkIj4KLXsKLSAgInN1bW1hcml6ZWRfc3RhdHVzIjogewotICAgICJzdGF0dXNfc3RyaW5n
IjogIkVSUk9SIiwKLSAgICAibWVzc2FnZSI6ICJUZXN0IG5hbWVkICd0ZXN0IHdpdGggMyB1c2Vy
LWRlZmluZWQgY2xlYW51cCBmdW5jdGlvbnMnIHNwZWNpZmllZCAzICdjbGVhbnVwJyBmdW5jdGlv
bnMsIGFuZCAxIGZhaWxlZC4iCi0gIH0sCi0gICJzdW1tYXJpemVkX3Rlc3RzIjogWwotICAgIHsK
LSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUiOiAidGVzdCB3aXRo
IDMgdXNlci1kZWZpbmVkIGNsZWFudXAgZnVuY3Rpb25zIiwKLSAgICAgICJtZXNzYWdlIjogbnVs
bCwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30KLSAgICB9Ci0gIF0sCi0gICJ0eXBlIjogImNvbXBs
ZXRlIgotfQotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3Rz
L2Z1bmN0aW9uYWwvYWRkX2NsZWFudXBfZXJyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvYWRk
X2NsZWFudXBfZXJyLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDk5OTcyODEy
NDJhLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvYWRkX2NsZWFudXBfZXJy
Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw0OCArMCwwIEBACi08IURPQ1RZUEUgSFRNTD4KLTxo
dG1sPgotPGhlYWQ+Ci08bWV0YSBuYW1lPSJ2YXJpYW50IiBjb250ZW50PSIiPgotPG1ldGEgbmFt
ZT0idmFyaWFudCIgY29udGVudD0iP2tlZXAtcHJvbWlzZSI+Ci08dGl0bGU+VGVzdCNhZGRfY2xl
YW51cDogZXJyb3I8L3RpdGxlPgotPHNjcmlwdCBzcmM9Ii4uLy4uL3ZhcmlhbnRzLmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0iLi4vLi4vLi4vdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPC9o
ZWFkPgotPGJvZHk+Ci08ZGl2IGlkPSJsb2ciPjwvZGl2PgotPHNjcmlwdD4KLSJ1c2Ugc3RyaWN0
IjsKLQotdGVzdChmdW5jdGlvbih0KSB7Ci0gIHQuYWRkX2NsZWFudXAoZnVuY3Rpb24oKSB7Ci0g
ICAgdGhyb3cgbmV3IEVycm9yKCdleGNlcHRpb24gaW4gY2xlYW51cCBmdW5jdGlvbicpOwotICB9
KTsKLX0sICJFeGNlcHRpb24gaW4gY2xlYW51cCBmdW5jdGlvbiBjYXVzZXMgaGFybmVzcyBmYWls
dXJlLiIpOwotCi10ZXN0KGZ1bmN0aW9uKCkge30sICJUaGlzIHRlc3Qgc2hvdWxkIG5vdCBiZSBy
dW4uIik7Ci08L3NjcmlwdD4KLTxzY3JpcHQgdHlwZT0idGV4dC9qc29uIiBpZD0iZXhwZWN0ZWQi
PgotewotICAic3VtbWFyaXplZF9zdGF0dXMiOiB7Ci0gICAgInN0YXR1c19zdHJpbmciOiAiRVJS
T1IiLAotICAgICJtZXNzYWdlIjogIlRlc3QgbmFtZWQgJ0V4Y2VwdGlvbiBpbiBjbGVhbnVwIGZ1
bmN0aW9uIGNhdXNlcyBoYXJuZXNzIGZhaWx1cmUuJyBzcGVjaWZpZWQgMSAnY2xlYW51cCcgZnVu
Y3Rpb24sIGFuZCAxIGZhaWxlZC4iCi0gIH0sCi0gICJzdW1tYXJpemVkX3Rlc3RzIjogWwotICAg
IHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUiOiAiRXhjZXB0
aW9uIGluIGNsZWFudXAgZnVuY3Rpb24gY2F1c2VzIGhhcm5lc3MgZmFpbHVyZS4iLAotICAgICAg
InByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogbnVsbAotICAgIH0sCi0gICAgewot
ICAgICAgInN0YXR1c19zdHJpbmciOiAiTk9UUlVOIiwKLSAgICAgICJuYW1lIjogIlRoaXMgdGVz
dCBzaG91bGQgbm90IGJlIHJ1bi4iLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJt
ZXNzYWdlIjogbnVsbAotICAgIH0KLSAgXSwKLSAgInR5cGUiOiAiY29tcGxldGUiCi19Ci08L3Nj
cmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC9h
ZGRfY2xlYW51cF9lcnJfbXVsdGkuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC9hZGRfY2xlYW51
cF9lcnJfbXVsdGkuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTQ4OWI5NjY1
OTAuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC9hZGRfY2xlYW51cF9lcnJf
bXVsdGkuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDU1ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1M
PgotPGh0bWw+Ci08aGVhZD4KLTxtZXRhIG5hbWU9InZhcmlhbnQiIGNvbnRlbnQ9IiI+Ci08bWV0
YSBuYW1lPSJ2YXJpYW50IiBjb250ZW50PSI/a2VlcC1wcm9taXNlIj4KLTx0aXRsZT5UZXN0I2Fk
ZF9jbGVhbnVwOiBtdWx0aXBsZSBmdW5jdGlvbnMgd2l0aCBvbmUgaW4gZXJyb3I8L3RpdGxlPgot
PHNjcmlwdCBzcmM9Ii4uLy4uL3ZhcmlhbnRzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIu
Li8uLi8uLi90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4v
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08ZGl2IGlk
PSJsb2ciPjwvZGl2PgotCi08c2NyaXB0PgotInVzZSBzdHJpY3QiOwotCi10ZXN0KGZ1bmN0aW9u
KHQpIHsKLSAgICB0LmFkZF9jbGVhbnVwKGZ1bmN0aW9uKCkgewotICAgICAgdGhyb3cgbmV3IEVy
cm9yKCJleGNlcHRpb24gaW4gY2xlYW51cCBmdW5jdGlvbiIpOwotICAgIH0pOwotCi0gICAgLy8g
VGhlIGZvbGxvd2luZyBjbGVhbnVwIGZ1bmN0aW9uIGRlZmluZXMgYSB0ZXN0IHNvIHRoYXQgdGhl
IHJlcG9ydGVkCi0gICAgLy8gZGF0YSBkZW1vbnN0cmF0ZXMgdGhlIGludGVuZGVkIHJ1bi10aW1l
IGJlaGF2aW9yLCBpLmUuIHRoYXQKLSAgICAvLyBgdGVzdGhhcm5lc3MuanNgIGludm9rZXMgYWxs
IGNsZWFudXAgZnVuY3Rpb25zIGV2ZW4gd2hlbiBvbmUgb3IgbW9yZQotICAgIC8vIHRocm93IGVy
cm9ycy4KLSAgICB0LmFkZF9jbGVhbnVwKGZ1bmN0aW9uKCkgewotICAgICAgdGVzdChmdW5jdGlv
bigpIHt9LCAiVmVyaWZpY2F0aW9uIHRlc3QiKTsKLSAgICB9KTsKLSAgfSwgIlRlc3Qgd2l0aCBt
dWx0aXBsZSBjbGVhbnVwIGZ1bmN0aW9ucyIpOwotPC9zY3JpcHQ+Ci08c2NyaXB0IHR5cGU9InRl
eHQvanNvbiIgaWQ9ImV4cGVjdGVkIj4KLXsKLSAgInN1bW1hcml6ZWRfc3RhdHVzIjogewotICAg
ICJzdGF0dXNfc3RyaW5nIjogIkVSUk9SIiwKLSAgICAibWVzc2FnZSI6ICJUZXN0IG5hbWVkICdU
ZXN0IHdpdGggbXVsdGlwbGUgY2xlYW51cCBmdW5jdGlvbnMnIHNwZWNpZmllZCAyICdjbGVhbnVw
JyBmdW5jdGlvbnMsIGFuZCAxIGZhaWxlZC4iCi0gIH0sCi0gICJzdW1tYXJpemVkX3Rlc3RzIjog
WwotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUiOiAi
VGVzdCB3aXRoIG11bHRpcGxlIGNsZWFudXAgZnVuY3Rpb25zIiwKLSAgICAgICJwcm9wZXJ0aWVz
Ijoge30sCi0gICAgICAibWVzc2FnZSI6IG51bGwKLSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0
dXNfc3RyaW5nIjogIk5PVFJVTiIsCi0gICAgICAibmFtZSI6ICJWZXJpZmljYXRpb24gdGVzdCIs
Ci0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsCi0gICAgfQot
ICBdLAotICAidHlwZSI6ICJjb21wbGV0ZSIKLX0KLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFsL2FkZF9jbGVhbnVwX3N5bmNfcXVldWUu
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC9hZGRfY2xlYW51cF9zeW5jX3F1ZXVlLmh0bWwKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDFlMDU4ZjE1MDEzLi4wMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90
ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvYWRkX2NsZWFudXBfc3luY19xdWV1ZS5odG1sCisrKyAvZGV2
L251bGwKQEAgLTEsNTcgKzAsMCBAQAotPCFET0NUWVBFIEhUTUw+Ci08aHRtbD4KLTxoZWFkPgot
PG1ldGEgbmFtZT0idmFyaWFudCIgY29udGVudD0iP2tlZXAtcHJvbWlzZSI+Ci08dGl0bGU+VGVz
dCNhZGRfY2xlYW51cDogcXVldWluZyB0ZXN0czwvdGl0bGU+Ci08c2NyaXB0IHNyYz0iLi4vLi4v
dmFyaWFudHMuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Rlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxkaXYgaWQ9ImxvZyI+PC9kaXY+Ci0KLTxz
Y3JpcHQ+Ci0idXNlIHN0cmljdCI7Ci12YXIgZmlyc3RDbGVhbmVkID0gZmFsc2U7Ci0KLXByb21p
c2VfdGVzdChmdW5jdGlvbih0KSB7Ci0gIHByb21pc2VfdGVzdChmdW5jdGlvbigpIHsKLSAgICBh
c3NlcnRfdHJ1ZSgKLSAgICAgIGZpcnN0Q2xlYW5lZCwgInNob3VsZCBub3QgZXhlY3V0ZSB1bnRp
bCBmaXJzdCB0ZXN0IGlzIGNvbXBsZXRlIgotICAgICk7Ci0KLSAgICByZXR1cm4gUHJvbWlzZS5y
ZXNvbHZlKCk7Ci0gIH0sICJ0ZXN0IGRlZmluZWQgd2hlbiBubyB0ZXN0cyBhcmUgcXVldWVkLCBi
dXQgb25lIHRlc3QgaXMgZXhlY3V0aW5nIik7Ci0KLSAgdC5hZGRfY2xlYW51cChmdW5jdGlvbigp
IHsKLSAgICBmaXJzdENsZWFuZWQgPSB0cnVlOwotICB9KTsKLQotICByZXR1cm4gUHJvbWlzZS5y
ZXNvbHZlKCk7Ci19LCAiVGVzdCB3aXRoIGEgJ2NsZWFudXAnIGZ1bmN0aW9uIik7Ci08L3Njcmlw
dD4KLTxzY3JpcHQgdHlwZT0idGV4dC9qc29uIiBpZD0iZXhwZWN0ZWQiPgotewotICAic3VtbWFy
aXplZF9zdGF0dXMiOiB7Ci0gICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICJzdGF0dXNfc3RyaW5n
IjogIk9LIgotICB9LAotICAic3VtbWFyaXplZF90ZXN0cyI6IFsKLSAgICB7Ci0gICAgICAibWVz
c2FnZSI6IG51bGwsCi0gICAgICAibmFtZSI6ICJUZXN0IHdpdGggYSAnY2xlYW51cCcgZnVuY3Rp
b24iLAotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAicHJvcGVydGllcyI6
IHt9Ci0gICAgfSwKLSAgICB7Ci0gICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAibmFtZSI6
ICJ0ZXN0IGRlZmluZWQgd2hlbiBubyB0ZXN0cyBhcmUgcXVldWVkLCBidXQgb25lIHRlc3QgaXMg
ZXhlY3V0aW5nIiwKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgInByb3Bl
cnRpZXMiOiB7fQotICAgIH0KLSAgXSwKLSAgInR5cGUiOiAiY29tcGxldGUiCi19Ci08L3Njcmlw
dD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC9hcGkt
dGVzdHMtMS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFsL2FwaS10ZXN0cy0xLmh0bWwKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDdkNDY5OTRhYTk5Li4wMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0
L3Rlc3RzL2Z1bmN0aW9uYWwvYXBpLXRlc3RzLTEuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDQ1
MyArMCwwIEBACi08IURPQ1RZUEUgSFRNTD4KLTxodG1sPgotPGhlYWQ+Ci08bWV0YSBuYW1lPSJ2
YXJpYW50IiBjb250ZW50PSIiPgotPG1ldGEgbmFtZT0idmFyaWFudCIgY29udGVudD0iP2tlZXAt
cHJvbWlzZSI+Ci08dGl0bGU+U2FtcGxlIEhUTUw1IEFQSSBUZXN0czwvdGl0bGU+Ci08c2NyaXB0
IHNyYz0iLi4vLi4vdmFyaWFudHMuanMiPjwvc2NyaXB0PgotPG1ldGEgbmFtZT0idGltZW91dCIg
Y29udGVudD0iNjAwMCI+Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9ImxvYWRfdGVzdF9hdHRyLmRv
bmUoKSI+Ci08aDE+U2FtcGxlIEhUTUw1IEFQSSBUZXN0czwvaDE+Ci08ZGl2IGlkPSJsb2ciPjwv
ZGl2PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdD4KLSAgICBzZXR1cF9ydW4gPSBmYWxzZTsKLSAgICBzZXR1cChmdW5jdGlvbigpIHsK
LSAgICAgICAgICAgIHNldHVwX3J1biA9IHRydWU7Ci0gICAgICAgICAgfSk7Ci0gICAgdGVzdChm
dW5jdGlvbigpIHthc3NlcnRfdHJ1ZShzZXR1cF9ydW4pfSwgIlNldHVwIGZ1bmN0aW9uIHJhbiIp
OwotCi0gICAgLy8gVHdvIGV4YW1wbGVzIGZvciB0ZXN0aW5nIGV2ZW50cyBmcm9tIGhhbmRsZXIg
YW5kIGF0dHJpYnV0ZXMKLSAgICB2YXIgbG9hZF90ZXN0X2V2ZW50ID0gYXN5bmNfdGVzdCgid2lu
ZG93IG9ubG9hZCBldmVudCBmaXJlcyB3aGVuIHNldCBmcm9tIHRoZSBoYW5kbGVyIik7Ci0KLSAg
ICBmdW5jdGlvbiB3aW5kb3dMb2FkKCkKLSAgICB7Ci0gICAgICAgIGxvYWRfdGVzdF9ldmVudC5k
b25lKCk7Ci0gICAgfQotICAgIG9uX2V2ZW50KHdpbmRvdywgImxvYWQiLCB3aW5kb3dMb2FkKTsK
LQotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBzZXF1ZW5jZSA9IFtdOwotICAg
ICAgICB2YXIgb3V0ZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKLSAgICAgICAg
dmFyIGlubmVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7Ci0gICAgICAgIG91dGVy
LmFwcGVuZENoaWxkKGlubmVyKTsKLSAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChv
dXRlcik7Ci0gICAgICAgIGlubmVyLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgZnVuY3Rpb24o
KSB7Ci0gICAgICAgICAgICBzZXF1ZW5jZS5wdXNoKCJpbm5lciIpOwotICAgICAgICB9LCBmYWxz
ZSk7Ci0KLSAgICAgICAgb25fZXZlbnQob3V0ZXIsICJjbGljayIsIGZ1bmN0aW9uKCkgewotICAg
ICAgICAgICAgc2VxdWVuY2UucHVzaCgib3V0ZXIiKTsKLSAgICAgICAgfSk7Ci0gICAgICAgIGlu
bmVyLmNsaWNrKCk7Ci0KLSAgICAgICAgYXNzZXJ0X2FycmF5X2VxdWFscyhzZXF1ZW5jZSwgWyJp
bm5lciIsICJvdXRlciJdKTsKLSAgICB9LCAib25fZXZlbnQgZG9lcyBub3QgdXNlIGV2ZW50IGNh
cHR1cmUiKTsKLQotICAgIC8vIHNlZSB0aGUgYm9keSBvbmxvYWQgYmVsb3cKLSAgICB2YXIgbG9h
ZF90ZXN0X2F0dHIgPSBhc3luY190ZXN0KCJib2R5IGVsZW1lbnQgZmlyZXMgdGhlIG9ubG9hZCBl
dmVudCBzZXQgZnJvbSB0aGUgYXR0cmlidXRlIik7Ci08L3NjcmlwdD4KLTxzY3JpcHQ+Ci0gICAg
ZnVuY3Rpb24gYm9keUVsZW1lbnQoKQotICAgIHsKLSAgICAgICAgYXNzZXJ0X2VxdWFscyhkb2N1
bWVudC5ib2R5LCBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiYm9keSIpWzBdKTsKLSAg
ICB9Ci0gICAgdGVzdChib2R5RWxlbWVudCwgImRvY3VtZW50LmJvZHkgc2hvdWxkIGJlIHRoZSBm
aXJzdCBib2R5IGVsZW1lbnQgaW4gdGhlIGRvY3VtZW50Iik7Ci0KLSAgICB0ZXN0KGZ1bmN0aW9u
KCkgewotICAgICAgICBhc3NlcnRfZXF1YWxzKDEsMSk7Ci0gICAgICAgIGFzc2VydF9lcXVhbHMo
TmFOLCBOYU4sICJOYU4gY2FzZSIpOwotICAgICAgICBhc3NlcnRfZXF1YWxzKDAsIDAsICJaZXJv
IGNhc2UiKTsKLSAgICB9LCAiYXNzZXJ0X2VxdWFscyB0ZXN0cyIpCi0KLSAgICB0ZXN0KGZ1bmN0
aW9uKCkgewotICAgICAgICBhc3NlcnRfZXF1YWxzKC0wLCAwLCAiWmVybyBjYXNlIik7Ci0gICAg
fSwgImFzc2VydF9lcXVhbHMgdGVzdHMgZXhwZWN0ZWQgdG8gZmFpbCIpCi0KLSAgICB0ZXN0KGZ1
bmN0aW9uKCkgewotICAgICAgICBhc3NlcnRfbm90X2VxdWFscyh7fSwge30sICJvYmplY3QgY2Fz
ZSIpOwotICAgICAgICBhc3NlcnRfbm90X2VxdWFscygtMCwgMCwgIlplcm8gY2FzZSIpOwotICAg
IH0sICJhc3NlcnRfbm90X2VxdWFscyB0ZXN0cyIpCi0KLSAgICBmdW5jdGlvbiB0ZXN0QXNzZXJ0
UGFzcygpCi0gICAgewotICAgICAgICBhc3NlcnRfdHJ1ZSh0cnVlKTsKLSAgICB9Ci0gICAgdGVz
dCh0ZXN0QXNzZXJ0UGFzcywgImFzc2VydF90cnVlIGV4cGVjdGVkIHRvIHBhc3MiKTsKLQotICAg
IGZ1bmN0aW9uIHRlc3RBc3NlcnRGYWxzZSgpCi0gICAgewotICAgICAgICBhc3NlcnRfdHJ1ZShm
YWxzZSwgImZhbHNlIHNob3VsZCBub3QgYmUgdHJ1ZSIpOwotICAgIH0KLSAgICB0ZXN0KHRlc3RB
c3NlcnRGYWxzZSwgImFzc2VydF90cnVlIGV4cGVjdGVkIHRvIGZhaWwiKTsKLQotICAgIGZ1bmN0
aW9uIGJhc2ljQXNzZXJ0QXJyYXlFcXVhbHMoKQotICAgIHsKLSAgICAgICAgYXNzZXJ0X2FycmF5
X2VxdWFscyhbMSwgTmFOXSwgWzEsIE5hTl0sICJbMSwgTmFOXSBpcyBlcXVhbCB0byBbMSwgTmFO
XSIpOwotICAgIH0KLSAgICB0ZXN0KGJhc2ljQXNzZXJ0QXJyYXlFcXVhbHMsICJiYXNpYyBhc3Nl
cnRfYXJyYXlfZXF1YWxzIHRlc3QiKTsKLQotICAgIGZ1bmN0aW9uIGFzc2VydEFycmF5RXF1YWxz
VW5kZWZpbmVkKCkKLSAgICB7Ci0gICAgICAgIGFzc2VydF9hcnJheV9lcXVhbHModW5kZWZpbmVk
LCBbMV0sICJ1bmRlZmluZWQgZXF1YWxzIFsxXT8iKTsKLSAgICB9Ci0gICAgdGVzdChhc3NlcnRB
cnJheUVxdWFsc1VuZGVmaW5lZCwgImFzc2VydF9hcnJheV9lcXVhbHMgd2l0aCBmaXJzdCBwYXJh
bSB1bmRlZmluZWQiKTsKLQotICAgIGZ1bmN0aW9uIGFzc2VydEFycmF5RXF1YWxzVHJ1ZSgpCi0g
ICAgewotICAgICAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKHRydWUsIFsxXSwgInRydWUgZXF1YWxz
IFsxXT8iKTsKLSAgICB9Ci0gICAgdGVzdChhc3NlcnRBcnJheUVxdWFsc1RydWUsICJhc3NlcnRf
YXJyYXlfZXF1YWxzIHdpdGggZmlyc3QgcGFyYW0gdHJ1ZSIpOwotCi0gICAgZnVuY3Rpb24gYXNz
ZXJ0QXJyYXlFcXVhbHNGYWxzZSgpCi0gICAgewotICAgICAgICBhc3NlcnRfYXJyYXlfZXF1YWxz
KGZhbHNlLCBbMV0sICJmYWxzZSBlcXVhbHMgWzFdPyIpOwotICAgIH0KLSAgICB0ZXN0KGFzc2Vy
dEFycmF5RXF1YWxzRmFsc2UsICJhc3NlcnRfYXJyYXlfZXF1YWxzIHdpdGggZmlyc3QgcGFyYW0g
ZmFsc2UiKTsKLQotICAgIGZ1bmN0aW9uIGFzc2VydEFycmF5RXF1YWxzTnVsbCgpCi0gICAgewot
ICAgICAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKG51bGwsIFsxXSwgIm51bGwgZXF1YWxzIFsxXT8i
KTsKLSAgICB9Ci0gICAgdGVzdChhc3NlcnRBcnJheUVxdWFsc051bGwsICJhc3NlcnRfYXJyYXlf
ZXF1YWxzIHdpdGggZmlyc3QgcGFyYW0gbnVsbCIpOwotCi0gICAgZnVuY3Rpb24gYXNzZXJ0QXJy
YXlFcXVhbHNOdW1lcmljKCkKLSAgICB7Ci0gICAgICAgIGFzc2VydF9hcnJheV9lcXVhbHMoMSwg
WzFdLCAiMSBlcXVhbHMgWzFdPyIpOwotICAgIH0KLSAgICB0ZXN0KGFzc2VydEFycmF5RXF1YWxz
TnVtZXJpYywgImFzc2VydF9hcnJheV9lcXVhbHMgd2l0aCBmaXJzdCBwYXJhbSAxIik7Ci0KLSAg
ICBmdW5jdGlvbiBiYXNpY0Fzc2VydEFycmF5QXBwcm94RXF1YWxzKCkKLSAgICB7Ci0gICAgICAg
IGFzc2VydF9hcnJheV9hcHByb3hfZXF1YWxzKFsxMCwgMTFdLCBbMTEsIDEwXSwgMSwgIlsxMCwg
MTFdIGlzIGFwcHJveGltYXRlbHkgKCsvLSAxKSBbMTEsIDEwXSIpCi0gICAgfQotICAgIHRlc3Qo
YmFzaWNBc3NlcnRBcnJheUFwcHJveEVxdWFscywgImJhc2ljIGFzc2VydF9hcnJheV9hcHByb3hf
ZXF1YWxzIHRlc3QiKTsKLQotICAgIGZ1bmN0aW9uIGJhc2ljQXNzZXJ0QXBwcm94RXF1YWxzKCkK
LSAgICB7Ci0gICAgICAgIGFzc2VydF9hcHByb3hfZXF1YWxzKDEwLCAxMSwgMSwgIjEwIGlzIGFw
cHJveGltYXRlbHkgKCsvLSAxKSAxMSIpCi0gICAgfQotICAgIHRlc3QoYmFzaWNBc3NlcnRBcHBy
b3hFcXVhbHMsICJiYXNpYyBhc3NlcnRfYXBwcm94X2VxdWFscyB0ZXN0Iik7Ci0KLSAgICBmdW5j
dGlvbiBiYXNpY0Fzc2VydExlc3NUaGFuKCkKLSAgICB7Ci0gICAgICAgIGFzc2VydF9sZXNzX3Ro
YW4oMTAsIDExLCAiMTAgaXMgbGVzcyB0aGFuIDExIikKLSAgICB9Ci0gICAgdGVzdChiYXNpY0Fz
c2VydEFwcHJveEVxdWFscywgImJhc2ljIGFzc2VydF9sZXNzX3RoYW4gdGVzdCIpOwotCi0gICAg
ZnVuY3Rpb24gYmFzaWNBc3NlcnRHcmVhdGVyVGhhbigpCi0gICAgewotICAgICAgICBhc3NlcnRf
Z3JlYXRlcl90aGFuKDEwLCAxMSwgIjEwIGlzIG5vdCBncmVhdGVyIHRoYW4gMTEiKTsKLSAgICB9
Ci0gICAgdGVzdChiYXNpY0Fzc2VydEdyZWF0ZXJUaGFuLCAiYXNzZXJ0X2dyZWF0ZXJfdGhhbiBl
eHBlY3RlZCB0byBmYWlsIik7Ci0KLSAgICBmdW5jdGlvbiBiYXNpY0Fzc2VydEdyZWF0ZXJUaGFu
RXF1YWwoKQotICAgIHsKLSAgICAgICAgYXNzZXJ0X2dyZWF0ZXJfdGhhbl9lcXVhbCgxMCwgMTAs
ICIxMCBpcyBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gMTAiKQotICAgIH0KLSAgICB0ZXN0KGJh
c2ljQXNzZXJ0R3JlYXRlclRoYW5FcXVhbCwgImJhc2ljIGFzc2VydF9ncmVhdGVyX3RoYW5fZXF1
YWwgdGVzdCIpOwotCi0gICAgZnVuY3Rpb24gYmFzaWNBc3NlcnRMZXNzVGhhbkVxdWFsKCkKLSAg
ICB7Ci0gICAgICAgIGFzc2VydF9ncmVhdGVyX3RoYW5fZXF1YWwoJzEwJywgMTAsICInMTAnIGlz
IG5vdCBhIG51bWJlciIpCi0gICAgfQotICAgIHRlc3QoYmFzaWNBc3NlcnRMZXNzVGhhbkVxdWFs
LCAiYXNzZXJ0X2xlc3NfdGhhbl9lcXVhbCBleHBlY3RlZCB0byBmYWlsIik7Ci0KLSAgICBmdW5j
dGlvbiB0ZXN0QXNzZXJ0SW5oZXJpdHMoKSB7Ci0gICAgICAgIHZhciBBID0gZnVuY3Rpb24oKXt0
aGlzLmEgPSAiYSJ9Ci0gICAgICAgIEEucHJvdG90eXBlID0ge2I6ImIifQotICAgICAgICB2YXIg
YSA9IG5ldyBBKCk7Ci0gICAgICAgIGFzc2VydF9vd25fcHJvcGVydHkoYSwgImEiKTsKLSAgICAg
ICAgYXNzZXJ0X25vdF9vd25fcHJvcGVydHkoYSwgImIiLCAidW5leHBlY3RlZCBwcm9wZXJ0eSBm
b3VuZDogXCJiXCIiKTsKLSAgICAgICAgYXNzZXJ0X2luaGVyaXRzKGEsICJiIik7Ci0gICAgfQot
ICAgIHRlc3QodGVzdEFzc2VydEluaGVyaXRzLCAidGVzdCBmb3IgYXNzZXJ0W19ub3RdX293bl9w
cm9wZXJ0eSBhbmQgaW5zZXJ0X2luaGVyaXRzIikKLQotICAgIHRlc3QoZnVuY3Rpb24oKQotICAg
IHsKLSAgICAgICAgdmFyIGEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJhIikKLSAgICAgICAg
dmFyIGIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJiIikKLSAgICAgICAgYXNzZXJ0X3Rocm93
cygiTk9UX0ZPVU5EX0VSUiIsIGZ1bmN0aW9uICgpIHthLnJlbW92ZUNoaWxkKGIpfSk7Ci0gICAg
fSwgIlRlc3QgdGhyb3cgRE9NIGV4Y2VwdGlvbiIpCi0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkKLSAg
ICB7Ci0gICAgICAgIHZhciBhID0gZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoImEiKQotICAgICAg
ICB2YXIgYiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImIiKQotICAgICAgICBhc3NlcnRfdGhy
b3dzKCJOT1RfRk9VTkRfRVJSIiwgZnVuY3Rpb24gKCkge2EuYXBwZW5kQ2hpbGQoYil9KTsKLSAg
ICB9LCAiVGVzdCB0aHJvdyBET00gZXhjZXB0aW9uIGV4cGVjdGVkIHRvIGZhaWwiKQotCi0gICAg
dGVzdChmdW5jdGlvbigpCi0gICAgewotICAgICAgICB2YXIgZSA9IHtjb2RlOjAsIG5hbWU6IlRF
U1RfRVJSIiwgVEVTVF9FUlI6MH0KLSAgICAgICAgYXNzZXJ0X3Rocm93cygwLCBmdW5jdGlvbigp
IHt0aHJvdyBlfSk7Ci0gICAgfSwgIlRlc3QgYXNzZXJ0X3Rocm93cyB3aXRoIGFtYmlndW91cyBE
T00tZXhjZXB0aW9uIGV4cGVjdGVkIHRvIEZhaWwiKTsKLQotICAgIHRlc3QoZnVuY3Rpb24oKQot
ICAgIHsKLSAgICAgICAgdmFyIGUgPSB7Y29kZTowLCBuYW1lOiJURVNUX0VSUiIsIFRFU1RfRVJS
OjB9Ci0gICAgICAgIGFzc2VydF90aHJvd3MoIlRFU1RfRVJSIiwgZnVuY3Rpb24oKSB7dGhyb3cg
ZX0pOwotICAgIH0sICJUZXN0IGFzc2VydF90aHJvd3Mgd2l0aCBub24tRE9NLWV4Y2VwdGlvbiBl
eHBlY3RlZCB0byBGYWlsIik7Ci0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkKLSAgICB7Ci0gICAgICAg
IHZhciBlID0ge2NvZGU6IERPTUV4Y2VwdGlvbi5TWU5UQVhfRVJSLCBuYW1lOiJTeW50YXhFcnJv
ciJ9Ci0gICAgICAgIGFzc2VydF90aHJvd3MoRE9NRXhjZXB0aW9uLlNZTlRBWF9FUlIsIGZ1bmN0
aW9uKCkge3Rocm93IGV9KTsKLSAgICB9LCAiVGVzdCBhc3NlcnRfdGhyb3dzIHdpdGggbnVtYmVy
IGNvZGUgdmFsdWUgZXhwZWN0ZWQgdG8gUGFzcyIpOwotCi0gICAgdmFyIHQgPSBhc3luY190ZXN0
KCJUZXN0IHN0ZXBfZnVuYyIpCi0gICAgc2V0VGltZW91dCgKLSAgICAgIHQuc3RlcF9mdW5jKAot
ICAgICAgICBmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAgYXNzZXJ0X3RydWUodHJ1ZSk7IHQuZG9u
ZSgpOwotICAgICAgICB9KSwgMCk7Ci0KLSAgICBhc3luY190ZXN0KGZ1bmN0aW9uKHQpIHsKLSAg
ICAgICAgc2V0VGltZW91dCh0LnN0ZXBfZnVuYyhmdW5jdGlvbiAoKXthc3NlcnRfdHJ1ZSh0cnVl
KTsgdC5kb25lKCk7fSksIDApOwotICAgIH0sICJUZXN0IGFzeW5jIHRlc3Qgd2l0aCBjYWxsYmFj
ayIpOwotCi0gICAgYXN5bmNfdGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgc2V0VGltZW91dCh0
aGlzLnN0ZXBfZnVuYyhmdW5jdGlvbiAoKXthc3NlcnRfdHJ1ZSh0cnVlKTsgdGhpcy5kb25lKCk7
fSksIDApOwotICAgIH0sICJUZXN0IGFzeW5jIHRlc3Qgd2l0aCBjYWxsYmFjayBhbmQgYHRoaXNg
IG9iai4iKTsKLQotICAgIGFzeW5jX3Rlc3QoInRlc3Qgc2hvdWxkIHRpbWVvdXQgKGZhaWwpIHdp
dGggdGhlIGRlZmF1bHQgb2YgMiBzZWNvbmRzIikuc3RlcChmdW5jdGlvbigpe30pOwotCi0gICAg
YXN5bmNfdGVzdCgiYXN5bmMgdGVzdCB0aGF0IGlzIG5ldmVyIHN0YXJ0ZWQsIHNob3VsZCBoYXZl
IHN0YXR1cyBOb3QgUnVuIik7Ci0KLQotICAgIHRlc3QoZnVuY3Rpb24odCkgewotICAgICAgICAg
ICAgIHdpbmRvdy5nbG9iYWwgPSAxOwotICAgICAgICAgICAgIHQuYWRkX2NsZWFudXAoZnVuY3Rp
b24oKSB7ZGVsZXRlIHdpbmRvdy5nbG9iYWx9KTsKLSAgICAgICAgICAgICBhc3NlcnRfZXF1YWxz
KHdpbmRvdy5nbG9iYWwsIDEpOwotICAgICAgICAgfSwKLSAgICAgICAgICJUZXN0IHRoYXQgZGVm
aW5lcyBhIGdsb2JhbCBhbmQgY2xlYW5zIGl0IHVwIik7Ci0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkg
e2Fzc2VydF9lcXVhbHMod2luZG93Lmdsb2JhbCwgdW5kZWZpbmVkKX0sCi0gICAgICAgICAiVGVz
dCB0aGF0IGNsZWFudXAgaGFuZGxlcnMgZnJvbSBwcmV2aW91cyB0ZXN0IHJhbiIpOwotCi08L3Nj
cmlwdD4KLTxzY3JpcHQgdHlwZT0idGV4dC9qc29uIiBpZD0iZXhwZWN0ZWQiPgotewotICAic3Vt
bWFyaXplZF9zdGF0dXMiOiB7Ci0gICAgInN0YXR1c19zdHJpbmciOiAiVElNRU9VVCIsCi0gICAg
Im1lc3NhZ2UiOiBudWxsCi0gIH0sCi0gICJzdW1tYXJpemVkX3Rlc3RzIjogWwotICAgIHsKLSAg
ICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUiOiAiU2V0dXAgZnVuY3Rp
b24gcmFuIiwKLSAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30K
LSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIkZBSUwiLAotICAgICAgIm5h
bWUiOiAiVGVzdCBhc3NlcnRfdGhyb3dzIHdpdGggYW1iaWd1b3VzIERPTS1leGNlcHRpb24gZXhw
ZWN0ZWQgdG8gRmFpbCIsCi0gICAgICAibWVzc2FnZSI6ICJUZXN0IGJ1ZzogYW1iaWd1b3VzIERP
TUV4Y2VwdGlvbiBjb2RlIDAgcGFzc2VkIHRvIGFzc2VydF90aHJvd3MoKSIsCi0gICAgICAicHJv
cGVydGllcyI6IHt9Ci0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJGQUlM
IiwKLSAgICAgICJuYW1lIjogIlRlc3QgYXNzZXJ0X3Rocm93cyB3aXRoIG5vbi1ET00tZXhjZXB0
aW9uIGV4cGVjdGVkIHRvIEZhaWwiLAotICAgICAgIm1lc3NhZ2UiOiAiVGVzdCBidWc6IHVucmVj
b2duaXplZCBET01FeGNlcHRpb24gY29kZSBcIlRFU1RfRVJSXCIgcGFzc2VkIHRvIGFzc2VydF90
aHJvd3MoKSIsCi0gICAgICAicHJvcGVydGllcyI6IHt9Ci0gICAgfSwKLSAgICB7Ci0gICAgICAi
c3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1lIjogIlRlc3QgYXNzZXJ0X3Rocm93
cyB3aXRoIG51bWJlciBjb2RlIHZhbHVlIGV4cGVjdGVkIHRvIFBhc3MiLAotICAgICAgIm1lc3Nh
Z2UiOiBudWxsLAotICAgICAgInByb3BlcnRpZXMiOiB7fQotICAgIH0sCi0gICAgewotICAgICAg
InN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJUZXN0IGFzeW5jIHRlc3Qg
d2l0aCBjYWxsYmFjayIsCi0gICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAicHJvcGVydGll
cyI6IHt9Ci0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAg
ICAgICJuYW1lIjogIlRlc3QgYXN5bmMgdGVzdCB3aXRoIGNhbGxiYWNrIGFuZCBgdGhpc2Agb2Jq
LiIsCi0gICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAicHJvcGVydGllcyI6IHt9Ci0gICAg
fSwKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1lIjog
IlRlc3Qgc3RlcF9mdW5jIiwKLSAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICJwcm9wZXJ0
aWVzIjoge30KLSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAot
ICAgICAgIm5hbWUiOiAiVGVzdCB0aGF0IGNsZWFudXAgaGFuZGxlcnMgZnJvbSBwcmV2aW91cyB0
ZXN0IHJhbiIsCi0gICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAicHJvcGVydGllcyI6IHt9
Ci0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJu
YW1lIjogIlRlc3QgdGhhdCBkZWZpbmVzIGEgZ2xvYmFsIGFuZCBjbGVhbnMgaXQgdXAiLAotICAg
ICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgInByb3BlcnRpZXMiOiB7fQotICAgIH0sCi0gICAg
ewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJUZXN0IHRo
cm93IERPTSBleGNlcHRpb24iLAotICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgInByb3Bl
cnRpZXMiOiB7fQotICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiRkFJTCIs
Ci0gICAgICAibmFtZSI6ICJUZXN0IHRocm93IERPTSBleGNlcHRpb24gZXhwZWN0ZWQgdG8gZmFp
bCIsCi0gICAgICAibWVzc2FnZSI6ICJhc3NlcnRfdGhyb3dzOiBmdW5jdGlvbiBcImZ1bmN0aW9u
ICgpIHthLmFwcGVuZENoaWxkKGIpfVwiIHRocmV3IG9iamVjdCBcIkhpZXJhcmNoeVJlcXVlc3RF
cnJvcjogTm9kZSBjYW5ub3QgYmUgaW5zZXJ0ZWQgYXQgdGhlIHNwZWNpZmllZCBwb2ludCBpbiB0
aGUgaGllcmFyY2h5XCIgdGhhdCBpcyBub3QgYSBET01FeGNlcHRpb24gTk9UX0ZPVU5EX0VSUjog
cHJvcGVydHkgXCJjb2RlXCIgaXMgZXF1YWwgdG8gMywgZXhwZWN0ZWQgOCIsCi0gICAgICAicHJv
cGVydGllcyI6IHt9Ci0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJGQUlM
IiwKLSAgICAgICJuYW1lIjogImFzc2VydF9hcnJheV9lcXVhbHMgd2l0aCBmaXJzdCBwYXJhbSAx
IiwKLSAgICAgICJtZXNzYWdlIjogImFzc2VydF9hcnJheV9lcXVhbHM6IDEgZXF1YWxzIFsxXT8g
dmFsdWUgaXMgMSwgZXhwZWN0ZWQgYXJyYXkiLAotICAgICAgInByb3BlcnRpZXMiOiB7fQotICAg
IH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiRkFJTCIsCi0gICAgICAibmFtZSI6
ICJhc3NlcnRfYXJyYXlfZXF1YWxzIHdpdGggZmlyc3QgcGFyYW0gZmFsc2UiLAotICAgICAgIm1l
c3NhZ2UiOiAiYXNzZXJ0X2FycmF5X2VxdWFsczogZmFsc2UgZXF1YWxzIFsxXT8gdmFsdWUgaXMg
ZmFsc2UsIGV4cGVjdGVkIGFycmF5IiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30KLSAgICB9LAot
ICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIkZBSUwiLAotICAgICAgIm5hbWUiOiAiYXNz
ZXJ0X2FycmF5X2VxdWFscyB3aXRoIGZpcnN0IHBhcmFtIG51bGwiLAotICAgICAgIm1lc3NhZ2Ui
OiAiYXNzZXJ0X2FycmF5X2VxdWFsczogbnVsbCBlcXVhbHMgWzFdPyB2YWx1ZSBpcyBudWxsLCBl
eHBlY3RlZCBhcnJheSIsCi0gICAgICAicHJvcGVydGllcyI6IHt9Ci0gICAgfSwKLSAgICB7Ci0g
ICAgICAic3RhdHVzX3N0cmluZyI6ICJGQUlMIiwKLSAgICAgICJuYW1lIjogImFzc2VydF9hcnJh
eV9lcXVhbHMgd2l0aCBmaXJzdCBwYXJhbSB0cnVlIiwKLSAgICAgICJtZXNzYWdlIjogImFzc2Vy
dF9hcnJheV9lcXVhbHM6IHRydWUgZXF1YWxzIFsxXT8gdmFsdWUgaXMgdHJ1ZSwgZXhwZWN0ZWQg
YXJyYXkiLAotICAgICAgInByb3BlcnRpZXMiOiB7fQotICAgIH0sCi0gICAgewotICAgICAgInN0
YXR1c19zdHJpbmciOiAiRkFJTCIsCi0gICAgICAibmFtZSI6ICJhc3NlcnRfYXJyYXlfZXF1YWxz
IHdpdGggZmlyc3QgcGFyYW0gdW5kZWZpbmVkIiwKLSAgICAgICJtZXNzYWdlIjogImFzc2VydF9h
cnJheV9lcXVhbHM6IHVuZGVmaW5lZCBlcXVhbHMgWzFdPyB2YWx1ZSBpcyB1bmRlZmluZWQsIGV4
cGVjdGVkIGFycmF5IiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30KLSAgICB9LAotICAgIHsKLSAg
ICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUiOiAiYXNzZXJ0X2VxdWFs
cyB0ZXN0cyIsCi0gICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAicHJvcGVydGllcyI6IHt9
Ci0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJGQUlMIiwKLSAgICAgICJu
YW1lIjogImFzc2VydF9lcXVhbHMgdGVzdHMgZXhwZWN0ZWQgdG8gZmFpbCIsCi0gICAgICAibWVz
c2FnZSI6ICJhc3NlcnRfZXF1YWxzOiBaZXJvIGNhc2UgZXhwZWN0ZWQgMCBidXQgZ290IC0wIiwK
LSAgICAgICJwcm9wZXJ0aWVzIjoge30KLSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0dXNfc3Ry
aW5nIjogIkZBSUwiLAotICAgICAgIm5hbWUiOiAiYXNzZXJ0X2dyZWF0ZXJfdGhhbiBleHBlY3Rl
ZCB0byBmYWlsIiwKLSAgICAgICJtZXNzYWdlIjogImFzc2VydF9ncmVhdGVyX3RoYW46IDEwIGlz
IG5vdCBncmVhdGVyIHRoYW4gMTEgZXhwZWN0ZWQgYSBudW1iZXIgZ3JlYXRlciB0aGFuIDExIGJ1
dCBnb3QgMTAiLAotICAgICAgInByb3BlcnRpZXMiOiB7fQotICAgIH0sCi0gICAgewotICAgICAg
InN0YXR1c19zdHJpbmciOiAiRkFJTCIsCi0gICAgICAibmFtZSI6ICJhc3NlcnRfbGVzc190aGFu
X2VxdWFsIGV4cGVjdGVkIHRvIGZhaWwiLAotICAgICAgIm1lc3NhZ2UiOiAiYXNzZXJ0X2dyZWF0
ZXJfdGhhbl9lcXVhbDogJzEwJyBpcyBub3QgYSBudW1iZXIgZXhwZWN0ZWQgYSBudW1iZXIgYnV0
IGdvdCBhIFwic3RyaW5nXCIiLAotICAgICAgInByb3BlcnRpZXMiOiB7fQotICAgIH0sCi0gICAg
ewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJhc3NlcnRf
bm90X2VxdWFscyB0ZXN0cyIsCi0gICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAicHJvcGVy
dGllcyI6IHt9Ci0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJGQUlMIiwK
LSAgICAgICJuYW1lIjogImFzc2VydF90cnVlIGV4cGVjdGVkIHRvIGZhaWwiLAotICAgICAgIm1l
c3NhZ2UiOiAiYXNzZXJ0X3RydWU6IGZhbHNlIHNob3VsZCBub3QgYmUgdHJ1ZSBleHBlY3RlZCB0
cnVlIGdvdCBmYWxzZSIsCi0gICAgICAicHJvcGVydGllcyI6IHt9Ci0gICAgfSwKLSAgICB7Ci0g
ICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1lIjogImFzc2VydF90cnVl
IGV4cGVjdGVkIHRvIHBhc3MiLAotICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgInByb3Bl
cnRpZXMiOiB7fQotICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiTk9UUlVO
IiwKLSAgICAgICJuYW1lIjogImFzeW5jIHRlc3QgdGhhdCBpcyBuZXZlciBzdGFydGVkLCBzaG91
bGQgaGF2ZSBzdGF0dXMgTm90IFJ1biIsCi0gICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAi
cHJvcGVydGllcyI6IHt9Ci0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQ
QVNTIiwKLSAgICAgICJuYW1lIjogImJhc2ljIGFzc2VydF9hcHByb3hfZXF1YWxzIHRlc3QiLAot
ICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgInByb3BlcnRpZXMiOiB7fQotICAgIH0sCi0g
ICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJiYXNp
YyBhc3NlcnRfYXJyYXlfYXBwcm94X2VxdWFscyB0ZXN0IiwKLSAgICAgICJtZXNzYWdlIjogbnVs
bCwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30KLSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0dXNf
c3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUiOiAiYmFzaWMgYXNzZXJ0X2FycmF5X2VxdWFs
cyB0ZXN0IiwKLSAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30K
LSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5h
bWUiOiAiYmFzaWMgYXNzZXJ0X2dyZWF0ZXJfdGhhbl9lcXVhbCB0ZXN0IiwKLSAgICAgICJtZXNz
YWdlIjogbnVsbCwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30KLSAgICB9LAotICAgIHsKLSAgICAg
ICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUiOiAiYmFzaWMgYXNzZXJ0X2xl
c3NfdGhhbiB0ZXN0IiwKLSAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICJwcm9wZXJ0aWVz
Ijoge30KLSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAg
ICAgIm5hbWUiOiAiYm9keSBlbGVtZW50IGZpcmVzIHRoZSBvbmxvYWQgZXZlbnQgc2V0IGZyb20g
dGhlIGF0dHJpYnV0ZSIsCi0gICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAicHJvcGVydGll
cyI6IHt9Ci0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAg
ICAgICJuYW1lIjogImRvY3VtZW50LmJvZHkgc2hvdWxkIGJlIHRoZSBmaXJzdCBib2R5IGVsZW1l
bnQgaW4gdGhlIGRvY3VtZW50IiwKLSAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICJwcm9w
ZXJ0aWVzIjoge30KLSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1Mi
LAotICAgICAgIm5hbWUiOiAidGVzdCBmb3IgYXNzZXJ0W19ub3RdX293bl9wcm9wZXJ0eSBhbmQg
aW5zZXJ0X2luaGVyaXRzIiwKLSAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICJwcm9wZXJ0
aWVzIjoge30KLSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlRJTUVPVVQi
LAotICAgICAgIm5hbWUiOiAidGVzdCBzaG91bGQgdGltZW91dCAoZmFpbCkgd2l0aCB0aGUgZGVm
YXVsdCBvZiAyIHNlY29uZHMiLAotICAgICAgIm1lc3NhZ2UiOiAiVGVzdCB0aW1lZCBvdXQiLAot
ICAgICAgInByb3BlcnRpZXMiOiB7fQotICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJp
bmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJ3aW5kb3cgb25sb2FkIGV2ZW50IGZpcmVzIHdo
ZW4gc2V0IGZyb20gdGhlIGhhbmRsZXIiLAotICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAg
InByb3BlcnRpZXMiOiB7fQotICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAi
UEFTUyIsCi0gICAgICAibmFtZSI6ICJvbl9ldmVudCBkb2VzIG5vdCB1c2UgZXZlbnQgY2FwdHVy
ZSIsCi0gICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAicHJvcGVydGllcyI6IHt9Ci0gICAg
fQotICBdLAotICAidHlwZSI6ICJjb21wbGV0ZSIKLX0KLTwvc2NyaXB0PgotPC9ib2R5PgotPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFsL2FwaS10ZXN0cy0yLmh0bWwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0
L3Rlc3RzL2Z1bmN0aW9uYWwvYXBpLXRlc3RzLTIuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDhhMmI4OTNjMjQuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25h
bC9hcGktdGVzdHMtMi5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNDcgKzAsMCBAQAotPCFET0NU
WVBFIEhUTUw+Ci08aHRtbD4KLTxoZWFkPgotPG1ldGEgbmFtZT0idmFyaWFudCIgY29udGVudD0i
Ij4KLTxtZXRhIG5hbWU9InZhcmlhbnQiIGNvbnRlbnQ9Ij9rZWVwLXByb21pc2UiPgotPHRpdGxl
PlNhbXBsZSBIVE1MNSBBUEkgVGVzdHM8L3RpdGxlPgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Zhcmlh
bnRzLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGgxPlNhbXBsZSBIVE1MNSBBUEkg
VGVzdHM8L2gxPgotPHA+VGhlcmUgc2hvdWxkIGJlIHR3byByZXN1bHRzPC9wPgotPGRpdiBpZD0i
bG9nIj48L2Rpdj4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQ+Ci1zZXR1cCh7ZXhwbGljaXRfZG9uZTp0cnVlfSkKLXRlc3QoZnVuY3Rp
b24oKSB7YXNzZXJ0X3RydWUodHJ1ZSl9LCAiVGVzdCBkZWZpbmVkIGJlZm9yZSBvbmxvYWQiKTsK
LQotb25sb2FkID0gZnVuY3Rpb24oKSB7dGVzdChmdW5jdGlvbiAoKXthc3NlcnRfdHJ1ZSh0cnVl
KX0sICJUZXN0IGRlZmluZWQgYWZ0ZXIgb25sb2FkIik7Ci1kb25lKCk7Ci19Ci08L3NjcmlwdD4K
LTxzY3JpcHQgdHlwZT0idGV4dC9qc29uIiBpZD0iZXhwZWN0ZWQiPgotewotICAic3VtbWFyaXpl
ZF9zdGF0dXMiOiB7Ci0gICAgInN0YXR1c19zdHJpbmciOiAiT0siLAotICAgICJtZXNzYWdlIjog
bnVsbAotICB9LAotICAic3VtbWFyaXplZF90ZXN0cyI6IFsKLSAgICB7Ci0gICAgICAic3RhdHVz
X3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1lIjogIlRlc3QgZGVmaW5lZCBhZnRlciBvbmxv
YWQiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogbnVsbAotICAg
IH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6
ICJUZXN0IGRlZmluZWQgYmVmb3JlIG9ubG9hZCIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAot
ICAgICAgIm1lc3NhZ2UiOiBudWxsCi0gICAgfQotICBdLAotICAidHlwZSI6ICJjb21wbGV0ZSIK
LX0KLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5j
dGlvbmFsL2FwaS10ZXN0cy0zLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvYXBpLXRlc3RzLTMu
aHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDMyYjRkOGJjN2QuLjAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC9hcGktdGVzdHMtMy5odG1sCisrKyAvZGV2L251
bGwKQEAgLTEsMzcgKzAsMCBAQAotPCFET0NUWVBFIEhUTUw+Ci08aHRtbD4KLTxoZWFkPgotPG1l
dGEgbmFtZT0idmFyaWFudCIgY29udGVudD0iIj4KLTxtZXRhIG5hbWU9InZhcmlhbnQiIGNvbnRl
bnQ9Ij9rZWVwLXByb21pc2UiPgotPHRpdGxlPlNhbXBsZSBIVE1MNSBBUEkgVGVzdHM8L3RpdGxl
PgotPHNjcmlwdCBzcmM9Ii4uLy4uL3ZhcmlhbnRzLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLQotPGJvZHk+
Ci08aDE+U2FtcGxlIEhUTUw1IEFQSSBUZXN0czwvaDE+Ci08ZGl2IGlkPSJsb2ciPjwvZGl2Pgot
PHNjcmlwdD4KLXNldHVwKHtleHBsaWNpdF90aW1lb3V0OnRydWV9KTsKLXZhciB0ID0gYXN5bmNf
dGVzdCgiVGhpcyB0ZXN0IHNob3VsZCBnaXZlIGEgc3RhdHVzIG9mICdOb3QgUnVuJyB3aXRob3V0
IGEgZGVsYXkiKTsKLXRpbWVvdXQoKTsKLTwvc2NyaXB0PgotPHNjcmlwdCB0eXBlPSJ0ZXh0L2pz
b24iIGlkPSJleHBlY3RlZCI+Ci17Ci0gICJzdW1tYXJpemVkX3N0YXR1cyI6IHsKLSAgICAic3Rh
dHVzX3N0cmluZyI6ICJUSU1FT1VUIiwKLSAgICAibWVzc2FnZSI6IG51bGwKLSAgfSwKLSAgInN1
bW1hcml6ZWRfdGVzdHMiOiBbCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiTk9UUlVO
IiwKLSAgICAgICJuYW1lIjogIlRoaXMgdGVzdCBzaG91bGQgZ2l2ZSBhIHN0YXR1cyBvZiAnTm90
IFJ1bicgd2l0aG91dCBhIGRlbGF5IiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAi
bWVzc2FnZSI6IG51bGwKLSAgICB9Ci0gIF0sCi0gICJ0eXBlIjogImNvbXBsZXRlIgotfQotPC9z
Y3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwv
Zm9yY2VfdGltZW91dC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFsL2ZvcmNlX3RpbWVvdXQuaHRt
bApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTQzNzU5NTMwYWQuLjAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC9mb3JjZV90aW1lb3V0Lmh0bWwKKysrIC9kZXYvbnVs
bApAQCAtMSw2MiArMCwwIEBACi08IURPQ1RZUEUgSFRNTD4KLTxodG1sPgotPGhlYWQ+Ci08bWV0
YSBuYW1lPSJ2YXJpYW50IiBjb250ZW50PSI/a2VlcC1wcm9taXNlIj4KLTx0aXRsZT5UZXN0I2Zv
cmNlX3RpbWVvdXQ8L3RpdGxlPgotPHNjcmlwdCBzcmM9Ii4uLy4uL3ZhcmlhbnRzLmpzIj48L3Nj
cmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGgxPlRlc3QjZm9yY2VfdGltZW91dDwvaDE+Ci08ZGl2
IGlkPSJsb2ciPjwvZGl2PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
Pjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgotPHNjcmlwdD4KLXNldHVwKHsgZXhwbGljaXRfdGltZW91dDogdHJ1ZSB9KTsK
LQotdGVzdChmdW5jdGlvbih0KSB7Ci0gICAgdC5mb3JjZV90aW1lb3V0KCk7Ci0gIH0sICd0ZXN0
IChzeW5jaHJvbm91cyknKTsKLQotYXN5bmNfdGVzdChmdW5jdGlvbih0KSB7Ci0gICAgdC5zdGVw
X3RpbWVvdXQoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHQuZm9yY2VfdGltZW91dCgpOwotICAgICAg
fSwgMCk7Ci0gIH0sICdhc3luY190ZXN0Jyk7Ci0KLXByb21pc2VfdGVzdChmdW5jdGlvbih0KSB7
Ci0gICAgdC5mb3JjZV90aW1lb3V0KCk7Ci0KLSAgICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rp
b24oKSB7fSk7Ci0gIH0sICdwcm9taXNlX3Rlc3QnKTsKLTwvc2NyaXB0PgotPHNjcmlwdCB0eXBl
PSJ0ZXh0L2pzb24iIGlkPSJleHBlY3RlZCI+Ci17Ci0gICJzdW1tYXJpemVkX3N0YXR1cyI6IHsK
LSAgICAic3RhdHVzX3N0cmluZyI6ICJPSyIsCi0gICAgIm1lc3NhZ2UiOiBudWxsCi0gIH0sCi0g
ICJzdW1tYXJpemVkX3Rlc3RzIjogWwotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlRJ
TUVPVVQiLAotICAgICAgIm5hbWUiOiAiYXN5bmNfdGVzdCIsCi0gICAgICAibWVzc2FnZSI6ICJU
ZXN0IHRpbWVkIG91dCIsCi0gICAgICAicHJvcGVydGllcyI6IHt9Ci0gICAgfSwKLSAgICB7Ci0g
ICAgICAic3RhdHVzX3N0cmluZyI6ICJUSU1FT1VUIiwKLSAgICAgICJuYW1lIjogInByb21pc2Vf
dGVzdCIsCi0gICAgICAibWVzc2FnZSI6ICJUZXN0IHRpbWVkIG91dCIsCi0gICAgICAicHJvcGVy
dGllcyI6IHt9Ci0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJUSU1FT1VU
IiwKLSAgICAgICJuYW1lIjogInRlc3QgKHN5bmNocm9ub3VzKSIsCi0gICAgICAibWVzc2FnZSI6
ICJUZXN0IHRpbWVkIG91dCIsCi0gICAgICAicHJvcGVydGllcyI6IHt9Ci0gICAgfQotICBdLAot
ICAidHlwZSI6ICJjb21wbGV0ZSIKLX0KLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFsL2dlbmVyYXRlLWNhbGxiYWNrLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rl
c3RzL2Z1bmN0aW9uYWwvZ2VuZXJhdGUtY2FsbGJhY2suaHRtbApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggZjhmYWNhNjI3NzguLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rp
b25hbC9nZW5lcmF0ZS1jYWxsYmFjay5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTU2ICswLDAg
QEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLTxtZXRhIG5hbWU9InZhcmlhbnQi
IGNvbnRlbnQ9IiI+Ci08bWV0YSBuYW1lPSJ2YXJpYW50IiBjb250ZW50PSI/a2VlcC1wcm9taXNl
Ij4KLTx0aXRsZT5TYW1wbGUgZm9yIHVzaW5nIGdlbmVyYXRlX3Rlc3RzIHRvIGNyZWF0ZSBhIHNl
cmllcyBvZiB0ZXN0cyB0aGF0IHNoYXJlIHRoZSBzYW1lIGNhbGxiYWNrLjwvdGl0bGU+Ci08c2Ny
aXB0IHNyYz0iLi4vLi4vdmFyaWFudHMuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08c2NyaXB0
PgotLy8gZ2VuZXJhdGVfdGVzdHMgdGFrZXMgYW4gYXJyYXkgb2YgYXJyYXlzIHRoYXQgZGVmaW5l
IHRlc3RzCi0vLyBidXQgbGV0cyBwYXNzIGl0IGFuIGVtcHR5IGFycmF5IGFuZCB2ZXJpZnkgaXQg
ZG9lcyBub3RoaW5nLgotZnVuY3Rpb24gbnVsbF9jYWxsYmFjaygpIHsKLSAgdGhyb3cgIm51bGxf
Y2FsbGJhY2sgc2hvdWxkIG5vdCBiZSBjYWxsZWQuIjsKLX0KLWdlbmVyYXRlX3Rlc3RzKG51bGxf
Y2FsbGJhY2ssIFtdKTsKLQotLy8gR2VuZXJhdGUgMyB0ZXN0cyBzcGVjaWZ5aW5nIHRoZSBuYW1l
IGFuZCBvbmUgcGFyYW1ldGVyCi1mdW5jdGlvbiB2YWxpZGF0ZV9hcmd1bWVudHMoYXJnMSkgewot
ICBhc3NlcnRfZXF1YWxzKGFyZzEsIDEsICJFbnN1cmUgdGhhdCB3ZSBnZXQgb3VyIGV4cGVjdGVk
IGFyZ3VtZW50Iik7Ci19Ci1nZW5lcmF0ZV90ZXN0cyh2YWxpZGF0ZV9hcmd1bWVudHMsIFsKLSAg
WyJmaXJzdCB0ZXN0IiwgMV0sCi0gIFsic2Vjb25kIHRlc3QiLCAxXSwKLSAgWyJ0aGlyZCB0ZXN0
IiwgMV0sCi1dKTsKLQotLy8gR2VuZXJhdGUgYSB0ZXN0IHBhc3NpbmcgaW4gYSBwcm9wZXJ0aWVz
IG9iamVjdCB0aGF0IGlzIHNoYXJlZCBhY3Jvc3MgdGVzdHMuCi1mdW5jdGlvbiB2YWxpZGF0ZV9w
cm9wZXJ0aWVzKCkgewotICBhc3NlcnRfdHJ1ZSh0aGlzLnByb3BlcnRpZXMuc2VudGluZWwsICJF
bnN1cmUgdGhhdCB3ZSBnb3QgdGhlIHJpZ2h0IHByb3BlcnRpZXMgb2JqZWN0LiIpOwotfQotZ2Vu
ZXJhdGVfdGVzdHModmFsaWRhdGVfcHJvcGVydGllcywgW1sic2VudGluZWwgY2hlY2sgMSJdLCBb
InNlbnRpbmVsIGNoZWNrIDIiXV0sIHtzZW50aW5lbDogdHJ1ZX0pOwotCi0vLyBHZW5lcmF0ZSBh
IHRlc3QgcGFzc2luZyBpbiBhIHByb3BlcnRpZXMgb2JqZWN0IHRoYXQgaXMgc2hhcmVkIGFjcm9z
cyB0ZXN0cy4KLWZ1bmN0aW9uIHZhbGlkYXRlX3NlcGFyYXRlX3Byb3BlcnRpZXMoKSB7Ci0gIGlm
ICh0aGlzLm5hbWUgPT09ICJzZW50aW5lbCBjaGVjayAxIHVuaXF1ZSBwcm9wZXJ0aWVzIikgewot
ICAgIGFzc2VydF90cnVlKHRoaXMucHJvcGVydGllcy5zZW50aW5lbCwgIkVuc3VyZSB0aGF0IHdl
IGdvdCB0aGUgcmlnaHQgcHJvcGVydGllcyBvYmplY3QuIEV4cGVjdCBzZW50aW5lbDogdHJ1ZS4i
KTsKLSAgfQotICBlbHNlIHsKLSAgICBhc3NlcnRfZmFsc2UodGhpcy5wcm9wZXJ0aWVzLnNlbnRp
bmVsLCAiRW5zdXJlIHRoYXQgd2UgZ290IHRoZSByaWdodCBwcm9wZXJ0aWVzIG9iamVjdC4gRXhw
ZWN0IHNlbnRpbmVsOiBmYWxzZS4iKTsKLSAgfQotfQotZ2VuZXJhdGVfdGVzdHModmFsaWRhdGVf
c2VwYXJhdGVfcHJvcGVydGllcywgW1sic2VudGluZWwgY2hlY2sgMSB1bmlxdWUgcHJvcGVydGll
cyJdLCBbInNlbnRpbmVsIGNoZWNrIDIgdW5pcXVlIHByb3BlcnRpZXMiXV0sIFt7c2VudGluZWw6
IHRydWV9LCB7c2VudGluZWw6IGZhbHNlfV0pOwotCi0vLyBGaW5hbGx5IGdlbmVyYXRlIGEgY29t
cGxpY2F0ZWQgc2V0IG9mIHRlc3RzIGZyb20gYW5vdGhlciBkYXRhIHNvdXJjZQotdmFyIGxldHRl
cnMgPSBbImEiLCAiYiIsICJjIiwgImQiLCAiZSIsICJmIl07Ci12YXIgbnVtYmVycyA9IFswLCAx
LCAyLCAzLCA0LCA1XTsKLWZ1bmN0aW9uIHZhbGlkYXRlX3JlbGF0ZWRfYXJndW1lbnRzKGFyZzEs
IGFyZzIpIHsKLSAgYXNzZXJ0X2VxdWFscyhhcmcxLmNoYXJDb2RlQXQoMCkgLSAiYSIuY2hhckNv
ZGVBdCgwKSwgYXJnMiwgIkVuc3VyZSB0aGF0IHdlIGNhbiBtYXAgbGV0dGVycyB0byBudW1iZXJz
LiIpOwotfQotZnVuY3Rpb24gZm9ybWF0X2FzX3Rlc3QobGV0dGVyLCBpbmRleCwgbGV0dGVycykg
ewotICByZXR1cm4gWyJUZXN0IHRvIG1hcCAiICsgbGV0dGVyICsgIiB0byAiICsgbnVtYmVyc1tp
bmRleF0sIGxldHRlciwgbnVtYmVyc1tpbmRleF1dOwotfQotZ2VuZXJhdGVfdGVzdHModmFsaWRh
dGVfcmVsYXRlZF9hcmd1bWVudHMsIGxldHRlcnMubWFwKGZvcm1hdF9hc190ZXN0KSk7Ci08L3Nj
cmlwdD4KLTxzY3JpcHQgdHlwZT0idGV4dC9qc29uIiBpZD0iZXhwZWN0ZWQiPgotewotICAic3Vt
bWFyaXplZF9zdGF0dXMiOiB7Ci0gICAgInN0YXR1c19zdHJpbmciOiAiT0siLAotICAgICJtZXNz
YWdlIjogbnVsbAotICB9LAotICAic3VtbWFyaXplZF90ZXN0cyI6IFsKLSAgICB7Ci0gICAgICAi
c3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1lIjogIlRlc3QgdG8gbWFwIGEgdG8g
MCIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsCi0gICAg
fSwKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1lIjog
IlRlc3QgdG8gbWFwIGIgdG8gMSIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1l
c3NhZ2UiOiBudWxsCi0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNT
IiwKLSAgICAgICJuYW1lIjogIlRlc3QgdG8gbWFwIGMgdG8gMiIsCi0gICAgICAicHJvcGVydGll
cyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsCi0gICAgfSwKLSAgICB7Ci0gICAgICAic3Rh
dHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1lIjogIlRlc3QgdG8gbWFwIGQgdG8gMyIs
Ci0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsCi0gICAgfSwK
LSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1lIjogIlRl
c3QgdG8gbWFwIGUgdG8gNCIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3Nh
Z2UiOiBudWxsCi0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwK
LSAgICAgICJuYW1lIjogIlRlc3QgdG8gbWFwIGYgdG8gNSIsCi0gICAgICAicHJvcGVydGllcyI6
IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsCi0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVz
X3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1lIjogImZpcnN0IHRlc3QiLAotICAgICAgInBy
b3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogbnVsbAotICAgIH0sCi0gICAgewotICAg
ICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJzZWNvbmQgdGVzdCIs
Ci0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsCi0gICAgfSwK
LSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1lIjogInNl
bnRpbmVsIGNoZWNrIDEiLAotICAgICAgInByb3BlcnRpZXMiOiB7Ci0gICAgICAgICJzZW50aW5l
bCI6IHRydWUKLSAgICAgIH0sCi0gICAgICAibWVzc2FnZSI6IG51bGwKLSAgICB9LAotICAgIHsK
LSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUiOiAic2VudGluZWwg
Y2hlY2sgMSB1bmlxdWUgcHJvcGVydGllcyIsCi0gICAgICAicHJvcGVydGllcyI6IHsKLSAgICAg
ICAgInNlbnRpbmVsIjogdHJ1ZQotICAgICAgfSwKLSAgICAgICJtZXNzYWdlIjogbnVsbAotICAg
IH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6
ICJzZW50aW5lbCBjaGVjayAyIiwKLSAgICAgICJwcm9wZXJ0aWVzIjogewotICAgICAgICAic2Vu
dGluZWwiOiB0cnVlCi0gICAgICB9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsCi0gICAgfSwKLSAg
ICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1lIjogInNlbnRp
bmVsIGNoZWNrIDIgdW5pcXVlIHByb3BlcnRpZXMiLAotICAgICAgInByb3BlcnRpZXMiOiB7Ci0g
ICAgICAgICJzZW50aW5lbCI6IGZhbHNlCi0gICAgICB9LAotICAgICAgIm1lc3NhZ2UiOiBudWxs
Ci0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJu
YW1lIjogInRoaXJkIHRlc3QiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNz
YWdlIjogbnVsbAotICAgIH0KLSAgXSwKLSAgInR5cGUiOiAiY29tcGxldGUiCi19Ci08L3Njcmlw
dD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC9pZGxo
YXJuZXNzL0lkbERpY3Rpb25hcnkvdGVzdF9wYXJ0aWFsX2ludGVyZmFjZV9vZi5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90
ZXN0cy9mdW5jdGlvbmFsL2lkbGhhcm5lc3MvSWRsRGljdGlvbmFyeS90ZXN0X3BhcnRpYWxfaW50
ZXJmYWNlX29mLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDVlZTNmZTdlODkz
Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvaWRsaGFybmVzcy9JZGxEaWN0
aW9uYXJ5L3Rlc3RfcGFydGlhbF9pbnRlcmZhY2Vfb2YuaHRtbAorKysgL2Rldi9udWxsCkBAIC0x
LDkwICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci0KLTxoZWFkPgotICA8bWV0YSBj
aGFyc2V0PSJ1dGYtOCI+Ci0gIDxtZXRhIG5hbWU9InZhcmlhbnQiIGNvbnRlbnQ9IiI+Ci0gIDx0
aXRsZT5pZGxoYXJuZXNzOiBQYXJ0aWFsIGRpY3Rpb25hcnk8L3RpdGxlPgotICA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0L3ZhcmlhbnRzLmpzIj48L3NjcmlwdD4KLSAgPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotICA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci0gIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL1dlYklETFBhcnNlci5qcyI+PC9zY3JpcHQ+Ci0gIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL2lkbGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotCi08Ym9keT4KLSAgPHA+
VmVyaWZ5IHRoZSBzZXJpZXMgb2Ygc3ViLXRlc3RzIHRoYXQgYXJlIGV4ZWN1dGVkIGZvciAicGFy
dGlhbCIgZGljdGlvbmFyeSBvYmplY3RzLjwvcD4KLSAgPHNjcmlwdD4KLSAgICAidXNlIHN0cmlj
dCI7Ci0KLSAgICAvLyBObyBvcmlnaW5hbCBleGlzdGVuY2UKLSAgICAoKCkgPT4gewotICAgICAg
Y29uc3QgaWRsQXJyYXkgPSBuZXcgSWRsQXJyYXkoKTsKLSAgICAgIGlkbEFycmF5LmFkZF9pZGxz
KCdwYXJ0aWFsIGRpY3Rpb25hcnkgQSB7fTsnKTsKLSAgICAgIGlkbEFycmF5LnRlc3QoKTsKLSAg
ICB9KSgpOwotCi0gICAgLy8gTXVsdGlwbGUgcGFydGlhbHMgZXhpc3RlbmNlCi0gICAgKCgpID0+
IHsKLSAgICAgIGNvbnN0IGlkbEFycmF5ID0gbmV3IElkbEFycmF5KCk7Ci0gICAgICBpZGxBcnJh
eS5hZGRfdW50ZXN0ZWRfaWRscygncGFydGlhbCBkaWN0aW9uYXJ5IEIge307Jyk7Ci0gICAgICBp
ZGxBcnJheS5hZGRfaWRscygncGFydGlhbCBkaWN0aW9uYXJ5IEIge307Jyk7Ci0gICAgICBpZGxB
cnJheS5hZGRfaWRscygncGFydGlhbCBkaWN0aW9uYXJ5IEIge307Jyk7Ci0gICAgICBpZGxBcnJh
eS5hZGRfaWRscygncGFydGlhbCBkaWN0aW9uYXJ5IEIge307Jyk7Ci0gICAgICBpZGxBcnJheS5h
ZGRfaWRscygnZGljdGlvbmFyeSBCIHt9OycpOwotICAgICAgaWRsQXJyYXkudGVzdCgpOwotICAg
IH0pKCk7Ci0KLSAgICAvLyBPcmlnaW5hbCBpcyBhIG5hbWVzcGFjZSwgbm90IGEgZGljdGlvbmFy
eS4KLSAgICAoKCkgPT4gewotICAgICAgY29uc3QgaWRsQXJyYXkgPSBuZXcgSWRsQXJyYXkoKTsK
LSAgICAgIGlkbEFycmF5LmFkZF9pZGxzKGAKLSAgICAgICAgcGFydGlhbCBkaWN0aW9uYXJ5IEMg
e307Ci0gICAgICAgIG5hbWVzcGFjZSBDIHt9O2ApOwotICAgICAgaWRsQXJyYXkuY29sbGFwc2Vf
cGFydGlhbHMoKTsKLSAgICB9KSgpOwotICA8L3NjcmlwdD4KLSAgPHNjcmlwdCB0eXBlPSJ0ZXh0
L2pzb24iIGlkPSJleHBlY3RlZCI+Ci17Ci0gICJzdW1tYXJpemVkX3N0YXR1cyI6IHsKLSAgICAi
c3RhdHVzX3N0cmluZyI6ICJPSyIsCi0gICAgIm1lc3NhZ2UiOiBudWxsCi0gIH0sCi0gICJzdW1t
YXJpemVkX3Rlc3RzIjogWwotICAgIHsKLSAgICAgICJuYW1lIjogIlBhcnRpYWwgZGljdGlvbmFy
eSBBOiBvcmlnaW5hbCBkaWN0aW9uYXJ5IGRlZmluZWQiLAotICAgICAgInN0YXR1c19zdHJpbmci
OiAiRkFJTCIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiAiYXNz
ZXJ0X3RydWU6IE9yaWdpbmFsIGRpY3Rpb25hcnkgc2hvdWxkIGJlIGRlZmluZWQgZXhwZWN0ZWQg
dHJ1ZSBnb3QgZmFsc2UiCi0gICAgfSwKLSAgICB7Ci0gICAgICAibmFtZSI6ICJQYXJ0aWFsIGRp
Y3Rpb25hcnkgQlsyXTogb3JpZ2luYWwgZGljdGlvbmFyeSBkZWZpbmVkIiwKLSAgICAgICJzdGF0
dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNz
YWdlIjogbnVsbAotICAgIH0sCi0gICAgewotICAgICAgIm5hbWUiOiAiUGFydGlhbCBkaWN0aW9u
YXJ5IEJbM106IG9yaWdpbmFsIGRpY3Rpb25hcnkgZGVmaW5lZCIsCi0gICAgICAic3RhdHVzX3N0
cmluZyI6ICJQQVNTIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6
IG51bGwKLSAgICB9LAotICAgIHsKLSAgICAgICJuYW1lIjogIlBhcnRpYWwgZGljdGlvbmFyeSBC
WzRdOiBvcmlnaW5hbCBkaWN0aW9uYXJ5IGRlZmluZWQiLAotICAgICAgInN0YXR1c19zdHJpbmci
OiAiUEFTUyIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxs
Ci0gICAgfSwKLSAgICB7Ci0gICAgICAibmFtZSI6ICJQYXJ0aWFsIGRpY3Rpb25hcnkgQzogb3Jp
Z2luYWwgZGljdGlvbmFyeSBkZWZpbmVkIiwKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIkZBSUwi
LAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogImFzc2VydF90cnVl
OiBPcmlnaW5hbCBDIGRlZmluaXRpb24gc2hvdWxkIGhhdmUgdHlwZSBkaWN0aW9uYXJ5IGV4cGVj
dGVkIHRydWUgZ290IGZhbHNlIgotICAgIH0KLSAgXSwKLSAgInR5cGUiOiAiY29tcGxldGUiCi19
Ci08L3NjcmlwdD4KLTwvYm9keT4KLQotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5j
dGlvbmFsL2lkbGhhcm5lc3MvSWRsRGljdGlvbmFyeS93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMv
ZnVuY3Rpb25hbC9pZGxoYXJuZXNzL0lkbERpY3Rpb25hcnkvdzNjLWltcG9ydC5sb2cKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM5OGY3NDBhNTllLi4wMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0
L3Rlc3RzL2Z1bmN0aW9uYWwvaWRsaGFybmVzcy9JZGxEaWN0aW9uYXJ5L3czYy1pbXBvcnQubG9n
CisrKyAvZGV2L251bGwKQEAgLTEsMTcgKzAsMCBAQAotVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0
b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCi1EbyBOT1QgbW9kaWZ5
IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQsIGNyZWF0ZSBhIHB1bGwg
cmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRm
b3JtLXRlc3RzL3dwdAotCi1UaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRl
c3RzIGluIFdlYktpdCB0byByZWltcG9ydAotCi1EbyBOT1QgbW9kaWZ5IG9yIHJlbW92ZSB0aGlz
IGZpbGUuCi0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotUHJvcGVydGllcyByZXF1aXJpbmcgdmVuZG9yIHBy
ZWZpeGVzOgotTm9uZQotUHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6
Ci1Ob25lCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLUxpc3Qgb2YgZmlsZXM6Ci0vTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlv
bmFsL2lkbGhhcm5lc3MvSWRsRGljdGlvbmFyeS90ZXN0X3BhcnRpYWxfaW50ZXJmYWNlX29mLmh0
bWwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC9pZGxoYXJuZXNzL0lkbEludGVyZmFj
ZS90ZXN0X2ltbXV0YWJsZV9wcm90b3R5cGUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC9pZGxo
YXJuZXNzL0lkbEludGVyZmFjZS90ZXN0X2ltbXV0YWJsZV9wcm90b3R5cGUuaHRtbApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggN2E1YjE3NzUxYmYuLjAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3Qv
dGVzdHMvZnVuY3Rpb25hbC9pZGxoYXJuZXNzL0lkbEludGVyZmFjZS90ZXN0X2ltbXV0YWJsZV9w
cm90b3R5cGUuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDI5NyArMCwwIEBACi08IURPQ1RZUEUg
SFRNTD4KLTxodG1sPgotPGhlYWQ+Ci0gIDxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KLSAgPG1ldGEg
bmFtZT0idmFyaWFudCIgY29udGVudD0iIj4KLSAgPG1ldGEgbmFtZT0idmFyaWFudCIgY29udGVu
dD0iP2tlZXAtcHJvbWlzZSI+Ci0gIDx0aXRsZT5pZGxoYXJuZXNzOiBJbW11dGFibGUgcHJvdG90
eXBlczwvdGl0bGU+Ci0gIDxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi92YXJpYW50cy5qcyI+PC9z
Y3JpcHQ+Ci0gIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Njcmlw
dD4KLSAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2Ny
aXB0PgotICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9XZWJJRExQYXJzZXIuanMiPjwvc2NyaXB0
PgotICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9pZGxoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTwv
aGVhZD4KLTxib2R5PgotPHNjcmlwdD4KLSJ1c2Ugc3RyaWN0dCI7Ci0KLU9iamVjdC5kZWZpbmVQ
cm9wZXJ0eSh3aW5kb3csICJGb28iLCB7Ci0gICAgZW51bWVyYWJsZTogZmFsc2UsCi0gICAgd3Jp
dGFibGU6IHRydWUsCi0gICAgY29uZmlndXJhYmxlOiB0cnVlLAotICAgIHZhbHVlOiBmdW5jdGlv
biBGb28oKSB7fQotICB9KTsKLU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh3aW5kb3cuRm9vLCAicHJv
dG90eXBlIiwgewotICAgIHdyaXRhYmxlOiBmYWxzZSwKLSAgICB2YWx1ZTogd2luZG93LkZvby5w
cm90b3R5cGUKLSAgfSk7Ci1Gb28ucHJvdG90eXBlW1N5bWJvbC50b1N0cmluZ1RhZ10gPSAiRm9v
IjsKLQotdmFyIGlkbEFycmF5ID0gbmV3IElkbEFycmF5KCk7Ci1pZGxBcnJheS5hZGRfdW50ZXN0
ZWRfaWRscygiaW50ZXJmYWNlIEV2ZW50VGFyZ2V0IHt9OyIpOwotaWRsQXJyYXkuYWRkX2lkbHMo
Ci0gICAgIltHbG9iYWw9V2luZG93LCBFeHBvc2VkPVdpbmRvd11cbiIgKwotICAgICJpbnRlcmZh
Y2UgV2luZG93IDogRXZlbnRUYXJnZXQge307XG4iICsKLQotICAgICJbR2xvYmFsPVdpbmRvdywg
RXhwb3NlZD1XaW5kb3csIENvbnN0cnVjdG9yKCldXG4iICsKLSAgICAiaW50ZXJmYWNlIEZvbyB7
fTsiCi0gICk7Ci1pZGxBcnJheS5hZGRfb2JqZWN0cyh7Ci0gIEZvbzogWyJuZXcgRm9vKCkiXSwK
LSAgV2luZG93OiBbIndpbmRvdyJdCi19KTsKLWlkbEFycmF5LnRlc3QoKTsKLTwvc2NyaXB0Pgot
PHNjcmlwdCB0eXBlPSJ0ZXh0L2pzb24iIGlkPSJleHBlY3RlZCI+Ci17Ci0gICAgInN1bW1hcml6
ZWRfc3RhdHVzIjogewotICAgICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAgICJzdGF0dXNf
c3RyaW5nIjogIk9LIgotICAgIH0sCi0gICAgInN1bW1hcml6ZWRfdGVzdHMiOiBbCi0gICAgICAg
IHsKLSAgICAgICAgICAgICJuYW1lIjogIkZvbyBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aCIsCi0g
ICAgICAgICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICAgICAgICJwcm9wZXJ0
aWVzIjoge30sCi0gICAgICAgICAgICAibWVzc2FnZSI6IG51bGwKLSAgICAgICAgfSwKLSAgICAg
ICAgewotICAgICAgICAgICAgIm5hbWUiOiAiRm9vIGludGVyZmFjZSBvYmplY3QgbmFtZSIsCi0g
ICAgICAgICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICAgICAgICJwcm9wZXJ0
aWVzIjoge30sCi0gICAgICAgICAgICAibWVzc2FnZSI6IG51bGwKLSAgICAgICAgfSwKLSAgICAg
ICAgewotICAgICAgICAgICAgIm5hbWUiOiAiRm9vIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBw
cm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QiLAotICAgICAgICAgICAgInN0YXR1c19zdHJp
bmciOiAiUEFTUyIsCi0gICAgICAgICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgICAgICAg
Im1lc3NhZ2UiOiBudWxsCi0gICAgICAgIH0sCi0gICAgICAgIHsKLSAgICAgICAgICAgICJuYW1l
IjogIkZvbyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ug
cHJvdG90eXBlIG9iamVjdCIsCi0gICAgICAgICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwK
LSAgICAgICAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAgICAgICAibWVzc2FnZSI6IG51
bGwKLSAgICAgICAgfSwKLSAgICAgICAgewotICAgICAgICAgICAgIm5hbWUiOiAiRm9vIGludGVy
ZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2Jq
ZWN0J3MgXCJjb25zdHJ1Y3RvclwiIHByb3BlcnR5IiwKLSAgICAgICAgICAgICJzdGF0dXNfc3Ry
aW5nIjogIlBBU1MiLAotICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICAgICAg
ICJtZXNzYWdlIjogbnVsbAotICAgICAgICB9LAotICAgICAgICB7Ci0gICAgICAgICAgICAibmFt
ZSI6ICJGb28gaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNl
IHByb3RvdHlwZSBvYmplY3QncyBAQHVuc2NvcGFibGVzIHByb3BlcnR5IiwKLSAgICAgICAgICAg
ICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7fSwK
LSAgICAgICAgICAgICJtZXNzYWdlIjogbnVsbAotICAgICAgICB9LAotICAgICAgICB7Ci0gICAg
ICAgICAgICAibmFtZSI6ICJGb28gaW50ZXJmYWNlOiBpbnRlcm5hbCBbW1NldFByb3RvdHlwZU9m
XV0gbWV0aG9kIG9mIGdsb2JhbCBwbGF0Zm9ybSBvYmplY3QgLSBzZXR0aW5nIHRvIGEgbmV3IHZh
bHVlIHZpYSBPYmplY3Quc2V0UHJvdG90eXBlT2Ygc2hvdWxkIHRocm93IGEgVHlwZUVycm9yIiwK
LSAgICAgICAgICAgICJzdGF0dXNfc3RyaW5nIjogIkZBSUwiLAotICAgICAgICAgICAgInByb3Bl
cnRpZXMiOiB7fSwKLSAgICAgICAgICAgICJtZXNzYWdlIjogImFzc2VydF90aHJvd3M6IGZ1bmN0
aW9uIFwiZnVuY3Rpb24oKSB7XG4gICAgICAgICAgICBPYmplY3Quc2V0UHJvdG90eXBlT2Yob2Jq
LCBuZXdWYWx1ZSk7XG4gICAgICAgIH1cIiBkaWQgbm90IHRocm93IgotICAgICAgICB9LAotICAg
ICAgICB7Ci0gICAgICAgICAgICAibmFtZSI6ICJGb28gaW50ZXJmYWNlOiBpbnRlcm5hbCBbW1Nl
dFByb3RvdHlwZU9mXV0gbWV0aG9kIG9mIGdsb2JhbCBwbGF0Zm9ybSBvYmplY3QgLSBzZXR0aW5n
IHRvIGEgbmV3IHZhbHVlIHZpYSBSZWZsZWN0LnNldFByb3RvdHlwZU9mIHNob3VsZCByZXR1cm4g
ZmFsc2UiLAotICAgICAgICAgICAgInN0YXR1c19zdHJpbmciOiAiRkFJTCIsCi0gICAgICAgICAg
ICAicHJvcGVydGllcyI6IHt9LAotICAgICAgICAgICAgIm1lc3NhZ2UiOiAiYXNzZXJ0X2ZhbHNl
OiBleHBlY3RlZCBmYWxzZSBnb3QgdHJ1ZSIKLSAgICAgICAgfSwKLSAgICAgICAgewotICAgICAg
ICAgICAgIm5hbWUiOiAiRm9vIGludGVyZmFjZTogaW50ZXJuYWwgW1tTZXRQcm90b3R5cGVPZl1d
IG1ldGhvZCBvZiBnbG9iYWwgcGxhdGZvcm0gb2JqZWN0IC0gc2V0dGluZyB0byBhIG5ldyB2YWx1
ZSB2aWEgX19wcm90b19fIHNob3VsZCB0aHJvdyBhIFR5cGVFcnJvciIsCi0gICAgICAgICAgICAi
c3RhdHVzX3N0cmluZyI6ICJGQUlMIiwKLSAgICAgICAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0g
ICAgICAgICAgICAibWVzc2FnZSI6ICJhc3NlcnRfdGhyb3dzOiBmdW5jdGlvbiBcImZ1bmN0aW9u
KCkge1xuICAgICAgICAgICAgb2JqLl9fcHJvdG9fXyA9IG5ld1ZhbHVlO1xuICAgICAgICB9XCIg
ZGlkIG5vdCB0aHJvdyIKLSAgICAgICAgfSwKLSAgICAgICAgewotICAgICAgICAgICAgIm5hbWUi
OiAiRm9vIGludGVyZmFjZTogaW50ZXJuYWwgW1tTZXRQcm90b3R5cGVPZl1dIG1ldGhvZCBvZiBn
bG9iYWwgcGxhdGZvcm0gb2JqZWN0IC0gc2V0dGluZyB0byBpdHMgb3JpZ2luYWwgdmFsdWUgdmlh
IE9iamVjdC5zZXRQcm90b3R5cGVPZiBzaG91bGQgbm90IHRocm93IiwKLSAgICAgICAgICAgICJz
dGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAg
ICAgICAgICAgICJtZXNzYWdlIjogbnVsbAotICAgICAgICB9LAotICAgICAgICB7Ci0gICAgICAg
ICAgICAibmFtZSI6ICJGb28gaW50ZXJmYWNlOiBpbnRlcm5hbCBbW1NldFByb3RvdHlwZU9mXV0g
bWV0aG9kIG9mIGdsb2JhbCBwbGF0Zm9ybSBvYmplY3QgLSBzZXR0aW5nIHRvIGl0cyBvcmlnaW5h
bCB2YWx1ZSB2aWEgUmVmbGVjdC5zZXRQcm90b3R5cGVPZiBzaG91bGQgcmV0dXJuIHRydWUiLAot
ICAgICAgICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAgICAgICAicHJvcGVy
dGllcyI6IHt9LAotICAgICAgICAgICAgIm1lc3NhZ2UiOiBudWxsCi0gICAgICAgIH0sCi0gICAg
ICAgIHsKLSAgICAgICAgICAgICJuYW1lIjogIkZvbyBpbnRlcmZhY2U6IGludGVybmFsIFtbU2V0
UHJvdG90eXBlT2ZdXSBtZXRob2Qgb2YgZ2xvYmFsIHBsYXRmb3JtIG9iamVjdCAtIHNldHRpbmcg
dG8gaXRzIG9yaWdpbmFsIHZhbHVlIHZpYSBfX3Byb3RvX18gc2hvdWxkIG5vdCB0aHJvdyIsCi0g
ICAgICAgICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICAgICAgICJwcm9wZXJ0
aWVzIjoge30sCi0gICAgICAgICAgICAibWVzc2FnZSI6IG51bGwKLSAgICAgICAgfSwKLSAgICAg
ICAgewotICAgICAgICAgICAgIm5hbWUiOiAiRm9vIGludGVyZmFjZTogaW50ZXJuYWwgW1tTZXRQ
cm90b3R5cGVPZl1dIG1ldGhvZCBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCAtIHNldHRp
bmcgdG8gYSBuZXcgdmFsdWUgdmlhIE9iamVjdC5zZXRQcm90b3R5cGVPZiBzaG91bGQgdGhyb3cg
YSBUeXBlRXJyb3IiLAotICAgICAgICAgICAgInN0YXR1c19zdHJpbmciOiAiRkFJTCIsCi0gICAg
ICAgICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgICAgICAgIm1lc3NhZ2UiOiAiYXNzZXJ0
X3Rocm93czogZnVuY3Rpb24gXCJmdW5jdGlvbigpIHtcbiAgICAgICAgICAgIE9iamVjdC5zZXRQ
cm90b3R5cGVPZihvYmosIG5ld1ZhbHVlKTtcbiAgICAgICAgfVwiIGRpZCBub3QgdGhyb3ciCi0g
ICAgICAgIH0sCi0gICAgICAgIHsKLSAgICAgICAgICAgICJuYW1lIjogIkZvbyBpbnRlcmZhY2U6
IGludGVybmFsIFtbU2V0UHJvdG90eXBlT2ZdXSBtZXRob2Qgb2YgaW50ZXJmYWNlIHByb3RvdHlw
ZSBvYmplY3QgLSBzZXR0aW5nIHRvIGEgbmV3IHZhbHVlIHZpYSBSZWZsZWN0LnNldFByb3RvdHlw
ZU9mIHNob3VsZCByZXR1cm4gZmFsc2UiLAotICAgICAgICAgICAgInN0YXR1c19zdHJpbmciOiAi
RkFJTCIsCi0gICAgICAgICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgICAgICAgIm1lc3Nh
Z2UiOiAiYXNzZXJ0X2ZhbHNlOiBleHBlY3RlZCBmYWxzZSBnb3QgdHJ1ZSIKLSAgICAgICAgfSwK
LSAgICAgICAgewotICAgICAgICAgICAgIm5hbWUiOiAiRm9vIGludGVyZmFjZTogaW50ZXJuYWwg
W1tTZXRQcm90b3R5cGVPZl1dIG1ldGhvZCBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCAt
IHNldHRpbmcgdG8gYSBuZXcgdmFsdWUgdmlhIF9fcHJvdG9fXyBzaG91bGQgdGhyb3cgYSBUeXBl
RXJyb3IiLAotICAgICAgICAgICAgInN0YXR1c19zdHJpbmciOiAiRkFJTCIsCi0gICAgICAgICAg
ICAicHJvcGVydGllcyI6IHt9LAotICAgICAgICAgICAgIm1lc3NhZ2UiOiAiYXNzZXJ0X3Rocm93
czogZnVuY3Rpb24gXCJmdW5jdGlvbigpIHtcbiAgICAgICAgICAgIG9iai5fX3Byb3RvX18gPSBu
ZXdWYWx1ZTtcbiAgICAgICAgfVwiIGRpZCBub3QgdGhyb3ciCi0gICAgICAgIH0sCi0gICAgICAg
IHsKLSAgICAgICAgICAgICJuYW1lIjogIkZvbyBpbnRlcmZhY2U6IGludGVybmFsIFtbU2V0UHJv
dG90eXBlT2ZdXSBtZXRob2Qgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgLSBzZXR0aW5n
IHRvIGl0cyBvcmlnaW5hbCB2YWx1ZSB2aWEgT2JqZWN0LnNldFByb3RvdHlwZU9mIHNob3VsZCBu
b3QgdGhyb3ciLAotICAgICAgICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAg
ICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgICAgICAgIm1lc3NhZ2UiOiBudWxsCi0gICAg
ICAgIH0sCi0gICAgICAgIHsKLSAgICAgICAgICAgICJuYW1lIjogIkZvbyBpbnRlcmZhY2U6IGlu
dGVybmFsIFtbU2V0UHJvdG90eXBlT2ZdXSBtZXRob2Qgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBv
YmplY3QgLSBzZXR0aW5nIHRvIGl0cyBvcmlnaW5hbCB2YWx1ZSB2aWEgUmVmbGVjdC5zZXRQcm90
b3R5cGVPZiBzaG91bGQgcmV0dXJuIHRydWUiLAotICAgICAgICAgICAgInN0YXR1c19zdHJpbmci
OiAiUEFTUyIsCi0gICAgICAgICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgICAgICAgIm1l
c3NhZ2UiOiBudWxsCi0gICAgICAgIH0sCi0gICAgICAgIHsKLSAgICAgICAgICAgICJuYW1lIjog
IkZvbyBpbnRlcmZhY2U6IGludGVybmFsIFtbU2V0UHJvdG90eXBlT2ZdXSBtZXRob2Qgb2YgaW50
ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgLSBzZXR0aW5nIHRvIGl0cyBvcmlnaW5hbCB2YWx1ZSB2
aWEgX19wcm90b19fIHNob3VsZCBub3QgdGhyb3ciLAotICAgICAgICAgICAgInN0YXR1c19zdHJp
bmciOiAiUEFTUyIsCi0gICAgICAgICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgICAgICAg
Im1lc3NhZ2UiOiBudWxsCi0gICAgICAgIH0sCi0gICAgICAgIHsKLSAgICAgICAgICAgICJuYW1l
IjogIkZvbyBtdXN0IGJlIHByaW1hcnkgaW50ZXJmYWNlIG9mIG5ldyBGb28oKSIsCi0gICAgICAg
ICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICAgICAgICJwcm9wZXJ0aWVzIjog
e30sCi0gICAgICAgICAgICAibWVzc2FnZSI6IG51bGwKLSAgICAgICAgfSwKLSAgICAgICAgewot
ICAgICAgICAgICAgIm5hbWUiOiAiU3RyaW5naWZpY2F0aW9uIG9mIG5ldyBGb28oKSIsCi0gICAg
ICAgICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICAgICAgICJwcm9wZXJ0aWVz
Ijoge30sCi0gICAgICAgICAgICAibWVzc2FnZSI6IG51bGwKLSAgICAgICAgfSwKLSAgICAgICAg
ewotICAgICAgICAgICAgIm5hbWUiOiAiU3RyaW5naWZpY2F0aW9uIG9mIHdpbmRvdyIsCi0gICAg
ICAgICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICAgICAgICJwcm9wZXJ0aWVz
Ijoge30sCi0gICAgICAgICAgICAibWVzc2FnZSI6IG51bGwKLSAgICAgICAgfSwKLSAgICAgICAg
ewotICAgICAgICAgICAgIm5hbWUiOiAiV2luZG93IGludGVyZmFjZSBvYmplY3QgbGVuZ3RoIiwK
LSAgICAgICAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgICAgICAgInByb3Bl
cnRpZXMiOiB7fSwKLSAgICAgICAgICAgICJtZXNzYWdlIjogbnVsbAotICAgICAgICB9LAotICAg
ICAgICB7Ci0gICAgICAgICAgICAibmFtZSI6ICJXaW5kb3cgaW50ZXJmYWNlIG9iamVjdCBuYW1l
IiwKLSAgICAgICAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgICAgICAgInBy
b3BlcnRpZXMiOiB7fSwKLSAgICAgICAgICAgICJtZXNzYWdlIjogbnVsbAotICAgICAgICB9LAot
ICAgICAgICB7Ci0gICAgICAgICAgICAibmFtZSI6ICJXaW5kb3cgaW50ZXJmYWNlOiBleGlzdGVu
Y2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCIsCi0gICAgICAgICAgICAic3Rh
dHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAg
ICAgICAgICAibWVzc2FnZSI6IG51bGwKLSAgICAgICAgfSwKLSAgICAgICAgewotICAgICAgICAg
ICAgIm5hbWUiOiAiV2luZG93IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9m
IGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IiwKLSAgICAgICAgICAgICJzdGF0dXNfc3RyaW5n
IjogIlBBU1MiLAotICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICAgICAgICJt
ZXNzYWdlIjogbnVsbAotICAgICAgICB9LAotICAgICAgICB7Ci0gICAgICAgICAgICAibmFtZSI6
ICJXaW5kb3cgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNl
IHByb3RvdHlwZSBvYmplY3QncyBcImNvbnN0cnVjdG9yXCIgcHJvcGVydHkiLAotICAgICAgICAg
ICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAgICAgICAicHJvcGVydGllcyI6IHt9
LAotICAgICAgICAgICAgIm1lc3NhZ2UiOiBudWxsCi0gICAgICAgIH0sCi0gICAgICAgIHsKLSAg
ICAgICAgICAgICJuYW1lIjogIldpbmRvdyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVy
dGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzIEBAdW5zY29wYWJsZXMgcHJvcGVy
dHkiLAotICAgICAgICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAgICAgICAi
cHJvcGVydGllcyI6IHt9LAotICAgICAgICAgICAgIm1lc3NhZ2UiOiBudWxsCi0gICAgICAgIH0s
Ci0gICAgICAgIHsKLSAgICAgICAgICAgICJuYW1lIjogIldpbmRvdyBpbnRlcmZhY2U6IGludGVy
bmFsIFtbU2V0UHJvdG90eXBlT2ZdXSBtZXRob2Qgb2YgZ2xvYmFsIHBsYXRmb3JtIG9iamVjdCAt
IHNldHRpbmcgdG8gYSBuZXcgdmFsdWUgdmlhIE9iamVjdC5zZXRQcm90b3R5cGVPZiBzaG91bGQg
dGhyb3cgYSBUeXBlRXJyb3IiLAotICAgICAgICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIs
Ci0gICAgICAgICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgICAgICAgIm1lc3NhZ2UiOiBu
dWxsCi0gICAgICAgIH0sCi0gICAgICAgIHsKLSAgICAgICAgICAgICJuYW1lIjogIldpbmRvdyBp
bnRlcmZhY2U6IGludGVybmFsIFtbU2V0UHJvdG90eXBlT2ZdXSBtZXRob2Qgb2YgZ2xvYmFsIHBs
YXRmb3JtIG9iamVjdCAtIHNldHRpbmcgdG8gYSBuZXcgdmFsdWUgdmlhIFJlZmxlY3Quc2V0UHJv
dG90eXBlT2Ygc2hvdWxkIHJldHVybiBmYWxzZSIsCi0gICAgICAgICAgICAic3RhdHVzX3N0cmlu
ZyI6ICJQQVNTIiwKLSAgICAgICAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAgICAgICAi
bWVzc2FnZSI6IG51bGwKLSAgICAgICAgfSwKLSAgICAgICAgewotICAgICAgICAgICAgIm5hbWUi
OiAiV2luZG93IGludGVyZmFjZTogaW50ZXJuYWwgW1tTZXRQcm90b3R5cGVPZl1dIG1ldGhvZCBv
ZiBnbG9iYWwgcGxhdGZvcm0gb2JqZWN0IC0gc2V0dGluZyB0byBhIG5ldyB2YWx1ZSB2aWEgX19w
cm90b19fIHNob3VsZCB0aHJvdyBhIFR5cGVFcnJvciIsCi0gICAgICAgICAgICAic3RhdHVzX3N0
cmluZyI6ICJQQVNTIiwKLSAgICAgICAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAgICAg
ICAibWVzc2FnZSI6IG51bGwKLSAgICAgICAgfSwKLSAgICAgICAgewotICAgICAgICAgICAgIm5h
bWUiOiAiV2luZG93IGludGVyZmFjZTogaW50ZXJuYWwgW1tTZXRQcm90b3R5cGVPZl1dIG1ldGhv
ZCBvZiBnbG9iYWwgcGxhdGZvcm0gb2JqZWN0IC0gc2V0dGluZyB0byBpdHMgb3JpZ2luYWwgdmFs
dWUgdmlhIE9iamVjdC5zZXRQcm90b3R5cGVPZiBzaG91bGQgbm90IHRocm93IiwKLSAgICAgICAg
ICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7
fSwKLSAgICAgICAgICAgICJtZXNzYWdlIjogbnVsbAotICAgICAgICB9LAotICAgICAgICB7Ci0g
ICAgICAgICAgICAibmFtZSI6ICJXaW5kb3cgaW50ZXJmYWNlOiBpbnRlcm5hbCBbW1NldFByb3Rv
dHlwZU9mXV0gbWV0aG9kIG9mIGdsb2JhbCBwbGF0Zm9ybSBvYmplY3QgLSBzZXR0aW5nIHRvIGl0
cyBvcmlnaW5hbCB2YWx1ZSB2aWEgUmVmbGVjdC5zZXRQcm90b3R5cGVPZiBzaG91bGQgcmV0dXJu
IHRydWUiLAotICAgICAgICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAgICAg
ICAicHJvcGVydGllcyI6IHt9LAotICAgICAgICAgICAgIm1lc3NhZ2UiOiBudWxsCi0gICAgICAg
IH0sCi0gICAgICAgIHsKLSAgICAgICAgICAgICJuYW1lIjogIldpbmRvdyBpbnRlcmZhY2U6IGlu
dGVybmFsIFtbU2V0UHJvdG90eXBlT2ZdXSBtZXRob2Qgb2YgZ2xvYmFsIHBsYXRmb3JtIG9iamVj
dCAtIHNldHRpbmcgdG8gaXRzIG9yaWdpbmFsIHZhbHVlIHZpYSBfX3Byb3RvX18gc2hvdWxkIG5v
dCB0aHJvdyIsCi0gICAgICAgICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICAg
ICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAgICAgICAibWVzc2FnZSI6IG51bGwKLSAgICAg
ICAgfSwKLSAgICAgICAgewotICAgICAgICAgICAgIm5hbWUiOiAiV2luZG93IGludGVyZmFjZTog
aW50ZXJuYWwgW1tTZXRQcm90b3R5cGVPZl1dIG1ldGhvZCBvZiBpbnRlcmZhY2UgcHJvdG90eXBl
IG9iamVjdCAtIHNldHRpbmcgdG8gYSBuZXcgdmFsdWUgdmlhIE9iamVjdC5zZXRQcm90b3R5cGVP
ZiBzaG91bGQgdGhyb3cgYSBUeXBlRXJyb3IiLAotICAgICAgICAgICAgInN0YXR1c19zdHJpbmci
OiAiUEFTUyIsCi0gICAgICAgICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgICAgICAgIm1l
c3NhZ2UiOiBudWxsCi0gICAgICAgIH0sCi0gICAgICAgIHsKLSAgICAgICAgICAgICJuYW1lIjog
IldpbmRvdyBpbnRlcmZhY2U6IGludGVybmFsIFtbU2V0UHJvdG90eXBlT2ZdXSBtZXRob2Qgb2Yg
aW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgLSBzZXR0aW5nIHRvIGEgbmV3IHZhbHVlIHZpYSBS
ZWZsZWN0LnNldFByb3RvdHlwZU9mIHNob3VsZCByZXR1cm4gZmFsc2UiLAotICAgICAgICAgICAg
InN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAgICAgICAicHJvcGVydGllcyI6IHt9LAot
ICAgICAgICAgICAgIm1lc3NhZ2UiOiBudWxsCi0gICAgICAgIH0sCi0gICAgICAgIHsKLSAgICAg
ICAgICAgICJuYW1lIjogIldpbmRvdyBpbnRlcmZhY2U6IGludGVybmFsIFtbU2V0UHJvdG90eXBl
T2ZdXSBtZXRob2Qgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgLSBzZXR0aW5nIHRvIGEg
bmV3IHZhbHVlIHZpYSBfX3Byb3RvX18gc2hvdWxkIHRocm93IGEgVHlwZUVycm9yIiwKLSAgICAg
ICAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgICAgICAgInByb3BlcnRpZXMi
OiB7fSwKLSAgICAgICAgICAgICJtZXNzYWdlIjogbnVsbAotICAgICAgICB9LAotICAgICAgICB7
Ci0gICAgICAgICAgICAibmFtZSI6ICJXaW5kb3cgaW50ZXJmYWNlOiBpbnRlcm5hbCBbW1NldFBy
b3RvdHlwZU9mXV0gbWV0aG9kIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IC0gc2V0dGlu
ZyB0byBpdHMgb3JpZ2luYWwgdmFsdWUgdmlhIE9iamVjdC5zZXRQcm90b3R5cGVPZiBzaG91bGQg
bm90IHRocm93IiwKLSAgICAgICAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAg
ICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICAgICAgICJtZXNzYWdlIjogbnVsbAotICAg
ICAgICB9LAotICAgICAgICB7Ci0gICAgICAgICAgICAibmFtZSI6ICJXaW5kb3cgaW50ZXJmYWNl
OiBpbnRlcm5hbCBbW1NldFByb3RvdHlwZU9mXV0gbWV0aG9kIG9mIGludGVyZmFjZSBwcm90b3R5
cGUgb2JqZWN0IC0gc2V0dGluZyB0byBpdHMgb3JpZ2luYWwgdmFsdWUgdmlhIFJlZmxlY3Quc2V0
UHJvdG90eXBlT2Ygc2hvdWxkIHJldHVybiB0cnVlIiwKLSAgICAgICAgICAgICJzdGF0dXNfc3Ry
aW5nIjogIlBBU1MiLAotICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICAgICAg
ICJtZXNzYWdlIjogbnVsbAotICAgICAgICB9LAotICAgICAgICB7Ci0gICAgICAgICAgICAibmFt
ZSI6ICJXaW5kb3cgaW50ZXJmYWNlOiBpbnRlcm5hbCBbW1NldFByb3RvdHlwZU9mXV0gbWV0aG9k
IG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IC0gc2V0dGluZyB0byBpdHMgb3JpZ2luYWwg
dmFsdWUgdmlhIF9fcHJvdG9fXyBzaG91bGQgbm90IHRocm93IiwKLSAgICAgICAgICAgICJzdGF0
dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAg
ICAgICAgICJtZXNzYWdlIjogbnVsbAotICAgICAgICB9LAotICAgICAgICB7Ci0gICAgICAgICAg
ICAibmFtZSI6ICJXaW5kb3cgbXVzdCBiZSBwcmltYXJ5IGludGVyZmFjZSBvZiB3aW5kb3ciLAot
ICAgICAgICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAgICAgICAicHJvcGVy
dGllcyI6IHt9LAotICAgICAgICAgICAgIm1lc3NhZ2UiOiBudWxsCi0gICAgICAgIH0KLSAgICBd
LAotICAgICJ0eXBlIjogImNvbXBsZXRlIgotfQotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvaWRsaGFybmVzcy9JZGxJbnRlcmZhY2Uv
dGVzdF9pbnRlcmZhY2VfbWl4aW4uaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC9pZGxoYXJuZXNz
L0lkbEludGVyZmFjZS90ZXN0X2ludGVyZmFjZV9taXhpbi5odG1sCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCBhOWE5MDk0ZmUzMC4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5j
dGlvbmFsL2lkbGhhcm5lc3MvSWRsSW50ZXJmYWNlL3Rlc3RfaW50ZXJmYWNlX21peGluLmh0bWwK
KysrIC9kZXYvbnVsbApAQCAtMSw4MyArMCwwIEBACi08IURPQ1RZUEUgSFRNTD4KLTxodG1sPgot
Ci08aGVhZD4KLSAgPG1ldGEgY2hhcnNldD0idXRmLTgiPgotICA8bWV0YSBuYW1lPSJ2YXJpYW50
IiBjb250ZW50PSIiPgotICA8dGl0bGU+aWRsaGFybmVzczogaW50ZXJmYWNlIG1peGluczwvdGl0
bGU+Ci0gIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3QvdmFyaWFudHMuanMiPjwvc2NyaXB0
PgotICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci0g
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
LSAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvV2ViSURMUGFyc2VyLmpzIj48L3NjcmlwdD4KLSAg
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvaWRsaGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+
Ci0KLTxib2R5PgotICA8cD5WZXJpZnkgdGhlIHNlcmllcyBvZiBzdWItdGVzdHMgdGhhdCBhcmUg
ZXhlY3V0ZWQgZm9yICJpbnRlcmZhY2UgbWl4aW4iIG9iamVjdHMuPC9wPgotICA8c2NyaXB0Pgot
ICAgICJ1c2Ugc3RyaWN0IjsKLQotICAgIC8vIE5vIG9yaWdpbmFsIGV4aXN0ZW5jZQotICAgICgo
KSA9PiB7Ci0gICAgICBjb25zdCBpZGxBcnJheSA9IG5ldyBJZGxBcnJheSgpOwotICAgICAgaWRs
QXJyYXkuYWRkX2lkbHMoJ3BhcnRpYWwgaW50ZXJmYWNlIG1peGluIEEge307Jyk7Ci0gICAgICBp
ZGxBcnJheS50ZXN0KCk7Ci0gICAgfSkoKTsKLQotICAgIC8vIE5hbWUgY2xhc2ggKHBhcnRpYWxz
KQotICAgICgoKSA9PiB7Ci0gICAgICBjb25zdCBpZGxBcnJheSA9IG5ldyBJZGxBcnJheSgpOwot
ICAgICAgaWRsQXJyYXkuYWRkX2lkbHMoYAotICAgICAgICBpbnRlcmZhY2UgbWl4aW4gQiB7IGF0
dHJpYnV0ZSBhbnkgRjsgfTsKLSAgICAgICAgcGFydGlhbCBpbnRlcmZhY2UgbWl4aW4gQiB7IGF0
dHJpYnV0ZSBhbnkgRjsgfTtgKTsKLSAgICAgIGlkbEFycmF5LmNvbGxhcHNlX3BhcnRpYWxzKCk7
Ci0gICAgfSkoKTsKLQotICAgIC8vIE5hbWUgY2xhc2ggKGRpZmZlcmVudCBtaXhpbnMpCi0gICAg
KCgpID0+IHsKLSAgICAgIGNvbnN0IGlkbEFycmF5ID0gbmV3IElkbEFycmF5KCk7Ci0gICAgICBp
ZGxBcnJheS5hZGRfdW50ZXN0ZWRfaWRscyhgCi0gICAgICAgIGludGVyZmFjZSBtaXhpbiBDIHsg
YXR0cmlidXRlIGFueSBGOyB9OwotICAgICAgICBpbnRlcmZhY2UgRCB7IGF0dHJpYnV0ZSBhbnkg
RjsgfTsKLSAgICAgICAgRCBpbmNsdWRlcyBDO2ApOwotICAgICAgaWRsQXJyYXkudGVzdCgpOwot
ICAgIH0pKCk7Ci0gIDwvc2NyaXB0PgotICA8c2NyaXB0IHR5cGU9InRleHQvanNvbiIgaWQ9ImV4
cGVjdGVkIj4KLXsKLSAgInN1bW1hcml6ZWRfc3RhdHVzIjogewotICAgICJzdGF0dXNfc3RyaW5n
IjogIk9LIiwKLSAgICAibWVzc2FnZSI6IG51bGwKLSAgfSwKLSAgInN1bW1hcml6ZWRfdGVzdHMi
OiBbCi0gICAgewotICAgICAgIm5hbWUiOiAiUGFydGlhbCBpbnRlcmZhY2UgbWl4aW4gQTogb3Jp
Z2luYWwgaW50ZXJmYWNlIG1peGluIGRlZmluZWQiLAotICAgICAgInN0YXR1c19zdHJpbmciOiAi
RkFJTCIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiAiYXNzZXJ0
X3RydWU6IE9yaWdpbmFsIGludGVyZmFjZSBtaXhpbiBzaG91bGQgYmUgZGVmaW5lZCBleHBlY3Rl
ZCB0cnVlIGdvdCBmYWxzZSIKLSAgICB9LAotICAgIHsKLSAgICAgICJuYW1lIjogIlBhcnRpYWwg
aW50ZXJmYWNlIG1peGluIEI6IG9yaWdpbmFsIGludGVyZmFjZSBtaXhpbiBkZWZpbmVkIiwKLSAg
ICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAg
ICAgICJtZXNzYWdlIjogbnVsbAotICAgIH0sCi0gICAgewotICAgICAgIm5hbWUiOiAiUGFydGlh
bCBpbnRlcmZhY2UgbWl4aW4gQjogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUiLAotICAgICAgInN0
YXR1c19zdHJpbmciOiAiRkFJTCIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1l
c3NhZ2UiOiAiYXNzZXJ0X3RydWU6IG1lbWJlciBGIGlzIHVuaXF1ZSBleHBlY3RlZCB0cnVlIGdv
dCBmYWxzZSIKLSAgICB9LAotICAgIHsKLSAgICAgICJuYW1lIjogIkQgaW5jbHVkZXMgQzogbWVt
YmVyIG5hbWVzIGFyZSB1bmlxdWUiLAotICAgICAgInN0YXR1c19zdHJpbmciOiAiRkFJTCIsCi0g
ICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiAiYXNzZXJ0X3RydWU6IG1l
bWJlciBGIGlzIHVuaXF1ZSBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZSIKLSAgICB9Ci0gIF0sCi0g
ICJ0eXBlIjogImNvbXBsZXRlIgotfQotPC9zY3JpcHQ+Ci08L2JvZHk+Ci0KLTwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC9pZGxoYXJuZXNzL0lkbEludGVyZmFjZS90ZXN0
X3BhcnRpYWxfaW50ZXJmYWNlX29mLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvaWRsaGFybmVz
cy9JZGxJbnRlcmZhY2UvdGVzdF9wYXJ0aWFsX2ludGVyZmFjZV9vZi5odG1sCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCBkMGU4M2FmOTY2NC4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0
cy9mdW5jdGlvbmFsL2lkbGhhcm5lc3MvSWRsSW50ZXJmYWNlL3Rlc3RfcGFydGlhbF9pbnRlcmZh
Y2Vfb2YuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDE4NSArMCwwIEBACi08IURPQ1RZUEUgSFRN
TD4KLTxodG1sPgotCi08aGVhZD4KLSAgPG1ldGEgY2hhcnNldD0idXRmLTgiPgotICA8bWV0YSBu
YW1lPSJ2YXJpYW50IiBjb250ZW50PSIiPgotICA8dGl0bGU+aWRsaGFybmVzczogUGFydGlhbCBp
bnRlcmZhY2U8L3RpdGxlPgotICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0L3ZhcmlhbnRz
LmpzIj48L3NjcmlwdD4KLSAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
Pjwvc2NyaXB0PgotICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+Ci0gIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL1dlYklETFBhcnNlci5qcyI+
PC9zY3JpcHQ+Ci0gIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL2lkbGhhcm5lc3MuanMiPjwvc2Ny
aXB0PgotPC9oZWFkPgotCi08Ym9keT4KLSAgPHA+VmVyaWZ5IHRoZSBzZXJpZXMgb2Ygc3ViLXRl
c3RzIHRoYXQgYXJlIGV4ZWN1dGVkIGZvciAicGFydGlhbCIgaW50ZXJmYWNlIG9iamVjdHMuPC9w
PgotICA8c2NyaXB0PgotICAgICJ1c2Ugc3RyaWN0IjsKLQotICAgIC8vIE5vIG9yaWdpbmFsIGV4
aXN0ZW5jZQotICAgICgoKSA9PiB7Ci0gICAgICBjb25zdCBpZGxBcnJheSA9IG5ldyBJZGxBcnJh
eSgpOwotICAgICAgaWRsQXJyYXkuYWRkX2lkbHMoJ3BhcnRpYWwgaW50ZXJmYWNlIEEge307Jyk7
Ci0gICAgICBpZGxBcnJheS50ZXN0KCk7Ci0gICAgfSkoKTsKLQotICAgIC8vIFZhbGlkIGV4cG9z
dXJlIChOb3RlOiBXb3JrZXIgLT4ge1NoYXJlZCxEZWRpY2F0ZWQsU2VydmljZX1Xb3JrZXIpCi0g
ICAgKCgpID0+IHsKLSAgICAgIGNvbnN0IGlkbEFycmF5ID0gbmV3IElkbEFycmF5KCk7Ci0gICAg
ICBpZGxBcnJheS5hZGRfdW50ZXN0ZWRfaWRscyhgCi0gICAgICAgIFtFeHBvc2VkPShXb3JrZXIp
XQotICAgICAgICBpbnRlcmZhY2UgQiB7fTsKLQotICAgICAgICBbRXhwb3NlZD0oRGVkaWNhdGVk
V29ya2VyLCBTZXJ2aWNlV29ya2VyLCBTaGFyZWRXb3JrZXIpXQotICAgICAgICBpbnRlcmZhY2Ug
QyB7fTtgKTsKLSAgICAgIGlkbEFycmF5LmFkZF9pZGxzKGAKLSAgICAgICAgW0V4cG9zZWQ9KERl
ZGljYXRlZFdvcmtlciwgU2VydmljZVdvcmtlciwgU2hhcmVkV29ya2VyKV0KLSAgICAgICAgcGFy
dGlhbCBpbnRlcmZhY2UgQiB7fTsKLQotICAgICAgICBbRXhwb3NlZD0oV29ya2VyKV0KLSAgICAg
ICAgcGFydGlhbCBpbnRlcmZhY2UgQyB7fTtgKTsKLSAgICAgIGlkbEFycmF5LmNvbGxhcHNlX3Bh
cnRpYWxzKCk7Ci0gICAgfSkoKTsKLQotICAgIC8vIEludmFsaWQgZXhwb3N1cmUKLSAgICAoKCkg
PT4gewotICAgICAgY29uc3QgaWRsQXJyYXkgPSBuZXcgSWRsQXJyYXkoKTsKLSAgICAgIGlkbEFy
cmF5LmFkZF91bnRlc3RlZF9pZGxzKGAKLSAgICAgICAgW0V4cG9zZWQ9KFdpbmRvdywgU2Vydmlj
ZVdvcmtlcildCi0gICAgICAgIGludGVyZmFjZSBEIHt9O2ApOwotICAgICAgaWRsQXJyYXkuYWRk
X2lkbHMoYAotICAgICAgICBbRXhwb3NlZD0oRGVkaWNhdGVkV29ya2VyKV0KLSAgICAgICAgcGFy
dGlhbCBpbnRlcmZhY2UgRCB7fTtgKTsKLSAgICAgIGlkbEFycmF5LmNvbGxhcHNlX3BhcnRpYWxz
KCk7Ci0gICAgfSkoKTsKLQotICAgIC8vIE9yaWdpbmFsIGlzIGEgbmFtZXNwYWNlLCBub3QgYW4g
aW50ZXJmYWNlLgotICAgICgoKSA9PiB7Ci0gICAgICBjb25zdCBpZGxBcnJheSA9IG5ldyBJZGxB
cnJheSgpOwotICAgICAgaWRsQXJyYXkuYWRkX2lkbHMoYAotICAgICAgICBwYXJ0aWFsIGludGVy
ZmFjZSBFIHt9OwotICAgICAgICBuYW1lc3BhY2UgRSB7fTtgKTsKLSAgICAgIGlkbEFycmF5LmNv
bGxhcHNlX3BhcnRpYWxzKCk7Ci0gICAgfSkoKTsKLQotICAgICgoKSA9PiB7Ci0gICAgICBjb25z
dCBpZGxBcnJheSA9IG5ldyBJZGxBcnJheSgpOwotICAgICAgaWRsQXJyYXkuYWRkX2lkbHMoYAot
ICAgICAgICBwYXJ0aWFsIGludGVyZmFjZSBGIHt9OwotICAgICAgICBwYXJ0aWFsIGludGVyZmFj
ZSBtaXhpbiBHe307Ci0gICAgICBgKTsKLSAgICAgIGlkbEFycmF5LmFkZF9kZXBlbmRlbmN5X2lk
bHMoYAotICAgICAgICBpbnRlcmZhY2UgRiB7fTsKLSAgICAgICAgaW50ZXJmYWNlIG1peGluIEcg
e307Ci0gICAgICAgIGludGVyZmFjZSBtaXhpbiBIIHt9OwotICAgICAgICBGIGluY2x1ZGVzIEg7
Ci0gICAgICAgIEkgaW5jbHVkZXMgSDsKLSAgICAgICAgSiBpbmNsdWRlcyBHOwotICAgICAgICBp
bnRlcmZhY2UgSyA6IEoge307Ci0gICAgICAgIGludGVyZmFjZSBMIDogRiB7fTsKLSAgICAgIGAp
OwotICAgICAgdGVzdCgoKSA9PiB7Ci0gICAgICAgIC8vIEYgaXMgdGVzdGVkLCBzbyBIIGlzIGEg
ZGVwLgotICAgICAgICBhc3NlcnRfdHJ1ZSgnRicgaW4gaWRsQXJyYXkuaW5jbHVkZXMsICdGcyBp
bmNsdWRlcyBzaG91bGQgYmUgcGlja2VkIHVwJyk7Ci0gICAgICAgIGFzc2VydF90cnVlKGlkbEFy
cmF5LmluY2x1ZGVzLkYuaW5jbHVkZXMoJ0gnKSwgJ0ggc2hvdWxkIGJlIHBpY2tlZCB1cCcpOwot
ICAgICAgICAvLyBIIGlzIG5vdCB0ZXN0ZWQsIHNvIEkgaXMgbm90IGEgZGVwLgotICAgICAgICBh
c3NlcnRfZmFsc2UoJ0knIGluIGlkbEFycmF5LmluY2x1ZGVzLCAnSSBzaG91bGQgYmUgaWdub3Jl
ZCcpOwotICAgICAgICAvLyBHIGlzIGEgZGVwLCBzbyBKIGlzIGEgZGVwLgotICAgICAgICBhc3Nl
cnRfdHJ1ZSgnSicgaW4gaWRsQXJyYXkuaW5jbHVkZXMsICdKIHNob3VsZCBiZSBwaWNrZWQgdXAn
KTsKLSAgICAgICAgLy8gQnV0LCBLIGlzbid0IGEgZGVwIGp1c3QgYmVjYXVzZSBvZiBKLgotICAg
ICAgICBhc3NlcnRfZmFsc2UoJ0snIGluIGlkbEFycmF5Lm1lbWJlcnMsICdLIHNob3VsZCBiZSBp
Z25vcmVkJyk7Ci0gICAgICAgIC8vIEwgaW5oZXJpdHMgRiwgc28gc2hvdWxkIGJlIHBpY2tlZCB1
cC4KLSAgICAgICAgYXNzZXJ0X2ZhbHNlKCdMJyBpbiBpZGxBcnJheS5tZW1iZXJzLCAnTCBzaG91
bGQgYmUgcGlja2VkIHVwJyk7Ci0gICAgICB9LCAncGFydGlhbCBtaXhpbiBkZXAgaW1wbGljYXRp
b25zJyk7Ci0gICAgfSkoKTsKLQotICAgIC8vIE5hbWUgY2xhc2ggKHBhcnRpYWxzKQotICAgICgo
KSA9PiB7Ci0gICAgICBjb25zdCBpZGxBcnJheSA9IG5ldyBJZGxBcnJheSgpOwotICAgICAgaWRs
QXJyYXkuYWRkX2lkbHMoYAotICAgICAgICBpbnRlcmZhY2UgTSB7IGF0dHJpYnV0ZSBhbnkgQTsg
fTsKLSAgICAgICAgcGFydGlhbCBpbnRlcmZhY2UgTSB7IGF0dHJpYnV0ZSBhbnkgQTsgfTtgKTsK
LSAgICAgIGlkbEFycmF5LmNvbGxhcHNlX3BhcnRpYWxzKCk7Ci0gICAgfSkoKTsKLSAgPC9zY3Jp
cHQ+Ci0gIDxzY3JpcHQgdHlwZT0idGV4dC9qc29uIiBpZD0iZXhwZWN0ZWQiPgotewotICAic3Vt
bWFyaXplZF9zdGF0dXMiOiB7Ci0gICAgInN0YXR1c19zdHJpbmciOiAiT0siLAotICAgICJtZXNz
YWdlIjogbnVsbAotICB9LAotICAic3VtbWFyaXplZF90ZXN0cyI6IFsKLSAgICB7Ci0gICAgICAi
bmFtZSI6ICJQYXJ0aWFsIGludGVyZmFjZSBBOiBvcmlnaW5hbCBpbnRlcmZhY2UgZGVmaW5lZCIs
Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJGQUlMIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30s
Ci0gICAgICAibWVzc2FnZSI6ICJhc3NlcnRfdHJ1ZTogT3JpZ2luYWwgaW50ZXJmYWNlIHNob3Vs
ZCBiZSBkZWZpbmVkIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlIgotICAgIH0sCi0gICAgewotICAg
ICAgIm5hbWUiOiAiUGFydGlhbCBpbnRlcmZhY2UgQjogb3JpZ2luYWwgaW50ZXJmYWNlIGRlZmlu
ZWQiLAotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAicHJvcGVydGllcyI6
IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsCi0gICAgfSwKLSAgICB7Ci0gICAgICAibmFtZSI6
ICJQYXJ0aWFsIGludGVyZmFjZSBCOiB2YWxpZCBleHBvc3VyZSBzZXQiLAotICAgICAgInN0YXR1
c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3Nh
Z2UiOiBudWxsCi0gICAgfSwKLSAgICB7Ci0gICAgICAibmFtZSI6ICJQYXJ0aWFsIGludGVyZmFj
ZSBDOiBvcmlnaW5hbCBpbnRlcmZhY2UgZGVmaW5lZCIsCi0gICAgICAic3RhdHVzX3N0cmluZyI6
ICJQQVNTIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6IG51bGwK
LSAgICB9LAotICAgIHsKLSAgICAgICJuYW1lIjogIlBhcnRpYWwgaW50ZXJmYWNlIEM6IHZhbGlk
IGV4cG9zdXJlIHNldCIsCi0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJw
cm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6IG51bGwKLSAgICB9LAotICAgIHsKLSAg
ICAgICJuYW1lIjogIlBhcnRpYWwgaW50ZXJmYWNlIEQ6IG9yaWdpbmFsIGludGVyZmFjZSBkZWZp
bmVkIiwKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgInByb3BlcnRpZXMi
OiB7fSwKLSAgICAgICJtZXNzYWdlIjogbnVsbAotICAgIH0sCi0gICAgewotICAgICAgIm5hbWUi
OiAiUGFydGlhbCBpbnRlcmZhY2UgRDogdmFsaWQgZXhwb3N1cmUgc2V0IiwKLSAgICAgICJzdGF0
dXNfc3RyaW5nIjogIkZBSUwiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNz
YWdlIjogIlBhcnRpYWwgRCBpbnRlcmZhY2UgaXMgZXhwb3NlZCB0byAnRGVkaWNhdGVkV29ya2Vy
JywgdGhlIG9yaWdpbmFsIGludGVyZmFjZSBpcyBub3QuIgotICAgIH0sCi0gICAgewotICAgICAg
Im5hbWUiOiAiUGFydGlhbCBpbnRlcmZhY2UgRTogb3JpZ2luYWwgaW50ZXJmYWNlIGRlZmluZWQi
LAotICAgICAgInN0YXR1c19zdHJpbmciOiAiRkFJTCIsCi0gICAgICAicHJvcGVydGllcyI6IHt9
LAotICAgICAgIm1lc3NhZ2UiOiAiYXNzZXJ0X3RydWU6IE9yaWdpbmFsIEUgZGVmaW5pdGlvbiBz
aG91bGQgaGF2ZSB0eXBlIGludGVyZmFjZSBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZSIKLSAgICB9
LAotICAgIHsKLSAgICAgICJuYW1lIjogInBhcnRpYWwgbWl4aW4gZGVwIGltcGxpY2F0aW9ucyIs
Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30s
Ci0gICAgICAibWVzc2FnZSI6IG51bGwKLSAgICB9LAotICAgIHsKLSAgICAgICJuYW1lIjogIlBh
cnRpYWwgaW50ZXJmYWNlIE06IG9yaWdpbmFsIGludGVyZmFjZSBkZWZpbmVkIiwKLSAgICAgICJz
dGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJt
ZXNzYWdlIjogbnVsbAotICAgIH0sCi0gICAgewotICAgICAgIm5hbWUiOiAiUGFydGlhbCBpbnRl
cmZhY2UgTTogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUiLAotICAgICAgInN0YXR1c19zdHJpbmci
OiAiRkFJTCIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiAiYXNz
ZXJ0X3RydWU6IG1lbWJlciBBIGlzIHVuaXF1ZSBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZSIKLSAg
ICB9Ci0gIF0sCi0gICJ0eXBlIjogImNvbXBsZXRlIgotfQotPC9zY3JpcHQ+Ci08L2JvZHk+Ci0K
LTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC9pZGxoYXJuZXNzL0lkbElu
dGVyZmFjZS90ZXN0X3ByaW1hcnlfaW50ZXJmYWNlX29mLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9u
YWwvaWRsaGFybmVzcy9JZGxJbnRlcmZhY2UvdGVzdF9wcmltYXJ5X2ludGVyZmFjZV9vZi5odG1s
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1Y2U0NTdjYWZkNC4uMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFsL2lkbGhhcm5lc3MvSWRsSW50ZXJmYWNlL3Rlc3RfcHJp
bWFyeV9pbnRlcmZhY2Vfb2YuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDExMiArMCwwIEBACi08
IURPQ1RZUEUgSFRNTD4KLTxodG1sPgotPGhlYWQ+Ci0gIDxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4K
LSAgPG1ldGEgbmFtZT0idmFyaWFudCIgY29udGVudD0iIj4KLSAgPG1ldGEgbmFtZT0idmFyaWFu
dCIgY29udGVudD0iP2tlZXAtcHJvbWlzZSI+Ci0gIDx0aXRsZT5pZGxoYXJuZXNzOiBQcmltYXJ5
IGludGVyZmFjZTwvdGl0bGU+Ci0gIDxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi92YXJpYW50cy5q
cyI+PC9zY3JpcHQ+Ci0gIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4KLSAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgotICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9XZWJJRExQYXJzZXIuanMiPjwv
c2NyaXB0PgotICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9pZGxoYXJuZXNzLmpzIj48L3Njcmlw
dD4KLTwvaGVhZD4KLTxib2R5PgotPHA+VmVyaWZ5IHRoZSBzZXJpZXMgb2Ygc3ViLXRlc3RzIHRo
YXQgYXJlIGV4ZWN1dGVkIGZvciAidGVzdGVkIiBpbnRlcmZhY2UKLW9iamVjdHMgYnV0IHNraXBw
ZWQgZm9yICJ1bnRlc3RlZCIgaW50ZXJmYWNlIG9iamVjdHMuPC9wPgotPHNjcmlwdD4KLSJ1c2Ug
c3RyaWN0IjsKLQotZnVuY3Rpb24gRm9vUGFyZW50KCkge30KLU9iamVjdC5kZWZpbmVQcm9wZXJ0
eSh3aW5kb3csICJGb28iLCB7Ci0gICAgZW51bWVyYWJsZTogZmFsc2UsCi0gICAgd3JpdGFibGU6
IHRydWUsCi0gICAgY29uZmlndXJhYmxlOiB0cnVlLAotICAgIHZhbHVlOiBmdW5jdGlvbiBGb28o
KSB7fQotICB9KTsKLU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh3aW5kb3cuRm9vLCAicHJvdG90eXBl
IiwgewotICAgIHdyaXRhYmxlOiBmYWxzZSwKLSAgICB2YWx1ZTogbmV3IEZvb1BhcmVudCgpCi0g
IH0pOwotT2JqZWN0LmRlZmluZVByb3BlcnR5KHdpbmRvdy5Gb28ucHJvdG90eXBlLCAiY29uc3Ry
dWN0b3IiLCB7Ci0gICAgZW51bWVyYWJsZTogZmFsc2UsCi0gICAgd3JpdGFibGU6IHRydWUsCi0g
ICAgY29uZmlndXJhYmxlOiB0cnVlLAotICAgIHZhbHVlOiB3aW5kb3cuRm9vCi0gIH0pOwotRm9v
Ll9fcHJvdG9fXyA9IEZvb1BhcmVudDsKLUZvby5wcm90b3R5cGVbU3ltYm9sLnRvU3RyaW5nVGFn
XSA9ICJGb28iOwotCi12YXIgaWRsQXJyYXkgPSBuZXcgSWRsQXJyYXkoKTsKLWlkbEFycmF5LmFk
ZF91bnRlc3RlZF9pZGxzKCJpbnRlcmZhY2UgRm9vUGFyZW50IHt9OyIpOwotaWRsQXJyYXkuYWRk
X2lkbHMoCi0gICAgIltDb25zdHJ1Y3RvcigpXVxuIiArCi0gICAgImludGVyZmFjZSBGb28gOiBG
b29QYXJlbnQge307IgotICApOwotaWRsQXJyYXkuYWRkX29iamVjdHMoewotICBGb286IFsibmV3
IEZvbygpIl0sCi0gIEZvb1BhcmVudDogWyJuZXcgRm9vUGFyZW50KCkiXQotfSk7Ci1pZGxBcnJh
eS50ZXN0KCk7Ci08L3NjcmlwdD4KLTxzY3JpcHQgdHlwZT0idGV4dC9qc29uIiBpZD0iZXhwZWN0
ZWQiPgotewotICAic3VtbWFyaXplZF9zdGF0dXMiOiB7Ci0gICAgInN0YXR1c19zdHJpbmciOiAi
T0siLAotICAgICJtZXNzYWdlIjogbnVsbAotICB9LAotICAic3VtbWFyaXplZF90ZXN0cyI6IFsK
LSAgICB7Ci0gICAgICAibmFtZSI6ICJGb28gaW50ZXJmYWNlIG9iamVjdCBsZW5ndGgiLAotICAg
ICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAg
ICAgIm1lc3NhZ2UiOiBudWxsCi0gICAgfSwKLSAgICB7Ci0gICAgICAibmFtZSI6ICJGb28gaW50
ZXJmYWNlIG9iamVjdCBuYW1lIiwKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAg
ICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogbnVsbAotICAgIH0sCi0gICAg
ewotICAgICAgIm5hbWUiOiAiRm9vIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVz
IG9mIGludGVyZmFjZSBvYmplY3QiLAotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0g
ICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsCi0gICAgfSwKLSAg
ICB7Ci0gICAgICAibmFtZSI6ICJGb28gaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRp
ZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QiLAotICAgICAgInN0YXR1c19zdHJpbmci
OiAiUEFTUyIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxs
Ci0gICAgfSwKLSAgICB7Ci0gICAgICAibmFtZSI6ICJGb28gaW50ZXJmYWNlOiBleGlzdGVuY2Ug
YW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyBcImNvbnN0cnVj
dG9yXCIgcHJvcGVydHkiLAotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAi
cHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsCi0gICAgfSwKLSAgICB7Ci0g
ICAgICAibmFtZSI6ICJGb28gaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2Yg
aW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyBAQHVuc2NvcGFibGVzIHByb3BlcnR5IiwKLSAg
ICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAg
ICAgICJtZXNzYWdlIjogbnVsbAotICAgIH0sCi0gICAgewotICAgICAgIm5hbWUiOiAiRm9vIG11
c3QgYmUgcHJpbWFyeSBpbnRlcmZhY2Ugb2YgbmV3IEZvbygpIiwKLSAgICAgICJzdGF0dXNfc3Ry
aW5nIjogIlBBU1MiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjog
bnVsbAotICAgIH0sCi0gICAgewotICAgICAgIm5hbWUiOiAiU3RyaW5naWZpY2F0aW9uIG9mIG5l
dyBGb28oKSIsCi0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJwcm9wZXJ0
aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6IG51bGwKLSAgICB9Ci0gIF0sCi0gICJ0eXBlIjog
ImNvbXBsZXRlIgotfQotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0
L3Rlc3RzL2Z1bmN0aW9uYWwvaWRsaGFybmVzcy9JZGxJbnRlcmZhY2UvdGVzdF90b19qc29uX29w
ZXJhdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFsL2lkbGhhcm5lc3MvSWRsSW50ZXJmYWNl
L3Rlc3RfdG9fanNvbl9vcGVyYXRpb24uaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMTYyZGUzMTk2MzQuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC9pZGxo
YXJuZXNzL0lkbEludGVyZmFjZS90ZXN0X3RvX2pzb25fb3BlcmF0aW9uLmh0bWwKKysrIC9kZXYv
bnVsbApAQCAtMSwxODAgKzAsMCBAQAotPCFET0NUWVBFIEhUTUw+Ci08aHRtbD4KLTxoZWFkPgot
ICA8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Ci0gIDxtZXRhIG5hbWU9InZhcmlhbnQiIGNvbnRlbnQ9
IiI+Ci0gIDxtZXRhIG5hbWU9InZhcmlhbnQiIGNvbnRlbnQ9Ij9rZWVwLXByb21pc2UiPgotICA8
dGl0bGU+SWRsSW50ZXJmYWNlLnByb3RvdHlwZS50ZXN0X3RvX2pzb25fb3BlcmF0aW9uKCk8L3Rp
dGxlPgotICA8c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vdmFyaWFudHMuanMiPjwvc2NyaXB0Pgot
ICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci0gIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLSAg
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvV2ViSURMUGFyc2VyLmpzIj48L3NjcmlwdD4KLSAgPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvaWRsaGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci0gIDxzY3JpcHQg
c3JjPSIuLi8uLi8uLi8uLi9pZGwtaGVscGVyLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5
PgotPHNjcmlwdD4KLSAgICAidXNlIHN0cmljdCI7Ci0gICAgZnVuY3Rpb24gd3JhcChtZW1iZXIs
IG9iaikgewotICAgICAgICBmdW5jdGlvbiBGKG9iaikgewotICAgICAgICAgICAgdGhpcy5fb2Jq
ID0gb2JqOwotICAgICAgICB9Ci0KLSAgICAgICAgRi5wcm90b3R5cGUudG9KU09OID0gZnVuY3Rp
b24oKSB7Ci0gICAgICAgICAgICByZXR1cm4gdGhpcy5fb2JqOwotICAgICAgICB9Ci0gICAgICAg
IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShGLCAnbmFtZScsIHsgdmFsdWU6IG1lbWJlci5uYW1lIH0p
OwotICAgICAgICByZXR1cm4gbmV3IEYob2JqKTsKLSAgICB9Ci0KLSAgICB2YXIgaSwgb2JqOwot
ICAgIGkgPSBpbnRlcmZhY2VGcm9tKCJpbnRlcmZhY2UgQSB7IFtEZWZhdWx0XSBvYmplY3QgdG9K
U09OKCk7IGF0dHJpYnV0ZSBsb25nIGZvbzsgfTsiKTsKLSAgICBpLnRlc3RfdG9fanNvbl9vcGVy
YXRpb24oIm9iamVjdCIsIHdyYXAoaSwgeyBmb286IDEyMyB9KSwgaS5tZW1iZXJzWzBdKTsKLQot
ICAgIC8vIHNob3VsZCBmYWlsICh3cm9uZyB0eXBlKQotICAgIGkgPSBpbnRlcmZhY2VGcm9tKCJp
bnRlcmZhY2UgQiB7IFtEZWZhdWx0XSBvYmplY3QgdG9KU09OKCk7IGF0dHJpYnV0ZSBsb25nIGZv
bzsgfTsiKTsKLSAgICBpLnRlc3RfdG9fanNvbl9vcGVyYXRpb24oIm9iamVjdCIsIHdyYXAoaSwg
eyBmb286ICJhIHZhbHVlIiB9KSwgaS5tZW1iZXJzWzBdKTsKLQotICAgIC8vIHNob3VsZCBoYW5k
bGUgZXh0cmFuZW91cyBhdHRyaWJ1dGVzIChlLmcuIGZyb20gYW4gZXh0ZW5zaW9uIHNwZWNpZmlj
YXRpb24pCi0gICAgaSA9IGludGVyZmFjZUZyb20oImludGVyZmFjZSBDIHsgW0RlZmF1bHRdIG9i
amVjdCB0b0pTT04oKTsgYXR0cmlidXRlIGxvbmcgZm9vOyB9OyIpOwotICAgIGkudGVzdF90b19q
c29uX29wZXJhdGlvbigib2JqZWN0Iiwgd3JhcChpLCB7IGZvbzogMTIzLCBiYXI6IDQ1NiB9KSwg
aS5tZW1iZXJzWzBdKTsKLQotICAgIC8vIHNob3VsZCBmYWlsIChtaXNzaW5nIHByb3BlcnR5KQot
ICAgIGkgPSBpbnRlcmZhY2VGcm9tKCJpbnRlcmZhY2UgRCB7IFtEZWZhdWx0XSBvYmplY3QgdG9K
U09OKCk7IGF0dHJpYnV0ZSBsb25nIGZvbzsgfTsiKTsKLSAgICBpLnRlc3RfdG9fanNvbl9vcGVy
YXRpb24oIm9iamVjdCIsIHdyYXAoaSwgeyB9KSwgaS5tZW1iZXJzWzBdKTsKLQotICAgIC8vIHNo
b3VsZCBmYWlsIChzaG91bGQgYmUgd3JpdGFibGUpCi0gICAgb2JqID0gT2JqZWN0LmRlZmluZVBy
b3BlcnRpZXMoe30sIHsgZm9vOiB7Ci0gICAgICAgIHdyaXRhYmxlOiBmYWxzZSwKLSAgICAgICAg
ZW51bWVyYWJsZTogdHJ1ZSwKLSAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLAotICAgICAgICB2
YWx1ZTogMTIzCi0gICAgfX0pOwotICAgIGkgPSBpbnRlcmZhY2VGcm9tKCJpbnRlcmZhY2UgRiB7
IFtEZWZhdWx0XSBvYmplY3QgdG9KU09OKCk7IGF0dHJpYnV0ZSBsb25nIGZvbzsgfTsiKTsKLSAg
ICBpLnRlc3RfdG9fanNvbl9vcGVyYXRpb24oIm9iamVjdCIsIHdyYXAoaSwgb2JqKSwgaS5tZW1i
ZXJzWzBdKTsKLQotICAgIC8vIHNob3VsZCBmYWlsIChzaG91bGQgYmUgZW51bWVyYWJsZSkKLSAg
ICBvYmogPSBPYmplY3QuZGVmaW5lUHJvcGVydGllcyh7fSwgeyBmb286IHsKLSAgICAgICAgd3Jp
dGFibGU6IHRydWUsCi0gICAgICAgIGVudW1lcmFibGU6IGZhbHNlLAotICAgICAgICBjb25maWd1
cmFibGU6IHRydWUsCi0gICAgICAgIHZhbHVlOiAxMjMKLSAgICB9fSk7Ci0gICAgaSA9IGludGVy
ZmFjZUZyb20oImludGVyZmFjZSBHIHsgW0RlZmF1bHRdIG9iamVjdCB0b0pTT04oKTsgYXR0cmli
dXRlIGxvbmcgZm9vOyB9OyIpOwotICAgIGkudGVzdF90b19qc29uX29wZXJhdGlvbigib2JqZWN0
Iiwgd3JhcChpLCBvYmopLCBpLm1lbWJlcnNbMF0pOwotCi0gICAgLy8gc2hvdWxkIGZhaWwgKHNo
b3VsZCBiZSBjb25maWd1cmFibGUpCi0gICAgb2JqID0gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMo
e30sIHsgZm9vOiB7Ci0gICAgICAgIHdyaXRhYmxlOiB0cnVlLAotICAgICAgICBlbnVtZXJhYmxl
OiB0cnVlLAotICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlLAotICAgICAgICB2YWx1ZTogMTIz
Ci0gICAgfX0pOwotICAgIGkgPSBpbnRlcmZhY2VGcm9tKCJpbnRlcmZhY2UgSCB7IFtEZWZhdWx0
XSBvYmplY3QgdG9KU09OKCk7IGF0dHJpYnV0ZSBsb25nIGZvbzsgfTsiKTsKLSAgICBpLnRlc3Rf
dG9fanNvbl9vcGVyYXRpb24oIm9iamVjdCIsIHdyYXAoaSwgb2JqKSwgaS5tZW1iZXJzWzBdKTsK
LQotICAgIHZhciBpZGwgPSBuZXcgSWRsQXJyYXkoKTsKLSAgICBpZGwuYWRkX2lkbHMoImludGVy
ZmFjZSBJIDogSiB7IFtEZWZhdWx0XSBvYmplY3QgdG9KU09OKCk7IGF0dHJpYnV0ZSBsb25nIGZv
bzsgfTsiKTsKLSAgICBpZGwuYWRkX2lkbHMoImludGVyZmFjZSBKIHsgW0RlZmF1bHRdIG9iamVj
dCB0b0pTT04oKTsgYXR0cmlidXRlIERPTVN0cmluZyBmb287fTsiKTsKLSAgICB2YXIgaSA9IGlk
bC5tZW1iZXJzLkk7Ci0gICAgaS50ZXN0X3RvX2pzb25fb3BlcmF0aW9uKCJvYmplY3QiLCB3cmFw
KGksIHsgZm9vOiAxMjMgfSksIGkubWVtYmVyc1swXSk7Ci0KLSAgICBpID0gaW50ZXJmYWNlRnJv
bSgiaW50ZXJmYWNlIEsgeyBbRGVmYXVsdF0gb2JqZWN0IHRvSlNPTigpOyB9OyIpOwotICAgIGku
dGVzdF90b19qc29uX29wZXJhdGlvbigib2JqZWN0Iiwgd3JhcChpLCB7fSksIGkubWVtYmVyc1sw
XSk7Ci0KLSAgICBpID0gaW50ZXJmYWNlRnJvbSgiaW50ZXJmYWNlIEwgeyBET01TdHJpbmcgdG9K
U09OKCk7IH07Iik7Ci0gICAgaS50ZXN0X3RvX2pzb25fb3BlcmF0aW9uKCJvYmplY3QiLCB3cmFw
KGksICJhIHN0cmluZyIpLCBpLm1lbWJlcnNbMF0pOwotCi0gICAgLy8gc2hvdWxkIGZhaWwgKHdy
b25nIG91dHB1dCB0eXBlKQotICAgIGkgPSBpbnRlcmZhY2VGcm9tKCJpbnRlcmZhY2UgTSB7IERP
TVN0cmluZyB0b0pTT04oKTsgfTsiKTsKLSAgICBpLnRlc3RfdG9fanNvbl9vcGVyYXRpb24oIm9i
amVjdCIsIHdyYXAoaSwge30pLCBpLm1lbWJlcnNbMF0pOwotCi0gICAgLy8gc2hvdWxkIGZhaWwg
KG5vdCBhbiBJREwgdHlwZSkKLSAgICBpID0gaW50ZXJmYWNlRnJvbSgiaW50ZXJmYWNlIE4geyBE
T01FeGNlcHRpb24gdG9KU09OKCk7IH07Iik7Ci0gICAgaS50ZXN0X3RvX2pzb25fb3BlcmF0aW9u
KCJvYmplY3QiLCB3cmFwKGksIHt9KSwgaS5tZW1iZXJzWzBdKTsKLTwvc2NyaXB0PgotPHNjcmlw
dCB0eXBlPSJ0ZXh0L2pzb24iIGlkPSJleHBlY3RlZCI+Ci0gICAgewotICAgICAgICAic3VtbWFy
aXplZF9zdGF0dXMiOiB7Ci0gICAgICAgICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAgICAg
ICAic3RhdHVzX3N0cmluZyI6ICJPSyIKLSAgICAgICAgfSwKLSAgICAgICAgInN1bW1hcml6ZWRf
dGVzdHMiOiBbCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgIm1lc3NhZ2UiOiBudWxs
LAotICAgICAgICAgICAgICAgICJuYW1lIjogIkEgaW50ZXJmYWNlOiBkZWZhdWx0IHRvSlNPTiBv
cGVyYXRpb24gb24gb2JqZWN0IiwKLSAgICAgICAgICAgICAgICAicHJvcGVydGllcyI6IHt9LAot
ICAgICAgICAgICAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiCi0gICAgICAgICAgICB9LAot
ICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJtZXNzYWdlIjogImFzc2VydF9lcXVhbHM6
IGV4cGVjdGVkIFwibnVtYmVyXCIgYnV0IGdvdCBcInN0cmluZ1wiIiwKLSAgICAgICAgICAgICAg
ICAibmFtZSI6ICJCIGludGVyZmFjZTogZGVmYXVsdCB0b0pTT04gb3BlcmF0aW9uIG9uIG9iamVj
dCIsCi0gICAgICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICAgICAgICAgICAi
c3RhdHVzX3N0cmluZyI6ICJGQUlMIgotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAg
ICAgICAgICAgICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAi
QyBpbnRlcmZhY2U6IGRlZmF1bHQgdG9KU09OIG9wZXJhdGlvbiBvbiBvYmplY3QiLAotICAgICAg
ICAgICAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAgICAgICAgICAgInN0YXR1c19zdHJp
bmciOiAiUEFTUyIKLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAg
ICAgIm1lc3NhZ2UiOiAiYXNzZXJ0X3RydWU6IHByb3BlcnR5IFwiZm9vXCIgc2hvdWxkIGJlIHBy
ZXNlbnQgaW4gdGhlIG91dHB1dCBvZiBELnByb3RvdHlwZS50b0pTT04oKSBleHBlY3RlZCB0cnVl
IGdvdCBmYWxzZSIsCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiRCBpbnRlcmZhY2U6IGRlZmF1
bHQgdG9KU09OIG9wZXJhdGlvbiBvbiBvYmplY3QiLAotICAgICAgICAgICAgICAgICJwcm9wZXJ0
aWVzIjoge30sCi0gICAgICAgICAgICAgICAgInN0YXR1c19zdHJpbmciOiAiRkFJTCIKLSAgICAg
ICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgIm1lc3NhZ2UiOiAiYXNz
ZXJ0X3RydWU6IHByb3BlcnR5IGZvbyBzaG91bGQgYmUgd3JpdGFibGUgZXhwZWN0ZWQgdHJ1ZSBn
b3QgZmFsc2UiLAotICAgICAgICAgICAgICAgICJuYW1lIjogIkYgaW50ZXJmYWNlOiBkZWZhdWx0
IHRvSlNPTiBvcGVyYXRpb24gb24gb2JqZWN0IiwKLSAgICAgICAgICAgICAgICAicHJvcGVydGll
cyI6IHt9LAotICAgICAgICAgICAgICAgICJzdGF0dXNfc3RyaW5nIjogIkZBSUwiCi0gICAgICAg
ICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJtZXNzYWdlIjogImFzc2Vy
dF90cnVlOiBwcm9wZXJ0eSBmb28gc2hvdWxkIGJlIGVudW1lcmFibGUgZXhwZWN0ZWQgdHJ1ZSBn
b3QgZmFsc2UiLAotICAgICAgICAgICAgICAgICJuYW1lIjogIkcgaW50ZXJmYWNlOiBkZWZhdWx0
IHRvSlNPTiBvcGVyYXRpb24gb24gb2JqZWN0IiwKLSAgICAgICAgICAgICAgICAicHJvcGVydGll
cyI6IHt9LAotICAgICAgICAgICAgICAgICJzdGF0dXNfc3RyaW5nIjogIkZBSUwiCi0gICAgICAg
ICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJtZXNzYWdlIjogImFzc2Vy
dF90cnVlOiBwcm9wZXJ0eSBmb28gc2hvdWxkIGJlIGNvbmZpZ3VyYWJsZSBleHBlY3RlZCB0cnVl
IGdvdCBmYWxzZSIsCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiSCBpbnRlcmZhY2U6IGRlZmF1
bHQgdG9KU09OIG9wZXJhdGlvbiBvbiBvYmplY3QiLAotICAgICAgICAgICAgICAgICJwcm9wZXJ0
aWVzIjoge30sCi0gICAgICAgICAgICAgICAgInN0YXR1c19zdHJpbmciOiAiRkFJTCIKLSAgICAg
ICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgIm1lc3NhZ2UiOiBudWxs
LAotICAgICAgICAgICAgICAgICJuYW1lIjogIkkgaW50ZXJmYWNlOiBkZWZhdWx0IHRvSlNPTiBv
cGVyYXRpb24gb24gb2JqZWN0IiwKLSAgICAgICAgICAgICAgICAicHJvcGVydGllcyI6IHt9LAot
ICAgICAgICAgICAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiCi0gICAgICAgICAgICB9LAot
ICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICAg
ICAgICAgICAibmFtZSI6ICJLIGludGVyZmFjZTogZGVmYXVsdCB0b0pTT04gb3BlcmF0aW9uIG9u
IG9iamVjdCIsCi0gICAgICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICAgICAg
ICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIgotICAgICAgICAgICAgfSwKLSAgICAgICAgICAg
IHsKLSAgICAgICAgICAgICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAgICAgICAgICAgIm5h
bWUiOiAiTCBpbnRlcmZhY2U6IHRvSlNPTiBvcGVyYXRpb24gb24gb2JqZWN0IiwKLSAgICAgICAg
ICAgICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgICAgICAgICAgICJzdGF0dXNfc3RyaW5n
IjogIlBBU1MiCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAg
ICJtZXNzYWdlIjogImFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIFwic3RyaW5nXCIgYnV0IGdvdCBc
Im9iamVjdFwiIiwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJNIGludGVyZmFjZTogdG9KU09O
IG9wZXJhdGlvbiBvbiBvYmplY3QiLAotICAgICAgICAgICAgICAgICJwcm9wZXJ0aWVzIjoge30s
Ci0gICAgICAgICAgICAgICAgInN0YXR1c19zdHJpbmciOiAiRkFJTCIKLSAgICAgICAgICAgIH0s
Ci0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgIm1lc3NhZ2UiOiAiYXNzZXJ0X3RydWU6
IHtcInR5cGVcIjpcInJldHVybi10eXBlXCIsXCJleHRBdHRyc1wiOltdLFwiZ2VuZXJpY1wiOlwi
XCIsXCJudWxsYWJsZVwiOmZhbHNlLFwidW5pb25cIjpmYWxzZSxcImlkbFR5cGVcIjpcIkRPTUV4
Y2VwdGlvblwifSBpcyBub3QgYW4gYXBwcm9wcmlhdGUgcmV0dXJuIHZhbHVlIGZvciB0aGUgdG9K
U09OIG9wZXJhdGlvbiBvZiBOIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlIiwKLSAgICAgICAgICAg
ICAgICAibmFtZSI6ICJOIGludGVyZmFjZTogdG9KU09OIG9wZXJhdGlvbiBvbiBvYmplY3QiLAot
ICAgICAgICAgICAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAgICAgICAgICAgInN0YXR1
c19zdHJpbmciOiAiRkFJTCIKLSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgInR5
cGUiOiAiY29tcGxldGUiCi0gICAgfQotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvaWRsaGFybmVzcy9JZGxJbnRlcmZhY2UvdzNjLWlt
cG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvaWRsaGFybmVzcy9JZGxJbnRlcmZhY2UvdzNj
LWltcG9ydC5sb2cKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGFhOWNhODNmODlkLi4w
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvaWRsaGFybmVzcy9JZGxJbnRlcmZh
Y2UvdzNjLWltcG9ydC5sb2cKKysrIC9kZXYvbnVsbApAQCAtMSwyMSArMCwwIEBACi1UaGUgdGVz
dHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9y
eS4KLURvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVh
ZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0
aHViLmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0Ci0KLVRoZW4gcnVuIHRoZSBUb29scy9TY3Jp
cHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0Ci0KLURvIE5PVCBtb2Rp
Znkgb3IgcmVtb3ZlIHRoaXMgZmlsZS4KLQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1Qcm9wZXJ0aWVzIHJl
cXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6Ci1Ob25lCi1Qcm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5n
IHZlbmRvciBwcmVmaXhlczoKLU5vbmUKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotTGlzdCBvZiBmaWxlczoK
LS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90
ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvaWRsaGFybmVzcy9JZGxJbnRlcmZhY2UvdGVzdF9pbW11dGFi
bGVfcHJvdG90eXBlLmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvaWRsaGFybmVzcy9JZGxJbnRl
cmZhY2UvdGVzdF9pbnRlcmZhY2VfbWl4aW4uaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC9pZGxo
YXJuZXNzL0lkbEludGVyZmFjZS90ZXN0X3BhcnRpYWxfaW50ZXJmYWNlX29mLmh0bWwKLS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rl
c3RzL2Z1bmN0aW9uYWwvaWRsaGFybmVzcy9JZGxJbnRlcmZhY2UvdGVzdF9wcmltYXJ5X2ludGVy
ZmFjZV9vZi5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFsL2lkbGhhcm5lc3MvSWRsSW50ZXJmYWNl
L3Rlc3RfdG9fanNvbl9vcGVyYXRpb24uaHRtbApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlv
bmFsL2lkbGhhcm5lc3MvSWRsTmFtZXNwYWNlL3Rlc3RfYXR0cmlidXRlLmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3Rz
L2Z1bmN0aW9uYWwvaWRsaGFybmVzcy9JZGxOYW1lc3BhY2UvdGVzdF9hdHRyaWJ1dGUuaHRtbApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOGMxZjUxNzIxNjUuLjAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC9pZGxoYXJuZXNzL0lkbE5hbWVzcGFjZS90ZXN0X2F0dHJp
YnV0ZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNTUgKzAsMCBAQAotPCFET0NUWVBFIEhUTUw+
Ci08aHRtbD4KLTxoZWFkPgotICA8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Ci0gIDxtZXRhIG5hbWU9
InZhcmlhbnQiIGNvbnRlbnQ9IiI+Ci0gIDxtZXRhIG5hbWU9InZhcmlhbnQiIGNvbnRlbnQ9Ij9r
ZWVwLXByb21pc2UiPgotICA8dGl0bGU+aWRsaGFybmVzczogbmFtZXNwYWNlIGF0dHJpYnV0ZTwv
dGl0bGU+Ci0gIDxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi92YXJpYW50cy5qcyI+PC9zY3JpcHQ+
Ci0gIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLSAg
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgot
ICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9XZWJJRExQYXJzZXIuanMiPjwvc2NyaXB0PgotICA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9pZGxoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4K
LTxib2R5PgotPHA+VmVyaWZ5IHRoZSBzZXJpZXMgb2Ygc3ViLXRlc3RzIHRoYXQgYXJlIGV4ZWN1
dGVkIGZvciBuYW1lc3BhY2UgYXR0cmlidXRlcy48L3A+Ci08c2NyaXB0PgotInVzZSBzdHJpY3Qi
OwotCi1zZWxmLmZvbyA9IHsKLSAgdHJ1dGg6IHRydWUKLX07Ci0KLXZhciBpZGxBcnJheSA9IG5l
dyBJZGxBcnJheSgpOwotaWRsQXJyYXkuYWRkX2lkbHMoCi1gbmFtZXNwYWNlIGZvbyB7Ci0gIHJl
YWRvbmx5IGF0dHJpYnV0ZSBib29sIHRydXRoOwotICByZWFkb25seSBhdHRyaWJ1dGUgYm9vbCBs
aWVzOwotfTtgKTsKLWlkbEFycmF5LnRlc3QoKTsKLTwvc2NyaXB0PgotPHNjcmlwdCB0eXBlPSJ0
ZXh0L2pzb24iIGlkPSJleHBlY3RlZCI+Ci17Ci0gICJzdW1tYXJpemVkX3N0YXR1cyI6IHsKLSAg
ICAic3RhdHVzX3N0cmluZyI6ICJPSyIsCi0gICAgIm1lc3NhZ2UiOiBudWxsCi0gIH0sCi0gICJz
dW1tYXJpemVkX3Rlc3RzIjogWwotICAgIHsKLSAgICAgICJuYW1lIjogImZvbyBuYW1lc3BhY2U6
IGF0dHJpYnV0ZSB0cnV0aCIsCi0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAg
ICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6IG51bGwKLSAgICB9LAotICAgIHsK
LSAgICAgICJuYW1lIjogImZvbyBuYW1lc3BhY2U6IGF0dHJpYnV0ZSBsaWVzIiwKLSAgICAgICJz
dGF0dXNfc3RyaW5nIjogIkZBSUwiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJt
ZXNzYWdlIjogImFzc2VydF9vd25fcHJvcGVydHk6IGZvbyBkb2VzIG5vdCBoYXZlIHByb3BlcnR5
IFwibGllc1wiIGV4cGVjdGVkIHByb3BlcnR5IFwibGllc1wiIG1pc3NpbmciCi0gICAgfQotICBd
LAotICAidHlwZSI6ICJjb21wbGV0ZSIKLX0KLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFsL2lkbGhhcm5lc3MvSWRsTmFtZXNwYWNlL3Rl
c3Rfb3BlcmF0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvaWRsaGFybmVzcy9JZGxOYW1l
c3BhY2UvdGVzdF9vcGVyYXRpb24uaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
NjcxY2Q5ZTA5ZjUuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC9pZGxoYXJu
ZXNzL0lkbE5hbWVzcGFjZS90ZXN0X29wZXJhdGlvbi5odG1sCisrKyAvZGV2L251bGwKQEAgLTEs
OTkgKzAsMCBAQAotPCFET0NUWVBFIEhUTUw+Ci08aHRtbD4KLTxoZWFkPgotICA8bWV0YSBjaGFy
c2V0PSJ1dGYtOCI+Ci0gIDxtZXRhIG5hbWU9InZhcmlhbnQiIGNvbnRlbnQ9IiI+Ci0gIDxtZXRh
IG5hbWU9InZhcmlhbnQiIGNvbnRlbnQ9Ij9rZWVwLXByb21pc2UiPgotICA8dGl0bGU+aWRsaGFy
bmVzczogbmFtZXNwYWNlIG9wZXJhdGlvbjwvdGl0bGU+Ci0gIDxzY3JpcHQgc3JjPSIuLi8uLi8u
Li8uLi92YXJpYW50cy5qcyI+PC9zY3JpcHQ+Ci0gIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLSAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9XZWJJ
RExQYXJzZXIuanMiPjwvc2NyaXB0PgotICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9pZGxoYXJu
ZXNzLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPHA+VmVyaWZ5IHRoZSBzZXJpZXMg
b2Ygc3ViLXRlc3RzIHRoYXQgYXJlIGV4ZWN1dGVkIGZvciBuYW1lc3BhY2Ugb3BlcmF0aW9ucy48
L3A+Ci08c2NyaXB0PgotInVzZSBzdHJpY3QiOwotCi1zZWxmLmZvbyA9IHsKLSAgVHJ1dGg6IGZ1
bmN0aW9uKCkge30sCi19OwotT2JqZWN0LmRlZmluZVByb3BlcnR5KHNlbGYuZm9vLCAiVHJ1dGgi
LCB7IHdyaXRhYmxlOiB0cnVlIH0pOwotCi1zZWxmLmJhciA9IHsKLSAgVHJ1dGg6IGZ1bmN0aW9u
KCkge30sCi19Ci1PYmplY3QuZGVmaW5lUHJvcGVydHkoc2VsZi5iYXIsICJUcnV0aCIsIHsKLSAg
d3JpdGFibGU6IGZhbHNlLAotICBjb25maWd1cmFibGU6IGZhbHNlLAotfSk7Ci0KLXNlbGYuYmF6
ID0gewotICBMb25nU3Rvcnk6IGZ1bmN0aW9uKGhlcm8sIC4uLmRldGFpbHMpIHsKLSAgICByZXR1
cm4gYCR7aGVyb30gd2VudCBhbmQgJHtkZXRhaWxzLmpvaW4oJywgdGhlbicpfWAKLSAgfSwKLSAg
U2hvcnRTdG9yeTogZnVuY3Rpb24oLi4uZGV0YWlscykgewotICAgIHJldHVybiBgJHtkZXRhaWxz
LmpvaW4oJy4gJyl9YDsKLSAgfSwKLX07Ci0KLXZhciBpZGxBcnJheSA9IG5ldyBJZGxBcnJheSgp
OwotaWRsQXJyYXkuYWRkX2lkbHMoCi1gbmFtZXNwYWNlIGZvbyB7Ci0gIHZvaWQgVHJ1dGgoKTsK
LSAgdm9pZCBMaWVzKCk7Ci19OwotbmFtZXNwYWNlIGJhciB7Ci0gIFtVbmZvcmdlYWJsZV0KLSAg
dm9pZCBUcnV0aCgpOwotfTsKLW5hbWVzcGFjZSBiYXogewotICBET01TdHJpbmcgTG9uZ1N0b3J5
KGFueSBoZXJvLCBET01TdHJpbmcuLi4gZGV0YWlscyk7Ci0gIERPTVN0cmluZyBTaG9ydFN0b3J5
KERPTVN0cmluZy4uLiBkZXRhaWxzKTsKLX07YCk7Ci1pZGxBcnJheS50ZXN0KCk7Ci08L3Njcmlw
dD4KLTxzY3JpcHQgdHlwZT0idGV4dC9qc29uIiBpZD0iZXhwZWN0ZWQiPgotewotICAic3VtbWFy
aXplZF9zdGF0dXMiOiB7Ci0gICAgInN0YXR1c19zdHJpbmciOiAiT0siLAotICAgICJtZXNzYWdl
IjogbnVsbAotICB9LAotICAic3VtbWFyaXplZF90ZXN0cyI6IFsKLSAgICB7Ci0gICAgICAibmFt
ZSI6ICJiYXIgbmFtZXNwYWNlOiBvcGVyYXRpb24gVHJ1dGgoKSIsCi0gICAgICAic3RhdHVzX3N0
cmluZyI6ICJQQVNTIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6
IG51bGwKLSAgICB9LAotICAgIHsKLSAgICAgICJuYW1lIjogImJheiBuYW1lc3BhY2U6IG9wZXJh
dGlvbiBMb25nU3RvcnkoYW55LCBET01TdHJpbmcuLi4pIiwKLSAgICAgICJzdGF0dXNfc3RyaW5n
IjogIlBBU1MiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogbnVs
bAotICAgIH0sCi0gICAgewotICAgICAgIm5hbWUiOiAiYmF6IG5hbWVzcGFjZTogb3BlcmF0aW9u
IFNob3J0U3RvcnkoRE9NU3RyaW5nLi4uKSIsCi0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNT
IiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6IG51bGwKLSAgICB9
LAotICAgIHsKLSAgICAgICJuYW1lIjogImZvbyBuYW1lc3BhY2U6IG9wZXJhdGlvbiBUcnV0aCgp
IiwKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgInByb3BlcnRpZXMiOiB7
fSwKLSAgICAgICJtZXNzYWdlIjogbnVsbAotICAgIH0sCi0gICAgewotICAgICAgIm5hbWUiOiAi
Zm9vIG5hbWVzcGFjZTogb3BlcmF0aW9uIExpZXMoKSIsCi0gICAgICAic3RhdHVzX3N0cmluZyI6
ICJGQUlMIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6ICJhc3Nl
cnRfb3duX3Byb3BlcnR5OiBuYW1lc3BhY2Ugb2JqZWN0IG1pc3Npbmcgb3BlcmF0aW9uIFwiTGll
c1wiIGV4cGVjdGVkIHByb3BlcnR5IFwiTGllc1wiIG1pc3NpbmciCi0gICAgfQotICBdLAotICAi
dHlwZSI6ICJjb21wbGV0ZSIKLX0KLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFsL2lkbGhhcm5lc3MvSWRsTmFtZXNwYWNlL3Rlc3RfcGFy
dGlhbF9uYW1lc3BhY2UuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC9pZGxoYXJuZXNzL0lkbE5h
bWVzcGFjZS90ZXN0X3BhcnRpYWxfbmFtZXNwYWNlLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IGMzMjdhOGIwMDFkLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9u
YWwvaWRsaGFybmVzcy9JZGxOYW1lc3BhY2UvdGVzdF9wYXJ0aWFsX25hbWVzcGFjZS5odG1sCisr
KyAvZGV2L251bGwKQEAgLTEsMTI4ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci0K
LTxoZWFkPgotICA8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Ci0gIDxtZXRhIG5hbWU9InZhcmlhbnQi
IGNvbnRlbnQ9IiI+Ci0gIDxtZXRhIG5hbWU9InZhcmlhbnQiIGNvbnRlbnQ9Ij9rZWVwLXByb21p
c2UiPgotICA8dGl0bGU+aWRsaGFybmVzczogUGFydGlhbCBuYW1lc3BhY2U8L3RpdGxlPgotICA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0L3ZhcmlhbnRzLmpzIj48L3NjcmlwdD4KLSAgPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotICA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci0gIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL1dlYklETFBhcnNlci5qcyI+PC9zY3JpcHQ+Ci0gIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL2lkbGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotCi08Ym9k
eT4KLSAgPHA+VmVyaWZ5IHRoZSBzZXJpZXMgb2Ygc3ViLXRlc3RzIHRoYXQgYXJlIGV4ZWN1dGVk
IGZvciAicGFydGlhbCIgbmFtZXNwYWNlIG9iamVjdHMuPC9wPgotICA8c2NyaXB0PgotICAgICJ1
c2Ugc3RyaWN0IjsKLQotICAgIC8vIE5vIG9yaWdpbmFsIGV4aXN0ZW5jZQotICAgICgoKSA9PiB7
Ci0gICAgICBjb25zdCBpZGxBcnJheSA9IG5ldyBJZGxBcnJheSgpOwotICAgICAgaWRsQXJyYXku
YWRkX2lkbHMoJ3BhcnRpYWwgbmFtZXNwYWNlIEEge307Jyk7Ci0gICAgICBpZGxBcnJheS50ZXN0
KCk7Ci0gICAgfSkoKTsKLQotICAgIC8vIFZhbGlkIGV4cG9zdXJlIChOb3RlOiBXb3JrZXIgLT4g
e1NoYXJlZCxEZWRpY2F0ZWQsU2VydmljZX1Xb3JrZXIpCi0gICAgKCgpID0+IHsKLSAgICAgIGNv
bnN0IGlkbEFycmF5ID0gbmV3IElkbEFycmF5KCk7Ci0gICAgICBpZGxBcnJheS5hZGRfdW50ZXN0
ZWRfaWRscyhgCi0gICAgICAgIFtFeHBvc2VkPShXb3JrZXIpXQotICAgICAgICBuYW1lc3BhY2Ug
QiB7fTsKLQotICAgICAgICBbRXhwb3NlZD0oRGVkaWNhdGVkV29ya2VyLCBTZXJ2aWNlV29ya2Vy
LCBTaGFyZWRXb3JrZXIpXQotICAgICAgICBuYW1lc3BhY2UgQyB7fTtgKTsKLSAgICAgIGlkbEFy
cmF5LmFkZF9pZGxzKGAKLSAgICAgICAgW0V4cG9zZWQ9KERlZGljYXRlZFdvcmtlciwgU2Vydmlj
ZVdvcmtlciwgU2hhcmVkV29ya2VyKV0KLSAgICAgICAgcGFydGlhbCBuYW1lc3BhY2UgQiB7fTsK
LQotICAgICAgICBbRXhwb3NlZD0oV29ya2VyKV0KLSAgICAgICAgcGFydGlhbCBuYW1lc3BhY2Ug
QyB7fTtgKTsKLSAgICAgIGlkbEFycmF5LmNvbGxhcHNlX3BhcnRpYWxzKCk7Ci0gICAgfSkoKTsK
LQotICAgIC8vIEludmFsaWQgZXhwb3N1cmUKLSAgICAoKCkgPT4gewotICAgICAgY29uc3QgaWRs
QXJyYXkgPSBuZXcgSWRsQXJyYXkoKTsKLSAgICAgIGlkbEFycmF5LmFkZF91bnRlc3RlZF9pZGxz
KGAKLSAgICAgICAgW0V4cG9zZWQ9KFdpbmRvdywgU2VydmljZVdvcmtlcildCi0gICAgICAgIG5h
bWVzcGFjZSBEIHt9O2ApOwotICAgICAgaWRsQXJyYXkuYWRkX2lkbHMoYAotICAgICAgICBbRXhw
b3NlZD0oRGVkaWNhdGVkV29ya2VyKV0KLSAgICAgICAgcGFydGlhbCBuYW1lc3BhY2UgRCB7fTtg
KTsKLSAgICAgIGlkbEFycmF5LmNvbGxhcHNlX3BhcnRpYWxzKCk7Ci0gICAgfSkoKTsKLQotICAg
IC8vIE9yaWdpbmFsIGlzIGFuIGludGVyZmFjZSwgbm90IGEgbmFtZXNwYWNlLgotICAgICgoKSA9
PiB7Ci0gICAgICBjb25zdCBpZGxBcnJheSA9IG5ldyBJZGxBcnJheSgpOwotICAgICAgaWRsQXJy
YXkuYWRkX2lkbHMoYAotICAgICAgICBwYXJ0aWFsIG5hbWVzcGFjZSBFIHt9OwotICAgICAgICBp
bnRlcmZhY2UgRSB7fTtgKTsKLSAgICAgIGlkbEFycmF5LmNvbGxhcHNlX3BhcnRpYWxzKCk7Ci0g
ICAgfSkoKTsKLSAgPC9zY3JpcHQ+Ci0gIDxzY3JpcHQgdHlwZT0idGV4dC9qc29uIiBpZD0iZXhw
ZWN0ZWQiPgotewotICAic3VtbWFyaXplZF9zdGF0dXMiOiB7Ci0gICAgInN0YXR1c19zdHJpbmci
OiAiT0siLAotICAgICJtZXNzYWdlIjogbnVsbAotICB9LAotICAic3VtbWFyaXplZF90ZXN0cyI6
IFsKLSAgICB7Ci0gICAgICAibmFtZSI6ICJQYXJ0aWFsIG5hbWVzcGFjZSBBOiBvcmlnaW5hbCBu
YW1lc3BhY2UgZGVmaW5lZCIsCi0gICAgICAic3RhdHVzX3N0cmluZyI6ICJGQUlMIiwKLSAgICAg
ICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6ICJhc3NlcnRfdHJ1ZTogT3JpZ2lu
YWwgbmFtZXNwYWNlIHNob3VsZCBiZSBkZWZpbmVkIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlIgot
ICAgIH0sCi0gICAgewotICAgICAgIm5hbWUiOiAiUGFydGlhbCBuYW1lc3BhY2UgQjogb3JpZ2lu
YWwgbmFtZXNwYWNlIGRlZmluZWQiLAotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0g
ICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsCi0gICAgfSwKLSAg
ICB7Ci0gICAgICAibmFtZSI6ICJQYXJ0aWFsIG5hbWVzcGFjZSBCOiB2YWxpZCBleHBvc3VyZSBz
ZXQiLAotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAicHJvcGVydGllcyI6
IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsCi0gICAgfSwKLSAgICB7Ci0gICAgICAibmFtZSI6
ICJQYXJ0aWFsIG5hbWVzcGFjZSBDOiBvcmlnaW5hbCBuYW1lc3BhY2UgZGVmaW5lZCIsCi0gICAg
ICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAg
ICAibWVzc2FnZSI6IG51bGwKLSAgICB9LAotICAgIHsKLSAgICAgICJuYW1lIjogIlBhcnRpYWwg
bmFtZXNwYWNlIEM6IHZhbGlkIGV4cG9zdXJlIHNldCIsCi0gICAgICAic3RhdHVzX3N0cmluZyI6
ICJQQVNTIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6IG51bGwK
LSAgICB9LAotICAgIHsKLSAgICAgICJuYW1lIjogIlBhcnRpYWwgbmFtZXNwYWNlIEQ6IG9yaWdp
bmFsIG5hbWVzcGFjZSBkZWZpbmVkIiwKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAot
ICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogbnVsbAotICAgIH0sCi0g
ICAgewotICAgICAgIm5hbWUiOiAiUGFydGlhbCBuYW1lc3BhY2UgRDogdmFsaWQgZXhwb3N1cmUg
c2V0IiwKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIkZBSUwiLAotICAgICAgInByb3BlcnRpZXMi
OiB7fSwKLSAgICAgICJtZXNzYWdlIjogIlBhcnRpYWwgRCBuYW1lc3BhY2UgaXMgZXhwb3NlZCB0
byAnRGVkaWNhdGVkV29ya2VyJywgdGhlIG9yaWdpbmFsIG5hbWVzcGFjZSBpcyBub3QuIgotICAg
IH0sCi0gICAgewotICAgICAgIm5hbWUiOiAiUGFydGlhbCBuYW1lc3BhY2UgRTogb3JpZ2luYWwg
bmFtZXNwYWNlIGRlZmluZWQiLAotICAgICAgInN0YXR1c19zdHJpbmciOiAiRkFJTCIsCi0gICAg
ICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiAiYXNzZXJ0X3RydWU6IE9yaWdp
bmFsIEUgZGVmaW5pdGlvbiBzaG91bGQgaGF2ZSB0eXBlIG5hbWVzcGFjZSBleHBlY3RlZCB0cnVl
IGdvdCBmYWxzZSIKLSAgICB9Ci0gIF0sCi0gICJ0eXBlIjogImNvbXBsZXRlIgotfQotPC9zY3Jp
cHQ+Ci08L2JvZHk+Ci0KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC9p
ZGxoYXJuZXNzL0lkbE5hbWVzcGFjZS93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25h
bC9pZGxoYXJuZXNzL0lkbE5hbWVzcGFjZS93M2MtaW1wb3J0LmxvZwpkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggZTc2OGFmZGVhNDAuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVu
Y3Rpb25hbC9pZGxoYXJuZXNzL0lkbE5hbWVzcGFjZS93M2MtaW1wb3J0LmxvZworKysgL2Rldi9u
dWxsCkBAIC0xLDE5ICswLDAgQEAKLVRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGlt
cG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgotRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0
cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24g
dGhlIFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93
cHQKLQotVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJL
aXQgdG8gcmVpbXBvcnQKLQotRG8gTk9UIG1vZGlmeSBvciByZW1vdmUgdGhpcyBmaWxlLgotCi0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0KLVByb3BlcnRpZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKLU5v
bmUKLVByb3BlcnR5IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgotTm9uZQotLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tCi1MaXN0IG9mIGZpbGVzOgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC9pZGxoYXJu
ZXNzL0lkbE5hbWVzcGFjZS90ZXN0X2F0dHJpYnV0ZS5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFs
L2lkbGhhcm5lc3MvSWRsTmFtZXNwYWNlL3Rlc3Rfb3BlcmF0aW9uLmh0bWwKLS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1
bmN0aW9uYWwvaWRsaGFybmVzcy9JZGxOYW1lc3BhY2UvdGVzdF9wYXJ0aWFsX25hbWVzcGFjZS5o
dG1sCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvaWZyYW1lLWNhbGxiYWNrLmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90
ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvaWZyYW1lLWNhbGxiYWNrLmh0bWwKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDQwMzYyOGZhOTFmLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1
bmN0aW9uYWwvaWZyYW1lLWNhbGxiYWNrLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxMTkgKzAs
MCBAQAotPCFET0NUWVBFIEhUTUw+Ci08aHRtbD4KLTxoZWFkPgotPG1ldGEgbmFtZT0idmFyaWFu
dCIgY29udGVudD0iIj4KLTxtZXRhIG5hbWU9InZhcmlhbnQiIGNvbnRlbnQ9Ij9rZWVwLXByb21p
c2UiPgotPHRpdGxlPkV4YW1wbGUgd2l0aCBpZnJhbWUgdGhhdCBub3RpZmllcyBjb250YWluaW5n
IGRvY3VtZW50IHZpYSBjYWxsYmFja3M8L3RpdGxlPgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Zhcmlh
bnRzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0ic3RhcnRfdGVzdF9pbl9pZnJhbWUo
KSI+Ci08aDE+Q2FsbGJhY2tzIEZyb20gVGVzdHMgUnVubmluZyBJbiBBbiBJRlJBTUU8L2gxPgot
PHA+QSB0ZXN0IGlzIHJ1biBpbnNpZGUgYW4gPHR0PmlmcmFtZTwvdHQ+IHdpdGggYSBzYW1lIG9y
aWdpbiBkb2N1bWVudC4gVGhlCi1jb250YWluaW5nIGRvY3VtZW50IHNob3VsZCByZWNlaXZlIGNh
bGxiYWNrcyBhcyB0aGUgdGVzdHMgcHJvZ3Jlc3MgaW5zaWRlIHRoZQotPHR0PmlmcmFtZTwvdHQ+
LiBBIHNpbmdsZSBwYXNzaW5nIHRlc3QgaXMgZXhwZWN0ZWQgaW4gdGhlIHN1bW1hcnkgYmVsb3cu
Ci08ZGl2IGlkPSJsb2ciPjwvZGl2PgotCi08c2NyaXB0PgotdmFyIGNhbGxiYWNrcyA9IFtdOwot
dmFyIFNUQVJUID0gMQotdmFyIFRFU1RfU1RBVEUgPSAyCi12YXIgUkVTVUxUID0gMwotdmFyIENP
TVBMRVRJT04gPSA0Ci12YXIgdGVzdF9jb21wbGV0ZSA9IGZhbHNlOwotCi1zZXR1cCh7ZXhwbGlj
aXRfZG9uZTogdHJ1ZX0pOwotCi0vLyBUaGUgZm9sbG93aW5nIGNhbGxiYWNrcyBhcmUgY2FsbGVk
IGZvciB0ZXN0cyBpbiB0aGlzIGRvY3VtZW50IGFzIHdlbGwgYXMgdGhlCi0vLyB0ZXN0cyBpbiB0
aGUgSUZSQU1FLiBDdXJyZW50bHksIGNhbGxiYWNrcyBpbnZva2VkIGZyb20gdGhpcyBkb2N1bWVu
dCBhbmQgYW55Ci0vLyBjaGlsZCBkb2N1bWVudCBhcmUgaW5kaXN0aW5ndWlzaGFibGUgZnJvbSBl
YWNoIG90aGVyLgotCi1mdW5jdGlvbiBzdGFydF9jYWxsYmFjayhwcm9wZXJ0aWVzKSB7Ci0gICAg
Y2FsbGJhY2tzLnB1c2goU1RBUlQpOwotfQotCi1mdW5jdGlvbiB0ZXN0X3N0YXRlX2NhbGxiYWNr
KHRlc3QpIHsKLSAgICBjYWxsYmFja3MucHVzaChURVNUX1NUQVRFKTsKLX0KLQotZnVuY3Rpb24g
cmVzdWx0X2NhbGxiYWNrKHRlc3QpIHsKLSAgICBjYWxsYmFja3MucHVzaChSRVNVTFQpOwotfQot
Ci1mdW5jdGlvbiBjb21wbGV0aW9uX2NhbGxiYWNrKHRlc3RzLCBzdGF0dXMpIHsKLSAgICBpZiAo
dGVzdF9jb21wbGV0ZSkgewotICAgICAgICByZXR1cm47Ci0gICAgfQotICAgIHRlc3RfY29tcGxl
dGUgPSB0cnVlOwotICAgIGNhbGxiYWNrcy5wdXNoKENPTVBMRVRJT04pOwotICAgIHZlcmlmeV9y
ZWNlaXZlZF9jYWxsYmFja3MoKTsKLSAgICBkb25lKCk7Ci19Ci0KLWZ1bmN0aW9uIHZlcmlmeV9y
ZWNlaXZlZF9jYWxsYmFja3MoKSB7Ci0gICAgdmFyIGNvcHlfb2ZfY2FsbGJhY2tzID0gY2FsbGJh
Y2tzLnNsaWNlKDApOwotCi0gICAgLy8gTm90ZSB0aGF0IHlvdSBjYW4ndCBydW4gdGVzdCBhc3Nl
cnRpb25zIGRpcmVjdGx5IGluIGEgY2FsbGJhY2sgZXZlbiBpZgotICAgIC8vIHRoaXMgaXMgYSBm
aWxlIHRlc3QuIFdoZW4gdGhlIGNhbGxiYWNrIGlzIGludm9rZWQgZnJvbSBhIHNhbWUtb3JpZ2lu
IGNoaWxkCi0gICAgLy8gcGFnZSwgdGhlIGNhbGxzdGFjayByZWFjaGVzIGludG8gdGhlIGNhbGxp
bmcgY2hpbGQgZG9jdW1lbnQuIEFueQotICAgIC8vIGV4Y2VwdGlvbiB0aHJvd24gaW4gYSBjYWxs
YmFjayB3aWxsIGJlIGhhbmRsZWQgYnkgdGhlIGNoaWxkIHJhdGhlciB0aGFuCi0gICAgLy8gdGhp
cyBkb2N1bWVudC4KLSAgICB0ZXN0KAotICAgICAgICBmdW5jdGlvbigpIHsKLSAgICAgICAgICAg
IC8vIGNhbGxiYWNrcyBsaXN0IHNob3VsZCBsb29rIGxpa2U6Ci0gICAgICAgICAgICAvLyAgICAg
U1RBUlQgMSooVEVTVF9TVEFURSkgUkVTVUxUIENPTVBMRVRJT04KLSAgICAgICAgICAgIGFzc2Vy
dF9lcXVhbHMoY29weV9vZl9jYWxsYmFja3Muc2hpZnQoKSwgU1RBUlQsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICJUaGUgZmlyc3QgcmVjZWl2ZWQgY2FsbGJhY2sgc2hvdWxkIGJlICdzdGFy
dF9jYWxsYmFjaycuIik7Ci0gICAgICAgICAgICBhc3NlcnRfZXF1YWxzKGNvcHlfb2ZfY2FsbGJh
Y2tzLnNoaWZ0KCksIFRFU1RfU1RBVEUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICIndGVz
dF9zdGF0ZV9jYWxsYmFjaycgc2hvdWxkIGJlIHJlY2VpdmVkIGJlZm9yZSBhbnkgIiArCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICJyZXN1bHQgb3IgY29tcGxldGlvbiBjYWxsYmFja3MuIik7
Ci0gICAgICAgICAgICB3aGlsZShjb3B5X29mX2NhbGxiYWNrcy5sZW5ndGggPiAwKSB7Ci0gICAg
ICAgICAgICAgICAgdmFyIGNhbGxiYWNrID0gY29weV9vZl9jYWxsYmFja3Muc2hpZnQoKTsKLSAg
ICAgICAgICAgICAgICBpZiAoY2FsbGJhY2sgIT0gVEVTVF9TVEFURSkgewotICAgICAgICAgICAg
ICAgICAgICBjb3B5X29mX2NhbGxiYWNrcy51bnNoaWZ0KGNhbGxiYWNrKTsKLSAgICAgICAgICAg
ICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgfQotICAgICAg
ICAgICAgYXNzZXJ0X2VxdWFscyhjb3B5X29mX2NhbGxiYWNrcy5zaGlmdCgpLCBSRVNVTFQsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICIndGVzdF9zdGF0ZV9jYWxsYmFjaycgc2hvdWxkIGJl
IGZvbGxvd2VkIGJ5ICdyZXN1bHRfY2FsbGJhY2snLiIpOwotICAgICAgICAgICAgYXNzZXJ0X2Vx
dWFscyhjb3B5X29mX2NhbGxiYWNrcy5zaGlmdCgpLCBDT01QTEVUSU9OLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAiRmluYWwgJ3Jlc3VsdF9jYWxsYmFjaycgc2hvdWxkIGJlIGZvbGxvd2Vk
IGJ5ICdjb21wbGV0aW9uX2NhbGxiYWNrJy4iKTsKLSAgICAgICAgICAgIGFzc2VydF9lcXVhbHMo
Y29weV9vZl9jYWxsYmFja3MubGVuZ3RoLCAwLAotICAgICAgICAgICAgICAgICAgICAgICAgICAi
J2NvbXBsZXRpb25fY2FsbGJhY2snIHNob3VsZCBiZSB0aGUgbGFzdCBjYWxsYmFjay4iKTsKLSAg
ICAgICAgfSk7Ci19Ci0KLWZ1bmN0aW9uIHN0YXJ0X3Rlc3RfaW5faWZyYW1lKCkgewotICAgIC8v
IFRoaXMgZG9jdW1lbnQgaXMgZ29pbmcgdG8gY2xlYXIgYW55IHJlY2VpdmVkIGNhbGxiYWNrcyBh
bmQgbWFpbnRhaW4KLSAgICAvLyByYWRpbyBzaWxlbmNlIHVudGlsIHRoZSB0ZXN0IGluIHRoZSBp
ZnJhbWUgcnVucyB0byBjb21wbGV0aW9uLiBUaGUKLSAgICAvLyBjb21wbGV0aW9uX2NhbGxiYWNr
KCkgd2lsbCB0aGVuIGNvbXBsZXRlIHRoZSB0ZXN0aW5nIG9uIHRoaXMgZG9jdW1lbnQuCi0gICAg
Y2FsbGJhY2tzLmxlbmd0aCA9IDA7Ci0gICAgdmFyIGlmcmFtZSA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoImlmcmFtZSIpOwotICAgIC8vIHNpbmdsZS1wYWdlLXRlc3QtcGFzcy5odG1sIGhhcyBh
IHNpbmdsZSB0ZXN0LgotICAgIGlmcmFtZS5zcmMgPSAic2luZ2xlLXBhZ2UtdGVzdC1wYXNzLmh0
bWwiOwotICAgIGlmcmFtZS5zdHlsZS5zZXRQcm9wZXJ0eSgiZGlzcGxheSIsICJub25lIik7Ci0g
ICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRhcmdldCIpLmFwcGVuZENoaWxkKGlmcmFtZSk7
Ci19Ci08L3NjcmlwdD4KLQotPGRpdiBpZD0idGFyZ2V0Ij4KLTwvZGl2PgotPHNjcmlwdCB0eXBl
PSJ0ZXh0L2pzb24iIGlkPSJleHBlY3RlZCI+Ci17Ci0gICJzdW1tYXJpemVkX3N0YXR1cyI6IHsK
LSAgICAic3RhdHVzX3N0cmluZyI6ICJPSyIsCi0gICAgIm1lc3NhZ2UiOiBudWxsCi0gIH0sCi0g
ICJzdW1tYXJpemVkX3Rlc3RzIjogWwotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBB
U1MiLAotICAgICAgIm5hbWUiOiAiRXhhbXBsZSB3aXRoIGlmcmFtZSB0aGF0IG5vdGlmaWVzIGNv
bnRhaW5pbmcgZG9jdW1lbnQgdmlhIGNhbGxiYWNrcyIsCi0gICAgICAicHJvcGVydGllcyI6IHt9
LAotICAgICAgIm1lc3NhZ2UiOiBudWxsCi0gICAgfQotICBdLAotICAidHlwZSI6ICJjb21wbGV0
ZSIKLX0KLTwvc2NyaXB0PgotPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFs
L2lmcmFtZS1jb25zb2xpZGF0ZS1lcnJvcnMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC9pZnJh
bWUtY29uc29saWRhdGUtZXJyb3JzLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IGUzODJjNmU2ZmQ5Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvaWZyYW1l
LWNvbnNvbGlkYXRlLWVycm9ycy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNTMgKzAsMCBAQAot
PCFET0NUWVBFIEhUTUw+Ci08aHRtbD4KLTxoZWFkPgotPG1ldGEgbmFtZT0idmFyaWFudCIgY29u
dGVudD0iIj4KLTxtZXRhIG5hbWU9InZhcmlhbnQiIGNvbnRlbnQ9Ij9rZWVwLXByb21pc2UiPgot
PHRpdGxlPkV4YW1wbGUgd2l0aCBpZnJhbWUgdGhhdCBjb25zb2xpZGF0ZXMgZXJyb3JzIHZpYSBm
ZXRjaF90ZXN0c19mcm9tX3dpbmRvdzwvdGl0bGU+Ci08c2NyaXB0IHNyYz0iLi4vLi4vdmFyaWFu
dHMuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
Pjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgotPHNjcmlwdD4KLXZhciBwYXJlbnRfdGVzdCA9IGFzeW5jX3Rlc3QoIlRlc3Qg
ZXhlY3V0aW5nIGluIHBhcmVudCBjb250ZXh0Iik7Ci08L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5
IG9ubG9hZD0icGFyZW50X3Rlc3QuZG9uZSgpIj4KLTxoMT5GZXRjaGluZyBUZXN0cyBGcm9tIGEg
Q2hpbGQgQ29udGV4dDwvaDE+Ci08cD5UaGlzIHRlc3QgZGVtb25zdHJhdGVzIHRoZSB1c2Ugb2Yg
PHR0PmZldGNoX3Rlc3RzX2Zyb21fd2luZG93PC90dD4gdG8gcHVsbAotdGVzdHMgZnJvbSBhbiA8
dHQ+aWZyYW1lPC90dD4gaW50byB0aGUgcHJpbWFyeSBkb2N1bWVudC48L3A+Ci08cD5UaGUgdGVz
dCBzdWl0ZSBpcyBleHBlY3RlZCB0byBmYWlsIGR1ZSB0byBhbiB1bmhhbmRsZWQgZXhjZXB0aW9u
IGluIHRoZQotY2hpbGQgY29udGV4dC48L3A+Ci08ZGl2IGlkPSJsb2ciPjwvZGl2PgotCi08aWZy
YW1lIGlkPSJjaGlsZENvbnRleHQiIHNyYz0idW5jYXVnaHQtZXhjZXB0aW9uLWhhbmRsZS5odG1s
IiBzdHlsZT0iZGlzcGxheTpub25lIj48L2lmcmFtZT4KLTwhLS0gYXBpc2FtcGxlNC5odG1sIGlz
IGEgZmFpbGluZyBzdWl0ZSBkdWUgdG8gYW4gdW5oYW5kbGVkIEVycm9yLiAtLT4KLQotPHNjcmlw
dD4KLSAgdmFyIGNoaWxkQ29udGV4dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjaGlsZENv
bnRleHQiKTsKLSAgZmV0Y2hfdGVzdHNfZnJvbV93aW5kb3coY2hpbGRDb250ZXh0LmNvbnRlbnRX
aW5kb3cpOwotPC9zY3JpcHQ+Ci08c2NyaXB0IHR5cGU9InRleHQvanNvbiIgaWQ9ImV4cGVjdGVk
Ij4KLXsKLSAgInN1bW1hcml6ZWRfc3RhdHVzIjogewotICAgICJzdGF0dXNfc3RyaW5nIjogIkVS
Uk9SIiwKLSAgICAibWVzc2FnZSI6ICJFcnJvciBpbiByZW1vdGU6IEVycm9yOiBFeGFtcGxlIEVy
cm9yIgotICB9LAotICAic3VtbWFyaXplZF90ZXN0cyI6IFsKLSAgICB7Ci0gICAgICAic3RhdHVz
X3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1lIjogIlRlc3QgZXhlY3V0aW5nIGluIHBhcmVu
dCBjb250ZXh0IiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6IG51
bGwKLSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIk5PVFJVTiIsCi0gICAg
ICAibmFtZSI6ICJUaGlzIHNob3VsZCBzaG93IGEgaGFybmVzcyBzdGF0dXMgb2YgJ0Vycm9yJyBh
bmQgYSB0ZXN0IHN0YXR1cyBvZiAnTm90IFJ1biciLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwK
LSAgICAgICJtZXNzYWdlIjogbnVsbAotICAgIH0KLSAgXSwKLSAgInR5cGUiOiAiY29tcGxldGUi
Ci19Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVu
Y3Rpb25hbC9pZnJhbWUtY29uc29saWRhdGUtdGVzdHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25h
bC9pZnJhbWUtY29uc29saWRhdGUtdGVzdHMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggY2NjOWViNzY1YzQuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC9p
ZnJhbWUtY29uc29saWRhdGUtdGVzdHMuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDg5ICswLDAg
QEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLTxtZXRhIG5hbWU9InZhcmlhbnQi
IGNvbnRlbnQ9IiI+Ci08bWV0YSBuYW1lPSJ2YXJpYW50IiBjb250ZW50PSI/a2VlcC1wcm9taXNl
Ij4KLTx0aXRsZT5FeGFtcGxlIHdpdGggaWZyYW1lIHRoYXQgY29uc29saWRhdGVzIHRlc3RzIHZp
YSBmZXRjaF90ZXN0c19mcm9tX3dpbmRvdzwvdGl0bGU+Ci08c2NyaXB0IHNyYz0iLi4vLi4vdmFy
aWFudHMuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLXZhciBwYXJlbnRfdGVzdCA9IGFzeW5jX3Rlc3QoIlRl
c3QgZXhlY3V0aW5nIGluIHBhcmVudCBjb250ZXh0Iik7Ci08L3NjcmlwdD4KLTwvaGVhZD4KLTxi
b2R5IG9ubG9hZD0icGFyZW50X3Rlc3QuZG9uZSgpIj4KLTxoMT5GZXRjaGluZyBUZXN0cyBGcm9t
IGEgQ2hpbGQgQ29udGV4dDwvaDE+Ci08cD5UaGlzIHRlc3QgZGVtb25zdHJhdGVzIHRoZSB1c2Ug
b2YgPHR0PmZldGNoX3Rlc3RzX2Zyb21fd2luZG93PC90dD4gdG8gcHVsbAotdGVzdHMgZnJvbSBh
biA8dHQ+aWZyYW1lPC90dD4gaW50byB0aGUgcHJpbWFyeSBkb2N1bWVudC48L3A+Ci08cD5UaGUg
dGVzdCBzdWl0ZSB3aWxsIG5vdCBjb21wbGV0ZSB1bnRpbCB0ZXN0cyBpbiB0aGUgY2hpbGQgY29u
dGV4dCBoYXZlIGZpbmlzaGVkCi1leGVjdXRpbmc8L3A+Ci08ZGl2IGlkPSJsb2ciPjwvZGl2Pgot
Ci08aWZyYW1lIGlkPSJjaGlsZENvbnRleHQiIHNyYz0icHJvbWlzZS1hc3luYy5odG1sP2tlZXAt
cHJvbWlzZSIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+PC9pZnJhbWU+Ci08IS0tIHByb21pc2UtYXN5
bmMuaHRtbCBoYXMgYXN5bmMgdGVzdHMgd2l0aCBwcm9taXNlcyAtLT4KLQotPHNjcmlwdD4KLSAg
dmFyIGNoaWxkQ29udGV4dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjaGlsZENvbnRleHQi
KTsKLSAgZmV0Y2hfdGVzdHNfZnJvbV93aW5kb3coY2hpbGRDb250ZXh0LmNvbnRlbnRXaW5kb3cp
OwotPC9zY3JpcHQ+Ci08c2NyaXB0IHR5cGU9InRleHQvanNvbiIgaWQ9ImV4cGVjdGVkIj4KLXsK
LSAgInN1bW1hcml6ZWRfc3RhdHVzIjogewotICAgICJzdGF0dXNfc3RyaW5nIjogIk9LIiwKLSAg
ICAibWVzc2FnZSI6IG51bGwKLSAgfSwKLSAgInN1bW1hcml6ZWRfdGVzdHMiOiBbCi0gICAgewot
ICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJQcm9taXNlIHJl
amVjdGlvbiIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxs
Ci0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJu
YW1lIjogIlByb21pc2UgcmVzb2x1dGlvbiIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAg
ICAgIm1lc3NhZ2UiOiBudWxsCi0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6
ICJGQUlMIiwKLSAgICAgICJuYW1lIjogIlByb21pc2VzIGFuZCB0ZXN0IGFzc2VydGlvbiBmYWls
dXJlcyAoc2hvdWxkIGZhaWwpIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVz
c2FnZSI6ICJhc3NlcnRfdHJ1ZTogVGhpcyBmYWlsdXJlIGlzIGV4cGVjdGVkIGV4cGVjdGVkIHRy
dWUgZ290IGZhbHNlIgotICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFT
UyIsCi0gICAgICAibmFtZSI6ICJQcm9taXNlcyBhcmUgc3VwcG9ydGVkIGluIHlvdXIgYnJvd3Nl
ciIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsCi0gICAg
fSwKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1lIjog
IlByb21pc2VzIHJlc29sdXRpb24gY2hhaW5pbmciLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwK
LSAgICAgICJtZXNzYWdlIjogbnVsbAotICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJp
bmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJUZXN0IGV4ZWN1dGluZyBpbiBwYXJlbnQgY29u
dGV4dCIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsCi0g
ICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1l
IjogIlVzZSBvZiBzdGVwX2Z1bmMgd2l0aCBQcm9taXNlcyIsCi0gICAgICAicHJvcGVydGllcyI6
IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsCi0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVz
X3N0cmluZyI6ICJGQUlMIiwKLSAgICAgICJuYW1lIjogIlVzZSBvZiB1bnJlYWNoZWRfZnVuYyB3
aXRoIFByb21pc2VzIChzaG91bGQgZmFpbCkiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAg
ICAgICJtZXNzYWdlIjogImFzc2VydF91bnJlYWNoZWQ6IFRoaXMgZmFpbHVyZSBpcyBleHBlY3Rl
ZCBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUiCi0gICAgfQotICBdLAotICAidHlwZSI6ICJjb21w
bGV0ZSIKLX0KLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0
cy9mdW5jdGlvbmFsL2lmcmFtZS1tc2cuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC9pZnJhbWUt
bXNnLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGNkMmMyNmMyNzhlLi4wMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvaWZyYW1lLW1zZy5odG1sCisrKyAvZGV2
L251bGwKQEAgLTEsODcgKzAsMCBAQAotPCFET0NUWVBFIEhUTUw+Ci08aHRtbD4KLTxoZWFkPgot
PG1ldGEgbmFtZT0idmFyaWFudCIgY29udGVudD0iIj4KLTxtZXRhIG5hbWU9InZhcmlhbnQiIGNv
bnRlbnQ9Ij9rZWVwLXByb21pc2UiPgotPHRpdGxlPkV4YW1wbGUgd2l0aCBpZnJhbWUgdGhhdCBu
b3RpZmllcyBjb250YWluaW5nIGRvY3VtZW50IHZpYSBjcm9zcyBkb2N1bWVudCBtZXNzYWdpbmc8
L3RpdGxlPgotPHNjcmlwdCBzcmM9Ii4uLy4uL3ZhcmlhbnRzLmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxi
b2R5PgotPGgxPk5vdGlmaWNhdGlvbnMgRnJvbSBUZXN0cyBSdW5uaW5nIEluIEFuIElGUkFNRTwv
aDE+Ci08cD5BIHRlc3QgaXMgcnVuIGluc2lkZSBhbiA8dHQ+aWZyYW1lPC90dD4gd2l0aCBhIHNh
bWUgb3JpZ2luIGRvY3VtZW50LiBUaGUKLWNvbnRhaW5pbmcgZG9jdW1lbnQgc2hvdWxkIHJlY2Vp
dmUgbWVzc2FnZXMgdmlhIDx0dD5wb3N0TWVzc2FnZTwvdHQ+LwotPHR0Pm9ubWVzc2FnZTwvdHQ+
IGFzIHRoZSB0ZXN0cyBwcm9ncmVzcyBpbnNpZGUgdGhlIDx0dD5pZnJhbWU8L3R0Pi4gQSBzaW5n
bGUKLXBhc3NpbmcgdGVzdCBpcyBleHBlY3RlZCBpbiB0aGUgc3VtbWFyeSBiZWxvdy4KLTwvcD4K
LTxkaXYgaWQ9ImxvZyI+PC9kaXY+Ci0KLTxzY3JpcHQ+Ci12YXIgdCA9IGFzeW5jX3Rlc3QoIkNv
bnRhaW5pbmcgZG9jdW1lbnQgcmVjZWl2ZXMgbWVzc2FnZXMiKTsKLXZhciBzdGFydF9yZWNlaXZl
ZCA9IGZhbHNlOwotdmFyIHJlc3VsdF9yZWNlaXZlZCA9IGZhbHNlOwotdmFyIGNvbXBsZXRpb25f
cmVjZWl2ZWQgPSBmYWxzZTsKLQotLy8gVGhlc2UgYXJlIHRoZSBtZXNzYWdlcyB0aGF0IGFyZSBl
eHBlY3RlZCB0byBiZSBzZWVuIHdoaWxlIHJ1bm5pbmcgdGhlIHRlc3RzCi0vLyBpbiB0aGUgSUZS
QU1FLgotdmFyIGV4cGVjdGVkX21lc3NhZ2VzID0gWwotICAgIHQuc3RlcF9mdW5jKAotICAgICAg
ICBmdW5jdGlvbihtZXNzYWdlKSB7Ci0gICAgICAgICAgICBhc3NlcnRfZXF1YWxzKG1lc3NhZ2Uu
ZGF0YS50eXBlLCAic3RhcnQiKTsKLSAgICAgICAgICAgIGFzc2VydF9vd25fcHJvcGVydHkobWVz
c2FnZS5kYXRhLCAicHJvcGVydGllcyIpOwotICAgICAgICB9KSwKLQotICAgIHQuc3RlcF9mdW5j
KAotICAgICAgICBmdW5jdGlvbihtZXNzYWdlKSB7Ci0gICAgICAgICAgICBhc3NlcnRfZXF1YWxz
KG1lc3NhZ2UuZGF0YS50eXBlLCAidGVzdF9zdGF0ZSIpOwotICAgICAgICAgICAgYXNzZXJ0X2Vx
dWFscyhtZXNzYWdlLmRhdGEudGVzdC5zdGF0dXMsIG1lc3NhZ2UuZGF0YS50ZXN0Lk5PVFJVTik7
Ci0gICAgICAgIH0pLAotCi0gICAgdC5zdGVwX2Z1bmMoCi0gICAgICAgIGZ1bmN0aW9uKG1lc3Nh
Z2UpIHsKLSAgICAgICAgICAgIGFzc2VydF9lcXVhbHMobWVzc2FnZS5kYXRhLnR5cGUsICJyZXN1
bHQiKTsKLSAgICAgICAgICAgIGFzc2VydF9lcXVhbHMobWVzc2FnZS5kYXRhLnRlc3Quc3RhdHVz
LCBtZXNzYWdlLmRhdGEudGVzdC5QQVNTKTsKLSAgICAgICAgfSksCi0KLSAgICB0LnN0ZXBfZnVu
YygKLSAgICAgICAgZnVuY3Rpb24obWVzc2FnZSkgewotICAgICAgICAgICAgYXNzZXJ0X2VxdWFs
cyhtZXNzYWdlLmRhdGEudHlwZSwgImNvbXBsZXRlIik7Ci0gICAgICAgICAgICBhc3NlcnRfZXF1
YWxzKG1lc3NhZ2UuZGF0YS50ZXN0cy5sZW5ndGgsIDEpOwotICAgICAgICAgICAgYXNzZXJ0X2Vx
dWFscyhtZXNzYWdlLmRhdGEudGVzdHNbMF0uc3RhdHVzLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICBtZXNzYWdlLmRhdGEudGVzdHNbMF0uUEFTUyk7Ci0gICAgICAgICAgICBhc3NlcnRfZXF1
YWxzKG1lc3NhZ2UuZGF0YS5zdGF0dXMuc3RhdHVzLCBtZXNzYWdlLmRhdGEuc3RhdHVzLk9LKTsK
LSAgICAgICAgICAgIHQuZG9uZSgpOwotICAgICAgICB9KSwKLQotICAgIHQudW5yZWFjaGVkX2Z1
bmMoIlRvbyBtYW55IG1lc3NhZ2VzIHJlY2VpdmVkIikKLV07Ci0KLW9uX2V2ZW50KHdpbmRvdywK
LSAgICAgICAgICJtZXNzYWdlIiwKLSAgICAgICAgIGZ1bmN0aW9uKG1lc3NhZ2UpIHsKLSAgICAg
ICAgICAgICB2YXIgaGFuZGxlciA9IGV4cGVjdGVkX21lc3NhZ2VzLnNoaWZ0KCk7Ci0gICAgICAg
ICAgICAgaGFuZGxlcihtZXNzYWdlKTsKLSAgICAgICAgIH0pOwotPC9zY3JpcHQ+Ci08aWZyYW1l
IHNyYz0ic2luZ2xlLXBhZ2UtdGVzdC1wYXNzLmh0bWwiIHN0eWxlPSJkaXNwbGF5Om5vbmUiPgot
ICA8IS0tIHNpbmdsZS1wYWdlLXRlc3QtcGFzcy5odG1sIGltcGxlbWVudHMgYSBmaWxlX2lzX3Rl
c3QgdGVzdC4gLS0+Ci08L2lmcmFtZT4KLTxzY3JpcHQgdHlwZT0idGV4dC9qc29uIiBpZD0iZXhw
ZWN0ZWQiPgotewotICAic3VtbWFyaXplZF9zdGF0dXMiOiB7Ci0gICAgInN0YXR1c19zdHJpbmci
OiAiT0siLAotICAgICJtZXNzYWdlIjogbnVsbAotICB9LAotICAic3VtbWFyaXplZF90ZXN0cyI6
IFsKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1lIjog
IkNvbnRhaW5pbmcgZG9jdW1lbnQgcmVjZWl2ZXMgbWVzc2FnZXMiLAotICAgICAgInByb3BlcnRp
ZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogbnVsbAotICAgIH0KLSAgXSwKLSAgInR5cGUiOiAi
Y29tcGxldGUiCi19Ci08L3NjcmlwdD4KLTwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVu
Y3Rpb25hbC9sb2ctaW5zZXJ0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvbG9nLWluc2Vy
dGlvbi5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhZWUzYzAwMmM5NC4uMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFsL2xvZy1pbnNlcnRpb24uaHRtbAorKysg
L2Rldi9udWxsCkBAIC0xLDQ5ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPHRpdGxlPkxvZyBp
bnNlcnRpb248L3RpdGxlPgotPG1ldGEgbmFtZT0idmFyaWFudCIgY29udGVudD0iIj4KLTxtZXRh
IG5hbWU9InZhcmlhbnQiIGNvbnRlbnQ9Ij9rZWVwLXByb21pc2UiPgotPHNjcmlwdCBzcmM9Ii4u
Ly4uL3ZhcmlhbnRzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci10ZXN0KGZ1bmN0aW9uKHQpIHsKLSAgYXNz
ZXJ0X2VxdWFscyhkb2N1bWVudC5ib2R5LCBudWxsKTsKLX0sICJMb2cgaW5zZXJ0aW9uIGJlZm9y
ZSBsb2FkIik7Ci10ZXN0KGZ1bmN0aW9uKHQpIHsKLSAgYXNzZXJ0X2VxdWFscyhkb2N1bWVudC5i
b2R5LCBudWxsKTsKLX0sICJMb2cgaW5zZXJ0aW9uIGJlZm9yZSBsb2FkIChhZ2FpbikiKTsKLWFz
eW5jX3Rlc3QoZnVuY3Rpb24odCkgewotICB3aW5kb3cub25sb2FkID0gdC5zdGVwX2Z1bmNfZG9u
ZShmdW5jdGlvbigpIHsKLSAgICB2YXIgYm9keSA9IGRvY3VtZW50LmJvZHk7Ci0gICAgYXNzZXJ0
X25vdF9lcXVhbHMoYm9keSwgbnVsbCk7Ci0KLSAgICB2YXIgbG9nID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImxvZyIpOwotICAgIGFzc2VydF9lcXVhbHMobG9nLnBhcmVudE5vZGUsIGJvZHkp
OwotICB9KTsKLX0sICJMb2cgaW5zZXJ0aW9uIGFmdGVyIGxvYWQiKTsKLTwvc2NyaXB0PgotPHNj
cmlwdCB0eXBlPSJ0ZXh0L2pzb24iIGlkPSJleHBlY3RlZCI+Ci17Ci0gICJzdW1tYXJpemVkX3N0
YXR1cyI6IHsKLSAgICAic3RhdHVzX3N0cmluZyI6ICJPSyIsCi0gICAgIm1lc3NhZ2UiOiBudWxs
Ci0gIH0sCi0gICJzdW1tYXJpemVkX3Rlc3RzIjogW3sKLSAgICAic3RhdHVzX3N0cmluZyI6ICJQ
QVNTIiwKLSAgICAibmFtZSI6ICJMb2cgaW5zZXJ0aW9uIGJlZm9yZSBsb2FkIiwKLSAgICAibWVz
c2FnZSI6IG51bGwsCi0gICAgInByb3BlcnRpZXMiOiB7fQotICB9LCB7Ci0gICAgInN0YXR1c19z
dHJpbmciOiAiUEFTUyIsCi0gICAgIm5hbWUiOiAiTG9nIGluc2VydGlvbiBiZWZvcmUgbG9hZCAo
YWdhaW4pIiwKLSAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgInByb3BlcnRpZXMiOiB7fQotICB9
LCB7Ci0gICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgIm5hbWUiOiAiTG9nIGluc2Vy
dGlvbiBhZnRlciBsb2FkIiwKLSAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgInByb3BlcnRpZXMi
OiB7fQotICB9XSwKLSAgInR5cGUiOiAiY29tcGxldGUiCi19Ci08L3NjcmlwdD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC9vcmRlci5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFsL29y
ZGVyLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGVjOTk3OGQ4OTgwLi4wMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvb3JkZXIuaHRtbAorKysgL2Rldi9udWxs
CkBAIC0xLDM5ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLTxtZXRh
IG5hbWU9InZhcmlhbnQiIGNvbnRlbnQ9IiI+Ci08bWV0YSBuYW1lPSJ2YXJpYW50IiBjb250ZW50
PSI/a2VlcC1wcm9taXNlIj4KLTx0aXRsZT5PcmRlcmluZzwvdGl0bGU+Ci08c2NyaXB0IHNyYz0i
Li4vLi4vdmFyaWFudHMuanMiPjwvc2NyaXB0PgotPG1ldGEgbmFtZT0idGltZW91dCIgY29udGVu
dD0iNjAwMCI+Ci08L2hlYWQ+Ci08Ym9keT4KLTxkaXYgaWQ9ImxvZyI+PC9kaXY+Ci08c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotdGVz
dChmdW5jdGlvbigpIHt9LCAnc2Vjb25kJyk7Ci10ZXN0KGZ1bmN0aW9uKCkge30sICdmaXJzdCcp
OwotPC9zY3JpcHQ+Ci08c2NyaXB0IHR5cGU9InRleHQvanNvbiIgaWQ9ImV4cGVjdGVkIj4KLXsK
LSAgInN1bW1hcml6ZWRfc3RhdHVzIjogewotICAgICJzdGF0dXNfc3RyaW5nIjogIk9LIiwKLSAg
ICAibWVzc2FnZSI6IG51bGwKLSAgfSwKLSAgInN1bW1hcml6ZWRfdGVzdHMiOiBbewotICAgICJz
dGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICJuYW1lIjogImZpcnN0IiwKLSAgICAibWVzc2Fn
ZSI6IG51bGwsCi0gICAgInByb3BlcnRpZXMiOiB7fQotICB9LCB7Ci0gICAgInN0YXR1c19zdHJp
bmciOiAiUEFTUyIsCi0gICAgIm5hbWUiOiAic2Vjb25kIiwKLSAgICAibWVzc2FnZSI6IG51bGws
Ci0gICAgInByb3BlcnRpZXMiOiB7fQotICB9XSwKLSAgInR5cGUiOiAiY29tcGxldGUiCi19Ci08
L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25h
bC9wcm9taXNlLWFzeW5jLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvcHJvbWlzZS1hc3luYy5o
dG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkNGM2Mjc5NGM0Zi4uMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFsL3Byb21pc2UtYXN5bmMuaHRtbAorKysgL2Rldi9u
dWxsCkBAIC0xLDE3NCArMCwwIEBACi08IURPQ1RZUEUgSFRNTD4KLTxodG1sPgotPGhlYWQ+Ci08
bWV0YSBuYW1lPSJ2YXJpYW50IiBjb250ZW50PSI/a2VlcC1wcm9taXNlIj4KLTx0aXRsZT5Bc3lu
YyBUZXN0cyBhbmQgUHJvbWlzZXM8L3RpdGxlPgotPHNjcmlwdCBzcmM9Ii4uLy4uL3ZhcmlhbnRz
LmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGgxPkFzeW5jIFRlc3RzIGFuZCBQcm9t
aXNlczwvaDE+Ci08cD5UaGlzIHRlc3QgYXNzdW1lcyBFQ01BU2NyaXB0IDYgUHJvbWlzZSBzdXBw
b3J0LiBTb21lIGZhaWx1cmVzIGFyZSBleHBlY3RlZC48L3A+Ci08ZGl2IGlkPSJsb2ciPjwvZGl2
PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNj
cmlwdD4KLQotdGVzdChmdW5jdGlvbigpIHsKLSAgdmFyIHAgPSBuZXcgUHJvbWlzZShmdW5jdGlv
bihyZXNvbHZlLCByZWplY3QpIHt9KTsKLSAgYXNzZXJ0X3RydWUoJ3RoZW4nIGluIHApOwotICBh
c3NlcnRfZXF1YWxzKHR5cGVvZiBQcm9taXNlLnJlc29sdmUsICdmdW5jdGlvbicpOwotICBhc3Nl
cnRfZXF1YWxzKHR5cGVvZiBQcm9taXNlLnJlamVjdCwgJ2Z1bmN0aW9uJyk7Ci19LCAiUHJvbWlz
ZXMgYXJlIHN1cHBvcnRlZCBpbiB5b3VyIGJyb3dzZXIiKTsKLQotKGZ1bmN0aW9uKCkgewotICB2
YXIgdCA9IGFzeW5jX3Rlc3QoIlByb21pc2UgcmVzb2x1dGlvbiIpOwotICB0LnN0ZXAoZnVuY3Rp
b24oKSB7Ci0gICAgUHJvbWlzZS5yZXNvbHZlKCd4JykudGhlbigKLSAgICAgIHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHZhbHVlKSB7Ci0gICAgICAgIGFzc2VydF9lcXVhbHModmFsdWUsICd4Jyk7Ci0g
ICAgICAgIHQuZG9uZSgpOwotICAgICAgfSksCi0gICAgICB0LnVucmVhY2hlZF9mdW5jKCdQcm9t
aXNlIHNob3VsZCBub3QgcmVqZWN0JykKLSAgICApOwotICB9KTsKLX0oKSk7Ci0KLShmdW5jdGlv
bigpIHsKLSAgdmFyIHQgPSBhc3luY190ZXN0KCJQcm9taXNlIHJlamVjdGlvbiIpOwotICB0LnN0
ZXAoZnVuY3Rpb24oKSB7Ci0gICAgUHJvbWlzZS5yZWplY3QoRXJyb3IoJ2ZhaWwnKSkudGhlbigK
LSAgICAgIHQudW5yZWFjaGVkX2Z1bmMoJ1Byb21pc2Ugc2hvdWxkIHJlamVjdCcpLAotICAgICAg
dC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Ci0gICAgICAgIGFzc2VydF90cnVlKHJlYXNv
biBpbnN0YW5jZW9mIEVycm9yKTsKLSAgICAgICAgYXNzZXJ0X2VxdWFscyhyZWFzb24ubWVzc2Fn
ZSwgJ2ZhaWwnKTsKLSAgICAgICAgdC5kb25lKCk7Ci0gICAgICB9KQotICAgICk7Ci0gIH0pOwot
fSgpKTsKLQotKGZ1bmN0aW9uKCkgewotICB2YXIgdCA9IGFzeW5jX3Rlc3QoIlByb21pc2VzIHJl
c29sdXRpb24gY2hhaW5pbmciKTsKLSAgdC5zdGVwKGZ1bmN0aW9uKCkgewotICAgIHZhciByZXNv
bHV0aW9ucyA9IFtdOwotICAgIFByb21pc2UucmVzb2x2ZSgnYScpLnRoZW4oCi0gICAgICB0LnN0
ZXBfZnVuYyhmdW5jdGlvbih2YWx1ZSkgewotICAgICAgICByZXNvbHV0aW9ucy5wdXNoKHZhbHVl
KTsKLSAgICAgICAgcmV0dXJuICdiJzsKLSAgICAgIH0pCi0gICAgKS50aGVuKAotICAgICAgdC5z
dGVwX2Z1bmMoZnVuY3Rpb24odmFsdWUpIHsKLSAgICAgICAgcmVzb2x1dGlvbnMucHVzaCh2YWx1
ZSk7Ci0gICAgICAgIHJldHVybiAnYyc7Ci0gICAgICB9KQotICAgICkudGhlbigKLSAgICAgIHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHZhbHVlKSB7Ci0gICAgICAgIHJlc29sdXRpb25zLnB1c2godmFs
dWUpOwotCi0gICAgICAgIGFzc2VydF9hcnJheV9lcXVhbHMocmVzb2x1dGlvbnMsIFsnYScsICdi
JywgJ2MnXSk7Ci0gICAgICAgIHQuZG9uZSgpOwotICAgICAgfSkKLSAgICApLmNhdGNoKAotICAg
ICAgdC51bnJlYWNoZWRfZnVuYygncHJvbWlzZSBzaG91bGQgbm90IGhhdmUgcmVqZWN0ZWQnKQot
ICAgICk7Ci0gIH0pOwotfSgpKTsKLQotKGZ1bmN0aW9uKCkgewotICB2YXIgdCA9IGFzeW5jX3Rl
c3QoIlVzZSBvZiBzdGVwX2Z1bmMgd2l0aCBQcm9taXNlcyIpOwotICB0LnN0ZXAoZnVuY3Rpb24o
KSB7Ci0gICAgdmFyIHJlc29sdXRpb25zID0gW107Ci0gICAgUHJvbWlzZS5yZXNvbHZlKCd4Jyku
dGhlbigKLSAgICAgIHQuc3RlcF9mdW5jX2RvbmUoKSwKLSAgICAgIHQudW5yZWFjaGVkX2Z1bmMo
J1Byb21pc2Ugc2hvdWxkIG5vdCBoYXZlIHJlamVjdGVkJykKLSAgICApOwotICB9KTsKLX0oKSk7
Ci0KLShmdW5jdGlvbigpIHsKLSAgdmFyIHQgPSBhc3luY190ZXN0KCJQcm9taXNlcyBhbmQgdGVz
dCBhc3NlcnRpb24gZmFpbHVyZXMgKHNob3VsZCBmYWlsKSIpOwotICB0LnN0ZXAoZnVuY3Rpb24o
KSB7Ci0gICAgdmFyIHJlc29sdXRpb25zID0gW107Ci0gICAgUHJvbWlzZS5yZXNvbHZlKCd4Jyku
dGhlbigKLSAgICAgIHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHZhbHVlKSB7Ci0gICAgICAgIGFzc2Vy
dF90cnVlKGZhbHNlLCAnVGhpcyBmYWlsdXJlIGlzIGV4cGVjdGVkJyk7Ci0gICAgICB9KQotICAg
ICkudGhlbigKLSAgICAgIHQudW5yZWFjaGVkX2Z1bmMoJ1Byb21pc2Ugc2hvdWxkIG5vdCBoYXZl
IHJlc29sdmVkJykKLSAgICApLmNhdGNoKAotICAgICAgdC51bnJlYWNoZWRfZnVuYygnUHJvbWlz
ZSBzaG91bGQgbm90IGhhdmUgcmVqZWN0ZWQnKQotICAgICk7Ci0gIH0pOwotfSgpKTsKLQotKGZ1
bmN0aW9uKCkgewotICB2YXIgdCA9IGFzeW5jX3Rlc3QoIlVzZSBvZiB1bnJlYWNoZWRfZnVuYyB3
aXRoIFByb21pc2VzIChzaG91bGQgZmFpbCkiKTsKLSAgdC5zdGVwKGZ1bmN0aW9uKCkgewotICAg
IHZhciByZXNvbHV0aW9ucyA9IFtdOwotICAgIHZhciByOwotICAgIHZhciBwID0gbmV3IFByb21p
c2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7Ci0gICAgICAvLyBSZWplY3QgaW5zdGVhZCBv
ZiByZXNvbHZlLCB0byBkZW1vbnN0cmF0ZSBmYWlsdXJlLgotICAgICAgcmVqZWN0KDEyMyk7Ci0g
ICAgfSk7Ci0gICAgcC50aGVuKAotICAgICAgZnVuY3Rpb24odmFsdWUpIHsKLSAgICAgICAgYXNz
ZXJ0X2VxdWFscyh2YWx1ZSwgMTIzLCAnVGhpcyBzaG91bGQgbm90IGFjdHVhbGx5IGhhcHBlbicp
OwotICAgICAgfSwKLSAgICAgIHQudW5yZWFjaGVkX2Z1bmMoJ1RoaXMgZmFpbHVyZSBpcyBleHBl
Y3RlZCcpCi0gICAgKTsKLSAgfSk7Ci19KCkpOwotPC9zY3JpcHQ+Ci08c2NyaXB0IHR5cGU9InRl
eHQvanNvbiIgaWQ9ImV4cGVjdGVkIj4KLXsKLSAgInN1bW1hcml6ZWRfc3RhdHVzIjogewotICAg
ICJzdGF0dXNfc3RyaW5nIjogIk9LIiwKLSAgICAibWVzc2FnZSI6IG51bGwKLSAgfSwKLSAgInN1
bW1hcml6ZWRfdGVzdHMiOiBbCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIs
Ci0gICAgICAibmFtZSI6ICJQcm9taXNlIHJlamVjdGlvbiIsCi0gICAgICAicHJvcGVydGllcyI6
IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsCi0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVz
X3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1lIjogIlByb21pc2UgcmVzb2x1dGlvbiIsCi0g
ICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsCi0gICAgfSwKLSAg
ICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJGQUlMIiwKLSAgICAgICJuYW1lIjogIlByb21p
c2VzIGFuZCB0ZXN0IGFzc2VydGlvbiBmYWlsdXJlcyAoc2hvdWxkIGZhaWwpIiwKLSAgICAgICJw
cm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6ICJhc3NlcnRfdHJ1ZTogVGhpcyBmYWls
dXJlIGlzIGV4cGVjdGVkIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlIgotICAgIH0sCi0gICAgewot
ICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJQcm9taXNlcyBh
cmUgc3VwcG9ydGVkIGluIHlvdXIgYnJvd3NlciIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAot
ICAgICAgIm1lc3NhZ2UiOiBudWxsCi0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmlu
ZyI6ICJQQVNTIiwKLSAgICAgICJuYW1lIjogIlByb21pc2VzIHJlc29sdXRpb24gY2hhaW5pbmci
LAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogbnVsbAotICAgIH0s
Ci0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJV
c2Ugb2Ygc3RlcF9mdW5jIHdpdGggUHJvbWlzZXMiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwK
LSAgICAgICJtZXNzYWdlIjogbnVsbAotICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJp
bmciOiAiRkFJTCIsCi0gICAgICAibmFtZSI6ICJVc2Ugb2YgdW5yZWFjaGVkX2Z1bmMgd2l0aCBQ
cm9taXNlcyAoc2hvdWxkIGZhaWwpIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAi
bWVzc2FnZSI6ICJhc3NlcnRfdW5yZWFjaGVkOiBUaGlzIGZhaWx1cmUgaXMgZXhwZWN0ZWQgUmVh
Y2hlZCB1bnJlYWNoYWJsZSBjb2RlIgotICAgIH0KLSAgXSwKLSAgInR5cGUiOiAiY29tcGxldGUi
Ci19Ci08L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC9wcm9taXNlLXdp
dGgtc3luYy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFsL3Byb21pc2Utd2l0aC1zeW5jLmh0bWwK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDIzNGY1NDc2ZTljLi4wMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvcHJvbWlzZS13aXRoLXN5bmMuaHRtbAorKysgL2Rldi9u
dWxsCkBAIC0xLDgxICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLTxt
ZXRhIG5hbWU9InZhcmlhbnQiIGNvbnRlbnQ9Ij9rZWVwLXByb21pc2UiPgotPHRpdGxlPlByb21p
c2UgVGVzdHMgYW5kIFN5bmNocm9ub3VzIFRlc3RzPC90aXRsZT4KLTxzY3JpcHQgc3JjPSIuLi8u
Li92YXJpYW50cy5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxoMT5Qcm9taXNlIFRl
c3RzPC9oMT4KLTxwPlRoaXMgdGVzdCBkZW1vbnN0cmF0ZXMgdGhlIHVzZSBvZiA8dHQ+cHJvbWlz
ZV90ZXN0PC90dD4gYWxvbmdzaWRlIHN5bmNocm9ub3VzIHRlc3RzLjwvcD4KLTxkaXYgaWQ9Imxv
ZyI+PC9kaXY+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4vdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQ+Ci0idXNlIHN0cmljdCI7Ci12YXIgc2VxdWVuY2UgPSBbXTsKLQotdGVzdChmdW5j
dGlvbih0KSB7Ci0gIGFzc2VydF9hcnJheV9lcXVhbHMoc2VxdWVuY2UsIFtdKTsKLSAgc2VxdWVu
Y2UucHVzaCgxKTsKLX0sICJmaXJzdCBzeW5jaHJvbm91cyB0ZXN0Iik7Ci0KLXByb21pc2VfdGVz
dChmdW5jdGlvbigpIHsKLSAgYXNzZXJ0X2FycmF5X2VxdWFscyhzZXF1ZW5jZSwgWzEsIDJdKTsK
LQotICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCkKLSAgICAudGhlbihmdW5jdGlvbigpIHsKLSAg
ICAgICAgYXNzZXJ0X2FycmF5X2VxdWFscyhzZXF1ZW5jZSwgWzEsIDJdKTsKLSAgICAgICAgc2Vx
dWVuY2UucHVzaCgzKTsKLSAgICAgIH0pOwotfSwgImZpcnN0IHByb21pc2VfdGVzdCIpOzsKLQot
dGVzdChmdW5jdGlvbih0KSB7Ci0gIGFzc2VydF9hcnJheV9lcXVhbHMoc2VxdWVuY2UsIFsxXSk7
Ci0gIHNlcXVlbmNlLnB1c2goMik7Ci19LCAic2Vjb25kIHN5bmNocm9ub3VzIHRlc3QiKTsKLQot
cHJvbWlzZV90ZXN0KGZ1bmN0aW9uKCkgewotICBhc3NlcnRfYXJyYXlfZXF1YWxzKHNlcXVlbmNl
LCBbMSwgMiwgM10pOwotCi0gIHJldHVybiBQcm9taXNlLnJlc29sdmUoKQotICAgIC50aGVuKGZ1
bmN0aW9uKCkgewotICAgICAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKHNlcXVlbmNlLCBbMSwgMiwg
M10pOwotICAgICAgfSk7Ci19LCAic2Vjb25kIHByb21pc2VfdGVzdCIpOzsKLTwvc2NyaXB0Pgot
PHNjcmlwdCB0eXBlPSJ0ZXh0L2pzb24iIGlkPSJleHBlY3RlZCI+Ci17Ci0gICJzdW1tYXJpemVk
X3N0YXR1cyI6IHsKLSAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgInN0YXR1c19zdHJpbmciOiAi
T0siCi0gIH0sCi0gICJzdW1tYXJpemVkX3Rlc3RzIjogWwotICAgIHsKLSAgICAgICJtZXNzYWdl
IjogbnVsbCwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibmFtZSI6ICJmaXJzdCBw
cm9taXNlX3Rlc3QiLAotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIKLSAgICB9LAotICAg
IHsKLSAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAg
ICAibmFtZSI6ICJmaXJzdCBzeW5jaHJvbm91cyB0ZXN0IiwKLSAgICAgICJzdGF0dXNfc3RyaW5n
IjogIlBBU1MiCi0gICAgfSwKLSAgICB7Ci0gICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAi
cHJvcGVydGllcyI6IHt9LAotICAgICAgIm5hbWUiOiAic2Vjb25kIHByb21pc2VfdGVzdCIsCi0g
ICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIgotICAgIH0sCi0gICAgewotICAgICAgIm1lc3Nh
Z2UiOiBudWxsLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJuYW1lIjogInNlY29u
ZCBzeW5jaHJvbm91cyB0ZXN0IiwKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiCi0gICAg
fQotICBdLAotICAidHlwZSI6ICJjb21wbGV0ZSIKLX0KLTwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVz
dC90ZXN0cy9mdW5jdGlvbmFsL3Byb21pc2UuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC9wcm9t
aXNlLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDlkYjFkZWMwZjllLi4wMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvcHJvbWlzZS5odG1sCisrKyAvZGV2L251
bGwKQEAgLTEsMjIxICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLTxt
ZXRhIG5hbWU9InZhcmlhbnQiIGNvbnRlbnQ9Ij9rZWVwLXByb21pc2UiPgotPHRpdGxlPlByb21p
c2UgVGVzdHM8L3RpdGxlPgotPHNjcmlwdCBzcmM9Ii4uLy4uL3ZhcmlhbnRzLmpzIj48L3Njcmlw
dD4KLTwvaGVhZD4KLTxib2R5PgotPGgxPlByb21pc2UgVGVzdHM8L2gxPgotPHA+VGhpcyB0ZXN0
IGRlbW9uc3RyYXRlcyB0aGUgdXNlIG9mIDx0dD5wcm9taXNlX3Rlc3Q8L3R0Pi4gQXNzdW1lcyBF
Q01BU2NyaXB0IDYKLVByb21pc2Ugc3VwcG9ydC4gU29tZSBmYWlsdXJlcyBhcmUgZXhwZWN0ZWQu
PC9wPgotPGRpdiBpZD0ibG9nIj48L2Rpdj4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci10ZXN0KAotICAgIGZ1bmN0aW9uKCkgewot
ICAgICAgICB2YXIgcCA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCl7fSk7
Ci0gICAgICAgIGFzc2VydF90cnVlKCJ0aGVuIiBpbiBwKTsKLSAgICAgICAgYXNzZXJ0X2VxdWFs
cyh0eXBlb2YgUHJvbWlzZS5yZXNvbHZlLCAiZnVuY3Rpb24iKTsKLSAgICAgICAgYXNzZXJ0X2Vx
dWFscyh0eXBlb2YgUHJvbWlzZS5yZWplY3QsICJmdW5jdGlvbiIpOwotICAgIH0sCi0gICAgIlBy
b21pc2VzIGFyZSBzdXBwb3J0ZWQgaW4geW91ciBicm93c2VyIik7Ci0KLXByb21pc2VfdGVzdCgK
LSAgICBmdW5jdGlvbigpIHsKLSAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgieCIpCi0g
ICAgICAgICAgICAudGhlbigKLSAgICAgICAgICAgICAgICBmdW5jdGlvbih2YWx1ZSkgewotICAg
ICAgICAgICAgICAgICAgICBhc3NlcnRfZXF1YWxzKHZhbHVlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICJ4IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAi
RnVsZmlsbGVkIHByb21pc2Ugc2hvdWxkIHBhc3MgcmVzdWx0IHRvICIgKwotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJmdWxmaWxsIHJlYWN0aW9uLiIpOwotICAgICAgICAgICAg
ICAgIH0pOwotICAgIH0sCi0gICAgIlByb21pc2UgZnVsZmlsbG1lbnQgd2l0aCByZXN1bHQiKTsK
LQotcHJvbWlzZV90ZXN0KAotICAgIGZ1bmN0aW9uKHQpIHsKLSAgICAgICAgcmV0dXJuIFByb21p
c2UucmVqZWN0KG5ldyBFcnJvcigiZmFpbCIpKQotICAgICAgICAgICAgLnRoZW4odC51bnJlYWNo
ZWRfZnVuYygiUHJvbWlzZSBzaG91bGQgcmVqZWN0IiksCi0gICAgICAgICAgICAgICAgZnVuY3Rp
b24ocmVhc29uKSB7Ci0gICAgICAgICAgICAgICAgICAgIGFzc2VydF90cnVlKAotICAgICAgICAg
ICAgICAgICAgICAgICAgcmVhc29uIGluc3RhbmNlb2YgRXJyb3IsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAiUmVqZWN0ZWQgcHJvbWlzZSBzaG91bGQgcGFzcyByZWFzb24gdG8gZnVsZmlsbCBy
ZWFjdGlvbi4iKTsKLSAgICAgICAgICAgICAgICAgICAgYXNzZXJ0X2VxdWFscygKLSAgICAgICAg
ICAgICAgICAgICAgICAgIHJlYXNvbi5tZXNzYWdlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ImZhaWwiLAotICAgICAgICAgICAgICAgICAgICAgICAgIlJlamVjdGVkIHByb21pc2Ugc2hvdWxk
IHBhc3MgcmVhc29uIHRvIHJlamVjdCByZWFjdGlvbi4iKTsKLSAgICAgICAgICAgICAgICB9KTsK
LSAgICB9LAotICAgICJQcm9taXNlIHJlamVjdGlvbiB3aXRoIHJlc3VsdCIpOwotCi1wcm9taXNl
X3Rlc3QoCi0gICAgZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciByZXNvbHV0aW9ucyA9IFtdOwot
ICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCJhIikKLSAgICAgICAgICAgIC50aGVuKAot
ICAgICAgICAgICAgICAgIGZ1bmN0aW9uKHZhbHVlKSB7Ci0gICAgICAgICAgICAgICAgICAgIHJl
c29sdXRpb25zLnB1c2godmFsdWUpOwotICAgICAgICAgICAgICAgICAgICByZXR1cm4gImIiOwot
ICAgICAgICAgICAgICAgIH0pCi0gICAgICAgICAgICAudGhlbigKLSAgICAgICAgICAgICAgICBm
dW5jdGlvbih2YWx1ZSkgewotICAgICAgICAgICAgICAgICAgICByZXNvbHV0aW9ucy5wdXNoKHZh
bHVlKTsKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuICJjIjsKLSAgICAgICAgICAgICAgICB9
KQotICAgICAgICAgICAgLnRoZW4oCi0gICAgICAgICAgICAgICAgZnVuY3Rpb24odmFsdWUpIHsK
LSAgICAgICAgICAgICAgICAgICAgcmVzb2x1dGlvbnMucHVzaCh2YWx1ZSk7Ci0gICAgICAgICAg
ICAgICAgICAgIGFzc2VydF9hcnJheV9lcXVhbHMocmVzb2x1dGlvbnMsIFsiYSIsICJiIiwgImMi
XSk7Ci0gICAgICAgICAgICAgICAgfSk7Ci0gICAgfSwKLSAgICAiQ2hhaW4gb2YgcHJvbWlzZSBy
ZXNvbHV0aW9ucyIpOwotCi1wcm9taXNlX3Rlc3QoCi0gICAgZnVuY3Rpb24odCkgewotICAgICAg
ICB2YXIgcmVzb2x1dGlvbnMgPSBbXTsKLSAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgi
eCIpCi0gICAgICAgICAgICAudGhlbigKLSAgICAgICAgICAgICAgICBmdW5jdGlvbih2YWx1ZSkg
ewotICAgICAgICAgICAgICAgICAgICBhc3NlcnRfdHJ1ZShmYWxzZSwgIkV4cGVjdGVkIGZhaWx1
cmUuIik7Ci0gICAgICAgICAgICAgICAgfSkKLSAgICAgICAgICAgIC50aGVuKHQudW5yZWFjaGVk
X2Z1bmMoIlVORVhQRUNURUQgRkFJTFVSRTogUHJvbWlzZSBzaG91bGQgbm90IGhhdmUgcmVzb2x2
ZWQuIikpOwotICAgIH0sCi0gICAgIkFzc2VydGlvbiBmYWlsdXJlIGluIGEgZnVsZmlsbCByZWFj
dGlvbiAoc2hvdWxkIEZBSUwgd2l0aCBhbiBleHBlY3RlZCBmYWlsdXJlKSIpOwotCi1wcm9taXNl
X3Rlc3QoCi0gICAgZnVuY3Rpb24odCkgewotICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoCi0g
ICAgICAgICAgICAgICAgZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7Ci0gICAgICAgICAgICAg
ICAgICAgIHJlamVjdCgxMjMpOwotICAgICAgICAgICAgICAgIH0pCi0gICAgICAgICAgICAudGhl
bih0LnVucmVhY2hlZF9mdW5jKCJVTkVYUEVDVEVEIEZBSUxVUkU6IEZ1bGZpbGwgcmVhY3Rpb24g
cmVhY2hlZCBhZnRlciByZWplY3Rpb24uIiksCi0gICAgICAgICAgICAgICAgICB0LnVucmVhY2hl
ZF9mdW5jKCJFeHBlY3RlZCBmYWlsdXJlLiIpKTsKLSAgICB9LAotICAgICJ1bnJlYWNoZWRfZnVu
YyBhcyByZWFjdG9yIChzaG91bGQgRkFJTCB3aXRoIGFuIGV4cGVjdGVkIGZhaWx1cmUpIik7Ci0K
LXByb21pc2VfdGVzdCgKLSAgICBmdW5jdGlvbigpIHsKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0g
ICAgfSwKLSAgICAicHJvbWlzZV90ZXN0IHdpdGggZnVuY3Rpb24gdGhhdCBkb2Vzbid0IHJldHVy
biBhIFByb21pc2UgKHNob3VsZCBGQUlMKSIpOwotCi1wcm9taXNlX3Rlc3QoZnVuY3Rpb24oKXt9
LAotICAgICAgICAgICAgICJwcm9taXNlX3Rlc3Qgd2l0aCBmdW5jdGlvbiB0aGF0IGRvZXNuJ3Qg
cmV0dXJuIGFueXRoaW5nIik7Ci0KLXByb21pc2VfdGVzdCgKLSAgICBmdW5jdGlvbigpIHsgcmV0
dXJuIHsgdGhlbjogMjMgfTsgfSwKLSAgICAicHJvbWlzZV90ZXN0IHRoYXQgcmV0dXJucyBhIG5v
bi10aGVuYWJsZSAoc2hvdWxkIEZBSUwpIik7Ci0KLXByb21pc2VfdGVzdCgKLSAgICBmdW5jdGlv
bigpIHsKLSAgICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KCJFeHBlY3RlZCByZWplY3Rpb24i
KTsKLSAgICB9LAotICAgICJwcm9taXNlX3Rlc3Qgd2l0aCB1bmhhbmRsZWQgcmVqZWN0aW9uIChz
aG91bGQgRkFJTCkiKTsKLQotcHJvbWlzZV90ZXN0KAotICAgIGZ1bmN0aW9uKCkgewotICAgICAg
ICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKDEwKQotICAgICAgICAgICAgLnRoZW4oCi0gICAgICAg
ICAgICAgICAgZnVuY3Rpb24odmFsdWUpIHsKLSAgICAgICAgICAgICAgICAgICAgdGhyb3cgRXJy
b3IoIkV4cGVjdGVkIGV4Y2VwdGlvbi4iKTsKLSAgICAgICAgICAgICAgICB9KTsKLSAgICB9LAot
ICAgICJwcm9taXNlX3Rlc3Qgd2l0aCB1bmhhbmRsZWQgZXhjZXB0aW9uIGluIGZ1bGZpbGwgcmVh
Y3Rpb24gKHNob3VsZCBGQUlMKSIpOwotCi1wcm9taXNlX3Rlc3QoCi0gICAgZnVuY3Rpb24odCkg
ewotICAgICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QoMTApCi0gICAgICAgICAgICAudGhlbigK
LSAgICAgICAgICAgICAgICB0LnVucmVhY2hlZF9mdW5jKCJVTkVYUEVDVEVEIEZBSUxVUkU6IEZ1
bGZpbGwgcmVhY3Rpb24gcmVhY2hlZCBhZnRlciByZWplY3Rpb24uIiksCi0gICAgICAgICAgICAg
ICAgZnVuY3Rpb24odmFsdWUpIHsKLSAgICAgICAgICAgICAgICAgICAgdGhyb3cgRXJyb3IoIkV4
cGVjdGVkIGV4Y2VwdGlvbi4iKTsKLSAgICAgICAgICAgICAgICB9KTsKLSAgICB9LAotICAgICJw
cm9taXNlX3Rlc3Qgd2l0aCB1bmhhbmRsZWQgZXhjZXB0aW9uIGluIHJlamVjdCByZWFjdGlvbiAo
c2hvdWxkIEZBSUwpIik7Ci08L3NjcmlwdD4KLTxzY3JpcHQgdHlwZT0idGV4dC9qc29uIiBpZD0i
ZXhwZWN0ZWQiPgotewotICAic3VtbWFyaXplZF9zdGF0dXMiOiB7Ci0gICAgInN0YXR1c19zdHJp
bmciOiAiT0siLAotICAgICJtZXNzYWdlIjogbnVsbAotICB9LAotICAic3VtbWFyaXplZF90ZXN0
cyI6IFsKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJGQUlMIiwKLSAgICAgICJuYW1l
IjogIkFzc2VydGlvbiBmYWlsdXJlIGluIGEgZnVsZmlsbCByZWFjdGlvbiAoc2hvdWxkIEZBSUwg
d2l0aCBhbiBleHBlY3RlZCBmYWlsdXJlKSIsCi0gICAgICAibWVzc2FnZSI6ICJhc3NlcnRfdHJ1
ZTogRXhwZWN0ZWQgZmFpbHVyZS4gZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UiLAotICAgICAgInBy
b3BlcnRpZXMiOiB7fQotICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFT
UyIsCi0gICAgICAibmFtZSI6ICJDaGFpbiBvZiBwcm9taXNlIHJlc29sdXRpb25zIiwKLSAgICAg
ICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30KLSAgICB9LAotICAgIHsK
LSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUiOiAiUHJvbWlzZSBm
dWxmaWxsbWVudCB3aXRoIHJlc3VsdCIsCi0gICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAi
cHJvcGVydGllcyI6IHt9Ci0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQ
QVNTIiwKLSAgICAgICJuYW1lIjogIlByb21pc2UgcmVqZWN0aW9uIHdpdGggcmVzdWx0IiwKLSAg
ICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30KLSAgICB9LAotICAg
IHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUiOiAiUHJvbWlz
ZXMgYXJlIHN1cHBvcnRlZCBpbiB5b3VyIGJyb3dzZXIiLAotICAgICAgIm1lc3NhZ2UiOiBudWxs
LAotICAgICAgInByb3BlcnRpZXMiOiB7fQotICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19z
dHJpbmciOiAiRkFJTCIsCi0gICAgICAibmFtZSI6ICJwcm9taXNlX3Rlc3Qgd2l0aCBmdW5jdGlv
biB0aGF0IGRvZXNuJ3QgcmV0dXJuIGEgUHJvbWlzZSAoc2hvdWxkIEZBSUwpIiwKLSAgICAgICJt
ZXNzYWdlIjogInByb21pc2VfdGVzdDogdGVzdCBib2R5IG11c3QgcmV0dXJuIGEgJ3RoZW5hYmxl
JyBvYmplY3QgKHJlY2VpdmVkIGFuIG9iamVjdCB3aXRoIG5vIGB0aGVuYCBtZXRob2QpIiwKLSAg
ICAgICJwcm9wZXJ0aWVzIjoge30KLSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5n
IjogIkZBSUwiLAotICAgICAgIm5hbWUiOiAicHJvbWlzZV90ZXN0IHdpdGggZnVuY3Rpb24gdGhh
dCBkb2Vzbid0IHJldHVybiBhbnl0aGluZyIsCi0gICAgICAibWVzc2FnZSI6ICJwcm9taXNlX3Rl
c3Q6IHRlc3QgYm9keSBtdXN0IHJldHVybiBhICd0aGVuYWJsZScgb2JqZWN0IChyZWNlaXZlZCB1
bmRlZmluZWQpIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30KLSAgICB9LAotICAgIHsKLSAgICAg
ICJzdGF0dXNfc3RyaW5nIjogIkZBSUwiLAotICAgICAgIm5hbWUiOiAicHJvbWlzZV90ZXN0IHRo
YXQgcmV0dXJucyBhIG5vbi10aGVuYWJsZSAoc2hvdWxkIEZBSUwpIiwKLSAgICAgICJtZXNzYWdl
IjogInByb21pc2VfdGVzdDogdGVzdCBib2R5IG11c3QgcmV0dXJuIGEgJ3RoZW5hYmxlJyBvYmpl
Y3QgKHJlY2VpdmVkIGFuIG9iamVjdCB3aXRoIG5vIGB0aGVuYCBtZXRob2QpIiwKLSAgICAgICJw
cm9wZXJ0aWVzIjoge30KLSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIkZB
SUwiLAotICAgICAgIm5hbWUiOiAicHJvbWlzZV90ZXN0IHdpdGggdW5oYW5kbGVkIGV4Y2VwdGlv
biBpbiBmdWxmaWxsIHJlYWN0aW9uIChzaG91bGQgRkFJTCkiLAotICAgICAgIm1lc3NhZ2UiOiAi
cHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCBcIkVy
cm9yOiBFeHBlY3RlZCBleGNlcHRpb24uXCIiLAotICAgICAgInByb3BlcnRpZXMiOiB7fQotICAg
IH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiRkFJTCIsCi0gICAgICAibmFtZSI6
ICJwcm9taXNlX3Rlc3Qgd2l0aCB1bmhhbmRsZWQgZXhjZXB0aW9uIGluIHJlamVjdCByZWFjdGlv
biAoc2hvdWxkIEZBSUwpIiwKLSAgICAgICJtZXNzYWdlIjogInByb21pc2VfdGVzdDogVW5oYW5k
bGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgXCJFcnJvcjogRXhwZWN0ZWQgZXhjZXB0
aW9uLlwiIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30KLSAgICB9LAotICAgIHsKLSAgICAgICJz
dGF0dXNfc3RyaW5nIjogIkZBSUwiLAotICAgICAgIm5hbWUiOiAicHJvbWlzZV90ZXN0IHdpdGgg
dW5oYW5kbGVkIHJlamVjdGlvbiAoc2hvdWxkIEZBSUwpIiwKLSAgICAgICJtZXNzYWdlIjogInBy
b21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBcIkV4cGVjdGVkIHJl
amVjdGlvblwiIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30KLSAgICB9LAotICAgIHsKLSAgICAg
ICJzdGF0dXNfc3RyaW5nIjogIkZBSUwiLAotICAgICAgIm5hbWUiOiAidW5yZWFjaGVkX2Z1bmMg
YXMgcmVhY3RvciAoc2hvdWxkIEZBSUwgd2l0aCBhbiBleHBlY3RlZCBmYWlsdXJlKSIsCi0gICAg
ICAibWVzc2FnZSI6ICJhc3NlcnRfdW5yZWFjaGVkOiBFeHBlY3RlZCBmYWlsdXJlLiBSZWFjaGVk
IHVucmVhY2hhYmxlIGNvZGUiLAotICAgICAgInByb3BlcnRpZXMiOiB7fQotICAgIH0KLSAgXSwK
LSAgInR5cGUiOiAiY29tcGxldGUiCi19Ci08L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMv
ZnVuY3Rpb25hbC9xdWV1ZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFsL3F1ZXVlLmh0bWwKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDRlYTMyYTJiYzhlLi4wMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90
ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvcXVldWUuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDEzMiAr
MCwwIEBACi08IURPQ1RZUEUgSFRNTD4KLTxodG1sPgotPGhlYWQ+Ci08bWV0YSBuYW1lPSJ2YXJp
YW50IiBjb250ZW50PSI/a2VlcC1wcm9taXNlIj4KLTx0aXRsZT5UZXN0IHF1ZXVpbmcgc3luY2hy
b25vdXMgdGVzdHM8L3RpdGxlPgotPHNjcmlwdCBzcmM9Ii4uLy4uL3ZhcmlhbnRzLmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0iLi4vLi4vLi4vdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPC9o
ZWFkPgotPGJvZHk+Ci08ZGl2IGlkPSJsb2ciPjwvZGl2PgotCi08c2NyaXB0PgotInVzZSBzdHJp
Y3QiOwotdmFyIGluSW5pdGlhbFR1cm4gPSB0cnVlOwotCi10ZXN0KGZ1bmN0aW9uKHQpIHsKLSAg
YXNzZXJ0X3RydWUoCi0gICAgaW5Jbml0aWFsVHVybiwgInNob3VsZCBleGVjdXRlIGluIHRoZSBp
bml0aWFsIHR1cm4gb2YgdGhlIGV2ZW50IGxvb3AiCi0gICk7Ci19LCAiRmlyc3Qgc3luY2hyb25v
dXMgdGVzdCIpOwotCi10ZXN0KGZ1bmN0aW9uKHQpIHsKLSAgYXNzZXJ0X3RydWUoCi0gICAgaW5J
bml0aWFsVHVybiwgInNob3VsZCBleGVjdXRlIGluIHRoZSBpbml0aWFsIHR1cm4gb2YgdGhlIGV2
ZW50IGxvb3AiCi0gICk7Ci19LCAiU2Vjb25kIHN5bmNocm9ub3VzIHRlc3QiKTsKLQotYXN5bmNf
dGVzdChmdW5jdGlvbih0KSB7Ci0gIGFzc2VydF90cnVlKAotICAgIGluSW5pdGlhbFR1cm4sICJz
aG91bGQgZXhlY3V0ZSBpbiB0aGUgaW5pdGlhbCB0dXJuIG9mIHRoZSBldmVudCBsb29wIgotICAp
OwotICB0LmRvbmUoKTsKLX0sICJGaXJzdCBhc3luY190ZXN0IChydW4gaW4gcGFyYWxsZWwpIik7
Ci0KLWFzeW5jX3Rlc3QoZnVuY3Rpb24odCkgewotICBhc3NlcnRfdHJ1ZSgKLSAgICBpbkluaXRp
YWxUdXJuLCAic2hvdWxkIGV4ZWN1dGUgaW4gdGhlIGluaXRpYWwgdHVybiBvZiB0aGUgZXZlbnQg
bG9vcCIKLSAgKTsKLSAgdC5kb25lKCk7Ci19LCAiU2Vjb25kIGFzeW5jX3Rlc3QgKHJ1biBpbiBw
YXJhbGxlbCkiKTsKLQotdGVzdChmdW5jdGlvbih0KSB7Ci0gIGFzc2VydF90cnVlKAotICAgIGlu
SW5pdGlhbFR1cm4sICJzaG91bGQgZXhlY3V0ZSBpbiB0aGUgaW5pdGlhbCB0dXJuIG9mIHRoZSBl
dmVudCBsb29wIgotICApOwotfSwgIlRoaXJkIHN5bmNocm9ub3VzIHRlc3QiKTsKLQotcHJvbWlz
ZV90ZXN0KGZ1bmN0aW9uKHQpIHsKLSAgYXNzZXJ0X2ZhbHNlKAotICAgIGluSW5pdGlhbFR1cm4s
ICJzaG91bGQgbm90IGV4ZWN1dGUgaW4gdGhlIGluaXRpYWwgdHVybiBvZiB0aGUgZXZlbnQgbG9v
cCIKLSAgKTsKLQotICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7Ci19LCAicHJvbWlzZV90ZXN0
Iik7Ci0KLWFzeW5jX3Rlc3QoZnVuY3Rpb24odCkgewotICBhc3NlcnRfdHJ1ZSgKLSAgICBpbklu
aXRpYWxUdXJuLCAic2hvdWxkIGV4ZWN1dGUgaW4gdGhlIGluaXRpYWwgdHVybiBvZiB0aGUgZXZl
bnQgbG9vcCIKLSAgKTsKLSAgdC5kb25lKCk7Ci19LCAiVGhpcmQgYXN5bmNfdGVzdCAocnVuIGlu
IHBhcmFsbGVsKSIpOwotCi10ZXN0KGZ1bmN0aW9uKHQpIHsKLSAgYXNzZXJ0X3RydWUoCi0gICAg
aW5Jbml0aWFsVHVybiwgInNob3VsZCBleGVjdXRlIGluIHRoZSBpbml0aWFsIHR1cm4gb2YgdGhl
IGV2ZW50IGxvb3AiCi0gICk7Ci19LCAiRm91cnRoIHN5bmNocm9ub3VzIHRlc3QiKTsKLQotaW5J
bml0aWFsVHVybiA9IGZhbHNlOwotPC9zY3JpcHQ+Ci08c2NyaXB0IHR5cGU9InRleHQvanNvbiIg
aWQ9ImV4cGVjdGVkIj4KLXsKLSAgInN1bW1hcml6ZWRfc3RhdHVzIjogewotICAgICJzdGF0dXNf
c3RyaW5nIjogIk9LIiwKLSAgICAibWVzc2FnZSI6IG51bGwKLSAgfSwKLSAgInN1bW1hcml6ZWRf
dGVzdHMiOiBbCi0gICAgewotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJuYW1lIjog
IkZpcnN0IGFzeW5jX3Rlc3QgKHJ1biBpbiBwYXJhbGxlbCkiLAotICAgICAgInN0YXR1c19zdHJp
bmciOiAiUEFTUyIsCi0gICAgICAibWVzc2FnZSI6IG51bGwKLSAgICB9LAotICAgIHsKLSAgICAg
ICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibmFtZSI6ICJGaXJzdCBzeW5jaHJvbm91cyB0ZXN0
IiwKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgIm1lc3NhZ2UiOiBudWxs
Ci0gICAgfSwKLSAgICB7Ci0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm5hbWUiOiAi
Rm91cnRoIHN5bmNocm9ub3VzIHRlc3QiLAotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIs
Ci0gICAgICAibWVzc2FnZSI6IG51bGwKLSAgICB9LAotICAgIHsKLSAgICAgICJwcm9wZXJ0aWVz
Ijoge30sCi0gICAgICAibmFtZSI6ICJTZWNvbmQgYXN5bmNfdGVzdCAocnVuIGluIHBhcmFsbGVs
KSIsCi0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJtZXNzYWdlIjogbnVs
bAotICAgIH0sCi0gICAgewotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJuYW1lIjog
IlNlY29uZCBzeW5jaHJvbm91cyB0ZXN0IiwKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1Mi
LAotICAgICAgIm1lc3NhZ2UiOiBudWxsCi0gICAgfSwKLSAgICB7Ci0gICAgICAicHJvcGVydGll
cyI6IHt9LAotICAgICAgIm5hbWUiOiAiVGhpcmQgYXN5bmNfdGVzdCAocnVuIGluIHBhcmFsbGVs
KSIsCi0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJtZXNzYWdlIjogbnVs
bAotICAgIH0sCi0gICAgewotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJuYW1lIjog
IlRoaXJkIHN5bmNocm9ub3VzIHRlc3QiLAotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIs
Ci0gICAgICAibWVzc2FnZSI6IG51bGwKLSAgICB9LAotICAgIHsKLSAgICAgICJwcm9wZXJ0aWVz
Ijoge30sCi0gICAgICAibmFtZSI6ICJwcm9taXNlX3Rlc3QiLAotICAgICAgInN0YXR1c19zdHJp
bmciOiAiUEFTUyIsCi0gICAgICAibWVzc2FnZSI6IG51bGwKLSAgICB9Ci0gIF0sCi0gICJ0eXBl
IjogImNvbXBsZXRlIgotfQotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90
ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvc2luZ2xlLXBhZ2UtdGVzdC1mYWlsLmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3Rz
L2Z1bmN0aW9uYWwvc2luZ2xlLXBhZ2UtdGVzdC1mYWlsLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDkxNjlhNWE1NGUyLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0
aW9uYWwvc2luZ2xlLXBhZ2UtdGVzdC1mYWlsLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwzMSAr
MCwwIEBACi08IURPQ1RZUEUgSFRNTD4KLTxtZXRhIG5hbWU9InZhcmlhbnQiIGNvbnRlbnQ9IiI+
Ci08bWV0YSBuYW1lPSJ2YXJpYW50IiBjb250ZW50PSI/a2VlcC1wcm9taXNlIj4KLTx0aXRsZT5F
eGFtcGxlIHdpdGggZmlsZV9pc190ZXN0IChzaG91bGQgZmFpbCk8L3RpdGxlPgotPHNjcmlwdCBz
cmM9Ii4uLy4uL3ZhcmlhbnRzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci1zZXR1cCh7IHNpbmdsZV90ZXN0
OiB0cnVlIH0pOwotb25sb2FkID0gZnVuY3Rpb24oKSB7Ci0gIGFzc2VydF90cnVlKGZhbHNlKTsK
LSAgZG9uZSgpOwotfQotPC9zY3JpcHQ+Ci08c2NyaXB0IHR5cGU9InRleHQvanNvbiIgaWQ9ImV4
cGVjdGVkIj4KLXsKLSAgInN1bW1hcml6ZWRfc3RhdHVzIjogewotICAgICJzdGF0dXNfc3RyaW5n
IjogIk9LIiwKLSAgICAibWVzc2FnZSI6IG51bGwKLSAgfSwKLSAgInN1bW1hcml6ZWRfdGVzdHMi
OiBbCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiRkFJTCIsCi0gICAgICAibmFtZSI6
ICJFeGFtcGxlIHdpdGggZmlsZV9pc190ZXN0IChzaG91bGQgZmFpbCkiLAotICAgICAgInByb3Bl
cnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogInVuY2F1Z2h0IGV4Y2VwdGlvbjogRXJyb3I6
IGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZSIKLSAgICB9Ci0gIF0sCi0gICJ0
eXBlIjogImNvbXBsZXRlIgotfQotPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0
aW9uYWwvc2luZ2xlLXBhZ2UtdGVzdC1uby1hc3NlcnRpb25zLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0
aW9uYWwvc2luZ2xlLXBhZ2UtdGVzdC1uby1hc3NlcnRpb25zLmh0bWwKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IGYxYjE4OTIzZGU0Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1
bmN0aW9uYWwvc2luZ2xlLXBhZ2UtdGVzdC1uby1hc3NlcnRpb25zLmh0bWwKKysrIC9kZXYvbnVs
bApAQCAtMSwyOCArMCwwIEBACi08IURPQ1RZUEUgSFRNTD4KLTxtZXRhIG5hbWU9InZhcmlhbnQi
IGNvbnRlbnQ9IiI+Ci08bWV0YSBuYW1lPSJ2YXJpYW50IiBjb250ZW50PSI/a2VlcC1wcm9taXNl
Ij4KLTx0aXRsZT5FeGFtcGxlIHNpbmdsZSBwYWdlIHRlc3Qgd2l0aCBubyBhc3NlcnRzPC90aXRs
ZT4KLTxzY3JpcHQgc3JjPSIuLi8uLi92YXJpYW50cy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0Pgotc2V0dXAo
eyBzaW5nbGVfdGVzdDogdHJ1ZSB9KTsKLWRvbmUoKTsKLTwvc2NyaXB0PgotPHNjcmlwdCB0eXBl
PSJ0ZXh0L2pzb24iIGlkPSJleHBlY3RlZCI+Ci17Ci0gICJzdW1tYXJpemVkX3N0YXR1cyI6IHsK
LSAgICAic3RhdHVzX3N0cmluZyI6ICJPSyIsCi0gICAgIm1lc3NhZ2UiOiBudWxsCi0gIH0sCi0g
ICJzdW1tYXJpemVkX3Rlc3RzIjogWwotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBB
U1MiLAotICAgICAgIm5hbWUiOiAiRXhhbXBsZSBzaW5nbGUgcGFnZSB0ZXN0IHdpdGggbm8gYXNz
ZXJ0cyIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsCi0g
ICAgfQotICBdLAotICAidHlwZSI6ICJjb21wbGV0ZSIKLX0KLTwvc2NyaXB0PgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
dGVzdC90ZXN0cy9mdW5jdGlvbmFsL3NpbmdsZS1wYWdlLXRlc3Qtbm8tYm9keS5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90
ZXN0cy9mdW5jdGlvbmFsL3NpbmdsZS1wYWdlLXRlc3Qtbm8tYm9keS5odG1sCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwZjNkNGFkZjQ0Yi4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0
cy9mdW5jdGlvbmFsL3NpbmdsZS1wYWdlLXRlc3Qtbm8tYm9keS5odG1sCisrKyAvZGV2L251bGwK
QEAgLTEsMjkgKzAsMCBAQAotPCFET0NUWVBFIEhUTUw+Ci08bWV0YSBuYW1lPSJ2YXJpYW50IiBj
b250ZW50PSIiPgotPG1ldGEgbmFtZT0idmFyaWFudCIgY29udGVudD0iP2tlZXAtcHJvbWlzZSI+
Ci08dGl0bGU+RXhhbXBsZSBzaW5nbGUgcGFnZSB0ZXN0IHdpdGggbm8gYm9keTwvdGl0bGU+Ci08
c2NyaXB0IHNyYz0iLi4vLi4vdmFyaWFudHMuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLXNldHVwKHsgc2lu
Z2xlX3Rlc3Q6IHRydWUgfSk7Ci1hc3NlcnRfdHJ1ZSh0cnVlKTsKLWRvbmUoKTsKLTwvc2NyaXB0
PgotPHNjcmlwdCB0eXBlPSJ0ZXh0L2pzb24iIGlkPSJleHBlY3RlZCI+Ci17Ci0gICJzdW1tYXJp
emVkX3N0YXR1cyI6IHsKLSAgICAic3RhdHVzX3N0cmluZyI6ICJPSyIsCi0gICAgIm1lc3NhZ2Ui
OiBudWxsCi0gIH0sCi0gICJzdW1tYXJpemVkX3Rlc3RzIjogWwotICAgIHsKLSAgICAgICJzdGF0
dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUiOiAiRXhhbXBsZSBzaW5nbGUgcGFnZSB0
ZXN0IHdpdGggbm8gYm9keSIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3Nh
Z2UiOiBudWxsCi0gICAgfQotICBdLAotICAidHlwZSI6ICJjb21wbGV0ZSIKLX0KLTwvc2NyaXB0
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFsL3NpbmdsZS1wYWdlLXRlc3QtcGFzcy5o
dG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFsL3NpbmdsZS1wYWdlLXRlc3QtcGFzcy5odG1sCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlNDcyNTBkNzYzYy4uMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVz
dC90ZXN0cy9mdW5jdGlvbmFsL3NpbmdsZS1wYWdlLXRlc3QtcGFzcy5odG1sCisrKyAvZGV2L251
bGwKQEAgLTEsMzEgKzAsMCBAQAotPCFET0NUWVBFIEhUTUw+Ci08bWV0YSBuYW1lPSJ2YXJpYW50
IiBjb250ZW50PSIiPgotPG1ldGEgbmFtZT0idmFyaWFudCIgY29udGVudD0iP2tlZXAtcHJvbWlz
ZSI+Ci08dGl0bGU+RXhhbXBsZSB3aXRoIGZpbGVfaXNfdGVzdDwvdGl0bGU+Ci08c2NyaXB0IHNy
Yz0iLi4vLi4vdmFyaWFudHMuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLXNldHVwKHsgc2luZ2xlX3Rlc3Q6
IHRydWUgfSk7Ci1vbmxvYWQgPSBmdW5jdGlvbigpIHsKLSAgYXNzZXJ0X3RydWUodHJ1ZSk7Ci0g
IGRvbmUoKTsKLX0KLTwvc2NyaXB0PgotPHNjcmlwdCB0eXBlPSJ0ZXh0L2pzb24iIGlkPSJleHBl
Y3RlZCI+Ci17Ci0gICJzdW1tYXJpemVkX3N0YXR1cyI6IHsKLSAgICAic3RhdHVzX3N0cmluZyI6
ICJPSyIsCi0gICAgIm1lc3NhZ2UiOiBudWxsCi0gIH0sCi0gICJzdW1tYXJpemVkX3Rlc3RzIjog
WwotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUiOiAi
RXhhbXBsZSB3aXRoIGZpbGVfaXNfdGVzdCIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAg
ICAgIm1lc3NhZ2UiOiBudWxsCi0gICAgfQotICBdLAotICAidHlwZSI6ICJjb21wbGV0ZSIKLX0K
LTwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFsL3Rhc2stc2NoZWR1bGlu
Zy1wcm9taXNlLXRlc3QuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC90YXNrLXNjaGVkdWxpbmct
cHJvbWlzZS10ZXN0Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGZiNGNjMmRk
MjdkLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvdGFzay1zY2hlZHVsaW5n
LXByb21pc2UtdGVzdC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMjQzICswLDAgQEAKLTwhZG9j
dHlwZSBodG1sPgotPG1ldGEgbmFtZT0idmFyaWFudCIgY29udGVudD0iP2tlZXAtcHJvbWlzZSI+
Ci08dGl0bGU+dGVzdGhhcm5lc3MuanMgLSB0YXNrIHNjaGVkdWxpbmc8L3RpdGxlPgotPHNjcmlw
dCBzcmM9Ii4uLy4uL3ZhcmlhbnRzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8u
Li90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4vdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLXZhciBzYW1lVGFzayA9IG51bGw7
Ci12YXIgc2FtZU1pY3JvdGFzayA9IG51bGw7Ci12YXIgZXhwZWN0ZWRFcnJvciA9IG5ldyBFcnJv
cignVGhpcyBlcnJvciBpcyBleHBlY3RlZCcpOwotCi1wcm9taXNlX3Rlc3QoZnVuY3Rpb24oKSB7
Ci0gIHJldHVybiBQcm9taXNlLnJlc29sdmUoKQotICAgIC50aGVuKGZ1bmN0aW9uKCkgewotICAg
ICAgICBzYW1lTWlyb3Rhc2sgPSB0cnVlOwotICAgICAgICBQcm9taXNlLnJlc29sdmUoKS50aGVu
KCgpID0+IHNhbWVNaWNyb3Rhc2sgPSBmYWxzZSk7Ci0gICAgICB9KTsKLX0sICdwcm9taXNlIHRl
c3Qgd2l0aG91dCBjbGVhbnVwICMxJyk7Ci0KLXByb21pc2VfdGVzdChmdW5jdGlvbigpIHsKLSAg
YXNzZXJ0X2ZhbHNlKHNhbWVNaWNyb3Rhc2spOwotCi0gIHJldHVybiBQcm9taXNlLnJlc29sdmUo
KTsKLX0sICdzdWItdGVzdCB3aXRoIDAgY2xlYW51cCBmdW5jdGlvbnMgZXhlY3V0ZXMgaW4gZGlz
dGluY3QgbWljcm90YXNrIGZyb20gYSBwYXNzaW5nIHN1Yi10ZXN0Jyk7Ci0KLXByb21pc2VfdGVz
dChmdW5jdGlvbigpIHsKLSAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpCi0gICAgLnRoZW4oZnVu
Y3Rpb24oKSB7Ci0gICAgICAgIHNhbWVNaXJvdGFzayA9IHRydWU7Ci0gICAgICAgIFByb21pc2Uu
cmVzb2x2ZSgpLnRoZW4oKCkgPT4gc2FtZU1pY3JvdGFzayA9IGZhbHNlKTsKLSAgICAgICAgdGhy
b3cgZXhwZWN0ZWRFcnJvcjsKLSAgICAgIH0pOwotfSwgJ2ZhaWxpbmcgcHJvbWlzZSB0ZXN0IHdp
dGhvdXQgY2xlYW51cCAjMScpOwotCi1wcm9taXNlX3Rlc3QoZnVuY3Rpb24oKSB7Ci0gIGFzc2Vy
dF9mYWxzZShzYW1lTWljcm90YXNrKTsKLQotICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7Ci19
LCAnc3ViLXRlc3Qgd2l0aCAwIGNsZWFudXAgZnVuY3Rpb25zIGV4ZWN1dGVzIGluIGRpc3RpbmN0
IG1pY3JvdGFzayBmcm9tIGEgZmFpbGluZyBzdWItdGVzdCcpOwotCi1wcm9taXNlX3Rlc3QoZnVu
Y3Rpb24odCkgewotICB0LmFkZF9jbGVhbnVwKGZ1bmN0aW9uKCkge30pOwotCi0gIHJldHVybiBQ
cm9taXNlLnJlc29sdmUoKQotICAgIC50aGVuKGZ1bmN0aW9uKCkgewotICAgICAgICBzYW1lTWly
b3Rhc2sgPSB0cnVlOwotICAgICAgICBQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpID0+IHNhbWVN
aWNyb3Rhc2sgPSBmYWxzZSk7Ci0gICAgICB9KTsKLX0sICdwcm9taXNlIHRlc3Qgd2l0aCBjbGVh
bnVwICMxJyk7Ci0KLXByb21pc2VfdGVzdChmdW5jdGlvbigpIHsKLSAgYXNzZXJ0X2ZhbHNlKHNh
bWVNaWNyb3Rhc2spOwotCi0gIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTsKLX0sICdzdWItdGVz
dCB3aXRoIHNvbWUgY2xlYW51cCBmdW5jdGlvbnMgZXhlY3V0ZXMgaW4gZGlzdGluY3QgbWljcm90
YXNrIGZyb20gYSBwYXNzaW5nIHN1Yi10ZXN0Jyk7Ci0KLXByb21pc2VfdGVzdChmdW5jdGlvbih0
KSB7Ci0gIHQuYWRkX2NsZWFudXAoZnVuY3Rpb24oKSB7fSk7Ci0KLSAgcmV0dXJuIFByb21pc2Uu
cmVzb2x2ZSgpCi0gICAgLnRoZW4oZnVuY3Rpb24oKSB7Ci0gICAgICAgIHNhbWVNaXJvdGFzayA9
IHRydWU7Ci0gICAgICAgIFByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCkgPT4gc2FtZU1pY3JvdGFz
ayA9IGZhbHNlKTsKLSAgICAgICAgdGhyb3cgZXhwZWN0ZWRFcnJvcjsKLSAgICAgIH0pOwotfSwg
J2ZhaWxpbmcgcHJvbWlzZSB0ZXN0IHdpdGggY2xlYW51cCAjMScpOwotCi1wcm9taXNlX3Rlc3Qo
ZnVuY3Rpb24oKSB7Ci0gIGFzc2VydF9mYWxzZShzYW1lTWljcm90YXNrKTsKLQotICByZXR1cm4g
UHJvbWlzZS5yZXNvbHZlKCk7Ci19LCAnc3ViLXRlc3Qgd2l0aCBzb21lIGNsZWFudXAgZnVuY3Rp
b25zIGV4ZWN1dGVzIGluIGRpc3RpbmN0IG1pY3JvdGFzayBmcm9tIGEgZmFpbGluZyBzdWItdGVz
dCcpOwotCi1wcm9taXNlX3Rlc3QoZnVuY3Rpb24odCkgewotICByZXR1cm4gUHJvbWlzZS5yZXNv
bHZlKCkKLSAgICAudGhlbihmdW5jdGlvbigpIHsKLSAgICAgICAgc2FtZVRhc2sgPSB0cnVlOwot
ICAgICAgICB0LnN0ZXBfdGltZW91dCgoKSA9PiBzYW1lVGFzayA9IGZhbHNlLCAwKTsKLSAgICAg
IH0pOwotfSwgJ3Byb21pc2UgdGVzdCB3aXRob3V0IGNsZWFudXAgIzInKTsKLQotcHJvbWlzZV90
ZXN0KGZ1bmN0aW9uKCkgewotICBhc3NlcnRfdHJ1ZShzYW1lVGFzayk7Ci0KLSAgcmV0dXJuIFBy
b21pc2UucmVzb2x2ZSgpOwotfSwgJ3N1Yi10ZXN0IHdpdGggMCBjbGVhbnVwIGZ1bmN0aW9ucyBl
eGVjdXRlcyBpbiB0aGUgc2FtZSB0YXNrIGFzIGEgcGFzc2luZyBzdWItdGVzdCcpOwotCi1wcm9t
aXNlX3Rlc3QoZnVuY3Rpb24odCkgewotICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCkKLSAgICAu
dGhlbihmdW5jdGlvbigpIHsKLSAgICAgICAgc2FtZVRhc2sgPSB0cnVlOwotICAgICAgICB0LnN0
ZXBfdGltZW91dCgoKSA9PiBzYW1lVGFzayA9IGZhbHNlLCAwKTsKLSAgICAgICAgdGhyb3cgZXhw
ZWN0ZWRFcnJvcjsKLSAgICAgIH0pOwotfSwgJ2ZhaWxpbmcgcHJvbWlzZSB0ZXN0IHdpdGhvdXQg
Y2xlYW51cCAjMicpOwotCi1wcm9taXNlX3Rlc3QoZnVuY3Rpb24oKSB7Ci0gIGFzc2VydF90cnVl
KHNhbWVUYXNrKTsKLQotICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7Ci19LCAnc3ViLXRlc3Qg
d2l0aCAwIGNsZWFudXAgZnVuY3Rpb25zIGV4ZWN1dGVzIGluIHRoZSBzYW1lIHRhc2sgYXMgYSBm
YWlsaW5nIHN1Yi10ZXN0Jyk7Ci0KLXByb21pc2VfdGVzdChmdW5jdGlvbih0KSB7Ci0gIHQuYWRk
X2NsZWFudXAoZnVuY3Rpb24oKSB7fSk7Ci0KLSAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpCi0g
ICAgLnRoZW4oZnVuY3Rpb24oKSB7Ci0gICAgICAgIHNhbWVUYXNrID0gdHJ1ZTsKLSAgICAgICAg
dC5zdGVwX3RpbWVvdXQoKCkgPT4gc2FtZVRhc2sgPSBmYWxzZSwgMCk7Ci0gICAgICB9KTsKLX0s
ICdwcm9taXNlIHRlc3Qgd2l0aCBjbGVhbnVwICMyJyk7Ci0KLXByb21pc2VfdGVzdChmdW5jdGlv
bigpIHsKLSAgYXNzZXJ0X3RydWUoc2FtZVRhc2spOwotCi0gIHJldHVybiBQcm9taXNlLnJlc29s
dmUoKTsKLX0sICdzdWItdGVzdCB3aXRoIHNvbWUgY2xlYW51cCBmdW5jdGlvbnMgZXhlY3V0ZXMg
aW4gdGhlIHNhbWUgdGFzayBhcyBhIHBhc3Npbmcgc3ViLXRlc3QnKTsKLQotcHJvbWlzZV90ZXN0
KGZ1bmN0aW9uKHQpIHsKLSAgdC5hZGRfY2xlYW51cChmdW5jdGlvbigpIHt9KTsKLQotICByZXR1
cm4gUHJvbWlzZS5yZXNvbHZlKCkKLSAgICAudGhlbihmdW5jdGlvbigpIHsKLSAgICAgICAgc2Ft
ZVRhc2sgPSB0cnVlOwotICAgICAgICB0LnN0ZXBfdGltZW91dCgoKSA9PiBzYW1lVGFzayA9IGZh
bHNlLCAwKTsKLSAgICAgICAgdGhyb3cgZXhwZWN0ZWRFcnJvcjsKLSAgICAgIH0pOwotfSwgJ2Zh
aWxpbmcgcHJvbWlzZSB0ZXN0IHdpdGggY2xlYW51cCAjMicpOwotCi1wcm9taXNlX3Rlc3QoZnVu
Y3Rpb24oKSB7Ci0gIGFzc2VydF90cnVlKHNhbWVUYXNrKTsKLQotICByZXR1cm4gUHJvbWlzZS5y
ZXNvbHZlKCk7Ci19LCAnc3ViLXRlc3Qgd2l0aCBzb21lIGNsZWFudXAgZnVuY3Rpb25zIGV4ZWN1
dGVzIGluIHRoZSBzYW1lIHRhc2sgYXMgYSBmYWlsaW5nIHN1Yi10ZXN0Jyk7Ci08L3NjcmlwdD4K
LQotPHNjcmlwdCB0eXBlPSJ0ZXh0L2pzb24iIGlkPSJleHBlY3RlZCI+Ci17Ci0gICAgInN1bW1h
cml6ZWRfc3RhdHVzIjogewotICAgICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAgICJzdGF0
dXNfc3RyaW5nIjogIk9LIgotICAgIH0sCi0gICAgInN1bW1hcml6ZWRfdGVzdHMiOiBbCi0gICAg
ICAgIHsKLSAgICAgICAgICAgICJtZXNzYWdlIjogInByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJl
amVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgXCJFcnJvcjogVGhpcyBlcnJvciBpcyBleHBlY3Rl
ZFwiIiwKLSAgICAgICAgICAgICJuYW1lIjogImZhaWxpbmcgcHJvbWlzZSB0ZXN0IHdpdGggY2xl
YW51cCAjMSIsCi0gICAgICAgICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgICAgICAgInN0
YXR1c19zdHJpbmciOiAiRkFJTCIKLSAgICAgICAgfSwKLSAgICAgICAgewotICAgICAgICAgICAg
Im1lc3NhZ2UiOiAicHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6
IG9iamVjdCBcIkVycm9yOiBUaGlzIGVycm9yIGlzIGV4cGVjdGVkXCIiLAotICAgICAgICAgICAg
Im5hbWUiOiAiZmFpbGluZyBwcm9taXNlIHRlc3Qgd2l0aCBjbGVhbnVwICMyIiwKLSAgICAgICAg
ICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAgICAgICAic3RhdHVzX3N0cmluZyI6ICJGQUlM
IgotICAgICAgICB9LAotICAgICAgICB7Ci0gICAgICAgICAgICAibWVzc2FnZSI6ICJwcm9taXNl
X3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0IFwiRXJyb3I6IFRo
aXMgZXJyb3IgaXMgZXhwZWN0ZWRcIiIsCi0gICAgICAgICAgICAibmFtZSI6ICJmYWlsaW5nIHBy
b21pc2UgdGVzdCB3aXRob3V0IGNsZWFudXAgIzEiLAotICAgICAgICAgICAgInByb3BlcnRpZXMi
OiB7fSwKLSAgICAgICAgICAgICJzdGF0dXNfc3RyaW5nIjogIkZBSUwiCi0gICAgICAgIH0sCi0g
ICAgICAgIHsKLSAgICAgICAgICAgICJtZXNzYWdlIjogInByb21pc2VfdGVzdDogVW5oYW5kbGVk
IHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgXCJFcnJvcjogVGhpcyBlcnJvciBpcyBleHBl
Y3RlZFwiIiwKLSAgICAgICAgICAgICJuYW1lIjogImZhaWxpbmcgcHJvbWlzZSB0ZXN0IHdpdGhv
dXQgY2xlYW51cCAjMiIsCi0gICAgICAgICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgICAg
ICAgInN0YXR1c19zdHJpbmciOiAiRkFJTCIKLSAgICAgICAgfSwKLSAgICAgICAgewotICAgICAg
ICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgICAgICAgIm5hbWUiOiAicHJvbWlzZSB0ZXN0
IHdpdGggY2xlYW51cCAjMSIsCi0gICAgICAgICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAg
ICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIKLSAgICAgICAgfSwKLSAgICAgICAgewotICAg
ICAgICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgICAgICAgIm5hbWUiOiAicHJvbWlzZSB0
ZXN0IHdpdGggY2xlYW51cCAjMiIsCi0gICAgICAgICAgICAicHJvcGVydGllcyI6IHt9LAotICAg
ICAgICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIKLSAgICAgICAgfSwKLSAgICAgICAgewot
ICAgICAgICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgICAgICAgIm5hbWUiOiAicHJvbWlz
ZSB0ZXN0IHdpdGhvdXQgY2xlYW51cCAjMSIsCi0gICAgICAgICAgICAicHJvcGVydGllcyI6IHt9
LAotICAgICAgICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIKLSAgICAgICAgfSwKLSAgICAg
ICAgewotICAgICAgICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgICAgICAgIm5hbWUiOiAi
cHJvbWlzZSB0ZXN0IHdpdGhvdXQgY2xlYW51cCAjMiIsCi0gICAgICAgICAgICAicHJvcGVydGll
cyI6IHt9LAotICAgICAgICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIKLSAgICAgICAgfSwK
LSAgICAgICAgewotICAgICAgICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgICAgICAgIm5h
bWUiOiAic3ViLXRlc3Qgd2l0aCAwIGNsZWFudXAgZnVuY3Rpb25zIGV4ZWN1dGVzIGluIGRpc3Rp
bmN0IG1pY3JvdGFzayBmcm9tIGEgZmFpbGluZyBzdWItdGVzdCIsCi0gICAgICAgICAgICAicHJv
cGVydGllcyI6IHt9LAotICAgICAgICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIKLSAgICAg
ICAgfSwKLSAgICAgICAgewotICAgICAgICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgICAg
ICAgIm5hbWUiOiAic3ViLXRlc3Qgd2l0aCAwIGNsZWFudXAgZnVuY3Rpb25zIGV4ZWN1dGVzIGlu
IGRpc3RpbmN0IG1pY3JvdGFzayBmcm9tIGEgcGFzc2luZyBzdWItdGVzdCIsCi0gICAgICAgICAg
ICAicHJvcGVydGllcyI6IHt9LAotICAgICAgICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIK
LSAgICAgICAgfSwKLSAgICAgICAgewotICAgICAgICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAg
ICAgICAgICAgIm5hbWUiOiAic3ViLXRlc3Qgd2l0aCAwIGNsZWFudXAgZnVuY3Rpb25zIGV4ZWN1
dGVzIGluIHRoZSBzYW1lIHRhc2sgYXMgYSBmYWlsaW5nIHN1Yi10ZXN0IiwKLSAgICAgICAgICAg
ICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAgICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIgot
ICAgICAgICB9LAotICAgICAgICB7Ci0gICAgICAgICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAg
ICAgICAgICAibmFtZSI6ICJzdWItdGVzdCB3aXRoIDAgY2xlYW51cCBmdW5jdGlvbnMgZXhlY3V0
ZXMgaW4gdGhlIHNhbWUgdGFzayBhcyBhIHBhc3Npbmcgc3ViLXRlc3QiLAotICAgICAgICAgICAg
InByb3BlcnRpZXMiOiB7fSwKLSAgICAgICAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiCi0g
ICAgICAgIH0sCi0gICAgICAgIHsKLSAgICAgICAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAg
ICAgICAgICJuYW1lIjogInN1Yi10ZXN0IHdpdGggc29tZSBjbGVhbnVwIGZ1bmN0aW9ucyBleGVj
dXRlcyBpbiBkaXN0aW5jdCBtaWNyb3Rhc2sgZnJvbSBhIGZhaWxpbmcgc3ViLXRlc3QiLAotICAg
ICAgICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICAgICAgICJzdGF0dXNfc3RyaW5nIjog
IlBBU1MiCi0gICAgICAgIH0sCi0gICAgICAgIHsKLSAgICAgICAgICAgICJtZXNzYWdlIjogbnVs
bCwKLSAgICAgICAgICAgICJuYW1lIjogInN1Yi10ZXN0IHdpdGggc29tZSBjbGVhbnVwIGZ1bmN0
aW9ucyBleGVjdXRlcyBpbiBkaXN0aW5jdCBtaWNyb3Rhc2sgZnJvbSBhIHBhc3Npbmcgc3ViLXRl
c3QiLAotICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICAgICAgICJzdGF0dXNf
c3RyaW5nIjogIlBBU1MiCi0gICAgICAgIH0sCi0gICAgICAgIHsKLSAgICAgICAgICAgICJtZXNz
YWdlIjogbnVsbCwKLSAgICAgICAgICAgICJuYW1lIjogInN1Yi10ZXN0IHdpdGggc29tZSBjbGVh
bnVwIGZ1bmN0aW9ucyBleGVjdXRlcyBpbiB0aGUgc2FtZSB0YXNrIGFzIGEgZmFpbGluZyBzdWIt
dGVzdCIsCi0gICAgICAgICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgICAgICAgInN0YXR1
c19zdHJpbmciOiAiUEFTUyIKLSAgICAgICAgfSwKLSAgICAgICAgewotICAgICAgICAgICAgIm1l
c3NhZ2UiOiBudWxsLAotICAgICAgICAgICAgIm5hbWUiOiAic3ViLXRlc3Qgd2l0aCBzb21lIGNs
ZWFudXAgZnVuY3Rpb25zIGV4ZWN1dGVzIGluIHRoZSBzYW1lIHRhc2sgYXMgYSBwYXNzaW5nIHN1
Yi10ZXN0IiwKLSAgICAgICAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAgICAgICAic3Rh
dHVzX3N0cmluZyI6ICJQQVNTIgotICAgICAgICB9Ci0gICAgXSwKLSAgICAidHlwZSI6ICJjb21w
bGV0ZSIKLX0KLTwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFsL3Rhc2st
c2NoZWR1bGluZy10ZXN0Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvdGFzay1zY2hlZHVsaW5n
LXRlc3QuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTM0YmRiMmVhOGQuLjAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC90YXNrLXNjaGVkdWxpbmctdGVzdC5o
dG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTQ0ICswLDAgQEAKLTwhZG9jdHlwZSBodG1sPgotPG1l
dGEgbmFtZT0idmFyaWFudCIgY29udGVudD0iIj4KLTxtZXRhIG5hbWU9InZhcmlhbnQiIGNvbnRl
bnQ9Ij9rZWVwLXByb21pc2UiPgotPHRpdGxlPnRlc3RoYXJuZXNzLmpzIC0gdGFzayBzY2hlZHVs
aW5nPC90aXRsZT4KLTxzY3JpcHQgc3JjPSIuLi8uLi92YXJpYW50cy5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0iLi4vLi4vLi4vdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBz
cmM9Ii4uLy4uLy4uL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci12
YXIgc2FtZU1pY3JvdGFzayA9IG51bGw7Ci12YXIgZXhwZWN0ZWRFcnJvciA9IG5ldyBFcnJvcign
VGhpcyBlcnJvciBpcyBleHBlY3RlZCcpOwotCi0vLyBEZXJpdmVkIGZyb20gYGltbWVkaWF0ZWAK
LS8vIGh0dHBzOi8vZ2l0aHViLmNvbS9jYWx2aW5tZXRjYWxmL2ltbWVkaWF0ZS9ibG9iL2MzNTNi
ZDIxMDY2NDhjZWUxZDUyNWJmZGEyMmNmYzQ0NTZlNjljMGUvbGliL211dGF0aW9uLmpzCi1mdW5j
dGlvbiBtaWNyb1Rhc2soY2FsbGJhY2spIHsKLSAgdmFyIG9ic2VydmVyID0gbmV3IE11dGF0aW9u
T2JzZXJ2ZXIoY2FsbGJhY2spOwotICB2YXIgZWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZVRleHRO
b2RlKCcnKTsKLSAgb2JzZXJ2ZXIub2JzZXJ2ZShlbGVtZW50LCB7Ci0gICAgY2hhcmFjdGVyRGF0
YTogdHJ1ZQotICB9KTsKLQotICBlbGVtZW50LmRhdGEgPSB0cnVlOwotfTsKLQotYXN5bmNfdGVz
dChmdW5jdGlvbih0KSB7Ci0gIHZhciBtaWNyb3Rhc2tfcmFuID0gZmFsc2U7Ci0KLSAgdC5zdGVw
X3RpbWVvdXQodC5zdGVwX2Z1bmMoZnVuY3Rpb24oKSB7Ci0gICAgYXNzZXJ0X3RydWUobWljcm90
YXNrX3JhbiwgJ2Z1bmN0aW9uIHJlZ2lzdGVyZWQgYXMgYSBtaWNyb3Rhc2sgd2FzIGV4ZWN1dGVk
IGJlZm9yZSB0YXNrJyk7Ci0gICAgdC5kb25lKCk7Ci0gIH0pLCAwKTsKLQotICBtaWNyb1Rhc2so
ZnVuY3Rpb24oKSB7Ci0gICAgbWljcm90YXNrX3JhbiA9IHRydWU7Ci0gIH0pOwotfSwgJ3ByZWNv
bmRpdGlvbjogbWljcm90YXNrIGNyZWF0aW9uIGxvZ2ljIGZ1bmN0aW9ucyBhcyBleHBlY3RlZCcp
OwotCi10ZXN0KGZ1bmN0aW9uKCkgewotICBzYW1lTWljcm90YXNrID0gdHJ1ZTsKLSAgbWljcm9U
YXNrKGZ1bmN0aW9uKCkgeyBzYW1lTWljcm90YXNrID0gZmFsc2U7IH0pOwotfSwgJ3N5bmNocm9u
b3VzIHRlc3Qgd2l0aG91dCBjbGVhbnVwJyk7Ci0KLXRlc3QoZnVuY3Rpb24oKSB7Ci0gIGFzc2Vy
dF90cnVlKHNhbWVNaWNyb3Rhc2spOwotfSwgJ3N1Yi10ZXN0IHdpdGggMCBjbGVhbnVwIGZ1bmN0
aW9ucyBleGVjdXRlcyBpbiB0aGUgc2FtZSBtaWNyb3Rhc2sgYXMgYSBwYXNzaW5nIHN1Yi10ZXN0
Jyk7Ci0KLXRlc3QoZnVuY3Rpb24oKSB7Ci0gIHNhbWVNaWNyb3Rhc2sgPSB0cnVlOwotICBtaWNy
b1Rhc2soZnVuY3Rpb24oKSB7IHNhbWVNaWNyb3Rhc2sgPSBmYWxzZTsgfSk7Ci0gIHRocm93IGV4
cGVjdGVkRXJyb3I7Ci19LCAnZmFpbGluZyBzeW5jaHJvbm91cyB0ZXN0IHdpdGhvdXQgY2xlYW51
cCcpOwotCi10ZXN0KGZ1bmN0aW9uKCkgewotICBhc3NlcnRfdHJ1ZShzYW1lTWljcm90YXNrKTsK
LX0sICdzdWItdGVzdCB3aXRoIDAgY2xlYW51cCBmdW5jdGlvbnMgZXhlY3V0ZXMgaW4gdGhlIHNh
bWUgbWljcm90YXNrIGFzIGEgZmFpbGluZyBzdWItdGVzdCcpOwotCi10ZXN0KGZ1bmN0aW9uKHQp
IHsKLSAgdC5hZGRfY2xlYW51cChmdW5jdGlvbigpIHt9KTsKLQotICBzYW1lTWljcm90YXNrID0g
dHJ1ZTsKLSAgbWljcm9UYXNrKGZ1bmN0aW9uKCkgeyBzYW1lTWljcm90YXNrID0gZmFsc2U7IH0p
OwotfSwgJ3N5bmNocm9ub3VzIHRlc3Qgd2l0aCBjbGVhbnVwJyk7Ci0KLXRlc3QoZnVuY3Rpb24o
KSB7Ci0gIGFzc2VydF90cnVlKHNhbWVNaWNyb3Rhc2spOwotfSwgJ3N1Yi10ZXN0IHdpdGggc29t
ZSBjbGVhbnVwIGZ1bmN0aW9ucyBleGVjdXRlcyBpbiB0aGUgc2FtZSBtaWNyb3Rhc2sgYXMgYSBw
YXNzaW5nIHN1Yi10ZXN0Jyk7Ci0KLXRlc3QoZnVuY3Rpb24odCkgewotICB0LmFkZF9jbGVhbnVw
KGZ1bmN0aW9uKCkge30pOwotCi0gIHNhbWVNaWNyb3Rhc2sgPSB0cnVlOwotICBtaWNyb1Rhc2so
ZnVuY3Rpb24oKSB7IHNhbWVNaWNyb3Rhc2sgPSBmYWxzZTsgfSk7Ci0gIHRocm93IGV4cGVjdGVk
RXJyb3I7Ci19LCAnZmFpbGluZyBzeW5jaHJvbm91cyB0ZXN0IHdpdGggY2xlYW51cCcpOwotCi10
ZXN0KGZ1bmN0aW9uKCkgewotICBhc3NlcnRfdHJ1ZShzYW1lTWljcm90YXNrKTsKLX0sICdzdWIt
dGVzdCB3aXRoIHNvbWUgY2xlYW51cCBmdW5jdGlvbnMgZXhlY3V0ZXMgaW4gdGhlIHNhbWUgbWlj
cm90YXNrIGFzIGEgZmFpbGluZyBzdWItdGVzdCcpOwotPC9zY3JpcHQ+Ci0KLTxzY3JpcHQgdHlw
ZT0idGV4dC9qc29uIiBpZD0iZXhwZWN0ZWQiPgotewotICAgICJzdW1tYXJpemVkX3N0YXR1cyI6
IHsKLSAgICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgICAic3RhdHVzX3N0cmluZyI6ICJP
SyIKLSAgICB9LAotICAgICJzdW1tYXJpemVkX3Rlc3RzIjogWwotICAgICAgICB7Ci0gICAgICAg
ICAgICAibWVzc2FnZSI6ICJUaGlzIGVycm9yIGlzIGV4cGVjdGVkIiwKLSAgICAgICAgICAgICJu
YW1lIjogImZhaWxpbmcgc3luY2hyb25vdXMgdGVzdCB3aXRoIGNsZWFudXAiLAotICAgICAgICAg
ICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICAgICAgICJzdGF0dXNfc3RyaW5nIjogIkZBSUwi
Ci0gICAgICAgIH0sCi0gICAgICAgIHsKLSAgICAgICAgICAgICJtZXNzYWdlIjogIlRoaXMgZXJy
b3IgaXMgZXhwZWN0ZWQiLAotICAgICAgICAgICAgIm5hbWUiOiAiZmFpbGluZyBzeW5jaHJvbm91
cyB0ZXN0IHdpdGhvdXQgY2xlYW51cCIsCi0gICAgICAgICAgICAicHJvcGVydGllcyI6IHt9LAot
ICAgICAgICAgICAgInN0YXR1c19zdHJpbmciOiAiRkFJTCIKLSAgICAgICAgfSwKLSAgICAgICAg
ewotICAgICAgICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgICAgICAgIm5hbWUiOiAicHJl
Y29uZGl0aW9uOiBtaWNyb3Rhc2sgY3JlYXRpb24gbG9naWMgZnVuY3Rpb25zIGFzIGV4cGVjdGVk
IiwKLSAgICAgICAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAgICAgICAic3RhdHVzX3N0
cmluZyI6ICJQQVNTIgotICAgICAgICB9LAotICAgICAgICB7Ci0gICAgICAgICAgICAibWVzc2Fn
ZSI6IG51bGwsCi0gICAgICAgICAgICAibmFtZSI6ICJzdWItdGVzdCB3aXRoIDAgY2xlYW51cCBm
dW5jdGlvbnMgZXhlY3V0ZXMgaW4gdGhlIHNhbWUgbWljcm90YXNrIGFzIGEgZmFpbGluZyBzdWIt
dGVzdCIsCi0gICAgICAgICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgICAgICAgInN0YXR1
c19zdHJpbmciOiAiUEFTUyIKLSAgICAgICAgfSwKLSAgICAgICAgewotICAgICAgICAgICAgIm1l
c3NhZ2UiOiBudWxsLAotICAgICAgICAgICAgIm5hbWUiOiAic3ViLXRlc3Qgd2l0aCAwIGNsZWFu
dXAgZnVuY3Rpb25zIGV4ZWN1dGVzIGluIHRoZSBzYW1lIG1pY3JvdGFzayBhcyBhIHBhc3Npbmcg
c3ViLXRlc3QiLAotICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICAgICAgICJz
dGF0dXNfc3RyaW5nIjogIlBBU1MiCi0gICAgICAgIH0sCi0gICAgICAgIHsKLSAgICAgICAgICAg
ICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICAgICAgICJuYW1lIjogInN1Yi10ZXN0IHdpdGggc29t
ZSBjbGVhbnVwIGZ1bmN0aW9ucyBleGVjdXRlcyBpbiB0aGUgc2FtZSBtaWNyb3Rhc2sgYXMgYSBm
YWlsaW5nIHN1Yi10ZXN0IiwKLSAgICAgICAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAg
ICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIgotICAgICAgICB9LAotICAgICAgICB7Ci0gICAg
ICAgICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAgICAgICAibmFtZSI6ICJzdWItdGVzdCB3
aXRoIHNvbWUgY2xlYW51cCBmdW5jdGlvbnMgZXhlY3V0ZXMgaW4gdGhlIHNhbWUgbWljcm90YXNr
IGFzIGEgcGFzc2luZyBzdWItdGVzdCIsCi0gICAgICAgICAgICAicHJvcGVydGllcyI6IHt9LAot
ICAgICAgICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIKLSAgICAgICAgfSwKLSAgICAgICAg
ewotICAgICAgICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgICAgICAgIm5hbWUiOiAic3lu
Y2hyb25vdXMgdGVzdCB3aXRoIGNsZWFudXAiLAotICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7
fSwKLSAgICAgICAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiCi0gICAgICAgIH0sCi0gICAg
ICAgIHsKLSAgICAgICAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICAgICAgICJuYW1lIjog
InN5bmNocm9ub3VzIHRlc3Qgd2l0aG91dCBjbGVhbnVwIiwKLSAgICAgICAgICAgICJwcm9wZXJ0
aWVzIjoge30sCi0gICAgICAgICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIgotICAgICAgICB9
Ci0gICAgXSwKLSAgICAidHlwZSI6ICJjb21wbGV0ZSIKLX0KLTwvc2NyaXB0PgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
dGVzdC90ZXN0cy9mdW5jdGlvbmFsL3VuY2F1Z2h0LWV4Y2VwdGlvbi1oYW5kbGUuaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3Qv
dGVzdHMvZnVuY3Rpb25hbC91bmNhdWdodC1leGNlcHRpb24taGFuZGxlLmh0bWwKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDRjOTYwMTg2ZTBkLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rl
c3RzL2Z1bmN0aW9uYWwvdW5jYXVnaHQtZXhjZXB0aW9uLWhhbmRsZS5odG1sCisrKyAvZGV2L251
bGwKQEAgLTEsMzYgKzAsMCBAQAotPCFET0NUWVBFIEhUTUw+Ci08aHRtbD4KLTxoZWFkPgotPG1l
dGEgbmFtZT0idmFyaWFudCIgY29udGVudD0iIj4KLTxtZXRhIG5hbWU9InZhcmlhbnQiIGNvbnRl
bnQ9Ij9rZWVwLXByb21pc2UiPgotPHRpdGxlPkhhcm5lc3MgSGFuZGxpbmcgVW5jYXVnaHQgRXhj
ZXB0aW9uPC90aXRsZT4KLTxzY3JpcHQgc3JjPSIuLi8uLi92YXJpYW50cy5qcyI+PC9zY3JpcHQ+
Ci08L2hlYWQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+Ci0KLTxib2R5PgotPGgxPkhhcm5lc3MgSGFuZGxpbmcgVW5jYXVnaHQgRXhjZXB0aW9uPC9o
MT4KLTxkaXYgaWQ9ImxvZyI+PC9kaXY+Ci08c2NyaXB0PgotdmFyIHQgPSBhc3luY190ZXN0KCJU
aGlzIHNob3VsZCBzaG93IGEgaGFybmVzcyBzdGF0dXMgb2YgJ0Vycm9yJyBhbmQgYSB0ZXN0IHN0
YXR1cyBvZiAnTm90IFJ1biciKTsKLXRocm93IG5ldyBFcnJvcigiRXhhbXBsZSBFcnJvciIpOwot
PC9zY3JpcHQ+Ci08c2NyaXB0IHR5cGU9InRleHQvanNvbiIgaWQ9ImV4cGVjdGVkIj4KLXsKLSAg
InN1bW1hcml6ZWRfc3RhdHVzIjogewotICAgICJzdGF0dXNfc3RyaW5nIjogIkVSUk9SIiwKLSAg
ICAibWVzc2FnZSI6ICJFcnJvcjogRXhhbXBsZSBFcnJvciIKLSAgfSwKLSAgInN1bW1hcml6ZWRf
dGVzdHMiOiBbCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiTk9UUlVOIiwKLSAgICAg
ICJuYW1lIjogIlRoaXMgc2hvdWxkIHNob3cgYSBoYXJuZXNzIHN0YXR1cyBvZiAnRXJyb3InIGFu
ZCBhIHRlc3Qgc3RhdHVzIG9mICdOb3QgUnVuJyIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAot
ICAgICAgIm1lc3NhZ2UiOiBudWxsCi0gICAgfQotICBdLAotICAidHlwZSI6ICJjb21wbGV0ZSIK
LX0KLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5j
dGlvbmFsL3VuY2F1Z2h0LWV4Y2VwdGlvbi1pZ25vcmUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25h
bC91bmNhdWdodC1leGNlcHRpb24taWdub3JlLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IGI2ZDMwZWFiMGYwLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwv
dW5jYXVnaHQtZXhjZXB0aW9uLWlnbm9yZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMzggKzAs
MCBAQAotPCFET0NUWVBFIEhUTUw+Ci08aHRtbD4KLTxoZWFkPgotPG1ldGEgbmFtZT0idmFyaWFu
dCIgY29udGVudD0iIj4KLTxtZXRhIG5hbWU9InZhcmlhbnQiIGNvbnRlbnQ9Ij9rZWVwLXByb21p
c2UiPgotPHRpdGxlPkhhcm5lc3MgSWdub3JpbmcgVW5jYXVnaHQgRXhjZXB0aW9uPC90aXRsZT4K
LTxzY3JpcHQgc3JjPSIuLi8uLi92YXJpYW50cy5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci0KLTxib2R5Pgot
PGgxPkhhcm5lc3MgSWdub3JpbmcgVW5jYXVnaHQgRXhjZXB0aW9uPC9oMT4KLTxkaXYgaWQ9Imxv
ZyI+PC9kaXY+Ci08c2NyaXB0Pgotc2V0dXAoe2FsbG93X3VuY2F1Z2h0X2V4Y2VwdGlvbjp0cnVl
fSk7Ci12YXIgdCA9IGFzeW5jX3Rlc3QoInNldHVwKHthbGxvd191bmNhdWdodF9leGNlcHRpb246
dHJ1ZX0pIHNob3VsZCBhbGxvdyB0ZXN0cyB0byBwYXNzIGV2ZW4gaWYgdGhlcmUgaXMgYW4gZXhj
ZXB0aW9uIik7Ci1vbmVycm9yID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24oKSB7dC5kb25lKCl9KTsK
LXRocm93IG5ldyBFcnJvcigiRXhhbXBsZSBFcnJvciIpOwotPC9zY3JpcHQ+Ci08c2NyaXB0IHR5
cGU9InRleHQvanNvbiIgaWQ9ImV4cGVjdGVkIj4KLXsKLSAgInN1bW1hcml6ZWRfc3RhdHVzIjog
ewotICAgICJzdGF0dXNfc3RyaW5nIjogIk9LIiwKLSAgICAibWVzc2FnZSI6IG51bGwKLSAgfSwK
LSAgInN1bW1hcml6ZWRfdGVzdHMiOiBbCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAi
UEFTUyIsCi0gICAgICAibmFtZSI6ICJzZXR1cCh7YWxsb3dfdW5jYXVnaHRfZXhjZXB0aW9uOnRy
dWV9KSBzaG91bGQgYWxsb3cgdGVzdHMgdG8gcGFzcyBldmVuIGlmIHRoZXJlIGlzIGFuIGV4Y2Vw
dGlvbiIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsCi0g
ICAgfQotICBdLAotICAidHlwZSI6ICJjb21wbGV0ZSIKLX0KLTwvc2NyaXB0PgotPC9ib2R5Pgot
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFsL3czYy1pbXBvcnQubG9nIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVz
dC90ZXN0cy9mdW5jdGlvbmFsL3czYy1pbXBvcnQubG9nCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAyYWRiNjczMDUyYS4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFs
L3czYy1pbXBvcnQubG9nCisrKyAvZGV2L251bGwKQEAgLTEsNTkgKzAsMCBAQAotVGhlIHRlc3Rz
IGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnku
Ci1EbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQs
IGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1
Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdAotCi1UaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0
cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydAotCi1EbyBOT1QgbW9kaWZ5
IG9yIHJlbW92ZSB0aGlzIGZpbGUuCi0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotUHJvcGVydGllcyByZXF1
aXJpbmcgdmVuZG9yIHByZWZpeGVzOgotTm9uZQotUHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2
ZW5kb3IgcHJlZml4ZXM6Ci1Ob25lCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLUxpc3Qgb2YgZmlsZXM6Ci0v
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVz
dC90ZXN0cy9mdW5jdGlvbmFsL2FkZF9jbGVhbnVwLmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwv
YWRkX2NsZWFudXBfYXN5bmMuaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC9hZGRfY2xlYW51cF9h
c3luY19iYWRfcmV0dXJuLmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvYWRkX2NsZWFudXBfYXN5
bmNfcmVqZWN0aW9uLmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvYWRkX2NsZWFudXBfYXN5bmNf
cmVqZWN0aW9uX2FmdGVyX2xvYWQuaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC9hZGRfY2xlYW51
cF9hc3luY190aW1lb3V0Lmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvYWRkX2NsZWFudXBfYmFk
X3JldHVybi5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFsL2FkZF9jbGVhbnVwX2NvdW50Lmh0bWwK
LS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90
ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvYWRkX2NsZWFudXBfZXJyLmh0bWwKLS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0
aW9uYWwvYWRkX2NsZWFudXBfZXJyX211bHRpLmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvYWRk
X2NsZWFudXBfc3luY19xdWV1ZS5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFsL2FwaS10ZXN0cy0x
Lmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvYXBpLXRlc3RzLTIuaHRtbAotL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVu
Y3Rpb25hbC9hcGktdGVzdHMtMy5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFsL2ZvcmNlX3RpbWVv
dXQuaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC9nZW5lcmF0ZS1jYWxsYmFjay5odG1sCi0vTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90
ZXN0cy9mdW5jdGlvbmFsL2lmcmFtZS1jYWxsYmFjay5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFs
L2lmcmFtZS1jb25zb2xpZGF0ZS1lcnJvcnMuaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC9pZnJh
bWUtY29uc29saWRhdGUtdGVzdHMuaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC9pZnJhbWUtbXNn
Lmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvbG9nLWluc2VydGlvbi5odG1sCi0vTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9m
dW5jdGlvbmFsL29yZGVyLmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvcHJvbWlzZS1hc3luYy5o
dG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFsL3Byb21pc2Utd2l0aC1zeW5jLmh0bWwKLS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3Rz
L2Z1bmN0aW9uYWwvcHJvbWlzZS5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFsL3F1ZXVlLmh0bWwK
LS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90
ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvc2luZ2xlLXBhZ2UtdGVzdC1mYWlsLmh0bWwKLS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3Rz
L2Z1bmN0aW9uYWwvc2luZ2xlLXBhZ2UtdGVzdC1uby1hc3NlcnRpb25zLmh0bWwKLS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3Rz
L2Z1bmN0aW9uYWwvc2luZ2xlLXBhZ2UtdGVzdC1uby1ib2R5Lmh0bWwKLS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0
aW9uYWwvc2luZ2xlLXBhZ2UtdGVzdC1wYXNzLmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvdGFz
ay1zY2hlZHVsaW5nLXByb21pc2UtdGVzdC5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFsL3Rhc2st
c2NoZWR1bGluZy10ZXN0Lmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvdW5jYXVnaHQtZXhjZXB0
aW9uLWhhbmRsZS5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFsL3VuY2F1Z2h0LWV4Y2VwdGlvbi1p
Z25vcmUuaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC93b3JrZXItZGVkaWNhdGVkLXVuY2F1Z2h0
LWFsbG93Lmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvd29ya2VyLWRlZGljYXRlZC11bmNhdWdo
dC1zaW5nbGUuaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC93b3JrZXItZGVkaWNhdGVkLnN1Yi5o
dG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFsL3dvcmtlci1lcnJvci5qcwotL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rp
b25hbC93b3JrZXItc2VydmljZS5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFsL3dvcmtlci1zaGFy
ZWQuaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC93b3JrZXItdW5jYXVnaHQtYWxsb3cuanMKLS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0
L3Rlc3RzL2Z1bmN0aW9uYWwvd29ya2VyLXVuY2F1Z2h0LXNpbmdsZS5qcwotL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVu
Y3Rpb25hbC93b3JrZXIuanMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC93b3JrZXIt
ZGVkaWNhdGVkLXVuY2F1Z2h0LWFsbG93Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvd29ya2Vy
LWRlZGljYXRlZC11bmNhdWdodC1hbGxvdy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAzMzU0M2QwYjRlNy4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFsL3dv
cmtlci1kZWRpY2F0ZWQtdW5jYXVnaHQtYWxsb3cuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDQ4
ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLTxtZXRhIG5hbWU9InZh
cmlhbnQiIGNvbnRlbnQ9IiI+Ci08bWV0YSBuYW1lPSJ2YXJpYW50IiBjb250ZW50PSI/a2VlcC1w
cm9taXNlIj4KLTx0aXRsZT5EZWRpY2F0ZWQgV29ya2VyIFRlc3RzIC0gQWxsb3dlZCBVbmNhdWdo
dCBFeGNlcHRpb248L3RpdGxlPgotPHNjcmlwdCBzcmM9Ii4uLy4uL3ZhcmlhbnRzLmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
LTwvaGVhZD4KLTxib2R5PgotPGgxPkRlZGljYXRlZCBXZWIgV29ya2VyIFRlc3RzIC0gQWxsb3dl
ZCBVbmNhdWdodCBFeGNlcHRpb248L2gxPgotPHA+RGVtb25zdHJhdGVzIHJ1bm5pbmcgPHR0PnRl
c3RoYXJuZXNzPC90dD4gYmFzZWQgdGVzdHMgaW5zaWRlIGEgZGVkaWNhdGVkIHdlYiB3b3JrZXIu
Ci08cD5UaGUgdGVzdCBoYXJuZXNzIGlzIGV4cGVjdGVkIHRvIHBhc3MgZGVzcGl0ZSBhbiB1bmNh
dWdodCBleGNlcHRpb24gaW4gYSB3b3JrZXIgYmVjYXVzZSB0aGF0IHdvcmtlciBpcyBjb25maWd1
cmVkIHRvIGFsbG93IHVuY2F1Z2h0IGV4Y2VwdGlvbnMuPC9wPgotPGRpdiBpZD0ibG9nIj48L2Rp
dj4KLQotPHNjcmlwdD4KLXRlc3QoZnVuY3Rpb24odCkgewotICAgICAgICBhc3NlcnRfdHJ1ZSgi
V29ya2VyIiBpbiBzZWxmLCAiQnJvd3NlciBzaG91bGQgc3VwcG9ydCBXb3JrZXJzIik7Ci0gICAg
fSwKLSAgICAiQnJvd3NlciBzdXBwb3J0cyBXb3JrZXJzIik7Ci0KLWZldGNoX3Rlc3RzX2Zyb21f
d29ya2VyKG5ldyBXb3JrZXIoIndvcmtlci11bmNhdWdodC1hbGxvdy5qcyIpKTsKLTwvc2NyaXB0
PgotPHNjcmlwdCB0eXBlPSJ0ZXh0L2pzb24iIGlkPSJleHBlY3RlZCI+Ci17Ci0gICJzdW1tYXJp
emVkX3N0YXR1cyI6IHsKLSAgICAic3RhdHVzX3N0cmluZyI6ICJPSyIsCi0gICAgIm1lc3NhZ2Ui
OiBudWxsCi0gIH0sCi0gICJzdW1tYXJpemVkX3Rlc3RzIjogWwotICAgIHsKLSAgICAgICJzdGF0
dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUiOiAiQnJvd3NlciBzdXBwb3J0cyBXb3Jr
ZXJzIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6IG51bGwKLSAg
ICB9LAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUi
OiAib25lcnJvciBldmVudCBpcyB0cmlnZ2VyZWQiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwK
LSAgICAgICJtZXNzYWdlIjogbnVsbAotICAgIH0KLSAgXSwKLSAgInR5cGUiOiAiY29tcGxldGUi
Ci19Ci08L3NjcmlwdD4KLTwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC93
b3JrZXItZGVkaWNhdGVkLXVuY2F1Z2h0LXNpbmdsZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFs
L3dvcmtlci1kZWRpY2F0ZWQtdW5jYXVnaHQtc2luZ2xlLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDc2MDE1MTgzMmU4Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0
aW9uYWwvd29ya2VyLWRlZGljYXRlZC11bmNhdWdodC1zaW5nbGUuaHRtbAorKysgL2Rldi9udWxs
CkBAIC0xLDU5ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLTxtZXRh
IG5hbWU9InZhcmlhbnQiIGNvbnRlbnQ9IiI+Ci08bWV0YSBuYW1lPSJ2YXJpYW50IiBjb250ZW50
PSI/a2VlcC1wcm9taXNlIj4KLTx0aXRsZT5EZWRpY2F0ZWQgV29ya2VyIFRlc3RzIC0gVW5jYXVn
aHQgRXhjZXB0aW9uIGluIFNpbmdsZS1QYWdlIFRlc3Q8L3RpdGxlPgotPHNjcmlwdCBzcmM9Ii4u
Ly4uL3ZhcmlhbnRzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGgxPkRlZGljYXRlZCBXZWIg
V29ya2VyIFRlc3RzIC0gVW5jYXVnaHQgRXhjZXB0aW9uIGluIFNpbmdsZS1QYWdlIFRlc3Q8L2gx
PgotPHA+RGVtb25zdHJhdGVzIHJ1bm5pbmcgPHR0PnRlc3RoYXJuZXNzPC90dD4gYmFzZWQgdGVz
dHMgaW5zaWRlIGEgZGVkaWNhdGVkIHdlYiB3b3JrZXIuCi08cD5UaGUgdGVzdCBoYXJuZXNzIGlz
IGV4cGVjdGVkIHRvIHBhc3MgZGVzcGl0ZSBhbiB1bmNhdWdodCBleGNlcHRpb24gaW4gYSB3b3Jr
ZXIgYmVjYXVzZSB0aGF0IHdvcmtlciBpcyBhIHNpbmdsZS1wYWdlIHRlc3QuPC9wPgotPGRpdiBp
ZD0ibG9nIj48L2Rpdj4KLQotPHNjcmlwdD4KLXRlc3QoZnVuY3Rpb24odCkgewotICAgICAgICBh
c3NlcnRfdHJ1ZSgiV29ya2VyIiBpbiBzZWxmLCAiQnJvd3NlciBzaG91bGQgc3VwcG9ydCBXb3Jr
ZXJzIik7Ci0gICAgfSwKLSAgICAiQnJvd3NlciBzdXBwb3J0cyBXb3JrZXJzIik7Ci0KLWZldGNo
X3Rlc3RzX2Zyb21fd29ya2VyKG5ldyBXb3JrZXIoIndvcmtlci11bmNhdWdodC1zaW5nbGUuanMi
KSk7Ci0KLXRlc3QoZnVuY3Rpb24odCkgewotICAgICAgICBhc3NlcnRfZmFsc2UoZmFsc2UsICJG
YWxzZSBpcyBmYWxzZSIpOwotICAgIH0sCi0gICAgIlRlc3QgcnVubmluZyBvbiBtYWluIGRvY3Vt
ZW50LiIpOwotPC9zY3JpcHQ+Ci08c2NyaXB0IHR5cGU9InRleHQvanNvbiIgaWQ9ImV4cGVjdGVk
Ij4KLXsKLSAgInN1bW1hcml6ZWRfc3RhdHVzIjogewotICAgICJzdGF0dXNfc3RyaW5nIjogIk9L
IiwKLSAgICAibWVzc2FnZSI6IG51bGwKLSAgfSwKLSAgInN1bW1hcml6ZWRfdGVzdHMiOiBbCi0g
ICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJCcm93
c2VyIHN1cHBvcnRzIFdvcmtlcnMiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJt
ZXNzYWdlIjogbnVsbAotICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFT
UyIsCi0gICAgICAibmFtZSI6ICJUZXN0IHJ1bm5pbmcgb24gbWFpbiBkb2N1bWVudC4iLAotICAg
ICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogbnVsbAotICAgIH0sCi0gICAg
ewotICAgICAgInN0YXR1c19zdHJpbmciOiAiRkFJTCIsCi0gICAgICAibmFtZSI6ICJ3b3JrZXIt
dW5jYXVnaHQtc2luZ2xlIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2Fn
ZSI6ICJFcnJvcjogVGhpcyBmYWlsdXJlIGlzIGV4cGVjdGVkLiIKLSAgICB9Ci0gIF0sCi0gICJ0
eXBlIjogImNvbXBsZXRlIgotfQotPC9zY3JpcHQ+Ci08L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rl
c3RzL2Z1bmN0aW9uYWwvd29ya2VyLWRlZGljYXRlZC5zdWIuaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rp
b25hbC93b3JrZXItZGVkaWNhdGVkLnN1Yi5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCA1NTczYjFkNTI3My4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFsL3dv
cmtlci1kZWRpY2F0ZWQuc3ViLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw5MSArMCwwIEBACi08
IURPQ1RZUEUgSFRNTD4KLTxodG1sPgotPGhlYWQ+Ci08bWV0YSBuYW1lPSJ2YXJpYW50IiBjb250
ZW50PSIiPgotPG1ldGEgbmFtZT0idmFyaWFudCIgY29udGVudD0iP2tlZXAtcHJvbWlzZSI+Ci08
dGl0bGU+RGVkaWNhdGVkIFdvcmtlciBUZXN0czwvdGl0bGU+Ci08c2NyaXB0IHNyYz0iLi4vLi4v
dmFyaWFudHMuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Rlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxoMT5EZWRpY2F0ZWQgV2ViIFdvcmtlciBU
ZXN0czwvaDE+Ci08cD5EZW1vbnN0cmF0ZXMgcnVubmluZyA8dHQ+dGVzdGhhcm5lc3M8L3R0PiBi
YXNlZCB0ZXN0cyBpbnNpZGUgYSBkZWRpY2F0ZWQgd2ViIHdvcmtlci4KLTxwPlRoZSB0ZXN0IGhh
cm5lc3MgaXMgZXhwZWN0ZWQgdG8gZmFpbCBkdWUgdG8gYW4gdW5jYXVnaHQgZXhjZXB0aW9uIGlu
IG9uZSB3b3JrZXIuPC9wPgotPGRpdiBpZD0ibG9nIj48L2Rpdj4KLQotPHNjcmlwdD4KLXRlc3Qo
ZnVuY3Rpb24odCkgewotICAgICAgICBhc3NlcnRfdHJ1ZSgiV29ya2VyIiBpbiBzZWxmLCAiQnJv
d3NlciBzaG91bGQgc3VwcG9ydCBXb3JrZXJzIik7Ci0gICAgfSwKLSAgICAiQnJvd3NlciBzdXBw
b3J0cyBXb3JrZXJzIik7Ci0KLWZldGNoX3Rlc3RzX2Zyb21fd29ya2VyKG5ldyBXb3JrZXIoIndv
cmtlci5qcyIpKTsKLQotZmV0Y2hfdGVzdHNfZnJvbV93b3JrZXIobmV3IFdvcmtlcigid29ya2Vy
LWVycm9yLmpzIikpOwotCi10ZXN0KGZ1bmN0aW9uKHQpIHsKLSAgICAgICAgYXNzZXJ0X2ZhbHNl
KGZhbHNlLCAiRmFsc2UgaXMgZmFsc2UiKTsKLSAgICB9LAotICAgICJUZXN0IHJ1bm5pbmcgb24g
bWFpbiBkb2N1bWVudC4iKTsKLTwvc2NyaXB0PgotPHNjcmlwdCB0eXBlPSJ0ZXh0L2pzb24iIGlk
PSJleHBlY3RlZCI+Ci17Ci0gICJzdW1tYXJpemVkX3N0YXR1cyI6IHsKLSAgICAic3RhdHVzX3N0
cmluZyI6ICJFUlJPUiIsCi0gICAgIm1lc3NhZ2UiOiAiRXJyb3I6IFRoaXMgZmFpbHVyZSBpcyBl
eHBlY3RlZC4iCi0gIH0sCi0gICJzdW1tYXJpemVkX3Rlc3RzIjogWwotICAgIHsKLSAgICAgICJz
dGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUiOiAiQnJvd3NlciBzdXBwb3J0cyBX
b3JrZXJzIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6IG51bGwK
LSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5h
bWUiOiAiVGVzdCBydW5uaW5nIG9uIG1haW4gZG9jdW1lbnQuIiwKLSAgICAgICJwcm9wZXJ0aWVz
Ijoge30sCi0gICAgICAibWVzc2FnZSI6IG51bGwKLSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0
dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUiOiAiV29ya2VyIGFzeW5jX3Rlc3QgdGhh
dCBjb21wbGV0ZXMgc3VjY2Vzc2Z1bGx5IiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAg
ICAibWVzc2FnZSI6IG51bGwKLSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjog
IlBBU1MiLAotICAgICAgIm5hbWUiOiAiV29ya2VyIHRlc3QgdGhhdCBjb21wbGV0ZXMgc3VjY2Vz
c2Z1bGx5IiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6IG51bGwK
LSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5h
bWUiOiAid29ya2VyIHRlc3QgdGhhdCBjb21wbGV0ZXMgc3VjY2Vzc2Z1bGx5IGJlZm9yZSBleGNl
cHRpb24iLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogbnVsbAot
ICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiTk9UUlVOIiwKLSAgICAgICJu
YW1lIjogIldvcmtlciB0ZXN0IHRoYXQgZG9lc24ndCBydW4gKCdOT1QgUlVOJykiLAotICAgICAg
InByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogbnVsbAotICAgIH0sCi0gICAgewot
ICAgICAgInN0YXR1c19zdHJpbmciOiAiRkFJTCIsCi0gICAgICAibmFtZSI6ICJXb3JrZXIgdGVz
dCB0aGF0IGZhaWxzICgnRkFJTCcpIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAi
bWVzc2FnZSI6ICJhc3NlcnRfdHJ1ZTogRmFpbGluZyB0ZXN0IGV4cGVjdGVkIHRydWUgZ290IGZh
bHNlIgotICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiVElNRU9VVCIsCi0g
ICAgICAibmFtZSI6ICJXb3JrZXIgdGVzdCB0aGF0IHRpbWVzIG91dCAoJ1RJTUVPVVQnKSIsCi0g
ICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiAiVGVzdCB0aW1lZCBvdXQi
Ci0gICAgfQotICBdLAotICAidHlwZSI6ICJjb21wbGV0ZSIKLX0KLTwvc2NyaXB0PgotPC9ib2R5
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFsL3dvcmtlci1lcnJvci5qcyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVz
dHMvZnVuY3Rpb25hbC93b3JrZXItZXJyb3IuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDdiODk2MDJmMDRiLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvd29y
a2VyLWVycm9yLmpzCisrKyAvZGV2L251bGwKQEAgLTEsOCArMCwwIEBACi1pbXBvcnRTY3JpcHRz
KCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci0KLS8vIFRoZSBmb2xsb3dpbmcgc3ViLXRl
c3QgZW5zdXJlcyB0aGF0IHRoZSB3b3JrZXIgaXMgbm90IGludGVycHJldGVkIGFzIGEKLS8vIHNp
bmdsZS1wYWdlIHRlc3QuICBUaGUgc3Vic2VxdWVudCB1bmNhdWdodCBleGNlcHRpb24gc2hvdWxk
IHRoZXJlZm9yZSBiZQotLy8gaW50ZXJwcmV0ZWQgYXMgYSBoYXJuZXNzIGVycm9yIHJhdGhlciB0
aGFuIGEgc2luZ2xlLXBhZ2UgdGVzdCBmYWlsdXJlLgotdGVzdChmdW5jdGlvbigpIHt9LCAid29y
a2VyIHRlc3QgdGhhdCBjb21wbGV0ZXMgc3VjY2Vzc2Z1bGx5IGJlZm9yZSBleGNlcHRpb24iKTsK
LQotdGhyb3cgbmV3IEVycm9yKCJUaGlzIGZhaWx1cmUgaXMgZXhwZWN0ZWQuIik7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvd29ya2VyLXNlcnZpY2UuaHRtbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVu
Y3Rpb25hbC93b3JrZXItc2VydmljZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCBjMjcxZTY1OTljMC4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFsL3dvcmtl
ci1zZXJ2aWNlLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxMTcgKzAsMCBAQAotPCFET0NUWVBF
IEhUTUw+Ci08aHRtbD4KLTxoZWFkPgotPG1ldGEgbmFtZT0idmFyaWFudCIgY29udGVudD0iP2tl
ZXAtcHJvbWlzZSI+Ci08dGl0bGU+RXhhbXBsZSB3aXRoIGEgc2VydmljZSB3b3JrZXI8L3RpdGxl
PgotPHNjcmlwdCBzcmM9Ii4uLy4uL3ZhcmlhbnRzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5Pgot
PGgxPlNlcnZpY2UgV29ya2VyIFRlc3RzPC9oMT4KLTxwPkRlbW9uc3RyYXRlcyBydW5uaW5nIDx0
dD50ZXN0aGFybmVzczwvdHQ+IGJhc2VkIHRlc3RzIGluc2lkZSBhIHNlcnZpY2Ugd29ya2VyLgot
PHA+VGhlIHRlc3QgaGFybmVzcyBzaG91bGQgdGltZSBvdXQgZHVlIHRvIG9uZSBvZiB0aGUgdGVz
dHMgaW5zaWRlIHRoZSB3b3JrZXIgdGltaW5nIG91dC4KLTxwPlRoaXMgdGVzdCBhc3N1bWVzIHRo
YXQgdGhlIGJyb3dzZXIgc3VwcG9ydHMgPGEgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvc2Vy
dmljZS13b3JrZXJzLyI+U2VydmljZVdvcmtlcnM8L2E+LgotPGRpdiBpZD0ibG9nIj48L2Rpdj4K
LQotPHNjcmlwdD4KLXRlc3QoCi0gICAgZnVuY3Rpb24odCkgewotICAgICAgICBhc3NlcnRfdHJ1
ZSgic2VydmljZVdvcmtlciIgaW4gbmF2aWdhdG9yLAotICAgICAgICAgICAgICAgICAgICAibmF2
aWdhdG9yLnNlcnZpY2VXb3JrZXIgZXhpc3RzIik7Ci0gICAgfSwKLSAgICAiQnJvd3NlciBzdXBw
b3J0cyBTZXJ2aWNlV29ya2VyIik7Ci0KLXByb21pc2VfdGVzdCgKLSAgICBmdW5jdGlvbigpIHsK
LSAgICAgICAgLy8gU2luY2UgdGhlIHNlcnZpY2Ugd29ya2VyIHJlZ2lzdHJhdGlvbiBjb3VsZCBi
ZSBpbiBhbiBpbmRldGVybWluYXRlCi0gICAgICAgIC8vIHN0YXRlIChkdWUgdG8sIGZvciBleGFt
cGxlLCBhIHByZXZpb3VzIHRlc3QgcnVuIGZhaWxpbmcpLCB3ZSBzdGFydCBieQotICAgICAgICAv
LyB1bnJlZ3N0ZXJpbmcgb3VyIHNlcnZpY2Ugd29ya2VyIGFuZCB0aGVuIHJlZ2lzdGVyaW5nIGl0
IGFnYWluLgotICAgICAgICB2YXIgc2NvcGUgPSAic2VydmljZS13b3JrZXItc2NvcGUiOwotICAg
ICAgICB2YXIgd29ya2VyX3VybCA9ICJ3b3JrZXIuanMiOwotCi0gICAgICAgIHJldHVybiBuYXZp
Z2F0b3Iuc2VydmljZVdvcmtlci5yZWdpc3Rlcih3b3JrZXJfdXJsLCB7c2NvcGU6IHNjb3BlfSkK
LSAgICAgICAgICAgIC50aGVuKAotICAgICAgICAgICAgICAgIGZ1bmN0aW9uKHJlZ2lzdHJhdGlv
bikgewotICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVnaXN0cmF0aW9uLnVucmVnaXN0ZXIo
KTsKLSAgICAgICAgICAgICAgICB9KQotICAgICAgICAgICAgLnRoZW4oCi0gICAgICAgICAgICAg
ICAgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgICAgIHJldHVybiBuYXZpZ2F0b3Iuc2Vy
dmljZVdvcmtlci5yZWdpc3Rlcih3b3JrZXJfdXJsLCB7c2NvcGU6IHNjb3BlfSk7Ci0gICAgICAg
ICAgICAgICAgfSkKLSAgICAgICAgICAgIC50aGVuKAotICAgICAgICAgICAgICAgIGZ1bmN0aW9u
KHJlZ2lzdHJhdGlvbikgewotICAgICAgICAgICAgICAgICAgICBhZGRfY29tcGxldGlvbl9jYWxs
YmFjaygKLSAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHJlZ2lzdHJhdGlvbi51bnJlZ2lzdGVyKCk7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICB9KTsKLQotICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV3IFByb21pc2Uo
Ci0gICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbihyZXNvbHZlKSB7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgcmVnaXN0cmF0aW9uLmFkZEV2ZW50TGlzdGVuZXIoInVwZGF0ZWZv
dW5kIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24oKSB7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNvbHZlKHJlZ2lzdHJhdGlvbi5pbnN0
YWxsaW5nKTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICB9KTsKLSAgICAgICAgICAgICAgICB9KQotICAgICAgICAgICAgLnRoZW4o
Ci0gICAgICAgICAgICAgICAgZnVuY3Rpb24od29ya2VyKSB7Ci0gICAgICAgICAgICAgICAgICAg
IGZldGNoX3Rlc3RzX2Zyb21fd29ya2VyKHdvcmtlcik7Ci0gICAgICAgICAgICAgICAgfSk7Ci0g
ICAgfSwKLSAgICAiUmVnaXN0ZXIgU2VydmljZVdvcmtlciIpOwotPC9zY3JpcHQ+Ci08c2NyaXB0
IHR5cGU9InRleHQvanNvbiIgaWQ9ImV4cGVjdGVkIj4KLXsKLSAgInN1bW1hcml6ZWRfc3RhdHVz
IjogewotICAgICJzdGF0dXNfc3RyaW5nIjogIlRJTUVPVVQiLAotICAgICJtZXNzYWdlIjogbnVs
bAotICB9LAotICAic3VtbWFyaXplZF90ZXN0cyI6IFsKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0
cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1lIjogIkJyb3dzZXIgc3VwcG9ydHMgU2VydmljZVdv
cmtlciIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsCi0g
ICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1l
IjogIlJlZ2lzdGVyIFNlcnZpY2VXb3JrZXIiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAg
ICAgICJtZXNzYWdlIjogbnVsbAotICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmci
OiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJXb3JrZXIgYXN5bmNfdGVzdCB0aGF0IGNvbXBsZXRl
cyBzdWNjZXNzZnVsbHkiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdl
IjogbnVsbAotICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0g
ICAgICAibmFtZSI6ICJXb3JrZXIgdGVzdCB0aGF0IGNvbXBsZXRlcyBzdWNjZXNzZnVsbHkiLAot
ICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogbnVsbAotICAgIH0sCi0g
ICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiTk9UUlVOIiwKLSAgICAgICJuYW1lIjogIldv
cmtlciB0ZXN0IHRoYXQgZG9lc24ndCBydW4gKCdOT1QgUlVOJykiLAotICAgICAgInByb3BlcnRp
ZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogbnVsbAotICAgIH0sCi0gICAgewotICAgICAgInN0
YXR1c19zdHJpbmciOiAiRkFJTCIsCi0gICAgICAibmFtZSI6ICJXb3JrZXIgdGVzdCB0aGF0IGZh
aWxzICgnRkFJTCcpIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6
ICJhc3NlcnRfdHJ1ZTogRmFpbGluZyB0ZXN0IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlIgotICAg
IH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiVElNRU9VVCIsCi0gICAgICAibmFt
ZSI6ICJXb3JrZXIgdGVzdCB0aGF0IHRpbWVzIG91dCAoJ1RJTUVPVVQnKSIsCi0gICAgICAicHJv
cGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiAiVGVzdCB0aW1lZCBvdXQiCi0gICAgfQot
ICBdLAotICAidHlwZSI6ICJjb21wbGV0ZSIKLX0KLTwvc2NyaXB0PgotPC9ib2R5PgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFsL3dvcmtlci1zaGFyZWQuaHRtbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVu
Y3Rpb25hbC93b3JrZXItc2hhcmVkLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDVkMDk4ZGU5MTA1Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvd29ya2Vy
LXNoYXJlZC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNzYgKzAsMCBAQAotPCFET0NUWVBFIEhU
TUw+Ci08aHRtbD4KLTxoZWFkPgotPG1ldGEgbmFtZT0idmFyaWFudCIgY29udGVudD0iIj4KLTxt
ZXRhIG5hbWU9InZhcmlhbnQiIGNvbnRlbnQ9Ij9rZWVwLXByb21pc2UiPgotPHRpdGxlPkV4YW1w
bGUgd2l0aCBhIHNoYXJlZCB3b3JrZXI8L3RpdGxlPgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Zhcmlh
bnRzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGgxPlNoYXJlZCBXZWIgV29ya2VyIFRlc3Rz
PC9oMT4KLTxwPkRlbW9uc3RyYXRlcyBydW5uaW5nIDx0dD50ZXN0aGFybmVzczwvdHQ+IGJhc2Vk
IHRlc3RzIGluc2lkZSBhIHNoYXJlZCB3b3JrZXIuCi08cD5UaGUgdGVzdCBoYXJuZXNzIHNob3Vs
ZCB0aW1lIG91dCBkdWUgdG8gb25lIG9mIHRoZSB0ZXN0cyBpbiB0aGUgd29ya2VyIHRpbWluZyBv
dXQuCi08cD5UaGlzIHRlc3QgYXNzdW1lcyB0aGF0IHRoZSBicm93c2VyIHN1cHBvcnRzIDxhIGhy
ZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL3dvcmtlcnMvI3NoYXJlZC13b3JrZXJzLWFuZC10aGUt
c2hhcmVkd29ya2VyLWludGVyZmFjZSI+c2hhcmVkIHdlYiB3b3JrZXJzPC9hPi4KLTxkaXYgaWQ9
ImxvZyI+PC9kaXY+Ci0KLTxzY3JpcHQ+Ci10ZXN0KAotICAgIGZ1bmN0aW9uKHQpIHsKLSAgICAg
ICAgYXNzZXJ0X3RydWUoIlNoYXJlZFdvcmtlciIgaW4gc2VsZiwKLSAgICAgICAgICAgICAgICAg
ICAgIkJyb3dzZXIgc2hvdWxkIHN1cHBvcnQgU2hhcmVkV29ya2VycyIpOwotICAgIH0sCi0gICAg
IkJyb3dzZXIgc3VwcG9ydHMgU2hhcmVkV29ya2VycyIpOwotCi1mZXRjaF90ZXN0c19mcm9tX3dv
cmtlcihuZXcgU2hhcmVkV29ya2VyKCJ3b3JrZXIuanMiLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAiTXkgc2hhcmVkIHdvcmtlciIpKTsKLTwvc2NyaXB0PgotPHNj
cmlwdCB0eXBlPSJ0ZXh0L2pzb24iIGlkPSJleHBlY3RlZCI+Ci17Ci0gICJzdW1tYXJpemVkX3N0
YXR1cyI6IHsKLSAgICAic3RhdHVzX3N0cmluZyI6ICJUSU1FT1VUIiwKLSAgICAibWVzc2FnZSI6
IG51bGwKLSAgfSwKLSAgInN1bW1hcml6ZWRfdGVzdHMiOiBbCi0gICAgewotICAgICAgInN0YXR1
c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJCcm93c2VyIHN1cHBvcnRzIFNoYXJl
ZFdvcmtlcnMiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogbnVs
bAotICAgIH0sCi0gICAgewotICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgIm5hbWUiOiAi
V29ya2VyIGFzeW5jX3Rlc3QgdGhhdCBjb21wbGV0ZXMgc3VjY2Vzc2Z1bGx5IiwKLSAgICAgICJw
cm9wZXJ0aWVzIjoge30sCi0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIgotICAgIH0sCi0g
ICAgewotICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgIm5hbWUiOiAiV29ya2VyIHRlc3Qg
dGhhdCBjb21wbGV0ZXMgc3VjY2Vzc2Z1bGx5IiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0g
ICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIgotICAgIH0sCi0gICAgewotICAgICAgIm1lc3Nh
Z2UiOiBudWxsLAotICAgICAgIm5hbWUiOiAiV29ya2VyIHRlc3QgdGhhdCBkb2Vzbid0IHJ1biAo
J05PVCBSVU4nKSIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgInN0YXR1c19zdHJp
bmciOiAiTk9UUlVOIgotICAgIH0sCi0gICAgewotICAgICAgIm1lc3NhZ2UiOiAiYXNzZXJ0X3Ry
dWU6IEZhaWxpbmcgdGVzdCBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZSIsCi0gICAgICAibmFtZSI6
ICJXb3JrZXIgdGVzdCB0aGF0IGZhaWxzICgnRkFJTCcpIiwKLSAgICAgICJwcm9wZXJ0aWVzIjog
e30sCi0gICAgICAic3RhdHVzX3N0cmluZyI6ICJGQUlMIgotICAgIH0sCi0gICAgewotICAgICAg
Im1lc3NhZ2UiOiAiVGVzdCB0aW1lZCBvdXQiLAotICAgICAgIm5hbWUiOiAiV29ya2VyIHRlc3Qg
dGhhdCB0aW1lcyBvdXQgKCdUSU1FT1VUJykiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAg
ICAgICJzdGF0dXNfc3RyaW5nIjogIlRJTUVPVVQiCi0gICAgfQotICBdLAotICAidHlwZSI6ICJj
b21wbGV0ZSIKLX0KLTwvc2NyaXB0PgotPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5j
dGlvbmFsL3dvcmtlci11bmNhdWdodC1hbGxvdy5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC93b3Jr
ZXItdW5jYXVnaHQtYWxsb3cuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY5MjVk
NTkzNDlhLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvd29ya2VyLXVuY2F1
Z2h0LWFsbG93LmpzCisrKyAvZGV2L251bGwKQEAgLTEsMTkgKzAsMCBAQAotaW1wb3J0U2NyaXB0
cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotCi1zZXR1cCh7YWxsb3dfdW5jYXVnaHRf
ZXhjZXB0aW9uOnRydWV9KTsKLQotYXN5bmNfdGVzdChmdW5jdGlvbih0KSB7Ci0gIG9uZXJyb3Ig
PSBmdW5jdGlvbigpIHsKLSAgICAvLyBGdXJ0aGVyIGRlbGF5IHRoZSB0ZXN0J3MgY29tcGxldGlv
biB0byBlbnN1cmUgdGhhdCB0aGUgd29ya2VyJ3MKLSAgICAvLyBgb25lcnJvcmAgaGFuZGxlciBk
b2VzIG5vdCBpbmZsdWVuY2UgcmVzdWx0cyBpbiB0aGUgcGFyZW50IGNvbnRleHQuCi0gICAgc2V0
VGltZW91dChmdW5jdGlvbigpIHsKLSAgICAgIHQuZG9uZSgpOwotICAgIH0sIDApOwotICB9Owot
Ci0gIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7Ci0gICAgdGhyb3cgbmV3IEVycm9yKCJUaGlzIGVy
cm9yIGlzIGV4cGVjdGVkLiIpOwotICB9LCAwKTsKLX0sICdvbmVycm9yIGV2ZW50IGlzIHRyaWdn
ZXJlZCcpOwotCi1kb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvd29ya2Vy
LXVuY2F1Z2h0LXNpbmdsZS5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC93b3JrZXItdW5jYXVnaHQt
c2luZ2xlLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjMDQ1NDJiMmY1Ny4uMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFsL3dvcmtlci11bmNhdWdodC1zaW5nbGUu
anMKKysrIC9kZXYvbnVsbApAQCAtMSw4ICswLDAgQEAKLWltcG9ydFNjcmlwdHMoIi9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiKTsKLQotc2V0dXAoeyBzaW5nbGVfdGVzdDogdHJ1ZSB9KTsKLQot
Ly8gQmVjYXVzZSB0aGlzIHNjcmlwdCBlbmFibGVzIHRoZSBgc2luZ2xlX3Rlc3RgIGNvbmZpZ3Vy
YXRpb24gb3B0aW9uLCBpdAotLy8gc2hvdWxkIGJlIGludGVycHJldGVkIGFzIGEgc2luZ2xlLXBh
Z2UgdGVzdCwgYW5kIHRoZSB1bmNhdWdodCBleGNlcHRpb24KLS8vIHNob3VsZCBiZSByZXBvcnRl
ZCBhcyBhIHRlc3QgZmFpbHVyZSAoaGFybmVzcyBzdGF0dXM6IE9LKS4KLXRocm93IG5ldyBFcnJv
cigiVGhpcyBmYWlsdXJlIGlzIGV4cGVjdGVkLiIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5j
dGlvbmFsL3dvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC93b3JrZXIuanMKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IGE5MjNiYzJkODllLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rl
c3RzL2Z1bmN0aW9uYWwvd29ya2VyLmpzCisrKyAvZGV2L251bGwKQEAgLTEsMzQgKzAsMCBAQAot
aW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotCi10ZXN0KAotICAg
IGZ1bmN0aW9uKHRlc3QpIHsKLSAgICAgICAgYXNzZXJ0X3RydWUodHJ1ZSwgIlRydWUgaXMgdHJ1
ZSIpOwotICAgIH0sCi0gICAgIldvcmtlciB0ZXN0IHRoYXQgY29tcGxldGVzIHN1Y2Nlc3NmdWxs
eSIpOwotCi10ZXN0KAotICAgIGZ1bmN0aW9uKHRlc3QpIHsKLSAgICAgICAgYXNzZXJ0X3RydWUo
ZmFsc2UsICJGYWlsaW5nIHRlc3QiKTsKLSAgICB9LAotICAgICJXb3JrZXIgdGVzdCB0aGF0IGZh
aWxzICgnRkFJTCcpIik7Ci0KLWFzeW5jX3Rlc3QoCi0gICAgZnVuY3Rpb24odGVzdCkgewotICAg
ICAgICBhc3NlcnRfdHJ1ZSh0cnVlLCAiVHJ1ZSBpcyB0cnVlIik7Ci0gICAgfSwKLSAgICAiV29y
a2VyIHRlc3QgdGhhdCB0aW1lcyBvdXQgKCdUSU1FT1VUJykiKTsKLQotYXN5bmNfdGVzdCgiV29y
a2VyIHRlc3QgdGhhdCBkb2Vzbid0IHJ1biAoJ05PVCBSVU4nKSIpOwotCi1hc3luY190ZXN0KAot
ICAgIGZ1bmN0aW9uKHRlc3QpIHsKLSAgICAgICAgc2VsZi5zZXRUaW1lb3V0KAotICAgICAgICAg
ICAgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgdGVzdC5kb25lKCk7Ci0gICAgICAgICAg
ICB9LAotICAgICAgICAgICAgMCk7Ci0gICAgfSwKLSAgICAiV29ya2VyIGFzeW5jX3Rlc3QgdGhh
dCBjb21wbGV0ZXMgc3VjY2Vzc2Z1bGx5Iik7Ci0KLS8vIEFuIGV4cGxpY2l0IGRvbmUoKSBpcyBy
ZXF1aXJlZCBmb3IgZGVkaWNhdGVkIGFuZCBzaGFyZWQgd2ViIHdvcmtlcnMuCi1kb25lKCk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy90ZXN0L3Rlc3RzL2dlbmVyYXRlLWNhbGxiYWNrLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2dlbmVy
YXRlLWNhbGxiYWNrLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGE3MmFkNjJh
NTlmLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2dlbmVyYXRlLWNhbGxiYWNrLmh0bWwKKysr
IC9kZXYvbnVsbApAQCAtMSwxNjcgKzAsMCBAQAotPCFET0NUWVBFIEhUTUw+Ci08aHRtbD4KLTxo
ZWFkPgotPHRpdGxlPlNhbXBsZSBmb3IgdXNpbmcgZ2VuZXJhdGVfdGVzdHMgdG8gY3JlYXRlIGEg
c2VyaWVzIG9mIHRlc3RzIHRoYXQgc2hhcmUgdGhlIHNhbWUgY2FsbGJhY2suPC90aXRsZT4KLTxz
Y3JpcHQgc3JjPSIuLi8uLi90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
Li4vLi4vdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08
c2NyaXB0PgotLy8gZ2VuZXJhdGVfdGVzdHMgdGFrZXMgYW4gYXJyYXkgb2YgYXJyYXlzIHRoYXQg
ZGVmaW5lIHRlc3RzCi0vLyBidXQgbGV0cyBwYXNzIGl0IGFuIGVtcHR5IGFycmF5IGFuZCB2ZXJp
ZnkgaXQgZG9lcyBub3RoaW5nLgotZnVuY3Rpb24gbnVsbF9jYWxsYmFjaygpIHsKLQl0aHJvdyAi
bnVsbF9jYWxsYmFjayBzaG91bGQgbm90IGJlIGNhbGxlZC4iOwotfQotZ2VuZXJhdGVfdGVzdHMo
bnVsbF9jYWxsYmFjaywgW10pOwotCi0vLyBHZW5lcmF0ZSAzIHRlc3RzIHNwZWNpZnlpbmcgdGhl
IG5hbWUgYW5kIG9uZSBwYXJhbWV0ZXIKLWZ1bmN0aW9uIHZhbGlkYXRlX2FyZ3VtZW50cyhhcmcx
KSB7Ci0JYXNzZXJ0X2VxdWFscyhhcmcxLCAxLCAiRW5zdXJlIHRoYXQgd2UgZ2V0IG91ciBleHBl
Y3RlZCBhcmd1bWVudCIpOwotfQotZ2VuZXJhdGVfdGVzdHModmFsaWRhdGVfYXJndW1lbnRzLCBb
Ci0JWyJmaXJzdCB0ZXN0IiwgMV0sCi0JWyJzZWNvbmQgdGVzdCIsIDFdLAotCVsidGhpcmQgdGVz
dCIsIDFdLAotXSk7Ci0KLS8vIEdlbmVyYXRlIGEgdGVzdCBwYXNzaW5nIGluIGEgcHJvcGVydGll
cyBvYmplY3QgdGhhdCBpcyBzaGFyZWQgYWNyb3NzIHRlc3RzLgotZnVuY3Rpb24gdmFsaWRhdGVf
cHJvcGVydGllcygpIHsKLQlhc3NlcnRfdHJ1ZSh0aGlzLnByb3BlcnRpZXMuc2VudGluZWwsICJF
bnN1cmUgdGhhdCB3ZSBnb3QgdGhlIHJpZ2h0IHByb3BlcnRpZXMgb2JqZWN0LiIpOwotfQotZ2Vu
ZXJhdGVfdGVzdHModmFsaWRhdGVfcHJvcGVydGllcywgW1sic2VudGluZWwgY2hlY2sgMSJdLCBb
InNlbnRpbmVsIGNoZWNrIDIiXV0sIHtzZW50aW5lbDogdHJ1ZX0pOwotCi0vLyBHZW5lcmF0ZSBh
IHRlc3QgcGFzc2luZyBpbiBhIHByb3BlcnRpZXMgb2JqZWN0IHRoYXQgaXMgc2hhcmVkIGFjcm9z
cyB0ZXN0cy4KLWZ1bmN0aW9uIHZhbGlkYXRlX3NlcGFyYXRlX3Byb3BlcnRpZXMoKSB7Ci0JaWYg
KHRoaXMubmFtZSA9PT0gInNlbnRpbmVsIGNoZWNrIDEgdW5pcXVlIHByb3BlcnRpZXMiKSB7Ci0J
CWFzc2VydF90cnVlKHRoaXMucHJvcGVydGllcy5zZW50aW5lbCwgIkVuc3VyZSB0aGF0IHdlIGdv
dCB0aGUgcmlnaHQgcHJvcGVydGllcyBvYmplY3QuIEV4cGVjdCBzZW50aW5lbDogdHJ1ZS4iKTsK
LQl9Ci0JZWxzZSB7Ci0JCWFzc2VydF9mYWxzZSh0aGlzLnByb3BlcnRpZXMuc2VudGluZWwsICJF
bnN1cmUgdGhhdCB3ZSBnb3QgdGhlIHJpZ2h0IHByb3BlcnRpZXMgb2JqZWN0LiBFeHBlY3Qgc2Vu
dGluZWw6IGZhbHNlLiIpOwotCX0KLX0KLWdlbmVyYXRlX3Rlc3RzKHZhbGlkYXRlX3NlcGFyYXRl
X3Byb3BlcnRpZXMsIFtbInNlbnRpbmVsIGNoZWNrIDEgdW5pcXVlIHByb3BlcnRpZXMiXSwgWyJz
ZW50aW5lbCBjaGVjayAyIHVuaXF1ZSBwcm9wZXJ0aWVzIl1dLCBbe3NlbnRpbmVsOiB0cnVlfSwg
e3NlbnRpbmVsOiBmYWxzZX1dKTsKLQotLy8gRmluYWxseSBnZW5lcmF0ZSBhIGNvbXBsaWNhdGVk
IHNldCBvZiB0ZXN0cyBmcm9tIGFub3RoZXIgZGF0YSBzb3VyY2UKLXZhciBsZXR0ZXJzID0gWyJh
IiwgImIiLCAiYyIsICJkIiwgImUiLCAiZiJdOwotdmFyIG51bWJlcnMgPSBbMCwgMSwgMiwgMywg
NCwgNV07Ci1mdW5jdGlvbiB2YWxpZGF0ZV9yZWxhdGVkX2FyZ3VtZW50cyhhcmcxLCBhcmcyKSB7
Ci0JYXNzZXJ0X2VxdWFscyhhcmcxLmNoYXJDb2RlQXQoMCkgLSAiYSIuY2hhckNvZGVBdCgwKSwg
YXJnMiwgIkVuc3VyZSB0aGF0IHdlIGNhbiBtYXAgbGV0dGVycyB0byBudW1iZXJzLiIpOwotfQot
ZnVuY3Rpb24gZm9ybWF0X2FzX3Rlc3QobGV0dGVyLCBpbmRleCwgbGV0dGVycykgewotCXJldHVy
biBbIlRlc3QgdG8gbWFwICIgKyBsZXR0ZXIgKyAiIHRvICIgKyBudW1iZXJzW2luZGV4XSwgbGV0
dGVyLCBudW1iZXJzW2luZGV4XV07Ci19Ci1nZW5lcmF0ZV90ZXN0cyh2YWxpZGF0ZV9yZWxhdGVk
X2FyZ3VtZW50cywgbGV0dGVycy5tYXAoZm9ybWF0X2FzX3Rlc3QpKTsKLTwvc2NyaXB0PgotPHNj
cmlwdCB0eXBlPSJ0ZXh0L2pzb24iIGlkPSJleHBlY3RlZCI+Ci17Ci0gICJzdW1tYXJpemVkX3N0
YXR1cyI6IHsKLSAgICAic3RhdHVzX3N0cmluZyI6ICJPSyIsCi0gICAgIm1lc3NhZ2UiOiBudWxs
LAotICAgICJzdGFjayI6IG51bGwKLSAgfSwKLSAgInN1bW1hcml6ZWRfdGVzdHMiOiBbCi0gICAg
ewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJUZXN0IHRv
IG1hcCBhIHRvIDAiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjog
bnVsbCwKLSAgICAgICJzdGFjayI6IG51bGwKLSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0dXNf
c3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUiOiAiVGVzdCB0byBtYXAgYiB0byAxIiwKLSAg
ICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAic3Rh
Y2siOiBudWxsCi0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwK
LSAgICAgICJuYW1lIjogIlRlc3QgdG8gbWFwIGMgdG8gMiIsCi0gICAgICAicHJvcGVydGllcyI6
IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgInN0YWNrIjogbnVsbAotICAgIH0s
Ci0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJU
ZXN0IHRvIG1hcCBkIHRvIDMiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNz
YWdlIjogbnVsbCwKLSAgICAgICJzdGFjayI6IG51bGwKLSAgICB9LAotICAgIHsKLSAgICAgICJz
dGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUiOiAiVGVzdCB0byBtYXAgZSB0byA0
IiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAg
ICAic3RhY2siOiBudWxsCi0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQ
QVNTIiwKLSAgICAgICJuYW1lIjogIlRlc3QgdG8gbWFwIGYgdG8gNSIsCi0gICAgICAicHJvcGVy
dGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgInN0YWNrIjogbnVsbAot
ICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFt
ZSI6ICJmaXJzdCB0ZXN0IiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2Fn
ZSI6IG51bGwsCi0gICAgICAic3RhY2siOiBudWxsCi0gICAgfSwKLSAgICB7Ci0gICAgICAic3Rh
dHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1lIjogInNlY29uZCB0ZXN0IiwKLSAgICAg
ICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAic3RhY2si
OiBudWxsCi0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAg
ICAgICJuYW1lIjogInNlbnRpbmVsIGNoZWNrIDEiLAotICAgICAgInByb3BlcnRpZXMiOiB7Ci0g
ICAgICAgICJzZW50aW5lbCI6IHRydWUKLSAgICAgIH0sCi0gICAgICAibWVzc2FnZSI6IG51bGws
Ci0gICAgICAic3RhY2siOiBudWxsCi0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmlu
ZyI6ICJQQVNTIiwKLSAgICAgICJuYW1lIjogInNlbnRpbmVsIGNoZWNrIDEgdW5pcXVlIHByb3Bl
cnRpZXMiLAotICAgICAgInByb3BlcnRpZXMiOiB7Ci0gICAgICAgICJzZW50aW5lbCI6IHRydWUK
LSAgICAgIH0sCi0gICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAic3RhY2siOiBudWxsCi0g
ICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1l
IjogInNlbnRpbmVsIGNoZWNrIDIiLAotICAgICAgInByb3BlcnRpZXMiOiB7Ci0gICAgICAgICJz
ZW50aW5lbCI6IHRydWUKLSAgICAgIH0sCi0gICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAi
c3RhY2siOiBudWxsCi0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNT
IiwKLSAgICAgICJuYW1lIjogInNlbnRpbmVsIGNoZWNrIDIgdW5pcXVlIHByb3BlcnRpZXMiLAot
ICAgICAgInByb3BlcnRpZXMiOiB7Ci0gICAgICAgICJzZW50aW5lbCI6IGZhbHNlCi0gICAgICB9
LAotICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgInN0YWNrIjogbnVsbAotICAgIH0sCi0g
ICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJ0aGly
ZCB0ZXN0IiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6IG51bGws
Ci0gICAgICAic3RhY2siOiBudWxsCi0gICAgfQotICBdLAotICAidHlwZSI6ICJjb21wbGV0ZSIK
LX0KLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9pZGxo
YXJuZXNzL0lkbEFycmF5L2lzX2pzb25fdHlwZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9pZGxoYXJuZXNzL0lk
bEFycmF5L2lzX2pzb25fdHlwZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0
MmY5ZGQ1MmMyOS4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9pZGxoYXJuZXNzL0lkbEFycmF5
L2lzX2pzb25fdHlwZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTk1ICswLDAgQEAKLTwhRE9D
VFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLTx0aXRsZT5JZGxBcnJheS5wcm90b3R5cGUuaXNf
anNvbl90eXBlKCk8L3RpdGxlPgotPC9oZWFkPgotPGJvZHk+Ci08ZGl2IGlkPSJsb2ciPjwvZGl2
PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvV2ViSURMUGFyc2VyLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL2lkbGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4u
L2hlbHBlci5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotICAgICJ1c2Ugc3RyaWN0IjsKLQotICAg
IHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBpZGwgPSBuZXcgSWRsQXJyYXkoKTsKLSAg
ICAgICAgYXNzZXJ0X3RydWUoaWRsLmlzX2pzb25fdHlwZSh0eXBlRnJvbSgiRE9NU3RyaW5nIikp
KTsKLSAgICAgICAgYXNzZXJ0X3RydWUoaWRsLmlzX2pzb25fdHlwZSh0eXBlRnJvbSgiQnl0ZVN0
cmluZyIpKSk7Ci0gICAgICAgIGFzc2VydF90cnVlKGlkbC5pc19qc29uX3R5cGUodHlwZUZyb20o
IlVTVlN0cmluZyIpKSk7Ci0gICAgICAgIGlkbC5hZGRfdW50ZXN0ZWRfaWRscygnZW51bSBCYXJF
bnVtIHsgImEiLCAiYiIsICJjIiB9OycpOwotICAgICAgICBhc3NlcnRfdHJ1ZShpZGwuaXNfanNv
bl90eXBlKHR5cGVGcm9tKCJCYXJFbnVtIikpKTsKLSAgICB9LCAnc2hvdWxkIHJldHVybiB0cnVl
IGZvciBhbGwgc3RyaW5nIHR5cGVzJyk7Ci0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAg
ICB2YXIgaWRsID0gbmV3IElkbEFycmF5KCk7Ci0gICAgICAgIGFzc2VydF9mYWxzZShpZGwuaXNf
anNvbl90eXBlKHR5cGVGcm9tKCJFcnJvciIpKSk7Ci0gICAgICAgIGFzc2VydF9mYWxzZShpZGwu
aXNfanNvbl90eXBlKHR5cGVGcm9tKCJET01FeGNlcHRpb24iKSkpOwotICAgIH0sICdzaG91bGQg
cmV0dXJuIGZhbHNlIGZvciBhbGwgZXhjZXB0aW9uIHR5cGVzJyk7Ci0KLSAgICB0ZXN0KGZ1bmN0
aW9uKCkgewotICAgICAgICB2YXIgaWRsID0gbmV3IElkbEFycmF5KCk7Ci0gICAgICAgIGFzc2Vy
dF9mYWxzZShpZGwuaXNfanNvbl90eXBlKHR5cGVGcm9tKCJJbnQ4QXJyYXkiKSkpOwotICAgICAg
ICBhc3NlcnRfZmFsc2UoaWRsLmlzX2pzb25fdHlwZSh0eXBlRnJvbSgiSW50MTZBcnJheSIpKSk7
Ci0gICAgICAgIGFzc2VydF9mYWxzZShpZGwuaXNfanNvbl90eXBlKHR5cGVGcm9tKCJJbnQzMkFy
cmF5IikpKTsKLSAgICAgICAgYXNzZXJ0X2ZhbHNlKGlkbC5pc19qc29uX3R5cGUodHlwZUZyb20o
IlVpbnQ4QXJyYXkiKSkpOwotICAgICAgICBhc3NlcnRfZmFsc2UoaWRsLmlzX2pzb25fdHlwZSh0
eXBlRnJvbSgiVWludDE2QXJyYXkiKSkpOwotICAgICAgICBhc3NlcnRfZmFsc2UoaWRsLmlzX2pz
b25fdHlwZSh0eXBlRnJvbSgiVWludDMyQXJyYXkiKSkpOwotICAgICAgICBhc3NlcnRfZmFsc2Uo
aWRsLmlzX2pzb25fdHlwZSh0eXBlRnJvbSgiVWludDhDbGFtcGVkQXJyYXkiKSkpOwotICAgICAg
ICBhc3NlcnRfZmFsc2UoaWRsLmlzX2pzb25fdHlwZSh0eXBlRnJvbSgiRmxvYXQzMkFycmF5Iikp
KTsKLSAgICAgICAgYXNzZXJ0X2ZhbHNlKGlkbC5pc19qc29uX3R5cGUodHlwZUZyb20oIkFycmF5
QnVmZmVyIikpKTsKLSAgICAgICAgYXNzZXJ0X2ZhbHNlKGlkbC5pc19qc29uX3R5cGUodHlwZUZy
b20oIkRhdGFWaWV3IikpKTsKLSAgICB9LCAnc2hvdWxkIHJldHVybiBmYWxzZSBmb3IgYWxsIGJ1
ZmZlciBzb3VyY2UgdHlwZXMnKTsKLQotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZh
ciBpZGwgPSBuZXcgSWRsQXJyYXkoKTsKLSAgICAgICAgYXNzZXJ0X3RydWUoaWRsLmlzX2pzb25f
dHlwZSh0eXBlRnJvbSgiYm9vbGVhbiIpKSk7Ci0gICAgfSwgJ3Nob3VsZCByZXR1cm4gdHJ1ZSBm
b3IgYm9vbGVhbicpOwotCi0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIGlkbCA9
IG5ldyBJZGxBcnJheSgpOwotICAgICAgICBhc3NlcnRfdHJ1ZShpZGwuaXNfanNvbl90eXBlKHR5
cGVGcm9tKCJieXRlIikpKTsKLSAgICAgICAgYXNzZXJ0X3RydWUoaWRsLmlzX2pzb25fdHlwZSh0
eXBlRnJvbSgib2N0ZXQiKSkpOwotICAgICAgICBhc3NlcnRfdHJ1ZShpZGwuaXNfanNvbl90eXBl
KHR5cGVGcm9tKCJzaG9ydCIpKSk7Ci0gICAgICAgIGFzc2VydF90cnVlKGlkbC5pc19qc29uX3R5
cGUodHlwZUZyb20oInVuc2lnbmVkIHNob3J0IikpKTsKLSAgICAgICAgYXNzZXJ0X3RydWUoaWRs
LmlzX2pzb25fdHlwZSh0eXBlRnJvbSgibG9uZyIpKSk7Ci0gICAgICAgIGFzc2VydF90cnVlKGlk
bC5pc19qc29uX3R5cGUodHlwZUZyb20oInVuc2lnbmVkIGxvbmciKSkpOwotICAgICAgICBhc3Nl
cnRfdHJ1ZShpZGwuaXNfanNvbl90eXBlKHR5cGVGcm9tKCJsb25nIGxvbmciKSkpOwotICAgICAg
ICBhc3NlcnRfdHJ1ZShpZGwuaXNfanNvbl90eXBlKHR5cGVGcm9tKCJ1bnNpZ25lZCBsb25nIGxv
bmciKSkpOwotICAgICAgICBhc3NlcnRfdHJ1ZShpZGwuaXNfanNvbl90eXBlKHR5cGVGcm9tKCJm
bG9hdCIpKSk7Ci0gICAgICAgIGFzc2VydF90cnVlKGlkbC5pc19qc29uX3R5cGUodHlwZUZyb20o
InVucmVzdHJpY3RlZCBmbG9hdCIpKSk7Ci0gICAgICAgIGFzc2VydF90cnVlKGlkbC5pc19qc29u
X3R5cGUodHlwZUZyb20oImRvdWJsZSIpKSk7Ci0gICAgICAgIGFzc2VydF90cnVlKGlkbC5pc19q
c29uX3R5cGUodHlwZUZyb20oInVucmVzdHJpY3RlZCBkb3VibGUiKSkpOwotICAgIH0sICdzaG91
bGQgcmV0dXJuIHRydWUgZm9yIGFsbCBudW1lcmljIHR5cGVzJyk7Ci0KLSAgICB0ZXN0KGZ1bmN0
aW9uKCkgewotICAgICAgICB2YXIgaWRsID0gbmV3IElkbEFycmF5KCk7Ci0gICAgICAgIGFzc2Vy
dF9mYWxzZShpZGwuaXNfanNvbl90eXBlKHR5cGVGcm9tKCJQcm9taXNlPERPTVN0cmluZz4iKSkp
OwotICAgIH0sICdzaG91bGQgcmV0dXJuIGZhbHNlIGZvciBwcm9taXNlcycpOwotCi0gICAgdGVz
dChmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIGlkbCA9IG5ldyBJZGxBcnJheSgpOwotICAgICAg
ICBhc3NlcnRfZmFsc2UoaWRsLmlzX2pzb25fdHlwZSh0eXBlRnJvbSgic2VxdWVuY2U8RE9NRXhj
ZXB0aW9uPiIpKSk7Ci0gICAgICAgIGFzc2VydF90cnVlKGlkbC5pc19qc29uX3R5cGUodHlwZUZy
b20oInNlcXVlbmNlPERPTVN0cmluZz4iKSkpOwotICAgIH0sICdzaG91bGQgaGFuZGxlIHNlcXVl
bmNlcyBhY2NvcmRpbmcgdG8gdGhlaXIgaW5uZXIgdHlwZXMnKTsKLSAgICAKLSAgICB0ZXN0KGZ1
bmN0aW9uKCkgewotICAgICAgICB2YXIgaWRsID0gbmV3IElkbEFycmF5KCk7Ci0gICAgICAgIGFz
c2VydF9mYWxzZShpZGwuaXNfanNvbl90eXBlKHR5cGVGcm9tKCJGcm96ZW5BcnJheTxET01FeGNl
cHRpb24+IikpKTsKLSAgICAgICAgYXNzZXJ0X3RydWUoaWRsLmlzX2pzb25fdHlwZSh0eXBlRnJv
bSgiRnJvemVuQXJyYXk8RE9NU3RyaW5nPiIpKSk7Ci0gICAgfSwgJ3Nob3VsZCBoYW5kbGUgZnJv
emVuIGFycmF5cyBhY2NvcmRpbmcgdG8gdGhlaXIgaW5uZXIgdHlwZXMnKTsKLQotICAgIHRlc3Qo
ZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBpZGwgPSBuZXcgSWRsQXJyYXkoKTsKLSAgICAgICAg
YXNzZXJ0X3RydWUoaWRsLmlzX2pzb25fdHlwZSh0eXBlRnJvbSgicmVjb3JkPERPTVN0cmluZywg
RE9NU3RyaW5nPiIpKSk7Ci0gICAgICAgIGFzc2VydF9mYWxzZShpZGwuaXNfanNvbl90eXBlKHR5
cGVGcm9tKCJyZWNvcmQ8RE9NU3RyaW5nLCBFcnJvcj4iKSkpOwotICAgIH0sICdzaG91bGQgaGFu
ZGxlIHJlY29yZHMgYWNjb3JkaW5nIHRvIHRoZWlyIGlubmVyIHR5cGVzJyk7Ci0KLSAgICB0ZXN0
KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgaWRsID0gbmV3IElkbEFycmF5KCk7Ci0gICAgICAg
IGFzc2VydF90cnVlKGlkbC5pc19qc29uX3R5cGUodHlwZUZyb20oIm9iamVjdCIpKSk7Ci0gICAg
fSwgJ3Nob3VsZCByZXR1cm4gdHJ1ZSBmb3Igb2JqZWN0IHR5cGUnKTsKLQotICAgIHRlc3QoZnVu
Y3Rpb24oKSB7Ci0gICAgICAgIHZhciBpZGwgPSBuZXcgSWRsQXJyYXkoKTsKLSAgICAgICAgYXNz
ZXJ0X2ZhbHNlKGlkbC5pc19qc29uX3R5cGUodHlwZUZyb20oImFueSIpKSk7Ci0gICAgfSwgJ3No
b3VsZCByZXR1cm4gZmFsc2UgZm9yIGFueSB0eXBlJyk7Ci0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkg
ewotICAgICAgICB2YXIgaWRsID0gbmV3IElkbEFycmF5KCk7Ci0gICAgICAgIGlkbC5hZGRfdW50
ZXN0ZWRfaWRscygnZGljdGlvbmFyeSBGb28geyBET01TdHJpbmcgZm9vOyB9OyBkaWN0aW9uYXJ5
IEJhciA6IEZvbyB7IERPTVN0cmluZyBiYXI7IH07Jyk7Ci0gICAgICAgIGFzc2VydF90cnVlKGlk
bC5pc19qc29uX3R5cGUodHlwZUZyb20oIkZvbyIpKSk7Ci0gICAgICAgIGFzc2VydF90cnVlKGlk
bC5pc19qc29uX3R5cGUodHlwZUZyb20oIkJhciIpKSk7Ci0gICAgfSwgJ3Nob3VsZCByZXR1cm4g
dHJ1ZSBmb3IgZGljdGlvbmFyaWVzIHdob3NlIG1lbWJlcnMgYXJlIGFsbCBKU09OIHR5cGVzJyk7
Ci0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgaWRsID0gbmV3IElkbEFycmF5
KCk7Ci0gICAgICAgIGlkbC5hZGRfdW50ZXN0ZWRfaWRscygnZGljdGlvbmFyeSBGb28geyB9Oycp
OwotICAgICAgICBhc3NlcnRfdHJ1ZShpZGwuaXNfanNvbl90eXBlKHR5cGVGcm9tKCJGb28iKSkp
OwotICAgIH0sICdzaG91bGQgcmV0dXJuIHRydWUgZm9yIGRpY3Rpb25hcmllcyB3aGljaCBoYXZl
IG5vIG1lbWJlcnMnKTsKLQotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBpZGwg
PSBuZXcgSWRsQXJyYXkoKTsKLSAgICAgICAgaWRsLmFkZF91bnRlc3RlZF9pZGxzKCdkaWN0aW9u
YXJ5IEZvb0JhciB7IERPTVN0cmluZyBhOyBFcnJvciBiOyB9OyBkaWN0aW9uYXJ5IEJheiA6IEZv
b0JhciB7fTsnKTsKLSAgICAgICAgYXNzZXJ0X2ZhbHNlKGlkbC5pc19qc29uX3R5cGUodHlwZUZy
b20oIkZvb0JhciIpKSk7Ci0gICAgICAgIGFzc2VydF9mYWxzZShpZGwuaXNfanNvbl90eXBlKHR5
cGVGcm9tKCJCYXoiKSkpOwotICAgIH0sICdzaG91bGQgcmV0dXJuIGZhbHNlIGZvciBkaWN0aW9u
YXJpZXMgd2hvc2UgbWVtYmVycyBhcmUgbm90IGFsbCBKU09OIHR5cGVzJyk7Ci0KLSAgICB0ZXN0
KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgaWRsID0gbmV3IElkbEFycmF5KCk7Ci0gICAgICAg
IGlkbC5hZGRfdW50ZXN0ZWRfaWRscygnaW50ZXJmYWNlIEZvbyB7IERPTVN0cmluZyB0b0pTT04o
KTsgfTsnKTsKLSAgICAgICAgYXNzZXJ0X3RydWUoaWRsLmlzX2pzb25fdHlwZSh0eXBlRnJvbSgi
Rm9vIikpKTsKLSAgICB9LCAnc2hvdWxkIHJldHVybiB0cnVlIGZvciBpbnRlcmZhY2VzIHdoaWNo
IGRlY2xhcmUgYSB0b0pTT04gb3BlcmF0aW9uJyk7Ci0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewot
ICAgICAgICB2YXIgaWRsID0gbmV3IElkbEFycmF5KCk7Ci0gICAgICAgIGlkbC5hZGRfdW50ZXN0
ZWRfaWRscygnaW50ZXJmYWNlIEZvbyB7IERPTVN0cmluZyB0b0pTT04oKTsgfTsgaW50ZXJmYWNl
IEJhciA6IEZvbyB7IH07Jyk7Ci0gICAgICAgIGFzc2VydF90cnVlKGlkbC5pc19qc29uX3R5cGUo
dHlwZUZyb20oIkJhciIpKSk7Ci0gICAgfSwgJ3Nob3VsZCByZXR1cm4gdHJ1ZSBmb3IgaW50ZXJm
YWNlcyB3aGljaCBpbmhlcml0IGZyb20gYW4gaW50ZXJmYWNlIHdoaWNoIGRlY2xhcmVzIGEgdG9K
U09OIG9wZXJhdGlvbicpOwotCi0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIGlk
bCA9IG5ldyBJZGxBcnJheSgpOwotICAgICAgICBpZGwuYWRkX3VudGVzdGVkX2lkbHMoJ2ludGVy
ZmFjZSBGb28geyB9OyBpbnRlcmZhY2UgQmFyIHsgRE9NU3RyaW5nIHRvSlNPTigpOyB9OyBGb28g
aW1wbGVtZW50cyBCYXI7Jyk7Ci0gICAgICAgIGFzc2VydF90cnVlKGlkbC5pc19qc29uX3R5cGUo
dHlwZUZyb20oIkZvbyIpKSk7Ci0gICAgfSwgJ3Nob3VsZCByZXR1cm4gdHJ1ZSBmb3IgaW50ZXJm
YWNlcyB3aGljaCBtaXhpbiBhbiBpbnRlcmZhY2Ugd2hpY2ggZGVjbGFyZSBhIHRvSlNPTiBvcGVy
YXRpb24nKTsKLQotLy8gICAgdGVzdChmdW5jdGlvbigpIHsKLS8vICAgICAgICB2YXIgaWRsID0g
bmV3IElkbEFycmF5KCk7Ci0vLyAgICAgICAgaWRsLmFkZF91bnRlc3RlZF9pZGxzKCdpbnRlcmZh
Y2UgRm9vIHsgfTsgaW50ZXJmYWNlIEJhciB7IH07IGludGVyZmFjZSBCYXogeyBET01TdHJpbmcg
dG9KU09OKCk7IH07IEZvbyBpbXBsZW1lbnRzIEJhcjsgQmFyIGltcGxlbWVudHMgQmF6OycpOwot
Ly8gICAgICAgIGFzc2VydF90cnVlKGlkbC5pc19qc29uX3R5cGUodHlwZUZyb20oIkZvbyIpKSk7
Ci0vLyAgICB9LCAnc2hvdWxkIHJldHVybiB0cnVlIGZvciBpbnRlcmZhY2VzIHdoaWNoIG1peGlu
IGFuIGludGVyZmFjZSB3aGljaCBpdHNlbGYgbWl4ZXMgaW4gYW4gaW50ZXJmYWNlIHdoaWNoIGRl
Y2xhcmVzIGEgdG9KU09OIG9wZXJhdGlvbicpOwotCi0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAg
ICAgICAgdmFyIGlkbCA9IG5ldyBJZGxBcnJheSgpOwotICAgICAgICBpZGwuYWRkX3VudGVzdGVk
X2lkbHMoJ2ludGVyZmFjZSBGb28geyB9OycpOwotICAgICAgICBhc3NlcnRfZmFsc2UoaWRsLmlz
X2pzb25fdHlwZSh0eXBlRnJvbSgiRm9vIikpKTsKLSAgICB9LCAnc2hvdWxkIHJldHVybiBmYWxz
ZSBmb3IgaW50ZXJmYWNlcyB3aGljaCBkbyBub3QgZGVjbGFyZSBhIHRvSlNPTiBvcGVyYXRpb24n
KTsKLQotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBpZGwgPSBuZXcgSWRsQXJy
YXkoKTsKLSAgICAgICAgaWRsLmFkZF91bnRlc3RlZF9pZGxzKCdpbnRlcmZhY2UgRm9vIHsgb2Jq
ZWN0IHRvSlNPTigpOyB9OycpOwotICAgICAgICBhc3NlcnRfdHJ1ZShpZGwuaXNfanNvbl90eXBl
KHR5cGVGcm9tKCIoRm9vIG9yIERPTVN0cmluZykiKSkpOwotICAgIH0sICdzaG91bGQgcmV0dXJu
IHRydWUgZm9yIHVuaW9uIHR5cGVzIHdob3NlIG1lbWJlciB0eXBlcyBhcmUgSlNPTiB0eXBlcycp
OwotCi0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIGlkbCA9IG5ldyBJZGxBcnJh
eSgpOwotICAgICAgICBhc3NlcnRfZmFsc2UoaWRsLmlzX2pzb25fdHlwZSh0eXBlRnJvbSgiKERh
dGFWaWV3IG9yIERPTVN0cmluZykiKSkpOwotICAgIH0sICdzaG91bGQgcmV0dXJuIGZhbHNlIGZv
ciB1bmlvbiB0eXBlcyB3aG9zZSBtZW1iZXIgdHlwZXMgYXJlIG5vdCBhbGwgSlNPTiB0eXBlcycp
OwotCi0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIGlkbCA9IG5ldyBJZGxBcnJh
eSgpOwotICAgICAgICBhc3NlcnRfdHJ1ZShpZGwuaXNfanNvbl90eXBlKHR5cGVGcm9tKCJET01T
dHJpbmc/IikpKTsKLSAgICAgICAgYXNzZXJ0X2ZhbHNlKGlkbC5pc19qc29uX3R5cGUodHlwZUZy
b20oIkRhdGFWaWV3PyIpKSk7Ci0gICAgfSwgJ3Nob3VsZCBjb25zaWRlciB0aGUgaW5uZXIgdHlw
ZXMgb2YgbnVsbGFibGUgdHlwZXMnKTsKLQotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAg
IHZhciBpZGwgPSBuZXcgSWRsQXJyYXkoKTsKLSAgICAgICAgYXNzZXJ0X3RydWUoaWRsLmlzX2pz
b25fdHlwZSh0eXBlRnJvbSgiW1hBdHRyXSBsb25nIikpKTsKLSAgICAgICAgYXNzZXJ0X2ZhbHNl
KGlkbC5pc19qc29uX3R5cGUodHlwZUZyb20oIltYQXR0cl0gRGF0YVZpZXciKSkpOwotICAgIH0s
ICdzaG91bGQgY29uc2lkZXIgdGhlIGlubmVyIHR5cGVzIG9mIGFubm90YXRlZCB0eXBlcy4nKTsK
LQotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBpZGwgPSBuZXcgSWRsQXJyYXko
KTsKLSAgICAgICAgYXNzZXJ0X3Rocm93cyhuZXcgRXJyb3IoKSwgXyA9PiBpZGwuaXNfanNvbl90
eXBlKHR5cGVGcm9tKCJGb28iKSkpOwotICAgIH0sICJzaG91bGQgdGhyb3cgaWYgaXQgcmVmZXJl
bmNlcyBhIGRpY3Rpb25hcnksIGVudW0gb3IgaW50ZXJmYWNlIHdoaWNoIHdhc24ndCBhZGRlZCB0
byB0aGUgSWRsQXJyYXkiKTsKLQotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBp
ZGwgPSBuZXcgSWRsQXJyYXkoKTsKLSAgICAgICAgaWRsLmFkZF91bnRlc3RlZF9pZGxzKCdpbnRl
cmZhY2UgRm9vIDogQmFyIHsgfTsnKTsKLSAgICAgICAgYXNzZXJ0X3Rocm93cyhuZXcgRXJyb3Io
KSwgXyA9PiBpZGwuaXNfanNvbl90eXBlKHR5cGVGcm9tKCJGb28iKSkpOwotICAgIH0sICJzaG91
bGQgdGhyb3cgZm9yIGludGVyZmFjZXMgd2hpY2ggaW5oZXJpdCBmcm9tIGFub3RoZXIgaW50ZXJm
YWNlIHdoaWNoIHdhc24ndCBhZGRlZCB0byB0aGUgSWRsQXJyYXkiKTsKLQotICAgIHRlc3QoZnVu
Y3Rpb24oKSB7Ci0gICAgICAgIHZhciBpZGwgPSBuZXcgSWRsQXJyYXkoKTsKLSAgICAgICAgYXNz
ZXJ0X3RydWUoaWRsLmlzX2pzb25fdHlwZSh0eXBlZGVmRnJvbSgidHlwZWRlZiBkb3VibGUgRE9N
SGlnaFJlc1RpbWVTdGFtcDsiKS5pZGxUeXBlKSk7Ci0gICAgfSwgJ3Nob3VsZCByZXR1cm4gdHJ1
ZSBmb3IgdHlwZWRlZnMgd2hvc2Ugc291cmNlIHR5cGUgaXMgYSBKU09OIHR5cGUnKTsKLQotICAg
IHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBpZGwgPSBuZXcgSWRsQXJyYXkoKTsKLSAg
ICAgICAgYXNzZXJ0X2ZhbHNlKGlkbC5pc19qc29uX3R5cGUodHlwZWRlZkZyb20oInR5cGVkZWYg
RGF0YVZpZXcgRE9NSGlnaFJlc1RpbWVTdGFtcDsiKS5pZGxUeXBlKSk7Ci0gICAgfSwgJ3Nob3Vs
ZCByZXR1cm4gZmFsc2UgZm9yIHR5cGVkZWZzIHdob3NlIHNvdXJjZSB0eXBlIGlzIG5vdCBhIEpT
T04gdHlwZScpOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+Ci0KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3Qv
dGVzdHMvaWRsaGFybmVzcy9JZGxBcnJheS93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRsaGFy
bmVzcy9JZGxBcnJheS93M2MtaW1wb3J0LmxvZwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggNGU4OTkwYjBmZDcuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRsaGFybmVzcy9JZGxB
cnJheS93M2MtaW1wb3J0LmxvZworKysgL2Rldi9udWxsCkBAIC0xLDE3ICswLDAgQEAKLVRoZSB0
ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0
b3J5LgotRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0
ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9n
aXRodWIuY29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMKLQotVGhlbiBydW4gdGhlIFRvb2xzL1Nj
cmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKLQotRG8gTk9UIG1v
ZGlmeSBvciByZW1vdmUgdGhpcyBmaWxlLgotCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLVByb3BlcnRpZXMg
cmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKLU5vbmUKLVByb3BlcnR5IHZhbHVlcyByZXF1aXJp
bmcgdmVuZG9yIHByZWZpeGVzOgotTm9uZQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1MaXN0IG9mIGZpbGVz
OgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3Rlc3QvdGVzdHMvaWRsaGFybmVzcy9JZGxBcnJheS9pc19qc29uX3R5cGUuaHRtbApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvdGVzdC90ZXN0cy9pZGxoYXJuZXNzL0lkbERpY3Rpb25hcnkvZ2V0X2luaGVyaXRhbmNlX3N0
YWNrLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy90ZXN0L3Rlc3RzL2lkbGhhcm5lc3MvSWRsRGljdGlvbmFyeS9nZXRfaW5oZXJpdGFu
Y2Vfc3RhY2suaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODM4NjNmYjhkNzYu
LjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRsaGFybmVzcy9JZGxEaWN0aW9uYXJ5L2dldF9p
bmhlcml0YW5jZV9zdGFjay5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMzUgKzAsMCBAQAotPCFE
T0NUWVBFIEhUTUw+Ci08aHRtbD4KLTxoZWFkPgotPHRpdGxlPklkbERpY3Rpb25hcnkucHJvdG90
eXBlLmdldF9pbmhlcml0YW5jZV9zdGFjaygpPC90aXRsZT4KLTwvaGVhZD4KLTxib2R5PgotPGRp
diBpZD0ibG9nIj48L2Rpdj4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL1dlYklETFBhcnNlci5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9pZGxoYXJuZXNzLmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIuLi9oZWxwZXIuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLSAgICAidXNl
IHN0cmljdCI7Ci0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIHN0YWNrID0gZGlj
dGlvbmFyeUZyb20oJ2RpY3Rpb25hcnkgQSB7IH07JykuZ2V0X2luaGVyaXRhbmNlX3N0YWNrKCk7
Ci0gICAgICAgIGFzc2VydF9hcnJheV9lcXVhbHMoc3RhY2subWFwKGQgPT4gZC5uYW1lKSwgWyJB
Il0pOwotICAgIH0sICdzaG91bGQgcmV0dXJuIGFuIGFycmF5IHRoYXQgaW5jbHVkZXMgaXRzZWxm
LicpOwotICAgIAotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBkID0gZGljdGlv
bmFyeUZyb20oJ2RpY3Rpb25hcnkgQSA6IEIgeyB9OycpOwotICAgICAgICBhc3NlcnRfdGhyb3dz
KG5ldyBFcnJvcigpLCBfID0+IGQuZ2V0X2luaGVyaXRhbmNlX3N0YWNrKCkpOwotICAgIH0sICJz
aG91bGQgdGhyb3cgZm9yIGRpY3Rpb25hcmllcyB3aGljaCBpbmhlcml0IGZyb20gYW5vdGhlciBk
aWN0aW9uYXJ5IHdoaWNoIHdhc24ndCBhZGRlZCB0byB0aGUgSWRsQXJyYXkiKTsKLSAgICAKLSAg
ICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgaWRsID0gbmV3IElkbEFycmF5KCk7Ci0g
ICAgICAgIGlkbC5hZGRfaWRscygnZGljdGlvbmFyeSBBIDogQiB7IH07Jyk7Ci0gICAgICAgIGlk
bC5hZGRfdW50ZXN0ZWRfaWRscygnZGljdGlvbmFyeSBCIDogQyB7IH07IGRpY3Rpb25hcnkgQyB7
IH07Jyk7Ci0gICAgICAgIHZhciBBID0gaWRsLm1lbWJlcnNbIkEiXTsKLSAgICAgICAgYXNzZXJ0
X2FycmF5X2VxdWFscyhBLmdldF9pbmhlcml0YW5jZV9zdGFjaygpLm1hcChkID0+IGQubmFtZSks
IFsiQSIsICJCIiwgIkMiXSk7Ci0gICAgfSwgJ3Nob3VsZCByZXR1cm4gYW4gYXJyYXkgb2YgaW5o
ZXJpdGVkIGRpY3Rpb25hcmllcyBpbiBvcmRlciBvZiBpbmhlcml0YW5jZSwgc3RhcnRpbmcgd2l0
aCBpdHNlbGYuJyk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KLQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVz
dC90ZXN0cy9pZGxoYXJuZXNzL0lkbERpY3Rpb25hcnkvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3Rz
L2lkbGhhcm5lc3MvSWRsRGljdGlvbmFyeS93M2MtaW1wb3J0LmxvZwpkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggYzlmNzM1OGE1ZmIuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRs
aGFybmVzcy9JZGxEaWN0aW9uYXJ5L3czYy1pbXBvcnQubG9nCisrKyAvZGV2L251bGwKQEAgLTEs
MTcgKzAsMCBAQAotVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJv
bSB0aGUgVzNDIHJlcG9zaXRvcnkuCi1EbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5
IGluIFdlYktpdC4KLUluc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdp
dGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cwotCi1UaGVu
IHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWlt
cG9ydAotCi1EbyBOT1QgbW9kaWZ5IG9yIHJlbW92ZSB0aGlzIGZpbGUuCi0KLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLQotUHJvcGVydGllcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgotTm9uZQotUHJvcGVy
dHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6Ci1Ob25lCi0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0KLUxpc3Qgb2YgZmlsZXM6Ci0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9pZGxoYXJuZXNzL0lkbERpY3Rpb25hcnkvZ2V0
X2luaGVyaXRhbmNlX3N0YWNrLmh0bWwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRsaGFybmVzcy9J
ZGxJbnRlcmZhY2UvZGVmYXVsdF90b19qc29uX29wZXJhdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9pZGxo
YXJuZXNzL0lkbEludGVyZmFjZS9kZWZhdWx0X3RvX2pzb25fb3BlcmF0aW9uLmh0bWwKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGE3N2VlM2U3ZjFmLi4wMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0
L3Rlc3RzL2lkbGhhcm5lc3MvSWRsSW50ZXJmYWNlL2RlZmF1bHRfdG9fanNvbl9vcGVyYXRpb24u
aHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDE4OSArMCwwIEBACi08IURPQ1RZUEUgSFRNTD4KLTxo
dG1sPgotPGhlYWQ+Ci08dGl0bGU+SWRsRGljdGlvbmFyeS5wcm90b3R5cGUuZGVmYXVsdF90b19q
c29uX29wZXJhdGlvbigpPC90aXRsZT4KLTwvaGVhZD4KLTxib2R5PgotPGRpdiBpZD0ibG9nIj48
L2Rpdj4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL1dlYklETFBhcnNlci5qcyI+PC9zY3JpcHQ+Ci08c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy9pZGxoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIuLi9oZWxwZXIuanMiPjwvc2NyaXB0PgotPHByZSBpZD1mcmFnbWVudHM+Ci0gICAgaW50ZXJm
YWNlIEEgOiBCIHsKLSAgICAgIGF0dHJpYnV0ZSBET01TdHJpbmcgYTsKLSAgICB9OwotCi0gICAg
aW50ZXJmYWNlIEIgOiBDIHsKLSAgICAgIFtEZWZhdWx0XSBvYmplY3QgdG9KU09OKCk7Ci0gICAg
ICBhdHRyaWJ1dGUgbG9uZyBiOwotICAgIH07Ci0KLSAgICBpbnRlcmZhY2UgQyB7Ci0gICAgICBh
dHRyaWJ1dGUgRE9NU3RyaW5nIGM7Ci0gICAgfTsKLQotICAgIGludGVyZmFjZSBEIDogRSB7Ci0g
ICAgICBbRGVmYXVsdF0gb2JqZWN0IHRvSlNPTigpOwotICAgICAgYXR0cmlidXRlIGZsb2F0IGQ7
Ci0gICAgfTsKLQotICAgIGludGVyZmFjZSBFIDogRiB7Ci0gICAgICBhdHRyaWJ1dGUgRE9NU3Ry
aW5nIGU7Ci0gICAgfTsKLQotICAgIGludGVyZmFjZSBGIHsKLSAgICAgIFtEZWZhdWx0XSBvYmpl
Y3QgdG9KU09OKCk7Ci0gICAgICBhdHRyaWJ1dGUgdW5yZXN0cmljdGVkIGRvdWJsZSBmOwotICAg
IH07Ci0KLSAgICBpbnRlcmZhY2UgRyB7Ci0gICAgICBbRGVmYXVsdF0gb2JqZWN0IHRvSlNPTigp
OwotICAgICAgYXR0cmlidXRlIG9jdGV0IGc7Ci0gICAgfTsKLQotICAgIGludGVyZmFjZSBIIHsK
LSAgICAgIFtEZWZhdWx0XSBvYmplY3QgdG9KU09OKCk7Ci0gICAgICBhdHRyaWJ1dGUgRE9NU3Ry
aW5nIGg7Ci0gICAgfTsKLQotICAgIGludGVyZmFjZSBJIHsKLSAgICAgIFtEZWZhdWx0XSBvYmpl
Y3QgdG9KU09OKCk7Ci0gICAgICBhdHRyaWJ1dGUgYm9vbGVhbiBpOwotICAgIH07Ci0KLSAgICBp
bnRlcmZhY2UgSiB7Ci0gICAgICBbRGVmYXVsdF0gb2JqZWN0IHRvSlNPTigpOwotICAgICAgYXR0
cmlidXRlIEQgajsKLSAgICB9OwotCi0gICAgQSBpbXBsZW1lbnRzIEc7Ci0gICAgQSBpbXBsZW1l
bnRzIEg7Ci0gICAgQiBpbXBsZW1lbnRzIEQ7Ci0gICAgRSBpbXBsZW1lbnRzIEk7Ci0gICAgSCBp
bXBsZW1lbnRzIEo7Ci08L3ByZT4KLTxzY3JpcHQ+Ci0gICAgInVzZSBzdHJpY3QiOwotICAgIHRl
c3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBtYXAgPSBpbnRlcmZhY2VGcm9tKCdpbnRlcmZh
Y2UgQSB7IFtEZWZhdWx0XSBvYmplY3QgdG9KU09OKCk7IH07JykuZGVmYXVsdF90b19qc29uX29w
ZXJhdGlvbigpOwotICAgICAgICBhc3NlcnRfZXF1YWxzKG1hcC5zaXplLCAwKTsKLSAgICB9LCAn
c2hvdWxkIHJldHVybiBhbiBlbXB0eSBtYXAgd2hlbiB0aGVyZSBhcmUgbm8gYXR0cmlidXRlcycp
OwotCi0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIHIgPSBpbnRlcmZhY2VGcm9t
KCdpbnRlcmZhY2UgQSB7IH07JykuZGVmYXVsdF90b19qc29uX29wZXJhdGlvbigpOwotICAgICAg
ICBhc3NlcnRfZXF1YWxzKHIsIG51bGwpOwotICAgIH0sICdzaG91bGQgcmV0dXJuIG51bGwgd2hl
biB0aGVyZSBpcyBubyB0b0pTT04gbWV0aG9kJyk7Ci0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewot
ICAgICAgICB2YXIgciA9IGludGVyZmFjZUZyb20oJ2ludGVyZmFjZSBBIHsgRE9NU3RyaW5nIHRv
SlNPTigpOyB9OycpLmRlZmF1bHRfdG9fanNvbl9vcGVyYXRpb24oKTsKLSAgICAgICAgYXNzZXJ0
X2VxdWFscyhyLCBudWxsKTsKLSAgICB9LCAnc2hvdWxkIHJldHVybiBudWxsIHdoZW4gdGhlcmUg
aXMgYSB0b0pTT04gbWV0aG9kIGJ1dCBpdCBkb2VzIG5vdCBoYXZlIHRoZSBbRGVmYXVsdF0gZXh0
ZW5kZWQgYXR0cmlidXRlJyk7Ci0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIg
Y29udGV4dCA9IG5ldyBJZGxBcnJheSgpOwotICAgICAgICBjb250ZXh0LmFkZF9pZGxzKCJpbnRl
cmZhY2UgQSA6IEIgeyBET01TdHJpbmcgdG9KU09OKCk7IH07Iik7Ci0gICAgICAgIGNvbnRleHQu
YWRkX2lkbHMoImludGVyZmFjZSBCIHsgW0RlZmF1bHRdIG9iamVjdCB0b0pTT04oKTsgfTsiKTsK
LSAgICAgICAgdmFyIHIgPSBjb250ZXh0Lm1lbWJlcnMuQS5kZWZhdWx0X3RvX2pzb25fb3BlcmF0
aW9uKCk7Ci0gICAgICAgIGFzc2VydF9lcXVhbHMociwgbnVsbCk7Ci0gICAgfSwgJ3Nob3VsZCBy
ZXR1cm4gbnVsbCB3aGVuIHRoZXJlIGlzIGEgdG9KU09OIG1ldGhvZCBidXQgaXQgZG9lcyBub3Qg
aGF2ZSB0aGUgW0RlZmF1bHRdIGV4dGVuZGVkIGF0dHJpYnV0ZSBldmVuIGlmIHRoaXMgZXh0ZW5k
ZWQgYXR0cmlidXRlIGV4aXN0cyBvbiBpbmhlcml0ZWQgaW50ZXJmYWNlcycpOwotCi0gICAgdGVz
dChmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIG1hcCA9IGludGVyZmFjZUZyb20oJ2ludGVyZmFj
ZSBBIHsgW0RlZmF1bHRdIG9iamVjdCB0b0pTT04oKTsgc3RhdGljIGF0dHJpYnV0ZSBET01TdHJp
bmcgZm9vOyB9OycpLmRlZmF1bHRfdG9fanNvbl9vcGVyYXRpb24oKTsKLSAgICAgICAgYXNzZXJ0
X2VxdWFscyhtYXAuc2l6ZSwgMCk7Ci0gICAgfSwgJ3Nob3VsZCBub3QgaW5jbHVkZSBzdGF0aWMg
YXR0cmlidXRlcycpOwotCi0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIG1hcCA9
IGludGVyZmFjZUZyb20oJ2ludGVyZmFjZSBBIHsgW0RlZmF1bHRdIG9iamVjdCB0b0pTT04oKTsg
YXR0cmlidXRlIFByb21pc2U8RE9NU3RyaW5nPiBiYXI7IH07JykuZGVmYXVsdF90b19qc29uX29w
ZXJhdGlvbigpOwotICAgICAgICBhc3NlcnRfZXF1YWxzKG1hcC5zaXplLCAwKTsKLSAgICB9LCAn
c2hvdWxkIG5vdCBpbmNsdWRlIGF0dHJpYnV0ZXMgd2hpY2ggYXJlIG5vdCBKU09OIHR5cGVzJyk7
Ci0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgbWFwID0gaW50ZXJmYWNlRnJv
bSgnaW50ZXJmYWNlIEEgeyBbRGVmYXVsdF0gb2JqZWN0IHRvSlNPTigpOyBET01TdHJpbmcgYmFy
KCk7IH07JykuZGVmYXVsdF90b19qc29uX29wZXJhdGlvbigpOwotICAgICAgICBhc3NlcnRfZXF1
YWxzKG1hcC5zaXplLCAwKTsKLSAgICB9LCAnc2hvdWxkIG5vdCBpbmNsdWRlIG9wZXJhdGlvbnMn
KTsKLQotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBtYXAgPSBpbnRlcmZhY2VG
cm9tKCdpbnRlcmZhY2UgQSB7IFtEZWZhdWx0XSBvYmplY3QgdG9KU09OKCk7IGF0dHJpYnV0ZSBE
T01TdHJpbmcgYmFyOyB9OycpLmRlZmF1bHRfdG9fanNvbl9vcGVyYXRpb24oKTsKLSAgICAgICAg
YXNzZXJ0X2VxdWFscyhtYXAuc2l6ZSwgMSk7Ci0gICAgICAgIGFzc2VydF90cnVlKG1hcC5oYXMo
ImJhciIpKTsKLSAgICAgICAgYXNzZXJ0X2VxdWFscyhtYXAuZ2V0KCJiYXIiKS5pZGxUeXBlLCAi
RE9NU3RyaW5nIik7Ci0gICAgfSwgJ3Nob3VsZCByZXR1cm4gYSBtYXAgd2hvc2Uga2V5L3ZhbHVl
IHBhaXIgcmVwcmVzZW50IHRoZSBpZGVudGlmaWVyIGFuZCBJREwgdHlwZSBvZiB2YWxpZCBhdHRy
aWJ1dGVzJyk7Ci0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgY29udGV4dCA9
IG5ldyBJZGxBcnJheSgpOwotICAgICAgICBjb250ZXh0LmFkZF9pZGxzKCJpbnRlcmZhY2UgQSA6
IEIgeyBbRGVmYXVsdF0gb2JqZWN0IHRvSlNPTigpOyBhdHRyaWJ1dGUgRE9NU3RyaW5nIGE7IH07
Iik7Ci0gICAgICAgIGNvbnRleHQuYWRkX2lkbHMoImludGVyZmFjZSBCIHsgW0RlZmF1bHRdIG9i
amVjdCB0b0pTT04oKTsgYXR0cmlidXRlIGxvbmcgYjsgfTsiKTsKLSAgICAgICAgdmFyIG1hcCA9
IGNvbnRleHQubWVtYmVycy5BLmRlZmF1bHRfdG9fanNvbl9vcGVyYXRpb24oKTsKLSAgICAgICAg
YXNzZXJ0X2FycmF5X2VxdWFscyhbLi4ubWFwLmtleXMoKV0sIFsiYiIsICJhIl0pOwotICAgICAg
ICBhc3NlcnRfYXJyYXlfZXF1YWxzKFsuLi5tYXAudmFsdWVzKCldLm1hcCh2ID0+IHYuaWRsVHlw
ZSksIFsibG9uZyIsICJET01TdHJpbmciXSk7Ci0gICAgfSwgJ3Nob3VsZCByZXR1cm4gYSBwcm9w
ZXJseSBvcmRlcmVkIG1hcCB0aGF0IGNvbnRhaW5zIElETCB0eXBlcyBvZiB2YWxpZCBhdHRyaWJ1
dGVzIGZvciBpbmhlcml0ZWQgaW50ZXJmYWNlcycpOwotCi0gICAgdGVzdChmdW5jdGlvbigpIHsK
LSAgICAgICAgdmFyIGNvbnRleHQgPSBuZXcgSWRsQXJyYXkoKTsKLSAgICAgICAgY29udGV4dC5h
ZGRfaWRscygiaW50ZXJmYWNlIEEgOiBCIHsgYXR0cmlidXRlIERPTVN0cmluZyBhOyB9OyIpOwot
ICAgICAgICBjb250ZXh0LmFkZF9pZGxzKCJpbnRlcmZhY2UgQiB7IFtEZWZhdWx0XSBvYmplY3Qg
dG9KU09OKCk7IGF0dHJpYnV0ZSBsb25nIGI7IH07Iik7Ci0gICAgICAgIHZhciBtYXAgPSBjb250
ZXh0Lm1lbWJlcnMuQS5kZWZhdWx0X3RvX2pzb25fb3BlcmF0aW9uKCk7Ci0gICAgICAgIGFzc2Vy
dF9lcXVhbHMobWFwLnNpemUsIDEpOwotICAgICAgICBhc3NlcnRfdHJ1ZShtYXAuaGFzKCJiIikp
OwotICAgICAgICBhc3NlcnRfZXF1YWxzKG1hcC5nZXQoImIiKS5pZGxUeXBlLCAibG9uZyIpOwot
ICAgICAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKFsuLi5tYXAua2V5cygpXSwgWyJiIl0pOwotICAg
IH0sICdzaG91bGQgbm90IGluY2x1ZGUgYXR0cmlidXRlcyBvZiB0aGUgY3VycmVudCBpbnRlcmZh
Y2Ugd2hlbiB0aGUgW0RlZmF1bHRdIHRvSlNPTiBtZXRob2QgaW4gaW5oZXJpdGVkJyk7Ci0KLSAg
ICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgY29udGV4dCA9IG5ldyBJZGxBcnJheSgp
OwotICAgICAgICBjb250ZXh0LmFkZF9pZGxzKCJpbnRlcmZhY2UgQSA6IEIgeyBbRGVmYXVsdF0g
b2JqZWN0IHRvSlNPTigpOyB9OyIpOwotICAgICAgICBjb250ZXh0LmFkZF9pZGxzKCJpbnRlcmZh
Y2UgQiA6IEMgeyBbRGVmYXVsdF0gb2JqZWN0IHRvSlNPTigpOyBhdHRyaWJ1dGUgRE9NU3RyaW5n
IGZvbzsgfTsiKTsKLSAgICAgICAgY29udGV4dC5hZGRfaWRscygiaW50ZXJmYWNlIEMgeyBbRGVm
YXVsdF0gb2JqZWN0IHRvSlNPTigpOyBhdHRyaWJ1dGUgbG9uZyBmb287IH07Iik7Ci0gICAgICAg
IHZhciBtYXAgPSBjb250ZXh0Lm1lbWJlcnMuQS5kZWZhdWx0X3RvX2pzb25fb3BlcmF0aW9uKCk7
Ci0gICAgICAgIGFzc2VydF9lcXVhbHMobWFwLnNpemUsIDEpOwotICAgICAgICBhc3NlcnRfdHJ1
ZShtYXAuaGFzKCJmb28iKSk7Ci0gICAgICAgIGFzc2VydF9lcXVhbHMobWFwLmdldCgiZm9vIiku
aWRsVHlwZSwgIkRPTVN0cmluZyIpOwotICAgIH0sICdhdHRyaWJ1dGVzIGRlY2xhcmVkIGZ1cnRo
ZXIgYXdheSBpbiB0aGUgaW5oZXJpdGFuY2UgaGllcmFyY2h5IHNob3VsZCBiZSBtYXNrZWQgYnkg
YXR0cmlidXRlcyBkZWNsYXJlZCBjbG9zZXInKTsKLQotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0g
ICAgICAgIHZhciBjb250ZXh0ID0gbmV3IElkbEFycmF5KCk7Ci0gICAgICAgIGNvbnRleHQuYWRk
X2lkbHMoImludGVyZmFjZSBBIDogQiB7IFtEZWZhdWx0XSBvYmplY3QgdG9KU09OKCk7IGF0dHJp
YnV0ZSBET01TdHJpbmcgYTsgfTsiKTsKLSAgICAgICAgY29udGV4dC5hZGRfaWRscygiaW50ZXJm
YWNlIEIgeyBvYmplY3QgdG9KU09OKCk7IGF0dHJpYnV0ZSBsb25nIGI7IH07Iik7Ci0gICAgICAg
IHZhciBtYXAgPSBjb250ZXh0Lm1lbWJlcnMuQS5kZWZhdWx0X3RvX2pzb25fb3BlcmF0aW9uKCk7
Ci0gICAgICAgIGFzc2VydF9lcXVhbHMobWFwLnNpemUsIDEpOwotICAgICAgICBhc3NlcnRfdHJ1
ZShtYXAuaGFzKCJhIikpOwotICAgICAgICBhc3NlcnRfZmFsc2UobWFwLmhhcygiYiIpKTsKLSAg
ICAgICAgYXNzZXJ0X2VxdWFscyhtYXAuZ2V0KCJhIikuaWRsVHlwZSwgIkRPTVN0cmluZyIpOwot
ICAgIH0sICdzaG91bGQgcmV0dXJuIGFuIG9yZGVyZWQgbWFwIHRoYXQgaWdub3JlcyBhdHRyaWJ1
dGVzIG9mIGluaGVyaXRlZCBpbnRlcmZhY2VzIHdoaWNoIGRvIG5vdCBkZWNsYXJlIGEgW0RlZmF1
bHRdIHRvSlNPTiBvcGVyYXRpb24uJyk7Ci0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAg
ICB2YXIgY29udGV4dCA9IG5ldyBJZGxBcnJheSgpOwotICAgICAgICBjb250ZXh0LmFkZF9pZGxz
KCJpbnRlcmZhY2UgQSB7IFtEZWZhdWx0XSBvYmplY3QgdG9KU09OKCk7IGF0dHJpYnV0ZSBET01T
dHJpbmcgYTsgfTsiKTsKLSAgICAgICAgY29udGV4dC5hZGRfaWRscygiaW50ZXJmYWNlIE4geyBb
RGVmYXVsdF0gb2JqZWN0IHRvSlNPTigpOyBhdHRyaWJ1dGUgbG9uZyBuOyB9OyIpOwotICAgICAg
ICBjb250ZXh0LmFkZF9pZGxzKCJBIGltcGxlbWVudHMgTjsiKTsKLSAgICAgICAgdmFyIG1hcCA9
IGNvbnRleHQubWVtYmVycy5BLmRlZmF1bHRfdG9fanNvbl9vcGVyYXRpb24oKTsKLSAgICAgICAg
YXNzZXJ0X2FycmF5X2VxdWFscyhbLi4ubWFwLmtleXMoKV0sIFsiYSIsICJuIl0pOwotICAgICAg
ICBhc3NlcnRfYXJyYXlfZXF1YWxzKFsuLi5tYXAudmFsdWVzKCldLm1hcCh2ID0+IHYuaWRsVHlw
ZSksIFsiRE9NU3RyaW5nIiwgImxvbmciXSk7Ci0gICAgfSwgJ3Nob3VsZCByZXR1cm4gYSBwcm9w
ZXJseSBvcmRlcmVkIG1hcCB0aGF0IGFjY291bnRzIGZvciBtaXhlZC1pbiBpbnRlcmZhY2VzIHdo
aWNoIGRlY2xhcmUgYSBbRGVmYXVsdF0gdG9KU09OIG9wZXJhdGlvbi4nKTsKLQotICAgIHRlc3Qo
ZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBjb250ZXh0ID0gbmV3IElkbEFycmF5KCk7Ci0gICAg
ICAgIGNvbnRleHQuYWRkX2lkbHMoImludGVyZmFjZSBBIHsgW0RlZmF1bHRdIG9iamVjdCB0b0pT
T04oKTsgYXR0cmlidXRlIERPTVN0cmluZyBhOyB9OyIpOwotICAgICAgICBjb250ZXh0LmFkZF9p
ZGxzKCJpbnRlcmZhY2UgTiB7IGF0dHJpYnV0ZSBsb25nIG47IH07Iik7Ci0gICAgICAgIGNvbnRl
eHQuYWRkX2lkbHMoIkEgaW1wbGVtZW50cyBOOyIpOwotICAgICAgICB2YXIgbWFwID0gY29udGV4
dC5tZW1iZXJzLkEuZGVmYXVsdF90b19qc29uX29wZXJhdGlvbigpOwotICAgICAgICBhc3NlcnRf
ZXF1YWxzKG1hcC5zaXplLCAxKTsKLSAgICAgICAgYXNzZXJ0X3RydWUobWFwLmhhcygiYSIpKTsK
LSAgICAgICAgYXNzZXJ0X2ZhbHNlKG1hcC5oYXMoIm4iKSk7Ci0gICAgICAgIGFzc2VydF9lcXVh
bHMobWFwLmdldCgiYSIpLmlkbFR5cGUsICJET01TdHJpbmciKTsKLSAgICB9LCAnc2hvdWxkIHJl
dHVybiBhIHByb3Blcmx5IG9yZGVyZWQgbWFwIHRoYXQgaWdub3JlcyBtaXhlZC1pbiBpbnRlcmZh
Y2VzIHdoaWNoIGRvIG5vdCBkZWNsYXJlIGEgW0RlZmF1bHRdIHRvSlNPTiBvcGVyYXRpb24uJyk7
Ci0KLQotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBjb250ZXh0ID0gbmV3IElk
bEFycmF5KCk7Ci0gICAgICAgIGNvbnRleHQuYWRkX2lkbHMoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoJ2ZyYWdtZW50cycpLnRleHRDb250ZW50KTsKLSAgICAgICAgdmFyIG1hcCA9IGNvbnRleHQu
bWVtYmVycy5BLmRlZmF1bHRfdG9fanNvbl9vcGVyYXRpb24oKTsKLSAgICAgICAgYXNzZXJ0X2Fy
cmF5X2VxdWFscyhbLi4ubWFwLmtleXMoKV0sIFsiYiIsICJmIiwgImkiLCAiZCIsICJnIiwgImgi
LCAiaiJdKTsKLSAgICAgICAgYXNzZXJ0X2FycmF5X2VxdWFscyhbLi4ubWFwLnZhbHVlcygpXS5t
YXAodiA9PiB2LmlkbFR5cGUpLCBbImxvbmciLCAidW5yZXN0cmljdGVkIGRvdWJsZSIsICJib29s
ZWFuIiwgImZsb2F0IiwgIm9jdGV0IiwgIkRPTVN0cmluZyIsICJEIl0pOwotICAgIH0sICdzaG91
bGQgcmV0dXJuIGEgcHJvcGVybHkgb3JkZXJlZCBtYXAgb2YgbmFtZS90eXBlIHBhaXJzIGhhbmRs
aW5nIGluaGVyaXRlZCBhbmQgY29uc2VxdWVudGlhbCBpbnRlcmZhY2VzIGFzIHNwZWNpZmllZC4n
KTsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2lk
bGhhcm5lc3MvSWRsSW50ZXJmYWNlL2dldF9pbmhlcml0YW5jZV9zdGFjay5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0
cy9pZGxoYXJuZXNzL0lkbEludGVyZmFjZS9nZXRfaW5oZXJpdGFuY2Vfc3RhY2suaHRtbApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzFkNjE0MTU2NzYuLjAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rl
c3QvdGVzdHMvaWRsaGFybmVzcy9JZGxJbnRlcmZhY2UvZ2V0X2luaGVyaXRhbmNlX3N0YWNrLmh0
bWwKKysrIC9kZXYvbnVsbApAQCAtMSwzNSArMCwwIEBACi08IURPQ1RZUEUgSFRNTD4KLTxodG1s
PgotPGhlYWQ+Ci08dGl0bGU+SWRsSW50ZXJmYWNlLnByb3RvdHlwZS5nZXRfaW5oZXJpdGFuY2Vf
c3RhY2soKTwvdGl0bGU+Ci08L2hlYWQ+Ci08Ym9keT4KLTxkaXYgaWQ9ImxvZyI+PC9kaXY+Ci08
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy9XZWJJRExQYXJzZXIuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvaWRsaGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vaGVs
cGVyLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci0gICAgInVzZSBzdHJpY3QiOwotICAgIHRlc3Qo
ZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBzdGFjayA9IGludGVyZmFjZUZyb20oJ2ludGVyZmFj
ZSBBIHsgfTsnKS5nZXRfaW5oZXJpdGFuY2Vfc3RhY2soKTsKLSAgICAgICAgYXNzZXJ0X2FycmF5
X2VxdWFscyhzdGFjay5tYXAoaSA9PiBpLm5hbWUpLCBbIkEiXSk7Ci0gICAgfSwgJ3Nob3VsZCBy
ZXR1cm4gYW4gYXJyYXkgdGhhdCBpbmNsdWRlcyBpdHNlbGYuJyk7Ci0gICAgCi0gICAgdGVzdChm
dW5jdGlvbigpIHsKLSAgICAgICAgdmFyIGkgPSBpbnRlcmZhY2VGcm9tKCdpbnRlcmZhY2UgQSA6
IEIgeyB9OycpOwotICAgICAgICBhc3NlcnRfdGhyb3dzKG5ldyBFcnJvcigpLCBfID0+IGkuZ2V0
X2luaGVyaXRhbmNlX3N0YWNrKCkpOwotICAgIH0sICJzaG91bGQgdGhyb3cgZm9yIGludGVyZmFj
ZXMgd2hpY2ggaW5oZXJpdCBmcm9tIGFub3RoZXIgaW50ZXJmYWNlIHdoaWNoIHdhc24ndCBhZGRl
ZCB0byB0aGUgSWRsQXJyYXkiKTsKLSAgICAKLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAg
ICB2YXIgaWRsID0gbmV3IElkbEFycmF5KCk7Ci0gICAgICAgIGlkbC5hZGRfaWRscygnaW50ZXJm
YWNlIEEgOiBCIHsgfTsnKTsKLSAgICAgICAgaWRsLmFkZF91bnRlc3RlZF9pZGxzKCdpbnRlcmZh
Y2UgQiA6IEMgeyB9OyBpbnRlcmZhY2UgQyB7IH07Jyk7Ci0gICAgICAgIHZhciBBID0gaWRsLm1l
bWJlcnNbIkEiXTsKLSAgICAgICAgYXNzZXJ0X2FycmF5X2VxdWFscyhBLmdldF9pbmhlcml0YW5j
ZV9zdGFjaygpLm1hcChpID0+IGkubmFtZSksIFsiQSIsICJCIiwgIkMiXSk7Ci0gICAgfSwgJ3No
b3VsZCByZXR1cm4gYW4gYXJyYXkgb2YgaW5oZXJpdGVkIGludGVyZmFjZXMgaW4gb3JkZXIgb2Yg
aW5oZXJpdGFuY2UsIHN0YXJ0aW5nIHdpdGggaXRzZWxmLicpOwotPC9zY3JpcHQ+Ci08L2JvZHk+
Ci08L2h0bWw+Ci0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRsaGFybmVzcy9JZGxJbnRlcmZhY2Uv
aGFzX2RlZmF1bHRfdG9fanNvbl9yZWd1bGFyX29wZXJhdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9pZGxo
YXJuZXNzL0lkbEludGVyZmFjZS9oYXNfZGVmYXVsdF90b19qc29uX3JlZ3VsYXJfb3BlcmF0aW9u
Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDk0OThhM2E3YmNlLi4wMDAwMDAw
MDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy90ZXN0L3Rlc3RzL2lkbGhhcm5lc3MvSWRsSW50ZXJmYWNlL2hhc19kZWZhdWx0X3Rv
X2pzb25fcmVndWxhcl9vcGVyYXRpb24uaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDQ3ICswLDAg
QEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLTx0aXRsZT5JZGxJbnRlcmZhY2Uu
cHJvdG90eXBlLmhhc19kZWZhdWx0X3RvX2pzb25fcmVndWxhcl9vcGVyYXRpb24oKTwvdGl0bGU+
Ci08L2hlYWQ+Ci08Ym9keT4KLTxkaXYgaWQ9ImxvZyI+PC9kaXY+Ci08c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy9XZWJJRExQYXJzZXIuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvaWRs
aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vaGVscGVyLmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQ+Ci0gICAgInVzZSBzdHJpY3QiOwotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0g
ICAgICAgIHZhciBpID0gaW50ZXJmYWNlRnJvbSgnaW50ZXJmYWNlIEEgeyB9OycpOwotICAgICAg
ICBhc3NlcnRfZmFsc2UoaS5oYXNfZGVmYXVsdF90b19qc29uX3JlZ3VsYXJfb3BlcmF0aW9uKCkp
OwotICAgIH0sICdzaG91bGQgcmV0dXJuIGZhbHNlIHdoZW4gdGhlIGludGVyZmFjZSBkZWNsYXJl
cyBubyB0b0pTT04gb3BlcmF0aW9uLicpOwotCi0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAg
ICAgdmFyIGkgPSBpbnRlcmZhY2VGcm9tKCdpbnRlcmZhY2UgQSB7IHN0YXRpYyBvYmplY3QgdG9K
U09OKCk7IH07Jyk7Ci0gICAgICAgIGFzc2VydF9mYWxzZShpLmhhc19kZWZhdWx0X3RvX2pzb25f
cmVndWxhcl9vcGVyYXRpb24oKSk7Ci0gICAgfSwgJ3Nob3VsZCByZXR1cm4gZmFsc2Ugd2hlbiB0
aGUgaW50ZXJmYWNlIGRlY2xhcmVzIGEgc3RhdGljIHRvSlNPTiBvcGVyYXRpb24uJyk7Ci0KLSAg
ICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgaSA9IGludGVyZmFjZUZyb20oJ2ludGVy
ZmFjZSBBIHsgb2JqZWN0IHRvSlNPTigpOyB9OycpOwotICAgICAgICBhc3NlcnRfZmFsc2UoaS5o
YXNfZGVmYXVsdF90b19qc29uX3JlZ3VsYXJfb3BlcmF0aW9uKCkpOwotICAgIH0sICdzaG91bGQg
cmV0dXJuIGZhbHNlIHdoZW4gdGhlIGludGVyZmFjZSBkZWNsYXJlcyBhIHJlZ3VsYXIgdG9KU09O
IG9wZXJhdGlvbiB3aXRoIG5vIGV4dGVuZGVkIGF0dHJpYnV0ZS4nKTsKLQotICAgIHRlc3QoZnVu
Y3Rpb24oKSB7Ci0gICAgICAgIHZhciBpID0gaW50ZXJmYWNlRnJvbSgnaW50ZXJmYWNlIEEgeyBb
eF0gb2JqZWN0IHRvSlNPTigpOyB9OycpOwotICAgICAgICBhc3NlcnRfZmFsc2UoaS5oYXNfZGVm
YXVsdF90b19qc29uX3JlZ3VsYXJfb3BlcmF0aW9uKCkpOwotICAgIH0sICdzaG91bGQgcmV0dXJu
IGZhbHNlIHdoZW4gdGhlIGludGVyZmFjZSBkZWNsYXJlcyBhIHJlZ3VsYXIgdG9KU09OIG9wZXJh
dGlvbiB3aXRoIGFub3RoZXIgZXh0ZW50ZWQgYXR0cmlidXRlLicpOwotCi0gICAgdGVzdChmdW5j
dGlvbigpIHsKLSAgICAgICAgdmFyIGkgPSBpbnRlcmZhY2VGcm9tKCdpbnRlcmZhY2UgQSB7IFtE
ZWZhdWx0XSBvYmplY3QgdG9KU09OKCk7IH07Jyk7Ci0gICAgICAgIGFzc2VydF90cnVlKGkuaGFz
X2RlZmF1bHRfdG9fanNvbl9yZWd1bGFyX29wZXJhdGlvbigpKTsKLSAgICB9LCAnc2hvdWxkIHJl
dHVybiB0cnVlIHdoZW4gdGhlIGludGVyZmFjZSBkZWNsYXJlcyBhIHJlZ3VsYXIgdG9KU09OIG9w
ZXJhdGlvbiB3aXRoIHRoZSBbRGVmYXVsdF0gZXh0ZW50ZWQgYXR0cmlidXRlLicpOwotCi0gICAg
dGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIGkgPSBpbnRlcmZhY2VGcm9tKCdpbnRlcmZh
Y2UgQSB7IFtBdHRyLCBBbm90aGVyQXR0ciwgRGVmYXVsdF0gb2JqZWN0IHRvSlNPTigpOyB9Oycp
OwotICAgICAgICBhc3NlcnRfdHJ1ZShpLmhhc19kZWZhdWx0X3RvX2pzb25fcmVndWxhcl9vcGVy
YXRpb24oKSk7Ci0gICAgfSwgJ3Nob3VsZCByZXR1cm4gdHJ1ZSB3aGVuIHRoZSBpbnRlcmZhY2Ug
ZGVjbGFyZXMgYSByZWd1bGFyIHRvSlNPTiBvcGVyYXRpb24gd2l0aCBtdWx0aXBsZSBleHRlbmRl
ZCBhdHRyaWJ1dGVzLCBpbmNsdWRpbmcgW0RlZmF1bHRdLicpOwotPC9zY3JpcHQ+Ci08L2JvZHk+
Ci08L2h0bWw+Ci0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRsaGFybmVzcy9JZGxJbnRlcmZhY2Uv
aGFzX3RvX2pzb25fcmVndWxhcl9vcGVyYXRpb24uaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRsaGFybmVzcy9J
ZGxJbnRlcmZhY2UvaGFzX3RvX2pzb25fcmVndWxhcl9vcGVyYXRpb24uaHRtbApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggYTRiNGU5MWI1MzguLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVz
dHMvaWRsaGFybmVzcy9JZGxJbnRlcmZhY2UvaGFzX3RvX2pzb25fcmVndWxhcl9vcGVyYXRpb24u
aHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDMyICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0
bWw+Ci08aGVhZD4KLTx0aXRsZT5JZGxJbnRlcmZhY2UucHJvdG90eXBlLmhhc190b19qc29uX3Jl
Z3VsYXJfb3BlcmF0aW9uKCk8L3RpdGxlPgotPC9oZWFkPgotPGJvZHk+Ci08ZGl2IGlkPSJsb2ci
PjwvZGl2PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvV2ViSURMUGFyc2VyLmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL2lkbGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBz
cmM9Ii4uL2hlbHBlci5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotICAgICJ1c2Ugc3RyaWN0IjsK
LSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgaSA9IGludGVyZmFjZUZyb20oJ2lu
dGVyZmFjZSBBIHsgfTsnKTsKLSAgICAgICAgYXNzZXJ0X2ZhbHNlKGkuaGFzX3RvX2pzb25fcmVn
dWxhcl9vcGVyYXRpb24oKSk7Ci0gICAgfSwgJ3Nob3VsZCByZXR1cm4gZmFsc2Ugd2hlbiB0aGUg
aW50ZXJmYWNlIGRlY2xhcmVzIG5vIHRvSlNPTiBvcGVyYXRpb24uJyk7Ci0gICAgCi0gICAgdGVz
dChmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIGkgPSBpbnRlcmZhY2VGcm9tKCdpbnRlcmZhY2Ug
QSB7IHN0YXRpYyBvYmplY3QgdG9KU09OKCk7IH07Jyk7Ci0gICAgICAgIGFzc2VydF9mYWxzZShp
Lmhhc190b19qc29uX3JlZ3VsYXJfb3BlcmF0aW9uKCkpOwotICAgIH0sICdzaG91bGQgcmV0dXJu
IGZhbHNlIHdoZW4gdGhlIGludGVyZmFjZSBkZWNsYXJlcyBhIHN0YXRpYyB0b0pTT04gb3BlcmF0
aW9uLicpOwotICAgIAotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBpID0gaW50
ZXJmYWNlRnJvbSgnaW50ZXJmYWNlIEEgeyBvYmplY3QgdG9KU09OKCk7IH07Jyk7Ci0gICAgICAg
IGFzc2VydF90cnVlKGkuaGFzX3RvX2pzb25fcmVndWxhcl9vcGVyYXRpb24oKSk7Ci0gICAgfSwg
J3Nob3VsZCByZXR1cm4gdHJ1ZSB3aGVuIHRoZSBpbnRlcmZhY2UgZGVjbGFyZXMgYSByZWd1bGFy
IHRvSlNPTiBvcGVyYXRpb24uJyk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KLQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvdGVzdC90ZXN0cy9pZGxoYXJuZXNzL0lkbEludGVyZmFjZS90ZXN0X2ltbXV0YWJsZV9w
cm90b3R5cGUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRsaGFybmVzcy9JZGxJbnRlcmZhY2UvdGVzdF9pbW11
dGFibGVfcHJvdG90eXBlLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDE2MjE0
YzRkMjRmLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2lkbGhhcm5lc3MvSWRsSW50ZXJmYWNl
L3Rlc3RfaW1tdXRhYmxlX3Byb3RvdHlwZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMzIxICsw
LDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLSAgPG1ldGEgY2hhcnNldD0i
dXRmLTgiPgotICA8dGl0bGU+aWRsaGFybmVzczogSW1tdXRhYmxlIHByb3RvdHlwZXM8L3RpdGxl
PgotICA8c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgot
ICA8c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgotICA8c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vV2ViSURMUGFyc2VyLmpzIj48L3NjcmlwdD4K
LSAgPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL2lkbGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPC9o
ZWFkPgotPGJvZHk+Ci08c2NyaXB0PgotInVzZSBzdHJpY3R0IjsKLQotT2JqZWN0LmRlZmluZVBy
b3BlcnR5KHdpbmRvdywgIkZvbyIsIHsKLSAgICBlbnVtZXJhYmxlOiBmYWxzZSwKLSAgICB3cml0
YWJsZTogdHJ1ZSwKLSAgICBjb25maWd1cmFibGU6IHRydWUsCi0gICAgdmFsdWU6IGZ1bmN0aW9u
IEZvbygpIHt9Ci0gIH0pOwotT2JqZWN0LmRlZmluZVByb3BlcnR5KHdpbmRvdy5Gb28sICJwcm90
b3R5cGUiLCB7Ci0gICAgd3JpdGFibGU6IGZhbHNlLAotICAgIHZhbHVlOiB3aW5kb3cuRm9vLnBy
b3RvdHlwZQotICB9KTsKLUZvby5wcm90b3R5cGVbU3ltYm9sLnRvU3RyaW5nVGFnXSA9ICJGb28i
OwotCi12YXIgaWRsQXJyYXkgPSBuZXcgSWRsQXJyYXkoKTsKLWlkbEFycmF5LmFkZF91bnRlc3Rl
ZF9pZGxzKCJpbnRlcmZhY2UgRXZlbnRUYXJnZXQge307Iik7Ci1pZGxBcnJheS5hZGRfaWRscygK
LSAgICAiW0dsb2JhbD1XaW5kb3csIEV4cG9zZWQ9V2luZG93XVxuIiArCi0gICAgImludGVyZmFj
ZSBXaW5kb3cgOiBFdmVudFRhcmdldCB7fTtcbiIgKwotCi0gICAgIltHbG9iYWw9V2luZG93LCBF
eHBvc2VkPVdpbmRvdywgQ29uc3RydWN0b3IoKV1cbiIgKwotCSJpbnRlcmZhY2UgRm9vIHt9OyIK
LSAgKTsKLWlkbEFycmF5LmFkZF9vYmplY3RzKHsKLSAgRm9vOiBbIm5ldyBGb28oKSJdLAotICBX
aW5kb3c6IFsid2luZG93Il0KLX0pOwotaWRsQXJyYXkudGVzdCgpOwotPC9zY3JpcHQ+Ci08c2Ny
aXB0IHR5cGU9InRleHQvanNvbiIgaWQ9ImV4cGVjdGVkIj4KLXsKLSAgICAic3VtbWFyaXplZF9z
dGF0dXMiOiB7Ci0gICAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICAgInN0YXR1c19zdHJp
bmciOiAiT0siLAotICAgICAgICAic3RhY2siOiBudWxsCi0gICAgfSwKLSAgICAic3VtbWFyaXpl
ZF90ZXN0cyI6IFsKLSAgICAgICAgewotICAgICAgICAgICAgIm5hbWUiOiAiRm9vIGludGVyZmFj
ZSBvYmplY3QgbGVuZ3RoIiwKLSAgICAgICAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAot
ICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICAgICAgICJtZXNzYWdlIjogbnVs
bCwKLSAgICAgICAgICAgICJzdGFjayI6IG51bGwKLSAgICAgICAgfSwKLSAgICAgICAgewotICAg
ICAgICAgICAgIm5hbWUiOiAiRm9vIGludGVyZmFjZSBvYmplY3QgbmFtZSIsCi0gICAgICAgICAg
ICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICAgICAgICJwcm9wZXJ0aWVzIjoge30s
Ci0gICAgICAgICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAgICAgICAic3RhY2siOiBudWxs
Ci0gICAgICAgIH0sCi0gICAgICAgIHsKLSAgICAgICAgICAgICJuYW1lIjogIkZvbyBpbnRlcmZh
Y2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IiwKLSAgICAg
ICAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgICAgICAgInByb3BlcnRpZXMi
OiB7fSwKLSAgICAgICAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICAgICAgICJzdGFjayI6
IG51bGwKLSAgICAgICAgfSwKLSAgICAgICAgewotICAgICAgICAgICAgIm5hbWUiOiAiRm9vIGlu
dGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUg
b2JqZWN0IiwKLSAgICAgICAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgICAg
ICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAg
ICAgICAgICJzdGFjayI6IG51bGwKLSAgICAgICAgfSwKLSAgICAgICAgewotICAgICAgICAgICAg
Im5hbWUiOiAiRm9vIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVy
ZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgXCJjb25zdHJ1Y3RvclwiIHByb3BlcnR5IiwKLSAgICAg
ICAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgICAgICAgInByb3BlcnRpZXMi
OiB7fSwKLSAgICAgICAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICAgICAgICJzdGFjayI6
IG51bGwKLSAgICAgICAgfSwKLSAgICAgICAgewotICAgICAgICAgICAgIm5hbWUiOiAiRm9vIGlu
dGVyZmFjZTogaW50ZXJuYWwgW1tTZXRQcm90b3R5cGVPZl1dIG1ldGhvZCBvZiBnbG9iYWwgcGxh
dGZvcm0gb2JqZWN0IC0gc2V0dGluZyB0byBhIG5ldyB2YWx1ZSB2aWEgT2JqZWN0LnNldFByb3Rv
dHlwZU9mIHNob3VsZCB0aHJvdyBhIFR5cGVFcnJvciIsCi0gICAgICAgICAgICAic3RhdHVzX3N0
cmluZyI6ICJGQUlMIiwKLSAgICAgICAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAgICAg
ICAibWVzc2FnZSI6ICJhc3NlcnRfdGhyb3dzOiBmdW5jdGlvbiBcImZ1bmN0aW9uKCkge1xuICAg
ICAgICAgICAgT2JqZWN0LnNldFByb3RvdHlwZU9mKG9iaiwgbmV3VmFsdWUpO1xuICAgICAgICB9
XCIgZGlkIG5vdCB0aHJvdyIsCi0gICAgICAgICAgICAic3RhY2siOiAiKGltcGxlbWVudGF0aW9u
LWRlZmluZWQpIgotICAgICAgICB9LAotICAgICAgICB7Ci0gICAgICAgICAgICAibmFtZSI6ICJG
b28gaW50ZXJmYWNlOiBpbnRlcm5hbCBbW1NldFByb3RvdHlwZU9mXV0gbWV0aG9kIG9mIGdsb2Jh
bCBwbGF0Zm9ybSBvYmplY3QgLSBzZXR0aW5nIHRvIGEgbmV3IHZhbHVlIHZpYSBSZWZsZWN0LnNl
dFByb3RvdHlwZU9mIHNob3VsZCByZXR1cm4gZmFsc2UiLAotICAgICAgICAgICAgInN0YXR1c19z
dHJpbmciOiAiRkFJTCIsCi0gICAgICAgICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgICAg
ICAgIm1lc3NhZ2UiOiAiYXNzZXJ0X2ZhbHNlOiBleHBlY3RlZCBmYWxzZSBnb3QgdHJ1ZSIsCi0g
ICAgICAgICAgICAic3RhY2siOiAiKGltcGxlbWVudGF0aW9uLWRlZmluZWQpIgotICAgICAgICB9
LAotICAgICAgICB7Ci0gICAgICAgICAgICAibmFtZSI6ICJGb28gaW50ZXJmYWNlOiBpbnRlcm5h
bCBbW1NldFByb3RvdHlwZU9mXV0gbWV0aG9kIG9mIGdsb2JhbCBwbGF0Zm9ybSBvYmplY3QgLSBz
ZXR0aW5nIHRvIGEgbmV3IHZhbHVlIHZpYSBfX3Byb3RvX18gc2hvdWxkIHRocm93IGEgVHlwZUVy
cm9yIiwKLSAgICAgICAgICAgICJzdGF0dXNfc3RyaW5nIjogIkZBSUwiLAotICAgICAgICAgICAg
InByb3BlcnRpZXMiOiB7fSwKLSAgICAgICAgICAgICJtZXNzYWdlIjogImFzc2VydF90aHJvd3M6
IGZ1bmN0aW9uIFwiZnVuY3Rpb24oKSB7XG4gICAgICAgICAgICBvYmouX19wcm90b19fID0gbmV3
VmFsdWU7XG4gICAgICAgIH1cIiBkaWQgbm90IHRocm93IiwKLSAgICAgICAgICAgICJzdGFjayI6
ICIoaW1wbGVtZW50YXRpb24tZGVmaW5lZCkiCi0gICAgICAgIH0sCi0gICAgICAgIHsKLSAgICAg
ICAgICAgICJuYW1lIjogIkZvbyBpbnRlcmZhY2U6IGludGVybmFsIFtbU2V0UHJvdG90eXBlT2Zd
XSBtZXRob2Qgb2YgZ2xvYmFsIHBsYXRmb3JtIG9iamVjdCAtIHNldHRpbmcgdG8gaXRzIG9yaWdp
bmFsIHZhbHVlIHZpYSBPYmplY3Quc2V0UHJvdG90eXBlT2Ygc2hvdWxkIG5vdCB0aHJvdyIsCi0g
ICAgICAgICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICAgICAgICJwcm9wZXJ0
aWVzIjoge30sCi0gICAgICAgICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAgICAgICAic3Rh
Y2siOiBudWxsCi0gICAgICAgIH0sCi0gICAgICAgIHsKLSAgICAgICAgICAgICJuYW1lIjogIkZv
byBpbnRlcmZhY2U6IGludGVybmFsIFtbU2V0UHJvdG90eXBlT2ZdXSBtZXRob2Qgb2YgZ2xvYmFs
IHBsYXRmb3JtIG9iamVjdCAtIHNldHRpbmcgdG8gaXRzIG9yaWdpbmFsIHZhbHVlIHZpYSBSZWZs
ZWN0LnNldFByb3RvdHlwZU9mIHNob3VsZCByZXR1cm4gdHJ1ZSIsCi0gICAgICAgICAgICAic3Rh
dHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAg
ICAgICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAgICAgICAic3RhY2siOiBudWxsCi0gICAg
ICAgIH0sCi0gICAgICAgIHsKLSAgICAgICAgICAgICJuYW1lIjogIkZvbyBpbnRlcmZhY2U6IGlu
dGVybmFsIFtbU2V0UHJvdG90eXBlT2ZdXSBtZXRob2Qgb2YgZ2xvYmFsIHBsYXRmb3JtIG9iamVj
dCAtIHNldHRpbmcgdG8gaXRzIG9yaWdpbmFsIHZhbHVlIHZpYSBfX3Byb3RvX18gc2hvdWxkIG5v
dCB0aHJvdyIsCi0gICAgICAgICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICAg
ICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAgICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAg
ICAgICAgICAic3RhY2siOiBudWxsCi0gICAgICAgIH0sCi0gICAgICAgIHsKLSAgICAgICAgICAg
ICJuYW1lIjogIkZvbyBpbnRlcmZhY2U6IGludGVybmFsIFtbU2V0UHJvdG90eXBlT2ZdXSBtZXRo
b2Qgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgLSBzZXR0aW5nIHRvIGEgbmV3IHZhbHVl
IHZpYSBPYmplY3Quc2V0UHJvdG90eXBlT2Ygc2hvdWxkIHRocm93IGEgVHlwZUVycm9yIiwKLSAg
ICAgICAgICAgICJzdGF0dXNfc3RyaW5nIjogIkZBSUwiLAotICAgICAgICAgICAgInByb3BlcnRp
ZXMiOiB7fSwKLSAgICAgICAgICAgICJtZXNzYWdlIjogImFzc2VydF90aHJvd3M6IGZ1bmN0aW9u
IFwiZnVuY3Rpb24oKSB7XG4gICAgICAgICAgICBPYmplY3Quc2V0UHJvdG90eXBlT2Yob2JqLCBu
ZXdWYWx1ZSk7XG4gICAgICAgIH1cIiBkaWQgbm90IHRocm93IiwKLSAgICAgICAgICAgICJzdGFj
ayI6ICIoaW1wbGVtZW50YXRpb24tZGVmaW5lZCkiCi0gICAgICAgIH0sCi0gICAgICAgIHsKLSAg
ICAgICAgICAgICJuYW1lIjogIkZvbyBpbnRlcmZhY2U6IGludGVybmFsIFtbU2V0UHJvdG90eXBl
T2ZdXSBtZXRob2Qgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgLSBzZXR0aW5nIHRvIGEg
bmV3IHZhbHVlIHZpYSBSZWZsZWN0LnNldFByb3RvdHlwZU9mIHNob3VsZCByZXR1cm4gZmFsc2Ui
LAotICAgICAgICAgICAgInN0YXR1c19zdHJpbmciOiAiRkFJTCIsCi0gICAgICAgICAgICAicHJv
cGVydGllcyI6IHt9LAotICAgICAgICAgICAgIm1lc3NhZ2UiOiAiYXNzZXJ0X2ZhbHNlOiBleHBl
Y3RlZCBmYWxzZSBnb3QgdHJ1ZSIsCi0gICAgICAgICAgICAic3RhY2siOiAiKGltcGxlbWVudGF0
aW9uLWRlZmluZWQpIgotICAgICAgICB9LAotICAgICAgICB7Ci0gICAgICAgICAgICAibmFtZSI6
ICJGb28gaW50ZXJmYWNlOiBpbnRlcm5hbCBbW1NldFByb3RvdHlwZU9mXV0gbWV0aG9kIG9mIGlu
dGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IC0gc2V0dGluZyB0byBhIG5ldyB2YWx1ZSB2aWEgX19w
cm90b19fIHNob3VsZCB0aHJvdyBhIFR5cGVFcnJvciIsCi0gICAgICAgICAgICAic3RhdHVzX3N0
cmluZyI6ICJGQUlMIiwKLSAgICAgICAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAgICAg
ICAibWVzc2FnZSI6ICJhc3NlcnRfdGhyb3dzOiBmdW5jdGlvbiBcImZ1bmN0aW9uKCkge1xuICAg
ICAgICAgICAgb2JqLl9fcHJvdG9fXyA9IG5ld1ZhbHVlO1xuICAgICAgICB9XCIgZGlkIG5vdCB0
aHJvdyIsCi0gICAgICAgICAgICAic3RhY2siOiAiKGltcGxlbWVudGF0aW9uLWRlZmluZWQpIgot
ICAgICAgICB9LAotICAgICAgICB7Ci0gICAgICAgICAgICAibmFtZSI6ICJGb28gaW50ZXJmYWNl
OiBpbnRlcm5hbCBbW1NldFByb3RvdHlwZU9mXV0gbWV0aG9kIG9mIGludGVyZmFjZSBwcm90b3R5
cGUgb2JqZWN0IC0gc2V0dGluZyB0byBpdHMgb3JpZ2luYWwgdmFsdWUgdmlhIE9iamVjdC5zZXRQ
cm90b3R5cGVPZiBzaG91bGQgbm90IHRocm93IiwKLSAgICAgICAgICAgICJzdGF0dXNfc3RyaW5n
IjogIlBBU1MiLAotICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICAgICAgICJt
ZXNzYWdlIjogbnVsbCwKLSAgICAgICAgICAgICJzdGFjayI6IG51bGwKLSAgICAgICAgfSwKLSAg
ICAgICAgewotICAgICAgICAgICAgIm5hbWUiOiAiRm9vIGludGVyZmFjZTogaW50ZXJuYWwgW1tT
ZXRQcm90b3R5cGVPZl1dIG1ldGhvZCBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCAtIHNl
dHRpbmcgdG8gaXRzIG9yaWdpbmFsIHZhbHVlIHZpYSBSZWZsZWN0LnNldFByb3RvdHlwZU9mIHNo
b3VsZCByZXR1cm4gdHJ1ZSIsCi0gICAgICAgICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwK
LSAgICAgICAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAgICAgICAibWVzc2FnZSI6IG51
bGwsCi0gICAgICAgICAgICAic3RhY2siOiBudWxsCi0gICAgICAgIH0sCi0gICAgICAgIHsKLSAg
ICAgICAgICAgICJuYW1lIjogIkZvbyBpbnRlcmZhY2U6IGludGVybmFsIFtbU2V0UHJvdG90eXBl
T2ZdXSBtZXRob2Qgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgLSBzZXR0aW5nIHRvIGl0
cyBvcmlnaW5hbCB2YWx1ZSB2aWEgX19wcm90b19fIHNob3VsZCBub3QgdGhyb3ciLAotICAgICAg
ICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAgICAgICAicHJvcGVydGllcyI6
IHt9LAotICAgICAgICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgICAgICAgInN0YWNrIjog
bnVsbAotICAgICAgICB9LAotICAgICAgICB7Ci0gICAgICAgICAgICAibmFtZSI6ICJGb28gbXVz
dCBiZSBwcmltYXJ5IGludGVyZmFjZSBvZiBuZXcgRm9vKCkiLAotICAgICAgICAgICAgInN0YXR1
c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAgICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAg
ICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgICAgICAgInN0YWNrIjogbnVsbAotICAgICAg
ICB9LAotICAgICAgICB7Ci0gICAgICAgICAgICAibmFtZSI6ICJTdHJpbmdpZmljYXRpb24gb2Yg
bmV3IEZvbygpIiwKLSAgICAgICAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAg
ICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAg
ICAgICAgICAgICJzdGFjayI6IG51bGwKLSAgICAgICAgfSwKLSAgICAgICAgewotICAgICAgICAg
ICAgIm5hbWUiOiAiU3RyaW5naWZpY2F0aW9uIG9mIHdpbmRvdyIsCi0gICAgICAgICAgICAic3Rh
dHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAg
ICAgICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAgICAgICAic3RhY2siOiBudWxsCi0gICAg
ICAgIH0sCi0gICAgICAgIHsKLSAgICAgICAgICAgICJuYW1lIjogIldpbmRvdyBpbnRlcmZhY2Ug
b2JqZWN0IGxlbmd0aCIsCi0gICAgICAgICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAg
ICAgICAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAgICAgICAibWVzc2FnZSI6IG51bGws
Ci0gICAgICAgICAgICAic3RhY2siOiBudWxsCi0gICAgICAgIH0sCi0gICAgICAgIHsKLSAgICAg
ICAgICAgICJuYW1lIjogIldpbmRvdyBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUiLAotICAgICAgICAg
ICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAgICAgICAicHJvcGVydGllcyI6IHt9
LAotICAgICAgICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgICAgICAgInN0YWNrIjogbnVs
bAotICAgICAgICB9LAotICAgICAgICB7Ci0gICAgICAgICAgICAibmFtZSI6ICJXaW5kb3cgaW50
ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCIsCi0g
ICAgICAgICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICAgICAgICJwcm9wZXJ0
aWVzIjoge30sCi0gICAgICAgICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAgICAgICAic3Rh
Y2siOiBudWxsCi0gICAgICAgIH0sCi0gICAgICAgIHsKLSAgICAgICAgICAgICJuYW1lIjogIldp
bmRvdyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJv
dG90eXBlIG9iamVjdCIsCi0gICAgICAgICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAg
ICAgICAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAgICAgICAibWVzc2FnZSI6IG51bGws
Ci0gICAgICAgICAgICAic3RhY2siOiBudWxsCi0gICAgICAgIH0sCi0gICAgICAgIHsKLSAgICAg
ICAgICAgICJuYW1lIjogIldpbmRvdyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGll
cyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzIFwiY29uc3RydWN0b3JcIiBwcm9wZXJ0
eSIsCi0gICAgICAgICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICAgICAgICJw
cm9wZXJ0aWVzIjoge30sCi0gICAgICAgICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAgICAg
ICAic3RhY2siOiBudWxsCi0gICAgICAgIH0sCi0gICAgICAgIHsKLSAgICAgICAgICAgICJuYW1l
IjogIldpbmRvdyBpbnRlcmZhY2U6IGludGVybmFsIFtbU2V0UHJvdG90eXBlT2ZdXSBtZXRob2Qg
b2YgZ2xvYmFsIHBsYXRmb3JtIG9iamVjdCAtIHNldHRpbmcgdG8gYSBuZXcgdmFsdWUgdmlhIE9i
amVjdC5zZXRQcm90b3R5cGVPZiBzaG91bGQgdGhyb3cgYSBUeXBlRXJyb3IiLAotICAgICAgICAg
ICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAgICAgICAicHJvcGVydGllcyI6IHt9
LAotICAgICAgICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgICAgICAgInN0YWNrIjogbnVs
bAotICAgICAgICB9LAotICAgICAgICB7Ci0gICAgICAgICAgICAibmFtZSI6ICJXaW5kb3cgaW50
ZXJmYWNlOiBpbnRlcm5hbCBbW1NldFByb3RvdHlwZU9mXV0gbWV0aG9kIG9mIGdsb2JhbCBwbGF0
Zm9ybSBvYmplY3QgLSBzZXR0aW5nIHRvIGEgbmV3IHZhbHVlIHZpYSBSZWZsZWN0LnNldFByb3Rv
dHlwZU9mIHNob3VsZCByZXR1cm4gZmFsc2UiLAotICAgICAgICAgICAgInN0YXR1c19zdHJpbmci
OiAiUEFTUyIsCi0gICAgICAgICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgICAgICAgIm1l
c3NhZ2UiOiBudWxsLAotICAgICAgICAgICAgInN0YWNrIjogbnVsbAotICAgICAgICB9LAotICAg
ICAgICB7Ci0gICAgICAgICAgICAibmFtZSI6ICJXaW5kb3cgaW50ZXJmYWNlOiBpbnRlcm5hbCBb
W1NldFByb3RvdHlwZU9mXV0gbWV0aG9kIG9mIGdsb2JhbCBwbGF0Zm9ybSBvYmplY3QgLSBzZXR0
aW5nIHRvIGEgbmV3IHZhbHVlIHZpYSBfX3Byb3RvX18gc2hvdWxkIHRocm93IGEgVHlwZUVycm9y
IiwKLSAgICAgICAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgICAgICAgInBy
b3BlcnRpZXMiOiB7fSwKLSAgICAgICAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICAgICAg
ICJzdGFjayI6IG51bGwKLSAgICAgICAgfSwKLSAgICAgICAgewotICAgICAgICAgICAgIm5hbWUi
OiAiV2luZG93IGludGVyZmFjZTogaW50ZXJuYWwgW1tTZXRQcm90b3R5cGVPZl1dIG1ldGhvZCBv
ZiBnbG9iYWwgcGxhdGZvcm0gb2JqZWN0IC0gc2V0dGluZyB0byBpdHMgb3JpZ2luYWwgdmFsdWUg
dmlhIE9iamVjdC5zZXRQcm90b3R5cGVPZiBzaG91bGQgbm90IHRocm93IiwKLSAgICAgICAgICAg
ICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7fSwK
LSAgICAgICAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICAgICAgICJzdGFjayI6IG51bGwK
LSAgICAgICAgfSwKLSAgICAgICAgewotICAgICAgICAgICAgIm5hbWUiOiAiV2luZG93IGludGVy
ZmFjZTogaW50ZXJuYWwgW1tTZXRQcm90b3R5cGVPZl1dIG1ldGhvZCBvZiBnbG9iYWwgcGxhdGZv
cm0gb2JqZWN0IC0gc2V0dGluZyB0byBpdHMgb3JpZ2luYWwgdmFsdWUgdmlhIFJlZmxlY3Quc2V0
UHJvdG90eXBlT2Ygc2hvdWxkIHJldHVybiB0cnVlIiwKLSAgICAgICAgICAgICJzdGF0dXNfc3Ry
aW5nIjogIlBBU1MiLAotICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICAgICAg
ICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICAgICAgICJzdGFjayI6IG51bGwKLSAgICAgICAgfSwK
LSAgICAgICAgewotICAgICAgICAgICAgIm5hbWUiOiAiV2luZG93IGludGVyZmFjZTogaW50ZXJu
YWwgW1tTZXRQcm90b3R5cGVPZl1dIG1ldGhvZCBvZiBnbG9iYWwgcGxhdGZvcm0gb2JqZWN0IC0g
c2V0dGluZyB0byBpdHMgb3JpZ2luYWwgdmFsdWUgdmlhIF9fcHJvdG9fXyBzaG91bGQgbm90IHRo
cm93IiwKLSAgICAgICAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgICAgICAg
InByb3BlcnRpZXMiOiB7fSwKLSAgICAgICAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICAg
ICAgICJzdGFjayI6IG51bGwKLSAgICAgICAgfSwKLSAgICAgICAgewotICAgICAgICAgICAgIm5h
bWUiOiAiV2luZG93IGludGVyZmFjZTogaW50ZXJuYWwgW1tTZXRQcm90b3R5cGVPZl1dIG1ldGhv
ZCBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCAtIHNldHRpbmcgdG8gYSBuZXcgdmFsdWUg
dmlhIE9iamVjdC5zZXRQcm90b3R5cGVPZiBzaG91bGQgdGhyb3cgYSBUeXBlRXJyb3IiLAotICAg
ICAgICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAgICAgICAicHJvcGVydGll
cyI6IHt9LAotICAgICAgICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgICAgICAgInN0YWNr
IjogbnVsbAotICAgICAgICB9LAotICAgICAgICB7Ci0gICAgICAgICAgICAibmFtZSI6ICJXaW5k
b3cgaW50ZXJmYWNlOiBpbnRlcm5hbCBbW1NldFByb3RvdHlwZU9mXV0gbWV0aG9kIG9mIGludGVy
ZmFjZSBwcm90b3R5cGUgb2JqZWN0IC0gc2V0dGluZyB0byBhIG5ldyB2YWx1ZSB2aWEgUmVmbGVj
dC5zZXRQcm90b3R5cGVPZiBzaG91bGQgcmV0dXJuIGZhbHNlIiwKLSAgICAgICAgICAgICJzdGF0
dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAg
ICAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICAgICAgICJzdGFjayI6IG51bGwKLSAgICAg
ICAgfSwKLSAgICAgICAgewotICAgICAgICAgICAgIm5hbWUiOiAiV2luZG93IGludGVyZmFjZTog
aW50ZXJuYWwgW1tTZXRQcm90b3R5cGVPZl1dIG1ldGhvZCBvZiBpbnRlcmZhY2UgcHJvdG90eXBl
IG9iamVjdCAtIHNldHRpbmcgdG8gYSBuZXcgdmFsdWUgdmlhIF9fcHJvdG9fXyBzaG91bGQgdGhy
b3cgYSBUeXBlRXJyb3IiLAotICAgICAgICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0g
ICAgICAgICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgICAgICAgIm1lc3NhZ2UiOiBudWxs
LAotICAgICAgICAgICAgInN0YWNrIjogbnVsbAotICAgICAgICB9LAotICAgICAgICB7Ci0gICAg
ICAgICAgICAibmFtZSI6ICJXaW5kb3cgaW50ZXJmYWNlOiBpbnRlcm5hbCBbW1NldFByb3RvdHlw
ZU9mXV0gbWV0aG9kIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IC0gc2V0dGluZyB0byBp
dHMgb3JpZ2luYWwgdmFsdWUgdmlhIE9iamVjdC5zZXRQcm90b3R5cGVPZiBzaG91bGQgbm90IHRo
cm93IiwKLSAgICAgICAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgICAgICAg
InByb3BlcnRpZXMiOiB7fSwKLSAgICAgICAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICAg
ICAgICJzdGFjayI6IG51bGwKLSAgICAgICAgfSwKLSAgICAgICAgewotICAgICAgICAgICAgIm5h
bWUiOiAiV2luZG93IGludGVyZmFjZTogaW50ZXJuYWwgW1tTZXRQcm90b3R5cGVPZl1dIG1ldGhv
ZCBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCAtIHNldHRpbmcgdG8gaXRzIG9yaWdpbmFs
IHZhbHVlIHZpYSBSZWZsZWN0LnNldFByb3RvdHlwZU9mIHNob3VsZCByZXR1cm4gdHJ1ZSIsCi0g
ICAgICAgICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICAgICAgICJwcm9wZXJ0
aWVzIjoge30sCi0gICAgICAgICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAgICAgICAic3Rh
Y2siOiBudWxsCi0gICAgICAgIH0sCi0gICAgICAgIHsKLSAgICAgICAgICAgICJuYW1lIjogIldp
bmRvdyBpbnRlcmZhY2U6IGludGVybmFsIFtbU2V0UHJvdG90eXBlT2ZdXSBtZXRob2Qgb2YgaW50
ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgLSBzZXR0aW5nIHRvIGl0cyBvcmlnaW5hbCB2YWx1ZSB2
aWEgX19wcm90b19fIHNob3VsZCBub3QgdGhyb3ciLAotICAgICAgICAgICAgInN0YXR1c19zdHJp
bmciOiAiUEFTUyIsCi0gICAgICAgICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgICAgICAg
Im1lc3NhZ2UiOiBudWxsLAotICAgICAgICAgICAgInN0YWNrIjogbnVsbAotICAgICAgICB9LAot
ICAgICAgICB7Ci0gICAgICAgICAgICAibmFtZSI6ICJXaW5kb3cgbXVzdCBiZSBwcmltYXJ5IGlu
dGVyZmFjZSBvZiB3aW5kb3ciLAotICAgICAgICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIs
Ci0gICAgICAgICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgICAgICAgIm1lc3NhZ2UiOiBu
dWxsLAotICAgICAgICAgICAgInN0YWNrIjogbnVsbAotICAgICAgICB9Ci0gICAgXSwKLSAgICAi
dHlwZSI6ICJjb21wbGV0ZSIKLX0KLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvdGVzdC90ZXN0cy9pZGxoYXJuZXNzL0lkbEludGVyZmFjZS90ZXN0X3ByaW1hcnlfaW50ZXJm
YWNlX29mLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy90ZXN0L3Rlc3RzL2lkbGhhcm5lc3MvSWRsSW50ZXJmYWNlL3Rlc3RfcHJpbWFy
eV9pbnRlcmZhY2Vfb2YuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODU5MzQw
YTIzNjIuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRsaGFybmVzcy9JZGxJbnRlcmZhY2Uv
dGVzdF9wcmltYXJ5X2ludGVyZmFjZV9vZi5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTExICsw
LDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLSAgPG1ldGEgY2hhcnNldD0i
dXRmLTgiPgotICA8dGl0bGU+aWRsaGFybmVzczogUHJpbWFyeSBpbnRlcmZhY2U8L3RpdGxlPgot
ICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci0gIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLSAg
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvV2ViSURMUGFyc2VyLmpzIj48L3NjcmlwdD4KLSAgPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvaWRsaGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08
Ym9keT4KLTxwPlZlcmlmeSB0aGUgc2VyaWVzIG9mIHN1Yi10ZXN0cyB0aGF0IGFyZSBleGVjdXRl
ZCBmb3IgInRlc3RlZCIgaW50ZXJmYWNlCi1vYmplY3RzIGJ1dCBza2lwcGVkIGZvciAidW50ZXN0
ZWQiIGludGVyZmFjZSBvYmplY3RzLjwvcD4KLTxzY3JpcHQ+Ci0idXNlIHN0cmljdCI7Ci0KLWZ1
bmN0aW9uIEZvb1BhcmVudCgpIHt9Ci1PYmplY3QuZGVmaW5lUHJvcGVydHkod2luZG93LCAiRm9v
IiwgewotICAgIGVudW1lcmFibGU6IGZhbHNlLAotICAgIHdyaXRhYmxlOiB0cnVlLAotICAgIGNv
bmZpZ3VyYWJsZTogdHJ1ZSwKLSAgICB2YWx1ZTogZnVuY3Rpb24gRm9vKCkge30KLSAgfSk7Ci1P
YmplY3QuZGVmaW5lUHJvcGVydHkod2luZG93LkZvbywgInByb3RvdHlwZSIsIHsKLSAgICB3cml0
YWJsZTogZmFsc2UsCi0gICAgdmFsdWU6IG5ldyBGb29QYXJlbnQoKQotICB9KTsKLU9iamVjdC5k
ZWZpbmVQcm9wZXJ0eSh3aW5kb3cuRm9vLnByb3RvdHlwZSwgImNvbnN0cnVjdG9yIiwgewotICAg
IGVudW1lcmFibGU6IGZhbHNlLAotICAgIHdyaXRhYmxlOiB0cnVlLAotICAgIGNvbmZpZ3VyYWJs
ZTogdHJ1ZSwKLSAgICB2YWx1ZTogd2luZG93LkZvbwotICB9KTsKLUZvby5fX3Byb3RvX18gPSBG
b29QYXJlbnQ7Ci1Gb28ucHJvdG90eXBlW1N5bWJvbC50b1N0cmluZ1RhZ10gPSAiRm9vIjsKLQot
dmFyIGlkbEFycmF5ID0gbmV3IElkbEFycmF5KCk7Ci1pZGxBcnJheS5hZGRfdW50ZXN0ZWRfaWRs
cygiaW50ZXJmYWNlIEZvb1BhcmVudCB7fTsiKTsKLWlkbEFycmF5LmFkZF9pZGxzKAotICAgICJb
Q29uc3RydWN0b3IoKV1cbiIgKwotICAgICJpbnRlcmZhY2UgRm9vIDogRm9vUGFyZW50IHt9OyIK
LSAgKTsKLWlkbEFycmF5LmFkZF9vYmplY3RzKHsKLSAgRm9vOiBbIm5ldyBGb28oKSJdLAotICBG
b29QYXJlbnQ6IFsibmV3IEZvb1BhcmVudCgpIl0KLX0pOwotaWRsQXJyYXkudGVzdCgpOwotPC9z
Y3JpcHQ+Ci08c2NyaXB0IHR5cGU9InRleHQvanNvbiIgaWQ9ImV4cGVjdGVkIj4KLXsKLSAgInN1
bW1hcml6ZWRfc3RhdHVzIjogewotICAgICJzdGF0dXNfc3RyaW5nIjogIk9LIiwKLSAgICAibWVz
c2FnZSI6IG51bGwsCi0gICAgInN0YWNrIjogbnVsbAotICB9LAotICAic3VtbWFyaXplZF90ZXN0
cyI6IFsKLSAgICB7Ci0gICAgICAibmFtZSI6ICJGb28gaW50ZXJmYWNlIG9iamVjdCBsZW5ndGgi
LAotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAicHJvcGVydGllcyI6IHt9
LAotICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgInN0YWNrIjogbnVsbAotICAgIH0sCi0g
ICAgewotICAgICAgIm5hbWUiOiAiRm9vIGludGVyZmFjZSBvYmplY3QgbmFtZSIsCi0gICAgICAi
c3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAi
bWVzc2FnZSI6IG51bGwsCi0gICAgICAic3RhY2siOiBudWxsCi0gICAgfSwKLSAgICB7Ci0gICAg
ICAibmFtZSI6ICJGb28gaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50
ZXJmYWNlIG9iamVjdCIsCi0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJw
cm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAic3RhY2siOiBu
dWxsCi0gICAgfSwKLSAgICB7Ci0gICAgICAibmFtZSI6ICJGb28gaW50ZXJmYWNlOiBleGlzdGVu
Y2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QiLAotICAgICAg
InN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAg
Im1lc3NhZ2UiOiBudWxsLAotICAgICAgInN0YWNrIjogbnVsbAotICAgIH0sCi0gICAgewotICAg
ICAgIm5hbWUiOiAiRm9vIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGlu
dGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgXCJjb25zdHJ1Y3RvclwiIHByb3BlcnR5IiwKLSAg
ICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAg
ICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICJzdGFjayI6IG51bGwKLSAgICB9LAotICAgIHsK
LSAgICAgICJuYW1lIjogIkZvbyBtdXN0IGJlIHByaW1hcnkgaW50ZXJmYWNlIG9mIG5ldyBGb28o
KSIsCi0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJwcm9wZXJ0aWVzIjog
e30sCi0gICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAic3RhY2siOiBudWxsCi0gICAgfSwK
LSAgICB7Ci0gICAgICAibmFtZSI6ICJTdHJpbmdpZmljYXRpb24gb2YgbmV3IEZvbygpIiwKLSAg
ICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAg
ICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICJzdGFjayI6IG51bGwKLSAgICB9Ci0gIF0sCi0g
ICJ0eXBlIjogImNvbXBsZXRlIgotfQotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy90ZXN0L3Rlc3RzL2lkbGhhcm5lc3MvSWRsSW50ZXJmYWNlL3Rlc3RfdG9fanNvbl9vcGVy
YXRpb24uaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRsaGFybmVzcy9JZGxJbnRlcmZhY2UvdGVzdF90b19qc29u
X29wZXJhdGlvbi5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxOGZjMzE5M2Zm
OC4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9pZGxoYXJuZXNzL0lkbEludGVyZmFjZS90ZXN0
X3RvX2pzb25fb3BlcmF0aW9uLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxOTAgKzAsMCBAQAot
PCFET0NUWVBFIEhUTUw+Ci08aHRtbD4KLTxoZWFkPgotICA8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+
Ci0gIDx0aXRsZT5JZGxJbnRlcmZhY2UucHJvdG90eXBlLnRlc3RfdG9fanNvbl9vcGVyYXRpb24o
KTwvdGl0bGU+Ci0gIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KLSAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwv
c2NyaXB0PgotICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9XZWJJRExQYXJzZXIuanMiPjwvc2Ny
aXB0PgotICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9pZGxoYXJuZXNzLmpzIj48L3NjcmlwdD4K
LSAgPHNjcmlwdCBzcmM9Ii4uL2hlbHBlci5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4K
LTxzY3JpcHQ+Ci0gICAgInVzZSBzdHJpY3QiOwotICAgIGZ1bmN0aW9uIHdyYXAob2JqKSB7Ci0g
ICAgICAgIGZ1bmN0aW9uIEYob2JqKSB7Ci0gICAgICAgICAgICB0aGlzLl9vYmogPSBvYmo7Ci0g
ICAgICAgIH0KLQotICAgICAgICBGLnByb3RvdHlwZS50b0pTT04gPSBmdW5jdGlvbigpIHsKLSAg
ICAgICAgICAgIHJldHVybiB0aGlzLl9vYmo7Ci0gICAgICAgIH0KLQotICAgICAgICByZXR1cm4g
bmV3IEYob2JqKTsKLSAgICB9Ci0KLSAgICB2YXIgaSwgb2JqOwotICAgIGkgPSBpbnRlcmZhY2VG
cm9tKCJpbnRlcmZhY2UgQSB7IFtEZWZhdWx0XSBvYmplY3QgdG9KU09OKCk7IGF0dHJpYnV0ZSBs
b25nIGZvbzsgfTsiKTsKLSAgICBpLnRlc3RfdG9fanNvbl9vcGVyYXRpb24od3JhcCh7IGZvbzog
MTIzIH0pLCBpLm1lbWJlcnNbMF0pOwotCi0gICAgLy8gc2hvdWxkIGZhaWwgKHdyb25nIHR5cGUp
Ci0gICAgaSA9IGludGVyZmFjZUZyb20oImludGVyZmFjZSBCIHsgW0RlZmF1bHRdIG9iamVjdCB0
b0pTT04oKTsgYXR0cmlidXRlIGxvbmcgZm9vOyB9OyIpOwotICAgIGkudGVzdF90b19qc29uX29w
ZXJhdGlvbih3cmFwKHsgZm9vOiAiYSB2YWx1ZSIgfSksIGkubWVtYmVyc1swXSk7Ci0KLSAgICAv
LyBzaG91bGQgaGFuZGxlIGV4dHJhbmVvdXMgYXR0cmlidXRlcyAoZS5nLiBmcm9tIGFuIGV4dGVu
c2lvbiBzcGVjaWZpY2F0aW9uKQotICAgIGkgPSBpbnRlcmZhY2VGcm9tKCJpbnRlcmZhY2UgQyB7
IFtEZWZhdWx0XSBvYmplY3QgdG9KU09OKCk7IGF0dHJpYnV0ZSBsb25nIGZvbzsgfTsiKTsKLSAg
ICBpLnRlc3RfdG9fanNvbl9vcGVyYXRpb24od3JhcCh7IGZvbzogMTIzLCBiYXI6IDQ1NiB9KSwg
aS5tZW1iZXJzWzBdKTsKLQotICAgIC8vIHNob3VsZCBmYWlsIChtaXNzaW5nIHByb3BlcnR5KQot
ICAgIGkgPSBpbnRlcmZhY2VGcm9tKCJpbnRlcmZhY2UgRCB7IFtEZWZhdWx0XSBvYmplY3QgdG9K
U09OKCk7IGF0dHJpYnV0ZSBsb25nIGZvbzsgfTsiKTsKLSAgICBpLnRlc3RfdG9fanNvbl9vcGVy
YXRpb24od3JhcCh7IH0pLCBpLm1lbWJlcnNbMF0pOwotCi0gICAgLy8gc2hvdWxkIGZhaWwgKHNo
b3VsZCBiZSB3cml0YWJsZSkKLSAgICBvYmogPSBPYmplY3QuZGVmaW5lUHJvcGVydGllcyh7fSwg
eyBmb286IHsKLSAgICAgICAgd3JpdGFibGU6IGZhbHNlLAotICAgICAgICBlbnVtZXJhYmxlOiB0
cnVlLAotICAgICAgICBjb25maWd1cmFibGU6IHRydWUsCi0gICAgICAgIHZhbHVlOiAxMjMKLSAg
ICB9fSk7Ci0gICAgaSA9IGludGVyZmFjZUZyb20oImludGVyZmFjZSBGIHsgW0RlZmF1bHRdIG9i
amVjdCB0b0pTT04oKTsgYXR0cmlidXRlIGxvbmcgZm9vOyB9OyIpOwotICAgIGkudGVzdF90b19q
c29uX29wZXJhdGlvbih3cmFwKG9iaiksIGkubWVtYmVyc1swXSk7Ci0KLSAgICAvLyBzaG91bGQg
ZmFpbCAoc2hvdWxkIGJlIGVudW1lcmFibGUpCi0gICAgb2JqID0gT2JqZWN0LmRlZmluZVByb3Bl
cnRpZXMoe30sIHsgZm9vOiB7Ci0gICAgICAgIHdyaXRhYmxlOiB0cnVlLAotICAgICAgICBlbnVt
ZXJhYmxlOiBmYWxzZSwKLSAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLAotICAgICAgICB2YWx1
ZTogMTIzCi0gICAgfX0pOwotICAgIGkgPSBpbnRlcmZhY2VGcm9tKCJpbnRlcmZhY2UgRyB7IFtE
ZWZhdWx0XSBvYmplY3QgdG9KU09OKCk7IGF0dHJpYnV0ZSBsb25nIGZvbzsgfTsiKTsKLSAgICBp
LnRlc3RfdG9fanNvbl9vcGVyYXRpb24od3JhcChvYmopLCBpLm1lbWJlcnNbMF0pOwotCi0gICAg
Ly8gc2hvdWxkIGZhaWwgKHNob3VsZCBiZSBjb25maWd1cmFibGUpCi0gICAgb2JqID0gT2JqZWN0
LmRlZmluZVByb3BlcnRpZXMoe30sIHsgZm9vOiB7Ci0gICAgICAgIHdyaXRhYmxlOiB0cnVlLAot
ICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLAotICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlLAot
ICAgICAgICB2YWx1ZTogMTIzCi0gICAgfX0pOwotICAgIGkgPSBpbnRlcmZhY2VGcm9tKCJpbnRl
cmZhY2UgSCB7IFtEZWZhdWx0XSBvYmplY3QgdG9KU09OKCk7IGF0dHJpYnV0ZSBsb25nIGZvbzsg
fTsiKTsKLSAgICBpLnRlc3RfdG9fanNvbl9vcGVyYXRpb24od3JhcChvYmopLCBpLm1lbWJlcnNb
MF0pOwotCi0gICAgdmFyIGlkbCA9IG5ldyBJZGxBcnJheSgpOwotICAgIGlkbC5hZGRfaWRscygi
aW50ZXJmYWNlIEkgOiBKIHsgW0RlZmF1bHRdIG9iamVjdCB0b0pTT04oKTsgYXR0cmlidXRlIGxv
bmcgZm9vOyB9OyIpOwotICAgIGlkbC5hZGRfaWRscygiaW50ZXJmYWNlIEogeyBbRGVmYXVsdF0g
b2JqZWN0IHRvSlNPTigpOyBhdHRyaWJ1dGUgRE9NU3RyaW5nIGZvbzt9OyIpOwotICAgIHZhciBp
ID0gaWRsLm1lbWJlcnMuSTsKLSAgICBpLnRlc3RfdG9fanNvbl9vcGVyYXRpb24od3JhcCh7IGZv
bzogMTIzIH0pLCBpLm1lbWJlcnNbMF0pOwotCi0gICAgaSA9IGludGVyZmFjZUZyb20oImludGVy
ZmFjZSBLIHsgW0RlZmF1bHRdIG9iamVjdCB0b0pTT04oKTsgfTsiKTsKLSAgICBpLnRlc3RfdG9f
anNvbl9vcGVyYXRpb24od3JhcCh7fSksIGkubWVtYmVyc1swXSk7Ci0KLSAgICBpID0gaW50ZXJm
YWNlRnJvbSgiaW50ZXJmYWNlIEwgeyBET01TdHJpbmcgdG9KU09OKCk7IH07Iik7Ci0gICAgaS50
ZXN0X3RvX2pzb25fb3BlcmF0aW9uKHdyYXAoImEgc3RyaW5nIiksIGkubWVtYmVyc1swXSk7Ci0K
LSAgICAvLyBzaG91bGQgZmFpbCAod3Jvbmcgb3V0cHV0IHR5cGUpCi0gICAgaSA9IGludGVyZmFj
ZUZyb20oImludGVyZmFjZSBNIHsgRE9NU3RyaW5nIHRvSlNPTigpOyB9OyIpOwotICAgIGkudGVz
dF90b19qc29uX29wZXJhdGlvbih3cmFwKHt9KSwgaS5tZW1iZXJzWzBdKTsKLQotICAgIC8vIHNo
b3VsZCBmYWlsIChub3QgYW4gSURMIHR5cGUpCi0gICAgaSA9IGludGVyZmFjZUZyb20oImludGVy
ZmFjZSBOIHsgRE9NRXhjZXB0aW9uIHRvSlNPTigpOyB9OyIpOwotICAgIGkudGVzdF90b19qc29u
X29wZXJhdGlvbih3cmFwKHt9KSwgaS5tZW1iZXJzWzBdKTsKLTwvc2NyaXB0PgotPHNjcmlwdCB0
eXBlPSJ0ZXh0L2pzb24iIGlkPSJleHBlY3RlZCI+Ci0gICAgewotICAgICAgICAic3VtbWFyaXpl
ZF9zdGF0dXMiOiB7Ci0gICAgICAgICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAgICAgICAi
c3RhY2siOiBudWxsLAotICAgICAgICAgICAgInN0YXR1c19zdHJpbmciOiAiT0siCi0gICAgICAg
IH0sCi0gICAgICAgICJzdW1tYXJpemVkX3Rlc3RzIjogWwotICAgICAgICAgICAgewotICAgICAg
ICAgICAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJUZXN0
IGRlZmF1bHQgdG9KU09OIG9wZXJhdGlvbiBvZiBBIiwKLSAgICAgICAgICAgICAgICAicHJvcGVy
dGllcyI6IHt9LAotICAgICAgICAgICAgICAgICJzdGFjayI6IG51bGwsCi0gICAgICAgICAgICAg
ICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIKLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7
Ci0gICAgICAgICAgICAgICAgIm1lc3NhZ2UiOiAiYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgXCJu
dW1iZXJcIiBidXQgZ290IFwic3RyaW5nXCIiLAotICAgICAgICAgICAgICAgICJuYW1lIjogIlRl
c3QgZGVmYXVsdCB0b0pTT04gb3BlcmF0aW9uIG9mIEIiLAotICAgICAgICAgICAgICAgICJwcm9w
ZXJ0aWVzIjoge30sCi0gICAgICAgICAgICAgICAgInN0YWNrIjogIihpbXBsZW1lbnRhdGlvbi1k
ZWZpbmVkKSIsCi0gICAgICAgICAgICAgICAgInN0YXR1c19zdHJpbmciOiAiRkFJTCIKLSAgICAg
ICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgIm1lc3NhZ2UiOiBudWxs
LAotICAgICAgICAgICAgICAgICJuYW1lIjogIlRlc3QgZGVmYXVsdCB0b0pTT04gb3BlcmF0aW9u
IG9mIEMiLAotICAgICAgICAgICAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAgICAgICAg
ICAgInN0YWNrIjogbnVsbCwKLSAgICAgICAgICAgICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNT
IgotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAibWVzc2Fn
ZSI6ICJhc3NlcnRfdHJ1ZTogcHJvcGVydHkgXCJmb29cIiBzaG91bGQgYmUgcHJlc2VudCBpbiB0
aGUgb3V0cHV0IG9mIEQucHJvdG90eXBlLnRvSlNPTigpIGV4cGVjdGVkIHRydWUgZ290IGZhbHNl
IiwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJUZXN0IGRlZmF1bHQgdG9KU09OIG9wZXJhdGlv
biBvZiBEIiwKLSAgICAgICAgICAgICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgICAgICAg
ICAgICJzdGFjayI6ICIoaW1wbGVtZW50YXRpb24tZGVmaW5lZCkiLAotICAgICAgICAgICAgICAg
ICJzdGF0dXNfc3RyaW5nIjogIkZBSUwiCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewot
ICAgICAgICAgICAgICAgICJtZXNzYWdlIjogImFzc2VydF90cnVlOiBwcm9wZXJ0eSBmb28gc2hv
dWxkIGJlIHdyaXRhYmxlIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlIiwKLSAgICAgICAgICAgICAg
ICAibmFtZSI6ICJUZXN0IGRlZmF1bHQgdG9KU09OIG9wZXJhdGlvbiBvZiBGIiwKLSAgICAgICAg
ICAgICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgICAgICAgICAgICJzdGFjayI6ICIoaW1w
bGVtZW50YXRpb24tZGVmaW5lZCkiLAotICAgICAgICAgICAgICAgICJzdGF0dXNfc3RyaW5nIjog
IkZBSUwiCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJt
ZXNzYWdlIjogImFzc2VydF90cnVlOiBwcm9wZXJ0eSBmb28gc2hvdWxkIGJlIGVudW1lcmFibGUg
ZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UiLAotICAgICAgICAgICAgICAgICJuYW1lIjogIlRlc3Qg
ZGVmYXVsdCB0b0pTT04gb3BlcmF0aW9uIG9mIEciLAotICAgICAgICAgICAgICAgICJwcm9wZXJ0
aWVzIjoge30sCi0gICAgICAgICAgICAgICAgInN0YWNrIjogIihpbXBsZW1lbnRhdGlvbi1kZWZp
bmVkKSIsCi0gICAgICAgICAgICAgICAgInN0YXR1c19zdHJpbmciOiAiRkFJTCIKLSAgICAgICAg
ICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgIm1lc3NhZ2UiOiAiYXNzZXJ0
X3RydWU6IHByb3BlcnR5IGZvbyBzaG91bGQgYmUgY29uZmlndXJhYmxlIGV4cGVjdGVkIHRydWUg
Z290IGZhbHNlIiwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJUZXN0IGRlZmF1bHQgdG9KU09O
IG9wZXJhdGlvbiBvZiBIIiwKLSAgICAgICAgICAgICAgICAicHJvcGVydGllcyI6IHt9LAotICAg
ICAgICAgICAgICAgICJzdGFjayI6ICIoaW1wbGVtZW50YXRpb24tZGVmaW5lZCkiLAotICAgICAg
ICAgICAgICAgICJzdGF0dXNfc3RyaW5nIjogIkZBSUwiCi0gICAgICAgICAgICB9LAotICAgICAg
ICAgICAgewotICAgICAgICAgICAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICAgICAgICAg
ICAibmFtZSI6ICJUZXN0IGRlZmF1bHQgdG9KU09OIG9wZXJhdGlvbiBvZiBJIiwKLSAgICAgICAg
ICAgICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgICAgICAgICAgICJzdGFjayI6IG51bGws
Ci0gICAgICAgICAgICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIKLSAgICAgICAgICAgIH0s
Ci0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAg
ICAgICAgICAgICJuYW1lIjogIlRlc3QgZGVmYXVsdCB0b0pTT04gb3BlcmF0aW9uIG9mIEsiLAot
ICAgICAgICAgICAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAgICAgICAgICAgInN0YWNr
IjogbnVsbCwKLSAgICAgICAgICAgICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIgotICAgICAg
ICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAibWVzc2FnZSI6IG51bGws
Ci0gICAgICAgICAgICAgICAgIm5hbWUiOiAiVGVzdCB0b0pTT04gb3BlcmF0aW9uIG9mIEwiLAot
ICAgICAgICAgICAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAgICAgICAgICAgInN0YWNr
IjogbnVsbCwKLSAgICAgICAgICAgICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIgotICAgICAg
ICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAibWVzc2FnZSI6ICJhc3Nl
cnRfZXF1YWxzOiBleHBlY3RlZCBcInN0cmluZ1wiIGJ1dCBnb3QgXCJvYmplY3RcIiIsCi0gICAg
ICAgICAgICAgICAgIm5hbWUiOiAiVGVzdCB0b0pTT04gb3BlcmF0aW9uIG9mIE0iLAotICAgICAg
ICAgICAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAgICAgICAgICAgInN0YWNrIjogIihp
bXBsZW1lbnRhdGlvbi1kZWZpbmVkKSIsCi0gICAgICAgICAgICAgICAgInN0YXR1c19zdHJpbmci
OiAiRkFJTCIKLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAg
Im1lc3NhZ2UiOiAiYXNzZXJ0X3RydWU6IHtcInNlcXVlbmNlXCI6ZmFsc2UsXCJnZW5lcmljXCI6
bnVsbCxcIm51bGxhYmxlXCI6ZmFsc2UsXCJhcnJheVwiOmZhbHNlLFwidW5pb25cIjpmYWxzZSxc
ImlkbFR5cGVcIjpcIkRPTUV4Y2VwdGlvblwifSBpcyBub3QgYW4gYXBwcm9wcmlhdGUgcmV0dXJu
IHZhbHVlIGZvciB0aGUgdG9KU09OIG9wZXJhdGlvbiBvZiBOIGV4cGVjdGVkIHRydWUgZ290IGZh
bHNlIiwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJUZXN0IHRvSlNPTiBvcGVyYXRpb24gb2Yg
TiIsCi0gICAgICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICAgICAgICAgICAi
c3RhY2siOiAiKGltcGxlbWVudGF0aW9uLWRlZmluZWQpIiwKLSAgICAgICAgICAgICAgICAic3Rh
dHVzX3N0cmluZyI6ICJGQUlMIgotICAgICAgICAgICAgfQotICAgICAgICBdLAotICAgICAgICAi
dHlwZSI6ICJjb21wbGV0ZSIKLSAgICB9Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2lkbGhhcm5lc3Mv
SWRsSW50ZXJmYWNlL3RyYXZlcnNlX2luaGVyaXRlZF9hbmRfY29uc2VxdWVudGlhbF9pbnRlcmZh
Y2VzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy90ZXN0L3Rlc3RzL2lkbGhhcm5lc3MvSWRsSW50ZXJmYWNlL3RyYXZlcnNlX2luaGVy
aXRlZF9hbmRfY29uc2VxdWVudGlhbF9pbnRlcmZhY2VzLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDFhMTkyOTE5YWY4Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2lkbGhh
cm5lc3MvSWRsSW50ZXJmYWNlL3RyYXZlcnNlX2luaGVyaXRlZF9hbmRfY29uc2VxdWVudGlhbF9p
bnRlcmZhY2VzLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw2NSArMCwwIEBACi08IURPQ1RZUEUg
SFRNTD4KLTxodG1sPgotPGhlYWQ+Ci08dGl0bGU+SWRsRGljdGlvbmFyeS5wcm90b3R5cGUudHJh
dmVyc2VfaW5oZXJpdGVkX2FuZF9jb25zZXF1ZW50aWFsX2ludGVyZmFjZXMoKTwvdGl0bGU+Ci08
L2hlYWQ+Ci08Ym9keT4KLTxkaXYgaWQ9ImxvZyI+PC9kaXY+Ci08c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9X
ZWJJRExQYXJzZXIuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvaWRsaGFy
bmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vaGVscGVyLmpzIj48L3NjcmlwdD4K
LTxwcmUgaWQ9ZnJhZ21lbnRzPgotICAgIGludGVyZmFjZSBBIDogQiB7IH07Ci0gICAgaW50ZXJm
YWNlIEIgOiBDIHsgfTsKLSAgICBpbnRlcmZhY2UgQyB7IH07Ci0gICAgaW50ZXJmYWNlIEQgOiBF
IHsgfTsKLSAgICBpbnRlcmZhY2UgRSA6IEYgeyB9OwotICAgIGludGVyZmFjZSBGIHsgfTsKLSAg
ICBpbnRlcmZhY2UgRyB7IH07Ci0gICAgaW50ZXJmYWNlIEggeyB9OwotICAgIGludGVyZmFjZSBJ
IHsgfTsKLSAgICBpbnRlcmZhY2UgSiB7IH07Ci0KLSAgICBBIGltcGxlbWVudHMgRzsKLSAgICBB
IGltcGxlbWVudHMgSDsKLSAgICBCIGltcGxlbWVudHMgRDsKLSAgICBFIGltcGxlbWVudHMgSTsK
LSAgICBIIGltcGxlbWVudHMgSjsKLTwvcHJlPgotPHNjcmlwdD4KLSAgICAidXNlIHN0cmljdCI7
Ci0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIGludGVyZmFjZXMgPSBbXTsKLSAg
ICAgICAgaW50ZXJmYWNlRnJvbSgnaW50ZXJmYWNlIEEgeyB9OycpLnRyYXZlcnNlX2luaGVyaXRl
ZF9hbmRfY29uc2VxdWVudGlhbF9pbnRlcmZhY2VzKGZ1bmN0aW9uKGkpIHsKLSAgICAgICAgICAg
IGludGVyZmFjZXMucHVzaChpLm5hbWUpOwotICAgICAgICB9KTsKLSAgICAgICAgYXNzZXJ0X2Fy
cmF5X2VxdWFscyhpbnRlcmZhY2VzLCBbIkEiXSk7Ci0gICAgfSwgJ3Nob3VsZCByZXR1cm4gYW4g
YXJyYXkgdGhhdCBpbmNsdWRlcyBpdHNlbGYuJyk7Ci0gICAgCi0gICAgdGVzdChmdW5jdGlvbigp
IHsKLSAgICAgICAgdmFyIGNvbnRleHQgPSBuZXcgSWRsQXJyYXkoKTsKLSAgICAgICAgY29udGV4
dC5hZGRfaWRscygiaW50ZXJmYWNlIEEgeyB9OyBBIGltcGxlbWVudHMgQjsiKTsKLSAgICAgICAg
YXNzZXJ0X3Rocm93cyhuZXcgRXJyb3IoKSwgXyA9PiBjb250ZXh0Lm1lbWJlcnNbIkEiXS50cmF2
ZXJzZV9pbmhlcml0ZWRfYW5kX2NvbnNlcXVlbnRpYWxfaW50ZXJmYWNlcyhmdW5jdGlvbigpIHt9
KSk7Ci0gICAgfSwgInNob3VsZCB0aHJvdyBmb3IgaW50ZXJmYWNlcyB3aGljaCBhcmUgZXh0ZW5k
ZWQgYnkgYW5vdGhlciBpbnRlcmZhY2Ugd2hpY2ggd2Fzbid0IGFkZGVkIHRvIHRoZSBJZGxBcnJh
eS4iKTsKLQotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBjb250ZXh0ID0gbmV3
IElkbEFycmF5KCk7Ci0gICAgICAgIGNvbnRleHQuYWRkX2lkbHMoImludGVyZmFjZSBBIHsgfTsi
KTsKLSAgICAgICAgYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksIF8gPT4gY29udGV4dC5t
ZW1iZXJzWyJBIl0udHJhdmVyc2VfaW5oZXJpdGVkX2FuZF9jb25zZXF1ZW50aWFsX2ludGVyZmFj
ZXMoKSk7Ci0gICAgfSwgInNob3VsZCB0aHJvdyBpZiBub3QgcGFzc2VkIGEgY2FsbGJhY2siKTsK
LSAgICAKLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgY29udGV4dCA9IG5ldyBJ
ZGxBcnJheSgpOwotICAgICAgICBjb250ZXh0LmFkZF9pZGxzKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCdmcmFnbWVudHMnKS50ZXh0Q29udGVudCk7Ci0gICAgICAgIHZhciBpbnRlcmZhY2VzID0g
W107Ci0gICAgICAgIGNvbnRleHQubWVtYmVyc1siQSJdLnRyYXZlcnNlX2luaGVyaXRlZF9hbmRf
Y29uc2VxdWVudGlhbF9pbnRlcmZhY2VzKGZ1bmN0aW9uKGkpIHsKLSAgICAgICAgICAgIGludGVy
ZmFjZXMucHVzaChpLm5hbWUpOwotICAgICAgICB9KTsKLSAgICAgICAgYXNzZXJ0X2FycmF5X2Vx
dWFscyhpbnRlcmZhY2VzLCBbIkMiLCAiQiIsICJGIiwgIkUiLCAiSSIsICJEIiwgIkEiLCAiRyIs
ICJIIiwgIkoiXSk7Ci0gICAgfSwgJ3Nob3VsZCByZXR1cm4gYW4gYXJyYXkgdGhhdCBpbmNsdWRl
cyB0aGUgaWRlbnRpZmllciBvZiB0aGUgaW50ZXJmYWNlcyBpbiB0aGUgY29ycmVjdCBvcmRlci4n
KTsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2lk
bGhhcm5lc3MvSWRsSW50ZXJmYWNlL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9pZGxoYXJuZXNz
L0lkbEludGVyZmFjZS93M2MtaW1wb3J0LmxvZwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggNzVhZTMyMTY3ZDEuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRsaGFybmVzcy9JZGxJ
bnRlcmZhY2UvdzNjLWltcG9ydC5sb2cKKysrIC9kZXYvbnVsbApAQCAtMSwyNCArMCwwIEBACi1U
aGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVw
b3NpdG9yeS4KLURvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0Lgot
SW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgotCWh0dHBz
Oi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCi0KLVRoZW4gcnVuIHRoZSBUb29s
cy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0Ci0KLURvIE5P
VCBtb2RpZnkgb3IgcmVtb3ZlIHRoaXMgZmlsZS4KLQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1Qcm9wZXJ0
aWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6Ci1Ob25lCi1Qcm9wZXJ0eSB2YWx1ZXMgcmVx
dWlyaW5nIHZlbmRvciBwcmVmaXhlczoKLU5vbmUKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotTGlzdCBvZiBm
aWxlczoKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy90ZXN0L3Rlc3RzL2lkbGhhcm5lc3MvSWRsSW50ZXJmYWNlL2RlZmF1bHRfdG9fanNvbl9v
cGVyYXRpb24uaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRsaGFybmVzcy9JZGxJbnRlcmZhY2UvZ2V0X2luaGVy
aXRhbmNlX3N0YWNrLmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2lkbGhhcm5lc3MvSWRsSW50ZXJmYWNlL2hhc19k
ZWZhdWx0X3RvX2pzb25fcmVndWxhcl9vcGVyYXRpb24uaHRtbAotL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRsaGFybmVz
cy9JZGxJbnRlcmZhY2UvaGFzX3RvX2pzb25fcmVndWxhcl9vcGVyYXRpb24uaHRtbAotL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVz
dHMvaWRsaGFybmVzcy9JZGxJbnRlcmZhY2UvdGVzdF9pbW11dGFibGVfcHJvdG90eXBlLmh0bWwK
LS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90
ZXN0L3Rlc3RzL2lkbGhhcm5lc3MvSWRsSW50ZXJmYWNlL3Rlc3RfcHJpbWFyeV9pbnRlcmZhY2Vf
b2YuaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3Rlc3QvdGVzdHMvaWRsaGFybmVzcy9JZGxJbnRlcmZhY2UvdGVzdF90b19qc29uX29w
ZXJhdGlvbi5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9pZGxoYXJuZXNzL0lkbEludGVyZmFjZS90cmF2ZXJzZV9p
bmhlcml0ZWRfYW5kX2NvbnNlcXVlbnRpYWxfaW50ZXJmYWNlcy5odG1sCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0
L3Rlc3RzL2lkbGhhcm5lc3MvSWRsSW50ZXJmYWNlTWVtYmVyL2lzX3RvX2pzb25fcmVndWxhcl9v
cGVyYXRpb24uaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRsaGFybmVzcy9JZGxJbnRlcmZhY2VNZW1iZXIvaXNf
dG9fanNvbl9yZWd1bGFyX29wZXJhdGlvbi5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCBhYzkyM2RkNWE4Zi4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9pZGxoYXJuZXNzL0lk
bEludGVyZmFjZU1lbWJlci9pc190b19qc29uX3JlZ3VsYXJfb3BlcmF0aW9uLmh0bWwKKysrIC9k
ZXYvbnVsbApAQCAtMSw0MiArMCwwIEBACi08IURPQ1RZUEUgSFRNTD4KLTxodG1sPgotPGhlYWQ+
Ci08dGl0bGU+SWRsSW50ZXJmYWNlTWVtYmVyLnByb3RvdHlwZS5pc190b19qc29uX3JlZ3VsYXJf
b3BlcmF0aW9uKCk8L3RpdGxlPgotPC9oZWFkPgotPGJvZHk+Ci08ZGl2IGlkPSJsb2ciPjwvZGl2
PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvV2ViSURMUGFyc2VyLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL2lkbGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4u
L2hlbHBlci5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotICAgICJ1c2Ugc3RyaWN0IjsKLSAgICB0
ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgbSA9IG1lbWJlckZyb20oInJlYWRvbmx5IGF0
dHJpYnV0ZSBET01TdHJpbmcgZm9vIik7Ci0gICAgICAgIGFzc2VydF9mYWxzZShtLmlzX3RvX2pz
b25fcmVndWxhcl9vcGVyYXRpb24oKSk7Ci0gICAgfSwgJ3Nob3VsZCByZXR1cm4gZmFsc2Ugd2hl
biBtZW1iZXIgaXMgYW4gYXR0cmlidXRlLicpOwotCi0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAg
ICAgICAgdmFyIG0gPSBtZW1iZXJGcm9tKCJzdGF0aWMgdm9pZCBmb28oKSIpOwotICAgICAgICBh
c3NlcnRfZmFsc2UobS5pc190b19qc29uX3JlZ3VsYXJfb3BlcmF0aW9uKCkpOwotICAgIH0sICdz
aG91bGQgcmV0dXJuIGZhbHNlIHdoZW4gbWVtYmVyIGlzIGEgc3RhdGljIG9wZXJhdGlvbi4nKTsK
LQotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBtID0gbWVtYmVyRnJvbSgic3Rh
dGljIG9iamVjdCB0b0pTT04oKSIpOwotICAgICAgICBhc3NlcnRfZmFsc2UobS5pc190b19qc29u
X3JlZ3VsYXJfb3BlcmF0aW9uKCkpOwotICAgIH0sICdzaG91bGQgcmV0dXJuIGZhbHNlIHdoZW4g
bWVtYmVyIGlzIGEgc3RhdGljIHRvSlNPTiBvcGVyYXRpb24uJyk7Ci0KLSAgICB0ZXN0KGZ1bmN0
aW9uKCkgewotICAgICAgICB2YXIgbSA9IG1lbWJlckZyb20oIm9iamVjdCB0b0pTT04oKSIpOwot
ICAgICAgICBhc3NlcnRfdHJ1ZShtLmlzX3RvX2pzb25fcmVndWxhcl9vcGVyYXRpb24oKSk7Ci0g
ICAgfSwgJ3Nob3VsZCByZXR1cm4gdHJ1ZSB3aGVuIG1lbWJlciBpcyBhIHJlZ3VsYXIgdG9KU09O
IG9wZXJhdGlvbi4nKTsKLQotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBtID0g
bWVtYmVyRnJvbSgiW0Zvb10gb2JqZWN0IHRvSlNPTigpIik7Ci0gICAgICAgIGFzc2VydF90cnVl
KG0uaXNfdG9fanNvbl9yZWd1bGFyX29wZXJhdGlvbigpKTsKLSAgICB9LCAnc2hvdWxkIHJldHVy
biB0cnVlIHdoZW4gbWVtYmVyIGlzIGEgcmVndWxhciB0b0pTT04gb3BlcmF0aW9uIHdpdGggZXh0
ZW5zaWJsZSBhdHRyaWJ1dGVzLicpOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+Ci0KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3Rlc3QvdGVzdHMvaWRsaGFybmVzcy9JZGxJbnRlcmZhY2VNZW1iZXIvdzNjLWltcG9y
dC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy90ZXN0L3Rlc3RzL2lkbGhhcm5lc3MvSWRsSW50ZXJmYWNlTWVtYmVyL3czYy1pbXBvcnQu
bG9nCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkNDczZGNlNzUwNy4uMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvdGVzdC90ZXN0cy9pZGxoYXJuZXNzL0lkbEludGVyZmFjZU1lbWJlci93M2MtaW1wb3J0
LmxvZworKysgL2Rldi9udWxsCkBAIC0xLDE3ICswLDAgQEAKLVRoZSB0ZXN0cyBpbiB0aGlzIGRp
cmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgotRG8gTk9UIG1v
ZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBw
dWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMKLQotVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXcz
Yy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKLQotRG8gTk9UIG1vZGlmeSBvciByZW1vdmUg
dGhpcyBmaWxlLgotCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLVByb3BlcnRpZXMgcmVxdWlyaW5nIHZlbmRv
ciBwcmVmaXhlczoKLU5vbmUKLVByb3BlcnR5IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9yIHByZWZp
eGVzOgotTm9uZQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1MaXN0IG9mIGZpbGVzOgotL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRs
aGFybmVzcy9JZGxJbnRlcmZhY2VNZW1iZXIvaXNfdG9fanNvbl9yZWd1bGFyX29wZXJhdGlvbi5o
dG1sCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2lkbGhhcm5lc3MvT1dORVJTIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9pZGxo
YXJuZXNzL09XTkVSUwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzdlODA5NTAxN2Mu
LjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRsaGFybmVzcy9PV05FUlMKKysrIC9kZXYvbnVs
bApAQCAtMSArMCwwIEBACi1AdG9iaWUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRsaGFybmVzcy9i
YXNpYy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvdGVzdC90ZXN0cy9pZGxoYXJuZXNzL2Jhc2ljLmh0bWwKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IGRhM2MzZmFhYTFjLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2lk
bGhhcm5lc3MvYmFzaWMuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDM1ICswLDAgQEAKLTwhRE9D
VFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLTx0aXRsZT5pZGxoYXJuZXNzIGJhc2ljPC90aXRs
ZT4KLTwvaGVhZD4KLTxib2R5PgotPGRpdiBpZD0ibG9nIj48L2Rpdj4KLTxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL1dlYklETFBhcnNlci5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9p
ZGxoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci0gICAgInVzZSBzdHJpY3QiOwotICAg
IHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIGFzc2VydF90cnVlKCJJZGxBcnJheSIgaW4gd2lu
ZG93KTsKLSAgICB9LCAnSWRsQXJyYXkgY29uc3RydWN0b3Igc2hvdWxkIGJlIGEgZ2xvYmFsIG9i
amVjdCcpOwotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIGFzc2VydF90cnVlKG5ldyBJ
ZGxBcnJheSgpIGluc3RhbmNlb2YgSWRsQXJyYXkpOwotICAgIH0sICdJZGxBcnJheSBjb25zdHJ1
Y3RvciBzaG91bGQgYmUgY29uc3RydWN0aWJsZScpOwotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0g
ICAgICAgIGFzc2VydF90cnVlKCJXZWJJREwyIiBpbiB3aW5kb3cpOwotICAgIH0sICdXZWJJREwy
IG5hbWVzcGFjZSBzaG91bGQgYmUgYSBnbG9iYWwgb2JqZWN0Jyk7Ci0gICAgdGVzdChmdW5jdGlv
bigpIHsKLSAgICAgICAgYXNzZXJ0X2VxdWFscyh0eXBlb2YgV2ViSURMMi5wYXJzZSwgImZ1bmN0
aW9uIik7Ci0gICAgfSwgJ1dlYklETDIgbmFtZXNwYWNlIHNob3VsZCBoYXZlIGEgcGFyc2UgbWV0
aG9kJyk7Ci0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgYXNzZXJ0X3Rocm93cyhuZXcg
VHlwZUVycm9yKCksIGZ1bmN0aW9uKCkgeyAgV2ViSURMMi5wYXJzZSgiSSdtIGEgc3ludGF4IGVy
cm9yIik7IH0pOwotICAgIH0sICdXZWJJREwyIHBhcnNlIG1ldGhvZCBzaG91bGQgYmFpbCBvbiBp
bmNvcnJlY3QgV2ViSURMJyk7Ci0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgYXNzZXJ0
X2VxdWFscyh0eXBlb2YgV2ViSURMMi5wYXJzZSgiaW50ZXJmYWNlIEZvbyB7fTsiKSwgIm9iamVj
dCIpOwotICAgIH0sICdXZWJJREwyIHBhcnNlIG1ldGhvZCBzaG91bGQgcHJvZHVjZSBhbiBBU1Qg
Zm9yIGNvcnJlY3QgV2ViSURMJyk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KLQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvdGVzdC90ZXN0cy9pZGxoYXJuZXNzL2hlbHBlci5qcyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRsaGFybmVz
cy9oZWxwZXIuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDJiNzM1MjdmZjJiLi4w
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2lkbGhhcm5lc3MvaGVscGVyLmpzCisrKyAvZGV2L251
bGwKQEAgLTEsMjQgKzAsMCBAQAotInVzZSBzdHJpY3QiOwotCi12YXIgdHlwZWRlZkZyb20gPSBp
bnRlcmZhY2VGcm9tOwotdmFyIGRpY3Rpb25hcnlGcm9tID0gaW50ZXJmYWNlRnJvbTsKLWZ1bmN0
aW9uIGludGVyZmFjZUZyb20oaSkgewotICAgIHZhciBpZGwgPSBuZXcgSWRsQXJyYXkoKTsKLSAg
ICBpZGwuYWRkX2lkbHMoaSk7Ci0gICAgZm9yICh2YXIgcHJvcCBpbiBpZGwubWVtYmVycykgewot
ICAgICAgICByZXR1cm4gaWRsLm1lbWJlcnNbcHJvcF07Ci0gICAgfQotfQotCi1mdW5jdGlvbiBt
ZW1iZXJGcm9tKG0pIHsKLSAgICB2YXIgaWRsID0gbmV3IElkbEFycmF5KCk7Ci0gICAgaWRsLmFk
ZF9pZGxzKCdpbnRlcmZhY2UgQSB7ICcgKyBtICsgJzsgfTsnKTsKLSAgICByZXR1cm4gaWRsLm1l
bWJlcnNbIkEiXS5tZW1iZXJzWzBdOwotfQotCi1mdW5jdGlvbiB0eXBlRnJvbSh0eXBlKSB7Ci0g
ICAgdmFyIGFzdCA9IFdlYklETDIucGFyc2UoJ2ludGVyZmFjZSBGb28geyAnICsgdHlwZSArICcg
YSgpOyB9OycpOwotICAgIGFzdCA9IGFzdFswXTsgLy8gZ2V0IHRoZSBmaXJzdCBmcmFnbWVudAot
ICAgIGFzdCA9IGFzdC5tZW1iZXJzWzBdOyAvLyBnZXQgdGhlIGZpcnN0IG1lbWJlcgotICAgIHJl
dHVybiBhc3QuaWRsVHlwZTsgLy8gZ2V0IHRoZSB0eXBlIG9mIHRoZSBmaXJzdCBmaWVsZAotfQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvdGVzdC90ZXN0cy9pZGxoYXJuZXNzL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9p
ZGxoYXJuZXNzL3czYy1pbXBvcnQubG9nCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBj
N2Y3MzA1ZWJlZi4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9pZGxoYXJuZXNzL3czYy1pbXBv
cnQubG9nCisrKyAvZGV2L251bGwKQEAgLTEsMTkgKzAsMCBAQAotVGhlIHRlc3RzIGluIHRoaXMg
ZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCi1EbyBOT1Qg
bW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQsIGNyZWF0ZSBh
IHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20vdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cwotCi1UaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQt
dzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydAotCi1EbyBOT1QgbW9kaWZ5IG9yIHJlbW92
ZSB0aGlzIGZpbGUuCi0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotUHJvcGVydGllcyByZXF1aXJpbmcgdmVu
ZG9yIHByZWZpeGVzOgotTm9uZQotUHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJl
Zml4ZXM6Ci1Ob25lCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLUxpc3Qgb2YgZmlsZXM6Ci0vTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9p
ZGxoYXJuZXNzL09XTkVSUwotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRsaGFybmVzcy9iYXNpYy5odG1sCi0vTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0
cy9pZGxoYXJuZXNzL2hlbHBlci5qcwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9pZnJhbWUtY2FsbGJh
Y2suaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3Rlc3QvdGVzdHMvaWZyYW1lLWNhbGxiYWNrLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDFhOGIyY2JjMDBmLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2lmcmFt
ZS1jYWxsYmFjay5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTE4ICswLDAgQEAKLTwhRE9DVFlQ
RSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLTx0aXRsZT5FeGFtcGxlIHdpdGggaWZyYW1lIHRoYXQg
bm90aWZpZXMgY29udGFpbmluZyBkb2N1bWVudCB2aWEgY2FsbGJhY2tzPC90aXRsZT4KLTxzY3Jp
cHQgc3JjPSIuLi8uLi90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4v
Li4vdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgb25sb2Fk
PSJzdGFydF90ZXN0X2luX2lmcmFtZSgpIj4KLTxoMT5DYWxsYmFja3MgRnJvbSBUZXN0cyBSdW5u
aW5nIEluIEFuIElGUkFNRTwvaDE+Ci08cD5BIHRlc3QgaXMgcnVuIGluc2lkZSBhbiA8dHQ+aWZy
YW1lPC90dD4gd2l0aCBhIHNhbWUgb3JpZ2luIGRvY3VtZW50LiBUaGUKLWNvbnRhaW5pbmcgZG9j
dW1lbnQgc2hvdWxkIHJlY2VpdmUgY2FsbGJhY2tzIGFzIHRoZSB0ZXN0cyBwcm9ncmVzcyBpbnNp
ZGUgdGhlCi08dHQ+aWZyYW1lPC90dD4uIEEgc2luZ2xlIHBhc3NpbmcgdGVzdCBpcyBleHBlY3Rl
ZCBpbiB0aGUgc3VtbWFyeSBiZWxvdy4KLTxkaXYgaWQ9ImxvZyI+PC9kaXY+Ci0KLTxzY3JpcHQ+
Ci12YXIgY2FsbGJhY2tzID0gW107Ci12YXIgU1RBUlQgPSAxCi12YXIgVEVTVF9TVEFURSA9IDIK
LXZhciBSRVNVTFQgPSAzCi12YXIgQ09NUExFVElPTiA9IDQKLXZhciB0ZXN0X2NvbXBsZXRlID0g
ZmFsc2U7Ci0KLXNldHVwKHtleHBsaWNpdF9kb25lOiB0cnVlfSk7Ci0KLS8vIFRoZSBmb2xsb3dp
bmcgY2FsbGJhY2tzIGFyZSBjYWxsZWQgZm9yIHRlc3RzIGluIHRoaXMgZG9jdW1lbnQgYXMgd2Vs
bCBhcyB0aGUKLS8vIHRlc3RzIGluIHRoZSBJRlJBTUUuIEN1cnJlbnRseSwgY2FsbGJhY2tzIGlu
dm9rZWQgZnJvbSB0aGlzIGRvY3VtZW50IGFuZCBhbnkKLS8vIGNoaWxkIGRvY3VtZW50IGFyZSBp
bmRpc3Rpbmd1aXNoYWJsZSBmcm9tIGVhY2ggb3RoZXIuCi0KLWZ1bmN0aW9uIHN0YXJ0X2NhbGxi
YWNrKHByb3BlcnRpZXMpIHsKLSAgICBjYWxsYmFja3MucHVzaChTVEFSVCk7Ci19Ci0KLWZ1bmN0
aW9uIHRlc3Rfc3RhdGVfY2FsbGJhY2sodGVzdCkgewotICAgIGNhbGxiYWNrcy5wdXNoKFRFU1Rf
U1RBVEUpOwotfQotCi1mdW5jdGlvbiByZXN1bHRfY2FsbGJhY2sodGVzdCkgewotICAgIGNhbGxi
YWNrcy5wdXNoKFJFU1VMVCk7Ci19Ci0KLWZ1bmN0aW9uIGNvbXBsZXRpb25fY2FsbGJhY2sodGVz
dHMsIHN0YXR1cykgewotICAgIGlmICh0ZXN0X2NvbXBsZXRlKSB7Ci0gICAgICAgIHJldHVybjsK
LSAgICB9Ci0gICAgdGVzdF9jb21wbGV0ZSA9IHRydWU7Ci0gICAgY2FsbGJhY2tzLnB1c2goQ09N
UExFVElPTik7Ci0gICAgdmVyaWZ5X3JlY2VpdmVkX2NhbGxiYWNrcygpOwotICAgIGRvbmUoKTsK
LX0KLQotZnVuY3Rpb24gdmVyaWZ5X3JlY2VpdmVkX2NhbGxiYWNrcygpIHsKLSAgICB2YXIgY29w
eV9vZl9jYWxsYmFja3MgPSBjYWxsYmFja3Muc2xpY2UoMCk7Ci0KLSAgICAvLyBOb3RlIHRoYXQg
eW91IGNhbid0IHJ1biB0ZXN0IGFzc2VydGlvbnMgZGlyZWN0bHkgaW4gYSBjYWxsYmFjayBldmVu
IGlmCi0gICAgLy8gdGhpcyBpcyBhIGZpbGUgdGVzdC4gV2hlbiB0aGUgY2FsbGJhY2sgaXMgaW52
b2tlZCBmcm9tIGEgc2FtZS1vcmlnaW4gY2hpbGQKLSAgICAvLyBwYWdlLCB0aGUgY2FsbHN0YWNr
IHJlYWNoZXMgaW50byB0aGUgY2FsbGluZyBjaGlsZCBkb2N1bWVudC4gQW55Ci0gICAgLy8gZXhj
ZXB0aW9uIHRocm93biBpbiBhIGNhbGxiYWNrIHdpbGwgYmUgaGFuZGxlZCBieSB0aGUgY2hpbGQg
cmF0aGVyIHRoYW4KLSAgICAvLyB0aGlzIGRvY3VtZW50LgotICAgIHRlc3QoCi0gICAgICAgIGZ1
bmN0aW9uKCkgewotICAgICAgICAgICAgLy8gY2FsbGJhY2tzIGxpc3Qgc2hvdWxkIGxvb2sgbGlr
ZToKLSAgICAgICAgICAgIC8vICAgICBTVEFSVCAxKihURVNUX1NUQVRFKSBSRVNVTFQgQ09NUExF
VElPTgotICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhjb3B5X29mX2NhbGxiYWNrcy5zaGlmdCgp
LCBTVEFSVCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIlRoZSBmaXJzdCByZWNlaXZlZCBj
YWxsYmFjayBzaG91bGQgYmUgJ3N0YXJ0X2NhbGxiYWNrJy4iKTsKLSAgICAgICAgICAgIGFzc2Vy
dF9lcXVhbHMoY29weV9vZl9jYWxsYmFja3Muc2hpZnQoKSwgVEVTVF9TVEFURSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgIid0ZXN0X3N0YXRlX2NhbGxiYWNrJyBzaG91bGQgYmUgcmVjZWl2
ZWQgYmVmb3JlIGFueSAiICsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgInJlc3VsdCBvciBj
b21wbGV0aW9uIGNhbGxiYWNrcy4iKTsKLSAgICAgICAgICAgIHdoaWxlKGNvcHlfb2ZfY2FsbGJh
Y2tzLmxlbmd0aCA+IDApIHsKLSAgICAgICAgICAgICAgICB2YXIgY2FsbGJhY2sgPSBjb3B5X29m
X2NhbGxiYWNrcy5zaGlmdCgpOwotICAgICAgICAgICAgICAgIGlmIChjYWxsYmFjayAhPSBURVNU
X1NUQVRFKSB7Ci0gICAgICAgICAgICAgICAgICAgIGNvcHlfb2ZfY2FsbGJhY2tzLnVuc2hpZnQo
Y2FsbGJhY2spOwotICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgICAgICB9
Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBhc3NlcnRfZXF1YWxzKGNvcHlfb2ZfY2FsbGJh
Y2tzLnNoaWZ0KCksIFJFU1VMVCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIid0ZXN0X3N0
YXRlX2NhbGxiYWNrJyBzaG91bGQgYmUgZm9sbG93ZWQgYnkgJ3Jlc3VsdF9jYWxsYmFjaycuIik7
Ci0gICAgICAgICAgICBhc3NlcnRfZXF1YWxzKGNvcHlfb2ZfY2FsbGJhY2tzLnNoaWZ0KCksIENP
TVBMRVRJT04sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICJGaW5hbCAncmVzdWx0X2NhbGxi
YWNrJyBzaG91bGQgYmUgZm9sbG93ZWQgYnkgJ2NvbXBsZXRpb25fY2FsbGJhY2snLiIpOwotICAg
ICAgICAgICAgYXNzZXJ0X2VxdWFscyhjb3B5X29mX2NhbGxiYWNrcy5sZW5ndGgsIDAsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICInY29tcGxldGlvbl9jYWxsYmFjaycgc2hvdWxkIGJlIHRo
ZSBsYXN0IGNhbGxiYWNrLiIpOwotICAgICAgICB9KTsKLX0KLQotZnVuY3Rpb24gc3RhcnRfdGVz
dF9pbl9pZnJhbWUoKSB7Ci0gICAgLy8gVGhpcyBkb2N1bWVudCBpcyBnb2luZyB0byBjbGVhciBh
bnkgcmVjZWl2ZWQgY2FsbGJhY2tzIGFuZCBtYWludGFpbgotICAgIC8vIHJhZGlvIHNpbGVuY2Ug
dW50aWwgdGhlIHRlc3QgaW4gdGhlIGlmcmFtZSBydW5zIHRvIGNvbXBsZXRpb24uIFRoZQotICAg
IC8vIGNvbXBsZXRpb25fY2FsbGJhY2soKSB3aWxsIHRoZW4gY29tcGxldGUgdGhlIHRlc3Rpbmcg
b24gdGhpcyBkb2N1bWVudC4KLSAgICBjYWxsYmFja3MubGVuZ3RoID0gMDsKLSAgICB2YXIgaWZy
YW1lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7Ci0gICAgLy8gc2luZ2xlLXBh
Z2UtdGVzdC1wYXNzLmh0bWwgaGFzIGEgc2luZ2xlIHRlc3QuCi0gICAgaWZyYW1lLnNyYyA9ICJz
aW5nbGUtcGFnZS10ZXN0LXBhc3MuaHRtbCI7Ci0gICAgaWZyYW1lLnN0eWxlLnNldFByb3BlcnR5
KCJkaXNwbGF5IiwgIm5vbmUiKTsKLSAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGFyZ2V0
IikuYXBwZW5kQ2hpbGQoaWZyYW1lKTsKLX0KLTwvc2NyaXB0PgotCi08ZGl2IGlkPSJ0YXJnZXQi
PgotPC9kaXY+Ci08c2NyaXB0IHR5cGU9InRleHQvanNvbiIgaWQ9ImV4cGVjdGVkIj4KLXsKLSAg
InN1bW1hcml6ZWRfc3RhdHVzIjogewotICAgICJzdGF0dXNfc3RyaW5nIjogIk9LIiwKLSAgICAi
bWVzc2FnZSI6IG51bGwsCi0gICAgInN0YWNrIjogbnVsbAotICB9LAotICAic3VtbWFyaXplZF90
ZXN0cyI6IFsKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJu
YW1lIjogIkV4YW1wbGUgd2l0aCBpZnJhbWUgdGhhdCBub3RpZmllcyBjb250YWluaW5nIGRvY3Vt
ZW50IHZpYSBjYWxsYmFja3MiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNz
YWdlIjogbnVsbCwKLSAgICAgICJzdGFjayI6IG51bGwKLSAgICB9Ci0gIF0sCi0gICJ0eXBlIjog
ImNvbXBsZXRlIgotfQotPC9zY3JpcHQ+Ci08L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2lm
cmFtZS1jb25zb2xpZGF0ZS1lcnJvcnMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWZyYW1lLWNvbnNvbGlkYXRl
LWVycm9ycy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmZDIwZDRmNzFmNS4u
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9pZnJhbWUtY29uc29saWRhdGUtZXJyb3JzLmh0bWwK
KysrIC9kZXYvbnVsbApAQCAtMSw0NiArMCwwIEBACi08IURPQ1RZUEUgSFRNTD4KLTxodG1sPgot
PGhlYWQ+Ci08dGl0bGU+RXhhbXBsZSB3aXRoIGlmcmFtZSB0aGF0IGNvbnNvbGlkYXRlcyBlcnJv
cnMgdmlhIGZldGNoX3Rlc3RzX2Zyb21fd2luZG93PC90aXRsZT4KLTxzY3JpcHQgc3JjPSIuLi8u
Li90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLXZhciBwYXJlbnRfdGVzdCA9IGFzeW5j
X3Rlc3QoIlRlc3QgZXhlY3V0aW5nIGluIHBhcmVudCBjb250ZXh0Iik7Ci08L3NjcmlwdD4KLTwv
aGVhZD4KLTxib2R5IG9ubG9hZD0icGFyZW50X3Rlc3QuZG9uZSgpIj4KLTxoMT5GZXRjaGluZyBU
ZXN0cyBGcm9tIGEgQ2hpbGQgQ29udGV4dDwvaDE+Ci08cD5UaGlzIHRlc3QgZGVtb25zdHJhdGVz
IHRoZSB1c2Ugb2YgPHR0PmZldGNoX3Rlc3RzX2Zyb21fd2luZG93PC90dD4gdG8gcHVsbAotdGVz
dHMgZnJvbSBhbiA8dHQ+aWZyYW1lPC90dD4gaW50byB0aGUgcHJpbWFyeSBkb2N1bWVudC48L3A+
Ci08cD5UaGUgdGVzdCBzdWl0ZSBpcyBleHBlY3RlZCB0byBmYWlsIGR1ZSB0byBhbiB1bmhhbmRs
ZWQgZXhjZXB0aW9uIGluIHRoZQotY2hpbGQgY29udGV4dC48L3A+Ci08ZGl2IGlkPSJsb2ciPjwv
ZGl2PgotCi08aWZyYW1lIGlkPSJjaGlsZENvbnRleHQiIHNyYz0idW5jYXVnaHQtZXhjZXB0aW9u
LWhhbmRsZS5odG1sIiBzdHlsZT0iZGlzcGxheTpub25lIj48L2lmcmFtZT4KLTwhLS0gYXBpc2Ft
cGxlNC5odG1sIGlzIGEgZmFpbGluZyBzdWl0ZSBkdWUgdG8gYW4gdW5oYW5kbGVkIEVycm9yLiAt
LT4KLQotPHNjcmlwdD4KLQl2YXIgY2hpbGRDb250ZXh0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNoaWxkQ29udGV4dCIpOwotCWZldGNoX3Rlc3RzX2Zyb21fd2luZG93KGNoaWxkQ29udGV4
dC5jb250ZW50V2luZG93KTsKLTwvc2NyaXB0PgotPHNjcmlwdCB0eXBlPSJ0ZXh0L2pzb24iIGlk
PSJleHBlY3RlZCI+Ci17Ci0gICJzdW1tYXJpemVkX3N0YXR1cyI6IHsKLSAgICAic3RhdHVzX3N0
cmluZyI6ICJFUlJPUiIsCi0gICAgIm1lc3NhZ2UiOiAiRXJyb3IgaW4gcmVtb3RlOiBFcnJvcjog
RXhhbXBsZSBFcnJvciIsCi0gICAgInN0YWNrIjogbnVsbAotICB9LAotICAic3VtbWFyaXplZF90
ZXN0cyI6IFsKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJu
YW1lIjogIlRlc3QgZXhlY3V0aW5nIGluIHBhcmVudCBjb250ZXh0IiwKLSAgICAgICJwcm9wZXJ0
aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAic3RhY2siOiBudWxsCi0g
ICAgfQotICBdLAotICAidHlwZSI6ICJjb21wbGV0ZSIKLX0KLTwvc2NyaXB0PgotPC9ib2R5Pgot
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9pZnJhbWUtY29uc29saWRhdGUtdGVzdHMuaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3Rlc3QvdGVzdHMvaWZyYW1lLWNvbnNvbGlkYXRlLXRlc3RzLmh0bWwKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDkwYzVmOGVjZTlmLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2lm
cmFtZS1jb25zb2xpZGF0ZS10ZXN0cy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsOTUgKzAsMCBA
QAotPCFET0NUWVBFIEhUTUw+Ci08aHRtbD4KLTxoZWFkPgotPHRpdGxlPkV4YW1wbGUgd2l0aCBp
ZnJhbWUgdGhhdCBjb25zb2xpZGF0ZXMgdGVzdHMgdmlhIGZldGNoX3Rlc3RzX2Zyb21fd2luZG93
PC90aXRsZT4KLTxzY3JpcHQgc3JjPSIuLi8uLi90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0iLi4vLi4vdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlw
dD4KLXZhciBwYXJlbnRfdGVzdCA9IGFzeW5jX3Rlc3QoIlRlc3QgZXhlY3V0aW5nIGluIHBhcmVu
dCBjb250ZXh0Iik7Ci08L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0icGFyZW50X3Rl
c3QuZG9uZSgpIj4KLTxoMT5GZXRjaGluZyBUZXN0cyBGcm9tIGEgQ2hpbGQgQ29udGV4dDwvaDE+
Ci08cD5UaGlzIHRlc3QgZGVtb25zdHJhdGVzIHRoZSB1c2Ugb2YgPHR0PmZldGNoX3Rlc3RzX2Zy
b21fd2luZG93PC90dD4gdG8gcHVsbAotdGVzdHMgZnJvbSBhbiA8dHQ+aWZyYW1lPC90dD4gaW50
byB0aGUgcHJpbWFyeSBkb2N1bWVudC48L3A+Ci08cD5UaGUgdGVzdCBzdWl0ZSB3aWxsIG5vdCBj
b21wbGV0ZSB1bnRpbCB0ZXN0cyBpbiB0aGUgY2hpbGQgY29udGV4dCBoYXZlIGZpbmlzaGVkCi1l
eGVjdXRpbmc8L3A+Ci08ZGl2IGlkPSJsb2ciPjwvZGl2PgotCi08aWZyYW1lIGlkPSJjaGlsZENv
bnRleHQiIHNyYz0icHJvbWlzZS1hc3luYy5odG1sIiBzdHlsZT0iZGlzcGxheTpub25lIj48L2lm
cmFtZT4KLTwhLS0gcHJvbWlzZS1hc3luYy5odG1sIGhhcyBhc3luYyB0ZXN0cyB3aXRoIHByb21p
c2VzIC0tPgotCi08c2NyaXB0PgotCXZhciBjaGlsZENvbnRleHQgPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY2hpbGRDb250ZXh0Iik7Ci0JZmV0Y2hfdGVzdHNfZnJvbV93aW5kb3coY2hpbGRD
b250ZXh0LmNvbnRlbnRXaW5kb3cpOwotPC9zY3JpcHQ+Ci08c2NyaXB0IHR5cGU9InRleHQvanNv
biIgaWQ9ImV4cGVjdGVkIj4KLXsKLSAgInN1bW1hcml6ZWRfc3RhdHVzIjogewotICAgICJzdGF0
dXNfc3RyaW5nIjogIk9LIiwKLSAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgInN0YWNrIjogbnVs
bAotICB9LAotICAic3VtbWFyaXplZF90ZXN0cyI6IFsKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0
cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1lIjogIlByb21pc2UgcmVqZWN0aW9uIiwKLSAgICAg
ICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAic3RhY2si
OiBudWxsCi0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAg
ICAgICJuYW1lIjogIlByb21pc2UgcmVzb2x1dGlvbiIsCi0gICAgICAicHJvcGVydGllcyI6IHt9
LAotICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgInN0YWNrIjogbnVsbAotICAgIH0sCi0g
ICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiRkFJTCIsCi0gICAgICAibmFtZSI6ICJQcm9t
aXNlcyBhbmQgdGVzdCBhc3NlcnRpb24gZmFpbHVyZXMgKHNob3VsZCBmYWlsKSIsCi0gICAgICAi
cHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiAiYXNzZXJ0X3RydWU6IFRoaXMgZmFp
bHVyZSBpcyBleHBlY3RlZCBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZSIsCi0gICAgICAic3RhY2si
OiAiKGltcGxlbWVudGF0aW9uLWRlZmluZWQpIgotICAgIH0sCi0gICAgewotICAgICAgInN0YXR1
c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJQcm9taXNlcyBhcmUgc3VwcG9ydGVk
IGluIHlvdXIgYnJvd3NlciIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3Nh
Z2UiOiBudWxsLAotICAgICAgInN0YWNrIjogbnVsbAotICAgIH0sCi0gICAgewotICAgICAgInN0
YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJQcm9taXNlcyByZXNvbHV0aW9u
IGNoYWluaW5nIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6IG51
bGwsCi0gICAgICAic3RhY2siOiBudWxsCi0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0
cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1lIjogIlRlc3QgZXhlY3V0aW5nIGluIHBhcmVudCBj
b250ZXh0IiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6IG51bGws
Ci0gICAgICAic3RhY2siOiBudWxsCi0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmlu
ZyI6ICJQQVNTIiwKLSAgICAgICJuYW1lIjogIlVzZSBvZiBzdGVwX2Z1bmMgd2l0aCBQcm9taXNl
cyIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAg
ICAgInN0YWNrIjogbnVsbAotICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAi
RkFJTCIsCi0gICAgICAibmFtZSI6ICJVc2Ugb2YgdW5yZWFjaGVkX2Z1bmMgd2l0aCBQcm9taXNl
cyAoc2hvdWxkIGZhaWwpIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2Fn
ZSI6ICJhc3NlcnRfdW5yZWFjaGVkOiBUaGlzIGZhaWx1cmUgaXMgZXhwZWN0ZWQgUmVhY2hlZCB1
bnJlYWNoYWJsZSBjb2RlIiwKLSAgICAgICJzdGFjayI6ICIoaW1wbGVtZW50YXRpb24tZGVmaW5l
ZCkiCi0gICAgfQotICBdLAotICAidHlwZSI6ICJjb21wbGV0ZSIKLX0KLTwvc2NyaXB0PgotPC9i
b2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9pZnJhbWUtbXNnLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rl
c3RzL2lmcmFtZS1tc2cuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTNhM2Zm
ZjkyNGYuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWZyYW1lLW1zZy5odG1sCisrKyAvZGV2
L251bGwKQEAgLTEsODYgKzAsMCBAQAotPCFET0NUWVBFIEhUTUw+Ci08aHRtbD4KLTxoZWFkPgot
PHRpdGxlPkV4YW1wbGUgd2l0aCBpZnJhbWUgdGhhdCBub3RpZmllcyBjb250YWluaW5nIGRvY3Vt
ZW50IHZpYSBjcm9zcyBkb2N1bWVudCBtZXNzYWdpbmc8L3RpdGxlPgotPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxoMT5Ob3RpZmljYXRp
b25zIEZyb20gVGVzdHMgUnVubmluZyBJbiBBbiBJRlJBTUU8L2gxPgotPHA+QSB0ZXN0IGlzIHJ1
biBpbnNpZGUgYW4gPHR0PmlmcmFtZTwvdHQ+IHdpdGggYSBzYW1lIG9yaWdpbiBkb2N1bWVudC4g
VGhlCi1jb250YWluaW5nIGRvY3VtZW50IHNob3VsZCByZWNlaXZlIG1lc3NhZ2VzIHZpYSA8dHQ+
cG9zdE1lc3NhZ2U8L3R0Pi8KLTx0dD5vbm1lc3NhZ2U8L3R0PiBhcyB0aGUgdGVzdHMgcHJvZ3Jl
c3MgaW5zaWRlIHRoZSA8dHQ+aWZyYW1lPC90dD4uIEEgc2luZ2xlCi1wYXNzaW5nIHRlc3QgaXMg
ZXhwZWN0ZWQgaW4gdGhlIHN1bW1hcnkgYmVsb3cuCi08L3A+Ci08ZGl2IGlkPSJsb2ciPjwvZGl2
PgotCi08c2NyaXB0PgotdmFyIHQgPSBhc3luY190ZXN0KCJDb250YWluaW5nIGRvY3VtZW50IHJl
Y2VpdmVzIG1lc3NhZ2VzIik7Ci12YXIgc3RhcnRfcmVjZWl2ZWQgPSBmYWxzZTsKLXZhciByZXN1
bHRfcmVjZWl2ZWQgPSBmYWxzZTsKLXZhciBjb21wbGV0aW9uX3JlY2VpdmVkID0gZmFsc2U7Ci0K
LS8vIFRoZXNlIGFyZSB0aGUgbWVzc2FnZXMgdGhhdCBhcmUgZXhwZWN0ZWQgdG8gYmUgc2VlbiB3
aGlsZSBydW5uaW5nIHRoZSB0ZXN0cwotLy8gaW4gdGhlIElGUkFNRS4KLXZhciBleHBlY3RlZF9t
ZXNzYWdlcyA9IFsKLSAgICB0LnN0ZXBfZnVuYygKLSAgICAgICAgZnVuY3Rpb24obWVzc2FnZSkg
ewotICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhtZXNzYWdlLmRhdGEudHlwZSwgInN0YXJ0Iik7
Ci0gICAgICAgICAgICBhc3NlcnRfb3duX3Byb3BlcnR5KG1lc3NhZ2UuZGF0YSwgInByb3BlcnRp
ZXMiKTsKLSAgICAgICAgfSksCi0KLSAgICB0LnN0ZXBfZnVuYygKLSAgICAgICAgZnVuY3Rpb24o
bWVzc2FnZSkgewotICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhtZXNzYWdlLmRhdGEudHlwZSwg
InRlc3Rfc3RhdGUiKTsKLSAgICAgICAgICAgIGFzc2VydF9lcXVhbHMobWVzc2FnZS5kYXRhLnRl
c3Quc3RhdHVzLCBtZXNzYWdlLmRhdGEudGVzdC5OT1RSVU4pOwotICAgICAgICB9KSwKLQotICAg
IHQuc3RlcF9mdW5jKAotICAgICAgICBmdW5jdGlvbihtZXNzYWdlKSB7Ci0gICAgICAgICAgICBh
c3NlcnRfZXF1YWxzKG1lc3NhZ2UuZGF0YS50eXBlLCAicmVzdWx0Iik7Ci0gICAgICAgICAgICBh
c3NlcnRfZXF1YWxzKG1lc3NhZ2UuZGF0YS50ZXN0LnN0YXR1cywgbWVzc2FnZS5kYXRhLnRlc3Qu
UEFTUyk7Ci0gICAgICAgIH0pLAotCi0gICAgdC5zdGVwX2Z1bmMoCi0gICAgICAgIGZ1bmN0aW9u
KG1lc3NhZ2UpIHsKLSAgICAgICAgICAgIGFzc2VydF9lcXVhbHMobWVzc2FnZS5kYXRhLnR5cGUs
ICJjb21wbGV0ZSIpOwotICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhtZXNzYWdlLmRhdGEudGVz
dHMubGVuZ3RoLCAxKTsKLSAgICAgICAgICAgIGFzc2VydF9lcXVhbHMobWVzc2FnZS5kYXRhLnRl
c3RzWzBdLnN0YXR1cywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZS5kYXRhLnRl
c3RzWzBdLlBBU1MpOwotICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhtZXNzYWdlLmRhdGEuc3Rh
dHVzLnN0YXR1cywgbWVzc2FnZS5kYXRhLnN0YXR1cy5PSyk7Ci0gICAgICAgICAgICB0LmRvbmUo
KTsKLSAgICAgICAgfSksCi0KLSAgICB0LnVucmVhY2hlZF9mdW5jKCJUb28gbWFueSBtZXNzYWdl
cyByZWNlaXZlZCIpCi1dOwotCi1vbl9ldmVudCh3aW5kb3csCi0gICAgICAgICAibWVzc2FnZSIs
Ci0gICAgICAgICBmdW5jdGlvbihtZXNzYWdlKSB7Ci0gICAgICAgICAgICAgdmFyIGhhbmRsZXIg
PSBleHBlY3RlZF9tZXNzYWdlcy5zaGlmdCgpOwotICAgICAgICAgICAgIGhhbmRsZXIobWVzc2Fn
ZSk7Ci0gICAgICAgICB9KTsKLTwvc2NyaXB0PgotPGlmcmFtZSBzcmM9InNpbmdsZS1wYWdlLXRl
c3QtcGFzcy5odG1sIiBzdHlsZT0iZGlzcGxheTpub25lIj4KLSAgPCEtLSBzaW5nbGUtcGFnZS10
ZXN0LXBhc3MuaHRtbCBpbXBsZW1lbnRzIGEgZmlsZV9pc190ZXN0IHRlc3QuIC0tPgotPC9pZnJh
bWU+Ci08c2NyaXB0IHR5cGU9InRleHQvanNvbiIgaWQ9ImV4cGVjdGVkIj4KLXsKLSAgInN1bW1h
cml6ZWRfc3RhdHVzIjogewotICAgICJzdGF0dXNfc3RyaW5nIjogIk9LIiwKLSAgICAibWVzc2Fn
ZSI6IG51bGwsCi0gICAgInN0YWNrIjogbnVsbAotICB9LAotICAic3VtbWFyaXplZF90ZXN0cyI6
IFsKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1lIjog
IkNvbnRhaW5pbmcgZG9jdW1lbnQgcmVjZWl2ZXMgbWVzc2FnZXMiLAotICAgICAgInByb3BlcnRp
ZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICJzdGFjayI6IG51bGwKLSAg
ICB9Ci0gIF0sCi0gICJ0eXBlIjogImNvbXBsZXRlIgotfQotPC9zY3JpcHQ+Ci08L2JvZHk+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy90ZXN0L3Rlc3RzL29yZGVyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL29yZGVyLmh0bWwKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQyMGViNmIxYWQwLi4wMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0
L3Rlc3RzL29yZGVyLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwzOSArMCwwIEBACi08IURPQ1RZ
UEUgSFRNTD4KLTxodG1sPgotPGhlYWQ+Ci08dGl0bGU+T3JkZXJpbmc8L3RpdGxlPgotPG1ldGEg
bmFtZT0idGltZW91dCIgY29udGVudD0iNjAwMCI+Ci08L2hlYWQ+Ci08Ym9keT4KLTxkaXYgaWQ9
ImxvZyI+PC9kaXY+Ci08c2NyaXB0IHNyYz0iLi4vLi4vdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQ+Ci10ZXN0KGZ1bmN0aW9uKCkge30sICdzZWNvbmQnKTsKLXRlc3QoZnVuY3Rpb24oKSB7
fSwgJ2ZpcnN0Jyk7Ci08L3NjcmlwdD4KLTxzY3JpcHQgdHlwZT0idGV4dC9qc29uIiBpZD0iZXhw
ZWN0ZWQiPgotewotICAic3VtbWFyaXplZF9zdGF0dXMiOiB7Ci0gICAgInN0YXR1c19zdHJpbmci
OiAiT0siLAotICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAic3RhY2siOiBudWxsCi0gIH0sCi0g
ICJzdW1tYXJpemVkX3Rlc3RzIjogW3sKLSAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAg
ICAibmFtZSI6ICJmaXJzdCIsCi0gICAgInN0YWNrIjogbnVsbCwKLSAgICAibWVzc2FnZSI6IG51
bGwsCi0gICAgInByb3BlcnRpZXMiOiB7fQotICB9LCB7Ci0gICAgInN0YXR1c19zdHJpbmciOiAi
UEFTUyIsCi0gICAgIm5hbWUiOiAic2Vjb25kIiwKLSAgICAic3RhY2siOiBudWxsLAotICAgICJt
ZXNzYWdlIjogbnVsbCwKLSAgICAicHJvcGVydGllcyI6IHt9Ci0gIH1dLAotICAidHlwZSI6ICJj
b21wbGV0ZSIKLX0KLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90
ZXN0cy9wcm9taXNlLWFzeW5jLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL3Byb21pc2UtYXN5bmMuaHRtbApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODhiNjk3MmE2MGEuLjAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rl
c3QvdGVzdHMvcHJvbWlzZS1hc3luYy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTgwICswLDAg
QEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLTx0aXRsZT5Bc3luYyBUZXN0cyBh
bmQgUHJvbWlzZXM8L3RpdGxlPgotPC9oZWFkPgotPGJvZHk+Ci08aDE+QXN5bmMgVGVzdHMgYW5k
IFByb21pc2VzPC9oMT4KLTxwPlRoaXMgdGVzdCBhc3N1bWVzIEVDTUFTY3JpcHQgNiBQcm9taXNl
IHN1cHBvcnQuIFNvbWUgZmFpbHVyZXMgYXJlIGV4cGVjdGVkLjwvcD4KLTxkaXYgaWQ9ImxvZyI+
PC9kaXY+Ci08c2NyaXB0IHNyYz0iLi4vLi4vdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii4uLy4uL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+
Ci0KLXRlc3QoZnVuY3Rpb24oKSB7Ci0gIHZhciBwID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVz
b2x2ZSwgcmVqZWN0KSB7fSk7Ci0gIGFzc2VydF90cnVlKCd0aGVuJyBpbiBwKTsKLSAgYXNzZXJ0
X2VxdWFscyh0eXBlb2YgUHJvbWlzZS5yZXNvbHZlLCAnZnVuY3Rpb24nKTsKLSAgYXNzZXJ0X2Vx
dWFscyh0eXBlb2YgUHJvbWlzZS5yZWplY3QsICdmdW5jdGlvbicpOwotfSwgIlByb21pc2VzIGFy
ZSBzdXBwb3J0ZWQgaW4geW91ciBicm93c2VyIik7Ci0KLShmdW5jdGlvbigpIHsKLSAgdmFyIHQg
PSBhc3luY190ZXN0KCJQcm9taXNlIHJlc29sdXRpb24iKTsKLSAgdC5zdGVwKGZ1bmN0aW9uKCkg
ewotICAgIFByb21pc2UucmVzb2x2ZSgneCcpLnRoZW4oCi0gICAgICB0LnN0ZXBfZnVuYyhmdW5j
dGlvbih2YWx1ZSkgewotICAgICAgICBhc3NlcnRfZXF1YWxzKHZhbHVlLCAneCcpOwotICAgICAg
ICB0LmRvbmUoKTsKLSAgICAgIH0pLAotICAgICAgdC51bnJlYWNoZWRfZnVuYygnUHJvbWlzZSBz
aG91bGQgbm90IHJlamVjdCcpCi0gICAgKTsKLSAgfSk7Ci19KCkpOwotCi0oZnVuY3Rpb24oKSB7
Ci0gIHZhciB0ID0gYXN5bmNfdGVzdCgiUHJvbWlzZSByZWplY3Rpb24iKTsKLSAgdC5zdGVwKGZ1
bmN0aW9uKCkgewotICAgIFByb21pc2UucmVqZWN0KEVycm9yKCdmYWlsJykpLnRoZW4oCi0gICAg
ICB0LnVucmVhY2hlZF9mdW5jKCdQcm9taXNlIHNob3VsZCByZWplY3QnKSwKLSAgICAgIHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewotICAgICAgICBhc3NlcnRfdHJ1ZShyZWFzb24gaW5z
dGFuY2VvZiBFcnJvcik7Ci0gICAgICAgIGFzc2VydF9lcXVhbHMocmVhc29uLm1lc3NhZ2UsICdm
YWlsJyk7Ci0gICAgICAgIHQuZG9uZSgpOwotICAgICAgfSkKLSAgICApOwotICB9KTsKLX0oKSk7
Ci0KLShmdW5jdGlvbigpIHsKLSAgdmFyIHQgPSBhc3luY190ZXN0KCJQcm9taXNlcyByZXNvbHV0
aW9uIGNoYWluaW5nIik7Ci0gIHQuc3RlcChmdW5jdGlvbigpIHsKLSAgICB2YXIgcmVzb2x1dGlv
bnMgPSBbXTsKLSAgICBQcm9taXNlLnJlc29sdmUoJ2EnKS50aGVuKAotICAgICAgdC5zdGVwX2Z1
bmMoZnVuY3Rpb24odmFsdWUpIHsKLSAgICAgICAgcmVzb2x1dGlvbnMucHVzaCh2YWx1ZSk7Ci0g
ICAgICAgIHJldHVybiAnYic7Ci0gICAgICB9KQotICAgICkudGhlbigKLSAgICAgIHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHZhbHVlKSB7Ci0gICAgICAgIHJlc29sdXRpb25zLnB1c2godmFsdWUpOwot
ICAgICAgICByZXR1cm4gJ2MnOwotICAgICAgfSkKLSAgICApLnRoZW4oCi0gICAgICB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbih2YWx1ZSkgewotICAgICAgICByZXNvbHV0aW9ucy5wdXNoKHZhbHVlKTsK
LQotICAgICAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKHJlc29sdXRpb25zLCBbJ2EnLCAnYicsICdj
J10pOwotICAgICAgICB0LmRvbmUoKTsKLSAgICAgIH0pCi0gICAgKS5jYXRjaCgKLSAgICAgIHQu
dW5yZWFjaGVkX2Z1bmMoJ3Byb21pc2Ugc2hvdWxkIG5vdCBoYXZlIHJlamVjdGVkJykKLSAgICAp
OwotICB9KTsKLX0oKSk7Ci0KLShmdW5jdGlvbigpIHsKLSAgdmFyIHQgPSBhc3luY190ZXN0KCJV
c2Ugb2Ygc3RlcF9mdW5jIHdpdGggUHJvbWlzZXMiKTsKLSAgdC5zdGVwKGZ1bmN0aW9uKCkgewot
ICAgIHZhciByZXNvbHV0aW9ucyA9IFtdOwotICAgIFByb21pc2UucmVzb2x2ZSgneCcpLnRoZW4o
Ci0gICAgICB0LnN0ZXBfZnVuY19kb25lKCksCi0gICAgICB0LnVucmVhY2hlZF9mdW5jKCdQcm9t
aXNlIHNob3VsZCBub3QgaGF2ZSByZWplY3RlZCcpCi0gICAgKTsKLSAgfSk7Ci19KCkpOwotCi0o
ZnVuY3Rpb24oKSB7Ci0gIHZhciB0ID0gYXN5bmNfdGVzdCgiUHJvbWlzZXMgYW5kIHRlc3QgYXNz
ZXJ0aW9uIGZhaWx1cmVzIChzaG91bGQgZmFpbCkiKTsKLSAgdC5zdGVwKGZ1bmN0aW9uKCkgewot
ICAgIHZhciByZXNvbHV0aW9ucyA9IFtdOwotICAgIFByb21pc2UucmVzb2x2ZSgneCcpLnRoZW4o
Ci0gICAgICB0LnN0ZXBfZnVuYyhmdW5jdGlvbih2YWx1ZSkgewotICAgICAgICBhc3NlcnRfdHJ1
ZShmYWxzZSwgJ1RoaXMgZmFpbHVyZSBpcyBleHBlY3RlZCcpOwotICAgICAgfSkKLSAgICApLnRo
ZW4oCi0gICAgICB0LnVucmVhY2hlZF9mdW5jKCdQcm9taXNlIHNob3VsZCBub3QgaGF2ZSByZXNv
bHZlZCcpCi0gICAgKS5jYXRjaCgKLSAgICAgIHQudW5yZWFjaGVkX2Z1bmMoJ1Byb21pc2Ugc2hv
dWxkIG5vdCBoYXZlIHJlamVjdGVkJykKLSAgICApOwotICB9KTsKLX0oKSk7Ci0KLShmdW5jdGlv
bigpIHsKLSAgdmFyIHQgPSBhc3luY190ZXN0KCJVc2Ugb2YgdW5yZWFjaGVkX2Z1bmMgd2l0aCBQ
cm9taXNlcyAoc2hvdWxkIGZhaWwpIik7Ci0gIHQuc3RlcChmdW5jdGlvbigpIHsKLSAgICB2YXIg
cmVzb2x1dGlvbnMgPSBbXTsKLSAgICB2YXIgcjsKLSAgICB2YXIgcCA9IG5ldyBQcm9taXNlKGZ1
bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewotICAgICAgLy8gUmVqZWN0IGluc3RlYWQgb2YgcmVz
b2x2ZSwgdG8gZGVtb25zdHJhdGUgZmFpbHVyZS4KLSAgICAgIHJlamVjdCgxMjMpOwotICAgIH0p
OwotICAgIHAudGhlbigKLSAgICAgIGZ1bmN0aW9uKHZhbHVlKSB7Ci0gICAgICAgIGFzc2VydF9l
cXVhbHModmFsdWUsIDEyMywgJ1RoaXMgc2hvdWxkIG5vdCBhY3R1YWxseSBoYXBwZW4nKTsKLSAg
ICAgIH0sCi0gICAgICB0LnVucmVhY2hlZF9mdW5jKCdUaGlzIGZhaWx1cmUgaXMgZXhwZWN0ZWQn
KQotICAgICk7Ci0gIH0pOwotfSgpKTsKLTwvc2NyaXB0PgotPHNjcmlwdCB0eXBlPSJ0ZXh0L2pz
b24iIGlkPSJleHBlY3RlZCI+Ci17Ci0gICJzdW1tYXJpemVkX3N0YXR1cyI6IHsKLSAgICAic3Rh
dHVzX3N0cmluZyI6ICJPSyIsCi0gICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICJzdGFjayI6IG51
bGwKLSAgfSwKLSAgInN1bW1hcml6ZWRfdGVzdHMiOiBbCi0gICAgewotICAgICAgInN0YXR1c19z
dHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJQcm9taXNlIHJlamVjdGlvbiIsCi0gICAg
ICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgInN0YWNr
IjogbnVsbAotICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0g
ICAgICAibmFtZSI6ICJQcm9taXNlIHJlc29sdXRpb24iLAotICAgICAgInByb3BlcnRpZXMiOiB7
fSwKLSAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICJzdGFjayI6IG51bGwKLSAgICB9LAot
ICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIkZBSUwiLAotICAgICAgIm5hbWUiOiAiUHJv
bWlzZXMgYW5kIHRlc3QgYXNzZXJ0aW9uIGZhaWx1cmVzIChzaG91bGQgZmFpbCkiLAotICAgICAg
InByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogImFzc2VydF90cnVlOiBUaGlzIGZh
aWx1cmUgaXMgZXhwZWN0ZWQgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UiLAotICAgICAgInN0YWNr
IjogIihpbXBsZW1lbnRhdGlvbi1kZWZpbmVkKSIKLSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0
dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUiOiAiUHJvbWlzZXMgYXJlIHN1cHBvcnRl
ZCBpbiB5b3VyIGJyb3dzZXIiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNz
YWdlIjogbnVsbCwKLSAgICAgICJzdGFjayI6IG51bGwKLSAgICB9LAotICAgIHsKLSAgICAgICJz
dGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUiOiAiUHJvbWlzZXMgcmVzb2x1dGlv
biBjaGFpbmluZyIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBu
dWxsLAotICAgICAgInN0YWNrIjogbnVsbAotICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19z
dHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJVc2Ugb2Ygc3RlcF9mdW5jIHdpdGggUHJv
bWlzZXMiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogbnVsbCwK
LSAgICAgICJzdGFjayI6IG51bGwKLSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5n
IjogIkZBSUwiLAotICAgICAgIm5hbWUiOiAiVXNlIG9mIHVucmVhY2hlZF9mdW5jIHdpdGggUHJv
bWlzZXMgKHNob3VsZCBmYWlsKSIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1l
c3NhZ2UiOiAiYXNzZXJ0X3VucmVhY2hlZDogVGhpcyBmYWlsdXJlIGlzIGV4cGVjdGVkIFJlYWNo
ZWQgdW5yZWFjaGFibGUgY29kZSIsCi0gICAgICAic3RhY2siOiAiKGltcGxlbWVudGF0aW9uLWRl
ZmluZWQpIgotICAgIH0KLSAgXSwKLSAgInR5cGUiOiAiY29tcGxldGUiCi19Ci08L3NjcmlwdD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3Rlc3QvdGVzdHMvcHJvbWlzZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9wcm9taXNlLmh0bWwK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDYxZWYxNWRlZDk4Li4wMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy90ZXN0L3Rlc3RzL3Byb21pc2UuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDIyMSArMCwwIEBA
Ci08IURPQ1RZUEUgSFRNTD4KLTxodG1sPgotPGhlYWQ+Ci08dGl0bGU+UHJvbWlzZSBUZXN0czwv
dGl0bGU+Ci08L2hlYWQ+Ci08Ym9keT4KLTxoMT5Qcm9taXNlIFRlc3RzPC9oMT4KLTxwPlRoaXMg
dGVzdCBkZW1vbnN0cmF0ZXMgdGhlIHVzZSBvZiA8dHQ+cHJvbWlzZV90ZXN0PC90dD4uIEFzc3Vt
ZXMgRUNNQVNjcmlwdCA2Ci1Qcm9taXNlIHN1cHBvcnQuIFNvbWUgZmFpbHVyZXMgYXJlIGV4cGVj
dGVkLjwvcD4KLTxkaXYgaWQ9ImxvZyI+PC9kaXY+Ci08c2NyaXB0IHNyYz0iLi4vLi4vdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci10ZXN0KAotICAgIGZ1bmN0aW9uKCkgewotICAgICAg
ICB2YXIgcCA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCl7fSk7Ci0gICAg
ICAgIGFzc2VydF90cnVlKCJ0aGVuIiBpbiBwKTsKLSAgICAgICAgYXNzZXJ0X2VxdWFscyh0eXBl
b2YgUHJvbWlzZS5yZXNvbHZlLCAiZnVuY3Rpb24iKTsKLSAgICAgICAgYXNzZXJ0X2VxdWFscyh0
eXBlb2YgUHJvbWlzZS5yZWplY3QsICJmdW5jdGlvbiIpOwotICAgIH0sCi0gICAgIlByb21pc2Vz
IGFyZSBzdXBwb3J0ZWQgaW4geW91ciBicm93c2VyIik7Ci0KLXByb21pc2VfdGVzdCgKLSAgICBm
dW5jdGlvbigpIHsKLSAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgieCIpCi0gICAgICAg
ICAgICAudGhlbigKLSAgICAgICAgICAgICAgICBmdW5jdGlvbih2YWx1ZSkgewotICAgICAgICAg
ICAgICAgICAgICBhc3NlcnRfZXF1YWxzKHZhbHVlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJ4IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiRnVsZmls
bGVkIHByb21pc2Ugc2hvdWxkIHBhc3MgcmVzdWx0IHRvICIgKwotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICJmdWxmaWxsIHJlYWN0aW9uLiIpOwotICAgICAgICAgICAgICAgIH0p
OwotICAgIH0sCi0gICAgIlByb21pc2UgZnVsZmlsbG1lbnQgd2l0aCByZXN1bHQiKTsKLQotcHJv
bWlzZV90ZXN0KAotICAgIGZ1bmN0aW9uKHQpIHsKLSAgICAgICAgcmV0dXJuIFByb21pc2UucmVq
ZWN0KG5ldyBFcnJvcigiZmFpbCIpKQotICAgICAgICAgICAgLnRoZW4odC51bnJlYWNoZWRfZnVu
YygiUHJvbWlzZSBzaG91bGQgcmVqZWN0IiksCi0gICAgICAgICAgICAgICAgZnVuY3Rpb24ocmVh
c29uKSB7Ci0gICAgICAgICAgICAgICAgICAgIGFzc2VydF90cnVlKAotICAgICAgICAgICAgICAg
ICAgICAgICAgcmVhc29uIGluc3RhbmNlb2YgRXJyb3IsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAiUmVqZWN0ZWQgcHJvbWlzZSBzaG91bGQgcGFzcyByZWFzb24gdG8gZnVsZmlsbCByZWFjdGlv
bi4iKTsKLSAgICAgICAgICAgICAgICAgICAgYXNzZXJ0X2VxdWFscygKLSAgICAgICAgICAgICAg
ICAgICAgICAgIHJlYXNvbi5tZXNzYWdlLAotICAgICAgICAgICAgICAgICAgICAgICAgImZhaWwi
LAotICAgICAgICAgICAgICAgICAgICAgICAgIlJlamVjdGVkIHByb21pc2Ugc2hvdWxkIHBhc3Mg
cmVhc29uIHRvIHJlamVjdCByZWFjdGlvbi4iKTsKLSAgICAgICAgICAgICAgICB9KTsKLSAgICB9
LAotICAgICJQcm9taXNlIHJlamVjdGlvbiB3aXRoIHJlc3VsdCIpOwotCi1wcm9taXNlX3Rlc3Qo
Ci0gICAgZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciByZXNvbHV0aW9ucyA9IFtdOwotICAgICAg
ICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCJhIikKLSAgICAgICAgICAgIC50aGVuKAotICAgICAg
ICAgICAgICAgIGZ1bmN0aW9uKHZhbHVlKSB7Ci0gICAgICAgICAgICAgICAgICAgIHJlc29sdXRp
b25zLnB1c2godmFsdWUpOwotICAgICAgICAgICAgICAgICAgICByZXR1cm4gImIiOwotICAgICAg
ICAgICAgICAgIH0pCi0gICAgICAgICAgICAudGhlbigKLSAgICAgICAgICAgICAgICBmdW5jdGlv
bih2YWx1ZSkgewotICAgICAgICAgICAgICAgICAgICByZXNvbHV0aW9ucy5wdXNoKHZhbHVlKTsK
LSAgICAgICAgICAgICAgICAgICAgcmV0dXJuICJjIjsKLSAgICAgICAgICAgICAgICB9KQotICAg
ICAgICAgICAgLnRoZW4oCi0gICAgICAgICAgICAgICAgZnVuY3Rpb24odmFsdWUpIHsKLSAgICAg
ICAgICAgICAgICAgICAgcmVzb2x1dGlvbnMucHVzaCh2YWx1ZSk7Ci0gICAgICAgICAgICAgICAg
ICAgIGFzc2VydF9hcnJheV9lcXVhbHMocmVzb2x1dGlvbnMsIFsiYSIsICJiIiwgImMiXSk7Ci0g
ICAgICAgICAgICAgICAgfSk7Ci0gICAgfSwKLSAgICAiQ2hhaW4gb2YgcHJvbWlzZSByZXNvbHV0
aW9ucyIpOwotCi1wcm9taXNlX3Rlc3QoCi0gICAgZnVuY3Rpb24odCkgewotICAgICAgICB2YXIg
cmVzb2x1dGlvbnMgPSBbXTsKLSAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgieCIpCi0g
ICAgICAgICAgICAudGhlbigKLSAgICAgICAgICAgICAgICBmdW5jdGlvbih2YWx1ZSkgewotICAg
ICAgICAgICAgICAgICAgICBhc3NlcnRfdHJ1ZShmYWxzZSwgIkV4cGVjdGVkIGZhaWx1cmUuIik7
Ci0gICAgICAgICAgICAgICAgfSkKLSAgICAgICAgICAgIC50aGVuKHQudW5yZWFjaGVkX2Z1bmMo
IlVORVhQRUNURUQgRkFJTFVSRTogUHJvbWlzZSBzaG91bGQgbm90IGhhdmUgcmVzb2x2ZWQuIikp
OwotICAgIH0sCi0gICAgIkFzc2VydGlvbiBmYWlsdXJlIGluIGEgZnVsZmlsbCByZWFjdGlvbiAo
c2hvdWxkIEZBSUwgd2l0aCBhbiBleHBlY3RlZCBmYWlsdXJlKSIpOwotCi1wcm9taXNlX3Rlc3Qo
Ci0gICAgZnVuY3Rpb24odCkgewotICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoCi0gICAgICAg
ICAgICAgICAgZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7Ci0gICAgICAgICAgICAgICAgICAg
IHJlamVjdCgxMjMpOwotICAgICAgICAgICAgICAgIH0pCi0gICAgICAgICAgICAudGhlbih0LnVu
cmVhY2hlZF9mdW5jKCJVTkVYUEVDVEVEIEZBSUxVUkU6IEZ1bGZpbGwgcmVhY3Rpb24gcmVhY2hl
ZCBhZnRlciByZWplY3Rpb24uIiksCi0gICAgICAgICAgICAgICAgICB0LnVucmVhY2hlZF9mdW5j
KCJFeHBlY3RlZCBmYWlsdXJlLiIpKTsKLSAgICB9LAotICAgICJ1bnJlYWNoZWRfZnVuYyBhcyBy
ZWFjdG9yIChzaG91bGQgRkFJTCB3aXRoIGFuIGV4cGVjdGVkIGZhaWx1cmUpIik7Ci0KLXByb21p
c2VfdGVzdCgKLSAgICBmdW5jdGlvbigpIHsKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfSwK
LSAgICAicHJvbWlzZV90ZXN0IHdpdGggZnVuY3Rpb24gdGhhdCBkb2Vzbid0IHJldHVybiBhIFBy
b21pc2UiKTsKLQotcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKCl7fSwKLSAgICAgICAgICAgICAicHJv
bWlzZV90ZXN0IHdpdGggZnVuY3Rpb24gdGhhdCBkb2Vzbid0IHJldHVybiBhbnl0aGluZyIpOwot
Ci1wcm9taXNlX3Rlc3QoCi0gICAgZnVuY3Rpb24oKSB7Ci0gICAgICAgIHJldHVybiBQcm9taXNl
LnJlamVjdCgiRXhwZWN0ZWQgcmVqZWN0aW9uIik7Ci0gICAgfSwKLSAgICAicHJvbWlzZV90ZXN0
IHdpdGggdW5oYW5kbGVkIHJlamVjdGlvbiAoc2hvdWxkIEZBSUwpIik7Ci0KLXByb21pc2VfdGVz
dCgKLSAgICBmdW5jdGlvbigpIHsKLSAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgxMCkK
LSAgICAgICAgICAgIC50aGVuKAotICAgICAgICAgICAgICAgIGZ1bmN0aW9uKHZhbHVlKSB7Ci0g
ICAgICAgICAgICAgICAgICAgIHRocm93IEVycm9yKCJFeHBlY3RlZCBleGNlcHRpb24uIik7Ci0g
ICAgICAgICAgICAgICAgfSk7Ci0gICAgfSwKLSAgICAicHJvbWlzZV90ZXN0IHdpdGggdW5oYW5k
bGVkIGV4Y2VwdGlvbiBpbiBmdWxmaWxsIHJlYWN0aW9uIChzaG91bGQgRkFJTCkiKTsKLQotcHJv
bWlzZV90ZXN0KAotICAgIGZ1bmN0aW9uKHQpIHsKLSAgICAgICAgcmV0dXJuIFByb21pc2UucmVq
ZWN0KDEwKQotICAgICAgICAgICAgLnRoZW4oCi0gICAgICAgICAgICAgICAgdC51bnJlYWNoZWRf
ZnVuYygiVU5FWFBFQ1RFRCBGQUlMVVJFOiBGdWxmaWxsIHJlYWN0aW9uIHJlYWNoZWQgYWZ0ZXIg
cmVqZWN0aW9uLiIpLAotICAgICAgICAgICAgICAgIGZ1bmN0aW9uKHZhbHVlKSB7Ci0gICAgICAg
ICAgICAgICAgICAgIHRocm93IEVycm9yKCJFeHBlY3RlZCBleGNlcHRpb24uIik7Ci0gICAgICAg
ICAgICAgICAgfSk7Ci0gICAgfSwKLSAgICAicHJvbWlzZV90ZXN0IHdpdGggdW5oYW5kbGVkIGV4
Y2VwdGlvbiBpbiByZWplY3QgcmVhY3Rpb24gKHNob3VsZCBGQUlMKSIpOwotPC9zY3JpcHQ+Ci08
c2NyaXB0IHR5cGU9InRleHQvanNvbiIgaWQ9ImV4cGVjdGVkIj4KLXsKLSAgInN1bW1hcml6ZWRf
c3RhdHVzIjogewotICAgICJzdGF0dXNfc3RyaW5nIjogIk9LIiwKLSAgICAibWVzc2FnZSI6IG51
bGwsCi0gICAgInN0YWNrIjogbnVsbAotICB9LAotICAic3VtbWFyaXplZF90ZXN0cyI6IFsKLSAg
ICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJGQUlMIiwKLSAgICAgICJuYW1lIjogIkFzc2Vy
dGlvbiBmYWlsdXJlIGluIGEgZnVsZmlsbCByZWFjdGlvbiAoc2hvdWxkIEZBSUwgd2l0aCBhbiBl
eHBlY3RlZCBmYWlsdXJlKSIsCi0gICAgICAic3RhY2siOiAiKGltcGxlbWVudGF0aW9uLWRlZmlu
ZWQpIiwKLSAgICAgICJtZXNzYWdlIjogImFzc2VydF90cnVlOiBFeHBlY3RlZCBmYWlsdXJlLiBl
eHBlY3RlZCB0cnVlIGdvdCBmYWxzZSIsCi0gICAgICAicHJvcGVydGllcyI6IHt9Ci0gICAgfSwK
LSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1lIjogIkNo
YWluIG9mIHByb21pc2UgcmVzb2x1dGlvbnMiLAotICAgICAgInN0YWNrIjogbnVsbCwKLSAgICAg
ICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30KLSAgICB9LAotICAgIHsK
LSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUiOiAiUHJvbWlzZSBm
dWxmaWxsbWVudCB3aXRoIHJlc3VsdCIsCi0gICAgICAic3RhY2siOiBudWxsLAotICAgICAgIm1l
c3NhZ2UiOiBudWxsLAotICAgICAgInByb3BlcnRpZXMiOiB7fQotICAgIH0sCi0gICAgewotICAg
ICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJQcm9taXNlIHJlamVj
dGlvbiB3aXRoIHJlc3VsdCIsCi0gICAgICAic3RhY2siOiBudWxsLAotICAgICAgIm1lc3NhZ2Ui
OiBudWxsLAotICAgICAgInByb3BlcnRpZXMiOiB7fQotICAgIH0sCi0gICAgewotICAgICAgInN0
YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJQcm9taXNlcyBhcmUgc3VwcG9y
dGVkIGluIHlvdXIgYnJvd3NlciIsCi0gICAgICAic3RhY2siOiBudWxsLAotICAgICAgIm1lc3Nh
Z2UiOiBudWxsLAotICAgICAgInByb3BlcnRpZXMiOiB7fQotICAgIH0sCi0gICAgewotICAgICAg
InN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJwcm9taXNlX3Rlc3Qgd2l0
aCBmdW5jdGlvbiB0aGF0IGRvZXNuJ3QgcmV0dXJuIGEgUHJvbWlzZSIsCi0gICAgICAic3RhY2si
OiBudWxsLAotICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgInByb3BlcnRpZXMiOiB7fQot
ICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiRkFJTCIsCi0gICAgICAibmFt
ZSI6ICJwcm9taXNlX3Rlc3Qgd2l0aCBmdW5jdGlvbiB0aGF0IGRvZXNuJ3QgcmV0dXJuIGFueXRo
aW5nIiwKLSAgICAgICJzdGFjayI6ICIoaW1wbGVtZW50YXRpb24tZGVmaW5lZCkiLAotICAgICAg
Im1lc3NhZ2UiOiAiYXNzZXJ0X25vdF9lcXVhbHM6IGdvdCBkaXNhbGxvd2VkIHZhbHVlIHVuZGVm
aW5lZCIsCi0gICAgICAicHJvcGVydGllcyI6IHt9Ci0gICAgfSwKLSAgICB7Ci0gICAgICAic3Rh
dHVzX3N0cmluZyI6ICJGQUlMIiwKLSAgICAgICJuYW1lIjogInByb21pc2VfdGVzdCB3aXRoIHVu
aGFuZGxlZCBleGNlcHRpb24gaW4gZnVsZmlsbCByZWFjdGlvbiAoc2hvdWxkIEZBSUwpIiwKLSAg
ICAgICJzdGFjayI6ICIoaW1wbGVtZW50YXRpb24tZGVmaW5lZCkiLAotICAgICAgIm1lc3NhZ2Ui
OiAicHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCBc
IkVycm9yOiBFeHBlY3RlZCBleGNlcHRpb24uXCIiLAotICAgICAgInByb3BlcnRpZXMiOiB7fQot
ICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiRkFJTCIsCi0gICAgICAibmFt
ZSI6ICJwcm9taXNlX3Rlc3Qgd2l0aCB1bmhhbmRsZWQgZXhjZXB0aW9uIGluIHJlamVjdCByZWFj
dGlvbiAoc2hvdWxkIEZBSUwpIiwKLSAgICAgICJzdGFjayI6ICIoaW1wbGVtZW50YXRpb24tZGVm
aW5lZCkiLAotICAgICAgIm1lc3NhZ2UiOiAicHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0
aW9uIHdpdGggdmFsdWU6IG9iamVjdCBcIkVycm9yOiBFeHBlY3RlZCBleGNlcHRpb24uXCIiLAot
ICAgICAgInByb3BlcnRpZXMiOiB7fQotICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJp
bmciOiAiRkFJTCIsCi0gICAgICAibmFtZSI6ICJwcm9taXNlX3Rlc3Qgd2l0aCB1bmhhbmRsZWQg
cmVqZWN0aW9uIChzaG91bGQgRkFJTCkiLAotICAgICAgInN0YWNrIjogIihpbXBsZW1lbnRhdGlv
bi1kZWZpbmVkKSIsCi0gICAgICAibWVzc2FnZSI6ICJwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCBy
ZWplY3Rpb24gd2l0aCB2YWx1ZTogXCJFeHBlY3RlZCByZWplY3Rpb25cIiIsCi0gICAgICAicHJv
cGVydGllcyI6IHt9Ci0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJGQUlM
IiwKLSAgICAgICJuYW1lIjogInVucmVhY2hlZF9mdW5jIGFzIHJlYWN0b3IgKHNob3VsZCBGQUlM
IHdpdGggYW4gZXhwZWN0ZWQgZmFpbHVyZSkiLAotICAgICAgInN0YWNrIjogIihpbXBsZW1lbnRh
dGlvbi1kZWZpbmVkKSIsCi0gICAgICAibWVzc2FnZSI6ICJhc3NlcnRfdW5yZWFjaGVkOiBFeHBl
Y3RlZCBmYWlsdXJlLiBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUiLAotICAgICAgInByb3BlcnRp
ZXMiOiB7fQotICAgIH0KLSAgXSwKLSAgInR5cGUiOiAiY29tcGxldGUiCi19Ci08L3NjcmlwdD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3Rlc3QvdGVzdHMvc2luZ2xlLXBhZ2UtdGVzdC1mYWlsLmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3Rz
L3NpbmdsZS1wYWdlLXRlc3QtZmFpbC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCBhMWY4ODEwNzM4Mi4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9zaW5nbGUtcGFnZS10ZXN0
LWZhaWwuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDI5ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1M
PgotPHRpdGxlPkV4YW1wbGUgd2l0aCBmaWxlX2lzX3Rlc3QgKHNob3VsZCBmYWlsKTwvdGl0bGU+
Ci08c2NyaXB0IHNyYz0iLi4vLi4vdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBz
cmM9Ii4uLy4uL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci1vbmxv
YWQgPSBmdW5jdGlvbigpIHsKLSAgYXNzZXJ0X3RydWUoZmFsc2UpOwotICBkb25lKCk7Ci19Ci08
L3NjcmlwdD4KLTxzY3JpcHQgdHlwZT0idGV4dC9qc29uIiBpZD0iZXhwZWN0ZWQiPgotewotICAi
c3VtbWFyaXplZF9zdGF0dXMiOiB7Ci0gICAgInN0YXR1c19zdHJpbmciOiAiT0siLAotICAgICJt
ZXNzYWdlIjogbnVsbCwKLSAgICAic3RhY2siOiBudWxsCi0gIH0sCi0gICJzdW1tYXJpemVkX3Rl
c3RzIjogWwotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIkZBSUwiLAotICAgICAgIm5h
bWUiOiAiRXhhbXBsZSB3aXRoIGZpbGVfaXNfdGVzdCAoc2hvdWxkIGZhaWwpIiwKLSAgICAgICJw
cm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6ICJ1bmNhdWdodCBleGNlcHRpb246IEVy
cm9yOiBhc3NlcnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UiLAotICAgICAgInN0YWNr
IjogIihpbXBsZW1lbnRhdGlvbi1kZWZpbmVkKSIKLSAgICB9Ci0gIF0sCi0gICJ0eXBlIjogImNv
bXBsZXRlIgotfQotPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL3NpbmdsZS1wYWdlLXRl
c3Qtbm8tYXNzZXJ0aW9ucy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9zaW5nbGUtcGFnZS10ZXN0LW5vLWFzc2Vy
dGlvbnMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzQwMmE0NjljZjguLjAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvc2luZ2xlLXBhZ2UtdGVzdC1uby1hc3NlcnRpb25zLmh0
bWwKKysrIC9kZXYvbnVsbApAQCAtMSwyNiArMCwwIEBACi08IURPQ1RZUEUgSFRNTD4KLTx0aXRs
ZT5FeGFtcGxlIHNpbmdsZSBwYWdlIHRlc3Qgd2l0aCBubyBhc3NlcnRzPC90aXRsZT4KLTxzY3Jp
cHQgc3JjPSIuLi8uLi90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4v
Li4vdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLWRvbmUoKTsKLTwv
c2NyaXB0PgotPHNjcmlwdCB0eXBlPSJ0ZXh0L2pzb24iIGlkPSJleHBlY3RlZCI+Ci17Ci0gICJz
dW1tYXJpemVkX3N0YXR1cyI6IHsKLSAgICAic3RhdHVzX3N0cmluZyI6ICJPSyIsCi0gICAgIm1l
c3NhZ2UiOiBudWxsLAotICAgICJzdGFjayI6IG51bGwKLSAgfSwKLSAgInN1bW1hcml6ZWRfdGVz
dHMiOiBbCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFt
ZSI6ICJFeGFtcGxlIHNpbmdsZSBwYWdlIHRlc3Qgd2l0aCBubyBhc3NlcnRzIiwKLSAgICAgICJw
cm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAic3RhY2siOiBu
dWxsCi0gICAgfQotICBdLAotICAidHlwZSI6ICJjb21wbGV0ZSIKLX0KLTwvc2NyaXB0PgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvdGVzdC90ZXN0cy9zaW5nbGUtcGFnZS10ZXN0LW5vLWJvZHkuaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMv
c2luZ2xlLXBhZ2UtdGVzdC1uby1ib2R5Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDA2NTA5MWE5M2U4Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL3NpbmdsZS1wYWdlLXRl
c3Qtbm8tYm9keS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMjcgKzAsMCBAQAotPCFET0NUWVBF
IEhUTUw+Ci08dGl0bGU+RXhhbXBsZSBzaW5nbGUgcGFnZSB0ZXN0IHdpdGggbm8gYm9keTwvdGl0
bGU+Ci08c2NyaXB0IHNyYz0iLi4vLi4vdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlw
dCBzcmM9Ii4uLy4uL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci1h
c3NlcnRfdHJ1ZSh0cnVlKTsKLWRvbmUoKTsKLTwvc2NyaXB0PgotPHNjcmlwdCB0eXBlPSJ0ZXh0
L2pzb24iIGlkPSJleHBlY3RlZCI+Ci17Ci0gICJzdW1tYXJpemVkX3N0YXR1cyI6IHsKLSAgICAi
c3RhdHVzX3N0cmluZyI6ICJPSyIsCi0gICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICJzdGFjayI6
IG51bGwKLSAgfSwKLSAgInN1bW1hcml6ZWRfdGVzdHMiOiBbCi0gICAgewotICAgICAgInN0YXR1
c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJFeGFtcGxlIHNpbmdsZSBwYWdlIHRl
c3Qgd2l0aCBubyBib2R5IiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2Fn
ZSI6IG51bGwsCi0gICAgICAic3RhY2siOiBudWxsCi0gICAgfQotICBdLAotICAidHlwZSI6ICJj
b21wbGV0ZSIKLX0KLTwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9zaW5nbGUtcGFnZS10
ZXN0LXBhc3MuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvc2luZ2xlLXBhZ2UtdGVzdC1wYXNzLmh0bWwKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDMxZTRlNjQ5NDcxLi4wMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0
L3Rlc3RzL3NpbmdsZS1wYWdlLXRlc3QtcGFzcy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMjkg
KzAsMCBAQAotPCFET0NUWVBFIEhUTUw+Ci08dGl0bGU+RXhhbXBsZSB3aXRoIGZpbGVfaXNfdGVz
dDwvdGl0bGU+Ci08c2NyaXB0IHNyYz0iLi4vLi4vdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdCBzcmM9Ii4uLy4uL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQ+Ci1vbmxvYWQgPSBmdW5jdGlvbigpIHsKLSAgYXNzZXJ0X3RydWUodHJ1ZSk7Ci0gIGRvbmUo
KTsKLX0KLTwvc2NyaXB0PgotPHNjcmlwdCB0eXBlPSJ0ZXh0L2pzb24iIGlkPSJleHBlY3RlZCI+
Ci17Ci0gICJzdW1tYXJpemVkX3N0YXR1cyI6IHsKLSAgICAic3RhdHVzX3N0cmluZyI6ICJPSyIs
Ci0gICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICJzdGFjayI6IG51bGwKLSAgfSwKLSAgInN1bW1h
cml6ZWRfdGVzdHMiOiBbCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0g
ICAgICAibmFtZSI6ICJFeGFtcGxlIHdpdGggZmlsZV9pc190ZXN0IiwKLSAgICAgICJwcm9wZXJ0
aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAic3RhY2siOiBudWxsCi0g
ICAgfQotICBdLAotICAidHlwZSI6ICJjb21wbGV0ZSIKLX0KLTwvc2NyaXB0PgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
dGVzdC90ZXN0cy91bmNhdWdodC1leGNlcHRpb24taGFuZGxlLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL3VuY2F1
Z2h0LWV4Y2VwdGlvbi1oYW5kbGUuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
N2Q4MjQ0YmYxY2UuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvdW5jYXVnaHQtZXhjZXB0aW9u
LWhhbmRsZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMzUgKzAsMCBAQAotPCFET0NUWVBFIEhU
TUw+Ci08aHRtbD4KLTxoZWFkPgotPHRpdGxlPkhhcm5lc3MgSGFuZGxpbmcgVW5jYXVnaHQgRXhj
ZXB0aW9uPC90aXRsZT4KLTwvaGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+Ci0KLTxib2R5PgotPGgxPkhhcm5lc3MgSGFuZGxpbmcgVW5jYXVnaHQgRXhj
ZXB0aW9uPC9oMT4KLTxkaXYgaWQ9ImxvZyI+PC9kaXY+Ci08c2NyaXB0PgotdmFyIHQgPSBhc3lu
Y190ZXN0KCJUaGlzIHNob3VsZCBzaG93IGEgaGFybmVzcyBzdGF0dXMgb2YgJ0Vycm9yJyBhbmQg
YSB0ZXN0IHN0YXR1cyBvZiAnTm90IFJ1biciKTsKLXRocm93IG5ldyBFcnJvcigiRXhhbXBsZSBF
cnJvciIpOwotPC9zY3JpcHQ+Ci08c2NyaXB0IHR5cGU9InRleHQvanNvbiIgaWQ9ImV4cGVjdGVk
Ij4KLXsKLSAgInN1bW1hcml6ZWRfc3RhdHVzIjogewotICAgICJzdGF0dXNfc3RyaW5nIjogIkVS
Uk9SIiwKLSAgICAibWVzc2FnZSI6ICJFcnJvcjogRXhhbXBsZSBFcnJvciIsCi0gICAgInN0YWNr
IjogIihpbXBsZW1lbnRhdGlvbi1kZWZpbmVkKSIKLSAgfSwKLSAgInN1bW1hcml6ZWRfdGVzdHMi
OiBbCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiTk9UUlVOIiwKLSAgICAgICJuYW1l
IjogIlRoaXMgc2hvdWxkIHNob3cgYSBoYXJuZXNzIHN0YXR1cyBvZiAnRXJyb3InIGFuZCBhIHRl
c3Qgc3RhdHVzIG9mICdOb3QgUnVuJyIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAg
Im1lc3NhZ2UiOiBudWxsLAotICAgICAgInN0YWNrIjogbnVsbAotICAgIH0KLSAgXSwKLSAgInR5
cGUiOiAiY29tcGxldGUiCi19Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3Rlc3QvdGVzdHMvdW5jYXVnaHQtZXhjZXB0aW9uLWlnbm9yZS5odG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy91bmNh
dWdodC1leGNlcHRpb24taWdub3JlLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDlmNDVkZGI0N2Y1Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL3VuY2F1Z2h0LWV4Y2VwdGlv
bi1pZ25vcmUuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDM3ICswLDAgQEAKLTwhRE9DVFlQRSBI
VE1MPgotPGh0bWw+Ci08aGVhZD4KLTx0aXRsZT5IYXJuZXNzIElnbm9yaW5nIFVuY2F1Z2h0IEV4
Y2VwdGlvbjwvdGl0bGU+Ci08L2hlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgotCi08Ym9keT4KLTxoMT5IYXJuZXNzIElnbm9yaW5nIFVuY2F1Z2h0IEV4
Y2VwdGlvbjwvaDE+Ci08ZGl2IGlkPSJsb2ciPjwvZGl2PgotPHNjcmlwdD4KLXNldHVwKHthbGxv
d191bmNhdWdodF9leGNlcHRpb246dHJ1ZX0pOwotdmFyIHQgPSBhc3luY190ZXN0KCJzZXR1cCh7
YWxsb3dfdW5jYXVnaHRfZXhjZXB0aW9uOnRydWV9KSBzaG91bGQgYWxsb3cgdGVzdHMgdG8gcGFz
cyBldmVuIGlmIHRoZXJlIGlzIGFuIGV4Y2VwdGlvbiIpOwotb25lcnJvciA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKCkge3QuZG9uZSgpfSk7Ci10aHJvdyBuZXcgRXJyb3IoIkV4YW1wbGUgRXJyb3Ii
KTsKLTwvc2NyaXB0PgotPHNjcmlwdCB0eXBlPSJ0ZXh0L2pzb24iIGlkPSJleHBlY3RlZCI+Ci17
Ci0gICJzdW1tYXJpemVkX3N0YXR1cyI6IHsKLSAgICAic3RhdHVzX3N0cmluZyI6ICJPSyIsCi0g
ICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICJzdGFjayI6IG51bGwKLSAgfSwKLSAgInN1bW1hcml6
ZWRfdGVzdHMiOiBbCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAg
ICAibmFtZSI6ICJzZXR1cCh7YWxsb3dfdW5jYXVnaHRfZXhjZXB0aW9uOnRydWV9KSBzaG91bGQg
YWxsb3cgdGVzdHMgdG8gcGFzcyBldmVuIGlmIHRoZXJlIGlzIGFuIGV4Y2VwdGlvbiIsCi0gICAg
ICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgInN0YWNr
IjogbnVsbAotICAgIH0KLSAgXSwKLSAgInR5cGUiOiAiY29tcGxldGUiCi19Ci08L3NjcmlwdD4K
LTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvdW5pdC9JZGxBcnJheS9pc19q
c29uX3R5cGUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvdW5pdC9JZGxBcnJheS9pc19qc29uX3R5cGUuaHRtbApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDYzZDJiNDUzMDkuLjAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3Rlc3QvdGVzdHMvdW5pdC9JZGxBcnJheS9pc19qc29uX3R5cGUuaHRtbAorKysgL2Rldi9udWxs
CkBAIC0xLDE5NCArMCwwIEBACi08IURPQ1RZUEUgSFRNTD4KLTxodG1sPgotPGhlYWQ+Ci08dGl0
bGU+SWRsQXJyYXkucHJvdG90eXBlLmlzX2pzb25fdHlwZSgpPC90aXRsZT4KLTwvaGVhZD4KLTxi
b2R5PgotPGRpdiBpZD0ibG9nIj48L2Rpdj4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL1dlYklETFBhcnNl
ci5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9pZGxoYXJuZXNzLmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi9pZGwtaGVscGVyLmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQ+Ci0gICAgInVzZSBzdHJpY3QiOwotCi0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAg
ICAgICAgdmFyIGlkbCA9IG5ldyBJZGxBcnJheSgpOwotICAgICAgICBhc3NlcnRfdHJ1ZShpZGwu
aXNfanNvbl90eXBlKHR5cGVGcm9tKCJET01TdHJpbmciKSkpOwotICAgICAgICBhc3NlcnRfdHJ1
ZShpZGwuaXNfanNvbl90eXBlKHR5cGVGcm9tKCJCeXRlU3RyaW5nIikpKTsKLSAgICAgICAgYXNz
ZXJ0X3RydWUoaWRsLmlzX2pzb25fdHlwZSh0eXBlRnJvbSgiVVNWU3RyaW5nIikpKTsKLSAgICAg
ICAgaWRsLmFkZF91bnRlc3RlZF9pZGxzKCdlbnVtIEJhckVudW0geyAiYSIsICJiIiwgImMiIH07
Jyk7Ci0gICAgICAgIGFzc2VydF90cnVlKGlkbC5pc19qc29uX3R5cGUodHlwZUZyb20oIkJhckVu
dW0iKSkpOwotICAgIH0sICdzaG91bGQgcmV0dXJuIHRydWUgZm9yIGFsbCBzdHJpbmcgdHlwZXMn
KTsKLQotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBpZGwgPSBuZXcgSWRsQXJy
YXkoKTsKLSAgICAgICAgYXNzZXJ0X2ZhbHNlKGlkbC5pc19qc29uX3R5cGUodHlwZUZyb20oIkVy
cm9yIikpKTsKLSAgICAgICAgYXNzZXJ0X2ZhbHNlKGlkbC5pc19qc29uX3R5cGUodHlwZUZyb20o
IkRPTUV4Y2VwdGlvbiIpKSk7Ci0gICAgfSwgJ3Nob3VsZCByZXR1cm4gZmFsc2UgZm9yIGFsbCBl
eGNlcHRpb24gdHlwZXMnKTsKLQotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBp
ZGwgPSBuZXcgSWRsQXJyYXkoKTsKLSAgICAgICAgYXNzZXJ0X2ZhbHNlKGlkbC5pc19qc29uX3R5
cGUodHlwZUZyb20oIkludDhBcnJheSIpKSk7Ci0gICAgICAgIGFzc2VydF9mYWxzZShpZGwuaXNf
anNvbl90eXBlKHR5cGVGcm9tKCJJbnQxNkFycmF5IikpKTsKLSAgICAgICAgYXNzZXJ0X2ZhbHNl
KGlkbC5pc19qc29uX3R5cGUodHlwZUZyb20oIkludDMyQXJyYXkiKSkpOwotICAgICAgICBhc3Nl
cnRfZmFsc2UoaWRsLmlzX2pzb25fdHlwZSh0eXBlRnJvbSgiVWludDhBcnJheSIpKSk7Ci0gICAg
ICAgIGFzc2VydF9mYWxzZShpZGwuaXNfanNvbl90eXBlKHR5cGVGcm9tKCJVaW50MTZBcnJheSIp
KSk7Ci0gICAgICAgIGFzc2VydF9mYWxzZShpZGwuaXNfanNvbl90eXBlKHR5cGVGcm9tKCJVaW50
MzJBcnJheSIpKSk7Ci0gICAgICAgIGFzc2VydF9mYWxzZShpZGwuaXNfanNvbl90eXBlKHR5cGVG
cm9tKCJVaW50OENsYW1wZWRBcnJheSIpKSk7Ci0gICAgICAgIGFzc2VydF9mYWxzZShpZGwuaXNf
anNvbl90eXBlKHR5cGVGcm9tKCJGbG9hdDMyQXJyYXkiKSkpOwotICAgICAgICBhc3NlcnRfZmFs
c2UoaWRsLmlzX2pzb25fdHlwZSh0eXBlRnJvbSgiQXJyYXlCdWZmZXIiKSkpOwotICAgICAgICBh
c3NlcnRfZmFsc2UoaWRsLmlzX2pzb25fdHlwZSh0eXBlRnJvbSgiRGF0YVZpZXciKSkpOwotICAg
IH0sICdzaG91bGQgcmV0dXJuIGZhbHNlIGZvciBhbGwgYnVmZmVyIHNvdXJjZSB0eXBlcycpOwot
Ci0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIGlkbCA9IG5ldyBJZGxBcnJheSgp
OwotICAgICAgICBhc3NlcnRfdHJ1ZShpZGwuaXNfanNvbl90eXBlKHR5cGVGcm9tKCJib29sZWFu
IikpKTsKLSAgICB9LCAnc2hvdWxkIHJldHVybiB0cnVlIGZvciBib29sZWFuJyk7Ci0KLSAgICB0
ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgaWRsID0gbmV3IElkbEFycmF5KCk7Ci0gICAg
ICAgIGFzc2VydF90cnVlKGlkbC5pc19qc29uX3R5cGUodHlwZUZyb20oImJ5dGUiKSkpOwotICAg
ICAgICBhc3NlcnRfdHJ1ZShpZGwuaXNfanNvbl90eXBlKHR5cGVGcm9tKCJvY3RldCIpKSk7Ci0g
ICAgICAgIGFzc2VydF90cnVlKGlkbC5pc19qc29uX3R5cGUodHlwZUZyb20oInNob3J0IikpKTsK
LSAgICAgICAgYXNzZXJ0X3RydWUoaWRsLmlzX2pzb25fdHlwZSh0eXBlRnJvbSgidW5zaWduZWQg
c2hvcnQiKSkpOwotICAgICAgICBhc3NlcnRfdHJ1ZShpZGwuaXNfanNvbl90eXBlKHR5cGVGcm9t
KCJsb25nIikpKTsKLSAgICAgICAgYXNzZXJ0X3RydWUoaWRsLmlzX2pzb25fdHlwZSh0eXBlRnJv
bSgidW5zaWduZWQgbG9uZyIpKSk7Ci0gICAgICAgIGFzc2VydF90cnVlKGlkbC5pc19qc29uX3R5
cGUodHlwZUZyb20oImxvbmcgbG9uZyIpKSk7Ci0gICAgICAgIGFzc2VydF90cnVlKGlkbC5pc19q
c29uX3R5cGUodHlwZUZyb20oInVuc2lnbmVkIGxvbmcgbG9uZyIpKSk7Ci0gICAgICAgIGFzc2Vy
dF90cnVlKGlkbC5pc19qc29uX3R5cGUodHlwZUZyb20oImZsb2F0IikpKTsKLSAgICAgICAgYXNz
ZXJ0X3RydWUoaWRsLmlzX2pzb25fdHlwZSh0eXBlRnJvbSgidW5yZXN0cmljdGVkIGZsb2F0Iikp
KTsKLSAgICAgICAgYXNzZXJ0X3RydWUoaWRsLmlzX2pzb25fdHlwZSh0eXBlRnJvbSgiZG91Ymxl
IikpKTsKLSAgICAgICAgYXNzZXJ0X3RydWUoaWRsLmlzX2pzb25fdHlwZSh0eXBlRnJvbSgidW5y
ZXN0cmljdGVkIGRvdWJsZSIpKSk7Ci0gICAgfSwgJ3Nob3VsZCByZXR1cm4gdHJ1ZSBmb3IgYWxs
IG51bWVyaWMgdHlwZXMnKTsKLQotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBp
ZGwgPSBuZXcgSWRsQXJyYXkoKTsKLSAgICAgICAgYXNzZXJ0X2ZhbHNlKGlkbC5pc19qc29uX3R5
cGUodHlwZUZyb20oIlByb21pc2U8RE9NU3RyaW5nPiIpKSk7Ci0gICAgfSwgJ3Nob3VsZCByZXR1
cm4gZmFsc2UgZm9yIHByb21pc2VzJyk7Ci0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAg
ICB2YXIgaWRsID0gbmV3IElkbEFycmF5KCk7Ci0gICAgICAgIGFzc2VydF9mYWxzZShpZGwuaXNf
anNvbl90eXBlKHR5cGVGcm9tKCJzZXF1ZW5jZTxET01FeGNlcHRpb24+IikpKTsKLSAgICAgICAg
YXNzZXJ0X3RydWUoaWRsLmlzX2pzb25fdHlwZSh0eXBlRnJvbSgic2VxdWVuY2U8RE9NU3RyaW5n
PiIpKSk7Ci0gICAgfSwgJ3Nob3VsZCBoYW5kbGUgc2VxdWVuY2VzIGFjY29yZGluZyB0byB0aGVp
ciBpbm5lciB0eXBlcycpOwotCi0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIGlk
bCA9IG5ldyBJZGxBcnJheSgpOwotICAgICAgICBhc3NlcnRfZmFsc2UoaWRsLmlzX2pzb25fdHlw
ZSh0eXBlRnJvbSgiRnJvemVuQXJyYXk8RE9NRXhjZXB0aW9uPiIpKSk7Ci0gICAgICAgIGFzc2Vy
dF90cnVlKGlkbC5pc19qc29uX3R5cGUodHlwZUZyb20oIkZyb3plbkFycmF5PERPTVN0cmluZz4i
KSkpOwotICAgIH0sICdzaG91bGQgaGFuZGxlIGZyb3plbiBhcnJheXMgYWNjb3JkaW5nIHRvIHRo
ZWlyIGlubmVyIHR5cGVzJyk7Ci0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIg
aWRsID0gbmV3IElkbEFycmF5KCk7Ci0gICAgICAgIGFzc2VydF90cnVlKGlkbC5pc19qc29uX3R5
cGUodHlwZUZyb20oInJlY29yZDxET01TdHJpbmcsIERPTVN0cmluZz4iKSkpOwotICAgICAgICBh
c3NlcnRfZmFsc2UoaWRsLmlzX2pzb25fdHlwZSh0eXBlRnJvbSgicmVjb3JkPERPTVN0cmluZywg
RXJyb3I+IikpKTsKLSAgICB9LCAnc2hvdWxkIGhhbmRsZSByZWNvcmRzIGFjY29yZGluZyB0byB0
aGVpciBpbm5lciB0eXBlcycpOwotCi0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgdmFy
IGlkbCA9IG5ldyBJZGxBcnJheSgpOwotICAgICAgICBhc3NlcnRfdHJ1ZShpZGwuaXNfanNvbl90
eXBlKHR5cGVGcm9tKCJvYmplY3QiKSkpOwotICAgIH0sICdzaG91bGQgcmV0dXJuIHRydWUgZm9y
IG9iamVjdCB0eXBlJyk7Ci0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgaWRs
ID0gbmV3IElkbEFycmF5KCk7Ci0gICAgICAgIGFzc2VydF9mYWxzZShpZGwuaXNfanNvbl90eXBl
KHR5cGVGcm9tKCJhbnkiKSkpOwotICAgIH0sICdzaG91bGQgcmV0dXJuIGZhbHNlIGZvciBhbnkg
dHlwZScpOwotCi0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIGlkbCA9IG5ldyBJ
ZGxBcnJheSgpOwotICAgICAgICBpZGwuYWRkX3VudGVzdGVkX2lkbHMoJ2RpY3Rpb25hcnkgRm9v
IHsgRE9NU3RyaW5nIGZvbzsgfTsgZGljdGlvbmFyeSBCYXIgOiBGb28geyBET01TdHJpbmcgYmFy
OyB9OycpOwotICAgICAgICBhc3NlcnRfdHJ1ZShpZGwuaXNfanNvbl90eXBlKHR5cGVGcm9tKCJG
b28iKSkpOwotICAgICAgICBhc3NlcnRfdHJ1ZShpZGwuaXNfanNvbl90eXBlKHR5cGVGcm9tKCJC
YXIiKSkpOwotICAgIH0sICdzaG91bGQgcmV0dXJuIHRydWUgZm9yIGRpY3Rpb25hcmllcyB3aG9z
ZSBtZW1iZXJzIGFyZSBhbGwgSlNPTiB0eXBlcycpOwotCi0gICAgdGVzdChmdW5jdGlvbigpIHsK
LSAgICAgICAgdmFyIGlkbCA9IG5ldyBJZGxBcnJheSgpOwotICAgICAgICBpZGwuYWRkX3VudGVz
dGVkX2lkbHMoJ2RpY3Rpb25hcnkgRm9vIHsgfTsnKTsKLSAgICAgICAgYXNzZXJ0X3RydWUoaWRs
LmlzX2pzb25fdHlwZSh0eXBlRnJvbSgiRm9vIikpKTsKLSAgICB9LCAnc2hvdWxkIHJldHVybiB0
cnVlIGZvciBkaWN0aW9uYXJpZXMgd2hpY2ggaGF2ZSBubyBtZW1iZXJzJyk7Ci0KLSAgICB0ZXN0
KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgaWRsID0gbmV3IElkbEFycmF5KCk7Ci0gICAgICAg
IGlkbC5hZGRfdW50ZXN0ZWRfaWRscygnZGljdGlvbmFyeSBGb29CYXIgeyBET01TdHJpbmcgYTsg
RXJyb3IgYjsgfTsgZGljdGlvbmFyeSBCYXogOiBGb29CYXIge307Jyk7Ci0gICAgICAgIGFzc2Vy
dF9mYWxzZShpZGwuaXNfanNvbl90eXBlKHR5cGVGcm9tKCJGb29CYXIiKSkpOwotICAgICAgICBh
c3NlcnRfZmFsc2UoaWRsLmlzX2pzb25fdHlwZSh0eXBlRnJvbSgiQmF6IikpKTsKLSAgICB9LCAn
c2hvdWxkIHJldHVybiBmYWxzZSBmb3IgZGljdGlvbmFyaWVzIHdob3NlIG1lbWJlcnMgYXJlIG5v
dCBhbGwgSlNPTiB0eXBlcycpOwotCi0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgdmFy
IGlkbCA9IG5ldyBJZGxBcnJheSgpOwotICAgICAgICBpZGwuYWRkX3VudGVzdGVkX2lkbHMoJ2lu
dGVyZmFjZSBGb28geyBET01TdHJpbmcgdG9KU09OKCk7IH07Jyk7Ci0gICAgICAgIGFzc2VydF90
cnVlKGlkbC5pc19qc29uX3R5cGUodHlwZUZyb20oIkZvbyIpKSk7Ci0gICAgfSwgJ3Nob3VsZCBy
ZXR1cm4gdHJ1ZSBmb3IgaW50ZXJmYWNlcyB3aGljaCBkZWNsYXJlIGEgdG9KU09OIG9wZXJhdGlv
bicpOwotCi0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIGlkbCA9IG5ldyBJZGxB
cnJheSgpOwotICAgICAgICBpZGwuYWRkX3VudGVzdGVkX2lkbHMoJ2ludGVyZmFjZSBGb28geyBE
T01TdHJpbmcgdG9KU09OKCk7IH07IGludGVyZmFjZSBCYXIgOiBGb28geyB9OycpOwotICAgICAg
ICBhc3NlcnRfdHJ1ZShpZGwuaXNfanNvbl90eXBlKHR5cGVGcm9tKCJCYXIiKSkpOwotICAgIH0s
ICdzaG91bGQgcmV0dXJuIHRydWUgZm9yIGludGVyZmFjZXMgd2hpY2ggaW5oZXJpdCBmcm9tIGFu
IGludGVyZmFjZSB3aGljaCBkZWNsYXJlcyBhIHRvSlNPTiBvcGVyYXRpb24nKTsKLQotICAgIHRl
c3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBpZGwgPSBuZXcgSWRsQXJyYXkoKTsKLSAgICAg
ICAgaWRsLmFkZF91bnRlc3RlZF9pZGxzKCdpbnRlcmZhY2UgRm9vIHsgfTsgaW50ZXJmYWNlIG1p
eGluIEJhciB7IERPTVN0cmluZyB0b0pTT04oKTsgfTsgRm9vIGluY2x1ZGVzIEJhcjsnKTsKLSAg
ICAgICAgYXNzZXJ0X3RydWUoaWRsLmlzX2pzb25fdHlwZSh0eXBlRnJvbSgiRm9vIikpKTsKLSAg
ICB9LCAnc2hvdWxkIHJldHVybiB0cnVlIGZvciBpbnRlcmZhY2VzIHdoaWNoIG1peGluIGFuIGlu
dGVyZmFjZSB3aGljaCBkZWNsYXJlIGEgdG9KU09OIG9wZXJhdGlvbicpOwotCi0vLyAgICB0ZXN0
KGZ1bmN0aW9uKCkgewotLy8gICAgICAgIHZhciBpZGwgPSBuZXcgSWRsQXJyYXkoKTsKLS8vICAg
ICAgICBpZGwuYWRkX3VudGVzdGVkX2lkbHMoJ2ludGVyZmFjZSBGb28geyB9OyBpbnRlcmZhY2Ug
QmFyIHsgfTsgaW50ZXJmYWNlIEJheiB7IERPTVN0cmluZyB0b0pTT04oKTsgfTsgRm9vIGltcGxl
bWVudHMgQmFyOyBCYXIgaW1wbGVtZW50cyBCYXo7Jyk7Ci0vLyAgICAgICAgYXNzZXJ0X3RydWUo
aWRsLmlzX2pzb25fdHlwZSh0eXBlRnJvbSgiRm9vIikpKTsKLS8vICAgIH0sICdzaG91bGQgcmV0
dXJuIHRydWUgZm9yIGludGVyZmFjZXMgd2hpY2ggbWl4aW4gYW4gaW50ZXJmYWNlIHdoaWNoIGl0
c2VsZiBtaXhlcyBpbiBhbiBpbnRlcmZhY2Ugd2hpY2ggZGVjbGFyZXMgYSB0b0pTT04gb3BlcmF0
aW9uJyk7Ci0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgaWRsID0gbmV3IElk
bEFycmF5KCk7Ci0gICAgICAgIGlkbC5hZGRfdW50ZXN0ZWRfaWRscygnaW50ZXJmYWNlIEZvbyB7
IH07Jyk7Ci0gICAgICAgIGFzc2VydF9mYWxzZShpZGwuaXNfanNvbl90eXBlKHR5cGVGcm9tKCJG
b28iKSkpOwotICAgIH0sICdzaG91bGQgcmV0dXJuIGZhbHNlIGZvciBpbnRlcmZhY2VzIHdoaWNo
IGRvIG5vdCBkZWNsYXJlIGEgdG9KU09OIG9wZXJhdGlvbicpOwotCi0gICAgdGVzdChmdW5jdGlv
bigpIHsKLSAgICAgICAgdmFyIGlkbCA9IG5ldyBJZGxBcnJheSgpOwotICAgICAgICBpZGwuYWRk
X3VudGVzdGVkX2lkbHMoJ2ludGVyZmFjZSBGb28geyBvYmplY3QgdG9KU09OKCk7IH07Jyk7Ci0g
ICAgICAgIGFzc2VydF90cnVlKGlkbC5pc19qc29uX3R5cGUodHlwZUZyb20oIihGb28gb3IgRE9N
U3RyaW5nKSIpKSk7Ci0gICAgfSwgJ3Nob3VsZCByZXR1cm4gdHJ1ZSBmb3IgdW5pb24gdHlwZXMg
d2hvc2UgbWVtYmVyIHR5cGVzIGFyZSBKU09OIHR5cGVzJyk7Ci0KLSAgICB0ZXN0KGZ1bmN0aW9u
KCkgewotICAgICAgICB2YXIgaWRsID0gbmV3IElkbEFycmF5KCk7Ci0gICAgICAgIGFzc2VydF9m
YWxzZShpZGwuaXNfanNvbl90eXBlKHR5cGVGcm9tKCIoRGF0YVZpZXcgb3IgRE9NU3RyaW5nKSIp
KSk7Ci0gICAgfSwgJ3Nob3VsZCByZXR1cm4gZmFsc2UgZm9yIHVuaW9uIHR5cGVzIHdob3NlIG1l
bWJlciB0eXBlcyBhcmUgbm90IGFsbCBKU09OIHR5cGVzJyk7Ci0KLSAgICB0ZXN0KGZ1bmN0aW9u
KCkgewotICAgICAgICB2YXIgaWRsID0gbmV3IElkbEFycmF5KCk7Ci0gICAgICAgIGFzc2VydF90
cnVlKGlkbC5pc19qc29uX3R5cGUodHlwZUZyb20oIkRPTVN0cmluZz8iKSkpOwotICAgICAgICBh
c3NlcnRfZmFsc2UoaWRsLmlzX2pzb25fdHlwZSh0eXBlRnJvbSgiRGF0YVZpZXc/IikpKTsKLSAg
ICB9LCAnc2hvdWxkIGNvbnNpZGVyIHRoZSBpbm5lciB0eXBlcyBvZiBudWxsYWJsZSB0eXBlcycp
OwotCi0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIGlkbCA9IG5ldyBJZGxBcnJh
eSgpOwotICAgICAgICBhc3NlcnRfdHJ1ZShpZGwuaXNfanNvbl90eXBlKHR5cGVGcm9tKCJbWEF0
dHJdIGxvbmciKSkpOwotICAgICAgICBhc3NlcnRfZmFsc2UoaWRsLmlzX2pzb25fdHlwZSh0eXBl
RnJvbSgiW1hBdHRyXSBEYXRhVmlldyIpKSk7Ci0gICAgfSwgJ3Nob3VsZCBjb25zaWRlciB0aGUg
aW5uZXIgdHlwZXMgb2YgYW5ub3RhdGVkIHR5cGVzLicpOwotCi0gICAgdGVzdChmdW5jdGlvbigp
IHsKLSAgICAgICAgdmFyIGlkbCA9IG5ldyBJZGxBcnJheSgpOwotICAgICAgICBhc3NlcnRfdGhy
b3dzKG5ldyBFcnJvcigpLCBfID0+IGlkbC5pc19qc29uX3R5cGUodHlwZUZyb20oIkZvbyIpKSk7
Ci0gICAgfSwgInNob3VsZCB0aHJvdyBpZiBpdCByZWZlcmVuY2VzIGEgZGljdGlvbmFyeSwgZW51
bSBvciBpbnRlcmZhY2Ugd2hpY2ggd2Fzbid0IGFkZGVkIHRvIHRoZSBJZGxBcnJheSIpOwotCi0g
ICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIGlkbCA9IG5ldyBJZGxBcnJheSgpOwot
ICAgICAgICBpZGwuYWRkX3VudGVzdGVkX2lkbHMoJ2ludGVyZmFjZSBGb28gOiBCYXIgeyB9Oycp
OwotICAgICAgICBhc3NlcnRfdGhyb3dzKG5ldyBFcnJvcigpLCBfID0+IGlkbC5pc19qc29uX3R5
cGUodHlwZUZyb20oIkZvbyIpKSk7Ci0gICAgfSwgInNob3VsZCB0aHJvdyBmb3IgaW50ZXJmYWNl
cyB3aGljaCBpbmhlcml0IGZyb20gYW5vdGhlciBpbnRlcmZhY2Ugd2hpY2ggd2Fzbid0IGFkZGVk
IHRvIHRoZSBJZGxBcnJheSIpOwotCi0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgdmFy
IGlkbCA9IG5ldyBJZGxBcnJheSgpOwotICAgICAgICBhc3NlcnRfdHJ1ZShpZGwuaXNfanNvbl90
eXBlKHR5cGVkZWZGcm9tKCJ0eXBlZGVmIGRvdWJsZSBET01IaWdoUmVzVGltZVN0YW1wOyIpLmlk
bFR5cGUpKTsKLSAgICB9LCAnc2hvdWxkIHJldHVybiB0cnVlIGZvciB0eXBlZGVmcyB3aG9zZSBz
b3VyY2UgdHlwZSBpcyBhIEpTT04gdHlwZScpOwotCi0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAg
ICAgICAgdmFyIGlkbCA9IG5ldyBJZGxBcnJheSgpOwotICAgICAgICBhc3NlcnRfZmFsc2UoaWRs
LmlzX2pzb25fdHlwZSh0eXBlZGVmRnJvbSgidHlwZWRlZiBEYXRhVmlldyBET01IaWdoUmVzVGlt
ZVN0YW1wOyIpLmlkbFR5cGUpKTsKLSAgICB9LCAnc2hvdWxkIHJldHVybiBmYWxzZSBmb3IgdHlw
ZWRlZnMgd2hvc2Ugc291cmNlIHR5cGUgaXMgbm90IGEgSlNPTiB0eXBlJyk7Ci08L3NjcmlwdD4K
LTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvdW5pdC9JZGxBcnJheS93M2Mt
aW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3Rlc3QvdGVzdHMvdW5pdC9JZGxBcnJheS93M2MtaW1wb3J0LmxvZwpkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMmQwYTljY2ZlNjIuLjAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3Qv
dGVzdHMvdW5pdC9JZGxBcnJheS93M2MtaW1wb3J0LmxvZworKysgL2Rldi9udWxsCkBAIC0xLDE3
ICswLDAgQEAKLVRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20g
dGhlIFczQyByZXBvc2l0b3J5LgotRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBp
biBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRo
dWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQKLQotVGhlbiBy
dW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBv
cnQKLQotRG8gTk9UIG1vZGlmeSBvciByZW1vdmUgdGhpcyBmaWxlLgotCi0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0KLVByb3BlcnRpZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKLU5vbmUKLVByb3BlcnR5
IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgotTm9uZQotLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
Ci1MaXN0IG9mIGZpbGVzOgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvdW5pdC9JZGxBcnJheS9pc19qc29uX3R5cGUuaHRt
bApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy91bml0L0lkbERpY3Rpb25hcnkvZ2V0X2luaGVyaXRhbmNl
X3N0YWNrLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy90ZXN0L3Rlc3RzL3VuaXQvSWRsRGljdGlvbmFyeS9nZXRfaW5oZXJpdGFuY2Vf
c3RhY2suaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMWFjOWU4ZGEwNmYuLjAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvdW5pdC9JZGxEaWN0aW9uYXJ5L2dldF9pbmhlcml0YW5j
ZV9zdGFjay5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNDcgKzAsMCBAQAotPCFET0NUWVBFIEhU
TUw+Ci08aHRtbD4KLTxoZWFkPgotPHRpdGxlPklkbERpY3Rpb25hcnkucHJvdG90eXBlLmdldF9p
bmhlcml0YW5jZV9zdGFjaygpPC90aXRsZT4KLTwvaGVhZD4KLTxib2R5PgotPGRpdiBpZD0ibG9n
Ij48L2Rpdj4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL1dlYklETFBhcnNlci5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9pZGxoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIuLi8uLi8uLi9pZGwtaGVscGVyLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci0gICAgInVz
ZSBzdHJpY3QiOwotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBzdGFjayA9IGRp
Y3Rpb25hcnlGcm9tKCdkaWN0aW9uYXJ5IEEgeyB9OycpLmdldF9pbmhlcml0YW5jZV9zdGFjaygp
OwotICAgICAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKHN0YWNrLm1hcChkID0+IGQubmFtZSksIFsi
QSJdKTsKLSAgICB9LCAnc2hvdWxkIHJldHVybiBhbiBhcnJheSB0aGF0IGluY2x1ZGVzIGl0c2Vs
Zi4nKTsKLQotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBkID0gZGljdGlvbmFy
eUZyb20oJ2RpY3Rpb25hcnkgQSA6IEIgeyB9OycpOwotICAgICAgICBhc3NlcnRfdGhyb3dzKG5l
dyBFcnJvcigpLCBfID0+IGQuZ2V0X2luaGVyaXRhbmNlX3N0YWNrKCkpOwotICAgIH0sICJzaG91
bGQgdGhyb3cgZm9yIGRpY3Rpb25hcmllcyB3aGljaCBpbmhlcml0IGZyb20gYW5vdGhlciBkaWN0
aW9uYXJ5IHdoaWNoIHdhc24ndCBhZGRlZCB0byB0aGUgSWRsQXJyYXkiKTsKLQotICAgIHRlc3Qo
ZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBpZGwgPSBuZXcgSWRsQXJyYXkoKTsKLSAgICAgICAg
aWRsLmFkZF9pZGxzKCdkaWN0aW9uYXJ5IEEgOiBCIHsgfTsnKTsKLSAgICAgICAgaWRsLmFkZF91
bnRlc3RlZF9pZGxzKCdkaWN0aW9uYXJ5IEIgOiBDIHsgfTsgZGljdGlvbmFyeSBDIHsgfTsnKTsK
LSAgICAgICAgdmFyIEEgPSBpZGwubWVtYmVyc1siQSJdOwotICAgICAgICBhc3NlcnRfYXJyYXlf
ZXF1YWxzKEEuZ2V0X2luaGVyaXRhbmNlX3N0YWNrKCkubWFwKGQgPT4gZC5uYW1lKSwgWyJBIiwg
IkIiLCAiQyJdKTsKLSAgICB9LCAnc2hvdWxkIHJldHVybiBhbiBhcnJheSBvZiBpbmhlcml0ZWQg
ZGljdGlvbmFyaWVzIGluIG9yZGVyIG9mIGluaGVyaXRhbmNlLCBzdGFydGluZyB3aXRoIGl0c2Vs
Zi4nKTsKLQotICAgIHRlc3QoZnVuY3Rpb24gKCkgewotICAgICAgbGV0IGkgPSBuZXcgSWRsQXJy
YXkoKTsKLSAgICAgIGkuYWRkX3VudGVzdGVkX2lkbHMoJ2RpY3Rpb25hcnkgQSA6IEIge307Jyk7
Ci0gICAgICBpLmFzc2VydF90aHJvd3MobmV3IElkbEhhcm5lc3NFcnJvcignQSBpbmhlcml0cyBC
LCBidXQgQiBpcyB1bmRlZmluZWQuJyksIGkgPT4gaS50ZXN0KCkpOwotICAgIH0sICdBIDogQiB3
aXRoIEIgdW5kZWNsYXJlZCBzaG91bGQgdGhyb3cgSWRsSGFybmVzc0Vycm9yJyk7Ci0KLSAgICB0
ZXN0KGZ1bmN0aW9uICgpIHsKLSAgICAgIGxldCBpID0gbmV3IElkbEFycmF5KCk7Ci0gICAgICBp
LmFkZF91bnRlc3RlZF9pZGxzKCdkaWN0aW9uYXJ5IEEgOiBCIHt9OycpOwotICAgICAgaS5hZGRf
dW50ZXN0ZWRfaWRscygnaW50ZXJmYWNlIEIge307Jyk7Ci0gICAgICBpLmFzc2VydF90aHJvd3Mo
bmV3IElkbEhhcm5lc3NFcnJvcignQSBpbmhlcml0cyBCLCBidXQgQSBpcyBub3QgYW4gaW50ZXJm
YWNlLicpLCBpID0+IGkudGVzdCgpKTsKLSAgICB9LCAnZGljdGlvbmFyeSBBIDogQiB3aXRoIEIg
aW50ZXJmYWNlIHNob3VsZCB0aHJvdyBJZGxIYXJuZXNzRXJyb3InKTsKLTwvc2NyaXB0PgotPC9i
b2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy91bml0L0lkbERpY3Rpb25hcnkvdGVz
dF9wYXJ0aWFsX2RpY3Rpb25hcnkuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvdW5pdC9JZGxEaWN0aW9uYXJ5L3Rl
c3RfcGFydGlhbF9kaWN0aW9uYXJ5Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IGQ2MTM3ZjY4OTVmLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL3VuaXQvSWRsRGljdGlvbmFy
eS90ZXN0X3BhcnRpYWxfZGljdGlvbmFyeS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMzkgKzAs
MCBAQAotPCFET0NUWVBFIEhUTUw+Ci08aHRtbD4KLQotPGhlYWQ+Ci0gIDxtZXRhIGNoYXJzZXQ9
InV0Zi04Ij4KLSAgPHRpdGxlPmlkbGhhcm5lc3M6IHBhcnRpYWwgZGljdGlvbmFyaWVzPC90aXRs
ZT4KLSAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgot
ICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Ci0gIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL1dlYklETFBhcnNlci5qcyI+PC9zY3JpcHQ+Ci0g
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL2lkbGhhcm5lc3MuanMiPjwvc2NyaXB0PgotICA8c2Ny
aXB0IHNyYz0iLi4vLi4vLi4vaWRsLWhlbHBlci5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci0KLTxi
b2R5PgotPHByZSBpZD0naWRsJz4KLWRpY3Rpb25hcnkgQSB7fTsKLXBhcnRpYWwgZGljdGlvbmFy
eSBBIHsKLSAgYm9vbGVhbiBCOwotfTsKLXBhcnRpYWwgZGljdGlvbmFyeSBBIHsKLSAgYm9vbGVh
biBDOwotfTsKLTwvcHJlPgotCi08c2NyaXB0PgotJ3VzZSBzdHJpY3QnOwotCi10ZXN0KCgpID0+
IHsKLSAgbGV0IGlkbEFycmF5ID0gbmV3IElkbEFycmF5KCk7Ci0gIGlkbEFycmF5LmFkZF9pZGxz
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpZGwnKS50ZXh0Q29udGVudCk7Ci0gIGlkbEFycmF5
LnRlc3QoKTsKLQotICBsZXQgbWVtYmVycyA9IGlkbEFycmF5Lm1lbWJlcnNbIkEiXS5tZW1iZXJz
Lm1hcChtID0+IG0ubmFtZSk7Ci0gIGFzc2VydF9hcnJheV9lcXVhbHMobWVtYmVycywgWyJCIiwg
IkMiXSwgJ0Egc2hvdWxkIGNvbnRhaW4gQiwgQycpOwotfSwgJ1BhcnRpYWwgZGljdGlvbmFyaWVz
Jyk7Ci08L3NjcmlwdD4KLQotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy91
bml0L0lkbERpY3Rpb25hcnkvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL3VuaXQvSWRsRGljdGlv
bmFyeS93M2MtaW1wb3J0LmxvZwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDRiN2Y5
MTE1ZjMuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvdW5pdC9JZGxEaWN0aW9uYXJ5L3czYy1p
bXBvcnQubG9nCisrKyAvZGV2L251bGwKQEAgLTEsMTggKzAsMCBAQAotVGhlIHRlc3RzIGluIHRo
aXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCi1EbyBO
T1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQsIGNyZWF0
ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20v
d2ViLXBsYXRmb3JtLXRlc3RzL3dwdAotCi1UaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBv
cnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydAotCi1EbyBOT1QgbW9kaWZ5IG9yIHJl
bW92ZSB0aGlzIGZpbGUuCi0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotUHJvcGVydGllcyByZXF1aXJpbmcg
dmVuZG9yIHByZWZpeGVzOgotTm9uZQotUHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3Ig
cHJlZml4ZXM6Ci1Ob25lCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLUxpc3Qgb2YgZmlsZXM6Ci0vTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0
cy91bml0L0lkbERpY3Rpb25hcnkvZ2V0X2luaGVyaXRhbmNlX3N0YWNrLmh0bWwKLS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3Rz
L3VuaXQvSWRsRGljdGlvbmFyeS90ZXN0X3BhcnRpYWxfZGljdGlvbmFyeS5odG1sCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy90ZXN0L3Rlc3RzL3VuaXQvSWRsSW50ZXJmYWNlL2NvbnN0cnVjdG9ycy5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0
cy91bml0L0lkbEludGVyZmFjZS9jb25zdHJ1Y3RvcnMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggOTNjYzdmNDJjYzUuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvdW5pdC9J
ZGxJbnRlcmZhY2UvY29uc3RydWN0b3JzLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwyNSArMCww
IEBACi08IURPQ1RZUEUgSFRNTD4KLTx0aXRsZT5JZGxJbnRlcmZhY2UucHJvdG90eXBlLmNvbnN0
cnVjdG9ycygpPC90aXRsZT4KLTxkaXYgaWQ9ImxvZyI+PC9kaXY+Ci08c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy9XZWJJRExQYXJzZXIuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvaWRs
aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4vaWRsLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotInVzZSBzdHJpY3QiOwotdGVzdChmdW5jdGlvbigpIHsK
LSAgICB2YXIgaSA9IGludGVyZmFjZUZyb20oJ1tDb25zdHJ1Y3Rvcl0gaW50ZXJmYWNlIEEgeyB9
OycpOwotICAgIGFzc2VydF9lcXVhbHMoaS5jb25zdHJ1Y3RvcnMoKS5sZW5ndGgsIDEpOwotfSwg
J0ludGVyZmFjZSB3aXRoIENvbnN0cnVjdG9yIGV4dGVuZGVkIGF0dHJpYnV0ZS4nKTsKLQotdGVz
dChmdW5jdGlvbigpIHsKLSAgICB2YXIgaSA9IGludGVyZmFjZUZyb20oJ2ludGVyZmFjZSBBIHsg
Y29uc3RydWN0b3IoKTsgfTsnKTsKLSAgICBhc3NlcnRfZXF1YWxzKGkuY29uc3RydWN0b3JzKCku
bGVuZ3RoLCAxKTsKLX0sICdJbnRlcmZhY2Ugd2l0aCBjb25zdHJ1Y3RvciBtZXRob2QnKTsKLQot
dGVzdChmdW5jdGlvbigpIHsKLSAgICB2YXIgaSA9IGludGVyZmFjZUZyb20oJ1tDb25zdHJ1Y3Rv
cl0gaW50ZXJmYWNlIEEgeyBjb25zdHJ1Y3RvcigpOyB9OycpOwotICAgIGFzc2VydF9lcXVhbHMo
aS5jb25zdHJ1Y3RvcnMoKS5sZW5ndGgsIDIpOwotfSwgJ0ludGVyZmFjZSB3aXRoIGJvdGgnKTsK
LTwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy91bml0L0lkbEludGVyZmFjZS9kZWZhdWx0
X3RvX2pzb25fb3BlcmF0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL3VuaXQvSWRsSW50ZXJmYWNlL2RlZmF1
bHRfdG9fanNvbl9vcGVyYXRpb24uaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
ZTAzZWE4YjAzODcuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvdW5pdC9JZGxJbnRlcmZhY2Uv
ZGVmYXVsdF90b19qc29uX29wZXJhdGlvbi5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTczICsw
LDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLTx0aXRsZT5JZGxEaWN0aW9u
YXJ5LnByb3RvdHlwZS5kZWZhdWx0X3RvX2pzb25fb3BlcmF0aW9uKCk8L3RpdGxlPgotPC9oZWFk
PgotPGJvZHk+Ci08ZGl2IGlkPSJsb2ciPjwvZGl2PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvV2ViSURM
UGFyc2VyLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL2lkbGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2lkbC1oZWxwZXIuanMiPjwvc2Ny
aXB0PgotPHByZSBpZD1mcmFnbWVudHM+Ci0gICAgaW50ZXJmYWNlIEEgOiBCIHsKLSAgICAgIGF0
dHJpYnV0ZSBET01TdHJpbmcgYTsKLSAgICB9OwotCi0gICAgaW50ZXJmYWNlIEIgOiBDIHsKLSAg
ICAgIFtEZWZhdWx0XSBvYmplY3QgdG9KU09OKCk7Ci0gICAgICBhdHRyaWJ1dGUgbG9uZyBiOwot
ICAgIH07Ci0KLSAgICBpbnRlcmZhY2UgQyB7Ci0gICAgICBhdHRyaWJ1dGUgRE9NU3RyaW5nIGM7
Ci0gICAgfTsKLQotICAgIGludGVyZmFjZSBtaXhpbiBEIHsKLSAgICAgIFtEZWZhdWx0XSBvYmpl
Y3QgdG9KU09OKCk7Ci0gICAgICBhdHRyaWJ1dGUgZmxvYXQgZDsKLSAgICB9OwotCi0gICAgaW50
ZXJmYWNlIG1peGluIEcgewotICAgICAgW0RlZmF1bHRdIG9iamVjdCB0b0pTT04oKTsKLSAgICAg
IGF0dHJpYnV0ZSBvY3RldCBnOwotICAgIH07Ci0KLSAgICBpbnRlcmZhY2UgbWl4aW4gSCB7Ci0g
ICAgICBbRGVmYXVsdF0gb2JqZWN0IHRvSlNPTigpOwotICAgICAgYXR0cmlidXRlIERPTVN0cmlu
ZyBoOwotICAgIH07Ci0KLSAgICBpbnRlcmZhY2UgbWl4aW4gSSB7Ci0gICAgICBbRGVmYXVsdF0g
b2JqZWN0IHRvSlNPTigpOwotICAgICAgYXR0cmlidXRlIGJvb2xlYW4gaTsKLSAgICB9OwotCi0g
ICAgQSBpbmNsdWRlcyBHOwotICAgIEEgaW5jbHVkZXMgSDsKLSAgICBCIGluY2x1ZGVzIEQ7Ci08
L3ByZT4KLTxzY3JpcHQ+Ci0gICAgInVzZSBzdHJpY3QiOwotICAgIHRlc3QoZnVuY3Rpb24oKSB7
Ci0gICAgICAgIHZhciBtYXAgPSBpbnRlcmZhY2VGcm9tKCdpbnRlcmZhY2UgQSB7IFtEZWZhdWx0
XSBvYmplY3QgdG9KU09OKCk7IH07JykuZGVmYXVsdF90b19qc29uX29wZXJhdGlvbigpOwotICAg
ICAgICBhc3NlcnRfZXF1YWxzKG1hcC5zaXplLCAwKTsKLSAgICB9LCAnc2hvdWxkIHJldHVybiBh
biBlbXB0eSBtYXAgd2hlbiB0aGVyZSBhcmUgbm8gYXR0cmlidXRlcycpOwotCi0gICAgdGVzdChm
dW5jdGlvbigpIHsKLSAgICAgICAgdmFyIHIgPSBpbnRlcmZhY2VGcm9tKCdpbnRlcmZhY2UgQSB7
IH07JykuZGVmYXVsdF90b19qc29uX29wZXJhdGlvbigpOwotICAgICAgICBhc3NlcnRfZXF1YWxz
KHIsIG51bGwpOwotICAgIH0sICdzaG91bGQgcmV0dXJuIG51bGwgd2hlbiB0aGVyZSBpcyBubyB0
b0pTT04gbWV0aG9kJyk7Ci0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgciA9
IGludGVyZmFjZUZyb20oJ2ludGVyZmFjZSBBIHsgRE9NU3RyaW5nIHRvSlNPTigpOyB9OycpLmRl
ZmF1bHRfdG9fanNvbl9vcGVyYXRpb24oKTsKLSAgICAgICAgYXNzZXJ0X2VxdWFscyhyLCBudWxs
KTsKLSAgICB9LCAnc2hvdWxkIHJldHVybiBudWxsIHdoZW4gdGhlcmUgaXMgYSB0b0pTT04gbWV0
aG9kIGJ1dCBpdCBkb2VzIG5vdCBoYXZlIHRoZSBbRGVmYXVsdF0gZXh0ZW5kZWQgYXR0cmlidXRl
Jyk7Ci0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgY29udGV4dCA9IG5ldyBJ
ZGxBcnJheSgpOwotICAgICAgICBjb250ZXh0LmFkZF9pZGxzKCJpbnRlcmZhY2UgQSA6IEIgeyBE
T01TdHJpbmcgdG9KU09OKCk7IH07Iik7Ci0gICAgICAgIGNvbnRleHQuYWRkX2lkbHMoImludGVy
ZmFjZSBCIHsgW0RlZmF1bHRdIG9iamVjdCB0b0pTT04oKTsgfTsiKTsKLSAgICAgICAgdmFyIHIg
PSBjb250ZXh0Lm1lbWJlcnMuQS5kZWZhdWx0X3RvX2pzb25fb3BlcmF0aW9uKCk7Ci0gICAgICAg
IGFzc2VydF9lcXVhbHMociwgbnVsbCk7Ci0gICAgfSwgJ3Nob3VsZCByZXR1cm4gbnVsbCB3aGVu
IHRoZXJlIGlzIGEgdG9KU09OIG1ldGhvZCBidXQgaXQgZG9lcyBub3QgaGF2ZSB0aGUgW0RlZmF1
bHRdIGV4dGVuZGVkIGF0dHJpYnV0ZSBldmVuIGlmIHRoaXMgZXh0ZW5kZWQgYXR0cmlidXRlIGV4
aXN0cyBvbiBpbmhlcml0ZWQgaW50ZXJmYWNlcycpOwotCi0gICAgdGVzdChmdW5jdGlvbigpIHsK
LSAgICAgICAgdmFyIG1hcCA9IGludGVyZmFjZUZyb20oJ2ludGVyZmFjZSBBIHsgW0RlZmF1bHRd
IG9iamVjdCB0b0pTT04oKTsgc3RhdGljIGF0dHJpYnV0ZSBET01TdHJpbmcgZm9vOyB9OycpLmRl
ZmF1bHRfdG9fanNvbl9vcGVyYXRpb24oKTsKLSAgICAgICAgYXNzZXJ0X2VxdWFscyhtYXAuc2l6
ZSwgMCk7Ci0gICAgfSwgJ3Nob3VsZCBub3QgaW5jbHVkZSBzdGF0aWMgYXR0cmlidXRlcycpOwot
Ci0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIG1hcCA9IGludGVyZmFjZUZyb20o
J2ludGVyZmFjZSBBIHsgW0RlZmF1bHRdIG9iamVjdCB0b0pTT04oKTsgYXR0cmlidXRlIFByb21p
c2U8RE9NU3RyaW5nPiBiYXI7IH07JykuZGVmYXVsdF90b19qc29uX29wZXJhdGlvbigpOwotICAg
ICAgICBhc3NlcnRfZXF1YWxzKG1hcC5zaXplLCAwKTsKLSAgICB9LCAnc2hvdWxkIG5vdCBpbmNs
dWRlIGF0dHJpYnV0ZXMgd2hpY2ggYXJlIG5vdCBKU09OIHR5cGVzJyk7Ci0KLSAgICB0ZXN0KGZ1
bmN0aW9uKCkgewotICAgICAgICB2YXIgbWFwID0gaW50ZXJmYWNlRnJvbSgnaW50ZXJmYWNlIEEg
eyBbRGVmYXVsdF0gb2JqZWN0IHRvSlNPTigpOyBET01TdHJpbmcgYmFyKCk7IH07JykuZGVmYXVs
dF90b19qc29uX29wZXJhdGlvbigpOwotICAgICAgICBhc3NlcnRfZXF1YWxzKG1hcC5zaXplLCAw
KTsKLSAgICB9LCAnc2hvdWxkIG5vdCBpbmNsdWRlIG9wZXJhdGlvbnMnKTsKLQotICAgIHRlc3Qo
ZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBtYXAgPSBpbnRlcmZhY2VGcm9tKCdpbnRlcmZhY2Ug
QSB7IFtEZWZhdWx0XSBvYmplY3QgdG9KU09OKCk7IGF0dHJpYnV0ZSBET01TdHJpbmcgYmFyOyB9
OycpLmRlZmF1bHRfdG9fanNvbl9vcGVyYXRpb24oKTsKLSAgICAgICAgYXNzZXJ0X2VxdWFscyht
YXAuc2l6ZSwgMSk7Ci0gICAgICAgIGFzc2VydF90cnVlKG1hcC5oYXMoImJhciIpKTsKLSAgICAg
ICAgYXNzZXJ0X2VxdWFscyhtYXAuZ2V0KCJiYXIiKS5pZGxUeXBlLCAiRE9NU3RyaW5nIik7Ci0g
ICAgfSwgJ3Nob3VsZCByZXR1cm4gYSBtYXAgd2hvc2Uga2V5L3ZhbHVlIHBhaXIgcmVwcmVzZW50
IHRoZSBpZGVudGlmaWVyIGFuZCBJREwgdHlwZSBvZiB2YWxpZCBhdHRyaWJ1dGVzJyk7Ci0KLSAg
ICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgY29udGV4dCA9IG5ldyBJZGxBcnJheSgp
OwotICAgICAgICBjb250ZXh0LmFkZF9pZGxzKCJpbnRlcmZhY2UgQSA6IEIgeyBbRGVmYXVsdF0g
b2JqZWN0IHRvSlNPTigpOyBhdHRyaWJ1dGUgRE9NU3RyaW5nIGE7IH07Iik7Ci0gICAgICAgIGNv
bnRleHQuYWRkX2lkbHMoImludGVyZmFjZSBCIHsgW0RlZmF1bHRdIG9iamVjdCB0b0pTT04oKTsg
YXR0cmlidXRlIGxvbmcgYjsgfTsiKTsKLSAgICAgICAgdmFyIG1hcCA9IGNvbnRleHQubWVtYmVy
cy5BLmRlZmF1bHRfdG9fanNvbl9vcGVyYXRpb24oKTsKLSAgICAgICAgYXNzZXJ0X2FycmF5X2Vx
dWFscyhbLi4ubWFwLmtleXMoKV0sIFsiYiIsICJhIl0pOwotICAgICAgICBhc3NlcnRfYXJyYXlf
ZXF1YWxzKFsuLi5tYXAudmFsdWVzKCldLm1hcCh2ID0+IHYuaWRsVHlwZSksIFsibG9uZyIsICJE
T01TdHJpbmciXSk7Ci0gICAgfSwgJ3Nob3VsZCByZXR1cm4gYSBwcm9wZXJseSBvcmRlcmVkIG1h
cCB0aGF0IGNvbnRhaW5zIElETCB0eXBlcyBvZiB2YWxpZCBhdHRyaWJ1dGVzIGZvciBpbmhlcml0
ZWQgaW50ZXJmYWNlcycpOwotCi0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIGNv
bnRleHQgPSBuZXcgSWRsQXJyYXkoKTsKLSAgICAgICAgY29udGV4dC5hZGRfaWRscygiaW50ZXJm
YWNlIEEgOiBCIHsgYXR0cmlidXRlIERPTVN0cmluZyBhOyB9OyIpOwotICAgICAgICBjb250ZXh0
LmFkZF9pZGxzKCJpbnRlcmZhY2UgQiB7IFtEZWZhdWx0XSBvYmplY3QgdG9KU09OKCk7IGF0dHJp
YnV0ZSBsb25nIGI7IH07Iik7Ci0gICAgICAgIHZhciBtYXAgPSBjb250ZXh0Lm1lbWJlcnMuQS5k
ZWZhdWx0X3RvX2pzb25fb3BlcmF0aW9uKCk7Ci0gICAgICAgIGFzc2VydF9lcXVhbHMobWFwLnNp
emUsIDEpOwotICAgICAgICBhc3NlcnRfdHJ1ZShtYXAuaGFzKCJiIikpOwotICAgICAgICBhc3Nl
cnRfZXF1YWxzKG1hcC5nZXQoImIiKS5pZGxUeXBlLCAibG9uZyIpOwotICAgICAgICBhc3NlcnRf
YXJyYXlfZXF1YWxzKFsuLi5tYXAua2V5cygpXSwgWyJiIl0pOwotICAgIH0sICdzaG91bGQgbm90
IGluY2x1ZGUgYXR0cmlidXRlcyBvZiB0aGUgY3VycmVudCBpbnRlcmZhY2Ugd2hlbiB0aGUgW0Rl
ZmF1bHRdIHRvSlNPTiBtZXRob2QgaW4gaW5oZXJpdGVkJyk7Ci0KLSAgICB0ZXN0KGZ1bmN0aW9u
KCkgewotICAgICAgICB2YXIgY29udGV4dCA9IG5ldyBJZGxBcnJheSgpOwotICAgICAgICBjb250
ZXh0LmFkZF9pZGxzKCJpbnRlcmZhY2UgQSA6IEIgeyBbRGVmYXVsdF0gb2JqZWN0IHRvSlNPTigp
OyB9OyIpOwotICAgICAgICBjb250ZXh0LmFkZF9pZGxzKCJpbnRlcmZhY2UgQiA6IEMgeyBbRGVm
YXVsdF0gb2JqZWN0IHRvSlNPTigpOyBhdHRyaWJ1dGUgRE9NU3RyaW5nIGZvbzsgfTsiKTsKLSAg
ICAgICAgY29udGV4dC5hZGRfaWRscygiaW50ZXJmYWNlIEMgeyBbRGVmYXVsdF0gb2JqZWN0IHRv
SlNPTigpOyBhdHRyaWJ1dGUgbG9uZyBmb287IH07Iik7Ci0gICAgICAgIHZhciBtYXAgPSBjb250
ZXh0Lm1lbWJlcnMuQS5kZWZhdWx0X3RvX2pzb25fb3BlcmF0aW9uKCk7Ci0gICAgICAgIGFzc2Vy
dF9lcXVhbHMobWFwLnNpemUsIDEpOwotICAgICAgICBhc3NlcnRfdHJ1ZShtYXAuaGFzKCJmb28i
KSk7Ci0gICAgICAgIGFzc2VydF9lcXVhbHMobWFwLmdldCgiZm9vIikuaWRsVHlwZSwgIkRPTVN0
cmluZyIpOwotICAgIH0sICdhdHRyaWJ1dGVzIGRlY2xhcmVkIGZ1cnRoZXIgYXdheSBpbiB0aGUg
aW5oZXJpdGFuY2UgaGllcmFyY2h5IHNob3VsZCBiZSBtYXNrZWQgYnkgYXR0cmlidXRlcyBkZWNs
YXJlZCBjbG9zZXInKTsKLQotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBjb250
ZXh0ID0gbmV3IElkbEFycmF5KCk7Ci0gICAgICAgIGNvbnRleHQuYWRkX2lkbHMoImludGVyZmFj
ZSBBIDogQiB7IFtEZWZhdWx0XSBvYmplY3QgdG9KU09OKCk7IGF0dHJpYnV0ZSBET01TdHJpbmcg
YTsgfTsiKTsKLSAgICAgICAgY29udGV4dC5hZGRfaWRscygiaW50ZXJmYWNlIEIgeyBvYmplY3Qg
dG9KU09OKCk7IGF0dHJpYnV0ZSBsb25nIGI7IH07Iik7Ci0gICAgICAgIHZhciBtYXAgPSBjb250
ZXh0Lm1lbWJlcnMuQS5kZWZhdWx0X3RvX2pzb25fb3BlcmF0aW9uKCk7Ci0gICAgICAgIGFzc2Vy
dF9lcXVhbHMobWFwLnNpemUsIDEpOwotICAgICAgICBhc3NlcnRfdHJ1ZShtYXAuaGFzKCJhIikp
OwotICAgICAgICBhc3NlcnRfZmFsc2UobWFwLmhhcygiYiIpKTsKLSAgICAgICAgYXNzZXJ0X2Vx
dWFscyhtYXAuZ2V0KCJhIikuaWRsVHlwZSwgIkRPTVN0cmluZyIpOwotICAgIH0sICdzaG91bGQg
cmV0dXJuIGFuIG9yZGVyZWQgbWFwIHRoYXQgaWdub3JlcyBhdHRyaWJ1dGVzIG9mIGluaGVyaXRl
ZCBpbnRlcmZhY2VzIHdoaWNoIGRvIG5vdCBkZWNsYXJlIGEgW0RlZmF1bHRdIHRvSlNPTiBvcGVy
YXRpb24uJyk7Ci0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgY29udGV4dCA9
IG5ldyBJZGxBcnJheSgpOwotICAgICAgICBjb250ZXh0LmFkZF9pZGxzKCJpbnRlcmZhY2UgQSB7
IFtEZWZhdWx0XSBvYmplY3QgdG9KU09OKCk7IGF0dHJpYnV0ZSBET01TdHJpbmcgYTsgfTsiKTsK
LSAgICAgICAgY29udGV4dC5hZGRfaWRscygiaW50ZXJmYWNlIG1peGluIE4geyBbRGVmYXVsdF0g
b2JqZWN0IHRvSlNPTigpOyBhdHRyaWJ1dGUgbG9uZyBuOyB9OyIpOwotICAgICAgICBjb250ZXh0
LmFkZF9pZGxzKCJBIGluY2x1ZGVzIE47Iik7Ci0gICAgICAgIHZhciBtYXAgPSBjb250ZXh0Lm1l
bWJlcnMuQS5kZWZhdWx0X3RvX2pzb25fb3BlcmF0aW9uKCk7Ci0gICAgICAgIGFzc2VydF9hcnJh
eV9lcXVhbHMoWy4uLm1hcC5rZXlzKCldLCBbImEiLCAibiJdKTsKLSAgICAgICAgYXNzZXJ0X2Fy
cmF5X2VxdWFscyhbLi4ubWFwLnZhbHVlcygpXS5tYXAodiA9PiB2LmlkbFR5cGUpLCBbIkRPTVN0
cmluZyIsICJsb25nIl0pOwotICAgIH0sICdzaG91bGQgcmV0dXJuIGEgcHJvcGVybHkgb3JkZXJl
ZCBtYXAgdGhhdCBhY2NvdW50cyBmb3IgbWl4ZWQtaW4gaW50ZXJmYWNlcyB3aGljaCBkZWNsYXJl
IGEgW0RlZmF1bHRdIHRvSlNPTiBvcGVyYXRpb24uJyk7Ci0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkg
ewotICAgICAgICB2YXIgY29udGV4dCA9IG5ldyBJZGxBcnJheSgpOwotICAgICAgICBjb250ZXh0
LmFkZF9pZGxzKCJpbnRlcmZhY2UgQSB7IFtEZWZhdWx0XSBvYmplY3QgdG9KU09OKCk7IGF0dHJp
YnV0ZSBET01TdHJpbmcgYTsgfTsiKTsKLSAgICAgICAgY29udGV4dC5hZGRfaWRscygiaW50ZXJm
YWNlIG1peGluIE4geyBhdHRyaWJ1dGUgbG9uZyBuOyB9OyIpOwotICAgICAgICBjb250ZXh0LmFk
ZF9pZGxzKCJBIGluY2x1ZGVzIE47Iik7Ci0gICAgICAgIHZhciBtYXAgPSBjb250ZXh0Lm1lbWJl
cnMuQS5kZWZhdWx0X3RvX2pzb25fb3BlcmF0aW9uKCk7Ci0gICAgICAgIGFzc2VydF9lcXVhbHMo
bWFwLnNpemUsIDEpOwotICAgICAgICBhc3NlcnRfdHJ1ZShtYXAuaGFzKCJhIikpOwotICAgICAg
ICBhc3NlcnRfZmFsc2UobWFwLmhhcygibiIpKTsKLSAgICAgICAgYXNzZXJ0X2VxdWFscyhtYXAu
Z2V0KCJhIikuaWRsVHlwZSwgIkRPTVN0cmluZyIpOwotICAgIH0sICdzaG91bGQgcmV0dXJuIGEg
cHJvcGVybHkgb3JkZXJlZCBtYXAgdGhhdCBpZ25vcmVzIG1peGVkLWluIGludGVyZmFjZXMgd2hp
Y2ggZG8gbm90IGRlY2xhcmUgYSBbRGVmYXVsdF0gdG9KU09OIG9wZXJhdGlvbi4nKTsKLQotCi0g
ICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIGNvbnRleHQgPSBuZXcgSWRsQXJyYXko
KTsKLSAgICAgICAgY29udGV4dC5hZGRfaWRscyhkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZnJh
Z21lbnRzJykudGV4dENvbnRlbnQpOwotICAgICAgICB2YXIgbWFwID0gY29udGV4dC5tZW1iZXJz
LkEuZGVmYXVsdF90b19qc29uX29wZXJhdGlvbigpOwotICAgICAgICBhc3NlcnRfYXJyYXlfZXF1
YWxzKFsuLi5tYXAua2V5cygpXSwgWyJiIiwgImQiLCAiZyIsICJoIl0pOwotICAgICAgICBhc3Nl
cnRfYXJyYXlfZXF1YWxzKFsuLi5tYXAudmFsdWVzKCldLm1hcCh2ID0+IHYuaWRsVHlwZSksIFsi
bG9uZyIsICJmbG9hdCIsICJvY3RldCIsICJET01TdHJpbmciXSk7Ci0gICAgfSwgJ3Nob3VsZCBy
ZXR1cm4gYSBwcm9wZXJseSBvcmRlcmVkIG1hcCBvZiBuYW1lL3R5cGUgcGFpcnMgaGFuZGxpbmcg
aW5oZXJpdGVkIGFuZCBjb25zZXF1ZW50aWFsIGludGVyZmFjZXMgYXMgc3BlY2lmaWVkLicpOwot
PC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+Ci0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvdW5pdC9J
ZGxJbnRlcmZhY2UvZG9fbWVtYmVyX3Vuc2NvcGFibGVfYXNzZXJ0cy5odG1sIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy91
bml0L0lkbEludGVyZmFjZS9kb19tZW1iZXJfdW5zY29wYWJsZV9hc3NlcnRzLmh0bWwKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGIzOGE5YjU3NWFiLi4wMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0
L3Rlc3RzL3VuaXQvSWRsSW50ZXJmYWNlL2RvX21lbWJlcl91bnNjb3BhYmxlX2Fzc2VydHMuaHRt
bAorKysgL2Rldi9udWxsCkBAIC0xLDU2ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+
Ci08aGVhZD4KLTx0aXRsZT5JZGxEaWN0aW9uYXJ5LnByb3RvdHlwZS5kb19tZW1iZXJfdW5zY29w
YWJsZV9hc3NlcnRzKCk8L3RpdGxlPgotPC9oZWFkPgotPGJvZHk+Ci08ZGl2IGlkPSJsb2ciPjwv
ZGl2PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvV2ViSURMUGFyc2VyLmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL2lkbGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
Ii4uLy4uLy4uL2lkbC1oZWxwZXIuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLSAgICAndXNlIHN0
cmljdCc7Ci0gICAgZnVuY3Rpb24gbW9ja19pbnRlcmZhY2VfQSh1bnNjb3BhYmxlcykgewotICAg
ICAgICBzZWxmLkEgPSBmdW5jdGlvbiBBKCkge307Ci0gICAgICAgIEEucHJvdG90eXBlW1N5bWJv
bC51bnNjb3BhYmxlc10gPSB1bnNjb3BhYmxlczsKLSAgICB9Ci0KLSAgICB0ZXN0KGZ1bmN0aW9u
KCkgewotICAgICAgICBjb25zdCBpID0gaW50ZXJmYWNlRnJvbSgnaW50ZXJmYWNlIEEgeyBbVW5z
Y29wYWJsZV0gYXR0cmlidXRlIGFueSB4OyB9OycpOwotICAgICAgICBjb25zdCBtZW1iZXIgPSBp
Lm1lbWJlcnNbMF07Ci0gICAgICAgIGFzc2VydF90cnVlKG1lbWJlci5pc1Vuc2NvcGFibGUpOwot
ICAgICAgICBtb2NrX2ludGVyZmFjZV9BKHsgeDogdHJ1ZSB9KTsKLSAgICAgICAgaS5kb19tZW1i
ZXJfdW5zY29wYWJsZV9hc3NlcnRzKG1lbWJlcik7Ci0gICAgfSwgJ3Nob3VsZCBub3QgdGhyb3cg
Zm9yIFtVbnNjb3BhYmxlXSB3aXRoIHByb3BlcnR5IGluIEBAdW5zY29wYWJsZXMnKTsKLQotICAg
IHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIGNvbnN0IGkgPSBpbnRlcmZhY2VGcm9tKCdpbnRl
cmZhY2UgQSB7IFtVbnNjb3BhYmxlXSBhdHRyaWJ1dGUgYW55IHg7IH07Jyk7Ci0gICAgICAgIGNv
bnN0IG1lbWJlciA9IGkubWVtYmVyc1swXTsKLSAgICAgICAgYXNzZXJ0X3RydWUobWVtYmVyLmlz
VW5zY29wYWJsZSk7Ci0gICAgICAgIG1vY2tfaW50ZXJmYWNlX0Eoe30pOwotICAgICAgICAvLyBh
c3NlcnRfdGhyb3dzIGNhbid0IGJlIHVzZWQgYmVjYXVzZSBpdCByZXRocm93cyBBc3NlcnRpb25F
cnJvcnMuCi0gICAgICAgIHRyeSB7Ci0gICAgICAgICAgICBpLmRvX21lbWJlcl91bnNjb3BhYmxl
X2Fzc2VydHMobWVtYmVyKTsKLSAgICAgICAgfSBjYXRjaChlKSB7Ci0gICAgICAgICAgICBhc3Nl
cnRfdHJ1ZShlLm1lc3NhZ2UuaW5jbHVkZXMoJ1N5bWJvbC51bnNjb3BhYmxlcycpKTsKLSAgICAg
ICAgICAgIHJldHVybjsKLSAgICAgICAgfQotICAgICAgICBhc3NlcnRfdW5yZWFjaGVkKCdkaWQg
bm90IHRocm93Jyk7Ci0gICAgfSwgJ3Nob3VsZCB0aHJvdyBmb3IgW1Vuc2NvcGFibGVdIHdpdGgg
cHJvcGVydHkgbWlzc2luZyBmcm9tIEBAdW5zY29wYWJsZXMnKTsKLQotICAgIC8vIFRoaXMgdGVz
dCBjaGVja3MgdGhhdCBmb3IgYXR0cmlidXRlcy9tZXRob2RzIHdoaWNoIGFyZW4ndCBbVW5zY29w
YWJsZV0KLSAgICAvLyBpbiB0aGUgSURMLCB3ZSBkb24ndCBhc3NlcnQgdGhhdCBAQHVuc2NvcGFi
bGVzIGlzIG1pc3NpbmcgdGhlIHByb3BlcnR5LgotICAgIC8vIFRoaXMgY291bGQgbWlzcyBpbXBs
ZW1lbnRhdGlvbiBidWdzLCBidXQgW1Vuc2NvcGFibGVdIGlzIHNvIHJhcmVseSB1c2VkCi0gICAg
Ly8gdGhhdCBpdCdzIGZhaXJseSB1bmxpa2VseSB0byBldmVyIGhhcHBlbi4KLSAgICB0ZXN0KGZ1
bmN0aW9uKCkgewotICAgICAgICBjb25zdCBpID0gaW50ZXJmYWNlRnJvbSgnaW50ZXJmYWNlIEEg
eyBhdHRyaWJ1dGUgYW55IHg7IH07Jyk7Ci0gICAgICAgIGNvbnN0IG1lbWJlciA9IGkubWVtYmVy
c1swXTsKLSAgICAgICAgYXNzZXJ0X2ZhbHNlKG1lbWJlci5pc1Vuc2NvcGFibGUpOwotICAgICAg
ICBtb2NrX2ludGVyZmFjZV9BKHsgeDogdHJ1ZSB9KTsKLSAgICAgICAgaS5kb19tZW1iZXJfdW5z
Y29wYWJsZV9hc3NlcnRzKG1lbWJlcik7Ci0gICAgfSwgJ3Nob3VsZCBub3QgdGhyb3cgaWYgW1Vu
c2NvcGFibGVdIGlzIHVzZWQgYnV0IHByb3BlcnR5IGlzIGluIEBAdW5zY29wYWJsZXMnKTsKLTwv
c2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy91bml0L0lkbElu
dGVyZmFjZS9nZXRfaW5oZXJpdGFuY2Vfc3RhY2suaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvdW5pdC9JZGxJbnRl
cmZhY2UvZ2V0X2luaGVyaXRhbmNlX3N0YWNrLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDY2Yjc5YWZjMTJmLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL3VuaXQvSWRsSW50
ZXJmYWNlL2dldF9pbmhlcml0YW5jZV9zdGFjay5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNDkg
KzAsMCBAQAotPCFET0NUWVBFIEhUTUw+Ci08aHRtbD4KLTxoZWFkPgotPHRpdGxlPklkbEludGVy
ZmFjZS5wcm90b3R5cGUuZ2V0X2luaGVyaXRhbmNlX3N0YWNrKCk8L3RpdGxlPgotPC9oZWFkPgot
PGJvZHk+Ci08ZGl2IGlkPSJsb2ciPjwvZGl2PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvV2ViSURMUGFy
c2VyLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL2lkbGhhcm5lc3MuanMi
Pjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2lkbC1oZWxwZXIuanMiPjwvc2NyaXB0
PgotPHNjcmlwdD4KLSAgICAidXNlIHN0cmljdCI7Ci0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAg
ICAgICAgdmFyIHN0YWNrID0gaW50ZXJmYWNlRnJvbSgnaW50ZXJmYWNlIEEgeyB9OycpLmdldF9p
bmhlcml0YW5jZV9zdGFjaygpOwotICAgICAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKHN0YWNrLm1h
cChpID0+IGkubmFtZSksIFsiQSJdKTsKLSAgICB9LCAnc2hvdWxkIHJldHVybiBhbiBhcnJheSB0
aGF0IGluY2x1ZGVzIGl0c2VsZi4nKTsKLQotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAg
IHZhciBpID0gaW50ZXJmYWNlRnJvbSgnaW50ZXJmYWNlIEEgOiBCIHsgfTsnKTsKLSAgICAgICAg
YXNzZXJ0X3Rocm93cyhuZXcgRXJyb3IoKSwgXyA9PiBpLmdldF9pbmhlcml0YW5jZV9zdGFjaygp
KTsKLSAgICB9LCAic2hvdWxkIHRocm93IGZvciBpbnRlcmZhY2VzIHdoaWNoIGluaGVyaXQgZnJv
bSBhbm90aGVyIGludGVyZmFjZSB3aGljaCB3YXNuJ3QgYWRkZWQgdG8gdGhlIElkbEFycmF5Iik7
Ci0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgaWRsID0gbmV3IElkbEFycmF5
KCk7Ci0gICAgICAgIGlkbC5hZGRfaWRscygnaW50ZXJmYWNlIEEgOiBCIHsgfTsnKTsKLSAgICAg
ICAgaWRsLmFkZF91bnRlc3RlZF9pZGxzKCdpbnRlcmZhY2UgQiA6IEMgeyB9OyBpbnRlcmZhY2Ug
QyB7IH07Jyk7Ci0gICAgICAgIHZhciBBID0gaWRsLm1lbWJlcnNbIkEiXTsKLSAgICAgICAgYXNz
ZXJ0X2FycmF5X2VxdWFscyhBLmdldF9pbmhlcml0YW5jZV9zdGFjaygpLm1hcChpID0+IGkubmFt
ZSksIFsiQSIsICJCIiwgIkMiXSk7Ci0gICAgfSwgJ3Nob3VsZCByZXR1cm4gYW4gYXJyYXkgb2Yg
aW5oZXJpdGVkIGludGVyZmFjZXMgaW4gb3JkZXIgb2YgaW5oZXJpdGFuY2UsIHN0YXJ0aW5nIHdp
dGggaXRzZWxmLicpOwotCi0gICAgdGVzdChmdW5jdGlvbiAoKSB7Ci0gICAgICAgIHZhciBpZGwg
PSBuZXcgSWRsQXJyYXkoKTsKLSAgICAgICAgaWRsLmFkZF91bnRlc3RlZF9pZGxzKCdpbnRlcmZh
Y2UgQSA6IEIgeyB9OycpOwotICAgICAgICBpZGwuYWRkX3VudGVzdGVkX2lkbHMoJ2ludGVyZmFj
ZSBCIDogQSB7IH07Jyk7Ci0gICAgICAgIGlkbC5hc3NlcnRfdGhyb3dzKCdBIGhhcyBhIGNpcmN1
bGFyIGRlcGVuZGVuY3k6IEEsQixBJywgaSA9PiBpLnRlc3QoKSk7Ci0gICAgfSwgJ3Nob3VsZCB0
aHJvdyB3aGVuIGluaGVyaXRhbmNlIGlzIGNpcmN1bGFyJyk7Ci0KLSAgICB0ZXN0KGZ1bmN0aW9u
ICgpIHsKLSAgICAgICAgdmFyIGlkbCA9IG5ldyBJZGxBcnJheSgpOwotICAgICAgICBpZGwuYWRk
X3VudGVzdGVkX2lkbHMoJ2ludGVyZmFjZSBBIDogQiB7IH07Jyk7Ci0gICAgICAgIGlkbC5hc3Nl
cnRfdGhyb3dzKAotICAgICAgICAgICAgJ0R1cGxpY2F0ZSBpZGVudGlmaWVyIEEnLAotICAgICAg
ICAgICAgaSA9PiBpLmFkZF91bnRlc3RlZF9pZGxzKCdpbnRlcmZhY2UgQSA6IEMgeyB9OycpKTsK
LSAgICB9LCAnc2hvdWxkIHRocm93IHdoZW4gbXVsdGlwbGUgaW5oZXJpdGFuY2VzIGRlZmluZWQn
KTsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy91bml0
L0lkbEludGVyZmFjZS9nZXRfaW50ZXJmYWNlX29iamVjdC5odG1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy91bml0L0lk
bEludGVyZmFjZS9nZXRfaW50ZXJmYWNlX29iamVjdC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCBhM2Q5MDFhNzUyZC4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy91bml0L0lk
bEludGVyZmFjZS9nZXRfaW50ZXJmYWNlX29iamVjdC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEs
MjIgKzAsMCBAQAotPCFET0NUWVBFIEhUTUw+Ci08dGl0bGU+SWRsSW50ZXJmYWNlLnByb3RvdHlw
ZS5nZXRfaW50ZXJmYWNlX29iamVjdCgpPC90aXRsZT4KLTxkaXYgaWQ9ImxvZyI+PC9kaXY+Ci08
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy9XZWJJRExQYXJzZXIuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvaWRsaGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4v
Li4vaWRsLWhlbHBlci5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotInVzZSBzdHJpY3QiOwotdGVz
dChmdW5jdGlvbigpIHsKLSAgICB3aW5kb3cuQSA9IHt9OwotICAgIHZhciBpID0gaW50ZXJmYWNl
RnJvbSgnaW50ZXJmYWNlIEEgeyB9OycpOwotICAgIGFzc2VydF9lcXVhbHMoaS5nZXRfaW50ZXJm
YWNlX29iamVjdCgpLCB3aW5kb3cuQSk7Ci19LCAnSW50ZXJmYWNlIGRvZXMgbm90IGhhdmUgTGVn
YWN5TmFtZXNwYWNlLicpOwotCi10ZXN0KGZ1bmN0aW9uKCkgewotICAgIHdpbmRvdy5Gb28gPSB7
IEE6IHt9IH07Ci0gICAgdmFyIGkgPSBpbnRlcmZhY2VGcm9tKCdbTGVnYWN5TmFtZXNwYWNlPUZv
b10gaW50ZXJmYWNlIEEgeyB9OyBuYW1lc3BhY2UgRm9vIHsgfTsnKTsKLSAgICBhc3NlcnRfZXF1
YWxzKGkuZ2V0X2ludGVyZmFjZV9vYmplY3QoKSwgd2luZG93LkZvby5BKTsKLX0sICdJbnRlcmZh
Y2UgaGFzIExlZ2FjeU5hbWVzcGFjZScpOwotPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3Rz
L3VuaXQvSWRsSW50ZXJmYWNlL2dldF9pbnRlcmZhY2Vfb2JqZWN0X293bmVyLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rl
c3RzL3VuaXQvSWRsSW50ZXJmYWNlL2dldF9pbnRlcmZhY2Vfb2JqZWN0X293bmVyLmh0bWwKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDUxYWIyMDY3YmM1Li4wMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90
ZXN0L3Rlc3RzL3VuaXQvSWRsSW50ZXJmYWNlL2dldF9pbnRlcmZhY2Vfb2JqZWN0X293bmVyLmh0
bWwKKysrIC9kZXYvbnVsbApAQCAtMSwyMSArMCwwIEBACi08IURPQ1RZUEUgSFRNTD4KLTx0aXRs
ZT5JZGxJbnRlcmZhY2UucHJvdG90eXBlLmdldF9pbnRlcmZhY2Vfb2JqZWN0X293bmVyKCk8L3Rp
dGxlPgotPGRpdiBpZD0ibG9nIj48L2Rpdj4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL1dlYklETFBhcnNl
ci5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9pZGxoYXJuZXNzLmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi9pZGwtaGVscGVyLmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQ+Ci0idXNlIHN0cmljdCI7Ci10ZXN0KGZ1bmN0aW9uKCkgewotICAgIHZhciBpID0g
aW50ZXJmYWNlRnJvbSgnaW50ZXJmYWNlIEEgeyB9OycpOwotICAgIGFzc2VydF9lcXVhbHMoaS5n
ZXRfaW50ZXJmYWNlX29iamVjdF9vd25lcigpLCB3aW5kb3cpOwotfSwgJ0ludGVyZmFjZSBkb2Vz
IG5vdCBoYXZlIExlZ2FjeU5hbWVzcGFjZS4nKTsKLQotdGVzdChmdW5jdGlvbigpIHsKLSAgICB3
aW5kb3cuRm9vID0ge307Ci0gICAgdmFyIGkgPSBpbnRlcmZhY2VGcm9tKCdbTGVnYWN5TmFtZXNw
YWNlPUZvb10gaW50ZXJmYWNlIEEgeyB9OyBuYW1lc3BhY2UgRm9vIHsgfTsnKTsKLSAgICBhc3Nl
cnRfZXF1YWxzKGkuZ2V0X2ludGVyZmFjZV9vYmplY3Rfb3duZXIoKSwgd2luZG93LkZvbyk7Ci19
LCAnSW50ZXJmYWNlIGhhcyBMZWdhY3lOYW1lc3BhY2UnKTsKLTwvc2NyaXB0PgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
dGVzdC90ZXN0cy91bml0L0lkbEludGVyZmFjZS9nZXRfbGVnYWN5X25hbWVzcGFjZS5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVz
dC90ZXN0cy91bml0L0lkbEludGVyZmFjZS9nZXRfbGVnYWN5X25hbWVzcGFjZS5odG1sCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlMmQ0MmJiMDllMy4uMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVz
dC90ZXN0cy91bml0L0lkbEludGVyZmFjZS9nZXRfbGVnYWN5X25hbWVzcGFjZS5odG1sCisrKyAv
ZGV2L251bGwKQEAgLTEsMjAgKzAsMCBAQAotPCFET0NUWVBFIEhUTUw+Ci08dGl0bGU+SWRsSW50
ZXJmYWNlLnByb3RvdHlwZS5nZXRfbGVnYWN5X25hbWVzcGFjZSgpPC90aXRsZT4KLTxkaXYgaWQ9
ImxvZyI+PC9kaXY+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9XZWJJRExQYXJzZXIuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvaWRsaGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2Ny
aXB0IHNyYz0iLi4vLi4vLi4vaWRsLWhlbHBlci5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotInVz
ZSBzdHJpY3QiOwotdGVzdChmdW5jdGlvbigpIHsKLSAgICB2YXIgaSA9IGludGVyZmFjZUZyb20o
J2ludGVyZmFjZSBBIHsgfTsnKTsKLSAgICBhc3NlcnRfZXF1YWxzKGkuZ2V0X2xlZ2FjeV9uYW1l
c3BhY2UoKSwgdW5kZWZpbmVkKTsKLX0sICdJbnRlcmZhY2UgZG9lcyBub3QgaGF2ZSBMZWdhY3lO
YW1lc3BhY2UuJyk7Ci0KLXRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgdmFyIGkgPSBpbnRlcmZhY2VG
cm9tKCdbTGVnYWN5TmFtZXNwYWNlPUZvb10gaW50ZXJmYWNlIEEgeyB9OyBuYW1lc3BhY2UgRm9v
IHsgfTsnKTsKLSAgICBhc3NlcnRfZXF1YWxzKGkuZ2V0X2xlZ2FjeV9uYW1lc3BhY2UoKSwgIkZv
byIpOwotfSwgJ0ludGVyZmFjZSBoYXMgTGVnYWN5TmFtZXNwYWNlJyk7Ci08L3NjcmlwdD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3Rlc3QvdGVzdHMvdW5pdC9JZGxJbnRlcmZhY2UvZ2V0X3F1YWxpZmllZF9uYW1lLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy90ZXN0L3Rlc3RzL3VuaXQvSWRsSW50ZXJmYWNlL2dldF9xdWFsaWZpZWRfbmFtZS5odG1sCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2NzdhMzFiNWU3MC4uMDAwMDAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
dGVzdC90ZXN0cy91bml0L0lkbEludGVyZmFjZS9nZXRfcXVhbGlmaWVkX25hbWUuaHRtbAorKysg
L2Rldi9udWxsCkBAIC0xLDIwICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPHRpdGxlPklkbElu
dGVyZmFjZS5wcm90b3R5cGUuZ2V0X3F1YWxpZmllZF9uYW1lKCk8L3RpdGxlPgotPGRpdiBpZD0i
bG9nIj48L2Rpdj4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL1dlYklETFBhcnNlci5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9pZGxoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSIuLi8uLi8uLi9pZGwtaGVscGVyLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci0idXNl
IHN0cmljdCI7Ci10ZXN0KGZ1bmN0aW9uKCkgewotICAgIHZhciBpID0gaW50ZXJmYWNlRnJvbSgn
aW50ZXJmYWNlIEEgeyB9OycpOwotICAgIGFzc2VydF9lcXVhbHMoaS5nZXRfcXVhbGlmaWVkX25h
bWUoKSwgIkEiKTsKLX0sICdJbnRlcmZhY2UgZG9lcyBub3QgaGF2ZSBMZWdhY3lOYW1lc3BhY2Uu
Jyk7Ci0KLXRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgdmFyIGkgPSBpbnRlcmZhY2VGcm9tKCdbTGVn
YWN5TmFtZXNwYWNlPUZvb10gaW50ZXJmYWNlIEEgeyB9OyBuYW1lc3BhY2UgRm9vIHsgfTsnKTsK
LSAgICBhc3NlcnRfZXF1YWxzKGkuZ2V0X3F1YWxpZmllZF9uYW1lKCksICJGb28uQSIpOwotfSwg
J0ludGVyZmFjZSBoYXMgTGVnYWN5TmFtZXNwYWNlJyk7Ci08L3NjcmlwdD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rl
c3QvdGVzdHMvdW5pdC9JZGxJbnRlcmZhY2UvaGFzX2RlZmF1bHRfdG9fanNvbl9yZWd1bGFyX29w
ZXJhdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy91bml0L0lkbEludGVyZmFjZS9oYXNfZGVmYXVsdF90b19q
c29uX3JlZ3VsYXJfb3BlcmF0aW9uLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IGI0NzI2MmI3MmI5Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL3VuaXQvSWRsSW50ZXJmYWNl
L2hhc19kZWZhdWx0X3RvX2pzb25fcmVndWxhcl9vcGVyYXRpb24uaHRtbAorKysgL2Rldi9udWxs
CkBAIC0xLDQ3ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLTx0aXRs
ZT5JZGxJbnRlcmZhY2UucHJvdG90eXBlLmhhc19kZWZhdWx0X3RvX2pzb25fcmVndWxhcl9vcGVy
YXRpb24oKTwvdGl0bGU+Ci08L2hlYWQ+Ci08Ym9keT4KLTxkaXYgaWQ9ImxvZyI+PC9kaXY+Ci08
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy9XZWJJRExQYXJzZXIuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvaWRsaGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4v
Li4vaWRsLWhlbHBlci5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotICAgICJ1c2Ugc3RyaWN0IjsK
LSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgaSA9IGludGVyZmFjZUZyb20oJ2lu
dGVyZmFjZSBBIHsgfTsnKTsKLSAgICAgICAgYXNzZXJ0X2ZhbHNlKGkuaGFzX2RlZmF1bHRfdG9f
anNvbl9yZWd1bGFyX29wZXJhdGlvbigpKTsKLSAgICB9LCAnc2hvdWxkIHJldHVybiBmYWxzZSB3
aGVuIHRoZSBpbnRlcmZhY2UgZGVjbGFyZXMgbm8gdG9KU09OIG9wZXJhdGlvbi4nKTsKLQotICAg
IHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBpID0gaW50ZXJmYWNlRnJvbSgnaW50ZXJm
YWNlIEEgeyBzdGF0aWMgb2JqZWN0IHRvSlNPTigpOyB9OycpOwotICAgICAgICBhc3NlcnRfZmFs
c2UoaS5oYXNfZGVmYXVsdF90b19qc29uX3JlZ3VsYXJfb3BlcmF0aW9uKCkpOwotICAgIH0sICdz
aG91bGQgcmV0dXJuIGZhbHNlIHdoZW4gdGhlIGludGVyZmFjZSBkZWNsYXJlcyBhIHN0YXRpYyB0
b0pTT04gb3BlcmF0aW9uLicpOwotCi0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgdmFy
IGkgPSBpbnRlcmZhY2VGcm9tKCdpbnRlcmZhY2UgQSB7IG9iamVjdCB0b0pTT04oKTsgfTsnKTsK
LSAgICAgICAgYXNzZXJ0X2ZhbHNlKGkuaGFzX2RlZmF1bHRfdG9fanNvbl9yZWd1bGFyX29wZXJh
dGlvbigpKTsKLSAgICB9LCAnc2hvdWxkIHJldHVybiBmYWxzZSB3aGVuIHRoZSBpbnRlcmZhY2Ug
ZGVjbGFyZXMgYSByZWd1bGFyIHRvSlNPTiBvcGVyYXRpb24gd2l0aCBubyBleHRlbmRlZCBhdHRy
aWJ1dGUuJyk7Ci0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgaSA9IGludGVy
ZmFjZUZyb20oJ2ludGVyZmFjZSBBIHsgW3hdIG9iamVjdCB0b0pTT04oKTsgfTsnKTsKLSAgICAg
ICAgYXNzZXJ0X2ZhbHNlKGkuaGFzX2RlZmF1bHRfdG9fanNvbl9yZWd1bGFyX29wZXJhdGlvbigp
KTsKLSAgICB9LCAnc2hvdWxkIHJldHVybiBmYWxzZSB3aGVuIHRoZSBpbnRlcmZhY2UgZGVjbGFy
ZXMgYSByZWd1bGFyIHRvSlNPTiBvcGVyYXRpb24gd2l0aCBhbm90aGVyIGV4dGVudGVkIGF0dHJp
YnV0ZS4nKTsKLQotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBpID0gaW50ZXJm
YWNlRnJvbSgnaW50ZXJmYWNlIEEgeyBbRGVmYXVsdF0gb2JqZWN0IHRvSlNPTigpOyB9OycpOwot
ICAgICAgICBhc3NlcnRfdHJ1ZShpLmhhc19kZWZhdWx0X3RvX2pzb25fcmVndWxhcl9vcGVyYXRp
b24oKSk7Ci0gICAgfSwgJ3Nob3VsZCByZXR1cm4gdHJ1ZSB3aGVuIHRoZSBpbnRlcmZhY2UgZGVj
bGFyZXMgYSByZWd1bGFyIHRvSlNPTiBvcGVyYXRpb24gd2l0aCB0aGUgW0RlZmF1bHRdIGV4dGVu
dGVkIGF0dHJpYnV0ZS4nKTsKLQotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBp
ID0gaW50ZXJmYWNlRnJvbSgnaW50ZXJmYWNlIEEgeyBbQXR0ciwgQW5vdGhlckF0dHIsIERlZmF1
bHRdIG9iamVjdCB0b0pTT04oKTsgfTsnKTsKLSAgICAgICAgYXNzZXJ0X3RydWUoaS5oYXNfZGVm
YXVsdF90b19qc29uX3JlZ3VsYXJfb3BlcmF0aW9uKCkpOwotICAgIH0sICdzaG91bGQgcmV0dXJu
IHRydWUgd2hlbiB0aGUgaW50ZXJmYWNlIGRlY2xhcmVzIGEgcmVndWxhciB0b0pTT04gb3BlcmF0
aW9uIHdpdGggbXVsdGlwbGUgZXh0ZW5kZWQgYXR0cmlidXRlcywgaW5jbHVkaW5nIFtEZWZhdWx0
XS4nKTsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgotCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3Rz
L3VuaXQvSWRsSW50ZXJmYWNlL2hhc190b19qc29uX3JlZ3VsYXJfb3BlcmF0aW9uLmh0bWwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0
L3Rlc3RzL3VuaXQvSWRsSW50ZXJmYWNlL2hhc190b19qc29uX3JlZ3VsYXJfb3BlcmF0aW9uLmh0
bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGExYTY0MWJkOTcxLi4wMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy90ZXN0L3Rlc3RzL3VuaXQvSWRsSW50ZXJmYWNlL2hhc190b19qc29uX3JlZ3VsYXJfb3Bl
cmF0aW9uLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwzMSArMCwwIEBACi08IURPQ1RZUEUgSFRN
TD4KLTxodG1sPgotPGhlYWQ+Ci08dGl0bGU+SWRsSW50ZXJmYWNlLnByb3RvdHlwZS5oYXNfdG9f
anNvbl9yZWd1bGFyX29wZXJhdGlvbigpPC90aXRsZT4KLTwvaGVhZD4KLTxib2R5PgotPGRpdiBp
ZD0ibG9nIj48L2Rpdj4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL1dlYklETFBhcnNlci5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9pZGxoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSIuLi8uLi8uLi9pZGwtaGVscGVyLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci0g
ICAgInVzZSBzdHJpY3QiOwotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBpID0g
aW50ZXJmYWNlRnJvbSgnaW50ZXJmYWNlIEEgeyB9OycpOwotICAgICAgICBhc3NlcnRfZmFsc2Uo
aS5oYXNfdG9fanNvbl9yZWd1bGFyX29wZXJhdGlvbigpKTsKLSAgICB9LCAnc2hvdWxkIHJldHVy
biBmYWxzZSB3aGVuIHRoZSBpbnRlcmZhY2UgZGVjbGFyZXMgbm8gdG9KU09OIG9wZXJhdGlvbi4n
KTsKLQotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBpID0gaW50ZXJmYWNlRnJv
bSgnaW50ZXJmYWNlIEEgeyBzdGF0aWMgb2JqZWN0IHRvSlNPTigpOyB9OycpOwotICAgICAgICBh
c3NlcnRfZmFsc2UoaS5oYXNfdG9fanNvbl9yZWd1bGFyX29wZXJhdGlvbigpKTsKLSAgICB9LCAn
c2hvdWxkIHJldHVybiBmYWxzZSB3aGVuIHRoZSBpbnRlcmZhY2UgZGVjbGFyZXMgYSBzdGF0aWMg
dG9KU09OIG9wZXJhdGlvbi4nKTsKLQotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZh
ciBpID0gaW50ZXJmYWNlRnJvbSgnaW50ZXJmYWNlIEEgeyBvYmplY3QgdG9KU09OKCk7IH07Jyk7
Ci0gICAgICAgIGFzc2VydF90cnVlKGkuaGFzX3RvX2pzb25fcmVndWxhcl9vcGVyYXRpb24oKSk7
Ci0gICAgfSwgJ3Nob3VsZCByZXR1cm4gdHJ1ZSB3aGVuIHRoZSBpbnRlcmZhY2UgZGVjbGFyZXMg
YSByZWd1bGFyIHRvSlNPTiBvcGVyYXRpb24uJyk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvdW5pdC9JZGxJbnRlcmZhY2UvdGVzdF9wcmltYXJ5X2lu
dGVyZmFjZV9vZl91bmRlZmluZWQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvdW5pdC9JZGxJbnRlcmZhY2UvdGVz
dF9wcmltYXJ5X2ludGVyZmFjZV9vZl91bmRlZmluZWQuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAzMTU1OGFkNDIuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvdW5pdC9J
ZGxJbnRlcmZhY2UvdGVzdF9wcmltYXJ5X2ludGVyZmFjZV9vZl91bmRlZmluZWQuaHRtbAorKysg
L2Rldi9udWxsCkBAIC0xLDI5ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci0KLTxo
ZWFkPgotICA8dGl0bGU+aWRsaGFybmVzcyB0ZXN0X3ByaW1hcnlfaW50ZXJmYWNlX29mX3VuZGVm
aW5lZDwvdGl0bGU+Ci08L2hlYWQ+Ci0KLTxib2R5PgotICA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci0gIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL1dl
YklETFBhcnNlci5qcyI+PC9zY3JpcHQ+Ci0gIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL2lkbGhh
cm5lc3MuanMiPjwvc2NyaXB0PgotICA8c2NyaXB0PgotICAgICd1c2Ugc3RyaWN0JzsKLSAgICB0
ZXN0KGZ1bmN0aW9uICgpIHsKLSAgICAgIGxldCBpID0gbmV3IElkbEFycmF5KCk7Ci0gICAgICBp
LmFkZF91bnRlc3RlZF9pZGxzKCdpbnRlcmZhY2UgQSA6IEIge307Jyk7Ci0gICAgICBpLmFzc2Vy
dF90aHJvd3MobmV3IElkbEhhcm5lc3NFcnJvcignQSBpbmhlcml0cyBCLCBidXQgQiBpcyB1bmRl
ZmluZWQuJyksIGkgPT4gaS50ZXN0KCkpOwotICAgIH0sICdBIDogQiB3aXRoIEIgdW5kZWNsYXJl
ZCBzaG91bGQgdGhyb3cgSWRsSGFybmVzc0Vycm9yJyk7Ci0KLSAgICB0ZXN0KGZ1bmN0aW9uICgp
IHsKLSAgICAgIGxldCBpID0gbmV3IElkbEFycmF5KCk7Ci0gICAgICBpLmFkZF91bnRlc3RlZF9p
ZGxzKCdpbnRlcmZhY2UgQSA6IEIge307Jyk7Ci0gICAgICBpLmFkZF91bnRlc3RlZF9pZGxzKCdk
aWN0aW9uYXJ5IEIge307Jyk7Ci0gICAgICBpLmFzc2VydF90aHJvd3MobmV3IElkbEhhcm5lc3NF
cnJvcignQSBpbmhlcml0cyBCLCBidXQgQiBpcyBub3QgYW4gaW50ZXJmYWNlLicpLCBpID0+IGku
dGVzdCgpKTsKLSAgICB9LCAnaW50ZXJmYWNlIEEgOiBCIHdpdGggQiBkaWN0aW9uYXJ5IHNob3Vs
ZCB0aHJvdyBJZGxIYXJuZXNzRXJyb3InKTsKLSAgPC9zY3JpcHQ+Ci08L2JvZHk+Ci0KLTwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvdW5pdC9JZGxJbnRlcmZhY2UvdHJhdmVyc2VfaW5oZXJp
dGVkX2FuZF9jb25zZXF1ZW50aWFsX2ludGVyZmFjZXMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvdW5pdC9JZGxJ
bnRlcmZhY2UvdHJhdmVyc2VfaW5oZXJpdGVkX2FuZF9jb25zZXF1ZW50aWFsX2ludGVyZmFjZXMu
aHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDAwYmMzNWQ5ZmMuLjAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3Rlc3QvdGVzdHMvdW5pdC9JZGxJbnRlcmZhY2UvdHJhdmVyc2VfaW5oZXJpdGVkX2Fu
ZF9jb25zZXF1ZW50aWFsX2ludGVyZmFjZXMuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDU4ICsw
LDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLTx0aXRsZT5JZGxEaWN0aW9u
YXJ5LnByb3RvdHlwZS50cmF2ZXJzZV9pbmhlcml0ZWRfYW5kX2NvbnNlcXVlbnRpYWxfaW50ZXJm
YWNlcygpPC90aXRsZT4KLTwvaGVhZD4KLTxib2R5PgotPGRpdiBpZD0ibG9nIj48L2Rpdj4KLTxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL1dlYklETFBhcnNlci5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy9pZGxoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8u
Li9pZGwtaGVscGVyLmpzIj48L3NjcmlwdD4KLTxwcmUgaWQ9ZnJhZ21lbnRzPgotICAgIGludGVy
ZmFjZSBBIDogQiB7IH07Ci0gICAgaW50ZXJmYWNlIEIgOiBDIHsgfTsKLSAgICBpbnRlcmZhY2Ug
QyB7IH07Ci0gICAgaW50ZXJmYWNlIG1peGluIEQgeyB9OwotICAgIGludGVyZmFjZSBtaXhpbiBH
IHsgfTsKLSAgICBpbnRlcmZhY2UgbWl4aW4gSCB7IH07Ci0KLSAgICBBIGluY2x1ZGVzIEc7Ci0g
ICAgQSBpbmNsdWRlcyBIOwotICAgIEIgaW5jbHVkZXMgRDsKLTwvcHJlPgotPHNjcmlwdD4KLSAg
ICAidXNlIHN0cmljdCI7Ci0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIGludGVy
ZmFjZXMgPSBbXTsKLSAgICAgICAgaW50ZXJmYWNlRnJvbSgnaW50ZXJmYWNlIEEgeyB9OycpLnRy
YXZlcnNlX2luaGVyaXRlZF9hbmRfY29uc2VxdWVudGlhbF9pbnRlcmZhY2VzKGZ1bmN0aW9uKGkp
IHsKLSAgICAgICAgICAgIGludGVyZmFjZXMucHVzaChpLm5hbWUpOwotICAgICAgICB9KTsKLSAg
ICAgICAgYXNzZXJ0X2FycmF5X2VxdWFscyhpbnRlcmZhY2VzLCBbIkEiXSk7Ci0gICAgfSwgJ3No
b3VsZCByZXR1cm4gYW4gYXJyYXkgdGhhdCBpbmNsdWRlcyBpdHNlbGYuJyk7Ci0KLSAgICB0ZXN0
KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgY29udGV4dCA9IG5ldyBJZGxBcnJheSgpOwotICAg
ICAgICBjb250ZXh0LmFkZF9pZGxzKCJpbnRlcmZhY2UgQSB7IH07IEEgaW5jbHVkZXMgQjsiKTsK
LSAgICAgICAgYXNzZXJ0X3Rocm93cyhuZXcgRXJyb3IoKSwgXyA9PiBjb250ZXh0Lm1lbWJlcnNb
IkEiXS50cmF2ZXJzZV9pbmhlcml0ZWRfYW5kX2NvbnNlcXVlbnRpYWxfaW50ZXJmYWNlcyhmdW5j
dGlvbigpIHt9KSk7Ci0gICAgfSwgInNob3VsZCB0aHJvdyBmb3IgaW50ZXJmYWNlcyB3aGljaCBh
cmUgZXh0ZW5kZWQgYnkgYW5vdGhlciBpbnRlcmZhY2Ugd2hpY2ggd2Fzbid0IGFkZGVkIHRvIHRo
ZSBJZGxBcnJheS4iKTsKLQotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBjb250
ZXh0ID0gbmV3IElkbEFycmF5KCk7Ci0gICAgICAgIGNvbnRleHQuYWRkX2lkbHMoImludGVyZmFj
ZSBBIHsgfTsiKTsKLSAgICAgICAgYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksIF8gPT4g
Y29udGV4dC5tZW1iZXJzWyJBIl0udHJhdmVyc2VfaW5oZXJpdGVkX2FuZF9jb25zZXF1ZW50aWFs
X2ludGVyZmFjZXMoKSk7Ci0gICAgfSwgInNob3VsZCB0aHJvdyBpZiBub3QgcGFzc2VkIGEgY2Fs
bGJhY2siKTsKLQotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBjb250ZXh0ID0g
bmV3IElkbEFycmF5KCk7Ci0gICAgICAgIGNvbnRleHQuYWRkX2lkbHMoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoJ2ZyYWdtZW50cycpLnRleHRDb250ZW50KTsKLSAgICAgICAgdmFyIGludGVyZmFj
ZXMgPSBbXTsKLSAgICAgICAgY29udGV4dC5tZW1iZXJzWyJBIl0udHJhdmVyc2VfaW5oZXJpdGVk
X2FuZF9jb25zZXF1ZW50aWFsX2ludGVyZmFjZXMoZnVuY3Rpb24oaSkgewotICAgICAgICAgICAg
aW50ZXJmYWNlcy5wdXNoKGkubmFtZSk7Ci0gICAgICAgIH0pOwotICAgICAgICBhc3NlcnRfYXJy
YXlfZXF1YWxzKGludGVyZmFjZXMsIFsiQyIsICJCIiwgIkQiLCAiQSIsICJHIiwgIkgiXSk7Ci0g
ICAgfSwgJ3Nob3VsZCByZXR1cm4gYW4gYXJyYXkgdGhhdCBpbmNsdWRlcyB0aGUgaWRlbnRpZmll
ciBvZiB0aGUgaW50ZXJmYWNlcyBpbiB0aGUgY29ycmVjdCBvcmRlci4nKTsKLTwvc2NyaXB0Pgot
PC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy91bml0L0lkbEludGVyZmFjZS93
M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvdW5pdC9JZGxJbnRlcmZhY2UvdzNjLWltcG9ydC5sb2cK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY1OGE4OTc0NDEzLi4wMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy90ZXN0L3Rlc3RzL3VuaXQvSWRsSW50ZXJmYWNlL3czYy1pbXBvcnQubG9nCisrKyAvZGV2L251
bGwKQEAgLTEsMjggKzAsMCBAQAotVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1w
b3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCi1EbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3Rz
IGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0
aGUgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dw
dAotCi1UaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktp
dCB0byByZWltcG9ydAotCi1EbyBOT1QgbW9kaWZ5IG9yIHJlbW92ZSB0aGlzIGZpbGUuCi0KLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLQotUHJvcGVydGllcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgotTm9u
ZQotUHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6Ci1Ob25lCi0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0KLUxpc3Qgb2YgZmlsZXM6Ci0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy91bml0L0lkbEludGVyZmFjZS9j
b25zdHJ1Y3RvcnMuaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvdW5pdC9JZGxJbnRlcmZhY2UvZGVmYXVsdF90b19q
c29uX29wZXJhdGlvbi5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy91bml0L0lkbEludGVyZmFjZS9kb19tZW1iZXJf
dW5zY29wYWJsZV9hc3NlcnRzLmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL3VuaXQvSWRsSW50ZXJmYWNlL2dldF9p
bmhlcml0YW5jZV9zdGFjay5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy91bml0L0lkbEludGVyZmFjZS9nZXRfaW50
ZXJmYWNlX29iamVjdC5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy91bml0L0lkbEludGVyZmFjZS9nZXRfaW50ZXJm
YWNlX29iamVjdF9vd25lci5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy91bml0L0lkbEludGVyZmFjZS9nZXRfbGVn
YWN5X25hbWVzcGFjZS5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy91bml0L0lkbEludGVyZmFjZS9nZXRfcXVhbGlm
aWVkX25hbWUuaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvdW5pdC9JZGxJbnRlcmZhY2UvaGFzX2RlZmF1bHRfdG9f
anNvbl9yZWd1bGFyX29wZXJhdGlvbi5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy91bml0L0lkbEludGVyZmFjZS9o
YXNfdG9fanNvbl9yZWd1bGFyX29wZXJhdGlvbi5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy91bml0L0lkbEludGVy
ZmFjZS90ZXN0X3ByaW1hcnlfaW50ZXJmYWNlX29mX3VuZGVmaW5lZC5odG1sCi0vTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy91
bml0L0lkbEludGVyZmFjZS90cmF2ZXJzZV9pbmhlcml0ZWRfYW5kX2NvbnNlcXVlbnRpYWxfaW50
ZXJmYWNlcy5odG1sCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL3VuaXQvSWRsSW50ZXJmYWNlTWVtYmVy
L2lzX3RvX2pzb25fcmVndWxhcl9vcGVyYXRpb24uaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvdW5pdC9JZGxJbnRl
cmZhY2VNZW1iZXIvaXNfdG9fanNvbl9yZWd1bGFyX29wZXJhdGlvbi5odG1sCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCBhYmZhNGFiODAwYi4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0
cy91bml0L0lkbEludGVyZmFjZU1lbWJlci9pc190b19qc29uX3JlZ3VsYXJfb3BlcmF0aW9uLmh0
bWwKKysrIC9kZXYvbnVsbApAQCAtMSw0MiArMCwwIEBACi08IURPQ1RZUEUgSFRNTD4KLTxodG1s
PgotPGhlYWQ+Ci08dGl0bGU+SWRsSW50ZXJmYWNlTWVtYmVyLnByb3RvdHlwZS5pc190b19qc29u
X3JlZ3VsYXJfb3BlcmF0aW9uKCk8L3RpdGxlPgotPC9oZWFkPgotPGJvZHk+Ci08ZGl2IGlkPSJs
b2ciPjwvZGl2PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvV2ViSURMUGFyc2VyLmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL2lkbGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlw
dCBzcmM9Ii4uLy4uLy4uL2lkbC1oZWxwZXIuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLSAgICAi
dXNlIHN0cmljdCI7Ci0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIG0gPSBtZW1i
ZXJGcm9tKCJyZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGZvbyIpOwotICAgICAgICBhc3Nl
cnRfZmFsc2UobS5pc190b19qc29uX3JlZ3VsYXJfb3BlcmF0aW9uKCkpOwotICAgIH0sICdzaG91
bGQgcmV0dXJuIGZhbHNlIHdoZW4gbWVtYmVyIGlzIGFuIGF0dHJpYnV0ZS4nKTsKLQotICAgIHRl
c3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBtID0gbWVtYmVyRnJvbSgic3RhdGljIHZvaWQg
Zm9vKCkiKTsKLSAgICAgICAgYXNzZXJ0X2ZhbHNlKG0uaXNfdG9fanNvbl9yZWd1bGFyX29wZXJh
dGlvbigpKTsKLSAgICB9LCAnc2hvdWxkIHJldHVybiBmYWxzZSB3aGVuIG1lbWJlciBpcyBhIHN0
YXRpYyBvcGVyYXRpb24uJyk7Ci0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIg
bSA9IG1lbWJlckZyb20oInN0YXRpYyBvYmplY3QgdG9KU09OKCkiKTsKLSAgICAgICAgYXNzZXJ0
X2ZhbHNlKG0uaXNfdG9fanNvbl9yZWd1bGFyX29wZXJhdGlvbigpKTsKLSAgICB9LCAnc2hvdWxk
IHJldHVybiBmYWxzZSB3aGVuIG1lbWJlciBpcyBhIHN0YXRpYyB0b0pTT04gb3BlcmF0aW9uLicp
OwotCi0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIG0gPSBtZW1iZXJGcm9tKCJv
YmplY3QgdG9KU09OKCkiKTsKLSAgICAgICAgYXNzZXJ0X3RydWUobS5pc190b19qc29uX3JlZ3Vs
YXJfb3BlcmF0aW9uKCkpOwotICAgIH0sICdzaG91bGQgcmV0dXJuIHRydWUgd2hlbiBtZW1iZXIg
aXMgYSByZWd1bGFyIHRvSlNPTiBvcGVyYXRpb24uJyk7Ci0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkg
ewotICAgICAgICB2YXIgbSA9IG1lbWJlckZyb20oIltGb29dIG9iamVjdCB0b0pTT04oKSIpOwot
ICAgICAgICBhc3NlcnRfdHJ1ZShtLmlzX3RvX2pzb25fcmVndWxhcl9vcGVyYXRpb24oKSk7Ci0g
ICAgfSwgJ3Nob3VsZCByZXR1cm4gdHJ1ZSB3aGVuIG1lbWJlciBpcyBhIHJlZ3VsYXIgdG9KU09O
IG9wZXJhdGlvbiB3aXRoIGV4dGVuc2libGUgYXR0cmlidXRlcy4nKTsKLTwvc2NyaXB0PgotPC9i
b2R5PgotPC9odG1sPgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL3VuaXQvSWRsSW50ZXJmYWNlTWVt
YmVyL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy91bml0L0lkbEludGVyZmFjZU1lbWJlci93M2Mt
aW1wb3J0LmxvZwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjViYjhjNzA0YTYuLjAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvdW5pdC9JZGxJbnRlcmZhY2VNZW1iZXIvdzNjLWltcG9y
dC5sb2cKKysrIC9kZXYvbnVsbApAQCAtMSwxNyArMCwwIEBACi1UaGUgdGVzdHMgaW4gdGhpcyBk
aXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KLURvIE5PVCBt
b2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVhZCwgY3JlYXRlIGEg
cHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0aHViLmNvbS93ZWIt
cGxhdGZvcm0tdGVzdHMvd3B0Ci0KLVRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13
M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0Ci0KLURvIE5PVCBtb2RpZnkgb3IgcmVtb3Zl
IHRoaXMgZmlsZS4KLQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1Qcm9wZXJ0aWVzIHJlcXVpcmluZyB2ZW5k
b3IgcHJlZml4ZXM6Ci1Ob25lCi1Qcm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVm
aXhlczoKLU5vbmUKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotTGlzdCBvZiBmaWxlczoKLS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL3Vu
aXQvSWRsSW50ZXJmYWNlTWVtYmVyL2lzX3RvX2pzb25fcmVndWxhcl9vcGVyYXRpb24uaHRtbApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvdGVzdC90ZXN0cy91bml0L2Fzc2VydF9vYmplY3RfZXF1YWxzLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rl
c3RzL3VuaXQvYXNzZXJ0X29iamVjdF9lcXVhbHMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggNzNhOWI5NTg0MzguLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvdW5pdC9hc3Nl
cnRfb2JqZWN0X2VxdWFscy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTcwICswLDAgQEAKLTwh
RE9DVFlQRSBIVE1MPgotPGh0bWwgbGFuZz0iZW4iPgotPG1ldGEgY2hhcnNldD0idXRmLTgiPgot
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHRpdGxl
PkFzc2VydGlvbiBmdW5jdGlvbnM8L3RpdGxlPgotPHNjcmlwdD4KLSd1c2Ugc3RyaWN0JzsKLQot
Ly8gTmVpdGhlciB0aGUgYGFzc2VydF90aHJvd3NgIGZ1bmN0aW9uICBub3IgaXRzIHZhcmlhbnRz
IG1heSBiZSB1c2VkIGZvciB0aGlzCi0vLyBwdXJwb3NlIGJlY2F1c2UgdGhleSBmYWlsIGluIHJl
c3BvbnNlIHRvIEFzc2VydGlvbkVycm9yIGV4Y2VwdGlvbnMsIGV2ZW4KLS8vIHdoZW4gdGhpcyBp
cyBleHByZXNzZWQgYXMgdGhlIGV4cGVjdGVkIGVycm9yLgotZnVuY3Rpb24gdGVzdF9mYWlsdXJl
KGZuLCBuYW1lKSB7Ci0gIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgdHJ5IHsKLSAgICAgIGZuKCk7
Ci0gICAgfSBjYXRjaCAoZXJyKSB7Ci0gICAgICBpZiAoZXJyIGluc3RhbmNlb2YgQXNzZXJ0aW9u
RXJyb3IpIHsKLSAgICAgICAgcmV0dXJuOwotICAgICAgfQotICAgICAgdGhyb3cgbmV3IEFzc2Vy
dGlvbkVycm9yKCdFeHBlY3RlZCBhbiBBc3NlcnRpb25FcnJvciwgYnV0Jyk7Ci0gICAgfQotICAg
IHRocm93IG5ldyBBc3NlcnRpb25FcnJvcigKLSAgICAgICdFeHBlY3RlZCBhbiBBc3NlcnRpb25F
cnJvciwgYnV0IG5vIGVycm9yIHdhcyB0aHJvd24nCi0gICAgKTsKLSAgfSwgbmFtZSk7Ci19Ci0K
LXRlc3QoZnVuY3Rpb24oKSB7Ci0gIGFzc2VydF9vYmplY3RfZXF1YWxzKHt9LCB7fSk7Ci19LCAn
ZW1wdHkgb2JqZWN0cycpOwotCi10ZXN0KGZ1bmN0aW9uKCkgewotICB2YXIgYWN0dWFsID0ge307
Ci0gIHZhciBleHBlY3RlZCA9IHt9OwotICBhY3R1YWwuYSA9IGFjdHVhbDsKLSAgZXhwZWN0ZWQu
YSA9IGFjdHVhbDsKLQotICBhc3NlcnRfb2JqZWN0X2VxdWFscyhhY3R1YWwsIGV4cGVjdGVkKTsK
LX0sICd0b2xlcmF0ZXMgY3ljbGVzIGluIGFjdHVhbCB2YWx1ZScpOwotCi10ZXN0KGZ1bmN0aW9u
KCkgewotICB2YXIgYWN0dWFsID0ge307Ci0gIHZhciBleHBlY3RlZCA9IHt9OwotICBhY3R1YWwu
YSA9IGV4cGVjdGVkOwotICBleHBlY3RlZC5hID0gZXhwZWN0ZWQ7Ci0KLSAgYXNzZXJ0X29iamVj
dF9lcXVhbHMoYWN0dWFsLCBleHBlY3RlZCk7Ci19LCAndG9sZXJhdGVzIGN5Y2xlcyBpbiBleHBl
Y3RlZCB2YWx1ZScpOwotCi10ZXN0KGZ1bmN0aW9uKCkgewotICBhc3NlcnRfb2JqZWN0X2VxdWFs
cyh7MjogOTksIDA6IDIzLCAxOiA0NX0sIFsyMywgNDUsIDk5XSk7Ci19LCAncmVjb2duaXplcyBl
cXVpdmFsZW5jZSBvZiBhY3R1YWwgb2JqZWN0IGFuZCBleHBlY3RlZCBhcnJheScpOwotCi10ZXN0
KGZ1bmN0aW9uKCkgewotICBhc3NlcnRfb2JqZWN0X2VxdWFscyhbMjMsIDQ1LCA5OV0sIHsyOiA5
OSwgMDogMjMsIDE6IDQ1fSk7Ci19LCAncmVjb2duaXplcyBlcXVpdmFsZW5jZSBvZiBhY3R1YWwg
YXJyYXkgYW5kIGV4cGVjdGVkIG9iamVjdCcpOwotCi10ZXN0KGZ1bmN0aW9uKCkgewotICB2YXIg
YWN0dWFsID0ge307Ci0gIHZhciBleHBlY3RlZCA9IHt9OwotICBPYmplY3QuZGVmaW5lUHJvcGVy
dHkoYWN0dWFsLCAnYScsIHsgdmFsdWU6IDEsIGVudW1lcmFibGU6IGZhbHNlIH0pOwotCi0gIGFz
c2VydF90cnVlKGFjdHVhbC5hICE9PSBleHBlY3RlZC5hKTsKLSAgYXNzZXJ0X29iamVjdF9lcXVh
bHMoYWN0dWFsLCBleHBlY3RlZCk7Ci19LCAnbm9uLWVudW1lcmFibGUgcHJvcGVydGllcyBpbiBh
Y3R1YWwgdmFsdWUgaWdub3JlZCcpOwotCi10ZXN0KGZ1bmN0aW9uKCkgewotICB2YXIgYWN0dWFs
ID0ge307Ci0gIHZhciBleHBlY3RlZCA9IHt9OwotICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhw
ZWN0ZWQsICdhJywgeyB2YWx1ZTogMSwgZW51bWVyYWJsZTogZmFsc2UgfSk7Ci0KLSAgYXNzZXJ0
X3RydWUoYWN0dWFsLmEgIT09IGV4cGVjdGVkLmEpOwotICBhc3NlcnRfb2JqZWN0X2VxdWFscyhh
Y3R1YWwsIGV4cGVjdGVkKTsKLX0sICdub24tZW51bWVyYWJsZSBwcm9wZXJ0aWVzIGluIGV4cGVj
dGVkIHZhbHVlIGlnbm9yZWQnKTsKLQotdGVzdChmdW5jdGlvbigpIHsKLSAgYXNzZXJ0X29iamVj
dF9lcXVhbHMoe2M6IDMsIGE6IDEsIGI6IDJ9LCB7YTogMSwgYjogMiwgYzogM30pOwotfSwgJ2Vx
dWl2YWxlbnQgb2JqZWN0cyAtICJmbGF0IiBvYmplY3QnKTsKLQotdGVzdChmdW5jdGlvbigpIHsK
LSAgYXNzZXJ0X29iamVjdF9lcXVhbHMoCi0gICAge2M6IHtlOiA1LCBkOiA0fSwgYjogMiwgYTog
MX0sCi0gICAge2E6IDEsIGI6IDIsIGM6IHtkOiA0LCBlOiA1fX0KLSAgKTsKLX0sICdlcXVpdmFs
ZW50IG9iamVjdHMgLSBuZXN0ZWQgb2JqZWN0Jyk7Ci0KLXRlc3QoZnVuY3Rpb24oKSB7Ci0gIGFz
c2VydF9vYmplY3RfZXF1YWxzKAotICAgIHtjOiBbNCwgNV0sIGI6IDIsIGE6IDF9LAotICAgIHth
OiAxLCBiOiAyLCBjOiBbNCwgNV19Ci0gICk7Ci19LCAnZXF1aXZhbGVudCBvYmplY3RzIC0gbmVz
dGVkIGFycmF5Jyk7Ci0KLXRlc3QoZnVuY3Rpb24oKSB7Ci0gIGFzc2VydF9vYmplY3RfZXF1YWxz
KHthOiBOYU59LCB7YTogTmFOfSk7Ci19LCAnZXF1aXZhbGVudCBvYmplY3RzIC0gTmFOIHZhbHVl
Jyk7Ci0KLXRlc3QoZnVuY3Rpb24oKSB7Ci0gIGFzc2VydF9vYmplY3RfZXF1YWxzKHthOiAtMH0s
IHthOiAtMH0pOwotfSwgJ2VxdWl2YWxlbnQgb2JqZWN0cyAtIG5lZ2F0aXZlIHplcm8gdmFsdWUn
KTsKLQotdGVzdF9mYWlsdXJlKGZ1bmN0aW9uKCkgewotICBhc3NlcnRfb2JqZWN0X2VxdWFscyh1
bmRlZmluZWQsIHt9KTsKLX0sICdpbnZhbGlkIGFjdHVhbCB2YWx1ZTogdW5kZWZpbmVkJyk7Ci0K
LXRlc3RfZmFpbHVyZShmdW5jdGlvbigpIHsKLSAgYXNzZXJ0X29iamVjdF9lcXVhbHMobnVsbCwg
e30pOwotfSwgJ2ludmFsaWQgYWN0dWFsIHZhbHVlOiBudWxsJyk7Ci0KLXRlc3RfZmFpbHVyZShm
dW5jdGlvbigpIHsKLSAgYXNzZXJ0X29iamVjdF9lcXVhbHMoMzQsIHt9KTsKLX0sICdpbnZhbGlk
IGFjdHVhbCB2YWx1ZTogbnVtYmVyJyk7Ci0KLXRlc3RfZmFpbHVyZShmdW5jdGlvbigpIHsKLSAg
YXNzZXJ0X29iamVjdF9lcXVhbHMoe2M6IDMsIGE6IDEsIGI6IDJ9LCB7YTogMSwgYjogMSwgYzog
M30pOwotfSwgJ3VuZXF1YWwgcHJvcGVydHkgdmFsdWUgLSAiZmxhdCIgb2JqZWN0Jyk7Ci0KLXRl
c3RfZmFpbHVyZShmdW5jdGlvbigpIHsKLSAgdmFyIGFjdHVhbCA9IE9iamVjdC5jcmVhdGUoe2E6
IHVuZGVmaW5lZH0pOwotICB2YXIgZXhwZWN0ZWQgPSB7fTsKLQotICBhc3NlcnRfb2JqZWN0X2Vx
dWFscyhhY3R1YWwsIGV4cGVjdGVkKTsKLX0sICdub24tb3duIHByb3BlcnRpZXMgaW4gYWN0dWFs
IHZhbHVlIHZlcmlmaWVkJyk7Ci0KLXRlc3RfZmFpbHVyZShmdW5jdGlvbigpIHsKLSAgdmFyIGFj
dHVhbCA9IHt9OwotICB2YXIgZXhwZWN0ZWQgPSBPYmplY3QuY3JlYXRlKHthOiB1bmRlZmluZWR9
KTsKLQotICBhc3NlcnRfb2JqZWN0X2VxdWFscyhhY3R1YWwsIGV4cGVjdGVkKTsKLX0sICdub24t
b3duIHByb3BlcnRpZXMgaW4gZXhwZWN0ZWQgdmFsdWUgdmVyaWZpZWQnKTsKLQotdGVzdF9mYWls
dXJlKGZ1bmN0aW9uKCkgewotICBhc3NlcnRfb2JqZWN0X2VxdWFscygKLSAgICB7YTogMSwgYjog
MiwgYzoge2Q6IDUsIGU6IDUsIGY6IDZ9fSwKLSAgICB7YTogMSwgYjogMiwgYzoge2Q6IDUsIGU6
IDcsIGY6IDZ9fQotICApOwotfSwgJ3VuZXF1YWwgcHJvcGVydHkgdmFsdWUgLSBuZXN0ZWQgb2Jq
ZWN0Jyk7Ci0KLXRlc3RfZmFpbHVyZShmdW5jdGlvbigpIHsKLSAgYXNzZXJ0X29iamVjdF9lcXVh
bHMoCi0gICAge2E6IDEsIGI6IDIsIGM6IFs0LCA1LCA2XX0sCi0gICAge2E6IDEsIGI6IDIsIGM6
IFs0LCA3LCA2XX0KLSAgKTsKLX0sICd1bmVxdWFsIHByb3BlcnR5IHZhbHVlIC0gbmVzdGVkIGFy
cmF5Jyk7Ci0KLXRlc3RfZmFpbHVyZShmdW5jdGlvbigpIHsKLSAgYXNzZXJ0X29iamVjdF9lcXVh
bHMoe2E6IE5hTn0sIHthOiAwfSk7Ci19LCAnZXF1aXZhbGVudCBvYmplY3RzIC0gTmFOIGFjdHVh
bCB2YWx1ZScpOwotCi10ZXN0X2ZhaWx1cmUoZnVuY3Rpb24oKSB7Ci0gIGFzc2VydF9vYmplY3Rf
ZXF1YWxzKHthOiAwfSwge2E6IE5hTn0pOwotfSwgJ2VxdWl2YWxlbnQgb2JqZWN0cyAtIE5hTiBl
eHBlY3RlZCB2YWx1ZScpOwotCi10ZXN0X2ZhaWx1cmUoZnVuY3Rpb24oKSB7Ci0gIGFzc2VydF9v
YmplY3RfZXF1YWxzKHthOiAtMH0sIHthOiAwfSk7Ci19LCAnZXF1aXZhbGVudCBvYmplY3RzIC0g
bmVnYXRpdmUgemVybyBhY3R1YWwgdmFsdWUnKTsKLQotdGVzdF9mYWlsdXJlKGZ1bmN0aW9uKCkg
ewotICBhc3NlcnRfb2JqZWN0X2VxdWFscyh7YTogMH0sIHthOiAtMH0pOwotfSwgJ2VxdWl2YWxl
bnQgb2JqZWN0cyAtIG5lZ2F0aXZlIHplcm8gZXhwZWN0ZWQgdmFsdWUnKTsKLQotdGVzdF9mYWls
dXJlKGZ1bmN0aW9uKCkgewotICBhc3NlcnRfb2JqZWN0X2VxdWFscyh7YTogMX0sIHt9KTsKLX0s
ICdhY3R1YWwgY29udGFpbnMgYWRkaXRpb25hbCBwcm9wZXJ0eScpOwotCi10ZXN0X2ZhaWx1cmUo
ZnVuY3Rpb24oKSB7Ci0gIGFzc2VydF9vYmplY3RfZXF1YWxzKHt9LCB7YTogMX0pOwotfSwgJ2V4
cGVjdGVkIGNvbnRhaW5zIGFkZGl0aW9uYWwgcHJvcGVydHknKTsKLTwvc2NyaXB0PgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvdGVzdC90ZXN0cy91bml0L2Jhc2ljLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL3VuaXQvYmFzaWMuaHRtbApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDkwN2M3YmI5ZmIuLjAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3Rlc3QvdGVzdHMvdW5pdC9iYXNpYy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNDggKzAsMCBA
QAotPCFET0NUWVBFIEhUTUw+Ci08aHRtbD4KLTxoZWFkPgotPHRpdGxlPmlkbGhhcm5lc3MgYmFz
aWM8L3RpdGxlPgotPC9oZWFkPgotPGJvZHk+Ci08ZGl2IGlkPSJsb2ciPjwvZGl2PgotPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvV2ViSURMUGFyc2VyLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL2lkbGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLSAgICAidXNlIHN0cmlj
dCI7Ci0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgYXNzZXJ0X3RydWUoIklkbEFycmF5
IiBpbiB3aW5kb3cpOwotICAgIH0sICdJZGxBcnJheSBjb25zdHJ1Y3RvciBzaG91bGQgYmUgYSBn
bG9iYWwgb2JqZWN0Jyk7Ci0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgYXNzZXJ0X3Ry
dWUobmV3IElkbEFycmF5KCkgaW5zdGFuY2VvZiBJZGxBcnJheSk7Ci0gICAgfSwgJ0lkbEFycmF5
IGNvbnN0cnVjdG9yIHNob3VsZCBiZSBjb25zdHJ1Y3RpYmxlJyk7Ci0gICAgdGVzdChmdW5jdGlv
bigpIHsKLSAgICAgICAgYXNzZXJ0X3RydWUoIldlYklETDIiIGluIHdpbmRvdyk7Ci0gICAgfSwg
J1dlYklETDIgbmFtZXNwYWNlIHNob3VsZCBiZSBhIGdsb2JhbCBvYmplY3QnKTsKLSAgICB0ZXN0
KGZ1bmN0aW9uKCkgewotICAgICAgICBhc3NlcnRfZXF1YWxzKHR5cGVvZiBXZWJJREwyLnBhcnNl
LCAiZnVuY3Rpb24iKTsKLSAgICB9LCAnV2ViSURMMiBuYW1lc3BhY2Ugc2hvdWxkIGhhdmUgYSBw
YXJzZSBtZXRob2QnKTsKLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICB0cnkgewotICAg
ICAgICAgICAgV2ViSURMMi5wYXJzZSgiSSdtIGEgc3ludGF4IGVycm9yIik7Ci0gICAgICAgICAg
ICB0aHJvdyBuZXcgRXJyb3IoIldlYiBJREwgZGlkbid0IHRocm93Iik7Ci0gICAgICAgIH0gY2F0
Y2ggKGUpIHsKLSAgICAgICAgICAgIGFzc2VydF90cnVlKGUubmFtZSA9PT0gIldlYklETFBhcnNl
RXJyb3IiKTsKLSAgICAgICAgfQotICAgIH0sICdXZWJJREwyIHBhcnNlIG1ldGhvZCBzaG91bGQg
YmFpbCBvbiBpbmNvcnJlY3QgV2ViSURMJyk7Ci0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAg
ICAgYXNzZXJ0X2VxdWFscyh0eXBlb2YgV2ViSURMMi5wYXJzZSgiaW50ZXJmYWNlIEZvbyB7fTsi
KSwgIm9iamVjdCIpOwotICAgIH0sICdXZWJJREwyIHBhcnNlIG1ldGhvZCBzaG91bGQgcHJvZHVj
ZSBhbiBBU1QgZm9yIGNvcnJlY3QgV2ViSURMJyk7Ci0gICAgdGVzdChmdW5jdGlvbiAoKSB7Ci0g
ICAgICAgIHRyeSB7Ci0gICAgICAgICAgICBsZXQgaSA9IG5ldyBJZGxBcnJheSgpOwotICAgICAg
ICAgICAgaS5hZGRfdW50ZXN0ZWRfaWRscyhgaW50ZXJmYWNlIEMge307YCk7Ci0gICAgICAgICAg
ICBpLmFzc2VydF90aHJvd3MoJ0FueXRoaW5nJywgaSA9PiBpLnRlc3QoKSk7Ci0gICAgICAgIH0g
Y2F0Y2ggKGUpIHsKLSAgICAgICAgICAgIGFzc2VydF90cnVlKGUgaW5zdGFuY2VvZiBJZGxIYXJu
ZXNzRXJyb3IpOwotICAgICAgICB9Ci0gICAgfSwgYGFzc2VydF90aHJvd3Mgc2hvdWxkIHRocm93
IGlmIG5vIElkbEhhcm5lc3NFcnJvciB0aHJvd25gKTsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy91bml0L2V4Y2VwdGlvbmFsLWNhc2VzLXRpbWVvdXRz
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy90ZXN0L3Rlc3RzL3VuaXQvZXhjZXB0aW9uYWwtY2FzZXMtdGltZW91dHMuaHRtbApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzYwYWM3MTU0ZjEuLjAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rl
c3QvdGVzdHMvdW5pdC9leGNlcHRpb25hbC1jYXNlcy10aW1lb3V0cy5odG1sCisrKyAvZGV2L251
bGwKQEAgLTEsMTIwICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLSAg
PG1ldGEgY2hhcnNldD0idXRmLTgiPgotICA8bWV0YSBuYW1lPSJ0aW1lb3V0IiBjb250ZW50PSJs
b25nIj4KLSAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgotICA8dGl0bGU+RXhjZXB0aW9uYWwgY2FzZXMgLSB0aW1lb3V0czwvdGl0bGU+Ci08L2hlYWQ+
Ci08Ym9keT4KLTxwPgotICBUaGUgdGVzdHMgaW4gdGhpcyBmaWxlIGFyZSBleGVjdXRlZCBpbiBw
YXJhbGxlbCB0byBhdm9pZCBleGNlZWRpbmcgdGhlICJsb25nIgotICB0aW1lb3V0IGR1cmF0aW9u
LgotPC9wPgotPHNjcmlwdD4KLWZ1bmN0aW9uIG1ha2VUZXN0KC4uLmJvZGllcykgewotICBjb25z
dCBjbG9zZVNjcmlwdCA9ICc8JyArICcvc2NyaXB0Pic7Ci0gIGxldCBzcmMgPSBgCi08IURPQ1RZ
UEUgSFRNTD4KLTxodG1sPgotPGhlYWQ+Ci08dGl0bGU+RG9jdW1lbnQgdGl0bGU8L3RpdGxlPgot
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanM/JHtNYXRoLnJhbmRvbSgpfSI+
JHtjbG9zZVNjcmlwdH0KLTwvaGVhZD4KLQotPGJvZHk+Ci08ZGl2IGlkPSJsb2ciPjwvZGl2PmA7
Ci0gIGJvZGllcy5mb3JFYWNoKChib2R5KSA9PiB7Ci0gICAgc3JjICs9ICc8c2NyaXB0PignICsg
Ym9keSArICcpKCk7JyArIGNsb3NlU2NyaXB0OwotICB9KTsKLQotICBjb25zdCBpZnJhbWUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCdpZnJhbWUnKTsKLQotICBkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKGlmcmFtZSk7Ci0gIGlmcmFtZS5jb250ZW50RG9jdW1lbnQud3JpdGUoc3JjKTsKLQot
ICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHsKLSAgICB3aW5kb3cuYWRkRXZlbnRM
aXN0ZW5lcignbWVzc2FnZScsIGZ1bmN0aW9uIG9uTWVzc2FnZShlKSB7Ci0gICAgICBpZiAoZS5z
b3VyY2UgIT09IGlmcmFtZS5jb250ZW50V2luZG93KSB7Ci0gICAgICAgIHJldHVybjsKLSAgICAg
IH0KLSAgICAgIGlmICghZS5kYXRhIHx8IGUuZGF0YS50eXBlICE9PSdjb21wbGV0ZScpIHsKLSAg
ICAgICAgcmV0dXJuOwotICAgICAgfQotICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIo
J21lc3NhZ2UnLCBvbk1lc3NhZ2UpOwotICAgICAgcmVzb2x2ZShlLmRhdGEpOwotICAgIH0pOwot
Ci0gICAgaWZyYW1lLmNvbnRlbnREb2N1bWVudC5jbG9zZSgpOwotICB9KS50aGVuKCh7IHRlc3Rz
LCBzdGF0dXMgfSkgPT4gewotICAgIGNvbnN0IHN1bW1hcnkgPSB7Ci0gICAgICBoYXJuZXNzOiBn
ZXRFbnVtUHJvcChzdGF0dXMsIHN0YXR1cy5zdGF0dXMpLAotICAgICAgdGVzdHM6IHt9Ci0gICAg
fTsKLQotICAgIHRlc3RzLmZvckVhY2goKHRlc3QpID0+IHsKLSAgICAgIHN1bW1hcnkudGVzdHNb
dGVzdC5uYW1lXSA9IGdldEVudW1Qcm9wKHRlc3QsIHRlc3Quc3RhdHVzKTsKLSAgICB9KTsKLQot
ICAgIHJldHVybiBzdW1tYXJ5OwotICB9KTsKLX0KLQotZnVuY3Rpb24gZ2V0RW51bVByb3Aob2Jq
ZWN0LCB2YWx1ZSkgewotICBmb3IgKGxldCBwcm9wZXJ0eSBpbiBvYmplY3QpIHsKLSAgICBpZiAo
IS9eW0EtWl0rJC8udGVzdChwcm9wZXJ0eSkpIHsKLSAgICAgIGNvbnRpbnVlOwotICAgIH0KLQot
ICAgIGlmIChvYmplY3RbcHJvcGVydHldID09PSB2YWx1ZSkgewotICAgICAgcmV0dXJuIHByb3Bl
cnR5OwotICAgIH0KLSAgfQotfQotCi0oKCkgPT4gewotICB3aW5kb3cuYXN5bmNUZXN0Q2xlYW51
cENvdW50MSA9IDA7Ci0gIGNvbnN0IG5lc3RlZFRlc3QgPSBtYWtlVGVzdCgKLSAgICAoKSA9PiB7
Ci0gICAgICBhc3luY190ZXN0KCh0KSA9PiB7Ci0gICAgICAgIHQuYWRkX2NsZWFudXAoKCkgPT4g
d2luZG93LnBhcmVudC5hc3luY1Rlc3RDbGVhbnVwQ291bnQxICs9IDEpOwotICAgICAgICBzZXRU
aW1lb3V0KCgpID0+IHsKLSAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ3RoaXMgZXJyb3IgaXMg
ZXhwZWN0ZWQnKTsKLSAgICAgICAgfSk7Ci0gICAgICB9LCAndGVzdCcpOwotICAgIH0KLSAgKTsK
LSAgcHJvbWlzZV90ZXN0KCgpID0+IHsKLSAgICByZXR1cm4gbmVzdGVkVGVzdC50aGVuKCh7aGFy
bmVzcywgdGVzdHN9KSA9PiB7Ci0gICAgICAgIGFzc2VydF9lcXVhbHMoaGFybmVzcywgJ0VSUk9S
Jyk7Ci0gICAgICAgIGFzc2VydF9lcXVhbHModGVzdHMudGVzdCwgJ1RJTUVPVVQnKTsKLSAgICAg
ICAgYXNzZXJ0X2VxdWFscyh3aW5kb3cuYXN5bmNUZXN0Q2xlYW51cENvdW50MSwgMSk7Ci0gICAg
ICB9KTsKLSAgfSwgJ3VuY2F1Z2h0IGV4Y2VwdGlvbiBkdXJpbmcgYXN5bmNfdGVzdCB3aGljaCB0
aW1lcyBvdXQnKTsKLX0pKCk7Ci0KLSgoKSA9PiB7Ci0gIHdpbmRvdy5wcm9taXNlVGVzdENsZWFu
dXBDb3VudDIgPSAwOwotICBjb25zdCBuZXN0ZWRUZXN0ID0gbWFrZVRlc3QoCi0gICAgKCkgPT4g
ewotICAgICAgcHJvbWlzZV90ZXN0KCh0KSA9PiB7Ci0gICAgICAgIHQuYWRkX2NsZWFudXAoKCkg
PT4gd2luZG93LnBhcmVudC5wcm9taXNlVGVzdENsZWFudXBDb3VudDIgKz0gMSk7Ci0gICAgICAg
IHNldFRpbWVvdXQoKCkgPT4gewotICAgICAgICAgIHRocm93IG5ldyBFcnJvcigndGhpcyBlcnJv
ciBpcyBleHBlY3RlZCcpOwotICAgICAgICB9KTsKLQotICAgICAgICByZXR1cm4gbmV3IFByb21p
c2UoKCkgPT4ge30pOwotICAgICAgfSwgJ3Rlc3QnKTsKLSAgICB9Ci0gICk7Ci0gIHByb21pc2Vf
dGVzdCgoKSA9PiB7Ci0gICAgcmV0dXJuIG5lc3RlZFRlc3QudGhlbigoe2hhcm5lc3MsIHRlc3Rz
fSkgPT4gewotICAgICAgICBhc3NlcnRfZXF1YWxzKGhhcm5lc3MsICdFUlJPUicpOwotICAgICAg
ICBhc3NlcnRfZXF1YWxzKHRlc3RzLnRlc3QsICdUSU1FT1VUJyk7Ci0gICAgICAgIGFzc2VydF9l
cXVhbHMod2luZG93LnByb21pc2VUZXN0Q2xlYW51cENvdW50MiwgMSk7Ci0gICAgICB9KTsKLSAg
fSwgJ3VuY2F1Z2h0IGV4Y2VwdGlvbiBkdXJpbmcgcHJvbWlzZV90ZXN0IHdoaWNoIHRpbWVzIG91
dCcpOwotfSkoKTsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90
ZXN0cy91bml0L2V4Y2VwdGlvbmFsLWNhc2VzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL3VuaXQvZXhjZXB0aW9u
YWwtY2FzZXMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMmJlNGRhY2FhZWMu
LjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvdW5pdC9leGNlcHRpb25hbC1jYXNlcy5odG1sCisr
KyAvZGV2L251bGwKQEAgLTEsMzkyICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08
aGVhZD4KLSAgPG1ldGEgY2hhcnNldD0idXRmLTgiPgotICA8bWV0YSBuYW1lPSJ0aW1lb3V0IiBj
b250ZW50PSJsb25nIj4KLSAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
Pjwvc2NyaXB0PgotICA8dGl0bGU+RXhjZXB0aW9uYWwgY2FzZXM8L3RpdGxlPgotPC9oZWFkPgot
PGJvZHk+Ci08c2NyaXB0PgotZnVuY3Rpb24gbWFrZVRlc3QoLi4uYm9kaWVzKSB7Ci0gIGNvbnN0
IGNsb3NlU2NyaXB0ID0gJzwnICsgJy9zY3JpcHQ+JzsKLSAgbGV0IHNyYyA9IGAKLTwhRE9DVFlQ
RSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLTx0aXRsZT5Eb2N1bWVudCB0aXRsZTwvdGl0bGU+Ci08
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcz8ke01hdGgucmFuZG9tKCl9Ij4k
e2Nsb3NlU2NyaXB0fQotPC9oZWFkPgotCi08Ym9keT4KLTxkaXYgaWQ9ImxvZyI+PC9kaXY+YDsK
LSAgYm9kaWVzLmZvckVhY2goKGJvZHkpID0+IHsKLSAgICBzcmMgKz0gJzxzY3JpcHQ+KCcgKyBi
b2R5ICsgJykoKTsnICsgY2xvc2VTY3JpcHQ7Ci0gIH0pOwotCi0gIGNvbnN0IGlmcmFtZSA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lmcmFtZScpOwotCi0gIGRvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQoaWZyYW1lKTsKLSAgaWZyYW1lLmNvbnRlbnREb2N1bWVudC53cml0ZShzcmMpOwotCi0g
IHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4gewotICAgIHdpbmRvdy5hZGRFdmVudExp
c3RlbmVyKCdtZXNzYWdlJywgZnVuY3Rpb24gb25NZXNzYWdlKGUpIHsKLSAgICAgIGlmIChlLnNv
dXJjZSAhPT0gaWZyYW1lLmNvbnRlbnRXaW5kb3cpIHsKLSAgICAgICAgcmV0dXJuOwotICAgICAg
fQotICAgICAgaWYgKCFlLmRhdGEgfHwgZS5kYXRhLnR5cGUgIT09J2NvbXBsZXRlJykgewotICAg
ICAgICByZXR1cm47Ci0gICAgICB9Ci0gICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcign
bWVzc2FnZScsIG9uTWVzc2FnZSk7Ci0gICAgICByZXNvbHZlKGUuZGF0YSk7Ci0gICAgfSk7Ci0K
LSAgICBpZnJhbWUuY29udGVudERvY3VtZW50LmNsb3NlKCk7Ci0gIH0pLnRoZW4oKHsgdGVzdHMs
IHN0YXR1cyB9KSA9PiB7Ci0gICAgY29uc3Qgc3VtbWFyeSA9IHsKLSAgICAgIGhhcm5lc3M6IGdl
dEVudW1Qcm9wKHN0YXR1cywgc3RhdHVzLnN0YXR1cyksCi0gICAgICB0ZXN0czoge30KLSAgICB9
OwotCi0gICAgdGVzdHMuZm9yRWFjaCgodGVzdCkgPT4gewotICAgICAgc3VtbWFyeS50ZXN0c1t0
ZXN0Lm5hbWVdID0gZ2V0RW51bVByb3AodGVzdCwgdGVzdC5zdGF0dXMpOwotICAgIH0pOwotCi0g
ICAgcmV0dXJuIHN1bW1hcnk7Ci0gIH0pOwotfQotCi1mdW5jdGlvbiBnZXRFbnVtUHJvcChvYmpl
Y3QsIHZhbHVlKSB7Ci0gIGZvciAobGV0IHByb3BlcnR5IGluIG9iamVjdCkgewotICAgIGlmICgh
L15bQS1aXSskLy50ZXN0KHByb3BlcnR5KSkgewotICAgICAgY29udGludWU7Ci0gICAgfQotCi0g
ICAgaWYgKG9iamVjdFtwcm9wZXJ0eV0gPT09IHZhbHVlKSB7Ci0gICAgICByZXR1cm4gcHJvcGVy
dHk7Ci0gICAgfQotICB9Ci19Ci0KLXByb21pc2VfdGVzdCgoKSA9PiB7Ci0gIHJldHVybiBtYWtl
VGVzdCgKLSAgICAgICgpID0+IHsgZG9uZSgpOyB9Ci0gICAgKS50aGVuKCh7aGFybmVzcywgdGVz
dHN9KSA9PiB7Ci0gICAgICBhc3NlcnRfZXF1YWxzKGhhcm5lc3MsICdFUlJPUicpOwotICAgICAg
YXNzZXJ0X2FycmF5X2VxdWFscyhPYmplY3Qua2V5cyh0ZXN0cyksIFtdKTsKLSAgICB9KTsKLX0s
ICdjb21wbGV0aW9uIHNpZ25hbGVkIGJlZm9yZSB0ZXN0aW5nIGJlZ2lucycpOwotCi1wcm9taXNl
X3Rlc3QoKCkgPT4gewotICByZXR1cm4gbWFrZVRlc3QoCi0gICAgICAoKSA9PiB7IGFzc2VydF90
cnVlKHRydWUpOyBkb25lKCk7IH0KLSAgICApLnRoZW4oKHtoYXJuZXNzLCB0ZXN0c30pID0+IHsK
LSAgICAgIGFzc2VydF9lcXVhbHMoaGFybmVzcywgJ0VSUk9SJyk7Ci0gICAgICBhc3NlcnRfYXJy
YXlfZXF1YWxzKE9iamVjdC5rZXlzKHRlc3RzKSwgW10pOwotICAgIH0pOwotfSwgJ3Bhc3Npbmcg
YXNzZXJ0aW9uIGJlZm9yZSB0ZXN0aW5nIGJlZ2lucycpOwotCi1wcm9taXNlX3Rlc3QoKCkgPT4g
ewotICByZXR1cm4gbWFrZVRlc3QoCi0gICAgICAoKSA9PiB7IGFzc2VydF9mYWxzZSh0cnVlKTsg
fQotICAgICkudGhlbigoe2hhcm5lc3MsIHRlc3RzfSkgPT4gewotICAgICAgYXNzZXJ0X2VxdWFs
cyhoYXJuZXNzLCAnRVJST1InKTsKLSAgICAgIGFzc2VydF9hcnJheV9lcXVhbHMoT2JqZWN0Lmtl
eXModGVzdHMpLCBbXSk7Ci0gICAgfSk7Ci19LCAnZmFpbGluZyBhc3NlcnRpb24gYmVmb3JlIHRl
c3RpbmcgYmVnaW5zJyk7Ci0KLXByb21pc2VfdGVzdCgoKSA9PiB7Ci0gIHJldHVybiBtYWtlVGVz
dCgKLSAgICAgICgpID0+IHsgdGhyb3cgbmV3IEVycm9yKCd0aGlzIGVycm9yIGlzIGV4cGVjdGVk
Jyk7IH0KLSAgICApLnRoZW4oKHtoYXJuZXNzLCB0ZXN0c30pID0+IHsKLSAgICAgIGFzc2VydF9l
cXVhbHMoaGFybmVzcywgJ0VSUk9SJyk7Ci0gICAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKE9iamVj
dC5rZXlzKHRlc3RzKSwgW10pOwotICAgIH0pOwotfSwgJ3VuY2F1Z2h0IGV4Y2VwdGlvbiBiZWZv
cmUgdGVzdGluZyBiZWdpbnMnKTsKLQotcHJvbWlzZV90ZXN0KCgpID0+IHsKLSAgcmV0dXJuIG1h
a2VUZXN0KAotICAgICAgKCkgPT4gewotICAgICAgICBzZXR1cCh7IGFsbG93X3VuY2F1Z2h0X2V4
Y2VwdGlvbjogdHJ1ZSB9KTsKLSAgICAgICAgdGhyb3cgbmV3IEVycm9yKCd0aGlzIGVycm9yIGlz
IGV4cGVjdGVkJyk7Ci0gICAgICB9LAotICAgICAgKCkgPT4gewotICAgICAgICB0ZXN0KGZ1bmN0
aW9uKCkge30sICdhJyk7Ci0gICAgICAgIHRlc3QoZnVuY3Rpb24oKSB7fSwgJ2InKTsKLSAgICAg
IH0KLSAgICApLnRoZW4oKHtoYXJuZXNzLCB0ZXN0c30pID0+IHsKLSAgICAgIGFzc2VydF9lcXVh
bHMoaGFybmVzcywgJ09LJyk7Ci0gICAgICBhc3NlcnRfZXF1YWxzKHRlc3RzLmEsICdQQVNTJyk7
Ci0gICAgICBhc3NlcnRfZXF1YWxzKHRlc3RzLmIsICdQQVNTJyk7Ci0gICAgfSk7Ci19LCAndW5j
YXVnaHQgZXhjZXB0aW9uIHdpdGggc3Vic2VxdWVudCBzdWJ0ZXN0Jyk7Ci0KLXByb21pc2VfdGVz
dCgoKSA9PiB7Ci0gIHJldHVybiBtYWtlVGVzdCgKLSAgICAgICgpID0+IHsKLSAgICAgICAgYXN5
bmNfdGVzdCgodCkgPT4gewotICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gewotICAgICAgICAg
ICAgc2V0VGltZW91dCgoKSA9PiB0LmRvbmUoKSwgMCk7Ci0gICAgICAgICAgICBhc3luY190ZXN0
KCh0KSA9PiBzZXRUaW1lb3V0KHQuZG9uZS5iaW5kKHQpLCAwKSwgJ2FmdGVyJyk7Ci0gICAgICAg
ICAgICB0aHJvdyBuZXcgRXJyb3IoJ3RoaXMgZXJyb3IgaXMgZXhwZWN0ZWQnKTsKLSAgICAgICAg
ICB9LCAwKTsKLSAgICAgICAgfSwgJ2R1cmluZycpOwotICAgICAgfQotICAgICkudGhlbigoe2hh
cm5lc3MsIHRlc3RzfSkgPT4gewotICAgICAgYXNzZXJ0X2VxdWFscyhoYXJuZXNzLCAnRVJST1In
KTsKLSAgICAgIGFzc2VydF9lcXVhbHModGVzdHMuZHVyaW5nLCAnUEFTUycpOwotICAgICAgYXNz
ZXJ0X2VxdWFscyh0ZXN0cy5hZnRlciwgJ1BBU1MnKTsKLSAgICB9KTsKLX0sICd1bmNhdWdodCBl
eGNlcHRpb24gZHVyaW5nIGFzeW5jX3Rlc3QnKTsKLQotcHJvbWlzZV90ZXN0KCgpID0+IHsKLSAg
cmV0dXJuIG1ha2VUZXN0KAotICAgICAgKCkgPT4gewotICAgICAgICBwcm9taXNlX3Rlc3QoKCkg
PT4gewotICAgICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4gewotICAgICAg
ICAgICAgc2V0VGltZW91dCgoKSA9PiB7Ci0gICAgICAgICAgICAgIHJlc29sdmUoKTsKLSAgICAg
ICAgICAgICAgcHJvbWlzZV90ZXN0KCgpID0+IFByb21pc2UucmVzb2x2ZSgpLCAnYWZ0ZXInKTsK
LSAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCd0aGlzIGVycm9yIGlzIGV4cGVjdGVkJyk7
Ci0gICAgICAgICAgICB9LCAwKTsKLSAgICAgICAgICB9KTsKLSAgICAgICAgfSwgJ2R1cmluZycp
OwotICAgICAgfQotICAgICkudGhlbigoe2hhcm5lc3MsIHRlc3RzfSkgPT4gewotICAgICAgYXNz
ZXJ0X2VxdWFscyhoYXJuZXNzLCAnRVJST1InKTsKLSAgICAgIGFzc2VydF9lcXVhbHModGVzdHMu
ZHVyaW5nLCAnUEFTUycpOwotICAgICAgYXNzZXJ0X2VxdWFscyh0ZXN0cy5hZnRlciwgJ1BBU1Mn
KTsKLSAgICB9KTsKLX0sICd1bmNhdWdodCBleGNlcHRpb24gZHVyaW5nIHByb21pc2VfdGVzdCcp
OwotCi1wcm9taXNlX3Rlc3QoKCkgPT4gewotICByZXR1cm4gbWFrZVRlc3QoCi0gICAgICAoKSA9
PiB7IHRlc3QoKCkgPT4ge30sICdiZWZvcmUnKTsgfSwKLSAgICAgICgpID0+IHsgdGhyb3cgbmV3
IEVycm9yKCd0aGlzIGVycm9yIGlzIGV4cGVjdGVkJyk7IH0sCi0gICAgICAoKSA9PiB7IHRlc3Qo
KCkgPT4ge30sICdhZnRlcicpOyB9Ci0gICAgKS50aGVuKCh7aGFybmVzcywgdGVzdHN9KSA9PiB7
Ci0gICAgICBhc3NlcnRfZXF1YWxzKGhhcm5lc3MsICdFUlJPUicpOwotICAgICAgYXNzZXJ0X2Vx
dWFscyh0ZXN0cy5iZWZvcmUsICdQQVNTJyk7Ci0gICAgICBhc3NlcnRfZXF1YWxzKHRlc3RzLmFm
dGVyLCAnUEFTUycpOwotICAgIH0pOwotfSwgJ3VuY2F1Z2h0IGV4Y2VwdGlvbiBiZXR3ZWVuIHRl
c3RzJyk7Ci0KLXByb21pc2VfdGVzdCgoKSA9PiB7Ci0gIHJldHVybiBtYWtlVGVzdCgKLSAgICAg
ICgpID0+IHsgcHJvbWlzZV90ZXN0KCgpID0+IFByb21pc2UucmVzb2x2ZSgpLCAnYmVmb3JlJyk7
IH0sCi0gICAgICAoKSA9PiB7IHRocm93IG5ldyBFcnJvcigndGhpcyBlcnJvciBpcyBleHBlY3Rl
ZCcpOyB9LAotICAgICAgKCkgPT4geyBwcm9taXNlX3Rlc3QoKCkgPT4gUHJvbWlzZS5yZXNvbHZl
KCksICdhZnRlcicpOyB9Ci0gICAgKS50aGVuKCh7aGFybmVzcywgdGVzdHN9KSA9PiB7Ci0gICAg
ICBhc3NlcnRfZXF1YWxzKGhhcm5lc3MsICdFUlJPUicpOwotICAgICAgYXNzZXJ0X2VxdWFscyh0
ZXN0cy5iZWZvcmUsICdQQVNTJyk7Ci0gICAgICBhc3NlcnRfZXF1YWxzKHRlc3RzLmFmdGVyLCAn
UEFTUycpOwotICAgIH0pOwotfSwgJ3VuY2F1Z2h0IGV4Y2VwdGlvbiBiZXR3ZWVuIHByb21pc2Vf
dGVzdHMnKTsKLQotCi0vLyBUaGlzIGZlYXR1cmUgb2YgdGVzdGhhcm5lc3MuanMgaXMgb25seSBv
YnNlcnZhYmxlIGluIGJyb3dzZXJzIHdoaWNoCi0vLyBpbXBsZW1lbnQgdGhlIGB1bmhhbmRsZWRy
ZWplY3Rpb25gIGV2ZW50LgotaWYgKCdvbnVuaGFuZGxlZHJlamVjdGlvbicgaW4gd2luZG93KSB7
Ci0KLSAgcHJvbWlzZV90ZXN0KCgpID0+IHsKLSAgICByZXR1cm4gbWFrZVRlc3QoCi0gICAgICAg
ICgpID0+IHsgUHJvbWlzZS5yZWplY3QobmV3IEVycm9yKCd0aGlzIGVycm9yIGlzIGV4cGVjdGVk
JykpOyB9Ci0gICAgICApLnRoZW4oKHtoYXJuZXNzLCB0ZXN0c30pID0+IHsKLSAgICAgICAgYXNz
ZXJ0X2VxdWFscyhoYXJuZXNzLCAnRVJST1InKTsKLSAgICAgICAgYXNzZXJ0X2FycmF5X2VxdWFs
cyhPYmplY3Qua2V5cyh0ZXN0cyksIFtdKTsKLSAgICAgIH0pOwotICB9LCAndW5oYW5kbGVkIHJl
amVjdGlvbiBiZWZvcmUgdGVzdGluZyBiZWdpbnMnKTsKLQotICBwcm9taXNlX3Rlc3QoKCkgPT4g
ewotICAgIHJldHVybiBtYWtlVGVzdCgKLSAgICAgICAgKCkgPT4gewotICAgICAgICAgIGFzeW5j
X3Rlc3QoKHQpID0+IHsKLSAgICAgICAgICAgIFByb21pc2UucmVqZWN0KG5ldyBFcnJvcigndGhp
cyBlcnJvciBpcyBleHBlY3RlZCcpKTsKLQotICAgICAgICAgICAgd2luZG93LmFkZEV2ZW50TGlz
dGVuZXIoJ3VuaGFuZGxlZHJlamVjdGlvbicsICgpID0+IHsKLSAgICAgICAgICAgIHNldFRpbWVv
dXQoKCkgPT4gdC5kb25lKCksIDApOwotICAgICAgICAgICAgICBhc3luY190ZXN0KCh0KSA9PiBz
ZXRUaW1lb3V0KHQuZG9uZS5iaW5kKHQpLCAwKSwgJ2FmdGVyJyk7Ci0gICAgICAgICAgICAgIHQu
ZG9uZSgpOwotICAgICAgICAgICAgfSk7Ci0gICAgICAgICAgfSwgJ2R1cmluZycpOwotICAgICAg
ICB9Ci0gICAgICApLnRoZW4oKHtoYXJuZXNzLCB0ZXN0c30pID0+IHsKLSAgICAgICAgYXNzZXJ0
X2VxdWFscyhoYXJuZXNzLCAnRVJST1InKTsKLSAgICAgICAgYXNzZXJ0X2VxdWFscyh0ZXN0cy5k
dXJpbmcsICdQQVNTJyk7Ci0gICAgICAgIGFzc2VydF9lcXVhbHModGVzdHMuYWZ0ZXIsICdQQVNT
Jyk7Ci0gICAgICB9KTsKLSAgfSwgJ3VuaGFuZGxlZCByZWplY3Rpb24gZHVyaW5nIGFzeW5jX3Rl
c3QnKTsKLQotICBwcm9taXNlX3Rlc3QoKCkgPT4gewotICAgIHJldHVybiBtYWtlVGVzdCgKLSAg
ICAgICAgKCkgPT4gewotICAgICAgICAgIHByb21pc2VfdGVzdCgoKSA9PiB7Ci0gICAgICAgICAg
ICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHsKLSAgICAgICAgICAgICAgUHJvbWlz
ZS5yZWplY3QobmV3IEVycm9yKCd0aGlzIGVycm9yIGlzIGV4cGVjdGVkJykpOwotCi0gICAgICAg
ICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCd1bmhhbmRsZWRyZWplY3Rpb24nLCAoKSA9
PiB7Ci0gICAgICAgICAgICAgICAgcmVzb2x2ZSgpOwotICAgICAgICAgICAgICAgIHByb21pc2Vf
dGVzdCgoKSA9PiBQcm9taXNlLnJlc29sdmUoKSwgJ2FmdGVyJyk7Ci0gICAgICAgICAgICAgICAg
dGhyb3cgbmV3IEVycm9yKCd0aGlzIGVycm9yIGlzIGV4cGVjdGVkJyk7Ci0gICAgICAgICAgICAg
IH0sIDApOwotICAgICAgICAgICAgfSk7Ci0gICAgICAgICAgfSwgJ2R1cmluZycpOwotICAgICAg
ICB9Ci0gICAgICApLnRoZW4oKHtoYXJuZXNzLCB0ZXN0c30pID0+IHsKLSAgICAgICAgYXNzZXJ0
X2VxdWFscyhoYXJuZXNzLCAnRVJST1InKTsKLSAgICAgICAgYXNzZXJ0X2VxdWFscyh0ZXN0cy5k
dXJpbmcsICdQQVNTJyk7Ci0gICAgICAgIGFzc2VydF9lcXVhbHModGVzdHMuYWZ0ZXIsICdQQVNT
Jyk7Ci0gICAgICB9KTsKLSAgfSwgJ3VuaGFuZGxlZCByZWplY3Rpb24gZHVyaW5nIHByb21pc2Vf
dGVzdCcpOwotCi0gIHByb21pc2VfdGVzdCgoKSA9PiB7Ci0gICAgcmV0dXJuIG1ha2VUZXN0KAot
ICAgICAgICAoKSA9PiB7Ci0gICAgICAgICAgc2V0dXAoeyBleHBsaWNpdF9kb25lOiB0cnVlIH0p
OwotICAgICAgICAgIHRlc3QoKCkgPT4ge30sICdiZWZvcmUnKTsKLSAgICAgICAgICBQcm9taXNl
LnJlamVjdChuZXcgRXJyb3IoJ3RoaXMgZXJyb3IgaXMgZXhwZWN0ZWQnKSk7Ci0gICAgICAgICAg
d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3VuaGFuZGxlZHJlamVjdGlvbicsICgpID0+IHsKLSAg
ICAgICAgICAgIHRlc3QoKCkgPT4ge30sICdhZnRlcicpOwotICAgICAgICAgICAgZG9uZSgpOwot
ICAgICAgICAgIH0pOwotICAgICAgICB9Ci0gICAgICApLnRoZW4oKHtoYXJuZXNzLCB0ZXN0c30p
ID0+IHsKLSAgICAgICAgYXNzZXJ0X2VxdWFscyhoYXJuZXNzLCAnRVJST1InKTsKLSAgICAgICAg
YXNzZXJ0X2VxdWFscyh0ZXN0cy5iZWZvcmUsICdQQVNTJyk7Ci0gICAgICAgIGFzc2VydF90cnVl
KCdhZnRlcicgaW4gdGVzdHMpOwotICAgICAgfSk7Ci0gIH0sICd1bmhhbmRsZWQgcmVqZWN0aW9u
IGJldHdlZW4gdGVzdHMnKTsKLQotICBwcm9taXNlX3Rlc3QoKCkgPT4gewotICAgIHJldHVybiBt
YWtlVGVzdCgKLSAgICAgICAgKCkgPT4gewotICAgICAgICAgIHNldHVwKHsgZXhwbGljaXRfZG9u
ZTogdHJ1ZSB9KTsKLSAgICAgICAgICBhc3luY190ZXN0KCh0KSA9PiBzZXRUaW1lb3V0KHQuZG9u
ZS5iaW5kKHQpLCAwKSwgJ2JlZm9yZScpOwotICAgICAgICAgIFByb21pc2UucmVqZWN0KG5ldyBF
cnJvcigndGhpcyBlcnJvciBpcyBleHBlY3RlZCcpKTsKLSAgICAgICAgICB3aW5kb3cuYWRkRXZl
bnRMaXN0ZW5lcigndW5oYW5kbGVkcmVqZWN0aW9uJywgKCkgPT4gewotICAgICAgICAgICAgYXN5
bmNfdGVzdCgodCkgPT4gc2V0VGltZW91dCh0LmRvbmUuYmluZCh0KSwgMCksICdhZnRlcicpOwot
ICAgICAgICAgICAgZG9uZSgpOwotICAgICAgICAgIH0pOwotICAgICAgICB9Ci0gICAgICApLnRo
ZW4oKHtoYXJuZXNzLCB0ZXN0c30pID0+IHsKLSAgICAgICAgYXNzZXJ0X2VxdWFscyhoYXJuZXNz
LCAnRVJST1InKTsKLSAgICAgICAgYXNzZXJ0X2VxdWFscyh0ZXN0cy5iZWZvcmUsICdQQVNTJyk7
Ci0gICAgICAgIGFzc2VydF9lcXVhbHModGVzdHMuYWZ0ZXIsICdQQVNTJyk7Ci0gICAgICB9KTsK
LSAgfSwgJ3VuaGFuZGxlZCByZWplY3Rpb24gYmV0d2VlbiBhc3luY190ZXN0cycpOwotCi0gIHBy
b21pc2VfdGVzdCgoKSA9PiB7Ci0gICAgcmV0dXJuIG1ha2VUZXN0KAotICAgICAgICAoKSA9PiB7
Ci0gICAgICAgICAgc2V0dXAoeyBleHBsaWNpdF9kb25lOiB0cnVlIH0pOwotICAgICAgICAgIHBy
b21pc2VfdGVzdCgoKSA9PiBQcm9taXNlLnJlc29sdmUoKSwgJ2JlZm9yZScpOwotICAgICAgICAg
IFByb21pc2UucmVqZWN0KG5ldyBFcnJvcigndGhpcyBlcnJvciBpcyBleHBlY3RlZCcpKTsKLSAg
ICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigndW5oYW5kbGVkcmVqZWN0aW9uJywgKCkg
PT4gewotICAgICAgICAgICAgcHJvbWlzZV90ZXN0KCgpID0+IFByb21pc2UucmVzb2x2ZSgpLCAn
YWZ0ZXInKTsKLSAgICAgICAgICAgIGRvbmUoKTsKLSAgICAgICAgICB9KTsKLSAgICAgICAgfQot
ICAgICAgKS50aGVuKCh7aGFybmVzcywgdGVzdHN9KSA9PiB7Ci0gICAgICAgIGFzc2VydF9lcXVh
bHMoaGFybmVzcywgJ0VSUk9SJyk7Ci0gICAgICAgIGFzc2VydF9lcXVhbHModGVzdHMuYmVmb3Jl
LCAnUEFTUycpOwotICAgICAgICBhc3NlcnRfdHJ1ZSgnYWZ0ZXInIGluIHRlc3RzKTsKLSAgICAg
IH0pOwotICB9LCAndW5oYW5kbGVkIHJlamVjdGlvbiBiZXR3ZWVuIHByb21pc2VfdGVzdHMnKTsK
LQotICBwcm9taXNlX3Rlc3QoKCkgPT4gewotICAgIHJldHVybiBtYWtlVGVzdCgKLSAgICAgICAg
KCkgPT4gewotICAgICAgICAgIHRlc3QoKHQpID0+IHsKLSAgICAgICAgICAgIHQuYWRkX2NsZWFu
dXAoKCkgPT4geyB0aHJvdyBuZXcgRXJyb3IoJ3RoaXMgZXJyb3IgaXMgZXhwZWN0ZWQnKTsgfSk7
Ci0gICAgICAgICAgfSwgJ2R1cmluZycpOwotICAgICAgICAgIHRlc3QoKHQpID0+IHt9LCAnYWZ0
ZXInKTsKLSAgICAgICAgfQotICAgICAgKS50aGVuKCh7aGFybmVzcywgdGVzdHN9KSA9PiB7Ci0g
ICAgICAgIGFzc2VydF9lcXVhbHMoaGFybmVzcywgJ0VSUk9SJyk7Ci0gICAgICAgIGFzc2VydF9l
cXVhbHModGVzdHMuZHVyaW5nLCAnUEFTUycpOwotICAgICAgICBhc3NlcnRfZXF1YWxzKHRlc3Rz
LmFmdGVyLCAnTk9UUlVOJyk7Ci0gICAgICB9KTsKLSAgfSwgJ2V4Y2VwdGlvbiBpbiBgYWRkX2Ns
ZWFudXBgIG9mIGEgdGVzdCcpOwotCi19Ci0KLQotcHJvbWlzZV90ZXN0KCgpID0+IHsKLSAgcmV0
dXJuIG1ha2VUZXN0KAotICAgICAgKCkgPT4gewotICAgICAgICBzZXR1cCh7ZXhwbGljaXRfZG9u
ZTogdHJ1ZX0pOwotICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignRE9NQ29udGVudExv
YWRlZCcsICgpID0+IHsKLSAgICAgICAgICBhc3luY190ZXN0KCh0KSA9PiB7Ci0gICAgICAgICAg
ICB0LmFkZF9jbGVhbnVwKCgpID0+IHsKLSAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7
Ci0gICAgICAgICAgICAgICAgYXN5bmNfdGVzdCgodCkgPT4gdC5kb25lKCksICdhZnRlcicpOwot
ICAgICAgICAgICAgICAgIGRvbmUoKTsKLSAgICAgICAgICAgICAgfSwgMCk7Ci0gICAgICAgICAg
ICAgIHRocm93IG5ldyBFcnJvcigndGhpcyBlcnJvciBpcyBleHBlY3RlZCcpOwotICAgICAgICAg
ICAgfSk7Ci0gICAgICAgICAgICBzZXRUaW1lb3V0KHQuZG9uZS5iaW5kKHQpLCAwKTsKLSAgICAg
ICAgICB9LCAnZHVyaW5nJyk7Ci0gICAgICAgIH0pOwotICAgICAgfQotICAgICkudGhlbigoe2hh
cm5lc3MsIHRlc3RzfSkgPT4gewotICAgICAgYXNzZXJ0X2VxdWFscyhoYXJuZXNzLCAnRVJST1In
KTsKLSAgICAgIGFzc2VydF9lcXVhbHModGVzdHMuZHVyaW5nLCAnUEFTUycpOwotICAgICAgYXNz
ZXJ0X2VxdWFscyh0ZXN0cy5hZnRlciwgJ05PVFJVTicpOwotICAgIH0pOwotfSwgJ2V4Y2VwdGlv
biBpbiBgYWRkX2NsZWFudXBgIG9mIGFuIGFzeW5jX3Rlc3QnKTsKLQotcHJvbWlzZV90ZXN0KCgp
ID0+IHsKLSAgcmV0dXJuIG1ha2VUZXN0KAotICAgICAgKCkgPT4gewotICAgICAgICBwcm9taXNl
X3Rlc3QoKHQpID0+IHsKLSAgICAgICAgICB0LmFkZF9jbGVhbnVwKCgpID0+IHsgdGhyb3cgbmV3
IEVycm9yKCd0aGlzIGVycm9yIGlzIGV4cGVjdGVkJyk7IH0pOwotICAgICAgICAgIHJldHVybiBQ
cm9taXNlLnJlc29sdmUoKTsKLSAgICAgICAgfSwgJ3Rlc3QnKTsKLSAgICAgIH0KLSAgICApLnRo
ZW4oKHtoYXJuZXNzLCB0ZXN0c30pID0+IHsKLSAgICAgIGFzc2VydF9lcXVhbHMoaGFybmVzcywg
J0VSUk9SJyk7Ci0gICAgICBhc3NlcnRfZXF1YWxzKHRlc3RzLnRlc3QsICdQQVNTJyk7Ci0gICAg
fSk7Ci19LCAnZXhjZXB0aW9uIGluIGBhZGRfY2xlYW51cGAgb2YgYSBwcm9taXNlX3Rlc3QnKTsK
LQotcHJvbWlzZV90ZXN0KCgpID0+IHsKLSAgcmV0dXJuIG1ha2VUZXN0KAotICAgICAgKCkgPT4g
ewotICAgICAgICBwcm9taXNlX3Rlc3QoKHQpID0+IHsKLSAgICAgICAgICB0LnN0ZXAoKCkgPT4g
ewotICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCd0aGlzIGVycm9yIGlzIGV4cGVjdGVkJyk7
Ci0gICAgICAgICAgfSk7Ci0gICAgICAgIH0sICd0ZXN0Jyk7Ci0gICAgICAgIGFzeW5jX3Rlc3Qo
KHQpID0+IHQuZG9uZSgpLCAnYWZ0ZXInKTsKLSAgICAgIH0KLSAgICApLnRoZW4oKHtoYXJuZXNz
LCB0ZXN0c30pID0+IHsKLSAgICAgIGFzc2VydF9lcXVhbHMoaGFybmVzcywgJ09LJyk7Ci0gICAg
ICBhc3NlcnRfZXF1YWxzKHRlc3RzLnRlc3QsICdGQUlMJyk7Ci0gICAgICBhc3NlcnRfZXF1YWxz
KHRlc3RzLmFmdGVyLCAnUEFTUycpOwotICAgIH0pOwotfSwgJ2V4Y2VwdGlvbiBpbiBgc3RlcGAg
b2YgYW4gYXN5bmNfdGVzdCcpOwotCi1wcm9taXNlX3Rlc3QoKCkgPT4gewotICByZXR1cm4gbWFr
ZVRlc3QoCi0gICAgICAoKSA9PiB7Ci0gICAgICAgIHByb21pc2VfdGVzdCgodCkgPT4gewotICAg
ICAgICAgIHQuc3RlcCgoKSA9PiB7Ci0gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ3RoaXMg
ZXJyb3IgaXMgZXhwZWN0ZWQnKTsKLSAgICAgICAgICB9KTsKLQotICAgICAgICAgIHJldHVybiBu
ZXcgUHJvbWlzZSgoKSA9PiB7fSk7Ci0gICAgICAgIH0sICd0ZXN0Jyk7Ci0KLSAgICAgICAgLy8g
VGhpcyBmb2xsb3dpbmcgdGVzdCBzaG91bGQgYmUgcnVuIHRvIGNvbXBsZXRpb24gZGVzcGl0ZSB0
aGUgZmFjdAotICAgICAgICAvLyB0aGF0IHRoZSBwcm9taXNlIHJldHVybmVkIGJ5IHRoZSBwcmV2
aW91cyB0ZXN0IG5ldmVyIHJlc29sdmVzLgotICAgICAgICBwcm9taXNlX3Rlc3QoKHQpID0+IFBy
b21pc2UucmVzb2x2ZSgpLCAnYWZ0ZXInKTsKLSAgICAgIH0KLSAgICApLnRoZW4oKHtoYXJuZXNz
LCB0ZXN0c30pID0+IHsKLSAgICAgIGFzc2VydF9lcXVhbHMoaGFybmVzcywgJ09LJyk7Ci0gICAg
ICBhc3NlcnRfZXF1YWxzKHRlc3RzLnRlc3QsICdGQUlMJyk7Ci0gICAgICBhc3NlcnRfZXF1YWxz
KHRlc3RzLmFmdGVyLCAnUEFTUycpOwotICAgIH0pOwotfSwgJ2V4Y2VwdGlvbiBpbiBgc3RlcGAg
b2YgYSBwcm9taXNlX3Rlc3QnKTsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvdGVzdC90ZXN0cy91bml0L2Zvcm1hdC12YWx1ZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy91bml0L2Zvcm1h
dC12YWx1ZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxM2QwMWI4MWYzNS4u
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy91bml0L2Zvcm1hdC12YWx1ZS5odG1sCisrKyAvZGV2
L251bGwKQEAgLTEsMTIzICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4K
LSAgPHRpdGxlPmZvcm1hdF92YWx1ZSB1dGlsaXR5IGZ1bmN0aW9uPC90aXRsZT4KLSAgPG1ldGEg
Y2hhcnNldD0idXRmLTgiPgotPC9oZWFkPgotPGJvZHk+Ci08ZGl2IGlkPSJsb2ciPjwvZGl2Pgot
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlw
dD4KLSJ1c2Ugc3RyaWN0IjsKLQotdGVzdChmdW5jdGlvbigpIHsKLSAgYXNzZXJ0X2VxdWFscyhm
b3JtYXRfdmFsdWUobnVsbCksICJudWxsIik7Ci19LCAibnVsbCIpOwotCi10ZXN0KGZ1bmN0aW9u
KCkgewotICBhc3NlcnRfZXF1YWxzKGZvcm1hdF92YWx1ZSh1bmRlZmluZWQpLCAidW5kZWZpbmVk
Iik7Ci19LCAidW5kZWZpbmVkIik7Ci0KLXRlc3QoZnVuY3Rpb24oKSB7Ci0gIGFzc2VydF9lcXVh
bHMoZm9ybWF0X3ZhbHVlKHRydWUpLCAidHJ1ZSIpOwotICBhc3NlcnRfZXF1YWxzKGZvcm1hdF92
YWx1ZShmYWxzZSksICJmYWxzZSIpOwotfSwgImJvb2xlYW4gdmFsdWVzIik7Ci0KLXRlc3QoZnVu
Y3Rpb24oKSB7Ci0gIGFzc2VydF9lcXVhbHMoZm9ybWF0X3ZhbHVlKDAuNCksICIwLjQiKTsKLSAg
YXNzZXJ0X2VxdWFscyhmb3JtYXRfdmFsdWUoMCksICIwIik7Ci0gIGFzc2VydF9lcXVhbHMoZm9y
bWF0X3ZhbHVlKC0wKSwgIi0wIik7Ci19LCAibnVtYmVyIHZhbHVlcyIpOwotCi10ZXN0KGZ1bmN0
aW9uKCkgewotICBhc3NlcnRfZXF1YWxzKGZvcm1hdF92YWx1ZSgiYSBzdHJpbmciKSwgIlwiYSBz
dHJpbmdcIiIpOwotICBhc3NlcnRfZXF1YWxzKGZvcm1hdF92YWx1ZSgibmV3XG5saW5lIiksICJc
Im5ld1xcbmxpbmVcIiIpOwotfSwgInN0cmluZyB2YWx1ZXMiKTsKLQotdGVzdChmdW5jdGlvbigp
IHsKLSAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIik7Ci0gIG5vZGUu
c2V0QXR0cmlidXRlKCJkYXRhLWZvbyIsICJiYXIiKTsKLSAgYXNzZXJ0X3RydWUoCi0gICAgLzxz
cGFuXGIvaS50ZXN0KGZvcm1hdF92YWx1ZShub2RlKSksICJlbGVtZW50IGluY2x1ZGVzIHRhZyBu
YW1lIgotICApOwotICBhc3NlcnRfdHJ1ZSgKLSAgICAvZGF0YS1mb289WyInXT9iYXJbIiddPy9p
LnRlc3QoZm9ybWF0X3ZhbHVlKG5vZGUpKSwKLSAgICAiZWxlbWVudCBpbmNsdWRlcyBhdHRyaWJ1
dGVzIgotICApOwotfSwgIm5vZGUgdmFsdWU6IGVsZW1lbnQgbm9kZSIpOwotCi10ZXN0KGZ1bmN0
aW9uKCkgewotICB2YXIgdGV4dCA9IGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCJ3cHQiKTsKLSAg
YXNzZXJ0X2VxdWFscyhmb3JtYXRfdmFsdWUodGV4dCksICJUZXh0IG5vZGUgXCJ3cHRcIiIpOwot
fSwgIm5vZGUgdmFsdWU6IHRleHQgbm9kZSIpOwotCi10ZXN0KGZ1bmN0aW9uKCkgewotICB2YXIg
bm9kZSA9IGRvY3VtZW50LmNyZWF0ZVByb2Nlc3NpbmdJbnN0cnVjdGlvbigid3B0MSIsICJ3cHQy
Iik7Ci0gIGFzc2VydF9lcXVhbHMoCi0gICAgZm9ybWF0X3ZhbHVlKG5vZGUpLAotICAgICJQcm9j
ZXNzaW5nSW5zdHJ1Y3Rpb24gbm9kZSB3aXRoIHRhcmdldCBcIndwdDFcIiBhbmQgZGF0YSBcIndw
dDJcIiIKLSAgKTsKLX0sICJub2RlIHZhbHVlOiBQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24gbm9kZSIp
OwotCi10ZXN0KGZ1bmN0aW9uKCkgewotICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUNvbW1l
bnQoIndwdCIpOwotICBhc3NlcnRfZXF1YWxzKGZvcm1hdF92YWx1ZShub2RlKSwgIkNvbW1lbnQg
bm9kZSA8IS0td3B0LS0+Iik7Ci19LCAibm9kZSB2YWx1ZTogY29tbWVudCBub2RlIik7Ci0KLXRl
c3QoZnVuY3Rpb24oKSB7Ci0gIHZhciBub2RlID0gZG9jdW1lbnQuaW1wbGVtZW50YXRpb24uY3Jl
YXRlRG9jdW1lbnQoCi0gICAgImFwcGxpY2F0aW9uL3hodG1sK3htbCIsICIiLCBudWxsCi0gICk7
Ci0KLSAgYXNzZXJ0X2VxdWFscyhmb3JtYXRfdmFsdWUobm9kZSksICJEb2N1bWVudCBub2RlIHdp
dGggMCBjaGlsZHJlbiIpOwotCi0gIG5vZGUuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgnaHRtbCcpKTsKLQotICBhc3NlcnRfZXF1YWxzKGZvcm1hdF92YWx1ZShub2RlKSwgIkRv
Y3VtZW50IG5vZGUgd2l0aCAxIGNoaWxkIik7Ci19LCAibm9kZSB2YWx1ZTogZG9jdW1lbnQgbm9k
ZSIpOwotCi10ZXN0KGZ1bmN0aW9uKCkgewotICB2YXIgbm9kZSA9IGRvY3VtZW50LmltcGxlbWVu
dGF0aW9uLmNyZWF0ZURvY3VtZW50VHlwZSgiZm9vIiwgImJheiIsICJiYXoiKTsKLQotICBhc3Nl
cnRfZXF1YWxzKGZvcm1hdF92YWx1ZShub2RlKSwgIkRvY3VtZW50VHlwZSBub2RlIik7Ci19LCAi
bm9kZSB2YWx1ZTogRG9jdW1lbnRUeXBlIG5vZGUiKTsKLQotdGVzdChmdW5jdGlvbigpIHsKLSAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCk7Ci0KLSAgYXNzZXJ0
X2VxdWFscyhmb3JtYXRfdmFsdWUobm9kZSksICJEb2N1bWVudEZyYWdtZW50IG5vZGUgd2l0aCAw
IGNoaWxkcmVuIik7Ci0KLSAgbm9kZS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJzcGFuIikpOwotCi0gIGFzc2VydF9lcXVhbHMoZm9ybWF0X3ZhbHVlKG5vZGUpLCAiRG9jdW1l
bnRGcmFnbWVudCBub2RlIHdpdGggMSBjaGlsZCIpOwotCi0gIG5vZGUuYXBwZW5kQ2hpbGQoZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpKTsKLQotICBhc3NlcnRfZXF1YWxzKGZvcm1hdF92
YWx1ZShub2RlKSwgIkRvY3VtZW50RnJhZ21lbnQgbm9kZSB3aXRoIDIgY2hpbGRyZW4iKTsKLX0s
ICJub2RlIHZhbHVlOiBEb2N1bWVudEZyYWdtZW50IG5vZGUiKTsKLQotdGVzdChmdW5jdGlvbigp
IHsKLSAgYXNzZXJ0X2VxdWFscyhmb3JtYXRfdmFsdWUoU3ltYm9sKCJ3cHQiKSksICJzeW1ib2wg
XCJTeW1ib2wod3B0KVwiIik7Ci19LCAic3ltYm9sIHZhbHVlIik7Ci0KLXRlc3QoZnVuY3Rpb24o
KSB7Ci0gYXNzZXJ0X2VxdWFscyhmb3JtYXRfdmFsdWUoW10pLCAiW10iKTsKLSBhc3NlcnRfZXF1
YWxzKGZvcm1hdF92YWx1ZShbIm9uZSJdKSwgIltcIm9uZVwiXSIpOwotIGFzc2VydF9lcXVhbHMo
Zm9ybWF0X3ZhbHVlKFsib25lIiwgInR3byJdKSwgIltcIm9uZVwiLCBcInR3b1wiXSIpOwotfSwg
ImFycmF5IHZhbHVlcyIpOwotCi10ZXN0KGZ1bmN0aW9uKCkgewotICB2YXIgb2JqID0gewotICAg
IHRvU3RyaW5nOiBmdW5jdGlvbigpIHsKLSAgICAgIHRocm93ICJ3cHQiOwotICAgIH0KLSAgfTsK
LQotICBhc3NlcnRfZXF1YWxzKAotICAgIGZvcm1hdF92YWx1ZShvYmopLCAiW3N0cmluZ2lmeWlu
ZyBvYmplY3QgdGhyZXcgd3B0IHdpdGggdHlwZSBzdHJpbmddIgotICApOwotfSwgIm9iamVjdCB2
YWx1ZSB3aXRoIGZhdWx0eSBgdG9TdHJpbmdgIik7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvdW5pdC9sYXRlLXRlc3QuaHRtbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvdW5p
dC9sYXRlLXRlc3QuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjkzZDdlM2M4
MTguLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvdW5pdC9sYXRlLXRlc3QuaHRtbAorKysgL2Rl
di9udWxsCkBAIC0xLDU0ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4K
LTx0aXRsZT5UZXN0IGRlY2xhcmVkIGFmdGVyIGhhcm5lc3MgY29tcGxldGlvbjwvdGl0bGU+Ci08
L2hlYWQ+Ci08Ym9keT4KLTxkaXYgaWQ9ImxvZyI+PC9kaXY+Ci08c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08cD5UaGlzIHRlc3Qgc2ltdWxhdGVzIGFu
IGF1dG9tYXRlZCB0ZXN0IHJ1bm5pbmcgc2NlbmFyaW8sIHdoZXJlIHRoZSB0ZXN0Ci1yZXN1bHRz
IGVtaXR0ZWQgYnkgdGVzdGhhcm5lc3MuanMgbWF5IGJlIGludGVycHJldGVkIGFmdGVyIHNvbWUg
ZGVsYXkuIEl0IGlzCi1pbnRlbmRlZCB0byBkZW1vbnN0cmF0ZSB0aGF0IGluIHN1Y2ggY2FzZXMs
IGFueSBhZGRpdGlvbmFsIHRlc3RzIHdoaWNoIGFyZQotZXhlY3V0ZWQgZHVyaW5nIHRoYXQgZGVs
YXkgYXJlIDxlbT5ub3Q8L2VtPiBpbmNsdWRlZCBpbiB0aGUgZGF0YXNldC48L3A+Ci0KLTxwPkFs
dGhvdWdoIHRoZXNlICJsYXRlIiB0ZXN0cyBhcmUgbGlrZWx5IGFuIGluZGljYXRpb24gb2YgYSBt
aXN0YWtlIGluIHRlc3QKLWRlc2lnbiwgdGhleSBjYW5ub3QgYmUgZGV0ZWN0ZWQgZGV0ZXJtaW5p
c3RpY2FsbHksIHNvIGluIHRoZSBpbnRlcmVzdCBvZgotc3RhYmlsaXR5LCB0aGV5IHNob3VsZCBi
ZSBzaWxlbnRseSB0b2xlcmF0ZWQuPC9wPgotPHNjcmlwdD4KLWFzeW5jX3Rlc3QoZnVuY3Rpb24o
dCkgewotICAgIHZhciBzb3VyY2UgPSBbCi0gICAgICAgICI8ZGl2IGlkPSdsb2cnPjwvZGl2PiIs
Ci0gICAgICAgICI8c2NyaXB0IHNyYz0nL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyc+PC8iICsg
InNjcmlwdD4iLAotICAgICAgICAiPHNjcmlwdCBzcmM9Jy9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMnPjwvIiArICJzY3JpcHQ+IiwKLSAgICAgICAgIjxzY3JpcHQ+IiwKLSAgICAgICAg
InBhcmVudC5jaGlsZFJlYWR5KHdpbmRvdyk7IiwKLSAgICAgICAgInNldHVwKHsgZXhwbGljaXRf
ZG9uZTogdHJ1ZSB9KTsiLAotICAgICAgICAidGVzdChmdW5jdGlvbigpIHt9LCAnYWNjZXB0YWJs
ZSB0ZXN0Jyk7IiwKLSAgICAgICAgIm9ubG9hZCA9IGZ1bmN0aW9uKCkgeyIsCi0gICAgICAgICIg
IGRvbmUoKTsiLAotICAgICAgICAiICB0ZXN0KGZ1bmN0aW9uKCkge30sICd0aGlzIHRlc3QgaXMg
bGF0ZSBhbmQgc2hvdWxkIGJlIGlnbm9yZWQnKTsiLAotICAgICAgICAifTsiLAotICAgICAgICAi
PC8iICsgInNjcmlwdD4iCi0gICAgXS5qb2luKCJcbiIpOwotICAgIHZhciBpZnJhbWUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKTsKLQotICAgIGRvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQoaWZyYW1lKTsKLSAgICB3aW5kb3cuY2hpbGRSZWFkeSA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKGNoaWxkV2luZG93KSB7Ci0gICAgICAgIGNoaWxkV2luZG93LmFkZF9jb21wbGV0aW9uX2Nh
bGxiYWNrKHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHRlc3RzLCBzdGF0dXMpIHsKLSAgICAgICAgICAg
IHQuc3RlcF90aW1lb3V0KHQuc3RlcF9mdW5jKGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAg
IGFzc2VydF9lcXVhbHModGVzdHMubGVuZ3RoLCAxKTsKLSAgICAgICAgICAgICAgICBhc3NlcnRf
ZXF1YWxzKHRlc3RzWzBdLm5hbWUsICJhY2NlcHRhYmxlIHRlc3QiKTsKLSAgICAgICAgICAgICAg
ICBhc3NlcnRfZXF1YWxzKHN0YXR1cy5zdGF0dXMsIHN0YXR1cy5PSyk7Ci0gICAgICAgICAgICAg
ICAgdC5kb25lKCk7Ci0gICAgICAgICAgICB9KSwgMCk7Ci0gICAgICAgIH0pKTsKLSAgICB9KTsK
LQotICAgIGlmcmFtZS5jb250ZW50RG9jdW1lbnQub3BlbigpOwotICAgIGlmcmFtZS5jb250ZW50
RG9jdW1lbnQud3JpdGUoc291cmNlKTsKLSAgICBpZnJhbWUuY29udGVudERvY3VtZW50LmNsb3Nl
KCk7Ci19KTsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0
cy91bml0L3Byb21pc2Vfc2V0dXAtdGltZW91dC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy91bml0L3Byb21pc2Vf
c2V0dXAtdGltZW91dC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjNDk0N2Zl
ZWY0Mi4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy91bml0L3Byb21pc2Vfc2V0dXAtdGltZW91
dC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMjggKzAsMCBAQAotPCFET0NUWVBFIEhUTUw+Ci08
aHRtbD4KLTxoZWFkPgotICA8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Ci0gIDxtZXRhIG5hbWU9InRp
bWVvdXQiIGNvbnRlbnQ9ImxvbmciPgotICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+Ci0gIDxzY3JpcHQgc3JjPSIuLi8uLi9uZXN0ZWQtdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0PgotICA8dGl0bGU+cHJvbWlzZV9zZXR1cCAtIHRpbWVvdXQ8L3RpdGxl
PgotPC9oZWFkPgotPGJvZHk+Ci08c2NyaXB0PgotJ3VzZSBzdHJpY3QnOwotcHJvbWlzZV90ZXN0
KCgpID0+IHsKLSAgcmV0dXJuIG1ha2VUZXN0KAotICAgICAgKCkgPT4gewotICAgICAgICB0ZXN0
KCgpID0+IHt9LCAnYmVmb3JlJyk7Ci0gICAgICAgIHByb21pc2Vfc2V0dXAoKCkgPT4gbmV3IFBy
b21pc2UoKCkgPT4ge30pKTsKLSAgICAgICAgcHJvbWlzZV90ZXN0KCgpID0+IFByb21pc2UucmVz
b2x2ZSgpLCAnYWZ0ZXInKTsKLSAgICAgIH0KLSAgICApLnRoZW4oKHtoYXJuZXNzLCB0ZXN0c30p
ID0+IHsKLSAgICAgIGFzc2VydF9lcXVhbHMoaGFybmVzcywgJ1RJTUVPVVQnKTsKLSAgICAgIGFz
c2VydF9lcXVhbHModGVzdHMuYmVmb3JlLCAnUEFTUycpOwotICAgICAgYXNzZXJ0X2VxdWFscyh0
ZXN0cy5hZnRlciwgJ05PVFJVTicpOwotICAgIH0pOwotfSwgJ3RpbWVvdXQgd2hlbiByZXR1cm5l
ZCBwcm9taXNlIGRvZXMgbm90IHNldHRsZScpOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy90ZXN0L3Rlc3RzL3VuaXQvcHJvbWlzZV9zZXR1cC5odG1sIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy91
bml0L3Byb21pc2Vfc2V0dXAuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMmFi
YjEwYTQ3NmUuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvdW5pdC9wcm9taXNlX3NldHVwLmh0
bWwKKysrIC9kZXYvbnVsbApAQCAtMSwzMzMgKzAsMCBAQAotPCFET0NUWVBFIEhUTUw+Ci08aHRt
bD4KLTxoZWFkPgotICA8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Ci0gIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLSAgPHNjcmlwdCBzcmM9Ii4uLy4uL25l
c3RlZC10ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci0gIDx0aXRsZT5wcm9taXNlX3NldHVwPC90
aXRsZT4KLTwvaGVhZD4KLTxib2R5PgotPHNjcmlwdD4KLSd1c2Ugc3RyaWN0JzsKLXByb21pc2Vf
dGVzdCgoKSA9PiB7Ci0gIHJldHVybiBtYWtlVGVzdCgKLSAgICAgICgpID0+IHsKLSAgICAgICAg
Ly8gRW5zdXJlIHRoYXQgdGhlIGhhcm5lc3MgZXJyb3IgaXMgdGhlIHJlc3VsdCBvZiBleHBsaWNp
dCBlcnJvcgotICAgICAgICAvLyBoYW5kbGluZwotICAgICAgICBzZXR1cCh7IGFsbG93X3VuY2F1
Z2h0X2V4Y2VwdGlvbjogdHJ1ZSB9KTsKLQotICAgICAgICB0ZXN0KCgpID0+IHt9LCAnYmVmb3Jl
Jyk7Ci0gICAgICAgIHByb21pc2Vfc2V0dXAoe30pOwotICAgICAgICBwcm9taXNlX3Rlc3QoKCkg
PT4gUHJvbWlzZS5yZXNvbHZlKCksICdhZnRlcicpOwotICAgICAgfQotICAgICkudGhlbigoe2hh
cm5lc3MsIHRlc3RzfSkgPT4gewotICAgICAgYXNzZXJ0X2VxdWFscyhoYXJuZXNzLCAnRVJST1In
KTsKLSAgICAgIGFzc2VydF9lcXVhbHModGVzdHMuYmVmb3JlLCAnUEFTUycpOwotICAgICAgYXNz
ZXJ0X2VxdWFscyh0ZXN0cy5hZnRlciwgdW5kZWZpbmVkKTsKLSAgICB9KTsKLX0sICdFcnJvciB3
aGVuIG5vIGZ1bmN0aW9uIHByb3ZpZGVkJyk7Ci0KLXByb21pc2VfdGVzdCgoKSA9PiB7Ci0gIHJl
dHVybiBtYWtlVGVzdCgKLSAgICAgICgpID0+IHsKLSAgICAgICAgdGVzdCgoKSA9PiB7fSwgJ2Jl
Zm9yZScpOwotICAgICAgICBwcm9taXNlX3NldHVwKCgpID0+IFByb21pc2UucmVzb2x2ZSgpLCB7
fSk7Ci0gICAgICAgIHByb21pc2VfdGVzdCgoKSA9PiBQcm9taXNlLnJlc29sdmUoKSwgJ2FmdGVy
Jyk7Ci0gICAgICAgIHRocm93IG5ldyBFcnJvcigndGhpcyBlcnJvciBpcyBleHBlY3RlZCcpOwot
ICAgICAgfQotICAgICkudGhlbigoe2hhcm5lc3MsIHRlc3RzfSkgPT4gewotICAgICAgYXNzZXJ0
X2VxdWFscyhoYXJuZXNzLCAnRVJST1InKTsKLSAgICAgIGFzc2VydF9lcXVhbHModGVzdHMuYmVm
b3JlLCAnUEFTUycpOwotICAgICAgYXNzZXJ0X2VxdWFscyh0ZXN0cy5hZnRlciwgJ1BBU1MnKTsK
LSAgICB9KTsKLX0sICdEb2VzIG5vdCBhcHBseSB1bnNwZWNpZmllZCBjb25maWd1cmF0aW9uIHBy
b3BlcnRpZXMnKTsKLQotcHJvbWlzZV90ZXN0KCgpID0+IHsKLSAgcmV0dXJuIG1ha2VUZXN0KAot
ICAgICAgKCkgPT4gewotICAgICAgICB2YXIgcHJvcGVydGllcyA9IHsKLSAgICAgICAgICBhbGxv
d191bmNhdWdodF9leGNlcHRpb246IHRydWUKLSAgICAgICAgfTsKLSAgICAgICAgdGVzdCgoKSA9
PiB7fSwgJ2JlZm9yZScpOwotICAgICAgICBwcm9taXNlX3NldHVwKCgpID0+IFByb21pc2UucmVz
b2x2ZSgpLCBwcm9wZXJ0aWVzKTsKLSAgICAgICAgcHJvbWlzZV90ZXN0KCgpID0+IFByb21pc2Uu
cmVzb2x2ZSgpLCAnYWZ0ZXInKTsKLSAgICAgICAgdGhyb3cgbmV3IEVycm9yKCd0aGlzIGVycm9y
IGlzIGV4cGVjdGVkJyk7Ci0gICAgICB9Ci0gICAgKS50aGVuKCh7aGFybmVzcywgdGVzdHN9KSA9
PiB7Ci0gICAgICBhc3NlcnRfZXF1YWxzKGhhcm5lc3MsICdFUlJPUicpOwotICAgICAgYXNzZXJ0
X2VxdWFscyh0ZXN0cy5iZWZvcmUsICdQQVNTJyk7Ci0gICAgICBhc3NlcnRfZXF1YWxzKHRlc3Rz
LmFmdGVyLCAnUEFTUycpOwotICAgIH0pOwotfSwgJ0lnbm9yZXMgY29uZmlndXJhdGlvbiBwcm9w
ZXJ0aWVzIHdoZW4gc29tZSB0ZXN0cyBoYXZlIGFscmVhZHkgcnVuJyk7Ci0KLXByb21pc2VfdGVz
dCgoKSA9PiB7Ci0gIHJldHVybiBtYWtlVGVzdCgKLSAgICAgICgpID0+IHsKLSAgICAgICAgdmFy
IHByb3BlcnRpZXMgPSB7Ci0gICAgICAgICAgYWxsb3dfdW5jYXVnaHRfZXhjZXB0aW9uOiB0cnVl
Ci0gICAgICAgIH07Ci0gICAgICAgIHByb21pc2Vfc2V0dXAoKCkgPT4gUHJvbWlzZS5yZXNvbHZl
KCksIHByb3BlcnRpZXMpOwotICAgICAgICBwcm9taXNlX3Rlc3QoKCkgPT4gewotICAgICAgICAg
IHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4gewotICAgICAgICAgICAgc2V0VGltZW91
dCgoKSA9PiB7Ci0gICAgICAgICAgICAgIHJlc29sdmUoKTsKLSAgICAgICAgICAgICAgdGhyb3cg
bmV3IEVycm9yKCd0aGlzIGVycm9yIGlzIGV4cGVjdGVkJyk7Ci0gICAgICAgICAgICB9KTsKLSAg
ICAgICAgICB9KTsKLSAgICAgICAgfSwgJ2FmdGVyJyk7Ci0gICAgICB9Ci0gICAgKS50aGVuKCh7
aGFybmVzcywgdGVzdHN9KSA9PiB7Ci0gICAgICBhc3NlcnRfZXF1YWxzKGhhcm5lc3MsICdPSycp
OwotICAgICAgYXNzZXJ0X2VxdWFscyh0ZXN0cy5hZnRlciwgJ1BBU1MnKTsKLSAgICB9KTsKLX0s
ICdIb25vcnMgY29uZmlndXJhdGlvbiBwcm9wZXJ0aWVzJyk7Ci0KLXByb21pc2VfdGVzdCgoKSA9
PiB7Ci0gIHJldHVybiBtYWtlVGVzdCgKLSAgICAgICgpID0+IHsKLSAgICAgICAgLy8gRW5zdXJl
IHRoYXQgdGhlIGhhcm5lc3MgZXJyb3IgaXMgdGhlIHJlc3VsdCBvZiBleHBsaWNpdCBlcnJvcgot
ICAgICAgICAvLyBoYW5kbGluZwotICAgICAgICBzZXR1cCh7IGFsbG93X3VuY2F1Z2h0X2V4Y2Vw
dGlvbjogdHJ1ZSB9KTsKLQotICAgICAgICB0ZXN0KCgpID0+IHt9LCAnYmVmb3JlJyk7Ci0gICAg
ICAgIHByb21pc2Vfc2V0dXAoKCkgPT4geyB0aHJvdyBuZXcgRXJyb3IoJ3RoaXMgZXJyb3IgaXMg
ZXhwZWN0ZWQnKTsgfSk7Ci0gICAgICAgIHByb21pc2VfdGVzdCgoKSA9PiBQcm9taXNlLnJlc29s
dmUoKSwgJ2FmdGVyJyk7Ci0gICAgICB9Ci0gICAgKS50aGVuKCh7aGFybmVzcywgdGVzdHN9KSA9
PiB7Ci0gICAgICBhc3NlcnRfZXF1YWxzKGhhcm5lc3MsICdFUlJPUicpOwotICAgICAgYXNzZXJ0
X2VxdWFscyh0ZXN0cy5iZWZvcmUsICdQQVNTJyk7Ci0gICAgICBhc3NlcnRfZXF1YWxzKHRlc3Rz
LmFmdGVyLCAnTk9UUlVOJyk7Ci0gICAgfSk7Ci19LCAnRXJyb3IgZm9yIHN5bmNocm9ub3VzIGV4
Y2VwdGlvbnMnKTsKLQotcHJvbWlzZV90ZXN0KCgpID0+IHsKLSAgcmV0dXJuIG1ha2VUZXN0KAot
ICAgICAgKCkgPT4gewotICAgICAgICAvLyBFbnN1cmUgdGhhdCB0aGUgaGFybmVzcyBlcnJvciBp
cyB0aGUgcmVzdWx0IG9mIGV4cGxpY2l0IGVycm9yCi0gICAgICAgIC8vIGhhbmRsaW5nCi0gICAg
ICAgIHNldHVwKHsgYWxsb3dfdW5jYXVnaHRfZXhjZXB0aW9uOiB0cnVlIH0pOwotCi0gICAgICAg
IHRlc3QoKCkgPT4ge30sICdiZWZvcmUnKTsKLSAgICAgICAgcHJvbWlzZV9zZXR1cCgoKSA9PiB1
bmRlZmluZWQpOwotICAgICAgICBwcm9taXNlX3Rlc3QoKCkgPT4gUHJvbWlzZS5yZXNvbHZlKCks
ICdhZnRlcicpOwotICAgICAgfQotICAgICkudGhlbigoe2hhcm5lc3MsIHRlc3RzfSkgPT4gewot
ICAgICAgYXNzZXJ0X2VxdWFscyhoYXJuZXNzLCAnRVJST1InKTsKLSAgICAgIGFzc2VydF9lcXVh
bHModGVzdHMuYmVmb3JlLCAnUEFTUycpOwotICAgICAgYXNzZXJ0X2VxdWFscyh0ZXN0cy5hZnRl
ciwgJ05PVFJVTicpOwotICAgIH0pOwotfSwgJ0Vycm9yIGZvciBtaXNzaW5nIHJldHVybiB2YWx1
ZScpOwotCi1wcm9taXNlX3Rlc3QoKCkgPT4gewotICByZXR1cm4gbWFrZVRlc3QoCi0gICAgICAo
KSA9PiB7Ci0gICAgICAgIC8vIEVuc3VyZSB0aGF0IHRoZSBoYXJuZXNzIGVycm9yIGlzIHRoZSBy
ZXN1bHQgb2YgZXhwbGljaXQgZXJyb3IKLSAgICAgICAgLy8gaGFuZGxpbmcKLSAgICAgICAgc2V0
dXAoeyBhbGxvd191bmNhdWdodF9leGNlcHRpb246IHRydWUgfSk7Ci0KLSAgICAgICAgdGVzdCgo
KSA9PiB7fSwgJ2JlZm9yZScpOwotICAgICAgICB2YXIgbm9UaGVuID0gUHJvbWlzZS5yZXNvbHZl
KCk7Ci0gICAgICAgIG5vVGhlbi50aGVuID0gdW5kZWZpbmVkOwotICAgICAgICBwcm9taXNlX3Nl
dHVwKCgpID0+IG5vVGhlbik7Ci0gICAgICAgIHByb21pc2VfdGVzdCgoKSA9PiBQcm9taXNlLnJl
c29sdmUoKSwgJ2FmdGVyJyk7Ci0gICAgICB9Ci0gICAgKS50aGVuKCh7aGFybmVzcywgdGVzdHN9
KSA9PiB7Ci0gICAgICBhc3NlcnRfZXF1YWxzKGhhcm5lc3MsICdFUlJPUicpOwotICAgICAgYXNz
ZXJ0X2VxdWFscyh0ZXN0cy5iZWZvcmUsICdQQVNTJyk7Ci0gICAgICBhc3NlcnRfZXF1YWxzKHRl
c3RzLmFmdGVyLCAnTk9UUlVOJyk7Ci0gICAgfSk7Ci19LCAnRXJyb3IgZm9yIG5vbi10aGVuYWJs
ZSByZXR1cm4gdmFsdWUnKTsKLQotcHJvbWlzZV90ZXN0KCgpID0+IHsKLSAgcmV0dXJuIG1ha2VU
ZXN0KAotICAgICAgKCkgPT4gewotICAgICAgICAvLyBFbnN1cmUgdGhhdCB0aGUgaGFybmVzcyBl
cnJvciBpcyB0aGUgcmVzdWx0IG9mIGV4cGxpY2l0IGVycm9yCi0gICAgICAgIC8vIGhhbmRsaW5n
Ci0gICAgICAgIHNldHVwKHsgYWxsb3dfdW5jYXVnaHRfZXhjZXB0aW9uOiB0cnVlIH0pOwotCi0g
ICAgICAgIHRlc3QoKCkgPT4ge30sICdiZWZvcmUnKTsKLSAgICAgICAgdmFyIHBvaXNvbmVkVGhl
biA9IHsKLSAgICAgICAgICBnZXQgdGhlbigpIHsKLSAgICAgICAgICAgIHRocm93IG5ldyBFcnJv
cigndGhpcyBlcnJvciBpcyBleHBlY3RlZCcpOwotICAgICAgICAgIH0KLSAgICAgICAgfTsKLSAg
ICAgICAgcHJvbWlzZV9zZXR1cCgoKSA9PiBwb2lzb25lZFRoZW4pOwotICAgICAgICBwcm9taXNl
X3Rlc3QoKCkgPT4gUHJvbWlzZS5yZXNvbHZlKCksICdhZnRlcicpOwotICAgICAgfQotICAgICku
dGhlbigoe2hhcm5lc3MsIHRlc3RzfSkgPT4gewotICAgICAgYXNzZXJ0X2VxdWFscyhoYXJuZXNz
LCAnRVJST1InKTsKLSAgICAgIGFzc2VydF9lcXVhbHModGVzdHMuYmVmb3JlLCAnUEFTUycpOwot
ICAgICAgYXNzZXJ0X2VxdWFscyh0ZXN0cy5hZnRlciwgJ05PVFJVTicpOwotICAgIH0pOwotfSwg
J0Vycm9yIGZvciAicG9pc29uZWQiIGB0aGVuYCBwcm9wZXJ0eScpOwotCi1wcm9taXNlX3Rlc3Qo
KCkgPT4gewotICByZXR1cm4gbWFrZVRlc3QoCi0gICAgICAoKSA9PiB7Ci0gICAgICAgIC8vIEVu
c3VyZSB0aGF0IHRoZSBoYXJuZXNzIGVycm9yIGlzIHRoZSByZXN1bHQgb2YgZXhwbGljaXQgZXJy
b3IKLSAgICAgICAgLy8gaGFuZGxpbmcKLSAgICAgICAgc2V0dXAoeyBhbGxvd191bmNhdWdodF9l
eGNlcHRpb246IHRydWUgfSk7Ci0KLSAgICAgICAgdGVzdCgoKSA9PiB7fSwgJ2JlZm9yZScpOwot
ICAgICAgICB2YXIgYmFkVGhlbiA9IHsKLSAgICAgICAgICB0aGVuKCkgewotICAgICAgICAgICAg
dGhyb3cgbmV3IEVycm9yKCd0aGlzIGVycm9yIGlzIGV4cGVjdGVkJyk7Ci0gICAgICAgICAgfQot
ICAgICAgICB9OwotICAgICAgICBwcm9taXNlX3NldHVwKCgpID0+IGJhZFRoZW4pOwotICAgICAg
ICBwcm9taXNlX3Rlc3QoKCkgPT4gUHJvbWlzZS5yZXNvbHZlKCksICdhZnRlcicpOwotICAgICAg
fQotICAgICkudGhlbigoe2hhcm5lc3MsIHRlc3RzfSkgPT4gewotICAgICAgYXNzZXJ0X2VxdWFs
cyhoYXJuZXNzLCAnRVJST1InKTsKLSAgICAgIGFzc2VydF9lcXVhbHModGVzdHMuYmVmb3JlLCAn
UEFTUycpOwotICAgICAgYXNzZXJ0X2VxdWFscyh0ZXN0cy5hZnRlciwgJ05PVFJVTicpOwotICAg
IH0pOwotfSwgJ0Vycm9yIGZvciBzeW5jaHJvbm91cyBlcnJvciBmcm9tIGB0aGVuYCBtZXRob2Qn
KTsKLQotcHJvbWlzZV90ZXN0KCgpID0+IHsKLSAgcmV0dXJuIG1ha2VUZXN0KAotICAgICAgKCkg
PT4gewotICAgICAgICAvLyBFbnN1cmUgdGhhdCB0aGUgaGFybmVzcyBlcnJvciBpcyB0aGUgcmVz
dWx0IG9mIGV4cGxpY2l0IGVycm9yCi0gICAgICAgIC8vIGhhbmRsaW5nCi0gICAgICAgIHNldHVw
KHsgYWxsb3dfdW5jYXVnaHRfZXhjZXB0aW9uOiB0cnVlIH0pOwotCi0gICAgICAgIHRlc3QoKCkg
PT4ge30sICdiZWZvcmUnKTsKLSAgICAgICAgcHJvbWlzZV9zZXR1cCgoKSA9PiBQcm9taXNlLnJl
c29sdmUoKSk7Ci0gICAgICAgIHRlc3QoKCkgPT4ge30sICdhZnRlcicpOwotICAgICAgfQotICAg
ICkudGhlbigoe2hhcm5lc3MsIHRlc3RzfSkgPT4gewotICAgICAgYXNzZXJ0X2VxdWFscyhoYXJu
ZXNzLCAnRVJST1InKTsKLSAgICAgIGFzc2VydF9lcXVhbHModGVzdHMuYmVmb3JlLCAnUEFTUycp
OwotICAgICAgYXNzZXJ0X2VxdWFscyh0ZXN0cy5hZnRlciwgdW5kZWZpbmVkKTsKLSAgICB9KTsK
LX0sICdFcnJvciBmb3Igc3Vic2VxdWVudCBpbnZvY2F0aW9uIG9mIGB0ZXN0YCcpOwotCi1wcm9t
aXNlX3Rlc3QoKCkgPT4gewotICByZXR1cm4gbWFrZVRlc3QoCi0gICAgICAoKSA9PiB7Ci0gICAg
ICAgIC8vIEVuc3VyZSB0aGF0IHRoZSBoYXJuZXNzIGVycm9yIGlzIHRoZSByZXN1bHQgb2YgZXhw
bGljaXQgZXJyb3IKLSAgICAgICAgLy8gaGFuZGxpbmcKLSAgICAgICAgc2V0dXAoeyBhbGxvd191
bmNhdWdodF9leGNlcHRpb246IHRydWUgfSk7Ci0KLSAgICAgICAgdGVzdCgoKSA9PiB7fSwgJ2Jl
Zm9yZScpOwotICAgICAgICBwcm9taXNlX3NldHVwKCgpID0+IFByb21pc2UucmVzb2x2ZSgpKTsK
LSAgICAgICAgYXN5bmNfdGVzdCgodCkgPT4gdC5kb25lKCksICdhZnRlcicpOwotICAgICAgfQot
ICAgICkudGhlbigoe2hhcm5lc3MsIHRlc3RzfSkgPT4gewotICAgICAgYXNzZXJ0X2VxdWFscyho
YXJuZXNzLCAnRVJST1InKTsKLSAgICAgIGFzc2VydF9lcXVhbHModGVzdHMuYmVmb3JlLCAnUEFT
UycpOwotICAgICAgYXNzZXJ0X2VxdWFscyh0ZXN0cy5hZnRlciwgdW5kZWZpbmVkKTsKLSAgICB9
KTsKLX0sICdFcnJvciBmb3Igc3Vic2VxdWVudCBpbnZvY2F0aW9uIG9mIGBhc3luY190ZXN0YCcp
OwotCi1wcm9taXNlX3Rlc3QoKCkgPT4gewotICByZXR1cm4gbWFrZVRlc3QoCi0gICAgICAoKSA9
PiB7Ci0gICAgICAgIC8vIEVuc3VyZSB0aGF0IHRoZSBoYXJuZXNzIGVycm9yIGlzIHRoZSByZXN1
bHQgb2YgZXhwbGljaXQgZXJyb3IKLSAgICAgICAgLy8gaGFuZGxpbmcKLSAgICAgICAgc2V0dXAo
eyBhbGxvd191bmNhdWdodF9leGNlcHRpb246IHRydWUgfSk7Ci0KLSAgICAgICAgdGVzdCgoKSA9
PiB7fSwgJ2JlZm9yZScpOwotICAgICAgICBwcm9taXNlX3NldHVwKCgpID0+IFByb21pc2UucmVq
ZWN0KCkpOwotICAgICAgICBwcm9taXNlX3Rlc3QoKCkgPT4gUHJvbWlzZS5yZXNvbHZlKCksICdh
ZnRlcicpOwotICAgICAgfQotICAgICkudGhlbigoe2hhcm5lc3MsIHRlc3RzfSkgPT4gewotICAg
ICAgYXNzZXJ0X2VxdWFscyhoYXJuZXNzLCAnRVJST1InKTsKLSAgICAgIGFzc2VydF9lcXVhbHMo
dGVzdHMuYmVmb3JlLCAnUEFTUycpOwotICAgICAgYXNzZXJ0X2VxdWFscyh0ZXN0cy5hZnRlciwg
J05PVFJVTicpOwotICAgIH0pOwotfSwgJ0Vycm9yIGZvciByZWplY3RlZCBwcm9taXNlJyk7Ci0K
LXByb21pc2VfdGVzdCgoKSA9PiB7Ci0gIHZhciBleHBlY3RlZF9zZXF1ZW5jZSA9IFsKLSAgICAn
dGVzdCBib2R5JywKLSAgICAncHJvbWlzZV9zZXR1cCBiZWdpbicsCi0gICAgJ3Byb21pc2Vfc2V0
dXAgZW5kJywKLSAgICAncHJvbWlzZV90ZXN0IGJvZHknCi0gIF07Ci0gIHZhciBhY3R1YWxfc2Vx
dWVuY2UgPSB3aW5kb3cuYWN0dWFsX3NlcXVlbmNlID0gW107Ci0KLSAgcmV0dXJuIG1ha2VUZXN0
KAotICAgICAgKCkgPT4gewotICAgICAgICB0ZXN0KCgpID0+IHsgcGFyZW50LmFjdHVhbF9zZXF1
ZW5jZS5wdXNoKCd0ZXN0IGJvZHknKTsgfSwgJ2JlZm9yZScpOwotICAgICAgICBwcm9taXNlX3Nl
dHVwKCgpID0+IHsKLSAgICAgICAgICBwYXJlbnQuYWN0dWFsX3NlcXVlbmNlLnB1c2goJ3Byb21p
c2Vfc2V0dXAgYmVnaW4nKTsKLQotICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKQot
ICAgICAgICAgICAgLnRoZW4oKCkgPT4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHNldFRpbWVv
dXQocmVzb2x2ZSwgMzAwKSkpCi0gICAgICAgICAgICAudGhlbigoKSA9PiBwYXJlbnQuYWN0dWFs
X3NlcXVlbmNlLnB1c2goJ3Byb21pc2Vfc2V0dXAgZW5kJykpOwotICAgICAgICB9KTsKLSAgICAg
ICAgcHJvbWlzZV90ZXN0KCgpID0+IHsKLSAgICAgICAgICBwYXJlbnQuYWN0dWFsX3NlcXVlbmNl
LnB1c2goJ3Byb21pc2VfdGVzdCBib2R5Jyk7Ci0gICAgICAgICAgcmV0dXJuIFByb21pc2UucmVz
b2x2ZSgpOwotICAgICAgICB9LCAnYWZ0ZXInKTsKLSAgICAgIH0KLSAgICApLnRoZW4oKHtoYXJu
ZXNzLCB0ZXN0c30pID0+IHsKLSAgICAgIGFzc2VydF9lcXVhbHMoaGFybmVzcywgJ09LJyk7Ci0g
ICAgICBhc3NlcnRfZXF1YWxzKHRlc3RzLmJlZm9yZSwgJ1BBU1MnKTsKLSAgICAgIGFzc2VydF9l
cXVhbHModGVzdHMuYWZ0ZXIsICdQQVNTJyk7Ci0gICAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKGFj
dHVhbF9zZXF1ZW5jZSwgZXhwZWN0ZWRfc2VxdWVuY2UpOwotICAgIH0pOwotfSwgJ1dhaXRzIGZv
ciBwcm9taXNlIHRvIHNldHRsZScpOwotCi1wcm9taXNlX3Rlc3QoKCkgPT4gewotICB2YXIgZXhw
ZWN0ZWRfc2VxdWVuY2UgPSBbCi0gICAgJ3Byb21pc2VfdGVzdCAxIGJlZ2luJywKLSAgICAncHJv
bWlzZV90ZXN0IDEgZW5kJywKLSAgICAncHJvbWlzZV9zZXR1cCBiZWdpbicsCi0gICAgJ3Byb21p
c2Vfc2V0dXAgZW5kJywKLSAgICAncHJvbWlzZV90ZXN0IDIgYm9keScKLSAgXTsKLSAgdmFyIGFj
dHVhbF9zZXF1ZW5jZSA9IHdpbmRvdy5hY3R1YWxfc2VxdWVuY2UgPSBbXTsKLQotICByZXR1cm4g
bWFrZVRlc3QoCi0gICAgICAoKSA9PiB7Ci0gICAgICAgIHByb21pc2VfdGVzdCgodCkgPT4gewot
ICAgICAgICAgIHBhcmVudC5hY3R1YWxfc2VxdWVuY2UucHVzaCgncHJvbWlzZV90ZXN0IDEgYmVn
aW4nKTsKLQotICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKQotICAgICAgICAgICAg
LnRoZW4oKCkgPT4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHQuc3RlcF90aW1lb3V0KHJlc29s
dmUsIDMwMCkpKQotICAgICAgICAgICAgLnRoZW4oKCkgPT4gcGFyZW50LmFjdHVhbF9zZXF1ZW5j
ZS5wdXNoKCdwcm9taXNlX3Rlc3QgMSBlbmQnKSk7Ci0gICAgICAgIH0sICdiZWZvcmUnKTsKLSAg
ICAgICAgcHJvbWlzZV9zZXR1cCgoKSA9PiB7Ci0gICAgICAgICAgcGFyZW50LmFjdHVhbF9zZXF1
ZW5jZS5wdXNoKCdwcm9taXNlX3NldHVwIGJlZ2luJyk7Ci0KLSAgICAgICAgICByZXR1cm4gUHJv
bWlzZS5yZXNvbHZlKCkKLSAgICAgICAgICAgIC50aGVuKCgpID0+IG5ldyBQcm9taXNlKChyZXNv
bHZlKSA9PiBzZXRUaW1lb3V0KHJlc29sdmUsIDMwMCkpKQotICAgICAgICAgICAgLnRoZW4oKCkg
PT4gcGFyZW50LmFjdHVhbF9zZXF1ZW5jZS5wdXNoKCdwcm9taXNlX3NldHVwIGVuZCcpKTsKLSAg
ICAgICAgfSk7Ci0gICAgICAgIHByb21pc2VfdGVzdCgoKSA9PiB7Ci0gICAgICAgICAgcGFyZW50
LmFjdHVhbF9zZXF1ZW5jZS5wdXNoKCdwcm9taXNlX3Rlc3QgMiBib2R5Jyk7Ci0gICAgICAgICAg
cmV0dXJuIFByb21pc2UucmVzb2x2ZSgpOwotICAgICAgICB9LCAnYWZ0ZXInKTsKLSAgICAgIH0K
LSAgICApLnRoZW4oKHtoYXJuZXNzLCB0ZXN0c30pID0+IHsKLSAgICAgIGFzc2VydF9lcXVhbHMo
aGFybmVzcywgJ09LJyk7Ci0gICAgICBhc3NlcnRfZXF1YWxzKHRlc3RzLmJlZm9yZSwgJ1BBU1Mn
KTsKLSAgICAgIGFzc2VydF9lcXVhbHModGVzdHMuYWZ0ZXIsICdQQVNTJyk7Ci0gICAgICBhc3Nl
cnRfYXJyYXlfZXF1YWxzKGFjdHVhbF9zZXF1ZW5jZSwgZXhwZWN0ZWRfc2VxdWVuY2UpOwotICAg
IH0pOwotfSwgJ1dhaXRzIGZvciBleGlzdGluZyBwcm9taXNlX3Rlc3QgdG8gY29tcGxldGUnKTsK
LQotcHJvbWlzZV90ZXN0KCgpID0+IHsKLSAgcmV0dXJuIG1ha2VUZXN0KAotICAgICAgKCkgPT4g
ewotICAgICAgICB2YXIgcHJvcGVydGllcyA9IHsgYWxsb3dfdW5jYXVnaHRfZXhjZXB0aW9uOiB0
cnVlIH07Ci0gICAgICAgIHByb21pc2VfdGVzdCgoKSA9PiB7Ci0gICAgICAgICAgcmV0dXJuIG5l
dyBQcm9taXNlKChyZXNvbHZlKSA9PiB7Ci0gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHsK
LSAgICAgICAgICAgICAgcmVzb2x2ZSgpOwotICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3Io
J3RoaXMgZXJyb3IgaXMgZXhwZWN0ZWQnKTsKLSAgICAgICAgICAgIH0pOwotICAgICAgICAgIH0p
OwotICAgICAgICB9LCAnYmVmb3JlJyk7Ci0gICAgICAgIHByb21pc2Vfc2V0dXAoKCkgPT4gUHJv
bWlzZS5yZXNvbHZlKCksIHByb3BlcnRpZXMpOwotICAgICAgfQotICAgICkudGhlbigoe2hhcm5l
c3MsIHRlc3RzfSkgPT4gewotICAgICAgYXNzZXJ0X2VxdWFscyhoYXJuZXNzLCAnRVJST1InKTsK
LSAgICAgIGFzc2VydF9lcXVhbHModGVzdHMuYmVmb3JlLCAnUEFTUycpOwotICAgIH0pOwotfSwg
J0RlZmVycyBhcHBsaWNhdGlvbiBvZiBzZXR1cCBwcm9wZXJ0aWVzJyk7Ci08L3NjcmlwdD4KLTwv
Ym9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvdW5pdC9zaW5nbGVfdGVzdC5odG1s
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
dGVzdC90ZXN0cy91bml0L3NpbmdsZV90ZXN0Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IGZmNzY2ZTY2Y2VjLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL3VuaXQvc2luZ2xl
X3Rlc3QuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDk0ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1M
PgotPGh0bWw+Ci08aGVhZD4KLSAgPG1ldGEgY2hhcnNldD0idXRmLTgiPgotICA8bWV0YSBuYW1l
PSJ0aW1lb3V0IiBjb250ZW50PSJsb25nIj4KLSAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgotICA8c2NyaXB0IHNyYz0iLi4vLi4vbmVzdGVkLXRlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KLSAgPHRpdGxlPnNpbmdsZV90ZXN0PC90aXRsZT4KLTwvaGVh
ZD4KLTxib2R5PgotPHNjcmlwdD4KLXByb21pc2VfdGVzdCgoKSA9PiB7Ci0gIHJldHVybiBtYWtl
VGVzdCgKLSAgICAgICgpID0+IHsKLSAgICAgICAgc2V0dXAoeyBzaW5nbGVfdGVzdDogdHJ1ZSB9
KTsKLSAgICAgICAgZG9uZSgpOwotICAgICAgfQotICAgICkudGhlbigoe2hhcm5lc3MsIHRlc3Rz
fSkgPT4gewotICAgICAgYXNzZXJ0X2VxdWFscyhoYXJuZXNzLCAnT0snKTsKLSAgICAgIGFzc2Vy
dF9lcXVhbHModGVzdHNbJ0RvY3VtZW50IHRpdGxlJ10sICdQQVNTJyk7Ci0gICAgfSk7Ci19LCAn
RXhwZWN0ZWQgdXNhZ2UnKTsKLQotcHJvbWlzZV90ZXN0KCgpID0+IHsKLSAgcmV0dXJuIG1ha2VU
ZXN0KAotICAgICAgKCkgPT4gewotICAgICAgICBzZXR1cCh7IHNpbmdsZV90ZXN0OiB0cnVlIH0p
OwotICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ3RoaXMgZXJyb3IgaXMgZXhwZWN0ZWQnKTsKLSAg
ICAgIH0KLSAgICApLnRoZW4oKHtoYXJuZXNzLCB0ZXN0c30pID0+IHsKLSAgICAgIGFzc2VydF9l
cXVhbHMoaGFybmVzcywgJ09LJyk7Ci0gICAgICBhc3NlcnRfZXF1YWxzKHRlc3RzWydEb2N1bWVu
dCB0aXRsZSddLCAnRkFJTCcpOwotICAgIH0pOwotfSwgJ1VuY2F1Z2h0IGV4Y2VwdGlvbicpOwot
Ci1wcm9taXNlX3Rlc3QoKCkgPT4gewotICByZXR1cm4gbWFrZVRlc3QoCi0gICAgICAoKSA9PiB7
Ci0gICAgICAgIHNldHVwKHsgc2luZ2xlX3Rlc3Q6IHRydWUgfSk7Ci0gICAgICAgIFByb21pc2Uu
cmVqZWN0KG5ldyBFcnJvcigndGhpcyBlcnJvciBpcyBleHBlY3RlZCcpKTsKLSAgICAgIH0KLSAg
ICApLnRoZW4oKHtoYXJuZXNzLCB0ZXN0c30pID0+IHsKLSAgICAgIGFzc2VydF9lcXVhbHMoaGFy
bmVzcywgJ09LJyk7Ci0gICAgICBhc3NlcnRfZXF1YWxzKHRlc3RzWydEb2N1bWVudCB0aXRsZSdd
LCAnRkFJTCcpOwotICAgIH0pOwotfSwgJ1VuaGFuZGxlZCByZWplY3Rpb24nKTsKLQotcHJvbWlz
ZV90ZXN0KCgpID0+IHsKLSAgcmV0dXJuIG1ha2VUZXN0KAotICAgICAgKCkgPT4gewotICAgICAg
ICBzZXR1cCh7IHNpbmdsZV90ZXN0OiB0cnVlIH0pOwotICAgICAgICB0ZXN0KGZ1bmN0aW9uKCkg
e30sICdzeW5jIHRlc3QnKTsKLSAgICAgIH0KLSAgICApLnRoZW4oKHtoYXJuZXNzLCB0ZXN0c30p
ID0+IHsKLSAgICAgIGFzc2VydF9lcXVhbHMoaGFybmVzcywgJ09LJyk7Ci0gICAgICBhc3NlcnRf
ZXF1YWxzKHRlc3RzWydEb2N1bWVudCB0aXRsZSddLCAnRkFJTCcpOwotICAgICAgYXNzZXJ0X2Vx
dWFscygKLSAgICAgICAgT2JqZWN0LmtleXModGVzdHMpLmxlbmd0aCwgMSwgJ25vIGFkZGl0aW9u
YWwgc3VidGVzdHMgY3JlYXRlZCcKLSAgICAgICk7Ci0gICAgfSk7Ci19LCAnRXJyb25lb3VzIHVz
YWdlOiBzdWJ0ZXN0IGRlY2xhcmF0aW9uIChzeW5jaHJvbm91cyB0ZXN0KScpOwotCi1wcm9taXNl
X3Rlc3QoKCkgPT4gewotICByZXR1cm4gbWFrZVRlc3QoCi0gICAgICAoKSA9PiB7Ci0gICAgICAg
IHNldHVwKHsgc2luZ2xlX3Rlc3Q6IHRydWUgfSk7Ci0gICAgICAgIGFzeW5jX3Rlc3QoZnVuY3Rp
b24odCkgeyB0LmRvbmUoKTsgfSwgJ2FzeW5jIHRlc3QnKTsKLSAgICAgIH0KLSAgICApLnRoZW4o
KHtoYXJuZXNzLCB0ZXN0c30pID0+IHsKLSAgICAgIGFzc2VydF9lcXVhbHMoaGFybmVzcywgJ09L
Jyk7Ci0gICAgICBhc3NlcnRfZXF1YWxzKHRlc3RzWydEb2N1bWVudCB0aXRsZSddLCAnRkFJTCcp
OwotICAgICAgYXNzZXJ0X2VxdWFscygKLSAgICAgICAgT2JqZWN0LmtleXModGVzdHMpLmxlbmd0
aCwgMSwgJ25vIGFkZGl0aW9uYWwgc3VidGVzdHMgY3JlYXRlZCcKLSAgICAgICk7Ci0gICAgfSk7
Ci19LCAnRXJyb25lb3VzIHVzYWdlOiBzdWJ0ZXN0IGRlY2xhcmF0aW9uIChhc3luY2hyb25vdXMg
dGVzdCknKTsKLQotcHJvbWlzZV90ZXN0KCgpID0+IHsKLSAgcmV0dXJuIG1ha2VUZXN0KAotICAg
ICAgKCkgPT4gewotICAgICAgICBzZXR1cCh7IHNpbmdsZV90ZXN0OiB0cnVlIH0pOwotICAgICAg
ICBwcm9taXNlX3Rlc3QoZnVuY3Rpb24oKSB7IHJldHVybiBQcm9taXNlLnJlc29sdmUoKTsgfSwg
J3Byb21pc2UgdGVzdCcpOwotICAgICAgfQotICAgICkudGhlbigoe2hhcm5lc3MsIHRlc3RzfSkg
PT4gewotICAgICAgYXNzZXJ0X2VxdWFscyhoYXJuZXNzLCAnT0snKTsKLSAgICAgIGFzc2VydF9l
cXVhbHModGVzdHNbJ0RvY3VtZW50IHRpdGxlJ10sICdGQUlMJyk7Ci0gICAgICBhc3NlcnRfZXF1
YWxzKAotICAgICAgICBPYmplY3Qua2V5cyh0ZXN0cykubGVuZ3RoLCAxLCAnbm8gYWRkaXRpb25h
bCBzdWJ0ZXN0cyBjcmVhdGVkJwotICAgICAgKTsKLSAgICB9KTsKLX0sICdFcnJvbmVvdXMgdXNh
Z2U6IHN1YnRlc3QgZGVjbGFyYXRpb24gKHByb21pc2UgdGVzdCknKTsKLTwvc2NyaXB0PgotPC9i
b2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy91bml0L3Rlc3QtcmV0dXJuLXJlc3Ry
aWN0aW9ucy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy91bml0L3Rlc3QtcmV0dXJuLXJlc3RyaWN0aW9ucy5odG1s
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiODQ2ZDRkYzQzMC4uMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvdGVzdC90ZXN0cy91bml0L3Rlc3QtcmV0dXJuLXJlc3RyaWN0aW9ucy5odG1sCisrKyAvZGV2
L251bGwKQEAgLTEsMTU1ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4K
LSAgPG1ldGEgY2hhcnNldD0idXRmLTgiPgotICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci0gIDx0aXRsZT5SZXN0cmljdGlvbnMgb24gcmV0dXJuIHZh
bHVlIGZyb20gYHRlc3RgPC90aXRsZT4KLTwvaGVhZD4KLTxib2R5PgotPHNjcmlwdD4KLWZ1bmN0
aW9uIG1ha2VUZXN0KC4uLmJvZGllcykgewotICBjb25zdCBjbG9zZVNjcmlwdCA9ICc8JyArICcv
c2NyaXB0Pic7Ci0gIGxldCBzcmMgPSBgCi08IURPQ1RZUEUgSFRNTD4KLTxodG1sPgotPGhlYWQ+
Ci08dGl0bGU+RG9jdW1lbnQgdGl0bGU8L3RpdGxlPgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanM/JHtNYXRoLnJhbmRvbSgpfSI+JHtjbG9zZVNjcmlwdH0KLTwvaGVhZD4K
LQotPGJvZHk+Ci08ZGl2IGlkPSJsb2ciPjwvZGl2PmA7Ci0gIGJvZGllcy5mb3JFYWNoKChib2R5
KSA9PiB7Ci0gICAgc3JjICs9ICc8c2NyaXB0PignICsgYm9keSArICcpKCk7JyArIGNsb3NlU2Ny
aXB0OwotICB9KTsKLQotICBjb25zdCBpZnJhbWUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdp
ZnJhbWUnKTsKLQotICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGlmcmFtZSk7Ci0gIGlmcmFt
ZS5jb250ZW50RG9jdW1lbnQud3JpdGUoc3JjKTsKLQotICByZXR1cm4gbmV3IFByb21pc2UoKHJl
c29sdmUpID0+IHsKLSAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbWVzc2FnZScsIGZ1bmN0
aW9uIG9uTWVzc2FnZShlKSB7Ci0gICAgICBpZiAoZS5zb3VyY2UgIT09IGlmcmFtZS5jb250ZW50
V2luZG93KSB7Ci0gICAgICAgIHJldHVybjsKLSAgICAgIH0KLSAgICAgIGlmICghZS5kYXRhIHx8
IGUuZGF0YS50eXBlICE9PSdjb21wbGV0ZScpIHsKLSAgICAgICAgcmV0dXJuOwotICAgICAgfQot
ICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21lc3NhZ2UnLCBvbk1lc3NhZ2UpOwot
ICAgICAgcmVzb2x2ZShlLmRhdGEpOwotICAgIH0pOwotCi0gICAgaWZyYW1lLmNvbnRlbnREb2N1
bWVudC5jbG9zZSgpOwotICB9KS50aGVuKCh7IHRlc3RzLCBzdGF0dXMgfSkgPT4gewotICAgIGNv
bnN0IHN1bW1hcnkgPSB7Ci0gICAgICBoYXJuZXNzOiB7Ci0gICAgICAgIHN0YXR1czogZ2V0RW51
bVByb3Aoc3RhdHVzLCBzdGF0dXMuc3RhdHVzKSwKLSAgICAgICAgbWVzc2FnZTogc3RhdHVzLm1l
c3NhZ2UKLSAgICAgIH0sCi0gICAgICB0ZXN0czoge30KLSAgICB9OwotCi0gICAgdGVzdHMuZm9y
RWFjaCgodGVzdCkgPT4gewotICAgICAgc3VtbWFyeS50ZXN0c1t0ZXN0Lm5hbWVdID0gZ2V0RW51
bVByb3AodGVzdCwgdGVzdC5zdGF0dXMpOwotICAgIH0pOwotCi0gICAgcmV0dXJuIHN1bW1hcnk7
Ci0gIH0pOwotfQotCi1mdW5jdGlvbiBnZXRFbnVtUHJvcChvYmplY3QsIHZhbHVlKSB7Ci0gIGZv
ciAobGV0IHByb3BlcnR5IGluIG9iamVjdCkgewotICAgIGlmICghL15bQS1aXSskLy50ZXN0KHBy
b3BlcnR5KSkgewotICAgICAgY29udGludWU7Ci0gICAgfQotCi0gICAgaWYgKG9iamVjdFtwcm9w
ZXJ0eV0gPT09IHZhbHVlKSB7Ci0gICAgICByZXR1cm4gcHJvcGVydHk7Ci0gICAgfQotICB9Ci19
Ci0KLXByb21pc2VfdGVzdCgoKSA9PiB7Ci0gIHJldHVybiBtYWtlVGVzdCgKLSAgICAgICgpID0+
IHsKLSAgICAgICAgdGVzdCgoKSA9PiB1bmRlZmluZWQsICdiZWZvcmUnKTsKLSAgICAgICAgdGVz
dCgoKSA9PiBudWxsLCAnbnVsbCcpOwotICAgICAgICB0ZXN0KCgpID0+IHVuZGVmaW5lZCwgJ2Fm
dGVyJyk7Ci0gICAgICB9Ci0gICAgKS50aGVuKCh7aGFybmVzcywgdGVzdHN9KSA9PiB7Ci0gICAg
ICBhc3NlcnRfZXF1YWxzKGhhcm5lc3Muc3RhdHVzLCAnRVJST1InKTsKLSAgICAgIGFzc2VydF9l
cXVhbHMoCi0gICAgICAgIGhhcm5lc3MubWVzc2FnZSwKLSAgICAgICAgJ1Rlc3QgbmFtZWQgIm51
bGwiIGluYXBwcm9wcmlhdGVseSByZXR1cm5lZCBhIHZhbHVlJwotICAgICAgKTsKLSAgICAgIGFz
c2VydF9lcXVhbHModGVzdHMuYmVmb3JlLCAnUEFTUycpOwotICAgICAgYXNzZXJ0X2VxdWFscyh0
ZXN0cy5udWxsLCAnUEFTUycpOwotICAgICAgYXNzZXJ0X2VxdWFscyh0ZXN0cy5hZnRlciwgJ1BB
U1MnKTsKLSAgICB9KTsKLX0sICd0ZXN0IHJldHVybmluZyBgbnVsbGAnKTsKLQotcHJvbWlzZV90
ZXN0KCgpID0+IHsKLSAgcmV0dXJuIG1ha2VUZXN0KAotICAgICAgKCkgPT4gewotICAgICAgICB0
ZXN0KCgpID0+IHVuZGVmaW5lZCwgJ2JlZm9yZScpOwotICAgICAgICB0ZXN0KCgpID0+ICh7fSks
ICdvYmplY3QnKTsKLSAgICAgICAgdGVzdCgoKSA9PiB1bmRlZmluZWQsICdhZnRlcicpOwotICAg
ICAgfQotICAgICkudGhlbigoe2hhcm5lc3MsIHRlc3RzfSkgPT4gewotICAgICAgYXNzZXJ0X2Vx
dWFscyhoYXJuZXNzLnN0YXR1cywgJ0VSUk9SJyk7Ci0gICAgICBhc3NlcnRfZXF1YWxzKAotICAg
ICAgICBoYXJuZXNzLm1lc3NhZ2UsCi0gICAgICAgICdUZXN0IG5hbWVkICJvYmplY3QiIGluYXBw
cm9wcmlhdGVseSByZXR1cm5lZCBhIHZhbHVlJwotICAgICAgKTsKLSAgICAgIGFzc2VydF9lcXVh
bHModGVzdHMuYmVmb3JlLCAnUEFTUycpOwotICAgICAgYXNzZXJ0X2VxdWFscyh0ZXN0cy5vYmpl
Y3QsICdQQVNTJyk7Ci0gICAgICBhc3NlcnRfZXF1YWxzKHRlc3RzLmFmdGVyLCAnUEFTUycpOwot
ICAgIH0pOwotfSwgJ3Rlc3QgcmV0dXJuaW5nIGFuIG9yZGluYXJ5IG9iamVjdCcpOwotCi1wcm9t
aXNlX3Rlc3QoKCkgPT4gewotICByZXR1cm4gbWFrZVRlc3QoCi0gICAgICAoKSA9PiB7Ci0gICAg
ICAgIHRlc3QoKCkgPT4gdW5kZWZpbmVkLCAnYmVmb3JlJyk7Ci0gICAgICAgIHRlc3QoKCkgPT4g
KHsgdGhlbigpIHt9IH0pLCAndGhlbmFibGUnKTsKLSAgICAgICAgdGVzdCgoKSA9PiB1bmRlZmlu
ZWQsICdhZnRlcicpOwotICAgICAgfQotICAgICkudGhlbigoe2hhcm5lc3MsIHRlc3RzfSkgPT4g
ewotICAgICAgYXNzZXJ0X2VxdWFscyhoYXJuZXNzLnN0YXR1cywgJ0VSUk9SJyk7Ci0gICAgICBh
c3NlcnRfZXF1YWxzKAotICAgICAgICBoYXJuZXNzLm1lc3NhZ2UsCi0gICAgICAgICdUZXN0IG5h
bWVkICJ0aGVuYWJsZSIgaW5hcHByb3ByaWF0ZWx5IHJldHVybmVkIGEgdmFsdWUsIGNvbnNpZGVy
IHVzaW5nIGBwcm9taXNlX3Rlc3RgIGluc3RlYWQnCi0gICAgICApOwotICAgICAgYXNzZXJ0X2Vx
dWFscyh0ZXN0cy5iZWZvcmUsICdQQVNTJyk7Ci0gICAgICBhc3NlcnRfZXF1YWxzKHRlc3RzLnRo
ZW5hYmxlLCAnUEFTUycpOwotICAgICAgYXNzZXJ0X2VxdWFscyh0ZXN0cy5hZnRlciwgJ1BBU1Mn
KTsKLSAgICB9KTsKLX0sICd0ZXN0IHJldHVybmluZyBhIHRoZW5hYmxlIG9iamVjdCcpOwotCi1w
cm9taXNlX3Rlc3QoKCkgPT4gewotICByZXR1cm4gbWFrZVRlc3QoCi0gICAgICAoKSA9PiB7Ci0g
ICAgICAgIHRlc3QoKCkgPT4gdW5kZWZpbmVkLCAnYmVmb3JlJyk7Ci0gICAgICAgIHRlc3QoKCkg
PT4gewotICAgICAgICAgIGNvbnN0IGlmcmFtZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lm
cmFtZScpOwotICAgICAgICAgIGlmcmFtZS5zZXRBdHRyaWJ1dGUoJ3NhbmRib3gnLCAnJyk7Ci0g
ICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChpZnJhbWUpOwotICAgICAgICAgIHJl
dHVybiBpZnJhbWUuY29udGVudFdpbmRvdzsKLSAgICAgICAgfSwgJ3Jlc3RyaWN0ZWQnKTsKLSAg
ICAgICAgdGVzdCgoKSA9PiB1bmRlZmluZWQsICdhZnRlcicpOwotICAgICAgfQotICAgICkudGhl
bigoe2hhcm5lc3MsIHRlc3RzfSkgPT4gewotICAgICAgYXNzZXJ0X2VxdWFscyhoYXJuZXNzLnN0
YXR1cywgJ0VSUk9SJyk7Ci0gICAgICBhc3NlcnRfZXF1YWxzKAotICAgICAgICBoYXJuZXNzLm1l
c3NhZ2UsCi0gICAgICAgICdUZXN0IG5hbWVkICJyZXN0cmljdGVkIiBpbmFwcHJvcHJpYXRlbHkg
cmV0dXJuZWQgYSB2YWx1ZScKLSAgICAgICk7Ci0gICAgICBhc3NlcnRfZXF1YWxzKHRlc3RzLmJl
Zm9yZSwgJ1BBU1MnKTsKLSAgICAgIGFzc2VydF9lcXVhbHModGVzdHMucmVzdHJpY3RlZCwgJ1BB
U1MnKTsKLSAgICAgIGFzc2VydF9lcXVhbHModGVzdHMuYWZ0ZXIsICdQQVNTJyk7Ci0gICAgfSk7
Ci19LCAndGVzdCByZXR1cm5pbmcgYSByZXN0cmljdGVkIG9iamVjdCcpOwotPC9zY3JpcHQ+Ci08
L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL3VuaXQvdGhyb3dpbmctYXNzZXJ0
aW9ucy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvdGVzdC90ZXN0cy91bml0L3Rocm93aW5nLWFzc2VydGlvbnMuaHRtbApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTM2YTU2MDQzY2MuLjAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3Qv
dGVzdHMvdW5pdC90aHJvd2luZy1hc3NlcnRpb25zLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwy
NjggKzAsMCBAQAotPCFET0NUWVBFIEhUTUw+Ci08aHRtbD4KLTxoZWFkPgotICA8bWV0YSBjaGFy
c2V0PSJ1dGYtOCI+Ci0gIDxtZXRhIG5hbWU9InRpbWVvdXQiIGNvbnRlbnQ9ImxvbmciPgotICA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci0gIDx0aXRs
ZT5UZXN0IHRoZSBtZXRob2RzIHRoYXQgbWFrZSBhc3NlcnRpb25zIGFib3V0IGV4Y2VwdGlvbnM8
L3RpdGxlPgotPC9oZWFkPgotPGJvZHk+Ci08c2NyaXB0PgotZnVuY3Rpb24gbWFrZVRlc3QoLi4u
Ym9kaWVzKSB7Ci0gIGNvbnN0IGNsb3NlU2NyaXB0ID0gJzwnICsgJy9zY3JpcHQ+JzsKLSAgbGV0
IHNyYyA9IGAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLTx0aXRsZT5Eb2N1bWVu
dCB0aXRsZTwvdGl0bGU+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcz8k
e01hdGgucmFuZG9tKCl9Ij4ke2Nsb3NlU2NyaXB0fQotPC9oZWFkPgotCi08Ym9keT4KLTxkaXYg
aWQ9ImxvZyI+PC9kaXY+YDsKLSAgYm9kaWVzLmZvckVhY2goKGJvZHkpID0+IHsKLSAgICBzcmMg
Kz0gJzxzY3JpcHQ+KCcgKyBib2R5ICsgJykoKTsnICsgY2xvc2VTY3JpcHQ7Ci0gIH0pOwotCi0g
IGNvbnN0IGlmcmFtZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lmcmFtZScpOwotCi0gIGRv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaWZyYW1lKTsKLSAgaWZyYW1lLmNvbnRlbnREb2N1bWVu
dC53cml0ZShzcmMpOwotCi0gIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4gewotICAg
IHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdtZXNzYWdlJywgZnVuY3Rpb24gb25NZXNzYWdlKGUp
IHsKLSAgICAgIGlmIChlLnNvdXJjZSAhPT0gaWZyYW1lLmNvbnRlbnRXaW5kb3cpIHsKLSAgICAg
ICAgcmV0dXJuOwotICAgICAgfQotICAgICAgaWYgKCFlLmRhdGEgfHwgZS5kYXRhLnR5cGUgIT09
J2NvbXBsZXRlJykgewotICAgICAgICByZXR1cm47Ci0gICAgICB9Ci0gICAgICB3aW5kb3cucmVt
b3ZlRXZlbnRMaXN0ZW5lcignbWVzc2FnZScsIG9uTWVzc2FnZSk7Ci0gICAgICByZXNvbHZlKGUu
ZGF0YSk7Ci0gICAgfSk7Ci0KLSAgICBpZnJhbWUuY29udGVudERvY3VtZW50LmNsb3NlKCk7Ci0g
IH0pLnRoZW4oKHsgdGVzdHMsIHN0YXR1cyB9KSA9PiB7Ci0gICAgY29uc3Qgc3VtbWFyeSA9IHsK
LSAgICAgIGhhcm5lc3M6IGdldEVudW1Qcm9wKHN0YXR1cywgc3RhdHVzLnN0YXR1cyksCi0gICAg
ICB0ZXN0czoge30KLSAgICB9OwotCi0gICAgdGVzdHMuZm9yRWFjaCgodGVzdCkgPT4gewotICAg
ICAgc3VtbWFyeS50ZXN0c1t0ZXN0Lm5hbWVdID0gZ2V0RW51bVByb3AodGVzdCwgdGVzdC5zdGF0
dXMpOwotICAgIH0pOwotCi0gICAgcmV0dXJuIHN1bW1hcnk7Ci0gIH0pOwotfQotCi1mdW5jdGlv
biBnZXRFbnVtUHJvcChvYmplY3QsIHZhbHVlKSB7Ci0gIGZvciAobGV0IHByb3BlcnR5IGluIG9i
amVjdCkgewotICAgIGlmICghL15bQS1aXSskLy50ZXN0KHByb3BlcnR5KSkgewotICAgICAgY29u
dGludWU7Ci0gICAgfQotCi0gICAgaWYgKG9iamVjdFtwcm9wZXJ0eV0gPT09IHZhbHVlKSB7Ci0g
ICAgICByZXR1cm4gcHJvcGVydHk7Ci0gICAgfQotICB9Ci19Ci0KLXByb21pc2VfdGVzdCgoKSA9
PiB7Ci0gIHJldHVybiBtYWtlVGVzdCgoKSA9PiB7Ci0gICAgdGVzdCgoKSA9PiB7Ci0gICAgICBh
c3NlcnRfdGhyb3dzX2pzKFR5cGVFcnJvciwgKCkgPT4geyB0aHJvdyBuZXcgVHlwZUVycm9yKCk7
IH0pOwotICAgIH0pOwotICB9KS50aGVuKCh7aGFybmVzcywgdGVzdHN9KSA9PiB7Ci0gICAgYXNz
ZXJ0X2VxdWFscyhoYXJuZXNzLCAnT0snKTsKLSAgICBhc3NlcnRfZXF1YWxzKHRlc3RzWydEb2N1
bWVudCB0aXRsZSddLCAnUEFTUycpOwotICB9KTsKLX0sICdhc3NlcnRfdGhyb3dzX2pzIG9uIGEg
VHlwZUVycm9yJyk7Ci0KLXByb21pc2VfdGVzdCgoKSA9PiB7Ci0gIHJldHVybiBtYWtlVGVzdCgo
KSA9PiB7Ci0gICAgdGVzdCgoKSA9PiB7Ci0gICAgICBhc3NlcnRfdGhyb3dzX2pzKFJhbmdlRXJy
b3IsICgpID0+IHsgdGhyb3cgbmV3IFJhbmdlRXJyb3IoKTsgfSk7Ci0gICAgfSk7Ci0gIH0pLnRo
ZW4oKHtoYXJuZXNzLCB0ZXN0c30pID0+IHsKLSAgICBhc3NlcnRfZXF1YWxzKGhhcm5lc3MsICdP
SycpOwotICAgIGFzc2VydF9lcXVhbHModGVzdHNbJ0RvY3VtZW50IHRpdGxlJ10sICdQQVNTJyk7
Ci0gIH0pOwotfSwgJ2Fzc2VydF90aHJvd3NfanMgb24gYSBSYW5nZUVycm9yJyk7Ci0KLXByb21p
c2VfdGVzdCgoKSA9PiB7Ci0gIHJldHVybiBtYWtlVGVzdCgoKSA9PiB7Ci0gICAgdGVzdCgoKSA9
PiB7Ci0gICAgICBhc3NlcnRfdGhyb3dzX2pzKFR5cGVFcnJvciwgKCkgPT4geyB0aHJvdyBuZXcg
UmFuZ2VFcnJvcigpOyB9KTsKLSAgICB9KTsKLSAgfSkudGhlbigoe2hhcm5lc3MsIHRlc3RzfSkg
PT4gewotICAgIGFzc2VydF9lcXVhbHMoaGFybmVzcywgJ09LJyk7Ci0gICAgYXNzZXJ0X2VxdWFs
cyh0ZXN0c1snRG9jdW1lbnQgdGl0bGUnXSwgJ0ZBSUwnKTsKLSAgfSk7Ci19LCAnYXNzZXJ0X3Ro
cm93c19qcyBvbiBhIFR5cGVFcnJvciB3aGVuIFJhbmdlRXJyb3IgaXMgdGhyb3duJyk7Ci0KLXBy
b21pc2VfdGVzdCgoKSA9PiB7Ci0gIHJldHVybiBtYWtlVGVzdCgoKSA9PiB7Ci0gICAgdGVzdCgo
KSA9PiB7Ci0gICAgICBhc3NlcnRfdGhyb3dzX2pzKEVycm9yLCAoKSA9PiB7IHRocm93IG5ldyBU
eXBlRXJyb3IoKTsgfSk7Ci0gICAgfSk7Ci0gIH0pLnRoZW4oKHtoYXJuZXNzLCB0ZXN0c30pID0+
IHsKLSAgICBhc3NlcnRfZXF1YWxzKGhhcm5lc3MsICdPSycpOwotICAgIGFzc2VydF9lcXVhbHMo
dGVzdHNbJ0RvY3VtZW50IHRpdGxlJ10sICdGQUlMJyk7Ci0gIH0pOwotfSwgJ2Fzc2VydF90aHJv
d3NfanMgb24gYW4gRXJyb3Igd2hlbiBUeXBlRXJyb3IgaXMgdGhyb3duJyk7Ci0KLXByb21pc2Vf
dGVzdCgoKSA9PiB7Ci0gIHJldHVybiBtYWtlVGVzdCgoKSA9PiB7Ci0gICAgdGVzdCgoKSA9PiB7
Ci0gICAgICBhc3NlcnRfdGhyb3dzX2pzKEVycm9yLAotICAgICAgICAgICAgICAgICAgICAgICAo
KSA9PiB7IHRocm93IG5ldyBET01FeGNlcHRpb24oImhlbGxvIiwgIkVycm9yIik7IH0pOwotICAg
IH0pOwotICB9KS50aGVuKCh7aGFybmVzcywgdGVzdHN9KSA9PiB7Ci0gICAgYXNzZXJ0X2VxdWFs
cyhoYXJuZXNzLCAnT0snKTsKLSAgICBhc3NlcnRfZXF1YWxzKHRlc3RzWydEb2N1bWVudCB0aXRs
ZSddLCAnRkFJTCcpOwotICB9KTsKLX0sICdhc3NlcnRfdGhyb3dzX2pzIG9uIGFuIEVycm9yIHdo
ZW4gYSBET01FeGNlcHRpb24gaXMgdGhyb3duJyk7Ci0KLXByb21pc2VfdGVzdCgoKSA9PiB7Ci0g
IHJldHVybiBtYWtlVGVzdCgoKSA9PiB7Ci0gICAgdGVzdCgoKSA9PiB7Ci0gICAgICBhc3NlcnRf
dGhyb3dzX2pzKFN5bnRheEVycm9yLAotICAgICAgICAgICAgICAgICAgICAgICAoKSA9PiB7IHRo
cm93IG5ldyBET01FeGNlcHRpb24oImhleSIsICJTeW50YXhFcnJvciIpOyB9KTsKLSAgICB9KTsK
LSAgfSkudGhlbigoe2hhcm5lc3MsIHRlc3RzfSkgPT4gewotICAgIGFzc2VydF9lcXVhbHMoaGFy
bmVzcywgJ09LJyk7Ci0gICAgYXNzZXJ0X2VxdWFscyh0ZXN0c1snRG9jdW1lbnQgdGl0bGUnXSwg
J0ZBSUwnKTsKLSAgfSk7Ci19LCAnYXNzZXJ0X3Rocm93c19qcyBvbiBhIFN5bnRheEVycm9yIHdo
ZW4gYSBET01FeGNlcHRpb24gaXMgdGhyb3duJyk7Ci0KLXByb21pc2VfdGVzdCgoKSA9PiB7Ci0g
IHJldHVybiBtYWtlVGVzdCgoKSA9PiB7Ci0gICAgdGVzdCgoKSA9PiB7Ci0gICAgICBhc3NlcnRf
dGhyb3dzX2RvbSgiU3ludGF4RXJyb3IiLAotICAgICAgICAgICAgICAgICAgICAgICAgKCkgPT4g
eyB0aHJvdyBuZXcgRE9NRXhjZXB0aW9uKCJ4IiwgIlN5bnRheEVycm9yIik7IH0pOwotICAgIH0p
OwotICB9KS50aGVuKCh7aGFybmVzcywgdGVzdHN9KSA9PiB7Ci0gICAgYXNzZXJ0X2VxdWFscyho
YXJuZXNzLCAnT0snKTsKLSAgICBhc3NlcnRfZXF1YWxzKHRlc3RzWydEb2N1bWVudCB0aXRsZSdd
LCAnUEFTUycpOwotICB9KTsKLX0sICdhc3NlcnRfdGhyb3dzX2RvbSBiYXNpYyBzYW5pdHknKTsK
LQotcHJvbWlzZV90ZXN0KCgpID0+IHsKLSAgcmV0dXJuIG1ha2VUZXN0KCgpID0+IHsKLSAgICB0
ZXN0KCgpID0+IHsKLSAgICAgIGFzc2VydF90aHJvd3NfZG9tKDEyLAotICAgICAgICAgICAgICAg
ICAgICAgICAgKCkgPT4geyB0aHJvdyBuZXcgRE9NRXhjZXB0aW9uKCJ4IiwgIlN5bnRheEVycm9y
Iik7IH0pOwotICAgIH0pOwotICB9KS50aGVuKCh7aGFybmVzcywgdGVzdHN9KSA9PiB7Ci0gICAg
YXNzZXJ0X2VxdWFscyhoYXJuZXNzLCAnT0snKTsKLSAgICBhc3NlcnRfZXF1YWxzKHRlc3RzWydE
b2N1bWVudCB0aXRsZSddLCAnUEFTUycpOwotICB9KTsKLX0sICdhc3NlcnRfdGhyb3dzX2RvbSB3
aXRoIG51bWVyaWMgY29kZScpOwotCi1wcm9taXNlX3Rlc3QoKCkgPT4gewotICByZXR1cm4gbWFr
ZVRlc3QoKCkgPT4gewotICAgIHRlc3QoKCkgPT4gewotICAgICAgYXNzZXJ0X3Rocm93c19kb20o
IlNZTlRBWF9FUlIiLAotICAgICAgICAgICAgICAgICAgICAgICAgKCkgPT4geyB0aHJvdyBuZXcg
RE9NRXhjZXB0aW9uKCJ4IiwgIlN5bnRheEVycm9yIik7IH0pOwotICAgIH0pOwotICB9KS50aGVu
KCh7aGFybmVzcywgdGVzdHN9KSA9PiB7Ci0gICAgYXNzZXJ0X2VxdWFscyhoYXJuZXNzLCAnT0sn
KTsKLSAgICBhc3NlcnRfZXF1YWxzKHRlc3RzWydEb2N1bWVudCB0aXRsZSddLCAnUEFTUycpOwot
ICB9KTsKLX0sICdhc3NlcnRfdGhyb3dzX2RvbSB3aXRoIHN0cmluZyBuYW1lIGZvciBjb2RlJyk7
Ci0KLXByb21pc2VfdGVzdCgoKSA9PiB7Ci0gIHJldHVybiBtYWtlVGVzdCgoKSA9PiB7Ci0gICAg
dGVzdCgoKSA9PiB7Ci0gICAgICBhc3NlcnRfdGhyb3dzX2RvbSgiRGF0YUVycm9yIiwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICgpID0+IHsgdGhyb3cgbmV3IERPTUV4Y2VwdGlvbigieCIsICJE
YXRhRXJyb3IiKTsgfSk7Ci0gICAgfSk7Ci0gIH0pLnRoZW4oKHtoYXJuZXNzLCB0ZXN0c30pID0+
IHsKLSAgICBhc3NlcnRfZXF1YWxzKGhhcm5lc3MsICdPSycpOwotICAgIGFzc2VydF9lcXVhbHMo
dGVzdHNbJ0RvY3VtZW50IHRpdGxlJ10sICdQQVNTJyk7Ci0gIH0pOwotfSwgJ2Fzc2VydF90aHJv
d3NfZG9tIGZvciBhIGNvZGUtbGVzcyBET01FeGNlcHRpb24gdHlwZScpOwotCi1wcm9taXNlX3Rl
c3QoKCkgPT4gewotICByZXR1cm4gbWFrZVRlc3QoKCkgPT4gewotICAgIHRlc3QoKCkgPT4gewot
ICAgICAgYXNzZXJ0X3Rocm93c19kb20oIk5vU3VjaEVycm9yIiwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICgpID0+IHsgdGhyb3cgbmV3IERPTUV4Y2VwdGlvbigieCIsICJOb1N1Y2hFcnJvciIp
OyB9KTsKLSAgICB9KTsKLSAgfSkudGhlbigoe2hhcm5lc3MsIHRlc3RzfSkgPT4gewotICAgIGFz
c2VydF9lcXVhbHMoaGFybmVzcywgJ09LJyk7Ci0gICAgYXNzZXJ0X2VxdWFscyh0ZXN0c1snRG9j
dW1lbnQgdGl0bGUnXSwgJ0ZBSUwnKTsKLSAgfSk7Ci19LCAnYXNzZXJ0X3Rocm93c19kb20gZm9y
IGEgbm9uZXhpc3RlbnQgRE9NRXhjZXB0aW9uIHR5cGUnKTsKLQotcHJvbWlzZV90ZXN0KCgpID0+
IHsKLSAgcmV0dXJuIG1ha2VUZXN0KCgpID0+IHsKLSAgICB0ZXN0KCgpID0+IHsKLSAgICAgIGFz
c2VydF90aHJvd3NfZG9tKCJTeW50YXhFcnJvciIsICgpID0+IHsgdGhyb3cgbmV3IFN5bnRheEVy
cm9yKCk7IH0pOwotICAgIH0pOwotICB9KS50aGVuKCh7aGFybmVzcywgdGVzdHN9KSA9PiB7Ci0g
ICAgYXNzZXJ0X2VxdWFscyhoYXJuZXNzLCAnT0snKTsKLSAgICBhc3NlcnRfZXF1YWxzKHRlc3Rz
WydEb2N1bWVudCB0aXRsZSddLCAnRkFJTCcpOwotICB9KTsKLX0sICdhc3NlcnRfdGhyb3dzX2Rv
bSB3aGVuIGEgbm9uLURPTSBleGNlcHRpb24gaXMgdGhyb3duJyk7Ci0KLXByb21pc2VfdGVzdCgo
KSA9PiB7Ci0gIHJldHVybiBtYWtlVGVzdCgoKSA9PiB7Ci0gICAgdGVzdCgoKSA9PiB7Ci0gICAg
ICBhc3NlcnRfdGhyb3dzX2V4YWN0bHkoNSwgKCkgPT4geyB0aHJvdyA1OyB9KTsKLSAgICB9KTsK
LSAgfSkudGhlbigoe2hhcm5lc3MsIHRlc3RzfSkgPT4gewotICAgIGFzc2VydF9lcXVhbHMoaGFy
bmVzcywgJ09LJyk7Ci0gICAgYXNzZXJ0X2VxdWFscyh0ZXN0c1snRG9jdW1lbnQgdGl0bGUnXSwg
J1BBU1MnKTsKLSAgfSk7Ci19LCAnYXNzZXJ0X3Rocm93c19leGFjdGx5IHdpdGggbnVtYmVyJyk7
Ci0KLXByb21pc2VfdGVzdCgoKSA9PiB7Ci0gIHJldHVybiBtYWtlVGVzdCgoKSA9PiB7Ci0gICAg
dGVzdCgoKSA9PiB7Ci0gICAgICBhc3NlcnRfdGhyb3dzX2V4YWN0bHkoImZvbyIsICgpID0+IHsg
dGhyb3cgImZvbyI7IH0pOwotICAgIH0pOwotICB9KS50aGVuKCh7aGFybmVzcywgdGVzdHN9KSA9
PiB7Ci0gICAgYXNzZXJ0X2VxdWFscyhoYXJuZXNzLCAnT0snKTsKLSAgICBhc3NlcnRfZXF1YWxz
KHRlc3RzWydEb2N1bWVudCB0aXRsZSddLCAnUEFTUycpOwotICB9KTsKLX0sICdhc3NlcnRfdGhy
b3dzX2V4YWN0bHkgd2l0aCBzdHJpbmcnKTsKLQotcHJvbWlzZV90ZXN0KCgpID0+IHsKLSAgcmV0
dXJuIG1ha2VUZXN0KCgpID0+IHsKLSAgICB0ZXN0KCgpID0+IHsKLSAgICAgIGFzc2VydF90aHJv
d3NfZXhhY3RseSh7fSwgKCkgPT4geyB0aHJvdyB7fTsgfSk7Ci0gICAgfSk7Ci0gIH0pLnRoZW4o
KHtoYXJuZXNzLCB0ZXN0c30pID0+IHsKLSAgICBhc3NlcnRfZXF1YWxzKGhhcm5lc3MsICdPSycp
OwotICAgIGFzc2VydF9lcXVhbHModGVzdHNbJ0RvY3VtZW50IHRpdGxlJ10sICdGQUlMJyk7Ci0g
IH0pOwotfSwgJ2Fzc2VydF90aHJvd3NfZXhhY3RseSB3aXRoIGRpZmZlcmVudCBvYmplY3RzJyk7
Ci0KLXByb21pc2VfdGVzdCgoKSA9PiB7Ci0gIHJldHVybiBtYWtlVGVzdCgoKSA9PiB7Ci0gICAg
dGVzdCgoKSA9PiB7Ci0gICAgICB2YXIgb2JqID0ge307Ci0gICAgICBhc3NlcnRfdGhyb3dzX2V4
YWN0bHkob2JqLCAoKSA9PiB7IHRocm93IG9iajsgfSk7Ci0gICAgfSk7Ci0gIH0pLnRoZW4oKHto
YXJuZXNzLCB0ZXN0c30pID0+IHsKLSAgICBhc3NlcnRfZXF1YWxzKGhhcm5lc3MsICdPSycpOwot
ICAgIGFzc2VydF9lcXVhbHModGVzdHNbJ0RvY3VtZW50IHRpdGxlJ10sICdQQVNTJyk7Ci0gIH0p
OwotfSwgJ2Fzc2VydF90aHJvd3NfZXhhY3RseSB3aXRoIHNhbWUgb2JqZWN0Jyk7Ci0KLXByb21p
c2VfdGVzdCgoKSA9PiB7Ci0gIHJldHVybiBtYWtlVGVzdCgoKSA9PiB7Ci0gICAgdGVzdCgoKSA9
PiB7Ci0gICAgICBhc3NlcnRfdGhyb3dzX2V4YWN0bHkoVHlwZUVycm9yLCAoKSA9PiB7IHRocm93
IG5ldyBUeXBlRXJyb3I7IH0pOwotICAgIH0pOwotICB9KS50aGVuKCh7aGFybmVzcywgdGVzdHN9
KSA9PiB7Ci0gICAgYXNzZXJ0X2VxdWFscyhoYXJuZXNzLCAnT0snKTsKLSAgICBhc3NlcnRfZXF1
YWxzKHRlc3RzWydEb2N1bWVudCB0aXRsZSddLCAnRkFJTCcpOwotICB9KTsKLX0sICdhc3NlcnRf
dGhyb3dzX2V4YWN0bHkgd2l0aCBib2d1cyBUeXBlRXJyb3IgYml0cyAnKTsKLQotPC9zY3JpcHQ+
Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL3VuaXQvdW5wYWlyZWQtc3Vy
cm9nYXRlcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy91bml0L3VucGFpcmVkLXN1cnJvZ2F0ZXMuaHRtbApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMWIxNjJmZTcxZDIuLjAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rl
c3QvdGVzdHMvdW5pdC91bnBhaXJlZC1zdXJyb2dhdGVzLmh0bWwKKysrIC9kZXYvbnVsbApAQCAt
MSwxMzggKzAsMCBAQAotPCFET0NUWVBFIEhUTUw+Ci08aHRtbD4KLTxoZWFkPgotICA8bWV0YSBj
aGFyc2V0PSJ1dGYtOCI+Ci0gIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KLSAgPHRpdGxlPlJlc3RyaWN0aW9ucyBvbiByZXR1cm4gdmFsdWUgZnJvbSBg
dGVzdGA8L3RpdGxlPgotPC9oZWFkPgotPGJvZHk+Ci08c2NyaXB0PgotZnVuY3Rpb24gbWFrZVRl
c3QoLi4uYm9kaWVzKSB7Ci0gIGNvbnN0IGNsb3NlU2NyaXB0ID0gJzwnICsgJy9zY3JpcHQ+JzsK
LSAgbGV0IHNyYyA9IGAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLTx0aXRsZT5E
b2N1bWVudCB0aXRsZTwvdGl0bGU+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcz8ke01hdGgucmFuZG9tKCl9Ij4ke2Nsb3NlU2NyaXB0fQotPC9oZWFkPgotCi08Ym9keT4K
LTxkaXYgaWQ9ImxvZyI+PC9kaXY+YDsKLSAgYm9kaWVzLmZvckVhY2goKGJvZHkpID0+IHsKLSAg
ICBzcmMgKz0gJzxzY3JpcHQ+KCcgKyBib2R5ICsgJykoKTsnICsgY2xvc2VTY3JpcHQ7Ci0gIH0p
OwotCi0gIGNvbnN0IGlmcmFtZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lmcmFtZScpOwot
Ci0gIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaWZyYW1lKTsKLSAgaWZyYW1lLmNvbnRlbnRE
b2N1bWVudC53cml0ZShzcmMpOwotCi0gIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4g
ewotICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdtZXNzYWdlJywgZnVuY3Rpb24gb25NZXNz
YWdlKGUpIHsKLSAgICAgIGlmIChlLnNvdXJjZSAhPT0gaWZyYW1lLmNvbnRlbnRXaW5kb3cpIHsK
LSAgICAgICAgcmV0dXJuOwotICAgICAgfQotICAgICAgaWYgKCFlLmRhdGEgfHwgZS5kYXRhLnR5
cGUgIT09J2NvbXBsZXRlJykgewotICAgICAgICByZXR1cm47Ci0gICAgICB9Ci0gICAgICB3aW5k
b3cucmVtb3ZlRXZlbnRMaXN0ZW5lcignbWVzc2FnZScsIG9uTWVzc2FnZSk7Ci0gICAgICByZXNv
bHZlKGUuZGF0YSk7Ci0gICAgfSk7Ci0KLSAgICBpZnJhbWUuY29udGVudERvY3VtZW50LmNsb3Nl
KCk7Ci0gIH0pLnRoZW4oKHsgdGVzdHMsIHN0YXR1cyB9KSA9PiB7Ci0gICAgY29uc3Qgc3VtbWFy
eSA9IHsKLSAgICAgIGhhcm5lc3M6IHsKLSAgICAgICAgc3RhdHVzOiBnZXRFbnVtUHJvcChzdGF0
dXMsIHN0YXR1cy5zdGF0dXMpLAotICAgICAgICBtZXNzYWdlOiBzdGF0dXMubWVzc2FnZQotICAg
ICAgfSwKLSAgICAgIHRlc3RzOiB7fQotICAgIH07Ci0KLSAgICB0ZXN0cy5mb3JFYWNoKCh0ZXN0
KSA9PiB7Ci0gICAgICBzdW1tYXJ5LnRlc3RzW3Rlc3QubmFtZV0gPSBnZXRFbnVtUHJvcCh0ZXN0
LCB0ZXN0LnN0YXR1cyk7Ci0gICAgfSk7Ci0KLSAgICByZXR1cm4gc3VtbWFyeTsKLSAgfSk7Ci19
Ci0KLWZ1bmN0aW9uIGdldEVudW1Qcm9wKG9iamVjdCwgdmFsdWUpIHsKLSAgZm9yIChsZXQgcHJv
cGVydHkgaW4gb2JqZWN0KSB7Ci0gICAgaWYgKCEvXltBLVpdKyQvLnRlc3QocHJvcGVydHkpKSB7
Ci0gICAgICBjb250aW51ZTsKLSAgICB9Ci0KLSAgICBpZiAob2JqZWN0W3Byb3BlcnR5XSA9PT0g
dmFsdWUpIHsKLSAgICAgIHJldHVybiBwcm9wZXJ0eTsKLSAgICB9Ci0gIH0KLX0KLQotcHJvbWlz
ZV90ZXN0KCgpID0+IHsKLSAgcmV0dXJuIG1ha2VUZXN0KAotICAgICAgKCkgPT4gewotICAgICAg
ICB0ZXN0KCgpID0+IHt9LCAnYmVmb3JlJyk7Ci0gICAgICAgIHRlc3QoKCkgPT4ge30sICdVK2Q3
ZmYgaXMgbm90IG1vZGlmaWVkOiBcdWQ3ZmYnKTsKLSAgICAgICAgdGVzdCgoKSA9PiB7fSwgJ1Ur
ZTAwMCBpcyBub3QgbW9kaWZpZWQ6IFx1ZTAwMCcpOwotICAgICAgICB0ZXN0KCgpID0+IHt9LCAn
YWZ0ZXInKTsKLSAgICAgIH0KLSAgICApLnRoZW4oKHtoYXJuZXNzLCB0ZXN0c30pID0+IHsKLSAg
ICAgIGFzc2VydF9lcXVhbHMoaGFybmVzcy5zdGF0dXMsICdPSycpOwotICAgICAgYXNzZXJ0X2Vx
dWFscyhoYXJuZXNzLm1lc3NhZ2UsIG51bGwpOwotICAgICAgYXNzZXJ0X2VxdWFscyh0ZXN0cy5i
ZWZvcmUsICdQQVNTJyk7Ci0gICAgICBhc3NlcnRfZXF1YWxzKHRlc3RzWydVK2Q3ZmYgaXMgbm90
IG1vZGlmaWVkOiBcdWQ3ZmYnXSwgJ1BBU1MnKTsKLSAgICAgIGFzc2VydF9lcXVhbHModGVzdHNb
J1UrZTAwMCBpcyBub3QgbW9kaWZpZWQ6IFx1ZTAwMCddLCAnUEFTUycpOwotICAgICAgYXNzZXJ0
X2VxdWFscyh0ZXN0cy5hZnRlciwgJ1BBU1MnKTsKLSAgICB9KTsKLX0sICdzdWItdGVzdCBuYW1l
cyB3aGljaCBpbmNsdWRlIHZhbGlkIGNvZGUgdW5pdHMnKTsKLQotcHJvbWlzZV90ZXN0KCgpID0+
IHsKLSAgcmV0dXJuIG1ha2VUZXN0KAotICAgICAgKCkgPT4gewotICAgICAgICB0ZXN0KCgpID0+
IHt9LCAnYmVmb3JlJyk7Ci0gICAgICAgIHRlc3QoKCkgPT4ge30sICdVK2Q4MDBVK2RmZmYgaXMg
bm90IG1vZGlmaWVkOiBcdWQ4MDBcdWRmZmYnKTsKLSAgICAgICAgdGVzdCgoKSA9PiB7fSwgJ1Ur
ZGJmZlUrZGMwMCBpcyBub3QgbW9kaWZpZWQ6IFx1ZGJmZlx1ZGMwMCcpOwotICAgICAgICB0ZXN0
KCgpID0+IHt9LCAnYWZ0ZXInKTsKLSAgICAgIH0KLSAgICApLnRoZW4oKHtoYXJuZXNzLCB0ZXN0
c30pID0+IHsKLSAgICAgIGFzc2VydF9lcXVhbHMoaGFybmVzcy5zdGF0dXMsICdPSycpOwotICAg
ICAgYXNzZXJ0X2VxdWFscyhoYXJuZXNzLm1lc3NhZ2UsIG51bGwpOwotICAgICAgYXNzZXJ0X2Vx
dWFscyh0ZXN0cy5iZWZvcmUsICdQQVNTJyk7Ci0gICAgICBhc3NlcnRfZXF1YWxzKHRlc3RzWydV
K2Q4MDBVK2RmZmYgaXMgbm90IG1vZGlmaWVkOiBcdWQ4MDBcdWRmZmYnXSwgJ1BBU1MnKTsKLSAg
ICAgIGFzc2VydF9lcXVhbHModGVzdHNbJ1UrZGJmZlUrZGMwMCBpcyBub3QgbW9kaWZpZWQ6IFx1
ZGJmZlx1ZGMwMCddLCAnUEFTUycpOwotICAgICAgYXNzZXJ0X2VxdWFscyh0ZXN0cy5hZnRlciwg
J1BBU1MnKTsKLSAgICB9KTsKLX0sICdzdWItdGVzdCBuYW1lcyB3aGljaCBpbmNsdWRlIHBhaXJl
ZCBzdXJyb2dhdGVzJyk7Ci0KLXByb21pc2VfdGVzdCgoKSA9PiB7Ci0gIHJldHVybiBtYWtlVGVz
dCgKLSAgICAgICgpID0+IHsKLSAgICAgICAgdGVzdCgoKSA9PiB7fSwgJ2JlZm9yZScpOwotICAg
ICAgICB0ZXN0KCgpID0+IHt9LCAnVStkODAwIG11c3QgYmUgc2FuaXRpemVkOiBcdWQ4MDAnKTsK
LSAgICAgICAgdGVzdCgoKSA9PiB7fSwgJ1UrZDgwMFUrZDgwMSBtdXN0IGJlIHNhbml0aXplZDog
XHVkODAwXHVkODAxJyk7Ci0gICAgICAgIHRlc3QoKCkgPT4ge30sICdVK2RmZmYgbXVzdCBiZSBz
YW5pdGl6ZWQ6IFx1ZGZmZicpOwotICAgICAgICB0ZXN0KCgpID0+IHt9LCAnVStkYzAwVStkODAw
VStkYzAwVStkODAwIG11c3QgYmUgc2FuaXRpemVkOiBcdWRjMDBcdWQ4MDBcdWRjMDBcdWQ4MDAn
KTsKLSAgICAgICAgdGVzdCgoKSA9PiB7fSwgJ2FmdGVyJyk7Ci0gICAgICB9Ci0gICAgKS50aGVu
KCh7aGFybmVzcywgdGVzdHN9KSA9PiB7Ci0gICAgICBhc3NlcnRfZXF1YWxzKGhhcm5lc3Muc3Rh
dHVzLCAnT0snKTsKLSAgICAgIGFzc2VydF9lcXVhbHMoaGFybmVzcy5tZXNzYWdlLCBudWxsKTsK
LSAgICAgIGFzc2VydF9lcXVhbHModGVzdHMuYmVmb3JlLCAnUEFTUycpOwotICAgICAgYXNzZXJ0
X2VxdWFscyh0ZXN0c1snVStkODAwIG11c3QgYmUgc2FuaXRpemVkOiBVK2Q4MDAnXSwgJ1BBU1Mn
KTsKLSAgICAgIGFzc2VydF9lcXVhbHModGVzdHNbJ1UrZGZmZiBtdXN0IGJlIHNhbml0aXplZDog
VStkZmZmJ10sICdQQVNTJyk7Ci0gICAgICBhc3NlcnRfZXF1YWxzKAotICAgICAgICB0ZXN0c1sn
VStkODAwVStkODAxIG11c3QgYmUgc2FuaXRpemVkOiBVK2Q4MDBVK2Q4MDEnXSwKLSAgICAgICAg
J1BBU1MnCi0gICAgICApOwotICAgICAgYXNzZXJ0X2VxdWFscygKLSAgICAgICAgdGVzdHNbJ1Ur
ZGMwMFUrZDgwMFUrZGMwMFUrZDgwMCBtdXN0IGJlIHNhbml0aXplZDogVStkYzAwXHVkODAwXHVk
YzAwVStkODAwJ10sCi0gICAgICAgICdQQVNTJwotICAgICAgKTsKLSAgICAgIGFzc2VydF9lcXVh
bHModGVzdHMuYWZ0ZXIsICdQQVNTJyk7Ci0gICAgfSk7Ci19LCAnc3ViLXRlc3QgbmFtZXMgd2hp
Y2ggaW5jbHVkZSB1bnBhaXJlZCBzdXJyb2dhdGVzJyk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvdW5pdC93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMv
dW5pdC93M2MtaW1wb3J0LmxvZwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTUwNmU3
ZGI4MmYuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvdW5pdC93M2MtaW1wb3J0LmxvZworKysg
L2Rldi9udWxsCkBAIC0xLDI4ICswLDAgQEAKLVRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3
ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgotRG8gTk9UIG1vZGlmeSB0aGVz
ZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVl
c3Qgb24gdGhlIFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10
ZXN0cy93cHQKLQotVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBp
biBXZWJLaXQgdG8gcmVpbXBvcnQKLQotRG8gTk9UIG1vZGlmeSBvciByZW1vdmUgdGhpcyBmaWxl
LgotCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0KLVByb3BlcnRpZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhl
czoKLU5vbmUKLVByb3BlcnR5IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgotTm9u
ZQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tCi1MaXN0IG9mIGZpbGVzOgotL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvdW5pdC9hc3NlcnRf
b2JqZWN0X2VxdWFscy5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy91bml0L2Jhc2ljLmh0bWwKLS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL3Vu
aXQvZXhjZXB0aW9uYWwtY2FzZXMtdGltZW91dHMuaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvdW5pdC9leGNlcHRp
b25hbC1jYXNlcy5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy91bml0L2Zvcm1hdC12YWx1ZS5odG1sCi0vTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0
cy91bml0L2xhdGUtdGVzdC5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy91bml0L3Byb21pc2Vfc2V0dXAtdGltZW91
dC5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvdGVzdC90ZXN0cy91bml0L3Byb21pc2Vfc2V0dXAuaHRtbAotL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvdW5pdC9z
aW5nbGVfdGVzdC5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy91bml0L3Rlc3QtcmV0dXJuLXJlc3RyaWN0aW9ucy5o
dG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvdGVzdC90ZXN0cy91bml0L3Rocm93aW5nLWFzc2VydGlvbnMuaHRtbAotL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvdW5p
dC91bnBhaXJlZC1zdXJyb2dhdGVzLmh0bWwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvdzNjLWltcG9y
dC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy90ZXN0L3Rlc3RzL3czYy1pbXBvcnQubG9nCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCBhYjcxNTQ2NzllMy4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy93M2MtaW1wb3J0Lmxv
ZworKysgL2Rldi9udWxsCkBAIC0xLDQyICswLDAgQEAKLVRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVj
dG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgotRG8gTk9UIG1vZGlm
eSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBwdWxs
IHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMKLQotVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10
ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKLQotRG8gTk9UIG1vZGlmeSBvciByZW1vdmUgdGhp
cyBmaWxlLgotCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLVByb3BlcnRpZXMgcmVxdWlyaW5nIHZlbmRvciBw
cmVmaXhlczoKLU5vbmUKLVByb3BlcnR5IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVz
OgotTm9uZQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1MaXN0IG9mIGZpbGVzOgotL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvYWRkX2Ns
ZWFudXAuaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3Rlc3QvdGVzdHMvYWRkX2NsZWFudXBfY291bnQuaHRtbAotL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvYWRk
X2NsZWFudXBfZXJyLmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2FkZF9jbGVhbnVwX2Vycl9tdWx0aS5odG1sCi0v
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVz
dC90ZXN0cy9hcGktdGVzdHMtMS5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9hcGktdGVzdHMtMi5odG1sCi0vTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90
ZXN0cy9hcGktdGVzdHMtMy5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9nZW5lcmF0ZS1jYWxsYmFjay5odG1sCi0v
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVz
dC90ZXN0cy9pZnJhbWUtY2FsbGJhY2suaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWZyYW1lLWNvbnNvbGlkYXRl
LWVycm9ycy5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9pZnJhbWUtY29uc29saWRhdGUtdGVzdHMuaHRtbAotL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3Qv
dGVzdHMvaWZyYW1lLW1zZy5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9vcmRlci5odG1sCi0vTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9wcm9t
aXNlLWFzeW5jLmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL3Byb21pc2UuaHRtbAotL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvc2luZ2xlLXBh
Z2UtdGVzdC1mYWlsLmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL3NpbmdsZS1wYWdlLXRlc3Qtbm8tYXNzZXJ0aW9u
cy5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvdGVzdC90ZXN0cy9zaW5nbGUtcGFnZS10ZXN0LW5vLWJvZHkuaHRtbAotL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMv
c2luZ2xlLXBhZ2UtdGVzdC1wYXNzLmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL3VuY2F1Z2h0LWV4Y2VwdGlvbi1o
YW5kbGUuaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3Rlc3QvdGVzdHMvdW5jYXVnaHQtZXhjZXB0aW9uLWlnbm9yZS5odG1sCi0vTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90
ZXN0cy93b3JrZXItZGVkaWNhdGVkLmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL3dvcmtlci1lcnJvci5qcwotL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3Qv
dGVzdHMvd29ya2VyLXNlcnZpY2UuaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvd29ya2VyLXNoYXJlZC5odG1sCi0v
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVz
dC90ZXN0cy93b3JrZXIuanMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvd29ya2VyLWRlZGljYXRlZC5o
dG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvdGVzdC90ZXN0cy93b3JrZXItZGVkaWNhdGVkLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDBjYTNlNGQxNDVhLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL3dvcmtlci1k
ZWRpY2F0ZWQuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDk3ICswLDAgQEAKLTwhRE9DVFlQRSBI
VE1MPgotPGh0bWw+Ci08aGVhZD4KLTx0aXRsZT5EZWRpY2F0ZWQgV29ya2VyIFRlc3RzPC90aXRs
ZT4KLTxzY3JpcHQgc3JjPSIuLi8uLi90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0iLi4vLi4vdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJv
ZHk+Ci08aDE+RGVkaWNhdGVkIFdlYiBXb3JrZXIgVGVzdHM8L2gxPgotPHA+RGVtb25zdHJhdGVz
IHJ1bm5pbmcgPHR0PnRlc3RoYXJuZXNzPC90dD4gYmFzZWQgdGVzdHMgaW5zaWRlIGEgZGVkaWNh
dGVkIHdlYiB3b3JrZXIuCi08cD5UaGUgdGVzdCBoYXJuZXNzIGlzIGV4cGVjdGVkIHRvIGZhaWwg
ZHVlIHRvIGFuIHVuY2F1Z2h0IGV4Y2VwdGlvbiBpbiBvbmUgd29ya2VyLjwvcD4KLTxkaXYgaWQ9
ImxvZyI+PC9kaXY+Ci0KLTxzY3JpcHQ+Ci10ZXN0KGZ1bmN0aW9uKHQpIHsKLSAgICAgICAgYXNz
ZXJ0X3RydWUoIldvcmtlciIgaW4gc2VsZiwgIkJyb3dzZXIgc2hvdWxkIHN1cHBvcnQgV29ya2Vy
cyIpOwotICAgIH0sCi0gICAgIkJyb3dzZXIgc3VwcG9ydHMgV29ya2VycyIpOwotCi1mZXRjaF90
ZXN0c19mcm9tX3dvcmtlcihuZXcgV29ya2VyKCJ3b3JrZXIuanMiKSk7Ci0KLWZldGNoX3Rlc3Rz
X2Zyb21fd29ya2VyKG5ldyBXb3JrZXIoIndvcmtlci1lcnJvci5qcyIpKTsKLQotdGVzdChmdW5j
dGlvbih0KSB7Ci0gICAgICAgIGFzc2VydF9mYWxzZShmYWxzZSwgIkZhbHNlIGlzIGZhbHNlIik7
Ci0gICAgfSwKLSAgICAiVGVzdCBydW5uaW5nIG9uIG1haW4gZG9jdW1lbnQuIik7Ci08L3Njcmlw
dD4KLTxzY3JpcHQgdHlwZT0idGV4dC9qc29uIiBpZD0iZXhwZWN0ZWQiPgotewotICAic3VtbWFy
aXplZF9zdGF0dXMiOiB7Ci0gICAgInN0YXR1c19zdHJpbmciOiAiRVJST1IiLAotICAgICJtZXNz
YWdlIjogIkVycm9yOiBUaGlzIGZhaWx1cmUgaXMgZXhwZWN0ZWQuIiwKLSAgICAic3RhY2siOiAi
KGltcGxlbWVudGF0aW9uLWRlZmluZWQpIgotICB9LAotICAic3VtbWFyaXplZF90ZXN0cyI6IFsK
LSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1lIjogIkJy
b3dzZXIgc3VwcG9ydHMgV29ya2VycyIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAg
Im1lc3NhZ2UiOiBudWxsLAotICAgICAgInN0YWNrIjogbnVsbAotICAgIH0sCi0gICAgewotICAg
ICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJUZXN0IHJ1bm5pbmcg
b24gbWFpbiBkb2N1bWVudC4iLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNz
YWdlIjogbnVsbCwKLSAgICAgICJzdGFjayI6IG51bGwKLSAgICB9LAotICAgIHsKLSAgICAgICJz
dGF0dXNfc3RyaW5nIjogIkZBSUwiLAotICAgICAgIm5hbWUiOiAiVW50aXRsZWQiLAotICAgICAg
InByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogIkVycm9yOiBUaGlzIGZhaWx1cmUg
aXMgZXhwZWN0ZWQuIiwKLSAgICAgICJzdGFjayI6ICIoaW1wbGVtZW50YXRpb24tZGVmaW5lZCki
Ci0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJu
YW1lIjogIldvcmtlciBhc3luY190ZXN0IHRoYXQgY29tcGxldGVzIHN1Y2Nlc3NmdWxseSIsCi0g
ICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgInN0
YWNrIjogbnVsbAotICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIs
Ci0gICAgICAibmFtZSI6ICJXb3JrZXIgdGVzdCB0aGF0IGNvbXBsZXRlcyBzdWNjZXNzZnVsbHki
LAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAg
ICJzdGFjayI6IG51bGwKLSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIk5P
VFJVTiIsCi0gICAgICAibmFtZSI6ICJXb3JrZXIgdGVzdCB0aGF0IGRvZXNuJ3QgcnVuICgnTk9U
IFJVTicpIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6IG51bGws
Ci0gICAgICAic3RhY2siOiBudWxsCi0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmlu
ZyI6ICJGQUlMIiwKLSAgICAgICJuYW1lIjogIldvcmtlciB0ZXN0IHRoYXQgZmFpbHMgKCdGQUlM
JykiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogImFzc2VydF90
cnVlOiBGYWlsaW5nIHRlc3QgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UiLAotICAgICAgInN0YWNr
IjogIihpbXBsZW1lbnRhdGlvbi1kZWZpbmVkKSIKLSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0
dXNfc3RyaW5nIjogIlRJTUVPVVQiLAotICAgICAgIm5hbWUiOiAiV29ya2VyIHRlc3QgdGhhdCB0
aW1lcyBvdXQgKCdUSU1FT1VUJykiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJt
ZXNzYWdlIjogIlRlc3QgdGltZWQgb3V0IiwKLSAgICAgICJzdGFjayI6IG51bGwKLSAgICB9Ci0g
IF0sCi0gICJ0eXBlIjogImNvbXBsZXRlIgotfQotPC9zY3JpcHQ+Ci08L2JvZHk+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy90ZXN0L3Rlc3RzL3dvcmtlci1lcnJvci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvd29ya2VyLWVycm9yLmpzCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhMjVmMGRiMTg4Yi4uMDAwMDAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
dGVzdC90ZXN0cy93b3JrZXItZXJyb3IuanMKKysrIC9kZXYvbnVsbApAQCAtMSwzICswLDAgQEAK
LWltcG9ydFNjcmlwdHMoIi4uLy4uL3Rlc3RoYXJuZXNzLmpzIik7Ci0KLXRocm93IG5ldyBFcnJv
cigiVGhpcyBmYWlsdXJlIGlzIGV4cGVjdGVkLiIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy93b3Jr
ZXItc2VydmljZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy93b3JrZXItc2VydmljZS5odG1sCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCA0MThmNmQ3MmJiMS4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0
cy93b3JrZXItc2VydmljZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTIzICswLDAgQEAKLTwh
RE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLTx0aXRsZT5FeGFtcGxlIHdpdGggYSBzZXJ2
aWNlIHdvcmtlcjwvdGl0bGU+Ci08c2NyaXB0IHNyYz0iLi4vLi4vdGVzdGhhcm5lc3MuanMiPjwv
c2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Njcmlw
dD4KLTwvaGVhZD4KLTxib2R5PgotPGgxPlNlcnZpY2UgV29ya2VyIFRlc3RzPC9oMT4KLTxwPkRl
bW9uc3RyYXRlcyBydW5uaW5nIDx0dD50ZXN0aGFybmVzczwvdHQ+IGJhc2VkIHRlc3RzIGluc2lk
ZSBhIHNlcnZpY2Ugd29ya2VyLgotPHA+VGhlIHRlc3QgaGFybmVzcyBzaG91bGQgdGltZSBvdXQg
ZHVlIHRvIG9uZSBvZiB0aGUgdGVzdHMgaW5zaWRlIHRoZSB3b3JrZXIgdGltaW5nIG91dC4KLTxw
PlRoaXMgdGVzdCBhc3N1bWVzIHRoYXQgdGhlIGJyb3dzZXIgc3VwcG9ydHMgPGEgaHJlZj0iaHR0
cDovL3d3dy53My5vcmcvVFIvc2VydmljZS13b3JrZXJzLyI+U2VydmljZVdvcmtlcnM8L2E+Lgot
PGRpdiBpZD0ibG9nIj48L2Rpdj4KLQotPHNjcmlwdD4KLXRlc3QoCi0gICAgZnVuY3Rpb24odCkg
ewotICAgICAgICBhc3NlcnRfdHJ1ZSgic2VydmljZVdvcmtlciIgaW4gbmF2aWdhdG9yLAotICAg
ICAgICAgICAgICAgICAgICAibmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIgZXhpc3RzIik7Ci0gICAg
fSwKLSAgICAiQnJvd3NlciBzdXBwb3J0cyBTZXJ2aWNlV29ya2VyIik7Ci0KLXByb21pc2VfdGVz
dCgKLSAgICBmdW5jdGlvbigpIHsKLSAgICAgICAgLy8gU2luY2UgdGhlIHNlcnZpY2Ugd29ya2Vy
IHJlZ2lzdHJhdGlvbiBjb3VsZCBiZSBpbiBhbiBpbmRldGVybWluYXRlCi0gICAgICAgIC8vIHN0
YXRlIChkdWUgdG8sIGZvciBleGFtcGxlLCBhIHByZXZpb3VzIHRlc3QgcnVuIGZhaWxpbmcpLCB3
ZSBzdGFydCBieQotICAgICAgICAvLyB1bnJlZ3N0ZXJpbmcgb3VyIHNlcnZpY2Ugd29ya2VyIGFu
ZCB0aGVuIHJlZ2lzdGVyaW5nIGl0IGFnYWluLgotICAgICAgICB2YXIgc2NvcGUgPSAic2Vydmlj
ZS13b3JrZXItc2NvcGUiOwotICAgICAgICB2YXIgd29ya2VyX3VybCA9ICJ3b3JrZXIuanMiOwot
Ci0gICAgICAgIHJldHVybiBuYXZpZ2F0b3Iuc2VydmljZVdvcmtlci5yZWdpc3Rlcih3b3JrZXJf
dXJsLCB7c2NvcGU6IHNjb3BlfSkKLSAgICAgICAgICAgIC50aGVuKAotICAgICAgICAgICAgICAg
IGZ1bmN0aW9uKHJlZ2lzdHJhdGlvbikgewotICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVn
aXN0cmF0aW9uLnVucmVnaXN0ZXIoKTsKLSAgICAgICAgICAgICAgICB9KQotICAgICAgICAgICAg
LnRoZW4oCi0gICAgICAgICAgICAgICAgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgICAg
IHJldHVybiBuYXZpZ2F0b3Iuc2VydmljZVdvcmtlci5yZWdpc3Rlcih3b3JrZXJfdXJsLCB7c2Nv
cGU6IHNjb3BlfSk7Ci0gICAgICAgICAgICAgICAgfSkKLSAgICAgICAgICAgIC50aGVuKAotICAg
ICAgICAgICAgICAgIGZ1bmN0aW9uKHJlZ2lzdHJhdGlvbikgewotICAgICAgICAgICAgICAgICAg
ICBhZGRfY29tcGxldGlvbl9jYWxsYmFjaygKLSAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0
aW9uKCkgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZ2lzdHJhdGlvbi51bnJlZ2lz
dGVyKCk7Ci0gICAgICAgICAgICAgICAgICAgICAgICB9KTsKLQotICAgICAgICAgICAgICAgICAg
ICByZXR1cm4gbmV3IFByb21pc2UoCi0gICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbihy
ZXNvbHZlKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVnaXN0cmF0aW9uLmFkZEV2
ZW50TGlzdGVuZXIoInVwZGF0ZWZvdW5kIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNv
bHZlKHJlZ2lzdHJhdGlvbi5pbnN0YWxsaW5nKTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgfSk7Ci0gICAgICAgICAgICAgICAgICAgICAgICB9KTsKLSAgICAgICAgICAgICAgICB9
KQotICAgICAgICAgICAgLnRoZW4oCi0gICAgICAgICAgICAgICAgZnVuY3Rpb24od29ya2VyKSB7
Ci0gICAgICAgICAgICAgICAgICAgIGZldGNoX3Rlc3RzX2Zyb21fd29ya2VyKHdvcmtlcik7Ci0g
ICAgICAgICAgICAgICAgfSk7Ci0gICAgfSwKLSAgICAiUmVnaXN0ZXIgU2VydmljZVdvcmtlciIp
OwotPC9zY3JpcHQ+Ci08c2NyaXB0IHR5cGU9InRleHQvanNvbiIgaWQ9ImV4cGVjdGVkIj4KLXsK
LSAgInN1bW1hcml6ZWRfc3RhdHVzIjogewotICAgICJzdGF0dXNfc3RyaW5nIjogIlRJTUVPVVQi
LAotICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAic3RhY2siOiBudWxsCi0gIH0sCi0gICJzdW1t
YXJpemVkX3Rlc3RzIjogWwotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAot
ICAgICAgIm5hbWUiOiAiQnJvd3NlciBzdXBwb3J0cyBTZXJ2aWNlV29ya2VyIiwKLSAgICAgICJw
cm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAic3RhY2siOiBu
dWxsCi0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAg
ICJuYW1lIjogIlJlZ2lzdGVyIFNlcnZpY2VXb3JrZXIiLAotICAgICAgInByb3BlcnRpZXMiOiB7
fSwKLSAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICJzdGFjayI6IG51bGwKLSAgICB9LAot
ICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUiOiAiV29y
a2VyIGFzeW5jX3Rlc3QgdGhhdCBjb21wbGV0ZXMgc3VjY2Vzc2Z1bGx5IiwKLSAgICAgICJwcm9w
ZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAic3RhY2siOiBudWxs
Ci0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJu
YW1lIjogIldvcmtlciB0ZXN0IHRoYXQgY29tcGxldGVzIHN1Y2Nlc3NmdWxseSIsCi0gICAgICAi
cHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgInN0YWNrIjog
bnVsbAotICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiTk9UUlVOIiwKLSAg
ICAgICJuYW1lIjogIldvcmtlciB0ZXN0IHRoYXQgZG9lc24ndCBydW4gKCdOT1QgUlVOJykiLAot
ICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICJz
dGFjayI6IG51bGwKLSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIkZBSUwi
LAotICAgICAgIm5hbWUiOiAiV29ya2VyIHRlc3QgdGhhdCBmYWlscyAoJ0ZBSUwnKSIsCi0gICAg
ICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiAiYXNzZXJ0X3RydWU6IEZhaWxp
bmcgdGVzdCBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZSIsCi0gICAgICAic3RhY2siOiAiKGltcGxl
bWVudGF0aW9uLWRlZmluZWQpIgotICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmci
OiAiVElNRU9VVCIsCi0gICAgICAibmFtZSI6ICJXb3JrZXIgdGVzdCB0aGF0IHRpbWVzIG91dCAo
J1RJTUVPVVQnKSIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiAi
VGVzdCB0aW1lZCBvdXQiLAotICAgICAgInN0YWNrIjogbnVsbAotICAgIH0KLSAgXSwKLSAgInR5
cGUiOiAiY29tcGxldGUiCi19Ci08L3NjcmlwdD4KLTwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVz
dHMvd29ya2VyLXNoYXJlZC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy93b3JrZXItc2hhcmVkLmh0bWwKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGE1NjAxZGUwMzg2Li4wMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0
L3Rlc3RzL3dvcmtlci1zaGFyZWQuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDgwICswLDAgQEAK
LTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLTx0aXRsZT5FeGFtcGxlIHdpdGggYSBz
aGFyZWQgd29ya2VyPC90aXRsZT4KLTxzY3JpcHQgc3JjPSIuLi8uLi90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2Ny
aXB0PgotPC9oZWFkPgotPGJvZHk+Ci08aDE+U2hhcmVkIFdlYiBXb3JrZXIgVGVzdHM8L2gxPgot
PHA+RGVtb25zdHJhdGVzIHJ1bm5pbmcgPHR0PnRlc3RoYXJuZXNzPC90dD4gYmFzZWQgdGVzdHMg
aW5zaWRlIGEgc2hhcmVkIHdvcmtlci4KLTxwPlRoZSB0ZXN0IGhhcm5lc3Mgc2hvdWxkIHRpbWUg
b3V0IGR1ZSB0byBvbmUgb2YgdGhlIHRlc3RzIGluIHRoZSB3b3JrZXIgdGltaW5nIG91dC4KLTxw
PlRoaXMgdGVzdCBhc3N1bWVzIHRoYXQgdGhlIGJyb3dzZXIgc3VwcG9ydHMgPGEgaHJlZj0iaHR0
cDovL3d3dy53My5vcmcvVFIvd29ya2Vycy8jc2hhcmVkLXdvcmtlcnMtYW5kLXRoZS1zaGFyZWR3
b3JrZXItaW50ZXJmYWNlIj5zaGFyZWQgd2ViIHdvcmtlcnM8L2E+LgotPGRpdiBpZD0ibG9nIj48
L2Rpdj4KLQotPHNjcmlwdD4KLXRlc3QoCi0gICAgZnVuY3Rpb24odCkgewotICAgICAgICBhc3Nl
cnRfdHJ1ZSgiU2hhcmVkV29ya2VyIiBpbiBzZWxmLAotICAgICAgICAgICAgICAgICAgICAiQnJv
d3NlciBzaG91bGQgc3VwcG9ydCBTaGFyZWRXb3JrZXJzIik7Ci0gICAgfSwKLSAgICAiQnJvd3Nl
ciBzdXBwb3J0cyBTaGFyZWRXb3JrZXJzIik7Ci0KLWZldGNoX3Rlc3RzX2Zyb21fd29ya2VyKG5l
dyBTaGFyZWRXb3JrZXIoIndvcmtlci5qcyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJNeSBzaGFyZWQgd29ya2VyIikpOwotPC9zY3JpcHQ+Ci08c2NyaXB0IHR5
cGU9InRleHQvanNvbiIgaWQ9ImV4cGVjdGVkIj4KLXsKLSAgInN1bW1hcml6ZWRfc3RhdHVzIjog
ewotICAgICJzdGF0dXNfc3RyaW5nIjogIlRJTUVPVVQiLAotICAgICJtZXNzYWdlIjogbnVsbCwK
LSAgICAic3RhY2siOiBudWxsCi0gIH0sCi0gICJzdW1tYXJpemVkX3Rlc3RzIjogWwotICAgIHsK
LSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUiOiAiQnJvd3NlciBz
dXBwb3J0cyBTaGFyZWRXb3JrZXJzIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAi
bWVzc2FnZSI6IG51bGwsCi0gICAgICAic3RhY2siOiBudWxsCi0gICAgfSwKLSAgICB7Ci0gICAg
ICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAibmFtZSI6ICJXb3JrZXIgYXN5bmNfdGVzdCB0aGF0
IGNvbXBsZXRlcyBzdWNjZXNzZnVsbHkiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAg
ICJzdGFjayI6IG51bGwsCi0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIgotICAgIH0sCi0g
ICAgewotICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgIm5hbWUiOiAiV29ya2VyIHRlc3Qg
dGhhdCBjb21wbGV0ZXMgc3VjY2Vzc2Z1bGx5IiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0g
ICAgICAic3RhY2siOiBudWxsLAotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIKLSAgICB9
LAotICAgIHsKLSAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICJuYW1lIjogIldvcmtlciB0
ZXN0IHRoYXQgZG9lc24ndCBydW4gKCdOT1QgUlVOJykiLAotICAgICAgInByb3BlcnRpZXMiOiB7
fSwKLSAgICAgICJzdGFjayI6IG51bGwsCi0gICAgICAic3RhdHVzX3N0cmluZyI6ICJOT1RSVU4i
Ci0gICAgfSwKLSAgICB7Ci0gICAgICAibWVzc2FnZSI6ICJhc3NlcnRfdHJ1ZTogRmFpbGluZyB0
ZXN0IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlIiwKLSAgICAgICJuYW1lIjogIldvcmtlciB0ZXN0
IHRoYXQgZmFpbHMgKCdGQUlMJykiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJz
dGFjayI6ICIoaW1wbGVtZW50YXRpb24tZGVmaW5lZCkiLAotICAgICAgInN0YXR1c19zdHJpbmci
OiAiRkFJTCIKLSAgICB9LAotICAgIHsKLSAgICAgICJtZXNzYWdlIjogIlRlc3QgdGltZWQgb3V0
IiwKLSAgICAgICJuYW1lIjogIldvcmtlciB0ZXN0IHRoYXQgdGltZXMgb3V0ICgnVElNRU9VVCcp
IiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAic3RhY2siOiBudWxsLAotICAgICAg
InN0YXR1c19zdHJpbmciOiAiVElNRU9VVCIKLSAgICB9Ci0gIF0sCi0gICJ0eXBlIjogImNvbXBs
ZXRlIgotfQotPC9zY3JpcHQ+Ci08L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL3dvcmtlci5q
cyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3Rlc3QvdGVzdHMvd29ya2VyLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhMjU2
MjFhYzFlNC4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy93b3JrZXIuanMKKysrIC9kZXYvbnVs
bApAQCAtMSwzNCArMCwwIEBACi1pbXBvcnRTY3JpcHRzKCIuLi8uLi90ZXN0aGFybmVzcy5qcyIp
OwotCi10ZXN0KAotICAgIGZ1bmN0aW9uKHRlc3QpIHsKLSAgICAgICAgYXNzZXJ0X3RydWUodHJ1
ZSwgIlRydWUgaXMgdHJ1ZSIpOwotICAgIH0sCi0gICAgIldvcmtlciB0ZXN0IHRoYXQgY29tcGxl
dGVzIHN1Y2Nlc3NmdWxseSIpOwotCi10ZXN0KAotICAgIGZ1bmN0aW9uKHRlc3QpIHsKLSAgICAg
ICAgYXNzZXJ0X3RydWUoZmFsc2UsICJGYWlsaW5nIHRlc3QiKTsKLSAgICB9LAotICAgICJXb3Jr
ZXIgdGVzdCB0aGF0IGZhaWxzICgnRkFJTCcpIik7Ci0KLWFzeW5jX3Rlc3QoCi0gICAgZnVuY3Rp
b24odGVzdCkgewotICAgICAgICBhc3NlcnRfdHJ1ZSh0cnVlLCAiVHJ1ZSBpcyB0cnVlIik7Ci0g
ICAgfSwKLSAgICAiV29ya2VyIHRlc3QgdGhhdCB0aW1lcyBvdXQgKCdUSU1FT1VUJykiKTsKLQot
YXN5bmNfdGVzdCgiV29ya2VyIHRlc3QgdGhhdCBkb2Vzbid0IHJ1biAoJ05PVCBSVU4nKSIpOwot
Ci1hc3luY190ZXN0KAotICAgIGZ1bmN0aW9uKHRlc3QpIHsKLSAgICAgICAgc2VsZi5zZXRUaW1l
b3V0KAotICAgICAgICAgICAgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgdGVzdC5kb25l
KCk7Ci0gICAgICAgICAgICB9LAotICAgICAgICAgICAgMCk7Ci0gICAgfSwKLSAgICAiV29ya2Vy
IGFzeW5jX3Rlc3QgdGhhdCBjb21wbGV0ZXMgc3VjY2Vzc2Z1bGx5Iik7Ci0KLS8vIEFuIGV4cGxp
Y2l0IGRvbmUoKSBpcyByZXF1aXJlZCBmb3IgZGVkaWNhdGVkIGFuZCBzaGFyZWQgd2ViIHdvcmtl
cnMuCi1kb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3RveC5pbmkgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3RveC5pbmkKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQwYzUxODZmMTU2Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rv
eC5pbmkKKysrIC9kZXYvbnVsbApAQCAtMSwxNyArMCwwIEBACi1bdG94XQotIyBOb3RlIHRoYXQg
b25seSBweTI3IGlzIHJ1biBpbiBDSS4KLWVudmxpc3QgPSBweTI3LHB5MzYKLXNraXBzZGlzdD1U
cnVlCi0KLVt0ZXN0ZW52XQotcGFzc2Vudj1ESVNQTEFZICMgTmVjZXNzYXJ5IGZvciB0aGUgc3Bh
d25lZCBHZWNrb0RyaXZlciBwcm9jZXNzIHRvIGNvbm5lY3QgdG8KLSAgICAgICAgICAgICAgICAj
IHRoZSBhcHByb3ByaWF0ZSBkaXNwbGF5LgotZGVwcyA9Ci0gIGh0bWw1bGliCi0gIHB5dGVzdD49
Mi45Ci0gIHB5dmlydHVhbGRpc3BsYXkKLSAgc2VsZW5pdW0KLSAgc2l4Ci0gIHJlcXVlc3RzCi0K
LWNvbW1hbmRzID0gcHl0ZXN0IC12diB7cG9zYXJnc30KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdmFyaWFudHMu
anMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy90ZXN0L3ZhcmlhbnRzLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlZWJhYzZm
N2QxNC4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC92YXJpYW50cy5qcworKysgL2Rldi9udWxsCkBAIC0x
LDU3ICswLDAgQEAKLShmdW5jdGlvbigpIHsKLSAgJ3VzZSBzdHJpY3QnOwotICB2YXIgdmFyaWFu
dHMgPSB7Ci0gICAgLyoqCi0gICAgICogVGVzdHMgYXJlIGV4ZWN1dGVkIGluIHRoZSBhYnNlbmNl
IG9mIHRoZSBnbG9iYWwgUHJvbWlzZSBjb25zdHJ1Y3RvciBieQotICAgICAqIGRlZmF1bHQgaW4g
b3JkZXIgdG8gdmVyaWZ5IHN1cHBvcnQgZm9yIHRoZSBTZXJ2ZXIgYnJvd3NlciBlbmdpbmUuCi0g
ICAgICoKLSAgICAgKiBodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdC9p
c3N1ZXMvNjI2NgotICAgICAqLwotICAgICdkZWZhdWx0JzogewotICAgICAgZGVzY3JpcHRpb246
ICdHbG9iYWwgUHJvbWlzZSBjb25zdHJ1Y3RvciByZW1vdmVkLicsCi0gICAgICBhcHBseTogZnVu
Y3Rpb24oKSB7Ci0gICAgICAgIGRlbGV0ZSB3aW5kb3cuUHJvbWlzZTsKLSAgICAgIH0KLSAgICB9
LAotICAgIC8qKgotICAgICAqIFRoaXMgdmFyaWFudCBhbGxvd3MgZm9yIHRlc3RpbmcgZnVuY3Rp
b25hbGl0eSB0aGF0IGlzIGZ1bmRhbWVudGFsbHkKLSAgICAgKiBkZXBlbmRlbnQgb24gUHJvbWlz
ZSBzdXBwb3J0LCBlLmcuIHRoZSBgcHJvbWlzZV90ZXN0YCBmdW5jdGlvbgotICAgICAqLwotICAg
ICdrZWVwLXByb21pc2UnOiB7Ci0gICAgICBkZXNjcmlwdGlvbjogJ05vIG1vZGlmaWNhdGlvbiBv
ZiBnbG9iYWwgZW52aXJvbm1lbnQuJywKLSAgICAgIGFwcGx5OiBmdW5jdGlvbigpIHt9Ci0gICAg
fQotICB9OwotICB2YXIgbWF0Y2ggPSB3aW5kb3cubG9jYXRpb24uc2VhcmNoLm1hdGNoKC9cPygu
KikkLyk7Ci0gIHZhciB2YXJpYW50TmFtZSA9IChtYXRjaCAmJiBtYXRjaFsxXSkgfHwgJ2RlZmF1
bHQnOwotCi0gIGlmICghT2JqZWN0Lmhhc093blByb3BlcnR5LmNhbGwodmFyaWFudHMsIHZhcmlh
bnROYW1lKSkgewotICAgIHdpbmRvdy5sb2NhdGlvbiA9ICdqYXZhc2NyaXB0OiJVbnJlY29nbml6
ZWQgdmFyaWFudDogJyArIHZhcmlhbnROYW1lICsgJyI7JzsKLSAgICBkb2N1bWVudC5jbG9zZSgp
OwotICAgIHJldHVybjsKLSAgfQotCi0gIGlmICh0eXBlb2YgdGVzdCA9PT0gJ2Z1bmN0aW9uJykg
ewotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICBhc3NlcnRfdW5yZWFjaGVkKCd2YXJpYW50
cy5qcyBtdXN0IGJlIGluY2x1ZGVkIGJlZm9yZSB0ZXN0aGFybmVzcy5qcycpOwotICAgIH0pOwot
ICB9Ci0gIHZhciB2YXJpYW50ID0gdmFyaWFudHNbdmFyaWFudE5hbWVdOwotCi0gIHZhciB2YXJp
YW50Tm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwotICB2YXJpYW50Tm9kZS5p
bm5lckhUTUwgPSAnPHA+VGhpcyB0ZXN0aGFybmVzcy5qcyB0ZXN0IHdhcyBleGVjdXRlZCB3aXRo
ICcgKwotICAgICd0aGUgdmFyaWFudCBuYW1lZCwgIicgKyB2YXJpYW50TmFtZSArICciLiAnICsg
dmFyaWFudC5kZXNjcmlwdGlvbiArCi0gICAgJzwvcD48cD5SZWZlciB0byB0aGUgdGVzdCBoYXJu
ZXNzIFJFQURNRSBmaWxlIGZvciBtb3JlIGluZm9ybWF0aW9uLjwvcD4nOwotICBmdW5jdGlvbiBv
blJlYWR5KCkgewotICAgIGlmIChkb2N1bWVudC5yZWFkeVN0YXRlICE9PSAnY29tcGxldGUnKSB7
Ci0gICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgZG9jdW1lbnQuYm9keS5pbnNlcnRCZWZvcmUo
dmFyaWFudE5vZGUsIGRvY3VtZW50LmJvZHkuZmlyc3RDaGlsZCk7Ci0gIH0KLQotICBvblJlYWR5
KCk7Ci0gIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3JlYWR5c3RhdGVjaGFuZ2UnLCBvblJl
YWR5KTsKLQotICB2YXJpYW50LmFwcGx5KCk7Ci19KCkpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC93M2MtaW1w
b3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3Rlc3QvdzNjLWltcG9ydC5sb2cKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IGU3YTQ4NmE5Yjk2Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3czYy1pbXBvcnQubG9nCisrKyAvZGV2
L251bGwKQEAgLTEsMjQgKzAsMCBAQAotVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUg
aW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCi1EbyBOT1QgbW9kaWZ5IHRoZXNlIHRl
c3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBv
biB0aGUgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3Rz
L3dwdAotCi1UaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdl
YktpdCB0byByZWltcG9ydAotCi1EbyBOT1QgbW9kaWZ5IG9yIHJlbW92ZSB0aGlzIGZpbGUuCi0K
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLQotUHJvcGVydGllcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgot
Tm9uZQotUHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6Ci1Ob25lCi0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0KLUxpc3Qgb2YgZmlsZXM6Ci0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC9SRUFETUUubWQKLS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L2NvbmZ0ZXN0
LnB5Ci0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvdGVzdC9oYXJuZXNzLmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L2lkbC1oZWxwZXIuanMKLS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L25lc3RlZC10ZXN0aGFy
bmVzcy5qcwotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3Rlc3QvdG94LmluaQotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdmFyaWFudHMuanMKLS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3dwdHNlcnZlci5weQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvdGVzdC93cHRzZXJ2ZXIucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3dwdHNlcnZlci5weQpkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggZDQ3ZTMyNWZiZWYuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3Qvd3B0c2VydmVy
LnB5CisrKyAvZGV2L251bGwKQEAgLTEsNTQgKzAsMCBAQAotaW1wb3J0IGxvZ2dpbmcKLWltcG9y
dCBvcwotaW1wb3J0IHN1YnByb2Nlc3MKLWltcG9ydCB0aW1lCi1pbXBvcnQgc3lzCi1mcm9tIHNp
eC5tb3ZlcyBpbXBvcnQgdXJsbGliCi0KLQotY2xhc3MgV1BUU2VydmVyKG9iamVjdCk6Ci0gICAg
ZGVmIF9faW5pdF9fKHNlbGYsIHdwdF9yb290KToKLSAgICAgICAgc2VsZi53cHRfcm9vdCA9IHdw
dF9yb290Ci0KLSAgICAgICAgIyBUaGlzIGlzIGEgdGVycmlibGUgaGFjayB0byBnZXQgdGhlIGRl
ZmF1bHQgY29uZmlnIG9mIHdwdHNlcnZlLgotICAgICAgICBzeXMucGF0aC5pbnNlcnQoMCwgb3Mu
cGF0aC5qb2luKHdwdF9yb290LCAidG9vbHMiKSkKLSAgICAgICAgZnJvbSBzZXJ2ZS5zZXJ2ZSBp
bXBvcnQgYnVpbGRfY29uZmlnCi0gICAgICAgIHdpdGggYnVpbGRfY29uZmlnKCkgYXMgY29uZmln
OgotICAgICAgICAgICAgc2VsZi5ob3N0ID0gY29uZmlnWyJicm93c2VyX2hvc3QiXQotICAgICAg
ICAgICAgc2VsZi5odHRwX3BvcnQgPSBjb25maWdbInBvcnRzIl1bImh0dHAiXVswXQotICAgICAg
ICAgICAgc2VsZi5odHRwc19wb3J0ID0gY29uZmlnWyJwb3J0cyJdWyJodHRwcyJdWzBdCi0KLSAg
ICAgICAgc2VsZi5iYXNlX3VybCA9ICdodHRwOi8vJXM6JXMnICUgKHNlbGYuaG9zdCwgc2VsZi5o
dHRwX3BvcnQpCi0gICAgICAgIHNlbGYuaHR0cHNfYmFzZV91cmwgPSAnaHR0cHM6Ly8lczolcycg
JSAoc2VsZi5ob3N0LCBzZWxmLmh0dHBzX3BvcnQpCi0KLSAgICBkZWYgc3RhcnQoc2VsZik6Ci0g
ICAgICAgIHNlbGYuZGV2bnVsbCA9IG9wZW4ob3MuZGV2bnVsbCwgJ3cnKQotICAgICAgICB3cHRz
ZXJ2ZV9jbWQgPSBbb3MucGF0aC5qb2luKHNlbGYud3B0X3Jvb3QsICd3cHQnKSwgJ3NlcnZlJ10K
LSAgICAgICAgbG9nZ2luZy5pbmZvKCdFeGVjdXRpbmcgJXMnICUgJyAnLmpvaW4od3B0c2VydmVf
Y21kKSkKLSAgICAgICAgc2VsZi5wcm9jID0gc3VicHJvY2Vzcy5Qb3BlbigKLSAgICAgICAgICAg
IHdwdHNlcnZlX2NtZCwKLSAgICAgICAgICAgIHN0ZGVycj1zZWxmLmRldm51bGwsCi0gICAgICAg
ICAgICBjd2Q9c2VsZi53cHRfcm9vdCkKLQotICAgICAgICBmb3IgcmV0cnkgaW4gcmFuZ2UoNSk6
Ci0gICAgICAgICAgICAjIEV4cG9uZW50aWFsIGJhY2tvZmYuCi0gICAgICAgICAgICB0aW1lLnNs
ZWVwKDIgKiogcmV0cnkpCi0gICAgICAgICAgICBleGl0X2NvZGUgPSBzZWxmLnByb2MucG9sbCgp
Ci0gICAgICAgICAgICBpZiBleGl0X2NvZGUgIT0gTm9uZToKLSAgICAgICAgICAgICAgICBsb2dn
aW5nLndhcm4oJ0NvbW1hbmQgIiVzIiBleGl0ZWQgd2l0aCAlcycsICcgJy5qb2luKHdwdHNlcnZl
X2NtZCksIGV4aXRfY29kZSkKLSAgICAgICAgICAgICAgICBicmVhawotICAgICAgICAgICAgdHJ5
OgotICAgICAgICAgICAgICAgIHVybGxpYi5yZXF1ZXN0LnVybG9wZW4oc2VsZi5iYXNlX3VybCwg
dGltZW91dD0xKQotICAgICAgICAgICAgICAgIHJldHVybgotICAgICAgICAgICAgZXhjZXB0IHVy
bGxpYi5lcnJvci5VUkxFcnJvcjoKLSAgICAgICAgICAgICAgICBwYXNzCi0KLSAgICAgICAgcmFp
c2UgRXhjZXB0aW9uKCdDb3VsZCBub3Qgc3RhcnQgd3B0c2VydmUgb24gJXMnICUgc2VsZi5iYXNl
X3VybCkKLQotICAgIGRlZiBzdG9wKHNlbGYpOgotICAgICAgICBzZWxmLnByb2MudGVybWluYXRl
KCkKLSAgICAgICAgc2VsZi5wcm9jLndhaXQoKQotICAgICAgICBzZWxmLmRldm51bGwuY2xvc2Uo
KQotCi0gICAgZGVmIHVybChzZWxmLCBhYnNfcGF0aCk6Ci0gICAgICAgIHJldHVybiBzZWxmLmh0
dHBzX2Jhc2VfdXJsICsgJy8nICsgb3MucGF0aC5yZWxwYXRoKGFic19wYXRoLCBzZWxmLndwdF9y
b290KQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvdGVzdGRyaXZlci12ZW5kb3IuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0ZHJpdmVyLXZlbmRvci5qcwpp
bmRleCBjYTBmMjk1ZTkzZi4uZTY5ZGUyOWJiMmQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3Rkcml2ZXItdmVuZG9y
LmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3Rlc3Rkcml2ZXItdmVuZG9yLmpzCkBAIC0xLDI1NCArMCwwIEBACi0KLWNvbnN0IGlz
RGVidWcgPSBmYWxzZTsKLQotZnVuY3Rpb24gbG9nRGVidWcoY2FsbGJhY2spCi17Ci0gICAgaWYg
KGlzRGVidWcpCi0gICAgICAgIGNvbnNvbGUubG9nKGNhbGxiYWNrKCkpOwotfQotCi1mdW5jdGlv
biBkaXNwYXRjaE1vdXNlQWN0aW9ucyhhY3Rpb25zKQotewotICAgIGlmICghd2luZG93LmV2ZW50
U2VuZGVyKQotICAgICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QobmV3IEVycm9yKCJ3aW5kb3cu
ZXZlbnRTZW5kZXIgaXMgdW5kZWZpbmVkLiIpKTsKLQotICAgIHJldHVybiBuZXcgUHJvbWlzZShy
ZXNvbHZlID0+IHsKLSAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7Ci0gICAgICAgICAgICBldmVu
dFNlbmRlci5kcmFnTW9kZSA9IGZhbHNlOwotCi0gICAgICAgICAgICBmb3IgKGxldCBhY3Rpb24g
b2YgYWN0aW9ucykgewotICAgICAgICAgICAgICAgIHN3aXRjaCAoYWN0aW9uLnR5cGUpIHsKLSAg
ICAgICAgICAgICAgICBjYXNlICJwb2ludGVyTW92ZSI6Ci0gICAgICAgICAgICAgICAgICAgIGxl
dCBvcmlnaW4gPSB7IHg6IDAsIHk6IDAgfTsKLSAgICAgICAgICAgICAgICAgICAgaWYgKGFjdGlv
bi5vcmlnaW4gaW5zdGFuY2VvZiBFbGVtZW50KSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCBib3VuZHMgPSBhY3Rpb24ub3JpZ2luLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOwotICAg
ICAgICAgICAgICAgICAgICAgICAgbG9nRGVidWcoKCkgPT4gYCR7YWN0aW9uLm9yaWdpbi5pZH0g
WyR7Ym91bmRzLmxlZnR9LCAke2JvdW5kcy50b3B9LCAke2JvdW5kcy53aWR0aH0sICR7Ym91bmRz
LmhlaWdodH1dYCk7Ci0gICAgICAgICAgICAgICAgICAgICAgICBvcmlnaW4ueCA9IGJvdW5kcy5s
ZWZ0ICsgMTsKLSAgICAgICAgICAgICAgICAgICAgICAgIG9yaWdpbi55ID0gYm91bmRzLnRvcCAr
IDE7Ci0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAgbG9nRGVidWco
KCkgPT4gYGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKCR7YWN0aW9uLnggKyBvcmlnaW4ueH0sICR7
YWN0aW9uLnkgKyBvcmlnaW4ueX0pYCk7Ci0gICAgICAgICAgICAgICAgICAgIGV2ZW50U2VuZGVy
Lm1vdXNlTW92ZVRvKGFjdGlvbi54ICsgb3JpZ2luLngsIGFjdGlvbi55ICsgb3JpZ2luLnkpOwot
ICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgICAgICBjYXNlICJwb2ludGVy
RG93biI6Ci0gICAgICAgICAgICAgICAgICAgIGxvZ0RlYnVnKCgpID0+IGBldmVudFNlbmRlci5t
b3VzZURvd24oKWApOwotICAgICAgICAgICAgICAgICAgICBldmVudFNlbmRlci5tb3VzZURvd24o
YWN0aW9uLmJ1dHRvbik7Ci0gICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAg
ICAgIGNhc2UgInBvaW50ZXJVcCI6Ci0gICAgICAgICAgICAgICAgICAgIGxvZ0RlYnVnKCgpID0+
IGBldmVudFNlbmRlci5tb3VzZVVwKClgKTsKLSAgICAgICAgICAgICAgICAgICAgZXZlbnRTZW5k
ZXIubW91c2VVcChhY3Rpb24uYnV0dG9uKTsKLSAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0g
ICAgICAgICAgICAgICAgY2FzZSAicGF1c2UiOgotICAgICAgICAgICAgICAgICAgICAvLyBGSVhN
RTogV2hhdCBzaG91bGQgd2UgZG8gaGVyZT8KLSAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0g
ICAgICAgICAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFByb21p
c2UucmVqZWN0KG5ldyBFcnJvcihgVW5rbm93biBhY3Rpb24gdHlwZSAiJHthY3Rpb24udHlwZX0i
LmApKTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICByZXNv
bHZlKCk7Ci0gICAgICAgIH0pOwotICAgIH0pOwotfQotCi1mdW5jdGlvbiBkaXNwYXRjaFRvdWNo
QWN0aW9ucyhhY3Rpb25zLCBvcHRpb25zID0geyBpbnNlcnRQYXVzZUFmdGVyUG9pbnRlclVwOiBm
YWxzZSB9KQotewotICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIgfHwgdHlwZW9mIHdpbmRvdy50
ZXN0UnVubmVyLnJ1blVJU2NyaXB0ICE9PSAiZnVuY3Rpb24iKQotICAgICAgICByZXR1cm4gUHJv
bWlzZS5yZWplY3QobmV3IEVycm9yKCJ3aW5kb3cudGVzdFJ1bm5lci5ydW5VSVNjcmlwdCgpIGlz
IHVuZGVmaW5lZC4iKSk7Ci0KLSAgICBsZXQgeCA9IDA7Ci0gICAgbGV0IHkgPSAwOwotICAgIGxl
dCB0aW1lT2Zmc2V0ID0gMDsKLSAgICBsZXQgcG9pbnRlckRvd24gPSBmYWxzZTsKLSAgICBsZXQg
aWQgPSAxOwotCi0gICAgY29uc3QgZXZlbnRzID0gW107Ci0gICAgZm9yIChsZXQgYWN0aW9uIG9m
IGFjdGlvbnMpIHsKLSAgICAgICAgY29uc3QgdG91Y2ggPSB7Ci0gICAgICAgICAgICBpbnB1dFR5
cGUgOiAiZmluZ2VyIiwKLSAgICAgICAgICAgIGlkLAotICAgICAgICAgICAgeCA6IGFjdGlvbi54
LAotICAgICAgICAgICAgeSA6IGFjdGlvbi55LAotICAgICAgICAgICAgcHJlc3N1cmUgOiAwCi0g
ICAgICAgIH07Ci0KLSAgICAgICAgY29uc3QgY29tbWFuZCA9IHsKLSAgICAgICAgICAgIGlucHV0
VHlwZSA6ICJoYW5kIiwKLSAgICAgICAgICAgIGNvb3JkaW5hdGVTcGFjZSA6ICJjb250ZW50IiwK
LSAgICAgICAgICAgIHRvdWNoZXMgOiBbdG91Y2hdLAotICAgICAgICAgICAgdGltZU9mZnNldAot
ICAgICAgICB9OwotCi0gICAgICAgIGxldCB0aW1lT2Zmc2V0SW5jcmVhc2UgPSAwLjA1OwotCi0g
ICAgICAgIHN3aXRjaCAoYWN0aW9uLnR5cGUpIHsKLSAgICAgICAgY2FzZSAicG9pbnRlck1vdmUi
OgotICAgICAgICAgICAgdG91Y2gucGhhc2UgPSAibW92ZWQiOwotICAgICAgICAgICAgaWYgKGFj
dGlvbi5vcmlnaW4gaW5zdGFuY2VvZiBFbGVtZW50KSB7Ci0gICAgICAgICAgICAgICAgY29uc3Qg
Ym91bmRzID0gYWN0aW9uLm9yaWdpbi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTsKLSAgICAgICAg
ICAgICAgICB0b3VjaC54ICs9IGJvdW5kcy5sZWZ0ICsgMTsKLSAgICAgICAgICAgICAgICB0b3Vj
aC55ICs9IGJvdW5kcy50b3AgKyAxOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgYnJlYWs7
Ci0gICAgICAgIGNhc2UgInBvaW50ZXJEb3duIjoKLSAgICAgICAgICAgIHBvaW50ZXJEb3duID0g
dHJ1ZTsKLSAgICAgICAgICAgIHRvdWNoLnBoYXNlID0gImJlZ2FuIjsKLSAgICAgICAgICAgIGlm
IChhY3Rpb24ueCA9PT0gdW5kZWZpbmVkKQotICAgICAgICAgICAgICAgIHRvdWNoLnggPSB4Owot
ICAgICAgICAgICAgaWYgKGFjdGlvbi55ID09PSB1bmRlZmluZWQpCi0gICAgICAgICAgICAgICAg
dG91Y2gueSA9IHk7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSAicG9pbnRlclVw
IjoKLSAgICAgICAgICAgIHBvaW50ZXJEb3duID0gZmFsc2U7Ci0gICAgICAgICAgICB0b3VjaC5w
aGFzZSA9ICJlbmRlZCI7Ci0gICAgICAgICAgICB0b3VjaC54ID0geDsKLSAgICAgICAgICAgIHRv
dWNoLnkgPSB5OwotICAgICAgICAgICAgaWQrKzsKLSAgICAgICAgICAgIC8vIFdlIG5lZWQgdG8g
YWRkIGEgcGF1c2UgYWZ0ZXIgYSBwb2ludGVyIHVwIHRvIGVuc3VyZSB0aGF0IGEgc3Vic2VxdWVu
dCB0YXAgbWF5IGJlIHJlY29nbml6ZWQgYXMgc3VjaC4KLSAgICAgICAgICAgIGlmIChvcHRpb25z
Lmluc2VydFBhdXNlQWZ0ZXJQb2ludGVyVXApCi0gICAgICAgICAgICAgICAgdGltZU9mZnNldElu
Y3JlYXNlID0gMC41OwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgInBhdXNlIjoK
LSAgICAgICAgICAgIHRpbWVPZmZzZXRJbmNyZWFzZSA9IGFjdGlvbi5kdXJhdGlvbiAvIDEwMDA7
Ci0gICAgICAgICAgICB0b3VjaC5waGFzZSA9ICJzdGF0aW9uYXJ5IjsKLSAgICAgICAgICAgIGlm
ICghcG9pbnRlckRvd24pCi0gICAgICAgICAgICAgICAgaWQrKzsKLSAgICAgICAgICAgIGJyZWFr
OwotICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KG5l
dyBFcnJvcihgVW5rbm93biBhY3Rpb24gdHlwZSAiJHthY3Rpb24udHlwZX0iLmApKTsKLSAgICAg
ICAgfQotCi0gICAgICAgIHggPSB0b3VjaC54OwotICAgICAgICB5ID0gdG91Y2gueTsKLQotICAg
ICAgICBpZiAoIXBvaW50ZXJEb3duICYmIHRvdWNoLnBoYXNlID09ICJtb3ZlZCIpCi0gICAgICAg
ICAgICBjb250aW51ZTsKLQotICAgICAgICB0aW1lT2Zmc2V0ICs9IHRpbWVPZmZzZXRJbmNyZWFz
ZTsKLQotICAgICAgICBldmVudHMucHVzaChjb21tYW5kKTsKLSAgICB9Ci0KLSAgICBjb25zdCBz
dHJlYW0gPSBKU09OLnN0cmluZ2lmeSh7IGV2ZW50cyB9KTsKLSAgICBsb2dEZWJ1ZygoKSA9PiBz
dHJlYW0pOwotCi0gICAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4gdGVzdFJ1bm5lci5y
dW5VSVNjcmlwdChgKGZ1bmN0aW9uKCkgewotICAgICAgICAoZnVuY3Rpb24oKSB7IHVpQ29udHJv
bGxlci5zZW5kRXZlbnRTdHJlYW0oJyR7c3RyZWFtfScpIH0pKCk7Ci0gICAgICAgIHVpQ29udHJv
bGxlci51aVNjcmlwdENvbXBsZXRlKCk7Ci0gICAgfSkoKTtgLCByZXNvbHZlKSk7Ci19Ci0KLWlm
ICh3aW5kb3cudGVzdF9kcml2ZXJfaW50ZXJuYWwgPT09IHVuZGVmaW5lZCkKLSAgICB3aW5kb3cu
dGVzdF9kcml2ZXJfaW50ZXJuYWwgPSB7IH07Ci0KLXdpbmRvdy50ZXN0X2RyaXZlcl9pbnRlcm5h
bC5zZW5kX2tleXMgPSBmdW5jdGlvbihlbGVtZW50LCBrZXlzKQotewotICAgIGlmICghd2luZG93
LmV2ZW50U2VuZGVyKQotICAgICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QobmV3IEVycm9yKCJ3
aW5kb3cuZXZlbnRTZW5kZXIgaXMgdW5kZWZpbmVkLiIpKTsKLQotICAgIC8vIGh0dHBzOi8vc2Vs
ZW5pdW1ocS5naXRodWIuaW8vc2VsZW5pdW0vZG9jcy9hcGkvcHkvd2ViZHJpdmVyL3NlbGVuaXVt
LndlYmRyaXZlci5jb21tb24ua2V5cy5odG1sCi0gICAgLy8gRklYTUU6IEFkZCBtb3JlIGNhc2Vz
LgotICAgIC8vIEZJWE1FOiBBZGQgdGhlIHN1cHBvcnQgZm9yIG1vZGlmaWVyIGtleXMuCi0gICAg
Y29uc3QgU2VsZW5pdW1DaGFyQ29kZVRvRXZlbnRTZW5kZXJLZXkgPSB7Ci0gICAgICAgIDB4RTAw
MzogJ2RlbGV0ZScsCi0gICAgICAgIDB4RTAwNDogJ1x0JywKLSAgICAgICAgMHhFMDBEOiAnICcs
Ci0gICAgICAgIDB4RTAxMjogJ2xlZnRBcnJvdycsCi0gICAgICAgIDB4RTAxMzogJ3VwQXJyb3cn
LAotICAgICAgICAweEUwMTQ6ICdyaWdodEFycm93JywKLSAgICAgICAgMHhFMDE1OiAnZG93bkFy
cm93JywKLSAgICB9OwotCi0gICAgZnVuY3Rpb24gY29udmVydFNlbGVuaXVtS2V5Q29kZShrZXkp
Ci0gICAgewotICAgICAgICBjb25zdCBjb2RlID0ga2V5LmNoYXJDb2RlQXQoMCk7Ci0gICAgICAg
IHJldHVybiBTZWxlbml1bUNoYXJDb2RlVG9FdmVudFNlbmRlcktleVtjb2RlXSB8fCBrZXk7Ci0g
ICAgfQotCi0gICAgY29uc3Qga2V5TGlzdCA9IFtdOwotICAgIGZvciAoY29uc3Qga2V5IG9mIGtl
eXMpCi0gICAgICAgIGtleUxpc3QucHVzaChjb252ZXJ0U2VsZW5pdW1LZXlDb2RlKGtleSkpOwot
Ci0gICAgaWYgKHRlc3RSdW5uZXIuaXNJT1NGYW1pbHkgJiYgdGVzdFJ1bm5lci5pc1dlYktpdDIp
IHsKLSAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7Ci0gICAgICAgICAg
ICB0ZXN0UnVubmVyLnJ1blVJU2NyaXB0KGAKLSAgICAgICAgICAgICAgICBjb25zdCBrZXlMaXN0
ID0gSlNPTi5wYXJzZSgnJHtKU09OLnN0cmluZ2lmeShrZXlMaXN0KX0nKTsKLSAgICAgICAgICAg
ICAgICBmb3IgKGNvbnN0IGtleSBvZiBrZXlMaXN0KQotICAgICAgICAgICAgICAgICAgICB1aUNv
bnRyb2xsZXIua2V5RG93bihrZXkpO2AsIHJlc29sdmUpOwotICAgICAgICB9KTsKLSAgICB9Ci0K
LSAgICBmb3IgKGNvbnN0IGtleSBvZiBrZXlMaXN0KQotICAgICAgICBldmVudFNlbmRlci5rZXlE
b3duKGtleSk7Ci0gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpOwotfQotCi13aW5kb3cudGVz
dF9kcml2ZXJfaW50ZXJuYWwuY2xpY2sgPSBmdW5jdGlvbiAoZWxlbWVudCwgY29vcmRzKQotewot
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgIHJldHVybiBQcm9taXNlLnJlc29s
dmUoKTsKLQotICAgIGlmICghd2luZG93LmV2ZW50U2VuZGVyKQotICAgICAgICByZXR1cm4gUHJv
bWlzZS5yZWplY3QobmV3IEVycm9yKCJ3aW5kb3cuZXZlbnRTZW5kZXIgaXMgdW5kZWZpbmVkLiIp
KTsKLQotICAgIGlmICh0ZXN0UnVubmVyLmlzSU9TRmFtaWx5ICYmIHRlc3RSdW5uZXIuaXNXZWJL
aXQyKSB7Ci0gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4gewotICAgICAg
ICAgICAgdGVzdFJ1bm5lci5ydW5VSVNjcmlwdChgCi0gICAgICAgICAgICAgICAgdWlDb250cm9s
bGVyLnNpbmdsZVRhcEF0UG9pbnQoJHtjb29yZHMueH0sICR7Y29vcmRzLnl9LCBmdW5jdGlvbigp
IHsKLSAgICAgICAgICAgICAgICAgICAgdWlDb250cm9sbGVyLnVpU2NyaXB0Q29tcGxldGUoKTsK
LSAgICAgICAgICAgICAgICB9KTtgLCByZXNvbHZlKTsKLSAgICAgICAgfSk7Ci0gICAgfQotCi0g
ICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8oY29vcmRzLngsIGNvb3Jkcy55KTsKLSAgICBldmVu
dFNlbmRlci5tb3VzZURvd24oKTsKLSAgICBldmVudFNlbmRlci5tb3VzZVVwKCk7Ci0KLSAgICBy
ZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7Ci19Ci0KLXdpbmRvdy50ZXN0X2RyaXZlcl9pbnRlcm5h
bC5hY3Rpb25fc2VxdWVuY2UgPSBmdW5jdGlvbihzb3VyY2VzKQotewotICAgIC8vIGh0dHBzOi8v
dzNjLmdpdGh1Yi5pby93ZWJkcml2ZXIvI3Byb2Nlc3NpbmctYWN0aW9ucyAgICAKLQotICAgIGxl
dCBub25lU291cmNlOwotICAgIGxldCBwb2ludGVyU291cmNlOwotICAgIGZvciAobGV0IHNvdXJj
ZSBvZiBzb3VyY2VzKSB7Ci0gICAgICAgIHN3aXRjaCAoc291cmNlLnR5cGUpIHsKLSAgICAgICAg
Y2FzZSAibm9uZSI6Ci0gICAgICAgICAgICBub25lU291cmNlID0gc291cmNlOwotICAgICAgICAg
ICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgInBvaW50ZXIiOgotICAgICAgICAgICAgcG9pbnRlclNv
dXJjZSA9IHNvdXJjZTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBkZWZhdWx0OgotICAg
ICAgICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyBFcnJvcihgVW5rbm93biBzb3VyY2Ug
dHlwZSAiJHthY3Rpb24udHlwZX0iLmApKTsKLSAgICAgICAgfQotICAgIH0KLQotICAgIGlmICgh
cG9pbnRlclNvdXJjZSkKLSAgICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyBFcnJvcihg
VW5rbm93biBwb2ludGVyIHR5cGUgcG9pbnRlciB0eXBlICIke2FjdGlvbi5wYXJhbWV0ZXJzLnBv
aW50ZXJUeXBlfSIuYCkpOwotCi0gICAgY29uc3QgcG9pbnRlclR5cGUgPSBwb2ludGVyU291cmNl
LnBhcmFtZXRlcnMucG9pbnRlclR5cGU7Ci0gICAgaWYgKHBvaW50ZXJUeXBlICE9PSAibW91c2Ui
ICYmIHBvaW50ZXJUeXBlICE9PSAidG91Y2giKQotICAgICAgICByZXR1cm4gUHJvbWlzZS5yZWpl
Y3QobmV3IEVycm9yKGBVbmtub3duIHBvaW50ZXIgdHlwZSAiJHtwb2ludGVyVHlwZX0iLmApKTsK
LQotICAgIC8vIElmIHdlIGhhdmUgYSAibm9uZSIgc291cmNlLCBsZXQncyBpbmplY3QgYW55IHBh
dXNlIHdpdGggbm9uLXplcm8gZHVyYXRpb25zIGludG8gdGhlIHBvaW50ZXIgc291cmNlCi0gICAg
Ly8gYWZ0ZXIgdGhlIG1hdGNoaW5nIGFjdGlvbiBpbiB0aGUgcG9pbnRlciBzb3VyY2UuCi0gICAg
aWYgKG5vbmVTb3VyY2UpIHsKLSAgICAgICAgbGV0IGluamVjdGVkQWN0aW9ucyA9IDA7Ci0gICAg
ICAgIG5vbmVTb3VyY2UuYWN0aW9ucy5mb3JFYWNoKChhY3Rpb24sIGluZGV4KSA9PiB7Ci0gICAg
ICAgICAgICBpZiAoYWN0aW9uLmR1cmF0aW9uID4gMCkgewotICAgICAgICAgICAgICAgIHBvaW50
ZXJTb3VyY2UuYWN0aW9ucy5zcGxpY2UoaW5kZXggKyBpbmplY3RlZEFjdGlvbnMgKyAxLCAwLCBh
Y3Rpb24pOwotICAgICAgICAgICAgICAgIGluamVjdGVkQWN0aW9ucysrOwotICAgICAgICAgICAg
fQotICAgICAgICB9KTsKLSAgICB9Ci0KLSAgICBsb2dEZWJ1ZygoKSA9PiBKU09OLnN0cmluZ2lm
eShwb2ludGVyU291cmNlKSk7Ci0KLSAgICBpZiAocG9pbnRlclR5cGUgPT09ICJ0b3VjaCIpCi0g
ICAgICAgIHJldHVybiBkaXNwYXRjaFRvdWNoQWN0aW9ucyhwb2ludGVyU291cmNlLmFjdGlvbnMp
OwotICAgIGlmICh0ZXN0UnVubmVyLmlzSU9TRmFtaWx5ICYmICJjcmVhdGVUb3VjaCIgaW4gZG9j
dW1lbnQpCi0gICAgICAgIHJldHVybiBkaXNwYXRjaFRvdWNoQWN0aW9ucyhwb2ludGVyU291cmNl
LmFjdGlvbnMsIHsgaW5zZXJ0UGF1c2VBZnRlclBvaW50ZXJVcDogdHJ1ZSB9KTsKLSAgICBpZiAo
cG9pbnRlclR5cGUgPT09ICJtb3VzZSIpCi0gICAgICAgIHJldHVybiBkaXNwYXRjaE1vdXNlQWN0
aW9ucyhwb2ludGVyU291cmNlLmFjdGlvbnMpOwotfTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3czYy1pbXBvcnQubG9n
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
dzNjLWltcG9ydC5sb2cKaW5kZXggMWNlZTc3NmZhZmQuLjk4ODdmOWY3MGQ0IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
M2MtaW1wb3J0LmxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93M2MtaW1wb3J0LmxvZwpAQCAtMzAsNSArMzAsNCBAQCBMaXN0IG9m
IGZpbGVzOgogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3Rlc3Rkcml2ZXIuanMuaGVhZGVycwogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzCiAvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMu
aGVhZGVycwotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMuaGVhZGVycwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi9DSEFOR0VMT0cubWQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL0NIQU5HRUxPRy5tZApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTFlMjIyNzVlMDcuLjAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvQ0hBTkdFTE9HLm1kCisrKyAvZGV2L251bGwKQEAgLTEsMjkyICswLDAgQEAKLSMgQ2hhbmdl
IExvZwotCi0jIyBbdjEwLjIuMV0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL3Ry
ZWUvdjEwLjIuMSkgKDIwMTgtMDMtMDkpCi1bRnVsbCBDaGFuZ2Vsb2ddKGh0dHBzOi8vZ2l0aHVi
LmNvbS93M2Mvd2ViaWRsMi5qcy9jb21wYXJlL3YxMC4yLjAuLi52MTAuMi4xKQotCi0qKk1lcmdl
ZCBwdWxsIHJlcXVlc3RzOioqCi0KLS0gT3B0aW1pc2UgdG9rZW5pc2F0aW9uIGFuZCB3aGl0ZXNw
YWNlIHNraXBwaW5nIFtcIzEzOV0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL3B1
bGwvMTM5KSAoW3JpY2VhXShodHRwczovL2dpdGh1Yi5jb20vcmljZWEpKQotLSByZWZhY3Rvcjog
c21hbGwgc3ludGF4IGNoYW5nZXMgW1wjMTM3XShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlk
bDIuanMvcHVsbC8xMzcpIChbc2FzY2hhbmF6XShodHRwczovL2dpdGh1Yi5jb20vc2FzY2hhbmF6
KSkKLQotIyMgW3YxMC4yLjBdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy90cmVl
L3YxMC4yLjApICgyMDE4LTAxLTMwKQotW0Z1bGwgQ2hhbmdlbG9nXShodHRwczovL2dpdGh1Yi5j
b20vdzNjL3dlYmlkbDIuanMvY29tcGFyZS92MTAuMS4wLi4udjEwLjIuMCkKLQotKipNZXJnZWQg
cHVsbCByZXF1ZXN0czoqKgotCi0tIFR5cGUgb24gdW5pb24gaWRsVHlwZSBbXCMxMzVdKGh0dHBz
Oi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9wdWxsLzEzNSkgKFtzYXNjaGFuYXpdKGh0dHBz
Oi8vZ2l0aHViLmNvbS9zYXNjaGFuYXopKQotLSBmZWF0OiBhZGQgYXJndW1lbnQvcmV0dXJuIHR5
cGUgW1wjMTM0XShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvcHVsbC8xMzQpIChb
c2FzY2hhbmF6XShodHRwczovL2dpdGh1Yi5jb20vc2FzY2hhbmF6KSkKLS0gZmVhdDogYWRkIGRp
Y3Rpb25hcnkvdHlwZWRlZi10eXBlIFtcIzEzM10oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJp
ZGwyLmpzL3B1bGwvMTMzKSAoW3Nhc2NoYW5hel0oaHR0cHM6Ly9naXRodWIuY29tL3Nhc2NoYW5h
eikpCi0tIGZlYXQ6IGFkZCBjb25zdC10eXBlIGZvciBpZGxUeXBlcyAgW1wjMTMyXShodHRwczov
L2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvcHVsbC8xMzIpIChbc2FzY2hhbmF6XShodHRwczov
L2dpdGh1Yi5jb20vc2FzY2hhbmF6KSkKLS0gZmVhdDogYWRkIHR5cGVzIG9uIGlkbFR5cGVzIFtc
IzEzMV0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL3B1bGwvMTMxKSAoW3Nhc2No
YW5hel0oaHR0cHM6Ly9naXRodWIuY29tL3Nhc2NoYW5heikpCi0tIEF1dG8gYWNxdWlzaXRpb24g
Zm9yIHBhcnNlciByZXN1bHQgY2hhbmdlcyBbXCMxMzBdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mv
d2ViaWRsMi5qcy9wdWxsLzEzMCkgKFtzYXNjaGFuYXpdKGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNj
aGFuYXopKQotCi0jIyBbdjEwLjEuMF0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpz
L3RyZWUvdjEwLjEuMCkgKDIwMTgtMDEtMTkpCi1bRnVsbCBDaGFuZ2Vsb2ddKGh0dHBzOi8vZ2l0
aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9jb21wYXJlL3YxMC4wLjAuLi52MTAuMS4wKQotCi0qKkNs
b3NlZCBpc3N1ZXM6KioKLQotLSBTdXBwb3J0IGByYWlzZXNgIGFuZCBgc2V0cmFpc2VzYCBbXCMx
MjhdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9pc3N1ZXMvMTI4KQotLSBTdXBw
b3J0IGBsZWdhY3ljYWxsZXJgIFtcIzEyN10oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwy
LmpzL2lzc3Vlcy8xMjcpCi0tIEltcHJvdmUgIk5vIHNlbWljb2xvbiBhZnRlciBlbnVtIiBtZXNz
YWdlIFtcIzExOV0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL2lzc3Vlcy8xMTkp
Ci0KLSoqTWVyZ2VkIHB1bGwgcmVxdWVzdHM6KioKLQotLSBMZXQgZXJyb3IgbWVzc2FnZXMgaW5j
bHVkZSB0aGUgY3VycmVudCBkZWZpbml0aW9uIG5hbWUgW1wjMTI5XShodHRwczovL2dpdGh1Yi5j
b20vdzNjL3dlYmlkbDIuanMvcHVsbC8xMjkpIChbc2FzY2hhbmF6XShodHRwczovL2dpdGh1Yi5j
b20vc2FzY2hhbmF6KSkKLQotIyMgW3YxMC4wLjBdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2Vi
aWRsMi5qcy90cmVlL3YxMC4wLjApICgyMDE3LTEyLTIwKQotW0Z1bGwgQ2hhbmdlbG9nXShodHRw
czovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvY29tcGFyZS92OS4wLjAuLi52MTAuMC4wKQot
Ci0qKkNsb3NlZCBpc3N1ZXM6KioKLQotLSAgQWx3YXlzIHJldHVybiBhbiBhcnJheSBmb3IgaWRs
VHlwZSwgZXRjLiBbXCMxMTNdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9pc3N1
ZXMvMTEzKQotLSBNYWludGFpbiB3cml0ZXIuanMgb3Igbm90PyBbXCMxMDldKGh0dHBzOi8vZ2l0
aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9pc3N1ZXMvMTA5KQotCi0qKk1lcmdlZCBwdWxsIHJlcXVl
c3RzOioqCi0KLS0gUmVtb3ZlIHR5cGVFeHRBdHRycyBmcm9tIGRvY3MgW1wjMTI0XShodHRwczov
L2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvcHVsbC8xMjQpIChbc2FzY2hhbmF6XShodHRwczov
L2dpdGh1Yi5jb20vc2FzY2hhbmF6KSkKLS0gUmVtb3ZlIGl0ZXJhdG9yIGRvY3VtZW50YXRpb24g
W1wjMTIzXShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvcHVsbC8xMjMpIChbc2Fz
Y2hhbmF6XShodHRwczovL2dpdGh1Yi5jb20vc2FzY2hhbmF6KSkKLS0gTWFpbnRhaW4gd3JpdGVy
LmpzIFtcIzEyMl0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL3B1bGwvMTIyKSAo
W3Nhc2NoYW5hel0oaHR0cHM6Ly9naXRodWIuY29tL3Nhc2NoYW5heikpCi0tIEJSRUFLSU5HIENI
QU5HRTogcmVtb3ZlIGRlcHJlY2F0ZWQgaXRlcmF0b3Igb3BlcmF0aW9uIFtcIzEyMV0oaHR0cHM6
Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL3B1bGwvMTIxKSAoW3Nhc2NoYW5hel0oaHR0cHM6
Ly9naXRodWIuY29tL3Nhc2NoYW5heikpCi0tIFVzZSBmb3Itb2Ygb24gdGVzdHMgW1wjMTIwXSho
dHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvcHVsbC8xMjApIChbc2FzY2hhbmF6XSho
dHRwczovL2dpdGh1Yi5jb20vc2FzY2hhbmF6KSkKLS0gZG9jc1woUkVBRE1FXCk6IGl0ZXJhYmxl
cyBpbGRUeXBlIGlzIGFsd2F5cyBhcnJheSBbXCMxMThdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mv
d2ViaWRsMi5qcy9wdWxsLzExOCkgKFttYXJjb3NjYWNlcmVzXShodHRwczovL2dpdGh1Yi5jb20v
bWFyY29zY2FjZXJlcykpCi0KLSMjIFt2OS4wLjBdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2Vi
aWRsMi5qcy90cmVlL3Y5LjAuMCkgKDIwMTctMTEtMzApCi1bRnVsbCBDaGFuZ2Vsb2ddKGh0dHBz
Oi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9jb21wYXJlL3Y4LjEuMC4uLnY5LjAuMCkKLQot
KipDbG9zZWQgaXNzdWVzOioqCi0KLS0gQ29kZSBxdWFsaXR5IFtcIzExNl0oaHR0cHM6Ly9naXRo
dWIuY29tL3czYy93ZWJpZGwyLmpzL2lzc3Vlcy8xMTYpCi0tIFVuYWJsZSB0byBwYXJzZSBIVE1M
QWxsQ29sbGVjdGlvbiBpbnRlcmZhY2UgW1wjMTE0XShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dl
YmlkbDIuanMvaXNzdWVzLzExNCkKLS0gQWRkIHN1cHBvcnQgZm9yIG1peGluIHN5bnRheCBbXCMx
MTJdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9pc3N1ZXMvMTEyKQotLSBXaGl0
ZXNwYWNlIGlzc3VlcyBbXCMxMTFdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9p
c3N1ZXMvMTExKQotCi0qKk1lcmdlZCBwdWxsIHJlcXVlc3RzOioqCi0KLS0gQ29uc2lzdGVudCBh
cnJheSB0eXBlIGZvciBpdGVyYWJsZS5pZGxUeXBlIFtcIzExN10oaHR0cHM6Ly9naXRodWIuY29t
L3czYy93ZWJpZGwyLmpzL3B1bGwvMTE3KSAoW3Nhc2NoYW5hel0oaHR0cHM6Ly9naXRodWIuY29t
L3Nhc2NoYW5heikpCi0tICBSZXZlcnQgImNob3JlOiBkcm9wIE5vZGUgNiBzdXBwb3J0IFwoXCMx
MDJcKSIgW1wjMTE1XShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvcHVsbC8xMTUp
IChbVGltb3RoeUd1XShodHRwczovL2dpdGh1Yi5jb20vVGltb3RoeUd1KSkKLQotIyMgW3Y4LjEu
MF0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL3RyZWUvdjguMS4wKSAoMjAxNy0x
MS0wMykKLVtGdWxsIENoYW5nZWxvZ10oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpz
L2NvbXBhcmUvdjguMC4xLi4udjguMS4wKQotCi0qKkNsb3NlZCBpc3N1ZXM6KioKLQotLSBFeHRl
bmRlZCBBdHRyaWJ1dGVzIGByaHNgIHNob3VsZCBhbHdheXMgYmUgdGhlcmUgW1wjOTZdKGh0dHBz
Oi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9pc3N1ZXMvOTYpCi0KLSoqTWVyZ2VkIHB1bGwg
cmVxdWVzdHM6KioKLQotLSBBbHdheXMgYWRkIHJocyBwcm9wZXJ0eSBbXCMxMTBdKGh0dHBzOi8v
Z2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9wdWxsLzExMCkgKFtzYXNjaGFuYXpdKGh0dHBzOi8v
Z2l0aHViLmNvbS9zYXNjaGFuYXopKQotCi0jIyBbdjguMC4xXShodHRwczovL2dpdGh1Yi5jb20v
dzNjL3dlYmlkbDIuanMvdHJlZS92OC4wLjEpICgyMDE3LTExLTAzKQotW0Z1bGwgQ2hhbmdlbG9n
XShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvY29tcGFyZS92OC4wLjAuLi52OC4w
LjEpCi0KLSoqRml4ZWQgYnVnczoqKgotCi0tIENvbW1lbnQgb3JkZXIgcGFyc2luZyBidWcgIFtc
IzEwN10oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL2lzc3Vlcy8xMDcpCi0KLSoq
TWVyZ2VkIHB1bGwgcmVxdWVzdHM6KioKLQotLSBSZW1vdmUgbSBwb3N0Zml4IGZyb20gYWxsXF93
c1woXCkgW1wjMTA4XShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvcHVsbC8xMDgp
IChbc2FzY2hhbmF6XShodHRwczovL2dpdGh1Yi5jb20vc2FzY2hhbmF6KSkKLQotIyMgW3Y4LjAu
MF0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL3RyZWUvdjguMC4wKSAoMjAxNy0x
MS0wMykKLVtGdWxsIENoYW5nZWxvZ10oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpz
L2NvbXBhcmUvdjcuMC4wLi4udjguMC4wKQotCi0qKkNsb3NlZCBpc3N1ZXM6KioKLQotLSBSZW1v
dmUgY3JlYXRvcnMgc3VwcG9ydCBbXCMxMDBdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRs
Mi5qcy9pc3N1ZXMvMTAwKQotLSBBZGQgbWl4aW4gc3VwcG9ydCBbXCM5Ml0oaHR0cHM6Ly9naXRo
dWIuY29tL3czYy93ZWJpZGwyLmpzL2lzc3Vlcy85MikKLQotKipNZXJnZWQgcHVsbCByZXF1ZXN0
czoqKgotCi0tIFN1cHBvcnQgbWl4aW5zICsgaW5jbHVkZXMgc3RhdGVtZW50cyBbXCMxMDVdKGh0
dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9wdWxsLzEwNSkgKFtzYXNjaGFuYXpdKGh0
dHBzOi8vZ2l0aHViLmNvbS9zYXNjaGFuYXopKQotLSBjaG9yZTogZHJvcCBOb2RlIDYgc3VwcG9y
dCBbXCMxMDJdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9wdWxsLzEwMikgKFtt
YXJjb3NjYWNlcmVzXShodHRwczovL2dpdGh1Yi5jb20vbWFyY29zY2FjZXJlcykpCi0tIEJSRUFL
SU5HIENIQU5HRTogZHJvcCBjcmVhdG9yIHN1cHBvcnQgW1wjMTAxXShodHRwczovL2dpdGh1Yi5j
b20vdzNjL3dlYmlkbDIuanMvcHVsbC8xMDEpIChbc2FzY2hhbmF6XShodHRwczovL2dpdGh1Yi5j
b20vc2FzY2hhbmF6KSkKLS0gTm9ybWFsaXplIHNvbWUgd2hpdGVzcGFjZSB0byBwYXNzIHdwdCdz
IGxpbnQgW1wjOTldKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9wdWxsLzk5KSAo
W2Zvb2xpcF0oaHR0cHM6Ly9naXRodWIuY29tL2Zvb2xpcCkpCi0KLSMjIFt2Ny4wLjBdKGh0dHBz
Oi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy90cmVlL3Y3LjAuMCkgKDIwMTctMTAtMjcpCi1b
RnVsbCBDaGFuZ2Vsb2ddKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9jb21wYXJl
L3Y2LjEuMC4uLnY3LjAuMCkKLQotKipDbG9zZWQgaXNzdWVzOioqCi0KLS0gVHlwZSBjb252ZXJz
aW9uIG9uIGRlZmF1bHQgdmFsdWVzIGlzIGRlc3RydWN0aXZlICBbXCM5NF0oaHR0cHM6Ly9naXRo
dWIuY29tL3czYy93ZWJpZGwyLmpzL2lzc3Vlcy85NCkKLS0gZXh0ZW5kZWQgYXR0cmlidXRlIHN0
cnVjdHVyZSBtaXNzaW5nIHR5cGUgW1wjODldKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRs
Mi5qcy9pc3N1ZXMvODkpCi0KLSoqTWVyZ2VkIHB1bGwgcmVxdWVzdHM6KioKLQotLSAgQlJFQUtJ
TkcgQ0hBTkdFOiBhcmd1bWVudCArIGRlZmF1bHQgdHlwZXMgc2hvdWxkIGJlIHN0cmluZyBbXCM5
NV0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL3B1bGwvOTUpIChbbWFyY29zY2Fj
ZXJlc10oaHR0cHM6Ly9naXRodWIuY29tL21hcmNvc2NhY2VyZXMpKQotCi0jIyBbdjYuMS4wXSho
dHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvdHJlZS92Ni4xLjApICgyMDE3LTEwLTIz
KQotW0Z1bGwgQ2hhbmdlbG9nXShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvY29t
cGFyZS92Ni4wLjEuLi52Ni4xLjApCi0KLSoqTWVyZ2VkIHB1bGwgcmVxdWVzdHM6KioKLQotLSBm
ZWF0OiBnaXZlIGV4dGVuZGVkIGF0dHJpYnV0ZXMgYSB0eXBlIFtcIzkwXShodHRwczovL2dpdGh1
Yi5jb20vdzNjL3dlYmlkbDIuanMvcHVsbC85MCkgKFttYXJjb3NjYWNlcmVzXShodHRwczovL2dp
dGh1Yi5jb20vbWFyY29zY2FjZXJlcykpCi0KLSMjIFt2Ni4wLjFdKGh0dHBzOi8vZ2l0aHViLmNv
bS93M2Mvd2ViaWRsMi5qcy90cmVlL3Y2LjAuMSkgKDIwMTctMTAtMTgpCi1bRnVsbCBDaGFuZ2Vs
b2ddKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9jb21wYXJlL3Y2LjAuMC4uLnY2
LjAuMSkKLQotKipDbG9zZWQgaXNzdWVzOioqCi0KLS0gRW51bSB2YWx1ZXMgc2hvdWxkIGJlIG9i
amVjdHMgW1wjODZdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9pc3N1ZXMvODYp
Ci0KLSoqTWVyZ2VkIHB1bGwgcmVxdWVzdHM6KioKLQotLSBVc2UgRVMyMDE1IHN5bnRheCBmb3Ig
dGVzdHMgW1wjODhdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9wdWxsLzg4KSAo
W3Nhc2NoYW5hel0oaHR0cHM6Ly9naXRodWIuY29tL3Nhc2NoYW5heikpCi0KLSMjIFt2Ni4wLjBd
KGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy90cmVlL3Y2LjAuMCkgKDIwMTctMTAt
MTcpCi1bRnVsbCBDaGFuZ2Vsb2ddKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9j
b21wYXJlL3Y1LjAuMC4uLnY2LjAuMCkKLQotKipNZXJnZWQgcHVsbCByZXF1ZXN0czoqKgotCi0t
IEJSRUFLSU5HIENIQU5HRTogcmV0IGVudW0gdmFsdWUgYXMgb2JqZWN0IFtcIzg3XShodHRwczov
L2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvcHVsbC84NykgKFttYXJjb3NjYWNlcmVzXShodHRw
czovL2dpdGh1Yi5jb20vbWFyY29zY2FjZXJlcykpCi0KLSMjIFt2NS4wLjBdKGh0dHBzOi8vZ2l0
aHViLmNvbS93M2Mvd2ViaWRsMi5qcy90cmVlL3Y1LjAuMCkgKDIwMTctMTAtMTcpCi1bRnVsbCBD
aGFuZ2Vsb2ddKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9jb21wYXJlL3Y0LjIu
MC4uLnY1LjAuMCkKLQotKipDbG9zZWQgaXNzdWVzOioqCi0KLS0gVW5hYmxlIHRvIHBhcnNlIGFu
bm90YXRlZCB0eXBlcyBpbiBnZW5lcmljcyBbXCM4M10oaHR0cHM6Ly9naXRodWIuY29tL3czYy93
ZWJpZGwyLmpzL2lzc3Vlcy84MykKLS0gRHJvcCBzdXBwb3J0IGZvciBOb2RlIDQsIG1vdmUgdG8g
NiBMVFMgW1wjODJdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9pc3N1ZXMvODIp
Ci0KLSoqTWVyZ2VkIHB1bGwgcmVxdWVzdHM6KioKLQotLSBCUkVBS0lORyBDSEFOR0U6IFVzZSBF
UzIwMTUgc3ludGF4IFtcIzg0XShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvcHVs
bC84NCkgKFtzYXNjaGFuYXpdKGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNjaGFuYXopKQotCi0jIyBb
djQuMi4wXShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvdHJlZS92NC4yLjApICgy
MDE3LTEwLTE2KQotW0Z1bGwgQ2hhbmdlbG9nXShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlk
bDIuanMvY29tcGFyZS92NC4xLjAuLi52NC4yLjApCi0KLSoqQ2xvc2VkIGlzc3VlczoqKgotCi0t
IFJlbW92ZSBsZWdhY3kgY2FsbGVyIHN1cHBvcnQgW1wjNzhdKGh0dHBzOi8vZ2l0aHViLmNvbS93
M2Mvd2ViaWRsMi5qcy9pc3N1ZXMvNzgpCi0tIFNob3VsZCByZXBvcnQgZXJyb3IgZm9yIHVzaW5n
IGR1cGxpY2F0ZSBuYW1lcyBbXCM3N10oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpz
L2lzc3Vlcy83NykKLQotKipNZXJnZWQgcHVsbCByZXF1ZXN0czoqKgotCi0tIENoZWNrIGR1cGxp
Y2F0ZWQgbmFtZXMgW1wjODBdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9wdWxs
LzgwKSAoW3Nhc2NoYW5hel0oaHR0cHM6Ly9naXRodWIuY29tL3Nhc2NoYW5heikpCi0tIFJlbW92
ZSBsZWdhY3ljYWxsZXIgW1wjNzldKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9w
dWxsLzc5KSAoW3Nhc2NoYW5hel0oaHR0cHM6Ly9naXRodWIuY29tL3Nhc2NoYW5heikpCi0tIEFk
ZCAic2VxdWVuY2UiIHByb3BlcnR5IHRvIElETCBUeXBlIEFTVCBkZWZpbml0aW9uIFtcIzc2XSho
dHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvcHVsbC83NikgKFtsZXJvdWNoZV0oaHR0
cHM6Ly9naXRodWIuY29tL2xlcm91Y2hlKSkKLQotIyMgW3Y0LjEuMF0oaHR0cHM6Ly9naXRodWIu
Y29tL3czYy93ZWJpZGwyLmpzL3RyZWUvdjQuMS4wKSAoMjAxNy0wNy0wNCkKLVtGdWxsIENoYW5n
ZWxvZ10oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL2NvbXBhcmUvdjQuMC4wLi4u
djQuMS4wKQotCi0qKkNsb3NlZCBpc3N1ZXM6KioKLQotLSBQYXJzaW5nIGVycm9yIGZvciBhbm5v
bmF0ZWQgaW5uZXIgdHlwZXMgb2YgZ2VuZXJpYyB0eXBlcyBbXCM3MV0oaHR0cHM6Ly9naXRodWIu
Y29tL3czYy93ZWJpZGwyLmpzL2lzc3Vlcy83MSkKLQotKipNZXJnZWQgcHVsbCByZXF1ZXN0czoq
KgotCi0tIFN1cHBvcnQgVHlwZVdpdGhFeHRlbmRlZEF0dHJpYnV0ZXMgb24gZ2VuZXJpY3MgW1wj
NzVdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9wdWxsLzc1KSAoW3Nhc2NoYW5h
el0oaHR0cHM6Ly9naXRodWIuY29tL3Nhc2NoYW5heikpCi0KLSMjIFt2NC4wLjBdKGh0dHBzOi8v
Z2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy90cmVlL3Y0LjAuMCkgKDIwMTctMDYtMjcpCi1bRnVs
bCBDaGFuZ2Vsb2ddKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9jb21wYXJlL3Yz
LjAuMi4uLnY0LjAuMCkKLQotKipDbG9zZWQgaXNzdWVzOioqCi0KLS0gUmVtb3ZlIHNlcmlhbGl6
ZXItcmVsYXRlZCBwcm9kdWN0aW9ucyBbXCM3M10oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJp
ZGwyLmpzL2lzc3Vlcy83MykKLS0gUmVjb3JkcyBkb24ndCBzZWVtIHRvIGJlIHdvcmtpbmcgcmln
aHQgW1wjNzJdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9pc3N1ZXMvNzIpCi0t
IERvY3VtZW50IG5hbWVzcGFjZSBtZW1iZXIgb3V0cHV0IFtcIzU5XShodHRwczovL2dpdGh1Yi5j
b20vdzNjL3dlYmlkbDIuanMvaXNzdWVzLzU5KQotCi0qKk1lcmdlZCBwdWxsIHJlcXVlc3RzOioq
Ci0KLS0gQlJFQUtJTkcgQ0hBTkdFOiByZW1vdmUgc2VyaWFsaXplcnMgXChjbG9zZXMgXCM3M1wp
IFtcIzc0XShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvcHVsbC83NCkgKFttYXJj
b3NjYWNlcmVzXShodHRwczovL2dpdGh1Yi5jb20vbWFyY29zY2FjZXJlcykpCi0tIEFkZCBkb2N1
bWVudGF0aW9uIGZvciBuYW1lc3BhY2VzIFtcIzcwXShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dl
YmlkbDIuanMvcHVsbC83MCkgKFtzYXNjaGFuYXpdKGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNjaGFu
YXopKQotCi0jIyBbdjMuMC4yXShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvdHJl
ZS92My4wLjIpICgyMDE3LTA1LTI5KQotW0Z1bGwgQ2hhbmdlbG9nXShodHRwczovL2dpdGh1Yi5j
b20vdzNjL3dlYmlkbDIuanMvY29tcGFyZS92My4wLjEuLi52My4wLjIpCi0KLSoqQ2xvc2VkIGlz
c3VlczoqKgotCi0tIFdoaXRlc3BhY2UgaXNzdWVzIFtcIzY0XShodHRwczovL2dpdGh1Yi5jb20v
dzNjL3dlYmlkbDIuanMvaXNzdWVzLzY0KQotCi0qKk1lcmdlZCBwdWxsIHJlcXVlc3RzOioqCi0K
LS0gVGVzdCBmb3IgbGF0ZXN0IExUUy9zdGFibGUgbm9kZSB2ZXJzaW9ucyBbXCM2OV0oaHR0cHM6
Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL3B1bGwvNjkpIChbc2FzY2hhbmF6XShodHRwczov
L2dpdGh1Yi5jb20vc2FzY2hhbmF6KSkKLQotIyMgW3YzLjAuMV0oaHR0cHM6Ly9naXRodWIuY29t
L3czYy93ZWJpZGwyLmpzL3RyZWUvdjMuMC4xKSAoMjAxNy0wNS0xOCkKLVtGdWxsIENoYW5nZWxv
Z10oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL2NvbXBhcmUvdjIuNC4wLi4udjMu
MC4xKQotCi0qKkNsb3NlZCBpc3N1ZXM6KioKLQotLSBJcyBhcnJheSBzeW50YXggZGVhZD8gW1wj
NjZdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9pc3N1ZXMvNjYpCi0tIFJlbW92
ZSBleGNlcHRpb25zIHN1cHBvcnQgW1wjNjVdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRs
Mi5qcy9pc3N1ZXMvNjUpCi0KLSoqTWVyZ2VkIHB1bGwgcmVxdWVzdHM6KioKLQotLSBGaXggd2hp
dGVzcGFjZSBlcnJvciBvbiBwYXJzaW5nIGV4dGVuZGVkIGF0dHJpYnV0ZXMgW1wjNjhdKGh0dHBz
Oi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9wdWxsLzY4KSAoW3Nhc2NoYW5hel0oaHR0cHM6
Ly9naXRodWIuY29tL3Nhc2NoYW5heikpCi0tIFJlbW92ZSBkZXByZWNhdGVkIElETCBhcnJheXMg
YW5kIGV4Y2VwdGlvbnMgW1wjNjddKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9w
dWxsLzY3KSAoW3Nhc2NoYW5hel0oaHR0cHM6Ly9naXRodWIuY29tL3Nhc2NoYW5heikpCi0KLSMj
IFt2Mi40LjBdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy90cmVlL3YyLjQuMCkg
KDIwMTctMDQtMTIpCi1bRnVsbCBDaGFuZ2Vsb2ddKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2Vi
aWRsMi5qcy9jb21wYXJlL3YyLjEuMC4uLnYyLjQuMCkKLQotKipDbG9zZWQgaXNzdWVzOioqCi0K
LS0gQWRkIHN1cHBvcnQgZm9yIEFubm90YXRlZCBUeXBlcyBbXCM2MF0oaHR0cHM6Ly9naXRodWIu
Y29tL3czYy93ZWJpZGwyLmpzL2lzc3Vlcy82MCkKLS0gUXVlc3Rpb246IENvbnZlcnQgV2ViSURM
IC1cPiBKYXZhc2NyaXB0IFtcIzU2XShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMv
aXNzdWVzLzU2KQotLSBHZXQgUm9iaW4gdG8gZ2l2ZSB1cyBwdXNoIHBlcm1pc3Npb25zIG9uIG5w
bSBbXCM1NF0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL2lzc3Vlcy81NCkKLS0g
QWRkIHN1cHBvcnQgZm9yIHJlY29yZHMgW1wjNTNdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2Vi
aWRsMi5qcy9pc3N1ZXMvNTMpCi0tIG1vZHVsZSBub3Qgc3VwcG9ydGVkPyBbXCM1Ml0oaHR0cHM6
Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL2lzc3Vlcy81MikKLS0gQWRkIHN1cHBvcnQgZm9y
IG5hbWVzcGFjZXMgW1wjNTFdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9pc3N1
ZXMvNTEpCi0tIEV4cG9ydCBpcyBub3QgQU1EIGNvbXBhdGlibGUgW1wjNDhdKGh0dHBzOi8vZ2l0
aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9pc3N1ZXMvNDgpCi0tIENhbid0IHJlcHJlc2VudCBsYXJn
ZSBjb25zdGFudHMgW1wjMjFdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9pc3N1
ZXMvMjEpCi0KLSoqTWVyZ2VkIHB1bGwgcmVxdWVzdHM6KioKLQotLSBVcGRhdGUgd2ViaWRsMi5q
cyBbXCM2M10oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL3B1bGwvNjMpIChbdHFl
dG9dKGh0dHBzOi8vZ2l0aHViLmNvbS90cWV0bykpCi0tIFJlbW92ZSBzdXBwb3J0IGZvciBNYXBD
bGFzcyBcKG5vIGxvbmdlciB2YWxpZCBpbiBXZWJJRExcKSBbXCM2Ml0oaHR0cHM6Ly9naXRodWIu
Y29tL3czYy93ZWJpZGwyLmpzL3B1bGwvNjIpIChbZG9udGNhbGxtZWRvbV0oaHR0cHM6Ly9naXRo
dWIuY29tL2RvbnRjYWxsbWVkb20pKQotLSBBZGQgc3VwcG9ydCBmb3IgYW5ub3RhdGVkIHR5cGVz
IFtcIzYxXShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvcHVsbC82MSkgKFtkb250
Y2FsbG1lZG9tXShodHRwczovL2dpdGh1Yi5jb20vZG9udGNhbGxtZWRvbSkpCi0tIFN1cHBvcnQg
bmFtZXNwYWNlcyBbXCM1OF0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL3B1bGwv
NTgpIChbc2FzY2hhbmF6XShodHRwczovL2dpdGh1Yi5jb20vc2FzY2hhbmF6KSkKLS0gQWRkIHN1
cHBvcnQgZm9yIHJlY29yZHMgW1wjNTddKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5q
cy9wdWxsLzU3KSAoW1RpbW90aHlHdV0oaHR0cHM6Ly9naXRodWIuY29tL1RpbW90aHlHdSkpCi0t
IFJlZmFjdG9yIFtcIzUwXShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvcHVsbC81
MCkgKFttYXJjb3NjYWNlcmVzXShodHRwczovL2dpdGh1Yi5jb20vbWFyY29zY2FjZXJlcykpCi0t
IGZlYXRcKGxpYlwpOiBhZGQgQU1EIGV4cG9ydCBzdXBwb3J0IFwoY2xvc2VzIFwjNDhcKSBbXCM0
OV0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL3B1bGwvNDkpIChbbWFyY29zY2Fj
ZXJlc10oaHR0cHM6Ly9naXRodWIuY29tL21hcmNvc2NhY2VyZXMpKQotCi0jIyBbdjIuMS4wXSho
dHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvdHJlZS92Mi4xLjApICgyMDE2LTA4LTEy
KQotKipDbG9zZWQgaXNzdWVzOioqCi0KLS0gRXhjZXB0aW9uIHdoZW4gcGFyc2luZyB0ZXN0L3N5
bnRheC9pZGwvdHlwZWRlZi53aWRsIFtcIzQ2XShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlk
bDIuanMvaXNzdWVzLzQ2KQotLSBXcm9uZyBqc29uZGlmZnBhdGNoIGxvY2F0aW9uIFtcIzQyXSho
dHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvaXNzdWVzLzQyKQotLSAnbnBtIGluc3Rh
bGwnIGZhaWxzIG9uIGJ1aWxkaW5nIG1pY3JvdGltZSBbXCM0MF0oaHR0cHM6Ly9naXRodWIuY29t
L3czYy93ZWJpZGwyLmpzL2lzc3Vlcy80MCkKLS0gQ2FuJ3QgcmVwcmVzZW50IHVuaW9uIHR5cGVz
IGluIHR5cGVkZWZzIFtcIzM4XShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvaXNz
dWVzLzM4KQotLSB0b2tlbmlzZVwoXCkgYXNzdW1lcyBhIHNwZWNpZmljIHByb3BlcnR5IGVudW1l
cmF0aW9uIG9yZGVyIFtcIzI3XShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvaXNz
dWVzLzI3KQotLSBBZGQgc3VwcG9ydCBmb3IgaXRlcmFibGVcPFw+LCBtYXBsaWtlXDxcPiwgc2V0
bGlrZVw8XD4gZGVjbGFyYXRpb25zIFtcIzI0XShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlk
bDIuanMvaXNzdWVzLzI0KQotLSBXZWJJREwyIGZhaWxzIHRvIHBhcnNlIGBhdHRyaWJ1dGUgUHJv
bWlzZVw8RE9NU3RyaW5nXD5cW1xdIGJhemAgW1wjMTldKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mv
d2ViaWRsMi5qcy9pc3N1ZXMvMTkpCi0tIFN1cHBvcnQgZm9yIEV4dGVuZGVkQXR0cmlidXRlSWRl
bnRMaXN0IFwoY3VycmVudCBlZGl0b3IncyBkcmFmdFwpIFtcIzE4XShodHRwczovL2dpdGh1Yi5j
b20vdzNjL3dlYmlkbDIuanMvaXNzdWVzLzE4KQotLSBObyBMaWNlbnNpbmcgSW5mb3JtYXRpb24g
W1wjMTddKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9pc3N1ZXMvMTcpCi0tIGhv
dyB0byByZWdlbmVyYXRlIHczYyBpZGwgZmlsZXMgPyBbXCMxNF0oaHR0cHM6Ly9naXRodWIuY29t
L3czYy93ZWJpZGwyLmpzL2lzc3Vlcy8xNCkKLS0gV2hhdCBpcyBsaWIvd3JpdGVyLmpzIFtcIzEz
XShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvaXNzdWVzLzEzKQotLSBOdW1lcm91
cyB0ZXN0cyBhcmUgZmFpbGluZyBbXCM3XShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIu
anMvaXNzdWVzLzcpCi0tIEFkZCBzdXBwb3J0IGZvciBtaXNzaW5nIHR5cGVzIGluIFNlcnZpY2VX
b3JrZXIgW1wjNV0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL2lzc3Vlcy81KQot
LSBIb3cgY2FuIEkgcGFyc2UganVzdCBhIGZ1bmN0aW9uPyBbXCMzXShodHRwczovL2dpdGh1Yi5j
b20vdzNjL3dlYmlkbDIuanMvaXNzdWVzLzMpCi0tIFBhcnNlciB0aHJvd3Mgb24gbnVsbGFibGUg
YXJyYXkgb2YgbnVsbGFibGUgYXJyYXkgW1wjMl0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJp
ZGwyLmpzL2lzc3Vlcy8yKQotLSBQYXJzZXIgdGhyb3dzIG9uIG51bGxhYmxlIGFycmF5IG9mIGFu
eSBbXCMxXShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvaXNzdWVzLzEpCi0KLSoq
TWVyZ2VkIHB1bGwgcmVxdWVzdHM6KioKLQotLSBGaXggImRlZmF1bHQiOiB1bmRlZmluZWQgW1wj
NDddKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9wdWxsLzQ3KSAoW21rd3R5c10o
aHR0cHM6Ly9naXRodWIuY29tL21rd3R5cykpCi0tIFJlcGxhY2UgZXhwZWN0LmpzIHdpdGggZXhw
Y3QgW1wjNDVdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9wdWxsLzQ1KSAoW2hh
bHRvbl0oaHR0cHM6Ly9naXRodWIuY29tL2hhbHRvbikpCi0tIENvcnJlY3QganNvbmRpZmZwYXRj
aCBsb2NhdGlvbi4gW1wjNDRdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9wdWxs
LzQ0KSAoW2hhbHRvbl0oaHR0cHM6Ly9naXRodWIuY29tL2hhbHRvbikpCi0tIEJ1bXAgbWljcm90
aW1lIHRvIDIuMS4xIFtcIzQzXShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvcHVs
bC80MykgKFtoYWx0b25dKGh0dHBzOi8vZ2l0aHViLmNvbS9oYWx0b24pKQotLSBFeHBhbmQgd3Jp
dGVyIHN1cHBvcnQgW1wjMzldKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9wdWxs
LzM5KSAoW21hcmthbmRydXNdKGh0dHBzOi8vZ2l0aHViLmNvbS9tYXJrYW5kcnVzKSkKLS0gQWNj
ZXB0IHdpZGVyIFwoYnV0IHN0aWxsIGluY29tcGxldGVcKSBzZXQgb2YgYWxsb3dlZCBzeW50YXgg
Zm9yIGV4dGVuZGVkIGF0dHJpYnV0ZXMgW1wjMzddKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2Vi
aWRsMi5qcy9wdWxsLzM3KSAoW21sb2dhbl0oaHR0cHM6Ly9naXRodWIuY29tL21sb2dhbikpCi0t
IEFkZCB0ZXN0IGZvciBjYWxsYmFjayB3aXRoIG11bHRpcGxlIGFyZ3VtZW50cy4gW1wjMzZdKGh0
dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9wdWxsLzM2KSAoW3RvYmllXShodHRwczov
L2dpdGh1Yi5jb20vdG9iaWUpKQotLSBJdGVyYWJsZXMgW1wjMzRdKGh0dHBzOi8vZ2l0aHViLmNv
bS93M2Mvd2ViaWRsMi5qcy9wdWxsLzM0KSAoW21vdGl6ODhdKGh0dHBzOi8vZ2l0aHViLmNvbS9t
b3Rpejg4KSkKLS0gQWxsb3cgdHJhaWxpbmcgY29tbWEgaW4gZW51bSB2YWx1ZSBsaXN0cywgcGVy
IHNwZWMgW1wjMzNdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9wdWxsLzMzKSAo
W21vdGl6ODhdKGh0dHBzOi8vZ2l0aHViLmNvbS9tb3Rpejg4KSkKLS0gQWxsb3cgdHlwZWRlZnMg
d2l0aGluIGludGVyZmFjZXMgXChiZWhpbmQgYW4gb3B0LWluIGZsYWdcKSBbXCMzMl0oaHR0cHM6
Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL3B1bGwvMzIpIChbbW90aXo4OF0oaHR0cHM6Ly9n
aXRodWIuY29tL21vdGl6ODgpKQotLSBJbiBkcmFmdCBbXCMzMV0oaHR0cHM6Ly9naXRodWIuY29t
L3czYy93ZWJpZGwyLmpzL3B1bGwvMzEpIChbb3RocmVlXShodHRwczovL2dpdGh1Yi5jb20vb3Ro
cmVlKSkKLS0gQWRkIHN1cHBvcnQgZm9yIGV4dGVuZGVkIGF0dHJpYnV0ZXMgaWRlbnRpZmllciBs
aXN0cyBbXCMyOV0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL3B1bGwvMjkpIChb
dG9iaWVdKGh0dHBzOi8vZ2l0aHViLmNvbS90b2JpZSkpCi0tIE1ha2UgYGF0dHJpYnV0ZSBQcm9t
aXNlXDxUXD5cW1xdIGF0dHI7YCB3b3JrLiBbXCMyNl0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93
ZWJpZGwyLmpzL3B1bGwvMjYpIChbanlhc3NraW5dKGh0dHBzOi8vZ2l0aHViLmNvbS9qeWFzc2tp
bikpCi0tIFBhcnNlIHJlcXVpcmVkIGRpY3Rpb25hcnkgZmllbGRzLiBbXCMyNV0oaHR0cHM6Ly9n
aXRodWIuY29tL3czYy93ZWJpZGwyLmpzL3B1bGwvMjUpIChbanlhc3NraW5dKGh0dHBzOi8vZ2l0
aHViLmNvbS9qeWFzc2tpbikpCi0tIERlZmluZSB0aGUgV2ViSURMMiBwcm9wZXJ0eSBvbiBzZWxm
IHJhdGhlciB0aGFuIHdpbmRvdy4gW1wjMjNdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRs
Mi5qcy9wdWxsLzIzKSAoW01zMmdlcl0oaHR0cHM6Ly9naXRodWIuY29tL01zMmdlcikpCi0tIFRl
YWNoIFdlYklETDIgdG8gcGFyc2UgXFtcXSBkZWZhdWx0IHZhbHVlcy4gW1wjMjJdKGh0dHBzOi8v
Z2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9wdWxsLzIyKSAoW2p5YXNza2luXShodHRwczovL2dp
dGh1Yi5jb20vanlhc3NraW4pKQotLSBTdXBwb3J0IElEIGxpc3QgaW4gZXh0ZW5kZWQgYXR0cmli
dXRlcyBbXCMyMF0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL3B1bGwvMjApIChb
b3RocmVlXShodHRwczovL2dpdGh1Yi5jb20vb3RocmVlKSkKLS0gTWFrZSBzdXJlIHRoYXQgYHNl
cXVlbmNlYCBwcm9wZXJ0eSBvZiBpZGwgdHlwZXMgaXMgc2V0IHRvIGZhbHNlIGlmIHRoZSB0eXBl
IGlzIGFjdHVhbGx5IGBzZXF1ZW5jZWAuIFtcIzE2XShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dl
YmlkbDIuanMvcHVsbC8xNikgKFt0b2JpZV0oaHR0cHM6Ly9naXRodWIuY29tL3RvYmllKSkKLS0g
UGFyYW1ldHJpemVkIFtcIzE1XShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvcHVs
bC8xNSkgKFt0b2JpZV0oaHR0cHM6Ly9naXRodWIuY29tL3RvYmllKSkKLS0gQWRkIHByb21pc2Ug
c3VwcG9ydCBbXCMxMl0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL3B1bGwvMTIp
IChbdG9iaWVdKGh0dHBzOi8vZ2l0aHViLmNvbS90b2JpZSkpCi0tIFJlbW92ZSBicm9rZW4gY292
ZXJhZ2Ugc3VwcG9ydCBmcm9tIHRyYXZpcyBmb3Igbm93LiBbXCMxMV0oaHR0cHM6Ly9naXRodWIu
Y29tL3czYy93ZWJpZGwyLmpzL3B1bGwvMTEpIChbdG9iaWVdKGh0dHBzOi8vZ2l0aHViLmNvbS90
b2JpZSkpCi0tIEFkZCBzdXBwb3J0IGZvciBcW01hcENsYXNzXCh0eXBlLCB0eXBlXClcXS4gW1wj
MTBdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9wdWxsLzEwKSAoW3RvYmllXSho
dHRwczovL2dpdGh1Yi5jb20vdG9iaWUpKQotLSBJbmNvcnBvcmF0ZSB0ZXN0cyBmcm9tIHdpZGxw
cm9jXFsxXF0gYW5kIHJlbW92ZSBkZXBlbmRlbmN5IG9uIHNhaWQgcHJvamVjdC4gW1wjOV0oaHR0
cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL3B1bGwvOSkgKFt0b2JpZV0oaHR0cHM6Ly9n
aXRodWIuY29tL3RvYmllKSkKLS0gUkVBRE1FIGluY29ycmVjdGx5IHJlY29tbWVuZGVkIHVwZGF0
aW5nIHRoZSB3aWRscHJvYyBzdWJtb2R1bGUuIFtcIzhdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mv
d2ViaWRsMi5qcy9wdWxsLzgpIChbdG9iaWVdKGh0dHBzOi8vZ2l0aHViLmNvbS90b2JpZSkpCi0t
IEZpeCBidWcgd2hlcmUgaW5zdHJ1bWVudGVkIHZlcnNpb24gb2Ygd2ViaWRsMiB3YXMgbG9hZGVk
LiBbXCM2XShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvcHVsbC82KSAoW3RvYmll
XShodHRwczovL2dpdGh1Yi5jb20vdG9iaWUpKQotLSBVc2UgaHR0cHM6Ly8gaW5zdGVhZCBvZiBn
aXQ6Ly8gW1wjNF0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL3B1bGwvNCkgKFtN
YW5pc2hlYXJ0aF0oaHR0cHM6Ly9naXRodWIuY29tL01hbmlzaGVhcnRoKSkKLQotCi0KLVwqICpU
aGlzIENoYW5nZSBMb2cgd2FzIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGJ5IFtnaXRodWJfY2hh
bmdlbG9nX2dlbmVyYXRvcl0oaHR0cHM6Ly9naXRodWIuY29tL3NreXdpbmRlci9HaXRodWItQ2hh
bmdlbG9nLUdlbmVyYXRvcikqClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi9MSUNFTlNFIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi9MSUNFTlNFCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCBmZDIxZDQzOWIwOS4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi9MSUNFTlNFCisrKyAvZGV2
L251bGwKQEAgLTEsMjEgKzAsMCBAQAotVGhlIE1JVCBMaWNlbnNlIChNSVQpCi0KLUNvcHlyaWdo
dCAoYykgMjAxNCBSb2JpbiBCZXJqb24KLQotUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwg
ZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weQotb2YgdGhpcyBz
b2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJl
IiksIHRvIGRlYWwKLWluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRp
bmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMKLXRvIHVzZSwgY29weSwgbW9kaWZ5LCBt
ZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwKLWNvcGll
cyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0
d2FyZSBpcwotZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9uczoKLQotVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lv
biBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4gYWxsCi1jb3BpZXMgb3Igc3Vic3RhbnRpYWwg
cG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLgotCi1USEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFT
IElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgotSU1QTElFRCwg
SU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFksCi1GSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VN
RU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUKLUFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMg
QkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKLUxJQUJJTElUWSwgV0hF
VEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5H
IEZST00sCi1PVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUg
VVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRQotU09GVFdBUkUuCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L1JFQURNRS5tZCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvUkVBRE1FLm1kCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCA5YThmM2Y4ZTljMS4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi9SRUFETUUubWQKKysrIC9kZXYv
bnVsbApAQCAtMSw2MjkgKzAsMCBAQAotCi0jIFdlYklETCAyCi0KLVshW05QTSB2ZXJzaW9uXSho
dHRwczovL2JhZGdlLmZ1cnkuaW8vanMvd2ViaWRsMi5zdmcpXShodHRwOi8vYmFkZ2UuZnVyeS5p
by9qcy93ZWJpZGwyKQotCi0jIyBQdXJwb3NlCi0KLVRoaXMgaXMgYSBwYXJzZXIgZm9yIHRoZSBb
V2ViSURMXShodHRwOi8vZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJJREwvKSBsYW5ndWFnZS4g
SWYKLXlvdSBkb24ndCBrbm93IHdoYXQgdGhhdCBpcywgdGhlbiB5b3UgcHJvYmFibHkgZG9uJ3Qg
bmVlZCBpdC4gSXQgaXMgbWVhbnQgdG8gYmUgdXNlZAotYm90aCBpbiBOb2RlIGFuZCBpbiB0aGUg
YnJvd3NlciAodGhlIHBhcnNlciBsaWtlbHkgd29ya3MgaW4gb3RoZXIgSlMgZW52aXJvbm1lbnRz
LCBidXQKLW5vdCB0aGUgdGVzdCBzdWl0ZSkuCi0KLSMjIEluc3RhbGxhdGlvbgotCi1KdXN0IHRo
ZSB1c3VhbC4gRm9yIE5vZGU6Ci0KLWBgYEJhc2gKLW5wbSBpbnN0YWxsIHdlYmlkbDIKLWBgYAot
Ci1JbiB0aGUgYnJvd3NlcjoKLQotYGBgSFRNTAotPHNjcmlwdCBzcmM9J3dlYmlkbDIuanMnPjwv
c2NyaXB0PgotYGBgCi0KLSMjIERvY3VtZW50YXRpb24KLQotVGhlIEFQSSB0byBXZWJJREwyIGlz
IHRyaXZpYWw6IHlvdSBwYXJzZSBhIHN0cmluZyBvZiBXZWJJREwgYW5kIGl0IHJldHVybnMgYSBz
eW50YXggdHJlZS4KLQotIyMjIFBhcnNpbmcKLQotSW4gTm9kZSwgdGhhdCBoYXBwZW5zIHdpdGg6
Ci0KLWBgYEpTCi12YXIgV2ViSURMMiA9IHJlcXVpcmUoIndlYmlkbDIiKTsKLXZhciB0cmVlID0g
V2ViSURMMi5wYXJzZSgic3RyaW5nIG9mIFdlYklETCIpOwotYGBgCi0KLUluIHRoZSBicm93c2Vy
OgotYGBgSFRNTAotPHNjcmlwdCBzcmM9J3dlYmlkbDIuanMnPjwvc2NyaXB0PgotPHNjcmlwdD4K
LSAgdmFyIHRyZWUgPSBXZWJJREwyLnBhcnNlKCJzdHJpbmcgb2YgV2ViSURMIik7Ci08L3Njcmlw
dD4KLWBgYAotCi0jIyMgRXJyb3JzCi0KLVdoZW4gdGhlcmUgaXMgYSBzeW50YXggZXJyb3IgaW4g
dGhlIFdlYklETCwgaXQgdGhyb3dzIGFuIGV4Y2VwdGlvbiBvYmplY3Qgd2l0aCB0aGUgZm9sbG93
aW5nCi1wcm9wZXJ0aWVzOgotCi0qIGBtZXNzYWdlYDogdGhlIGVycm9yIG1lc3NhZ2UKLSogYGxp
bmVgOiB0aGUgbGluZSBhdCB3aGljaCB0aGUgZXJyb3Igb2NjdXJyZWQuCi0qIGBpbnB1dGA6IGEg
c2hvcnQgcGVlayBhdCB0aGUgdGV4dCBhdCB0aGUgcG9pbnQgd2hlcmUgdGhlIGVycm9yIGhhcHBl
bmVkCi0qIGB0b2tlbnNgOiB0aGUgZml2ZSB0b2tlbnMgYXQgdGhlIHBvaW50IG9mIGVycm9yLCBh
cyB1bmRlcnN0b29kIGJ5IHRoZSB0b2tlbmlzZXIKLSAgKHRoaXMgaXMgdGhlIHNhbWUgY29udGVu
dCBhcyBgaW5wdXRgLCBidXQgc2VlbiBmcm9tIHRoZSB0b2tlbmlzZXIncyBwb2ludCBvZiB2aWV3
KQotCi1UaGUgZXhjZXB0aW9uIGFsc28gaGFzIGEgYHRvU3RyaW5nKClgIG1ldGhvZCB0aGF0IGhv
cGVmdWxseSBzaG91bGQgcHJvZHVjZSBhIGRlY2VudAotZXJyb3IgbWVzc2FnZS4KLQotIyMjIEFT
VCAoQWJzdHJhY3QgU3ludGF4IFRyZWUpCi0KLVRoZSBgcGFyc2UoKWAgbWV0aG9kIHJldHVybnMg
YSB0cmVlIG9iamVjdCByZXByZXNlbnRpbmcgdGhlIHBhcnNlIHRyZWUgb2YgdGhlIElETC4KLUNv
bW1lbnQgYW5kIHdoaXRlIHNwYWNlIGFyZSBub3QgcmVwcmVzZW50ZWQgaW4gdGhlIEFTVC4KLQot
VGhlIHJvb3Qgb2YgdGhpcyBvYmplY3QgaXMgYWx3YXlzIGFuIGFycmF5IG9mIGRlZmluaXRpb25z
ICh3aGVyZSBkZWZpbml0aW9ucyBhcmUKLWFueSBvZiBpbnRlcmZhY2VzLCBkaWN0aW9uYXJpZXMs
IGNhbGxiYWNrcywgZXRjLiDigJQgYW55dGhpbmcgdGhhdCBjYW4gb2NjdXIgYXQgdGhlIHJvb3QK
LW9mIHRoZSBJREwpLgotCi0jIyMgSURMIFR5cGUKLQotVGhpcyBzdHJ1Y3R1cmUgaXMgdXNlZCBp
biBtYW55IG90aGVyIHBsYWNlcyAob3BlcmF0aW9uIHJldHVybiB0eXBlcywgYXJndW1lbnQgdHlw
ZXMsIGV0Yy4pLgotSXQgY2FwdHVyZXMgYSBXZWJJREwgdHlwZSB3aXRoIGEgbnVtYmVyIG9mIG9w
dGlvbnMuIFR5cGVzIGxvb2sgbGlrZSB0aGlzIGFuZCBhcmUgdHlwaWNhbGx5Ci1hdHRhY2hlZCB0
byBhIGZpZWxkIGNhbGxlZCBgaWRsVHlwZWA6Ci0KLWBgYEpTCi17Ci0gICJ0eXBlIjogImF0dHJp
YnV0ZS10eXBlIiwKLSAgImdlbmVyaWMiOiBudWxsLAotICAiaWRsVHlwZSI6ICJ1bnNpZ25lZCBz
aG9ydCIsCi0gICJudWxsYWJsZSI6IGZhbHNlLAotICAidW5pb24iOiBmYWxzZSwKLSAgImV4dEF0
dHJzIjogWy4uLl0KLX0KLWBgYAotCi1XaGVyZSB0aGUgZmllbGRzIGFyZSBhcyBmb2xsb3dzOgot
Ci0qIGB0eXBlYDogU3RyaW5nIGluZGljYXRpbmcgd2hlcmUgdGhpcyB0eXBlIGlzIHVzZWQuIENh
biBiZSBgbnVsbGAgaWYgbm90IGFwcGxpY2FibGUuCi0qIGBnZW5lcmljYDogU3RyaW5nIGluZGlj
YXRpbmcgdGhlIGdlbmVyaWMgdHlwZSAoZS5nLiAiUHJvbWlzZSIsICJzZXF1ZW5jZSIpLiBgbnVs
bGAKLSAgb3RoZXJ3aXNlLgotKiBgaWRsVHlwZWA6IENhbiBiZSBkaWZmZXJlbnQgdGhpbmdzIGRl
cGVuZGluZyBvbiBjb250ZXh0LiBJbiBtb3N0IGNhc2VzLCB0aGlzIHdpbGwganVzdAotICBiZSBh
IHN0cmluZyB3aXRoIHRoZSB0eXBlIG5hbWUuIEJ1dCB0aGUgcmVhc29uIHRoaXMgZmllbGQgaXNu
J3QgY2FsbGVkICJ0eXBlTmFtZSIgaXMKLSAgYmVjYXVzZSBpdCBjYW4gdGFrZSBtb3JlIGNvbXBs
ZXggdmFsdWVzLiBJZiB0aGUgdHlwZSBpcyBhIHVuaW9uLCB0aGVuIHRoaXMgY29udGFpbnMgYW4K
LSAgYXJyYXkgb2YgdGhlIHR5cGVzIGl0IHVuaXRlcy4gSWYgaXQgaXMgYSBnZW5lcmljIHR5cGUs
IGl0IGNvbnRhaW5zIHRoZSBJREwgdHlwZQotICBkZXNjcmlwdGlvbiBmb3IgdGhlIHR5cGUgaW4g
dGhlIHNlcXVlbmNlLCB0aGUgZXZlbnR1YWwgdmFsdWUgb2YgdGhlIHByb21pc2UsIGV0Yy4KLSog
YG51bGxhYmxlYDogQm9vbGVhbiBpbmRpY2F0aW5nIHdoZXRoZXIgdGhpcyBpcyBudWxsYWJsZSBv
ciBub3QuCi0qIGB1bmlvbmA6IEJvb2xlYW4gaW5kaWNhdGluZyB3aGV0aGVyIHRoaXMgaXMgYSB1
bmlvbiB0eXBlIG9yIG5vdC4KLSogYGV4dEF0dHJzYDogQSBsaXN0IG9mIFtleHRlbmRlZCBhdHRy
aWJ1dGVzXSgjZXh0ZW5kZWQtYXR0cmlidXRlcykuCi0KLSMjIyBJbnRlcmZhY2UKLQotSW50ZXJm
YWNlcyBsb29rIGxpa2UgdGhpczoKLQotYGBgSlMKLXsKLSAgInR5cGUiOiAiaW50ZXJmYWNlIiwK
LSAgIm5hbWUiOiAiQW5pbWFsIiwKLSAgInBhcnRpYWwiOiBmYWxzZSwKLSAgIm1lbWJlcnMiOiBb
Li4uXSwKLSAgImluaGVyaXRhbmNlIjogbnVsbCwKLSAgImV4dEF0dHJzIjogWy4uLl0KLX0sIHsK
LSAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgIm5hbWUiOiAiSHVtYW4iLAotICAicGFydGlhbCI6
IGZhbHNlLAotICAibWVtYmVycyI6IFsuLi5dLAotICAiaW5oZXJpdGFuY2UiOiAiQW5pbWFsIiwK
LSAgImV4dEF0dHJzIjogWy4uLl0KLX0KLWBgYAotCi1UaGUgZmllbGRzIGFyZSBhcyBmb2xsb3dz
OgotCi0qIGB0eXBlYDogQWx3YXlzICJpbnRlcmZhY2UiLgotKiBgbmFtZWA6IFRoZSBuYW1lIG9m
IHRoZSBpbnRlcmZhY2UuCi0qIGBwYXJ0aWFsYDogQSBib29sZWFuIGluZGljYXRpbmcgd2hldGhl
ciBpdCdzIGEgcGFydGlhbCBpbnRlcmZhY2UuCi0qIGBtZW1iZXJzYDogQW4gYXJyYXkgb2YgaW50
ZXJmYWNlIG1lbWJlcnMgKGF0dHJpYnV0ZXMsIG9wZXJhdGlvbnMsIGV0Yy4pLiBFbXB0eSBpZiB0
aGVyZSBhcmUgbm9uZS4KLSogYGluaGVyaXRhbmNlYDogQSBzdHJpbmcgZ2l2aW5nIHRoZSBuYW1l
IG9mIGFuIGludGVyZmFjZSB0aGlzIG9uZSBpbmhlcml0cyBmcm9tLCBgbnVsbGAgb3RoZXJ3aXNl
LgotICAqKk5PVEUqKjogSW4gdjEgdGhpcyB3YXMgYW4gYXJyYXksIGJ1dCBtdWx0aXBsZSBpbmhl
cml0YW5jZSBpcyBubyBsb25nZXIgc3VwcG9ydGVkIHNvIHRoaXMgZGlkbid0IG1ha2UKLSAgc2Vu
c2UuCi0qIGBleHRBdHRyc2A6IEEgbGlzdCBvZiBbZXh0ZW5kZWQgYXR0cmlidXRlc10oI2V4dGVu
ZGVkLWF0dHJpYnV0ZXMpLgotCi0jIyMgSW50ZXJmYWNlIG1peGlucwotCi1JbnRlcmZhY2VzIG1p
eGlucyBsb29rIGxpa2UgdGhpczoKLQotYGBgSlMKLXsKLSAgInR5cGUiOiAiaW50ZXJmYWNlIG1p
eGluIiwKLSAgIm5hbWUiOiAiQW5pbWFsIiwKLSAgInBhcnRpYWwiOiBmYWxzZSwKLSAgIm1lbWJl
cnMiOiBbLi4uXSwKLSAgImV4dEF0dHJzIjogWy4uLl0KLX0sIHsKLSAgInR5cGUiOiAiaW50ZXJm
YWNlIG1peGluIiwKLSAgIm5hbWUiOiAiSHVtYW4iLAotICAicGFydGlhbCI6IGZhbHNlLAotICAi
bWVtYmVycyI6IFsuLi5dLAotICAiZXh0QXR0cnMiOiBbLi4uXQotfQotYGBgCi0KLVRoZSBmaWVs
ZHMgYXJlIGFzIGZvbGxvd3M6Ci0KLSogYHR5cGVgOiBBbHdheXMgImludGVyZmFjZSBtaXhpbiIu
Ci0qIGBuYW1lYDogVGhlIG5hbWUgb2YgdGhlIGludGVyZmFjZSBtaXhpbi4KLSogYHBhcnRpYWxg
OiBBIGJvb2xlYW4gaW5kaWNhdGluZyB3aGV0aGVyIGl0J3MgYSBwYXJ0aWFsIGludGVyZmFjZSBt
aXhpbi4KLSogYG1lbWJlcnNgOiBBbiBhcnJheSBvZiBpbnRlcmZhY2UgbWVtYmVycyAoYXR0cmli
dXRlcywgb3BlcmF0aW9ucywgZXRjLikuIEVtcHR5IGlmIHRoZXJlIGFyZSBub25lLgotKiBgZXh0
QXR0cnNgOiBBIGxpc3Qgb2YgW2V4dGVuZGVkIGF0dHJpYnV0ZXNdKCNleHRlbmRlZC1hdHRyaWJ1
dGVzKS4KLQotIyMjIE5hbWVzcGFjZQotCi1OYW1lc3BhY2VzIGxvb2sgbGlrZSB0aGlzOgotCi1g
YGBKUwotewotICAidHlwZSI6ICJuYW1lc3BhY2UiLAotICAibmFtZSI6ICJDb25zb2xlIiwKLSAg
InBhcnRpYWwiOiBmYWxzZSwKLSAgIm1lbWJlcnMiOiBbLi4uXSwKLSAgImV4dEF0dHJzIjogWy4u
Ll0KLX0KLWBgYAotCi1UaGUgZmllbGRzIGFyZSBhcyBmb2xsb3dzOgotCi0qIGB0eXBlYDogQWx3
YXlzICJuYW1lc3BhY2UiLgotKiBgbmFtZWA6IFRoZSBuYW1lIG9mIHRoZSBuYW1lc3BhY2UuCi0q
IGBwYXJ0aWFsYDogQSBib29sZWFuIGluZGljYXRpbmcgd2hldGhlciBpdCdzIGEgcGFydGlhbCBu
YW1lc3BhY2UuCi0qIGBtZW1iZXJzYDogQW4gYXJyYXkgb2YgbmFtZXNwYWNlIG1lbWJlcnMgKGF0
dHJpYnV0ZXMgYW5kIG9wZXJhdGlvbnMpLiBFbXB0eSBpZiB0aGVyZSBhcmUgbm9uZS4KLSogYGV4
dEF0dHJzYDogQSBsaXN0IG9mIFtleHRlbmRlZCBhdHRyaWJ1dGVzXSgjZXh0ZW5kZWQtYXR0cmli
dXRlcykuCi0KLSMjIyBDYWxsYmFjayBJbnRlcmZhY2VzCi0KLVRoZXNlIGFyZSBjYXB0dXJlZCBi
eSB0aGUgc2FtZSBzdHJ1Y3R1cmUgYXMgW0ludGVyZmFjZXNdKCNpbnRlcmZhY2UpIGV4Y2VwdCB0
aGF0Ci10aGVpciBgdHlwZWAgZmllbGQgaXMgImNhbGxiYWNrIGludGVyZmFjZSIuCi0KLSMjIyBD
YWxsYmFjawotCi1BIGNhbGxiYWNrIGxvb2tzIGxpa2UgdGhpczoKLQotYGBgSlMKLXsKLSAgInR5
cGUiOiAiY2FsbGJhY2siLAotICAibmFtZSI6ICJBc3luY09wZXJhdGlvbkNhbGxiYWNrIiwKLSAg
ImlkbFR5cGUiOiB7Ci0gICAgInR5cGUiOiAicmV0dXJuLXR5cGUiLAotICAgICJzZXF1ZW5jZSI6
IGZhbHNlLAotICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAg
ICAidW5pb24iOiBmYWxzZSwKLSAgICAiaWRsVHlwZSI6ICJ2b2lkIiwKLSAgICAiZXh0QXR0cnMi
OiBbXQotICB9LAotICAiYXJndW1lbnRzIjogWy4uLl0sCi0gICJleHRBdHRycyI6IFtdCi19Ci1g
YGAKLQotVGhlIGZpZWxkcyBhcmUgYXMgZm9sbG93czoKLQotKiBgdHlwZWA6IEFsd2F5cyAiY2Fs
bGJhY2siLgotKiBgbmFtZWA6IFRoZSBuYW1lIG9mIHRoZSBjYWxsYmFjay4KLSogYGlkbFR5cGVg
OiBBbiBbSURMIFR5cGVdKCNpZGwtdHlwZSkgZGVzY3JpYmluZyB3aGF0IHRoZSBjYWxsYmFjayBy
ZXR1cm5zLgotKiBgYXJndW1lbnRzYDogQSBsaXN0IG9mIFthcmd1bWVudHNdKCNhcmd1bWVudHMp
LCBhcyBpbiBmdW5jdGlvbiBwYXJhbXRlcnMuCi0qIGBleHRBdHRyc2A6IEEgbGlzdCBvZiBbZXh0
ZW5kZWQgYXR0cmlidXRlc10oI2V4dGVuZGVkLWF0dHJpYnV0ZXMpLgotCi0jIyMgRGljdGlvbmFy
eQotCi1BIGRpY3Rpb25hcnkgbG9va3MgbGlrZSB0aGlzOgotCi1gYGBKUwotewotICAidHlwZSI6
ICJkaWN0aW9uYXJ5IiwKLSAgIm5hbWUiOiAiUGFpbnRPcHRpb25zIiwKLSAgInBhcnRpYWwiOiBm
YWxzZSwKLSAgIm1lbWJlcnMiOiBbewotICAgICJ0eXBlIjogImZpZWxkIiwKLSAgICAibmFtZSI6
ICJmaWxsUGF0dGVybiIsCi0gICAgInJlcXVpcmVkIjogZmFsc2UsCi0gICAgImlkbFR5cGUiOiB7
Ci0gICAgICAidHlwZSI6ICJkaWN0aW9uYXJ5LXR5cGUiLAotICAgICAgInNlcXVlbmNlIjogZmFs
c2UsCi0gICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAibnVsbGFibGUiOiB0cnVlLAotICAg
ICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAiaWRsVHlwZSI6ICJET01TdHJpbmciLAotICAgICAg
ImV4dEF0dHJzIjogWy4uLl0KLSAgICB9LAotICAgICJleHRBdHRycyI6IFtdLAotICAgICJkZWZh
dWx0IjogewotICAgICAgInR5cGUiOiAic3RyaW5nIiwKLSAgICAgICJ2YWx1ZSI6ICJibGFjayIK
LSAgICB9Ci0gIH1dLAotICAiaW5oZXJpdGFuY2UiOiBudWxsLAotICAiZXh0QXR0cnMiOiBbXQot
fQotYGBgCi0KLVRoZSBmaWVsZHMgYXJlIGFzIGZvbGxvd3M6Ci0KLSogYHR5cGVgOiBBbHdheXMg
ImRpY3Rpb25hcnkiLgotKiBgbmFtZWA6IFRoZSBkaWN0aW9uYXJ5IG5hbWUuCi0qIGBwYXJ0aWFs
YDogQm9vbGVhbiBpbmRpY2F0aW5nIHdoZXRoZXIgaXQncyBhIHBhcnRpYWwgZGljdGlvbmFyeS4K
LSogYG1lbWJlcnNgOiBBbiBhcnJheSBvZiBtZW1iZXJzIChzZWUgYmVsb3cpLgotKiBgaW5oZXJp
dGFuY2VgOiBBIHN0cmluZyBpbmRpY2F0aW5nIHdoaWNoIGRpY3Rpb25hcnkgaXMgYmVpbmcgaW5o
ZXJpdGVkIGZyb20sIGBudWxsYCBvdGhlcndpc2UuCi0qIGBleHRBdHRyc2A6IEEgbGlzdCBvZiBb
ZXh0ZW5kZWQgYXR0cmlidXRlc10oI2V4dGVuZGVkLWF0dHJpYnV0ZXMpLgotCi1BbGwgdGhlIG1l
bWJlcnMgYXJlIGZpZWxkcyBhcyBmb2xsb3dzOgotCi0qIGB0eXBlYDogQWx3YXlzICJmaWVsZCIu
Ci0qIGBuYW1lYDogVGhlIG5hbWUgb2YgdGhlIGZpZWxkLgotKiBgcmVxdWlyZWRgOiBCb29sZWFu
IGluZGljYXRpbmcgd2hldGhlciB0aGlzIGlzIGEgW3JlcXVpcmVkXShodHRwczovL2hleWNhbS5n
aXRodWIuaW8vd2ViaWRsLyNyZXF1aXJlZC1kaWN0aW9uYXJ5LW1lbWJlcikgZmllbGQuCi0qIGBp
ZGxUeXBlYDogQW4gW0lETCBUeXBlXSgjaWRsLXR5cGUpIGRlc2NyaWJpbmcgd2hhdCBmaWVsZCdz
IHR5cGUuCi0qIGBleHRBdHRyc2A6IEEgbGlzdCBvZiBbZXh0ZW5kZWQgYXR0cmlidXRlc10oI2V4
dGVuZGVkLWF0dHJpYnV0ZXMpLgotKiBgZGVmYXVsdGA6IEEgW2RlZmF1bHQgdmFsdWVdKCNkZWZh
dWx0LWFuZC1jb25zdC12YWx1ZXMpLCBhYnNlbnQgaWYgdGhlcmUgaXMgbm9uZS4KLQotIyMjIEVu
dW0KLQotQW4gZW51bSBsb29rcyBsaWtlIHRoaXM6Ci0KLWBgYEpTCi17Ci0gICJ0eXBlIjogImVu
dW0iLAotICAibmFtZSI6ICJNZWFsVHlwZSIsCi0gICJ2YWx1ZXMiOiBbCi0gICAgeyAidHlwZSI6
ICJzdHJpbmciLCAidmFsdWUiOiAicmljZSIgfSwKLSAgICB7ICJ0eXBlIjogInN0cmluZyIsICJ2
YWx1ZSI6ICJub29kbGVzIiB9LAotICAgIHsgInR5cGUiOiAic3RyaW5nIiwgInZhbHVlIjogIm90
aGVyIiB9Ci0gIF0sCi0gICJleHRBdHRycyI6IFtdCi19Ci1gYGAKLQotVGhlIGZpZWxkcyBhcmUg
YXMgZm9sbG93czoKLQotKiBgdHlwZWA6IEFsd2F5cyAiZW51bSIuCi0qIGBuYW1lYDogVGhlIGVu
dW0ncyBuYW1lLgotKiBgdmFsdWVzYDogQW4gYXJyYXkgb2YgdmFsdWVzLgotKiBgZXh0QXR0cnNg
OiBBIGxpc3Qgb2YgW2V4dGVuZGVkIGF0dHJpYnV0ZXNdKCNleHRlbmRlZC1hdHRyaWJ1dGVzKS4K
LQotIyMjIFR5cGVkZWYKLQotQSB0eXBlZGVmIGxvb2tzIGxpa2UgdGhpczoKLQotYGBgSlMKLXsK
LSAgInR5cGUiOiAidHlwZWRlZiIsCi0gICJpZGxUeXBlIjogewotICAgICJ0eXBlIjogInR5cGVk
ZWYtdHlwZSIsCi0gICAgInNlcXVlbmNlIjogdHJ1ZSwKLSAgICAiZ2VuZXJpYyI6ICJzZXF1ZW5j
ZSIsCi0gICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgInVuaW9uIjogZmFsc2UsCi0gICAgImlk
bFR5cGUiOiB7Ci0gICAgICAidHlwZSI6ICJ0eXBlZGVmLXR5cGUiLAotICAgICAgInNlcXVlbmNl
IjogZmFsc2UsCi0gICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAibnVsbGFibGUiOiBmYWxz
ZSwKLSAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgImlkbFR5cGUiOiAiUG9pbnQiLAotICAg
ICAgImV4dEF0dHJzIjogWy4uLl0KLSAgICB9LAotICAgICJleHRBdHRycyI6IFsuLi5dCi0gIH0s
Ci0gICJuYW1lIjogIlBvaW50U2VxdWVuY2UiLAotICAiZXh0QXR0cnMiOiBbXQotfQotYGBgCi0K
LQotVGhlIGZpZWxkcyBhcmUgYXMgZm9sbG93czoKLQotKiBgdHlwZWA6IEFsd2F5cyAidHlwZWRl
ZiIuCi0qIGBuYW1lYDogVGhlIHR5cGVkZWYncyBuYW1lLgotKiBgaWRsVHlwZWA6IEFuIFtJREwg
VHlwZV0oI2lkbC10eXBlKSBkZXNjcmliaW5nIHdoYXQgdHlwZWRlZidzIHR5cGUuCi0qIGBleHRB
dHRyc2A6IEEgbGlzdCBvZiBbZXh0ZW5kZWQgYXR0cmlidXRlc10oI2V4dGVuZGVkLWF0dHJpYnV0
ZXMpLgotCi0jIyMgSW1wbGVtZW50cwotCi1BbiBpbXBsZW1lbnRzIGRlZmluaXRpb24gbG9va3Mg
bGlrZSB0aGlzOgotCi1gYGBKUwotewotICAidHlwZSI6ICJpbXBsZW1lbnRzIiwKLSAgInRhcmdl
dCI6ICJOb2RlIiwKLSAgImltcGxlbWVudHMiOiAiRXZlbnRUYXJnZXQiLAotICAiZXh0QXR0cnMi
OiBbXQotfQotYGBgCi0KLVRoZSBmaWVsZHMgYXJlIGFzIGZvbGxvd3M6Ci0KLSogYHR5cGVgOiBB
bHdheXMgImltcGxlbWVudHMiLgotKiBgdGFyZ2V0YDogVGhlIGludGVyZmFjZSB0aGF0IGltcGxl
bWVudHMgYW5vdGhlci4KLSogYGltcGxlbWVudHNgOiBUaGUgaW50ZXJmYWNlIHRoYXQgaXMgYmVp
bmcgaW1wbGVtZW50ZWQgYnkgdGhlIHRhcmdldC4KLSogYGV4dEF0dHJzYDogQSBsaXN0IG9mIFtl
eHRlbmRlZCBhdHRyaWJ1dGVzXSgjZXh0ZW5kZWQtYXR0cmlidXRlcykuCi0KLSMjIyBJbmNsdWRl
cwotCi1BbiBpbmNsdWRlcyBkZWZpbml0aW9uIGxvb2tzIGxpa2UgdGhpczoKLQotYGBgSlMKLXsK
LSAgInR5cGUiOiAiaW5jbHVkZXMiLAotICAidGFyZ2V0IjogIk5vZGUiLAotICAiaW5jbHVkZXMi
OiAiRXZlbnRUYXJnZXQiLAotICAiZXh0QXR0cnMiOiBbXQotfQotYGBgCi0KLVRoZSBmaWVsZHMg
YXJlIGFzIGZvbGxvd3M6Ci0KLSogYHR5cGVgOiBBbHdheXMgImluY2x1ZGVzIi4KLSogYHRhcmdl
dGA6IFRoZSBpbnRlcmZhY2UgdGhhdCBpbmNsdWRlcyBhbiBpbnRlcmZhY2UgbWl4aW4uCi0qIGBp
bmNsdWRlc2A6IFRoZSBpbnRlcmZhY2UgbWl4aW4gdGhhdCBpcyBiZWluZyBpbmNsdWRlZCBieSB0
aGUgdGFyZ2V0LgotKiBgZXh0QXR0cnNgOiBBIGxpc3Qgb2YgW2V4dGVuZGVkIGF0dHJpYnV0ZXNd
KCNleHRlbmRlZC1hdHRyaWJ1dGVzKS4KLQotIyMjIE9wZXJhdGlvbiBNZW1iZXIKLQotQW4gb3Bl
cmF0aW9uIGxvb2tzIGxpa2UgdGhpczoKLWBgYEpTCi17Ci0gICJ0eXBlIjogIm9wZXJhdGlvbiIs
Ci0gICJnZXR0ZXIiOiBmYWxzZSwKLSAgInNldHRlciI6IGZhbHNlLAotICAiZGVsZXRlciI6IGZh
bHNlLAotICAic3RhdGljIjogZmFsc2UsCi0gICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAiaWRs
VHlwZSI6IHsKLSAgICAidHlwZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAgInNlcXVlbmNlIjogZmFs
c2UsCi0gICAgImdlbmVyaWMiOiBudWxsLAotICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICJ1
bmlvbiI6IGZhbHNlLAotICAgICJpZGxUeXBlIjogInZvaWQiLAotICAgICJleHRBdHRycyI6IFtd
Ci0gIH0sCi0gICJuYW1lIjogImludGVyc2VjdGlvbiIsCi0gICJhcmd1bWVudHMiOiBbewotICAg
ICJvcHRpb25hbCI6IGZhbHNlLAotICAgICJ2YXJpYWRpYyI6IHRydWUsCi0gICAgImV4dEF0dHJz
IjogW10sCi0gICAgImlkbFR5cGUiOiB7Ci0gICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwK
LSAgICAgICJzZXF1ZW5jZSI6IGZhbHNlLAotICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAg
Im51bGxhYmxlIjogZmFsc2UsCi0gICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICJpZGxUeXBl
IjogImxvbmciLAotICAgICAgImV4dEF0dHJzIjogWy4uLl0KLSAgICB9LAotICAgICJuYW1lIjog
ImludHMiCi0gIH1dLAotICAiZXh0QXR0cnMiOiBbXQotfQotYGBgCi0KLVRoZSBmaWVsZHMgYXJl
IGFzIGZvbGxvd3M6Ci0KLSogYHR5cGVgOiBBbHdheXMgIm9wZXJhdGlvbiIuCi0qIGBnZXR0ZXJg
OiBUcnVlIGlmIGEgZ2V0dGVyIG9wZXJhdGlvbi4KLSogYHNldHRlcmA6IFRydWUgaWYgYSBzZXR0
ZXIgb3BlcmF0aW9uLgotKiBgZGVsZXRlcmA6IFRydWUgaWYgYSBkZWxldGVyIG9wZXJhdGlvbi4K
LSogYHN0YXRpY2A6IFRydWUgaWYgYSBzdGF0aWMgb3BlcmF0aW9uLgotKiBgc3RyaW5naWZpZXJg
OiBUcnVlIGlmIGEgc3RyaW5naWZpZXIgb3BlcmF0aW9uLgotKiBgaWRsVHlwZWA6IEFuIFtJREwg
VHlwZV0oI2lkbC10eXBlKSBvZiB3aGF0IHRoZSBvcGVyYXRpb24gcmV0dXJucy4gSWYgYSBzdHJp
bmdpZmllciwgbWF5IGJlIGFic2VudC4KLSogYG5hbWVgOiBUaGUgbmFtZSBvZiB0aGUgb3BlcmF0
aW9uLiBJZiBhIHN0cmluZ2lmaWVyLCBtYXkgYmUgYG51bGxgLgotKiBgYXJndW1lbnRzYDogQW4g
YXJyYXkgb2YgW2FyZ3VtZW50c10oI2FyZ3VtZW50cykgZm9yIHRoZSBvcGVyYXRpb24uCi0qIGBl
eHRBdHRyc2A6IEEgbGlzdCBvZiBbZXh0ZW5kZWQgYXR0cmlidXRlc10oI2V4dGVuZGVkLWF0dHJp
YnV0ZXMpLgotCi0jIyMgQXR0cmlidXRlIE1lbWJlcgotCi1BbiBhdHRyaWJ1dGUgbWVtYmVyIGxv
b2tzIGxpa2UgdGhpczoKLQotYGBgSlMKLXsKLSAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAgInN0
YXRpYyI6IGZhbHNlLAotICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgImluaGVyaXQiOiBmYWxz
ZSwKLSAgInJlYWRvbmx5IjogZmFsc2UsCi0gICJpZGxUeXBlIjogewotICAgICJ0eXBlIjogImF0
dHJpYnV0ZS10eXBlIiwKLSAgICAic2VxdWVuY2UiOiBmYWxzZSwKLSAgICAiZ2VuZXJpYyI6IG51
bGwsCi0gICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgInVuaW9uIjogZmFsc2UsCi0gICAgImlk
bFR5cGUiOiAiUmVnRXhwIiwKLSAgICAiZXh0QXR0cnMiOiBbLi4uXQotICB9LAotICAibmFtZSI6
ICJyZWdleHAiLAotICAiZXh0QXR0cnMiOiBbXQotfQotYGBgCi0KLVRoZSBmaWVsZHMgYXJlIGFz
IGZvbGxvd3M6Ci0KLSogYHR5cGVgOiBBbHdheXMgImF0dHJpYnV0ZSIuCi0qIGBuYW1lYDogVGhl
IGF0dHJpYnV0ZSdzIG5hbWUuCi0qIGBzdGF0aWNgOiBUcnVlIGlmIGl0J3MgYSBzdGF0aWMgYXR0
cmlidXRlLgotKiBgc3RyaW5naWZpZXJgOiBUcnVlIGlmIGl0J3MgYSBzdHJpbmdpZmllciBhdHRy
aWJ1dGUuCi0qIGBpbmhlcml0YDogVHJ1ZSBpZiBpdCdzIGFuIGluaGVyaXQgYXR0cmlidXRlLgot
KiBgcmVhZG9ubHlgOiBUcnVlIGlmIGl0J3MgYSByZWFkLW9ubHkgYXR0cmlidXRlLgotKiBgaWRs
VHlwZWA6IEFuIFtJREwgVHlwZV0oI2lkbC10eXBlKSBmb3IgdGhlIGF0dHJpYnV0ZS4KLSogYGV4
dEF0dHJzYDogQSBsaXN0IG9mIFtleHRlbmRlZCBhdHRyaWJ1dGVzXSgjZXh0ZW5kZWQtYXR0cmli
dXRlcykuCi0KLSMjIyBDb25zdGFudCBNZW1iZXIKLQotQSBjb25zdGFudCBtZW1iZXIgbG9va3Mg
bGlrZSB0aGlzOgotCi1gYGBKUwotewotICAidHlwZSI6ICJjb25zdCIsCi0gICJudWxsYWJsZSI6
IGZhbHNlLAotICAiaWRsVHlwZSI6IHsKLSAgICAidHlwZSI6ICJjb25zdC10eXBlIiwKLSAgICAi
c2VxdWVuY2UiOiBmYWxzZSwKLSAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgIm51bGxhYmxlIjog
ZmFsc2UsCi0gICAgInVuaW9uIjogZmFsc2UsCi0gICAgImlkbFR5cGUiOiAiYm9vbGVhbiIKLSAg
ICAiZXh0QXR0cnMiOiBbXQotICB9LAotICAibmFtZSI6ICJERUJVRyIsCi0gICJ2YWx1ZSI6IHsK
LSAgICAidHlwZSI6ICJib29sZWFuIiwKLSAgICAidmFsdWUiOiBmYWxzZQotICB9LAotICAiZXh0
QXR0cnMiOiBbXQotfQotYGBgCi0KLVRoZSBmaWVsZHMgYXJlIGFzIGZvbGxvd3M6Ci0KLSogYHR5
cGVgOiBBbHdheXMgImNvbnN0Ii4KLSogYG51bGxhYmxlYDogV2hldGhlciBpdHMgdHlwZSBpcyBu
dWxsYWJsZS4KLSogYGlkbFR5cGVgOiBBbiBbSURMIFR5cGVdKCNpZGwtdHlwZSkgb2YgdGhlIGNv
bnN0YW50IHRoYXQgcmVwcmVzZW50cyBhIHNpbXBsZSB0eXBlLCB0aGUgdHlwZSBuYW1lLgotKiBg
bmFtZWA6IFRoZSBuYW1lIG9mIHRoZSBjb25zdGFudC4KLSogYHZhbHVlYDogVGhlIGNvbnN0YW50
IHZhbHVlIGFzIGRlc2NyaWJlZCBieSBbQ29uc3QgVmFsdWVzXSgjZGVmYXVsdC1hbmQtY29uc3Qt
dmFsdWVzKQotKiBgZXh0QXR0cnNgOiBBIGxpc3Qgb2YgW2V4dGVuZGVkIGF0dHJpYnV0ZXNdKCNl
eHRlbmRlZC1hdHRyaWJ1dGVzKS4KLQotIyMjIEFyZ3VtZW50cwotCi1UaGUgYXJndW1lbnRzIChl
LmcuIGZvciBhbiBvcGVyYXRpb24pIGxvb2sgbGlrZSB0aGlzOgotCi1gYGBKUwotewotICAiYXJn
dW1lbnRzIjogW3sKLSAgICAib3B0aW9uYWwiOiBmYWxzZSwKLSAgICAidmFyaWFkaWMiOiB0cnVl
LAotICAgICJleHRBdHRycyI6IFtdLAotICAgICJpZGxUeXBlIjogewotICAgICAgInR5cGUiOiAi
YXJndW1lbnQtdHlwZSIsCi0gICAgICAic2VxdWVuY2UiOiBmYWxzZSwKLSAgICAgICJnZW5lcmlj
IjogbnVsbCwKLSAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgInVuaW9uIjogZmFsc2Us
Ci0gICAgICAiaWRsVHlwZSI6ICJsb25nIiwKLSAgICAgICJleHRBdHRycyI6IFsuLi5dCi0gICAg
fSwKLSAgICAibmFtZSI6ICJpbnRzIgotICB9XQotfQotYGBgCi0KLVRoZSBmaWVsZHMgYXJlIGFz
IGZvbGxvd3M6Ci0KLSogYG9wdGlvbmFsYDogVHJ1ZSBpZiB0aGUgYXJndW1lbnQgaXMgb3B0aW9u
YWwuCi0qIGB2YXJpYWRpY2A6IFRydWUgaWYgdGhlIGFyZ3VtZW50IGlzIHZhcmlhZGljLgotKiBg
aWRsVHlwZWA6IEFuIFtJREwgVHlwZV0oI2lkbC10eXBlKSBkZXNjcmliaW5nIHRoZSB0eXBlIG9m
IHRoZSBhcmd1bWVudC4KLSogYG5hbWVgOiBUaGUgYXJndW1lbnQncyBuYW1lLgotKiBgZXh0QXR0
cnNgOiBBIGxpc3Qgb2YgW2V4dGVuZGVkIGF0dHJpYnV0ZXNdKCNleHRlbmRlZC1hdHRyaWJ1dGVz
KS4KLQotIyMjIEV4dGVuZGVkIEF0dHJpYnV0ZXMKLQotRXh0ZW5kZWQgYXR0cmlidXRlcyBhcmUg
YXJyYXlzIG9mIGl0ZW1zIHRoYXQgbG9vayBsaWtlIHRoaXM6Ci0KLWBgYEpTCi17Ci0gICJleHRB
dHRycyI6IFt7Ci0gICAgIm5hbWUiOiAiVHJlYXROdWxsQXMiLAotICAgICJhcmd1bWVudHMiOiBu
dWxsLAotICAgICJ0eXBlIjogImV4dGVuZGVkLWF0dHJpYnV0ZSIsCi0gICAgInJocyI6IHsKLSAg
ICAgICJ0eXBlIjogImlkZW50aWZpZXIiLAotICAgICAgInZhbHVlIjogIkVtcHR5U3RyaW5nIgot
ICAgIH0KLSAgfV0KLX0KLWBgYAotCi1UaGUgZmllbGRzIGFyZSBhcyBmb2xsb3dzOgotCi0qIGBu
YW1lYDogVGhlIGV4dGVuZGVkIGF0dHJpYnV0ZSdzIG5hbWUuCi0qIGBhcmd1bWVudHNgOiBJZiB0
aGUgZXh0ZW5kZWQgYXR0cmlidXRlIHRha2VzIGFyZ3VtZW50cyAoZS5nLiBgW0ZvbygpXWApIG9y
IGlmCi0gIGl0cyByaWdodC1oYW5kIHNpZGUgZG9lcyAoZS5nLiBgW05hbWVkQ29uc3RydWN0b3I9
TmFtZShET01TdHJpbmcgYmxhaCldYCkgdGhleQotICBhcmUgbGlzdGVkIGhlcmUuIE5vdGUgdGhh
dCBhbiBlbXB0eSBhcmd1bWVudHMgbGlzdCB3aWxsIHByb2R1Y2UgYW4gZW1wdHkgYXJyYXksCi0g
IHdoZXJlYXMgdGhlIGxhY2sgdGhlcmVvZiB3aWxsIHlpZWxkIGEgYG51bGxgLiBJZiB0aGVyZSBp
cyBhbiBgcmhzYCBmaWVsZCB0aGVuCi0gIHRoZXkgYXJlIHRoZSByaWdodC1oYW5kIHNpZGUncyBh
cmd1bWVudHMsIG90aGVyd2lzZSB0aGV5IGFwcGx5IHRvIHRoZSBleHRlbmRlZAotICBhdHRyaWJ1
dGUgZGlyZWN0bHkuCi0qIGB0eXBlYDogQWx3YXlzIGAiZXh0ZW5kZWQtYXR0cmlidXRlImAuCi0q
IGByaHNgOiBJZiB0aGVyZSBpcyBhIHJpZ2h0LWhhbmQgc2lkZSwgdGhpcyB3aWxsIGNhcHR1cmUg
aXRzIGB0eXBlYCAod2hpY2ggY2FuIGJlCi0gICJpZGVudGlmaWVyIiBvciAiaWRlbnRpZmllci1s
aXN0IikgYW5kIGl0cyBgdmFsdWVgLgotCi0jIyMgRGVmYXVsdCBhbmQgQ29uc3QgVmFsdWVzCi0K
LURpY3Rpb25hcnkgZmllbGRzIGFuZCBvcGVyYXRpb24gYXJndW1lbnRzIGNhbiB0YWtlIGRlZmF1
bHQgdmFsdWVzLCBhbmQgY29uc3RhbnRzIHRha2UKLXZhbHVlcywgYWxsIG9mIHdoaWNoIGhhdmUg
dGhlIGZvbGxvd2luZyBmaWVsZHM6Ci0KLSogYHR5cGVgOiBPbmUgb2Ygc3RyaW5nLCBudW1iZXIs
IGJvb2xlYW4sIG51bGwsIEluZmluaXR5LCBOYU4sIG9yIHNlcXVlbmNlLgotCi1Gb3Igc3RyaW5n
LCBudW1iZXIsIGJvb2xlYW4sIGFuZCBzZXF1ZW5jZToKLQotKiBgdmFsdWVgOiBUaGUgdmFsdWUg
b2YgdGhlIGdpdmVuIHR5cGUsIGFzIGEgc3RyaW5nLiBGb3Igc2VxdWVuY2UsIHRoZSBvbmx5IHBv
c3NpYmxlIHZhbHVlIGlzIGBbXWAuCi0KLUZvciBJbmZpbml0eToKLQotKiBgbmVnYXRpdmVgOiBC
b29sZWFuIGluZGljYXRpbmcgd2hldGhlciB0aGlzIGlzIG5lZ2F0aXZlIEluZmluaXR5IG9yIG5v
dC4KLQotIyMjIGBpdGVyYWJsZTw+YCwgYGxlZ2FjeWl0ZXJhYmxlPD5gLCBgbWFwbGlrZTw+YCwg
YHNldGxpa2U8PmAgZGVjbGFyYXRpb25zCi0KLVRoZXNlIGFwcGVhciBhcyBtZW1iZXJzIG9mIGlu
dGVyZmFjZXMgdGhhdCBsb29rIGxpa2UgdGhpczoKLQotYGBgSlMKLXsKLSAgInR5cGUiOiAibWFw
bGlrZSIsIC8vIG9yICJsZWdhY3lpdGVyYWJsZSIgLyAiaXRlcmFibGUiIC8gInNldGxpa2UiCi0g
ICJpZGxUeXBlIjogLyogT25lIG9yIHR3byB0eXBlcyAqLyAsCi0gICJyZWFkb25seSI6IGZhbHNl
LCAvLyBvbmx5IGZvciBtYXBsaWtlIGFuZCBzZXRsaWtlCi0gICJleHRBdHRycyI6IFtdCi19Ci1g
YGAKLQotVGhlIGZpZWxkcyBhcmUgYXMgZm9sbG93czoKLQotKiBgdHlwZWA6IEFsd2F5cyBvbmUg
b2YgIml0ZXJhYmxlIiwgImxlZ2FjeWl0ZXJhYmxlIiwgIm1hcGxpa2UiIG9yICJzZXRsaWtlIi4K
LSogYGlkbFR5cGVgOiBBbiBhcnJheSB3aXRoIG9uZSBvciBtb3JlIFtJREwgVHlwZXNdKCNpZGwt
dHlwZSkgcmVwcmVzZW50aW5nIHRoZSBkZWNsYXJlZCB0eXBlIGFyZ3VtZW50cy4KLSogYHJlYWRv
bmx5YDogV2hldGhlciB0aGUgbWFwbGlrZSBvciBzZXRsaWtlIGlzIGRlY2xhcmVkIGFzIHJlYWQg
b25seS4KLSogYGV4dEF0dHJzYDogQSBsaXN0IG9mIFtleHRlbmRlZCBhdHRyaWJ1dGVzXSgjZXh0
ZW5kZWQtYXR0cmlidXRlcykuCi0KLQotIyMgVGVzdGluZwotCi0jIyMgUnVubmluZwotCi1UaGUg
dGVzdCBydW5zIHdpdGggbW9jaGEgYW5kIGV4cGVjdC5qcy4gTm9ybWFsbHksIHJ1bm5pbmcgbW9j
aGEgaW4gdGhlIHJvb3QgZGlyZWN0b3J5Ci1zaG91bGQgYmUgZW5vdWdoIG9uY2UgeW91J3JlIHNl
dCB1cC4KLQotIyMjIENvdmVyYWdlCi0KLUN1cnJlbnQgdGVzdCBjb3ZlcmFnZSwgYXMgZG9jdW1l
bnRlZCBpbiBgY292ZXJhZ2UuaHRtbGAsIGlzIDk1JS4gWW91IGNhbiBydW4geW91ciBvd24KLWNv
dmVyYWdlIGFuYWx5c2lzIHdpdGg6Ci0KLWBgYEJhc2gKLWpzY292ZXJhZ2UgbGliIGxpYi1jb3YK
LWBgYAotCi1UaGF0IHdpbGwgY3JlYXRlIHRoZSBsaWItY292IGRpcmVjdG9yeSB3aXRoIGluc3Ry
dW1lbnRlZCBjb2RlOyB0aGUgdGVzdCBzdWl0ZSBrbm93cwotdG8gdXNlIHRoYXQgaWYgbmVlZGVk
LiBZb3UgY2FuIHRoZW4gcnVuIHRoZSB0ZXN0cyB3aXRoOgotCi1gYGBCYXNoCi1KU0NPVj0xIG1v
Y2hhIC0tcmVwb3J0ZXIgaHRtbC1jb3YgPiBjb3ZlcmFnZS5odG1sCi1gYGAKLQotTm90ZSB0aGF0
IEkndmUgYmVlbiBnZXR0aW5nIHdlaXJkbHkgb3ZlcmVzY2FwZWQgcmVzdWx0cyBmcm9tIHRoZSBo
dG1sLWNvdiByZXBvcnRlciwKLXNvIHlvdSBtaWdodCB3aXNoIHRvIHRyeSB0aGlzIGluc3RlYWQ6
Ci0KLWBgYEJhc2gKLUpTQ09WPTEgbW9jaGEgIC0tcmVwb3J0ZXIgaHRtbC1jb3YgfCBzZWQgInMv
Jmx0Oy88L2ciIHwgc2VkICJzLyZndDsvPi9nIiB8IHNlZCAicy8mcXVvdDsvXCIvZyIgPiBjb3Zl
cmFnZS5odG1sCi1gYGAKLSMjIyBCcm93c2VyIHRlc3RzCi0KLUluIG9yZGVyIHRvIHRlc3QgaW4g
dGhlIGJyb3dzZXIsIGdldCBpbnNpZGUgYHRlc3Qvd2ViYCBhbmQgcnVuIGBtYWtlLXdlYi10ZXN0
cy5qc2AuIFRoaXMKLXdpbGwgZ2VuZXJhdGUgYSBgYnJvd3Nlci10ZXN0cy5odG1sYCBmaWxlIHRo
YXQgeW91IGNhbiBvcGVuIGluIGEgYnJvd3Nlci4gQXMgb2YgdGhpcwotd3JpdGluZyB0ZXN0cyBw
YXNzIGluIHRoZSBsYXRlc3QgRmlyZWZveCwgQ2hyb21lLCBPcGVyYSwgYW5kIFNhZmFyaS4gVGVz
dGluZyBvbiBJRQotYW5kIG9sZGVyIHZlcnNpb25zIHdpbGwgaGFwcGVuIHByb2dyZXNzaXZlbHku
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL2NoZWNrZXIvaW5kZXguaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvY2hlY2tlci9pbmRl
eC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5ODk3ZDg1NzJmMi4uMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi9jaGVja2VyL2luZGV4Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw1
NSArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08dGl0bGU+V2ViSURM
IDIgQ2hlY2tlcjwvdGl0bGU+Ci0KLTxzY3JpcHQgc3JjPScuLi9saWIvd2ViaWRsMi5qcyc+PC9z
Y3JpcHQ+Ci08c2NyaXB0PgotbGV0IHBhcnNlclJlc3VsdCA9IHVuZGVmaW5lZDsKLQotZnVuY3Rp
b24gZm9ybWF0UGFyc2VyT3V0cHV0KCkgewotICBjb25zdCBvdXRwdXRFbCA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCd3ZWJpZGwtY2hlY2tlci1vdXRwdXQnKTsKLSAgaWYgKHBhcnNlclJlc3Vs
dCkgewotICAgIGNvbnN0IHByZXR0eVByaW50RWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgn
cHJldHR5LXByaW50Jyk7Ci0gICAgb3V0cHV0RWwuaW5uZXJUZXh0ID0gSlNPTi5zdHJpbmdpZnko
cGFyc2VyUmVzdWx0LCBudWxsLCBwcmV0dHlQcmludEVsLmNoZWNrZWQgPyAyIDogbnVsbCk7Ci0g
IH0gZWxzZSB7Ci0gICAgb3V0cHV0RWwuaW5uZXJUZXh0ID0gJyc7Ci0gIH0KLX0KLQotZnVuY3Rp
b24gY2hlY2tXZWJJREwodGV4dFRvQ2hlY2spIHsKLSAgY29uc3QgdmFsaWRhdGlvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCd3ZWJpZGwtY2hlY2tlci12YWxpZGF0aW9uJyk7Ci0gIHBhcnNl
clJlc3VsdCA9IG51bGw7Ci0gIHRyeSB7Ci0gICAgcGFyc2VyUmVzdWx0ID0gV2ViSURMMi5wYXJz
ZSh0ZXh0VG9DaGVjayk7Ci0gICAgdmFsaWRhdGlvbi5pbm5lclRleHQgPSAnV2ViSURMIHBhcnNl
ZCBzdWNjZXNzZnVsbHkhJzsKLSAgfSBjYXRjaCAoZSkgewotICAgIHZhbGlkYXRpb24uaW5uZXJU
ZXh0ID0gJ0V4Y2VwdGlvbiB3aGlsZSBwYXJzaW5nIFdlYklETC4gU2VlIEphdmFTY3JpcHQgY29u
c29sZSBmb3IgbW9yZSBkZXRhaWxzLlxuXG4nICsgZS50b1N0cmluZygpOwotICAgIC8vIFBhc3Mg
aXQgYWxvbmcgdG8gdGhlIEphdmFTY3JpcHQgY29uc29sZS4KLSAgICB0aHJvdyBlOwotICB9IGZp
bmFsbHkgewotICAgIGZvcm1hdFBhcnNlck91dHB1dCgpOwotICB9Ci19Ci08L3NjcmlwdD4KLTxz
dHlsZT4KLXRleHRhcmVhIHsKLSAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsKLX0KLTwvc3R5bGU+
Ci08L2hlYWQ+Ci08Ym9keT4KLTxoMj5XZWJJREwgQ2hlY2tlcjwvaDI+Ci08cD5UaGlzIGlzIGFu
IG9ubGluZSBjaGVja2VyIGZvciBXZWJJREwgYnVpbHQgb24gdGhlIDxhIGhyZWY9Imh0dHBzOi8v
Z2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcyI+d2ViaWRsMi5qczwvYT4gcHJvamVjdC48L3A+Ci08
cD5FbnRlciB5b3VyIFdlYklETCB0byBjaGVjayBiZWxvdzo8L3A+Ci08dGV4dGFyZWEgaWQ9J3dl
YmlkbC10by1jaGVjaycgcm93cz0nMjAnIGNvbHM9JzgwJz48L3RleHRhcmVhPgotPGJyPgotPGlu
cHV0IHR5cGU9J2J1dHRvbicgdmFsdWU9J0NoZWNrIFdlYklETCcgb25jbGljaz0nY2hlY2tXZWJJ
REwoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIndlYmlkbC10by1jaGVjayIpLnZhbHVlKSc+Ci08
cD5WYWxpZGF0aW9uIHJlc3VsdHM6PC9wPgotPHRleHRhcmVhIGlkPSd3ZWJpZGwtY2hlY2tlci12
YWxpZGF0aW9uJyByb3dzPScyMCcgY29scz0nODAnPjwvdGV4dGFyZWE+Ci08cD5QYXJzZXIgb3V0
cHV0OjwvcD4KLTx0ZXh0YXJlYSBpZD0nd2ViaWRsLWNoZWNrZXItb3V0cHV0JyByb3dzPScyMCcg
Y29scz0nODAnPjwvdGV4dGFyZWE+Ci08YnI+Ci08aW5wdXQgdHlwZT0nY2hlY2tib3gnIGlkPSdw
cmV0dHktcHJpbnQnIGNoZWNrZWQ9J3RydWUnIG9uY2hhbmdlPSdmb3JtYXRQYXJzZXJPdXRwdXQo
KSc+UHJldHR5IFByaW50Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL2NoZWNr
ZXIvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL2NoZWNrZXIvdzNjLWltcG9ydC5sb2cKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDdhZmZjMjZkOTc1Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L2NoZWNrZXIvdzNjLWltcG9ydC5sb2cKKysrIC9kZXYvbnVsbApAQCAtMSwxNyArMCwwIEBACi1U
aGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVw
b3NpdG9yeS4KLURvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0Lgot
SW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgotCWh0dHBz
Oi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0Ci0KLVRoZW4gcnVuIHRoZSBUb29s
cy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0Ci0KLURvIE5P
VCBtb2RpZnkgb3IgcmVtb3ZlIHRoaXMgZmlsZS4KLQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1Qcm9wZXJ0
aWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6Ci1Ob25lCi1Qcm9wZXJ0eSB2YWx1ZXMgcmVx
dWlyaW5nIHZlbmRvciBwcmVmaXhlczoKLU5vbmUKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotTGlzdCBvZiBm
aWxlczoKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL2NoZWNrZXIvaW5kZXguaHRtbApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi9jb3ZlcmFn
ZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi9jb3ZlcmFnZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCA0NmU3ZWQzMjRlYy4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi9jb3ZlcmFnZS5odG1sCisrKyAv
ZGV2L251bGwKQEAgLTEsMzQxICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPjxodG1sPjxoZWFkPjx0
aXRsZT5Db3ZlcmFnZTwvdGl0bGU+PHNjcmlwdD4KLQotaGVhZGluZ3MgPSBbXTsKLQotb25sb2Fk
ID0gZnVuY3Rpb24oKXsKLSAgaGVhZGluZ3MgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdo
MicpOwotfTsKLQotb25zY3JvbGwgPSBmdW5jdGlvbihlKXsKLSAgdmFyIGhlYWRpbmcgPSBmaW5k
KHdpbmRvdy5zY3JvbGxZKTsKLSAgaWYgKCFoZWFkaW5nKSByZXR1cm47Ci0gIHZhciBsaW5rcyA9
IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJyNtZW51IGEnKQotICAgICwgbGluazsKLQotICBm
b3IgKHZhciBpID0gMCwgbGVuID0gbGlua3MubGVuZ3RoOyBpIDwgbGVuOyArK2kpIHsKLSAgICBs
aW5rID0gbGlua3NbaV07Ci0gICAgbGluay5jbGFzc05hbWUgPSBsaW5rLmdldEF0dHJpYnV0ZSgn
aHJlZicpID09ICcjJyArIGhlYWRpbmcuaWQKLSAgICAgID8gJ2FjdGl2ZScKLSAgICAgIDogJyc7
Ci0gIH0KLX07Ci0KLWZ1bmN0aW9uIGZpbmQoeSkgewotICB2YXIgaSA9IGhlYWRpbmdzLmxlbmd0
aAotICAgICwgaGVhZGluZzsKLQotICB3aGlsZSAoaS0tKSB7Ci0gICAgaGVhZGluZyA9IGhlYWRp
bmdzW2ldOwotICAgIGlmICh5ID49IGhlYWRpbmcub2Zmc2V0VG9wKSB7Ci0gICAgICByZXR1cm4g
aGVhZGluZzsKLSAgICB9Ci0gIH0KLX0KLTwvc2NyaXB0PgotPHN0eWxlPgotCi1ib2R5IHsKLSAg
Zm9udDogMTRweC8xLjYgIkhlbHZldGljYSBOZXVlIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1z
ZXJpZjsKLSAgbWFyZ2luOiAwOwotICBjb2xvcjogIzJDMkMyQzsKLSAgYm9yZGVyLXRvcDogMnB4
IHNvbGlkICNkZGQ7Ci19Ci0KLSNjb3ZlcmFnZSB7Ci0gIHBhZGRpbmc6IDYwcHg7Ci19Ci0KLWgx
IGEgewotICBjb2xvcjogaW5oZXJpdDsKLSAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7Ci19Ci0KLWgx
IGE6aG92ZXIgewotICB0ZXh0LWRlY29yYXRpb246IG5vbmU7Ci19Ci0KLS5vbmxvYWQgaDEgewot
ICBvcGFjaXR5OiAxOwotfQotCi1oMiB7Ci0gIHdpZHRoOiA4MCU7Ci0gIG1hcmdpbi10b3A6IDgw
cHg7Ci0gIG1hcmdpbi1ib3R0b206IDA7Ci0gIGZvbnQtd2VpZ2h0OiAxMDA7Ci0gIGxldHRlci1z
cGFjaW5nOiAxcHg7Ci0gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWVlOwotfQotCi1hIHsK
LSAgY29sb3I6ICM4QTYzNDM7Ci0gIGZvbnQtd2VpZ2h0OiBib2xkOwotICB0ZXh0LWRlY29yYXRp
b246IG5vbmU7Ci19Ci0KLWE6aG92ZXIgewotICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsK
LX0KLQotdWwgewotICBtYXJnaW4tdG9wOiAyMHB4OwotICBwYWRkaW5nOiAwIDE1cHg7Ci0gIHdp
ZHRoOiAxMDAlOwotfQotCi11bCBsaSB7Ci0gIGZsb2F0OiBsZWZ0OwotICB3aWR0aDogNDAlOwot
ICBtYXJnaW4tdG9wOiA1cHg7Ci0gIG1hcmdpbi1yaWdodDogNjBweDsKLSAgbGlzdC1zdHlsZTog
bm9uZTsKLSAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlZWU7Ci0gIHBhZGRpbmc6IDVweCAw
OwotICBmb250LXNpemU6IDEycHg7Ci19Ci0KLXVsOjphZnRlciB7Ci0gIGNvbnRlbnQ6ICcuJzsK
LSAgaGVpZ2h0OiAwOwotICBkaXNwbGF5OiBibG9jazsKLSAgdmlzaWJpbGl0eTogaGlkZGVuOwot
ICBjbGVhcjogYm90aDsKLX0KLQotY29kZSB7Ci0gIGZvbnQ6IDEycHggbW9uYWNvLCBtb25vc3Bh
Y2U7Ci19Ci0KLXByZSB7Ci0gIG1hcmdpbjogMzBweDsKLSAgcGFkZGluZzogMzBweDsKLSAgYm9y
ZGVyOiAxcHggc29saWQgI2VlZTsKLSAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2RkZDsKLSAgLXdl
YmtpdC1ib3JkZXItcmFkaXVzOiAycHg7Ci0gIC1tb3otYm9yZGVyLXJhZGl1czogMnB4OwotICAt
d2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDAgMCAxMHB4ICNlZWU7Ci0gIC1tb3otYm94LXNoYWRv
dzogaW5zZXQgMCAwIDEwcHggI2VlZTsKLSAgb3ZlcmZsb3cteDogYXV0bzsKLX0KLQotaW1nIHsK
LSAgbWFyZ2luOiAzMHB4OwotICBwYWRkaW5nOiAxcHg7Ci0gIC13ZWJraXQtYm9yZGVyLXJhZGl1
czogM3B4OwotICAtbW96LWJvcmRlci1yYWRpdXM6IDNweDsKLSAgLXdlYmtpdC1ib3gtc2hhZG93
OiAwIDNweCAxMHB4ICNkZWRlZGUsIDAgMXB4IDVweCAjODg4OwotICAtbW96LWJveC1zaGFkb3c6
IDAgM3B4IDEwcHggI2RlZGVkZSwgMCAxcHggNXB4ICM4ODg7Ci0gIG1heC13aWR0aDogMTAwJTsK
LX0KLQotZm9vdGVyIHsKLSAgYmFja2dyb3VuZDogI2VlZTsKLSAgd2lkdGg6IDEwMCU7Ci0gIHBh
ZGRpbmc6IDUwcHggMDsKLSAgdGV4dC1hbGlnbjogcmlnaHQ7Ci0gIGJvcmRlci10b3A6IDFweCBz
b2xpZCAjZGRkOwotfQotCi1mb290ZXIgc3BhbiB7Ci0gIGRpc3BsYXk6IGJsb2NrOwotICBtYXJn
aW4tcmlnaHQ6IDMwcHg7Ci0gIGNvbG9yOiAjODg4OwotICBmb250LXNpemU6IDEycHg7Ci19Ci0K
LSNtZW51IHsKLSAgcG9zaXRpb246IGZpeGVkOwotICBmb250LXNpemU6IDEycHg7Ci0gIG92ZXJm
bG93LXk6IGF1dG87Ci0gIHRvcDogMDsKLSAgcmlnaHQ6IDA7Ci0gIG1hcmdpbjogMDsKLSAgaGVp
Z2h0OiAxMDAlOwotICBwYWRkaW5nOiAxNXB4IDA7Ci0gIHRleHQtYWxpZ246IHJpZ2h0OwotICBi
b3JkZXItbGVmdDogMXB4IHNvbGlkICNlZWU7Ci0gIC1tb3otYm94LXNoYWRvdzogMCAwIDJweCAj
ODg4Ci0gICAgICwgaW5zZXQgNXB4IDAgMjBweCByZ2JhKDAsMCwwLC41KQotICAgICAsIGluc2V0
IDVweCAwIDNweCByZ2JhKDAsMCwwLC4zKTsKLSAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgMnB4
ICM4ODgKLSAgICAgLCBpbnNldCA1cHggMCAyMHB4IHJnYmEoMCwwLDAsLjUpCi0gICAgICwgaW5z
ZXQgNXB4IDAgM3B4IHJnYmEoMCwwLDAsLjMpOwotICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBh
bnRpYWxpYXNlZDsKLSAgYmFja2dyb3VuZDogdXJsKCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZC
T1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUdZQUFBQm1DQU1BQUFBT0FSUlFBQUFCZWxCTVZFVWpKU1U2
T3pzaEl5TTVPam9xS3kwMk5qZ3NMUzAxTlRZakpDVXpOVFVnSVNNbEpTYzBOVFV2TURBNlBEd2xK
eWcxTmpZb0tpczJOallyTFMwMk9Ea3BLeXcwTkRZckxDMDRPRG92THpBNE9qbzBORFV0THk4Nk9q
d2pJeVU0T1Rvc0xTODJPRGd0TFM4aEl5UXZNVEVuS0Nvb0tTc3JLeTBxTEN3a0pTVW5LQ2tyTEN3
cEtpd3dNakl4TXpNcUxDMHRMUzBwS2lzc0xDMDBOVFl3TURJd01UUXBLeXNvS1Nvdk1ERXRMekEy
T1RreE16VXJLeXd2THk4cUt5c3pOVFk1T3pzcUtpdzZPanN3TURFeE5EVW9LaW96TkRVdk1ESXlO
RFkxTmpnMk5qazVPVG96TXpVME5qWTRPRGtpSXlVaUl5UTRPVGt1TURFbUtDb3dNalF3TVRFckxT
NHFLeXd3TVRNaElpTXBLaW9wS3kwdExqQWtKU2N4TkRRdkx6RXhORFl5TkRRbUtDazVPVHNsSmln
NU9qc2tKU1l4TXpRckxTOGdJU0l3TVRJb0tDazFOVFVsSlNVbkp5Z3dNREE0T0RnaUlpTWhJU0k4
UER3Nk9qbzVPVGtwS1Nvakl5UTdPenN5TWpJcEtTc3NMQ3c2T3p3MU5qbHJmTGFrQUFBZzJVbEVR
VlI0MmpSNmkzZWE2cll2UGdBTklBaFZYaDhXdmtRbGlvVWlGbEZjQnRBbW9pUk5kenhxdTlwMEo3
dnJkSzI5enVQZWV4NzdubnZPLzM1bjFyMW5kSFJrdEkwalRPYWN2L2w3bENCSzVVcVZwT2hhL1l4
bVdLN0JDNFRRRktWWHJiWXNuaW1xeHV1TVZsT1EwWGx0V2pVZEN3UkoxTSt0QzFLdWRPczlxNitk
YTJhZFVld0cwU0MwU3dFTGZIdGdEZHM5M1ZFdXlkRWJsM1FNV2VOb1lrUjdiLzB4MVpSb2JHSTNt
THd6QWhlUHFUQXdoZzZhb2dqTnNHeTcvandRNHJrZHFlN0NXTHhGOGs5TGZNVkZ5UlM3VkpxdGty
VzhWdC9ia1I4RlpKYW8xNmlwa25iQzNZdzJsTTdsYU82SEJFT2FkRVoydHBmNjVjNHY4ZTN1N0Z5
VTZxYmlOTnlDdXpYWjZwYXdnbndnbXJwVFQvUTd3MkVabWlJSjBkeldESTdtaFE4MElmUm5NdTJr
ekE1cjVyMXBJRm9pYSsvZDkzSFJZcDFHVjhUYnJrV29VLytqZEkwRmY2eUd3VGpUMUhuOEorOG0x
cktwR2lZUHVOaUhuTXROTUl2K3pwc2s4NE1ZVE5XMS8rRHB3WEx2Y2tkT0NNWW93Vk5QUkVlMFFs
TTh4UkhYWEZoY05EenVwd3NTbWI1cEgrMHQwUlAyUWsrUXRJN0YxUW02SlJDNlpQQnRQcS9kcS9r
SCtqeHRDbGpuOVRJcFc2clFJZ21TVnlqNmxQSUNJdzROL3Rha2E0MVBGVUludGgwamU5K2pPNkt0
MUc0L2E3VjJMRWdHMDJCMHBIVnVDWnJnbHRTS011SWw1U3l1ZlV2OW1ZdVFpK21GZ3piQkV0Rm8y
ZytEaDRzU1RyTE51OEpQaDAwc1F5ZHBiMDB0cVhCdnFSTjdRN2txemNuSXhDR252WnQvV21KYWNv
T0VPNkRjbjhRcmUwM3BPQ1NReGJNT1hVdUROeDlTeHVMejRXMUkxOGd2alZpUTY3elYwcnhkV0w4
VGUvVFFrdW84U1RTNDFEUjQ4VzdMNllQMnVXSXFpVVY4cmQ2R2JmL3JuZWdLWmVHOFRwQU02YWZo
R3plOUpBT3hiTGpzblVYRWJyWjl2TFlkN01UMzJjUEY1bUtLeG1qeTdodWFvRDluNjJHT3huaTNp
SUp3djBJelpBWmpkWmtVdG9sQ05MVmZZWk5hcXVGakdzelZWZitKMHZyejRDYXdvS2RIbk96YjBO
TUg3Q0RCT3liZllOSjRyZmVNeUZOamtGWVZUek1Gczg3cm5QR1hMVU9lTktSVmMwTG5VNy9VSWdl
bHpzeTNDTXV0aDBZZnZuWTB3c0Qzdk9EVUwzZUpjS3FIUXBtOHlNM1haUVdKeE82VW45aVlsb3l5
THBPd04yb2JIeTZXNmdicGNiNDRYbXlDK21nK2l0QWNhcHJHY3J3WkNxTWovR210S24welB2cFR6
L0N2MWR3MjFYd1AzY1J1cGczSDNNRi9TNzFlVEtqMVlyZHdLZGMyTXcwZlJtYjJzRmY4bFczYVU2
SmJJWlNFUHF2WHZqTTdHL2FBcHlYbFhlcUtmTXEwZy9TdTNyVUdKUFNQcnRHRWxna25yWk0zeFVY
cXNBUDZ6TUNOVm41dThhSm5TTnBKdjJ1cnU3dDJqZlJ6aVcyK0d1aHFmbGRVTmJQazcxb2x3bys0
NmVQVW8xVTNXS2svZTVZSzA3Ri93R1JnY3BPRG1RbklsVmVIQ1dCRTRwdUJpMmpxMjhVS3BxaU4x
LzRVT3JHejU5VE5ZcnJRSHRkKzExc0c0MEJHRCtwWGRlbE5xR09nNE5YZThXNGVhY0pWL05TOS8y
VW10eW02V1FxdmVxUjl4ZENNRWxweG5ia2FsTTRWZjl1YUVjV1phS2R5aWJFSWpXS3hKWlBOOTVu
aUNMM0dpYVh5c3NJckh4b0xrcWt6TENYVUxONDYvZjJoM3RRSmd5aXArVGs5RUFqSjlhSnNocTd0
OFg0NWFvd1NLc3BNU3ZQZjdyOVI4eXhOcHRJYUhTNW96dUVtNmx1UERBcHVneU5QOE9hcWlRNEJq
YWVxdVhBNTRTTEM4M2VISVkycitDWnA0NDA5WHF3OEFhMm9JN1hrQ3JRaStpbjB3NUFxRi9rTE5y
Y1V6K3FrbC9sQW9iWTFqU254NU9KTmh5WEl6M3FmTkZsWGMwVEthZ2xOd2RXa1dZdDlRUTFLcjZX
OHp1ZTIxaU5yZEprK041b0NyMk85bkV0V0tDN0lTNUovemRERVlybW5BWWZnNmFnQ3krcWNnejda
b2ZlRGM0UGJVV1N2a3NoV3VBYzdPamlVeUxraitSQXRkbHdYSmNqeGRwa1RUSERoSzhsQkNpOCtK
dHZEVkwxVzZlbG1PTSsrWVMwTHVTbGFQMW9VdkFlaVczY0ZudlRyOEViVHoxdHNTTVlkR2VaZTQw
c1JXdTV1QWZqN3ErWm9LdjJGTlEwcDVYWTFsbWxjaWdIWnFUUHBhYnVmRVZyTnVOUGkxNjV3M3VD
VlFKSHlKcW1TSjdaSG5ndXF3dENtd1ZpSUppamowNGJhMkpOWXRCK3lPUmY1Z2cxLzl0OWl3NHZV
cGVxaXVuU0FiZitJQmRqL2IraUcycXJIdnVOUDBWZC8rVGhWWlQvbHJ2SFlqamdEYmJ5eGFxZ0hO
TTJ1aHhhMUdXM1VlZFpZaE1Nd000bVFobHRvdUsrSVY0TmRiSVFOTSs4WXYzMTFSWms5a1Q0dGlZ
UjRMa3lGY3VQcGRjanVoVXVGcUJBV1JaYTExbGNaM2dFQmxYeXdzTmhydCtwbElTWlA1RGxzVjls
NEVnWTZKM3laUFRVY01yZ2FXQVQzb0k3OWVTYkdFYmNKcHI2QkQ4a3lEaVZ0K0cwL2hYb3NRTjRO
RlhLbGZXSWZzSXMwQkhPRFZvazEvSUduS0ZISllJcXVoOFhvKzIrYmtRTlRHZ1dtTi9mWjBZMzNM
U2o2bHIxR3lWN21XSUtnN1pUUlpQR3VoRi96alJOY1ExVVB0U1lnbldReFNzMHlyVmh3TkRjZEdN
TlNOZTJKVDNXdXpiQU0zSHlreUFhalMzVXBoZjZTVEtFcXhMYXM5RW5tbmhBL2x5ajlVaitKb1k3
U1ZnVm1HTGw0NlJtMnU5OHNia2FwMmx6QWRLQkc0cjZMZ3VsUU9TU2pRdjFHV2RRMGp0RFVLL21B
YXFNMVVxanB1NGszUnZmdnh2N1lUeExTSyt3TjNFNWpWSXptRjIzdVo3aGlIL3NWUDQ5RDd0dm9L
cDRTOGIxTHV2UmxpdlZCL2FsZ2JoY0ZJVFlWWHZEcEx6cERmcGxSMnVENVY0WEpGeHBqbUlwTGM5
WTVzQjJUcEJSaXg3Qm1lNkdaSXErMDZ2M1h6TmVUY0E0b2JRSUt4cm5UNEMySnBPcUQ5MmRibVNY
OE1HYXpseTVFc1pWTXZTVTFmNFJad3l1OGlRWGJWZGVMbFpyanVUVDFqclkxdWs1YzdpWjdSc3Zo
aGx1cUFrcTRKcFZRQWc3UkpGdFN1K3hnSjhQdjZPMWo1RGtMeFQ4bWtiZnlSVzVEclFtRzdoaURJ
akNnQnNBRGJqdW9mNllITEdlVjZhNVExU214OWpvVVhQcGRhYUR4OTdBL1dxMDBvSmtkUjdaWXVR
UmZTNTMzSnR4TzFlcmR1cVdPWUl0M3doMHdwYkx1Q05JWWt3eGJzd2Jpa0NVdTJDRENTK1ErN3Jn
VnRmUmNtK1NPY2RLUFJsWi9yRTd3TlZVRUUzOUtUUzV1dlVLTjFQVW5rbG9Qa3l6aHlHUThxa291
RWpKM0gvVlhkcUc2YXNTUml3M2VjTWxCdkREdDhkRGhCSFhNd1oyQ2FqempyNy83NlQrSWF2cVBZ
dno2cjcvL0UvM1gzK04vL2gvMFFvemJqUGdQaWlyNjlQLzhYMy85Ri95djhiLzgyNy8rKzk4V0l0
UHU1L0h2d2Q4WVBmNWJwLzIvbFgvVC8rT2YvME1KL2xZVGErTC9FZitkOXZOLzMvMlQ2UC8ranlU
enUvZXZmNlU3dnhON0I2cEprUnRBRjZqVXI4SStQOFJzUC9wdEdoZnFGaytwUS9EZ0F5Nk5KdFJZ
SmRYbXA0Z0s3V0xxTEtKK01hS2hHak9vanZMK1NuSVdya3B5MFNMSERlNFF1eU56YUVBMTVtTE1D
Y21FOEVtKzRIZE9paFc0L1pXdXBwSkVtemVBd2NEdHY3TXVMYzl5MlY1YXR2eFhOZTNTNERVTXQ1
L1F5MkxNOWtTWUtpVldCdUtsZnA0bnhUbnRwdVcwM0piSWxraVJ2QlhtVDIzZzFJMk9ZZTZJaXpV
SFBJcTZ6bTZtYmZzYnRlS21pL3NnOUorb2NRQk1jdEdGTzdpbGpvOFRQTit6M2p4dzRkbytad2Zx
b1I5ZGtOVEtIeU0zMDVHcFRrZmhjSGV4VmtQVkdFYlVPanVvOWYwVU1QSEJGbEdFeDBTTHZKdlZS
S1R3VzdQU2V3NW9QbWUrRTQyK2ZySmE5Y0d0Mm5qUzNkSzVrSWlmMmVZYmh1U0VRWEVxTVZmVWpo
R0l1aW4wRzAvVzVlekp5SlF5M1NwTUxhaTRNMEpVV2I1dTFrOXRueTViZDFwUHdZQnBRdURDWFps
NjJ4ZzRDZFZFQXRmbFhIczZKS21QL3BINm1PbDc5Nkxnb3BqMG84ZDVrS2gwMGh4RzNPU2RFRS9R
Qm85SGdyOEpKcUFlTER3Sm9oRzVqL0RHaDYxUmMvK3RmMjIvOGtFbnhITkNFam8wRWx2dkdmRVNa
a3FtejJCRGNLVjFIMWJ1U2toa2RnN3AxSU1HczJzMTduWWpwYmxyV3VFMks5V0VPL2hjUnA1ZTlv
T0YvUUJtT2FEdGdpbCtvYVU2c3pQcmR3VzY1Zk9CMEtVVHNWVW43TEZVN0o4ZTZjeEpJbDkrRkh3
NU1RTXp1UUorNG94TUgzaVcvNUdLK2hXdUcwVCtnVExzK2ZBamR0VWQ1OFRtSVVxMDRFZXlSQ1lD
amtsZG93MjM0YUlnUjVicXdydFpvc1orNllFcUFtRHFhdEo5bFdhc3o0SXF1S0FMUHRkOTJoR0kz
WjJCZHp6WnVlK1JFbDFPbTRESVdEK1JydFVUT0pMSStTMGpIb3dYWGRBeHNHTFNkNDB6WU51RVVs
T0docndMNmM3dGNPdFVPdnBKQ1A3UUJRUzE5SCtHdlpuMDVld2psVkx6K0lHS29DOVR5ZlFqTE1C
Tm1YQ3VxcXRUZE9TdWtaVzQ4QjBIcWdTVENCckJubEZ2RjRDRzJTdTd5RnpxbUpGVVJLM1VtVFQz
cnUwNTByMHB0VXBNaWxZbkJKV2ZsMkJ2NmtQbFV1RTFreHhwZHp1aTlBdWJzUjJOMmJvVlN1ODFP
dWxBd0Jxb1NyMUxaMExMWU9vbXlaSG1qcW5YbFA3MnM4TG5Eb3VFSmp0b2RCdmRIYUcxak15U1lP
N2NyV2Q5ME1wQ1J5Q0cxNHZiNUlFN0FydXB3L3kvUmNDbS9UbTN6SzZ6WWo4UFlOYUdsZGlVZmtC
L0xIV2NtZjJsVk0rbXd5VTI3YTBxcTJ0c2NyUS92ekJqTjI2RG5udElyT3lHaXp6WEszNXlLUWRZ
blVBQmt5TjRzYXozV0QvdmlGK2VDY3NYbklhamRXWUpXYVlIUnN0SWlzOUNTK3RxbkZHbXoyajV1
emZyM1o0cHJxZ0s0WE9UL1B5ZnR2alpxSW04bGhrZnhKN09sM0NKRjFwaVlCR0FHOHd0QWs1NkRy
dzFZd21PcGN6K05kZmtTcFNMcGxSWExYSEwwUnF1ajZZVy9nYWJxZ0s3RGdyNk53dEgwQi9BTjdY
ck4rTVZKNkFtWG1VdXFtUXVsck5OWVBtSDBSb0RvZ3lkT0tMby9RYmZZTkFSU1FRS0lTUkN6UlhV
K3E5V1dKRkwzTFpXNnUzNENrZUc5N3hDME5OR2FKMGJ2SzZTblpTM3pQc2tyNUV0dUNnak1XUjVv
Mng1QnFoS21EV0pQUmU3Sk1FT3lSYjV1VUtsSGFHVnRxNWl2U09hU2xpU1hwOVNRbTJxazhNUkpo
MTBNQXA5UVEySDV0NTlKOHJqaXdTWnRvSWZNR2psTFBWTmRZbC9MQlIwQU82V0xHRG1rTGtJUFJF
NDVZOU1mdGRBSy95TnUxSG42dHpPUVRlc2dRKzhmU3pCMTl3TzkxdkNuTzIzdk9XUWR3SjYzU0py
WWpkZktGVzZXMjgxUEtzMms4aVQ5YWkxY2dKNHNhM3hxZHZtdHhSOC8rRDFCOEFLYzJ1KzZKZnRy
eVJoTVdTUXRvU0JnSXl5UUd5eGNuRUx1QWFzWE4xMm9TcmlVNFJNejFERDZSTDBUU1Yrb203aTFZ
dCtqRUUvam5hd004Y1gvVWhONG5raXYvdzllQUxyek5oWHVRZk96RkwwRmk2U2pGNy80UW44ckxZ
Qm9hODVjdmdBbmtDRUJQK0hQYkVucXVWWENac01TL3l6WXcyVnJ1NjBQLytuSlBZS2t6WkZqbWJ5
a3pVb0VxVjgzNlQ1cTNmUC9MMzgzZEY4MnR4MTgvQVpnWmN6TUFneWVXWUttU1pJcXRITCtlK080
WlJjcTlWSTNnL3FQZUNvaUs0cGNnRXFkYlMwUy9CZTU0c2JWUU91SlZQTkJibElnaHplYXNOdTdo
L2crU3oxSWRoSTVsQ3dxMW5VYjNKaTRPQ0ljcVFacXRxSjV3N3JYcmcvREE5SWdWbUVHaERnR2Vj
RXduQ1RIZmZYY1hzMFYzT0NFVnpZREtTMXZwL29YK25nKzZYVlU4NlVqQTZGTU8yUlhPT09ycVkx
R2dQdnJBazlIVi9CWHRDdTVSdXdGOHFnZEdETHNCY3VpNEUzM3ltZEJpcDFYOHVLeWhJV1Q4cU5S
RHNYeitndk85VWlFQzBkOFJHNFRmMng4SDRzbGxqZ0h0Q0JjeEhMVFdPWUptNUgvZkNQQ3pPZ2Y5
cWdPVXhUUlowUGM2aGE1eUx1TFZUOW50dklhNmdhY0U5OW1Db3ZkVXVtVFFkUlA0UlBzUzkxMjll
RWUydVN2dkdoMGJWNFkzUVBQaFBaTXFoWldTTWE1UjBIYzFTR080SVZPUWMwRnJpcmxpYlRWZktS
cllrRDhrejNiK1g2NS9Ra1VOYVpkcmRsM21DYXAwSGYzWWNDdy9MaW91SllOYnF6ODhVcWVEWXY5
M3lPN3Z2WHRnbDRYQ3lBTzRPRGtZNlcrODMrTFpVLy9wMy96WE5HR3JVS0NsQ2lPbkwyN2lKWmJO
V0RGMDJYWEFPZUZsQjdJYUFEb01IMVlxcitVUDliaXlaREVhL2lKdDRNRGVJejZHS1RkTFZCZldH
VnRSTjRmZFQycmdSZVg4VVh3RjJ6T3JyYWRtNEowbnlUZ2RQbmFpM1J2enBadkNLRFVxak93RC9R
QTZFRGFNQ0xld1g2UVdZVm5IWTFzeDFiZDhvdlluUG0xWnZQSCtyRTIwbFdqT0NuWjY2L3hEdDBR
QWwxNUZqZkJjWnAraTlPVTBSTlBRMHQzeDJwU05XbzhlaVl1ZHdzbnVQMUhxNmlIMUxKQ0p5bmtZ
c2ZnSjBwM3BGNlNvUWsybCtqcUU4Q1BrK3ppR0pSU0tqcytXNUFPMTg1dW1QZGtZemxLNHdsN1RD
OU54eXlEUDdab3lZVm9YaXVTNlNqbklubExXcnd6MWk4YkdUS1hYMEFWUVdrU2ZJbGdsVzN6UkpS
SjhiZzVWZ0U2WkVucU51OUIrKzBHTlF2RFFKdkZpemU0RVNOS0JKUCs4dkEzTE00QVg1U0lCcTA4
TW9iKzdRTVRDWng0bndQLzY0KzRCbmxaQys4V3RsUC9DWHc2dDFQd013a0ozamhQMUZpWExoREYv
M0k2RkdVek8yRFNpOUFCeEt5eUw5cGFaeFNFejQwWkNQUVRvREFKdTE5NTlrN1FkYlZ4Z0I0aWNz
dTJzNHpzVFBKaGNFRG8rTjFHWDR6U2svd3JpUmg4QXF3TDYyOTcyaTlISkhkMXlkYUxYVnp2S3ZP
ZkdHdzVSVmNVVk1pS1hGSDRBUGRrUVUvZGM1QlgwWWZLVE5aWVhDVzltYjhiYzhtdWZvUVA2QmJk
UW1UOTlaam9ZZnIvZ280VGdRWDlJRGd6dGltN3d5RmVHTWZiTmFlcWo4RHpzMzhwZ2Nxd1N2Mmhi
cUIzb1NHS1dLeStzZXNZN3A1N3dBSGxkcUU2TkR1ZGsvVzdzL3pqcks0clpGbEZ2YUd4blNaZEhi
YzF5NDdxRE42eGtvSzhPM2JmcjJqNDFkbEpaNzFyQjRkbERxYXBQRmE4TjZ4QnJwclVkdGVuVUNI
d3hLTmh3MXV1VEJoKzl1VTQ1azRSRXBRQUJOMmJBTzlEU0xxb0lMMjZnTnJvV2d1cDVwVU14SFVO
U3E0R3l6NDd2QlB2aWxwbzVmOU9ZSTJkZEFxVHFtbnhYRVJ4UUozVUs4ZkhiVkU5SGFnSGkzK3Rx
TlJvTnNBcmRtQXhIQTVMd3RRbzlaQWFOS1VUbGpub2tsam8yeDhzY3FWcEVFSVBjMDFmUENkSE9D
ZzBEZVdCejhENVRWQUFmeDhhUkg1WDJaWU5JM2ViS0RaZGVKK29CREF4bVJxSjMwRWgyL0RhZUF5
NWRpVk5NcEVEbVhpUERzR1R6QkxYeThlVkRkSm9JYWZneC9neE15UWk0NTRRclc1Nm5DeWVFTGdT
dU5ORW1Za2ZsRit0M0NaUU9WUldqS2hJdUNjbG1RU2xBWFQzKzRKR0c3NUI0dC81aFErbGRNUDRM
c0FXNnozWG1VNklKSndwbkdWbnNnVVpob1kxZlpsd1RSOHdTVTd4UmVqZjJ1Q3g5WjV0clZUUlJK
UDlLbkViMTM0ZEVpZWlsNmVDT0dXZ2JvSTd4c3FzcU05OWpmSkxUZVBqeWdLbEgyQ1Z4eHNzZTlR
UnpUQkZqRC9LanFpdHIvQ0NUQnQvU0o2bkx4ejdjS1A5cEZxQnBwMGxONXkrYWRLTnNaanJQdXJv
ZW1aYXVIOWFUVEZEM0VLSFc4UzU1WEJMRlFBdDFqZ3hUUUNUd3hteC9KeWZzWkROMVJyb04zVmF4
cFNlbnBJWDdLK1piTDhWZGxRRGNJNENiemczUUpMYTl5VnFOeFVlbHUrRXR4TFZxZWVrYUF2U0pr
TzZzU1ZxYlVhanhxaEtzaE5wdlpxb2VBcEYway8wUDBpa2t3VWNiZHdjNEExZWpON09vME8xNWtH
N2hUTW9LM2haUkJDWDdZWWVMVzB3dmNYeC8xOG4vdTM3eUxnekJZVkJVdk9SR2xpK3NmUmNYLzc0
dUQ2UDRocSs3eHU1NFRsV0pMRnpUNjN1d1VEd3VFRGRPakpRcXg3SlYrWmphRUFQaTd0ME1NclI0
UThSa2YxOHV4RDZSSzBSS2gwaEw4WVUrRGVMOTdpNHBhNVpTeUFmWEt3WlJTLzhnWGN4ZFpYbTYy
UkJEajhVM3NOOHg5NWI1UHBQcy9tQ0JLWXZwYUE1MHBONUN0LzQ5OUFGVHR3UTV2Z2VTaCtOSHJL
SWk0TlZwd00vWHpSYU5mSkQ4NTZsUEU2TTIxeldQZ3VGc0g3amJMVnlFRGZSbXQ0VndyaENKNVZU
WW1jU1BmR2dPNWNsZk4rdmJhRFo3c2FrVTUrMnZaMldDRFkwMzFOeEphclZ5dGZERFZ0aWFmY1RH
TzJySi90YW9MM3pDaE4ycW1qeG9mY3pUT1lRUFBWUVBoMEpWdFlnZFVRSU5jU2lORUV5NThVZFlY
WDFNcFdVQ0VCeDdMYmNHdEFtOFhXUlFUVk9hb1YzeVNyaTRSU2hocy9CLzBtNGpYNk9Bd1hPdmNB
MDliTlNHNGN6RUd2L1dleTZWL2piVENOVFc2YXdYZE5UY0ExR3NQZTFFOWZaZEdsN1IwdnlvVnBJ
ZEp0ZkM2ZDMyTk5FcnJ2cS9SK2Q2NVZHK1lPd1JYcHBYeE9DWXlHTlNmMUszeDZWeEFXL3Z0ejRF
QzFTZ0NPU1BkTjYyc0xzb0l6dURmZzhHd1pBYnF1Vk84SEl1RlAvVG9Wb2VVQjdubndNRjM1YTF3
SzF0STZma3JxRktoUWRlSnB3eWxzMHBJeThBWmRlMy82TFVVYkZhWUp0aHlVSlNVL2txRFhUTFFF
bG5uMEpyNEIyUlZnaE5ybU5tb0VuN3BYSWVzaFBndVhWc3Z3b1RkbUNscTQ5SkpVM0xXaEh5V1Ry
Skw5YlJQNlZLdjN0Wm9BL3RoNzdwNUp3KytPRUVOdnl2V3kvcE5lRXhpRFVWUWFYSVJHaDh4eVNa
VEkzNnl1ZUZhU1hvMXVKWTBSblhZZ0VPb1dXT0pIZWFWdVgvYkdOaEhzaDJ5aW56bmwvKytOSmNF
OWo2ZkJQUmNCZHE5aGI4YXdOdzhVN0JsNkdNN3g2OUVET0lJYlgvbnBaKythbWxIUjlMLzM1bUUv
MlNzNGdiMHhDY1k0VnlURkxSRTc5NnZIeXNMQWFtcWN5TythRlF5SklEQk5zbGJIMi9NckF2WmlT
RUllZGMvY3FqbXY0ZmJkYTJwWGJ2K0Y1YTJzelNzZGttOW5vaU5VUlh0OGVkVWhHVUY2ZlNaV2Qx
SUphWEtGd0QrNDlSNmVDWEQ0QmtlZjdqOXRSdE5NVmdXOEJoUnovUXB5MVRtZVlrMGRveWpab0pT
YmVQT1JlVkhna0ZzQ0Z1UUorTGdjNEJ4ZUFzSy9jT2lORFJtZE53MGN0WWhuL25RNDk4ZFlJNXpu
ekdMb0ppMXJhdjdDbjg4ckwzd0xlUFZ0REs1Z2w3N1RraTNnSEVzSUFRMitJS2dhcmo3WThXMUlR
elY1VjlOKzBUakxxYmc2OFdmS2NPbUJDT2ozSmt3SmhWSWt3RGhjK0pvclh1WkVQTUVoMHZ2SDN4
N2lxZitWQXdYZ2Q0ZGlaaWFKRDF6SEw5U254NldmZzRJdWdyZXloYWJRa2Npcit5NVhnRHRkeDNB
dnM3bGtlZUNCd0R2Wm9UVUNYeDVRclprY0VxV2ZZRWlFWVJzL0VwaG1SQUxTTkdSMUljbGdkcjVW
Rm9FTHB6RjQrK2YzNXczL2owdDV1Y1czbjJjaDRQUUNMdVVYdXBzUFJSN1VBNUZqU0tyTXRQY0tB
WkpmYWdPNGxHRTdGSDNZS01qb3JwSzBaeEF2K2kySmtKaHRBTVdXV0ZlajRSaFBSL2NKM0R4d29j
Q3ZYRGk0U0daVTRjdStLMzJYbmRpRldnb3BBbCswR0FwY3dmMVh2eW1KY0ZzMzlqRXhJQk80eVVq
VTlNRXhCTFFZYzlIK1c3K0lnZEVTUFJwY2lUK3JLWlBlYlZ0YVZxKzFHWU8vNXhUQUwzSEFTak5U
R0lnTXZkaldiZ2M3SnZkRTF6SUZwdUMwVTlFU2laeXpCaXh6eFd4ajRLd2g4TXkzNHErRkszS05M
dG1zQTFxeXJtS1NOUU9YQ1BVWmQrT05lbEJUdkZvVUkvQ1lzcWEvUmh0S2l5TWYyQ2dTRnFFUGs1
OVkzdXFubFo4Z0Zwc3dmU1l5a28yM3lWWll4ektHeEdtNDlacXhnMWw4b3o1UmE5WGFSd0hrdXhl
cG1neWhtMFNvTnkyS2xiY0VxSys5UXFTOVBOeDlJaG05VTdnc1I1NVNTSjFGQkRObmt1V0t4SVow
U0RwWHVPR3daZG9VYk9NRFBIUDR2QkFnejJWbFNFSkFIWkdKVmJZSWc3bC9GTzVLZklWdnhDOHBQ
UHhNR2NOTW9ldkZEZVN0dDJpcXp0RTEwbjJUQTRkZ0pINzZZUzlIRGhLSEQzaUN4NmllRlg4NEJB
STNRUW5uZ2g3NmY1cnVQUVZicjVxWm1jay81VWpEYzI2bGZyT3ZVQld5ME9nbDhiQ29Pa01PbnM4
MVRuQzNjdVVTOUtXOCs5QStmZTNYWVpPRlVQRzF1NWVwU1NtREx3MHM1czJGMFczMEFOZW8rekpr
SlF6OVNQWmd6d1lwRW9rdG9maEdWZm1MT0FCMjBib0NiVzFRV3EvTnBFVC9obk1lY3cvdVN5QUg0
TkpjM0VDT1U0bm5rSzFmajNTL2k1ZHdiM1I3azAwQXFRUVV3dDdJZTFxVjBhWS9WUVgwSjhoTFB5
N2VCTlhNSFlaWUROeEhaMlFoNkF1WEp4cStBZVJlYy9RK0pMaFpWNmhwWHdRRXp3N2JmNXY5dVVm
MnZwcTNxbGhteTBJSUdUa3dZZENmU0FGbXFiZG8rM1h2RFREakZKZGUwbWJlUUxjbjJuMzF4YUFx
SjBpeE8vQ0xzVDRJNEc0RG9uY1ZUZ1JHTkJ0c0NjaklTV1Qrb2VYWjRJZWR3LzhPc0pJMWFQbk5L
TFgvNjBWdmNaYjk0dWFzUnhDa3FsUFExMXUxU2EyaEh2QjgwV1FFTnhWeXpqbnMwL1BpRUJ5eWls
MjFUZTZvaXNrM21OQ0VNcmhvdUNGTzN5RVpUSEhPQ015OWViLzRUbWk4Y1ZmM0xmN1A1M1NZMmhY
M1BTTjAzM0FzM0VUSU1MSFd1bVdFTzlKWEhBMnkyU0lCbElQcExHRzJxdk5zQ0lsSXIrQjFTV0Fx
UkttMnc2QmxmN1UrekNTQndKcmZIRzVpOEo1R2F4L2NWb25NbG9uN2FISlgvZ1N2dWNJbmNSUDkz
WENxa3Y3RDhJRktGc0xpQmdIcVVwWGhFM3BZakVjVjFkay9KRDl6RlZDZkVhUUlWWDhKbWZ6N0lJ
b2ZjQktRNE9hRytDM3hDMnZlWDlDRCtpQUZYRE5hR2c5ZVRWeHZrYkpSSmxXNE5rOVdrMTNrbjY5
NmpXcHBSRGUvOHBEcllNTzlaeXhaOThSZUtTejlrV0tMTHlrMnpDWmdBbmlDa0xKVlgzbjFNOURZ
Ym9teWFoV2l2L0tpeFJJVjloai9vRno4N0krSEx6bmJQVGpwYStEK2JaUW5NdVJzbGpUcHY5MHZR
VXQvcEs3akNGbkEzMEIvanRyb1NGMi9tL2dwV24xYVFzNVdlQTZnaHpGOFNkcVdJMjBmZ2hkU2VE
T0NTQ21MZ1RrZmFHZ0dEbXc3bkhGa1J6R3RhZzU3SUhTMm5hMDZJK2d6RXBoWG8xdy9aeDJCTS9q
S0wyblpvRmpIZ2d0RlFqWWk4blNWUlNYSUU1OFJQYkJPYlhrN3V1SUw5K3JzLzVabzdzdUpJbkVV
eGdzaVpaQVdTMjVpQnRwRWlaZUJnRHRnaEVvQUUwc2pjYXlOcTg1TTR0YnUvTEY1aDUxMzM1UHNH
elEwOU84NzUrdlVTODlsa1dNeU5PRm9pcDJQdXlXeU1QL2lVMlhJWmRmQ0NKTkRqZWJEb0JMUWRw
eTdRUVpDN3M5YzB3akhKZXJ2UU5EdTJqV3pCVzVNU0FKTXI3YlArSXY5MkJrUy9HR2d6akVuN01G
MUlSS0Z3d3piamJTNC9zbEdPbWh4OWNackZ1N0hTRWVmb2pOdjNyMFVhS2ZLT1d6WHNxMXpFdWdi
emxNREZzYWNSSkpJL2lKbEszdnRrWitQTFpJVk1GbEtBMzJ3YnEyS2Q1VDB1Q0xaMUNQa0FmQ2R6
a3oyRVlzY2pEY1pxMkFXZnppTjJjb3ZONGtYRTFsUVhQUExUTk0xeHgzdGJpZXBjTy90M1NXbTR3
ODdxZmg5OVNMMFpuWStMS0ZQTFBlWFZNMm1JSW9WV3QrOU5rMEk3blk0Tzc5aUdZcXhaOFJWejI4
OWFuNk5WZEpXblNLWnZKUUNBdUhOaVZhRHhQQUZvSDM5MnQ5d290NXQwL3FtVTk1ZUVXTmJVMnVk
VVc1c045SlZxY1lsdkFJZkxlWUMzM29Venp4WmdTa3RzdjIxbUE3VWx5MUZBNVZub0pGaDZOMjQ0
V212M1lKR0Z2L1RDUHJ5YXcrWk9SbHBaalFkcS8yRFlYcjNFWnNrZmVkMEc2MVAwOWlwVEttbFRR
MTA2N1JnNStQQWs1RmxROWUwU1diR2YyQi8wOGtxeW1PVE1WT3puc0FMSEhORkg0TEZSS2wyRi9O
T2lZRmw5a2hOSG5TdTlBazVzcTI2WW5sL2kyZmRUbGUyOVkxdWdxbVI1WWo0WVQ5cHZzbEZ5WUNi
dzBtTkZyNXJWUW0xTHZrRzI3UU1xOXBoM3Q4Zm1uNnI2U1E0b1NicjV0eitKMWtJYXdHekR4YjZW
WU92dldob2JEVFhmQmVOdjNiNGFObTVYVWluc0NHcUcycS80NW0zK0xvQ09zZGRGY2VZaFJ4MVRz
c3M5UExkUGZKZEVyRk1qWWQzZ2RkamlQMCtYUWpjUmFkWlA2YndOTHlTdnVuRmYyMEN6eTZKcWRF
VzJhOTZLeGRZZE9yeUJ2MUJqYnVVcTJ5Q0hlaCs2c2s3ZkdtbVBpNTBwZS8xbDVUeVBlNW9IVzlv
UG5oUHN3THlmMlRGRGRDeVlsaHdCQ3N0djVDMUh3bFc3eFdvR1Q5WFp0NHFWajVXcnlMUExMRDZo
LzVjTUxFald6Z0NlQUlLTnNMYWs5MmFCcUJzSGw0QUp3bDJONGpmdmJTa0JFeEdpbXYwbkZ2djA5
dURTY1FiangrdzRrUFFqZ2psVytnOXdzOVZFSnZJMms4TjZYeFZ1MHVJd292Z1RGZHVuRzI0Z0J0
YURpK3kxWUxRd1o4bXdiaXA1ZlZsTzNrMG4wQUVyL0VUYnR1OFZqa20rbk5TaUViN1gvM2ZNakJM
NUE4UGRnRysvRm5iZXhiRkZFeG1FZmV0WEFuaXNFS3k1ejQ0V1ZQcFFaalN5L2p6ZUduNHlEUnNG
R3FoaDg3UVBhREJXaGxvMzdJRmJlL0MweHluUzkxZDJ0UC9BSm9KUzBzVkY2aXdBQUFBQUVsRlRr
U3VRbUNDIik7Ci19Ci0KLSNtZW51OjphZnRlciB7Ci0gIGRpc3BsYXk6IGJsb2NrOwotICBjb250
ZW50OiAnJzsKLSAgcGFkZGluZy10b3A6IDgwcHg7Ci19Ci0KLSNsb2dvIHsKLSAgcG9zaXRpb246
IGZpeGVkOwotICBib3R0b206IDEwcHg7Ci0gIHJpZ2h0OiAxMHB4OwotICBiYWNrZ3JvdW5kOiBy
Z2JhKDI1NSwyNTUsMjU1LC4xKTsKLSAgZm9udC1zaXplOiAxMXB4OwotICBkaXNwbGF5OiBibG9j
azsKLSAgd2lkdGg6IDIwcHg7Ci0gIGhlaWdodDogMjBweDsKLSAgbGluZS1oZWlnaHQ6IDIwcHg7
Ci0gIHRleHQtYWxpZ246IGNlbnRlcjsKLSAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAyMHB4Owot
ICAtbW96LWJvcmRlci1yYWRpdXM6IDIwcHg7Ci0gIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDNw
eCByZ2JhKDAsMCwwLC4yKTsKLSAgLW1vei1ib3gtc2hhZG93OiAwIDAgM3B4IHJnYmEoMCwwLDAs
LjIpOwotICBjb2xvcjogaW5oZXJpdDsKLX0KLQotI21lbnUgbGkgYSB7Ci0gIGRpc3BsYXk6IGJs
b2NrOwotICBjb2xvcjogd2hpdGU7Ci0gIHBhZGRpbmc6IDAgMzVweCAwIDI1cHg7Ci0gIC13ZWJr
aXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZCAzMDBtczsKLSAgLW1vei10cmFuc2l0aW9uOiBiYWNr
Z3JvdW5kIDMwMG1zOwotfQotCi0jbWVudSBsaSB7Ci0gIHBvc2l0aW9uOiByZWxhdGl2ZTsKLSAg
bGlzdC1zdHlsZTogbm9uZTsKLX0KLQotI21lbnUgYTpob3ZlciwKLSNtZW51IGEuYWN0aXZlIHsK
LSAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwotICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1
LC4xKTsKLX0KLQotI21lbnUgbGk6aG92ZXIgLmNvdiB7Ci0gIG9wYWNpdHk6IDE7Ci19Ci0KLSNt
ZW51IGxpIC5kaXJuYW1lIHsKLSAgb3BhY2l0eTogLjYwOwotICBwYWRkaW5nLXJpZ2h0OiAycHg7
Ci19Ci0KLSNtZW51IGxpIC5iYXNlbmFtZSB7Ci0gIG9wYWNpdHk6IDE7Ci19Ci0KLSNtZW51IC5j
b3YgewotICBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLC40KTsKLSAgcG9zaXRpb246IGFic29sdXRl
OwotICB0b3A6IDA7Ci0gIHJpZ2h0OiA4cHg7Ci0gIGZvbnQtc2l6ZTogOXB4OwotICBvcGFjaXR5
OiAuNjsKLSAgdGV4dC1hbGlnbjogbGVmdDsKLSAgd2lkdGg6IDE3cHg7Ci0gIC13ZWJraXQtYm9y
ZGVyLXJhZGl1czogMTBweDsKLSAgLW1vei1ib3JkZXItcmFkaXVzOiAxMHB4OwotICBwYWRkaW5n
OiAycHggM3B4OwotICB0ZXh0LWFsaWduOiBjZW50ZXI7Ci19Ci0KLSNzdGF0czpudGgtY2hpbGQo
Mm4pIHsKLSAgZGlzcGxheTogaW5saW5lLWJsb2NrOwotICBtYXJnaW4tdG9wOiAxNXB4OwotICBi
b3JkZXI6IDFweCBzb2xpZCAjZWVlOwotICBwYWRkaW5nOiAxMHB4OwotICAtd2Via2l0LWJveC1z
aGFkb3c6IGluc2V0IDAgMCAycHggI2VlZTsKLSAgLW1vei1ib3gtc2hhZG93OiBpbnNldCAwIDAg
MnB4ICNlZWU7Ci0gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogNXB4OwotICAtbW96LWJvcmRlci1y
YWRpdXM6IDVweDsKLX0KLQotI3N0YXRzIGRpdiB7Ci0gIGZsb2F0OiBsZWZ0OwotICBwYWRkaW5n
OiAwIDVweDsKLX0KLQotI3N0YXRzOjphZnRlciB7Ci0gIGRpc3BsYXk6IGJsb2NrOwotICBjb250
ZW50OiAnJzsKLSAgY2xlYXI6IGJvdGg7Ci19Ci0KLSNzdGF0cyAuc2xvYzo6YWZ0ZXIgewotICBj
b250ZW50OiAnIFNMT0MnOwotICBjb2xvcjogI2I2YjZiNjsKLX0KLQotI3N0YXRzIC5wZXJjZW50
YWdlOjphZnRlciB7Ci0gIGNvbnRlbnQ6ICcgY292ZXJhZ2UnOwotICBjb2xvcjogI2I2YjZiNjsK
LX0KLQotI3N0YXRzIC5oaXRzLAotI3N0YXRzIC5taXNzZXMgewotICBkaXNwbGF5OiBub25lOwot
fQotCi0uaGlnaCB7Ci0gIGNvbG9yOiAjMDBkNGI0OwotfQotLm1lZGl1bSB7Ci0gIGNvbG9yOiAj
ZTg3ZDBkOwotfQotLmxvdyB7Ci0gIGNvbG9yOiAjZDQwODFhOwotfQotLnRlcnJpYmxlIHsKLSAg
Y29sb3I6ICNkNDA4MWE7Ci0gIGZvbnQtd2VpZ2h0OiBib2xkOwotfQotCi10YWJsZSB7Ci0gIHdp
ZHRoOiA4MCU7Ci0gIG1hcmdpbi10b3A6IDEwcHg7Ci0gIGJvcmRlci1jb2xsYXBzZTogY29sbGFw
c2U7Ci0gIGJvcmRlcjogMXB4IHNvbGlkICNjYmNiY2I7Ci0gIGNvbG9yOiAjMzYzNjM2OwotICAt
d2Via2l0LWJvcmRlci1yYWRpdXM6IDNweDsKLSAgLW1vei1ib3JkZXItcmFkaXVzOiAzcHg7Ci19
Ci0KLXRhYmxlIHRoZWFkIHsKLSAgZGlzcGxheTogbm9uZTsKLX0KLQotdGFibGUgdGQubGluZSwK
LXRhYmxlIHRkLmhpdHMgewotICB3aWR0aDogMjBweDsKLSAgYmFja2dyb3VuZDogI2VhZWFlYTsK
LSAgdGV4dC1hbGlnbjogY2VudGVyOwotICBmb250LXNpemU6IDExcHg7Ci0gIHBhZGRpbmc6IDAg
MTBweDsKLSAgY29sb3I6ICM5NDk0OTQ7Ci19Ci0KLXRhYmxlIHRkLmhpdHMgewotICB3aWR0aDog
MTBweDsKLSAgcGFkZGluZzogMnB4IDVweDsKLSAgY29sb3I6IHJnYmEoMCwwLDAsLjIpOwotICBi
YWNrZ3JvdW5kOiAjZjBmMGYwOwotfQotCi10ci5taXNzIHRkLmxpbmUsCi10ci5taXNzIHRkLmhp
dHMgewotICBiYWNrZ3JvdW5kOiAjZTZjM2M3OwotfQotCi10ci5taXNzIHRkIHsKLSAgYmFja2dy
b3VuZDogI2Y4ZDVkODsKLX0KLQotdGQuc291cmNlIHsKLSAgcGFkZGluZy1sZWZ0OiAxNXB4Owot
ICBsaW5lLWhlaWdodDogMTVweDsKLSAgd2hpdGUtc3BhY2U6IHByZTsKLSAgZm9udDogMTJweCBt
b25hY28sIG1vbm9zcGFjZTsKLX0KLQotY29kZSAuY29tbWVudCB7IGNvbG9yOiAjZGRkIH0KLWNv
ZGUgLmluaXQgeyBjb2xvcjogIzJGNkZBRCB9Ci1jb2RlIC5zdHJpbmcgeyBjb2xvcjogIzU4OTBB
RCB9Ci1jb2RlIC5rZXl3b3JkIHsgY29sb3I6ICM4QTYzNDMgfQotY29kZSAubnVtYmVyIHsgY29s
b3I6ICMyRjZGQUQgfQotPC9zdHlsZT48L2hlYWQ+PGJvZHk+PGRpdiBpZD0iY292ZXJhZ2UiPjxo
MSBpZD0ib3ZlcnZpZXciPkNvdmVyYWdlPC9oMT48ZGl2IGlkPSJtZW51Ij48bGk+PGEgaHJlZj0i
I292ZXJ2aWV3Ij5vdmVydmlldzwvYT48L2xpPjxsaT48c3BhbiBjbGFzcz0iY292IGhpZ2giPjk1
PC9zcGFuPjxhIGhyZWY9IiN3ZWJpZGwyLmpzIj48c3BhbiBjbGFzcz0iYmFzZW5hbWUiPndlYmlk
bDIuanM8L3NwYW4+PC9hPjwvbGk+PGEgaWQ9ImxvZ28iIGhyZWY9Imh0dHA6Ly92aXNpb25tZWRp
YS5naXRodWIuY29tL21vY2hhLyI+bTwvYT48L2Rpdj48ZGl2IGlkPSJzdGF0cyIgY2xhc3M9Imhp
Z2giPjxkaXYgY2xhc3M9InBlcmNlbnRhZ2UiPjk1JTwvZGl2PjxkaXYgY2xhc3M9InNsb2MiPjU3
MjwvZGl2PjxkaXYgY2xhc3M9ImhpdHMiPjU0ODwvZGl2PjxkaXYgY2xhc3M9Im1pc3NlcyI+MjQ8
L2Rpdj48L2Rpdj48ZGl2IGlkPSJmaWxlcyI+PGRpdiBjbGFzcz0iZmlsZSI+PGgyIGlkPSJ3ZWJp
ZGwyLmpzIj53ZWJpZGwyLmpzPC9oMj48ZGl2IGlkPSJzdGF0cyIgY2xhc3M9ImhpZ2giPjxkaXYg
Y2xhc3M9InBlcmNlbnRhZ2UiPjk1JTwvZGl2PjxkaXYgY2xhc3M9InNsb2MiPjU3MjwvZGl2Pjxk
aXYgY2xhc3M9ImhpdHMiPjU0ODwvZGl2PjxkaXYgY2xhc3M9Im1pc3NlcyI+MjQ8L2Rpdj48L2Rp
dj48dGFibGUgaWQ9InNvdXJjZSI+PHRoZWFkPjx0cj48dGg+TGluZTwvdGg+PHRoPkhpdHM8L3Ro
Pjx0aD5Tb3VyY2U8L3RoPjwvdHI+PC90aGVhZD48dGJvZHk+PHRyPjx0ZCBjbGFzcz0ibGluZSI+
MTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gPC90ZD48L3Ry
Pjx0cj48dGQgY2xhc3M9ImxpbmUiPjI8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+IDwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+
MzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+PHNwYW4gY2xh
c3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPmZ1bmN0aW9uPC9zcGFuPiA8c3BhbiBjbGFz
cz0iayI+KCk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xh
c3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xPC90ZD48
dGQgY2xhc3M9InNvdXJjZSI+ICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IHRva2VuaXNl
IDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ZnVuY3Rpb248L3NwYW4+
IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPnN0cjxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3Bh
biBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9
ImxpbmUiPjU8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDc8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4g
ICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IHRva2VucyA8c3BhbiBjbGFzcz0iayI+
PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPltdPC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNz
PSJsaW5lIj42PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAg
ICAgICAgPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+ICAgcmUgPHNwYW4gY2xhc3M9ImsiPj08L3Nw
YW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5l
Ij43PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAg
ICAgICAgICA8c3BhbiBjbGFzcz0icyI+ImZsb2F0Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ojwv
c3Bhbj4gICAgICAgIDxzcGFuIGNsYXNzPSJzIj4vXi0/KChbMC05XStcLlswLTldKnxbMC05XSpc
LlswLTldKykoW0VlXVstK10/WzAtOV0rKT98WzAtOV0rW0VlXVstK10/WzAtOV0rKS88L3NwYW4+
PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90
ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+
ICAgPHNwYW4gY2xhc3M9InMiPiJpbnRlZ2VyIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ojwvc3Bh
bj4gICAgICA8c3BhbiBjbGFzcz0icyI+L14tPygwKFtYeF1bMC05QS1GYS1mXSt8WzAtN10qKXxb
MS05XVswLTldKikvPC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj45PC90ZD48
dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFu
IGNsYXNzPSJrIj4sPC9zcGFuPiAgIDxzcGFuIGNsYXNzPSJzIj4iaWRlbnRpZmllciI8L3NwYW4+
PHNwYW4gY2xhc3M9ImsiPjo8L3NwYW4+ICAgPHNwYW4gY2xhc3M9InMiPi9eW0EtWl9hLXpdWzAt
OUEtWl9hLXpdKi88L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjEwPC90ZD48
dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFu
IGNsYXNzPSJrIj4sPC9zcGFuPiAgIDxzcGFuIGNsYXNzPSJzIj4ic3RyaW5nIjwvc3Bhbj48c3Bh
biBjbGFzcz0iayI+Ojwvc3Bhbj4gICAgICAgPHNwYW4gY2xhc3M9InMiPi9eIlteIl0qIi88L3Nw
YW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjExPC90ZD48dGQgY2xhc3M9ImhpdHMi
PjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj4sPC9z
cGFuPiAgIDxzcGFuIGNsYXNzPSJzIj4id2hpdGVzcGFjZSI8L3NwYW4+PHNwYW4gY2xhc3M9Imsi
Pjo8L3NwYW4+ICAgPHNwYW4gY2xhc3M9InMiPi9eKD86W1x0XG5cciBdK3xbXHRcblxyIF0qKChc
L1wvLip8XC9cKigufFxufFxyKSo/XCpcLylbXHRcblxyIF0qKSkrLzwvc3Bhbj48L3RkPjwvdHI+
PHRyPjx0ZCBjbGFzcz0ibGluZSI+MTI8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+ICAgPHNwYW4g
Y2xhc3M9InMiPiJvdGhlciI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjo8L3NwYW4+ICAgICAgICA8
c3BhbiBjbGFzcz0icyI+L15bXlx0XG5cciAwLTlBLVpfYS16XS88L3NwYW4+PC90ZD48L3RyPjx0
cj48dGQgY2xhc3M9ImxpbmUiPjEzPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNz
PSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90cj48
dHI+PHRkIGNsYXNzPSJsaW5lIj4xNDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFz
cz0ic291cmNlIj4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiAgIHR5cGVzIDxzcGFu
IGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+W108L3NwYW4+PC90ZD48L3RyPjx0
cj48dGQgY2xhc3M9ImxpbmUiPjE1PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNz
PSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBj
bGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4xNjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4zMjk8
L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj5mb3I8L3NwYW4+
IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IGsgPHNw
YW4gY2xhc3M9ImsiPmluPC9zcGFuPiByZTxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiB0eXBlczxz
cGFuIGNsYXNzPSJrIj4uPC9zcGFuPnB1c2g8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5rPHNwYW4g
Y2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0i
bGluZSI+MTc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDc8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4g
ICAgICAgIDxzcGFuIGNsYXNzPSJrIj53aGlsZTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3Nw
YW4+c3RyPHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+bGVuZ3RoIDxzcGFuIGNsYXNzPSJrIj4+PC9z
cGFuPiA8c3BhbiBjbGFzcz0icyI+MDwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNw
YW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNz
PSJsaW5lIj4xODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yOTE0PC90ZD48dGQgY2xhc3M9InNvdXJj
ZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gbWF0Y2hlZCA8c3BhbiBj
bGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPmZhbHNlPC9zcGFuPjxzcGFuIGNsYXNz
PSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+
MTk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MjkxNDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAg
ICAgICAgIDxzcGFuIGNsYXNzPSJrIj5mb3I8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFu
PjxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IGkgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxz
cGFuIGNsYXNzPSJzIj4wPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiBuIDxzcGFuIGNs
YXNzPSJrIj49PC9zcGFuPiB0eXBlczxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPmxlbmd0aDxzcGFu
IGNsYXNzPSJrIj47PC9zcGFuPiBpIDxzcGFuIGNsYXNzPSJrIj48PC9zcGFuPiBuPHNwYW4gY2xh
c3M9ImsiPjs8L3NwYW4+IGk8c3BhbiBjbGFzcz0iayI+KyspPC9zcGFuPiA8c3BhbiBjbGFzcz0i
ayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjIw
PC90ZD48dGQgY2xhc3M9ImhpdHMiPjEzMzI1PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAg
ICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IHR5cGUgPHNwYW4gY2xhc3M9Imsi
Pj08L3NwYW4+IHR5cGVzPHNwYW4gY2xhc3M9ImsiPls8L3NwYW4+aTxzcGFuIGNsYXNzPSJrIj5d
Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjIxPC90
ZD48dGQgY2xhc3M9ImhpdHMiPjEzMzI1PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAg
ICAgICAgIHN0ciA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gc3RyPHNwYW4gY2xhc3M9ImsiPi48
L3NwYW4+cmVwbGFjZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPnJlPHNwYW4gY2xhc3M9ImsiPls8
L3NwYW4+dHlwZTxzcGFuIGNsYXNzPSJrIj5dLDwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPmZ1bmN0
aW9uPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj50b2s8c3BhbiBjbGFzcz0iayI+KTwv
c3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4g
PHRkIGNsYXNzPSJsaW5lIj4yMjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yOTE0PC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICB0b2tlbnM8c3BhbiBjbGFzcz0iayI+Ljwv
c3Bhbj5wdXNoPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+
IHR5cGU8c3BhbiBjbGFzcz0iayI+Ojwvc3Bhbj4gdHlwZTxzcGFuIGNsYXNzPSJrIj4sPC9zcGFu
PiB2YWx1ZTxzcGFuIGNsYXNzPSJrIj46PC9zcGFuPiB0b2sgPHNwYW4gY2xhc3M9ImsiPn08L3Nw
YW4+PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0
ZCBjbGFzcz0ibGluZSI+MjM8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MjkxNDwvdGQ+PHRkIGNsYXNz
PSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAgbWF0Y2hlZCA8c3BhbiBjbGFzcz0iayI+PTwv
c3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnRydWU8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+
PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4yNDwvdGQ+PHRkIGNs
YXNzPSJoaXRzIj4yOTE0PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAg
ICA8c3BhbiBjbGFzcz0iayI+cmV0dXJuPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+IiI8L3NwYW4+
PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjI1
PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAg
ICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90
ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4yNjwvdGQ+PHRkIGNsYXNz
PSJoaXRzIj4xNjIzOTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3Bh
biBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPm1hdGNoZWQ8c3Bh
biBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPmJyZWFrPC9zcGFuPjxzcGFuIGNs
YXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj4yNzwvdGQ+PHRk
IGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBj
bGFzcz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9Imxp
bmUiPjI4PC90ZD48dGQgY2xhc3M9ImhpdHMiPjU4Mjg8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4g
ICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9z
cGFuPm1hdGNoZWQ8c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPmNvbnRp
bnVlPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9Im1p
c3MiPiA8dGQgY2xhc3M9ImxpbmUiPjI5PC90ZD48dGQgY2xhc3M9ImhpdHMiPjA8L3RkPjx0ZCBj
bGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+dGhyb3c8L3NwYW4+IDxz
cGFuIGNsYXNzPSJrIj5uZXc8L3NwYW4+IEVycm9yPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNw
YW4gY2xhc3M9InMiPiJUb2tlbiBzdHJlYW0gbm90IHByb2dyZXNzaW5nIjwvc3Bhbj48c3BhbiBj
bGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjMwPC90ZD48
dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xh
c3M9ImsiPn08L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5l
Ij4zMTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40NzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAg
ICAgPHNwYW4gY2xhc3M9ImsiPnJldHVybjwvc3Bhbj4gdG9rZW5zPHNwYW4gY2xhc3M9ImsiPjs8
L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjMyPC90ZD48dGQgY2xhc3M9Imhp
dHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48
c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+MzM8
L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgIDwvdGQ+PC90
cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MzQ8L3RkPjx0ZCBjbGFzcz0iaGl0
cyI+MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFu
PiBwYXJzZSA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPmZ1bmN0aW9u
PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj50b2tlbnM8c3BhbiBjbGFzcz0iayI+KTwv
c3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4g
PHRkIGNsYXNzPSJsaW5lIj4zNTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40NzwvdGQ+PHRkIGNsYXNz
PSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gbGluZSA8c3BhbiBj
bGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPjE8L3NwYW4+PHNwYW4gY2xhc3M9Imsi
Pjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4zNjwv
dGQ+PHRkIGNsYXNzPSJoaXRzIj40NzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgdG9r
ZW5zIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiB0b2tlbnM8c3BhbiBjbGFzcz0iayI+Ljwvc3Bh
bj5zbGljZTxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9
ImxpbmUiPjM3PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAg
ICAgICAgPC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4zODwvdGQ+
PHRkIGNsYXNzPSJoaXRzIj40NzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4g
Y2xhc3M9ImsiPnZhcjwvc3Bhbj4gRkxPQVQgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFu
IGNsYXNzPSJzIj4iZmxvYXQiPC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj4z
OTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxz
cGFuIGNsYXNzPSJrIj4sPC9zcGFuPiAgIElOVCA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNw
YW4gY2xhc3M9InMiPiJpbnRlZ2VyIjwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGlu
ZSI+NDA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAg
ICA8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gICBJRCA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4g
PHNwYW4gY2xhc3M9InMiPiJpZGVudGlmaWVyIjwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFz
cz0ibGluZSI+NDE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+
ICAgICAgICA8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gICBTVFIgPHNwYW4gY2xhc3M9ImsiPj08
L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4ic3RyaW5nIjwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBj
bGFzcz0ibGluZSI+NDI8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJj
ZSI+ICAgICAgICA8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gICBPVEhFUiA8c3BhbiBjbGFzcz0i
ayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJvdGhlciI8L3NwYW4+PC90ZD48L3RyPjx0cj48
dGQgY2xhc3M9ImxpbmUiPjQzPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJz
b3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQg
Y2xhc3M9ImxpbmUiPjQ0PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3Vy
Y2UiPiAgICAgICAgPC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj40
NTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40NzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAg
PHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gV2ViSURMUGFyc2VFcnJvciA8c3BhbiBjbGFzcz0i
ayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPmZ1bmN0aW9uPC9zcGFuPiA8c3BhbiBjbGFzcz0i
ayI+KDwvc3Bhbj5zdHI8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gbGluZTxzcGFuIGNsYXNzPSJr
Ij4sPC9zcGFuPiBpbnB1dDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiB0b2tlbnM8c3BhbiBjbGFz
cz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFz
cz0ibWlzcyI+IDx0ZCBjbGFzcz0ibGluZSI+NDY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MDwvdGQ+
PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj50aGlzPC9zcGFu
PjxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPm1lc3NhZ2UgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+
IHN0cjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9Im1pc3MiPiA8
dGQgY2xhc3M9ImxpbmUiPjQ3PC90ZD48dGQgY2xhc3M9ImhpdHMiPjA8L3RkPjx0ZCBjbGFzcz0i
c291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+dGhpczwvc3Bhbj48c3BhbiBjbGFz
cz0iayI+Ljwvc3Bhbj5saW5lIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiBsaW5lPHNwYW4gY2xh
c3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0ibWlzcyI+IDx0ZCBjbGFzcz0ibGlu
ZSI+NDg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAg
ICAgICAgIDxzcGFuIGNsYXNzPSJrIj50aGlzPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4uPC9zcGFu
PmlucHV0IDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiBpbnB1dDxzcGFuIGNsYXNzPSJrIj47PC9z
cGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9Im1pc3MiPiA8dGQgY2xhc3M9ImxpbmUiPjQ5PC90ZD48
dGQgY2xhc3M9ImhpdHMiPjA8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3Bh
biBjbGFzcz0iayI+dGhpczwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj50b2tlbnMgPHNw
YW4gY2xhc3M9ImsiPj08L3NwYW4+IHRva2VuczxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+
PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj41MDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0
ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjxzcGFuIGNs
YXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGlu
ZSI+NTE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDc8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAg
ICAgIFdlYklETFBhcnNlRXJyb3I8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5wcm90b3R5cGU8c3Bh
biBjbGFzcz0iayI+Ljwvc3Bhbj50b1N0cmluZyA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNw
YW4gY2xhc3M9ImsiPmZ1bmN0aW9uPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KCk8L3NwYW4+IDxz
cGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9Im1pc3MiPiA8dGQgY2xh
c3M9ImxpbmUiPjUyPC90ZD48dGQgY2xhc3M9ImhpdHMiPjA8L3RkPjx0ZCBjbGFzcz0ic291cmNl
Ij4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+cmV0dXJuPC9zcGFuPiA8c3BhbiBjbGFzcz0i
ayI+dGhpczwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5tZXNzYWdlIDxzcGFuIGNsYXNz
PSJrIj4rPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+IiwgbGluZSAiPC9zcGFuPiA8c3BhbiBjbGFz
cz0iayI+Kzwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnRoaXM8L3NwYW4+PHNwYW4gY2xhc3M9Imsi
Pi48L3NwYW4+bGluZSA8c3BhbiBjbGFzcz0iayI+Kzwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiIg
KHRva2VuczogJyI8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4rPC9zcGFuPiA8c3BhbiBjbGFzcz0i
ayI+dGhpczwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5pbnB1dCA8c3BhbiBjbGFzcz0i
ayI+Kzwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiInKTwvc3Bhbj48c3BhbiBjbGFzcz0idCI+XG48
L3NwYW4+PHNwYW4gY2xhc3M9InMiPiI8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4rPC9zcGFuPjwv
dGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj41MzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3Rk
Pjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAgSlNPTjxzcGFuIGNsYXNzPSJr
Ij4uPC9zcGFuPnN0cmluZ2lmeTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJr
Ij50aGlzPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnRva2VuczxzcGFuIGNsYXNzPSJr
Ij4sPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+bnVsbDwvc3Bhbj48c3BhbiBjbGFzcz0iayI+LDwv
c3Bhbj4gPHNwYW4gY2xhc3M9InMiPjQ8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwv
dGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj41NDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3Rk
Pjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjxzcGFu
IGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj41NTwvdGQ+
PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDwvdGQ+PC90
cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NTY8L3RkPjx0ZCBjbGFzcz0iaGl0
cyI+NDc8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8
L3NwYW4+IGVycm9yIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ZnVu
Y3Rpb248L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPnN0cjxzcGFuIGNsYXNzPSJrIj4p
PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJtaXNz
Ij4gPHRkIGNsYXNzPSJsaW5lIj41NzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4wPC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gdG9rIDxz
cGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+IiI8L3NwYW4+PHNwYW4gY2xh
c3M9ImsiPiw8L3NwYW4+IG51bVRva2VucyA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4g
Y2xhc3M9InMiPjA8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IG1heFRva2VucyA8c3Bh
biBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPjU8L3NwYW4+PHNwYW4gY2xhc3M9
ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0ibWlzcyI+IDx0ZCBjbGFzcz0ibGluZSI+
NTg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAg
ICAgIDxzcGFuIGNsYXNzPSJrIj53aGlsZTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+
bnVtVG9rZW5zIDxzcGFuIGNsYXNzPSJrIj48PC9zcGFuPiBtYXhUb2tlbnMgPHNwYW4gY2xhc3M9
ImsiPiZhbXA7JmFtcDs8L3NwYW4+IHRva2VuczxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPmxlbmd0
aCA8c3BhbiBjbGFzcz0iayI+Pjwvc3Bhbj4gbnVtVG9rZW5zPHNwYW4gY2xhc3M9ImsiPik8L3Nw
YW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9Im1pc3MiPiA8
dGQgY2xhc3M9ImxpbmUiPjU5PC90ZD48dGQgY2xhc3M9ImhpdHMiPjA8L3RkPjx0ZCBjbGFzcz0i
c291cmNlIj4gICAgICAgICAgICAgICAgdG9rIDxzcGFuIGNsYXNzPSJrIj4rPTwvc3Bhbj4gdG9r
ZW5zPHNwYW4gY2xhc3M9ImsiPls8L3NwYW4+bnVtVG9rZW5zPHNwYW4gY2xhc3M9ImsiPl0uPC9z
cGFuPnZhbHVlPHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0ibWlz
cyI+IDx0ZCBjbGFzcz0ibGluZSI+NjA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MDwvdGQ+PHRkIGNs
YXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICBudW1Ub2tlbnM8c3BhbiBjbGFzcz0iayI+Kys7
PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj42MTwvdGQ+PHRkIGNsYXNzPSJo
aXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+
fTwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJtaXNzIj4gPHRkIGNsYXNzPSJsaW5lIj42Mjwv
dGQ+PHRkIGNsYXNzPSJoaXRzIj4wPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAg
PHNwYW4gY2xhc3M9ImsiPnRocm93PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+bmV3PC9zcGFuPiBX
ZWJJRExQYXJzZUVycm9yPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+c3RyPHNwYW4gY2xhc3M9Imsi
Piw8L3NwYW4+IGxpbmU8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gdG9rPHNwYW4gY2xhc3M9Imsi
Piw8L3NwYW4+IHRva2VuczxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnNsaWNlPHNwYW4gY2xhc3M9
ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9InMiPjA8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPiw8L3Nw
YW4+IDxzcGFuIGNsYXNzPSJzIj41PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pKTs8L3NwYW4+PC90
ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjYzPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+
PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PHNwYW4g
Y2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjY0PC90ZD48
dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPC90ZD48L3Ry
Pjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj42NTwvdGQ+PHRkIGNsYXNzPSJoaXRz
Ij40NzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwv
c3Bhbj4gbGFzdF90b2tlbiA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9Imsi
Pm51bGw8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xh
c3M9ImxpbmUiPjY2PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2Ui
PiAgICAgICAgPC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj42Nzwv
dGQ+PHRkIGNsYXNzPSJoaXRzIj40NzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNw
YW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gY29uc3VtZSA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4g
PHNwYW4gY2xhc3M9ImsiPmZ1bmN0aW9uPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj50
eXBlPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IHZhbHVlPHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+
IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBj
bGFzcz0ibGluZSI+Njg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+ODc3ODwvdGQ+PHRkIGNsYXNzPSJz
b3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9
ImsiPighPC9zcGFuPnRva2VuczxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPmxlbmd0aCA8c3BhbiBj
bGFzcz0iayI+fHw8L3NwYW4+IHRva2VuczxzcGFuIGNsYXNzPSJrIj5bPC9zcGFuPjxzcGFuIGNs
YXNzPSJzIj4wPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj5dLjwvc3Bhbj50eXBlIDxzcGFuIGNsYXNz
PSJrIj4hPT08L3NwYW4+IHR5cGU8c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9
ImsiPnJldHVybjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNs
YXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjY5PC90ZD48dGQgY2xhc3M9ImhpdHMiPjU0NzA8
L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3Nw
YW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj50eXBlb2Y8L3NwYW4+
IHZhbHVlIDxzcGFuIGNsYXNzPSJrIj49PT08L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4idW5kZWZp
bmVkIjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnx8PC9zcGFuPiB0b2tlbnM8c3BhbiBjbGFzcz0i
ayI+Wzwvc3Bhbj48c3BhbiBjbGFzcz0icyI+MDwvc3Bhbj48c3BhbiBjbGFzcz0iayI+XS48L3Nw
YW4+dmFsdWUgPHNwYW4gY2xhc3M9ImsiPj09PTwvc3Bhbj4gdmFsdWU8c3BhbiBjbGFzcz0iayI+
KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0
Ij4gPHRkIGNsYXNzPSJsaW5lIj43MDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xNzM4PC90ZD48dGQg
Y2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICBsYXN0X3Rva2VuIDxzcGFuIGNsYXNzPSJr
Ij49PC9zcGFuPiB0b2tlbnM8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5zaGlmdDxzcGFuIGNsYXNz
PSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5l
Ij43MTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xNzM4PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAg
ICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+cmV0dXJuPC9zcGFuPiBsYXN0X3Rva2VuPHNw
YW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjcyPC90
ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICA8
c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NzM8
L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8c3Bh
biBjbGFzcz0iayI+fTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRy
Pjx0ZCBjbGFzcz0ibGluZSI+NzQ8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9
InNvdXJjZSI+ICAgICAgICA8L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9Imxp
bmUiPjc1PC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ3PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAg
ICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiB3cyA8c3BhbiBjbGFzcz0iayI+PTwvc3Bh
bj4gPHNwYW4gY2xhc3M9ImsiPmZ1bmN0aW9uPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KCk8L3Nw
YW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0
ZCBjbGFzcz0ibGluZSI+NzY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+Njk2MTwvdGQ+PHRkIGNsYXNz
PSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xh
c3M9ImsiPighPC9zcGFuPnRva2VuczxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPmxlbmd0aDxzcGFu
IGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+cmV0dXJuPC9zcGFuPjxzcGFuIGNs
YXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj43NzwvdGQ+PHRk
IGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBj
bGFzcz0iYyI+Ly8gY29uc29sZS5sb2coInRva2Vucy5sZW5ndGgiLCB0b2tlbnMubGVuZ3RoLCB0
b2tlbnNbMF0pOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9Imxp
bmUiPjc4PC90ZD48dGQgY2xhc3M9ImhpdHMiPjYxMTU8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4g
ICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9z
cGFuPnRva2VuczxzcGFuIGNsYXNzPSJrIj5bPC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4wPC9zcGFu
PjxzcGFuIGNsYXNzPSJrIj5dLjwvc3Bhbj50eXBlIDxzcGFuIGNsYXNzPSJrIj49PT08L3NwYW4+
IDxzcGFuIGNsYXNzPSJzIj4id2hpdGVzcGFjZSI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik8L3Nw
YW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0
ZCBjbGFzcz0ibGluZSI+Nzk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTE3MjwvdGQ+PHRkIGNsYXNz
PSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiB0IDxz
cGFuIGNsYXNzPSJrIj49PC9zcGFuPiB0b2tlbnM8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5zaGlm
dDxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRk
IGNsYXNzPSJsaW5lIj44MDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yMjk0PC90ZD48dGQgY2xhc3M9
InNvdXJjZSI+ICAgICAgICAgICAgICAgIHQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj52YWx1ZTxz
cGFuIGNsYXNzPSJrIj4uPC9zcGFuPnJlcGxhY2U8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3Bh
biBjbGFzcz0icyI+L1xuL2c8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNs
YXNzPSJrIj5mdW5jdGlvbjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+bTxzcGFuIGNs
YXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj4gbGluZTxzcGFuIGNsYXNz
PSJrIj4rKzs8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5yZXR1cm48L3NwYW4+IG08c3BhbiBjbGFz
cz0iayI+Ozwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7
PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+ODE8L3Rk
Pjx0ZCBjbGFzcz0iaGl0cyI+MTE3MjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAg
ICAgICA8c3BhbiBjbGFzcz0iayI+cmV0dXJuPC9zcGFuPiB0PHNwYW4gY2xhc3M9ImsiPjs8L3Nw
YW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjgyPC90ZD48dGQgY2xhc3M9ImhpdHMi
PjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9z
cGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj44MzwvdGQ+PHRkIGNsYXNzPSJoaXRz
Ij48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFu
PjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj44
NDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDwv
dGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+ODU8L3RkPjx0ZCBjbGFz
cz0iaGl0cyI+NDc8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxzcGFuIGNsYXNzPSJr
Ij52YXI8L3NwYW4+IGFsbF93cyA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9
ImsiPmZ1bmN0aW9uPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KCk8L3NwYW4+IDxzcGFuIGNsYXNz
PSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+
ODY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NTM2NjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAg
ICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IHQgPHNwYW4gY2xhc3M9ImsiPj08L3Nw
YW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPiB0eXBlPHNwYW4gY2xhc3M9ImsiPjo8L3NwYW4+
IDxzcGFuIGNsYXNzPSJzIj4id2hpdGVzcGFjZSI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPiw8L3Nw
YW4+IHZhbHVlPHNwYW4gY2xhc3M9ImsiPjo8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iIjwvc3Bh
bj4gPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48
L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj44NzwvdGQ+PHRkIGNsYXNzPSJo
aXRzIj41MzY2PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9
ImsiPndoaWxlPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0iayI+
dHJ1ZTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3Nw
YW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj44ODwvdGQ+PHRk
IGNsYXNzPSJoaXRzIj42NTM4PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAg
IDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IHcgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IHdz
PHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQg
Y2xhc3M9ImxpbmUiPjg5PC90ZD48dGQgY2xhc3M9ImhpdHMiPjExOTA0PC90ZD48dGQgY2xhc3M9
InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4g
Y2xhc3M9ImsiPighPC9zcGFuPnc8c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9
ImsiPmJyZWFrPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xh
c3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+OTA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTE3Mjwv
dGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICB0PHNwYW4gY2xhc3M9ImsiPi48
L3NwYW4+dmFsdWUgPHNwYW4gY2xhc3M9ImsiPis9PC9zcGFuPiB3PHNwYW4gY2xhc3M9ImsiPi48
L3NwYW4+dmFsdWU8c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFz
cz0ibGluZSI+OTE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+
ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0i
aGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj45MjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj42NTM4PC90ZD48
dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8
c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj50PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+dmFsdWU8c3Bh
biBjbGFzcz0iayI+Ljwvc3Bhbj5sZW5ndGggPHNwYW4gY2xhc3M9ImsiPj48L3NwYW4+IDxzcGFu
IGNsYXNzPSJzIj4wPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0i
ayI+cmV0dXJuPC9zcGFuPiB0PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48
dGQgY2xhc3M9ImxpbmUiPjkzPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJz
b3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8
L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjk0PC90ZD48dGQgY2xhc3M9Imhp
dHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPC90ZD48L3RyPjx0ciBjbGFzcz0i
aGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj45NTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40NzwvdGQ+PHRk
IGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gaW50ZWdl
cl90eXBlIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ZnVuY3Rpb248
L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+
PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj45NjwvdGQ+PHRkIGNs
YXNzPSJoaXRzIj4yNzM8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBj
bGFzcz0iayI+dmFyPC9zcGFuPiByZXQgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNs
YXNzPSJzIj4iIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNs
YXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjk3PC90ZD48dGQgY2xhc3M9ImhpdHMiPjI3Mzwv
dGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4o
KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj45ODwv
dGQ+PHRkIGNsYXNzPSJoaXRzIj4zMTI8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAg
ICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPmNvbnN1
bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5JRDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3Bh
biBjbGFzcz0icyI+InVuc2lnbmVkIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KSk8L3NwYW4+IHJl
dCA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJ1bnNpZ25lZCAiPC9z
cGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0
ZCBjbGFzcz0ibGluZSI+OTk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MjczPC90ZD48dGQgY2xhc3M9
InNvdXJjZSI+ICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3Rk
PjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjEwMDwvdGQ+PHRkIGNsYXNz
PSJoaXRzIj4yODc8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFz
cz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPmNvbnN1bWU8c3BhbiBjbGFz
cz0iayI+KDwvc3Bhbj5JRDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+
InNob3J0Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KSk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5y
ZXR1cm48L3NwYW4+IHJldCA8c3BhbiBjbGFzcz0iayI+Kzwvc3Bhbj4gPHNwYW4gY2xhc3M9InMi
PiJzaG9ydCI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFz
cz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4xMDE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MjU5PC90
ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFu
PiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5jb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+
SUQ8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJsb25nIjwvc3Bhbj48
c3BhbiBjbGFzcz0iayI+KSk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90
cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MTAyPC90ZD48dGQgY2xhc3M9Imhp
dHMiPjQxPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIHJldCA8c3BhbiBj
bGFzcz0iayI+Kz08L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4ibG9uZyI8L3NwYW4+PHNwYW4gY2xh
c3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5l
Ij4xMDM8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAg
ICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRy
IGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjEwNDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40
MzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+
aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPmNvbnN1bWU8c3BhbiBjbGFzcz0iayI+
KDwvc3Bhbj5JRDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+Imxvbmci
PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnJldHVybjwv
c3Bhbj4gcmV0IDxzcGFuIGNsYXNzPSJrIj4rPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+IiBsb25n
Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQi
PiA8dGQgY2xhc3M9ImxpbmUiPjEwNTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4zOTwvdGQ+PHRkIGNs
YXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+cmV0dXJuPC9zcGFu
PiByZXQ8c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGlu
ZSI+MTA2PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAg
ICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+
IDx0ZCBjbGFzcz0ibGluZSI+MTA3PC90ZD48dGQgY2xhc3M9ImhpdHMiPjIxODwvdGQ+PHRkIGNs
YXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4g
Y2xhc3M9ImsiPig8L3NwYW4+cmV0PHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IGVycm9yPHNwYW4g
Y2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9InMiPiJGYWlsZWQgdG8gcGFyc2UgaW50ZWdl
ciB0eXBlIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQg
Y2xhc3M9ImxpbmUiPjEwODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291
cmNlIj4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9z
cGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj4xMDk8L3RkPjx0ZCBjbGFzcz0iaGl0
cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8L3RkPjwvdHI+PHRyIGNsYXNzPSJo
aXQiPiA8dGQgY2xhc3M9ImxpbmUiPjExMDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40NzwvdGQ+PHRk
IGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gZmxvYXRf
dHlwZSA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPmZ1bmN0aW9uPC9z
cGFuPiA8c3BhbiBjbGFzcz0iayI+KCk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwv
dGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MTExPC90ZD48dGQgY2xh
c3M9ImhpdHMiPjIxODwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNs
YXNzPSJrIj52YXI8L3NwYW4+IHJldCA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xh
c3M9InMiPiIiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xh
c3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MTEyPC90ZD48dGQgY2xhc3M9ImhpdHMiPjIxODwv
dGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4o
KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4xMTM8
L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MjIyPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAg
ICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5jb25z
dW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+SUQ8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNw
YW4gY2xhc3M9InMiPiJ1bnJlc3RyaWN0ZWQiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pKTwvc3Bh
bj4gcmV0IDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+InVucmVzdHJp
Y3RlZCAiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9
ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MTE0PC90ZD48dGQgY2xhc3M9ImhpdHMiPjIxODwvdGQ+
PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8
L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4xMTU8L3Rk
Pjx0ZCBjbGFzcz0iaGl0cyI+MjU3PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAg
PHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5jb25zdW1l
PHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+SUQ8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4g
Y2xhc3M9InMiPiJmbG9hdCI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPikpPC9zcGFuPiA8c3BhbiBj
bGFzcz0iayI+cmV0dXJuPC9zcGFuPiByZXQgPHNwYW4gY2xhc3M9ImsiPis8L3NwYW4+IDxzcGFu
IGNsYXNzPSJzIj4iZmxvYXQiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90
cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MTE2PC90ZD48dGQgY2xhc3M9Imhp
dHMiPjE4MjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJr
Ij5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+Y29uc3VtZTxzcGFuIGNsYXNzPSJr
Ij4oPC9zcGFuPklEPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iZG91
YmxlIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KSk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5yZXR1
cm48L3NwYW4+IHJldCA8c3BhbiBjbGFzcz0iayI+Kzwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJk
b3VibGUiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9
ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MTE3PC90ZD48dGQgY2xhc3M9ImhpdHMiPjE3NjwvdGQ+
PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4g
PHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+cmV0PHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IGVycm9y
PHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9InMiPiJGYWlsZWQgdG8gcGFyc2Ug
ZmxvYXQgdHlwZSI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHI+
PHRkIGNsYXNzPSJsaW5lIj4xMTg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9
InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+
Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+MTE5PC90ZD48dGQgY2xhc3M9
ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPC90ZD48L3RyPjx0ciBjbGFz
cz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4xMjA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDc8L3Rk
Pjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IHBy
aW1pdGl2ZV90eXBlIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ZnVu
Y3Rpb248L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8
L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4xMjE8L3Rk
Pjx0ZCBjbGFzcz0iaGl0cyI+MjczPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAg
PHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gbnVtX3R5cGUgPHNwYW4gY2xhc3M9ImsiPj08L3Nw
YW4+IGludGVnZXJfdHlwZTxzcGFuIGNsYXNzPSJrIj4oKTwvc3Bhbj4gPHNwYW4gY2xhc3M9Imsi
Pnx8PC9zcGFuPiBmbG9hdF90eXBlPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+
PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjEyMjwvdGQ+PHRkIGNsYXNzPSJoaXRz
Ij4zNzA8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+
aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPm51bV90eXBlPHNwYW4gY2xhc3M9Imsi
Pik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5yZXR1cm48L3NwYW4+IG51bV90eXBlPHNwYW4gY2xh
c3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5l
Ij4xMjM8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTc2PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAg
ICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNs
YXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjEyNDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xODY8
L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3Nw
YW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPmNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bh
bj5JRDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+ImJvb2xlYW4iPC9z
cGFuPjxzcGFuIGNsYXNzPSJrIj4pKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnJldHVybjwvc3Bh
bj4gPHNwYW4gY2xhc3M9InMiPiJib29sZWFuIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bh
bj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjEyNTwvdGQ+PHRk
IGNsYXNzPSJoaXRzIj4xNjc8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3Bh
biBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPmNvbnN1bWU8c3Bh
biBjbGFzcz0iayI+KDwvc3Bhbj5JRDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFz
cz0icyI+ImJ5dGUiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pKTwvc3Bhbj4gPHNwYW4gY2xhc3M9
ImsiPnJldHVybjwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJieXRlIjwvc3Bhbj48c3BhbiBjbGFz
cz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUi
PjEyNjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xNjg8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAg
ICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFu
PmNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5JRDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFu
PiA8c3BhbiBjbGFzcz0icyI+Im9jdGV0Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KSk8L3NwYW4+
IDxzcGFuIGNsYXNzPSJrIj5yZXR1cm48L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4ib2N0ZXQiPC9z
cGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5l
Ij4xMjc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAg
ICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwv
dHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+MTI4PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRk
IGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNs
YXNzPSJsaW5lIj4xMjk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDc8L3RkPjx0ZCBjbGFzcz0ic291
cmNlIj4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IGNvbnN0X3ZhbHVlIDxzcGFu
IGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ZnVuY3Rpb248L3NwYW4+IDxzcGFu
IGNsYXNzPSJrIj4oKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0
ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4xMzA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+
MTc8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8
L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPmNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwv
c3Bhbj5JRDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+InRydWUiPC9z
cGFuPjxzcGFuIGNsYXNzPSJrIj4pKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnJldHVybjwvc3Bh
bj4gPHNwYW4gY2xhc3M9ImsiPnRydWU8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90
ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4xMzE8L3RkPjx0ZCBjbGFz
cz0iaGl0cyI+MTk8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFz
cz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPmNvbnN1bWU8c3BhbiBjbGFz
cz0iayI+KDwvc3Bhbj5JRDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+
ImZhbHNlIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KSk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5y
ZXR1cm48L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5mYWxzZTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+
Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjEzMjwv
dGQ+PHRkIGNsYXNzPSJoaXRzIj4xNzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAg
IDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+Y29uc3Vt
ZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPklEPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFu
IGNsYXNzPSJzIj4ibnVsbCI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPikpPC9zcGFuPiA8c3BhbiBj
bGFzcz0iayI+cmV0dXJuPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+bnVsbDwvc3Bhbj48c3BhbiBj
bGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9Imxp
bmUiPjEzMzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xNDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAg
ICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3Nw
YW4+Y29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPklEPHNwYW4gY2xhc3M9ImsiPiw8L3Nw
YW4+IDxzcGFuIGNsYXNzPSJzIj4iSW5maW5pdHkiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pKTwv
c3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnJldHVybjwvc3Bhbj4gSW5maW5pdHk8c3BhbiBjbGFzcz0i
ayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjEz
NDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xMzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAg
ICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+Y29u
c3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPklEPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxz
cGFuIGNsYXNzPSJzIj4iTmFOIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KSk8L3NwYW4+IDxzcGFu
IGNsYXNzPSJrIj5yZXR1cm48L3NwYW4+IE5hTjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+
PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MTM1PC90ZD48dGQgY2xhc3M9
ImhpdHMiPjExPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9
ImsiPnZhcjwvc3Bhbj4gcmV0IDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiBjb25zdW1lPHNwYW4g
Y2xhc3M9ImsiPig8L3NwYW4+RkxPQVQ8c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xh
c3M9ImsiPnx8PC9zcGFuPiBjb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+SU5UPHNwYW4g
Y2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0i
bGluZSI+MTM2PC90ZD48dGQgY2xhc3M9ImhpdHMiPjE5PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+
ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwv
c3Bhbj5yZXQ8c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnJldHVybjwv
c3Bhbj4gPHNwYW4gY2xhc3M9InMiPjE8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4qPC9zcGFuPiBy
ZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj52YWx1ZTxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwv
dGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MTM3PC90ZD48dGQgY2xh
c3M9ImhpdHMiPjM8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFz
cz0iayI+dmFyPC9zcGFuPiB0b2sgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IGNvbnN1bWU8c3Bh
biBjbGFzcz0iayI+KDwvc3Bhbj5PVEhFUjxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBj
bGFzcz0icyI+Ii0iPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRy
IGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjEzODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4z
PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9z
cGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj50b2s8c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4g
PHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNs
YXNzPSJsaW5lIj4xMzk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MjwvdGQ+PHRkIGNsYXNzPSJzb3Vy
Y2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNz
PSJrIj4oPC9zcGFuPmNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5JRDxzcGFuIGNsYXNz
PSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+IkluZmluaXR5Ijwvc3Bhbj48c3BhbiBjbGFz
cz0iayI+KSk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5yZXR1cm48L3NwYW4+IDxzcGFuIGNsYXNz
PSJrIj4tPC9zcGFuPkluZmluaXR5PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0
ciBjbGFzcz0ibWlzcyI+IDx0ZCBjbGFzcz0ibGluZSI+MTQwPC90ZD48dGQgY2xhc3M9ImhpdHMi
PjA8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Imsi
PmVsc2U8L3NwYW4+IHRva2VuczxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnVuc2hpZnQ8c3BhbiBj
bGFzcz0iayI+KDwvc3Bhbj50b2s8c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0
cj48dGQgY2xhc3M9ImxpbmUiPjE0MTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFz
cz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+
PHRyPjx0ZCBjbGFzcz0ibGluZSI+MTQyPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNs
YXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PHNwYW4gY2xhc3M9
ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjE0MzwvdGQ+PHRkIGNs
YXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDwvdGQ+PC90cj48dHIg
Y2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MTQ0PC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ3
PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFu
PiB0eXBlX3N1ZmZpeCA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPmZ1
bmN0aW9uPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5vYmo8c3BhbiBjbGFzcz0iayI+
KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0
Ij4gPHRkIGNsYXNzPSJsaW5lIj4xNDU8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MjQ5PC90ZD48dGQg
Y2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPndoaWxlPC9zcGFuPiA8
c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0iayI+dHJ1ZTwvc3Bhbj48c3BhbiBj
bGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBj
bGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4xNDY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MjYz
PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNz
PSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5l
Ij4xNDc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MjYzPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAg
ICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8
L3NwYW4+Y29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPk9USEVSPHNwYW4gY2xhc3M9Imsi
Piw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iPyI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPikpPC9z
cGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8
dGQgY2xhc3M9ImxpbmUiPjE0ODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xMTwvdGQ+PHRkIGNsYXNz
PSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8
c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5vYmo8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5udWxsYWJs
ZTxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiBlcnJvcjxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxz
cGFuIGNsYXNzPSJzIj4iQ2FuJ3QgbnVsbGFibGUgbW9yZSB0aGFuIG9uY2UiPC9zcGFuPjxzcGFu
IGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9
ImxpbmUiPjE0OTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xMTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2Ui
PiAgICAgICAgICAgICAgICAgICAgb2JqPHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+bnVsbGFibGUg
PHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj50cnVlPC9zcGFuPjxzcGFu
IGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj4xNTA8L3Rk
Pjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAg
IDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBj
bGFzcz0ibGluZSI+MTUxPC90ZD48dGQgY2xhc3M9ImhpdHMiPjI1MjwvdGQ+PHRkIGNsYXNzPSJz
b3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+ZWxzZTwvc3Bhbj4gPHNwYW4g
Y2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5jb25zdW1lPHNwYW4g
Y2xhc3M9ImsiPig8L3NwYW4+T1RIRVI8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xh
c3M9InMiPiJbIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KSk8L3NwYW4+IDxzcGFuIGNsYXNzPSJr
Ij57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MTUy
PC90ZD48dGQgY2xhc3M9ImhpdHMiPjM8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAg
ICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBj
bGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4xNTM8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+Mzwv
dGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAgY29uc3VtZTxzcGFuIGNs
YXNzPSJrIj4oPC9zcGFuPk9USEVSPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNz
PSJzIj4iXSI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj58
fDwvc3Bhbj4gZXJyb3I8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0icyI+IlVu
dGVybWluYXRlZCBhcnJheSB0eXBlIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90
ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4xNTQ8L3RkPjx0ZCBjbGFz
cz0iaGl0cyI+NTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAgPHNw
YW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KCE8L3NwYW4+b2JqPHNwYW4g
Y2xhc3M9ImsiPi48L3NwYW4+YXJyYXk8c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gb2JqPHNwYW4g
Y2xhc3M9ImsiPi48L3NwYW4+YXJyYXkgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNs
YXNzPSJzIj4xPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xh
c3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MTU1PC90ZD48dGQgY2xhc3M9ImhpdHMiPjE8L3Rk
Pjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5l
bHNlPC9zcGFuPiBvYmo8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5hcnJheTxzcGFuIGNsYXNzPSJr
Ij4rKzs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjE1NjwvdGQ+PHRkIGNs
YXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4g
Y2xhc3M9ImsiPn08L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJs
aW5lIj4xNTc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MjQ5PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+
ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5lbHNlPC9zcGFuPiA8c3BhbiBjbGFzcz0i
ayI+cmV0dXJuPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRk
IGNsYXNzPSJsaW5lIj4xNTg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNv
dXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PC90ZD48L3RyPjx0cj48
dGQgY2xhc3M9ImxpbmUiPjE1OTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0i
c291cmNlIj4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47
PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj4xNjA8L3RkPjx0ZCBjbGFzcz0i
aGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8L3RkPjwvdHI+PHRyIGNsYXNz
PSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjE2MTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40NzwvdGQ+
PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gc2lu
Z2xlX3R5cGUgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5mdW5jdGlv
bjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPigpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bh
bj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjE2MjwvdGQ+PHRk
IGNsYXNzPSJoaXRzIj4yNjE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3Bh
biBjbGFzcz0iayI+dmFyPC9zcGFuPiBwcmltIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiBwcmlt
aXRpdmVfdHlwZTxzcGFuIGNsYXNzPSJrIj4oKTwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFz
cz0ibGluZSI+MTYzPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2Ui
PiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiAgIHJldCA8c3BhbiBjbGFzcz0i
ayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+IHNlcXVlbmNlPHNwYW4gY2xhc3M9
ImsiPjo8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5mYWxzZTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+
LDwvc3Bhbj4gbnVsbGFibGU8c3BhbiBjbGFzcz0iayI+Ojwvc3Bhbj4gPHNwYW4gY2xhc3M9Imsi
PmZhbHNlPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiBhcnJheTxzcGFuIGNsYXNzPSJr
Ij46PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ZmFsc2U8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPiw8
L3NwYW4+IHVuaW9uPHNwYW4gY2xhc3M9ImsiPjo8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5mYWxz
ZTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9
ImxpbmUiPjE2NDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4g
ICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJo
aXQiPiA8dGQgY2xhc3M9ImxpbmUiPjE2NTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yNjE8L3RkPjx0
ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxz
cGFuIGNsYXNzPSJrIj4oPC9zcGFuPnByaW08c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4g
Y2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJs
aW5lIj4xNjY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+OTk8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4g
ICAgICAgICAgICAgICAgcmV0PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+aWRsVHlwZSA8c3BhbiBj
bGFzcz0iayI+PTwvc3Bhbj4gcHJpbTxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48
dHI+PHRkIGNsYXNzPSJsaW5lIj4xNjc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PC90ZD48L3Ry
Pjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4xNjg8L3RkPjx0ZCBjbGFzcz0iaGl0
cyI+MTYyPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9Imsi
PmVsc2U8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8
L3NwYW4+Y29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPklEPHNwYW4gY2xhc3M9ImsiPiw8
L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4ic2VxdWVuY2UiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4p
KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0
Ij4gPHRkIGNsYXNzPSJsaW5lIj4xNjk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDwvdGQ+PHRkIGNs
YXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9z
cGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MTcwPC90ZD48
dGQgY2xhc3M9ImhpdHMiPjQ8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAg
PHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KCE8L3NwYW4+Y29uc3Vt
ZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPk9USEVSPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxz
cGFuIGNsYXNzPSJzIj4iPCI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPikpPC9zcGFuPiA8c3BhbiBj
bGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJtaXNzIj4gPHRkIGNsYXNzPSJs
aW5lIj4xNzE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAg
ICAgICAgICAgICAgICAgICAgcmV0PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+aWRsVHlwZSA8c3Bh
biBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJzZXF1ZW5jZSI8L3NwYW4+PHNw
YW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjE3Mjwv
dGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAg
ICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUi
PjE3MzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAg
ICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmVsc2U8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9z
cGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MTc0PC90ZD48
dGQgY2xhc3M9ImhpdHMiPjQ8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAg
ICAgIHJldDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnNlcXVlbmNlIDxzcGFuIGNsYXNzPSJrIj49
PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+dHJ1ZTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bh
bj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjE3NTwvdGQ+PHRk
IGNsYXNzPSJoaXRzIj40PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAg
ICByZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5pZGxUeXBlIDxzcGFuIGNsYXNzPSJrIj49PC9z
cGFuPiB0eXBlPHNwYW4gY2xhc3M9ImsiPigpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+fHw8L3Nw
YW4+IGVycm9yPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9InMiPiJFcnJvciBw
YXJzaW5nIHNlcXVlbmNlIHR5cGUiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3Rk
PjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjE3NjwvdGQ+PHRkIGNsYXNz
PSJoaXRzIj40PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICBhbGxf
d3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0
ZCBjbGFzcz0ibGluZSI+MTc3PC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ8L3RkPjx0ZCBjbGFzcz0i
c291cmNlIj4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNw
YW4gY2xhc3M9ImsiPighPC9zcGFuPmNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5PVEhF
UjxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+Ij4iPC9zcGFuPjxzcGFu
IGNsYXNzPSJrIj4pKTwvc3Bhbj4gZXJyb3I8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3BhbiBj
bGFzcz0icyI+IlVudGVybWluYXRlZCBzZXF1ZW5jZSI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7
PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MTc4PC90
ZD48dGQgY2xhc3M9ImhpdHMiPjQ8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAg
ICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFz
cz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4xNzk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NTwvdGQ+
PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlm
PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5jb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8
L3NwYW4+T1RIRVI8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiI/Ijwv
c3Bhbj48c3BhbiBjbGFzcz0iayI+KSk8L3NwYW4+IHJldDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFu
Pm51bGxhYmxlIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+dHJ1ZTwv
c3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8
dGQgY2xhc3M9ImxpbmUiPjE4MDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40PC90ZD48dGQgY2xhc3M9
InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+cmV0dXJuPC9zcGFu
PiByZXQ8c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGlu
ZSI+MTgxPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAg
ICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFz
cz0ibGluZSI+MTgyPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2Ui
PiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNs
YXNzPSJsaW5lIj4xODM8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJj
ZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmVsc2U8L3NwYW4+IDxzcGFuIGNsYXNzPSJr
Ij57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MTg0
PC90ZD48dGQgY2xhc3M9ImhpdHMiPjE1ODwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAg
ICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiBuYW1lIDxzcGFuIGNsYXNzPSJrIj49
PC9zcGFuPiBjb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+SUQ8c3BhbiBjbGFzcz0iayI+
KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4xODU8
L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTY5PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAg
ICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPighPC9zcGFu
Pm5hbWU8c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnJldHVybjwvc3Bh
bj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQg
Y2xhc3M9ImxpbmUiPjE4NjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xNDc8L3RkPjx0ZCBjbGFzcz0i
c291cmNlIj4gICAgICAgICAgICAgICAgcmV0PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+aWRsVHlw
ZSA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gbmFtZTxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnZh
bHVlPHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUi
PjE4NzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAg
ICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8
dGQgY2xhc3M9ImxpbmUiPjE4ODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yNDY8L3RkPjx0ZCBjbGFz
cz0ic291cmNlIj4gICAgICAgICAgICB0eXBlX3N1ZmZpeDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFu
PnJldDxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8
dGQgY2xhc3M9ImxpbmUiPjE4OTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yNDY8L3RkPjx0ZCBjbGFz
cz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNs
YXNzPSJrIj4oPC9zcGFuPnJldDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPm51bGxhYmxlIDxzcGFu
IGNsYXNzPSJrIj4mYW1wOyZhbXA7PC9zcGFuPiByZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5p
ZGxUeXBlIDxzcGFuIGNsYXNzPSJrIj49PT08L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iYW55Ijwv
c3Bhbj48c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gZXJyb3I8c3BhbiBjbGFzcz0iayI+KDwvc3Bh
bj48c3BhbiBjbGFzcz0icyI+IlR5cGUgYW55IGNhbm5vdCBiZSBtYWRlIG51bGxhYmxlIjwvc3Bh
bj48c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRk
IGNsYXNzPSJsaW5lIj4xOTA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MjQ2PC90ZD48dGQgY2xhc3M9
InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnJldHVybjwvc3Bhbj4gcmV0PHNw
YW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjE5MTwv
dGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxzcGFu
IGNsYXNzPSJrIj59PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+
PHRkIGNsYXNzPSJsaW5lIj4xOTI8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9
InNvdXJjZSI+ICAgICAgICA8L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9Imxp
bmUiPjE5MzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40NzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAg
ICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gdW5pb25fdHlwZSA8c3BhbiBjbGFzcz0i
ayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPmZ1bmN0aW9uPC9zcGFuPiA8c3BhbiBjbGFzcz0i
ayI+KCk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9
ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MTk0PC90ZD48dGQgY2xhc3M9ImhpdHMiPjExPC90ZD48
dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwv
c3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjE5NTwvdGQ+
PHRkIGNsYXNzPSJoaXRzIj4xOTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxz
cGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPighPC9zcGFuPmNvbnN1bWU8
c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5PVEhFUjxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3Bh
biBjbGFzcz0icyI+IigiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pKTwvc3Bhbj4gPHNwYW4gY2xh
c3M9ImsiPnJldHVybjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRy
IGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjE5NjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4z
PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwv
c3Bhbj4gcmV0IDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bh
bj4gc2VxdWVuY2U8c3BhbiBjbGFzcz0iayI+Ojwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPmZhbHNl
PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiBudWxsYWJsZTxzcGFuIGNsYXNzPSJrIj46
PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ZmFsc2U8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPiw8L3Nw
YW4+IGFycmF5PHNwYW4gY2xhc3M9ImsiPjo8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5mYWxzZTwv
c3Bhbj48c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gdW5pb248c3BhbiBjbGFzcz0iayI+Ojwvc3Bh
bj4gPHNwYW4gY2xhc3M9ImsiPnRydWU8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IGlk
bFR5cGU8c3BhbiBjbGFzcz0iayI+Ojwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPltdPC9zcGFuPiA8
c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+
PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjE5NzwvdGQ+PHRkIGNsYXNzPSJoaXRz
Ij4zPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZh
cjwvc3Bhbj4gZnN0IDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiB0eXBlPHNwYW4gY2xhc3M9Imsi
PigpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+fHw8L3NwYW4+IGVycm9yPHNwYW4gY2xhc3M9Imsi
Pig8L3NwYW4+PHNwYW4gY2xhc3M9InMiPiJVbmlvbiB0eXBlIHdpdGggbm8gY29udGVudCI8L3Nw
YW4+PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0
ZCBjbGFzcz0ibGluZSI+MTk4PC90ZD48dGQgY2xhc3M9ImhpdHMiPjM8L3RkPjx0ZCBjbGFzcz0i
c291cmNlIj4gICAgICAgICAgICByZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5pZGxUeXBlPHNw
YW4gY2xhc3M9ImsiPi48L3NwYW4+cHVzaDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPmZzdDxzcGFu
IGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9
ImxpbmUiPjE5OTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4zPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+
ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPndoaWxlPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+
KDwvc3Bhbj48c3BhbiBjbGFzcz0iayI+dHJ1ZTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTwvc3Bh
bj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRk
IGNsYXNzPSJsaW5lIj4yMDA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NzwvdGQ+PHRkIGNsYXNzPSJz
b3VyY2UiPiAgICAgICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwv
dGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MjAxPC90ZD48dGQgY2xh
c3M9ImhpdHMiPjEwPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFu
IGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPighPC9zcGFuPmNvbnN1bWU8c3Bh
biBjbGFzcz0iayI+KDwvc3Bhbj5JRDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFz
cz0icyI+Im9yIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KSk8L3NwYW4+IDxzcGFuIGNsYXNzPSJr
Ij5icmVhazwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNz
PSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjIwMjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40PC90ZD48
dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3Nw
YW4+IHR5cCA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gdHlwZTxzcGFuIGNsYXNzPSJrIj4oKTwv
c3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnx8PC9zcGFuPiBlcnJvcjxzcGFuIGNsYXNzPSJrIj4oPC9z
cGFuPjxzcGFuIGNsYXNzPSJzIj4iTm8gdHlwZSBhZnRlciAnb3InIGluIHVuaW9uIHR5cGUiPC9z
cGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8
dGQgY2xhc3M9ImxpbmUiPjIwMzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40PC90ZD48dGQgY2xhc3M9
InNvdXJjZSI+ICAgICAgICAgICAgICAgIHJldDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPmlkbFR5
cGU8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5wdXNoPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+dHlw
PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj4y
MDQ8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAg
ICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRk
IGNsYXNzPSJsaW5lIj4yMDU8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MzwvdGQ+PHRkIGNsYXNzPSJz
b3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9
ImsiPighPC9zcGFuPmNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5PVEhFUjxzcGFuIGNs
YXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+IikiPC9zcGFuPjxzcGFuIGNsYXNzPSJr
Ij4pKTwvc3Bhbj4gZXJyb3I8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0icyI+
IlVudGVybWluYXRlZCB1bmlvbiB0eXBlIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+
PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4yMDY8L3RkPjx0ZCBj
bGFzcz0iaGl0cyI+MzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIHR5cGVfc3Vm
Zml4PHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+cmV0PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwv
dGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MjA3PC90ZD48dGQgY2xh
c3M9ImhpdHMiPjM8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFz
cz0iayI+cmV0dXJuPC9zcGFuPiByZXQ8c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+
PHRyPjx0ZCBjbGFzcz0ibGluZSI+MjA4PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNs
YXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PHNwYW4gY2xhc3M9
ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjIwOTwvdGQ+PHRkIGNs
YXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDwvdGQ+PC90cj48dHIg
Y2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MjEwPC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ3
PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFu
PiB0eXBlIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ZnVuY3Rpb248
L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+
PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4yMTE8L3RkPjx0ZCBj
bGFzcz0iaGl0cyI+MjYxPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4g
Y2xhc3M9ImsiPnJldHVybjwvc3Bhbj4gc2luZ2xlX3R5cGU8c3BhbiBjbGFzcz0iayI+KCk8L3Nw
YW4+IDxzcGFuIGNsYXNzPSJrIj58fDwvc3Bhbj4gdW5pb25fdHlwZTxzcGFuIGNsYXNzPSJrIj4o
KTs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjIxMjwvdGQ+PHRkIGNsYXNz
PSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj59
PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJs
aW5lIj4yMTM8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAg
ICAgICA8L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjIxNDwvdGQ+
PHRkIGNsYXNzPSJoaXRzIj40NzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4g
Y2xhc3M9ImsiPnZhcjwvc3Bhbj4gYXJndW1lbnQgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxz
cGFuIGNsYXNzPSJrIj5mdW5jdGlvbjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPigpPC9zcGFuPiA8
c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xh
c3M9ImxpbmUiPjIxNTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj43OTwvdGQ+PHRkIGNsYXNzPSJzb3Vy
Y2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IHJldCA8c3BhbiBjbGFz
cz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+IG9wdGlvbmFsPHNwYW4gY2xh
c3M9ImsiPjo8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5mYWxzZTwvc3Bhbj48c3BhbiBjbGFzcz0i
ayI+LDwvc3Bhbj4gdmFyaWFkaWM8c3BhbiBjbGFzcz0iayI+Ojwvc3Bhbj4gPHNwYW4gY2xhc3M9
ImsiPmZhbHNlPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+
Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjIxNjwv
dGQ+PHRkIGNsYXNzPSJoaXRzIj43OTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAg
IHJldDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPmV4dEF0dHJzIDxzcGFuIGNsYXNzPSJrIj49PC9z
cGFuPiBleHRlbmRlZF9hdHRyczxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0
ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4yMTc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+
Nzk8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0i
ayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+
MjE4PC90ZD48dGQgY2xhc3M9ImhpdHMiPjc5PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAg
ICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5j
b25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+SUQ8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4g
PHNwYW4gY2xhc3M9InMiPiJvcHRpb25hbCI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPikpPC9zcGFu
PiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQg
Y2xhc3M9ImxpbmUiPjIxOTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yPC90ZD48dGQgY2xhc3M9InNv
dXJjZSI+ICAgICAgICAgICAgICAgIHJldDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPm9wdGlvbmFs
IDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+dHJ1ZTwvc3Bhbj48c3Bh
biBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9
ImxpbmUiPjIyMDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+
ICAgICAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3Ry
Pjx0cj48dGQgY2xhc3M9ImxpbmUiPjIyMTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBj
bGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48L3RkPjwv
dHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjIyMjwvdGQ+PHRkIGNsYXNzPSJo
aXRzIj43OTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIHJldDxzcGFuIGNsYXNz
PSJrIj4uPC9zcGFuPnR5cGUgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IHR5cGU8c3BhbiBjbGFz
cz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGlu
ZSI+MjIzPC90ZD48dGQgY2xhc3M9ImhpdHMiPjg3PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAg
ICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KCE8L3Nw
YW4+cmV0PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+dHlwZTxzcGFuIGNsYXNzPSJrIj4pPC9zcGFu
PiA8c3BhbiBjbGFzcz0iayI+cmV0dXJuPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwv
dGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MjI0PC90ZD48dGQgY2xh
c3M9ImhpdHMiPjcxPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xh
c3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KCE8L3NwYW4+cmV0PHNwYW4gY2xhc3M9
ImsiPi48L3NwYW4+b3B0aW9uYWw8c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9
ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4y
MjU8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+Njk8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAg
ICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNs
YXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjIyNjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj42OTwv
dGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8
L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPnRva2VuczxzcGFuIGNsYXNzPSJrIj4uPC9z
cGFuPmxlbmd0aCA8c3BhbiBjbGFzcz0iayI+Pj08L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4zPC9z
cGFuPiA8c3BhbiBjbGFzcz0iayI+JmFtcDsmYW1wOzwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBj
bGFzcz0ibGluZSI+MjI3PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3Vy
Y2UiPiAgICAgICAgICAgICAgICAgICAgdG9rZW5zPHNwYW4gY2xhc3M9ImsiPls8L3NwYW4+PHNw
YW4gY2xhc3M9InMiPjA8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPl0uPC9zcGFuPnR5cGUgPHNwYW4g
Y2xhc3M9ImsiPj09PTwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJvdGhlciI8L3NwYW4+IDxzcGFu
IGNsYXNzPSJrIj4mYW1wOyZhbXA7PC9zcGFuPiB0b2tlbnM8c3BhbiBjbGFzcz0iayI+Wzwvc3Bh
bj48c3BhbiBjbGFzcz0icyI+MDwvc3Bhbj48c3BhbiBjbGFzcz0iayI+XS48L3NwYW4+dmFsdWUg
PHNwYW4gY2xhc3M9ImsiPj09PTwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiIuIjwvc3Bhbj4gPHNw
YW4gY2xhc3M9ImsiPiZhbXA7JmFtcDs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9Imxp
bmUiPjIyODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAg
ICAgICAgICAgICAgICAgIHRva2VuczxzcGFuIGNsYXNzPSJrIj5bPC9zcGFuPjxzcGFuIGNsYXNz
PSJzIj4xPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj5dLjwvc3Bhbj50eXBlIDxzcGFuIGNsYXNzPSJr
Ij49PT08L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4ib3RoZXIiPC9zcGFuPiA8c3BhbiBjbGFzcz0i
ayI+JmFtcDsmYW1wOzwvc3Bhbj4gdG9rZW5zPHNwYW4gY2xhc3M9ImsiPls8L3NwYW4+PHNwYW4g
Y2xhc3M9InMiPjE8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPl0uPC9zcGFuPnZhbHVlIDxzcGFuIGNs
YXNzPSJrIj49PT08L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iLiI8L3NwYW4+IDxzcGFuIGNsYXNz
PSJrIj4mYW1wOyZhbXA7PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj4yMjk8
L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAg
ICAgICAgICB0b2tlbnM8c3BhbiBjbGFzcz0iayI+Wzwvc3Bhbj48c3BhbiBjbGFzcz0icyI+Mjwv
c3Bhbj48c3BhbiBjbGFzcz0iayI+XS48L3NwYW4+dHlwZSA8c3BhbiBjbGFzcz0iayI+PT09PC9z
cGFuPiA8c3BhbiBjbGFzcz0icyI+Im90aGVyIjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPiZhbXA7
JmFtcDs8L3NwYW4+IHRva2VuczxzcGFuIGNsYXNzPSJrIj5bPC9zcGFuPjxzcGFuIGNsYXNzPSJz
Ij4yPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj5dLjwvc3Bhbj52YWx1ZSA8c3BhbiBjbGFzcz0iayI+
PT09PC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+Ii4iPC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNs
YXNzPSJsaW5lIj4yMzA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJj
ZSI+ICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xh
c3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5l
Ij4yMzE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAg
ICAgICAgICAgICAgICAgdG9rZW5zPHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+c2hpZnQ8c3BhbiBj
bGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0i
bGluZSI+MjMyPC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4g
ICAgICAgICAgICAgICAgICAgIHRva2VuczxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnNoaWZ0PHNw
YW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xh
c3M9ImxpbmUiPjIzMzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40PC90ZD48dGQgY2xhc3M9InNvdXJj
ZSI+ICAgICAgICAgICAgICAgICAgICB0b2tlbnM8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5zaGlm
dDxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRk
IGNsYXNzPSJsaW5lIj4yMzQ8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDwvdGQ+PHRkIGNsYXNzPSJz
b3VyY2UiPiAgICAgICAgICAgICAgICAgICAgcmV0PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+dmFy
aWFkaWMgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj50cnVlPC9zcGFu
PjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj4y
MzU8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAg
ICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJs
aW5lIj4yMzY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAg
ICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0
Ij4gPHRkIGNsYXNzPSJsaW5lIj4yMzc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NzE8L3RkPjx0ZCBj
bGFzcz0ic291cmNlIj4gICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFu
PjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MjM4PC90ZD48dGQg
Y2xhc3M9ImhpdHMiPjcxPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4g
Y2xhc3M9ImsiPnZhcjwvc3Bhbj4gbmFtZSA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gY29uc3Vt
ZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPklEPHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFu
IGNsYXNzPSJrIj58fDwvc3Bhbj4gZXJyb3I8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3BhbiBj
bGFzcz0icyI+Ik5vIG5hbWUgaW4gYXJndW1lbnQiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwv
c3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjIzOTwvdGQ+
PHRkIGNsYXNzPSJoaXRzIj43MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIHJl
dDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPm5hbWUgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IG5h
bWU8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj52YWx1ZTxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwv
dGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MjQwPC90ZD48dGQgY2xh
c3M9ImhpdHMiPjcxPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xh
c3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5yZXQ8c3BhbiBjbGFzcz0i
ayI+Ljwvc3Bhbj5vcHRpb25hbDxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0i
ayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjI0
MTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAg
ICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFz
cz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4yNDI8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MjwvdGQ+
PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICByZXQ8c3BhbiBjbGFzcz0iayI+Wzwv
c3Bhbj48c3BhbiBjbGFzcz0icyI+ImRlZmF1bHQiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj5dPC9z
cGFuPiA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gZGVmYXVsdF88c3BhbiBjbGFzcz0iayI+KCk7
PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj4yNDM8L3RkPjx0ZCBjbGFzcz0i
aGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9Imsi
Pn08L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4yNDQ8
L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NzE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAg
ICA8c3BhbiBjbGFzcz0iayI+cmV0dXJuPC9zcGFuPiByZXQ8c3BhbiBjbGFzcz0iayI+Ozwvc3Bh
bj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+MjQ1PC90ZD48dGQgY2xhc3M9ImhpdHMi
PjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+
PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjI0
NjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDwv
dGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MjQ3PC90ZD48dGQgY2xh
c3M9ImhpdHMiPjQ3PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFzcz0i
ayI+dmFyPC9zcGFuPiBhcmd1bWVudF9saXN0IDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3Bh
biBjbGFzcz0iayI+ZnVuY3Rpb248L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oKTwvc3Bhbj4gPHNw
YW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNz
PSJsaW5lIj4yNDg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NTk8L3RkPjx0ZCBjbGFzcz0ic291cmNl
Ij4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiBhcmcgPHNwYW4gY2xhc3M9
ImsiPj08L3NwYW4+IGFyZ3VtZW50PHNwYW4gY2xhc3M9ImsiPigpLDwvc3Bhbj4gcmV0IDxzcGFu
IGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+W107PC9zcGFuPjwvdGQ+PC90cj48
dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MjQ5PC90ZD48dGQgY2xhc3M9ImhpdHMi
PjY3PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlm
PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KCE8L3NwYW4+YXJnPHNwYW4gY2xhc3M9ImsiPik8L3Nw
YW4+IDxzcGFuIGNsYXNzPSJrIj5yZXR1cm48L3NwYW4+IHJldDxzcGFuIGNsYXNzPSJrIj47PC9z
cGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MjUwPC90ZD48
dGQgY2xhc3M9ImhpdHMiPjUxPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgcmV0
PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+cHVzaDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPmFyZzxz
cGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xh
c3M9ImxpbmUiPjI1MTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj41MTwvdGQ+PHRkIGNsYXNzPSJzb3Vy
Y2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj53aGlsZTwvc3Bhbj4gPHNwYW4gY2xhc3M9
ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPnRydWU8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik8
L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+
IDx0ZCBjbGFzcz0ibGluZSI+MjUyPC90ZD48dGQgY2xhc3M9ImhpdHMiPjcxPC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3Nw
YW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4yNTM8L3RkPjx0
ZCBjbGFzcz0iaGl0cyI+MTIyPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAg
IDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPighPC9zcGFuPmNvbnN1
bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5PVEhFUjxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8
c3BhbiBjbGFzcz0icyI+IiwiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pKTwvc3Bhbj4gPHNwYW4g
Y2xhc3M9ImsiPnJldHVybjwvc3Bhbj4gcmV0PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48
L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4yNTQ8L3RkPjx0ZCBjbGFzcz0i
aGl0cyI+MjA8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgYWxsX3dzPHNw
YW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xh
c3M9ImxpbmUiPjI1NTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yMDwvdGQ+PHRkIGNsYXNzPSJzb3Vy
Y2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiBueHQgPHNwYW4g
Y2xhc3M9ImsiPj08L3NwYW4+IGFyZ3VtZW50PHNwYW4gY2xhc3M9ImsiPigpPC9zcGFuPiA8c3Bh
biBjbGFzcz0iayI+fHw8L3NwYW4+IGVycm9yPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4g
Y2xhc3M9InMiPiJUcmFpbGluZyBjb21tYSBpbiBhcmd1bWVudHMgbGlzdCI8L3NwYW4+PHNwYW4g
Y2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0i
bGluZSI+MjU2PC90ZD48dGQgY2xhc3M9ImhpdHMiPjIwPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+
ICAgICAgICAgICAgICAgIHJldDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnB1c2g8c3BhbiBjbGFz
cz0iayI+KDwvc3Bhbj5ueHQ8c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0cj48
dGQgY2xhc3M9ImxpbmUiPjI1NzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0i
c291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+PHRy
Pjx0ZCBjbGFzcz0ibGluZSI+MjU4PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNz
PSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PHNwYW4gY2xhc3M9Imsi
Pjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjI1OTwvdGQ+PHRkIGNsYXNz
PSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDwvdGQ+PC90cj48dHIgY2xh
c3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MjYwPC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ3PC90
ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiBz
aW1wbGVfZXh0ZW5kZWRfYXR0ciA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9
ImsiPmZ1bmN0aW9uPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KCk8L3NwYW4+IDxzcGFuIGNsYXNz
PSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+
MjYxPC90ZD48dGQgY2xhc3M9ImhpdHMiPjE3PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAg
ICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNz
PSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjI2MjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xNzwvdGQ+
PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+
IG5hbWUgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IGNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwv
c3Bhbj5JRDxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQi
PiA8dGQgY2xhc3M9ImxpbmUiPjI2MzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xNzwvdGQ+PHRkIGNs
YXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4g
Y2xhc3M9ImsiPighPC9zcGFuPm5hbWU8c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xh
c3M9ImsiPnJldHVybjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRy
IGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjI2NDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4x
NzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8
L3NwYW4+IHJldCA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3Nw
YW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjI2NTwvdGQ+PHRkIGNsYXNzPSJoaXRz
Ij48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgbmFtZTxzcGFuIGNsYXNz
PSJrIj46PC9zcGFuPiBuYW1lPHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+dmFsdWU8L3RkPjwvdHI+
PHRyPjx0ZCBjbGFzcz0ibGluZSI+MjY2PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNs
YXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiAgIDxzcGFu
IGNsYXNzPSJzIj4iYXJndW1lbnRzIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ojwvc3Bhbj4gPHNw
YW4gY2xhc3M9ImsiPm51bGw8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjI2
NzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAg
ICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwv
dHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjI2ODwvdGQ+PHRkIGNsYXNzPSJo
aXRzIj4xNzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIGFsbF93czxzcGFuIGNs
YXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJs
aW5lIj4yNjk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTc8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4g
ICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiBlcSA8c3BhbiBjbGFzcz0iayI+
PTwvc3Bhbj4gY29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPk9USEVSPHNwYW4gY2xhc3M9
ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iPSI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7
PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MjcwPC90
ZD48dGQgY2xhc3M9ImhpdHMiPjE3PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAg
PHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5lcTxzcGFu
IGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRy
IGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjI3MTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj41
PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNz
PSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5l
Ij4yNzI8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAg
ICAgICAgICAgICByZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5yaHMgPHNwYW4gY2xhc3M9Imsi
Pj08L3NwYW4+IGNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5JRDxzcGFuIGNsYXNzPSJr
Ij4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjI3
MzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj41PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAg
ICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPighPC9zcGFu
PnJldDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnJoczxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8
c3BhbiBjbGFzcz0iayI+cmV0dXJuPC9zcGFuPiBlcnJvcjxzcGFuIGNsYXNzPSJrIj4oPC9zcGFu
PjxzcGFuIGNsYXNzPSJzIj4iTm8gcmlnaHQgaGFuZCBzaWRlIHRvIGV4dGVuZGVkIGF0dHJpYnV0
ZSBhc3NpZ25tZW50Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0
cj48dGQgY2xhc3M9ImxpbmUiPjI3NDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFz
cz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+
PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjI3NTwvdGQ+PHRkIGNsYXNzPSJoaXRz
Ij4xNzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNz
PSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5l
Ij4yNzY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTc8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAg
ICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFu
PmNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5PVEhFUjxzcGFuIGNsYXNzPSJrIj4sPC9z
cGFuPiA8c3BhbiBjbGFzcz0icyI+IigiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pKTwvc3Bhbj4g
PHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNs
YXNzPSJsaW5lIj4yNzc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MjwvdGQ+PHRkIGNsYXNzPSJzb3Vy
Y2UiPiAgICAgICAgICAgICAgICByZXQ8c3BhbiBjbGFzcz0iayI+Wzwvc3Bhbj48c3BhbiBjbGFz
cz0icyI+ImFyZ3VtZW50cyI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPl08L3NwYW4+IDxzcGFuIGNs
YXNzPSJrIj49PC9zcGFuPiBhcmd1bWVudF9saXN0PHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48
L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjI3ODwvdGQ+PHRkIGNs
YXNzPSJoaXRzIj4yPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIGFsbF93
czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRk
IGNsYXNzPSJsaW5lIj4yNzk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MjwvdGQ+PHRkIGNsYXNzPSJz
b3VyY2UiPiAgICAgICAgICAgICAgICBjb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+T1RI
RVI8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiIpIjwvc3Bhbj48c3Bh
biBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnx8PC9zcGFuPiBlcnJvcjxzcGFu
IGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4iVW5jbG9zZWQgYXJndW1lbnQgaW4g
ZXh0ZW5kZWQgYXR0cmlidXRlIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48
L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjI4MDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0
ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48L3Rk
PjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjI4MTwvdGQ+PHRkIGNsYXNz
PSJoaXRzIj4xNzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNz
PSJrIj5yZXR1cm48L3NwYW4+IHJldDxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48
dHI+PHRkIGNsYXNzPSJsaW5lIj4yODI8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48c3BhbiBjbGFzcz0i
ayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+MjgzPC90ZD48dGQgY2xh
c3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPC90ZD48L3RyPjx0cj48
dGQgY2xhc3M9ImxpbmUiPjI4NDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0i
c291cmNlIj4gICAgICAgIDxzcGFuIGNsYXNzPSJjIj4vLyBOb3RlOiB3ZSBwYXJzZSBzb21ldGhp
bmcgc2ltcGxlciB0aGFuIHRoZSBvZmZpY2lhbCBzeW50YXguIEl0J3MgYWxsIHRoYXQgZXZlcjwv
c3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+Mjg1PC90ZD48dGQgY2xhc3M9Imhp
dHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9ImMiPi8vIHNl
ZW1zIHRvIGJlIHVzZWQ8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNz
PSJsaW5lIj4yODY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDc8L3RkPjx0ZCBjbGFzcz0ic291cmNl
Ij4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IGV4dGVuZGVkX2F0dHJzIDxzcGFu
IGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ZnVuY3Rpb248L3NwYW4+IDxzcGFu
IGNsYXNzPSJrIj4oKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0
ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4yODc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+
NDE1PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZh
cjwvc3Bhbj4gZWFzIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+W107
PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+Mjg4PC90
ZD48dGQgY2xhc3M9ImhpdHMiPjQxNTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAg
IGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0
Ij4gPHRkIGNsYXNzPSJsaW5lIj4yODk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+ODE1PC90ZD48dGQg
Y2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3Bh
biBjbGFzcz0iayI+KCE8L3NwYW4+Y29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPk9USEVS
PHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iWyI8L3NwYW4+PHNwYW4g
Y2xhc3M9ImsiPikpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+cmV0dXJuPC9zcGFuPiBlYXM8c3Bh
biBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9
ImxpbmUiPjI5MDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xNTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2Ui
PiAgICAgICAgICAgIGVhczxzcGFuIGNsYXNzPSJrIj5bPC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4w
PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj5dPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4g
c2ltcGxlX2V4dGVuZGVkX2F0dHI8c3BhbiBjbGFzcz0iayI+KCk8L3NwYW4+IDxzcGFuIGNsYXNz
PSJrIj58fDwvc3Bhbj4gZXJyb3I8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0i
cyI+IkV4dGVuZGVkIGF0dHJpYnV0ZSB3aXRoIG5vdCBjb250ZW50Ijwvc3Bhbj48c3BhbiBjbGFz
cz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5l
Ij4yOTE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTU8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAg
ICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xh
c3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MjkyPC90ZD48dGQgY2xhc3M9ImhpdHMiPjE1PC90
ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPndoaWxlPC9z
cGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5jb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3Nw
YW4+T1RIRVI8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiIsIjwvc3Bh
bj48c3BhbiBjbGFzcz0iayI+KSk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+
PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MjkzPC90ZD48dGQgY2xhc3M9
ImhpdHMiPjI8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgYWxsX3dzPHNw
YW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xh
c3M9ImxpbmUiPjI5NDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yPC90ZD48dGQgY2xhc3M9InNvdXJj
ZSI+ICAgICAgICAgICAgICAgIGVhczxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnB1c2g8c3BhbiBj
bGFzcz0iayI+KDwvc3Bhbj5zaW1wbGVfZXh0ZW5kZWRfYXR0cjxzcGFuIGNsYXNzPSJrIj4oKTwv
c3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnx8PC9zcGFuPiBlcnJvcjxzcGFuIGNsYXNzPSJrIj4oPC9z
cGFuPjxzcGFuIGNsYXNzPSJzIj4iVHJhaWxpbmcgY29tbWEgaW4gZXh0ZW5kZWQgYXR0cmlidXRl
Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KSk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9Imhp
dCI+IDx0ZCBjbGFzcz0ibGluZSI+Mjk1PC90ZD48dGQgY2xhc3M9ImhpdHMiPjI8L3RkPjx0ZCBj
bGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwv
c3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+Mjk2PC90ZD48dGQgY2xhc3M9Imhp
dHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj59
PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+Mjk3PC90
ZD48dGQgY2xhc3M9ImhpdHMiPjE1PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAg
Y29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPk9USEVSPHNwYW4gY2xhc3M9ImsiPiw8L3Nw
YW4+IDxzcGFuIGNsYXNzPSJzIj4iXSI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxz
cGFuIGNsYXNzPSJrIj58fDwvc3Bhbj4gZXJyb3I8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3Bh
biBjbGFzcz0icyI+Ik5vIGVuZCBvZiBleHRlbmRlZCBhdHRyaWJ1dGUiPC9zcGFuPjxzcGFuIGNs
YXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9Imxp
bmUiPjI5ODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xNTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAg
ICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5yZXR1cm48L3NwYW4+IGVhczxzcGFuIGNsYXNzPSJr
Ij47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj4yOTk8L3RkPjx0ZCBjbGFz
cz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFzcz0iayI+
fTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0i
bGluZSI+MzAwPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAg
ICAgICAgPC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4zMDE8L3Rk
Pjx0ZCBjbGFzcz0iaGl0cyI+NDc8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxzcGFu
IGNsYXNzPSJrIj52YXI8L3NwYW4+IGRlZmF1bHRfIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8
c3BhbiBjbGFzcz0iayI+ZnVuY3Rpb248L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oKTwvc3Bhbj4g
PHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNs
YXNzPSJsaW5lIj4zMDI8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTE8L3RkPjx0ZCBjbGFzcz0ic291
cmNlIj4gICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90
cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MzAzPC90ZD48dGQgY2xhc3M9Imhp
dHMiPjExPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9Imsi
PmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5jb25zdW1lPHNwYW4gY2xhc3M9Imsi
Pig8L3NwYW4+T1RIRVI8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiI9
Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KSk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFu
PjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MzA0PC90ZD48dGQg
Y2xhc3M9ImhpdHMiPjU8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgYWxs
X3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8
dGQgY2xhc3M9ImxpbmUiPjMwNTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj41PC90ZD48dGQgY2xhc3M9
InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IGRlZiA8
c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gY29uc3RfdmFsdWU8c3BhbiBjbGFzcz0iayI+KCk7PC9z
cGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MzA2PC90ZD48
dGQgY2xhc3M9ImhpdHMiPjU8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAg
PHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3BhbiBj
bGFzcz0iayI+dHlwZW9mPC9zcGFuPiBkZWYgPHNwYW4gY2xhc3M9ImsiPiE9PTwvc3Bhbj4gPHNw
YW4gY2xhc3M9InMiPiJ1bmRlZmluZWQiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8
c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xh
c3M9ImxpbmUiPjMwNzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4zPC90ZD48dGQgY2xhc3M9InNvdXJj
ZSI+ICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+cmV0dXJuPC9zcGFuPiBkZWY8
c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+MzA4
PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAg
ICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGlu
ZSI+MzA5PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAg
ICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+ZWxzZTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8
L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4zMTA8L3Rk
Pjx0ZCBjbGFzcz0iaGl0cyI+MjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAg
ICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gc3RyIDxzcGFuIGNsYXNzPSJrIj49PC9z
cGFuPiBjb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+U1RSPHNwYW4gY2xhc3M9ImsiPik8
L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj58fDwvc3Bhbj4gZXJyb3I8c3BhbiBjbGFzcz0iayI+KDwv
c3Bhbj48c3BhbiBjbGFzcz0icyI+Ik5vIHZhbHVlIGZvciBkZWZhdWx0Ijwvc3Bhbj48c3BhbiBj
bGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJs
aW5lIj4zMTE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAg
ICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnJldHVybjwvc3Bhbj4gc3RyPHNwYW4g
Y2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjMxMjwvdGQ+
PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAg
PHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjMx
MzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAg
ICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+
MzE0PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAg
PHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3Ry
Pjx0cj48dGQgY2xhc3M9ImxpbmUiPjMxNTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBj
bGFzcz0ic291cmNlIj4gICAgICAgIDwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFz
cz0ibGluZSI+MzE2PC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ3PC90ZD48dGQgY2xhc3M9InNvdXJj
ZSI+ICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiBjb25zdF8gPHNwYW4gY2xhc3M9
ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5mdW5jdGlvbjwvc3Bhbj4gPHNwYW4gY2xhc3M9
ImsiPigpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNz
PSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjMxNzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xODA8L3Rk
Pjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7
PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MzE4PC90
ZD48dGQgY2xhc3M9ImhpdHMiPjM0ODwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAg
IDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPighPC9zcGFuPmNvbnN1
bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5JRDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3Bh
biBjbGFzcz0icyI+ImNvbnN0Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KSk8L3NwYW4+IDxzcGFu
IGNsYXNzPSJrIj5yZXR1cm48L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3Ry
Pjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4zMTk8L3RkPjx0ZCBjbGFzcz0iaGl0
cyI+MTI8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+
dmFyPC9zcGFuPiByZXQgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57
PC9zcGFuPiB0eXBlPHNwYW4gY2xhc3M9ImsiPjo8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iY29u
c3QiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiBudWxsYWJsZTxzcGFuIGNsYXNzPSJr
Ij46PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ZmFsc2U8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj59
PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+
IDx0ZCBjbGFzcz0ibGluZSI+MzIwPC90ZD48dGQgY2xhc3M9ImhpdHMiPjEyPC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+ICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48
L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjMyMTwvdGQ+PHRkIGNs
YXNzPSJoaXRzIj4xMjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNs
YXNzPSJrIj52YXI8L3NwYW4+IHR5cCA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gcHJpbWl0aXZl
X3R5cGU8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+
IDx0ZCBjbGFzcz0ibGluZSI+MzIyPC90ZD48dGQgY2xhc3M9ImhpdHMiPjEyPC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBj
bGFzcz0iayI+KCE8L3NwYW4+dHlwPHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNz
PSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9Im1pc3MiPiA8dGQgY2xhc3M9ImxpbmUi
PjMyMzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4wPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAg
ICAgICAgICAgIHR5cCA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gY29uc3VtZTxzcGFuIGNsYXNz
PSJrIj4oPC9zcGFuPklEPHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj58
fDwvc3Bhbj4gZXJyb3I8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0icyI+Ik5v
IHR5cGUgZm9yIGNvbnN0Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3Ry
Pjx0ciBjbGFzcz0ibWlzcyI+IDx0ZCBjbGFzcz0ibGluZSI+MzI0PC90ZD48dGQgY2xhc3M9Imhp
dHMiPjA8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgdHlwIDxzcGFuIGNs
YXNzPSJrIj49PC9zcGFuPiB0eXA8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj52YWx1ZTxzcGFuIGNs
YXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj4zMjU8L3RkPjx0
ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4g
Y2xhc3M9ImsiPn08L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJs
aW5lIj4zMjY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTI8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4g
ICAgICAgICAgICByZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5pZGxUeXBlIDxzcGFuIGNsYXNz
PSJrIj49PC9zcGFuPiB0eXA8c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNs
YXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjMyNzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xMjwv
dGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4o
KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4zMjg8
L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTI8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAg
ICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPmNvbnN1
bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5PVEhFUjxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8
c3BhbiBjbGFzcz0icyI+Ij8iPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pKTwvc3Bhbj4gPHNwYW4g
Y2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJs
aW5lIj4zMjk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAg
ICAgICAgICAgICAgICByZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5udWxsYWJsZSA8c3BhbiBj
bGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnRydWU8L3NwYW4+PHNwYW4gY2xhc3M9
ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4z
MzA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAg
ICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRk
IGNsYXNzPSJsaW5lIj4zMzE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNv
dXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PC90ZD48L3RyPjx0ciBj
bGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4zMzI8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTI8
L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9z
cGFuPiBuYW1lIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiBjb25zdW1lPHNwYW4gY2xhc3M9Imsi
Pig8L3NwYW4+SUQ8c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnx8PC9z
cGFuPiBlcnJvcjxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4iTm8gbmFt
ZSBmb3IgY29uc3QiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRy
IGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjMzMzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4x
MjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIHJldDxzcGFuIGNsYXNzPSJrIj4u
PC9zcGFuPm5hbWUgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IG5hbWU8c3BhbiBjbGFzcz0iayI+
Ljwvc3Bhbj52YWx1ZTxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9
ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MzM0PC90ZD48dGQgY2xhc3M9ImhpdHMiPjEyPC90ZD48
dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwv
c3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjMzNTwvdGQ+
PHRkIGNsYXNzPSJoaXRzIj4xMjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIGNv
bnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5PVEhFUjxzcGFuIGNsYXNzPSJrIj4sPC9zcGFu
PiA8c3BhbiBjbGFzcz0icyI+Ij0iPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3Bh
biBjbGFzcz0iayI+fHw8L3NwYW4+IGVycm9yPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4g
Y2xhc3M9InMiPiJObyB2YWx1ZSBhc3NpZ25tZW50IGZvciBjb25zdCI8L3NwYW4+PHNwYW4gY2xh
c3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGlu
ZSI+MzM2PC90ZD48dGQgY2xhc3M9ImhpdHMiPjEyPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAg
ICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNs
YXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjMzNzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xMjwv
dGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3Nw
YW4+IGNudCA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gY29uc3RfdmFsdWU8c3BhbiBjbGFzcz0i
ayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+
MzM4PC90ZD48dGQgY2xhc3M9ImhpdHMiPjI0PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAg
ICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48
c3BhbiBjbGFzcz0iayI+dHlwZW9mPC9zcGFuPiBjbnQgPHNwYW4gY2xhc3M9ImsiPiE9PTwvc3Bh
bj4gPHNwYW4gY2xhc3M9InMiPiJ1bmRlZmluZWQiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pPC9z
cGFuPiByZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj52YWx1ZSA8c3BhbiBjbGFzcz0iayI+PTwv
c3Bhbj4gY250PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0ibWlz
cyI+IDx0ZCBjbGFzcz0ibGluZSI+MzM5PC90ZD48dGQgY2xhc3M9ImhpdHMiPjA8L3RkPjx0ZCBj
bGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+ZWxzZTwvc3Bhbj4gZXJy
b3I8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0icyI+Ik5vIHZhbHVlIGZvciBj
b25zdCI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9
ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MzQwPC90ZD48dGQgY2xhc3M9ImhpdHMiPjEyPC90ZD48
dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwv
c3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjM0MTwvdGQ+
PHRkIGNsYXNzPSJoaXRzIj4xMjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIGNv
bnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5PVEhFUjxzcGFuIGNsYXNzPSJrIj4sPC9zcGFu
PiA8c3BhbiBjbGFzcz0icyI+IjsiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3Bh
biBjbGFzcz0iayI+fHw8L3NwYW4+IGVycm9yPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4g
Y2xhc3M9InMiPiJVbnRlcm1pbmF0ZWQgY29uc3QiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwv
c3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjM0MjwvdGQ+
PHRkIGNsYXNzPSJoaXRzIj4xMjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxz
cGFuIGNsYXNzPSJrIj5yZXR1cm48L3NwYW4+IHJldDxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwv
dGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj4zNDM8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90
ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48c3Bh
biBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+MzQ0PC90
ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPC90ZD48
L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4zNDU8L3RkPjx0ZCBjbGFzcz0i
aGl0cyI+NDc8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj52
YXI8L3NwYW4+IGluaGVyaXRhbmNlIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFz
cz0iayI+ZnVuY3Rpb248L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oKTwvc3Bhbj4gPHNwYW4gY2xh
c3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5l
Ij4zNDY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+ODk8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAg
ICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xh
c3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MzQ3PC90ZD48dGQgY2xhc3M9ImhpdHMiPjg5PC90
ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFu
PiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5jb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+
T1RIRVI8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiI6Ijwvc3Bhbj48
c3BhbiBjbGFzcz0iayI+KSk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90
cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MzQ4PC90ZD48dGQgY2xhc3M9Imhp
dHMiPjk8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgYWxsX3dzPHNwYW4g
Y2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9
ImxpbmUiPjM0OTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj45PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+
ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IGluaCA8c3BhbiBjbGFz
cz0iayI+PTwvc3Bhbj4gY29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPklEPHNwYW4gY2xh
c3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj58fDwvc3Bhbj4gZXJyb3IgPHNwYW4gY2xh
c3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9InMiPiJObyB0eXBlIGluIGluaGVyaXRhbmNlIjwv
c3Bhbj48c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4g
PHRkIGNsYXNzPSJsaW5lIj4zNTA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+OTwvdGQ+PHRkIGNsYXNz
PSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+cmV0dXJuPC9zcGFuPiBp
bmg8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj52YWx1ZTxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwv
dGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj4zNTE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90
ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+
PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjM1MjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48
L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjxz
cGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj4zNTM8
L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8L3Rk
PjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjM1NDwvdGQ+PHRkIGNsYXNz
PSJoaXRzIj40NzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9Imsi
PnZhcjwvc3Bhbj4gb3BlcmF0aW9uX3Jlc3QgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFu
IGNsYXNzPSJrIj5mdW5jdGlvbjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+cmV0PHNw
YW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48
dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MzU1PC90ZD48dGQgY2xhc3M9ImhpdHMi
PjU2PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9
ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUi
PjM1NjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj41NzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAg
ICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPighPC9zcGFu
PnJldDxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiByZXQgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+
IDxzcGFuIGNsYXNzPSJrIj57fTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwv
dHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjM1NzwvdGQ+PHRkIGNsYXNzPSJo
aXRzIj41NjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJr
Ij52YXI8L3NwYW4+IG5hbWUgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IGNvbnN1bWU8c3BhbiBj
bGFzcz0iayI+KDwvc3Bhbj5JRDxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRy
IGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjM1ODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj41
NjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIHJldDxzcGFuIGNsYXNzPSJrIj4u
PC9zcGFuPm5hbWUgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IG5hbWUgPHNwYW4gY2xhc3M9Imsi
Pj88L3NwYW4+IG5hbWU8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj52YWx1ZSA8c3BhbiBjbGFzcz0i
ayI+Ojwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPm51bGw8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8
L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4zNTk8L3Rk
Pjx0ZCBjbGFzcz0iaGl0cyI+NTY8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICBh
bGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+
IDx0ZCBjbGFzcz0ibGluZSI+MzYwPC90ZD48dGQgY2xhc3M9ImhpdHMiPjU2PC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+ICAgICAgICAgICAgY29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPk9U
SEVSPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iKCI8L3NwYW4+PHNw
YW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj58fDwvc3Bhbj4gZXJyb3I8c3Bh
biBjbGFzcz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0icyI+IkludmFsaWQgb3BlcmF0aW9uIjwv
c3Bhbj48c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4g
PHRkIGNsYXNzPSJsaW5lIj4zNjE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NTY8L3RkPjx0ZCBjbGFz
cz0ic291cmNlIj4gICAgICAgICAgICByZXQ8c3BhbiBjbGFzcz0iayI+Wzwvc3Bhbj48c3BhbiBj
bGFzcz0icyI+ImFyZ3VtZW50cyI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPl08L3NwYW4+IDxzcGFu
IGNsYXNzPSJrIj49PC9zcGFuPiBhcmd1bWVudF9saXN0PHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bh
bj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjM2MjwvdGQ+PHRk
IGNsYXNzPSJoaXRzIj41NjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIGFsbF93
czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRk
IGNsYXNzPSJsaW5lIj4zNjM8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NTY8L3RkPjx0ZCBjbGFzcz0i
c291cmNlIj4gICAgICAgICAgICBjb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+T1RIRVI8
c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiIpIjwvc3Bhbj48c3BhbiBj
bGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnx8PC9zcGFuPiBlcnJvcjxzcGFuIGNs
YXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4iVW50ZXJtaW5hdGVkIG9wZXJhdGlvbiI8
L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+
IDx0ZCBjbGFzcz0ibGluZSI+MzY0PC90ZD48dGQgY2xhc3M9ImhpdHMiPjU2PC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+ICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48
L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjM2NTwvdGQ+PHRkIGNs
YXNzPSJoaXRzIj41NjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIGNvbnN1bWU8
c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5PVEhFUjxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3Bh
biBjbGFzcz0icyI+IjsiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFz
cz0iayI+fHw8L3NwYW4+IGVycm9yPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9
InMiPiJVbnRlcm1pbmF0ZWQgb3BlcmF0aW9uIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTs8L3Nw
YW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4zNjY8L3RkPjx0
ZCBjbGFzcz0iaGl0cyI+NTY8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3Bh
biBjbGFzcz0iayI+cmV0dXJuPC9zcGFuPiByZXQ8c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3Rk
PjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+MzY3PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+
PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PHNwYW4g
Y2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjM2ODwvdGQ+
PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDwvdGQ+PC90
cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MzY5PC90ZD48dGQgY2xhc3M9Imhp
dHMiPjQ3PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFy
PC9zcGFuPiBjYWxsYmFjayA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9Imsi
PmZ1bmN0aW9uPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KCk8L3NwYW4+IDxzcGFuIGNsYXNzPSJr
Ij57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+Mzcw
PC90ZD48dGQgY2xhc3M9ImhpdHMiPjE0NDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAg
ICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0i
aGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4zNzE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTQ0PC90ZD48
dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4g
cmV0PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRk
IGNsYXNzPSJsaW5lIj4zNzI8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+Mjg2PC90ZD48dGQgY2xhc3M9
InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFz
cz0iayI+KCE8L3NwYW4+Y29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPklEPHNwYW4gY2xh
c3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iY2FsbGJhY2siPC9zcGFuPjxzcGFuIGNs
YXNzPSJrIj4pKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnJldHVybjwvc3Bhbj48c3BhbiBjbGFz
cz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUi
PjM3MzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAg
ICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNz
PSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjM3NDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yPC90ZD48
dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4g
dG9rIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiBjb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3Nw
YW4+SUQ8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJpbnRlcmZhY2Ui
PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQi
PiA8dGQgY2xhc3M9ImxpbmUiPjM3NTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yPC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBj
bGFzcz0iayI+KDwvc3Bhbj50b2s8c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9
ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4z
NzY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAg
ICAgICAgICB0b2tlbnM8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj51bnNoaWZ0PHNwYW4gY2xhc3M9
ImsiPig8L3NwYW4+dG9rPHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xh
c3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+Mzc3PC90ZD48dGQgY2xhc3M9ImhpdHMiPjE8L3Rk
Pjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgcmV0IDxzcGFuIGNsYXNzPSJrIj49
PC9zcGFuPiBpbnRlcmZhY2VfPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRy
IGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjM3ODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4x
PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIHJldDxzcGFuIGNsYXNzPSJr
Ij4uPC9zcGFuPnR5cGUgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4i
Y2FsbGJhY2sgaW50ZXJmYWNlIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwv
dHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjM3OTwvdGQ+PHRkIGNsYXNzPSJo
aXRzIj4xPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNz
PSJrIj5yZXR1cm48L3NwYW4+IHJldDxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48
dHI+PHRkIGNsYXNzPSJsaW5lIj4zODA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PC90ZD48L3Ry
Pjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4zODE8L3RkPjx0ZCBjbGFzcz0iaGl0
cyI+MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj52
YXI8L3NwYW4+IG5hbWUgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IGNvbnN1bWU8c3BhbiBjbGFz
cz0iayI+KDwvc3Bhbj5JRDxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+
fHw8L3NwYW4+IGVycm9yPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9InMiPiJO
byBuYW1lIGZvciBjYWxsYmFjayI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+
PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MzgyPC90ZD48dGQgY2xhc3M9
ImhpdHMiPjE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICByZXQgPHNwYW4gY2xh
c3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPiB0eXBlPHNwYW4gY2xhc3M9
ImsiPjo8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iY2FsbGJhY2siPC9zcGFuPjxzcGFuIGNsYXNz
PSJrIj4sPC9zcGFuPiBuYW1lPHNwYW4gY2xhc3M9ImsiPjo8L3NwYW4+IG5hbWU8c3BhbiBjbGFz
cz0iayI+Ljwvc3Bhbj52YWx1ZSA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48c3BhbiBjbGFzcz0i
ayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjM4
MzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAg
ICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJo
aXQiPiA8dGQgY2xhc3M9ImxpbmUiPjM4NDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xPC90ZD48dGQg
Y2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgY29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFu
Pk9USEVSPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iPSI8L3NwYW4+
PHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj58fDwvc3Bhbj4gZXJyb3I8
c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0icyI+Ik5vIGFzc2lnbm1lbnQgaW4g
Y2FsbGJhY2siPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNs
YXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjM4NTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xPC90
ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigp
Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjM4Njwv
dGQ+PHRkIGNsYXNzPSJoaXRzIj4xPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAg
cmV0PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+aWRsVHlwZSA8c3BhbiBjbGFzcz0iayI+PTwvc3Bh
bj4gcmV0dXJuX3R5cGU8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xh
c3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+Mzg3PC90ZD48dGQgY2xhc3M9ImhpdHMiPjE8L3Rk
Pjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7
PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+Mzg4PC90
ZD48dGQgY2xhc3M9ImhpdHMiPjE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICBj
b25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+T1RIRVI8c3BhbiBjbGFzcz0iayI+LDwvc3Bh
bj4gPHNwYW4gY2xhc3M9InMiPiIoIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNw
YW4gY2xhc3M9ImsiPnx8PC9zcGFuPiBlcnJvcjxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFu
IGNsYXNzPSJzIj4iTm8gYXJndW1lbnRzIGluIGNhbGxiYWNrIjwvc3Bhbj48c3BhbiBjbGFzcz0i
ayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4z
ODk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAg
ICAgIHJldDxzcGFuIGNsYXNzPSJrIj5bPC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4iYXJndW1lbnRz
Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+XTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+
IGFyZ3VtZW50X2xpc3Q8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xh
c3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MzkwPC90ZD48dGQgY2xhc3M9ImhpdHMiPjE8L3Rk
Pjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7
PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MzkxPC90
ZD48dGQgY2xhc3M9ImhpdHMiPjE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICBj
b25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+T1RIRVI8c3BhbiBjbGFzcz0iayI+LDwvc3Bh
bj4gPHNwYW4gY2xhc3M9InMiPiIpIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNw
YW4gY2xhc3M9ImsiPnx8PC9zcGFuPiBlcnJvcjxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFu
IGNsYXNzPSJzIj4iVW50ZXJtaW5hdGVkIGNhbGxiYWNrIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+
KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4zOTI8
L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAg
IGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0
Ij4gPHRkIGNsYXNzPSJsaW5lIj4zOTM8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTwvdGQ+PHRkIGNs
YXNzPSJzb3VyY2UiPiAgICAgICAgICAgIGNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5P
VEhFUjxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+IjsiPC9zcGFuPjxz
cGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+fHw8L3NwYW4+IGVycm9yPHNw
YW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9InMiPiJVbnRlcm1pbmF0ZWQgY2FsbGJh
Y2siPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJo
aXQiPiA8dGQgY2xhc3M9ImxpbmUiPjM5NDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xPC90ZD48dGQg
Y2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnJldHVybjwvc3Bhbj4g
cmV0PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUi
PjM5NTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAg
IDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90
cj48dHI+PHRkIGNsYXNzPSJsaW5lIj4zOTY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQg
Y2xhc3M9InNvdXJjZSI+IDwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGlu
ZSI+Mzk3PC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ3PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAg
ICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiBhdHRyaWJ1dGUgPHNwYW4gY2xhc3M9Imsi
Pj08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5mdW5jdGlvbjwvc3Bhbj4gPHNwYW4gY2xhc3M9Imsi
PigpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJo
aXQiPiA8dGQgY2xhc3M9ImxpbmUiPjM5ODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xNTQ8L3RkPjx0
ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9z
cGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+Mzk5PC90ZD48
dGQgY2xhc3M9ImhpdHMiPjE1NDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxz
cGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IGdyYWJiZWQgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+
IDxzcGFuIGNsYXNzPSJrIj5bXTwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+
NDAwPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAg
ICAgIDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiAgIHJldCA8c3BhbiBjbGFzcz0iayI+PTwvc3Bh
bj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUi
PjQwMTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAg
ICAgICAgICAgdHlwZTxzcGFuIGNsYXNzPSJrIj46PC9zcGFuPiAgICAgICAgICAgPHNwYW4gY2xh
c3M9InMiPiJhdHRyaWJ1dGUiPC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj40
MDI8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAg
ICAgPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+ICAgPHNwYW4gY2xhc3M9InMiPiJzdGF0aWMiPC9z
cGFuPjxzcGFuIGNsYXNzPSJrIj46PC9zcGFuPiAgICAgICA8c3BhbiBjbGFzcz0iayI+ZmFsc2U8
L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjQwMzwvdGQ+PHRkIGNsYXNzPSJo
aXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+
LDwvc3Bhbj4gICBzdHJpbmdpZmllcjxzcGFuIGNsYXNzPSJrIj46PC9zcGFuPiAgICA8c3BhbiBj
bGFzcz0iayI+ZmFsc2U8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjQwNDwv
dGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8
c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gICBpbmhlcml0PHNwYW4gY2xhc3M9ImsiPjo8L3NwYW4+
ICAgICAgICA8c3BhbiBjbGFzcz0iayI+ZmFsc2U8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xh
c3M9ImxpbmUiPjQwNTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNl
Ij4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gICByZWFkb25seTxzcGFuIGNs
YXNzPSJrIj46PC9zcGFuPiAgICAgICA8c3BhbiBjbGFzcz0iayI+ZmFsc2U8L3NwYW4+PC90ZD48
L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjQwNjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0
ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48c3Bh
biBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9
ImxpbmUiPjQwNzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xNTQ8L3RkPjx0ZCBjbGFzcz0ic291cmNl
Ij4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4o
PC9zcGFuPmNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5JRDxzcGFuIGNsYXNzPSJrIj4s
PC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+InN0YXRpYyI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPikp
PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQi
PiA8dGQgY2xhc3M9ImxpbmUiPjQwODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yPC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIHJldDxzcGFuIGNsYXNzPSJrIj5bPC9zcGFuPjxz
cGFuIGNsYXNzPSJzIj4ic3RhdGljIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+XTwvc3Bhbj4gPHNw
YW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj50cnVlPC9zcGFuPjxzcGFuIGNs
YXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGlu
ZSI+NDA5PC90ZD48dGQgY2xhc3M9ImhpdHMiPjI8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAg
ICAgICAgICAgICAgZ3JhYmJlZDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnB1c2g8c3BhbiBjbGFz
cz0iayI+KDwvc3Bhbj5sYXN0X3Rva2VuPHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90
cj48dHI+PHRkIGNsYXNzPSJsaW5lIj40MTA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQg
Y2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PC90ZD48
L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj40MTE8L3RkPjx0ZCBjbGFzcz0i
aGl0cyI+MTUyPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9
ImsiPmVsc2U8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9Imsi
Pig8L3NwYW4+Y29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPklEPHNwYW4gY2xhc3M9Imsi
Piw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4ic3RyaW5naWZpZXIiPC9zcGFuPjxzcGFuIGNsYXNz
PSJrIj4pKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFz
cz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj40MTI8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDwvdGQ+
PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICByZXQ8c3BhbiBjbGFzcz0iayI+Ljwv
c3Bhbj5zdHJpbmdpZmllciA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9Imsi
PnRydWU8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0i
aGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj40MTM8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDwvdGQ+PHRk
IGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICBncmFiYmVkPHNwYW4gY2xhc3M9ImsiPi48
L3NwYW4+cHVzaDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPmxhc3RfdG9rZW48c3BhbiBjbGFzcz0i
ayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjQxNDwvdGQ+PHRkIGNs
YXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFz
cz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUi
PjQxNTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xNTQ8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAg
ICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiB3IDxzcGFuIGNsYXNzPSJrIj49PC9z
cGFuPiBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9
ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NDE2PC90ZD48dGQgY2xhc3M9ImhpdHMiPjE1OTwvdGQ+
PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4g
PHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+dzxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiBncmFiYmVk
PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+cHVzaDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPnc8c3Bh
biBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNz
PSJsaW5lIj40MTc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTU0PC90ZD48dGQgY2xhc3M9InNvdXJj
ZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+
KDwvc3Bhbj5jb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+SUQ8c3BhbiBjbGFzcz0iayI+
LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJpbmhlcml0Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+
KSk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9Imhp
dCI+IDx0ZCBjbGFzcz0ibGluZSI+NDE4PC90ZD48dGQgY2xhc3M9ImhpdHMiPjE8L3RkPjx0ZCBj
bGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8
c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5yZXQ8c3BhbiBjbGFzcz0iayI+Wzwvc3Bhbj48c3BhbiBj
bGFzcz0icyI+InN0YXRpYyI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPl08L3NwYW4+IDxzcGFuIGNs
YXNzPSJrIj58fDwvc3Bhbj4gcmV0PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+c3RyaW5naWZpZXI8
c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gZXJyb3I8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3Bh
biBjbGFzcz0icyI+IkNhbm5vdCBoYXZlIGEgc3RhdGljIG9yIHN0cmluZ2lmaWVyIGluaGVyaXQi
PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQi
PiA8dGQgY2xhc3M9ImxpbmUiPjQxOTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xPC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIHJldDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPmlu
aGVyaXQgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj50cnVlPC9zcGFu
PjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBj
bGFzcz0ibGluZSI+NDIwPC90ZD48dGQgY2xhc3M9ImhpdHMiPjE8L3RkPjx0ZCBjbGFzcz0ic291
cmNlIj4gICAgICAgICAgICAgICAgZ3JhYmJlZDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnB1c2g8
c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5sYXN0X3Rva2VuPHNwYW4gY2xhc3M9ImsiPik7PC9zcGFu
PjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NDIxPC90ZD48dGQg
Y2xhc3M9ImhpdHMiPjE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgPHNw
YW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gdyA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gYWxsX3dz
PHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQg
Y2xhc3M9ImxpbmUiPjQyMjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yPC90ZD48dGQgY2xhc3M9InNv
dXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xh
c3M9ImsiPig8L3NwYW4+dzxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiBncmFiYmVkPHNwYW4gY2xh
c3M9ImsiPi48L3NwYW4+cHVzaDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPnc8c3BhbiBjbGFzcz0i
ayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjQyMzwvdGQ+PHRkIGNs
YXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFz
cz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUi
PjQyNDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xNTQ8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAg
ICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFu
PmNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5JRDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFu
PiA8c3BhbiBjbGFzcz0icyI+InJlYWRvbmx5Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KSk8L3Nw
YW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0
ZCBjbGFzcz0ibGluZSI+NDI1PC90ZD48dGQgY2xhc3M9ImhpdHMiPjMyPC90ZD48dGQgY2xhc3M9
InNvdXJjZSI+ICAgICAgICAgICAgICAgIHJldDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnJlYWRv
bmx5IDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+dHJ1ZTwvc3Bhbj48
c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xh
c3M9ImxpbmUiPjQyNjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4zMjwvdGQ+PHRkIGNsYXNzPSJzb3Vy
Y2UiPiAgICAgICAgICAgICAgICBncmFiYmVkPHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+cHVzaDxz
cGFuIGNsYXNzPSJrIj4oPC9zcGFuPmxhc3RfdG9rZW48c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+
PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj40Mjc8L3RkPjx0ZCBj
bGFzcz0iaGl0cyI+MzI8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgPHNw
YW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gdyA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gYWxsX3dz
PHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQg
Y2xhc3M9ImxpbmUiPjQyODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj42NDwvdGQ+PHRkIGNsYXNzPSJz
b3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNs
YXNzPSJrIj4oPC9zcGFuPnc8c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gZ3JhYmJlZDxzcGFuIGNs
YXNzPSJrIj4uPC9zcGFuPnB1c2g8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj53PHNwYW4gY2xhc3M9
ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj40Mjk8L3RkPjx0ZCBj
bGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xh
c3M9ImsiPn08L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5l
Ij40MzA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTU0PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAg
ICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KCE8L3Nw
YW4+Y29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPklEPHNwYW4gY2xhc3M9ImsiPiw8L3Nw
YW4+IDxzcGFuIGNsYXNzPSJzIj4iYXR0cmlidXRlIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KSk8
L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+
IDx0ZCBjbGFzcz0ibGluZSI+NDMxPC90ZD48dGQgY2xhc3M9ImhpdHMiPjYwPC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIHRva2VucyA8c3BhbiBjbGFzcz0iayI+PTwvc3Bh
bj4gZ3JhYmJlZDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPmNvbmNhdDxzcGFuIGNsYXNzPSJrIj4o
PC9zcGFuPnRva2VuczxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNz
PSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjQzMjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj42MDwvdGQ+
PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+cmV0dXJu
PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJs
aW5lIj40MzM8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAg
ICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0
Ij4gPHRkIGNsYXNzPSJsaW5lIj40MzQ8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+OTQ8L3RkPjx0ZCBj
bGFzcz0ic291cmNlIj4gICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFu
PjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NDM1PC90ZD48dGQg
Y2xhc3M9ImhpdHMiPjk0PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgcmV0PHNw
YW4gY2xhc3M9ImsiPi48L3NwYW4+aWRsVHlwZSA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gdHlw
ZTxzcGFuIGNsYXNzPSJrIj4oKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnx8PC9zcGFuPiBlcnJv
cjxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4iTm8gdHlwZSBpbiBhdHRy
aWJ1dGUiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNz
PSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjQzNjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj45NDwvdGQ+
PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4g
PHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+cmV0PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+aWRsVHlw
ZTxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnNlcXVlbmNlPHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+
IGVycm9yPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9InMiPiJBdHRyaWJ1dGVz
IGNhbm5vdCBhY2NlcHQgc2VxdWVuY2UgdHlwZXMiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwv
c3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjQzNzwvdGQ+
PHRkIGNsYXNzPSJoaXRzIj45NDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIGFs
bF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4g
PHRkIGNsYXNzPSJsaW5lIj40Mzg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+OTQ8L3RkPjx0ZCBjbGFz
cz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiBuYW1lIDxz
cGFuIGNsYXNzPSJrIj49PC9zcGFuPiBjb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+SUQ8
c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnx8PC9zcGFuPiBlcnJvcjxz
cGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4iTm8gbmFtZSBpbiBhdHRyaWJ1
dGUiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJo
aXQiPiA8dGQgY2xhc3M9ImxpbmUiPjQzOTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj45NDwvdGQ+PHRk
IGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIHJldDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPm5h
bWUgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IG5hbWU8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj52
YWx1ZTxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0
ZCBjbGFzcz0ibGluZSI+NDQwPC90ZD48dGQgY2xhc3M9ImhpdHMiPjk0PC90ZD48dGQgY2xhc3M9
InNvdXJjZSI+ICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3Rk
PjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjQ0MTwvdGQ+PHRkIGNsYXNz
PSJoaXRzIj45NDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIGNvbnN1bWU8c3Bh
biBjbGFzcz0iayI+KDwvc3Bhbj5PVEhFUjxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBj
bGFzcz0icyI+IjsiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0i
ayI+fHw8L3NwYW4+IGVycm9yPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9InMi
PiJVbnRlcm1pbmF0ZWQgYXR0cmlidXRlIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+
PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj40NDI8L3RkPjx0ZCBj
bGFzcz0iaGl0cyI+OTQ8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBj
bGFzcz0iayI+cmV0dXJuPC9zcGFuPiByZXQ8c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwv
dHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NDQzPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRk
IGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PHNwYW4gY2xh
c3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjQ0NDwvdGQ+PHRk
IGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDwvdGQ+PC90cj48
dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NDQ1PC90ZD48dGQgY2xhc3M9ImhpdHMi
PjQ3PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9z
cGFuPiByZXR1cm5fdHlwZSA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9Imsi
PmZ1bmN0aW9uPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KCk8L3NwYW4+IDxzcGFuIGNsYXNzPSJr
Ij57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NDQ2
PC90ZD48dGQgY2xhc3M9ImhpdHMiPjYxPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAg
ICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gdHlwIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFu
PiB0eXBlPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQi
PiA8dGQgY2xhc3M9ImxpbmUiPjQ0NzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj42MTwvdGQ+PHRkIGNs
YXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4g
Y2xhc3M9ImsiPighPC9zcGFuPnR5cDxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFz
cz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJtaXNzIj4gPHRkIGNsYXNzPSJsaW5l
Ij40NDg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAg
ICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9z
cGFuPmNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5JRDxzcGFuIGNsYXNzPSJrIj4sPC9z
cGFuPiA8c3BhbiBjbGFzcz0icyI+InZvaWQiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pKTwvc3Bh
bj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0ibWlzcyI+IDx0
ZCBjbGFzcz0ibGluZSI+NDQ5PC90ZD48dGQgY2xhc3M9ImhpdHMiPjA8L3RkPjx0ZCBjbGFzcz0i
c291cmNlIj4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5yZXR1cm48L3NwYW4+
IDxzcGFuIGNsYXNzPSJzIj4idm9pZCI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90
ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjQ1MDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3Rk
Pjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3Nw
YW4+PC90ZD48L3RyPjx0ciBjbGFzcz0ibWlzcyI+IDx0ZCBjbGFzcz0ibGluZSI+NDUxPC90ZD48
dGQgY2xhc3M9ImhpdHMiPjA8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAg
PHNwYW4gY2xhc3M9ImsiPmVsc2U8L3NwYW4+IGVycm9yPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+
PHNwYW4gY2xhc3M9InMiPiJObyByZXR1cm4gdHlwZSI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7
PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj40NTI8L3RkPjx0ZCBjbGFzcz0i
aGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9Imsi
Pn08L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj40NTM8
L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NjE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAg
ICA8c3BhbiBjbGFzcz0iayI+cmV0dXJuPC9zcGFuPiB0eXA8c3BhbiBjbGFzcz0iayI+Ozwvc3Bh
bj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NDU0PC90ZD48dGQgY2xhc3M9ImhpdHMi
PjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+
PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjQ1
NTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDwv
dGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NDU2PC90ZD48dGQgY2xh
c3M9ImhpdHMiPjQ3PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFzcz0i
ayI+dmFyPC9zcGFuPiBvcGVyYXRpb24gPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNs
YXNzPSJrIj5mdW5jdGlvbjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPigpPC9zcGFuPiA8c3BhbiBj
bGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9Imxp
bmUiPjQ1NzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj42MDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAg
ICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBj
bGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj40NTg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NjA8
L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9z
cGFuPiByZXQgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFu
PjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj40NTk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+
PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIHR5cGU8c3BhbiBjbGFzcz0i
ayI+Ojwvc3Bhbj4gICAgICAgICAgIDxzcGFuIGNsYXNzPSJzIj4ib3BlcmF0aW9uIjwvc3Bhbj48
L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NDYwPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwv
dGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFu
PiAgIGdldHRlcjxzcGFuIGNsYXNzPSJrIj46PC9zcGFuPiAgICAgICAgIDxzcGFuIGNsYXNzPSJr
Ij5mYWxzZTwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NDYxPC90ZD48dGQg
Y2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNs
YXNzPSJrIj4sPC9zcGFuPiAgIHNldHRlcjxzcGFuIGNsYXNzPSJrIj46PC9zcGFuPiAgICAgICAg
IDxzcGFuIGNsYXNzPSJrIj5mYWxzZTwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGlu
ZSI+NDYyPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAg
ICAgICAgIDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiAgIGNyZWF0b3I8c3BhbiBjbGFzcz0iayI+
Ojwvc3Bhbj4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj5mYWxzZTwvc3Bhbj48L3RkPjwvdHI+PHRy
Pjx0ZCBjbGFzcz0ibGluZSI+NDYzPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNz
PSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiAgIGRlbGV0ZXI8
c3BhbiBjbGFzcz0iayI+Ojwvc3Bhbj4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj5mYWxzZTwvc3Bh
bj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NDY0PC90ZD48dGQgY2xhc3M9ImhpdHMi
PjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj4sPC9z
cGFuPiAgIGxlZ2FjeWNhbGxlcjxzcGFuIGNsYXNzPSJrIj46PC9zcGFuPiAgIDxzcGFuIGNsYXNz
PSJrIj5mYWxzZTwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NDY1PC90ZD48
dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFu
IGNsYXNzPSJrIj4sPC9zcGFuPiAgIDxzcGFuIGNsYXNzPSJzIj4ic3RhdGljIjwvc3Bhbj48c3Bh
biBjbGFzcz0iayI+Ojwvc3Bhbj4gICAgICAgPHNwYW4gY2xhc3M9ImsiPmZhbHNlPC9zcGFuPjwv
dGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj40NjY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90
ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+
ICAgc3RyaW5naWZpZXI8c3BhbiBjbGFzcz0iayI+Ojwvc3Bhbj4gICAgPHNwYW4gY2xhc3M9Imsi
PmZhbHNlPC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj40Njc8L3RkPjx0ZCBj
bGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xh
c3M9ImsiPn08L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFz
cz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj40Njg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NjA8L3Rk
Pjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+d2hpbGU8L3Nw
YW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj50cnVlPC9zcGFuPjxz
cGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+
PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjQ2OTwvdGQ+PHRkIGNsYXNzPSJoaXRz
Ij43ODwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICBhbGxfd3M8c3BhbiBj
bGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0i
bGluZSI+NDcwPC90ZD48dGQgY2xhc3M9ImhpdHMiPjg3PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+
ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9Imsi
Pig8L3NwYW4+Y29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPklEPHNwYW4gY2xhc3M9Imsi
Piw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iZ2V0dGVyIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+
KSk8L3NwYW4+IHJldDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPmdldHRlciA8c3BhbiBjbGFzcz0i
ayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnRydWU8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8
L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj40NzE8L3Rk
Pjx0ZCBjbGFzcz0iaGl0cyI+NzQ8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAg
ICAgPHNwYW4gY2xhc3M9ImsiPmVsc2U8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4g
PHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+Y29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPklE
PHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4ic2V0dGVyIjwvc3Bhbj48
c3BhbiBjbGFzcz0iayI+KSk8L3NwYW4+IHJldDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnNldHRl
ciA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnRydWU8L3NwYW4+PHNw
YW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNz
PSJsaW5lIj40NzI8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NjU8L3RkPjx0ZCBjbGFzcz0ic291cmNl
Ij4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmVsc2U8L3NwYW4+IDxzcGFuIGNsYXNz
PSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+Y29uc3VtZTxzcGFuIGNsYXNz
PSJrIj4oPC9zcGFuPklEPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4i
Y3JlYXRvciI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPikpPC9zcGFuPiByZXQ8c3BhbiBjbGFzcz0i
ayI+Ljwvc3Bhbj5jcmVhdG9yIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0i
ayI+dHJ1ZTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNz
PSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjQ3MzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj42NTwvdGQ+
PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+ZWxzZTwv
c3Bhbj4gPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5j
b25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+SUQ8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4g
PHNwYW4gY2xhc3M9InMiPiJkZWxldGVyIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KSk8L3NwYW4+
IHJldDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPmRlbGV0ZXIgPHNwYW4gY2xhc3M9ImsiPj08L3Nw
YW4+IDxzcGFuIGNsYXNzPSJrIj50cnVlPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwv
dGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NDc0PC90ZD48dGQgY2xh
c3M9ImhpdHMiPjYyPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFu
IGNsYXNzPSJrIj5lbHNlPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNs
YXNzPSJrIj4oPC9zcGFuPmNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5JRDxzcGFuIGNs
YXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+ImxlZ2FjeWNhbGxlciI8L3NwYW4+PHNw
YW4gY2xhc3M9ImsiPikpPC9zcGFuPiByZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5sZWdhY3lj
YWxsZXIgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj50cnVlPC9zcGFu
PjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBj
bGFzcz0ibGluZSI+NDc1PC90ZD48dGQgY2xhc3M9ImhpdHMiPjYwPC90ZD48dGQgY2xhc3M9InNv
dXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5lbHNlPC9zcGFuPiA8c3BhbiBj
bGFzcz0iayI+YnJlYWs8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0
cj48dGQgY2xhc3M9ImxpbmUiPjQ3NjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFz
cz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+
PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjQ3NzwvdGQ+PHRkIGNsYXNzPSJoaXRz
Ij42MDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5p
Zjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+cmV0PHNwYW4gY2xhc3M9ImsiPi48L3Nw
YW4+Z2V0dGVyIDxzcGFuIGNsYXNzPSJrIj58fDwvc3Bhbj4gcmV0PHNwYW4gY2xhc3M9ImsiPi48
L3NwYW4+c2V0dGVyIDxzcGFuIGNsYXNzPSJrIj58fDwvc3Bhbj4gcmV0PHNwYW4gY2xhc3M9Imsi
Pi48L3NwYW4+Y3JlYXRvciA8c3BhbiBjbGFzcz0iayI+fHw8L3NwYW4+IHJldDxzcGFuIGNsYXNz
PSJrIj4uPC9zcGFuPmRlbGV0ZXIgPHNwYW4gY2xhc3M9ImsiPnx8PC9zcGFuPiByZXQ8c3BhbiBj
bGFzcz0iayI+Ljwvc3Bhbj5sZWdhY3ljYWxsZXI8c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNw
YW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNz
PSJsaW5lIj40Nzg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTc8L3RkPjx0ZCBjbGFzcz0ic291cmNl
Ij4gICAgICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwv
dHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjQ3OTwvdGQ+PHRkIGNsYXNzPSJo
aXRzIj4xNzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICByZXQ8c3BhbiBj
bGFzcz0iayI+Ljwvc3Bhbj5pZGxUeXBlIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiByZXR1cm5f
dHlwZTxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4g
PHRkIGNsYXNzPSJsaW5lIj40ODA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTc8L3RkPjx0ZCBjbGFz
cz0ic291cmNlIj4gICAgICAgICAgICAgICAgb3BlcmF0aW9uX3Jlc3Q8c3BhbiBjbGFzcz0iayI+
KDwvc3Bhbj5yZXQ8c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0i
aGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj40ODE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTc8L3RkPjx0
ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnJldHVybjwv
c3Bhbj4gcmV0PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9
ImxpbmUiPjQ4MjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4g
ICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJo
aXQiPiA8dGQgY2xhc3M9ImxpbmUiPjQ4MzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40MzwvdGQ+PHRk
IGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNw
YW4gY2xhc3M9ImsiPig8L3NwYW4+Y29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPklEPHNw
YW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4ic3RhdGljIjwvc3Bhbj48c3Bh
biBjbGFzcz0iayI+KSk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48
dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NDg0PC90ZD48dGQgY2xhc3M9ImhpdHMi
PjE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgcmV0PHNwYW4gY2xhc3M9
ImsiPls8L3NwYW4+PHNwYW4gY2xhc3M9InMiPiJzdGF0aWMiPC9zcGFuPjxzcGFuIGNsYXNzPSJr
Ij5dPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnRydWU8
L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4g
PHRkIGNsYXNzPSJsaW5lIj40ODU8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTwvdGQ+PHRkIGNsYXNz
PSJzb3VyY2UiPiAgICAgICAgICAgICAgICByZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5pZGxU
eXBlIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiByZXR1cm5fdHlwZTxzcGFuIGNsYXNzPSJrIj4o
KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj40ODY8
L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAg
ICAgICBvcGVyYXRpb25fcmVzdDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPnJldDxzcGFuIGNsYXNz
PSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUi
PjQ4NzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAg
ICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5yZXR1cm48L3NwYW4+IHJldDxzcGFuIGNsYXNzPSJr
Ij47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj40ODg8L3RkPjx0ZCBjbGFz
cz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9
ImsiPn08L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj40
ODk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDI8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAg
ICAgICA8c3BhbiBjbGFzcz0iayI+ZWxzZTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFu
PiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5jb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+
SUQ8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJzdHJpbmdpZmllciI8
L3NwYW4+PHNwYW4gY2xhc3M9ImsiPikpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48
L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjQ5MDwvdGQ+PHRkIGNs
YXNzPSJoaXRzIj4zPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIHJldDxz
cGFuIGNsYXNzPSJrIj4uPC9zcGFuPnN0cmluZ2lmaWVyIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFu
PiA8c3BhbiBjbGFzcz0iayI+dHJ1ZTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3Rk
PjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjQ5MTwvdGQ+PHRkIGNsYXNz
PSJoaXRzIj4zPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIGFsbF93czxz
cGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNs
YXNzPSJsaW5lIj40OTI8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDwvdGQ+PHRkIGNsYXNzPSJzb3Vy
Y2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNz
PSJrIj4oPC9zcGFuPmNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5PVEhFUjxzcGFuIGNs
YXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+IjsiPC9zcGFuPjxzcGFuIGNsYXNzPSJr
Ij4pKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnJldHVybjwvc3Bhbj4gcmV0PHNwYW4gY2xhc3M9
ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj40
OTM8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAg
ICAgICAgICByZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5pZGxUeXBlIDxzcGFuIGNsYXNzPSJr
Ij49PC9zcGFuPiByZXR1cm5fdHlwZTxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3Ry
Pjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj40OTQ8L3RkPjx0ZCBjbGFzcz0iaGl0
cyI+MjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICBvcGVyYXRpb25fcmVz
dDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPnJldDxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3Rk
PjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjQ5NTwvdGQ+PHRkIGNsYXNz
PSJoaXRzIj4yPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNs
YXNzPSJrIj5yZXR1cm48L3NwYW4+IHJldDxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90
cj48dHI+PHRkIGNsYXNzPSJsaW5lIj40OTY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQg
Y2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PC90ZD48
L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj40OTc8L3RkPjx0ZCBjbGFzcz0i
aGl0cyI+Mzk8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICByZXQ8c3BhbiBjbGFz
cz0iayI+Ljwvc3Bhbj5pZGxUeXBlIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiByZXR1cm5fdHlw
ZTxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRk
IGNsYXNzPSJsaW5lIj40OTg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+Mzk8L3RkPjx0ZCBjbGFzcz0i
c291cmNlIj4gICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+
PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NDk5PC90ZD48dGQgY2xhc3M9
ImhpdHMiPjM5PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9
ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5jb25zdW1lPHNwYW4gY2xhc3M9
ImsiPig8L3NwYW4+SUQ8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJp
dGVyYXRvciI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPikpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+
ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjUwMDwv
dGQ+PHRkIGNsYXNzPSJoaXRzIj40PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAg
ICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0i
aGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj41MDE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDwvdGQ+PHRk
IGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICByZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bh
bj50eXBlIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+Iml0ZXJhdG9y
Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQi
PiA8dGQgY2xhc3M9ImxpbmUiPjUwMjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40PC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNw
YW4gY2xhc3M9ImsiPig8L3NwYW4+Y29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPklEPHNw
YW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4ib2JqZWN0Ijwvc3Bhbj48c3Bh
biBjbGFzcz0iayI+KSk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48
dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NTAzPC90ZD48dGQgY2xhc3M9ImhpdHMi
PjE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAgIHJldDxzcGFuIGNs
YXNzPSJrIj4uPC9zcGFuPml0ZXJhdG9yT2JqZWN0IDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8
c3BhbiBjbGFzcz0icyI+Im9iamVjdCI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90
ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjUwNDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3Rk
Pjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3Nw
YW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj41MDU8L3RkPjx0
ZCBjbGFzcz0iaGl0cyI+MzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8
c3BhbiBjbGFzcz0iayI+ZWxzZTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3Bh
biBjbGFzcz0iayI+KDwvc3Bhbj5jb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+T1RIRVI8
c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiI9Ijwvc3Bhbj48c3BhbiBj
bGFzcz0iayI+KSk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIg
Y2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NTA2PC90ZD48dGQgY2xhc3M9ImhpdHMiPjI8
L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAgIGFsbF93czxzcGFuIGNs
YXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJs
aW5lIj41MDc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAg
ICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gbmFtZSA8c3BhbiBj
bGFzcz0iayI+PTwvc3Bhbj4gY29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPklEPHNwYW4g
Y2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj58fDwvc3Bhbj4gZXJyb3I8c3BhbiBj
bGFzcz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0icyI+Ik5vIHJpZ2h0IGhhbmQgc2lkZSBpbiBp
dGVyYXRvciI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xh
c3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NTA4PC90ZD48dGQgY2xhc3M9ImhpdHMiPjI8L3Rk
Pjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAgIHJldDxzcGFuIGNsYXNzPSJr
Ij4uPC9zcGFuPml0ZXJhdG9yT2JqZWN0IDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiBuYW1lPHNw
YW4gY2xhc3M9ImsiPi48L3NwYW4+dmFsdWU8c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwv
dHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NTA5PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRk
IGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48
L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjUxMDwvdGQ+PHRkIGNs
YXNzPSJoaXRzIj40PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIGFsbF93
czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRk
IGNsYXNzPSJsaW5lIj41MTE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDwvdGQ+PHRkIGNsYXNzPSJz
b3VyY2UiPiAgICAgICAgICAgICAgICBjb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+T1RI
RVI8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiI7Ijwvc3Bhbj48c3Bh
biBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnx8PC9zcGFuPiBlcnJvcjxzcGFu
IGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4iVW50ZXJtaW5hdGVkIGl0ZXJhdG9y
Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0
Ij4gPHRkIGNsYXNzPSJsaW5lIj41MTI8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDwvdGQ+PHRkIGNs
YXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+cmV0dXJuPC9zcGFu
PiByZXQ8c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGlu
ZSI+NTEzPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAg
ICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJs
aW5lIj41MTQ8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAg
ICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmVsc2U8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9z
cGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NTE1PC90ZD48
dGQgY2xhc3M9ImhpdHMiPjM1PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAg
IG9wZXJhdGlvbl9yZXN0PHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+cmV0PHNwYW4gY2xhc3M9Imsi
Pik7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NTE2
PC90ZD48dGQgY2xhc3M9ImhpdHMiPjM1PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAg
ICAgICAgIDxzcGFuIGNsYXNzPSJrIj5yZXR1cm48L3NwYW4+IHJldDxzcGFuIGNsYXNzPSJrIj47
PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj41MTc8L3RkPjx0ZCBjbGFzcz0i
aGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9Imsi
Pn08L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjUxODwvdGQ+PHRkIGNsYXNz
PSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj59
PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJs
aW5lIj41MTk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAg
ICAgICA8L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjUyMDwvdGQ+
PHRkIGNsYXNzPSJoaXRzIj40NzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4g
Y2xhc3M9ImsiPnZhcjwvc3Bhbj4gaWRlbnRpZmllcnMgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+
IDxzcGFuIGNsYXNzPSJrIj5mdW5jdGlvbjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+
YXJyPHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+
PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NTIxPC90ZD48dGQgY2xhc3M9
ImhpdHMiPjU8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0i
ayI+d2hpbGU8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj50
cnVlPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bh
bj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjUyMjwvdGQ+PHRk
IGNsYXNzPSJoaXRzIj4xMTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICBh
bGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+
IDx0ZCBjbGFzcz0ibGluZSI+NTIzPC90ZD48dGQgY2xhc3M9ImhpdHMiPjExPC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNw
YW4gY2xhc3M9ImsiPig8L3NwYW4+Y29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPk9USEVS
PHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iLCI8L3NwYW4+PHNwYW4g
Y2xhc3M9ImsiPikpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRy
IGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjUyNDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj42
PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICBhbGxfd3M8c3BhbiBj
bGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0i
bGluZSI+NTI1PC90ZD48dGQgY2xhc3M9ImhpdHMiPjY8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4g
ICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IG5hbWUgPHNwYW4g
Y2xhc3M9ImsiPj08L3NwYW4+IGNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5JRDxzcGFu
IGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+fHw8L3NwYW4+IGVycm9yPHNwYW4g
Y2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9InMiPiJUcmFpbGluZyBjb21tYSBpbiBpZGVu
dGlmaWVycyBsaXN0Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0
ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj41MjY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+
NjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAgYXJyPHNwYW4gY2xh
c3M9ImsiPi48L3NwYW4+cHVzaDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPm5hbWU8c3BhbiBjbGFz
cz0iayI+Ljwvc3Bhbj52YWx1ZTxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRy
Pjx0ZCBjbGFzcz0ibGluZSI+NTI3PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNz
PSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48L3RkPjwv
dHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjUyODwvdGQ+PHRkIGNsYXNzPSJo
aXRzIj41PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNz
PSJrIj5lbHNlPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+YnJlYWs8L3NwYW4+PHNwYW4gY2xhc3M9
ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjUyOTwvdGQ+PHRkIGNs
YXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFz
cz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NTMwPC90ZD48dGQg
Y2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9
ImsiPn08L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xh
c3M9ImxpbmUiPjUzMTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNl
Ij4gICAgICAgIDwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NTMy
PC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ3PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8
c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiBzZXJpYWxpc2VyIDxzcGFuIGNsYXNzPSJrIj49PC9z
cGFuPiA8c3BhbiBjbGFzcz0iayI+ZnVuY3Rpb248L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oKTwv
c3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4g
PHRkIGNsYXNzPSJsaW5lIj41MzM8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTY0PC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+ICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48
L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjUzNDwvdGQ+PHRkIGNs
YXNzPSJoaXRzIj4zMTg8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBj
bGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oITwvc3Bhbj5jb25zdW1lPHNwYW4g
Y2xhc3M9ImsiPig8L3NwYW4+SUQ8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9
InMiPiJzZXJpYWxpemVyIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KSk8L3NwYW4+IDxzcGFuIGNs
YXNzPSJrIj5yZXR1cm48L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0
ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj41MzU8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+
MTA8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFy
PC9zcGFuPiByZXQgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9z
cGFuPiB0eXBlPHNwYW4gY2xhc3M9ImsiPjo8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4ic2VyaWFs
aXplciI8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9z
cGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NTM2PC90ZD48
dGQgY2xhc3M9ImhpdHMiPjEwPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgYWxs
X3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8
dGQgY2xhc3M9ImxpbmUiPjUzNzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xMDwvdGQ+PHRkIGNsYXNz
PSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xh
c3M9ImsiPig8L3NwYW4+Y29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPk9USEVSPHNwYW4g
Y2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iPSI8L3NwYW4+PHNwYW4gY2xhc3M9
ImsiPikpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNz
PSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjUzODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj44PC90ZD48
dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4o
KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj41Mzk8
L3RkPjx0ZCBjbGFzcz0iaGl0cyI+ODwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAg
ICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPmNv
bnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5PVEhFUjxzcGFuIGNsYXNzPSJrIj4sPC9zcGFu
PiA8c3BhbiBjbGFzcz0icyI+InsiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pKTwvc3Bhbj4gPHNw
YW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNz
PSJsaW5lIj41NDA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2Ui
PiAgICAgICAgICAgICAgICAgICAgcmV0PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+cGF0dGVybk1h
cCA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnRydWU8L3NwYW4+PHNw
YW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNz
PSJsaW5lIj41NDE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2Ui
PiAgICAgICAgICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3Rk
PjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjU0MjwvdGQ+PHRkIGNsYXNz
PSJoaXRzIj41PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICA8c3Bh
biBjbGFzcz0iayI+dmFyPC9zcGFuPiBpZCA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gY29uc3Vt
ZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPklEPHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+
PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NTQzPC90ZD48dGQgY2xhc3M9
ImhpdHMiPjU8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAgIDxzcGFu
IGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+aWQgPHNwYW4gY2xh
c3M9ImsiPiZhbXA7JmFtcDs8L3NwYW4+IGlkPHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+dmFsdWUg
PHNwYW4gY2xhc3M9ImsiPj09PTwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJnZXR0ZXIiPC9zcGFu
PjxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwv
dHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjU0NDwvdGQ+PHRkIGNsYXNzPSJo
aXRzIj4xPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICAgICAgcmV0
PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+bmFtZXMgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxz
cGFuIGNsYXNzPSJrIj5bPC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4iZ2V0dGVyIjwvc3Bhbj48c3Bh
biBjbGFzcz0iayI+XTs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjU0NTwv
dGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAg
ICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+
IDx0ZCBjbGFzcz0ibGluZSI+NTQ2PC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ8L3RkPjx0ZCBjbGFz
cz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5lbHNlPC9zcGFu
PiA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPmlkIDxz
cGFuIGNsYXNzPSJrIj4mYW1wOyZhbXA7PC9zcGFuPiBpZDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFu
PnZhbHVlIDxzcGFuIGNsYXNzPSJrIj49PT08L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iaW5oZXJp
dCI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFu
PjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NTQ3PC90ZD48dGQg
Y2xhc3M9ImhpdHMiPjI8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAg
ICAgICByZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5uYW1lcyA8c3BhbiBjbGFzcz0iayI+PTwv
c3Bhbj4gPHNwYW4gY2xhc3M9ImsiPls8L3NwYW4+PHNwYW4gY2xhc3M9InMiPiJpbmhlcml0Ijwv
c3Bhbj48c3BhbiBjbGFzcz0iayI+XTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4g
PHRkIGNsYXNzPSJsaW5lIj41NDg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MjwvdGQ+PHRkIGNsYXNz
PSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAgICAgIGlkZW50aWZpZXJzPHNwYW4gY2xhc3M9
ImsiPig8L3NwYW4+cmV0PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+bmFtZXM8c3BhbiBjbGFzcz0i
ayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjU0OTwvdGQ+PHRkIGNs
YXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAgIDxz
cGFuIGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFz
cz0ibGluZSI+NTUwPC90ZD48dGQgY2xhc3M9ImhpdHMiPjI8L3RkPjx0ZCBjbGFzcz0ic291cmNl
Ij4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5lbHNlPC9zcGFuPiA8c3BhbiBj
bGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPmlkPHNwYW4gY2xhc3M9
ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9
ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NTUxPC90ZD48dGQgY2xhc3M9ImhpdHMiPjI8L3RkPjx0
ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAgICAgICByZXQ8c3BhbiBjbGFzcz0i
ayI+Ljwvc3Bhbj5uYW1lcyA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9Imsi
Pls8L3NwYW4+aWQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj52YWx1ZTxzcGFuIGNsYXNzPSJrIj5d
Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjU1Mjwv
dGQ+PHRkIGNsYXNzPSJoaXRzIj4yPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAg
ICAgICAgICAgICAgaWRlbnRpZmllcnM8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5yZXQ8c3BhbiBj
bGFzcz0iayI+Ljwvc3Bhbj5uYW1lczxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+
PHRyPjx0ZCBjbGFzcz0ibGluZSI+NTUzPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNs
YXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+
PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjU1NDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48
L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJr
Ij5lbHNlPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNz
PSJtaXNzIj4gPHRkIGNsYXNzPSJsaW5lIj41NTU8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MDwvdGQ+
PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAgICAgIHJldDxzcGFuIGNsYXNz
PSJrIj4uPC9zcGFuPm5hbWVzIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0i
ayI+W107PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj41NTY8L3RkPjx0ZCBj
bGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICA8
c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xh
c3M9ImxpbmUiPjU1NzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj41PC90ZD48dGQgY2xhc3M9InNvdXJj
ZSI+ICAgICAgICAgICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwv
dGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NTU4PC90ZD48dGQgY2xh
c3M9ImhpdHMiPjU8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAgIGNv
bnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5PVEhFUjxzcGFuIGNsYXNzPSJrIj4sPC9zcGFu
PiA8c3BhbiBjbGFzcz0icyI+In0iPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3Bh
biBjbGFzcz0iayI+fHw8L3NwYW4+IGVycm9yPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4g
Y2xhc3M9InMiPiJVbnRlcm1pbmF0ZWQgc2VyaWFsaXplciBwYXR0ZXJuIG1hcCI8L3NwYW4+PHNw
YW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj41NTk8
L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAg
ICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0
ZCBjbGFzcz0ibGluZSI+NTYwPC90ZD48dGQgY2xhc3M9ImhpdHMiPjM8L3RkPjx0ZCBjbGFzcz0i
c291cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmVsc2U8L3NwYW4+IDxzcGFu
IGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+Y29uc3VtZTxzcGFu
IGNsYXNzPSJrIj4oPC9zcGFuPk9USEVSPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNs
YXNzPSJzIj4iWyI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPikpPC9zcGFuPiA8c3BhbiBjbGFzcz0i
ayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjU2
MTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAg
ICAgICAgICAgICByZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5wYXR0ZXJuTGlzdCA8c3BhbiBj
bGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnRydWU8L3NwYW4+PHNwYW4gY2xhc3M9
ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj41
NjI8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAg
ICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRy
IGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjU2MzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4y
PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0i
ayI+dmFyPC9zcGFuPiBpZCA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gY29uc3VtZTxzcGFuIGNs
YXNzPSJrIj4oPC9zcGFuPklEPHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIg
Y2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NTY0PC90ZD48dGQgY2xhc3M9ImhpdHMiPjI8
L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJr
Ij5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+aWQgPHNwYW4gY2xhc3M9ImsiPiZh
bXA7JmFtcDs8L3NwYW4+IGlkPHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+dmFsdWUgPHNwYW4gY2xh
c3M9ImsiPj09PTwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJnZXR0ZXIiPC9zcGFuPjxzcGFuIGNs
YXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNs
YXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjU2NTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xPC90
ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICAgICAgcmV0PHNwYW4gY2xh
c3M9ImsiPi48L3NwYW4+bmFtZXMgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNz
PSJrIj5bPC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4iZ2V0dGVyIjwvc3Bhbj48c3BhbiBjbGFzcz0i
ayI+XTs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjU2NjwvdGQ+PHRkIGNs
YXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAgIDxz
cGFuIGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFz
cz0ibGluZSI+NTY3PC90ZD48dGQgY2xhc3M9ImhpdHMiPjE8L3RkPjx0ZCBjbGFzcz0ic291cmNl
Ij4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5lbHNlPC9zcGFuPiA8c3BhbiBj
bGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPmlkPHNwYW4gY2xhc3M9
ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9
ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NTY4PC90ZD48dGQgY2xhc3M9ImhpdHMiPjE8L3RkPjx0
ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAgICAgICByZXQ8c3BhbiBjbGFzcz0i
ayI+Ljwvc3Bhbj5uYW1lcyA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9Imsi
Pls8L3NwYW4+aWQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj52YWx1ZTxzcGFuIGNsYXNzPSJrIj5d
Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjU2OTwv
dGQ+PHRkIGNsYXNzPSJoaXRzIj4xPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAg
ICAgICAgICAgICAgaWRlbnRpZmllcnM8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5yZXQ8c3BhbiBj
bGFzcz0iayI+Ljwvc3Bhbj5uYW1lczxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+
PHRyPjx0ZCBjbGFzcz0ibGluZSI+NTcwPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNs
YXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+
PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjU3MTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48
L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJr
Ij5lbHNlPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNz
PSJtaXNzIj4gPHRkIGNsYXNzPSJsaW5lIj41NzI8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MDwvdGQ+
PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAgICAgIHJldDxzcGFuIGNsYXNz
PSJrIj4uPC9zcGFuPm5hbWVzIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0i
ayI+W107PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj41NzM8L3RkPjx0ZCBj
bGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICA8
c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xh
c3M9ImxpbmUiPjU3NDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yPC90ZD48dGQgY2xhc3M9InNvdXJj
ZSI+ICAgICAgICAgICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwv
dGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NTc1PC90ZD48dGQgY2xh
c3M9ImhpdHMiPjI8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAgIGNv
bnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5PVEhFUjxzcGFuIGNsYXNzPSJrIj4sPC9zcGFu
PiA8c3BhbiBjbGFzcz0icyI+Il0iPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3Bh
biBjbGFzcz0iayI+fHw8L3NwYW4+IGVycm9yPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4g
Y2xhc3M9InMiPiJVbnRlcm1pbmF0ZWQgc2VyaWFsaXplciBwYXR0ZXJuIGxpc3QiPC9zcGFuPjxz
cGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NTc2
PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAg
ICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGlu
ZSI+NTc3PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAg
ICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+ZWxzZTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8
L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj41Nzg8L3Rk
Pjx0ZCBjbGFzcz0iaGl0cyI+MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAg
ICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gbmFtZSA8c3BhbiBjbGFzcz0iayI+PTwv
c3Bhbj4gY29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPklEPHNwYW4gY2xhc3M9ImsiPik8
L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj58fDwvc3Bhbj4gZXJyb3I8c3BhbiBjbGFzcz0iayI+KDwv
c3Bhbj48c3BhbiBjbGFzcz0icyI+IkludmFsaWQgc2VyaWFsaXplciI8L3NwYW4+PHNwYW4gY2xh
c3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGlu
ZSI+NTc5PC90ZD48dGQgY2xhc3M9ImhpdHMiPjE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAg
ICAgICAgICAgICAgICAgIHJldDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPm5hbWUgPHNwYW4gY2xh
c3M9ImsiPj08L3NwYW4+IG5hbWU8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj52YWx1ZTxzcGFuIGNs
YXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj41ODA8L3RkPjx0
ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxz
cGFuIGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFz
cz0ibGluZSI+NTgxPC90ZD48dGQgY2xhc3M9ImhpdHMiPjg8L3RkPjx0ZCBjbGFzcz0ic291cmNl
Ij4gICAgICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwv
dHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjU4MjwvdGQ+PHRkIGNsYXNzPSJo
aXRzIj44PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIGNvbnN1bWU8c3Bh
biBjbGFzcz0iayI+KDwvc3Bhbj5PVEhFUjxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBj
bGFzcz0icyI+IjsiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0i
ayI+fHw8L3NwYW4+IGVycm9yPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9InMi
PiJVbnRlcm1pbmF0ZWQgc2VyaWFsaXplciI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFu
PjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NTgzPC90ZD48dGQg
Y2xhc3M9ImhpdHMiPjg8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgPHNw
YW4gY2xhc3M9ImsiPnJldHVybjwvc3Bhbj4gcmV0PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90
ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjU4NDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3Rk
Pjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48
L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjU4NTwvdGQ+PHRkIGNs
YXNzPSJoaXRzIj4yPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xh
c3M9ImsiPmVsc2U8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9
ImsiPig8L3NwYW4+Y29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPk9USEVSPHNwYW4gY2xh
c3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iOyI8L3NwYW4+PHNwYW4gY2xhc3M9Imsi
PikpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFz
cz0ibGluZSI+NTg2PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2Ui
PiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iYyI+Ly8gbm9vcCwganVzdCBwYXJzaW5nPC9z
cGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj41ODc8L3RkPjx0ZCBjbGFzcz0iaGl0
cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08
L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjU4ODwvdGQ+PHRkIGNsYXNzPSJo
aXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+
ZWxzZTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0i
aGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj41ODk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTwvdGQ+PHRk
IGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICByZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bh
bj5pZGxUeXBlIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiByZXR1cm5fdHlwZTxzcGFuIGNsYXNz
PSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5l
Ij41OTA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAg
ICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIg
Y2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NTkxPC90ZD48dGQgY2xhc3M9ImhpdHMiPjE8
L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgcmV0PHNwYW4gY2xhc3M9Imsi
Pi48L3NwYW4+b3BlcmF0aW9uIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiBvcGVyYXRpb25fcmVz
dDxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUi
PjU5MjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAg
ICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8
dGQgY2xhc3M9ImxpbmUiPjU5MzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yPC90ZD48dGQgY2xhc3M9
InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnJldHVybjwvc3Bhbj4gcmV0PHNw
YW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjU5NDwv
dGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxzcGFu
IGNsYXNzPSJrIj59PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+
PHRkIGNsYXNzPSJsaW5lIj41OTU8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9
InNvdXJjZSI+ICAgICAgICA8L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9Imxp
bmUiPjU5NjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40NzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAg
ICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gaW50ZXJmYWNlXyA8c3BhbiBjbGFzcz0i
ayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPmZ1bmN0aW9uPC9zcGFuPiA8c3BhbiBjbGFzcz0i
ayI+KDwvc3Bhbj5pc1BhcnRpYWw8c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9
ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj41
OTc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTQ0PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAg
ICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNz
PSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjU5ODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yMTA8L3Rk
Pjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+
IDxzcGFuIGNsYXNzPSJrIj4oITwvc3Bhbj5jb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+
SUQ8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJpbnRlcmZhY2UiPC9z
cGFuPjxzcGFuIGNsYXNzPSJrIj4pKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnJldHVybjwvc3Bh
bj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQg
Y2xhc3M9ImxpbmUiPjU5OTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj43ODwvdGQ+PHRkIGNsYXNzPSJz
b3VyY2UiPiAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48
L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj42MDA8L3RkPjx0ZCBjbGFzcz0i
aGl0cyI+Nzg8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0i
ayI+dmFyPC9zcGFuPiBuYW1lIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiBjb25zdW1lPHNwYW4g
Y2xhc3M9ImsiPig8L3NwYW4+SUQ8c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9
ImsiPnx8PC9zcGFuPiBlcnJvcjxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJz
Ij4iTm8gbmFtZSBmb3IgaW50ZXJmYWNlIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+
PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj42MDE8L3RkPjx0ZCBj
bGFzcz0iaGl0cyI+Nzg8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBj
bGFzcz0iayI+dmFyPC9zcGFuPiByZXQgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNs
YXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj42MDI8L3RkPjx0
ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIHR5
cGU8c3BhbiBjbGFzcz0iayI+Ojwvc3Bhbj4gICA8c3BhbiBjbGFzcz0icyI+ImludGVyZmFjZSI8
L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjYwMzwvdGQ+PHRkIGNsYXNzPSJo
aXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+
LDwvc3Bhbj4gICBuYW1lPHNwYW4gY2xhc3M9ImsiPjo8L3NwYW4+ICAgbmFtZTxzcGFuIGNsYXNz
PSJrIj4uPC9zcGFuPnZhbHVlPC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjYwNDwvdGQ+
PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3Bh
biBjbGFzcz0iayI+LDwvc3Bhbj4gICBwYXJ0aWFsPHNwYW4gY2xhc3M9ImsiPjo8L3NwYW4+ICAg
IDxzcGFuIGNsYXNzPSJrIj5mYWxzZTwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGlu
ZSI+NjA1PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAg
ICAgICAgIDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiAgIG1lbWJlcnM8c3BhbiBjbGFzcz0iayI+
Ojwvc3Bhbj4gICAgPHNwYW4gY2xhc3M9ImsiPltdPC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNs
YXNzPSJsaW5lIj42MDY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJj
ZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8
L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj42MDc8L3Rk
Pjx0ZCBjbGFzcz0iaGl0cyI+MTU1PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAg
PHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KCE8L3NwYW4+aXNQYXJ0
aWFsPHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IHJldDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPmlu
aGVyaXRhbmNlIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiBpbmhlcml0YW5jZTxzcGFuIGNsYXNz
PSJrIj4oKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnx8PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+
bnVsbDwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJo
aXQiPiA8dGQgY2xhc3M9ImxpbmUiPjYwODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj43ODwvdGQ+PHRk
IGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3Nw
YW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj42MDk8L3RkPjx0
ZCBjbGFzcz0iaGl0cyI+Nzg8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICBjb25z
dW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+T1RIRVI8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4g
PHNwYW4gY2xhc3M9InMiPiJ7Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4g
Y2xhc3M9ImsiPnx8PC9zcGFuPiBlcnJvcjxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNs
YXNzPSJzIj4iQm9keWxlc3MgaW50ZXJmYWNlIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTs8L3Nw
YW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj42MTA8L3RkPjx0
ZCBjbGFzcz0iaGl0cyI+Nzg8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3Bh
biBjbGFzcz0iayI+d2hpbGU8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNs
YXNzPSJrIj50cnVlPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0i
ayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjYx
MTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yNTE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAg
ICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNs
YXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjYxMjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yNTE8
L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlm
PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5jb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8
L3NwYW4+T1RIRVI8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJ9Ijwv
c3Bhbj48c3BhbiBjbGFzcz0iayI+KSk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwv
dGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NjEzPC90ZD48dGQgY2xh
c3M9ImhpdHMiPjc4PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICBh
bGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+
IDx0ZCBjbGFzcz0ibGluZSI+NjE0PC90ZD48dGQgY2xhc3M9ImhpdHMiPjc4PC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICBjb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8
L3NwYW4+T1RIRVI8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiI7Ijwv
c3Bhbj48c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnx8PC9zcGFuPiBl
cnJvcjxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4iTWlzc2luZyBzZW1p
Y29sb24gYWZ0ZXIgaW50ZXJmYWNlIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90
ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj42MTU8L3RkPjx0ZCBjbGFz
cz0iaGl0cyI+Nzg8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAgIDxz
cGFuIGNsYXNzPSJrIj5yZXR1cm48L3NwYW4+IHJldDxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwv
dGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj42MTY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90
ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9z
cGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NjE3PC90ZD48
dGQgY2xhc3M9ImhpdHMiPjE3MzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAg
ICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiBlYSA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4g
ZXh0ZW5kZWRfYXR0cnM8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xh
c3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NjE4PC90ZD48dGQgY2xhc3M9ImhpdHMiPjE3Mzwv
dGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0i
ayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+
NjE5PC90ZD48dGQgY2xhc3M9ImhpdHMiPjE3MzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAg
ICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiBjbnQgPHNwYW4gY2xhc3M9Imsi
Pj08L3NwYW4+IGNvbnN0XzxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBj
bGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj42MjA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTcz
PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5p
Zjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+Y250PHNwYW4gY2xhc3M9ImsiPik8L3Nw
YW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0
ZCBjbGFzcz0ibGluZSI+NjIxPC90ZD48dGQgY2xhc3M9ImhpdHMiPjk8L3RkPjx0ZCBjbGFzcz0i
c291cmNlIj4gICAgICAgICAgICAgICAgICAgIGNudDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPmV4
dEF0dHJzIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiBlYTxzcGFuIGNsYXNzPSJrIj47PC9zcGFu
PjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NjIyPC90ZD48dGQg
Y2xhc3M9ImhpdHMiPjk8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAg
IHJldDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPm1lbWJlcnM8c3BhbiBjbGFzcz0iayI+Ljwvc3Bh
bj5wdXNoPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+Y250PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFu
PjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NjIzPC90ZD48dGQg
Y2xhc3M9ImhpdHMiPjk8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAg
IDxzcGFuIGNsYXNzPSJrIj5jb250aW51ZTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48
L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NjI0PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwv
dGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwv
c3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjYyNTwvdGQ+
PHRkIGNsYXNzPSJoaXRzIj4xNjQ8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAg
ICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gbWVtIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFu
PiBzZXJpYWxpc2VyPHNwYW4gY2xhc3M9ImsiPigpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+fHw8
L3NwYW4+IGF0dHJpYnV0ZTxzcGFuIGNsYXNzPSJrIj4oKTwvc3Bhbj4gPHNwYW4gY2xhc3M9Imsi
Pnx8PC9zcGFuPiBvcGVyYXRpb248c3BhbiBjbGFzcz0iayI+KCk8L3NwYW4+IDxzcGFuIGNsYXNz
PSJrIj58fDwvc3Bhbj4gZXJyb3I8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0i
cyI+IlVua25vd24gbWVtYmVyIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48
L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj42MjY8L3RkPjx0ZCBjbGFzcz0i
aGl0cyI+MTY0PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIG1lbTxzcGFu
IGNsYXNzPSJrIj4uPC9zcGFuPmV4dEF0dHJzIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiBlYTxz
cGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFz
cz0ibGluZSI+NjI3PC90ZD48dGQgY2xhc3M9ImhpdHMiPjE2NDwvdGQ+PHRkIGNsYXNzPSJzb3Vy
Y2UiPiAgICAgICAgICAgICAgICByZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5tZW1iZXJzPHNw
YW4gY2xhc3M9ImsiPi48L3NwYW4+cHVzaDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPm1lbTxzcGFu
IGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NjI4PC90
ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxz
cGFuIGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj42Mjk8
L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8c3Bh
biBjbGFzcz0iayI+fTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRy
Pjx0ZCBjbGFzcz0ibGluZSI+NjMwPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNz
PSJzb3VyY2UiPiAgICAgICAgPC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJs
aW5lIj42MzE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDc8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4g
ICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IHBhcnRpYWwgPHNwYW4gY2xhc3M9Imsi
Pj08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5mdW5jdGlvbjwvc3Bhbj4gPHNwYW4gY2xhc3M9Imsi
PigpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJo
aXQiPiA8dGQgY2xhc3M9ImxpbmUiPjYzMjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj42NjwvdGQ+PHRk
IGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3Nw
YW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj42MzM8L3RkPjx0
ZCBjbGFzcz0iaGl0cyI+MTMwPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNw
YW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KCE8L3NwYW4+Y29uc3VtZTxz
cGFuIGNsYXNzPSJrIj4oPC9zcGFuPklEPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNs
YXNzPSJzIj4icGFydGlhbCI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPikpPC9zcGFuPiA8c3BhbiBj
bGFzcz0iayI+cmV0dXJuPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48
dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NjM0PC90ZD48dGQgY2xhc3M9ImhpdHMi
PjI8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFy
PC9zcGFuPiB0aGluZyA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gZGljdGlvbmFyeTxzcGFuIGNs
YXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj50cnVlPC9zcGFuPjxzcGFuIGNsYXNzPSJr
Ij4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+fHw8L3NwYW4+IGludGVyZmFjZV88c3BhbiBjbGFz
cz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0iayI+dHJ1ZTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+
KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnx8PC9zcGFuPiBlcnJvcjxzcGFuIGNsYXNzPSJrIj4o
PC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4iUGFydGlhbCBkb2Vzbid0IGFwcGx5IHRvIGFueXRoaW5n
Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0
Ij4gPHRkIGNsYXNzPSJsaW5lIj42MzU8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MjwvdGQ+PHRkIGNs
YXNzPSJzb3VyY2UiPiAgICAgICAgICAgIHRoaW5nPHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+cGFy
dGlhbCA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnRydWU8L3NwYW4+
PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNs
YXNzPSJsaW5lIj42MzY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MjwvdGQ+PHRkIGNsYXNzPSJzb3Vy
Y2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5yZXR1cm48L3NwYW4+IHRoaW5nPHNwYW4g
Y2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjYzNzwvdGQ+
PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxzcGFuIGNs
YXNzPSJrIj59PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRk
IGNsYXNzPSJsaW5lIj42Mzg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNv
dXJjZSI+ICAgICAgICA8L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUi
PjYzOTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40NzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAg
ICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gZGljdGlvbmFyeSA8c3BhbiBjbGFzcz0iayI+
PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPmZ1bmN0aW9uPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+
KDwvc3Bhbj5pc1BhcnRpYWw8c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9Imsi
Pns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj42NDA8
L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NjY8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAg
ICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9Imhp
dCI+IDx0ZCBjbGFzcz0ibGluZSI+NjQxPC90ZD48dGQgY2xhc3M9ImhpdHMiPjEyODwvdGQ+PHRk
IGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNw
YW4gY2xhc3M9ImsiPighPC9zcGFuPmNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5JRDxz
cGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+ImRpY3Rpb25hcnkiPC9zcGFu
PjxzcGFuIGNsYXNzPSJrIj4pKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnJldHVybjwvc3Bhbj48
c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xh
c3M9ImxpbmUiPjY0MjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40PC90ZD48dGQgY2xhc3M9InNvdXJj
ZSI+ICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+
PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjY0MzwvdGQ+PHRkIGNsYXNzPSJoaXRz
Ij40PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZh
cjwvc3Bhbj4gbmFtZSA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gY29uc3VtZTxzcGFuIGNsYXNz
PSJrIj4oPC9zcGFuPklEPHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj58
fDwvc3Bhbj4gZXJyb3I8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0icyI+Ik5v
IG5hbWUgZm9yIGRpY3Rpb25hcnkiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3Rk
PjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjY0NDwvdGQ+PHRkIGNsYXNz
PSJoaXRzIj40PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9
ImsiPnZhcjwvc3Bhbj4gcmV0IDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0i
ayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NjQ1PC90ZD48dGQgY2xh
c3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICB0eXBlPHNw
YW4gY2xhc3M9ImsiPjo8L3NwYW4+ICAgPHNwYW4gY2xhc3M9InMiPiJkaWN0aW9uYXJ5Ijwvc3Bh
bj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NjQ2PC90ZD48dGQgY2xhc3M9ImhpdHMi
PjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj4sPC9z
cGFuPiAgIG5hbWU8c3BhbiBjbGFzcz0iayI+Ojwvc3Bhbj4gICBuYW1lPHNwYW4gY2xhc3M9Imsi
Pi48L3NwYW4+dmFsdWU8L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NjQ3PC90ZD48dGQg
Y2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNs
YXNzPSJrIj4sPC9zcGFuPiAgIHBhcnRpYWw8c3BhbiBjbGFzcz0iayI+Ojwvc3Bhbj4gICAgPHNw
YW4gY2xhc3M9ImsiPmZhbHNlPC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj42
NDg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAg
ICAgPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+ICAgbWVtYmVyczxzcGFuIGNsYXNzPSJrIj46PC9z
cGFuPiAgICA8c3BhbiBjbGFzcz0iayI+W108L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9
ImxpbmUiPjY0OTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4g
ICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bh
bj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjY1MDwvdGQ+PHRk
IGNsYXNzPSJoaXRzIj43PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4g
Y2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KCE8L3NwYW4+aXNQYXJ0aWFsPHNw
YW4gY2xhc3M9ImsiPik8L3NwYW4+IHJldDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPmluaGVyaXRh
bmNlIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiBpbmhlcml0YW5jZTxzcGFuIGNsYXNzPSJrIj4o
KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnx8PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+bnVsbDwv
c3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8
dGQgY2xhc3M9ImxpbmUiPjY1MTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40PC90ZD48dGQgY2xhc3M9
InNvdXJjZSI+ICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3Rk
PjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjY1MjwvdGQ+PHRkIGNsYXNz
PSJoaXRzIj40PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgY29uc3VtZTxzcGFu
IGNsYXNzPSJrIj4oPC9zcGFuPk9USEVSPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNs
YXNzPSJzIj4ieyI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJr
Ij58fDwvc3Bhbj4gZXJyb3I8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0icyI+
IkJvZHlsZXNzIGRpY3Rpb25hcnkiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3Rk
PjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjY1MzwvdGQ+PHRkIGNsYXNz
PSJoaXRzIj40PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9
ImsiPndoaWxlPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0iayI+
dHJ1ZTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3Nw
YW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj42NTQ8L3RkPjx0
ZCBjbGFzcz0iaGl0cyI+MTM8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAg
YWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQi
PiA8dGQgY2xhc3M9ImxpbmUiPjY1NTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xMzwvdGQ+PHRkIGNs
YXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxz
cGFuIGNsYXNzPSJrIj4oPC9zcGFuPmNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5PVEhF
UjxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+In0iPC9zcGFuPjxzcGFu
IGNsYXNzPSJrIj4pKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0
ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj42NTY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+
NDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAgYWxsX3dzPHNwYW4g
Y2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9
ImxpbmUiPjY1NzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+
ICAgICAgICAgICAgICAgICAgICBjb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+T1RIRVI8
c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiI7Ijwvc3Bhbj48c3BhbiBj
bGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnx8PC9zcGFuPiBlcnJvcjxzcGFuIGNs
YXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4iTWlzc2luZyBzZW1pY29sb24gYWZ0ZXIg
ZGljdGlvbmFyeSI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIg
Y2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NjU4PC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ8
L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJr
Ij5yZXR1cm48L3NwYW4+IHJldDxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+
PHRkIGNsYXNzPSJsaW5lIj42NTk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9
InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90
cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NjYwPC90ZD48dGQgY2xhc3M9Imhp
dHMiPjk8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9
ImsiPnZhcjwvc3Bhbj4gZWEgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IGV4dGVuZGVkX2F0dHJz
PHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQg
Y2xhc3M9ImxpbmUiPjY2MTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj45PC90ZD48dGQgY2xhc3M9InNv
dXJjZSI+ICAgICAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90
ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj42NjI8L3RkPjx0ZCBjbGFz
cz0iaGl0cyI+OTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBj
bGFzcz0iayI+dmFyPC9zcGFuPiB0eXAgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IHR5cGU8c3Bh
biBjbGFzcz0iayI+KCk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj58fDwvc3Bhbj4gZXJyb3I8c3Bh
biBjbGFzcz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0icyI+Ik5vIHR5cGUgZm9yIGRpY3Rpb25h
cnkgbWVtYmVyIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBj
bGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj42NjM8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+OTwv
dGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0i
ayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+
NjY0PC90ZD48dGQgY2xhc3M9ImhpdHMiPjk8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAg
ICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gbmFtZSA8c3BhbiBjbGFzcz0iayI+
PTwvc3Bhbj4gY29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPklEPHNwYW4gY2xhc3M9Imsi
Pik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj58fDwvc3Bhbj4gZXJyb3I8c3BhbiBjbGFzcz0iayI+
KDwvc3Bhbj48c3BhbiBjbGFzcz0icyI+Ik5vIG5hbWUgZm9yIGRpY3Rpb25hcnkgbWVtYmVyIjwv
c3Bhbj48c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4g
PHRkIGNsYXNzPSJsaW5lIj42NjU8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+OTwvdGQ+PHRkIGNsYXNz
PSJzb3VyY2UiPiAgICAgICAgICAgICAgICByZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5tZW1i
ZXJzPHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+cHVzaDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxz
cGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj42NjY8
L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAg
ICAgICAgICB0eXBlPHNwYW4gY2xhc3M9ImsiPjo8L3NwYW4+ICAgICAgIDxzcGFuIGNsYXNzPSJz
Ij4iZmllbGQiPC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj42Njc8L3RkPjx0
ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxz
cGFuIGNsYXNzPSJrIj4sPC9zcGFuPiAgIG5hbWU8c3BhbiBjbGFzcz0iayI+Ojwvc3Bhbj4gICAg
ICAgbmFtZTxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnZhbHVlPC90ZD48L3RyPjx0cj48dGQgY2xh
c3M9ImxpbmUiPjY2ODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNl
Ij4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+ICAgaWRsVHlwZTxzcGFu
IGNsYXNzPSJrIj46PC9zcGFuPiAgICB0eXA8L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+
NjY5PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAg
ICAgICAgICA8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gICBleHRBdHRyczxzcGFuIGNsYXNzPSJr
Ij46PC9zcGFuPiAgIGVhPC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjY3MDwvdGQ+PHRk
IGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgPHNw
YW4gY2xhc3M9ImsiPiw8L3NwYW4+ICAgPHNwYW4gY2xhc3M9InMiPiJkZWZhdWx0Ijwvc3Bhbj48
c3BhbiBjbGFzcz0iayI+Ojwvc3Bhbj4gIGRlZmF1bHRfPHNwYW4gY2xhc3M9ImsiPigpPC9zcGFu
PjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj42NzE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+
PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj59
PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQi
PiA8dGQgY2xhc3M9ImxpbmUiPjY3MjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj45PC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3Nw
YW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj42NzM8L3RkPjx0
ZCBjbGFzcz0iaGl0cyI+OTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICBj
b25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+T1RIRVI8c3BhbiBjbGFzcz0iayI+LDwvc3Bh
bj4gPHNwYW4gY2xhc3M9InMiPiI7Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNw
YW4gY2xhc3M9ImsiPnx8PC9zcGFuPiBlcnJvcjxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFu
IGNsYXNzPSJzIj4iVW50ZXJtaW5hdGVkIGRpY3Rpb25hcnkgbWVtYmVyIjwvc3Bhbj48c3BhbiBj
bGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjY3NDwvdGQ+
PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3Bh
biBjbGFzcz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+Njc1PC90
ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4g
Y2xhc3M9ImsiPn08L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48
dGQgY2xhc3M9ImxpbmUiPjY3NjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0i
c291cmNlIj4gICAgICAgIDwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGlu
ZSI+Njc3PC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ3PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAg
ICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiBleGNlcHRpb24gPHNwYW4gY2xhc3M9Imsi
Pj08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5mdW5jdGlvbjwvc3Bhbj4gPHNwYW4gY2xhc3M9Imsi
PigpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJo
aXQiPiA8dGQgY2xhc3M9ImxpbmUiPjY3ODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj42MTwvdGQ+PHRk
IGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3Nw
YW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj42Nzk8L3RkPjx0
ZCBjbGFzcz0iaGl0cyI+MTEzPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNw
YW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KCE8L3NwYW4+Y29uc3VtZTxz
cGFuIGNsYXNzPSJrIj4oPC9zcGFuPklEPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNs
YXNzPSJzIj4iZXhjZXB0aW9uIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KSk8L3NwYW4+IDxzcGFu
IGNsYXNzPSJrIj5yZXR1cm48L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3Ry
Pjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj42ODA8L3RkPjx0ZCBjbGFzcz0iaGl0
cyI+OTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNz
PSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5l
Ij42ODE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+OTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAg
ICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IG5hbWUgPHNwYW4gY2xhc3M9ImsiPj08
L3NwYW4+IGNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5JRDxzcGFuIGNsYXNzPSJrIj4p
PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+fHw8L3NwYW4+IGVycm9yPHNwYW4gY2xhc3M9ImsiPig8
L3NwYW4+PHNwYW4gY2xhc3M9InMiPiJObyBuYW1lIGZvciBleGNlcHRpb24iPC9zcGFuPjxzcGFu
IGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9
ImxpbmUiPjY4MjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj45PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+
ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gcmV0IDxzcGFuIGNsYXNzPSJr
Ij49PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFz
cz0ibGluZSI+NjgzPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2Ui
PiAgICAgICAgICAgICAgICB0eXBlPHNwYW4gY2xhc3M9ImsiPjo8L3NwYW4+ICAgPHNwYW4gY2xh
c3M9InMiPiJleGNlcHRpb24iPC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj42
ODQ8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAg
ICAgPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+ICAgbmFtZTxzcGFuIGNsYXNzPSJrIj46PC9zcGFu
PiAgIG5hbWU8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj52YWx1ZTwvdGQ+PC90cj48dHI+PHRkIGNs
YXNzPSJsaW5lIj42ODU8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJj
ZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+ICAgbWVtYmVyczxzcGFuIGNs
YXNzPSJrIj46PC9zcGFuPiAgICA8c3BhbiBjbGFzcz0iayI+W108L3NwYW4+PC90ZD48L3RyPjx0
cj48dGQgY2xhc3M9ImxpbmUiPjY4NjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFz
cz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48c3BhbiBjbGFz
cz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUi
PjY4NzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj45PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAg
ICAgICAgcmV0PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+aW5oZXJpdGFuY2UgPHNwYW4gY2xhc3M9
ImsiPj08L3NwYW4+IGluaGVyaXRhbmNlPHNwYW4gY2xhc3M9ImsiPigpPC9zcGFuPiA8c3BhbiBj
bGFzcz0iayI+fHw8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5udWxsPC9zcGFuPjxzcGFuIGNsYXNz
PSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+
Njg4PC90ZD48dGQgY2xhc3M9ImhpdHMiPjk8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAg
ICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9
ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+Njg5PC90ZD48dGQgY2xhc3M9ImhpdHMiPjk8L3RkPjx0
ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICBjb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3Nw
YW4+T1RIRVI8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJ7Ijwvc3Bh
bj48c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnx8PC9zcGFuPiBlcnJv
cjxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4iQm9keWxlc3MgZXhjZXB0
aW9uIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0i
aGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj42OTA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+OTwvdGQ+PHRk
IGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj53aGlsZTwvc3Bhbj4g
PHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPnRydWU8L3NwYW4+PHNwYW4g
Y2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIg
Y2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NjkxPC90ZD48dGQgY2xhc3M9ImhpdHMiPjE2
PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNz
PSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5l
Ij42OTI8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTY8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAg
ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwv
c3Bhbj5jb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+T1RIRVI8c3BhbiBjbGFzcz0iayI+
LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJ9Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KSk8L3Nw
YW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0
ZCBjbGFzcz0ibGluZSI+NjkzPC90ZD48dGQgY2xhc3M9ImhpdHMiPjk8L3RkPjx0ZCBjbGFzcz0i
c291cmNlIj4gICAgICAgICAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3Nw
YW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj42OTQ8L3RkPjx0
ZCBjbGFzcz0iaGl0cyI+OTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAg
ICAgY29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPk9USEVSPHNwYW4gY2xhc3M9ImsiPiw8
L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iOyI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+
IDxzcGFuIGNsYXNzPSJrIj58fDwvc3Bhbj4gZXJyb3I8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48
c3BhbiBjbGFzcz0icyI+Ik1pc3Npbmcgc2VtaWNvbG9uIGFmdGVyIGV4Y2VwdGlvbiI8L3NwYW4+
PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBj
bGFzcz0ibGluZSI+Njk1PC90ZD48dGQgY2xhc3M9ImhpdHMiPjk8L3RkPjx0ZCBjbGFzcz0ic291
cmNlIj4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5yZXR1cm48L3NwYW4+IHJl
dDxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj42
OTY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAg
ICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+
IDx0ZCBjbGFzcz0ibGluZSI+Njk3PC90ZD48dGQgY2xhc3M9ImhpdHMiPjc8L3RkPjx0ZCBjbGFz
cz0ic291cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gZWEg
PHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IGV4dGVuZGVkX2F0dHJzPHNwYW4gY2xhc3M9ImsiPigp
Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjY5ODwv
dGQ+PHRkIGNsYXNzPSJoaXRzIj43PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAg
ICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0i
aGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj42OTk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NzwvdGQ+PHRk
IGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFu
PiBjbnQgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IGNvbnN0XzxzcGFuIGNsYXNzPSJrIj4oKTs8
L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj43MDA8L3Rk
Pjx0ZCBjbGFzcz0iaGl0cyI+NzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAg
ICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPmNudDxz
cGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+
PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjcwMTwvdGQ+PHRkIGNsYXNzPSJoaXRz
Ij4zPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICBjbnQ8c3BhbiBj
bGFzcz0iayI+Ljwvc3Bhbj5leHRBdHRycyA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gZWE8c3Bh
biBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9
ImxpbmUiPjcwMjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4zPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+
ICAgICAgICAgICAgICAgICAgICByZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5tZW1iZXJzPHNw
YW4gY2xhc3M9ImsiPi48L3NwYW4+cHVzaDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPmNudDxzcGFu
IGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NzAzPC90
ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAg
ICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+
NzA0PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAg
ICAgICAgICA8c3BhbiBjbGFzcz0iayI+ZWxzZTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3Nw
YW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj43MDU8L3RkPjx0
ZCBjbGFzcz0iaGl0cyI+NDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAg
ICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gdHlwIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFu
PiB0eXBlPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQi
PiA8dGQgY2xhc3M9ImxpbmUiPjcwNjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40PC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7
PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NzA3PC90
ZD48dGQgY2xhc3M9ImhpdHMiPjQ8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAg
ICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IG5hbWUgPHNwYW4gY2xhc3M9ImsiPj08
L3NwYW4+IGNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5JRDxzcGFuIGNsYXNzPSJrIj4p
Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjcwODwv
dGQ+PHRkIGNsYXNzPSJoaXRzIj40PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAg
ICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xh
c3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NzA5PC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ8L3Rk
Pjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5p
Zjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPighPC9zcGFuPnR5cCA8c3BhbiBjbGFzcz0iayI+fHw8
L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4hPC9zcGFuPm5hbWUgPHNwYW4gY2xhc3M9ImsiPnx8PC9z
cGFuPiA8c3BhbiBjbGFzcz0iayI+ITwvc3Bhbj5jb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3Nw
YW4+T1RIRVI8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiI7Ijwvc3Bh
bj48c3BhbiBjbGFzcz0iayI+KSk8L3NwYW4+IGVycm9yPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+
PHNwYW4gY2xhc3M9InMiPiJVbmtub3duIG1lbWJlciBpbiBleGNlcHRpb24gYm9keSI8L3NwYW4+
PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBj
bGFzcz0ibGluZSI+NzEwPC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ8L3RkPjx0ZCBjbGFzcz0ic291
cmNlIj4gICAgICAgICAgICAgICAgICAgIHJldDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPm1lbWJl
cnM8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5wdXNoPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNw
YW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjcxMTwv
dGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAg
ICAgICAgICAgICB0eXBlPHNwYW4gY2xhc3M9ImsiPjo8L3NwYW4+ICAgICAgIDxzcGFuIGNsYXNz
PSJzIj4iZmllbGQiPC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj43MTI8L3Rk
Pjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAg
ICAgICA8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gICBuYW1lPHNwYW4gY2xhc3M9ImsiPjo8L3Nw
YW4+ICAgICAgIG5hbWU8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj52YWx1ZTwvdGQ+PC90cj48dHI+
PHRkIGNsYXNzPSJsaW5lIj43MTM8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9
InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gICBp
ZGxUeXBlPHNwYW4gY2xhc3M9ImsiPjo8L3NwYW4+ICAgIHR5cDwvdGQ+PC90cj48dHI+PHRkIGNs
YXNzPSJsaW5lIj43MTQ8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJj
ZSI+ICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gICBleHRBdHRy
czxzcGFuIGNsYXNzPSJrIj46PC9zcGFuPiAgIGVhPC90ZD48L3RyPjx0cj48dGQgY2xhc3M9Imxp
bmUiPjcxNTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAg
ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4p
Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NzE2PC90ZD48dGQgY2xhc3M9
ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFz
cz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NzE3PC90ZD48dGQg
Y2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNs
YXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj43MTg8L3RkPjx0
ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFz
cz0iayI+fTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBj
bGFzcz0ibGluZSI+NzE5PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3Vy
Y2UiPiAgICAgICAgPC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj43
MjA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDc8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAg
IDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IGVudW1fIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFu
PiA8c3BhbiBjbGFzcz0iayI+ZnVuY3Rpb248L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oKTwvc3Bh
bj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRk
IGNsYXNzPSJsaW5lIj43MjE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NTI8L3RkPjx0ZCBjbGFzcz0i
c291cmNlIj4gICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+
PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NzIyPC90ZD48dGQgY2xhc3M9
ImhpdHMiPjEwMzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNz
PSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPighPC9zcGFuPmNvbnN1bWU8c3BhbiBjbGFz
cz0iayI+KDwvc3Bhbj5JRDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+
ImVudW0iPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnJl
dHVybjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJo
aXQiPiA8dGQgY2xhc3M9ImxpbmUiPjcyMzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xPC90ZD48dGQg
Y2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bh
bj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjcyNDwvdGQ+PHRk
IGNsYXNzPSJoaXRzIj4xPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4g
Y2xhc3M9ImsiPnZhcjwvc3Bhbj4gbmFtZSA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gY29uc3Vt
ZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPklEPHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFu
IGNsYXNzPSJrIj58fDwvc3Bhbj4gZXJyb3I8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3BhbiBj
bGFzcz0icyI+Ik5vIG5hbWUgZm9yIGVudW0iPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bh
bj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjcyNTwvdGQ+PHRk
IGNsYXNzPSJoaXRzIj4xPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4g
Y2xhc3M9ImsiPnZhcjwvc3Bhbj4gcmV0IDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBj
bGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NzI2PC90ZD48
dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICB0
eXBlPHNwYW4gY2xhc3M9ImsiPjo8L3NwYW4+ICAgPHNwYW4gY2xhc3M9InMiPiJlbnVtIjwvc3Bh
bj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NzI3PC90ZD48dGQgY2xhc3M9ImhpdHMi
PjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj4sPC9z
cGFuPiAgIG5hbWU8c3BhbiBjbGFzcz0iayI+Ojwvc3Bhbj4gICBuYW1lPHNwYW4gY2xhc3M9Imsi
Pi48L3NwYW4+dmFsdWU8L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NzI4PC90ZD48dGQg
Y2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNs
YXNzPSJrIj4sPC9zcGFuPiAgIHZhbHVlczxzcGFuIGNsYXNzPSJrIj46PC9zcGFuPiA8c3BhbiBj
bGFzcz0iayI+W108L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjcyOTwvdGQ+
PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3Bh
biBjbGFzcz0iayI+fTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRy
IGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjczMDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4x
PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9Imsi
PigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjcz
MTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAg
ICAgY29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPk9USEVSPHNwYW4gY2xhc3M9ImsiPiw8
L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4ieyI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+
IDxzcGFuIGNsYXNzPSJrIj58fDwvc3Bhbj4gZXJyb3I8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48
c3BhbiBjbGFzcz0icyI+Ik5vIGN1cmx5IGZvciBlbnVtIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+
KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj43MzI8
L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAg
IDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IHNhd19jb21tYSA8c3BhbiBjbGFzcz0iayI+PTwv
c3Bhbj4gPHNwYW4gY2xhc3M9ImsiPmZhbHNlPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFu
PjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NzMzPC90ZD48dGQg
Y2xhc3M9ImhpdHMiPjE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBj
bGFzcz0iayI+d2hpbGU8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNz
PSJrIj50cnVlPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+
ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjczNDwv
dGQ+PHRkIGNsYXNzPSJoaXRzIj40PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAg
ICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0i
aGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj43MzU8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDwvdGQ+PHRk
IGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+
IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPmNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5P
VEhFUjxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+In0iPC9zcGFuPjxz
cGFuIGNsYXNzPSJrIj4pKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3Ry
Pjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj43MzY8L3RkPjx0ZCBjbGFzcz0iaGl0
cyI+MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAgYWxsX3dzPHNw
YW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xh
c3M9ImxpbmUiPjczNzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xPC90ZD48dGQgY2xhc3M9InNvdXJj
ZSI+ICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNs
YXNzPSJrIj4oPC9zcGFuPnNhd19jb21tYTxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiBlcnJvcjxz
cGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4iVHJhaWxpbmcgY29tbWEgaW4g
ZW51bSI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9
ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NzM4PC90ZD48dGQgY2xhc3M9ImhpdHMiPjE8L3RkPjx0
ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAgIGNvbnN1bWU8c3BhbiBjbGFzcz0i
ayI+KDwvc3Bhbj5PVEhFUjxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+
IjsiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+fHw8L3Nw
YW4+IGVycm9yPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9InMiPiJObyBzZW1p
Y29sb24gYWZ0ZXIgZW51bSI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90
cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NzM5PC90ZD48dGQgY2xhc3M9Imhp
dHMiPjE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNs
YXNzPSJrIj5yZXR1cm48L3NwYW4+IHJldDxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90
cj48dHI+PHRkIGNsYXNzPSJsaW5lIj43NDA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQg
Y2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjwv
dGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NzQxPC90ZD48dGQgY2xh
c3M9ImhpdHMiPjM8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4g
Y2xhc3M9ImsiPnZhcjwvc3Bhbj4gdmFsIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiBjb25zdW1l
PHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+U1RSPHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFu
IGNsYXNzPSJrIj58fDwvc3Bhbj4gZXJyb3I8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3BhbiBj
bGFzcz0icyI+IlVuZXhwZWN0ZWQgdmFsdWUgaW4gZW51bSI8L3NwYW4+PHNwYW4gY2xhc3M9Imsi
Pik7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NzQy
PC90ZD48dGQgY2xhc3M9ImhpdHMiPjM8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAg
ICAgICAgcmV0PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+dmFsdWVzPHNwYW4gY2xhc3M9ImsiPi48
L3NwYW4+cHVzaDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPnZhbDxzcGFuIGNsYXNzPSJrIj4uPC9z
cGFuPnZhbHVlPHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+cmVwbGFjZTxzcGFuIGNsYXNzPSJrIj4o
PC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4vIi9nPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4sPC9zcGFu
PiA8c3BhbiBjbGFzcz0icyI+IiI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPikpOzwvc3Bhbj48L3Rk
PjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjc0MzwvdGQ+PHRkIGNsYXNz
PSJoaXRzIj4zPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIGFsbF93czxz
cGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNs
YXNzPSJsaW5lIj43NDQ8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MzwvdGQ+PHRkIGNsYXNzPSJzb3Vy
Y2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNz
PSJrIj4oPC9zcGFuPmNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5PVEhFUjxzcGFuIGNs
YXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+IiwiPC9zcGFuPjxzcGFuIGNsYXNzPSJr
Ij4pKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0i
aGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj43NDU8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MjwvdGQ+PHRk
IGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9Imsi
PigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjc0
NjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAg
ICAgICAgICAgICBzYXdfY29tbWEgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNz
PSJrIj50cnVlPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRk
IGNsYXNzPSJsaW5lIj43NDc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNv
dXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90cj48
dHI+PHRkIGNsYXNzPSJsaW5lIj43NDg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5lbHNlPC9zcGFuPiA8
c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xh
c3M9ImxpbmUiPjc0OTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xPC90ZD48dGQgY2xhc3M9InNvdXJj
ZSI+ICAgICAgICAgICAgICAgICAgICBzYXdfY29tbWEgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+
IDxzcGFuIGNsYXNzPSJrIj5mYWxzZTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3Rk
PjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NzUwPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+
PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bh
bj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NzUxPC90ZD48dGQgY2xhc3M9ImhpdHMi
PjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9z
cGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj43NTI8L3RkPjx0ZCBjbGFzcz0iaGl0
cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bh
bj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+
NzUzPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAg
PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj43NTQ8L3RkPjx0ZCBj
bGFzcz0iaGl0cyI+NDc8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxzcGFuIGNsYXNz
PSJrIj52YXI8L3NwYW4+IHR5cGVkZWYgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNs
YXNzPSJrIj5mdW5jdGlvbjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPigpPC9zcGFuPiA8c3BhbiBj
bGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9Imxp
bmUiPjc1NTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj41MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAg
ICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBj
bGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj43NTY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+OTk8
L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3Nw
YW4+IDxzcGFuIGNsYXNzPSJrIj4oITwvc3Bhbj5jb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3Nw
YW4+SUQ8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJ0eXBlZGVmIjwv
c3Bhbj48c3BhbiBjbGFzcz0iayI+KSk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5yZXR1cm48L3Nw
YW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRk
IGNsYXNzPSJsaW5lIj43NTc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MzwvdGQ+PHRkIGNsYXNzPSJz
b3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IHJldCA8c3BhbiBj
bGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0cj48
dGQgY2xhc3M9ImxpbmUiPjc1ODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0i
c291cmNlIj4gICAgICAgICAgICAgICAgdHlwZTxzcGFuIGNsYXNzPSJrIj46PC9zcGFuPiAgIDxz
cGFuIGNsYXNzPSJzIj4idHlwZWRlZiI8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9Imxp
bmUiPjc1OTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAg
ICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48
L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjc2MDwvdGQ+PHRkIGNs
YXNzPSJoaXRzIj4zPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgYWxsX3dzPHNw
YW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xh
c3M9ImxpbmUiPjc2MTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4zPC90ZD48dGQgY2xhc3M9InNvdXJj
ZSI+ICAgICAgICAgICAgcmV0PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+ZXh0QXR0cnMgPHNwYW4g
Y2xhc3M9ImsiPj08L3NwYW4+IGV4dGVuZGVkX2F0dHJzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bh
bj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjc2MjwvdGQ+PHRk
IGNsYXNzPSJoaXRzIj4zPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgYWxsX3dz
PHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQg
Y2xhc3M9ImxpbmUiPjc2MzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4zPC90ZD48dGQgY2xhc3M9InNv
dXJjZSI+ICAgICAgICAgICAgcmV0PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+aWRsVHlwZSA8c3Bh
biBjbGFzcz0iayI+PTwvc3Bhbj4gdHlwZTxzcGFuIGNsYXNzPSJrIj4oKTwvc3Bhbj4gPHNwYW4g
Y2xhc3M9ImsiPnx8PC9zcGFuPiBlcnJvcjxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNs
YXNzPSJzIj4iTm8gdHlwZSBpbiB0eXBlZGVmIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTs8L3Nw
YW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj43NjQ8L3RkPjx0
ZCBjbGFzcz0iaGl0cyI+MzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIGFsbF93
czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRk
IGNsYXNzPSJsaW5lIj43NjU8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MzwvdGQ+PHRkIGNsYXNzPSJz
b3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IG5hbWUgPHNwYW4g
Y2xhc3M9ImsiPj08L3NwYW4+IGNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5JRDxzcGFu
IGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+fHw8L3NwYW4+IGVycm9yPHNwYW4g
Y2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9InMiPiJObyBuYW1lIGluIHR5cGVkZWYiPC9z
cGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8
dGQgY2xhc3M9ImxpbmUiPjc2NjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4zPC90ZD48dGQgY2xhc3M9
InNvdXJjZSI+ICAgICAgICAgICAgcmV0PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+bmFtZSA8c3Bh
biBjbGFzcz0iayI+PTwvc3Bhbj4gbmFtZTxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnZhbHVlPHNw
YW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNz
PSJsaW5lIj43Njc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2Ui
PiAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0
ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj43Njg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+
MzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIGNvbnN1bWU8c3BhbiBjbGFzcz0i
ayI+KDwvc3Bhbj5PVEhFUjxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+
IjsiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+fHw8L3Nw
YW4+IGVycm9yPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9InMiPiJVbnRlcm1p
bmF0ZWQgdHlwZWRlZiI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48
dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NzY5PC90ZD48dGQgY2xhc3M9ImhpdHMi
PjM8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+cmV0
dXJuPC9zcGFuPiByZXQ8c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBj
bGFzcz0ibGluZSI+NzcwPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3Vy
Y2UiPiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3Nw
YW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjc3MTwvdGQ+PHRkIGNsYXNzPSJoaXRz
Ij48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDwvdGQ+PC90cj48dHIgY2xhc3M9Imhp
dCI+IDx0ZCBjbGFzcz0ibGluZSI+NzcyPC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ3PC90ZD48dGQg
Y2xhc3M9InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiBpbXBsZW1l
bnRzXyA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPmZ1bmN0aW9uPC9z
cGFuPiA8c3BhbiBjbGFzcz0iayI+KCk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwv
dGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NzczPC90ZD48dGQgY2xh
c3M9ImhpdHMiPjQ4PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgYWxsX3dzPHNw
YW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xh
c3M9ImxpbmUiPjc3NDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40ODwvdGQ+PHRkIGNsYXNzPSJzb3Vy
Y2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IHRhcmdldCA8c3BhbiBj
bGFzcz0iayI+PTwvc3Bhbj4gY29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPklEPHNwYW4g
Y2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0i
bGluZSI+Nzc1PC90ZD48dGQgY2xhc3M9ImhpdHMiPjk1PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+
ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KCE8
L3NwYW4+dGFyZ2V0PHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5yZXR1
cm48L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0
Ij4gPHRkIGNsYXNzPSJsaW5lIj43NzY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTwvdGQ+PHRkIGNs
YXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IHcgPHNw
YW4gY2xhc3M9ImsiPj08L3NwYW4+IGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90
ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj43Nzc8L3RkPjx0ZCBjbGFz
cz0iaGl0cyI+MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNz
PSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+Y29uc3VtZTxzcGFuIGNsYXNz
PSJrIj4oPC9zcGFuPklEPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4i
aW1wbGVtZW50cyI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPikpPC9zcGFuPiA8c3BhbiBjbGFzcz0i
ayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjc3
ODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAg
ICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IHJldCA8c3BhbiBjbGFzcz0iayI+PTwv
c3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9Imxp
bmUiPjc3OTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAg
ICAgICAgICAgICAgICAgIHR5cGU8c3BhbiBjbGFzcz0iayI+Ojwvc3Bhbj4gICA8c3BhbiBjbGFz
cz0icyI+ImltcGxlbWVudHMiPC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj43
ODA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAg
ICAgICAgIDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiAgIHRhcmdldDxzcGFuIGNsYXNzPSJrIj46
PC9zcGFuPiB0YXJnZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj52YWx1ZTwvdGQ+PC90cj48dHI+
PHRkIGNsYXNzPSJsaW5lIj43ODE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9
InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjxzcGFuIGNs
YXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGlu
ZSI+NzgyPC90ZD48dGQgY2xhc3M9ImhpdHMiPjE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAg
ICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRy
IGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjc4MzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4x
PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj52
YXI8L3NwYW4+IGltcCA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gY29uc3VtZTxzcGFuIGNsYXNz
PSJrIj4oPC9zcGFuPklEPHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj58
fDwvc3Bhbj4gZXJyb3I8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0icyI+Iklu
Y29tcGxldGUgaW1wbGVtZW50cyBzdGF0ZW1lbnQiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwv
c3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjc4NDwvdGQ+
PHRkIGNsYXNzPSJoaXRzIj4xPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAg
IHJldDxzcGFuIGNsYXNzPSJrIj5bPC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4iaW1wbGVtZW50cyI8
L3NwYW4+PHNwYW4gY2xhc3M9ImsiPl08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiBp
bXA8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj52YWx1ZTxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwv
dGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+Nzg1PC90ZD48dGQgY2xh
c3M9ImhpdHMiPjE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgYWxsX3dz
PHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQg
Y2xhc3M9ImxpbmUiPjc4NjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xPC90ZD48dGQgY2xhc3M9InNv
dXJjZSI+ICAgICAgICAgICAgICAgIGNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5PVEhF
UjxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+IjsiPC9zcGFuPjxzcGFu
IGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+fHw8L3NwYW4+IGVycm9yPHNwYW4g
Y2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9InMiPiJObyB0ZXJtaW5hdGluZyA7IGZvciBp
bXBsZW1lbnRzIHN0YXRlbWVudCI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+
PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+Nzg3PC90ZD48dGQgY2xhc3M9
ImhpdHMiPjE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4gY2xh
c3M9ImsiPnJldHVybjwvc3Bhbj4gcmV0PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3Ry
Pjx0cj48dGQgY2xhc3M9ImxpbmUiPjc4ODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBj
bGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48L3RkPjwv
dHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+Nzg5PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRk
IGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5lbHNlPC9zcGFuPiA8
c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+Nzkw
PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAg
ICAgICA8c3BhbiBjbGFzcz0iYyI+Ly8gcm9sbGJhY2s8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFz
cz0ibWlzcyI+IDx0ZCBjbGFzcz0ibGluZSI+NzkxPC90ZD48dGQgY2xhc3M9ImhpdHMiPjA8L3Rk
Pjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgdG9rZW5zPHNwYW4gY2xhc3M9Imsi
Pi48L3NwYW4+dW5zaGlmdDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPnc8c3BhbiBjbGFzcz0iayI+
KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0ibWlzcyI+IDx0ZCBjbGFzcz0ibGluZSI+Nzky
PC90ZD48dGQgY2xhc3M9ImhpdHMiPjA8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAg
ICAgICAgdG9rZW5zPHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+dW5zaGlmdDxzcGFuIGNsYXNzPSJr
Ij4oPC9zcGFuPnRhcmdldDxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0
ZCBjbGFzcz0ibGluZSI+NzkzPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJz
b3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90cj48dHI+
PHRkIGNsYXNzPSJsaW5lIj43OTQ8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9
InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+
Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+Nzk1PC90ZD48dGQgY2xhc3M9
ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPC90ZD48L3RyPjx0ciBjbGFz
cz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj43OTY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDc8L3Rk
Pjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IGRl
ZmluaXRpb24gPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5mdW5jdGlv
bjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPigpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bh
bj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjc5NzwvdGQ+PHRk
IGNsYXNzPSJoaXRzIj4xNDQ8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3Bh
biBjbGFzcz0iayI+cmV0dXJuPC9zcGFuPiAgY2FsbGJhY2s8c3BhbiBjbGFzcz0iayI+KCk8L3Nw
YW4+ICAgICAgPHNwYW4gY2xhc3M9ImsiPnx8PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNz
PSJsaW5lIj43OTg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+
ICAgICAgICAgICAgICAgICAgICBpbnRlcmZhY2VfPHNwYW4gY2xhc3M9ImsiPigpPC9zcGFuPiAg
ICA8c3BhbiBjbGFzcz0iayI+fHw8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUi
Pjc5OTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAg
ICAgICAgICAgICAgIHBhcnRpYWw8c3BhbiBjbGFzcz0iayI+KCk8L3NwYW4+ICAgICAgIDxzcGFu
IGNsYXNzPSJrIj58fDwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+ODAwPC90
ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAg
ICAgICAgZGljdGlvbmFyeTxzcGFuIGNsYXNzPSJrIj4oKTwvc3Bhbj4gICAgPHNwYW4gY2xhc3M9
ImsiPnx8PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj44MDE8L3RkPjx0ZCBj
bGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICBl
eGNlcHRpb248c3BhbiBjbGFzcz0iayI+KCk8L3NwYW4+ICAgICA8c3BhbiBjbGFzcz0iayI+fHw8
L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjgwMjwvdGQ+PHRkIGNsYXNzPSJo
aXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAgIGVudW1fPHNw
YW4gY2xhc3M9ImsiPigpPC9zcGFuPiAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj58fDwvc3Bhbj48
L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+ODAzPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwv
dGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAgdHlwZWRlZjxzcGFuIGNs
YXNzPSJrIj4oKTwvc3Bhbj4gICAgICAgPHNwYW4gY2xhc3M9ImsiPnx8PC9zcGFuPjwvdGQ+PC90
cj48dHI+PHRkIGNsYXNzPSJsaW5lIj44MDQ8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQg
Y2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICBpbXBsZW1lbnRzXzxzcGFuIGNsYXNz
PSJrIj4oKTwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+ODA1PC90ZD48dGQg
Y2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAg
PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjgw
NjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxz
cGFuIGNsYXNzPSJrIj59PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48
dHI+PHRkIGNsYXNzPSJsaW5lIj44MDc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+ICAgICAgICA8L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9
ImxpbmUiPjgwODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40NzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2Ui
PiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gZGVmaW5pdGlvbnMgPHNwYW4gY2xh
c3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5mdW5jdGlvbjwvc3Bhbj4gPHNwYW4gY2xh
c3M9ImsiPigpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNs
YXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjgwOTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40Nzwv
dGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bh
bj4gPHNwYW4gY2xhc3M9ImsiPighPC9zcGFuPnRva2VuczxzcGFuIGNsYXNzPSJrIj4uPC9zcGFu
Pmxlbmd0aDxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+cmV0dXJuPC9z
cGFuPiA8c3BhbiBjbGFzcz0iayI+W107PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+
IDx0ZCBjbGFzcz0ibGluZSI+ODEwPC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ3PC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gZGVmcyA8
c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPltdOzwvc3Bhbj48L3RkPjwv
dHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjgxMTwvdGQ+PHRkIGNsYXNzPSJo
aXRzIj40NzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJr
Ij53aGlsZTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPnRy
dWU8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFu
PjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+ODEyPC90ZD48dGQg
Y2xhc3M9ImhpdHMiPjE0NDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8
c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiBlYSA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gZXh0
ZW5kZWRfYXR0cnM8c3BhbiBjbGFzcz0iayI+KCk8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xh
c3M9ImxpbmUiPjgxMzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNl
Ij4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+ICAgZGVmIDxzcGFuIGNs
YXNzPSJrIj49PC9zcGFuPiBkZWZpbml0aW9uPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3Rk
PjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjgxNDwvdGQ+PHRkIGNsYXNz
PSJoaXRzIj4xNDQ8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4g
Y2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KCE8L3NwYW4+ZGVmPHNwYW4gY2xh
c3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xh
c3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+ODE1PC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ3PC90
ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+
aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPmVhPHNwYW4gY2xhc3M9ImsiPi48L3Nw
YW4+bGVuZ3RoPHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IGVycm9yPHNwYW4gY2xhc3M9ImsiPig8
L3NwYW4+PHNwYW4gY2xhc3M9InMiPiJTdHJheSBleHRlbmRlZCBhdHRyaWJ1dGVzIjwvc3Bhbj48
c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNs
YXNzPSJsaW5lIj44MTY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDc8L3RkPjx0ZCBjbGFzcz0ic291
cmNlIj4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5icmVhazwvc3Bhbj48c3Bh
biBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+ODE3PC90
ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAg
ICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQg
Y2xhc3M9ImxpbmUiPjgxODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj45NzwvdGQ+PHRkIGNsYXNzPSJz
b3VyY2UiPiAgICAgICAgICAgICAgICBkZWY8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5leHRBdHRy
cyA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gZWE8c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3Rk
PjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjgxOTwvdGQ+PHRkIGNsYXNz
PSJoaXRzIj45NzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICBkZWZzPHNw
YW4gY2xhc3M9ImsiPi48L3NwYW4+cHVzaDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPmRlZjxzcGFu
IGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+ODIwPC90
ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxz
cGFuIGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFz
cz0ibGluZSI+ODIxPC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ3PC90ZD48dGQgY2xhc3M9InNvdXJj
ZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnJldHVybjwvc3Bhbj4gZGVmczxzcGFuIGNs
YXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj44MjI8L3RkPjx0
ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFz
cz0iayI+fTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNz
PSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjgyMzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40NzwvdGQ+
PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gcmVz
IDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiBkZWZpbml0aW9uczxzcGFuIGNsYXNzPSJrIj4oKTs8
L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj44MjQ8L3Rk
Pjx0ZCBjbGFzcz0iaGl0cyI+NDc8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxzcGFu
IGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+dG9rZW5zPHNwYW4g
Y2xhc3M9ImsiPi48L3NwYW4+bGVuZ3RoPHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IGVycm9yPHNw
YW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9InMiPiJVbnJlY29nbmlzZWQgdG9rZW5z
Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0
Ij4gPHRkIGNsYXNzPSJsaW5lIj44MjU8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDc8L3RkPjx0ZCBj
bGFzcz0ic291cmNlIj4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj5yZXR1cm48L3NwYW4+IHJlczxz
cGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj44MjY8
L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgIDxzcGFuIGNs
YXNzPSJrIj59PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRk
IGNsYXNzPSJsaW5lIj44Mjc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNv
dXJjZSI+IDwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+ODI4PC90
ZD48dGQgY2xhc3M9ImhpdHMiPjE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgPHNwYW4gY2xh
c3M9ImsiPnZhcjwvc3Bhbj4gb2JqIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFz
cz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+ODI5PC90ZD48dGQg
Y2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgcGFyc2U8c3BhbiBj
bGFzcz0iayI+Ojwvc3Bhbj4gIDxzcGFuIGNsYXNzPSJrIj5mdW5jdGlvbjwvc3Bhbj4gPHNwYW4g
Y2xhc3M9ImsiPig8L3NwYW4+c3RyPHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNz
PSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+
ODMwPC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ3PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAg
ICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gdG9rZW5zIDxzcGFuIGNsYXNzPSJrIj49
PC9zcGFuPiB0b2tlbmlzZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPnN0cjxzcGFuIGNsYXNzPSJr
Ij4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+ODMxPC90ZD48dGQgY2xh
c3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNz
PSJjIj4vLyBjb25zb2xlLmxvZyh0b2tlbnMpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJo
aXQiPiA8dGQgY2xhc3M9ImxpbmUiPjgzMjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40NzwvdGQ+PHRk
IGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5yZXR1cm48L3NwYW4+
IHBhcnNlPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+dG9rZW5zPHNwYW4gY2xhc3M9ImsiPik7PC9z
cGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj44MzM8L3RkPjx0ZCBjbGFzcz0iaGl0
cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bh
bj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+ODM0PC90ZD48dGQgY2xhc3M9ImhpdHMi
PjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48c3Bh
biBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9
ImxpbmUiPjgzNTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+
ICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNw
YW4gY2xhc3M9ImsiPnR5cGVvZjwvc3Bhbj4gbW9kdWxlIDxzcGFuIGNsYXNzPSJrIj4hPT08L3Nw
YW4+IDxzcGFuIGNsYXNzPSJzIj4idW5kZWZpbmVkIjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPiZh
bXA7JmFtcDs8L3NwYW4+IG1vZHVsZTxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPmV4cG9ydHM8c3Bh
biBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0
ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj44MzY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+
MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgbW9kdWxlPHNwYW4gY2xhc3M9ImsiPi48
L3NwYW4+ZXhwb3J0cyA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gb2JqPHNwYW4gY2xhc3M9Imsi
Pjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjgzNzwvdGQ+PHRkIGNsYXNz
PSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgPHNwYW4gY2xhc3M9ImsiPn08L3Nw
YW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjgzODwvdGQ+PHRkIGNsYXNzPSJoaXRz
Ij48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgPHNwYW4gY2xhc3M9ImsiPmVsc2U8L3NwYW4+
IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9Im1pc3MiPiA8dGQg
Y2xhc3M9ImxpbmUiPjgzOTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4wPC90ZD48dGQgY2xhc3M9InNv
dXJjZSI+ICAgICAgICB3aW5kb3c8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5XZWJJREwyIDxzcGFu
IGNsYXNzPSJrIj49PC9zcGFuPiBvYmo8c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+
PHRyPjx0ZCBjbGFzcz0ibGluZSI+ODQwPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNs
YXNzPSJzb3VyY2UiPiAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0
ZCBjbGFzcz0ibGluZSI+ODQxPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJz
b3VyY2UiPjxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4oKSk7PC9zcGFu
PjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+PC9kaXY+PC9ib2R5PjwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvaW5kZXguanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL2luZGV4LmpzCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwOWY5ZWI0NmFhNy4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi9p
bmRleC5qcworKysgL2Rldi9udWxsCkBAIC0xICswLDAgQEAKLW1vZHVsZS5leHBvcnRzID0gcmVx
dWlyZSgiLi9saWIvd2ViaWRsMi5qcyIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi9wYWNrYWdlLWxvY2su
anNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvcGFja2FnZS1sb2NrLmpzb24KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IGIwNTgxMDM3ZmU5Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3BhY2thZ2UtbG9jay5qc29u
CisrKyAvZGV2L251bGwKQEAgLTEsNzAwICswLDAgQEAKLXsKLSAgIm5hbWUiOiAid2ViaWRsMiIs
Ci0gICJ2ZXJzaW9uIjogIjEzLjAuMyIsCi0gICJsb2NrZmlsZVZlcnNpb24iOiAxLAotICAicmVx
dWlyZXMiOiB0cnVlLAotICAiZGVwZW5kZW5jaWVzIjogewotICAgICJAYmFiZWwvY29kZS1mcmFt
ZSI6IHsKLSAgICAgICJ2ZXJzaW9uIjogIjcuMC4wLWJldGEuNDAiLAotICAgICAgInJlc29sdmVk
IjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL0BiYWJlbC9jb2RlLWZyYW1lLy0vY29kZS1m
cmFtZS03LjAuMC1iZXRhLjQwLnRneiIsCi0gICAgICAiaW50ZWdyaXR5IjogInNoYTUxMi1lVlhR
U2J1L1JpbVU2T0tjSzIvZ0RKVlRGY3hYSkk0c0hiSXF3Mm1od01aZVEyYXMvOEFoUzlER2tFRG9I
TUJCTkpaNUIwVVM2M2xGNTZ4K0tEY3hpQT09IiwKLSAgICAgICJkZXYiOiB0cnVlLAotICAgICAg
InJlcXVpcmVzIjogewotICAgICAgICAiQGJhYmVsL2hpZ2hsaWdodCI6ICI3LjAuMC1iZXRhLjQw
IgotICAgICAgfQotICAgIH0sCi0gICAgIkBiYWJlbC9oaWdobGlnaHQiOiB7Ci0gICAgICAidmVy
c2lvbiI6ICI3LjAuMC1iZXRhLjQwIiwKLSAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lz
dHJ5Lm5wbWpzLm9yZy9AYmFiZWwvaGlnaGxpZ2h0Ly0vaGlnaGxpZ2h0LTcuMC4wLWJldGEuNDAu
dGd6IiwKLSAgICAgICJpbnRlZ3JpdHkiOiAic2hhNTEyLW1PaGhUcnppZVY2Vk83b2RnekZHRmFw
aXdSSzBlaThSWlJoZnpIaGI2Y3BYM1FNOFhYdUNMWFdqTjhxQkI3SlJlRGRVUjgwVjNMRmZGckdV
WWV2aE5nPT0iLAotICAgICAgImRldiI6IHRydWUsCi0gICAgICAicmVxdWlyZXMiOiB7Ci0gICAg
ICAgICJjaGFsayI6ICJeMi4wLjAiLAotICAgICAgICAiZXN1dGlscyI6ICJeMi4wLjIiLAotICAg
ICAgICAianMtdG9rZW5zIjogIl4zLjAuMCIKLSAgICAgIH0KLSAgICB9LAotICAgICJhbnNpLXJl
Z2V4IjogewotICAgICAgInZlcnNpb24iOiAiMy4wLjAiLAotICAgICAgInJlc29sdmVkIjogImh0
dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2Fuc2ktcmVnZXgvLS9hbnNpLXJlZ2V4LTMuMC4wLnRn
eiIsCi0gICAgICAiaW50ZWdyaXR5IjogInNoYTEtN1FNWHd5SUdUM2xHYkFLV2E5MjJCYXMzMlpn
PSIsCi0gICAgICAiZGV2IjogdHJ1ZQotICAgIH0sCi0gICAgImFuc2ktc3R5bGVzIjogewotICAg
ICAgInZlcnNpb24iOiAiMy4yLjEiLAotICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0
cnkubnBtanMub3JnL2Fuc2ktc3R5bGVzLy0vYW5zaS1zdHlsZXMtMy4yLjEudGd6IiwKLSAgICAg
ICJpbnRlZ3JpdHkiOiAic2hhNTEyLVZUMFpJNmtaUmRUaDhZeUp3M1NNYlltL3UrTnFmc0F4RXBX
TzBQZjlzcTgvZTk0V3h4T3BQS3g5RlIxRmx5Q3RPVkROT1ErOG50bHFGeGlSYytyNXFBPT0iLAot
ICAgICAgImRldiI6IHRydWUsCi0gICAgICAicmVxdWlyZXMiOiB7Ci0gICAgICAgICJjb2xvci1j
b252ZXJ0IjogIl4xLjkuMCIKLSAgICAgIH0KLSAgICB9LAotICAgICJhcnItZGlmZiI6IHsKLSAg
ICAgICJ2ZXJzaW9uIjogIjIuMC4wIiwKLSAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lz
dHJ5Lm5wbWpzLm9yZy9hcnItZGlmZi8tL2Fyci1kaWZmLTIuMC4wLnRneiIsCi0gICAgICAiaW50
ZWdyaXR5IjogInNoYTEtanp1Q2Y1VmFpOVpwYVg1S1FsYXNQT3JqVnM4PSIsCi0gICAgICAiZGV2
IjogdHJ1ZSwKLSAgICAgICJyZXF1aXJlcyI6IHsKLSAgICAgICAgImFyci1mbGF0dGVuIjogIl4x
LjAuMSIKLSAgICAgIH0KLSAgICB9LAotICAgICJhcnItZmxhdHRlbiI6IHsKLSAgICAgICJ2ZXJz
aW9uIjogIjEuMS4wIiwKLSAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpz
Lm9yZy9hcnItZmxhdHRlbi8tL2Fyci1mbGF0dGVuLTEuMS4wLnRneiIsCi0gICAgICAiaW50ZWdy
aXR5IjogInNoYTUxMi1MM2hLVjVSL3A1bzgxUjdPMDJJR253cERta3A2RTk4MlhodGJ1d1NlM080
cU90TU1NdG9kaWNBU0ExQ255MlUrYUNYY05wbWwrbTRkUHN2c0ozamF0Zz09IiwKLSAgICAgICJk
ZXYiOiB0cnVlCi0gICAgfSwKLSAgICAiYXJyYXktdW5pcXVlIjogewotICAgICAgInZlcnNpb24i
OiAiMC4yLjEiLAotICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3Jn
L2FycmF5LXVuaXF1ZS8tL2FycmF5LXVuaXF1ZS0wLjIuMS50Z3oiLAotICAgICAgImludGVncml0
eSI6ICJzaGExLW9kbDh5dnk4SmlYTWNQcmM2emFsREZpd0dsTT0iLAotICAgICAgImRldiI6IHRy
dWUKLSAgICB9LAotICAgICJiYWxhbmNlZC1tYXRjaCI6IHsKLSAgICAgICJ2ZXJzaW9uIjogIjEu
MC4wIiwKLSAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9iYWxh
bmNlZC1tYXRjaC8tL2JhbGFuY2VkLW1hdGNoLTEuMC4wLnRneiIsCi0gICAgICAiaW50ZWdyaXR5
IjogInNoYTEtaWJUUm1hc3I3a25lRms2Z0s0bk9SaTF4dDJjPSIsCi0gICAgICAiZGV2IjogdHJ1
ZQotICAgIH0sCi0gICAgImJyYWNlLWV4cGFuc2lvbiI6IHsKLSAgICAgICJ2ZXJzaW9uIjogIjEu
MS4xMSIsCi0gICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvYnJh
Y2UtZXhwYW5zaW9uLy0vYnJhY2UtZXhwYW5zaW9uLTEuMS4xMS50Z3oiLAotICAgICAgImludGVn
cml0eSI6ICJzaGE1MTItaUN1UEhERmdySFg3SDJ2RUkvNXhwejA3elNIQjAwVHB1Z3FobVl0Vm1N
TzY1MThtQ3VSTW9PWUZsZEVCbDBnMTg3dWZvemRhSGdXS2NZRmI2MXFHaUE9PSIsCi0gICAgICAi
ZGV2IjogdHJ1ZSwKLSAgICAgICJyZXF1aXJlcyI6IHsKLSAgICAgICAgImJhbGFuY2VkLW1hdGNo
IjogIl4xLjAuMCIsCi0gICAgICAgICJjb25jYXQtbWFwIjogIjAuMC4xIgotICAgICAgfQotICAg
IH0sCi0gICAgImJyYWNlcyI6IHsKLSAgICAgICJ2ZXJzaW9uIjogIjEuOC41IiwKLSAgICAgICJy
ZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9icmFjZXMvLS9icmFjZXMtMS44
LjUudGd6IiwKLSAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS11bmVXTGhMZitXbld0MmNSNlJTM040
Vjc5cWM9IiwKLSAgICAgICJkZXYiOiB0cnVlLAotICAgICAgInJlcXVpcmVzIjogewotICAgICAg
ICAiZXhwYW5kLXJhbmdlIjogIl4xLjguMSIsCi0gICAgICAgICJwcmVzZXJ2ZSI6ICJeMC4yLjAi
LAotICAgICAgICAicmVwZWF0LWVsZW1lbnQiOiAiXjEuMS4yIgotICAgICAgfQotICAgIH0sCi0g
ICAgImJyb3dzZXItc3Rkb3V0IjogewotICAgICAgInZlcnNpb24iOiAiMS4zLjEiLAotICAgICAg
InJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2Jyb3dzZXItc3Rkb3V0Ly0v
YnJvd3Nlci1zdGRvdXQtMS4zLjEudGd6IiwKLSAgICAgICJpbnRlZ3JpdHkiOiAic2hhNTEyLXFo
QVZJMStBdjJYN3FlbE9mQUlZd1hPTm9vZDZYbFpFL2ZYYUJTbVcvVDVTekxBbUNnemkrZWlXRTdm
VXZiSGFlTkJRSDEzVWZ0anBYeHNmTGtNcGd3PT0iLAotICAgICAgImRldiI6IHRydWUKLSAgICB9
LAotICAgICJjaGFsayI6IHsKLSAgICAgICJ2ZXJzaW9uIjogIjIuMy4yIiwKLSAgICAgICJyZXNv
bHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9jaGFsay8tL2NoYWxrLTIuMy4yLnRn
eiIsCi0gICAgICAiaW50ZWdyaXR5IjogInNoYTUxMi1aTTRqMi9sZC9ZWkRjM01hOFBnTjdneUFr
K2tITU1NeXpMTnJ5Q1BHaFdyc2ZBdURWZXVpZDVicFJGVERnTUg5SkJLMmxBNGR5eUFra1pZRi9X
Y3FEUT09IiwKLSAgICAgICJkZXYiOiB0cnVlLAotICAgICAgInJlcXVpcmVzIjogewotICAgICAg
ICAiYW5zaS1zdHlsZXMiOiAiXjMuMi4xIiwKLSAgICAgICAgImVzY2FwZS1zdHJpbmctcmVnZXhw
IjogIl4xLjAuNSIsCi0gICAgICAgICJzdXBwb3J0cy1jb2xvciI6ICJeNS4zLjAiCi0gICAgICB9
Ci0gICAgfSwKLSAgICAiY29sb3ItY29udmVydCI6IHsKLSAgICAgICJ2ZXJzaW9uIjogIjEuOS4x
IiwKLSAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9jb2xvci1j
b252ZXJ0Ly0vY29sb3ItY29udmVydC0xLjkuMS50Z3oiLAotICAgICAgImludGVncml0eSI6ICJz
aGE1MTItbWpHYW5JaXdRSnNrQ0MxOHJQUjZPbXJaNmZtMkxjN1BlR0ZZd0NteTVKMzR3QzZGMVB6
ZEdMNnhlTWZtZ2ljZlljTkxHdVZGQTNXelh0SURDUVNaeFE9PSIsCi0gICAgICAiZGV2IjogdHJ1
ZSwKLSAgICAgICJyZXF1aXJlcyI6IHsKLSAgICAgICAgImNvbG9yLW5hbWUiOiAiXjEuMS4xIgot
ICAgICAgfQotICAgIH0sCi0gICAgImNvbG9yLW5hbWUiOiB7Ci0gICAgICAidmVyc2lvbiI6ICIx
LjEuMyIsCi0gICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvY29s
b3ItbmFtZS8tL2NvbG9yLW5hbWUtMS4xLjMudGd6IiwKLSAgICAgICJpbnRlZ3JpdHkiOiAic2hh
MS1wOUJWaTlpY1F2ZVYzVUl5ajNRSU1jcFR2Q1U9IiwKLSAgICAgICJkZXYiOiB0cnVlCi0gICAg
fSwKLSAgICAiY29tbWFuZGVyIjogewotICAgICAgInZlcnNpb24iOiAiMi4xMS4wIiwKLSAgICAg
ICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9jb21tYW5kZXIvLS9jb21t
YW5kZXItMi4xMS4wLnRneiIsCi0gICAgICAiaW50ZWdyaXR5IjogInNoYTUxMi1iMDU1M3VZQTVZ
QUVHZ3lZSUdZUk96S1E3WDVSQXFlZGtmamlaeHdpMGtMMWczYk9hQk5OWmZZa3p0L0NMMHVtZ0Q1
d2M5SmVjMkZiQjk4Q2prTVJ2UT09IiwKLSAgICAgICJkZXYiOiB0cnVlCi0gICAgfSwKLSAgICAi
Y29uY2F0LW1hcCI6IHsKLSAgICAgICJ2ZXJzaW9uIjogIjAuMC4xIiwKLSAgICAgICJyZXNvbHZl
ZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9jb25jYXQtbWFwLy0vY29uY2F0LW1hcC0w
LjAuMS50Z3oiLAotICAgICAgImludGVncml0eSI6ICJzaGExLTJLbHIxMy9XamZkNU9uTURhanVn
MVVCZFIzcz0iLAotICAgICAgImRldiI6IHRydWUKLSAgICB9LAotICAgICJkZWJ1ZyI6IHsKLSAg
ICAgICJ2ZXJzaW9uIjogIjMuMS4wIiwKLSAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lz
dHJ5Lm5wbWpzLm9yZy9kZWJ1Zy8tL2RlYnVnLTMuMS4wLnRneiIsCi0gICAgICAiaW50ZWdyaXR5
IjogInNoYTUxMi1PWDhYcVA3LzFhOWNxa3hZdzJ5WHNzMTVmMjZOS1dCcERYUWQwL3VLL0tQcWRR
aHhiUGE5OTRobnpqY0UyVnFRcERzbGY1NTcyM2NLUFVPR1NtTVkzZz09IiwKLSAgICAgICJkZXYi
OiB0cnVlLAotICAgICAgInJlcXVpcmVzIjogewotICAgICAgICAibXMiOiAiMi4wLjAiCi0gICAg
ICB9Ci0gICAgfSwKLSAgICAiZGlmZiI6IHsKLSAgICAgICJ2ZXJzaW9uIjogIjMuNS4wIiwKLSAg
ICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9kaWZmLy0vZGlmZi0z
LjUuMC50Z3oiLAotICAgICAgImludGVncml0eSI6ICJzaGE1MTItQTQ2cXRGZ2QrZzdwRFppbnBu
d2lSSnR4YkMxaHBnZjB1elAzaUc4OXNjSGswQVVDN0ExVEd4ZjVPaWlPVXYvSk1aUjhHT3Q4aEw5
MDBoVjBiT3k1eEE9PSIsCi0gICAgICAiZGV2IjogdHJ1ZQotICAgIH0sCi0gICAgImRpZmYtbWF0
Y2gtcGF0Y2giOiB7Ci0gICAgICAidmVyc2lvbiI6ICIxLjAuMCIsCi0gICAgICAicmVzb2x2ZWQi
OiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvZGlmZi1tYXRjaC1wYXRjaC8tL2RpZmYtbWF0
Y2gtcGF0Y2gtMS4wLjAudGd6IiwKLSAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1ITVBJT2trTlov
bGRrZU9mYXRIeTRJYTJNRWc9IiwKLSAgICAgICJkZXYiOiB0cnVlCi0gICAgfSwKLSAgICAiZXNj
YXBlLXN0cmluZy1yZWdleHAiOiB7Ci0gICAgICAidmVyc2lvbiI6ICIxLjAuNSIsCi0gICAgICAi
cmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvZXNjYXBlLXN0cmluZy1yZWdl
eHAvLS9lc2NhcGUtc3RyaW5nLXJlZ2V4cC0xLjAuNS50Z3oiLAotICAgICAgImludGVncml0eSI6
ICJzaGExLUcySEFWaUdRcU4vMnJqdXl6d0lBeWhNTGh0UT0iLAotICAgICAgImRldiI6IHRydWUK
LSAgICB9LAotICAgICJlc3V0aWxzIjogewotICAgICAgInZlcnNpb24iOiAiMi4wLjIiLAotICAg
ICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2VzdXRpbHMvLS9lc3V0
aWxzLTIuMC4yLnRneiIsCi0gICAgICAiaW50ZWdyaXR5IjogInNoYTEtQ3I5UEhLcGJ5eDk2blly
TWJlcFBxcUJMckpzPSIsCi0gICAgICAiZGV2IjogdHJ1ZQotICAgIH0sCi0gICAgImV4cGFuZC1i
cmFja2V0cyI6IHsKLSAgICAgICJ2ZXJzaW9uIjogIjAuMS41IiwKLSAgICAgICJyZXNvbHZlZCI6
ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9leHBhbmQtYnJhY2tldHMvLS9leHBhbmQtYnJh
Y2tldHMtMC4xLjUudGd6IiwKLSAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS0zd2NvVGpRcWdIelhN
NnhhOXlRUjVZSFJGM3M9IiwKLSAgICAgICJkZXYiOiB0cnVlLAotICAgICAgInJlcXVpcmVzIjog
ewotICAgICAgICAiaXMtcG9zaXgtYnJhY2tldCI6ICJeMC4xLjAiCi0gICAgICB9Ci0gICAgfSwK
LSAgICAiZXhwYW5kLXJhbmdlIjogewotICAgICAgInZlcnNpb24iOiAiMS44LjIiLAotICAgICAg
InJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2V4cGFuZC1yYW5nZS8tL2V4
cGFuZC1yYW5nZS0xLjguMi50Z3oiLAotICAgICAgImludGVncml0eSI6ICJzaGExLW9wbnYvVE5m
NG5JZXV1amlWK3g1WkUvSVV6Yz0iLAotICAgICAgImRldiI6IHRydWUsCi0gICAgICAicmVxdWly
ZXMiOiB7Ci0gICAgICAgICJmaWxsLXJhbmdlIjogIl4yLjEuMCIKLSAgICAgIH0KLSAgICB9LAot
ICAgICJleHBlY3QiOiB7Ci0gICAgICAidmVyc2lvbiI6ICIyMi40LjAiLAotICAgICAgInJlc29s
dmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2V4cGVjdC8tL2V4cGVjdC0yMi40LjAu
dGd6IiwKLSAgICAgICJpbnRlZ3JpdHkiOiAic2hhNTEyLUZpeTg2MmpUM3FjNzBod0lId3dDQk5J
U21hcUJyZldLS3J0cXlNSjZpd1pyKzZLWHRjbkhvalpGdGQ2M1RQUnZSbDhFUVRKK1lYWXkybEs2
LzZ1K0h3PT0iLAotICAgICAgImRldiI6IHRydWUsCi0gICAgICAicmVxdWlyZXMiOiB7Ci0gICAg
ICAgICJhbnNpLXN0eWxlcyI6ICJeMy4yLjAiLAotICAgICAgICAiamVzdC1kaWZmIjogIl4yMi40
LjAiLAotICAgICAgICAiamVzdC1nZXQtdHlwZSI6ICJeMjIuMS4wIiwKLSAgICAgICAgImplc3Qt
bWF0Y2hlci11dGlscyI6ICJeMjIuNC4wIiwKLSAgICAgICAgImplc3QtbWVzc2FnZS11dGlsIjog
Il4yMi40LjAiLAotICAgICAgICAiamVzdC1yZWdleC11dGlsIjogIl4yMi4xLjAiCi0gICAgICB9
Ci0gICAgfSwKLSAgICAiZXh0Z2xvYiI6IHsKLSAgICAgICJ2ZXJzaW9uIjogIjAuMy4yIiwKLSAg
ICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9leHRnbG9iLy0vZXh0
Z2xvYi0wLjMuMi50Z3oiLAotICAgICAgImludGVncml0eSI6ICJzaGExLUxoai9QUzlKcXlkbHpz
a0NQd0VkcW8yRFNhRT0iLAotICAgICAgImRldiI6IHRydWUsCi0gICAgICAicmVxdWlyZXMiOiB7
Ci0gICAgICAgICJpcy1leHRnbG9iIjogIl4xLjAuMCIKLSAgICAgIH0KLSAgICB9LAotICAgICJm
aWxlbmFtZS1yZWdleCI6IHsKLSAgICAgICJ2ZXJzaW9uIjogIjIuMC4xIiwKLSAgICAgICJyZXNv
bHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9maWxlbmFtZS1yZWdleC8tL2ZpbGVu
YW1lLXJlZ2V4LTIuMC4xLnRneiIsCi0gICAgICAiaW50ZWdyaXR5IjogInNoYTEtd2NTNXZ1UGds
eVhkc1FhM1hCNHdIK0x4aXlZPSIsCi0gICAgICAiZGV2IjogdHJ1ZQotICAgIH0sCi0gICAgImZp
bGwtcmFuZ2UiOiB7Ci0gICAgICAidmVyc2lvbiI6ICIyLjIuNCIsCi0gICAgICAicmVzb2x2ZWQi
OiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvZmlsbC1yYW5nZS8tL2ZpbGwtcmFuZ2UtMi4y
LjQudGd6IiwKLSAgICAgICJpbnRlZ3JpdHkiOiAic2hhNTEyLWNucmNDYmowMStqMmdURzkyMVZa
UG5IYmptZEFmOG9RVi9pR2VWMmtaeEdTeWZZampUeVk3OUVyc0sxV0pXTXB3NkRhQXBFWDcyYmlu
cUpFKy9kKzVRPT0iLAotICAgICAgImRldiI6IHRydWUsCi0gICAgICAicmVxdWlyZXMiOiB7Ci0g
ICAgICAgICJpcy1udW1iZXIiOiAiXjIuMS4wIiwKLSAgICAgICAgImlzb2JqZWN0IjogIl4yLjAu
MCIsCi0gICAgICAgICJyYW5kb21hdGljIjogIl4zLjAuMCIsCi0gICAgICAgICJyZXBlYXQtZWxl
bWVudCI6ICJeMS4xLjIiLAotICAgICAgICAicmVwZWF0LXN0cmluZyI6ICJeMS41LjIiCi0gICAg
ICB9Ci0gICAgfSwKLSAgICAiZm9yLWluIjogewotICAgICAgInZlcnNpb24iOiAiMS4wLjIiLAot
ICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2Zvci1pbi8tL2Zv
ci1pbi0xLjAuMi50Z3oiLAotICAgICAgImludGVncml0eSI6ICJzaGExLWdRYU5LVnFCUXV3S3h5
Ykc0aUFNTVB0dFhvQT0iLAotICAgICAgImRldiI6IHRydWUKLSAgICB9LAotICAgICJmb3Itb3du
IjogewotICAgICAgInZlcnNpb24iOiAiMC4xLjUiLAotICAgICAgInJlc29sdmVkIjogImh0dHBz
Oi8vcmVnaXN0cnkubnBtanMub3JnL2Zvci1vd24vLS9mb3Itb3duLTAuMS41LnRneiIsCi0gICAg
ICAiaW50ZWdyaXR5IjogInNoYTEtVW1YR2dhVHlsTnE3OFh5VkNiWjJPcWhGRU00PSIsCi0gICAg
ICAiZGV2IjogdHJ1ZSwKLSAgICAgICJyZXF1aXJlcyI6IHsKLSAgICAgICAgImZvci1pbiI6ICJe
MS4wLjEiCi0gICAgICB9Ci0gICAgfSwKLSAgICAiZnMucmVhbHBhdGgiOiB7Ci0gICAgICAidmVy
c2lvbiI6ICIxLjAuMCIsCi0gICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1q
cy5vcmcvZnMucmVhbHBhdGgvLS9mcy5yZWFscGF0aC0xLjAuMC50Z3oiLAotICAgICAgImludGVn
cml0eSI6ICJzaGExLUZRU3RKU01WaktwQTIwb25oOHNCUVJtVTZrOD0iLAotICAgICAgImRldiI6
IHRydWUKLSAgICB9LAotICAgICJnbG9iIjogewotICAgICAgInZlcnNpb24iOiAiNy4xLjIiLAot
ICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2dsb2IvLS9nbG9i
LTcuMS4yLnRneiIsCi0gICAgICAiaW50ZWdyaXR5IjogInNoYTUxMi1NSlRVZzFranVMZVFDSitj
Y0U0VnBhNmtLVlhrUFlKMm1PQ1F5VXVLTGNMUXNkck1DcEJQVWk4cVZFNitZdWFKa296ZUE5TnVz
VEF3M2hMcjhYZTVFUT09IiwKLSAgICAgICJkZXYiOiB0cnVlLAotICAgICAgInJlcXVpcmVzIjog
ewotICAgICAgICAiZnMucmVhbHBhdGgiOiAiXjEuMC4wIiwKLSAgICAgICAgImluZmxpZ2h0Ijog
Il4xLjAuNCIsCi0gICAgICAgICJpbmhlcml0cyI6ICIyIiwKLSAgICAgICAgIm1pbmltYXRjaCI6
ICJeMy4wLjQiLAotICAgICAgICAib25jZSI6ICJeMS4zLjAiLAotICAgICAgICAicGF0aC1pcy1h
YnNvbHV0ZSI6ICJeMS4wLjAiCi0gICAgICB9Ci0gICAgfSwKLSAgICAiZ2xvYi1iYXNlIjogewot
ICAgICAgInZlcnNpb24iOiAiMC4zLjAiLAotICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVn
aXN0cnkubnBtanMub3JnL2dsb2ItYmFzZS8tL2dsb2ItYmFzZS0wLjMuMC50Z3oiLAotICAgICAg
ImludGVncml0eSI6ICJzaGExLTI3Rms5aUliSEFzY3o0S3VveWkwbDk4T284UT0iLAotICAgICAg
ImRldiI6IHRydWUsCi0gICAgICAicmVxdWlyZXMiOiB7Ci0gICAgICAgICJnbG9iLXBhcmVudCI6
ICJeMi4wLjAiLAotICAgICAgICAiaXMtZ2xvYiI6ICJeMi4wLjAiCi0gICAgICB9Ci0gICAgfSwK
LSAgICAiZ2xvYi1wYXJlbnQiOiB7Ci0gICAgICAidmVyc2lvbiI6ICIyLjAuMCIsCi0gICAgICAi
cmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvZ2xvYi1wYXJlbnQvLS9nbG9i
LXBhcmVudC0yLjAuMC50Z3oiLAotICAgICAgImludGVncml0eSI6ICJzaGExLWdUZzljdHNGVDh6
UFV6YmFxUUx4Z3ZidHV5Zz0iLAotICAgICAgImRldiI6IHRydWUsCi0gICAgICAicmVxdWlyZXMi
OiB7Ci0gICAgICAgICJpcy1nbG9iIjogIl4yLjAuMCIKLSAgICAgIH0KLSAgICB9LAotICAgICJn
cm93bCI6IHsKLSAgICAgICJ2ZXJzaW9uIjogIjEuMTAuMyIsCi0gICAgICAicmVzb2x2ZWQiOiAi
aHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvZ3Jvd2wvLS9ncm93bC0xLjEwLjMudGd6IiwKLSAg
ICAgICJpbnRlZ3JpdHkiOiAic2hhNTEyLWhLbHNiQTVWdTN4c2gxQ2czSjdqU21YL1dhVzZBNW9C
ZXF6TTg4b05iQ1JRRnorelVhWG02eXhTNFJWeXRwMXNjQm9KelNZbDRZQUVPUUl0Nk84VjFRPT0i
LAotICAgICAgImRldiI6IHRydWUKLSAgICB9LAotICAgICJoYXMtZmxhZyI6IHsKLSAgICAgICJ2
ZXJzaW9uIjogIjMuMC4wIiwKLSAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5w
bWpzLm9yZy9oYXMtZmxhZy8tL2hhcy1mbGFnLTMuMC4wLnRneiIsCi0gICAgICAiaW50ZWdyaXR5
IjogInNoYTEtdGRSVTNDR1pyaUpXbWZOR2Zsb0g4N2xWdXYwPSIsCi0gICAgICAiZGV2IjogdHJ1
ZQotICAgIH0sCi0gICAgImhlIjogewotICAgICAgInZlcnNpb24iOiAiMS4xLjEiLAotICAgICAg
InJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2hlLy0vaGUtMS4xLjEudGd6
IiwKLSAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1rMEVQMGhzQWx6VVZINGhvd3ZKeDgwSitJLzA9
IiwKLSAgICAgICJkZXYiOiB0cnVlCi0gICAgfSwKLSAgICAiaW5mbGlnaHQiOiB7Ci0gICAgICAi
dmVyc2lvbiI6ICIxLjAuNiIsCi0gICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5u
cG1qcy5vcmcvaW5mbGlnaHQvLS9pbmZsaWdodC0xLjAuNi50Z3oiLAotICAgICAgImludGVncml0
eSI6ICJzaGExLVNiMWpNZGZRTFF3SnZKRUtFSFc2Z1dXMWJmaz0iLAotICAgICAgImRldiI6IHRy
dWUsCi0gICAgICAicmVxdWlyZXMiOiB7Ci0gICAgICAgICJvbmNlIjogIl4xLjMuMCIsCi0gICAg
ICAgICJ3cmFwcHkiOiAiMSIKLSAgICAgIH0KLSAgICB9LAotICAgICJpbmhlcml0cyI6IHsKLSAg
ICAgICJ2ZXJzaW9uIjogIjIuMC4zIiwKLSAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lz
dHJ5Lm5wbWpzLm9yZy9pbmhlcml0cy8tL2luaGVyaXRzLTIuMC4zLnRneiIsCi0gICAgICAiaW50
ZWdyaXR5IjogInNoYTEtWXp3c2crUGFRcVVDOVNSbUFpU0E5Q0NDWWQ0PSIsCi0gICAgICAiZGV2
IjogdHJ1ZQotICAgIH0sCi0gICAgImlzLWJ1ZmZlciI6IHsKLSAgICAgICJ2ZXJzaW9uIjogIjEu
MS42IiwKLSAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9pcy1i
dWZmZXIvLS9pcy1idWZmZXItMS4xLjYudGd6IiwKLSAgICAgICJpbnRlZ3JpdHkiOiAic2hhNTEy
LU5jZEFMd3BYa1RtNVp2dmJrN293T1VTdlZ2QktEZ0tQNS9ld2ZYRXpubVFGZnM0WlJtYW5PZUtC
VGpSVmprYTNRRm9ONlhKKzlGM1VTcWZIcVRhVTV3PT0iLAotICAgICAgImRldiI6IHRydWUKLSAg
ICB9LAotICAgICJpcy1kb3RmaWxlIjogewotICAgICAgInZlcnNpb24iOiAiMS4wLjMiLAotICAg
ICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2lzLWRvdGZpbGUvLS9p
cy1kb3RmaWxlLTEuMC4zLnRneiIsCi0gICAgICAiaW50ZWdyaXR5IjogInNoYTEtcHFMekwvMHQr
d1QxeWlYczBQYTRQUGVZb2VFPSIsCi0gICAgICAiZGV2IjogdHJ1ZQotICAgIH0sCi0gICAgImlz
LWVxdWFsLXNoYWxsb3ciOiB7Ci0gICAgICAidmVyc2lvbiI6ICIwLjEuMyIsCi0gICAgICAicmVz
b2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvaXMtZXF1YWwtc2hhbGxvdy8tL2lz
LWVxdWFsLXNoYWxsb3ctMC4xLjMudGd6IiwKLSAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1JamdK
ajhJaDNndlBwZG5xeE1SZFk0cWh4VFE9IiwKLSAgICAgICJkZXYiOiB0cnVlLAotICAgICAgInJl
cXVpcmVzIjogewotICAgICAgICAiaXMtcHJpbWl0aXZlIjogIl4yLjAuMCIKLSAgICAgIH0KLSAg
ICB9LAotICAgICJpcy1leHRlbmRhYmxlIjogewotICAgICAgInZlcnNpb24iOiAiMC4xLjEiLAot
ICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2lzLWV4dGVuZGFi
bGUvLS9pcy1leHRlbmRhYmxlLTAuMS4xLnRneiIsCi0gICAgICAiaW50ZWdyaXR5IjogInNoYTEt
WXJFUTRvbWtjVUdPUHNOcVlYMUhMakFkL0lrPSIsCi0gICAgICAiZGV2IjogdHJ1ZQotICAgIH0s
Ci0gICAgImlzLWV4dGdsb2IiOiB7Ci0gICAgICAidmVyc2lvbiI6ICIxLjAuMCIsCi0gICAgICAi
cmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvaXMtZXh0Z2xvYi8tL2lzLWV4
dGdsb2ItMS4wLjAudGd6IiwKLSAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1yRWFCZDhTVU5BV2dr
dnlQS1hZTWIveGlCc0E9IiwKLSAgICAgICJkZXYiOiB0cnVlCi0gICAgfSwKLSAgICAiaXMtZ2xv
YiI6IHsKLSAgICAgICJ2ZXJzaW9uIjogIjIuMC4xIiwKLSAgICAgICJyZXNvbHZlZCI6ICJodHRw
czovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9pcy1nbG9iLy0vaXMtZ2xvYi0yLjAuMS50Z3oiLAotICAg
ICAgImludGVncml0eSI6ICJzaGExLTBKYjVKcVBlMVdBUFA5L1pFWmpMQ0lqQzJHTT0iLAotICAg
ICAgImRldiI6IHRydWUsCi0gICAgICAicmVxdWlyZXMiOiB7Ci0gICAgICAgICJpcy1leHRnbG9i
IjogIl4xLjAuMCIKLSAgICAgIH0KLSAgICB9LAotICAgICJpcy1udW1iZXIiOiB7Ci0gICAgICAi
dmVyc2lvbiI6ICIyLjEuMCIsCi0gICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5u
cG1qcy5vcmcvaXMtbnVtYmVyLy0vaXMtbnVtYmVyLTIuMS4wLnRneiIsCi0gICAgICAiaW50ZWdy
aXR5IjogInNoYTEtQWZ5N3M1TkdPbFNQTDBac3poYmV6a25ia0k4PSIsCi0gICAgICAiZGV2Ijog
dHJ1ZSwKLSAgICAgICJyZXF1aXJlcyI6IHsKLSAgICAgICAgImtpbmQtb2YiOiAiXjMuMC4yIgot
ICAgICAgfQotICAgIH0sCi0gICAgImlzLXBvc2l4LWJyYWNrZXQiOiB7Ci0gICAgICAidmVyc2lv
biI6ICIwLjEuMSIsCi0gICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5v
cmcvaXMtcG9zaXgtYnJhY2tldC8tL2lzLXBvc2l4LWJyYWNrZXQtMC4xLjEudGd6IiwKLSAgICAg
ICJpbnRlZ3JpdHkiOiAic2hhMS1NelRjZVhkRGFPa3ZBVzV2dkFxSTljMXVhOFE9IiwKLSAgICAg
ICJkZXYiOiB0cnVlCi0gICAgfSwKLSAgICAiaXMtcHJpbWl0aXZlIjogewotICAgICAgInZlcnNp
b24iOiAiMi4wLjAiLAotICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMu
b3JnL2lzLXByaW1pdGl2ZS8tL2lzLXByaW1pdGl2ZS0yLjAuMC50Z3oiLAotICAgICAgImludGVn
cml0eSI6ICJzaGExLUlIdXJrV09FbWNCN0t0OGtDa0dvY2hBRFJYVT0iLAotICAgICAgImRldiI6
IHRydWUKLSAgICB9LAotICAgICJpc2FycmF5IjogewotICAgICAgInZlcnNpb24iOiAiMS4wLjAi
LAotICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2lzYXJyYXkv
LS9pc2FycmF5LTEuMC4wLnRneiIsCi0gICAgICAiaW50ZWdyaXR5IjogInNoYTEtdTVOZFNGZ3N1
aGFNQm9OSlY2VktQZ2NTVHhFPSIsCi0gICAgICAiZGV2IjogdHJ1ZQotICAgIH0sCi0gICAgImlz
b2JqZWN0IjogewotICAgICAgInZlcnNpb24iOiAiMi4xLjAiLAotICAgICAgInJlc29sdmVkIjog
Imh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2lzb2JqZWN0Ly0vaXNvYmplY3QtMi4xLjAudGd6
IiwKLSAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS04R1ZXRUphajhkb3U5R0p5K0JYSVFOaCtESWs9
IiwKLSAgICAgICJkZXYiOiB0cnVlLAotICAgICAgInJlcXVpcmVzIjogewotICAgICAgICAiaXNh
cnJheSI6ICIxLjAuMCIKLSAgICAgIH0KLSAgICB9LAotICAgICJqZXN0LWRpZmYiOiB7Ci0gICAg
ICAidmVyc2lvbiI6ICIyMi40LjAiLAotICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0
cnkubnBtanMub3JnL2plc3QtZGlmZi8tL2plc3QtZGlmZi0yMi40LjAudGd6IiwKLSAgICAgICJp
bnRlZ3JpdHkiOiAic2hhNTEyLSsvdDIwV21ua09rQjhNT2FHYVB6aUk4eldLeHF1TXZZdzRVYit3
T3ppN0FVaG1wRlh6NDNidVdTeFZvWm80SjVSbkNvenBHYlgzL0Zzc2pKNUtWOU53PT0iLAotICAg
ICAgImRldiI6IHRydWUsCi0gICAgICAicmVxdWlyZXMiOiB7Ci0gICAgICAgICJjaGFsayI6ICJe
Mi4wLjEiLAotICAgICAgICAiZGlmZiI6ICJeMy4yLjAiLAotICAgICAgICAiamVzdC1nZXQtdHlw
ZSI6ICJeMjIuMS4wIiwKLSAgICAgICAgInByZXR0eS1mb3JtYXQiOiAiXjIyLjQuMCIKLSAgICAg
IH0KLSAgICB9LAotICAgICJqZXN0LWdldC10eXBlIjogewotICAgICAgInZlcnNpb24iOiAiMjIu
MS4wIiwKLSAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9qZXN0
LWdldC10eXBlLy0vamVzdC1nZXQtdHlwZS0yMi4xLjAudGd6IiwKLSAgICAgICJpbnRlZ3JpdHki
OiAic2hhNTEyLW5EOTdJVk9sTlA2ZmpJTjVpN2o1WFJIK2hGc0hMN1ZsYXVCYnpSdnVlYWFVZTcw
dW9ocmt6N3BML044bHgvSUF3WlJUSi8vd09kVmdoODVPZ003ZzN3PT0iLAotICAgICAgImRldiI6
IHRydWUKLSAgICB9LAotICAgICJqZXN0LW1hdGNoZXItdXRpbHMiOiB7Ci0gICAgICAidmVyc2lv
biI6ICIyMi40LjAiLAotICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMu
b3JnL2plc3QtbWF0Y2hlci11dGlscy8tL2plc3QtbWF0Y2hlci11dGlscy0yMi40LjAudGd6IiwK
LSAgICAgICJpbnRlZ3JpdHkiOiAic2hhNTEyLTAzbTNpc3N4VVhwV013RFlUZm1MOGhSTmV3VUIw
eUNSVGVYUG0rZXEwNThyWnhMSEQ5ZjVOdFNTTzk4Q1dIcWU0VXlJU0l4ZDlBbzlpRFZqSFdkMnFn
PT0iLAotICAgICAgImRldiI6IHRydWUsCi0gICAgICAicmVxdWlyZXMiOiB7Ci0gICAgICAgICJj
aGFsayI6ICJeMi4wLjEiLAotICAgICAgICAiamVzdC1nZXQtdHlwZSI6ICJeMjIuMS4wIiwKLSAg
ICAgICAgInByZXR0eS1mb3JtYXQiOiAiXjIyLjQuMCIKLSAgICAgIH0KLSAgICB9LAotICAgICJq
ZXN0LW1lc3NhZ2UtdXRpbCI6IHsKLSAgICAgICJ2ZXJzaW9uIjogIjIyLjQuMCIsCi0gICAgICAi
cmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvamVzdC1tZXNzYWdlLXV0aWwv
LS9qZXN0LW1lc3NhZ2UtdXRpbC0yMi40LjAudGd6IiwKLSAgICAgICJpbnRlZ3JpdHkiOiAic2hh
NTEyLWV5Q0pCMFQzaHJscEZGMkZxUW9JQjA5M091bFArMXF2QVRRbUQzSU9nSmdNR3FQTDZlWXc4
VGJDNVAvVkNXUHFLaEdMNTF4dmpJSWhvdzVlWjJ3SEZ3PT0iLAotICAgICAgImRldiI6IHRydWUs
Ci0gICAgICAicmVxdWlyZXMiOiB7Ci0gICAgICAgICJAYmFiZWwvY29kZS1mcmFtZSI6ICJeNy4w
LjAtYmV0YS4zNSIsCi0gICAgICAgICJjaGFsayI6ICJeMi4wLjEiLAotICAgICAgICAibWljcm9t
YXRjaCI6ICJeMi4zLjExIiwKLSAgICAgICAgInNsYXNoIjogIl4xLjAuMCIsCi0gICAgICAgICJz
dGFjay11dGlscyI6ICJeMS4wLjEiCi0gICAgICB9Ci0gICAgfSwKLSAgICAiamVzdC1yZWdleC11
dGlsIjogewotICAgICAgInZlcnNpb24iOiAiMjIuMS4wIiwKLSAgICAgICJyZXNvbHZlZCI6ICJo
dHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9qZXN0LXJlZ2V4LXV0aWwvLS9qZXN0LXJlZ2V4LXV0
aWwtMjIuMS4wLnRneiIsCi0gICAgICAiaW50ZWdyaXR5IjogInNoYTUxMi1vbjBMcVZTNlhlaDY5
c3czZDFSdWtWbnVyK2xWT2wzemttYjBRNTRGSGo5d0hvcTZkYnRXcWIzVFNsblZVeXgzNmhxakpo
amdzL1FMcXMwN0J6dTcyUT09IiwKLSAgICAgICJkZXYiOiB0cnVlCi0gICAgfSwKLSAgICAianMt
dG9rZW5zIjogewotICAgICAgInZlcnNpb24iOiAiMy4wLjIiLAotICAgICAgInJlc29sdmVkIjog
Imh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2pzLXRva2Vucy8tL2pzLXRva2Vucy0zLjAuMi50
Z3oiLAotICAgICAgImludGVncml0eSI6ICJzaGExLW1HYmZPVkVDRXc0NDkvbVd2T3RsUkRJSnds
cz0iLAotICAgICAgImRldiI6IHRydWUKLSAgICB9LAotICAgICJqc29uZGlmZnBhdGNoIjogewot
ICAgICAgInZlcnNpb24iOiAiMC4zLjUiLAotICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVn
aXN0cnkubnBtanMub3JnL2pzb25kaWZmcGF0Y2gvLS9qc29uZGlmZnBhdGNoLTAuMy41LnRneiIs
Ci0gICAgICAiaW50ZWdyaXR5IjogInNoYTUxMi12N2VhR0xETUNIWEgrZnNJYVpocHRFVUptUzhF
SnB1bnE3SU00Y2M0dklUL2tTUkFrYVo2WkY0ZWJpTmN5VWVsTDB6bmJ2ajZvMkI1R2g5djdPZzBC
UT09IiwKLSAgICAgICJkZXYiOiB0cnVlLAotICAgICAgInJlcXVpcmVzIjogewotICAgICAgICAi
Y2hhbGsiOiAiXjIuMy4wIiwKLSAgICAgICAgImRpZmYtbWF0Y2gtcGF0Y2giOiAiXjEuMC4wIgot
ICAgICAgfQotICAgIH0sCi0gICAgImtpbmQtb2YiOiB7Ci0gICAgICAidmVyc2lvbiI6ICIzLjIu
MiIsCi0gICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcva2luZC1v
Zi8tL2tpbmQtb2YtMy4yLjIudGd6IiwKLSAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1NZW9ocHpT
NnVidXc4eVJtMkpPdXBSNUtQR1E9IiwKLSAgICAgICJkZXYiOiB0cnVlLAotICAgICAgInJlcXVp
cmVzIjogewotICAgICAgICAiaXMtYnVmZmVyIjogIl4xLjEuNSIKLSAgICAgIH0KLSAgICB9LAot
ICAgICJtYXRoLXJhbmRvbSI6IHsKLSAgICAgICJ2ZXJzaW9uIjogIjEuMC4xIiwKLSAgICAgICJy
ZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9tYXRoLXJhbmRvbS8tL21hdGgt
cmFuZG9tLTEuMC4xLnRneiIsCi0gICAgICAiaW50ZWdyaXR5IjogInNoYTEtaXpxc1dJdUtadVNY
WGp6ZXBuOTdzeWxnSDZ3PSIsCi0gICAgICAiZGV2IjogdHJ1ZQotICAgIH0sCi0gICAgIm1pY3Jv
bWF0Y2giOiB7Ci0gICAgICAidmVyc2lvbiI6ICIyLjMuMTEiLAotICAgICAgInJlc29sdmVkIjog
Imh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL21pY3JvbWF0Y2gvLS9taWNyb21hdGNoLTIuMy4x
MS50Z3oiLAotICAgICAgImludGVncml0eSI6ICJzaGExLWhtZDhsOUZ5Q3pZME1kQk5EUlVwTzlP
TUZXVT0iLAotICAgICAgImRldiI6IHRydWUsCi0gICAgICAicmVxdWlyZXMiOiB7Ci0gICAgICAg
ICJhcnItZGlmZiI6ICJeMi4wLjAiLAotICAgICAgICAiYXJyYXktdW5pcXVlIjogIl4wLjIuMSIs
Ci0gICAgICAgICJicmFjZXMiOiAiXjEuOC4yIiwKLSAgICAgICAgImV4cGFuZC1icmFja2V0cyI6
ICJeMC4xLjQiLAotICAgICAgICAiZXh0Z2xvYiI6ICJeMC4zLjEiLAotICAgICAgICAiZmlsZW5h
bWUtcmVnZXgiOiAiXjIuMC4wIiwKLSAgICAgICAgImlzLWV4dGdsb2IiOiAiXjEuMC4wIiwKLSAg
ICAgICAgImlzLWdsb2IiOiAiXjIuMC4xIiwKLSAgICAgICAgImtpbmQtb2YiOiAiXjMuMC4yIiwK
LSAgICAgICAgIm5vcm1hbGl6ZS1wYXRoIjogIl4yLjAuMSIsCi0gICAgICAgICJvYmplY3Qub21p
dCI6ICJeMi4wLjAiLAotICAgICAgICAicGFyc2UtZ2xvYiI6ICJeMy4wLjQiLAotICAgICAgICAi
cmVnZXgtY2FjaGUiOiAiXjAuNC4yIgotICAgICAgfQotICAgIH0sCi0gICAgIm1pbmltYXRjaCI6
IHsKLSAgICAgICJ2ZXJzaW9uIjogIjMuMC40IiwKLSAgICAgICJyZXNvbHZlZCI6ICJodHRwczov
L3JlZ2lzdHJ5Lm5wbWpzLm9yZy9taW5pbWF0Y2gvLS9taW5pbWF0Y2gtMy4wLjQudGd6IiwKLSAg
ICAgICJpbnRlZ3JpdHkiOiAic2hhNTEyLXlKSFZRRWh5cVBMVVRndDlCODNQWHU2VzNyeDRNdnZI
dlNVdlRvb2dwd29HRE9VUSt5RHJSMEhSb3QreU9DZENPN3U0aFgzcFdmdDZrV0JCY3FoMFVBPT0i
LAotICAgICAgImRldiI6IHRydWUsCi0gICAgICAicmVxdWlyZXMiOiB7Ci0gICAgICAgICJicmFj
ZS1leHBhbnNpb24iOiAiXjEuMS43IgotICAgICAgfQotICAgIH0sCi0gICAgIm1pbmltaXN0Ijog
ewotICAgICAgInZlcnNpb24iOiAiMC4wLjgiLAotICAgICAgInJlc29sdmVkIjogImh0dHBzOi8v
cmVnaXN0cnkubnBtanMub3JnL21pbmltaXN0Ly0vbWluaW1pc3QtMC4wLjgudGd6IiwKLSAgICAg
ICJpbnRlZ3JpdHkiOiAic2hhMS1oWC9LdjhNNWZTWWx1Q0tDWXVocXA2QVJzRjA9IiwKLSAgICAg
ICJkZXYiOiB0cnVlCi0gICAgfSwKLSAgICAibWtkaXJwIjogewotICAgICAgInZlcnNpb24iOiAi
MC41LjEiLAotICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL21r
ZGlycC8tL21rZGlycC0wLjUuMS50Z3oiLAotICAgICAgImludGVncml0eSI6ICJzaGExLU1BVjBP
T3JHejMrTVIyZnpoa2pXYVgxMXlRTT0iLAotICAgICAgImRldiI6IHRydWUsCi0gICAgICAicmVx
dWlyZXMiOiB7Ci0gICAgICAgICJtaW5pbWlzdCI6ICIwLjAuOCIKLSAgICAgIH0KLSAgICB9LAot
ICAgICJtb2NoYSI6IHsKLSAgICAgICJ2ZXJzaW9uIjogIjUuMC40IiwKLSAgICAgICJyZXNvbHZl
ZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9tb2NoYS8tL21vY2hhLTUuMC40LnRneiIs
Ci0gICAgICAiaW50ZWdyaXR5IjogInNoYTUxMi1uTU9wQVBGb3NVMUI0SXgxamRoeDVlM3E3WE81
NWljNWE4Y2dZdlcyN0NlcXVjRVkrQmFiUzBrVVZMMUN3MVY1UHVWSFpXZU5SV0ZMbUVQZXhvNzlW
QT09IiwKLSAgICAgICJkZXYiOiB0cnVlLAotICAgICAgInJlcXVpcmVzIjogewotICAgICAgICAi
YnJvd3Nlci1zdGRvdXQiOiAiMS4zLjEiLAotICAgICAgICAiY29tbWFuZGVyIjogIjIuMTEuMCIs
Ci0gICAgICAgICJkZWJ1ZyI6ICIzLjEuMCIsCi0gICAgICAgICJkaWZmIjogIjMuNS4wIiwKLSAg
ICAgICAgImVzY2FwZS1zdHJpbmctcmVnZXhwIjogIjEuMC41IiwKLSAgICAgICAgImdsb2IiOiAi
Ny4xLjIiLAotICAgICAgICAiZ3Jvd2wiOiAiMS4xMC4zIiwKLSAgICAgICAgImhlIjogIjEuMS4x
IiwKLSAgICAgICAgIm1rZGlycCI6ICIwLjUuMSIsCi0gICAgICAgICJzdXBwb3J0cy1jb2xvciI6
ICI0LjQuMCIKLSAgICAgIH0sCi0gICAgICAiZGVwZW5kZW5jaWVzIjogewotICAgICAgICAiaGFz
LWZsYWciOiB7Ci0gICAgICAgICAgInZlcnNpb24iOiAiMi4wLjAiLAotICAgICAgICAgICJyZXNv
bHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9oYXMtZmxhZy8tL2hhcy1mbGFnLTIu
MC4wLnRneiIsCi0gICAgICAgICAgImludGVncml0eSI6ICJzaGExLTZDQjY4Y3g3TU5SR3pIQzNO
TFhvdmhqNGpWRT0iLAotICAgICAgICAgICJkZXYiOiB0cnVlCi0gICAgICAgIH0sCi0gICAgICAg
ICJzdXBwb3J0cy1jb2xvciI6IHsKLSAgICAgICAgICAidmVyc2lvbiI6ICI0LjQuMCIsCi0gICAg
ICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL3N1cHBvcnRzLWNv
bG9yLy0vc3VwcG9ydHMtY29sb3ItNC40LjAudGd6IiwKLSAgICAgICAgICAiaW50ZWdyaXR5Ijog
InNoYTUxMi1yS0MzK0R5WFdnSzBaTEt3bVJzcmt5SFZaQWpOa2Z6ZWVodUZXZEdHY3FHRFRaRkg3
MytSSDZTL1JEQUF4bDlHdXNTalpTVVdZTG1UOU41cHpYRk9YUT09IiwKLSAgICAgICAgICAiZGV2
IjogdHJ1ZSwKLSAgICAgICAgICAicmVxdWlyZXMiOiB7Ci0gICAgICAgICAgICAiaGFzLWZsYWci
OiAiXjIuMC4wIgotICAgICAgICAgIH0KLSAgICAgICAgfQotICAgICAgfQotICAgIH0sCi0gICAg
Im1zIjogewotICAgICAgInZlcnNpb24iOiAiMi4wLjAiLAotICAgICAgInJlc29sdmVkIjogImh0
dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL21zLy0vbXMtMi4wLjAudGd6IiwKLSAgICAgICJpbnRl
Z3JpdHkiOiAic2hhMS1WZ2l1cmZ3QXZtd3BBZDlmbUdGNGplRFZsOGc9IiwKLSAgICAgICJkZXYi
OiB0cnVlCi0gICAgfSwKLSAgICAibm9ybWFsaXplLXBhdGgiOiB7Ci0gICAgICAidmVyc2lvbiI6
ICIyLjEuMSIsCi0gICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcv
bm9ybWFsaXplLXBhdGgvLS9ub3JtYWxpemUtcGF0aC0yLjEuMS50Z3oiLAotICAgICAgImludGVn
cml0eSI6ICJzaGExLUdyS0xWVzRaZzJPb3dhYjM1dm9nRTMvbXJ0az0iLAotICAgICAgImRldiI6
IHRydWUsCi0gICAgICAicmVxdWlyZXMiOiB7Ci0gICAgICAgICJyZW1vdmUtdHJhaWxpbmctc2Vw
YXJhdG9yIjogIl4xLjAuMSIKLSAgICAgIH0KLSAgICB9LAotICAgICJvYmplY3Qub21pdCI6IHsK
LSAgICAgICJ2ZXJzaW9uIjogIjIuMC4xIiwKLSAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3Jl
Z2lzdHJ5Lm5wbWpzLm9yZy9vYmplY3Qub21pdC8tL29iamVjdC5vbWl0LTIuMC4xLnRneiIsCi0g
ICAgICAiaW50ZWdyaXR5IjogInNoYTEtR3B4MFNDbnpuYnVGakhiS05YbXVLbFRyMGZvPSIsCi0g
ICAgICAiZGV2IjogdHJ1ZSwKLSAgICAgICJyZXF1aXJlcyI6IHsKLSAgICAgICAgImZvci1vd24i
OiAiXjAuMS40IiwKLSAgICAgICAgImlzLWV4dGVuZGFibGUiOiAiXjAuMS4xIgotICAgICAgfQot
ICAgIH0sCi0gICAgIm9uY2UiOiB7Ci0gICAgICAidmVyc2lvbiI6ICIxLjQuMCIsCi0gICAgICAi
cmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvb25jZS8tL29uY2UtMS40LjAu
dGd6IiwKLSAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1XRHNhcDNXV0hVc1JPc0Y5bkZDNjc1M1hh
OUU9IiwKLSAgICAgICJkZXYiOiB0cnVlLAotICAgICAgInJlcXVpcmVzIjogewotICAgICAgICAi
d3JhcHB5IjogIjEiCi0gICAgICB9Ci0gICAgfSwKLSAgICAicGFyc2UtZ2xvYiI6IHsKLSAgICAg
ICJ2ZXJzaW9uIjogIjMuMC40IiwKLSAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5
Lm5wbWpzLm9yZy9wYXJzZS1nbG9iLy0vcGFyc2UtZ2xvYi0zLjAuNC50Z3oiLAotICAgICAgImlu
dGVncml0eSI6ICJzaGExLXNzTjJ6N0VmTlZFN3JkRno3d3UyNDZPSU9Sdz0iLAotICAgICAgImRl
diI6IHRydWUsCi0gICAgICAicmVxdWlyZXMiOiB7Ci0gICAgICAgICJnbG9iLWJhc2UiOiAiXjAu
My4wIiwKLSAgICAgICAgImlzLWRvdGZpbGUiOiAiXjEuMC4wIiwKLSAgICAgICAgImlzLWV4dGds
b2IiOiAiXjEuMC4wIiwKLSAgICAgICAgImlzLWdsb2IiOiAiXjIuMC4wIgotICAgICAgfQotICAg
IH0sCi0gICAgInBhdGgtaXMtYWJzb2x1dGUiOiB7Ci0gICAgICAidmVyc2lvbiI6ICIxLjAuMSIs
Ci0gICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvcGF0aC1pcy1h
YnNvbHV0ZS8tL3BhdGgtaXMtYWJzb2x1dGUtMS4wLjEudGd6IiwKLSAgICAgICJpbnRlZ3JpdHki
OiAic2hhMS1GMHVTYUhOVk5QKzhlczVyOVRwYW5odGNYMTg9IiwKLSAgICAgICJkZXYiOiB0cnVl
Ci0gICAgfSwKLSAgICAicHJlc2VydmUiOiB7Ci0gICAgICAidmVyc2lvbiI6ICIwLjIuMCIsCi0g
ICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvcHJlc2VydmUvLS9w
cmVzZXJ2ZS0wLjIuMC50Z3oiLAotICAgICAgImludGVncml0eSI6ICJzaGExLWdWN1I5dXZHV1Ni
NFpiTVF3SEU3eXpNVnprcz0iLAotICAgICAgImRldiI6IHRydWUKLSAgICB9LAotICAgICJwcmV0
dHktZm9ybWF0IjogewotICAgICAgInZlcnNpb24iOiAiMjIuNC4wIiwKLSAgICAgICJyZXNvbHZl
ZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9wcmV0dHktZm9ybWF0Ly0vcHJldHR5LWZv
cm1hdC0yMi40LjAudGd6IiwKLSAgICAgICJpbnRlZ3JpdHkiOiAic2hhNTEyLXB2Q3hQMmlPRElJ
azlhZFhsbzRTM0dSajBCckppaWw2OGtCeUFhMVByZ0c5N2MxdENsaDlkTE1ncDNaNmNIRlpyY2xh
QUJ0MFVIOFBJaHdIdUZMcVlBPT0iLAotICAgICAgImRldiI6IHRydWUsCi0gICAgICAicmVxdWly
ZXMiOiB7Ci0gICAgICAgICJhbnNpLXJlZ2V4IjogIl4zLjAuMCIsCi0gICAgICAgICJhbnNpLXN0
eWxlcyI6ICJeMy4yLjAiCi0gICAgICB9Ci0gICAgfSwKLSAgICAicmFuZG9tYXRpYyI6IHsKLSAg
ICAgICJ2ZXJzaW9uIjogIjMuMC4wIiwKLSAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lz
dHJ5Lm5wbWpzLm9yZy9yYW5kb21hdGljLy0vcmFuZG9tYXRpYy0zLjAuMC50Z3oiLAotICAgICAg
ImludGVncml0eSI6ICJzaGE1MTItVmR4Rk9JRVkzbU5PNVB0U1Jra2xlL2hQSkRIdlFoSzIxb2E3
M0s0eUFjOXFtcDZONDI5Z0F5RjFnWk1PVE1lUzAvQVl6YVYvMlRyY2VmK05hSW9uU0E9PSIsCi0g
ICAgICAiZGV2IjogdHJ1ZSwKLSAgICAgICJyZXF1aXJlcyI6IHsKLSAgICAgICAgImlzLW51bWJl
ciI6ICJeNC4wLjAiLAotICAgICAgICAia2luZC1vZiI6ICJeNi4wLjAiLAotICAgICAgICAibWF0
aC1yYW5kb20iOiAiXjEuMC4xIgotICAgICAgfSwKLSAgICAgICJkZXBlbmRlbmNpZXMiOiB7Ci0g
ICAgICAgICJpcy1udW1iZXIiOiB7Ci0gICAgICAgICAgInZlcnNpb24iOiAiNC4wLjAiLAotICAg
ICAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9pcy1udW1iZXIv
LS9pcy1udW1iZXItNC4wLjAudGd6IiwKLSAgICAgICAgICAiaW50ZWdyaXR5IjogInNoYTUxMi1y
U2tsY0FJbGYxT21GZHlBcWJuV1RMVmVsc1E1OHV2WjY2Uy9aeWF3aldxSXZpVFdDamcyUHpWR3c4
V1VBK25OdVBUcWI0d2dBK05zenJKKzA4TGxnUT09IiwKLSAgICAgICAgICAiZGV2IjogdHJ1ZQot
ICAgICAgICB9LAotICAgICAgICAia2luZC1vZiI6IHsKLSAgICAgICAgICAidmVyc2lvbiI6ICI2
LjAuMiIsCi0gICAgICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3Jn
L2tpbmQtb2YvLS9raW5kLW9mLTYuMC4yLnRneiIsCi0gICAgICAgICAgImludGVncml0eSI6ICJz
aGE1MTItczVrTE9jbkgwWHFETytGdnVhTFg4RERqWjE4Q0dGazdWeWdINDBRb0tQVVFoVzRlMnJ2
TTByd1VxMHQ4SVFET3dZU2VMSzAxVTkwT2p6QlRtZTJRcUE9PSIsCi0gICAgICAgICAgImRldiI6
IHRydWUKLSAgICAgICAgfQotICAgICAgfQotICAgIH0sCi0gICAgInJlZ2V4LWNhY2hlIjogewot
ICAgICAgInZlcnNpb24iOiAiMC40LjQiLAotICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVn
aXN0cnkubnBtanMub3JnL3JlZ2V4LWNhY2hlLy0vcmVnZXgtY2FjaGUtMC40LjQudGd6IiwKLSAg
ICAgICJpbnRlZ3JpdHkiOiAic2hhNTEyLW5WSVp3dENqa0M5WWd2V2twTTU1QjVyQmhCWVJaaEFh
SmJnY0ZZWFhzSG5iWjlVWkk5bm5WV1lacEJsQ3F2OWhvMmVacnlQbldyWkdzT2RQd1ZXWFdRPT0i
LAotICAgICAgImRldiI6IHRydWUsCi0gICAgICAicmVxdWlyZXMiOiB7Ci0gICAgICAgICJpcy1l
cXVhbC1zaGFsbG93IjogIl4wLjEuMyIKLSAgICAgIH0KLSAgICB9LAotICAgICJyZW1vdmUtdHJh
aWxpbmctc2VwYXJhdG9yIjogewotICAgICAgInZlcnNpb24iOiAiMS4xLjAiLAotICAgICAgInJl
c29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL3JlbW92ZS10cmFpbGluZy1zZXBh
cmF0b3IvLS9yZW1vdmUtdHJhaWxpbmctc2VwYXJhdG9yLTEuMS4wLnRneiIsCi0gICAgICAiaW50
ZWdyaXR5IjogInNoYTEtd2t2T0tpZzYydFc4UDFqZzFJSkp1U041Mk84PSIsCi0gICAgICAiZGV2
IjogdHJ1ZQotICAgIH0sCi0gICAgInJlcGVhdC1lbGVtZW50IjogewotICAgICAgInZlcnNpb24i
OiAiMS4xLjIiLAotICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3Jn
L3JlcGVhdC1lbGVtZW50Ly0vcmVwZWF0LWVsZW1lbnQtMS4xLjIudGd6IiwKLSAgICAgICJpbnRl
Z3JpdHkiOiAic2hhMS03d2lhRjQwVWc3cXVUWlBybUxUNTVPRWRtUW89IiwKLSAgICAgICJkZXYi
OiB0cnVlCi0gICAgfSwKLSAgICAicmVwZWF0LXN0cmluZyI6IHsKLSAgICAgICJ2ZXJzaW9uIjog
IjEuNi4xIiwKLSAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9y
ZXBlYXQtc3RyaW5nLy0vcmVwZWF0LXN0cmluZy0xLjYuMS50Z3oiLAotICAgICAgImludGVncml0
eSI6ICJzaGExLWpjcmtjT0hJaXJ3dFlBLy9TbmRpaHRwMTVqYz0iLAotICAgICAgImRldiI6IHRy
dWUKLSAgICB9LAotICAgICJzbGFzaCI6IHsKLSAgICAgICJ2ZXJzaW9uIjogIjEuMC4wIiwKLSAg
ICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9zbGFzaC8tL3NsYXNo
LTEuMC4wLnRneiIsCi0gICAgICAiaW50ZWdyaXR5IjogInNoYTEteEI4dmJEbjhGdEhORjYxTFhZ
bGhGSzVIRFZVPSIsCi0gICAgICAiZGV2IjogdHJ1ZQotICAgIH0sCi0gICAgInN0YWNrLXV0aWxz
IjogewotICAgICAgInZlcnNpb24iOiAiMS4wLjEiLAotICAgICAgInJlc29sdmVkIjogImh0dHBz
Oi8vcmVnaXN0cnkubnBtanMub3JnL3N0YWNrLXV0aWxzLy0vc3RhY2stdXRpbHMtMS4wLjEudGd6
IiwKLSAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS0xUE02dFU2T09IZUxES1hQMDdPdnNTMjJoaUE9
IiwKLSAgICAgICJkZXYiOiB0cnVlCi0gICAgfSwKLSAgICAic3VwcG9ydHMtY29sb3IiOiB7Ci0g
ICAgICAidmVyc2lvbiI6ICI1LjMuMCIsCi0gICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdp
c3RyeS5ucG1qcy5vcmcvc3VwcG9ydHMtY29sb3IvLS9zdXBwb3J0cy1jb2xvci01LjMuMC50Z3oi
LAotICAgICAgImludGVncml0eSI6ICJzaGE1MTItMGFQMDFMTElza2pLczNscTUyRUMwYUdCQUpo
THE3QjJSZDhIQy9EUi9QdE5OcGNMaWxObUhDMTJPK2h1MHVzUXBvN3d0SE5ScXRyaEJ3dERiMCtk
Tmc9PSIsCi0gICAgICAiZGV2IjogdHJ1ZSwKLSAgICAgICJyZXF1aXJlcyI6IHsKLSAgICAgICAg
Imhhcy1mbGFnIjogIl4zLjAuMCIKLSAgICAgIH0KLSAgICB9LAotICAgICJ3cmFwcHkiOiB7Ci0g
ICAgICAidmVyc2lvbiI6ICIxLjAuMiIsCi0gICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdp
c3RyeS5ucG1qcy5vcmcvd3JhcHB5Ly0vd3JhcHB5LTEuMC4yLnRneiIsCi0gICAgICAiaW50ZWdy
aXR5IjogInNoYTEtdFNROWp6N0Jxalh4TmtZRnZBMFFOdU1LdHA4PSIsCi0gICAgICAiZGV2Ijog
dHJ1ZQotICAgIH0KLSAgfQotfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi9wYWNrYWdlLmpzb24gYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3BhY2thZ2UuanNvbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTJmYWNjYWZhODEu
LjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvcGFja2FnZS5qc29uCisrKyAvZGV2L251bGwKQEAgLTEs
MjcgKzAsMCBAQAotewotICAibmFtZSI6ICJ3ZWJpZGwyIiwKLSAgImRlc2NyaXB0aW9uIjogIkEg
V2ViSURMIFBhcnNlciIsCi0gICJ2ZXJzaW9uIjogIjEzLjAuMyIsCi0gICJjb250cmlidXRvcnMi
OiBbCi0gICAgIlJvYmluIEJlcmpvbiA8cm9iaW5AYmVyam9uLmNvbT4gKGh0dHBzOi8vYmVyam9u
LmNvbSkiLAotICAgICJNYXJjb3MgQ2FjZXJlcyA8bWFyY29zQG1hcmNvc2MuY29tPiAoaHR0cHM6
Ly9tYXJjb3NjLmNvbSkiLAotICAgICJLYWdhbWkgU2FzY2hhIFJvc3lsaWdodCA8c2FzY2hhcGxh
c0BvdXRsb29rLmNvbT4iLAotICAgICJUaW1vdGh5IEd1IDx0aW1vdGh5Z3U5OUBnbWFpbC5jb20+
IgotICBdLAotICAibGljZW5zZSI6ICJXM0MiLAotICAiZGVwZW5kZW5jaWVzIjoge30sCi0gICJk
ZXZEZXBlbmRlbmNpZXMiOiB7Ci0gICAgImV4cGVjdCI6ICIyMi40LjAiLAotICAgICJqc29uZGlm
ZnBhdGNoIjogIjAuMy41IiwKLSAgICAibW9jaGEiOiAiNS4wLjQiCi0gIH0sCi0gICJzY3JpcHRz
IjogewotICAgICJ0ZXN0IjogIm1vY2hhIiwKLSAgICAiYWNxdWlyZSI6ICJub2RlIHRlc3QvdXRp
bC9hY3F1aXJlLmpzIgotICB9LAotICAicmVwb3NpdG9yeSI6ICJnaXQ6Ly9naXRodWIuY29tL3cz
Yy93ZWJpZGwyLmpzIiwKLSAgIm1haW4iOiAiaW5kZXguanMiLAotICAiZmlsZXMiOiBbCi0gICAg
ImxpYi8qIgotICBdCi19CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC5qcyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC9pbnZhbGlkLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxOWJiZjAwNmU1
Ny4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQuanMKKysrIC9kZXYvbnVsbApA
QCAtMSwyMCArMCwwIEBACi0vLyBOT1RFUzoKLS8vICAtIHRoZSBlcnJvcnMgYWN0dWFsbHkgc3Rp
bGwgbmVlZCB0byBiZSByZXZpZXdlZCB0byBjaGVjayB0aGF0IHRoZXkKLS8vICAgIGFyZSBmdWxs
eSBjb3JyZWN0IGludGVycHJldGF0aW9ucyBvZiB0aGUgSURMcwotCi0idXNlIHN0cmljdCI7Ci0K
LWNvbnN0IHsgY29sbGVjdCB9ID0gcmVxdWlyZSgiLi91dGlsL2NvbGxlY3QiKTsKLWNvbnN0IGZz
ID0gcmVxdWlyZSgiZnMiKTsKLWNvbnN0IGV4cGVjdCA9IHJlcXVpcmUoImV4cGVjdCIpOwotCi1k
ZXNjcmliZSgiUGFyc2VzIGFsbCBvZiB0aGUgaW52YWxpZCBJRExzIHRvIGNoZWNrIHRoYXQgdGhl
eSBibG93IHVwIGNvcnJlY3RseSIsICgpID0+IHsKLSAgZm9yIChjb25zdCB0ZXN0IG9mIGNvbGxl
Y3QoImludmFsaWQiLCB7IGV4cGVjdEVycm9yOiB0cnVlIH0pKSB7Ci0gICAgaXQoYHNob3VsZCBw
cm9kdWNlIHRoZSByaWdodCBlcnJvciBmb3IgJHt0ZXN0LnBhdGh9YCwgKCkgPT4gewotICAgICAg
Y29uc3QgZXJyID0gdGVzdC5yZWFkSlNPTigpOwotICAgICAgZXhwZWN0KHRlc3QuZXJyb3IpLnRv
QmVUcnV0aHkoKTsKLSAgICAgIGV4cGVjdCh0ZXN0LmVycm9yLm1lc3NhZ2UpLnRvRXF1YWwoZXJy
Lm1lc3NhZ2UpOwotICAgICAgZXhwZWN0KHRlc3QuZXJyb3IubGluZSkudG9FcXVhbChlcnIubGlu
ZSk7Ci0gICAgfSk7Ci0gIH0KLX0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRs
L2FycmF5LndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvYXJyYXkud2lkbApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggNThhODYxOGFiNjQuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC9pbnZhbGlkL2lkbC9hcnJheS53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsNiArMCwwIEBA
Ci0vLyBFeHRyYWN0ZWQgZnJvbSBodHRwOi8vZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJJREwv
IG9uIDIwMTEtMDUtMDYKLS8vIFRbXSBpcyByZW1vdmVkIGJ5IGh0dHBzOi8vZ2l0aHViLmNvbS9o
ZXljYW0vd2ViaWRsL2NvbW1pdC8wNzljYmI4NjFhOTllOWU4NTdhM2YyYTE2OWMwYmVlYjQ5Y2Qw
MjBhCi1bQ29uc3RydWN0b3JdCi1pbnRlcmZhY2UgTG90dGVyeVJlc3VsdHMgewotICByZWFkb25s
eSBhdHRyaWJ1dGUgdW5zaWduZWQgc2hvcnRbXVtdIG51bWJlcnM7Ci19OwpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9jYWxsZXIu
d2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9jYWxsZXIud2lkbApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMjZmZWRjMzNmOTQuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9p
bnZhbGlkL2lkbC9jYWxsZXIud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDcgKzAsMCBAQAotLy8g
RXh0cmFjdGVkIGZyb20gaHR0cDovL2Rldi53My5vcmcvMjAwNi93ZWJhcGkvV2ViSURMLyBvbiAy
MDExLTA1LTA2Ci0vLyBsZWdhY3ljYWxsZXJzIGFyZSByZW1vdmVkIGJ5IGh0dHBzOi8vZ2l0aHVi
LmNvbS9oZXljYW0vd2ViaWRsL3B1bGwvNDEyCi0KLWludGVyZmFjZSBOdW1iZXJRdWFkcnVwbGVy
IHsKLSAgLy8gVGhpcyBvcGVyYXRpb24gc2ltcGx5IHJldHVybnMgZm91ciB0aW1lcyB0aGUgZ2l2
ZW4gbnVtYmVyIHguCi0gIGxlZ2FjeWNhbGxlciBmbG9hdCBjb21wdXRlKGZsb2F0IHgpOwotfTsK
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxp
ZC9pZGwvZGljdC1yZXF1aXJlZC1kZWZhdWx0LndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwv
ZGljdC1yZXF1aXJlZC1kZWZhdWx0LndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDQxMjQ0OGQyMjYxLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvZGlj
dC1yZXF1aXJlZC1kZWZhdWx0LndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSw1ICswLDAgQEAKLS8v
IGh0dHBzOi8vaGV5Y2FtLmdpdGh1Yi5pby93ZWJpZGwvI3JlcXVpcmVkLWRpY3Rpb25hcnktbWVt
YmVyCi0vLyAiQSByZXF1aXJlZCBkaWN0aW9uYXJ5IG1lbWJlciBtdXN0IG5vdCBoYXZlIGEgZGVm
YXVsdCB2YWx1ZS4iCi1kaWN0aW9uYXJ5IERpY3QgewotICByZXF1aXJlZCBsb25nIG1lbWJlciA9
IDA7Ci19OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL2R1cGxpY2F0ZS53aWRs
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL2R1cGxpY2F0ZS53aWRsCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCA0OTE2YWYzNDI3My4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2lu
dmFsaWQvaWRsL2R1cGxpY2F0ZS53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsNSArMCwwIEBACi10
eXBlZGVmIGludCBUZXN0OwotCi1pbnRlcmZhY2UgVGVzdCB7Ci0gIHZvaWQgZm9vKCk7Ci19Owpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL2VudW0tZW1wdHkud2lkbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC9pbnZhbGlkL2lkbC9lbnVtLWVtcHR5LndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDdmMTg5ZWI2MmMxLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9p
ZGwvZW51bS1lbXB0eS53aWRsCisrKyAvZGV2L251bGwKQEAgLTEgKzAsMCBAQAotZW51bSBFbXB0
eSB7fTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9lbnVtLXdvLWNvbW1hLndp
ZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvZW51bS13by1jb21tYS53aWRsCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCBlYmM1MzA2NWVkZS4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L2ludmFsaWQvaWRsL2VudW0td28tY29tbWEud2lkbAorKysgL2Rldi9udWxsCkBAIC0xICsw
LDAgQEAKLWVudW0gTm9Db21tYSB7ICJ2YWx1ZTEiICJ2YWx1ZTIiIH07CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3QvaW52YWxpZC9pZGwvZW51bS53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL2Vu
dW0ud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzM1NWMzMjUxYzAuLjAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9lbnVtLndpZGwKKysrIC9kZXYvbnVs
bApAQCAtMSArMCwwIEBACi1lbnVtIGZvbyB7IDEsIDIsIDN9OwpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9leGNlcHRpb24ud2lk
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9leGNlcHRpb24ud2lkbApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggYTBlYTJlNDdlMjAuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9p
bnZhbGlkL2lkbC9leGNlcHRpb24ud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDYgKzAsMCBAQAot
Ly8gRXh0cmFjdGVkIGZyb20gaHR0cDovL2Rldi53My5vcmcvMjAwNi93ZWJhcGkvV2ViSURMLyBv
biAyMDExLTA1LTA2Ci0vLyBJREwgZXhjZXB0aW9ucyBhcmUgcmVtb3ZlZCBieSBodHRwczovL2dp
dGh1Yi5jb20vaGV5Y2FtL3dlYmlkbC9jb21taXQvNTBlMTcyZWMwNzlkYjA3M2MzNzI0YzliZWFj
MWI1NzZmYjVkYmM0NwotCi1leGNlcHRpb24gU29tZUV4Y2VwdGlvbiB7Ci19OwotCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvZXh0YXR0ci1lbXB0eS1pZHMud2lkbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC9pbnZhbGlkL2lkbC9leHRhdHRyLWVtcHR5LWlkcy53aWRsCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCA5M2M0OGMzYWRlNS4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2lu
dmFsaWQvaWRsL2V4dGF0dHItZW1wdHktaWRzLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSwyICsw
LDAgQEAKLVtFeHBvc2VkPSgpXQotaW50ZXJmYWNlIFVuZXhwb3NlZCB7fTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9pZC11bmRlcnNjb3JlZC1udW1iZXIud2lkbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC9pbnZhbGlkL2lkbC9pZC11bmRlcnNjb3JlZC1udW1iZXIud2lkbApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggZDAwMTIxZmQ1NGYuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC9pbnZhbGlkL2lkbC9pZC11bmRlcnNjb3JlZC1udW1iZXIud2lkbAorKysgL2Rldi9udWxsCkBA
IC0xICswLDAgQEAKLWludGVyZmFjZSBfMCB7fTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZh
bGlkL2lkbC9pbXBsZW1lbnRzX2FuZF9pbmNsdWRlc193cy53aWRsIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFs
aWQvaWRsL2ltcGxlbWVudHNfYW5kX2luY2x1ZGVzX3dzLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDY2NjZkYWVkMDBjLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52
YWxpZC9pZGwvaW1wbGVtZW50c19hbmRfaW5jbHVkZXNfd3Mud2lkbAorKysgL2Rldi9udWxsCkBA
IC0xLDQgKzAsMCBAQAotLy8gVGhpcyBoaXRzIHRoZSB1bnNoaWZ0aW5nIG9mIHdoaXRlc3BhY2Ug
aW4gdGhlICJpbXBsZW1lbnRzIiBhbmQKLS8vICJpbmNsdWRlcyIgcHJvZHVjdGlvbnMuIElmIHRo
ZXJlIGlzIGEgYnVnIGluIHRoYXQgd2hpdGVzcGFjZQotLy8gcm9sbGJhY2ssIHRoZSB3cm9uZyBl
eGNlcHRpb24gd2lsbCBiZSBwcm9kdWNlZC4KLWZvb2JhcjsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC9pbnZhbGlkL2lkbC9pdGVyYXRvci53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL2l0ZXJh
dG9yLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDNiZjFiMzZkZWM2Li4wMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvaXRlcmF0b3Iud2lkbAorKysgL2Rl
di9udWxsCkBAIC0xLDM1ICswLDAgQEAKLWludGVyZmFjZSBTZXNzaW9uTWFuYWdlciB7Ci0gIFNl
c3Npb24gZ2V0U2Vzc2lvbkZvclVzZXIoRE9NU3RyaW5nIHVzZXJuYW1lKTsKLSAgcmVhZG9ubHkg
YXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgc2Vzc2lvbkNvdW50OwotCi0gIFNlc3Npb24gaXRlcmF0
b3I7Ci19OwotCi1pbnRlcmZhY2UgU2Vzc2lvbiB7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01T
dHJpbmcgdXNlcm5hbWU7Ci0gIC8vIC4uLgotfTsKLQotaW50ZXJmYWNlIFNlc3Npb25NYW5hZ2Vy
MiB7Ci0gIFNlc3Npb24yIGdldFNlc3Npb25Gb3JVc2VyKERPTVN0cmluZyB1c2VybmFtZSk7Ci0g
IHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIHNlc3Npb25Db3VudDsKLQotICBTZXNz
aW9uMiBpdGVyYXRvciA9IFNlc3Npb25JdGVyYXRvcjsKLX07Ci0KLWludGVyZmFjZSBTZXNzaW9u
MiB7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgdXNlcm5hbWU7Ci0gIC8vIC4uLgot
fTsKLQotaW50ZXJmYWNlIFNlc3Npb25JdGVyYXRvciB7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSB1
bnNpZ25lZCBsb25nIHJlbWFpbmluZ1Nlc3Npb25zOwotfTsKLQotICAgICBpbnRlcmZhY2UgTm9k
ZUxpc3QgewotICAgICAgIE5vZGUgaXRlcmF0b3IgPSBOb2RlSXRlcmF0b3I7Ci0gICAgIH07Ci0K
LSAgICAgaW50ZXJmYWNlIE5vZGVJdGVyYXRvciB7Ci0gICAgICAgTm9kZSBpdGVyYXRvciBvYmpl
Y3Q7Ci0gICAgIH07ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L2ludmFsaWQvaWRsL21hcGxpa2UtMXR5cGUud2lkbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlk
L2lkbC9tYXBsaWtlLTF0eXBlLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGVm
YjVjMTRmZmQ2Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvbWFwbGlr
ZS0xdHlwZS53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsMyArMCwwIEBACi1pbnRlcmZhY2UgTWFw
TGlrZU9uZVR5cGUgewotICBtYXBsaWtlPGxvbmc+OwotfQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9tb2R1bGUud2lkbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC9pbnZhbGlkL2lkbC9tb2R1bGUud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggYTRjNzlmZGYxNTUuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lk
bC9tb2R1bGUud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDI1ICswLDAgQEAKLS8vIEV4dHJhY3Rl
ZCBmcm9tIGh0dHA6Ly9kZXYudzMub3JnLzIwMDYvd2ViYXBpL1dlYklETC8gb24gMjAxMS0wNS0w
NgotbW9kdWxlIGdmeCB7Ci0KLSAgbW9kdWxlIGdlb20gewotICAgIGludGVyZmFjZSBTaGFwZSB7
IC8qIC4uLiAqLyB9OwotICAgIGludGVyZmFjZSBSZWN0YW5nbGUgOiBTaGFwZSB7IC8qIC4uLiAq
LyB9OwotICAgIGludGVyZmFjZSBQYXRoIDogU2hhcGUgeyAvKiAuLi4gKi8gfTsKLSAgfTsKLQot
ICBpbnRlcmZhY2UgR3JhcGhpY3NDb250ZXh0IHsKLSAgICB2b2lkIGZpbGxTaGFwZShnZW9tOjpT
aGFwZSBzKTsKLSAgICB2b2lkIHN0cm9rZVNoYXBlKGdlb206OlNoYXBlIHMpOwotICB9OwotfTsK
LQotbW9kdWxlIGd1aSB7Ci0KLSAgaW50ZXJmYWNlIFdpZGdldCB7IC8qIC4uLiAqLyAgfTsKLQot
ICBpbnRlcmZhY2UgV2luZG93IDogV2lkZ2V0IHsKLSAgICBnZng6OkdyYXBoaWNzQ29udGV4dCBn
ZXRHcmFwaGljc0NvbnRleHQoKTsKLSAgfTsKLQotICBpbnRlcmZhY2UgQnV0dG9uIDogV2lkZ2V0
IHsgLyogLi4uICovICB9OwotfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvbmFtZXNwYWNlLXJlYWR3cml0ZS53aWRsIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L2ludmFsaWQvaWRsL25hbWVzcGFjZS1yZWFkd3JpdGUud2lkbApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggZTE4NDEzMzIyODQuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC9pbnZhbGlkL2lkbC9uYW1lc3BhY2UtcmVhZHdyaXRlLndpZGwKKysrIC9kZXYvbnVsbApAQCAt
MSwzICswLDAgQEAKLW5hbWVzcGFjZSBDU1MgewotICBhdHRyaWJ1dGUgb2JqZWN0IHJlYWR3cml0
ZTsKLX07CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvbm8tc2VtaWNvbG9uLWNh
bGxiYWNrLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvbm8tc2VtaWNvbG9uLWNhbGxiYWNr
LndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGNiMjA1NTcxOGU1Li4wMDAwMDAw
MDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvbm8tc2VtaWNvbG9uLWNhbGxiYWNrLndp
ZGwKKysrIC9kZXYvbnVsbApAQCAtMSw3ICswLDAgQEAKLWNhbGxiYWNrIGludGVyZmFjZSBOb1Nl
bWljb2xvbiB7Ci0gIGF0dHJpYnV0ZSBib29sZWFuIG5vU2VtaUNvbG9uOwotfQotCi1lbnVtIFlv
dU5lZWRPbmUgewotICAicmVhbGx5IgotfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQv
aWRsL25vLXNlbWljb2xvbi53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL25vLXNlbWljb2xv
bi53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxMGJjNzE2MjQ5Yi4uMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL25vLXNlbWljb2xvbi53aWRsCisrKyAv
ZGV2L251bGwKQEAgLTEsNyArMCwwIEBACi1wYXJ0aWFsIGludGVyZmFjZSBOb1NlbWljb2xvbiB7
Ci0gIGF0dHJpYnV0ZSBib29sZWFuIG5vU2VtaUNvbG9uOwotfQotCi1lbnVtIFlvdU5lZWRPbmUg
ewotICAicmVhbGx5IgotfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL25vbm51
bGxhYmxlYW55LndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvbm9ubnVsbGFibGVhbnkud2lk
bApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzg5NTc2NTU1MjMuLjAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9ub25udWxsYWJsZWFueS53aWRsCisrKyAvZGV2
L251bGwKQEAgLTEsMyArMCwwIEBACi1pbnRlcmZhY2UgTm9uTnVsbGFibGUgewotICBhdHRyaWJ1
dGUgYW55PyBmb287Ci19OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9ub25udWxsYWJsZW9iamVjdHMud2lkbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC9pbnZhbGlkL2lkbC9ub25udWxsYWJsZW9iamVjdHMud2lkbApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggNmM4NzVmZjA0YjUuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZh
bGlkL2lkbC9ub25udWxsYWJsZW9iamVjdHMud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDYgKzAs
MCBAQAotaW50ZXJmYWNlIEZvbyB7fTsKLQotaW50ZXJmYWNlIE5vbk51bGxhYmxlIHsKLSAgYXR0
cmlidXRlIEZvbz8/Ci0gICAgZm9vOwotfTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlk
L2lkbC9wcm9taXNlLW51bGxhYmxlLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvcHJvbWlz
ZS1udWxsYWJsZS53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4OTRkN2MwNDRi
Mi4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL3Byb21pc2UtbnVsbGFi
bGUud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDQgKzAsMCBAQAotaW50ZXJmYWNlIFggewotICAg
IGF0dHJpYnV0ZSBQcm9taXNlPHZvaWQ+PwotICAgICAgICBwcm9taXNlOwotfTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9wcm9taXNlLXdpdGgtZXh0ZW5kZWQtYXR0cmlidXRl
LndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvcHJvbWlzZS13aXRoLWV4dGVuZGVkLWF0dHJp
YnV0ZS53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwY2UxNzFmZWMzMy4uMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL3Byb21pc2Utd2l0aC1leHRlbmRl
ZC1hdHRyaWJ1dGUud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDMgKzAsMCBAQAotaW50ZXJmYWNl
IEZvbyB7Ci0gIFByb21pc2U8W1hBdHRyXSBET01TdHJpbmc+IGZvbyhhbnkgcGFyYW0pOwotfTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9yYWlzZXMud2lkbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC9pbnZhbGlkL2lkbC9yYWlzZXMud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
ZmY2NTUyMmYyYjMuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9yYWlz
ZXMud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDE4ICswLDAgQEAKLS8vIGdldHJhaXNlcyBhbmQg
c2V0cmFpc2VzIGFyZSBub3QgbG9uZ2VyIHZhbGlkIFdlYiBJREwKLWludGVyZmFjZSBQZXJzb24g
ewotCi0gIC8vIEFuIGF0dHJpYnV0ZSB0aGF0IGNhbiByYWlzZSBhbiBleGNlcHRpb24gaWYgaXQg
aXMgc2V0IHRvIGFuIGludmFsaWQgdmFsdWUuCi0gIGF0dHJpYnV0ZSBET01TdHJpbmcgbmFtZSBz
ZXRyYWlzZXMgKEludmFsaWROYW1lKTsKLQotICAvLyBBbiBhdHRyaWJ1dGUgd2hvc2UgdmFsdWUg
Y2Fubm90IGJlIGFzc2lnbmVkIHRvLCBhbmQgd2hpY2ggY2FuIHJhaXNlIGFuCi0gIC8vIGV4Y2Vw
dGlvbiBzb21lIGNpcmN1bXN0YW5jZXMuCi0gIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcg
cGV0TmFtZSBnZXRyYWlzZXMgKE5vU3VjaFBldCk7Ci19OwotCi1leGNlcHRpb24gU29tZUV4Y2Vw
dGlvbiB7Ci19OwotCi1pbnRlcmZhY2UgRXhjZXB0aW9uVGhyb3dlciB7Ci0gIC8vIFRoaXMgYXR0
cmlidXRlIGFsd2F5cyB0aHJvd3MgYSBTb21lRXhjZXB0aW9uIGFuZCBuZXZlciByZXR1cm5zIGEg
dmFsdWUuCi0gIGF0dHJpYnV0ZSBsb25nIHZhbHVlT2YgZ2V0cmFpc2VzKFNvbWVFeGNlcHRpb24p
OwotfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
aW52YWxpZC9pZGwvcmVhZG9ubHktaXRlcmFibGUud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lk
bC9yZWFkb25seS1pdGVyYWJsZS53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2
MDU3YWExZmViYS4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL3JlYWRv
bmx5LWl0ZXJhYmxlLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSwzICswLDAgQEAKLWludGVyZmFj
ZSBSZWFkb25seUl0ZXJhYmxlIHsKLSAgcmVhZG9ubHkgaXRlcmFibGU8bG9uZz47Ci19ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRs
L3JlY29yZC1rZXktd2l0aC1leHRlbmRlZC1hdHRyaWJ1dGUud2lkbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZh
bGlkL2lkbC9yZWNvcmQta2V5LXdpdGgtZXh0ZW5kZWQtYXR0cmlidXRlLndpZGwKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IGMxMWViNzQxNGIwLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3QvaW52YWxpZC9pZGwvcmVjb3JkLWtleS13aXRoLWV4dGVuZGVkLWF0dHJpYnV0ZS53aWRs
CisrKyAvZGV2L251bGwKQEAgLTEsMyArMCwwIEBACi1pbnRlcmZhY2UgRm9vIHsKLSAgdm9pZCBm
b28ocmVjb3JkPFtYQXR0cl0gRE9NU3RyaW5nLCBhbnk+IHBhcmFtKTsKLX07CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvcmVjb3JkLWtleS53aWRsIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFs
aWQvaWRsL3JlY29yZC1rZXkud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzlk
YzM4NjE4MmYuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9yZWNvcmQt
a2V5LndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSwzICswLDAgQEAKLWludGVyZmFjZSBGb28gewot
ICB2b2lkIGZvbyhyZWNvcmQ8b2N0ZXQsIGFueT4gcGFyYW0pOwotfTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC9pbnZhbGlkL2lkbC9yZWNvcmQtc2luZ2xlLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxp
ZC9pZGwvcmVjb3JkLXNpbmdsZS53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4
NGRiNDAyODI0My4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL3JlY29y
ZC1zaW5nbGUud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDMgKzAsMCBAQAotaW50ZXJmYWNlIEZv
byB7Ci0gIHZvaWQgZm9vKHJlY29yZDxET01TdHJpbmc+IHBhcmFtKTsKLX07CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvc2NvcGVkbmFtZS53aWRsIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFs
aWQvaWRsL3Njb3BlZG5hbWUud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggY2Zj
YjFjY2M5MzkuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9zY29wZWRu
YW1lLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSwyICswLDAgQEAKLS8vIHNjb3BlZCBuYW1lcyBh
cmUgbm8gbG9uZ2VyIHZhbGlkIGluIFdlYklETAotICB0eXBlZGVmIGdmeDo6Z2VvbTo6Z2VvbTJk
OjpQb2ludCBQb2ludDsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9zZXF1ZW5j
ZUFzQXR0cmlidXRlLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvc2VxdWVuY2VBc0F0dHJp
YnV0ZS53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjMjNkYTgyYWMyMi4uMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL3NlcXVlbmNlQXNBdHRyaWJ1dGUu
d2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDMgKzAsMCBAQAotaW50ZXJmYWNlIHNlcXVlbmNlQXNB
dHRyaWJ1dGUgewotICBhdHRyaWJ1dGUgc2VxdWVuY2U8c2hvcnQ+IGludmFsaWQ7Ci19OwpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lk
bC9zZXRsaWtlLTJ0eXBlcy53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL3NldGxpa2UtMnR5
cGVzLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGMyNjgxYmM3NWYxLi4wMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvc2V0bGlrZS0ydHlwZXMud2lkbAor
KysgL2Rldi9udWxsCkBAIC0xLDMgKzAsMCBAQAotaW50ZXJmYWNlIFNldExpa2VUd29UeXBlcyB7
Ci0gIHNldGxpa2U8bG9uZywgbG9uZz47Ci19ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL3NldHRlci1jcmVhdG9yLndpZGwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3QvaW52YWxpZC9pZGwvc2V0dGVyLWNyZWF0b3Iud2lkbApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggYTcwYjI2Nzc0ZDcuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9p
bnZhbGlkL2lkbC9zZXR0ZXItY3JlYXRvci53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsNCArMCww
IEBACi0vLyBFeHRyYWN0ZWQgZnJvbSBodHRwOi8vZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJJ
REwvIG9uIDIwMTEtMDUtMDYKLWludGVyZmFjZSBPcmRlcmVkTWFwIHsKLSAgc2V0dGVyIGNyZWF0
b3Igdm9pZCBzZXQoRE9NU3RyaW5nIG5hbWUsIGFueSB2YWx1ZSk7Ci19OwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L2ludmFsaWQvaWRsL3NwYWNlZC1uZWdhdGl2ZS1pbmZpbml0eS53aWRsIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L2ludmFsaWQvaWRsL3NwYWNlZC1uZWdhdGl2ZS1pbmZpbml0eS53aWRsCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzZDcxMjIyZTU0Yi4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L2ludmFsaWQvaWRsL3NwYWNlZC1uZWdhdGl2ZS1pbmZpbml0eS53aWRsCisrKyAvZGV2
L251bGwKQEAgLTEsMyArMCwwIEBACi1pbnRlcmZhY2UgWCB7Ci0gICAgY29uc3QgZmxvYXQgaW5m
aW5pdHkgPSAtIEluZmluaXR5OwotfTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lk
bC9zcGFjZWQtdmFyaWFkaWMud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9zcGFjZWQtdmFy
aWFkaWMud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmQ3N2UxODZkNjYuLjAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9zcGFjZWQtdmFyaWFkaWMud2lk
bAorKysgL2Rldi9udWxsCkBAIC0xLDMgKzAsMCBAQAotaW50ZXJmYWNlIFggewotICAgIHZvaWQg
b3BlcmF0aW9uKG9iamVjdCAuIC4gLiBhcmdzKTsKLX07CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
aW52YWxpZC9pZGwvc3BlY2lhbC1vbWl0dGFibGUud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lk
bC9zcGVjaWFsLW9taXR0YWJsZS53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBk
ZDBjMWIxODU4OS4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL3NwZWNp
YWwtb21pdHRhYmxlLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSw4ICswLDAgQEAKLS8vIEV4dHJh
Y3RlZCBmcm9tIGh0dHA6Ly9kZXYudzMub3JnLzIwMDYvd2ViYXBpL1dlYklETC8gb24gMjAxMS0w
NS0wNgotLy8gb21pdHRhYmxlIGlzIG5vIGxvbmdlciBhIHJlY29nbml6ZWQga2V5d29yZCBhcyBv
ZiAyMDExMDkwNQotaW50ZXJmYWNlIERpY3Rpb25hcnkgewotICByZWFkb25seSBhdHRyaWJ1dGUg
dW5zaWduZWQgbG9uZyBwcm9wZXJ0eUNvdW50OwotCi0gIG9taXR0YWJsZSBnZXR0ZXIgZmxvYXQg
Z2V0UHJvcGVydHkoRE9NU3RyaW5nIHByb3BlcnR5TmFtZSk7Ci0gIG9taXR0YWJsZSBzZXR0ZXIg
dm9pZCBzZXRQcm9wZXJ0eShET01TdHJpbmcgcHJvcGVydHlOYW1lLCBmbG9hdCBwcm9wZXJ0eVZh
bHVlKTsKLX07ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L2ludmFsaWQvaWRsL3N0cmF5LXNsYXNoLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwv
c3RyYXktc2xhc2gud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjY3M2FhOTRi
MDEuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9zdHJheS1zbGFzaC53
aWRsCisrKyAvZGV2L251bGwKQEAgLTEsMiArMCwwIEBACi0vLyBUaGlzIGlzIGEgY29tbWVudC4K
LS8gVGhpcyBpcyBub3QuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvc3RyaW5n
Y29uc3RhbnRzLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvc3RyaW5nY29uc3RhbnRzLndp
ZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ0ZmQzZmYxMzZlLi4wMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvc3RyaW5nY29uc3RhbnRzLndpZGwKKysrIC9k
ZXYvbnVsbApAQCAtMSwzICswLDAgQEAKLWludGVyZmFjZSBVdGlsIHsKLSAgY29uc3QgRE9NU3Ry
aW5nIGhlbGxvID0gIndvcmxkIjsKLX07ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL3R5cGVkZWYtbmVzdGVkLndpZGwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3QvaW52YWxpZC9pZGwvdHlwZWRlZi1uZXN0ZWQud2lkbApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggZGZkMzc3YmY5MzIuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZh
bGlkL2lkbC90eXBlZGVmLW5lc3RlZC53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsMjIgKzAsMCBA
QAotCi0gICAgICBpbnRlcmZhY2UgUG9pbnQgewotICAgICAgICBhdHRyaWJ1dGUgZmxvYXQgeDsK
LSAgICAgICAgYXR0cmlidXRlIGZsb2F0IHk7Ci0gICAgICB9OwotCi0KLSAgICAgIGludGVyZmFj
ZSBSZWN0IHsKLSAgICAgICAgYXR0cmlidXRlIFBvaW50IHRvcGxlZnQ7Ci0gICAgICAgIGF0dHJp
YnV0ZSBQb2ludCBib3R0b21yaWdodDsKLSAgICAgIH07Ci0KLSAgaW50ZXJmYWNlIFdpZGdldCB7
Ci0gICAgdHlwZWRlZiBzZXF1ZW5jZTxQb2ludD4gUG9pbnRTZXF1ZW5jZTsKLQotICAgIHJlYWRv
bmx5IGF0dHJpYnV0ZSBSZWN0IGJvdW5kczsKLQotICAgIGJvb2xlYW4gcG9pbnRXaXRoaW5Cb3Vu
ZHMoUG9pbnQgcCk7Ci0gICAgYm9vbGVhbiBhbGxQb2ludHNXaXRoaW5Cb3VuZHMoUG9pbnRTZXF1
ZW5jZSBwcyk7Ci0gIH07Ci0KLSAgdHlwZWRlZiBbQ2xhbXBdIG9jdGV0IHZhbHVlOwpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC91
bmlvbi1kYW5nbGluZy1vci53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL3VuaW9uLWRhbmds
aW5nLW9yLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDBhYTA0M2U5YWNhLi4w
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvdW5pb24tZGFuZ2xpbmctb3Iu
d2lkbAorKysgL2Rldi9udWxsCkBAIC0xICswLDAgQEAKLXR5cGVkZWYgKE9uZSBvciBUd28gb3Ip
IFVuaW9uT3I7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvdW5pb24tb25lLndp
ZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvdW5pb24tb25lLndpZGwKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDg2ZWU5NmY1MTZkLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
aW52YWxpZC9pZGwvdW5pb24tb25lLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSArMCwwIEBACi10
eXBlZGVmIChPbmx5T25lKSBVbmlvbk9uZTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlk
L2lkbC91bmlvbi16ZXJvLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvdW5pb24temVyby53
aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxNzdmYzRjNzA4Zi4uMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL3VuaW9uLXplcm8ud2lkbAorKysgL2Rldi9u
dWxsCkBAIC0xICswLDAgQEAKLXR5cGVkZWYgKCkgVW5pb25aZXJvOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L2ludmFsaWQvaWRsL3Vua25vd24tZ2VuZXJpYy53aWRsIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFs
aWQvaWRsL3Vua25vd24tZ2VuZXJpYy53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCBlZTRhMmRiNzRhNi4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL3Vu
a25vd24tZ2VuZXJpYy53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsMyArMCwwIEBACi1pbnRlcmZh
Y2UgRmV0Y2hFdmVudCA6IEV2ZW50IHsKLSAgUmVzcG9uc2VQcm9taXNlPGFueT4gZGVmYXVsdCgp
OwotfTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC93M2MtaW1wb3J0LmxvZyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC9pbnZhbGlkL2lkbC93M2MtaW1wb3J0LmxvZwpkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggZjJjZWI0ZGY2ZWMuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZh
bGlkL2lkbC93M2MtaW1wb3J0LmxvZworKysgL2Rldi9udWxsCkBAIC0xLDU2ICswLDAgQEAKLVRo
ZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBv
c2l0b3J5LgotRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1J
bnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6Ci0JaHR0cHM6
Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQKLQotVGhlbiBydW4gdGhlIFRvb2xz
L1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKLQotRG8gTk9U
IG1vZGlmeSBvciByZW1vdmUgdGhpcyBmaWxlLgotCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLVByb3BlcnRp
ZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKLU5vbmUKLVByb3BlcnR5IHZhbHVlcyByZXF1
aXJpbmcgdmVuZG9yIHByZWZpeGVzOgotTm9uZQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1MaXN0IG9mIGZp
bGVzOgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9hcnJheS53aWRsCi0vTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFs
aWQvaWRsL2NhbGxlci53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL2RpY3QtcmVxdWlyZWQt
ZGVmYXVsdC53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL2R1cGxpY2F0ZS53aWRsCi0vTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L2ludmFsaWQvaWRsL2VudW0tZW1wdHkud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lk
bC9lbnVtLXdvLWNvbW1hLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvZW51bS53aWRsCi0v
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L2ludmFsaWQvaWRsL2V4Y2VwdGlvbi53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQv
aWRsL2V4dGF0dHItZW1wdHktaWRzLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvaWQtdW5k
ZXJzY29yZWQtbnVtYmVyLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvaW1wbGVtZW50c19h
bmRfaW5jbHVkZXNfd3Mud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9pdGVyYXRvci53aWRs
Ci0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL21hcGxpa2UtMXR5cGUud2lkbAotL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9p
bnZhbGlkL2lkbC9tb2R1bGUud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9uYW1lc3BhY2Ut
cmVhZHdyaXRlLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvbm8tc2VtaWNvbG9uLWNhbGxi
YWNrLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvbm8tc2VtaWNvbG9uLndpZGwKLS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3QvaW52YWxpZC9pZGwvbm9ubnVsbGFibGVhbnkud2lkbAotL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlk
L2lkbC9ub25udWxsYWJsZW9iamVjdHMud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9wcm9t
aXNlLW51bGxhYmxlLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvcHJvbWlzZS13aXRoLWV4
dGVuZGVkLWF0dHJpYnV0ZS53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL3JhaXNlcy53aWRs
Ci0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL3JlYWRvbmx5LWl0ZXJhYmxlLndpZGwKLS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3QvaW52YWxpZC9pZGwvcmVjb3JkLWtleS13aXRoLWV4dGVuZGVkLWF0dHJpYnV0ZS53aWRsCi0v
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L2ludmFsaWQvaWRsL3JlY29yZC1rZXkud2lkbAotL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlk
L2lkbC9yZWNvcmQtc2luZ2xlLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvc2NvcGVkbmFt
ZS53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL3NlcXVlbmNlQXNBdHRyaWJ1dGUud2lkbAot
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9zZXRsaWtlLTJ0eXBlcy53aWRsCi0vTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2lu
dmFsaWQvaWRsL3NldHRlci1jcmVhdG9yLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvc3Bh
Y2VkLW5lZ2F0aXZlLWluZmluaXR5LndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvc3BhY2Vk
LXZhcmlhZGljLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvc3BlY2lhbC1vbWl0dGFibGUu
d2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9zdHJheS1zbGFzaC53aWRsCi0vTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L2ludmFsaWQvaWRsL3N0cmluZ2NvbnN0YW50cy53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRs
L3R5cGVkZWYtbmVzdGVkLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvdW5pb24tZGFuZ2xp
bmctb3Iud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC91bmlvbi1vbmUud2lkbAotL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC9pbnZhbGlkL2lkbC91bmlvbi16ZXJvLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwv
dW5rbm93bi1nZW5lcmljLndpZGwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24v
YXJyYXkuanNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vYXJyYXkuanNvbgpkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggODk4YjJkODM2YmYuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC9pbnZhbGlkL2pzb24vYXJyYXkuanNvbgorKysgL2Rldi9udWxsCkBAIC0xLDQgKzAsMCBA
QAotewotICAgICJtZXNzYWdlIjogIkdvdCBhbiBlcnJvciBkdXJpbmcgb3IgcmlnaHQgYWZ0ZXIg
cGFyc2luZyBgaW50ZXJmYWNlIExvdHRlcnlSZXN1bHRzYDogTm8gbmFtZSBpbiBhdHRyaWJ1dGUi
LAotICAgICJsaW5lIjogNQotfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9j
YWxsZXIuanNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vY2FsbGVyLmpzb24KZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDU2N2ZhMzM2ODEyLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3QvaW52YWxpZC9qc29uL2NhbGxlci5qc29uCisrKyAvZGV2L251bGwKQEAgLTEsNCArMCww
IEBACi17Ci0gICAgIm1lc3NhZ2UiOiAiR290IGFuIGVycm9yIGR1cmluZyBvciByaWdodCBhZnRl
ciBwYXJzaW5nIGBpbnRlcmZhY2UgTnVtYmVyUXVhZHJ1cGxlcmA6IEludmFsaWQgb3BlcmF0aW9u
IiwKLSAgICAibGluZSI6IDYKLX0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24v
ZGljdC1yZXF1aXJlZC1kZWZhdWx0Lmpzb24gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL2RpY3Qt
cmVxdWlyZWQtZGVmYXVsdC5qc29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4MmI2
YjJhZTQyYS4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9kaWN0LXJl
cXVpcmVkLWRlZmF1bHQuanNvbgorKysgL2Rldi9udWxsCkBAIC0xLDQgKzAsMCBAQAotewotICAg
ICJtZXNzYWdlIjogICJHb3QgYW4gZXJyb3IgZHVyaW5nIG9yIHJpZ2h0IGFmdGVyIHBhcnNpbmcg
YGRpY3Rpb25hcnkgRGljdGA6IFJlcXVpcmVkIG1lbWJlciBtdXN0IG5vdCBoYXZlIGEgZGVmYXVs
dCIKLSwgICAibGluZSI6ICAgICA0Ci19CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9q
c29uL2R1cGxpY2F0ZS5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9kdXBsaWNhdGUuanNv
bgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTg4YTcxNTZmZTguLjAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vZHVwbGljYXRlLmpzb24KKysrIC9kZXYvbnVs
bApAQCAtMSw0ICswLDAgQEAKLXsKLSAgICAibWVzc2FnZSI6ICJHb3QgYW4gZXJyb3IgZHVyaW5n
IG9yIHJpZ2h0IGFmdGVyIHBhcnNpbmcgYHR5cGVkZWYgVGVzdGA6IFRoZSBuYW1lIFwiVGVzdFwi
IG9mIHR5cGUgXCJ0eXBlZGVmXCIgaXMgYWxyZWFkeSBzZWVuIiwKLSAgICAibGluZSI6IDMKLX0K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vZW51bS1lbXB0eS5qc29uIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L2ludmFsaWQvanNvbi9lbnVtLWVtcHR5Lmpzb24KZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDczNGJjNjdkZTFmLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxp
ZC9qc29uL2VudW0tZW1wdHkuanNvbgorKysgL2Rldi9udWxsCkBAIC0xLDQgKzAsMCBAQAotewot
ICAgICJtZXNzYWdlIjogIkdvdCBhbiBlcnJvciBkdXJpbmcgb3IgcmlnaHQgYWZ0ZXIgcGFyc2lu
ZyBgZW51bSBFbXB0eWA6IE5vIHZhbHVlIGluIGVudW0iLAotICAgICJsaW5lIjogMQotfQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9lbnVtLXdvLWNvbW1hLmpzb24gYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3QvaW52YWxpZC9qc29uL2VudW0td28tY29tbWEuanNvbgpkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggYmZkMGIwOTUxZmMuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZh
bGlkL2pzb24vZW51bS13by1jb21tYS5qc29uCisrKyAvZGV2L251bGwKQEAgLTEsNCArMCwwIEBA
Ci17Ci0gICAgIm1lc3NhZ2UiOiAiR290IGFuIGVycm9yIGR1cmluZyBvciByaWdodCBhZnRlciBw
YXJzaW5nIGBlbnVtIE5vQ29tbWFgOiBObyBjb21tYSBiZXR3ZWVuIGVudW0gdmFsdWVzIiwKLSAg
ICAibGluZSI6IDEKLX0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vZW51bS5q
c29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9lbnVtLmpzb24KZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDA3M2ZmNmMyOTBjLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52
YWxpZC9qc29uL2VudW0uanNvbgorKysgL2Rldi9udWxsCkBAIC0xLDQgKzAsMCBAQAotewotICAg
ICJtZXNzYWdlIjogICJHb3QgYW4gZXJyb3IgZHVyaW5nIG9yIHJpZ2h0IGFmdGVyIHBhcnNpbmcg
YGVudW0gZm9vYDogVW5leHBlY3RlZCB2YWx1ZSBpbiBlbnVtIgotLCAgICJsaW5lIjogICAgIDEK
LX0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vZXhjZXB0aW9uLmpzb24gYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3QvaW52YWxpZC9qc29uL2V4Y2VwdGlvbi5qc29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCBhZDlmYWM2Y2EyZi4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFs
aWQvanNvbi9leGNlcHRpb24uanNvbgorKysgL2Rldi9udWxsCkBAIC0xLDQgKzAsMCBAQAotewot
ICAgICJtZXNzYWdlIjogIkdvdCBhbiBlcnJvciBiZWZvcmUgcGFyc2luZyBhbnkgbmFtZWQgZGVm
aW5pdGlvbjogVW5yZWNvZ25pc2VkIHRva2VucyIsCi0gICAgImxpbmUiOiA0Ci19CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL2V4dGF0dHItZW1wdHktaWRzLmpzb24gYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3QvaW52YWxpZC9qc29uL2V4dGF0dHItZW1wdHktaWRzLmpzb24KZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDQzMzdmMWUxODBjLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
aW52YWxpZC9qc29uL2V4dGF0dHItZW1wdHktaWRzLmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSw0
ICswLDAgQEAKLXsKLSAgICAibWVzc2FnZSI6ICJHb3QgYW4gZXJyb3IgYmVmb3JlIHBhcnNpbmcg
YW55IG5hbWVkIGRlZmluaXRpb246IEV4cGVjdGVkIGlkZW50aWZpZXJzIGJ1dCBub3QgZm91bmQi
LAotICAgICJsaW5lIjogMQotfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9p
ZC11bmRlcnNjb3JlZC1udW1iZXIuanNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vaWQtdW5k
ZXJzY29yZWQtbnVtYmVyLmpzb24KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQxOWVk
OTQ2ZmNhLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL2lkLXVuZGVy
c2NvcmVkLW51bWJlci5qc29uCisrKyAvZGV2L251bGwKQEAgLTEsNCArMCwwIEBACi17Ci0gICAg
Im1lc3NhZ2UiOiAiR290IGFuIGVycm9yIGJlZm9yZSBwYXJzaW5nIGFueSBuYW1lZCBkZWZpbml0
aW9uOiBObyBuYW1lIGZvciBpbnRlcmZhY2UiLAotICAgICJsaW5lIjogMQotfQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9pbXBsZW1lbnRzX2FuZF9pbmNsdWRlc193cy5qc29u
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9pbXBsZW1lbnRzX2FuZF9pbmNsdWRlc193cy5qc29u
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhZDlmYWM2Y2EyZi4uMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9pbXBsZW1lbnRzX2FuZF9pbmNsdWRlc193cy5q
c29uCisrKyAvZGV2L251bGwKQEAgLTEsNCArMCwwIEBACi17Ci0gICAgIm1lc3NhZ2UiOiAiR290
IGFuIGVycm9yIGJlZm9yZSBwYXJzaW5nIGFueSBuYW1lZCBkZWZpbml0aW9uOiBVbnJlY29nbmlz
ZWQgdG9rZW5zIiwKLSAgICAibGluZSI6IDQKLX0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZh
bGlkL2pzb24vaXRlcmF0b3IuanNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vaXRlcmF0b3Iu
anNvbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTQ2ZDY1M2FlM2MuLjAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vaXRlcmF0b3IuanNvbgorKysgL2Rldi9u
dWxsCkBAIC0xLDQgKzAsMCBAQAotewotICAgICJtZXNzYWdlIjogIkdvdCBhbiBlcnJvciBkdXJp
bmcgb3IgcmlnaHQgYWZ0ZXIgcGFyc2luZyBgaW50ZXJmYWNlIFNlc3Npb25NYW5hZ2VyYDogSW52
YWxpZCBvcGVyYXRpb24iLAotICAgICJsaW5lIjogNQotfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L2ludmFsaWQvanNvbi9tYXBsaWtlLTF0eXBlLmpzb24gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29u
L21hcGxpa2UtMXR5cGUuanNvbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzVlN2Ez
NWVlMjUuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vbWFwbGlrZS0x
dHlwZS5qc29uCisrKyAvZGV2L251bGwKQEAgLTEsNCArMCwwIEBACi17Ci0gICAgIm1lc3NhZ2Ui
OiAiR290IGFuIGVycm9yIGR1cmluZyBvciByaWdodCBhZnRlciBwYXJzaW5nIGBpbnRlcmZhY2Ug
TWFwTGlrZU9uZVR5cGVgOiBNaXNzaW5nIHNlY29uZCB0eXBlIGFyZ3VtZW50IGluIG1hcGxpa2Ug
ZGVjbGFyYXRpb24iLAotICAgICJsaW5lIjogMgotfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2lu
dmFsaWQvanNvbi9tb2R1bGUuanNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vbW9kdWxlLmpz
b24KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDljMDcxY2RkMDdhLi4wMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL21vZHVsZS5qc29uCisrKyAvZGV2L251bGwK
QEAgLTEsNCArMCwwIEBACi17Ci0gICAgIm1lc3NhZ2UiOiAgIkdvdCBhbiBlcnJvciBiZWZvcmUg
cGFyc2luZyBhbnkgbmFtZWQgZGVmaW5pdGlvbjogVW5yZWNvZ25pc2VkIHRva2VucyIKLSwgICAi
bGluZSI6ICAgICAyCi19CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL25hbWVz
cGFjZS1yZWFkd3JpdGUuanNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vbmFtZXNwYWNlLXJl
YWR3cml0ZS5qc29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkMjEyMTUxMTFmMS4u
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9uYW1lc3BhY2UtcmVhZHdy
aXRlLmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSw0ICswLDAgQEAKLXsKLSAgICAibWVzc2FnZSI6
ICJHb3QgYW4gZXJyb3IgZHVyaW5nIG9yIHJpZ2h0IGFmdGVyIHBhcnNpbmcgYG5hbWVzcGFjZSBD
U1NgOiBBdHRyaWJ1dGVzIG11c3QgYmUgcmVhZG9ubHkgaW4gdGhpcyBjb250ZXh0IiwKLSAgICAi
bGluZSI6IDIKLX0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vbm8tc2VtaWNv
bG9uLWNhbGxiYWNrLmpzb24gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL25vLXNlbWljb2xvbi1j
YWxsYmFjay5qc29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxZGI5ZDE0YzhlMi4u
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9uby1zZW1pY29sb24tY2Fs
bGJhY2suanNvbgorKysgL2Rldi9udWxsCkBAIC0xLDQgKzAsMCBAQAotewotICAgICJtZXNzYWdl
IjogIkdvdCBhbiBlcnJvciBkdXJpbmcgb3IgcmlnaHQgYWZ0ZXIgcGFyc2luZyBgY2FsbGJhY2sg
aW50ZXJmYWNlIE5vU2VtaWNvbG9uYDogTWlzc2luZyBzZW1pY29sb24gYWZ0ZXIgaW50ZXJmYWNl
IiwKLSAgICAibGluZSI6IDUKLX0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24v
bm8tc2VtaWNvbG9uLmpzb24gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL25vLXNlbWljb2xvbi5q
c29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwODc1MzJhMDEyZi4uMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9uby1zZW1pY29sb24uanNvbgorKysgL2Rl
di9udWxsCkBAIC0xLDQgKzAsMCBAQAotewotICAgICJtZXNzYWdlIjogIkdvdCBhbiBlcnJvciBk
dXJpbmcgb3IgcmlnaHQgYWZ0ZXIgcGFyc2luZyBgcGFydGlhbCBpbnRlcmZhY2UgTm9TZW1pY29s
b25gOiBNaXNzaW5nIHNlbWljb2xvbiBhZnRlciBpbnRlcmZhY2UiLAotICAgICJsaW5lIjogNQot
fQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9ub25udWxsYWJsZWFueS5qc29u
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9ub25udWxsYWJsZWFueS5qc29uCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCA4YTFmOTAwNDZhZS4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L2ludmFsaWQvanNvbi9ub25udWxsYWJsZWFueS5qc29uCisrKyAvZGV2L251bGwKQEAgLTEs
NCArMCwwIEBACi17Ci0gICAgIm1lc3NhZ2UiOiAgIkdvdCBhbiBlcnJvciBkdXJpbmcgb3Igcmln
aHQgYWZ0ZXIgcGFyc2luZyBgaW50ZXJmYWNlIE5vbk51bGxhYmxlYDogVHlwZSBhbnkgY2Fubm90
IGJlIG1hZGUgbnVsbGFibGUiCi0sICAgImxpbmUiOiAgICAgMgotfQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L2ludmFsaWQvanNvbi9ub25udWxsYWJsZW9iamVjdHMuanNvbiBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9p
bnZhbGlkL2pzb24vbm9ubnVsbGFibGVvYmplY3RzLmpzb24KZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IGQ0NzBlYzk0YTYwLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxp
ZC9qc29uL25vbm51bGxhYmxlb2JqZWN0cy5qc29uCisrKyAvZGV2L251bGwKQEAgLTEsNCArMCww
IEBACi17Ci0gICAgIm1lc3NhZ2UiOiAiR290IGFuIGVycm9yIGR1cmluZyBvciByaWdodCBhZnRl
ciBwYXJzaW5nIGBpbnRlcmZhY2UgTm9uTnVsbGFibGVgOiBDYW4ndCBudWxsYWJsZSBtb3JlIHRo
YW4gb25jZSIsCi0gICAgImxpbmUiOiA0Ci19CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxp
ZC9qc29uL3Byb21pc2UtbnVsbGFibGUuanNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vcHJv
bWlzZS1udWxsYWJsZS5qc29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjZWQ1MWZh
ZjFiZS4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9wcm9taXNlLW51
bGxhYmxlLmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSw0ICswLDAgQEAKLXsKLSAgICAibWVzc2Fn
ZSI6ICJHb3QgYW4gZXJyb3IgZHVyaW5nIG9yIHJpZ2h0IGFmdGVyIHBhcnNpbmcgYGludGVyZmFj
ZSBYYDogUHJvbWlzZSB0eXBlIGNhbm5vdCBiZSBudWxsYWJsZSIsCi0gICAgImxpbmUiOiAyCi19
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL3Byb21pc2Utd2l0aC1leHRlbmRl
ZC1hdHRyaWJ1dGUuanNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vcHJvbWlzZS13aXRoLWV4
dGVuZGVkLWF0dHJpYnV0ZS5qc29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3MTIx
MmQ0NmUzYy4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9wcm9taXNl
LXdpdGgtZXh0ZW5kZWQtYXR0cmlidXRlLmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSw0ICswLDAg
QEAKLXsKLSAgICAibWVzc2FnZSI6ICJHb3QgYW4gZXJyb3IgZHVyaW5nIG9yIHJpZ2h0IGFmdGVy
IHBhcnNpbmcgYGludGVyZmFjZSBGb29gOiBQcm9taXNlIHR5cGUgY2Fubm90IGhhdmUgZXh0ZW5k
ZWQgYXR0cmlidXRlIiwKLSAgICAibGluZSI6IDIKLX0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9p
bnZhbGlkL2pzb24vcmFpc2VzLmpzb24gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL3JhaXNlcy5q
c29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzMTY1Yjg3NGYwYy4uMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9yYWlzZXMuanNvbgorKysgL2Rldi9udWxs
CkBAIC0xLDQgKzAsMCBAQAotewotICAgICJtZXNzYWdlIjogICJHb3QgYW4gZXJyb3IgZHVyaW5n
IG9yIHJpZ2h0IGFmdGVyIHBhcnNpbmcgYGludGVyZmFjZSBQZXJzb25gOiBVbnRlcm1pbmF0ZWQg
YXR0cmlidXRlIgotLCAgICJsaW5lIjogICAgIDUKLX0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9p
bnZhbGlkL2pzb24vcmVhZG9ubHktaXRlcmFibGUuanNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pz
b24vcmVhZG9ubHktaXRlcmFibGUuanNvbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
YTU3MWIyMjI3MWIuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vcmVh
ZG9ubHktaXRlcmFibGUuanNvbgorKysgL2Rldi9udWxsCkBAIC0xLDQgKzAsMCBAQAotewotICAg
ICJtZXNzYWdlIjogIkdvdCBhbiBlcnJvciBkdXJpbmcgb3IgcmlnaHQgYWZ0ZXIgcGFyc2luZyBg
aW50ZXJmYWNlIFJlYWRvbmx5SXRlcmFibGVgOiBNaXNzaW5nIHJldHVybiB0eXBlIiwKLSAgICAi
bGluZSI6IDIKLX0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vcmVjb3JkLWtl
eS13aXRoLWV4dGVuZGVkLWF0dHJpYnV0ZS5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9y
ZWNvcmQta2V5LXdpdGgtZXh0ZW5kZWQtYXR0cmlidXRlLmpzb24KZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDQwMDJlN2ZlMDE1Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52
YWxpZC9qc29uL3JlY29yZC1rZXktd2l0aC1leHRlbmRlZC1hdHRyaWJ1dGUuanNvbgorKysgL2Rl
di9udWxsCkBAIC0xLDQgKzAsMCBAQAotewotICAgICJtZXNzYWdlIjogIkdvdCBhbiBlcnJvciBk
dXJpbmcgb3IgcmlnaHQgYWZ0ZXIgcGFyc2luZyBgaW50ZXJmYWNlIEZvb2A6IFJlY29yZCBrZXkg
Y2Fubm90IGhhdmUgZXh0ZW5kZWQgYXR0cmlidXRlIiwKLSAgICAibGluZSI6IDIKLX0KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vcmVjb3JkLWtleS5qc29uIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L2ludmFsaWQvanNvbi9yZWNvcmQta2V5Lmpzb24KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDZmMWJiOTliZTkwLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29u
L3JlY29yZC1rZXkuanNvbgorKysgL2Rldi9udWxsCkBAIC0xLDQgKzAsMCBAQAotewotICAgICJt
ZXNzYWdlIjogIkdvdCBhbiBlcnJvciBkdXJpbmcgb3IgcmlnaHQgYWZ0ZXIgcGFyc2luZyBgaW50
ZXJmYWNlIEZvb2A6IFJlY29yZCBrZXkgbXVzdCBiZSBhIHN0cmluZyB0eXBlIiwKLSAgICAibGlu
ZSI6IDIKLX0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vcmVjb3JkLXNpbmds
ZS5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9yZWNvcmQtc2luZ2xlLmpzb24KZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGVjZTRmYjJmZWUzLi4wMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3QvaW52YWxpZC9qc29uL3JlY29yZC1zaW5nbGUuanNvbgorKysgL2Rldi9udWxsCkBA
IC0xLDQgKzAsMCBAQAotewotICAgICJtZXNzYWdlIjogIkdvdCBhbiBlcnJvciBkdXJpbmcgb3Ig
cmlnaHQgYWZ0ZXIgcGFyc2luZyBgaW50ZXJmYWNlIEZvb2A6IE1pc3NpbmcgY29tbWEgYWZ0ZXIg
cmVjb3JkIGtleSB0eXBlIiwKLSAgICAibGluZSI6IDIKLX0KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC9pbnZhbGlkL2pzb24vc2NvcGVkbmFtZS5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9z
Y29wZWRuYW1lLmpzb24KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ2MjBkMmRmNWZh
Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL3Njb3BlZG5hbWUuanNv
bgorKysgL2Rldi9udWxsCkBAIC0xLDQgKzAsMCBAQAotewotICAgICJtZXNzYWdlIjogICJHb3Qg
YW4gZXJyb3IgYmVmb3JlIHBhcnNpbmcgYW55IG5hbWVkIGRlZmluaXRpb246IE5vIG5hbWUgaW4g
dHlwZWRlZiIKLSwgICAibGluZSI6ICAgICAyCi19CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52
YWxpZC9qc29uL3NlcXVlbmNlQXNBdHRyaWJ1dGUuanNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pz
b24vc2VxdWVuY2VBc0F0dHJpYnV0ZS5qc29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCA1YjQzMTRhNmRlMS4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9z
ZXF1ZW5jZUFzQXR0cmlidXRlLmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSw0ICswLDAgQEAKLXsK
LSAgICAibWVzc2FnZSI6ICAiR290IGFuIGVycm9yIGR1cmluZyBvciByaWdodCBhZnRlciBwYXJz
aW5nIGBpbnRlcmZhY2Ugc2VxdWVuY2VBc0F0dHJpYnV0ZWA6IEF0dHJpYnV0ZXMgY2Fubm90IGFj
Y2VwdCBzZXF1ZW5jZSB0eXBlcyIKLSwgICAibGluZSI6ICAgICAyCi19CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3QvaW52YWxpZC9qc29uL3NldGxpa2UtMnR5cGVzLmpzb24gYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52
YWxpZC9qc29uL3NldGxpa2UtMnR5cGVzLmpzb24KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDI5MDBlMWJhYzMwLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29u
L3NldGxpa2UtMnR5cGVzLmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSw0ICswLDAgQEAKLXsKLSAg
ICAibWVzc2FnZSI6ICJHb3QgYW4gZXJyb3IgZHVyaW5nIG9yIHJpZ2h0IGFmdGVyIHBhcnNpbmcg
YGludGVyZmFjZSBTZXRMaWtlVHdvVHlwZXNgOiBVbnRlcm1pbmF0ZWQgc2V0bGlrZSBkZWNsYXJh
dGlvbiIsCi0gICAgImxpbmUiOiAyCi19CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9q
c29uL3NldHRlci1jcmVhdG9yLmpzb24gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL3NldHRlci1j
cmVhdG9yLmpzb24KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI1ZGVjYjM3NGUxLi4w
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL3NldHRlci1jcmVhdG9yLmpz
b24KKysrIC9kZXYvbnVsbApAQCAtMSw0ICswLDAgQEAKLXsKLSAgICAibWVzc2FnZSI6ICJHb3Qg
YW4gZXJyb3IgZHVyaW5nIG9yIHJpZ2h0IGFmdGVyIHBhcnNpbmcgYGludGVyZmFjZSBPcmRlcmVk
TWFwYDogSW52YWxpZCBvcGVyYXRpb24iLAotICAgICJsaW5lIjogMwotfQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L2ludmFsaWQvanNvbi9zcGFjZWQtbmVnYXRpdmUtaW5maW5pdHkuanNvbiBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC9pbnZhbGlkL2pzb24vc3BhY2VkLW5lZ2F0aXZlLWluZmluaXR5Lmpzb24KZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDllNWQ2MTgwNDk5Li4wMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3QvaW52YWxpZC9qc29uL3NwYWNlZC1uZWdhdGl2ZS1pbmZpbml0eS5qc29uCisrKyAv
ZGV2L251bGwKQEAgLTEsNCArMCwwIEBACi17Ci0gICAgIm1lc3NhZ2UiOiAiR290IGFuIGVycm9y
IGR1cmluZyBvciByaWdodCBhZnRlciBwYXJzaW5nIGBpbnRlcmZhY2UgWGA6IE5vIHZhbHVlIGZv
ciBjb25zdCIsCi0gICAgImxpbmUiOiAyCi19CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxp
ZC9qc29uL3NwYWNlZC12YXJpYWRpYy5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9zcGFj
ZWQtdmFyaWFkaWMuanNvbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDA5MGFiZWVi
NzEuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vc3BhY2VkLXZhcmlh
ZGljLmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSw0ICswLDAgQEAKLXsKLSAgICAibWVzc2FnZSI6
ICJHb3QgYW4gZXJyb3IgZHVyaW5nIG9yIHJpZ2h0IGFmdGVyIHBhcnNpbmcgYGludGVyZmFjZSBY
YDogVW50ZXJtaW5hdGVkIG9wZXJhdGlvbiIsCi0gICAgImxpbmUiOiAyCi19CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL3NwZWNpYWwtb21pdHRhYmxlLmpzb24gYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3QvaW52YWxpZC9qc29uL3NwZWNpYWwtb21pdHRhYmxlLmpzb24KZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IGMyMGIyOGUwM2MxLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52
YWxpZC9qc29uL3NwZWNpYWwtb21pdHRhYmxlLmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSw0ICsw
LDAgQEAKLXsKLSAgICAibWVzc2FnZSI6ICAiR290IGFuIGVycm9yIGR1cmluZyBvciByaWdodCBh
ZnRlciBwYXJzaW5nIGBpbnRlcmZhY2UgRGljdGlvbmFyeWA6IEludmFsaWQgb3BlcmF0aW9uIgot
LCAgICJsaW5lIjogICAgIDYKLX0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24v
c3RyYXktc2xhc2guanNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vc3RyYXktc2xhc2guanNv
bgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWMwNzFjZGQwN2EuLjAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vc3RyYXktc2xhc2guanNvbgorKysgL2Rldi9u
dWxsCkBAIC0xLDQgKzAsMCBAQAotewotICAgICJtZXNzYWdlIjogICJHb3QgYW4gZXJyb3IgYmVm
b3JlIHBhcnNpbmcgYW55IG5hbWVkIGRlZmluaXRpb246IFVucmVjb2duaXNlZCB0b2tlbnMiCi0s
ICAgImxpbmUiOiAgICAgMgotfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9z
dHJpbmdjb25zdGFudHMuanNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vc3RyaW5nY29uc3Rh
bnRzLmpzb24KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDc0NWQ2ZTZlMDhiLi4wMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL3N0cmluZ2NvbnN0YW50cy5qc29u
CisrKyAvZGV2L251bGwKQEAgLTEsNCArMCwwIEBACi17Ci0gICAgIm1lc3NhZ2UiOiAgIkdvdCBh
biBlcnJvciBkdXJpbmcgb3IgcmlnaHQgYWZ0ZXIgcGFyc2luZyBgaW50ZXJmYWNlIFV0aWxgOiBO
byB0eXBlIGZvciBjb25zdCIKLSwgICAibGluZSI6ICAgICAyCi19CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3QvaW52YWxpZC9qc29uL3R5cGVkZWYtbmVzdGVkLmpzb24gYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxp
ZC9qc29uL3R5cGVkZWYtbmVzdGVkLmpzb24KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IGUxODQzY2VjN2Q5Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL3R5
cGVkZWYtbmVzdGVkLmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSw0ICswLDAgQEAKLXsKLSAgICAi
bWVzc2FnZSI6ICAiR290IGFuIGVycm9yIGR1cmluZyBvciByaWdodCBhZnRlciBwYXJzaW5nIGBp
bnRlcmZhY2UgV2lkZ2V0YDogTWlzc2luZyByZXR1cm4gdHlwZSIKLSwgICAibGluZSI6ICAgICAx
NAotfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi91bmlvbi1kYW5nbGluZy1v
ci5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi91bmlvbi1kYW5nbGluZy1vci5qc29uCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2OGRmZDhiMmFlNi4uMDAwMDAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi91bmlvbi1kYW5nbGluZy1vci5qc29uCisrKyAvZGV2
L251bGwKQEAgLTEsNCArMCwwIEBACi17Ci0gICAgIm1lc3NhZ2UiOiAiR290IGFuIGVycm9yIGJl
Zm9yZSBwYXJzaW5nIGFueSBuYW1lZCBkZWZpbml0aW9uOiBObyB0eXBlIGFmdGVyIG9wZW4gcGFy
ZW50aGVzaXMgb3IgJ29yJyBpbiB1bmlvbiB0eXBlIiwKLSAgICAibGluZSI6IDEKLX0KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vdW5pb24tb25lLmpzb24gYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
aW52YWxpZC9qc29uL3VuaW9uLW9uZS5qc29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCA0NzY0MDNkNjg4OS4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi91
bmlvbi1vbmUuanNvbgorKysgL2Rldi9udWxsCkBAIC0xLDQgKzAsMCBAQAotewotICAgICJtZXNz
YWdlIjogIkdvdCBhbiBlcnJvciBiZWZvcmUgcGFyc2luZyBhbnkgbmFtZWQgZGVmaW5pdGlvbjog
QXQgbGVhc3QgdHdvIHR5cGVzIGFyZSBleHBlY3RlZCBpbiBhIHVuaW9uIHR5cGUgYnV0IGZvdW5k
IGxlc3MiLAotICAgICJsaW5lIjogMQotfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQv
anNvbi91bmlvbi16ZXJvLmpzb24gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL3VuaW9uLXplcm8u
anNvbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjhkZmQ4YjJhZTYuLjAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vdW5pb24temVyby5qc29uCisrKyAvZGV2
L251bGwKQEAgLTEsNCArMCwwIEBACi17Ci0gICAgIm1lc3NhZ2UiOiAiR290IGFuIGVycm9yIGJl
Zm9yZSBwYXJzaW5nIGFueSBuYW1lZCBkZWZpbml0aW9uOiBObyB0eXBlIGFmdGVyIG9wZW4gcGFy
ZW50aGVzaXMgb3IgJ29yJyBpbiB1bmlvbiB0eXBlIiwKLSAgICAibGluZSI6IDEKLX0KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vdW5rbm93bi1nZW5lcmljLmpzb24gYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3QvaW52YWxpZC9qc29uL3Vua25vd24tZ2VuZXJpYy5qc29uCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAzNzAzZGIzYjJhYi4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2lu
dmFsaWQvanNvbi91bmtub3duLWdlbmVyaWMuanNvbgorKysgL2Rldi9udWxsCkBAIC0xLDQgKzAs
MCBAQAotewotICAgICJtZXNzYWdlIjogIkdvdCBhbiBlcnJvciBkdXJpbmcgb3IgcmlnaHQgYWZ0
ZXIgcGFyc2luZyBgaW50ZXJmYWNlIEZldGNoRXZlbnRgOiBVbnN1cHBvcnRlZCBnZW5lcmljIHR5
cGUgUmVzcG9uc2VQcm9taXNlIiwKLSAgICAibGluZSI6IDIKLX0KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC9pbnZhbGlkL2pzb24vdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29u
L3czYy1pbXBvcnQubG9nCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzMDE4MWJmNjE1
Ny4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi93M2MtaW1wb3J0Lmxv
ZworKysgL2Rldi9udWxsCkBAIC0xLDU2ICswLDAgQEAKLVRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVj
dG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgotRG8gTk9UIG1vZGlm
eSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBwdWxs
IHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0
Zm9ybS10ZXN0cy93cHQKLQotVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10
ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKLQotRG8gTk9UIG1vZGlmeSBvciByZW1vdmUgdGhp
cyBmaWxlLgotCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLVByb3BlcnRpZXMgcmVxdWlyaW5nIHZlbmRvciBw
cmVmaXhlczoKLU5vbmUKLVByb3BlcnR5IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVz
OgotTm9uZQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1MaXN0IG9mIGZpbGVzOgotL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZh
bGlkL2pzb24vYXJyYXkuanNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vY2FsbGVyLmpzb24K
LS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL2RpY3QtcmVxdWlyZWQtZGVmYXVsdC5qc29uCi0vTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L2ludmFsaWQvanNvbi9kdXBsaWNhdGUuanNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pz
b24vZW51bS1lbXB0eS5qc29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9lbnVtLXdvLWNvbW1h
Lmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL2VudW0uanNvbgotL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZh
bGlkL2pzb24vZXhjZXB0aW9uLmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL2V4dGF0dHIt
ZW1wdHktaWRzLmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL2lkLXVuZGVyc2NvcmVkLW51
bWJlci5qc29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9pbXBsZW1lbnRzX2FuZF9pbmNsdWRl
c193cy5qc29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9pdGVyYXRvci5qc29uCi0vTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L2ludmFsaWQvanNvbi9tYXBsaWtlLTF0eXBlLmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9q
c29uL21vZHVsZS5qc29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9uYW1lc3BhY2UtcmVhZHdy
aXRlLmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL25vLXNlbWljb2xvbi1jYWxsYmFjay5q
c29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9uby1zZW1pY29sb24uanNvbgotL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC9pbnZhbGlkL2pzb24vbm9ubnVsbGFibGVhbnkuanNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pz
b24vbm9ubnVsbGFibGVvYmplY3RzLmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL3Byb21p
c2UtbnVsbGFibGUuanNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vcHJvbWlzZS13aXRoLWV4
dGVuZGVkLWF0dHJpYnV0ZS5qc29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9yYWlzZXMuanNv
bgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vcmVhZG9ubHktaXRlcmFibGUuanNvbgotL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC9pbnZhbGlkL2pzb24vcmVjb3JkLWtleS13aXRoLWV4dGVuZGVkLWF0dHJpYnV0ZS5qc29u
Ci0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9yZWNvcmQta2V5Lmpzb24KLS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52
YWxpZC9qc29uL3JlY29yZC1zaW5nbGUuanNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vc2Nv
cGVkbmFtZS5qc29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9zZXF1ZW5jZUFzQXR0cmlidXRl
Lmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL3NldGxpa2UtMnR5cGVzLmpzb24KLS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3QvaW52YWxpZC9qc29uL3NldHRlci1jcmVhdG9yLmpzb24KLS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxp
ZC9qc29uL3NwYWNlZC1uZWdhdGl2ZS1pbmZpbml0eS5qc29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQv
anNvbi9zcGFjZWQtdmFyaWFkaWMuanNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vc3BlY2lh
bC1vbWl0dGFibGUuanNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vc3RyYXktc2xhc2guanNv
bgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vc3RyaW5nY29uc3RhbnRzLmpzb24KLS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3QvaW52YWxpZC9qc29uL3R5cGVkZWYtbmVzdGVkLmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9q
c29uL3VuaW9uLWRhbmdsaW5nLW9yLmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL3VuaW9u
LW9uZS5qc29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi91bmlvbi16ZXJvLmpzb24KLS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3QvaW52YWxpZC9qc29uL3Vua25vd24tZ2VuZXJpYy5qc29uCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3QvbW9jaGEub3B0cyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9tb2NoYS5vcHRzCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCA1YWRhNDdiZTE2Yi4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L21v
Y2hhLm9wdHMKKysrIC9kZXYvbnVsbApAQCAtMSArMCwwIEBACi0tLXJlcG9ydGVyIHNwZWMKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXguanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4LmpzCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwNWQ2NDdlZGExMC4uMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3N5bnRheC5qcworKysgL2Rldi9udWxsCkBAIC0xLDE5ICswLDAgQEAKLSJ1c2Ug
c3RyaWN0IjsKLQotY29uc3QgeyBjb2xsZWN0IH0gPSByZXF1aXJlKCIuL3V0aWwvY29sbGVjdCIp
OwotY29uc3QgZXhwZWN0ID0gcmVxdWlyZSgiZXhwZWN0Iik7Ci1jb25zdCBkZWJ1ZyA9IHRydWU7
Ci0KLWRlc2NyaWJlKCJQYXJzZXMgYWxsIG9mIHRoZSBJRExzIHRvIHByb2R1Y2UgdGhlIGNvcnJl
Y3QgQVNUcyIsICgpID0+IHsKLSAgZm9yIChjb25zdCB0ZXN0IG9mIGNvbGxlY3QoInN5bnRheCIp
KSB7Ci0gICAgaXQoYHNob3VsZCBwcm9kdWNlIHRoZSBzYW1lIEFTVCBmb3IgJHt0ZXN0LnBhdGh9
YCwgKCkgPT4gewotICAgICAgdHJ5IHsKLSAgICAgICAgZXhwZWN0KHRlc3QuZGlmZigpKS50b0Jl
RmFsc3koKTsKLSAgICAgIH0KLSAgICAgIGNhdGNoIChlKSB7Ci0gICAgICAgIGNvbnNvbGUubG9n
KGUudG9TdHJpbmcoKSk7Ci0gICAgICAgIHRocm93IGU7Ci0gICAgICB9Ci0gICAgfSk7Ci0gIH0K
LX0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvYWxsb3dhbnkud2lkbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC9zeW50YXgvaWRsL2FsbG93YW55LndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDIzNDNiYjk2Mzc0Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lk
bC9hbGxvd2FueS53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsNiArMCwwIEBACi0vLyBFeHRyYWN0
ZWQgZnJvbSBodHRwOi8vZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJJREwvIG9uIDIwMTEtMDUt
MDYKLWludGVyZmFjZSBCIHsKLSAgdm9pZCBnKCk7Ci0gIHZvaWQgZyhCIGIpOwotICB2b2lkIGco
W0FsbG93QW55XSBET01TdHJpbmcgcyk7Ci19OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL2F0dHJpYnV0ZXMud2lkbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC9zeW50YXgvaWRsL2F0dHJpYnV0ZXMud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggZjY2NWMxZmM0NzIuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRs
L2F0dHJpYnV0ZXMud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDExICswLDAgQEAKLS8vIEV4dHJh
Y3RlZCBmcm9tIGh0dHA6Ly9kZXYudzMub3JnLzIwMDYvd2ViYXBpL1dlYklETC8gb24gMjAxMS0w
NS0wNgotCi1pbnRlcmZhY2UgUGVyc29uIHsKLQotICAvLyBBIHNpbXBsZSBhdHRyaWJ1dGUgdGhh
dCBjYW4gYmUgc2V0IHRvIGFueSB2YWx1ZSB0aGUgcmFuZ2UgYW4gdW5zaWduZWQKLSAgLy8gc2hv
cnQgY2FuIHRha2UuCi0gIGF0dHJpYnV0ZSB1bnNpZ25lZCBzaG9ydCBhZ2U7Ci0KLSAgLy8gcmVx
dWlyZWQgaXMgYW4gYWxsb3dlZCBhdHRyaWJ1dGUgbmFtZQotICBhdHRyaWJ1dGUgYW55IHJlcXVp
cmVkOwotfTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL2NhbGxiYWNrLndpZGwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9jYWxsYmFjay53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCBhZGFmNzVlMDQ5Yy4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRh
eC9pZGwvY2FsbGJhY2sud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDcgKzAsMCBAQAotY2FsbGJh
Y2sgQXN5bmNPcGVyYXRpb25DYWxsYmFjayA9IHZvaWQgKERPTVN0cmluZyBzdGF0dXMpOwotCi1j
YWxsYmFjayBpbnRlcmZhY2UgRXZlbnRIYW5kbGVyIHsKLSAgdm9pZCBldmVudE9jY3VycmVkKERP
TVN0cmluZyBkZXRhaWxzKTsKLX07Ci0KLWNhbGxiYWNrIFNvcnRDYWxsYmFjayA9IGJvb2xlYW4g
KGFueSBhLCBhbnkgYik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9jb25zdGFu
dHMud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL2NvbnN0YW50cy53aWRsCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwNDNiMDIyYjY0Ni4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3N5bnRheC9pZGwvY29uc3RhbnRzLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSwxMSArMCww
IEBACi0vLyBFeHRyYWN0ZWQgZnJvbSBodHRwOi8vZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJJ
REwvIG9uIDIwMTEtMDUtMDYKLWludGVyZmFjZSBVdGlsIHsKLSAgY29uc3QgYm9vbGVhbiBERUJV
RyA9IGZhbHNlOwotICBjb25zdCBzaG9ydCBuZWdhdGl2ZSA9IC0xOwotICBjb25zdCBvY3RldCBM
RiA9IDEwOwotICBjb25zdCB1bnNpZ25lZCBsb25nIEJJVF9NQVNLID0gMHgwMDAwZmMwMDsKLSAg
Y29uc3QgZmxvYXQgQVZPR0FEUk8gPSA2LjAyMmUyMzsKLSAgY29uc3QgdW5yZXN0cmljdGVkIGZs
b2F0IHNvYmlnID0gSW5maW5pdHk7Ci0gIGNvbnN0IHVucmVzdHJpY3RlZCBkb3VibGUgbWludXNv
bmVkaXZpZGVkYnl6ZXJvID0gLUluZmluaXR5OwotICBjb25zdCBzaG9ydCBub3RhbnVtYmVyID0g
TmFOOwotfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvc3ludGF4L2lkbC9jb25zdHJ1Y3Rvci53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvY29u
c3RydWN0b3Iud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjkzZWMwOGE2ZTYu
LjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL2NvbnN0cnVjdG9yLndpZGwK
KysrIC9kZXYvbnVsbApAQCAtMSw5ICswLDAgQEAKLS8vIEV4dHJhY3RlZCBmcm9tIGh0dHA6Ly9k
ZXYudzMub3JnLzIwMDYvd2ViYXBpL1dlYklETC8gb24gMjAxMS0wNS0wNgotW0NvbnN0cnVjdG9y
LAotIENvbnN0cnVjdG9yKGZsb2F0IHJhZGl1cyldCi1pbnRlcmZhY2UgQ2lyY2xlIHsKLSAgYXR0
cmlidXRlIGZsb2F0IHI7Ci0gIGF0dHJpYnV0ZSBmbG9hdCBjeDsKLSAgYXR0cmlidXRlIGZsb2F0
IGN5OwotICByZWFkb25seSBhdHRyaWJ1dGUgZmxvYXQgY2lyY3VtZmVyZW5jZTsKLX07ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwv
ZGljdGlvbmFyeS1pbmhlcml0cy53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvZGljdGlvbmFy
eS1pbmhlcml0cy53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0OGY4YTBmZGNl
Yi4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvZGljdGlvbmFyeS1pbmhl
cml0cy53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsOSArMCwwIEBACi1kaWN0aW9uYXJ5IFBhaW50
T3B0aW9ucyB7Ci0gIERPTVN0cmluZz8gZmlsbFBhdHRlcm4gPSAiYmxhY2siOwotICBET01TdHJp
bmc/IHN0cm9rZVBhdHRlcm4gPSBudWxsOwotICBQb2ludCBwb3NpdGlvbjsKLX07Ci0KLWRpY3Rp
b25hcnkgV2V0UGFpbnRPcHRpb25zIDogUGFpbnRPcHRpb25zIHsKLSAgZmxvYXQgaHlkcm9tZXRy
eTsKLX07ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3N5bnRheC9pZGwvZGljdGlvbmFyeS53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvZGljdGlv
bmFyeS53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjNjRhMTRjODU5MC4uMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvZGljdGlvbmFyeS53aWRsCisrKyAv
ZGV2L251bGwKQEAgLTEsMTUgKzAsMCBAQAotLy8gRXh0cmFjdGVkIGZyb20gV2ViIElETCBlZGl0
b3JzIGRyYWZ0IE1heSAzMSAyMDExCi1kaWN0aW9uYXJ5IFBhaW50T3B0aW9ucyB7Ci0gIERPTVN0
cmluZz8gZmlsbFBhdHRlcm4gPSAiYmxhY2siOwotICBET01TdHJpbmc/IHN0cm9rZVBhdHRlcm4g
PSBudWxsOwotICBQb2ludCBwb3NpdGlvbjsKLSAgLy8gaHR0cHM6Ly9oZXljYW0uZ2l0aHViLmlv
L3dlYmlkbC8jZGZuLW9wdGlvbmFsLWFyZ3VtZW50LWRlZmF1bHQtdmFsdWUgYWxsb3dzIHNlcXVl
bmNlcyB0byBkZWZhdWx0IHRvICJbXSIuCi0gIHNlcXVlbmNlPGxvbmc+IHNlcSA9IFtdOwotICAv
LyBodHRwczovL2hleWNhbS5naXRodWIuaW8vd2ViaWRsLyNyZXF1aXJlZC1kaWN0aW9uYXJ5LW1l
bWJlcgotICByZXF1aXJlZCBsb25nIHJlcVNlcTsKLX07Ci0KLXBhcnRpYWwgZGljdGlvbmFyeSBB
IHsKLSAgbG9uZyBoOwotICBsb25nIGQ7Ci19OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL2RvY3VtZW50YXRpb24tZG9zLndpZGwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9kb2N1bWVudGF0aW9uLWRvcy53aWRsCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCBmYjgwMTEwMWYxNC4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3N5bnRheC9pZGwvZG9jdW1lbnRhdGlvbi1kb3Mud2lkbAorKysgL2Rldi9udWxsCkBAIC0x
LDMzICswLDAgQEAKLS8qKgotKiBcYnJpZWYgVGVzdGluZyBkb2N1bWVudGF0aW9uIGZlYXR1cmVz
Ci0qCi0qIFRoaXMgaXMgYQotKiBzaW5nbGUgcGFyYWdyYXBoCi0qCi0qIDxwPlRoaXMgaXMgdmFs
aWQuPC9wPgotKiA8cD5UaGlzIGlzIDxlbT52YWxpZDwvZW0+LjwvcD4KLSogPHA+VGhpcyBpcyA8
Yj52YWxpZDwvYj4uPC9wPgotKiA8cD5UaGlzIGlzIDxhIGhyZWY9Jyc+dmFsaWQ8L2E+LjwvcD4K
LSogPHVsPgotKiA8bGk+VGhpczwvbGk+Ci0qIDxsaT5pczwvbGk+Ci0qIDxsaT52YWxpZDwvbGk+
Ci0qIDwvdWw+Ci0qIDxkbD4KLSogPGR0PlRoaXM8L2R0PgotKiA8ZGQ+dmFsaWQ8L2RkPgotKiA8
L2RsPgotKiA8dGFibGU+Ci0qIDx0cj4KLSogPHRkPnRoaXM8L3RkPgotKiA8dGQ+aXM8L3RkPgot
KiA8L3RyPgotKiA8dHI+Ci0qIDx0ZD52YWxpZDwvdGQ+Ci0qIDwvdHI+Ci0qIDwvdGFibGU+Ci0q
IDxwPlRoaXMgaXMgPGJyPiB2YWxpZC48L3A+Ci0qIDxwPlRoaXMgaXMgPGJyIC8+IHZhbGlkLjwv
cD4KLSogPHA+VGhpcyBpcyA8YnIvPiB2YWxpZC48L3A+Ci0qLwotaW50ZXJmYWNlIERvY3VtZW50
YXRpb24ge307ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3N5bnRheC9pZGwvZG9jdW1lbnRhdGlvbi53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwv
ZG9jdW1lbnRhdGlvbi53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDNlOTIy
NmY2Ny4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvZG9jdW1lbnRhdGlv
bi53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsMzQgKzAsMCBAQAotLyoqCi0qIFxicmllZiBUZXN0
aW5nIGRvY3VtZW50YXRpb24gZmVhdHVyZXMKLSoKLSogVGhpcyBpcyBhCi0qIHNpbmdsZSBwYXJh
Z3JhcGgKLSoKLSogPHA+VGhpcyBpcyB2YWxpZC48L3A+Ci0qIDxwPlRoaXMgaXMgPGVtPnZhbGlk
PC9lbT4uPC9wPgotKiA8cD5UaGlzIGlzIDxiPnZhbGlkPC9iPi48L3A+Ci0qIDxwPlRoaXMgaXMg
PGEgaHJlZj0nJz52YWxpZDwvYT4uPC9wPgotKiA8dWw+Ci0qIDxsaT5UaGlzPC9saT4KLSogPGxp
PmlzPC9saT4KLSogPGxpPnZhbGlkPC9saT4KLSogPC91bD4KLSogPGRsPgotKiA8ZHQ+VGhpczwv
ZHQ+Ci0qIDxkZD52YWxpZDwvZGQ+Ci0qIDwvZGw+Ci0qIDx0YWJsZT4KLSogPHRyPgotKiA8dGQ+
dGhpczwvdGQ+Ci0qIDx0ZD5pczwvdGQ+Ci0qIDwvdHI+Ci0qIDx0cj4KLSogPHRkPnZhbGlkPC90
ZD4KLSogPC90cj4KLSogPC90YWJsZT4KLSogPHA+VGhpcyBpcyA8YnI+IHZhbGlkLjwvcD4KLSog
PHA+VGhpcyBpcyA8YnIgLz4gdmFsaWQuPC9wPgotKiA8cD5UaGlzIGlzIDxici8+IHZhbGlkLjwv
cD4KLSogPHA+PGltZyBzcmM9ImZvby5wbmciIGFsdD0iVmFsaWQiLz48L3A+Ci0qLwotaW50ZXJm
YWNlIERvY3VtZW50YXRpb24ge307ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvZW51bS53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9p
ZGwvZW51bS53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzN2M0ZmZkZGVlMy4u
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvZW51bS53aWRsCisrKyAvZGV2
L251bGwKQEAgLTEsMTAgKzAsMCBAQAotZW51bSBNZWFsVHlwZSB7ICJyaWNlIiwgIm5vb2RsZXMi
LCAib3RoZXIiIH07Ci0KLWludGVyZmFjZSBNZWFsIHsKLSAgYXR0cmlidXRlIE1lYWxUeXBlIHR5
cGU7Ci0gIGF0dHJpYnV0ZSBmbG9hdCBzaXplOyAgICAgLy8gaW4gZ3JhbXMKLQotICB2b2lkIGlu
aXRpYWxpemUoTWVhbFR5cGUgdHlwZSwgZmxvYXQgc2l6ZSk7Ci19OwotCi1lbnVtIEFsdE1lYWxU
eXBlIHsgInJpY2UiLCAibm9vZGxlcyIsICJvdGhlciIsIH07ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvZXF1aXZhbGVudC1kZWNs
LndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9lcXVpdmFsZW50LWRlY2wud2lkbApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmZmZWIzYzIwYTEuLjAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC9zeW50YXgvaWRsL2VxdWl2YWxlbnQtZGVjbC53aWRsCisrKyAvZGV2L251bGwKQEAg
LTEsMTggKzAsMCBAQAotLy8gRXh0cmFjdGVkIGZyb20gaHR0cDovL2Rldi53My5vcmcvMjAwNi93
ZWJhcGkvV2ViSURMLyBvbiAyMDExLTA1LTA2Ci1pbnRlcmZhY2UgRGljdGlvbmFyeSB7Ci0gIHJl
YWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIHByb3BlcnR5Q291bnQ7Ci0KLSAgZ2V0dGVy
IGZsb2F0IGdldFByb3BlcnR5KERPTVN0cmluZyBwcm9wZXJ0eU5hbWUpOwotICBzZXR0ZXIgdm9p
ZCBzZXRQcm9wZXJ0eShET01TdHJpbmcgcHJvcGVydHlOYW1lLCBmbG9hdCBwcm9wZXJ0eVZhbHVl
KTsKLX07Ci0KLQotaW50ZXJmYWNlIERpY3Rpb25hcnkyIHsKLSAgcmVhZG9ubHkgYXR0cmlidXRl
IHVuc2lnbmVkIGxvbmcgcHJvcGVydHlDb3VudDsKLQotICBmbG9hdCBnZXRQcm9wZXJ0eShET01T
dHJpbmcgcHJvcGVydHlOYW1lKTsKLSAgdm9pZCBzZXRQcm9wZXJ0eShET01TdHJpbmcgcHJvcGVy
dHlOYW1lLCBmbG9hdCBwcm9wZXJ0eVZhbHVlKTsKLQotICBnZXR0ZXIgZmxvYXQgKERPTVN0cmlu
ZyBwcm9wZXJ0eU5hbWUpOwotICBzZXR0ZXIgdm9pZCAoRE9NU3RyaW5nIHByb3BlcnR5TmFtZSwg
ZmxvYXQgcHJvcGVydHlWYWx1ZSk7Ci19OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL2V4dGVuZGVkLWF0dHJpYnV0ZXMud2lkbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC9zeW50YXgvaWRsL2V4dGVuZGVkLWF0dHJpYnV0ZXMud2lkbApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggNTdkNGY5N2RlN2MuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC9zeW50YXgvaWRsL2V4dGVuZGVkLWF0dHJpYnV0ZXMud2lkbAorKysgL2Rldi9udWxsCkBA
IC0xLDI5ICswLDAgQEAKLS8vIEV4dHJhY3RlZCBmcm9tIGh0dHA6Ly93d3cudzMub3JnL1RSLzIw
MTUvV0Qtc2VydmljZS13b3JrZXJzLTIwMTUwMjA1LwotCi1bR2xvYmFsPShXb3JrZXIsU2Vydmlj
ZVdvcmtlciksIEV4cG9zZWQ9U2VydmljZVdvcmtlcl0KLWludGVyZmFjZSBTZXJ2aWNlV29ya2Vy
R2xvYmFsU2NvcGUgOiBXb3JrZXJHbG9iYWxTY29wZSB7Ci0KLX07Ci0KLS8vIENvbmZvcm1hbmNl
IHdpdGggRXh0ZW5kZWRBdHRyaWJ1dGVMaXN0IGdyYW1tYXIgaW4gaHR0cDovL3d3dy53My5vcmcv
VFIvV2ViSURMLyNpZGwtZXh0ZW5kZWQtYXR0cmlidXRlcwotLy8gU2VjdGlvbiAzLjExCi1bSW50
QXR0cj0wLCBGbG9hdEF0dHI9My4xNCwgU3RyaW5nQXR0cj0iYWJjIl0KLWludGVyZmFjZSBJZElu
dGVyZmFjZSB7fTsKLQotLy8gRXh0cmFjdGVkIGZyb20gaHR0cDovL3d3dy53My5vcmcvVFIvMjAx
Ni9SRUMtV2ViSURMLTEtMjAxNjEyMTUvI0NvbnN0cnVjdG9yIG9uIDIwMTctNS0xOCB3aXRoIHdo
aXRlc3BhY2UgZGlmZmVyZW5jZXMKLVsKLSAgQ29uc3RydWN0b3IsCi0gIENvbnN0cnVjdG9yKGRv
dWJsZSByYWRpdXMpCi1dCi1pbnRlcmZhY2UgQ2lyY2xlIHsKLSAgYXR0cmlidXRlIGRvdWJsZSBy
OwotICBhdHRyaWJ1dGUgZG91YmxlIGN4OwotICBhdHRyaWJ1dGUgZG91YmxlIGN5OwotICByZWFk
b25seSBhdHRyaWJ1dGUgZG91YmxlIGNpcmN1bWZlcmVuY2U7Ci19OwotCi0vLyBFeHRyYWN0ZWQg
ZnJvbSBodHRwczovL2hleWNhbS5naXRodWIuaW8vd2ViaWRsLyNpZGwtYW5ub3RhdGVkLXR5cGVz
IG9uIDIwMTctMTItMTUKLVtFeHBvc2VkPVdpbmRvd10KLWludGVyZmFjZSBJIHsKLSAgICBhdHRy
aWJ1dGUgW1hBdHRyXSAobG9uZyBvciBOb2RlKSBhdHRyaWI7Ci19OwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L3N5bnRheC9pZGwvZ2VuZXJpYy53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvZ2Vu
ZXJpYy53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2OTNjZDMyNGU5Ni4uMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvZ2VuZXJpYy53aWRsCisrKyAvZGV2
L251bGwKQEAgLTEsMTcgKzAsMCBAQAotaW50ZXJmYWNlIEZvbyB7Ci0gIFByb21pc2U8UHJvbWlz
ZTxzZXF1ZW5jZTxET01TdHJpbmc/Pj4+IGJhcigpOwotICByZWFkb25seSBhdHRyaWJ1dGUgUHJv
bWlzZTxET01TdHJpbmc+IGJhejsKLX07Ci0KLS8vIEV4dHJhY3RlZCBmcm9tIGh0dHBzOi8vc2xp
Z2h0bHlvZmYuZ2l0aHViLmlvL1NlcnZpY2VXb3JrZXIvc3BlYy9zZXJ2aWNlX3dvcmtlci8gb24g
MjAxNC0wNS0wOAotCi1pbnRlcmZhY2UgU2VydmljZVdvcmtlckNsaWVudHMgewotICBQcm9taXNl
PENsaWVudD8+IGdldFNlcnZpY2VkKCk7Ci0gIFByb21pc2U8YW55PiByZWxvYWRBbGwoKTsKLX07
Ci0KLS8vIEV4dHJhY3RlZCBmcm9tIGh0dHBzOi8vc2xpZ2h0bHlvZmYuZ2l0aHViLmlvL1NlcnZp
Y2VXb3JrZXIvc3BlYy9zZXJ2aWNlX3dvcmtlci8gb24gMjAxNC0wNS0xMwotCi1pbnRlcmZhY2Ug
RmV0Y2hFdmVudCA6IEV2ZW50IHsKLSAgUHJvbWlzZTxhbnk+IGRlZmF1bHQoKTsKLX07CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9nZXR0ZXItc2V0dGVyLndpZGwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvc3ludGF4L2lkbC9nZXR0ZXItc2V0dGVyLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IGJkZjg3ZTFjN2M3Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lk
bC9nZXR0ZXItc2V0dGVyLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSw3ICswLDAgQEAKLS8vIEV4
dHJhY3RlZCBmcm9tIGh0dHA6Ly9kZXYudzMub3JnLzIwMDYvd2ViYXBpL1dlYklETC8gb24gMjAx
MS0wNS0wNgotaW50ZXJmYWNlIERpY3Rpb25hcnkgewotICByZWFkb25seSBhdHRyaWJ1dGUgdW5z
aWduZWQgbG9uZyBwcm9wZXJ0eUNvdW50OwotCi0gIGdldHRlciBmbG9hdCAoRE9NU3RyaW5nIHBy
b3BlcnR5TmFtZSk7Ci0gIHNldHRlciB2b2lkIChET01TdHJpbmcgcHJvcGVydHlOYW1lLCBmbG9h
dCBwcm9wZXJ0eVZhbHVlKTsKLX07ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvaWRlbnRpZmllci1xdWFsaWZpZWQtbmFtZXMud2lk
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL2lkZW50aWZpZXItcXVhbGlmaWVkLW5hbWVzLndpZGwK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGMzOWY4NGI0NWEzLi4wMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9pZGVudGlmaWVyLXF1YWxpZmllZC1uYW1lcy53aWRs
CisrKyAvZGV2L251bGwKQEAgLTEsMzMgKzAsMCBAQAotLy8gRXh0cmFjdGVkIGZyb20gaHR0cDov
L2Rldi53My5vcmcvMjAwNi93ZWJhcGkvV2ViSURMLyBvbiAyMDExLTA1LTA2Ci0gIC8vIFR5cGVk
ZWYgaWRlbnRpZmllcjogIm51bWJlciIKLSAgLy8gUXVhbGlmaWVkIG5hbWU6ICAgICI6OmZyYW1l
d29yazo6bnVtYmVyIgotICB0eXBlZGVmIGZsb2F0IG51bWJlcjsKLQotICAvLyBJbnRlcmZhY2Ug
aWRlbnRpZmllcjogIlN5c3RlbSIKLSAgLy8gUXVhbGlmaWVkIG5hbWU6ICAgICAgICI6OmZyYW1l
d29yazo6U3lzdGVtIgotICBpbnRlcmZhY2UgU3lzdGVtIHsKLQotICAgIC8vIE9wZXJhdGlvbiBp
ZGVudGlmaWVyOiAgICAgICAgICAiY3JlYXRlT2JqZWN0IgotICAgIC8vIE9wZXJhdGlvbiBhcmd1
bWVudCBpZGVudGlmaWVyOiAiaW50ZXJmYWNlIgotICAgIG9iamVjdCBjcmVhdGVPYmplY3QoRE9N
U3RyaW5nIF9pbnRlcmZhY2UpOwotCi0gICAgLy8gT3BlcmF0aW9uIGhhcyBubyBpZGVudGlmaWVy
OyBpdCBkZWNsYXJlcyBhIGdldHRlci4KLSAgICBnZXR0ZXIgRE9NU3RyaW5nIChET01TdHJpbmcg
a2V5TmFtZSk7Ci0gIH07Ci0KLQotICAgIC8vIEludGVyZmFjZSBpZGVudGlmaWVyOiAiVGV4dEZp
ZWxkIgotICAgIC8vIFF1YWxpZmllZCBuYW1lOiAgICAgICAiOjpmcmFtZXdvcms6Omd1aTo6VGV4
dEZpZWxkIgotICAgIGludGVyZmFjZSBUZXh0RmllbGQgewotCi0gICAgICAvLyBBdHRyaWJ1dGUg
aWRlbnRpZmllcjogImNvbnN0IgotICAgICAgYXR0cmlidXRlIGJvb2xlYW4gX2NvbnN0OwotCi0g
ICAgICAvLyBBdHRyaWJ1dGUgaWRlbnRpZmllcjogInZhbHVlIgotICAgICAgYXR0cmlidXRlIERP
TVN0cmluZz8gX3ZhbHVlOwotICAgIH07Ci0KLWludGVyZmFjZSBGb29FdmVudFRhcmdldCB7Ci0g
IC8vIEFyZ3VtZW50IG5hbWVzIGFsbG93IHNvbWUgc2VsZWN0ZWQga2V5d29yZHMKLSAgdm9pZCBh
ZGRFdmVudExpc3RlbmVyKEV2ZW50TGlzdGVuZXI/IGNhbGxiYWNrKTsKLX07CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9pbXBsZW1lbnRzLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4
L2lkbC9pbXBsZW1lbnRzLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDdhMzEw
OTI2ZjFjLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9pbXBsZW1lbnRz
LndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSwxNCArMCwwIEBACi0vLyBFeHRyYWN0ZWQgZnJvbSBo
dHRwOi8vZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJJREwvIG9uIDIwMTEtMDUtMDYKLSAgaW50
ZXJmYWNlIE5vZGUgewotICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBzaG9ydCBub2Rl
VHlwZTsKLSAgICAvLyAuLi4KLSAgfTsKLQotICBpbnRlcmZhY2UgRXZlbnRUYXJnZXQgewotICAg
IHZvaWQgYWRkRXZlbnRMaXN0ZW5lcihET01TdHJpbmcgdHlwZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgRXZlbnRMaXN0ZW5lciBsaXN0ZW5lciwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgYm9vbGVhbiB1c2VDYXB0dXJlKTsKLSAgICAvLyAuLi4KLSAgfTsKLQotICBOb2RlIGltcGxl
bWVudHMgRXZlbnRUYXJnZXQ7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9pbmRl
eGVkLXByb3BlcnRpZXMud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL2luZGV4ZWQtcHJvcGVy
dGllcy53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0YjhhYTllMzUzZi4uMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvaW5kZXhlZC1wcm9wZXJ0aWVzLndp
ZGwKKysrIC9kZXYvbnVsbApAQCAtMSwxMiArMCwwIEBACi0vLyBFeHRyYWN0ZWQgZnJvbSBodHRw
Oi8vZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJJREwvIG9uIDIwMTEtMDUtMDYKLWludGVyZmFj
ZSBPcmRlcmVkTWFwIHsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgc2l6ZTsK
LQotICBnZXR0ZXIgYW55IGdldEJ5SW5kZXgodW5zaWduZWQgbG9uZyBpbmRleCk7Ci0gIHNldHRl
ciB2b2lkIHNldEJ5SW5kZXgodW5zaWduZWQgbG9uZyBpbmRleCwgYW55IHZhbHVlKTsKLSAgZGVs
ZXRlciB2b2lkIHJlbW92ZUJ5SW5kZXgodW5zaWduZWQgbG9uZyBpbmRleCk7Ci0KLSAgZ2V0dGVy
IGFueSBnZXQoRE9NU3RyaW5nIG5hbWUpOwotICBzZXR0ZXIgdm9pZCBzZXQoRE9NU3RyaW5nIG5h
bWUsIGFueSB2YWx1ZSk7Ci0gIGRlbGV0ZXIgdm9pZCByZW1vdmUoRE9NU3RyaW5nIG5hbWUpOwot
fTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL2luaGVyaXRzLWdldHRlci53aWRs
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvaW5oZXJpdHMtZ2V0dGVyLndpZGwKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDQzNWIzYWIzYzhjLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvc3ludGF4L2lkbC9pbmhlcml0cy1nZXR0ZXIud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDIy
ICswLDAgQEAKLWludGVyZmFjZSBBbmltYWwgewotCi0gIC8vIEEgc2ltcGxlIGF0dHJpYnV0ZSB0
aGF0IGNhbiBiZSBzZXQgdG8gYW55IHN0cmluZyB2YWx1ZS4KLSAgcmVhZG9ubHkgYXR0cmlidXRl
IERPTVN0cmluZyBuYW1lOwotfTsKLQotaW50ZXJmYWNlIFBlcnNvbiA6IEFuaW1hbCB7Ci0KLSAg
Ly8gQW4gYXR0cmlidXRlIHdob3NlIHZhbHVlIGNhbm5vdCBiZSBhc3NpZ25lZCB0by4KLSAgcmVh
ZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIHNob3J0IGFnZTsKLQotICAvLyBBbiBhdHRyaWJ1dGUg
dGhhdCBjYW4gcmFpc2UgYW4gZXhjZXB0aW9uIGlmIGl0IGlzIHNldCB0byBhbiBpbnZhbGlkIHZh
bHVlLgotICAvLyBJdHMgZ2V0dGVyIGJlaGF2aW9yIGlzIGluaGVyaXRlZCBmcm9tIEFuaW1hbCwg
YW5kIG5lZWQgbm90IGJlIHNwZWNpZmllZAotICAvLyB0aGUgZGVzY3JpcHRpb24gb2YgUGVyc29u
LgotICBpbmhlcml0IGF0dHJpYnV0ZSBET01TdHJpbmcgbmFtZTsKLX07Ci0KLWludGVyZmFjZSBH
aG9zdCA6IFBlcnNvbiB7Ci0KLSAgLy8gQW4gYXR0cmlidXRlIHRoYXQgb25seSBpbmhlcml0cyB0
aGUgZ2V0dGVyIGJlaGF2aW9yCi0gIGluaGVyaXQgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmlu
ZyBuYW1lOwotfTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL2ludGVyZmFjZS1p
bmhlcml0cy53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvaW50ZXJmYWNlLWluaGVyaXRzLndp
ZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDc5MjFkZWY3NzI3Li4wMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9pbnRlcmZhY2UtaW5oZXJpdHMud2lkbAorKysg
L2Rldi9udWxsCkBAIC0xLDEyICswLDAgQEAKLS8vIEV4dHJhY3RlZCBmcm9tIGh0dHA6Ly9kZXYu
dzMub3JnLzIwMDYvd2ViYXBpL1dlYklETC8gb24gMjAxMS0wNS0wNgotaW50ZXJmYWNlIEFuaW1h
bCB7Ci0gIGF0dHJpYnV0ZSBET01TdHJpbmcgbmFtZTsKLX07Ci0KLWludGVyZmFjZSBIdW1hbiA6
IEFuaW1hbCB7Ci0gIGF0dHJpYnV0ZSBEb2cgcGV0OwotfTsKLQotaW50ZXJmYWNlIERvZyA6IEFu
aW1hbCB7Ci0gIGF0dHJpYnV0ZSBIdW1hbiBvd25lcjsKLX07ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvaXRlcmFibGUud2lkbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC9zeW50YXgvaWRsL2l0ZXJhYmxlLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDdmNzI2ZjkyNmZkLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4
L2lkbC9pdGVyYWJsZS53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsMTEgKzAsMCBAQAotaW50ZXJm
YWNlIEl0ZXJhYmxlT25lIHsKLSAgaXRlcmFibGU8bG9uZz47Ci19OwotCi1pbnRlcmZhY2UgSXRl
cmFibGVUd28gewotICBpdGVyYWJsZTxzaG9ydCwgZG91YmxlPz47Ci19OwotCi1pbnRlcmZhY2Ug
SXRlcmFibGVUaHJlZSB7Ci0gIGl0ZXJhYmxlPFtYQXR0cl0gbG9uZz47Ci19OwpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL2xlZ2Fj
eWl0ZXJhYmxlLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9sZWdhY3lpdGVyYWJsZS53aWRs
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5ZTFlOWM1Mjc0NC4uMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvbGVnYWN5aXRlcmFibGUud2lkbAorKysgL2Rldi9u
dWxsCkBAIC0xLDMgKzAsMCBAQAotaW50ZXJmYWNlIExlZ2FjeUl0ZXJhYmxlIHsKLSAgbGVnYWN5
aXRlcmFibGU8bG9uZz47Ci19OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvbWFw
bGlrZS53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvbWFwbGlrZS53aWRsCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCA0MzdlMzgxZmVmNy4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3N5bnRheC9pZGwvbWFwbGlrZS53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsMTMgKzAsMCBA
QAotaW50ZXJmYWNlIE1hcExpa2UgewotICBtYXBsaWtlPGxvbmcsIGZsb2F0PjsKLX07Ci0KLWlu
dGVyZmFjZSBSZWFkT25seU1hcExpa2UgewotICByZWFkb25seSBtYXBsaWtlPGxvbmcsIGZsb2F0
PjsKLX07Ci0KLS8vIEV4dHJhY3RlZCBmcm9tIGh0dHBzOi8vaGV5Y2FtLmdpdGh1Yi5pby93ZWJp
ZGwvI2lkbC10eXBlLWV4dGVuZGVkLWF0dHJpYnV0ZS1hc3NvY2lhdGVkLXdpdGggb24gMjAxNy0w
Ny0wMQotCi1pbnRlcmZhY2UgSSB7Ci0gICAgbWFwbGlrZTxbWEF0dHIyXSBET01TdHJpbmcsIFtY
QXR0cjNdIGxvbmc+OwotfTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL21peGlu
LndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9taXhpbi53aWRsCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCA3YzM3YTZlZTQyMC4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5
bnRheC9pZGwvbWl4aW4ud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDEyICswLDAgQEAKLS8vIEV4
dHJhY3RlZCBmcm9tIGh0dHBzOi8vaGV5Y2FtLmdpdGh1Yi5pby93ZWJpZGwvI3VzaW5nLW1peGlu
cy1hbmQtcGFydGlhbHMgb24gMjAxNy0xMS0wMgotCi1pbnRlcmZhY2UgbWl4aW4gR2xvYmFsQ3J5
cHRvIHsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIENyeXB0byBjcnlwdG87Ci19OwotCi1XaW5kb3cg
aW5jbHVkZXMgR2xvYmFsQ3J5cHRvOwotV29ya2VyR2xvYmFsU2NvcGUgaW5jbHVkZXMgR2xvYmFs
Q3J5cHRvOwotCi1wYXJ0aWFsIGludGVyZmFjZSBtaXhpbiBXaW5kb3dPcldvcmtlckdsb2JhbFNj
b3BlIHsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIENyeXB0byBjcnlwdG87Ci19OwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvbmFtZWRjb25zdHJ1Y3Rvci53aWRsIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3N5bnRheC9pZGwvbmFtZWRjb25zdHJ1Y3Rvci53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCBjNDY4Yjc4ZjhlMS4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9p
ZGwvbmFtZWRjb25zdHJ1Y3Rvci53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsNiArMCwwIEBACi0v
LyBFeHRyYWN0ZWQgZnJvbSBodHRwOi8vZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJJREwvIG9u
IDIwMTEtMDUtMDYKLVtOYW1lZENvbnN0cnVjdG9yPUF1ZGlvLAotIE5hbWVkQ29uc3RydWN0b3I9
QXVkaW8oRE9NU3RyaW5nIHNyYyldCi1pbnRlcmZhY2UgSFRNTEF1ZGlvRWxlbWVudCA6IEhUTUxN
ZWRpYUVsZW1lbnQgewotICAvLyAuLi4KLX07ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvbmFtZXNwYWNlLndpZGwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvc3ludGF4L2lkbC9uYW1lc3BhY2Uud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggZDk2MTA1NTVlMTcuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL25h
bWVzcGFjZS53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsMTAgKzAsMCBAQAotLy8gRXh0cmFjdGVk
IGZyb20gV2ViIElETCBlZGl0b3JzIGRyYWZ0IE1hcmNoIDI3IDIwMTcKLW5hbWVzcGFjZSBWZWN0
b3JVdGlscyB7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSBWZWN0b3IgdW5pdDsKLSAgZG91YmxlIGRv
dFByb2R1Y3QoVmVjdG9yIHgsIFZlY3RvciB5KTsKLSAgVmVjdG9yIGNyb3NzUHJvZHVjdChWZWN0
b3IgeCwgVmVjdG9yIHkpOwotfTsKLQotcGFydGlhbCBuYW1lc3BhY2UgU29tZU5hbWVzcGFjZSB7
Ci0gIC8qIG5hbWVzcGFjZV9tZW1iZXJzLi4uICovCi19OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL25vaW50ZXJmYWNlb2JqZWN0
LndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9ub2ludGVyZmFjZW9iamVjdC53aWRsCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjMTdkNzVmZjhmZC4uMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3N5bnRheC9pZGwvbm9pbnRlcmZhY2VvYmplY3Qud2lkbAorKysgL2Rldi9udWxs
CkBAIC0xLDUgKzAsMCBAQAotLy8gRXh0cmFjdGVkIGZyb20gaHR0cDovL2Rldi53My5vcmcvMjAw
Ni93ZWJhcGkvV2ViSURMLyBvbiAyMDExLTA1LTA2Ci1bTm9JbnRlcmZhY2VPYmplY3RdCi1pbnRl
cmZhY2UgUXVlcnkgewotICBhbnkgbG9va3VwRW50cnkodW5zaWduZWQgbG9uZyBrZXkpOwotfTsK
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4
L2lkbC9udWxsYWJsZS53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvbnVsbGFibGUud2lkbApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggY2NiZjYyNWZmOGEuLjAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL251bGxhYmxlLndpZGwKKysrIC9kZXYvbnVsbApAQCAt
MSw5ICswLDAgQEAKLS8vIEV4dHJhY3RlZCBmcm9tIGh0dHA6Ly9kZXYudzMub3JnLzIwMDYvd2Vi
YXBpL1dlYklETC8gb24gMjAxMS0wNS0wNgotaW50ZXJmYWNlIE15Q29uc3RhbnRzIHsKLSAgY29u
c3QgYm9vbGVhbj8gQVJFX1dFX1RIRVJFX1lFVCA9IGZhbHNlOwotfTsKLQotaW50ZXJmYWNlIE5v
ZGUgewotICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nPyBuYW1lc3BhY2VVUkk7Ci0gIC8v
IC4uLgotfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvc3ludGF4L2lkbC9udWxsYWJsZW9iamVjdHMud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRs
L251bGxhYmxlb2JqZWN0cy53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4M2Qx
ZDQwYjJhYy4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvbnVsbGFibGVv
YmplY3RzLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSwxMyArMCwwIEBACi0vLyBFeHRyYWN0ZWQg
ZnJvbSBXZWJJREwgc3BlYyAyMDExLTA1LTIzCi0KLWludGVyZmFjZSBBIHsKLSAgLy8gLi4uCi19
OwotaW50ZXJmYWNlIEIgewotICAvLyAuLi4KLX07Ci1pbnRlcmZhY2UgQyB7Ci0gIHZvaWQgZihB
PyB4KTsKLSAgdm9pZCBmKEI/IHgpOwotCi19OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL29wZXJhdGlvbi1vcHRpb25hbC1hcmcu
d2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL29wZXJhdGlvbi1vcHRpb25hbC1hcmcud2lkbApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzc5MDUzYjQ1ZjEuLjAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL29wZXJhdGlvbi1vcHRpb25hbC1hcmcud2lkbAorKysg
L2Rldi9udWxsCkBAIC0xLDQgKzAsMCBAQAotLy8gRXh0cmFjdGVkIGZyb20gaHR0cDovL2Rldi53
My5vcmcvMjAwNi93ZWJhcGkvV2ViSURMLyBvbiAyMDExLTA1LTA2Ci1pbnRlcmZhY2UgQ29sb3JD
cmVhdG9yIHsKLSAgb2JqZWN0IGNyZWF0ZUNvbG9yKGZsb2F0IHYxLCBmbG9hdCB2MiwgZmxvYXQg
djMsIG9wdGlvbmFsIGZsb2F0IGFscGhhID0gMy41KTsKLX07ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvb3ZlcmxvYWRpbmcud2lk
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL292ZXJsb2FkaW5nLndpZGwKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDUyZDhkMTVjMWExLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
c3ludGF4L2lkbC9vdmVybG9hZGluZy53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsMjAgKzAsMCBA
QAotLy8gRXh0cmFjdGVkIGZyb20gaHR0cDovL2Rldi53My5vcmcvMjAwNi93ZWJhcGkvV2ViSURM
LyBvbiAyMDExLTA1LTA2Ci1pbnRlcmZhY2UgQSB7Ci0gIC8vIC4uLgotfTsKLQotaW50ZXJmYWNl
IEIgewotICAvLyAuLi4KLX07Ci0KLWludGVyZmFjZSBDIHsKLSAgdm9pZCBmKEEgeCk7Ci0gIHZv
aWQgZihCIHgpOwotfTsKLQotaW50ZXJmYWNlIEQgewotICAvKiBmMSAqLyB2b2lkIGYoRE9NU3Ry
aW5nIGEpOwotICAvKiBmMiAqLyB2b2lkIGYoW0FsbG93QW55XSBET01TdHJpbmcgYSwgRE9NU3Ry
aW5nIGIsIGZsb2F0Li4uIGMpOwotICAvKiBmMyAqLyB2b2lkIGYoKTsKLSAgLyogZjQgKi8gdm9p
ZCBmKGxvbmcgYSwgRE9NU3RyaW5nIGIsIG9wdGlvbmFsIERPTVN0cmluZyBjLCBmbG9hdC4uLiBk
KTsKLX07CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9vdmVycmlkZWJ1aWx0aW5z
LndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9vdmVycmlkZWJ1aWx0aW5zLndpZGwKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDc5MjExYzI5ZTg0Li4wMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3Qvc3ludGF4L2lkbC9vdmVycmlkZWJ1aWx0aW5zLndpZGwKKysrIC9kZXYvbnVsbApA
QCAtMSw2ICswLDAgQEAKLS8vIEV4dHJhY3RlZCBmcm9tIGh0dHA6Ly9kZXYudzMub3JnLzIwMDYv
d2ViYXBpL1dlYklETC8gb24gMjAxMS0wNS0wNgotW092ZXJyaWRlQnVpbHRpbnNdCi1pbnRlcmZh
Y2UgU3RyaW5nTWFwMiB7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxlbmd0
aDsKLSAgZ2V0dGVyIERPTVN0cmluZyBsb29rdXAoRE9NU3RyaW5nIGtleSk7Ci19OwpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL3Bh
cnRpYWwtaW50ZXJmYWNlLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9wYXJ0aWFsLWludGVy
ZmFjZS53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5MGU3ZTBlYTQyMS4uMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvcGFydGlhbC1pbnRlcmZhY2Uud2lk
bAorKysgL2Rldi9udWxsCkBAIC0xLDcgKzAsMCBAQAotaW50ZXJmYWNlIEZvbyB7Ci0gIGF0dHJp
YnV0ZSBET01TdHJpbmcgYmFyOwotfTsKLQotcGFydGlhbCBpbnRlcmZhY2UgRm9vIHsKLSAgYXR0
cmlidXRlIERPTVN0cmluZyBxdXV4OwotfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9wcmltaXRpdmVzLndpZGwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvc3ludGF4L2lkbC9wcmltaXRpdmVzLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IGE5MTQ1NWVlMTkyLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9w
cmltaXRpdmVzLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSwxOSArMCwwIEBACi1pbnRlcmZhY2Ug
UHJpbWl0aXZlcyB7Ci0gIGF0dHJpYnV0ZSBib29sZWFuIHRydXRoOwotICBhdHRyaWJ1dGUgYnl0
ZSBjaGFyYWN0ZXI7Ci0gIGF0dHJpYnV0ZSBvY3RldCB2YWx1ZTsKLSAgYXR0cmlidXRlIHNob3J0
IG51bWJlcjsKLSAgYXR0cmlidXRlIHVuc2lnbmVkIHNob3J0IHBvc2l0aXZlOwotICBhdHRyaWJ1
dGUgbG9uZyBiaWc7Ci0gIGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGJpZ3Bvc2l0aXZlOwotICBh
dHRyaWJ1dGUgbG9uZyBsb25nIGJpZ2JpZzsKLSAgYXR0cmlidXRlICB1bnNpZ25lZCBsb25nIGxv
bmcgYmlnYmlncG9zaXRpdmU7Ci0gIGF0dHJpYnV0ZSBmbG9hdCByZWFsOwotICBhdHRyaWJ1dGUg
ZG91YmxlIGJpZ3JlYWw7Ci0gIGF0dHJpYnV0ZSB1bnJlc3RyaWN0ZWQgZmxvYXQgcmVhbHdpdGhp
bmZpbml0eTsKLSAgYXR0cmlidXRlIHVucmVzdHJpY3RlZCBkb3VibGUgYmlncmVhbHdpdGhpbmZp
bml0eTsKLSAgYXR0cmlidXRlIERPTVN0cmluZyBzdHJpbmc7Ci0gIGF0dHJpYnV0ZSBCeXRlU3Ry
aW5nIGJ5dGVzOwotICBhdHRyaWJ1dGUgRGF0ZSBkYXRlOwotICBhdHRyaWJ1dGUgUmVnRXhwIHJl
Z2V4cDsKLX07CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9wcm9taXNlLXZvaWQu
d2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL3Byb21pc2Utdm9pZC53aWRsCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCBjNGVhYzNiNzVjNC4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3N5bnRheC9pZGwvcHJvbWlzZS12b2lkLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSwzICsw
LDAgQEAKLWludGVyZmFjZSBDYXQgewotICAgIGF0dHJpYnV0ZSBQcm9taXNlPHZvaWQ+IG1lb3c7
Ci19OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvcHJvdG90eXBlcm9vdC53aWRs
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvcHJvdG90eXBlcm9vdC53aWRsCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAzMGRkNWNiY2ExMy4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3N5bnRheC9pZGwvcHJvdG90eXBlcm9vdC53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsNSArMCww
IEBACi0vLyBFeHRyYWN0ZWQgZnJvbSBodHRwOi8vZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJJ
REwvIG9uIDIwMTEtMDUtMDYKLVtQcm90b3R5cGVSb290XQotaW50ZXJmYWNlIE5vZGUgewotICBy
ZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgc2hvcnQgbm9kZVR5cGU7Ci19OwpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL3B1dGZv
cndhcmRzLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9wdXRmb3J3YXJkcy53aWRsCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxZTUwYTRlZTM5NC4uMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3N5bnRheC9pZGwvcHV0Zm9yd2FyZHMud2lkbAorKysgL2Rldi9udWxsCkBAIC0x
LDUgKzAsMCBAQAotLy8gRXh0cmFjdGVkIGZyb20gaHR0cDovL2Rldi53My5vcmcvMjAwNi93ZWJh
cGkvV2ViSURMLyBvbiAyMDExLTA1LTA2Ci1pbnRlcmZhY2UgUGVyc29uIHsKLSAgW1B1dEZvcndh
cmRzPWZ1bGxdIHJlYWRvbmx5IGF0dHJpYnV0ZSBOYW1lIG5hbWU7Ci0gIGF0dHJpYnV0ZSB1bnNp
Z25lZCBzaG9ydCBhZ2U7Ci19OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL3JlY29yZC53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9p
ZGwvcmVjb3JkLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRiZmFkM2FmYmZl
Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9yZWNvcmQud2lkbAorKysg
L2Rldi9udWxsCkBAIC0xLDkgKzAsMCBAQAotW0NvbnN0cnVjdG9yKHJlY29yZDxVU1ZTdHJpbmcs
IFVTVlN0cmluZz4gaW5pdCldCi1pbnRlcmZhY2UgRm9vIHsKLSAgdm9pZCBmb28oc2VxdWVuY2U8
cmVjb3JkPEJ5dGVTdHJpbmcsIGFueT4+IHBhcmFtKTsKLSAgcmVjb3JkPERPTVN0cmluZywgKGZs
b2F0IG9yIERPTVN0cmluZyk/PiBiYXIoKTsKLX07Ci0KLWludGVyZmFjZSBCYXIgewotICByZWNv
cmQ8RE9NU3RyaW5nLCBbWEF0dHJdIGZsb2F0PiBiYXIoKTsKLX07CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvc3ludGF4L2lkbC9yZWctb3BlcmF0aW9ucy53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9p
ZGwvcmVnLW9wZXJhdGlvbnMud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzM4
YzhkNDI3NjMuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL3JlZy1vcGVy
YXRpb25zLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSwxNSArMCwwIEBACi0vLyBFeHRyYWN0ZWQg
ZnJvbSBodHRwOi8vZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJJREwvIG9uIDIwMTEtMDUtMDYK
LWludGVyZmFjZSBEaW1lbnNpb25zIHsKLSAgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgd2lkdGg7
Ci0gIGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGhlaWdodDsKLX07Ci0KLWludGVyZmFjZSBCdXR0
b24gewotCi0gIC8vIEFuIG9wZXJhdGlvbiB0aGF0IHRha2VzIG5vIGFyZ3VtZW50cywgcmV0dXJu
cyBhIGJvb2xlYW4KLSAgYm9vbGVhbiBpc01vdXNlT3ZlcigpOwotCi0gIC8vIE92ZXJsb2FkZWQg
b3BlcmF0aW9ucy4KLSAgdm9pZCBzZXREaW1lbnNpb25zKERpbWVuc2lvbnMgc2l6ZSk7Ci0gIHZv
aWQgc2V0RGltZW5zaW9ucyh1bnNpZ25lZCBsb25nIHdpZHRoLCB1bnNpZ25lZCBsb25nIGhlaWdo
dCk7Ci19OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC9zeW50YXgvaWRsL3JlcGxhY2VhYmxlLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9yZXBs
YWNlYWJsZS53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjMTRkMGMzNzY4OS4u
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvcmVwbGFjZWFibGUud2lkbAor
KysgL2Rldi9udWxsCkBAIC0xLDUgKzAsMCBAQAotLy8gRXh0cmFjdGVkIGZyb20gaHR0cDovL2Rl
di53My5vcmcvMjAwNi93ZWJhcGkvV2ViSURMLyBvbiAyMDExLTA1LTA2Ci1pbnRlcmZhY2UgQ291
bnRlciB7Ci0gIFtSZXBsYWNlYWJsZV0gcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcg
dmFsdWU7Ci0gIHZvaWQgaW5jcmVtZW50KCk7Ci19OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL3NlcXVlbmNlLndpZGwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvc3ludGF4L2lkbC9zZXF1ZW5jZS53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCBiNDdjOTgyMjVjNy4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwv
c2VxdWVuY2Uud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDEzICswLDAgQEAKLS8vIEV4dHJhY3Rl
ZCBmcm9tIGh0dHA6Ly9kZXYudzMub3JnLzIwMDYvd2ViYXBpL1dlYklETC8gb24gMjAxMS0wNS0w
NgotLy8gZWRpdGVkIHRvIHJlbW92ZSBzZXF1ZW5jZSBhcyBhdHRyaWJ1dGVzLCBub3cgaW52YWxp
ZAotaW50ZXJmYWNlIENhbnZhcyB7Ci0gIHZvaWQgZHJhd1BvbHlnb24oc2VxdWVuY2U8ZmxvYXQ+
IGNvb3JkaW5hdGVzKTsKLSAgc2VxdWVuY2U8ZmxvYXQ+IGdldEluZmxlY3Rpb25Qb2ludHMoKTsK
LSAgLy8gLi4uCi19OwotCi0vLyBFeHRyYWN0ZWQgZnJvbSBodHRwczovL2hleWNhbS5naXRodWIu
aW8vd2ViaWRsLyNpZGwtdHlwZS1leHRlbmRlZC1hdHRyaWJ1dGUtYXNzb2NpYXRlZC13aXRoIG9u
IDIwMTctMDctMDEKLQotaW50ZXJmYWNlIEkgewotICAgIHZvaWQgZjEoc2VxdWVuY2U8W1hBdHRy
XSBsb25nPiBhcmcpOwotfTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL3NldGxp
a2Uud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL3NldGxpa2Uud2lkbApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggNDUxMmYyODZiNTkuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC9zeW50YXgvaWRsL3NldGxpa2Uud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDExICswLDAgQEAK
LWludGVyZmFjZSBTZXRMaWtlIHsKLSAgc2V0bGlrZTxsb25nPjsKLX07Ci0KLWludGVyZmFjZSBS
ZWFkT25seVNldExpa2UgewotICByZWFkb25seSBzZXRsaWtlPGxvbmc+OwotfTsKLQotaW50ZXJm
YWNlIFNldExpa2VFeHQgewotICBzZXRsaWtlPFtYQXR0cl0gbG9uZz47Ci19OwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvc3RhdGljLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lk
bC9zdGF0aWMud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNWIyY2QzNjU5MGYu
LjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL3N0YXRpYy53aWRsCisrKyAv
ZGV2L251bGwKQEAgLTEsMTEgKzAsMCBAQAotLy8gRXh0cmFjdGVkIGZyb20gaHR0cDovL2Rldi53
My5vcmcvMjAwNi93ZWJhcGkvV2ViSURMLyBvbiAyMDExLTA1LTA2Ci1pbnRlcmZhY2UgUG9pbnQg
eyAvKiAuLi4gKi8gfTsKLQotaW50ZXJmYWNlIENpcmNsZSB7Ci0gIGF0dHJpYnV0ZSBmbG9hdCBj
eDsKLSAgYXR0cmlidXRlIGZsb2F0IGN5OwotICBhdHRyaWJ1dGUgZmxvYXQgcmFkaXVzOwotCi0g
IHN0YXRpYyByZWFkb25seSBhdHRyaWJ1dGUgbG9uZyB0cmlhbmd1bGF0aW9uQ291bnQ7Ci0gIHN0
YXRpYyBQb2ludCB0cmlhbmd1bGF0ZShDaXJjbGUgYzEsIENpcmNsZSBjMiwgQ2lyY2xlIGMzKTsK
LX07ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5
bnRheC9pZGwvc3RyaW5naWZpZXItYXR0cmlidXRlLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lk
bC9zdHJpbmdpZmllci1hdHRyaWJ1dGUud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggYzk2NGVjYjkzZTYuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL3N0
cmluZ2lmaWVyLWF0dHJpYnV0ZS53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsNiArMCwwIEBACi0v
LyBFeHRyYWN0ZWQgZnJvbSBodHRwOi8vZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJJREwvIG9u
IDIwMTEtMDUtMDYKLVtDb25zdHJ1Y3Rvcl0KLWludGVyZmFjZSBTdHVkZW50IHsKLSAgYXR0cmli
dXRlIHVuc2lnbmVkIGxvbmcgaWQ7Ci0gIHN0cmluZ2lmaWVyIGF0dHJpYnV0ZSBET01TdHJpbmcg
bmFtZTsKLX07ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3N5bnRheC9pZGwvc3RyaW5naWZpZXItY3VzdG9tLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4
L2lkbC9zdHJpbmdpZmllci1jdXN0b20ud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggYjVkN2M4N2U3ZjQuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL3N0
cmluZ2lmaWVyLWN1c3RvbS53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsOSArMCwwIEBACi0vLyBF
eHRyYWN0ZWQgZnJvbSBodHRwOi8vZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJJREwvIG9uIDIw
MTEtMDUtMDYKLVtDb25zdHJ1Y3Rvcl0KLWludGVyZmFjZSBTdHVkZW50IHsKLSAgYXR0cmlidXRl
IHVuc2lnbmVkIGxvbmcgaWQ7Ci0gIGF0dHJpYnV0ZSBET01TdHJpbmc/IGZhbWlseU5hbWU7Ci0g
IGF0dHJpYnV0ZSBET01TdHJpbmcgZ2l2ZW5OYW1lOwotCi0gIHN0cmluZ2lmaWVyIERPTVN0cmlu
ZyAoKTsKLX07ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3N5bnRheC9pZGwvc3RyaW5naWZpZXIud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL3N0
cmluZ2lmaWVyLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM0NTI3N2VhOGRi
Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9zdHJpbmdpZmllci53aWRs
CisrKyAvZGV2L251bGwKQEAgLTEsOCArMCwwIEBACi0vLyBFeHRyYWN0ZWQgZnJvbSBodHRwOi8v
ZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJJREwvIG9uIDIwMTEtMDUtMDYKLWludGVyZmFjZSBB
IHsKLSAgc3RyaW5naWZpZXIgRE9NU3RyaW5nICgpOwotfTsKLQotaW50ZXJmYWNlIEIgewotICBz
dHJpbmdpZmllcjsKLX07ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3N5bnRheC9pZGwvdHJlYXRhc251bGwud2lkbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgv
aWRsL3RyZWF0YXNudWxsLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQzYzU1
YjAwOGMwLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC90cmVhdGFzbnVs
bC53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsNyArMCwwIEBACi0vLyBFeHRyYWN0ZWQgZnJvbSBo
dHRwOi8vZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJJREwvIG9uIDIwMTEtMDUtMDYKLWludGVy
ZmFjZSBEb2cgewotICBhdHRyaWJ1dGUgRE9NU3RyaW5nIG5hbWU7Ci0gIGF0dHJpYnV0ZSBET01T
dHJpbmcgb3duZXI7Ci0KLSAgYm9vbGVhbiBpc01lbWJlck9mQnJlZWQoW1RyZWF0TnVsbEFzPUVt
cHR5U3RyaW5nXSBET01TdHJpbmcgYnJlZWROYW1lKTsKLX07ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvdHJlYXRhc3VuZGVmaW5l
ZC53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvdHJlYXRhc3VuZGVmaW5lZC53aWRsCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlMzAwNTBmODQxMy4uMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3N5bnRheC9pZGwvdHJlYXRhc3VuZGVmaW5lZC53aWRsCisrKyAvZGV2L251bGwK
QEAgLTEsNyArMCwwIEBACi0vLyBFeHRyYWN0ZWQgZnJvbSBodHRwOi8vZGV2LnczLm9yZy8yMDA2
L3dlYmFwaS9XZWJJREwvIG9uIDIwMTEtMDUtMDYKLWludGVyZmFjZSBDYXQgewotICBhdHRyaWJ1
dGUgRE9NU3RyaW5nIG5hbWU7Ci0gIGF0dHJpYnV0ZSBET01TdHJpbmcgb3duZXI7Ci0KLSAgYm9v
bGVhbiBpc01lbWJlck9mQnJlZWQoW1RyZWF0VW5kZWZpbmVkQXM9RW1wdHlTdHJpbmddIERPTVN0
cmluZyBicmVlZE5hbWUpOwotfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC90eXBlZGVmLXVuaW9uLndpZGwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
c3ludGF4L2lkbC90eXBlZGVmLXVuaW9uLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDMwNDg3MDNlMGM1Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC90
eXBlZGVmLXVuaW9uLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSw0ICswLDAgQEAKLSAgdHlwZWRl
ZiAoSW1hZ2VEYXRhIG9yCi0gICAgICAgICAgIEhUTUxJbWFnZUVsZW1lbnQgb3IKLSAgICAgICAg
ICAgSFRNTENhbnZhc0VsZW1lbnQgb3IKLSAgICAgICAgICAgSFRNTFZpZGVvRWxlbWVudCkgVGV4
SW1hZ2VTb3VyY2U7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC90eXBlZGVmLndp
ZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC90eXBlZGVmLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IGI0YzE3ZDhkMzZhLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3lu
dGF4L2lkbC90eXBlZGVmLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSwyMiArMCwwIEBACi0vLyBF
eHRyYWN0ZWQgZnJvbSBodHRwOi8vZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJJREwvIG9uIDIw
MTEtMDUtMDYKLSAgICAgIGludGVyZmFjZSBQb2ludCB7Ci0gICAgICAgIGF0dHJpYnV0ZSBmbG9h
dCB4OwotICAgICAgICBhdHRyaWJ1dGUgZmxvYXQgeTsKLSAgICAgIH07Ci0KLSAgICAgIHR5cGVk
ZWYgc2VxdWVuY2U8UG9pbnQ+IFBvaW50U2VxdWVuY2U7Ci0KLSAgICAgIGludGVyZmFjZSBSZWN0
IHsKLSAgICAgICAgYXR0cmlidXRlIFBvaW50IHRvcGxlZnQ7Ci0gICAgICAgIGF0dHJpYnV0ZSBQ
b2ludCBib3R0b21yaWdodDsKLSAgICAgIH07Ci0KLSAgaW50ZXJmYWNlIFdpZGdldCB7Ci0KLSAg
ICByZWFkb25seSBhdHRyaWJ1dGUgUmVjdCBib3VuZHM7Ci0KLSAgICBib29sZWFuIHBvaW50V2l0
aGluQm91bmRzKFBvaW50IHApOwotICAgIGJvb2xlYW4gYWxsUG9pbnRzV2l0aGluQm91bmRzKFBv
aW50U2VxdWVuY2UgcHMpOwotICB9OwotCi0gIHR5cGVkZWYgW0NsYW1wXSBvY3RldCB2YWx1ZTsK
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4
L2lkbC90eXBlc3VmZml4ZXMud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL3R5cGVzdWZmaXhl
cy53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiZWFhYTg3MjYwMC4uMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvdHlwZXN1ZmZpeGVzLndpZGwKKysrIC9k
ZXYvbnVsbApAQCAtMSwzICswLDAgQEAKLWludGVyZmFjZSBTdWZmaXhlcyB7Ci0gIHZvaWQgdGVz
dChzZXF1ZW5jZTxET01TdHJpbmc/Pj8gZm9vKTsKLX07CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
c3ludGF4L2lkbC91bmlvbnR5cGUud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL3VuaW9udHlw
ZS53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwZDVmZTliZTQyOC4uMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvdW5pb250eXBlLndpZGwKKysrIC9kZXYv
bnVsbApAQCAtMSw0ICswLDAgQEAKLWludGVyZmFjZSBVbmlvbiB7Ci0gYXR0cmlidXRlIChmbG9h
dCBvciAoRGF0ZSBvciBFdmVudCkgb3IgKE5vZGUgb3IgRE9NU3RyaW5nKT8pIHRlc3Q7Ci0gYXR0
cmlidXRlIChbRW5mb3JjZVJhbmdlXSBsb25nIG9yIERhdGUpIHRlc3QyOwotfTsKXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC92YXJp
YWRpYy1vcGVyYXRpb25zLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC92YXJpYWRpYy1vcGVy
YXRpb25zLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDUxZmFlNGNjMWVhLi4w
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC92YXJpYWRpYy1vcGVyYXRpb25z
LndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSw3ICswLDAgQEAKLS8vIEV4dHJhY3RlZCBmcm9tIGh0
dHA6Ly9kZXYudzMub3JnLzIwMDYvd2ViYXBpL1dlYklETC8gb24gMjAxMS0wNS0wNgotaW50ZXJm
YWNlIEludGVnZXJTZXQgewotICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBjYXJk
aW5hbGl0eTsKLQotICB2b2lkIHVuaW9uKGxvbmcuLi4gaW50cyk7Ci0gIHZvaWQgaW50ZXJzZWN0
aW9uKGxvbmcuLi4gaW50cyk7Ci19OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5
bnRheC9pZGwvdzNjLWltcG9ydC5sb2cKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQy
ZDFkNzYwZGYwLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC93M2MtaW1w
b3J0LmxvZworKysgL2Rldi9udWxsCkBAIC0xLDY4ICswLDAgQEAKLVRoZSB0ZXN0cyBpbiB0aGlz
IGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgotRG8gTk9U
IG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUg
YSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3dl
Yi1wbGF0Zm9ybS10ZXN0cy93cHQKLQotVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0
LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKLQotRG8gTk9UIG1vZGlmeSBvciByZW1v
dmUgdGhpcyBmaWxlLgotCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLVByb3BlcnRpZXMgcmVxdWlyaW5nIHZl
bmRvciBwcmVmaXhlczoKLU5vbmUKLVByb3BlcnR5IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9yIHBy
ZWZpeGVzOgotTm9uZQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1MaXN0IG9mIGZpbGVzOgotL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC9zeW50YXgvaWRsL2FsbG93YW55LndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9hdHRyaWJ1
dGVzLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9jYWxsYmFjay53aWRsCi0vTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3N5bnRheC9pZGwvY29uc3RhbnRzLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9jb25zdHJ1
Y3Rvci53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvZGljdGlvbmFyeS1pbmhlcml0cy53aWRs
Ci0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvZGljdGlvbmFyeS53aWRsCi0vTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRh
eC9pZGwvZG9jdW1lbnRhdGlvbi1kb3Mud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL2RvY3Vt
ZW50YXRpb24ud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL2VudW0ud2lkbAotL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC9zeW50YXgvaWRsL2VxdWl2YWxlbnQtZGVjbC53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwv
ZXh0ZW5kZWQtYXR0cmlidXRlcy53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvZ2VuZXJpYy53
aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvZ2V0dGVyLXNldHRlci53aWRsCi0vTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3N5bnRheC9pZGwvaWRlbnRpZmllci1xdWFsaWZpZWQtbmFtZXMud2lkbAotL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9z
eW50YXgvaWRsL2ltcGxlbWVudHMud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL2luZGV4ZWQt
cHJvcGVydGllcy53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvaW5oZXJpdHMtZ2V0dGVyLndp
ZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9pbnRlcmZhY2UtaW5oZXJpdHMud2lkbAotL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC9zeW50YXgvaWRsL2l0ZXJhYmxlLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9sZWdh
Y3lpdGVyYWJsZS53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvbWFwbGlrZS53aWRsCi0vTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L3N5bnRheC9pZGwvbWl4aW4ud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL25hbWVk
Y29uc3RydWN0b3Iud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL25hbWVzcGFjZS53aWRsCi0v
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3N5bnRheC9pZGwvbm9pbnRlcmZhY2VvYmplY3Qud2lkbAotL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9z
eW50YXgvaWRsL251bGxhYmxlLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9udWxsYWJsZW9i
amVjdHMud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL29wZXJhdGlvbi1vcHRpb25hbC1hcmcu
d2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL292ZXJsb2FkaW5nLndpZGwKLS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
c3ludGF4L2lkbC9vdmVycmlkZWJ1aWx0aW5zLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9w
YXJ0aWFsLWludGVyZmFjZS53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvcHJpbWl0aXZlcy53
aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvcHJvbWlzZS12b2lkLndpZGwKLS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
c3ludGF4L2lkbC9wcm90b3R5cGVyb290LndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9wdXRm
b3J3YXJkcy53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvcmVjb3JkLndpZGwKLS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvc3ludGF4L2lkbC9yZWctb3BlcmF0aW9ucy53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwv
cmVwbGFjZWFibGUud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL3NlcXVlbmNlLndpZGwKLS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3Qvc3ludGF4L2lkbC9zZXRsaWtlLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9z
dGF0aWMud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL3N0cmluZ2lmaWVyLWF0dHJpYnV0ZS53
aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvc3RyaW5naWZpZXItY3VzdG9tLndpZGwKLS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvc3ludGF4L2lkbC9zdHJpbmdpZmllci53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwv
dHJlYXRhc251bGwud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL3RyZWF0YXN1bmRlZmluZWQu
d2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL3R5cGVkZWYtdW5pb24ud2lkbAotL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC9zeW50YXgvaWRsL3R5cGVkZWYud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL3R5cGVzdWZm
aXhlcy53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvdW5pb250eXBlLndpZGwKLS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvc3ludGF4L2lkbC92YXJpYWRpYy1vcGVyYXRpb25zLndpZGwKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC9zeW50YXgvanNvbi9hbGxvd2FueS5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2Fs
bG93YW55Lmpzb24KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDJhOTM1MThlZDk0Li4w
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vYWxsb3dhbnkuanNvbgorKysg
L2Rldi9udWxsCkBAIC0xLDExMiArMCwwIEBACi1bCi0gICAgewotICAgICAgICAidHlwZSI6ICJp
bnRlcmZhY2UiLAotICAgICAgICAibmFtZSI6ICJCIiwKLSAgICAgICAgInBhcnRpYWwiOiBmYWxz
ZSwKLSAgICAgICAgIm1lbWJlcnMiOiBbCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAg
InR5cGUiOiAib3BlcmF0aW9uIiwKLSAgICAgICAgICAgICAgICAiZ2V0dGVyIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgInNldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJkZWxldGVy
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewot
ICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAgICAgICAgICAg
ICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICAgICAiaWRsVHlwZSI6ICJ2b2lkIiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJz
IjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogImciLAot
ICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJnIiwKLSAgICAgICAgICAgICAgICAiYXJn
dW1lbnRzIjogW10sCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAg
IH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAib3BlcmF0aW9uIiwK
LSAgICAgICAgICAgICAgICAiZ2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInNldHRl
ciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJkZWxldGVyIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAi
dHlwZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVs
bCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJ2
b2lkIiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAg
ICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogImciLAotICAgICAgICAgICAgICAgICJlc2Nh
cGVkTmFtZSI6ICJnIiwKLSAgICAgICAgICAgICAgICAiYXJndW1lbnRzIjogWwotICAgICAgICAg
ICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAib3B0aW9uYWwiOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICJ2YXJpYWRpYyI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgImRlZmF1bHQiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgImV4
dEF0dHJzIjogW10sCi0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
InVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAi
QiIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAg
ICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJiIiwK
LSAgICAgICAgICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJiIgotICAgICAgICAgICAg
ICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMi
OiBbXQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlw
ZSI6ICJvcGVyYXRpb24iLAotICAgICAgICAgICAgICAgICJnZXR0ZXIiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAic2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImRlbGV0ZXIiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
InN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAg
ICAgICAgICAgICAgICAgICJ0eXBlIjogInJldHVybi10eXBlIiwKLSAgICAgICAgICAgICAgICAg
ICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ICAgICJpZGxUeXBlIjogInZvaWQiLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBb
XQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiZyIsCi0gICAg
ICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImciLAotICAgICAgICAgICAgICAgICJhcmd1bWVu
dHMiOiBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJv
cHRpb25hbCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgInZhcmlhZGljIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdCI6IG51bGwsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJBbGxvd0FueSIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJhcmd1bWVudHMiOiBudWxsLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJleHRlbmRlZC1hdHRyaWJ1dGUiLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicmhzIjogbnVsbAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAg
ICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAi
dHlwZSI6ICJhcmd1bWVudC10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2Vu
ZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiRE9NU3RyaW5nIiwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAgICAg
fSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjogInMiLAotICAgICAgICAgICAgICAg
ICAgICAgICAgImVzY2FwZWROYW1lIjogInMiCi0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAg
ICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAg
ICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJpbmhlcml0YW5jZSI6IG51bGwsCi0gICAgICAgICJl
eHRBdHRycyI6IFtdCi0gICAgfQotXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29u
L2F0dHJpYnV0ZXMuanNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9hdHRyaWJ1dGVzLmpzb24K
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGYwMmNiMjE4N2EyLi4wMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vYXR0cmlidXRlcy5qc29uCisrKyAvZGV2L251bGwK
QEAgLTEsNDcgKzAsMCBAQAotWwotICAgIHsKLSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIiwK
LSAgICAgICAgIm5hbWUiOiAiUGVyc29uIiwKLSAgICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAg
ICAgICAgIm1lbWJlcnMiOiBbCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUi
OiAiYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImluaGVyaXQi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAicmVhZG9ubHkiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRl
LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAg
ICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24i
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAidW5zaWduZWQgc2hvcnQi
LAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0s
Ci0gICAgICAgICAgICAgICAgIm5hbWUiOiAiYWdlIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBl
ZE5hbWUiOiAiYWdlIiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAg
ICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUi
LAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3Ry
aW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICJyZWFkb25seSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBl
IjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAg
ICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51
bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJhbnkiLAotICAgICAgICAgICAgICAgICAgICAi
ZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUi
OiAicmVxdWlyZWQiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJyZXF1aXJlZCIs
Ci0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0KLSAgICAgICAg
XSwKLSAgICAgICAgImluaGVyaXRhbmNlIjogbnVsbCwKLSAgICAgICAgImV4dEF0dHJzIjogW10K
LSAgICB9Ci1dCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vY2FsbGJhY2suanNv
biBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9jYWxsYmFjay5qc29uCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCA4OWQ2M2FhZTUzZC4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5
bnRheC9qc29uL2NhbGxiYWNrLmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSwxMjYgKzAsMCBAQAot
WwotICAgIHsKLSAgICAgICAgInR5cGUiOiAiY2FsbGJhY2siLAotICAgICAgICAibmFtZSI6ICJB
c3luY09wZXJhdGlvbkNhbGxiYWNrIiwKLSAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAg
ICAidHlwZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0g
ICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNl
LAotICAgICAgICAgICAgImlkbFR5cGUiOiAidm9pZCIsCi0gICAgICAgICAgICAiZXh0QXR0cnMi
OiBbXQotICAgICAgICB9LAotICAgICAgICAiYXJndW1lbnRzIjogWwotICAgICAgICAgICAgewot
ICAgICAgICAgICAgICAgICJvcHRpb25hbCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJ2YXJp
YWRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJkZWZhdWx0IjogbnVsbCwKLSAgICAgICAg
ICAgICAgICAiZXh0QXR0cnMiOiBbXSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAg
ICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAg
ICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICAgICAiaWRsVHlwZSI6ICJET01TdHJpbmciLAotICAgICAgICAgICAgICAgICAgICAiZXh0
QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAi
c3RhdHVzIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAic3RhdHVzIgotICAgICAg
ICAgICAgfQotICAgICAgICBdLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0sCi0gICAg
ewotICAgICAgICAidHlwZSI6ICJjYWxsYmFjayBpbnRlcmZhY2UiLAotICAgICAgICAibmFtZSI6
ICJFdmVudEhhbmRsZXIiLAotICAgICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVt
YmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJvcGVyYXRp
b24iLAotICAgICAgICAgICAgICAgICJnZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAi
c2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImRlbGV0ZXIiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVy
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAg
ICAgICJ0eXBlIjogInJldHVybi10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMi
OiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBl
IjogInZvaWQiLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAg
ICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiZXZlbnRPY2N1cnJlZCIsCi0gICAg
ICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImV2ZW50T2NjdXJyZWQiLAotICAgICAgICAgICAg
ICAgICJhcmd1bWVudHMiOiBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAg
ICAgICAgICAgICJvcHRpb25hbCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgInZh
cmlhZGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdCI6IG51bGws
Ci0gICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBl
IjogImFyZ3VtZW50LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmlj
IjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJET01TdHJpbmciLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgICAgICAgICB9LAot
ICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAiZGV0YWlscyIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiZGV0YWlscyIKLSAgICAgICAgICAgICAgICAgICAg
fQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAg
ICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImluaGVyaXRhbmNlIjogbnVsbCwKLSAg
ICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9LAotICAgIHsKLSAgICAgICAgInR5cGUiOiAiY2Fs
bGJhY2siLAotICAgICAgICAibmFtZSI6ICJTb3J0Q2FsbGJhY2siLAotICAgICAgICAiaWRsVHlw
ZSI6IHsKLSAgICAgICAgICAgICJ0eXBlIjogInJldHVybi10eXBlIiwKLSAgICAgICAgICAgICJn
ZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAg
ICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAiaWRsVHlwZSI6ICJib29sZWFuIiwKLSAg
ICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgIH0sCi0gICAgICAgICJhcmd1bWVudHMi
OiBbCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgIm9wdGlvbmFsIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgInZhcmlhZGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImRlZmF1
bHQiOiBudWxsLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdLAotICAgICAgICAgICAg
ICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10
eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAg
ICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogImFueSIsCi0gICAgICAgICAg
ICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAg
ICAgICAibmFtZSI6ICJhIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiYSIKLSAg
ICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgIm9wdGlvbmFsIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgInZhcmlhZGljIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgImRlZmF1bHQiOiBudWxsLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdLAotICAg
ICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJh
cmd1bWVudC10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAg
ICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAg
InVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogImFueSIsCi0g
ICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAg
ICAgICAgICAgICAgICAibmFtZSI6ICJiIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUi
OiAiYiIKLSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImV4dEF0dHJzIjogW10K
LSAgICB9Ci1dCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vY29uc3RhbnRzLmpz
b24gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vY29uc3RhbnRzLmpzb24KZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IGVmMmI4YzQ0Y2ExLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
c3ludGF4L2pzb24vY29uc3RhbnRzLmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSwxNTQgKzAsMCBA
QAotWwotICAgIHsKLSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUi
OiAiVXRpbCIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJzIjog
WwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogImNvbnN0IiwKLSAgICAg
ICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6
IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiY29uc3QtdHlwZSIsCi0gICAgICAgICAg
ICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxl
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICAgICAiaWRsVHlwZSI6ICJib29sZWFuIiwKLSAgICAgICAgICAgICAgICAgICAgImV4
dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjog
IkRFQlVHIiwKLSAgICAgICAgICAgICAgICAidmFsdWUiOiB7Ci0gICAgICAgICAgICAgICAgICAg
ICJ0eXBlIjogImJvb2xlYW4iLAotICAgICAgICAgICAgICAgICAgICAidmFsdWUiOiBmYWxzZQot
ICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAg
ICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiY29uc3Qi
LAotICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJp
ZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJjb25zdC10eXBlIiwKLSAg
ICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAi
bnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogInNob3J0IiwKLSAgICAgICAgICAgICAgICAg
ICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJu
YW1lIjogIm5lZ2F0aXZlIiwKLSAgICAgICAgICAgICAgICAidmFsdWUiOiB7Ci0gICAgICAgICAg
ICAgICAgICAgICJ0eXBlIjogIm51bWJlciIsCi0gICAgICAgICAgICAgICAgICAgICJ2YWx1ZSI6
ICItMSIKLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtd
Ci0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjog
ImNvbnN0IiwKLSAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiY29uc3QtdHlw
ZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAg
ICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJvY3RldCIsCi0gICAgICAgICAg
ICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAg
ICAgICAibmFtZSI6ICJMRiIsCi0gICAgICAgICAgICAgICAgInZhbHVlIjogewotICAgICAgICAg
ICAgICAgICAgICAidHlwZSI6ICJudW1iZXIiLAotICAgICAgICAgICAgICAgICAgICAidmFsdWUi
OiAiMTAiCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBb
XQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6
ICJjb25zdCIsCi0gICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImNvbnN0LXR5
cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAg
ICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAidW5zaWduZWQgbG9uZyIsCi0g
ICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAg
ICAgICAgICAgICAgICAibmFtZSI6ICJCSVRfTUFTSyIsCi0gICAgICAgICAgICAgICAgInZhbHVl
IjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJudW1iZXIiLAotICAgICAgICAgICAg
ICAgICAgICAidmFsdWUiOiAiMHgwMDAwZmMwMCIKLSAgICAgICAgICAgICAgICB9LAotICAgICAg
ICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewot
ICAgICAgICAgICAgICAgICJ0eXBlIjogImNvbnN0IiwKLSAgICAgICAgICAgICAgICAibnVsbGFi
bGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAg
ICAgICAgInR5cGUiOiAiY29uc3QtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmlj
IjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlw
ZSI6ICJmbG9hdCIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAg
ICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJBVk9HQURSTyIsCi0gICAgICAg
ICAgICAgICAgInZhbHVlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJudW1iZXIi
LAotICAgICAgICAgICAgICAgICAgICAidmFsdWUiOiAiNi4wMjJlMjMiCi0gICAgICAgICAgICAg
ICAgfSwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfSwKLSAg
ICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJjb25zdCIsCi0gICAgICAgICAg
ICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0g
ICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImNvbnN0LXR5cGUiLAotICAgICAgICAgICAgICAg
ICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAgICAgImlkbFR5cGUiOiAidW5yZXN0cmljdGVkIGZsb2F0IiwKLSAgICAgICAgICAgICAgICAg
ICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJu
YW1lIjogInNvYmlnIiwKLSAgICAgICAgICAgICAgICAidmFsdWUiOiB7Ci0gICAgICAgICAgICAg
ICAgICAgICJ0eXBlIjogIkluZmluaXR5IiwKLSAgICAgICAgICAgICAgICAgICAgIm5lZ2F0aXZl
IjogZmFsc2UKLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6
IFtdCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBl
IjogImNvbnN0IiwKLSAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiY29uc3Qt
dHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAg
ICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJ1bnJlc3RyaWN0ZWQgZG91
YmxlIiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAg
ICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogIm1pbnVzb25lZGl2aWRlZGJ5emVybyIsCi0g
ICAgICAgICAgICAgICAgInZhbHVlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJJ
bmZpbml0eSIsCi0gICAgICAgICAgICAgICAgICAgICJuZWdhdGl2ZSI6IHRydWUKLSAgICAgICAg
ICAgICAgICB9LAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9
LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogImNvbnN0IiwKLSAgICAg
ICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6
IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiY29uc3QtdHlwZSIsCi0gICAgICAgICAg
ICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxl
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICAgICAiaWRsVHlwZSI6ICJzaG9ydCIsCi0gICAgICAgICAgICAgICAgICAgICJleHRB
dHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJu
b3RhbnVtYmVyIiwKLSAgICAgICAgICAgICAgICAidmFsdWUiOiB7Ci0gICAgICAgICAgICAgICAg
ICAgICJ0eXBlIjogIk5hTiIKLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJl
eHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJpbmhlcml0
YW5jZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgfQotXQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2NvbnN0cnVjdG9yLmpzb24gYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3lu
dGF4L2pzb24vY29uc3RydWN0b3IuanNvbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
ZWZkZDFiNWE2YmUuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9jb25z
dHJ1Y3Rvci5qc29uCisrKyAvZGV2L251bGwKQEAgLTEsMTEzICswLDAgQEAKLVsKLSAgICB7Ci0g
ICAgICAgICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAgICAgICJuYW1lIjogIkNpcmNsZSIsCi0g
ICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJzIjogWwotICAgICAgICAg
ICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAg
ICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICJpbmhlcml0IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInJl
YWRvbmx5IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAg
ICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZS10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAg
ImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAg
ICJpZGxUeXBlIjogImZsb2F0IiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10K
LSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogInIiLAotICAgICAg
ICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJyIiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMi
OiBbXQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlw
ZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaW5oZXJp
dCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJyZWFkb25seSI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1
dGUtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAg
ICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlv
biI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJmbG9hdCIsCi0gICAg
ICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAg
ICAgICAgICAgICAibmFtZSI6ICJjeCIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjog
ImN4IiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfSwKLSAg
ICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAg
ICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICJyZWFkb25seSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAg
ICAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAgICAgICAgICAg
ICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICAgICAiaWRsVHlwZSI6ICJmbG9hdCIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRy
cyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJjeSIs
Ci0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImN5IiwKLSAgICAgICAgICAgICAgICAi
ZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAg
ICAgICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAiaW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJyZWFkb25seSI6IHRydWUsCi0g
ICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjog
ImF0dHJpYnV0ZS10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAot
ICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAg
ICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogImZsb2F0
IiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9
LAotICAgICAgICAgICAgICAgICJuYW1lIjogImNpcmN1bWZlcmVuY2UiLAotICAgICAgICAgICAg
ICAgICJlc2NhcGVkTmFtZSI6ICJjaXJjdW1mZXJlbmNlIiwKLSAgICAgICAgICAgICAgICAiZXh0
QXR0cnMiOiBbXQotICAgICAgICAgICAgfQotICAgICAgICBdLAotICAgICAgICAiaW5oZXJpdGFu
Y2UiOiBudWxsLAotICAgICAgICAiZXh0QXR0cnMiOiBbCi0gICAgICAgICAgICB7Ci0gICAgICAg
ICAgICAgICAgIm5hbWUiOiAiQ29uc3RydWN0b3IiLAotICAgICAgICAgICAgICAgICJhcmd1bWVu
dHMiOiBudWxsLAotICAgICAgICAgICAgICAgICJ0eXBlIjogImV4dGVuZGVkLWF0dHJpYnV0ZSIs
Ci0gICAgICAgICAgICAgICAgInJocyI6IG51bGwKLSAgICAgICAgICAgIH0sCi0gICAgICAgICAg
ICB7Ci0gICAgICAgICAgICAgICAgIm5hbWUiOiAiQ29uc3RydWN0b3IiLAotICAgICAgICAgICAg
ICAgICJhcmd1bWVudHMiOiBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAg
ICAgICAgICAgICJvcHRpb25hbCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgInZh
cmlhZGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdCI6IG51bGws
Ci0gICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBl
IjogImFyZ3VtZW50LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmlj
IjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJmbG9hdCIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgICAgIH0sCi0gICAg
ICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJyYWRpdXMiLAotICAgICAgICAgICAgICAgICAg
ICAgICAgImVzY2FwZWROYW1lIjogInJhZGl1cyIKLSAgICAgICAgICAgICAgICAgICAgfQotICAg
ICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgInR5cGUiOiAiZXh0ZW5kZWQtYXR0cmli
dXRlIiwKLSAgICAgICAgICAgICAgICAicmhzIjogbnVsbAotICAgICAgICAgICAgfQotICAgICAg
ICBdCi0gICAgfQotXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2RpY3Rpb25h
cnktaW5oZXJpdHMuanNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9kaWN0aW9uYXJ5LWluaGVy
aXRzLmpzb24KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDU5NWMzNWNmNzk3Li4wMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vZGljdGlvbmFyeS1pbmhlcml0cy5q
c29uCisrKyAvZGV2L251bGwKQEAgLTEsODkgKzAsMCBAQAotWwotICAgIHsKLSAgICAgICAgInR5
cGUiOiAiZGljdGlvbmFyeSIsCi0gICAgICAgICJuYW1lIjogIlBhaW50T3B0aW9ucyIsCi0gICAg
ICAgICJwYXJ0aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJzIjogWwotICAgICAgICAgICAg
ewotICAgICAgICAgICAgICAgICJ0eXBlIjogImZpZWxkIiwKLSAgICAgICAgICAgICAgICAibmFt
ZSI6ICJmaWxsUGF0dGVybiIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImZpbGxQ
YXR0ZXJuIiwKLSAgICAgICAgICAgICAgICAicmVxdWlyZWQiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiZGljdGlvbmFy
eS10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAg
ICAgICAgICAgICAibnVsbGFibGUiOiB0cnVlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24i
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiRE9NU3RyaW5nIiwKLSAg
ICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAg
ICAgICAgICAgICAgICJleHRBdHRycyI6IFtdLAotICAgICAgICAgICAgICAgICJkZWZhdWx0Ijog
ewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAotICAgICAgICAgICAgICAg
ICAgICAidmFsdWUiOiAiYmxhY2siCi0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgfSwK
LSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJmaWVsZCIsCi0gICAgICAg
ICAgICAgICAgIm5hbWUiOiAic3Ryb2tlUGF0dGVybiIsCi0gICAgICAgICAgICAgICAgImVzY2Fw
ZWROYW1lIjogInN0cm9rZVBhdHRlcm4iLAotICAgICAgICAgICAgICAgICJyZXF1aXJlZCI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAi
dHlwZSI6ICJkaWN0aW9uYXJ5LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6
IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IHRydWUsCi0gICAgICAgICAg
ICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6
ICJET01TdHJpbmciLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAg
ICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10sCi0gICAgICAgICAg
ICAgICAgImRlZmF1bHQiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogIm51bGwiCi0g
ICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAg
ICAgICAgICAidHlwZSI6ICJmaWVsZCIsCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAicG9zaXRp
b24iLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJwb3NpdGlvbiIsCi0gICAgICAg
ICAgICAgICAgInJlcXVpcmVkIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7
Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImRpY3Rpb25hcnktdHlwZSIsCi0gICAgICAg
ICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxh
YmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJQb2ludCIsCi0gICAgICAgICAgICAgICAgICAgICJl
eHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAiZXh0QXR0
cnMiOiBbXSwKLSAgICAgICAgICAgICAgICAiZGVmYXVsdCI6IG51bGwKLSAgICAgICAgICAgIH0K
LSAgICAgICAgXSwKLSAgICAgICAgImluaGVyaXRhbmNlIjogbnVsbCwKLSAgICAgICAgImV4dEF0
dHJzIjogW10KLSAgICB9LAotICAgIHsKLSAgICAgICAgInR5cGUiOiAiZGljdGlvbmFyeSIsCi0g
ICAgICAgICJuYW1lIjogIldldFBhaW50T3B0aW9ucyIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFs
c2UsCi0gICAgICAgICJtZW1iZXJzIjogWwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAg
ICJ0eXBlIjogImZpZWxkIiwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJoeWRyb21ldHJ5IiwK
LSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiaHlkcm9tZXRyeSIsCi0gICAgICAgICAg
ICAgICAgInJlcXVpcmVkIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0g
ICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImRpY3Rpb25hcnktdHlwZSIsCi0gICAgICAgICAg
ICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxl
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICAgICAiaWRsVHlwZSI6ICJmbG9hdCIsCi0gICAgICAgICAgICAgICAgICAgICJleHRB
dHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMi
OiBbXSwKLSAgICAgICAgICAgICAgICAiZGVmYXVsdCI6IG51bGwKLSAgICAgICAgICAgIH0KLSAg
ICAgICAgXSwKLSAgICAgICAgImluaGVyaXRhbmNlIjogIlBhaW50T3B0aW9ucyIsCi0gICAgICAg
ICJleHRBdHRycyI6IFtdCi0gICAgfQotXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9q
c29uL2RpY3Rpb25hcnkuanNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9kaWN0aW9uYXJ5Lmpz
b24KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDhiYmM2YjlkZmFiLi4wMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vZGljdGlvbmFyeS5qc29uCisrKyAvZGV2L251
bGwKQEAgLTEsMTQ2ICswLDAgQEAKLVsKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImRpY3Rpb25h
cnkiLAotICAgICAgICAibmFtZSI6ICJQYWludE9wdGlvbnMiLAotICAgICAgICAicGFydGlhbCI6
IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAg
ICAgICAidHlwZSI6ICJmaWVsZCIsCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiZmlsbFBhdHRl
cm4iLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJmaWxsUGF0dGVybiIsCi0gICAg
ICAgICAgICAgICAgInJlcXVpcmVkIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUi
OiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImRpY3Rpb25hcnktdHlwZSIsCi0gICAg
ICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51
bGxhYmxlIjogdHJ1ZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgICAgICJpZGxUeXBlIjogIkRPTVN0cmluZyIsCi0gICAgICAgICAgICAgICAg
ICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAi
ZXh0QXR0cnMiOiBbXSwKLSAgICAgICAgICAgICAgICAiZGVmYXVsdCI6IHsKLSAgICAgICAgICAg
ICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKLSAgICAgICAgICAgICAgICAgICAgInZhbHVlIjog
ImJsYWNrIgotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7
Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiZmllbGQiLAotICAgICAgICAgICAgICAgICJuYW1l
IjogInN0cm9rZVBhdHRlcm4iLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJzdHJv
a2VQYXR0ZXJuIiwKLSAgICAgICAgICAgICAgICAicmVxdWlyZWQiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiZGljdGlv
bmFyeS10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAg
ICAgICAgICAgICAgICAibnVsbGFibGUiOiB0cnVlLAotICAgICAgICAgICAgICAgICAgICAidW5p
b24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiRE9NU3RyaW5nIiwK
LSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAot
ICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdLAotICAgICAgICAgICAgICAgICJkZWZhdWx0
IjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJudWxsIgotICAgICAgICAgICAgICAg
IH0KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUi
OiAiZmllbGQiLAotICAgICAgICAgICAgICAgICJuYW1lIjogInBvc2l0aW9uIiwKLSAgICAgICAg
ICAgICAgICAiZXNjYXBlZE5hbWUiOiAicG9zaXRpb24iLAotICAgICAgICAgICAgICAgICJyZXF1
aXJlZCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAg
ICAgICAgICAidHlwZSI6ICJkaWN0aW9uYXJ5LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAi
Z2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAg
ImlkbFR5cGUiOiAiUG9pbnQiLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQot
ICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10sCi0gICAg
ICAgICAgICAgICAgImRlZmF1bHQiOiBudWxsCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAg
ewotICAgICAgICAgICAgICAgICJ0eXBlIjogImZpZWxkIiwKLSAgICAgICAgICAgICAgICAibmFt
ZSI6ICJzZXEiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJzZXEiLAotICAgICAg
ICAgICAgICAgICJyZXF1aXJlZCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjog
ewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJkaWN0aW9uYXJ5LXR5cGUiLAotICAgICAg
ICAgICAgICAgICAgICAiZ2VuZXJpYyI6ICJzZXF1ZW5jZSIsCi0gICAgICAgICAgICAgICAgICAg
ICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICAidHlwZSI6ICJkaWN0aW9uYXJ5LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgImdl
bmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICJpZGxUeXBlIjogImxvbmciLAotICAgICAgICAgICAgICAgICAgICAgICAgImV4
dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAg
ImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJleHRB
dHRycyI6IFtdLAotICAgICAgICAgICAgICAgICJkZWZhdWx0IjogewotICAgICAgICAgICAgICAg
ICAgICAidHlwZSI6ICJzZXF1ZW5jZSIsCi0gICAgICAgICAgICAgICAgICAgICJ2YWx1ZSI6IFtd
Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAg
ICAgICAgICAgICAidHlwZSI6ICJmaWVsZCIsCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAicmVx
U2VxIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAicmVxU2VxIiwKLSAgICAgICAg
ICAgICAgICAicmVxdWlyZWQiOiB0cnVlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewot
ICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJkaWN0aW9uYXJ5LXR5cGUiLAotICAgICAgICAg
ICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJs
ZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAgICAgImlkbFR5cGUiOiAibG9uZyIsCi0gICAgICAgICAgICAgICAgICAgICJleHRB
dHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMi
OiBbXSwKLSAgICAgICAgICAgICAgICAiZGVmYXVsdCI6IG51bGwKLSAgICAgICAgICAgIH0KLSAg
ICAgICAgXSwKLSAgICAgICAgImluaGVyaXRhbmNlIjogbnVsbCwKLSAgICAgICAgImV4dEF0dHJz
IjogW10KLSAgICB9LAotICAgIHsKLSAgICAgICAgInR5cGUiOiAiZGljdGlvbmFyeSIsCi0gICAg
ICAgICJuYW1lIjogIkEiLAotICAgICAgICAicGFydGlhbCI6IHRydWUsCi0gICAgICAgICJtZW1i
ZXJzIjogWwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogImZpZWxkIiwK
LSAgICAgICAgICAgICAgICAibmFtZSI6ICJoIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5h
bWUiOiAiaCIsCi0gICAgICAgICAgICAgICAgInJlcXVpcmVkIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImRpY3Rpb25h
cnktdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAg
ICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlv
biI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJsb25nIiwKLSAgICAg
ICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAg
ICAgICAgICAgICJleHRBdHRycyI6IFtdLAotICAgICAgICAgICAgICAgICJkZWZhdWx0IjogbnVs
bAotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6
ICJmaWVsZCIsCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiZCIsCi0gICAgICAgICAgICAgICAg
ImVzY2FwZWROYW1lIjogImQiLAotICAgICAgICAgICAgICAgICJyZXF1aXJlZCI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6
ICJkaWN0aW9uYXJ5LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGws
Ci0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAibG9u
ZyIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAg
fSwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXSwKLSAgICAgICAgICAgICAgICAiZGVm
YXVsdCI6IG51bGwKLSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImV4dEF0dHJz
IjogW10KLSAgICB9Ci1dCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vZG9jdW1l
bnRhdGlvbi1kb3MuanNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9kb2N1bWVudGF0aW9uLWRv
cy5qc29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiYWEwYjVhMDliNS4uMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2RvY3VtZW50YXRpb24tZG9zLmpzb24K
KysrIC9kZXYvbnVsbApAQCAtMSwxMCArMCwwIEBACi1bCi0gICAgewotICAgICAgICAidHlwZSI6
ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFtZSI6ICJEb2N1bWVudGF0aW9uIiwKLSAgICAgICAg
InBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJlcnMiOiBbXSwKLSAgICAgICAgImluaGVy
aXRhbmNlIjogbnVsbCwKLSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9Ci1dCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vZG9jdW1lbnRhdGlvbi5qc29uIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3N5bnRheC9qc29uL2RvY3VtZW50YXRpb24uanNvbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggYmFhMGI1YTA5YjUuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNv
bi9kb2N1bWVudGF0aW9uLmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSwxMCArMCwwIEBACi1bCi0g
ICAgewotICAgICAgICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFtZSI6ICJEb2N1
bWVudGF0aW9uIiwKLSAgICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJlcnMi
OiBbXSwKLSAgICAgICAgImluaGVyaXRhbmNlIjogbnVsbCwKLSAgICAgICAgImV4dEF0dHJzIjog
W10KLSAgICB9Ci1dCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vZW51bS5qc29u
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2VudW0uanNvbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMTFmNWQwOWY1NGIuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgv
anNvbi9lbnVtLmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSwxMzggKzAsMCBAQAotWwotICAgIHsK
LSAgICAgICAgInR5cGUiOiAiZW51bSIsCi0gICAgICAgICJuYW1lIjogIk1lYWxUeXBlIiwKLSAg
ICAgICAgInZhbHVlcyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6
ICJzdHJpbmciLAotICAgICAgICAgICAgICAgICJ2YWx1ZSI6ICJyaWNlIgotICAgICAgICAgICAg
fSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAotICAg
ICAgICAgICAgICAgICJ2YWx1ZSI6ICJub29kbGVzIgotICAgICAgICAgICAgfSwKLSAgICAgICAg
ICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAotICAgICAgICAgICAgICAg
ICJ2YWx1ZSI6ICJvdGhlciIKLSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImV4
dEF0dHJzIjogW10KLSAgICB9LAotICAgIHsKLSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIiwK
LSAgICAgICAgIm5hbWUiOiAiTWVhbCIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0gICAg
ICAgICJtZW1iZXJzIjogWwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjog
ImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpbmhlcml0Ijog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5IjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZS10
eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAg
ICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogIk1lYWxUeXBlIiwKLSAgICAg
ICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAg
ICAgICAgICAgICJuYW1lIjogInR5cGUiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6
ICJ0eXBlIiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfSwK
LSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAg
ICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZp
ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICJyZWFkb25seSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewot
ICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAgICAgICAg
ICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxl
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICAgICAiaWRsVHlwZSI6ICJmbG9hdCIsCi0gICAgICAgICAgICAgICAgICAgICJleHRB
dHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJz
aXplIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAic2l6ZSIsCi0gICAgICAgICAg
ICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAg
ICAgICAgICAgICAgInR5cGUiOiAib3BlcmF0aW9uIiwKLSAgICAgICAgICAgICAgICAiZ2V0dGVy
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInNldHRlciI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICJkZWxldGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJp
ZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJyZXR1cm4tdHlwZSIsCi0g
ICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAg
Im51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJ2b2lkIiwKLSAgICAgICAgICAgICAgICAg
ICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJu
YW1lIjogImluaXRpYWxpemUiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJpbml0
aWFsaXplIiwKLSAgICAgICAgICAgICAgICAiYXJndW1lbnRzIjogWwotICAgICAgICAgICAgICAg
ICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAib3B0aW9uYWwiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJ2YXJpYWRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgImRlZmF1bHQiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJz
IjogW10sCi0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9u
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiTWVhbFR5
cGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAg
ICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAidHlw
ZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAidHlwZSIKLSAgICAg
ICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAg
ICAgICAgICAgIm9wdGlvbmFsIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAidmFy
aWFkaWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0IjogbnVsbCwK
LSAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdLAotICAgICAgICAgICAgICAg
ICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUi
OiAiYXJndW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMi
OiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICJpZGxUeXBlIjogImZsb2F0IiwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJuYW1lIjogInNpemUiLAotICAgICAgICAgICAgICAgICAgICAg
ICAgImVzY2FwZWROYW1lIjogInNpemUiCi0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAg
ICAgICAgICBdLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9
Ci0gICAgICAgIF0sCi0gICAgICAgICJpbmhlcml0YW5jZSI6IG51bGwsCi0gICAgICAgICJleHRB
dHRycyI6IFtdCi0gICAgfSwKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImVudW0iLAotICAgICAg
ICAibmFtZSI6ICJBbHRNZWFsVHlwZSIsCi0gICAgICAgICJ2YWx1ZXMiOiBbCi0gICAgICAgICAg
ICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKLSAgICAgICAgICAgICAgICAi
dmFsdWUiOiAicmljZSIKLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAg
ICAgICAgInR5cGUiOiAic3RyaW5nIiwKLSAgICAgICAgICAgICAgICAidmFsdWUiOiAibm9vZGxl
cyIKLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUi
OiAic3RyaW5nIiwKLSAgICAgICAgICAgICAgICAidmFsdWUiOiAib3RoZXIiCi0gICAgICAgICAg
ICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgfQotXQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2VxdWl2YWxlbnQtZGVjbC5qc29uIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3N5bnRheC9qc29uL2VxdWl2YWxlbnQtZGVjbC5qc29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCBlZTA3OWE3Nzc5MC4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRh
eC9qc29uL2VxdWl2YWxlbnQtZGVjbC5qc29uCisrKyAvZGV2L251bGwKQEAgLTEsMzI2ICswLDAg
QEAKLVsKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAgICAgICJuYW1l
IjogIkRpY3Rpb25hcnkiLAotICAgICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVt
YmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1
dGUiLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAi
c3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICJyZWFkb25seSI6IHRydWUsCi0gICAgICAgICAgICAgICAgImlkbFR5
cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZS10eXBlIiwKLSAg
ICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAi
bnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogInVuc2lnbmVkIGxvbmciLAotICAgICAgICAg
ICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAg
ICAgICAgIm5hbWUiOiAicHJvcGVydHlDb3VudCIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWRO
YW1lIjogInByb3BlcnR5Q291bnQiLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0g
ICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogIm9w
ZXJhdGlvbiIsCi0gICAgICAgICAgICAgICAgImdldHRlciI6IHRydWUsCi0gICAgICAgICAgICAg
ICAgInNldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJkZWxldGVyIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdp
ZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAg
ICAgICAgICAidHlwZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5l
cmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRs
VHlwZSI6ICJmbG9hdCIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAg
ICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJnZXRQcm9wZXJ0eSIsCi0g
ICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImdldFByb3BlcnR5IiwKLSAgICAgICAgICAg
ICAgICAiYXJndW1lbnRzIjogWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICAib3B0aW9uYWwiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ2
YXJpYWRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHQiOiBudWxs
LAotICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10sCi0gICAgICAgICAgICAg
ICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlw
ZSI6ICJhcmd1bWVudC10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJp
YyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiRE9NU3RyaW5nIiwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAgICAgfSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjogInByb3BlcnR5TmFtZSIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAicHJvcGVydHlOYW1lIgotICAgICAgICAg
ICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICAiZXh0QXR0
cnMiOiBbXQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAi
dHlwZSI6ICJvcGVyYXRpb24iLAotICAgICAgICAgICAgICAgICJnZXR0ZXIiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAic2V0dGVyIjogdHJ1ZSwKLSAgICAgICAgICAgICAgICAiZGVsZXRlciI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAg
ICAgICAgICAgICAgICAgICAgInR5cGUiOiAicmV0dXJuLXR5cGUiLAotICAgICAgICAgICAgICAg
ICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAgICAgImlkbFR5cGUiOiAidm9pZCIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6
IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJzZXRQcm9w
ZXJ0eSIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogInNldFByb3BlcnR5IiwKLSAg
ICAgICAgICAgICAgICAiYXJndW1lbnRzIjogWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICAib3B0aW9uYWwiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICJ2YXJpYWRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1
bHQiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10sCi0gICAg
ICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxl
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiRE9NU3RyaW5nIiwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAg
ICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjogInByb3BlcnR5TmFtZSIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAicHJvcGVydHlOYW1lIgot
ICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICAib3B0aW9uYWwiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJ2YXJpYWRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHQiOiBu
dWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10sCi0gICAgICAgICAg
ICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAi
dHlwZSI6ICJhcmd1bWVudC10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2Vu
ZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiZmxvYXQiLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgICAgICAgICB9LAot
ICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAicHJvcGVydHlWYWx1ZSIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAicHJvcGVydHlWYWx1ZSIKLSAgICAgICAg
ICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgImV4dEF0
dHJzIjogW10KLSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImluaGVyaXRhbmNl
IjogbnVsbCwKLSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9LAotICAgIHsKLSAgICAgICAg
InR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUiOiAiRGljdGlvbmFyeTIiLAotICAg
ICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFsKLSAgICAgICAgICAg
IHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAg
ICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJyZWFk
b25seSI6IHRydWUsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAg
ICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZS10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdl
bmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJp
ZGxUeXBlIjogInVuc2lnbmVkIGxvbmciLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMi
OiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAicHJvcGVy
dHlDb3VudCIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogInByb3BlcnR5Q291bnQi
LAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9LAotICAgICAg
ICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogIm9wZXJhdGlvbiIsCi0gICAgICAgICAg
ICAgICAgImdldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzZXR0ZXIiOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAiZGVsZXRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdGF0
aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAicmV0
dXJuLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAg
ICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5p
b24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiZmxvYXQiLAotICAg
ICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAg
ICAgICAgICAgICAgIm5hbWUiOiAiZ2V0UHJvcGVydHkiLAotICAgICAgICAgICAgICAgICJlc2Nh
cGVkTmFtZSI6ICJnZXRQcm9wZXJ0eSIsCi0gICAgICAgICAgICAgICAgImFyZ3VtZW50cyI6IFsK
LSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIm9wdGlvbmFs
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAidmFyaWFkaWMiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0IjogbnVsbCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICJleHRBdHRycyI6IFtdLAotICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUi
OiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXJndW1lbnQtdHlwZSIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJp
ZGxUeXBlIjogIkRPTVN0cmluZyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0
dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAg
ICAgICAibmFtZSI6ICJwcm9wZXJ0eU5hbWUiLAotICAgICAgICAgICAgICAgICAgICAgICAgImVz
Y2FwZWROYW1lIjogInByb3BlcnR5TmFtZSIKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAg
ICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAg
IH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAib3BlcmF0aW9uIiwK
LSAgICAgICAgICAgICAgICAiZ2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInNldHRl
ciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJkZWxldGVyIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAi
dHlwZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVs
bCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJ2
b2lkIiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAg
ICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogInNldFByb3BlcnR5IiwKLSAgICAgICAgICAg
ICAgICAiZXNjYXBlZE5hbWUiOiAic2V0UHJvcGVydHkiLAotICAgICAgICAgICAgICAgICJhcmd1
bWVudHMiOiBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJvcHRpb25hbCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgInZhcmlhZGljIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdCI6IG51bGwsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImFyZ3Vt
ZW50LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAiaWRsVHlwZSI6ICJET01TdHJpbmciLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAg
ICAgICAgICAgICAgICAgIm5hbWUiOiAicHJvcGVydHlOYW1lIiwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICJlc2NhcGVkTmFtZSI6ICJwcm9wZXJ0eU5hbWUiCi0gICAgICAgICAgICAgICAgICAg
IH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJvcHRp
b25hbCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgInZhcmlhZGljIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdCI6IG51bGwsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAiZXh0QXR0cnMiOiBbXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJpZGxU
eXBlIjogewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImFyZ3VtZW50LXR5
cGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAiaWRsVHlwZSI6ICJmbG9hdCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0
dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAg
ICAgICAibmFtZSI6ICJwcm9wZXJ0eVZhbHVlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJl
c2NhcGVkTmFtZSI6ICJwcm9wZXJ0eVZhbHVlIgotICAgICAgICAgICAgICAgICAgICB9Ci0gICAg
ICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAg
ICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJvcGVyYXRpb24i
LAotICAgICAgICAgICAgICAgICJnZXR0ZXIiOiB0cnVlLAotICAgICAgICAgICAgICAgICJzZXR0
ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiZGVsZXRlciI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAg
InR5cGUiOiAicmV0dXJuLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51
bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAi
ZmxvYXQiLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAg
ICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiBudWxsLAotICAgICAgICAgICAgICAgICJl
c2NhcGVkTmFtZSI6IG51bGwsCi0gICAgICAgICAgICAgICAgImFyZ3VtZW50cyI6IFsKLSAgICAg
ICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIm9wdGlvbmFsIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAidmFyaWFkaWMiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICJkZWZhdWx0IjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJleHRBdHRycyI6IFtdLAotICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBl
IjogIkRPTVN0cmluZyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjog
W10KLSAgICAgICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgICAgICAi
bmFtZSI6ICJwcm9wZXJ0eU5hbWUiLAotICAgICAgICAgICAgICAgICAgICAgICAgImVzY2FwZWRO
YW1lIjogInByb3BlcnR5TmFtZSIKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAg
ICAgIF0sCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0g
ICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAib3BlcmF0aW9uIiwKLSAgICAg
ICAgICAgICAgICAiZ2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInNldHRlciI6IHRy
dWUsCi0gICAgICAgICAgICAgICAgImRlbGV0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAi
c3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjog
InJldHVybi10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAg
ICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAg
InVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogInZvaWQiLAot
ICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0g
ICAgICAgICAgICAgICAgIm5hbWUiOiBudWxsLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFt
ZSI6IG51bGwsCi0gICAgICAgICAgICAgICAgImFyZ3VtZW50cyI6IFsKLSAgICAgICAgICAgICAg
ICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIm9wdGlvbmFsIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAidmFyaWFkaWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICJkZWZhdWx0IjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRy
cyI6IFtdLAotICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlv
biI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogIkRPTVN0
cmluZyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAg
ICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJw
cm9wZXJ0eU5hbWUiLAotICAgICAgICAgICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogInBy
b3BlcnR5TmFtZSIKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAg
ewotICAgICAgICAgICAgICAgICAgICAgICAgIm9wdGlvbmFsIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAidmFyaWFkaWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJkZWZhdWx0IjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtd
LAotICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgInR5cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJu
dWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogImZsb2F0IiwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAg
ICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjogInByb3BlcnR5VmFs
dWUiLAotICAgICAgICAgICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogInByb3BlcnR5VmFs
dWUiCi0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAg
ICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAg
ICJpbmhlcml0YW5jZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgfQotXQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2V4Y2VwdGlvbi1pbmhlcml0YW5jZS5q
c29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2V4Y2VwdGlvbi1pbmhlcml0YW5jZS5qc29uCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0YTc2Yjk4Mjg1Ni4uMDAwMDAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2V4Y2VwdGlvbi1pbmhlcml0YW5jZS5qc29uCisrKyAv
ZGV2L251bGwKQEAgLTEsMzYgKzAsMCBAQAotWwotICAgIHsKLSAgICAgICAgInR5cGUiOiAiZXhj
ZXB0aW9uIiwKLSAgICAgICAgIm5hbWUiOiAiRE9NRXhjZXB0aW9uIiwKLSAgICAgICAgIm1lbWJl
cnMiOiBbCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiZmllbGQiLAot
ICAgICAgICAgICAgICAgICJuYW1lIjogImNvZGUiLAotICAgICAgICAgICAgICAgICJpZGxUeXBl
IjogewotICAgICAgICAgICAgICAgICAgICAic2VxdWVuY2UiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgICAgICJpZGxUeXBlIjogInVuc2lnbmVkIHNob3J0IgotICAgICAgICAgICAgICAgIH0s
Ci0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0KLSAgICAgICAg
XSwKLSAgICAgICAgImluaGVyaXRhbmNlIjogbnVsbCwKLSAgICAgICAgImV4dEF0dHJzIjogW10K
LSAgICB9LAotICAgIHsKLSAgICAgICAgInR5cGUiOiAiZXhjZXB0aW9uIiwKLSAgICAgICAgIm5h
bWUiOiAiSGllcmFyY2h5UmVxdWVzdEVycm9yIiwKLSAgICAgICAgIm1lbWJlcnMiOiBbXSwKLSAg
ICAgICAgImluaGVyaXRhbmNlIjogIkRPTUV4Y2VwdGlvbiIsCi0gICAgICAgICJleHRBdHRycyI6
IFtdCi0gICAgfSwKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImV4Y2VwdGlvbiIsCi0gICAgICAg
ICJuYW1lIjogIk5vTW9kaWZpY2F0aW9uQWxsb3dlZEVycm9yIiwKLSAgICAgICAgIm1lbWJlcnMi
OiBbXSwKLSAgICAgICAgImluaGVyaXRhbmNlIjogIkRPTUV4Y2VwdGlvbiIsCi0gICAgICAgICJl
eHRBdHRycyI6IFtdCi0gICAgfQotXQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9leHRlbmRlZC1hdHRyaWJ1dGVzLmpzb24gYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3Qvc3ludGF4L2pzb24vZXh0ZW5kZWQtYXR0cmlidXRlcy5qc29uCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAyNWY1NmYwMzQwYS4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3N5bnRheC9qc29uL2V4dGVuZGVkLWF0dHJpYnV0ZXMuanNvbgorKysgL2Rldi9udWxsCkBA
IC0xLDI0MCArMCwwIEBACi1bCi0gICAgewotICAgICAgICAidHlwZSI6ICJpbnRlcmZhY2UiLAot
ICAgICAgICAibmFtZSI6ICJTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUiLAotICAgICAgICAicGFy
dGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFtdLAotICAgICAgICAiaW5oZXJpdGFu
Y2UiOiAiV29ya2VyR2xvYmFsU2NvcGUiLAotICAgICAgICAiZXh0QXR0cnMiOiBbCi0gICAgICAg
ICAgICB7Ci0gICAgICAgICAgICAgICAgIm5hbWUiOiAiR2xvYmFsIiwKLSAgICAgICAgICAgICAg
ICAiYXJndW1lbnRzIjogbnVsbCwKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJleHRlbmRlZC1h
dHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJyaHMiOiB7Ci0gICAgICAgICAgICAgICAgICAg
ICJ0eXBlIjogImlkZW50aWZpZXItbGlzdCIsCi0gICAgICAgICAgICAgICAgICAgICJ2YWx1ZSI6
IFsKLSAgICAgICAgICAgICAgICAgICAgICAgICJXb3JrZXIiLAotICAgICAgICAgICAgICAgICAg
ICAgICAgIlNlcnZpY2VXb3JrZXIiCi0gICAgICAgICAgICAgICAgICAgIF0KLSAgICAgICAgICAg
ICAgICB9Ci0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJu
YW1lIjogIkV4cG9zZWQiLAotICAgICAgICAgICAgICAgICJhcmd1bWVudHMiOiBudWxsLAotICAg
ICAgICAgICAgICAgICJ0eXBlIjogImV4dGVuZGVkLWF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAg
ICAgInJocyI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiaWRlbnRpZmllciIsCi0g
ICAgICAgICAgICAgICAgICAgICJ2YWx1ZSI6ICJTZXJ2aWNlV29ya2VyIgotICAgICAgICAgICAg
ICAgIH0KLSAgICAgICAgICAgIH0KLSAgICAgICAgXQotICAgIH0sCi0gICAgewotICAgICAgICAi
dHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFtZSI6ICJJZEludGVyZmFjZSIsCi0gICAg
ICAgICJwYXJ0aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJzIjogW10sCi0gICAgICAgICJp
bmhlcml0YW5jZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6IFsKLSAgICAgICAgICAgIHsK
LSAgICAgICAgICAgICAgICAibmFtZSI6ICJJbnRBdHRyIiwKLSAgICAgICAgICAgICAgICAiYXJn
dW1lbnRzIjogbnVsbCwKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJleHRlbmRlZC1hdHRyaWJ1
dGUiLAotICAgICAgICAgICAgICAgICJyaHMiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBl
IjogImludGVnZXIiLAotICAgICAgICAgICAgICAgICAgICAidmFsdWUiOiAiMCIKLSAgICAgICAg
ICAgICAgICB9Ci0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAg
ICJuYW1lIjogIkZsb2F0QXR0ciIsCi0gICAgICAgICAgICAgICAgImFyZ3VtZW50cyI6IG51bGws
Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiZXh0ZW5kZWQtYXR0cmlidXRlIiwKLSAgICAgICAg
ICAgICAgICAicmhzIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJmbG9hdCIsCi0g
ICAgICAgICAgICAgICAgICAgICJ2YWx1ZSI6ICIzLjE0IgotICAgICAgICAgICAgICAgIH0KLSAg
ICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgIm5hbWUiOiAiU3Ry
aW5nQXR0ciIsCi0gICAgICAgICAgICAgICAgImFyZ3VtZW50cyI6IG51bGwsCi0gICAgICAgICAg
ICAgICAgInR5cGUiOiAiZXh0ZW5kZWQtYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAicmhz
IjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAotICAgICAgICAgICAg
ICAgICAgICAidmFsdWUiOiAiXCJhYmNcIiIKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAg
ICB9Ci0gICAgICAgIF0KLSAgICB9LAotICAgIHsKLSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNl
IiwKLSAgICAgICAgIm5hbWUiOiAiQ2lyY2xlIiwKLSAgICAgICAgInBhcnRpYWwiOiBmYWxzZSwK
LSAgICAgICAgIm1lbWJlcnMiOiBbCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5
cGUiOiAiYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImluaGVy
aXQiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAicmVhZG9ubHkiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmli
dXRlLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAg
ICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5p
b24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiZG91YmxlIiwKLSAg
ICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAg
ICAgICAgICAgICAgICJuYW1lIjogInIiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6
ICJyIiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfSwKLSAg
ICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAg
ICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICJyZWFkb25seSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAg
ICAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAgICAgICAgICAg
ICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICAgICAiaWRsVHlwZSI6ICJkb3VibGUiLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0
cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiY3gi
LAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJjeCIsCi0gICAgICAgICAgICAgICAg
ImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAg
ICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAicmVhZG9ubHkiOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUi
OiAiYXR0cmlidXRlLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGws
Ci0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiZG91
YmxlIiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAg
ICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogImN5IiwKLSAgICAgICAgICAgICAgICAiZXNj
YXBlZE5hbWUiOiAiY3kiLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAg
ICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0
ZSIsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJz
dHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpbmhlcml0IjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgInJlYWRvbmx5IjogdHJ1ZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlw
ZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlLXR5cGUiLAotICAg
ICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJu
dWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiZG91YmxlIiwKLSAgICAgICAgICAgICAgICAg
ICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJu
YW1lIjogImNpcmN1bWZlcmVuY2UiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJj
aXJjdW1mZXJlbmNlIiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAg
ICAgfQotICAgICAgICBdLAotICAgICAgICAiaW5oZXJpdGFuY2UiOiBudWxsLAotICAgICAgICAi
ZXh0QXR0cnMiOiBbCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgIm5hbWUiOiAiQ29u
c3RydWN0b3IiLAotICAgICAgICAgICAgICAgICJhcmd1bWVudHMiOiBudWxsLAotICAgICAgICAg
ICAgICAgICJ0eXBlIjogImV4dGVuZGVkLWF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInJo
cyI6IG51bGwKLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAg
Im5hbWUiOiAiQ29uc3RydWN0b3IiLAotICAgICAgICAgICAgICAgICJhcmd1bWVudHMiOiBbCi0g
ICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJvcHRpb25hbCI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgInZhcmlhZGljIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdCI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAiZXh0QXR0cnMiOiBbXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjog
ewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImFyZ3VtZW50LXR5cGUiLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRs
VHlwZSI6ICJkb3VibGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6
IFtdCi0gICAgICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICAgICAg
Im5hbWUiOiAicmFkaXVzIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6
ICJyYWRpdXMiCi0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdLAotICAg
ICAgICAgICAgICAgICJ0eXBlIjogImV4dGVuZGVkLWF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAg
ICAgInJocyI6IG51bGwKLSAgICAgICAgICAgIH0KLSAgICAgICAgXQotICAgIH0sCi0gICAgewot
ICAgICAgICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFtZSI6ICJJIiwKLSAgICAg
ICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJlcnMiOiBbCi0gICAgICAgICAgICB7
Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAi
c3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAicmVhZG9u
bHkiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAg
ICAgICAgInR5cGUiOiAiYXR0cmlidXRlLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2Vu
ZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICAgICAidW5pb24iOiB0cnVlLAotICAgICAgICAgICAgICAgICAgICAiaWRs
VHlwZSI6IFsKLSAgICAgICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAidHlwZSI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVy
aWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogImxvbmciLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgICAgICAgICB9LAotICAg
ICAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBl
IjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgImlkbFR5cGUiOiAiTm9kZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4
dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAg
ICAgXSwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogWwotICAgICAgICAgICAgICAg
ICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjogIlhBdHRyIiwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYXJndW1lbnRzIjogbnVsbCwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJleHRlbmRlZC1hdHRyaWJ1dGUiLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJyaHMiOiBudWxsCi0gICAgICAgICAgICAgICAgICAgICAg
ICB9Ci0gICAgICAgICAgICAgICAgICAgIF0KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAg
ICAgICAgICJuYW1lIjogImF0dHJpYiIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjog
ImF0dHJpYiIsCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0K
LSAgICAgICAgXSwKLSAgICAgICAgImluaGVyaXRhbmNlIjogbnVsbCwKLSAgICAgICAgImV4dEF0
dHJzIjogWwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJuYW1lIjogIkV4cG9zZWQi
LAotICAgICAgICAgICAgICAgICJhcmd1bWVudHMiOiBudWxsLAotICAgICAgICAgICAgICAgICJ0
eXBlIjogImV4dGVuZGVkLWF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInJocyI6IHsKLSAg
ICAgICAgICAgICAgICAgICAgInR5cGUiOiAiaWRlbnRpZmllciIsCi0gICAgICAgICAgICAgICAg
ICAgICJ2YWx1ZSI6ICJXaW5kb3ciCi0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgfQot
ICAgICAgICBdCi0gICAgfQotXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2dl
bmVyaWMuanNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9nZW5lcmljLmpzb24KZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQzYzI2YWM3Y2QwLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvc3ludGF4L2pzb24vZ2VuZXJpYy5qc29uCisrKyAvZGV2L251bGwKQEAgLTEsMTc2ICsw
LDAgQEAKLVsKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAgICAgICJu
YW1lIjogIkZvbyIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJz
IjogWwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogIm9wZXJhdGlvbiIs
Ci0gICAgICAgICAgICAgICAgImdldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzZXR0
ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiZGVsZXRlciI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAg
InR5cGUiOiAicmV0dXJuLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6ICJQ
cm9taXNlIiwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlw
ZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInJldHVybi10eXBlIiwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogIlByb21pc2UiLAotICAgICAgICAgICAg
ICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAi
dW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInJldHVybi10eXBlIiwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6ICJzZXF1ZW5jZSIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5
cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInJldHVybi10
eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiB0cnVlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiRE9NU3RyaW5nIiwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB9LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAg
ICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJz
IjogW10KLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0
dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogImJh
ciIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImJhciIsCi0gICAgICAgICAgICAg
ICAgImFyZ3VtZW50cyI6IFtdLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAg
ICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJp
YnV0ZSIsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpbmhlcml0IjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgInJlYWRvbmx5IjogdHJ1ZSwKLSAgICAgICAgICAgICAgICAiaWRs
VHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlLXR5cGUiLAot
ICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6ICJQcm9taXNlIiwKLSAgICAgICAgICAgICAg
ICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAg
ICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZS10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJET01TdHJpbmciLAotICAgICAgICAgICAgICAgICAg
ICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAg
ICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAg
ICAgICJuYW1lIjogImJheiIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImJheiIs
Ci0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0KLSAgICAgICAg
XSwKLSAgICAgICAgImluaGVyaXRhbmNlIjogbnVsbCwKLSAgICAgICAgImV4dEF0dHJzIjogW10K
LSAgICB9LAotICAgIHsKLSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5h
bWUiOiAiU2VydmljZVdvcmtlckNsaWVudHMiLAotICAgICAgICAicGFydGlhbCI6IGZhbHNlLAot
ICAgICAgICAibWVtYmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlw
ZSI6ICJvcGVyYXRpb24iLAotICAgICAgICAgICAgICAgICJnZXR0ZXIiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAic2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImRlbGV0ZXIiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
InN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAg
ICAgICAgICAgICAgICAgICJ0eXBlIjogInJldHVybi10eXBlIiwKLSAgICAgICAgICAgICAgICAg
ICAgImdlbmVyaWMiOiAiUHJvbWlzZSIsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJy
ZXR1cm4tdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiB0cnVlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlw
ZSI6ICJDbGllbnQiLAotICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAg
ICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10K
LSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogImdldFNlcnZpY2Vk
IiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiZ2V0U2VydmljZWQiLAotICAgICAg
ICAgICAgICAgICJhcmd1bWVudHMiOiBbXSwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBb
XQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6
ICJvcGVyYXRpb24iLAotICAgICAgICAgICAgICAgICJnZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAic2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImRlbGV0ZXIiOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0
cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAg
ICAgICAgICAgICAgICJ0eXBlIjogInJldHVybi10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAg
ImdlbmVyaWMiOiAiUHJvbWlzZSIsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJyZXR1
cm4tdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUi
OiAiYW55IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAg
ICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAg
ICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJyZWxvYWRBbGwiLAotICAg
ICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJyZWxvYWRBbGwiLAotICAgICAgICAgICAgICAg
ICJhcmd1bWVudHMiOiBbXSwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAg
ICAgICAgfQotICAgICAgICBdLAotICAgICAgICAiaW5oZXJpdGFuY2UiOiBudWxsLAotICAgICAg
ICAiZXh0QXR0cnMiOiBbXQotICAgIH0sCi0gICAgewotICAgICAgICAidHlwZSI6ICJpbnRlcmZh
Y2UiLAotICAgICAgICAibmFtZSI6ICJGZXRjaEV2ZW50IiwKLSAgICAgICAgInBhcnRpYWwiOiBm
YWxzZSwKLSAgICAgICAgIm1lbWJlcnMiOiBbCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAg
ICAgInR5cGUiOiAib3BlcmF0aW9uIiwKLSAgICAgICAgICAgICAgICAiZ2V0dGVyIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgInNldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJkZWxl
dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjog
ewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAgICAgICAg
ICAgICAgICAgICJnZW5lcmljIjogIlByb21pc2UiLAotICAgICAgICAgICAgICAgICAgICAibnVs
bGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAgICAgInR5
cGUiOiAicmV0dXJuLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBu
dWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJpZGxUeXBlIjogImFueSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBb
XQotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMi
OiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiZGVmYXVs
dCIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImRlZmF1bHQiLAotICAgICAgICAg
ICAgICAgICJhcmd1bWVudHMiOiBbXSwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQot
ICAgICAgICAgICAgfQotICAgICAgICBdLAotICAgICAgICAiaW5oZXJpdGFuY2UiOiAiRXZlbnQi
LAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0KLV0KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC9zeW50YXgvanNvbi9nZXR0ZXItc2V0dGVyLmpzb24gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24v
Z2V0dGVyLXNldHRlci5qc29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2ZjgxOTZm
ZTU2ZC4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2dldHRlci1zZXR0
ZXIuanNvbgorKysgL2Rldi9udWxsCkBAIC0xLDExOSArMCwwIEBACi1bCi0gICAgewotICAgICAg
ICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFtZSI6ICJEaWN0aW9uYXJ5IiwKLSAg
ICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJlcnMiOiBbCi0gICAgICAgICAg
ICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAg
ICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAicmVh
ZG9ubHkiOiB0cnVlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAg
ICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJn
ZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAi
aWRsVHlwZSI6ICJ1bnNpZ25lZCBsb25nIiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJz
IjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogInByb3Bl
cnR5Q291bnQiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJwcm9wZXJ0eUNvdW50
IiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfSwKLSAgICAg
ICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJvcGVyYXRpb24iLAotICAgICAgICAg
ICAgICAgICJnZXR0ZXIiOiB0cnVlLAotICAgICAgICAgICAgICAgICJzZXR0ZXIiOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAiZGVsZXRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdGF0
aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAicmV0
dXJuLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAg
ICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5p
b24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiZmxvYXQiLAotICAg
ICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAg
ICAgICAgICAgICAgIm5hbWUiOiBudWxsLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6
IG51bGwsCi0gICAgICAgICAgICAgICAgImFyZ3VtZW50cyI6IFsKLSAgICAgICAgICAgICAgICAg
ICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIm9wdGlvbmFsIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAidmFyaWFkaWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJkZWZhdWx0IjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6
IFtdLAotICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgInR5cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogIkRPTVN0cmlu
ZyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAg
ICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJwcm9w
ZXJ0eU5hbWUiLAotICAgICAgICAgICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogInByb3Bl
cnR5TmFtZSIKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAg
ICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7
Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAib3BlcmF0aW9uIiwKLSAgICAgICAgICAgICAgICAi
Z2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInNldHRlciI6IHRydWUsCi0gICAgICAg
ICAgICAgICAgImRlbGV0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInJldHVybi10eXBl
IiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAg
ICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogInZvaWQiLAotICAgICAgICAgICAg
ICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAg
ICAgIm5hbWUiOiBudWxsLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6IG51bGwsCi0g
ICAgICAgICAgICAgICAgImFyZ3VtZW50cyI6IFsKLSAgICAgICAgICAgICAgICAgICAgewotICAg
ICAgICAgICAgICAgICAgICAgICAgIm9wdGlvbmFsIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAidmFyaWFkaWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJkZWZh
dWx0IjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdLAotICAg
ICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgInR5cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJs
ZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogIkRPTVN0cmluZyIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAg
ICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJwcm9wZXJ0eU5hbWUi
LAotICAgICAgICAgICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogInByb3BlcnR5TmFtZSIK
LSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAg
ICAgICAgICAgICAgICAgIm9wdGlvbmFsIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAidmFyaWFkaWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0Ijog
bnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdLAotICAgICAgICAg
ICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
InR5cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImdl
bmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogImZsb2F0IiwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAgICAgfSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjogInByb3BlcnR5VmFsdWUiLAotICAgICAg
ICAgICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogInByb3BlcnR5VmFsdWUiCi0gICAgICAg
ICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgICJleHRB
dHRycyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJpbmhlcml0YW5j
ZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgfQotXQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3N5bnRheC9qc29uL2lkZW50aWZpZXItcXVhbGlmaWVkLW5hbWVzLmpzb24gYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3Qvc3ludGF4L2pzb24vaWRlbnRpZmllci1xdWFsaWZpZWQtbmFtZXMuanNvbgpkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDk4Y2RjYjFmYmIuLjAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC9zeW50YXgvanNvbi9pZGVudGlmaWVyLXF1YWxpZmllZC1uYW1lcy5qc29uCisr
KyAvZGV2L251bGwKQEAgLTEsMTg5ICswLDAgQEAKLVsKLSAgICB7Ci0gICAgICAgICJ0eXBlIjog
InR5cGVkZWYiLAotICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICJ0eXBlIjogInR5
cGVkZWYtdHlwZSIsCi0gICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAi
bnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAg
ICAgImlkbFR5cGUiOiAiZmxvYXQiLAotICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAg
ICAgfSwKLSAgICAgICAgIm5hbWUiOiAibnVtYmVyIiwKLSAgICAgICAgImV4dEF0dHJzIjogW10K
LSAgICB9LAotICAgIHsKLSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5h
bWUiOiAiU3lzdGVtIiwKLSAgICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJl
cnMiOiBbCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAib3BlcmF0aW9u
IiwKLSAgICAgICAgICAgICAgICAiZ2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInNl
dHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJkZWxldGVyIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAg
ICAidHlwZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjog
bnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6
ICJvYmplY3QiLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAg
ICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiY3JlYXRlT2JqZWN0IiwKLSAgICAg
ICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiY3JlYXRlT2JqZWN0IiwKLSAgICAgICAgICAgICAg
ICAiYXJndW1lbnRzIjogWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICAib3B0aW9uYWwiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ2YXJp
YWRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHQiOiBudWxsLAot
ICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10sCi0gICAgICAgICAgICAgICAg
ICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6
ICJhcmd1bWVudC10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6
IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiRE9NU3RyaW5nIiwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjogImludGVyZmFjZSIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiX2ludGVyZmFjZSIKLSAgICAgICAgICAgICAgICAg
ICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10K
LSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAi
b3BlcmF0aW9uIiwKLSAgICAgICAgICAgICAgICAiZ2V0dGVyIjogdHJ1ZSwKLSAgICAgICAgICAg
ICAgICAic2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImRlbGV0ZXIiOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmlu
Z2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAg
ICAgICAgICAgICJ0eXBlIjogInJldHVybi10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdl
bmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJp
ZGxUeXBlIjogIkRPTVN0cmluZyIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtd
Ci0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6IG51bGwsCi0gICAg
ICAgICAgICAgICAgImVzY2FwZWROYW1lIjogbnVsbCwKLSAgICAgICAgICAgICAgICAiYXJndW1l
bnRzIjogWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAi
b3B0aW9uYWwiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ2YXJpYWRpYyI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHQiOiBudWxsLAotICAgICAgICAg
ICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10sCi0gICAgICAgICAgICAgICAgICAgICAgICAi
aWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVu
dC10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgImlkbFR5cGUiOiAiRE9NU3RyaW5nIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJuYW1lIjogImtleU5hbWUiLAotICAgICAgICAgICAgICAgICAgICAgICAg
ImVzY2FwZWROYW1lIjogImtleU5hbWUiCi0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAg
ICAgICAgICBdLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9
Ci0gICAgICAgIF0sCi0gICAgICAgICJpbmhlcml0YW5jZSI6IG51bGwsCi0gICAgICAgICJleHRB
dHRycyI6IFtdCi0gICAgfSwKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImludGVyZmFjZSIsCi0g
ICAgICAgICJuYW1lIjogIlRleHRGaWVsZCIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0g
ICAgICAgICJtZW1iZXJzIjogWwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBl
IjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpbmhlcml0
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5IjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0
ZS10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAg
ICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9u
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogImJvb2xlYW4iLAotICAg
ICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAg
ICAgICAgICAgICAgIm5hbWUiOiAiY29uc3QiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFt
ZSI6ICJfY29uc3QiLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAg
ICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZSIs
Ci0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJp
bmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpbmhlcml0IjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgInJlYWRvbmx5IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUi
OiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZS10eXBlIiwKLSAgICAg
ICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVs
bGFibGUiOiB0cnVlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiRE9NU3RyaW5nIiwKLSAgICAgICAgICAgICAgICAg
ICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJu
YW1lIjogInZhbHVlIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiX3ZhbHVlIiwK
LSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfQotICAgICAgICBd
LAotICAgICAgICAiaW5oZXJpdGFuY2UiOiBudWxsLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQot
ICAgIH0sCi0gICAgewotICAgICAgICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFt
ZSI6ICJGb29FdmVudFRhcmdldCIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0gICAgICAg
ICJtZW1iZXJzIjogWwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogIm9w
ZXJhdGlvbiIsCi0gICAgICAgICAgICAgICAgImdldHRlciI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICJzZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiZGVsZXRlciI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5n
aWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAg
ICAgICAgICAgInR5cGUiOiAicmV0dXJuLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2Vu
ZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlk
bFR5cGUiOiAidm9pZCIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAg
ICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJhZGRFdmVudExpc3RlbmVy
IiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiYWRkRXZlbnRMaXN0ZW5lciIsCi0g
ICAgICAgICAgICAgICAgImFyZ3VtZW50cyI6IFsKLSAgICAgICAgICAgICAgICAgICAgewotICAg
ICAgICAgICAgICAgICAgICAgICAgIm9wdGlvbmFsIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAidmFyaWFkaWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJkZWZh
dWx0IjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdLAotICAg
ICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgInR5cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJs
ZSI6IHRydWUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiRXZlbnRMaXN0ZW5lciIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAg
ICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJjYWxsYmFjayIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiY2FsbGJhY2siCi0gICAg
ICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgICJl
eHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJpbmhlcml0
YW5jZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgfQotXQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2ltcGxlbWVudHMuanNvbiBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50
YXgvanNvbi9pbXBsZW1lbnRzLmpzb24KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDE3
MzYxMThjZDkwLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vaW1wbGVt
ZW50cy5qc29uCisrKyAvZGV2L251bGwKQEAgLTEsMTEzICswLDAgQEAKLVsKLSAgICB7Ci0gICAg
ICAgICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAgICAgICJuYW1lIjogIk5vZGUiLAotICAgICAg
ICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFsKLSAgICAgICAgICAgIHsK
LSAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJz
dGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJyZWFkb25s
eSI6IHRydWUsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAg
ICAgICJ0eXBlIjogImF0dHJpYnV0ZS10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVy
aWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxU
eXBlIjogInVuc2lnbmVkIHNob3J0IiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjog
W10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogIm5vZGVUeXBl
IiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAibm9kZVR5cGUiLAotICAgICAgICAg
ICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAg
ICJpbmhlcml0YW5jZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgfSwKLSAg
ICB7Ci0gICAgICAgICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAgICAgICJuYW1lIjogIkV2ZW50
VGFyZ2V0IiwKLSAgICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJlcnMiOiBb
Ci0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAib3BlcmF0aW9uIiwKLSAg
ICAgICAgICAgICAgICAiZ2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInNldHRlciI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICJkZWxldGVyIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlw
ZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwK
LSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJ2b2lk
IiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9
LAotICAgICAgICAgICAgICAgICJuYW1lIjogImFkZEV2ZW50TGlzdGVuZXIiLAotICAgICAgICAg
ICAgICAgICJlc2NhcGVkTmFtZSI6ICJhZGRFdmVudExpc3RlbmVyIiwKLSAgICAgICAgICAgICAg
ICAiYXJndW1lbnRzIjogWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICAib3B0aW9uYWwiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ2YXJp
YWRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHQiOiBudWxsLAot
ICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10sCi0gICAgICAgICAgICAgICAg
ICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6
ICJhcmd1bWVudC10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6
IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiRE9NU3RyaW5nIiwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjogInR5cGUiLAotICAgICAgICAgICAgICAgICAg
ICAgICAgImVzY2FwZWROYW1lIjogInR5cGUiCi0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAg
ICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJvcHRpb25hbCI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgInZhcmlhZGljIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAiZGVmYXVsdCI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAiZXh0QXR0cnMiOiBbXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImFyZ3VtZW50LXR5cGUiLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlw
ZSI6ICJFdmVudExpc3RlbmVyIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0
cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJuYW1lIjogImxpc3RlbmVyIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJlc2NhcGVk
TmFtZSI6ICJsaXN0ZW5lciIKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAg
ICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIm9wdGlvbmFsIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAidmFyaWFkaWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICJkZWZhdWx0IjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRy
cyI6IFtdLAotICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlv
biI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogImJvb2xl
YW4iLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAg
ICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAidXNl
Q2FwdHVyZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAidXNlQ2Fw
dHVyZSIKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAg
ICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAg
ICAgImluaGVyaXRhbmNlIjogbnVsbCwKLSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9LAot
ICAgIHsKLSAgICAgICAgInR5cGUiOiAiaW1wbGVtZW50cyIsCi0gICAgICAgICJ0YXJnZXQiOiAi
Tm9kZSIsCi0gICAgICAgICJpbXBsZW1lbnRzIjogIkV2ZW50VGFyZ2V0IiwKLSAgICAgICAgImV4
dEF0dHJzIjogW10KLSAgICB9Ci1dCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24v
aW5kZXhlZC1wcm9wZXJ0aWVzLmpzb24gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vaW5kZXhlZC1w
cm9wZXJ0aWVzLmpzb24KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRjY2Q1MTFhZjk2
Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vaW5kZXhlZC1wcm9wZXJ0
aWVzLmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSwyODMgKzAsMCBAQAotWwotICAgIHsKLSAgICAg
ICAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUiOiAiT3JkZXJlZE1hcCIsCi0g
ICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJzIjogWwotICAgICAgICAg
ICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAg
ICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICJpbmhlcml0IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInJl
YWRvbmx5IjogdHJ1ZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAg
ICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAi
Z2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAg
ImlkbFR5cGUiOiAidW5zaWduZWQgbG9uZyIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRy
cyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJzaXpl
IiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAic2l6ZSIsCi0gICAgICAgICAgICAg
ICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAg
ICAgICAgICAgInR5cGUiOiAib3BlcmF0aW9uIiwKLSAgICAgICAgICAgICAgICAiZ2V0dGVyIjog
dHJ1ZSwKLSAgICAgICAgICAgICAgICAic2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ImRlbGV0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5
cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInJldHVybi10eXBlIiwKLSAgICAg
ICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVs
bGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgICAgICJpZGxUeXBlIjogImFueSIsCi0gICAgICAgICAgICAgICAgICAgICJl
eHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6
ICJnZXRCeUluZGV4IiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiZ2V0QnlJbmRl
eCIsCi0gICAgICAgICAgICAgICAgImFyZ3VtZW50cyI6IFsKLSAgICAgICAgICAgICAgICAgICAg
ewotICAgICAgICAgICAgICAgICAgICAgICAgIm9wdGlvbmFsIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAidmFyaWFkaWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJkZWZhdWx0IjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtd
LAotICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgInR5cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJu
dWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogInVuc2lnbmVkIGxv
bmciLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAg
ICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAiaW5k
ZXgiLAotICAgICAgICAgICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImluZGV4IgotICAg
ICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICAi
ZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAg
ICAgICAidHlwZSI6ICJvcGVyYXRpb24iLAotICAgICAgICAgICAgICAgICJnZXR0ZXIiOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAic2V0dGVyIjogdHJ1ZSwKLSAgICAgICAgICAgICAgICAiZGVs
ZXRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6
IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAicmV0dXJuLXR5cGUiLAotICAgICAgICAg
ICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJs
ZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAgICAgImlkbFR5cGUiOiAidm9pZCIsCi0gICAgICAgICAgICAgICAgICAgICJleHRB
dHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJz
ZXRCeUluZGV4IiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAic2V0QnlJbmRleCIs
Ci0gICAgICAgICAgICAgICAgImFyZ3VtZW50cyI6IFsKLSAgICAgICAgICAgICAgICAgICAgewot
ICAgICAgICAgICAgICAgICAgICAgICAgIm9wdGlvbmFsIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAidmFyaWFkaWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJk
ZWZhdWx0IjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdLAot
ICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgInR5cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJudWxs
YWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogInVuc2lnbmVkIGxvbmci
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAg
ICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAiaW5kZXgi
LAotICAgICAgICAgICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImluZGV4IgotICAgICAg
ICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICAib3B0aW9uYWwiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ2YXJp
YWRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHQiOiBudWxsLAot
ICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10sCi0gICAgICAgICAgICAgICAg
ICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6
ICJhcmd1bWVudC10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6
IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiYW55IiwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICJuYW1lIjogInZhbHVlIiwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJlc2NhcGVkTmFtZSI6ICJ2YWx1ZSIKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAg
ICAgICAgIF0sCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0s
Ci0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAib3BlcmF0aW9uIiwKLSAg
ICAgICAgICAgICAgICAiZ2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInNldHRlciI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICJkZWxldGVyIjogdHJ1ZSwKLSAgICAgICAgICAgICAg
ICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBl
IjogInJldHVybi10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAot
ICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAg
ICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogInZvaWQi
LAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0s
Ci0gICAgICAgICAgICAgICAgIm5hbWUiOiAicmVtb3ZlQnlJbmRleCIsCi0gICAgICAgICAgICAg
ICAgImVzY2FwZWROYW1lIjogInJlbW92ZUJ5SW5kZXgiLAotICAgICAgICAgICAgICAgICJhcmd1
bWVudHMiOiBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJvcHRpb25hbCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgInZhcmlhZGljIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdCI6IG51bGwsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImFyZ3Vt
ZW50LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAiaWRsVHlwZSI6ICJ1bnNpZ25lZCBsb25nIiwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJuYW1lIjogImluZGV4IiwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJlc2NhcGVkTmFtZSI6ICJpbmRleCIKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAg
ICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAg
IH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAib3BlcmF0aW9uIiwK
LSAgICAgICAgICAgICAgICAiZ2V0dGVyIjogdHJ1ZSwKLSAgICAgICAgICAgICAgICAic2V0dGVy
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImRlbGV0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0
eXBlIjogInJldHVybi10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxs
LAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogImFu
eSIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAg
fSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJnZXQiLAotICAgICAgICAgICAgICAgICJlc2Nh
cGVkTmFtZSI6ICJnZXQiLAotICAgICAgICAgICAgICAgICJhcmd1bWVudHMiOiBbCi0gICAgICAg
ICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJvcHRpb25hbCI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICAgICAgICAgInZhcmlhZGljIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAiZGVmYXVsdCI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAi
ZXh0QXR0cnMiOiBbXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImFyZ3VtZW50LXR5cGUiLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6
ICJET01TdHJpbmciLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtd
Ci0gICAgICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICAgICAgIm5h
bWUiOiAibmFtZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAibmFt
ZSIKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAg
ICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAg
ICAgICAgICAgICAgInR5cGUiOiAib3BlcmF0aW9uIiwKLSAgICAgICAgICAgICAgICAiZ2V0dGVy
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInNldHRlciI6IHRydWUsCi0gICAgICAgICAgICAg
ICAgImRlbGV0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlk
bFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInJldHVybi10eXBlIiwKLSAg
ICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAi
bnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogInZvaWQiLAotICAgICAgICAgICAgICAgICAg
ICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5h
bWUiOiAic2V0IiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAic2V0IiwKLSAgICAg
ICAgICAgICAgICAiYXJndW1lbnRzIjogWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAg
ICAgICAgICAgICAgICAgICAib3B0aW9uYWwiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJ2YXJpYWRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHQi
OiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10sCi0gICAgICAg
ICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAi
Z2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiRE9NU3RyaW5nIiwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAg
ICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjogIm5hbWUiLAotICAgICAgICAg
ICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogIm5hbWUiCi0gICAgICAgICAgICAgICAgICAg
IH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJvcHRp
b25hbCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgInZhcmlhZGljIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdCI6IG51bGwsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAiZXh0QXR0cnMiOiBbXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJpZGxU
eXBlIjogewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImFyZ3VtZW50LXR5
cGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAiaWRsVHlwZSI6ICJhbnkiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRy
cyI6IFtdCi0gICAgICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICAg
ICAgIm5hbWUiOiAidmFsdWUiLAotICAgICAgICAgICAgICAgICAgICAgICAgImVzY2FwZWROYW1l
IjogInZhbHVlIgotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXSwKLSAg
ICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAg
IHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJvcGVyYXRpb24iLAotICAgICAgICAgICAgICAg
ICJnZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic2V0dGVyIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgImRlbGV0ZXIiOiB0cnVlLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAicmV0dXJuLXR5
cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAg
ICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAidm9pZCIsCi0gICAgICAgICAg
ICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAg
ICAgICAibmFtZSI6ICJyZW1vdmUiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJy
ZW1vdmUiLAotICAgICAgICAgICAgICAgICJhcmd1bWVudHMiOiBbCi0gICAgICAgICAgICAgICAg
ICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJvcHRpb25hbCI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgInZhcmlhZGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAiZGVmYXVsdCI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMi
OiBbXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICJ0eXBlIjogImFyZ3VtZW50LXR5cGUiLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5pb24i
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJET01TdHJp
bmciLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAg
ICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAibmFt
ZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAibmFtZSIKLSAgICAg
ICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgImV4
dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImluaGVyaXRh
bmNlIjogbnVsbCwKLSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9Ci1dCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vaW5oZXJpdHMtZ2V0dGVyLmpzb24gYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
c3ludGF4L2pzb24vaW5oZXJpdHMtZ2V0dGVyLmpzb24KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDg2ZWI2OGUyNzBlLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pz
b24vaW5oZXJpdHMtZ2V0dGVyLmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSwxMDEgKzAsMCBAQAot
WwotICAgIHsKLSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUiOiAi
QW5pbWFsIiwKLSAgICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJlcnMiOiBb
Ci0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAg
ICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lm
aWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAicmVhZG9ubHkiOiB0cnVlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewot
ICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAgICAgICAg
ICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxl
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICAgICAiaWRsVHlwZSI6ICJET01TdHJpbmciLAotICAgICAgICAgICAgICAgICAgICAi
ZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUi
OiAibmFtZSIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogIm5hbWUiLAotICAgICAg
ICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAg
ICAgICJpbmhlcml0YW5jZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgfSwK
LSAgICB7Ci0gICAgICAgICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAgICAgICJuYW1lIjogIlBl
cnNvbiIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJzIjogWwot
ICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0gICAg
ICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmll
ciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpbmhlcml0IjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgInJlYWRvbmx5IjogdHJ1ZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAg
ICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlLXR5cGUiLAotICAgICAgICAgICAg
ICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAgICAgImlkbFR5cGUiOiAidW5zaWduZWQgc2hvcnQiLAotICAgICAgICAgICAgICAgICAg
ICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5h
bWUiOiAiYWdlIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiYWdlIiwKLSAgICAg
ICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsK
LSAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJz
dGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAiaW5oZXJpdCI6IHRydWUsCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAg
ICAgICJ0eXBlIjogImF0dHJpYnV0ZS10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVy
aWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxU
eXBlIjogIkRPTVN0cmluZyIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0g
ICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJuYW1lIiwKLSAgICAg
ICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAibmFtZSIsCi0gICAgICAgICAgICAgICAgImV4dEF0
dHJzIjogW10KLSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImluaGVyaXRhbmNl
IjogIkFuaW1hbCIsCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgfSwKLSAgICB7Ci0gICAg
ICAgICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAgICAgICJuYW1lIjogIkdob3N0IiwKLSAgICAg
ICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJlcnMiOiBbCi0gICAgICAgICAgICB7
Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAi
c3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgImluaGVyaXQiOiB0cnVlLAotICAgICAgICAgICAgICAgICJyZWFkb25s
eSI6IHRydWUsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAg
ICAgICJ0eXBlIjogImF0dHJpYnV0ZS10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVy
aWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxU
eXBlIjogIkRPTVN0cmluZyIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0g
ICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJuYW1lIiwKLSAgICAg
ICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAibmFtZSIsCi0gICAgICAgICAgICAgICAgImV4dEF0
dHJzIjogW10KLSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImluaGVyaXRhbmNl
IjogIlBlcnNvbiIsCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgfQotXQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2ludGVyZmFjZS1pbmhlcml0cy5qc29uIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3N5bnRheC9qc29uL2ludGVyZmFjZS1pbmhlcml0cy5qc29uCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMmNhZjM1ZjYwNS4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5
bnRheC9qc29uL2ludGVyZmFjZS1pbmhlcml0cy5qc29uCisrKyAvZGV2L251bGwKQEAgLTEsODMg
KzAsMCBAQAotWwotICAgIHsKLSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAg
Im5hbWUiOiAiQW5pbWFsIiwKLSAgICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1l
bWJlcnMiOiBbCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmli
dXRlIiwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
InN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAicmVhZG9ubHkiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRs
VHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlLXR5cGUiLAot
ICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAg
ICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiRE9NU3RyaW5nIiwKLSAgICAgICAgICAg
ICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAg
ICAgICJuYW1lIjogIm5hbWUiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJuYW1l
IiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfQotICAgICAg
ICBdLAotICAgICAgICAiaW5oZXJpdGFuY2UiOiBudWxsLAotICAgICAgICAiZXh0QXR0cnMiOiBb
XQotICAgIH0sCi0gICAgewotICAgICAgICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAi
bmFtZSI6ICJIdW1hbiIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1i
ZXJzIjogWwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0
ZSIsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJz
dHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpbmhlcml0IjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgInJlYWRvbmx5IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5
cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZS10eXBlIiwKLSAg
ICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAi
bnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogIkRvZyIsCi0gICAgICAgICAgICAgICAgICAg
ICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFt
ZSI6ICJwZXQiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJwZXQiLAotICAgICAg
ICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAg
ICAgICJpbmhlcml0YW5jZSI6ICJBbmltYWwiLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAg
IH0sCi0gICAgewotICAgICAgICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFtZSI6
ICJEb2ciLAotICAgICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFsK
LSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAg
ICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZp
ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICJyZWFkb25seSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewot
ICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAgICAgICAg
ICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxl
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICAgICAiaWRsVHlwZSI6ICJIdW1hbiIsCi0gICAgICAgICAgICAgICAgICAgICJleHRB
dHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJv
d25lciIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogIm93bmVyIiwKLSAgICAgICAg
ICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfQotICAgICAgICBdLAotICAgICAg
ICAiaW5oZXJpdGFuY2UiOiAiQW5pbWFsIiwKLSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9
Ci1dCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vaXRlcmFibGUuanNvbiBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC9zeW50YXgvanNvbi9pdGVyYWJsZS5qc29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCBlZTkwNmY3NWVhMi4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9q
c29uL2l0ZXJhYmxlLmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSw4NiArMCwwIEBACi1bCi0gICAg
ewotICAgICAgICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFtZSI6ICJJdGVyYWJs
ZU9uZSIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJzIjogWwot
ICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogIml0ZXJhYmxlIiwKLSAgICAg
ICAgICAgICAgICAiaWRsVHlwZSI6IFsKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAg
ICAgICAgICAgICAgICAgInR5cGUiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgImdl
bmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICJpZGxUeXBlIjogImxvbmciLAotICAgICAgICAgICAgICAgICAgICAgICAgImV4
dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0g
ICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0KLSAgICAgICAgXSwK
LSAgICAgICAgImluaGVyaXRhbmNlIjogbnVsbCwKLSAgICAgICAgImV4dEF0dHJzIjogW10KLSAg
ICB9LAotICAgIHsKLSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUi
OiAiSXRlcmFibGVUd28iLAotICAgICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVt
YmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJpdGVyYWJs
ZSIsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiBbCi0gICAgICAgICAgICAgICAgICAgIHsK
LSAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogbnVsbCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJs
ZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJzaG9ydCIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAg
ICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6IG51bGwsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAibnVsbGFibGUiOiB0cnVlLAotICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJkb3VibGUiLAotICAg
ICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAg
fQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAg
ICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImluaGVyaXRhbmNlIjogbnVsbCwKLSAg
ICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9LAotICAgIHsKLSAgICAgICAgInR5cGUiOiAiaW50
ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUiOiAiSXRlcmFibGVUaHJlZSIsCi0gICAgICAgICJwYXJ0
aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJzIjogWwotICAgICAgICAgICAgewotICAgICAg
ICAgICAgICAgICJ0eXBlIjogIml0ZXJhYmxlIiwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6
IFsKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUi
OiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAg
ICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjog
ImxvbmciLAotICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogWwotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5h
bWUiOiAiWEF0dHIiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYXJndW1lbnRz
IjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiZXh0ZW5k
ZWQtYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInJocyI6IG51
bGwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgICAg
ICBdCi0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAg
ICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAg
ICJpbmhlcml0YW5jZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgfQotXQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2l0ZXJhdG9yLmpzb24gYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvc3ludGF4L2pzb24vaXRlcmF0b3IuanNvbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggZjk2MDViODM0NTAuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9p
dGVyYXRvci5qc29uCisrKyAvZGV2L251bGwKQEAgLTEsMjc2ICswLDAgQEAKLVsKLSAgICB7Ci0g
ICAgICAgICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAgICAgICJuYW1lIjogIlNlc3Npb25NYW5h
Z2VyIiwKLSAgICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJlcnMiOiBbCi0g
ICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAib3BlcmF0aW9uIiwKLSAgICAg
ICAgICAgICAgICAiZ2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInNldHRlciI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICJkZWxldGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
InN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAic2VxdWVu
Y2UiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAg
ICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVu
aW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogIlNlc3Npb24iCi0g
ICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJnZXRTZXNzaW9uRm9y
VXNlciIsCi0gICAgICAgICAgICAgICAgImFyZ3VtZW50cyI6IFsKLSAgICAgICAgICAgICAgICAg
ICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIm9wdGlvbmFsIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAidmFyaWFkaWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJleHRBdHRycyI6IFtdLAotICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInNlcXVlbmNlIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjog
IkRPTVN0cmluZyIKLSAgICAgICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAg
ICAgICAgICAibmFtZSI6ICJ1c2VybmFtZSIKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAg
ICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAg
IH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwK
LSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmlu
Z2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAicmVhZG9ubHkiOiB0cnVlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjog
ewotICAgICAgICAgICAgICAgICAgICAic2VxdWVuY2UiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgICAgICJpZGxUeXBlIjogInVuc2lnbmVkIGxvbmciCi0gICAgICAgICAgICAgICAgfSwKLSAg
ICAgICAgICAgICAgICAibmFtZSI6ICJzZXNzaW9uQ291bnQiLAotICAgICAgICAgICAgICAgICJl
eHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAg
ICAgICJ0eXBlIjogIml0ZXJhdG9yIiwKLSAgICAgICAgICAgICAgICAiZ2V0dGVyIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgInNldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJkZWxl
dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjog
ewotICAgICAgICAgICAgICAgICAgICAic2VxdWVuY2UiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgICAgICJpZGxUeXBlIjogIlNlc3Npb24iCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAg
ICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfQotICAgICAgICBdLAotICAgICAg
ICAiaW5oZXJpdGFuY2UiOiBudWxsLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0sCi0g
ICAgewotICAgICAgICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFtZSI6ICJTZXNz
aW9uIiwKLSAgICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJlcnMiOiBbCi0g
ICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAgICAg
ICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVy
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAicmVhZG9ubHkiOiB0cnVlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAg
ICAgICAgICAgICAgICAgICAic2VxdWVuY2UiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAg
ImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAg
ICJpZGxUeXBlIjogIkRPTVN0cmluZyIKLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAg
ICAgICJuYW1lIjogInVzZXJuYW1lIiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQot
ICAgICAgICAgICAgfQotICAgICAgICBdLAotICAgICAgICAiaW5oZXJpdGFuY2UiOiBudWxsLAot
ICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0sCi0gICAgewotICAgICAgICAidHlwZSI6ICJp
bnRlcmZhY2UiLAotICAgICAgICAibmFtZSI6ICJTZXNzaW9uTWFuYWdlcjIiLAotICAgICAgICAi
cGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAg
ICAgICAgICAgICAgICAidHlwZSI6ICJvcGVyYXRpb24iLAotICAgICAgICAgICAgICAgICJnZXR0
ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgImRlbGV0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJzZXF1ZW5jZSI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJu
dWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiU2Vzc2lvbjIiCi0gICAgICAgICAgICAgICAg
fSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJnZXRTZXNzaW9uRm9yVXNlciIsCi0gICAgICAg
ICAgICAgICAgImFyZ3VtZW50cyI6IFsKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAg
ICAgICAgICAgICAgICAgIm9wdGlvbmFsIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAidmFyaWFkaWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6
IFtdLAotICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgInNlcXVlbmNlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJudWxs
YWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogIkRPTVN0cmluZyIKLSAg
ICAgICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6
ICJ1c2VybmFtZSIKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0g
ICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAg
ICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAg
ICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAicmVh
ZG9ubHkiOiB0cnVlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAg
ICAgICAgICAic2VxdWVuY2UiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMi
OiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBl
IjogInVuc2lnbmVkIGxvbmciCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAi
bmFtZSI6ICJzZXNzaW9uQ291bnQiLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0g
ICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogIml0
ZXJhdG9yIiwKLSAgICAgICAgICAgICAgICAiZ2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgInNldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJkZWxldGVyIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdp
ZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAg
ICAgICAgICAic2VxdWVuY2UiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMi
OiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBl
IjogIlNlc3Npb24yIgotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIml0ZXJh
dG9yT2JqZWN0IjogIlNlc3Npb25JdGVyYXRvciIsCi0gICAgICAgICAgICAgICAgImV4dEF0dHJz
IjogW10KLSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImluaGVyaXRhbmNlIjog
bnVsbCwKLSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9LAotICAgIHsKLSAgICAgICAgInR5
cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUiOiAiU2Vzc2lvbjIiLAotICAgICAgICAi
cGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAg
ICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJzdGF0
aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJyZWFkb25seSI6
IHRydWUsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAg
ICJzZXF1ZW5jZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGws
Ci0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiRE9N
U3RyaW5nIgotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAidXNl
cm5hbWUiLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9Ci0g
ICAgICAgIF0sCi0gICAgICAgICJpbmhlcml0YW5jZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRy
cyI6IFtdCi0gICAgfSwKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAg
ICAgICJuYW1lIjogIlNlc3Npb25JdGVyYXRvciIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFsc2Us
Ci0gICAgICAgICJtZW1iZXJzIjogWwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0
eXBlIjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpbmhl
cml0IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5IjogdHJ1ZSwKLSAgICAgICAg
ICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInNlcXVlbmNlIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAg
ICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJ1bnNpZ25lZCBsb25nIgotICAg
ICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAicmVtYWluaW5nU2Vzc2lv
bnMiLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAg
ICAgIF0sCi0gICAgICAgICJpbmhlcml0YW5jZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6
IFtdCi0gICAgfSwKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAgICAg
ICJuYW1lIjogIk5vZGVMaXN0IiwKLSAgICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAg
Im1lbWJlcnMiOiBbCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiaXRl
cmF0b3IiLAotICAgICAgICAgICAgICAgICJnZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAic2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImRlbGV0ZXIiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lm
aWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAg
ICAgICAgICJzZXF1ZW5jZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6
IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUi
OiAiTm9kZSIKLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJpdGVyYXRvck9i
amVjdCI6ICJOb2RlSXRlcmF0b3IiLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0g
ICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJpbmhlcml0YW5jZSI6IG51bGwsCi0g
ICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgfSwKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImlu
dGVyZmFjZSIsCi0gICAgICAgICJuYW1lIjogIk5vZGVJdGVyYXRvciIsCi0gICAgICAgICJwYXJ0
aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJzIjogWwotICAgICAgICAgICAgewotICAgICAg
ICAgICAgICAgICJ0eXBlIjogIml0ZXJhdG9yIiwKLSAgICAgICAgICAgICAgICAiZ2V0dGVyIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgInNldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICJkZWxldGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxU
eXBlIjogewotICAgICAgICAgICAgICAgICAgICAic2VxdWVuY2UiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFi
bGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgICAgICJpZGxUeXBlIjogIk5vZGUiCi0gICAgICAgICAgICAgICAgfSwKLSAgICAg
ICAgICAgICAgICAiaXRlcmF0b3JPYmplY3QiOiAib2JqZWN0IiwKLSAgICAgICAgICAgICAgICAi
ZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfQotICAgICAgICBdLAotICAgICAgICAiaW5oZXJp
dGFuY2UiOiBudWxsLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0KLV0KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9sZWdhY3lpdGVyYWJsZS5qc29uIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3N5bnRheC9qc29uL2xlZ2FjeWl0ZXJhYmxlLmpzb24KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDgwZmQwMDBhODQ5Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pz
b24vbGVnYWN5aXRlcmFibGUuanNvbgorKysgL2Rldi9udWxsCkBAIC0xLDI1ICswLDAgQEAKLVsK
LSAgICB7Ci0gICAgICAgICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAgICAgICJuYW1lIjogIkxl
Z2FjeUl0ZXJhYmxlIiwKLSAgICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJl
cnMiOiBbCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAibGVnYWN5aXRl
cmFibGUiLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogWwotICAgICAgICAgICAgICAgICAg
ICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6IG51bGwsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAibnVs
bGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAibG9uZyIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAg
ICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAg
fQotICAgICAgICBdLAotICAgICAgICAiaW5oZXJpdGFuY2UiOiBudWxsLAotICAgICAgICAiZXh0
QXR0cnMiOiBbXQotICAgIH0KLV0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9t
YXBsaWtlLmpzb24gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vbWFwbGlrZS5qc29uCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyY2I4YzM2MGVlMy4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L3N5bnRheC9qc29uL21hcGxpa2UuanNvbgorKysgL2Rldi9udWxsCkBAIC0xLDExMiAr
MCwwIEBACi1bCi0gICAgewotICAgICAgICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAi
bmFtZSI6ICJNYXBMaWtlIiwKLSAgICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1l
bWJlcnMiOiBbCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAibWFwbGlr
ZSIsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiBbCi0gICAgICAgICAgICAgICAgICAgIHsK
LSAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogbnVsbCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJs
ZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJsb25nIiwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAg
ICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogbnVsbCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJmbG9hdCIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICB9
Ci0gICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICAicmVhZG9ubHkiOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfQotICAgICAgICBd
LAotICAgICAgICAiaW5oZXJpdGFuY2UiOiBudWxsLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQot
ICAgIH0sCi0gICAgewotICAgICAgICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFt
ZSI6ICJSZWFkT25seU1hcExpa2UiLAotICAgICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAg
ICAibWVtYmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJt
YXBsaWtlIiwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IFsKLSAgICAgICAgICAgICAgICAg
ICAgewotICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiBudWxsLAotICAgICAgICAgICAg
ICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgIm51
bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogImxvbmciLAotICAgICAgICAgICAg
ICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAg
ICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiBudWxsLAot
ICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAg
ICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAidW5p
b24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogImZsb2F0IiwK
LSAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAg
ICAgIH0KLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgICJyZWFkb25seSI6IHRy
dWUsCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0KLSAgICAg
ICAgXSwKLSAgICAgICAgImluaGVyaXRhbmNlIjogbnVsbCwKLSAgICAgICAgImV4dEF0dHJzIjog
W10KLSAgICB9LAotICAgIHsKLSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAg
Im5hbWUiOiAiSSIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJz
IjogWwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogIm1hcGxpa2UiLAot
ICAgICAgICAgICAgICAgICJpZGxUeXBlIjogWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICAidHlwZSI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiRE9NU3RyaW5nIiwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICJleHRBdHRycyI6IFsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjogIlhBdHRyMiIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJhcmd1bWVudHMiOiBudWxsLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAidHlwZSI6ICJleHRlbmRlZC1hdHRyaWJ1dGUiLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAicmhzIjogbnVsbAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAgICAgIF0KLSAgICAgICAgICAgICAgICAgICAg
fSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUi
OiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAg
ICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjog
ImxvbmciLAotICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogWwotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5h
bWUiOiAiWEF0dHIzIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImFyZ3VtZW50
cyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImV4dGVu
ZGVkLWF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyaHMiOiBu
dWxsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICAgICAg
ICAgXQotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXSwKLSAgICAgICAg
ICAgICAgICAicmVhZG9ubHkiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBb
XQotICAgICAgICAgICAgfQotICAgICAgICBdLAotICAgICAgICAiaW5oZXJpdGFuY2UiOiBudWxs
LAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0KLV0KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC9zeW50YXgvanNvbi9taXhpbi5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL21peGluLmpz
b24KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGIwMzdjYjM1Nzc5Li4wMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vbWl4aW4uanNvbgorKysgL2Rldi9udWxsCkBA
IC0xLDY2ICswLDAgQEAKLVsKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImludGVyZmFjZSBtaXhp
biIsCi0gICAgICAgICJuYW1lIjogIkdsb2JhbENyeXB0byIsCi0gICAgICAgICJwYXJ0aWFsIjog
ZmFsc2UsCi0gICAgICAgICJtZW1iZXJzIjogWwotICAgICAgICAgICAgewotICAgICAgICAgICAg
ICAgICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICJpbmhlcml0IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5IjogdHJ1ZSwKLSAg
ICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAi
YXR0cmlidXRlLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0g
ICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAg
ICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiQ3J5cHRv
IiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9
LAotICAgICAgICAgICAgICAgICJuYW1lIjogImNyeXB0byIsCi0gICAgICAgICAgICAgICAgImVz
Y2FwZWROYW1lIjogImNyeXB0byIsCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAg
ICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9LAot
ICAgIHsKLSAgICAgICAgInR5cGUiOiAiaW5jbHVkZXMiLAotICAgICAgICAidGFyZ2V0IjogIldp
bmRvdyIsCi0gICAgICAgICJpbmNsdWRlcyI6ICJHbG9iYWxDcnlwdG8iLAotICAgICAgICAiZXh0
QXR0cnMiOiBbXQotICAgIH0sCi0gICAgewotICAgICAgICAidHlwZSI6ICJpbmNsdWRlcyIsCi0g
ICAgICAgICJ0YXJnZXQiOiAiV29ya2VyR2xvYmFsU2NvcGUiLAotICAgICAgICAiaW5jbHVkZXMi
OiAiR2xvYmFsQ3J5cHRvIiwKLSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9LAotICAgIHsK
LSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIG1peGluIiwKLSAgICAgICAgIm5hbWUiOiAiV2lu
ZG93T3JXb3JrZXJHbG9iYWxTY29wZSIsCi0gICAgICAgICJwYXJ0aWFsIjogdHJ1ZSwKLSAgICAg
ICAgIm1lbWJlcnMiOiBbCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAi
YXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImluaGVyaXQiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAicmVhZG9ubHkiOiB0cnVlLAotICAgICAgICAgICAgICAg
ICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlw
ZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAg
ICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJDcnlwdG8iLAotICAgICAgICAg
ICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAg
ICAgICAgIm5hbWUiOiAiY3J5cHRvIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAi
Y3J5cHRvIiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfQot
ICAgICAgICBdLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0KLV0KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC9zeW50YXgvanNvbi9uYW1lZGNvbnN0cnVjdG9yLmpzb24gYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
c3ludGF4L2pzb24vbmFtZWRjb25zdHJ1Y3Rvci5qc29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCBkZWI0MjllOTg2ZS4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9q
c29uL25hbWVkY29uc3RydWN0b3IuanNvbgorKysgL2Rldi9udWxsCkBAIC0xLDQ2ICswLDAgQEAK
LVsKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAgICAgICJuYW1lIjog
IkhUTUxBdWRpb0VsZW1lbnQiLAotICAgICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAi
bWVtYmVycyI6IFtdLAotICAgICAgICAiaW5oZXJpdGFuY2UiOiAiSFRNTE1lZGlhRWxlbWVudCIs
Ci0gICAgICAgICJleHRBdHRycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAi
bmFtZSI6ICJOYW1lZENvbnN0cnVjdG9yIiwKLSAgICAgICAgICAgICAgICAiYXJndW1lbnRzIjog
bnVsbCwKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJleHRlbmRlZC1hdHRyaWJ1dGUiLAotICAg
ICAgICAgICAgICAgICJyaHMiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImlkZW50
aWZpZXIiLAotICAgICAgICAgICAgICAgICAgICAidmFsdWUiOiAiQXVkaW8iCi0gICAgICAgICAg
ICAgICAgfQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAi
bmFtZSI6ICJOYW1lZENvbnN0cnVjdG9yIiwKLSAgICAgICAgICAgICAgICAiYXJndW1lbnRzIjog
WwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAib3B0aW9u
YWwiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ2YXJpYWRpYyI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHQiOiBudWxsLAotICAgICAgICAgICAgICAg
ICAgICAgICAgImV4dEF0dHJzIjogW10sCi0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlw
ZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBl
IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ImlkbFR5cGUiOiAiRE9NU3RyaW5nIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0
QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICJuYW1lIjogInNyYyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXNjYXBlZE5h
bWUiOiAic3JjIgotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXSwKLSAg
ICAgICAgICAgICAgICAidHlwZSI6ICJleHRlbmRlZC1hdHRyaWJ1dGUiLAotICAgICAgICAgICAg
ICAgICJyaHMiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImlkZW50aWZpZXIiLAot
ICAgICAgICAgICAgICAgICAgICAidmFsdWUiOiAiQXVkaW8iCi0gICAgICAgICAgICAgICAgfQot
ICAgICAgICAgICAgfQotICAgICAgICBdCi0gICAgfQotXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3N5bnRheC9qc29uL25hbWVzcGFjZS5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL25hbWVz
cGFjZS5qc29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5ZTM3YjI2ZmE2NS4uMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL25hbWVzcGFjZS5qc29uCisrKyAv
ZGV2L251bGwKQEAgLTEsMTQxICswLDAgQEAKLVsKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogIm5h
bWVzcGFjZSIsCi0gICAgICAgICJuYW1lIjogIlZlY3RvclV0aWxzIiwKLSAgICAgICAgInBhcnRp
YWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJlcnMiOiBbCi0gICAgICAgICAgICB7Ci0gICAgICAg
ICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAic3RhdGljIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAicmVhZG9ubHkiOiB0cnVl
LAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlw
ZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVs
bCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJW
ZWN0b3IiLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAg
ICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAidW5pdCIsCi0gICAgICAgICAgICAgICAg
ImVzY2FwZWROYW1lIjogInVuaXQiLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0g
ICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogIm9w
ZXJhdGlvbiIsCi0gICAgICAgICAgICAgICAgImdldHRlciI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICJzZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiZGVsZXRlciI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5n
aWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAg
ICAgICAgICAgInR5cGUiOiAicmV0dXJuLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2Vu
ZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlk
bFR5cGUiOiAiZG91YmxlIiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAg
ICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogImRvdFByb2R1Y3QiLAot
ICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJkb3RQcm9kdWN0IiwKLSAgICAgICAgICAg
ICAgICAiYXJndW1lbnRzIjogWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICAib3B0aW9uYWwiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ2
YXJpYWRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHQiOiBudWxs
LAotICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10sCi0gICAgICAgICAgICAg
ICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlw
ZSI6ICJhcmd1bWVudC10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJp
YyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiVmVjdG9yIiwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjogIngiLAotICAgICAgICAgICAgICAgICAgICAg
ICAgImVzY2FwZWROYW1lIjogIngiCi0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAg
ICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJvcHRpb25hbCI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgInZhcmlhZGljIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAiZGVmYXVsdCI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXh0
QXR0cnMiOiBbXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImFyZ3VtZW50LXR5cGUiLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAi
dW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJW
ZWN0b3IiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAg
ICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAi
eSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAieSIKLSAgICAgICAg
ICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgImV4dEF0
dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAg
InR5cGUiOiAib3BlcmF0aW9uIiwKLSAgICAgICAgICAgICAgICAiZ2V0dGVyIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgInNldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJkZWxldGVy
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewot
ICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAgICAgICAgICAg
ICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICAgICAiaWRsVHlwZSI6ICJWZWN0b3IiLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0
cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiY3Jv
c3NQcm9kdWN0IiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiY3Jvc3NQcm9kdWN0
IiwKLSAgICAgICAgICAgICAgICAiYXJndW1lbnRzIjogWwotICAgICAgICAgICAgICAgICAgICB7
Ci0gICAgICAgICAgICAgICAgICAgICAgICAib3B0aW9uYWwiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJ2YXJpYWRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ImRlZmF1bHQiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10s
Ci0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51
bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiVmVjdG9yIiwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAg
ICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjogIngiLAotICAgICAg
ICAgICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogIngiCi0gICAgICAgICAgICAgICAgICAg
IH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJvcHRp
b25hbCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgInZhcmlhZGljIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdCI6IG51bGwsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAiZXh0QXR0cnMiOiBbXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJpZGxU
eXBlIjogewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImFyZ3VtZW50LXR5
cGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAiaWRsVHlwZSI6ICJWZWN0b3IiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHRB
dHRycyI6IFtdCi0gICAgICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAg
ICAgICAgIm5hbWUiOiAieSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUi
OiAieSIKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAg
ICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAg
ICAgImV4dEF0dHJzIjogW10KLSAgICB9LAotICAgIHsKLSAgICAgICAgInR5cGUiOiAibmFtZXNw
YWNlIiwKLSAgICAgICAgIm5hbWUiOiAiU29tZU5hbWVzcGFjZSIsCi0gICAgICAgICJwYXJ0aWFs
IjogdHJ1ZSwKLSAgICAgICAgIm1lbWJlcnMiOiBbXSwKLSAgICAgICAgImV4dEF0dHJzIjogW10K
LSAgICB9Ci1dCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vbm9pbnRlcmZhY2Vv
YmplY3QuanNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9ub2ludGVyZmFjZW9iamVjdC5qc29u
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjYWZiNWUwZTE1Ni4uMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL25vaW50ZXJmYWNlb2JqZWN0Lmpzb24KKysrIC9k
ZXYvbnVsbApAQCAtMSw1NSArMCwwIEBACi1bCi0gICAgewotICAgICAgICAidHlwZSI6ICJpbnRl
cmZhY2UiLAotICAgICAgICAibmFtZSI6ICJRdWVyeSIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFs
c2UsCi0gICAgICAgICJtZW1iZXJzIjogWwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAg
ICJ0eXBlIjogIm9wZXJhdGlvbiIsCi0gICAgICAgICAgICAgICAgImdldHRlciI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICJzZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiZGVsZXRl
ciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsK
LSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAicmV0dXJuLXR5cGUiLAotICAgICAgICAgICAg
ICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAgICAgImlkbFR5cGUiOiAiYW55IiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJz
IjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogImxvb2t1
cEVudHJ5IiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAibG9va3VwRW50cnkiLAot
ICAgICAgICAgICAgICAgICJhcmd1bWVudHMiOiBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJvcHRpb25hbCI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgInZhcmlhZGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZGVm
YXVsdCI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICJ0eXBlIjogImFyZ3VtZW50LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFi
bGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJ1bnNpZ25lZCBsb25nIiwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAg
ICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjogImtleSIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAia2V5IgotICAgICAgICAgICAg
ICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMi
OiBbXQotICAgICAgICAgICAgfQotICAgICAgICBdLAotICAgICAgICAiaW5oZXJpdGFuY2UiOiBu
dWxsLAotICAgICAgICAiZXh0QXR0cnMiOiBbCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAg
ICAgIm5hbWUiOiAiTm9JbnRlcmZhY2VPYmplY3QiLAotICAgICAgICAgICAgICAgICJhcmd1bWVu
dHMiOiBudWxsLAotICAgICAgICAgICAgICAgICJ0eXBlIjogImV4dGVuZGVkLWF0dHJpYnV0ZSIs
Ci0gICAgICAgICAgICAgICAgInJocyI6IG51bGwKLSAgICAgICAgICAgIH0KLSAgICAgICAgXQot
ICAgIH0KLV0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9udWxsYWJsZS5qc29u
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL251bGxhYmxlLmpzb24KZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IGYzMjVlMmVhYjdiLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3lu
dGF4L2pzb24vbnVsbGFibGUuanNvbgorKysgL2Rldi9udWxsCkBAIC0xLDU2ICswLDAgQEAKLVsK
LSAgICB7Ci0gICAgICAgICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAgICAgICJuYW1lIjogIk15
Q29uc3RhbnRzIiwKLSAgICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJlcnMi
OiBbCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiY29uc3QiLAotICAg
ICAgICAgICAgICAgICJudWxsYWJsZSI6IHRydWUsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUi
OiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImNvbnN0LXR5cGUiLAotICAgICAgICAg
ICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJs
ZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAgICAgImlkbFR5cGUiOiAiYm9vbGVhbiIsCi0gICAgICAgICAgICAgICAgICAgICJl
eHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6
ICJBUkVfV0VfVEhFUkVfWUVUIiwKLSAgICAgICAgICAgICAgICAidmFsdWUiOiB7Ci0gICAgICAg
ICAgICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAotICAgICAgICAgICAgICAgICAgICAidmFs
dWUiOiBmYWxzZQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgImV4dEF0dHJz
IjogW10KLSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImluaGVyaXRhbmNlIjog
bnVsbCwKLSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9LAotICAgIHsKLSAgICAgICAgInR5
cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUiOiAiTm9kZSIsCi0gICAgICAgICJwYXJ0
aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJzIjogWwotICAgICAgICAgICAgewotICAgICAg
ICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICJpbmhlcml0IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5IjogdHJ1
ZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5
cGUiOiAiYXR0cmlidXRlLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51
bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IHRydWUsCi0gICAgICAgICAgICAg
ICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJE
T01TdHJpbmciLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAg
ICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAibmFtZXNwYWNlVVJJIiwKLSAgICAg
ICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAibmFtZXNwYWNlVVJJIiwKLSAgICAgICAgICAgICAg
ICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfQotICAgICAgICBdLAotICAgICAgICAiaW5o
ZXJpdGFuY2UiOiBudWxsLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0KLV0KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9udWxsYWJsZW9iamVjdHMuanNvbiBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC9zeW50YXgvanNvbi9udWxsYWJsZW9iamVjdHMuanNvbgpkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMjdlY2QyNWQzNjMuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50
YXgvanNvbi9udWxsYWJsZW9iamVjdHMuanNvbgorKysgL2Rldi9udWxsCkBAIC0xLDEwMSArMCww
IEBACi1bCi0gICAgewotICAgICAgICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFt
ZSI6ICJBIiwKLSAgICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJlcnMiOiBb
XSwKLSAgICAgICAgImluaGVyaXRhbmNlIjogbnVsbCwKLSAgICAgICAgImV4dEF0dHJzIjogW10K
LSAgICB9LAotICAgIHsKLSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5h
bWUiOiAiQiIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJzIjog
W10sCi0gICAgICAgICJpbmhlcml0YW5jZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6IFtd
Ci0gICAgfSwKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAgICAgICJu
YW1lIjogIkMiLAotICAgICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6
IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJvcGVyYXRpb24iLAot
ICAgICAgICAgICAgICAgICJnZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic2V0dGVy
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImRlbGV0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0
eXBlIjogInJldHVybi10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxs
LAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogInZv
aWQiLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAg
IH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiZiIsCi0gICAgICAgICAgICAgICAgImVzY2Fw
ZWROYW1lIjogImYiLAotICAgICAgICAgICAgICAgICJhcmd1bWVudHMiOiBbCi0gICAgICAgICAg
ICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJvcHRpb25hbCI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgInZhcmlhZGljIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAiZGVmYXVsdCI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXh0
QXR0cnMiOiBbXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImFyZ3VtZW50LXR5cGUiLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAibnVsbGFibGUiOiB0cnVlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1
bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogIkEi
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAg
ICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAieCIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAieCIKLSAgICAgICAgICAgICAg
ICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjog
W10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUi
OiAib3BlcmF0aW9uIiwKLSAgICAgICAgICAgICAgICAiZ2V0dGVyIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgInNldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJkZWxldGVyIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJz
dHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAg
ICAgICAgICAgICAgICAidHlwZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAgICAgICAgICAgICAgICAg
ICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAg
ICAiaWRsVHlwZSI6ICJ2b2lkIiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10K
LSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogImYiLAotICAgICAg
ICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJmIiwKLSAgICAgICAgICAgICAgICAiYXJndW1lbnRz
IjogWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAib3B0
aW9uYWwiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ2YXJpYWRpYyI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHQiOiBudWxsLAotICAgICAgICAgICAg
ICAgICAgICAgICAgImV4dEF0dHJzIjogW10sCi0gICAgICAgICAgICAgICAgICAgICAgICAiaWRs
VHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10
eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogdHJ1ZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAiaWRsVHlwZSI6ICJCIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMi
OiBbXQotICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJuYW1lIjogIngiLAotICAgICAgICAgICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogIngi
Ci0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAg
ICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJp
bmhlcml0YW5jZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgfQotXQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL29wZXJhdGlvbi1vcHRpb25hbC1hcmcuanNv
biBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9vcGVyYXRpb24tb3B0aW9uYWwtYXJnLmpzb24KZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDRiNzQzNmJhNWJhLi4wMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vb3BlcmF0aW9uLW9wdGlvbmFsLWFyZy5qc29uCisrKyAv
ZGV2L251bGwKQEAgLTEsOTkgKzAsMCBAQAotWwotICAgIHsKLSAgICAgICAgInR5cGUiOiAiaW50
ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUiOiAiQ29sb3JDcmVhdG9yIiwKLSAgICAgICAgInBhcnRp
YWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJlcnMiOiBbCi0gICAgICAgICAgICB7Ci0gICAgICAg
ICAgICAgICAgInR5cGUiOiAib3BlcmF0aW9uIiwKLSAgICAgICAgICAgICAgICAiZ2V0dGVyIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgInNldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICJkZWxldGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxU
eXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAg
ICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51
bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJvYmplY3QiLAotICAgICAgICAgICAgICAgICAg
ICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5h
bWUiOiAiY3JlYXRlQ29sb3IiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJjcmVh
dGVDb2xvciIsCi0gICAgICAgICAgICAgICAgImFyZ3VtZW50cyI6IFsKLSAgICAgICAgICAgICAg
ICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIm9wdGlvbmFsIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAidmFyaWFkaWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICJkZWZhdWx0IjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRy
cyI6IFtdLAotICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlv
biI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogImZsb2F0
IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAg
ICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjogInYxIiwK
LSAgICAgICAgICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJ2MSIKLSAgICAgICAgICAg
ICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAg
ICAgIm9wdGlvbmFsIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAidmFyaWFkaWMi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0IjogbnVsbCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdLAotICAgICAgICAgICAgICAgICAgICAg
ICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXJn
dW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxs
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJpZGxUeXBlIjogImZsb2F0IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJuYW1lIjogInYyIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJlc2Nh
cGVkTmFtZSI6ICJ2MiIKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAg
ICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIm9wdGlvbmFsIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAidmFyaWFkaWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJkZWZhdWx0IjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6
IFtdLAotICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgInR5cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogImZsb2F0IiwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAg
ICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjogInYzIiwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJ2MyIKLSAgICAgICAgICAgICAg
ICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAg
Im9wdGlvbmFsIjogdHJ1ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ2YXJpYWRpYyI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHQiOiB7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgInR5cGUiOiAibnVtYmVyIiwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAidmFsdWUiOiAiMy41IgotICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdLAotICAgICAgICAgICAgICAgICAgICAgICAg
ImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXJndW1l
bnQtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICJpZGxUeXBlIjogImZsb2F0IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAi
ZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICJuYW1lIjogImFscGhhIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJlc2Nh
cGVkTmFtZSI6ICJhbHBoYSIKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAg
IF0sCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0KLSAgICAg
ICAgXSwKLSAgICAgICAgImluaGVyaXRhbmNlIjogbnVsbCwKLSAgICAgICAgImV4dEF0dHJzIjog
W10KLSAgICB9Ci1dCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vb3ZlcmxvYWRp
bmcuanNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9vdmVybG9hZGluZy5qc29uCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiZjdhY2E2Y2RlMy4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L3N5bnRheC9qc29uL292ZXJsb2FkaW5nLmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSwz
MjggKzAsMCBAQAotWwotICAgIHsKLSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAg
ICAgIm5hbWUiOiAiQSIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1i
ZXJzIjogW10sCi0gICAgICAgICJpbmhlcml0YW5jZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRy
cyI6IFtdCi0gICAgfSwKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAg
ICAgICJuYW1lIjogIkIiLAotICAgICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVt
YmVycyI6IFtdLAotICAgICAgICAiaW5oZXJpdGFuY2UiOiBudWxsLAotICAgICAgICAiZXh0QXR0
cnMiOiBbXQotICAgIH0sCi0gICAgewotICAgICAgICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAg
ICAgICAibmFtZSI6ICJDIiwKLSAgICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1l
bWJlcnMiOiBbCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAib3BlcmF0
aW9uIiwKLSAgICAgICAgICAgICAgICAiZ2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
InNldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJkZWxldGVyIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmll
ciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAg
ICAgICAidHlwZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmlj
IjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlw
ZSI6ICJ2b2lkIiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAg
ICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogImYiLAotICAgICAgICAgICAgICAg
ICJlc2NhcGVkTmFtZSI6ICJmIiwKLSAgICAgICAgICAgICAgICAiYXJndW1lbnRzIjogWwotICAg
ICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAib3B0aW9uYWwiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ2YXJpYWRpYyI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgImRlZmF1bHQiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAg
ICAgImV4dEF0dHJzIjogW10sCi0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5
cGUiOiAiQSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAg
ICAgICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6
ICJ4IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJ4IgotICAgICAg
ICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICAiZXh0
QXR0cnMiOiBbXQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAg
ICAidHlwZSI6ICJvcGVyYXRpb24iLAotICAgICAgICAgICAgICAgICJnZXR0ZXIiOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAic2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImRlbGV0
ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7
Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInJldHVybi10eXBlIiwKLSAgICAgICAgICAg
ICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgICAgICJpZGxUeXBlIjogInZvaWQiLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0
cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiZiIs
Ci0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImYiLAotICAgICAgICAgICAgICAgICJh
cmd1bWVudHMiOiBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJvcHRpb25hbCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgInZhcmlhZGlj
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdCI6IG51bGwsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImFy
Z3VtZW50LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVs
bCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAiaWRsVHlwZSI6ICJCIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAi
ZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICJuYW1lIjogIngiLAotICAgICAgICAgICAgICAgICAgICAgICAgImVzY2FwZWRO
YW1lIjogIngiCi0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdLAotICAg
ICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0g
ICAgICAgICJpbmhlcml0YW5jZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0gICAg
fSwKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAgICAgICJuYW1lIjog
IkQiLAotICAgICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFsKLSAg
ICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJvcGVyYXRpb24iLAotICAgICAg
ICAgICAgICAgICJnZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic2V0dGVyIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgImRlbGV0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAi
c3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjog
InJldHVybi10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAg
ICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAg
InVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogInZvaWQiLAot
ICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0g
ICAgICAgICAgICAgICAgIm5hbWUiOiAiZiIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1l
IjogImYiLAotICAgICAgICAgICAgICAgICJhcmd1bWVudHMiOiBbCi0gICAgICAgICAgICAgICAg
ICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJvcHRpb25hbCI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgInZhcmlhZGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAiZGVmYXVsdCI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMi
OiBbXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICJ0eXBlIjogImFyZ3VtZW50LXR5cGUiLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5pb24i
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJET01TdHJp
bmciLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAg
ICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAiYSIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiYSIKLSAgICAgICAgICAg
ICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgImV4dEF0dHJz
IjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5
cGUiOiAib3BlcmF0aW9uIiwKLSAgICAgICAgICAgICAgICAiZ2V0dGVyIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgInNldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJkZWxldGVyIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAg
ICAgICAgICAgICAgICAgICAidHlwZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAgICAgICAgICAgICAg
ICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICAgICAiaWRsVHlwZSI6ICJ2b2lkIiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjog
W10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogImYiLAotICAg
ICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJmIiwKLSAgICAgICAgICAgICAgICAiYXJndW1l
bnRzIjogWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAi
b3B0aW9uYWwiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ2YXJpYWRpYyI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHQiOiBudWxsLAotICAgICAgICAg
ICAgICAgICAgICAgICAgImV4dEF0dHJzIjogWwotICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAiQWxsb3dBbnkiLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYXJndW1lbnRzIjogbnVsbCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiZXh0ZW5kZWQtYXR0cmlidXRlIiwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInJocyI6IG51bGwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgICAgICBdLAotICAgICAgICAg
ICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
InR5cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImdl
bmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogIkRPTVN0cmluZyIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgICAg
IH0sCi0gICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJhIiwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJhIgotICAgICAgICAgICAgICAgICAgICB9LAotICAg
ICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAib3B0aW9uYWwiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ2YXJpYWRpYyI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgImRlZmF1bHQiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAg
ICAgImV4dEF0dHJzIjogW10sCi0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5
cGUiOiAiRE9NU3RyaW5nIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMi
OiBbXQotICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJuYW1lIjogImIiLAotICAgICAgICAgICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImIi
Ci0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAg
ICAgICAgICAgICAgICAgICJvcHRpb25hbCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgInZhcmlhZGljIjogdHJ1ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0Ijog
bnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdLAotICAgICAgICAg
ICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
InR5cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImdl
bmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogImZsb2F0IiwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAgICAgfSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjogImMiLAotICAgICAgICAgICAgICAgICAg
ICAgICAgImVzY2FwZWROYW1lIjogImMiCi0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAg
ICAgICAgICBdLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9
LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogIm9wZXJhdGlvbiIsCi0g
ICAgICAgICAgICAgICAgImdldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzZXR0ZXIi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiZGVsZXRlciI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5
cGUiOiAicmV0dXJuLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGws
Ci0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAidm9p
ZCIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAg
fSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJmIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBl
ZE5hbWUiOiAiZiIsCi0gICAgICAgICAgICAgICAgImFyZ3VtZW50cyI6IFtdLAotICAgICAgICAg
ICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAg
ICAgICAgICAgICAgICJ0eXBlIjogIm9wZXJhdGlvbiIsCi0gICAgICAgICAgICAgICAgImdldHRl
ciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAiZGVsZXRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAi
aWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAicmV0dXJuLXR5cGUiLAot
ICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAg
ICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAidm9pZCIsCi0gICAgICAgICAgICAgICAg
ICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAi
bmFtZSI6ICJmIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiZiIsCi0gICAgICAg
ICAgICAgICAgImFyZ3VtZW50cyI6IFsKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAg
ICAgICAgICAgICAgICAgIm9wdGlvbmFsIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAidmFyaWFkaWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0Ijog
bnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdLAotICAgICAgICAg
ICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
InR5cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImdl
bmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogImxvbmciLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgICAgICAgICB9LAot
ICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAiYSIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAiZXNjYXBlZE5hbWUiOiAiYSIKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAg
ICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIm9wdGlvbmFsIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgICAgICAgICAidmFyaWFkaWMiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJkZWZhdWx0IjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJl
eHRBdHRycyI6IFtdLAotICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjog
IkRPTVN0cmluZyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10K
LSAgICAgICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgICAgICAibmFt
ZSI6ICJiIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJiIgotICAg
ICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICAib3B0aW9uYWwiOiB0cnVlLAotICAgICAgICAgICAgICAgICAgICAgICAgInZh
cmlhZGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdCI6IG51bGws
Ci0gICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBl
IjogImFyZ3VtZW50LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmlj
IjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJET01TdHJpbmciLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgICAgICAgICB9LAot
ICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAiYyIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAiZXNjYXBlZE5hbWUiOiAiYyIKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAg
ICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIm9wdGlvbmFsIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgICAgICAgICAidmFyaWFkaWMiOiB0cnVlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgImRlZmF1bHQiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgImV4
dEF0dHJzIjogW10sCi0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
InVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAi
ZmxvYXQiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAg
ICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAi
ZCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiZCIKLSAgICAgICAg
ICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgImV4dEF0
dHJzIjogW10KLSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImluaGVyaXRhbmNl
IjogbnVsbCwKLSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9Ci1dCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3Qvc3ludGF4L2pzb24vb3ZlcnJpZGVidWlsdGlucy5qc29uIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5
bnRheC9qc29uL292ZXJyaWRlYnVpbHRpbnMuanNvbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggZTU0YTQ2OGViOTguLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNv
bi9vdmVycmlkZWJ1aWx0aW5zLmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSw3MyArMCwwIEBACi1b
Ci0gICAgewotICAgICAgICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFtZSI6ICJT
dHJpbmdNYXAyIiwKLSAgICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJlcnMi
OiBbCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwK
LSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmlu
Z2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAicmVhZG9ubHkiOiB0cnVlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjog
ewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAgICAg
ICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxh
YmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJ1bnNpZ25lZCBsb25nIiwKLSAgICAgICAgICAgICAg
ICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAg
ICJuYW1lIjogImxlbmd0aCIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImxlbmd0
aCIsCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0gICAg
ICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAib3BlcmF0aW9uIiwKLSAgICAgICAg
ICAgICAgICAiZ2V0dGVyIjogdHJ1ZSwKLSAgICAgICAgICAgICAgICAic2V0dGVyIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgImRlbGV0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3Rh
dGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInJl
dHVybi10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAg
ICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVu
aW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogIkRPTVN0cmluZyIs
Ci0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwK
LSAgICAgICAgICAgICAgICAibmFtZSI6ICJsb29rdXAiLAotICAgICAgICAgICAgICAgICJlc2Nh
cGVkTmFtZSI6ICJsb29rdXAiLAotICAgICAgICAgICAgICAgICJhcmd1bWVudHMiOiBbCi0gICAg
ICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJvcHRpb25hbCI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgInZhcmlhZGljIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAiZGVmYXVsdCI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAiZXh0QXR0cnMiOiBbXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImFyZ3VtZW50LXR5cGUiLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlw
ZSI6ICJET01TdHJpbmciLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6
IFtdCi0gICAgICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICAgICAg
Im5hbWUiOiAia2V5IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJr
ZXkiCi0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAg
ICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAg
ICJpbmhlcml0YW5jZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6IFsKLSAgICAgICAgICAg
IHsKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJPdmVycmlkZUJ1aWx0aW5zIiwKLSAgICAgICAg
ICAgICAgICAiYXJndW1lbnRzIjogbnVsbCwKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJleHRl
bmRlZC1hdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJyaHMiOiBudWxsCi0gICAgICAgICAg
ICB9Ci0gICAgICAgIF0KLSAgICB9Ci1dCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pz
b24vcGFydGlhbC1pbnRlcmZhY2UuanNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9wYXJ0aWFs
LWludGVyZmFjZS5qc29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkNzkxMjYyZjQ2
NS4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL3BhcnRpYWwtaW50ZXJm
YWNlLmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSw1NSArMCwwIEBACi1bCi0gICAgewotICAgICAg
ICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFtZSI6ICJGb28iLAotICAgICAgICAi
cGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAg
ICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJzdGF0
aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJyZWFkb25seSI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAg
ICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmlj
IjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlw
ZSI6ICJET01TdHJpbmciLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAg
ICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiYmFyIiwKLSAgICAgICAg
ICAgICAgICAiZXNjYXBlZE5hbWUiOiAiYmFyIiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMi
OiBbXQotICAgICAgICAgICAgfQotICAgICAgICBdLAotICAgICAgICAiaW5oZXJpdGFuY2UiOiBu
dWxsLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0sCi0gICAgewotICAgICAgICAidHlw
ZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFtZSI6ICJGb28iLAotICAgICAgICAicGFydGlh
bCI6IHRydWUsCi0gICAgICAgICJtZW1iZXJzIjogWwotICAgICAgICAgICAgewotICAgICAgICAg
ICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICJpbmhlcml0IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5IjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBl
IjogImF0dHJpYnV0ZS10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxs
LAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogIkRP
TVN0cmluZyIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAg
ICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJxdXV4IiwKLSAgICAgICAgICAgICAg
ICAiZXNjYXBlZE5hbWUiOiAicXV1eCIsCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10K
LSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9
Ci1dCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vcHJpbWl0aXZlcy5qc29uIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3N5bnRheC9qc29uL3ByaW1pdGl2ZXMuanNvbgpkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggYTIxNjIyMTE0MGMuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50
YXgvanNvbi9wcmltaXRpdmVzLmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSwzMTcgKzAsMCBAQAot
WwotICAgIHsKLSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUiOiAi
UHJpbWl0aXZlcyIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJz
IjogWwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZSIs
Ci0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJp
bmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpbmhlcml0IjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgInJlYWRvbmx5IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUi
OiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZS10eXBlIiwKLSAgICAg
ICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVs
bGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgICAgICJpZGxUeXBlIjogImJvb2xlYW4iLAotICAgICAgICAgICAgICAgICAg
ICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5h
bWUiOiAidHJ1dGgiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJ0cnV0aCIsCi0g
ICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAg
ICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAg
ICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAicmVh
ZG9ubHkiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAg
ICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAi
Z2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAg
ImlkbFR5cGUiOiAiYnl0ZSIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0g
ICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJjaGFyYWN0ZXIiLAot
ICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJjaGFyYWN0ZXIiLAotICAgICAgICAgICAg
ICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAg
ICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICJpbmhlcml0IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5IjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0
eXBlIjogImF0dHJpYnV0ZS10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBu
dWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjog
Im9jdGV0IiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAg
ICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogInZhbHVlIiwKLSAgICAgICAgICAgICAg
ICAiZXNjYXBlZE5hbWUiOiAidmFsdWUiLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtd
Ci0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjog
ImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpbmhlcml0Ijog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5IjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZS10
eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAg
ICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogInNob3J0IiwKLSAgICAgICAg
ICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAg
ICAgICAgICJuYW1lIjogIm51bWJlciIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjog
Im51bWJlciIsCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0s
Ci0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAg
ICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lm
aWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAicmVhZG9ubHkiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsK
LSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlLXR5cGUiLAotICAgICAgICAg
ICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJs
ZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAgICAgImlkbFR5cGUiOiAidW5zaWduZWQgc2hvcnQiLAotICAgICAgICAgICAgICAg
ICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAg
Im5hbWUiOiAicG9zaXRpdmUiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJwb3Np
dGl2ZSIsCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0g
ICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAgICAg
ICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVy
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAicmVhZG9ubHkiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAg
ICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlLXR5cGUiLAotICAgICAgICAgICAg
ICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAgICAgImlkbFR5cGUiOiAibG9uZyIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRy
cyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJiaWci
LAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJiaWciLAotICAgICAgICAgICAgICAg
ICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAg
ICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICJpbmhlcml0IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5IjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBl
IjogImF0dHJpYnV0ZS10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxs
LAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogInVu
c2lnbmVkIGxvbmciLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAg
ICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiYmlncG9zaXRpdmUiLAotICAg
ICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJiaWdwb3NpdGl2ZSIsCi0gICAgICAgICAgICAg
ICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAg
ICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAic3RhdGljIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAicmVhZG9ubHkiOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5
cGUiOiAiYXR0cmlidXRlLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51
bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAi
bG9uZyBsb25nIiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAg
ICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogImJpZ2JpZyIsCi0gICAgICAgICAg
ICAgICAgImVzY2FwZWROYW1lIjogImJpZ2JpZyIsCi0gICAgICAgICAgICAgICAgImV4dEF0dHJz
IjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5
cGUiOiAiYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImluaGVy
aXQiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAicmVhZG9ubHkiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmli
dXRlLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAg
ICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5p
b24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAidW5zaWduZWQgbG9u
ZyBsb25nIiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAg
ICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogImJpZ2JpZ3Bvc2l0aXZlIiwKLSAgICAg
ICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiYmlnYmlncG9zaXRpdmUiLAotICAgICAgICAgICAg
ICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAg
ICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICJpbmhlcml0IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5IjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0
eXBlIjogImF0dHJpYnV0ZS10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBu
dWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjog
ImZsb2F0IiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAg
ICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogInJlYWwiLAotICAgICAgICAgICAgICAg
ICJlc2NhcGVkTmFtZSI6ICJyZWFsIiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQot
ICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJh
dHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaW5oZXJpdCI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICJyZWFkb25seSI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlw
ZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAg
ICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJkb3VibGUiLAotICAgICAgICAg
ICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAg
ICAgICAgIm5hbWUiOiAiYmlncmVhbCIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjog
ImJpZ3JlYWwiLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9
LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0g
ICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdp
ZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpbmhlcml0IjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgInJlYWRvbmx5IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7
Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZS10eXBlIiwKLSAgICAgICAg
ICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFi
bGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgICAgICJpZGxUeXBlIjogInVucmVzdHJpY3RlZCBmbG9hdCIsCi0gICAgICAgICAg
ICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAg
ICAgICAibmFtZSI6ICJyZWFsd2l0aGluZmluaXR5IiwKLSAgICAgICAgICAgICAgICAiZXNjYXBl
ZE5hbWUiOiAicmVhbHdpdGhpbmZpbml0eSIsCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjog
W10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUi
OiAiYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImluaGVyaXQi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAicmVhZG9ubHkiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRl
LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAg
ICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24i
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAidW5yZXN0cmljdGVkIGRv
dWJsZSIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAg
ICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJiaWdyZWFsd2l0aGluZmluaXR5IiwKLSAg
ICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiYmlncmVhbHdpdGhpbmZpbml0eSIsCi0gICAg
ICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7
Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAi
c3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAicmVhZG9u
bHkiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAg
ICAgICAgInR5cGUiOiAiYXR0cmlidXRlLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2Vu
ZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlk
bFR5cGUiOiAiRE9NU3RyaW5nIiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10K
LSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogInN0cmluZyIsCi0g
ICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogInN0cmluZyIsCi0gICAgICAgICAgICAgICAg
ImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAg
ICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAicmVhZG9ubHkiOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUi
OiAiYXR0cmlidXRlLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGws
Ci0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiQnl0
ZVN0cmluZyIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAg
ICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJieXRlcyIsCi0gICAgICAgICAgICAg
ICAgImVzY2FwZWROYW1lIjogImJ5dGVzIiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBb
XQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6
ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaW5oZXJpdCI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICJyZWFkb25seSI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUt
dHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAg
ICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJEYXRlIiwKLSAgICAgICAg
ICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAg
ICAgICAgICJuYW1lIjogImRhdGUiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJk
YXRlIiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfSwKLSAg
ICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAg
ICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICJyZWFkb25seSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAg
ICAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAgICAgICAgICAg
ICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICAgICAiaWRsVHlwZSI6ICJSZWdFeHAiLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0
cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAicmVn
ZXhwIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAicmVnZXhwIiwKLSAgICAgICAg
ICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfQotICAgICAgICBdLAotICAgICAg
ICAiaW5oZXJpdGFuY2UiOiBudWxsLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0KLV0K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9wcm9taXNlLXZvaWQuanNvbiBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC9zeW50YXgvanNvbi9wcm9taXNlLXZvaWQuanNvbgpkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggNzY3NjgzOGI4MTcuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50
YXgvanNvbi9wcm9taXNlLXZvaWQuanNvbgorKysgL2Rldi9udWxsCkBAIC0xLDM2ICswLDAgQEAK
LVsKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAgICAgICJuYW1lIjog
IkNhdCIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJzIjogWwot
ICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0gICAg
ICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmll
ciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpbmhlcml0IjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgInJlYWRvbmx5IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0g
ICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZS10eXBlIiwKLSAgICAgICAgICAg
ICAgICAgICAgImdlbmVyaWMiOiAiUHJvbWlzZSIsCi0gICAgICAgICAgICAgICAgICAgICJudWxs
YWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAidHlw
ZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51
bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ImlkbFR5cGUiOiAidm9pZCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBb
XQotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMi
OiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAibWVvdyIs
Ci0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogIm1lb3ciLAotICAgICAgICAgICAgICAg
ICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJpbmhl
cml0YW5jZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgfQotXQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL3Byb3RvdHlwZXJvb3QuanNvbiBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC9zeW50YXgvanNvbi9wcm90b3R5cGVyb290Lmpzb24KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IGNlYzc5ZmY2NmI2Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pz
b24vcHJvdG90eXBlcm9vdC5qc29uCisrKyAvZGV2L251bGwKQEAgLTEsMzYgKzAsMCBAQAotWwot
ICAgIHsKLSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUiOiAiTm9k
ZSIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJzIjogWwotICAg
ICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0gICAgICAg
ICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICJpbmhlcml0IjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgInJlYWRvbmx5IjogdHJ1ZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAg
ICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlLXR5cGUiLAotICAgICAgICAgICAgICAg
ICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAgICAgImlkbFR5cGUiOiAidW5zaWduZWQgc2hvcnQiLAotICAgICAgICAgICAgICAgICAgICAi
ZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUi
OiAibm9kZVR5cGUiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJub2RlVHlwZSIs
Ci0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0KLSAgICAgICAg
XSwKLSAgICAgICAgImluaGVyaXRhbmNlIjogbnVsbCwKLSAgICAgICAgImV4dEF0dHJzIjogWwot
ICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJuYW1lIjogIlByb3RvdHlwZVJvb3QiLAot
ICAgICAgICAgICAgICAgICJhcmd1bWVudHMiOiBudWxsLAotICAgICAgICAgICAgICAgICJ0eXBl
IjogImV4dGVuZGVkLWF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInJocyI6IG51bGwKLSAg
ICAgICAgICAgIH0KLSAgICAgICAgXQotICAgIH0KLV0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9z
eW50YXgvanNvbi9wdXRmb3J3YXJkcy5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL3B1dGZv
cndhcmRzLmpzb24KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDk1MWIzZWY3MThjLi4w
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vcHV0Zm9yd2FyZHMuanNvbgor
KysgL2Rldi9udWxsCkBAIC0xLDU3ICswLDAgQEAKLVsKLSAgICB7Ci0gICAgICAgICJ0eXBlIjog
ImludGVyZmFjZSIsCi0gICAgICAgICJuYW1lIjogIlBlcnNvbiIsCi0gICAgICAgICJwYXJ0aWFs
IjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJzIjogWwotICAgICAgICAgICAgewotICAgICAgICAg
ICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICJpbmhlcml0IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5IjogdHJ1ZSwK
LSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUi
OiAiYXR0cmlidXRlLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGws
Ci0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiTmFt
ZSIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAg
fSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJuYW1lIiwKLSAgICAgICAgICAgICAgICAiZXNj
YXBlZE5hbWUiOiAibmFtZSIsCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogWwotICAgICAg
ICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJQdXRGb3J3
YXJkcyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiYXJndW1lbnRzIjogbnVsbCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImV4dGVuZGVkLWF0dHJpYnV0ZSIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAicmhzIjogewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0
eXBlIjogImlkZW50aWZpZXIiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSI6
ICJmdWxsIgotICAgICAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICAgICB9
Ci0gICAgICAgICAgICAgICAgXQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAg
ICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJzdGF0aWMi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJyZWFkb25seSI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAi
dHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjog
bnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6
ICJ1bnNpZ25lZCBzaG9ydCIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0g
ICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJhZ2UiLAotICAgICAg
ICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJhZ2UiLAotICAgICAgICAgICAgICAgICJleHRBdHRy
cyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJpbmhlcml0YW5jZSI6
IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgfQotXQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L3N5bnRheC9qc29uL3JlY29yZC5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL3Jl
Y29yZC5qc29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxYmU1NDI3Yzc0ZC4uMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL3JlY29yZC5qc29uCisrKyAvZGV2
L251bGwKQEAgLTEsMjIwICswLDAgQEAKLVsKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImludGVy
ZmFjZSIsCi0gICAgICAgICJuYW1lIjogIkZvbyIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFsc2Us
Ci0gICAgICAgICJtZW1iZXJzIjogWwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0
eXBlIjogIm9wZXJhdGlvbiIsCi0gICAgICAgICAgICAgICAgImdldHRlciI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICJzZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiZGVsZXRlciI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAg
ICAgICAgICAgICAgICAgICAgInR5cGUiOiAicmV0dXJuLXR5cGUiLAotICAgICAgICAgICAgICAg
ICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAgICAgImlkbFR5cGUiOiAidm9pZCIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6
IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJmb28iLAot
ICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJmb28iLAotICAgICAgICAgICAgICAgICJh
cmd1bWVudHMiOiBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJvcHRpb25hbCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgInZhcmlhZGlj
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdCI6IG51bGwsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImFy
Z3VtZW50LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogInNl
cXVlbmNlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgInR5cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICJnZW5lcmljIjogInJlY29yZCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAi
dW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUi
OiBbCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogIkJ5dGVT
dHJpbmciLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRy
cyI6IFtdCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJ0eXBlIjogImFyZ3VtZW50LXR5cGUiLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJhbnkiLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAi
ZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICJuYW1lIjogInBhcmFtIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJlc2Nh
cGVkTmFtZSI6ICJwYXJhbSIKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAg
IF0sCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0gICAg
ICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAib3BlcmF0aW9uIiwKLSAgICAgICAg
ICAgICAgICAiZ2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInNldHRlciI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICJkZWxldGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0
YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJy
ZXR1cm4tdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogInJlY29yZCIsCi0g
ICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAg
ICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiBbCi0gICAg
ICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUi
OiAicmV0dXJuLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjog
bnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJET01TdHJpbmciLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgICAgICAgICB9LAotICAg
ICAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBl
IjogInJldHVybi10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6
IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogdHJ1ZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiB0cnVlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJpZGxUeXBlIjogWwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6IG51bGwsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiZmxvYXQiLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiBudWxsLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogIkRPTVN0cmluZyIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgXSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAg
ICAgICAgfQotICAgICAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgICAgICAiZXh0
QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAi
YmFyIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiYmFyIiwKLSAgICAgICAgICAg
ICAgICAiYXJndW1lbnRzIjogW10sCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAg
ICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImluaGVyaXRhbmNlIjogbnVsbCwKLSAg
ICAgICAgImV4dEF0dHJzIjogWwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJuYW1l
IjogIkNvbnN0cnVjdG9yIiwKLSAgICAgICAgICAgICAgICAiYXJndW1lbnRzIjogWwotICAgICAg
ICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAib3B0aW9uYWwiOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ2YXJpYWRpYyI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgImRlZmF1bHQiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAg
ImV4dEF0dHJzIjogW10sCi0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6ICJyZWNvcmQiLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxU
eXBlIjogWwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJVU1ZTdHJpbmciLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXJndW1lbnQtdHlwZSIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiVVNWU3RyaW5nIiwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBd
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAg
ICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAiaW5pdCIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiaW5pdCIKLSAgICAgICAg
ICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgInR5cGUi
OiAiZXh0ZW5kZWQtYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAicmhzIjogbnVsbAotICAg
ICAgICAgICAgfQotICAgICAgICBdCi0gICAgfSwKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImlu
dGVyZmFjZSIsCi0gICAgICAgICJuYW1lIjogIkJhciIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFs
c2UsCi0gICAgICAgICJtZW1iZXJzIjogWwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAg
ICJ0eXBlIjogIm9wZXJhdGlvbiIsCi0gICAgICAgICAgICAgICAgImdldHRlciI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICJzZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiZGVsZXRl
ciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsK
LSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAicmV0dXJuLXR5cGUiLAotICAgICAgICAgICAg
ICAgICAgICAiZ2VuZXJpYyI6ICJyZWNvcmQiLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFi
bGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgICAgICJpZGxUeXBlIjogWwotICAgICAgICAgICAgICAgICAgICAgICAgewotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInJldHVybi10eXBlIiwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
InVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAi
RE9NU3RyaW5nIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQot
ICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAgIHsKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjog
ImZsb2F0IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJuYW1lIjogIlhBdHRyIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICJhcmd1bWVudHMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgInR5cGUiOiAiZXh0ZW5kZWQtYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICJyaHMiOiBudWxsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIH0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBdCi0gICAgICAgICAgICAgICAgICAg
ICAgICB9Ci0gICAgICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgICAgICJleHRB
dHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJi
YXIiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJiYXIiLAotICAgICAgICAgICAg
ICAgICJhcmd1bWVudHMiOiBbXSwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAg
ICAgICAgICAgfQotICAgICAgICBdLAotICAgICAgICAiaW5oZXJpdGFuY2UiOiBudWxsLAotICAg
ICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0KLV0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50
YXgvanNvbi9yZWctb3BlcmF0aW9ucy5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL3JlZy1v
cGVyYXRpb25zLmpzb24KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg3OTVjNTllYzg3
Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vcmVnLW9wZXJhdGlvbnMu
anNvbgorKysgL2Rldi9udWxsCkBAIC0xLDE2NiArMCwwIEBACi1bCi0gICAgewotICAgICAgICAi
dHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFtZSI6ICJEaW1lbnNpb25zIiwKLSAgICAg
ICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJlcnMiOiBbCi0gICAgICAgICAgICB7
Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAi
c3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAicmVhZG9u
bHkiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAg
ICAgICAgInR5cGUiOiAiYXR0cmlidXRlLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2Vu
ZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlk
bFR5cGUiOiAidW5zaWduZWQgbG9uZyIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6
IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJ3aWR0aCIs
Ci0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogIndpZHRoIiwKLSAgICAgICAgICAgICAg
ICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAg
ICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJyZWFkb25seSI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlw
ZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVs
bCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJ1
bnNpZ25lZCBsb25nIiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAg
ICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogImhlaWdodCIsCi0gICAgICAg
ICAgICAgICAgImVzY2FwZWROYW1lIjogImhlaWdodCIsCi0gICAgICAgICAgICAgICAgImV4dEF0
dHJzIjogW10KLSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImluaGVyaXRhbmNl
IjogbnVsbCwKLSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9LAotICAgIHsKLSAgICAgICAg
InR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUiOiAiQnV0dG9uIiwKLSAgICAgICAg
InBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJlcnMiOiBbCi0gICAgICAgICAgICB7Ci0g
ICAgICAgICAgICAgICAgInR5cGUiOiAib3BlcmF0aW9uIiwKLSAgICAgICAgICAgICAgICAiZ2V0
dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInNldHRlciI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICJkZWxldGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJyZXR1cm4tdHlwZSIs
Ci0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAg
ICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJib29sZWFuIiwKLSAgICAgICAgICAg
ICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAg
ICAgICJuYW1lIjogImlzTW91c2VPdmVyIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUi
OiAiaXNNb3VzZU92ZXIiLAotICAgICAgICAgICAgICAgICJhcmd1bWVudHMiOiBbXSwKLSAgICAg
ICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsK
LSAgICAgICAgICAgICAgICAidHlwZSI6ICJvcGVyYXRpb24iLAotICAgICAgICAgICAgICAgICJn
ZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic2V0dGVyIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgImRlbGV0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInJldHVybi10eXBl
IiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAg
ICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogInZvaWQiLAotICAgICAgICAgICAg
ICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAg
ICAgIm5hbWUiOiAic2V0RGltZW5zaW9ucyIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1l
IjogInNldERpbWVuc2lvbnMiLAotICAgICAgICAgICAgICAgICJhcmd1bWVudHMiOiBbCi0gICAg
ICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJvcHRpb25hbCI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgInZhcmlhZGljIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAiZGVmYXVsdCI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAiZXh0QXR0cnMiOiBbXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImFyZ3VtZW50LXR5cGUiLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlw
ZSI6ICJEaW1lbnNpb25zIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMi
OiBbXQotICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJuYW1lIjogInNpemUiLAotICAgICAgICAgICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjog
InNpemUiCi0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdLAotICAgICAg
ICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewot
ICAgICAgICAgICAgICAgICJ0eXBlIjogIm9wZXJhdGlvbiIsCi0gICAgICAgICAgICAgICAgImdl
dHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAiZGVsZXRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAicmV0dXJuLXR5cGUi
LAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAg
ICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAidm9pZCIsCi0gICAgICAgICAgICAg
ICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAg
ICAibmFtZSI6ICJzZXREaW1lbnNpb25zIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUi
OiAic2V0RGltZW5zaW9ucyIsCi0gICAgICAgICAgICAgICAgImFyZ3VtZW50cyI6IFsKLSAgICAg
ICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIm9wdGlvbmFsIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAidmFyaWFkaWMiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICJkZWZhdWx0IjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJleHRBdHRycyI6IFtdLAotICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBl
IjogInVuc2lnbmVkIGxvbmciLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRy
cyI6IFtdCi0gICAgICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICAg
ICAgIm5hbWUiOiAid2lkdGgiLAotICAgICAgICAgICAgICAgICAgICAgICAgImVzY2FwZWROYW1l
IjogIndpZHRoIgotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7
Ci0gICAgICAgICAgICAgICAgICAgICAgICAib3B0aW9uYWwiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJ2YXJpYWRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ImRlZmF1bHQiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10s
Ci0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51
bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAidW5zaWduZWQgbG9u
ZyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAg
ICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJoZWln
aHQiLAotICAgICAgICAgICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImhlaWdodCIKLSAg
ICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAg
ImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImluaGVy
aXRhbmNlIjogbnVsbCwKLSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9Ci1dCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vcmVwbGFjZWFibGUuanNvbiBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9z
eW50YXgvanNvbi9yZXBsYWNlYWJsZS5qc29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAxMzM4OTFkNDYxZC4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL3Jl
cGxhY2VhYmxlLmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSw1NiArMCwwIEBACi1bCi0gICAgewot
ICAgICAgICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFtZSI6ICJDb3VudGVyIiwK
LSAgICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJlcnMiOiBbCi0gICAgICAg
ICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAgICAgICAgICAg
ICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAi
cmVhZG9ubHkiOiB0cnVlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAg
ICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAg
ICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAg
ICAiaWRsVHlwZSI6ICJ1bnNpZ25lZCBsb25nIiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0
dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogInZh
bHVlIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAidmFsdWUiLAotICAgICAgICAg
ICAgICAgICJleHRBdHRycyI6IFsKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAg
ICAgICAgICAgICAgIm5hbWUiOiAiUmVwbGFjZWFibGUiLAotICAgICAgICAgICAgICAgICAgICAg
ICAgImFyZ3VtZW50cyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJl
eHRlbmRlZC1hdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgInJocyI6IG51bGwK
LSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0KLSAgICAgICAgICAgIH0s
Ci0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAib3BlcmF0aW9uIiwKLSAg
ICAgICAgICAgICAgICAiZ2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInNldHRlciI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICJkZWxldGVyIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlw
ZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwK
LSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJ2b2lk
IiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9
LAotICAgICAgICAgICAgICAgICJuYW1lIjogImluY3JlbWVudCIsCi0gICAgICAgICAgICAgICAg
ImVzY2FwZWROYW1lIjogImluY3JlbWVudCIsCi0gICAgICAgICAgICAgICAgImFyZ3VtZW50cyI6
IFtdLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAg
ICAgIF0sCi0gICAgICAgICJpbmhlcml0YW5jZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6
IFtdCi0gICAgfQotXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL3NlcXVlbmNl
Lmpzb24gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vc2VxdWVuY2UuanNvbgpkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggZWFkMGNkZDg2MmMuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC9zeW50YXgvanNvbi9zZXF1ZW5jZS5qc29uCisrKyAvZGV2L251bGwKQEAgLTEsMTQyICswLDAg
QEAKLVsKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAgICAgICJuYW1l
IjogIkNhbnZhcyIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJz
IjogWwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogIm9wZXJhdGlvbiIs
Ci0gICAgICAgICAgICAgICAgImdldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzZXR0
ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiZGVsZXRlciI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAg
InR5cGUiOiAicmV0dXJuLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51
bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAi
dm9pZCIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAg
ICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJkcmF3UG9seWdvbiIsCi0gICAgICAgICAg
ICAgICAgImVzY2FwZWROYW1lIjogImRyYXdQb2x5Z29uIiwKLSAgICAgICAgICAgICAgICAiYXJn
dW1lbnRzIjogWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICAib3B0aW9uYWwiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ2YXJpYWRpYyI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHQiOiBudWxsLAotICAgICAg
ICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10sCi0gICAgICAgICAgICAgICAgICAgICAg
ICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1
bWVudC10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6ICJzZXF1
ZW5jZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJ0eXBlIjogImFyZ3VtZW50LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJu
dWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5pb24i
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiZmxv
YXQiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAg
ICAgICAgICAgICAibmFtZSI6ICJjb29yZGluYXRlcyIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAiZXNjYXBlZE5hbWUiOiAiY29vcmRpbmF0ZXMiCi0gICAgICAgICAgICAgICAgICAgIH0KLSAg
ICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAg
ICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogIm9wZXJhdGlv
biIsCi0gICAgICAgICAgICAgICAgImdldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJz
ZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiZGVsZXRlciI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAg
ICAgInR5cGUiOiAicmV0dXJuLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6
ICJzZXF1ZW5jZSIsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlk
bFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJyZXR1cm4tdHlwZSIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ1
bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiZmxvYXQi
LAotICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAg
ICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAg
ICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogImdldEluZmxlY3Rpb25Qb2ludHMiLAot
ICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJnZXRJbmZsZWN0aW9uUG9pbnRzIiwKLSAg
ICAgICAgICAgICAgICAiYXJndW1lbnRzIjogW10sCi0gICAgICAgICAgICAgICAgImV4dEF0dHJz
IjogW10KLSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImluaGVyaXRhbmNlIjog
bnVsbCwKLSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9LAotICAgIHsKLSAgICAgICAgInR5
cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUiOiAiSSIsCi0gICAgICAgICJwYXJ0aWFs
IjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJzIjogWwotICAgICAgICAgICAgewotICAgICAgICAg
ICAgICAgICJ0eXBlIjogIm9wZXJhdGlvbiIsCi0gICAgICAgICAgICAgICAgImdldHRlciI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICJzZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAi
ZGVsZXRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlw
ZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAicmV0dXJuLXR5cGUiLAotICAgICAg
ICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxs
YWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAgICAgImlkbFR5cGUiOiAidm9pZCIsCi0gICAgICAgICAgICAgICAgICAgICJl
eHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6
ICJmMSIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImYxIiwKLSAgICAgICAgICAg
ICAgICAiYXJndW1lbnRzIjogWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICAib3B0aW9uYWwiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ2
YXJpYWRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHQiOiBudWxs
LAotICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10sCi0gICAgICAgICAgICAg
ICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlw
ZSI6ICJhcmd1bWVudC10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJp
YyI6ICJzZXF1ZW5jZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJ0eXBlIjogImFyZ3VtZW50LXR5cGUiLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5
cGUiOiAibG9uZyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6
IFsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJYQXR0ciIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgImFyZ3VtZW50cyI6IG51bGwsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiZXh0ZW5kZWQtYXR0cmlidXRl
IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicmhzIjogbnVsbAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBdCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAg
ICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjogImFyZyIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiYXJnIgotICAgICAgICAgICAgICAgICAgICB9
Ci0gICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAg
ICAgICAgICAgfQotICAgICAgICBdLAotICAgICAgICAiaW5oZXJpdGFuY2UiOiBudWxsLAotICAg
ICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0KLV0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50
YXgvanNvbi9zZXRsaWtlLmpzb24gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vc2V0bGlrZS5qc29u
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkODU4MzUzOGZkMC4uMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL3NldGxpa2UuanNvbgorKysgL2Rldi9udWxsCkBA
IC0xLDgxICswLDAgQEAKLVsKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImludGVyZmFjZSIsCi0g
ICAgICAgICJuYW1lIjogIlNldExpa2UiLAotICAgICAgICAicGFydGlhbCI6IGZhbHNlLAotICAg
ICAgICAibWVtYmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6
ICJzZXRsaWtlIiwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IFsKLSAgICAgICAgICAgICAg
ICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiBudWxsLAotICAgICAgICAg
ICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAg
Im51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogImxvbmciLAotICAgICAgICAg
ICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgfQotICAg
ICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5IjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAg
ICAgICAgImluaGVyaXRhbmNlIjogbnVsbCwKLSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9
LAotICAgIHsKLSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUiOiAi
UmVhZE9ubHlTZXRMaWtlIiwKLSAgICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1l
bWJlcnMiOiBbCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAic2V0bGlr
ZSIsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiBbCi0gICAgICAgICAgICAgICAgICAgIHsK
LSAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogbnVsbCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJs
ZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJsb25nIiwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAg
ICAgICBdLAotICAgICAgICAgICAgICAgICJyZWFkb25seSI6IHRydWUsCi0gICAgICAgICAgICAg
ICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImlu
aGVyaXRhbmNlIjogbnVsbCwKLSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9LAotICAgIHsK
LSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUiOiAiU2V0TGlrZUV4
dCIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJzIjogWwotICAg
ICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogInNldGxpa2UiLAotICAgICAgICAg
ICAgICAgICJpZGxUeXBlIjogWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICAidHlwZSI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJp
YyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgImlkbFR5cGUiOiAibG9uZyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0
cnMiOiBbCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAibmFtZSI6ICJYQXR0ciIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICJhcmd1bWVudHMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAidHlwZSI6ICJleHRlbmRlZC1hdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAicmhzIjogbnVsbAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KLSAgICAg
ICAgICAgICAgICAgICAgICAgIF0KLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAg
ICAgIF0sCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5IjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImlu
aGVyaXRhbmNlIjogbnVsbCwKLSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9Ci1dCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vc3RhdGljLmpzb24gYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3lu
dGF4L2pzb24vc3RhdGljLmpzb24KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQwZGRm
MzVlYzZlLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vc3RhdGljLmpz
b24KKysrIC9kZXYvbnVsbApAQCAtMSwxNjAgKzAsMCBAQAotWwotICAgIHsKLSAgICAgICAgInR5
cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUiOiAiUG9pbnQiLAotICAgICAgICAicGFy
dGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFtdLAotICAgICAgICAiaW5oZXJpdGFu
Y2UiOiBudWxsLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0sCi0gICAgewotICAgICAg
ICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFtZSI6ICJDaXJjbGUiLAotICAgICAg
ICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFsKLSAgICAgICAgICAgIHsK
LSAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJz
dGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJyZWFkb25s
eSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAg
ICAgICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5l
cmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRs
VHlwZSI6ICJmbG9hdCIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAg
ICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJjeCIsCi0gICAgICAgICAg
ICAgICAgImVzY2FwZWROYW1lIjogImN4IiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBb
XQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6
ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaW5oZXJpdCI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICJyZWFkb25seSI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUt
dHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAg
ICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJmbG9hdCIsCi0gICAgICAg
ICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAg
ICAgICAgICAibmFtZSI6ICJjeSIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImN5
IiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfSwKLSAgICAg
ICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAg
ICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICJyZWFkb25seSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAg
ICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAgICAgICAgICAgICAg
ICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICAgICAiaWRsVHlwZSI6ICJmbG9hdCIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6
IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJyYWRpdXMi
LAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJyYWRpdXMiLAotICAgICAgICAgICAg
ICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAg
ICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6
IHRydWUsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAicmVhZG9ubHkiOiB0cnVl
LAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlw
ZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVs
bCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJs
b25nIiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAg
ICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogInRyaWFuZ3VsYXRpb25Db3VudCIsCi0gICAg
ICAgICAgICAgICAgImVzY2FwZWROYW1lIjogInRyaWFuZ3VsYXRpb25Db3VudCIsCi0gICAgICAg
ICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0g
ICAgICAgICAgICAgICAgInR5cGUiOiAib3BlcmF0aW9uIiwKLSAgICAgICAgICAgICAgICAiZ2V0
dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInNldHRlciI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICJkZWxldGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IHRydWUs
Ci0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInJldHVybi10eXBlIiwK
LSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAg
ICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogIlBvaW50IiwKLSAgICAgICAgICAgICAg
ICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAg
ICJuYW1lIjogInRyaWFuZ3VsYXRlIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAi
dHJpYW5ndWxhdGUiLAotICAgICAgICAgICAgICAgICJhcmd1bWVudHMiOiBbCi0gICAgICAgICAg
ICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJvcHRpb25hbCI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgInZhcmlhZGljIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAiZGVmYXVsdCI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXh0
QXR0cnMiOiBbXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImFyZ3VtZW50LXR5cGUiLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAi
dW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJD
aXJjbGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAg
ICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAi
YzEiLAotICAgICAgICAgICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImMxIgotICAgICAg
ICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICAib3B0aW9uYWwiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ2YXJp
YWRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHQiOiBudWxsLAot
ICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10sCi0gICAgICAgICAgICAgICAg
ICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6
ICJhcmd1bWVudC10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6
IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiQ2lyY2xlIiwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJuYW1lIjogImMyIiwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJlc2NhcGVkTmFtZSI6ICJjMiIKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAg
ICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIm9wdGlvbmFsIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAidmFyaWFkaWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICJkZWZhdWx0IjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJleHRB
dHRycyI6IFtdLAotICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1
bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogIkNp
cmNsZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAg
ICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJj
MyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiYzMiCi0gICAgICAg
ICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgICJleHRB
dHRycyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJpbmhlcml0YW5j
ZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgfQotXQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3N5bnRheC9qc29uL3N0cmluZ2lmaWVyLWF0dHJpYnV0ZS5qc29uIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3N5bnRheC9qc29uL3N0cmluZ2lmaWVyLWF0dHJpYnV0ZS5qc29uCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCBkYmNhN2YxNzkwMi4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3N5bnRheC9qc29uL3N0cmluZ2lmaWVyLWF0dHJpYnV0ZS5qc29uCisrKyAvZGV2L251bGwKQEAg
LTEsNTQgKzAsMCBAQAotWwotICAgIHsKLSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAg
ICAgICAgIm5hbWUiOiAiU3R1ZGVudCIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0gICAg
ICAgICJtZW1iZXJzIjogWwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjog
ImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpbmhlcml0Ijog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5IjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZS10
eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAg
ICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogInVuc2lnbmVkIGxvbmciLAot
ICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0g
ICAgICAgICAgICAgICAgIm5hbWUiOiAiaWQiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFt
ZSI6ICJpZCIsCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0s
Ci0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAg
ICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lm
aWVyIjogdHJ1ZSwKLSAgICAgICAgICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICJyZWFkb25seSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewot
ICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAgICAgICAg
ICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxl
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICAgICAiaWRsVHlwZSI6ICJET01TdHJpbmciLAotICAgICAgICAgICAgICAgICAgICAi
ZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUi
OiAibmFtZSIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogIm5hbWUiLAotICAgICAg
ICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAg
ICAgICJpbmhlcml0YW5jZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6IFsKLSAgICAgICAg
ICAgIHsKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJDb25zdHJ1Y3RvciIsCi0gICAgICAgICAg
ICAgICAgImFyZ3VtZW50cyI6IG51bGwsCi0gICAgICAgICAgICAgICAgInR5cGUiOiAiZXh0ZW5k
ZWQtYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAicmhzIjogbnVsbAotICAgICAgICAgICAg
fQotICAgICAgICBdCi0gICAgfQotXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29u
L3N0cmluZ2lmaWVyLWN1c3RvbS5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL3N0cmluZ2lm
aWVyLWN1c3RvbS5qc29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjMTNkZjZlZjEw
Yy4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL3N0cmluZ2lmaWVyLWN1
c3RvbS5qc29uCisrKyAvZGV2L251bGwKQEAgLTEsOTIgKzAsMCBAQAotWwotICAgIHsKLSAgICAg
ICAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUiOiAiU3R1ZGVudCIsCi0gICAg
ICAgICJwYXJ0aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJzIjogWwotICAgICAgICAgICAg
ewotICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAg
InN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICJpbmhlcml0IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInJlYWRv
bmx5IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAg
ICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZS10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdl
bmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJp
ZGxUeXBlIjogInVuc2lnbmVkIGxvbmciLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMi
OiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiaWQiLAot
ICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJpZCIsCi0gICAgICAgICAgICAgICAgImV4
dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAg
ICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAicmVhZG9ubHkiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAi
YXR0cmlidXRlLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0g
ICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IHRydWUsCi0gICAgICAgICAgICAgICAgICAg
ICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJET01TdHJp
bmciLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAg
IH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiZmFtaWx5TmFtZSIsCi0gICAgICAgICAgICAg
ICAgImVzY2FwZWROYW1lIjogImZhbWlseU5hbWUiLAotICAgICAgICAgICAgICAgICJleHRBdHRy
cyI6IFtdCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0
eXBlIjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpbmhl
cml0IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5IjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJp
YnV0ZS10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAg
ICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVu
aW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogIkRPTVN0cmluZyIs
Ci0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwK
LSAgICAgICAgICAgICAgICAibmFtZSI6ICJnaXZlbk5hbWUiLAotICAgICAgICAgICAgICAgICJl
c2NhcGVkTmFtZSI6ICJnaXZlbk5hbWUiLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtd
Ci0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjog
Im9wZXJhdGlvbiIsCi0gICAgICAgICAgICAgICAgImdldHRlciI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICJzZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiZGVsZXRlciI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3Ry
aW5naWZpZXIiOiB0cnVlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAg
ICAgICAgICAgICAidHlwZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJn
ZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAi
aWRsVHlwZSI6ICJET01TdHJpbmciLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBb
XQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiBudWxsLAotICAg
ICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6IG51bGwsCi0gICAgICAgICAgICAgICAgImFyZ3Vt
ZW50cyI6IFtdLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9
Ci0gICAgICAgIF0sCi0gICAgICAgICJpbmhlcml0YW5jZSI6IG51bGwsCi0gICAgICAgICJleHRB
dHRycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJDb25zdHJ1
Y3RvciIsCi0gICAgICAgICAgICAgICAgImFyZ3VtZW50cyI6IG51bGwsCi0gICAgICAgICAgICAg
ICAgInR5cGUiOiAiZXh0ZW5kZWQtYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAicmhzIjog
bnVsbAotICAgICAgICAgICAgfQotICAgICAgICBdCi0gICAgfQotXQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L3N5bnRheC9qc29uL3N0cmluZ2lmaWVyLmpzb24gYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pz
b24vc3RyaW5naWZpZXIuanNvbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTRmMjNl
MDNmNjYuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9zdHJpbmdpZmll
ci5qc29uCisrKyAvZGV2L251bGwKQEAgLTEsNDkgKzAsMCBAQAotWwotICAgIHsKLSAgICAgICAg
InR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUiOiAiQSIsCi0gICAgICAgICJwYXJ0
aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJzIjogWwotICAgICAgICAgICAgewotICAgICAg
ICAgICAgICAgICJ0eXBlIjogIm9wZXJhdGlvbiIsCi0gICAgICAgICAgICAgICAgImdldHRlciI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICJzZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAiZGVsZXRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiB0cnVlLAotICAgICAgICAgICAgICAgICJpZGxU
eXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAg
ICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51
bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJET01TdHJpbmciLAotICAgICAgICAgICAgICAg
ICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAg
Im5hbWUiOiBudWxsLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6IG51bGwsCi0gICAg
ICAgICAgICAgICAgImFyZ3VtZW50cyI6IFtdLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6
IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJpbmhlcml0YW5jZSI6IG51
bGwsCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgfSwKLSAgICB7Ci0gICAgICAgICJ0eXBl
IjogImludGVyZmFjZSIsCi0gICAgICAgICJuYW1lIjogIkIiLAotICAgICAgICAicGFydGlhbCI6
IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAg
ICAgICAidHlwZSI6ICJvcGVyYXRpb24iLAotICAgICAgICAgICAgICAgICJnZXR0ZXIiOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAic2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImRl
bGV0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgInN0cmluZ2lmaWVyIjogdHJ1ZSwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMi
OiBbXQotICAgICAgICAgICAgfQotICAgICAgICBdLAotICAgICAgICAiaW5oZXJpdGFuY2UiOiBu
dWxsLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0KLV0KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC9zeW50YXgvanNvbi90cmVhdGFzbnVsbC5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29u
L3RyZWF0YXNudWxsLmpzb24KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQ1MTU2YmNi
NGYxLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vdHJlYXRhc251bGwu
anNvbgorKysgL2Rldi9udWxsCkBAIC0xLDk0ICswLDAgQEAKLVsKLSAgICB7Ci0gICAgICAgICJ0
eXBlIjogImludGVyZmFjZSIsCi0gICAgICAgICJuYW1lIjogIkRvZyIsCi0gICAgICAgICJwYXJ0
aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJzIjogWwotICAgICAgICAgICAgewotICAgICAg
ICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICJpbmhlcml0IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5IjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0
eXBlIjogImF0dHJpYnV0ZS10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBu
dWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjog
IkRPTVN0cmluZyIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAg
ICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJuYW1lIiwKLSAgICAgICAgICAg
ICAgICAiZXNjYXBlZE5hbWUiOiAibmFtZSIsCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjog
W10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUi
OiAiYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImluaGVyaXQi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAicmVhZG9ubHkiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRl
LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAg
ICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24i
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiRE9NU3RyaW5nIiwKLSAg
ICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAg
ICAgICAgICAgICAgICJuYW1lIjogIm93bmVyIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5h
bWUiOiAib3duZXIiLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAg
ICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogIm9wZXJhdGlvbiIs
Ci0gICAgICAgICAgICAgICAgImdldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzZXR0
ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiZGVsZXRlciI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAg
InR5cGUiOiAicmV0dXJuLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51
bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAi
Ym9vbGVhbiIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAg
ICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJpc01lbWJlck9mQnJlZWQiLAotICAg
ICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJpc01lbWJlck9mQnJlZWQiLAotICAgICAgICAg
ICAgICAgICJhcmd1bWVudHMiOiBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJvcHRpb25hbCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAg
InZhcmlhZGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdCI6IG51
bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6
ICJUcmVhdE51bGxBcyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJhcmd1bWVu
dHMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJleHRl
bmRlZC1hdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicmhzIjog
ewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiaWRlbnRpZmll
ciIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiOiAiRW1wdHlT
dHJpbmciCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAg
ICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5
cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVy
aWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogIkRPTVN0cmluZyIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgICAgIH0s
Ci0gICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJicmVlZE5hbWUiLAotICAgICAgICAg
ICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImJyZWVkTmFtZSIKLSAgICAgICAgICAgICAg
ICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjog
W10KLSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImluaGVyaXRhbmNlIjogbnVs
bCwKLSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9Ci1dCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvc3ludGF4L2pzb24vdHJlYXRhc3VuZGVmaW5lZC5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9q
c29uL3RyZWF0YXN1bmRlZmluZWQuanNvbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MWU5ODMxNWQ5ZjEuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi90cmVh
dGFzdW5kZWZpbmVkLmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSw5NCArMCwwIEBACi1bCi0gICAg
ewotICAgICAgICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFtZSI6ICJDYXQiLAot
ICAgICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFsKLSAgICAgICAg
ICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAg
ICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJy
ZWFkb25seSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAg
ICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAg
ICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAg
ICAiaWRsVHlwZSI6ICJET01TdHJpbmciLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMi
OiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAibmFtZSIs
Ci0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogIm5hbWUiLAotICAgICAgICAgICAgICAg
ICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAg
ICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICJpbmhlcml0IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5IjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBl
IjogImF0dHJpYnV0ZS10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxs
LAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogIkRP
TVN0cmluZyIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAg
ICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJvd25lciIsCi0gICAgICAgICAgICAg
ICAgImVzY2FwZWROYW1lIjogIm93bmVyIiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBb
XQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6
ICJvcGVyYXRpb24iLAotICAgICAgICAgICAgICAgICJnZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAic2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImRlbGV0ZXIiOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0
cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAg
ICAgICAgICAgICAgICJ0eXBlIjogInJldHVybi10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAg
ImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAg
ICJpZGxUeXBlIjogImJvb2xlYW4iLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBb
XQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiaXNNZW1iZXJP
ZkJyZWVkIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiaXNNZW1iZXJPZkJyZWVk
IiwKLSAgICAgICAgICAgICAgICAiYXJndW1lbnRzIjogWwotICAgICAgICAgICAgICAgICAgICB7
Ci0gICAgICAgICAgICAgICAgICAgICAgICAib3B0aW9uYWwiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJ2YXJpYWRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ImRlZmF1bHQiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogWwot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIm5hbWUiOiAiVHJlYXRVbmRlZmluZWRBcyIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJhcmd1bWVudHMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAidHlwZSI6ICJleHRlbmRlZC1hdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAicmhzIjogewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
InR5cGUiOiAiaWRlbnRpZmllciIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAidmFsdWUiOiAiRW1wdHlTdHJpbmciCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IH0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgICAg
ICBdLAotICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgInR5cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogIkRPTVN0cmlu
ZyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAg
ICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJicmVl
ZE5hbWUiLAotICAgICAgICAgICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImJyZWVkTmFt
ZSIKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAg
ICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAg
ImluaGVyaXRhbmNlIjogbnVsbCwKLSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9Ci1dCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vdHlwZWRlZi11bmlvbi5qc29uIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L3N5bnRheC9qc29uL3R5cGVkZWYtdW5pb24uanNvbgpkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMzFlMjQxOThhYjEuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50
YXgvanNvbi90eXBlZGVmLXVuaW9uLmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSw0OCArMCwwIEBA
Ci1bCi0gICAgewotICAgICAgICAidHlwZSI6ICJ0eXBlZGVmIiwKLSAgICAgICAgImlkbFR5cGUi
OiB7Ci0gICAgICAgICAgICAidHlwZSI6ICJ0eXBlZGVmLXR5cGUiLAotICAgICAgICAgICAgImdl
bmVyaWMiOiBudWxsLAotICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAg
ICAidW5pb24iOiB0cnVlLAotICAgICAgICAgICAgImlkbFR5cGUiOiBbCi0gICAgICAgICAgICAg
ICAgewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6IG51bGwsCi0gICAgICAgICAgICAgICAg
ICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICAgICAiaWRsVHlwZSI6ICJJbWFnZURhdGEiLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0
cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgewotICAgICAgICAg
ICAgICAgICAgICAidHlwZSI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjog
bnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6
ICJIVE1MSW1hZ2VFbGVtZW50IiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10K
LSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAg
ICAgInR5cGUiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0g
ICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAg
ICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiSFRNTENh
bnZhc0VsZW1lbnQiLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAg
ICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAidHlw
ZSI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAg
ICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlv
biI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJIVE1MVmlkZW9FbGVt
ZW50IiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAg
ICB9Ci0gICAgICAgICAgICBdLAotICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAg
fSwKLSAgICAgICAgIm5hbWUiOiAiVGV4SW1hZ2VTb3VyY2UiLAotICAgICAgICAiZXh0QXR0cnMi
OiBbXQotICAgIH0KLV0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi90eXBlZGVm
Lmpzb24gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vdHlwZWRlZi5qc29uCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAzNWY5ODhlNzIxZS4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3N5bnRheC9qc29uL3R5cGVkZWYuanNvbgorKysgL2Rldi9udWxsCkBAIC0xLDIzMyArMCwwIEBA
Ci1bCi0gICAgewotICAgICAgICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFtZSI6
ICJQb2ludCIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJzIjog
WwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0g
ICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdp
ZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpbmhlcml0IjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgInJlYWRvbmx5IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7
Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZS10eXBlIiwKLSAgICAgICAg
ICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFi
bGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgICAgICJpZGxUeXBlIjogImZsb2F0IiwKLSAgICAgICAgICAgICAgICAgICAgImV4
dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjog
IngiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJ4IiwKLSAgICAgICAgICAgICAg
ICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAg
ICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJyZWFkb25seSI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlw
ZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVs
bCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJm
bG9hdCIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAg
ICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJ5IiwKLSAgICAgICAgICAgICAgICAiZXNj
YXBlZE5hbWUiOiAieSIsCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAg
ICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImluaGVyaXRhbmNlIjogbnVsbCwKLSAgICAgICAg
ImV4dEF0dHJzIjogW10KLSAgICB9LAotICAgIHsKLSAgICAgICAgInR5cGUiOiAidHlwZWRlZiIs
Ci0gICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgInR5cGUiOiAidHlwZWRlZi10eXBl
IiwKLSAgICAgICAgICAgICJnZW5lcmljIjogInNlcXVlbmNlIiwKLSAgICAgICAgICAgICJudWxs
YWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAi
aWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJ0eXBlZGVmLXR5cGUiLAotICAg
ICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAibnVsbGFibGUi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAiaWRsVHlwZSI6ICJQb2ludCIsCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAg
ICAgICAgICAgIH0sCi0gICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICB9LAotICAg
ICAgICAibmFtZSI6ICJQb2ludFNlcXVlbmNlIiwKLSAgICAgICAgImV4dEF0dHJzIjogW10KLSAg
ICB9LAotICAgIHsKLSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUi
OiAiUmVjdCIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJzIjog
WwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0g
ICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdp
ZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpbmhlcml0IjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgInJlYWRvbmx5IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7
Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZS10eXBlIiwKLSAgICAgICAg
ICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFi
bGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgICAgICJpZGxUeXBlIjogIlBvaW50IiwKLSAgICAgICAgICAgICAgICAgICAgImV4
dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjog
InRvcGxlZnQiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJ0b3BsZWZ0IiwKLSAg
ICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAg
IHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAg
ICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJyZWFk
b25seSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAg
ICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJn
ZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAi
aWRsVHlwZSI6ICJQb2ludCIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0g
ICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJib3R0b21yaWdodCIs
Ci0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImJvdHRvbXJpZ2h0IiwKLSAgICAgICAg
ICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfQotICAgICAgICBdLAotICAgICAg
ICAiaW5oZXJpdGFuY2UiOiBudWxsLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0sCi0g
ICAgewotICAgICAgICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFtZSI6ICJXaWRn
ZXQiLAotICAgICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFsKLSAg
ICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAg
ICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICJyZWFkb25seSI6IHRydWUsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAg
ICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZS10eXBlIiwKLSAgICAgICAgICAgICAg
ICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgICAgICJpZGxUeXBlIjogIlJlY3QiLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMi
OiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiYm91bmRz
IiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiYm91bmRzIiwKLSAgICAgICAgICAg
ICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAg
ICAgICAgICAgICAidHlwZSI6ICJvcGVyYXRpb24iLAotICAgICAgICAgICAgICAgICJnZXR0ZXIi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgImRlbGV0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlk
bFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInJldHVybi10eXBlIiwKLSAg
ICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAi
bnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogImJvb2xlYW4iLAotICAgICAgICAgICAgICAg
ICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAg
Im5hbWUiOiAicG9pbnRXaXRoaW5Cb3VuZHMiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFt
ZSI6ICJwb2ludFdpdGhpbkJvdW5kcyIsCi0gICAgICAgICAgICAgICAgImFyZ3VtZW50cyI6IFsK
LSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIm9wdGlvbmFs
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAidmFyaWFkaWMiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0IjogbnVsbCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICJleHRBdHRycyI6IFtdLAotICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUi
OiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXJndW1lbnQtdHlwZSIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJp
ZGxUeXBlIjogIlBvaW50IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMi
OiBbXQotICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJuYW1lIjogInAiLAotICAgICAgICAgICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogInAi
Ci0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAg
ICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAg
ICAgICAgICAgICJ0eXBlIjogIm9wZXJhdGlvbiIsCi0gICAgICAgICAgICAgICAgImdldHRlciI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICJzZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAiZGVsZXRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRs
VHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAicmV0dXJuLXR5cGUiLAotICAg
ICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJu
dWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiYm9vbGVhbiIsCi0gICAgICAgICAgICAgICAg
ICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAi
bmFtZSI6ICJhbGxQb2ludHNXaXRoaW5Cb3VuZHMiLAotICAgICAgICAgICAgICAgICJlc2NhcGVk
TmFtZSI6ICJhbGxQb2ludHNXaXRoaW5Cb3VuZHMiLAotICAgICAgICAgICAgICAgICJhcmd1bWVu
dHMiOiBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJv
cHRpb25hbCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgInZhcmlhZGljIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdCI6IG51bGwsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJp
ZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImFyZ3VtZW50
LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAiaWRsVHlwZSI6ICJQb2ludFNlcXVlbmNlIiwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICJuYW1lIjogInBzIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJl
c2NhcGVkTmFtZSI6ICJwcyIKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAg
IF0sCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0KLSAgICAg
ICAgXSwKLSAgICAgICAgImluaGVyaXRhbmNlIjogbnVsbCwKLSAgICAgICAgImV4dEF0dHJzIjog
W10KLSAgICB9LAotICAgIHsKLSAgICAgICAgInR5cGUiOiAidHlwZWRlZiIsCi0gICAgICAgICJp
ZGxUeXBlIjogewotICAgICAgICAgICAgInR5cGUiOiAidHlwZWRlZi10eXBlIiwKLSAgICAgICAg
ICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAg
ICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAiaWRsVHlwZSI6ICJvY3RldCIs
Ci0gICAgICAgICAgICAiZXh0QXR0cnMiOiBbCi0gICAgICAgICAgICAgICAgewotICAgICAgICAg
ICAgICAgICAgICAibmFtZSI6ICJDbGFtcCIsCi0gICAgICAgICAgICAgICAgICAgICJhcmd1bWVu
dHMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJleHRlbmRlZC1hdHRyaWJ1
dGUiLAotICAgICAgICAgICAgICAgICAgICAicmhzIjogbnVsbAotICAgICAgICAgICAgICAgIH0K
LSAgICAgICAgICAgIF0KLSAgICAgICAgfSwKLSAgICAgICAgIm5hbWUiOiAidmFsdWUiLAotICAg
ICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0KLV0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50
YXgvanNvbi90eXBlc3VmZml4ZXMuanNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi90eXBlc3Vm
Zml4ZXMuanNvbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTI4NzBjMjJmNGIuLjAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi90eXBlc3VmZml4ZXMuanNvbgor
KysgL2Rldi9udWxsCkBAIC0xLDU1ICswLDAgQEAKLVsKLSAgICB7Ci0gICAgICAgICJ0eXBlIjog
ImludGVyZmFjZSIsCi0gICAgICAgICJuYW1lIjogIlN1ZmZpeGVzIiwKLSAgICAgICAgInBhcnRp
YWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJlcnMiOiBbCi0gICAgICAgICAgICB7Ci0gICAgICAg
ICAgICAgICAgInR5cGUiOiAib3BlcmF0aW9uIiwKLSAgICAgICAgICAgICAgICAiZ2V0dGVyIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgInNldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICJkZWxldGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxU
eXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAg
ICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51
bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJ2b2lkIiwKLSAgICAgICAgICAgICAgICAgICAg
ImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1l
IjogInRlc3QiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJ0ZXN0IiwKLSAgICAg
ICAgICAgICAgICAiYXJndW1lbnRzIjogWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAg
ICAgICAgICAgICAgICAgICAib3B0aW9uYWwiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJ2YXJpYWRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHQi
OiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10sCi0gICAgICAg
ICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAi
Z2VuZXJpYyI6ICJzZXF1ZW5jZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxh
YmxlIjogdHJ1ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIm51bGxhYmxlIjogdHJ1ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJp
ZGxUeXBlIjogIkRPTVN0cmluZyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJl
eHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAgICAg
fSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjogImZvbyIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiZm9vIgotICAgICAgICAgICAgICAgICAgICB9Ci0g
ICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAg
ICAgICAgfQotICAgICAgICBdLAotICAgICAgICAiaW5oZXJpdGFuY2UiOiBudWxsLAotICAgICAg
ICAiZXh0QXR0cnMiOiBbXQotICAgIH0KLV0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgv
anNvbi91bmlvbnR5cGUuanNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi91bmlvbnR5cGUuanNv
bgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTBlYjA3NGVmM2EuLjAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi91bmlvbnR5cGUuanNvbgorKysgL2Rldi9udWxs
CkBAIC0xLDEzMCArMCwwIEBACi1bCi0gICAgewotICAgICAgICAidHlwZSI6ICJpbnRlcmZhY2Ui
LAotICAgICAgICAibmFtZSI6ICJVbmlvbiIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0g
ICAgICAgICJtZW1iZXJzIjogWwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBl
IjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpbmhlcml0
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5IjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0
ZS10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAg
ICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9u
IjogdHJ1ZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiBbCi0gICAgICAgICAgICAg
ICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiBudWxsLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRs
VHlwZSI6ICJmbG9hdCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjog
W10KLSAgICAgICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgICAgICB7
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiBudWxsLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5p
b24iOiB0cnVlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogWwotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAidHlwZSI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImlk
bFR5cGUiOiAiRGF0ZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0
QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAidHlwZSI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAi
Z2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibnVs
bGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlv
biI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUi
OiAiRXZlbnQiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJz
IjogW10KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjog
W10KLSAgICAgICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgICAgICB7
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiBudWxsLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAibnVsbGFibGUiOiB0cnVlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlv
biI6IHRydWUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiBbCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJ0eXBlIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
InVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRs
VHlwZSI6ICJOb2RlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHRB
dHRycyI6IFtdCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJ0eXBlIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJn
ZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJudWxs
YWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9u
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6
ICJET01TdHJpbmciLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0
dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJz
IjogW10KLSAgICAgICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAgXSwK
LSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAot
ICAgICAgICAgICAgICAgICJuYW1lIjogInRlc3QiLAotICAgICAgICAgICAgICAgICJlc2NhcGVk
TmFtZSI6ICJ0ZXN0IiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAg
ICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUi
LAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3Ry
aW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICJyZWFkb25seSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBl
IjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAg
ICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51
bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IHRydWUsCi0gICAg
ICAgICAgICAgICAgICAgICJpZGxUeXBlIjogWwotICAgICAgICAgICAgICAgICAgICAgICAgewot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogbnVsbCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9u
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAibG9uZyIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogWwotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAibmFtZSI6ICJFbmZvcmNlUmFuZ2UiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgImFyZ3VtZW50cyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAidHlwZSI6ICJleHRlbmRlZC1hdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgInJocyI6IG51bGwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgfQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0KLSAgICAgICAgICAgICAgICAgICAg
ICAgIH0sCi0gICAgICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgInR5cGUiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmlj
IjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJEYXRlIiwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAgICAgfQotICAgICAg
ICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAg
ICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAidGVzdDIiLAotICAgICAg
ICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJ0ZXN0MiIsCi0gICAgICAgICAgICAgICAgImV4dEF0
dHJzIjogW10KLSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImluaGVyaXRhbmNl
IjogbnVsbCwKLSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9Ci1dCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3Qvc3ludGF4L2pzb24vdmFyaWFkaWMtb3BlcmF0aW9ucy5qc29uIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3N5bnRheC9qc29uL3ZhcmlhZGljLW9wZXJhdGlvbnMuanNvbgpkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMzI4MGI3YjZhNzguLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50
YXgvanNvbi92YXJpYWRpYy1vcGVyYXRpb25zLmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSwxMDMg
KzAsMCBAQAotWwotICAgIHsKLSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAg
Im5hbWUiOiAiSW50ZWdlclNldCIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0gICAgICAg
ICJtZW1iZXJzIjogWwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogImF0
dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpbmhlcml0IjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5IjogdHJ1ZSwKLSAgICAgICAgICAgICAgICAi
aWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlLXR5cGUi
LAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAg
ICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAidW5zaWduZWQgbG9uZyIsCi0gICAg
ICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAg
ICAgICAgICAgICAibmFtZSI6ICJjYXJkaW5hbGl0eSIsCi0gICAgICAgICAgICAgICAgImVzY2Fw
ZWROYW1lIjogImNhcmRpbmFsaXR5IiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQot
ICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJv
cGVyYXRpb24iLAotICAgICAgICAgICAgICAgICJnZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAic2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImRlbGV0ZXIiOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmlu
Z2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAg
ICAgICAgICAgICJ0eXBlIjogInJldHVybi10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdl
bmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJp
ZGxUeXBlIjogInZvaWQiLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAg
ICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAidW5pb24iLAotICAgICAg
ICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJ1bmlvbiIsCi0gICAgICAgICAgICAgICAgImFyZ3Vt
ZW50cyI6IFsKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAg
Im9wdGlvbmFsIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAidmFyaWFkaWMiOiB0
cnVlLAotICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHQiOiBudWxsLAotICAgICAgICAg
ICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10sCi0gICAgICAgICAgICAgICAgICAgICAgICAi
aWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVu
dC10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgImlkbFR5cGUiOiAibG9uZyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4
dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAg
ICAgICAgICAibmFtZSI6ICJpbnRzIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJlc2NhcGVk
TmFtZSI6ICJpbnRzIgotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXSwK
LSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfSwKLSAgICAgICAg
ICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJvcGVyYXRpb24iLAotICAgICAgICAgICAg
ICAgICJnZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic2V0dGVyIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgImRlbGV0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RhdGlj
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInJldHVy
bi10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAg
ICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9u
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogInZvaWQiLAotICAgICAg
ICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAg
ICAgICAgICAgIm5hbWUiOiAiaW50ZXJzZWN0aW9uIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBl
ZE5hbWUiOiAiaW50ZXJzZWN0aW9uIiwKLSAgICAgICAgICAgICAgICAiYXJndW1lbnRzIjogWwot
ICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAib3B0aW9uYWwi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ2YXJpYWRpYyI6IHRydWUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdCI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAiZXh0QXR0cnMiOiBbXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjog
ewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImFyZ3VtZW50LXR5cGUiLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRs
VHlwZSI6ICJsb25nIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBb
XQotICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJu
YW1lIjogImludHMiLAotICAgICAgICAgICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImlu
dHMiCi0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAg
ICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAg
ICJpbmhlcml0YW5jZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgfQotXQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3N5bnRheC9qc29uL3czYy1pbXBvcnQubG9nCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwZTI5ZmU3ODM4OC4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29u
L3czYy1pbXBvcnQubG9nCisrKyAvZGV2L251bGwKQEAgLTEsNzAgKzAsMCBAQAotVGhlIHRlc3Rz
IGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnku
Ci1EbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQs
IGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1
Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdAotCi1UaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0
cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydAotCi1EbyBOT1QgbW9kaWZ5
IG9yIHJlbW92ZSB0aGlzIGZpbGUuCi0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotUHJvcGVydGllcyByZXF1
aXJpbmcgdmVuZG9yIHByZWZpeGVzOgotTm9uZQotUHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2
ZW5kb3IgcHJlZml4ZXM6Ci1Ob25lCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLUxpc3Qgb2YgZmlsZXM6Ci0v
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3N5bnRheC9qc29uL2FsbG93YW55Lmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pz
b24vYXR0cmlidXRlcy5qc29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2NhbGxiYWNrLmpzb24K
LS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vY29uc3RhbnRzLmpzb24KLS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4
L2pzb24vY29uc3RydWN0b3IuanNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9kaWN0aW9uYXJ5
LWluaGVyaXRzLmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vZGljdGlvbmFyeS5qc29uCi0v
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3N5bnRheC9qc29uL2RvY3VtZW50YXRpb24tZG9zLmpzb24KLS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
c3ludGF4L2pzb24vZG9jdW1lbnRhdGlvbi5qc29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2Vu
dW0uanNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9lcXVpdmFsZW50LWRlY2wuanNvbgotL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC9zeW50YXgvanNvbi9leGNlcHRpb24taW5oZXJpdGFuY2UuanNvbgotL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC9zeW50YXgvanNvbi9leHRlbmRlZC1hdHRyaWJ1dGVzLmpzb24KLS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4
L2pzb24vZ2VuZXJpYy5qc29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2dldHRlci1zZXR0ZXIu
anNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9pZGVudGlmaWVyLXF1YWxpZmllZC1uYW1lcy5q
c29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2ltcGxlbWVudHMuanNvbgotL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9z
eW50YXgvanNvbi9pbmRleGVkLXByb3BlcnRpZXMuanNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNv
bi9pbmhlcml0cy1nZXR0ZXIuanNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9pbnRlcmZhY2Ut
aW5oZXJpdHMuanNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9pdGVyYWJsZS5qc29uCi0vTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L3N5bnRheC9qc29uL2l0ZXJhdG9yLmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24v
bGVnYWN5aXRlcmFibGUuanNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9tYXBsaWtlLmpzb24K
LS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vbWl4aW4uanNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNv
bi9uYW1lZGNvbnN0cnVjdG9yLmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vbmFtZXNwYWNl
Lmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vbm9pbnRlcmZhY2VvYmplY3QuanNvbgotL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC9zeW50YXgvanNvbi9udWxsYWJsZS5qc29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29u
L251bGxhYmxlb2JqZWN0cy5qc29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL29wZXJhdGlvbi1v
cHRpb25hbC1hcmcuanNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9vdmVybG9hZGluZy5qc29u
Ci0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL292ZXJyaWRlYnVpbHRpbnMuanNvbgotL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC9zeW50YXgvanNvbi9wYXJ0aWFsLWludGVyZmFjZS5qc29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9q
c29uL3ByaW1pdGl2ZXMuanNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9wcm9taXNlLXZvaWQu
anNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9wcm90b3R5cGVyb290Lmpzb24KLS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvc3ludGF4L2pzb24vcHV0Zm9yd2FyZHMuanNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9y
ZWNvcmQuanNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9yZWctb3BlcmF0aW9ucy5qc29uCi0v
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3N5bnRheC9qc29uL3JlcGxhY2VhYmxlLmpzb24KLS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4
L2pzb24vc2VxdWVuY2UuanNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9zZXRsaWtlLmpzb24K
LS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vc3RhdGljLmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pz
b24vc3RyaW5naWZpZXItYXR0cmlidXRlLmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vc3Ry
aW5naWZpZXItY3VzdG9tLmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vc3RyaW5naWZpZXIu
anNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi90cmVhdGFzbnVsbC5qc29uCi0vTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3N5bnRheC9qc29uL3RyZWF0YXN1bmRlZmluZWQuanNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNv
bi90eXBlZGVmLXVuaW9uLmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vdHlwZWRlZi5qc29u
Ci0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL3R5cGVzdWZmaXhlcy5qc29uCi0vTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5
bnRheC9qc29uL3VuaW9udHlwZS5qc29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL3ZhcmlhZGlj
LW9wZXJhdGlvbnMuanNvbgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9vcHQvdHlwZWRl
Zi1uZXN0ZWQuanNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvb3B0L3R5cGVkZWYtbmVzdGVkLmpzb24K
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGYwNzk0ZTc0ZTA3Li4wMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvc3ludGF4L29wdC90eXBlZGVmLW5lc3RlZC5qc29uCisrKyAvZGV2L251
bGwKQEAgLTEsMyArMCwwIEBACi17Ci0gICAgImFsbG93TmVzdGVkVHlwZWRlZnMiOiB0cnVlCi19
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRh
eC9vcHQvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L29wdC93M2MtaW1wb3J0Lmxv
ZwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMmU4MTEyM2IwN2MuLjAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvb3B0L3czYy1pbXBvcnQubG9nCisrKyAvZGV2L251bGwK
QEAgLTEsMTcgKzAsMCBAQAotVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0
ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCi1EbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRp
cmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUg
V1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cwot
Ci1UaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0
byByZWltcG9ydAotCi1EbyBOT1QgbW9kaWZ5IG9yIHJlbW92ZSB0aGlzIGZpbGUuCi0KLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLQotUHJvcGVydGllcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgotTm9uZQot
UHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6Ci1Ob25lCi0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0KLUxpc3Qgb2YgZmlsZXM6Ci0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9vcHQvdHlwZWRlZi1u
ZXN0ZWQuanNvbgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3V0aWwvYWNxdWlyZS5qcyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC91dGlsL2FjcXVpcmUuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZmMzdk
ZDYwODNjLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvdXRpbC9hY3F1aXJlLmpzCisrKyAv
ZGV2L251bGwKQEAgLTEsOCArMCwwIEBACi0idXNlIHN0cmljdCI7Ci0KLWNvbnN0IHsgY29sbGVj
dCB9ID0gcmVxdWlyZSgiLi9jb2xsZWN0Iik7Ci1jb25zdCBmcyA9IHJlcXVpcmUoImZzIik7Ci0K
LWZvciAoY29uc3QgdGVzdCBvZiBjb2xsZWN0KCJzeW50YXgiKSkgewotICBmcy53cml0ZUZpbGVT
eW5jKHRlc3QuanNvblBhdGgsIGAke0pTT04uc3RyaW5naWZ5KHRlc3QuYXN0LCBudWxsLCA0KX1c
bmApCi19CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvdXRpbC9jb2xsZWN0LmpzIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3V0aWwvY29sbGVjdC5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggN2UzZDlkM2Jm
MzEuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC91dGlsL2NvbGxlY3QuanMKKysrIC9kZXYv
bnVsbApAQCAtMSw1OSArMCwwIEBACi0idXNlIHN0cmljdCI7Ci0KLWNvbnN0IHdwID0gcmVxdWly
ZSgiLi4vLi4vbGliL3dlYmlkbDIiKTsKLWNvbnN0IHB0aCA9IHJlcXVpcmUoInBhdGgiKTsKLWNv
bnN0IGZzID0gcmVxdWlyZSgiZnMiKTsKLWNvbnN0IGpkcCA9IHJlcXVpcmUoImpzb25kaWZmcGF0
Y2giKTsKLQotLyoqCi0gKiBDb2xsZWN0cyB0ZXN0IGl0ZW1zIGZyb20gdGhlIHNwZWNpZmllZCBk
aXJlY3RvcnkKLSAqIEBwYXJhbSB7c3RyaW5nfSBiYXNlCi0gKi8KLWZ1bmN0aW9uKiBjb2xsZWN0
KGJhc2UsIHsgZXhwZWN0RXJyb3IgfSA9IHt9KSB7Ci0gIGJhc2UgPSBwdGguam9pbihfX2Rpcm5h
bWUsICIuLiIsIGJhc2UpOwotICBjb25zdCBkaXIgPSBwdGguam9pbihiYXNlLCAiaWRsIik7Ci0g
IGNvbnN0IGlkbHMgPSBmcy5yZWFkZGlyU3luYyhkaXIpCi0gICAgLmZpbHRlcihpdCA9PiAoL1wu
d2lkbCQvKS50ZXN0KGl0KSkKLSAgICAubWFwKGl0ID0+IHB0aC5qb2luKGRpciwgaXQpKTsKLQot
ICBmb3IgKGNvbnN0IHBhdGggb2YgaWRscykgewotICAgIGNvbnN0IG9wdEZpbGUgPSBwdGguam9p
bihiYXNlLCAib3B0IiwgcHRoLmJhc2VuYW1lKHBhdGgpKS5yZXBsYWNlKCIud2lkbCIsICIuanNv
biIpOwotICAgIGxldCBvcHQ7Ci0gICAgaWYgKGZzLmV4aXN0c1N5bmMob3B0RmlsZSkpCi0gICAg
ICBvcHQgPSBKU09OLnBhcnNlKGZzLnJlYWRGaWxlU3luYyhvcHRGaWxlLCAidXRmOCIpKTsKLQot
ICAgIHRyeSB7Ci0gICAgICBjb25zdCBhc3QgPSB3cC5wYXJzZShmcy5yZWFkRmlsZVN5bmMocGF0
aCwgInV0ZjgiKS5yZXBsYWNlKC9cclxuL2csICJcbiIpLCBvcHQpOwotICAgICAgeWllbGQgbmV3
IFRlc3RJdGVtKHsgYXN0LCBwYXRoLCBvcHQgfSk7Ci0gICAgfQotICAgIGNhdGNoIChlcnJvcikg
ewotICAgICAgaWYgKGV4cGVjdEVycm9yKSB7Ci0gICAgICAgIHlpZWxkIG5ldyBUZXN0SXRlbSh7
IHBhdGgsIGVycm9yIH0pOwotICAgICAgfQotICAgICAgZWxzZSB7Ci0gICAgICAgIHRocm93IGVy
cm9yOwotICAgICAgfQotICAgIH0KLSAgfQotfTsKLQotCi1jbGFzcyBUZXN0SXRlbSB7Ci0gIGNv
bnN0cnVjdG9yKHsgYXN0LCBwYXRoLCBlcnJvciwgb3B0IH0pIHsKLSAgICB0aGlzLmFzdCA9IGFz
dDsKLSAgICB0aGlzLnBhdGggPSBwYXRoOwotICAgIHRoaXMuZXJyb3IgPSBlcnJvcjsKLSAgICB0
aGlzLm9wdCA9IG9wdDsKLSAgICB0aGlzLmpzb25QYXRoID0gcHRoLmpvaW4ocHRoLmRpcm5hbWUo
cGF0aCksICIuLi9qc29uIiwgcHRoLmJhc2VuYW1lKHBhdGgpLnJlcGxhY2UoIi53aWRsIiwgIi5q
c29uIikpOwotICB9Ci0KLSAgcmVhZEpTT04oKSB7Ci0gICAgcmV0dXJuIEpTT04ucGFyc2UoZnMu
cmVhZEZpbGVTeW5jKHRoaXMuanNvblBhdGgsICJ1dGY4IikpOwotICB9Ci0KLSAgZGlmZih0YXJn
ZXQgPSB0aGlzLnJlYWRKU09OKCkpIHsKLSAgICByZXR1cm4gamRwLmRpZmYodGFyZ2V0LCB0aGlz
LmFzdCk7Ci0gIH0KLX0KLQotbW9kdWxlLmV4cG9ydHMuY29sbGVjdCA9IGNvbGxlY3Q7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3QvdXRpbC93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC91dGlsL3cz
Yy1pbXBvcnQubG9nCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4YTViZDRkMDdhNy4u
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3V0aWwvdzNjLWltcG9ydC5sb2cKKysrIC9kZXYv
bnVsbApAQCAtMSwxOCArMCwwIEBACi1UaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBp
bXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KLURvIE5PVCBtb2RpZnkgdGhlc2UgdGVz
dHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9u
IHRoZSBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVzdHMv
d3B0Ci0KLVRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2Vi
S2l0IHRvIHJlaW1wb3J0Ci0KLURvIE5PVCBtb2RpZnkgb3IgcmVtb3ZlIHRoaXMgZmlsZS4KLQot
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tCi1Qcm9wZXJ0aWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6Ci1O
b25lCi1Qcm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKLU5vbmUKLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLQotTGlzdCBvZiBmaWxlczoKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvdXRpbC9hY3F1aXJlLmpz
Ci0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3V0aWwvY29sbGVjdC5qcwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3czYy1p
bXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3czYy1pbXBvcnQubG9nCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCA0N2I3Y2I5ZmU1Ni4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3czYy1p
bXBvcnQubG9nCisrKyAvZGV2L251bGwKQEAgLTEsMjAgKzAsMCBAQAotVGhlIHRlc3RzIGluIHRo
aXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCi1EbyBO
T1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQsIGNyZWF0
ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20v
d2ViLXBsYXRmb3JtLXRlc3RzL3dwdAotCi1UaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBv
cnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydAotCi1EbyBOT1QgbW9kaWZ5IG9yIHJl
bW92ZSB0aGlzIGZpbGUuCi0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotUHJvcGVydGllcyByZXF1aXJpbmcg
dmVuZG9yIHByZWZpeGVzOgotTm9uZQotUHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3Ig
cHJlZml4ZXM6Ci1Ob25lCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLUxpc3Qgb2YgZmlsZXM6Ci0vTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L2ludmFsaWQuanMKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvbW9jaGEub3B0cwotL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgu
anMKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvd3JpdGVyLmpzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2ViL21ha2Ut
d2ViLXRlc3RzLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dlYi9tYWtlLXdlYi10ZXN0cy5qcwpkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMTc3NDgwNjk5NGUuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC93ZWIvbWFrZS13ZWItdGVzdHMuanMKKysrIC9kZXYvbnVsbApAQCAtMSw1MiArMCwwIEBA
Ci0KLS8vIGdlbmVyYXRlcyB0ZXN0cyB0aGF0IHdvcmsgaW4gYSBicm93c2VyCi0KLS8vIFhYWAot
Ly8gIGhhdmUgaXQgcnVuIHRocm91Z2ggdmFsaWQgYW5kIGludmFsaWQgcHJvcGVybHkKLQotdmFy
IHB0aCA9IHJlcXVpcmUoInBhdGgiKQotLCAgIGZzID0gcmVxdWlyZSgiZnMiKQotLCAgIGRpciA9
IGZ1bmN0aW9uIChwYXRoKSB7Ci0gICAgICAgIHJldHVybiBwdGguam9pbihfX2Rpcm5hbWUsICIu
LiIsIHBhdGgpOwotICAgIH0KLSwgICBhbGxGcm9tRGlyID0gZnVuY3Rpb24gKGRpciwgZXh0LCBh
c0pTT04pIHsKLSAgICAgICAgcmV0dXJuIGZzLnJlYWRkaXJTeW5jKGRpcikKLSAgICAgICAgICAg
ICAgICAgLmZpbHRlcihmdW5jdGlvbiAoaXQpIHsgcmV0dXJuIGV4dC50ZXN0KGl0KTsgfSkKLSAg
ICAgICAgICAgICAgICAgLm1hcChmdW5jdGlvbiAoaXQpIHsKLSAgICAgICAgICAgICAgICAgICAg
IHZhciBjbnQgPSBmcy5yZWFkRmlsZVN5bmMocHRoLmpvaW4oZGlyLCBpdCksICJ1dGY4Iik7Ci0g
ICAgICAgICAgICAgICAgICAgICByZXR1cm4gYXNKU09OID8gSlNPTi5wYXJzZShjbnQpIDogY250
OwotICAgICAgICAgICAgICAgICB9KTsKLSAgICB9Ci0sICAgZGF0YSA9IHsKLSAgICAgICAgdmFs
aWQ6ICB7Ci0gICAgICAgICAgICBqc29uOiAgIGFsbEZyb21EaXIoZGlyKCJzeW50YXgvanNvbiIp
LCAvXC5qc29uJC8sIHRydWUpCi0gICAgICAgICwgICBpZGw6ICAgIGFsbEZyb21EaXIoZGlyKCJz
eW50YXgvaWRsIiksIC9cLnc/aWRsJC8sIGZhbHNlKQotICAgICAgICB9Ci0gICAgLCAgIGludmFs
aWQ6ewotICAgICAgICAgICAganNvbjogICBhbGxGcm9tRGlyKGRpcigiaW52YWxpZC9qc29uIiks
IC9cLmpzb24kLywgdHJ1ZSkKLSAgICAgICAgLCAgIGlkbDogICAgYWxsRnJvbURpcihkaXIoImlu
dmFsaWQvaWRsIiksIC9cLnc/aWRsJC8sIGZhbHNlKQotICAgICAgICB9Ci0gICAgfQotLCAgIGh0
bWwgPSBbCi0gICAgICAgICI8IURPQ1RZUEUgaHRtbD4iCi0gICAgLCAgICI8aHRtbD4iCi0gICAg
LCAgICIgIDxoZWFkPjxtZXRhIGNoYXJzZXQ9J3V0Zi04Jyc+PGxpbmsgcmVsPSdzdHlsZXNoZWV0
JyBocmVmPScuLi8uLi9ub2RlX21vZHVsZXMvbW9jaGEvbW9jaGEuY3NzJz4iCi0gICAgLCAgICIg
ICAgPHRpdGxlPldlYklETDIgQnJvd3NlciBUZXN0czwvdGl0bGU+IgotICAgICwgICAiICAgIDxz
Y3JpcHQ+dmFyIGRhdGEgPSAiICsgSlNPTi5zdHJpbmdpZnkoZGF0YSkgKyAiPC9zY3JpcHQ+Igot
ICAgICwgICAiICA8L2hlYWQ+IgotICAgICwgICAiICA8Ym9keT48ZGl2IGlkPSdtb2NoYSc+PC9k
aXY+IgotICAgICwgICAiICA8c2NyaXB0IHNyYz0naHR0cHM6Ly9hamF4Lmdvb2dsZWFwaXMuY29t
L2FqYXgvbGlicy9qcXVlcnkvMS44LjMvanF1ZXJ5Lm1pbi5qcyc+PC9zY3JpcHQ+IgotICAgICwg
ICAiICA8c2NyaXB0IHNyYz0nLi4vLi4vbm9kZV9tb2R1bGVzL2V4cGVjdC91bWQvZXhwZWN0Lm1p
bi5qcyc+PC9zY3JpcHQ+IgotICAgICwgICAiICA8c2NyaXB0IHNyYz0nLi4vLi4vbm9kZV9tb2R1
bGVzL2V4cGVjdC5qcy9pbmRleC5qcyc+PC9zY3JpcHQ+IgotICAgICwgICAiICA8c2NyaXB0IHNy
Yz0nLi4vLi4vbm9kZV9tb2R1bGVzL21vY2hhL21vY2hhLmpzJz48L3NjcmlwdD4iCi0gICAgLCAg
ICIgIDxzY3JpcHQgc3JjPScuLi8uLi9ub2RlX21vZHVsZXMvanNvbmRpZmZwYXRjaC9wdWJsaWMv
YnVpbGQvanNvbmRpZmZwYXRjaC5taW4uanMnPjwvc2NyaXB0PiIKLSAgICAsICAgIiAgPHNjcmlw
dCBzcmM9Jy4uLy4uL2xpYi93ZWJpZGwyLmpzJz48L3NjcmlwdD4iCi0gICAgLCAgICIgIDxzY3Jp
cHQ+bW9jaGEuc2V0dXAoJ2JkZCcpOzwvc2NyaXB0PiIKLSAgICAsICAgIiAgPHNjcmlwdCBzcmM9
J3J1bi10ZXN0cy5qcyc+PC9zY3JpcHQ+IgotICAgICwgICAiICA8c2NyaXB0Pm1vY2hhLnJ1bigp
Ozwvc2NyaXB0PiIKLSAgICAsICAgIiAgPC9ib2R5PiIKLSAgICAsICAgIjwvaHRtbD4iCi0gICAg
XS5qb2luKCJcbiIpCi07Ci0KLWZzLndyaXRlRmlsZVN5bmMoImJyb3dzZXItdGVzdHMuaHRtbCIs
IGh0bWwsICJ1dGY4Iik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2ViL3J1bi10ZXN0cy5qcyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC93ZWIvcnVuLXRlc3RzLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCA0NTJmNzk5YjJhNi4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dlYi9ydW4tdGVzdHMu
anMKKysrIC9kZXYvbnVsbApAQCAtMSw0OCArMCwwIEBACi0KLWRlc2NyaWJlKCJQYXJzZXMgYWxs
IG9mIHRoZSBJRExzIHRvIHByb2R1Y2UgdGhlIGNvcnJlY3QgQVNUcyIsIGZ1bmN0aW9uICgpIHsK
LSAgICBmb3IgKHZhciBpID0gMCwgbiA9IGRhdGEudmFsaWQuaWRsLmxlbmd0aDsgaSA8IG47IGkr
KykgewotICAgICAgICB2YXIgaWRsID0gZGF0YS52YWxpZC5pZGxbaV0sIGpzb24gPSBkYXRhLnZh
bGlkLmpzb25baV07Ci0gICAgICAgIHZhciBmdW5jID0gKGZ1bmN0aW9uIChpZGwsIGpzb24pIHsK
LSAgICAgICAgICAgIHJldHVybiBmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAgICAgICAgdHJ5IHsK
LSAgICAgICAgICAgICAgICAgICAgLy8gdGhlIEFTVCBjb250YWlucyBOYU4gYW5kICsvLUluZmlu
aXR5IHRoYXQgY2Fubm90IGJlIHNlcmlhbGlzZWQgdG8gSlNPTgotICAgICAgICAgICAgICAgICAg
ICAvLyB0aGUgc3RvcmVkIEpTT04gQVNUcyB1c2UgdGhlIHNhbWUgcmVwbGFjZW1lbnQgZnVuY3Rp
b24gYXMgaXMgdXNlZCBiZWxvdwotICAgICAgICAgICAgICAgICAgICAvLyBzbyB3ZSBjb21wYXJl
IGJhc2VkIG9uIHRoYXQKLSAgICAgICAgICAgICAgICAgICAgdmFyIGRpZmYgPSBqc29uZGlmZnBh
dGNoLmRpZmYoanNvbiwgV2ViSURMMi5wYXJzZShpZGwpKTsKLSAgICAgICAgICAgICAgICAgICAg
aWYgKGRpZmYgJiYgZGVidWcpIGNvbnNvbGUubG9nKEpTT04uc3RyaW5naWZ5KGRpZmYsIG51bGws
IDQpKTsKLSAgICAgICAgICAgICAgICAgICAgZXhwZWN0KGRpZmYpLnRvQmUodW5kZWZpbmVkKTsK
LSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgY2F0Y2ggKGUpIHsKLSAgICAgICAg
ICAgICAgICAgICAgY29uc29sZS5sb2coZS50b1N0cmluZygpKTsKLSAgICAgICAgICAgICAgICAg
ICAgdGhyb3cgZTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB9OwotICAgICAgICB9
KGlkbCwganNvbikpOwotICAgICAgICBpdCgic2hvdWxkIHByb2R1Y2UgdGhlIHNhbWUgQVNUIGZv
ciAiICsgaSwgZnVuYyk7Ci0gICAgfQotfSk7Ci0KLWRlc2NyaWJlKCJQYXJzZXMgYWxsIG9mIHRo
ZSBpbnZhbGlkIElETHMgdG8gY2hlY2sgdGhhdCB0aGV5IGJsb3cgdXAgY29ycmVjdGx5IiwgZnVu
Y3Rpb24gKCkgewotICAgIGZvciAodmFyIGkgPSAwLCBuID0gZGF0YS5pbnZhbGlkLmlkbC5sZW5n
dGg7IGkgPCBuOyBpKyspIHsKLSAgICAgICAgdmFyIGlkbCA9IGRhdGEuaW52YWxpZC5pZGxbaV0s
IGVycm9yID0gZGF0YS5pbnZhbGlkLmpzb25baV07Ci0gICAgICAgIHZhciBmdW5jID0gKGZ1bmN0
aW9uIChpZGwsIGVycikgewotICAgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uICgpIHsKLSAgICAg
ICAgICAgICAgICB2YXIgZXJyb3I7Ci0gICAgICAgICAgICAgICAgdHJ5IHsKLSAgICAgICAgICAg
ICAgICAgICAgdmFyIGFzdCA9IFdlYklETDIucGFyc2UoaWRsKTsKLSAgICAgICAgICAgICAgICAg
ICAgY29uc29sZS5sb2coSlNPTi5zdHJpbmdpZnkoYXN0LCBudWxsLCA0KSk7Ci0gICAgICAgICAg
ICAgICAgfQotICAgICAgICAgICAgICAgIGNhdGNoIChlKSB7Ci0gICAgICAgICAgICAgICAgICAg
IGVycm9yID0gZTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgZmluYWxseSB7
Ci0gICAgICAgICAgICAgICAgICAgIGV4cGVjdChlcnJvcikudG9FeGlzdCgpOwotICAgICAgICAg
ICAgICAgICAgICBleHBlY3QoZXJyb3IubWVzc2FnZSkudG9FcXVhbChlcnIubWVzc2FnZSk7Ci0g
ICAgICAgICAgICAgICAgICAgIGV4cGVjdChlcnJvci5saW5lKS50b0VxdWFsKGVyci5saW5lKTsK
LSAgICAgICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIH07Ci0gICAgICAgIH0oaWRsLCBlcnJv
cikpOwotICAgICAgICBpdCgic2hvdWxkIHByb2R1Y2UgdGhlIHJpZ2h0IGVycm9yIGZvciAiICsg
aSwgZnVuYyk7Ci0gICAgfQotfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2ViL3czYy1pbXBv
cnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L3dlYi93M2MtaW1wb3J0LmxvZwpkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggNDRiZGI5ZmI1NDUuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93ZWIv
dzNjLWltcG9ydC5sb2cKKysrIC9kZXYvbnVsbApAQCAtMSwxOCArMCwwIEBACi1UaGUgdGVzdHMg
aW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4K
LURvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVhZCwg
Y3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0aHVi
LmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0Ci0KLVRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRz
L2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0Ci0KLURvIE5PVCBtb2RpZnkg
b3IgcmVtb3ZlIHRoaXMgZmlsZS4KLQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1Qcm9wZXJ0aWVzIHJlcXVp
cmluZyB2ZW5kb3IgcHJlZml4ZXM6Ci1Ob25lCi1Qcm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5nIHZl
bmRvciBwcmVmaXhlczoKLU5vbmUKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotTGlzdCBvZiBmaWxlczoKLS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3Qvd2ViL21ha2Utd2ViLXRlc3RzLmpzCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dlYi9ydW4tdGVzdHMu
anMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9MSUNFTlNFIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dp
ZGxwcm9jL0xJQ0VOU0UKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQ2NDU2OTU2NzMz
Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvTElDRU5TRQorKysgL2Rldi9u
dWxsCkBAIC0xLDIwMiArMCwwIEBACi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IEFwYWNoZSBMaWNlbnNlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBWZXJzaW9uIDIuMCwg
SmFudWFyeSAyMDA0Ci0gICAgICAgICAgICAgICAgICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5v
cmcvbGljZW5zZXMvCi0KLSAgIFRFUk1TIEFORCBDT05ESVRJT05TIEZPUiBVU0UsIFJFUFJPRFVD
VElPTiwgQU5EIERJU1RSSUJVVElPTgotCi0gICAxLiBEZWZpbml0aW9ucy4KLQotICAgICAgIkxp
Y2Vuc2UiIHNoYWxsIG1lYW4gdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIGZvciB1c2UsIHJlcHJv
ZHVjdGlvbiwKLSAgICAgIGFuZCBkaXN0cmlidXRpb24gYXMgZGVmaW5lZCBieSBTZWN0aW9ucyAx
IHRocm91Z2ggOSBvZiB0aGlzIGRvY3VtZW50LgotCi0gICAgICAiTGljZW5zb3IiIHNoYWxsIG1l
YW4gdGhlIGNvcHlyaWdodCBvd25lciBvciBlbnRpdHkgYXV0aG9yaXplZCBieQotICAgICAgdGhl
IGNvcHlyaWdodCBvd25lciB0aGF0IGlzIGdyYW50aW5nIHRoZSBMaWNlbnNlLgotCi0gICAgICAi
TGVnYWwgRW50aXR5IiBzaGFsbCBtZWFuIHRoZSB1bmlvbiBvZiB0aGUgYWN0aW5nIGVudGl0eSBh
bmQgYWxsCi0gICAgICBvdGhlciBlbnRpdGllcyB0aGF0IGNvbnRyb2wsIGFyZSBjb250cm9sbGVk
IGJ5LCBvciBhcmUgdW5kZXIgY29tbW9uCi0gICAgICBjb250cm9sIHdpdGggdGhhdCBlbnRpdHku
IEZvciB0aGUgcHVycG9zZXMgb2YgdGhpcyBkZWZpbml0aW9uLAotICAgICAgImNvbnRyb2wiIG1l
YW5zIChpKSB0aGUgcG93ZXIsIGRpcmVjdCBvciBpbmRpcmVjdCwgdG8gY2F1c2UgdGhlCi0gICAg
ICBkaXJlY3Rpb24gb3IgbWFuYWdlbWVudCBvZiBzdWNoIGVudGl0eSwgd2hldGhlciBieSBjb250
cmFjdCBvcgotICAgICAgb3RoZXJ3aXNlLCBvciAoaWkpIG93bmVyc2hpcCBvZiBmaWZ0eSBwZXJj
ZW50ICg1MCUpIG9yIG1vcmUgb2YgdGhlCi0gICAgICBvdXRzdGFuZGluZyBzaGFyZXMsIG9yIChp
aWkpIGJlbmVmaWNpYWwgb3duZXJzaGlwIG9mIHN1Y2ggZW50aXR5LgotCi0gICAgICAiWW91IiAo
b3IgIllvdXIiKSBzaGFsbCBtZWFuIGFuIGluZGl2aWR1YWwgb3IgTGVnYWwgRW50aXR5Ci0gICAg
ICBleGVyY2lzaW5nIHBlcm1pc3Npb25zIGdyYW50ZWQgYnkgdGhpcyBMaWNlbnNlLgotCi0gICAg
ICAiU291cmNlIiBmb3JtIHNoYWxsIG1lYW4gdGhlIHByZWZlcnJlZCBmb3JtIGZvciBtYWtpbmcg
bW9kaWZpY2F0aW9ucywKLSAgICAgIGluY2x1ZGluZyBidXQgbm90IGxpbWl0ZWQgdG8gc29mdHdh
cmUgc291cmNlIGNvZGUsIGRvY3VtZW50YXRpb24KLSAgICAgIHNvdXJjZSwgYW5kIGNvbmZpZ3Vy
YXRpb24gZmlsZXMuCi0KLSAgICAgICJPYmplY3QiIGZvcm0gc2hhbGwgbWVhbiBhbnkgZm9ybSBy
ZXN1bHRpbmcgZnJvbSBtZWNoYW5pY2FsCi0gICAgICB0cmFuc2Zvcm1hdGlvbiBvciB0cmFuc2xh
dGlvbiBvZiBhIFNvdXJjZSBmb3JtLCBpbmNsdWRpbmcgYnV0Ci0gICAgICBub3QgbGltaXRlZCB0
byBjb21waWxlZCBvYmplY3QgY29kZSwgZ2VuZXJhdGVkIGRvY3VtZW50YXRpb24sCi0gICAgICBh
bmQgY29udmVyc2lvbnMgdG8gb3RoZXIgbWVkaWEgdHlwZXMuCi0KLSAgICAgICJXb3JrIiBzaGFs
bCBtZWFuIHRoZSB3b3JrIG9mIGF1dGhvcnNoaXAsIHdoZXRoZXIgaW4gU291cmNlIG9yCi0gICAg
ICBPYmplY3QgZm9ybSwgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIExpY2Vuc2UsIGFzIGluZGlj
YXRlZCBieSBhCi0gICAgICBjb3B5cmlnaHQgbm90aWNlIHRoYXQgaXMgaW5jbHVkZWQgaW4gb3Ig
YXR0YWNoZWQgdG8gdGhlIHdvcmsKLSAgICAgIChhbiBleGFtcGxlIGlzIHByb3ZpZGVkIGluIHRo
ZSBBcHBlbmRpeCBiZWxvdykuCi0KLSAgICAgICJEZXJpdmF0aXZlIFdvcmtzIiBzaGFsbCBtZWFu
IGFueSB3b3JrLCB3aGV0aGVyIGluIFNvdXJjZSBvciBPYmplY3QKLSAgICAgIGZvcm0sIHRoYXQg
aXMgYmFzZWQgb24gKG9yIGRlcml2ZWQgZnJvbSkgdGhlIFdvcmsgYW5kIGZvciB3aGljaCB0aGUK
LSAgICAgIGVkaXRvcmlhbCByZXZpc2lvbnMsIGFubm90YXRpb25zLCBlbGFib3JhdGlvbnMsIG9y
IG90aGVyIG1vZGlmaWNhdGlvbnMKLSAgICAgIHJlcHJlc2VudCwgYXMgYSB3aG9sZSwgYW4gb3Jp
Z2luYWwgd29yayBvZiBhdXRob3JzaGlwLiBGb3IgdGhlIHB1cnBvc2VzCi0gICAgICBvZiB0aGlz
IExpY2Vuc2UsIERlcml2YXRpdmUgV29ya3Mgc2hhbGwgbm90IGluY2x1ZGUgd29ya3MgdGhhdCBy
ZW1haW4KLSAgICAgIHNlcGFyYWJsZSBmcm9tLCBvciBtZXJlbHkgbGluayAob3IgYmluZCBieSBu
YW1lKSB0byB0aGUgaW50ZXJmYWNlcyBvZiwKLSAgICAgIHRoZSBXb3JrIGFuZCBEZXJpdmF0aXZl
IFdvcmtzIHRoZXJlb2YuCi0KLSAgICAgICJDb250cmlidXRpb24iIHNoYWxsIG1lYW4gYW55IHdv
cmsgb2YgYXV0aG9yc2hpcCwgaW5jbHVkaW5nCi0gICAgICB0aGUgb3JpZ2luYWwgdmVyc2lvbiBv
ZiB0aGUgV29yayBhbmQgYW55IG1vZGlmaWNhdGlvbnMgb3IgYWRkaXRpb25zCi0gICAgICB0byB0
aGF0IFdvcmsgb3IgRGVyaXZhdGl2ZSBXb3JrcyB0aGVyZW9mLCB0aGF0IGlzIGludGVudGlvbmFs
bHkKLSAgICAgIHN1Ym1pdHRlZCB0byBMaWNlbnNvciBmb3IgaW5jbHVzaW9uIGluIHRoZSBXb3Jr
IGJ5IHRoZSBjb3B5cmlnaHQgb3duZXIKLSAgICAgIG9yIGJ5IGFuIGluZGl2aWR1YWwgb3IgTGVn
YWwgRW50aXR5IGF1dGhvcml6ZWQgdG8gc3VibWl0IG9uIGJlaGFsZiBvZgotICAgICAgdGhlIGNv
cHlyaWdodCBvd25lci4gRm9yIHRoZSBwdXJwb3NlcyBvZiB0aGlzIGRlZmluaXRpb24sICJzdWJt
aXR0ZWQiCi0gICAgICBtZWFucyBhbnkgZm9ybSBvZiBlbGVjdHJvbmljLCB2ZXJiYWwsIG9yIHdy
aXR0ZW4gY29tbXVuaWNhdGlvbiBzZW50Ci0gICAgICB0byB0aGUgTGljZW5zb3Igb3IgaXRzIHJl
cHJlc2VudGF0aXZlcywgaW5jbHVkaW5nIGJ1dCBub3QgbGltaXRlZCB0bwotICAgICAgY29tbXVu
aWNhdGlvbiBvbiBlbGVjdHJvbmljIG1haWxpbmcgbGlzdHMsIHNvdXJjZSBjb2RlIGNvbnRyb2wg
c3lzdGVtcywKLSAgICAgIGFuZCBpc3N1ZSB0cmFja2luZyBzeXN0ZW1zIHRoYXQgYXJlIG1hbmFn
ZWQgYnksIG9yIG9uIGJlaGFsZiBvZiwgdGhlCi0gICAgICBMaWNlbnNvciBmb3IgdGhlIHB1cnBv
c2Ugb2YgZGlzY3Vzc2luZyBhbmQgaW1wcm92aW5nIHRoZSBXb3JrLCBidXQKLSAgICAgIGV4Y2x1
ZGluZyBjb21tdW5pY2F0aW9uIHRoYXQgaXMgY29uc3BpY3VvdXNseSBtYXJrZWQgb3Igb3RoZXJ3
aXNlCi0gICAgICBkZXNpZ25hdGVkIGluIHdyaXRpbmcgYnkgdGhlIGNvcHlyaWdodCBvd25lciBh
cyAiTm90IGEgQ29udHJpYnV0aW9uLiIKLQotICAgICAgIkNvbnRyaWJ1dG9yIiBzaGFsbCBtZWFu
IExpY2Vuc29yIGFuZCBhbnkgaW5kaXZpZHVhbCBvciBMZWdhbCBFbnRpdHkKLSAgICAgIG9uIGJl
aGFsZiBvZiB3aG9tIGEgQ29udHJpYnV0aW9uIGhhcyBiZWVuIHJlY2VpdmVkIGJ5IExpY2Vuc29y
IGFuZAotICAgICAgc3Vic2VxdWVudGx5IGluY29ycG9yYXRlZCB3aXRoaW4gdGhlIFdvcmsuCi0K
LSAgIDIuIEdyYW50IG9mIENvcHlyaWdodCBMaWNlbnNlLiBTdWJqZWN0IHRvIHRoZSB0ZXJtcyBh
bmQgY29uZGl0aW9ucyBvZgotICAgICAgdGhpcyBMaWNlbnNlLCBlYWNoIENvbnRyaWJ1dG9yIGhl
cmVieSBncmFudHMgdG8gWW91IGEgcGVycGV0dWFsLAotICAgICAgd29ybGR3aWRlLCBub24tZXhj
bHVzaXZlLCBuby1jaGFyZ2UsIHJveWFsdHktZnJlZSwgaXJyZXZvY2FibGUKLSAgICAgIGNvcHly
aWdodCBsaWNlbnNlIHRvIHJlcHJvZHVjZSwgcHJlcGFyZSBEZXJpdmF0aXZlIFdvcmtzIG9mLAot
ICAgICAgcHVibGljbHkgZGlzcGxheSwgcHVibGljbHkgcGVyZm9ybSwgc3VibGljZW5zZSwgYW5k
IGRpc3RyaWJ1dGUgdGhlCi0gICAgICBXb3JrIGFuZCBzdWNoIERlcml2YXRpdmUgV29ya3MgaW4g
U291cmNlIG9yIE9iamVjdCBmb3JtLgotCi0gICAzLiBHcmFudCBvZiBQYXRlbnQgTGljZW5zZS4g
U3ViamVjdCB0byB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgb2YKLSAgICAgIHRoaXMgTGljZW5z
ZSwgZWFjaCBDb250cmlidXRvciBoZXJlYnkgZ3JhbnRzIHRvIFlvdSBhIHBlcnBldHVhbCwKLSAg
ICAgIHdvcmxkd2lkZSwgbm9uLWV4Y2x1c2l2ZSwgbm8tY2hhcmdlLCByb3lhbHR5LWZyZWUsIGly
cmV2b2NhYmxlCi0gICAgICAoZXhjZXB0IGFzIHN0YXRlZCBpbiB0aGlzIHNlY3Rpb24pIHBhdGVu
dCBsaWNlbnNlIHRvIG1ha2UsIGhhdmUgbWFkZSwKLSAgICAgIHVzZSwgb2ZmZXIgdG8gc2VsbCwg
c2VsbCwgaW1wb3J0LCBhbmQgb3RoZXJ3aXNlIHRyYW5zZmVyIHRoZSBXb3JrLAotICAgICAgd2hl
cmUgc3VjaCBsaWNlbnNlIGFwcGxpZXMgb25seSB0byB0aG9zZSBwYXRlbnQgY2xhaW1zIGxpY2Vu
c2FibGUKLSAgICAgIGJ5IHN1Y2ggQ29udHJpYnV0b3IgdGhhdCBhcmUgbmVjZXNzYXJpbHkgaW5m
cmluZ2VkIGJ5IHRoZWlyCi0gICAgICBDb250cmlidXRpb24ocykgYWxvbmUgb3IgYnkgY29tYmlu
YXRpb24gb2YgdGhlaXIgQ29udHJpYnV0aW9uKHMpCi0gICAgICB3aXRoIHRoZSBXb3JrIHRvIHdo
aWNoIHN1Y2ggQ29udHJpYnV0aW9uKHMpIHdhcyBzdWJtaXR0ZWQuIElmIFlvdQotICAgICAgaW5z
dGl0dXRlIHBhdGVudCBsaXRpZ2F0aW9uIGFnYWluc3QgYW55IGVudGl0eSAoaW5jbHVkaW5nIGEK
LSAgICAgIGNyb3NzLWNsYWltIG9yIGNvdW50ZXJjbGFpbSBpbiBhIGxhd3N1aXQpIGFsbGVnaW5n
IHRoYXQgdGhlIFdvcmsKLSAgICAgIG9yIGEgQ29udHJpYnV0aW9uIGluY29ycG9yYXRlZCB3aXRo
aW4gdGhlIFdvcmsgY29uc3RpdHV0ZXMgZGlyZWN0Ci0gICAgICBvciBjb250cmlidXRvcnkgcGF0
ZW50IGluZnJpbmdlbWVudCwgdGhlbiBhbnkgcGF0ZW50IGxpY2Vuc2VzCi0gICAgICBncmFudGVk
IHRvIFlvdSB1bmRlciB0aGlzIExpY2Vuc2UgZm9yIHRoYXQgV29yayBzaGFsbCB0ZXJtaW5hdGUK
LSAgICAgIGFzIG9mIHRoZSBkYXRlIHN1Y2ggbGl0aWdhdGlvbiBpcyBmaWxlZC4KLQotICAgNC4g
UmVkaXN0cmlidXRpb24uIFlvdSBtYXkgcmVwcm9kdWNlIGFuZCBkaXN0cmlidXRlIGNvcGllcyBv
ZiB0aGUKLSAgICAgIFdvcmsgb3IgRGVyaXZhdGl2ZSBXb3JrcyB0aGVyZW9mIGluIGFueSBtZWRp
dW0sIHdpdGggb3Igd2l0aG91dAotICAgICAgbW9kaWZpY2F0aW9ucywgYW5kIGluIFNvdXJjZSBv
ciBPYmplY3QgZm9ybSwgcHJvdmlkZWQgdGhhdCBZb3UKLSAgICAgIG1lZXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zOgotCi0gICAgICAoYSkgWW91IG11c3QgZ2l2ZSBhbnkgb3RoZXIgcmVjaXBp
ZW50cyBvZiB0aGUgV29yayBvcgotICAgICAgICAgIERlcml2YXRpdmUgV29ya3MgYSBjb3B5IG9m
IHRoaXMgTGljZW5zZTsgYW5kCi0KLSAgICAgIChiKSBZb3UgbXVzdCBjYXVzZSBhbnkgbW9kaWZp
ZWQgZmlsZXMgdG8gY2FycnkgcHJvbWluZW50IG5vdGljZXMKLSAgICAgICAgICBzdGF0aW5nIHRo
YXQgWW91IGNoYW5nZWQgdGhlIGZpbGVzOyBhbmQKLQotICAgICAgKGMpIFlvdSBtdXN0IHJldGFp
biwgaW4gdGhlIFNvdXJjZSBmb3JtIG9mIGFueSBEZXJpdmF0aXZlIFdvcmtzCi0gICAgICAgICAg
dGhhdCBZb3UgZGlzdHJpYnV0ZSwgYWxsIGNvcHlyaWdodCwgcGF0ZW50LCB0cmFkZW1hcmssIGFu
ZAotICAgICAgICAgIGF0dHJpYnV0aW9uIG5vdGljZXMgZnJvbSB0aGUgU291cmNlIGZvcm0gb2Yg
dGhlIFdvcmssCi0gICAgICAgICAgZXhjbHVkaW5nIHRob3NlIG5vdGljZXMgdGhhdCBkbyBub3Qg
cGVydGFpbiB0byBhbnkgcGFydCBvZgotICAgICAgICAgIHRoZSBEZXJpdmF0aXZlIFdvcmtzOyBh
bmQKLQotICAgICAgKGQpIElmIHRoZSBXb3JrIGluY2x1ZGVzIGEgIk5PVElDRSIgdGV4dCBmaWxl
IGFzIHBhcnQgb2YgaXRzCi0gICAgICAgICAgZGlzdHJpYnV0aW9uLCB0aGVuIGFueSBEZXJpdmF0
aXZlIFdvcmtzIHRoYXQgWW91IGRpc3RyaWJ1dGUgbXVzdAotICAgICAgICAgIGluY2x1ZGUgYSBy
ZWFkYWJsZSBjb3B5IG9mIHRoZSBhdHRyaWJ1dGlvbiBub3RpY2VzIGNvbnRhaW5lZAotICAgICAg
ICAgIHdpdGhpbiBzdWNoIE5PVElDRSBmaWxlLCBleGNsdWRpbmcgdGhvc2Ugbm90aWNlcyB0aGF0
IGRvIG5vdAotICAgICAgICAgIHBlcnRhaW4gdG8gYW55IHBhcnQgb2YgdGhlIERlcml2YXRpdmUg
V29ya3MsIGluIGF0IGxlYXN0IG9uZQotICAgICAgICAgIG9mIHRoZSBmb2xsb3dpbmcgcGxhY2Vz
OiB3aXRoaW4gYSBOT1RJQ0UgdGV4dCBmaWxlIGRpc3RyaWJ1dGVkCi0gICAgICAgICAgYXMgcGFy
dCBvZiB0aGUgRGVyaXZhdGl2ZSBXb3Jrczsgd2l0aGluIHRoZSBTb3VyY2UgZm9ybSBvcgotICAg
ICAgICAgIGRvY3VtZW50YXRpb24sIGlmIHByb3ZpZGVkIGFsb25nIHdpdGggdGhlIERlcml2YXRp
dmUgV29ya3M7IG9yLAotICAgICAgICAgIHdpdGhpbiBhIGRpc3BsYXkgZ2VuZXJhdGVkIGJ5IHRo
ZSBEZXJpdmF0aXZlIFdvcmtzLCBpZiBhbmQKLSAgICAgICAgICB3aGVyZXZlciBzdWNoIHRoaXJk
LXBhcnR5IG5vdGljZXMgbm9ybWFsbHkgYXBwZWFyLiBUaGUgY29udGVudHMKLSAgICAgICAgICBv
ZiB0aGUgTk9USUNFIGZpbGUgYXJlIGZvciBpbmZvcm1hdGlvbmFsIHB1cnBvc2VzIG9ubHkgYW5k
Ci0gICAgICAgICAgZG8gbm90IG1vZGlmeSB0aGUgTGljZW5zZS4gWW91IG1heSBhZGQgWW91ciBv
d24gYXR0cmlidXRpb24KLSAgICAgICAgICBub3RpY2VzIHdpdGhpbiBEZXJpdmF0aXZlIFdvcmtz
IHRoYXQgWW91IGRpc3RyaWJ1dGUsIGFsb25nc2lkZQotICAgICAgICAgIG9yIGFzIGFuIGFkZGVu
ZHVtIHRvIHRoZSBOT1RJQ0UgdGV4dCBmcm9tIHRoZSBXb3JrLCBwcm92aWRlZAotICAgICAgICAg
IHRoYXQgc3VjaCBhZGRpdGlvbmFsIGF0dHJpYnV0aW9uIG5vdGljZXMgY2Fubm90IGJlIGNvbnN0
cnVlZAotICAgICAgICAgIGFzIG1vZGlmeWluZyB0aGUgTGljZW5zZS4KLQotICAgICAgWW91IG1h
eSBhZGQgWW91ciBvd24gY29weXJpZ2h0IHN0YXRlbWVudCB0byBZb3VyIG1vZGlmaWNhdGlvbnMg
YW5kCi0gICAgICBtYXkgcHJvdmlkZSBhZGRpdGlvbmFsIG9yIGRpZmZlcmVudCBsaWNlbnNlIHRl
cm1zIGFuZCBjb25kaXRpb25zCi0gICAgICBmb3IgdXNlLCByZXByb2R1Y3Rpb24sIG9yIGRpc3Ry
aWJ1dGlvbiBvZiBZb3VyIG1vZGlmaWNhdGlvbnMsIG9yCi0gICAgICBmb3IgYW55IHN1Y2ggRGVy
aXZhdGl2ZSBXb3JrcyBhcyBhIHdob2xlLCBwcm92aWRlZCBZb3VyIHVzZSwKLSAgICAgIHJlcHJv
ZHVjdGlvbiwgYW5kIGRpc3RyaWJ1dGlvbiBvZiB0aGUgV29yayBvdGhlcndpc2UgY29tcGxpZXMg
d2l0aAotICAgICAgdGhlIGNvbmRpdGlvbnMgc3RhdGVkIGluIHRoaXMgTGljZW5zZS4KLQotICAg
NS4gU3VibWlzc2lvbiBvZiBDb250cmlidXRpb25zLiBVbmxlc3MgWW91IGV4cGxpY2l0bHkgc3Rh
dGUgb3RoZXJ3aXNlLAotICAgICAgYW55IENvbnRyaWJ1dGlvbiBpbnRlbnRpb25hbGx5IHN1Ym1p
dHRlZCBmb3IgaW5jbHVzaW9uIGluIHRoZSBXb3JrCi0gICAgICBieSBZb3UgdG8gdGhlIExpY2Vu
c29yIHNoYWxsIGJlIHVuZGVyIHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZgotICAgICAgdGhp
cyBMaWNlbnNlLCB3aXRob3V0IGFueSBhZGRpdGlvbmFsIHRlcm1zIG9yIGNvbmRpdGlvbnMuCi0g
ICAgICBOb3R3aXRoc3RhbmRpbmcgdGhlIGFib3ZlLCBub3RoaW5nIGhlcmVpbiBzaGFsbCBzdXBl
cnNlZGUgb3IgbW9kaWZ5Ci0gICAgICB0aGUgdGVybXMgb2YgYW55IHNlcGFyYXRlIGxpY2Vuc2Ug
YWdyZWVtZW50IHlvdSBtYXkgaGF2ZSBleGVjdXRlZAotICAgICAgd2l0aCBMaWNlbnNvciByZWdh
cmRpbmcgc3VjaCBDb250cmlidXRpb25zLgotCi0gICA2LiBUcmFkZW1hcmtzLiBUaGlzIExpY2Vu
c2UgZG9lcyBub3QgZ3JhbnQgcGVybWlzc2lvbiB0byB1c2UgdGhlIHRyYWRlCi0gICAgICBuYW1l
cywgdHJhZGVtYXJrcywgc2VydmljZSBtYXJrcywgb3IgcHJvZHVjdCBuYW1lcyBvZiB0aGUgTGlj
ZW5zb3IsCi0gICAgICBleGNlcHQgYXMgcmVxdWlyZWQgZm9yIHJlYXNvbmFibGUgYW5kIGN1c3Rv
bWFyeSB1c2UgaW4gZGVzY3JpYmluZyB0aGUKLSAgICAgIG9yaWdpbiBvZiB0aGUgV29yayBhbmQg
cmVwcm9kdWNpbmcgdGhlIGNvbnRlbnQgb2YgdGhlIE5PVElDRSBmaWxlLgotCi0gICA3LiBEaXNj
bGFpbWVyIG9mIFdhcnJhbnR5LiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IK
LSAgICAgIGFncmVlZCB0byBpbiB3cml0aW5nLCBMaWNlbnNvciBwcm92aWRlcyB0aGUgV29yayAo
YW5kIGVhY2gKLSAgICAgIENvbnRyaWJ1dG9yIHByb3ZpZGVzIGl0cyBDb250cmlidXRpb25zKSBv
biBhbiAiQVMgSVMiIEJBU0lTLAotICAgICAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElP
TlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yCi0gICAgICBpbXBsaWVkLCBpbmNsdWRp
bmcsIHdpdGhvdXQgbGltaXRhdGlvbiwgYW55IHdhcnJhbnRpZXMgb3IgY29uZGl0aW9ucwotICAg
ICAgb2YgVElUTEUsIE5PTi1JTkZSSU5HRU1FTlQsIE1FUkNIQU5UQUJJTElUWSwgb3IgRklUTkVT
UyBGT1IgQQotICAgICAgUEFSVElDVUxBUiBQVVJQT1NFLiBZb3UgYXJlIHNvbGVseSByZXNwb25z
aWJsZSBmb3IgZGV0ZXJtaW5pbmcgdGhlCi0gICAgICBhcHByb3ByaWF0ZW5lc3Mgb2YgdXNpbmcg
b3IgcmVkaXN0cmlidXRpbmcgdGhlIFdvcmsgYW5kIGFzc3VtZSBhbnkKLSAgICAgIHJpc2tzIGFz
c29jaWF0ZWQgd2l0aCBZb3VyIGV4ZXJjaXNlIG9mIHBlcm1pc3Npb25zIHVuZGVyIHRoaXMgTGlj
ZW5zZS4KLQotICAgOC4gTGltaXRhdGlvbiBvZiBMaWFiaWxpdHkuIEluIG5vIGV2ZW50IGFuZCB1
bmRlciBubyBsZWdhbCB0aGVvcnksCi0gICAgICB3aGV0aGVyIGluIHRvcnQgKGluY2x1ZGluZyBu
ZWdsaWdlbmNlKSwgY29udHJhY3QsIG9yIG90aGVyd2lzZSwKLSAgICAgIHVubGVzcyByZXF1aXJl
ZCBieSBhcHBsaWNhYmxlIGxhdyAoc3VjaCBhcyBkZWxpYmVyYXRlIGFuZCBncm9zc2x5Ci0gICAg
ICBuZWdsaWdlbnQgYWN0cykgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNoYWxsIGFueSBDb250
cmlidXRvciBiZQotICAgICAgbGlhYmxlIHRvIFlvdSBmb3IgZGFtYWdlcywgaW5jbHVkaW5nIGFu
eSBkaXJlY3QsIGluZGlyZWN0LCBzcGVjaWFsLAotICAgICAgaW5jaWRlbnRhbCwgb3IgY29uc2Vx
dWVudGlhbCBkYW1hZ2VzIG9mIGFueSBjaGFyYWN0ZXIgYXJpc2luZyBhcyBhCi0gICAgICByZXN1
bHQgb2YgdGhpcyBMaWNlbnNlIG9yIG91dCBvZiB0aGUgdXNlIG9yIGluYWJpbGl0eSB0byB1c2Ug
dGhlCi0gICAgICBXb3JrIChpbmNsdWRpbmcgYnV0IG5vdCBsaW1pdGVkIHRvIGRhbWFnZXMgZm9y
IGxvc3Mgb2YgZ29vZHdpbGwsCi0gICAgICB3b3JrIHN0b3BwYWdlLCBjb21wdXRlciBmYWlsdXJl
IG9yIG1hbGZ1bmN0aW9uLCBvciBhbnkgYW5kIGFsbAotICAgICAgb3RoZXIgY29tbWVyY2lhbCBk
YW1hZ2VzIG9yIGxvc3NlcyksIGV2ZW4gaWYgc3VjaCBDb250cmlidXRvcgotICAgICAgaGFzIGJl
ZW4gYWR2aXNlZCBvZiB0aGUgcG9zc2liaWxpdHkgb2Ygc3VjaCBkYW1hZ2VzLgotCi0gICA5LiBB
Y2NlcHRpbmcgV2FycmFudHkgb3IgQWRkaXRpb25hbCBMaWFiaWxpdHkuIFdoaWxlIHJlZGlzdHJp
YnV0aW5nCi0gICAgICB0aGUgV29yayBvciBEZXJpdmF0aXZlIFdvcmtzIHRoZXJlb2YsIFlvdSBt
YXkgY2hvb3NlIHRvIG9mZmVyLAotICAgICAgYW5kIGNoYXJnZSBhIGZlZSBmb3IsIGFjY2VwdGFu
Y2Ugb2Ygc3VwcG9ydCwgd2FycmFudHksIGluZGVtbml0eSwKLSAgICAgIG9yIG90aGVyIGxpYWJp
bGl0eSBvYmxpZ2F0aW9ucyBhbmQvb3IgcmlnaHRzIGNvbnNpc3RlbnQgd2l0aCB0aGlzCi0gICAg
ICBMaWNlbnNlLiBIb3dldmVyLCBpbiBhY2NlcHRpbmcgc3VjaCBvYmxpZ2F0aW9ucywgWW91IG1h
eSBhY3Qgb25seQotICAgICAgb24gWW91ciBvd24gYmVoYWxmIGFuZCBvbiBZb3VyIHNvbGUgcmVz
cG9uc2liaWxpdHksIG5vdCBvbiBiZWhhbGYKLSAgICAgIG9mIGFueSBvdGhlciBDb250cmlidXRv
ciwgYW5kIG9ubHkgaWYgWW91IGFncmVlIHRvIGluZGVtbmlmeSwKLSAgICAgIGRlZmVuZCwgYW5k
IGhvbGQgZWFjaCBDb250cmlidXRvciBoYXJtbGVzcyBmb3IgYW55IGxpYWJpbGl0eQotICAgICAg
aW5jdXJyZWQgYnksIG9yIGNsYWltcyBhc3NlcnRlZCBhZ2FpbnN0LCBzdWNoIENvbnRyaWJ1dG9y
IGJ5IHJlYXNvbgotICAgICAgb2YgeW91ciBhY2NlcHRpbmcgYW55IHN1Y2ggd2FycmFudHkgb3Ig
YWRkaXRpb25hbCBsaWFiaWxpdHkuCi0KLSAgIEVORCBPRiBURVJNUyBBTkQgQ09ORElUSU9OUwot
Ci0gICBBUFBFTkRJWDogSG93IHRvIGFwcGx5IHRoZSBBcGFjaGUgTGljZW5zZSB0byB5b3VyIHdv
cmsuCi0KLSAgICAgIFRvIGFwcGx5IHRoZSBBcGFjaGUgTGljZW5zZSB0byB5b3VyIHdvcmssIGF0
dGFjaCB0aGUgZm9sbG93aW5nCi0gICAgICBib2lsZXJwbGF0ZSBub3RpY2UsIHdpdGggdGhlIGZp
ZWxkcyBlbmNsb3NlZCBieSBicmFja2V0cyAiW10iCi0gICAgICByZXBsYWNlZCB3aXRoIHlvdXIg
b3duIGlkZW50aWZ5aW5nIGluZm9ybWF0aW9uLiAoRG9uJ3QgaW5jbHVkZQotICAgICAgdGhlIGJy
YWNrZXRzISkgIFRoZSB0ZXh0IHNob3VsZCBiZSBlbmNsb3NlZCBpbiB0aGUgYXBwcm9wcmlhdGUK
LSAgICAgIGNvbW1lbnQgc3ludGF4IGZvciB0aGUgZmlsZSBmb3JtYXQuIFdlIGFsc28gcmVjb21t
ZW5kIHRoYXQgYQotICAgICAgZmlsZSBvciBjbGFzcyBuYW1lIGFuZCBkZXNjcmlwdGlvbiBvZiBw
dXJwb3NlIGJlIGluY2x1ZGVkIG9uIHRoZQotICAgICAgc2FtZSAicHJpbnRlZCBwYWdlIiBhcyB0
aGUgY29weXJpZ2h0IG5vdGljZSBmb3IgZWFzaWVyCi0gICAgICBpZGVudGlmaWNhdGlvbiB3aXRo
aW4gdGhpcmQtcGFydHkgYXJjaGl2ZXMuCi0KLSAgIENvcHlyaWdodCBbeXl5eV0gW25hbWUgb2Yg
Y29weXJpZ2h0IG93bmVyXQotCi0gICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2Us
IFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKLSAgIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZp
bGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KLSAgIFlvdSBtYXkgb2J0
YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAotCi0gICAgICAgaHR0cDovL3d3dy5hcGFjaGUu
b3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCi0KLSAgIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNh
YmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKLSAgIGRpc3RyaWJ1dGVk
IHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCi0g
ICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4
cHJlc3Mgb3IgaW1wbGllZC4KLSAgIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxh
bmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKLSAgIGxpbWl0YXRpb25zIHVuZGVyIHRo
ZSBMaWNlbnNlLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL01ha2VmaWxlIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L3dpZGxwcm9jL01ha2VmaWxlCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBk
NTE3NDY2ZTQ4ZC4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL01ha2VmaWxl
CisrKyAvZGV2L251bGwKQEAgLTEsMTU4ICswLDAgQEAKLSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwotIyAkSWQk
Ci0jIENvcHlyaWdodCAyMDA5IEFwbGl4IENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgotIyBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUg
IkxpY2Vuc2UiKTsKLSMgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxp
YW5jZSB3aXRoIHRoZSBMaWNlbnNlLgotIyBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExp
Y2Vuc2UgYXQKLSMgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIu
MAotIyBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdy
aXRpbmcsIHNvZnR3YXJlCi0jIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3Ry
aWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCi0jIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05E
SVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgotIyBTZWUgdGhl
IExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMg
YW5kCi0jIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgotIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCi0K
LVVOQU1FID0gJChzaGVsbCB1bmFtZSkKLUlOQ0RJUlMgPSAkKE9CSkRJUikKLVNSQ0RJUiA9IHNy
YwotRE9DRElSID0gZG9jCi1FWEFNUExFU0RJUiA9IGV4YW1wbGVzCi1PQkpESVIgPSBvYmoKLQot
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjCi0jIExpbnV4IGNvbmZpZ3VyYXRpb24KLSMKLWlmbmVxICgsJChmaWx0
ZXIgTGludXglLCAkKFVOQU1FKSkpIAotCi1DRkxBR1MgPSAtZyAtV2FsbCAtV2Vycm9yIC1PMCAk
KHBhdHN1YnN0ICUsIC1JJSwgJChJTkNESVJTKSkKLU9CSlNVRkZJWCA9IC5vCi1FWEVTVUZGSVgg
PQotI0xJQlMgPSAtbGVmZW5jZQotT0JKT1BUSU9OID0gLW8KLUVYRU9QVElPTiA9IC1vCi0KLWVs
c2UKLSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIwotIyBEYXJ3aW4gY29uZmlndXJhdGlvbgotIwotaWZuZXEgKCwk
KGZpbHRlciBEYXJ3aW4lLCAkKFVOQU1FKSkpIAotCi1DRkxBR1MgPSAtZyAtV2FsbCAtV2Vycm9y
IC1PMiAkKHBhdHN1YnN0ICUsIC1JJSwgJChJTkNESVJTKSkKLU9CSlNVRkZJWCA9IC5vCi1FWEVT
VUZGSVggPQotT0JKT1BUSU9OID0gLW8KLSMgVGhlIC1vIGluIHRoZSBmb2xsb3dpbmcgbGluZSBo
YXMgYSBzcGFjZSBhZnRlciBpdCwgd2hpY2ggbXVzdCBub3QgYmUgcmVtb3ZlZC4KLUVYRU9QVElP
TiA9IC1vIAotCi1lbHNlCi0jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKLSMgV2luZG93cyAoY3lnd2luIGJ1dCB1
c2luZyBNUyBjb21waWxlcikgY29uZmlndXJhdGlvbgotIwotIyB0aGlzIGlzIG1lc3N5IC0gc2hv
dWxkIHByb2JhYmx5IHVzZSB2Y3ZhcnMuYmF0Ci1pZm5lcSAoLCQoZmlsdGVyIENZR1dJTiUsICQo
VU5BTUUpKSkgCi1WSVNVQUxTVFVESU9ESVIgPSAkKHdpbGRjYXJkIC9jeWdkcml2ZS9jL1Byb2dy
YW0qRmlsZXMvTWljcm9zb2Z0KlZpc3VhbCpTdHVkaW8qOCkKLVNES0RJUiA9ICQod2lsZGNhcmQg
L2N5Z2RyaXZlL2MvUHJvZ3JhbSpGaWxlcy9NaWNyb3NvZnQqU0RLcy9XaW5kb3dzLyovTGliKQot
aWZlcSAoLCQoVklTVUFMU1RVRElPRElSKSkKLVZJU1VBTFNUVURJT0RJUiA9ICQod2lsZGNhcmQg
L2N5Z2RyaXZlL2MvUHJvZ3JhbVwgRmlsZXNcICovTWljcm9zb2Z0KlZpc3VhbCpTdHVkaW8qMTAq
KQotZW5kaWYKLWlmZXEgKCwkKFZJU1VBTFNUVURJT0RJUikpCi1WSVNVQUxTVFVESU9ESVIgPSAk
KHdpbGRjYXJkIC9jeWdkcml2ZS9jL1Byb2dyYW1cIEZpbGVzXCAqL01pY3Jvc29mdCpWaXN1YWwq
U3R1ZGlvKjExKikKLWVuZGlmCi0jIHRoaXMgaXMgcmV2ZWx2YW50IGZvciB2czIwMTIgYW5kIHdp
bmRvd3MgOCAtIHNkayBsb2NhdGlvbiBoYXMgY2hhbmdlZAotaWZlcSAoLCQoU0RLRElSKSkKLVNE
S0RJUiA9ICQod2lsZGNhcmQgL2N5Z2RyaXZlL2MvUHJvZ3JhbVwgRmlsZXNcICovV2luZG93cypL
aXRzKQotZW5kaWYKLQotaWZlcSAoLCQoVklTVUFMU1RVRElPRElSKSkKLSQoZXJyb3IgQ291bGQg
bm90IGZpbmQgIE1TIFZpc3VhbCBTdHVkaW8pIAotZWxzZQotV0lOVklTVUFMU1RVRElPRElSID0g
JChzaGVsbCBjeWdwYXRoIC13ICckKFZJU1VBTFNUVURJT0RJUiknKQotV0lOU0RLRElSID0gJChz
aGVsbCBjeWdwYXRoIC13ICckKFNES0RJUiknKQotCi0jJChlcnJvciAkKFZJU1VBTFNUVURJT0RJ
UikpIAotCi1DQyA9IFwKLQlMaWI9JyQoV0lOVklTVUFMU1RVRElPRElSKVxWQ1xMSUI7JChXSU5W
SVNVQUxTVFVESU9ESVIpXFZDXFBsYXRmb3JtU0RLXExpYjskKFdJTlNES0RJUiknIFwKLQlQQVRI
PSckKFZJU1VBTFNUVURJT0RJUikvQ29tbW9uNy9JREU6JChWSVNVQUxTVFVESU9ESVIpL1ZDL0JJ
TjokKFZJU1VBTFNUVURJT0RJUikvQ29tbW9uNy9Ub29sczokKFZJU1VBTFNUVURJT0RJUikvU0RL
L3YyLjAvYmluOiQoVklTVUFMU1RVRElPRElSKS84LjAvTGliL3dpbjgvdW0veDg2OickJFBBVEgg
XAotCUluY2x1ZGU9JyQoV0lOVklTVUFMU1RVRElPRElSKVxWQ1xJTkNMVURFOyQoV0lOVklTVUFM
U1RVRElPRElSKVxWQ1xQbGF0Zm9ybVNES1xJbmNsdWRlJyBcCi0JY2wKLWVuZGlmCi0KLUNGTEFH
UyA9IC9ub2xvZ28gL1dYIC9XMyAvd2Q0OTk2IC9aaSAvTzIgJChwYXRzdWJzdCAlLCAvSSUsICQo
SU5DRElSUykpCi1PQkpTVUZGSVggPSAub2JqCi1FWEVTVUZGSVggPSAuZXhlCi1PQkpPUFRJT04g
PSAvRm8KLUVYRU9QVElPTiA9IC9GZQotCi1lbmRpZgotZW5kaWYKLWVuZGlmCi0KLSMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIwotIyBDb21tb24gbWFrZWZpbGUKLSMKLVdJRExQUk9DID0gJChPQkpESVIpL3dpZGxw
cm9jJChFWEVTVUZGSVgpCi1EVEQgPSAkKE9CSkRJUikvd2lkbHByb2N4bWwuZHRkCi0KLUFMTCA9
ICQoV0lETFBST0MpICQoRFREKQotYWxsIDogJChBTEwpCi0KLVNSQ1MgPSBcCi0JY29tbWVudC5j
IFwKLQlsZXguYyBcCi0JbWFpbi5jIFwKLQltaXNjLmMgXAotCW5vZGUuYyBcCi0JcGFyc2UuYyBc
Ci0JcHJvY2Vzcy5jCi0KLU9CSlMgPSAkKHBhdHN1YnN0ICUuYywgJChPQkpESVIpLyUkKE9CSlNV
RkZJWCksICQoU1JDUykpCi0kKFdJRExQUk9DKSA6ICQoT0JKUykKLQkkKENDKSAkKENGTEFHUykg
JChFWEVPUFRJT04pJEAgJF4gJChMSUJTKQotCi0kKE9CSkRJUikvJSQoT0JKU1VGRklYKSA6ICQo
U1JDRElSKS8lLmMKLQlta2RpciAtcCAkKGRpciAkQCkKLQkkKENDKSAkKENGTEFHUykgJChPQkpP
UFRJT04pJEAgLWMgJDwKLQotJChPQkpESVIpLyUuZCA6ICQoU1JDRElSKS8lLmMKLQlta2RpciAt
cCAkKGRpciAkQCkKLQljYyAkKHBhdHN1YnN0ICUsIC1JJSwgJChJTkNESVJTKSkgLU1NIC1NRyAt
TVQgJChwYXRzdWJzdCAlLmQsICUkKE9CSlNVRkZJWCksICRAKSAkPCB8IHNlZCAnJChwYXRzdWJz
dCAlLCBzfCBcKCVcKXwgJChPQkpESVIpL1wxfDssICQoQVVUT0dFTkhFQURFUlMpKScgPiRACi0K
LWluY2x1ZGUgJChwYXRzdWJzdCAlLmMsICQoT0JKRElSKS8lLmQsICQoU1JDUykpCi0KLQotJChE
VEQpIDogJChET0NESVIpL2h0bWx0b2R0ZC54c2wgJChET0NESVIpL3dpZGxwcm9jLmh0bWwKLQl4
c2x0cHJvYyAtaHRtbCAkXiA+JEAKLQotY2xlYW4gOgotCXJtIC1mICQoQUxMKSAkKE9CSlMpCi0K
LXZlcnljbGVhbiA6Ci0Jcm0gLXJmICQoT0JKRElSKQotCi1TVk5GSUxFUyA9ICQoc2hlbGwgdGVz
dCAtZCAuc3ZuICYmIHN2biBpbmZvIC1SIC4gfCBzZWQgLW4gJ3MvXlBhdGg6IFwoLipcKSQkL1wx
L3AnKQotU1ZOQlJBTkNIID0gJChzaGVsbCB0ZXN0IC1kIC5zdm4gJiYgc3ZuIGluZm8gLiB8IHNl
ZCAtbiAnc3xeVVJMOi4qL1woW14vXSpcKSQkfFwxfHAnKQotU1ZOUkVWID0gJChzaGVsbCB0ZXN0
IC1kIC5zdm4gJiYgc3ZuIGluZm8gLVIgLiB8IHNlZCAtbiAncy9eTGFzdCBDaGFuZ2VkIFJldjog
XChbMC05XVswLTldKlwpJCQvXDEvcCcgfCBzb3J0IC1nIHwgdGFpbCAtMSkKLQotU1ZOTE9HID0g
aGlzdG9yeQotJChTVk5MT0cpIDogJChTVk5GSUxFUykKLQlzdm4gbG9nIC12ckhFQUQ6MzExID4k
QAotCi16aXAgOiAkKE9CSkRJUikvd2lkbHByb2MtJChTVk5CUkFOQ0gpJChTVk5SRVYpLnppcAot
JChPQkpESVIpL3dpZGxwcm9jLSQoU1ZOQlJBTkNIKSQoU1ZOUkVWKS56aXAgOiAkKFdJRExQUk9D
KSAkKERURCkgJChET0NESVIpL3dpZGxwcm9jLmh0bWwgJChTUkNESVIpL3dpZGxwcm9jeG1sdG9o
dG1sLnhzbCBNYWtlZmlsZSAkKFNWTkxPRykKLQlybSAtZiAkQAotCXppcCAtaiAkQCAkXiAteCBN
YWtlZmlsZQotCXppcCAkQCBleGFtcGxlcy8qLndpZGwgZXhhbXBsZXMvKi5jc3MgZXhhbXBsZXMv
TWFrZWZpbGUgZXhhbXBsZXMvUkVBRE1FIGV4YW1wbGVzLyoueHNsIGV4YW1wbGVzLyouaHRtbAot
Ci1zcmN6aXAgOiB3aWRscHJvYy1zcmMtJChTVk5CUkFOQ0gpJChTVk5SRVYpLnppcAotCi13aWRs
cHJvYy1zcmMtJS56aXAgOiAkKFNWTkZJTEVTKSAkKFNWTkxPRykKLQl6aXAgJEAgJF4gCi0KLWV4
YW1wbGVzIDoKLQkkKE1BS0UpIC1DIGV4YW1wbGVzIFNSQ0RJUj0uLi9zcmMgT0JKRElSPS4uL29i
aiBFWEFNUExFU09CSkRJUj0uLi9vYmovZXhhbXBsZXMKLQotdGVzdCA6ICQoT0JKUykKLQkkKE1B
S0UpIC1DIHRlc3QgU1JDRElSPS4uL3NyYyBPQkpESVI9Li4vb2JqCi0KLS5ERUxFVEVfT05fRVJS
T1I6CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvUkVBRE1FLm1kIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3dpZGxwcm9jL1JFQURNRS5tZApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOGVkODI0
ZTdkOWQuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9SRUFETUUubWQKKysr
IC9kZXYvbnVsbApAQCAtMSw0MCArMCwwIEBACi0jIFVzZXMKLQotd2lkbHByb2MgY2FuIGJlIHVz
ZWQgdG8gdmFsaWRhdGUgV2ViSURMIGluIFczQyBzcGVjaWZpY2F0aW9ucy4gSXQgc2VydmVzIGFz
IHRoZSBiYXNpcyBmb3IgdGhlIFtXM0MgV2ViIElETCBvbi1saW5lIGNoZWNrZXJdKGh0dHA6Ly93
d3cudzMub3JnLzIwMDkvMDcvd2ViaWRsLWNoZWNrKS4KLQotd2lkbHByb2MncyBnZW5lcmF0ZWQg
WE1MIGlzIHVzZWQgdG8gZ2VuZXJhdGUgW3dlYmlub3MgSmF2YVNjcmlwdCBBUElzIHNwZWNpZmlj
YXRpb25zXShodHRwOi8vZGV2LndlYmlub3Mub3JnL3NwZWNpZmljYXRpb25zL2RyYWZ0LykuCi0K
LSMgTGljZW5zZQotCi13aWRscHJvYyBpcyBsaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIDIgTGlj
ZW5zZS4KLQotIyBPdGhlcnMKLQotU2VlIGFsc28gW3dlYmlkbC5qc10oaHR0cHM6Ly9naXRodWIu
Y29tL2Rhcm9iaW4vd2ViaWRsLmpzKSwgYSBKYXZhU2NyaXB0LWJhc2VkIFdlYiBJREwgcGFyc2Vy
IHVzZWQgYnkgdmFyaW91cyB0b29scyBpbiBXM0MuCi0KLSMgQ3JlZGl0cwotCi1Nb3N0IG9mIHRo
ZSB3b3JrIG9uIHdpZGxwcm9jIHdhcyBkb25lIGJ5IFRpbSBSZW5vdWYgYW5kIFBhZGR5IEJ5ZXJz
LiBBcGxpeCBjb3Jwb3JhdGlvbiBvd25zIHRoZSBjb3B5cmlnaHQgb2YgdGhlIGNvZGUgdXAgdG8g
SnVuZSAyMDExLgotCi1UaGUgdG9vbCBpcyBrZXB0IHVwIHRvIGRhdGUgd2l0aCB0aGUgY2hhbmdl
cyBpbiB0aGUgc3BlYyBieSBEb21pbmlxdWUgSGF6YWVsLU1hc3NpZXV4LCB0aHJvdWdoIGZ1bmRp
bmcgZnJvbSB0aGUgW3dlYmlub3MgcHJvamVjdF0oaHR0cDovL3dlYmlub3Mub3JnLykgc2luY2Ug
SnVuZSAyMDExLgotCi0jIERvY3VtZW50YXRpb24KLQotU2VlIGRvYy93aWRscHJvYy5odG1sIGlu
IHRoZSB0cmVlLgotCi0jIEJ1aWxkIEluc3RydWN0aW9ucwotCi0jIyBXaW5kb3dzCi0KLUluc3Rh
bGwgcmVxdWlyZW1lbnRzCi0qIEN5Z3dpbiAtIG11c3QgaW5zdGFsbCBtdXN0IGluc3RhbGwgbGli
cy9saWJ4c2x0Ci0qIFZpc3VhbCBTdHVkaW8gZXhwcmVzcyAyMDEyIG9yIDIwMTAgKHNlZSBkaWZm
ZXJlbmNlIGJlbG93KQotCi1tYWtlZmlsZSB1c2VzIGN5Z3dpbiBtYWtlLiBSZWZlcmVuY2VzIGFy
ZSBjb2RlZCBpbiB0aGUgbWFrZSBmaWxlIHRvIGRldGVjdCB0ZWggY3VycmVudCB2ZXJzaW9uIG9m
IHZpc3VhbCBzdHVkaW8gCi0KLSMgRnV0dXJlIHdvcmsKLXdpbmRvd3MgYnVpbGQgY291bGQgYmUg
aW1wcm92ZWQgdG8gaGFuZGxlIG11bHRpcGUgdmVyc2lvbnMgd2l0aCB2Y3ZhcnMuYmF0Ci1odHRw
Oi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzYyMDI5L3ZzMjAwOC1jb21tYW5kLXByb21w
dC1jeWd3aW4KLQotCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9kb2MvaHRtbHRv
ZHRkLnhzbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9kb2MvaHRtbHRvZHRkLnhzbApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggZDhiN2Y1OTczZmIuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC93aWRscHJvYy9kb2MvaHRtbHRvZHRkLnhzbAorKysgL2Rldi9udWxsCkBAIC0xLDI4ICsw
LDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InVzLWFzY2lpIj8+Ci08IS0tPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLSRJZCQKLUNvcHlyaWdodCAyMDA5IEFwbGl4IENvcnBvcmF0aW9uLiBBbGwgcmln
aHRzIHJlc2VydmVkLgotTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9u
IDIuMCAodGhlICJMaWNlbnNlIik7Ci15b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBp
biBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCi1Zb3UgbWF5IG9idGFpbiBhIGNvcHkgb2Yg
dGhlIExpY2Vuc2UgYXQKLSAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5T
RS0yLjAKLVVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4g
d3JpdGluZywgc29mdHdhcmUKLWRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3Ry
aWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCi1XSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElU
SU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KLVNlZSB0aGUgTGlj
ZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQK
LWxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgotCi1TdHlsZXNoZWV0IHRvIGV4dHJhY3Qg
RFREIGZvciB3aWRscHJvY3htbCBmcm9tIHdpZGxwcm9jLmh0bWwKLT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PS0tPgot
PHhzbDpzdHlsZXNoZWV0IHhtbG5zOnhzbD0iaHR0cDovL3d3dy53My5vcmcvMTk5OS9YU0wvVHJh
bnNmb3JtIiB2ZXJzaW9uPSIxLjAiPgotPHhzbDpvdXRwdXQgbWV0aG9kPSJ0ZXh0IiBlbmNvZGlu
Zz0idXMtYXNjaWkiIGluZGVudD0ibm8iLz4KLQotPCEtLSA8cHJlIGNsYXNzPSJkdGQiPiBlbGVt
ZW50IC0tPgotPHhzbDp0ZW1wbGF0ZSBtYXRjaD0icHJlW0BjbGFzcz0nZHRkJ10iPgotICAgIDx4
c2w6dmFsdWUtb2Ygc2VsZWN0PSIuIi8+Ci08L3hzbDp0ZW1wbGF0ZT4KLQotPCEtLUlnbm9yZSBv
dGhlciB0ZXh0LiAtLT4KLTx4c2w6dGVtcGxhdGUgbWF0Y2g9InRleHQoKSIgcHJpb3JpdHk9Ii0x
MDAiLz4KLQotPC94c2w6c3R5bGVzaGVldD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJv
Yy9kb2MvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvZG9jL3czYy1pbXBvcnQu
bG9nCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5Nzc0ODNjZTNlOS4uMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL2RvYy93M2MtaW1wb3J0LmxvZworKysgL2Rldi9u
dWxsCkBAIC0xLDE5ICswLDAgQEAKLVRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGlt
cG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgotRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0
cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24g
dGhlIFczQyBDU1Mgb3IgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20vdzNjL2Nzc3dn
LXRlc3QKLQlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cwotCi1UaGVu
IHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWlt
cG9ydAotCi1EbyBOT1QgbW9kaWZ5IG9yIHJlbW92ZSB0aGlzIGZpbGUuCi0KLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLQotUHJvcGVydGllcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgotTm9uZQotUHJvcGVy
dHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6Ci1Ob25lCi0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0KLUxpc3Qgb2YgZmlsZXM6Ci0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL2RvYy9odG1sdG9kdGQueHNs
Ci0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3dpZGxwcm9jL2RvYy93aWRscHJvYy5odG1sCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvd2lkbHByb2MvZG9jL3dpZGxwcm9jLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvZG9j
L3dpZGxwcm9jLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDRlYjQyYzM5YmI5
Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvZG9jL3dpZGxwcm9jLmh0bWwK
KysrIC9kZXYvbnVsbApAQCAtMSwxMTI0ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vVzNDLy9EVEQgSFRNTCA0LjAxLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL2h0bWw0L3N0
cmljdC5kdGQiPgotPCEtLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci1Db3B5cmlnaHQgMjAwOSBBcGxpeCBDb3Jwb3Jh
dGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLUxpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGlj
ZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOwoteW91IG1heSBub3QgdXNlIHRoaXMg
ZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgotWW91IG1heSBvYnRh
aW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0Ci0gICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xp
Y2Vuc2VzL0xJQ0VOU0UtMi4wCi1Vbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3Ig
YWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCi1kaXN0cmlidXRlZCB1bmRlciB0aGUgTGlj
ZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAotV0lUSE9VVCBXQVJSQU5U
SUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQu
Ci1TZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVy
bWlzc2lvbnMgYW5kCi1saW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KLT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PS0tPgotPGh0bWw+Ci08aGVhZD4KLTxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29u
dGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXVzLWFzY2lpIj4KLTx0aXRsZT53aWRscHJvYzwvdGl0
bGU+Ci08c3R5bGUgdHlwZT0idGV4dC9jc3MiPgotICAgIGJvZHkgeyBjb2xvcjogYmxhY2s7IGZv
bnQ6IDEwcHQgdmVyZGFuYTsgfQotICAgIGE6bGluayB7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsg
fQotICAgIGE6dmlzaXRlZCB7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfQotICAgIGE6aG92ZXIg
eyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfQotICAgIGR0IHsgbWFyZ2luLXRvcDogMC41
ZW07IH0KLSAgICBkZCB7IG1hcmdpbi1sZWZ0OiAxZW07IG1hcmdpbi1ib3R0b206IDAuNWVtOyB9
Ci0gICAgbGkgeyBtYXJnaW4tYm90dG9tOiAwOyB9Ci0gICAgaDQgeyBmb250LXNpemU6IDEwcHQ7
IH0KLSAgICB0YWJsZSB7IGJvcmRlcjogMXB4IHNvbGlkOyBib3JkZXItY29sbGFwc2U6IGNvbGxh
cHNlOyB9Ci0gICAgdGQgeyBib3JkZXI6IDFweCBzb2xpZDsgfQotICAgIHRoIHsgYm9yZGVyOiAx
cHggc29saWQ7IH0KLSAgICBjb2RlIHsgYmFja2dyb3VuZC1jb2xvcjogI2YwZjBmMDsgfQotICAg
IHByZSB7IGJhY2tncm91bmQtY29sb3I6ICNmMGYwZjA7IH0KLSAgICAuaW5kZW50IHsgbWFyZ2lu
LWxlZnQ6IDNlbTsgfQotICAgIC5pc3N1ZSB7IGJhY2tncm91bmQtY29sb3I6ICMwMENDQ0M7IH0K
LTwvc3R5bGU+Ci08L2hlYWQ+Ci08Ym9keT4KLTxoMT53aWRscHJvYzwvaDE+Ci0KLTxwPlRpbSBS
ZW5vdWYsIEFwbGl4IENvcnA8L3A+Ci08cD4kSWQkCi08L3A+Ci0KLTxoMj5JbnRyb2R1Y3Rpb248
L2gyPgotCi08cD4KLXdpZGxwcm9jIGlzIGEgcHJvY2Vzc29yIHRoYXQgYWNjZXB0cyBhcyBpbnB1
dAotPGEgaHJlZj0iI3dlYmlkbCI+V2ViIElETDwvYT4gKHRoZSAzMCBTZXB0ZW1iZXIgMjAwOSBl
ZGl0b3IncyBkcmFmdCksCi13aXRoIGNvbW1lbnRzIGluIGEgc3Vic2V0IG9mIHRoZSBmb3JtYXQg
dXNlZCBieQotPGEgaHJlZj0iI2RveHlnZW4iPkRveHlnZW48L2E+LgotVGhlIGZvcm1hdCBpdCBh
Y2NlcHRzIGlzIHByb3Bvc2VkIGJ5IEFwbGl4IGZvciBhdXRob3JpbmcKLTxhIGhyZWY9IiNib25k
aSI+Qk9OREk8L2E+IGludGVyZmFjZSBkZWZpbml0aW9ucy4KLTwvcD4KLQotPHA+Ci1UaGUgb3V0
cHV0IG9mIHdpZGxwcm9jIGlzIGFuIFhNTCByZXByZXNlbnRhdGlvbiBvZiB0aGUKLTxhIGhyZWY9
IiN3ZWJpZGwiPldlYiBJREw8L2E+IGlucHV0LAotd2l0aCBhZGRlZCBYTUwgZWxlbWVudHMgcmVw
cmVzZW50aW5nIHRoZQotPGEgaHJlZj0iI2RveHlnZW4iPkRveHlnZW48L2E+LWxpa2UgY29tbWVu
dHMuCi08L3A+Ci0KLTxoMj5Vc2FnZTwvaDI+Ci0KLTxwPgotPGNvZGU+d2lkbHByb2MgPGk+Zmls
ZW5hbWU8L2k+PC9jb2RlPgotPC9wPgotCi08cD4KLXdpZGxwcm9jIHJlYWRzIHRoZSBmaWxlIG5h
bWVkIDxlbT5maWxlbmFtZTwvZW0+LCBhbmQgCi1zZW5kcyBpdHMgWE1MIG91dHB1dCBmb3JtYXQg
dG8gc3Rkb3V0LgotPC9wPgotCi08aDI+SW5wdXQgZm9ybWF0PC9oMj4KLQotPHA+Ci1UaGUgaW5w
dXQgZm9ybWF0IGFjY2VwdGVkIGJ5IHdpZGxwcm9jIGlzCi08YSBocmVmPSIjd2ViaWRsIj5XZWIg
SURMPC9hPgotKHdpdGggYW4gZXh0ZW5zaW9uIHVzZWQgaW4gdGhlCi08YSBocmVmPSIjdzNjZ2Vv
Ij5XM0MgR2VvbG9jYXRpb24gQVBJPC9hPiksCi13aXRoIGNvbW1lbnRzIGluIGEgZm9ybWF0IHJl
bWluaXNjZW50IG9mIHRoYXQgdXNlZCBieQotPGEgaHJlZj0iI2RveHlnZW4iPkRveHlnZW48L2E+
LgotPC9wPgotCi08aDM+V2ViIElETCBleHRlbnNpb24gZnJvbSBXM0MgZ2VvbG9jYXRpb24gQVBJ
PC9oMz4KLQotPGg0PmRvdWJsZTwvaDQ+Ci0KLTxwPgotPGNvZGU+ZG91YmxlPC9jb2RlPiBpcyBh
bGxvd2VkIGFzIGEgRGVjbGFyYXRpb25UeXBlIG9yIGEgQm94ZWRUeXBlLgotPC9wPgotCi08aDM+
RG94eWdlbi1saWtlIGNvbW1lbnQgaW50cm9kdWN0aW9uPC9oMz4KLQotPHA+Ci1Pbmx5IGEgc21h
bGwgc3Vic2V0IG9mIERveHlnZW4gZnVuY3Rpb25hbGl0eSBpcyBzdXBwb3J0ZWQgYnkKLXdpZGxw
cm9jLCBwbHVzIGFkZGl0aW9ucyB0byBoYW5kbGUgdGhlIEJPTkRJIGNvbmNlcHRzIG9mIEFQSSBm
ZWF0dXJlcwotYW5kIGRldmljZSBjYXBhYmlsaXRpZXMuCi08L3A+Ci0KLTxwPgotSW4gcGFydGlj
dWxhciwgbm8gbGlua3MgYXJlIGFkZGVkIGF1dG9tYXRpY2FsbHkuIChUaGlzIGNvdWxkIGJlIGFk
ZGVkCi1pbiB0aGUgZnV0dXJlLikKLTwvcD4KLQotPGgzPkRveHlnZW4gY29tbWVudCBibG9jazwv
aDM+Ci0KLTxoND5Db21tZW50IHJlZmVycmFsIHBvaW50PC9oND4KLQotPHA+Ci1FYWNoIDxlbT5E
b3h5Z2VuIGNvbW1lbnQgYmxvY2s8L2VtPiByZWZlcnMgdG8gYSA8ZW0+Y29tbWVudCByZWZlcnJh
bAotcG9pbnQ8L2VtPiBpbiB0aGUgV2ViIElETCwgb25lIG9mCi1tb2R1bGUsIGludGVyZmFjZSwg
ZXhjZXB0aW9uLCBjb25zdCwgYXR0cmlidXRlLCBvcGVyYXRpb24gb3IgYXJndW1lbnQuCi08L3A+
Ci0KLTxoND5CbG9jayBjb21tZW50PC9oND4KLQotPHA+Ci1BIGJsb2NrIGNvbW1lbnQgKGRlbGlt
aXRlZCBieSA8Y29kZT4vKiAqLzwvY29kZT4pIHdob3NlIGZpcnN0IGNoYXJhY3RlcgotYWZ0ZXIg
dGhlIDxjb2RlPi8qPC9jb2RlPiBpcyA8Y29kZT4hPC9jb2RlPiBvciBhIHNlY29uZCA8Y29kZT4q
PC9jb2RlPgotaXMgYSA8ZW0+RG94eWdlbiBjb21tZW50IGJsb2NrPC9lbT4uCi08L3A+Ci0KLTxw
PgotTm9ybWFsbHkgdGhlIGNvbW1lbnQgYmxvY2sgcmVmZXJzIHRvIHRoZSBuZXh0IGNvbW1lbnQg
cmVmZXJyYWwgcG9pbnQgaW4KLXRoZSBXZWIgSURMLgotSWYgdGhlIGZpcnN0IGNoYXJhY3RlciBp
cyA8Y29kZT4mbHQ7PC9jb2RlPiwgc28gdGhlIGNvbW1lbnQgYmxvY2sgaXMgaW50cm9kdWNlZAot
d2l0aCA8Y29kZT4vKiombHQ7PC9jb2RlPiBvciA8Y29kZT4vKiEmbHQ7PC9jb2RlPiAsIHRoZW4g
dGhlIGNvbW1lbnQgYmxvY2sKLXJlZmVycyBiYWNrIHRvIHRoZSBwcmV2aW91cyBjb21tZW50IHJl
ZmVycmFsIHBvaW50LgotPC9wPgotCi08cD4KLVRoZSB0ZXh0IG9mIHRoZSBjb21tZW50IGJsb2Nr
Ci1leGNsdWRlcyB0aGUgaW5pdGlhbCA8Y29kZT4hPC9jb2RlPiBvciA8Y29kZT4qPC9jb2RlPiAo
YW5kIHRoZSA8Y29kZT4mbHQ7PC9jb2RlPgotZm9yIGEgcmVmZXJyaW5nIGJhY2sgYmxvY2spLAot
YW5kIGV4Y2x1ZGVzIGFuIGluaXRpYWwgKGFmdGVyIHdoaXRlc3BhY2UpIDxjb2RlPio8L2NvZGU+
Ci1vbiBlYWNoIGxpbmUsCi1hbmQsIHdoZW4gbm90IGluIGEgPGEgaHJlZj0iI2NvZGUiPjxjb2Rl
Plxjb2RlPC9jb2RlPjwvYT4gYmxvY2ssCi1leGNsdWRlcyBhbnkgbGluZSBjb25zaXN0aW5nIGVu
dGlyZWx5IG9mIHdoaXRlc3BhY2UsIHRoZW4gPGNvZGU+KjwvY29kZT4KLWNoYXJhY3RlcnMsIHRo
ZW4gd2hpdGVzcGFjZS4KLTwvcD4KLQotPHA+Ci13aWRscHJvYyBkb2VzIG5vdCBzdXBwb3J0IERv
eHlnZW4gY29tbWFuZHMgdG8gZm9yY2UgYSBjb21tZW50Ci1ibG9jayB0byByZWZlciB0byBhIGRp
ZmZlcmVudCByZWZlcnJhbCBwb2ludC4KLTwvcD4KLQotPGg0PklubGluZSBjb21tZW50czwvaDQ+
Ci0KLTxwPgotVGhlIG1heGltYWwgc2VxdWVuY2Ugb2YgaW5saW5lIGNvbW1lbnRzIChkZWxpbWl0
ZWQgYnkgPGNvZGU+Ly88L2NvZGU+KQotb24gYWRqYWNlbnQgbGluZXMsIHdoZXJlIGFsbCBvZiB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgaG9sZDoKLTwvcD4KLTx1bD4KLTxsaT4KLWVhY2ggaGFz
IGEgZmlyc3QgY2hhcmFjdGVyIGFmdGVyIHRoZSA8Y29kZT4vPC9jb2RlPiBvZiA8Y29kZT4hPC9j
b2RlPiBvcgotYSB0aGlyZCA8Y29kZT4vPC9jb2RlPjsKLTxsaT4KLW5vIGNvbW1lbnQgcmVmZXJy
YWwgcG9pbnQgaW50ZXJ2ZW5lczsKLTxsaT4KLWVpdGhlciBlYWNoIGNvbW1lbnQgaW4gdGhlIHNl
cXVlbmNlIHN0YXJ0cyB3aXRoIGEgPGNvZGU+Jmx0OzwvY29kZT4KLShzZWUgYmVsb3cpLCBvciBu
b25lIGRvZXM7Ci08bGk+Ci10aGUgc2VxdWVuY2UgY29udGFpbnMgYXQgbGVhc3QgdHdvIGlubGlu
ZSBjb21tZW50cywgb3IsIGlmIG9ubHkgb25lLAotdGhlbiBpdCBzdGFydHMgd2l0aCA8Y29kZT4m
bHQ7PC9jb2RlPiAoc2VlIGJlbG93KTsKLTwvdWw+Ci08cD4KLWZvcm1zIGEgPGVtPkRveHlnZW4g
Y29tbWVudCBibG9jazwvZW0+LgotPC9wPgotCi08cD4KLU5vcm1hbGx5IHRoZSBjb21tZW50IGJs
b2NrIHJlZmVycyB0byB0aGUgbmV4dCBjb21tZW50IHJlZmVycmFsIHBvaW50IGluCi10aGUgV2Vi
IElETC4KLUlmIHRoZSBmaXJzdCBjaGFyYWN0ZXIgb2YgZWFjaCBjb21tZW50IGlzIDxjb2RlPiZs
dDs8L2NvZGU+LCBzbyBlYWNoCi1jb21tZW50IGluIHRoZSBibG9jayBpcyBpbnRyb2R1Y2VkCi13
aXRoIDxjb2RlPi8vLyZsdDs8L2NvZGU+IG9yIDxjb2RlPi8vISZsdDs8L2NvZGU+ICwgdGhlbiB0
aGUgY29tbWVudCBibG9jawotcmVmZXJzIGJhY2sgdG8gdGhlIHByZXZpb3VzIGNvbW1lbnQgcmVm
ZXJyYWwgcG9pbnQuCi08L3A+Ci0KLTxwPgotVGhlIHRleHQgb2YgdGhlIGNvbW1lbnQgYmxvY2sK
LWV4Y2x1ZGVzIHRoZSBpbml0aWFsIDxjb2RlPiE8L2NvZGU+IG9yIDxjb2RlPi88L2NvZGU+IChh
bmQgdGhlIDxjb2RlPiZsdDs8L2NvZGU+Ci1mb3IgYSByZWZlcnJpbmcgYmFjayBibG9jaykgb2Yg
ZWFjaCBpbmxpbmUgY29tbWVudCwKLWFuZCwgd2hlbiBub3QgaW4gYSA8YSBocmVmPSIjY29kZSI+
PGNvZGU+XGNvZGU8L2NvZGU+PC9hPiBibG9jaywKLWV4Y2x1ZGVzIGFueSBsaW5lIGNvbnNpc3Rp
bmcgZW50aXJlbHkgb2Ygd2hpdGVzcGFjZSwgdGhlbiA8Y29kZT4vPC9jb2RlPgotY2hhcmFjdGVy
cywgdGhlbiB3aGl0ZXNwYWNlLgotPC9wPgotCi08cD4KLXdpZGxwcm9jIGRvZXMgbm90IHN1cHBv
cnQgRG94eWdlbiBjb21tYW5kcyB0byBmb3JjZSBhIGNvbW1lbnQKLWJsb2NrIHRvIHJlZmVyIHRv
IGEgZGlmZmVyZW50IHJlZmVycmFsIHBvaW50LgotPC9wPgotCi08aDM+UGFyYWdyYXBoPC9oMz4K
LQotPHA+Ci1BIGNvbW1lbnQgYmxvY2sgaXMgYnJva2VuIGludG8gemVybyBvciBtb3JlIDxlbT5w
YXJhZ3JhcGg8L2VtPnMuCi1PbmUgb3IgbW9yZSBibGFuayBsaW5lcyBicmVhayB0aGUgcGFyYWdy
YXBocyAodW5sZXNzIGluIGEKLTxhIGhyZWY9IiNjb2RlIj48Y29kZT5cY29kZTwvY29kZT48L2E+
IGJsb2NrKS4KLTwvcD4KLQotPHA+Ci1DZXJ0YWluIGNvbW1hbmRzIChiZWxvdykgYWxzbyBzdGFy
dCBhIG5ldyBwYXJhZ3JhcGguCi08L3A+Ci0KLTxwPgotQW4KLTxhIGhyZWY9IiNodG1sIj5IVE1M
IGJsb2NrIGVsZW1lbnQ8L2E+Ci1pcyBhIHBhcmFncmFwaC4KLUEgYmxhbmsgbGluZSAob3RoZXIg
dGhhbiBpbiBhCi08YSBocmVmPSIjY29kZSI+PGNvZGU+XGNvZGU8L2NvZGU+PC9hPiBibG9jaykK
LWltcGxpY2l0bHkgY2xvc2VzIGFueSBvcGVuIEhUTUwgZWxlbWVudHMsIHRodXMgZW5kaW5nIHRo
ZSBwYXJhZ3JhcGguCi08L3A+Ci0KLTxoMz5Eb3h5Z2VuLWxpa2UgY29tbWFuZHM8L2gzPgotCi08
cD4KLXdpZGxwcm9jIHN1cHBvcnRzIGEgc21hbGwgc3Vic2V0IG9mIERveHlnZW4gY29tbWFuZHMs
IHBsdXMgc29tZSBhZGRpdGlvbnMKLXRvIGhhbmRsZSBCT05ESSBBUEkgZmVhdHVyZXMgYW5kIGRl
dmljZSBjYXBhYmlsaXRpZXMuCi08L3A+Ci0KLTxwPgotQSBjb21tYW5kIGlzIGFsd2F5cyBpbnRy
b2R1Y2VkIHdpdGggYSA8Y29kZT5cPC9jb2RlPiBjaGFyYWN0ZXIuCi1UaGUgRG94eWdlbiBhbHRl
cm5hdGl2ZSAoZnJvbSBKYXZhRG9jKSBvZiA8Y29kZT5APC9jb2RlPiBpcyBub3QKLXN1cHBvcnRl
ZC4KLTwvcD4KLQotPGg0IGlkPSJhcGktZmVhdHVyZSI+XGFwaS1mZWF0dXJlPC9oND4KLQotPHA+
Ci1TdGFydHMgYSBuZXcgcGFyYWdyYXBoLiBUaGUgZm9sbG93aW5nIHdvcmQgaXMgdGhlIG5hbWUg
b2YgYW4gQVBJIGZlYXR1cmUKLXVzZWQgYnkgdGhlIG1ldGhvZCBiZWluZyBkb2N1bWVudGVkLiBU
aGUgcmVtYWluZGVyIG9mIHRoZSBwYXJhZ3JhcGggaXMKLWFueSBkZXNjcmlwdGlvbiByZXF1aXJl
ZCBvZiBob3cgKGVnIGluIHdoYXQgY2lyY3Vtc3RhbmNlKSB0aGUgQVBJIGZlYXR1cmUKLWlzIHVz
ZWQuCi08L3A+Ci0KLTxoND5cbmFtZTwvaDQ+Ci0KLTxwPgotRGVjbGFyZXMgYSBuYW1lIGZvciB0
aGUgZG9jdW1lbnQgbm9kZSBhc3NvY2lhdGVkIHdpdGggdGhlIGN1cnJlbnQgcmVmZXJyYWwKLXBv
aW50LiBUaGlzIGlzIHVzZWZ1bCBmb3IgdGhlIHJvb3QgZG9jdW1lbnQgbm9kZSB0aGF0IG90aGVy
d2lzZSBkb2VzIG5vdCBoYXZlCi1hIFdlYklETCBpZGVudGlmaWVyLgotPC9wPgotCi08aDQ+XGF1
dGhvcjwvaDQ+Ci0KLTxwPgotU3RhcnRzIGEgbmV3IHBhcmFncmFwaC4gVGhlIHJlbWFpbmRlciBv
ZiB0aGUgcGFyYWdyYXBoIGNvbnRhaW5zCi1pbmZvcm1hdGlvbiBhYm91dCBhIHNpbmdsZSBhdXRo
b3Igb2YgdGhlIHNwZWNpZmljYXRpb24uIE11bHRpcGxlCi08Y29kZT5cYXV0aG9yPC9jb2RlPiBj
b21tYW5kcyBzaG91bGQgYmUgdXNlZCBmb3IgbXVsdGlwbGUgYXV0aG9ycy4KLTwvcD4KLQotPHA+
Ci0oSGVyZSB3aWRscHJvYyBkaWZmZXJzIGZyb20gRG94eWdlbjsgRG94eWdlbiBhbHNvIGFsbG93
cwotbXVsdGlwbGUgYXV0aG9ycyBvbiBzZXBhcmF0ZSBsaW5lcyB0byBhcHBlYXIgaW4gb25lIDxj
b2RlPlxhdXRob3I8L2NvZGU+Ci1wYXJhZ3JhcGguKQotPC9wPgotCi08aDQ+XGI8L2g0PgotCi08
cD4KLVRoaXMgcmVuZGVycyB0aGUgbmV4dCB3b3JkIGFzIGJvbGQuIEl0IGlzIGVxdWl2YWxlbnQg
dG8gZW5jbG9zaW5nIHRoZQotbmV4dCB3b3JkIHdpdGggPGNvZGU+Jmx0O2I+ICZsdDsvYj48L2Nv
ZGU+LgotPC9wPgotCi08aDQ+XGJyaWVmPC9oND4KLQotPHA+Ci1TdGFydHMgYSBuZXcgcGFyYWdy
YXBoLiBUaGUgcmVtYWluZGVyIG9mIHRoZSBwYXJhZ3JhcGggY29udGFpbnMgYSBicmllZgotZGVz
Y3JpcHRpb24gb2YgdGhlIGVudGl0eSBiZWluZyBkb2N1bWVudGVkLgotPC9wPgotCi08aDQgaWQ9
ImNvZGUiPlxjb2RlLCBcZW5kY29kZTwvaDQ+Ci0KLTxwPgotPGNvZGU+XGNvZGU8L2NvZGU+Ci1z
dGFydHMgYSBuZXcgcGFyYWdyYXBoIHdoaWNoIGlzIGEgPGVtPmNvZGUgYmxvY2s8L2VtPi4gVGhl
IGNvZGUgYmxvY2sKLWVuZHMgYXQgdGhlIG5leHQgPGNvZGU+XGVuZGNvZGU8L2NvZGU+IGNvbW1h
bmQuCi08L3A+Ci0KLTxwPgotV2l0aGluIHRoZSBjb2RlIGJsb2NrLCB3aGl0ZXNwYWNlIGFuZCBu
ZXdsaW5lcyBhcmUgcGFzc2VkIHZlcmJhdGltIGludG8KLXRoZSBvdXRwdXQuCi08L3A+Ci0KLTxo
NCBpZD0iZGVmLWFwaS1mZWF0dXJlIj5cZGVmLWFwaS1mZWF0dXJlPC9oND4KLQotPHA+Ci1TdGFy
dHMgYSBuZXcgcGFyYWdyYXBoLiBUaGUgZm9sbG93aW5nIHdvcmQgaXMgdGhlIG5hbWUgb2YgdGhl
IEFQSSBmZWF0dXJlCi13aGljaCBpcyBkZWZpbmVkIGhlcmUuIFRoZSBkZXNjcmlwdGlvbiBpcyBh
biA8ZW0+ZGVmLWFwaS1mZWF0dXJlIGJsb2NrPC9lbT4sCi1jb25zaXN0aW5nIG9mIHRoZQotcmVt
YWluZGVyIG9mIHRoZSBwYXJhZ3JhcGgsIHRvZ2V0aGVyIHdpdGgKLWZ1cnRoZXIgcGFyYWdyYXBo
cyBpbiB0aGUgc2FtZSBibG9jayBjb21tZW50IGVhY2ggb2Ygd2hpY2ggaXMgYSBwbGFpbgotcGFy
YWdyYXBoLCBhIHBhcmFncmFwaCBzdGFydGVkIGR1ZSB0byBIVE1MIG1hcmt1cCwgYSA8Y29kZT5c
YnJpZWY8L2NvZGU+Ci1wYXJhZ3JhcGgsIG9yIGEKLTxhIGhyZWY9IiNkZXZpY2UtY2FwIj48Y29k
ZT5cZGV2aWNlLWNhcDwvY29kZT48L2E+Ci1wYXJhZ3JhcGguCi08L3A+Ci0KLTxoNCBpZD0iZGVm
LWFwaS1mZWF0dXJlLXNldCI+XGRlZi1hcGktZmVhdHVyZS1zZXQ8L2g0PgotCi08cD4KLVN0YXJ0
cyBhIG5ldyBwYXJhZ3JhcGguIFRoZSBmb2xsb3dpbmcgd29yZCBpcyB0aGUgbmFtZSBvZiB0aGUg
QVBJIGZlYXR1cmUKLXNldCB3aGljaCBpcyBkZWZpbmVkIGhlcmUuIFRoZSBkZXNjcmlwdGlvbiBp
cyBhbiA8ZW0+ZGVmLWFwaS1mZWF0dXJlLXNldCBibG9jazwvZW0+LAotY29uc2lzdGluZyBvZiB0
aGUKLXJlbWFpbmRlciBvZiB0aGUgcGFyYWdyYXBoLCB0b2dldGhlciB3aXRoCi1mdXJ0aGVyIHBh
cmFncmFwaHMgaW4gdGhlIHNhbWUgYmxvY2sgY29tbWVudCBlYWNoIG9mIHdoaWNoIGlzIGEgcGxh
aW4KLXBhcmFncmFwaCwgYSBwYXJhZ3JhcGggc3RhcnRlZCBkdWUgdG8gSFRNTCBtYXJrdXAsIGEg
PGNvZGU+XGJyaWVmPC9jb2RlPgotcGFyYWdyYXBoLCBvciBhCi08YSBocmVmPSIjZGV2aWNlLWNh
cCI+PGNvZGU+XGFwaS1mZWF0dXJlPC9jb2RlPjwvYT4KLXBhcmFncmFwaC4KLTwvcD4KLQotPGg0
PlxkZWYtZGV2aWNlLWNhcDwvaDQ+Ci0KLTxwPgotU3RhcnRzIGEgbmV3IHBhcmFncmFwaC4gVGhl
IGZvbGxvd2luZyB3b3JkIGlzIHRoZSBuYW1lIG9mIHRoZSBkZXZpY2UgY2FwYWJpbGl0eQotd2hp
Y2ggaXMgZGVmaW5lZCBoZXJlLiBUaGUgZGVzY3JpcHRpb24gY29uc2lzdHMgb2YgdGhlCi1yZW1h
aW5kZXIgb2YgdGhlIHBhcmFncmFwaCwgdG9nZXRoZXIgd2l0aAotZnVydGhlciBwYXJhZ3JhcGhz
IGluIHRoZSBzYW1lIGJsb2NrIGNvbW1lbnQgZWFjaCBvZiB3aGljaCBpcyBhIHBsYWluCi1wYXJh
Z3JhcGgsIGEgcGFyYWdyYXBoIHN0YXJ0ZWQgZHVlIHRvIEhUTUwgbWFya3VwLCBhIDxjb2RlPlxi
cmllZjwvY29kZT4KLXBhcmFncmFwaCwgb3IgYQotPGEgaHJlZj0iI3BhcmFtIj48Y29kZT5ccGFy
YW08L2NvZGU+PC9hPgotcGFyYWdyYXBoLgotPC9wPgotCi08aDQgaWQ9ImRlZi1pbnN0YW50aWF0
ZWQiPlxkZWYtaW5zdGFudGlhdGVkPC9oND4KLQotPHA+Ci1TdGFydHMgYSBuZXcgcGFyYWdyYXBo
LiAgVGhlIGRlc2NyaXB0aW9uIGlzIGFuIDxlbT5kZWYtaW5zdGFudGlhdGVkIGJsb2NrPC9lbT4s
Ci1jb25zaXN0aW5nIG9mIHRoZQotcmVtYWluZGVyIG9mIHRoZSBwYXJhZ3JhcGgsIHRvZ2V0aGVy
IHdpdGgKLWZ1cnRoZXIgcGFyYWdyYXBocyBpbiB0aGUgc2FtZSBibG9jayBjb21tZW50IGVhY2gg
b2Ygd2hpY2ggaXMgYSBwbGFpbgotcGFyYWdyYXBoLCBhIHBhcmFncmFwaCBzdGFydGVkIGR1ZSB0
byBIVE1MIG1hcmt1cCwgYSA8Y29kZT5cYnJpZWY8L2NvZGU+Ci1wYXJhZ3JhcGgsIG9yIGEKLTxh
IGhyZWY9IiNhcGktZmVhdHVyZSI+PGNvZGU+XGFwaS1mZWF0dXJlPC9jb2RlPjwvYT4KLXBhcmFn
cmFwaC4KLTwvcD4KLQotPGg0IGlkPSJkZXZpY2UtY2FwIj5cZGV2aWNlLWNhcDwvaDQ+Ci0KLTxw
PgotU3RhcnRzIGEgbmV3IHBhcmFncmFwaC4KLVRoaXMgY29tbWFuZCBjYW4gYXBwZWFyIG9ubHkg
aW5zaWRlIGFuCi08YSBocmVmPSIjZGVmLWFwaS1mZWF0dXJlIj5kZWYtYXBpLWZlYXR1cmUgYmxv
Y2s8L2E+LgotVGhlIGZvbGxvd2luZyB3b3JkIGlzIHRoZSBuYW1lIG9mIGEgZGV2aWNlIGNhcGFi
aWxpdHkKLXVzZWQgYnkgdGhlIEFQSSBmZWF0dXJlIGJlaW5nIGRvY3VtZW50ZWQuCi1UaGUgcmVt
YWluZGVyIG9mIHRoZSBwYXJhZ3JhcGggaXMKLWFueSBkZXNjcmlwdGlvbiByZXF1aXJlZCBvZiBo
b3cgKGVnIGluIHdoYXQgY2lyY3Vtc3RhbmNlKSB0aGUgZGV2aWNlIGNhcGFiaWxpdHkKLWlzIHVz
ZWQuCi08L3A+Ci0KLTxoND5cbjwvaDQ+Ci0KLTxwPgotQ3JlYXRlcyBhIGxpbmUgYnJlYWsgaW4g
dGhlIG91dHB1dC4KLTwvcD4KLQotPGg0IGlkPSJwYXJhbSI+XHBhcmFtPC9oND4KLQotPHA+Ci1T
dGFydHMgYSBuZXcgcGFyYWdyYXBoLiBUaGlzIHRha2VzIHRoZSBmb2xsb3dpbmcgd29yZCBhcyB0
aGUgbmFtZSBvZgotYSBwYXJhbWV0ZXIgKGFyZ3VtZW50KSBvZiB0aGUgZW50aXR5IGJlaW5nIGRv
Y3VtZW50ZWQsIHRoZW4gbWFrZXMgdGhlCi1yZW1haW5kZXIgb2YgdGhlIHBhcmFncmFwaCByZWZl
ciB0byB0aGF0IHBhcmFtZXRlci4KLTwvcD4KLQotPGg0PlxyZXR1cm48L2g0PgotCi08cD4KLVN0
YXJ0cyBhIG5ldyBwYXJhZ3JhcGguIFRoZSByZW1haW5kZXIgb2YgdGhlIHBhcmFncmFwaCBpcyBt
YWRlIHRvIHJlZmVyIHRvCi10aGUgcmV0dXJuIHR5cGUgb2YgdGhlIGVudGl0eSBiZWluZyBkb2N1
bWVudGVkLgotPC9wPgotCi08aDQ+XHRocm93PC9oND4KLQotPHA+Ci1TdGFydHMgYSBuZXcgcGFy
YWdyYXBoLiBUaGUgbmV4dCB3b3JkIGlzIHRha2VuIHRvIGJlIHRoZSBuYW1lIG9mIGFuCi1leGNl
cHRpb24gdGhyb3duIGJ5IHRoZSBlbnRpdHkgYmVpbmcgZG9jdW1lbnRlZCwgYW5kIHRoZSByZW1h
aW5kZXIgb2YKLXRoZSBwYXJhZ3JhcGggZG9jdW1lbnRzIHRoYXQgZXhjZXB0aW9uIChpbiB0aGUg
PGNvZGU+cmFpc2VzPC9jb2RlPiBsaXN0IG9mCi1hbiA8Y29kZT5vcGVyYXRpb248L2NvZGU+LCBv
ciB0aGUgPGNvZGU+c2V0cmFpc2VzPC9jb2RlPgotY2xhdXNlIG9mIGFuIDxjb2RlPmF0dHJpYnV0
ZTwvY29kZT4pLgotPC9wPgotCi08aDQ+XHZlcnNpb248L2g0PgotCi08cD4KLVN0YXJ0cyBhIG5l
dyBwYXJhZ3JhcGguIFRoZSByZW1haW5kZXIgb2YgdGhlIHBhcmFncmFwaCBjb250YWlucwotdmVy
c2lvbiBudW1iZXIgaW5mb3JtYXRpb24uCi08L3A+Ci0KLTxoMz5Fc2NhcGUgc2VxdWVuY2VzPC9o
Mz4KLQotPHA+Ci1UaGUgZm9sbG93aW5nIGVzY2FwZSBzZXF1ZW5jZXMgYXJlIHJlY29nbml6ZWQg
aW4gYSBjb21tZW50IGJsb2NrOgotPC9wPgotCi08dGFibGU+Ci08dHI+Ci08dGg+ZXNjYXBlIHNl
cXVlbmNlCi08dGg+cmVzdWx0Ci08dHI+Ci08dGQ+PGNvZGU+XFw8L2NvZGU+Ci08dGQ+PGNvZGU+
XDwvY29kZT4KLTx0cj4KLTx0ZD48Y29kZT5cJmFtcDs8L2NvZGU+Ci08dGQ+PGNvZGU+JmFtcDs8
L2NvZGU+IChlc2NhcGVkIHRvIDxjb2RlPiZhbXA7YW1wOzwvY29kZT4gaW4gb3V0cHV0IFhNTCkK
LTx0cj4KLTx0ZD48Y29kZT5cJDwvY29kZT4KLTx0ZD48Y29kZT4kPC9jb2RlPgotPHRyPgotPHRk
Pjxjb2RlPlwjPC9jb2RlPgotPHRkPjxjb2RlPiM8L2NvZGU+Ci08dHI+Ci08dGQ+PGNvZGU+XCZs
dDs8L2NvZGU+Ci08dGQ+PGNvZGU+Jmx0OzwvY29kZT4gKGVzY2FwZWQgdG8gPGNvZGU+JmFtcDts
dDs8L2NvZGU+IGluIG91dHB1dCBYTUwpCi08dHI+Ci08dGQ+PGNvZGU+XD48L2NvZGU+Ci08dGQ+
PGNvZGU+PjwvY29kZT4KLTx0cj4KLTx0ZD48Y29kZT5cJTwvY29kZT4KLTx0ZD48Y29kZT4lPC9j
b2RlPgotPC90YWJsZT4KLQotPHA+Ci1Tb21lIG9mIHRoZXNlIGVzY2FwZSBzZXF1ZW5jZXMgYXJl
IHVzZWQgdG8gYXZvaWQgRG94eWdlbiBmZWF0dXJlcyB0aGF0Ci13aWRscHJvYyBkb2VzIG5vdCBj
dXJyZW50bHkgaW1wbGVtZW50LiBJbiBwYXJ0aWN1bGFyLAotd2lkbHByb2MgaW5zaXN0cyBvbiBh
IDxjb2RlPiQ8L2NvZGU+IGJlaW5nIGVzY2FwZWQsIHRvCi1hbGxvdyBmb3IgcG9zc2libGUgZnV0
dXJlIGZ1bmN0aW9uYWxpdHkuCi08L3A+Ci0KLTxoMyBpZD0iaHRtbCI+SFRNTCBpbiBjb21tZW50
czwvaDM+Ci0KLTxwPgotd2lkbHByb2MgYWNjZXB0cyBhIHNtYWxsIHN1YnNldCBvZiBIVE1MIGVs
ZW1lbnRzLgotPC9wPgotCi08cD4KLUFuIEhUTUwgYmxvY2sgZWxlbWVudCBpcyBhIHBhcmFncmFw
aC4KLUEgYmxhbmsgbGluZSAob3RoZXIgdGhhbiBpbiBhCi08YSBocmVmPSIjY29kZSI+PGNvZGU+
XGNvZGU8L2NvZGU+PC9hPiBibG9jaykKLWltcGxpY2l0bHkgY2xvc2VzIGFueSBvcGVuIEhUTUwg
ZWxlbWVudHMsIHRodXMgZW5kaW5nIHRoZSBwYXJhZ3JhcGguCi08L3A+Ci0KLTxwPgotVGhlIGZv
bGxvd2luZyBIVE1MIGJsb2NrIGVsZW1lbnRzIGFyZSBhY2NlcHRlZDoKLTxjb2RlPmRsPC9jb2Rl
PgotPGNvZGU+b2w8L2NvZGU+Ci08Y29kZT5wPC9jb2RlPgotPGNvZGU+dGFibGU8L2NvZGU+Ci08
Y29kZT51bDwvY29kZT4KLTwvcD4KLQotPHA+Ci1UaGUgZm9sbG93aW5nIEhUTUwgaW5saW5lIGVs
ZW1lbnRzIGFyZSBhY2NlcHRlZDoKLTxjb2RlPmE8L2NvZGU+Ci08Y29kZT5pbWc8L2NvZGU+Ci08
Y29kZT5iPC9jb2RlPgotPGNvZGU+YnI8L2NvZGU+Ci08Y29kZT5lbTwvY29kZT4KLTwvcD4KLQot
PHA+Ci1UaGUgZm9sbG93aW5nIEhUTUwgZWxlbWVudHMgYXJlIGFjY2VwdGVkIHdoZXJlIHZhbGlk
IGluc2lkZSBvbmUgb2YgdGhlCi1vdGhlciBlbGVtZW50czoKLTxjb2RlPmRkPC9jb2RlPgotPGNv
ZGU+ZHQ8L2NvZGU+Ci08Y29kZT5saTwvY29kZT4KLTxjb2RlPnRkPC9jb2RlPgotPGNvZGU+dGg8
L2NvZGU+Ci08Y29kZT50cjwvY29kZT4KLTwvcD4KLQotCi08aDI+T3V0cHV0IGZvcm1hdDwvaDI+
Ci0KLTxwPgotVGhlIG91dHB1dCBvZiB3aWRscHJvYyBpcyBhbiBYTUwgcmVwcmVzZW50YXRpb24g
b2YgdGhlCi08YSBocmVmPSIjd2ViaWRsIj5XZWIgSURMPC9hPiwKLXdpdGggYWRkZWQgWE1MIGVs
ZW1lbnRzIHJlcHJlc2VudGluZyB0aGUKLTxhIGhyZWY9IiNkb3h5Z2VuIj5Eb3h5Z2VuPC9hPi1s
aWtlIGNvbW1lbnRzLgotPC9wPgotCi08aDM+QW5ub3RhdGVkIGRvY3VtZW50IHR5cGUgZGVjbGFy
YXRpb248L2gzPgotCi08cHJlIGNsYXNzPSJkdGQiPgotJmx0OyEtLSBBdXRvZ2VuZXJhdGVkIGZy
b20gd2lkbHByb2MuaHRtbCA6IGRvIG5vdCBlZGl0LiAtLT4KLTwvcHJlPgotCi08aDQ+RW50aXRp
ZXMgdXNlZCBlbHNld2hlcmU8L2g0PgotCi08cHJlIGNsYXNzPSJkdGQiPgotJmx0OyFFTlRJVFkg
JSBibG9jayAnZGwgfCBwIHwgdGFibGUgfCB1bCcgPgotJmx0OyFFTlRJVFkgJSBCbG9jayAnKCVi
bG9jazspKicgPgotJmx0OyFFTlRJVFkgJSBpbmxpbmUgJ2EgfCBiIHwgYnIgfCBlbSB8IGltZycg
PgotJmx0OyFFTlRJVFkgJSBJbmxpbmUgJygjUENEQVRBIHwgJWlubGluZTspKicgPgotJmx0OyFF
TlRJVFkgJSBGbG93ICcoI1BDREFUQSB8ICVpbmxpbmU7IHwgJWJsb2NrOykqJyA+Ci0KLSZsdDsh
RUxFTUVOVCB3ZWJpZGwgKCNQQ0RBVEEgfCByZWYpKiA+Ci08L3ByZT4KLQotPHA+Ci1UaGUgPGNv
ZGU+Jmx0O3dlYmlkbD48L2NvZGU+IGVsZW1lbnQgY29udGFpbnMgdGhlIGxpdGVyYWwgdGV4dCBv
ZiB0aGUKLW9yaWdpbmFsIFdlYiBJREwgdGhhdCB0aGUgcGFyZW50Ci1lbGVtZW50IHdhcyBwYXJz
ZWQgZnJvbSwgbWludXMgdGhlIGNvbW1lbnRzLCB3aXRoIGVhY2ggcmVmZXJlbmNlIHRvCi1hbiBp
bnRlcmZhY2UgbmFtZSAKLWVuY2xvc2VkIGluIGEgPGNvZGU+Jmx0O3JlZj48L2NvZGU+Li48Y29k
ZT4mbHQ7L3JlZj48L2NvZGU+LgotPC9wPgotCi08aDQ+RGVmaW5pdGlvbnM8L2g0PgotCi08cD4K
LTxlbT5EZWZpbml0aW9uczwvZW0+IGlzIHRoZSByb290IGVsZW1lbnQgb2YgdGhlIFhNTCBkb2N1
bWVudC4KLTwvcD4KLQotPHA+Ci1UaGUgPGVtPkV4dGVuZGVkQXR0cmlidXRlTGlzdDwvZW0+IHNw
ZWNpZmllcyBhbnkgZXh0ZW5kZWQgYXR0cmlidXRlcwotZm9yIHRoZSAgPGVtPkludGVyZmFjZTwv
ZW0+LCA8ZW0+RGljdGlvbmFyeTwvZW0+LCA8ZW0+RXhjZXB0aW9uPC9lbT4sCi08ZW0+VHlwZWRl
ZjwvZW0+LCA8ZW0+VmFsdWV0eXBlPC9lbT4gb3IgPGVtPkNvbnN0PC9lbT4gaW4gdGhlCi08ZW0+
RGVmaW5pdGlvbjwvZW0+LgotPC9wPgotCi08cHJlIGNsYXNzPSJkdGQiPgotJmx0OyFFTEVNRU5U
IERlZmluaXRpb25zICggd2ViaWRsLCBkZXNjcmlwdGl2ZT8sIChJbnRlcmZhY2UgfCBEaWN0aW9u
YXJ5IHwgQ2FsbGJhY2sKLSAgICB8IEVudW0gfCBFeGNlcHRpb24gfCBUeXBlZGVmIHwgSW1wbGVt
ZW50cykqKSA+Ci08L3ByZT4KLQotPGg0PkludGVyZmFjZTwvaDQ+Ci0KLTxwPgotQW4gPGVtPklu
dGVyZmFjZTwvZW0+IHJlcHJlc2VudHMgYW4gaW50ZXJmYWNlLiBUaGUgPGVtPm5hbWU8L2VtPgot
YXR0cmlidXRlIHNwZWNpZmllcyB0aGUgbmFtZSBvZiB0aGUgaW50ZXJmYWNlLiBUaGUgPGVtPmRl
c2NyaXB0aXZlPC9lbT4gZWxlbWVudAotcHJvdmlkZXMgaXRzIGRvY3VtZW50YXRpb24gaWYgYW55
LgotVGhlIDxlbT5pZDwvZW0+IGF0dHJpYnV0ZSBzcGVjaWZpZXMgdGhlIGFic29sdXRlIHNjb3Bl
ZCBuYW1lIG9mIHRoZSBpbnRlcmZhY2UuCi08L3A+Ci0KLTxwPlRoZSA8ZW0+cGFydGlhbDwvZW0+
IGF0dHJpYnV0ZSBpbmRpY2F0ZXMgdGhhdCB0aGUgZGVmaW5pdGlvbiBvZiB0aGUgaW50ZXJmYWNl
IGNvbXBsZW1lbnRzIGFuIGV4aXN0aW5nIGRlZmluaXRpb24uIFRoZSA8ZW0+Y2FsbGJhY2s8L2Vt
PiBhdHRyaWJ1dGUgc3BlY2lmaWNpZXMgdGhhdCBhIGdpdmVuIGludGVyZmFjZSBpcyBhIGNhbGxi
YWNrIGludGVyZmFjZS48L3A+Ci0KLTxwPgotVGhlIDxlbT5JbnRlcmZhY2VJbmhlcml0YW5jZTwv
ZW0+IGVsZW1lbnQgaW5kaWNhdGVzIHRoYXQgdGhlIGludGVyZmFjZQotaW5oZXJpdHMgZnJvbSBv
dGhlciBpbnRlcmZhY2UocykuIEVhY2ggPGVtPk5hbWU8L2VtPiBpbiB0aGUKLTxlbT5JbnRlcmZh
Y2VJbmhlcml0YW5jZTwvZW0+IGhhcyBhIDxlbT5uYW1lPC9lbT4gYXR0cmlidXRlIGdpdmluZyB0
aGUKLXNjb3BlZCBuYW1lIG9mIHRoZSBpbnRlcmZhY2UgYmVpbmcgaW5oZXJpdGVkIGZyb20uCi08
L3A+Ci0KLTxwcmUgY2xhc3M9ImR0ZCI+Ci0mbHQ7IUVMRU1FTlQgSW50ZXJmYWNlICh3ZWJpZGws
IGRlc2NyaXB0aXZlPywgRXh0ZW5kZWRBdHRyaWJ1dGVMaXN0PywKLSAgICAgICAgSW50ZXJmYWNl
SW5oZXJpdGFuY2U/LCAoQ29uc3QgfCBBdHRyaWJ1dGUgfCBPcGVyYXRpb24gfCBTdHJpbmdpZmll
ciogfCBTZXJpYWxpemVyKiB8IEl0ZXJhdG9yIHwgSXRlcmF0b3JPYmplY3QpKiApID4KLSZsdDsh
QVRUTElTVCBJbnRlcmZhY2UgbmFtZSBDREFUQSAjUkVRVUlSRUQKLSAgICAgICAgICAgICAgICAg
ICAgcGFydGlhbCAocGFydGlhbCkgI0lNUExJRUQKLSAgICAgICAgICAgICAgICAgICAgY2FsbGJh
Y2sgKGNhbGxiYWNrKSAjSU1QTElFRAotICAgICAgICAgICAgICAgICAgICBpZCBDREFUQSAjUkVR
VUlSRUQgPgotCi0mbHQ7IUVMRU1FTlQgSW50ZXJmYWNlSW5oZXJpdGFuY2UgKE5hbWUrKSA+Ci0K
LSZsdDshRUxFTUVOVCBOYW1lIEVNUFRZID4KLSZsdDshQVRUTElTVCBOYW1lIG5hbWUgQ0RBVEEg
I1JFUVVJUkVEID4KLTwvcHJlPgotCi08aDQ+RGljdGlvbmFyeTwvaDQ+Ci0KLTxwPgotQSA8ZW0+
RGljdGlvbmFyeTwvZW0+IHJlcHJlc2VudHMgYSBkaWN0aW9uYXJ5LiBUaGUgPGVtPm5hbWU8L2Vt
PgotYXR0cmlidXRlIHNwZWNpZmllcyB0aGUgbmFtZSBvZiB0aGUgZGljdGlvbmFyeS4gVGhlIDxl
bT5kZXNjcmlwdGl2ZTwvZW0+IGVsZW1lbnQKLXByb3ZpZGVzIGl0cyBkb2N1bWVudGF0aW9uIGlm
IGFueS4KLVRoZSA8ZW0+aWQ8L2VtPiBhdHRyaWJ1dGUgc3BlY2lmaWVzIHRoZSBhYnNvbHV0ZSBz
Y29wZWQgbmFtZSBvZiB0aGUgZGljdGlvbmFyeS4KLTwvcD4KLQotPHA+VGhlIDxlbT5wYXJ0aWFs
PC9lbT4gYXR0cmlidXRlIGluZGljYXRlcyB0aGF0IHRoZSBkZWZpbml0aW9uIG9mIHRoZSBpbnRl
cmZhY2UgY29tcGxlbWVudHMgYW4gZXhpc3RpbmcgZGVmaW5pdGlvbi48L3A+Ci0KLTxwPgotVGhl
IDxlbT5EaWN0aW9uYXJ5SW5oZXJpdGFuY2U8L2VtPiBlbGVtZW50IGluZGljYXRlcyB0aGF0IHRo
ZSBkaWN0aW9uYXJ5Ci1pbmhlcml0cyBmcm9tIG90aGVyIGRpY3Rpb25hcnkocykuIEVhY2ggPGVt
Pk5hbWU8L2VtPiBpbiB0aGUKLTxlbT5EaWN0aW9uYXJ5SW5oZXJpdGFuY2U8L2VtPiBoYXMgYSA8
ZW0+bmFtZTwvZW0+IGF0dHJpYnV0ZSBnaXZpbmcgdGhlCi1zY29wZWQgbmFtZSBvZiB0aGUgZGlj
dGlvbmFyeSBiZWluZyBpbmhlcml0ZWQgZnJvbS4KLTwvcD4KLQotCi08cHJlIGNsYXNzPSJkdGQi
PgotJmx0OyFFTEVNRU5UIERpY3Rpb25hcnkgKHdlYmlkbCwgZGVzY3JpcHRpdmU/LCBEaWN0aW9u
YXJ5SW5oZXJpdGFuY2U/LCBEaWN0aW9uYXJ5TWVtYmVyKiApID4KLSZsdDshQVRUTElTVCBEaWN0
aW9uYXJ5IG5hbWUgQ0RBVEEgI1JFUVVJUkVECi0gICAgICAgICAgICAgICAgICAgIHBhcnRpYWwg
KHBhcnRpYWwpICNJTVBMSUVECi0gICAgICAgICAgICAgICAgICAgIGlkIENEQVRBICNSRVFVSVJF
RCA+Ci0KLSZsdDshRUxFTUVOVCBEaWN0aW9uYXJ5SW5oZXJpdGFuY2UgKE5hbWUrKSA+Ci08L3By
ZT4KLQotPGg0PkNhbGxiYWNrPC9oND4KLQotPHA+Ci1BIDxlbT5DYWxsYmFjazwvZW0+IHJlcHJl
c2VudHMgYSBjYWxsYmFjayB0eXBlLiBUaGUgPGVtPm5hbWU8L2VtPgotYXR0cmlidXRlIHNwZWNp
ZmllcyB0aGUgbmFtZSBvZiB0aGUgZGljdGlvbmFyeS4gVGhlIDxlbT5kZXNjcmlwdGl2ZTwvZW0+
IGVsZW1lbnQKLXByb3ZpZGVzIGl0cyBkb2N1bWVudGF0aW9uIGlmIGFueS48L3A+Ci0KLTxwPlRo
ZSA8ZW0+VHlwZTwvZW0+IGVsZW1lbnQgc3BlY2lmaWVzIGl0cyByZXR1cm4gdHlwZS48L3A+Ci0K
LTxwPgotQW4gPGVtPkFyZ3VtZW50PC9lbT4gaXMgYW4gYXJndW1lbnQgdG8gYW4gb3BlcmF0aW9u
LgotVGhlIDxlbT5UeXBlPC9lbT4gZWxlbWVudCBzcGVjaWZpZXMgaXRzIHR5cGUuIFRoZSA8ZW0+
bmFtZTwvZW0+Ci1hdHRyaWJ1dGUgc3BlY2lmaWVzIGl0cyBuYW1lIGlmIGl0IGhhcyBvbmUuCi08
L3A+Ci0KLTxwcmUgY2xhc3M9ImR0ZCI+Ci0mbHQ7IUVMRU1FTlQgQ2FsbGJhY2sgKHdlYmlkbCwg
ZGVzY3JpcHRpdmU/LCBUeXBlLCBBcmd1bWVudExpc3Q/ICkgPgotJmx0OyFBVFRMSVNUIENhbGxi
YWNrIG5hbWUgQ0RBVEEgI1JFUVVJUkVECi0gICAgICAgICAgICAgICAgICAgICAgaWQgQ0RBVEEg
I1JFUVVJUkVEPgotPC9wcmU+Ci0KLQotPGg0PkVudW08L2g0PgotCi08cD4KLUFuIDxlbT5FbnVt
PC9lbT4gcmVwcmVzZW50cyBhbiBlbnVtZXJhdGlvbi4gVGhlIDxlbT5uYW1lPC9lbT4KLWF0dHJp
YnV0ZSBzcGVjaWZpZXMgdGhlIG5hbWUgb2YgdGhlIGVudW1lcmF0aW9uLiBUaGUgPGVtPmRlc2Ny
aXB0aXZlPC9lbT4gZWxlbWVudAotcHJvdmlkZXMgaXRzIGRvY3VtZW50YXRpb24gaWYgYW55Lgot
PC9wPgotCi08cD4KLVRoZSA8ZW0+RW51bVZhbHVlPC9lbT4gZWxlbWVudCBpbmRpY2F0ZXMgdGhl
IHZhbHVlcyBkZWZpbmVkIGZvciB0aGF0IGVudW1lcmF0aW9uIGluIGl0cyA8ZW0+c3RyaW5ndmFs
dWU8L2VtPiBhdHRyaWJ1dGUuCi08L3A+Ci0KLQotPHByZSBjbGFzcz0iZHRkIj4KLSZsdDshRUxF
TUVOVCBFbnVtICh3ZWJpZGwsIGRlc2NyaXB0aXZlPywgRW51bVZhbHVlKiApID4KLSZsdDshQVRU
TElTVCBFbnVtIG5hbWUgQ0RBVEEgI1JFUVVJUkVEIAotICAgICAgICAgICAgICAgICAgICBpZCBD
REFUQSAjUkVRVUlSRUQgPgotCi0mbHQ7IUVMRU1FTlQgRW51bVZhbHVlICh3ZWJpZGwsIGRlc2Ny
aXB0aXZlPykgPgotJmx0OyFBVFRMSVNUIEVudW1WYWx1ZSBzdHJpbmd2YWx1ZSBDREFUQSAjUkVR
VUlSRUQgPgotPC9wcmU+Ci0KLQotCi08aDQ+RXhjZXB0aW9uPC9oND4KLQotPHA+Ci1BbiA8ZW0+
RXhjZXB0aW9uPC9lbT4gcmVwcmVzZW50cyBhbiBleGNlcHRpb24uCi1UaGUgPGVtPm5hbWU8L2Vt
PgotYXR0cmlidXRlIHNwZWNpZmllcyB0aGUgbmFtZSBvZiB0aGUgZXhjZXB0aW9uLgotVGhlIDxl
bT5kZXNjcmlwdGl2ZTwvZW0+IGVsZW1lbnQKLXByb3ZpZGVzIGl0cyBkb2N1bWVudGF0aW9uIGlm
IGFueS4KLVRoZSA8ZW0+aWQ8L2VtPiBhdHRyaWJ1dGUgc3BlY2lmaWVzIHRoZSBhYnNvbHV0ZSBz
Y29wZWQgbmFtZSBvZiB0aGUgZXhjZXB0aW9uLgotPC9wPgotCi08cD4KLUFuIDxlbT5FeGNlcHRp
b25GaWVsZDwvZW0+IHJlcHJlc2VudHMgYSBmaWVsZCBpbiBhbiBleGNlcHRpb24uCi1UaGUgPGVt
Pm5hbWU8L2VtPgotYXR0cmlidXRlIHNwZWNpZmllcyB0aGUgbmFtZSBvZiB0aGUgZmllbGQuCi1U
aGUgPGVtPlR5cGU8L2VtPiBlbGVtZW50IHNwZWNpZmllcyBpdHMgdHlwZS4KLVRoZSA8ZW0+ZGVz
Y3JpcHRpdmU+PC9lbT4gZWxlbWVudAotcHJvdmlkZXMgaXRzIGRvY3VtZW50YXRpb24gaWYgYW55
LgotVGhlIDxlbT5pZDwvZW0+IGF0dHJpYnV0ZSBzcGVjaWZpZXMgdGhlIGFic29sdXRlIHNjb3Bl
ZCBuYW1lIG9mIHRoZSBmaWVsZC4KLTwvcD4KLQotPHA+Ci1UaGUgPGVtPkV4Y2VwdGlvbkluaGVy
aXRhbmNlPC9lbT4gZWxlbWVudCBpbmRpY2F0ZXMgdGhhdCB0aGUgZXhjZXB0aW9uCi1pbmhlcml0
cyBmcm9tIGFub3RoZXIgZXhjZXB0aW9uLiBUaGUgPGVtPk5hbWU8L2VtPiBpbiB0aGUKLTxlbT5F
eGNlcHRpb25Jbmhlcml0YW5jZTwvZW0+IGhhcyBhIDxlbT5uYW1lPC9lbT4gYXR0cmlidXRlIGdp
dmluZyB0aGUKLXNjb3BlZCBuYW1lIG9mIHRoZSBleGNlcHRpb24gYmVpbmcgaW5oZXJpdGVkIGZy
b20uCi08L3A+Ci0KLQotPHByZSBjbGFzcz0iZHRkIj4KLSZsdDshRUxFTUVOVCBFeGNlcHRpb24g
KHdlYmlkbCwgZGVzY3JpcHRpdmU/LCBFeHRlbmRlZEF0dHJpYnV0ZUxpc3Q/LCBFeGNlcHRpb25J
bmhlcml0YW5jZT8sCi0gICAgICAgIChDb25zdCB8IEV4Y2VwdGlvbkZpZWxkKSogKSA+Ci0mbHQ7
IUFUVExJU1QgRXhjZXB0aW9uIG5hbWUgQ0RBVEEgI1JFUVVJUkVEIAotICAgICAgICAgICAgICAg
ICAgICBpZCBDREFUQSAjUkVRVUlSRUQgPgotCi0mbHQ7IUVMRU1FTlQgRXhjZXB0aW9uSW5oZXJp
dGFuY2UgKE5hbWUpID4KLSZsdDshRUxFTUVOVCBFeGNlcHRpb25GaWVsZCAod2ViaWRsLCBkZXNj
cmlwdGl2ZT8sIEV4dGVuZGVkQXR0cmlidXRlTGlzdD8sIChUeXBlKSkgPgotJmx0OyFBVFRMSVNU
IEV4Y2VwdGlvbkZpZWxkIG5hbWUgQ0RBVEEgI1JFUVVJUkVECi0gICAgICAgICAgICAgICAgICAg
ICAgICAgaWQgQ0RBVEEgI1JFUVVJUkVEID4KLTwvcHJlPgotCi08aDQ+VHlwZWRlZjwvaDQ+Ci0K
LTxwPgotQSA8ZW0+VHlwZWRlZjwvZW0+IHJlcHJlc2VudHMgYSB0eXBlIGRlZmluaXRpb24uCi1U
aGUgPGVtPm5hbWU8L2VtPgotYXR0cmlidXRlIHNwZWNpZmllcyB0aGUgbmFtZSBvZiB0aGUgbmV3
IHR5cGUuCi1UaGUgPGVtPlR5cGU8L2VtPiBlbGVtZW50IHNwZWNpZmllcyBpdCBpbiB0ZXJtcyBv
ZiBvdGhlciB0eXBlcy4KLVRoZSA8ZW0+ZGVzY3JpcHRpdmU+PC9lbT4gZWxlbWVudAotcHJvdmlk
ZXMgaXRzIGRvY3VtZW50YXRpb24gaWYgYW55LgotVGhlIDxlbT5pZDwvZW0+IGF0dHJpYnV0ZSBz
cGVjaWZpZXMgdGhlIGFic29sdXRlIHNjb3BlZCBuYW1lIG9mIHRoZSB0eXBlZGVmLgotPC9wPgot
Ci08cHJlIGNsYXNzPSJkdGQiPgotJmx0OyFFTEVNRU5UIFR5cGVkZWYgKHdlYmlkbCwgZGVzY3Jp
cHRpdmU/LCBFeHRlbmRlZEF0dHJpYnV0ZUxpc3Q/LCAoVHlwZSkpID4KLSZsdDshQVRUTElTVCBU
eXBlZGVmIG5hbWUgQ0RBVEEgI1JFUVVJUkVECi0gICAgICAgICAgICAgICAgICBpZCBDREFUQSAj
UkVRVUlSRUQgPgotPC9wcmU+Ci0KLTxoND5JbXBsZW1lbnRzPC9oND4KLQotPHA+Ci1BbiA8ZW0+
SW1wbGVtZW50czwvZW0+IHJlcHJlc2VudHMgV2ViIElETCdzCi08Y29kZT48aT5TY29wZWROYW1l
PC9pPiBpbXBsZW1lbnRzIDxpPlNjb3BlZE5hbWU8L2k+OzwvY29kZT4KLXN5bnRheC4gVGhlIDxl
bT5uYW1lMTwvZW0+IGFuZCA8ZW0+bmFtZTI8L2VtPiBhdHRyaWJ1dGVzIGdpdmUgdGhlCi1maXJz
dCBhbmQgc2Vjb25kIHNjb3BlZCBuYW1lcyByZXNwZWN0aXZlbHkuCi1UaGUgPGVtPmRlc2NyaXB0
aXZlPjwvZW0+IGVsZW1lbnQKLXByb3ZpZGVzIHRoZSA8ZW0+SW1wbGVtZW50czwvZW0+J3MgZG9j
dW1lbnRhdGlvbiBpZiBhbnkuCi08L3A+Ci0KLTxwcmUgY2xhc3M9ImR0ZCI+Ci0mbHQ7IUVMRU1F
TlQgSW1wbGVtZW50cyAod2ViaWRsLCBkZXNjcmlwdGl2ZT8sIEV4dGVuZGVkQXR0cmlidXRlTGlz
dD8pID4KLSZsdDshQVRUTElTVCBJbXBsZW1lbnRzIG5hbWUxIENEQVRBICNSRVFVSVJFRAotICAg
ICAgICAgICAgICAgICAgICAgbmFtZTIgQ0RBVEEgI1JFUVVJUkVEID4KLTwvcHJlPgotCi08aDQ+
Q29uc3Q8L2g0PgotCi08cD4KLTxlbT5Db25zdDwvZW0+IHJlcHJlc2VudHMgV2ViIElETCdzCi08
Y29kZT5jb25zdCA8aT5UeXBlPC9pPiA8aT5pZGVudGlmaWVyPC9pPiA9IDxpPkNvbnN0RXhwcjwv
aT47PC9jb2RlPgotc3ludGF4LgotVGhlIDxlbT5UeXBlPC9lbT4gc3BlY2lmaWVzIHRoZSBjb25z
dGFudCdzIHR5cGUsIHRoZQotPGVtPm5hbWU8L2VtPiBhdHRyaWJ1dGUgc3BlY2lmaWVzIHRoZSBj
b25zdGFudCdzIG5hbWUsIGFuZCB0aGUKLTxlbT52YWx1ZTwvZW0+IGF0dHJpYnV0ZSBzcGVjaWZp
ZXMgaXRzIHZhbHVlLgotVGhlIDxlbT5kZXNjcmlwdGl2ZT48L2VtPiBlbGVtZW50Ci1wcm92aWRl
cyB0aGUgPGVtPkNvbnN0PC9lbT4ncyBkb2N1bWVudGF0aW9uIGlmIGFueS4KLVRoZSA8ZW0+aWQ8
L2VtPiBhdHRyaWJ1dGUgc3BlY2lmaWVzIHRoZSBhYnNvbHV0ZSBzY29wZWQgbmFtZSBvZiB0aGUg
Y29uc3QuCi08L3A+Ci0KLTxwcmUgY2xhc3M9ImR0ZCI+Ci0mbHQ7IUVMRU1FTlQgQ29uc3QgKHdl
YmlkbCwgZGVzY3JpcHRpdmU/LCBFeHRlbmRlZEF0dHJpYnV0ZUxpc3Q/LCBUeXBlKSA+Ci0mbHQ7
IUFUVExJU1QgQ29uc3QgbmFtZSBDREFUQSAjUkVRVUlSRUQKLSAgICAgICAgICAgICAgICB2YWx1
ZSBDREFUQSAjSU1QTElFRAotICAgICAgICAgICAgICAgIGlkIENEQVRBICNSRVFVSVJFRCA+Ci08
L3ByZT4KLQotPGg0PlN0cmluZ2lmaWVyPC9oND4KLQotPHA+Ci1BIDxlbT5TdHJpbmdpZmllcjwv
ZW0+IHJlcHJlc2VudHMgdGhlIFdlYiBJREwgPGNvZGU+c3RyaW5naWZpZXI7PC9jb2RlPgotc3lu
dGF4IGFzIGFuIGludGVyZmFjZSBtZW1iZXIuCi1UaGUgPGVtPmRlc2NyaXB0aXZlPjwvZW0+IGVs
ZW1lbnQKLXByb3ZpZGVzIHRoZSA8ZW0+U3RyaW5naWZpZXI8L2VtPidzIGRvY3VtZW50YXRpb24g
aWYgYW55LgotPC9wPgotCi08cHJlIGNsYXNzPSJkdGQiPgotJmx0OyFFTEVNRU5UIFN0cmluZ2lm
aWVyICh3ZWJpZGwsIGRlc2NyaXB0aXZlPywgRXh0ZW5kZWRBdHRyaWJ1dGVMaXN0PykgPgotPC9w
cmU+Ci0KLTxoND5BdHRyaWJ1dGU8L2g0PgotCi08cD4KLUFuIDxlbT5BdHRyaWJ1dGU8L2VtPiBy
ZXByZXNlbnRzIGFuIGF0dHJpYnV0ZSBhcyBhbiBpbnRlcmZhY2UgbWVtYmVyLgotVGhlIDxlbT5U
eXBlPC9lbT4gZWxlbWVudCBzcGVjaWZpZXMgaXRzIHR5cGUuIFRoZSA8ZW0+bmFtZTwvZW0+Ci1h
dHRyaWJ1dGUgc3BlY2lmaWVzIGl0cyBuYW1lLiBFYWNoIG9mIHRoZSA8ZW0+c3RyaW5naWZpZXI8
L2VtPiwgPGVtPnN0YXRpYzwvZW0+IGFuZAotPGVtPnJlYWRvbmx5PC9lbT4gYXR0cmlidXRlcyBp
cyBzZXQgdG8gYSB2YWx1ZSB0aGUgc2FtZSBhcyB0aGUgYXR0cmlidXRlCi1uYW1lIHdoZW4gdGhl
IGNvcnJlc3BvbmRpbmcga2V5d29yZCBhcHBlYXJzIGluIHRoZSBXZWIgSURMIGlucHV0LiBUaGUg
PGVtPmluaGVyaXQ8L2VtPiBhdHRyaWJ1dGUgaXMgc2V0IHRvIDxlbT5pbmhlcml0PC9lbT4gd2hl
biB0aGUgYXR0cmlidXRlIGluaGVyaXRzIGl0cyBnZXR0ZXIuCi08L3A+Ci0KLQotPHA+Ci1UaGUg
PGVtPmRlc2NyaXB0aXZlPjwvZW0+IGVsZW1lbnQgcHJvdmlkZXMgdGhlIGF0dHJpYnV0ZSdzIGRv
Y3VtZW50YXRpb24KLWlmIGFueS4KLVRoZSA8ZW0+aWQ8L2VtPiBhdHRyaWJ1dGUgc3BlY2lmaWVz
IHRoZSBhYnNvbHV0ZSBzY29wZWQgbmFtZSBvZiB0aGUgYXR0cmlidXRlLgotPC9wPgotCi08cHJl
IGNsYXNzPSJkdGQiPgotJmx0OyFFTEVNRU5UIEF0dHJpYnV0ZSAod2ViaWRsLCBkZXNjcmlwdGl2
ZT8sIEV4dGVuZGVkQXR0cmlidXRlTGlzdD8sIChUeXBlKSkgPgotJmx0OyFBVFRMSVNUIEF0dHJp
YnV0ZSBzdHJpbmdpZmllciAoc3RyaW5naWZpZXIpICNJTVBMSUVECi0gICAgICAgICAgICAgICAg
ICAgIHJlYWRvbmx5IChyZWFkb25seSkgI0lNUExJRUQKLSAgICAgICAgICAgICAgICAgICAgaW5o
ZXJpdCAoaW5oZXJpdCkgI0lNUExJRUQKLSAgICAgICAgICAgICAgICAgICAgc3RhdGljIChzdGF0
aWMpICNJTVBMSUVECi0gICAgICAgICAgICAgICAgICAgIG5hbWUgQ0RBVEEgI1JFUVVJUkVECi0g
ICAgICAgICAgICAgICAgICAgIGlkIENEQVRBICNSRVFVSVJFRCA+Ci0KLTwvcHJlPgotCi0KLTxo
ND5PcGVyYXRpb248L2g0PgotCi08cD4KLUFuIDxlbT5PcGVyYXRpb248L2VtPiByZXByZXNlbnRz
IGEgbWV0aG9kIG9uIGludGVyZmFjZS4KLVRoZSA8ZW0+VHlwZTwvZW0+IGVsZW1lbnQgc3BlY2lm
aWVzIGl0cyByZXR1cm4gdHlwZS4gVGhlIDxlbT5uYW1lPC9lbT4KLWF0dHJpYnV0ZSBzcGVjaWZp
ZXMgaXRzIG5hbWUuCi08L3A+Ci0KLTxwPgotRWFjaCBvZiB0aGUgPGVtPnN0cmluZ2lmaWVyPC9l
bT4sIDxlbT5zdGF0aWM8L2VtPiwgPGVtPmdldHRlcjwvZW0+LAotPGVtPnNldHRlcjwvZW0+LCA8
ZW0+Y3JlYXRvcjwvZW0+LCA8ZW0+ZGVsZXRlcjwvZW0+IGFuZCA8ZW0+bGVnYWN5Y2FsbGVyPC9l
bT4sIDxlbT5zZXJpYWxpemVyPC9lbT4KLWF0dHJpYnV0ZXMgaXMgc2V0IHRvIGEgdmFsdWUgdGhl
IHNhbWUgYXMgdGhlIGF0dHJpYnV0ZQotbmFtZSB3aGVuIHRoZSBjb3JyZXNwb25kaW5nIGtleXdv
cmQgYXBwZWFycyBpbiB0aGUgV2ViIElETCBpbnB1dC4KLTwvcD4KLQotCi08cD4KLVRoZSA8ZW0+
ZGVzY3JpcHRpdmU+PC9lbT4gZWxlbWVudCBwcm92aWRlcyB0aGUgYXR0cmlidXRlJ3MgZG9jdW1l
bnRhdGlvbgotaWYgYW55LgotVGhlIDxlbT5pZDwvZW0+IGF0dHJpYnV0ZSBzcGVjaWZpZXMgdGhl
IGFic29sdXRlIHNjb3BlZCBuYW1lIG9mIHRoZSBvcGVyYXRpb24gaWYgaXQgaGFzIG9uZS4KLTwv
cD4KLQotPHA+Ci1BbiA8ZW0+QXJndW1lbnQ8L2VtPiBpcyBhbiBhcmd1bWVudCB0byBhbiBvcGVy
YXRpb24uCi1UaGUgPGVtPlR5cGU8L2VtPiBlbGVtZW50IHNwZWNpZmllcyBpdHMgdHlwZS4gVGhl
IDxlbT5uYW1lPC9lbT4KLWF0dHJpYnV0ZSBzcGVjaWZpZXMgaXRzIG5hbWUgaWYgaXQgaGFzIG9u
ZS4KLTwvcD4KLQotPHA+Ci1FYWNoIG9mIHRoZSA8ZW0+b3B0aW9uYWw8L2VtPiBhbmQgPGVtPmVs
bGlwc2lzPC9lbT4KLWF0dHJpYnV0ZXMgaXMgc2V0IHRvIGEgdmFsdWUgdGhlIHNhbWUgYXMgdGhl
IGF0dHJpYnV0ZQotbmFtZSB3aGVuIHRoZSBjb3JyZXNwb25kaW5nIHN5bnRheCBhcHBlYXJzIGlu
IHRoZSBXZWIgSURMIGlucHV0LgotPC9wPgotCi08cD5UaGUKLTxlbT52YWx1ZTwvZW0+IGF0dHJp
YnV0ZSB1c2VkIG9uIG9wdGlvbmFsIGFyZ3VtZW50cyBzcGVjaWZpZXMgZGVmYXVsdCB2YWx1ZSBm
b3Igbm9uLXN0cmluZyB2YWx1ZXMsIGFuZCA8ZW0+c3RyaW5ndmFsdWU8L2VtPiBmb3Igc3RyaW5n
IHZhbHVlcy48L3A+Ci0KLQotPHByZSBjbGFzcz0iZHRkIj4KLSZsdDshRUxFTUVOVCBPcGVyYXRp
b24gKHdlYmlkbCwgZGVzY3JpcHRpdmU/LCBFeHRlbmRlZEF0dHJpYnV0ZUxpc3Q/LAotICAgICAg
ICAoVHlwZSksIEFyZ3VtZW50TGlzdCkgPgotJmx0OyFBVFRMSVNUIE9wZXJhdGlvbiBzdHJpbmdp
ZmllciAoc3RyaW5naWZpZXIpICNJTVBMSUVECi0gICAgICAgICAgICAgICAgICAgIHN0YXRpYyAo
c3RhdGljKSAjSU1QTElFRAotICAgICAgICAgICAgICAgICAgICBnZXR0ZXIgKGdldHRlcikgI0lN
UExJRUQKLSAgICAgICAgICAgICAgICAgICAgc2V0dGVyIChzZXR0ZXIpICNJTVBMSUVECi0gICAg
ICAgICAgICAgICAgICAgIGNyZWF0b3IgKGNyZWF0b3IpICNJTVBMSUVECi0gICAgICAgICAgICAg
ICAgICAgIGRlbGV0ZXIgKGRlbGV0ZXIpICNJTVBMSUVECi0gICAgICAgICAgICAgICAgICAgIHNl
cmlhbGl6ZXIgKHNlcmlhbGl6ZXIpICNJTVBMSUVECi0gICAgICAgICAgICAgICAgICAgIGxlZ2Fj
eWNhbGxlciAobGVnYWN5Y2FsbGVyKSAjSU1QTElFRAotICAgICAgICAgICAgICAgICAgICBuYW1l
IE5NVE9LRU4gI0lNUExJRUQKLSAgICAgICAgICAgICAgICAgICAgaWQgTk1UT0tFTiAjSU1QTElF
RCA+Ci0KLQotJmx0OyFFTEVNRU5UIEFyZ3VtZW50TGlzdCAoQXJndW1lbnQqKSA+Ci0KLSZsdDsh
RUxFTUVOVCBBcmd1bWVudCAoZGVzY3JpcHRpdmU/LCBFeHRlbmRlZEF0dHJpYnV0ZUxpc3Q/LCAo
VHlwZSkpID4KLSZsdDshQVRUTElTVCBBcmd1bWVudAotICAgICAgICAgICAgICAgICAgIG9wdGlv
bmFsIChvcHRpb25hbCkgI0lNUExJRUQKLSAgICAgICAgICAgICAgICAgICBlbGxpcHNpcyAoZWxs
aXBzaXMpICNJTVBMSUVECi0gICAgICAgICAgICAgICAgdmFsdWUgQ0RBVEEgI0lNUExJRUQKLSAg
ICAgICAgICAgICAgICBzdHJpbmd2YWx1ZSBDREFUQSAjSU1QTElFRAotICAgICAgICAgICAgICAg
ICAgIG5hbWUgTk1UT0tFTiAjUkVRVUlSRUQgPgotPC9wcmU+Ci0KLTxoND5TZXJpYWxpemVyPC9o
ND4KLTxwPkEgPGVtPlNlcmlhbGl6ZXI8L2VtPiByZXByZXNlbnRzIGEgc2VyaWFsaXplciBmb3Ig
YW4gaW50ZXJmYWNlLCBlaXRoZXIgZGVmaW5lZCBpbiB0aGUgcHJvc2Ugb3IgdmlhIGEgcGF0dGVy
bi48L3A+Ci0KLTxwPlRoZSA8ZW0+ZGVzY3JpcHRpdmU8L2VtPiBlbGVtZW50IHByb3ZpZGVzIHRo
ZSBzZXJpYWxpemVyJ3MgZG9jdW1lbnRhdGlvbiBpZiBhbnkuPC9wPgotCi0KLTxwPlRoZSA8ZW0+
YXR0cmlidXRlPC9lbT4gYXR0cmlidXRlIGRlZmluZXMgdGhlIGF0dHJpYnV0ZSB0aGF0IGlzIHVz
ZWQgZm9yIHNlcmlhbGl6YXRpb24gaWYgYW55LjwvcD4KLQotPHA+VGhlIG9wdGlvbmFsIDxlbT5N
YXA8L2VtPiBhbmQgPGVtPkxpc3Q8L2VtPiBlbGVtZW50cyBkZXNjcmliZSB0aGUgcGF0dGVybiAo
aWYgYW55KSBmb3IgdGhlIHNlcmlhbGl6ZXIuIFRoZXkgdGFrZSA8ZW0+UGF0dGVybkF0dHJpYnV0
ZTwvZW0+IGVsZW1lbnRzIHdpdGggYSA8ZW0+bmFtZTwvZW0+IGF0dHJpYnV0ZSB0aGF0IGRlc2Ny
aWJlcyB0aGUgYXR0cmlidXRlcyB1c2VkIGZvciBzZXJpYWxpemF0aW9uLjwvcD4KLQotPHA+PGVt
Pk1hcDwvZW0+IGVsZW1lbnRzIHRha2UgYSA8ZW0+cGF0dGVybjwvZW0+IGF0dHJpYnV0ZSB0aGF0
IGNhbiBiZSBzZXQgdG8gZWl0aGVyICJnZXR0ZXIiIChpZiB0aGUgZ2V0dGVyIGlzIHVzZWQgZm9y
IHNlcmlhbGl6YXRpb24pLCAiYWxsIiBpZiBhbGwgc2VyaWFsaXphYmxlIGF0dHJpYnV0ZXMgYXJl
IHRvIGJlIHVzZWQsIG9yICJzZWxlY3Rpb24iIGlmIHRoZSBhdHRyaWJ1dGVzIG5hbWVkIGFzIGNo
aWxkcmVuIGVsZW1lbnRzIGFyZSB0byBiZSB1c2VkLiBPcHRpb25hbGx5LCB0aGV5IHRha2UgYSA8
ZW0+aW5oZXJpdDwvZW0+IGF0dHJpYnV0ZSBzZXQgdG8gImluaGVyaXQiIGlmIHRoZSBzZXJpYWxp
emF0aW9uIHRha2VzIGFsc28gaW50byBhY2NvdW50IGluaGVyaXRlZCBhdHRyaWJ1dGVzLjwvcD4K
LQotPHA+PGVtPkxpc3Q8L2VtPiBlbGVtZW50cyB0YWtlIGEgPGVtPnBhdHRlcm48L2VtPiBhdHRy
aWJ1dGUgdGhhdCBjYW4gYmUgc2V0IHRvIGVpdGhlciAiZ2V0dGVyIiAoaWYgdGhlIGdldHRlciBp
cyB1c2VkIGZvciBzZXJpYWxpemF0aW9uKSwgb3IgInNlbGVjdGlvbiIgaWYgdGhlIGF0dHJpYnV0
ZXMgbmFtZWQgYXMgY2hpbGRyZW4gZWxlbWVudHMgYXJlIHRvIGJlIHVzZWQuPC9wPgotCi08cHJl
IGNsYXNzPSJkdGQiPgotJmx0OyFFTEVNRU5UIFNlcmlhbGl6ZXIgKHdlYmlkbCwgZGVzY3JpcHRp
dmU/LCBFeHRlbmRlZEF0dHJpYnV0ZUxpc3Q/LCAoTWFwIHwgTGlzdCk/KSA+Ci0mbHQ7IUFUVExJ
U1QgU2VyaWFsaXplciBhdHRyaWJ1dGUgQ0RBVEEgI0lNUExJRUQgPgotCi0mbHQ7IUVMRU1FTlQg
TWFwICAoKFBhdHRlcm5BdHRyaWJ1dGUqKSkgPgotCi0mbHQ7IUFUVExJU1QgTWFwIGluaGVyaXQg
KGluaGVyaXQpICNJTVBMSUVECi0gICAgICAgICAgICAgICAgIHBhdHRlcm4gKGdldHRlcnxhbGx8
c2VsZWN0aW9uKSAjUkVRVUlSRUQ+Ci0KLSZsdDshRUxFTUVOVCBMaXN0ICAoKFBhdHRlcm5BdHRy
aWJ1dGUqKSkgPgotCi0mbHQ7IUFUVExJU1QgTGlzdCBwYXR0ZXJuIChnZXR0ZXJ8c2VsZWN0aW9u
KSAjUkVRVUlSRUQ+Ci0KLSZsdDshRUxFTUVOVCBQYXR0ZXJuQXR0cmlidXRlIEVNUFRZPgotJmx0
OyFBVFRMSVNUIFBhdHRlcm5BdHRyaWJ1dGUgbmFtZSBDREFUQSAjUkVRVUlSRUQ+Ci0KLTwvcHJl
PgotCi08aDQ+SXRlcmF0b3I8L2g0PgotPHA+QW4gPGVtPkl0ZXJhdG9yPC9lbT4gZWxlbWVudCBk
ZWZpbmVzICB3aGV0aGVyIHRoZSBpbnRlcmZhY2UgaGFzIGEgY3VzdG9tIGl0ZXJhdG9yOyB0aGUg
dHlwZSBvZiB0aGUgaXRlcmF0ZWQgb2JqZWN0cyBpcyBkZWZpbmVkIGluIHRoZSA8ZW0+VHlwZTwv
ZW0+IGNoaWxkLiBJZiB0aGF0IGludGVyYXRvciBpbXBsZW1lbnRzIGEgcGFydGljdWxhciBpbnRl
cmZhY2UsIHRoZSBuYW1lIG9mIHRoYXQgaW50ZXJmYWNlIGlzIHNldCBpbiB0aGUgPGVtPmludGVy
ZmFjZTwvZW0+IGF0dHJpYnV0ZS48L3A+Ci08cHJlIGNsYXNzPSJkdGQiPgotJmx0OyFFTEVNRU5U
IEl0ZXJhdG9yICh3ZWJpZGwsIGRlc2NyaXB0aXZlPywgRXh0ZW5kZWRBdHRyaWJ1dGVMaXN0Pywg
VHlwZSkgPgotJmx0OyFBVFRMSVNUIEl0ZXJhdG9yIGludGVyZmFjZSBDREFUQSAjSU1QTElFRD4K
LTwvcHJlPgotCi08aDQ+SXRlcmF0b3JPYmplY3Q8L2g0PgotPHA+QW4gPGVtPkl0ZXJhdG9yT2Jq
ZWN0PC9lbT4gZWxlbWVudCBkZW5vdGVzIHRoYXQgdGhlIGludGVyZmFjZSBzZXJ2ZXMgYXMgYW4g
aXRlcmF0b3Igb2JqZWN0IGludGVyZmFjZTsgdGhlIHR5cGUgb2YgdGhlIGl0ZXJhdGVkIG9iamVj
dHMgaXMgZGVmaW5lZCBpbiB0aGUgPGVtPlR5cGU8L2VtPiBjaGlsZC48L3A+Ci0KLTxwcmUgY2xh
c3M9ImR0ZCI+Ci0mbHQ7IUVMRU1FTlQgSXRlcmF0b3JPYmplY3QgKHdlYmlkbCwgZGVzY3JpcHRp
dmU/LCBFeHRlbmRlZEF0dHJpYnV0ZUxpc3Q/LCBUeXBlKSA+Ci08L3ByZT4KLQotCi08aDQ+RGlj
dGlvbmFyeU1lbWJlcjwvaDQ+Ci0KLTxwPgotQSA8ZW0+RGljdGlvbmFyeU1lbWJlcjwvZW0+IHJl
cHJlc2VudHMgYSBtZW1iZXIgb2YgYSBkaWN0aW9uYXJ5LgotVGhlIDxlbT5UeXBlPC9lbT4gZWxl
bWVudCBzcGVjaWZpZXMgaXRzIHR5cGUuIFRoZSA8ZW0+bmFtZTwvZW0+Ci1hdHRyaWJ1dGUgc3Bl
Y2lmaWVzIGl0cyBuYW1lLiAKLTwvcD4KLQotPHA+Ci1UaGUgPGVtPmRlc2NyaXB0aXZlPjwvZW0+
IGVsZW1lbnQgcHJvdmlkZXMgdGhlIGRpY3Rpb25hcnkgbWVtYmVyJ3MgZG9jdW1lbnRhdGlvbgot
aWYgYW55LgotVGhlIDxlbT5pZDwvZW0+IGF0dHJpYnV0ZSBzcGVjaWZpZXMgdGhlIGFic29sdXRl
IHNjb3BlZCBuYW1lIG9mIHRoZSBhdHRyaWJ1dGUuCi08L3A+Ci0KLTxwPlRoZQotPGVtPnZhbHVl
PC9lbT4gYXR0cmlidXRlIHNwZWNpZmllcyBpdHMgdmFsdWUgZm9yIG5vbi1zdHJpbmcgdmFsdWVz
LCBhbmQgPGVtPnN0cmluZ3ZhbHVlPC9lbT4gZm9yIHN0cmluZyB2YWx1ZXMuPC9wPgotCi08cHJl
IGNsYXNzPSJkdGQiPgotJmx0OyFFTEVNRU5UIERpY3Rpb25hcnlNZW1iZXIgKHdlYmlkbCwgZGVz
Y3JpcHRpdmU/LCBFeHRlbmRlZEF0dHJpYnV0ZUxpc3Q/LCBUeXBlKSA+Ci0mbHQ7IUFUVExJU1Qg
RGljdGlvbmFyeU1lbWJlciBuYW1lIENEQVRBICNSRVFVSVJFRAotICAgICAgICAgICAgICAgICAg
ICBpZCBDREFUQSAjUkVRVUlSRUQKLSAgICAgICAgICAgICAgICB2YWx1ZSBDREFUQSAjSU1QTElF
RAotICAgICAgICAgICAgICAgIHN0cmluZ3ZhbHVlIENEQVRBICNJTVBMSUVEID4KLQotPC9wcmU+
Ci0KLQotPGg0PkV4dGVuZGVkIGF0dHJpYnV0ZXM8L2g0PgotCi08cD4KLUFuIDxlbT5FeHRlbmRl
ZEF0dHJpYnV0ZUxpc3Q8L2VtPiBjb250YWlucyBvbmUgb3IgbW9yZQotPGVtPkV4dGVuZGVkQXR0
cmlidXRlPC9lbT4gZWxlbWVudC4gRWFjaCA8ZW0+RXh0ZW5kZWRBdHRyaWJ1dGU8L2VtPgotaGFz
OgotPC9wPgotPHVsPgotPGxpPgotYSA8ZW0+bmFtZTwvZW0+IGF0dHJpYnV0ZSBnaXZpbmcgdGhl
IG5hbWUgb2YgdGhlIGV4dGVuZGVkIGF0dHJpYnV0ZTsKLTxsaT4KLWlmIHRoZSBleHRlbmRlZCBh
dHRyaWJ1dGUgY29udGFpbnMgYW4gPGNvZGU+PTwvY29kZT4gc2lnbiBmb2xsb3dlZCBieSBhCi12
YWx1ZSwgYSA8ZW0+dmFsdWU8L2VtPiBhdHRyaWJ1dGUgZ2l2aW5nIHRoZSB2YWx1ZSwgd2hpY2gg
aXMgYSBzY29wZWQKLW5hbWUgb3IgYW4gaWRlbnRpZmllcjsKLTxsaT4KLWlmIHRoZSBleHRlbmRl
ZCBhdHRyaWJ1dGUgY29udGFpbnMgcGFyZW50aGVzZXMgKGVpdGhlciB3aXRoIG9yIHdpdGhvdXQK
LWFuIDxjb2RlPj08L2NvZGU+IHNpZ24pLCBhbiA8ZW0+QXJndW1lbnRMaXN0PC9lbT4gZWxlbWVu
dCBnaXZpbmcgdGhlCi1jb250ZW50cyBvZiB0aGUgcGFyZW50aGVzZXMuCi08L3VsPgotPHA+Ci1J
ZiB0aGUgPGVtPnZhbHVlPC9lbT4gYXR0cmlidXRlIGFuZCB0aGUgPGVtPkFyZ3VtZW50TGlzdDwv
ZW0+IGVsZW1lbnQgYXJlCi1ib3RoIHByZXNlbnQsIHRoZW4gPGVtPnZhbHVlPC9lbT4gbXVzdCBn
aXZlIGFuIGlkZW50aWZpZXIgcmF0aGVyIHRoYW4KLWEgc2NvcGVkIG5hbWUuCi08L3A+Ci0KLTxw
cmUgY2xhc3M9ImR0ZCI+Ci0mbHQ7IUVMRU1FTlQgRXh0ZW5kZWRBdHRyaWJ1dGVMaXN0IChFeHRl
bmRlZEF0dHJpYnV0ZSspID4KLQotJmx0OyFFTEVNRU5UIEV4dGVuZGVkQXR0cmlidXRlICh3ZWJp
ZGwsIEFyZ3VtZW50TGlzdD8pID4KLSZsdDshQVRUTElTVCBFeHRlbmRlZEF0dHJpYnV0ZSBuYW1l
IE5NVE9LRU4gI1JFUVVJUkVECi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgQ0RB
VEEgI0lNUExJRUQgPgotPC9wcmU+Ci0KLTxoND5UeXBlPC9oND4KLQotPHA+Ci08ZW0+VHlwZTwv
ZW0+IHJlcHJlc2VudHMgYSB0eXBlLiBJdCBoYXMgb25lIG9mIHRoZXNlIGZvcm1zOgotPC9wPgot
PHVsPgotPGxpPgotVGhlIDxjb2RlPmFueTwvY29kZT4sIDxjb2RlPm9iamVjdDwvY29kZT4gYW5k
IDxjb2RlPnZvaWQ8L2NvZGU+Ci10eXBlcyBoYXZlIHRoZSBhdHRyaWJ1dGUKLTxlbT50eXBlPC9l
bT4gc2V0IHRvIHRoZSB0eXBlLCBhbmQgbm8gb3RoZXIgYXR0cmlidXRlcyBvciBlbGVtZW50cy4K
LU5vdGUgdGhhdCB0aGUgPGNvZGU+dm9pZDwvY29kZT4gdHlwZSBhcHBlYXJzIG9ubHkgd2hlbiB0
aGUgPGVtPlR5cGU8L2VtPgotZWxlbWVudCBpcyBhIGNoaWxkIG9mIDxlbT5PcGVyYXRpb248L2Vt
Pi4KLTxsaT4KLUEgdHlwZSB0aGF0IGlzIGFuIGludGVyZmFjZSBoYXMgdGhlIGF0dHJpYnV0ZSA8
ZW0+bmFtZTwvZW0+IHNldCB0byB0aGUKLW5hbWUgb2YgdGhhdCBpbnRlcmZhY2UsIGFuZCBubyBv
dGhlciBhdHRyaWJ1dGVzIG9yIGVsZW1lbnRzLgotPGxpPgotRm9yIHRoZSBwcmltaXRpdmUgdHlw
ZXMgPGNvZGU+c2hvcnQ8L2NvZGU+LCA8Y29kZT51bnNpZ25lZCBzaG9ydDwvY29kZT4sCi08Y29k
ZT5sb25nPC9jb2RlPiwgPGNvZGU+dW5zaWduZWQgbG9uZzwvY29kZT4sIDxjb2RlPmxvbmcgbG9u
ZzwvY29kZT4sCi08Y29kZT51bnNpZ25lZCBsb25nIGxvbmc8L2NvZGU+LCA8Y29kZT5mbG9hdDwv
Y29kZT4sIDxjb2RlPmRvdWJsZTwvY29kZT4sCi08Y29kZT5ib29sZWFuPC9jb2RlPiwgPGNvZGU+
b2N0ZXQ8L2NvZGU+LCA8Y29kZT5ieXRlPC9jb2RlPiBhbmQgPGNvZGU+RE9NU3RyaW5nPC9jb2Rl
PiwKLXRoZXJlIGlzIGFuIGF0dHJpYnV0ZSA8ZW0+dHlwZTwvZW0+Ci13aG9zZSB2YWx1ZSBpcyBv
bmUgb2YgdGhvc2Ugc3RyaW5ncywgYW5kIG5vIG90aGVyIGF0dHJpYnV0ZXMgb3IgZWxlbWVudHMu
Ci1Ib3dldmVyLCBpZiB0aGUgdHlwZSB3YXMgc3BlY2lmaWVkIGluIHRoZSBXZWIgSURMIHdpdGgg
YSB0cmFpbGluZyA8Y29kZT4/PC9jb2RlPgotc2lnbiwgdGhlbiB0aGVyZSBpcyBhbiBhdHRyaWJ1
dGUgPGVtPm51bGxhYmxlPC9lbT4gd2l0aCB0aGUgdmFsdWUKLTxjb2RlPm51bGxhYmxlPC9jb2Rl
Pi4KLTwvdWw+Ci08cD4KLVRoZSByZXN0cmljdGlvbnMgb24gd2hpY2ggY29tYmluYXRpb25zIG9m
IGVsZW1lbnRzIGFuZCBhdHRyaWJ1dGVzIGFyZQotcGVybWl0dGVkIGFyZSBub3QgZW5jb2RlZCBi
eSB0aGUgRFRELgotPC9wPgotPHA+Ci1UaGUgPGVtPmRlc2NyaXB0aXZlPC9lbT4gZWxlbWVudCBw
cm92aWRlcyB0aGUgZG9jdW1lbnRhdGlvbgotaWYgYW55LCB3aGVuIHRoZSA8ZW0+VHlwZTwvZW0+
IGlzIGEgY2hpbGQgb2YgPGVtPk9wZXJhdGlvbjwvZW0+LCBhbmQgdGh1cwotcmVwcmVzZW50aW5n
IGFuIG9wZXJhdGlvbidzIHJldHVybiB0eXBlLgotPC9wPgotCi08cD5UaGUgPGVtPkV4dGVuZGVk
QXR0cmlidXRlTGlzdDwvZW0+IGVsZW1lbnQgcHJvdmlkZXMgdGhlIG9wdGlvbmFsIGV4dGVuZGVk
IGF0dHJpYnV0ZXMgdGhhdCBjYW4gYmUgZGVmaW5lZCBmb3IgYSB0eXBlIHRocm91Z2ggdHlwZWRl
ZiwgJmFncmF2ZTsgbGEgPGNvZGU+dHlwZWRlZiBbQ2xhbXBdIG9jdGV0IFZhbHVlOzwvY29kZT4u
PC9wPgotCi08IS0tIGNhbid0IHVzZSBlbnVtZXJhdGVkIHZhbHVlcyBmb3IgdGhlIHZhbHVlcyBv
ZiB0eXBlLCBzaW5jZSBEVEQgZG9uJ3QgYWxsb3cgZW51bWVyYXRlZCB2YWx1ZXMgdG8gaGF2ZSBz
cGFjZSBpbiB0aGVtICh3aGljaCB3b3VsZCBiZSBuZWVkZWQgZS5nLiBmb3IgImxvbmcgbG9uZyIp
IC0tPgotPHByZSBjbGFzcz0iZHRkIj4KLSZsdDshRUxFTUVOVCBUeXBlIChkZXNjcmlwdGl2ZT8s
IEV4dGVuZGVkQXR0cmlidXRlTGlzdD8sIFR5cGUqKSA+Ci0mbHQ7IUFUVExJU1QgVHlwZSB0eXBl
IENEQVRBICNJTVBMSUVECi0gICAgICAgICAgICAgICBuYW1lIE5NVE9LRU4gI0lNUExJRUQKLSAg
ICAgICAgICAgICAgIG51bGxhYmxlIChudWxsYWJsZSkgI0lNUExJRUQgPgotPC9wcmU+Ci0KLTxo
ND5TZXF1ZW5jZTwvaDQ+Ci0KLTxwPkZvciBhIHNlcXVlbmNlIHR5cGUsIHRoZSA8ZW0+VHlwZTwv
ZW0+IGVsZW1lbnQgd2l0aCBhbiBhdHRyaWJ1dGUgPGVtPnR5cGU8L2VtPiBzZXQgdG8gPGVtPnNl
cXVlbmNlPC9lbT4gY29udGFpbnMgYW4gZWxlbWVudCA8ZW0+VHlwZTwvZW0+IGdpdmluZyB0aGUg
c2VxdWVuY2UgZWxlbWVudCB0eXBlLCBhbmQgbm8gb3RoZXIgYXR0cmlidXRlcyBvciBlbGVtZW50
cy4gSWYgdGhlIHNlcXVlbmNlIGlzIHNwZWNpZmllZCBpbiB0aGUgV2ViIElETCB3aXRoIGEgdHJh
aWxpbmcgPGNvZGU+PzwvY29kZT4KLXNpZ24sIHRoZW4gdGhlcmUgaXMgYW4gYXR0cmlidXRlIDxl
bT5udWxsYWJsZTwvZW0+IHdpdGggdGhlIHZhbHVlCi08Y29kZT5udWxsYWJsZTwvY29kZT4uCi0K
LQotPGg0PkFycmF5PC9oND4KLQotPHA+Rm9yIGFuIGFycmF5IHR5cGUsIHRoZSA8ZW0+VHlwZTwv
ZW0+IGVsZW1lbnQgd2l0aCBhbiBhdHRyaWJ1dGUgPGVtPnR5cGU8L2VtPiBzZXQgdG8gPGVtPmFy
cmF5PC9lbT4gY29udGFpbnMgYW4gZWxlbWVudCA8ZW0+VHlwZTwvZW0+IGdpdmluZyB0aGUgYXJy
YXkgZWxlbWVudCB0eXBlLiBJZiB0aGUgYXJyYXkgaXMgc3BlY2lmaWVkIGluIHRoZSBXZWIgSURM
IHdpdGggYSB0cmFpbGluZyA8Y29kZT4/PC9jb2RlPgotc2lnbiwgdGhlbiB0aGVyZSBpcyBhbiBh
dHRyaWJ1dGUgPGVtPm51bGxhYmxlPC9lbT4gd2l0aCB0aGUgdmFsdWUKLTxjb2RlPm51bGxhYmxl
PC9jb2RlPi4KLQotPGg0PlVuaW9uPC9oND4KLQotPHA+Rm9yIGEgdW5pb24gdHlwZSwgdGhlIDxl
bT5UeXBlPC9lbT4gZWxlbWVudCB3aXRoIGFuIGF0dHJpYnV0ZSA8ZW0+dHlwZTwvZW0+IHNldCB0
byA8ZW0+dW5pb248L2VtPiBjb250YWlucyBhdCBsZWFzdCB0d28gZWxlbWVudCA8ZW0+VHlwZTwv
ZW0+IGdpdmluZyB0aGUgdW5pb24gbWVtYmVycyB0eXBlLiBJZiB0aGUgdW5pb24gaXMgc3BlY2lm
aWVkIGluIHRoZSBXZWIgSURMIHdpdGggYSB0cmFpbGluZyA8Y29kZT4/PC9jb2RlPgotc2lnbiwg
dGhlbiB0aGVyZSBpcyBhbiBhdHRyaWJ1dGUgPGVtPm51bGxhYmxlPC9lbT4gd2l0aCB0aGUgdmFs
dWUKLTxjb2RlPm51bGxhYmxlPC9jb2RlPi4KLQotCi0KLTxoND5EZXNjcmlwdGl2ZSBlbGVtZW50
czwvaDQ+Ci0KLTxwPgotVGhlIGZvbGxvd2luZyBlbGVtZW50cyBjb250YWluIGRvY3VtZW50YXRp
b24sIGV4dHJhY3RlZCBmcm9tIHRoZQotRG94eWdlbi1saWtlIGNvbW1lbnRzIGluIHRoZSBpbnB1
dC4gPGNvZGU+Jmx0O3BhcmFtPjwvY29kZT4KLWRlcml2ZXMgb25seSBmcm9tIGEgPGNvZGU+XHBh
cmFtPC9jb2RlPiBjb21tYW5kIHVzZWQgaW5zaWRlIGEKLTxjb2RlPlxkZWYtZGV2aWNlLWNhcDwv
Y29kZT4gYmxvY2s7IGFueSBvdGhlciA8Y29kZT5ccGFyYW08L2NvZGU+IGNvbW1hbmQKLWlzIGxp
bmtlZCB0byBhIHBhcmFtZXRlciAoYXJndW1lbnQpIG9mIHRoZSBtZXRob2QgYmVpbmcgZG9jdW1l
bnRlZC4KLTwvcD4KLQotPHByZSBjbGFzcz0iZHRkIj4KLSZsdDshRUxFTUVOVCBkZXNjcmlwdGl2
ZSAoZGVzY3JpcHRpb24gfCBicmllZiB8IHRocm93IHwgYXV0aG9yCi0gICAgfCB2ZXJzaW9uIHwg
Q29kZSB8IGFwaS1mZWF0dXJlIHwgZGV2aWNlLWNhcCB8IGRlZi1hcGktZmVhdHVyZQotICAgIHwg
ZGVmLWFwaS1mZWF0dXJlLXNldCB8IGRlZi1kZXZpY2UtY2FwIHwgZGVmLWluc3RhbnRpYXRlZCB8
IHBhcmFtKSogPgotCi0mbHQ7IUVMRU1FTlQgZGVzY3JpcHRpb24gJUJsb2NrOyA+Ci0KLSZsdDsh
RUxFTUVOVCBicmllZiAlSW5saW5lOyA+Ci0KLSZsdDshRUxFTUVOVCB0aHJvdyAlSW5saW5lOyA+
Ci0KLSZsdDshRUxFTUVOVCBhdXRob3IgJUlubGluZTsgPgotCi0mbHQ7IUVMRU1FTlQgdmVyc2lv
biAlSW5saW5lOyA+Ci0KLSZsdDshRUxFTUVOVCBDb2RlICVJbmxpbmU7ID4KLQotJmx0OyFFTEVN
RU5UIGFwaS1mZWF0dXJlICVJbmxpbmU7ID4KLSZsdDshQVRUTElTVCBhcGktZmVhdHVyZSBpZGVu
dGlmaWVyIENEQVRBICNSRVFVSVJFRCA+Ci0KLSZsdDshRUxFTUVOVCBkZXZpY2UtY2FwICVJbmxp
bmU7ID4KLSZsdDshQVRUTElTVCBkZXZpY2UtY2FwIGlkZW50aWZpZXIgQ0RBVEEgI1JFUVVJUkVE
ID4KLQotJmx0OyFFTEVNRU5UIHBhcmFtICVJbmxpbmU7ID4KLSZsdDshQVRUTElTVCBwYXJhbSBp
ZGVudGlmaWVyIENEQVRBICNSRVFVSVJFRCA+Ci0KLSZsdDshRUxFTUVOVCBkZWYtYXBpLWZlYXR1
cmUgKGRlc2NyaXB0aXZlPykgPgotJmx0OyFBVFRMSVNUIGRlZi1hcGktZmVhdHVyZSBpZGVudGlm
aWVyIENEQVRBICNSRVFVSVJFRCA+Ci0KLSZsdDshRUxFTUVOVCBkZWYtYXBpLWZlYXR1cmUtc2V0
IChkZXNjcmlwdGl2ZT8pID4KLSZsdDshQVRUTElTVCBkZWYtYXBpLWZlYXR1cmUtc2V0IGlkZW50
aWZpZXIgQ0RBVEEgI1JFUVVJUkVEID4KLQotJmx0OyFFTEVNRU5UIGRlZi1pbnN0YW50aWF0ZWQg
KGRlc2NyaXB0aXZlPykgPgotCi0mbHQ7IUVMRU1FTlQgZGVmLWRldmljZS1jYXAgKGRlc2NyaXB0
aXZlPykgPgotJmx0OyFBVFRMSVNUIGRlZi1kZXZpY2UtY2FwIGlkZW50aWZpZXIgQ0RBVEEgI1JF
UVVJUkVEID4KLQotJmx0OyFFTEVNRU5UIHJlZiAoI1BDREFUQSkgPgotPC9wcmU+Ci0KLTxoND5Y
SFRNTCBlbGVtZW50czwvaDQ+Ci0KLTxwPgotVGhlIGZvbGxvd2luZyBYSFRNTCBlbGVtZW50cyBh
cmUgcGFydCBvZiB3aWRscHJvY3htbDoKLTwvcD4KLQotPHByZSBjbGFzcz0iZHRkIj4KLSZsdDsh
RUxFTUVOVCBhICVJbmxpbmU7ID4KLSZsdDshQVRUTElTVCBhIGhyZWYgQ0RBVEEgI1JFUVVJUkVE
ID4KLQotJmx0OyFFTEVNRU5UIGIgJUlubGluZTsgPgotCi0mbHQ7IUVMRU1FTlQgYnIgRU1QVFkg
PgotCi0mbHQ7IUVMRU1FTlQgZGQgJUZsb3c7ID4KLQotJmx0OyFFTEVNRU5UIGRsICgoZHQgfCBk
ZCkqKSA+Ci0KLSZsdDshRUxFTUVOVCBkdCAlSW5saW5lOyA+Ci0KLSZsdDshRUxFTUVOVCBlbSAl
SW5saW5lOyA+Ci0KLSZsdDshRUxFTUVOVCBpbWcgJUlubGluZTsgPgotJmx0OyFBVFRMSVNUIGlt
ZyBzcmMgQ0RBVEEgI1JFUVVJUkVEIAotICAgICAgICAgICAgICAgICBhbHQgQ0RBVEEgI0lNUExJ
RUQ+Ci0KLQotJmx0OyFFTEVNRU5UIGxpICVGbG93OyA+Ci0KLSZsdDshRUxFTUVOVCBwICVJbmxp
bmU7ID4KLQotJmx0OyFFTEVNRU5UIHRhYmxlICh0ciopID4KLQotJmx0OyFFTEVNRU5UIHRkICVG
bG93OyA+Ci0KLSZsdDshRUxFTUVOVCB0aCAlRmxvdzsgPgotCi0mbHQ7IUVMRU1FTlQgdHIgKCh0
aCB8IHRkKSopID4KLQotJmx0OyFFTEVNRU5UIHVsIChsaSopID4KLTwvcHJlPgotCi0KLTxoMj5C
aWJsaW9ncmFwaHk8L2gyPgotCi08cCBpZD0iYm9uZGkiPgotQk9OREkgLSBhbiBvcGVuIHNvdXJj
ZSBpbmR1c3RyeSBjb2xsYWJvcmF0aW9uIGZvciB3aWRnZXQgYW5kIHdlYiB0ZWNobm9sb2dpZXMs
Ci08YSBocmVmPSJodHRwOi8vYm9uZGkub210cC5vcmcvIj5odHRwOi8vYm9uZGkub210cC5vcmcv
PC9hPgotPC9wPgotCi08cCBpZD0iZG94eWdlbiI+Ci1Eb3h5Z2VuIFNvdXJjZSBjb2RlIGRvY3Vt
ZW50YXRpb24gZ2VuZXJhdG9yIHRvb2wsCi08YSBocmVmPSJodHRwOi8vd3d3LnN0YWNrLm5sL35k
aW1pdHJpL2RveHlnZW4vaW5kZXguaHRtbCI+Ci1odHRwOi8vd3d3LnN0YWNrLm5sL35kaW1pdHJp
L2RveHlnZW4vaW5kZXguaHRtbDwvYT4KLTwvcD4KLQotPHAgaWQ9InczY2dlbyI+Ci1XM0MgR2Vv
bG9jYXRpb24gQVBJIFNwZWNpZmljYXRpb24gRWRpdG9yJ3MgRHJhZnQgMyBBcHJpbCAyMDA5LAot
PGEgaHJlZj0iaHR0cDovL2Rldi53My5vcmcvZ2VvL2FwaS9zcGVjLXNvdXJjZS5odG1sIj4KLWh0
dHA6Ly9kZXYudzMub3JnL2dlby9hcGkvc3BlYy1zb3VyY2UuaHRtbDwvYT4KLTwvcD4KLQotPHAg
aWQ9IndlYmlkbCI+Ci1XZWIgSURMIFczQyBFZGl0b3IncyBEcmFmdCAzIE1heSAyMDExLAotPGEg
aHJlZj0iaHR0cDovL2Rldi53My5vcmcvMjAwNi93ZWJhcGkvV2ViSURMIj5odHRwOi8vZGV2Lncz
Lm9yZy8yMDA2L3dlYmFwaS9XZWJJREw8L2E+Ci08L3A+Ci0KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC93aWRscHJvYy9leGFtcGxlcy9NYWtlZmlsZSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9leGFtcGxl
cy9NYWtlZmlsZQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjE0NDUzZDIzYzAuLjAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9leGFtcGxlcy9NYWtlZmlsZQorKysg
L2Rldi9udWxsCkBAIC0xLDc5ICswLDAgQEAKLSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwotIyAkSWQkCi0jIENv
cHlyaWdodCAyMDA5IEFwbGl4IENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotIyBM
aWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vu
c2UiKTsKLSMgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3
aXRoIHRoZSBMaWNlbnNlLgotIyBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2Ug
YXQKLSMgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAotIyBV
bmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcs
IHNvZnR3YXJlCi0jIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVk
IG9uIGFuICJBUyBJUyIgQkFTSVMsCi0jIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05T
IE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgotIyBTZWUgdGhlIExpY2Vu
c2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCi0j
IGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgotIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCi0KLVVOQU1F
ID0gJChzaGVsbCB1bmFtZSkKLUVYQU1QTEVTRElSID0gLgotIyBUaGUgc2V0dGluZ3Mgb2YgU1JD
RElSICh3aGVyZSB0byBmaW5kIHRoZSB4c2wgc3R5bGUgc2hlZXRzKSwgT0JKRElSICh3aGVyZSB0
bwotIyBmaW5kIHdpZGxwcm9jIGFuZCB3aWRscHJvY3htbC5kdGQpIGFuZCBFWEFNUExFU09CSkRJ
UiAod2hlcmUgdG8gcHV0IHRoZQotIyByZXN1bHRpbmcgaHRtbCBmaWxlcyBhbmQgYW55IGludGVy
bWVkaWF0ZSBmaWxlcykgcmVmbGVjdCB0aGUgZGlyZWN0b3J5Ci0jIHN0cnVjdHVyZSBvZiB0aGUg
cmVsZWFzZWQgd2lkbHByb2MuemlwIGZpbGUgd2hlbiB1bnppcHBlZC4gLi4vTWFrZWZpbGUgY2Fs
bHMKLSMgdGhpcyBNYWtlZmlsZSB3aXRoIHRoZXNlIHNldHRpbmdzIG92ZXJyaWRkZW4gdG8gcmVm
bGVjdCB0aGUgZGlyZWN0b3J5Ci0jIHN0cnVjdHVyZSBpbiBzdm4uCi1TUkNESVIgPSAuLgotT0JK
RElSID0gLi4KLUVYQU1QTEVTT0JKRElSID0gb2JqCi0KLSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwotIyBMaW51
eCBjb25maWd1cmF0aW9uCi0jCi1pZm5lcSAoLCQoZmlsdGVyIExpbnV4JSwgJChVTkFNRSkpKSAK
LQotRVhFU1VGRklYID0KLQotZWxzZQotIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCi0jIERhcndpbiBjb25maWd1
cmF0aW9uCi0jCi1pZm5lcSAoLCQoZmlsdGVyIERhcndpbiUsICQoVU5BTUUpKSkgCi0KLUVYRVNV
RkZJWCA9Ci0KLWVsc2UKLSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwotIyBXaW5kb3dzIChjeWd3aW4gYnV0IHVz
aW5nIE1TIGNvbXBpbGVyKSBjb25maWd1cmF0aW9uCi0jCi1pZm5lcSAoLCQoZmlsdGVyIENZR1dJ
TiUsICQoVU5BTUUpKSkgCi0KLUVYRVNVRkZJWCA9IC5leGUKLQotZW5kaWYKLWVuZGlmCi1lbmRp
ZgotCi0jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMKLSMgQ29tbW9uIG1ha2VmaWxlCi0jCi1XSURMUFJPQyA9ICQo
T0JKRElSKS93aWRscHJvYyQoRVhFU1VGRklYKQotRFREID0gJChPQkpESVIpL3dpZGxwcm9jeG1s
LmR0ZAotCi1XSURMUyA9ICQocGF0c3Vic3QgJChFWEFNUExFU0RJUikvJSwgJSwgJCh3aWxkY2Fy
ZCAkKEVYQU1QTEVTRElSKS8qLndpZGwpKQotCi10ZXN0IDogJChwYXRzdWJzdCAlLndpZGwsICQo
RVhBTVBMRVNPQkpESVIpLyUuaHRtbCwgJChXSURMUykpICQoRVhBTVBMRVNPQkpESVIpL3dpZGxo
dG1sLmNzcwotCUBlY2hvICIkQCBwYXNzIgotCi0kKEVYQU1QTEVTT0JKRElSKS8lLmh0bWwgOiAk
KEVYQU1QTEVTT0JKRElSKS8lLndpZGxwcm9jeG1sICQoU1JDRElSKS93aWRscHJvY3htbHRvaHRt
bC54c2wgTWFrZWZpbGUKLQljcCAkKFNSQ0RJUikvd2lkbHByb2N4bWx0b2h0bWwueHNsICQoZGly
ICRAKS8KLQl4c2x0cHJvYyAkKGRpciAkQCkvd2lkbHByb2N4bWx0b2h0bWwueHNsICQ8ID4kQAot
Ci0kKEVYQU1QTEVTT0JKRElSKS8lLndpZGxwcm9jeG1sIDogJChFWEFNUExFU0RJUikvJS53aWRs
ICQoV0lETFBST0MpICQoRFREKSBNYWtlZmlsZQotCW1rZGlyIC1wICQoZGlyICRAKQotCSQoV0lE
TFBST0MpICQ8ID4kQAotCWNwICQoT0JKRElSKS93aWRscHJvY3htbC5kdGQgJChkaXIgJEApLwot
CXhtbGxpbnQgLS1ub291dCAtLWR0ZHZhbGlkICQoRFREKSAkQAotCi0kKEVYQU1QTEVTT0JKRElS
KS93aWRsaHRtbC5jc3MgOiAkKEVYQU1QTEVTRElSKS93aWRsaHRtbC5jc3MKLQljcCAkPCAkQAot
Ci0uREVMRVRFX09OX0VSUk9SOgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvZXhh
bXBsZXMvUkVBRE1FIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL2V4YW1wbGVzL1JFQURNRQpkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZWZiYjcyZGRhOGQuLjAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC93aWRscHJvYy9leGFtcGxlcy9SRUFETUUKKysrIC9kZXYvbnVsbApAQCAtMSw0MSAr
MCwwIEBACi0jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKLSMgJElkJAotIyBDb3B5cmlnaHQgMjAwOSBBcGxpeCBD
b3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSMgTGljZW5zZWQgdW5kZXIgdGhlIEFw
YWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7Ci0jIHlvdSBtYXkgbm90
IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KLSMg
WW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0Ci0jICAgICBodHRwOi8vd3d3
LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKLSMgVW5sZXNzIHJlcXVpcmVkIGJ5IGFw
cGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQotIyBkaXN0cmli
dXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lT
LAotIyBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVy
IGV4cHJlc3Mgb3IgaW1wbGllZC4KLSMgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMg
bGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAotIyBsaW1pdGF0aW9ucyB1bmRlciB0
aGUgTGljZW5zZS4KLSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwotCi1UaGlzIGV4YW1wbGVzIGRpcmVjdG9yeSBj
b250YWlucyB0d28gb2YgdGhlIEJPTkRJIC53aWRsIGZpbGVzLCBhIE1ha2VmaWxlCi10aGF0IHBy
b2Nlc3NlcyB0aGVtIHRvIGdlbmVyYXRlIGh0bWwsIGFuZCBhIC5jc3MgZmlsZSB0aGF0IHRoZSBy
ZXN1bHRpbmcKLWh0bWwgdXNlcy4KLQotVGhlIE1ha2VmaWxlIHByb2Nlc3NlcyB0aGUgLndpZGwg
ZmlsZXMgYXMgZm9sbG93czoKLQotIDEuIEZvciBlYWNoIC53aWRsLCBnZW5lcmF0ZSB0aGUgLndp
ZGxwcm9jeG1sIGZpbGUgKGFuIFhNTCByZXByZXNlbnRhdGlvbgotICAgIG9mIHRoZSBpbmZvcm1h
dGlvbiBpbiB0aGUgLndpZGwpIHVzaW5nIHdpZGxwcm9jLgotCi0gMi4gVmFsaWRhdGUgKHVzaW5n
IHhtbGxpbnQpIGVhY2ggLndpZGxwcm9jeG1sIGFnYWluc3QgdGhlIERURC4KLQotIDMuIFdlIHdh
bnQgYW55IHJlZmVyZW5jZSBpbiB0aGUgcmVzdWx0aW5nIGh0bWwgdG8gYSB0eXBlIGVsc2V3aGVy
ZSBpbiB0aGUKLSAgICBBUEkgdG8gYmUgYSBsaW5rLiBUaGlzIGlzIHdoZXJlIHdlIGFjaGlldmUg
dGhpcy4gRmlyc3QgZ2VuZXJhdGUgYQotICAgIGxpc3Qgb2YgZnFpZHMgKGZ1bGx5IHF1YWxpZmll
ZCBpZGVudGlmaWVycykgZnJvbSBmcWlkIGF0dHJpYnV0ZXMgaW4KLSAgICB0aGUgWE1MIGJ5IHJ1
bm5pbmcgYWxsIC53aWRscHJvY3htbCBmaWxlcyB0aHJvdWdoIHRoZSBzdHlsZSBzaGVldAotICAg
IHdpZGxwcm9jeG1sZnFpZHMueHNsLgotCi0gNC4gVHVybiB0aGF0IGxpc3Qgb2YgZnFpZHMgaW50
byBhIHNlZCBzY3JpcHQgdGhhdCB0dXJucyBhIDxyZWY+IHRvIGFuCi0gICAgZnFpZCBpbnRvIGEg
PHJlZiByZWY9Ii4uIj4gdG8gdGhlIGZxaWQgaW4gdGhlIHJpZ2h0IC5odG1sIGZpbGUuCi0KLSA1
LiBGb3IgZWFjaCAud2lkbHByb2N4bWwgZmlsZSwgZ2VuZXJhdGUgYSAud2lkbHByb2N4bWwyIGZp
bGUgYnkgcnVubmluZwotICAgIGl0IHRocm91Z2ggdGhlIHNlZCBzY3JpcHQgZ2VuZXJhdGVkIGFi
b3ZlLgotCi0gNi4gRm9yIGVhY2ggLndpZGxwcm9jeG1sMiBmaWxlLCBnZW5lcmF0ZSBhIC5odG1s
IGZpbGUgYnkgcnVubmluZyBpdCB0aHJvdWdoCi0gICAgdGhlIHdpZGxwcm9jeG1sdG9odG1sLnhz
bCBzdHlsZSBzaGVldC4KLQotU2VlIHRoZSBNYWtlZmlsZSBmb3IgZGV0YWlscy4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC93aWRscHJvYy9leGFtcGxlcy9ib25kaS53aWRsIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dp
ZGxwcm9jL2V4YW1wbGVzL2JvbmRpLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDIwMGI5NWZlOWMxLi4wMDAwMDAwMDAwMApHSVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwgMApIY21W
P2QwMDAwMQoKbGl0ZXJhbCA2ODI3CnpjbWJfaFlpfUY1NzV5diZ7U1NueylIWkJzP1FNJVRQNjla
dzlqTFY+IT9HSWBickRjQWwqREU8b0YhLU0yKnYqUQp6b19qQjZHPHRaSTF7SUw/aUBjOT4md1gp
d018PGk+LVBwd0IhS0E4bVlJeXJfcio2dSRzfUFWZkxzakxlQHlneyEKeklqYG88ODxuYGNebWJn
OF8oZGpIbTdhUUk8fFojZ1NDUG4oRnsrI3lINWZraEtWR1NjJjVUTklrYkJWZFYjXnMwCnoqcX5t
VnxFZVlzclBJYHcqNXhgPUhwZWdLbnRvRT1PdG52S0s0ck95RDtDflBYUWdzNHgkJDlVM3NGYylB
RTVCdwp6T3BHXnFWcE0tI1dOZWJpSVNCZ011JWJ7VUdnVzlgMklWR2ZyRWYwVClrfH1vOHJHfHl3
YXhTeFVJLXErSyE3Z2MKenIxQTVoYmU8OXs7eV5mNUBRYmdtVW41QjVNJH1BWlVsY21RP18oNT4p
aWVBZSYoRkYpOWpqMXt8ODBfekxQTTd1CnpDSFA1fig3UkNrcE1oWjVYQitrfWprbkttN19PNCZf
QHwxMzN5OWtoQWpsSXBwQnRaOEt3ZWI3YUtYVXREd0p3JAp6U2UhUj1aRjQkU1dMRD44OVgzTzxL
TVYoI2VIOTltKm9qUjlXRjF1RC1NcUBDeiRSN1doNDJZNzQxN2NeR295cCkKenMoLWwzdDJMfSFo
YGIpZW16ZTwhO0c+YGQ5fEEtcj0xfVk9YjR4TkFoZThYamFMb1JZKiRZPzYrMSE8T3ZTMHszCnpk
PytsfkR9K0d3bU4tTTByWE5GTGxnZD5mdFhfMFU1ZERLNjI9cWNobUlCQzdpQE81TXQzSEAtaTc4
NU95dWxTQAp6anJxezlVYGdzKWcmVlZEV0p8SEFpNW9laUshc1VaN0hAakptelM1V1c8cXRIcFl+
I1loVGFYKmE0QDwkMGpZPXkKenhJcCZET0preUwqVWlnPEZSPXFCP0hmNFQrdVEzTWFrK1JKZHV0
fUBCZ2d9bWlubygwUGI3SjUkPyVaJDJNJDdOCnpDTn01SDJDTzxLWlpSSlQqZXB8eTwwKD8rRjBD
P2Y1SHcwblZOaU1VI0ZfeE9BPz5Ob2lfYDhZK2FzcUg4P1hNZQp6eDdRKjJJJkBNRHl6bX5PMGoo
fkZ3PEE9WmQ8c2VVZHZDOChFKCF5P1I0fjYoUjRtPiROOFQkciU5cWM3TCtHRFIKeiN1aD0oZ1By
RH1JKFRRTUFtKzJxRHpmKyRKdVdGdGBDaWZJIT1mfWh3VmVLbSklPFR0IXAhLW9XSktUWSliakok
Cno0YHw2O0p7Mz5ZNFpodX1XUmZgKTNEb2h6MGp5bT5AbzVvJU8mNERpfEgrXlkqaEpteEF7Sz5w
PzF4ZSs4MXdvKwp6SUszc2R3SmJEPCF+fGslbVdfNHRtNG9YaUl4KTVFZX0wVUFkVXFYKEtnX2Vt
dV5QQk9jKSYrUj9aMXxIKWt3dEYKelMzJWhoPj1EeDlufSlaeUN+PU0kXzNYWTx0REc2R1hVS3ww
cDNKPDxzUzEmOFFiMF9KakVOPnNzd2BXdVNmK1hCCnoqO3kzK0paZTVUSm0yZzUzZGM4NkJfN3p+
Rj9VUSlYJWZuN3Fzc35kMDloc2xLTTJuVykqcGk4ZW5zI0dLKSp4Ywp6XkpnYldSZUA1WkJNZCtS
dD56VnpCUmNWbWRaSW8pMlgkMkJOejt7eHM7RXVzdVZ+XzwjOVAkdGlAUUZlNUY5IXQKendZUjJk
TWBpZGBnb3Q+OCZyekBPSyZeIVcpaHtZXjxIUGZLPntvb1Y4SndEeSMoVjE3fDZmdkdrPGNIYUJ1
Y3FoCno8ZFVURiMwMnRxNE9jbVZNaTleUClQZiVBd1olLSp6X2l6P3Nta15vMEc7U0h8MTZobF9P
OTNZUmVZIXJGTE0+PAp6cGleQCgyQyZXRlI7NSQjNVRTSEJjOF4kaiNldX03bD4xV0RKS3BIakE+
WXdPPDNQTFkxNitITm41bUltPnZUNGYKej9iMUFCWVE4OUolZVE1ajsxYWBURkhzfEwlZ0dHajVI
RyNYciQoTHJnd00oOFUtMDNaWHd4az5xcEd7VXNDeDRxCnplbX59NGJJakhQYE87XmFmTGlUTis8
WUFUWjd9PmlfO1BpQktmSV4jJEltLTRpJVJTVXVLZ1M+NT48JkNDNTk9fgp6RSpUK19KQH49cU1P
RCZ0dUlESWhldW59NSFRVUAjYGo9bFc/bXM9PVVKVns8T1Q+V0Z0cCpVUiFEeD99eVM0JnAKejwp
bGxISnY3V3M5T25FVCVDWHlneGdJX2FFXkRuVC1rKXQlSn1lQkAyQWJ9WDFUXjhHJUlye2NjWkU1
N0BhZkMmCno/JnwqSHArQnRRNzlXNCFzLXttVV9KJm5TVV4wYndEQ3JOXm9MS1NZNF9sUUNmSyNa
NzB1dSgxezJuY1kqeSE9QAp6Wmd+SDIpa2FOUmBENSUoPi1qeDBzNG9+Uk1hMihpJHtBPE04RCl3
VGdqU3heRHFjeUdQRz45cTVzPSZkWGhiMm8KenljK1p5bSk8R1heQD0tcDY3X30maHp5c19CaH0w
ZiRacmhqUjM7ND9FeyZKaXEqbUkkdDllOGpnTXByUV53TSRKCnp6eWtKY3Y5QEFVJj1fc0FPIShI
XlYxMVpAbSZJYDFCQVFHI0B8Sm84Wkp7RVJELWZeMypAN0Q3Y0hATH1Uc05Aewp6eiNwRGtAS3RC
bnFTe2wtdjlldzRnO2R2S1I7YjJjeyp3cVhjczc4aShKfG1jbk0rUi12ZDFyYnFwMEV6IXt+QmgK
ejdjfHZkR2stdFBTdWsmVl8pZ2pTWlZSancxJlljNWs1d2pKUTlkP19tUilhfnQrZVh8c3dfSUFI
aTctYVc4PmkpCnpCODZPQjJASE57c1p3YyRINEA5ZE5vRzBMPklfZFRiNmF1QERiYENORSVjazJn
XnpXeW4mcDhPbi1WPjBKRVM2cAp6N2tpIWA9PmJEbEV7WjB+NkoyQlBGJGNxaTM3JFZfXnJLKHYw
dShEZSV8S0MxOTcoVm5UYVd8YDl0RU5YcFlia3oKendGQi01YnImLTxVI0chYTFkNVZJRCY7fjhM
X29kNDd+dmZfLVdmWkdDa0wkQm9DP2hWeWsyNXR7cXpuWSRCZjRyCno2OEIyfTlyPGZLUmlKTnAh
e1VAOTMjT1NIQlM2d1JJUU8yZ1JHI1I8bz1vRFh5blZzT2lKdDctYWRNMnVIfG8qewp6VEZrZW1X
MU82a04tQUY3TlZhKz51Vi1POG8xPzkhXiRoe0dvd192QmZDLVcpYmJiVGM8JnM0eSl0QExWITcr
NWUKenJSMzBzSGhWdFNeQ301MEZnO19FWTEyNDEtazhENU54SnFiPkwzQ3g2XlB7JjE4ekh3NHc2
cDxNb3JYZVpUTllhCnpTJGctQT5LSEgta157e1VKSUJKT0Y7OV98RVIkekEydWteRkVBOWZoRUlg
ck5SPzhEPGZQLXc+YTYqa0NocFoxSwp6IXgwRExteyR+eWZYQUFjTStkeFluUXhqTkEmPUYqUF43
VClGNHxBMmxYQ3dNQD0tb0gmMVQzJFk9JWZnPGZsOWoKemlXTTwhOCZKa1pBbU1lZyY2MnFMdGU8
YTN1U3JFIXZxXk5zdEU9Y15XQHRqUDwwNSQ7TS0ySHc3d2U/cUtsYm5ZCnp0U2FoQHdmazxaY2BC
M1JSaElsfjFKOEkhJF9ycElCNW1nJUhwcylNO3dqTTM+dUlhMk9rOT9eN3QrRCpoQndpcQp6NjEo
YHpJP0c7fU5ZUHw4VUo1Z00qUksxQ19TMUA8JSsoQS09aHpeWUcpLWt6KzhRVz03MW54Y0JedzdG
U158YkgKekBrYyN2d1BieGZqZVR5RG9RYlA0WD9MaXh0LS1nSnlFK2BiSHVRKmlmbzQrJk5KfnUp
UmE3aHwhczF5Yz9OTWU+CnpnUTFCPkVeQiN3a3UwZXBOT0AtaHNSfSl8ODRaSUNYbX0oOVdXTmM7
PlloVGVTbEx8fVcwPXZESjI3TkFmVyNVRgp6TSpXYE8jX08/Nmx2MURCO0FNcDFUS1dKandEJjc3
NX5IPXBwdFU0Q0NLR21pQW9GVHZkc25OfkBIPUhSUG9HZzgKelcjMXZ4Y1gmcSsyZGljRDgyQFdX
IyZPbWljazxSUyR0YE9yK1o0QF9UYjU8JVlGeXBVUUhTdiYpJWdxPkFlb3YkClAxXz9vfVB2bzVN
O21DZ2hkRFZrSwoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9leGFtcGxlcy9maWxl
c3lzdGVtLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvZXhhbXBsZXMvZmlsZXN5c3RlbS53aWRs
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzNWY2MDJiODU4YS4uMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL2V4YW1wbGVzL2ZpbGVzeXN0ZW0ud2lkbAorKysgL2Rl
di9udWxsCkBAIC0xLDEwMzggKzAsMCBAQAotLyogCi0gKiBMaWNlbnNlZCB0byBPTVRQIEx0ZC4g
KE9NVFApIHVuZGVyIG9uZSBvciBtb3JlIGNvbnRyaWJ1dG9yIGxpY2Vuc2UgYWdyZWVtZW50cy4g
Ci0gKiBTZWUgdGhlIE5PVElDRSBmaWxlIGRpc3RyaWJ1dGVkIHdpdGggdGhpcyB3b3JrIGZvciBh
ZGRpdGlvbmFsIGluZm9ybWF0aW9uIHJlZ2FyZGluZyAKLSAqIGNvcHlyaWdodCBvd25lcnNoaXAu
IAotICogCi0gKiBUaGUgUmVmZXJlbmNlIEltcGxlbWVudGF0aW9uIChzYXZlIGZvciBzdWNoIHBh
cnRzIG9mIHRoZSByZWZlcmVuY2UgaW1wbGVtZW50YXRpb24gbWFkZSAKLSAqIGF2YWlsYWJsZSB1
bmRlciBzZXBhcmF0ZSB0ZXJtcyBhbmQgY29uZGl0aW9ucykgaXMgbWFkZSBhdmFpbGFibGUgdW5k
ZXIgdGhlIHRlcm1zIG9mIHRoZSAKLSAqIEFwYWNoZSBMaWNlbnNlLCB2ZXJzaW9uIDIuMCwgc3Vi
amVjdCB0byB0aGUgY29uZGl0aW9uIHRoYXQgYW55ICJXb3JrcyIgYW5kICJEZXJpdmF0aXZlIAot
ICogV29ya3MiIHVzZWQgb3IgZGlzdHJpYnV0ZWQgZm9yIGNvbW1lcmNpYWwgcHVycG9zZXMgbXVz
dCBiZSBhbmQgcmVtYWluIGNvbXBsaWFudCB3aXRoIHRoZQotICogQk9OREkgc3BlY2lmaWNhdGlv
biBhcyBwcm9tdWxnYXRlZCBieSBPTVRQIGluIGVhY2ggcmVsZWFzZS4gWW91ciBpbXBsZW1lbnRh
dGlvbiBvZiB0aGUgCi0gKiBSZWZlcmVuY2UgSW1wbGVtZW50YXRpb24gKHdoZXRoZXIgb2JqZWN0
IG9yIHNvdXJjZSkgbXVzdCBtYWludGFpbiB0aGVzZSBjb25kaXRpb25zLCBhbmQgCi0gKiB5b3Ug
bXVzdCBub3RpZnkgYW55IHJlY2lwaWVudCBvZiB0aGlzIGNvbmRpdGlvbiBpbiBhIGNvbnNwaWN1
b3VzIHdheS4KLSAqIAotICogWW91IG1heSBub3QgdXNlIHRoaXMgQk9OREkgUmVmZXJlbmNlIElt
cGxlbWVudGF0aW9uIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuIAotICog
Ci0gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQgaHR0cDovL3d3dy5h
cGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wIG9yIGF0IAotICogaHR0cDovL2JvbmRpLm9t
dHAub3JnL0JPTkRJLUxJQ0VOU0UtMi4wIAotICovCi0KLS8qKgotICogXGJyaWVmIEJPTkRJIGZp
bGVzeXN0ZW0gQVBJLgotICoKLSAqIFRoZSBCT05ESSBmaWxlc3lzdGVtIEFQSSBwcm92aWRlcyBh
Y2Nlc3MgdG8gdGhlIGZpbGVzeXN0ZW0gb2YgYSBkZXZpY2UuIFRoZQotICogZmlsZXN5c3RlbSBp
cyBhYnN0cmFjdGx5IHJlcHJlc2VudGVkIGFzIGEgY29sbGVjdGlvbiBvZiBkaXNqb2ludCBmaWxl
c3lzdGVtCi0gKiByb290IGxvY2F0aW9ucyBlYWNoIGNvcnJlc3BvbmRpbmcgdG8gc29tZSBzcGVj
aWZpYyBsb2NhdGlvbiBpbiB0aGUgZGV2aWNlCi0gKiBmaWxlc3lzdGVtLiAgVGhlIGZpbGVzeXN0
ZW0gQVBJIGV4cG9zZXMgdGhlIGhpZXJhcmNoaWVzIGJlbG93IHRoZXNlIHJvb3QKLSAqIGxvY2F0
aW9ucyBhcyBhIHNpbmdsZSB2aXJ0dWFsIGZpbGVzeXN0ZW0gYnV0IHByb3ZpZGVzIG5vIGFjY2Vz
cyB0byBvdGhlcgotICogcGFydHMgb2YgdGhlIGRldmljZSBmaWxlc3lzdGVtLgotICoKLSAqIFRo
ZSByb290cyB0aGF0IGFyZSBleHBvc2VkIGFyZSBkZXRlcm1pbmVkIGJ5IHRoZSBwbGF0Zm9ybSBh
bHNvIGJ5IHRoZQotICogY29udGV4dCBpbiB3aGljaCB0aGUgZmlsZXN5c3RlbSBBUEkgaXMgaW52
b2tlZC4KLSAqCi0gKiBFYWNoIHJvb3QgaGFzIGEgc3RyaW5nIG5hbWUuIEVhY2ggZmlsZSBvciBk
aXJlY3Rvcnkgd2l0aGluIHRoZSB2aXJ0dWFsCi0gKiBmaWxlc3lzdGVtIGlzIGFkZHJlc3NlZCB1
c2luZyBhIGZ1bGx5LXF1YWxpZmllZCBwYXRoIG9mIHRoZSBmb3JtOgotICogPGVtPiZsdDtyb290
IG5hbWUmZ3Q7LyZsdDtwYXRoJmd0OzwvZW0+IHdoZXJlIDxlbT4mbHQ7cm9vdG5hbWUmZ3Q7PC9l
bT4gaXMKLSAqIHRoZSBuYW1lIG9mIHRoZSByb290IGFuZCA8ZW0+Jmx0O3BhdGgmZ3Q7PC9lbT4g
aXMgdGhlIHBhdGggdG8gdGhlIGZpbGUgb3IKLSAqIGRpcmVjdG9yeSByZWxhdGl2ZSB0byB0aGF0
IHJvb3QuCi0gKiAKLSAqIFRoZSBsaXN0IG9mIHRoZSBzdXBwb3J0ZWQgcm9vdCBsb2NhdGlvbnMg
Y2FuIGJlIHJldHJpZXZlZCBieSBjYWxsaW5nCi0gKiBmaWxlc3lzdGVtLmdldFJvb3RMb2NhdGlv
bnMoKS4KLSAqCi0gKiBUaGUgZGVmYXVsdCBsb2NhdGlvbiBmb3IgYSBzcGVjaWZpYyB0eXBlIG9m
IGZpbGUsIGlmIG9uZSBleGlzdHMsIGNhbiBiZQotICogb2J0YWluZWQgYnkgY2FsbGluZyB0aGUg
ZmlsZXN5c3RlbS5nZXREZWZhdWx0TG9jYXRpb24oLi4uKSBtZXRob2QuIEEgc2V0IG9mCi0gKiBw
bGF0Zm9ybS1pbmRlcGVuZGVudCBzeW1ib2xpYyBuYW1lcyBmb3IgbWVkaWEgdHlwZXMgaXMgZGVm
aW5lZC4gVGhlIGRlZmF1bHQKLSAqIGxvY2F0aW9uIGZvciBhIGdpdmVuIGZpbGUgdHlwZSBtYXkg
aXRzZWxmIGJlIGEgcm9vdCwgb3Igc29tZSBzdWJkaXJlY3Rvcnkgb2YKLSAqIGEgcm9vdC4gQWx0
aG91Z2ggdGhlIHNldCBvZiByb290cyBhdmFpbGFibGUgb24gYSBkZXZpY2UgaXMKLSAqIHBsYXRm
b3JtLWRlcGVuZGVudCwgdGhlIGdldERlZmF1bHRMb2NhdGlvbiguLi4pIGZ1bmN0aW9uYWxpdHkg
Y2FuIGJlIHVzZWQgdG8KLSAqIGVuc3VyZSB0aGF0IHdlYiBhcHBsaWNhdGlvbnMgY2FuIGJlIHdy
aXR0ZW4gaW4gYSBwbGF0Zm9ybS1pbmRlcGVuZGVudCB3YXkuCi0gKgotICogSW4gb3JkZXIgdG8g
YWNjZXNzIHNwZWNpZmljIGxvY2F0aW9ucyB3aGljaCBhcmUgcHJlZml4ZWQgd2l0aCBhIHZhbHVl
Ci0gKiByZXRyaWV2ZWQgYnkgZmlsZXN5c3RlbS5nZXREZWZhdWx0TG9jYXRpb24gb3Igc29tZSBy
b290IGxvY2F0aW9uIHJldHVybmVkIGJ5Ci0gKiBmaWxlc3lzdGVtLmdldFJvb3RMb2NhdGlvbnMg
YSBGaWxlIGhhbmRsZSBtdXN0IGJlIHJldHJpZXZlZCB1c2luZyB0aGUKLSAqIGZpbGVzeXN0ZW0u
cmVzb2x2ZSBjYWxsLgotICoKLSAqIEEgRmlsZSBoYW5kbGUgcmVwcmVzZW50cyBlaXRoZXIgYSBm
aWxlIG9yIGEgZGlyZWN0b3J5LiBJZiBpdCBpcyBhIGZpbGUgdGhlCi0gKiBpc0ZpbGUgYXR0cmli
dXRlIHdpbGwgYmUgPGVtPnRydWU8L2VtPiwgb3RoZXJ3aXNlIHRoZSBpc0RpcmVjdG9yeSBhdHRy
aWJ1dGUKLSAqIHdpbGwgYmUgPGVtPnRydWU8L2VtPi4gQSBmaWxlIGNhbiBiZSBvcGVuZWQgZm9y
IHJlYWRpbmcgYW5kIHdyaXRpbmcsIHVzaW5nIGEKLSAqIEZpbGVTdHJlYW0gaGFuZGxlLiBBIGRp
cmVjdG9yeSBjYW4gYmUgdXNlZCB0byBsaXN0IGl0cyBjb250ZW50cyB3aGljaCBpcyBhCi0gKiBs
aXN0IG9mIGZpbGVzIGFuZCBzdWItZGlyZWN0b3JpZXMuIFRoZXJlIGlzIGEgcmVzb2x2ZSBtZXRo
b2Qgb24gZGlyZWN0b3JpZXMKLSAqIGFzIHdlbGwgaW4gb3JkZXIgdG8gcmVzb2x2ZSBmaWxlcyBv
ciBzdWItZGlyZWN0b3JpZXMgbW9yZSBjb252ZW5pZW50bHkgdGhhbgotICogcHJvY2Vzc2luZyBk
aXJlY3RvcnkgbGlzdGluZ3MuCi0gKgotICogVGhlICIvIiBjaGFyYWN0ZXIgaXMgdXNlZCBhcyB0
aGUgKHBhdGgpIGNvbXBvbmVudCBzZXBhcmF0b3IuCi0gKiBUaGUgdXNlIG9mICIuIiBvciAiLi4i
IGluIGxvY2F0aW9uIGNvbXBvbmVudHMgaXMgbm90IHJlcXVpcmVkIHRvIGJlCi0gKiBzdXBwb3J0
ZWQuCi0gKgotICogQWxsIHBhdGggY2hhcmFjdGVycyBuZWVkIHRvIGJlIDxhIGhyZWY9Imh0dHA6
Ly93d3cuaWV0Zi5vcmcvcmZjL3JmYzIyNzkudHh0Ij5VVEYtODwvYT4gZW5jb2RlZC4KLSAqCi0g
KiBcY29kZQotICogCWZ1bmN0aW9uIGVycm9yQ0IoZXJyKSB7Ci0gKiAJCWFsZXJ0KCJCT05ESSBm
aWxlc3lzdGVtIEFQSSBjb3VsZG4ndCBiZSByZXF1ZXN0ZWQ6ICIgKyBlcnIubWVzc2FnZSk7Ci0g
KiAJfQotICoKLSAqIAlmdW5jdGlvbiBzdWNjZXNzQ0IoKSB7Ci0gKiAJCXZhciBkb2NMb2NhdGlv
biA9IGJvbmRpLmZpbGVzeXN0ZW0uZ2V0RGVmYXVsdExvY2F0aW9uKCJkb2N1bWVudHMiKTsKLSAq
IAkJdmFyIGRvY0RpciA9IGJvbmRpLmZpbGVzeXN0ZW0ucmVzb2x2ZShkb2NMb2NhdGlvbik7Ci0g
KiAJCXZhciBkb2NGaWxlcyA9IGRvY0Rpci5saXN0RmlsZXMoKTsKLSAqIAkJZm9yKHZhciBpID0g
MDsgaSAmbHQ7IGRvY0ZpbGVzLmxlbmd0aDsgaSsrKSB7Ci0gKiAJCQkvLyBkaXNwbGF5cyBuYW1l
IG9mIGVhY2ggaW1hZ2UgZmlsZSBpbiBpbWFnZSBkaXJlY3RvcnkKLSAqIAkJCWFsZXJ0KGRvY0Zp
bGVzW2ldLm5hbWUpOwotICogCQl9Ci0gKiAJCXZhciB0ZXN0RmlsZSA9IGRvY0Rpci5jcmVhdGVG
aWxlKCJ0ZXN0LnR4dCIpOwotICogCQl2YXIgb3V0ID0gdGVzdEZpbGUub3BlbigidyIsICJVVEYt
OCIpOwotICogCQkvLyB3cml0ZXMgSGVsbG8gV29ybGQgdG8gdGVzdC50eHQKLSAqIAkJb3V0Lndy
aXRlKCJIZWxsbyBXb3JsZCIpOwotICogCQlvdXQuY2xvc2UoKTsKLSAqIAl9Ci0gKgotICogCWJv
bmRpLnJlcXVlc3RGZWF0dXJlKHN1Y2Nlc3NDQiwgZXJyb3JDQiwgImZpbGVzeXN0ZW0iKTsKLSAq
IFxlbmRjb2RlCi0gKiAKLSAqIFxkZWYtYXBpLWZlYXR1cmUgaHR0cDovL2JvbmRpLm9tdHAub3Jn
L2FwaS9maWxlc3lzdGVtLnJlYWQKLSAqIFxicmllZiBGaWxlc3lzdGVtIHJlYWQgb3BlcmF0aW9u
cywgaW5jbHVkaW5nIHJlYWRpbmcgZGlyZWN0b3J5IGxpc3RpbmdzLAotICogICAgICAgIGZpbGUg
Y29udGVudHMgYW5kIHJlc29sdmluZyByb290IGxvY2F0aW9ucy4KLSAqIFxkZXZpY2UtY2FwIGlv
LmZpbGUucmVhZAotICoKLSAqIFxkZWYtYXBpLWZlYXR1cmUgaHR0cDovL2JvbmRpLm9tdHAub3Jn
L2FwaS9maWxlc3lzdGVtLndyaXRlCi0gKiBcYnJpZWYgRmlsZXN5c3RlbSB3cml0ZSBvcGVyYXRp
b25zLCBpbmNsdWRpbmcgY3JlYXRpbmcgZmlsZXMvZGlyZWN0b3JpZXMsCi0gKiAgICAgICAgd3Jp
dGluZyB0byBmaWxlcywgZGVsZXRpbmcgZmlsZXMvZGlyZWN0b3JpZXMsIG1vdmluZyBhbmQgY29w
eWluZwotICogICAgICAgIGZpbGVzLgotICogXGRldmljZS1jYXAgaW8uZmlsZS53cml0ZQotICog
Ci0gKiBcZGVmLWFwaS1mZWF0dXJlLXNldCBodHRwOi8vYm9uZGkub210cC5vcmcvYXBpL2ZpbGVz
eXN0ZW0KLSAqIFxicmllZiBBbGwgdGhlIEZpbGVTeXN0ZW0gZmVhdHVyZXMKLSAqIFxhcGktZmVh
dHVyZSBodHRwOi8vYm9uZGkub210cC5vcmcvYXBpL2ZpbGVzeXN0ZW0ucmVhZAotICogXGFwaS1m
ZWF0dXJlIGh0dHA6Ly9ib25kaS5vbXRwLm9yZy9hcGkvZmlsZXN5c3RlbS53cml0ZQotICoKLSAq
IFxkZWYtZGV2aWNlLWNhcCBpby5maWxlLnJlYWQKLSAqIFxicmllZiBSZWFkIGRpcmVjdG9yeSBv
ciBmaWxlCi0gKiBccGFyYW0gbmFtZSBOYW1lIG9mIGRpcmVjdG9yeSBvciBmaWxlLCBpbiB2aXJ0
dWFsIGZpbGVzeXN0ZW0sCi0gKiBlLmcuIHJvb3Rsb2NhdGlvbi9maWxlbmFtZQotICoKLSAqIFxk
ZWYtZGV2aWNlLWNhcCBpby5maWxlLndyaXRlCi0gKiBcYnJpZWYgV3JpdGUgZGlyZWN0b3J5IG9y
IGZpbGUKLSAqIFxwYXJhbSBuYW1lIE5hbWUgb2YgZGlyZWN0b3J5IG9yIGZpbGUsIGluIHZpcnR1
YWwgZmlsZXN5c3RlbSwKLSAqIGUuZy4gcm9vdGxvY2F0aW9uL2ZpbGVuYW1lCi0gKgotICogXGF1
dGhvciBQYWRkeSBCeWVycyAmbHQ7cGFkZHlAYXBsaXhjb3JwLmNvbSZndDsKLSAqIFxhdXRob3Ig
QW5zZWxtIFIgR2FyYmUgJmx0O2Fuc2VsbUBhcGxpeGNvcnAuY29tJmd0OwotICogXHZlcnNpb24g
MS4xCi0gKi8KLW1vZHVsZSBmaWxlc3lzdGVtIHsKLQotCS8qKgotCSAqIFxicmllZiBBcnJheSBv
ZiBGaWxlIGhhbmRsZXMuCi0JICoKLQkgKiBUaGlzIGFycmF5IHR5cGUgaXMgcmV0dXJuZWQgd2hl
biBkaXJlY3RvcnkgbGlzdGluZ3MgYXJlIHJlcXVlc3RlZC4KLQkgKi8KLQl0eXBlZGVmIHNlcXVl
bmNlPEZpbGU+IEZpbGVBcnJheTsKLQotCS8qKgotCSAqIFxicmllZiBGaWxlIHN5c3RlbSBzcGVj
aWZpYyBzdWNjZXNzIGNhbGxiYWNrLgotCSAqCi0JICogVGhpcyBjYWxsYmFjayBpbnRlcmZhY2Ug
c3BlY2lmaWVzIGEgc3VjY2VzcyBjYWxsYmFjayB3aXRoIGEgZnVuY3Rpb24KLQkgKiB0YWtpbmcg
YSBGaWxlIG9iamVjdCBhcyBpbnB1dCBhcmd1bWVudC4gSXQgaXMgdXNlZCBpbiBhc3luY2hyb25v
dXMKLQkgKiBvcGVyYXRpb25zIHN1Y2ggYXMgY29weWluZywgbW92aW5nIGFuZCBkZWxldGluZyBm
aWxlcy4KLQkgKi8KLQlbQ2FsbGJhY2s9RnVuY3Rpb25Pbmx5LCBOb0ludGVyZmFjZU9iamVjdF0g
aW50ZXJmYWNlIEZpbGVTeXN0ZW1TdWNjZXNzQ2FsbGJhY2sgewotCSAgIC8qKgotCSAgICAqIFxi
cmllZiBNZXRob2QgaW52b2tlZCB3aGVuIHRoZSBhc3luY2hyb25vdXMgY2FsbCBjb21wbGV0ZXMg
c3VjY2VzZnVsbHkKLQkgICAgKgotCSAgICAqIFxwYXJhbSBmaWxlIFRoZSBmaWxlIHJlc3VsdGlu
ZyBmcm9tIHRoZSBhc3luY2hyb25vdXMgY2FsbAotCSAgICAqLwotCQl2b2lkIG9uU3VjY2Vzcyhp
biBGaWxlIGZpbGUpOwotCX07Ci0KLQkvKioKLQkgKiBcYnJpZWYgTWFuYWdlciBjbGFzcyBleHBv
c2VkIGFzIHRoZSBmaWxlc3lzdGVtIG1vZHVsZXMgQVBJLgotCSAqCi0JICogVGhpcyBtYW5hZ2Vy
IGNsYXNzIGV4cG9zZXMgdGhlIGZpbGVzeXN0ZW0gYmFzZSBBUEksIHN1Y2ggYXMKLQkgKiBkZXRl
cm1pbmluZyByb290IGFuZCBkZWZhdWx0IGxvY2F0aW9ucywgcmVzb2x2aW5nIGEgZ2l2ZW4gbG9j
YXRpb24KLQkgKiBpbnRvIGEgRmlsZSBIYW5kbGUgYW5kIHJlZ2lzdGVyaW5nIGZpbGVzeXN0ZW0g
bGlzdGVuZXJzIGZvcgotCSAqIGZpbGVzeXN0ZW0gZXZlbnRzLgotCSAqCi0JICogXGNvZGUKLQkg
KiAJZnVuY3Rpb24gZXJyb3JDQihlcnIpIHsKLQkgKiAJCWFsZXJ0KCJCT05ESSBmaWxlc3lzdGVt
IEFQSSBjb3VsZG4ndCBiZSByZXF1ZXN0ZWQ6ICIgKyBlcnIubWVzc2FnZSk7Ci0JICogCX0KLQkg
KgotCSAqIAlmdW5jdGlvbiBzdWNjZXNzQ0IoKSB7Ci0JICogCQl2YXIgZG9jTG9jYXRpb24gPSBi
b25kaS5maWxlc3lzdGVtLmdldERlZmF1bHRMb2NhdGlvbigiZG9jdW1lbnRzIik7Ci0JICogCQl2
YXIgZG9jRGlyID0gYm9uZGkuZmlsZXN5c3RlbS5yZXNvbHZlKGRvY0xvY2F0aW9uKTsKLQkgKiAJ
CXZhciBkb2NGaWxlcyA9IGRvY0Rpci5saXN0RmlsZXMoKTsKLQkgKiAJCWZvcih2YXIgaSA9IDA7
IGkgJmx0OyBkb2NGaWxlcy5sZW5ndGg7IGkrKykgewotCSAqIAkJCS8vIGRpc3BsYXlzIG5hbWUg
b2YgZWFjaCBpbWFnZSBmaWxlIGluIGltYWdlIGRpcmVjdG9yeQotCSAqIAkJCWFsZXJ0KGRvY0Zp
bGVzW2ldLm5hbWUpOwotCSAqIAkJfQotCSAqIAkJdmFyIHRlc3RGaWxlID0gZG9jRGlyLmNyZWF0
ZUZpbGUoInRlc3QudHh0Iik7Ci0JICogCQl2YXIgb3V0ID0gdGVzdEZpbGUub3BlbigidyIsICJV
VEYtOCIpOwotCSAqIAkJLy8gd3JpdGVzIEhlbGxvIFdvcmxkIHRvIHRlc3QudHh0Ci0JICogCQlv
dXQud3JpdGUoIkhlbGxvIFdvcmxkIik7Ci0JICogCQlvdXQuY2xvc2UoKTsKLQkgKiAJfQotCSAq
Ci0JICogCWJvbmRpLnJlcXVlc3RGZWF0dXJlKHN1Y2Nlc3NDQiwgZXJyb3JDQiwgImZpbGVzeXN0
ZW0iKTsKLQkgKiBcZW5kY29kZQotCSAqLwotCWludGVyZmFjZSBGaWxlU3lzdGVtTWFuYWdlciB7
Ci0KLQkJLyoqCi0JCSAqIFxicmllZiBDb250YWlucyB0aGUgcGxhdGZvcm0tZGVwZW5kZW50IG1h
eGltdW0gcGF0aCBsZW5ndGguCi0JCSAqCi0JCSAqIFJlYWQtb25seS4KLQkJICoKLQkJICogXGNv
ZGUKLQkJICogCWFsZXJ0KGJvbmRpLmZpbGVzeXN0ZW0ubWF4UGF0aExlbmd0aCk7Ci0JCSAqIFxl
bmRjb2RlCi0JCSAqLwotCQlyZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBtYXhQYXRo
TGVuZ3RoOwotCi0JCS8qKgotCQkgKiBcYnJpZWYgUmV0dXJucyBhIGRlZmF1bHQgbG9jYXRpb24g
cGF0aCBmb3IgdGhlIGdpdmVuIGFyZ3VtZW50cywKLQkJICogaW5jbHVkaW5nIHRoZSByb290IGxv
Y2F0aW9uIHByZWZpeC4KLQkJICoKLQkJICogT3B0aW9uYWxseSB0aGlzIG1ldGhvZCBjYW4gYmUg
Y2FsbGVkIHdpdGggdGhlIHNwYWNlIGFyZ3VtZW50Ci0JCSAqIHNwZWNpZnlpbmcgdGhlIG1pbmlt
dW0gZnJlZSBkaXNrIHNwYWNlIHJlcXVpcmVkLgotCQkgKgotCQkgKiBUaGlzIGZ1bmN0aW9uIHJl
c29sdmVzIGxvY2F0aW9uIHNwZWNpZmllcnMgdG8gbG9jYXRpb24gcGF0aHMuCi0JCSAqIFRoZSBm
b2xsb3dpbmcgbG9jYXRpb24gc3BlY2lmaWVycyBhcmUgc3VwcG9ydGVkOgotCQkgKiBcbiAid2d0
OnBhY2thZ2UiIHRoZSB3aWRnZXQgcGFja2FnZSBsb2NhdGlvbgotCQkgKiBcbiAid2d0OnByaXZh
dGUiIHRoZSB3aWRnZXRzIHByaXZhdGUgc3RvcmFnZQotCQkgKiBcbiAid2d0OnB1YmxpYyIgIHRo
ZSB3aWRnZXRzIHB1YmxpYyBzdG9yYWdlCi0JCSAqIFxuICJ3Z3Q6dGVtcCIgICAgdGhlIHdpZGdl
dHMgdGVtcG9yYXJ5IHN0b3JhZ2UKLQkJICogXG4gImRvY3VtZW50cyIgICB0aGUgZG9jdW1lbnRz
IGxvY2F0aW9uLAotCQkgKiAgICAgICAgICAgICAgICAgICAgZS5nLiB0aGUgIk15IERvY3VtZW50
cyIgZGlyZWN0b3J5IG9uIHNvbWUgc3lzdGVtcwotCQkgKiBcbiAiaW1hZ2VzIiAgICAgIHRoZSBp
bWFnZXMgbG9jYXRpb24sCi0JCSAqICAgICAgICAgICAgICAgICAgICBlLmcuIHRoZSAiTXkgUGlj
dHVyZXMiIGRpcmVjdG9yeSBvbiBzb21lIHN5c3RlbXMKLQkJICogXG4gInZpZGVvcyIgICAgICB0
aGUgdmlkZW9zIGxvY2F0aW9uLAotCQkgKiAgICAgICAgICAgICAgICAgICAgZS5nLiB0aGUgIk15
IFZpZGVvcyIgZGlyZWN0b3J5IG9uIHNvbWUgc3lzdGVtcwotCQkgKiBcbiAidGVtcCIgICAgICAg
IHRoZSB0ZW1wb3Jhcnkgc3RvcmFnZSwKLQkJICogICAgICAgICAgICAgICAgICAgIGUuZyByZXNv
bHZpbmcgdG8gIlRlbXAiCi0JCSAqIFxuICJzZGNhcmQiICAgICAgdGhlIHNkY2FyZCBzdG9yYWdl
LCBpZiBhbnkKLQkJICoKLQkJICogXGNvZGUKLQkJICogCXZhciB3Z3RMb2NhdGlvbiA9IGJvbmRp
LmZpbGVzeXN0ZW0uZ2V0RGVmYXVsdExvY2F0aW9uKCd3Z3Q6cGFja2FnZScpOwotCQkgKiBcZW5k
Y29kZQotCQkgKgotCQkgKiBccGFyYW0gc3BlY2lmaWVyICAgIHRoZSBsb2NhdGlvbiBzcGVjaWZp
ZXIsIHNlZSBhYm92ZSBmb3Igc3VwcG9ydGVkIHNwZWNpZmllcnMuCi0JCSAqIFxwYXJhbSBtaW5G
cmVlU3BhY2Ugb3B0aW9uYWwsIG1pbmltdW0gcmVxdWlyZWQgZnJlZSBkaXNrIHNwYWNlIGluIGJ5
dGVzIGZvcgotCQkgKiAgICAgICAgICAgICAgICAgICAgIHRoaXMgbG9jYXRpb24sIDxlbT4wPC9l
bT4gKGRlZmF1bHQpIG1lYW5zIG5vIGxpbWl0YXRpb24KLQkJICogXHJldHVybiB0aGUgbG9jYXRp
b24gYXMgYSBzdHJpbmcgb3IgPGVtPm51bGw8L2VtPiBpZiB0aGVyZQotCQkgKiAgICAgICAgIGlz
IG5vIGxvY2F0aW9uIGZvciB0aGUgZ2l2ZW4gc3BlY2lmaWVyIG9yIGlmIHRoZXJlIGlzIG5vdAot
CQkgKiAgICAgICAgIGVub3VnaCBzcGFjZSBsZWZ0IGZvciB0aGUgcmVxdWVzdGVkIHNwYWNlIGlu
IGJ5dGVzLgotCQkgKiBcdGhyb3cgRGV2aWNlQVBJRXJyb3IgSU5WQUxJRF9BUkdVTUVOVF9FUlJP
UiBpZiB0aGUKLQkJICogICAgICAgIHNwZWNpZmllciBvciBzcGFjZSBhcmd1bWVudHMgYXJlIGlu
dmFsaWQKLQkJICovCi0JCURPTVN0cmluZyBnZXREZWZhdWx0TG9jYXRpb24oaW4gRE9NU3RyaW5n
IHNwZWNpZmllciwgaW4gdW5zaWduZWQgbG9uZyBtaW5GcmVlU3BhY2UpCi0JCQlyYWlzZXMoRGV2
aWNlQVBJRXJyb3IpOwotCi0JCS8qKgotCQkgKiBcYnJpZWYgUmV0dXJucyBhbGwgcm9vdCBsb2Nh
dGlvbnMuCi0JCSAqCi0JCSAqIFRoZSByb290IGxvY2F0aW9ucyBhcmUgc3ltYm9saWMgbmFtZXMg
Zm9yIGZpbGVzeXN0ZW0KLQkJICogbG9jYXRpb25zIHdoaWNoIGFyZSBhY2Nlc3NpYmxlIGFuZCBz
dXBwb3J0ZWQgYnkgdGhlCi0JCSAqIHVuZGVybHlpbmcgcGxhdGZvcm0uCi0JCSAqCi0JCSAqIFVz
dWFsbHkgdGhlIGZvbGxvd2luZyByb290IGxvY2F0aW9ucyB3aWxsIGJlIHN1cHBvcnRlZDoKLQkJ
ICogXG4gImRvY3VtZW50cyIgcmVwcmVzZW50cyAiTXkgRG9jdW1lbnRzIiBvbiBzb21lIHBsYXRm
b3JtcwotCQkgKiBcbiAiaW1hZ2VzIiAgICByZXByZXNlbnRzICJNeSBQaWN0dXJlcyIgb24gc29t
ZSBwbGF0Zm9ybXMKLQkJICogXG4gInZpZGVvcyIgICAgcmVwcmVzZW50cyAiTXkgVmlkZW9zIiBv
biBzb21lIHBsYXRmb3JtcwotCQkgKiBcbiAidGVtcCIgICAgICByZXByZXNlbnRzICJ0bXAiIG9u
IHNvbWUgcGxhdGZvcm1zCi0JCSAqIFxuICJzZGNhcmQiICAgIHJlcHJlc2VudHMgdGhlIHNkY2Fy
ZCBvbiBzb21lIHBsYXRmb3JtcwotCQkgKgotCQkgKiBTZWUgYWxzbyB0aGUgZ2V0RGVmYXVsdExv
Y2F0aW9uIG1ldGhvZC4KLQkJICoKLQkJICogXGNvZGUKLQkJICogCXZhciBsb2NhdGlvbnMgPSBi
b25kaS5maWxlc3lzdGVtLmdldFJvb3RMb2NhdGlvbnMoKTsKLQkJICogCWZvcih2YXIgaSA9IDA7
IGkgJmx0OyBsb2NhdGlvbnMubGVuZ3RoOyBpKyspIHsKLQkJICogCQkvLyBsb2NhdGlvbnNbaV0g
aXMgYSByZXNvbHZhYmxlIHJvb3QgbG9jYXRpb24KLQkJICogCX0KLQkJICogXGVuZGNvZGUKLQkJ
ICoKLQkJICogXHJldHVybiBzdHJpbmcgYXJyYXkgb2Ygcm9vdCBsb2NhdGlvbnMuCi0JCSAqLwot
CQlTdHJpbmdBcnJheSBnZXRSb290TG9jYXRpb25zKCk7Ci0KLQkJLyoqCi0JCSAqIFxicmllZiBS
ZXNvbHZlcyBhIGxvY2F0aW9uIHRvIGEgRmlsZSBoYW5kbGUuCi0JCSAqCi0JCSAqIFZhbGlkYXRl
cyBhbmQgcmVzb2x2ZXMgdGhlIGdpdmVuIGxvY2F0aW9uIHRvIGEgRmlsZSBoYW5kbGUKLQkJICog
YW5kIHJldHVybnMgYSBoYW5kbGUuIEEgdmFsaWQgbG9jYXRpb24gaXMgcHJlZml4ZWQgd2l0aCBh
Ci0JCSAqIHZhbGlkIHJvb3Qgb3IgZGVmYXVsdCBsb2NhdGlvbiBhbmQgbXVzdCBhZGRyZXNzIGFu
IGV4aXN0aW5nCi0JCSAqIGFuZCBhY2Nlc3NpYmxlIGZpbGUuICAKLQkJICoKLQkJICogXGFwaS1m
ZWF0dXJlIGh0dHA6Ly9ib25kaS5vbXRwLm9yZy9hcGkvZmlsZXN5c3RlbS5yZWFkCi0JCSAqCi0J
CSAqIFxjb2RlCi0JCSAqIAl2YXIgbG9jYXRpb24gPSBib25kaS5maWxlc3lzdGVtLmdldERlZmF1
bHRMb2NhdGlvbigidGVtcCIpOwotCQkgKiAJdmFyIHRlbXAgPSBib25kaS5maWxlc3lzdGVtLnJl
c29sdmUobG9jYXRpb24pOwotCQkgKiAJdmFyIGRvY3VtZW50cyA9IGJvbmRpLmZpbGVzeXN0ZW0u
Z2V0RGVmYXVsdExvY2F0aW9uKCJkb2N1bWVudHMiKTsKLQkJICogCXZhciBteWRvYyA9IGJvbmRp
LmZpbGVzeXN0ZW0ucmVzb2x2ZShkb2N1bWVudHMgKyAiL2RhdGEvMjAwOS9teWRvYy50eHQiKTsK
LQkJICogXGVuZGNvZGUKLQkJICoKLQkJICogXHBhcmFtIGxvY2F0aW9uIHRoZSBsb2NhdGlvbiB0
byByZXNvbHZlLiBNdXN0IGJlIGFic29sdXRlCi0JCSAqICAgICAgICBwcmVmaXhlZCBieSBhIHZh
bGlkIHJvb3Qgb3IgZGVmYXVsdCBsb2NhdGlvbi4KLQkJICogXHJldHVybiB0aGUgcmVzb2x2ZWQg
ZmlsZSBvYmplY3QuCi0JCSAqIFx0aHJvdyBTZWN1cml0eUVycm9yIFBFUk1JU1NJT05fREVOSUVE
X0VSUk9SIHdoZW4KLQkJICogICAgICAgIGFjY2VzcyBpcyBkZW5pZWQgYnkgdGhlIHNlY3VyaXR5
IHBvbGljeS4KLQkJICogXHRocm93IERldmljZUFQSUVycm9yIElOVkFMSURfQVJHVU1FTlRfRVJS
T1IgaWYgaW52YWxpZCBsb2NhdGlvbiB3YXMgZ2l2ZW4uCi0JCSAqLwotCQlGaWxlIHJlc29sdmUo
aW4gRE9NU3RyaW5nIGxvY2F0aW9uKQotCQkJcmFpc2VzKFNlY3VyaXR5RXJyb3IsIERldmljZUFQ
SUVycm9yKTsKLQotCQkvKioKLQkJICogXGJyaWVmIFJlZ2lzdGVycyBhIGZpbGVzeXN0ZW0gZXZl
bnQgbGlzdGVuZXIuCi0JCSAqCi0JCSAqIEZpbGVzeXN0ZW0gZXZlbnQgbGlzdGVuZXJzIGFyZSB1
c2VkIGluIG9yZGVyIHRvIHJldHJpZXZlCi0JCSAqIG5vdGlmaWNhdGlvbnMgaWYgcm9vdCBvciBk
ZWZhdWx0IGxvY2F0aW9ucyBzdWNoIGFzIHN0b3JhZ2UKLQkJICogY2FyZHMgYXJlIG1vdW50ZWQv
dW5tb3VudGVkIGludG8vZnJvbSB0aGUgZGV2aWNlIGZpbGVzeXN0ZW0uCi0JCSAqCi0JCSAqIFxh
cGktZmVhdHVyZSBodHRwOi8vYm9uZGkub210cC5vcmcvYXBpL2ZpbGVzeXN0ZW0ucmVhZAotCQkg
KgotCQkgKiBcY29kZQotCQkgKiAJdmFyIGxpc3RlbmVyID0geyBtb3VudEV2ZW50OiBmdW5jdGlv
bihsb2NhdGlvbikgeyBhbGVydCgnbW91bnRlZCAnICsgbG9jYXRpb24pOyB9LAotCQkgKiAJICAg
ICAgICAgICAgICAgICB1bm1vdW50RXZlbnQ6IGZ1bmN0aW9uKGxvY2F0aW9uKSB7IGFsZXJ0KCd1
bm1vdW50ZWQgJyArIGxvY2F0aW9uKTsgfTsKLQkJICogCWJvbmRpLmZpbGVzeXN0ZW0ucmVnaXN0
ZXJFdmVudExpc3RlbmVyKGxpc3RlbmVyKTsKLQkJICogXGVuZGNvZGUKLQkJICoKLQkJICogXHBh
cmFtIGxpc3RlbmVyIHRoZSBsaXN0ZW5lciBpbnRlcmZhY2UgaW1wbGVtZW50YXRpb24KLQkJICog
XHRocm93IERldmljZUFQSUVycm9yIElOVkFMSURfQVJHVU1FTlRfRVJST1IgaWYgdGhlIGdpdmVu
IGxpc3RlbmVyCi0JCSAqICAgICAgICBpcyBpbnZhbGlkIG9yIG5vdCBhIGxpc3RlbmVyLgotCQkg
Ki8KLQkJdm9pZCByZWdpc3RlckV2ZW50TGlzdGVuZXIoaW4gRmlsZVN5c3RlbUxpc3RlbmVyIGxp
c3RlbmVyKQotCQkJcmFpc2VzKERldmljZUFQSUVycm9yKTsKLQotCQkvKioKLQkJICogXGJyaWVm
IFVucmVnaXN0ZXJzIGEgZmlsZXN5c3RlbSBldmVudCBsaXN0ZW5lci4KLQkJICoKLQkJICogXGNv
ZGUKLQkJICogCWJvbmRpLmZpbGVzeXN0ZW0udW5yZWdpc3RlckV2ZW50TGlzdGVuZXIobGlzdGVu
ZXIpOwotCQkgKiBcZW5kY29kZQotCQkgKgotCQkgKiBccGFyYW0gbGlzdGVuZXIgdGhlIGxpc3Rl
bmVyIGludGVyZmFjZSBpbXBsZW1lbnRhdGlvbgotCQkgKiBcdGhyb3cgRGV2aWNlQVBJRXJyb3Ig
SU5WQUxJRF9BUkdVTUVOVF9FUlJPUiBpZiB0aGUgZ2l2ZW4gbGlzdGVuZXIKLQkJICogICAgICAg
IGlzIGludmFsaWQgb3Igbm90IGEgbGlzdGVuZXIuCi0JCSAqLwotCQl2b2lkIHVucmVnaXN0ZXJF
dmVudExpc3RlbmVyKGluIEZpbGVTeXN0ZW1MaXN0ZW5lciBsaXN0ZW5lcikKLQkJCXJhaXNlcyhE
ZXZpY2VBUElFcnJvcik7Ci0JfTsKLQotCS8qKgotCSAqIFxicmllZiBGaWxlc3lzdGVtIGV2ZW50
IGxpc3RlbmVyIGNsYXNzLgotCSAqCi0JICogVGhpcyBsaXN0ZW5lciBpbXBsZW1lbnRzIHR3byBt
ZXRob2RzIHRvIHJldHJpZXZlIG1vdW50IGFuZCB1bm1vdW50Ci0JICogbm90aWZpY2F0aW9ucyBp
ZiByb290IG9yIGRlZmF1bHQgbG9jYXRpb25zIG9uIGEgc3RvcmFnZSBjYXJkIGdldAotCSAqIGF2
YWlsYWJsZSBvciB1bmF2YWlsYWJsZS4KLQkgKgotCSAqIFxjb2RlCi0JICogCXZhciBmc0V2ZW50
SW1wbCA9IHsKLQkgKiAJCW1vdW50RXZlbnQ6IGZ1bmN0aW9uKGxvY2F0aW9uKSB7Ci0JICogCQkJ
Ly8gbG9jYXRpb24gaGFzIGJlZW4gbW91bnRlZAotCSAqIAkJfSwKLQkgKiAJCXVubW91bnRFdmVu
dDogZnVuY3Rpb24obG9jYXRpb24pIHsKLQkgKiAJCQkvLyBsb2NhdGlvbiBoYXMgYmVlbiB1bm1v
dW50ZWQKLQkgKiAJCX0KLQkgKiAJfTsKLQkgKiBcZW5kY29kZQotCSAqLwotCWludGVyZmFjZSBG
aWxlU3lzdGVtTGlzdGVuZXIgewotCi0JCS8qKgotCQkgKiBcYnJpZWYgQ2FsbGVkIHdoZW4gYSBu
ZXcgcm9vdCBsb2NhdGlvbiBnZXRzIGF2YWlsYWJsZS4KLQkJICoKLQkJICogQSBuZXcgbG9jYXRp
b24gY291bGQgYmUgYSBzdG9yYWdlIGNhcmQgZm9yIGV4YW1wbGUuCi0JCSAqCi0JCSAqIFxwYXJh
bSBsb2NhdGlvbiB0aGUgbmV3bHkgYXZhaWxhYmxlIGxvY2F0aW9uCi0JCSAqLwotCQl2b2lkIG1v
dW50RXZlbnQoaW4gRE9NU3RyaW5nIGxvY2F0aW9uKTsKLQotCQkvKioKLQkJICogXGJyaWVmIENh
bGxlZCB3aGVuIGEgbG9jYXRpb24gZ2V0cyB1bmF2YWlsYWJsZS4KLQkJICoKLQkJICogU3VjaCBh
IGxvY2F0aW9uIGNvdWxkIGJlIGEgc3RvcmFnZSBjYXJkIGZvciBleGFtcGxlLgotCQkgKgotCQkg
KiBccGFyYW0gbG9jYXRpb24gdGhlIGxvY2F0aW9uIHdoaWNoIGlzIGJlY29taW5nIHVuYXZhaWxh
YmxlCi0JCSAqLwotCQl2b2lkIHVubW91bnRFdmVudChpbiBET01TdHJpbmcgbG9jYXRpb24pOwot
CX07Ci0KLQkvKioKLQkgKiBcYnJpZWYgRmlsZSBjbGFzcy4KLQkgKgotCSAqIFRoaXMgaW50ZXJm
YWNlIHJlcHJlc2VudHMgdGhlIGZpbGUgYWJzdHJhY3Rpb24gaW4gdXNlLiBBIGZpbGUgaGFuZGxl
Ci0JICogY2FuIGFkZHJlc3MgZmlsZXMgb3IgZGlyZWN0b3JpZXMuICBBIGZpbGUgaGFuZGxlIHJl
cHJlc2VudHMgYSBmaWxlCi0JICogaWYgdGhlIGlzRmlsZSBwcm9wZXJ0eSBpcyA8ZW0+dHJ1ZTwv
ZW0+LCBvdGhlcndpc2UgaXQgcmVwcmVzZW50cyBhCi0JICogZGlyZWN0b3J5LgotCSAqCi0JICog
QSBmaWxlIGhhbmRsZSByZXByZXNlbnRpbmcgYSBmaWxlIGNhbiBiZSBvcGVuZWQgZm9yIEkvTyBv
cGVyYXRpb25zCi0JICogc3VjaCBhcyByZWFkaW5nIGFuZCB3cml0aW5nLgotCSAqCi0JICogQSBm
aWxlIGhhbmRsZSByZXByZXNlbnRpbmcgYSBkaXJlY3RvcnkgY2FuIGxpc3QgYWxsIGZpbGVzIGlu
IHRoZQotCSAqIGN1cnJlbnQgZGlyZWN0b3J5LgotCSAqCi0JICogXGNvZGUKLQkgKgotCSAqCS8v
IGxpc3QgZGlyZWN0b3J5IGNvbnRlbnRzCi0JICogCXZhciBmaWxlcyA9IGRpci5saXN0RmlsZXMo
KTsKLQkgKiAJZm9yKHZhciBpID0gMDsgaSAmbHQ7IGZpbGVzLmxlbmd0aDsgaSsrKSB7Ci0JICog
CQkvLyBhbGVydHMgZWFjaCBuYW1lIG9mIGRpcidzIGNvbnRlbnRzCi0JICogCQlhbGVydChmaWxl
c1tpXS5uYW1lKTsKLQkgKiAJfQotCSAqIAotCSAqIAkvLyBvcGVucyBhIGZpbGUgZm9yIHdyaXRp
bmcKLQkgKiAJdmFyIGZpbGUgPSBkaXIuY3JlYXRlRmlsZSgidGVzdC50eHQiKTsKLQkgKiAJdmFy
IG91dCAgPSBmaWxlLm9wZW4oInciLCAiVVRGLTgiKTsKLQkgKiAJLy8gd3JpdGVzIEhlbGxvIFdv
cmxkIHRvIHRlc3QudHh0Ci0JICogCW91dC53cml0ZSgiSGVsbG8gV29ybGQiKTsKLQkgKiAJb3V0
LmNsb3NlKCk7Ci0JICogXGVuZGNvZGUKLQkgKi8KLQlpbnRlcmZhY2UgRmlsZSB7Ci0KLQkJLyoq
Ci0JCSAqIFxicmllZiBQYXJlbnQgZGlyZWN0b3J5IGhhbmRsZS4KLQkJICoKLQkJICogUmVhZC1v
bmx5LgotCQkgKgotCQkgKiA8ZW0+bnVsbDwvZW0+IGlmIHRoZXJlIGlzIG5vIHBhcmVudCBkaXJl
Y3RvcnkuCi0JCSAqCi0JCSAqIElmIHRoZXJlIGlzIG5vIHBhcmVudCBkaXJlY3RvcnksIHRoaXMg
cmVwcmVzZW50cyBhIHJvb3QgbG9jYXRpb24uCi0JCSAqCi0JCSAqIFxjb2RlCi0JCSAqIAl2YXIg
cGFyZW50ID0gZmlsZS5wYXJlbnQ7Ci0JCSAqIAlpZihwYXJlbnQgIT0gbnVsbCkgewotCQkgKiAJ
CS8vIHBhcmVudCBkaXJlY3RvcnkgaGFuZGxlCi0JCSAqIAl9Ci0JCSAqIFxlbmRjb2RlCi0JCSAq
LwotCQlyZWFkb25seSBhdHRyaWJ1dGUgRmlsZSBwYXJlbnQ7Ci0KLQkJLyoqCi0JCSAqIFxicmll
ZiBGaWxlL2RpcmVjdG9yeSBhY2Nlc3Mgc3RhdGUgaW4gdGhlIGZpbGVzeXN0ZW0uCi0JCSAqCi0J
CSAqIFJlYWQtb25seS4KLQkJICoKLQkJICogPGVtPmZhbHNlPC9lbT4gaWYgdGhlcmUgaXMgd3Jp
dGUgYWNjZXNzLgotCQkgKgotCQkgKiBUaGlzIGF0dHJpYnV0ZSByZXByZXNlbnRzIHRoZSBhY3R1
YWwgc3RhdGUgb2YgYQotCQkgKiBmaWxlL2RpcmVjdG9yeSBpbiB0aGUgZmlsZXN5c3RlbS4gSXQg
ZG9lcyBub3QgY2hlY2sgaWYgdGhlCi0JCSAqIGFjY2Vzc29yIGhhcyBpby5maWxlLndyaXRlIHBl
cm1pc3Npb24uCi0JCSAqCi0JCSAqIFxjb2RlCi0JCSAqIAlpZihmaWxlLnJlYWRPbmx5KSB7Ci0J
CSAqIAkJLy8gZmlsZSBjYW5ub3QgYmUgd3JpdHRlbgotCQkgKiAJfQotCQkgKiBcZW5kY29kZQot
CQkgKi8KLQkJcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gcmVhZE9ubHk7Ci0KLQkJLyoqCi0J
CSAqIFxicmllZiBGaWxlIHR5cGUuCi0JCSAqCi0JCSAqIFJlYWQtb25seS4KLQkJICoKLQkJICog
PGVtPnRydWU8L2VtPiBpZiB0aGlzIGhhbmRsZSBpcyBhIGZpbGUuCi0JCSAqIDxlbT5mYWxzZTwv
ZW0+IGlmIHRoaXMgaGFuZGxlIGlzIGEgZGlyZWN0b3J5LgotCQkgKgotCQkgKiBcY29kZQotCQkg
KiAJaWYoZmlsZS5pc0ZpbGUpIHsKLQkJICogCQkvLyBpcyBhIGZpbGUKLQkJICogCX0KLQkJICog
XGVuZGNvZGUKLQkJICovCi0JCXJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIGlzRmlsZTsKLQot
CQkvKioKLQkJICogXGJyaWVmIEZpbGUgdHlwZS4KLQkJICoKLQkJICogUmVhZC1vbmx5LgotCQkg
KgotCQkgKiA8ZW0+dHJ1ZTwvZW0+IGlmIHRoaXMgaGFuZGxlIGlzIGEgZGlyZWN0b3J5LgotCQkg
KiA8ZW0+ZmFsc2U8L2VtPiBpZiB0aGlzIGhhbmRsZSBpcyBhIGZpbGUuCi0JCSAqCi0JCSAqIFxj
b2RlCi0JCSAqIAlpZihmaWxlLmlzRGlyZWN0b3J5KSB7Ci0JCSAqIAkJLy8gaXMgYSBkaXJlY3Rv
cnkKLQkJICogCX0KLQkJICogXGVuZGNvZGUKLQkJICovCi0JCXJlYWRvbmx5IGF0dHJpYnV0ZSBi
b29sZWFuIGlzRGlyZWN0b3J5OwotCi0JCS8qKgotCQkgKiBcYnJpZWYgQ3JlYXRpb24gdGltZXN0
YW1wLgotCQkgKgotCQkgKiBSZWFkLW9ubHkuCi0JCSAqCi0JCSAqIFRoZSBjcmVhdGlvbiB0aW1l
c3RhbXAgb2YgdGhpcyBmaWxlLiBUaGlzIGlzIHRoZSB0aW1lc3RhbXAKLQkJICogd2hlbiB0aGUg
ZmlsZSB3YXMgZmlyc3QgY3JlYXRlZCBpbiB0aGUgZmlsZXN5c3RlbS4gVGhpcyBpcwotCQkgKiBl
cXVpdmFsZW50IHRvIHRoZSB0aW1lc3RhbXAgd2hlbiBhIGNhbGwgdG8gY3JlYXRlRmlsZSgpCi0J
CSAqIHN1Y2NlZWRzLgotCQkgKgotCQkgKiBJdCBpcyB1bnNwZWNpZmllZCBhbmQgcGxhdGZvcm0t
ZGVwZW5kZW50IGlmIHRoZSBjcmVhdGlvbgotCQkgKiB0aW1lc3RhbXAgY2hhbmdlcyB3aGVuIGEg
ZmlsZSBpcyBtb3ZlZC4KLQkJICoKLQkJICogXGNvZGUKLQkJICogCWFsZXJ0KGZpbGUuY3JlYXRl
ZCk7IC8vIGRpc3BsYXlzIHRoZSBjcmVhdGlvbiB0aW1lc3RhbXAKLQkJICogXGVuZGNvZGUKLQkJ
ICoKLQkJICovCi0JCXJlYWRvbmx5IGF0dHJpYnV0ZSBEYXRlIGNyZWF0ZWQ7Ci0KLQkJLyoqCi0J
CSAqIFxicmllZiBNb2RpZmljYXRpb24gdGltZXN0YW1wLgotCQkgKgotCQkgKiBSZWFkLW9ubHku
Ci0JCSAqCi0JCSAqIFRoZSBtb2RpZmljYXRpb24gdGltZXN0YW1wIG9mIHRoaXMgZmlsZS4gVGhp
cyBpcyB0aGUgdGltZXN0YW1wCi0JCSAqIG9mIHRoZSBtb3N0IHJlY2VudCBtb2RpZmljYXRpb24g
dG8gdGhlIGZpbGUsIHVzdWFsbHkgd2hlbiB0aGUgbGFzdAotCQkgKiB3cml0ZSBvcGVyYXRpb24g
c3VjY2VlZGVkLiBPcGVuaW5nIGEgZmlsZSBmb3IgcmVhZGluZyBkb2VzIG5vdCBjaGFuZ2UKLQkJ
ICogdGhlIG1vZGlmaWNhdGlvbiB0aW1lc3RhbXAuCi0JCSAqCi0JCSAqIFxjb2RlCi0JCSAqIAlh
bGVydChmaWxlLm1vZGlmaWVkKTsgLy8gZGlzcGxheXMgdGhlIG1vZGlmaWNhdGlvbiB0aW1lc3Rh
bXAKLQkJICogXGVuZGNvZGUKLQkJICoKLQkJICovCi0JCXJlYWRvbmx5IGF0dHJpYnV0ZSBEYXRl
IG1vZGlmaWVkOwotCi0JCS8qKgotCQkgKiBcYnJpZWYgUGF0aCBvZiB0aGlzIGZpbGUsIGV4Y2x1
ZGluZyB0aGUgZmlsZSBuYW1lLgotCQkgKgotCQkgKiBSZWFkLW9ubHkuCi0JCSAqCi0JCSAqIElm
IHRoZSBmaWxlIHBhdGggaXMgPGVtPi9iYXovZm9vLmJhcjwvZW0+LCB0aGVuCi0JCSAqIHRoZSBw
YXRoIGlzIDxlbT4vYmF6LzwvZW0+LiAgCi0JCSAqCi0JCSAqIFRoZSBlbmNvZGluZyBvZiBmaWxl
IHBhdGhzIGlzIDxhIGhyZWY9Imh0dHA6Ly93d3cuaWV0Zi5vcmcvcmZjL3JmYzIyNzkudHh0Ij5V
VEYtODwvYT4uCi0JCSAqCi0JCSAqIFxjb2RlCi0JCSAqIAlhbGVydChmaWxlLnBhdGgpOyAvLyBz
aG91bGQgYmUgL2Jhei8gaWYgdGhlIGZpbGUgaXMgL2Jhei9mb28uYmFyCi0JCSAqIFxlbmRjb2Rl
Ci0JCSAqLwotCQlyZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHBhdGg7Ci0KLQkJLyoqCi0J
CSAqIFxicmllZiBGaWxlIG5hbWUsIGV4Y2x1ZGluZyBhbnkgcGF0aCBjb21wb25lbnRzLgotCQkg
KgotCQkgKiBSZWFkLW9ubHkuCi0JCSAqCi0JCSAqIEFzc3VtZWQgdGhlIGZpbGUgcGF0aCBpcyA8
ZW0+L2Jhei9mb28uYmFyPC9lbT4sIHRoZW4KLQkJICogdGhlIGZpbGUgbmFtZSBpcyA8ZW0+Zm9v
LmJhcjwvZW0+LgotCQkgKgotCQkgKiBUaGUgZW5jb2Rpbmcgb2YgZmlsZSBuYW1lcyBpcyA8YSBo
cmVmPSJodHRwOi8vd3d3LmlldGYub3JnL3JmYy9yZmMyMjc5LnR4dCI+VVRGLTg8L2E+LgotCQkg
KgotCQkgKiBcY29kZQotCQkgKiAJYWxlcnQoZmlsZS5uYW1lKTsgLy8gc2hvdWxkIGJlIGZvby5i
YXIgaWYgdGhlIGZpbGUgcGF0aCBpcyAvYmF6L2Zvby5iYXIKLQkJICogXGVuZGNvZGUKLQkJICov
Ci0JCXJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgbmFtZTsKLQotCQkvKioKLQkJICogXGJy
aWVmIEFic29sdXRlIHBhdGggb2YgdGhpcyBmaWxlLgotCQkgKgotCQkgKiBSZWFkLW9ubHkuCi0J
CSAqCi0JCSAqIEFzc3VtZWQgdGhlIGZpbGUgcGF0aCBpcyA8ZW0+L2Jhei9mb28uYmFyPC9lbT4s
IHRoZW4gdGhpcyBpcyB0aGUgYWJzb2x1dGUgcGF0aC4KLQkJICoKLQkJICogVGhlIGVuY29kaW5n
IG9mIGZpbGUgcGF0aHMgaXMgPGEgaHJlZj0iaHR0cDovL3d3dy5pZXRmLm9yZy9yZmMvcmZjMjI3
OS50eHQiPlVURi04PC9hPi4KLQkJICoKLQkJICogXGNvZGUKLQkJICogCWFsZXJ0KGZpbGUuYWJz
b2x1dGVQYXRoKTsgLy8gc2hvdWxkIGJlIC9iYXovZm9vLmJhciBpZiB0aGUgZmlsZSBpcyAvYmF6
L2Zvby5iYXIKLQkJICogXGVuZGNvZGUKLQkJICovCi0JCXJlYWRvbmx5IGF0dHJpYnV0ZSBET01T
dHJpbmcgYWJzb2x1dGVQYXRoOwotCi0JCS8qKgotCQkgKiBcYnJpZWYgU2l6ZSBpbiBieXRlcyBv
ZiB0aGlzIGZpbGUuCi0JCSAqCi0JCSAqIFJlYWQtb25seS4KLQkJICoKLQkJICogSWYgaXQgaXMg
YXR0ZW1wdGVkIHRvIHJlYWQgdGhpcyBhdHRyaWJ1dGUgb24gYSBkaXJlY3RvcnksCi0JCSAqIDxl
bT51bmRlZmluZWQ8L2VtPiBpcyByZXR1cm5lZC4KLQkJICoKLQkJICogXGNvZGUKLQkJICogCWFs
ZXJ0KGZpbGUuZmlsZVNpemUpOyAvLyBkaXNwbGF5cyB0aGUgZmlsZSBzaXplCi0JCSAqIFxlbmRj
b2RlCi0JCSAqLwotCQlyZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBmaWxlU2l6ZTsK
LQotCQkvKioKLQkJICogXGJyaWVmIEZpbGVzIG1ldGFkYXRhLgotCQkgKgotCQkgKiBUaGUgYWN0
dWFsIG1hcCBjb250ZW50cyBhcmUgaW1wbGVtZW50YXRpb24gZGVwZW5kZW50LgotCQkgKgotCQkg
KiBcY29kZQotCQkgKiAJLy8gc2hvdWxkIGRpc3BsYXkgdGhlIGZpbGUgYXV0aG9yLCBpZiBzdXBw
b3J0ZWQgYnkgdGhlCi0JCSAqIAkvLyBwbGF0Zm9ybSwgdW5kZWZpbmVkIG90aGVyd2lzZQotCQkg
KiAJYWxlcnQoZmlsZS5tZXRhZGF0YS5hdXRob3IpOwotCQkgKiBcZW5kY29kZQotCQkgKi8KLQkJ
cmVhZG9ubHkgYXR0cmlidXRlIE1hcCBtZXRhZGF0YTsKLQotCQkvKioKLQkJICogXGJyaWVmIFJl
dHVybnMgbGlzdCBvZiBhbGwgZmlsZXMgb2YgdGhpcyBkaXJlY3RvcnkuCi0JCSAqCi0JCSAqIFRo
ZSBsaXN0IG9mIGZpbGVzIGNvbnRhaW5zIGRpcmVjdG9yaWVzIGFuZCBmaWxlcywgaXQgZG9lcwot
CQkgKiBub3QgY29udGFpbiB0aGUgZGlyZWN0b3JpZXMgIi4iIGFuZCAiLi4iLgotCQkgKgotCQkg
KiBcYXBpLWZlYXR1cmUgaHR0cDovL2JvbmRpLm9tdHAub3JnL2FwaS9maWxlc3lzdGVtLnJlYWQK
LQkJICoKLQkJICogXGNvZGUKLQkJICogCXZhciBmaWxlcyA9IGRpci5saXN0RmlsZXMoKTsKLQkJ
ICogCWZvcih2YXIgaSA9IDA7IGkgJmx0OyBmaWxlcy5sZW5ndGg7IGkrKykgewotCQkgKiAJCS8v
IGZpbGVzW2ldIGl0ZXJhdGUgb3ZlciBhbGwgZmlsZXMgb2YgdGhpcyBkaXJlY3RvcnkKLQkJICog
CX0KLQkJICogXGVuZGNvZGUKLQkJICoKLQkJICogXHJldHVybiBhcnJheSBvZiBjb250ZW50cyBv
ZiB0aGlzIGRpcmVjdG9yeS4KLQkJICogXHRocm93IFNlY3VyaXR5RXJyb3IgUEVSTUlTU0lPTl9E
RU5JRURfRVJST1Igd2hlbgotCQkgKiAgICAgICAgYWNjZXNzIGlzIGRlbmllZCBieSB0aGUgc2Vj
dXJpdHkgcG9saWN5LgotCQkgKiBcdGhyb3cgRGV2aWNlQVBJRXJyb3IgSU9fRVJST1IgaWYgdGhp
cyBpcyBub3QgYSBkaXJlY3RvcnkuCi0JCSAqLwotCQlGaWxlQXJyYXkgbGlzdEZpbGVzKCkKLQkJ
CXJhaXNlcyhTZWN1cml0eUVycm9yLCBEZXZpY2VBUElFcnJvcik7Ci0KLQkJLyoqCi0JCSAqIFxi
cmllZiBPcGVucyB0aGUgZmlsZSBpbiB0aGUgZ2l2ZW4gbW9kZSBzdXBwb3J0aW5nIHRoZSBnaXZl
bgotCQkgKiBlbmNvZGluZy4KLQkJICoKLQkJICogXGFwaS1mZWF0dXJlIGh0dHA6Ly9ib25kaS5v
bXRwLm9yZy9hcGkvZmlsZXN5c3RlbS5yZWFkCi0JCSAqIFxhcGktZmVhdHVyZSBodHRwOi8vYm9u
ZGkub210cC5vcmcvYXBpL2ZpbGVzeXN0ZW0ud3JpdGUKLQkJICoKLQkJICogXGNvZGUKLQkJICog
CS8vIG9wZW5zIGZpbGUgZm9yIHJlYWRpbmcKLQkJICogCXZhciBpbiA9IGZpbGUub3BlbigiciIs
ICJVVEYtOCIpOwotCQkgKiBcZW5kY29kZQotCQkgKgotCQkgKiBccGFyYW0gbW9kZSB0aGUgbW9k
ZSBmb3Igb3BlbmluZyBhIGZpbGUKLQkJICogXG4gInIiIGZvciByZWFkaW5nCi0JCSAqIFxuICJh
IiBmb3IgYXBwZW5kaW5nCi0JCSAqIFxuICJ3IiBmb3IgW292ZXJdd3JpdGluZwotCQkgKiBccGFy
YW0gZW5jb2RpbmcgdGhlIGVuY29kaW5nIGZvciByZWFkL3dyaXRlIG9wZXJhdGlvbnMgb24gdGhl
IGZpbGUsCi0JCSAqICAgICAgICAgICAgICAgICAgIHN1cHBvcnRlZCBlbmNvZGluZ3MgYXJlOgot
CQkgKiBcbiAiPGEgaHJlZj0iaHR0cDovL3d3dy5pZXRmLm9yZy9yZmMvcmZjMjI3OS50eHQiPlVU
Ri04PC9hPiIgZGVmYXVsdCBlbmNvZGluZwotCQkgKiBcbiAiPGEgaHJlZj0iaHR0cDovL2VuLndp
a2lwZWRpYS5vcmcvd2lraS9JU08vSUVDXzg4NTktMSI+SVNPODg1OS0xPC9hPiIgbGF0aW4xIGVu
Y29kaW5nCi0JCSAqIFxyZXR1cm4gZmlsZSBzdHJlYW0gaGFuZGxlIHRvIHJlYWQvd3JpdGUgZnJv
bS90by4KLQkJICogXHRocm93IFNlY3VyaXR5RXJyb3IgUEVSTUlTU0lPTl9ERU5JRURfRVJST1Ig
d2hlbgotCQkgKiAgICAgICAgYWNjZXNzIGlzIGRlbmllZCBieSB0aGUgc2VjdXJpdHkgcG9saWN5
LgotCQkgKiBcdGhyb3cgRGV2aWNlQVBJRXJyb3IgSU5WQUxJRF9BUkdVTUVOVF9FUlJPUiBpZiBp
bnZhbGlkIG1vZGUKLQkJICogICAgICAgIG9yIHVuc3VwcG9ydGVkIGVuY29kaW5nIGlzIHN1cHBs
aWVkLgotCQkgKiBcdGhyb3cgRGV2aWNlQVBJRXJyb3IgSU9fRVJST1IgaWYgdGhpcyBpcyBub3Qg
YSBmaWxlLgotCQkgKi8KLQkJRmlsZVN0cmVhbSBvcGVuKGluIERPTVN0cmluZyBtb2RlLCBpbiBE
T01TdHJpbmcgZW5jb2RpbmcpCi0JCQlyYWlzZXMoU2VjdXJpdHlFcnJvciwgRGV2aWNlQVBJRXJy
b3IpOwotCi0JCS8qKgotCQkgKiBcYnJpZWYgQ29waWVzIHRoaXMgZmlsZS4KLQkJICoKLQkJICog
VGhlIGNvcHkgd2lsbCBiZSBjcmVhdGVkIGluIHRoZSBnaXZlbiBwYXRoLiBJZiB0aGlzIGZ1bmN0
aW9uCi0JCSAqIGZhaWxzIGFuZCB0aGUgZXJyb3IgY2FsbGJhY2sgaXMgY2FsbGVkLCBpdCB3aWxs
IHBhc3MgYW4KLQkJICogRGV2aWNlQVBJRXJyb3IgSU9fRVJST1IgdG8gdGhlIGNhbGxiYWNrLgot
CQkgKgotCQkgKiBUaGUgZW5jb2Rpbmcgb2YgZmlsZSBwYXRocyBpcyA8YSBocmVmPSJodHRwOi8v
d3d3LmlldGYub3JnL3JmYy9yZmMyMjc5LnR4dCI+VVRGLTg8L2E+LgotCQkgKgotCQkgKiBcYXBp
LWZlYXR1cmUgaHR0cDovL2JvbmRpLm9tdHAub3JnL2FwaS9maWxlc3lzdGVtLndyaXRlCi0JCSAq
Ci0JCSAqIFxjb2RlCi0JCSAqIAkvLyBjb3BpZXMgdGhpcyBmaWxlIHRvIC90ZW1wL2ZpbGUuY29w
eQotCQkgKiAJdmFyIG9wID0gZmlsZS5jb3B5VG8oZnVuY3Rpb24oY29waWVkRmlsZSkgeyBhbGVy
dCgiZmlsZSBjb3BpZWQiKTsgfSwgbnVsbCwgIi90ZW1wL2ZpbGUuY29weSIsIGZhbHNlKTsKLQkJ
ICogXGVuZGNvZGUKLQkJICoKLQkJICogXHBhcmFtIHN1Y2Nlc3NDYWxsYmFjayBjYWxsZWQgd2hl
biB0aGUgZmlsZSBoYXMgYmVlbiBjb3BpZWQuCi0JCSAqIFxwYXJhbSBlcnJvckNhbGxiYWNrIGNh
bGxlZCBpZiBhbiBlcnJvciBvY2N1cmVkLgotCQkgKiBccGFyYW0gZmlsZVBhdGggdGhlIG5ldyBm
aWxlIHBhdGgsIFthLVowLTlfLSAvXSsgYXJlIGFsbG93ZWQgCi0JCSAqIFxwYXJhbSBvdmVyd3Jp
dGUgPGVtPnRydWU8L2VtPiBlbmZvcmNlcyBvdmVyd3JpdGluZyBhbiBleGlzdGluZyBmaWxlLgot
CQkgKiBccmV0dXJuIFBlbmRpbmdPcGVyYXRpb24gZW5hYmxpbmcgdGhlIHJlcXVlc3RlciB0byBj
YW5jZWwgdGhpcyByZXF1ZXN0LgotCQkgKiBcdGhyb3cgU2VjdXJpdHlFcnJvciBQRVJNSVNTSU9O
X0RFTklFRF9FUlJPUiB3aGVuCi0JCSAqICAgICAgICBhY2Nlc3MgaXMgZGVuaWVkIGJ5IHRoZSBz
ZWN1cml0eSBwb2xpY3kuCi0JCSAqIFx0aHJvdyBEZXZpY2VBUElFcnJvciBJT19FUlJPUiBpZiBp
dCBpcyBhdHRlbXB0ZWQgdG8gbW92ZSB0byBhIGRpcmVjdG9yeS4KLQkJICogXHRocm93IERldmlj
ZUFQSUVycm9yIElPX0VSUk9SIGlmIG92ZXJ3cml0ZSBpcyA8ZW0+ZmFsc2U8L2VtPiBhbmQgdGFy
Z2V0IGZpbGUgZXhpc3RzLgotCQkgKiBcdGhyb3cgRGV2aWNlQVBJRXJyb3IgSU9fRVJST1IgaWYg
YW55IGNoYXJhY3RlcnMgaW4gdGhlIHBhdGggYXJlIG5vdCBzdXBwb3J0ZWQuCi0JCSAqIFx0aHJv
dyBEZXZpY2VBUElFcnJvciBJT19FUlJPUiBpZiB0aGUgZmlsZSBjYW5ub3QgYmUgY29waWVkLgot
CQkgKi8KLQkJUGVuZGluZ09wZXJhdGlvbiBjb3B5VG8oaW4gRmlsZVN5c3RlbVN1Y2Nlc3NDYWxs
YmFjayBzdWNjZXNzQ2FsbGJhY2ssCi0JCSAgICAgICAgICAgICAgICAgICAgICAgIGluIEVycm9y
Q2FsbGJhY2sgZXJyb3JDYWxsYmFjaywKLQkJICAgICAgICAgICAgICAgICAgICAgICAgaW4gRE9N
U3RyaW5nIGZpbGVQYXRoLAotCQkgICAgICAgICAgICAgICAgICAgICAgICBpbiBib29sZWFuIG92
ZXJ3cml0ZSkKLQkJCXJhaXNlcyhTZWN1cml0eUVycm9yLCBEZXZpY2VBUElFcnJvcik7Ci0KLQkJ
LyoqCi0JCSAqIFxicmllZiBNb3ZlcyB0aGlzIGZpbGUuCi0JCSAqCi0JCSAqIFRoZSBmaWxlIHdp
bGwgYmUgbW92ZWQgYXRvbWljYWxseSB0byB0aGUgZ2l2ZW4gcGF0aC4gVGhpcyBpcwotCQkgKiBk
aWZmZXJlbnQgdG8gY29weVRvIGFuZCBkZWxldGluZyB0aGUgb2xkIGZpbGUsIGJlY2F1c2UgdGhp
cwotCQkgKiBvcGVyYXRpb24gZG9lcyBub3QgbmVlZCBleHRyYSBkaXNrIHNwYWNlIG9uIGNlcnRh
aW4gcGxhdGZvcm1zLgotCQkgKiBJZiB0aGlzIGZ1bmN0aW9uIGZhaWxzIGFuZCB0aGUgZXJyb3Ig
Y2FsbGJhY2sgaXMgY2FsbGVkLCBpdAotCQkgKiB3aWxsIHBhc3MgYW4gRGV2aWNlQVBJRXJyb3Ig
SU9fRVJST1IgdG8gdGhlIGNhbGxiYWNrLgotCQkgKgotCQkgKiBUaGUgZW5jb2Rpbmcgb2YgZmls
ZSBwYXRocyBpcyA8YSBocmVmPSJodHRwOi8vd3d3LmlldGYub3JnL3JmYy9yZmMyMjc5LnR4dCI+
VVRGLTg8L2E+LgotCQkgKgotCQkgKiBcYXBpLWZlYXR1cmUgaHR0cDovL2JvbmRpLm9tdHAub3Jn
L2FwaS9maWxlc3lzdGVtLndyaXRlCi0JCSAqCi0JCSAqIFxjb2RlCi0JCSAqIAkvLyBtb3ZlcyB0
aGlzIGZpbGUgdG8gL3RlbXAvZmlsZS5tb3ZlCi0JCSAqIAl2YXIgb3AgPSBmaWxlLm1vdmVUbyhm
dW5jdGlvbihtb3ZlZEZpbGUpIHsgZmlsZSA9IG1vdmVkRmlsZTsgfSwgbnVsbCwgIi90ZW1wL2Zp
bGUubW92ZSIpOwotCQkgKiBcZW5kY29kZQotCQkgKgotCQkgKiBccGFyYW0gc3VjY2Vzc0NhbGxi
YWNrIGNhbGxlZCB3aGVuIHRoZSBmaWxlIGhhcyBiZWVuIGNvcGllZC4KLQkJICogXHBhcmFtIGVy
cm9yQ2FsbGJhY2sgY2FsbGVkIGlmIGFuIGVycm9yIG9jY3VyZWQuCi0JCSAqIFxwYXJhbSBmaWxl
UGF0aCB0aGUgbmV3IGZpbGUgbmFtZSwgW2EtWjAtOV8tIC9dKyBhcmUgYWxsb3dlZAotCQkgKiBc
cGFyYW0gb3ZlcndyaXRlIDxlbT50cnVlPC9lbT4gZW5mb3JjZXMgb3ZlcndyaXRpbmcgYW4gZXhp
c3RpbmcgZmlsZS4KLQkJICogXHJldHVybiBQZW5kaW5nT3BlcmF0aW9uIGVuYWJsaW5nIHRoZSBy
ZXF1ZXN0ZXIgdG8gY2FuY2VsIHRoaXMgcmVxdWVzdC4KLQkJICogXHRocm93IFNlY3VyaXR5RXJy
b3IgUEVSTUlTU0lPTl9ERU5JRURfRVJST1Igd2hlbgotCQkgKiAgICAgICAgYWNjZXNzIGlzIGRl
bmllZCBieSB0aGUgc2VjdXJpdHkgcG9saWN5LgotCQkgKiBcdGhyb3cgRGV2aWNlQVBJRXJyb3Ig
SU9fRVJST1IgaWYgaXQgaXMgYXR0ZW1wdGVkIHRvIG1vdmUgdG8gYSBkaXJlY3RvcnkuCi0JCSAq
IFx0aHJvdyBEZXZpY2VBUElFcnJvciBJT19FUlJPUiBpZiBvdmVyd3JpdGUgaXMgPGVtPmZhbHNl
PC9lbT4gYW5kIHRhcmdldCBmaWxlIGV4aXN0cy4KLQkJICogXHRocm93IERldmljZUFQSUVycm9y
IElPX0VSUk9SIGlmIGFueSBjaGFyYWN0ZXJzIGluIHRoZSBwYXRoIGFyZSBub3Qgc3VwcG9ydGVk
LgotCQkgKiBcdGhyb3cgRGV2aWNlQVBJRXJyb3IgSU9fRVJST1IgaWYgdGhlIGZpbGUgY2Fubm90
IGJlIG1vdmVkLgotCQkgKi8KLQkJUGVuZGluZ09wZXJhdGlvbiBtb3ZlVG8oaW4gRmlsZVN5c3Rl
bVN1Y2Nlc3NDYWxsYmFjayBzdWNjZXNzQ2FsbGJhY2ssCi0JCSAgICAgICAgICAgICAgICAgICAg
ICAgIGluIEVycm9yQ2FsbGJhY2sgZXJyb3JDYWxsYmFjaywKLQkJICAgICAgICAgICAgICAgICAg
ICAgICAgaW4gRE9NU3RyaW5nIGZpbGVQYXRoLAotCQkgICAgICAgICAgICAgICAgICAgICAgICBp
biBib29sZWFuIG92ZXJ3cml0ZSkKLQkJCXJhaXNlcyhTZWN1cml0eUVycm9yLCBEZXZpY2VBUElF
cnJvcik7Ci0KLQkJLyoqCi0JCSAqIFxicmllZiBDcmVhdGVzIGEgZGlyZWN0b3J5LgotCQkgKgot
CQkgKiBUaGUgbmV3IGRpcmVjdG9yeSB3aWxsIGJlIGNyZWF0ZWQgcmVsYXRpdmVseSB0byB0aGUg
Y3VycmVudAotCQkgKiBkaXJlY3RvcnkgdGhpcyBvcGVyYXRpb24gaXMgcGVyZm9ybWVkIG9uLiBJ
dCB3aWxsIGF0dGVtcHQgdG8KLQkJICogY3JlYXRlIGFsbCBuZWNlc3Nhcnkgc3ViLWRpcmVjdG9y
aWVzIGFzIHdlbGwuIFRoZSB1c2Ugb2YgIi4iCi0JCSAqIG9yICIuLiIgaW4gcGF0aCBjb21wb25l
bnRzIGlzIG5vdCBzdXBwb3J0ZWQuIElmIHRoZQotCQkgKiBib3R0b20tbW9zdCBkaXJlY3Rvcnkg
YmVpbmcgY3JlYXRlZCBhbHJlYWR5IGV4aXN0cyB0aGlzCi0JCSAqIG1ldGhvZCB3aWxsIHRocm93
IGFuIElPX0VSUk9SLgotCQkgKgotCQkgKiBUaGUgZW5jb2Rpbmcgb2YgZmlsZSBwYXRocyBpcyA8
YSBocmVmPSJodHRwOi8vd3d3LmlldGYub3JnL3JmYy9yZmMyMjc5LnR4dCI+VVRGLTg8L2E+Lgot
CQkgKgotCQkgKiBcYXBpLWZlYXR1cmUgaHR0cDovL2JvbmRpLm9tdHAub3JnL2FwaS9maWxlc3lz
dGVtLndyaXRlCi0JCSAqCi0JCSAqIFxjb2RlCi0JCSAqIAl2YXIgbmV3RGlyID0gZGlyLmNyZWF0
ZURpcmVjdG9yeSgibmV3RGlyIik7Ci0JCSAqIAl2YXIgYW5vdGhlck5ld0RpciA9IGRpci5jcmVh
dGVEaXJlY3RvcnkoIm5ld0RpcjEvc3ViTmV3RGlyMSIpOwotCQkgKiBcZW5kY29kZQotCQkgKgot
CQkgKiBccGFyYW0gZGlyUGF0aCB0aGUgbmV3IGRpcmVjdG9yeSBwYXRoLCBpdCBzaG91bGQgb25s
eSBjb250YWluCi0JCSAqICAgICAgICBjaGFyYWN0ZXJzIHN1cHBvcnRlZCBieSB0aGUgdW5kZXJs
eWluZyBmaWxlc3lzdGVtLgotCQkgKiBccmV0dXJuIGZpbGUgaGFuZGxlIG9mIHRoZSBuZXcgZGly
ZWN0b3J5Ci0JCSAqIFx0aHJvdyBTZWN1cml0eUVycm9yIFBFUk1JU1NJT05fREVOSUVEX0VSUk9S
IHdoZW4KLQkJICogICAgICAgIGFjY2VzcyBpcyBkZW5pZWQgYnkgdGhlIHNlY3VyaXR5IHBvbGlj
eS4KLQkJICogXHRocm93IERldmljZUFQSUVycm9yIElPX0VSUk9SIGlmIHRoaXMgaXMgbm90IGEg
ZGlyZWN0b3J5LgotCQkgKiBcdGhyb3cgRGV2aWNlQVBJRXJyb3IgSU9fRVJST1IgaWYgYW55IHBh
dGggY29tcG9uZW50IGRvZXMgbm90IGV4aXN0LgotCQkgKiBcdGhyb3cgRGV2aWNlQVBJRXJyb3Ig
SU9fRVJST1IgaWYgYSBmaWxlIHdpdGggdGhlIHNhbWUgbmFtZSBleGlzdHMuCi0JCSAqIFx0aHJv
dyBEZXZpY2VBUElFcnJvciBJT19FUlJPUiBpZiBhbnkgY2hhcmFjdGVycyBpbiB0aGUgcGF0aCBh
cmUgbm90IHN1cHBvcnRlZC4KLQkJICogXHRocm93IERldmljZUFQSUVycm9yIElPX0VSUk9SIGlm
IHRoZSBkaXJlY3RvcnkgY2Fubm90IGJlIGNyZWF0ZWQuCi0JCSAqLwotCQlGaWxlIGNyZWF0ZURp
cmVjdG9yeShpbiBET01TdHJpbmcgZGlyUGF0aCkKLQkJCXJhaXNlcyhTZWN1cml0eUVycm9yLCBE
ZXZpY2VBUElFcnJvcik7Ci0KLQkJLyoqCi0JCSAqIFxicmllZiBDcmVhdGVzIGEgbmV3IGVtcHR5
IGZpbGUuCi0JCSAqCi0JCSAqIFRoZSBuZXcgZW1wdHkgZmlsZSBpcyBjcmVhdGVkIGluIHRoZSBn
aXZlbiBwYXRoIHJlbGF0aXZlbHkKLQkJICogdG8gdGhlIGN1cnJlbnQgZGlyZWN0b3J5IHRoZSBv
cGVyYXRpb24gaXMgcGVyZm9ybWVkIG9uLiAgVGhlCi0JCSAqIHVzZSBvZiAiLiIgb3IgIi4uIiBp
biBwYXRoIGNvbXBvbmVudHMgaXMgbm90IHN1cHBvcnRlZC4gIElmCi0JCSAqIHRoZSBib3R0b20t
bW9zdCBmaWxlIGJlaW5nIGNyZWF0ZWQgYWxyZWFkeSBleGlzdHMgdGhpcwotCQkgKiBtZXRob2Qg
d2lsbCB0aHJvdyBhbiBJT19FUlJPUi4gIElmIGFueSBwYXRoIGNvbXBvbmVudCBkb2VzCi0JCSAq
IG5vdCBleGlzdCB0aGlzIG1ldGhvZCB3aWxsIHRocm93IGFuIElPX0VSUk9SLgotCQkgKgotCQkg
KiBUaGUgZW5jb2Rpbmcgb2YgZmlsZSBwYXRocyBpcyA8YSBocmVmPSJodHRwOi8vd3d3LmlldGYu
b3JnL3JmYy9yZmMyMjc5LnR4dCI+VVRGLTg8L2E+LgotCQkgKgotCQkgKiBcYXBpLWZlYXR1cmUg
aHR0cDovL2JvbmRpLm9tdHAub3JnL2FwaS9maWxlc3lzdGVtLndyaXRlCi0JCSAqCi0JCSAqIFxj
b2RlCi0JCSAqIAl2YXIgbmV3RmlsZSA9IGRpci5jcmVhdGVGaWxlKCJuZXdGaWxlIik7Ci0JCSAq
IFxlbmRjb2RlCi0JCSAqCi0JCSAqIFxwYXJhbSBmaWxlUGF0aCB0aGUgbmV3IGZpbGUgcGF0aCwg
aXQgc2hvdWxkIG9ubHkgY29udGFpbgotCQkgKiAgICAgICAgY2hhcmFjdGVycyBzdXBwb3J0ZWQg
YnkgdGhlIHVuZGVybHlpbmcgZmlsZXN5c3RlbS4KLQkJICogXHJldHVybiBmaWxlIGhhbmRsZSBv
ZiB0aGUgbmV3IGVtcHR5IGZpbGUKLQkJICogXHRocm93IFNlY3VyaXR5RXJyb3IgUEVSTUlTU0lP
Tl9ERU5JRURfRVJST1Igd2hlbgotCQkgKiAgICAgICAgYWNjZXNzIGlzIGRlbmllZCBieSB0aGUg
c2VjdXJpdHkgcG9saWN5LgotCQkgKiBcdGhyb3cgRGV2aWNlQVBJRXJyb3IgSU9fRVJST1IgaWYg
dGhpcyBpcyBub3QgYSBkaXJlY3RvcnkuCi0JCSAqIFx0aHJvdyBEZXZpY2VBUElFcnJvciBJT19F
UlJPUiBpZiBhbnkgcGF0aCBjb21wb25lbnQgZG9lcyBub3QgZXhpc3QuCi0JCSAqIFx0aHJvdyBE
ZXZpY2VBUElFcnJvciBJT19FUlJPUiBpZiB0aGUgZmlsZSBhbHJlYWR5IGV4aXN0cy4KLQkJICog
XHRocm93IERldmljZUFQSUVycm9yIElPX0VSUk9SIGlmIGFueSBjaGFyYWN0ZXJzIGluIHRoZSBw
YXRoIGFyZSBub3Qgc3VwcG9ydGVkLgotCQkgKiBcdGhyb3cgRGV2aWNlQVBJRXJyb3IgSU9fRVJS
T1IgaWYgdGhlIGZpbGUgY2Fubm90IGJlIGNyZWF0ZWQuCi0JCSAqLwotCQlGaWxlIGNyZWF0ZUZp
bGUoaW4gRE9NU3RyaW5nIGZpbGVQYXRoKQotCQkJcmFpc2VzKFNlY3VyaXR5RXJyb3IsIERldmlj
ZUFQSUVycm9yKTsKLQotCQkvKioKLQkJICogXGJyaWVmIFJlc29sdmVzIGFuIGV4aXN0aW5nIGZp
bGUgb3IgZGlyZWN0b3J5IHJlbGF0aXZlbHkgdG8KLQkJICogdGhlIGN1cnJlbnQgZGlyZWN0b3J5
IHRoaXMgb3BlcmF0aW9uIGlzIHBlcmZvcm1lZCBvbjsgYW5kCi0JCSAqIHJldHVybnMgYSBmaWxl
IGhhbmRsZSBmb3IgaXQuCi0JCSAqIAotCQkgKiBUaGUgZmlsZVBhdGggaXMgbm90IGFsbG93ZWQg
dG8gY29udGFpbiB0aGUgIi4iIG9yICIuLiIgZGlyZWN0b3JpZXMuCi0JCSAqCi0JCSAqIFRoZSBl
bmNvZGluZyBvZiBmaWxlIHBhdGhzIGlzIDxhIGhyZWY9Imh0dHA6Ly93d3cuaWV0Zi5vcmcvcmZj
L3JmYzIyNzkudHh0Ij5VVEYtODwvYT4uCi0JCSAqCi0JCSAqIFxhcGktZmVhdHVyZSBodHRwOi8v
Ym9uZGkub210cC5vcmcvYXBpL2ZpbGVzeXN0ZW0ucmVhZAotCQkgKgotCQkgKiBcY29kZQotCQkg
KiAJdmFyIGhlbGxvZmlsZSA9IGRpci5yZXNvbHZlKCJmb28vaGVsbG8udHh0Iik7Ci0JCSAqIFxl
bmRjb2RlCi0JCSAqCi0JCSAqIFxwYXJhbSBmaWxlUGF0aCB0aGUgcmVsYXRpdmUgZmlsZS9kaXJl
Y3RvcnkgcGF0aCB0byByZXNvbHZlLgotCQkgKiBccmV0dXJuIGZpbGUgaGFuZGxlIG9mIHRoZSBm
aWxlIG9yIDxlbT5udWxsPC9lbT4gaWYgaXQgY2Fubm90IGJlIHJlc29sdmVkLgotCQkgKiBcdGhy
b3cgU2VjdXJpdHlFcnJvciBQRVJNSVNTSU9OX0RFTklFRF9FUlJPUiB3aGVuCi0JCSAqICAgICAg
ICBhY2Nlc3MgaXMgZGVuaWVkIGJ5IHRoZSBzZWN1cml0eSBwb2xpY3kuCi0JCSAqIFx0aHJvdyBE
ZXZpY2VBUElFcnJvciBJT19FUlJPUiBpZiB0aGlzIGlzIG5vdCBhIGRpcmVjdG9yeS4KLQkJICog
XHRocm93IERldmljZUFQSUVycm9yIElPX0VSUk9SIGlmIGFueSBjaGFyYWN0ZXJzIGluIHRoZSBw
YXRoIGFyZSBub3Qgc3VwcG9ydGVkLgotCQkgKiBcdGhyb3cgRGV2aWNlQVBJRXJyb3IgSU9fRVJS
T1IgaWYgdGhlIGZpbGUgb3IgZGlyZWN0b3J5IGNhbm5vdCBiZSByZXNvbHZlZC4KLQkJICovCi0J
CUZpbGUgcmVzb2x2ZShpbiBET01TdHJpbmcgZmlsZVBhdGgpCi0JCQlyYWlzZXMoU2VjdXJpdHlF
cnJvciwgRGV2aWNlQVBJRXJyb3IpOwotCi0JCS8qKgotCQkgKiBcYnJpZWYgRGVsZXRlcyB0aGlz
IGRpcmVjdG9yeS4KLQkJICoKLQkJICogVGhpcyBmdW5jdGlvbiBhdHRlbXB0cyB0byBkZWxldGUg
YSBkaXJlY3Rvcnkgb3IgZGlyZWN0b3J5Ci0JCSAqIHRyZWUgc3luY2hyb25vdXNseSBhbmQgcmV0
dXJucyA8ZW0+dHJ1ZTwvZW0+IG9uIHN1Y2Nlc3MsCi0JCSAqIDxlbT5mYWxzZTwvZW0+IG90aGVy
d2lzZS4gSXQgbWF5IHRocm93IGFuIElPX0VSUk9SIGlmIGEKLQkJICogcmVjdXJzaXZlIGRlbGV0
aW9uIHBhcnRpYWxseSBmYWlscyBhbmQgYW55IGRlbGV0ZWQgZGF0YSBzbwotCQkgKiBmYXIgY2Fu
bm90IGJlIHJlY292ZXJlZC4gVGhpcyBtaWdodCBoYXBwZW4gZHVlIHRoZSBsYWNrIG9mCi0JCSAq
IGZpbGVzeXN0ZW0gcGVybWlzc2lvbnMgb3IgaWYgYW55IGRpcmVjdG9yaWVzIG9yIGZpbGVzIGFy
ZQotCQkgKiBvcGVuZW5lZCBieSBvdGhlciBwcm9jZXNzZXMuCi0JCSAqCi0JCSAqIFxhcGktZmVh
dHVyZSBodHRwOi8vYm9uZGkub210cC5vcmcvYXBpL2ZpbGVzeXN0ZW0ud3JpdGUKLQkJICoKLQkJ
ICogXGNvZGUKLQkJICogCXZhciBmdWxsUGF0aCA9IGRpci5mdWxsUGF0aDsKLQkJICogCWlmKGRp
ci5kZWxldGVEaXJlY3RvcnkodHJ1ZSkpIHsKLQkJICogCQkvLyBzdWJzZXF1ZW50IGFjY2Vzc2Vz
IHRvIGRpciB3aWxsIHRocm93IGFuIGVycm9yCi0JCSAqIAkJYWxlcnQoZnVsbFBhdGggKyAnIGRl
bGV0ZWQnKTsKLQkJICogCX0KLQkJICogXGVuZGNvZGUKLQkJICoKLQkJICogXHBhcmFtIHJlY3Vy
c2l2ZSA8ZW0+dHJ1ZTwvZW0+IG1lYW5zIGEgcmVjdXJzaXZlIGRlbGV0aW9uLCB0aGlzCi0JCSAq
ICAgICAgICB3aWxsIGRlc3Ryb3kgYWxsIGRhdGEgcmVjdXJzaXZlbHksIHVzZSB3aXRoIGNhdXRp
b24uCi0JCSAqIFxyZXR1cm4gPGVtPnRydWU8L2VtPiBvbiBzdWNjZXNzCi0JCSAqIFx0aHJvdyBT
ZWN1cml0eUVycm9yIFBFUk1JU1NJT05fREVOSUVEX0VSUk9SIHdoZW4KLQkJICogICAgICAgIGFj
Y2VzcyBpcyBkZW5pZWQgYnkgdGhlIHNlY3VyaXR5IHBvbGljeS4KLQkJICogXHRocm93IERldmlj
ZUFQSUVycm9yIElPX0VSUk9SIGlmIHRoaXMgaXMgYSBmaWxlLgotCQkgKiBcdGhyb3cgRGV2aWNl
QVBJRXJyb3IgSU9fRVJST1IgaWYgdGhlIGRpcmVjdG9yeSBpcyBub3QgZW1wdHkgYW5kCi0JCSAq
ICAgICAgICB0aGlzIG9wZXJhdGlvbiBpcyBub3QgcGVyZm9ybWVkIHJlY3Vyc2l2ZWx5LgotCQkg
KiBcdGhyb3cgRGV2aWNlQVBJRXJyb3IgSU9fRVJST1IgaWYgdGhlIGRpcmVjdG9yeSBvciBhbnkg
ZmlsZSBvciBzdWItZGlyZWN0b3J5IGNhbm5vdCBiZSBkZWxldGVkLgotCQkgKi8KLQkJYm9vbGVh
biBkZWxldGVEaXJlY3RvcnkoaW4gYm9vbGVhbiByZWN1cnNpdmUpCi0JCQlyYWlzZXMoU2VjdXJp
dHlFcnJvciwgRGV2aWNlQVBJRXJyb3IpOwotCi0JCS8qKgotCQkgKiBcYnJpZWYgRGVsZXRlcyB0
aGlzIGZpbGUuCi0JCSAqCi0JCSAqIFJldHVybnMgPGVtPnRydWU8L2VtPiBvbiBzdWNjZXNzLCA8
ZW0+ZmFsc2U8L2VtPiBvdGhlcndpc2UuCi0JCSAqCi0JCSAqIFxhcGktZmVhdHVyZSBodHRwOi8v
Ym9uZGkub210cC5vcmcvYXBpL2ZpbGVzeXN0ZW0ud3JpdGUKLQkJICoKLQkJICogXGNvZGUKLQkJ
ICogCXZhciBmdWxsUGF0aCA9IGRpci5mdWxsUGF0aDsKLQkJICogCWlmKGRpci5kZWxldGVGaWxl
KCkpIHsKLQkJICogCQkvLyBzdWJzZXF1ZW50IGFjY2Vzc2VzIHRvIGRpciB3aWxsIHRocm93IGFu
IGVycm9yCi0JCSAqIAkJYWxlcnQoZnVsbFBhdGggKyAnIGRlbGV0ZWQnKTsKLQkJICogCX0KLQkJ
ICogXGVuZGNvZGUKLQkJICoKLQkJICogXHJldHVybiA8ZW0+dHJ1ZTwvZW0+IG9uIHN1Y2Nlc3MK
LQkJICogXHRocm93IFNlY3VyaXR5RXJyb3IgUEVSTUlTU0lPTl9ERU5JRURfRVJST1Igd2hlbgot
CQkgKiAgICAgICAgYWNjZXNzIGlzIGRlbmllZCBieSB0aGUgc2VjdXJpdHkgcG9saWN5LgotCQkg
KiBcdGhyb3cgRGV2aWNlQVBJRXJyb3IgSU9fRVJST1IgaWYgdGhpcyBpcyBhIGRpcmVjdG9yeS4K
LQkJICogXHRocm93IERldmljZUFQSUVycm9yIElPX0VSUk9SIGlmIHRoZSBmaWxlIGNhbm5vdCBi
ZSBkZWxldGVkIGR1ZQotCQkgKiAgICAgICAgdGhlIGxhY2sgb2YgZmlsZXN5c3RlbSBwZXJtaXNz
aW9ucyBvciBpZiBpdCBpcyBsb2NrZWQgb3IKLQkJICogICAgICAgIG9wZW5lZCBieSBhbm90aGVy
IHByb2Nlc3MuCi0JCSAqLwotCQlib29sZWFuIGRlbGV0ZUZpbGUoKQotCQkJcmFpc2VzKFNlY3Vy
aXR5RXJyb3IsIERldmljZUFQSUVycm9yKTsKLQl9OwotCi0JLyoqCi0JICogXGJyaWVmIEZpbGVT
dHJlYW0gQVBJLgotCSAqCi0JICogQSBGaWxlU3RyZWFtIHJlcHJlc2VudHMgYSBoYW5kbGUgdG8g
YSBGaWxlIG9wZW5lZCBmb3IgcmVhZCBhbmQvb3IKLQkgKiB3cml0ZSBvcGVyYXRpb25zLiAgUmVh
ZCBhbmQgd3JpdGUgb3BlcmF0aW9ucyBhcmUgcGVyZm9ybWVkIHJlbGF0aXZlCi0JICogdG8gYSBm
aWxlIHBvaW50ZXIgd2hpY2ggcmVwcmVzZW50cyB0aGUgY3VycmVudCBwb3NpdGlvbiBpbiB0aGUg
ZmlsZS4KLQkgKiAKLQkgKiBBIHNlcmllcyBvZiByZWFkL3dyaXRlIG1ldGhvZHMgYXJlIGF2YWls
YWJsZSB0aGF0IHBlcm1pdCBib3RoIGJpbmFyeSBhbmQKLQkgKiB0ZXh0IHRvIGJlIHByb2Nlc3Nl
ZC4KLQkgKgotCSAqIE9uY2UgYSBmaWxlIHN0cmVhbSBpcyBjbG9zZWQsIGFueSBvcGVyYXRpb24g
YXR0ZW1wdGVkIG9uIHRoaXMgc3RyZWFtCi0JICogd2lsbCByZXN1bHQgaW4gYSBub3JtYWwgSmF2
YVNjcmlwdCBlcnJvci4KLQkgKi8KLQlpbnRlcmZhY2UgRmlsZVN0cmVhbSB7Ci0KLQkJLyoqCi0J
CSAqIFxicmllZiBJbmRpY2F0ZXMgd2hldGhlciBvciBub3QgdGhlIGN1cnJlbnQgZmlsZSBwb2lu
dGVyIGlzIGF0IHRoZSBlbmQKLQkJICogb2YgdGhlIGZpbGUuCi0JCSAqIAotCQkgKiA8ZW0+dHJ1
ZTwvZW0+IGlmIHRoZSBwb3NpdGlvbiBpcyBhdCB0aGUgZW5kIG9mIHRoZSBjdXJyZW50IGZpbGUg
c3RyZWFtLgotCQkgKgotCQkgKiBcY29kZQotCQkgKiAJaWYoc3RyZWFtLmVvZikgewotCQkgKiAJ
CS8vIGZpbGUgaGFzIGJlZW4gcmVhZCBjb21wbGV0ZWx5Ci0JCSAqIAl9Ci0JCSAqIFxlbmRjb2Rl
Ci0JCSAqLwotCQlyZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiBlb2Y7Ci0KLQkJLyoqCi0JCSAq
IFxicmllZiBHZXQvc2V0IHN0cmVhbSBwb3NpdGlvbiBmb3IgcmVhZHMvd3JpdGVzLgotCQkgKiAK
LQkJICogVGhlIHN0cmVhbSBwb3NpdGlvbiBpcyBhbiBvZmZzZXQgb2YgYnl0ZXMgZnJvbSB0aGUg
c3RhcnQgb2YKLQkJICogdGhlIGZpbGUgc3RyZWFtLiAgV2hlbiBpbnZva2luZyBhbiBvcGVyYXRp
b24gdGhhdCByZWFkcyBvcgotCQkgKiB3cml0ZXMgZnJvbSB0aGUgc3RyZWFtLCB0aGUgb3BlcmF0
aW9uIHdpbGwgdGFrZSBwbGFjZSBmcm9tCi0JCSAqIHRoZSBwb3NpdGlvbiBpbiB0aGUgcG9zaXRp
b24gYXR0cmlidXRlLgotCQkgKgotCQkgKiBcY29kZQotCQkgKiAJYWxlcnQoc3RyZWFtLnBvc2l0
aW9uKTsgLy8gZGlzcGxheXMgY3VycmVudCBzdHJlYW0gcG9zaXRpb24KLQkJICogCS8vIGFsdGVy
cyBjdXJyZW50IHN0cmVhbSBwb3NpdGlvbiB0byB0aGUgYmVnaW4gb2YgdGhlIGZpbGUsCi0JCSAq
IAkvLyBsaWtlIHNlZWsoKSBpbiBDCi0JCSAqIAlzdHJlYW0ucG9zaXRpb24gPSAwOwotCQkgKiBc
ZW5kY29kZQotCQkgKiBcdGhyb3cgRGV2aWNlQVBJRXJyb3IgSU9fRVJST1IgaWYgYSBwb3NpdGlv
biB3YXMgZ2l2ZW4gdGhhdCBpcyBvdXQgb2YgdGhlIHN0cmVhbSByYW5nZS4KLQkJICovCi0JCWF0
dHJpYnV0ZSB1bnNpZ25lZCBsb25nIHBvc2l0aW9uCi0JCQlzZXRyYWlzZXMoRGV2aWNlQVBJRXJy
b3IpOwotCi0JCS8qKgotCQkgKiBcYnJpZWYgUmV0dXJucyB0aGUgbnVtYmVyIG9mIGJ5dGVzIHRo
YXQgYXJlIGF2YWlsYWJsZSBmb3IKLQkJICogcmVhZGluZyBmcm9tIHRoZSBzdHJlYW0uCi0JCSAq
Ci0JCSAqIFRoZSBudW1iZXIgb2YgYnl0ZXMgYXZhaWxhYmxlIGZvciByZWFkaW5nIGlzIHRoZSBt
YXhpbXVtCi0JCSAqIGFtb3VudCBvZiBieXRlcyB0aGF0IGNhbiBiZSByZWFkIGluIHRoZSBuZXh0
IHJlYWQgb3BlcmF0aW9uLgotCQkgKiAKLQkJICogLTEgaWYgZW9mIGlzIDxlbT50cnVlPC9lbT4u
Ci0JCSAqCi0JCSAqIFxjb2RlCi0JCSAqIAlhbGVydChzdHJlYW0uYnl0ZXNBdmFpbGFibGUpOyAv
LyBkaXNwbGF5cyB0aGUgYXZhaWxhYmxlIGJ5dGVzIHRvIGJlIHJlYWQKLQkJICogXGVuZGNvZGUK
LQkJICovCi0JCXJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGJ5dGVzQXZhaWxhYmxl
OwotCi0JCS8qKgotCQkgKiBcYnJpZWYgQ2xvc2VzIHRoaXMgRmlsZVN0cmVhbS4KLQkJICogCi0J
CSAqIEZsdXNoZXMgYW55IHBlbmRpbmcgYnVmZmVyZWQgd3JpdGVzIGFuZCBjbG9zZXMgdGhlIEZp
bGUuIEFsd2F5cyBzdWNjZWVkcy4KLQkJICogTm90ZSB0aGF0IHBlbmRpbmcgd3JpdGVzIG1pZ2h0
IG5vdCBzdWNjZWVkLgotCQkgKgotCQkgKiBcY29kZQotCQkgKiAJc3RyZWFtLmNsb3NlKCk7IC8v
IGNsb3NlcyB0aGlzIHN0cmVhbSwgbm8gc3Vic2VxdWVudCBhY2Nlc3MgdG8gc3RyZWFtIGFsbG93
ZWQKLQkJICogXGVuZGNvZGUKLQkJICovCi0JCXZvaWQgY2xvc2UoKTsKLQotCQkvKioKLQkJICog
XGJyaWVmIFJlYWRzIHRoZSBzcGVjaWZpZWQgbnVtYmVyIG9mIGNoYXJhY3RlcnMuCi0JCSAqCi0J
CSAqIFJlYWRzIHNwZWNpZmllZCBudW1iZXIgb2YgY2hhcmFjdGVycyBhbmQgcmV0dXJucyB0aGVt
IGFzIHN0cmluZy4KLQkJICogVGhlIHJlc3VsdGluZyBzdHJpbmcgbGVuZ3RoIG1pZ2h0IGJlIHNo
b3J0ZXIgdGhhbiBjaGFyQ291bnQgaWYgZW9mCi0JCSAqIGlzIDxlbT50cnVlPC9lbT4uCi0JCSAq
Ci0JCSAqIFxjb2RlCi0JCSAqIAl2YXIgdGV4dCA9IHN0cmVhbS5yZWFkKDApOwotCQkgKiAJc3Ry
ZWFtLmNsb3NlKCk7Ci0JCSAqIFxlbmRjb2RlCi0JCSAqCi0JCSAqIFxwYXJhbSBjaGFyQ291bnQg
bnVtYmVyIG9mIGNoYXJhY3RlcnMgYmVpbmcgcmVhZCwgaWYKLQkJICogICAgICAgICAgICAgICAg
ICAgIDxlbT4wPC9lbT4gaXQgd2lsbCByZWFkIGFzIGxvbmcgYXMgYnl0ZXMgYXJlIGF2YWlsYWJs
ZS4KLQkJICogXHJldHVybiB0aGUgcmVzdWx0IG9mIHJlYWQgY2hhcmFjdGVycyBhcyBhIHN0cmlu
Zy4KLQkJICogXHRocm93IERldmljZUFQSUVycm9yIElPX0VSUk9SIGlmIGFuIGVycm9yIG9jY3Vy
cyBkdXJpbmcgcmVhZC4KLQkJICovCi0JCURPTVN0cmluZyByZWFkKGluIHVuc2lnbmVkIGxvbmcg
Y2hhckNvdW50KQotCQkJcmFpc2VzKERldmljZUFQSUVycm9yKTsKLQotCQkvKioKLQkJICogXGJy
aWVmIFJlYWRzIHRoZSBzcGVjaWZpZWQgbnVtYmVyIG9mIGJ5dGVzIGZyb20gdGhpcyBGaWxlU3Ry
ZWFtLgotCQkgKgotCQkgKiBJZiAwIGlzIHN1cHBsaWVkIGl0IHdpbGwgcmVhZCBhbGwgYXZhaWxh
YmxlIGJ5dGVzIGluIGEKLQkJICogc2luZ2xlIHJlYWQgb3BlcmF0aW9uLgotCQkgKgotCQkgKiBc
Y29kZQotCQkgKiAJLy8gcmVhZHMgdXAgdG8gMjU2IGJ5dGVzIGZyb20gdGhlIHN0cmVhbQotCQkg
KiAJdmFyIHJhdyA9IHN0cmVhbS5yZWFkQnl0ZXMoMjU2KTsKLQkJICogCWZvcih2YXIgaSA9IDA7
IGkgJmx0OyByYXcubGVuZ3RoOyBpKyspIHsKLQkJICogCQkvLyByYXdbaV0gY29udGFpbnMgdGhl
IGktdGggYnl0ZSBvZiB0aGUgY3VycmVudCBkYXRhIGNodW5rCi0JCSAqIAl9Ci0JCSAqIFxlbmRj
b2RlCi0JCSAqCi0JCSAqIFxwYXJhbSBieXRlQ291bnQgbnVtYmVyIG9mIGJ5dGVzIGJlaW5nIHJl
YWQuIE11c3Qgbm90IGJlIDxlbT4wPC9lbT4uCi0JCSAqIFxyZXR1cm4gdGhlIHJlc3VsdCBvZiBy
ZWFkIGJ5dGVzIGFzIGEgYnl0ZSAob3IgbnVtYmVyKSBhcnJheS4KLQkJICogXHRocm93IERldmlj
ZUFQSUVycm9yIElPX0VSUk9SIGlmIGFuIGVycm9yIG9jY3VycyBkdXJpbmcgcmVhZEJ5dGVzLgot
CQkgKi8KLQkJQnl0ZUFycmF5IHJlYWRCeXRlcyhpbiB1bnNpZ25lZCBsb25nIGJ5dGVDb3VudCkK
LQkJCXJhaXNlcyhEZXZpY2VBUElFcnJvcik7Ci0KLQkJLyoqCi0JCSAqIFxicmllZiBSZWFkcyB0
aGUgc3BlY2lmaWVkIG51bWJlciBvZiBieXRlcyBmcm9tIHRoaXMgRmlsZVN0cmVhbSwgZW5jb2Rp
bmcKLQkJICogdGhlIHJlc3VsdCBpbiBiYXNlNjQuCi0JCSAqCi0JCSAqIElmIDAgaXMgc3VwcGxp
ZWQgaXQgd2lsbCByZWFkIGFsbCBhdmFpbGFibGUgYnl0ZXMgaW4gYQotCQkgKiBzaW5nbGUgcmVh
ZCBvcGVyYXRpb24uCi0JCSAqCi0JCSAqIFxjb2RlCi0JCSAqIAkvLyByZWFkcyB1cCB0byAyNTYg
Ynl0ZXMgZnJvbSB0aGUgc3RyZWFtCi0JCSAqIAl2YXIgYmFzZTY0ID0gc3RyZWFtLnJlYWRCYXNl
NjQoMjU2KTsKLQkJICogXGVuZGNvZGUKLQkJICoKLQkJICogXHBhcmFtIGJ5dGVDb3VudCBudW1i
ZXIgb2YgYnl0ZXMgYmVpbmcgcmVhZC4gTXVzdCBub3QgYmUgPGVtPjA8L2VtPi4KLQkJICogXHJl
dHVybiB0aGUgcmVzdWx0IG9mIHJlYWQgYnl0ZXMgYXMgYmFzZTY0IGVuY29kaW5nIHN0cmluZy4K
LQkJICogXHRocm93IERldmljZUFQSUVycm9yIElPX0VSUk9SIGlmIGFuIGVycm9yIG9jY3VycyBk
dXJpbmcgcmVhZEJhc2U2NC4KLQkJICovCi0JCURPTVN0cmluZyByZWFkQmFzZTY0KGluIHVuc2ln
bmVkIGxvbmcgYnl0ZUNvdW50KQotCQkJcmFpc2VzKERldmljZUFQSUVycm9yKTsKLQotCQkvKioK
LQkJICogXGJyaWVmIFdyaXRlcyB0aGUgc3BlY2lmaWVkIERPTVN0cmluZyB0byB0aGlzIEZpbGVT
dHJlYW0uCi0JCSAqCi0JCSAqIFxjb2RlCi0JCSAqIAl2YXIgdGV4dCA9ICJIZWxsbyB3b3JsZCI7
Ci0JCSAqIAlzdHJlYW0ud3JpdGUodGV4dCk7Ci0JCSAqIFxlbmRjb2RlCi0JCSAqCi0JCSAqIFxw
YXJhbSBzdHJpbmdEYXRhIHRoZSBhY3R1YWwgc3RyaW5nIHRvIGJlIHdyaXR0ZW4uCi0JCSAqIFx0
aHJvdyBEZXZpY2VBUElFcnJvciBJT19FUlJPUiBpZiBhbiBlcnJvciBvY2N1cnMgZHVyaW5nIHdy
aXRlLgotCQkgKi8KLQkJdm9pZCB3cml0ZShpbiBET01TdHJpbmcgc3RyaW5nRGF0YSkKLQkJCXJh
aXNlcyhEZXZpY2VBUElFcnJvcik7Ci0KLQkJLyoqCi0JCSAqIFxicmllZiBXcml0ZXMgdGhlIHNw
ZWNpZmllZCBieXRlcyB0byB0aGlzIEZpbGVTdHJlYW0uCi0JCSAqCi0JCSAqIFxjb2RlCi0JCSAq
IAl2YXIgYnl0ZXMgPSBpbi5yZWFkQnl0ZXMoMjU2KTsKLQkJICogCW91dC53cml0ZUJ5dGVzKGJ5
dGVzKTsgLy8gd3JpdGVzIHRoZSBieXRlcyByZWFkIGZyb20gaW4gdG8gb3V0Ci0JCSAqIFxlbmRj
b2RlCi0JCSAqCi0JCSAqIFxwYXJhbSBieXRlRGF0YSB0aGUgYnl0ZSBkYXRhIGFycmF5IGJlaW5n
IHdyaXR0ZW4uCi0JCSAqIFx0aHJvdyBEZXZpY2VBUElFcnJvciBJT19FUlJPUiBpZiBhbiBlcnJv
ciBvY2N1cnMgZHVyaW5nIHdyaXRlQnl0ZXMuCi0JCSAqLwotCQl2b2lkIHdyaXRlQnl0ZXMoaW4g
Qnl0ZUFycmF5IGJ5dGVEYXRhKQotCQkJcmFpc2VzKERldmljZUFQSUVycm9yKTsKLQotCQkvKioK
LQkJICogXGJyaWVmIENvbnZlcnRzIHRoZSBzcGVjaWZpZWQgYmFzZTY0IERPTVN0cmluZyB0byBi
eXRlcyBhbmQgd3JpdGVzIHRoZSAKLQkJICogcmVzdWx0IHRvIHRoaXMgRmlsZVN0cmVhbS4KLQkJ
ICoKLQkJICogXGNvZGUKLQkJICogCXZhciBiYXNlNjQgPSBpbi5yZWFkQmFzZTY0KDI1Nik7Ci0J
CSAqIAlvdXQud3JpdGVCYXNlNjQoYmFzZTY0KTsgLy8gd3JpdGVzIHRoZSBiYXNlNjQgZGF0YSBy
ZWFkIGZyb20gaW4gdG8gb3V0Ci0JCSAqIFxlbmRjb2RlCi0JCSAqCi0JCSAqIFxwYXJhbSBiYXNl
NjREYXRhIHRoZSBiYXNlNjQgZGF0YSBiZWluZyB3cml0dGVuLgotCQkgKiBcdGhyb3cgRGV2aWNl
QVBJRXJyb3IgSU9fRVJST1IgaWYgYW4gZXJyb3Igb2NjdXJzIGR1cmluZyB3cml0ZUJhc2U2NC4K
LQkJICovCi0JCXZvaWQgd3JpdGVCYXNlNjQoaW4gRE9NU3RyaW5nIGJhc2U2NERhdGEpCi0JCQly
YWlzZXMoRGV2aWNlQVBJRXJyb3IpOwotCX07Ci0KLSAgLyoqCi0gICAqIFxicmllZiBTcGVjaWZp
ZXMgd2hhdCBpcyBpbnN0YW50aWF0ZWQgYXQgZmVhdHVyZSByZXF1ZXN0Ci0gICAqIFxkZWYtaW5z
dGFudGlhdGVkCi0gICAqIFxhcGktZmVhdHVyZSBodHRwOi8vYm9uZGkub210cC5vcmcvYXBpL2Zp
bGVzeXN0ZW0ucmVhZAotICAgKiBcYXBpLWZlYXR1cmUgaHR0cDovL2JvbmRpLm9tdHAub3JnL2Fw
aS9maWxlc3lzdGVtLndyaXRlCi0gICAqLwotCWludGVyZmFjZSBGaWxlU3lzdGVtTWFuYWdlck9i
amVjdCB7Ci0JCXJlYWRvbmx5IGF0dHJpYnV0ZSBGaWxlU3lzdGVtTWFuYWdlciBmaWxlU3lzdGVt
TWFuYWdlcjsgCi0JfTsKLQlib25kaSBpbXBsZW1lbnRzIEZpbGVTeXN0ZW1NYW5hZ2VyT2JqZWN0
OwotCi19OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL2V4YW1wbGVzL3NwZWN0b3dp
ZGwueHNsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL2V4YW1wbGVzL3NwZWN0b3dpZGwueHNsCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0NDI1Mjc3MDk0MC4uMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3dpZGxwcm9jL2V4YW1wbGVzL3NwZWN0b3dpZGwueHNsCisrKyAvZGV2L251bGwK
QEAgLTEsMjcgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4K
LTwhLS09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotJElkJAotQ29weXJpZ2h0IDIwMDkgQXBsaXggQ29ycG9yYXRpb24u
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCi1MaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2Us
IFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKLXlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUg
ZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KLVlvdSBtYXkgb2J0YWluIGEg
Y29weSBvZiB0aGUgTGljZW5zZSBhdAotICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNl
cy9MSUNFTlNFLTIuMAotVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVl
ZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQotZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2Ug
aXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKLVdJVEhPVVQgV0FSUkFOVElFUyBP
UiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgotU2Vl
IHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Np
b25zIGFuZAotbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCi0KLVhTTFQgc3R5bGVzaGVl
dCB0byBleHRyYWN0IFdlYiBJREwgc25pcHBldHMgZnJvbSBXZWIgSURMIHNwZWMuIAotPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09LS0+Ci08eHNsOnN0eWxlc2hlZXQgeG1sbnM6eHNsPSJodHRwOi8vd3d3LnczLm9yZy8x
OTk5L1hTTC9UcmFuc2Zvcm0iIHZlcnNpb249IjEuMCI+Ci08eHNsOm91dHB1dCBtZXRob2Q9InRl
eHQiIGVuY29kaW5nPSJ1dGYtOCIvPgotCi08eHNsOnRlbXBsYXRlIG1hdGNoPSJjb2RlW0BjbGFz
cz0naWRsLWNvZGUnXSI+Ci0gICAgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9Ii4iLz48eHNsOnRleHQ+
Ci08L3hzbDp0ZXh0PgotPC94c2w6dGVtcGxhdGU+Ci0KLTx4c2w6dGVtcGxhdGUgbWF0Y2g9InRl
eHQoKSIvPgotCi08L3hzbDpzdHlsZXNoZWV0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxw
cm9jL2V4YW1wbGVzL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL2V4YW1wbGVz
L3czYy1pbXBvcnQubG9nCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxYzliZjVhZTEz
Mi4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL2V4YW1wbGVzL3czYy1pbXBv
cnQubG9nCisrKyAvZGV2L251bGwKQEAgLTEsMjMgKzAsMCBAQAotVGhlIHRlc3RzIGluIHRoaXMg
ZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCi1EbyBOT1Qg
bW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQsIGNyZWF0ZSBh
IHB1bGwgcmVxdWVzdCBvbiB0aGUgVzNDIENTUyBvciBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0
aHViLmNvbS93M2MvY3Nzd2ctdGVzdAotCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzCi0KLVRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMg
aW4gV2ViS2l0IHRvIHJlaW1wb3J0Ci0KLURvIE5PVCBtb2RpZnkgb3IgcmVtb3ZlIHRoaXMgZmls
ZS4KLQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1Qcm9wZXJ0aWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4
ZXM6Ci1Ob25lCi1Qcm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKLU5v
bmUKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLQotTGlzdCBvZiBmaWxlczoKLS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mv
ZXhhbXBsZXMvTWFrZWZpbGUKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvZXhhbXBsZXMvUkVBRE1FCi0v
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3dpZGxwcm9jL2V4YW1wbGVzL2JvbmRpLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHBy
b2MvZXhhbXBsZXMvZmlsZXN5c3RlbS53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL2V4YW1wbGVz
L3NwZWN0b3dpZGwueHNsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL2V4YW1wbGVzL3dpZGxodG1sLmNz
cwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL2V4YW1wbGVzL3dpZGxodG1sLmNzcyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC93aWRscHJvYy9leGFtcGxlcy93aWRsaHRtbC5jc3MKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDg1NDMwOTdhM2NjLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
d2lkbHByb2MvZXhhbXBsZXMvd2lkbGh0bWwuY3NzCisrKyAvZGV2L251bGwKQEAgLTEsMTAwICsw
LDAgQEAKLWJvZHkgewotICBwYWRkaW5nOiAyZW07Ci0gIG1hcmdpbjogMDsKLSAgZm9udC1mYW1p
bHk6IHNhbnMtc2VyaWY7Ci0gIGNvbG9yOiBibGFjazsKLSAgYmFja2dyb3VuZDogd2hpdGU7Ci0g
IGJhY2tncm91bmQtcG9zaXRpb246IHRvcCBsZWZ0OwotICBiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6
IGZpeGVkOwotICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OwotfQotOmxpbmsgeyBjb2xv
cjogIzAwQzsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgfQotOnZpc2l0ZWQgeyBjb2xvcjogIzYw
OTsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgfQotYTphY3RpdmUgeyBjb2xvcjogI0MwMDsgYmFj
a2dyb3VuZDogdHJhbnNwYXJlbnQgfQotYTpsaW5rIGltZywgYTp2aXNpdGVkIGltZyB7IGJvcmRl
ci1zdHlsZTogbm9uZSB9IC8qIG5vIGJvcmRlciBvbiBpbWcgbGlua3MgKi8KLQotaDEsIGgyLCBo
MywgaDQsIGg1LCBoNiB7IHRleHQtYWxpZ246IGxlZnQgfQotLyogYmFja2dyb3VuZCBzaG91bGQg
YmUgdHJhbnNwYXJlbnQsIGJ1dCBXZWJUViBoYXMgYSBidWcgKi8KLWgxLCBoMiwgaDMgeyBjb2xv
cjogIzAwOTM5MzsgYmFja2dyb3VuZDogd2hpdGUgfQotaDEgeyBmb250OiAxNzAlIHNhbnMtc2Vy
aWYgfQotaDIgeyBmb250OiAxNDAlIHNhbnMtc2VyaWYgfQotaDMgeyBmb250OiAxMjAlIHNhbnMt
c2VyaWYgfQotaDQgeyBmb250OiBib2xkIDEwMCUgc2Fucy1zZXJpZiB9Ci1oNSB7IGZvbnQ6IGl0
YWxpYyAxMDAlIHNhbnMtc2VyaWYgfQotaDYgeyBmb250OiBzbWFsbC1jYXBzIDEwMCUgc2Fucy1z
ZXJpZjsgbWFyZ2luLWJvdHRvbTogMCB9Ci0KLS5oaWRlIHsgZGlzcGxheTogbm9uZSB9Ci0KLWNv
ZGUgeyBmb250LXNpemU6IDEyMCUgfQotCi11bC50b2MsIG9sLnRvYywgdWwuYXV0aG9ycyB7Ci0g
IGxpc3Qtc3R5bGU6IG5vbmU7Ci19Ci0KLS5oaWRlIHsgZGlzcGxheTogbm9uZSB9Ci0KLWRpdi5o
ZWFkIHsgbWFyZ2luLWJvdHRvbTogMWVtIH0KLWRpdi5oZWFkIGgxIHsgbWFyZ2luLXRvcDogMmVt
OyBjbGVhcjogYm90aCB9Ci1kaXYuaGVhZCB0YWJsZSB7IG1hcmdpbi1sZWZ0OiAyZW07IG1hcmdp
bi10b3A6IDJlbSB9Ci1kaXYuY29uc3RyYWludCwgZGl2Lmlzc3VlLCBkaXYubm90ZSwgZGl2Lm5v
dGljZSAgICAgeyBtYXJnaW4tbGVmdDogMmVtOyB9Ci1kaXYuZXhhbXBsZUlubmVyIHByZSB7IG1h
cmdpbi1sZWZ0OiAxZW07IG1hcmdpbi10b3A6IDBlbTsgbWFyZ2luLWJvdHRvbTogMGVtfQotZGl2
LmV4YW1wbGVPdXRlciB7Ym9yZGVyOiA0cHggZG91YmxlIGdyYXk7IG1hcmdpbjogMGVtOyBwYWRk
aW5nOiAwZW19Ci1kaXYuZXhhbXBsZUlubmVyIHsgYmFja2dyb3VuZC1jb2xvcjogI2Q1ZGVlMzsK
LSAgICAgCSAgICAgICAgICAgYm9yZGVyLXRvcC13aWR0aDogNHB4OwotICAgICAgIAkgICAgICAg
ICAgIGJvcmRlci10b3Atc3R5bGU6IGRvdWJsZTsKLSAgICAgICAJICAgICAgICAgICBib3JkZXIt
dG9wLWNvbG9yOiAjZDNkM2QzOwotICAgICAgIAkgICAgICAgICAgIGJvcmRlci1ib3R0b20td2lk
dGg6IDRweDsKLSAgICAgICAJICAgICAgICAgICBib3JkZXItYm90dG9tLXN0eWxlOiBkb3VibGU7
Ci0gICAgICAgCSAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2QzZDNkMzsKLSAgICAg
ICAJICAgICAgICAgICBwYWRkaW5nOiA0cHg7IG1hcmdpbjogMGVtIH0KLWRpdi5leGFtcGxlV3Jh
cHBlciB7IG1hcmdpbjogNHB4IH0KLWRpdi5leGFtcGxlSGVhZGVyIHsgZm9udC13ZWlnaHQ6IGJv
bGQ7IG1hcmdpbjogNHB4fQotZGl2LnRlcm0geyBmb250OiAxMDAlIHNhbnMtc2VyaWY7IGNvbG9y
OiMwMDAwMDA7IGZvbnQtd2VpZ2h0OiBib2xkOyBsaW5lLWhlaWdodDogNjAlfSAgIAotZGl2Lmxp
c3QgeyBmb250OiAxMDAlIHNhbnMtc2VyaWY7IGNvbG9yOiMwMDAwMDA7IGZvbnQtd2VpZ2h0OiBu
b3JtYWw7IGxpbmUtaGVpZ2h0OiA2MCV9IAotCi0ub3B0aW9uYWwge3RleHQtZGVjb3JhdGlvbjog
bGluZS10aHJvdWdoOyBkaXNwbGF5OiBub25lO30KLQotLmNvcHlyaWdodCwubGVnYWxub3RpY2Ug
eyBmb250LXNpemU6IHNtYWxsIH0KLS5jb3B5cmlnaHQgc21hbGwgeyBmb250LXNpemU6IHNtYWxs
IH0KLQotQG1lZGlhIHNjcmVlbiB7ICAvKiBoaWRlIGZyb20gSUUzICovCi1hW2hyZWZdOmhvdmVy
IHsgYmFja2dyb3VuZDogI2ZmYSB9Ci19Ci0KLW9sLmVudW1hciAgICAgIHsgbGlzdC1zdHlsZS10
eXBlOiBkZWNpbWFsOyB9Ci1vbC5lbnVtbGEgICAgICB7IGxpc3Qtc3R5bGUtdHlwZTogbG93ZXIt
YWxwaGE7IH0KLW9sLmVudW1sciAgICAgIHsgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1yb21hbjsg
fQotb2wuZW51bXVhICAgICAgeyBsaXN0LXN0eWxlLXR5cGU6IHVwcGVyLWFscGhhOyB9Ci1vbC5l
bnVtdXIgICAgICB7IGxpc3Qtc3R5bGUtdHlwZTogdXBwZXItcm9tYW47IH0KLQotLyogQk9OREkg
YWRkaXRpb25zICovCi0KLS50b2MgewotICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsKLX0KLQot
cHJlIHsKLSAgYmFja2dyb3VuZC1jb2xvcjojRDVERUUzOwotICBvdmVyZmxvdzogYXV0bzsKLSAg
cGFkZGluZzogMWVtOwotfQotCi0uZXhhbXBsZWNvZGUgewotICAgIGJhY2tncm91bmQtY29sb3I6
ICNFRUU7Ci19Ci0KLS5kZWYtYXBpLWZlYXR1cmUtc2V0IGR0LCAuZGVmLWFwaS1mZWF0dXJlIGR0
LCBkdCAuZGVmLWRldmljZS1jYXAsIGR0LmNvbnN0IGNvZGUgeyBmb250OiBib2xkIDEwMCUgc2Fu
cy1zZXJpZjsgfQotZHQuYXR0cmlidXRlIGNvZGUsIGR0Lm1ldGhvZCBjb2RlIHsgZm9udDogaXRh
bGljIDEwMCUgc2Fucy1zZXJpZjsgfQotCi0uZGVmLWRldmljZS1jYXBzIGRkIHsgbWFyZ2luLWJv
dHRvbTogMmVtIH0KLQotZHQubWV0aG9kIHsgbWFyZ2luLXRvcDogMmVtIH0KLQotLnN1bW1hcnkg
dGQgewotICAgIHRleHQtYWxpZ246IGxlZnQ7Ci0gICAgYmFja2dyb3VuZC1jb2xvcjogI0JCRERE
RDsKLSAgICBjb2xvcjogaW5oZXJpdDsKLSAgICBmb250LWZhbWlseTogbW9ub3NwYWNlOwotICAg
IHdoaXRlLXNwYWNlOnByZTsKLSAgICBwYWRkaW5nOiAuM2VtIDFlbSAuM2VtIDFlbTsKLX0KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9zcmMvY29tbWVudC5jIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dp
ZGxwcm9jL3NyYy9jb21tZW50LmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDYyMmE3
YmVhN2I0Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mvc3JjL2NvbW1lbnQu
YworKysgL2Rldi9udWxsCkBAIC0xLDE4MjcgKzAsMCBAQAotLyoqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiAk
SWQkCi0gKiBDb3B5cmlnaHQgMjAwOSBBcGxpeCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KLSAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAg
KHRoZSAiTGljZW5zZSIpOwotICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4g
Y29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgotICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9m
IHRoZSBMaWNlbnNlIGF0Ci0gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJ
Q0VOU0UtMi4wCi0gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVk
IHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCi0gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5z
ZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAotICogV0lUSE9VVCBXQVJSQU5U
SUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQu
Ci0gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcg
cGVybWlzc2lvbnMgYW5kCi0gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KLSAqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKi8KLSNpbmNsdWRlIDxhc3NlcnQuaD4KLSNpbmNsdWRlIDxzdHJpbmcuaD4KLSNp
bmNsdWRlIDxzdGRpby5oPgotCi0jaW5jbHVkZSAiY29tbWVudC5oIgotI2luY2x1ZGUgImVudGl0
aWVzLmgiCi0jaW5jbHVkZSAibGV4LmgiCi0jaW5jbHVkZSAibWlzYy5oIgotI2luY2x1ZGUgIm5v
ZGUuaCIKLSNpbmNsdWRlICJvcy5oIgotI2luY2x1ZGUgInByb2Nlc3MuaCIKLQotLyogc3RydWN0
IGNub2RlIDogYSBub2RlIGluIHRoZSBjb21tZW50IHBhcnNlIHRyZWUgKi8KLXN0cnVjdCBjbm9k
ZSB7Ci0gICAgc3RydWN0IGNub2RlICpuZXh0OwotICAgIHN0cnVjdCBjbm9kZSAqY2hpbGRyZW47
Ci0gICAgc3RydWN0IGNub2RlICpwYXJlbnQ7Ci0gICAgY29uc3Qgc3RydWN0IGNub2RlZnVuY3Mg
KmZ1bmNzOwotICAgIGNvbnN0IGNoYXIgKmF0dHJ0ZXh0OwotICAgIGNvbnN0IGNoYXIgKmZpbGVu
YW1lOwotICAgIHVuc2lnbmVkIGludCBsaW5lbnVtOwotfTsKLQotc3RydWN0IGNub2RlZnVuY3Mg
ewotICAgIGludCBpbmRlc2M7IC8qIG5vbi16ZXJvIGlmIGl0IG91dHB1dHMgaXRzIG93biB4bWwg
ZWxlbWVudCB0aGF0IGRvZXMKLSAgICAgICAgICAgICAgICAgICAgICBub3Qgd2FudCB0byBiZSBp
bnNpZGUgPGRlc2NyaXB0aW9uPiAqLwotICAgIGludCBuZWVkcGFyYTsgLyogbm9uLXplcm8gaWYg
dGV4dCBtdXN0IGJlIGluIGEgcGFyYSBub2RlIHRoYXQgaXMgYSBjaGlsZAotICAgICAgICAgICAg
ICAgICAgICAgb2YgdGhpcyBvbmUgKi8KLSAgICBpbnQgKCphc2tlbmQpKHN0cnVjdCBjbm9kZSAq
Y25vZGUsIGNvbnN0IHN0cnVjdCBjbm9kZWZ1bmNzICp0eXBlKTsKLSAgICB2b2lkICgqZW5kKShz
dHJ1Y3QgY25vZGUgKmNub2RlKTsKLSAgICB2b2lkICgqb3V0cHV0KShzdHJ1Y3QgY25vZGUgKmNu
b2RlLCB1bnNpZ25lZCBpbnQgaW5kZW50KTsKLX07Ci0KLXN0cnVjdCBwYXJhbWNub2RlIHsKLSAg
ICBzdHJ1Y3QgY25vZGUgY247Ci0gICAgaW50IGlub3V0OwotICAgIGNoYXIgbmFtZVsxXTsKLX07
Ci0KLS8qIHN0cnVjdCBjb21tZW50IDogYSBkb3h5Z2VuIGNvbW1lbnQgKi8KLXN0cnVjdCBjb21t
ZW50IHsKLSAgICBzdHJ1Y3QgY29tbWVudCAqbmV4dDsKLSAgICBzdHJ1Y3Qgbm9kZSAqbm9kZTsK
LSAgICB1bnNpZ25lZCBpbnQgdHlwZTsKLSAgICBjb25zdCBjaGFyICpmaWxlbmFtZTsKLSAgICB1
bnNpZ25lZCBpbnQgbGluZW51bTsKLSAgICBzdHJ1Y3QgY25vZGUgcm9vdDsKLSAgICBpbnQgYmFj
azsgLyogV2hldGhlciB0aGUgY29tbWVudCByZWZlcnMgYmFjayByYXRoZXIgdGhhbiBmb3J3YXJk
LiAqLwotICAgIGNoYXIgKnRleHQ7Ci19OwotCi0KLXN0YXRpYyBzdHJ1Y3Qgbm9kZSAqbGFzdGlk
ZW50aWZpZXI7Ci1zdGF0aWMgc3RydWN0IGNvbW1lbnQgKmNvbW1lbnRzOwotc3RhdGljIGludCBp
bmNvZGUsIGluaHRtbGJsb2NrOwotc3RhdGljIHN0cnVjdCBjb21tZW50ICpjdXJjb21tZW50Owot
Ci0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioKLSAqIGh0bWxlbGRlc2NzIDogdGFibGUgb2YgcmVjbm9naXplZCBI
VE1MIGVsZW1lbnRzCi0gKi8KLSNkZWZpbmUgSFRNTEVMX0VNUFRZIDEKLSNkZWZpbmUgSFRNTEVM
X0lOTElORSAyCi0jZGVmaW5lIEhUTUxFTF9CTE9DSyA0Ci0jZGVmaW5lIEhUTUxFTF9BVVRPQ0xP
U0UgOAotI2RlZmluZSBIVE1MRUxfTEkgMHgxMAotI2RlZmluZSBIVE1MRUxfRExDT05URU5UUyAw
eDIwCi0jZGVmaW5lIEhUTUxFTF9UQUJMRUNPTlRFTlRTIDB4NDAKLSNkZWZpbmUgSFRNTEVMX1RS
Q09OVEVOVFMgMHg4MAotCi0jZGVmaW5lIEhUTUxFTF9GTE9XIChIVE1MRUxfQkxPQ0sgfCBIVE1M
RUxfSU5MSU5FKQotCi1zdHJ1Y3QgaHRtbGVsZGVzYyB7Ci0gICAgdW5zaWduZWQgaW50IG5hbWVs
ZW47Ci0gICAgY29uc3QgY2hhciAqbmFtZTsKLSAgICB1bnNpZ25lZCBpbnQgZmxhZ3M7Ci0gICAg
dW5zaWduZWQgaW50IGNvbnRlbnQ7Ci19OwotCi1zdGF0aWMgY29uc3Qgc3RydWN0IGh0bWxlbGRl
c2MgaHRtbGVsZGVzY3NbXSA9IHsKLSAgICB7IDEsICJhIiwgSFRNTEVMX0lOTElORSwgMCB9LAot
ICAgIHsgMSwgImIiLCBIVE1MRUxfSU5MSU5FLCAwIH0sCi0gICAgeyAyLCAiYnIiLCBIVE1MRUxf
SU5MSU5FLCBIVE1MRUxfRU1QVFkgfSwKLSAgICB7IDMsICJpbWciLCBIVE1MRUxfSU5MSU5FLCBI
VE1MRUxfRU1QVFkgfSwKLSAgICB7IDIsICJkZCIsIEhUTUxFTF9ETENPTlRFTlRTLCBIVE1MRUxf
RkxPVyB9LAotICAgIHsgMiwgImRsIiwgSFRNTEVMX0JMT0NLLCBIVE1MRUxfRExDT05URU5UUyB9
LAotICAgIHsgMiwgImR0IiwgSFRNTEVMX0RMQ09OVEVOVFMsIEhUTUxFTF9JTkxJTkUgfSwKLSAg
ICB7IDIsICJlbSIsIEhUTUxFTF9JTkxJTkUsIDAgfSwKLSAgICB7IDIsICJsaSIsIEhUTUxFTF9M
SSwgSFRNTEVMX0ZMT1cgfSwKLSAgICB7IDIsICJvbCIsIEhUTUxFTF9CTE9DSywgSFRNTEVMX0xJ
IH0sCi0gICAgeyAxLCAicCIsIEhUTUxFTF9CTE9DSywgSFRNTEVMX0lOTElORSB9LAotICAgIHsg
MiwgInRkIiwgSFRNTEVMX1RSQ09OVEVOVFMgfCBIVE1MRUxfQVVUT0NMT1NFLCBIVE1MRUxfRkxP
VyB9LAotICAgIHsgMiwgInRoIiwgSFRNTEVMX1RSQ09OVEVOVFMgfCBIVE1MRUxfQVVUT0NMT1NF
LCBIVE1MRUxfRkxPVyB9LAotICAgIHsgMiwgInRyIiwgSFRNTEVMX1RBQkxFQ09OVEVOVFMgfCBI
VE1MRUxfQVVUT0NMT1NFLCBIVE1MRUxfVFJDT05URU5UUyB9LAotICAgIHsgNSwgInRhYmxlIiwg
SFRNTEVMX0JMT0NLLCBIVE1MRUxfVEFCTEVDT05URU5UUyB9LAotICAgIHsgMiwgInVsIiwgSFRN
TEVMX0JMT0NLLCBIVE1MRUxfTEkgfSwKLSAgICB7IDAsIDAsIDAsIDAgfQotfTsKLSNkZWZpbmUg
SFRNTEVMREVTQ19CIChodG1sZWxkZXNjcyArIDEpCi0jZGVmaW5lIEhUTUxFTERFU0NfQlIgKGh0
bWxlbGRlc2NzICsgMikKLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBhZGRjb21tZW50IDogYWRkIGEg
Y29tbWVudCB0byB0aGUgbGlzdCBvZiBjb21tZW50cyBpZiBpdCBoYXMgZG94eWdlbiBzeW50YXgK
LSAqCi0gKiBFbnRlcjogICB0b2sgc3RydWN0Ci0gKi8KLXZvaWQKLWFkZGNvbW1lbnQoc3RydWN0
IHRvayAqdG9rKQotewotICAgIGlmICh0b2stPmxlbiA+PSAxICYmICh0b2stPnN0YXJ0WzBdID09
ICchJwotICAgICAgICB8fCAodG9rLT50eXBlID09IFRPS19CTE9DS0NPTU1FTlQgJiYgdG9rLT5z
dGFydFswXSA9PSAnKicpCi0gICAgICAgIHx8ICh0b2stPnR5cGUgPT0gVE9LX0lOTElORUNPTU1F
TlQgJiYgdG9rLT5zdGFydFswXSA9PSAnLycpKSkKLSAgICB7Ci0gICAgICAgIHN0cnVjdCBjb21t
ZW50ICpjb21tZW50OwotICAgICAgICBjb21tZW50ID0gbWVtYWxsb2Moc2l6ZW9mKHN0cnVjdCBj
b21tZW50KSk7Ci0gICAgICAgIGNvbW1lbnQtPnRleHQgPSBtZW1hbGxvYyh0b2stPmxlbiArIDEp
OwotICAgICAgICBtZW1jcHkoY29tbWVudC0+dGV4dCwgdG9rLT5zdGFydCwgdG9rLT5sZW4pOwot
ICAgICAgICBjb21tZW50LT50ZXh0W3Rvay0+bGVuXSA9IDA7Ci0gICAgICAgIGNvbW1lbnQtPnR5
cGUgPSB0b2stPnR5cGU7Ci0gICAgICAgIGNvbW1lbnQtPmZpbGVuYW1lID0gdG9rLT5maWxlbmFt
ZTsKLSAgICAgICAgY29tbWVudC0+bGluZW51bSA9IHRvay0+bGluZW51bTsKLSAgICAgICAgY29t
bWVudC0+bm9kZSA9IDA7Ci0gICAgICAgIGNvbW1lbnQtPmJhY2sgPSAwOwotICAgICAgICBpZiAo
Y29tbWVudC0+dGV4dFsxXSA9PSAnPCcpIHsKLSAgICAgICAgICAgIGNvbW1lbnQtPmJhY2sgPSAx
OwotICAgICAgICAgICAgaWYgKCFsYXN0aWRlbnRpZmllcikgewotICAgICAgICAgICAgICAgIGxv
Y2Vycm9yZXhpdChjb21tZW50LT5maWxlbmFtZSwgY29tbWVudC0+bGluZW51bSwKLSAgICAgICAg
ICAgICAgICAgICAgIm5vIGlkZW50aWZpZXIgdG8gYXR0YWNoIGRveHlnZW4gY29tbWVudCB0byIp
OwotICAgICAgICAgICAgfQotICAgICAgICAgICAgY29tbWVudC0+bm9kZSA9IGxhc3RpZGVudGlm
aWVyOwotICAgICAgICB9Ci0gICAgICAgIGNvbW1lbnQtPm5leHQgPSBjb21tZW50czsKLSAgICAg
ICAgY29tbWVudHMgPSBjb21tZW50OwotICAgIH0KLX0KLQotLyoqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBz
ZXRjb21tZW50bm9kZSA6IHNldCBwYXJzZSBub2RlIHRvIGF0dGFjaCBjb21tZW50cyB0bwotICoK
LSAqIEVudGVyOiAgIG5vZGUyID0gcGFyc2Ugbm9kZSBmb3IgaWRlbnRpZmllcgotICovCi12b2lk
Ci1zZXRjb21tZW50bm9kZShzdHJ1Y3Qgbm9kZSAqbm9kZTIpCi17Ci0gICAgc3RydWN0IGNvbW1l
bnQgKmNvbW1lbnQgPSBjb21tZW50czsKLSAgICB3aGlsZSAoY29tbWVudCAmJiAhY29tbWVudC0+
bm9kZSkgewotICAgICAgICBjb21tZW50LT5ub2RlID0gbm9kZTI7Ci0gICAgICAgIGNvbW1lbnQg
PSBjb21tZW50LT5uZXh0OwotICAgIH0KLSAgICBsYXN0aWRlbnRpZmllciA9IG5vZGUyOwotfQot
Ci0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioKLSAqIGpvaW5pbmxpbmVjb21tZW50cyA6IGpvaW4gYWRqYWNlbnQg
aW5saW5lIGNvbW1lbnRzCi0gKgotICogRW50ZXI6ICAgY29tbWVudCA9IGxpc3Qgb2YgY29tbWVu
dCBzdHJ1Y3RzCi0gKgotICogUmV0dXJuOiAgbmV3IGxpc3Qgb2YgY29tbWVudCBzdHJ1Y3RzCi0g
KgotICogVGhpcyBmdW5jdGlvbiBhbHNvIGRpc2NhcmRzIGFueSBzaW5nbGUgaW5saW5lIGNvbW1l
bnQgdGhhdCBkb2VzIG5vdAotICogcmVmZXIgYmFjay4KLSAqLwotc3RhdGljIHN0cnVjdCBjb21t
ZW50ICoKLWpvaW5pbmxpbmVjb21tZW50cyhzdHJ1Y3QgY29tbWVudCAqY29tbWVudHMpCi17Ci0g
ICAgc3RydWN0IGNvbW1lbnQgKipwY29tbWVudDsKLSAgICBwY29tbWVudCA9ICZjb21tZW50czsK
LSAgICBmb3IgKDs7KSB7Ci0gICAgICAgIHN0cnVjdCBjb21tZW50ICpjb21tZW50OwotICAgICAg
ICBjb21tZW50ID0gKnBjb21tZW50OwotICAgICAgICBpZiAoIWNvbW1lbnQpCi0gICAgICAgICAg
ICBicmVhazsKLSAgICAgICAgaWYgKGNvbW1lbnQtPnR5cGUgIT0gVE9LX0lOTElORUNPTU1FTlQp
IHsKLSAgICAgICAgICAgIC8qIEtlZXAgYmxvY2sgY29tbWVudCBhcyBpcy4gKi8KLSAgICAgICAg
ICAgIHBjb21tZW50ID0gJmNvbW1lbnQtPm5leHQ7Ci0gICAgICAgIH0gZWxzZSBpZiAoIWNvbW1l
bnQtPmJhY2sgJiYgKCFjb21tZW50LT5uZXh0Ci0gICAgICAgICAgICAgICAgfHwgY29tbWVudC0+
bmV4dC0+dHlwZSAhPSBUT0tfSU5MSU5FQ09NTUVOVAotICAgICAgICAgICAgICAgIHx8IGNvbW1l
bnQtPm5leHQtPmZpbGVuYW1lICE9IGNvbW1lbnQtPmZpbGVuYW1lCi0gICAgICAgICAgICAgICAg
fHwgY29tbWVudC0+bmV4dC0+bGluZW51bSAhPSBjb21tZW50LT5saW5lbnVtICsgMSkpCi0gICAg
ICAgIHsKLSAgICAgICAgICAgIC8qIERpc2NhcmQgc2luZ2xlIC8vIGNvbW1lbnQgdGhhdCBkb2Vz
IG5vdCByZWZlciBiYWNrLiAqLwotICAgICAgICAgICAgKnBjb21tZW50ID0gY29tbWVudC0+bmV4
dDsKLQotICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgLyogRmluZCBzZXF1ZW5jZSBvZiBh
ZGphY2VudCAvLyBjb21tZW50cyAoYWRqYWNlbnQgbGluZXMsCi0gICAgICAgICAgICAgKiByZWZl
cnJpbmcgdG8gc2FtZSBub2RlKSBhbmQgam9pbiB0aGVtLiBXZSBkbyB0aGlzIGluIHR3bwotICAg
ICAgICAgICAgICogcGFzc2VzLCBvbmUgdG8gY291bnQgdGhlIGxlbmd0aCBvZiB0aGUgY29tbWVu
dCBhbmQgb25lCi0gICAgICAgICAgICAgKiB0byBqb2luLiBOb3RlIHRoYXQgdGhlIGxpc3QgaXMg
c3RpbGwgaW4gcmV2ZXJzZSBvcmRlciwKLSAgICAgICAgICAgICAqIHNvIHdlIGV4cGVjdCB0aGUg
bGluZSBudW1iZXIgdG8gZGVjcmVhc2UgYnkgMSBlYWNoIHRpbWUuICovCi0gICAgICAgICAgICBz
dHJ1Y3QgY29tbWVudCAqbmV3Y29tbWVudCA9IDAsICpjb21tZW50MjsKLSAgICAgICAgICAgIGNv
bnN0IGNoYXIgKmZpbGVuYW1lID0gY29tbWVudC0+ZmlsZW5hbWU7Ci0gICAgICAgICAgICB1bnNp
Z25lZCBpbnQgbGluZW51bSA9IGNvbW1lbnQtPmxpbmVudW07Ci0gICAgICAgICAgICBmb3IgKDs7
KSB7Ci0gICAgICAgICAgICAgICAgY2hhciAqd3AgPSBuZXdjb21tZW50LT50ZXh0OwotICAgICAg
ICAgICAgICAgIGNvbW1lbnQyID0gY29tbWVudDsKLSAgICAgICAgICAgICAgICBkbyB7Ci0gICAg
ICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBsZW4gPSBzdHJsZW4oY29tbWVudDItPnRleHQp
OwotICAgICAgICAgICAgICAgICAgICBpZiAobmV3Y29tbWVudCkKLSAgICAgICAgICAgICAgICAg
ICAgICAgIG1lbWNweSh3cCwgY29tbWVudDItPnRleHQsIGxlbik7Ci0gICAgICAgICAgICAgICAg
ICAgIHdwICs9IGxlbjsKLSAgICAgICAgICAgICAgICAgICAgbGluZW51bS0tOwotICAgICAgICAg
ICAgICAgICAgICBjb21tZW50MiA9IGNvbW1lbnQyLT5uZXh0OwotICAgICAgICAgICAgICAgIH0g
d2hpbGUgKGNvbW1lbnQyICYmIGNvbW1lbnQyLT5maWxlbmFtZSA9PSBmaWxlbmFtZQotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICYmIGNvbW1lbnQyLT5saW5lbnVtID09IGxpbmVudW0KLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAmJiBjb21tZW50Mi0+bm9kZSA9PSBjb21tZW50LT5u
b2RlKTsKLSAgICAgICAgICAgICAgICAvKiBGaW5pc2hlZCBhIHBhc3MuICovCi0gICAgICAgICAg
ICAgICAgaWYgKG5ld2NvbW1lbnQpIHsKLSAgICAgICAgICAgICAgICAgICAgKndwID0gMDsKLSAg
ICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAg
ICAgIG5ld2NvbW1lbnQgPSBtZW1hbGxvYyhzaXplb2Yoc3RydWN0IGNvbW1lbnQpCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICsgd3AgLSBuZXdjb21tZW50LT50ZXh0KTsKLSAgICAg
ICAgICAgICAgICBuZXdjb21tZW50LT5ub2RlID0gY29tbWVudC0+bm9kZTsKLSAgICAgICAgICAg
ICAgICBuZXdjb21tZW50LT50eXBlID0gY29tbWVudC0+dHlwZTsKLSAgICAgICAgICAgICAgICBu
ZXdjb21tZW50LT5maWxlbmFtZSA9IGZpbGVuYW1lOwotICAgICAgICAgICAgICAgIG5ld2NvbW1l
bnQtPmxpbmVudW0gPSBsaW5lbnVtICsgMTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIC8q
IFJlcGxhY2UgdGhlIHNjYW5uZWQgY29tbWVudCBzdHJ1Y3Qgd2l0aCBuZXdjb21tZW50IGluIHRo
ZQotICAgICAgICAgICAgICogbGlzdC4gKi8KLSAgICAgICAgICAgIG5ld2NvbW1lbnQtPm5leHQg
PSBjb21tZW50MjsKLSAgICAgICAgICAgICpwY29tbWVudCA9IG5ld2NvbW1lbnQ7Ci0gICAgICAg
ICAgICBwY29tbWVudCA9ICZuZXdjb21tZW50LT5uZXh0OwotICAgICAgICB9Ci0gICAgfQotICAg
IHJldHVybiBjb21tZW50czsKLX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBvdXRwdXRjaGlsZHJl
biA6IGNhbGwgb3V0cHV0IHJlY3Vyc2l2ZWx5IG9uIGNoaWxkcmVuIG9mIGNub2RlCi0gKgotICog
RW50ZXI6ICAgY25vZGUKLSAqICAgICAgICAgIGluZGVudCA9IGluZGVudCAobmVzdGluZykgbGV2
ZWwgb2YgcGFyZW50Ci0gKiAgICAgICAgICBpbmRlc2MgPSB3aGV0aGVyIGFscmVhZHkgaW4gPGRl
c2NyaXB0aW9uPiBvciBvdGhlciB0b3AtbGV2ZWwKLSAqICAgICAgICAgICAgICAgICAgIGRlc2Ny
aXB0aXZlIGVsZW1lbnQKLSAqLwotc3RhdGljIHZvaWQKLW91dHB1dGNoaWxkcmVuKHN0cnVjdCBj
bm9kZSAqY25vZGUsIHVuc2lnbmVkIGludCBpbmRlbnQsIGludCBpbmRlc2MpCi17Ci0gICAgaW50
IGN1cmluZGVzYyA9IGluZGVzYzsKLSAgICBjbm9kZSA9IGNub2RlLT5jaGlsZHJlbjsKLSAgICB3
aGlsZSAoY25vZGUpIHsKLSAgICAgICAgaWYgKGN1cmluZGVzYyAhPSBjbm9kZS0+ZnVuY3MtPmlu
ZGVzYykgewotICAgICAgICAgICAgYXNzZXJ0KCFpbmRlc2MpOwotICAgICAgICAgICAgcHJpbnRm
KCIlKnM8JXNkZXNjcmlwdGlvbj5cbiIsIGluZGVudCArIDEsICIiLCBjdXJpbmRlc2MgPyAiLyIg
OiAiIik7Ci0gICAgICAgICAgICBjdXJpbmRlc2MgPSAhY3VyaW5kZXNjOwotICAgICAgICB9Ci0g
ICAgICAgICgqY25vZGUtPmZ1bmNzLT5vdXRwdXQpKGNub2RlLCBpbmRlbnQgKyAyKTsKLSAgICAg
ICAgY25vZGUgPSBjbm9kZS0+bmV4dDsKLSAgICB9Ci0gICAgaWYgKGN1cmluZGVzYyAhPSBpbmRl
c2MpCi0gICAgICAgIHByaW50ZigiJSpzPCVzZGVzY3JpcHRpb24+XG4iLCBpbmRlbnQgKyAxLCAi
IiwgY3VyaW5kZXNjID8gIi8iIDogIiIpOwotfQotCi0vKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIGRlZmF1
bHRfYXNrZW5kIDogYXNrIG5vZGUgaWYgaXQgd2FudHMgdG8gZW5kIGF0IGEgcGFyYSBzdGFydCAo
ZGVmYXVsdAotICogICAgICAgICAgICAgICAgICBpbXBsZW1lbnRhdGlvbikKLSAqCi0gKiBFbnRl
cjogICBjbm9kZQotICogICAgICAgICAgdHlwZSA9IDAgZWxzZSBjbm9kZWZ1bmNzIGZvciBuZXds
eSBzdGFydGluZyBwYXJhCi0gKgotICogUmV0dXJuOiAgbm9uLXplcm8gaWYgdGhpcyBub2RlIHdh
bnRzIHRvIGVuZAotICovCi1zdGF0aWMgaW50Ci1kZWZhdWx0X2Fza2VuZChzdHJ1Y3QgY25vZGUg
KmNub2RlLCBjb25zdCBzdHJ1Y3QgY25vZGVmdW5jcyAqdHlwZSkKLXsKLSAgICByZXR1cm4gMTsK
LX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqCi0gKiByb290X2Fza2VuZCA6IGFzayByb290IG5vZGUgaWYg
aXQgd2FudHMgdG8gZW5kIGF0IGEgcGFyYSBzdGFydAotICoKLSAqIEVudGVyOiAgIGNub2RlIGZv
ciByb290Ci0gKiAgICAgICAgICB0eXBlID0gMCBlbHNlIGNub2RlZnVuY3MgZm9yIG5ld2x5IHN0
YXJ0aW5nIHBhcmEKLSAqCi0gKiBSZXR1cm46ICBub24temVybyBpZiB0aGlzIG5vZGUgd2FudHMg
dG8gZW5kCi0gKi8KLXN0YXRpYyBpbnQKLXJvb3RfYXNrZW5kKHN0cnVjdCBjbm9kZSAqY25vZGUs
IGNvbnN0IHN0cnVjdCBjbm9kZWZ1bmNzICp0eXBlKQotewotICAgIHJldHVybiAwOwotfQotCi0v
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioKLSAqIHJvb3Rfb3V0cHV0IDogb3V0cHV0IHJvb3QgY25vZGUKLSAqCi0g
KiBFbnRlcjogICBjbm9kZSBmb3Igcm9vdAotICogICAgICAgICAgaW5kZW50ID0gaW5kZW50IChu
ZXN0aW5nKSBsZXZlbAotICovCi1zdGF0aWMgdm9pZAotcm9vdF9vdXRwdXQoc3RydWN0IGNub2Rl
ICpjbm9kZSwgdW5zaWduZWQgaW50IGluZGVudCkKLXsKLSAgICBvdXRwdXRjaGlsZHJlbihjbm9k
ZSwgaW5kZW50LCAwKTsKLX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBjbm9kZSB0eXBlIHJvb3QK
LSAqLwotc3RhdGljIGNvbnN0IHN0cnVjdCBjbm9kZWZ1bmNzIHJvb3RfZnVuY3MgPSB7Ci0gICAg
MCwgLyogIWluZGVzYyAqLwotICAgIDEsIC8qIG5lZWRwYXJhICovCi0gICAgJnJvb3RfYXNrZW5k
LAotICAgIDAsIC8qIGVuZCAqLwotICAgICZyb290X291dHB1dCwKLX07Ci0KLS8qKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKgotICogZW5kY25vZGUgOiBlbmQgY3VycmVudCBjbm9kZQotICoKLSAqIEVudGVyOiAgIGNu
b2RlID0gY3VycmVudCBjbm9kZQotICoKLSAqIFJldHVybjogIGNub2RlID0gbmV3IGN1cnJlbnQg
Y29kZSAocGFyZW50IG9mIG9sZCBvbmUpCi0gKi8KLXN0YXRpYyBzdHJ1Y3QgY25vZGUgKgotZW5k
Y25vZGUoc3RydWN0IGNub2RlICpjbm9kZSkKLXsKLSAgICBpZiAoY25vZGUtPmZ1bmNzLT5lbmQp
Ci0gICAgICAgICgqY25vZGUtPmZ1bmNzLT5lbmQpKGNub2RlKTsKLSAgICAvKiBSZXZlcnNlIHRo
ZSBjaGlsZHJlbiBsaXN0LiAqLwotICAgIHsKLSAgICAgICAgc3RydWN0IGNub2RlICpjaGlsZCA9
IGNub2RlLT5jaGlsZHJlbjsKLSAgICAgICAgY25vZGUtPmNoaWxkcmVuID0gMDsKLSAgICAgICAg
d2hpbGUgKGNoaWxkKSB7Ci0gICAgICAgICAgICBzdHJ1Y3QgY25vZGUgKm5leHQgPSBjaGlsZC0+
bmV4dDsKLSAgICAgICAgICAgIGNoaWxkLT5uZXh0ID0gY25vZGUtPmNoaWxkcmVuOwotICAgICAg
ICAgICAgY25vZGUtPmNoaWxkcmVuID0gY2hpbGQ7Ci0gICAgICAgICAgICBjaGlsZCA9IG5leHQ7
Ci0gICAgICAgIH0KLSAgICB9Ci0gICAgcmV0dXJuIGNub2RlLT5wYXJlbnQ7Ci19Ci0KLS8qKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKgotICogZW5kc3BlY2lmaWNjbm9kZSA6IGVuZCBhIHNwZWNpZmljIHR5cGUgb2Yg
Y25vZGUKLSAqCi0gKiBFbnRlcjogICBjbm9kZSA9IGN1cnJlbnQgY25vZGUKLSAqICAgICAgICAg
IHR5cGUgPSB0eXBlIG9mIG5vZGUgdG8gZW5kCi0gKiAgICAgICAgICBmaWxlbmFtZSwgbGluZW51
bSA9IGZpbGVuYW1lIGFuZCBsaW5lIG51bWJlciAoZm9yIGVycm9yIHJlcG9ydGluZykKLSAqCi0g
KiBSZXR1cm46ICBuZXcgY3VycmVudCBjbm9kZQotICovCi1zdGF0aWMgc3RydWN0IGNub2RlICoK
LWVuZHNwZWNpZmljY25vZGUoc3RydWN0IGNub2RlICpjbm9kZSwgY29uc3Qgc3RydWN0IGNub2Rl
ZnVuY3MgKnR5cGUsCi0gICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmZpbGVuYW1lLCB1bnNp
Z25lZCBpbnQgbGluZW51bSkKLXsKLSAgICB3aGlsZSAoY25vZGUtPmZ1bmNzICE9IHR5cGUpIHsK
LSAgICAgICAgaWYgKGNub2RlLT5mdW5jcyA9PSAmcm9vdF9mdW5jcykKLSAgICAgICAgICAgIGxv
Y2Vycm9yZXhpdChmaWxlbmFtZSwgbGluZW51bSwgInVubWF0Y2hlZCBcXGVuZGNvZGUiKTsKLSAg
ICAgICAgY25vZGUgPSBlbmRjbm9kZShjbm9kZSk7Ci0gICAgfQotICAgIHJldHVybiBjbm9kZTsK
LX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqCi0gKiBzdGFydGNub2RlIDogc3RhcnQgYSBuZXdseSBjcmVh
dGVkIGNub2RlCi0gKgotICogRW50ZXI6ICAgY25vZGUgPSBjdXJyZW50IGNub2RlCi0gKiAgICAg
ICAgICBuZXdjbm9kZSA9IG5ldyBjbm9kZSB0byBzdGFydAotICoKLSAqIFJldHVybjogIG5ldyBj
dXJyZW50IGNub2RlICh3aGljaCBpcyB0aGUgc2FtZSBhcyBuZXdjbm9kZSkKLSAqLwotc3RhdGlj
IHN0cnVjdCBjbm9kZSAqCi1zdGFydGNub2RlKHN0cnVjdCBjbm9kZSAqY25vZGUsIHN0cnVjdCBj
bm9kZSAqbmV3Y25vZGUpCi17Ci0gICAgbmV3Y25vZGUtPnBhcmVudCA9IGNub2RlOwotICAgIG5l
d2Nub2RlLT5uZXh0ID0gY25vZGUtPmNoaWxkcmVuOwotICAgIGNub2RlLT5jaGlsZHJlbiA9IG5l
d2Nub2RlOwotICAgIHJldHVybiBuZXdjbm9kZTsKLX0KLQotLyoqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBw
YXJhX291dHB1dCA6IG91dHB1dCBwYXJhIGNub2RlCi0gKgotICogRW50ZXI6ICAgY25vZGUgZm9y
IHJvb3QKLSAqICAgICAgICAgIGluZGVudCA9IGluZGVudCAobmVzdGluZykgbGV2ZWwKLSAqLwot
c3RhdGljIHZvaWQKLXBhcmFfb3V0cHV0KHN0cnVjdCBjbm9kZSAqY25vZGUsIHVuc2lnbmVkIGlu
dCBpbmRlbnQpCi17Ci0gICAgcHJpbnRmKCIlKnM8cD5cbiIsIGluZGVudCwgIiIpOwotICAgIG91
dHB1dGNoaWxkcmVuKGNub2RlLCBpbmRlbnQsIDEpOwotICAgIHByaW50ZigiJSpzPC9wPlxuIiwg
aW5kZW50LCAiIik7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogcGFyYV9lbmQgOiBlbmQgYSBw
YXJhIGNub2RlCi0gKgotICogRW50ZXI6ICAgY25vZGUgc3RydWN0Ci0gKi8KLXN0YXRpYyB2b2lk
Ci1wYXJhX2VuZChzdHJ1Y3QgY25vZGUgKmNub2RlKQotewotICAgIC8qIElmIHRoZSBwYXJhIGNu
b2RlIGlzIGVtcHR5LCByZW1vdmUgaXQuICovCi0gICAgaWYgKCFjbm9kZS0+Y2hpbGRyZW4pCi0g
ICAgICAgIGNub2RlLT5wYXJlbnQtPmNoaWxkcmVuID0gY25vZGUtPm5leHQ7Ci19Ci0KLS8qKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKgotICogY25vZGUgdHlwZSBwYXJhCi0gKi8KLXN0YXRpYyBjb25zdCBzdHJ1Y3Qg
Y25vZGVmdW5jcyBwYXJhX2Z1bmNzID0gewotICAgIDEsIC8qIGluZGVzYyAqLwotICAgIDAsIC8q
ICFuZWVkcGFyYSAqLwotICAgICZkZWZhdWx0X2Fza2VuZCwKLSAgICAmcGFyYV9lbmQsIC8qIGVu
ZCAqLwotICAgICZwYXJhX291dHB1dCwKLX07Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogYnJpZWZf
b3V0cHV0IDogb3V0cHV0IGJyaWVmIGNub2RlCi0gKgotICogRW50ZXI6ICAgY25vZGUgZm9yIHJv
b3QKLSAqICAgICAgICAgIGluZGVudCA9IGluZGVudCAobmVzdGluZykgbGV2ZWwKLSAqLwotc3Rh
dGljIHZvaWQKLWJyaWVmX291dHB1dChzdHJ1Y3QgY25vZGUgKmNub2RlLCB1bnNpZ25lZCBpbnQg
aW5kZW50KQotewotICAgIHByaW50ZigiJSpzPGJyaWVmPlxuIiwgaW5kZW50LCAiIik7Ci0gICAg
b3V0cHV0Y2hpbGRyZW4oY25vZGUsIGluZGVudCwgMSk7Ci0gICAgcHJpbnRmKCIlKnM8L2JyaWVm
PlxuIiwgaW5kZW50LCAiIik7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogY25vZGUgdHlwZSBi
cmllZgotICovCi1zdGF0aWMgY29uc3Qgc3RydWN0IGNub2RlZnVuY3MgYnJpZWZfZnVuY3MgPSB7
Ci0gICAgMCwgLyogIWluZGVzYyAqLwotICAgIDAsIC8qICFuZWVkcGFyYSAqLwotICAgICZkZWZh
dWx0X2Fza2VuZCwKLSAgICAwLCAvKiBlbmQgKi8KLSAgICAmYnJpZWZfb3V0cHV0LAotfTsKLQot
LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqCi0gKiByZXR1cm5fb3V0cHV0IDogb3V0cHV0IHJldHVybiBjbm9kZQot
ICoKLSAqIEVudGVyOiAgIGNub2RlIGZvciByb290Ci0gKiAgICAgICAgICBpbmRlbnQgPSBpbmRl
bnQgKG5lc3RpbmcpIGxldmVsCi0gKi8KLXN0YXRpYyB2b2lkCi1yZXR1cm5fb3V0cHV0KHN0cnVj
dCBjbm9kZSAqY25vZGUsIHVuc2lnbmVkIGludCBpbmRlbnQpCi17Ci0gICAgcHJpbnRmKCIlKnM8
ZGVzY3JpcHRpb24+PHA+XG4iLCBpbmRlbnQsICIiKTsKLSAgICBvdXRwdXRjaGlsZHJlbihjbm9k
ZSwgaW5kZW50LCAxKTsKLSAgICBwcmludGYoIiUqczwvcD48L2Rlc2NyaXB0aW9uPlxuIiwgaW5k
ZW50LCAiIik7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogY25vZGUgdHlwZSByZXR1cm4KLSAq
Lwotc3RhdGljIGNvbnN0IHN0cnVjdCBjbm9kZWZ1bmNzIHJldHVybl9mdW5jcyA9IHsKLSAgICAw
LCAvKiAhaW5kZXNjICovCi0gICAgMCwgLyogIW5lZWRwYXJhICovCi0gICAgJmRlZmF1bHRfYXNr
ZW5kLAotICAgIDAsIC8qIGVuZCAqLwotICAgICZyZXR1cm5fb3V0cHV0LAotfTsKLQotLyoqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqCi0gKiBhdXRob3Jfb3V0cHV0IDogb3V0cHV0IG5hbWUgY25vZGUKLSAqCi0gKiBF
bnRlcjogICBjbm9kZSBmb3Igcm9vdAotICogICAgICAgICAgaW5kZW50ID0gaW5kZW50IChuZXN0
aW5nKSBsZXZlbAotICovCi1zdGF0aWMgdm9pZAotbmFtZV9vdXRwdXQoc3RydWN0IGNub2RlICpj
bm9kZSwgdW5zaWduZWQgaW50IGluZGVudCkKLXsKLSAgICBwcmludGYoIiUqczxuYW1lPlxuIiwg
aW5kZW50LCAiIik7Ci0gICAgb3V0cHV0Y2hpbGRyZW4oY25vZGUsIGluZGVudCwgMSk7Ci0gICAg
cHJpbnRmKCIlKnM8L25hbWU+XG4iLCBpbmRlbnQsICIiKTsKLX0KLQotLyoqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
Ci0gKiBjbm9kZSB0eXBlIG5hbWUKLSAqLwotc3RhdGljIGNvbnN0IHN0cnVjdCBjbm9kZWZ1bmNz
IG5hbWVfZnVuY3MgPSB7Ci0gICAgMCwgLyogIWluZGVzYyAqLwotICAgIDAsIC8qICFuZWVkcGFy
YSAqLwotICAgICZkZWZhdWx0X2Fza2VuZCwKLSAgICAwLCAvKiBlbmQgKi8KLSAgICAmbmFtZV9v
dXRwdXQsCi19OwotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIGF1dGhvcl9vdXRwdXQgOiBvdXRwdXQg
YXV0aG9yIGNub2RlCi0gKgotICogRW50ZXI6ICAgY25vZGUgZm9yIHJvb3QKLSAqICAgICAgICAg
IGluZGVudCA9IGluZGVudCAobmVzdGluZykgbGV2ZWwKLSAqLwotc3RhdGljIHZvaWQKLWF1dGhv
cl9vdXRwdXQoc3RydWN0IGNub2RlICpjbm9kZSwgdW5zaWduZWQgaW50IGluZGVudCkKLXsKLSAg
ICBwcmludGYoIiUqczxhdXRob3I+XG4iLCBpbmRlbnQsICIiKTsKLSAgICBvdXRwdXRjaGlsZHJl
bihjbm9kZSwgaW5kZW50LCAxKTsKLSAgICBwcmludGYoIiUqczwvYXV0aG9yPlxuIiwgaW5kZW50
LCAiIik7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogY25vZGUgdHlwZSBhdXRob3IKLSAqLwot
c3RhdGljIGNvbnN0IHN0cnVjdCBjbm9kZWZ1bmNzIGF1dGhvcl9mdW5jcyA9IHsKLSAgICAwLCAv
KiAhaW5kZXNjICovCi0gICAgMCwgLyogIW5lZWRwYXJhICovCi0gICAgJmRlZmF1bHRfYXNrZW5k
LAotICAgIDAsIC8qIGVuZCAqLwotICAgICZhdXRob3Jfb3V0cHV0LAotfTsKLQotLyoqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqCi0gKiB2ZXJzaW9uX291dHB1dCA6IG91dHB1dCB2ZXJzaW9uIGNub2RlCi0gKgotICog
RW50ZXI6ICAgY25vZGUgZm9yIHJvb3QKLSAqICAgICAgICAgIGluZGVudCA9IGluZGVudCAobmVz
dGluZykgbGV2ZWwKLSAqLwotc3RhdGljIHZvaWQKLXZlcnNpb25fb3V0cHV0KHN0cnVjdCBjbm9k
ZSAqY25vZGUsIHVuc2lnbmVkIGludCBpbmRlbnQpCi17Ci0gICAgcHJpbnRmKCIlKnM8dmVyc2lv
bj5cbiIsIGluZGVudCwgIiIpOwotICAgIG91dHB1dGNoaWxkcmVuKGNub2RlLCBpbmRlbnQsIDEp
OwotICAgIHByaW50ZigiJSpzPC92ZXJzaW9uPlxuIiwgaW5kZW50LCAiIik7Ci19Ci0KLS8qKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKgotICogY25vZGUgdHlwZSB2ZXJzaW9uCi0gKi8KLXN0YXRpYyBjb25zdCBzdHJ1
Y3QgY25vZGVmdW5jcyB2ZXJzaW9uX2Z1bmNzID0gewotICAgIDAsIC8qICFpbmRlc2MgKi8KLSAg
ICAwLCAvKiAhbmVlZHBhcmEgKi8KLSAgICAmZGVmYXVsdF9hc2tlbmQsCi0gICAgMCwgLyogZW5k
ICovCi0gICAgJnZlcnNpb25fb3V0cHV0LAotfTsKLQotLyoqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBjbm9k
ZSB0eXBlIGNvZGUKLSAqLwotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBjb2RlX2VuZCA6IGVuZCBhIGNv
ZGUgY25vZGUKLSAqCi0gKiBFbnRlcjogICBjbm9kZSBzdHJ1Y3QKLSAqLwotc3RhdGljIHZvaWQK
LWNvZGVfZW5kKHN0cnVjdCBjbm9kZSAqY25vZGUpCi17Ci0gICAgaWYgKGluY29kZSkgewotICAg
ICAgICAvKiBUaGUgaW5jb2RlIGZsYWcgaGFzIG5vdCBiZWVuIGNsZWFyZWQsIHNvIHRoaXMgY29k
ZSBjbm9kZSBpcwotICAgICAgICAgKiBiZWluZyBlbmRlZCBpbXBsaWNpdGx5LiBXZSBjb21wbGFp
biBhYm91dCB0aGF0LiAqLwotICAgICAgICBsb2NlcnJvcmV4aXQoY25vZGUtPmZpbGVuYW1lLCBj
bm9kZS0+bGluZW51bSwgIm1pc21hdGNoZWQgXFxjb2RlIik7Ci0gICAgfQotfQotCi0vKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioKLSAqIGNvZGVfb3V0cHV0IDogb3V0cHV0IGNvZGUgY25vZGUKLSAqCi0gKiBFbnRl
cjogICBjbm9kZSBmb3Igcm9vdAotICogICAgICAgICAgaW5kZW50ID0gaW5kZW50IChuZXN0aW5n
KSBsZXZlbAotICovCi1zdGF0aWMgdm9pZAotY29kZV9vdXRwdXQoc3RydWN0IGNub2RlICpjbm9k
ZSwgdW5zaWduZWQgaW50IGluZGVudCkKLXsKLSAgICAvKiBOb3RlIGNhcGl0YWxpemF0aW9uIHRv
IGRpZmZlcmVudGlhdGUgaXQgZnJvbSBIVE1MIGNvZGUgZWxlbWVudC4gKi8KLSAgICBpZihjbm9k
ZS0+YXR0cnRleHQpCi0JICAgIHByaW50ZigiJSpzPENvZGUgJXM+IiwgaW5kZW50LCAiIiwgY25v
ZGUtPmF0dHJ0ZXh0KTsKLQllbHNlCi0JICAgIHByaW50ZigiJSpzPENvZGU+IiwgaW5kZW50LCAi
Iik7Ci0gICAgb3V0cHV0Y2hpbGRyZW4oY25vZGUsIGluZGVudCwgMSk7Ci0gICAgcHJpbnRmKCI8
L0NvZGU+XG4iKTsKLX0KLQotc3RhdGljIGNvbnN0IHN0cnVjdCBjbm9kZWZ1bmNzIGNvZGVfZnVu
Y3MgPSB7Ci0gICAgMCwgLyogaW5kZXNjICovCi0gICAgMCwgLyogIW5lZWRwYXJhICovCi0gICAg
JmRlZmF1bHRfYXNrZW5kLAotICAgICZjb2RlX2VuZCwgLyogZW5kICovCi0gICAgJmNvZGVfb3V0
cHV0LAotfTsKLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBzdGFydHBhcmEgOiBzdGFydCBhIG5ldyBw
YXJhIGNub2RlIGluIHRoZSBwYXJzZSB0cmVlCi0gKgotICogRW50ZXI6ICAgY25vZGUgPSBjdXJy
ZW50IGNub2RlCi0gKiAgICAgICAgICB0eXBlID0gdnRhYmxlIGZvciBwYXJ0aWN1bGFyIHR5cGUg
b2YgY25vZGUKLSAqCi0gKiBSZXR1cm46ICBuZXcgY3VycmVudCBjbm9kZQotICovCi1zdGF0aWMg
c3RydWN0IGNub2RlICoKLXN0YXJ0cGFyYShzdHJ1Y3QgY25vZGUgKmNub2RlLCBjb25zdCBzdHJ1
Y3QgY25vZGVmdW5jcyAqdHlwZSkKLXsKLSAgICBzdHJ1Y3QgY25vZGUgKm5ld2Nub2RlOwotICAg
IHdoaWxlICgoKmNub2RlLT5mdW5jcy0+YXNrZW5kKShjbm9kZSwgdHlwZSkpCi0gICAgICAgIGNu
b2RlID0gZW5kY25vZGUoY25vZGUpOwotICAgIG5ld2Nub2RlID0gbWVtYWxsb2Moc2l6ZW9mKHN0
cnVjdCBjbm9kZSkpOwotICAgIG5ld2Nub2RlLT5mdW5jcyA9IHR5cGU7Ci0gICAgcmV0dXJuIHN0
YXJ0Y25vZGUoY25vZGUsIG5ld2Nub2RlKTsKLX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBjbm9k
ZSB0eXBlIHRleHQKLSAqLwotc3RydWN0IHRleHRjbm9kZSB7Ci0gICAgc3RydWN0IGNub2RlIGNu
OwotICAgIHVuc2lnbmVkIGNoYXIgKmRhdGE7Ci0gICAgdW5zaWduZWQgaW50IGxlbjsKLSAgICB1
bnNpZ25lZCBpbnQgbWF4OwotfTsKLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiB0ZXh0X2VuZCA6IGVu
ZCBhIHRleHQgY25vZGUKLSAqCi0gKiBFbnRlcjogICBjbm9kZSBzdHJ1Y3QKLSAqLwotc3RhdGlj
IHZvaWQKLXRleHRfZW5kKHN0cnVjdCBjbm9kZSAqY25vZGUpCi17Ci0gICAgc3RydWN0IHRleHRj
bm9kZSAqdGV4dGNub2RlID0gKHZvaWQgKiljbm9kZTsKLSAgICB0ZXh0Y25vZGUtPmRhdGFbdGV4
dGNub2RlLT5sZW5dID0gMDsKLSAgICB0ZXh0Y25vZGUtPm1heCA9IHRleHRjbm9kZS0+bGVuICsg
MTsKLSAgICB0ZXh0Y25vZGUtPmRhdGEgPSBtZW1yZWFsbG9jKHRleHRjbm9kZS0+ZGF0YSwgdGV4
dGNub2RlLT5tYXgpOwotfQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIHRleHRfb3V0cHV0IDogb3V0
cHV0IHRleHQgY25vZGUKLSAqCi0gKiBFbnRlcjogICBjbm9kZSBmb3Igcm9vdAotICogICAgICAg
ICAgaW5kZW50ID0gaW5kZW50IChuZXN0aW5nKSBsZXZlbAotICovCi1zdGF0aWMgdm9pZAotdGV4
dF9vdXRwdXQoc3RydWN0IGNub2RlICpjbm9kZSwgdW5zaWduZWQgaW50IGluZGVudCkKLXsKLSAg
ICAvKiBXZSBkbyBub3QgaW5kZW50LCBpbiBjYXNlIHRoaXMgaXMgaW5zaWRlIGEgY29kZSBjbm9k
ZS4gKi8KLSAgICBzdHJ1Y3QgdGV4dGNub2RlICp0ZXh0Y25vZGUgPSAodm9pZCAqKWNub2RlOwot
ICAgIHVuc2lnbmVkIGludCBsZW4gPSB0ZXh0Y25vZGUtPmxlbjsKLSAgICB1bnNpZ25lZCBjb25z
dCBjaGFyICpwID0gdGV4dGNub2RlLT5kYXRhOwotICAgIHdoaWxlIChsZW4pIHsKLSAgICAgICAg
dW5zaWduZWQgaW50IHRoaXNsZW47Ci0gICAgICAgIGNvbnN0IGNoYXIgKnRoaXNwdHI7Ci0gICAg
ICAgIHRoaXNsZW4gPSBwWzBdOwotICAgICAgICAvKiAodm9pZCAqKSBjYXN0IGlzIHRvIGF2b2lk
IGEgd2FybmluZyBmcm9tIHRoZSBNUyBjb21waWxlci4KLSAgICAgICAgICogSSB0aGluayB0aGUg
d2FybmluZyBpcyB3cm9uZywgYnV0IEkgY291bGQgYmUgd3JvbmcuICovCi0gICAgICAgIG1lbWNw
eSgodm9pZCAqKSZ0aGlzcHRyLCBwICsgMSwgc2l6ZW9mKHZvaWQgKikpOwotICAgICAgICBwICs9
IDEgKyBzaXplb2Yodm9pZCAqKTsKLSAgICAgICAgbGVuIC09IDEgKyBzaXplb2Yodm9pZCAqKTsK
LSAgICAgICAgcHJpbnR0ZXh0KHRoaXNwdHIsIHRoaXNsZW4sIDApOwotICAgIH0KLX0KLQotc3Rh
dGljIGNvbnN0IHN0cnVjdCBjbm9kZWZ1bmNzIHRleHRfZnVuY3MgPSB7Ci0gICAgMSwgLyogIWlu
ZGVzYyAqLwotICAgIDAsIC8qICFuZWVkcGFyYSAqLwotICAgICZkZWZhdWx0X2Fza2VuZCwKLSAg
ICAmdGV4dF9lbmQsIC8qIGVuZCAqLwotICAgICZ0ZXh0X291dHB1dCwKLX07Ci0KLS8qKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKgotICogY25vZGUgdHlwZSBodG1sIChIVE1MIGVsZW1lbnQpCi0gKi8KLXN0cnVjdCBo
dG1sY25vZGUgewotICAgIHN0cnVjdCBjbm9kZSBjbjsKLSAgICBjb25zdCBzdHJ1Y3QgaHRtbGVs
ZGVzYyAqZGVzYzsKLSAgICBjaGFyIGF0dHJzWzFdOwotfTsKLQotLyoqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0g
KiBodG1sX2VuZCA6IGVuZCBhbiBodG1sIGNub2RlCi0gKgotICogRW50ZXI6ICAgY25vZGUgc3Ry
dWN0Ci0gKi8KLXN0YXRpYyB2b2lkCi1odG1sX2VuZChzdHJ1Y3QgY25vZGUgKmNub2RlKQotewot
ICAgIGlmICgoKHN0cnVjdCBodG1sY25vZGUgKiljbm9kZSktPmRlc2MtPmZsYWdzICYgSFRNTEVM
X0JMT0NLKQotICAgICAgICBpbmh0bWxibG9jay0tOwotfQotCi0vKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAq
IGh0bWxfb3V0cHV0IDogb3V0cHV0IGh0bWwgY25vZGUKLSAqCi0gKiBFbnRlcjogICBjbm9kZSBm
b3Igcm9vdAotICogICAgICAgICAgaW5kZW50ID0gaW5kZW50IChuZXN0aW5nKSBsZXZlbAotICov
Ci1zdGF0aWMgdm9pZAotaHRtbF9vdXRwdXQoc3RydWN0IGNub2RlICpjbm9kZSwgdW5zaWduZWQg
aW50IGluZGVudCkKLXsKLSAgICBzdHJ1Y3QgaHRtbGNub2RlICpodG1sY25vZGUgPSAodm9pZCAq
KWNub2RlOwotICAgIGlmICghKGh0bWxjbm9kZS0+ZGVzYy0+ZmxhZ3MgJiBIVE1MRUxfSU5MSU5F
KSkKLSAgICAgICAgcHJpbnRmKCIlKnMiLCBpbmRlbnQsICIiKTsKLSAgICBpZiAoaHRtbGNub2Rl
LT5jbi5jaGlsZHJlbikgewotICAgICAgICBwcmludGYoIjwlcyVzPiIsIGh0bWxjbm9kZS0+ZGVz
Yy0+bmFtZSwgaHRtbGNub2RlLT5hdHRycyk7Ci0gICAgICAgIGlmICghKGh0bWxjbm9kZS0+ZGVz
Yy0+ZmxhZ3MgJiBIVE1MRUxfSU5MSU5FKSkKLSAgICAgICAgICAgIHB1dGNoYXIoJ1xuJyk7Ci0g
ICAgICAgIG91dHB1dGNoaWxkcmVuKCZodG1sY25vZGUtPmNuLCBpbmRlbnQsIDEpOwotICAgICAg
ICBpZiAoIShodG1sY25vZGUtPmRlc2MtPmZsYWdzICYgSFRNTEVMX0lOTElORSkpCi0gICAgICAg
ICAgICBwcmludGYoIiUqcyIsIGluZGVudCwgIiIpOwotICAgICAgICBwcmludGYoIjwvJXM+Iiwg
aHRtbGNub2RlLT5kZXNjLT5uYW1lKTsKLSAgICB9IGVsc2UKLSAgICAgICAgcHJpbnRmKCI8JXMl
cy8+IiwgaHRtbGNub2RlLT5kZXNjLT5uYW1lLCBodG1sY25vZGUtPmF0dHJzKTsKLSAgICBpZiAo
IShodG1sY25vZGUtPmRlc2MtPmZsYWdzICYgSFRNTEVMX0lOTElORSkpCi0gICAgICAgIHB1dGNo
YXIoJ1xuJyk7Ci19Ci0KLXN0YXRpYyBjb25zdCBzdHJ1Y3QgY25vZGVmdW5jcyBodG1sX2Z1bmNz
ID0gewotICAgIDEsIC8qIGluZGVzYyAqLwotICAgIDAsIC8qICFuZWVkcGFyYSAqLwotICAgICZk
ZWZhdWx0X2Fza2VuZCwKLSAgICAmaHRtbF9lbmQsIC8qIGVuZCAqLwotICAgICZodG1sX291dHB1
dCwKLX07Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKgotICogc3RhcnRodG1sY25vZGUgOiBzdGFydCBhIG5l
dyBodG1sIGNub2RlCi0gKgotICogRW50ZXI6ICAgY25vZGUgPSBjdXJyZW50IGNub2RlCi0gKiAg
ICAgICAgICBodG1sZWxkZXNjID0gaHRtbCBlbGVtZW50IGRlc2NyaXB0b3IKLSAqICAgICAgICAg
IGF0dHJzID0gYXR0cmlidXRlcyB0ZXh0Ci0gKiAgICAgICAgICBhdHRyc2xlbiA9IGxlbmd0aCBv
ZiBhdHRyaWJ1dGVzIHRleHQKLSAqICAgICAgICAgIGZpbGVuYW1lCi0gKiAgICAgICAgICBsaW5l
bnVtID0gbGluZSBudW1iZXIKLSAqCi0gKiBSZXR1cm46ICBuZXcgY3VycmVudCBjbm9kZQotICov
Ci1zdGF0aWMgc3RydWN0IGNub2RlICoKLXN0YXJ0aHRtbGNub2RlKHN0cnVjdCBjbm9kZSAqY25v
ZGUsIGNvbnN0IHN0cnVjdCBodG1sZWxkZXNjICpodG1sZWxkZXNjLAotICAgICAgICAgICAgICAg
Y29uc3QgY2hhciAqYXR0cnMsIHVuc2lnbmVkIGludCBhdHRyc2xlbiwKLSAgICAgICAgICAgICAg
IGNvbnN0IGNoYXIgKmZpbGVuYW1lLCB1bnNpZ25lZCBpbnQgbGluZW51bSkKLXsKLSAgICBzdHJ1
Y3QgaHRtbGNub2RlICpodG1sY25vZGU7Ci0gICAgLyogRmlyc3QgY2xvc2UgZW5vdWdoIGVsZW1l
bnRzIHRvIGdldCB0byBhIGNvbnRlbnQKLSAgICAgKiBtb2RlbCB0aGF0IHdpbGwgYWNjZXB0IHRo
aXMgbmV3IGVsZW1lbnQuICovCi0gICAgZm9yICg7OykgewotICAgICAgICBpZiAoY25vZGUtPmZ1
bmNzICE9ICZodG1sX2Z1bmNzKSB7Ci0gICAgICAgICAgICAvKiBOb3QgaW4gYW55IGh0bWwgZWxl
bWVudC4gV2UgY2FuIGFjY2VwdCBhbnkgYmxvY2sgZWxlbWVudAotICAgICAgICAgICAgICogKGlu
IHdoaWNoIGNhc2Ugd2UgbmVlZCB0byBjbG9zZSB0aGUgY3VycmVudCBwYXJhZ3JhcGgKLSAgICAg
ICAgICAgICAqIGZpcnN0KSBvciBhbnkgaW5saW5lIGVsZW1lbnQgKGluIHdoaWNoIGNhc2Ugd2Ug
bmVlZCB0bwotICAgICAgICAgICAgICogY2xvc2UgdGhlIGN1cnJlbnQgdGV4dCBjbm9kZSBmaXJz
dCkuICovCi0gICAgICAgICAgICBpZiAoIShodG1sZWxkZXNjLT5mbGFncyAmIEhUTUxFTF9JTkxJ
TkUpKSB7Ci0gICAgICAgICAgICAgICAgaWYgKCEoaHRtbGVsZGVzYy0+ZmxhZ3MgJiBIVE1MRUxf
QkxPQ0spKQotICAgICAgICAgICAgICAgICAgICBsb2NlcnJvcmV4aXQoZmlsZW5hbWUsIGxpbmVu
dW0sICI8JXM+IG5vdCB2YWxpZCBoZXJlIiwgaHRtbGVsZGVzYy0+bmFtZSk7Ci0gICAgICAgICAg
ICAgICAgd2hpbGUgKCgqY25vZGUtPmZ1bmNzLT5hc2tlbmQpKGNub2RlLCAwKSkKLSAgICAgICAg
ICAgICAgICAgICAgY25vZGUgPSBlbmRjbm9kZShjbm9kZSk7Ci0gICAgICAgICAgICB9IGVsc2Ug
ewotICAgICAgICAgICAgICAgIHdoaWxlIChjbm9kZS0+ZnVuY3MgPT0gJnRleHRfZnVuY3MpCi0g
ICAgICAgICAgICAgICAgICAgIGNub2RlID0gZW5kY25vZGUoY25vZGUpOwotICAgICAgICAgICAg
fQotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLSAgICAgICAgaHRtbGNub2RlID0gKHN0
cnVjdCBodG1sY25vZGUgKiljbm9kZTsKLSAgICAgICAgaWYgKCEoaHRtbGVsZGVzYy0+ZmxhZ3Mg
JiBodG1sY25vZGUtPmRlc2MtPmNvbnRlbnQpKQotICAgICAgICAgICAgbG9jZXJyb3JleGl0KGZp
bGVuYW1lLCBsaW5lbnVtLCAiPCVzPiBub3QgdmFsaWQgaGVyZSIsIGh0bWxlbGRlc2MtPm5hbWUp
OwotICAgICAgICBicmVhazsKLSAgICB9Ci0gICAgaWYgKGh0bWxlbGRlc2MtPmZsYWdzICYgSFRN
TEVMX0JMT0NLKQotICAgICAgICBpbmh0bWxibG9jaysrOwotICAgIC8qIENyZWF0ZSB0aGUgbmV3
IGh0bWwgY25vZGUuICovCi0gICAgaHRtbGNub2RlID0gbWVtYWxsb2Moc2l6ZW9mKHN0cnVjdCBo
dG1sY25vZGUpICsgYXR0cnNsZW4pOwotICAgIGh0bWxjbm9kZS0+ZGVzYyA9IGh0bWxlbGRlc2M7
Ci0gICAgaHRtbGNub2RlLT5jbi5mdW5jcyA9ICZodG1sX2Z1bmNzOwotICAgIGh0bWxjbm9kZS0+
Y24uZmlsZW5hbWUgPSBmaWxlbmFtZTsKLSAgICBodG1sY25vZGUtPmNuLmxpbmVudW0gPSBsaW5l
bnVtOwotICAgIG1lbWNweShodG1sY25vZGUtPmF0dHJzLCBhdHRycywgYXR0cnNsZW4pOwotICAg
IGh0bWxjbm9kZS0+YXR0cnNbYXR0cnNsZW5dID0gMDsKLSAgICAvKiBTdGFydCB0aGUgaHRtbCBj
bm9kZS4gKi8KLSAgICBjbm9kZSA9IHN0YXJ0Y25vZGUoY25vZGUsICZodG1sY25vZGUtPmNuKTsK
LSAgICByZXR1cm4gY25vZGU7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogcGFyYW1fb3V0cHV0
IDogb3V0cHV0IHBhcmFtIGNub2RlCi0gKgotICogRW50ZXI6ICAgY25vZGUgZm9yIHBhcmFtCi0g
KiAgICAgICAgICBpbmRlbnQgPSBpbmRlbnQgKG5lc3RpbmcpIGxldmVsCi0gKgotICogVGhpcyBp
cyBvbmx5IHVzZWQgZm9yIGEgXHBhcmFtIGluc2lkZSBhIFxkZWYtZGV2aWNlLWNhcC4gQSBub3Jt
YWwKLSAqIFxwYXJhbSB0aGF0IGdldHMgYXR0YWNoZWQgdG8gYSBmdW5jdGlvbiBhcmd1bWVudCBn
ZXRzIGNoYW5nZWQgdG8KLSAqIGEgXHJldHVybiBzbyBpdCBkb2VzIG5vdCB1c2UgdGhpcyBvdXRw
dXQgZnVuY3Rpb24uCi0gKi8KLXN0YXRpYyB2b2lkCi1wYXJhbV9vdXRwdXQoc3RydWN0IGNub2Rl
ICpjbm9kZSwgdW5zaWduZWQgaW50IGluZGVudCkKLXsKLSAgICBzdHJ1Y3QgcGFyYW1jbm9kZSAq
cGFyYW1jbm9kZSA9ICh2b2lkICopY25vZGU7Ci0gICAgcHJpbnRmKCIlKnM8cGFyYW0gaWRlbnRp
Zmllcj1cIiVzXCI+XG4iLCBpbmRlbnQsICIiLCBwYXJhbWNub2RlLT5uYW1lKTsKLSAgICBvdXRw
dXRjaGlsZHJlbigmcGFyYW1jbm9kZS0+Y24sIGluZGVudCwgMSk7Ci0gICAgcHJpbnRmKCIlKnM8
L3BhcmFtPlxuIiwgaW5kZW50LCAiIik7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogY25vZGUg
dHlwZSBwYXJhbQotICovCi1zdGF0aWMgY29uc3Qgc3RydWN0IGNub2RlZnVuY3MgcGFyYW1fZnVu
Y3MgPSB7Ci0gICAgMCwgLyogIWluZGVzYyAqLwotICAgIDAsIC8qICFuZWVkcGFyYSAqLwotICAg
ICZkZWZhdWx0X2Fza2VuZCwKLSAgICAwLCAvKiBlbmQgKi8KLSAgICAmcGFyYW1fb3V0cHV0LAot
fTsKLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqCi0gKiBjbm9kZSB0eXBlIHRocm93Ci0gKi8KLXN0YXRpYyBj
b25zdCBzdHJ1Y3QgY25vZGVmdW5jcyB0aHJvd19mdW5jcyA9IHsKLSAgICAwLCAvKiAhaW5kZXNj
ICovCi0gICAgMCwgLyogIW5lZWRwYXJhICovCi0gICAgJmRlZmF1bHRfYXNrZW5kLAotICAgIDAs
IC8qIGVuZCAqLwotICAgICZyZXR1cm5fb3V0cHV0LAotfTsKLQotLyoqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0g
KiBzdGFydHBhcmFtY25vZGUgOiBzdGFydCBwYXJhbSAob3IgdGhyb3cpIGNub2RlCi0gKgotICog
RW50ZXI6ICAgY25vZGUgPSBjdXJyZW50IGNub2RlCi0gKiAgICAgICAgICB3b3JkID0gbmFtZSBv
ZiBwYXJhbQotICogICAgICAgICAgd29yZGxlbiA9IGxlbmd0aCBvZiBuYW1lCi0gKiAgICAgICAg
ICBpbm91dCA9IGJpdCAwID0gaW4sIGJpdCAxID0gb3V0Ci0gKiAgICAgICAgICB0eXBlID0gJnBh
cmFtX2Z1bmNzIG9yICZ0aHJvd19mdW5jcwotICoKLSAqIFJldHVybjogIG5ldyBjdXJyZW50IGNu
b2RlCi0gKi8KLXN0YXRpYyBzdHJ1Y3QgY25vZGUgKgotc3RhcnRwYXJhbWNub2RlKHN0cnVjdCBj
bm9kZSAqY25vZGUsIGNvbnN0IGNoYXIgKndvcmQsIHVuc2lnbmVkIGludCB3b3JkbGVuLAotICAg
ICAgICAgICAgICAgIGludCBpbm91dCwgY29uc3Qgc3RydWN0IGNub2RlZnVuY3MgKmZ1bmNzKQot
ewotICAgIHN0cnVjdCBwYXJhbWNub2RlICpwYXJhbWNub2RlOwotICAgIHBhcmFtY25vZGUgPSBt
ZW1hbGxvYyhzaXplb2Yoc3RydWN0IHBhcmFtY25vZGUpICsgd29yZGxlbik7Ci0gICAgcGFyYW1j
bm9kZS0+Y24uZnVuY3MgPSBmdW5jczsKLSAgICBtZW1jcHkocGFyYW1jbm9kZS0+bmFtZSwgd29y
ZCwgd29yZGxlbik7Ci0gICAgcGFyYW1jbm9kZS0+bmFtZVt3b3JkbGVuXSA9IDA7Ci0gICAgcGFy
YW1jbm9kZS0+aW5vdXQgPSBpbm91dDsKLSAgICByZXR1cm4gc3RhcnRjbm9kZShjbm9kZSwgJnBh
cmFtY25vZGUtPmNuKTsKLX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBhcGlfZmVhdHVyZV9vdXRw
dXQgOiBvdXRwdXQgYXBpLWZlYXR1cmUgY25vZGUKLSAqCi0gKiBFbnRlcjogICBjbm9kZSBmb3Ig
cm9vdAotICogICAgICAgICAgaW5kZW50ID0gaW5kZW50IChuZXN0aW5nKSBsZXZlbAotICovCi1z
dGF0aWMgdm9pZAotYXBpX2ZlYXR1cmVfb3V0cHV0KHN0cnVjdCBjbm9kZSAqY25vZGUsIHVuc2ln
bmVkIGludCBpbmRlbnQpCi17Ci0gICAgc3RydWN0IHBhcmFtY25vZGUgKnBhcmFtY25vZGUgPSAo
dm9pZCAqKWNub2RlOwotICAgIHByaW50ZigiJSpzPGFwaS1mZWF0dXJlIGlkZW50aWZpZXI9XCIl
c1wiPlxuIiwgaW5kZW50LCAiIiwgcGFyYW1jbm9kZS0+bmFtZSk7Ci0gICAgb3V0cHV0Y2hpbGRy
ZW4oY25vZGUsIGluZGVudCwgMSk7Ci0gICAgcHJpbnRmKCIlKnM8L2FwaS1mZWF0dXJlPlxuIiwg
aW5kZW50LCAiIik7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogY25vZGUgdHlwZSBhcGlfZmVh
dHVyZQotICovCi1zdGF0aWMgY29uc3Qgc3RydWN0IGNub2RlZnVuY3MgYXBpX2ZlYXR1cmVfZnVu
Y3MgPSB7Ci0gICAgMCwgLyogIWluZGVzYyAqLwotICAgIDAsIC8qIG5lZWRwYXJhICovCi0gICAg
JmRlZmF1bHRfYXNrZW5kLAotICAgIDAsIC8qIGVuZCAqLwotICAgICZhcGlfZmVhdHVyZV9vdXRw
dXQsCi19OwotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIGRldmljZV9jYXBfb3V0cHV0IDogb3V0cHV0
IGRldmljZS1jYXAgY25vZGUKLSAqCi0gKiBFbnRlcjogICBjbm9kZSBmb3Igcm9vdAotICogICAg
ICAgICAgaW5kZW50ID0gaW5kZW50IChuZXN0aW5nKSBsZXZlbAotICovCi1zdGF0aWMgdm9pZAot
ZGV2aWNlX2NhcF9vdXRwdXQoc3RydWN0IGNub2RlICpjbm9kZSwgdW5zaWduZWQgaW50IGluZGVu
dCkKLXsKLSAgICBzdHJ1Y3QgcGFyYW1jbm9kZSAqcGFyYW1jbm9kZSA9ICh2b2lkICopY25vZGU7
Ci0gICAgcHJpbnRmKCIlKnM8ZGV2aWNlLWNhcCBpZGVudGlmaWVyPVwiJXNcIj5cbiIsIGluZGVu
dCwgIiIsIHBhcmFtY25vZGUtPm5hbWUpOwotICAgIG91dHB1dGNoaWxkcmVuKGNub2RlLCBpbmRl
bnQsIDEpOwotICAgIHByaW50ZigiJSpzPC9kZXZpY2UtY2FwPlxuIiwgaW5kZW50LCAiIik7Ci19
Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKgotICogY25vZGUgdHlwZSBkZXZpY2VfY2FwCi0gKi8KLXN0YXRp
YyBjb25zdCBzdHJ1Y3QgY25vZGVmdW5jcyBkZXZpY2VfY2FwX2Z1bmNzID0gewotICAgIDAsIC8q
ICFpbmRlc2MgKi8KLSAgICAwLCAvKiBuZWVkcGFyYSAqLwotICAgICZkZWZhdWx0X2Fza2VuZCwK
LSAgICAwLCAvKiBlbmQgKi8KLSAgICAmZGV2aWNlX2NhcF9vdXRwdXQsCi19OwotCi0vKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioKLSAqIGRlZl9hcGlfZmVhdHVyZV9hc2tlbmQgOiBhc2sgaWYgZGVmLWFwaS1mZWF0
dXJlIGNub2RlIHdhbnRzIHRvIGVuZCBhdCBuZXcgcGFyYQotICoKLSAqIEVudGVyOiAgIGNub2Rl
IGZvciBkZWYtYXBpLWZlYXR1cmUKLSAqICAgICAgICAgIHR5cGUgPSBjbm9kZWZ1bmNzIGZvciBu
ZXcgcGFyYSAoMCBpZiBodG1sIGJsb2NrIGVsZW1lbnQpCi0gKgotICogUmV0dXJuOiAgbm9uLXpl
cm8gdG8gZW5kIHRoZSBkZWYtYXBpLWZlYXR1cmUKLSAqLwotc3RhdGljIGludAotZGVmX2FwaV9m
ZWF0dXJlX2Fza2VuZChzdHJ1Y3QgY25vZGUgKmNub2RlLCBjb25zdCBzdHJ1Y3QgY25vZGVmdW5j
cyAqdHlwZSkKLXsKLSAgICAvKiBBIGRlZi1hcGktZmVhdHVyZSBkb2VzIG5vdCBlbmQgYXQgYSBw
bGFpbiBwYXJhLCBhbiBodG1sIGJsb2NrIGVsZW1lbnQsCi0gICAgICogYSBicmllZiBwYXJhLCBv
ciBhIGRldmljZS1jYXAuICovCi0gICAgaWYgKCF0eXBlIHx8IHR5cGUgPT0gJnBhcmFfZnVuY3Mg
fHwgdHlwZSA9PSAmZGV2aWNlX2NhcF9mdW5jcyB8fCB0eXBlID09ICZicmllZl9mdW5jcykKLSAg
ICAgICAgcmV0dXJuIDA7Ci0gICAgcmV0dXJuIDE7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICog
ZGVmX2FwaV9mZWF0dXJlX291dHB1dCA6IG91dHB1dCBkZWYtYXBpLWZlYXR1cmUgY25vZGUKLSAq
Ci0gKiBFbnRlcjogICBjbm9kZSBmb3Igcm9vdAotICogICAgICAgICAgaW5kZW50ID0gaW5kZW50
IChuZXN0aW5nKSBsZXZlbAotICovCi1zdGF0aWMgdm9pZAotZGVmX2FwaV9mZWF0dXJlX291dHB1
dChzdHJ1Y3QgY25vZGUgKmNub2RlLCB1bnNpZ25lZCBpbnQgaW5kZW50KQotewotICAgIHN0cnVj
dCBwYXJhbWNub2RlICpwYXJhbWNub2RlID0gKHZvaWQgKiljbm9kZTsKLSAgICBwcmludGYoIiUq
czxkZWYtYXBpLWZlYXR1cmUgaWRlbnRpZmllcj1cIiVzXCI+XG4iLCBpbmRlbnQsICIiLCBwYXJh
bWNub2RlLT5uYW1lKTsKLSAgICBwcmludGYoIiUqczxkZXNjcmlwdGl2ZT5cbiIsIGluZGVudCAr
IDIsICIiKTsKLSAgICBvdXRwdXRjaGlsZHJlbihjbm9kZSwgaW5kZW50ICsgMiwgMCk7Ci0gICAg
cHJpbnRmKCIlKnM8L2Rlc2NyaXB0aXZlPlxuIiwgaW5kZW50ICsgMiwgIiIpOwotICAgIHByaW50
ZigiJSpzPC9kZWYtYXBpLWZlYXR1cmU+XG4iLCBpbmRlbnQsICIiKTsKLX0KLQotLyoqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqCi0gKiBjbm9kZSB0eXBlIGRlZl9hcGlfZmVhdHVyZQotICovCi1zdGF0aWMgY29uc3Qg
c3RydWN0IGNub2RlZnVuY3MgZGVmX2FwaV9mZWF0dXJlX2Z1bmNzID0gewotICAgIDAsIC8qICFp
bmRlc2MgKi8KLSAgICAxLCAvKiBuZWVkcGFyYSAqLwotICAgICZkZWZfYXBpX2ZlYXR1cmVfYXNr
ZW5kLAotICAgIDAsIC8qIGVuZCAqLwotICAgICZkZWZfYXBpX2ZlYXR1cmVfb3V0cHV0LAotfTsK
LQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqCi0gKiBkZWZfYXBpX2ZlYXR1cmVfc2V0X2Fza2VuZCA6IGFzayBp
ZiBkZWYtYXBpLWZlYXR1cmUtc2V0IGNub2RlIHdhbnRzIHRvIGVuZCBhdCBuZXcgcGFyYQotICoK
LSAqIEVudGVyOiAgIGNub2RlIGZvciBkZWYtYXBpLWZlYXR1cmUtc2V0Ci0gKiAgICAgICAgICB0
eXBlID0gY25vZGVmdW5jcyBmb3IgbmV3IHBhcmEgKDAgaWYgaHRtbCBibG9jayBlbGVtZW50KQot
ICoKLSAqIFJldHVybjogIG5vbi16ZXJvIHRvIGVuZCB0aGUgZGVmLWFwaS1mZWF0dXJlLXNldAot
ICovCi1zdGF0aWMgaW50Ci1kZWZfYXBpX2ZlYXR1cmVfc2V0X2Fza2VuZChzdHJ1Y3QgY25vZGUg
KmNub2RlLCBjb25zdCBzdHJ1Y3QgY25vZGVmdW5jcyAqdHlwZSkKLXsKLSAgICAvKiBBIGRlZi1h
cGktZmVhdHVyZS1zZXQgZG9lcyBub3QgZW5kIGF0IGEgcGxhaW4gcGFyYSwgYW4gaHRtbCBibG9j
ayBlbGVtZW50LAotICAgICAqIGEgYnJpZWYgcGFyYSwgb3IgYW4gYXBpLWZlYXR1cmUuICovCi0g
ICAgaWYgKCF0eXBlIHx8IHR5cGUgPT0gJnBhcmFfZnVuY3MgfHwgdHlwZSA9PSAmYXBpX2ZlYXR1
cmVfZnVuY3MgfHwgdHlwZSA9PSAmYnJpZWZfZnVuY3MpCi0gICAgICAgIHJldHVybiAwOwotICAg
IHJldHVybiAxOwotfQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIGRlZl9hcGlfZmVhdHVyZV9zZXRf
b3V0cHV0IDogb3V0cHV0IGRlZi1hcGktZmVhdHVyZS1zZXQgY25vZGUKLSAqCi0gKiBFbnRlcjog
ICBjbm9kZSBmb3Igcm9vdAotICogICAgICAgICAgaW5kZW50ID0gaW5kZW50IChuZXN0aW5nKSBs
ZXZlbAotICovCi1zdGF0aWMgdm9pZAotZGVmX2FwaV9mZWF0dXJlX3NldF9vdXRwdXQoc3RydWN0
IGNub2RlICpjbm9kZSwgdW5zaWduZWQgaW50IGluZGVudCkKLXsKLSAgICBzdHJ1Y3QgcGFyYW1j
bm9kZSAqcGFyYW1jbm9kZSA9ICh2b2lkICopY25vZGU7Ci0gICAgcHJpbnRmKCIlKnM8ZGVmLWFw
aS1mZWF0dXJlLXNldCBpZGVudGlmaWVyPVwiJXNcIj5cbiIsIGluZGVudCwgIiIsIHBhcmFtY25v
ZGUtPm5hbWUpOwotICAgIHByaW50ZigiJSpzPGRlc2NyaXB0aXZlPlxuIiwgaW5kZW50ICsgMiwg
IiIpOwotICAgIG91dHB1dGNoaWxkcmVuKGNub2RlLCBpbmRlbnQgKyAyLCAwKTsKLSAgICBwcmlu
dGYoIiUqczwvZGVzY3JpcHRpdmU+XG4iLCBpbmRlbnQgKyAyLCAiIik7Ci0gICAgcHJpbnRmKCIl
KnM8L2RlZi1hcGktZmVhdHVyZS1zZXQ+XG4iLCBpbmRlbnQsICIiKTsKLX0KLQotLyoqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqCi0gKiBjbm9kZSB0eXBlIGRlZl9hcGlfZmVhdHVyZV9zZXQKLSAqLwotc3RhdGljIGNv
bnN0IHN0cnVjdCBjbm9kZWZ1bmNzIGRlZl9hcGlfZmVhdHVyZV9zZXRfZnVuY3MgPSB7Ci0gICAg
MCwgLyogIWluZGVzYyAqLwotICAgIDEsIC8qIG5lZWRwYXJhICovCi0gICAgJmRlZl9hcGlfZmVh
dHVyZV9zZXRfYXNrZW5kLAotICAgIDAsIC8qIGVuZCAqLwotICAgICZkZWZfYXBpX2ZlYXR1cmVf
c2V0X291dHB1dCwKLX07Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogZGVmX2luc3RhbnRpYXRlZF9h
c2tlbmQgOiBhc2sgaWYgZGVmLWluc3RhbnRpYXRlZCBjbm9kZSB3YW50cyB0byBlbmQgYXQgbmV3
IHBhcmEKLSAqCi0gKiBFbnRlcjogICBjbm9kZSBmb3IgZGVmLWluc3RhbnRpYXRlZAotICogICAg
ICAgICAgdHlwZSA9IGNub2RlZnVuY3MgZm9yIG5ldyBwYXJhICgwIGlmIGh0bWwgYmxvY2sgZWxl
bWVudCkKLSAqCi0gKiBSZXR1cm46ICBub24temVybyB0byBlbmQgdGhlIGRlZi1pbnN0YW50aWF0
ZWQKLSAqLwotc3RhdGljIGludAotZGVmX2luc3RhbnRpYXRlZF9hc2tlbmQoc3RydWN0IGNub2Rl
ICpjbm9kZSwgY29uc3Qgc3RydWN0IGNub2RlZnVuY3MgKnR5cGUpCi17Ci0gICAgLyogQSBkZWYt
aW5zdGFudGlhdGVkIGRvZXMgbm90IGVuZCBhdCBhIHBsYWluIHBhcmEsIGFuIGh0bWwgYmxvY2sg
ZWxlbWVudCwKLSAgICAgKiBhIGJyaWVmIHBhcmEsIG9yIGFuIGFwaS1mZWF0dXJlLiAqLwotICAg
IGlmICghdHlwZSB8fCB0eXBlID09ICZwYXJhX2Z1bmNzIHx8IHR5cGUgPT0gJmFwaV9mZWF0dXJl
X2Z1bmNzIHx8IHR5cGUgPT0gJmJyaWVmX2Z1bmNzKQotICAgICAgICByZXR1cm4gMDsKLSAgICBy
ZXR1cm4gMTsKLX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBkZWZfaW5zdGFudGlhdGVkX291dHB1
dCA6IG91dHB1dCBkZWYtaW5zdGFudGlhdGVkIGNub2RlCi0gKgotICogRW50ZXI6ICAgY25vZGUg
Zm9yIHJvb3QKLSAqICAgICAgICAgIGluZGVudCA9IGluZGVudCAobmVzdGluZykgbGV2ZWwKLSAq
Lwotc3RhdGljIHZvaWQKLWRlZl9pbnN0YW50aWF0ZWRfb3V0cHV0KHN0cnVjdCBjbm9kZSAqY25v
ZGUsIHVuc2lnbmVkIGludCBpbmRlbnQpCi17Ci0gICAgcHJpbnRmKCIlKnM8ZGVmLWluc3RhbnRp
YXRlZD5cbiIsIGluZGVudCwgIiIpOwotICAgIHByaW50ZigiJSpzPGRlc2NyaXB0aXZlPlxuIiwg
aW5kZW50ICsgMiwgIiIpOwotICAgIG91dHB1dGNoaWxkcmVuKGNub2RlLCBpbmRlbnQgKyAyLCAw
KTsKLSAgICBwcmludGYoIiUqczwvZGVzY3JpcHRpdmU+XG4iLCBpbmRlbnQgKyAyLCAiIik7Ci0g
ICAgcHJpbnRmKCIlKnM8L2RlZi1pbnN0YW50aWF0ZWQ+XG4iLCBpbmRlbnQsICIiKTsKLX0KLQot
LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqCi0gKiBjbm9kZSB0eXBlIGRlZl9pbnN0YW50aWF0ZWQKLSAqLwotc3Rh
dGljIGNvbnN0IHN0cnVjdCBjbm9kZWZ1bmNzIGRlZl9pbnN0YW50aWF0ZWRfZnVuY3MgPSB7Ci0g
ICAgMCwgLyogIWluZGVzYyAqLwotICAgIDEsIC8qIG5lZWRwYXJhICovCi0gICAgJmRlZl9pbnN0
YW50aWF0ZWRfYXNrZW5kLAotICAgIDAsIC8qIGVuZCAqLwotICAgICZkZWZfaW5zdGFudGlhdGVk
X291dHB1dCwKLX07Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogZGVmX2RldmljZV9jYXBfYXNrZW5k
IDogYXNrIGlmIGRlZi1kZXZpY2UtY2FwIGNub2RlIHdhbnRzIHRvIGVuZCBhdCBuZXcgcGFyYQot
ICoKLSAqIEVudGVyOiAgIGNub2RlIGZvciBkZWYtZGV2aWNlLWNhcAotICogICAgICAgICAgdHlw
ZSA9IGNub2RlZnVuY3MgZm9yIG5ldyBwYXJhICgwIGlmIGh0bWwgYmxvY2sgZWxlbWVudCkKLSAq
Ci0gKiBSZXR1cm46ICBub24temVybyB0byBlbmQgdGhlIGRlZi1kZXZpY2UtY2FwCi0gKi8KLXN0
YXRpYyBpbnQKLWRlZl9kZXZpY2VfY2FwX2Fza2VuZChzdHJ1Y3QgY25vZGUgKmNub2RlLCBjb25z
dCBzdHJ1Y3QgY25vZGVmdW5jcyAqdHlwZSkKLXsKLSAgICAvKiBBIGRlZi1kZXZpY2UtY2FwIGRv
ZXMgbm90IGVuZCBhdCBhIHBsYWluIHBhcmEsIGFuIGh0bWwgYmxvY2sgZWxlbWVudCwKLSAgICAg
KiBhIFxicmllZiBwYXJhLCBvciBhIHBhcmFtLiAqLwotICAgIGlmICghdHlwZSB8fCB0eXBlID09
ICZwYXJhX2Z1bmNzIHx8IHR5cGUgPT0gJnBhcmFtX2Z1bmNzIHx8IHR5cGUgPT0gJmJyaWVmX2Z1
bmNzKQotICAgICAgICByZXR1cm4gMDsKLSAgICByZXR1cm4gMTsKLX0KLQotLyoqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqCi0gKiBkZWZfZGV2aWNlX2NhcF9vdXRwdXQgOiBvdXRwdXQgZGVmX2RldmljZS1jYXAgY25v
ZGUKLSAqCi0gKiBFbnRlcjogICBjbm9kZSBmb3Igcm9vdAotICogICAgICAgICAgaW5kZW50ID0g
aW5kZW50IChuZXN0aW5nKSBsZXZlbAotICovCi1zdGF0aWMgdm9pZAotZGVmX2RldmljZV9jYXBf
b3V0cHV0KHN0cnVjdCBjbm9kZSAqY25vZGUsIHVuc2lnbmVkIGludCBpbmRlbnQpCi17Ci0gICAg
c3RydWN0IHBhcmFtY25vZGUgKnBhcmFtY25vZGUgPSAodm9pZCAqKWNub2RlOwotICAgIHByaW50
ZigiJSpzPGRlZi1kZXZpY2UtY2FwIGlkZW50aWZpZXI9XCIlc1wiPlxuIiwgaW5kZW50LCAiIiwg
cGFyYW1jbm9kZS0+bmFtZSk7Ci0gICAgcHJpbnRmKCIlKnM8ZGVzY3JpcHRpdmU+XG4iLCBpbmRl
bnQgKyAyLCAiIik7Ci0gICAgb3V0cHV0Y2hpbGRyZW4oY25vZGUsIGluZGVudCArIDIsIDApOwot
ICAgIHByaW50ZigiJSpzPC9kZXNjcmlwdGl2ZT5cbiIsIGluZGVudCArIDIsICIiKTsKLSAgICBw
cmludGYoIiUqczwvZGVmLWRldmljZS1jYXA+XG4iLCBpbmRlbnQsICIiKTsKLX0KLQotLyoqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqCi0gKiBjbm9kZSB0eXBlIGRlZl9kZXZpY2VfY2FwCi0gKi8KLXN0YXRpYyBjb25z
dCBzdHJ1Y3QgY25vZGVmdW5jcyBkZWZfZGV2aWNlX2NhcF9mdW5jcyA9IHsKLSAgICAwLCAvKiAh
aW5kZXNjICovCi0gICAgMSwgLyogbmVlZHBhcmEgKi8KLSAgICAmZGVmX2RldmljZV9jYXBfYXNr
ZW5kLAotICAgIDAsIC8qIGVuZCAqLwotICAgICZkZWZfZGV2aWNlX2NhcF9vdXRwdXQsCi19Owot
Ci0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioKLSAqIGFkZHRleHQgOiBhZGQgdGV4dCB0byBjdXJyZW50IHRleHQg
bm9kZSwgc3RhcnRpbmcgb25lIGlmIG5lY2Vzc2FyeQotICoKLSAqIEVudGVyOiAgIGNub2RlID0g
Y3VycmVudCBjbm9kZQotICogICAgICAgICAgdGV4dAotICogICAgICAgICAgbGVuID0gbGVuZ3Ro
IG9mIHRleHQKLSAqCi0gKiBSZXR1cm46ICBuZXcgY3VycmVudCBjbm9kZQotICovCi1zdGF0aWMg
c3RydWN0IGNub2RlICoKLWFkZHRleHQoc3RydWN0IGNub2RlICpjbm9kZSwgY29uc3QgY2hhciAq
dGV4dCwgdW5zaWduZWQgaW50IGxlbikKLXsKLSAgICBzdHJ1Y3QgdGV4dGNub2RlICp0ZXh0Y25v
ZGU7Ci0gICAgaWYgKCFsZW4pCi0gICAgICAgIHJldHVybiBjbm9kZTsKLSAgICBpZiAoY25vZGUt
PmZ1bmNzICE9ICZ0ZXh0X2Z1bmNzKSB7Ci0gICAgICAgIC8qIFN0YXJ0IG5ldyB0ZXh0IGNub2Rl
LiAqLwotICAgICAgICB0ZXh0Y25vZGUgPSBtZW1hbGxvYyhzaXplb2Yoc3RydWN0IHRleHRjbm9k
ZSkpOwotICAgICAgICB0ZXh0Y25vZGUtPmNuLmZ1bmNzID0gJnRleHRfZnVuY3M7Ci0gICAgICAg
IGNub2RlID0gc3RhcnRjbm9kZShjbm9kZSwgJnRleHRjbm9kZS0+Y24pOwotICAgIH0KLSAgICB0
ZXh0Y25vZGUgPSAodm9pZCAqKWNub2RlOwotICAgIGRvIHsKLSAgICAgICAgdW5zaWduZWQgY2hh
ciBidWZbMSArIHNpemVvZih2b2lkICopXTsKLSAgICAgICAgdW5zaWduZWQgaW50IHRoaXNsZW4g
PSBsZW47Ci0gICAgICAgIGlmICh0aGlzbGVuID4gMjU1KQotICAgICAgICAgICAgdGhpc2xlbiA9
IDI1NTsKLSAgICAgICAgLyogRW5jb2RlIGEgcmVjb3JkIGFzIGEgc2luZ2xlIGJ5dGUgbGVuZ3Ro
IGZvbGxvd2VkIGJ5IGEgcG9pbnRlci4gKi8KLSAgICAgICAgYnVmWzBdID0gdGhpc2xlbjsKLSAg
ICAgICAgbWVtY3B5KGJ1ZiArIDEsICZ0ZXh0LCBzaXplb2Yodm9pZCAqKSk7Ci0gICAgICAgIC8q
IEFkZCB0byB0aGUgdGV4dCBjbm9kZSdzIGRhdGEuICovCi0gICAgICAgIGlmICh0ZXh0Y25vZGUt
PmxlbiArIHNpemVvZihidWYpID49IHRleHRjbm9kZS0+bWF4KSB7Ci0gICAgICAgICAgICAvKiBO
ZWVkIHRvIHJlYWxsb2NhdGUgKG9yIGFsbG9jYXRlKSBkYXRhIGJ1ZmZlci4gKi8KLSAgICAgICAg
ICAgIHRleHRjbm9kZS0+bWF4ID0gdGV4dGNub2RlLT5tYXggPyAyICogdGV4dGNub2RlLT5tYXgg
OiAxMDI0OwotICAgICAgICAgICAgdGV4dGNub2RlLT5kYXRhID0gbWVtcmVhbGxvYyh0ZXh0Y25v
ZGUtPmRhdGEsIHRleHRjbm9kZS0+bWF4KTsKLSAgICAgICAgfQotICAgICAgICBtZW1jcHkodGV4
dGNub2RlLT5kYXRhICsgdGV4dGNub2RlLT5sZW4sIGJ1Ziwgc2l6ZW9mKGJ1ZikpOwotICAgICAg
ICB0ZXh0Y25vZGUtPmxlbiArPSBzaXplb2YoYnVmKTsKLSAgICAgICAgdGV4dCArPSB0aGlzbGVu
OwotICAgICAgICBsZW4gLT0gdGhpc2xlbjsKLSAgICB9IHdoaWxlIChsZW4pOwotICAgIHJldHVy
biAmdGV4dGNub2RlLT5jbjsKLX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBpc3doaXRlc3BhY2Ug
OiBkZXRlcm1pbmUgaWYgY2hhcmFjdGVyIGlzIHdoaXRlc3BhY2UKLSAqCi0gKiBFbnRlcjogICBj
aCA9IGNoYXJhY3RlcgotICoKLSAqIFJldHVybjogIDEgaWYgd2hpdGVzcGFjZQotICovCi1zdGF0
aWMgaW5saW5lIGludAotaXN3aGl0ZXNwYWNlKGludCBjaCkKLXsKLSAgICB1bnNpZ25lZCBpbnQg
aSA9IGNoIC0gMTsKLSAgICBpZiAoaSA+PSAzMikKLSAgICAgICAgcmV0dXJuIDA7Ci0gICAgcmV0
dXJuIDB4ODAwMDExMDAgPj4gaSAmIDE7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogcGFyc2V3
b3JkIDogcGFyc2UgdGhlIG5leHQgd29yZCwgaWdub3JpbmcgbGVhZGluZyB3aGl0ZXNwYWNlCi0g
KgotICogRW50ZXI6ICAgKnBwID0gdGV4dCBwb2ludGVyCi0gKgotICogUmV0dXJuOiAgMCBlbHNl
IHN0YXJ0IG9mIHdvcmQgKCpwcCB1cGRhdGVkIHRvIGp1c3QgYmV5b25kIGVuZCkKLSAqLwotc3Rh
dGljIGNvbnN0IGNoYXIgKgotcGFyc2V3b3JkKGNvbnN0IGNoYXIgKipwcCkKLXsKLSAgICBjb25z
dCBjaGFyICpwID0gKnBwLCAqd29yZCA9IDA7Ci0gICAgaW50IGNoID0gKnA7Ci0gICAgd2hpbGUg
KGlzd2hpdGVzcGFjZShjaCkpCi0gICAgICAgIGNoID0gKisrcDsKLSAgICB3b3JkID0gcDsKLSAg
ICB3aGlsZSAoKHVuc2lnbmVkKSgoY2ggJiB+MHgyMCkgLSAnQScpIDw9ICdaJyAtICdBJwotICAg
ICAgICAgICAgfHwgKHVuc2lnbmVkKShjaCAtICcwJykgPCAxMCB8fCBjaCA9PSAnXycgfHwgY2gg
PT0gJy4nCi0gICAgICAgICAgICB8fCBjaCA9PSAnOicgfHwgY2ggPT0gJy8nIHx8IGNoID09ICct
JykKLSAgICB7Ci0gICAgICAgIGNoID0gKisrcDsKLSAgICB9Ci0gICAgaWYgKHAgPT0gd29yZCkK
LSAgICAgICAgcmV0dXJuIDA7Ci0gICAgKnBwID0gcDsKLSAgICByZXR1cm4gd29yZDsKLX0KLQot
LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqCi0gKiBEb3h5Z2VuIGNvbW1hbmQgaGFuZGxlcnMKLSAqCi0gKiBFbnRl
cjogICBwID0gdGV4dCBqdXN0IGFmdGVyIGNvbW1hbmQKLSAqICAgICAgICAgICpwY25vZGUgPSBw
b2ludGVyIHRvIGN1cnJlbnQgY25vZGUgc3RydWN0Ci0gKiAgICAgICAgICB0eXBlID0gMCBlbHNl
IGNub2RlZnVuY3MgcG9pbnRlciBmb3IgdHlwZSBvZiBub2RlIHRvIHN0YXJ0Ci0gKiAgICAgICAg
ICBmaWxlbmFtZSwgbGluZW51bSA9IGN1cnJlbnQgZmlsZW5hbWUgYW5kIGxpbmUgbnVtYmVyIChm
b3IgZXJyb3IgcmVwb3J0aW5nKQotICoKLSAqIFJldHVybjogIHAgPSB1cGRhdGVkIGlmIGV4dHJh
IHRleHQgd2FzIGVhdGVuCi0gKgotICogT24gcmV0dXJuLCAqcG5vZGUgaXMgdXBkYXRlZCBpZiBh
bnkgbm9kZSB3YXMgY2xvc2VkIG9yIG9wZW5lZC4KLSAqLwotCi0vKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAq
IERveHlnZW4gY29tbWFuZCBoYW5kbGVyIDogXGIKLSAqLwotc3RhdGljIGNvbnN0IGNoYXIgKgot
ZG94X2IoY29uc3QgY2hhciAqcCwgc3RydWN0IGNub2RlICoqcGNub2RlLCBjb25zdCBzdHJ1Y3Qg
Y25vZGVmdW5jcyAqdHlwZSwKLSAgICAgIGNvbnN0IGNoYXIgKmZpbGVuYW1lLCB1bnNpZ25lZCBp
bnQgbGluZW51bSwgY29uc3QgY2hhciAqY21kbmFtZSkKLXsKLSAgICBzdHJ1Y3QgY25vZGUgKmNu
b2RlID0gKnBjbm9kZTsKLSAgICBjb25zdCBjaGFyICp3b3JkID0gcGFyc2V3b3JkKCZwKTsKLSAg
ICAvKiBTaWxlbnRseSBpZ25vcmUgXGIgd2l0aCBubyBmb2xsb3dpbmcgd29yZC4gKi8KLSAgICBp
ZiAod29yZCkgewotICAgICAgICBzdHJ1Y3QgY25vZGUgKm15Y25vZGU7Ci0gICAgICAgIG15Y25v
ZGUgPSBjbm9kZSA9IHN0YXJ0aHRtbGNub2RlKGNub2RlLCBIVE1MRUxERVNDX0IsIDAsIDAsIGZp
bGVuYW1lLCBsaW5lbnVtKTsKLSAgICAgICAgY25vZGUgPSBhZGR0ZXh0KGNub2RlLCB3b3JkLCBw
IC0gd29yZCk7Ci0gICAgICAgIHdoaWxlIChjbm9kZSAhPSBteWNub2RlKQotICAgICAgICAgICAg
Y25vZGUgPSBlbmRjbm9kZShjbm9kZSk7Ci0gICAgICAgIGNub2RlID0gZW5kY25vZGUoY25vZGUp
OwotICAgIH0KLSAgICAqcGNub2RlID0gY25vZGU7Ci0gICAgcmV0dXJuIHA7Ci19Ci0KLS8qKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKgotICogRG94eWdlbiBjb21tYW5kIGhhbmRsZXIgOiBcbgotICovCi1zdGF0aWMg
Y29uc3QgY2hhciAqCi1kb3hfbihjb25zdCBjaGFyICpwLCBzdHJ1Y3QgY25vZGUgKipwY25vZGUs
IGNvbnN0IHN0cnVjdCBjbm9kZWZ1bmNzICp0eXBlLAotICAgICAgY29uc3QgY2hhciAqZmlsZW5h
bWUsIHVuc2lnbmVkIGludCBsaW5lbnVtLCBjb25zdCBjaGFyICpjbWRuYW1lKQotewotICAgIHN0
cnVjdCBjbm9kZSAqY25vZGUgPSAqcGNub2RlOwotICAgIGNub2RlID0gc3RhcnRodG1sY25vZGUo
Y25vZGUsIEhUTUxFTERFU0NfQlIsIDAsIDAsIGZpbGVuYW1lLCBsaW5lbnVtKTsKLSAgICBjbm9k
ZSA9IGVuZGNub2RlKGNub2RlKTsKLSAgICAqcGNub2RlID0gY25vZGU7Ci0gICAgcmV0dXJuIHA7
Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKgotICogRG94eWdlbiBjb21tYW5kIGhhbmRsZXIgOiBcY29k
ZQotICovCi1zdGF0aWMgY29uc3QgY2hhciAqCi1kb3hfY29kZShjb25zdCBjaGFyICpwLCBzdHJ1
Y3QgY25vZGUgKipwY25vZGUsIGNvbnN0IHN0cnVjdCBjbm9kZWZ1bmNzICp0eXBlLAotICAgICAg
ICAgY29uc3QgY2hhciAqZmlsZW5hbWUsIHVuc2lnbmVkIGludCBsaW5lbnVtLCBjb25zdCBjaGFy
ICpjbWRuYW1lKQotewotICAgICpwY25vZGUgPSBzdGFydHBhcmEoKnBjbm9kZSwgJmNvZGVfZnVu
Y3MpOwotICAgICgqcGNub2RlKS0+ZmlsZW5hbWUgPSBmaWxlbmFtZTsKLSAgICAoKnBjbm9kZSkt
PmxpbmVudW0gPSBsaW5lbnVtOyAvKiBmb3IgcmVwb3J0aW5nIG1pc21hdGNoZWQgXGNvZGUgZXJy
b3IgKi8KLSAgICBpbmNvZGUgPSAxOwotICAgIHJldHVybiBwOwotfQotCi0vKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioKLSAqIERveHlnZW4gY29tbWFuZCBoYW5kbGVyIDogXGVuZGNvZGUKLSAqLwotc3RhdGljIGNv
bnN0IGNoYXIgKgotZG94X2VuZGNvZGUoY29uc3QgY2hhciAqcCwgc3RydWN0IGNub2RlICoqcGNu
b2RlLCBjb25zdCBzdHJ1Y3QgY25vZGVmdW5jcyAqdHlwZSwKLSAgICAgICAgICAgIGNvbnN0IGNo
YXIgKmZpbGVuYW1lLCB1bnNpZ25lZCBpbnQgbGluZW51bSwgY29uc3QgY2hhciAqY21kbmFtZSkK
LXsKLSAgICBpbmNvZGUgPSAwOwotICAgICpwY25vZGUgPSBlbmRzcGVjaWZpY2Nub2RlKCpwY25v
ZGUsICZjb2RlX2Z1bmNzLCBmaWxlbmFtZSwgbGluZW51bSk7Ci0gICAgcmV0dXJuIHA7Ci19Ci0K
LS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKgotICogRG94eWdlbiBjb21tYW5kIGhhbmRsZXIgOiBccGFyYW0KLSAq
Lwotc3RhdGljIGNvbnN0IGNoYXIgKgotZG94X3BhcmFtKGNvbnN0IGNoYXIgKnAsIHN0cnVjdCBj
bm9kZSAqKnBjbm9kZSwgY29uc3Qgc3RydWN0IGNub2RlZnVuY3MgKnR5cGUsCi0gICAgICAgICAg
Y29uc3QgY2hhciAqZmlsZW5hbWUsIHVuc2lnbmVkIGludCBsaW5lbnVtLCBjb25zdCBjaGFyICpj
bWRuYW1lKQotewotICAgIHN0cnVjdCBjbm9kZSAqY25vZGUgPSAqcGNub2RlOwotICAgIHVuc2ln
bmVkIGludCBpbm91dCA9IDA7Ci0gICAgY29uc3QgY2hhciAqd29yZDsKLSAgICAvKiBDaGVjayBm
b3IgImluIiwgIm91dCIgb3IgYm90aCBhcyBhdHRyaWJ1dGVzLiAqLwotICAgIGlmICgqcCA9PSAn
WycpIHsKLSAgICAgICAgZm9yICg7OykgewotICAgICAgICAgICAgcCsrOwotICAgICAgICAgICAg
aWYgKCFtZW1jbXAocCwgImluIiwgMikpIHsKLSAgICAgICAgICAgICAgICBpbm91dCB8PSAxOwot
ICAgICAgICAgICAgICAgIHAgKz0gMjsKLSAgICAgICAgICAgIH0gZWxzZSBpZiAoIW1lbWNtcChw
LCAib3V0IiwgMykpIHsKLSAgICAgICAgICAgICAgICBpbm91dCB8PSAyOwotICAgICAgICAgICAg
ICAgIHAgKz0gMzsKLSAgICAgICAgICAgIH0gZWxzZQotICAgICAgICAgICAgICAgIGJyZWFrOwot
ICAgICAgICAgICAgaWYgKCpwICE9ICcsJykKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAg
ICAgfQotICAgICAgICBpZiAoKnAgIT0gJ10nKQotICAgICAgICAgICAgbG9jZXJyb3JleGl0KGZp
bGVuYW1lLCBsaW5lbnVtLCAiYmFkIGF0dHJpYnV0ZXMgb24gXFxwYXJhbSIpOwotICAgICAgICBw
Kys7Ci0gICAgfQotICAgIC8qIEdldCB0aGUgbmV4dCB3b3JkIGFzIHRoZSBwYXJhbWV0ZXIgbmFt
ZS4gKi8KLSAgICB3b3JkID0gcGFyc2V3b3JkKCZwKTsKLSAgICBpZiAoIXdvcmQpCi0gICAgICAg
IGxvY2Vycm9yZXhpdChmaWxlbmFtZSwgbGluZW51bSwgImV4cGVjdGVkIHdvcmQgYWZ0ZXIgXFxw
YXJhbSIpOwotICAgIC8qIENsb3NlIGFueSBvcGVuIG5vZGVzLiAqLwotICAgIHdoaWxlICgoKmNu
b2RlLT5mdW5jcy0+YXNrZW5kKShjbm9kZSwgdHlwZSkpCi0gICAgICAgIGNub2RlID0gZW5kY25v
ZGUoY25vZGUpOwotICAgIC8qIENyZWF0ZSBhIG5ldyBwYXJhbSBjbm9kZS4gKi8KLSAgICBjbm9k
ZSA9IHN0YXJ0cGFyYW1jbm9kZShjbm9kZSwgd29yZCwgcCAtIHdvcmQsIGlub3V0LCB0eXBlKTsK
LSAgICBjbm9kZS0+ZmlsZW5hbWUgPSBmaWxlbmFtZTsKLSAgICBjbm9kZS0+bGluZW51bSA9IGxp
bmVudW07Ci0gICAgKnBjbm9kZSA9IGNub2RlOwotICAgIHJldHVybiBwOwotfQotCi0vKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioKLSAqIERveHlnZW4gY29tbWFuZCBoYW5kbGVyIDogXGJyaWVmLCBccmV0dXJuCi0g
Ki8KLXN0YXRpYyBjb25zdCBjaGFyICoKLWRveF9wYXJhKGNvbnN0IGNoYXIgKnAsIHN0cnVjdCBj
bm9kZSAqKnBjbm9kZSwgY29uc3Qgc3RydWN0IGNub2RlZnVuY3MgKnR5cGUsCi0gICAgICAgICBj
b25zdCBjaGFyICpmaWxlbmFtZSwgdW5zaWduZWQgaW50IGxpbmVudW0sIGNvbnN0IGNoYXIgKmNt
ZG5hbWUpCi17Ci0gICAgKnBjbm9kZSA9IHN0YXJ0cGFyYSgqcGNub2RlLCB0eXBlKTsKLSAgICBy
ZXR1cm4gcDsKLX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBEb3h5Z2VuIGNvbW1hbmQgaGFuZGxl
ciA6IFx0aHJvdwotICovCi1zdGF0aWMgY29uc3QgY2hhciAqCi1kb3hfdGhyb3coY29uc3QgY2hh
ciAqcCwgc3RydWN0IGNub2RlICoqcGNub2RlLCBjb25zdCBzdHJ1Y3QgY25vZGVmdW5jcyAqdHlw
ZSwKLSAgICAgICAgICBjb25zdCBjaGFyICpmaWxlbmFtZSwgdW5zaWduZWQgaW50IGxpbmVudW0s
IGNvbnN0IGNoYXIgKmNtZG5hbWUpCi17Ci0gICAgc3RydWN0IGNub2RlICpjbm9kZSA9ICpwY25v
ZGU7Ci0gICAgY29uc3QgY2hhciAqd29yZDsKLSAgICAvKiBHZXQgdGhlIG5leHQgd29yZCBhcyB0
aGUgZXhjZXB0aW9uIG5hbWUuICovCi0gICAgd29yZCA9IHBhcnNld29yZCgmcCk7Ci0gICAgaWYg
KCF3b3JkKQotICAgICAgICBsb2NlcnJvcmV4aXQoZmlsZW5hbWUsIGxpbmVudW0sICJleHBlY3Rl
ZCB3b3JkIGFmdGVyIFxcdGhyb3ciKTsKLSAgICAvKiBDbG9zZSBhbnkgb3BlbiBub2Rlcy4gKi8K
LSAgICB3aGlsZSAoKCpjbm9kZS0+ZnVuY3MtPmFza2VuZCkoY25vZGUsIHR5cGUpKQotICAgICAg
ICBjbm9kZSA9IGVuZGNub2RlKGNub2RlKTsKLSAgICAvKiBDcmVhdGUgYSBuZXcgdGhyb3cgY25v
ZGUuICovCi0gICAgY25vZGUgPSBzdGFydHBhcmFtY25vZGUoY25vZGUsIHdvcmQsIHAgLSB3b3Jk
LCAwLCB0eXBlKTsKLSAgICBjbm9kZS0+ZmlsZW5hbWUgPSBmaWxlbmFtZTsKLSAgICBjbm9kZS0+
bGluZW51bSA9IGxpbmVudW07Ci0gICAgKnBjbm9kZSA9IGNub2RlOwotICAgIHJldHVybiBwOwot
fQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioKLSAqIERveHlnZW4gY29tbWFuZCBoYW5kbGVyIDogXGxhbmcK
LSAqLwotc3RhdGljIGNvbnN0IGNoYXIgKgotZG94X2F0dHIoY29uc3QgY2hhciAqcCwgc3RydWN0
IGNub2RlICoqcGNub2RlLCBjb25zdCBzdHJ1Y3QgY25vZGVmdW5jcyAqdHlwZSwKLSAgICAgICAg
ICBjb25zdCBjaGFyICpmaWxlbmFtZSwgdW5zaWduZWQgaW50IGxpbmVudW0sIGNvbnN0IGNoYXIg
KmNtZG5hbWUpCi17Ci0gIHN0cnVjdCBjbm9kZSAqY25vZGUgPSAqcGNub2RlOwotICAgIGNvbnN0
IGNoYXIgKndvcmQ7Ci0gICAgaW50IGxlbiwgd29yZGxlbiwgb2Zmc2V0ID0gMDsKLQljaGFyICph
dHRydGV4dDsKLSAgICAvKiBHZXQgdGhlIG5leHQgd29yZCBhcyB0aGUgYXR0cmlidXRlIHZhbHVl
LiAqLwotICAgIHdvcmQgPSBwYXJzZXdvcmQoJnApOwotICAgIGlmICghd29yZCkKLSAgICAgICAg
bG9jZXJyb3JleGl0KGZpbGVuYW1lLCBsaW5lbnVtLCAiZXhwZWN0ZWQgd29yZCBhZnRlciBcXCVz
IiwgY21kbmFtZSk7Ci0KLQlsZW4gPSBzdHJsZW4oY21kbmFtZSkgKyAod29yZGxlbiA9IHAtd29y
ZCkgKyA0OyAvKiBwPSJ3b3JkIlwwICovCi0JaWYoY25vZGUtPmF0dHJ0ZXh0KQotCSAgbGVuICs9
IChvZmZzZXQgPSBzdHJsZW4oY25vZGUtPmF0dHJ0ZXh0KSkgKyAxOyAvKiBhZGQgc3BhY2UgZm9y
IHNwYWNlICovCi0JYXR0cnRleHQgPSBtZW1hbGxvYyhsZW4pOwotCWlmKG9mZnNldCkgewotCQlt
ZW1jcHkoYXR0cnRleHQsIGNub2RlLT5hdHRydGV4dCwgb2Zmc2V0KTsKLQkJYXR0cnRleHRbb2Zm
c2V0KytdID0gJyAnOwotCQltZW1mcmVlKCgodm9pZCopY25vZGUtPmF0dHJ0ZXh0KSk7Ci0JfQot
CW9mZnNldCArPSBzcHJpbnRmKCZhdHRydGV4dFtvZmZzZXRdLCAiJXM9XCIiLCBjbWRuYW1lKTsK
LQltZW1jcHkoJmF0dHJ0ZXh0W29mZnNldF0sIHdvcmQsIHdvcmRsZW4pOwotCXN0cmNweSgmYXR0
cnRleHRbb2Zmc2V0ICsgd29yZGxlbl0sICJcIiIpOwotCWNub2RlLT5hdHRydGV4dCA9IGF0dHJ0
ZXh0OwotCS8qIHNraXAgZGVsaW1pdGVyIGJlY2F1c2UgaXQgd29uJ3QgYmUgZG9uZSBvdGhlcndp
c2UgKi8KLQlpZihpbmNvZGUgJiYgaXN3aGl0ZXNwYWNlKCpwKSkgKytwOwotICAgIHJldHVybiBw
OwotfQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioKLSAqIGNvbW1hbmRzIDogdGFibGUgb2YgRG94eWdlbiBj
b21tYW5kcwotICovCi1zdHJ1Y3QgY29tbWFuZCB7Ci0gICAgY29uc3QgY2hhciAqKCpmdW5jKShj
b25zdCBjaGFyICpwLCBzdHJ1Y3QgY25vZGUgKipwY25vZGUsIGNvbnN0IHN0cnVjdCBjbm9kZWZ1
bmNzICp0eXBlLCBjb25zdCBjaGFyICpmaWxlbmFtZSwgdW5zaWduZWQgaW50IGxpbmVudW0sIGNv
bnN0IGNoYXIgKmNtZG5hbWUpOwotICAgIGNvbnN0IHN0cnVjdCBjbm9kZWZ1bmNzICp0eXBlOwot
ICAgIHVuc2lnbmVkIGludCBuYW1lbGVuOwotICAgIGNvbnN0IGNoYXIgKm5hbWU7Ci19Owotc3Rh
dGljIGNvbnN0IHN0cnVjdCBjb21tYW5kIGNvbW1hbmRzW10gPSB7Ci0gICAgeyAmZG94X3Rocm93
LCAmZGVmX2FwaV9mZWF0dXJlX2Z1bmNzLCAxNSwgImRlZi1hcGktZmVhdHVyZSIgfSwKLSAgICB7
ICZkb3hfdGhyb3csICZkZWZfYXBpX2ZlYXR1cmVfc2V0X2Z1bmNzLCAxOSwgImRlZi1hcGktZmVh
dHVyZS1zZXQiIH0sCi0gICAgeyAmZG94X3BhcmEsICZkZWZfaW5zdGFudGlhdGVkX2Z1bmNzLCAx
NiwgImRlZi1pbnN0YW50aWF0ZWQiIH0sCi0gICAgeyAmZG94X3BhcmEsICZuYW1lX2Z1bmNzLCA0
LCAibmFtZSIgfSwKLSAgICB7ICZkb3hfcGFyYSwgJmF1dGhvcl9mdW5jcywgNiwgImF1dGhvciIg
fSwKLSAgICB7ICZkb3hfYiwgMCwgMSwgImIiIH0sCi0gICAgeyAmZG94X3BhcmEsICZicmllZl9m
dW5jcywgNSwgImJyaWVmIiB9LAotICAgIHsgJmRveF9jb2RlLCAwLCA0LCAiY29kZSIgfSwKLSAg
ICB7ICZkb3hfdGhyb3csICZkZWZfZGV2aWNlX2NhcF9mdW5jcywgMTQsICJkZWYtZGV2aWNlLWNh
cCIgfSwKLSAgICB7ICZkb3hfYXR0ciwgMCwgNCwgImxhbmciIH0sCi0gICAgeyAmZG94X2VuZGNv
ZGUsIDAsIDcsICJlbmRjb2RlIiB9LAotICAgIHsgJmRveF9uLCAwLCAxLCAibiIgfSwKLSAgICB7
ICZkb3hfcGFyYW0sICZwYXJhbV9mdW5jcywgNSwgInBhcmFtIiB9LAotICAgIHsgJmRveF9wYXJh
LCAmcmV0dXJuX2Z1bmNzLCA2LCAicmV0dXJuIiB9LAotICAgIHsgJmRveF90aHJvdywgJnRocm93
X2Z1bmNzLCA1LCAidGhyb3ciIH0sCi0gICAgeyAmZG94X3Rocm93LCAmYXBpX2ZlYXR1cmVfZnVu
Y3MsIDExLCAiYXBpLWZlYXR1cmUiIH0sCi0gICAgeyAmZG94X3Rocm93LCAmZGV2aWNlX2NhcF9m
dW5jcywgMTAsICJkZXZpY2UtY2FwIiB9LAotICAgIHsgJmRveF9wYXJhLCAmdmVyc2lvbl9mdW5j
cywgNywgInZlcnNpb24iIH0sCi0gICAgeyAwLCAwLCAwIH0KLX07Ci0KLS8qKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KgotICogcGFyc2VodG1sdGFnIDogcGFyc2UgaHRtbCB0YWcKLSAqCi0gKiBFbnRlcjogICBzdGFy
dCA9IHN0YXJ0IG9mIHRhZywgdGhlICc8JyBjaGFyCi0gKiAgICAgICAgICAqcGNub2RlID0gY3Vy
cmVudCBjbm9kZQotICogICAgICAgICAgZmlsZW5hbWUgPSBmaWxlbmFtZQotICogICAgICAgICAg
KnBsaW5lbnVtID0gY3VycmVudCBsaW5lIG51bWJlcgotICoKLSAqIFJldHVybjogIGp1c3QgYWZ0
ZXIgdGhlIHRhZwotICogICAgICAgICAgKnBjbm9kZSBhbmQgKnBsaW5lbnVtIHVwZGF0ZWQgaWYg
YXBwbGljYWJsZQotICovCi1zdGF0aWMgY29uc3QgY2hhciAqCi1wYXJzZWh0bWx0YWcoY29uc3Qg
Y2hhciAqc3RhcnQsIHN0cnVjdCBjbm9kZSAqKnBjbm9kZSwKLSAgICAgICAgICAgICBjb25zdCBj
aGFyICpmaWxlbmFtZSwgdW5zaWduZWQgaW50ICpwbGluZW51bSkKLXsKLSAgICBzdHJ1Y3QgY25v
ZGUgKmNub2RlID0gKnBjbm9kZTsKLSAgICBjb25zdCBjaGFyICplbmQgPSBzdGFydCArIDEsICpl
bmRuYW1lID0gMCwgKm5hbWUgPSBlbmQ7Ci0gICAgaW50IGNoID0gKmVuZDsKLSAgICBpbnQgcXVv
dGUgPSAwOwotICAgIGludCBjbG9zZSA9IDA7Ci0gICAgdW5zaWduZWQgaW50IGxpbmVudW0gPSAq
cGxpbmVudW07Ci0gICAgY29uc3Qgc3RydWN0IGh0bWxlbGRlc2MgKmh0bWxlbGRlc2M7Ci0gICAg
aWYgKGNoID09ICcvJykgewotICAgICAgICBjbG9zZSA9IDE7Ci0gICAgICAgIGNoID0gKisrZW5k
OwotICAgICAgICBuYW1lID0gZW5kOwotICAgIH0KLSAgICAvKiBGaW5kIHRoZSBlbmQgb2YgdGhl
IHRhZy4gKi8KLSAgICBmb3IgKDs7KSB7Ci0gICAgICAgIGlmICghY2gpCi0gICAgICAgICAgICBs
b2NlcnJvcmV4aXQoZmlsZW5hbWUsICpwbGluZW51bSwgInVudGVybWluYXRlZCBIVE1MIHRhZyIp
OwotICAgICAgICBpZiAoY2ggPT0gJ1xuJykKLSAgICAgICAgICAgIGxpbmVudW0rKzsKLSAgICAg
ICAgZWxzZSBpZiAoaXN3aGl0ZXNwYWNlKGNoKSB8fCBjaCA9PSAnLycpIHsKLSAgICAgICAgICAg
IGlmICghZW5kbmFtZSkKLSAgICAgICAgICAgICAgICBlbmRuYW1lID0gZW5kOwotICAgICAgICB9
IGVsc2UgaWYgKCFxdW90ZSkgewotICAgICAgICAgICAgaWYgKGNoID09ICciJyB8fCBjaCA9PSAn
XCcnKQotICAgICAgICAgICAgICAgIHF1b3RlID0gY2g7Ci0gICAgICAgICAgICBlbHNlIGlmIChj
aCA9PSAnPicpCi0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAg
ICAgICAgICBpZiAoY2ggPT0gcXVvdGUpCi0gICAgICAgICAgICAgICAgcXVvdGUgPSAwOwotICAg
ICAgICB9Ci0gICAgICAgIGNoID0gKisrZW5kOwotICAgIH0KLSAgICBpZiAoIWVuZG5hbWUpCi0g
ICAgICAgIGVuZG5hbWUgPSBlbmQ7Ci0gICAgZW5kKys7Ci0gICAgLyogU2VlIGlmIGl0J3MgYW4g
eG1sIG9wZW4tY2xvc2UgdGFnLiAqLwotICAgIGlmICghY2xvc2UgJiYgZW5kbmFtZSAhPSBuYW1l
ICYmIGVuZFstMl0gPT0gJy8nKQotICAgICAgICBjbG9zZSA9IDI7Ci0gICAgLyogRmluZCB0aGUg
dGFnIGZyb20gb3VyIGxpc3QuICovCi0gICAgaHRtbGVsZGVzYyA9IGh0bWxlbGRlc2NzOwotICAg
IGZvciAoOzspIHsKLSAgICAgICAgaWYgKCFodG1sZWxkZXNjLT5uYW1lbGVuKSB7Ci0gICAgICAg
ICAgICBsb2NlcnJvcmV4aXQoZmlsZW5hbWUsICpwbGluZW51bSwgInVucmVjb2duaXplZCBIVE1M
IHRhZyAlLipzIiwKLSAgICAgICAgICAgICAgICAgICAgZW5kIC0gc3RhcnQsIHN0YXJ0KTsKLSAg
ICAgICAgfQotICAgICAgICBpZiAoaHRtbGVsZGVzYy0+bmFtZWxlbiA9PSBlbmRuYW1lIC0gbmFt
ZQotICAgICAgICAgICAgICAgICYmICFzdHJuY2FzZWNtcChodG1sZWxkZXNjLT5uYW1lLCBuYW1l
LCBlbmRuYW1lIC0gbmFtZSkpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAg
ICB9Ci0gICAgICAgIGh0bWxlbGRlc2MrKzsKLSAgICB9Ci0gICAgaWYgKGNsb3NlID09IDEpIHsK
LSAgICAgICAgLyogQ2xvc2luZyB0YWcuIEZpbmQgb3BlbiBlbGVtZW50IHRvIGNsb3NlLiAqLwot
ICAgICAgICBmb3IgKDs7KSB7Ci0gICAgICAgICAgICBzdHJ1Y3QgaHRtbGNub2RlICpodG1sY25v
ZGU7Ci0gICAgICAgICAgICBpZiAoY25vZGUtPmZ1bmNzICE9ICZ0ZXh0X2Z1bmNzKSB7Ci0gICAg
ICAgICAgICAgICAgaWYgKGNub2RlLT5mdW5jcyAhPSAmaHRtbF9mdW5jcykgewotICAgICAgICAg
ICAgICAgICAgICBsb2NlcnJvcmV4aXQoZmlsZW5hbWUsICpwbGluZW51bSwgIm1pc21hdGNoZWQg
JS4qcyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5kIC0gc3RhcnQsIHN0YXJ0KTsK
LSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgaHRtbGNub2RlID0gKHN0cnVjdCBo
dG1sY25vZGUgKiljbm9kZTsKLSAgICAgICAgICAgICAgICBpZiAoaHRtbGNub2RlLT5kZXNjID09
IGh0bWxlbGRlc2MpCi0gICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgICAg
IGlmICghKGh0bWxjbm9kZS0+ZGVzYy0+ZmxhZ3MgJiBIVE1MRUxfQVVUT0NMT1NFKSkgewotICAg
ICAgICAgICAgICAgICAgICBsb2NlcnJvcmV4aXQoZmlsZW5hbWUsIGh0bWxjbm9kZS0+Y24ubGlu
ZW51bSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAibWlzbWF0Y2hlZCA8JS4qcz4iLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGh0bWxjbm9kZS0+ZGVzYy0+bmFtZWxlbiwgaHRt
bGNub2RlLT5kZXNjLT5uYW1lKTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB9Ci0g
ICAgICAgICAgICBjbm9kZSA9IGVuZGNub2RlKGNub2RlKTsKLSAgICAgICAgfQotICAgICAgICBj
bm9kZSA9IGVuZGNub2RlKGNub2RlKTsKLSAgICB9IGVsc2UgewotICAgICAgICAvKiBPcGVuaW5n
IHRhZy4gKi8KLSAgICAgIGlmIChjbG9zZSAhPTIpCi0JICAgY25vZGUgPSBzdGFydGh0bWxjbm9k
ZShjbm9kZSwgaHRtbGVsZGVzYywgZW5kbmFtZSwgZW5kIC0gMSAtIGVuZG5hbWUsIGZpbGVuYW1l
LCAqcGxpbmVudW0pOwotICAgICAgZWxzZSAvLyBkb24ndCBpbmNsdWRlIHRoZSBjbG9zaW5nICIv
IiBpbiB0aGUgYXR0cmlidXRlcyBsaXN0Ci0JICAgY25vZGUgPSBzdGFydGh0bWxjbm9kZShjbm9k
ZSwgaHRtbGVsZGVzYywgZW5kbmFtZSwgZW5kIC0gMiAtIGVuZG5hbWUsIGZpbGVuYW1lLCAqcGxp
bmVudW0pOwotICAgICAgaWYgKGNsb3NlID09IDIgfHwgKGh0bWxlbGRlc2MtPmNvbnRlbnQgJiBI
VE1MRUxfRU1QVFkpKSB7Ci0JLyogRW1wdHkgZWxlbWVudCAtLSBjbG9zZSBpdCBhZ2Fpbi4gKi8K
LQljbm9kZSA9IGVuZGNub2RlKGNub2RlKTsKLSAgICAgIH0KLSAgICB9Ci0gICAgKnBjbm9kZSA9
IGNub2RlOwotICAgICpwbGluZW51bSA9IGxpbmVudW07Ci0gICAgcmV0dXJuIGVuZDsKLX0KLQot
LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqCi0gKiBwYXJzZWNvbW1lbnQgOiBwYXJzZSBvbmUgY29tbWVudAotICoK
LSAqIEVudGVyOiAgIGNvbW1lbnQgc3RydWN0Ci0gKi8KLXN0YXRpYyB2b2lkCi1wYXJzZWNvbW1l
bnQoc3RydWN0IGNvbW1lbnQgKmNvbW1lbnQpCi17Ci0gICAgc3RydWN0IGNub2RlICpjbm9kZSA9
ICZjb21tZW50LT5yb290OwotICAgIGNvbnN0IGNoYXIgKnAgPSBjb21tZW50LT50ZXh0ICsgY29t
bWVudC0+YmFjazsKLSAgICB1bnNpZ25lZCBpbnQgbGluZW51bSA9IGNvbW1lbnQtPmxpbmVudW0g
LSAxOwotICAgIGludCBjaDsKLSAgICBjdXJjb21tZW50ID0gY29tbWVudDsKLSAgICBpbmNvZGUg
PSAwOwotICAgIGluaHRtbGJsb2NrID0gMDsKLSAgICBjbm9kZS0+ZnVuY3MgPSAmcm9vdF9mdW5j
czsKLSAgICBmb3IgKDs7KSB7Ci0gICAgICAgIC8qIFN0YXJ0IG9mIG5ldyBsaW5lLiAqLwotICAg
ICAgICBjb25zdCBjaGFyICpzdGFydHRleHQ7Ci0gICAgICAgIGNoID0gKnA7Ci0gICAgICAgIGxp
bmVudW0rKzsKLSAgICAgICAgewotICAgICAgICAgICAgLyogRmluZCBmaXJzdCBub24td2hpdGVz
cGFjZSBjaGFyYWN0ZXIuICovCi0gICAgICAgICAgICBjb25zdCBjaGFyICpwMiA9IHA7Ci0gICAg
ICAgICAgICBpbnQgY2gyID0gY2g7Ci0gICAgICAgICAgICB3aGlsZSAoaXN3aGl0ZXNwYWNlKGNo
MikpCi0gICAgICAgICAgICAgICAgY2gyID0gKisrcDI7Ci0gICAgICAgICAgICBpZiAoY29tbWVu
dC0+dHlwZSA9PSBUT0tfQkxPQ0tDT01NRU5UICYmIGNoMiA9PSAnKicpIHsKLSAgICAgICAgICAg
ICAgICAvKiBJZ25vcmUgaW5pdGlhbCAqIGluIGJsb2NrIGNvbW1lbnQgKGV2ZW4gaW4gXGNvZGUg
YmxvY2spLiAqLwotICAgICAgICAgICAgICAgIGNoMiA9ICorK3AyOwotICAgICAgICAgICAgICAg
IGNoID0gY2gyOwotICAgICAgICAgICAgICAgIHAgPSBwMjsKLSAgICAgICAgICAgICAgICBpZiAo
Y2ggPT0gJyonKQotICAgICAgICAgICAgICAgICAgICBnb3RvIGNoZWNrZm9ybGluZW9mc3RhcnM7
Ci0gICAgICAgICAgICAgICAgd2hpbGUgKGlzd2hpdGVzcGFjZShjaDIpKQotICAgICAgICAgICAg
ICAgICAgICBjaDIgPSAqKytwMjsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGlmIChjb21t
ZW50LT50eXBlID09IFRPS19JTkxJTkVDT01NRU5UICYmIGNoMiA9PSAnLycpIHsKLWNoZWNrZm9y
bGluZW9mc3RhcnM6Ci0gICAgICAgICAgICAgICAgaWYgKCFpbmNvZGUpIHsKLSAgICAgICAgICAg
ICAgICAgICAgLyogSWdub3JlIHdob2xlIGxpbmUgb2YgKiBmb3IgYmxvY2sgY29tbWVudCBvciAv
IGZvciBpbmxpbmUKLSAgICAgICAgICAgICAgICAgICAgICogY29tbWVudCBpZiB0aGF0IGlzIHRo
ZSBvbmx5IHRoaW5nIG9uIHRoZSBsaW5lLiAqLwotICAgICAgICAgICAgICAgICAgICBjb25zdCBj
aGFyICpwMyA9IHAyOwotICAgICAgICAgICAgICAgICAgICBpbnQgY2gzOwotICAgICAgICAgICAg
ICAgICAgICBkbyBjaDMgPSAqKytwMzsgd2hpbGUgKGNoMyA9PSBjaDIpOwotICAgICAgICAgICAg
ICAgICAgICB3aGlsZSAoaXN3aGl0ZXNwYWNlKGNoMykpIGNoMyA9ICorK3AzOwotICAgICAgICAg
ICAgICAgICAgICBpZiAoIWNoMyB8fCBjaDMgPT0gJ1xuJykgewotICAgICAgICAgICAgICAgICAg
ICAgICAgLyogUmVhY2hlZCBlbmQgb2YgbGluZSAob3Igd2hvbGUgY29tbWVudCkgLS0gdHJlYXQg
YXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAqIGVtcHR5IGxpbmUuICovCi0gICAgICAgICAg
ICAgICAgICAgICAgICBjaDIgPSBjaDM7Ci0gICAgICAgICAgICAgICAgICAgICAgICBwMiA9IHAz
OwotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAg
fQotICAgICAgICAgICAgaWYgKCFpbmNvZGUpIHsKLSAgICAgICAgICAgICAgICAvKiBPbmx5IGFs
bG93IHdoaXRlc3BhY2Ugb21pc3Npb24gYWJvdmUgdG8gdGFrZSBlZmZlY3QgaWYKLSAgICAgICAg
ICAgICAgICAgKiBub3QgaW4gXGNvZGUgYmxvY2suICovCi0gICAgICAgICAgICAgICAgY2ggPSBj
aDI7Ci0gICAgICAgICAgICAgICAgcCA9IHAyOwotICAgICAgICAgICAgfQotICAgICAgICB9Ci0g
ICAgICAgIGlmICghY2gpIHsKLSAgICAgICAgICAgIC8qIEVuZCBvZiBjb21tZW50cyAtLSBmaW5p
c2guICovCi0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgfQotICAgICAgICBpZiAoIWluY29k
ZSAmJiAhaW5odG1sYmxvY2sgJiYgY2ggPT0gJ1xuJykgewotICAgICAgICAgICAgLyogQmxhbmsg
bGluZSAtLSBmaW5pc2ggYW55IHBhcmEsIGJ1dCBvbmx5IGlmIG5vdCBpbiBjb2RlIGFuZAotICAg
ICAgICAgICAgICogbm90IGluIGFueSBIVE1MIGJsb2NrIGVsZW1lbnQuICovCi0gICAgICAgICAg
ICB3aGlsZSAoKCpjbm9kZS0+ZnVuY3MtPmFza2VuZCkoY25vZGUsIDApKQotICAgICAgICAgICAg
ICAgIGNub2RlID0gZW5kY25vZGUoY25vZGUpOwotICAgICAgICAgICAgcCsrOwotICAgICAgICAg
ICAgY29udGludWU7Ci0gICAgICAgIH0KLSAgICAgICAgLyogU3RhcnQgbmV3IHBhcmEgaWYgdGhl
cmUgaXNuJ3QgYWxyZWFkeSBvbmUgZ29pbmcuICovCi0gICAgICAgIGlmIChjbm9kZS0+ZnVuY3Mt
Pm5lZWRwYXJhKQotICAgICAgICAgICAgY25vZGUgPSBzdGFydHBhcmEoY25vZGUsICZwYXJhX2Z1
bmNzKTsKLSAgICAgICAgLyogUHJvY2VzcyB0ZXh0IG9uIHRoZSBsaW5lLiAqLwotICAgICAgICBz
dGFydHRleHQgPSBwOwotICAgICAgICB3aGlsZSAoY2ggJiYgY2ggIT0gJ1xuJykgewotICAgICAg
ICAgICAgaWYgKGNoICE9ICdcXCcgJiYgY2ggIT0gJzwnIC8qICYmIGNoICE9ICdAJyAqLyAmJiBj
aCAhPSAnJCcKLSAgICAgICAgICAgICAgICAgICAgJiYgY2ggIT0gJyYnICYmIGNoICE9ICdccicp
Ci0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgY2ggPSAqKytwOwotICAgICAgICAgICAg
ICAgIGNvbnRpbnVlOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgLyogT3V0cHV0IGFueSBw
ZW5kaW5nIHRleHQuICovCi0gICAgICAgICAgICBpZiAocCAtIHN0YXJ0dGV4dCkKLSAgICAgICAg
ICAgICAgICBjbm9kZSA9IGFkZHRleHQoY25vZGUsIHN0YXJ0dGV4dCwgcCAtIHN0YXJ0dGV4dCk7
Ci0JICAgIC8qIElnbm9yZSBcciBpbiBET1MgbGluZSByZXR1cm5zICovCi0JICAgIGlmIChjaCA9
PSAnXHInKSB7Ci0JICAgICAgICBjaCA9ICorK3A7Ci0gIAkgICAgICAgIHN0YXJ0dGV4dCA9IHA7
Ci0JCWNvbnRpbnVlOwotCSAgICB9Ci0gICAgICAgICAgICBpZiAoY2ggPT0gJyQnKQotICAgICAg
ICAgICAgICAgIGxvY2Vycm9yZXhpdChjb21tZW50LT5maWxlbmFtZSwgbGluZW51bSwgInVzZSBc
XCQgaW5zdGVhZCBvZiAkIik7Ci0gICAgICAgICAgICAvKiBTZWUgaWYgaXQgaXMgYW4gaHRtbCBu
YW1lZCBlbnRpdHkuICovCi0gICAgICAgICAgICBpZiAoY2ggPT0gJyYnICYmIHBbMV0gIT0gJyMn
KSB7Ci0gICAgICAgICAgICAgICAgY29uc3QgY2hhciAqZW50aXR5ID0gRU5USVRJRVM7Ci0gICAg
ICAgICAgICAgICAgLyogVGhpcyBzZWFyY2ggY291bGQgYmUgZmFzdGVyIGlmIHRoZSBlbnRpdHkg
bmFtZXMgd2VyZSBwdXQKLSAgICAgICAgICAgICAgICAgKiBpbiBhIGhhc2ggdGFibGUgb3Igc29t
ZXRoaW5nLiAqLwotICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKnNlbWljb2xvbiA9IHN0cmNo
cihwLCAnOycpOwotICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBsZW47Ci0gICAgICAgICAg
ICAgICAgaWYgKCFzZW1pY29sb24pCi0gICAgICAgICAgICAgICAgICAgIGxvY2Vycm9yZXhpdChj
b21tZW50LT5maWxlbmFtZSwgbGluZW51bSwgInVudGVybWluYXRlZCBIVE1MIGVudGl0eSIpOwot
ICAgICAgICAgICAgICAgIHArKzsKLSAgICAgICAgICAgICAgICBmb3IgKDs7KSB7Ci0gICAgICAg
ICAgICAgICAgICAgIGxlbiA9IHN0cmxlbihlbnRpdHkpOwotICAgICAgICAgICAgICAgICAgICBp
ZiAoIWxlbikKLSAgICAgICAgICAgICAgICAgICAgICAgIGxvY2Vycm9yZXhpdChjb21tZW50LT5m
aWxlbmFtZSwgbGluZW51bSwgInVucmVjb2duaXNlZCBIVE1MIGVudGl0eSAmJS4qczsiLCBzZW1p
Y29sb24gLSBwLCBwKTsKLSAgICAgICAgICAgICAgICAgICAgaWYgKGxlbiA9PSBzZW1pY29sb24g
LSBwICYmICFtZW1jbXAocCwgZW50aXR5LCBsZW4pKQotICAgICAgICAgICAgICAgICAgICAgICAg
YnJlYWs7Ci0gICAgICAgICAgICAgICAgICAgIGVudGl0eSArPSBsZW4gKyAxOwotICAgICAgICAg
ICAgICAgICAgICBlbnRpdHkgKz0gc3RybGVuKGVudGl0eSkgKyAxOwotICAgICAgICAgICAgICAg
IH0KLSAgICAgICAgICAgICAgICBlbnRpdHkgKz0gbGVuICsgMTsKLSAgICAgICAgICAgICAgICBj
bm9kZSA9IGFkZHRleHQoY25vZGUsIGVudGl0eSwgc3RybGVuKGVudGl0eSkpOwotICAgICAgICAg
ICAgICAgIHAgPSBzZW1pY29sb24gKyAxOwotICAgICAgICAgICAgICAgIGNoID0gKnA7Ci0gICAg
ICAgICAgICAgICAgc3RhcnR0ZXh0ID0gcDsKLSAgICAgICAgICAgICAgICBjb250aW51ZTsKLSAg
ICAgICAgICAgIH0KLSAgICAgICAgICAgIC8qIFNlZSBpZiBpdCBpcyBhIGJhY2tzbGFzaCBlc2Nh
cGUgc2VxdWVuY2UuICovCi0gICAgICAgICAgICBlbHNlIGlmIChjaCA9PSAnXFwnKSB7Ci0gICAg
ICAgICAgICAgICAgY29uc3QgY2hhciAqbWF0Y2ggPSAiXFxAJiQjPD4lIjsKLSAgICAgICAgICAg
ICAgICBjb25zdCBjaGFyICpwb3M7Ci0gICAgICAgICAgICAgICAgY2ggPSBwWzFdOwotICAgICAg
ICAgICAgICAgIHBvcyA9IHN0cmNocihtYXRjaCwgY2gpOwotICAgICAgICAgICAgICAgIGlmIChw
b3MpIHsKLSAgICAgICAgICAgICAgICAgICAgLyogR290IGEgXCBlc2NhcGUgc2VxdWVuY2UuICov
Ci0gICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKnRleHQgPSAKLSAgICAgICAgICAgICAg
ICAgICAgICAgICJcXFwwICAgIEBcMCAgICAmYW1wO1wwJFwwICAgICNcMCAgICAmbHQ7XDAgPlww
ICAgICUiCi0gICAgICAgICAgICAgICAgICAgICAgICArIDYgKiAocG9zIC0gbWF0Y2gpOwotICAg
ICAgICAgICAgICAgICAgICBjbm9kZSA9IGFkZHRleHQoY25vZGUsIHRleHQsIHN0cmxlbih0ZXh0
KSk7Ci0gICAgICAgICAgICAgICAgICAgIHAgKz0gMjsKLSAgICAgICAgICAgICAgICAgICAgY2gg
PSAqcDsKLSAgICAgICAgICAgICAgICAgICAgc3RhcnR0ZXh0ID0gcDsKLSAgICAgICAgICAgICAg
ICAgICAgY29udGludWU7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgfSBlbHNlIGlm
IChjaCA9PSAnPCcpIHsKLSAgICAgICAgICAgICAgICBpZiAoaW5jb2RlKSB7Ci0gICAgICAgICAg
ICAgICAgICAgIGNoID0gKisrcDsKLSAgICAgICAgICAgICAgICAgICAgc3RhcnR0ZXh0ID0gcDsK
LSAgICAgICAgICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAgICAgICAgfQotICAgICAg
ICAgICAgICAgIC8qIEl0J3MgYW4gaHRtbCB0YWcuICovCi0gICAgICAgICAgICAgICAgcCA9IHBh
cnNlaHRtbHRhZyhwLCAmY25vZGUsIGNvbW1lbnQtPmZpbGVuYW1lLCAmbGluZW51bSk7Ci0gICAg
ICAgICAgICAgICAgY2ggPSAqcDsKLSAgICAgICAgICAgICAgICBzdGFydHRleHQgPSBwOwotICAg
ICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgewotICAg
ICAgICAgICAgICAgIC8qIEdvdCBhIGRveHlnZW4gY29tbWFuZC4gRmlyc3Qgd29yayBvdXQgaXRz
IGxlbmd0aC4gKi8KLSAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpzdGFydCA9ICsrcDsKLSAg
ICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgY21kbGVuOwotICAgICAgICAgICAgICAgIGNvbnN0
IHN0cnVjdCBjb21tYW5kICpjb21tYW5kOwotICAgICAgICAgICAgICAgIGNoID0gKnA7Ci0gICAg
ICAgICAgICAgICAgd2hpbGUgKCh1bnNpZ25lZCkoKGNoICYgfjB4MjApIC0gJ0EnKSA8PSAnWicg
LSAnQScKLSAgICAgICAgICAgICAgICAgICAgICAgIHx8ICh1bnNpZ25lZCkoY2ggLSAnMCcpIDwg
MTAgfHwgY2ggPT0gJ18nIHx8IGNoID09ICctJykKLSAgICAgICAgICAgICAgICB7Ci0gICAgICAg
ICAgICAgICAgICAgIGNoID0gKisrcDsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAg
ICAgY21kbGVuID0gcCAtIHN0YXJ0OwotICAgICAgICAgICAgICAgIGlmICghY21kbGVuKQotICAg
ICAgICAgICAgICAgICAgICBsb2NlcnJvcmV4aXQoY29tbWVudC0+ZmlsZW5hbWUsIGxpbmVudW0s
ICJcXCBvciBAIHdpdGhvdXQgRG94eWdlbiBjb21tYW5kIik7Ci0gICAgICAgICAgICAgICAgLyog
TG9vayBpdCB1cCBpbiB0aGUgdGFibGUuICovCi0gICAgICAgICAgICAgICAgY29tbWFuZCA9IGNv
bW1hbmRzOwotICAgICAgICAgICAgICAgIGZvciAoOzspIHsKLSAgICAgICAgICAgICAgICAgICAg
aWYgKCFjb21tYW5kLT5uYW1lbGVuKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBsb2NlcnJv
cmV4aXQoY29tbWVudC0+ZmlsZW5hbWUsIGxpbmVudW0sICJ1bnJlY29nbml6ZWQgRG94eWdlbiBj
b21tYW5kICclLipzJyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNtZGxlbiAr
IDEsIHN0YXJ0IC0gMSk7Ci0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAg
ICAgaWYgKGNvbW1hbmQtPm5hbWVsZW4gPT0gY21kbGVuCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgJiYgIW1lbWNtcChjb21tYW5kLT5uYW1lLCBzdGFydCwgY21kbGVuKSkKLSAgICAgICAg
ICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAg
ICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAgY29tbWFuZCsrOwotICAgICAgICAgICAg
ICAgIH0KLSAgICAgICAgICAgICAgICBwID0gKCpjb21tYW5kLT5mdW5jKShwLCAmY25vZGUsIGNv
bW1hbmQtPnR5cGUsCi0gICAgICAgICAgICAgICAgICAgICAgICBjb21tZW50LT5maWxlbmFtZSwg
bGluZW51bSwgY29tbWFuZC0+bmFtZSk7Ci0gICAgICAgICAgICAgICAgY2ggPSAqcDsKLSAgICAg
ICAgICAgICAgICBzdGFydHRleHQgPSBwOwotICAgICAgICAgICAgfQotICAgICAgICB9Ci0gICAg
ICAgIGlmIChwIC0gc3RhcnR0ZXh0KSB7Ci0gICAgICAgICAgICAvKiBTdGFydCBuZXcgcGFyYSBp
ZiB0aGVyZSBpc24ndCBhbHJlYWR5IG9uZSBnb2luZy4gKi8KLSAgICAgICAgICAgIGlmIChjbm9k
ZS0+ZnVuY3MtPm5lZWRwYXJhKQotICAgICAgICAgICAgICAgIGNub2RlID0gc3RhcnRwYXJhKGNu
b2RlLCAmcGFyYV9mdW5jcyk7Ci0gICAgICAgICAgICBjbm9kZSA9IGFkZHRleHQoY25vZGUsIHN0
YXJ0dGV4dCwgcCAtIHN0YXJ0dGV4dCk7Ci0gICAgICAgIH0KLSAgICAgICAgaWYgKCFjaCkKLSAg
ICAgICAgICAgIGJyZWFrOwotICAgICAgICBpZiAoY25vZGUtPmZ1bmNzID09ICZ0ZXh0X2Z1bmNz
KQotICAgICAgICAgICAgYWRkdGV4dChjbm9kZSwgIlxuIiwgMSk7Ci0gICAgICAgIHArKzsKLSAg
ICB9Ci0gICAgLyogRmluaXNoIHRoZSByb290IGNub2RlLiAqLwotICAgIGRvCi0gICAgICAgIGNu
b2RlID0gZW5kY25vZGUoY25vZGUpOwotICAgIHdoaWxlIChjbm9kZSk7Ci0gICAgYXNzZXJ0KCFp
bmNvZGUpOwotICAgIGFzc2VydCghaW5odG1sYmxvY2spOwotfQotCi0vKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioK
LSAqIHBhcnNlY29tbWVudHMgOiBwYXJzZSBjb21tZW50cwotICoKLSAqIEVudGVyOiAgIGNvbW1l
bnQgPSBmaXJzdCBjb21tZW50IGluIGxpc3QKLSAqLwotc3RhdGljIHZvaWQKLXBhcnNlY29tbWVu
dHMoc3RydWN0IGNvbW1lbnQgKmNvbW1lbnQpCi17Ci0gICAgd2hpbGUgKGNvbW1lbnQpIHsKLSAg
ICAgICAgcGFyc2Vjb21tZW50KGNvbW1lbnQpOwotICAgICAgICBjb21tZW50ID0gY29tbWVudC0+
bmV4dDsKLSAgICB9Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogYXR0YWNoY29tbWVudHRvbm9k
ZSA6IGF0dGFjaCBjb21tZW50IHN0cnVjdCB0byBub2RlCi0gKgotICogRW50ZXI6ICAgbm9kZSA9
IHBhcnNlIG5vZGUgZm9yIGlkZW50aWZpZXIKLSAqICAgICAgICAgIGNvbW1lbnQgPSBjb21tZW50
IHN0cnVjdAotICovCi1zdGF0aWMgdm9pZAotYXR0YWNoY29tbWVudHRvbm9kZShzdHJ1Y3Qgbm9k
ZSAqbm9kZSwgc3RydWN0IGNvbW1lbnQgKmNvbW1lbnQpCi17Ci0gICAgY29tbWVudC0+bmV4dCA9
IG5vZGUtPmNvbW1lbnRzOwotICAgIG5vZGUtPmNvbW1lbnRzID0gY29tbWVudDsKLX0KLQotLyoq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqCi0gKiBhdHRhY2hjb21tZW50cyA6IGF0dGFjaCBjb21tZW50cyB0byBhcHBs
aWNhYmxlIHBhcnNlIG5vZGVzCi0gKgotICogRW50ZXI6ICAgY29tbWVudCA9IGZpcnN0IGluIChy
ZXZlcnNlZCkgbGlzdCBvZiBjb21tZW50IHN0cnVjdHMKLSAqICAgICAgICAgIHJvb3QgPSByb290
IHBhcnNlIG5vZGUgKGZvciBhdHRhY2hpbmcgXGZpbGUgY29tbWVudCBibG9ja3MgdG8pCi0gKi8K
LXN0YXRpYyB2b2lkCi1hdHRhY2hjb21tZW50cyhzdHJ1Y3QgY29tbWVudCAqY29tbWVudCwgc3Ry
dWN0IG5vZGUgKnJvb3QpCi17Ci0gICAgd2hpbGUgKGNvbW1lbnQpIHsKLSAgICAgICAgc3RydWN0
IGNvbW1lbnQgKm5leHQgPSBjb21tZW50LT5uZXh0OwotICAgICAgICAvKiBTZWUgaWYgdGhlcmUg
YXJlIGFueSBccGFyYW0sIFxyZXR1cm4sIFx0aHJvdywgXGRlZi1hcGktZmVhdHVyZSBvcgotICAg
ICAgICAgKiBcZGVmLWRldmljZS1jYXAgY25vZGVzIHRvIGRldGFjaCBhbmQgYXR0YWNoCi0gICAg
ICAgICAqIGVsc2V3aGVyZS4gKFRoaXMgb25seSBsb29rcyBhdCB0b3AtbGV2ZWwgbm9kZXMsIGRp
cmVjdCBjaGlsZHJlbgotICAgICAgICAgKiBvZiB0aGUgcm9vdCwgc28gZG9lcyBub3QgZGV0YWNo
IGEgXHBhcmFtIGluc2lkZSBhCi0gICAgICAgICAqIFxkZWYtZGV2aWNlLWNhcC4pICovCi0gICAg
ICAgIHN0cnVjdCBjbm9kZSAqKnBjbm9kZSA9ICZjb21tZW50LT5yb290LmNoaWxkcmVuOwotICAg
ICAgICBmb3IgKDs7KSB7Ci0gICAgICAgICAgICBzdHJ1Y3QgY25vZGUgKmNub2RlID0gKnBjbm9k
ZTsKLSAgICAgICAgICAgIGlmICghY25vZGUpCi0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAg
ICAgICAgICBpZiAoY25vZGUtPmZ1bmNzID09ICZwYXJhbV9mdW5jcyB8fCBjbm9kZS0+ZnVuY3Mg
PT0gJnJldHVybl9mdW5jcwotICAgICAgICAgICAgICAgICAgICB8fCBjbm9kZS0+ZnVuY3MgPT0g
JnRocm93X2Z1bmNzKQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIC8qIEZvdW5kIGEg
XHBhcmFtIG9yIFxyZXR1cm4gb3IgXHRocm93IHRvIGRldGFjaC4gRmluZCB0aGUKLSAgICAgICAg
ICAgICAgICAgKiBwYXJhbWV0ZXIvZXhjZXB0aW9uIG9mIHRoZSBzYW1lIG5hbWUsIG9yIHRoZSBy
ZXR1cm4gdHlwZS4gKi8KLSAgICAgICAgICAgICAgICBzdHJ1Y3Qgbm9kZSAqbm9kZTsKLSAgICAg
ICAgICAgICAgICBzdHJ1Y3QgY29tbWVudCAqbmV3Y29tbWVudDsKLSAgICAgICAgICAgICAgICBp
ZiAoY25vZGUtPmZ1bmNzID09ICZwYXJhbV9mdW5jcykgewotICAgICAgICAgICAgICAgICAgICBu
b2RlID0gZmluZHBhcmFtaWRlbnRpZmllcihjb21tZW50LT5ub2RlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgKChzdHJ1Y3QgcGFyYW1jbm9kZSAqKWNub2RlKS0+bmFtZSk7Ci0gICAgICAgICAg
ICAgICAgICAgIGlmICghbm9kZSkKLSAgICAgICAgICAgICAgICAgICAgICAgIGxvY2Vycm9yZXhp
dChjb21tZW50LT5maWxlbmFtZSwgY25vZGUtPmxpbmVudW0sICJubyBwYXJhbWV0ZXIgJyVzJyBm
b3VuZCIsICgoc3RydWN0IHBhcmFtY25vZGUgKiljbm9kZSktPm5hbWUpOwotICAgICAgICAgICAg
ICAgIH0gZWxzZSBpZiAoY25vZGUtPmZ1bmNzID09ICZyZXR1cm5fZnVuY3MpIHsKLSAgICAgICAg
ICAgICAgICAgICAgbm9kZSA9IGZpbmRyZXR1cm50eXBlKGNvbW1lbnQtPm5vZGUpOwotICAgICAg
ICAgICAgICAgICAgICBpZiAoIW5vZGUpCi0gICAgICAgICAgICAgICAgICAgICAgICBsb2NlcnJv
cmV4aXQoY29tbWVudC0+ZmlsZW5hbWUsIGNub2RlLT5saW5lbnVtLCAibm8gcmV0dXJuIHR5cGUg
Zm91bmQiKTsKLSAgICAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgICAgICBu
b2RlID0gZmluZHRocm93aWRlbnRpZmllcihjb21tZW50LT5ub2RlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgKChzdHJ1Y3QgcGFyYW1jbm9kZSAqKWNub2RlKS0+bmFtZSk7Ci0gICAgICAgICAg
ICAgICAgICAgIGlmICghbm9kZSkKLSAgICAgICAgICAgICAgICAgICAgICAgIGxvY2Vycm9yZXhp
dChjb21tZW50LT5maWxlbmFtZSwgY25vZGUtPmxpbmVudW0sICJubyBleGNlcHRpb24gJyVzJyBm
b3VuZCIsICgoc3RydWN0IHBhcmFtY25vZGUgKiljbm9kZSktPm5hbWUpOwotICAgICAgICAgICAg
ICAgIH0KLSAgICAgICAgICAgICAgICAvKiBEZXRhY2ggdGhlIGNub2RlIGZyb20gaXRzIG9sZCBj
b21tZW50LiAqLwotICAgICAgICAgICAgICAgICpwY25vZGUgPSBjbm9kZS0+bmV4dDsKLSAgICAg
ICAgICAgICAgICAvKiBDcmVhdGUgYSBuZXcgY29tbWVudCBzdHJ1Y3QgdG8gY29udGFpbiB0aGlz
IGNub2RlLiAqLwotICAgICAgICAgICAgICAgIG5ld2NvbW1lbnQgPSBtZW1hbGxvYyhzaXplb2Yo
c3RydWN0IGNvbW1lbnQpKTsKLSAgICAgICAgICAgICAgICBuZXdjb21tZW50LT5yb290LmZ1bmNz
ID0gJnJvb3RfZnVuY3M7Ci0gICAgICAgICAgICAgICAgbmV3Y29tbWVudC0+bGluZW51bSA9IGNu
b2RlLT5saW5lbnVtOwotICAgICAgICAgICAgICAgIC8qIEF0dGFjaCB0aGUgY25vZGUuICovCi0g
ICAgICAgICAgICAgICAgbmV3Y29tbWVudC0+cm9vdC5jaGlsZHJlbiA9IGNub2RlOwotICAgICAg
ICAgICAgICAgIGNub2RlLT5wYXJlbnQgPSAmbmV3Y29tbWVudC0+cm9vdDsKLSAgICAgICAgICAg
ICAgICBjbm9kZS0+bmV4dCA9IDA7Ci0gICAgICAgICAgICAgICAgLyogTWFrZSB0aGUgY25vZGUg
YSBccmV0dXJuIG9uZSwganVzdCBzbyBldmVuIGEgXHBhcmFtCi0gICAgICAgICAgICAgICAgICog
dXNlcyByZXR1cm5fb3V0cHV0LiAqLwotICAgICAgICAgICAgICAgIGNub2RlLT5mdW5jcyA9ICZy
ZXR1cm5fZnVuY3M7Ci0gICAgICAgICAgICAgICAgLyogQXR0YWNoIHRoZSBuZXcgY29tbWVudCBz
dHJ1Y3QgdG8gdGhlIHBhcnNlIG5vZGUuICovCi0gICAgICAgICAgICAgICAgYXR0YWNoY29tbWVu
dHRvbm9kZShub2RlLCBuZXdjb21tZW50KTsKLSAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAg
ICAgICAgICAgcGNub2RlID0gJmNub2RlLT5uZXh0OwotICAgICAgICAgICAgfQotICAgICAgICB9
Ci0gICAgICAgIC8qIE5vdyBhdHRhY2ggdGhlIGNvbW1lbnQgdG8gaXRzIGlkZW50aWZpZXIgcGFy
c2Ugbm9kZS4gKi8KLSAgICAgICAgewotICAgICAgICAgICAgc3RydWN0IG5vZGUgKm5vZGUgPSBj
b21tZW50LT5ub2RlOwotICAgICAgICAgICAgaWYgKCFub2RlKQotICAgICAgICAgICAgICAgIG5v
ZGUgPSByb290OwotICAgICAgICAgICAgYXR0YWNoY29tbWVudHRvbm9kZShub2RlLCBjb21tZW50
KTsKLSAgICAgICAgfQotICAgICAgICBjb21tZW50ID0gbmV4dDsKLSAgICB9Ci19Ci0KLS8qKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKgotICogcHJvY2Vzc2NvbW1lbnRzIDogam9pbiwgcGFyc2UgYW5kIGF0dGFjaCBj
b21tZW50cwotICoKLSAqIEVudGVyOiAgIHJvb3QgPSByb290IHBhcnNlIG5vZGUKLSAqLwotdm9p
ZAotcHJvY2Vzc2NvbW1lbnRzKHN0cnVjdCBub2RlICpyb290KQotewotICAgIGNvbW1lbnRzID0g
am9pbmlubGluZWNvbW1lbnRzKGNvbW1lbnRzKTsKLSAgICBwYXJzZWNvbW1lbnRzKGNvbW1lbnRz
KTsKLSAgICBhdHRhY2hjb21tZW50cyhjb21tZW50cywgcm9vdCk7Ci19Ci0KLS8qKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKgotICogb3V0cHV0ZGVzY3JpcHRpdmUgOiBvdXRwdXQgZGVzY3JpcHRpdmUgZWxlbWVudHMg
Zm9yIGEgbm9kZQotICoKLSAqIEVudGVyOiAgIG5vZGUgPSBpZGVudGlmaWVyIG5vZGUgdGhhdCBt
aWdodCBoYXZlIHNvbWUgY29tbWVudHMKLSAqICAgICAgICAgIGluZGVudCA9IGluZGVudCAobmVz
dGluZykgbGV2ZWwKLSAqLwotdm9pZAotb3V0cHV0ZGVzY3JpcHRpdmUoc3RydWN0IG5vZGUgKm5v
ZGUsIHVuc2lnbmVkIGludCBpbmRlbnQpCi17Ci0gICAgc3RydWN0IGNvbW1lbnQgKmNvbW1lbnQg
PSBub2RlLT5jb21tZW50czsKLSAgICBpbnQgaW5kZXNjcmlwdGl2ZSA9IDA7Ci0gICAgd2hpbGUg
KGNvbW1lbnQpIHsKLSAgICAgICAgc3RydWN0IGNub2RlICpyb290ID0gJmNvbW1lbnQtPnJvb3Q7
Ci0gICAgICAgIGlmICghaW5kZXNjcmlwdGl2ZSkKLSAgICAgICAgICAgIHByaW50ZigiJSpzPGRl
c2NyaXB0aXZlPlxuIiwgaW5kZW50LCAiIik7Ci0gICAgICAgIGluZGVzY3JpcHRpdmUgPSAxOwot
ICAgICAgICAoKnJvb3QtPmZ1bmNzLT5vdXRwdXQpKHJvb3QsIGluZGVudCArIDIpOwotICAgICAg
ICBjb21tZW50ID0gY29tbWVudC0+bmV4dDsKLSAgICB9Ci0gICAgaWYgKGluZGVzY3JpcHRpdmUp
Ci0gICAgICAgIHByaW50ZigiJSpzPC9kZXNjcmlwdGl2ZT5cbiIsIGluZGVudCwgIiIpOwotfQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3NyYy9jb21tZW50LmggYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
d2lkbHByb2Mvc3JjL2NvbW1lbnQuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTZk
MThlMmNjOGEuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9zcmMvY29tbWVu
dC5oCisrKyAvZGV2L251bGwKQEAgLTEsMjUgKzAsMCBAQAotLyoqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiAk
SWQkCi0gKiBDb3B5cmlnaHQgMjAwOSBBcGxpeCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KLSAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAg
KHRoZSAiTGljZW5zZSIpOwotICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4g
Y29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgotICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9m
IHRoZSBMaWNlbnNlIGF0Ci0gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJ
Q0VOU0UtMi4wCi0gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVk
IHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCi0gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5z
ZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAotICogV0lUSE9VVCBXQVJSQU5U
SUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQu
Ci0gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcg
cGVybWlzc2lvbnMgYW5kCi0gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KLSAqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKi8KLSNpZm5kZWYgY29tbWVudF9oCi0jZGVmaW5lIGNvbW1lbnRfaAotCi1zdHJ1
Y3QgdG9rOwotc3RydWN0IG5vZGU7Ci0KLXZvaWQgYWRkY29tbWVudChzdHJ1Y3QgdG9rICp0b2sp
Owotdm9pZCBzZXRjb21tZW50bm9kZShzdHJ1Y3Qgbm9kZSAqbm9kZTIpOwotdm9pZCBwcm9jZXNz
Y29tbWVudHMoc3RydWN0IG5vZGUgKnJvb3QpOwotdm9pZCBvdXRwdXRkZXNjcmlwdGl2ZShzdHJ1
Y3Qgbm9kZSAqbm9kZSwgdW5zaWduZWQgaW50IGluZGVudCk7Ci0KLSNlbmRpZiAvKiBuZGVmIGNv
bW1lbnRfaCAqLwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3NyYy9lbnRpdGllcy5o
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3dpZGxwcm9jL3NyYy9lbnRpdGllcy5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCBmZjc0YzFjYjNiMi4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxw
cm9jL3NyYy9lbnRpdGllcy5oCisrKyAvZGV2L251bGwKQEAgLTEsMjcxICswLDAgQEAKLS8qKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKgotICogJElkJAotICogQ29weXJpZ2h0IDIwMDkgQXBsaXggQ29ycG9yYXRpb24u
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vu
c2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKLSAqIHlvdSBtYXkgbm90IHVzZSB0aGlz
IGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KLSAqIFlvdSBtYXkg
b2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAotICogICAgIGh0dHA6Ly93d3cuYXBhY2hl
Lm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAotICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2Fi
bGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQotICogZGlzdHJpYnV0ZWQg
dW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKLSAq
IFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhw
cmVzcyBvciBpbXBsaWVkLgotICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFu
Z3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAotICogbGltaXRhdGlvbnMgdW5kZXIgdGhl
IExpY2Vuc2UuCi0gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKiovCi0jaWZuZGVmIGVudGl0aWVzX2gKLSNkZWZpbmUg
ZW50aXRpZXNfaAotCi0jZGVmaW5lIEVOVElUSUVTIFwKLSJuYnNwXDAmIzE2MDtcMCIgXAotImll
eGNsXDAmIzE2MTtcMCIgXAotImNlbnRcMCYjMTYyO1wwIiBcCi0icG91bmRcMCYjMTYzO1wwIiBc
Ci0iY3VycmVuXDAmIzE2NDtcMCIgXAotInllblwwJiMxNjU7XDAiIFwKLSJicnZiYXJcMCYjMTY2
O1wwIiBcCi0ic2VjdFwwJiMxNjc7XDAiIFwKLSJ1bWxcMCYjMTY4O1wwIiBcCi0iY29weVwwJiMx
Njk7XDAiIFwKLSJvcmRmXDAmIzE3MDtcMCIgXAotImxhcXVvXDAmIzE3MTtcMCIgXAotIm5vdFww
JiMxNzI7XDAiIFwKLSJzaHlcMCYjMTczO1wwIiBcCi0icmVnXDAmIzE3NDtcMCIgXAotIm1hY3Jc
MCYjMTc1O1wwIiBcCi0iZGVnXDAmIzE3NjtcMCIgXAotInBsdXNtblwwJiMxNzc7XDAiIFwKLSJz
dXAyXDAmIzE3ODtcMCIgXAotInN1cDNcMCYjMTc5O1wwIiBcCi0iYWN1dGVcMCYjMTgwO1wwIiBc
Ci0ibWljcm9cMCYjMTgxO1wwIiBcCi0icGFyYVwwJiMxODI7XDAiIFwKLSJtaWRkb3RcMCYjMTgz
O1wwIiBcCi0iY2VkaWxcMCYjMTg0O1wwIiBcCi0ic3VwMVwwJiMxODU7XDAiIFwKLSJvcmRtXDAm
IzE4NjtcMCIgXAotInJhcXVvXDAmIzE4NztcMCIgXAotImZyYWMxNFwwJiMxODg7XDAiIFwKLSJm
cmFjMTJcMCYjMTg5O1wwIiBcCi0iZnJhYzM0XDAmIzE5MDtcMCIgXAotImlxdWVzdFwwJiMxOTE7
XDAiIFwKLSJBZ3JhdmVcMCYjMTkyO1wwIiBcCi0iQWFjdXRlXDAmIzE5MztcMCIgXAotIkFjaXJj
XDAmIzE5NDtcMCIgXAotIkF0aWxkZVwwJiMxOTU7XDAiIFwKLSJBdW1sXDAmIzE5NjtcMCIgXAot
IkFyaW5nXDAmIzE5NztcMCIgXAotIkFFbGlnXDAmIzE5ODtcMCIgXAotIkNjZWRpbFwwJiMxOTk7
XDAiIFwKLSJFZ3JhdmVcMCYjMjAwO1wwIiBcCi0iRWFjdXRlXDAmIzIwMTtcMCIgXAotIkVjaXJj
XDAmIzIwMjtcMCIgXAotIkV1bWxcMCYjMjAzO1wwIiBcCi0iSWdyYXZlXDAmIzIwNDtcMCIgXAot
IklhY3V0ZVwwJiMyMDU7XDAiIFwKLSJJY2lyY1wwJiMyMDY7XDAiIFwKLSJJdW1sXDAmIzIwNztc
MCIgXAotIkVUSFwwJiMyMDg7XDAiIFwKLSJOdGlsZGVcMCYjMjA5O1wwIiBcCi0iT2dyYXZlXDAm
IzIxMDtcMCIgXAotIk9hY3V0ZVwwJiMyMTE7XDAiIFwKLSJPY2lyY1wwJiMyMTI7XDAiIFwKLSJP
dGlsZGVcMCYjMjEzO1wwIiBcCi0iT3VtbFwwJiMyMTQ7XDAiIFwKLSJ0aW1lc1wwJiMyMTU7XDAi
IFwKLSJPc2xhc2hcMCYjMjE2O1wwIiBcCi0iVWdyYXZlXDAmIzIxNztcMCIgXAotIlVhY3V0ZVww
JiMyMTg7XDAiIFwKLSJVY2lyY1wwJiMyMTk7XDAiIFwKLSJVdW1sXDAmIzIyMDtcMCIgXAotIllh
Y3V0ZVwwJiMyMjE7XDAiIFwKLSJUSE9STlwwJiMyMjI7XDAiIFwKLSJzemxpZ1wwJiMyMjM7XDAi
IFwKLSJhZ3JhdmVcMCYjMjI0O1wwIiBcCi0iYWFjdXRlXDAmIzIyNTtcMCIgXAotImFjaXJjXDAm
IzIyNjtcMCIgXAotImF0aWxkZVwwJiMyMjc7XDAiIFwKLSJhdW1sXDAmIzIyODtcMCIgXAotImFy
aW5nXDAmIzIyOTtcMCIgXAotImFlbGlnXDAmIzIzMDtcMCIgXAotImNjZWRpbFwwJiMyMzE7XDAi
IFwKLSJlZ3JhdmVcMCYjMjMyO1wwIiBcCi0iZWFjdXRlXDAmIzIzMztcMCIgXAotImVjaXJjXDAm
IzIzNDtcMCIgXAotImV1bWxcMCYjMjM1O1wwIiBcCi0iaWdyYXZlXDAmIzIzNjtcMCIgXAotImlh
Y3V0ZVwwJiMyMzc7XDAiIFwKLSJpY2lyY1wwJiMyMzg7XDAiIFwKLSJpdW1sXDAmIzIzOTtcMCIg
XAotImV0aFwwJiMyNDA7XDAiIFwKLSJudGlsZGVcMCYjMjQxO1wwIiBcCi0ib2dyYXZlXDAmIzI0
MjtcMCIgXAotIm9hY3V0ZVwwJiMyNDM7XDAiIFwKLSJvY2lyY1wwJiMyNDQ7XDAiIFwKLSJvdGls
ZGVcMCYjMjQ1O1wwIiBcCi0ib3VtbFwwJiMyNDY7XDAiIFwKLSJkaXZpZGVcMCYjMjQ3O1wwIiBc
Ci0ib3NsYXNoXDAmIzI0ODtcMCIgXAotInVncmF2ZVwwJiMyNDk7XDAiIFwKLSJ1YWN1dGVcMCYj
MjUwO1wwIiBcCi0idWNpcmNcMCYjMjUxO1wwIiBcCi0idXVtbFwwJiMyNTI7XDAiIFwKLSJ5YWN1
dGVcMCYjMjUzO1wwIiBcCi0idGhvcm5cMCYjMjU0O1wwIiBcCi0ieXVtbFwwJiMyNTU7XDAiIFwK
LSJmbm9mXDAmIzQwMjtcMCIgXAotIkFscGhhXDAmIzkxMztcMCIgXAotIkJldGFcMCYjOTE0O1ww
IiBcCi0iR2FtbWFcMCYjOTE1O1wwIiBcCi0iRGVsdGFcMCYjOTE2O1wwIiBcCi0iRXBzaWxvblww
JiM5MTc7XDAiIFwKLSJaZXRhXDAmIzkxODtcMCIgXAotIkV0YVwwJiM5MTk7XDAiIFwKLSJUaGV0
YVwwJiM5MjA7XDAiIFwKLSJJb3RhXDAmIzkyMTtcMCIgXAotIkthcHBhXDAmIzkyMjtcMCIgXAot
IkxhbWJkYVwwJiM5MjM7XDAiIFwKLSJNdVwwJiM5MjQ7XDAiIFwKLSJOdVwwJiM5MjU7XDAiIFwK
LSJYaVwwJiM5MjY7XDAiIFwKLSJPbWljcm9uXDAmIzkyNztcMCIgXAotIlBpXDAmIzkyODtcMCIg
XAotIlJob1wwJiM5Mjk7XDAiIFwKLSJTaWdtYVwwJiM5MzE7XDAiIFwKLSJUYXVcMCYjOTMyO1ww
IiBcCi0iVXBzaWxvblwwJiM5MzM7XDAiIFwKLSJQaGlcMCYjOTM0O1wwIiBcCi0iQ2hpXDAmIzkz
NTtcMCIgXAotIlBzaVwwJiM5MzY7XDAiIFwKLSJPbWVnYVwwJiM5Mzc7XDAiIFwKLSJhbHBoYVww
JiM5NDU7XDAiIFwKLSJiZXRhXDAmIzk0NjtcMCIgXAotImdhbW1hXDAmIzk0NztcMCIgXAotImRl
bHRhXDAmIzk0ODtcMCIgXAotImVwc2lsb25cMCYjOTQ5O1wwIiBcCi0iemV0YVwwJiM5NTA7XDAi
IFwKLSJldGFcMCYjOTUxO1wwIiBcCi0idGhldGFcMCYjOTUyO1wwIiBcCi0iaW90YVwwJiM5NTM7
XDAiIFwKLSJrYXBwYVwwJiM5NTQ7XDAiIFwKLSJsYW1iZGFcMCYjOTU1O1wwIiBcCi0ibXVcMCYj
OTU2O1wwIiBcCi0ibnVcMCYjOTU3O1wwIiBcCi0ieGlcMCYjOTU4O1wwIiBcCi0ib21pY3Jvblww
JiM5NTk7XDAiIFwKLSJwaVwwJiM5NjA7XDAiIFwKLSJyaG9cMCYjOTYxO1wwIiBcCi0ic2lnbWFm
XDAmIzk2MjtcMCIgXAotInNpZ21hXDAmIzk2MztcMCIgXAotInRhdVwwJiM5NjQ7XDAiIFwKLSJ1
cHNpbG9uXDAmIzk2NTtcMCIgXAotInBoaVwwJiM5NjY7XDAiIFwKLSJjaGlcMCYjOTY3O1wwIiBc
Ci0icHNpXDAmIzk2ODtcMCIgXAotIm9tZWdhXDAmIzk2OTtcMCIgXAotInRoZXRhc3ltXDAmIzk3
NztcMCIgXAotInVwc2loXDAmIzk3ODtcMCIgXAotInBpdlwwJiM5ODI7XDAiIFwKLSJidWxsXDAm
IzgyMjY7XDAiIFwKLSJoZWxsaXBcMCYjODIzMDtcMCIgXAotInByaW1lXDAmIzgyNDI7XDAiIFwK
LSJQcmltZVwwJiM4MjQzO1wwIiBcCi0ib2xpbmVcMCYjODI1NDtcMCIgXAotImZyYXNsXDAmIzgy
NjA7XDAiIFwKLSJ3ZWllcnBcMCYjODQ3MjtcMCIgXAotImltYWdlXDAmIzg0NjU7XDAiIFwKLSJy
ZWFsXDAmIzg0NzY7XDAiIFwKLSJ0cmFkZVwwJiM4NDgyO1wwIiBcCi0iYWxlZnN5bVwwJiM4NTAx
O1wwIiBcCi0ibGFyclwwJiM4NTkyO1wwIiBcCi0idWFyclwwJiM4NTkzO1wwIiBcCi0icmFyclww
JiM4NTk0O1wwIiBcCi0iZGFyclwwJiM4NTk1O1wwIiBcCi0iaGFyclwwJiM4NTk2O1wwIiBcCi0i
Y3JhcnJcMCYjODYyOTtcMCIgXAotImxBcnJcMCYjODY1NjtcMCIgXAotInVBcnJcMCYjODY1Nztc
MCIgXAotInJBcnJcMCYjODY1ODtcMCIgXAotImRBcnJcMCYjODY1OTtcMCIgXAotImhBcnJcMCYj
ODY2MDtcMCIgXAotImZvcmFsbFwwJiM4NzA0O1wwIiBcCi0icGFydFwwJiM4NzA2O1wwIiBcCi0i
ZXhpc3RcMCYjODcwNztcMCIgXAotImVtcHR5XDAmIzg3MDk7XDAiIFwKLSJuYWJsYVwwJiM4NzEx
O1wwIiBcCi0iaXNpblwwJiM4NzEyO1wwIiBcCi0ibm90aW5cMCYjODcxMztcMCIgXAotIm5pXDAm
Izg3MTU7XDAiIFwKLSJwcm9kXDAmIzg3MTk7XDAiIFwKLSJzdW1cMCYjODcyMTtcMCIgXAotIm1p
bnVzXDAmIzg3MjI7XDAiIFwKLSJsb3dhc3RcMCYjODcyNztcMCIgXAotInJhZGljXDAmIzg3MzA7
XDAiIFwKLSJwcm9wXDAmIzg3MzM7XDAiIFwKLSJpbmZpblwwJiM4NzM0O1wwIiBcCi0iYW5nXDAm
Izg3MzY7XDAiIFwKLSJhbmRcMCYjODc0MztcMCIgXAotIm9yXDAmIzg3NDQ7XDAiIFwKLSJjYXBc
MCYjODc0NTtcMCIgXAotImN1cFwwJiM4NzQ2O1wwIiBcCi0iaW50XDAmIzg3NDc7XDAiIFwKLSJ0
aGVyZTRcMCYjODc1NjtcMCIgXAotInNpbVwwJiM4NzY0O1wwIiBcCi0iY29uZ1wwJiM4NzczO1ww
IiBcCi0iYXN5bXBcMCYjODc3NjtcMCIgXAotIm5lXDAmIzg4MDA7XDAiIFwKLSJlcXVpdlwwJiM4
ODAxO1wwIiBcCi0ibGVcMCYjODgwNDtcMCIgXAotImdlXDAmIzg4MDU7XDAiIFwKLSJzdWJcMCYj
ODgzNDtcMCIgXAotInN1cFwwJiM4ODM1O1wwIiBcCi0ibnN1YlwwJiM4ODM2O1wwIiBcCi0ic3Vi
ZVwwJiM4ODM4O1wwIiBcCi0ic3VwZVwwJiM4ODM5O1wwIiBcCi0ib3BsdXNcMCYjODg1MztcMCIg
XAotIm90aW1lc1wwJiM4ODU1O1wwIiBcCi0icGVycFwwJiM4ODY5O1wwIiBcCi0ic2RvdFwwJiM4
OTAxO1wwIiBcCi0ibGNlaWxcMCYjODk2ODtcMCIgXAotInJjZWlsXDAmIzg5Njk7XDAiIFwKLSJs
Zmxvb3JcMCYjODk3MDtcMCIgXAotInJmbG9vclwwJiM4OTcxO1wwIiBcCi0ibGFuZ1wwJiM5MDAx
O1wwIiBcCi0icmFuZ1wwJiM5MDAyO1wwIiBcCi0ibG96XDAmIzk2NzQ7XDAiIFwKLSJzcGFkZXNc
MCYjOTgyNDtcMCIgXAotImNsdWJzXDAmIzk4Mjc7XDAiIFwKLSJoZWFydHNcMCYjOTgyOTtcMCIg
XAotImRpYW1zXDAmIzk4MzA7XDAiIFwKLSJxdW90XDAmIzM0O1wwIiBcCi0iYW1wXDAmIzM4O1ww
IiBcCi0ibHRcMCYjNjA7XDAiIFwKLSJndFwwJiM2MjtcMCIgXAotIk9FbGlnXDAmIzMzODtcMCIg
XAotIm9lbGlnXDAmIzMzOTtcMCIgXAotIlNjYXJvblwwJiMzNTI7XDAiIFwKLSJzY2Fyb25cMCYj
MzUzO1wwIiBcCi0iWXVtbFwwJiMzNzY7XDAiIFwKLSJjaXJjXDAmIzcxMDtcMCIgXAotInRpbGRl
XDAmIzczMjtcMCIgXAotImVuc3BcMCYjODE5NDtcMCIgXAotImVtc3BcMCYjODE5NTtcMCIgXAot
InRoaW5zcFwwJiM4MjAxO1wwIiBcCi0iendualwwJiM4MjA0O1wwIiBcCi0iendqXDAmIzgyMDU7
XDAiIFwKLSJscm1cMCYjODIwNjtcMCIgXAotInJsbVwwJiM4MjA3O1wwIiBcCi0ibmRhc2hcMCYj
ODIxMTtcMCIgXAotIm1kYXNoXDAmIzgyMTI7XDAiIFwKLSJsc3F1b1wwJiM4MjE2O1wwIiBcCi0i
cnNxdW9cMCYjODIxNztcMCIgXAotInNicXVvXDAmIzgyMTg7XDAiIFwKLSJsZHF1b1wwJiM4MjIw
O1wwIiBcCi0icmRxdW9cMCYjODIyMTtcMCIgXAotImJkcXVvXDAmIzgyMjI7XDAiIFwKLSJkYWdn
ZXJcMCYjODIyNDtcMCIgXAotIkRhZ2dlclwwJiM4MjI1O1wwIiBcCi0icGVybWlsXDAmIzgyNDA7
XDAiIFwKLSJsc2FxdW9cMCYjODI0OTtcMCIgXAotInJzYXF1b1wwJiM4MjUwO1wwIiBcCi0iZXVy
b1wwJiM4MzY0O1wwIgotCi0jZW5kaWYgLyogbmRlZiBlbnRpdGllc19oICovCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mvc3JjL2xleC5jIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3NyYy9s
ZXguYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWY5MTAzMzg2YmQuLjAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9zcmMvbGV4LmMKKysrIC9kZXYvbnVsbApAQCAt
MSw1NjAgKzAsMCBAQAotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiAkSWQkCi0gKiBDb3B5cmlnaHQgMjAw
OSBBcGxpeCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIExpY2Vuc2VkIHVu
ZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOwotICog
eW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBM
aWNlbnNlLgotICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0Ci0gKiAg
ICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCi0gKiBVbmxlc3Mg
cmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3
YXJlCi0gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBh
biAiQVMgSVMiIEJBU0lTLAotICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0Yg
QU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCi0gKiBTZWUgdGhlIExpY2Vuc2Ug
Zm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCi0gKiBs
aW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KLSAqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLSNpbmNsdWRl
IDxhc3NlcnQuaD4KLSNpbmNsdWRlIDxlcnJuby5oPgotI2luY2x1ZGUgPHN0ZGlvLmg+Ci0jaW5j
bHVkZSA8c3RyaW5nLmg+Ci0jaW5jbHVkZSAibGV4LmgiCi0jaW5jbHVkZSAibWlzYy5oIgotI2lu
Y2x1ZGUgIm5vZGUuaCIKLSNpbmNsdWRlICJwcm9jZXNzLmgiCi0KLXN0cnVjdCBmaWxlIHsKLSAg
ICBzdHJ1Y3QgZmlsZSAqbmV4dDsKLSAgICBjb25zdCBjaGFyICpmaWxlbmFtZTsKLSAgICBjaGFy
ICpidWY7Ci0gICAgY29uc3QgY2hhciAqcG9zLCAqZW5kOwotICAgIHVuc2lnbmVkIGludCBsaW5l
bnVtOwotfTsKLQotY29uc3QgY2hhciBrZXl3b3Jkc1tdID0gS0VZV09SRFM7Ci0KLXN0YXRpYyBz
dHJ1Y3QgZmlsZSAqZmlsZSwgKmZpcnN0ZmlsZTsKLXN0YXRpYyBzdHJ1Y3QgdG9rIHRvazsKLQot
LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqCi0gKiByZWFkaW5wdXQgOiByZWFkIGFsbCBpbnB1dCBmaWxlcyBpbnRv
IG1lbW9yeQotICoKLSAqIEVudGVyOiAgIGFyZ3YgPSAwLXRlcm1pbmF0ZWQgYXJyYXkgb2YgZmls
ZW5hbWVzCi0gKi8KLXZvaWQKLXJlYWRpbnB1dChjb25zdCBjaGFyICpjb25zdCAqYXJndikKLXsK
LSAgICBzdHJ1Y3QgZmlsZSAqKnBmaWxlID0gJmZpbGU7Ci0gICAgZm9yICg7OykgewotICAgICAg
ICBzdHJ1Y3QgZmlsZSAqZmlsZTsKLSAgICAgICAgY29uc3QgY2hhciAqZmlsZW5hbWUgPSAqYXJn
disrOwotICAgICAgICBjaGFyICpidWYgPSAwOwotICAgICAgICBpbnQgbGVuID0gMCwgdGhpc2xl
biwgaXNzdGRpbjsKLSAgICAgICAgRklMRSAqaGFuZGxlOwotICAgICAgICBpZiAoIWZpbGVuYW1l
KQotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIC8qIFJlYWQgdGhlIGZpbGUuICovCi0gICAg
ICAgIGlzc3RkaW4gPSAhc3RyY21wKGZpbGVuYW1lLCAiLSIpOwotICAgICAgICBpZiAoaXNzdGRp
bikgewotICAgICAgICAgICAgaGFuZGxlID0gc3RkaW47Ci0gICAgICAgICAgICBmaWxlbmFtZSA9
ICI8c3RkaW4+IjsKLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIGhhbmRsZSA9IGZvcGVu
KGZpbGVuYW1lLCAicmIiKTsKLSAgICAgICAgICAgIGlmICghaGFuZGxlKQotICAgICAgICAgICAg
ICAgIGVycm9yZXhpdCgiJXM6ICVzIiwgZmlsZW5hbWUsIHN0cmVycm9yKGVycm5vKSk7Ci0gICAg
ICAgIH0KLSAgICAgICAgZm9yICg7OykgewotICAgICAgICAgICAgdGhpc2xlbiA9IGxlbiA/IGxl
biAqIDIgOiA0MDk2OwotICAgICAgICAgICAgYnVmID0gbWVtcmVhbGxvYyhidWYsIGxlbiArIHRo
aXNsZW4gKyAxKTsKLSAgICAgICAgICAgIHRoaXNsZW4gPSBmcmVhZChidWYgKyBsZW4sIDEsIHRo
aXNsZW4sIGhhbmRsZSk7Ci0gICAgICAgICAgICBpZiAoIXRoaXNsZW4pCi0gICAgICAgICAgICAg
ICAgYnJlYWs7Ci0gICAgICAgICAgICBsZW4gKz0gdGhpc2xlbjsKLSAgICAgICAgfQotICAgICAg
ICBpZiAoZmVycm9yKGhhbmRsZSkpCi0gICAgICAgICAgICBlcnJvcmV4aXQoIiVzOiBJL08gZXJy
b3IiLCBmaWxlbmFtZSk7Ci0gICAgICAgIGlmICghaXNzdGRpbikKLSAgICAgICAgICAgIGZjbG9z
ZShoYW5kbGUpOwotICAgICAgICBidWZbbGVuXSA9IDA7Ci0gICAgICAgIGJ1ZiA9IG1lbXJlYWxs
b2MoYnVmLCBsZW4gKyAxKTsKLSAgICAgICAgLyogQ3JlYXRlIHRoZSBmaWxlIHN0cnVjdCBmb3Ig
aXQuICovCi0gICAgICAgIGZpbGUgPSBtZW1hbGxvYyhzaXplb2Yoc3RydWN0IGZpbGUpKTsKLSAg
ICAgICAgKnBmaWxlID0gZmlsZTsKLSAgICAgICAgcGZpbGUgPSAmZmlsZS0+bmV4dDsKLSAgICAg
ICAgZmlsZS0+ZmlsZW5hbWUgPSBmaWxlbmFtZTsKLSAgICAgICAgZmlsZS0+cG9zID0gZmlsZS0+
YnVmID0gYnVmOwotICAgICAgICBmaWxlLT5lbmQgPSBidWYgKyBsZW47Ci0gICAgICAgIGZpbGUt
PmxpbmVudW0gPSAxOwotICAgIH0KLSAgICAqcGZpbGUgPSAwOwotICAgIGZpcnN0ZmlsZSA9IGZp
bGU7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKgotICogbGV4ZXJyb3JleGl0IDogZXJyb3IgYW5kIGV4
aXQgd2l0aCBsaW5lIG51bWJlcgotICovCi1zdGF0aWMgdm9pZAotbGV4ZXJyb3JleGl0KGNvbnN0
IGNoYXIgKmZvcm1hdCwgLi4uKQotewotICAgIHZhX2xpc3QgYXA7Ci0gICAgdmFfc3RhcnQoYXAs
IGZvcm1hdCk7Ci0gICAgdmxvY2Vycm9yZXhpdChmaWxlLT5maWxlbmFtZSwgZmlsZS0+bGluZW51
bSwgZm9ybWF0LCBhcCk7Ci0gICAgdmFfZW5kKGFwKTsKLX0KLQotLyoqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0g
KiBsZXhibG9ja2NvbW1lbnQgOiBsZXggYSBibG9jayBjb21tZW50Ci0gKgotICogRW50ZXI6ICAg
c3RhcnQgPSBzdGFydCBvZiBjb21tZW50Ci0gKgotICogUmV0dXJuOiAgdG9rIHN0cnVjdCwgbGlm
ZXRpbWUgdW50aWwgbmV4dCBjYWxsIHRvIGxleAotICovCi1zdGF0aWMgc3RydWN0IHRvayAqCi1s
ZXhibG9ja2NvbW1lbnQoY29uc3QgY2hhciAqc3RhcnQpCi17Ci0gICAgY29uc3QgY2hhciAqcCA9
IHN0YXJ0ICsgMTsKLSAgICB0b2suZmlsZW5hbWUgPSBmaWxlLT5maWxlbmFtZTsKLSAgICB0b2su
bGluZW51bSA9IGZpbGUtPmxpbmVudW07Ci0gICAgZm9yICg7OykgewotICAgICAgICBpbnQgY2gg
PSAqKytwOwotICAgICAgICBpZiAoIWNoKQotICAgICAgICAgICAgbGV4ZXJyb3JleGl0KCJ1bnRl
cm1pbmF0ZWQgYmxvY2sgY29tbWVudCIpOwotICAgICAgICBpZiAoY2ggIT0gJyonKSB7Ci0gICAg
ICAgICAgICBpZiAoY2ggPT0gJ1xuJykKLSAgICAgICAgICAgICAgICBmaWxlLT5saW5lbnVtKys7
Ci0gICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgfQotICAgICAgICBjaCA9IHBbMV07Ci0g
ICAgICAgIGlmICghY2gpCi0gICAgICAgICAgICBsZXhlcnJvcmV4aXQoInVudGVybWluYXRlZCBi
bG9jayBjb21tZW50Iik7Ci0gICAgICAgIGlmIChjaCA9PSAnLycpCi0gICAgICAgICAgICBicmVh
azsKLSAgICB9Ci0gICAgcCArPSAyOwotICAgIGZpbGUtPnBvcyA9IHA7Ci0gICAgdG9rLnR5cGUg
PSBUT0tfQkxPQ0tDT01NRU5UOwotICAgIHRvay5zdGFydCA9IHN0YXJ0ICsgMjsKLSAgICB0b2su
bGVuID0gcCAtIHN0YXJ0IC0gNDsKLSAgICByZXR1cm4gJnRvazsKLX0KLQotLyoqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqCi0gKiBsZXhpbmxpbmVjb21tZW50IDogbGV4IGFuIGlubGluZSBjb21tZW50Ci0gKgotICog
RW50ZXI6ICAgc3RhcnQgPSBzdGFydCBvZiBjb21tZW50LCBzdGFydHMgd2l0aCAiLy8iCi0gKgot
ICogUmV0dXJuOiAgdG9rIHN0cnVjdCwgbGlmZXRpbWUgdW50aWwgbmV4dCBjYWxsIHRvIGxleAot
ICovCi1zdGF0aWMgc3RydWN0IHRvayAqCi1sZXhpbmxpbmVjb21tZW50KGNvbnN0IGNoYXIgKnN0
YXJ0KQotewotICAgIGNvbnN0IGNoYXIgKnAgPSBzdGFydCArIDI7Ci0gICAgcCA9IHN0YXJ0ICsg
MTsKLSAgICBmb3IgKDs7KSB7Ci0gICAgICAgIGludCBjaCA9ICorK3A7Ci0gICAgICAgIGlmICgh
Y2ggfHwgY2ggPT0gJ1xuJykKLSAgICAgICAgICAgIGJyZWFrOwotICAgIH0KLSAgICBwKys7Ci0g
ICAgZmlsZS0+cG9zID0gcDsKLSAgICB0b2sudHlwZSA9IFRPS19JTkxJTkVDT01NRU5UOwotICAg
IHRvay5zdGFydCA9IHN0YXJ0ICsgMjsKLSAgICB0b2subGVuID0gcCAtIHN0YXJ0IC0gMjsKLSAg
ICB0b2suZmlsZW5hbWUgPSBmaWxlLT5maWxlbmFtZTsKLSAgICB0b2subGluZW51bSA9IGZpbGUt
PmxpbmVudW0rKzsKLSAgICByZXR1cm4gJnRvazsKLX0KLQotLyoqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBs
ZXhudW1iZXIgOiBsZXggYSBudW1iZXIgKG9yIGp1c3QgYSAnLScgc3ltYm9sKQotICoKLSAqIEVu
dGVyOiAgIHN0YXJ0ID0gc3RhcnQgb2YgdG9rZW4KLSAqCi0gKiBSZXR1cm46ICB0b2sgc3RydWN0
LCBsaWZldGltZSB1bnRpbCBuZXh0IGNhbGwgdG8gbGV4Ci0gKgotICogVGhlIElETCBncmFtbWFy
IHNlZW1zIHRvIHNheSB0aGF0IGEgZmxvYXQgY2FuJ3Qgc3RhcnQgd2l0aCBhCi0gKiBkZWNpbWFs
IHBvaW50LCBzbyB0aGF0J3Mgd2hhdCB3ZSBoYXZlIGltcGxlbWVudGVkIGhlcmUuCi0gKi8KLXN0
YXRpYyBzdHJ1Y3QgdG9rICoKLWxleG51bWJlcihjb25zdCBjaGFyICpzdGFydCkKLXsKLSAgICBm
b3IgKDs7KSB7Ci0gICAgICAgIGNvbnN0IGNoYXIgKnAgPSBzdGFydDsKLSAgICAgICAgY29uc3Qg
Y2hhciAqb2N0YWxlbmQgPSBzdGFydDsKLSAgICAgICAgaW50IGNoID0gKnA7Ci0gICAgICAgIGVu
dW0geyBTVEFURV9TVEFSVCwgU1RBVEVfSU5ULCBTVEFURV9IRVgsIFNUQVRFX09DVEFMLCBTVEFU
RV9CQURPQ1RBTCwKLSAgICAgICAgICAgICAgICBTVEFURV9EUCwgU1RBVEVfRVhQU1RBUlQsIFNU
QVRFX0VYUFNJR04sIFNUQVRFX0VYUAotICAgICAgICAgICAgICAgIH0gc3RhdGUgPSBTVEFURV9T
VEFSVDsKLSAgICAgICAgaWYgKGNoID09ICctJykgewotICAgICAgICAgICAgY2ggPSAqKytwOwot
CSAgICBpZiAoY2ggPT0gJ0knKSB7IC8vIHN0YXJ0cyBvZiBJbmZpbml0eQotCSAgICAgIGNoYXIg
KiBpbmZpbml0eSA9ICItSW5maW5pdHkiOwotICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgbGVu
ID0gc3RybGVuKGluZmluaXR5KTsKLQkgICAgICBpZiAoIW1lbWNtcChzdGFydCwgaW5maW5pdHks
IGxlbikpIHsKLSAgICAgICAgICAgICAgICB0b2sudHlwZSA9IFRPS19taW51c2luZmluaXR5Owot
CQl0b2suc3RhcnQgPSBzdGFydDsKLQkJdG9rLmxlbiA9IGxlbjsKLQkJdG9rLmZpbGVuYW1lID0g
ZmlsZS0+ZmlsZW5hbWU7Ci0JCXRvay5saW5lbnVtID0gZmlsZS0+bGluZW51bTsKLQkJZmlsZS0+
cG9zID0gc3RhcnQgKyBsZW47Ci0JCXJldHVybiAmdG9rOwotCSAgICAgIH0KLQkgICAgfQotCX0K
LSAgICAgICAgaWYgKGNoID09ICcwJykgewotICAgICAgICAgICAgc3RhdGUgPSBTVEFURV9PQ1RB
TDsKLSAgICAgICAgICAgIGNoID0gKisrcDsKLSAgICAgICAgICAgIGlmICgoY2ggJiB+MHgyMCkg
PT0gJ1gnKSB7Ci0gICAgICAgICAgICAgICAgc3RhdGUgPSBTVEFURV9IRVg7Ci0gICAgICAgICAg
ICAgICAgY2ggPSAqKytwOwotICAgICAgICAgICAgfQotICAgICAgICB9Ci0KLSAgICAgICAgZm9y
ICg7OykgewotICAgICAgICAgICAgaWYgKCh1bnNpZ25lZCkoY2ggLSAnMCcpID49IDgpIHsKLSAg
ICAgICAgICAgICAgICBpZiAoKGNoICYgLTIpID09ICc4JykgewotICAgICAgICAgICAgICAgICAg
ICBpZiAoc3RhdGUgPT0gU1RBVEVfT0NUQUwpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIHN0
YXRlID0gU1RBVEVfQkFET0NUQUw7Ci0gICAgICAgICAgICAgICAgICAgICAgICBvY3RhbGVuZCA9
IHA7Ci0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKCh1
bnNpZ25lZCkoKGNoICYgfjB4MjApIC0gJ0EnKSA8PSAnRicgLSAnQScpIHsKLSAgICAgICAgICAg
ICAgICAgICAgaWYgKHN0YXRlICE9IFNUQVRFX0hFWCkgewotICAgICAgICAgICAgICAgICAgICAg
ICAgaWYgKChjaCAmIH4weDIwKSAhPSAnRScpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
YnJlYWs7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoc3RhdGUgPT0gU1RBVEVfSEVYIHx8
IHN0YXRlID49IFNUQVRFX0VYUFNUQVJUIHx8IHN0YXRlID09IFNUQVRFX1NUQVJUKQotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgICAgICAgICAgICAgc3Rh
dGUgPSBTVEFURV9FWFBTVEFSVDsKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAg
ICAgIH0gZWxzZSBpZiAoY2ggPT0gJy4nKSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmIChzdGF0
ZSA9PSBTVEFURV9IRVggfHwgc3RhdGUgPj0gU1RBVEVfRFApCi0gICAgICAgICAgICAgICAgICAg
ICAgICBicmVhazsKLSAgICAgICAgICAgICAgICAgICAgc3RhdGUgPSBTVEFURV9EUDsKLSAgICAg
ICAgICAgICAgICB9IGVsc2UgaWYgKGNoID09ICctJykgewotICAgICAgICAgICAgICAgICAgICBp
ZiAoc3RhdGUgIT0gU1RBVEVfRVhQU1RBUlQpCi0gICAgICAgICAgICAgICAgICAgICAgICBicmVh
azsKLSAgICAgICAgICAgICAgICAgICAgc3RhdGUgPSBTVEFURV9FWFBTSUdOOwotICAgICAgICAg
ICAgICAgIH0gZWxzZQotICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIH0K
LSAgICAgICAgICAgIGNoID0gKisrcDsKLSAgICAgICAgICAgIGlmIChzdGF0ZSA9PSBTVEFURV9T
VEFSVCkKLSAgICAgICAgICAgICAgICBzdGF0ZSA9IFNUQVRFX0lOVDsKLSAgICAgICAgICAgIGVs
c2UgaWYgKHN0YXRlID09IFNUQVRFX0VYUFNUQVJUIHx8IHN0YXRlID09IFNUQVRFX0VYUFNJR04p
Ci0gICAgICAgICAgICAgICAgc3RhdGUgPSBTVEFURV9FWFA7Ci0gICAgICAgIH0KLSAgICAgICAg
c3dpdGNoIChzdGF0ZSkgewotICAgICAgICBjYXNlIFNUQVRFX1NUQVJUOgotICAgICAgICAgICAg
LyogTXVzdCBoYXZlIGp1c3QgYmVlbiBhIC0gY2hhcmFjdGVyIGJ5IGl0c2VsZi4gKi8KLSAgICAg
ICAgICAgIHRvay50eXBlID0gJy0nOwotICAgICAgICAgICAgcCA9IHN0YXJ0ICsgMTsKLSAgICAg
ICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlIFNUQVRFX0JBRE9DVEFMOgotICAgICAgICAgICAg
cCA9IG9jdGFsZW5kOwotICAgICAgICAgICAgLyogZmFsbCB0aHJvdWdoLi4uICovCi0gICAgICAg
IGNhc2UgU1RBVEVfSU5UOgotICAgICAgICBjYXNlIFNUQVRFX09DVEFMOgotICAgICAgICAgICAg
dG9rLnR5cGUgPSBUT0tfSU5URUdFUjsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNl
IFNUQVRFX0hFWDoKLSAgICAgICAgICAgIGlmIChwIC0gc3RhcnQgPT0gMiB8fCAocCAtIHN0YXJ0
ID09IDMgJiYgKnN0YXJ0ID09ICctJykpCi0gICAgICAgICAgICAgICAgcCA9IHN0YXJ0ICsgMTsK
LSAgICAgICAgICAgIHRvay50eXBlID0gVE9LX0lOVEVHRVI7Ci0gICAgICAgICAgICBicmVhazsK
LSAgICAgICAgY2FzZSBTVEFURV9FWFA6Ci0gICAgICAgIGNhc2UgU1RBVEVfRFA6Ci0gICAgICAg
ICAgICB0b2sudHlwZSA9IFRPS19GTE9BVDsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBj
YXNlIFNUQVRFX0VYUFNJR046Ci0gICAgICAgICAgICBwLS07Ci0gICAgICAgICAgICAvKiBmYWxs
IHRocm91Z2guLi4gKi8KLSAgICAgICAgY2FzZSBTVEFURV9FWFBTVEFSVDoKLSAgICAgICAgICAg
IHAtLTsKLSAgICAgICAgICAgIHRvay50eXBlID0gVE9LX0ZMT0FUOwotICAgICAgICAgICAgYnJl
YWs7Ci0gICAgICAgIH0KLSAgICAgICAgdG9rLnN0YXJ0ID0gc3RhcnQ7Ci0gICAgICAgIHRvay5s
ZW4gPSBwIC0gc3RhcnQ7Ci0gICAgICAgIHRvay5maWxlbmFtZSA9IGZpbGUtPmZpbGVuYW1lOwot
ICAgICAgICB0b2subGluZW51bSA9IGZpbGUtPmxpbmVudW07Ci0gICAgICAgIGZpbGUtPnBvcyA9
IHA7Ci0gICAgICAgIHJldHVybiAmdG9rOwotICAgIH0KLX0KLQotLyoqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0g
KiBsZXhzdHJpbmcgOiBsZXggYSBxdW90ZWQgc3RyaW5nCi0gKgotICogRW50ZXI6ICAgc3RhcnQg
PSBzdGFydCBvZiB0b2tlbgotICoKLSAqIFJldHVybjogIHRvayBzdHJ1Y3QsIGxpZmV0aW1lIHVu
dGlsIG5leHQgY2FsbCB0byBsZXgKLSAqLwotc3RhdGljIHN0cnVjdCB0b2sgKgotbGV4c3RyaW5n
KGNvbnN0IGNoYXIgKnN0YXJ0KQotewotICAgIGZvciAoOzspIHsKLSAgICAgICAgY29uc3QgY2hh
ciAqcCA9IHN0YXJ0ICsgMTsKLSAgICAgICAgaW50IGNoID0gKnA7Ci0gICAgICAgIGZvciAoOzsp
IHsKLSAgICAgICAgICAgIGlmICghY2ggfHwgY2ggPT0gJ1xuJykKLSAgICAgICAgICAgICAgICBs
ZXhlcnJvcmV4aXQoInVudGVybWluYXRlZCBzdHJpbmciKTsKLSAgICAgICAgICAgIGlmIChjaCA9
PSAnIicpIHsKLSAgICAgICAgICAgICAgICB0b2sudHlwZSA9IFRPS19TVFJJTkc7Ci0gICAgICAg
ICAgICAgICAgdG9rLnN0YXJ0ID0gc3RhcnQgKyAxOwotICAgICAgICAgICAgICAgIHRvay5sZW4g
PSBwIC0gc3RhcnQgLSAxOwotICAgICAgICAgICAgICAgIHRvay5maWxlbmFtZSA9IGZpbGUtPmZp
bGVuYW1lOwotICAgICAgICAgICAgICAgIHRvay5saW5lbnVtID0gZmlsZS0+bGluZW51bTsKLSAg
ICAgICAgICAgICAgICBmaWxlLT5wb3MgPSBwICsgMTsKLSAgICAgICAgICAgICAgICByZXR1cm4g
JnRvazsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIC8qIE5vdGUgdGhlIElETCBzcGVjIGRv
ZXNuJ3Qgc2VlbSB0byBhbGxvdyBmb3IgZXNjYXBlIHNlcXVlbmNlcwotICAgICAgICAgICAgICog
aW4gc3RyaW5ncy4gKi8KLSAgICAgICAgICAgIGNoID0gKisrcDsKLSAgICAgICAgfQotICAgIH0K
LX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqCi0gKiBsZXhpZGVudGlmaWVyIDogbGV4IGFuIGlkZW50aWZp
ZXIKLSAqCi0gKiBFbnRlcjogICBzdGFydCA9IHN0YXJ0IG9mIHRva2VuCi0gKgotICogUmV0dXJu
OiAgdG9rIHN0cnVjdCwgbGlmZXRpbWUgdW50aWwgbmV4dCBjYWxsIHRvIGxleAotICovCi1zdGF0
aWMgc3RydWN0IHRvayAqCi1sZXhpZGVudGlmaWVyKGNvbnN0IGNoYXIgKnN0YXJ0KQotewotICAg
IGNvbnN0IGNoYXIgKnAgPSBzdGFydCArIDE7Ci0gICAgZm9yICg7OykgewotICAgICAgICBpbnQg
Y2ggPSAqcDsKLSAgICAgICAgaWYgKGNoICE9ICdfJyAmJiAodW5zaWduZWQpKGNoIC0gJzAnKSA+
PSAxMAotICAgICAgICAgICAgICAgICYmICh1bnNpZ25lZCkoKGNoICYgfjB4MjApIC0gJ0EnKSA+
ICdaJyAtICdBJykKLSAgICAgICAgewotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLSAg
ICAgICAgcCsrOwotICAgIH0KLSAgICB0b2sudHlwZSA9IFRPS19JREVOVElGSUVSOwotICAgIHRv
ay5zdGFydCA9IHN0YXJ0OwotICAgIHRvay5sZW4gPSBwIC0gc3RhcnQ7Ci0gICAgdG9rLmZpbGVu
YW1lID0gZmlsZS0+ZmlsZW5hbWU7Ci0gICAgdG9rLmxpbmVudW0gPSBmaWxlLT5saW5lbnVtOwot
ICAgIGZpbGUtPnBvcyA9IHA7Ci0gICAgLyogU2VlIGlmIHRoaXMgaXMgYSBrZXl3b3JkLiAoVGhp
cyBzZWFyY2ggaXMgYSBiaXQgbi1zcXVhcmVkLikgKi8KLSAgICB7Ci0gICAgICAgIHVuc2lnbmVk
IGludCB0eXBlID0gVE9LX0RPTVN0cmluZzsKLSAgICAgICAgcCA9IGtleXdvcmRzOwotICAgICAg
ICBmb3IgKDs7KSB7Ci0gICAgICAgICAgICB1bnNpZ25lZCBpbnQgbGVuID0gc3RybGVuKHApOwot
ICAgICAgICAgICAgaWYgKCFsZW4pCi0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAg
ICBpZiAobGVuID09IHRvay5sZW4gJiYgIW1lbWNtcChzdGFydCwgcCwgbGVuKSkgewotICAgICAg
ICAgICAgICAgIHRvay50eXBlID0gdHlwZTsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAg
ICAgICAgIH0KLSAgICAgICAgICAgIHAgKz0gbGVuICsgMTsKLSAgICAgICAgICAgIHR5cGUrKzsK
LSAgICAgICAgfQotICAgIH0KLSAgICByZXR1cm4gJnRvazsKLX0KLQotLyoqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
Ci0gKiBsZXggOiByZXRyaWV2ZSBuZXh0IHRva2VuCi0gKgotICogUmV0dXJuOiAgdG9rIHN0cnVj
dCwgbGlmZXRpbWUgdW50aWwgbmV4dCBjYWxsIHRvIGxleAotICovCi1zdHJ1Y3QgdG9rICoKLWxl
eCh2b2lkKQotewotICAgIGNvbnN0IGNoYXIgKnA7Ci0gICAgaW50IGNoOwotICAgIGZvciAoOzsp
IHsKLSAgICAgICAgaWYgKCFmaWxlKSB7Ci0gICAgICAgICAgICB0b2sudHlwZSA9IFRPS19FT0Y7
Ci0gICAgICAgICAgICB0b2suc3RhcnQgPSAiZW5kIG9mIGZpbGUiOwotICAgICAgICAgICAgdG9r
LmxlbiA9IHN0cmxlbih0b2suc3RhcnQpOwotICAgICAgICAgICAgcmV0dXJuICZ0b2s7Ci0gICAg
ICAgIH0KLSAgICAgICAgdG9rLnByZXN0YXJ0ID0gcCA9IGZpbGUtPnBvczsKLSAgICAgICAgLyog
Rmx1c2ggd2hpdGVzcGFjZS4gKi8KLSAgICAgICAgZm9yICg7OykgewotICAgICAgICAgICAgY2gg
PSAqcCsrOwotICAgICAgICAgICAgc3dpdGNoIChjaCkgewotICAgICAgICAgICAgY2FzZSAnICc6
Ci0gICAgICAgICAgICBjYXNlICdcdCc6Ci0gICAgICAgICAgICBjYXNlICdccic6Ci0gICAgICAg
ICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAgICBjYXNlICdcbic6Ci0gICAgICAgICAgICAg
ICAgKytmaWxlLT5saW5lbnVtOwotICAgICAgICAgICAgICAgIHRvay5wcmVzdGFydCA9IHA7Ci0g
ICAgICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBicmVh
azsKLSAgICAgICAgfQotICAgICAgICBwLS07Ci0gICAgICAgIGlmIChjaCkKLSAgICAgICAgICAg
IGJyZWFrOwotICAgICAgICBpZiAocCAhPSBmaWxlLT5lbmQpCi0gICAgICAgICAgICBsZXhlcnJv
cmV4aXQoIlxcMCBieXRlIG5vdCBhbGxvd2VkIik7Ci0gICAgICAgIGZpbGUgPSBmaWxlLT5uZXh0
OwotICAgIH0KLSAgICAvKiBTZWUgaWYgd2UgaGF2ZSBhIGNvbW1lbnQuICovCi0gICAgdG9rLnN0
YXJ0ID0gcDsKLSAgICBpZiAoY2ggPT0gJy8nKSB7Ci0gICAgICAgIHN3aXRjaCAoKisrcCkgewot
ICAgICAgICBjYXNlICcqJzoKLSAgICAgICAgICAgIHJldHVybiBsZXhibG9ja2NvbW1lbnQocCAt
IDEpOwotICAgICAgICBjYXNlICcvJzoKLSAgICAgICAgICAgIHJldHVybiBsZXhpbmxpbmVjb21t
ZW50KHAgLSAxKTsKLSAgICAgICAgfQotICAgICAgICB0b2sudHlwZSA9ICcvJzsKLSAgICB9IGVs
c2UgewotICAgICAgICAvKiBIYW5kbGUgdGhpbmdzIHRoYXQgc3RhcnQgd2l0aCAnLScsIHdoaWNo
IGlzIGVpdGhlciAnLScgYXMgYSB0b2tlbiwKLSAgICAgICAgICogb3IgYSBudW1iZXIuIEhhbmRs
ZSBudW1iZXJzLiAqLwotICAgICAgICBpZiAoY2ggPT0gJy0nIHx8ICh1bnNpZ25lZCkoY2ggLSAn
MCcpIDwgMTApCi0gICAgICAgICAgICByZXR1cm4gbGV4bnVtYmVyKHApOwotICAgICAgICAvKiBI
YW5kbGUgc3RyaW5nLiAqLwotICAgICAgICBpZiAoY2ggPT0gJyInKQotICAgICAgICAgICAgcmV0
dXJuIGxleHN0cmluZyhwKTsKLSAgICAgICAgLyogSGFuZGxlIGlkZW50aWZpZXIuICovCi0gICAg
ICAgIGlmIChjaCA9PSAnXycgfHwgKHVuc2lnbmVkKSgoY2ggJiB+MHgyMCkgLSAnQScpIDw9ICda
JyAtICdBJykKLSAgICAgICAgICAgIHJldHVybiBsZXhpZGVudGlmaWVyKHApOwotICAgICAgICAv
KiBUaGUgb25seSBtdWx0aS1zeW1ib2wgdG9rZW4gYXJlIC4uLiBhbmQgW10gKi8KLSAgICAgICAg
aWYgKGNoID09ICcuJykgewotICAgICAgICAgICAgdG9rLnR5cGUgPSAnLic7Ci0gICAgICAgICAg
ICBpZiAoKisrcCA9PSAnLicgJiYgcFsxXSA9PSAnLicpIHsKLSAgICAgICAgICAgICAgICB0b2su
dHlwZSA9IFRPS19FTExJUFNJUzsKLSAgICAgICAgICAgICAgICBwICs9IDI7Ci0gICAgICAgICAg
ICB9Ci0gICAgICAgICAgICBnb3RvIGRvbmU7Ci0gICAgICAgIH0KLSAgICAgICAgaWYgKGNoID09
ICdbJykgewotICAgICAgICAgICAgdG9rLnR5cGUgPSAnWyc7Ci0gICAgICAgICAgICBpZiAoKisr
cCA9PSAnXScpIHsKLSAgICAgICAgICAgICAgICB0b2sudHlwZSA9IFRPS19ET1VCTEVCUkFDS0VU
OwotICAgICAgICAgICAgICAgIHArKzsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGdvdG8g
ZG9uZTsKLSAgICAgICAgfQotICAgIH0KLSAgICAvKiBTaW5nbGUgc3ltYm9sIHRva2VuLiAqLwot
ICAgIHRvay50eXBlID0gY2g7Ci0gICAgcCsrOwotZG9uZToKLSAgICB0b2suZmlsZW5hbWUgPSBm
aWxlLT5maWxlbmFtZTsKLSAgICB0b2subGluZW51bSA9IGZpbGUtPmxpbmVudW07Ci0gICAgdG9r
LmxlbiA9IHAgLSB0b2suc3RhcnQ7Ci0gICAgZmlsZS0+cG9zID0gcDsKLSAgICByZXR1cm4gJnRv
azsKLX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBvdXRwdXR3aWRsIDogb3V0cHV0IGxpdGVyYWwg
V2ViIElETCBpbnB1dCB0aGF0IG5vZGUgd2FzIHBhcnNlZCBmcm9tCi0gKgotICogRW50ZXI6ICAg
bm9kZSA9IHBhcnNlIG5vZGUgdG8gb3V0cHV0IGxpdGVyYWwgV2ViIElETCBmb3IKLSAqLwotdm9p
ZAotb3V0cHV0d2lkbChzdHJ1Y3Qgbm9kZSAqbm9kZSkKLXsKLSAgICBjb25zdCBjaGFyICpzdGFy
dCA9IG5vZGUtPndzc3RhcnQsICplbmQgPSBub2RlLT5lbmQ7Ci0gICAgLyogRmluZCB0aGUgZmls
ZSB0aGF0IHN0YXJ0IGlzIGluLiAqLwotICAgIHN0cnVjdCBmaWxlICpmaWxlID0gZmlyc3RmaWxl
OwotICAgIHdoaWxlIChzdGFydCA8IGZpbGUtPmJ1ZiB8fCBzdGFydCA+PSBmaWxlLT5lbmQpIHsK
LSAgICAgICAgZmlsZSA9IGZpbGUtPm5leHQ7Ci0gICAgICAgIGFzc2VydChmaWxlKTsKLSAgICB9
Ci0gICAgLyogRmluZCB0aGUgKGN1cnJlbnQgb3IpIG5leHQgbm9kZSB0aGF0IGhhcyBub2RlLT5z
dGFydCBzZXQuIEFueSBzdWNoCi0gICAgICogbm9kZSBuZWVkcyB0byBiZSBwdXQgaW5zaWRlIGEg
PHJlZj4gZWxlbWVudC4gKi8KLSAgICB3aGlsZSAobm9kZSAmJiAhbm9kZS0+c3RhcnQpCi0gICAg
ICAgIG5vZGUgPSBub2Rld2Fsayhub2RlKTsKLSAgICAvKiBPdXRwdXQgdW50aWwgd2UgZ2V0IHRv
IHRoZSBlbmQuIFRoaXMgaGFzIHRvIGNvcGUgd2l0aCB0aGUgdGV4dAotICAgICAqIHNwYW5uaW5n
IG11bHRpcGxlIGlucHV0IGZpbGVzLiAqLwotICAgIGZvciAoOzspIHsKLSAgICAgICAgaW50IGZp
bmFsID0gZW5kID49IGZpbGUtPmJ1ZiAmJiBlbmQgPD0gZmlsZS0+ZW5kOwotICAgICAgICBjb25z
dCBjaGFyICp0aGlzZW5kID0gZmluYWwgPyBlbmQgOiBmaWxlLT5lbmQ7Ci0gICAgICAgIC8qIE91
dHB1dCB0aGUgV2ViIElETCwgb21pdHRpbmcgY29tbWVudHMuICovCi0gICAgICAgIHdoaWxlIChz
dGFydCAhPSBlbmQpIHsKLSAgICAgICAgICAgIGNvbnN0IGNoYXIgKnAsICpwMiwgKmNvbW1lbnQs
ICplbmRjb21tZW50OwotICAgICAgICAgICAgaW50IGNoOwotICAgICAgICAgICAgaWYgKG5vZGUg
JiYgc3RhcnQgPT0gbm9kZS0+c3RhcnQpIHsKLSAgICAgICAgICAgICAgICAvKiBXZSBhcmUgb24g
dGhlIHN0YXJ0IG9mIHRoZSBwcmVzZW50IG5vZGUgaW4gdGhlIHRyZWUKLSAgICAgICAgICAgICAg
ICAgKiB3YWxrLiBQdXQgaXQgaW4gYSA8cmVmPi4gKi8KLSAgICAgICAgICAgICAgICBmcHV0cygi
PHJlZj4iLCBzdGRvdXQpOwotICAgICAgICAgICAgICAgIHByaW50dGV4dChub2RlLT5zdGFydCwg
bm9kZS0+ZW5kIC0gbm9kZS0+c3RhcnQsIDEpOwotICAgICAgICAgICAgICAgIGZwdXRzKCI8L3Jl
Zj4iLCBzdGRvdXQpOwotICAgICAgICAgICAgICAgIHN0YXJ0ID0gbm9kZS0+ZW5kOwotICAgICAg
ICAgICAgICAgIC8qIFNraXAgdG8gdGhlIG5leHQgbm9kZSB3aXRoIG5vZGUtPnN0YXJ0IHNldCBp
ZiBhbnkuICovCi0gICAgICAgICAgICAgICAgZG8KLSAgICAgICAgICAgICAgICAgICAgbm9kZSA9
IG5vZGV3YWxrKG5vZGUpOwotICAgICAgICAgICAgICAgIHdoaWxlIChub2RlICYmICFub2RlLT5z
dGFydCk7Ci0gICAgICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAgICB9Ci0gICAgICAg
ICAgICBwMiA9IHRoaXNlbmQ7Ci0gICAgICAgICAgICBpZiAobm9kZSAmJiBub2RlLT5zdGFydCA+
PSBmaWxlLT5idWYgJiYgbm9kZS0+c3RhcnQgPCBwMikKLSAgICAgICAgICAgICAgICBwMiA9IG5v
ZGUtPnN0YXJ0OwotICAgICAgICAgICAgcCA9IG1lbWNocihzdGFydCwgJy8nLCBwMiAtIHN0YXJ0
KTsKLSAgICAgICAgICAgIGlmICghcCkgewotICAgICAgICAgICAgICAgIHByaW50dGV4dChzdGFy
dCwgcDIgLSBzdGFydCwgMSk7Ci0gICAgICAgICAgICAgICAgaWYgKHAyICE9IHRoaXNlbmQpIHsK
LSAgICAgICAgICAgICAgICAgICAgc3RhcnQgPSBwMjsKLSAgICAgICAgICAgICAgICAgICAgY29u
dGludWU7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAg
ICAgICAgfQotICAgICAgICAgICAgLyogU2VlIGlmIHdlJ3JlIGF0IHRoZSBzdGFydCBvZiBhIGNv
bW1lbnQuIElmIHNvIGZpbmQgdGhlIGVuZC4gKi8KLSAgICAgICAgICAgIGNvbW1lbnQgPSAwOwot
ICAgICAgICAgICAgaWYgKHAgKyAxICE9IHRoaXNlbmQpIHsKLSAgICAgICAgICAgICAgICBzd2l0
Y2ggKHBbMV0pIHsKLSAgICAgICAgICAgICAgICBjYXNlICcqJzoKLSAgICAgICAgICAgICAgICAg
ICAgLyogQmxvY2sgY29tbWVudC4gKi8KLSAgICAgICAgICAgICAgICAgICAgY29tbWVudCA9IHA7
Ci0gICAgICAgICAgICAgICAgICAgIHArKzsKLSAgICAgICAgICAgICAgICAgICAgZG8gCi0gICAg
ICAgICAgICAgICAgICAgICAgICBwID0gbWVtY2hyKHAgKyAxLCAnKicsIHRoaXNlbmQgLSBwIC0g
MSk7Ci0gICAgICAgICAgICAgICAgICAgIHdoaWxlIChwWzFdICE9ICcvJyk7Ci0gICAgICAgICAg
ICAgICAgICAgIGVuZGNvbW1lbnQgPSBwICsgMjsKLSAgICAgICAgICAgICAgICAgICAgYnJlYWs7
Ci0gICAgICAgICAgICAgICAgY2FzZSAnLyc6Ci0gICAgICAgICAgICAgICAgICAgIC8qIElubGlu
ZSBjb21tZW50LiAqLwotICAgICAgICAgICAgICAgICAgICBjb21tZW50ID0gcDsKLSAgICAgICAg
ICAgICAgICAgICAgcCA9IG1lbWNocihwLCAnXG4nLCB0aGlzZW5kIC0gcCk7Ci0gICAgICAgICAg
ICAgICAgICAgIGlmICghcCkKLSAgICAgICAgICAgICAgICAgICAgICAgIHAgPSB0aGlzZW5kOwot
ICAgICAgICAgICAgICAgICAgICBlbmRjb21tZW50ID0gcDsKLSAgICAgICAgICAgICAgICAgICAg
YnJlYWs7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgfQotICAgICAgICAgICAgaWYg
KCFjb21tZW50KSB7Ci0gICAgICAgICAgICAgICAgLyogTm90IGF0IHN0YXJ0IG9mIGNvbW1lbnQu
ICovCi0gICAgICAgICAgICAgICAgcCsrOwotICAgICAgICAgICAgICAgIHByaW50dGV4dChzdGFy
dCwgcCAtIHN0YXJ0LCAxKTsKLSAgICAgICAgICAgICAgICBzdGFydCA9IHA7Ci0gICAgICAgICAg
ICAgICAgYXNzZXJ0KHN0YXJ0IDw9IGVuZCk7Ci0gICAgICAgICAgICAgICAgY29udGludWU7Ci0g
ICAgICAgICAgICB9Ci0gICAgICAgICAgICAvKiBJZiB0aGUgY29tbWVudCBoYXMgb25seSB3aGl0
ZXNwYWNlIGJlZm9yZSBpdCBvbiB0aGUgbGluZSwKLSAgICAgICAgICAgICAqIGVhdCB0aGF0IHVw
LiAqLwotICAgICAgICAgICAgcCA9IGNvbW1lbnQ7Ci0gICAgICAgICAgICB3aGlsZSAocCAhPSBz
dGFydCAmJiAoKGNoID0gcFstMV0pID09ICcgJyB8fCBjaCA9PSAnXHQnKSkKLSAgICAgICAgICAg
ICAgICBwLS07Ci0gICAgICAgICAgICBpZiAocCA9PSBzdGFydCB8fCBwWy0xXSA9PSAnXG4nKSB7
Ci0gICAgICAgICAgICAgICAgY29tbWVudCA9IHA7Ci0gICAgICAgICAgICAgICAgLyogSWYgdGhl
IGNvbW1lbnQgaGFzIG9ubHkgd2hpdGVzcGFjZSBhZnRlciBpdCB0byB0aGUgZW5kCi0gICAgICAg
ICAgICAgICAgICogb2YgdGhlIGxpbmUsIGVhdCB0aGF0IGFuZCB0aGUgbmV3bGluZSB1cC4gVGhp
cyBhbHdheXMKLSAgICAgICAgICAgICAgICAgKiBoYXBwZW5zIGZvciBhbiBpbmxpbmUgY29tbWVu
dCBvbiBhIGxpbmUgYnkgaXRzZWxmLiAqLwotICAgICAgICAgICAgICAgIHAgPSBlbmRjb21tZW50
OwotICAgICAgICAgICAgICAgIHdoaWxlIChwICE9IHRoaXNlbmQgJiYgKChjaCA9ICpwKSA9PSAn
ICcgfHwgY2ggPT0gJ1x0JykpCi0gICAgICAgICAgICAgICAgICAgIHArKzsKLSAgICAgICAgICAg
ICAgICBpZiAocCAhPSB0aGlzZW5kICYmICpwID09ICdcbicpCi0gICAgICAgICAgICAgICAgICAg
IHArKzsKLSAgICAgICAgICAgICAgICBlbmRjb21tZW50ID0gcDsKLSAgICAgICAgICAgIH0KLSAg
ICAgICAgICAgIHByaW50dGV4dChzdGFydCwgY29tbWVudCAtIHN0YXJ0LCAxKTsKLSAgICAgICAg
ICAgIHN0YXJ0ID0gZW5kY29tbWVudDsKLSAgICAgICAgICAgIGlmIChzdGFydCA+IHRoaXNlbmQp
Ci0gICAgICAgICAgICAgICAgc3RhcnQgPSB0aGlzZW5kOwotICAgICAgICB9Ci0gICAgICAgIGlm
IChmaW5hbCkKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBmaWxlID0gZmlsZS0+bmV4dDsK
LSAgICAgICAgYXNzZXJ0KGZpbGUpOwotICAgICAgICBzdGFydCA9IGZpbGUtPmJ1ZjsKLSAgICB9
Ci19CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mvc3JjL2xleC5oIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3dpZGxwcm9jL3NyYy9sZXguaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTMwYjc3
YjM2NWMuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9zcmMvbGV4LmgKKysr
IC9kZXYvbnVsbApAQCAtMSwxNDEgKzAsMCBAQAotCi0vKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqICRJZCQK
LSAqIENvcHlyaWdodCAyMDA5IEFwbGl4IENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgotICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhl
ICJMaWNlbnNlIik7Ci0gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21w
bGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCi0gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhl
IExpY2Vuc2UgYXQKLSAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5T
RS0yLjAKLSAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8g
aW4gd3JpdGluZywgc29mdHdhcmUKLSAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlz
IGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCi0gKiBXSVRIT1VUIFdBUlJBTlRJRVMg
T1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KLSAq
IFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJt
aXNzaW9ucyBhbmQKLSAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgotICoqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqLwotI2lmbmRlZiBsZXhfaAotI2RlZmluZSBsZXhfaAotCi0vLyBzdGFydGluZyBmcm9t
ICJhdHRyaWJ1dGUiIGFyZSB0aGUgbGlzdCBvZiBuYW1lcyBhbGxvd2VkIGFzIGFyZ3VtZW50cyBp
ZGVudGlmaWVyCi0jZGVmaW5lIEtFWVdPUkRTIFwKLSAgICAiRE9NU3RyaW5nXDAiIFwKLSAgICAi
Qnl0ZVN0cmluZ1wwIiBcCi0gICAgIkRhdGVcMCIgXAotICAgICJSZWdFeHBcMCIgXAotICAgICJm
YWxzZVwwIiBcCi0gICAgIm9iamVjdFwwIiBcCi0gICAgInRydWVcMCIgXAotICAgICJhbnlcMCIg
XAotICAgICJib29sZWFuXDAiIFwKLSAgICAiYnl0ZVwwIiBcCi0gICAgImRvdWJsZVwwIiBcCi0g
ICAgImZsb2F0XDAiIFwKLSAgICAiSW5maW5pdHlcMCIgXAotICAgICItSW5maW5pdHlcMCIgXAot
ICAgICJpdGVyYXRvclwwIiBcCi0gICAgImxvbmdcMCIgXAotICAgICJOYU5cMCIgXAotICAgICJu
dWxsXDAiIFwKLSAgICAib2N0ZXRcMCIgXAotICAgICJvcHRpb25hbFwwIiBcCi0gICAgIm9yXDAi
IFwKLSAgICAicmVhZG9ubHlcMCIgXAotICAgICJzZXF1ZW5jZVwwIiBcCi0gICAgInNob3J0XDAi
IFwKLSAgICAidW5zaWduZWRcMCIgXAotICAgICJ2b2lkXDAiIFwKLSAgICAiYXR0cmlidXRlXDAi
IFwKLSAgICAiY2FsbGJhY2tcMCIgXAotICAgICJjb25zdFwwIiBcCi0gICAgImNyZWF0b3JcMCIg
XAotICAgICJkZWxldGVyXDAiIFwKLSAgICAiZGljdGlvbmFyeVwwIiBcCi0gICAgImVudW1cMCIg
XAotICAgICJleGNlcHRpb25cMCIgXAotICAgICJnZXR0ZXJcMCIgXAotICAgICJpbXBsZW1lbnRz
XDAiIFwKLSAgICAiaW5oZXJpdFwwIiBcCi0gICAgImludGVyZmFjZVwwIiBcCi0gICAgImxlZ2Fj
eWNhbGxlclwwIiBcCi0gICAgInBhcnRpYWxcMCIgXAotICAgICJzZXJpYWxpemVyXDAiIFwKLSAg
ICAic2V0dGVyXDAiIFwKLSAgICAic3RhdGljXDAiIFwKLSAgICAic3RyaW5naWZpZXJcMCIgXAot
ICAgICJ0eXBlZGVmXDAiIFwKLSAgICAidW5yZXN0cmljdGVkXDAiCi0KLQotZW51bSB0b2t0eXBl
IHsKLSAgICBUT0tfRU9GID0gLTEsCi0gICAgVE9LX0JMT0NLQ09NTUVOVCA9IDB4ODAsCi0gICAg
VE9LX0lOTElORUNPTU1FTlQsIFRPS19JTlRFR0VSLCBUT0tfRkxPQVQsIFRPS19JREVOVElGSUVS
LAotICAgIFRPS19TVFJJTkcsIFRPS19FTExJUFNJUywgVE9LX0RPVUJMRUJSQUNLRVQsCi0gICAg
LyogS2V5d29yZHMgbXVzdCBiZSBpbiB0aGUgc2FtZSBvcmRlciBhcyBhYm92ZS4gKi8KLSAgICBU
T0tfRE9NU3RyaW5nLAotICAgIFRPS19CeXRlU3RyaW5nLAotICAgIFRPS19EYXRlLAotICAgIFRP
S19SZWdFeHAsCi0gICAgVE9LX2ZhbHNlLAotICAgIFRPS19vYmplY3QsCi0gICAgVE9LX3RydWUs
Ci0gICAgVE9LX2FueSwKLSAgICBUT0tfYm9vbGVhbiwKLSAgICBUT0tfYnl0ZSwKLSAgICBUT0tf
ZG91YmxlLAotICAgIFRPS19mbG9hdCwKLSAgICBUT0tfaW5maW5pdHksCi0gICAgVE9LX21pbnVz
aW5maW5pdHksCi0gICAgVE9LX2l0ZXJhdG9yLAotICAgIFRPS19sb25nLAotICAgIFRPS19OYU4s
Ci0gICAgVE9LX251bGwsCi0gICAgVE9LX29jdGV0LAotICAgIFRPS19vcHRpb25hbCwKLSAgICBU
T0tfb3IsCi0gICAgVE9LX3JlYWRvbmx5LAotICAgIFRPS19zZXF1ZW5jZSwKLSAgICBUT0tfc2hv
cnQsCi0gICAgVE9LX3Vuc2lnbmVkLAotICAgIFRPS192b2lkLAotICAgIC8qIEJlbG93IHRoYXQg
bGluZSBhcmUga2V5d29yZHMgdGhhdCBhcmUgYWxsb3dlZCBhcyBhcmd1bWVudHMgbmFtZXMgKi8K
LSAgICBUT0tfYXR0cmlidXRlLAotICAgIFRPS19jYWxsYmFjaywKLSAgICBUT0tfY29uc3QsCi0g
ICAgVE9LX2NyZWF0b3IsCi0gICAgVE9LX2RlbGV0ZXIsCi0gICAgVE9LX2RpY3Rpb25hcnksCi0g
ICAgVE9LX2VudW0sCi0gICAgVE9LX2V4Y2VwdGlvbiwKLSAgICBUT0tfZ2V0dGVyLAotICAgIFRP
S19pbXBsZW1lbnRzLAotICAgIFRPS19pbmhlcml0LAotICAgIFRPS19pbnRlcmZhY2UsCi0gICAg
VE9LX2xlZ2FjeWNhbGxlciwKLSAgICBUT0tfcGFydGlhbCwKLSAgICBUT0tfc2VyaWFsaXplciwK
LSAgICBUT0tfc2V0dGVyLAotICAgIFRPS19zdGF0aWMsCi0gICAgVE9LX3N0cmluZ2lmaWVyLAot
ICAgIFRPS190eXBlZGVmLAotICAgIFRPS191bnJlc3RyaWN0ZWQsCi19OwotCi1zdHJ1Y3QgdG9r
IHsKLSAgICBlbnVtIHRva3R5cGUgdHlwZTsKLSAgICBjb25zdCBjaGFyICpmaWxlbmFtZTsKLSAg
ICB1bnNpZ25lZCBpbnQgbGluZW51bTsKLSAgICBjb25zdCBjaGFyICpwcmVzdGFydDsKLSAgICBj
b25zdCBjaGFyICpzdGFydDsKLSAgICB1bnNpZ25lZCBpbnQgbGVuOwotfTsKLQotZXh0ZXJuIGNv
bnN0IGNoYXIgKmZpbGVuYW1lOwotZXh0ZXJuIGNvbnN0IGNoYXIga2V5d29yZHNbXTsKLQotc3Ry
dWN0IG5vZGU7Ci0KLXZvaWQgcmVhZGlucHV0KGNvbnN0IGNoYXIgKmNvbnN0ICphcmd2KTsKLXN0
cnVjdCB0b2sgKmxleCh2b2lkKTsKLXZvaWQgb3V0cHV0d2lkbChzdHJ1Y3Qgbm9kZSAqbm9kZSk7
Ci0KLSNlbmRpZiAvKiBuZGVmIGxleF9oICovCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHBy
b2Mvc3JjL21haW4uYyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9zcmMvbWFpbi5jCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCBkZjkwZTM0N2RlOC4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3dpZGxwcm9jL3NyYy9tYWluLmMKKysrIC9kZXYvbnVsbApAQCAtMSw2MyArMCwwIEBACi0v
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioKLSAqICRJZCQKLSAqIENvcHlyaWdodCAyMDA5IEFwbGl4IENvcnBvcmF0
aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBM
aWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7Ci0gKiB5b3UgbWF5IG5vdCB1c2Ug
dGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCi0gKiBZb3Ug
bWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKLSAqICAgICBodHRwOi8vd3d3LmFw
YWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKLSAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBs
aWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKLSAqIGRpc3RyaWJ1
dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMs
Ci0gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVy
IGV4cHJlc3Mgb3IgaW1wbGllZC4KLSAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmlj
IGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKLSAqIGxpbWl0YXRpb25zIHVuZGVy
IHRoZSBMaWNlbnNlLgotICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwotI2luY2x1ZGUgPHN0cmluZy5oPgotI2lu
Y2x1ZGUgIm1pc2MuaCIKLSNpbmNsdWRlICJwcm9jZXNzLmgiCi0KLXN0YXRpYyBjb25zdCBjaGFy
IG5vZHRkb3B0W10gPSAiLW5vLWR0ZC1yZWYiOwotY29uc3QgY2hhciAqcHJvZ25hbWU7Ci0KLS8q
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKgotICogb3B0aW9ucyA6IHByb2Nlc3MgY29tbWFuZCBsaW5lIG9wdGlvbnMK
LSAqCi0gKiBFbnRlcjogICBhcmd2Ci0gKgotICogUmV0dXJuOiAgYXJndiBzdGVwcGVkIHRvIHBv
aW50IHRvIGZpcnN0IG5vbi1vcHRpb24gYXJndW1lbnQKLSAqLwotc3RhdGljIGNvbnN0IGNoYXIg
KmNvbnN0ICoKLW9wdGlvbnMoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKmNvbnN0ICphcmd2KQotewot
ICAgIC8qIFNldCBwcm9nbmFtZSBmb3IgZXJyb3IgbWVzc2FnZXMgZXRjLiAqLwotICAgIHsKLSAg
ICAgICAgY29uc3QgY2hhciAqYmFzZTsKLSAgICAgICAgcHJvZ25hbWUgPSBhcmd2WzBdOwotICAg
ICAgICBiYXNlID0gc3RycmNocihwcm9nbmFtZSwgJy8nKTsKLSNpZmRlZiBESVJTRVAKLSAgICAg
ICAgewotICAgICAgICAgICAgY29uc3QgY2hhciAqYmFzZTIgPSBzdHJyY2hyKGJhc2UsICdcXCcp
OwotICAgICAgICAgICAgaWYgKGJhc2UyID4gYmFzZSkKLSAgICAgICAgICAgICAgICBiYXNlID0g
YmFzZTI7Ci0gICAgICAgIH0KLSNlbmRpZiAvKiBkZWYgRElSU0VQICovCi0gICAgICAgIGlmIChi
YXNlKQotICAgICAgICAgICAgcHJvZ25hbWUgPSBiYXNlICsgMTsKLSAgICB9Ci0gICAgcmV0dXJu
IChhcmdjID4gMSAmJiBzdHJuY21wKGFyZ3ZbMV0sIG5vZHRkb3B0LCBzaXplb2Ygbm9kdGRvcHQp
ID09IDApCi0gICAgICAgICAgPyBhcmd2ICsgMiA6IGFyZ3YgKyAxOwotfQotCi0vKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioKLSAqIG1haW4gOiBtYWluIGNvZGUgZm9yIGJvbmRpaWRsIGNvbW1hbmQKLSAqLwotaW50
Ci1tYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKLXsKLSAgICBjb25zdCBjaGFyICpjb25zdCAq
cGFyZzsKLSAgICBwYXJnID0gb3B0aW9ucyhhcmdjLCAoY29uc3QgY2hhciAqY29uc3QgKilhcmd2
KTsKLSAgICBpZiAoISpwYXJnKQotICAgICAgICBlcnJvcmV4aXQoInVzYWdlOiAlcyBbLW5vLWR0
ZC1yZWZdIDxpbnRlcmZhY2U+LndpZGwgLi4uIiwgcHJvZ25hbWUpOwotICAgIHByb2Nlc3NmaWxl
cyhwYXJnLCBwYXJnID09IChjb25zdCBjaGFyICpjb25zdCAqKWFyZ3YgKyAxKTsKLSAgICByZXR1
cm4gMDsKLX0KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3NyYy9taXNjLmMgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3Qvd2lkbHByb2Mvc3JjL21pc2MuYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMzdhZmYzZjM0ZGIuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9zcmMv
bWlzYy5jCisrKyAvZGV2L251bGwKQEAgLTEsMTE5ICswLDAgQEAKLS8qKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgot
ICogJElkJAotICogQ29weXJpZ2h0IDIwMDkgQXBsaXggQ29ycG9yYXRpb24uIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCi0gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24g
Mi4wICh0aGUgIkxpY2Vuc2UiKTsKLSAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0
IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KLSAqIFlvdSBtYXkgb2J0YWluIGEgY29w
eSBvZiB0aGUgTGljZW5zZSBhdAotICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNl
cy9MSUNFTlNFLTIuMAotICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFn
cmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQotICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExp
Y2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKLSAqIFdJVEhPVVQgV0FS
UkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBs
aWVkLgotICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJu
aW5nIHBlcm1pc3Npb25zIGFuZAotICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCi0g
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKiovCi0jaW5jbHVkZSA8c3RkYXJnLmg+Ci0jaW5jbHVkZSA8c3RkaW8uaD4K
LSNpbmNsdWRlIDxzdGRsaWIuaD4KLSNpbmNsdWRlIDxzdHJpbmcuaD4KLSNpbmNsdWRlICJtaXNj
LmgiCi0jaW5jbHVkZSAib3MuaCIgLyogdG8gZ2V0IHZhX2NvcHkgb24gd2luZG93cyAqLwotCi1l
eHRlcm4gY29uc3QgY2hhciAqcHJvZ25hbWU7Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogbWVtb3J5
IGFsbG9jYXRpb24gd3JhcHBlcnMKLSAqLwotdm9pZCAqCi1tZW1hbGxvYyhzaXplX3Qgc2l6ZSkK
LXsKLSAgICB2b2lkICpwdHIgPSBtYWxsb2Moc2l6ZSk7Ci0gICAgaWYgKCFwdHIpCi0gICAgICAg
IGVycm9yZXhpdCgib3V0IG9mIG1lbW9yeSIpOwotICAgIC8qIFplcm8gaW5pdGlhbGlzZSBtZW1v
cnkgZnJvbSBtZW1hbGxvYy4gKi8KLSAgICBtZW1zZXQocHRyLCAwLCBzaXplKTsKLSAgICByZXR1
cm4gcHRyOwotfQotCi12b2lkICoKLW1lbXJlYWxsb2Modm9pZCAqcHRyLCBzaXplX3Qgc2l6ZSkK
LXsKLSAgICB2b2lkICpuZXdwdHIgPSByZWFsbG9jKHB0ciwgc2l6ZSk7Ci0gICAgaWYgKCFuZXdw
dHIpCi0gICAgICAgIGVycm9yZXhpdCgib3V0IG9mIG1lbW9yeSIpOwotICAgIHJldHVybiBuZXdw
dHI7Ci19Ci0KLXZvaWQKLW1lbWZyZWUodm9pZCAqcHRyKQotewotICAgICooaW50ICopcHRyID0g
MHhmZWZlZmVmZTsKLSAgICBmcmVlKHB0cik7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogdm1l
bXByaW50ZiwgbWVtcHJpbnRmIDogYWxsb2NhdGUgYnVmZmVyIGFuZCBzcHJpbnRmIGludG8gaXQK
LSAqLwotY2hhciAqCi1tZW1wcmludGYoY29uc3QgY2hhciAqZm9ybWF0LCAuLi4pCi17Ci0gICAg
dmFfbGlzdCBhcDsKLSAgICBjaGFyICpidWY7Ci0gICAgdmFfc3RhcnQoYXAsIGZvcm1hdCk7Ci0g
ICAgYnVmID0gdm1lbXByaW50Zihmb3JtYXQsIGFwKTsKLSAgICB2YV9lbmQoYXApOwotICAgIHJl
dHVybiBidWY7Ci19Ci0KLWNoYXIgKgotdm1lbXByaW50Zihjb25zdCBjaGFyICpmb3JtYXQsIHZh
X2xpc3QgYXApCi17Ci0gICAgY2hhciAqYnVmOwotICAgIHVuc2lnbmVkIGludCBtYXgsIGxlbjsK
LSAgICB2YV9saXN0IGFwMjsKLSAgICBtYXggPSAxNjsKLSAgICBmb3IgKDs7KSB7Ci0gICAgICAg
IHZhX2NvcHkoYXAyLCBhcCk7Ci0gICAgICAgIGJ1ZiA9IG1lbWFsbG9jKG1heCk7Ci0gICAgICAg
IGxlbiA9IHZzbnByaW50ZihidWYsIG1heCwgZm9ybWF0LCBhcDIpOwotICAgICAgICB2YV9lbmQo
YXAyKTsKLSAgICAgICAgaWYgKGxlbiA8IG1heCkKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAg
ICBtZW1mcmVlKGJ1Zik7Ci0gICAgICAgIG1heCAqPSAyOwotICAgIH0KLSAgICByZXR1cm4gYnVm
OwotfQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioKLSAqIGVycm9yZXhpdCA6IHByaW50IGVycm9yIG1lc3Nh
Z2UgdGhlbiBleGl0Ci0gKi8KLXZvaWQKLXZsb2NlcnJvcmV4aXQoY29uc3QgY2hhciAqZmlsZW5h
bWUsIHVuc2lnbmVkIGludCBsaW5lbnVtLAotICAgICAgICBjb25zdCBjaGFyICpmb3JtYXQsIHZh
X2xpc3QgYXApCi17Ci0gICAgaWYgKGZpbGVuYW1lKQotICAgICAgICBmcHJpbnRmKHN0ZGVyciwg
bGluZW51bSA/ICIlczogJWk6ICIgOiAiJXM6ICIsIGZpbGVuYW1lLCBsaW5lbnVtKTsKLSAgICB2
ZnByaW50ZihzdGRlcnIsIGZvcm1hdCwgYXApOwotICAgIGZwdXRjKCdcbicsIHN0ZGVycik7Ci0g
ICAgZXhpdCgxKTsKLX0KLQotdm9pZAotbG9jZXJyb3JleGl0KGNvbnN0IGNoYXIgKmZpbGVuYW1l
LCB1bnNpZ25lZCBpbnQgbGluZW51bSwKLSAgICAgICAgY29uc3QgY2hhciAqZm9ybWF0LCAuLi4p
Ci17Ci0gICAgdmFfbGlzdCBhcDsKLSAgICB2YV9zdGFydChhcCwgZm9ybWF0KTsKLSAgICB2bG9j
ZXJyb3JleGl0KGZpbGVuYW1lLCBsaW5lbnVtLCBmb3JtYXQsIGFwKTsKLSAgICB2YV9lbmQoYXAp
OwotfQotCi12b2lkCi1lcnJvcmV4aXQoY29uc3QgY2hhciAqZm9ybWF0LCAuLi4pCi17Ci0gICAg
dmFfbGlzdCBhcDsKLSAgICB2YV9zdGFydChhcCwgZm9ybWF0KTsKLSAgICB2bG9jZXJyb3JleGl0
KDAsIDAsIGZvcm1hdCwgYXApOwotICAgIHZhX2VuZChhcCk7Ci19Ci0KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC93aWRscHJvYy9zcmMvbWlzYy5oIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3NyYy9taXNj
LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAxYzM2ZDIxOGVkLi4wMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mvc3JjL21pc2MuaAorKysgL2Rldi9udWxsCkBAIC0x
LDMxICswLDAgQEAKLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogJElkJAotICogQ29weXJpZ2h0IDIwMDkg
QXBsaXggQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKiBMaWNlbnNlZCB1bmRl
ciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKLSAqIHlv
dSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGlj
ZW5zZS4KLSAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAotICogICAg
IGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAotICogVW5sZXNzIHJl
cXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2Fy
ZQotICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4g
IkFTIElTIiBCQVNJUywKLSAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFO
WSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgotICogU2VlIHRoZSBMaWNlbnNlIGZv
ciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAotICogbGlt
aXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCi0gKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi0jaWZuZGVmIG1p
c2NfaAotI2RlZmluZSBtaXNjX2gKLSNpbmNsdWRlIDxzdGRhcmcuaD4KLSNpbmNsdWRlIDxzdGRs
aWIuaD4KLQotdm9pZCAqbWVtYWxsb2Moc2l6ZV90IHNpemUpOwotdm9pZCAqbWVtcmVhbGxvYyh2
b2lkICpwdHIsIHNpemVfdCBzaXplKTsKLXZvaWQgbWVtZnJlZSh2b2lkICpwdHIpOwotCi1jaGFy
ICp2bWVtcHJpbnRmKGNvbnN0IGNoYXIgKmZvcm1hdCwgdmFfbGlzdCBhcCk7Ci1jaGFyICptZW1w
cmludGYoY29uc3QgY2hhciAqZm9ybWF0LCAuLi4pOwotCi12b2lkIHZsb2NlcnJvcmV4aXQoY29u
c3QgY2hhciAqZmlsZW5hbWUsIHVuc2lnbmVkIGludCBsaW5lbnVtLCBjb25zdCBjaGFyICpmb3Jt
YXQsIHZhX2xpc3QgYXApOwotdm9pZCBsb2NlcnJvcmV4aXQoY29uc3QgY2hhciAqZmlsZW5hbWUs
IHVuc2lnbmVkIGludCBsaW5lbnVtLCBjb25zdCBjaGFyICpmb3JtYXQsIC4uLik7Ci12b2lkIGVy
cm9yZXhpdChjb25zdCBjaGFyICpmb3JtYXQsIC4uLik7Ci0KLSNlbmRpZiAvKiBuZGVmIG1pc2Nf
aCAqLwotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mvc3JjL25vZGUuYyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC93aWRscHJvYy9zcmMvbm9kZS5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBk
OGY3Mzc5MDlhNC4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3NyYy9ub2Rl
LmMKKysrIC9kZXYvbnVsbApAQCAtMSwzMzEgKzAsMCBAQAotLyoqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiAk
SWQkCi0gKiBDb3B5cmlnaHQgMjAwOSBBcGxpeCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KLSAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAg
KHRoZSAiTGljZW5zZSIpOwotICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4g
Y29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgotICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9m
IHRoZSBMaWNlbnNlIGF0Ci0gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJ
Q0VOU0UtMi4wCi0gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVk
IHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCi0gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5z
ZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAotICogV0lUSE9VVCBXQVJSQU5U
SUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQu
Ci0gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcg
cGVybWlzc2lvbnMgYW5kCi0gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KLSAqCi0g
KiBOb2RlLXNwZWNpZmljIGZ1bmN0aW9ucwotICoqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwotI2luY2x1ZGUgPGFz
c2VydC5oPgotI2luY2x1ZGUgPHN0ZGlvLmg+Ci0jaW5jbHVkZSA8c3RyaW5nLmg+Ci0jaW5jbHVk
ZSAiY29tbWVudC5oIgotI2luY2x1ZGUgImxleC5oIgotI2luY2x1ZGUgIm1pc2MuaCIKLSNpbmNs
dWRlICJub2RlLmgiCi0jaW5jbHVkZSAicHJvY2Vzcy5oIgotCi1zdHJ1Y3Qgbm9kZSAqCi1uZXdl
bGVtZW50KGNvbnN0IGNoYXIgKm5hbWUpCi17Ci0gICAgc3RydWN0IGVsZW1lbnQgKmVsZW1lbnQg
PSBtZW1hbGxvYyhzaXplb2Yoc3RydWN0IGVsZW1lbnQpKTsKLSAgICBlbGVtZW50LT5uLnR5cGUg
PSBOT0RFX0VMRU1FTlQ7Ci0gICAgZWxlbWVudC0+bmFtZSA9IG5hbWU7Ci0gICAgcmV0dXJuICZl
bGVtZW50LT5uOwotfQotCi1zdHJ1Y3Qgbm9kZSAqCi1uZXdhdHRyKGNvbnN0IGNoYXIgKm5hbWUs
IGNvbnN0IGNoYXIgKnZhbCkKLXsKLSAgICBzdHJ1Y3QgYXR0ciAqYXR0ciA9IG1lbWFsbG9jKHNp
emVvZihzdHJ1Y3QgYXR0cikpOwotICAgIGF0dHItPm4udHlwZSA9IE5PREVfQVRUUjsKLSAgICBh
dHRyLT5uYW1lID0gbmFtZTsKLSAgICBhdHRyLT52YWx1ZSA9IHZhbDsKLSAgICByZXR1cm4gJmF0
dHItPm47Ci19Ci0KLXN0cnVjdCBub2RlICoKLW5ld2F0dHJsaXN0KHZvaWQpCi17Ci0gICAgc3Ry
dWN0IGF0dHJsaXN0ICphdHRybGlzdCA9IG1lbWFsbG9jKHNpemVvZihzdHJ1Y3QgYXR0cmxpc3Qp
KTsKLSAgICBhdHRybGlzdC0+bi50eXBlID0gTk9ERV9BVFRSTElTVDsKLSAgICByZXR1cm4gJmF0
dHJsaXN0LT5uOwotfQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIGFkZG5vZGUgOiBhZGQgbm9kZSBh
cyBjaGlsZCBvZiBhbm90aGVyIG5vZGUKLSAqCi0gKiBFbnRlcjogICBwYXJlbnQgbm9kZQotICog
ICAgICAgICAgY2hpbGQgbm9kZQotICoKLSAqIFRoZSBjaGlsZHJlbiBsaXN0IGlzIGNvbnN0cnVj
dGVkIGJhY2t3YXJkcy4gVGhpcyBpcyBmaXhlZCBsYXRlciB3aXRoCi0gKiBhIGNhbGwgdG8gcmV2
ZXJzZWNoaWxkcmVuLgotICoKLSAqIElmIGNoaWxkIGlzIGFuIGF0dHJsaXN0LCBpdHMgY2hpbGRy
ZW4gYXJlIGFkZGVkIHRvIHBhcmVudCBhbmQgdGhlCi0gKiBhdHRybGlzdCBpcyBmcmVlZC4KLSAq
Lwotdm9pZAotYWRkbm9kZShzdHJ1Y3Qgbm9kZSAqcGFyZW50LCBzdHJ1Y3Qgbm9kZSAqY2hpbGQp
Ci17Ci0gICAgaWYgKCFjaGlsZCkKLSAgICAgICAgcmV0dXJuOwotICAgIGlmIChjaGlsZC0+dHlw
ZSA9PSBOT0RFX0FUVFJMSVNUKSB7Ci0gICAgICAgIC8qIEFkZCB0aGUgYXR0cnMgaW4gdGhlIGF0
dHJsaXN0IHRvIHBhcmVudC4gKi8KLSAgICAgICAgc3RydWN0IG5vZGUgKmNoaWxkMjsKLSAgICAg
ICAgcmV2ZXJzZWNoaWxkcmVuKGNoaWxkKTsKLSAgICAgICAgY2hpbGQyID0gY2hpbGQtPmNoaWxk
cmVuOwotICAgICAgICBtZW1mcmVlKGNoaWxkKTsKLSAgICAgICAgd2hpbGUgKGNoaWxkMikgewot
ICAgICAgICAgICAgc3RydWN0IG5vZGUgKm5leHQgPSBjaGlsZDItPm5leHQ7Ci0gICAgICAgICAg
ICBhZGRub2RlKHBhcmVudCwgY2hpbGQyKTsKLSAgICAgICAgICAgIGNoaWxkMiA9IG5leHQ7Ci0g
ICAgICAgIH0KLSAgICB9IGVsc2UgewotICAgICAgICBjaGlsZC0+bmV4dCA9IHBhcmVudC0+Y2hp
bGRyZW47Ci0gICAgICAgIHBhcmVudC0+Y2hpbGRyZW4gPSBjaGlsZDsKLSAgICAgICAgY2hpbGQt
PnBhcmVudCA9IHBhcmVudDsKLSAgICB9Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogcmV2ZXJz
ZWNoaWxkcmVuIDogcmVjdXJzaXZlbHkgcmV2ZXJzZSBjaGlsZCBsaXN0cwotICoKLSAqIEFsc28g
c2V0cyBwYXJlbnQgZmllbGQgb24gZWFjaCBub2RlLgotICovCi12b2lkCi1yZXZlcnNlY2hpbGRy
ZW4oc3RydWN0IG5vZGUgKm5vZGUpCi17Ci0gICAgc3RydWN0IG5vZGUgKm5ld2xpc3QgPSAwOwot
ICAgIHN0cnVjdCBub2RlICpjaGlsZCA9IG5vZGUtPmNoaWxkcmVuOwotICAgIHdoaWxlIChjaGls
ZCkgewotICAgICAgICBzdHJ1Y3Qgbm9kZSAqbmV4dCA9IGNoaWxkLT5uZXh0OwotICAgICAgICBj
aGlsZC0+cGFyZW50ID0gbm9kZTsKLSAgICAgICAgY2hpbGQtPm5leHQgPSBuZXdsaXN0OwotICAg
ICAgICBuZXdsaXN0ID0gY2hpbGQ7Ci0gICAgICAgIHJldmVyc2VjaGlsZHJlbihjaGlsZCk7Ci0g
ICAgICAgIGNoaWxkID0gbmV4dDsKLSAgICB9Ci0gICAgbm9kZS0+Y2hpbGRyZW4gPSBuZXdsaXN0
OwotfQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioKLSAqIG5vZGVpc2VtcHR5IDogdGVzdCBpZiBub2RlIGlz
IGVtcHR5IChoYXMgbm8gY2hpbGRyZW4pCi0gKi8KLWludAotbm9kZWlzZW1wdHkoc3RydWN0IG5v
ZGUgKm5vZGUpCi17Ci0gICAgcmV0dXJuICFub2RlLT5jaGlsZHJlbjsKLX0KLQotLyoqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqCi0gKiBub2Rld2FsayA6IHNpbmdsZSBzdGVwIG9mIGRlcHRoIGxhc3QgdHJhdmVyc2Fs
IG9mIG5vZGUgdHJlZQotICoKLSAqIFJldHVybjogIG5leHQgbm9kZSBpbiB3YWxrLCAwIGlmIGZp
bmlzaGVkCi0gKi8KLXN0cnVjdCBub2RlICoKLW5vZGV3YWxrKHN0cnVjdCBub2RlICpub2RlKQot
ewotICAgIGlmIChub2RlLT5jaGlsZHJlbikKLSAgICAgICAgcmV0dXJuIG5vZGUtPmNoaWxkcmVu
OwotICAgIGlmIChub2RlLT5uZXh0KQotICAgICAgICByZXR1cm4gbm9kZS0+bmV4dDsKLSAgICBk
byB7Ci0gICAgICAgIG5vZGUgPSBub2RlLT5wYXJlbnQ7Ci0gICAgICAgIGlmICghbm9kZSkKLSAg
ICAgICAgICAgIHJldHVybiAwOwotICAgIH0gd2hpbGUgKCFub2RlLT5uZXh0KTsKLSAgICByZXR1
cm4gbm9kZS0+bmV4dDsKLX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBmaW5kY2hpbGRlbGVtZW50
IDogZmluZCBjaGlsZCBlbGVtZW50IG9mIGEgcGFydGljdWxhciBuYW1lCi0gKgotICogRW50ZXI6
ICAgbm9kZSA9IGVsZW1lbnQKLSAqICAgICAgICAgIG5hbWUgPSBuYW1lIHRvIGZpbmQKLSAqCi0g
KiBSZXR1cm46ICAwIGVsc2UgY2hpbGQgZWxlbWVudCBvZiB0aGF0IG5hbWUKLSAqLwotc3RhdGlj
IHN0cnVjdCBub2RlICoKLWZpbmRjaGlsZGVsZW1lbnQoc3RydWN0IG5vZGUgKm5vZGUsIGNvbnN0
IGNoYXIgKm5hbWUpCi17Ci0gICAgbm9kZSA9IG5vZGUtPmNoaWxkcmVuOwotICAgIHdoaWxlIChu
b2RlKSB7Ci0gICAgICAgIGlmIChub2RlLT50eXBlID09IE5PREVfRUxFTUVOVCkgewotICAgICAg
ICAgICAgc3RydWN0IGVsZW1lbnQgKmVsZW1lbnQgPSAodm9pZCAqKW5vZGU7Ci0gICAgICAgICAg
ICBpZiAoIXN0cmNtcChlbGVtZW50LT5uYW1lLCBuYW1lKSkKLSAgICAgICAgICAgICAgICBicmVh
azsKLSAgICAgICAgfQotICAgICAgICBub2RlID0gbm9kZS0+bmV4dDsKLSAgICB9Ci0gICAgcmV0
dXJuIG5vZGU7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogZ2V0YXR0ciA6IGdldCB2YWx1ZSBv
ZiBhdHRyaWJ1dGUKLSAqCi0gKiBFbnRlcjogICBub2RlID0gZWxlbWVudCB0byBmaW5kIGF0dHJp
YnV0ZSBpbgotICogICAgICAgICAgbmFtZSA9IG5hbWUgb2YgYXR0cmlidXRlCi0gKgotICogUmV0
dXJuOiAgMCBpZiBub3QgZm91bmQsIGVsc2UgMC10ZXJtaW5hdGVkIHN0cmluZyB2YWx1ZQotICov
Ci1jb25zdCBjaGFyICoKLWdldGF0dHIoc3RydWN0IG5vZGUgKm5vZGUsIGNvbnN0IGNoYXIgKm5h
bWUpCi17Ci0gICAgbm9kZSA9IG5vZGUtPmNoaWxkcmVuOwotICAgIHdoaWxlIChub2RlKSB7Ci0g
ICAgICAgIGlmIChub2RlLT50eXBlID09IE5PREVfQVRUUikgewotICAgICAgICAgICAgc3RydWN0
IGF0dHIgKmF0dHIgPSAodm9pZCAqKW5vZGU7Ci0gICAgICAgICAgICBpZiAoIXN0cmNtcChhdHRy
LT5uYW1lLCBuYW1lKSkKLSAgICAgICAgICAgICAgICByZXR1cm4gYXR0ci0+dmFsdWU7Ci0gICAg
ICAgIH0KLSAgICAgICAgbm9kZSA9IG5vZGUtPm5leHQ7Ci0gICAgfQotICAgIHJldHVybiAwOwot
fQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioKLSAqIGZpbmRjaGlsZGVsZW1lbnR3aXRobmFtZWF0dHIgOiBm
aW5kIGNoaWxkIGVsZW1lbnQgd2l0aCBhIG5hbWUgYXR0cmlidXRlCi0gKiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgb2YgYSBwYXJ0aWN1bGFyIHZhbHVlCi0gKgotICogRW50ZXI6ICAg
bm9kZSA9IGVsZW1lbnQKLSAqICAgICAgICAgIG5hbWUgPSBuYW1lIHRvIGZpbmQKLSAqCi0gKiBS
ZXR1cm46ICAwIGVsc2UgY2hpbGQgZWxlbWVudCB3aXRoIG5hbWUgYXR0ciBvZiB0aGF0IHZhbHVl
Ci0gKi8KLXN0YXRpYyBzdHJ1Y3Qgbm9kZSAqCi1maW5kY2hpbGRlbGVtZW50d2l0aG5hbWVhdHRy
KHN0cnVjdCBub2RlICpub2RlLCBjb25zdCBjaGFyICpuYW1lKQotewotICAgIG5vZGUgPSBub2Rl
LT5jaGlsZHJlbjsKLSAgICB3aGlsZSAobm9kZSkgewotICAgICAgICBpZiAobm9kZS0+dHlwZSA9
PSBOT0RFX0VMRU1FTlQpIHsKLSAgICAgICAgICAgIGNvbnN0IGNoYXIgKnMgPSBnZXRhdHRyKG5v
ZGUsICJuYW1lIik7Ci0gICAgICAgICAgICBpZiAocyAmJiAhc3RyY21wKHMsIG5hbWUpKQotICAg
ICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0gICAgICAgIG5vZGUgPSBub2RlLT5uZXh0
OwotICAgIH0KLSAgICByZXR1cm4gbm9kZTsKLX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBmaW5k
cmV0dXJudHlwZSA6IGZpbmQgVHlwZSBwYXJzZSBub2RlIGZvciByZXR1cm4gdHlwZQotICoKLSAq
IEVudGVyOiAgIG5vZGUgPSBPcGVyYXRpb24gZWxlbWVudAotICoKLSAqIFJldHVybjogIDAgaWYg
bm90IGZvdW5kLCBlbHNlIFR5cGUgcGFyc2Ugbm9kZSBmb3IgcmV0dXJuIHR5cGUKLSAqLwotc3Ry
dWN0IG5vZGUgKgotZmluZHJldHVybnR5cGUoc3RydWN0IG5vZGUgKm5vZGUpCi17Ci0gICAgcmV0
dXJuIGZpbmRjaGlsZGVsZW1lbnQobm9kZSwgIlR5cGUiKTsKLX0KLQotLyoqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
Ci0gKiBmaW5kcGFyYW1pZGVudGlmaWVyIDogZmluZCBpZGVudGlmaWVyIHBhcnNlIG5vZGUgZm9y
IHBhcmFtZXRlcgotICoKLSAqIEVudGVyOiAgIG5vZGUgPSBPcGVyYXRpb24gZWxlbWVudAotICog
ICAgICAgICAgbmFtZSA9IHBhcmFtZXRlciBuYW1lIHRvIGZpbmQKLSAqCi0gKiBSZXR1cm46ICAw
IGlmIG5vdCBmb3VuZCwgZWxzZSBub2RlIHN0cnVjdCBmb3IgcGFyYW1ldGVyIGlkZW50aWZpZXIK
LSAqLwotc3RydWN0IG5vZGUgKgotZmluZHBhcmFtaWRlbnRpZmllcihzdHJ1Y3Qgbm9kZSAqbm9k
ZSwgY29uc3QgY2hhciAqbmFtZSkKLXsKLSAgICBub2RlID0gZmluZGNoaWxkZWxlbWVudChub2Rl
LCAiQXJndW1lbnRMaXN0Iik7Ci0gICAgaWYgKG5vZGUpCi0gICAgICAgIG5vZGUgPSBmaW5kY2hp
bGRlbGVtZW50d2l0aG5hbWVhdHRyKG5vZGUsIG5hbWUpOwotICAgIHJldHVybiBub2RlOwotfQot
Ci0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioKLSAqIGZpbmR0aHJvd2lkZW50aWZpZXIgOiBmaW5kIGlkZW50aWZp
ZXIgcGFyc2Ugbm9kZSBmb3IgZXhjZXB0aW9uIG5hbWUKLSAqCi0gKiBFbnRlcjogICBub2RlID0g
T3BlcmF0aW9uIGVsZW1lbnQKLSAqICAgICAgICAgIG5hbWUgPSBleGNlcHRpb24gbmFtZSB0byBm
aW5kCi0gKgotICogUmV0dXJuOiAgMCBpZiBub3QgZm91bmQsIGVsc2Ugbm9kZSBmb3IgTmFtZSBl
bGVtZW50LCBjaGlsZCBvZiBSYWlzZXMKLSAqICAgICAgICAgICAgICBvciBTZXRSYWlzZXMKLSAq
Lwotc3RydWN0IG5vZGUgKgotZmluZHRocm93aWRlbnRpZmllcihzdHJ1Y3Qgbm9kZSAqbm9kZSwg
Y29uc3QgY2hhciAqbmFtZSkKLXsKLSAgICBzdHJ1Y3Qgbm9kZSAqbm9kZTIgPSBmaW5kY2hpbGRl
bGVtZW50KG5vZGUsICJSYWlzZXMiKTsKLSAgICBpZiAobm9kZTIpCi0gICAgICAgIG5vZGUyID0g
ZmluZGNoaWxkZWxlbWVudHdpdGhuYW1lYXR0cihub2RlMiwgbmFtZSk7Ci0gICAgaWYgKCFub2Rl
MikgewotICAgICAgICBub2RlMiA9IGZpbmRjaGlsZGVsZW1lbnQobm9kZSwgIlNldFJhaXNlcyIp
OwotICAgICAgICBpZiAobm9kZTIpCi0gICAgICAgICAgICBub2RlMiA9IGZpbmRjaGlsZGVsZW1l
bnR3aXRobmFtZWF0dHIobm9kZTIsIG5hbWUpOwotICAgIH0KLSAgICByZXR1cm4gbm9kZTI7Ci19
Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKgotICogb3V0cHV0aWQgOiBvdXRwdXQgdGhlIGlkIG9mIGEgbm9k
ZQotICovCi1zdGF0aWMgdm9pZAotb3V0cHV0aWQoc3RydWN0IG5vZGUgKm5vZGUpCi17Ci0gICAg
aWYgKG5vZGUtPnBhcmVudCkKLSAgICAgICAgb3V0cHV0aWQobm9kZS0+cGFyZW50KTsKLSAgICBp
ZiAobm9kZS0+aWQpIHsKLSAgICAgICAgZnB1dHMoIjo6Iiwgc3Rkb3V0KTsKLSAgICAgICAgcHJp
bnR0ZXh0KG5vZGUtPmlkLCBzdHJsZW4obm9kZS0+aWQpLCAxKTsKLSAgICB9Ci19Ci0KLS8qKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKgotICogb3V0cHV0bm9kZSA6IG91dHB1dCBub2RlIGFuZCBpdHMgY2hpbGRyZW4K
LSAqCi0gKiBFbnRlcjogICBub2RlID0gbm9kZSB0byBvdXRwdXQsIGFzc3VtZWQgdG8gYmUgYW4g
ZWxlbWVudAotICogICAgICAgICAgaW5kZW50Ci0gKi8KLXZvaWQKLW91dHB1dG5vZGUoc3RydWN0
IG5vZGUgKm5vZGUsIHVuc2lnbmVkIGludCBpbmRlbnQpCi17Ci0gICAgc3RydWN0IGVsZW1lbnQg
KmVsZW1lbnQgPSAodm9pZCAqKW5vZGU7Ci0gICAgc3RydWN0IG5vZGUgKmNoaWxkOwotICAgIGlu
dCBlbXB0eSA9IDE7Ci0gICAgcHJpbnRmKCIlKnM8JXMiLCBpbmRlbnQsICIiLCBlbGVtZW50LT5u
YW1lKTsKLSAgICBjaGlsZCA9IGVsZW1lbnQtPm4uY2hpbGRyZW47Ci0gICAgd2hpbGUgKGNoaWxk
KSB7Ci0gICAgICAgIHN3aXRjaChjaGlsZC0+dHlwZSkgewotICAgICAgICBjYXNlIE5PREVfRUxF
TUVOVDoKLSAgICAgICAgICAgIGVtcHR5ID0gMDsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAg
ICBjYXNlIE5PREVfQVRUUjoKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBzdHJ1Y3Qg
YXR0ciAqYXR0ciA9ICh2b2lkICopY2hpbGQ7Ci0gICAgICAgICAgICAgICAgcHJpbnRmKCIgJXM9
XCIiLCBhdHRyLT5uYW1lKTsKLSAgICAgICAgICAgICAgICBwcmludHRleHQoYXR0ci0+dmFsdWUs
IHN0cmxlbihhdHRyLT52YWx1ZSksIDEpOwotICAgICAgICAgICAgICAgIHByaW50ZigiXCIiKTsK
LSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0gICAgICAgIGNo
aWxkID0gY2hpbGQtPm5leHQ7Ci0gICAgfQotICAgIGlmIChub2RlLT5pZCkgewotICAgICAgICBw
cmludGYoIiBpZD1cIiIpOwotICAgICAgICBvdXRwdXRpZChub2RlKTsKLSAgICAgICAgcHJpbnRm
KCJcIiIpOwotICAgIH0KLSAgICBpZiAoIWVtcHR5IHx8IG5vZGUtPmNvbW1lbnRzIHx8IG5vZGUt
Pndzc3RhcnQpIHsKLSAgICAgICAgcHJpbnRmKCI+XG4iKTsKLSAgICAgICAgaWYgKG5vZGUtPndz
c3RhcnQpIHsKLSAgICAgICAgICAgIHByaW50ZigiJSpzICA8d2ViaWRsPiIsIGluZGVudCwgIiIp
OwotICAgICAgICAgICAgb3V0cHV0d2lkbChub2RlKTsKLSAgICAgICAgICAgIHByaW50ZigiPC93
ZWJpZGw+XG4iKTsKLSAgICAgICAgfQotICAgICAgICBvdXRwdXRkZXNjcmlwdGl2ZShub2RlLCBp
bmRlbnQgKyAyKTsKLSAgICAgICAgY2hpbGQgPSBlbGVtZW50LT5uLmNoaWxkcmVuOwotICAgICAg
ICB3aGlsZSAoY2hpbGQpIHsKLSAgICAgICAgICAgIHN3aXRjaChjaGlsZC0+dHlwZSkgewotICAg
ICAgICAgICAgY2FzZSBOT0RFX0VMRU1FTlQ6Ci0gICAgICAgICAgICAgICAgb3V0cHV0bm9kZShj
aGlsZCwgaW5kZW50ICsgMik7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICB9
Ci0gICAgICAgICAgICBjaGlsZCA9IGNoaWxkLT5uZXh0OwotICAgICAgICB9Ci0gICAgICAgIHBy
aW50ZigiJSpzPC8lcz5cbiIsIGluZGVudCwgIiIsIGVsZW1lbnQtPm5hbWUpOwotICAgIH0gZWxz
ZQotICAgICAgICBwcmludGYoIi8+XG4iKTsKLX0KLQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
d2lkbHByb2Mvc3JjL25vZGUuaCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9zcmMvbm9kZS5oCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyZDZlMzhlNTMyMy4uMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3dpZGxwcm9jL3NyYy9ub2RlLmgKKysrIC9kZXYvbnVsbApAQCAtMSw2NSArMCww
IEBACi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioKLSAqICRJZCQKLSAqIENvcHlyaWdodCAyMDA5IEFwbGl4IENv
cnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICogTGljZW5zZWQgdW5kZXIgdGhlIEFw
YWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7Ci0gKiB5b3UgbWF5IG5v
dCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCi0g
KiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKLSAqICAgICBodHRwOi8v
d3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKLSAqIFVubGVzcyByZXF1aXJlZCBi
eSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKLSAqIGRp
c3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIg
QkFTSVMsCi0gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwg
ZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KLSAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNw
ZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKLSAqIGxpbWl0YXRpb25z
IHVuZGVyIHRoZSBMaWNlbnNlLgotICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwotI2lmbmRlZiBub2RlX2gKLSNk
ZWZpbmUgbm9kZV9oCi0KLS8qIHN0cnVjdCBub2RlIDogYSBub2RlIGluIHRoZSBwYXJzZSB0cmVl
IChleGNsdWRpbmcgY29tbWVudHMpICovCi1lbnVtIHsgTk9ERV9FTEVNRU5ULCBOT0RFX0FUVFIs
IE5PREVfQVRUUkxJU1QgfTsKLXN0cnVjdCBub2RlIHsKLSAgICBpbnQgdHlwZTsKLSAgICBzdHJ1
Y3Qgbm9kZSAqbmV4dDsKLSAgICBzdHJ1Y3Qgbm9kZSAqcGFyZW50OwotICAgIHN0cnVjdCBub2Rl
ICpjaGlsZHJlbjsKLSAgICBzdHJ1Y3QgY29tbWVudCAqY29tbWVudHM7IC8qIGxpc3Qgb2YgY29t
bWVudHMgYXR0YWNoZWQgdG8gdGhpcyBub2RlICovCi0gICAgLyogSWYgd3NzdGFydCBhbmQgZW5k
IGFyZSBzZXQsIHRoZXkgZ2l2ZSB0aGUgbGl0ZXJhbCBXZWIgSURMIHRoYXQgY2FuCi0gICAgICog
YmUgb3V0cHV0IGluIGEgPHdlYmlkbD4gZWxlbWVudC4gKi8KLSAgICBjb25zdCBjaGFyICp3c3N0
YXJ0OwotICAgIC8qIElmIHN0YXJ0IGFuZCBlbmQgYXJlIHNldCwgdGhleSBnaXZlIHRoZSB0ZXh0
IG9mIGEgc2NvcGVkIG5hbWUgdGhhdAotICAgICAqIGNhbiBiZSBlbmNsb3NlZCBpbiBhIDxyZWY+
IHdoZW4gb3V0cHV0dGluZyBhIDx3ZWJpZGw+IGVsZW1lbnQgZm9yCi0gICAgICogYW4gYW5jZXN0
b3IgZWxlbWVudC4gKi8KLSAgICBjb25zdCBjaGFyICpzdGFydDsKLSAgICBjb25zdCBjaGFyICpl
bmQ7Ci0gICAgY29uc3QgY2hhciAqaWQ7Ci19OwotCi1zdHJ1Y3QgZWxlbWVudCB7Ci0gICAgc3Ry
dWN0IG5vZGUgbjsKLSAgICBjb25zdCBjaGFyICpuYW1lOwotfTsKLQotc3RydWN0IGF0dHIgewot
ICAgIHN0cnVjdCBub2RlIG47Ci0gICAgY29uc3QgY2hhciAqbmFtZTsKLSAgICBjb25zdCBjaGFy
ICp2YWx1ZTsKLX07Ci0KLXN0cnVjdCBhdHRybGlzdCB7Ci0gICAgc3RydWN0IG5vZGUgbjsKLX07
Ci0KLXN0cnVjdCBub2RlICpuZXdlbGVtZW50KGNvbnN0IGNoYXIgKm5hbWUpOwotc3RydWN0IG5v
ZGUgKm5ld2F0dHIoY29uc3QgY2hhciAqbmFtZSwgY29uc3QgY2hhciAqdmFsKTsKLXN0cnVjdCBu
b2RlICpuZXdhdHRybGlzdCh2b2lkKTsKLXZvaWQgYWRkbm9kZShzdHJ1Y3Qgbm9kZSAqcGFyZW50
LCBzdHJ1Y3Qgbm9kZSAqY2hpbGQpOwotdm9pZCByZXZlcnNlY2hpbGRyZW4oc3RydWN0IG5vZGUg
Km5vZGUpOwotaW50IG5vZGVpc2VtcHR5KHN0cnVjdCBub2RlICpub2RlKTsKLWNvbnN0IGNoYXIg
KmdldGF0dHIoc3RydWN0IG5vZGUgKm5vZGUsIGNvbnN0IGNoYXIgKm5hbWUpOwotc3RydWN0IG5v
ZGUgKm5vZGV3YWxrKHN0cnVjdCBub2RlICpub2RlKTsKLXN0cnVjdCBub2RlICpmaW5kcmV0dXJu
dHlwZShzdHJ1Y3Qgbm9kZSAqbm9kZSk7Ci1zdHJ1Y3Qgbm9kZSAqZmluZHBhcmFtaWRlbnRpZmll
cihzdHJ1Y3Qgbm9kZSAqbm9kZSwgY29uc3QgY2hhciAqbmFtZSk7Ci1zdHJ1Y3Qgbm9kZSAqZmlu
ZHRocm93aWRlbnRpZmllcihzdHJ1Y3Qgbm9kZSAqbm9kZSwgY29uc3QgY2hhciAqbmFtZSk7Ci12
b2lkIG91dHB1dG5vZGUoc3RydWN0IG5vZGUgKm5vZGUsIHVuc2lnbmVkIGludCBpbmRlbnQpOwot
Ci0jZW5kaWYgLyogbmRlZiBub2RlX2ggKi8KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxw
cm9jL3NyYy9vcy5oIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3NyYy9vcy5oCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCBhYzhmNDE4OWQxOS4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3dpZGxwcm9jL3NyYy9vcy5oCisrKyAvZGV2L251bGwKQEAgLTEsMzEgKzAsMCBAQAotLyoqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqCi0gKiAkSWQkCi0gKiBDb3B5cmlnaHQgMjAwOSBBcGxpeCBDb3Jwb3JhdGlvbi4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5z
ZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOwotICogeW91IG1heSBub3QgdXNlIHRoaXMg
ZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgotICogWW91IG1heSBv
YnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0Ci0gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUu
b3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCi0gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJs
ZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCi0gKiBkaXN0cmlidXRlZCB1
bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAotICog
V0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHBy
ZXNzIG9yIGltcGxpZWQuCi0gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5n
dWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCi0gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUg
TGljZW5zZS4KLSAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKi8KLSNpZm5kZWYgb3NfaAotI2RlZmluZSBvc19oCi0K
LS8qIExpbnV4IGNvbmZpZ3VyYXRpb24gKi8KLSNpZiBkZWZpbmVkKF9fZ251X2xpbnV4X18pCi0K
LQotLyogV2luZG93cyBjb25maWd1cmF0aW9uICovCi0jZWxpZiBkZWZpbmVkKF9NU0NfVkVSKQot
Ci0jZGVmaW5lIGlubGluZSBfX2lubGluZQotI2RlZmluZSBzdHJuY2FzZWNtcCBzdHJuaWNtcAot
I2RlZmluZSBzbnByaW50ZiBfc25wcmludGYKLSNkZWZpbmUgdmFfY29weShhLGIpICgoYSk9KGIp
KQotCi0jZW5kaWYKLQotI2VuZGlmIC8qIG5kZWYgb3NfaCAqLwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3dpZGxwcm9jL3NyYy9wYXJzZS5jIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3NyYy9wYXJzZS5j
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjMGU4NDU0Y2VhYy4uMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3NyYy9wYXJzZS5jCisrKyAvZGV2L251bGwKQEAgLTEs
MTQxNCArMCwwIEBACi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqICRJZCQKLSAqIENvcHlyaWdodCAyMDA5
IEFwbGl4IENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICogTGljZW5zZWQgdW5k
ZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7Ci0gKiB5
b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExp
Y2Vuc2UuCi0gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKLSAqICAg
ICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKLSAqIFVubGVzcyBy
ZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdh
cmUKLSAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFu
ICJBUyBJUyIgQkFTSVMsCi0gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBB
TlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KLSAqIFNlZSB0aGUgTGljZW5zZSBm
b3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKLSAqIGxp
bWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgotICoKLSAqIEhhbmQtY3JhZnRlZCByZWN1cnNp
dmUgZGVzY2VudCBwYXJzZXIgZm9yIFdlYiBJREwgZ3JhbW1hci4KLSAqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8K
LSNpbmNsdWRlIDxhc3NlcnQuaD4KLSNpbmNsdWRlIDxzdGRhcmcuaD4KLSNpbmNsdWRlIDxzdGRp
by5oPgotI2luY2x1ZGUgPHN0cmluZy5oPgotCi0jaW5jbHVkZSAiY29tbWVudC5oIgotI2luY2x1
ZGUgImxleC5oIgotI2luY2x1ZGUgIm1pc2MuaCIKLSNpbmNsdWRlICJub2RlLmgiCi0jaW5jbHVk
ZSAicGFyc2UuaCIKLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiB0b2tlcnJvcmV4aXQgOiBlcnJvciBh
bmQgZXhpdCB3aXRoIGxpbmUgbnVtYmVyIGZyb20gdG9rZW4KLSAqLwotc3RhdGljIHZvaWQKLXRv
a2Vycm9yZXhpdChzdHJ1Y3QgdG9rICp0b2ssIGNvbnN0IGNoYXIgKmZvcm1hdCwgLi4uKQotewot
ICAgIHZhX2xpc3QgYXA7Ci0gICAgY2hhciAqbTsKLSAgICB2YV9zdGFydChhcCwgZm9ybWF0KTsK
LSAgICBtID0gdm1lbXByaW50Zihmb3JtYXQsIGFwKTsKLSAgICBpZiAodG9rLT50eXBlID09IFRP
S19FT0YpCi0gICAgICAgIGxvY2Vycm9yZXhpdCh0b2stPmZpbGVuYW1lLCB0b2stPmxpbmVudW0s
ICJhdCBlbmQgb2YgaW5wdXQ6ICVzIiwgbSk7Ci0gICAgZWxzZQotICAgICAgICBsb2NlcnJvcmV4
aXQodG9rLT5maWxlbmFtZSwgdG9rLT5saW5lbnVtLCAiYXQgJyUuKnMnOiAlcyIsIHRvay0+bGVu
LCB0b2stPnN0YXJ0LCBtKTsKLSAgICB2YV9lbmQoYXApOwotfQotCi0vKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioK
LSAqIGxleG5vY29tbWVudCA6IGxleCBuZXh0IHRva2VuLCBkaXNjYXJkaW5nIG9yIHN0b3Jpbmcg
Y29tbWVudHMKLSAqCi0gKiBBIGJsb2NrIGNvbW1lbnQgc3RhcnRpbmcgd2l0aCB8Kiogb3IgfCoh
IGlzIGEgZG94eWdlbiBjb21tZW50LgotICogSWYgaXQgc3RhcnRzIHdpdGggfCoqPCBvciB8KiE8
IHRoZW4gaXQgcmVmZXJzIHRvIHRoZSBwcmV2aW91cwotICogaWRlbnRpZmllciwgbm90IHRoZSBu
ZXh0IG9uZS4gKEkgYW0gdXNpbmcgfCB0byByZXByZXNlbnQgLyBvdGhlcndpc2UKLSAqIHRoaXMg
Y29tbWVudCB3b3VsZCBiZSBpbGxlZ2FsLikKLSAqCi0gKiBBbiBpbmxpbmUgY29tbWVudCBzdGFy
dGluZyB3aXRoIC8vLyBvciAvLyEgaXMgYSBkb3h5Z2VuIGNvbW1lbnQuCi0gKiBJZiBpdCBzdGFy
dHMgd2l0aCAvLy88IG9yIC8vITwgdGhlbiBpdCByZWZlcnMgdG8gdGhlIHByZXZpb3VzCi0gKiBp
ZGVudGlmaWVyLCBub3QgdGhlIG5leHQgb25lLgotICovCi1zdGF0aWMgc3RydWN0IHRvayAqCi1s
ZXhub2NvbW1lbnQodm9pZCkKLXsKLSAgICBzdHJ1Y3QgdG9rICp0b2s7Ci0gICAgZm9yICg7Oykg
ewotICAgICAgICB0b2sgPSBsZXgoKTsKLSAgICAgICAgaWYgKHRvay0+dHlwZSAhPSBUT0tfQkxP
Q0tDT01NRU5UICYmIHRvay0+dHlwZSAhPSBUT0tfSU5MSU5FQ09NTUVOVCkKLSAgICAgICAgICAg
IGJyZWFrOwotICAgICAgICBhZGRjb21tZW50KHRvayk7Ci0gICAgfQotICAgIHJldHVybiB0b2s7
Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKgotICogZWF0IDogY2hlY2sgdG9rZW4gdGhlbiByZWFkIHRo
ZSBmb2xsb3dpbmcgb25lCi0gKgotICogRW50ZXI6ICAgdG9rIHN0cnVjdAotICogICAgICAgICAg
dHlwZSA9IHR5cGUgb2YgdG9rZW4gZXhwZWN0ZWQsIGVycm9yIGdpdmVuIGlmIG5vIG1hdGNoCi0g
KgotICogT24gcmV0dXJuLCB0b2sgaXMgdXBkYXRlZCB0byB0aGUgZm9sbG93aW5nIHRva2VuLgot
ICovCi1zdGF0aWMgdm9pZAotZWF0KHN0cnVjdCB0b2sgKnRvaywgaW50IHR5cGUpCi17Ci0gICAg
aWYgKHRvay0+dHlwZSAhPSB0eXBlKSB7Ci0gICAgICAgIGNvbnN0IGNoYXIgKnA7Ci0gICAgICAg
IGlmICh0eXBlIDwgVE9LX0RPTVN0cmluZykKLSAgICAgICAgICAgIHRva2Vycm9yZXhpdCh0b2ss
ICJleHBlY3RlZCAnJWMnIiwgdHlwZSk7Ci0gICAgICAgIHAgPSBrZXl3b3JkczsKLSAgICAgICAg
d2hpbGUgKHR5cGUgIT0gVE9LX0RPTVN0cmluZykgewotICAgICAgICAgICAgcCArPSBzdHJsZW4o
cCkgKyAxOwotICAgICAgICAgICAgdHlwZS0tOwotICAgICAgICB9Ci0gICAgICAgIHRva2Vycm9y
ZXhpdCh0b2ssICJleHBlY3RlZCAnJXMnIiwgcCk7Ci0gICAgfQotICAgIGxleG5vY29tbWVudCgp
OwotfQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioKLSAqIHNldGlkIDogZmxhZyB0aGF0IGFuIGlkIGF0dHJp
YnV0ZSBpcyByZXF1aXJlZCBvbiBub2RlCi0gKgotICogRW50ZXI6ICAgbm9kZQotICoKLSAqIG5v
ZGUtPmlkIGlzIHNldCB0byB0aGUgdmFsdWUgb2YgdGhlIG5hbWUgYXR0cmlidXRlLiBUaGlzIG1h
a2VzCi0gKiBvdXRwdXRub2RlIGdpdmUgaXQgYW4gaWQgYXR0cmlidXRlIHdob3NlIHZhbHVlIGlz
IHRoZSBpZCBhdHRyaWJ1dGUKLSAqIG9mIHRoZSBwYXJlbnQgaWYgYW55LCB0aGVuICI6OiIsIHRo
ZW4gbm9kZS0+aWQuCi0gKi8KLXN0YXRpYyB2b2lkCi1zZXRpZChzdHJ1Y3Qgbm9kZSAqbm9kZSkK
LXsKLSAgICBub2RlLT5pZCA9IGdldGF0dHIobm9kZSwgIm5hbWUiKTsKLX0KLQotLyoqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqCi0gKiBzZXRpZGVudGlmaWVyIDogYWxsb2NhdGUgMC10ZXJtaW5hdGVkIHN0cmluZyBm
b3IgaWRlbnRpZmllciB0b2tlbgotICoKLSAqIEVudGVyOiAgIHRvayA9IHRva2VuLCBlcnJvciBn
aXZlbiBpZiBub3QgaWRlbnRpZmllcgotICoKLSAqIFJldHVybjogIGFsbG9jYXRlZCAwLXRlcm1p
bmF0ZWQgc3RyaW5nCi0gKi8KLXN0YXRpYyBjaGFyICoKLXNldGlkZW50aWZpZXIoc3RydWN0IHRv
ayAqdG9rKQotewotICAgIGNoYXIgKnM7Ci0gICAgaWYgKHRvay0+dHlwZSAhPSBUT0tfSURFTlRJ
RklFUikKLSAgICAgICAgdG9rZXJyb3JleGl0KHRvaywgImV4cGVjdGVkIGlkZW50aWZpZXIiKTsK
LSAgICBzID0gbWVtcHJpbnRmKCIlLipzIiwgdG9rLT5sZW4sIHRvay0+c3RhcnQpOwotICAgIHJl
dHVybiBzOwotfQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIHNldGFyZ3VtZW50bmFtZSA6IGFsbG9j
YXRlIDAtdGVybWluYXRlZCBzdHJpbmcgZm9yIGlkZW50aWZpZXIgdG9rZW4KLSAqCi0gKiBFbnRl
cjogICB0b2sgPSB0b2tlbiwgZXJyb3IgZ2l2ZW4gaWYgbm90IGlkZW50aWZpZXIKLSAqCi0gKiBS
ZXR1cm46ICBhbGxvY2F0ZWQgMC10ZXJtaW5hdGVkIHN0cmluZwotICovCi1zdGF0aWMgY2hhciAq
Ci1zZXRhcmd1bWVudG5hbWUoc3RydWN0IHRvayAqdG9rKQotewotICAgIGNoYXIgKnM7Ci0gICAg
aWYgKHRvay0+dHlwZSAhPSBUT0tfSURFTlRJRklFUiAmJiB0b2stPnR5cGUgPCBUT0tfYXR0cmli
dXRlKQotICAgICAgICB0b2tlcnJvcmV4aXQodG9rLCAiZXhwZWN0ZWQgYXJndW1lbnQgbmFtZSIp
OwotICAgIHMgPSBtZW1wcmludGYoIiUuKnMiLCB0b2stPmxlbiwgdG9rLT5zdGFydCk7Ci0gICAg
cmV0dXJuIHM7Ci19Ci0KLQotLyogUHJvdG90eXBlcyBmb3IgZnVuY3MgdGhhdCBoYXZlIGEgZm9y
d2FyZCByZWZlcmVuY2UuICovCi1zdGF0aWMgc3RydWN0IG5vZGUgKnBhcnNldHlwZShzdHJ1Y3Qg
dG9rICp0b2spOwotc3RhdGljIHN0cnVjdCBub2RlICpwYXJzZWRlZmF1bHR2YWx1ZShzdHJ1Y3Qg
dG9rICp0b2ssIHN0cnVjdCBub2RlICpwYXJlbnQpOwotc3RhdGljIHN0cnVjdCBub2RlICpwYXJz
ZXVuaW9udHlwZShzdHJ1Y3QgdG9rICp0b2spOwotc3RhdGljIHN0cnVjdCBub2RlICpwYXJzZWFy
Z3VtZW50bGlzdChzdHJ1Y3QgdG9rICp0b2spOwotc3RhdGljIHZvaWQgcGFyc2VkZWZpbml0aW9u
cyhzdHJ1Y3QgdG9rICp0b2ssIHN0cnVjdCBub2RlICpwYXJlbnQpOwotc3RhdGljIHN0cnVjdCBu
b2RlICpwYXJzZXR5cGVzdWZmaXhzdGFydGluZ3dpdGhhcnJheShzdHJ1Y3QgdG9rICp0b2ssIHN0
cnVjdCBub2RlICpub2RlKTsKLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBwYXJzZXNjb3BlZG5hbWUg
OiBwYXJzZSBbNTNdIFNjb3BlZE5hbWUKLSAqCi0gKiBFbnRlcjogICB0b2sgPSBuZXh0IHRva2Vu
Ci0gKiAgICAgICAgICBuYW1lID0gbmFtZSBvZiBhdHRyaWJ1dGUgdG8gcHV0IHNjb3BlZCBuYW1l
IGluCi0gKiAgICAgICAgICByZWYgPSB3aGV0aGVyIHRvIGVuYWJsZSBlbmNsb3Npbmcgb2YgdGhl
IG5hbWUgaW4gPHJlZj4gaW4KLSAqICAgICAgICAgICAgICAgIG91dHB1dHdpZGwKLSAqCi0gKiBS
ZXR1cm46ICBub2RlIHN0cnVjdCBmb3IgbmV3IGF0dHJpYnV0ZQotICogICAgICAgICAgdG9rIHVw
ZGF0ZWQKLSAqLwotc3RhdGljIHN0cnVjdCBub2RlICoKLXBhcnNlc2NvcGVkbmFtZShzdHJ1Y3Qg
dG9rICp0b2ssIGNvbnN0IGNoYXIgKm5hbWUsIGludCByZWYpCi17Ci0gICAgY29uc3QgY2hhciAq
c3RhcnQgPSB0b2stPnN0YXJ0LCAqZW5kOwotICAgIHN0cnVjdCBub2RlICpub2RlOwotICAgIHVu
c2lnbmVkIGludCBsZW4gPSAwOwotICAgIGNoYXIgKnMgPSBtZW1hbGxvYygzKTsKLSAgICBpZiAo
dG9rLT50eXBlICE9IFRPS19JREVOVElGSUVSKQotICAgICAgICB0b2tlcnJvcmV4aXQodG9rLCAi
ZXhwZWN0ZWQgaWRlbnRpZmllciIpOwotICAgIHMgPSBtZW1yZWFsbG9jKHMsIGxlbiArIHRvay0+
bGVuICsgMSk7Ci0gICAgbWVtY3B5KHMgKyBsZW4sIHRvay0+c3RhcnQsIHRvay0+bGVuKTsKLSAg
ICBsZW4gKz0gdG9rLT5sZW47Ci0gICAgZW5kID0gdG9rLT5zdGFydCArIHRvay0+bGVuOwotICAg
IGxleG5vY29tbWVudCgpOwotICAgIHNbbGVuXSA9IDA7Ci0gICAgbm9kZSA9IG5ld2F0dHIobmFt
ZSwgcyk7Ci0gICAgaWYgKHJlZikgewotICAgICAgICBub2RlLT5zdGFydCA9IHN0YXJ0OwotICAg
ICAgICBub2RlLT5lbmQgPSBlbmQ7Ci0gICAgfQotICAgIHJldHVybiBub2RlOwotfQotCi0vKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioKLSAqIHBhcnNlc2NvcGVkbmFtZWxpc3QgOiBwYXJzZSBbNTFdIFNjb3BlZE5h
bWVMaXN0Ci0gKgotICogRW50ZXI6ICAgdG9rID0gbmV4dCB0b2tlbgotICogICAgICAgICAgbmFt
ZSA9IG5hbWUgb2YgZWxlbWVudCBmb3Igc2NvcGVkIG5hbWUgbGlzdAotICogICAgICAgICAgbmFt
ZTIgPSBuYW1lIG9mIGVsZW1lbnQgZm9yIGVudHJ5IGluIGxpc3QKLSAqICAgICAgICAgIGNvbW1l
bnQgPSB3aGV0aGVyIHRvIGF0dGFjaCBkb2N1bWVudGF0aW9uIHRvIGVhY2ggbmFtZQotICoKLSAq
IFJldHVybjogIG5vZGUgZm9yIGxpc3Qgb2Ygc2NvcGVkIG5hbWVzCi0gKiAgICAgICAgICB0b2sg
dXBkYXRlZAotICovCi1zdGF0aWMgc3RydWN0IG5vZGUgKgotcGFyc2VzY29wZWRuYW1lbGlzdChz
dHJ1Y3QgdG9rICp0b2ssIGNvbnN0IGNoYXIgKm5hbWUsIGNvbnN0IGNoYXIgKm5hbWUyLAotICAg
ICAgICBpbnQgY29tbWVudCkKLXsKLSAgICBzdHJ1Y3Qgbm9kZSAqbm9kZSA9IG5ld2VsZW1lbnQo
bmFtZSk7Ci0gICAgZm9yICg7OykgewotICAgICAgICBzdHJ1Y3Qgbm9kZSAqYXR0ciA9IHBhcnNl
c2NvcGVkbmFtZSh0b2ssICJuYW1lIiwgMSk7Ci0gICAgICAgIHN0cnVjdCBub2RlICpuID0gbmV3
ZWxlbWVudChuYW1lMik7Ci0gICAgICAgIGlmIChjb21tZW50KQotICAgICAgICAgICAgc2V0Y29t
bWVudG5vZGUobik7Ci0gICAgICAgIGFkZG5vZGUobiwgYXR0cik7Ci0gICAgICAgIGFkZG5vZGUo
bm9kZSwgbik7Ci0gICAgICAgIGlmICh0b2stPnR5cGUgIT0gJywnKQotICAgICAgICAgICAgYnJl
YWs7Ci0gICAgICAgIGxleG5vY29tbWVudCgpOwotICAgIH0KLSAgICByZXR1cm4gbm9kZTsKLX0K
LQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqCi0gKiBwYXJzZXJldHVybnR5cGUgOiBwYXJzZSBbNTBdIFJldHVy
blR5cGUKLSAqCi0gKiBFbnRlcjogICB0b2sgPSBuZXh0IHRva2VuCi0gKgotICogUmV0dXJuOiAg
bm9kZSBmb3IgdHlwZQotICogICAgICAgICAgdG9rIHVwZGF0ZWQKLSAqLwotc3RhdGljIHN0cnVj
dCBub2RlICoKLXBhcnNlcmV0dXJudHlwZShzdHJ1Y3QgdG9rICp0b2spCi17Ci0gICAgaWYgKHRv
ay0+dHlwZSA9PSBUT0tfdm9pZCkgewotICAgICAgICBzdHJ1Y3Qgbm9kZSAqbm9kZSA9IG5ld2Vs
ZW1lbnQoIlR5cGUiKTsKLSAgICAgICAgYWRkbm9kZShub2RlLCBuZXdhdHRyKCJ0eXBlIiwgInZv
aWQiKSk7Ci0gICAgICAgIGxleG5vY29tbWVudCgpOwotICAgICAgICByZXR1cm4gbm9kZTsKLSAg
ICB9Ci0gICAgcmV0dXJuIHBhcnNldHlwZSh0b2spOwotfQotCi0vKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAq
IHBhcnNldW5zaWduZWRpbnRlZ2VydHlwZSA6IHBhcnNlIFs0Nl0gVW5zaWduZWRJbnRlZ2VyVHlw
ZQotICoKLSAqIEVudGVyOiAgIHRvayA9IG5leHQgdG9rZW4gKG9uZSBvZiAidW5zaWduZWQiLCAi
c2hvcnQiIG9yICJsb25nIikKLSAqCi0gKiBSZXR1cm46ICAwLXRlcm1pbmF0ZWQgY2Fub25pY2Fs
IHN0cmluZyBmb3IgdGhlIHR5cGUKLSAqICAgICAgICAgIHRvayB1cGRhdGVkIHRvIGp1c3QgcGFz
dCBVbnNpZ25lZEludGVnZXJUeXBlCi0gKi8KLXN0YXRpYyBjb25zdCBjaGFyICoKLXBhcnNldW5z
aWduZWRpbnRlZ2VydHlwZShzdHJ1Y3QgdG9rICp0b2spCi17Ci0gICAgc3RhdGljIGNvbnN0IGNo
YXIgKm5hbWVzW10gPSB7Ci0gICAgICAgICJzaG9ydCIsICJsb25nIiwgImxvbmcgbG9uZyIsIDAs
Ci0gICAgICAgICJ1bnNpZ25lZCBzaG9ydCIsICJ1bnNpZ25lZCBsb25nIiwgInVuc2lnbmVkIGxv
bmcgbG9uZyIgfTsKLSAgICBlbnVtIHsgVFlQRV9TSE9SVCwgVFlQRV9MT05HLCBUWVBFX0xPTkdM
T05HLAotICAgICAgICAgICBUWVBFX1VOU0lHTkVEID0gNCB9OwotICAgIGludCB0eXBlID0gMDsK
LSAgICBpZiAodG9rLT50eXBlID09IFRPS191bnNpZ25lZCkgewotICAgICAgICB0eXBlID0gVFlQ
RV9VTlNJR05FRDsKLSAgICAgICAgbGV4bm9jb21tZW50KCk7Ci0gICAgfQotICAgIGlmICh0b2st
PnR5cGUgPT0gVE9LX3Nob3J0KSB7Ci0gICAgICAgIHR5cGUgfD0gVFlQRV9TSE9SVDsKLSAgICAg
ICAgbGV4bm9jb21tZW50KCk7Ci0gICAgfSBlbHNlIGlmICh0b2stPnR5cGUgIT0gVE9LX2xvbmcp
Ci0gICAgICAgIHRva2Vycm9yZXhpdCh0b2ssICJleHBlY3RlZCAnc2hvcnQnIG9yICdsb25nJyBh
ZnRlciAndW5zaWduZWQnIik7Ci0gICAgZWxzZSB7Ci0gICAgICAgIHR5cGUgfD0gVFlQRV9MT05H
OwotICAgICAgICBsZXhub2NvbW1lbnQoKTsKLSAgICAgICAgaWYgKHRvay0+dHlwZSA9PSBUT0tf
bG9uZykgewotICAgICAgICAgICAgdHlwZSArPSBUWVBFX0xPTkdMT05HIC0gVFlQRV9MT05HOwot
ICAgICAgICAgICAgbGV4bm9jb21tZW50KCk7Ci0gICAgICAgIH0KLSAgICB9Ci0gICAgcmV0dXJu
IG5hbWVzW3R5cGVdOwotfQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBwYXJzZXR5cGVzdWZmaXggOiBw
YXJzZSBbNDRdIFR5cGVTdWZmaXgKLSAqCi0gKiBFbnRlcjogICB0b2sgPSBuZXh0IHRva2VuCi0g
KgotICogUmV0dXJuOiAgbm9kZSBmb3IgdHlwZQotICogICAgICAgICAgdG9rIHVwZGF0ZWQKLSAq
Lwotc3RhdGljIHN0cnVjdCBub2RlICoKLXBhcnNldHlwZXN1ZmZpeChzdHJ1Y3QgdG9rICp0b2ss
IHN0cnVjdCBub2RlICpub2RlKQotewotICAgIGlmICh0b2stPnR5cGUgPT0gVE9LX0RPVUJMRUJS
QUNLRVQpIHsKLSAgICAgICAgc3RydWN0IG5vZGUgKnR5cGVub2RlID0gbm9kZTsKLQlub2RlID0g
bmV3ZWxlbWVudCgiVHlwZSIpOwotICAgICAgICBhZGRub2RlKG5vZGUsIG5ld2F0dHIoInR5cGUi
LCAiYXJyYXkiKSk7Ci0gICAgICAgIGFkZG5vZGUobm9kZSwgdHlwZW5vZGUpOwotICAgICAgICBs
ZXhub2NvbW1lbnQoKTsKLQlub2RlID0gcGFyc2V0eXBlc3VmZml4KHRvaywgbm9kZSk7Ci0gICAg
fSBlbHNlIGlmICh0b2stPnR5cGUgPT0gJz8nKSB7Ci0gICAgICAgIGFkZG5vZGUobm9kZSwgbmV3
YXR0cigibnVsbGFibGUiLCAibnVsbGFibGUiKSk7Ci0gICAgICAgIGxleG5vY29tbWVudCgpOwot
CW5vZGUgPSBwYXJzZXR5cGVzdWZmaXhzdGFydGluZ3dpdGhhcnJheSh0b2ssIG5vZGUpOwotICAg
IH0KLSAgICByZXR1cm4gbm9kZTsKLX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBwYXJzZXR5cGVz
dWZmaXhzdGFydGluZ3dpdGhhcnJheSA6IHBhcnNlIFs0NF0gVHlwZVN1ZmZpeFN0YXJ0aW5nV2l0
aEFycmF5Ci0gKgotICogRW50ZXI6ICAgdG9rID0gbmV4dCB0b2tlbgotICoKLSAqIFJldHVybjog
IG5vZGUgZm9yIHR5cGUKLSAqICAgICAgICAgIHRvayB1cGRhdGVkCi0gKi8KLXN0YXRpYyBzdHJ1
Y3Qgbm9kZSAqCi1wYXJzZXR5cGVzdWZmaXhzdGFydGluZ3dpdGhhcnJheShzdHJ1Y3QgdG9rICp0
b2ssICBzdHJ1Y3Qgbm9kZSAqbm9kZSkKLXsKLSAgICBpZiAodG9rLT50eXBlID09IFRPS19ET1VC
TEVCUkFDS0VUKSB7Ci0gICAgICAgIHN0cnVjdCBub2RlICp0eXBlbm9kZSA9IG5vZGU7Ci0Jbm9k
ZSA9IG5ld2VsZW1lbnQoIlR5cGUiKTsKLSAgICAgICAgYWRkbm9kZShub2RlLCBuZXdhdHRyKCJ0
eXBlIiwgImFycmF5IikpOwotICAgICAgICBhZGRub2RlKG5vZGUsIHR5cGVub2RlKTsKLSAgICAg
ICAgbGV4bm9jb21tZW50KCk7Ci0Jbm9kZSA9IHBhcnNldHlwZXN1ZmZpeCh0b2ssIG5vZGUpOwot
ICAgIH0KLSAgICByZXR1cm4gbm9kZTsKLX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBwYXJzZXBy
aW1pdGl2ZW9yc3RyaW5ndHlwZSA6IHBhcnNlIFs0NV0gUHJpbWl0aXZlT3JTdHJpbmcKLSAqCi0g
KiBFbnRlcjogICB0b2sgPSBuZXh0IHRva2VuCi0gKgotICogUmV0dXJuOiAgbm9kZSBmb3IgdHlw
ZQotICogICAgICAgICAgdG9rIHVwZGF0ZWQKLSAqLwotc3RhdGljIHN0cnVjdCBub2RlICoKLXBh
cnNlcHJpbWl0aXZlb3JzdHJpbmd0eXBlKHN0cnVjdCB0b2sgKnRvaykKLXsKLSAgc3RydWN0IG5v
ZGUgKm5vZGU7Ci0gICAgc3dpdGNoICh0b2stPnR5cGUpIHsKLSAgICBjYXNlIFRPS191bnNpZ25l
ZDoKLSAgICBjYXNlIFRPS19zaG9ydDoKLSAgICBjYXNlIFRPS19sb25nOgotICAgICAgICBub2Rl
ID0gbmV3ZWxlbWVudCgiVHlwZSIpOwotICAgICAgICBhZGRub2RlKG5vZGUsIG5ld2F0dHIoInR5
cGUiLCBwYXJzZXVuc2lnbmVkaW50ZWdlcnR5cGUodG9rKSkpOwotICAgICAgICBicmVhazsKLSAg
ICBkZWZhdWx0OgotICAgICAgICBub2RlID0gbmV3ZWxlbWVudCgiVHlwZSIpOwotICAgICAgICBz
d2l0Y2ggKHRvay0+dHlwZSkgewotICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgdG9rZXJy
b3JleGl0KHRvaywgImV4cGVjdGVkIHR5cGUiKTsKLSAgICAgICAgICAgIGJyZWFrOwotCWNhc2Ug
VE9LX3VucmVzdHJpY3RlZDoKLQkgIGxleG5vY29tbWVudCgpOwotCSAgaWYgKHRvay0+dHlwZSA9
PSBUT0tfZmxvYXQpIHsKLSAgICAgICAgICAgIGFkZG5vZGUobm9kZSwgbmV3YXR0cigidHlwZSIs
ICJ1bnJlc3RyaWN0ZWQgZmxvYXQiKSk7Ci0JICB9IGVsc2UgaWYgKHRvay0+dHlwZSA9PSBUT0tf
ZG91YmxlKSB7Ci0gICAgICAgICAgICBhZGRub2RlKG5vZGUsIG5ld2F0dHIoInR5cGUiLCAidW5y
ZXN0cmljdGVkIGRvdWJsZSIpKTsKLQkgIH0gZWxzZSB7Ci0gICAgICAgICAgICB0b2tlcnJvcmV4
aXQodG9rLCAiZXhwZWN0ZWQgZmxvYXQgb3IgZG91YmxlIGFmdGVyIHVucmVzdHJpY3RlZCIpOwot
CSAgfQotCSAgYnJlYWs7Ci0gICAgICAgIGNhc2UgVE9LX2Jvb2xlYW46Ci0gICAgICAgICAgICBh
ZGRub2RlKG5vZGUsIG5ld2F0dHIoInR5cGUiLCAiYm9vbGVhbiIpKTsKLSAgICAgICAgICAgIGJy
ZWFrOwotICAgICAgICBjYXNlIFRPS19ieXRlOgotICAgICAgICAgICAgYWRkbm9kZShub2RlLCBu
ZXdhdHRyKCJ0eXBlIiwgImJ5dGUiKSk7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2Fz
ZSBUT0tfb2N0ZXQ6Ci0gICAgICAgICAgICBhZGRub2RlKG5vZGUsIG5ld2F0dHIoInR5cGUiLCAi
b2N0ZXQiKSk7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSBUT0tfZmxvYXQ6Ci0g
ICAgICAgICAgICBhZGRub2RlKG5vZGUsIG5ld2F0dHIoInR5cGUiLCAiZmxvYXQiKSk7Ci0gICAg
ICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSBUT0tfZG91YmxlOgotICAgICAgICAgICAgYWRk
bm9kZShub2RlLCBuZXdhdHRyKCJ0eXBlIiwgImRvdWJsZSIpKTsKLSAgICAgICAgICAgIGJyZWFr
OwotICAgICAgICBjYXNlIFRPS19ET01TdHJpbmc6Ci0gICAgICAgICAgICBhZGRub2RlKG5vZGUs
IG5ld2F0dHIoInR5cGUiLCAiRE9NU3RyaW5nIikpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAg
ICAgIGNhc2UgVE9LX0J5dGVTdHJpbmc6Ci0gICAgICAgICAgICBhZGRub2RlKG5vZGUsIG5ld2F0
dHIoInR5cGUiLCAiQnl0ZVN0cmluZyIpKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBj
YXNlIFRPS19EYXRlOgotICAgICAgICAgICAgYWRkbm9kZShub2RlLCBuZXdhdHRyKCJ0eXBlIiwg
IkRhdGUiKSk7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSBUT0tfUmVnRXhwOgot
ICAgICAgICAgICAgYWRkbm9kZShub2RlLCBuZXdhdHRyKCJ0eXBlIiwgIlJlZ0V4cCIpKTsKLSAg
ICAgICAgICAgIGJyZWFrOwotCi0gICAgICAgIH0KLSAgICAgICAgbGV4bm9jb21tZW50KCk7Ci0g
ICAgfQotICAgIHJldHVybiBub2RlOwotfQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIHBhcnNlbm9u
YW55dHlwZSA6IHBhcnNlIE5vbkFueVR5cGUKLSAqCi0gKiBFbnRlcjogICB0b2sgPSBuZXh0IHRv
a2VuCi0gKgotICogUmV0dXJuOiAgbm9kZSBmb3IgdHlwZQotICogICAgICAgICAgdG9rIHVwZGF0
ZWQKLSAqLwotc3RhdGljIHN0cnVjdCBub2RlICoKLXBhcnNlbm9uYW55dHlwZShzdHJ1Y3QgdG9r
ICp0b2spCi17Ci0gICAgc3RydWN0IG5vZGUgKm5vZGU7Ci0gICAgc3dpdGNoICh0b2stPnR5cGUp
IHsKLSAgICBjYXNlIFRPS19JREVOVElGSUVSOgotICAgICAgICBub2RlID0gbmV3ZWxlbWVudCgi
VHlwZSIpOwotICAgICAgICBhZGRub2RlKG5vZGUsIHBhcnNlc2NvcGVkbmFtZSh0b2ssICJuYW1l
IiwgMSkpOwotCW5vZGUgPSBwYXJzZXR5cGVzdWZmaXgodG9rLCBub2RlKTsKLSAgICAgICAgYnJl
YWs7Ci0gICAgY2FzZSBUT0tfc2VxdWVuY2U6Ci0gICAgICAgIG5vZGUgPSBuZXdlbGVtZW50KCJU
eXBlIik7Ci0gICAgICAgIGFkZG5vZGUobm9kZSwgbmV3YXR0cigidHlwZSIsICJzZXF1ZW5jZSIp
KTsKLSAgICAgICAgbGV4bm9jb21tZW50KCk7Ci0gICAgICAgIGVhdCh0b2ssICc8Jyk7Ci0gICAg
ICAgIGFkZG5vZGUobm9kZSwgcGFyc2V0eXBlKHRvaykpOwotICAgICAgICBlYXQodG9rLCAnPicp
OwotCWlmICh0b2stPnR5cGUgPT0gJz8nKSB7Ci0JICBhZGRub2RlKG5vZGUsIG5ld2F0dHIoIm51
bGxhYmxlIiwgIm51bGxhYmxlIikpOwotCSAgbGV4bm9jb21tZW50KCk7Ci0JfQotICAgICAgICBi
cmVhazsKLSAgICBjYXNlIFRPS19vYmplY3Q6Ci0gICAgICAgIG5vZGUgPSBuZXdlbGVtZW50KCJU
eXBlIik7Ci0gICAgICAgIGFkZG5vZGUobm9kZSwgbmV3YXR0cigidHlwZSIsICJvYmplY3QiKSk7
Ci0gICAgICAgIGxleG5vY29tbWVudCgpOwotCW5vZGUgPSBwYXJzZXR5cGVzdWZmaXgodG9rLCBu
b2RlKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgZGVmYXVsdDoKLSAgICAgICAgbm9kZSA9IHBhcnNl
cHJpbWl0aXZlb3JzdHJpbmd0eXBlKHRvayk7Ci0gICAgICAgIG5vZGUgPSBwYXJzZXR5cGVzdWZm
aXgodG9rLCBub2RlKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgfSAgICAgICAKLSAgICByZXR1cm4g
bm9kZTsKLX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBwYXJzZXVuaW9ubWVtYmVydHlwZTogcGFy
c2UgVW5pb25NZW1iZXJUeXBlCi0gKgotICogRW50ZXI6ICAgdG9rID0gbmV4dCB0b2tlbgotICoK
LSAqIFJldHVybjogIG5vZGUgZm9yIHR5cGUKLSAqICAgICAgICAgIHRvayB1cGRhdGVkCi0gKi8K
LXN0YXRpYyBzdHJ1Y3Qgbm9kZSAqCi1wYXJzZXVuaW9ubWVtYmVydHlwZShzdHJ1Y3QgdG9rICp0
b2spCi17Ci0gIHN0cnVjdCBub2RlICpub2RlOwotICBpZiAodG9rLT50eXBlID09IFRPS19hbnkp
IHsKLSAgICBzdHJ1Y3Qgbm9kZSAqdHlwZW5vZGUgPSBuZXdlbGVtZW50KCJUeXBlIik7Ci0gICAg
YWRkbm9kZSh0eXBlbm9kZSwgbmV3YXR0cigidHlwZSIsICJhbnkiKSk7Ci0gICAgbGV4bm9jb21t
ZW50KCk7Ci0gICAgZWF0KHRvaywgVE9LX0RPVUJMRUJSQUNLRVQpOwotICAgIG5vZGUgPSBuZXdl
bGVtZW50KCJUeXBlIik7Ci0gICAgYWRkbm9kZShub2RlLCBuZXdhdHRyKCJ0eXBlIiwgImFycmF5
IikpOwotICAgIGFkZG5vZGUobm9kZSwgdHlwZW5vZGUpOwotICAgIGxleG5vY29tbWVudCgpOwot
ICAgIG5vZGUgPSBwYXJzZXR5cGVzdWZmaXgodG9rLCBub2RlKTsKLSAgfSBlbHNlIGlmICh0b2st
PnR5cGUgPT0gJygnKSB7IAotICAgIG5vZGUgPSBwYXJzZXVuaW9udHlwZSh0b2spOwotICB9IGVs
c2UgewotICAgIG5vZGUgPSBwYXJzZW5vbmFueXR5cGUodG9rKTsKLSAgfQotICByZXR1cm4gbm9k
ZTsKLX0KLQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIHBhcnNldW5pb250eXBlIDogcGFyc2UgVW5p
b25UeXBlCi0gKgotICogRW50ZXI6ICAgdG9rID0gbmV4dCB0b2tlbgotICoKLSAqIFJldHVybjog
IG5vZGUgZm9yIHR5cGUKLSAqICAgICAgICAgIHRvayB1cGRhdGVkCi0gKi8KLXN0YXRpYyBzdHJ1
Y3Qgbm9kZSAqCi1wYXJzZXVuaW9udHlwZShzdHJ1Y3QgdG9rICp0b2spCi17Ci0gIHN0cnVjdCBu
b2RlICpub2RlOwotICBlYXQodG9rLCAnKCcpOwotICBub2RlID0gbmV3ZWxlbWVudCgiVHlwZSIp
OwotICBhZGRub2RlKG5vZGUsIG5ld2F0dHIoInR5cGUiLCAidW5pb24iKSk7Ci0gIGlmICh0b2st
PnR5cGUgIT0gJyknKSB7Ci0gICAgZm9yICg7OykgewotICAgICAgYWRkbm9kZShub2RlLCBwYXJz
ZXVuaW9ubWVtYmVydHlwZSh0b2spKTsKLSAgICAgIGlmICh0b2stPnR5cGUgIT0gVE9LX29yKQot
CWJyZWFrOwotICAgICAgbGV4bm9jb21tZW50KCk7Ci0gICAgfQotICB9Ci0gIGVhdCh0b2ssICcp
Jyk7Ci0gIG5vZGUgPSBwYXJzZXR5cGVzdWZmaXgodG9rLCBub2RlKTsgICAgICAKLSAgcmV0dXJu
IG5vZGU7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogcGFyc2V0eXBlIDogcGFyc2UgWzQ0XSBU
eXBlCi0gKgotICogRW50ZXI6ICAgdG9rID0gbmV4dCB0b2tlbgotICoKLSAqIFJldHVybjogIG5v
ZGUgZm9yIHR5cGUKLSAqICAgICAgICAgIHRvayB1cGRhdGVkCi0gKi8KLXN0YXRpYyBzdHJ1Y3Qg
bm9kZSAqCi1wYXJzZXR5cGUoc3RydWN0IHRvayAqdG9rKQotewotICAgIHN0cnVjdCBub2RlICpu
b2RlOwotICAgIGlmICh0b2stPnR5cGUgPT0gJygnKSB7Ci0gICAgICBub2RlID0gcGFyc2V1bmlv
bnR5cGUodG9rKTsKLSAgICB9IGVsc2UgaWYgKHRvay0+dHlwZSA9PSBUT0tfYW55KSB7Ci0gICAg
ICBub2RlID0gbmV3ZWxlbWVudCgiVHlwZSIpOwotICAgICAgYWRkbm9kZShub2RlLCBuZXdhdHRy
KCJ0eXBlIiwgImFueSIpKTsKLSAgICAgIGxleG5vY29tbWVudCgpOwotICAgICAgbm9kZSA9IHBh
cnNldHlwZXN1ZmZpeHN0YXJ0aW5nd2l0aGFycmF5KHRvaywgbm9kZSk7Ci0gICAgfSBlbHNlIHsK
LSAgICAgIG5vZGUgPSBwYXJzZW5vbmFueXR5cGUodG9rKTsJCi0gICAgfQotICAgIHJldHVybiBu
b2RlOwotfQotCi0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogcGFyc2VleHRlbmRlZGF0dHJpYnV0ZSA6
IHBhcnNlIFszOV0gRXh0ZW5kZWRBdHRyaWJ1dGUKLSAqCi0gKiBFbnRlcjogICB0b2sgPSBuZXh0
IHRva2VuCi0gKgotICogUmV0dXJuOiAgbm9kZSBmb3IgZXh0ZW5kZWQgYXR0cmlidXRlCi0gKgot
ICogVGhpcyBwYXJzZXMgdGhlIHZhcmlvdXMgZm9ybXMgb2YgZXh0ZW5kZWQgYXR0cmlidXRlLCBh
cyBpbgotICogcnVsZXMgWzU3XSBbNThdIFs1OV0gWzYwXSBbNjFdLgotICoKLSAqIFRoaXMgZG9l
cyBub3Qgc3BvdCB0aGUgZXJyb3IgdGhhdCB5b3UgY2Fubm90IGhhdmUgYSBTY29wZWROYW1lCi0g
KiBhbmQgYW4gQXJndW1lbnRMaXN0LgotICovCi1zdGF0aWMgc3RydWN0IG5vZGUgKgotcGFyc2Vl
eHRlbmRlZGF0dHJpYnV0ZShzdHJ1Y3QgdG9rICp0b2spCi17Ci0JY29uc3QgY2hhciAqc3RhcnQg
OwotICAgIHN0cnVjdCBub2RlICpub2RlID0gbmV3ZWxlbWVudCgiRXh0ZW5kZWRBdHRyaWJ1dGUi
KTsKLSAgICBjaGFyICphdHRybmFtZSA9IHNldGlkZW50aWZpZXIodG9rKTsKLSAgICBhZGRub2Rl
KG5vZGUsIG5ld2F0dHIoIm5hbWUiLCBhdHRybmFtZSkpOwotICAgIHN0YXJ0ID0gdG9rLT5wcmVz
dGFydDsKLSAgICBub2RlLT53c3N0YXJ0ID0gc3RhcnQ7Ci0gICAgbm9kZS0+ZW5kID0gdG9rLT5z
dGFydCArIHRvay0+bGVuOwotICAgIGlmKCFzdHJjbXAoYXR0cm5hbWUsICJDb25zdHJ1Y3RvciIp
IHx8ICFzdHJjbXAoYXR0cm5hbWUsICJOYW1lZENvbnN0cnVjdG9yIikpIHsKLQkgICAgc2V0Y29t
bWVudG5vZGUobm9kZSk7Ci0JfQotICAgIGxleG5vY29tbWVudCgpOwotICAgIGlmICh0b2stPnR5
cGUgPT0gJz0nKSB7Ci0gICAgICAgIGxleG5vY29tbWVudCgpOwotICAgICAgICBhZGRub2RlKG5v
ZGUsIHBhcnNlc2NvcGVkbmFtZSh0b2ssICJ2YWx1ZSIsIDApKTsKLSAgICB9Ci0gICAgaWYgKHRv
ay0+dHlwZSA9PSAnKCcpIHsKLSAgICAgICAgbGV4bm9jb21tZW50KCk7Ci0gICAgICAgIGFkZG5v
ZGUobm9kZSwgcGFyc2Vhcmd1bWVudGxpc3QodG9rKSk7Ci0JICAgIG5vZGUtPmVuZCA9IHRvay0+
c3RhcnQgKyB0b2stPmxlbjsKLSAgICAgICAgZWF0KHRvaywgJyknKTsKLSAgICB9Ci0gICAgcmV0
dXJuIG5vZGU7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogcGFyc2VleHRlbmRlZGF0dHJpYnV0
ZWxpc3QgOiBwYXJzZSBbMzddIEV4dGVuZGVkQXR0cmlidXRlTGlzdAotICoKLSAqIEVudGVyOiAg
IHRvayA9IG5leHQgdG9rZW4KLSAqCi0gKiBSZXR1cm46ICAwIGVsc2Ugbm9kZSBmb3IgZXh0ZW5k
ZWQgYXR0cmlidXRlIGxpc3QKLSAqICAgICAgICAgIHRvayB1cGRhdGVkIGlmIGFueXRoaW5nIHBh
cnNlZAotICovCi1zdGF0aWMgc3RydWN0IG5vZGUgKgotcGFyc2VleHRlbmRlZGF0dHJpYnV0ZWxp
c3Qoc3RydWN0IHRvayAqdG9rKQotewotICAgIHN0cnVjdCBub2RlICpub2RlOwotICAgIGlmICh0
b2stPnR5cGUgIT0gJ1snKQotICAgICAgICByZXR1cm4gMDsKLSAgICBub2RlID0gbmV3ZWxlbWVu
dCgiRXh0ZW5kZWRBdHRyaWJ1dGVMaXN0Iik7Ci0gICAgZm9yICg7OykgewotICAgICAgICBsZXhu
b2NvbW1lbnQoKTsKLSAgICAgICAgYWRkbm9kZShub2RlLCBwYXJzZWV4dGVuZGVkYXR0cmlidXRl
KHRvaykpOwotICAgICAgICBpZiAodG9rLT50eXBlICE9ICcsJykKLSAgICAgICAgICAgIGJyZWFr
OwotICAgIH0KLSAgICBpZiAodG9rLT50eXBlICE9ICddJykKLSAgICAgICAgdG9rZXJyb3JleGl0
KHRvaywgImV4cGVjdGVkICcsJyBvciAnXSciKTsKLSAgICBsZXhub2NvbW1lbnQoKTsKLSAgICBy
ZXR1cm4gbm9kZTsKLX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBwYXJzZWV4Y2VwdGlvbmZpZWxk
IDogcGFyc2UgWzM2XSBFeGNlcHRpb25GaWVsZAotICoKLSAqIEVudGVyOiAgIHRvayA9IG5leHQg
dG9rZW4KLSAqICAgICAgICAgIGVhbCA9IDAgZWxzZSBleHRlbmRlZCBhdHRyaWJ1dGUgbGlzdCBu
b2RlCi0gKgotICogUmV0dXJuOiAgbmV3IG5vZGUgZm9yIHRoZSBleGNlcHRpb25maWVsZAotICog
ICAgICAgICAgdG9rIHVwZGF0ZWQKLSAqLwotc3RhdGljIHN0cnVjdCBub2RlICoKLXBhcnNlZXhj
ZXB0aW9uZmllbGQoc3RydWN0IHRvayAqdG9rLCBzdHJ1Y3Qgbm9kZSAqZWFsKQotewotICAgIHN0
cnVjdCBub2RlICpub2RlID0gbmV3ZWxlbWVudCgiRXhjZXB0aW9uRmllbGQiKTsKLSAgICBpZiAo
ZWFsKSBhZGRub2RlKG5vZGUsIGVhbCk7Ci0gICAgc2V0Y29tbWVudG5vZGUobm9kZSk7Ci0gICAg
YWRkbm9kZShub2RlLCBwYXJzZXR5cGUodG9rKSk7Ci0gICAgYWRkbm9kZShub2RlLCBuZXdhdHRy
KCJuYW1lIiwgc2V0aWRlbnRpZmllcih0b2spKSk7Ci0gICAgdG9rID0gbGV4bm9jb21tZW50KCk7
Ci0gICAgcmV0dXJuIG5vZGU7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogcGFyc2Vhcmd1bWVu
dCA6IHBhcnNlIFszMV0gQXJndW1lbnQKLSAqCi0gKiBFbnRlcjogICB0b2sgPSBuZXh0IHRva2Vu
Ci0gKgotICogUmV0dXJuOiAgbmV3IG5vZGUKLSAqCi0gKiB0b2sgdXBkYXRlZCBvbiByZXR1cm4K
LSAqLwotc3RhdGljIHN0cnVjdCBub2RlICoKLXBhcnNlYXJndW1lbnQoc3RydWN0IHRvayAqdG9r
KQotewotICAgIHN0cnVjdCBub2RlICpub2RlID0gbmV3ZWxlbWVudCgiQXJndW1lbnQiKTsKLSAg
ICBzdHJ1Y3Qgbm9kZSAqZWFsID0gcGFyc2VleHRlbmRlZGF0dHJpYnV0ZWxpc3QodG9rKTsKLSAg
ICBzZXRjb21tZW50bm9kZShub2RlKTsKLSAgICBpZiAoZWFsKSBhZGRub2RlKG5vZGUsIGVhbCk7
Ci0gICAgaWYgKHRvay0+dHlwZSA9PSBUT0tfb3B0aW9uYWwpIHsKLSAgICAgICAgYWRkbm9kZShu
b2RlLCBuZXdhdHRyKCJvcHRpb25hbCIsICJvcHRpb25hbCIpKTsKLSAgICAgICAgbGV4bm9jb21t
ZW50KCk7Ci0gICAgfQotICAgIGFkZG5vZGUobm9kZSwgcGFyc2V0eXBlKHRvaykpOwotICAgIGlm
ICh0b2stPnR5cGUgPT0gVE9LX0VMTElQU0lTKSB7Ci0gICAgICAgIGFkZG5vZGUobm9kZSwgbmV3
YXR0cigiZWxsaXBzaXMiLCAiZWxsaXBzaXMiKSk7Ci0gICAgICAgIGxleG5vY29tbWVudCgpOwot
ICAgIH0KLSAgICBhZGRub2RlKG5vZGUsIG5ld2F0dHIoIm5hbWUiLCBzZXRhcmd1bWVudG5hbWUo
dG9rKSkpOwotICAgIGxleG5vY29tbWVudCgpOwotICAgIC8vIE9wdGlvbmFsIGRlZmF1bHQgdmFs
dWUKLSAgICBpZiAodG9rLT50eXBlID09ICc9JykgewotICAgICAgdG9rID0gbGV4bm9jb21tZW50
KCk7Ci0gICAgICBub2RlID0gcGFyc2VkZWZhdWx0dmFsdWUodG9rLCBub2RlKTsKLSAgICB9Ci0g
ICAgcmV0dXJuIG5vZGU7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogcGFyc2Vhcmd1bWVudGxp
c3QgOiBwYXJzZSBbMjldIEFyZ3VtZW50TGlzdAotICoKLSAqIEVudGVyOiAgIHRvayA9IG5leHQg
dG9rZW4KLSAqCi0gKiBSZXR1cm46ICBuZXcgbm9kZSBmb3IgdGhlIGFyZ2xpc3QKLSAqICAgICAg
ICAgIHRvayB1cGRhdGVkCi0gKi8KLXN0YXRpYyBzdHJ1Y3Qgbm9kZSAqCi1wYXJzZWFyZ3VtZW50
bGlzdChzdHJ1Y3QgdG9rICp0b2spCi17Ci0gICAgc3RydWN0IG5vZGUgKm5vZGUgPSBuZXdlbGVt
ZW50KCJBcmd1bWVudExpc3QiKTsKLSAgICAvKiBXZSByZWx5IG9uIHRoZSBmYWN0IHRoYXQgQXJn
dW1lbnRMaXN0IGlzIGFsd2F5cyBmb2xsb3dlZCBieSAnKScuICovCi0gICAgaWYgKHRvay0+dHlw
ZSAhPSAnKScpIHsKLSAgICAgICAgZm9yICg7OykgewotICAgICAgICAgICAgYWRkbm9kZShub2Rl
LCBwYXJzZWFyZ3VtZW50KHRvaykpOwotICAgICAgICAgICAgaWYgKHRvay0+dHlwZSAhPSAnLCcp
Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBsZXhub2NvbW1lbnQoKTsKLSAg
ICAgICAgfQotICAgIH0KLSAgICByZXR1cm4gbm9kZTsKLX0KLQotCi0vKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioK
LSAqIHBhcnNlb3BlcmF0aW9ucmVzdCA6IHBhcnNlIFsyNV0gT3BlcmF0aW9uUmVzdAotICoKLSAq
IEVudGVyOiAgIHRvayA9IG5leHQgdG9rZW4KLSAqICAgICAgICAgIG5vZGUKLSAqCi0gKiBSZXR1
cm46ICBub2RlCi0gKiAgICAgICAgICB0b2sgb24gdGVybWluYXRpbmcgJzsnCi0gKi8KLXN0YXRp
YyBzdHJ1Y3Qgbm9kZSAqCi1wYXJzZW9wZXJhdGlvbnJlc3Qoc3RydWN0IHRvayAqdG9rLCBzdHJ1
Y3Qgbm9kZSAqbm9kZSkKLXsKLSAgICBpZiAodG9rLT50eXBlID09IFRPS19JREVOVElGSUVSKSB7
Ci0gICAgICAgIGFkZG5vZGUobm9kZSwgbmV3YXR0cigibmFtZSIsIHNldGlkZW50aWZpZXIodG9r
KSkpOwotICAgICAgICBsZXhub2NvbW1lbnQoKTsKLSAgICB9Ci0gICAgZWF0KHRvaywgJygnKTsK
LSAgICBhZGRub2RlKG5vZGUsIHBhcnNlYXJndW1lbnRsaXN0KHRvaykpOwotICAgIGVhdCh0b2ss
ICcpJyk7Ci0gICAgcmV0dXJuIG5vZGU7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogcGFyc2Vy
ZXR1cm50eXBlYW5kb3BlcmF0aW9ucmVzdDogcGFyc2UgUmV0dXJuVHlwZSBPcGVyYXRpb25SZXN0
Ci0gKiBFbnRlcjogICB0b2sgPSBuZXh0IHRva2VuCi0gKiAgICAgICAgICBlYWwKLSAqICAgICAg
ICAgIGF0dHJzIGxpc3Qgb2YgYXR0cmlidXRlcwotICogUmV0dXJuOiAgbm9kZQotICogICAgICAg
ICAgdG9rIG9uIHRlcm1pbmF0aW5nICc7JwotICovCi1zdGF0aWMgc3RydWN0IG5vZGUgKgotcGFy
c2VyZXR1cm50eXBlYW5kb3BlcmF0aW9ucmVzdChzdHJ1Y3QgdG9rICp0b2ssIHN0cnVjdCBub2Rl
ICplYWwsIHN0cnVjdCBub2RlICphdHRycykgCi17Ci0gIHN0cnVjdCBub2RlICpub2RlID0gIG5l
d2VsZW1lbnQoIk9wZXJhdGlvbiIpOwotICBzdHJ1Y3Qgbm9kZSAqbm9kZVR5cGUgPSBwYXJzZXJl
dHVybnR5cGUodG9rKTsKLSAgaWYgKGVhbCkgYWRkbm9kZShub2RlLCBlYWwpOwotICBzZXRjb21t
ZW50bm9kZShub2RlKTsKLSAgYWRkbm9kZShub2RlLCBhdHRycyk7Ci0gIGFkZG5vZGUobm9kZSwg
bm9kZVR5cGUpOwotICByZXR1cm4gcGFyc2VvcGVyYXRpb25yZXN0KHRvaywgbm9kZSk7Ci19Ci0K
LS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKgotICogcGFyc2VpdGVyYXRvcnJlc3QgOiBwYXJzZSBPcHRpb25hbEl0
ZXJhdG9ySW50ZXJmYWNlCi0gKgotICogRW50ZXI6ICAgdG9rID0gbmV4dCB0b2tlbgotICogICAg
ICAgICAgbm9kZQotICoKLSAqIFJldHVybjogIG5vZGUKLSAqICAgICAgICAgIHRvayBvbiB0ZXJt
aW5hdGluZyAnOycKLSAqLwotc3RhdGljIHN0cnVjdCBub2RlICoKLXBhcnNlb3B0aW9uYWxpdGVy
YXRvcmludGVyZmFjZShzdHJ1Y3QgdG9rICp0b2ssIHN0cnVjdCBub2RlICpub2RlKQotewotICBp
ZiAodG9rLT50eXBlID09ICc9JykgewotICAgIGxleG5vY29tbWVudCgpOwotICAgIGFkZG5vZGUo
bm9kZSwgbmV3YXR0cigiaW50ZXJmYWNlIiwgc2V0aWRlbnRpZmllcih0b2spKSk7Ci0gICAgbGV4
bm9jb21tZW50KCk7Ci0gIH0KLSAgcmV0dXJuIG5vZGU7Ci19Ci0KLS8qKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgot
ICogcGFyc2VvcGVyYXRpb25vcml0ZXJhdG9ycmVzdCA6IHBhcnNlIFsyNV0gT3BlcmF0aW9uT3JJ
dGVyYXRvclJlc3QKLSAqCi0gKiBFbnRlcjogICB0b2sgPSBuZXh0IHRva2VuCi0gKiAgICAgICAg
ICBlYWwgPSAwIGVsc2UgZXh0ZW5kZWQgYXR0cmlidXRlIGxpc3Qgbm9kZQotICogICAgICAgICAg
YXR0cnMgPSBsaXN0LW9mLWF0dHJzIG5vZGUgY29udGFpbmluZyBhdHRycyB0byBhZGQgdG8gbmV3
IG5vZGUKLSAqCi0gKiBSZXR1cm46ICBuZXcgbm9kZQotICogICAgICAgICAgdG9rIG9uIHRlcm1p
bmF0aW5nICc7JwotICovCi1zdGF0aWMgc3RydWN0IG5vZGUgKgotcGFyc2VvcGVyYXRpb25vcml0
ZXJhdG9ycmVzdChzdHJ1Y3QgdG9rICp0b2ssIHN0cnVjdCBub2RlICplYWwsIHN0cnVjdCBub2Rl
ICphdHRycykKLXsKLSAgc3RydWN0IG5vZGUgKm5vZGU7Ci0gIHN0cnVjdCBub2RlICpub2RlVHlw
ZSA9IHBhcnNlcmV0dXJudHlwZSh0b2spOwotICB1bnNpZ25lZCBpbnQgaXNJdGVyYXRvciA9IDA7
Ci0gIGlmICh0b2stPnR5cGUgPT0gVE9LX2l0ZXJhdG9yKSB7Ci0gICAgbGV4bm9jb21tZW50KCk7
Ci0gICAgaWYgKHRvay0+dHlwZSA9PSBUT0tfb2JqZWN0KSB7Ci0gICAgICBsZXhub2NvbW1lbnQo
KTsKLSAgICAgIG5vZGUgPSBuZXdlbGVtZW50KCJJdGVyYXRvck9iamVjdCIpOwotICAgICAgYWRk
bm9kZShub2RlLCBub2RlVHlwZSk7Ci0gICAgICByZXR1cm4gbm9kZTsKLSAgICB9IGVsc2Ugewot
ICAgICAgbm9kZSA9IG5ld2VsZW1lbnQoIkl0ZXJhdG9yIik7Ci0gICAgICBpc0l0ZXJhdG9yID0g
MTsgICAgCi0gICAgfQotICB9IGVsc2UgewotICAgIG5vZGUgPSBuZXdlbGVtZW50KCJPcGVyYXRp
b24iKTsKLSAgfQotICBpZiAoZWFsKSBhZGRub2RlKG5vZGUsIGVhbCk7Ci0gIHNldGNvbW1lbnRu
b2RlKG5vZGUpOwotICBhZGRub2RlKG5vZGUsIGF0dHJzKTsKLSAgYWRkbm9kZShub2RlLCBub2Rl
VHlwZSk7Ci0gIGlmIChpc0l0ZXJhdG9yKQotICAgIHJldHVybiBwYXJzZW9wdGlvbmFsaXRlcmF0
b3JpbnRlcmZhY2UodG9rLCBub2RlKTsKLSAgZWxzZQotICAgIHJldHVybiBwYXJzZW9wZXJhdGlv
bnJlc3QodG9rLCBub2RlKTsKLX0KLQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIHBhcnNlYXR0cmli
dXRlIDogcGFyc2UgWzE3XSBBdHRyaWJ1dGUKLSAqCi0gKiBFbnRlcjogICB0b2sgPSBuZXh0IHRv
a2VuICgicmVhZG9ubHkiIG9yICJhdHRyaWJ1dGUiKQotICogICAgICAgICAgZWFsID0gMCBlbHNl
IGV4dGVuZGVkIGF0dHJpYnV0ZSBsaXN0IG5vZGUKLSAqICAgICAgICAgIGF0dHJzID0gbGlzdC1v
Zi1hdHRycyBub2RlIGNvbnRhaW5pbmcgYXR0cnMgdG8gYWRkIHRvIG5ldyBub2RlCi0gKgotICog
UmV0dXJuOiAgbm9kZQotICogICAgICAgICAgdG9rIG9uIHRlcm1pbmF0aW5nICc7JwotICovCi1z
dGF0aWMgc3RydWN0IG5vZGUgKgotcGFyc2VhdHRyaWJ1dGUoc3RydWN0IHRvayAqdG9rLCBzdHJ1
Y3Qgbm9kZSAqZWFsLCBzdHJ1Y3Qgbm9kZSAqYXR0cnMpCi17Ci0gICAgc3RydWN0IG5vZGUgKm5v
ZGUgPSBuZXdlbGVtZW50KCJBdHRyaWJ1dGUiKTsKLSAgICBpZiAoZWFsKSBhZGRub2RlKG5vZGUs
IGVhbCk7Ci0gICAgc2V0Y29tbWVudG5vZGUobm9kZSk7Ci0gICAgYWRkbm9kZShub2RlLCBhdHRy
cyk7Ci0gICAgaWYgKHRvay0+dHlwZSA9PSBUT0tfaW5oZXJpdCkgewotICAgICAgICBsZXhub2Nv
bW1lbnQoKTsKLQlhZGRub2RlKG5vZGUsIG5ld2F0dHIoImluaGVyaXQiLCAiaW5oZXJpdCIpKTsK
LSAgICB9Ci0gICAgaWYgKHRvay0+dHlwZSA9PSBUT0tfcmVhZG9ubHkpIHsKLSAgICAgICAgbGV4
bm9jb21tZW50KCk7Ci0gICAgICAgIGFkZG5vZGUobm9kZSwgbmV3YXR0cigicmVhZG9ubHkiLCAi
cmVhZG9ubHkiKSk7Ci0gICAgfQotICAgIGVhdCh0b2ssIFRPS19hdHRyaWJ1dGUpOwotICAgIGFk
ZG5vZGUobm9kZSwgcGFyc2V0eXBlKHRvaykpOwotICAgIGFkZG5vZGUobm9kZSwgbmV3YXR0cigi
bmFtZSIsIHNldGlkZW50aWZpZXIodG9rKSkpOwotICAgIGxleG5vY29tbWVudCgpOwotICAgIHJl
dHVybiBub2RlOwotfQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIHBhcnNlc2VyaWFsaXplciA6IHBh
cnNlIFNlcmlhbGl6ZXIKLSAqCi0gKiBFbnRlcjogICB0b2sgPSBuZXh0IHRva2VuCi0gKiAgICAg
ICAgICBlYWwKLSAqCi0gKiBSZXR1cm46ICBub2RlIHVwZGF0ZWQgd2l0aCB2YWx1ZQotICogICAg
ICAgICAgdG9rIHVwZGF0ZWQKLSAqLwotc3RhdGljIHN0cnVjdCBub2RlICoKLXBhcnNlc2VyaWFs
aXplciAoc3RydWN0IHRvayAqdG9rLCBzdHJ1Y3Qgbm9kZSAqZWFsKSB7Ci0Jc3RydWN0IG5vZGUg
Km5vZGVBdHRyaWJ1dGU7Ci0Jc3RydWN0IG5vZGUgKm5vZGUgPSBuZXdlbGVtZW50KCJTZXJpYWxp
emVyIik7Ci0gIGlmICh0b2stPnR5cGUgPT0gJz0nKSB7Ci0gICAgaWYgKGVhbCkgYWRkbm9kZShu
b2RlLCBlYWwpOwotICAgIGxleG5vY29tbWVudCgpOwotICAgIGlmICh0b2stPnR5cGUgPT0gVE9L
X0lERU5USUZJRVIpIHsKLSAgICAgIGFkZG5vZGUobm9kZSwgbmV3YXR0cigiYXR0cmlidXRlIiwg
c2V0aWRlbnRpZmllcih0b2spKSk7Ci0gICAgICBsZXhub2NvbW1lbnQoKTsKLSAgICB9IGVsc2Ug
aWYgKHRvay0+dHlwZSA9PSAneycpIHsKLSAgICAgIHVuc2lnbmVkIGludCBkb25lID0gMDsKLSAg
ICAgIHN0cnVjdCBub2RlICpub2RlTWFwID0gbmV3ZWxlbWVudCgiTWFwIik7Ci0gICAgICBsZXhu
b2NvbW1lbnQoKTsKLSAgICAgIGlmICh0b2stPnR5cGUgPT0gVE9LX2dldHRlcikgewotCWFkZG5v
ZGUobm9kZU1hcCwgbmV3YXR0cigicGF0dGVybiIsICJnZXR0ZXIiKSk7Ci0JZG9uZSA9IDE7Ci0g
ICAgICB9IGVsc2UgaWYgKHRvay0+dHlwZSA9PSBUT0tfYXR0cmlidXRlKSB7Ci0JYWRkbm9kZShu
b2RlTWFwLCBuZXdhdHRyKCJwYXR0ZXJuIiwgImFsbCIpKTsKLQlkb25lID0gMTsKLSAgICAgIH0g
ZWxzZSBpZiAodG9rLT50eXBlID09IFRPS19pbmhlcml0KSB7Ci0JYWRkbm9kZShub2RlTWFwLCBu
ZXdhdHRyKCJpbmhlcml0IiwgImluaGVyaXQiKSk7Ci0JbGV4bm9jb21tZW50KCk7Ci0JZWF0KHRv
aywgJywnKTsKLQlpZiAodG9rLT50eXBlID09IFRPS19hdHRyaWJ1dGUpIHsKLQkgIGFkZG5vZGUo
bm9kZU1hcCwgbmV3YXR0cigicGF0dGVybiIsICJhbGwiKSk7Ci0JICBkb25lID0gMTsKLQl9Ci0g
ICAgICB9IGVsc2UgaWYgKHRvay0+dHlwZSAhPSBUT0tfSURFTlRJRklFUikgewotCXRva2Vycm9y
ZXhpdCh0b2ssICJleHBlY3RlZCAnYXR0cmlidXRlJywgJ2dldHRlcicsICdpbmhlcml0JyBvciBh
dHRyaWJ1dGUgaWRlbnRpZmllcnMgaW4gc2VyaWFsaXplciBtYXAiKTsKLSAgICAgIH0KLSAgICAg
IGlmIChkb25lKSB7Ci0JbGV4bm9jb21tZW50KCk7Ci0JZWF0KHRvaywgJ30nKTsKLSAgICAgIH0g
ZWxzZSB7Ci0JYWRkbm9kZShub2RlTWFwLCBuZXdhdHRyKCJwYXR0ZXJuIiwgInNlbGVjdGlvbiIp
KTsKLQlkbyB7Ci0JICBpZiAodG9rLT50eXBlICE9IFRPS19JREVOVElGSUVSKQotCSAgICB0b2tl
cnJvcmV4aXQodG9rLCAiZXhwZWN0ZWQgYXR0cmlidXRlIGlkZW50aWZpZXJzIGluIHNlcmlhbGl6
ZXIgbWFwICVzIiwgdG9rLT5wcmVzdGFydCk7Ci0JICBub2RlQXR0cmlidXRlID0gbmV3ZWxlbWVu
dCgiUGF0dGVybkF0dHJpYnV0ZSIpOwotCSAgYWRkbm9kZShub2RlQXR0cmlidXRlLCBuZXdhdHRy
KCJuYW1lIiwgc2V0aWRlbnRpZmllcih0b2spKSk7Ci0JICBhZGRub2RlKG5vZGVNYXAsIG5vZGVB
dHRyaWJ1dGUpOwotCSAgbGV4bm9jb21tZW50KCk7Ci0JICBpZiAodG9rLT50eXBlID09ICcsJykK
LQkgICAgbGV4bm9jb21tZW50KCk7Ci0JfSB3aGlsZSAodG9rLT50eXBlICE9ICd9Jyk7Ci0JZWF0
KHRvaywgJ30nKTsKLSAgICAgIH0KLSAgICAgIGFkZG5vZGUobm9kZSwgbm9kZU1hcCk7Ci0gICAg
fSBlbHNlIGlmICh0b2stPnR5cGUgPT0gJ1snKSB7Ci0gICAgICBzdHJ1Y3Qgbm9kZSAqbm9kZUxp
c3QgPSBuZXdlbGVtZW50KCJMaXN0Iik7Ci0gICAgICBsZXhub2NvbW1lbnQoKTsKLSAgICAgIGlm
ICh0b2stPnR5cGUgPT0gVE9LX2dldHRlcikgewotCWFkZG5vZGUobm9kZUxpc3QsIG5ld2F0dHIo
InBhdHRlcm4iLCAiZ2V0dGVyIikpOwotCWxleG5vY29tbWVudCgpOwotCWVhdCh0b2ssICddJyk7
Ci0gICAgICB9IGVsc2UgewotCWFkZG5vZGUobm9kZUxpc3QsIG5ld2F0dHIoInBhdHRlcm4iLCAi
c2VsZWN0aW9uIikpOwotCWRvIHsKLQkgIGlmICh0b2stPnR5cGUgIT0gVE9LX0lERU5USUZJRVIp
Ci0JICAgIHRva2Vycm9yZXhpdCh0b2ssICJleHBlY3RlZCBhdHRyaWJ1dGUgaWRlbnRpZmllcnMg
aW4gc2VyaWFsaXplciBsaXN0Iik7Ci0JICBub2RlQXR0cmlidXRlID0gbmV3ZWxlbWVudCgiUGF0
dGVybkF0dHJpYnV0ZSIpOwotCSAgYWRkbm9kZShub2RlQXR0cmlidXRlLCBuZXdhdHRyKCJuYW1l
Iiwgc2V0aWRlbnRpZmllcih0b2spKSk7Ci0JICBhZGRub2RlKG5vZGVMaXN0LCBub2RlQXR0cmli
dXRlKTsKLQkgIGxleG5vY29tbWVudCgpOwotCSAgaWYgKHRvay0+dHlwZSA9PSAnLCcpCi0JICAg
IGxleG5vY29tbWVudCgpOwotCX0gd2hpbGUgKHRvay0+dHlwZSAhPSAnXScpOwkgICAgCi0JZWF0
KHRvaywgJ10nKTsKLSAgICAgIH0KLSAgICAgIGFkZG5vZGUobm9kZSwgbm9kZUxpc3QpOwotICAg
IH0gZWxzZSB7Ci0gICAgICB0b2tlcnJvcmV4aXQodG9rLCAiRXhwZWN0ZWQgJ3snLCAnWycgb3Ig
YW4gYXR0cmlidXRlIGlkZW50aWZpZXIgaW4gdGhlIHNlcmlhbGl6ZXIgZGVjbGFyYXRpb24iKTsK
LSAgICB9Ci0gICAgcmV0dXJuIG5vZGU7Ci0gIH0gZWxzZSB7Ci0gICAgaWYgKGVhbCkgYWRkbm9k
ZShub2RlLCBlYWwpOwotICAgIHJldHVybiBub2RlOwotICB9Ci19Ci0KLS8qKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KgotICogcGFyc2VhdHRyaWJ1dGVvcm9wZXJhdGlvbm9yaXRlcmF0b3IgOiBwYXJzZSBbMTVdIEF0
dHJpYnV0ZU9yT3BlcmF0aW9uT3JJdGVyYXRvcgotICoKLSAqIEVudGVyOiAgIHRvayA9IG5leHQg
dG9rZW4KLSAqICAgICAgICAgIGVhbCA9IDAgZWxzZSBleHRlbmRlZCBhdHRyaWJ1dGUgbGlzdCBu
b2RlCi0gKgotICogUmV0dXJuOiAgbmV3IG5vZGUKLSAqICAgICAgICAgIHRvayBvbiB0ZXJtaW5h
dGluZyAnOycKLSAqLwotc3RhdGljIHN0cnVjdCBub2RlICoKLXBhcnNlYXR0cmlidXRlb3JvcGVy
YXRpb25vcml0ZXJhdG9yKHN0cnVjdCB0b2sgKnRvaywgc3RydWN0IG5vZGUgKmVhbCkKLXsKLQlp
bnQgYWxyZWFkeXNlZW4gOwotICAgIHN0cnVjdCBub2RlICphdHRycyA9IG5ld2F0dHJsaXN0KCk7
Ci0gICAgaWYgKHRvay0+dHlwZSA9PSBUT0tfc2VyaWFsaXplcikgewotICAgICAgbGV4bm9jb21t
ZW50KCk7Ci0gICAgICBpZiAodG9rLT50eXBlID09ICc9JyB8fCB0b2stPnR5cGUgPT0nOycpIHsK
LQlyZXR1cm4gcGFyc2VzZXJpYWxpemVyKHRvaywgZWFsKTsKLSAgICAgIH0gZWxzZSB7Ci0JYWRk
bm9kZShhdHRycywgbmV3YXR0cigic2VyaWFsaXplciIsICJzZXJpYWxpemVyIikpOwotCXJldHVy
biBwYXJzZXJldHVybnR5cGVhbmRvcGVyYXRpb25yZXN0KHRvaywgZWFsLCBhdHRycyk7Ci0gICAg
ICB9Ci0gICAgfQotICAgIGlmICh0b2stPnR5cGUgPT0gVE9LX3N0cmluZ2lmaWVyKSB7Ci0gICAg
ICAgIGFkZG5vZGUoYXR0cnMsIG5ld2F0dHIoInN0cmluZ2lmaWVyIiwgInN0cmluZ2lmaWVyIikp
OwotICAgICAgICBsZXhub2NvbW1lbnQoKTsKLSAgICAgICAgaWYgKHRvay0+dHlwZSA9PSAnOycp
IHsKLSAgICAgICAgICAgIHN0cnVjdCBub2RlICpub2RlID0gbmV3ZWxlbWVudCgiU3RyaW5naWZp
ZXIiKTsKLSAgICAgICAgICAgIGlmIChlYWwpIGFkZG5vZGUobm9kZSwgZWFsKTsKLSAgICAgICAg
ICAgIHJldHVybiBub2RlOwotICAgICAgICB9Ci0gICAgfQotICAgIGlmICh0b2stPnR5cGUgPT0g
VE9LX3N0YXRpYykgewotICAgICAgICBsZXhub2NvbW1lbnQoKTsKLSAgICAgICAgYWRkbm9kZShh
dHRycywgbmV3YXR0cigic3RhdGljIiwgInN0YXRpYyIpKTsKLSAgICB9Ci0gICAgaWYgKHRvay0+
dHlwZSA9PSBUT0tfaW5oZXJpdCB8fCB0b2stPnR5cGUgPT0gVE9LX3JlYWRvbmx5IHx8IHRvay0+
dHlwZSA9PSBUT0tfYXR0cmlidXRlKQotICAgICAgICByZXR1cm4gcGFyc2VhdHRyaWJ1dGUodG9r
LCBlYWwsIGF0dHJzKTsKLSAgICBpZiAoIW5vZGVpc2VtcHR5KGF0dHJzKSkKLSAJcmV0dXJuIHBh
cnNlcmV0dXJudHlwZWFuZG9wZXJhdGlvbnJlc3QodG9rLCBlYWwsIGF0dHJzKTsKLSAgICBhbHJl
YWR5c2VlbiA9IDA7Ci0gICAgZm9yICg7OykgewotICAgICAgc3RhdGljIGNvbnN0IGludCB0W10g
PSB7IFRPS19nZXR0ZXIsCi0JCQkgICAgICAgVE9LX3NldHRlciwgVE9LX2NyZWF0b3IsIFRPS19k
ZWxldGVyLCBUT0tfbGVnYWN5Y2FsbGVyLAotCQkJICAgICAgIDAgfTsKLSAgICAgIGNvbnN0IGlu
dCAqdHQgPSB0OwotICAgICAgY2hhciAqczsKLSAgICAgIHdoaWxlICgqdHQgJiYgKnR0ICE9IHRv
ay0+dHlwZSkKLQl0dCsrOwotICAgICAgaWYgKCEqdHQpCi0JYnJlYWs7Ci0gICAgICBzID0gbWVt
cHJpbnRmKCIlLipzIiwgdG9rLT5sZW4sIHRvay0+c3RhcnQpOwotICAgICAgaWYgKGFscmVhZHlz
ZWVuICYgKDEgPDwgKHR0IC0gdCkpKQotCXRva2Vycm9yZXhpdCh0b2ssICInJXMnIHF1YWxpZmll
ciBjYW5ub3QgYmUgcmVwZWF0ZWQiLCBzKTsKLSAgICAgIGFscmVhZHlzZWVuIHw9IDEgPDwgKHR0
IC0gdCk7Ci0gICAgICBhZGRub2RlKGF0dHJzLCBuZXdhdHRyKHMsIHMpKTsKLSAgICAgIGxleG5v
Y29tbWVudCgpOwotICAgIH0KLSAgICBpZiAoIW5vZGVpc2VtcHR5KGF0dHJzKSkgICAgCi0gICAg
ICByZXR1cm4gcGFyc2VyZXR1cm50eXBlYW5kb3BlcmF0aW9ucmVzdCh0b2ssIGVhbCwgYXR0cnMp
OwotICAgIGVsc2UKLSAgICAgIHJldHVybiBwYXJzZW9wZXJhdGlvbm9yaXRlcmF0b3JyZXN0KHRv
aywgZWFsLCBhdHRycyk7Ci19Ci0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBwYXJzZWNvbnN0ZXhw
ciA6IHBhcnNlIENvbnN0VmFsdWUKLSAqCi0gKiBFbnRlcjogICB0b2sgPSBuZXh0IHRva2VuCi0g
KiAgICAgICAgICBub2RlCi0gKgotICogUmV0dXJuOiAgbm9kZSB1cGRhdGVkIHdpdGggdmFsdWUK
LSAqICAgICAgICAgIHRvayB1cGRhdGVkCi0gKi8KLXN0YXRpYyBzdHJ1Y3Qgbm9kZSAqCi1wYXJz
ZWNvbnN0ZXhwciAoc3RydWN0IHRvayAqdG9rLCBzdHJ1Y3Qgbm9kZSAqbm9kZSkgewotICBjaGFy
ICpzOwotICBzd2l0Y2godG9rLT50eXBlKSB7Ci0gIGNhc2UgVE9LX3RydWU6Ci0gIGNhc2UgVE9L
X2ZhbHNlOgotICBjYXNlIFRPS19taW51c2luZmluaXR5OgotICBjYXNlIFRPS19JTlRFR0VSOgot
ICBjYXNlIFRPS19GTE9BVDoKLSAgY2FzZSBUT0tfbnVsbDoKLSAgY2FzZSBUT0tfaW5maW5pdHk6
Ci0gIGNhc2UgVE9LX05hTjoKLSAgICBicmVhazsKLSAgZGVmYXVsdDoKLSAgICB0b2tlcnJvcmV4
aXQodG9rLCAiZXhwZWN0ZWQgY29uc3RhbnQgdmFsdWUiKTsKLSAgICBicmVhazsKLSAgfQotICBz
ID0gbWVtYWxsb2ModG9rLT5sZW4gKyAxKTsKLSAgbWVtY3B5KHMsIHRvay0+c3RhcnQsIHRvay0+
bGVuKTsKLSAgc1t0b2stPmxlbl0gPSAwOwotICBpZiAodG9rLT50eXBlICE9IFRPS19TVFJJTkcp
IHsKLSAgICBhZGRub2RlKG5vZGUsIG5ld2F0dHIoInZhbHVlIiwgcykpOwotICB9IGVsc2Ugewot
ICAgIGFkZG5vZGUobm9kZSwgbmV3YXR0cigic3RyaW5ndmFsdWUiLCBzKSk7Ci0gIH0KLSAgbGV4
bm9jb21tZW50KCk7Ci0gIHJldHVybiBub2RlOwotfQotCi0vKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIHBh
cnNlZGVmYXVsdHZhbHVlIDogcGFyc2UgRGVmYXVsdFZhbHVlCi0gKgotICogRW50ZXI6ICAgdG9r
ID0gbmV4dCB0b2tlbgotICogICAgICAgICAgbm9kZQotICoKLSAqIFJldHVybjogIG5vZGUgdXBk
YXRlZCB3aXRoIHZhbHVlCi0gKiAgICAgICAgICB0b2sgdXBkYXRlZAotICovCi1zdGF0aWMgc3Ry
dWN0IG5vZGUgKgotcGFyc2VkZWZhdWx0dmFsdWUgKHN0cnVjdCB0b2sgKnRvaywgc3RydWN0IG5v
ZGUgKm5vZGUpIHsKLSAgY2hhciAqczsKLSAgaWYgKHRvay0+dHlwZSA9PSBUT0tfU1RSSU5HKSB7
Ci0gICAgcyA9IG1lbWFsbG9jKHRvay0+bGVuICsgMSk7Ci0gICAgbWVtY3B5KHMsIHRvay0+c3Rh
cnQsIHRvay0+bGVuKTsKLSAgICBzW3Rvay0+bGVuXSA9IDA7Ci0gICAgYWRkbm9kZShub2RlLCBu
ZXdhdHRyKCJzdHJpbmd2YWx1ZSIsIHMpKTsKLSAgICBsZXhub2NvbW1lbnQoKTsKLSAgICByZXR1
cm4gbm9kZTsKLSAgfSBlbHNlIHsKLSAgICByZXR1cm4gcGFyc2Vjb25zdGV4cHIodG9rLCBub2Rl
KTsKLSAgfQotfQotCi0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBwYXJzZWRpY3Rpb25hcnltZW1i
ZXIgOiBwYXJzZSBEaWN0aW9uYXJ5TWVtYmVyCi0gKgotICogRW50ZXI6ICAgdG9rID0gbmV4dCB0
b2tlbgotICogICAgICAgICAgZWFsID0gMCBlbHNlIGV4dGVuZGVkIGF0dHJpYnV0ZSBsaXN0IG5v
ZGUKLSAqCi0gKiBSZXR1cm46ICBuZXcgbm9kZQotICogICAgICAgICAgdG9rIG9uIHRlcm1pbmF0
aW5nICc7JwotICovCi1zdGF0aWMgc3RydWN0IG5vZGUgKgotcGFyc2VkaWN0aW9uYXJ5bWVtYmVy
KHN0cnVjdCB0b2sgKnRvaywgc3RydWN0IG5vZGUgKmVhbCkKLXsKLSAgICBzdHJ1Y3Qgbm9kZSAq
bm9kZSA9IG5ld2VsZW1lbnQoIkRpY3Rpb25hcnlNZW1iZXIiKTsKLSAgICBpZiAoZWFsKSBhZGRu
b2RlKG5vZGUsIGVhbCk7Ci0gICAgc2V0Y29tbWVudG5vZGUobm9kZSk7Ci0gICAgYWRkbm9kZShu
b2RlLCBwYXJzZXR5cGUodG9rKSk7Ci0gICAgYWRkbm9kZShub2RlLCBuZXdhdHRyKCJuYW1lIiwg
c2V0aWRlbnRpZmllcih0b2spKSk7Ci0gICAgdG9rID0gbGV4bm9jb21tZW50KCk7Ci0gICAgLy8g
T3B0aW9uYWwgdmFsdWUKLSAgICBpZiAodG9rLT50eXBlID09ICc9JykgewotICAgICAgdG9rID0g
bGV4bm9jb21tZW50KCk7Ci0gICAgICBub2RlID0gcGFyc2VkZWZhdWx0dmFsdWUodG9rLCBub2Rl
KTsKLSAgICB9Ci0gICAgcmV0dXJuIG5vZGU7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogcGFy
c2Vjb25zdCA6IHBhcnNlIFsxMl0gQ29uc3QKLSAqCi0gKiBFbnRlcjogICB0b2sgPSBuZXh0IHRv
a2VuLCBrbm93biB0byBiZSBUT0tfY29uc3QKLSAqICAgICAgICAgIGVhbCA9IDAgZWxzZSBleHRl
bmRlZCBhdHRyaWJ1dGUgbGlzdCBub2RlCi0gKgotICogUmV0dXJuOiAgbmV3IG5vZGUgZm9yIHRo
ZSBjb25zdAotICogICAgICAgICAgdG9rIG9uIHRlcm1pbmF0aW5nICc7JwotICovCi1zdGF0aWMg
c3RydWN0IG5vZGUgKgotcGFyc2Vjb25zdChzdHJ1Y3QgdG9rICp0b2ssIHN0cnVjdCBub2RlICpl
YWwpCi17Ci0gICAgc3RydWN0IG5vZGUgKm5vZGUgPSBuZXdlbGVtZW50KCJDb25zdCIpOwotICAg
IHNldGNvbW1lbnRub2RlKG5vZGUpOwotICAgIGlmIChlYWwpIGFkZG5vZGUobm9kZSwgZWFsKTsK
LSAgICB0b2sgPSBsZXhub2NvbW1lbnQoKTsKLSAgICBzd2l0Y2godG9rLT50eXBlKSB7Ci0gICAg
Y2FzZSBUT0tfYm9vbGVhbjoKLSAgICBjYXNlIFRPS19ieXRlOgotICAgIGNhc2UgVE9LX29jdGV0
OgotICAgIGNhc2UgVE9LX2Zsb2F0OgotICAgIGNhc2UgVE9LX2RvdWJsZToKLSAgICBjYXNlIFRP
S191bnNpZ25lZDoKLSAgICBjYXNlIFRPS191bnJlc3RyaWN0ZWQ6Ci0gICAgY2FzZSBUT0tfc2hv
cnQ6Ci0gICAgY2FzZSBUT0tfbG9uZzoKLSAgICAgICAgYWRkbm9kZShub2RlLCBwYXJzZXR5cGUo
dG9rKSk7Ci0JYnJlYWs7Ci0gICAgZGVmYXVsdDoKLSAgICAgICAgdG9rZXJyb3JleGl0KHRvaywg
ImV4cGVjdGVkIGFjY2VwdGFibGUgY29uc3RhbnQgdHlwZSIpOwotICAgICAgICBicmVhazsKLSAg
ICB9Ci0gICAgYWRkbm9kZShub2RlLCBuZXdhdHRyKCJuYW1lIiwgc2V0aWRlbnRpZmllcih0b2sp
KSk7Ci0gICAgdG9rID0gbGV4bm9jb21tZW50KCk7Ci0gICAgZWF0KHRvaywgJz0nKTsKLSAgICBu
b2RlID0gcGFyc2Vjb25zdGV4cHIodG9rLCBub2RlKTsKLSAgICByZXR1cm4gbm9kZTsKLX0KLQot
LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqCi0gKiBwYXJzZWltcGxlbWVudHNzdGF0ZW1lbnQgOiBwYXJzZSBbMTFd
IEltcGxlbWVudHNTdGF0ZW1lbnQKLSAqCi0gKiBFbnRlcjogICB0b2sgPSBuZXh0IHRva2VuLCBr
bm93biB0byBiZSA6OiBvciBUT0tfSURFTlRJRklFUgotICogICAgICAgICAgZWFsID0gMCBlbHNl
IGV4dGVuZGVkIGF0dHJpYnV0ZSBsaXN0IG5vZGUKLSAqCi0gKiBSZXR1cm46ICBuZXcgbm9kZSBm
b3IgdGhlIHR5cGVkZWYKLSAqICAgICAgICAgIHRvayB1cGRhdGVkIHRvIHRoZSB0ZXJtaW5hdGlu
ZyAnOycKLSAqLwotc3RhdGljIHN0cnVjdCBub2RlICoKLXBhcnNlaW1wbGVtZW50c3N0YXRlbWVu
dChzdHJ1Y3QgdG9rICp0b2ssIHN0cnVjdCBub2RlICplYWwpCi17Ci0gICAgc3RydWN0IG5vZGUg
Km5vZGUgPSBuZXdlbGVtZW50KCJJbXBsZW1lbnRzIik7Ci0gICAgc2V0Y29tbWVudG5vZGUobm9k
ZSk7Ci0gICAgaWYgKGVhbCkgYWRkbm9kZShub2RlLCBlYWwpOwotICAgIGFkZG5vZGUobm9kZSwg
cGFyc2VzY29wZWRuYW1lKHRvaywgIm5hbWUxIiwgMSkpOwotICAgIGVhdCh0b2ssIFRPS19pbXBs
ZW1lbnRzKTsKLSAgICBhZGRub2RlKG5vZGUsIHBhcnNlc2NvcGVkbmFtZSh0b2ssICJuYW1lMiIs
IDEpKTsKLSAgICByZXR1cm4gbm9kZTsKLX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBwYXJzZXR5
cGVkZWYgOiBwYXJzZSBbMTBdIFR5cGVkZWYKLSAqCi0gKiBFbnRlcjogICB0b2sgPSBuZXh0IHRv
a2VuLCBrbm93biB0byBiZSBUT0tfdHlwZWRlZgotICogICAgICAgICAgZWFsID0gMCBlbHNlIGV4
dGVuZGVkIGF0dHJpYnV0ZSBsaXN0IG5vZGUKLSAqCi0gKiBSZXR1cm46ICBuZXcgbm9kZSBmb3Ig
dGhlIHR5cGVkZWYKLSAqICAgICAgICAgIHRvayB1cGRhdGVkIHRvIHRoZSB0ZXJtaW5hdGluZyAn
OycKLSAqLwotc3RhdGljIHN0cnVjdCBub2RlICoKLXBhcnNldHlwZWRlZihzdHJ1Y3QgdG9rICp0
b2ssIHN0cnVjdCBub2RlICplYWwpCi17Ci1zdHJ1Y3Qgbm9kZSAqZWFsdHlwZTsKLXN0cnVjdCBu
b2RlICp0eXBlbm9kZTsKLSAgICBzdHJ1Y3Qgbm9kZSAqbm9kZSA9IG5ld2VsZW1lbnQoIlR5cGVk
ZWYiKTsKLSAgICBzZXRjb21tZW50bm9kZShub2RlKTsKLSAgICBpZiAoZWFsKSBhZGRub2RlKG5v
ZGUsIGVhbCk7Ci0gICAgdG9rID0gbGV4bm9jb21tZW50KCk7Ci0gICAgZWFsdHlwZSA9IHBhcnNl
ZXh0ZW5kZWRhdHRyaWJ1dGVsaXN0KHRvayk7Ci0gICAgdHlwZW5vZGUgPSBwYXJzZXR5cGUodG9r
KTsKLSAgICBpZiAoZWFsdHlwZSkgYWRkbm9kZSh0eXBlbm9kZSwgZWFsdHlwZSk7Ci0gICAgYWRk
bm9kZShub2RlLCB0eXBlbm9kZSk7Ci0gICAgYWRkbm9kZShub2RlLCBuZXdhdHRyKCJuYW1lIiwg
c2V0aWRlbnRpZmllcih0b2spKSk7Ci0gICAgdG9rID0gbGV4bm9jb21tZW50KCk7Ci0gICAgcmV0
dXJuIG5vZGU7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogcGFyc2VleGNlcHRpb24gOiBwYXJz
ZSBbOF0gRXhjZXB0aW9uCi0gKgotICogRW50ZXI6ICAgdG9rID0gbmV4dCB0b2tlbiwga25vd24g
dG8gYmUgVE9LX2V4Y2VwdGlvbgotICogICAgICAgICAgZWFsID0gMCBlbHNlIGV4dGVuZGVkIGF0
dHJpYnV0ZSBsaXN0IG5vZGUKLSAqCi0gKiBSZXR1cm46ICBuZXcgbm9kZSBmb3IgdGhlIGV4Y2Vw
dGlvbgotICogICAgICAgICAgdG9rIHVwZGF0ZWQgdG8gdGhlIHRlcm1pbmF0aW5nICc7JwotICov
Ci1zdGF0aWMgc3RydWN0IG5vZGUgKgotcGFyc2VleGNlcHRpb24oc3RydWN0IHRvayAqdG9rLCBz
dHJ1Y3Qgbm9kZSAqZWFsKQotewotICAgIHN0cnVjdCBub2RlICpub2RlID0gbmV3ZWxlbWVudCgi
RXhjZXB0aW9uIik7Ci0gICAgc2V0Y29tbWVudG5vZGUobm9kZSk7Ci0gICAgaWYgKGVhbCkgYWRk
bm9kZShub2RlLCBlYWwpOwotICAgIHRvayA9IGxleG5vY29tbWVudCgpOwotICAgIGFkZG5vZGUo
bm9kZSwgbmV3YXR0cigibmFtZSIsIHNldGlkZW50aWZpZXIodG9rKSkpOwotICAgIGxleG5vY29t
bWVudCgpOwotICAgIGlmICh0b2stPnR5cGUgPT0gJzonKSB7Ci0gICAgICAgIGxleG5vY29tbWVu
dCgpOwotICAgICAgICBhZGRub2RlKG5vZGUsIHBhcnNlc2NvcGVkbmFtZWxpc3QodG9rLCAiRXhj
ZXB0aW9uSW5oZXJpdGFuY2UiLCAiTmFtZSIsIDEpKTsKLSAgICB9Ci0gICAgZWF0KHRvaywgJ3sn
KTsKLSAgICB3aGlsZSAodG9rLT50eXBlICE9ICd9JykgewotICAgICAgICBjb25zdCBjaGFyICpz
dGFydCA9IHRvay0+cHJlc3RhcnQ7Ci0gICAgICAgIHN0cnVjdCBub2RlICpub2RlMjsKLSAgICAg
ICAgc3RydWN0IG5vZGUgKmVhbCA9IHBhcnNlZXh0ZW5kZWRhdHRyaWJ1dGVsaXN0KHRvayk7Ci0g
ICAgICAgIGlmICh0b2stPnR5cGUgPT0gVE9LX2NvbnN0KQotICAgICAgICAgICAgbm9kZTIgPSBw
YXJzZWNvbnN0KHRvaywgZWFsKTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgbm9kZTIgPSBw
YXJzZWV4Y2VwdGlvbmZpZWxkKHRvaywgZWFsKTsKLSAgICAgICAgYWRkbm9kZShub2RlLCBub2Rl
Mik7Ci0gICAgICAgIG5vZGUyLT53c3N0YXJ0ID0gc3RhcnQ7Ci0gICAgICAgIG5vZGUyLT5lbmQg
PSB0b2stPnN0YXJ0ICsgdG9rLT5sZW47Ci0gICAgICAgIHNldGlkKG5vZGUyKTsKLSAgICAgICAg
ZWF0KHRvaywgJzsnKTsKLSAgICB9Ci0gICAgbGV4bm9jb21tZW50KCk7Ci0gICAgcmV0dXJuIG5v
ZGU7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKgotICogcGFyc2VpbnRlcmZhY2UgOiBwYXJzZSBbNF0g
SW50ZXJmYWNlCi0gKgotICogRW50ZXI6ICAgdG9rID0gbmV4dCB0b2tlbiwga25vd24gdG8gYmUg
VE9LX2ludGVyZmFjZQotICogICAgICAgICAgZWFsID0gMCBlbHNlIGV4dGVuZGVkIGF0dHJpYnV0
ZSBsaXN0IG5vZGUKLSAqCi0gKiBSZXR1cm46ICBuZXcgbm9kZSBmb3IgdGhlIGludGVyZmFjZQot
ICogICAgICAgICAgdG9rIHVwZGF0ZWQgdG8gdGhlIHRlcm1pbmF0aW5nICc7JwotICovCi1zdGF0
aWMgc3RydWN0IG5vZGUgKgotcGFyc2VpbnRlcmZhY2Uoc3RydWN0IHRvayAqdG9rLCBzdHJ1Y3Qg
bm9kZSAqZWFsKQotewotICAgIHN0cnVjdCBub2RlICpub2RlID0gbmV3ZWxlbWVudCgiSW50ZXJm
YWNlIik7Ci0gICAgaWYgKGVhbCkgYWRkbm9kZShub2RlLCBlYWwpOwotICAgIHNldGNvbW1lbnRu
b2RlKG5vZGUpOwotICAgIHRvayA9IGxleG5vY29tbWVudCgpOwotICAgIGFkZG5vZGUobm9kZSwg
bmV3YXR0cigibmFtZSIsIHNldGlkZW50aWZpZXIodG9rKSkpOwotICAgIHRvayA9IGxleG5vY29t
bWVudCgpOwotICAgIGlmICh0b2stPnR5cGUgPT0gJzonKSB7Ci0gICAgICAgIGxleG5vY29tbWVu
dCgpOwotICAgICAgICBhZGRub2RlKG5vZGUsIHBhcnNlc2NvcGVkbmFtZWxpc3QodG9rLCAiSW50
ZXJmYWNlSW5oZXJpdGFuY2UiLCAiTmFtZSIsIDEpKTsKLSAgICB9Ci0gICAgZWF0KHRvaywgJ3sn
KTsKLSAgICB3aGlsZSAodG9rLT50eXBlICE9ICd9JykgewotICAgICAgICBjb25zdCBjaGFyICpz
dGFydCA9IHRvay0+cHJlc3RhcnQ7Ci0gICAgICAgIHN0cnVjdCBub2RlICplYWwgPSBwYXJzZWV4
dGVuZGVkYXR0cmlidXRlbGlzdCh0b2spOwotICAgICAgICBzdHJ1Y3Qgbm9kZSAqbm9kZTI7Ci0g
ICAgICAgIGlmICh0b2stPnR5cGUgPT0gVE9LX2NvbnN0KQotICAgICAgICAgICAgYWRkbm9kZShu
b2RlLCBub2RlMiA9IHBhcnNlY29uc3QodG9rLCBlYWwpKTsKLSAgICAgICAgZWxzZQotICAgICAg
ICAgICAgYWRkbm9kZShub2RlLCBub2RlMiA9IHBhcnNlYXR0cmlidXRlb3JvcGVyYXRpb25vcml0
ZXJhdG9yKHRvaywgZWFsKSk7Ci0gICAgICAgIG5vZGUyLT53c3N0YXJ0ID0gc3RhcnQ7Ci0gICAg
ICAgIG5vZGUyLT5lbmQgPSB0b2stPnN0YXJ0ICsgdG9rLT5sZW47Ci0gICAgICAgIHNldGlkKG5v
ZGUyKTsKLSAgICAgICAgZWF0KHRvaywgJzsnKTsKLSAgICB9Ci0gICAgbGV4bm9jb21tZW50KCk7
Ci0gICAgcmV0dXJuIG5vZGU7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogcGFyc2VjYWxsYmFj
ayA6IHBhcnNlIENhbGxiYWNrCi0gKgotICogRW50ZXI6ICAgdG9rID0gbmV4dCB0b2tlbiwga25v
d24gdG8gYmUgVE9LX2RpY3Rpb25hcnkKLSAqICAgICAgICAgIGVhbCA9IDAgZWxzZSBleHRlbmRl
ZCBhdHRyaWJ1dGUgbGlzdCBub2RlCi0gKgotICogUmV0dXJuOiAgbmV3IG5vZGUgZm9yIHRoZSBl
bnVtCi0gKiAgICAgICAgICB0b2sgdXBkYXRlZCB0byB0aGUgdGVybWluYXRpbmcgJzsnCi0gKi8K
LXN0YXRpYyBzdHJ1Y3Qgbm9kZSAqCi1wYXJzZWNhbGxiYWNrKHN0cnVjdCB0b2sgKnRvaywgc3Ry
dWN0IG5vZGUgKmVhbCkKLXsKLSAgc3RydWN0IG5vZGUgKm5vZGU7Ci0gIGlmICh0b2stPnR5cGUg
PT0gVE9LX2ludGVyZmFjZSkgewotICAgIG5vZGUgPSBwYXJzZWludGVyZmFjZSh0b2ssIGVhbCk7
Ci0gICAgYWRkbm9kZShub2RlLCBuZXdhdHRyKCJjYWxsYmFjayIsICJjYWxsYmFjayIpKTsgICAg
Ci0gIH0gZWxzZSB7Ci0gICAgbm9kZSA9IG5ld2VsZW1lbnQoIkNhbGxiYWNrIik7Ci0gICAgaWYg
KGVhbCkgYWRkbm9kZShub2RlLCBlYWwpOwotICAgIHNldGNvbW1lbnRub2RlKG5vZGUpOwotICAg
IGFkZG5vZGUobm9kZSwgbmV3YXR0cigibmFtZSIsIHNldGlkZW50aWZpZXIodG9rKSkpOwotICAg
IHRvayA9IGxleG5vY29tbWVudCgpOwotICAgIGVhdCh0b2ssICc9Jyk7Ci0gICAgYWRkbm9kZShu
b2RlLCBwYXJzZXJldHVybnR5cGUodG9rKSk7Ci0gICAgZWF0KHRvaywgJygnKTsKLSAgICBhZGRu
b2RlKG5vZGUsIHBhcnNlYXJndW1lbnRsaXN0KHRvaykpOwotICAgIGVhdCh0b2ssICcpJyk7Ci0g
IH0KLSAgcmV0dXJuIG5vZGU7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogcGFyc2VkaWN0aW9u
YXJ5IDogcGFyc2UgRGljdGlvbmFyeQotICoKLSAqIEVudGVyOiAgIHRvayA9IG5leHQgdG9rZW4s
IGtub3duIHRvIGJlIFRPS19kaWN0aW9uYXJ5Ci0gKiAgICAgICAgICBlYWwgPSAwIGVsc2UgZXh0
ZW5kZWQgYXR0cmlidXRlIGxpc3Qgbm9kZQotICoKLSAqIFJldHVybjogIG5ldyBub2RlIGZvciB0
aGUgZGljdGlvbmFyeQotICogICAgICAgICAgdG9rIHVwZGF0ZWQgdG8gdGhlIHRlcm1pbmF0aW5n
ICc7JwotICovCi1zdGF0aWMgc3RydWN0IG5vZGUgKgotcGFyc2VkaWN0aW9uYXJ5KHN0cnVjdCB0
b2sgKnRvaywgc3RydWN0IG5vZGUgKmVhbCkKLXsKLSAgICBzdHJ1Y3Qgbm9kZSAqbm9kZSA9IG5l
d2VsZW1lbnQoIkRpY3Rpb25hcnkiKTsKLSAgICBpZiAoZWFsKSBhZGRub2RlKG5vZGUsIGVhbCk7
Ci0gICAgc2V0Y29tbWVudG5vZGUobm9kZSk7Ci0gICAgdG9rID0gbGV4bm9jb21tZW50KCk7Ci0g
ICAgYWRkbm9kZShub2RlLCBuZXdhdHRyKCJuYW1lIiwgc2V0aWRlbnRpZmllcih0b2spKSk7Ci0g
ICAgdG9rID0gbGV4bm9jb21tZW50KCk7Ci0gICAgaWYgKHRvay0+dHlwZSA9PSAnOicpIHsKLSAg
ICAgICAgbGV4bm9jb21tZW50KCk7Ci0gICAgICAgIGFkZG5vZGUobm9kZSwgcGFyc2VzY29wZWRu
YW1lbGlzdCh0b2ssICJEaWN0aW9uYXJ5SW5oZXJpdGFuY2UiLCAiTmFtZSIsIDEpKTsKLSAgICB9
Ci0gICAgZWF0KHRvaywgJ3snKTsKLSAgICB3aGlsZSAodG9rLT50eXBlICE9ICd9JykgewotICAg
ICAgICBjb25zdCBjaGFyICpzdGFydCA9IHRvay0+cHJlc3RhcnQ7Ci0gICAgICAgIHN0cnVjdCBu
b2RlICplYWwgPSBwYXJzZWV4dGVuZGVkYXR0cmlidXRlbGlzdCh0b2spOwotICAgICAgICBzdHJ1
Y3Qgbm9kZSAqbm9kZTI7Ci0gICAgICAgIGlmICh0b2stPnR5cGUgPT0gVE9LX2NvbnN0KQotICAg
ICAgICAgICAgYWRkbm9kZShub2RlLCBub2RlMiA9IHBhcnNlY29uc3QodG9rLCBlYWwpKTsKLSAg
ICAgICAgZWxzZQotICAgICAgICAgICAgYWRkbm9kZShub2RlLCBub2RlMiA9IHBhcnNlZGljdGlv
bmFyeW1lbWJlcih0b2ssIGVhbCkpOwotICAgICAgICBub2RlMi0+d3NzdGFydCA9IHN0YXJ0Owot
ICAgICAgICBub2RlMi0+ZW5kID0gdG9rLT5zdGFydCArIHRvay0+bGVuOwotICAgICAgICBzZXRp
ZChub2RlMik7Ci0gICAgICAgIGVhdCh0b2ssICc7Jyk7Ci0gICAgfQotICAgIGxleG5vY29tbWVu
dCgpOwotICAgIHJldHVybiBub2RlOwotfQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIHBhcnNlZW51
bSA6IHBhcnNlIEVudW0KLSAqCi0gKiBFbnRlcjogICB0b2sgPSBuZXh0IHRva2VuLCBrbm93biB0
byBiZSBUT0tfZGljdGlvbmFyeQotICogICAgICAgICAgZWFsID0gMCBlbHNlIGV4dGVuZGVkIGF0
dHJpYnV0ZSBsaXN0IG5vZGUKLSAqCi0gKiBSZXR1cm46ICBuZXcgbm9kZSBmb3IgdGhlIGVudW0K
LSAqICAgICAgICAgIHRvayB1cGRhdGVkIHRvIHRoZSB0ZXJtaW5hdGluZyAnOycKLSAqLwotc3Rh
dGljIHN0cnVjdCBub2RlICoKLXBhcnNlZW51bShzdHJ1Y3QgdG9rICp0b2ssIHN0cnVjdCBub2Rl
ICplYWwpCi17Ci0JY2hhciAqczsKLSAgICBzdHJ1Y3Qgbm9kZSAqbm9kZSA9IG5ld2VsZW1lbnQo
IkVudW0iKTsKLSAgICBpZiAoZWFsKSBhZGRub2RlKG5vZGUsIGVhbCk7Ci0gICAgc2V0Y29tbWVu
dG5vZGUobm9kZSk7Ci0gICAgdG9rID0gbGV4bm9jb21tZW50KCk7Ci0gICAgYWRkbm9kZShub2Rl
LCBuZXdhdHRyKCJuYW1lIiwgc2V0aWRlbnRpZmllcih0b2spKSk7Ci0gICAgdG9rID0gbGV4bm9j
b21tZW50KCk7Ci0gICAgZWF0KHRvaywgJ3snKTsKLSAgICB3aGlsZSAodG9rLT50eXBlICE9ICd9
JykgewotICAgICAgaWYgKHRvay0+dHlwZSA9PSBUT0tfU1RSSU5HKSB7Ci0JY29uc3QgY2hhciAq
c3RhcnQgPSB0b2stPnByZXN0YXJ0OwotCXN0cnVjdCBub2RlICpub2RlMiA9IG5ld2VsZW1lbnQo
IkVudW1WYWx1ZSIpOwotCXNldGNvbW1lbnRub2RlKG5vZGUyKTsKLQkKLQlzID0gbWVtYWxsb2Mo
dG9rLT5sZW4gKyAxKTsKLQltZW1jcHkocywgdG9rLT5zdGFydCwgdG9rLT5sZW4pOwotCXNbdG9r
LT5sZW5dID0gMDsKLQlhZGRub2RlKG5vZGUyLCBuZXdhdHRyKCJzdHJpbmd2YWx1ZSIsIHMpKTsK
LSAgICAgICAgbm9kZTItPndzc3RhcnQgPSBzdGFydDsKLSAgICAgICAgbm9kZTItPmVuZCA9IHRv
ay0+c3RhcnQgKyB0b2stPmxlbjsKLSAgICAgICAgc2V0aWQobm9kZTIpOwotCWFkZG5vZGUobm9k
ZSwgbm9kZTIpOwotICAgICAgfSBlbHNlIHsKLQl0b2tlcnJvcmV4aXQodG9rLCAiZXhwZWN0ZWQg
c3RyaW5nIGluIGVudW0iKTsKLSAgICAgIH0KLSAgICAgIGxleG5vY29tbWVudCgpOwotICAgICAg
aWYgKHRvay0+dHlwZSA9PSAnLCcpIHsKLQlsZXhub2NvbW1lbnQoKTsKLSAgICAgIH0KLSAgICB9
Ci0gICAgZWF0KHRvaywgJ30nKTsKLSAgICByZXR1cm4gbm9kZTsKLX0KLQotLyoqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqCi0gKiBwYXJzZWRlZmluaXRpb25zIDogcGFyc2UgWzFdIERlZmluaXRpb25zCi0gKgotICog
RW50ZXI6ICAgdG9rID0gbmV4dCB0b2tlbgotICogICAgICAgICAgcGFyZW50ID0gcGFyZW50IG5v
ZGUgdG8gYWRkIGRlZmluaXRpb25zIHRvCi0gKgotICogT24gcmV0dXJuLCB0b2sgaGFzIGJlZW4g
dXBkYXRlZC4KLSAqLwotc3RhdGljIHZvaWQKLXBhcnNlZGVmaW5pdGlvbnMoc3RydWN0IHRvayAq
dG9rLCBzdHJ1Y3Qgbm9kZSAqcGFyZW50KQotewotICAgIHBhcmVudC0+d3NzdGFydCA9IHRvay0+
cHJlc3RhcnQ7Ci0gICAgZm9yICg7OykgewotICAgICAgICBjb25zdCBjaGFyICp3c3N0YXJ0ID0g
dG9rLT5wcmVzdGFydDsKLSAgICAgICAgc3RydWN0IG5vZGUgKmVhbCA9IHBhcnNlZXh0ZW5kZWRh
dHRyaWJ1dGVsaXN0KHRvayk7Ci0gICAgICAgIHN0cnVjdCBub2RlICpub2RlOwotICAgICAgICBz
d2l0Y2ggKHRvay0+dHlwZSkgewotICAgICAgICBjYXNlIFRPS19wYXJ0aWFsOgotCSAgICBlYXQo
dG9rLCBUT0tfcGFydGlhbCk7Ci0JICAgIGlmICh0b2stPnR5cGUgPT0gVE9LX2RpY3Rpb25hcnkp
IHsKLQkgICAgICBub2RlID0gcGFyc2VkaWN0aW9uYXJ5KHRvaywgZWFsKTsKLQkgICAgfSBlbHNl
IHsKLQkgICAgICBub2RlID0gcGFyc2VpbnRlcmZhY2UodG9rLCBlYWwpOwotCSAgICB9Ci0JICAg
IGFkZG5vZGUobm9kZSwgbmV3YXR0cigicGFydGlhbCIsICJwYXJ0aWFsIikpOwotICAgICAgICAg
ICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgVE9LX2ludGVyZmFjZToKLSAgCSAgICBub2RlID0gcGFy
c2VpbnRlcmZhY2UodG9rLCBlYWwpOwotICAgICAgICAgICAgYnJlYWs7Ci0JY2FzZSBUT0tfY2Fs
bGJhY2s6Ci0JICAgIGVhdCh0b2ssIFRPS19jYWxsYmFjayk7Ci0JICAgIG5vZGUgPSBwYXJzZWNh
bGxiYWNrKHRvaywgZWFsKTsKLSAgICAgICAgICAgIGJyZWFrOwotCWNhc2UgVE9LX2RpY3Rpb25h
cnk6Ci0gICAgICAgICAgICBub2RlID0gcGFyc2VkaWN0aW9uYXJ5KHRvaywgZWFsKTsKLSAgICAg
ICAgICAgIGJyZWFrOwkgIAotCWNhc2UgVE9LX2VudW06Ci0gICAgICAgICAgICBub2RlID0gcGFy
c2VlbnVtKHRvaywgZWFsKTsKLSAgICAgICAgICAgIGJyZWFrOwkgIAotICAgICAgICBjYXNlIFRP
S19leGNlcHRpb246Ci0gICAgICAgICAgICBub2RlID0gcGFyc2VleGNlcHRpb24odG9rLCBlYWwp
OwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgVE9LX3R5cGVkZWY6Ci0gICAgICAg
ICAgICBub2RlID0gcGFyc2V0eXBlZGVmKHRvaywgZWFsKTsKLSAgICAgICAgICAgIGJyZWFrOwot
ICAgICAgICBjYXNlIFRPS19JREVOVElGSUVSOgotICAgICAgICAgICAgbm9kZSA9IHBhcnNlaW1w
bGVtZW50c3N0YXRlbWVudCh0b2ssIGVhbCk7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAg
ZGVmYXVsdDoKLSAgICAgICAgICAgIGlmIChlYWwpCi0gICAgICAgICAgICAgICAgdG9rZXJyb3Jl
eGl0KHRvaywgImV4cGVjdGVkIGRlZmluaXRpb24gYWZ0ZXIgZXh0ZW5kZWQgYXR0cmlidXRlIGxp
c3QiKTsKLSAgICAgICAgICAgIG5vZGUgPSAwOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAg
IH0KLSAgICAgICAgaWYgKCFub2RlKQotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIG5vZGUt
Pndzc3RhcnQgPSB3c3N0YXJ0OwotICAgICAgICBub2RlLT5lbmQgPSB0b2stPnN0YXJ0ICsgdG9r
LT5sZW47Ci0gICAgICAgIGVhdCh0b2ssICc7Jyk7Ci0gICAgICAgIGFkZG5vZGUocGFyZW50LCBu
b2RlKTsKLSAgICAgICAgc2V0aWQobm9kZSk7Ci0gICAgICAgIHBhcmVudC0+ZW5kID0gbm9kZS0+
ZW5kOwotICAgIH0KLX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBwYXJzZQotICoKLSAqIFJldHVy
bjogIHJvb3QgZWxlbWVudCBjb250YWluaW5nIChwb3NzaWJseSBlbXB0eSkgbGlzdCBvZiBkZWZp
bml0aW9ucwotICovCi1zdHJ1Y3Qgbm9kZSAqCi1wYXJzZSh2b2lkKQotewotCXN0cnVjdCB0b2sg
KnRvazsgCi0gICAgc3RydWN0IG5vZGUgKnJvb3QgPSBuZXdlbGVtZW50KCJEZWZpbml0aW9ucyIp
OwotICAgIHNldGNvbW1lbnRub2RlKHJvb3QpOwotICAgIHRvayA9IGxleG5vY29tbWVudCgpOwot
ICAgIHBhcnNlZGVmaW5pdGlvbnModG9rLCByb290KTsKLSAgICBpZiAodG9rLT50eXBlICE9IFRP
S19FT0YpCi0gICAgICAgIHRva2Vycm9yZXhpdCh0b2ssICJleHBlY3RlZCBlbmQgb2YgaW5wdXQi
KTsKLSAgICByZXZlcnNlY2hpbGRyZW4ocm9vdCk7Ci0gICAgcmV0dXJuIHJvb3Q7Ci19Ci0KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9zcmMvcGFyc2UuaCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRs
cHJvYy9zcmMvcGFyc2UuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYWQ5MDcxYjQ1
M2UuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9zcmMvcGFyc2UuaAorKysg
L2Rldi9udWxsCkBAIC0xLDE5ICswLDAgQEAKLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogJElkJAotICog
Q29weXJpZ2h0IDIwMDkgQXBsaXggQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0g
KiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxp
Y2Vuc2UiKTsKLSAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFu
Y2Ugd2l0aCB0aGUgTGljZW5zZS4KLSAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGlj
ZW5zZSBhdAotICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIu
MAotICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3
cml0aW5nLCBzb2Z0d2FyZQotICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlz
dHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKLSAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBD
T05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgotICogU2Vl
IHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Np
b25zIGFuZAotICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCi0gKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KiovCi0jaWZuZGVmIHBhcnNlX2gKLSNkZWZpbmUgcGFyc2VfaAotCi1zdHJ1Y3Qgbm9kZSAqcGFy
c2Uodm9pZCk7Ci0KLSNlbmRpZiAvKiBuZGVmIHBhcnNlX2ggKi8KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC93aWRscHJvYy9zcmMvcHJvY2Vzcy5jIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3NyYy9wcm9j
ZXNzLmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQ2YTM0M2I4YWEwLi4wMDAwMDAw
MDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mvc3JjL3Byb2Nlc3MuYworKysgL2Rldi9udWxs
CkBAIC0xLDMxOSArMCwwIEBACi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqICRJZCQKLSAqIENvcHlyaWdo
dCAyMDA5IEFwbGl4IENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICogTGljZW5z
ZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7
Ci0gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGgg
dGhlIExpY2Vuc2UuCi0gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQK
LSAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKLSAqIFVu
bGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywg
c29mdHdhcmUKLSAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVk
IG9uIGFuICJBUyBJUyIgQkFTSVMsCi0gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9O
UyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KLSAqIFNlZSB0aGUgTGlj
ZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQK
LSAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgotICoqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwotI2lu
Y2x1ZGUgPGFzc2VydC5oPgotI2luY2x1ZGUgPHN0ZGlvLmg+Ci0jaW5jbHVkZSA8c3RyaW5nLmg+
Ci0jaW5jbHVkZSAiY29tbWVudC5oIgotI2luY2x1ZGUgImxleC5oIgotI2luY2x1ZGUgIm1pc2Mu
aCIKLSNpbmNsdWRlICJub2RlLmgiCi0jaW5jbHVkZSAib3MuaCIKLSNpbmNsdWRlICJwYXJzZS5o
IgotI2luY2x1ZGUgInByb2Nlc3MuaCIKLQotI2lmIDAKLXN0YXRpYyBjb25zdCBjaGFyIG50bmFt
ZXNbXSA9IHsgTlROQU1FUyB9OwotI2VuZGlmIC8qMCovCi0KLS8qKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICog
cHJpbnR0ZXh0IDogcHJpbnQgdGV4dCB3aXRoIHhtbCBlbnRpdHkgZXNjYXBlcwotICoKLSAqIEVu
dGVyOiAgIHMgPSB0ZXh0Ci0gKiAgICAgICAgICBsZW4gPSBudW1iZXIgb2YgYnl0ZXMKLSAqICAg
ICAgICAgIGVzY2FtcCA9IHdoZXRoZXIgdG8gZXNjYXBlICYKLSAqCi0gKiBUaGlzIGFsc28gZXNj
YXBlcyBkb3VibGUgcXVvdGUgbWFyayBzbyBpdCBjYW4gYmUgdXNlZCBmb3IgYW4KLSAqIGF0dHJp
YnV0ZSB2YWx1ZS4gSXQgYWxzbyB0dXJucyBhIHRhYiBpbnRvIHNwYWNlcy4KLSAqLwotdm9pZAot
cHJpbnR0ZXh0KGNvbnN0IGNoYXIgKnMsIHVuc2lnbmVkIGludCBsZW4sIGludCBlc2NhbXApCi17
Ci0gICAgY29uc3QgY2hhciAqcCA9IHMsICplbmQgPSBzICsgbGVuOwotICAgIHVuc2lnbmVkIGlu
dCBjb3VudCA9IDA7Ci0gICAgd2hpbGUgKHAgIT0gZW5kKSB7Ci0gICAgICAgIGludCBjaCA9ICpw
OwotICAgICAgICBjaGFyIGJ1Zls5XTsKLSAgICAgICAgY29uc3QgY2hhciAqc2VxID0gMDsKLSAg
ICAgICAgY291bnQrKzsKLSAgICAgICAgc3dpdGNoIChjaCkgewotICAgICAgICBjYXNlICc8JzoK
LSAgICAgICAgICAgIHNlcSA9ICImbHQ7IjsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBj
YXNlICcmJzoKLSAgICAgICAgICAgIHNlcSA9IGVzY2FtcCA/ICImYW1wOyIgOiAiJiI7Ci0gICAg
ICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSAnIic6Ci0gICAgICAgICAgICBzZXEgPSAiJnF1
b3Q7IjsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlICdcbic6Ci0gICAgICAgICAg
ICBwKys7Ci0gICAgICAgICAgICBjb3VudCA9IDA7Ci0gICAgICAgICAgICBjb250aW51ZTsKLSAg
ICAgICAgY2FzZSAnXHQnOgotICAgICAgICAgICAgc2VxID0gIiAgICAgICAgIiArICgoY291bnQg
LSAxKSAmIDcpOwotICAgICAgICAgICAgY291bnQgPSAwOwotICAgICAgICAgICAgYnJlYWs7Ci0g
ICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICBpZiAoKHVuc2lnbmVkIGNoYXIpY2ggPj0gMHgy
MCkgewotICAgICAgICAgICAgICAgIHArKzsKLSAgICAgICAgICAgICAgICBjb250aW51ZTsKLSAg
ICAgICAgICAgIH0KLSAgICAgICAgICAgIHNucHJpbnRmKGJ1ZiwgOSwgIiYjJWk7IiwgY2gpOwot
ICAgICAgICAgICAgc2VxID0gYnVmOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLSAg
ICAgICAgaWYgKHAgLSBzICE9IGZ3cml0ZShzLCAxLCBwIC0gcywgc3Rkb3V0KSkKLSAgICAgICAg
ICAgIGVycm9yZXhpdCgid3JpdGUgZXJyb3IiKTsKLSAgICAgICAgZnB1dHMoc2VxLCBzdGRvdXQp
OwotICAgICAgICBzID0gKytwOwotICAgIH0KLSAgICBpZiAocCAtIHMgIT0gZndyaXRlKHMsIDEs
IHAgLSBzLCBzdGRvdXQpKQotICAgICAgICBlcnJvcmV4aXQoIndyaXRlIGVycm9yIik7Ci19Ci0K
LSNpZiAwCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioKLSAqIG91dHB1dG5vZGVhc3RleHQgOiBvdXRwdXQgcGFy
c2Ugbm9kZSBhbmQgZGVzY2VuZGFudHMgYXMgZGVwYXJzZWQgdGV4dAotICoKLSAqIEVudGVyOiAg
IG5vZGUgPSBwYXJzZSBub2RlCi0gKiAgICAgICAgICBuZWVkc3BhY2UgPSB0cnVlIGlmIGxhc3Qg
b3V0cHV0IGNoYXIgd2FzIGFuIGlkZW50aWZpZXIgY2hhcgotICoKLSAqIFJldHVybjogIHVwZGF0
ZWQgbmVlZHNwYWNlIHZhbHVlCi0gKi8KLXN0YXRpYyBpbnQKLW91dHB1dG5vZGVhc3RleHQoc3Ry
dWN0IG5vZGUgKm5vZGUsIGludCBuZWVkc3BhY2UpCi17Ci0gICAgaWYgKG5vZGUtPnR5cGUgPj0g
TlRfU1RBUlQpIHsKLSAgICAgICAgc3RydWN0IG5vZGUgKmNoaWxkID0gbm9kZS0+Y2hpbGRyZW47
Ci0gICAgICAgIHdoaWxlIChjaGlsZCkgewotICAgICAgICAgICAgbmVlZHNwYWNlID0gb3V0cHV0
bm9kZWFzdGV4dChjaGlsZCwgbmVlZHNwYWNlKTsKLSAgICAgICAgICAgIGNoaWxkID0gY2hpbGQt
Pm5leHQ7Ci0gICAgICAgIH0KLSAgICB9IGVsc2UgewotICAgICAgICB1bnNpZ25lZCBpbnQgbGVu
ID0gc3RybGVuKG5vZGUtPm5hbWUpOwotICAgICAgICBpZiAobGVuKSB7Ci0gICAgICAgICAgICBp
bnQgY2ggPSBub2RlLT5uYW1lWzBdOwotICAgICAgICAgICAgaWYgKGNoID09ICdfJyB8fCAoKHVu
c2lnbmVkKShjaCAtICcwJykgPCAxMAotICAgICAgICAgICAgICAgICAgICB8fCAodW5zaWduZWQp
KChjaCAmIH4weDIwKSAtICdBJykgPCAyNikpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAg
ICAgaWYgKG5lZWRzcGFjZSkgcHV0Y2hhcignICcpOwotICAgICAgICAgICAgfQotICAgICAgICAg
ICAgY2ggPSBub2RlLT5uYW1lW2xlbiAtIDFdOwotICAgICAgICAgICAgaWYgKGNoID09ICdfJyB8
fCAoKHVuc2lnbmVkKShjaCAtICcwJykgPCAxMAotICAgICAgICAgICAgICAgICAgICB8fCAodW5z
aWduZWQpKChjaCAmIH4weDIwKSAtICdBJykgPCAyNikpCi0gICAgICAgICAgICB7Ci0gICAgICAg
ICAgICAgICAgbmVlZHNwYWNlID0gMTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIHByaW50
dGV4dChub2RlLT5uYW1lLCBsZW4sIDEpOwotICAgICAgICB9Ci0gICAgfQotICAgIHJldHVybiBu
ZWVkc3BhY2U7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogcHJpbnRmcWlkIDogcHJpbnQgZnVs
bHktcXVhbGlmaWVkIGlkCi0gKgotICogRW50ZXI6ICAgbm9kZSBzdHJ1Y3QKLSAqCi0gKiBSZXR1
cm46ICB3aGV0aGVyIGFueXRoaW5nIHByaW50ZWQKLSAqLwotc3RhdGljIGludAotcHJpbnRmcWlk
KHN0cnVjdCBub2RlICpub2RlKQotewotICAgIGludCBhbnkgPSAwOwotICAgIHN0cnVjdCBub2Rl
ICppZGVudGlmaWVyOwotICAgIGlmIChub2RlLT5wYXJlbnQpIHsKLSAgICAgICAgYW55ID0gcHJp
bnRmcWlkKG5vZGUtPnBhcmVudCk7Ci0gICAgfQotICAgIHN3aXRjaCAobm9kZS0+dHlwZSkgewot
ICAgIGNhc2UgTlRfTW9kdWxlOgotICAgIGNhc2UgTlRfSW50ZXJmYWNlOgotICAgIGNhc2UgTlRf
VHlwZWRlZjoKLSAgICBjYXNlIE5UX09wZXJhdGlvbjoKLSAgICBjYXNlIE5UX0F0dHJpYnV0ZToK
LSAgICBjYXNlIE5UX0NvbnN0OgotICAgICAgICBpZiAoYW55KQotICAgICAgICAgICAgcHJpbnRm
KCI6Iik7Ci0gICAgICAgIC8qIEZpbmQgaWRlbnRpZmllciBjaGlsZCBpZiBhbnkuICovCi0gICAg
ICAgIGlkZW50aWZpZXIgPSBub2RlLT5jaGlsZHJlbjsKLSAgICAgICAgd2hpbGUgKGlkZW50aWZp
ZXIpIHsKLSAgICAgICAgICAgIGlmIChpZGVudGlmaWVyLT50eXBlID09IFRPS19JREVOVElGSUVS
KQotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgaWYgKGlkZW50aWZpZXItPnR5
cGUgPT0gTlRfVHlwZWRlZlJlc3QpIHsKLSAgICAgICAgICAgICAgICBpZGVudGlmaWVyID0gaWRl
bnRpZmllci0+Y2hpbGRyZW47Ci0gICAgICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAg
ICB9Ci0gICAgICAgICAgICBpZGVudGlmaWVyID0gaWRlbnRpZmllci0+bmV4dDsKLSAgICAgICAg
fQotICAgICAgICBpZiAoaWRlbnRpZmllcikgewotICAgICAgICAgICAgcHJpbnR0ZXh0KGlkZW50
aWZpZXItPm5hbWUsIHN0cmxlbihpZGVudGlmaWVyLT5uYW1lKSwgMSk7Ci0gICAgICAgICAgICBh
bnkgPSAxOwotICAgICAgICB9Ci0gICAgICAgIGJyZWFrOwotICAgIH0KLSAgICByZXR1cm4gYW55
OwotfQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioKLSAqIG91dHB1dCA6IG91dHB1dCBzdWJ0cmVlIG9mIHBh
cnNlIHRyZWUKLSAqCi0gKiBFbnRlcjogICBub2RlID0gcm9vdCBvZiBzdWJ0cmVlCi0gKiAgICAg
ICAgICBleHRlbmRlZGF0dHJpYnV0ZWxpc3QgPSAwIGVsc2UgZXh0ZW5kZWQgYXR0cmlidXRlIGxp
c3Qgbm9kZQotICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXBwbHlpbmcgdG8g
bm9kZQotICogICAgICAgICAgaW5kZW50ID0gaW5kZW50IChuZXN0aW5nKSBsZXZlbAotICovCi1z
dGF0aWMgdm9pZCBvdXRwdXRjaGlsZHJlbihzdHJ1Y3Qgbm9kZSAqbm9kZSwgc3RydWN0IG5vZGUg
KmlkZW50aWZpZXIsIHVuc2lnbmVkIGludCBpbmRlbnQpOwotCi1zdGF0aWMgdm9pZAotb3V0cHV0
KHN0cnVjdCBub2RlICpub2RlLCBzdHJ1Y3Qgbm9kZSAqZXh0ZW5kZWRhdHRyaWJ1dGVsaXN0LAot
ICAgICAgIHVuc2lnbmVkIGludCBpbmRlbnQpCi17Ci0gICAgaWYgKGV4dGVuZGVkYXR0cmlidXRl
bGlzdCkgewotICAgICAgICBub2RlLT53c3N0YXJ0ID0gZXh0ZW5kZWRhdHRyaWJ1dGVsaXN0LT53
c3N0YXJ0OwotICAgICAgICBub2RlLT5zdGFydCA9IGV4dGVuZGVkYXR0cmlidXRlbGlzdC0+c3Rh
cnQ7Ci0gICAgfQotICAgIGlmIChub2RlLT50eXBlID09IE5UX0V4dGVuZGVkQXR0cmlidXRlKSB7
Ci0gICAgICAgIHByaW50ZigiJSpzPEV4dGVuZGVkQXR0cmlidXRlIHZhbHVlPVwiIiwgaW5kZW50
LCAiIik7Ci0gICAgICAgIG91dHB1dG5vZGVhc3RleHQobm9kZSwgMCk7Ci0gICAgICAgIHByaW50
ZigiXCIvPlxuIik7Ci0gICAgfSBlbHNlIGlmIChub2RlLT50eXBlID09IE5UX0Jvb2xlYW5MaXRl
cmFsKSB7Ci0gICAgICAgIHByaW50ZigiJSpzPEJvb2xlYW5MaXRlcmFsIHZhbHVlPVwiJXNcIi8+
IiwgaW5kZW50LCAiIiwKLSAgICAgICAgICAgIG5vZGUtPmNoaWxkcmVuLT5uYW1lKTsKLSAgICB9
IGVsc2UgaWYgKG5vZGUtPnR5cGUgPT0gTlRfUmVhZE9ubHkpIHsKLSAgICAgICAgcHJpbnRmKCIl
KnM8UmVhZE9ubHkvPlxuIiwgaW5kZW50LCAiIik7Ci0gICAgfSBlbHNlIGlmIChub2RlLT50eXBl
ID49IE5UX1NUQVJUKSB7Ci0gICAgICAgIGNvbnN0IGNoYXIgKm50bmFtZTsKLSAgICAgICAgLyog
RmluZCBpZGVudGlmaWVyIGNoaWxkIGlmIGFueS4gKi8KLSAgICAgICAgc3RydWN0IG5vZGUgKmlk
ZW50aWZpZXIgPSBub2RlLT5jaGlsZHJlbjsKLSAgICAgICAgd2hpbGUgKGlkZW50aWZpZXIpIHsK
LSAgICAgICAgICAgIGlmIChpZGVudGlmaWVyLT50eXBlID09IFRPS19JREVOVElGSUVSKQotICAg
ICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgaWRlbnRpZmllciA9IGlkZW50aWZpZXIt
Pm5leHQ7Ci0gICAgICAgIH0KLSAgICAgICAgLyogRmluZCBub250ZXJtaW5hbCBuYW1lLiAqLwot
ICAgICAgICBudG5hbWUgPSBudG5hbWVzICsgMjsKLSAgICAgICAgd2hpbGUgKG5vZGUtPnR5cGUg
LSBOVF9TVEFSVCAhPSAoKHVuc2lnbmVkIGNoYXIpbnRuYW1lWy0yXSB8ICh1bnNpZ25lZCBjaGFy
KW50bmFtZVstMV0gPDwgOCkpCi0gICAgICAgICAgICBudG5hbWUgKz0gc3RybGVuKG50bmFtZSkg
KyAzOwotICAgICAgICAvKiBPdXRwdXQgc3RhcnQgb2YgZWxlbWVudC4gKi8KLSAgICAgICAgcHJp
bnRmKCIlKnM8JXMiLCBpbmRlbnQsICIiLCBudG5hbWUpOwotICAgICAgICAvKiBPdXRwdXQgaWRl
bnRpZmllciBpZiBhbnkgYXMgYXR0cmlidXRlLiAqLwotICAgICAgICBpZiAoaWRlbnRpZmllcikg
ewotICAgICAgICAgICAgcHJpbnRmKCIgaWRlbnRpZmllcj1cIiIpOwotICAgICAgICAgICAgcHJp
bnR0ZXh0KGlkZW50aWZpZXItPm5hbWUsIHN0cmxlbihpZGVudGlmaWVyLT5uYW1lKSwgMSk7Ci0g
ICAgICAgICAgICBwcmludGYoIlwiIik7Ci0gICAgICAgIH0KLSAgICAgICAgc3dpdGNoIChub2Rl
LT50eXBlKSB7Ci0gICAgICAgIGNhc2UgTlRfTW9kdWxlOgotICAgICAgICBjYXNlIE5UX0ludGVy
ZmFjZToKLSAgICAgICAgY2FzZSBOVF9UeXBlZGVmOgotICAgICAgICBjYXNlIE5UX0NvbnN0Ogot
ICAgICAgICAgICAgLyogT3V0cHV0IGZ1bGx5IHF1YWxpZmllZCBpZC4gKi8KLSAgICAgICAgICAg
IHByaW50ZigiIGZxaWQ9XCIiKTsKLSAgICAgICAgICAgIHByaW50ZnFpZChub2RlKTsKLSAgICAg
ICAgICAgIHByaW50ZigiXCIiKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0gICAg
ICAgIGlmICghaWRlbnRpZmllciAmJiAhZXh0ZW5kZWRhdHRyaWJ1dGVsaXN0ICYmICFub2RlLT5j
aGlsZHJlbiAmJiAhbm9kZS0+Y29tbWVudHMpCi0gICAgICAgICAgICBwcmludGYoIi8+XG4iKTsK
LSAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICBwcmludGYoIj5cbiIpOwotICAgICAgICAgICAg
LyogT3V0cHV0IGRlc2NyaXB0aXZlIGVsZW1lbnRzIChkb3h5Z2VuIGNvbW1lbnRzKSBmb3Igbm9k
ZS4gKi8KLSAgICAgICAgICAgIG91dHB1dGRlc2NyaXB0aXZlKG5vZGUsIGluZGVudCArIDIpOwot
ICAgICAgICAgICAgLyogT3V0cHV0IGRlc2NyaXB0aXZlIGVsZW1lbnRzIChkb3h5Z2VuIGNvbW1l
bnRzKSBmb3IgaWRlbnRpZmllci4gKi8KLSAgICAgICAgICAgIGlmIChpZGVudGlmaWVyKQotICAg
ICAgICAgICAgICAgIG91dHB1dGRlc2NyaXB0aXZlKGlkZW50aWZpZXIsIGluZGVudCArIDIpOwot
ICAgICAgICAgICAgLyogT3V0cHV0IGV4dGVuZGVkIGF0dHJpYnV0ZSBsaXN0LiAqLwotICAgICAg
ICAgICAgaWYgKGV4dGVuZGVkYXR0cmlidXRlbGlzdCkKLSAgICAgICAgICAgICAgICBvdXRwdXQo
ZXh0ZW5kZWRhdHRyaWJ1dGVsaXN0LCAwLCBpbmRlbnQgKyAyKTsKLSAgICAgICAgICAgIC8qIE91
dHB1dCBjaGlsZHJlbiAoZXhjbHVkaW5nIGlkZW50aWZpZXIgY2hpbGQpLiAqLwotICAgICAgICAg
ICAgb3V0cHV0Y2hpbGRyZW4obm9kZSwgaWRlbnRpZmllciwgaW5kZW50ICsgMik7Ci0gICAgICAg
ICAgICBwcmludGYoIiUqczwvJXM+XG4iLCBpbmRlbnQsICIiLCBudG5hbWUpOwotICAgICAgICB9
Ci0gICAgfSBlbHNlIHN3aXRjaCAobm9kZS0+dHlwZSkgewotICAgIGNhc2UgVE9LX0RPTVN0cmlu
ZzoKLSAgICBjYXNlIFRPS19hbnk6Ci0gICAgY2FzZSBUT0tfYm9vbGVhbjoKLSAgICBjYXNlIFRP
S19vY3RldDoKLSAgICBjYXNlIFRPS19mbG9hdDoKLSAgICBjYXNlIFRPS19kb3VibGU6Ci0gICAg
Y2FzZSBUT0tfT2JqZWN0OgotICAgIGNhc2UgVE9LX3Vuc2lnbmVkOgotICAgIGNhc2UgVE9LX3No
b3J0OgotICAgIGNhc2UgVE9LX2xvbmc6Ci0gICAgY2FzZSBUT0tfdm9pZDoKLSAgICAgICAgcHJp
bnRmKCIlKnM8JXMvPlxuIiwgaW5kZW50LCAiIiwgbm9kZS0+bmFtZSk7Ci0gICAgICAgIGJyZWFr
OwotICAgIGNhc2UgVE9LX0lOVEVHRVI6Ci0gICAgICAgIHByaW50ZigiJSpzPGludGVnZXIgdmFs
dWU9XCIiLCBpbmRlbnQsICIiKTsKLSAgICAgICAgcHJpbnR0ZXh0KG5vZGUtPm5hbWUsIHN0cmxl
bihub2RlLT5uYW1lKSwgMSk7Ci0gICAgICAgIHByaW50ZigiXCIvPlxuIik7Ci0gICAgICAgIGJy
ZWFrOwotICAgIGNhc2UgVE9LX0ZMT0FUOgotICAgICAgICBwcmludGYoIiUqczxGbG9hdCB2YWx1
ZT1cIiIsIGluZGVudCwgIiIpOwotICAgICAgICBwcmludHRleHQobm9kZS0+bmFtZSwgc3RybGVu
KG5vZGUtPm5hbWUpLCAxKTsKLSAgICAgICAgcHJpbnRmKCJcIi8+XG4iKTsKLSAgICAgICAgYnJl
YWs7Ci0gICAgY2FzZSBUT0tfU1RSSU5HOgotICAgICAgICBwcmludGYoIiUqczxzdHJpbmcgdmFs
dWU9XCIiLCBpbmRlbnQsICIiKTsKLSAgICAgICAgcHJpbnR0ZXh0KG5vZGUtPm5hbWUsIHN0cmxl
bihub2RlLT5uYW1lKSwgMSk7Ci0gICAgICAgIHByaW50ZigiXCIvPlxuIik7Ci0gICAgICAgIGJy
ZWFrOwotICAgIH0KLX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBvdXRwdXRjaGlsZHJlbiA6IGNh
bGwgb3V0cHV0IGZvciBlYWNoIGNoaWxkIG9mIG5vZGUKLSAqCi0gKiBFbnRlcjogICBub2RlCi0g
KiAgICAgICAgICBpZGVudGlmaWVyID0gY2hpbGQgbm9kZSB0byBvbWl0IGZyb20gb3V0cHV0Ci0g
KiAgICAgICAgICBpbmRlbnQgPSBpbmRlbnQgKG5lc3RpbmcpIGxldmVsCi0gKi8KLXN0YXRpYyB2
b2lkCi1vdXRwdXRjaGlsZHJlbihzdHJ1Y3Qgbm9kZSAqbm9kZSwgc3RydWN0IG5vZGUgKmlkZW50
aWZpZXIsIHVuc2lnbmVkIGludCBpbmRlbnQpCi17Ci0gICAgc3RydWN0IG5vZGUgKmV4dGVuZGVk
YXR0cmlidXRlbGlzdDsKLSAgICBzdHJ1Y3Qgbm9kZSAqY2hpbGQ7Ci0gICAgY2hpbGQgPSBub2Rl
LT5jaGlsZHJlbjsKLSAgICBleHRlbmRlZGF0dHJpYnV0ZWxpc3QgPSAwOwotICAgIHdoaWxlIChj
aGlsZCkgewotICAgICAgICBpZiAoY2hpbGQtPnR5cGUgPT0gTlRfRXh0ZW5kZWRBdHRyaWJ1dGVM
aXN0ICYmIG5vZGUtPnR5cGUgIT0gTlRfQXJndW1lbnQpCi0gICAgICAgICAgICBleHRlbmRlZGF0
dHJpYnV0ZWxpc3QgPSBjaGlsZDsKLSAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICBpZiAoaWRl
bnRpZmllciAhPSBjaGlsZCkKLSAgICAgICAgICAgICAgICBvdXRwdXQoY2hpbGQsIGV4dGVuZGVk
YXR0cmlidXRlbGlzdCwgaW5kZW50KTsKLSAgICAgICAgICAgIGV4dGVuZGVkYXR0cmlidXRlbGlz
dCA9IDA7Ci0gICAgICAgIH0KLSAgICAgICAgY2hpbGQgPSBjaGlsZC0+bmV4dDsKLSAgICB9Ci19
Ci0jZW5kaWYgLyowKi8KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBwcm9jZXNzZmlsZXMgOiBwcm9j
ZXNzIGlucHV0IGZpbGVzCi0gKgotICogRW50ZXI6ICAgbmFtZSA9IGZpbGVuYW1lCi0gKi8KLXZv
aWQKLXByb2Nlc3NmaWxlcyhjb25zdCBjaGFyICpjb25zdCAqbmFtZXMsIGludCBkdGRyZWYpCi17
Ci0gICAgc3RydWN0IG5vZGUgKnJvb3Q7Ci0gICAgcmVhZGlucHV0KG5hbWVzKTsKLSAgICByb290
ID0gcGFyc2UoKTsKLSAgICBwcm9jZXNzY29tbWVudHMocm9vdCk7Ci0gICAgcHJpbnRmKCI8P3ht
bCB2ZXJzaW9uPVwiMS4wXCIgZW5jb2Rpbmc9XCJVVEYtOFwiPz5cbiIpOwotICAgIGlmKGR0ZHJl
ZikKLSAgICAgICAgcHJpbnRmKCI8IURPQ1RZUEUgRGVmaW5pdGlvbnMgU1lTVEVNIFwid2lkbHBy
b2N4bWwuZHRkXCI+XG4iKTsKLSAgICBvdXRwdXRub2RlKHJvb3QsIDApOwotfQotCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mvc3JjL3Byb2Nlc3MuaCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJv
Yy9zcmMvcHJvY2Vzcy5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiYjkyYjIyY2Ux
My4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3NyYy9wcm9jZXNzLmgKKysr
IC9kZXYvbnVsbApAQCAtMSwyNyArMCwwIEBACi0vKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqICRJZCQKLSAq
IENvcHlyaWdodCAyMDA5IEFwbGl4IENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgot
ICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJM
aWNlbnNlIik7Ci0gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlh
bmNlIHdpdGggdGhlIExpY2Vuc2UuCi0gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExp
Y2Vuc2UgYXQKLSAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0y
LjAKLSAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4g
d3JpdGluZywgc29mdHdhcmUKLSAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRp
c3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCi0gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1Ig
Q09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KLSAqIFNl
ZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNz
aW9ucyBhbmQKLSAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgotICoqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqLwotI2lmbmRlZiBwcm9jZXNzX2gKLSNkZWZpbmUgcHJvY2Vzc19oCi0KLSNpZiAwCi0jZGVm
aW5lIE5UX1NUQVJUIDB4MTAwCi0jaW5jbHVkZSAibm9udGVybWluYWxzLmgiCi0jZW5kaWYvKjAq
LwotCi12b2lkIHByaW50dGV4dChjb25zdCBjaGFyICpzLCB1bnNpZ25lZCBpbnQgbGVuLCBpbnQg
ZXNjYW1wKTsKLQotdm9pZCBwcm9jZXNzZmlsZXMoY29uc3QgY2hhciAqY29uc3QgKm5hbWVzLCBp
bnQgZHRkcmVmKTsKLQotI2VuZGlmIC8qIG5kZWYgcHJvY2Vzc19oICovCi0KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC93aWRscHJvYy9zcmMvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHBy
b2Mvc3JjL3czYy1pbXBvcnQubG9nCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiNGVl
ZWVmOGZjMi4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3NyYy93M2MtaW1w
b3J0LmxvZworKysgL2Rldi9udWxsCkBAIC0xLDMzICswLDAgQEAKLVRoZSB0ZXN0cyBpbiB0aGlz
IGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgotRG8gTk9U
IG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUg
YSBwdWxsIHJlcXVlc3Qgb24gdGhlIFczQyBDU1Mgb3IgV1BUIGdpdGh1YjoKLQlodHRwczovL2dp
dGh1Yi5jb20vdzNjL2Nzc3dnLXRlc3QKLQlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cwotCi1UaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3Rz
IGluIFdlYktpdCB0byByZWltcG9ydAotCi1EbyBOT1QgbW9kaWZ5IG9yIHJlbW92ZSB0aGlzIGZp
bGUuCi0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotUHJvcGVydGllcyByZXF1aXJpbmcgdmVuZG9yIHByZWZp
eGVzOgotTm9uZQotUHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6Ci1O
b25lCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0KLUxpc3Qgb2YgZmlsZXM6Ci0vTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9j
L3NyYy9jb21tZW50LmMKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mvc3JjL2NvbW1lbnQuaAotL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC93aWRscHJvYy9zcmMvZW50aXRpZXMuaAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9zcmMvbGV4
LmMKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mvc3JjL2xleC5oCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Ny
Yy9tYWluLmMKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mvc3JjL21pc2MuYwotL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRs
cHJvYy9zcmMvbWlzYy5oCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3NyYy9ub2RlLmMKLS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvd2lkbHByb2Mvc3JjL25vZGUuaAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9zcmMvb3MuaAotL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC93aWRscHJvYy9zcmMvcGFyc2UuYwotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9zcmMvcGFy
c2UuaAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9zcmMvcHJvY2Vzcy5jCi0vTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxw
cm9jL3NyYy9wcm9jZXNzLmgKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mvc3JjL3dpZGxwcm9jeG1sdG9o
dG1sLnhzbApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3NyYy93aWRscHJvY3htbHRv
aHRtbC54c2wgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mvc3JjL3dpZGxwcm9jeG1sdG9odG1sLnhzbApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMmI1ODMzNzFlN2QuLjAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC93aWRscHJvYy9zcmMvd2lkbHByb2N4bWx0b2h0bWwueHNsCisrKyAvZGV2
L251bGwKQEAgLTEsODI4ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0
Zi04Ij8+Ci08IS0tPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLSRJZDogd2lkbHByb2N4bWx0b2h0bWwueHNsIDQwNyAy
MDA5LTEwLTI2IDEzOjQ4OjQ4WiB0cHIgJAotQ29weXJpZ2h0IDIwMDkgQXBsaXggQ29ycG9yYXRp
b24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi1MaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vu
c2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKLXlvdSBtYXkgbm90IHVzZSB0aGlzIGZp
bGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KLVlvdSBtYXkgb2J0YWlu
IGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAotICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNl
bnNlcy9MSUNFTlNFLTIuMAotVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFn
cmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQotZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vu
c2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKLVdJVEhPVVQgV0FSUkFOVElF
UyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgot
U2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1p
c3Npb25zIGFuZAotbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCi0KLVhTTFQgc3R5bGVz
aGVldCB0byBjb252ZXJ0IHdpZGxwcm9jeG1sIGludG8gaHRtbCBkb2N1bWVudGF0aW9uLgotPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09LS0+Ci08eHNsOnN0eWxlc2hlZXQgeG1sbnM6eHNsPSJodHRwOi8vd3d3LnczLm9y
Zy8xOTk5L1hTTC9UcmFuc2Zvcm0iIHZlcnNpb249IjEuMCI+Ci08eHNsOm91dHB1dCBtZXRob2Q9
Imh0bWwiIGVuY29kaW5nPSJ1dGYtOCIgaW5kZW50PSJ5ZXMiIGRvY3R5cGUtcHVibGljPSJodG1s
Ii8+Ci0KLTx4c2w6cGFyYW0gbmFtZT0iZGF0ZSIgc2VsZWN0PSInZXJyb3I6IG1pc3NpbmcgZGF0
ZSciLz4KLQotPHhzbDp2YXJpYWJsZSBuYW1lPSJ0aXRsZSIgc2VsZWN0PSJjb25jYXQoJ1RoZSAn
LC9EZWZpbml0aW9ucy9kZXNjcmlwdGl2ZS9uYW1lLCcgTW9kdWxlIC0gVmVyc2lvbiAnLC9EZWZp
bml0aW9ucy9kZXNjcmlwdGl2ZS92ZXJzaW9uKSIvPgotCi08IS0tUm9vdCBvZiBkb2N1bWVudC4t
LT4KLTx4c2w6dGVtcGxhdGUgbWF0Y2g9Ii8iPgotICAgIDxodG1sPgotICAgICAgICA8aGVhZD4K
LSAgICAgICAgICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9
IndpZGxodG1sLmNzcyIgbWVkaWE9InNjcmVlbiIvPgotICAgICAgICAgICAgPHRpdGxlPgotICAg
ICAgICAgICAgICAgIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIkdGl0bGUiLz4KLSAgICAgICAgICAg
IDwvdGl0bGU+Ci0gICAgICAgIDwvaGVhZD4KLSAgICAgICAgPGJvZHk+Ci0gICAgICAgICAgICA8
eHNsOmFwcGx5LXRlbXBsYXRlcy8+Ci0gICAgICAgIDwvYm9keT4KLSAgICA8L2h0bWw+Ci08L3hz
bDp0ZW1wbGF0ZT4KLQotPCEtLVJvb3Qgb2YgRGVmaW5pdGlvbnMuLS0+Ci08eHNsOnRlbXBsYXRl
IG1hdGNoPSJEZWZpbml0aW9ucyI+Ci0gICAgPGRpdiBjbGFzcz0iYXBpIiBpZD0ie0BpZH0iPgot
ICAgICAgICA8YSBocmVmPSJodHRwOi8vYm9uZGkub210cC5vcmciPjxpbWcgc3JjPSJodHRwOi8v
d3d3Lm9tdHAub3JnL2ltYWdlcy9Cb25kaVNtYWxsLmpwZyIgYWx0PSJCb25kaSBsb2dvIi8+PC9h
PgotICAgICAgICA8aDE+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IiR0aXRsZSIvPjwvaDE+Ci0gICAg
ICAgIDxoMz4xMiBNYXkgMjAwOTwvaDM+Ci0KLSAgICAgICAgPGgyPkF1dGhvcnM8L2gyPgotICAg
ICAgICA8dWwgY2xhc3M9ImF1dGhvcnMiPgotICAgICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVz
IHNlbGVjdD0iZGVzY3JpcHRpdmUvYXV0aG9yIi8+Ci0gICAgICAgIDwvdWw+Ci0KLSAgICAgICAg
PHAgY2xhc3M9ImNvcHlyaWdodCI+PHNtYWxsPsKpIFRoZSBhdXRob3JzLCAyMDEyLiBBbGwgcmln
aHRzIHJlc2VydmVkLjwvc21hbGw+PC9wPgotCi0gICAgICAgIDxoci8+Ci0KLSAgICAgICAgPGgy
PkFic3RyYWN0PC9oMj4KLQotICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9ImRl
c2NyaXB0aXZlL2JyaWVmIi8+Ci0gICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0i
ZGVzY3JpcHRpdmUvZGVzY3JpcHRpb24iLz4KLSAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMg
c2VsZWN0PSJkZXNjcmlwdGl2ZS9Db2RlIi8+Ci0KLSAgICAgICAgPGgyPlRhYmxlIG9mIENvbnRl
bnRzPC9oMj4KLSAgICAgICAgPHVsIGNsYXNzPSJ0b2MiPgotICAgICAgICAgIDxsaT48YSBocmVm
PSIjaW50cm8iPkludHJvZHVjdGlvbjwvYT4KLSAgICAgICAgICA8dWw+Ci0gICAgICAgICAgICA8
eHNsOmlmIHRlc3Q9ImRlc2NyaXB0aXZlL2RlZi1hcGktZmVhdHVyZS1zZXQiPgotICAgICAgICAg
ICAgICA8bGk+PGEgaHJlZj0iI2RlZi1hcGktZmVhdHVyZS1zZXRzIj5GZWF0dXJlIHNldDwvYT48
L2xpPgotICAgICAgICAgICAgPC94c2w6aWY+Ci0gICAgICAgICAgICA8eHNsOmlmIHRlc3Q9ImRl
c2NyaXB0aXZlL2RlZi1hcGktZmVhdHVyZSI+Ci0gICAgICAgICAgICAgIDxsaT48YSBocmVmPSIj
ZGVmLWFwaS1mZWF0dXJlcyI+RmVhdHVyZXM8L2E+PC9saT4KLSAgICAgICAgICAgIDwveHNsOmlm
PgotICAgICAgICAgICAgPHhzbDppZiB0ZXN0PSJkZXNjcmlwdGl2ZS9kZWYtZGV2aWNlLWNhcCI+
Ci0gICAgICAgICAgICAgIDxsaT48YSBocmVmPSIjZGVmLWRldmljZS1jYXBzIj5EZXZpY2UgQ2Fw
YWJpbGl0aWVzPC9hPjwvbGk+Ci0gICAgICAgICAgICA8L3hzbDppZj4KLSAgICAgICAgICA8L3Vs
PgotICAgICAgICAgIDwvbGk+Ci0gICAgICAgICAgPHhzbDppZiB0ZXN0PSJUeXBlZGVmIj4KLSAg
ICAgICAgICAgIDxsaT48YSBocmVmPSIjdHlwZWRlZnMiPlR5cGUgRGVmaW5pdGlvbnM8L2E+Ci0g
ICAgICAgICAgICA8dWwgY2xhc3M9InRvYyI+Ci0gICAgICAgICAgICAgIDx4c2w6Zm9yLWVhY2gg
c2VsZWN0PSJUeXBlZGVmW2Rlc2NyaXB0aXZlXSI+Ci0gICAgICAgICAgICAgICAgPGxpPjxhIGhy
ZWY9IiN7QGlkfSI+PGNvZGU+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBuYW1lIi8+PC9jb2RlPjwv
YT48L2xpPgotICAgICAgICAgICAgICA8L3hzbDpmb3ItZWFjaD4KLSAgICAgICAgICAgIDwvdWw+
Ci0gICAgICAgICAgICA8L2xpPgotICAgICAgICAgIDwveHNsOmlmPgotICAgICAgICAgIDx4c2w6
aWYgdGVzdD0iSW50ZXJmYWNlIj4KLQkgICAgICAgICAgPGxpPjxhIGhyZWY9IiNpbnRlcmZhY2Vz
Ij5JbnRlcmZhY2VzPC9hPgotCSAgICAgICAgICA8dWwgY2xhc3M9InRvYyI+Ci0JICAgICAgICAg
IDx4c2w6Zm9yLWVhY2ggc2VsZWN0PSJJbnRlcmZhY2VbZGVzY3JpcHRpdmVdIj4KLQkgICAgICAg
ICAgICA8bGk+PGEgaHJlZj0iI3tAaWR9Ij48Y29kZT48eHNsOnZhbHVlLW9mIHNlbGVjdD0iQG5h
bWUiLz48L2NvZGU+PC9hPjwvbGk+Ci0JICAgICAgICAgIDwveHNsOmZvci1lYWNoPgotCSAgICAg
ICAgICA8L3VsPgotCSAgICAgICAgICA8L2xpPgotICAgICAgICAgIDwveHNsOmlmPgotICAgICAg
ICAgIDx4c2w6aWYgdGVzdD0iRGljdGlvbmFyeSI+Ci0JICAgICAgICAgIDxsaT48YSBocmVmPSIj
ZGljdGlvbmFyaWVzIj5EaWN0aW9uYXJ5IHR5cGVzPC9hPgotCSAgICAgICAgICA8dWwgY2xhc3M9
InRvYyI+Ci0JICAgICAgICAgIDx4c2w6Zm9yLWVhY2ggc2VsZWN0PSJEaWN0aW9uYXJ5W2Rlc2Ny
aXB0aXZlXSI+Ci0JICAgICAgICAgICAgPGxpPjxhIGhyZWY9IiN7QGlkfSI+PGNvZGU+PHhzbDp2
YWx1ZS1vZiBzZWxlY3Q9IkBuYW1lIi8+PC9jb2RlPjwvYT48L2xpPgotCSAgICAgICAgICA8L3hz
bDpmb3ItZWFjaD4KLQkgICAgICAgICAgPC91bD4KLQkgICAgICAgICAgPC9saT4KLSAgICAgICAg
ICA8L3hzbDppZj4KLSAgICAgICAgICA8eHNsOmlmIHRlc3Q9IkNhbGxiYWNrIj4KLQkgICAgICAg
ICAgPGxpPjxhIGhyZWY9IiNjYWxsYmFja3MiPkNhbGxiYWNrczwvYT4KLQkgICAgICAgICAgPHVs
IGNsYXNzPSJ0b2MiPgotCSAgICAgICAgICA8eHNsOmZvci1lYWNoIHNlbGVjdD0iQ2FsbGJhY2tb
ZGVzY3JpcHRpdmVdIj4KLQkgICAgICAgICAgICA8bGk+PGEgaHJlZj0iI3tAaWR9Ij48Y29kZT48
eHNsOnZhbHVlLW9mIHNlbGVjdD0iQG5hbWUiLz48L2NvZGU+PC9hPjwvbGk+Ci0JICAgICAgICAg
IDwveHNsOmZvci1lYWNoPgotCSAgICAgICAgICA8L3VsPgotCSAgICAgICAgICA8L2xpPgotICAg
ICAgICAgIDwveHNsOmlmPgotICAgICAgICAgIDx4c2w6aWYgdGVzdD0iRW51bSI+Ci0JICAgICAg
ICAgIDxsaT48YSBocmVmPSIjZW51bXMiPkVudW1zPC9hPgotCSAgICAgICAgICA8dWwgY2xhc3M9
InRvYyI+Ci0JICAgICAgICAgIDx4c2w6Zm9yLWVhY2ggc2VsZWN0PSJFbnVtW2Rlc2NyaXB0aXZl
XSI+Ci0JICAgICAgICAgICAgPGxpPjxhIGhyZWY9IiN7QGlkfSI+PGNvZGU+PHhzbDp2YWx1ZS1v
ZiBzZWxlY3Q9IkBuYW1lIi8+PC9jb2RlPjwvYT48L2xpPgotCSAgICAgICAgICA8L3hzbDpmb3It
ZWFjaD4KLQkgICAgICAgICAgPC91bD4KLQkgICAgICAgICAgPC9saT4KLSAgICAgICAgICA8L3hz
bDppZj4KLSAgICAgICAgPC91bD4KLQotICAgICAgICA8aHIvPgotCi0gICAgICAgIDxoMj5TdW1t
YXJ5IG9mIE1ldGhvZHM8L2gyPgotICAgICAgICA8eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0ic3Vt
bWFyeSIvPgotICAgICAgICAKLSAgICAgICAgPGgyIGlkPSJpbnRybyI+SW50cm9kdWN0aW9uPC9o
Mj4KLQotICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9ImRlc2NyaXB0aXZlL2Rl
c2NyaXB0aW9uIi8+Ci0gICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iZGVzY3Jp
cHRpdmUvQ29kZSIvPgotCi0gICAgICAgIDx4c2w6aWYgdGVzdD0iZGVzY3JpcHRpdmUvZGVmLWFw
aS1mZWF0dXJlLXNldCI+Ci0gICAgICAgICAgICA8ZGl2IGlkPSJkZWYtYXBpLWZlYXR1cmUtc2V0
cyIgY2xhc3M9ImRlZi1hcGktZmVhdHVyZS1zZXRzIj4KLSAgICAgICAgICAgICAgICA8aDMgaWQ9
ImZlYXR1cmVzIj5GZWF0dXJlIHNldDwvaDM+Ci0gICAgICAgICAgICAgICAgPHA+VGhpcyBpcyB0
aGUgVVJJIHVzZWQgdG8gZGVjbGFyZSB0aGlzIEFQSSdzIGZlYXR1cmUgc2V0LCBmb3IgdXNlIGlu
IGJvbmRpLnJlcXVlc3RGZWF0dXJlLiBGb3IgdGhlIFVSTCwgdGhlIGxpc3Qgb2YgZmVhdHVyZXMg
aW5jbHVkZWQgYnkgdGhlIGZlYXR1cmUgc2V0IGlzIHByb3ZpZGVkLjwvcD4KLSAgICAgICAgICAg
ICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9ImRlc2NyaXB0aXZlL2RlZi1hcGktZmVh
dHVyZS1zZXQiLz4KLSAgICAgICAgICAgIDwvZGl2PgotICAgICAgICA8L3hzbDppZj4KLSAgICAg
ICAgPHhzbDppZiB0ZXN0PSJkZXNjcmlwdGl2ZS9kZWYtYXBpLWZlYXR1cmUiPgotICAgICAgICAg
ICAgPGRpdiBpZD0iZGVmLWFwaS1mZWF0dXJlcyIgY2xhc3M9ImRlZi1hcGktZmVhdHVyZXMiPgot
ICAgICAgICAgICAgICAgIDxoMyBpZD0iZmVhdHVyZXMiPkZlYXR1cmVzPC9oMz4KLSAgICAgICAg
ICAgICAgICA8cD5UaGlzIGlzIHRoZSBsaXN0IG9mIFVSSXMgdXNlZCB0byBkZWNsYXJlIHRoaXMg
QVBJJ3MgZmVhdHVyZXMsIGZvciB1c2UgaW4gYm9uZGkucmVxdWVzdEZlYXR1cmUuIEZvciBlYWNo
IFVSTCwgdGhlIGxpc3Qgb2YgZnVuY3Rpb25zIGNvdmVyZWQgaXMgcHJvdmlkZWQuPC9wPgotICAg
ICAgICAgICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iSW50ZXJmYWNlL2Rlc2Ny
aXB0aXZlL2RlZi1pbnN0YW50aWF0ZWQiLz4KLSAgICAgICAgICAgICAgICA8eHNsOmFwcGx5LXRl
bXBsYXRlcyBzZWxlY3Q9ImRlc2NyaXB0aXZlL2RlZi1hcGktZmVhdHVyZSIvPgotICAgICAgICAg
ICAgPC9kaXY+Ci0gICAgICAgIDwveHNsOmlmPgotICAgICAgICA8eHNsOmlmIHRlc3Q9ImRlc2Ny
aXB0aXZlL2RlZi1kZXZpY2UtY2FwIj4KLSAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRlZi1kZXZp
Y2UtY2FwcyIgaWQ9ImRlZi1kZXZpY2UtY2FwcyI+Ci0gICAgICAgICAgICAgICAgPGgzPkRldmlj
ZSBjYXBhYmlsaXRpZXM8L2gzPgotICAgICAgICAgICAgICAgIDxkbD4KLSAgICAgICAgICAgICAg
ICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iZGVzY3JpcHRpdmUvZGVmLWRldmljZS1j
YXAiLz4KLSAgICAgICAgICAgICAgICA8L2RsPgotICAgICAgICAgICAgPC9kaXY+Ci0gICAgICAg
IDwveHNsOmlmPgotICAgICAgICA8eHNsOmlmIHRlc3Q9IlR5cGVkZWYiPgotICAgICAgICAgICAg
PGRpdiBjbGFzcz0idHlwZWRlZnMiIGlkPSJ0eXBlZGVmcyI+Ci0gICAgICAgICAgICAgICAgPGgy
PlR5cGUgRGVmaW5pdGlvbnM8L2gyPgotICAgICAgICAgICAgICAgIDx4c2w6YXBwbHktdGVtcGxh
dGVzIHNlbGVjdD0iVHlwZWRlZltkZXNjcmlwdGl2ZV0iLz4KLSAgICAgICAgICAgIDwvZGl2Pgot
ICAgICAgICA8L3hzbDppZj4KLSAgICAgICAgPHhzbDppZiB0ZXN0PSJJbnRlcmZhY2UiPgotICAg
ICAgICAgICAgPGRpdiBjbGFzcz0iaW50ZXJmYWNlcyIgaWQ9ImludGVyZmFjZXMiPgotCQkgICAg
ICAgIDxoMj5JbnRlcmZhY2VzPC9oMj4KLSAgICAgICAJCSAgICA8eHNsOmFwcGx5LXRlbXBsYXRl
cyBzZWxlY3Q9IkludGVyZmFjZSIvPgotICAgICAgICAgICAgPC9kaXY+Ci0gICAgICAgIDwveHNs
OmlmPgotICAgICAgICA8eHNsOmlmIHRlc3Q9IkRpY3Rpb25hcnkiPgotICAgICAgICAgICAgPGRp
diBjbGFzcz0iZGljdGlvbmFyaWVzIiBpZD0iZGljdGlvbmFyaWVzIj4KLSAgICAgICAgCQk8aDI+
RGljdGlvbmFyeSB0eXBlczwvaDI+Ci0gICAgICAgIAkJPHhzbDphcHBseS10ZW1wbGF0ZXMgc2Vs
ZWN0PSJEaWN0aW9uYXJ5Ii8+Ci0gICAgICAgICAgICA8L2Rpdj4KLSAgICAgICAgPC94c2w6aWY+
Ci0gICAgICAgIDx4c2w6aWYgdGVzdD0iQ2FsbGJhY2siPgotICAgICAgICAgICAgPGRpdiBjbGFz
cz0iY2FsbGJhY2tzIiBpZD0iY2FsbGJhY2tzIj4KLSAgICAgICAgCQk8aDI+Q2FsbGJhY2tzPC9o
Mj4KLSAgICAgICAgCQk8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9IkNhbGxiYWNrIi8+Ci0g
ICAgICAgICAgICA8L2Rpdj4KLSAgICAgICAgPC94c2w6aWY+Ci0gICAgICAgIDx4c2w6aWYgdGVz
dD0iRW51bSI+Ci0gICAgICAgICAgICA8ZGl2IGNsYXNzPSJlbnVtcyIgaWQ9ImVudW1zIj4KLSAg
ICAgICAgCQk8aDI+RW51bXM8L2gyPgotICAgICAgICAJCTx4c2w6YXBwbHktdGVtcGxhdGVzIHNl
bGVjdD0iRW51bSIvPgotICAgICAgICAgICAgPC9kaXY+Ci0gICAgICAgIDwveHNsOmlmPgotICAg
IDwvZGl2PgotPC94c2w6dGVtcGxhdGU+Ci0KLTwhLS1kZWYtYXBpLWZlYXR1cmUtc2V0LS0+Ci08
eHNsOnRlbXBsYXRlIG1hdGNoPSJkZWYtYXBpLWZlYXR1cmUtc2V0Ij4KLSAgICAgIDxkbCBjbGFz
cz0iZGVmLWFwaS1mZWF0dXJlLXNldCI+Ci0gICAgICAgICAgPGR0Pjx4c2w6dmFsdWUtb2Ygc2Vs
ZWN0PSJAaWRlbnRpZmllciIvPjwvZHQ+Ci0gICAgICAgICAgPGRkPgotICAgICAgICAgICAgPHhz
bDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJkZXNjcmlwdGl2ZS9icmllZiIvPgotICAgICAgICAg
ICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJkZXNjcmlwdGl2ZSIvPgotICAgICAgICAg
ICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJkZXNjcmlwdGl2ZS9Db2RlIi8+Ci0gICAg
ICAgICAgICA8eHNsOmlmIHRlc3Q9ImRlc2NyaXB0aXZlL2FwaS1mZWF0dXJlIj4KLSAgICAgICAg
ICAgICAgPGRpdiBjbGFzcz0iYXBpLWZlYXR1cmVzIj4KLSAgICAgICAgICAgICAgICA8cD4KLSAg
ICAgICAgICAgICAgICAgIEluY2x1ZGVzIEFQSSBmZWF0dXJlczoKLSAgICAgICAgICAgICAgICA8
L3A+Ci0gICAgICAgICAgICAgICAgPHVsPgotICAgICAgICAgICAgICAgICAgPHhzbDpmb3ItZWFj
aCBzZWxlY3Q9ImRlc2NyaXB0aXZlL2FwaS1mZWF0dXJlIj4KLSAgICAgICAgICAgICAgICAgICAg
PGxpPjxjb2RlPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAaWRlbnRpZmllciIvPjwvY29kZT48L2xp
PgotICAgICAgICAgICAgICAgICAgPC94c2w6Zm9yLWVhY2g+Ci0gICAgICAgICAgICAgICAgPC91
bD4KLSAgICAgICAgICAgICAgPC9kaXY+Ci0gICAgICAgICAgICA8L3hzbDppZj4KLSAgICAgICAg
ICA8L2RkPgotICAgICAgPC9kbD4KLTwveHNsOnRlbXBsYXRlPgotCi08IS0tZGVmLWFwaS1mZWF0
dXJlLS0+Ci08eHNsOnRlbXBsYXRlIG1hdGNoPSJkZWYtYXBpLWZlYXR1cmUiPgotICAgICAgPGRs
IGNsYXNzPSJkZWYtYXBpLWZlYXR1cmUiPgotICAgICAgICAgIDxkdD48eHNsOnZhbHVlLW9mIHNl
bGVjdD0iQGlkZW50aWZpZXIiLz48L2R0PgotICAgICAgICAgIDxkZD4KLSAgICAgICAgICAgIDx4
c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iZGVzY3JpcHRpdmUvYnJpZWYiLz4KLSAgICAgICAg
ICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iZGVzY3JpcHRpdmUiLz4KLSAgICAgICAg
ICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iZGVzY3JpcHRpdmUvQ29kZSIvPgotICAg
ICAgICAgICAgPHhzbDppZiB0ZXN0PSJkZXNjcmlwdGl2ZS9kZXZpY2UtY2FwIj4KLSAgICAgICAg
ICAgICAgPGRpdiBjbGFzcz0iZGV2aWNlLWNhcHMiPgotICAgICAgICAgICAgICAgIDxwPgotICAg
ICAgICAgICAgICAgICAgRGV2aWNlIGNhcGFiaWxpdGllczoKLSAgICAgICAgICAgICAgICA8L3A+
Ci0gICAgICAgICAgICAgICAgPHVsPgotICAgICAgICAgICAgICAgICAgPHhzbDpmb3ItZWFjaCBz
ZWxlY3Q9ImRlc2NyaXB0aXZlL2RldmljZS1jYXAiPgotICAgICAgICAgICAgICAgICAgICA8bGk+
PGNvZGU+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBpZGVudGlmaWVyIi8+PC9jb2RlPjwvbGk+Ci0g
ICAgICAgICAgICAgICAgICA8L3hzbDpmb3ItZWFjaD4KLSAgICAgICAgICAgICAgICA8L3VsPgot
ICAgICAgICAgICAgICA8L2Rpdj4KLSAgICAgICAgICAgIDwveHNsOmlmPgotICAgICAgICAgIDwv
ZGQ+Ci0gICAgICA8L2RsPgotPC94c2w6dGVtcGxhdGU+Ci0KLTwhLS1kZWYtZGV2aWNlLWNhcC0t
PgotPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iZGVmLWRldmljZS1jYXAiPgotICAgIDxkdCBjbGFzcz0i
ZGVmLWRldmljZS1jYXAiPjxjb2RlPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAaWRlbnRpZmllciIv
PjwvY29kZT48L2R0PgotICAgIDxkZD4KLSAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVj
dD0iZGVzY3JpcHRpdmUvYnJpZWYiLz4KLSAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVj
dD0iZGVzY3JpcHRpdmUiLz4KLSAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iZGVz
Y3JpcHRpdmUvQ29kZSIvPgotICAgICAgPHhzbDppZiB0ZXN0PSJkZXNjcmlwdGl2ZS9wYXJhbSI+
Ci0gICAgICAgIDxkaXYgY2xhc3M9ImRldmljZS1jYXBzIj4KLSAgICAgICAgICA8cD5TZWN1cml0
eSBwYXJhbWV0ZXJzOjwvcD4KLSAgICAgICAgICA8dWw+Ci0gICAgICAgICAgICA8eHNsOmFwcGx5
LXRlbXBsYXRlcyBzZWxlY3Q9ImRlc2NyaXB0aXZlL3BhcmFtIi8+Ci0gICAgICAgICAgPC91bD4K
LSAgICAgICAgPC9kaXY+Ci0gICAgICA8L3hzbDppZj4KLSAgICA8L2RkPgotPC94c2w6dGVtcGxh
dGU+Ci0KLTwhLS1FeGNlcHRpb246IG5vdCBpbXBsZW1lbnRlZC0tPgotPCEtLVZhbHVldHlwZTog
bm90IGltcGxlbWVudGVkLS0+Ci08eHNsOnRlbXBsYXRlIG1hdGNoPSJFeGNlcHRpb258VmFsdWV0
eXBlfENvbnN0Ij4KLSAgICA8eHNsOmlmIHRlc3Q9ImRlc2NyaXB0aXZlIj4KLSAgICAgICAgPHhz
bDptZXNzYWdlIHRlcm1pbmF0ZT0ieWVzIj5lbGVtZW50IDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJu
YW1lKCkiLz4gbm90IHN1cHBvcnRlZDwveHNsOm1lc3NhZ2U+Ci0gICAgPC94c2w6aWY+Ci08L3hz
bDp0ZW1wbGF0ZT4KLQotPCEtLVR5cGVkZWYuLS0+Ci08eHNsOnRlbXBsYXRlIG1hdGNoPSJUeXBl
ZGVmW2Rlc2NyaXB0aXZlXSI+Ci0gICAgPGRpdiBjbGFzcz0idHlwZWRlZiIgaWQ9IntAaWR9Ij4K
LSAgICAgICAgPGgzPjIuPHhzbDpudW1iZXIgdmFsdWU9InBvc2l0aW9uKCkiLz4uIDxjb2RlPjx4
c2w6dmFsdWUtb2Ygc2VsZWN0PSJAbmFtZSIvPjwvY29kZT48L2gzPgotICAgICAgICA8eHNsOmFw
cGx5LXRlbXBsYXRlcyBzZWxlY3Q9ImRlc2NyaXB0aXZlL2JyaWVmIi8+Ci0gICAgICAgIDx4c2w6
YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0id2ViaWRsIi8+Ci0gICAgICAgIDx4c2w6YXBwbHktdGVt
cGxhdGVzIHNlbGVjdD0iZGVzY3JpcHRpdmUiLz4KLSAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0
ZXMgc2VsZWN0PSJkZXNjcmlwdGl2ZS9Db2RlIi8+Ci0gICAgPC9kaXY+Ci08L3hzbDp0ZW1wbGF0
ZT4KLQotPCEtLUludGVyZmFjZS4tLT4KLTx4c2w6dGVtcGxhdGUgbWF0Y2g9IkludGVyZmFjZVtk
ZXNjcmlwdGl2ZV0iPgotICAgIDx4c2w6dmFyaWFibGUgbmFtZT0ibmFtZSIgc2VsZWN0PSJAbmFt
ZSIvPgotICAgIDxkaXYgY2xhc3M9ImludGVyZmFjZSIgaWQ9IntAaWR9Ij4KLSAgICAgICAgPGgz
Pjxjb2RlPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAbmFtZSIvPjwvY29kZT48L2gzPgotICAgICAg
ICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9ImRlc2NyaXB0aXZlL2JyaWVmIi8+Ci0gICAg
ICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0id2ViaWRsIi8+Ci0gICAgICAgIDx4c2w6
YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iLi4vSW1wbGVtZW50c1tAbmFtZTI9JG5hbWVdL3dlYmlk
bCIvPgotICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9ImRlc2NyaXB0aXZlIi8+
Ci0gICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iZGVzY3JpcHRpdmUvQ29kZSIv
PgotICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9IkludGVyZmFjZUluaGVyaXRh
bmNlIi8+Ci0gICAgICAgIDx4c2w6aWYgdGVzdD0iQ29uc3QvZGVzY3JpcHRpdmUiPgotICAgICAg
ICAgICAgPGRpdiBjbGFzcz0iY29uc3RzIj4KLSAgICAgICAgICAgICAgICA8aDQ+Q29uc3RhbnRz
PC9oND4KLSAgICAgICAgICAgICAgICA8ZGw+Ci0gICAgICAgICAgICAgICAgICA8eHNsOmFwcGx5
LXRlbXBsYXRlcyBzZWxlY3Q9IkNvbnN0Ii8+Ci0gICAgICAgICAgICAgICAgPC9kbD4KLSAgICAg
ICAgICAgIDwvZGl2PgotICAgICAgICA8L3hzbDppZj4KLSAgICAgICAgPHhzbDppZiB0ZXN0PSJF
eHRlbmRlZEF0dHJpYnV0ZUxpc3QvRXh0ZW5kZWRBdHRyaWJ1dGUvZGVzY3JpcHRpdmUiPgotICAg
ICAgICAgICAgPGRpdiBjbGFzcz0iY29uc3RydWN0b3JzIj4KLSAgICAgICAgICAgICAgICA8aDQ+
Q29uc3RydWN0b3JzPC9oND4KLSAgICAgICAgICAgICAgICA8ZGw+Ci0gICAgICAgICAgICAgICAg
ICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9IkV4dGVuZGVkQXR0cmlidXRlTGlzdC9FeHRl
bmRlZEF0dHJpYnV0ZSIvPgotICAgICAgICAgICAgICAgIDwvZGw+Ci0gICAgICAgICAgICA8L2Rp
dj4KLSAgICAgICAgPC94c2w6aWY+Ci0gICAgICAgIDx4c2w6aWYgdGVzdD0iQXR0cmlidXRlL2Rl
c2NyaXB0aXZlIj4KLSAgICAgICAgICAgIDxkaXYgY2xhc3M9ImF0dHJpYnV0ZXMiPgotICAgICAg
ICAgICAgICAgIDxoND5BdHRyaWJ1dGVzPC9oND4KLSAgICAgICAgICAgICAgICA8ZGw+Ci0gICAg
ICAgICAgICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9IkF0dHJpYnV0ZSIvPgot
ICAgICAgICAgICAgICAgIDwvZGw+Ci0gICAgICAgICAgICA8L2Rpdj4KLSAgICAgICAgPC94c2w6
aWY+Ci0gICAgICAgIDx4c2w6aWYgdGVzdD0iT3BlcmF0aW9uL2Rlc2NyaXB0aXZlIj4KLSAgICAg
ICAgICAgIDxkaXYgY2xhc3M9Im1ldGhvZHMiPgotICAgICAgICAgICAgICAgIDxoND5NZXRob2Rz
PC9oND4KLSAgICAgICAgICAgICAgICA8ZGw+Ci0gICAgICAgICAgICAgICAgICA8eHNsOmFwcGx5
LXRlbXBsYXRlcyBzZWxlY3Q9Ik9wZXJhdGlvbiIvPgotICAgICAgICAgICAgICAgIDwvZGw+Ci0g
ICAgICAgICAgICA8L2Rpdj4KLSAgICAgICAgPC94c2w6aWY+Ci0gICAgPC9kaXY+Ci08L3hzbDp0
ZW1wbGF0ZT4KLTx4c2w6dGVtcGxhdGUgbWF0Y2g9IkludGVyZmFjZVtub3QoZGVzY3JpcHRpdmUp
XSI+Ci08L3hzbDp0ZW1wbGF0ZT4KLQotPCEtLURpY3Rpb25hcnkuLS0+Ci08eHNsOnRlbXBsYXRl
IG1hdGNoPSJEaWN0aW9uYXJ5W2Rlc2NyaXB0aXZlXSI+Ci0gICAgPHhzbDp2YXJpYWJsZSBuYW1l
PSJuYW1lIiBzZWxlY3Q9IkBuYW1lIi8+Ci0gICAgPGRpdiBjbGFzcz0iZGljdGlvbmFyeSIgaWQ9
IntAaWR9Ij4KLSAgICAgICAgPGgzPjxjb2RlPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAbmFtZSIv
PjwvY29kZT48L2gzPgotICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9ImRlc2Ny
aXB0aXZlL2JyaWVmIi8+Ci0gICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0id2Vi
aWRsIi8+Ci0gICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iZGVzY3JpcHRpdmUi
Lz4KLSAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJkZXNjcmlwdGl2ZS9Db2Rl
Ii8+Ci0gICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iSW50ZXJmYWNlSW5oZXJp
dGFuY2UiLz4KLSAgICAgICAgPHhzbDppZiB0ZXN0PSJDb25zdC9kZXNjcmlwdGl2ZSI+Ci0gICAg
ICAgICAgICA8ZGl2IGNsYXNzPSJjb25zdHMiPgotICAgICAgICAgICAgICAgIDxoND5Db25zdGFu
dHM8L2g0PgotICAgICAgICAgICAgICAgIDxkbD4KLSAgICAgICAgICAgICAgICAgIDx4c2w6YXBw
bHktdGVtcGxhdGVzIHNlbGVjdD0iQ29uc3QiLz4KLSAgICAgICAgICAgICAgICA8L2RsPgotICAg
ICAgICAgICAgPC9kaXY+Ci0gICAgICAgIDwveHNsOmlmPgotICAgICAgICA8eHNsOmlmIHRlc3Q9
IkF0dHJpYnV0ZS9kZXNjcmlwdGl2ZSI+Ci0gICAgICAgICAgICA8ZGl2IGNsYXNzPSJhdHRyaWJ1
dGVzIj4KLSAgICAgICAgICAgICAgICA8aDQ+QXR0cmlidXRlczwvaDQ+Ci0gICAgICAgICAgICAg
ICAgPGRsPgotICAgICAgICAgICAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJB
dHRyaWJ1dGUiLz4KLSAgICAgICAgICAgICAgICA8L2RsPgotICAgICAgICAgICAgPC9kaXY+Ci0g
ICAgICAgIDwveHNsOmlmPgotICAgIDwvZGl2PgotPC94c2w6dGVtcGxhdGU+Ci08eHNsOnRlbXBs
YXRlIG1hdGNoPSJEaWN0aW9uYXJ5W25vdChkZXNjcmlwdGl2ZSldIj4KLTwveHNsOnRlbXBsYXRl
PgotCi08eHNsOnRlbXBsYXRlIG1hdGNoPSJJbnRlcmZhY2VJbmhlcml0YW5jZS9TY29wZWROYW1l
TGlzdCI+Ci0gICAgICAgICAgICAgIDxwPgotICAgICAgICAgICAgICAgIDx4c2w6dGV4dD5UaGlz
IGludGVyZmFjZSBpbmhlcml0cyBmcm9tOiA8L3hzbDp0ZXh0PgotICAgICAgICAgICAgICAgIDx4
c2w6Zm9yLWVhY2ggc2VsZWN0PSJOYW1lIj4KLSAgICAgICAgICAgICAgICAgIDxjb2RlPjx4c2w6
dmFsdWUtb2Ygc2VsZWN0PSJAbmFtZSIvPjwvY29kZT4KLSAgICAgICAgICAgICAgICAgIDx4c2w6
aWYgdGVzdD0icG9zaXRpb24hPWxhc3QoKSI+LCA8L3hzbDppZj4KLSAgICAgICAgICAgICAgICA8
L3hzbDpmb3ItZWFjaD4KLSAgICAgICAgICAgICAgPC9wPgotPC94c2w6dGVtcGxhdGU+Ci0KLTwh
LS1BdHRyaWJ1dGUtLT4KLTx4c2w6dGVtcGxhdGUgbWF0Y2g9IkF0dHJpYnV0ZSI+Ci0gICAgPGR0
IGNsYXNzPSJhdHRyaWJ1dGUiIGlkPSJ7QG5hbWV9Ij4KLSAgICAgICAgPGNvZGU+Ci0gICAgICAg
ICAgICA8eHNsOmlmIHRlc3Q9IkBzdHJpbmdpZmllciI+Ci0gICAgICAgICAgICAgICAgc3RyaW5n
aWZpZXIKLSAgICAgICAgICAgIDwveHNsOmlmPgotICAgICAgICAgICAgPHhzbDppZiB0ZXN0PSJA
cmVhZG9ubHkiPgotICAgICAgICAgICAgICAgIHJlYWRvbmx5Ci0gICAgICAgICAgICA8L3hzbDpp
Zj4KLSAgICAgICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iVHlwZSIvPgotICAg
ICAgICAgICAgPHhzbDp0ZXh0PiA8L3hzbDp0ZXh0PgotICAgICAgICAgICAgPHhzbDp2YWx1ZS1v
ZiBzZWxlY3Q9IkBuYW1lIi8+Ci0gICAgICAgIDwvY29kZT48L2R0PgotICAgICAgICA8ZGQ+Ci0g
ICAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJkZXNjcmlwdGl2ZS9icmllZiIv
PgotICAgICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iZGVzY3JpcHRpdmUiLz4K
LSAgICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9IkdldFJhaXNlcyIvPgotICAg
ICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iU2V0UmFpc2VzIi8+Ci0gICAgICAg
ICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJkZXNjcmlwdGl2ZS9Db2RlIi8+Ci0gICAg
ICAgIDwvZGQ+Ci08L3hzbDp0ZW1wbGF0ZT4KLQotPCEtLUNvbnN0LS0+Ci08eHNsOnRlbXBsYXRl
IG1hdGNoPSJDb25zdCI+Ci0gIDxkdCBjbGFzcz0iY29uc3QiIGlkPSJ7QGlkfSI+Ci0gICAgPGNv
ZGU+Ci0gICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9IlR5cGUiLz4KLSAgICAgIDx4
c2w6dGV4dD4gPC94c2w6dGV4dD4KLSAgICAgIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAbmFtZSIv
PgotICAgIDwvY29kZT4KLSAgPC9kdD4KLSAgPGRkPgotICAgIDx4c2w6YXBwbHktdGVtcGxhdGVz
IHNlbGVjdD0iZGVzY3JpcHRpdmUvYnJpZWYiLz4KLSAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBz
ZWxlY3Q9ImRlc2NyaXB0aXZlIi8+Ci0gICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJk
ZXNjcmlwdGl2ZS9Db2RlIi8+Ci0gIDwvZGQ+Ci08L3hzbDp0ZW1wbGF0ZT4KLQotPCEtLUV4dGVu
ZGVkQXR0cmlidXRlIG5hbWU9PUNvbnN0cnVjdG9yIHx8IG5hbWU9PU5hbWVkQ29uc3RydWN0b3It
LT4KLTx4c2w6dGVtcGxhdGUgbWF0Y2g9IkV4dGVuZGVkQXR0cmlidXRlTGlzdC9FeHRlbmRlZEF0
dHJpYnV0ZSI+Ci0gICAgPGR0IGNsYXNzPSJjb25zdHJ1Y3RvciIgaWQ9Intjb25jYXQoQG5hbWUs
Z2VuZXJhdGUtaWQoLikpfSI+Ci0gICAgICAgIDxjb2RlPgotICAgICAgICAgICAgPHhzbDp2YWx1
ZS1vZiBzZWxlY3Q9Ii4uLy4uL0BuYW1lIi8+Ci0gICAgICAgICAgICAgPHhzbDp0ZXh0Pig8L3hz
bDp0ZXh0PgotICAgICAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJBcmd1bWVu
dExpc3QiPgotICAgICAgICAgICAgICAgIDx4c2w6d2l0aC1wYXJhbSBuYW1lPSJub2Rlc2MiIHNl
bGVjdD0iMSIvPgotICAgICAgICAgICAgPC94c2w6YXBwbHktdGVtcGxhdGVzPgotICAgICAgICAg
ICAgPHhzbDp0ZXh0Pik7PC94c2w6dGV4dD4KLSAgICAgICAgPC9jb2RlPgotICAgIDwvZHQ+Ci0g
ICAgPGRkPgotICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9ImRlc2NyaXB0aXZl
L2JyaWVmIi8+Ci0gICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iZGVzY3JpcHRp
dmUiLz4KLSAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJBcmd1bWVudExpc3Qi
Lz4KLSAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJSYWlzZXMiLz4KLSAgICAg
ICAgPHhzbDppZiB0ZXN0PSJkZXNjcmlwdGl2ZS9hcGktZmVhdHVyZSI+Ci0gICAgICAgICAgICA8
ZGl2IGNsYXNzPSJhcGktZmVhdHVyZXMiPgotICAgICAgICAgICAgICAgIDxoNj5BUEkgZmVhdHVy
ZXM8L2g2PgotICAgICAgICAgICAgICAgIDxkbD4KLSAgICAgICAgICAgICAgICAgICAgPHhzbDph
cHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJkZXNjcmlwdGl2ZS9hcGktZmVhdHVyZSIvPgotICAgICAg
ICAgICAgICAgIDwvZGw+Ci0gICAgICAgICAgICA8L2Rpdj4KLSAgICAgICAgPC94c2w6aWY+Ci0g
ICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0id2ViaWRsIi8+Ci0gICAgICAgIDx4
c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iZGVzY3JpcHRpdmUvQ29kZSIvPgotICAgIDwvZGQ+
Ci08L3hzbDp0ZW1wbGF0ZT4KLQotPCEtLU9wZXJhdGlvbi0tPgotPHhzbDp0ZW1wbGF0ZSBtYXRj
aD0iT3BlcmF0aW9uIj4KLSAgICA8ZHQgY2xhc3M9Im1ldGhvZCIgaWQ9Intjb25jYXQoQG5hbWUs
Z2VuZXJhdGUtaWQoLikpfSI+Ci0gICAgICAgIDxjb2RlPgotICAgICAgICAgICAgPHhzbDppZiB0
ZXN0PSJAc3RyaW5naWZpZXIiPgotICAgICAgICAgICAgICAgIDx4c2w6dmFsdWUtb2Ygc2VsZWN0
PSJjb25jYXQoQHN0cmluZ2lmaWVyLCAnICcpIi8+Ci0gICAgICAgICAgICA8L3hzbDppZj4KLSAg
ICAgICAgICAgIDx4c2w6aWYgdGVzdD0iQG9taXR0YWJsZSI+Ci0gICAgICAgICAgICAgICAgPHhz
bDp2YWx1ZS1vZiBzZWxlY3Q9ImNvbmNhdChAb21pdHRhYmxlLCAnICcpIi8+Ci0gICAgICAgICAg
ICA8L3hzbDppZj4KLSAgICAgICAgICAgIDx4c2w6aWYgdGVzdD0iQGdldHRlciI+Ci0gICAgICAg
ICAgICAgICAgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9ImNvbmNhdChAZ2V0dGVyLCAnICcpIi8+Ci0g
ICAgICAgICAgICA8L3hzbDppZj4KLSAgICAgICAgICAgIDx4c2w6aWYgdGVzdD0iQHNldHRlciI+
Ci0gICAgICAgICAgICAgICAgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9ImNvbmNhdChAc2V0dGVyLCAn
ICcpIi8+Ci0gICAgICAgICAgICA8L3hzbDppZj4KLSAgICAgICAgICAgIDx4c2w6aWYgdGVzdD0i
QGNyZWF0b3IiPgotICAgICAgICAgICAgCTx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJjb25jYXQoQGNy
ZWF0b3IsICcgJykiLz4KLSAgICAgICAgICAgIDwveHNsOmlmPgotICAgICAgICAgICAgPHhzbDpp
ZiB0ZXN0PSJAZGVsZXRlciI+Ci0gICAgICAgICAgICAgICAgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9
ImNvbmNhdChAZGVsZXRlciwgJyAnKSIvPgotICAgICAgICAgICAgPC94c2w6aWY+Ci0gICAgICAg
ICAgICA8eHNsOmlmIHRlc3Q9IkBjYWxsZXIiPgotICAgICAgICAgICAgICAgIDx4c2w6dmFsdWUt
b2Ygc2VsZWN0PSJjb25jYXQoQGNhbGxlciwgJyAnKSIvPgotICAgICAgICAgICAgPC94c2w6aWY+
Ci0gICAgICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9IlR5cGUiLz4KLSAgICAg
ICAgICAgIDx4c2w6dGV4dD4gPC94c2w6dGV4dD4KLSAgICAgICAgICAgIDx4c2w6dmFsdWUtb2Yg
c2VsZWN0PSJAbmFtZSIvPgotICAgICAgICAgICAgPHhzbDp0ZXh0Pig8L3hzbDp0ZXh0PgotICAg
ICAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJBcmd1bWVudExpc3QiPgotICAg
ICAgICAgICAgICAgIDx4c2w6d2l0aC1wYXJhbSBuYW1lPSJub2Rlc2MiIHNlbGVjdD0iMSIvPgot
ICAgICAgICAgICAgPC94c2w6YXBwbHktdGVtcGxhdGVzPgotICAgICAgICAgICAgPHhzbDp0ZXh0
Pik7PC94c2w6dGV4dD4KLSAgICAgICAgPC9jb2RlPgotICAgIDwvZHQ+Ci0gICAgPGRkPgotICAg
ICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9ImRlc2NyaXB0aXZlL2JyaWVmIi8+Ci0g
ICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0id2ViaWRsIi8+Ci0gICAgICAgIDx4
c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iZGVzY3JpcHRpdmUvQ29kZSIvPgotICAgICAgICA8
eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9ImRlc2NyaXB0aXZlIi8+Ci0gICAgICAgIDx4c2w6
YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iQXJndW1lbnRMaXN0Ii8+Ci0gICAgICAgIDx4c2w6aWYg
dGVzdD0iVHlwZS9kZXNjcmlwdGl2ZSI+Ci0gICAgICAgICAgPGRpdiBjbGFzcz0icmV0dXJudHlw
ZSI+Ci0gICAgICAgICAgICA8aDU+UmV0dXJuIHZhbHVlPC9oNT4KLSAgICAgICAgICAgIDx4c2w6
YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iVHlwZS9kZXNjcmlwdGl2ZSIvPgotICAgICAgICAgIDwv
ZGl2PgotICAgICAgICA8L3hzbDppZj4KLSAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2Vs
ZWN0PSJSYWlzZXMiLz4KLSAgICAgICAgPHhzbDppZiB0ZXN0PSJkZXNjcmlwdGl2ZS9hcGktZmVh
dHVyZSI+Ci0gICAgICAgICAgICA8ZGl2IGNsYXNzPSJhcGktZmVhdHVyZXMiPgotICAgICAgICAg
ICAgICAgIDxoNj5BUEkgZmVhdHVyZXM8L2g2PgotICAgICAgICAgICAgICAgIDxkbD4KLSAgICAg
ICAgICAgICAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJkZXNjcmlwdGl2ZS9h
cGktZmVhdHVyZSIvPgotICAgICAgICAgICAgICAgIDwvZGw+Ci0gICAgICAgICAgICA8L2Rpdj4K
LSAgICAgICAgPC94c2w6aWY+Ci0gICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0i
ZGVzY3JpcHRpdmUvQ29kZSIvPgotICAgIDwvZGQ+Ci08L3hzbDp0ZW1wbGF0ZT4KLQotPCEtLUNh
bGxiYWNrLS0+Ci08eHNsOnRlbXBsYXRlIG1hdGNoPSJDYWxsYmFjayI+Ci0gICAgPHhzbDp2YXJp
YWJsZSBuYW1lPSJuYW1lIiBzZWxlY3Q9IkBuYW1lIi8+Ci0gICAgPGRpdiBjbGFzcz0iY2FsbGJh
Y2siIGlkPSJ7QGlkfSI+Ci0gICAgICAgIDxoMz48Y29kZT48eHNsOnZhbHVlLW9mIHNlbGVjdD0i
QG5hbWUiLz48L2NvZGU+PC9oMz4KLQotCSAgICA8ZGQ+Ci0JICAgICAgICA8eHNsOmFwcGx5LXRl
bXBsYXRlcyBzZWxlY3Q9ImRlc2NyaXB0aXZlL2JyaWVmIi8+Ci0JICAgICAgICA8eHNsOmFwcGx5
LXRlbXBsYXRlcyBzZWxlY3Q9IndlYmlkbCIvPgotCSAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0
ZXMgc2VsZWN0PSJkZXNjcmlwdGl2ZSIvPgotCSAgICAgICAgPGRpdiBjbGFzcz0ic3lub3BzaXMi
PgotCSAgICAgICAgICAgIDxoNj5TaWduYXR1cmU8L2g2PgotCSAgICAgICAgICAgIDxwcmU+Ci0J
ICAgICAgICAgICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iVHlwZSIvPgotCSAg
ICAgICAgICAgICAgICA8eHNsOnRleHQ+IDwveHNsOnRleHQ+Ci0JICAgICAgICAgICAgICAgIDx4
c2w6dmFsdWUtb2Ygc2VsZWN0PSJAbmFtZSIvPgotCSAgICAgICAgICAgICAgICA8eHNsOnRleHQ+
KDwveHNsOnRleHQ+Ci0JICAgICAgICAgICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVj
dD0iQXJndW1lbnRMaXN0Ij4KLQkgICAgICAgICAgICAgICAgICAgIDx4c2w6d2l0aC1wYXJhbSBu
YW1lPSJub2Rlc2MiIHNlbGVjdD0iMSIvPgotCSAgICAgICAgICAgICAgICA8L3hzbDphcHBseS10
ZW1wbGF0ZXM+Ci0JICAgICAgICAgICAgICAgIDx4c2w6dGV4dD4pOwotPC94c2w6dGV4dD48L3By
ZT4KLQkgICAgICAgIDwvZGl2PgotCSAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0
PSJkZXNjcmlwdGl2ZSIvPgotCSAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJB
cmd1bWVudExpc3QiLz4KLQkgICAgICAgIDx4c2w6aWYgdGVzdD0iVHlwZS9kZXNjcmlwdGl2ZSI+
Ci0JICAgICAgICAgIDxkaXYgY2xhc3M9InJldHVybnR5cGUiPgotCSAgICAgICAgICAgIDxoNT5S
ZXR1cm4gdmFsdWU8L2g1PgotCSAgICAgICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVj
dD0iVHlwZS9kZXNjcmlwdGl2ZSIvPgotCSAgICAgICAgICA8L2Rpdj4KLQkgICAgICAgIDwveHNs
OmlmPgotCSAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJkZXNjcmlwdGl2ZS9D
b2RlIi8+Ci0JICAgIDwvZGQ+Ci0JPC9kaXY+Ci08L3hzbDp0ZW1wbGF0ZT4KLQotPCEtLUFyZ3Vt
ZW50TGlzdC4gVGhpcyBpcyBwYXNzZWQgJG5vZGVzYz10cnVlIHRvIG91dHB1dCBqdXN0IHRoZSBh
cmd1bWVudAotICAgIHR5cGVzIGFuZCBuYW1lcywgYW5kIG5vdCBhbnkgZG9jdW1lbnRhdGlvbiBm
b3IgdGhlbS4tLT4KLTx4c2w6dGVtcGxhdGUgbWF0Y2g9IkFyZ3VtZW50TGlzdCI+Ci0gICAgPHhz
bDpwYXJhbSBuYW1lPSJub2Rlc2MiLz4KLSAgICA8eHNsOmNob29zZT4KLSAgICAgICAgPHhzbDp3
aGVuIHRlc3Q9IiRub2Rlc2MiPgotICAgICAgICAgICAgPCEtLSRub2Rlc2MgaXMgdHJ1ZToganVz
dCBvdXRwdXQgdGhlIHR5cGVzIGFuZCBuYW1lcy0tPgotICAgICAgICAgICAgPHhzbDphcHBseS10
ZW1wbGF0ZXMgc2VsZWN0PSJBcmd1bWVudFsxXSI+Ci0gICAgICAgICAgICAgICAgPHhzbDp3aXRo
LXBhcmFtIG5hbWU9Im5vZGVzYyIgc2VsZWN0PSInbm9jb21tYSciLz4KLSAgICAgICAgICAgIDwv
eHNsOmFwcGx5LXRlbXBsYXRlcz4KLSAgICAgICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNl
bGVjdD0iQXJndW1lbnRbcG9zaXRpb24oKSAhPSAxXSI+Ci0gICAgICAgICAgICAgICAgPHhzbDp3
aXRoLXBhcmFtIG5hbWU9Im5vZGVzYyIgc2VsZWN0PSInY29tbWEnIi8+Ci0gICAgICAgICAgICA8
L3hzbDphcHBseS10ZW1wbGF0ZXM+Ci0gICAgICAgIDwveHNsOndoZW4+Ci0gICAgICAgIDx4c2w6
d2hlbiB0ZXN0PSJBcmd1bWVudCI+Ci0gICAgICAgICAgICA8IS0tJG5vZGVzYyBpcyBmYWxzZTog
b3V0cHV0IHRoZSBkb2N1bWVudGF0aW9uLS0+Ci0gICAgICAgICAgICA8ZGl2IGNsYXNzPSJwYXJh
bWV0ZXJzIj4KLSAgICAgICAgICAgICAgICA8aDY+UGFyYW1ldGVyczwvaDY+Ci0gICAgICAgICAg
ICAgICAgPHVsPgotICAgICAgICAgICAgICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcy8+Ci0g
ICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgIDwvZGl2PgotICAgICAgICA8L3hzbDp3
aGVuPgotICAgIDwveHNsOmNob29zZT4KLTwveHNsOnRlbXBsYXRlPgotCi08IS0tQXJndW1lbnQu
IFRoaXMgaXMgcGFzc2VkICRub2Rlc2M9ZmFsc2UgdG8gb3V0cHV0IHRoZSBkb2N1bWVudGF0aW9u
LAotICAgIG9yICRub2Rlc2M9Im5vY29tbWEiIHRvIG91dHB1dCB0aGUgdHlwZSBhbmQgbmFtZSwg
b3IgJG5vZGVzYz0iY29tbWEiCi0gICAgdG8gb3V0cHV0IGEgY29tbWEgdGhlbiB0aGUgdHlwZSBh
bmQgbmFtZS4gLS0+Ci08eHNsOnRlbXBsYXRlIG1hdGNoPSJBcmd1bWVudCI+Ci0gICAgPHhzbDpw
YXJhbSBuYW1lPSJub2Rlc2MiLz4KLSAgICA8eHNsOmNob29zZT4KLSAgICAgICAgPHhzbDp3aGVu
IHRlc3Q9IiRub2Rlc2MiPgotICAgICAgICAgICAgPCEtLSRub2Rlc2MgaXMgdHJ1ZToganVzdCBv
dXRwdXQgdGhlIHR5cGVzIGFuZCBuYW1lcy0tPgotICAgICAgICAgICAgPHhzbDppZiB0ZXN0PSIk
bm9kZXNjID0gJ2NvbW1hJyI+Ci0gICAgICAgICAgICAgICAgPCEtLU5lZWQgYSBjb21tYSBmaXJz
dC4tLT4KLSAgICAgICAgICAgICAgICA8eHNsOnRleHQ+LCA8L3hzbDp0ZXh0PgotICAgICAgICAg
ICAgPC94c2w6aWY+Ci0gICAgICAgICAgICA8eHNsOmlmIHRlc3Q9IkBpbiI+PHhzbDp2YWx1ZS1v
ZiBzZWxlY3Q9ImNvbmNhdChAaW4sICcgJykiLz48L3hzbDppZj4KLSAgICAgICAgICAgIDx4c2w6
aWYgdGVzdD0iQG9wdGlvbmFsIj48eHNsOnZhbHVlLW9mIHNlbGVjdD0iY29uY2F0KEBvcHRpb25h
bCwgJyAnKSIvPjwveHNsOmlmPgotICAgICAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2Vs
ZWN0PSJUeXBlIi8+Ci0gICAgICAgICAgICA8eHNsOmlmIHRlc3Q9IkBlbGxpcHNpcyI+PHhzbDp0
ZXh0Pi4uLjwveHNsOnRleHQ+PC94c2w6aWY+Ci0gICAgICAgICAgICA8eHNsOnRleHQ+IDwveHNs
OnRleHQ+Ci0gICAgICAgICAgICA8eHNsOnZhbHVlLW9mIHNlbGVjdD0iQG5hbWUiLz4KLQkgICAg
PHhzbDppZiB0ZXN0PSJAdmFsdWUiPgotCSAgICAgIDx4c2w6dGV4dD5EZWZhdWx0IHZhbHVlOiA8
L3hzbDp0ZXh0Pjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAdmFsdWUiLz4KLQkgICAgPC94c2w6aWY+
Ci0JICAgIDx4c2w6aWYgdGVzdD0iQHN0cmluZ3ZhbHVlIj4KLQkgICAgICA8eHNsOnRleHQ+RGVm
YXVsdCB2YWx1ZTogIjwveHNsOnRleHQ+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBzdHJpbmd2YWx1
ZSIvPjx4c2w6dGV4dD4iPC94c2w6dGV4dD4KLQkgICAgPC94c2w6aWY+CSAgICAKLSAgICAgICAg
PC94c2w6d2hlbj4KLSAgICAgICAgPHhzbDpvdGhlcndpc2U+Ci0gICAgICAgICAgICA8IS0tJG5v
ZGVzYyBpcyBmYWxzZTogb3V0cHV0IHRoZSBkb2N1bWVudGF0aW9uLS0+Ci0gICAgICAgICAgICA8
bGkgY2xhc3M9InBhcmFtIj4KLSAgICAgICAgICAgICAgICA8eHNsOnZhbHVlLW9mIHNlbGVjdD0i
QG5hbWUiLz46Ci0gICAgICAgICAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJk
ZXNjcmlwdGl2ZSIvPgotICAgICAgICAgICAgPC9saT4KLSAgICAgICAgPC94c2w6b3RoZXJ3aXNl
PgotICAgIDwveHNsOmNob29zZT4KLTwveHNsOnRlbXBsYXRlPgotCi08IS0tUmFpc2VzIChmb3Ig
YW4gT3BlcmF0aW9uKS4gSXQgaXMgYWxyZWFkeSBrbm93biB0aGF0IHRoZSBsaXN0Ci0gICAgaXMg
bm90IGVtcHR5Li0tPgotPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iUmFpc2VzIj4KLSAgICA8ZGl2IGNs
YXNzPSJleGNlcHRpb25saXN0Ij4KLSAgICAgICAgPGg1PkV4Y2VwdGlvbnM8L2g1PgotICAgICAg
ICA8dWw+Ci0gICAgICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcy8+Ci0gICAgICAgIDwvdWw+
Ci0gICAgPC9kaXY+Ci08L3hzbDp0ZW1wbGF0ZT4KLQotPCEtLVJhaXNlRXhjZXB0aW9uLCB0aGUg
bmFtZSBvZiBhbiBleGNlcHRpb24gaW4gYSBSYWlzZXMuLS0+Ci08eHNsOnRlbXBsYXRlIG1hdGNo
PSJSYWlzZUV4Y2VwdGlvbiI+Ci0gICAgPGxpIGNsYXNzPSJleGNlcHRpb24iPgotICAgICAgICA8
eHNsOnZhbHVlLW9mIHNlbGVjdD0iQG5hbWUiLz46Ci0gICAgICAgIDx4c2w6YXBwbHktdGVtcGxh
dGVzIHNlbGVjdD0iZGVzY3JpcHRpdmUiLz4KLSAgICA8L2xpPgotPC94c2w6dGVtcGxhdGU+Ci0K
LTwhLS1UeXBlLi0tPgotPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iVHlwZSI+Ci0gICAgPHhzbDpjaG9v
c2U+Ci0gICAgICAgIDx4c2w6d2hlbiB0ZXN0PSJUeXBlIj4KLSAgICAgICAgICAgIDx4c2w6dGV4
dD5zZXF1ZW5jZSAmbHQ7PC94c2w6dGV4dD4KLSAgICAgICAgICAgIDx4c2w6YXBwbHktdGVtcGxh
dGVzLz4KLSAgICAgICAgICAgIDx4c2w6dGV4dD4+PC94c2w6dGV4dD4KLSAgICAgICAgPC94c2w6
d2hlbj4KLSAgICAgICAgPHhzbDpvdGhlcndpc2U+Ci0gICAgICAgICAgICA8eHNsOnZhbHVlLW9m
IHNlbGVjdD0iQG5hbWUiLz4KLSAgICAgICAgICAgIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAdHlw
ZSIvPgotICAgICAgICAgICAgPHhzbDppZiB0ZXN0PSJAbnVsbGFibGUiPgotICAgICAgICAgICAg
ICAgIDx4c2w6dGV4dD4/PC94c2w6dGV4dD4KLSAgICAgICAgICAgIDwveHNsOmlmPgotICAgICAg
ICA8L3hzbDpvdGhlcndpc2U+Ci0gICAgPC94c2w6Y2hvb3NlPgotPC94c2w6dGVtcGxhdGU+Ci0K
LTwhLS1FbnVtLi0tPgotPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iRW51bVtkZXNjcmlwdGl2ZV0iPgot
ICAgIDx4c2w6dmFyaWFibGUgbmFtZT0ibmFtZSIgc2VsZWN0PSJAbmFtZSIvPgotICAgIDxkaXYg
Y2xhc3M9ImVudW0iIGlkPSJ7QGlkfSI+Ci0gICAgICAgIDxoMz48Y29kZT48eHNsOnZhbHVlLW9m
IHNlbGVjdD0iQG5hbWUiLz48L2NvZGU+PC9oMz4KLSAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0
ZXMgc2VsZWN0PSJkZXNjcmlwdGl2ZS9icmllZiIvPgotICAgICAgICA8eHNsOmFwcGx5LXRlbXBs
YXRlcyBzZWxlY3Q9IndlYmlkbCIvPgotICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxl
Y3Q9ImRlc2NyaXB0aXZlIi8+Ci0gICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0i
ZGVzY3JpcHRpdmUvQ29kZSIvPgotICAgICAgICA8ZGl2IGNsYXNzPSJlbnVtdmFsdWVzIj4KLSAg
ICAgICAgICAgIDxoND5WYWx1ZXM8L2g0PgotICAgICAgICAgICAgPGRsPgotICAgICAgICAgICAg
ICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9IkVudW1WYWx1ZSIvPgotICAgICAgICAgICAg
PC9kbD4KLSAgICAgICAgPC9kaXY+Ci0gICAgPC9kaXY+Ci08L3hzbDp0ZW1wbGF0ZT4KLTx4c2w6
dGVtcGxhdGUgbWF0Y2g9IkVudW1bbm90KGRlc2NyaXB0aXZlKV0iPgotPC94c2w6dGVtcGxhdGU+
Ci0KLTwhLS1FbnVtVmFsdWUtLT4KLTx4c2w6dGVtcGxhdGUgbWF0Y2g9IkVudW1WYWx1ZSI+Ci0g
IDxkdCBjbGFzcz0iZW51bXZhbHVlIiBpZD0ie0BpZH0iPgotICAgIDxjb2RlPgotICAgICAgPHhz
bDp2YWx1ZS1vZiBzZWxlY3Q9IkBzdHJpbmd2YWx1ZSIvPgotICAgIDwvY29kZT4KLSAgPC9kdD4K
LSAgPGRkPgotICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iZGVzY3JpcHRpdmUvYnJp
ZWYiLz4KLSAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9ImRlc2NyaXB0aXZlIi8+Ci0g
ICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJkZXNjcmlwdGl2ZS9Db2RlIi8+Ci0gIDwv
ZGQ+Ci08L3hzbDp0ZW1wbGF0ZT4KLQotPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iZGVzY3JpcHRpdmVb
bm90KGF1dGhvcildIj4KLSAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJ2ZXJzaW9uIi8+
Ci0gIDx4c2w6aWYgdGVzdD0iYXV0aG9yIj4KLSAgPC94c2w6aWY+Ci0gIDx4c2w6YXBwbHktdGVt
cGxhdGVzIHNlbGVjdD0iZGVzY3JpcHRpb24iLz4KLTwveHNsOnRlbXBsYXRlPgotCi08IS0tYnJp
ZWYtLT4KLTx4c2w6dGVtcGxhdGUgbWF0Y2g9ImJyaWVmIj4KLSAgICA8ZGl2IGNsYXNzPSJicmll
ZiI+Ci0gICAgICAgIDxwPgotICAgICAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMvPgotICAg
ICAgICA8L3A+Ci0gICAgPC9kaXY+Ci08L3hzbDp0ZW1wbGF0ZT4KLQotPCEtLWRlc2NyaXB0aW9u
IGluIFJldHVyblR5cGUgb3IgQXJndW1lbnQgb3IgU2NvcGVkTmFtZS0tPgotPHhzbDp0ZW1wbGF0
ZSBtYXRjaD0iVHlwZS9kZXNjcmlwdGl2ZS9kZXNjcmlwdGlvbnxBcmd1bWVudC9kZXNjcmlwdGl2
ZS9kZXNjcmlwdGlvbnxOYW1lL2Rlc2NyaXB0aXZlL2Rlc2NyaXB0aW9uIj4KLSAgICA8IS0tSWYg
dGhlIGRlc2NyaXB0aW9uIGNvbnRhaW5zIGp1c3QgYSBzaW5nbGUgPHA+IHRoZW4gd2Ugb21pdAot
ICAgICAgICB0aGUgPHA+IGFuZCBqdXN0IGRvIGl0cyBjb250ZW50cy4tLT4KLSAgICA8eHNsOmNo
b29zZT4KLSAgICAgICAgPHhzbDp3aGVuIHRlc3Q9InAgYW5kIGNvdW50KCopID0gMSI+Ci0gICAg
ICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9InAvKnxwL3RleHQoKSIvPgotICAg
ICAgICA8L3hzbDp3aGVuPgotICAgICAgICA8eHNsOm90aGVyd2lzZT4KLSAgICAgICAgICAgIDxk
aXYgY2xhc3M9ImRlc2NyaXB0aW9uIj4KLSAgICAgICAgICAgICAgICA8eHNsOmFwcGx5LXRlbXBs
YXRlcy8+Ci0gICAgICAgICAgICA8L2Rpdj4KLSAgICAgICAgPC94c2w6b3RoZXJ3aXNlPgotICAg
IDwveHNsOmNob29zZT4KLTwveHNsOnRlbXBsYXRlPgotCi08IS0tT3RoZXIgZGVzY3JpcHRpb24t
LT4KLTx4c2w6dGVtcGxhdGUgbWF0Y2g9ImRlc2NyaXB0aW9uIj4KLSAgICA8ZGl2IGNsYXNzPSJk
ZXNjcmlwdGlvbiI+Ci0gICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzLz4KLSAgICA8L2Rpdj4K
LTwveHNsOnRlbXBsYXRlPgotCi08IS0tQ29kZS0tPgotPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iQ29k
ZSI+Ci0gICAgPGRpdiBjbGFzcz0iZXhhbXBsZSI+Ci0gICAgCTx4c2w6Y2hvb3NlPgotICAgICAg
ICAJPHhzbDp3aGVuIHRlc3Q9IkBsYW5nIj4KLQkgICAgICAgCQk8aDU+PHhzbDp2YWx1ZS1vZiBz
ZWxlY3Q9IkBsYW5nIi8+PC9oNT4KLSAgICAgICAgCTwveHNsOndoZW4+Ci0gICAgICAgIAk8eHNs
Om90aGVyd2lzZT4KLQkgICAgICAgCQk8aDU+Q29kZSBleGFtcGxlPC9oNT4KLSAgICAgICAgCTwv
eHNsOm90aGVyd2lzZT4KLSAgICAJPC94c2w6Y2hvb3NlPgotICAgICAgICA8cHJlIGNsYXNzPSJl
eGFtcGxlY29kZSI+PHhzbDphcHBseS10ZW1wbGF0ZXMvPjwvcHJlPgotICAgIDwvZGl2PgotPC94
c2w6dGVtcGxhdGU+Ci0KLTwhLS13ZWJpZGwgOiBsaXRlcmFsIFdlYiBJREwgZnJvbSBpbnB1dC0t
PgotPHhzbDp0ZW1wbGF0ZSBtYXRjaD0id2ViaWRsIj4KLSAgICA8aDU+V2ViSURMPC9oNT4KLSAg
ICA8cHJlIGNsYXNzPSJ3ZWJpZGwiPjx4c2w6YXBwbHktdGVtcGxhdGVzLz48L3ByZT4KLTwveHNs
OnRlbXBsYXRlPgotCi08IS0tYXV0aG9yLS0+Ci08eHNsOnRlbXBsYXRlIG1hdGNoPSJhdXRob3Ii
PgotICAgIDxsaSBjbGFzcz0iYXV0aG9yIj48eHNsOmFwcGx5LXRlbXBsYXRlcy8+PC9saT4KLTwv
eHNsOnRlbXBsYXRlPgotCi08IS0tdmVyc2lvbi0tPgotPHhzbDp0ZW1wbGF0ZSBtYXRjaD0idmVy
c2lvbiI+Ci0gICAgPGRpdiBjbGFzcz0idmVyc2lvbiI+Ci0gICAgICAgIDxoMj4KLSAgICAgICAg
ICAgIFZlcnNpb246IDx4c2w6YXBwbHktdGVtcGxhdGVzLz4KLSAgICAgICAgPC9oMj4KLSAgICA8
L2Rpdj4KLTwveHNsOnRlbXBsYXRlPgotCi08IS0tYXBpLWZlYXR1cmUtLT4KLTx4c2w6dGVtcGxh
dGUgbWF0Y2g9ImFwaS1mZWF0dXJlIj4KLSAgICA8ZHQ+Ci0gICAgICAgIDx4c2w6dmFsdWUtb2Yg
c2VsZWN0PSJAaWRlbnRpZmllciIvPgotICAgIDwvZHQ+Ci0gICAgPGRkPgotICAgICAgICA8eHNs
OmFwcGx5LXRlbXBsYXRlcy8+Ci0gICAgPC9kZD4KLTwveHNsOnRlbXBsYXRlPgotCi08IS0tcGFy
YW0tLT4KLTx4c2w6dGVtcGxhdGUgbWF0Y2g9InBhcmFtIj4KLSAgICA8bGk+Ci0gICAgICAgIDxj
b2RlPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAaWRlbnRpZmllciIvPjwvY29kZT46Ci0gICAgICAg
IDx4c2w6YXBwbHktdGVtcGxhdGVzLz4KLSAgICA8L2xpPgotPC94c2w6dGVtcGxhdGU+Ci0KLTwh
LS1kZWYtaW5zdGFudGlhdGVkLgotICAgIFRoaXMgYXNzdW1lcyB0aGF0IG9ubHkgb25lIGludGVy
ZmFjZSBpbiB0aGUgbW9kdWxlIGhhcyBhIGRlZi1pbnN0YW50aWF0ZWQsCi0gICAgYW5kIHRoYXQg
aW50ZXJmYWNlIGNvbnRhaW5zIGp1c3Qgb25lIGF0dHJpYnV0ZS4tLT4KLTx4c2w6dGVtcGxhdGUg
bWF0Y2g9ImRlZi1pbnN0YW50aWF0ZWQiPgotICAgIDx4c2w6dmFyaWFibGUgbmFtZT0iaWZhY2Vu
YW1lIiBzZWxlY3Q9Ii4uLy4uL0BuYW1lIi8+Ci0gICAgPHA+Ci0gICAgICAgIDx4c2w6Y2hvb3Nl
PgotICAgICAgICAgICAgPHhzbDp3aGVuIHRlc3Q9ImNvdW50KGRlc2NyaXB0aXZlL2FwaS1mZWF0
dXJlKT0xIj4KLSAgICAgICAgICAgICAgICBXaGVuIHRoZSBmZWF0dXJlCi0gICAgICAgICAgICA8
L3hzbDp3aGVuPgotICAgICAgICAgICAgPHhzbDpvdGhlcndpc2U+Ci0gICAgICAgICAgICAgICAg
V2hlbiBhbnkgb2YgdGhlIGZlYXR1cmVzCi0gICAgICAgICAgICA8L3hzbDpvdGhlcndpc2U+Ci0g
ICAgICAgIDwveHNsOmNob29zZT4KLSAgICA8L3A+Ci0gICAgPHVsPgotICAgICAgICA8eHNsOmZv
ci1lYWNoIHNlbGVjdD0iZGVzY3JpcHRpdmUvYXBpLWZlYXR1cmUiPgotICAgICAgICAgICAgPGxp
Pjxjb2RlPgotICAgICAgICAgICAgICAgIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAaWRlbnRpZmll
ciIvPgotICAgICAgICAgICAgPC9jb2RlPjwvbGk+Ci0gICAgICAgIDwveHNsOmZvci1lYWNoPgot
ICAgIDwvdWw+Ci0gICAgPHA+Ci0gICAgICAgIGlzIHN1Y2Nlc3NmdWxseSByZXF1ZXN0ZWQsIHRo
ZSBpbnRlcmZhY2UKLSAgICAgICAgPGNvZGU+PHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSIu
Li8uLi9BdHRyaWJ1dGUvVHlwZSIvPjwvY29kZT4KLSAgICAgICAgaXMgaW5zdGFudGlhdGVkLCBh
bmQgdGhlIHJlc3VsdGluZyBvYmplY3QgYXBwZWFycyBpbiB0aGUgZ2xvYmFsCi0gICAgICAgIG5h
bWVzcGFjZSBhcwotICAgICAgICA8Y29kZT48eHNsOnZhbHVlLW9mIHNlbGVjdD0iLi4vLi4vLi4v
SW1wbGVtZW50c1tAbmFtZTI9JGlmYWNlbmFtZV0vQG5hbWUxIi8+Ljx4c2w6dmFsdWUtb2Ygc2Vs
ZWN0PSIuLi8uLi9BdHRyaWJ1dGUvQG5hbWUiLz48L2NvZGU+LgotICAgIDwvcD4KLTwveHNsOnRl
bXBsYXRlPgotCi0KLQotPCEtLWh0bWwgZWxlbWVudHMtLT4KLTx4c2w6dGVtcGxhdGUgbWF0Y2g9
ImF8YnxicnxkZHxkbHxkdHxlbXxsaXxwfHRhYmxlfHRkfHRofHRyfHVsIj4KLSAgICA8eHNsOmVs
ZW1lbnQgbmFtZT0ie25hbWUoKX0iPjx4c2w6Zm9yLWVhY2ggc2VsZWN0PSJAKiI+PHhzbDphdHRy
aWJ1dGUgbmFtZT0ie25hbWUoKX0iPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIuIi8+PC94c2w6YXR0
cmlidXRlPjwveHNsOmZvci1lYWNoPjx4c2w6YXBwbHktdGVtcGxhdGVzLz48L3hzbDplbGVtZW50
PgotPC94c2w6dGVtcGxhdGU+Ci0KLTx4c2w6dGVtcGxhdGUgbmFtZT0ic3VtbWFyeSI+Ci0gIDx0
YWJsZSBjbGFzcz0ic3VtbWFyeSI+Ci0gICAgPHRoZWFkPgotICAgICAgPHRyPjx0aD5JbnRlcmZh
Y2U8L3RoPjx0aD5NZXRob2Q8L3RoPjwvdHI+Ci0gICAgPC90aGVhZD4KLSAgICA8dGJvZHk+Ci0g
ICAgICA8eHNsOmZvci1lYWNoIHNlbGVjdD0iSW50ZXJmYWNlW2Rlc2NyaXB0aXZlXSI+Ci0gICAg
ICAgIDx0cj48dGQ+PGEgaHJlZj0iI3tAaWR9Ij48eHNsOnZhbHVlLW9mIHNlbGVjdD0iQG5hbWUi
Lz48L2E+PC90ZD4KLSAgICAgICAgPHRkPgotICAgICAgICAgIDx4c2w6Zm9yLWVhY2ggc2VsZWN0
PSJPcGVyYXRpb24iPgotCi0gICAgICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9
IlR5cGUiLz4KLSAgICAgICAgICAgIDx4c2w6dGV4dD4gPC94c2w6dGV4dD4KLSAgICAgICAgICAg
IDxhIGhyZWY9IiN7Y29uY2F0KEBuYW1lLGdlbmVyYXRlLWlkKC4pKX0iPjx4c2w6dmFsdWUtb2Yg
c2VsZWN0PSJAbmFtZSIvPjwvYT4KLSAgICAgICAgICAgIDx4c2w6dGV4dD4oPC94c2w6dGV4dD4K
LSAgICAgICAgICAgIDx4c2w6Zm9yLWVhY2ggc2VsZWN0PSJBcmd1bWVudExpc3QvQXJndW1lbnQi
PgotICAgICAgICAgICAgICA8eHNsOnZhcmlhYmxlIG5hbWU9InR5cGUiPjx4c2w6YXBwbHktdGVt
cGxhdGVzIHNlbGVjdD0iVHlwZSIvPjwveHNsOnZhcmlhYmxlPgotICAgICAgICAgICAgICA8eHNs
OnZhbHVlLW9mIHNlbGVjdD0iY29uY2F0KG5vcm1hbGl6ZS1zcGFjZSgkdHlwZSksJyAnLEBuYW1l
KSIvPgotICAgICAgICAgICAgICA8eHNsOmlmIHRlc3Q9InBvc2l0aW9uKCkgIT0gbGFzdCgpIj4s
IDwveHNsOmlmPgotICAgICAgICAgICAgPC94c2w6Zm9yLWVhY2g+Ci0gICAgICAgICAgICA8eHNs
OnRleHQ+KTwveHNsOnRleHQ+Ci0gICAgICAgICAgICA8eHNsOmlmIHRlc3Q9InBvc2l0aW9uKCkh
PWxhc3QoKSI+PGJyLz48L3hzbDppZj4KLSAgICAgICAgICA8L3hzbDpmb3ItZWFjaD4KLSAgICAg
ICAgPC90ZD4KLSAgICAgICAgPC90cj4KLSAgICAgIDwveHNsOmZvci1lYWNoPgotICAgIDwvdGJv
ZHk+Ci0gIDwvdGFibGU+Ci08L3hzbDp0ZW1wbGF0ZT4KLQotPCEtLTxyZWY+IGVsZW1lbnQgaW4g
bGl0ZXJhbCBXZWIgSURMLi0tPgotPHhzbDp0ZW1wbGF0ZSBtYXRjaD0icmVmW0ByZWZdIj4KLSAg
ICA8YSBocmVmPSJ7QHJlZn0iPgotICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcy8+Ci0gICAg
PC9hPgotPC94c2w6dGVtcGxhdGU+Ci0KLTwveHNsOnN0eWxlc2hlZXQ+Ci0KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L01ha2VmaWxlIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rl
c3QvTWFrZWZpbGUKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM0MDkzOWUzNmZjLi4w
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9NYWtlZmlsZQorKysgL2Rl
di9udWxsCkBAIC0xLDkxICswLDAgQEAKLSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwotIyAkSWQ6IE1ha2VmaWxl
IDQxOCAyMDEwLTA2LTE2IDE1OjI2OjUxWiB0cHIgJAotIyBDb3B5cmlnaHQgMjAwOSBBcGxpeCBD
b3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSMgTGljZW5zZWQgdW5kZXIgdGhlIEFw
YWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7Ci0jIHlvdSBtYXkgbm90
IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KLSMg
WW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0Ci0jICAgICBodHRwOi8vd3d3
LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKLSMgVW5sZXNzIHJlcXVpcmVkIGJ5IGFw
cGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQotIyBkaXN0cmli
dXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lT
LAotIyBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVy
IGV4cHJlc3Mgb3IgaW1wbGllZC4KLSMgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMg
bGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAotIyBsaW1pdGF0aW9ucyB1bmRlciB0
aGUgTGljZW5zZS4KLSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwotCi1VTkFNRSA9ICQoc2hlbGwgdW5hbWUpCi1W
QUxJRFRFU1RESVIgPSB2YWxpZC9pZGwKLVZBTElEVEVTVFJFRkRJUiA9IHZhbGlkL3htbAotVkFM
SURURVNUT0JKRElSID0gdmFsaWQvb2JqCi1JTlZBTElEVEVTVERJUiA9IGludmFsaWQvaWRsCi1J
TlZBTElEVEVTVFJFRkRJUiA9IGludmFsaWQvZXJyb3IKLUlOVkFMSURURVNUT0JKRElSID0gaW52
YWxpZC9vYmoKLQotIyBUaGUgc2V0dGluZ3Mgb2YgU1JDRElSICh3aGVyZSB0byBmaW5kIHRoZSB4
c2wgc3R5bGUgc2hlZXRzKSwgT0JKRElSICh3aGVyZSB0bwotIyBmaW5kIHdpZGxwcm9jIGFuZCB3
aWRscHJvY3htbC5kdGQpIGFuZCBWQUxEVEVTVE9CSkRJUiAod2hlcmUgdG8gcHV0IHRoZQotIyBy
ZXN1bHRpbmcgWE1MIGZpbGVzKSByZWZsZWN0IHRoZSBkaXJlY3RvcnkKLSMgc3RydWN0dXJlIG9m
IHRoZSByZWxlYXNlZCB3aWRscHJvYy56aXAgZmlsZSB3aGVuIHVuemlwcGVkLiAuLi9NYWtlZmls
ZSBjYWxscwotIyB0aGlzIE1ha2VmaWxlIHdpdGggdGhlc2Ugc2V0dGluZ3Mgb3ZlcnJpZGRlbiB0
byByZWZsZWN0IHRoZSBkaXJlY3RvcnkKLSMgc3RydWN0dXJlIGluIHN2bi4KLVNSQ0RJUiA9IC4u
Ci1PQkpESVIgPSAuLgotCi0jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKLSMgTGludXggY29uZmlndXJhdGlvbgot
IwotaWZuZXEgKCwkKGZpbHRlciBMaW51eCUsICQoVU5BTUUpKSkgCi0KLUVYRVNVRkZJWCA9Ci0K
LWVsc2UKLSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIwotIyBEYXJ3aW4gY29uZmlndXJhdGlvbgotIwotaWZuZXEg
KCwkKGZpbHRlciBEYXJ3aW4lLCAkKFVOQU1FKSkpIAotCi1FWEVTVUZGSVggPQotCi1lbHNlCi0j
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMKLSMgV2luZG93cyAoY3lnd2luIGJ1dCB1c2luZyBNUyBjb21waWxlcikg
Y29uZmlndXJhdGlvbgotIwotaWZuZXEgKCwkKGZpbHRlciBDWUdXSU4lLCAkKFVOQU1FKSkpIAot
Ci1FWEVTVUZGSVggPSAuZXhlCi0KLWVuZGlmCi1lbmRpZgotZW5kaWYKLQotIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjCi0jIENvbW1vbiBtYWtlZmlsZQotIwotV0lETFBST0MgPSAkKE9CSkRJUikvd2lkbHByb2Mk
KEVYRVNVRkZJWCkKLURURCA9ICQoT0JKRElSKS93aWRscHJvY3htbC5kdGQKLQotVkFMSURfV0lE
TFMgPSAkKHBhdHN1YnN0ICQoVkFMSURURVNURElSKS8lLCAlLCAkKHdpbGRjYXJkICQoVkFMSURU
RVNURElSKS8qLndpZGwpKQotSU5WQUxJRF9XSURMUyA9ICQocGF0c3Vic3QgJChJTlZBTElEVEVT
VERJUikvJSwgJSwgJCh3aWxkY2FyZCAkKElOVkFMSURURVNURElSKS8qLndpZGwpKQotCi10ZXN0
IDogJChwYXRzdWJzdCAlLndpZGwsICQoVkFMSURURVNUT0JKRElSKS8lLndpZGxwcm9jeG1sLCAk
KFZBTElEX1dJRExTKSkgJChwYXRzdWJzdCAlLndpZGwsICQoSU5WQUxJRFRFU1RPQkpESVIpLyUu
dHh0LCAkKElOVkFMSURfV0lETFMpKSAkKFdJRExQUk9DKSAKLQlAZWNobyAiJEAgcGFzcyIKLQot
IyQoRVhBTVBMRVNPQkpESVIpLyUuaHRtbCA6ICQoRVhBTVBMRVNPQkpESVIpLyUud2lkbHByb2N4
bWwgJChTUkNESVIpL3dpZGxwcm9jeG1sdG9odG1sLnhzbCBNYWtlZmlsZQotIwljcCAkKFNSQ0RJ
Uikvd2lkbHByb2N4bWx0b2h0bWwueHNsICQoZGlyICRAKS8KLSMJeHNsdHByb2MgJChkaXIgJEAp
L3dpZGxwcm9jeG1sdG9odG1sLnhzbCAkPCA+JEAKLQotCi0kKFZBTElEVEVTVE9CSkRJUikvJS53
aWRscHJvY3htbCA6ICQoVkFMSURURVNURElSKS8lLndpZGwgJChXSURMUFJPQykgJChEVEQpIE1h
a2VmaWxlICQocGF0c3Vic3QgJS53aWRsLCAkKFZBTElEVEVTVFJFRkRJUikvJS53aWRscHJvY3ht
bCwgJChWQUxJRF9XSURMUykpCi0JbWtkaXIgLXAgJChkaXIgJEApCi0JJChXSURMUFJPQykgJDwg
PiRACi0JY3AgJChPQkpESVIpL3dpZGxwcm9jeG1sLmR0ZCAkKGRpciAkQCkvCi0JeG1sbGludCAt
LW5vb3V0IC0tZHRkdmFsaWQgJChEVEQpICRACi0JZGlmZiAkQCAkKFZBTElEVEVTVFJFRkRJUikv
YGJhc2VuYW1lICRAYAotCi0kKElOVkFMSURURVNUT0JKRElSKS8lLnR4dCA6ICQoSU5WQUxJRFRF
U1RESVIpLyUud2lkbCAkKFdJRExQUk9DKSBNYWtlZmlsZSAkKHBhdHN1YnN0ICUud2lkbCwgJChJ
TlZBTElEVEVTVFJFRkRJUikvJS50eHQsICQoSU5WQUxJRF9XSURMUykpCi0JbWtkaXIgLXAgJChk
aXIgJEApCi0JLSQoV0lETFBST0MpICQ8ICA+JEAgMj4mMQotCWRpZmYgJEAgJChJTlZBTElEVEVT
VFJFRkRJUikvYGJhc2VuYW1lICRAYAotCi0KLQotLkRFTEVURV9PTl9FUlJPUjoKLQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvaW52YWxpZC9lcnJvci9lbnVtLnR4dCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC93aWRscHJvYy90ZXN0L2ludmFsaWQvZXJyb3IvZW51bS50eHQKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDZmOGJhOGVlZjQ2Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvd2lkbHByb2MvdGVzdC9pbnZhbGlkL2Vycm9yL2VudW0udHh0CisrKyAvZGV2L251bGwKQEAg
LTEgKzAsMCBAQAotaW52YWxpZC9pZGwvZW51bS53aWRsOiAxOiBhdCAnMSc6IGV4cGVjdGVkIHN0
cmluZyBpbiBlbnVtCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9pbnZhbGlk
L2Vycm9yL21vZHVsZS50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9pbnZhbGlkL2Vycm9y
L21vZHVsZS50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDdlNTA0MzE2ZTUxLi4w
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9pbnZhbGlkL2Vycm9yL21v
ZHVsZS50eHQKKysrIC9kZXYvbnVsbApAQCAtMSArMCwwIEBACi1pbnZhbGlkL2lkbC9tb2R1bGUu
d2lkbDogMjogYXQgJ2dmeCc6IGV4cGVjdGVkICdpbXBsZW1lbnRzJwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L3dpZGxwcm9jL3Rlc3QvaW52YWxpZC9lcnJvci9ub25udWxsYWJsZWFueS50eHQgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9pbnZhbGlkL2Vycm9yL25vbm51bGxhYmxlYW55LnR4dApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZWVlYjI1ZjEyYWIuLjAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L2ludmFsaWQvZXJyb3Ivbm9ubnVsbGFibGVhbnku
dHh0CisrKyAvZGV2L251bGwKQEAgLTEgKzAsMCBAQAotaW52YWxpZC9pZGwvbm9ubnVsbGFibGVh
bnkud2lkbDogMjogYXQgJz8nOiBleHBlY3RlZCBpZGVudGlmaWVyCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvd2lkbHByb2MvdGVzdC9pbnZhbGlkL2Vycm9yL25vbm51bGxhYmxlb2JqZWN0cy50eHQg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9pbnZhbGlkL2Vycm9yL25vbm51bGxhYmxlb2JqZWN0
cy50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDUyNjYyMjU5OWI3Li4wMDAwMDAw
MDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9pbnZhbGlkL2Vycm9yL25vbm51bGxh
Ymxlb2JqZWN0cy50eHQKKysrIC9kZXYvbnVsbApAQCAtMSArMCwwIEBACi1pbnZhbGlkL2lkbC9u
b25udWxsYWJsZW9iamVjdHMud2lkbDogNDogYXQgJz8nOiBleHBlY3RlZCBpZGVudGlmaWVyCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9pbnZhbGlkL2Vycm9yL3Njb3BlZG5h
bWUudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvaW52YWxpZC9lcnJvci9zY29wZWRuYW1l
LnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTY0NjYwOGNkMzcuLjAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L2ludmFsaWQvZXJyb3Ivc2NvcGVkbmFt
ZS50eHQKKysrIC9kZXYvbnVsbApAQCAtMSArMCwwIEBACi1pbnZhbGlkL2lkbC9zY29wZWRuYW1l
LndpZGw6IDI6IGF0ICc6JzogZXhwZWN0ZWQgaWRlbnRpZmllcgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3dpZGxwcm9jL3Rlc3QvaW52YWxpZC9lcnJvci9zZXF1ZW5jZUFzQXR0cmlidXRlLnR4dCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L2ludmFsaWQvZXJyb3Ivc2VxdWVuY2VBc0F0dHJpYnV0
ZS50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDE1OTYwY2I4YjVmLi4wMDAwMDAw
MDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9pbnZhbGlkL2Vycm9yL3NlcXVlbmNl
QXNBdHRyaWJ1dGUudHh0CisrKyAvZGV2L251bGwKQEAgLTEgKzAsMCBAQAotaW52YWxpZC9pZGwv
c2VxdWVuY2VBc0F0dHJpYnV0ZS53aWRsOiAyOiBhdCAnc2VxdWVuY2UnOiBleHBlY3RlZCB0eXBl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9pbnZhbGlkL2Vycm9yL3N0cmlu
Z2NvbnN0YW50cy5pZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9pbnZhbGlkL2Vycm9yL3N0
cmluZ2NvbnN0YW50cy5pZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDE1NWE4OTJj
NTVhLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9pbnZhbGlkL2Vy
cm9yL3N0cmluZ2NvbnN0YW50cy5pZGwKKysrIC9kZXYvbnVsbApAQCAtMSArMCwwIEBACi1pbnZh
bGlkL2lkbC9zdHJpbmdjb25zdGFudHMuaWRsOiAyOiBhdCAnRE9NU3RyaW5nJzogZXhwZWN0ZWQg
YWNjZXB0YWJsZSBjb25zdGFudCB0eXBlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mv
dGVzdC9pbnZhbGlkL2Vycm9yL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rl
c3QvaW52YWxpZC9lcnJvci93M2MtaW1wb3J0LmxvZwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggNmNlODU1Y2FiNjkuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90
ZXN0L2ludmFsaWQvZXJyb3IvdzNjLWltcG9ydC5sb2cKKysrIC9kZXYvbnVsbApAQCAtMSwyNCAr
MCwwIEBACi1UaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRo
ZSBXM0MgcmVwb3NpdG9yeS4KLURvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4g
V2ViS2l0LgotSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXM0MgQ1NTIG9y
IFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy10ZXN0Ci0JaHR0cHM6
Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMKLQotVGhlbiBydW4gdGhlIFRvb2xz
L1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKLQotRG8gTk9U
IG1vZGlmeSBvciByZW1vdmUgdGhpcyBmaWxlLgotCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLVByb3BlcnRp
ZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKLU5vbmUKLVByb3BlcnR5IHZhbHVlcyByZXF1
aXJpbmcgdmVuZG9yIHByZWZpeGVzOgotTm9uZQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1MaXN0IG9mIGZp
bGVzOgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L2ludmFsaWQvZXJyb3IvZW51bS50eHQKLS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9pbnZhbGlkL2Vycm9yL21vZHVsZS50eHQKLS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvd2lkbHByb2MvdGVzdC9pbnZhbGlkL2Vycm9yL25vbm51bGxhYmxlYW55LnR4dAotL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC93aWRscHJvYy90ZXN0L2ludmFsaWQvZXJyb3Ivbm9ubnVsbGFibGVvYmplY3RzLnR4dAot
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L2ludmFsaWQvZXJyb3Ivc2NvcGVkbmFtZS50eHQKLS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9pbnZhbGlkL2Vycm9yL3NlcXVlbmNlQXNBdHRyaWJ1dGUu
dHh0Ci0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvaW52YWxpZC9lcnJvci9zdHJpbmdjb25zdGFu
dHMuaWRsCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9pbnZhbGlkL2lkbC9l
bnVtLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9pbnZhbGlkL2lkbC9lbnVtLndpZGwK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGMzNTVjMzI1MWMwLi4wMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9pbnZhbGlkL2lkbC9lbnVtLndpZGwKKysrIC9k
ZXYvbnVsbApAQCAtMSArMCwwIEBACi1lbnVtIGZvbyB7IDEsIDIsIDN9OwpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L2ludmFs
aWQvaWRsL21vZHVsZS53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvaW52YWxpZC9pZGwv
bW9kdWxlLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGE0Yzc5ZmRmMTU1Li4w
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9pbnZhbGlkL2lkbC9tb2R1
bGUud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDI1ICswLDAgQEAKLS8vIEV4dHJhY3RlZCBmcm9t
IGh0dHA6Ly9kZXYudzMub3JnLzIwMDYvd2ViYXBpL1dlYklETC8gb24gMjAxMS0wNS0wNgotbW9k
dWxlIGdmeCB7Ci0KLSAgbW9kdWxlIGdlb20gewotICAgIGludGVyZmFjZSBTaGFwZSB7IC8qIC4u
LiAqLyB9OwotICAgIGludGVyZmFjZSBSZWN0YW5nbGUgOiBTaGFwZSB7IC8qIC4uLiAqLyB9Owot
ICAgIGludGVyZmFjZSBQYXRoIDogU2hhcGUgeyAvKiAuLi4gKi8gfTsKLSAgfTsKLQotICBpbnRl
cmZhY2UgR3JhcGhpY3NDb250ZXh0IHsKLSAgICB2b2lkIGZpbGxTaGFwZShnZW9tOjpTaGFwZSBz
KTsKLSAgICB2b2lkIHN0cm9rZVNoYXBlKGdlb206OlNoYXBlIHMpOwotICB9OwotfTsKLQotbW9k
dWxlIGd1aSB7Ci0KLSAgaW50ZXJmYWNlIFdpZGdldCB7IC8qIC4uLiAqLyAgfTsKLQotICBpbnRl
cmZhY2UgV2luZG93IDogV2lkZ2V0IHsKLSAgICBnZng6OkdyYXBoaWNzQ29udGV4dCBnZXRHcmFw
aGljc0NvbnRleHQoKTsKLSAgfTsKLQotICBpbnRlcmZhY2UgQnV0dG9uIDogV2lkZ2V0IHsgLyog
Li4uICovICB9OwotfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9pbnZhbGlkL2lkbC9ub25udWxsYWJsZWFueS53aWRsIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvaW52YWxpZC9pZGwvbm9ubnVsbGFibGVhbnkud2lkbApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzg5NTc2NTU1MjMuLjAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L2ludmFsaWQvaWRsL25vbm51bGxhYmxlYW55Lndp
ZGwKKysrIC9kZXYvbnVsbApAQCAtMSwzICswLDAgQEAKLWludGVyZmFjZSBOb25OdWxsYWJsZSB7
Ci0gIGF0dHJpYnV0ZSBhbnk/IGZvbzsKLX07ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvaW52YWxpZC9pZGwvbm9ubnVsbGFi
bGVvYmplY3RzLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9pbnZhbGlkL2lkbC9ub25u
dWxsYWJsZW9iamVjdHMud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMWRlYWM1
YWVlYzkuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L2ludmFsaWQv
aWRsL25vbm51bGxhYmxlb2JqZWN0cy53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsNSArMCwwIEBA
Ci1pbnRlcmZhY2UgRm9vIHt9OwotCi1pbnRlcmZhY2UgTm9uTnVsbGFibGUgewotICBhdHRyaWJ1
dGUgRm9vPz8gZm9vOwotfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9pbnZhbGlkL2lkbC9yYWlzZXMud2lkbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC93aWRscHJvYy90ZXN0L2ludmFsaWQvaWRsL3JhaXNlcy53aWRsCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCBmZjY1NTIyZjJiMy4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3dpZGxwcm9jL3Rlc3QvaW52YWxpZC9pZGwvcmFpc2VzLndpZGwKKysrIC9kZXYvbnVsbApAQCAt
MSwxOCArMCwwIEBACi0vLyBnZXRyYWlzZXMgYW5kIHNldHJhaXNlcyBhcmUgbm90IGxvbmdlciB2
YWxpZCBXZWIgSURMCi1pbnRlcmZhY2UgUGVyc29uIHsKLQotICAvLyBBbiBhdHRyaWJ1dGUgdGhh
dCBjYW4gcmFpc2UgYW4gZXhjZXB0aW9uIGlmIGl0IGlzIHNldCB0byBhbiBpbnZhbGlkIHZhbHVl
LgotICBhdHRyaWJ1dGUgRE9NU3RyaW5nIG5hbWUgc2V0cmFpc2VzIChJbnZhbGlkTmFtZSk7Ci0K
LSAgLy8gQW4gYXR0cmlidXRlIHdob3NlIHZhbHVlIGNhbm5vdCBiZSBhc3NpZ25lZCB0bywgYW5k
IHdoaWNoIGNhbiByYWlzZSBhbgotICAvLyBleGNlcHRpb24gc29tZSBjaXJjdW1zdGFuY2VzLgot
ICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHBldE5hbWUgZ2V0cmFpc2VzIChOb1N1Y2hQ
ZXQpOwotfTsKLQotZXhjZXB0aW9uIFNvbWVFeGNlcHRpb24gewotfTsKLQotaW50ZXJmYWNlIEV4
Y2VwdGlvblRocm93ZXIgewotICAvLyBUaGlzIGF0dHJpYnV0ZSBhbHdheXMgdGhyb3dzIGEgU29t
ZUV4Y2VwdGlvbiBhbmQgbmV2ZXIgcmV0dXJucyBhIHZhbHVlLgotICBhdHRyaWJ1dGUgbG9uZyB2
YWx1ZU9mIGdldHJhaXNlcyhTb21lRXhjZXB0aW9uKTsKLX07ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvaW52YWxpZC9pZGwv
c2NvcGVkbmFtZS53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvaW52YWxpZC9pZGwvc2Nv
cGVkbmFtZS53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjZmNiMWNjYzkzOS4u
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvaW52YWxpZC9pZGwvc2Nv
cGVkbmFtZS53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsMiArMCwwIEBACi0vLyBzY29wZWQgbmFt
ZXMgYXJlIG5vIGxvbmdlciB2YWxpZCBpbiBXZWJJREwKLSAgdHlwZWRlZiBnZng6Omdlb206Omdl
b20yZDo6UG9pbnQgUG9pbnQ7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9p
bnZhbGlkL2lkbC9zZXF1ZW5jZUFzQXR0cmlidXRlLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mv
dGVzdC9pbnZhbGlkL2lkbC9zZXF1ZW5jZUFzQXR0cmlidXRlLndpZGwKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IGMyM2RhODJhYzIyLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
d2lkbHByb2MvdGVzdC9pbnZhbGlkL2lkbC9zZXF1ZW5jZUFzQXR0cmlidXRlLndpZGwKKysrIC9k
ZXYvbnVsbApAQCAtMSwzICswLDAgQEAKLWludGVyZmFjZSBzZXF1ZW5jZUFzQXR0cmlidXRlIHsK
LSAgYXR0cmlidXRlIHNlcXVlbmNlPHNob3J0PiBpbnZhbGlkOwotfTsKXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9pbnZhbGlk
L2lkbC9zcGVjaWFsLW9taXR0YWJsZS53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvaW52
YWxpZC9pZGwvc3BlY2lhbC1vbWl0dGFibGUud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggYmRmYmZhNzA5NzMuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90
ZXN0L2ludmFsaWQvaWRsL3NwZWNpYWwtb21pdHRhYmxlLndpZGwKKysrIC9kZXYvbnVsbApAQCAt
MSw4ICswLDAgQEAKLS8vIEV4dHJhY3RlZCBmcm9tIGh0dHA6Ly9kZXYudzMub3JnLzIwMDYvd2Vi
YXBpL1dlYklETC8gb24gMjAxMS0wNS0wNgotLy8gb21pdHRhYmxlIGlzIG5vIGxvbmdlciBhIHJl
Y29nbml6ZWQga2V5d29hcmQgYXMgb2YgMjAxMTA5MDUKLWludGVyZmFjZSBEaWN0aW9uYXJ5IHsK
LSAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgcHJvcGVydHlDb3VudDsKLQotICBv
bWl0dGFibGUgZ2V0dGVyIGZsb2F0IGdldFByb3BlcnR5KERPTVN0cmluZyBwcm9wZXJ0eU5hbWUp
OwotICBvbWl0dGFibGUgc2V0dGVyIHZvaWQgc2V0UHJvcGVydHkoRE9NU3RyaW5nIHByb3BlcnR5
TmFtZSwgZmxvYXQgcHJvcGVydHlWYWx1ZSk7Ci19OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L2ludmFsaWQvaWRsL3N0cmlu
Z2NvbnN0YW50cy5pZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9pbnZhbGlkL2lkbC9zdHJp
bmdjb25zdGFudHMuaWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0NGZkM2ZmMTM2
ZS4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvaW52YWxpZC9pZGwv
c3RyaW5nY29uc3RhbnRzLmlkbAorKysgL2Rldi9udWxsCkBAIC0xLDMgKzAsMCBAQAotaW50ZXJm
YWNlIFV0aWwgewotICBjb25zdCBET01TdHJpbmcgaGVsbG8gPSAid29ybGQiOwotfTsKXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVz
dC9pbnZhbGlkL2lkbC93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L2lu
dmFsaWQvaWRsL3czYy1pbXBvcnQubG9nCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBj
MWUxYzIyNDhjZS4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvaW52
YWxpZC9pZGwvdzNjLWltcG9ydC5sb2cKKysrIC9kZXYvbnVsbApAQCAtMSwyNiArMCwwIEBACi1U
aGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVw
b3NpdG9yeS4KLURvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0Lgot
SW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXM0MgQ1NTIG9yIFdQVCBnaXRo
dWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy10ZXN0Ci0JaHR0cHM6Ly9naXRodWIu
Y29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMKLQotVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMv
aW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKLQotRG8gTk9UIG1vZGlmeSBv
ciByZW1vdmUgdGhpcyBmaWxlLgotCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLVByb3BlcnRpZXMgcmVxdWly
aW5nIHZlbmRvciBwcmVmaXhlczoKLU5vbmUKLVByb3BlcnR5IHZhbHVlcyByZXF1aXJpbmcgdmVu
ZG9yIHByZWZpeGVzOgotTm9uZQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1MaXN0IG9mIGZpbGVzOgotL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC93aWRscHJvYy90ZXN0L2ludmFsaWQvaWRsL2VudW0ud2lkbAotL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93
aWRscHJvYy90ZXN0L2ludmFsaWQvaWRsL21vZHVsZS53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9j
L3Rlc3QvaW52YWxpZC9pZGwvbm9ubnVsbGFibGVhbnkud2lkbAotL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJv
Yy90ZXN0L2ludmFsaWQvaWRsL25vbm51bGxhYmxlb2JqZWN0cy53aWRsCi0vTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dp
ZGxwcm9jL3Rlc3QvaW52YWxpZC9pZGwvcmFpc2VzLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mv
dGVzdC9pbnZhbGlkL2lkbC9zY29wZWRuYW1lLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVz
dC9pbnZhbGlkL2lkbC9zZXF1ZW5jZUFzQXR0cmlidXRlLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHBy
b2MvdGVzdC9pbnZhbGlkL2lkbC9zcGVjaWFsLW9taXR0YWJsZS53aWRsCi0vTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dp
ZGxwcm9jL3Rlc3QvaW52YWxpZC9pZGwvc3RyaW5nY29uc3RhbnRzLmlkbApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL2FsbG93YW55LndpZGwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvYWxsb3dhbnkud2lkbApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMjM0M2JiOTYzNzQuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93
aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9hbGxvd2FueS53aWRsCisrKyAvZGV2L251bGwKQEAgLTEs
NiArMCwwIEBACi0vLyBFeHRyYWN0ZWQgZnJvbSBodHRwOi8vZGV2LnczLm9yZy8yMDA2L3dlYmFw
aS9XZWJJREwvIG9uIDIwMTEtMDUtMDYKLWludGVyZmFjZSBCIHsKLSAgdm9pZCBnKCk7Ci0gIHZv
aWQgZyhCIGIpOwotICB2b2lkIGcoW0FsbG93QW55XSBET01TdHJpbmcgcyk7Ci19OwpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0
L3ZhbGlkL2lkbC9hcnJheS53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRs
L2FycmF5LndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDIyZTIxZmI2NTY0Li4w
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvYXJyYXku
d2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDUgKzAsMCBAQAotLy8gRXh0cmFjdGVkIGZyb20gaHR0
cDovL2Rldi53My5vcmcvMjAwNi93ZWJhcGkvV2ViSURMLyBvbiAyMDExLTA1LTA2Ci1bQ29uc3Ry
dWN0b3JdCi1pbnRlcmZhY2UgTG90dGVyeVJlc3VsdHMgewotICByZWFkb25seSBhdHRyaWJ1dGUg
dW5zaWduZWQgc2hvcnRbXVtdIG51bWJlcnM7Ci19OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9hdHRyaWJ1
dGVzLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvYXR0cmlidXRlcy53
aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3ZTFkNjkxY2JlMi4uMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL2F0dHJpYnV0ZXMud2lk
bAorKysgL2Rldi9udWxsCkBAIC0xLDE0ICswLDAgQEAKLS8vIEV4dHJhY3RlZCBmcm9tIGh0dHA6
Ly9kZXYudzMub3JnLzIwMDYvd2ViYXBpL1dlYklETC8gb24gMjAxMS0wNS0wNgotZXhjZXB0aW9u
IEludmFsaWROYW1lIHsKLSAgRE9NU3RyaW5nIHJlYXNvbjsKLX07Ci0KLWV4Y2VwdGlvbiBOb1N1
Y2hQZXQgeyB9OwotCi1pbnRlcmZhY2UgUGVyc29uIHsKLQotICAvLyBBIHNpbXBsZSBhdHRyaWJ1
dGUgdGhhdCBjYW4gYmUgc2V0IHRvIGFueSB2YWx1ZSB0aGUgcmFuZ2UgYW4gdW5zaWduZWQKLSAg
Ly8gc2hvcnQgY2FuIHRha2UuCi0gIGF0dHJpYnV0ZSB1bnNpZ25lZCBzaG9ydCBhZ2U7Ci0KLX07
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxw
cm9jL3Rlc3QvdmFsaWQvaWRsL2NhbGxiYWNrLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVz
dC92YWxpZC9pZGwvY2FsbGJhY2sud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
ZDkyZjZhMThjMGEuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3Zh
bGlkL2lkbC9jYWxsYmFjay53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsNSArMCwwIEBACi1jYWxs
YmFjayBBc3luY09wZXJhdGlvbkNhbGxiYWNrID0gdm9pZCAoRE9NU3RyaW5nIHN0YXR1cyk7Ci0K
LWNhbGxiYWNrIGludGVyZmFjZSBFdmVudEhhbmRsZXIgewotICB2b2lkIGV2ZW50T2NjdXJyZWQo
RE9NU3RyaW5nIGRldGFpbHMpOwotfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvY2FsbGVyLndpZGwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvY2FsbGVyLndpZGwKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDkyYWNiMWMwMTc2Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvY2FsbGVyLndpZGwKKysrIC9kZXYvbnVsbApAQCAt
MSw1ICswLDAgQEAKLS8vIEV4dHJhY3RlZCBmcm9tIGh0dHA6Ly9kZXYudzMub3JnLzIwMDYvd2Vi
YXBpL1dlYklETC8gb24gMjAxMS0wNS0wNgotaW50ZXJmYWNlIE51bWJlclF1YWRydXBsZXIgewot
ICAvLyBUaGlzIG9wZXJhdGlvbiBzaW1wbHkgcmV0dXJucyBmb3VyIHRpbWVzIHRoZSBnaXZlbiBu
dW1iZXIgeC4KLSAgbGVnYWN5Y2FsbGVyIGZsb2F0IGNvbXB1dGUoZmxvYXQgeCk7Ci19OwpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90
ZXN0L3ZhbGlkL2lkbC9jb25zdGFudHMud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3Zh
bGlkL2lkbC9jb25zdGFudHMud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNWUy
OGFlOWMxMTYuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlk
L2lkbC9jb25zdGFudHMud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDE4ICswLDAgQEAKLS8vIEV4
dHJhY3RlZCBmcm9tIGh0dHA6Ly9kZXYudzMub3JnLzIwMDYvd2ViYXBpL1dlYklETC8gb24gMjAx
MS0wNS0wNgotaW50ZXJmYWNlIFV0aWwgewotICBjb25zdCBib29sZWFuIERFQlVHID0gZmFsc2U7
Ci0gIGNvbnN0IHNob3J0IG5lZ2F0aXZlID0gLTE7Ci0gIGNvbnN0IG9jdGV0IExGID0gMTA7Ci0g
IGNvbnN0IHVuc2lnbmVkIGxvbmcgQklUX01BU0sgPSAweDAwMDBmYzAwOwotICBjb25zdCBmbG9h
dCBBVk9HQURSTyA9IDYuMDIyZTIzOwotICBjb25zdCB1bnJlc3RyaWN0ZWQgZmxvYXQgc29iaWcg
PSBJbmZpbml0eTsKLSAgY29uc3QgdW5yZXN0cmljdGVkIGRvdWJsZSBtaW51c29uZWRpdmlkZWRi
eXplcm8gPSAtSW5maW5pdHk7Ci0gIGNvbnN0IHNob3J0IG5vdGFudW1iZXIgPSBOYU47Ci19Owot
Ci1leGNlcHRpb24gRXJyb3IgewotICBjb25zdCBzaG9ydCBFUlJfVU5LTk9XTiA9IDA7Ci0gIGNv
bnN0IHNob3J0IEVSUl9PVVRfT0ZfTUVNT1JZID0gMTsKLQotICBzaG9ydCBlcnJvckNvZGU7Ci19
OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRs
cHJvYy90ZXN0L3ZhbGlkL2lkbC9jb25zdHJ1Y3Rvci53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9j
L3Rlc3QvdmFsaWQvaWRsL2NvbnN0cnVjdG9yLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IGY5M2VjMDhhNmU2Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mv
dGVzdC92YWxpZC9pZGwvY29uc3RydWN0b3Iud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDkgKzAs
MCBAQAotLy8gRXh0cmFjdGVkIGZyb20gaHR0cDovL2Rldi53My5vcmcvMjAwNi93ZWJhcGkvV2Vi
SURMLyBvbiAyMDExLTA1LTA2Ci1bQ29uc3RydWN0b3IsCi0gQ29uc3RydWN0b3IoZmxvYXQgcmFk
aXVzKV0KLWludGVyZmFjZSBDaXJjbGUgewotICBhdHRyaWJ1dGUgZmxvYXQgcjsKLSAgYXR0cmli
dXRlIGZsb2F0IGN4OwotICBhdHRyaWJ1dGUgZmxvYXQgY3k7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0
ZSBmbG9hdCBjaXJjdW1mZXJlbmNlOwotfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvZGljdGlvbmFyeS1p
bmhlcml0cy53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL2RpY3Rpb25h
cnktaW5oZXJpdHMud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDhmOGEwZmRj
ZWIuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9k
aWN0aW9uYXJ5LWluaGVyaXRzLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSw5ICswLDAgQEAKLWRp
Y3Rpb25hcnkgUGFpbnRPcHRpb25zIHsKLSAgRE9NU3RyaW5nPyBmaWxsUGF0dGVybiA9ICJibGFj
ayI7Ci0gIERPTVN0cmluZz8gc3Ryb2tlUGF0dGVybiA9IG51bGw7Ci0gIFBvaW50IHBvc2l0aW9u
OwotfTsKLQotZGljdGlvbmFyeSBXZXRQYWludE9wdGlvbnMgOiBQYWludE9wdGlvbnMgewotICBm
bG9hdCBoeWRyb21ldHJ5OwotfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvZGljdGlvbmFyeS53aWRsIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL2RpY3Rpb25hcnkud2lkbApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjQ2YjdiYTc4MDYuLjAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9kaWN0aW9uYXJ5LndpZGwKKysrIC9kZXYv
bnVsbApAQCAtMSwxMSArMCwwIEBACi0vLyBFeHRyYWN0ZWQgZnJvbSBXZWIgSURMIGVkaXRvcnMg
ZHJhZnQgTWF5IDMxIDIwMTEKLWRpY3Rpb25hcnkgUGFpbnRPcHRpb25zIHsKLSAgRE9NU3RyaW5n
PyBmaWxsUGF0dGVybiA9ICJibGFjayI7Ci0gIERPTVN0cmluZz8gc3Ryb2tlUGF0dGVybiA9IG51
bGw7Ci0gIFBvaW50IHBvc2l0aW9uOwotfTsKLQotcGFydGlhbCBkaWN0aW9uYXJ5IEEgewotICBs
b25nIGg7Ci0gIGxvbmcgZDsKLX07ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL2RvY3VtZW50YXRpb24tZG9z
LndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvZG9jdW1lbnRhdGlvbi1k
b3Mud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZmI4MDExMDFmMTQuLjAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9kb2N1bWVudGF0
aW9uLWRvcy53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsMzMgKzAsMCBAQAotLyoqCi0qIFxicmll
ZiBUZXN0aW5nIGRvY3VtZW50YXRpb24gZmVhdHVyZXMKLSoKLSogVGhpcyBpcyBhCi0qIHNpbmds
ZSBwYXJhZ3JhcGgKLSoKLSogPHA+VGhpcyBpcyB2YWxpZC48L3A+Ci0qIDxwPlRoaXMgaXMgPGVt
PnZhbGlkPC9lbT4uPC9wPgotKiA8cD5UaGlzIGlzIDxiPnZhbGlkPC9iPi48L3A+Ci0qIDxwPlRo
aXMgaXMgPGEgaHJlZj0nJz52YWxpZDwvYT4uPC9wPgotKiA8dWw+Ci0qIDxsaT5UaGlzPC9saT4K
LSogPGxpPmlzPC9saT4KLSogPGxpPnZhbGlkPC9saT4KLSogPC91bD4KLSogPGRsPgotKiA8ZHQ+
VGhpczwvZHQ+Ci0qIDxkZD52YWxpZDwvZGQ+Ci0qIDwvZGw+Ci0qIDx0YWJsZT4KLSogPHRyPgot
KiA8dGQ+dGhpczwvdGQ+Ci0qIDx0ZD5pczwvdGQ+Ci0qIDwvdHI+Ci0qIDx0cj4KLSogPHRkPnZh
bGlkPC90ZD4KLSogPC90cj4KLSogPC90YWJsZT4KLSogPHA+VGhpcyBpcyA8YnI+IHZhbGlkLjwv
cD4KLSogPHA+VGhpcyBpcyA8YnIgLz4gdmFsaWQuPC9wPgotKiA8cD5UaGlzIGlzIDxici8+IHZh
bGlkLjwvcD4KLSovCi1pbnRlcmZhY2UgRG9jdW1lbnRhdGlvbiB7fTsKXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9p
ZGwvZG9jdW1lbnRhdGlvbi53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRs
L2RvY3VtZW50YXRpb24ud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAzZTky
MjZmNjcuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lk
bC9kb2N1bWVudGF0aW9uLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSwzNCArMCwwIEBACi0vKioK
LSogXGJyaWVmIFRlc3RpbmcgZG9jdW1lbnRhdGlvbiBmZWF0dXJlcwotKgotKiBUaGlzIGlzIGEK
LSogc2luZ2xlIHBhcmFncmFwaAotKgotKiA8cD5UaGlzIGlzIHZhbGlkLjwvcD4KLSogPHA+VGhp
cyBpcyA8ZW0+dmFsaWQ8L2VtPi48L3A+Ci0qIDxwPlRoaXMgaXMgPGI+dmFsaWQ8L2I+LjwvcD4K
LSogPHA+VGhpcyBpcyA8YSBocmVmPScnPnZhbGlkPC9hPi48L3A+Ci0qIDx1bD4KLSogPGxpPlRo
aXM8L2xpPgotKiA8bGk+aXM8L2xpPgotKiA8bGk+dmFsaWQ8L2xpPgotKiA8L3VsPgotKiA8ZGw+
Ci0qIDxkdD5UaGlzPC9kdD4KLSogPGRkPnZhbGlkPC9kZD4KLSogPC9kbD4KLSogPHRhYmxlPgot
KiA8dHI+Ci0qIDx0ZD50aGlzPC90ZD4KLSogPHRkPmlzPC90ZD4KLSogPC90cj4KLSogPHRyPgot
KiA8dGQ+dmFsaWQ8L3RkPgotKiA8L3RyPgotKiA8L3RhYmxlPgotKiA8cD5UaGlzIGlzIDxicj4g
dmFsaWQuPC9wPgotKiA8cD5UaGlzIGlzIDxiciAvPiB2YWxpZC48L3A+Ci0qIDxwPlRoaXMgaXMg
PGJyLz4gdmFsaWQuPC9wPgotKiA8cD48aW1nIHNyYz0iZm9vLnBuZyIgYWx0PSJWYWxpZCIvPjwv
cD4KLSovCi1pbnRlcmZhY2UgRG9jdW1lbnRhdGlvbiB7fTsKXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvZW51
bS53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL2VudW0ud2lkbApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODUxZmNhMmU2ZjYuLjAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9lbnVtLndpZGwKKysrIC9kZXYvbnVs
bApAQCAtMSw4ICswLDAgQEAKLWVudW0gTWVhbFR5cGUgeyAicmljZSIsICJub29kbGVzIiwgIm90
aGVyIiB9OwotCi1pbnRlcmZhY2UgTWVhbCB7Ci0gIGF0dHJpYnV0ZSBNZWFsVHlwZSB0eXBlOwot
ICBhdHRyaWJ1dGUgZmxvYXQgc2l6ZTsgICAgIC8vIGluIGdyYW1zCi0KLSAgdm9pZCBpbml0aWFs
aXplKE1lYWxUeXBlIHR5cGUsIGZsb2F0IHNpemUpOwotfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvZXF1
aXZhbGVudC1kZWNsLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvZXF1
aXZhbGVudC1kZWNsLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZiM2UwZWRh
Mjg0Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwv
ZXF1aXZhbGVudC1kZWNsLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSwxOCArMCwwIEBACi0vLyBF
eHRyYWN0ZWQgZnJvbSBodHRwOi8vZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJJREwvIG9uIDIw
MTEtMDUtMDYKLWludGVyZmFjZSBEaWN0aW9uYXJ5IHsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIHVu
c2lnbmVkIGxvbmcgcHJvcGVydHlDb3VudDsKLQotICBnZXR0ZXIgZmxvYXQgZ2V0UHJvcGVydHko
RE9NU3RyaW5nIHByb3BlcnR5TmFtZSk7Ci0gIHNldHRlciB2b2lkIHNldFByb3BlcnR5KERPTVN0
cmluZyBwcm9wZXJ0eU5hbWUsIGZsb2F0IHByb3BlcnR5VmFsdWUpOwotfTsKLQotCi1pbnRlcmZh
Y2UgRGljdGlvbmFyeSB7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIHByb3Bl
cnR5Q291bnQ7Ci0KLSAgZmxvYXQgZ2V0UHJvcGVydHkoRE9NU3RyaW5nIHByb3BlcnR5TmFtZSk7
Ci0gIHZvaWQgc2V0UHJvcGVydHkoRE9NU3RyaW5nIHByb3BlcnR5TmFtZSwgZmxvYXQgcHJvcGVy
dHlWYWx1ZSk7Ci0KLSAgZ2V0dGVyIGZsb2F0IChET01TdHJpbmcgcHJvcGVydHlOYW1lKTsKLSAg
c2V0dGVyIHZvaWQgKERPTVN0cmluZyBwcm9wZXJ0eU5hbWUsIGZsb2F0IHByb3BlcnR5VmFsdWUp
OwotfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
d2lkbHByb2MvdGVzdC92YWxpZC9pZGwvZXhjZXB0aW9uLWluaGVyaXRhbmNlLndpZGwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvZXhjZXB0aW9uLWluaGVyaXRhbmNlLndpZGwK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI1OGZkZWJhNmY0Li4wMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvZXhjZXB0aW9uLWluaGVyaXRh
bmNlLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSw3ICswLDAgQEAKLS8vIGZyb20gaHR0cDovL2xp
c3RzLnczLm9yZy9BcmNoaXZlcy9QdWJsaWMvcHVibGljLXNjcmlwdC1jb29yZC8yMDEwT2N0RGVj
LzAxMTIuaHRtbAotICBleGNlcHRpb24gRE9NRXhjZXB0aW9uIHsKLSAgICB1bnNpZ25lZCBzaG9y
dCBjb2RlOwotICB9OwotCi0gIGV4Y2VwdGlvbiBIaWVyYXJjaHlSZXF1ZXN0RXJyb3IgOiBET01F
eGNlcHRpb24geyB9OwotICBleGNlcHRpb24gTm9Nb2RpZmljYXRpb25BbGxvd2VkRXJyb3IgOiBE
T01FeGNlcHRpb24geyB9OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9leGNlcHRpb24ud2lkbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9leGNlcHRpb24ud2lkbApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggZjRiNmFlMjllMTAuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9leGNlcHRpb24ud2lkbAorKysgL2Rldi9udWxsCkBA
IC0xLDggKzAsMCBAQAotLy8gRXh0cmFjdGVkIGZyb20gaHR0cDovL2Rldi53My5vcmcvMjAwNi93
ZWJhcGkvV2ViSURMLyBvbiAyMDExLTA1LTA2Ci1pbnRlcmZhY2UgRGFodXQgewotICBhdHRyaWJ1
dGUgRE9NU3RyaW5nIHR5cGU7Ci19OwotCi1leGNlcHRpb24gU29tZUV4Y2VwdGlvbiB7Ci19Owot
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvZ2V0dGVyLXNl
dHRlci53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL2dldHRlci1zZXR0
ZXIud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYmRmODdlMWM3YzcuLjAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9nZXR0ZXItc2V0
dGVyLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSw3ICswLDAgQEAKLS8vIEV4dHJhY3RlZCBmcm9t
IGh0dHA6Ly9kZXYudzMub3JnLzIwMDYvd2ViYXBpL1dlYklETC8gb24gMjAxMS0wNS0wNgotaW50
ZXJmYWNlIERpY3Rpb25hcnkgewotICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBw
cm9wZXJ0eUNvdW50OwotCi0gIGdldHRlciBmbG9hdCAoRE9NU3RyaW5nIHByb3BlcnR5TmFtZSk7
Ci0gIHNldHRlciB2b2lkIChET01TdHJpbmcgcHJvcGVydHlOYW1lLCBmbG9hdCBwcm9wZXJ0eVZh
bHVlKTsKLX07ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL2lkZW50aWZpZXItcXVhbGlmaWVkLW5hbWVzLndp
ZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvaWRlbnRpZmllci1xdWFsaWZp
ZWQtbmFtZXMud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzM4OTNkNGM2NDQu
LjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9pZGVu
dGlmaWVyLXF1YWxpZmllZC1uYW1lcy53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsNDQgKzAsMCBA
QAotLy8gRXh0cmFjdGVkIGZyb20gaHR0cDovL2Rldi53My5vcmcvMjAwNi93ZWJhcGkvV2ViSURM
LyBvbiAyMDExLTA1LTA2Ci0gIC8vIFR5cGVkZWYgaWRlbnRpZmllcjogIm51bWJlciIKLSAgLy8g
UXVhbGlmaWVkIG5hbWU6ICAgICI6OmZyYW1ld29yazo6bnVtYmVyIgotICB0eXBlZGVmIGZsb2F0
IG51bWJlcjsKLQotICAvLyBFeGNlcHRpb24gaWRlbnRpZmllcjogIkZyYW1ld29ya0V4Y2VwdGlv
biIKLSAgLy8gUXVhbGlmaWVkIG5hbWU6ICAgICAgICI6OmZyYW1ld29yazo6RnJhbWV3b3JrRXhj
ZXB0aW9uIgotICBleGNlcHRpb24gRnJhbWV3b3JrRXhjZXB0aW9uIHsKLQotICAgIC8vIENvbnN0
YW50IGlkZW50aWZpZXI6ICJFUlJfTk9UX0ZPVU5EIgotICAgIC8vIFF1YWxpZmllZCBuYW1lOiAg
ICAgICI6OmZyYW1ld29yazo6RnJhbWV3b3JrRXhjZXB0aW9uOjpFUlJfTk9UX0ZPVU5EIgotICAg
IGNvbnN0IGxvbmcgRVJSX05PVF9GT1VORCA9IDE7Ci0KLSAgICAvLyBFeGNlcHRpb24gZmllbGQg
aWRlbnRpZmllcjogImNvZGUiCi0gICAgbG9uZyBjb2RlOwotICB9OwotCi0gIC8vIEludGVyZmFj
ZSBpZGVudGlmaWVyOiAiU3lzdGVtIgotICAvLyBRdWFsaWZpZWQgbmFtZTogICAgICAgIjo6ZnJh
bWV3b3JrOjpTeXN0ZW0iCi0gIGludGVyZmFjZSBTeXN0ZW0gewotCi0gICAgLy8gT3BlcmF0aW9u
IGlkZW50aWZpZXI6ICAgICAgICAgICJjcmVhdGVPYmplY3QiCi0gICAgLy8gT3BlcmF0aW9uIGFy
Z3VtZW50IGlkZW50aWZpZXI6ICJpbnRlcmZhY2UiCi0gICAgb2JqZWN0IGNyZWF0ZU9iamVjdChE
T01TdHJpbmcgX2ludGVyZmFjZSk7Ci0KLSAgICAvLyBPcGVyYXRpb24gaGFzIG5vIGlkZW50aWZp
ZXI7IGl0IGRlY2xhcmVzIGEgZ2V0dGVyLgotICAgIGdldHRlciBET01TdHJpbmcgKERPTVN0cmlu
ZyBrZXlOYW1lKTsKLSAgfTsKLQotICAgIAotICAgIC8vIEludGVyZmFjZSBpZGVudGlmaWVyOiAi
VGV4dEZpZWxkIgotICAgIC8vIFF1YWxpZmllZCBuYW1lOiAgICAgICAiOjpmcmFtZXdvcms6Omd1
aTo6VGV4dEZpZWxkIgotICAgIGludGVyZmFjZSBUZXh0RmllbGQgewotCi0gICAgICAvLyBBdHRy
aWJ1dGUgaWRlbnRpZmllcjogImNvbnN0IgotICAgICAgYXR0cmlidXRlIGJvb2xlYW4gX2NvbnN0
OwotCi0gICAgICAvLyBBdHRyaWJ1dGUgaWRlbnRpZmllcjogInZhbHVlIgotICAgICAgYXR0cmli
dXRlIERPTVN0cmluZz8gX3ZhbHVlOwotICAgIH07Ci0KLWludGVyZmFjZSBGb28gewotIHZvaWQg
b3Aob2JqZWN0IGludGVyZmFjZSk7Ci19OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9pbXBsZW1lbnRzLndp
ZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvaW1wbGVtZW50cy53aWRsCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3YTMxMDkyNmYxYy4uMDAwMDAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL2ltcGxlbWVudHMud2lkbAorKysg
L2Rldi9udWxsCkBAIC0xLDE0ICswLDAgQEAKLS8vIEV4dHJhY3RlZCBmcm9tIGh0dHA6Ly9kZXYu
dzMub3JnLzIwMDYvd2ViYXBpL1dlYklETC8gb24gMjAxMS0wNS0wNgotICBpbnRlcmZhY2UgTm9k
ZSB7Ci0gICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIHNob3J0IG5vZGVUeXBlOwotICAg
IC8vIC4uLgotICB9OwotCi0gIGludGVyZmFjZSBFdmVudFRhcmdldCB7Ci0gICAgdm9pZCBhZGRF
dmVudExpc3RlbmVyKERPTVN0cmluZyB0eXBlLAotICAgICAgICAgICAgICAgICAgICAgICAgICBF
dmVudExpc3RlbmVyIGxpc3RlbmVyLAotICAgICAgICAgICAgICAgICAgICAgICAgICBib29sZWFu
IHVzZUNhcHR1cmUpOwotICAgIC8vIC4uLgotICB9OwotCi0gIE5vZGUgaW1wbGVtZW50cyBFdmVu
dFRhcmdldDsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9p
bmRleGVkLXByb3BlcnRpZXMud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lk
bC9pbmRleGVkLXByb3BlcnRpZXMud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
YWNmMGVkM2JmODQuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3Zh
bGlkL2lkbC9pbmRleGVkLXByb3BlcnRpZXMud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDEyICsw
LDAgQEAKLS8vIEV4dHJhY3RlZCBmcm9tIGh0dHA6Ly9kZXYudzMub3JnLzIwMDYvd2ViYXBpL1dl
YklETC8gb24gMjAxMS0wNS0wNgotaW50ZXJmYWNlIE9yZGVyZWRNYXAgewotICByZWFkb25seSBh
dHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBzaXplOwotCi0gIGdldHRlciBhbnkgZ2V0QnlJbmRleCh1
bnNpZ25lZCBsb25nIGluZGV4KTsKLSAgc2V0dGVyIHZvaWQgc2V0QnlJbmRleCh1bnNpZ25lZCBs
b25nIGluZGV4LCBhbnkgdmFsdWUpOwotICBkZWxldGVyIHZvaWQgcmVtb3ZlQnlJbmRleCh1bnNp
Z25lZCBsb25nIGluZGV4KTsKLQotICBnZXR0ZXIgYW55IGdldChET01TdHJpbmcgbmFtZSk7Ci0g
IHNldHRlciBjcmVhdG9yIHZvaWQgc2V0KERPTVN0cmluZyBuYW1lLCBhbnkgdmFsdWUpOwotICBk
ZWxldGVyIHZvaWQgcmVtb3ZlKERPTVN0cmluZyBuYW1lKTsKLX07ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRs
L2luaGVyaXRzLWdldHRlci53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRs
L2luaGVyaXRzLWdldHRlci53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1NThl
ODExNjQ5NC4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQv
aWRsL2luaGVyaXRzLWdldHRlci53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsMTYgKzAsMCBAQAot
aW50ZXJmYWNlIEFuaW1hbCB7Ci0KLSAgLy8gQSBzaW1wbGUgYXR0cmlidXRlIHRoYXQgY2FuIGJl
IHNldCB0byBhbnkgc3RyaW5nIHZhbHVlLgotICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5n
IG5hbWU7Ci19OwotCi1pbnRlcmZhY2UgUGVyc29uIDogQW5pbWFsIHsKLQotICAvLyBBbiBhdHRy
aWJ1dGUgd2hvc2UgdmFsdWUgY2Fubm90IGJlIGFzc2lnbmVkIHRvLgotICByZWFkb25seSBhdHRy
aWJ1dGUgdW5zaWduZWQgc2hvcnQgYWdlOwotCi0gIC8vIEFuIGF0dHJpYnV0ZSB0aGF0IGNhbiBy
YWlzZSBhbiBleGNlcHRpb24gaWYgaXQgaXMgc2V0IHRvIGFuIGludmFsaWQgdmFsdWUuCi0gIC8v
IEl0cyBnZXR0ZXIgYmVoYXZpb3IgaXMgaW5oZXJpdGVkIGZyb20gQW5pbWFsLCBhbmQgbmVlZCBu
b3QgYmUgc3BlY2lmaWVkCi0gIC8vIHRoZSBkZXNjcmlwdGlvbiBvZiBQZXJzb24uCi0gIGluaGVy
aXQgYXR0cmlidXRlIERPTVN0cmluZyBuYW1lOwotfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvaW50ZXJm
YWNlLWluaGVyaXRzLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvaW50
ZXJmYWNlLWluaGVyaXRzLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDc5MjFk
ZWY3NzI3Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9p
ZGwvaW50ZXJmYWNlLWluaGVyaXRzLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSwxMiArMCwwIEBA
Ci0vLyBFeHRyYWN0ZWQgZnJvbSBodHRwOi8vZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJJREwv
IG9uIDIwMTEtMDUtMDYKLWludGVyZmFjZSBBbmltYWwgewotICBhdHRyaWJ1dGUgRE9NU3RyaW5n
IG5hbWU7Ci19OwotCi1pbnRlcmZhY2UgSHVtYW4gOiBBbmltYWwgewotICBhdHRyaWJ1dGUgRG9n
IHBldDsKLX07Ci0KLWludGVyZmFjZSBEb2cgOiBBbmltYWwgewotICBhdHRyaWJ1dGUgSHVtYW4g
b3duZXI7Ci19OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9pdGVyYXRvci53aWRsIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dp
ZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL2l0ZXJhdG9yLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDNiZjFiMzZkZWM2Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHBy
b2MvdGVzdC92YWxpZC9pZGwvaXRlcmF0b3Iud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDM1ICsw
LDAgQEAKLWludGVyZmFjZSBTZXNzaW9uTWFuYWdlciB7Ci0gIFNlc3Npb24gZ2V0U2Vzc2lvbkZv
clVzZXIoRE9NU3RyaW5nIHVzZXJuYW1lKTsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVk
IGxvbmcgc2Vzc2lvbkNvdW50OwotCi0gIFNlc3Npb24gaXRlcmF0b3I7Ci19OwotCi1pbnRlcmZh
Y2UgU2Vzc2lvbiB7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgdXNlcm5hbWU7Ci0g
IC8vIC4uLgotfTsKLQotaW50ZXJmYWNlIFNlc3Npb25NYW5hZ2VyMiB7Ci0gIFNlc3Npb24yIGdl
dFNlc3Npb25Gb3JVc2VyKERPTVN0cmluZyB1c2VybmFtZSk7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0
ZSB1bnNpZ25lZCBsb25nIHNlc3Npb25Db3VudDsKLQotICBTZXNzaW9uMiBpdGVyYXRvciA9IFNl
c3Npb25JdGVyYXRvcjsKLX07Ci0KLWludGVyZmFjZSBTZXNzaW9uMiB7Ci0gIHJlYWRvbmx5IGF0
dHJpYnV0ZSBET01TdHJpbmcgdXNlcm5hbWU7Ci0gIC8vIC4uLgotfTsKLQotaW50ZXJmYWNlIFNl
c3Npb25JdGVyYXRvciB7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIHJlbWFp
bmluZ1Nlc3Npb25zOwotfTsKLQotICAgICBpbnRlcmZhY2UgTm9kZUxpc3QgewotICAgICAgIE5v
ZGUgaXRlcmF0b3IgPSBOb2RlSXRlcmF0b3I7Ci0gICAgIH07Ci0KLSAgICAgaW50ZXJmYWNlIE5v
ZGVJdGVyYXRvciB7Ci0gICAgICAgTm9kZSBpdGVyYXRvciBvYmplY3Q7Ci0gICAgIH07ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rl
c3QvdmFsaWQvaWRsL25hbWVkY29uc3RydWN0b3Iud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90
ZXN0L3ZhbGlkL2lkbC9uYW1lZGNvbnN0cnVjdG9yLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IGM0NjhiNzhmOGUxLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHBy
b2MvdGVzdC92YWxpZC9pZGwvbmFtZWRjb25zdHJ1Y3Rvci53aWRsCisrKyAvZGV2L251bGwKQEAg
LTEsNiArMCwwIEBACi0vLyBFeHRyYWN0ZWQgZnJvbSBodHRwOi8vZGV2LnczLm9yZy8yMDA2L3dl
YmFwaS9XZWJJREwvIG9uIDIwMTEtMDUtMDYKLVtOYW1lZENvbnN0cnVjdG9yPUF1ZGlvLAotIE5h
bWVkQ29uc3RydWN0b3I9QXVkaW8oRE9NU3RyaW5nIHNyYyldCi1pbnRlcmZhY2UgSFRNTEF1ZGlv
RWxlbWVudCA6IEhUTUxNZWRpYUVsZW1lbnQgewotICAvLyAuLi4KLX07ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQv
aWRsL25vaW50ZXJmYWNlb2JqZWN0LndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxp
ZC9pZGwvbm9pbnRlcmZhY2VvYmplY3Qud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggYzE3ZDc1ZmY4ZmQuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0
L3ZhbGlkL2lkbC9ub2ludGVyZmFjZW9iamVjdC53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsNSAr
MCwwIEBACi0vLyBFeHRyYWN0ZWQgZnJvbSBodHRwOi8vZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9X
ZWJJREwvIG9uIDIwMTEtMDUtMDYKLVtOb0ludGVyZmFjZU9iamVjdF0KLWludGVyZmFjZSBRdWVy
eSB7Ci0gIGFueSBsb29rdXBFbnRyeSh1bnNpZ25lZCBsb25nIGtleSk7Ci19OwpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3Zh
bGlkL2lkbC9udWxsYWJsZS53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRs
L251bGxhYmxlLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGNjYmY2MjVmZjhh
Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvbnVs
bGFibGUud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDkgKzAsMCBAQAotLy8gRXh0cmFjdGVkIGZy
b20gaHR0cDovL2Rldi53My5vcmcvMjAwNi93ZWJhcGkvV2ViSURMLyBvbiAyMDExLTA1LTA2Ci1p
bnRlcmZhY2UgTXlDb25zdGFudHMgewotICBjb25zdCBib29sZWFuPyBBUkVfV0VfVEhFUkVfWUVU
ID0gZmFsc2U7Ci19OwotCi1pbnRlcmZhY2UgTm9kZSB7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSBE
T01TdHJpbmc/IG5hbWVzcGFjZVVSSTsKLSAgLy8gLi4uCi19OwpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9u
dWxsYWJsZW9iamVjdHMud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9u
dWxsYWJsZW9iamVjdHMud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODNkMWQ0
MGIyYWMuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lk
bC9udWxsYWJsZW9iamVjdHMud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDEzICswLDAgQEAKLS8v
IEV4dHJhY3RlZCBmcm9tIFdlYklETCBzcGVjIDIwMTEtMDUtMjMKLQotaW50ZXJmYWNlIEEgewot
ICAvLyAuLi4KLX07Ci1pbnRlcmZhY2UgQiB7Ci0gIC8vIC4uLgotfTsKLWludGVyZmFjZSBDIHsK
LSAgdm9pZCBmKEE/IHgpOwotICB2b2lkIGYoQj8geCk7Ci0KLX07ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRs
L29wZXJhdGlvbi1vcHRpb25hbC1hcmcud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3Zh
bGlkL2lkbC9vcGVyYXRpb24tb3B0aW9uYWwtYXJnLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDM3OTA1M2I0NWYxLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHBy
b2MvdGVzdC92YWxpZC9pZGwvb3BlcmF0aW9uLW9wdGlvbmFsLWFyZy53aWRsCisrKyAvZGV2L251
bGwKQEAgLTEsNCArMCwwIEBACi0vLyBFeHRyYWN0ZWQgZnJvbSBodHRwOi8vZGV2LnczLm9yZy8y
MDA2L3dlYmFwaS9XZWJJREwvIG9uIDIwMTEtMDUtMDYKLWludGVyZmFjZSBDb2xvckNyZWF0b3Ig
ewotICBvYmplY3QgY3JlYXRlQ29sb3IoZmxvYXQgdjEsIGZsb2F0IHYyLCBmbG9hdCB2Mywgb3B0
aW9uYWwgZmxvYXQgYWxwaGEgPSAzLjUpOwotfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvb3ZlcmxvYWRp
bmcud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9vdmVybG9hZGluZy53
aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlZjEyODhhODg3Ny4uMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL292ZXJsb2FkaW5nLndp
ZGwKKysrIC9kZXYvbnVsbApAQCAtMSwyMCArMCwwIEBACi0vLyBFeHRyYWN0ZWQgZnJvbSBodHRw
Oi8vZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJJREwvIG9uIDIwMTEtMDUtMDYKLWludGVyZmFj
ZSBBIHsKLSAgLy8gLi4uCi19OwotCi1pbnRlcmZhY2UgQiB7Ci0gIC8vIC4uLgotfTsKLQotaW50
ZXJmYWNlIEMgewotICB2b2lkIGYoQSB4KTsKLSAgdm9pZCBmKEIgeCk7Ci19OwotCi1pbnRlcmZh
Y2UgQSB7Ci0gIC8qIGYxICovIHZvaWQgZihET01TdHJpbmcgYSk7Ci0gIC8qIGYyICovIHZvaWQg
ZihbQWxsb3dBbnldIERPTVN0cmluZyBhLCBET01TdHJpbmcgYiwgZmxvYXQuLi4gYyk7Ci0gIC8q
IGYzICovIHZvaWQgZigpOwotICAvKiBmNCAqLyB2b2lkIGYobG9uZyBhLCBET01TdHJpbmcgYiwg
b3B0aW9uYWwgRE9NU3RyaW5nIGMsIGZsb2F0Li4uIGQpOwotfTsKXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwv
b3ZlcnJpZGVidWlsdGlucy53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRs
L292ZXJyaWRlYnVpbHRpbnMud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzky
MTFjMjllODQuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlk
L2lkbC9vdmVycmlkZWJ1aWx0aW5zLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSw2ICswLDAgQEAK
LS8vIEV4dHJhY3RlZCBmcm9tIGh0dHA6Ly9kZXYudzMub3JnLzIwMDYvd2ViYXBpL1dlYklETC8g
b24gMjAxMS0wNS0wNgotW092ZXJyaWRlQnVpbHRpbnNdCi1pbnRlcmZhY2UgU3RyaW5nTWFwMiB7
Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxlbmd0aDsKLSAgZ2V0dGVyIERP
TVN0cmluZyBsb29rdXAoRE9NU3RyaW5nIGtleSk7Ci19OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9wYXJ0
aWFsLWludGVyZmFjZS53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3Bh
cnRpYWwtaW50ZXJmYWNlLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDkwZTdl
MGVhNDIxLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9p
ZGwvcGFydGlhbC1pbnRlcmZhY2Uud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDcgKzAsMCBAQAot
aW50ZXJmYWNlIEZvbyB7Ci0gIGF0dHJpYnV0ZSBET01TdHJpbmcgYmFyOwotfTsKLQotcGFydGlh
bCBpbnRlcmZhY2UgRm9vIHsKLSAgYXR0cmlidXRlIERPTVN0cmluZyBxdXV4OwotfTsKXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVz
dC92YWxpZC9pZGwvcHJpbWl0aXZlcy53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFs
aWQvaWRsL3ByaW1pdGl2ZXMud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTI5
Mzk2MDFhMWEuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlk
L2lkbC9wcmltaXRpdmVzLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSwxOSArMCwwIEBACi1pbnRl
cmZhY2UgUHJpbWl0aXZlcyB7Ci0gIGF0dHJpYnV0ZSBib29sZWFuIHRydXRoOwotICBhdHRyaWJ1
dGUgYnl0ZSBjaGFyYWN0ZXI7Ci0gIGF0dHJpYnV0ZSBvY3RldCB2YWx1ZTsKLSAgYXR0cmlidXRl
IHNob3J0IG51bWJlcjsKLSAgYXR0cmlidXRlIHVuc2lnbmVkIHNob3J0IHBvc2l0aXZlOwotICBh
dHRyaWJ1dGUgbG9uZyBiaWc7Ci0gIGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGJpZ3Bvc2l0aXZl
OwotICBhdHRyaWJ1dGUgbG9uZyBsb25nIGJpZ2JpZzsKLSAgYXR0cmlidXRlICB1bnNpZ25lZCBs
b25nIGxvbmcgYmlnYmlncG9zaXRpdmU7Ci0gIGF0dHJpYnV0ZSBmbG9hdCByZWFsOwotICBhdHRy
aWJ1dGUgZG91YmxlIGJpZ3JlYWw7IAotICBhdHRyaWJ1dGUgdW5yZXN0cmljdGVkIGZsb2F0IHJl
YWx3aXRoaW5maW5pdHk7Ci0gIGF0dHJpYnV0ZSB1bnJlc3RyaWN0ZWQgZG91YmxlIGJpZ3JlYWx3
aXRoaW5maW5pdHk7IAotICBhdHRyaWJ1dGUgRE9NU3RyaW5nIHN0cmluZzsgCi0gIGF0dHJpYnV0
ZSBCeXRlU3RyaW5nIGJ5dGVzOyAKLSAgYXR0cmlidXRlIERhdGUgZGF0ZTsKLSAgYXR0cmlidXRl
IFJlZ0V4cCByZWdleHA7Ci19OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9wcm90b3R5cGVyb290LndpZGwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvcHJvdG90eXBlcm9vdC53aWRsCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzMGRkNWNiY2ExMy4uMDAwMDAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3Byb3RvdHlwZXJvb3Qud2lkbAor
KysgL2Rldi9udWxsCkBAIC0xLDUgKzAsMCBAQAotLy8gRXh0cmFjdGVkIGZyb20gaHR0cDovL2Rl
di53My5vcmcvMjAwNi93ZWJhcGkvV2ViSURMLyBvbiAyMDExLTA1LTA2Ci1bUHJvdG90eXBlUm9v
dF0KLWludGVyZmFjZSBOb2RlIHsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIHNob3J0
IG5vZGVUeXBlOwotfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvcHV0Zm9yd2FyZHMud2lkbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9wdXRmb3J3YXJkcy53aWRsCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAxZTUwYTRlZTM5NC4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3B1dGZvcndhcmRzLndpZGwKKysrIC9kZXYvbnVs
bApAQCAtMSw1ICswLDAgQEAKLS8vIEV4dHJhY3RlZCBmcm9tIGh0dHA6Ly9kZXYudzMub3JnLzIw
MDYvd2ViYXBpL1dlYklETC8gb24gMjAxMS0wNS0wNgotaW50ZXJmYWNlIFBlcnNvbiB7Ci0gIFtQ
dXRGb3J3YXJkcz1mdWxsXSByZWFkb25seSBhdHRyaWJ1dGUgTmFtZSBuYW1lOwotICBhdHRyaWJ1
dGUgdW5zaWduZWQgc2hvcnQgYWdlOwotfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvcmVnLW9wZXJhdGlv
bnMud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9yZWctb3BlcmF0aW9u
cy53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxMzk5N2NiMWQxMi4uMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3JlZy1vcGVyYXRp
b25zLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSwxNyArMCwwIEBACi0vLyBFeHRyYWN0ZWQgZnJv
bSBodHRwOi8vZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJJREwvIG9uIDIwMTEtMDUtMDYKLWlu
dGVyZmFjZSBEaW1lbnNpb25zIHsKLSAgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgd2lkdGg7Ci0g
IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGhlaWdodDsKLX07Ci0KLWV4Y2VwdGlvbiBOb1BvaW50
ZXJEZXZpY2UgeyB9OwotCi1pbnRlcmZhY2UgQnV0dG9uIHsKLQotICAvLyBBbiBvcGVyYXRpb24g
dGhhdCB0YWtlcyBubyBhcmd1bWVudHMsIHJldHVybnMgYSBib29sZWFuCi0gIGJvb2xlYW4gaXNN
b3VzZU92ZXIoKTsKLQotICAvLyBPdmVybG9hZGVkIG9wZXJhdGlvbnMuCi0gIHZvaWQgc2V0RGlt
ZW5zaW9ucyhEaW1lbnNpb25zIHNpemUpOwotICB2b2lkIHNldERpbWVuc2lvbnModW5zaWduZWQg
bG9uZyB3aWR0aCwgdW5zaWduZWQgbG9uZyBoZWlnaHQpOwotfTsKXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwv
cmVwbGFjZWFibGUud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9yZXBs
YWNlYWJsZS53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjMTRkMGMzNzY4OS4u
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3JlcGxh
Y2VhYmxlLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSw1ICswLDAgQEAKLS8vIEV4dHJhY3RlZCBm
cm9tIGh0dHA6Ly9kZXYudzMub3JnLzIwMDYvd2ViYXBpL1dlYklETC8gb24gMjAxMS0wNS0wNgot
aW50ZXJmYWNlIENvdW50ZXIgewotICBbUmVwbGFjZWFibGVdIHJlYWRvbmx5IGF0dHJpYnV0ZSB1
bnNpZ25lZCBsb25nIHZhbHVlOwotICB2b2lkIGluY3JlbWVudCgpOwotfTsKXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxp
ZC9pZGwvc2VxdWVuY2Uud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9z
ZXF1ZW5jZS53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhMWFhOTMxZjVmMC4u
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3NlcXVl
bmNlLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSw3ICswLDAgQEAKLS8vIEV4dHJhY3RlZCBmcm9t
IGh0dHA6Ly9kZXYudzMub3JnLzIwMDYvd2ViYXBpL1dlYklETC8gb24gMjAxMS0wNS0wNgotLy8g
ZWRpdGVkIHRvIHJlbW92ZSBzZXF1ZW5jZSBhcyBhdHRyaWJ1dGVzLCBub3cgaW52YWxpZAotaW50
ZXJmYWNlIENhbnZhcyB7Ci0gIHZvaWQgZHJhd1BvbHlnb24oc2VxdWVuY2U8ZmxvYXQ+IGNvb3Jk
aW5hdGVzKTsKLSAgc2VxdWVuY2U8ZmxvYXQ+IGdldEluZmxlY3Rpb25Qb2ludHMoKTsKLSAgLy8g
Li4uCi19OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9zZXJpYWxpemVyLndpZGwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lk
bHByb2MvdGVzdC92YWxpZC9pZGwvc2VyaWFsaXplci53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCA2ZjZjY2QwZThkNS4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxw
cm9jL3Rlc3QvdmFsaWQvaWRsL3NlcmlhbGl6ZXIud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDY0
ICswLDAgQEAKLWludGVyZmFjZSBUcmFuc2FjdGlvbiB7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSBB
Y2NvdW50IGZyb207Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSBBY2NvdW50IHRvOwotICByZWFkb25s
eSBhdHRyaWJ1dGUgZmxvYXQgYW1vdW50OwotICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5n
IGRlc2NyaXB0aW9uOwotICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBudW1iZXI7
Ci0KLSAgc2VyaWFsaXplcjsKLX07Ci0KLWludGVyZmFjZSBBY2NvdW50IHsKLSAgYXR0cmlidXRl
IERPTVN0cmluZyBuYW1lOwotICBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBudW1iZXI7Ci0gIHNl
cmlhbGl6ZXIgRE9NU3RyaW5nIHNlcmlhbGl6ZSgpOwotfTsKLQotaW50ZXJmYWNlIFRyYW5zYWN0
aW9uMiB7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSBBY2NvdW50MiBmcm9tOwotICByZWFkb25seSBh
dHRyaWJ1dGUgQWNjb3VudDIgdG87Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSBmbG9hdCBhbW91bnQ7
Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgZGVzY3JpcHRpb247Ci0gIHJlYWRvbmx5
IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIG51bWJlcjsKLQotICBzZXJpYWxpemVyID0geyBmcm9t
LCB0bywgYW1vdW50LCBkZXNjcmlwdGlvbiB9OwotfTsKLQotaW50ZXJmYWNlIEFjY291bnQyIHsK
LSAgYXR0cmlidXRlIERPTVN0cmluZyBuYW1lOwotICBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBu
dW1iZXI7Ci0gIHNlcmlhbGl6ZXIgPSBudW1iZXI7Ci19OwotCi1pbnRlcmZhY2UgQWNjb3VudDMg
ewotICBhdHRyaWJ1dGUgRE9NU3RyaW5nIG5hbWU7Ci0gIGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25n
IG51bWJlcjsKLQotICBzZXJpYWxpemVyID0geyBhdHRyaWJ1dGUgfTsKLX07Ci0KLWludGVyZmFj
ZSBBY2NvdW50NCB7Ci0gIGdldHRlciBvYmplY3QgZ2V0SXRlbSh1bnNpZ25lZCBsb25nIGluZGV4
KTsKLSAgc2VyaWFsaXplciA9IHsgZ2V0dGVyIH07Ci19OwotCi1pbnRlcmZhY2UgQWNjb3VudDUg
OiBBY2NvdW50IHsKLSAgYXR0cmlidXRlIERPTVN0cmluZyBzZWNvbmRuYW1lOwotICBzZXJpYWxp
emVyID0geyBpbmhlcml0LCBzZWNvbmRuYW1lIH07Ci19OwotCi1pbnRlcmZhY2UgQWNjb3VudDYg
OiBBY2NvdW50IHsKLSAgYXR0cmlidXRlIERPTVN0cmluZyBzZWNvbmRuYW1lOwotICBzZXJpYWxp
emVyID0geyBpbmhlcml0LCBhdHRyaWJ1dGUgfTsKLX07Ci0KLWludGVyZmFjZSBBY2NvdW50NyB7
Ci0gIGF0dHJpYnV0ZSBET01TdHJpbmcgbmFtZTsKLSAgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcg
bnVtYmVyOwotICBzZXJpYWxpemVyID0gWyBuYW1lLCBudW1iZXIgXTsKLX07Ci0KLWludGVyZmFj
ZSBBY2NvdW50OCB7Ci0gIGdldHRlciBvYmplY3QgZ2V0SXRlbSh1bnNpZ25lZCBsb25nIGluZGV4
KTsKLSAgc2VyaWFsaXplciA9IFsgZ2V0dGVyIF07Ci19OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9zdGF0
aWMud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9zdGF0aWMud2lkbApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNWIyY2QzNjU5MGYuLjAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9zdGF0aWMud2lkbAorKysgL2Rl
di9udWxsCkBAIC0xLDExICswLDAgQEAKLS8vIEV4dHJhY3RlZCBmcm9tIGh0dHA6Ly9kZXYudzMu
b3JnLzIwMDYvd2ViYXBpL1dlYklETC8gb24gMjAxMS0wNS0wNgotaW50ZXJmYWNlIFBvaW50IHsg
LyogLi4uICovIH07Ci0KLWludGVyZmFjZSBDaXJjbGUgewotICBhdHRyaWJ1dGUgZmxvYXQgY3g7
Ci0gIGF0dHJpYnV0ZSBmbG9hdCBjeTsKLSAgYXR0cmlidXRlIGZsb2F0IHJhZGl1czsKLQotICBz
dGF0aWMgcmVhZG9ubHkgYXR0cmlidXRlIGxvbmcgdHJpYW5ndWxhdGlvbkNvdW50OwotICBzdGF0
aWMgUG9pbnQgdHJpYW5ndWxhdGUoQ2lyY2xlIGMxLCBDaXJjbGUgYzIsIENpcmNsZSBjMyk7Ci19
OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRs
cHJvYy90ZXN0L3ZhbGlkL2lkbC9zdHJpbmdpZmllci1hdHRyaWJ1dGUud2lkbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9zdHJpbmdpZmllci1hdHRyaWJ1dGUud2lkbApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzk2NGVjYjkzZTYuLjAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9zdHJpbmdpZmllci1hdHRyaWJ1dGUu
d2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDYgKzAsMCBAQAotLy8gRXh0cmFjdGVkIGZyb20gaHR0
cDovL2Rldi53My5vcmcvMjAwNi93ZWJhcGkvV2ViSURMLyBvbiAyMDExLTA1LTA2Ci1bQ29uc3Ry
dWN0b3JdCi1pbnRlcmZhY2UgU3R1ZGVudCB7Ci0gIGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGlk
OwotICBzdHJpbmdpZmllciBhdHRyaWJ1dGUgRE9NU3RyaW5nIG5hbWU7Ci19OwpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3Zh
bGlkL2lkbC9zdHJpbmdpZmllci1jdXN0b20ud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0
L3ZhbGlkL2lkbC9zdHJpbmdpZmllci1jdXN0b20ud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggYjVkN2M4N2U3ZjQuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJv
Yy90ZXN0L3ZhbGlkL2lkbC9zdHJpbmdpZmllci1jdXN0b20ud2lkbAorKysgL2Rldi9udWxsCkBA
IC0xLDkgKzAsMCBAQAotLy8gRXh0cmFjdGVkIGZyb20gaHR0cDovL2Rldi53My5vcmcvMjAwNi93
ZWJhcGkvV2ViSURMLyBvbiAyMDExLTA1LTA2Ci1bQ29uc3RydWN0b3JdCi1pbnRlcmZhY2UgU3R1
ZGVudCB7Ci0gIGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGlkOwotICBhdHRyaWJ1dGUgRE9NU3Ry
aW5nPyBmYW1pbHlOYW1lOwotICBhdHRyaWJ1dGUgRE9NU3RyaW5nIGdpdmVuTmFtZTsKLQotICBz
dHJpbmdpZmllciBET01TdHJpbmcgKCk7Ci19OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9zdHJpbmdpZmll
ci53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3N0cmluZ2lmaWVyLndp
ZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDRlYjQ4M2Q5YjUzLi4wMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvc3RyaW5naWZpZXIud2lk
bAorKysgL2Rldi9udWxsCkBAIC0xLDggKzAsMCBAQAotLy8gRXh0cmFjdGVkIGZyb20gaHR0cDov
L2Rldi53My5vcmcvMjAwNi93ZWJhcGkvV2ViSURMLyBvbiAyMDExLTA1LTA2Ci1pbnRlcmZhY2Ug
QSB7Ci0gIHN0cmluZ2lmaWVyIERPTVN0cmluZyAoKTsKLX07Ci0KLWludGVyZmFjZSBBIHsKLSAg
c3RyaW5naWZpZXI7Ci19OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC90cmVhdGFzbnVsbC53aWRsIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3RyZWF0YXNudWxsLndpZGwKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQzYzU1YjAwOGMwLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvdHJlYXRhc251bGwud2lkbAorKysgL2Rldi9u
dWxsCkBAIC0xLDcgKzAsMCBAQAotLy8gRXh0cmFjdGVkIGZyb20gaHR0cDovL2Rldi53My5vcmcv
MjAwNi93ZWJhcGkvV2ViSURMLyBvbiAyMDExLTA1LTA2Ci1pbnRlcmZhY2UgRG9nIHsKLSAgYXR0
cmlidXRlIERPTVN0cmluZyBuYW1lOwotICBhdHRyaWJ1dGUgRE9NU3RyaW5nIG93bmVyOwotCi0g
IGJvb2xlYW4gaXNNZW1iZXJPZkJyZWVkKFtUcmVhdE51bGxBcz1FbXB0eVN0cmluZ10gRE9NU3Ry
aW5nIGJyZWVkTmFtZSk7Ci19OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC90cmVhdGFzdW5kZWZpbmVkLndp
ZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvdHJlYXRhc3VuZGVmaW5lZC53
aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlMzAwNTBmODQxMy4uMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3RyZWF0YXN1bmRlZmlu
ZWQud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDcgKzAsMCBAQAotLy8gRXh0cmFjdGVkIGZyb20g
aHR0cDovL2Rldi53My5vcmcvMjAwNi93ZWJhcGkvV2ViSURMLyBvbiAyMDExLTA1LTA2Ci1pbnRl
cmZhY2UgQ2F0IHsKLSAgYXR0cmlidXRlIERPTVN0cmluZyBuYW1lOwotICBhdHRyaWJ1dGUgRE9N
U3RyaW5nIG93bmVyOwotCi0gIGJvb2xlYW4gaXNNZW1iZXJPZkJyZWVkKFtUcmVhdFVuZGVmaW5l
ZEFzPUVtcHR5U3RyaW5nXSBET01TdHJpbmcgYnJlZWROYW1lKTsKLX07ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQv
aWRsL3R5cGVkZWYud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC90eXBl
ZGVmLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGI0YzE3ZDhkMzZhLi4wMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvdHlwZWRlZi53
aWRsCisrKyAvZGV2L251bGwKQEAgLTEsMjIgKzAsMCBAQAotLy8gRXh0cmFjdGVkIGZyb20gaHR0
cDovL2Rldi53My5vcmcvMjAwNi93ZWJhcGkvV2ViSURMLyBvbiAyMDExLTA1LTA2Ci0gICAgICBp
bnRlcmZhY2UgUG9pbnQgewotICAgICAgICBhdHRyaWJ1dGUgZmxvYXQgeDsKLSAgICAgICAgYXR0
cmlidXRlIGZsb2F0IHk7Ci0gICAgICB9OwotCi0gICAgICB0eXBlZGVmIHNlcXVlbmNlPFBvaW50
PiBQb2ludFNlcXVlbmNlOwotCi0gICAgICBpbnRlcmZhY2UgUmVjdCB7Ci0gICAgICAgIGF0dHJp
YnV0ZSBQb2ludCB0b3BsZWZ0OwotICAgICAgICBhdHRyaWJ1dGUgUG9pbnQgYm90dG9tcmlnaHQ7
Ci0gICAgICB9OwotCi0gIGludGVyZmFjZSBXaWRnZXQgewotCi0gICAgcmVhZG9ubHkgYXR0cmli
dXRlIFJlY3QgYm91bmRzOwotCi0gICAgYm9vbGVhbiBwb2ludFdpdGhpbkJvdW5kcyhQb2ludCBw
KTsKLSAgICBib29sZWFuIGFsbFBvaW50c1dpdGhpbkJvdW5kcyhQb2ludFNlcXVlbmNlIHBzKTsK
LSAgfTsKLQotICB0eXBlZGVmIFtDbGFtcF0gb2N0ZXQgdmFsdWU7ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRs
L3R5cGVzdWZmaXhlcy53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3R5
cGVzdWZmaXhlcy53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5NWUzMWMxNjkw
Mi4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3R5
cGVzdWZmaXhlcy53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsMyArMCwwIEBACi1pbnRlcmZhY2Ug
U3VmZml4ZXMgewotICB2b2lkIHRlc3Qoc2VxdWVuY2U8RE9NU3RyaW5nW10/Pj8gZm9vKTsKLX07
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvdW5pb250eXBl
LndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvdW5pb250eXBlLndpZGwK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDRkOTlmMDE5NjMwLi4wMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvdW5pb250eXBlLndpZGwKKysr
IC9kZXYvbnVsbApAQCAtMSwzICswLDAgQEAKLWludGVyZmFjZSBVbmlvbiB7Ci0gYXR0cmlidXRl
IChmbG9hdCBvciAoRGF0ZSBvciBFdmVudCkgb3IgKE5vZGUgb3IgRE9NU3RyaW5nKT8pIHRlc3Q7
Ci19OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93
aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC92YXJpYWRpYy1vcGVyYXRpb25zLndpZGwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvdmFyaWFkaWMtb3BlcmF0aW9ucy53aWRsCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1MWZhZTRjYzFlYS4uMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3ZhcmlhZGljLW9wZXJhdGlvbnMud2lk
bAorKysgL2Rldi9udWxsCkBAIC0xLDcgKzAsMCBAQAotLy8gRXh0cmFjdGVkIGZyb20gaHR0cDov
L2Rldi53My5vcmcvMjAwNi93ZWJhcGkvV2ViSURMLyBvbiAyMDExLTA1LTA2Ci1pbnRlcmZhY2Ug
SW50ZWdlclNldCB7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGNhcmRpbmFs
aXR5OwotCi0gIHZvaWQgdW5pb24obG9uZy4uLiBpbnRzKTsKLSAgdm9pZCBpbnRlcnNlY3Rpb24o
bG9uZy4uLiBpbnRzKTsKLX07ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3czYy1pbXBvcnQubG9nIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3czYy1pbXBvcnQubG9nCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCA3MjUwOWI5NGQ3OC4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3czYy1pbXBvcnQubG9nCisrKyAvZGV2L251bGwK
QEAgLTEsNjQgKzAsMCBAQAotVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0
ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCi1EbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRp
cmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUg
VzNDIENTUyBvciBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0aHViLmNvbS93M2MvY3Nzd2ctdGVz
dAotCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCi0KLVRoZW4gcnVu
IHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0
Ci0KLURvIE5PVCBtb2RpZnkgb3IgcmVtb3ZlIHRoaXMgZmlsZS4KLQotLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
Ci1Qcm9wZXJ0aWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6Ci1Ob25lCi1Qcm9wZXJ0eSB2
YWx1ZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKLU5vbmUKLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQot
TGlzdCBvZiBmaWxlczoKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvYWxsb3dh
bnkud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9hcnJheS53aWRsCi0v
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL2F0dHJpYnV0ZXMud2lkbAotL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9jYWxsYmFjay53aWRsCi0vTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dp
ZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL2NhbGxlci53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rl
c3QvdmFsaWQvaWRsL2NvbnN0YW50cy53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFs
aWQvaWRsL2NvbnN0cnVjdG9yLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9p
ZGwvZGljdGlvbmFyeS1pbmhlcml0cy53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFs
aWQvaWRsL2RpY3Rpb25hcnkud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lk
bC9kb2N1bWVudGF0aW9uLWRvcy53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQv
aWRsL2RvY3VtZW50YXRpb24ud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lk
bC9lbnVtLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvZXF1aXZhbGVu
dC1kZWNsLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvZXhjZXB0aW9u
LWluaGVyaXRhbmNlLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvZXhj
ZXB0aW9uLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvZ2V0dGVyLXNl
dHRlci53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL2lkZW50aWZpZXIt
cXVhbGlmaWVkLW5hbWVzLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwv
aW1wbGVtZW50cy53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL2luZGV4
ZWQtcHJvcGVydGllcy53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL2lu
aGVyaXRzLWdldHRlci53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL2lu
dGVyZmFjZS1pbmhlcml0cy53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRs
L2l0ZXJhdG9yLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvbmFtZWRj
b25zdHJ1Y3Rvci53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL25vaW50
ZXJmYWNlb2JqZWN0LndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvbnVs
bGFibGUud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9udWxsYWJsZW9i
amVjdHMud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9vcGVyYXRpb24t
b3B0aW9uYWwtYXJnLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvb3Zl
cmxvYWRpbmcud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9vdmVycmlk
ZWJ1aWx0aW5zLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvcGFydGlh
bC1pbnRlcmZhY2Uud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9wcmlt
aXRpdmVzLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvcHJvdG90eXBl
cm9vdC53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3B1dGZvcndhcmRz
LndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvcmVnLW9wZXJhdGlvbnMu
d2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9yZXBsYWNlYWJsZS53aWRs
Ci0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3NlcXVlbmNlLndpZGwKLS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvc2VyaWFsaXplci53aWRsCi0vTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3N0YXRpYy53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9j
L3Rlc3QvdmFsaWQvaWRsL3N0cmluZ2lmaWVyLWF0dHJpYnV0ZS53aWRsCi0vTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dp
ZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3N0cmluZ2lmaWVyLWN1c3RvbS53aWRsCi0vTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3N0cmluZ2lmaWVyLndpZGwKLS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lk
bHByb2MvdGVzdC92YWxpZC9pZGwvdHJlYXRhc251bGwud2lkbAotL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJv
Yy90ZXN0L3ZhbGlkL2lkbC90cmVhdGFzdW5kZWZpbmVkLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHBy
b2MvdGVzdC92YWxpZC9pZGwvdHlwZWRlZi53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3Qv
dmFsaWQvaWRsL3R5cGVzdWZmaXhlcy53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFs
aWQvaWRsL3VuaW9udHlwZS53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRs
L3ZhcmlhZGljLW9wZXJhdGlvbnMud2lkbApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9j
L3Rlc3QvdmFsaWQveG1sL2FsbG93YW55LndpZGxwcm9jeG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9j
L3Rlc3QvdmFsaWQveG1sL2FsbG93YW55LndpZGxwcm9jeG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCA3ZGE1MDhiY2I1Yy4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxw
cm9jL3Rlc3QvdmFsaWQveG1sL2FsbG93YW55LndpZGxwcm9jeG1sCisrKyAvZGV2L251bGwKQEAg
LTEsNDQgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KLTwh
RE9DVFlQRSBEZWZpbml0aW9ucyBTWVNURU0gIndpZGxwcm9jeG1sLmR0ZCI+Ci08RGVmaW5pdGlv
bnM+Ci0gIDx3ZWJpZGw+aW50ZXJmYWNlIEIgewotICB2b2lkIGcoKTsKLSAgdm9pZCBnKDxyZWY+
QjwvcmVmPiBiKTsKLSAgdm9pZCBnKFtBbGxvd0FueV0gRE9NU3RyaW5nIHMpOwotfTs8L3dlYmlk
bD4KLSAgPEludGVyZmFjZSBuYW1lPSJCIiBpZD0iOjpCIj4KLSAgICA8d2ViaWRsPmludGVyZmFj
ZSBCIHsKLSAgdm9pZCBnKCk7Ci0gIHZvaWQgZyg8cmVmPkI8L3JlZj4gYik7Ci0gIHZvaWQgZyhb
QWxsb3dBbnldIERPTVN0cmluZyBzKTsKLX07PC93ZWJpZGw+Ci0gICAgPE9wZXJhdGlvbiBuYW1l
PSJnIiBpZD0iOjpCOjpnIj4KLSAgICAgIDx3ZWJpZGw+ICB2b2lkIGcoKTs8L3dlYmlkbD4KLSAg
ICAgIDxUeXBlIHR5cGU9InZvaWQiLz4KLSAgICAgIDxBcmd1bWVudExpc3QvPgotICAgIDwvT3Bl
cmF0aW9uPgotICAgIDxPcGVyYXRpb24gbmFtZT0iZyIgaWQ9Ijo6Qjo6ZyI+Ci0gICAgICA8d2Vi
aWRsPiAgdm9pZCBnKDxyZWY+QjwvcmVmPiBiKTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9
InZvaWQiLz4KLSAgICAgIDxBcmd1bWVudExpc3Q+Ci0gICAgICAgIDxBcmd1bWVudCBuYW1lPSJi
Ij4KLSAgICAgICAgICA8VHlwZSBuYW1lPSJCIi8+Ci0gICAgICAgIDwvQXJndW1lbnQ+Ci0gICAg
ICA8L0FyZ3VtZW50TGlzdD4KLSAgICA8L09wZXJhdGlvbj4KLSAgICA8T3BlcmF0aW9uIG5hbWU9
ImciIGlkPSI6OkI6OmciPgotICAgICAgPHdlYmlkbD4gIHZvaWQgZyhbQWxsb3dBbnldIERPTVN0
cmluZyBzKTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9InZvaWQiLz4KLSAgICAgIDxBcmd1
bWVudExpc3Q+Ci0gICAgICAgIDxBcmd1bWVudCBuYW1lPSJzIj4KLSAgICAgICAgICA8RXh0ZW5k
ZWRBdHRyaWJ1dGVMaXN0PgotICAgICAgICAgICAgPEV4dGVuZGVkQXR0cmlidXRlIG5hbWU9IkFs
bG93QW55Ij4KLSAgICAgICAgICAgICAgPHdlYmlkbD5BbGxvd0FueTwvd2ViaWRsPgotICAgICAg
ICAgICAgPC9FeHRlbmRlZEF0dHJpYnV0ZT4KLSAgICAgICAgICA8L0V4dGVuZGVkQXR0cmlidXRl
TGlzdD4KLSAgICAgICAgICA8VHlwZSB0eXBlPSJET01TdHJpbmciLz4KLSAgICAgICAgPC9Bcmd1
bWVudD4KLSAgICAgIDwvQXJndW1lbnRMaXN0PgotICAgIDwvT3BlcmF0aW9uPgotICA8L0ludGVy
ZmFjZT4KLTwvRGVmaW5pdGlvbnM+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVz
dC92YWxpZC94bWwvYXJyYXkud2lkbHByb2N4bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92
YWxpZC94bWwvYXJyYXkud2lkbHByb2N4bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDNkZjcyZmYxNjA4Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92
YWxpZC94bWwvYXJyYXkud2lkbHByb2N4bWwKKysrIC9kZXYvbnVsbApAQCAtMSwyNyArMCwwIEBA
Ci08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgotPCFET0NUWVBFIERlZmlu
aXRpb25zIFNZU1RFTSAid2lkbHByb2N4bWwuZHRkIj4KLTxEZWZpbml0aW9ucz4KLSAgPHdlYmlk
bD5bQ29uc3RydWN0b3JdCi1pbnRlcmZhY2UgTG90dGVyeVJlc3VsdHMgewotICByZWFkb25seSBh
dHRyaWJ1dGUgdW5zaWduZWQgc2hvcnRbXVtdIG51bWJlcnM7Ci19Ozwvd2ViaWRsPgotICA8SW50
ZXJmYWNlIG5hbWU9IkxvdHRlcnlSZXN1bHRzIiBpZD0iOjpMb3R0ZXJ5UmVzdWx0cyI+Ci0gICAg
PHdlYmlkbD5bQ29uc3RydWN0b3JdCi1pbnRlcmZhY2UgTG90dGVyeVJlc3VsdHMgewotICByZWFk
b25seSBhdHRyaWJ1dGUgdW5zaWduZWQgc2hvcnRbXVtdIG51bWJlcnM7Ci19Ozwvd2ViaWRsPgot
ICAgIDxFeHRlbmRlZEF0dHJpYnV0ZUxpc3Q+Ci0gICAgICA8RXh0ZW5kZWRBdHRyaWJ1dGUgbmFt
ZT0iQ29uc3RydWN0b3IiPgotICAgICAgICA8d2ViaWRsPkNvbnN0cnVjdG9yPC93ZWJpZGw+Ci0g
ICAgICA8L0V4dGVuZGVkQXR0cmlidXRlPgotICAgIDwvRXh0ZW5kZWRBdHRyaWJ1dGVMaXN0Pgot
ICAgIDxBdHRyaWJ1dGUgcmVhZG9ubHk9InJlYWRvbmx5IiBuYW1lPSJudW1iZXJzIiBpZD0iOjpM
b3R0ZXJ5UmVzdWx0czo6bnVtYmVycyI+Ci0gICAgICA8d2ViaWRsPiAgcmVhZG9ubHkgYXR0cmli
dXRlIHVuc2lnbmVkIHNob3J0W11bXSBudW1iZXJzOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlw
ZT0iYXJyYXkiPgotICAgICAgICA8VHlwZSB0eXBlPSJhcnJheSI+Ci0gICAgICAgICAgPFR5cGUg
dHlwZT0idW5zaWduZWQgc2hvcnQiLz4KLSAgICAgICAgPC9UeXBlPgotICAgICAgPC9UeXBlPgot
ICAgIDwvQXR0cmlidXRlPgotICA8L0ludGVyZmFjZT4KLTwvRGVmaW5pdGlvbnM+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvYXR0cmlidXRlcy53aWRscHJv
Y3htbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9hdHRyaWJ1dGVzLndpZGxw
cm9jeG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4OWJkOGFjOWIwMS4uMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL2F0dHJpYnV0ZXMu
d2lkbHByb2N4bWwKKysrIC9kZXYvbnVsbApAQCAtMSwzOCArMCwwIEBACi08P3htbCB2ZXJzaW9u
PSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgotPCFET0NUWVBFIERlZmluaXRpb25zIFNZU1RFTSAi
d2lkbHByb2N4bWwuZHRkIj4KLTxEZWZpbml0aW9ucz4KLSAgPHdlYmlkbD5leGNlcHRpb24gSW52
YWxpZE5hbWUgewotICBET01TdHJpbmcgcmVhc29uOwotfTsKLQotZXhjZXB0aW9uIE5vU3VjaFBl
dCB7IH07Ci0KLWludGVyZmFjZSBQZXJzb24gewotCi0gIGF0dHJpYnV0ZSB1bnNpZ25lZCBzaG9y
dCBhZ2U7Ci0KLX07PC93ZWJpZGw+Ci0gIDxFeGNlcHRpb24gbmFtZT0iSW52YWxpZE5hbWUiIGlk
PSI6OkludmFsaWROYW1lIj4KLSAgICA8d2ViaWRsPmV4Y2VwdGlvbiBJbnZhbGlkTmFtZSB7Ci0g
IERPTVN0cmluZyByZWFzb247Ci19Ozwvd2ViaWRsPgotICAgIDxFeGNlcHRpb25GaWVsZCBuYW1l
PSJyZWFzb24iIGlkPSI6OkludmFsaWROYW1lOjpyZWFzb24iPgotICAgICAgPHdlYmlkbD4gIERP
TVN0cmluZyByZWFzb247PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJET01TdHJpbmciLz4K
LSAgICA8L0V4Y2VwdGlvbkZpZWxkPgotICA8L0V4Y2VwdGlvbj4KLSAgPEV4Y2VwdGlvbiBuYW1l
PSJOb1N1Y2hQZXQiIGlkPSI6Ok5vU3VjaFBldCI+Ci0gICAgPHdlYmlkbD5leGNlcHRpb24gTm9T
dWNoUGV0IHsgfTs8L3dlYmlkbD4KLSAgPC9FeGNlcHRpb24+Ci0gIDxJbnRlcmZhY2UgbmFtZT0i
UGVyc29uIiBpZD0iOjpQZXJzb24iPgotICAgIDx3ZWJpZGw+aW50ZXJmYWNlIFBlcnNvbiB7Ci0K
LSAgYXR0cmlidXRlIHVuc2lnbmVkIHNob3J0IGFnZTsKLQotfTs8L3dlYmlkbD4KLSAgICA8QXR0
cmlidXRlIG5hbWU9ImFnZSIgaWQ9Ijo6UGVyc29uOjphZ2UiPgotICAgICAgPHdlYmlkbD4gIGF0
dHJpYnV0ZSB1bnNpZ25lZCBzaG9ydCBhZ2U7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJ1
bnNpZ25lZCBzaG9ydCIvPgotICAgIDwvQXR0cmlidXRlPgotICA8L0ludGVyZmFjZT4KLTwvRGVm
aW5pdGlvbnM+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwv
Y2FsbGJhY2sud2lkbHByb2N4bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwv
Y2FsbGJhY2sud2lkbHByb2N4bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDllYWMw
NmNlMjc5Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94
bWwvY2FsbGJhY2sud2lkbHByb2N4bWwKKysrIC9kZXYvbnVsbApAQCAtMSwzMiArMCwwIEBACi08
P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgotPCFET0NUWVBFIERlZmluaXRp
b25zIFNZU1RFTSAid2lkbHByb2N4bWwuZHRkIj4KLTxEZWZpbml0aW9ucz4KLSAgPHdlYmlkbD5j
YWxsYmFjayBBc3luY09wZXJhdGlvbkNhbGxiYWNrID0gdm9pZCAoRE9NU3RyaW5nIHN0YXR1cyk7
Ci0KLWNhbGxiYWNrIGludGVyZmFjZSBFdmVudEhhbmRsZXIgewotICB2b2lkIGV2ZW50T2NjdXJy
ZWQoRE9NU3RyaW5nIGRldGFpbHMpOwotfTs8L3dlYmlkbD4KLSAgPENhbGxiYWNrIG5hbWU9IkFz
eW5jT3BlcmF0aW9uQ2FsbGJhY2siIGlkPSI6OkFzeW5jT3BlcmF0aW9uQ2FsbGJhY2siPgotICAg
IDx3ZWJpZGw+Y2FsbGJhY2sgQXN5bmNPcGVyYXRpb25DYWxsYmFjayA9IHZvaWQgKERPTVN0cmlu
ZyBzdGF0dXMpOzwvd2ViaWRsPgotICAgIDxUeXBlIHR5cGU9InZvaWQiLz4KLSAgICA8QXJndW1l
bnRMaXN0PgotICAgICAgPEFyZ3VtZW50IG5hbWU9InN0YXR1cyI+Ci0gICAgICAgIDxUeXBlIHR5
cGU9IkRPTVN0cmluZyIvPgotICAgICAgPC9Bcmd1bWVudD4KLSAgICA8L0FyZ3VtZW50TGlzdD4K
LSAgPC9DYWxsYmFjaz4KLSAgPEludGVyZmFjZSBuYW1lPSJFdmVudEhhbmRsZXIiIGNhbGxiYWNr
PSJjYWxsYmFjayIgaWQ9Ijo6RXZlbnRIYW5kbGVyIj4KLSAgICA8d2ViaWRsPmNhbGxiYWNrIGlu
dGVyZmFjZSBFdmVudEhhbmRsZXIgewotICB2b2lkIGV2ZW50T2NjdXJyZWQoRE9NU3RyaW5nIGRl
dGFpbHMpOwotfTs8L3dlYmlkbD4KLSAgICA8T3BlcmF0aW9uIG5hbWU9ImV2ZW50T2NjdXJyZWQi
IGlkPSI6OkV2ZW50SGFuZGxlcjo6ZXZlbnRPY2N1cnJlZCI+Ci0gICAgICA8d2ViaWRsPiAgdm9p
ZCBldmVudE9jY3VycmVkKERPTVN0cmluZyBkZXRhaWxzKTs8L3dlYmlkbD4KLSAgICAgIDxUeXBl
IHR5cGU9InZvaWQiLz4KLSAgICAgIDxBcmd1bWVudExpc3Q+Ci0gICAgICAgIDxBcmd1bWVudCBu
YW1lPSJkZXRhaWxzIj4KLSAgICAgICAgICA8VHlwZSB0eXBlPSJET01TdHJpbmciLz4KLSAgICAg
ICAgPC9Bcmd1bWVudD4KLSAgICAgIDwvQXJndW1lbnRMaXN0PgotICAgIDwvT3BlcmF0aW9uPgot
ICA8L0ludGVyZmFjZT4KLTwvRGVmaW5pdGlvbnM+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lk
bHByb2MvdGVzdC92YWxpZC94bWwvY2FsbGVyLndpZGxwcm9jeG1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxw
cm9jL3Rlc3QvdmFsaWQveG1sL2NhbGxlci53aWRscHJvY3htbApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggOTc1NGQ0ZTAyNjguLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRs
cHJvYy90ZXN0L3ZhbGlkL3htbC9jYWxsZXIud2lkbHByb2N4bWwKKysrIC9kZXYvbnVsbApAQCAt
MSwyMSArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgotPCFE
T0NUWVBFIERlZmluaXRpb25zIFNZU1RFTSAid2lkbHByb2N4bWwuZHRkIj4KLTxEZWZpbml0aW9u
cz4KLSAgPHdlYmlkbD5pbnRlcmZhY2UgTnVtYmVyUXVhZHJ1cGxlciB7Ci0gIGxlZ2FjeWNhbGxl
ciBmbG9hdCBjb21wdXRlKGZsb2F0IHgpOwotfTs8L3dlYmlkbD4KLSAgPEludGVyZmFjZSBuYW1l
PSJOdW1iZXJRdWFkcnVwbGVyIiBpZD0iOjpOdW1iZXJRdWFkcnVwbGVyIj4KLSAgICA8d2ViaWRs
PmludGVyZmFjZSBOdW1iZXJRdWFkcnVwbGVyIHsKLSAgbGVnYWN5Y2FsbGVyIGZsb2F0IGNvbXB1
dGUoZmxvYXQgeCk7Ci19Ozwvd2ViaWRsPgotICAgIDxPcGVyYXRpb24gbGVnYWN5Y2FsbGVyPSJs
ZWdhY3ljYWxsZXIiIG5hbWU9ImNvbXB1dGUiIGlkPSI6Ok51bWJlclF1YWRydXBsZXI6OmNvbXB1
dGUiPgotICAgICAgPHdlYmlkbD4gIGxlZ2FjeWNhbGxlciBmbG9hdCBjb21wdXRlKGZsb2F0IHgp
Ozwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0iZmxvYXQiLz4KLSAgICAgIDxBcmd1bWVudExp
c3Q+Ci0gICAgICAgIDxBcmd1bWVudCBuYW1lPSJ4Ij4KLSAgICAgICAgICA8VHlwZSB0eXBlPSJm
bG9hdCIvPgotICAgICAgICA8L0FyZ3VtZW50PgotICAgICAgPC9Bcmd1bWVudExpc3Q+Ci0gICAg
PC9PcGVyYXRpb24+Ci0gIDwvSW50ZXJmYWNlPgotPC9EZWZpbml0aW9ucz4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9jb25zdGFudHMud2lkbHByb2N4bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvY29uc3RhbnRzLndpZGxwcm9jeG1s
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1MWNiNDMzMWY3NS4uMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL2NvbnN0YW50cy53aWRscHJv
Y3htbAorKysgL2Rldi9udWxsCkBAIC0xLDg1ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIg
ZW5jb2Rpbmc9IlVURi04Ij8+Ci08IURPQ1RZUEUgRGVmaW5pdGlvbnMgU1lTVEVNICJ3aWRscHJv
Y3htbC5kdGQiPgotPERlZmluaXRpb25zPgotICA8d2ViaWRsPmludGVyZmFjZSBVdGlsIHsKLSAg
Y29uc3QgYm9vbGVhbiBERUJVRyA9IGZhbHNlOwotICBjb25zdCBzaG9ydCBuZWdhdGl2ZSA9IC0x
OwotICBjb25zdCBvY3RldCBMRiA9IDEwOwotICBjb25zdCB1bnNpZ25lZCBsb25nIEJJVF9NQVNL
ID0gMHgwMDAwZmMwMDsKLSAgY29uc3QgZmxvYXQgQVZPR0FEUk8gPSA2LjAyMmUyMzsKLSAgY29u
c3QgdW5yZXN0cmljdGVkIGZsb2F0IHNvYmlnID0gSW5maW5pdHk7Ci0gIGNvbnN0IHVucmVzdHJp
Y3RlZCBkb3VibGUgbWludXNvbmVkaXZpZGVkYnl6ZXJvID0gLUluZmluaXR5OwotICBjb25zdCBz
aG9ydCBub3RhbnVtYmVyID0gTmFOOwotfTsKLQotZXhjZXB0aW9uIEVycm9yIHsKLSAgY29uc3Qg
c2hvcnQgRVJSX1VOS05PV04gPSAwOwotICBjb25zdCBzaG9ydCBFUlJfT1VUX09GX01FTU9SWSA9
IDE7Ci0KLSAgc2hvcnQgZXJyb3JDb2RlOwotfTs8L3dlYmlkbD4KLSAgPEludGVyZmFjZSBuYW1l
PSJVdGlsIiBpZD0iOjpVdGlsIj4KLSAgICA8d2ViaWRsPmludGVyZmFjZSBVdGlsIHsKLSAgY29u
c3QgYm9vbGVhbiBERUJVRyA9IGZhbHNlOwotICBjb25zdCBzaG9ydCBuZWdhdGl2ZSA9IC0xOwot
ICBjb25zdCBvY3RldCBMRiA9IDEwOwotICBjb25zdCB1bnNpZ25lZCBsb25nIEJJVF9NQVNLID0g
MHgwMDAwZmMwMDsKLSAgY29uc3QgZmxvYXQgQVZPR0FEUk8gPSA2LjAyMmUyMzsKLSAgY29uc3Qg
dW5yZXN0cmljdGVkIGZsb2F0IHNvYmlnID0gSW5maW5pdHk7Ci0gIGNvbnN0IHVucmVzdHJpY3Rl
ZCBkb3VibGUgbWludXNvbmVkaXZpZGVkYnl6ZXJvID0gLUluZmluaXR5OwotICBjb25zdCBzaG9y
dCBub3RhbnVtYmVyID0gTmFOOwotfTs8L3dlYmlkbD4KLSAgICA8Q29uc3QgbmFtZT0iREVCVUci
IHZhbHVlPSJmYWxzZSIgaWQ9Ijo6VXRpbDo6REVCVUciPgotICAgICAgPHdlYmlkbD4gIGNvbnN0
IGJvb2xlYW4gREVCVUcgPSBmYWxzZTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9ImJvb2xl
YW4iLz4KLSAgICA8L0NvbnN0PgotICAgIDxDb25zdCBuYW1lPSJuZWdhdGl2ZSIgdmFsdWU9Ii0x
IiBpZD0iOjpVdGlsOjpuZWdhdGl2ZSI+Ci0gICAgICA8d2ViaWRsPiAgY29uc3Qgc2hvcnQgbmVn
YXRpdmUgPSAtMTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9InNob3J0Ii8+Ci0gICAgPC9D
b25zdD4KLSAgICA8Q29uc3QgbmFtZT0iTEYiIHZhbHVlPSIxMCIgaWQ9Ijo6VXRpbDo6TEYiPgot
ICAgICAgPHdlYmlkbD4gIGNvbnN0IG9jdGV0IExGID0gMTA7PC93ZWJpZGw+Ci0gICAgICA8VHlw
ZSB0eXBlPSJvY3RldCIvPgotICAgIDwvQ29uc3Q+Ci0gICAgPENvbnN0IG5hbWU9IkJJVF9NQVNL
IiB2YWx1ZT0iMHgwMDAwZmMwMCIgaWQ9Ijo6VXRpbDo6QklUX01BU0siPgotICAgICAgPHdlYmlk
bD4gIGNvbnN0IHVuc2lnbmVkIGxvbmcgQklUX01BU0sgPSAweDAwMDBmYzAwOzwvd2ViaWRsPgot
ICAgICAgPFR5cGUgdHlwZT0idW5zaWduZWQgbG9uZyIvPgotICAgIDwvQ29uc3Q+Ci0gICAgPENv
bnN0IG5hbWU9IkFWT0dBRFJPIiB2YWx1ZT0iNi4wMjJlMjMiIGlkPSI6OlV0aWw6OkFWT0dBRFJP
Ij4KLSAgICAgIDx3ZWJpZGw+ICBjb25zdCBmbG9hdCBBVk9HQURSTyA9IDYuMDIyZTIzOzwvd2Vi
aWRsPgotICAgICAgPFR5cGUgdHlwZT0iZmxvYXQiLz4KLSAgICA8L0NvbnN0PgotICAgIDxDb25z
dCBuYW1lPSJzb2JpZyIgdmFsdWU9IkluZmluaXR5IiBpZD0iOjpVdGlsOjpzb2JpZyI+Ci0gICAg
ICA8d2ViaWRsPiAgY29uc3QgdW5yZXN0cmljdGVkIGZsb2F0IHNvYmlnID0gSW5maW5pdHk7PC93
ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJ1bnJlc3RyaWN0ZWQgZmxvYXQiLz4KLSAgICA8L0Nv
bnN0PgotICAgIDxDb25zdCBuYW1lPSJtaW51c29uZWRpdmlkZWRieXplcm8iIHZhbHVlPSItSW5m
aW5pdHkiIGlkPSI6OlV0aWw6Om1pbnVzb25lZGl2aWRlZGJ5emVybyI+Ci0gICAgICA8d2ViaWRs
PiAgY29uc3QgdW5yZXN0cmljdGVkIGRvdWJsZSBtaW51c29uZWRpdmlkZWRieXplcm8gPSAtSW5m
aW5pdHk7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJ1bnJlc3RyaWN0ZWQgZG91YmxlIi8+
Ci0gICAgPC9Db25zdD4KLSAgICA8Q29uc3QgbmFtZT0ibm90YW51bWJlciIgdmFsdWU9Ik5hTiIg
aWQ9Ijo6VXRpbDo6bm90YW51bWJlciI+Ci0gICAgICA8d2ViaWRsPiAgY29uc3Qgc2hvcnQgbm90
YW51bWJlciA9IE5hTjs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9InNob3J0Ii8+Ci0gICAg
PC9Db25zdD4KLSAgPC9JbnRlcmZhY2U+Ci0gIDxFeGNlcHRpb24gbmFtZT0iRXJyb3IiIGlkPSI6
OkVycm9yIj4KLSAgICA8d2ViaWRsPmV4Y2VwdGlvbiBFcnJvciB7Ci0gIGNvbnN0IHNob3J0IEVS
Ul9VTktOT1dOID0gMDsKLSAgY29uc3Qgc2hvcnQgRVJSX09VVF9PRl9NRU1PUlkgPSAxOwotCi0g
IHNob3J0IGVycm9yQ29kZTsKLX07PC93ZWJpZGw+Ci0gICAgPENvbnN0IG5hbWU9IkVSUl9VTktO
T1dOIiB2YWx1ZT0iMCIgaWQ9Ijo6RXJyb3I6OkVSUl9VTktOT1dOIj4KLSAgICAgIDx3ZWJpZGw+
ICBjb25zdCBzaG9ydCBFUlJfVU5LTk9XTiA9IDA7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBl
PSJzaG9ydCIvPgotICAgIDwvQ29uc3Q+Ci0gICAgPENvbnN0IG5hbWU9IkVSUl9PVVRfT0ZfTUVN
T1JZIiB2YWx1ZT0iMSIgaWQ9Ijo6RXJyb3I6OkVSUl9PVVRfT0ZfTUVNT1JZIj4KLSAgICAgIDx3
ZWJpZGw+ICBjb25zdCBzaG9ydCBFUlJfT1VUX09GX01FTU9SWSA9IDE7PC93ZWJpZGw+Ci0gICAg
ICA8VHlwZSB0eXBlPSJzaG9ydCIvPgotICAgIDwvQ29uc3Q+Ci0gICAgPEV4Y2VwdGlvbkZpZWxk
IG5hbWU9ImVycm9yQ29kZSIgaWQ9Ijo6RXJyb3I6OmVycm9yQ29kZSI+Ci0gICAgICA8d2ViaWRs
PiAgc2hvcnQgZXJyb3JDb2RlOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0ic2hvcnQiLz4K
LSAgICA8L0V4Y2VwdGlvbkZpZWxkPgotICA8L0V4Y2VwdGlvbj4KLTwvRGVmaW5pdGlvbnM+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvY29uc3RydWN0b3Iu
d2lkbHByb2N4bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvY29uc3RydWN0
b3Iud2lkbHByb2N4bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDhlNzhmYmFiMzY1
Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvY29u
c3RydWN0b3Iud2lkbHByb2N4bWwKKysrIC9kZXYvbnVsbApAQCAtMSw1MSArMCwwIEBACi08P3ht
bCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgotPCFET0NUWVBFIERlZmluaXRpb25z
IFNZU1RFTSAid2lkbHByb2N4bWwuZHRkIj4KLTxEZWZpbml0aW9ucz4KLSAgPHdlYmlkbD5bQ29u
c3RydWN0b3IsCi0gQ29uc3RydWN0b3IoZmxvYXQgcmFkaXVzKV0KLWludGVyZmFjZSBDaXJjbGUg
ewotICBhdHRyaWJ1dGUgZmxvYXQgcjsKLSAgYXR0cmlidXRlIGZsb2F0IGN4OwotICBhdHRyaWJ1
dGUgZmxvYXQgY3k7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSBmbG9hdCBjaXJjdW1mZXJlbmNlOwot
fTs8L3dlYmlkbD4KLSAgPEludGVyZmFjZSBuYW1lPSJDaXJjbGUiIGlkPSI6OkNpcmNsZSI+Ci0g
ICAgPHdlYmlkbD5bQ29uc3RydWN0b3IsCi0gQ29uc3RydWN0b3IoZmxvYXQgcmFkaXVzKV0KLWlu
dGVyZmFjZSBDaXJjbGUgewotICBhdHRyaWJ1dGUgZmxvYXQgcjsKLSAgYXR0cmlidXRlIGZsb2F0
IGN4OwotICBhdHRyaWJ1dGUgZmxvYXQgY3k7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSBmbG9hdCBj
aXJjdW1mZXJlbmNlOwotfTs8L3dlYmlkbD4KLSAgICA8RXh0ZW5kZWRBdHRyaWJ1dGVMaXN0Pgot
ICAgICAgPEV4dGVuZGVkQXR0cmlidXRlIG5hbWU9IkNvbnN0cnVjdG9yIj4KLSAgICAgICAgPHdl
YmlkbD5Db25zdHJ1Y3Rvcjwvd2ViaWRsPgotICAgICAgPC9FeHRlbmRlZEF0dHJpYnV0ZT4KLSAg
ICAgIDxFeHRlbmRlZEF0dHJpYnV0ZSBuYW1lPSJDb25zdHJ1Y3RvciI+Ci0gICAgICAgIDx3ZWJp
ZGw+IENvbnN0cnVjdG9yKGZsb2F0IHJhZGl1cyk8L3dlYmlkbD4KLSAgICAgICAgPEFyZ3VtZW50
TGlzdD4KLSAgICAgICAgICA8QXJndW1lbnQgbmFtZT0icmFkaXVzIj4KLSAgICAgICAgICAgIDxU
eXBlIHR5cGU9ImZsb2F0Ii8+Ci0gICAgICAgICAgPC9Bcmd1bWVudD4KLSAgICAgICAgPC9Bcmd1
bWVudExpc3Q+Ci0gICAgICA8L0V4dGVuZGVkQXR0cmlidXRlPgotICAgIDwvRXh0ZW5kZWRBdHRy
aWJ1dGVMaXN0PgotICAgIDxBdHRyaWJ1dGUgbmFtZT0iciIgaWQ9Ijo6Q2lyY2xlOjpyIj4KLSAg
ICAgIDx3ZWJpZGw+ICBhdHRyaWJ1dGUgZmxvYXQgcjs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5
cGU9ImZsb2F0Ii8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gICAgPEF0dHJpYnV0ZSBuYW1lPSJjeCIg
aWQ9Ijo6Q2lyY2xlOjpjeCI+Ci0gICAgICA8d2ViaWRsPiAgYXR0cmlidXRlIGZsb2F0IGN4Ozwv
d2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0iZmxvYXQiLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAg
ICA8QXR0cmlidXRlIG5hbWU9ImN5IiBpZD0iOjpDaXJjbGU6OmN5Ij4KLSAgICAgIDx3ZWJpZGw+
ICBhdHRyaWJ1dGUgZmxvYXQgY3k7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJmbG9hdCIv
PgotICAgIDwvQXR0cmlidXRlPgotICAgIDxBdHRyaWJ1dGUgcmVhZG9ubHk9InJlYWRvbmx5IiBu
YW1lPSJjaXJjdW1mZXJlbmNlIiBpZD0iOjpDaXJjbGU6OmNpcmN1bWZlcmVuY2UiPgotICAgICAg
PHdlYmlkbD4gIHJlYWRvbmx5IGF0dHJpYnV0ZSBmbG9hdCBjaXJjdW1mZXJlbmNlOzwvd2ViaWRs
PgotICAgICAgPFR5cGUgdHlwZT0iZmxvYXQiLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAgPC9JbnRl
cmZhY2U+Ci08L0RlZmluaXRpb25zPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rl
c3QvdmFsaWQveG1sL2RpY3Rpb25hcnktaW5oZXJpdHMud2lkbHByb2N4bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
d2lkbHByb2MvdGVzdC92YWxpZC94bWwvZGljdGlvbmFyeS1pbmhlcml0cy53aWRscHJvY3htbApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjY5YTgzY2Q4NDkuLjAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9kaWN0aW9uYXJ5LWluaGVyaXRz
LndpZGxwcm9jeG1sCisrKyAvZGV2L251bGwKQEAgLTEsNDQgKzAsMCBAQAotPD94bWwgdmVyc2lv
bj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KLTwhRE9DVFlQRSBEZWZpbml0aW9ucyBTWVNURU0g
IndpZGxwcm9jeG1sLmR0ZCI+Ci08RGVmaW5pdGlvbnM+Ci0gIDx3ZWJpZGw+ZGljdGlvbmFyeSBQ
YWludE9wdGlvbnMgewotICBET01TdHJpbmc/IGZpbGxQYXR0ZXJuID0gJnF1b3Q7YmxhY2smcXVv
dDs7Ci0gIERPTVN0cmluZz8gc3Ryb2tlUGF0dGVybiA9IG51bGw7Ci0gIDxyZWY+UG9pbnQ8L3Jl
Zj4gcG9zaXRpb247Ci19OwotCi1kaWN0aW9uYXJ5IFdldFBhaW50T3B0aW9ucyA6IDxyZWY+UGFp
bnRPcHRpb25zPC9yZWY+IHsKLSAgZmxvYXQgaHlkcm9tZXRyeTsKLX07PC93ZWJpZGw+Ci0gIDxE
aWN0aW9uYXJ5IG5hbWU9IlBhaW50T3B0aW9ucyIgaWQ9Ijo6UGFpbnRPcHRpb25zIj4KLSAgICA8
d2ViaWRsPmRpY3Rpb25hcnkgUGFpbnRPcHRpb25zIHsKLSAgRE9NU3RyaW5nPyBmaWxsUGF0dGVy
biA9ICZxdW90O2JsYWNrJnF1b3Q7OwotICBET01TdHJpbmc/IHN0cm9rZVBhdHRlcm4gPSBudWxs
OwotICA8cmVmPlBvaW50PC9yZWY+IHBvc2l0aW9uOwotfTs8L3dlYmlkbD4KLSAgICA8RGljdGlv
bmFyeU1lbWJlciBuYW1lPSJmaWxsUGF0dGVybiIgc3RyaW5ndmFsdWU9ImJsYWNrIiBpZD0iOjpQ
YWludE9wdGlvbnM6OmZpbGxQYXR0ZXJuIj4KLSAgICAgIDx3ZWJpZGw+ICBET01TdHJpbmc/IGZp
bGxQYXR0ZXJuID0gJnF1b3Q7YmxhY2smcXVvdDs7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBl
PSJET01TdHJpbmciIG51bGxhYmxlPSJudWxsYWJsZSIvPgotICAgIDwvRGljdGlvbmFyeU1lbWJl
cj4KLSAgICA8RGljdGlvbmFyeU1lbWJlciBuYW1lPSJzdHJva2VQYXR0ZXJuIiB2YWx1ZT0ibnVs
bCIgaWQ9Ijo6UGFpbnRPcHRpb25zOjpzdHJva2VQYXR0ZXJuIj4KLSAgICAgIDx3ZWJpZGw+ICBE
T01TdHJpbmc/IHN0cm9rZVBhdHRlcm4gPSBudWxsOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlw
ZT0iRE9NU3RyaW5nIiBudWxsYWJsZT0ibnVsbGFibGUiLz4KLSAgICA8L0RpY3Rpb25hcnlNZW1i
ZXI+Ci0gICAgPERpY3Rpb25hcnlNZW1iZXIgbmFtZT0icG9zaXRpb24iIGlkPSI6OlBhaW50T3B0
aW9uczo6cG9zaXRpb24iPgotICAgICAgPHdlYmlkbD4gIDxyZWY+UG9pbnQ8L3JlZj4gcG9zaXRp
b247PC93ZWJpZGw+Ci0gICAgICA8VHlwZSBuYW1lPSJQb2ludCIvPgotICAgIDwvRGljdGlvbmFy
eU1lbWJlcj4KLSAgPC9EaWN0aW9uYXJ5PgotICA8RGljdGlvbmFyeSBuYW1lPSJXZXRQYWludE9w
dGlvbnMiIGlkPSI6OldldFBhaW50T3B0aW9ucyI+Ci0gICAgPHdlYmlkbD5kaWN0aW9uYXJ5IFdl
dFBhaW50T3B0aW9ucyA6IDxyZWY+UGFpbnRPcHRpb25zPC9yZWY+IHsKLSAgZmxvYXQgaHlkcm9t
ZXRyeTsKLX07PC93ZWJpZGw+Ci0gICAgPERpY3Rpb25hcnlJbmhlcml0YW5jZT4KLSAgICAgIDxO
YW1lIG5hbWU9IlBhaW50T3B0aW9ucyIvPgotICAgIDwvRGljdGlvbmFyeUluaGVyaXRhbmNlPgot
ICAgIDxEaWN0aW9uYXJ5TWVtYmVyIG5hbWU9Imh5ZHJvbWV0cnkiIGlkPSI6OldldFBhaW50T3B0
aW9uczo6aHlkcm9tZXRyeSI+Ci0gICAgICA8d2ViaWRsPiAgZmxvYXQgaHlkcm9tZXRyeTs8L3dl
YmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9ImZsb2F0Ii8+Ci0gICAgPC9EaWN0aW9uYXJ5TWVtYmVy
PgotICA8L0RpY3Rpb25hcnk+Ci08L0RlZmluaXRpb25zPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL2RpY3Rpb25hcnkud2lkbHByb2N4bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvZGljdGlvbmFyeS53aWRscHJvY3htbApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTc4Y2NiNGUyNzEuLjAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9kaWN0aW9uYXJ5LndpZGxwcm9jeG1sCisr
KyAvZGV2L251bGwKQEAgLTEsNDcgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGlu
Zz0iVVRGLTgiPz4KLTwhRE9DVFlQRSBEZWZpbml0aW9ucyBTWVNURU0gIndpZGxwcm9jeG1sLmR0
ZCI+Ci08RGVmaW5pdGlvbnM+Ci0gIDx3ZWJpZGw+ZGljdGlvbmFyeSBQYWludE9wdGlvbnMgewot
ICBET01TdHJpbmc/IGZpbGxQYXR0ZXJuID0gJnF1b3Q7YmxhY2smcXVvdDs7Ci0gIERPTVN0cmlu
Zz8gc3Ryb2tlUGF0dGVybiA9IG51bGw7Ci0gIDxyZWY+UG9pbnQ8L3JlZj4gcG9zaXRpb247Ci19
OwotCi1wYXJ0aWFsIGRpY3Rpb25hcnkgQSB7Ci0gIGxvbmcgaDsKLSAgbG9uZyBkOwotfTs8L3dl
YmlkbD4KLSAgPERpY3Rpb25hcnkgbmFtZT0iUGFpbnRPcHRpb25zIiBpZD0iOjpQYWludE9wdGlv
bnMiPgotICAgIDx3ZWJpZGw+ZGljdGlvbmFyeSBQYWludE9wdGlvbnMgewotICBET01TdHJpbmc/
IGZpbGxQYXR0ZXJuID0gJnF1b3Q7YmxhY2smcXVvdDs7Ci0gIERPTVN0cmluZz8gc3Ryb2tlUGF0
dGVybiA9IG51bGw7Ci0gIDxyZWY+UG9pbnQ8L3JlZj4gcG9zaXRpb247Ci19Ozwvd2ViaWRsPgot
ICAgIDxEaWN0aW9uYXJ5TWVtYmVyIG5hbWU9ImZpbGxQYXR0ZXJuIiBzdHJpbmd2YWx1ZT0iYmxh
Y2siIGlkPSI6OlBhaW50T3B0aW9uczo6ZmlsbFBhdHRlcm4iPgotICAgICAgPHdlYmlkbD4gIERP
TVN0cmluZz8gZmlsbFBhdHRlcm4gPSAmcXVvdDtibGFjayZxdW90Ozs8L3dlYmlkbD4KLSAgICAg
IDxUeXBlIHR5cGU9IkRPTVN0cmluZyIgbnVsbGFibGU9Im51bGxhYmxlIi8+Ci0gICAgPC9EaWN0
aW9uYXJ5TWVtYmVyPgotICAgIDxEaWN0aW9uYXJ5TWVtYmVyIG5hbWU9InN0cm9rZVBhdHRlcm4i
IHZhbHVlPSJudWxsIiBpZD0iOjpQYWludE9wdGlvbnM6OnN0cm9rZVBhdHRlcm4iPgotICAgICAg
PHdlYmlkbD4gIERPTVN0cmluZz8gc3Ryb2tlUGF0dGVybiA9IG51bGw7PC93ZWJpZGw+Ci0gICAg
ICA8VHlwZSB0eXBlPSJET01TdHJpbmciIG51bGxhYmxlPSJudWxsYWJsZSIvPgotICAgIDwvRGlj
dGlvbmFyeU1lbWJlcj4KLSAgICA8RGljdGlvbmFyeU1lbWJlciBuYW1lPSJwb3NpdGlvbiIgaWQ9
Ijo6UGFpbnRPcHRpb25zOjpwb3NpdGlvbiI+Ci0gICAgICA8d2ViaWRsPiAgPHJlZj5Qb2ludDwv
cmVmPiBwb3NpdGlvbjs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIG5hbWU9IlBvaW50Ii8+Ci0gICAg
PC9EaWN0aW9uYXJ5TWVtYmVyPgotICA8L0RpY3Rpb25hcnk+Ci0gIDxEaWN0aW9uYXJ5IG5hbWU9
IkEiIHBhcnRpYWw9InBhcnRpYWwiIGlkPSI6OkEiPgotICAgIDx3ZWJpZGw+cGFydGlhbCBkaWN0
aW9uYXJ5IEEgewotICBsb25nIGg7Ci0gIGxvbmcgZDsKLX07PC93ZWJpZGw+Ci0gICAgPERpY3Rp
b25hcnlNZW1iZXIgbmFtZT0iaCIgaWQ9Ijo6QTo6aCI+Ci0gICAgICA8d2ViaWRsPiAgbG9uZyBo
Ozwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0ibG9uZyIvPgotICAgIDwvRGljdGlvbmFyeU1l
bWJlcj4KLSAgICA8RGljdGlvbmFyeU1lbWJlciBuYW1lPSJkIiBpZD0iOjpBOjpkIj4KLSAgICAg
IDx3ZWJpZGw+ICBsb25nIGQ7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJsb25nIi8+Ci0g
ICAgPC9EaWN0aW9uYXJ5TWVtYmVyPgotICA8L0RpY3Rpb25hcnk+Ci08L0RlZmluaXRpb25zPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL2RvY3VtZW50YXRp
b24tZG9zLndpZGxwcm9jeG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL2Rv
Y3VtZW50YXRpb24tZG9zLndpZGxwcm9jeG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAxNjExZjBlNTc2YS4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3Qv
dmFsaWQveG1sL2RvY3VtZW50YXRpb24tZG9zLndpZGxwcm9jeG1sCisrKyAvZGV2L251bGwKQEAg
LTEsNTkgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KLTwh
RE9DVFlQRSBEZWZpbml0aW9ucyBTWVNURU0gIndpZGxwcm9jeG1sLmR0ZCI+Ci08RGVmaW5pdGlv
bnM+Ci0gIDx3ZWJpZGw+aW50ZXJmYWNlIERvY3VtZW50YXRpb24ge307PC93ZWJpZGw+Ci0gIDxJ
bnRlcmZhY2UgbmFtZT0iRG9jdW1lbnRhdGlvbiIgaWQ9Ijo6RG9jdW1lbnRhdGlvbiI+Ci0gICAg
PHdlYmlkbD5pbnRlcmZhY2UgRG9jdW1lbnRhdGlvbiB7fTs8L3dlYmlkbD4KLSAgICA8ZGVzY3Jp
cHRpdmU+Ci0gICAgICAgIDxicmllZj4KLSBUZXN0aW5nIGRvY3VtZW50YXRpb24gZmVhdHVyZXMK
LSAgICAgICAgPC9icmllZj4KLSAgICAgICA8ZGVzY3JpcHRpb24+Ci0gICAgICAgIDxwPgotVGhp
cyBpcyBhCi1zaW5nbGUgcGFyYWdyYXBoCi0gICAgICAgIDwvcD4KLSAgICAgICAgPHA+Ci1UaGlz
IGlzIHZhbGlkLiAgICAgICAgPC9wPgotICAgICAgICA8cD4KLVRoaXMgaXMgPGVtPnZhbGlkPC9l
bT4uICAgICAgICA8L3A+Ci0gICAgICAgIDxwPgotVGhpcyBpcyA8Yj52YWxpZDwvYj4uICAgICAg
ICA8L3A+Ci0gICAgICAgIDxwPgotVGhpcyBpcyA8YSBocmVmPScnPnZhbGlkPC9hPi4gICAgICAg
IDwvcD4KLSAgICAgICAgPHVsPgotICAgICAgICAgIDxsaT4KLVRoaXMgICAgICAgICAgPC9saT4K
LSAgICAgICAgICA8bGk+Ci1pcyAgICAgICAgICA8L2xpPgotICAgICAgICAgIDxsaT4KLXZhbGlk
ICAgICAgICAgIDwvbGk+Ci0gICAgICAgIDwvdWw+Ci0gICAgICAgIDxkbD4KLSAgICAgICAgICA8
ZHQ+Ci1UaGlzICAgICAgICAgIDwvZHQ+Ci0gICAgICAgICAgPGRkPgotdmFsaWQgICAgICAgICAg
PC9kZD4KLSAgICAgICAgPC9kbD4KLSAgICAgICAgPHRhYmxlPgotICAgICAgICAgIDx0cj4KLSAg
ICAgICAgICAgIDx0ZD4KLXRoaXMgICAgICAgICAgICA8L3RkPgotICAgICAgICAgICAgPHRkPgot
aXMgICAgICAgICAgICA8L3RkPgotICAgICAgICAgIDwvdHI+Ci0gICAgICAgICAgPHRyPgotICAg
ICAgICAgICAgPHRkPgotdmFsaWQgICAgICAgICAgICA8L3RkPgotICAgICAgICAgIDwvdHI+Ci0g
ICAgICAgIDwvdGFibGU+Ci0gICAgICAgIDxwPgotVGhpcyBpcyA8YnIvPiB2YWxpZC4gICAgICAg
IDwvcD4KLSAgICAgICAgPHA+Ci1UaGlzIGlzIDxiciAvPiB2YWxpZC4gICAgICAgIDwvcD4KLSAg
ICAgICAgPHA+Ci1UaGlzIGlzIDxici8+IHZhbGlkLiAgICAgICAgPC9wPgotICAgICAgIDwvZGVz
Y3JpcHRpb24+Ci0gICAgPC9kZXNjcmlwdGl2ZT4KLSAgPC9JbnRlcmZhY2U+Ci08L0RlZmluaXRp
b25zPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL2RvY3Vt
ZW50YXRpb24ud2lkbHByb2N4bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwv
ZG9jdW1lbnRhdGlvbi53aWRscHJvY3htbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
YWZlNDUyN2MyMjEuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3Zh
bGlkL3htbC9kb2N1bWVudGF0aW9uLndpZGxwcm9jeG1sCisrKyAvZGV2L251bGwKQEAgLTEsNjEg
KzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KLTwhRE9DVFlQ
RSBEZWZpbml0aW9ucyBTWVNURU0gIndpZGxwcm9jeG1sLmR0ZCI+Ci08RGVmaW5pdGlvbnM+Ci0g
IDx3ZWJpZGw+aW50ZXJmYWNlIERvY3VtZW50YXRpb24ge307PC93ZWJpZGw+Ci0gIDxJbnRlcmZh
Y2UgbmFtZT0iRG9jdW1lbnRhdGlvbiIgaWQ9Ijo6RG9jdW1lbnRhdGlvbiI+Ci0gICAgPHdlYmlk
bD5pbnRlcmZhY2UgRG9jdW1lbnRhdGlvbiB7fTs8L3dlYmlkbD4KLSAgICA8ZGVzY3JpcHRpdmU+
Ci0gICAgICAgIDxicmllZj4KLSBUZXN0aW5nIGRvY3VtZW50YXRpb24gZmVhdHVyZXMKLSAgICAg
ICAgPC9icmllZj4KLSAgICAgICA8ZGVzY3JpcHRpb24+Ci0gICAgICAgIDxwPgotVGhpcyBpcyBh
Ci1zaW5nbGUgcGFyYWdyYXBoCi0gICAgICAgIDwvcD4KLSAgICAgICAgPHA+Ci1UaGlzIGlzIHZh
bGlkLiAgICAgICAgPC9wPgotICAgICAgICA8cD4KLVRoaXMgaXMgPGVtPnZhbGlkPC9lbT4uICAg
ICAgICA8L3A+Ci0gICAgICAgIDxwPgotVGhpcyBpcyA8Yj52YWxpZDwvYj4uICAgICAgICA8L3A+
Ci0gICAgICAgIDxwPgotVGhpcyBpcyA8YSBocmVmPScnPnZhbGlkPC9hPi4gICAgICAgIDwvcD4K
LSAgICAgICAgPHVsPgotICAgICAgICAgIDxsaT4KLVRoaXMgICAgICAgICAgPC9saT4KLSAgICAg
ICAgICA8bGk+Ci1pcyAgICAgICAgICA8L2xpPgotICAgICAgICAgIDxsaT4KLXZhbGlkICAgICAg
ICAgIDwvbGk+Ci0gICAgICAgIDwvdWw+Ci0gICAgICAgIDxkbD4KLSAgICAgICAgICA8ZHQ+Ci1U
aGlzICAgICAgICAgIDwvZHQ+Ci0gICAgICAgICAgPGRkPgotdmFsaWQgICAgICAgICAgPC9kZD4K
LSAgICAgICAgPC9kbD4KLSAgICAgICAgPHRhYmxlPgotICAgICAgICAgIDx0cj4KLSAgICAgICAg
ICAgIDx0ZD4KLXRoaXMgICAgICAgICAgICA8L3RkPgotICAgICAgICAgICAgPHRkPgotaXMgICAg
ICAgICAgICA8L3RkPgotICAgICAgICAgIDwvdHI+Ci0gICAgICAgICAgPHRyPgotICAgICAgICAg
ICAgPHRkPgotdmFsaWQgICAgICAgICAgICA8L3RkPgotICAgICAgICAgIDwvdHI+Ci0gICAgICAg
IDwvdGFibGU+Ci0gICAgICAgIDxwPgotVGhpcyBpcyA8YnIvPiB2YWxpZC4gICAgICAgIDwvcD4K
LSAgICAgICAgPHA+Ci1UaGlzIGlzIDxiciAvPiB2YWxpZC4gICAgICAgIDwvcD4KLSAgICAgICAg
PHA+Ci1UaGlzIGlzIDxici8+IHZhbGlkLiAgICAgICAgPC9wPgotICAgICAgICA8cD4KLTxpbWcg
c3JjPSJmb28ucG5nIiBhbHQ9IlZhbGlkIi8+ICAgICAgICA8L3A+Ci0gICAgICAgPC9kZXNjcmlw
dGlvbj4KLSAgICA8L2Rlc2NyaXB0aXZlPgotICA8L0ludGVyZmFjZT4KLTwvRGVmaW5pdGlvbnM+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvZW51bS53aWRs
cHJvY3htbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9lbnVtLndpZGxwcm9j
eG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlMWU4MjU4ZmJkMC4uMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL2VudW0ud2lkbHByb2N4
bWwKKysrIC9kZXYvbnVsbApAQCAtMSw1MiArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVu
Y29kaW5nPSJVVEYtOCI/PgotPCFET0NUWVBFIERlZmluaXRpb25zIFNZU1RFTSAid2lkbHByb2N4
bWwuZHRkIj4KLTxEZWZpbml0aW9ucz4KLSAgPHdlYmlkbD5lbnVtIE1lYWxUeXBlIHsgJnF1b3Q7
cmljZSZxdW90OywgJnF1b3Q7bm9vZGxlcyZxdW90OywgJnF1b3Q7b3RoZXImcXVvdDsgfTsKLQot
aW50ZXJmYWNlIE1lYWwgewotICBhdHRyaWJ1dGUgPHJlZj5NZWFsVHlwZTwvcmVmPiB0eXBlOwot
ICBhdHRyaWJ1dGUgZmxvYXQgc2l6ZTsgICAgIAotCi0gIHZvaWQgaW5pdGlhbGl6ZSg8cmVmPk1l
YWxUeXBlPC9yZWY+IHR5cGUsIGZsb2F0IHNpemUpOwotfTs8L3dlYmlkbD4KLSAgPEVudW0gbmFt
ZT0iTWVhbFR5cGUiIGlkPSI6Ok1lYWxUeXBlIj4KLSAgICA8d2ViaWRsPmVudW0gTWVhbFR5cGUg
eyAmcXVvdDtyaWNlJnF1b3Q7LCAmcXVvdDtub29kbGVzJnF1b3Q7LCAmcXVvdDtvdGhlciZxdW90
OyB9Ozwvd2ViaWRsPgotICAgIDxFbnVtVmFsdWUgc3RyaW5ndmFsdWU9InJpY2UiPgotICAgICAg
PHdlYmlkbD4gJnF1b3Q7cmljZTwvd2ViaWRsPgotICAgIDwvRW51bVZhbHVlPgotICAgIDxFbnVt
VmFsdWUgc3RyaW5ndmFsdWU9Im5vb2RsZXMiPgotICAgICAgPHdlYmlkbD4gJnF1b3Q7bm9vZGxl
czwvd2ViaWRsPgotICAgIDwvRW51bVZhbHVlPgotICAgIDxFbnVtVmFsdWUgc3RyaW5ndmFsdWU9
Im90aGVyIj4KLSAgICAgIDx3ZWJpZGw+ICZxdW90O290aGVyPC93ZWJpZGw+Ci0gICAgPC9FbnVt
VmFsdWU+Ci0gIDwvRW51bT4KLSAgPEludGVyZmFjZSBuYW1lPSJNZWFsIiBpZD0iOjpNZWFsIj4K
LSAgICA8d2ViaWRsPmludGVyZmFjZSBNZWFsIHsKLSAgYXR0cmlidXRlIDxyZWY+TWVhbFR5cGU8
L3JlZj4gdHlwZTsKLSAgYXR0cmlidXRlIGZsb2F0IHNpemU7ICAgICAKLQotICB2b2lkIGluaXRp
YWxpemUoPHJlZj5NZWFsVHlwZTwvcmVmPiB0eXBlLCBmbG9hdCBzaXplKTsKLX07PC93ZWJpZGw+
Ci0gICAgPEF0dHJpYnV0ZSBuYW1lPSJ0eXBlIiBpZD0iOjpNZWFsOjp0eXBlIj4KLSAgICAgIDx3
ZWJpZGw+ICBhdHRyaWJ1dGUgPHJlZj5NZWFsVHlwZTwvcmVmPiB0eXBlOzwvd2ViaWRsPgotICAg
ICAgPFR5cGUgbmFtZT0iTWVhbFR5cGUiLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAgICA8QXR0cmli
dXRlIG5hbWU9InNpemUiIGlkPSI6Ok1lYWw6OnNpemUiPgotICAgICAgPHdlYmlkbD4gIGF0dHJp
YnV0ZSBmbG9hdCBzaXplOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0iZmxvYXQiLz4KLSAg
ICA8L0F0dHJpYnV0ZT4KLSAgICA8T3BlcmF0aW9uIG5hbWU9ImluaXRpYWxpemUiIGlkPSI6Ok1l
YWw6OmluaXRpYWxpemUiPgotICAgICAgPHdlYmlkbD4gIHZvaWQgaW5pdGlhbGl6ZSg8cmVmPk1l
YWxUeXBlPC9yZWY+IHR5cGUsIGZsb2F0IHNpemUpOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlw
ZT0idm9pZCIvPgotICAgICAgPEFyZ3VtZW50TGlzdD4KLSAgICAgICAgPEFyZ3VtZW50IG5hbWU9
InR5cGUiPgotICAgICAgICAgIDxUeXBlIG5hbWU9Ik1lYWxUeXBlIi8+Ci0gICAgICAgIDwvQXJn
dW1lbnQ+Ci0gICAgICAgIDxBcmd1bWVudCBuYW1lPSJzaXplIj4KLSAgICAgICAgICA8VHlwZSB0
eXBlPSJmbG9hdCIvPgotICAgICAgICA8L0FyZ3VtZW50PgotICAgICAgPC9Bcmd1bWVudExpc3Q+
Ci0gICAgPC9PcGVyYXRpb24+Ci0gIDwvSW50ZXJmYWNlPgotPC9EZWZpbml0aW9ucz4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9lcXVpdmFsZW50LWRlY2wu
d2lkbHByb2N4bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvZXF1aXZhbGVu
dC1kZWNsLndpZGxwcm9jeG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjMzIyZDBh
NWUyMi4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1s
L2VxdWl2YWxlbnQtZGVjbC53aWRscHJvY3htbAorKysgL2Rldi9udWxsCkBAIC0xLDExMSArMCww
IEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgotPCFET0NUWVBFIERl
ZmluaXRpb25zIFNZU1RFTSAid2lkbHByb2N4bWwuZHRkIj4KLTxEZWZpbml0aW9ucz4KLSAgPHdl
YmlkbD5pbnRlcmZhY2UgRGljdGlvbmFyeSB7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25l
ZCBsb25nIHByb3BlcnR5Q291bnQ7Ci0KLSAgZ2V0dGVyIGZsb2F0IGdldFByb3BlcnR5KERPTVN0
cmluZyBwcm9wZXJ0eU5hbWUpOwotICBzZXR0ZXIgdm9pZCBzZXRQcm9wZXJ0eShET01TdHJpbmcg
cHJvcGVydHlOYW1lLCBmbG9hdCBwcm9wZXJ0eVZhbHVlKTsKLX07Ci0KLQotaW50ZXJmYWNlIERp
Y3Rpb25hcnkgewotICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBwcm9wZXJ0eUNv
dW50OwotCi0gIGZsb2F0IGdldFByb3BlcnR5KERPTVN0cmluZyBwcm9wZXJ0eU5hbWUpOwotICB2
b2lkIHNldFByb3BlcnR5KERPTVN0cmluZyBwcm9wZXJ0eU5hbWUsIGZsb2F0IHByb3BlcnR5VmFs
dWUpOwotCi0gIGdldHRlciBmbG9hdCAoRE9NU3RyaW5nIHByb3BlcnR5TmFtZSk7Ci0gIHNldHRl
ciB2b2lkIChET01TdHJpbmcgcHJvcGVydHlOYW1lLCBmbG9hdCBwcm9wZXJ0eVZhbHVlKTsKLX07
PC93ZWJpZGw+Ci0gIDxJbnRlcmZhY2UgbmFtZT0iRGljdGlvbmFyeSIgaWQ9Ijo6RGljdGlvbmFy
eSI+Ci0gICAgPHdlYmlkbD5pbnRlcmZhY2UgRGljdGlvbmFyeSB7Ci0gIHJlYWRvbmx5IGF0dHJp
YnV0ZSB1bnNpZ25lZCBsb25nIHByb3BlcnR5Q291bnQ7Ci0KLSAgZ2V0dGVyIGZsb2F0IGdldFBy
b3BlcnR5KERPTVN0cmluZyBwcm9wZXJ0eU5hbWUpOwotICBzZXR0ZXIgdm9pZCBzZXRQcm9wZXJ0
eShET01TdHJpbmcgcHJvcGVydHlOYW1lLCBmbG9hdCBwcm9wZXJ0eVZhbHVlKTsKLX07PC93ZWJp
ZGw+Ci0gICAgPEF0dHJpYnV0ZSByZWFkb25seT0icmVhZG9ubHkiIG5hbWU9InByb3BlcnR5Q291
bnQiIGlkPSI6OkRpY3Rpb25hcnk6OnByb3BlcnR5Q291bnQiPgotICAgICAgPHdlYmlkbD4gIHJl
YWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIHByb3BlcnR5Q291bnQ7PC93ZWJpZGw+Ci0g
ICAgICA8VHlwZSB0eXBlPSJ1bnNpZ25lZCBsb25nIi8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gICAg
PE9wZXJhdGlvbiBnZXR0ZXI9ImdldHRlciIgbmFtZT0iZ2V0UHJvcGVydHkiIGlkPSI6OkRpY3Rp
b25hcnk6OmdldFByb3BlcnR5Ij4KLSAgICAgIDx3ZWJpZGw+ICBnZXR0ZXIgZmxvYXQgZ2V0UHJv
cGVydHkoRE9NU3RyaW5nIHByb3BlcnR5TmFtZSk7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBl
PSJmbG9hdCIvPgotICAgICAgPEFyZ3VtZW50TGlzdD4KLSAgICAgICAgPEFyZ3VtZW50IG5hbWU9
InByb3BlcnR5TmFtZSI+Ci0gICAgICAgICAgPFR5cGUgdHlwZT0iRE9NU3RyaW5nIi8+Ci0gICAg
ICAgIDwvQXJndW1lbnQ+Ci0gICAgICA8L0FyZ3VtZW50TGlzdD4KLSAgICA8L09wZXJhdGlvbj4K
LSAgICA8T3BlcmF0aW9uIHNldHRlcj0ic2V0dGVyIiBuYW1lPSJzZXRQcm9wZXJ0eSIgaWQ9Ijo6
RGljdGlvbmFyeTo6c2V0UHJvcGVydHkiPgotICAgICAgPHdlYmlkbD4gIHNldHRlciB2b2lkIHNl
dFByb3BlcnR5KERPTVN0cmluZyBwcm9wZXJ0eU5hbWUsIGZsb2F0IHByb3BlcnR5VmFsdWUpOzwv
d2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0idm9pZCIvPgotICAgICAgPEFyZ3VtZW50TGlzdD4K
LSAgICAgICAgPEFyZ3VtZW50IG5hbWU9InByb3BlcnR5TmFtZSI+Ci0gICAgICAgICAgPFR5cGUg
dHlwZT0iRE9NU3RyaW5nIi8+Ci0gICAgICAgIDwvQXJndW1lbnQ+Ci0gICAgICAgIDxBcmd1bWVu
dCBuYW1lPSJwcm9wZXJ0eVZhbHVlIj4KLSAgICAgICAgICA8VHlwZSB0eXBlPSJmbG9hdCIvPgot
ICAgICAgICA8L0FyZ3VtZW50PgotICAgICAgPC9Bcmd1bWVudExpc3Q+Ci0gICAgPC9PcGVyYXRp
b24+Ci0gIDwvSW50ZXJmYWNlPgotICA8SW50ZXJmYWNlIG5hbWU9IkRpY3Rpb25hcnkiIGlkPSI6
OkRpY3Rpb25hcnkiPgotICAgIDx3ZWJpZGw+aW50ZXJmYWNlIERpY3Rpb25hcnkgewotICByZWFk
b25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBwcm9wZXJ0eUNvdW50OwotCi0gIGZsb2F0IGdl
dFByb3BlcnR5KERPTVN0cmluZyBwcm9wZXJ0eU5hbWUpOwotICB2b2lkIHNldFByb3BlcnR5KERP
TVN0cmluZyBwcm9wZXJ0eU5hbWUsIGZsb2F0IHByb3BlcnR5VmFsdWUpOwotCi0gIGdldHRlciBm
bG9hdCAoRE9NU3RyaW5nIHByb3BlcnR5TmFtZSk7Ci0gIHNldHRlciB2b2lkIChET01TdHJpbmcg
cHJvcGVydHlOYW1lLCBmbG9hdCBwcm9wZXJ0eVZhbHVlKTsKLX07PC93ZWJpZGw+Ci0gICAgPEF0
dHJpYnV0ZSByZWFkb25seT0icmVhZG9ubHkiIG5hbWU9InByb3BlcnR5Q291bnQiIGlkPSI6OkRp
Y3Rpb25hcnk6OnByb3BlcnR5Q291bnQiPgotICAgICAgPHdlYmlkbD4gIHJlYWRvbmx5IGF0dHJp
YnV0ZSB1bnNpZ25lZCBsb25nIHByb3BlcnR5Q291bnQ7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0
eXBlPSJ1bnNpZ25lZCBsb25nIi8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gICAgPE9wZXJhdGlvbiBu
YW1lPSJnZXRQcm9wZXJ0eSIgaWQ9Ijo6RGljdGlvbmFyeTo6Z2V0UHJvcGVydHkiPgotICAgICAg
PHdlYmlkbD4gIGZsb2F0IGdldFByb3BlcnR5KERPTVN0cmluZyBwcm9wZXJ0eU5hbWUpOzwvd2Vi
aWRsPgotICAgICAgPFR5cGUgdHlwZT0iZmxvYXQiLz4KLSAgICAgIDxBcmd1bWVudExpc3Q+Ci0g
ICAgICAgIDxBcmd1bWVudCBuYW1lPSJwcm9wZXJ0eU5hbWUiPgotICAgICAgICAgIDxUeXBlIHR5
cGU9IkRPTVN0cmluZyIvPgotICAgICAgICA8L0FyZ3VtZW50PgotICAgICAgPC9Bcmd1bWVudExp
c3Q+Ci0gICAgPC9PcGVyYXRpb24+Ci0gICAgPE9wZXJhdGlvbiBuYW1lPSJzZXRQcm9wZXJ0eSIg
aWQ9Ijo6RGljdGlvbmFyeTo6c2V0UHJvcGVydHkiPgotICAgICAgPHdlYmlkbD4gIHZvaWQgc2V0
UHJvcGVydHkoRE9NU3RyaW5nIHByb3BlcnR5TmFtZSwgZmxvYXQgcHJvcGVydHlWYWx1ZSk7PC93
ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJ2b2lkIi8+Ci0gICAgICA8QXJndW1lbnRMaXN0Pgot
ICAgICAgICA8QXJndW1lbnQgbmFtZT0icHJvcGVydHlOYW1lIj4KLSAgICAgICAgICA8VHlwZSB0
eXBlPSJET01TdHJpbmciLz4KLSAgICAgICAgPC9Bcmd1bWVudD4KLSAgICAgICAgPEFyZ3VtZW50
IG5hbWU9InByb3BlcnR5VmFsdWUiPgotICAgICAgICAgIDxUeXBlIHR5cGU9ImZsb2F0Ii8+Ci0g
ICAgICAgIDwvQXJndW1lbnQ+Ci0gICAgICA8L0FyZ3VtZW50TGlzdD4KLSAgICA8L09wZXJhdGlv
bj4KLSAgICA8T3BlcmF0aW9uIGdldHRlcj0iZ2V0dGVyIj4KLSAgICAgIDx3ZWJpZGw+ICBnZXR0
ZXIgZmxvYXQgKERPTVN0cmluZyBwcm9wZXJ0eU5hbWUpOzwvd2ViaWRsPgotICAgICAgPFR5cGUg
dHlwZT0iZmxvYXQiLz4KLSAgICAgIDxBcmd1bWVudExpc3Q+Ci0gICAgICAgIDxBcmd1bWVudCBu
YW1lPSJwcm9wZXJ0eU5hbWUiPgotICAgICAgICAgIDxUeXBlIHR5cGU9IkRPTVN0cmluZyIvPgot
ICAgICAgICA8L0FyZ3VtZW50PgotICAgICAgPC9Bcmd1bWVudExpc3Q+Ci0gICAgPC9PcGVyYXRp
b24+Ci0gICAgPE9wZXJhdGlvbiBzZXR0ZXI9InNldHRlciI+Ci0gICAgICA8d2ViaWRsPiAgc2V0
dGVyIHZvaWQgKERPTVN0cmluZyBwcm9wZXJ0eU5hbWUsIGZsb2F0IHByb3BlcnR5VmFsdWUpOzwv
d2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0idm9pZCIvPgotICAgICAgPEFyZ3VtZW50TGlzdD4K
LSAgICAgICAgPEFyZ3VtZW50IG5hbWU9InByb3BlcnR5TmFtZSI+Ci0gICAgICAgICAgPFR5cGUg
dHlwZT0iRE9NU3RyaW5nIi8+Ci0gICAgICAgIDwvQXJndW1lbnQ+Ci0gICAgICAgIDxBcmd1bWVu
dCBuYW1lPSJwcm9wZXJ0eVZhbHVlIj4KLSAgICAgICAgICA8VHlwZSB0eXBlPSJmbG9hdCIvPgot
ICAgICAgICA8L0FyZ3VtZW50PgotICAgICAgPC9Bcmd1bWVudExpc3Q+Ci0gICAgPC9PcGVyYXRp
b24+Ci0gIDwvSW50ZXJmYWNlPgotPC9EZWZpbml0aW9ucz4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9leGNlcHRpb24taW5oZXJpdGFuY2Uud2lkbHByb2N4
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvZXhjZXB0aW9uLWluaGVyaXRh
bmNlLndpZGxwcm9jeG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzYTFmODY4YTRi
NC4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL2V4
Y2VwdGlvbi1pbmhlcml0YW5jZS53aWRscHJvY3htbAorKysgL2Rldi9udWxsCkBAIC0xLDMxICsw
LDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Ci08IURPQ1RZUEUg
RGVmaW5pdGlvbnMgU1lTVEVNICJ3aWRscHJvY3htbC5kdGQiPgotPERlZmluaXRpb25zPgotICA8
d2ViaWRsPiAgZXhjZXB0aW9uIERPTUV4Y2VwdGlvbiB7Ci0gICAgdW5zaWduZWQgc2hvcnQgY29k
ZTsKLSAgfTsKLQotICBleGNlcHRpb24gSGllcmFyY2h5UmVxdWVzdEVycm9yIDogPHJlZj5ET01F
eGNlcHRpb248L3JlZj4geyB9OwotICBleGNlcHRpb24gTm9Nb2RpZmljYXRpb25BbGxvd2VkRXJy
b3IgOiA8cmVmPkRPTUV4Y2VwdGlvbjwvcmVmPiB7IH07PC93ZWJpZGw+Ci0gIDxFeGNlcHRpb24g
bmFtZT0iRE9NRXhjZXB0aW9uIiBpZD0iOjpET01FeGNlcHRpb24iPgotICAgIDx3ZWJpZGw+ICBl
eGNlcHRpb24gRE9NRXhjZXB0aW9uIHsKLSAgICB1bnNpZ25lZCBzaG9ydCBjb2RlOwotICB9Ozwv
d2ViaWRsPgotICAgIDxFeGNlcHRpb25GaWVsZCBuYW1lPSJjb2RlIiBpZD0iOjpET01FeGNlcHRp
b246OmNvZGUiPgotICAgICAgPHdlYmlkbD4gICAgdW5zaWduZWQgc2hvcnQgY29kZTs8L3dlYmlk
bD4KLSAgICAgIDxUeXBlIHR5cGU9InVuc2lnbmVkIHNob3J0Ii8+Ci0gICAgPC9FeGNlcHRpb25G
aWVsZD4KLSAgPC9FeGNlcHRpb24+Ci0gIDxFeGNlcHRpb24gbmFtZT0iSGllcmFyY2h5UmVxdWVz
dEVycm9yIiBpZD0iOjpIaWVyYXJjaHlSZXF1ZXN0RXJyb3IiPgotICAgIDx3ZWJpZGw+ICBleGNl
cHRpb24gSGllcmFyY2h5UmVxdWVzdEVycm9yIDogPHJlZj5ET01FeGNlcHRpb248L3JlZj4geyB9
Ozwvd2ViaWRsPgotICAgIDxFeGNlcHRpb25Jbmhlcml0YW5jZT4KLSAgICAgIDxOYW1lIG5hbWU9
IkRPTUV4Y2VwdGlvbiIvPgotICAgIDwvRXhjZXB0aW9uSW5oZXJpdGFuY2U+Ci0gIDwvRXhjZXB0
aW9uPgotICA8RXhjZXB0aW9uIG5hbWU9Ik5vTW9kaWZpY2F0aW9uQWxsb3dlZEVycm9yIiBpZD0i
OjpOb01vZGlmaWNhdGlvbkFsbG93ZWRFcnJvciI+Ci0gICAgPHdlYmlkbD4gIGV4Y2VwdGlvbiBO
b01vZGlmaWNhdGlvbkFsbG93ZWRFcnJvciA6IDxyZWY+RE9NRXhjZXB0aW9uPC9yZWY+IHsgfTs8
L3dlYmlkbD4KLSAgICA8RXhjZXB0aW9uSW5oZXJpdGFuY2U+Ci0gICAgICA8TmFtZSBuYW1lPSJE
T01FeGNlcHRpb24iLz4KLSAgICA8L0V4Y2VwdGlvbkluaGVyaXRhbmNlPgotICA8L0V4Y2VwdGlv
bj4KLTwvRGVmaW5pdGlvbnM+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92
YWxpZC94bWwvZXhjZXB0aW9uLndpZGxwcm9jeG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3Qv
dmFsaWQveG1sL2V4Y2VwdGlvbi53aWRscHJvY3htbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggYWM5MzMyMGZlMTYuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90
ZXN0L3ZhbGlkL3htbC9leGNlcHRpb24ud2lkbHByb2N4bWwKKysrIC9kZXYvbnVsbApAQCAtMSwy
MyArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgotPCFET0NU
WVBFIERlZmluaXRpb25zIFNZU1RFTSAid2lkbHByb2N4bWwuZHRkIj4KLTxEZWZpbml0aW9ucz4K
LSAgPHdlYmlkbD5pbnRlcmZhY2UgRGFodXQgewotICBhdHRyaWJ1dGUgRE9NU3RyaW5nIHR5cGU7
Ci19OwotCi1leGNlcHRpb24gU29tZUV4Y2VwdGlvbiB7Ci19Ozwvd2ViaWRsPgotICA8SW50ZXJm
YWNlIG5hbWU9IkRhaHV0IiBpZD0iOjpEYWh1dCI+Ci0gICAgPHdlYmlkbD5pbnRlcmZhY2UgRGFo
dXQgewotICBhdHRyaWJ1dGUgRE9NU3RyaW5nIHR5cGU7Ci19Ozwvd2ViaWRsPgotICAgIDxBdHRy
aWJ1dGUgbmFtZT0idHlwZSIgaWQ9Ijo6RGFodXQ6OnR5cGUiPgotICAgICAgPHdlYmlkbD4gIGF0
dHJpYnV0ZSBET01TdHJpbmcgdHlwZTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9IkRPTVN0
cmluZyIvPgotICAgIDwvQXR0cmlidXRlPgotICA8L0ludGVyZmFjZT4KLSAgPEV4Y2VwdGlvbiBu
YW1lPSJTb21lRXhjZXB0aW9uIiBpZD0iOjpTb21lRXhjZXB0aW9uIj4KLSAgICA8d2ViaWRsPmV4
Y2VwdGlvbiBTb21lRXhjZXB0aW9uIHsKLX07PC93ZWJpZGw+Ci0gIDwvRXhjZXB0aW9uPgotPC9E
ZWZpbml0aW9ucz4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3ht
bC9nZXR0ZXItc2V0dGVyLndpZGxwcm9jeG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFs
aWQveG1sL2dldHRlci1zZXR0ZXIud2lkbHByb2N4bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDc2YWZjMDU4YzY4Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mv
dGVzdC92YWxpZC94bWwvZ2V0dGVyLXNldHRlci53aWRscHJvY3htbAorKysgL2Rldi9udWxsCkBA
IC0xLDQzICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Ci08
IURPQ1RZUEUgRGVmaW5pdGlvbnMgU1lTVEVNICJ3aWRscHJvY3htbC5kdGQiPgotPERlZmluaXRp
b25zPgotICA8d2ViaWRsPmludGVyZmFjZSBEaWN0aW9uYXJ5IHsKLSAgcmVhZG9ubHkgYXR0cmli
dXRlIHVuc2lnbmVkIGxvbmcgcHJvcGVydHlDb3VudDsKLQotICBnZXR0ZXIgZmxvYXQgKERPTVN0
cmluZyBwcm9wZXJ0eU5hbWUpOwotICBzZXR0ZXIgdm9pZCAoRE9NU3RyaW5nIHByb3BlcnR5TmFt
ZSwgZmxvYXQgcHJvcGVydHlWYWx1ZSk7Ci19Ozwvd2ViaWRsPgotICA8SW50ZXJmYWNlIG5hbWU9
IkRpY3Rpb25hcnkiIGlkPSI6OkRpY3Rpb25hcnkiPgotICAgIDx3ZWJpZGw+aW50ZXJmYWNlIERp
Y3Rpb25hcnkgewotICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBwcm9wZXJ0eUNv
dW50OwotCi0gIGdldHRlciBmbG9hdCAoRE9NU3RyaW5nIHByb3BlcnR5TmFtZSk7Ci0gIHNldHRl
ciB2b2lkIChET01TdHJpbmcgcHJvcGVydHlOYW1lLCBmbG9hdCBwcm9wZXJ0eVZhbHVlKTsKLX07
PC93ZWJpZGw+Ci0gICAgPEF0dHJpYnV0ZSByZWFkb25seT0icmVhZG9ubHkiIG5hbWU9InByb3Bl
cnR5Q291bnQiIGlkPSI6OkRpY3Rpb25hcnk6OnByb3BlcnR5Q291bnQiPgotICAgICAgPHdlYmlk
bD4gIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIHByb3BlcnR5Q291bnQ7PC93ZWJp
ZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJ1bnNpZ25lZCBsb25nIi8+Ci0gICAgPC9BdHRyaWJ1dGU+
Ci0gICAgPE9wZXJhdGlvbiBnZXR0ZXI9ImdldHRlciI+Ci0gICAgICA8d2ViaWRsPiAgZ2V0dGVy
IGZsb2F0IChET01TdHJpbmcgcHJvcGVydHlOYW1lKTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5
cGU9ImZsb2F0Ii8+Ci0gICAgICA8QXJndW1lbnRMaXN0PgotICAgICAgICA8QXJndW1lbnQgbmFt
ZT0icHJvcGVydHlOYW1lIj4KLSAgICAgICAgICA8VHlwZSB0eXBlPSJET01TdHJpbmciLz4KLSAg
ICAgICAgPC9Bcmd1bWVudD4KLSAgICAgIDwvQXJndW1lbnRMaXN0PgotICAgIDwvT3BlcmF0aW9u
PgotICAgIDxPcGVyYXRpb24gc2V0dGVyPSJzZXR0ZXIiPgotICAgICAgPHdlYmlkbD4gIHNldHRl
ciB2b2lkIChET01TdHJpbmcgcHJvcGVydHlOYW1lLCBmbG9hdCBwcm9wZXJ0eVZhbHVlKTs8L3dl
YmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9InZvaWQiLz4KLSAgICAgIDxBcmd1bWVudExpc3Q+Ci0g
ICAgICAgIDxBcmd1bWVudCBuYW1lPSJwcm9wZXJ0eU5hbWUiPgotICAgICAgICAgIDxUeXBlIHR5
cGU9IkRPTVN0cmluZyIvPgotICAgICAgICA8L0FyZ3VtZW50PgotICAgICAgICA8QXJndW1lbnQg
bmFtZT0icHJvcGVydHlWYWx1ZSI+Ci0gICAgICAgICAgPFR5cGUgdHlwZT0iZmxvYXQiLz4KLSAg
ICAgICAgPC9Bcmd1bWVudD4KLSAgICAgIDwvQXJndW1lbnRMaXN0PgotICAgIDwvT3BlcmF0aW9u
PgotICA8L0ludGVyZmFjZT4KLTwvRGVmaW5pdGlvbnM+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
d2lkbHByb2MvdGVzdC92YWxpZC94bWwvaWRlbnRpZmllci1xdWFsaWZpZWQtbmFtZXMud2lkbHBy
b2N4bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvaWRlbnRpZmllci1xdWFs
aWZpZWQtbmFtZXMud2lkbHByb2N4bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGI2
MDI0ZTVmZjY4Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxp
ZC94bWwvaWRlbnRpZmllci1xdWFsaWZpZWQtbmFtZXMud2lkbHByb2N4bWwKKysrIC9kZXYvbnVs
bApAQCAtMSwxMDcgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgi
Pz4KLTwhRE9DVFlQRSBEZWZpbml0aW9ucyBTWVNURU0gIndpZGxwcm9jeG1sLmR0ZCI+Ci08RGVm
aW5pdGlvbnM+Ci0gIDx3ZWJpZGw+ICB0eXBlZGVmIGZsb2F0IG51bWJlcjsKLQotICBleGNlcHRp
b24gRnJhbWV3b3JrRXhjZXB0aW9uIHsKLQotICAgIGNvbnN0IGxvbmcgRVJSX05PVF9GT1VORCA9
IDE7Ci0KLSAgICBsb25nIGNvZGU7Ci0gIH07Ci0KLSAgaW50ZXJmYWNlIFN5c3RlbSB7Ci0KLSAg
ICBvYmplY3QgY3JlYXRlT2JqZWN0KERPTVN0cmluZyBfaW50ZXJmYWNlKTsKLQotICAgIGdldHRl
ciBET01TdHJpbmcgKERPTVN0cmluZyBrZXlOYW1lKTsKLSAgfTsKLQotICAgIAotICAgIGludGVy
ZmFjZSBUZXh0RmllbGQgewotCi0gICAgICBhdHRyaWJ1dGUgYm9vbGVhbiBfY29uc3Q7Ci0KLSAg
ICAgIGF0dHJpYnV0ZSBET01TdHJpbmc/IF92YWx1ZTsKLSAgICB9OwotCi1pbnRlcmZhY2UgRm9v
IHsKLSB2b2lkIG9wKG9iamVjdCBpbnRlcmZhY2UpOwotfTs8L3dlYmlkbD4KLSAgPFR5cGVkZWYg
bmFtZT0ibnVtYmVyIiBpZD0iOjpudW1iZXIiPgotICAgIDx3ZWJpZGw+ICB0eXBlZGVmIGZsb2F0
IG51bWJlcjs8L3dlYmlkbD4KLSAgICA8VHlwZSB0eXBlPSJmbG9hdCIvPgotICA8L1R5cGVkZWY+
Ci0gIDxFeGNlcHRpb24gbmFtZT0iRnJhbWV3b3JrRXhjZXB0aW9uIiBpZD0iOjpGcmFtZXdvcmtF
eGNlcHRpb24iPgotICAgIDx3ZWJpZGw+ICBleGNlcHRpb24gRnJhbWV3b3JrRXhjZXB0aW9uIHsK
LQotICAgIGNvbnN0IGxvbmcgRVJSX05PVF9GT1VORCA9IDE7Ci0KLSAgICBsb25nIGNvZGU7Ci0g
IH07PC93ZWJpZGw+Ci0gICAgPENvbnN0IG5hbWU9IkVSUl9OT1RfRk9VTkQiIHZhbHVlPSIxIiBp
ZD0iOjpGcmFtZXdvcmtFeGNlcHRpb246OkVSUl9OT1RfRk9VTkQiPgotICAgICAgPHdlYmlkbD4g
ICAgY29uc3QgbG9uZyBFUlJfTk9UX0ZPVU5EID0gMTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5
cGU9ImxvbmciLz4KLSAgICA8L0NvbnN0PgotICAgIDxFeGNlcHRpb25GaWVsZCBuYW1lPSJjb2Rl
IiBpZD0iOjpGcmFtZXdvcmtFeGNlcHRpb246OmNvZGUiPgotICAgICAgPHdlYmlkbD4gICAgbG9u
ZyBjb2RlOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0ibG9uZyIvPgotICAgIDwvRXhjZXB0
aW9uRmllbGQ+Ci0gIDwvRXhjZXB0aW9uPgotICA8SW50ZXJmYWNlIG5hbWU9IlN5c3RlbSIgaWQ9
Ijo6U3lzdGVtIj4KLSAgICA8d2ViaWRsPiAgaW50ZXJmYWNlIFN5c3RlbSB7Ci0KLSAgICBvYmpl
Y3QgY3JlYXRlT2JqZWN0KERPTVN0cmluZyBfaW50ZXJmYWNlKTsKLQotICAgIGdldHRlciBET01T
dHJpbmcgKERPTVN0cmluZyBrZXlOYW1lKTsKLSAgfTs8L3dlYmlkbD4KLSAgICA8T3BlcmF0aW9u
IG5hbWU9ImNyZWF0ZU9iamVjdCIgaWQ9Ijo6U3lzdGVtOjpjcmVhdGVPYmplY3QiPgotICAgICAg
PHdlYmlkbD4gICAgb2JqZWN0IGNyZWF0ZU9iamVjdChET01TdHJpbmcgX2ludGVyZmFjZSk7PC93
ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJvYmplY3QiLz4KLSAgICAgIDxBcmd1bWVudExpc3Q+
Ci0gICAgICAgIDxBcmd1bWVudCBuYW1lPSJfaW50ZXJmYWNlIj4KLSAgICAgICAgICA8VHlwZSB0
eXBlPSJET01TdHJpbmciLz4KLSAgICAgICAgPC9Bcmd1bWVudD4KLSAgICAgIDwvQXJndW1lbnRM
aXN0PgotICAgIDwvT3BlcmF0aW9uPgotICAgIDxPcGVyYXRpb24gZ2V0dGVyPSJnZXR0ZXIiPgot
ICAgICAgPHdlYmlkbD4gICAgZ2V0dGVyIERPTVN0cmluZyAoRE9NU3RyaW5nIGtleU5hbWUpOzwv
d2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0iRE9NU3RyaW5nIi8+Ci0gICAgICA8QXJndW1lbnRM
aXN0PgotICAgICAgICA8QXJndW1lbnQgbmFtZT0ia2V5TmFtZSI+Ci0gICAgICAgICAgPFR5cGUg
dHlwZT0iRE9NU3RyaW5nIi8+Ci0gICAgICAgIDwvQXJndW1lbnQ+Ci0gICAgICA8L0FyZ3VtZW50
TGlzdD4KLSAgICA8L09wZXJhdGlvbj4KLSAgPC9JbnRlcmZhY2U+Ci0gIDxJbnRlcmZhY2UgbmFt
ZT0iVGV4dEZpZWxkIiBpZD0iOjpUZXh0RmllbGQiPgotICAgIDx3ZWJpZGw+ICAgIGludGVyZmFj
ZSBUZXh0RmllbGQgewotCi0gICAgICBhdHRyaWJ1dGUgYm9vbGVhbiBfY29uc3Q7Ci0KLSAgICAg
IGF0dHJpYnV0ZSBET01TdHJpbmc/IF92YWx1ZTsKLSAgICB9Ozwvd2ViaWRsPgotICAgIDxBdHRy
aWJ1dGUgbmFtZT0iX2NvbnN0IiBpZD0iOjpUZXh0RmllbGQ6Ol9jb25zdCI+Ci0gICAgICA8d2Vi
aWRsPiAgICAgIGF0dHJpYnV0ZSBib29sZWFuIF9jb25zdDs8L3dlYmlkbD4KLSAgICAgIDxUeXBl
IHR5cGU9ImJvb2xlYW4iLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAgICA8QXR0cmlidXRlIG5hbWU9
Il92YWx1ZSIgaWQ9Ijo6VGV4dEZpZWxkOjpfdmFsdWUiPgotICAgICAgPHdlYmlkbD4gICAgICBh
dHRyaWJ1dGUgRE9NU3RyaW5nPyBfdmFsdWU7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJE
T01TdHJpbmciIG51bGxhYmxlPSJudWxsYWJsZSIvPgotICAgIDwvQXR0cmlidXRlPgotICA8L0lu
dGVyZmFjZT4KLSAgPEludGVyZmFjZSBuYW1lPSJGb28iIGlkPSI6OkZvbyI+Ci0gICAgPHdlYmlk
bD5pbnRlcmZhY2UgRm9vIHsKLSB2b2lkIG9wKG9iamVjdCBpbnRlcmZhY2UpOwotfTs8L3dlYmlk
bD4KLSAgICA8T3BlcmF0aW9uIG5hbWU9Im9wIiBpZD0iOjpGb286Om9wIj4KLSAgICAgIDx3ZWJp
ZGw+IHZvaWQgb3Aob2JqZWN0IGludGVyZmFjZSk7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBl
PSJ2b2lkIi8+Ci0gICAgICA8QXJndW1lbnRMaXN0PgotICAgICAgICA8QXJndW1lbnQgbmFtZT0i
aW50ZXJmYWNlIj4KLSAgICAgICAgICA8VHlwZSB0eXBlPSJvYmplY3QiLz4KLSAgICAgICAgPC9B
cmd1bWVudD4KLSAgICAgIDwvQXJndW1lbnRMaXN0PgotICAgIDwvT3BlcmF0aW9uPgotICA8L0lu
dGVyZmFjZT4KLTwvRGVmaW5pdGlvbnM+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mv
dGVzdC92YWxpZC94bWwvaW1wbGVtZW50cy53aWRscHJvY3htbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJv
Yy90ZXN0L3ZhbGlkL3htbC9pbXBsZW1lbnRzLndpZGxwcm9jeG1sCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAzZDFjMWFiODQ3OC4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dp
ZGxwcm9jL3Rlc3QvdmFsaWQveG1sL2ltcGxlbWVudHMud2lkbHByb2N4bWwKKysrIC9kZXYvbnVs
bApAQCAtMSw1MSArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/
PgotPCFET0NUWVBFIERlZmluaXRpb25zIFNZU1RFTSAid2lkbHByb2N4bWwuZHRkIj4KLTxEZWZp
bml0aW9ucz4KLSAgPHdlYmlkbD4gIGludGVyZmFjZSBOb2RlIHsKLSAgICByZWFkb25seSBhdHRy
aWJ1dGUgdW5zaWduZWQgc2hvcnQgbm9kZVR5cGU7Ci0gIH07Ci0KLSAgaW50ZXJmYWNlIEV2ZW50
VGFyZ2V0IHsKLSAgICB2b2lkIGFkZEV2ZW50TGlzdGVuZXIoRE9NU3RyaW5nIHR5cGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgIDxyZWY+RXZlbnRMaXN0ZW5lcjwvcmVmPiBsaXN0ZW5lciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbGVhbiB1c2VDYXB0dXJlKTsKLSAgfTsKLQot
ICA8cmVmPk5vZGU8L3JlZj4gaW1wbGVtZW50cyA8cmVmPkV2ZW50VGFyZ2V0PC9yZWY+Ozwvd2Vi
aWRsPgotICA8SW50ZXJmYWNlIG5hbWU9Ik5vZGUiIGlkPSI6Ok5vZGUiPgotICAgIDx3ZWJpZGw+
ICBpbnRlcmZhY2UgTm9kZSB7Ci0gICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIHNob3J0
IG5vZGVUeXBlOwotICB9Ozwvd2ViaWRsPgotICAgIDxBdHRyaWJ1dGUgcmVhZG9ubHk9InJlYWRv
bmx5IiBuYW1lPSJub2RlVHlwZSIgaWQ9Ijo6Tm9kZTo6bm9kZVR5cGUiPgotICAgICAgPHdlYmlk
bD4gICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIHNob3J0IG5vZGVUeXBlOzwvd2ViaWRs
PgotICAgICAgPFR5cGUgdHlwZT0idW5zaWduZWQgc2hvcnQiLz4KLSAgICA8L0F0dHJpYnV0ZT4K
LSAgPC9JbnRlcmZhY2U+Ci0gIDxJbnRlcmZhY2UgbmFtZT0iRXZlbnRUYXJnZXQiIGlkPSI6OkV2
ZW50VGFyZ2V0Ij4KLSAgICA8d2ViaWRsPiAgaW50ZXJmYWNlIEV2ZW50VGFyZ2V0IHsKLSAgICB2
b2lkIGFkZEV2ZW50TGlzdGVuZXIoRE9NU3RyaW5nIHR5cGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgIDxyZWY+RXZlbnRMaXN0ZW5lcjwvcmVmPiBsaXN0ZW5lciwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgYm9vbGVhbiB1c2VDYXB0dXJlKTsKLSAgfTs8L3dlYmlkbD4KLSAgICA8T3Bl
cmF0aW9uIG5hbWU9ImFkZEV2ZW50TGlzdGVuZXIiIGlkPSI6OkV2ZW50VGFyZ2V0OjphZGRFdmVu
dExpc3RlbmVyIj4KLSAgICAgIDx3ZWJpZGw+ICAgIHZvaWQgYWRkRXZlbnRMaXN0ZW5lcihET01T
dHJpbmcgdHlwZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlZj5FdmVudExpc3RlbmVy
PC9yZWY+IGxpc3RlbmVyLAotICAgICAgICAgICAgICAgICAgICAgICAgICBib29sZWFuIHVzZUNh
cHR1cmUpOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0idm9pZCIvPgotICAgICAgPEFyZ3Vt
ZW50TGlzdD4KLSAgICAgICAgPEFyZ3VtZW50IG5hbWU9InR5cGUiPgotICAgICAgICAgIDxUeXBl
IHR5cGU9IkRPTVN0cmluZyIvPgotICAgICAgICA8L0FyZ3VtZW50PgotICAgICAgICA8QXJndW1l
bnQgbmFtZT0ibGlzdGVuZXIiPgotICAgICAgICAgIDxUeXBlIG5hbWU9IkV2ZW50TGlzdGVuZXIi
Lz4KLSAgICAgICAgPC9Bcmd1bWVudD4KLSAgICAgICAgPEFyZ3VtZW50IG5hbWU9InVzZUNhcHR1
cmUiPgotICAgICAgICAgIDxUeXBlIHR5cGU9ImJvb2xlYW4iLz4KLSAgICAgICAgPC9Bcmd1bWVu
dD4KLSAgICAgIDwvQXJndW1lbnRMaXN0PgotICAgIDwvT3BlcmF0aW9uPgotICA8L0ludGVyZmFj
ZT4KLSAgPEltcGxlbWVudHMgbmFtZTE9Ik5vZGUiIG5hbWUyPSJFdmVudFRhcmdldCI+Ci0gICAg
PHdlYmlkbD4gIDxyZWY+Tm9kZTwvcmVmPiBpbXBsZW1lbnRzIDxyZWY+RXZlbnRUYXJnZXQ8L3Jl
Zj47PC93ZWJpZGw+Ci0gIDwvSW1wbGVtZW50cz4KLTwvRGVmaW5pdGlvbnM+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvaW5kZXhlZC1wcm9wZXJ0aWVzLndp
ZGxwcm9jeG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL2luZGV4ZWQtcHJv
cGVydGllcy53aWRscHJvY3htbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZmI4MzYy
MWI2MGQuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3ht
bC9pbmRleGVkLXByb3BlcnRpZXMud2lkbHByb2N4bWwKKysrIC9kZXYvbnVsbApAQCAtMSw5MiAr
MCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgotPCFET0NUWVBF
IERlZmluaXRpb25zIFNZU1RFTSAid2lkbHByb2N4bWwuZHRkIj4KLTxEZWZpbml0aW9ucz4KLSAg
PHdlYmlkbD5pbnRlcmZhY2UgT3JkZXJlZE1hcCB7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNp
Z25lZCBsb25nIHNpemU7Ci0KLSAgZ2V0dGVyIGFueSBnZXRCeUluZGV4KHVuc2lnbmVkIGxvbmcg
aW5kZXgpOwotICBzZXR0ZXIgdm9pZCBzZXRCeUluZGV4KHVuc2lnbmVkIGxvbmcgaW5kZXgsIGFu
eSB2YWx1ZSk7Ci0gIGRlbGV0ZXIgdm9pZCByZW1vdmVCeUluZGV4KHVuc2lnbmVkIGxvbmcgaW5k
ZXgpOwotCi0gIGdldHRlciBhbnkgZ2V0KERPTVN0cmluZyBuYW1lKTsKLSAgc2V0dGVyIGNyZWF0
b3Igdm9pZCBzZXQoRE9NU3RyaW5nIG5hbWUsIGFueSB2YWx1ZSk7Ci0gIGRlbGV0ZXIgdm9pZCBy
ZW1vdmUoRE9NU3RyaW5nIG5hbWUpOwotfTs8L3dlYmlkbD4KLSAgPEludGVyZmFjZSBuYW1lPSJP
cmRlcmVkTWFwIiBpZD0iOjpPcmRlcmVkTWFwIj4KLSAgICA8d2ViaWRsPmludGVyZmFjZSBPcmRl
cmVkTWFwIHsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgc2l6ZTsKLQotICBn
ZXR0ZXIgYW55IGdldEJ5SW5kZXgodW5zaWduZWQgbG9uZyBpbmRleCk7Ci0gIHNldHRlciB2b2lk
IHNldEJ5SW5kZXgodW5zaWduZWQgbG9uZyBpbmRleCwgYW55IHZhbHVlKTsKLSAgZGVsZXRlciB2
b2lkIHJlbW92ZUJ5SW5kZXgodW5zaWduZWQgbG9uZyBpbmRleCk7Ci0KLSAgZ2V0dGVyIGFueSBn
ZXQoRE9NU3RyaW5nIG5hbWUpOwotICBzZXR0ZXIgY3JlYXRvciB2b2lkIHNldChET01TdHJpbmcg
bmFtZSwgYW55IHZhbHVlKTsKLSAgZGVsZXRlciB2b2lkIHJlbW92ZShET01TdHJpbmcgbmFtZSk7
Ci19Ozwvd2ViaWRsPgotICAgIDxBdHRyaWJ1dGUgcmVhZG9ubHk9InJlYWRvbmx5IiBuYW1lPSJz
aXplIiBpZD0iOjpPcmRlcmVkTWFwOjpzaXplIj4KLSAgICAgIDx3ZWJpZGw+ICByZWFkb25seSBh
dHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBzaXplOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0i
dW5zaWduZWQgbG9uZyIvPgotICAgIDwvQXR0cmlidXRlPgotICAgIDxPcGVyYXRpb24gZ2V0dGVy
PSJnZXR0ZXIiIG5hbWU9ImdldEJ5SW5kZXgiIGlkPSI6Ok9yZGVyZWRNYXA6OmdldEJ5SW5kZXgi
PgotICAgICAgPHdlYmlkbD4gIGdldHRlciBhbnkgZ2V0QnlJbmRleCh1bnNpZ25lZCBsb25nIGlu
ZGV4KTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9ImFueSIvPgotICAgICAgPEFyZ3VtZW50
TGlzdD4KLSAgICAgICAgPEFyZ3VtZW50IG5hbWU9ImluZGV4Ij4KLSAgICAgICAgICA8VHlwZSB0
eXBlPSJ1bnNpZ25lZCBsb25nIi8+Ci0gICAgICAgIDwvQXJndW1lbnQ+Ci0gICAgICA8L0FyZ3Vt
ZW50TGlzdD4KLSAgICA8L09wZXJhdGlvbj4KLSAgICA8T3BlcmF0aW9uIHNldHRlcj0ic2V0dGVy
IiBuYW1lPSJzZXRCeUluZGV4IiBpZD0iOjpPcmRlcmVkTWFwOjpzZXRCeUluZGV4Ij4KLSAgICAg
IDx3ZWJpZGw+ICBzZXR0ZXIgdm9pZCBzZXRCeUluZGV4KHVuc2lnbmVkIGxvbmcgaW5kZXgsIGFu
eSB2YWx1ZSk7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJ2b2lkIi8+Ci0gICAgICA8QXJn
dW1lbnRMaXN0PgotICAgICAgICA8QXJndW1lbnQgbmFtZT0iaW5kZXgiPgotICAgICAgICAgIDxU
eXBlIHR5cGU9InVuc2lnbmVkIGxvbmciLz4KLSAgICAgICAgPC9Bcmd1bWVudD4KLSAgICAgICAg
PEFyZ3VtZW50IG5hbWU9InZhbHVlIj4KLSAgICAgICAgICA8VHlwZSB0eXBlPSJhbnkiLz4KLSAg
ICAgICAgPC9Bcmd1bWVudD4KLSAgICAgIDwvQXJndW1lbnRMaXN0PgotICAgIDwvT3BlcmF0aW9u
PgotICAgIDxPcGVyYXRpb24gZGVsZXRlcj0iZGVsZXRlciIgbmFtZT0icmVtb3ZlQnlJbmRleCIg
aWQ9Ijo6T3JkZXJlZE1hcDo6cmVtb3ZlQnlJbmRleCI+Ci0gICAgICA8d2ViaWRsPiAgZGVsZXRl
ciB2b2lkIHJlbW92ZUJ5SW5kZXgodW5zaWduZWQgbG9uZyBpbmRleCk7PC93ZWJpZGw+Ci0gICAg
ICA8VHlwZSB0eXBlPSJ2b2lkIi8+Ci0gICAgICA8QXJndW1lbnRMaXN0PgotICAgICAgICA8QXJn
dW1lbnQgbmFtZT0iaW5kZXgiPgotICAgICAgICAgIDxUeXBlIHR5cGU9InVuc2lnbmVkIGxvbmci
Lz4KLSAgICAgICAgPC9Bcmd1bWVudD4KLSAgICAgIDwvQXJndW1lbnRMaXN0PgotICAgIDwvT3Bl
cmF0aW9uPgotICAgIDxPcGVyYXRpb24gZ2V0dGVyPSJnZXR0ZXIiIG5hbWU9ImdldCIgaWQ9Ijo6
T3JkZXJlZE1hcDo6Z2V0Ij4KLSAgICAgIDx3ZWJpZGw+ICBnZXR0ZXIgYW55IGdldChET01TdHJp
bmcgbmFtZSk7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJhbnkiLz4KLSAgICAgIDxBcmd1
bWVudExpc3Q+Ci0gICAgICAgIDxBcmd1bWVudCBuYW1lPSJuYW1lIj4KLSAgICAgICAgICA8VHlw
ZSB0eXBlPSJET01TdHJpbmciLz4KLSAgICAgICAgPC9Bcmd1bWVudD4KLSAgICAgIDwvQXJndW1l
bnRMaXN0PgotICAgIDwvT3BlcmF0aW9uPgotICAgIDxPcGVyYXRpb24gc2V0dGVyPSJzZXR0ZXIi
IGNyZWF0b3I9ImNyZWF0b3IiIG5hbWU9InNldCIgaWQ9Ijo6T3JkZXJlZE1hcDo6c2V0Ij4KLSAg
ICAgIDx3ZWJpZGw+ICBzZXR0ZXIgY3JlYXRvciB2b2lkIHNldChET01TdHJpbmcgbmFtZSwgYW55
IHZhbHVlKTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9InZvaWQiLz4KLSAgICAgIDxBcmd1
bWVudExpc3Q+Ci0gICAgICAgIDxBcmd1bWVudCBuYW1lPSJuYW1lIj4KLSAgICAgICAgICA8VHlw
ZSB0eXBlPSJET01TdHJpbmciLz4KLSAgICAgICAgPC9Bcmd1bWVudD4KLSAgICAgICAgPEFyZ3Vt
ZW50IG5hbWU9InZhbHVlIj4KLSAgICAgICAgICA8VHlwZSB0eXBlPSJhbnkiLz4KLSAgICAgICAg
PC9Bcmd1bWVudD4KLSAgICAgIDwvQXJndW1lbnRMaXN0PgotICAgIDwvT3BlcmF0aW9uPgotICAg
IDxPcGVyYXRpb24gZGVsZXRlcj0iZGVsZXRlciIgbmFtZT0icmVtb3ZlIiBpZD0iOjpPcmRlcmVk
TWFwOjpyZW1vdmUiPgotICAgICAgPHdlYmlkbD4gIGRlbGV0ZXIgdm9pZCByZW1vdmUoRE9NU3Ry
aW5nIG5hbWUpOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0idm9pZCIvPgotICAgICAgPEFy
Z3VtZW50TGlzdD4KLSAgICAgICAgPEFyZ3VtZW50IG5hbWU9Im5hbWUiPgotICAgICAgICAgIDxU
eXBlIHR5cGU9IkRPTVN0cmluZyIvPgotICAgICAgICA8L0FyZ3VtZW50PgotICAgICAgPC9Bcmd1
bWVudExpc3Q+Ci0gICAgPC9PcGVyYXRpb24+Ci0gIDwvSW50ZXJmYWNlPgotPC9EZWZpbml0aW9u
cz4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9pbmhlcml0
cy1nZXR0ZXIud2lkbHByb2N4bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwv
aW5oZXJpdHMtZ2V0dGVyLndpZGxwcm9jeG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCA1NWU3YTMxN2ZkOS4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3Qv
dmFsaWQveG1sL2luaGVyaXRzLWdldHRlci53aWRscHJvY3htbAorKysgL2Rldi9udWxsCkBAIC0x
LDQ0ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Ci08IURP
Q1RZUEUgRGVmaW5pdGlvbnMgU1lTVEVNICJ3aWRscHJvY3htbC5kdGQiPgotPERlZmluaXRpb25z
PgotICA8d2ViaWRsPmludGVyZmFjZSBBbmltYWwgewotCi0gIHJlYWRvbmx5IGF0dHJpYnV0ZSBE
T01TdHJpbmcgbmFtZTsKLX07Ci0KLWludGVyZmFjZSBQZXJzb24gOiA8cmVmPkFuaW1hbDwvcmVm
PiB7Ci0KLSAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIHNob3J0IGFnZTsKLQotICBpbmhl
cml0IGF0dHJpYnV0ZSBET01TdHJpbmcgbmFtZTsKLX07PC93ZWJpZGw+Ci0gIDxJbnRlcmZhY2Ug
bmFtZT0iQW5pbWFsIiBpZD0iOjpBbmltYWwiPgotICAgIDx3ZWJpZGw+aW50ZXJmYWNlIEFuaW1h
bCB7Ci0KLSAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBuYW1lOwotfTs8L3dlYmlkbD4K
LSAgICA8QXR0cmlidXRlIHJlYWRvbmx5PSJyZWFkb25seSIgbmFtZT0ibmFtZSIgaWQ9Ijo6QW5p
bWFsOjpuYW1lIj4KLSAgICAgIDx3ZWJpZGw+ICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5n
IG5hbWU7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJET01TdHJpbmciLz4KLSAgICA8L0F0
dHJpYnV0ZT4KLSAgPC9JbnRlcmZhY2U+Ci0gIDxJbnRlcmZhY2UgbmFtZT0iUGVyc29uIiBpZD0i
OjpQZXJzb24iPgotICAgIDx3ZWJpZGw+aW50ZXJmYWNlIFBlcnNvbiA6IDxyZWY+QW5pbWFsPC9y
ZWY+IHsKLQotICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgc2hvcnQgYWdlOwotCi0gIGlu
aGVyaXQgYXR0cmlidXRlIERPTVN0cmluZyBuYW1lOwotfTs8L3dlYmlkbD4KLSAgICA8SW50ZXJm
YWNlSW5oZXJpdGFuY2U+Ci0gICAgICA8TmFtZSBuYW1lPSJBbmltYWwiLz4KLSAgICA8L0ludGVy
ZmFjZUluaGVyaXRhbmNlPgotICAgIDxBdHRyaWJ1dGUgcmVhZG9ubHk9InJlYWRvbmx5IiBuYW1l
PSJhZ2UiIGlkPSI6OlBlcnNvbjo6YWdlIj4KLSAgICAgIDx3ZWJpZGw+ICByZWFkb25seSBhdHRy
aWJ1dGUgdW5zaWduZWQgc2hvcnQgYWdlOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0idW5z
aWduZWQgc2hvcnQiLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAgICA8QXR0cmlidXRlIGluaGVyaXQ9
ImluaGVyaXQiIG5hbWU9Im5hbWUiIGlkPSI6OlBlcnNvbjo6bmFtZSI+Ci0gICAgICA8d2ViaWRs
PiAgaW5oZXJpdCBhdHRyaWJ1dGUgRE9NU3RyaW5nIG5hbWU7PC93ZWJpZGw+Ci0gICAgICA8VHlw
ZSB0eXBlPSJET01TdHJpbmciLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAgPC9JbnRlcmZhY2U+Ci08
L0RlZmluaXRpb25zPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQv
eG1sL2ludGVyZmFjZS1pbmhlcml0cy53aWRscHJvY3htbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90
ZXN0L3ZhbGlkL3htbC9pbnRlcmZhY2UtaW5oZXJpdHMud2lkbHByb2N4bWwKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDk0ZjBlMjlkZjA1Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvaW50ZXJmYWNlLWluaGVyaXRzLndpZGxwcm9jeG1s
CisrKyAvZGV2L251bGwKQEAgLTEsNDggKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNv
ZGluZz0iVVRGLTgiPz4KLTwhRE9DVFlQRSBEZWZpbml0aW9ucyBTWVNURU0gIndpZGxwcm9jeG1s
LmR0ZCI+Ci08RGVmaW5pdGlvbnM+Ci0gIDx3ZWJpZGw+aW50ZXJmYWNlIEFuaW1hbCB7Ci0gIGF0
dHJpYnV0ZSBET01TdHJpbmcgbmFtZTsKLX07Ci0KLWludGVyZmFjZSBIdW1hbiA6IDxyZWY+QW5p
bWFsPC9yZWY+IHsKLSAgYXR0cmlidXRlIDxyZWY+RG9nPC9yZWY+IHBldDsKLX07Ci0KLWludGVy
ZmFjZSBEb2cgOiA8cmVmPkFuaW1hbDwvcmVmPiB7Ci0gIGF0dHJpYnV0ZSA8cmVmPkh1bWFuPC9y
ZWY+IG93bmVyOwotfTs8L3dlYmlkbD4KLSAgPEludGVyZmFjZSBuYW1lPSJBbmltYWwiIGlkPSI6
OkFuaW1hbCI+Ci0gICAgPHdlYmlkbD5pbnRlcmZhY2UgQW5pbWFsIHsKLSAgYXR0cmlidXRlIERP
TVN0cmluZyBuYW1lOwotfTs8L3dlYmlkbD4KLSAgICA8QXR0cmlidXRlIG5hbWU9Im5hbWUiIGlk
PSI6OkFuaW1hbDo6bmFtZSI+Ci0gICAgICA8d2ViaWRsPiAgYXR0cmlidXRlIERPTVN0cmluZyBu
YW1lOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0iRE9NU3RyaW5nIi8+Ci0gICAgPC9BdHRy
aWJ1dGU+Ci0gIDwvSW50ZXJmYWNlPgotICA8SW50ZXJmYWNlIG5hbWU9Ikh1bWFuIiBpZD0iOjpI
dW1hbiI+Ci0gICAgPHdlYmlkbD5pbnRlcmZhY2UgSHVtYW4gOiA8cmVmPkFuaW1hbDwvcmVmPiB7
Ci0gIGF0dHJpYnV0ZSA8cmVmPkRvZzwvcmVmPiBwZXQ7Ci19Ozwvd2ViaWRsPgotICAgIDxJbnRl
cmZhY2VJbmhlcml0YW5jZT4KLSAgICAgIDxOYW1lIG5hbWU9IkFuaW1hbCIvPgotICAgIDwvSW50
ZXJmYWNlSW5oZXJpdGFuY2U+Ci0gICAgPEF0dHJpYnV0ZSBuYW1lPSJwZXQiIGlkPSI6Okh1bWFu
OjpwZXQiPgotICAgICAgPHdlYmlkbD4gIGF0dHJpYnV0ZSA8cmVmPkRvZzwvcmVmPiBwZXQ7PC93
ZWJpZGw+Ci0gICAgICA8VHlwZSBuYW1lPSJEb2ciLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAgPC9J
bnRlcmZhY2U+Ci0gIDxJbnRlcmZhY2UgbmFtZT0iRG9nIiBpZD0iOjpEb2ciPgotICAgIDx3ZWJp
ZGw+aW50ZXJmYWNlIERvZyA6IDxyZWY+QW5pbWFsPC9yZWY+IHsKLSAgYXR0cmlidXRlIDxyZWY+
SHVtYW48L3JlZj4gb3duZXI7Ci19Ozwvd2ViaWRsPgotICAgIDxJbnRlcmZhY2VJbmhlcml0YW5j
ZT4KLSAgICAgIDxOYW1lIG5hbWU9IkFuaW1hbCIvPgotICAgIDwvSW50ZXJmYWNlSW5oZXJpdGFu
Y2U+Ci0gICAgPEF0dHJpYnV0ZSBuYW1lPSJvd25lciIgaWQ9Ijo6RG9nOjpvd25lciI+Ci0gICAg
ICA8d2ViaWRsPiAgYXR0cmlidXRlIDxyZWY+SHVtYW48L3JlZj4gb3duZXI7PC93ZWJpZGw+Ci0g
ICAgICA8VHlwZSBuYW1lPSJIdW1hbiIvPgotICAgIDwvQXR0cmlidXRlPgotICA8L0ludGVyZmFj
ZT4KLTwvRGVmaW5pdGlvbnM+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92
YWxpZC94bWwvaXRlcmF0b3Iud2lkbHByb2N4bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92
YWxpZC94bWwvaXRlcmF0b3Iud2lkbHByb2N4bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDhjYTk1ZmJiZDE3Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVz
dC92YWxpZC94bWwvaXRlcmF0b3Iud2lkbHByb2N4bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxMzIg
KzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KLTwhRE9DVFlQ
RSBEZWZpbml0aW9ucyBTWVNURU0gIndpZGxwcm9jeG1sLmR0ZCI+Ci08RGVmaW5pdGlvbnM+Ci0g
IDx3ZWJpZGw+aW50ZXJmYWNlIFNlc3Npb25NYW5hZ2VyIHsKLSAgPHJlZj5TZXNzaW9uPC9yZWY+
IGdldFNlc3Npb25Gb3JVc2VyKERPTVN0cmluZyB1c2VybmFtZSk7Ci0gIHJlYWRvbmx5IGF0dHJp
YnV0ZSB1bnNpZ25lZCBsb25nIHNlc3Npb25Db3VudDsKLQotICA8cmVmPlNlc3Npb248L3JlZj4g
aXRlcmF0b3I7Ci19OwotCi1pbnRlcmZhY2UgU2Vzc2lvbiB7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0
ZSBET01TdHJpbmcgdXNlcm5hbWU7Ci19OwotCi1pbnRlcmZhY2UgU2Vzc2lvbk1hbmFnZXIyIHsK
LSAgPHJlZj5TZXNzaW9uMjwvcmVmPiBnZXRTZXNzaW9uRm9yVXNlcihET01TdHJpbmcgdXNlcm5h
bWUpOwotICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBzZXNzaW9uQ291bnQ7Ci0K
LSAgPHJlZj5TZXNzaW9uMjwvcmVmPiBpdGVyYXRvciA9IFNlc3Npb25JdGVyYXRvcjsKLX07Ci0K
LWludGVyZmFjZSBTZXNzaW9uMiB7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgdXNl
cm5hbWU7Ci19OwotCi1pbnRlcmZhY2UgU2Vzc2lvbkl0ZXJhdG9yIHsKLSAgcmVhZG9ubHkgYXR0
cmlidXRlIHVuc2lnbmVkIGxvbmcgcmVtYWluaW5nU2Vzc2lvbnM7Ci19OwotCi0gICAgIGludGVy
ZmFjZSBOb2RlTGlzdCB7Ci0gICAgICAgPHJlZj5Ob2RlPC9yZWY+IGl0ZXJhdG9yID0gTm9kZUl0
ZXJhdG9yOwotICAgICB9OwotCi0gICAgIGludGVyZmFjZSBOb2RlSXRlcmF0b3IgewotICAgICAg
IDxyZWY+Tm9kZTwvcmVmPiBpdGVyYXRvciBvYmplY3Q7Ci0gICAgIH07PC93ZWJpZGw+Ci0gIDxJ
bnRlcmZhY2UgbmFtZT0iU2Vzc2lvbk1hbmFnZXIiIGlkPSI6OlNlc3Npb25NYW5hZ2VyIj4KLSAg
ICA8d2ViaWRsPmludGVyZmFjZSBTZXNzaW9uTWFuYWdlciB7Ci0gIDxyZWY+U2Vzc2lvbjwvcmVm
PiBnZXRTZXNzaW9uRm9yVXNlcihET01TdHJpbmcgdXNlcm5hbWUpOwotICByZWFkb25seSBhdHRy
aWJ1dGUgdW5zaWduZWQgbG9uZyBzZXNzaW9uQ291bnQ7Ci0KLSAgPHJlZj5TZXNzaW9uPC9yZWY+
IGl0ZXJhdG9yOwotfTs8L3dlYmlkbD4KLSAgICA8T3BlcmF0aW9uIG5hbWU9ImdldFNlc3Npb25G
b3JVc2VyIiBpZD0iOjpTZXNzaW9uTWFuYWdlcjo6Z2V0U2Vzc2lvbkZvclVzZXIiPgotICAgICAg
PHdlYmlkbD4gIDxyZWY+U2Vzc2lvbjwvcmVmPiBnZXRTZXNzaW9uRm9yVXNlcihET01TdHJpbmcg
dXNlcm5hbWUpOzwvd2ViaWRsPgotICAgICAgPFR5cGUgbmFtZT0iU2Vzc2lvbiIvPgotICAgICAg
PEFyZ3VtZW50TGlzdD4KLSAgICAgICAgPEFyZ3VtZW50IG5hbWU9InVzZXJuYW1lIj4KLSAgICAg
ICAgICA8VHlwZSB0eXBlPSJET01TdHJpbmciLz4KLSAgICAgICAgPC9Bcmd1bWVudD4KLSAgICAg
IDwvQXJndW1lbnRMaXN0PgotICAgIDwvT3BlcmF0aW9uPgotICAgIDxBdHRyaWJ1dGUgcmVhZG9u
bHk9InJlYWRvbmx5IiBuYW1lPSJzZXNzaW9uQ291bnQiIGlkPSI6OlNlc3Npb25NYW5hZ2VyOjpz
ZXNzaW9uQ291bnQiPgotICAgICAgPHdlYmlkbD4gIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25l
ZCBsb25nIHNlc3Npb25Db3VudDs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9InVuc2lnbmVk
IGxvbmciLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAgICA8SXRlcmF0b3I+Ci0gICAgICA8d2ViaWRs
PiAgPHJlZj5TZXNzaW9uPC9yZWY+IGl0ZXJhdG9yOzwvd2ViaWRsPgotICAgICAgPFR5cGUgbmFt
ZT0iU2Vzc2lvbiIvPgotICAgIDwvSXRlcmF0b3I+Ci0gIDwvSW50ZXJmYWNlPgotICA8SW50ZXJm
YWNlIG5hbWU9IlNlc3Npb24iIGlkPSI6OlNlc3Npb24iPgotICAgIDx3ZWJpZGw+aW50ZXJmYWNl
IFNlc3Npb24gewotICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHVzZXJuYW1lOwotfTs8
L3dlYmlkbD4KLSAgICA8QXR0cmlidXRlIHJlYWRvbmx5PSJyZWFkb25seSIgbmFtZT0idXNlcm5h
bWUiIGlkPSI6OlNlc3Npb246OnVzZXJuYW1lIj4KLSAgICAgIDx3ZWJpZGw+ICByZWFkb25seSBh
dHRyaWJ1dGUgRE9NU3RyaW5nIHVzZXJuYW1lOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0i
RE9NU3RyaW5nIi8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gIDwvSW50ZXJmYWNlPgotICA8SW50ZXJm
YWNlIG5hbWU9IlNlc3Npb25NYW5hZ2VyMiIgaWQ9Ijo6U2Vzc2lvbk1hbmFnZXIyIj4KLSAgICA8
d2ViaWRsPmludGVyZmFjZSBTZXNzaW9uTWFuYWdlcjIgewotICA8cmVmPlNlc3Npb24yPC9yZWY+
IGdldFNlc3Npb25Gb3JVc2VyKERPTVN0cmluZyB1c2VybmFtZSk7Ci0gIHJlYWRvbmx5IGF0dHJp
YnV0ZSB1bnNpZ25lZCBsb25nIHNlc3Npb25Db3VudDsKLQotICA8cmVmPlNlc3Npb24yPC9yZWY+
IGl0ZXJhdG9yID0gU2Vzc2lvbkl0ZXJhdG9yOwotfTs8L3dlYmlkbD4KLSAgICA8T3BlcmF0aW9u
IG5hbWU9ImdldFNlc3Npb25Gb3JVc2VyIiBpZD0iOjpTZXNzaW9uTWFuYWdlcjI6OmdldFNlc3Np
b25Gb3JVc2VyIj4KLSAgICAgIDx3ZWJpZGw+ICA8cmVmPlNlc3Npb24yPC9yZWY+IGdldFNlc3Np
b25Gb3JVc2VyKERPTVN0cmluZyB1c2VybmFtZSk7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSBuYW1l
PSJTZXNzaW9uMiIvPgotICAgICAgPEFyZ3VtZW50TGlzdD4KLSAgICAgICAgPEFyZ3VtZW50IG5h
bWU9InVzZXJuYW1lIj4KLSAgICAgICAgICA8VHlwZSB0eXBlPSJET01TdHJpbmciLz4KLSAgICAg
ICAgPC9Bcmd1bWVudD4KLSAgICAgIDwvQXJndW1lbnRMaXN0PgotICAgIDwvT3BlcmF0aW9uPgot
ICAgIDxBdHRyaWJ1dGUgcmVhZG9ubHk9InJlYWRvbmx5IiBuYW1lPSJzZXNzaW9uQ291bnQiIGlk
PSI6OlNlc3Npb25NYW5hZ2VyMjo6c2Vzc2lvbkNvdW50Ij4KLSAgICAgIDx3ZWJpZGw+ICByZWFk
b25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBzZXNzaW9uQ291bnQ7PC93ZWJpZGw+Ci0gICAg
ICA8VHlwZSB0eXBlPSJ1bnNpZ25lZCBsb25nIi8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gICAgPEl0
ZXJhdG9yIGludGVyZmFjZT0iU2Vzc2lvbkl0ZXJhdG9yIj4KLSAgICAgIDx3ZWJpZGw+ICA8cmVm
PlNlc3Npb24yPC9yZWY+IGl0ZXJhdG9yID0gU2Vzc2lvbkl0ZXJhdG9yOzwvd2ViaWRsPgotICAg
ICAgPFR5cGUgbmFtZT0iU2Vzc2lvbjIiLz4KLSAgICA8L0l0ZXJhdG9yPgotICA8L0ludGVyZmFj
ZT4KLSAgPEludGVyZmFjZSBuYW1lPSJTZXNzaW9uMiIgaWQ9Ijo6U2Vzc2lvbjIiPgotICAgIDx3
ZWJpZGw+aW50ZXJmYWNlIFNlc3Npb24yIHsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmlu
ZyB1c2VybmFtZTsKLX07PC93ZWJpZGw+Ci0gICAgPEF0dHJpYnV0ZSByZWFkb25seT0icmVhZG9u
bHkiIG5hbWU9InVzZXJuYW1lIiBpZD0iOjpTZXNzaW9uMjo6dXNlcm5hbWUiPgotICAgICAgPHdl
YmlkbD4gIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgdXNlcm5hbWU7PC93ZWJpZGw+Ci0g
ICAgICA8VHlwZSB0eXBlPSJET01TdHJpbmciLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAgPC9JbnRl
cmZhY2U+Ci0gIDxJbnRlcmZhY2UgbmFtZT0iU2Vzc2lvbkl0ZXJhdG9yIiBpZD0iOjpTZXNzaW9u
SXRlcmF0b3IiPgotICAgIDx3ZWJpZGw+aW50ZXJmYWNlIFNlc3Npb25JdGVyYXRvciB7Ci0gIHJl
YWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIHJlbWFpbmluZ1Nlc3Npb25zOwotfTs8L3dl
YmlkbD4KLSAgICA8QXR0cmlidXRlIHJlYWRvbmx5PSJyZWFkb25seSIgbmFtZT0icmVtYWluaW5n
U2Vzc2lvbnMiIGlkPSI6OlNlc3Npb25JdGVyYXRvcjo6cmVtYWluaW5nU2Vzc2lvbnMiPgotICAg
ICAgPHdlYmlkbD4gIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIHJlbWFpbmluZ1Nl
c3Npb25zOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0idW5zaWduZWQgbG9uZyIvPgotICAg
IDwvQXR0cmlidXRlPgotICA8L0ludGVyZmFjZT4KLSAgPEludGVyZmFjZSBuYW1lPSJOb2RlTGlz
dCIgaWQ9Ijo6Tm9kZUxpc3QiPgotICAgIDx3ZWJpZGw+ICAgICBpbnRlcmZhY2UgTm9kZUxpc3Qg
ewotICAgICAgIDxyZWY+Tm9kZTwvcmVmPiBpdGVyYXRvciA9IE5vZGVJdGVyYXRvcjsKLSAgICAg
fTs8L3dlYmlkbD4KLSAgICA8SXRlcmF0b3IgaW50ZXJmYWNlPSJOb2RlSXRlcmF0b3IiPgotICAg
ICAgPHdlYmlkbD4gICAgICAgPHJlZj5Ob2RlPC9yZWY+IGl0ZXJhdG9yID0gTm9kZUl0ZXJhdG9y
Ozwvd2ViaWRsPgotICAgICAgPFR5cGUgbmFtZT0iTm9kZSIvPgotICAgIDwvSXRlcmF0b3I+Ci0g
IDwvSW50ZXJmYWNlPgotICA8SW50ZXJmYWNlIG5hbWU9Ik5vZGVJdGVyYXRvciIgaWQ9Ijo6Tm9k
ZUl0ZXJhdG9yIj4KLSAgICA8d2ViaWRsPiAgICAgaW50ZXJmYWNlIE5vZGVJdGVyYXRvciB7Ci0g
ICAgICAgPHJlZj5Ob2RlPC9yZWY+IGl0ZXJhdG9yIG9iamVjdDsKLSAgICAgfTs8L3dlYmlkbD4K
LSAgICA8SXRlcmF0b3JPYmplY3Q+Ci0gICAgICA8d2ViaWRsPiAgICAgICA8cmVmPk5vZGU8L3Jl
Zj4gaXRlcmF0b3Igb2JqZWN0Ozwvd2ViaWRsPgotICAgICAgPFR5cGUgbmFtZT0iTm9kZSIvPgot
ICAgIDwvSXRlcmF0b3JPYmplY3Q+Ci0gIDwvSW50ZXJmYWNlPgotPC9EZWZpbml0aW9ucz4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9tb2R1bGUud2lkbHBy
b2N4bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvbW9kdWxlLndpZGxwcm9j
eG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiNTc1Yjg3MDVhZi4uMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL21vZHVsZS53aWRscHJv
Y3htbAorKysgL2Rldi9udWxsCkBAIC0xLDk5ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIg
ZW5jb2Rpbmc9IlVURi04Ij8+Ci08IURPQ1RZUEUgRGVmaW5pdGlvbnMgU1lTVEVNICJ3aWRscHJv
Y3htbC5kdGQiPgotPERlZmluaXRpb25zPgotICA8TW9kdWxlIG5hbWU9ImdmeCIgaWQ9Ijo6Z2Z4
Ij4KLSAgICA8d2ViaWRsPm1vZHVsZSBnZnggewotCi0gIG1vZHVsZSBnZW9tIHsKLSAgICBpbnRl
cmZhY2UgU2hhcGUgeyAgfTsKLSAgICBpbnRlcmZhY2UgUmVjdGFuZ2xlIDogPHJlZj5TaGFwZTwv
cmVmPiB7ICB9OwotICAgIGludGVyZmFjZSBQYXRoIDogPHJlZj5TaGFwZTwvcmVmPiB7ICB9Owot
ICB9OwotCi0gIGludGVyZmFjZSBHcmFwaGljc0NvbnRleHQgewotICAgIHZvaWQgZmlsbFNoYXBl
KDxyZWY+Z2VvbTo6U2hhcGU8L3JlZj4gcyk7Ci0gICAgdm9pZCBzdHJva2VTaGFwZSg8cmVmPmdl
b206OlNoYXBlPC9yZWY+IHMpOwotICB9OwotfTs8L3dlYmlkbD4KLSAgICA8TW9kdWxlIG5hbWU9
Imdlb20iIGlkPSI6OmdmeDo6Z2VvbSI+Ci0gICAgICA8d2ViaWRsPiAgbW9kdWxlIGdlb20gewot
ICAgIGludGVyZmFjZSBTaGFwZSB7ICB9OwotICAgIGludGVyZmFjZSBSZWN0YW5nbGUgOiA8cmVm
PlNoYXBlPC9yZWY+IHsgIH07Ci0gICAgaW50ZXJmYWNlIFBhdGggOiA8cmVmPlNoYXBlPC9yZWY+
IHsgIH07Ci0gIH07PC93ZWJpZGw+Ci0gICAgICA8SW50ZXJmYWNlIG5hbWU9IlNoYXBlIiBpZD0i
OjpnZng6Omdlb206OlNoYXBlIj4KLSAgICAgICAgPHdlYmlkbD4gICAgaW50ZXJmYWNlIFNoYXBl
IHsgIH07PC93ZWJpZGw+Ci0gICAgICA8L0ludGVyZmFjZT4KLSAgICAgIDxJbnRlcmZhY2UgbmFt
ZT0iUmVjdGFuZ2xlIiBpZD0iOjpnZng6Omdlb206OlJlY3RhbmdsZSI+Ci0gICAgICAgIDx3ZWJp
ZGw+ICAgIGludGVyZmFjZSBSZWN0YW5nbGUgOiA8cmVmPlNoYXBlPC9yZWY+IHsgIH07PC93ZWJp
ZGw+Ci0gICAgICAgIDxJbnRlcmZhY2VJbmhlcml0YW5jZT4KLSAgICAgICAgICA8TmFtZSBuYW1l
PSJTaGFwZSIvPgotICAgICAgICA8L0ludGVyZmFjZUluaGVyaXRhbmNlPgotICAgICAgPC9JbnRl
cmZhY2U+Ci0gICAgICA8SW50ZXJmYWNlIG5hbWU9IlBhdGgiIGlkPSI6OmdmeDo6Z2VvbTo6UGF0
aCI+Ci0gICAgICAgIDx3ZWJpZGw+ICAgIGludGVyZmFjZSBQYXRoIDogPHJlZj5TaGFwZTwvcmVm
PiB7ICB9Ozwvd2ViaWRsPgotICAgICAgICA8SW50ZXJmYWNlSW5oZXJpdGFuY2U+Ci0gICAgICAg
ICAgPE5hbWUgbmFtZT0iU2hhcGUiLz4KLSAgICAgICAgPC9JbnRlcmZhY2VJbmhlcml0YW5jZT4K
LSAgICAgIDwvSW50ZXJmYWNlPgotICAgIDwvTW9kdWxlPgotICAgIDxJbnRlcmZhY2UgbmFtZT0i
R3JhcGhpY3NDb250ZXh0IiBpZD0iOjpnZng6OkdyYXBoaWNzQ29udGV4dCI+Ci0gICAgICA8d2Vi
aWRsPiAgaW50ZXJmYWNlIEdyYXBoaWNzQ29udGV4dCB7Ci0gICAgdm9pZCBmaWxsU2hhcGUoPHJl
Zj5nZW9tOjpTaGFwZTwvcmVmPiBzKTsKLSAgICB2b2lkIHN0cm9rZVNoYXBlKDxyZWY+Z2VvbTo6
U2hhcGU8L3JlZj4gcyk7Ci0gIH07PC93ZWJpZGw+Ci0gICAgICA8T3BlcmF0aW9uIG5hbWU9ImZp
bGxTaGFwZSIgaWQ9Ijo6Z2Z4OjpHcmFwaGljc0NvbnRleHQ6OmZpbGxTaGFwZSI+Ci0gICAgICAg
IDx3ZWJpZGw+ICAgIHZvaWQgZmlsbFNoYXBlKDxyZWY+Z2VvbTo6U2hhcGU8L3JlZj4gcyk7PC93
ZWJpZGw+Ci0gICAgICAgIDxUeXBlIHR5cGU9InZvaWQiLz4KLSAgICAgICAgPEFyZ3VtZW50TGlz
dD4KLSAgICAgICAgICA8QXJndW1lbnQgbmFtZT0icyI+Ci0gICAgICAgICAgICA8VHlwZSBuYW1l
PSJnZW9tOjpTaGFwZSIvPgotICAgICAgICAgIDwvQXJndW1lbnQ+Ci0gICAgICAgIDwvQXJndW1l
bnRMaXN0PgotICAgICAgPC9PcGVyYXRpb24+Ci0gICAgICA8T3BlcmF0aW9uIG5hbWU9InN0cm9r
ZVNoYXBlIiBpZD0iOjpnZng6OkdyYXBoaWNzQ29udGV4dDo6c3Ryb2tlU2hhcGUiPgotICAgICAg
ICA8d2ViaWRsPiAgICB2b2lkIHN0cm9rZVNoYXBlKDxyZWY+Z2VvbTo6U2hhcGU8L3JlZj4gcyk7
PC93ZWJpZGw+Ci0gICAgICAgIDxUeXBlIHR5cGU9InZvaWQiLz4KLSAgICAgICAgPEFyZ3VtZW50
TGlzdD4KLSAgICAgICAgICA8QXJndW1lbnQgbmFtZT0icyI+Ci0gICAgICAgICAgICA8VHlwZSBu
YW1lPSJnZW9tOjpTaGFwZSIvPgotICAgICAgICAgIDwvQXJndW1lbnQ+Ci0gICAgICAgIDwvQXJn
dW1lbnRMaXN0PgotICAgICAgPC9PcGVyYXRpb24+Ci0gICAgPC9JbnRlcmZhY2U+Ci0gIDwvTW9k
dWxlPgotICA8TW9kdWxlIG5hbWU9Imd1aSIgaWQ9Ijo6Z3VpIj4KLSAgICA8d2ViaWRsPm1vZHVs
ZSBndWkgewotCi0gIGludGVyZmFjZSBXaWRnZXQgeyAgIH07Ci0KLSAgaW50ZXJmYWNlIFdpbmRv
dyA6IDxyZWY+V2lkZ2V0PC9yZWY+IHsKLSAgICA8cmVmPmdmeDo6R3JhcGhpY3NDb250ZXh0PC9y
ZWY+IGdldEdyYXBoaWNzQ29udGV4dCgpOwotICB9OwotCi0gIGludGVyZmFjZSBCdXR0b24gOiA8
cmVmPldpZGdldDwvcmVmPiB7ICAgfTsKLX07PC93ZWJpZGw+Ci0gICAgPEludGVyZmFjZSBuYW1l
PSJXaWRnZXQiIGlkPSI6Omd1aTo6V2lkZ2V0Ij4KLSAgICAgIDx3ZWJpZGw+ICBpbnRlcmZhY2Ug
V2lkZ2V0IHsgICB9Ozwvd2ViaWRsPgotICAgIDwvSW50ZXJmYWNlPgotICAgIDxJbnRlcmZhY2Ug
bmFtZT0iV2luZG93IiBpZD0iOjpndWk6OldpbmRvdyI+Ci0gICAgICA8d2ViaWRsPiAgaW50ZXJm
YWNlIFdpbmRvdyA6IDxyZWY+V2lkZ2V0PC9yZWY+IHsKLSAgICA8cmVmPmdmeDo6R3JhcGhpY3ND
b250ZXh0PC9yZWY+IGdldEdyYXBoaWNzQ29udGV4dCgpOwotICB9Ozwvd2ViaWRsPgotICAgICAg
PEludGVyZmFjZUluaGVyaXRhbmNlPgotICAgICAgICA8TmFtZSBuYW1lPSJXaWRnZXQiLz4KLSAg
ICAgIDwvSW50ZXJmYWNlSW5oZXJpdGFuY2U+Ci0gICAgICA8T3BlcmF0aW9uIG5hbWU9ImdldEdy
YXBoaWNzQ29udGV4dCIgaWQ9Ijo6Z3VpOjpXaW5kb3c6OmdldEdyYXBoaWNzQ29udGV4dCI+Ci0g
ICAgICAgIDx3ZWJpZGw+ICAgIDxyZWY+Z2Z4OjpHcmFwaGljc0NvbnRleHQ8L3JlZj4gZ2V0R3Jh
cGhpY3NDb250ZXh0KCk7PC93ZWJpZGw+Ci0gICAgICAgIDxUeXBlIG5hbWU9ImdmeDo6R3JhcGhp
Y3NDb250ZXh0Ii8+Ci0gICAgICAgIDxBcmd1bWVudExpc3QvPgotICAgICAgPC9PcGVyYXRpb24+
Ci0gICAgPC9JbnRlcmZhY2U+Ci0gICAgPEludGVyZmFjZSBuYW1lPSJCdXR0b24iIGlkPSI6Omd1
aTo6QnV0dG9uIj4KLSAgICAgIDx3ZWJpZGw+ICBpbnRlcmZhY2UgQnV0dG9uIDogPHJlZj5XaWRn
ZXQ8L3JlZj4geyAgIH07PC93ZWJpZGw+Ci0gICAgICA8SW50ZXJmYWNlSW5oZXJpdGFuY2U+Ci0g
ICAgICAgIDxOYW1lIG5hbWU9IldpZGdldCIvPgotICAgICAgPC9JbnRlcmZhY2VJbmhlcml0YW5j
ZT4KLSAgICA8L0ludGVyZmFjZT4KLSAgPC9Nb2R1bGU+Ci08L0RlZmluaXRpb25zPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL25hbWVkY29uc3RydWN0b3Iu
d2lkbHByb2N4bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvbmFtZWRjb25z
dHJ1Y3Rvci53aWRscHJvY3htbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWY2NjE2
MTI4NzkuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3ht
bC9uYW1lZGNvbnN0cnVjdG9yLndpZGxwcm9jeG1sCisrKyAvZGV2L251bGwKQEAgLTEsMzAgKzAs
MCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KLTwhRE9DVFlQRSBE
ZWZpbml0aW9ucyBTWVNURU0gIndpZGxwcm9jeG1sLmR0ZCI+Ci08RGVmaW5pdGlvbnM+Ci0gIDx3
ZWJpZGw+W05hbWVkQ29uc3RydWN0b3I9QXVkaW8sCi0gTmFtZWRDb25zdHJ1Y3Rvcj1BdWRpbyhE
T01TdHJpbmcgc3JjKV0KLWludGVyZmFjZSBIVE1MQXVkaW9FbGVtZW50IDogPHJlZj5IVE1MTWVk
aWFFbGVtZW50PC9yZWY+IHsKLX07PC93ZWJpZGw+Ci0gIDxJbnRlcmZhY2UgbmFtZT0iSFRNTEF1
ZGlvRWxlbWVudCIgaWQ9Ijo6SFRNTEF1ZGlvRWxlbWVudCI+Ci0gICAgPHdlYmlkbD5bTmFtZWRD
b25zdHJ1Y3Rvcj1BdWRpbywKLSBOYW1lZENvbnN0cnVjdG9yPUF1ZGlvKERPTVN0cmluZyBzcmMp
XQotaW50ZXJmYWNlIEhUTUxBdWRpb0VsZW1lbnQgOiA8cmVmPkhUTUxNZWRpYUVsZW1lbnQ8L3Jl
Zj4gewotfTs8L3dlYmlkbD4KLSAgICA8RXh0ZW5kZWRBdHRyaWJ1dGVMaXN0PgotICAgICAgPEV4
dGVuZGVkQXR0cmlidXRlIG5hbWU9Ik5hbWVkQ29uc3RydWN0b3IiIHZhbHVlPSJBdWRpbyI+Ci0g
ICAgICAgIDx3ZWJpZGw+TmFtZWRDb25zdHJ1Y3Rvcjwvd2ViaWRsPgotICAgICAgPC9FeHRlbmRl
ZEF0dHJpYnV0ZT4KLSAgICAgIDxFeHRlbmRlZEF0dHJpYnV0ZSBuYW1lPSJOYW1lZENvbnN0cnVj
dG9yIiB2YWx1ZT0iQXVkaW8iPgotICAgICAgICA8d2ViaWRsPiBOYW1lZENvbnN0cnVjdG9yPUF1
ZGlvKERPTVN0cmluZyBzcmMpPC93ZWJpZGw+Ci0gICAgICAgIDxBcmd1bWVudExpc3Q+Ci0gICAg
ICAgICAgPEFyZ3VtZW50IG5hbWU9InNyYyI+Ci0gICAgICAgICAgICA8VHlwZSB0eXBlPSJET01T
dHJpbmciLz4KLSAgICAgICAgICA8L0FyZ3VtZW50PgotICAgICAgICA8L0FyZ3VtZW50TGlzdD4K
LSAgICAgIDwvRXh0ZW5kZWRBdHRyaWJ1dGU+Ci0gICAgPC9FeHRlbmRlZEF0dHJpYnV0ZUxpc3Q+
Ci0gICAgPEludGVyZmFjZUluaGVyaXRhbmNlPgotICAgICAgPE5hbWUgbmFtZT0iSFRNTE1lZGlh
RWxlbWVudCIvPgotICAgIDwvSW50ZXJmYWNlSW5oZXJpdGFuY2U+Ci0gIDwvSW50ZXJmYWNlPgot
PC9EZWZpbml0aW9ucz4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlk
L3htbC9uYW1lc3BhY2VvYmplY3Qud2lkbHByb2N4bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVz
dC92YWxpZC94bWwvbmFtZXNwYWNlb2JqZWN0LndpZGxwcm9jeG1sCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCBhZjBjZGU5MzcxOS4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dp
ZGxwcm9jL3Rlc3QvdmFsaWQveG1sL25hbWVzcGFjZW9iamVjdC53aWRscHJvY3htbAorKysgL2Rl
di9udWxsCkBAIC0xLDYwICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVU
Ri04Ij8+Ci08IURPQ1RZUEUgRGVmaW5pdGlvbnMgU1lTVEVNICJ3aWRscHJvY3htbC5kdGQiPgot
PERlZmluaXRpb25zPgotICA8TW9kdWxlIG5hbWU9ImFjbWUiIGlkPSI6OmFjbWUiPgotICAgIDx3
ZWJpZGw+W05hbWVzcGFjZU9iamVjdF0KLW1vZHVsZSBhY21lIHsKLSAgCi0gIGV4Y2VwdGlvbiBE
ZXZpY2VFeGNlcHRpb24geyB9OwotCi0gIG1vZHVsZSBwaW0gewotCi0gICAgW0NvbnN0cnVjdG9y
XQotICAgIGludGVyZmFjZSBDb250YWN0IHsgfTsKLQotICAgIFtDb25zdHJ1Y3RvciwKLSAgICAg
TmFtZWRDb25zdHJ1Y3Rvcj1SZWN1cnJpbmdFdmVudChsb25nIGZyZXEpXQotICAgIGludGVyZmFj
ZSBDYWxlbmRhckV2ZW50IHsgfTsKLSAgfTsKLX07PC93ZWJpZGw+Ci0gICAgPEV4dGVuZGVkQXR0
cmlidXRlTGlzdD4KLSAgICAgIDxFeHRlbmRlZEF0dHJpYnV0ZSBuYW1lPSJOYW1lc3BhY2VPYmpl
Y3QiLz4KLSAgICA8L0V4dGVuZGVkQXR0cmlidXRlTGlzdD4KLSAgICA8RXhjZXB0aW9uIG5hbWU9
IkRldmljZUV4Y2VwdGlvbiIgaWQ9Ijo6YWNtZTo6RGV2aWNlRXhjZXB0aW9uIj4KLSAgICAgIDx3
ZWJpZGw+ICBleGNlcHRpb24gRGV2aWNlRXhjZXB0aW9uIHsgfTs8L3dlYmlkbD4KLSAgICA8L0V4
Y2VwdGlvbj4KLSAgICA8TW9kdWxlIG5hbWU9InBpbSIgaWQ9Ijo6YWNtZTo6cGltIj4KLSAgICAg
IDx3ZWJpZGw+ICBtb2R1bGUgcGltIHsKLQotICAgIFtDb25zdHJ1Y3Rvcl0KLSAgICBpbnRlcmZh
Y2UgQ29udGFjdCB7IH07Ci0KLSAgICBbQ29uc3RydWN0b3IsCi0gICAgIE5hbWVkQ29uc3RydWN0
b3I9UmVjdXJyaW5nRXZlbnQobG9uZyBmcmVxKV0KLSAgICBpbnRlcmZhY2UgQ2FsZW5kYXJFdmVu
dCB7IH07Ci0gIH07PC93ZWJpZGw+Ci0gICAgICA8SW50ZXJmYWNlIG5hbWU9IkNvbnRhY3QiIGlk
PSI6OmFjbWU6OnBpbTo6Q29udGFjdCI+Ci0gICAgICAgIDx3ZWJpZGw+ICAgIFtDb25zdHJ1Y3Rv
cl0KLSAgICBpbnRlcmZhY2UgQ29udGFjdCB7IH07PC93ZWJpZGw+Ci0gICAgICAgIDxFeHRlbmRl
ZEF0dHJpYnV0ZUxpc3Q+Ci0gICAgICAgICAgPEV4dGVuZGVkQXR0cmlidXRlIG5hbWU9IkNvbnN0
cnVjdG9yIi8+Ci0gICAgICAgIDwvRXh0ZW5kZWRBdHRyaWJ1dGVMaXN0PgotICAgICAgPC9JbnRl
cmZhY2U+Ci0gICAgICA8SW50ZXJmYWNlIG5hbWU9IkNhbGVuZGFyRXZlbnQiIGlkPSI6OmFjbWU6
OnBpbTo6Q2FsZW5kYXJFdmVudCI+Ci0gICAgICAgIDx3ZWJpZGw+ICAgIFtDb25zdHJ1Y3RvciwK
LSAgICAgTmFtZWRDb25zdHJ1Y3Rvcj1SZWN1cnJpbmdFdmVudChsb25nIGZyZXEpXQotICAgIGlu
dGVyZmFjZSBDYWxlbmRhckV2ZW50IHsgfTs8L3dlYmlkbD4KLSAgICAgICAgPEV4dGVuZGVkQXR0
cmlidXRlTGlzdD4KLSAgICAgICAgICA8RXh0ZW5kZWRBdHRyaWJ1dGUgbmFtZT0iQ29uc3RydWN0
b3IiLz4KLSAgICAgICAgICA8RXh0ZW5kZWRBdHRyaWJ1dGUgbmFtZT0iTmFtZWRDb25zdHJ1Y3Rv
ciIgdmFsdWU9IlJlY3VycmluZ0V2ZW50Ij4KLSAgICAgICAgICAgIDxBcmd1bWVudExpc3Q+Ci0g
ICAgICAgICAgICAgIDxBcmd1bWVudCBuYW1lPSJmcmVxIj4KLSAgICAgICAgICAgICAgICA8VHlw
ZSB0eXBlPSJsb25nIi8+Ci0gICAgICAgICAgICAgIDwvQXJndW1lbnQ+Ci0gICAgICAgICAgICA8
L0FyZ3VtZW50TGlzdD4KLSAgICAgICAgICA8L0V4dGVuZGVkQXR0cmlidXRlPgotICAgICAgICA8
L0V4dGVuZGVkQXR0cmlidXRlTGlzdD4KLSAgICAgIDwvSW50ZXJmYWNlPgotICAgIDwvTW9kdWxl
PgotICA8L01vZHVsZT4KLTwvRGVmaW5pdGlvbnM+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lk
bHByb2MvdGVzdC92YWxpZC94bWwvbm9pbnRlcmZhY2VvYmplY3Qud2lkbHByb2N4bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvbm9pbnRlcmZhY2VvYmplY3Qud2lkbHByb2N4
bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGY2NGYxMTZiNjBmLi4wMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvbm9pbnRlcmZhY2VvYmpl
Y3Qud2lkbHByb2N4bWwKKysrIC9kZXYvbnVsbApAQCAtMSwyOCArMCwwIEBACi08P3htbCB2ZXJz
aW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgotPCFET0NUWVBFIERlZmluaXRpb25zIFNZU1RF
TSAid2lkbHByb2N4bWwuZHRkIj4KLTxEZWZpbml0aW9ucz4KLSAgPHdlYmlkbD5bTm9JbnRlcmZh
Y2VPYmplY3RdCi1pbnRlcmZhY2UgUXVlcnkgewotICBhbnkgbG9va3VwRW50cnkodW5zaWduZWQg
bG9uZyBrZXkpOwotfTs8L3dlYmlkbD4KLSAgPEludGVyZmFjZSBuYW1lPSJRdWVyeSIgaWQ9Ijo6
UXVlcnkiPgotICAgIDx3ZWJpZGw+W05vSW50ZXJmYWNlT2JqZWN0XQotaW50ZXJmYWNlIFF1ZXJ5
IHsKLSAgYW55IGxvb2t1cEVudHJ5KHVuc2lnbmVkIGxvbmcga2V5KTsKLX07PC93ZWJpZGw+Ci0g
ICAgPEV4dGVuZGVkQXR0cmlidXRlTGlzdD4KLSAgICAgIDxFeHRlbmRlZEF0dHJpYnV0ZSBuYW1l
PSJOb0ludGVyZmFjZU9iamVjdCI+Ci0gICAgICAgIDx3ZWJpZGw+Tm9JbnRlcmZhY2VPYmplY3Q8
L3dlYmlkbD4KLSAgICAgIDwvRXh0ZW5kZWRBdHRyaWJ1dGU+Ci0gICAgPC9FeHRlbmRlZEF0dHJp
YnV0ZUxpc3Q+Ci0gICAgPE9wZXJhdGlvbiBuYW1lPSJsb29rdXBFbnRyeSIgaWQ9Ijo6UXVlcnk6
Omxvb2t1cEVudHJ5Ij4KLSAgICAgIDx3ZWJpZGw+ICBhbnkgbG9va3VwRW50cnkodW5zaWduZWQg
bG9uZyBrZXkpOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0iYW55Ii8+Ci0gICAgICA8QXJn
dW1lbnRMaXN0PgotICAgICAgICA8QXJndW1lbnQgbmFtZT0ia2V5Ij4KLSAgICAgICAgICA8VHlw
ZSB0eXBlPSJ1bnNpZ25lZCBsb25nIi8+Ci0gICAgICAgIDwvQXJndW1lbnQ+Ci0gICAgICA8L0Fy
Z3VtZW50TGlzdD4KLSAgICA8L09wZXJhdGlvbj4KLSAgPC9JbnRlcmZhY2U+Ci08L0RlZmluaXRp
b25zPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL251bGxh
YmxlLndpZGxwcm9jeG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL251bGxh
YmxlLndpZGxwcm9jeG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4NzM5ZTQ0MzI2
Mi4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL251
bGxhYmxlLndpZGxwcm9jeG1sCisrKyAvZGV2L251bGwKQEAgLTEsMjkgKzAsMCBAQAotPD94bWwg
dmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KLTwhRE9DVFlQRSBEZWZpbml0aW9ucyBT
WVNURU0gIndpZGxwcm9jeG1sLmR0ZCI+Ci08RGVmaW5pdGlvbnM+Ci0gIDx3ZWJpZGw+aW50ZXJm
YWNlIE15Q29uc3RhbnRzIHsKLSAgY29uc3QgYm9vbGVhbj8gQVJFX1dFX1RIRVJFX1lFVCA9IGZh
bHNlOwotfTsKLQotaW50ZXJmYWNlIE5vZGUgewotICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3Ry
aW5nPyBuYW1lc3BhY2VVUkk7Ci19Ozwvd2ViaWRsPgotICA8SW50ZXJmYWNlIG5hbWU9Ik15Q29u
c3RhbnRzIiBpZD0iOjpNeUNvbnN0YW50cyI+Ci0gICAgPHdlYmlkbD5pbnRlcmZhY2UgTXlDb25z
dGFudHMgewotICBjb25zdCBib29sZWFuPyBBUkVfV0VfVEhFUkVfWUVUID0gZmFsc2U7Ci19Ozwv
d2ViaWRsPgotICAgIDxDb25zdCBuYW1lPSJBUkVfV0VfVEhFUkVfWUVUIiB2YWx1ZT0iZmFsc2Ui
IGlkPSI6Ok15Q29uc3RhbnRzOjpBUkVfV0VfVEhFUkVfWUVUIj4KLSAgICAgIDx3ZWJpZGw+ICBj
b25zdCBib29sZWFuPyBBUkVfV0VfVEhFUkVfWUVUID0gZmFsc2U7PC93ZWJpZGw+Ci0gICAgICA8
VHlwZSB0eXBlPSJib29sZWFuIiBudWxsYWJsZT0ibnVsbGFibGUiLz4KLSAgICA8L0NvbnN0Pgot
ICA8L0ludGVyZmFjZT4KLSAgPEludGVyZmFjZSBuYW1lPSJOb2RlIiBpZD0iOjpOb2RlIj4KLSAg
ICA8d2ViaWRsPmludGVyZmFjZSBOb2RlIHsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmlu
Zz8gbmFtZXNwYWNlVVJJOwotfTs8L3dlYmlkbD4KLSAgICA8QXR0cmlidXRlIHJlYWRvbmx5PSJy
ZWFkb25seSIgbmFtZT0ibmFtZXNwYWNlVVJJIiBpZD0iOjpOb2RlOjpuYW1lc3BhY2VVUkkiPgot
ICAgICAgPHdlYmlkbD4gIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmc/IG5hbWVzcGFjZVVS
STs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9IkRPTVN0cmluZyIgbnVsbGFibGU9Im51bGxh
YmxlIi8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gIDwvSW50ZXJmYWNlPgotPC9EZWZpbml0aW9ucz4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9udWxsYWJsZW9i
amVjdHMud2lkbHByb2N4bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvbnVs
bGFibGVvYmplY3RzLndpZGxwcm9jeG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAy
MmQ5ZmRkMjVkNi4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFs
aWQveG1sL251bGxhYmxlb2JqZWN0cy53aWRscHJvY3htbAorKysgL2Rldi9udWxsCkBAIC0xLDQ2
ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Ci08IURPQ1RZ
UEUgRGVmaW5pdGlvbnMgU1lTVEVNICJ3aWRscHJvY3htbC5kdGQiPgotPERlZmluaXRpb25zPgot
ICA8d2ViaWRsPmludGVyZmFjZSBBIHsKLX07Ci1pbnRlcmZhY2UgQiB7Ci19OwotaW50ZXJmYWNl
IEMgewotICB2b2lkIGYoPHJlZj5BPC9yZWY+PyB4KTsKLSAgdm9pZCBmKDxyZWY+QjwvcmVmPj8g
eCk7Ci0KLX07PC93ZWJpZGw+Ci0gIDxJbnRlcmZhY2UgbmFtZT0iQSIgaWQ9Ijo6QSI+Ci0gICAg
PHdlYmlkbD5pbnRlcmZhY2UgQSB7Ci19Ozwvd2ViaWRsPgotICA8L0ludGVyZmFjZT4KLSAgPElu
dGVyZmFjZSBuYW1lPSJCIiBpZD0iOjpCIj4KLSAgICA8d2ViaWRsPmludGVyZmFjZSBCIHsKLX07
PC93ZWJpZGw+Ci0gIDwvSW50ZXJmYWNlPgotICA8SW50ZXJmYWNlIG5hbWU9IkMiIGlkPSI6OkMi
PgotICAgIDx3ZWJpZGw+aW50ZXJmYWNlIEMgewotICB2b2lkIGYoPHJlZj5BPC9yZWY+PyB4KTsK
LSAgdm9pZCBmKDxyZWY+QjwvcmVmPj8geCk7Ci0KLX07PC93ZWJpZGw+Ci0gICAgPE9wZXJhdGlv
biBuYW1lPSJmIiBpZD0iOjpDOjpmIj4KLSAgICAgIDx3ZWJpZGw+ICB2b2lkIGYoPHJlZj5BPC9y
ZWY+PyB4KTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9InZvaWQiLz4KLSAgICAgIDxBcmd1
bWVudExpc3Q+Ci0gICAgICAgIDxBcmd1bWVudCBuYW1lPSJ4Ij4KLSAgICAgICAgICA8VHlwZSBu
YW1lPSJBIiBudWxsYWJsZT0ibnVsbGFibGUiLz4KLSAgICAgICAgPC9Bcmd1bWVudD4KLSAgICAg
IDwvQXJndW1lbnRMaXN0PgotICAgIDwvT3BlcmF0aW9uPgotICAgIDxPcGVyYXRpb24gbmFtZT0i
ZiIgaWQ9Ijo6Qzo6ZiI+Ci0gICAgICA8d2ViaWRsPiAgdm9pZCBmKDxyZWY+QjwvcmVmPj8geCk7
PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJ2b2lkIi8+Ci0gICAgICA8QXJndW1lbnRMaXN0
PgotICAgICAgICA8QXJndW1lbnQgbmFtZT0ieCI+Ci0gICAgICAgICAgPFR5cGUgbmFtZT0iQiIg
bnVsbGFibGU9Im51bGxhYmxlIi8+Ci0gICAgICAgIDwvQXJndW1lbnQ+Ci0gICAgICA8L0FyZ3Vt
ZW50TGlzdD4KLSAgICA8L09wZXJhdGlvbj4KLSAgPC9JbnRlcmZhY2U+Ci08L0RlZmluaXRpb25z
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL29wZXJhdGlv
bi1vcHRpb25hbC1hcmcud2lkbHByb2N4bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxp
ZC94bWwvb3BlcmF0aW9uLW9wdGlvbmFsLWFyZy53aWRscHJvY3htbApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggNTRhZWYxZjg3ZTMuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93
aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9vcGVyYXRpb24tb3B0aW9uYWwtYXJnLndpZGxwcm9jeG1s
CisrKyAvZGV2L251bGwKQEAgLTEsMzAgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNv
ZGluZz0iVVRGLTgiPz4KLTwhRE9DVFlQRSBEZWZpbml0aW9ucyBTWVNURU0gIndpZGxwcm9jeG1s
LmR0ZCI+Ci08RGVmaW5pdGlvbnM+Ci0gIDx3ZWJpZGw+aW50ZXJmYWNlIENvbG9yQ3JlYXRvciB7
Ci0gIG9iamVjdCBjcmVhdGVDb2xvcihmbG9hdCB2MSwgZmxvYXQgdjIsIGZsb2F0IHYzLCBvcHRp
b25hbCBmbG9hdCBhbHBoYSA9IDMuNSk7Ci19Ozwvd2ViaWRsPgotICA8SW50ZXJmYWNlIG5hbWU9
IkNvbG9yQ3JlYXRvciIgaWQ9Ijo6Q29sb3JDcmVhdG9yIj4KLSAgICA8d2ViaWRsPmludGVyZmFj
ZSBDb2xvckNyZWF0b3IgewotICBvYmplY3QgY3JlYXRlQ29sb3IoZmxvYXQgdjEsIGZsb2F0IHYy
LCBmbG9hdCB2Mywgb3B0aW9uYWwgZmxvYXQgYWxwaGEgPSAzLjUpOwotfTs8L3dlYmlkbD4KLSAg
ICA8T3BlcmF0aW9uIG5hbWU9ImNyZWF0ZUNvbG9yIiBpZD0iOjpDb2xvckNyZWF0b3I6OmNyZWF0
ZUNvbG9yIj4KLSAgICAgIDx3ZWJpZGw+ICBvYmplY3QgY3JlYXRlQ29sb3IoZmxvYXQgdjEsIGZs
b2F0IHYyLCBmbG9hdCB2Mywgb3B0aW9uYWwgZmxvYXQgYWxwaGEgPSAzLjUpOzwvd2ViaWRsPgot
ICAgICAgPFR5cGUgdHlwZT0ib2JqZWN0Ii8+Ci0gICAgICA8QXJndW1lbnRMaXN0PgotICAgICAg
ICA8QXJndW1lbnQgbmFtZT0idjEiPgotICAgICAgICAgIDxUeXBlIHR5cGU9ImZsb2F0Ii8+Ci0g
ICAgICAgIDwvQXJndW1lbnQ+Ci0gICAgICAgIDxBcmd1bWVudCBuYW1lPSJ2MiI+Ci0gICAgICAg
ICAgPFR5cGUgdHlwZT0iZmxvYXQiLz4KLSAgICAgICAgPC9Bcmd1bWVudD4KLSAgICAgICAgPEFy
Z3VtZW50IG5hbWU9InYzIj4KLSAgICAgICAgICA8VHlwZSB0eXBlPSJmbG9hdCIvPgotICAgICAg
ICA8L0FyZ3VtZW50PgotICAgICAgICA8QXJndW1lbnQgb3B0aW9uYWw9Im9wdGlvbmFsIiBuYW1l
PSJhbHBoYSIgdmFsdWU9IjMuNSI+Ci0gICAgICAgICAgPFR5cGUgdHlwZT0iZmxvYXQiLz4KLSAg
ICAgICAgPC9Bcmd1bWVudD4KLSAgICAgIDwvQXJndW1lbnRMaXN0PgotICAgIDwvT3BlcmF0aW9u
PgotICA8L0ludGVyZmFjZT4KLTwvRGVmaW5pdGlvbnM+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
d2lkbHByb2MvdGVzdC92YWxpZC94bWwvb3ZlcmxvYWRpbmcud2lkbHByb2N4bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvb3ZlcmxvYWRpbmcud2lkbHByb2N4bWwKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRiNmRhN2E2OGM3Li4wMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvb3ZlcmxvYWRpbmcud2lkbHByb2N4bWwK
KysrIC9kZXYvbnVsbApAQCAtMSwxMTMgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNv
ZGluZz0iVVRGLTgiPz4KLTwhRE9DVFlQRSBEZWZpbml0aW9ucyBTWVNURU0gIndpZGxwcm9jeG1s
LmR0ZCI+Ci08RGVmaW5pdGlvbnM+Ci0gIDx3ZWJpZGw+aW50ZXJmYWNlIEEgewotfTsKLQotaW50
ZXJmYWNlIEIgewotfTsKLQotaW50ZXJmYWNlIEMgewotICB2b2lkIGYoPHJlZj5BPC9yZWY+IHgp
OwotICB2b2lkIGYoPHJlZj5CPC9yZWY+IHgpOwotfTsKLQotaW50ZXJmYWNlIEEgewotdm9pZCBm
KERPTVN0cmluZyBhKTsKLXZvaWQgZihbQWxsb3dBbnldIERPTVN0cmluZyBhLCBET01TdHJpbmcg
YiwgZmxvYXQuLi4gYyk7Ci12b2lkIGYoKTsKLXZvaWQgZihsb25nIGEsIERPTVN0cmluZyBiLCBv
cHRpb25hbCBET01TdHJpbmcgYywgZmxvYXQuLi4gZCk7Ci19Ozwvd2ViaWRsPgotICA8SW50ZXJm
YWNlIG5hbWU9IkEiIGlkPSI6OkEiPgotICAgIDx3ZWJpZGw+aW50ZXJmYWNlIEEgewotfTs8L3dl
YmlkbD4KLSAgPC9JbnRlcmZhY2U+Ci0gIDxJbnRlcmZhY2UgbmFtZT0iQiIgaWQ9Ijo6QiI+Ci0g
ICAgPHdlYmlkbD5pbnRlcmZhY2UgQiB7Ci19Ozwvd2ViaWRsPgotICA8L0ludGVyZmFjZT4KLSAg
PEludGVyZmFjZSBuYW1lPSJDIiBpZD0iOjpDIj4KLSAgICA8d2ViaWRsPmludGVyZmFjZSBDIHsK
LSAgdm9pZCBmKDxyZWY+QTwvcmVmPiB4KTsKLSAgdm9pZCBmKDxyZWY+QjwvcmVmPiB4KTsKLX07
PC93ZWJpZGw+Ci0gICAgPE9wZXJhdGlvbiBuYW1lPSJmIiBpZD0iOjpDOjpmIj4KLSAgICAgIDx3
ZWJpZGw+ICB2b2lkIGYoPHJlZj5BPC9yZWY+IHgpOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlw
ZT0idm9pZCIvPgotICAgICAgPEFyZ3VtZW50TGlzdD4KLSAgICAgICAgPEFyZ3VtZW50IG5hbWU9
IngiPgotICAgICAgICAgIDxUeXBlIG5hbWU9IkEiLz4KLSAgICAgICAgPC9Bcmd1bWVudD4KLSAg
ICAgIDwvQXJndW1lbnRMaXN0PgotICAgIDwvT3BlcmF0aW9uPgotICAgIDxPcGVyYXRpb24gbmFt
ZT0iZiIgaWQ9Ijo6Qzo6ZiI+Ci0gICAgICA8d2ViaWRsPiAgdm9pZCBmKDxyZWY+QjwvcmVmPiB4
KTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9InZvaWQiLz4KLSAgICAgIDxBcmd1bWVudExp
c3Q+Ci0gICAgICAgIDxBcmd1bWVudCBuYW1lPSJ4Ij4KLSAgICAgICAgICA8VHlwZSBuYW1lPSJC
Ii8+Ci0gICAgICAgIDwvQXJndW1lbnQ+Ci0gICAgICA8L0FyZ3VtZW50TGlzdD4KLSAgICA8L09w
ZXJhdGlvbj4KLSAgPC9JbnRlcmZhY2U+Ci0gIDxJbnRlcmZhY2UgbmFtZT0iQSIgaWQ9Ijo6QSI+
Ci0gICAgPHdlYmlkbD5pbnRlcmZhY2UgQSB7Ci12b2lkIGYoRE9NU3RyaW5nIGEpOwotdm9pZCBm
KFtBbGxvd0FueV0gRE9NU3RyaW5nIGEsIERPTVN0cmluZyBiLCBmbG9hdC4uLiBjKTsKLXZvaWQg
ZigpOwotdm9pZCBmKGxvbmcgYSwgRE9NU3RyaW5nIGIsIG9wdGlvbmFsIERPTVN0cmluZyBjLCBm
bG9hdC4uLiBkKTsKLX07PC93ZWJpZGw+Ci0gICAgPE9wZXJhdGlvbiBuYW1lPSJmIiBpZD0iOjpB
OjpmIj4KLSAgICAgIDx3ZWJpZGw+IHZvaWQgZihET01TdHJpbmcgYSk7PC93ZWJpZGw+Ci0gICAg
ICA8VHlwZSB0eXBlPSJ2b2lkIi8+Ci0gICAgICA8QXJndW1lbnRMaXN0PgotICAgICAgICA8QXJn
dW1lbnQgbmFtZT0iYSI+Ci0gICAgICAgICAgPFR5cGUgdHlwZT0iRE9NU3RyaW5nIi8+Ci0gICAg
ICAgIDwvQXJndW1lbnQ+Ci0gICAgICA8L0FyZ3VtZW50TGlzdD4KLSAgICA8L09wZXJhdGlvbj4K
LSAgICA8T3BlcmF0aW9uIG5hbWU9ImYiIGlkPSI6OkE6OmYiPgotICAgICAgPHdlYmlkbD4gdm9p
ZCBmKFtBbGxvd0FueV0gRE9NU3RyaW5nIGEsIERPTVN0cmluZyBiLCBmbG9hdC4uLiBjKTs8L3dl
YmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9InZvaWQiLz4KLSAgICAgIDxBcmd1bWVudExpc3Q+Ci0g
ICAgICAgIDxBcmd1bWVudCBuYW1lPSJhIj4KLSAgICAgICAgICA8RXh0ZW5kZWRBdHRyaWJ1dGVM
aXN0PgotICAgICAgICAgICAgPEV4dGVuZGVkQXR0cmlidXRlIG5hbWU9IkFsbG93QW55Ij4KLSAg
ICAgICAgICAgICAgPHdlYmlkbD5BbGxvd0FueTwvd2ViaWRsPgotICAgICAgICAgICAgPC9FeHRl
bmRlZEF0dHJpYnV0ZT4KLSAgICAgICAgICA8L0V4dGVuZGVkQXR0cmlidXRlTGlzdD4KLSAgICAg
ICAgICA8VHlwZSB0eXBlPSJET01TdHJpbmciLz4KLSAgICAgICAgPC9Bcmd1bWVudD4KLSAgICAg
ICAgPEFyZ3VtZW50IG5hbWU9ImIiPgotICAgICAgICAgIDxUeXBlIHR5cGU9IkRPTVN0cmluZyIv
PgotICAgICAgICA8L0FyZ3VtZW50PgotICAgICAgICA8QXJndW1lbnQgZWxsaXBzaXM9ImVsbGlw
c2lzIiBuYW1lPSJjIj4KLSAgICAgICAgICA8VHlwZSB0eXBlPSJmbG9hdCIvPgotICAgICAgICA8
L0FyZ3VtZW50PgotICAgICAgPC9Bcmd1bWVudExpc3Q+Ci0gICAgPC9PcGVyYXRpb24+Ci0gICAg
PE9wZXJhdGlvbiBuYW1lPSJmIiBpZD0iOjpBOjpmIj4KLSAgICAgIDx3ZWJpZGw+IHZvaWQgZigp
Ozwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0idm9pZCIvPgotICAgICAgPEFyZ3VtZW50TGlz
dC8+Ci0gICAgPC9PcGVyYXRpb24+Ci0gICAgPE9wZXJhdGlvbiBuYW1lPSJmIiBpZD0iOjpBOjpm
Ij4KLSAgICAgIDx3ZWJpZGw+IHZvaWQgZihsb25nIGEsIERPTVN0cmluZyBiLCBvcHRpb25hbCBE
T01TdHJpbmcgYywgZmxvYXQuLi4gZCk7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJ2b2lk
Ii8+Ci0gICAgICA8QXJndW1lbnRMaXN0PgotICAgICAgICA8QXJndW1lbnQgbmFtZT0iYSI+Ci0g
ICAgICAgICAgPFR5cGUgdHlwZT0ibG9uZyIvPgotICAgICAgICA8L0FyZ3VtZW50PgotICAgICAg
ICA8QXJndW1lbnQgbmFtZT0iYiI+Ci0gICAgICAgICAgPFR5cGUgdHlwZT0iRE9NU3RyaW5nIi8+
Ci0gICAgICAgIDwvQXJndW1lbnQ+Ci0gICAgICAgIDxBcmd1bWVudCBvcHRpb25hbD0ib3B0aW9u
YWwiIG5hbWU9ImMiPgotICAgICAgICAgIDxUeXBlIHR5cGU9IkRPTVN0cmluZyIvPgotICAgICAg
ICA8L0FyZ3VtZW50PgotICAgICAgICA8QXJndW1lbnQgZWxsaXBzaXM9ImVsbGlwc2lzIiBuYW1l
PSJkIj4KLSAgICAgICAgICA8VHlwZSB0eXBlPSJmbG9hdCIvPgotICAgICAgICA8L0FyZ3VtZW50
PgotICAgICAgPC9Bcmd1bWVudExpc3Q+Ci0gICAgPC9PcGVyYXRpb24+Ci0gIDwvSW50ZXJmYWNl
PgotPC9EZWZpbml0aW9ucz4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3Zh
bGlkL3htbC9vdmVycmlkZWJ1aWx0aW5zLndpZGxwcm9jeG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9j
L3Rlc3QvdmFsaWQveG1sL292ZXJyaWRlYnVpbHRpbnMud2lkbHByb2N4bWwKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDU2YzkyNTE3YmViLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvb3ZlcnJpZGVidWlsdGlucy53aWRscHJvY3htbAor
KysgL2Rldi9udWxsCkBAIC0xLDM0ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rp
bmc9IlVURi04Ij8+Ci08IURPQ1RZUEUgRGVmaW5pdGlvbnMgU1lTVEVNICJ3aWRscHJvY3htbC5k
dGQiPgotPERlZmluaXRpb25zPgotICA8d2ViaWRsPltPdmVycmlkZUJ1aWx0aW5zXQotaW50ZXJm
YWNlIFN0cmluZ01hcDIgewotICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBsZW5n
dGg7Ci0gIGdldHRlciBET01TdHJpbmcgbG9va3VwKERPTVN0cmluZyBrZXkpOwotfTs8L3dlYmlk
bD4KLSAgPEludGVyZmFjZSBuYW1lPSJTdHJpbmdNYXAyIiBpZD0iOjpTdHJpbmdNYXAyIj4KLSAg
ICA8d2ViaWRsPltPdmVycmlkZUJ1aWx0aW5zXQotaW50ZXJmYWNlIFN0cmluZ01hcDIgewotICBy
ZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBsZW5ndGg7Ci0gIGdldHRlciBET01TdHJp
bmcgbG9va3VwKERPTVN0cmluZyBrZXkpOwotfTs8L3dlYmlkbD4KLSAgICA8RXh0ZW5kZWRBdHRy
aWJ1dGVMaXN0PgotICAgICAgPEV4dGVuZGVkQXR0cmlidXRlIG5hbWU9Ik92ZXJyaWRlQnVpbHRp
bnMiPgotICAgICAgICA8d2ViaWRsPk92ZXJyaWRlQnVpbHRpbnM8L3dlYmlkbD4KLSAgICAgIDwv
RXh0ZW5kZWRBdHRyaWJ1dGU+Ci0gICAgPC9FeHRlbmRlZEF0dHJpYnV0ZUxpc3Q+Ci0gICAgPEF0
dHJpYnV0ZSByZWFkb25seT0icmVhZG9ubHkiIG5hbWU9Imxlbmd0aCIgaWQ9Ijo6U3RyaW5nTWFw
Mjo6bGVuZ3RoIj4KLSAgICAgIDx3ZWJpZGw+ICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQg
bG9uZyBsZW5ndGg7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJ1bnNpZ25lZCBsb25nIi8+
Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gICAgPE9wZXJhdGlvbiBnZXR0ZXI9ImdldHRlciIgbmFtZT0i
bG9va3VwIiBpZD0iOjpTdHJpbmdNYXAyOjpsb29rdXAiPgotICAgICAgPHdlYmlkbD4gIGdldHRl
ciBET01TdHJpbmcgbG9va3VwKERPTVN0cmluZyBrZXkpOzwvd2ViaWRsPgotICAgICAgPFR5cGUg
dHlwZT0iRE9NU3RyaW5nIi8+Ci0gICAgICA8QXJndW1lbnRMaXN0PgotICAgICAgICA8QXJndW1l
bnQgbmFtZT0ia2V5Ij4KLSAgICAgICAgICA8VHlwZSB0eXBlPSJET01TdHJpbmciLz4KLSAgICAg
ICAgPC9Bcmd1bWVudD4KLSAgICAgIDwvQXJndW1lbnRMaXN0PgotICAgIDwvT3BlcmF0aW9uPgot
ICA8L0ludGVyZmFjZT4KLTwvRGVmaW5pdGlvbnM+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lk
bHByb2MvdGVzdC92YWxpZC94bWwvcGFydGlhbC1pbnRlcmZhY2Uud2lkbHByb2N4bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvcGFydGlhbC1pbnRlcmZhY2Uud2lkbHByb2N4
bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDhkN2RjYjRlNGY3Li4wMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvcGFydGlhbC1pbnRlcmZh
Y2Uud2lkbHByb2N4bWwKKysrIC9kZXYvbnVsbApAQCAtMSwyOSArMCwwIEBACi08P3htbCB2ZXJz
aW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgotPCFET0NUWVBFIERlZmluaXRpb25zIFNZU1RF
TSAid2lkbHByb2N4bWwuZHRkIj4KLTxEZWZpbml0aW9ucz4KLSAgPHdlYmlkbD5pbnRlcmZhY2Ug
Rm9vIHsKLSAgYXR0cmlidXRlIERPTVN0cmluZyBiYXI7Ci19OwotCi1wYXJ0aWFsIGludGVyZmFj
ZSBGb28gewotICBhdHRyaWJ1dGUgRE9NU3RyaW5nIHF1dXg7Ci19Ozwvd2ViaWRsPgotICA8SW50
ZXJmYWNlIG5hbWU9IkZvbyIgaWQ9Ijo6Rm9vIj4KLSAgICA8d2ViaWRsPmludGVyZmFjZSBGb28g
ewotICBhdHRyaWJ1dGUgRE9NU3RyaW5nIGJhcjsKLX07PC93ZWJpZGw+Ci0gICAgPEF0dHJpYnV0
ZSBuYW1lPSJiYXIiIGlkPSI6OkZvbzo6YmFyIj4KLSAgICAgIDx3ZWJpZGw+ICBhdHRyaWJ1dGUg
RE9NU3RyaW5nIGJhcjs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9IkRPTVN0cmluZyIvPgot
ICAgIDwvQXR0cmlidXRlPgotICA8L0ludGVyZmFjZT4KLSAgPEludGVyZmFjZSBuYW1lPSJGb28i
IHBhcnRpYWw9InBhcnRpYWwiIGlkPSI6OkZvbyI+Ci0gICAgPHdlYmlkbD5wYXJ0aWFsIGludGVy
ZmFjZSBGb28gewotICBhdHRyaWJ1dGUgRE9NU3RyaW5nIHF1dXg7Ci19Ozwvd2ViaWRsPgotICAg
IDxBdHRyaWJ1dGUgbmFtZT0icXV1eCIgaWQ9Ijo6Rm9vOjpxdXV4Ij4KLSAgICAgIDx3ZWJpZGw+
ICBhdHRyaWJ1dGUgRE9NU3RyaW5nIHF1dXg7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJE
T01TdHJpbmciLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAgPC9JbnRlcmZhY2U+Ci08L0RlZmluaXRp
b25zPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL3ByaW1p
dGl2ZXMud2lkbHByb2N4bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvcHJp
bWl0aXZlcy53aWRscHJvY3htbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDY5Nzdh
MmQ3NGUuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3ht
bC9wcmltaXRpdmVzLndpZGxwcm9jeG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTEyICswLDAgQEAK
LTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Ci08IURPQ1RZUEUgRGVmaW5p
dGlvbnMgU1lTVEVNICJ3aWRscHJvY3htbC5kdGQiPgotPERlZmluaXRpb25zPgotICA8d2ViaWRs
PmludGVyZmFjZSBQcmltaXRpdmVzIHsKLSAgYXR0cmlidXRlIGJvb2xlYW4gdHJ1dGg7Ci0gIGF0
dHJpYnV0ZSBieXRlIGNoYXJhY3RlcjsKLSAgYXR0cmlidXRlIG9jdGV0IHZhbHVlOwotICBhdHRy
aWJ1dGUgc2hvcnQgbnVtYmVyOwotICBhdHRyaWJ1dGUgdW5zaWduZWQgc2hvcnQgcG9zaXRpdmU7
Ci0gIGF0dHJpYnV0ZSBsb25nIGJpZzsKLSAgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgYmlncG9z
aXRpdmU7Ci0gIGF0dHJpYnV0ZSBsb25nIGxvbmcgYmlnYmlnOwotICBhdHRyaWJ1dGUgIHVuc2ln
bmVkIGxvbmcgbG9uZyBiaWdiaWdwb3NpdGl2ZTsKLSAgYXR0cmlidXRlIGZsb2F0IHJlYWw7Ci0g
IGF0dHJpYnV0ZSBkb3VibGUgYmlncmVhbDsgCi0gIGF0dHJpYnV0ZSB1bnJlc3RyaWN0ZWQgZmxv
YXQgcmVhbHdpdGhpbmZpbml0eTsKLSAgYXR0cmlidXRlIHVucmVzdHJpY3RlZCBkb3VibGUgYmln
cmVhbHdpdGhpbmZpbml0eTsgCi0gIGF0dHJpYnV0ZSBET01TdHJpbmcgc3RyaW5nOyAKLSAgYXR0
cmlidXRlIEJ5dGVTdHJpbmcgYnl0ZXM7IAotICBhdHRyaWJ1dGUgRGF0ZSBkYXRlOwotICBhdHRy
aWJ1dGUgUmVnRXhwIHJlZ2V4cDsKLX07PC93ZWJpZGw+Ci0gIDxJbnRlcmZhY2UgbmFtZT0iUHJp
bWl0aXZlcyIgaWQ9Ijo6UHJpbWl0aXZlcyI+Ci0gICAgPHdlYmlkbD5pbnRlcmZhY2UgUHJpbWl0
aXZlcyB7Ci0gIGF0dHJpYnV0ZSBib29sZWFuIHRydXRoOwotICBhdHRyaWJ1dGUgYnl0ZSBjaGFy
YWN0ZXI7Ci0gIGF0dHJpYnV0ZSBvY3RldCB2YWx1ZTsKLSAgYXR0cmlidXRlIHNob3J0IG51bWJl
cjsKLSAgYXR0cmlidXRlIHVuc2lnbmVkIHNob3J0IHBvc2l0aXZlOwotICBhdHRyaWJ1dGUgbG9u
ZyBiaWc7Ci0gIGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGJpZ3Bvc2l0aXZlOwotICBhdHRyaWJ1
dGUgbG9uZyBsb25nIGJpZ2JpZzsKLSAgYXR0cmlidXRlICB1bnNpZ25lZCBsb25nIGxvbmcgYmln
YmlncG9zaXRpdmU7Ci0gIGF0dHJpYnV0ZSBmbG9hdCByZWFsOwotICBhdHRyaWJ1dGUgZG91Ymxl
IGJpZ3JlYWw7IAotICBhdHRyaWJ1dGUgdW5yZXN0cmljdGVkIGZsb2F0IHJlYWx3aXRoaW5maW5p
dHk7Ci0gIGF0dHJpYnV0ZSB1bnJlc3RyaWN0ZWQgZG91YmxlIGJpZ3JlYWx3aXRoaW5maW5pdHk7
IAotICBhdHRyaWJ1dGUgRE9NU3RyaW5nIHN0cmluZzsgCi0gIGF0dHJpYnV0ZSBCeXRlU3RyaW5n
IGJ5dGVzOyAKLSAgYXR0cmlidXRlIERhdGUgZGF0ZTsKLSAgYXR0cmlidXRlIFJlZ0V4cCByZWdl
eHA7Ci19Ozwvd2ViaWRsPgotICAgIDxBdHRyaWJ1dGUgbmFtZT0idHJ1dGgiIGlkPSI6OlByaW1p
dGl2ZXM6OnRydXRoIj4KLSAgICAgIDx3ZWJpZGw+ICBhdHRyaWJ1dGUgYm9vbGVhbiB0cnV0aDs8
L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9ImJvb2xlYW4iLz4KLSAgICA8L0F0dHJpYnV0ZT4K
LSAgICA8QXR0cmlidXRlIG5hbWU9ImNoYXJhY3RlciIgaWQ9Ijo6UHJpbWl0aXZlczo6Y2hhcmFj
dGVyIj4KLSAgICAgIDx3ZWJpZGw+ICBhdHRyaWJ1dGUgYnl0ZSBjaGFyYWN0ZXI7PC93ZWJpZGw+
Ci0gICAgICA8VHlwZSB0eXBlPSJieXRlIi8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gICAgPEF0dHJp
YnV0ZSBuYW1lPSJ2YWx1ZSIgaWQ9Ijo6UHJpbWl0aXZlczo6dmFsdWUiPgotICAgICAgPHdlYmlk
bD4gIGF0dHJpYnV0ZSBvY3RldCB2YWx1ZTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9Im9j
dGV0Ii8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gICAgPEF0dHJpYnV0ZSBuYW1lPSJudW1iZXIiIGlk
PSI6OlByaW1pdGl2ZXM6Om51bWJlciI+Ci0gICAgICA8d2ViaWRsPiAgYXR0cmlidXRlIHNob3J0
IG51bWJlcjs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9InNob3J0Ii8+Ci0gICAgPC9BdHRy
aWJ1dGU+Ci0gICAgPEF0dHJpYnV0ZSBuYW1lPSJwb3NpdGl2ZSIgaWQ9Ijo6UHJpbWl0aXZlczo6
cG9zaXRpdmUiPgotICAgICAgPHdlYmlkbD4gIGF0dHJpYnV0ZSB1bnNpZ25lZCBzaG9ydCBwb3Np
dGl2ZTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9InVuc2lnbmVkIHNob3J0Ii8+Ci0gICAg
PC9BdHRyaWJ1dGU+Ci0gICAgPEF0dHJpYnV0ZSBuYW1lPSJiaWciIGlkPSI6OlByaW1pdGl2ZXM6
OmJpZyI+Ci0gICAgICA8d2ViaWRsPiAgYXR0cmlidXRlIGxvbmcgYmlnOzwvd2ViaWRsPgotICAg
ICAgPFR5cGUgdHlwZT0ibG9uZyIvPgotICAgIDwvQXR0cmlidXRlPgotICAgIDxBdHRyaWJ1dGUg
bmFtZT0iYmlncG9zaXRpdmUiIGlkPSI6OlByaW1pdGl2ZXM6OmJpZ3Bvc2l0aXZlIj4KLSAgICAg
IDx3ZWJpZGw+ICBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBiaWdwb3NpdGl2ZTs8L3dlYmlkbD4K
LSAgICAgIDxUeXBlIHR5cGU9InVuc2lnbmVkIGxvbmciLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAg
ICA8QXR0cmlidXRlIG5hbWU9ImJpZ2JpZyIgaWQ9Ijo6UHJpbWl0aXZlczo6YmlnYmlnIj4KLSAg
ICAgIDx3ZWJpZGw+ICBhdHRyaWJ1dGUgbG9uZyBsb25nIGJpZ2JpZzs8L3dlYmlkbD4KLSAgICAg
IDxUeXBlIHR5cGU9ImxvbmcgbG9uZyIvPgotICAgIDwvQXR0cmlidXRlPgotICAgIDxBdHRyaWJ1
dGUgbmFtZT0iYmlnYmlncG9zaXRpdmUiIGlkPSI6OlByaW1pdGl2ZXM6OmJpZ2JpZ3Bvc2l0aXZl
Ij4KLSAgICAgIDx3ZWJpZGw+ICBhdHRyaWJ1dGUgIHVuc2lnbmVkIGxvbmcgbG9uZyBiaWdiaWdw
b3NpdGl2ZTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9InVuc2lnbmVkIGxvbmcgbG9uZyIv
PgotICAgIDwvQXR0cmlidXRlPgotICAgIDxBdHRyaWJ1dGUgbmFtZT0icmVhbCIgaWQ9Ijo6UHJp
bWl0aXZlczo6cmVhbCI+Ci0gICAgICA8d2ViaWRsPiAgYXR0cmlidXRlIGZsb2F0IHJlYWw7PC93
ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJmbG9hdCIvPgotICAgIDwvQXR0cmlidXRlPgotICAg
IDxBdHRyaWJ1dGUgbmFtZT0iYmlncmVhbCIgaWQ9Ijo6UHJpbWl0aXZlczo6YmlncmVhbCI+Ci0g
ICAgICA8d2ViaWRsPiAgYXR0cmlidXRlIGRvdWJsZSBiaWdyZWFsOzwvd2ViaWRsPgotICAgICAg
PFR5cGUgdHlwZT0iZG91YmxlIi8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gICAgPEF0dHJpYnV0ZSBu
YW1lPSJyZWFsd2l0aGluZmluaXR5IiBpZD0iOjpQcmltaXRpdmVzOjpyZWFsd2l0aGluZmluaXR5
Ij4KLSAgICAgIDx3ZWJpZGw+ICBhdHRyaWJ1dGUgdW5yZXN0cmljdGVkIGZsb2F0IHJlYWx3aXRo
aW5maW5pdHk7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJ1bnJlc3RyaWN0ZWQgZmxvYXQi
Lz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAgICA8QXR0cmlidXRlIG5hbWU9ImJpZ3JlYWx3aXRoaW5m
aW5pdHkiIGlkPSI6OlByaW1pdGl2ZXM6OmJpZ3JlYWx3aXRoaW5maW5pdHkiPgotICAgICAgPHdl
YmlkbD4gIGF0dHJpYnV0ZSB1bnJlc3RyaWN0ZWQgZG91YmxlIGJpZ3JlYWx3aXRoaW5maW5pdHk7
PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJ1bnJlc3RyaWN0ZWQgZG91YmxlIi8+Ci0gICAg
PC9BdHRyaWJ1dGU+Ci0gICAgPEF0dHJpYnV0ZSBuYW1lPSJzdHJpbmciIGlkPSI6OlByaW1pdGl2
ZXM6OnN0cmluZyI+Ci0gICAgICA8d2ViaWRsPiAgYXR0cmlidXRlIERPTVN0cmluZyBzdHJpbmc7
PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJET01TdHJpbmciLz4KLSAgICA8L0F0dHJpYnV0
ZT4KLSAgICA8QXR0cmlidXRlIG5hbWU9ImJ5dGVzIiBpZD0iOjpQcmltaXRpdmVzOjpieXRlcyI+
Ci0gICAgICA8d2ViaWRsPiAgYXR0cmlidXRlIEJ5dGVTdHJpbmcgYnl0ZXM7PC93ZWJpZGw+Ci0g
ICAgICA8VHlwZSB0eXBlPSJCeXRlU3RyaW5nIi8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gICAgPEF0
dHJpYnV0ZSBuYW1lPSJkYXRlIiBpZD0iOjpQcmltaXRpdmVzOjpkYXRlIj4KLSAgICAgIDx3ZWJp
ZGw+ICBhdHRyaWJ1dGUgRGF0ZSBkYXRlOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0iRGF0
ZSIvPgotICAgIDwvQXR0cmlidXRlPgotICAgIDxBdHRyaWJ1dGUgbmFtZT0icmVnZXhwIiBpZD0i
OjpQcmltaXRpdmVzOjpyZWdleHAiPgotICAgICAgPHdlYmlkbD4gIGF0dHJpYnV0ZSBSZWdFeHAg
cmVnZXhwOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0iUmVnRXhwIi8+Ci0gICAgPC9BdHRy
aWJ1dGU+Ci0gIDwvSW50ZXJmYWNlPgotPC9EZWZpbml0aW9ucz4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9wcm90b3R5cGVyb290LndpZGxwcm9jeG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL3Byb3RvdHlwZXJvb3Qud2lkbHByb2N4
bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDJlNTZjZDc1ZWMzLi4wMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvcHJvdG90eXBlcm9vdC53
aWRscHJvY3htbAorKysgL2Rldi9udWxsCkBAIC0xLDIzICswLDAgQEAKLTw/eG1sIHZlcnNpb249
IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Ci08IURPQ1RZUEUgRGVmaW5pdGlvbnMgU1lTVEVNICJ3
aWRscHJvY3htbC5kdGQiPgotPERlZmluaXRpb25zPgotICA8d2ViaWRsPltQcm90b3R5cGVSb290
XQotaW50ZXJmYWNlIE5vZGUgewotICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgc2hvcnQg
bm9kZVR5cGU7Ci19Ozwvd2ViaWRsPgotICA8SW50ZXJmYWNlIG5hbWU9Ik5vZGUiIGlkPSI6Ok5v
ZGUiPgotICAgIDx3ZWJpZGw+W1Byb3RvdHlwZVJvb3RdCi1pbnRlcmZhY2UgTm9kZSB7Ci0gIHJl
YWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBzaG9ydCBub2RlVHlwZTsKLX07PC93ZWJpZGw+Ci0g
ICAgPEV4dGVuZGVkQXR0cmlidXRlTGlzdD4KLSAgICAgIDxFeHRlbmRlZEF0dHJpYnV0ZSBuYW1l
PSJQcm90b3R5cGVSb290Ij4KLSAgICAgICAgPHdlYmlkbD5Qcm90b3R5cGVSb290PC93ZWJpZGw+
Ci0gICAgICA8L0V4dGVuZGVkQXR0cmlidXRlPgotICAgIDwvRXh0ZW5kZWRBdHRyaWJ1dGVMaXN0
PgotICAgIDxBdHRyaWJ1dGUgcmVhZG9ubHk9InJlYWRvbmx5IiBuYW1lPSJub2RlVHlwZSIgaWQ9
Ijo6Tm9kZTo6bm9kZVR5cGUiPgotICAgICAgPHdlYmlkbD4gIHJlYWRvbmx5IGF0dHJpYnV0ZSB1
bnNpZ25lZCBzaG9ydCBub2RlVHlwZTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9InVuc2ln
bmVkIHNob3J0Ii8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gIDwvSW50ZXJmYWNlPgotPC9EZWZpbml0
aW9ucz4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9wdXRm
b3J3YXJkcy53aWRscHJvY3htbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9w
dXRmb3J3YXJkcy53aWRscHJvY3htbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjM0
ZmFkNTVhNTYuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlk
L3htbC9wdXRmb3J3YXJkcy53aWRscHJvY3htbAorKysgL2Rldi9udWxsCkBAIC0xLDI3ICswLDAg
QEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Ci08IURPQ1RZUEUgRGVm
aW5pdGlvbnMgU1lTVEVNICJ3aWRscHJvY3htbC5kdGQiPgotPERlZmluaXRpb25zPgotICA8d2Vi
aWRsPmludGVyZmFjZSBQZXJzb24gewotICBbUHV0Rm9yd2FyZHM9ZnVsbF0gcmVhZG9ubHkgYXR0
cmlidXRlIDxyZWY+TmFtZTwvcmVmPiBuYW1lOwotICBhdHRyaWJ1dGUgdW5zaWduZWQgc2hvcnQg
YWdlOwotfTs8L3dlYmlkbD4KLSAgPEludGVyZmFjZSBuYW1lPSJQZXJzb24iIGlkPSI6OlBlcnNv
biI+Ci0gICAgPHdlYmlkbD5pbnRlcmZhY2UgUGVyc29uIHsKLSAgW1B1dEZvcndhcmRzPWZ1bGxd
IHJlYWRvbmx5IGF0dHJpYnV0ZSA8cmVmPk5hbWU8L3JlZj4gbmFtZTsKLSAgYXR0cmlidXRlIHVu
c2lnbmVkIHNob3J0IGFnZTsKLX07PC93ZWJpZGw+Ci0gICAgPEF0dHJpYnV0ZSByZWFkb25seT0i
cmVhZG9ubHkiIG5hbWU9Im5hbWUiIGlkPSI6OlBlcnNvbjo6bmFtZSI+Ci0gICAgICA8d2ViaWRs
PiAgW1B1dEZvcndhcmRzPWZ1bGxdIHJlYWRvbmx5IGF0dHJpYnV0ZSA8cmVmPk5hbWU8L3JlZj4g
bmFtZTs8L3dlYmlkbD4KLSAgICAgIDxFeHRlbmRlZEF0dHJpYnV0ZUxpc3Q+Ci0gICAgICAgIDxF
eHRlbmRlZEF0dHJpYnV0ZSBuYW1lPSJQdXRGb3J3YXJkcyIgdmFsdWU9ImZ1bGwiPgotICAgICAg
ICAgIDx3ZWJpZGw+UHV0Rm9yd2FyZHM8L3dlYmlkbD4KLSAgICAgICAgPC9FeHRlbmRlZEF0dHJp
YnV0ZT4KLSAgICAgIDwvRXh0ZW5kZWRBdHRyaWJ1dGVMaXN0PgotICAgICAgPFR5cGUgbmFtZT0i
TmFtZSIvPgotICAgIDwvQXR0cmlidXRlPgotICAgIDxBdHRyaWJ1dGUgbmFtZT0iYWdlIiBpZD0i
OjpQZXJzb246OmFnZSI+Ci0gICAgICA8d2ViaWRsPiAgYXR0cmlidXRlIHVuc2lnbmVkIHNob3J0
IGFnZTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9InVuc2lnbmVkIHNob3J0Ii8+Ci0gICAg
PC9BdHRyaWJ1dGU+Ci0gIDwvSW50ZXJmYWNlPgotPC9EZWZpbml0aW9ucz4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9yZWctb3BlcmF0aW9ucy53aWRscHJv
Y3htbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9yZWctb3BlcmF0aW9ucy53
aWRscHJvY3htbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggM2I3NTZlZDY4ZDguLjAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9yZWctb3Bl
cmF0aW9ucy53aWRscHJvY3htbAorKysgL2Rldi9udWxsCkBAIC0xLDcwICswLDAgQEAKLTw/eG1s
IHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Ci08IURPQ1RZUEUgRGVmaW5pdGlvbnMg
U1lTVEVNICJ3aWRscHJvY3htbC5kdGQiPgotPERlZmluaXRpb25zPgotICA8d2ViaWRsPmludGVy
ZmFjZSBEaW1lbnNpb25zIHsKLSAgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgd2lkdGg7Ci0gIGF0
dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGhlaWdodDsKLX07Ci0KLWV4Y2VwdGlvbiBOb1BvaW50ZXJE
ZXZpY2UgeyB9OwotCi1pbnRlcmZhY2UgQnV0dG9uIHsKLQotICBib29sZWFuIGlzTW91c2VPdmVy
KCk7Ci0KLSAgdm9pZCBzZXREaW1lbnNpb25zKDxyZWY+RGltZW5zaW9uczwvcmVmPiBzaXplKTsK
LSAgdm9pZCBzZXREaW1lbnNpb25zKHVuc2lnbmVkIGxvbmcgd2lkdGgsIHVuc2lnbmVkIGxvbmcg
aGVpZ2h0KTsKLX07PC93ZWJpZGw+Ci0gIDxJbnRlcmZhY2UgbmFtZT0iRGltZW5zaW9ucyIgaWQ9
Ijo6RGltZW5zaW9ucyI+Ci0gICAgPHdlYmlkbD5pbnRlcmZhY2UgRGltZW5zaW9ucyB7Ci0gIGF0
dHJpYnV0ZSB1bnNpZ25lZCBsb25nIHdpZHRoOwotICBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBo
ZWlnaHQ7Ci19Ozwvd2ViaWRsPgotICAgIDxBdHRyaWJ1dGUgbmFtZT0id2lkdGgiIGlkPSI6OkRp
bWVuc2lvbnM6OndpZHRoIj4KLSAgICAgIDx3ZWJpZGw+ICBhdHRyaWJ1dGUgdW5zaWduZWQgbG9u
ZyB3aWR0aDs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9InVuc2lnbmVkIGxvbmciLz4KLSAg
ICA8L0F0dHJpYnV0ZT4KLSAgICA8QXR0cmlidXRlIG5hbWU9ImhlaWdodCIgaWQ9Ijo6RGltZW5z
aW9uczo6aGVpZ2h0Ij4KLSAgICAgIDx3ZWJpZGw+ICBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBo
ZWlnaHQ7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJ1bnNpZ25lZCBsb25nIi8+Ci0gICAg
PC9BdHRyaWJ1dGU+Ci0gIDwvSW50ZXJmYWNlPgotICA8RXhjZXB0aW9uIG5hbWU9Ik5vUG9pbnRl
ckRldmljZSIgaWQ9Ijo6Tm9Qb2ludGVyRGV2aWNlIj4KLSAgICA8d2ViaWRsPmV4Y2VwdGlvbiBO
b1BvaW50ZXJEZXZpY2UgeyB9Ozwvd2ViaWRsPgotICA8L0V4Y2VwdGlvbj4KLSAgPEludGVyZmFj
ZSBuYW1lPSJCdXR0b24iIGlkPSI6OkJ1dHRvbiI+Ci0gICAgPHdlYmlkbD5pbnRlcmZhY2UgQnV0
dG9uIHsKLQotICBib29sZWFuIGlzTW91c2VPdmVyKCk7Ci0KLSAgdm9pZCBzZXREaW1lbnNpb25z
KDxyZWY+RGltZW5zaW9uczwvcmVmPiBzaXplKTsKLSAgdm9pZCBzZXREaW1lbnNpb25zKHVuc2ln
bmVkIGxvbmcgd2lkdGgsIHVuc2lnbmVkIGxvbmcgaGVpZ2h0KTsKLX07PC93ZWJpZGw+Ci0gICAg
PE9wZXJhdGlvbiBuYW1lPSJpc01vdXNlT3ZlciIgaWQ9Ijo6QnV0dG9uOjppc01vdXNlT3ZlciI+
Ci0gICAgICA8d2ViaWRsPiAgYm9vbGVhbiBpc01vdXNlT3ZlcigpOzwvd2ViaWRsPgotICAgICAg
PFR5cGUgdHlwZT0iYm9vbGVhbiIvPgotICAgICAgPEFyZ3VtZW50TGlzdC8+Ci0gICAgPC9PcGVy
YXRpb24+Ci0gICAgPE9wZXJhdGlvbiBuYW1lPSJzZXREaW1lbnNpb25zIiBpZD0iOjpCdXR0b246
OnNldERpbWVuc2lvbnMiPgotICAgICAgPHdlYmlkbD4gIHZvaWQgc2V0RGltZW5zaW9ucyg8cmVm
PkRpbWVuc2lvbnM8L3JlZj4gc2l6ZSk7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJ2b2lk
Ii8+Ci0gICAgICA8QXJndW1lbnRMaXN0PgotICAgICAgICA8QXJndW1lbnQgbmFtZT0ic2l6ZSI+
Ci0gICAgICAgICAgPFR5cGUgbmFtZT0iRGltZW5zaW9ucyIvPgotICAgICAgICA8L0FyZ3VtZW50
PgotICAgICAgPC9Bcmd1bWVudExpc3Q+Ci0gICAgPC9PcGVyYXRpb24+Ci0gICAgPE9wZXJhdGlv
biBuYW1lPSJzZXREaW1lbnNpb25zIiBpZD0iOjpCdXR0b246OnNldERpbWVuc2lvbnMiPgotICAg
ICAgPHdlYmlkbD4gIHZvaWQgc2V0RGltZW5zaW9ucyh1bnNpZ25lZCBsb25nIHdpZHRoLCB1bnNp
Z25lZCBsb25nIGhlaWdodCk7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJ2b2lkIi8+Ci0g
ICAgICA8QXJndW1lbnRMaXN0PgotICAgICAgICA8QXJndW1lbnQgbmFtZT0id2lkdGgiPgotICAg
ICAgICAgIDxUeXBlIHR5cGU9InVuc2lnbmVkIGxvbmciLz4KLSAgICAgICAgPC9Bcmd1bWVudD4K
LSAgICAgICAgPEFyZ3VtZW50IG5hbWU9ImhlaWdodCI+Ci0gICAgICAgICAgPFR5cGUgdHlwZT0i
dW5zaWduZWQgbG9uZyIvPgotICAgICAgICA8L0FyZ3VtZW50PgotICAgICAgPC9Bcmd1bWVudExp
c3Q+Ci0gICAgPC9PcGVyYXRpb24+Ci0gIDwvSW50ZXJmYWNlPgotPC9EZWZpbml0aW9ucz4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9yZXBsYWNlYWJsZS53
aWRscHJvY3htbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9yZXBsYWNlYWJs
ZS53aWRscHJvY3htbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjk3NjIxNjY4MjUu
LjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9yZXBs
YWNlYWJsZS53aWRscHJvY3htbAorKysgL2Rldi9udWxsCkBAIC0xLDI4ICswLDAgQEAKLTw/eG1s
IHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Ci08IURPQ1RZUEUgRGVmaW5pdGlvbnMg
U1lTVEVNICJ3aWRscHJvY3htbC5kdGQiPgotPERlZmluaXRpb25zPgotICA8d2ViaWRsPmludGVy
ZmFjZSBDb3VudGVyIHsKLSAgW1JlcGxhY2VhYmxlXSByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWdu
ZWQgbG9uZyB2YWx1ZTsKLSAgdm9pZCBpbmNyZW1lbnQoKTsKLX07PC93ZWJpZGw+Ci0gIDxJbnRl
cmZhY2UgbmFtZT0iQ291bnRlciIgaWQ9Ijo6Q291bnRlciI+Ci0gICAgPHdlYmlkbD5pbnRlcmZh
Y2UgQ291bnRlciB7Ci0gIFtSZXBsYWNlYWJsZV0gcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVk
IGxvbmcgdmFsdWU7Ci0gIHZvaWQgaW5jcmVtZW50KCk7Ci19Ozwvd2ViaWRsPgotICAgIDxBdHRy
aWJ1dGUgcmVhZG9ubHk9InJlYWRvbmx5IiBuYW1lPSJ2YWx1ZSIgaWQ9Ijo6Q291bnRlcjo6dmFs
dWUiPgotICAgICAgPHdlYmlkbD4gIFtSZXBsYWNlYWJsZV0gcmVhZG9ubHkgYXR0cmlidXRlIHVu
c2lnbmVkIGxvbmcgdmFsdWU7PC93ZWJpZGw+Ci0gICAgICA8RXh0ZW5kZWRBdHRyaWJ1dGVMaXN0
PgotICAgICAgICA8RXh0ZW5kZWRBdHRyaWJ1dGUgbmFtZT0iUmVwbGFjZWFibGUiPgotICAgICAg
ICAgIDx3ZWJpZGw+UmVwbGFjZWFibGU8L3dlYmlkbD4KLSAgICAgICAgPC9FeHRlbmRlZEF0dHJp
YnV0ZT4KLSAgICAgIDwvRXh0ZW5kZWRBdHRyaWJ1dGVMaXN0PgotICAgICAgPFR5cGUgdHlwZT0i
dW5zaWduZWQgbG9uZyIvPgotICAgIDwvQXR0cmlidXRlPgotICAgIDxPcGVyYXRpb24gbmFtZT0i
aW5jcmVtZW50IiBpZD0iOjpDb3VudGVyOjppbmNyZW1lbnQiPgotICAgICAgPHdlYmlkbD4gIHZv
aWQgaW5jcmVtZW50KCk7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJ2b2lkIi8+Ci0gICAg
ICA8QXJndW1lbnRMaXN0Lz4KLSAgICA8L09wZXJhdGlvbj4KLSAgPC9JbnRlcmZhY2U+Ci08L0Rl
ZmluaXRpb25zPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1s
L3NlcXVlbmNlLndpZGxwcm9jeG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1s
L3NlcXVlbmNlLndpZGxwcm9jeG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkNWY0
NTY0MTc1Yi4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQv
eG1sL3NlcXVlbmNlLndpZGxwcm9jeG1sCisrKyAvZGV2L251bGwKQEAgLTEsMzIgKzAsMCBAQAot
PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KLTwhRE9DVFlQRSBEZWZpbml0
aW9ucyBTWVNURU0gIndpZGxwcm9jeG1sLmR0ZCI+Ci08RGVmaW5pdGlvbnM+Ci0gIDx3ZWJpZGw+
aW50ZXJmYWNlIENhbnZhcyB7Ci0gIHZvaWQgZHJhd1BvbHlnb24oc2VxdWVuY2UmbHQ7ZmxvYXQ+
IGNvb3JkaW5hdGVzKTsKLSAgc2VxdWVuY2UmbHQ7ZmxvYXQ+IGdldEluZmxlY3Rpb25Qb2ludHMo
KTsKLX07PC93ZWJpZGw+Ci0gIDxJbnRlcmZhY2UgbmFtZT0iQ2FudmFzIiBpZD0iOjpDYW52YXMi
PgotICAgIDx3ZWJpZGw+aW50ZXJmYWNlIENhbnZhcyB7Ci0gIHZvaWQgZHJhd1BvbHlnb24oc2Vx
dWVuY2UmbHQ7ZmxvYXQ+IGNvb3JkaW5hdGVzKTsKLSAgc2VxdWVuY2UmbHQ7ZmxvYXQ+IGdldElu
ZmxlY3Rpb25Qb2ludHMoKTsKLX07PC93ZWJpZGw+Ci0gICAgPE9wZXJhdGlvbiBuYW1lPSJkcmF3
UG9seWdvbiIgaWQ9Ijo6Q2FudmFzOjpkcmF3UG9seWdvbiI+Ci0gICAgICA8d2ViaWRsPiAgdm9p
ZCBkcmF3UG9seWdvbihzZXF1ZW5jZSZsdDtmbG9hdD4gY29vcmRpbmF0ZXMpOzwvd2ViaWRsPgot
ICAgICAgPFR5cGUgdHlwZT0idm9pZCIvPgotICAgICAgPEFyZ3VtZW50TGlzdD4KLSAgICAgICAg
PEFyZ3VtZW50IG5hbWU9ImNvb3JkaW5hdGVzIj4KLSAgICAgICAgICA8VHlwZSB0eXBlPSJzZXF1
ZW5jZSI+Ci0gICAgICAgICAgICA8VHlwZSB0eXBlPSJmbG9hdCIvPgotICAgICAgICAgIDwvVHlw
ZT4KLSAgICAgICAgPC9Bcmd1bWVudD4KLSAgICAgIDwvQXJndW1lbnRMaXN0PgotICAgIDwvT3Bl
cmF0aW9uPgotICAgIDxPcGVyYXRpb24gbmFtZT0iZ2V0SW5mbGVjdGlvblBvaW50cyIgaWQ9Ijo6
Q2FudmFzOjpnZXRJbmZsZWN0aW9uUG9pbnRzIj4KLSAgICAgIDx3ZWJpZGw+ICBzZXF1ZW5jZSZs
dDtmbG9hdD4gZ2V0SW5mbGVjdGlvblBvaW50cygpOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlw
ZT0ic2VxdWVuY2UiPgotICAgICAgICA8VHlwZSB0eXBlPSJmbG9hdCIvPgotICAgICAgPC9UeXBl
PgotICAgICAgPEFyZ3VtZW50TGlzdC8+Ci0gICAgPC9PcGVyYXRpb24+Ci0gIDwvSW50ZXJmYWNl
PgotPC9EZWZpbml0aW9ucz4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3Zh
bGlkL3htbC9zZXJpYWxpemVyLndpZGxwcm9jeG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3Qv
dmFsaWQveG1sL3NlcmlhbGl6ZXIud2lkbHByb2N4bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IGViNDIxOWY4YTVlLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mv
dGVzdC92YWxpZC94bWwvc2VyaWFsaXplci53aWRscHJvY3htbAorKysgL2Rldi9udWxsCkBAIC0x
LDI5NiArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgotPCFE
T0NUWVBFIERlZmluaXRpb25zIFNZU1RFTSAid2lkbHByb2N4bWwuZHRkIj4KLTxEZWZpbml0aW9u
cz4KLSAgPHdlYmlkbD5pbnRlcmZhY2UgVHJhbnNhY3Rpb24gewotICByZWFkb25seSBhdHRyaWJ1
dGUgPHJlZj5BY2NvdW50PC9yZWY+IGZyb207Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSA8cmVmPkFj
Y291bnQ8L3JlZj4gdG87Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSBmbG9hdCBhbW91bnQ7Ci0gIHJl
YWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgZGVzY3JpcHRpb247Ci0gIHJlYWRvbmx5IGF0dHJp
YnV0ZSB1bnNpZ25lZCBsb25nIG51bWJlcjsKLQotICBzZXJpYWxpemVyOwotfTsKLQotaW50ZXJm
YWNlIEFjY291bnQgewotICBhdHRyaWJ1dGUgRE9NU3RyaW5nIG5hbWU7Ci0gIGF0dHJpYnV0ZSB1
bnNpZ25lZCBsb25nIG51bWJlcjsKLSAgc2VyaWFsaXplciBET01TdHJpbmcgc2VyaWFsaXplKCk7
Ci19OwotCi1pbnRlcmZhY2UgVHJhbnNhY3Rpb24yIHsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIDxy
ZWY+QWNjb3VudDI8L3JlZj4gZnJvbTsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIDxyZWY+QWNjb3Vu
dDI8L3JlZj4gdG87Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSBmbG9hdCBhbW91bnQ7Ci0gIHJlYWRv
bmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgZGVzY3JpcHRpb247Ci0gIHJlYWRvbmx5IGF0dHJpYnV0
ZSB1bnNpZ25lZCBsb25nIG51bWJlcjsKLQotICBzZXJpYWxpemVyID0geyBmcm9tLCB0bywgYW1v
dW50LCBkZXNjcmlwdGlvbiB9OwotfTsKLQotaW50ZXJmYWNlIEFjY291bnQyIHsKLSAgYXR0cmli
dXRlIERPTVN0cmluZyBuYW1lOwotICBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBudW1iZXI7Ci0g
IHNlcmlhbGl6ZXIgPSBudW1iZXI7Ci19OwotCi1pbnRlcmZhY2UgQWNjb3VudDMgewotICBhdHRy
aWJ1dGUgRE9NU3RyaW5nIG5hbWU7Ci0gIGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIG51bWJlcjsK
LQotICBzZXJpYWxpemVyID0geyBhdHRyaWJ1dGUgfTsKLX07Ci0KLWludGVyZmFjZSBBY2NvdW50
NCB7Ci0gIGdldHRlciBvYmplY3QgZ2V0SXRlbSh1bnNpZ25lZCBsb25nIGluZGV4KTsKLSAgc2Vy
aWFsaXplciA9IHsgZ2V0dGVyIH07Ci19OwotCi1pbnRlcmZhY2UgQWNjb3VudDUgOiA8cmVmPkFj
Y291bnQ8L3JlZj4gewotICBhdHRyaWJ1dGUgRE9NU3RyaW5nIHNlY29uZG5hbWU7Ci0gIHNlcmlh
bGl6ZXIgPSB7IGluaGVyaXQsIHNlY29uZG5hbWUgfTsKLX07Ci0KLWludGVyZmFjZSBBY2NvdW50
NiA6IDxyZWY+QWNjb3VudDwvcmVmPiB7Ci0gIGF0dHJpYnV0ZSBET01TdHJpbmcgc2Vjb25kbmFt
ZTsKLSAgc2VyaWFsaXplciA9IHsgaW5oZXJpdCwgYXR0cmlidXRlIH07Ci19OwotCi1pbnRlcmZh
Y2UgQWNjb3VudDcgewotICBhdHRyaWJ1dGUgRE9NU3RyaW5nIG5hbWU7Ci0gIGF0dHJpYnV0ZSB1
bnNpZ25lZCBsb25nIG51bWJlcjsKLSAgc2VyaWFsaXplciA9IFsgbmFtZSwgbnVtYmVyIF07Ci19
OwotCi1pbnRlcmZhY2UgQWNjb3VudDggewotICBnZXR0ZXIgb2JqZWN0IGdldEl0ZW0odW5zaWdu
ZWQgbG9uZyBpbmRleCk7Ci0gIHNlcmlhbGl6ZXIgPSBbIGdldHRlciBdOwotfTs8L3dlYmlkbD4K
LSAgPEludGVyZmFjZSBuYW1lPSJUcmFuc2FjdGlvbiIgaWQ9Ijo6VHJhbnNhY3Rpb24iPgotICAg
IDx3ZWJpZGw+aW50ZXJmYWNlIFRyYW5zYWN0aW9uIHsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIDxy
ZWY+QWNjb3VudDwvcmVmPiBmcm9tOwotICByZWFkb25seSBhdHRyaWJ1dGUgPHJlZj5BY2NvdW50
PC9yZWY+IHRvOwotICByZWFkb25seSBhdHRyaWJ1dGUgZmxvYXQgYW1vdW50OwotICByZWFkb25s
eSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGRlc2NyaXB0aW9uOwotICByZWFkb25seSBhdHRyaWJ1dGUg
dW5zaWduZWQgbG9uZyBudW1iZXI7Ci0KLSAgc2VyaWFsaXplcjsKLX07PC93ZWJpZGw+Ci0gICAg
PEF0dHJpYnV0ZSByZWFkb25seT0icmVhZG9ubHkiIG5hbWU9ImZyb20iIGlkPSI6OlRyYW5zYWN0
aW9uOjpmcm9tIj4KLSAgICAgIDx3ZWJpZGw+ICByZWFkb25seSBhdHRyaWJ1dGUgPHJlZj5BY2Nv
dW50PC9yZWY+IGZyb207PC93ZWJpZGw+Ci0gICAgICA8VHlwZSBuYW1lPSJBY2NvdW50Ii8+Ci0g
ICAgPC9BdHRyaWJ1dGU+Ci0gICAgPEF0dHJpYnV0ZSByZWFkb25seT0icmVhZG9ubHkiIG5hbWU9
InRvIiBpZD0iOjpUcmFuc2FjdGlvbjo6dG8iPgotICAgICAgPHdlYmlkbD4gIHJlYWRvbmx5IGF0
dHJpYnV0ZSA8cmVmPkFjY291bnQ8L3JlZj4gdG87PC93ZWJpZGw+Ci0gICAgICA8VHlwZSBuYW1l
PSJBY2NvdW50Ii8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gICAgPEF0dHJpYnV0ZSByZWFkb25seT0i
cmVhZG9ubHkiIG5hbWU9ImFtb3VudCIgaWQ9Ijo6VHJhbnNhY3Rpb246OmFtb3VudCI+Ci0gICAg
ICA8d2ViaWRsPiAgcmVhZG9ubHkgYXR0cmlidXRlIGZsb2F0IGFtb3VudDs8L3dlYmlkbD4KLSAg
ICAgIDxUeXBlIHR5cGU9ImZsb2F0Ii8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gICAgPEF0dHJpYnV0
ZSByZWFkb25seT0icmVhZG9ubHkiIG5hbWU9ImRlc2NyaXB0aW9uIiBpZD0iOjpUcmFuc2FjdGlv
bjo6ZGVzY3JpcHRpb24iPgotICAgICAgPHdlYmlkbD4gIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01T
dHJpbmcgZGVzY3JpcHRpb247PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJET01TdHJpbmci
Lz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAgICA8QXR0cmlidXRlIHJlYWRvbmx5PSJyZWFkb25seSIg
bmFtZT0ibnVtYmVyIiBpZD0iOjpUcmFuc2FjdGlvbjo6bnVtYmVyIj4KLSAgICAgIDx3ZWJpZGw+
ICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBudW1iZXI7PC93ZWJpZGw+Ci0gICAg
ICA8VHlwZSB0eXBlPSJ1bnNpZ25lZCBsb25nIi8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gICAgPFNl
cmlhbGl6ZXI+Ci0gICAgICA8d2ViaWRsPiAgc2VyaWFsaXplcjs8L3dlYmlkbD4KLSAgICA8L1Nl
cmlhbGl6ZXI+Ci0gIDwvSW50ZXJmYWNlPgotICA8SW50ZXJmYWNlIG5hbWU9IkFjY291bnQiIGlk
PSI6OkFjY291bnQiPgotICAgIDx3ZWJpZGw+aW50ZXJmYWNlIEFjY291bnQgewotICBhdHRyaWJ1
dGUgRE9NU3RyaW5nIG5hbWU7Ci0gIGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIG51bWJlcjsKLSAg
c2VyaWFsaXplciBET01TdHJpbmcgc2VyaWFsaXplKCk7Ci19Ozwvd2ViaWRsPgotICAgIDxBdHRy
aWJ1dGUgbmFtZT0ibmFtZSIgaWQ9Ijo6QWNjb3VudDo6bmFtZSI+Ci0gICAgICA8d2ViaWRsPiAg
YXR0cmlidXRlIERPTVN0cmluZyBuYW1lOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0iRE9N
U3RyaW5nIi8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gICAgPEF0dHJpYnV0ZSBuYW1lPSJudW1iZXIi
IGlkPSI6OkFjY291bnQ6Om51bWJlciI+Ci0gICAgICA8d2ViaWRsPiAgYXR0cmlidXRlIHVuc2ln
bmVkIGxvbmcgbnVtYmVyOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0idW5zaWduZWQgbG9u
ZyIvPgotICAgIDwvQXR0cmlidXRlPgotICAgIDxPcGVyYXRpb24gc2VyaWFsaXplcj0ic2VyaWFs
aXplciIgbmFtZT0ic2VyaWFsaXplIiBpZD0iOjpBY2NvdW50OjpzZXJpYWxpemUiPgotICAgICAg
PHdlYmlkbD4gIHNlcmlhbGl6ZXIgRE9NU3RyaW5nIHNlcmlhbGl6ZSgpOzwvd2ViaWRsPgotICAg
ICAgPFR5cGUgdHlwZT0iRE9NU3RyaW5nIi8+Ci0gICAgICA8QXJndW1lbnRMaXN0Lz4KLSAgICA8
L09wZXJhdGlvbj4KLSAgPC9JbnRlcmZhY2U+Ci0gIDxJbnRlcmZhY2UgbmFtZT0iVHJhbnNhY3Rp
b24yIiBpZD0iOjpUcmFuc2FjdGlvbjIiPgotICAgIDx3ZWJpZGw+aW50ZXJmYWNlIFRyYW5zYWN0
aW9uMiB7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSA8cmVmPkFjY291bnQyPC9yZWY+IGZyb207Ci0g
IHJlYWRvbmx5IGF0dHJpYnV0ZSA8cmVmPkFjY291bnQyPC9yZWY+IHRvOwotICByZWFkb25seSBh
dHRyaWJ1dGUgZmxvYXQgYW1vdW50OwotICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGRl
c2NyaXB0aW9uOwotICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBudW1iZXI7Ci0K
LSAgc2VyaWFsaXplciA9IHsgZnJvbSwgdG8sIGFtb3VudCwgZGVzY3JpcHRpb24gfTsKLX07PC93
ZWJpZGw+Ci0gICAgPEF0dHJpYnV0ZSByZWFkb25seT0icmVhZG9ubHkiIG5hbWU9ImZyb20iIGlk
PSI6OlRyYW5zYWN0aW9uMjo6ZnJvbSI+Ci0gICAgICA8d2ViaWRsPiAgcmVhZG9ubHkgYXR0cmli
dXRlIDxyZWY+QWNjb3VudDI8L3JlZj4gZnJvbTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIG5hbWU9
IkFjY291bnQyIi8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gICAgPEF0dHJpYnV0ZSByZWFkb25seT0i
cmVhZG9ubHkiIG5hbWU9InRvIiBpZD0iOjpUcmFuc2FjdGlvbjI6OnRvIj4KLSAgICAgIDx3ZWJp
ZGw+ICByZWFkb25seSBhdHRyaWJ1dGUgPHJlZj5BY2NvdW50MjwvcmVmPiB0bzs8L3dlYmlkbD4K
LSAgICAgIDxUeXBlIG5hbWU9IkFjY291bnQyIi8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gICAgPEF0
dHJpYnV0ZSByZWFkb25seT0icmVhZG9ubHkiIG5hbWU9ImFtb3VudCIgaWQ9Ijo6VHJhbnNhY3Rp
b24yOjphbW91bnQiPgotICAgICAgPHdlYmlkbD4gIHJlYWRvbmx5IGF0dHJpYnV0ZSBmbG9hdCBh
bW91bnQ7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJmbG9hdCIvPgotICAgIDwvQXR0cmli
dXRlPgotICAgIDxBdHRyaWJ1dGUgcmVhZG9ubHk9InJlYWRvbmx5IiBuYW1lPSJkZXNjcmlwdGlv
biIgaWQ9Ijo6VHJhbnNhY3Rpb24yOjpkZXNjcmlwdGlvbiI+Ci0gICAgICA8d2ViaWRsPiAgcmVh
ZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBkZXNjcmlwdGlvbjs8L3dlYmlkbD4KLSAgICAgIDxU
eXBlIHR5cGU9IkRPTVN0cmluZyIvPgotICAgIDwvQXR0cmlidXRlPgotICAgIDxBdHRyaWJ1dGUg
cmVhZG9ubHk9InJlYWRvbmx5IiBuYW1lPSJudW1iZXIiIGlkPSI6OlRyYW5zYWN0aW9uMjo6bnVt
YmVyIj4KLSAgICAgIDx3ZWJpZGw+ICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBu
dW1iZXI7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJ1bnNpZ25lZCBsb25nIi8+Ci0gICAg
PC9BdHRyaWJ1dGU+Ci0gICAgPFNlcmlhbGl6ZXI+Ci0gICAgICA8d2ViaWRsPiAgc2VyaWFsaXpl
ciA9IHsgZnJvbSwgdG8sIGFtb3VudCwgZGVzY3JpcHRpb24gfTs8L3dlYmlkbD4KLSAgICAgIDxN
YXAgcGF0dGVybj0ic2VsZWN0aW9uIj4KLSAgICAgICAgPFBhdHRlcm5BdHRyaWJ1dGUgbmFtZT0i
ZnJvbSIvPgotICAgICAgICA8UGF0dGVybkF0dHJpYnV0ZSBuYW1lPSJ0byIvPgotICAgICAgICA8
UGF0dGVybkF0dHJpYnV0ZSBuYW1lPSJhbW91bnQiLz4KLSAgICAgICAgPFBhdHRlcm5BdHRyaWJ1
dGUgbmFtZT0iZGVzY3JpcHRpb24iLz4KLSAgICAgIDwvTWFwPgotICAgIDwvU2VyaWFsaXplcj4K
LSAgPC9JbnRlcmZhY2U+Ci0gIDxJbnRlcmZhY2UgbmFtZT0iQWNjb3VudDIiIGlkPSI6OkFjY291
bnQyIj4KLSAgICA8d2ViaWRsPmludGVyZmFjZSBBY2NvdW50MiB7Ci0gIGF0dHJpYnV0ZSBET01T
dHJpbmcgbmFtZTsKLSAgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbnVtYmVyOwotICBzZXJpYWxp
emVyID0gbnVtYmVyOwotfTs8L3dlYmlkbD4KLSAgICA8QXR0cmlidXRlIG5hbWU9Im5hbWUiIGlk
PSI6OkFjY291bnQyOjpuYW1lIj4KLSAgICAgIDx3ZWJpZGw+ICBhdHRyaWJ1dGUgRE9NU3RyaW5n
IG5hbWU7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJET01TdHJpbmciLz4KLSAgICA8L0F0
dHJpYnV0ZT4KLSAgICA8QXR0cmlidXRlIG5hbWU9Im51bWJlciIgaWQ9Ijo6QWNjb3VudDI6Om51
bWJlciI+Ci0gICAgICA8d2ViaWRsPiAgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbnVtYmVyOzwv
d2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0idW5zaWduZWQgbG9uZyIvPgotICAgIDwvQXR0cmli
dXRlPgotICAgIDxTZXJpYWxpemVyIGF0dHJpYnV0ZT0ibnVtYmVyIj4KLSAgICAgIDx3ZWJpZGw+
ICBzZXJpYWxpemVyID0gbnVtYmVyOzwvd2ViaWRsPgotICAgIDwvU2VyaWFsaXplcj4KLSAgPC9J
bnRlcmZhY2U+Ci0gIDxJbnRlcmZhY2UgbmFtZT0iQWNjb3VudDMiIGlkPSI6OkFjY291bnQzIj4K
LSAgICA8d2ViaWRsPmludGVyZmFjZSBBY2NvdW50MyB7Ci0gIGF0dHJpYnV0ZSBET01TdHJpbmcg
bmFtZTsKLSAgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbnVtYmVyOwotCi0gIHNlcmlhbGl6ZXIg
PSB7IGF0dHJpYnV0ZSB9OwotfTs8L3dlYmlkbD4KLSAgICA8QXR0cmlidXRlIG5hbWU9Im5hbWUi
IGlkPSI6OkFjY291bnQzOjpuYW1lIj4KLSAgICAgIDx3ZWJpZGw+ICBhdHRyaWJ1dGUgRE9NU3Ry
aW5nIG5hbWU7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJET01TdHJpbmciLz4KLSAgICA8
L0F0dHJpYnV0ZT4KLSAgICA8QXR0cmlidXRlIG5hbWU9Im51bWJlciIgaWQ9Ijo6QWNjb3VudDM6
Om51bWJlciI+Ci0gICAgICA8d2ViaWRsPiAgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbnVtYmVy
Ozwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0idW5zaWduZWQgbG9uZyIvPgotICAgIDwvQXR0
cmlidXRlPgotICAgIDxTZXJpYWxpemVyPgotICAgICAgPHdlYmlkbD4gIHNlcmlhbGl6ZXIgPSB7
IGF0dHJpYnV0ZSB9Ozwvd2ViaWRsPgotICAgICAgPE1hcCBwYXR0ZXJuPSJhbGwiLz4KLSAgICA8
L1NlcmlhbGl6ZXI+Ci0gIDwvSW50ZXJmYWNlPgotICA8SW50ZXJmYWNlIG5hbWU9IkFjY291bnQ0
IiBpZD0iOjpBY2NvdW50NCI+Ci0gICAgPHdlYmlkbD5pbnRlcmZhY2UgQWNjb3VudDQgewotICBn
ZXR0ZXIgb2JqZWN0IGdldEl0ZW0odW5zaWduZWQgbG9uZyBpbmRleCk7Ci0gIHNlcmlhbGl6ZXIg
PSB7IGdldHRlciB9OwotfTs8L3dlYmlkbD4KLSAgICA8T3BlcmF0aW9uIGdldHRlcj0iZ2V0dGVy
IiBuYW1lPSJnZXRJdGVtIiBpZD0iOjpBY2NvdW50NDo6Z2V0SXRlbSI+Ci0gICAgICA8d2ViaWRs
PiAgZ2V0dGVyIG9iamVjdCBnZXRJdGVtKHVuc2lnbmVkIGxvbmcgaW5kZXgpOzwvd2ViaWRsPgot
ICAgICAgPFR5cGUgdHlwZT0ib2JqZWN0Ii8+Ci0gICAgICA8QXJndW1lbnRMaXN0PgotICAgICAg
ICA8QXJndW1lbnQgbmFtZT0iaW5kZXgiPgotICAgICAgICAgIDxUeXBlIHR5cGU9InVuc2lnbmVk
IGxvbmciLz4KLSAgICAgICAgPC9Bcmd1bWVudD4KLSAgICAgIDwvQXJndW1lbnRMaXN0PgotICAg
IDwvT3BlcmF0aW9uPgotICAgIDxTZXJpYWxpemVyPgotICAgICAgPHdlYmlkbD4gIHNlcmlhbGl6
ZXIgPSB7IGdldHRlciB9Ozwvd2ViaWRsPgotICAgICAgPE1hcCBwYXR0ZXJuPSJnZXR0ZXIiLz4K
LSAgICA8L1NlcmlhbGl6ZXI+Ci0gIDwvSW50ZXJmYWNlPgotICA8SW50ZXJmYWNlIG5hbWU9IkFj
Y291bnQ1IiBpZD0iOjpBY2NvdW50NSI+Ci0gICAgPHdlYmlkbD5pbnRlcmZhY2UgQWNjb3VudDUg
OiA8cmVmPkFjY291bnQ8L3JlZj4gewotICBhdHRyaWJ1dGUgRE9NU3RyaW5nIHNlY29uZG5hbWU7
Ci0gIHNlcmlhbGl6ZXIgPSB7IGluaGVyaXQsIHNlY29uZG5hbWUgfTsKLX07PC93ZWJpZGw+Ci0g
ICAgPEludGVyZmFjZUluaGVyaXRhbmNlPgotICAgICAgPE5hbWUgbmFtZT0iQWNjb3VudCIvPgot
ICAgIDwvSW50ZXJmYWNlSW5oZXJpdGFuY2U+Ci0gICAgPEF0dHJpYnV0ZSBuYW1lPSJzZWNvbmRu
YW1lIiBpZD0iOjpBY2NvdW50NTo6c2Vjb25kbmFtZSI+Ci0gICAgICA8d2ViaWRsPiAgYXR0cmli
dXRlIERPTVN0cmluZyBzZWNvbmRuYW1lOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0iRE9N
U3RyaW5nIi8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gICAgPFNlcmlhbGl6ZXI+Ci0gICAgICA8d2Vi
aWRsPiAgc2VyaWFsaXplciA9IHsgaW5oZXJpdCwgc2Vjb25kbmFtZSB9Ozwvd2ViaWRsPgotICAg
ICAgPE1hcCBpbmhlcml0PSJpbmhlcml0IiBwYXR0ZXJuPSJzZWxlY3Rpb24iPgotICAgICAgICA8
UGF0dGVybkF0dHJpYnV0ZSBuYW1lPSJzZWNvbmRuYW1lIi8+Ci0gICAgICA8L01hcD4KLSAgICA8
L1NlcmlhbGl6ZXI+Ci0gIDwvSW50ZXJmYWNlPgotICA8SW50ZXJmYWNlIG5hbWU9IkFjY291bnQ2
IiBpZD0iOjpBY2NvdW50NiI+Ci0gICAgPHdlYmlkbD5pbnRlcmZhY2UgQWNjb3VudDYgOiA8cmVm
PkFjY291bnQ8L3JlZj4gewotICBhdHRyaWJ1dGUgRE9NU3RyaW5nIHNlY29uZG5hbWU7Ci0gIHNl
cmlhbGl6ZXIgPSB7IGluaGVyaXQsIGF0dHJpYnV0ZSB9OwotfTs8L3dlYmlkbD4KLSAgICA8SW50
ZXJmYWNlSW5oZXJpdGFuY2U+Ci0gICAgICA8TmFtZSBuYW1lPSJBY2NvdW50Ii8+Ci0gICAgPC9J
bnRlcmZhY2VJbmhlcml0YW5jZT4KLSAgICA8QXR0cmlidXRlIG5hbWU9InNlY29uZG5hbWUiIGlk
PSI6OkFjY291bnQ2OjpzZWNvbmRuYW1lIj4KLSAgICAgIDx3ZWJpZGw+ICBhdHRyaWJ1dGUgRE9N
U3RyaW5nIHNlY29uZG5hbWU7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJET01TdHJpbmci
Lz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAgICA8U2VyaWFsaXplcj4KLSAgICAgIDx3ZWJpZGw+ICBz
ZXJpYWxpemVyID0geyBpbmhlcml0LCBhdHRyaWJ1dGUgfTs8L3dlYmlkbD4KLSAgICAgIDxNYXAg
aW5oZXJpdD0iaW5oZXJpdCIgcGF0dGVybj0iYWxsIi8+Ci0gICAgPC9TZXJpYWxpemVyPgotICA8
L0ludGVyZmFjZT4KLSAgPEludGVyZmFjZSBuYW1lPSJBY2NvdW50NyIgaWQ9Ijo6QWNjb3VudDci
PgotICAgIDx3ZWJpZGw+aW50ZXJmYWNlIEFjY291bnQ3IHsKLSAgYXR0cmlidXRlIERPTVN0cmlu
ZyBuYW1lOwotICBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBudW1iZXI7Ci0gIHNlcmlhbGl6ZXIg
PSBbIG5hbWUsIG51bWJlciBdOwotfTs8L3dlYmlkbD4KLSAgICA8QXR0cmlidXRlIG5hbWU9Im5h
bWUiIGlkPSI6OkFjY291bnQ3OjpuYW1lIj4KLSAgICAgIDx3ZWJpZGw+ICBhdHRyaWJ1dGUgRE9N
U3RyaW5nIG5hbWU7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJET01TdHJpbmciLz4KLSAg
ICA8L0F0dHJpYnV0ZT4KLSAgICA8QXR0cmlidXRlIG5hbWU9Im51bWJlciIgaWQ9Ijo6QWNjb3Vu
dDc6Om51bWJlciI+Ci0gICAgICA8d2ViaWRsPiAgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbnVt
YmVyOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0idW5zaWduZWQgbG9uZyIvPgotICAgIDwv
QXR0cmlidXRlPgotICAgIDxTZXJpYWxpemVyPgotICAgICAgPHdlYmlkbD4gIHNlcmlhbGl6ZXIg
PSBbIG5hbWUsIG51bWJlciBdOzwvd2ViaWRsPgotICAgICAgPExpc3QgcGF0dGVybj0ic2VsZWN0
aW9uIj4KLSAgICAgICAgPFBhdHRlcm5BdHRyaWJ1dGUgbmFtZT0ibmFtZSIvPgotICAgICAgICA8
UGF0dGVybkF0dHJpYnV0ZSBuYW1lPSJudW1iZXIiLz4KLSAgICAgIDwvTGlzdD4KLSAgICA8L1Nl
cmlhbGl6ZXI+Ci0gIDwvSW50ZXJmYWNlPgotICA8SW50ZXJmYWNlIG5hbWU9IkFjY291bnQ4IiBp
ZD0iOjpBY2NvdW50OCI+Ci0gICAgPHdlYmlkbD5pbnRlcmZhY2UgQWNjb3VudDggewotICBnZXR0
ZXIgb2JqZWN0IGdldEl0ZW0odW5zaWduZWQgbG9uZyBpbmRleCk7Ci0gIHNlcmlhbGl6ZXIgPSBb
IGdldHRlciBdOwotfTs8L3dlYmlkbD4KLSAgICA8T3BlcmF0aW9uIGdldHRlcj0iZ2V0dGVyIiBu
YW1lPSJnZXRJdGVtIiBpZD0iOjpBY2NvdW50ODo6Z2V0SXRlbSI+Ci0gICAgICA8d2ViaWRsPiAg
Z2V0dGVyIG9iamVjdCBnZXRJdGVtKHVuc2lnbmVkIGxvbmcgaW5kZXgpOzwvd2ViaWRsPgotICAg
ICAgPFR5cGUgdHlwZT0ib2JqZWN0Ii8+Ci0gICAgICA8QXJndW1lbnRMaXN0PgotICAgICAgICA8
QXJndW1lbnQgbmFtZT0iaW5kZXgiPgotICAgICAgICAgIDxUeXBlIHR5cGU9InVuc2lnbmVkIGxv
bmciLz4KLSAgICAgICAgPC9Bcmd1bWVudD4KLSAgICAgIDwvQXJndW1lbnRMaXN0PgotICAgIDwv
T3BlcmF0aW9uPgotICAgIDxTZXJpYWxpemVyPgotICAgICAgPHdlYmlkbD4gIHNlcmlhbGl6ZXIg
PSBbIGdldHRlciBdOzwvd2ViaWRsPgotICAgICAgPExpc3QgcGF0dGVybj0iZ2V0dGVyIi8+Ci0g
ICAgPC9TZXJpYWxpemVyPgotICA8L0ludGVyZmFjZT4KLTwvRGVmaW5pdGlvbnM+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvc3BlY2lhbC1vbWl0dGFibGUu
d2lkbHByb2N4bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvc3BlY2lhbC1v
bWl0dGFibGUud2lkbHByb2N4bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDE5ODZk
MTkwYTgwLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94
bWwvc3BlY2lhbC1vbWl0dGFibGUud2lkbHByb2N4bWwKKysrIC9kZXYvbnVsbApAQCAtMSwzNyAr
MCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgotPCFET0NUWVBF
IERlZmluaXRpb25zIFNZU1RFTSAid2lkbHByb2N4bWwuZHRkIj4KLTxEZWZpbml0aW9ucz4KLSAg
PEludGVyZmFjZSBuYW1lPSJEaWN0aW9uYXJ5IiBpZD0iOjpEaWN0aW9uYXJ5Ij4KLSAgICA8d2Vi
aWRsPmludGVyZmFjZSBEaWN0aW9uYXJ5IHsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVk
IGxvbmcgcHJvcGVydHlDb3VudDsKLQotICBvbWl0dGFibGUgZ2V0dGVyIGZsb2F0IGdldFByb3Bl
cnR5KERPTVN0cmluZyBwcm9wZXJ0eU5hbWUpOwotICBvbWl0dGFibGUgc2V0dGVyIHZvaWQgc2V0
UHJvcGVydHkoRE9NU3RyaW5nIHByb3BlcnR5TmFtZSwgZmxvYXQgcHJvcGVydHlWYWx1ZSk7Ci19
Ozwvd2ViaWRsPgotICAgIDxBdHRyaWJ1dGUgcmVhZG9ubHk9InJlYWRvbmx5IiBuYW1lPSJwcm9w
ZXJ0eUNvdW50IiBpZD0iOjpEaWN0aW9uYXJ5Ojpwcm9wZXJ0eUNvdW50Ij4KLSAgICAgIDx3ZWJp
ZGw+ICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBwcm9wZXJ0eUNvdW50Ozwvd2Vi
aWRsPgotICAgICAgPFR5cGUgdHlwZT0idW5zaWduZWQgbG9uZyIvPgotICAgIDwvQXR0cmlidXRl
PgotICAgIDxPcGVyYXRpb24gb21pdHRhYmxlPSJvbWl0dGFibGUiIGdldHRlcj0iZ2V0dGVyIiBu
YW1lPSJnZXRQcm9wZXJ0eSIgaWQ9Ijo6RGljdGlvbmFyeTo6Z2V0UHJvcGVydHkiPgotICAgICAg
PHdlYmlkbD4gIG9taXR0YWJsZSBnZXR0ZXIgZmxvYXQgZ2V0UHJvcGVydHkoRE9NU3RyaW5nIHBy
b3BlcnR5TmFtZSk7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJmbG9hdCIvPgotICAgICAg
PEFyZ3VtZW50TGlzdD4KLSAgICAgICAgPEFyZ3VtZW50IG5hbWU9InByb3BlcnR5TmFtZSI+Ci0g
ICAgICAgICAgPFR5cGUgdHlwZT0iRE9NU3RyaW5nIi8+Ci0gICAgICAgIDwvQXJndW1lbnQ+Ci0g
ICAgICA8L0FyZ3VtZW50TGlzdD4KLSAgICA8L09wZXJhdGlvbj4KLSAgICA8T3BlcmF0aW9uIG9t
aXR0YWJsZT0ib21pdHRhYmxlIiBzZXR0ZXI9InNldHRlciIgbmFtZT0ic2V0UHJvcGVydHkiIGlk
PSI6OkRpY3Rpb25hcnk6OnNldFByb3BlcnR5Ij4KLSAgICAgIDx3ZWJpZGw+ICBvbWl0dGFibGUg
c2V0dGVyIHZvaWQgc2V0UHJvcGVydHkoRE9NU3RyaW5nIHByb3BlcnR5TmFtZSwgZmxvYXQgcHJv
cGVydHlWYWx1ZSk7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJ2b2lkIi8+Ci0gICAgICA8
QXJndW1lbnRMaXN0PgotICAgICAgICA8QXJndW1lbnQgbmFtZT0icHJvcGVydHlOYW1lIj4KLSAg
ICAgICAgICA8VHlwZSB0eXBlPSJET01TdHJpbmciLz4KLSAgICAgICAgPC9Bcmd1bWVudD4KLSAg
ICAgICAgPEFyZ3VtZW50IG5hbWU9InByb3BlcnR5VmFsdWUiPgotICAgICAgICAgIDxUeXBlIHR5
cGU9ImZsb2F0Ii8+Ci0gICAgICAgIDwvQXJndW1lbnQ+Ci0gICAgICA8L0FyZ3VtZW50TGlzdD4K
LSAgICA8L09wZXJhdGlvbj4KLSAgPC9JbnRlcmZhY2U+Ci08L0RlZmluaXRpb25zPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL3N0YXRpYy53aWRscHJvY3ht
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9zdGF0aWMud2lkbHByb2N4bWwK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAzYzE0ZTE2ZWJhLi4wMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvc3RhdGljLndpZGxwcm9jeG1s
CisrKyAvZGV2L251bGwKQEAgLTEsNTggKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNv
ZGluZz0iVVRGLTgiPz4KLTwhRE9DVFlQRSBEZWZpbml0aW9ucyBTWVNURU0gIndpZGxwcm9jeG1s
LmR0ZCI+Ci08RGVmaW5pdGlvbnM+Ci0gIDx3ZWJpZGw+aW50ZXJmYWNlIFBvaW50IHsgIH07Ci0K
LWludGVyZmFjZSBDaXJjbGUgewotICBhdHRyaWJ1dGUgZmxvYXQgY3g7Ci0gIGF0dHJpYnV0ZSBm
bG9hdCBjeTsKLSAgYXR0cmlidXRlIGZsb2F0IHJhZGl1czsKLQotICBzdGF0aWMgcmVhZG9ubHkg
YXR0cmlidXRlIGxvbmcgdHJpYW5ndWxhdGlvbkNvdW50OwotICBzdGF0aWMgPHJlZj5Qb2ludDwv
cmVmPiB0cmlhbmd1bGF0ZSg8cmVmPkNpcmNsZTwvcmVmPiBjMSwgPHJlZj5DaXJjbGU8L3JlZj4g
YzIsIDxyZWY+Q2lyY2xlPC9yZWY+IGMzKTsKLX07PC93ZWJpZGw+Ci0gIDxJbnRlcmZhY2UgbmFt
ZT0iUG9pbnQiIGlkPSI6OlBvaW50Ij4KLSAgICA8d2ViaWRsPmludGVyZmFjZSBQb2ludCB7ICB9
Ozwvd2ViaWRsPgotICA8L0ludGVyZmFjZT4KLSAgPEludGVyZmFjZSBuYW1lPSJDaXJjbGUiIGlk
PSI6OkNpcmNsZSI+Ci0gICAgPHdlYmlkbD5pbnRlcmZhY2UgQ2lyY2xlIHsKLSAgYXR0cmlidXRl
IGZsb2F0IGN4OwotICBhdHRyaWJ1dGUgZmxvYXQgY3k7Ci0gIGF0dHJpYnV0ZSBmbG9hdCByYWRp
dXM7Ci0KLSAgc3RhdGljIHJlYWRvbmx5IGF0dHJpYnV0ZSBsb25nIHRyaWFuZ3VsYXRpb25Db3Vu
dDsKLSAgc3RhdGljIDxyZWY+UG9pbnQ8L3JlZj4gdHJpYW5ndWxhdGUoPHJlZj5DaXJjbGU8L3Jl
Zj4gYzEsIDxyZWY+Q2lyY2xlPC9yZWY+IGMyLCA8cmVmPkNpcmNsZTwvcmVmPiBjMyk7Ci19Ozwv
d2ViaWRsPgotICAgIDxBdHRyaWJ1dGUgbmFtZT0iY3giIGlkPSI6OkNpcmNsZTo6Y3giPgotICAg
ICAgPHdlYmlkbD4gIGF0dHJpYnV0ZSBmbG9hdCBjeDs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5
cGU9ImZsb2F0Ii8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gICAgPEF0dHJpYnV0ZSBuYW1lPSJjeSIg
aWQ9Ijo6Q2lyY2xlOjpjeSI+Ci0gICAgICA8d2ViaWRsPiAgYXR0cmlidXRlIGZsb2F0IGN5Ozwv
d2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0iZmxvYXQiLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAg
ICA8QXR0cmlidXRlIG5hbWU9InJhZGl1cyIgaWQ9Ijo6Q2lyY2xlOjpyYWRpdXMiPgotICAgICAg
PHdlYmlkbD4gIGF0dHJpYnV0ZSBmbG9hdCByYWRpdXM7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0
eXBlPSJmbG9hdCIvPgotICAgIDwvQXR0cmlidXRlPgotICAgIDxBdHRyaWJ1dGUgc3RhdGljPSJz
dGF0aWMiIHJlYWRvbmx5PSJyZWFkb25seSIgbmFtZT0idHJpYW5ndWxhdGlvbkNvdW50IiBpZD0i
OjpDaXJjbGU6OnRyaWFuZ3VsYXRpb25Db3VudCI+Ci0gICAgICA8d2ViaWRsPiAgc3RhdGljIHJl
YWRvbmx5IGF0dHJpYnV0ZSBsb25nIHRyaWFuZ3VsYXRpb25Db3VudDs8L3dlYmlkbD4KLSAgICAg
IDxUeXBlIHR5cGU9ImxvbmciLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAgICA8T3BlcmF0aW9uIHN0
YXRpYz0ic3RhdGljIiBuYW1lPSJ0cmlhbmd1bGF0ZSIgaWQ9Ijo6Q2lyY2xlOjp0cmlhbmd1bGF0
ZSI+Ci0gICAgICA8d2ViaWRsPiAgc3RhdGljIDxyZWY+UG9pbnQ8L3JlZj4gdHJpYW5ndWxhdGUo
PHJlZj5DaXJjbGU8L3JlZj4gYzEsIDxyZWY+Q2lyY2xlPC9yZWY+IGMyLCA8cmVmPkNpcmNsZTwv
cmVmPiBjMyk7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSBuYW1lPSJQb2ludCIvPgotICAgICAgPEFy
Z3VtZW50TGlzdD4KLSAgICAgICAgPEFyZ3VtZW50IG5hbWU9ImMxIj4KLSAgICAgICAgICA8VHlw
ZSBuYW1lPSJDaXJjbGUiLz4KLSAgICAgICAgPC9Bcmd1bWVudD4KLSAgICAgICAgPEFyZ3VtZW50
IG5hbWU9ImMyIj4KLSAgICAgICAgICA8VHlwZSBuYW1lPSJDaXJjbGUiLz4KLSAgICAgICAgPC9B
cmd1bWVudD4KLSAgICAgICAgPEFyZ3VtZW50IG5hbWU9ImMzIj4KLSAgICAgICAgICA8VHlwZSBu
YW1lPSJDaXJjbGUiLz4KLSAgICAgICAgPC9Bcmd1bWVudD4KLSAgICAgIDwvQXJndW1lbnRMaXN0
PgotICAgIDwvT3BlcmF0aW9uPgotICA8L0ludGVyZmFjZT4KLTwvRGVmaW5pdGlvbnM+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvc3RyaW5naWZpZXItYXR0
cmlidXRlLndpZGxwcm9jeG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL3N0
cmluZ2lmaWVyLWF0dHJpYnV0ZS53aWRscHJvY3htbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDgyY2U0ZDM0MWIuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90
ZXN0L3ZhbGlkL3htbC9zdHJpbmdpZmllci1hdHRyaWJ1dGUud2lkbHByb2N4bWwKKysrIC9kZXYv
bnVsbApAQCAtMSwyOSArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYt
OCI/PgotPCFET0NUWVBFIERlZmluaXRpb25zIFNZU1RFTSAid2lkbHByb2N4bWwuZHRkIj4KLTxE
ZWZpbml0aW9ucz4KLSAgPHdlYmlkbD5bQ29uc3RydWN0b3JdCi1pbnRlcmZhY2UgU3R1ZGVudCB7
Ci0gIGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGlkOwotICBzdHJpbmdpZmllciBhdHRyaWJ1dGUg
RE9NU3RyaW5nIG5hbWU7Ci19Ozwvd2ViaWRsPgotICA8SW50ZXJmYWNlIG5hbWU9IlN0dWRlbnQi
IGlkPSI6OlN0dWRlbnQiPgotICAgIDx3ZWJpZGw+W0NvbnN0cnVjdG9yXQotaW50ZXJmYWNlIFN0
dWRlbnQgewotICBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBpZDsKLSAgc3RyaW5naWZpZXIgYXR0
cmlidXRlIERPTVN0cmluZyBuYW1lOwotfTs8L3dlYmlkbD4KLSAgICA8RXh0ZW5kZWRBdHRyaWJ1
dGVMaXN0PgotICAgICAgPEV4dGVuZGVkQXR0cmlidXRlIG5hbWU9IkNvbnN0cnVjdG9yIj4KLSAg
ICAgICAgPHdlYmlkbD5Db25zdHJ1Y3Rvcjwvd2ViaWRsPgotICAgICAgPC9FeHRlbmRlZEF0dHJp
YnV0ZT4KLSAgICA8L0V4dGVuZGVkQXR0cmlidXRlTGlzdD4KLSAgICA8QXR0cmlidXRlIG5hbWU9
ImlkIiBpZD0iOjpTdHVkZW50OjppZCI+Ci0gICAgICA8d2ViaWRsPiAgYXR0cmlidXRlIHVuc2ln
bmVkIGxvbmcgaWQ7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJ1bnNpZ25lZCBsb25nIi8+
Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gICAgPEF0dHJpYnV0ZSBzdHJpbmdpZmllcj0ic3RyaW5naWZp
ZXIiIG5hbWU9Im5hbWUiIGlkPSI6OlN0dWRlbnQ6Om5hbWUiPgotICAgICAgPHdlYmlkbD4gIHN0
cmluZ2lmaWVyIGF0dHJpYnV0ZSBET01TdHJpbmcgbmFtZTs8L3dlYmlkbD4KLSAgICAgIDxUeXBl
IHR5cGU9IkRPTVN0cmluZyIvPgotICAgIDwvQXR0cmlidXRlPgotICA8L0ludGVyZmFjZT4KLTwv
RGVmaW5pdGlvbnM+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94
bWwvc3RyaW5naWZpZXItY3VzdG9tLndpZGxwcm9jeG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rl
c3QvdmFsaWQveG1sL3N0cmluZ2lmaWVyLWN1c3RvbS53aWRscHJvY3htbApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggY2RhYjFjY2ZjMzcuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9zdHJpbmdpZmllci1jdXN0b20ud2lkbHByb2N4bWwK
KysrIC9kZXYvbnVsbApAQCAtMSw0NCArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29k
aW5nPSJVVEYtOCI/PgotPCFET0NUWVBFIERlZmluaXRpb25zIFNZU1RFTSAid2lkbHByb2N4bWwu
ZHRkIj4KLTxEZWZpbml0aW9ucz4KLSAgPHdlYmlkbD5bQ29uc3RydWN0b3JdCi1pbnRlcmZhY2Ug
U3R1ZGVudCB7Ci0gIGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGlkOwotICBhdHRyaWJ1dGUgRE9N
U3RyaW5nPyBmYW1pbHlOYW1lOwotICBhdHRyaWJ1dGUgRE9NU3RyaW5nIGdpdmVuTmFtZTsKLQot
ICBzdHJpbmdpZmllciBET01TdHJpbmcgKCk7Ci19Ozwvd2ViaWRsPgotICA8SW50ZXJmYWNlIG5h
bWU9IlN0dWRlbnQiIGlkPSI6OlN0dWRlbnQiPgotICAgIDx3ZWJpZGw+W0NvbnN0cnVjdG9yXQot
aW50ZXJmYWNlIFN0dWRlbnQgewotICBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBpZDsKLSAgYXR0
cmlidXRlIERPTVN0cmluZz8gZmFtaWx5TmFtZTsKLSAgYXR0cmlidXRlIERPTVN0cmluZyBnaXZl
bk5hbWU7Ci0KLSAgc3RyaW5naWZpZXIgRE9NU3RyaW5nICgpOwotfTs8L3dlYmlkbD4KLSAgICA8
RXh0ZW5kZWRBdHRyaWJ1dGVMaXN0PgotICAgICAgPEV4dGVuZGVkQXR0cmlidXRlIG5hbWU9IkNv
bnN0cnVjdG9yIj4KLSAgICAgICAgPHdlYmlkbD5Db25zdHJ1Y3Rvcjwvd2ViaWRsPgotICAgICAg
PC9FeHRlbmRlZEF0dHJpYnV0ZT4KLSAgICA8L0V4dGVuZGVkQXR0cmlidXRlTGlzdD4KLSAgICA8
QXR0cmlidXRlIG5hbWU9ImlkIiBpZD0iOjpTdHVkZW50OjppZCI+Ci0gICAgICA8d2ViaWRsPiAg
YXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgaWQ7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJ1
bnNpZ25lZCBsb25nIi8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gICAgPEF0dHJpYnV0ZSBuYW1lPSJm
YW1pbHlOYW1lIiBpZD0iOjpTdHVkZW50OjpmYW1pbHlOYW1lIj4KLSAgICAgIDx3ZWJpZGw+ICBh
dHRyaWJ1dGUgRE9NU3RyaW5nPyBmYW1pbHlOYW1lOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlw
ZT0iRE9NU3RyaW5nIiBudWxsYWJsZT0ibnVsbGFibGUiLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAg
ICA8QXR0cmlidXRlIG5hbWU9ImdpdmVuTmFtZSIgaWQ9Ijo6U3R1ZGVudDo6Z2l2ZW5OYW1lIj4K
LSAgICAgIDx3ZWJpZGw+ICBhdHRyaWJ1dGUgRE9NU3RyaW5nIGdpdmVuTmFtZTs8L3dlYmlkbD4K
LSAgICAgIDxUeXBlIHR5cGU9IkRPTVN0cmluZyIvPgotICAgIDwvQXR0cmlidXRlPgotICAgIDxP
cGVyYXRpb24gc3RyaW5naWZpZXI9InN0cmluZ2lmaWVyIj4KLSAgICAgIDx3ZWJpZGw+ICBzdHJp
bmdpZmllciBET01TdHJpbmcgKCk7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJET01TdHJp
bmciLz4KLSAgICAgIDxBcmd1bWVudExpc3QvPgotICAgIDwvT3BlcmF0aW9uPgotICA8L0ludGVy
ZmFjZT4KLTwvRGVmaW5pdGlvbnM+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVz
dC92YWxpZC94bWwvc3RyaW5naWZpZXIud2lkbHByb2N4bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mv
dGVzdC92YWxpZC94bWwvc3RyaW5naWZpZXIud2lkbHByb2N4bWwKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDRhMThiODBiNzA0Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lk
bHByb2MvdGVzdC92YWxpZC94bWwvc3RyaW5naWZpZXIud2lkbHByb2N4bWwKKysrIC9kZXYvbnVs
bApAQCAtMSwyOSArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/
PgotPCFET0NUWVBFIERlZmluaXRpb25zIFNZU1RFTSAid2lkbHByb2N4bWwuZHRkIj4KLTxEZWZp
bml0aW9ucz4KLSAgPHdlYmlkbD5pbnRlcmZhY2UgQSB7Ci0gIHN0cmluZ2lmaWVyIERPTVN0cmlu
ZyAoKTsKLX07Ci0KLWludGVyZmFjZSBBIHsKLSAgc3RyaW5naWZpZXI7Ci19Ozwvd2ViaWRsPgot
ICA8SW50ZXJmYWNlIG5hbWU9IkEiIGlkPSI6OkEiPgotICAgIDx3ZWJpZGw+aW50ZXJmYWNlIEEg
ewotICBzdHJpbmdpZmllciBET01TdHJpbmcgKCk7Ci19Ozwvd2ViaWRsPgotICAgIDxPcGVyYXRp
b24gc3RyaW5naWZpZXI9InN0cmluZ2lmaWVyIj4KLSAgICAgIDx3ZWJpZGw+ICBzdHJpbmdpZmll
ciBET01TdHJpbmcgKCk7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJET01TdHJpbmciLz4K
LSAgICAgIDxBcmd1bWVudExpc3QvPgotICAgIDwvT3BlcmF0aW9uPgotICA8L0ludGVyZmFjZT4K
LSAgPEludGVyZmFjZSBuYW1lPSJBIiBpZD0iOjpBIj4KLSAgICA8d2ViaWRsPmludGVyZmFjZSBB
IHsKLSAgc3RyaW5naWZpZXI7Ci19Ozwvd2ViaWRsPgotICAgIDxTdHJpbmdpZmllcj4KLSAgICAg
IDx3ZWJpZGw+ICBzdHJpbmdpZmllcjs8L3dlYmlkbD4KLSAgICA8L1N0cmluZ2lmaWVyPgotICA8
L0ludGVyZmFjZT4KLTwvRGVmaW5pdGlvbnM+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHBy
b2MvdGVzdC92YWxpZC94bWwvdHJlYXRhc251bGwud2lkbHByb2N4bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lk
bHByb2MvdGVzdC92YWxpZC94bWwvdHJlYXRhc251bGwud2lkbHByb2N4bWwKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IGE1N2FlMTYzZjBiLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvdHJlYXRhc251bGwud2lkbHByb2N4bWwKKysrIC9k
ZXYvbnVsbApAQCAtMSw0MCArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJV
VEYtOCI/PgotPCFET0NUWVBFIERlZmluaXRpb25zIFNZU1RFTSAid2lkbHByb2N4bWwuZHRkIj4K
LTxEZWZpbml0aW9ucz4KLSAgPHdlYmlkbD5pbnRlcmZhY2UgRG9nIHsKLSAgYXR0cmlidXRlIERP
TVN0cmluZyBuYW1lOwotICBhdHRyaWJ1dGUgRE9NU3RyaW5nIG93bmVyOwotCi0gIGJvb2xlYW4g
aXNNZW1iZXJPZkJyZWVkKFtUcmVhdE51bGxBcz1FbXB0eVN0cmluZ10gRE9NU3RyaW5nIGJyZWVk
TmFtZSk7Ci19Ozwvd2ViaWRsPgotICA8SW50ZXJmYWNlIG5hbWU9IkRvZyIgaWQ9Ijo6RG9nIj4K
LSAgICA8d2ViaWRsPmludGVyZmFjZSBEb2cgewotICBhdHRyaWJ1dGUgRE9NU3RyaW5nIG5hbWU7
Ci0gIGF0dHJpYnV0ZSBET01TdHJpbmcgb3duZXI7Ci0KLSAgYm9vbGVhbiBpc01lbWJlck9mQnJl
ZWQoW1RyZWF0TnVsbEFzPUVtcHR5U3RyaW5nXSBET01TdHJpbmcgYnJlZWROYW1lKTsKLX07PC93
ZWJpZGw+Ci0gICAgPEF0dHJpYnV0ZSBuYW1lPSJuYW1lIiBpZD0iOjpEb2c6Om5hbWUiPgotICAg
ICAgPHdlYmlkbD4gIGF0dHJpYnV0ZSBET01TdHJpbmcgbmFtZTs8L3dlYmlkbD4KLSAgICAgIDxU
eXBlIHR5cGU9IkRPTVN0cmluZyIvPgotICAgIDwvQXR0cmlidXRlPgotICAgIDxBdHRyaWJ1dGUg
bmFtZT0ib3duZXIiIGlkPSI6OkRvZzo6b3duZXIiPgotICAgICAgPHdlYmlkbD4gIGF0dHJpYnV0
ZSBET01TdHJpbmcgb3duZXI7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJET01TdHJpbmci
Lz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAgICA8T3BlcmF0aW9uIG5hbWU9ImlzTWVtYmVyT2ZCcmVl
ZCIgaWQ9Ijo6RG9nOjppc01lbWJlck9mQnJlZWQiPgotICAgICAgPHdlYmlkbD4gIGJvb2xlYW4g
aXNNZW1iZXJPZkJyZWVkKFtUcmVhdE51bGxBcz1FbXB0eVN0cmluZ10gRE9NU3RyaW5nIGJyZWVk
TmFtZSk7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJib29sZWFuIi8+Ci0gICAgICA8QXJn
dW1lbnRMaXN0PgotICAgICAgICA8QXJndW1lbnQgbmFtZT0iYnJlZWROYW1lIj4KLSAgICAgICAg
ICA8RXh0ZW5kZWRBdHRyaWJ1dGVMaXN0PgotICAgICAgICAgICAgPEV4dGVuZGVkQXR0cmlidXRl
IG5hbWU9IlRyZWF0TnVsbEFzIiB2YWx1ZT0iRW1wdHlTdHJpbmciPgotICAgICAgICAgICAgICA8
d2ViaWRsPlRyZWF0TnVsbEFzPC93ZWJpZGw+Ci0gICAgICAgICAgICA8L0V4dGVuZGVkQXR0cmli
dXRlPgotICAgICAgICAgIDwvRXh0ZW5kZWRBdHRyaWJ1dGVMaXN0PgotICAgICAgICAgIDxUeXBl
IHR5cGU9IkRPTVN0cmluZyIvPgotICAgICAgICA8L0FyZ3VtZW50PgotICAgICAgPC9Bcmd1bWVu
dExpc3Q+Ci0gICAgPC9PcGVyYXRpb24+Ci0gIDwvSW50ZXJmYWNlPgotPC9EZWZpbml0aW9ucz4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC90cmVhdGFzdW5k
ZWZpbmVkLndpZGxwcm9jeG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL3Ry
ZWF0YXN1bmRlZmluZWQud2lkbHByb2N4bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDE3ZTcxMDgxZGEwLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92
YWxpZC94bWwvdHJlYXRhc3VuZGVmaW5lZC53aWRscHJvY3htbAorKysgL2Rldi9udWxsCkBAIC0x
LDQwICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Ci08IURP
Q1RZUEUgRGVmaW5pdGlvbnMgU1lTVEVNICJ3aWRscHJvY3htbC5kdGQiPgotPERlZmluaXRpb25z
PgotICA8d2ViaWRsPmludGVyZmFjZSBDYXQgewotICBhdHRyaWJ1dGUgRE9NU3RyaW5nIG5hbWU7
Ci0gIGF0dHJpYnV0ZSBET01TdHJpbmcgb3duZXI7Ci0KLSAgYm9vbGVhbiBpc01lbWJlck9mQnJl
ZWQoW1RyZWF0VW5kZWZpbmVkQXM9RW1wdHlTdHJpbmddIERPTVN0cmluZyBicmVlZE5hbWUpOwot
fTs8L3dlYmlkbD4KLSAgPEludGVyZmFjZSBuYW1lPSJDYXQiIGlkPSI6OkNhdCI+Ci0gICAgPHdl
YmlkbD5pbnRlcmZhY2UgQ2F0IHsKLSAgYXR0cmlidXRlIERPTVN0cmluZyBuYW1lOwotICBhdHRy
aWJ1dGUgRE9NU3RyaW5nIG93bmVyOwotCi0gIGJvb2xlYW4gaXNNZW1iZXJPZkJyZWVkKFtUcmVh
dFVuZGVmaW5lZEFzPUVtcHR5U3RyaW5nXSBET01TdHJpbmcgYnJlZWROYW1lKTsKLX07PC93ZWJp
ZGw+Ci0gICAgPEF0dHJpYnV0ZSBuYW1lPSJuYW1lIiBpZD0iOjpDYXQ6Om5hbWUiPgotICAgICAg
PHdlYmlkbD4gIGF0dHJpYnV0ZSBET01TdHJpbmcgbmFtZTs8L3dlYmlkbD4KLSAgICAgIDxUeXBl
IHR5cGU9IkRPTVN0cmluZyIvPgotICAgIDwvQXR0cmlidXRlPgotICAgIDxBdHRyaWJ1dGUgbmFt
ZT0ib3duZXIiIGlkPSI6OkNhdDo6b3duZXIiPgotICAgICAgPHdlYmlkbD4gIGF0dHJpYnV0ZSBE
T01TdHJpbmcgb3duZXI7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJET01TdHJpbmciLz4K
LSAgICA8L0F0dHJpYnV0ZT4KLSAgICA8T3BlcmF0aW9uIG5hbWU9ImlzTWVtYmVyT2ZCcmVlZCIg
aWQ9Ijo6Q2F0Ojppc01lbWJlck9mQnJlZWQiPgotICAgICAgPHdlYmlkbD4gIGJvb2xlYW4gaXNN
ZW1iZXJPZkJyZWVkKFtUcmVhdFVuZGVmaW5lZEFzPUVtcHR5U3RyaW5nXSBET01TdHJpbmcgYnJl
ZWROYW1lKTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9ImJvb2xlYW4iLz4KLSAgICAgIDxB
cmd1bWVudExpc3Q+Ci0gICAgICAgIDxBcmd1bWVudCBuYW1lPSJicmVlZE5hbWUiPgotICAgICAg
ICAgIDxFeHRlbmRlZEF0dHJpYnV0ZUxpc3Q+Ci0gICAgICAgICAgICA8RXh0ZW5kZWRBdHRyaWJ1
dGUgbmFtZT0iVHJlYXRVbmRlZmluZWRBcyIgdmFsdWU9IkVtcHR5U3RyaW5nIj4KLSAgICAgICAg
ICAgICAgPHdlYmlkbD5UcmVhdFVuZGVmaW5lZEFzPC93ZWJpZGw+Ci0gICAgICAgICAgICA8L0V4
dGVuZGVkQXR0cmlidXRlPgotICAgICAgICAgIDwvRXh0ZW5kZWRBdHRyaWJ1dGVMaXN0PgotICAg
ICAgICAgIDxUeXBlIHR5cGU9IkRPTVN0cmluZyIvPgotICAgICAgICA8L0FyZ3VtZW50PgotICAg
ICAgPC9Bcmd1bWVudExpc3Q+Ci0gICAgPC9PcGVyYXRpb24+Ci0gIDwvSW50ZXJmYWNlPgotPC9E
ZWZpbml0aW9ucz4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3ht
bC90eXBlZGVmLndpZGxwcm9jeG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1s
L3R5cGVkZWYud2lkbHByb2N4bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDc4NWY2
NzA2ZTZkLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94
bWwvdHlwZWRlZi53aWRscHJvY3htbAorKysgL2Rldi9udWxsCkBAIC0xLDEwMCArMCwwIEBACi08
P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgotPCFET0NUWVBFIERlZmluaXRp
b25zIFNZU1RFTSAid2lkbHByb2N4bWwuZHRkIj4KLTxEZWZpbml0aW9ucz4KLSAgPHdlYmlkbD4g
ICAgICBpbnRlcmZhY2UgUG9pbnQgewotICAgICAgICBhdHRyaWJ1dGUgZmxvYXQgeDsKLSAgICAg
ICAgYXR0cmlidXRlIGZsb2F0IHk7Ci0gICAgICB9OwotCi0gICAgICB0eXBlZGVmIHNlcXVlbmNl
Jmx0OzxyZWY+UG9pbnQ8L3JlZj4+IFBvaW50U2VxdWVuY2U7Ci0KLSAgICAgIGludGVyZmFjZSBS
ZWN0IHsKLSAgICAgICAgYXR0cmlidXRlIDxyZWY+UG9pbnQ8L3JlZj4gdG9wbGVmdDsKLSAgICAg
ICAgYXR0cmlidXRlIDxyZWY+UG9pbnQ8L3JlZj4gYm90dG9tcmlnaHQ7Ci0gICAgICB9OwotCi0g
IGludGVyZmFjZSBXaWRnZXQgewotCi0gICAgcmVhZG9ubHkgYXR0cmlidXRlIDxyZWY+UmVjdDwv
cmVmPiBib3VuZHM7Ci0KLSAgICBib29sZWFuIHBvaW50V2l0aGluQm91bmRzKDxyZWY+UG9pbnQ8
L3JlZj4gcCk7Ci0gICAgYm9vbGVhbiBhbGxQb2ludHNXaXRoaW5Cb3VuZHMoPHJlZj5Qb2ludFNl
cXVlbmNlPC9yZWY+IHBzKTsKLSAgfTsKLQotICB0eXBlZGVmIFtDbGFtcF0gb2N0ZXQgdmFsdWU7
PC93ZWJpZGw+Ci0gIDxJbnRlcmZhY2UgbmFtZT0iUG9pbnQiIGlkPSI6OlBvaW50Ij4KLSAgICA8
d2ViaWRsPiAgICAgIGludGVyZmFjZSBQb2ludCB7Ci0gICAgICAgIGF0dHJpYnV0ZSBmbG9hdCB4
OwotICAgICAgICBhdHRyaWJ1dGUgZmxvYXQgeTsKLSAgICAgIH07PC93ZWJpZGw+Ci0gICAgPEF0
dHJpYnV0ZSBuYW1lPSJ4IiBpZD0iOjpQb2ludDo6eCI+Ci0gICAgICA8d2ViaWRsPiAgICAgICAg
YXR0cmlidXRlIGZsb2F0IHg7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJmbG9hdCIvPgot
ICAgIDwvQXR0cmlidXRlPgotICAgIDxBdHRyaWJ1dGUgbmFtZT0ieSIgaWQ9Ijo6UG9pbnQ6Onki
PgotICAgICAgPHdlYmlkbD4gICAgICAgIGF0dHJpYnV0ZSBmbG9hdCB5Ozwvd2ViaWRsPgotICAg
ICAgPFR5cGUgdHlwZT0iZmxvYXQiLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAgPC9JbnRlcmZhY2U+
Ci0gIDxUeXBlZGVmIG5hbWU9IlBvaW50U2VxdWVuY2UiIGlkPSI6OlBvaW50U2VxdWVuY2UiPgot
ICAgIDx3ZWJpZGw+ICAgICAgdHlwZWRlZiBzZXF1ZW5jZSZsdDs8cmVmPlBvaW50PC9yZWY+PiBQ
b2ludFNlcXVlbmNlOzwvd2ViaWRsPgotICAgIDxUeXBlIHR5cGU9InNlcXVlbmNlIj4KLSAgICAg
IDxUeXBlIG5hbWU9IlBvaW50Ii8+Ci0gICAgPC9UeXBlPgotICA8L1R5cGVkZWY+Ci0gIDxJbnRl
cmZhY2UgbmFtZT0iUmVjdCIgaWQ9Ijo6UmVjdCI+Ci0gICAgPHdlYmlkbD4gICAgICBpbnRlcmZh
Y2UgUmVjdCB7Ci0gICAgICAgIGF0dHJpYnV0ZSA8cmVmPlBvaW50PC9yZWY+IHRvcGxlZnQ7Ci0g
ICAgICAgIGF0dHJpYnV0ZSA8cmVmPlBvaW50PC9yZWY+IGJvdHRvbXJpZ2h0OwotICAgICAgfTs8
L3dlYmlkbD4KLSAgICA8QXR0cmlidXRlIG5hbWU9InRvcGxlZnQiIGlkPSI6OlJlY3Q6OnRvcGxl
ZnQiPgotICAgICAgPHdlYmlkbD4gICAgICAgIGF0dHJpYnV0ZSA8cmVmPlBvaW50PC9yZWY+IHRv
cGxlZnQ7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSBuYW1lPSJQb2ludCIvPgotICAgIDwvQXR0cmli
dXRlPgotICAgIDxBdHRyaWJ1dGUgbmFtZT0iYm90dG9tcmlnaHQiIGlkPSI6OlJlY3Q6OmJvdHRv
bXJpZ2h0Ij4KLSAgICAgIDx3ZWJpZGw+ICAgICAgICBhdHRyaWJ1dGUgPHJlZj5Qb2ludDwvcmVm
PiBib3R0b21yaWdodDs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIG5hbWU9IlBvaW50Ii8+Ci0gICAg
PC9BdHRyaWJ1dGU+Ci0gIDwvSW50ZXJmYWNlPgotICA8SW50ZXJmYWNlIG5hbWU9IldpZGdldCIg
aWQ9Ijo6V2lkZ2V0Ij4KLSAgICA8d2ViaWRsPiAgaW50ZXJmYWNlIFdpZGdldCB7Ci0KLSAgICBy
ZWFkb25seSBhdHRyaWJ1dGUgPHJlZj5SZWN0PC9yZWY+IGJvdW5kczsKLQotICAgIGJvb2xlYW4g
cG9pbnRXaXRoaW5Cb3VuZHMoPHJlZj5Qb2ludDwvcmVmPiBwKTsKLSAgICBib29sZWFuIGFsbFBv
aW50c1dpdGhpbkJvdW5kcyg8cmVmPlBvaW50U2VxdWVuY2U8L3JlZj4gcHMpOwotICB9Ozwvd2Vi
aWRsPgotICAgIDxBdHRyaWJ1dGUgcmVhZG9ubHk9InJlYWRvbmx5IiBuYW1lPSJib3VuZHMiIGlk
PSI6OldpZGdldDo6Ym91bmRzIj4KLSAgICAgIDx3ZWJpZGw+ICAgIHJlYWRvbmx5IGF0dHJpYnV0
ZSA8cmVmPlJlY3Q8L3JlZj4gYm91bmRzOzwvd2ViaWRsPgotICAgICAgPFR5cGUgbmFtZT0iUmVj
dCIvPgotICAgIDwvQXR0cmlidXRlPgotICAgIDxPcGVyYXRpb24gbmFtZT0icG9pbnRXaXRoaW5C
b3VuZHMiIGlkPSI6OldpZGdldDo6cG9pbnRXaXRoaW5Cb3VuZHMiPgotICAgICAgPHdlYmlkbD4g
ICAgYm9vbGVhbiBwb2ludFdpdGhpbkJvdW5kcyg8cmVmPlBvaW50PC9yZWY+IHApOzwvd2ViaWRs
PgotICAgICAgPFR5cGUgdHlwZT0iYm9vbGVhbiIvPgotICAgICAgPEFyZ3VtZW50TGlzdD4KLSAg
ICAgICAgPEFyZ3VtZW50IG5hbWU9InAiPgotICAgICAgICAgIDxUeXBlIG5hbWU9IlBvaW50Ii8+
Ci0gICAgICAgIDwvQXJndW1lbnQ+Ci0gICAgICA8L0FyZ3VtZW50TGlzdD4KLSAgICA8L09wZXJh
dGlvbj4KLSAgICA8T3BlcmF0aW9uIG5hbWU9ImFsbFBvaW50c1dpdGhpbkJvdW5kcyIgaWQ9Ijo6
V2lkZ2V0OjphbGxQb2ludHNXaXRoaW5Cb3VuZHMiPgotICAgICAgPHdlYmlkbD4gICAgYm9vbGVh
biBhbGxQb2ludHNXaXRoaW5Cb3VuZHMoPHJlZj5Qb2ludFNlcXVlbmNlPC9yZWY+IHBzKTs8L3dl
YmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9ImJvb2xlYW4iLz4KLSAgICAgIDxBcmd1bWVudExpc3Q+
Ci0gICAgICAgIDxBcmd1bWVudCBuYW1lPSJwcyI+Ci0gICAgICAgICAgPFR5cGUgbmFtZT0iUG9p
bnRTZXF1ZW5jZSIvPgotICAgICAgICA8L0FyZ3VtZW50PgotICAgICAgPC9Bcmd1bWVudExpc3Q+
Ci0gICAgPC9PcGVyYXRpb24+Ci0gIDwvSW50ZXJmYWNlPgotICA8VHlwZWRlZiBuYW1lPSJ2YWx1
ZSIgaWQ9Ijo6dmFsdWUiPgotICAgIDx3ZWJpZGw+ICB0eXBlZGVmIFtDbGFtcF0gb2N0ZXQgdmFs
dWU7PC93ZWJpZGw+Ci0gICAgPFR5cGUgdHlwZT0ib2N0ZXQiPgotICAgICAgPEV4dGVuZGVkQXR0
cmlidXRlTGlzdD4KLSAgICAgICAgPEV4dGVuZGVkQXR0cmlidXRlIG5hbWU9IkNsYW1wIj4KLSAg
ICAgICAgICA8d2ViaWRsPkNsYW1wPC93ZWJpZGw+Ci0gICAgICAgIDwvRXh0ZW5kZWRBdHRyaWJ1
dGU+Ci0gICAgICA8L0V4dGVuZGVkQXR0cmlidXRlTGlzdD4KLSAgICA8L1R5cGU+Ci0gIDwvVHlw
ZWRlZj4KLTwvRGVmaW5pdGlvbnM+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVz
dC92YWxpZC94bWwvdHlwZXN1ZmZpeGVzLndpZGxwcm9jeG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9j
L3Rlc3QvdmFsaWQveG1sL3R5cGVzdWZmaXhlcy53aWRscHJvY3htbApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggODMwZmU2MmJjMGQuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93
aWRscHJvYy90ZXN0L3ZhbGlkL3htbC90eXBlc3VmZml4ZXMud2lkbHByb2N4bWwKKysrIC9kZXYv
bnVsbApAQCAtMSwyNSArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYt
OCI/PgotPCFET0NUWVBFIERlZmluaXRpb25zIFNZU1RFTSAid2lkbHByb2N4bWwuZHRkIj4KLTxE
ZWZpbml0aW9ucz4KLSAgPHdlYmlkbD5pbnRlcmZhY2UgU3VmZml4ZXMgewotICB2b2lkIHRlc3Qo
c2VxdWVuY2UmbHQ7RE9NU3RyaW5nW10/Pj8gZm9vKTsKLX07PC93ZWJpZGw+Ci0gIDxJbnRlcmZh
Y2UgbmFtZT0iU3VmZml4ZXMiIGlkPSI6OlN1ZmZpeGVzIj4KLSAgICA8d2ViaWRsPmludGVyZmFj
ZSBTdWZmaXhlcyB7Ci0gIHZvaWQgdGVzdChzZXF1ZW5jZSZsdDtET01TdHJpbmdbXT8+PyBmb28p
OwotfTs8L3dlYmlkbD4KLSAgICA8T3BlcmF0aW9uIG5hbWU9InRlc3QiIGlkPSI6OlN1ZmZpeGVz
Ojp0ZXN0Ij4KLSAgICAgIDx3ZWJpZGw+ICB2b2lkIHRlc3Qoc2VxdWVuY2UmbHQ7RE9NU3RyaW5n
W10/Pj8gZm9vKTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9InZvaWQiLz4KLSAgICAgIDxB
cmd1bWVudExpc3Q+Ci0gICAgICAgIDxBcmd1bWVudCBuYW1lPSJmb28iPgotICAgICAgICAgIDxU
eXBlIHR5cGU9InNlcXVlbmNlIiBudWxsYWJsZT0ibnVsbGFibGUiPgotICAgICAgICAgICAgPFR5
cGUgdHlwZT0iYXJyYXkiIG51bGxhYmxlPSJudWxsYWJsZSI+Ci0gICAgICAgICAgICAgIDxUeXBl
IHR5cGU9IkRPTVN0cmluZyIvPgotICAgICAgICAgICAgPC9UeXBlPgotICAgICAgICAgIDwvVHlw
ZT4KLSAgICAgICAgPC9Bcmd1bWVudD4KLSAgICAgIDwvQXJndW1lbnRMaXN0PgotICAgIDwvT3Bl
cmF0aW9uPgotICA8L0ludGVyZmFjZT4KLTwvRGVmaW5pdGlvbnM+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvdW5pb250eXBlLndpZGxwcm9jeG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL3VuaW9udHlwZS53aWRscHJvY3htbApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggN2QwODgwNzk5NTYuLjAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC91bmlvbnR5cGUud2lkbHByb2N4bWwK
KysrIC9kZXYvbnVsbApAQCAtMSwyNiArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29k
aW5nPSJVVEYtOCI/PgotPCFET0NUWVBFIERlZmluaXRpb25zIFNZU1RFTSAid2lkbHByb2N4bWwu
ZHRkIj4KLTxEZWZpbml0aW9ucz4KLSAgPHdlYmlkbD5pbnRlcmZhY2UgVW5pb24gewotIGF0dHJp
YnV0ZSAoZmxvYXQgb3IgKERhdGUgb3IgPHJlZj5FdmVudDwvcmVmPikgb3IgKDxyZWY+Tm9kZTwv
cmVmPiBvciBET01TdHJpbmcpPykgdGVzdDsKLX07PC93ZWJpZGw+Ci0gIDxJbnRlcmZhY2UgbmFt
ZT0iVW5pb24iIGlkPSI6OlVuaW9uIj4KLSAgICA8d2ViaWRsPmludGVyZmFjZSBVbmlvbiB7Ci0g
YXR0cmlidXRlIChmbG9hdCBvciAoRGF0ZSBvciA8cmVmPkV2ZW50PC9yZWY+KSBvciAoPHJlZj5O
b2RlPC9yZWY+IG9yIERPTVN0cmluZyk/KSB0ZXN0OwotfTs8L3dlYmlkbD4KLSAgICA8QXR0cmli
dXRlIG5hbWU9InRlc3QiIGlkPSI6OlVuaW9uOjp0ZXN0Ij4KLSAgICAgIDx3ZWJpZGw+IGF0dHJp
YnV0ZSAoZmxvYXQgb3IgKERhdGUgb3IgPHJlZj5FdmVudDwvcmVmPikgb3IgKDxyZWY+Tm9kZTwv
cmVmPiBvciBET01TdHJpbmcpPykgdGVzdDs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9InVu
aW9uIj4KLSAgICAgICAgPFR5cGUgdHlwZT0iZmxvYXQiLz4KLSAgICAgICAgPFR5cGUgdHlwZT0i
dW5pb24iPgotICAgICAgICAgIDxUeXBlIHR5cGU9IkRhdGUiLz4KLSAgICAgICAgICA8VHlwZSBu
YW1lPSJFdmVudCIvPgotICAgICAgICA8L1R5cGU+Ci0gICAgICAgIDxUeXBlIHR5cGU9InVuaW9u
IiBudWxsYWJsZT0ibnVsbGFibGUiPgotICAgICAgICAgIDxUeXBlIG5hbWU9Ik5vZGUiLz4KLSAg
ICAgICAgICA8VHlwZSB0eXBlPSJET01TdHJpbmciLz4KLSAgICAgICAgPC9UeXBlPgotICAgICAg
PC9UeXBlPgotICAgIDwvQXR0cmlidXRlPgotICA8L0ludGVyZmFjZT4KLTwvRGVmaW5pdGlvbnM+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvdmFyaWFkaWMt
b3BlcmF0aW9ucy53aWRscHJvY3htbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3ht
bC92YXJpYWRpYy1vcGVyYXRpb25zLndpZGxwcm9jeG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwYmM5Zjc4NDQxMy4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9j
L3Rlc3QvdmFsaWQveG1sL3ZhcmlhZGljLW9wZXJhdGlvbnMud2lkbHByb2N4bWwKKysrIC9kZXYv
bnVsbApAQCAtMSw0MCArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYt
OCI/PgotPCFET0NUWVBFIERlZmluaXRpb25zIFNZU1RFTSAid2lkbHByb2N4bWwuZHRkIj4KLTxE
ZWZpbml0aW9ucz4KLSAgPHdlYmlkbD5pbnRlcmZhY2UgSW50ZWdlclNldCB7Ci0gIHJlYWRvbmx5
IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGNhcmRpbmFsaXR5OwotCi0gIHZvaWQgdW5pb24obG9u
Zy4uLiBpbnRzKTsKLSAgdm9pZCBpbnRlcnNlY3Rpb24obG9uZy4uLiBpbnRzKTsKLX07PC93ZWJp
ZGw+Ci0gIDxJbnRlcmZhY2UgbmFtZT0iSW50ZWdlclNldCIgaWQ9Ijo6SW50ZWdlclNldCI+Ci0g
ICAgPHdlYmlkbD5pbnRlcmZhY2UgSW50ZWdlclNldCB7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSB1
bnNpZ25lZCBsb25nIGNhcmRpbmFsaXR5OwotCi0gIHZvaWQgdW5pb24obG9uZy4uLiBpbnRzKTsK
LSAgdm9pZCBpbnRlcnNlY3Rpb24obG9uZy4uLiBpbnRzKTsKLX07PC93ZWJpZGw+Ci0gICAgPEF0
dHJpYnV0ZSByZWFkb25seT0icmVhZG9ubHkiIG5hbWU9ImNhcmRpbmFsaXR5IiBpZD0iOjpJbnRl
Z2VyU2V0OjpjYXJkaW5hbGl0eSI+Ci0gICAgICA8d2ViaWRsPiAgcmVhZG9ubHkgYXR0cmlidXRl
IHVuc2lnbmVkIGxvbmcgY2FyZGluYWxpdHk7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJ1
bnNpZ25lZCBsb25nIi8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gICAgPE9wZXJhdGlvbiBuYW1lPSJ1
bmlvbiIgaWQ9Ijo6SW50ZWdlclNldDo6dW5pb24iPgotICAgICAgPHdlYmlkbD4gIHZvaWQgdW5p
b24obG9uZy4uLiBpbnRzKTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9InZvaWQiLz4KLSAg
ICAgIDxBcmd1bWVudExpc3Q+Ci0gICAgICAgIDxBcmd1bWVudCBlbGxpcHNpcz0iZWxsaXBzaXMi
IG5hbWU9ImludHMiPgotICAgICAgICAgIDxUeXBlIHR5cGU9ImxvbmciLz4KLSAgICAgICAgPC9B
cmd1bWVudD4KLSAgICAgIDwvQXJndW1lbnRMaXN0PgotICAgIDwvT3BlcmF0aW9uPgotICAgIDxP
cGVyYXRpb24gbmFtZT0iaW50ZXJzZWN0aW9uIiBpZD0iOjpJbnRlZ2VyU2V0OjppbnRlcnNlY3Rp
b24iPgotICAgICAgPHdlYmlkbD4gIHZvaWQgaW50ZXJzZWN0aW9uKGxvbmcuLi4gaW50cyk7PC93
ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJ2b2lkIi8+Ci0gICAgICA8QXJndW1lbnRMaXN0Pgot
ICAgICAgICA8QXJndW1lbnQgZWxsaXBzaXM9ImVsbGlwc2lzIiBuYW1lPSJpbnRzIj4KLSAgICAg
ICAgICA8VHlwZSB0eXBlPSJsb25nIi8+Ci0gICAgICAgIDwvQXJndW1lbnQ+Ci0gICAgICA8L0Fy
Z3VtZW50TGlzdD4KLSAgICA8L09wZXJhdGlvbj4KLSAgPC9JbnRlcmZhY2U+Ci08L0RlZmluaXRp
b25zPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL3czYy1p
bXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL3czYy1pbXBvcnQu
bG9nCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiNGQxMjNlZTFlZi4uMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL3czYy1pbXBvcnQubG9n
CisrKyAvZGV2L251bGwKQEAgLTEsNjcgKzAsMCBAQAotVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0
b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCi1EbyBOT1QgbW9kaWZ5
IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQsIGNyZWF0ZSBhIHB1bGwg
cmVxdWVzdCBvbiB0aGUgVzNDIENTUyBvciBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0aHViLmNv
bS93M2MvY3Nzd2ctdGVzdAotCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzCi0KLVRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2Vi
S2l0IHRvIHJlaW1wb3J0Ci0KLURvIE5PVCBtb2RpZnkgb3IgcmVtb3ZlIHRoaXMgZmlsZS4KLQot
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tCi1Qcm9wZXJ0aWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6Ci1O
b25lCi1Qcm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKLU5vbmUKLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLQotTGlzdCBvZiBmaWxlczoKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92
YWxpZC94bWwvYWxsb3dhbnkud2lkbHByb2N4bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92
YWxpZC94bWwvYXJyYXkud2lkbHByb2N4bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxp
ZC94bWwvYXR0cmlidXRlcy53aWRscHJvY3htbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3Zh
bGlkL3htbC9jYWxsYmFjay53aWRscHJvY3htbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3Zh
bGlkL3htbC9jYWxsZXIud2lkbHByb2N4bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxp
ZC94bWwvY29uc3RhbnRzLndpZGxwcm9jeG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFs
aWQveG1sL2NvbnN0cnVjdG9yLndpZGxwcm9jeG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3Qv
dmFsaWQveG1sL2RpY3Rpb25hcnktaW5oZXJpdHMud2lkbHByb2N4bWwKLS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lk
bHByb2MvdGVzdC92YWxpZC94bWwvZGljdGlvbmFyeS53aWRscHJvY3htbAotL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93
aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9kb2N1bWVudGF0aW9uLWRvcy53aWRscHJvY3htbAotL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9kb2N1bWVudGF0aW9uLndpZGxwcm9jeG1s
Ci0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL2VudW0ud2lkbHByb2N4bWwKLS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvZXF1aXZhbGVudC1kZWNsLndpZGxwcm9j
eG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL2V4Y2VwdGlvbi1pbmhlcml0
YW5jZS53aWRscHJvY3htbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9leGNl
cHRpb24ud2lkbHByb2N4bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvZ2V0
dGVyLXNldHRlci53aWRscHJvY3htbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3ht
bC9pZGVudGlmaWVyLXF1YWxpZmllZC1uYW1lcy53aWRscHJvY3htbAotL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRs
cHJvYy90ZXN0L3ZhbGlkL3htbC9pbXBsZW1lbnRzLndpZGxwcm9jeG1sCi0vTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dp
ZGxwcm9jL3Rlc3QvdmFsaWQveG1sL2luZGV4ZWQtcHJvcGVydGllcy53aWRscHJvY3htbAotL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9pbmhlcml0cy1nZXR0ZXIud2lkbHByb2N4
bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvaW50ZXJmYWNlLWluaGVyaXRz
LndpZGxwcm9jeG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL2l0ZXJhdG9y
LndpZGxwcm9jeG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL21vZHVsZS53
aWRscHJvY3htbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9uYW1lZGNvbnN0
cnVjdG9yLndpZGxwcm9jeG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL25h
bWVzcGFjZW9iamVjdC53aWRscHJvY3htbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlk
L3htbC9ub2ludGVyZmFjZW9iamVjdC53aWRscHJvY3htbAotL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90
ZXN0L3ZhbGlkL3htbC9udWxsYWJsZS53aWRscHJvY3htbAotL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90
ZXN0L3ZhbGlkL3htbC9udWxsYWJsZW9iamVjdHMud2lkbHByb2N4bWwKLS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lk
bHByb2MvdGVzdC92YWxpZC94bWwvb3BlcmF0aW9uLW9wdGlvbmFsLWFyZy53aWRscHJvY3htbAot
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9vdmVybG9hZGluZy53aWRscHJvY3ht
bAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9vdmVycmlkZWJ1aWx0aW5zLndp
ZGxwcm9jeG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL3BhcnRpYWwtaW50
ZXJmYWNlLndpZGxwcm9jeG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL3By
aW1pdGl2ZXMud2lkbHByb2N4bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwv
cHJvdG90eXBlcm9vdC53aWRscHJvY3htbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlk
L3htbC9wdXRmb3J3YXJkcy53aWRscHJvY3htbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3Zh
bGlkL3htbC9yZWctb3BlcmF0aW9ucy53aWRscHJvY3htbAotL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90
ZXN0L3ZhbGlkL3htbC9yZXBsYWNlYWJsZS53aWRscHJvY3htbAotL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJv
Yy90ZXN0L3ZhbGlkL3htbC9zZXF1ZW5jZS53aWRscHJvY3htbAotL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJv
Yy90ZXN0L3ZhbGlkL3htbC9zZXJpYWxpemVyLndpZGxwcm9jeG1sCi0vTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxw
cm9jL3Rlc3QvdmFsaWQveG1sL3NwZWNpYWwtb21pdHRhYmxlLndpZGxwcm9jeG1sCi0vTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL3N0YXRpYy53aWRscHJvY3htbAotL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9zdHJpbmdpZmllci1hdHRyaWJ1dGUud2lkbHByb2N4
bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvc3RyaW5naWZpZXItY3VzdG9t
LndpZGxwcm9jeG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL3N0cmluZ2lm
aWVyLndpZGxwcm9jeG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL3RyZWF0
YXNudWxsLndpZGxwcm9jeG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL3Ry
ZWF0YXN1bmRlZmluZWQud2lkbHByb2N4bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxp
ZC94bWwvdHlwZWRlZi53aWRscHJvY3htbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlk
L3htbC90eXBlc3VmZml4ZXMud2lkbHByb2N4bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92
YWxpZC94bWwvdW5pb250eXBlLndpZGxwcm9jeG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3Qv
dmFsaWQveG1sL3ZhcmlhZGljLW9wZXJhdGlvbnMud2lkbHByb2N4bWwKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC93aWRscHJvYy90ZXN0L3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9j
L3Rlc3QvdzNjLWltcG9ydC5sb2cKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGU0ZGZi
MTdhMTkxLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC93M2MtaW1w
b3J0LmxvZworKysgL2Rldi9udWxsCkBAIC0xLDE4ICswLDAgQEAKLVRoZSB0ZXN0cyBpbiB0aGlz
IGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgotRG8gTk9U
IG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUg
YSBwdWxsIHJlcXVlc3Qgb24gdGhlIFczQyBDU1Mgb3IgV1BUIGdpdGh1YjoKLQlodHRwczovL2dp
dGh1Yi5jb20vdzNjL2Nzc3dnLXRlc3QKLQlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cwotCi1UaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3Rz
IGluIFdlYktpdCB0byByZWltcG9ydAotCi1EbyBOT1QgbW9kaWZ5IG9yIHJlbW92ZSB0aGlzIGZp
bGUuCi0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotUHJvcGVydGllcyByZXF1aXJpbmcgdmVuZG9yIHByZWZp
eGVzOgotTm9uZQotUHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6Ci1O
b25lCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0KLUxpc3Qgb2YgZmlsZXM6Ci0vTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9j
L3Rlc3QvTWFrZWZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy93M2MtaW1wb3J0
LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy93M2MtaW1wb3J0LmxvZwpkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggN2ZkMTQxNGQ3NjMuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93
aWRscHJvYy93M2MtaW1wb3J0LmxvZworKysgL2Rldi9udWxsCkBAIC0xLDIwICswLDAgQEAKLVRo
ZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBv
c2l0b3J5LgotRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1J
bnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFczQyBDU1Mgb3IgV1BUIGdpdGh1
YjoKLQlodHRwczovL2dpdGh1Yi5jb20vdzNjL2Nzc3dnLXRlc3QKLQlodHRwczovL2dpdGh1Yi5j
b20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cwotCi1UaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9p
bXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydAotCi1EbyBOT1QgbW9kaWZ5IG9y
IHJlbW92ZSB0aGlzIGZpbGUuCi0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotUHJvcGVydGllcyByZXF1aXJp
bmcgdmVuZG9yIHByZWZpeGVzOgotTm9uZQotUHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5k
b3IgcHJlZml4ZXM6Ci1Ob25lCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLUxpc3Qgb2YgZmlsZXM6Ci0vTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L3dpZGxwcm9jL0xJQ0VOU0UKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvTWFrZWZpbGUKLS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3Qvd2lkbHByb2MvUkVBRE1FLm1kCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd3JpdGVy
LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L3dyaXRlci5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
ZTg0MDc2YjRmMjguLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93cml0ZXIuanMKKysrIC9k
ZXYvbnVsbApAQCAtMSwyMyArMCwwIEBACi0idXNlIHN0cmljdCI7Ci0KLWNvbnN0IHsgY29sbGVj
dCB9ID0gcmVxdWlyZSgiLi91dGlsL2NvbGxlY3QiKTsKLWNvbnN0IHdwID0gcmVxdWlyZSgiLi4v
bGliL3dlYmlkbDIiKTsKLWNvbnN0IHdyaXRlciA9IHJlcXVpcmUoIi4uL2xpYi93cml0ZXIiKTsK
LWNvbnN0IGV4cGVjdCA9IHJlcXVpcmUoImV4cGVjdCIpOwotY29uc3QgZGVidWcgPSB0cnVlOwot
Ci1kZXNjcmliZSgiUmV3cml0ZSBhbmQgcGFyc2VzIGFsbCBvZiB0aGUgSURMcyB0byBwcm9kdWNl
IHRoZSBzYW1lIEFTVHMiLCAoKSA9PiB7Ci0gIGZvciAoY29uc3QgdGVzdCBvZiBjb2xsZWN0KCJz
eW50YXgiKSkgewotICAgIGl0KGBzaG91bGQgcHJvZHVjZSB0aGUgc2FtZSBBU1QgZm9yICR7dGVz
dC5wYXRofWAsICgpID0+IHsKLSAgICAgIHRyeSB7Ci0gICAgICAgIGNvbnN0IGRpZmYgPSB0ZXN0
LmRpZmYod3AucGFyc2Uod3JpdGVyLndyaXRlKHRlc3QuYXN0KSwgdGVzdC5vcHQpKTsKLSAgICAg
ICAgaWYgKGRpZmYgJiYgZGVidWcpIGNvbnNvbGUubG9nKEpTT04uc3RyaW5naWZ5KGRpZmYsIG51
bGwsIDQpKTsKLSAgICAgICAgZXhwZWN0KGRpZmYpLnRvQmUodW5kZWZpbmVkKTsKLSAgICAgIH0K
LSAgICAgIGNhdGNoIChlKSB7Ci0gICAgICAgIGNvbnNvbGUubG9nKGUudG9TdHJpbmcoKSk7Ci0g
ICAgICAgIHRocm93IGU7Ci0gICAgICB9Ci0gICAgfSk7Ci0gIH0KLX0pOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdzNjLWltcG9ydC5sb2cKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDgyNDU5ZWMyNTc4Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3czYy1p
bXBvcnQubG9nCisrKyAvZGV2L251bGwKQEAgLTEsMjMgKzAsMCBAQAotVGhlIHRlc3RzIGluIHRo
aXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCi1EbyBO
T1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQsIGNyZWF0
ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20v
d2ViLXBsYXRmb3JtLXRlc3RzL3dwdAotCi1UaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBv
cnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydAotCi1EbyBOT1QgbW9kaWZ5IG9yIHJl
bW92ZSB0aGlzIGZpbGUuCi0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotUHJvcGVydGllcyByZXF1aXJpbmcg
dmVuZG9yIHByZWZpeGVzOgotTm9uZQotUHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3Ig
cHJlZml4ZXM6Ci1Ob25lCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLUxpc3Qgb2YgZmlsZXM6Ci0vTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi9D
SEFOR0VMT0cubWQKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL0xJQ0VOU0UKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL1JFQURNRS5tZAotL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvY292ZXJh
Z2UuaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvaW5kZXguanMKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3BhY2thZ2UtbG9jay5qc29uCi0vTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi9w
YWNrYWdlLmpzb24K
</data>
<flag name="review"
          id="402704"
          type_id="1"
          status="+"
          setter="dino"
    />
    <flag name="commit-queue"
          id="402705"
          type_id="3"
          status="-"
          setter="ashvayka"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>387082</attachid>
            <date>2020-01-08 00:15:51 -0800</date>
            <delta_ts>2020-01-08 21:32:56 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>204652-binary-3.diff</filename>
            <type>text/plain</type>
            <size>2243194</size>
            <attacher name="Alexey Shvayka">ashvayka</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IGRhZWFlY2ViMjRhLi42NjNmZThiMjE1
MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMjAt
MDEtMDYgIEFsZXhleSBTaHZheWthICA8c2h2YWlrYWxlc2hAZ21haWwuY29tPgorCisgICAgICAg
IENsZWFuIHVwIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNDY1MgorCisgICAgICAgIFJldmlld2Vk
IGJ5IERlYW4gSmFja3Nvbi4KKworICAgICAgICBUaGlzIHBhdGNoIHJlbW92ZXMgd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcyBzdWJkaXJlY3RvcmllcyB0aGF0IGFyZQorICAgICAgICBtaXNz
aW5nIGluIHVwc3RyZWFtIDczZDc0OGZjYTdlOCAoaW1wb3J0LXczYy10ZXN0cyB0b29sIHNlZW1z
IHRvIGtlZXAgdGhlbSkuCisKKyAgICAgICAgQWxzbyBpdCByZW1vdmVzIGFuZCBtYXJrcyBhcyAi
c2tpcCIgaW4gaW1wb3J0LWV4cGVjdGF0aW9ucy5qc29uIHR3byBzdWJkaXJlY3RvcmllczoKKyAg
ICAgICAgMS4gd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bSBhcyBpdCBjb250
YWlucyBDaHJvbWl1bS1zcGVjaWZpYyBoYXJuZXNzIHdlIGRvbid0IHVzZTsKKyAgICAgICAgMi4g
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0IGFzIGl0IGNvbnRhaW5zIGhhcm5lc3Mg
dGVzdHMgd2UgZG9uJ3QgcnVuLgorCisgICAgICAgIEluIHRvdGFsLCB0aGlzIHBhdGNoIHJlbW92
ZXMgfjIgTUIgb2YgdW5uZWVkZWQgZmlsZXMuCisKKyAgICAgICAgKiByZXNvdXJjZXMvaW1wb3J0
LWV4cGVjdGF0aW9ucy5qc29uOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvKjogVXBkYXRlZC4KKwogMjAyMC0wMS0wNSAgUm9iIEJ1aXMgIDxyYnVpc0BpZ2FsaWEuY29t
PgogCiAgICAgICAgIFRpZ2h0ZW4gdXAgc3R5bGVzaGVldCBsb2FkaW5nCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcmVzb3VyY2VzL2ltcG9ydC1leHBlY3RhdGlvbnMuanNv
biBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9yZXNvdXJjZXMvaW1wb3J0LWV4cGVjdGF0aW9u
cy5qc29uCmluZGV4IDhiMjY4NjEwNmQyLi40OTI1OTkyNzc1ZSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3Jlc291cmNlcy9pbXBvcnQtZXhwZWN0YXRpb25zLmpzb24KKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3Jlc291cmNlcy9pbXBvcnQtZXhwZWN0YXRpb25z
Lmpzb24KQEAgLTMzNCw2ICszMzQsOCBAQAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXpl
LW9ic2VydmVyLyI6ICJpbXBvcnQiLCAKICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
LXRpbWluZyI6ICJpbXBvcnQiLCAKICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcyI6
ICJpbXBvcnQiLCAKKyAgICAid2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bSI6
ICJza2lwIiwgCisgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdCI6ICJza2lw
IiwgCiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9zY3JlZW4tb3JpZW50YXRpb24iOiAic2tpcCIs
IAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvc2Nyb2xsLWFuY2hvcmluZyI6ICJza2lwIiwgCiAg
ICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9zY3JvbGwtaW50by12aWV3IjogInNraXAiLCAKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL2Nocm9taXVtL1JFQURNRS5tZCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL1JFQURNRS5tZApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggYjUzYzZhOGM0MjMuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL1JFQURN
RS5tZAorKysgL2Rldi9udWxsCkBAIC0xLDQgKzAsMCBAQAotVGhpcyBkaXJlY3RvcnkgY29udGFp
bnMgQ2hyb21pdW0tc3BlY2lmaWMgdGVzdCByZXNvdXJjZXMuCi0KLVRoZSBmaWxlcyBgbW9qb19i
aW5kaW5ncy5qc2AgYW5kIGAqLm1vam9tLmpzYCBhcmUgbWFudWFsbHkgY29waWVkIGZyb20gdGhl
Ci1DaHJvbWl1bSBidWlsZCBwcm9jZXNzJ3MgZ2VuZXJhdGVkIGZpbGVzIGFuZCBzaG91bGQgbm90
IGJlIGVkaXRlZCBtYW51YWxseS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL2JpZ19idWZmZXIubW9qb20u
anMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy9jaHJvbWl1bS9iaWdfYnVmZmVyLm1vam9tLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCBmMDk3MDZlZWJiOC4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vYmlnX2J1ZmZlci5tb2pv
bS5qcworKysgL2Rldi9udWxsCkBAIC0xLDI2MyArMCwwIEBACi0vLyBDb3B5cmlnaHQgMjAxNCBU
aGUgQ2hyb21pdW0gQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLS8vIFVzZSBvZiB0aGlz
IHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4g
YmUKLS8vIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCi0KLSd1c2Ugc3RyaWN0JzsKLQotKGZ1
bmN0aW9uKCkgewotICB2YXIgbW9qb21JZCA9ICdtb2pvL3B1YmxpYy9tb2pvbS9iYXNlL2JpZ19i
dWZmZXIubW9qb20nOwotICBpZiAobW9qby5pbnRlcm5hbC5pc01vam9tTG9hZGVkKG1vam9tSWQp
KSB7Ci0gICAgY29uc29sZS53YXJuKCdUaGUgZm9sbG93aW5nIG1vam9tIGlzIGxvYWRlZCBtdWx0
aXBsZSB0aW1lczogJyArIG1vam9tSWQpOwotICAgIHJldHVybjsKLSAgfQotICBtb2pvLmludGVy
bmFsLm1hcmtNb2pvbUxvYWRlZChtb2pvbUlkKTsKLSAgdmFyIGJpbmRpbmdzID0gbW9qbzsKLSAg
dmFyIGFzc29jaWF0ZWRCaW5kaW5ncyA9IG1vam87Ci0gIHZhciBjb2RlYyA9IG1vam8uaW50ZXJu
YWw7Ci0gIHZhciB2YWxpZGF0b3IgPSBtb2pvLmludGVybmFsOwotCi0gIHZhciBleHBvcnRzID0g
bW9qby5pbnRlcm5hbC5leHBvc2VOYW1lc3BhY2UoJ21vam9CYXNlLm1vam9tJyk7Ci0KLQotCi0g
IGZ1bmN0aW9uIEJpZ0J1ZmZlclNoYXJlZE1lbW9yeVJlZ2lvbih2YWx1ZXMpIHsKLSAgICB0aGlz
LmluaXREZWZhdWx0c18oKTsKLSAgICB0aGlzLmluaXRGaWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQot
Ci0gIEJpZ0J1ZmZlclNoYXJlZE1lbW9yeVJlZ2lvbi5wcm90b3R5cGUuaW5pdERlZmF1bHRzXyA9
IGZ1bmN0aW9uKCkgewotICAgIHRoaXMuYnVmZmVySGFuZGxlID0gbnVsbDsKLSAgICB0aGlzLnNp
emUgPSAwOwotICB9OwotICBCaWdCdWZmZXJTaGFyZWRNZW1vcnlSZWdpb24ucHJvdG90eXBlLmlu
aXRGaWVsZHNfID0gZnVuY3Rpb24oZmllbGRzKSB7Ci0gICAgZm9yKHZhciBmaWVsZCBpbiBmaWVs
ZHMpIHsKLSAgICAgICAgaWYgKHRoaXMuaGFzT3duUHJvcGVydHkoZmllbGQpKQotICAgICAgICAg
IHRoaXNbZmllbGRdID0gZmllbGRzW2ZpZWxkXTsKLSAgICB9Ci0gIH07Ci0KLSAgQmlnQnVmZmVy
U2hhcmVkTWVtb3J5UmVnaW9uLnZhbGlkYXRlID0gZnVuY3Rpb24obWVzc2FnZVZhbGlkYXRvciwg
b2Zmc2V0KSB7Ci0gICAgdmFyIGVycjsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlk
YXRlU3RydWN0SGVhZGVyKG9mZnNldCwgY29kZWMua1N0cnVjdEhlYWRlclNpemUpOwotICAgIGlm
IChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJu
IGVycjsKLQotICAgIHZhciBrVmVyc2lvblNpemVzID0gWwotICAgICAge3ZlcnNpb246IDAsIG51
bUJ5dGVzOiAxNn0KLSAgICBdOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVT
dHJ1Y3RWZXJzaW9uKG9mZnNldCwga1ZlcnNpb25TaXplcyk7Ci0gICAgaWYgKGVyciAhPT0gdmFs
aWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0KLSAg
ICAvLyB2YWxpZGF0ZSBCaWdCdWZmZXJTaGFyZWRNZW1vcnlSZWdpb24uYnVmZmVySGFuZGxlCi0g
ICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZUhhbmRsZShvZmZzZXQgKyBjb2RlYy5r
U3RydWN0SGVhZGVyU2l6ZSArIDAsIGZhbHNlKQotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52
YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0gICAgcmV0dXJu
IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQotICBCaWdCdWZmZXJTaGFy
ZWRNZW1vcnlSZWdpb24uZW5jb2RlZFNpemUgPSBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDg7
Ci0KLSAgQmlnQnVmZmVyU2hhcmVkTWVtb3J5UmVnaW9uLmRlY29kZSA9IGZ1bmN0aW9uKGRlY29k
ZXIpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIHZhciB2YWwgPSBuZXcgQmlnQnVmZmVyU2hhcmVk
TWVtb3J5UmVnaW9uKCk7Ci0gICAgdmFyIG51bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50
MzIoKTsKLSAgICB2YXIgdmVyc2lvbiA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhbC5i
dWZmZXJIYW5kbGUgPSBkZWNvZGVyLmRlY29kZVN0cnVjdChjb2RlYy5IYW5kbGUpOwotICAgIHZh
bC5zaXplID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoY29kZWMuVWludDMyKTsKLSAgICByZXR1cm4g
dmFsOwotICB9OwotCi0gIEJpZ0J1ZmZlclNoYXJlZE1lbW9yeVJlZ2lvbi5lbmNvZGUgPSBmdW5j
dGlvbihlbmNvZGVyLCB2YWwpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIGVuY29kZXIud3JpdGVV
aW50MzIoQmlnQnVmZmVyU2hhcmVkTWVtb3J5UmVnaW9uLmVuY29kZWRTaXplKTsKLSAgICBlbmNv
ZGVyLndyaXRlVWludDMyKDApOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNvZGVjLkhhbmRs
ZSwgdmFsLmJ1ZmZlckhhbmRsZSk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3QoY29kZWMuVWlu
dDMyLCB2YWwuc2l6ZSk7Ci0gIH07Ci0KLSAgZnVuY3Rpb24gQmlnQnVmZmVyKHZhbHVlKSB7Ci0g
ICAgdGhpcy5pbml0RGVmYXVsdF8oKTsKLSAgICB0aGlzLmluaXRWYWx1ZV8odmFsdWUpOwotICB9
Ci0KLQotICBCaWdCdWZmZXIuVGFncyA9IHsKLSAgICBieXRlczogMCwKLSAgICBzaGFyZWRNZW1v
cnk6IDEsCi0gICAgaW52YWxpZEJ1ZmZlcjogMiwKLSAgfTsKLQotICBCaWdCdWZmZXIucHJvdG90
eXBlLmluaXREZWZhdWx0XyA9IGZ1bmN0aW9uKCkgewotICAgIHRoaXMuJGRhdGEgPSBudWxsOwot
ICAgIHRoaXMuJHRhZyA9IHVuZGVmaW5lZDsKLSAgfQotCi0gIEJpZ0J1ZmZlci5wcm90b3R5cGUu
aW5pdFZhbHVlXyA9IGZ1bmN0aW9uKHZhbHVlKSB7Ci0gICAgaWYgKHZhbHVlID09IHVuZGVmaW5l
ZCkgewotICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIHZhciBrZXlzID0gT2JqZWN0LmtleXMo
dmFsdWUpOwotICAgIGlmIChrZXlzLmxlbmd0aCA9PSAwKSB7Ci0gICAgICByZXR1cm47Ci0gICAg
fQotCi0gICAgaWYgKGtleXMubGVuZ3RoID4gMSkgewotICAgICAgdGhyb3cgbmV3IFR5cGVFcnJv
cigiWW91IG1heSBzZXQgb25seSBvbmUgbWVtYmVyIG9uIGEgdW5pb24uIik7Ci0gICAgfQotCi0g
ICAgdmFyIGZpZWxkcyA9IFsKLSAgICAgICAgImJ5dGVzIiwKLSAgICAgICAgInNoYXJlZE1lbW9y
eSIsCi0gICAgICAgICJpbnZhbGlkQnVmZmVyIiwKLSAgICBdOwotCi0gICAgaWYgKGZpZWxkcy5p
bmRleE9mKGtleXNbMF0pIDwgMCkgewotICAgICAgdGhyb3cgbmV3IFJlZmVyZW5jZUVycm9yKGtl
eXNbMF0gKyAiIGlzIG5vdCBhIEJpZ0J1ZmZlciBtZW1iZXIuIik7Ci0KLSAgICB9Ci0KLSAgICB0
aGlzW2tleXNbMF1dID0gdmFsdWVba2V5c1swXV07Ci0gIH0KLSAgT2JqZWN0LmRlZmluZVByb3Bl
cnR5KEJpZ0J1ZmZlci5wcm90b3R5cGUsICJieXRlcyIsIHsKLSAgICBnZXQ6IGZ1bmN0aW9uKCkg
ewotICAgICAgaWYgKHRoaXMuJHRhZyAhPSBCaWdCdWZmZXIuVGFncy5ieXRlcykgewotICAgICAg
ICB0aHJvdyBuZXcgUmVmZXJlbmNlRXJyb3IoCi0gICAgICAgICAgICAiQmlnQnVmZmVyLmJ5dGVz
IGlzIG5vdCBjdXJyZW50bHkgc2V0LiIpOwotICAgICAgfQotICAgICAgcmV0dXJuIHRoaXMuJGRh
dGE7Ci0gICAgfSwKLQotICAgIHNldDogZnVuY3Rpb24odmFsdWUpIHsKLSAgICAgIHRoaXMuJHRh
ZyA9IEJpZ0J1ZmZlci5UYWdzLmJ5dGVzOwotICAgICAgdGhpcy4kZGF0YSA9IHZhbHVlOwotICAg
IH0KLSAgfSk7Ci0gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShCaWdCdWZmZXIucHJvdG90eXBlLCAi
c2hhcmVkTWVtb3J5IiwgewotICAgIGdldDogZnVuY3Rpb24oKSB7Ci0gICAgICBpZiAodGhpcy4k
dGFnICE9IEJpZ0J1ZmZlci5UYWdzLnNoYXJlZE1lbW9yeSkgewotICAgICAgICB0aHJvdyBuZXcg
UmVmZXJlbmNlRXJyb3IoCi0gICAgICAgICAgICAiQmlnQnVmZmVyLnNoYXJlZE1lbW9yeSBpcyBu
b3QgY3VycmVudGx5IHNldC4iKTsKLSAgICAgIH0KLSAgICAgIHJldHVybiB0aGlzLiRkYXRhOwot
ICAgIH0sCi0KLSAgICBzZXQ6IGZ1bmN0aW9uKHZhbHVlKSB7Ci0gICAgICB0aGlzLiR0YWcgPSBC
aWdCdWZmZXIuVGFncy5zaGFyZWRNZW1vcnk7Ci0gICAgICB0aGlzLiRkYXRhID0gdmFsdWU7Ci0g
ICAgfQotICB9KTsKLSAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEJpZ0J1ZmZlci5wcm90b3R5cGUs
ICJpbnZhbGlkQnVmZmVyIiwgewotICAgIGdldDogZnVuY3Rpb24oKSB7Ci0gICAgICBpZiAodGhp
cy4kdGFnICE9IEJpZ0J1ZmZlci5UYWdzLmludmFsaWRCdWZmZXIpIHsKLSAgICAgICAgdGhyb3cg
bmV3IFJlZmVyZW5jZUVycm9yKAotICAgICAgICAgICAgIkJpZ0J1ZmZlci5pbnZhbGlkQnVmZmVy
IGlzIG5vdCBjdXJyZW50bHkgc2V0LiIpOwotICAgICAgfQotICAgICAgcmV0dXJuIHRoaXMuJGRh
dGE7Ci0gICAgfSwKLQotICAgIHNldDogZnVuY3Rpb24odmFsdWUpIHsKLSAgICAgIHRoaXMuJHRh
ZyA9IEJpZ0J1ZmZlci5UYWdzLmludmFsaWRCdWZmZXI7Ci0gICAgICB0aGlzLiRkYXRhID0gdmFs
dWU7Ci0gICAgfQotICB9KTsKLQotCi0gICAgQmlnQnVmZmVyLmVuY29kZSA9IGZ1bmN0aW9uKGVu
Y29kZXIsIHZhbCkgewotICAgICAgaWYgKHZhbCA9PSBudWxsKSB7Ci0gICAgICAgIGVuY29kZXIu
d3JpdGVVaW50NjQoMCk7Ci0gICAgICAgIGVuY29kZXIud3JpdGVVaW50NjQoMCk7Ci0gICAgICAg
IHJldHVybjsKLSAgICAgIH0KLSAgICAgIGlmICh2YWwuJHRhZyA9PSB1bmRlZmluZWQpIHsKLSAg
ICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGVuY29kZSB1bmlvbnMgd2l0aCBhbiB1
bmtub3duIG1lbWJlciBzZXQuIik7Ci0gICAgICB9Ci0KLSAgICAgIGVuY29kZXIud3JpdGVVaW50
MzIoMTYpOwotICAgICAgZW5jb2Rlci53cml0ZVVpbnQzMih2YWwuJHRhZyk7Ci0gICAgICBzd2l0
Y2ggKHZhbC4kdGFnKSB7Ci0gICAgICAgIGNhc2UgQmlnQnVmZmVyLlRhZ3MuYnl0ZXM6Ci0gICAg
ICAgICAgZW5jb2Rlci5lbmNvZGVBcnJheVBvaW50ZXIoY29kZWMuVWludDgsIHZhbC5ieXRlcyk7
Ci0gICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgQmlnQnVmZmVyLlRhZ3Muc2hhcmVkTWVt
b3J5OgotICAgICAgICAgIGVuY29kZXIuZW5jb2RlU3RydWN0UG9pbnRlcihCaWdCdWZmZXJTaGFy
ZWRNZW1vcnlSZWdpb24sIHZhbC5zaGFyZWRNZW1vcnkpOwotICAgICAgICAgIGJyZWFrOwotICAg
ICAgICBjYXNlIEJpZ0J1ZmZlci5UYWdzLmludmFsaWRCdWZmZXI6Ci0gICAgICAgICAgZW5jb2Rl
ci53cml0ZVVpbnQ4KHZhbC5pbnZhbGlkQnVmZmVyID8gMSA6IDApOwotICAgICAgICAgIGJyZWFr
OwotICAgICAgfQotICAgICAgZW5jb2Rlci5hbGlnbigpOwotICAgIH07Ci0KLQotICAgIEJpZ0J1
ZmZlci5kZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgICB2YXIgc2l6ZSA9IGRlY29k
ZXIucmVhZFVpbnQzMigpOwotICAgICAgaWYgKHNpemUgPT0gMCkgewotICAgICAgICBkZWNvZGVy
LnJlYWRVaW50MzIoKTsKLSAgICAgICAgZGVjb2Rlci5yZWFkVWludDY0KCk7Ci0gICAgICAgIHJl
dHVybiBudWxsOwotICAgICAgfQotCi0gICAgICB2YXIgcmVzdWx0ID0gbmV3IEJpZ0J1ZmZlcigp
OwotICAgICAgdmFyIHRhZyA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgICAgc3dpdGNoICh0
YWcpIHsKLSAgICAgICAgY2FzZSBCaWdCdWZmZXIuVGFncy5ieXRlczoKLSAgICAgICAgICByZXN1
bHQuYnl0ZXMgPSBkZWNvZGVyLmRlY29kZUFycmF5UG9pbnRlcihjb2RlYy5VaW50OCk7Ci0gICAg
ICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgQmlnQnVmZmVyLlRhZ3Muc2hhcmVkTWVtb3J5Ogot
ICAgICAgICAgIHJlc3VsdC5zaGFyZWRNZW1vcnkgPSBkZWNvZGVyLmRlY29kZVN0cnVjdFBvaW50
ZXIoQmlnQnVmZmVyU2hhcmVkTWVtb3J5UmVnaW9uKTsKLSAgICAgICAgICBicmVhazsKLSAgICAg
ICAgY2FzZSBCaWdCdWZmZXIuVGFncy5pbnZhbGlkQnVmZmVyOgotICAgICAgICAgIHJlc3VsdC5p
bnZhbGlkQnVmZmVyID0gZGVjb2Rlci5yZWFkVWludDgoKSA/IHRydWUgOiBmYWxzZTsKLSAgICAg
ICAgICBicmVhazsKLSAgICAgIH0KLSAgICAgIGRlY29kZXIuYWxpZ24oKTsKLQotICAgICAgcmV0
dXJuIHJlc3VsdDsKLSAgICB9OwotCi0KLSAgICBCaWdCdWZmZXIudmFsaWRhdGUgPSBmdW5jdGlv
bihtZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsKLSAgICAgIHZhciBzaXplID0gbWVzc2FnZVZh
bGlkYXRvci5kZWNvZGVVbmlvblNpemUob2Zmc2V0KTsKLSAgICAgIGlmIChzaXplICE9IDE2KSB7
Ci0gICAgICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLklOVkFMSURfVU5JT05f
U0laRTsKLSAgICAgIH0KLQotICAgICAgdmFyIHRhZyA9IG1lc3NhZ2VWYWxpZGF0b3IuZGVjb2Rl
VW5pb25UYWcob2Zmc2V0KTsKLSAgICAgIHZhciBkYXRhX29mZnNldCA9IG9mZnNldCArIDg7Ci0g
ICAgICB2YXIgZXJyOwotICAgICAgc3dpdGNoICh0YWcpIHsKLSAgICAgICAgY2FzZSBCaWdCdWZm
ZXIuVGFncy5ieXRlczoKLQotCi0gICAgLy8gdmFsaWRhdGUgQmlnQnVmZmVyLmJ5dGVzCi0gICAg
ZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZUFycmF5UG9pbnRlcihkYXRhX29mZnNldCwg
MSwgY29kZWMuVWludDgsIGZhbHNlLCBbMF0sIDApOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRv
ci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLSAgICAgICAgICBi
cmVhazsKLSAgICAgICAgY2FzZSBCaWdCdWZmZXIuVGFncy5zaGFyZWRNZW1vcnk6Ci0KLQotICAg
IC8vIHZhbGlkYXRlIEJpZ0J1ZmZlci5zaGFyZWRNZW1vcnkKLSAgICBlcnIgPSBtZXNzYWdlVmFs
aWRhdG9yLnZhbGlkYXRlU3RydWN0UG9pbnRlcihkYXRhX29mZnNldCwgQmlnQnVmZmVyU2hhcmVk
TWVtb3J5UmVnaW9uLCBmYWxzZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRp
b25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotICAgICAgICAgIGJyZWFrOwotICAg
ICAgICBjYXNlIEJpZ0J1ZmZlci5UYWdzLmludmFsaWRCdWZmZXI6Ci0KLQotICAgICAgICAgIGJy
ZWFrOwotICAgICAgfQotCi0gICAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5O
T05FOwotICAgIH07Ci0KLSAgQmlnQnVmZmVyLmVuY29kZWRTaXplID0gMTY7Ci0gIGV4cG9ydHMu
QmlnQnVmZmVyU2hhcmVkTWVtb3J5UmVnaW9uID0gQmlnQnVmZmVyU2hhcmVkTWVtb3J5UmVnaW9u
OwotICBleHBvcnRzLkJpZ0J1ZmZlciA9IEJpZ0J1ZmZlcjsKLX0pKCk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJv
bWl1bS9iaWdfYnVmZmVyLm1vam9tLmpzLmhlYWRlcnMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS9iaWdfYnVmZmVyLm1vam9t
LmpzLmhlYWRlcnMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZjNjFhMzRhNGVjLi4w
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy9jaHJvbWl1bS9iaWdfYnVmZmVyLm1vam9tLmpzLmhlYWRlcnMKKysrIC9k
ZXYvbnVsbApAQCAtMSArMCwwIEBACi1Db250ZW50LVR5cGU6IHRleHQvamF2YXNjcmlwdDsgY2hh
cnNldD11dGYtOApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVt
L2NvbnRhY3RzX21hbmFnZXJfbW9jay5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL2NvbnRhY3RzX21hbmFnZXJfbW9jay5q
cwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYmJlZTY1YjBjOWUuLjAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL2Nocm9taXVtL2NvbnRhY3RzX21hbmFnZXJfbW9jay5qcworKysgL2Rldi9udWxsCkBAIC0x
LDkwICswLDAgQEAKLS8vIENvcHlyaWdodCAyMDE4IFRoZSBDaHJvbWl1bSBBdXRob3JzLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgotLy8gVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQg
YnkgYSBCU0Qtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQotLy8gZm91bmQgaW4gdGhlIExJQ0VO
U0UgZmlsZS4KLQotJ3VzZSBzdHJpY3QnOwotCi1jb25zdCBXZWJDb250YWN0c1Rlc3QgPSAoKCkg
PT4gewotICBjbGFzcyBNb2NrQ29udGFjdHMgewotICAgIGNvbnN0cnVjdG9yKCkgewotICAgICAg
dGhpcy5iaW5kaW5nU2V0XyA9IG5ldyBtb2pvLkJpbmRpbmdTZXQoYmxpbmsubW9qb20uQ29udGFj
dHNNYW5hZ2VyKTsKLQotICAgICAgdGhpcy5pbnRlcmNlcHRvcl8gPSBuZXcgTW9qb0ludGVyZmFj
ZUludGVyY2VwdG9yKAotICAgICAgICBibGluay5tb2pvbS5Db250YWN0c01hbmFnZXIubmFtZSwg
ImNvbnRleHQiLCB0cnVlKTsKLSAgICAgIHRoaXMuaW50ZXJjZXB0b3JfLm9uaW50ZXJmYWNlcmVx
dWVzdCA9Ci0gICAgICAgICAgZSA9PiB0aGlzLmJpbmRpbmdTZXRfLmFkZEJpbmRpbmcodGhpcywg
ZS5oYW5kbGUpOwotICAgICAgdGhpcy5pbnRlcmNlcHRvcl8uc3RhcnQoKTsKLQotICAgICAgdGhp
cy5zZWxlY3RlZENvbnRhY3RzXyA9IFtdOwotICAgIH0KLQotICAgIGZvcm1hdEFkZHJlc3NfKGFk
ZHJlc3MpIHsKLSAgICAgIC8vIFRoZXNlIGFyZSBhbGwgcmVxdWlyZWQgZmllbGRzIGluIHRoZSBt
b2pvIGRlZmluaXRpb24uCi0gICAgICByZXR1cm4gewotICAgICAgICBjb3VudHJ5OiBhZGRyZXNz
LmNvdW50cnkgfHwgJycsCi0gICAgICAgIGFkZHJlc3NMaW5lOiBhZGRyZXNzLmFkZHJlc3NMaW5l
IHx8IFtdLAotICAgICAgICByZWdpb246IGFkZHJlc3MucmVnaW9uIHx8ICcnLAotICAgICAgICBj
aXR5OiBhZGRyZXNzLmNpdHkgfHwgJycsCi0gICAgICAgIGRlcGVuZGVudExvY2FsaXR5OiBhZGRy
ZXNzLmRlcGVuZGVudExvY2FsaXR5IHx8ICcnLAotICAgICAgICBwb3N0YWxDb2RlOiBhZGRyZXNz
LnBvc3RDb2RlIHx8ICcnLAotICAgICAgICBzb3J0aW5nQ29kZTogYWRkcmVzcy5zb3J0aW5nQ29k
ZSB8fCAnJywKLSAgICAgICAgb3JnYW5pemF0aW9uOiBhZGRyZXNzLm9yZ2FuaXphdGlvbiB8fCAn
JywKLSAgICAgICAgcmVjaXBpZW50OiBhZGRyZXNzLnJlY2lwaWVudCB8fCAnJywKLSAgICAgICAg
cGhvbmU6IGFkZHJlc3MucGhvbmUgfHwgJycsCi0gICAgICB9OwotICAgIH0KLQotICAgIGFzeW5j
IHNlbGVjdChtdWx0aXBsZSwgaW5jbHVkZU5hbWVzLCBpbmNsdWRlRW1haWxzLCBpbmNsdWRlVGVs
LCBpbmNsdWRlQWRkcmVzc2VzLCBpbmNsdWRlSWNvbnMpIHsKLSAgICAgIGlmICh0aGlzLnNlbGVj
dGVkQ29udGFjdHNfID09PSBudWxsKQotICAgICAgICByZXR1cm4ge2NvbnRhY3RzOiBudWxsfTsK
LQotICAgICAgY29uc3QgY29udGFjdEluZm9zID0gYXdhaXQgUHJvbWlzZS5hbGwodGhpcy5zZWxl
Y3RlZENvbnRhY3RzXy5tYXAoYXN5bmMgY29udGFjdCA9PiB7Ci0gICAgICAgIGNvbnN0IGNvbnRh
Y3RJbmZvID0gbmV3IGJsaW5rLm1vam9tLkNvbnRhY3RJbmZvKCk7Ci0gICAgICAgIGlmIChpbmNs
dWRlTmFtZXMpCi0gICAgICAgICAgY29udGFjdEluZm8ubmFtZSA9IGNvbnRhY3QubmFtZSB8fCBb
XTsKLSAgICAgICAgaWYgKGluY2x1ZGVFbWFpbHMpCi0gICAgICAgICAgY29udGFjdEluZm8uZW1h
aWwgPSBjb250YWN0LmVtYWlsIHx8IFtdOwotICAgICAgICBpZiAoaW5jbHVkZVRlbCkKLSAgICAg
ICAgICBjb250YWN0SW5mby50ZWwgPSBjb250YWN0LnRlbCB8fCBbXTsKLSAgICAgICAgaWYgKGlu
Y2x1ZGVBZGRyZXNzZXMpIHsKLSAgICAgICAgICBjb250YWN0SW5mby5hZGRyZXNzID0gKGNvbnRh
Y3QuYWRkcmVzcyB8fCBbXSkubWFwKGFkZHJlc3MgPT4gdGhpcy5mb3JtYXRBZGRyZXNzXyhhZGRy
ZXNzKSk7Ci0gICAgICAgIH0KLSAgICAgICAgaWYgKGluY2x1ZGVJY29ucykgewotICAgICAgICAg
IGNvbnRhY3RJbmZvLmljb24gPSBhd2FpdCBQcm9taXNlLmFsbCgKLSAgICAgICAgICAgIChjb250
YWN0Lmljb24gfHwgW10pLm1hcChhc3luYyBibG9iID0+ICh7Ci0gICAgICAgICAgICAgIG1pbWVU
eXBlOiBibG9iLnR5cGUsCi0gICAgICAgICAgICAgIGRhdGE6IChhd2FpdCBibG9iLnRleHQoKSku
c3BsaXQoJycpLm1hcChzID0+IHMuY2hhckNvZGVBdCgwKSksCi0gICAgICAgICAgICB9KSkpOwot
ICAgICAgICB9Ci0gICAgICAgIHJldHVybiBjb250YWN0SW5mbzsKLSAgICAgIH0pKTsKLQotICAg
ICAgaWYgKCFjb250YWN0SW5mb3MubGVuZ3RoKSByZXR1cm4ge2NvbnRhY3RzOiBbXX07Ci0gICAg
ICBpZiAoIW11bHRpcGxlKSByZXR1cm4ge2NvbnRhY3RzOiBbY29udGFjdEluZm9zWzBdXX07Ci0g
ICAgICByZXR1cm4ge2NvbnRhY3RzOiBjb250YWN0SW5mb3N9OwotICAgIH0KLQotICAgIHNldFNl
bGVjdGVkQ29udGFjdHMoY29udGFjdHMpIHsKLSAgICAgIHRoaXMuc2VsZWN0ZWRDb250YWN0c18g
PSBjb250YWN0czsKLSAgICB9Ci0KLSAgICByZXNldCgpIHsKLSAgICAgIHRoaXMuYmluZGluZ1Nl
dF8uY2xvc2VBbGxCaW5kaW5ncygpOwotICAgICAgdGhpcy5pbnRlcmNlcHRvcl8uc3RvcCgpOwot
ICAgIH0KLSAgfQotCi0gIGNvbnN0IG1vY2tDb250YWN0cyA9IG5ldyBNb2NrQ29udGFjdHMoKTsK
LQotICBjbGFzcyBDb250YWN0c1Rlc3RDaHJvbWl1bSB7Ci0gICAgY29uc3RydWN0b3IoKSB7Ci0g
ICAgICBPYmplY3QuZnJlZXplKHRoaXMpOyAvLyBNYWtlIGl0IGltbXV0YWJsZS4KLSAgICB9Ci0K
LSAgICBzZXRTZWxlY3RlZENvbnRhY3RzKGNvbnRhY3RzKSB7Ci0gICAgICBtb2NrQ29udGFjdHMu
c2V0U2VsZWN0ZWRDb250YWN0cyhjb250YWN0cyk7Ci0gICAgfQotICB9Ci0KLSAgcmV0dXJuIENv
bnRhY3RzVGVzdENocm9taXVtOwotfSkoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL2RldmljZS5tb2pv
bS5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL2Nocm9taXVtL2RldmljZS5tb2pvbS5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggNjQ4OGNiYzY5YzIuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL2RldmljZS5tb2pvbS5qcwor
KysgL2Rldi9udWxsCkBAIC0xLDM3ODggKzAsMCBAQAotLy8gQ29weXJpZ2h0IDIwMTQgVGhlIENo
cm9taXVtIEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0vLyBVc2Ugb2YgdGhpcyBzb3Vy
Y2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCi0v
LyBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgotCi0ndXNlIHN0cmljdCc7Ci0KLShmdW5jdGlv
bigpIHsKLSAgdmFyIG1vam9tSWQgPSAnZGV2aWNlL3VzYi9wdWJsaWMvbW9qb20vZGV2aWNlLm1v
am9tJzsKLSAgaWYgKG1vam8uaW50ZXJuYWwuaXNNb2pvbUxvYWRlZChtb2pvbUlkKSkgewotICAg
IGNvbnNvbGUud2FybignVGhlIGZvbGxvd2luZyBtb2pvbSBpcyBsb2FkZWQgbXVsdGlwbGUgdGlt
ZXM6ICcgKyBtb2pvbUlkKTsKLSAgICByZXR1cm47Ci0gIH0KLSAgbW9qby5pbnRlcm5hbC5tYXJr
TW9qb21Mb2FkZWQobW9qb21JZCk7Ci0gIHZhciBiaW5kaW5ncyA9IG1vam87Ci0gIHZhciBhc3Nv
Y2lhdGVkQmluZGluZ3MgPSBtb2pvOwotICB2YXIgY29kZWMgPSBtb2pvLmludGVybmFsOwotICB2
YXIgdmFsaWRhdG9yID0gbW9qby5pbnRlcm5hbDsKLQotICB2YXIgZXhwb3J0cyA9IG1vam8uaW50
ZXJuYWwuZXhwb3NlTmFtZXNwYWNlKCdkZXZpY2UubW9qb20nKTsKLSAgdmFyIHN0cmluZzE2JCA9
Ci0gICAgICBtb2pvLmludGVybmFsLmV4cG9zZU5hbWVzcGFjZSgnbW9qb0Jhc2UubW9qb20nKTsK
LSAgaWYgKG1vam8uY29uZmlnLmF1dG9Mb2FkTW9qb21EZXBzKSB7Ci0gICAgbW9qby5pbnRlcm5h
bC5sb2FkTW9qb21JZk5lY2Vzc2FyeSgKLSAgICAgICAgJ21vam8vcHVibGljL21vam9tL2Jhc2Uv
c3RyaW5nMTYubW9qb20nLCAnLi4vLi4vLi4vLi4vbW9qby9wdWJsaWMvbW9qb20vYmFzZS9zdHJp
bmcxNi5tb2pvbS5qcycpOwotICB9Ci0gIHZhciB1cmwkID0KLSAgICAgIG1vam8uaW50ZXJuYWwu
ZXhwb3NlTmFtZXNwYWNlKCd1cmwubW9qb20nKTsKLSAgaWYgKG1vam8uY29uZmlnLmF1dG9Mb2Fk
TW9qb21EZXBzKSB7Ci0gICAgbW9qby5pbnRlcm5hbC5sb2FkTW9qb21JZk5lY2Vzc2FyeSgKLSAg
ICAgICAgJ3VybC9tb2pvbS91cmwubW9qb20nLCAnLi4vLi4vLi4vLi4vdXJsL21vam9tL3VybC5t
b2pvbS5qcycpOwotICB9Ci0KLQotICB2YXIgVXNiT3BlbkRldmljZUVycm9yID0ge307Ci0gIFVz
Yk9wZW5EZXZpY2VFcnJvci5PSyA9IDA7Ci0gIFVzYk9wZW5EZXZpY2VFcnJvci5BQ0NFU1NfREVO
SUVEID0gVXNiT3BlbkRldmljZUVycm9yLk9LICsgMTsKLSAgVXNiT3BlbkRldmljZUVycm9yLkFM
UkVBRFlfT1BFTiA9IFVzYk9wZW5EZXZpY2VFcnJvci5BQ0NFU1NfREVOSUVEICsgMTsKLSAgVXNi
T3BlbkRldmljZUVycm9yLk1JTl9WQUxVRSA9IDAsCi0gIFVzYk9wZW5EZXZpY2VFcnJvci5NQVhf
VkFMVUUgPSAyLAotCi0gIFVzYk9wZW5EZXZpY2VFcnJvci5pc0tub3duRW51bVZhbHVlID0gZnVu
Y3Rpb24odmFsdWUpIHsKLSAgICBzd2l0Y2ggKHZhbHVlKSB7Ci0gICAgY2FzZSAwOgotICAgIGNh
c2UgMToKLSAgICBjYXNlIDI6Ci0gICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9Ci0gICAgcmV0dXJu
IGZhbHNlOwotICB9OwotCi0gIFVzYk9wZW5EZXZpY2VFcnJvci52YWxpZGF0ZSA9IGZ1bmN0aW9u
KGVudW1WYWx1ZSkgewotICAgIHZhciBpc0V4dGVuc2libGUgPSBmYWxzZTsKLSAgICBpZiAoaXNF
eHRlbnNpYmxlIHx8IHRoaXMuaXNLbm93bkVudW1WYWx1ZShlbnVtVmFsdWUpKQotICAgICAgcmV0
dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORTsKLQotICAgIHJldHVybiB2YWxpZGF0
b3IudmFsaWRhdGlvbkVycm9yLlVOS05PV05fRU5VTV9WQUxVRTsKLSAgfTsKLSAgdmFyIFVzYlRy
YW5zZmVyRGlyZWN0aW9uID0ge307Ci0gIFVzYlRyYW5zZmVyRGlyZWN0aW9uLklOQk9VTkQgPSAw
OwotICBVc2JUcmFuc2ZlckRpcmVjdGlvbi5PVVRCT1VORCA9IFVzYlRyYW5zZmVyRGlyZWN0aW9u
LklOQk9VTkQgKyAxOwotICBVc2JUcmFuc2ZlckRpcmVjdGlvbi5NSU5fVkFMVUUgPSAwLAotICBV
c2JUcmFuc2ZlckRpcmVjdGlvbi5NQVhfVkFMVUUgPSAxLAotCi0gIFVzYlRyYW5zZmVyRGlyZWN0
aW9uLmlzS25vd25FbnVtVmFsdWUgPSBmdW5jdGlvbih2YWx1ZSkgewotICAgIHN3aXRjaCAodmFs
dWUpIHsKLSAgICBjYXNlIDA6Ci0gICAgY2FzZSAxOgotICAgICAgcmV0dXJuIHRydWU7Ci0gICAg
fQotICAgIHJldHVybiBmYWxzZTsKLSAgfTsKLQotICBVc2JUcmFuc2ZlckRpcmVjdGlvbi52YWxp
ZGF0ZSA9IGZ1bmN0aW9uKGVudW1WYWx1ZSkgewotICAgIHZhciBpc0V4dGVuc2libGUgPSBmYWxz
ZTsKLSAgICBpZiAoaXNFeHRlbnNpYmxlIHx8IHRoaXMuaXNLbm93bkVudW1WYWx1ZShlbnVtVmFs
dWUpKQotICAgICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORTsKLQotICAg
IHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLlVOS05PV05fRU5VTV9WQUxVRTsKLSAg
fTsKLSAgdmFyIFVzYkNvbnRyb2xUcmFuc2ZlclR5cGUgPSB7fTsKLSAgVXNiQ29udHJvbFRyYW5z
ZmVyVHlwZS5TVEFOREFSRCA9IDA7Ci0gIFVzYkNvbnRyb2xUcmFuc2ZlclR5cGUuQ0xBU1MgPSBV
c2JDb250cm9sVHJhbnNmZXJUeXBlLlNUQU5EQVJEICsgMTsKLSAgVXNiQ29udHJvbFRyYW5zZmVy
VHlwZS5WRU5ET1IgPSBVc2JDb250cm9sVHJhbnNmZXJUeXBlLkNMQVNTICsgMTsKLSAgVXNiQ29u
dHJvbFRyYW5zZmVyVHlwZS5SRVNFUlZFRCA9IFVzYkNvbnRyb2xUcmFuc2ZlclR5cGUuVkVORE9S
ICsgMTsKLSAgVXNiQ29udHJvbFRyYW5zZmVyVHlwZS5NSU5fVkFMVUUgPSAwLAotICBVc2JDb250
cm9sVHJhbnNmZXJUeXBlLk1BWF9WQUxVRSA9IDMsCi0KLSAgVXNiQ29udHJvbFRyYW5zZmVyVHlw
ZS5pc0tub3duRW51bVZhbHVlID0gZnVuY3Rpb24odmFsdWUpIHsKLSAgICBzd2l0Y2ggKHZhbHVl
KSB7Ci0gICAgY2FzZSAwOgotICAgIGNhc2UgMToKLSAgICBjYXNlIDI6Ci0gICAgY2FzZSAzOgot
ICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfQotICAgIHJldHVybiBmYWxzZTsKLSAgfTsKLQotICBV
c2JDb250cm9sVHJhbnNmZXJUeXBlLnZhbGlkYXRlID0gZnVuY3Rpb24oZW51bVZhbHVlKSB7Ci0g
ICAgdmFyIGlzRXh0ZW5zaWJsZSA9IGZhbHNlOwotICAgIGlmIChpc0V4dGVuc2libGUgfHwgdGhp
cy5pc0tub3duRW51bVZhbHVlKGVudW1WYWx1ZSkpCi0gICAgICByZXR1cm4gdmFsaWRhdG9yLnZh
bGlkYXRpb25FcnJvci5OT05FOwotCi0gICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJy
b3IuVU5LTk9XTl9FTlVNX1ZBTFVFOwotICB9OwotICB2YXIgVXNiQ29udHJvbFRyYW5zZmVyUmVj
aXBpZW50ID0ge307Ci0gIFVzYkNvbnRyb2xUcmFuc2ZlclJlY2lwaWVudC5ERVZJQ0UgPSAwOwot
ICBVc2JDb250cm9sVHJhbnNmZXJSZWNpcGllbnQuSU5URVJGQUNFID0gVXNiQ29udHJvbFRyYW5z
ZmVyUmVjaXBpZW50LkRFVklDRSArIDE7Ci0gIFVzYkNvbnRyb2xUcmFuc2ZlclJlY2lwaWVudC5F
TkRQT0lOVCA9IFVzYkNvbnRyb2xUcmFuc2ZlclJlY2lwaWVudC5JTlRFUkZBQ0UgKyAxOwotICBV
c2JDb250cm9sVHJhbnNmZXJSZWNpcGllbnQuT1RIRVIgPSBVc2JDb250cm9sVHJhbnNmZXJSZWNp
cGllbnQuRU5EUE9JTlQgKyAxOwotICBVc2JDb250cm9sVHJhbnNmZXJSZWNpcGllbnQuTUlOX1ZB
TFVFID0gMCwKLSAgVXNiQ29udHJvbFRyYW5zZmVyUmVjaXBpZW50Lk1BWF9WQUxVRSA9IDMsCi0K
LSAgVXNiQ29udHJvbFRyYW5zZmVyUmVjaXBpZW50LmlzS25vd25FbnVtVmFsdWUgPSBmdW5jdGlv
bih2YWx1ZSkgewotICAgIHN3aXRjaCAodmFsdWUpIHsKLSAgICBjYXNlIDA6Ci0gICAgY2FzZSAx
OgotICAgIGNhc2UgMjoKLSAgICBjYXNlIDM6Ci0gICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9Ci0g
ICAgcmV0dXJuIGZhbHNlOwotICB9OwotCi0gIFVzYkNvbnRyb2xUcmFuc2ZlclJlY2lwaWVudC52
YWxpZGF0ZSA9IGZ1bmN0aW9uKGVudW1WYWx1ZSkgewotICAgIHZhciBpc0V4dGVuc2libGUgPSBm
YWxzZTsKLSAgICBpZiAoaXNFeHRlbnNpYmxlIHx8IHRoaXMuaXNLbm93bkVudW1WYWx1ZShlbnVt
VmFsdWUpKQotICAgICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORTsKLQot
ICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLlVOS05PV05fRU5VTV9WQUxVRTsK
LSAgfTsKLSAgdmFyIFVzYlRyYW5zZmVyVHlwZSA9IHt9OwotICBVc2JUcmFuc2ZlclR5cGUuQ09O
VFJPTCA9IDA7Ci0gIFVzYlRyYW5zZmVyVHlwZS5JU09DSFJPTk9VUyA9IFVzYlRyYW5zZmVyVHlw
ZS5DT05UUk9MICsgMTsKLSAgVXNiVHJhbnNmZXJUeXBlLkJVTEsgPSBVc2JUcmFuc2ZlclR5cGUu
SVNPQ0hST05PVVMgKyAxOwotICBVc2JUcmFuc2ZlclR5cGUuSU5URVJSVVBUID0gVXNiVHJhbnNm
ZXJUeXBlLkJVTEsgKyAxOwotICBVc2JUcmFuc2ZlclR5cGUuTUlOX1ZBTFVFID0gMCwKLSAgVXNi
VHJhbnNmZXJUeXBlLk1BWF9WQUxVRSA9IDMsCi0KLSAgVXNiVHJhbnNmZXJUeXBlLmlzS25vd25F
bnVtVmFsdWUgPSBmdW5jdGlvbih2YWx1ZSkgewotICAgIHN3aXRjaCAodmFsdWUpIHsKLSAgICBj
YXNlIDA6Ci0gICAgY2FzZSAxOgotICAgIGNhc2UgMjoKLSAgICBjYXNlIDM6Ci0gICAgICByZXR1
cm4gdHJ1ZTsKLSAgICB9Ci0gICAgcmV0dXJuIGZhbHNlOwotICB9OwotCi0gIFVzYlRyYW5zZmVy
VHlwZS52YWxpZGF0ZSA9IGZ1bmN0aW9uKGVudW1WYWx1ZSkgewotICAgIHZhciBpc0V4dGVuc2li
bGUgPSBmYWxzZTsKLSAgICBpZiAoaXNFeHRlbnNpYmxlIHx8IHRoaXMuaXNLbm93bkVudW1WYWx1
ZShlbnVtVmFsdWUpKQotICAgICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9O
RTsKLQotICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLlVOS05PV05fRU5VTV9W
QUxVRTsKLSAgfTsKLSAgdmFyIFVzYlN5bmNocm9uaXphdGlvblR5cGUgPSB7fTsKLSAgVXNiU3lu
Y2hyb25pemF0aW9uVHlwZS5OT05FID0gMDsKLSAgVXNiU3luY2hyb25pemF0aW9uVHlwZS5BU1lO
Q0hST05PVVMgPSBVc2JTeW5jaHJvbml6YXRpb25UeXBlLk5PTkUgKyAxOwotICBVc2JTeW5jaHJv
bml6YXRpb25UeXBlLkFEQVBUSVZFID0gVXNiU3luY2hyb25pemF0aW9uVHlwZS5BU1lOQ0hST05P
VVMgKyAxOwotICBVc2JTeW5jaHJvbml6YXRpb25UeXBlLlNZTkNIUk9OT1VTID0gVXNiU3luY2hy
b25pemF0aW9uVHlwZS5BREFQVElWRSArIDE7Ci0gIFVzYlN5bmNocm9uaXphdGlvblR5cGUuTUlO
X1ZBTFVFID0gMCwKLSAgVXNiU3luY2hyb25pemF0aW9uVHlwZS5NQVhfVkFMVUUgPSAzLAotCi0g
IFVzYlN5bmNocm9uaXphdGlvblR5cGUuaXNLbm93bkVudW1WYWx1ZSA9IGZ1bmN0aW9uKHZhbHVl
KSB7Ci0gICAgc3dpdGNoICh2YWx1ZSkgewotICAgIGNhc2UgMDoKLSAgICBjYXNlIDE6Ci0gICAg
Y2FzZSAyOgotICAgIGNhc2UgMzoKLSAgICAgIHJldHVybiB0cnVlOwotICAgIH0KLSAgICByZXR1
cm4gZmFsc2U7Ci0gIH07Ci0KLSAgVXNiU3luY2hyb25pemF0aW9uVHlwZS52YWxpZGF0ZSA9IGZ1
bmN0aW9uKGVudW1WYWx1ZSkgewotICAgIHZhciBpc0V4dGVuc2libGUgPSBmYWxzZTsKLSAgICBp
ZiAoaXNFeHRlbnNpYmxlIHx8IHRoaXMuaXNLbm93bkVudW1WYWx1ZShlbnVtVmFsdWUpKQotICAg
ICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORTsKLQotICAgIHJldHVybiB2
YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLlVOS05PV05fRU5VTV9WQUxVRTsKLSAgfTsKLSAgdmFy
IFVzYlVzYWdlVHlwZSA9IHt9OwotICBVc2JVc2FnZVR5cGUuREFUQSA9IDA7Ci0gIFVzYlVzYWdl
VHlwZS5GRUVEQkFDSyA9IFVzYlVzYWdlVHlwZS5EQVRBICsgMTsKLSAgVXNiVXNhZ2VUeXBlLkVY
UExJQ0lUX0ZFRURCQUNLID0gVXNiVXNhZ2VUeXBlLkZFRURCQUNLICsgMTsKLSAgVXNiVXNhZ2VU
eXBlLlBFUklPRElDID0gVXNiVXNhZ2VUeXBlLkVYUExJQ0lUX0ZFRURCQUNLICsgMTsKLSAgVXNi
VXNhZ2VUeXBlLk5PVElGSUNBVElPTiA9IFVzYlVzYWdlVHlwZS5QRVJJT0RJQyArIDE7Ci0gIFVz
YlVzYWdlVHlwZS5SRVNFUlZFRCA9IFVzYlVzYWdlVHlwZS5OT1RJRklDQVRJT04gKyAxOwotICBV
c2JVc2FnZVR5cGUuTUlOX1ZBTFVFID0gMCwKLSAgVXNiVXNhZ2VUeXBlLk1BWF9WQUxVRSA9IDUs
Ci0KLSAgVXNiVXNhZ2VUeXBlLmlzS25vd25FbnVtVmFsdWUgPSBmdW5jdGlvbih2YWx1ZSkgewot
ICAgIHN3aXRjaCAodmFsdWUpIHsKLSAgICBjYXNlIDA6Ci0gICAgY2FzZSAxOgotICAgIGNhc2Ug
MjoKLSAgICBjYXNlIDM6Ci0gICAgY2FzZSA0OgotICAgIGNhc2UgNToKLSAgICAgIHJldHVybiB0
cnVlOwotICAgIH0KLSAgICByZXR1cm4gZmFsc2U7Ci0gIH07Ci0KLSAgVXNiVXNhZ2VUeXBlLnZh
bGlkYXRlID0gZnVuY3Rpb24oZW51bVZhbHVlKSB7Ci0gICAgdmFyIGlzRXh0ZW5zaWJsZSA9IGZh
bHNlOwotICAgIGlmIChpc0V4dGVuc2libGUgfHwgdGhpcy5pc0tub3duRW51bVZhbHVlKGVudW1W
YWx1ZSkpCi0gICAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwotCi0g
ICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuVU5LTk9XTl9FTlVNX1ZBTFVFOwot
ICB9OwotICB2YXIgVXNiVHJhbnNmZXJTdGF0dXMgPSB7fTsKLSAgVXNiVHJhbnNmZXJTdGF0dXMu
Q09NUExFVEVEID0gMDsKLSAgVXNiVHJhbnNmZXJTdGF0dXMuVFJBTlNGRVJfRVJST1IgPSBVc2JU
cmFuc2ZlclN0YXR1cy5DT01QTEVURUQgKyAxOwotICBVc2JUcmFuc2ZlclN0YXR1cy5USU1FT1VU
ID0gVXNiVHJhbnNmZXJTdGF0dXMuVFJBTlNGRVJfRVJST1IgKyAxOwotICBVc2JUcmFuc2ZlclN0
YXR1cy5DQU5DRUxMRUQgPSBVc2JUcmFuc2ZlclN0YXR1cy5USU1FT1VUICsgMTsKLSAgVXNiVHJh
bnNmZXJTdGF0dXMuU1RBTExFRCA9IFVzYlRyYW5zZmVyU3RhdHVzLkNBTkNFTExFRCArIDE7Ci0g
IFVzYlRyYW5zZmVyU3RhdHVzLkRJU0NPTk5FQ1QgPSBVc2JUcmFuc2ZlclN0YXR1cy5TVEFMTEVE
ICsgMTsKLSAgVXNiVHJhbnNmZXJTdGF0dXMuQkFCQkxFID0gVXNiVHJhbnNmZXJTdGF0dXMuRElT
Q09OTkVDVCArIDE7Ci0gIFVzYlRyYW5zZmVyU3RhdHVzLlNIT1JUX1BBQ0tFVCA9IFVzYlRyYW5z
ZmVyU3RhdHVzLkJBQkJMRSArIDE7Ci0gIFVzYlRyYW5zZmVyU3RhdHVzLlBFUk1JU1NJT05fREVO
SUVEID0gVXNiVHJhbnNmZXJTdGF0dXMuU0hPUlRfUEFDS0VUICsgMTsKLSAgVXNiVHJhbnNmZXJT
dGF0dXMuTUlOX1ZBTFVFID0gMCwKLSAgVXNiVHJhbnNmZXJTdGF0dXMuTUFYX1ZBTFVFID0gOCwK
LQotICBVc2JUcmFuc2ZlclN0YXR1cy5pc0tub3duRW51bVZhbHVlID0gZnVuY3Rpb24odmFsdWUp
IHsKLSAgICBzd2l0Y2ggKHZhbHVlKSB7Ci0gICAgY2FzZSAwOgotICAgIGNhc2UgMToKLSAgICBj
YXNlIDI6Ci0gICAgY2FzZSAzOgotICAgIGNhc2UgNDoKLSAgICBjYXNlIDU6Ci0gICAgY2FzZSA2
OgotICAgIGNhc2UgNzoKLSAgICBjYXNlIDg6Ci0gICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9Ci0g
ICAgcmV0dXJuIGZhbHNlOwotICB9OwotCi0gIFVzYlRyYW5zZmVyU3RhdHVzLnZhbGlkYXRlID0g
ZnVuY3Rpb24oZW51bVZhbHVlKSB7Ci0gICAgdmFyIGlzRXh0ZW5zaWJsZSA9IGZhbHNlOwotICAg
IGlmIChpc0V4dGVuc2libGUgfHwgdGhpcy5pc0tub3duRW51bVZhbHVlKGVudW1WYWx1ZSkpCi0g
ICAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwotCi0gICAgcmV0dXJu
IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuVU5LTk9XTl9FTlVNX1ZBTFVFOwotICB9OwotCi0g
IGZ1bmN0aW9uIFVzYkVuZHBvaW50SW5mbyh2YWx1ZXMpIHsKLSAgICB0aGlzLmluaXREZWZhdWx0
c18oKTsKLSAgICB0aGlzLmluaXRGaWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0gIFVzYkVuZHBv
aW50SW5mby5wcm90b3R5cGUuaW5pdERlZmF1bHRzXyA9IGZ1bmN0aW9uKCkgewotICAgIHRoaXMu
ZW5kcG9pbnROdW1iZXIgPSAwOwotICAgIHRoaXMucG9sbGluZ0ludGVydmFsID0gMDsKLSAgICB0
aGlzLmRpcmVjdGlvbiA9IDA7Ci0gICAgdGhpcy50eXBlID0gMDsKLSAgICB0aGlzLnBhY2tldFNp
emUgPSAwOwotICAgIHRoaXMuc3luY2hyb25pemF0aW9uVHlwZSA9IDA7Ci0gICAgdGhpcy51c2Fn
ZVR5cGUgPSAwOwotICAgIHRoaXMuZXh0cmFEYXRhID0gbnVsbDsKLSAgfTsKLSAgVXNiRW5kcG9p
bnRJbmZvLnByb3RvdHlwZS5pbml0RmllbGRzXyA9IGZ1bmN0aW9uKGZpZWxkcykgewotICAgIGZv
cih2YXIgZmllbGQgaW4gZmllbGRzKSB7Ci0gICAgICAgIGlmICh0aGlzLmhhc093blByb3BlcnR5
KGZpZWxkKSkKLSAgICAgICAgICB0aGlzW2ZpZWxkXSA9IGZpZWxkc1tmaWVsZF07Ci0gICAgfQot
ICB9OwotCi0gIFVzYkVuZHBvaW50SW5mby52YWxpZGF0ZSA9IGZ1bmN0aW9uKG1lc3NhZ2VWYWxp
ZGF0b3IsIG9mZnNldCkgewotICAgIHZhciBlcnI7Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRv
ci52YWxpZGF0ZVN0cnVjdEhlYWRlcihvZmZzZXQsIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplKTsK
LSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAg
IHJldHVybiBlcnI7Ci0KLSAgICB2YXIga1ZlcnNpb25TaXplcyA9IFsKLSAgICAgIHt2ZXJzaW9u
OiAwLCBudW1CeXRlczogNDB9Ci0gICAgXTsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZh
bGlkYXRlU3RydWN0VmVyc2lvbihvZmZzZXQsIGtWZXJzaW9uU2l6ZXMpOwotICAgIGlmIChlcnIg
IT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsK
LQotCi0KLSAgICAvLyB2YWxpZGF0ZSBVc2JFbmRwb2ludEluZm8uZGlyZWN0aW9uCi0gICAgZXJy
ID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZUVudW0ob2Zmc2V0ICsgY29kZWMua1N0cnVjdEhl
YWRlclNpemUgKyA0LCBVc2JUcmFuc2ZlckRpcmVjdGlvbik7Ci0gICAgaWYgKGVyciAhPT0gdmFs
aWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0KLSAg
ICAvLyB2YWxpZGF0ZSBVc2JFbmRwb2ludEluZm8udHlwZQotICAgIGVyciA9IG1lc3NhZ2VWYWxp
ZGF0b3IudmFsaWRhdGVFbnVtKG9mZnNldCArIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgOCwg
VXNiVHJhbnNmZXJUeXBlKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVy
cm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotCi0gICAgLy8gdmFsaWRhdGUgVXNi
RW5kcG9pbnRJbmZvLnN5bmNocm9uaXphdGlvblR5cGUKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRh
dG9yLnZhbGlkYXRlRW51bShvZmZzZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDE2LCBV
c2JTeW5jaHJvbml6YXRpb25UeXBlKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRh
dGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotICAgIC8vIHZhbGlkYXRl
IFVzYkVuZHBvaW50SW5mby51c2FnZVR5cGUKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZh
bGlkYXRlRW51bShvZmZzZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDIwLCBVc2JVc2Fn
ZVR5cGUpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkK
LSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0KLSAgICAvLyB2YWxpZGF0ZSBVc2JFbmRwb2ludElu
Zm8uZXh0cmFEYXRhCi0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZUFycmF5UG9p
bnRlcihvZmZzZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDI0LCAxLCBjb2RlYy5VaW50
OCwgZmFsc2UsIFswXSwgMCk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25F
cnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgcmV0dXJuIHZhbGlkYXRvci52
YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQotICBVc2JFbmRwb2ludEluZm8uZW5jb2RlZFNp
emUgPSBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDMyOwotCi0gIFVzYkVuZHBvaW50SW5mby5k
ZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICB2YXIgdmFs
ID0gbmV3IFVzYkVuZHBvaW50SW5mbygpOwotICAgIHZhciBudW1iZXJPZkJ5dGVzID0gZGVjb2Rl
ci5yZWFkVWludDMyKCk7Ci0gICAgdmFyIHZlcnNpb24gPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsK
LSAgICB2YWwuZW5kcG9pbnROdW1iZXIgPSBkZWNvZGVyLmRlY29kZVN0cnVjdChjb2RlYy5VaW50
OCk7Ci0gICAgdmFsLnBvbGxpbmdJbnRlcnZhbCA9IGRlY29kZXIuZGVjb2RlU3RydWN0KGNvZGVj
LlVpbnQ4KTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAg
IHZhbC5kaXJlY3Rpb24gPSBkZWNvZGVyLmRlY29kZVN0cnVjdChjb2RlYy5JbnQzMik7Ci0gICAg
dmFsLnR5cGUgPSBkZWNvZGVyLmRlY29kZVN0cnVjdChjb2RlYy5JbnQzMik7Ci0gICAgdmFsLnBh
Y2tldFNpemUgPSBkZWNvZGVyLmRlY29kZVN0cnVjdChjb2RlYy5VaW50MzIpOwotICAgIHZhbC5z
eW5jaHJvbml6YXRpb25UeXBlID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoY29kZWMuSW50MzIpOwot
ICAgIHZhbC51c2FnZVR5cGUgPSBkZWNvZGVyLmRlY29kZVN0cnVjdChjb2RlYy5JbnQzMik7Ci0g
ICAgdmFsLmV4dHJhRGF0YSA9IGRlY29kZXIuZGVjb2RlQXJyYXlQb2ludGVyKGNvZGVjLlVpbnQ4
KTsKLSAgICByZXR1cm4gdmFsOwotICB9OwotCi0gIFVzYkVuZHBvaW50SW5mby5lbmNvZGUgPSBm
dW5jdGlvbihlbmNvZGVyLCB2YWwpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIGVuY29kZXIud3Jp
dGVVaW50MzIoVXNiRW5kcG9pbnRJbmZvLmVuY29kZWRTaXplKTsKLSAgICBlbmNvZGVyLndyaXRl
VWludDMyKDApOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNvZGVjLlVpbnQ4LCB2YWwuZW5k
cG9pbnROdW1iZXIpOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNvZGVjLlVpbnQ4LCB2YWwu
cG9sbGluZ0ludGVydmFsKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lw
KDEpOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNvZGVjLkludDMyLCB2YWwuZGlyZWN0aW9u
KTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdChjb2RlYy5JbnQzMiwgdmFsLnR5cGUpOwotICAg
IGVuY29kZXIuZW5jb2RlU3RydWN0KGNvZGVjLlVpbnQzMiwgdmFsLnBhY2tldFNpemUpOwotICAg
IGVuY29kZXIuZW5jb2RlU3RydWN0KGNvZGVjLkludDMyLCB2YWwuc3luY2hyb25pemF0aW9uVHlw
ZSk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3QoY29kZWMuSW50MzIsIHZhbC51c2FnZVR5cGUp
OwotICAgIGVuY29kZXIuZW5jb2RlQXJyYXlQb2ludGVyKGNvZGVjLlVpbnQ4LCB2YWwuZXh0cmFE
YXRhKTsKLSAgfTsKLSAgZnVuY3Rpb24gVXNiQWx0ZXJuYXRlSW50ZXJmYWNlSW5mbyh2YWx1ZXMp
IHsKLSAgICB0aGlzLmluaXREZWZhdWx0c18oKTsKLSAgICB0aGlzLmluaXRGaWVsZHNfKHZhbHVl
cyk7Ci0gIH0KLQotCi0gIFVzYkFsdGVybmF0ZUludGVyZmFjZUluZm8ucHJvdG90eXBlLmluaXRE
ZWZhdWx0c18gPSBmdW5jdGlvbigpIHsKLSAgICB0aGlzLmFsdGVybmF0ZVNldHRpbmcgPSAwOwot
ICAgIHRoaXMuY2xhc3NDb2RlID0gMDsKLSAgICB0aGlzLnN1YmNsYXNzQ29kZSA9IDA7Ci0gICAg
dGhpcy5wcm90b2NvbENvZGUgPSAwOwotICAgIHRoaXMuaW50ZXJmYWNlTmFtZSA9IG51bGw7Ci0g
ICAgdGhpcy5lbmRwb2ludHMgPSBudWxsOwotICAgIHRoaXMuZXh0cmFEYXRhID0gbnVsbDsKLSAg
fTsKLSAgVXNiQWx0ZXJuYXRlSW50ZXJmYWNlSW5mby5wcm90b3R5cGUuaW5pdEZpZWxkc18gPSBm
dW5jdGlvbihmaWVsZHMpIHsKLSAgICBmb3IodmFyIGZpZWxkIGluIGZpZWxkcykgewotICAgICAg
ICBpZiAodGhpcy5oYXNPd25Qcm9wZXJ0eShmaWVsZCkpCi0gICAgICAgICAgdGhpc1tmaWVsZF0g
PSBmaWVsZHNbZmllbGRdOwotICAgIH0KLSAgfTsKLQotICBVc2JBbHRlcm5hdGVJbnRlcmZhY2VJ
bmZvLnZhbGlkYXRlID0gZnVuY3Rpb24obWVzc2FnZVZhbGlkYXRvciwgb2Zmc2V0KSB7Ci0gICAg
dmFyIGVycjsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0SGVhZGVy
KG9mZnNldCwgY29kZWMua1N0cnVjdEhlYWRlclNpemUpOwotICAgIGlmIChlcnIgIT09IHZhbGlk
YXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHZh
ciBrVmVyc2lvblNpemVzID0gWwotICAgICAge3ZlcnNpb246IDAsIG51bUJ5dGVzOiA0MH0KLSAg
ICBdOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RWZXJzaW9uKG9m
ZnNldCwga1ZlcnNpb25TaXplcyk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRp
b25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0KLQotCi0KLQotICAgIC8vIHZh
bGlkYXRlIFVzYkFsdGVybmF0ZUludGVyZmFjZUluZm8uaW50ZXJmYWNlTmFtZQotICAgIGVyciA9
IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RQb2ludGVyKG9mZnNldCArIGNvZGVjLmtT
dHJ1Y3RIZWFkZXJTaXplICsgOCwgc3RyaW5nMTYkLlN0cmluZzE2LCB0cnVlKTsKLSAgICBpZiAo
ZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBl
cnI7Ci0KLQotICAgIC8vIHZhbGlkYXRlIFVzYkFsdGVybmF0ZUludGVyZmFjZUluZm8uZW5kcG9p
bnRzCi0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZUFycmF5UG9pbnRlcihvZmZz
ZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDE2LCA4LCBuZXcgY29kZWMuUG9pbnRlclRv
KFVzYkVuZHBvaW50SW5mbyksIGZhbHNlLCBbMF0sIDApOwotICAgIGlmIChlcnIgIT09IHZhbGlk
YXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0gICAg
Ly8gdmFsaWRhdGUgVXNiQWx0ZXJuYXRlSW50ZXJmYWNlSW5mby5leHRyYURhdGEKLSAgICBlcnIg
PSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlQXJyYXlQb2ludGVyKG9mZnNldCArIGNvZGVjLmtT
dHJ1Y3RIZWFkZXJTaXplICsgMjQsIDEsIGNvZGVjLlVpbnQ4LCBmYWxzZSwgWzBdLCAwKTsKLSAg
ICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJl
dHVybiBlcnI7Ci0KLSAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwot
ICB9OwotCi0gIFVzYkFsdGVybmF0ZUludGVyZmFjZUluZm8uZW5jb2RlZFNpemUgPSBjb2RlYy5r
U3RydWN0SGVhZGVyU2l6ZSArIDMyOwotCi0gIFVzYkFsdGVybmF0ZUludGVyZmFjZUluZm8uZGVj
b2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgdmFyIHZhbCA9
IG5ldyBVc2JBbHRlcm5hdGVJbnRlcmZhY2VJbmZvKCk7Ci0gICAgdmFyIG51bWJlck9mQnl0ZXMg
PSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YXIgdmVyc2lvbiA9IGRlY29kZXIucmVhZFVp
bnQzMigpOwotICAgIHZhbC5hbHRlcm5hdGVTZXR0aW5nID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3Qo
Y29kZWMuVWludDgpOwotICAgIHZhbC5jbGFzc0NvZGUgPSBkZWNvZGVyLmRlY29kZVN0cnVjdChj
b2RlYy5VaW50OCk7Ci0gICAgdmFsLnN1YmNsYXNzQ29kZSA9IGRlY29kZXIuZGVjb2RlU3RydWN0
KGNvZGVjLlVpbnQ4KTsKLSAgICB2YWwucHJvdG9jb2xDb2RlID0gZGVjb2Rlci5kZWNvZGVTdHJ1
Y3QoY29kZWMuVWludDgpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAo
MSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICB2YWwu
aW50ZXJmYWNlTmFtZSA9IGRlY29kZXIuZGVjb2RlU3RydWN0UG9pbnRlcihzdHJpbmcxNiQuU3Ry
aW5nMTYpOwotICAgIHZhbC5lbmRwb2ludHMgPSBkZWNvZGVyLmRlY29kZUFycmF5UG9pbnRlcihu
ZXcgY29kZWMuUG9pbnRlclRvKFVzYkVuZHBvaW50SW5mbykpOwotICAgIHZhbC5leHRyYURhdGEg
PSBkZWNvZGVyLmRlY29kZUFycmF5UG9pbnRlcihjb2RlYy5VaW50OCk7Ci0gICAgcmV0dXJuIHZh
bDsKLSAgfTsKLQotICBVc2JBbHRlcm5hdGVJbnRlcmZhY2VJbmZvLmVuY29kZSA9IGZ1bmN0aW9u
KGVuY29kZXIsIHZhbCkgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQz
MihVc2JBbHRlcm5hdGVJbnRlcmZhY2VJbmZvLmVuY29kZWRTaXplKTsKLSAgICBlbmNvZGVyLndy
aXRlVWludDMyKDApOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNvZGVjLlVpbnQ4LCB2YWwu
YWx0ZXJuYXRlU2V0dGluZyk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3QoY29kZWMuVWludDgs
IHZhbC5jbGFzc0NvZGUpOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNvZGVjLlVpbnQ4LCB2
YWwuc3ViY2xhc3NDb2RlKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdChjb2RlYy5VaW50OCwg
dmFsLnByb3RvY29sQ29kZSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tp
cCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVu
Y29kZXIuZW5jb2RlU3RydWN0UG9pbnRlcihzdHJpbmcxNiQuU3RyaW5nMTYsIHZhbC5pbnRlcmZh
Y2VOYW1lKTsKLSAgICBlbmNvZGVyLmVuY29kZUFycmF5UG9pbnRlcihuZXcgY29kZWMuUG9pbnRl
clRvKFVzYkVuZHBvaW50SW5mbyksIHZhbC5lbmRwb2ludHMpOwotICAgIGVuY29kZXIuZW5jb2Rl
QXJyYXlQb2ludGVyKGNvZGVjLlVpbnQ4LCB2YWwuZXh0cmFEYXRhKTsKLSAgfTsKLSAgZnVuY3Rp
b24gVXNiSW50ZXJmYWNlSW5mbyh2YWx1ZXMpIHsKLSAgICB0aGlzLmluaXREZWZhdWx0c18oKTsK
LSAgICB0aGlzLmluaXRGaWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0gIFVzYkludGVyZmFjZUlu
Zm8ucHJvdG90eXBlLmluaXREZWZhdWx0c18gPSBmdW5jdGlvbigpIHsKLSAgICB0aGlzLmludGVy
ZmFjZU51bWJlciA9IDA7Ci0gICAgdGhpcy5hbHRlcm5hdGVzID0gbnVsbDsKLSAgfTsKLSAgVXNi
SW50ZXJmYWNlSW5mby5wcm90b3R5cGUuaW5pdEZpZWxkc18gPSBmdW5jdGlvbihmaWVsZHMpIHsK
LSAgICBmb3IodmFyIGZpZWxkIGluIGZpZWxkcykgewotICAgICAgICBpZiAodGhpcy5oYXNPd25Q
cm9wZXJ0eShmaWVsZCkpCi0gICAgICAgICAgdGhpc1tmaWVsZF0gPSBmaWVsZHNbZmllbGRdOwot
ICAgIH0KLSAgfTsKLQotICBVc2JJbnRlcmZhY2VJbmZvLnZhbGlkYXRlID0gZnVuY3Rpb24obWVz
c2FnZVZhbGlkYXRvciwgb2Zmc2V0KSB7Ci0gICAgdmFyIGVycjsKLSAgICBlcnIgPSBtZXNzYWdl
VmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0SGVhZGVyKG9mZnNldCwgY29kZWMua1N0cnVjdEhlYWRl
clNpemUpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkK
LSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHZhciBrVmVyc2lvblNpemVzID0gWwotICAgICAg
e3ZlcnNpb246IDAsIG51bUJ5dGVzOiAyNH0KLSAgICBdOwotICAgIGVyciA9IG1lc3NhZ2VWYWxp
ZGF0b3IudmFsaWRhdGVTdHJ1Y3RWZXJzaW9uKG9mZnNldCwga1ZlcnNpb25TaXplcyk7Ci0gICAg
aWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1
cm4gZXJyOwotCi0KLQotICAgIC8vIHZhbGlkYXRlIFVzYkludGVyZmFjZUluZm8uYWx0ZXJuYXRl
cwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVBcnJheVBvaW50ZXIob2Zmc2V0
ICsgY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyA4LCA4LCBuZXcgY29kZWMuUG9pbnRlclRvKFVz
YkFsdGVybmF0ZUludGVyZmFjZUluZm8pLCBmYWxzZSwgWzBdLCAwKTsKLSAgICBpZiAoZXJyICE9
PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0K
LSAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIFVz
YkludGVyZmFjZUluZm8uZW5jb2RlZFNpemUgPSBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDE2
OwotCi0gIFVzYkludGVyZmFjZUluZm8uZGVjb2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAg
IHZhciBwYWNrZWQ7Ci0gICAgdmFyIHZhbCA9IG5ldyBVc2JJbnRlcmZhY2VJbmZvKCk7Ci0gICAg
dmFyIG51bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YXIgdmVyc2lv
biA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhbC5pbnRlcmZhY2VOdW1iZXIgPSBkZWNv
ZGVyLmRlY29kZVN0cnVjdChjb2RlYy5VaW50OCk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAg
IGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lw
KDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVj
b2Rlci5za2lwKDEpOwotICAgIHZhbC5hbHRlcm5hdGVzID0gZGVjb2Rlci5kZWNvZGVBcnJheVBv
aW50ZXIobmV3IGNvZGVjLlBvaW50ZXJUbyhVc2JBbHRlcm5hdGVJbnRlcmZhY2VJbmZvKSk7Ci0g
ICAgcmV0dXJuIHZhbDsKLSAgfTsKLQotICBVc2JJbnRlcmZhY2VJbmZvLmVuY29kZSA9IGZ1bmN0
aW9uKGVuY29kZXIsIHZhbCkgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgZW5jb2Rlci53cml0ZVVp
bnQzMihVc2JJbnRlcmZhY2VJbmZvLmVuY29kZWRTaXplKTsKLSAgICBlbmNvZGVyLndyaXRlVWlu
dDMyKDApOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNvZGVjLlVpbnQ4LCB2YWwuaW50ZXJm
YWNlTnVtYmVyKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwot
ICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5z
a2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAg
ZW5jb2Rlci5lbmNvZGVBcnJheVBvaW50ZXIobmV3IGNvZGVjLlBvaW50ZXJUbyhVc2JBbHRlcm5h
dGVJbnRlcmZhY2VJbmZvKSwgdmFsLmFsdGVybmF0ZXMpOwotICB9OwotICBmdW5jdGlvbiBVc2JD
b25maWd1cmF0aW9uSW5mbyh2YWx1ZXMpIHsKLSAgICB0aGlzLmluaXREZWZhdWx0c18oKTsKLSAg
ICB0aGlzLmluaXRGaWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0gIFVzYkNvbmZpZ3VyYXRpb25J
bmZvLnByb3RvdHlwZS5pbml0RGVmYXVsdHNfID0gZnVuY3Rpb24oKSB7Ci0gICAgdGhpcy5jb25m
aWd1cmF0aW9uVmFsdWUgPSAwOwotICAgIHRoaXMuc2VsZlBvd2VyZWQgPSBmYWxzZTsKLSAgICB0
aGlzLnJlbW90ZVdha2V1cCA9IGZhbHNlOwotICAgIHRoaXMubWF4aW11bVBvd2VyID0gMDsKLSAg
ICB0aGlzLmNvbmZpZ3VyYXRpb25OYW1lID0gbnVsbDsKLSAgICB0aGlzLmludGVyZmFjZXMgPSBu
dWxsOwotICAgIHRoaXMuZXh0cmFEYXRhID0gbnVsbDsKLSAgfTsKLSAgVXNiQ29uZmlndXJhdGlv
bkluZm8ucHJvdG90eXBlLmluaXRGaWVsZHNfID0gZnVuY3Rpb24oZmllbGRzKSB7Ci0gICAgZm9y
KHZhciBmaWVsZCBpbiBmaWVsZHMpIHsKLSAgICAgICAgaWYgKHRoaXMuaGFzT3duUHJvcGVydHko
ZmllbGQpKQotICAgICAgICAgIHRoaXNbZmllbGRdID0gZmllbGRzW2ZpZWxkXTsKLSAgICB9Ci0g
IH07Ci0KLSAgVXNiQ29uZmlndXJhdGlvbkluZm8udmFsaWRhdGUgPSBmdW5jdGlvbihtZXNzYWdl
VmFsaWRhdG9yLCBvZmZzZXQpIHsKLSAgICB2YXIgZXJyOwotICAgIGVyciA9IG1lc3NhZ2VWYWxp
ZGF0b3IudmFsaWRhdGVTdHJ1Y3RIZWFkZXIob2Zmc2V0LCBjb2RlYy5rU3RydWN0SGVhZGVyU2l6
ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAg
ICAgICByZXR1cm4gZXJyOwotCi0gICAgdmFyIGtWZXJzaW9uU2l6ZXMgPSBbCi0gICAgICB7dmVy
c2lvbjogMCwgbnVtQnl0ZXM6IDQwfQotICAgIF07Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRv
ci52YWxpZGF0ZVN0cnVjdFZlcnNpb24ob2Zmc2V0LCBrVmVyc2lvblNpemVzKTsKLSAgICBpZiAo
ZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBl
cnI7Ci0KLQotCi0gICAgLy8gdmFsaWRhdGUgVXNiQ29uZmlndXJhdGlvbkluZm8uY29uZmlndXJh
dGlvbk5hbWUKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0UG9pbnRl
cihvZmZzZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDgsIHN0cmluZzE2JC5TdHJpbmcx
NiwgdHJ1ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05F
KQotICAgICAgICByZXR1cm4gZXJyOwotCi0KLQotCi0KLSAgICAvLyB2YWxpZGF0ZSBVc2JDb25m
aWd1cmF0aW9uSW5mby5pbnRlcmZhY2VzCi0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxp
ZGF0ZUFycmF5UG9pbnRlcihvZmZzZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDE2LCA4
LCBuZXcgY29kZWMuUG9pbnRlclRvKFVzYkludGVyZmFjZUluZm8pLCBmYWxzZSwgWzBdLCAwKTsK
LSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAg
IHJldHVybiBlcnI7Ci0KLQotICAgIC8vIHZhbGlkYXRlIFVzYkNvbmZpZ3VyYXRpb25JbmZvLmV4
dHJhRGF0YQotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVBcnJheVBvaW50ZXIo
b2Zmc2V0ICsgY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyAyNCwgMSwgY29kZWMuVWludDgsIGZh
bHNlLCBbMF0sIDApOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3Iu
Tk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRh
dGlvbkVycm9yLk5PTkU7Ci0gIH07Ci0KLSAgVXNiQ29uZmlndXJhdGlvbkluZm8uZW5jb2RlZFNp
emUgPSBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDMyOwotCi0gIFVzYkNvbmZpZ3VyYXRpb25J
bmZvLmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIHZh
ciB2YWwgPSBuZXcgVXNiQ29uZmlndXJhdGlvbkluZm8oKTsKLSAgICB2YXIgbnVtYmVyT2ZCeXRl
cyA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhciB2ZXJzaW9uID0gZGVjb2Rlci5yZWFk
VWludDMyKCk7Ci0gICAgdmFsLmNvbmZpZ3VyYXRpb25WYWx1ZSA9IGRlY29kZXIuZGVjb2RlU3Ry
dWN0KGNvZGVjLlVpbnQ4KTsKLSAgICBwYWNrZWQgPSBkZWNvZGVyLnJlYWRVaW50OCgpOwotICAg
IHZhbC5zZWxmUG93ZXJlZCA9IChwYWNrZWQgPj4gMCkgJiAxID8gdHJ1ZSA6IGZhbHNlOwotICAg
IHZhbC5yZW1vdGVXYWtldXAgPSAocGFja2VkID4+IDEpICYgMSA/IHRydWUgOiBmYWxzZTsKLSAg
ICB2YWwubWF4aW11bVBvd2VyID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoY29kZWMuVWludDgpOwot
ICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5z
a2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAg
dmFsLmNvbmZpZ3VyYXRpb25OYW1lID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3RQb2ludGVyKHN0cmlu
ZzE2JC5TdHJpbmcxNik7Ci0gICAgdmFsLmludGVyZmFjZXMgPSBkZWNvZGVyLmRlY29kZUFycmF5
UG9pbnRlcihuZXcgY29kZWMuUG9pbnRlclRvKFVzYkludGVyZmFjZUluZm8pKTsKLSAgICB2YWwu
ZXh0cmFEYXRhID0gZGVjb2Rlci5kZWNvZGVBcnJheVBvaW50ZXIoY29kZWMuVWludDgpOwotICAg
IHJldHVybiB2YWw7Ci0gIH07Ci0KLSAgVXNiQ29uZmlndXJhdGlvbkluZm8uZW5jb2RlID0gZnVu
Y3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICBlbmNvZGVyLndyaXRl
VWludDMyKFVzYkNvbmZpZ3VyYXRpb25JbmZvLmVuY29kZWRTaXplKTsKLSAgICBlbmNvZGVyLndy
aXRlVWludDMyKDApOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNvZGVjLlVpbnQ4LCB2YWwu
Y29uZmlndXJhdGlvblZhbHVlKTsKLSAgICBwYWNrZWQgPSAwOwotICAgIHBhY2tlZCB8PSAodmFs
LnNlbGZQb3dlcmVkICYgMSkgPDwgMAotICAgIHBhY2tlZCB8PSAodmFsLnJlbW90ZVdha2V1cCAm
IDEpIDw8IDEKLSAgICBlbmNvZGVyLndyaXRlVWludDgocGFja2VkKTsKLSAgICBlbmNvZGVyLmVu
Y29kZVN0cnVjdChjb2RlYy5VaW50OCwgdmFsLm1heGltdW1Qb3dlcik7Ci0gICAgZW5jb2Rlci5z
a2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAg
ZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLmVuY29k
ZVN0cnVjdFBvaW50ZXIoc3RyaW5nMTYkLlN0cmluZzE2LCB2YWwuY29uZmlndXJhdGlvbk5hbWUp
OwotICAgIGVuY29kZXIuZW5jb2RlQXJyYXlQb2ludGVyKG5ldyBjb2RlYy5Qb2ludGVyVG8oVXNi
SW50ZXJmYWNlSW5mbyksIHZhbC5pbnRlcmZhY2VzKTsKLSAgICBlbmNvZGVyLmVuY29kZUFycmF5
UG9pbnRlcihjb2RlYy5VaW50OCwgdmFsLmV4dHJhRGF0YSk7Ci0gIH07Ci0gIGZ1bmN0aW9uIFVz
YkRldmljZUluZm8odmFsdWVzKSB7Ci0gICAgdGhpcy5pbml0RGVmYXVsdHNfKCk7Ci0gICAgdGhp
cy5pbml0RmllbGRzXyh2YWx1ZXMpOwotICB9Ci0KLQotICBVc2JEZXZpY2VJbmZvLnByb3RvdHlw
ZS5pbml0RGVmYXVsdHNfID0gZnVuY3Rpb24oKSB7Ci0gICAgdGhpcy5ndWlkID0gbnVsbDsKLSAg
ICB0aGlzLnVzYlZlcnNpb25NYWpvciA9IDA7Ci0gICAgdGhpcy51c2JWZXJzaW9uTWlub3IgPSAw
OwotICAgIHRoaXMudXNiVmVyc2lvblN1Ym1pbm9yID0gMDsKLSAgICB0aGlzLmNsYXNzQ29kZSA9
IDA7Ci0gICAgdGhpcy5zdWJjbGFzc0NvZGUgPSAwOwotICAgIHRoaXMucHJvdG9jb2xDb2RlID0g
MDsKLSAgICB0aGlzLnZlbmRvcklkID0gMDsKLSAgICB0aGlzLmJ1c051bWJlciA9IDA7Ci0gICAg
dGhpcy5wb3J0TnVtYmVyID0gMDsKLSAgICB0aGlzLnByb2R1Y3RJZCA9IDA7Ci0gICAgdGhpcy5k
ZXZpY2VWZXJzaW9uTWFqb3IgPSAwOwotICAgIHRoaXMuZGV2aWNlVmVyc2lvbk1pbm9yID0gMDsK
LSAgICB0aGlzLmRldmljZVZlcnNpb25TdWJtaW5vciA9IDA7Ci0gICAgdGhpcy5hY3RpdmVDb25m
aWd1cmF0aW9uID0gMDsKLSAgICB0aGlzLm1hbnVmYWN0dXJlck5hbWUgPSBudWxsOwotICAgIHRo
aXMucHJvZHVjdE5hbWUgPSBudWxsOwotICAgIHRoaXMuc2VyaWFsTnVtYmVyID0gbnVsbDsKLSAg
ICB0aGlzLndlYnVzYkxhbmRpbmdQYWdlID0gbnVsbDsKLSAgICB0aGlzLmNvbmZpZ3VyYXRpb25z
ID0gbnVsbDsKLSAgfTsKLSAgVXNiRGV2aWNlSW5mby5wcm90b3R5cGUuaW5pdEZpZWxkc18gPSBm
dW5jdGlvbihmaWVsZHMpIHsKLSAgICBmb3IodmFyIGZpZWxkIGluIGZpZWxkcykgewotICAgICAg
ICBpZiAodGhpcy5oYXNPd25Qcm9wZXJ0eShmaWVsZCkpCi0gICAgICAgICAgdGhpc1tmaWVsZF0g
PSBmaWVsZHNbZmllbGRdOwotICAgIH0KLSAgfTsKLQotICBVc2JEZXZpY2VJbmZvLnZhbGlkYXRl
ID0gZnVuY3Rpb24obWVzc2FnZVZhbGlkYXRvciwgb2Zmc2V0KSB7Ci0gICAgdmFyIGVycjsKLSAg
ICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0SGVhZGVyKG9mZnNldCwgY29k
ZWMua1N0cnVjdEhlYWRlclNpemUpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0
aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHZhciBrVmVyc2lvblNp
emVzID0gWwotICAgICAge3ZlcnNpb246IDAsIG51bUJ5dGVzOiA4MH0KLSAgICBdOwotICAgIGVy
ciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RWZXJzaW9uKG9mZnNldCwga1ZlcnNp
b25TaXplcyk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05F
KQotICAgICAgICByZXR1cm4gZXJyOwotCi0KLSAgICAvLyB2YWxpZGF0ZSBVc2JEZXZpY2VJbmZv
Lmd1aWQKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RyaW5nUG9pbnRlcihv
ZmZzZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDAsIGZhbHNlKQotICAgIGlmIChlcnIg
IT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsK
LQotCi0KLQotCi0KLQotCi0KLQotCi0KLQotCi0KLSAgICAvLyB2YWxpZGF0ZSBVc2JEZXZpY2VJ
bmZvLm1hbnVmYWN0dXJlck5hbWUKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRl
U3RydWN0UG9pbnRlcihvZmZzZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDMyLCBzdHJp
bmcxNiQuU3RyaW5nMTYsIHRydWUpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0
aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0gICAgLy8gdmFsaWRhdGUg
VXNiRGV2aWNlSW5mby5wcm9kdWN0TmFtZQotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFs
aWRhdGVTdHJ1Y3RQb2ludGVyKG9mZnNldCArIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgNDAs
IHN0cmluZzE2JC5TdHJpbmcxNiwgdHJ1ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZh
bGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0KLSAgICAvLyB2YWxp
ZGF0ZSBVc2JEZXZpY2VJbmZvLnNlcmlhbE51bWJlcgotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0
b3IudmFsaWRhdGVTdHJ1Y3RQb2ludGVyKG9mZnNldCArIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXpl
ICsgNDgsIHN0cmluZzE2JC5TdHJpbmcxNiwgdHJ1ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRh
dG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0KLSAgICAv
LyB2YWxpZGF0ZSBVc2JEZXZpY2VJbmZvLndlYnVzYkxhbmRpbmdQYWdlCi0gICAgZXJyID0gbWVz
c2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFBvaW50ZXIob2Zmc2V0ICsgY29kZWMua1N0cnVj
dEhlYWRlclNpemUgKyA1NiwgdXJsJC5VcmwsIHRydWUpOwotICAgIGlmIChlcnIgIT09IHZhbGlk
YXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0KLSAg
ICAvLyB2YWxpZGF0ZSBVc2JEZXZpY2VJbmZvLmNvbmZpZ3VyYXRpb25zCi0gICAgZXJyID0gbWVz
c2FnZVZhbGlkYXRvci52YWxpZGF0ZUFycmF5UG9pbnRlcihvZmZzZXQgKyBjb2RlYy5rU3RydWN0
SGVhZGVyU2l6ZSArIDY0LCA4LCBuZXcgY29kZWMuUG9pbnRlclRvKFVzYkNvbmZpZ3VyYXRpb25J
bmZvKSwgZmFsc2UsIFswXSwgMCk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRp
b25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgcmV0dXJuIHZhbGlkYXRv
ci52YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQotICBVc2JEZXZpY2VJbmZvLmVuY29kZWRT
aXplID0gY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyA3MjsKLQotICBVc2JEZXZpY2VJbmZvLmRl
Y29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIHZhciB2YWwg
PSBuZXcgVXNiRGV2aWNlSW5mbygpOwotICAgIHZhciBudW1iZXJPZkJ5dGVzID0gZGVjb2Rlci5y
ZWFkVWludDMyKCk7Ci0gICAgdmFyIHZlcnNpb24gPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAg
ICB2YWwuZ3VpZCA9IGRlY29kZXIuZGVjb2RlU3RydWN0KGNvZGVjLlN0cmluZyk7Ci0gICAgdmFs
LnVzYlZlcnNpb25NYWpvciA9IGRlY29kZXIuZGVjb2RlU3RydWN0KGNvZGVjLlVpbnQ4KTsKLSAg
ICB2YWwudXNiVmVyc2lvbk1pbm9yID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoY29kZWMuVWludDgp
OwotICAgIHZhbC51c2JWZXJzaW9uU3VibWlub3IgPSBkZWNvZGVyLmRlY29kZVN0cnVjdChjb2Rl
Yy5VaW50OCk7Ci0gICAgdmFsLmNsYXNzQ29kZSA9IGRlY29kZXIuZGVjb2RlU3RydWN0KGNvZGVj
LlVpbnQ4KTsKLSAgICB2YWwuc3ViY2xhc3NDb2RlID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoY29k
ZWMuVWludDgpOwotICAgIHZhbC5wcm90b2NvbENvZGUgPSBkZWNvZGVyLmRlY29kZVN0cnVjdChj
b2RlYy5VaW50OCk7Ci0gICAgdmFsLnZlbmRvcklkID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoY29k
ZWMuVWludDE2KTsKLSAgICB2YWwuYnVzTnVtYmVyID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoY29k
ZWMuVWludDMyKTsKLSAgICB2YWwucG9ydE51bWJlciA9IGRlY29kZXIuZGVjb2RlU3RydWN0KGNv
ZGVjLlVpbnQzMik7Ci0gICAgdmFsLnByb2R1Y3RJZCA9IGRlY29kZXIuZGVjb2RlU3RydWN0KGNv
ZGVjLlVpbnQxNik7Ci0gICAgdmFsLmRldmljZVZlcnNpb25NYWpvciA9IGRlY29kZXIuZGVjb2Rl
U3RydWN0KGNvZGVjLlVpbnQ4KTsKLSAgICB2YWwuZGV2aWNlVmVyc2lvbk1pbm9yID0gZGVjb2Rl
ci5kZWNvZGVTdHJ1Y3QoY29kZWMuVWludDgpOwotICAgIHZhbC5kZXZpY2VWZXJzaW9uU3VibWlu
b3IgPSBkZWNvZGVyLmRlY29kZVN0cnVjdChjb2RlYy5VaW50OCk7Ci0gICAgdmFsLmFjdGl2ZUNv
bmZpZ3VyYXRpb24gPSBkZWNvZGVyLmRlY29kZVN0cnVjdChjb2RlYy5VaW50OCk7Ci0gICAgZGVj
b2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICB2YWwubWFudWZhY3R1cmVy
TmFtZSA9IGRlY29kZXIuZGVjb2RlU3RydWN0UG9pbnRlcihzdHJpbmcxNiQuU3RyaW5nMTYpOwot
ICAgIHZhbC5wcm9kdWN0TmFtZSA9IGRlY29kZXIuZGVjb2RlU3RydWN0UG9pbnRlcihzdHJpbmcx
NiQuU3RyaW5nMTYpOwotICAgIHZhbC5zZXJpYWxOdW1iZXIgPSBkZWNvZGVyLmRlY29kZVN0cnVj
dFBvaW50ZXIoc3RyaW5nMTYkLlN0cmluZzE2KTsKLSAgICB2YWwud2VidXNiTGFuZGluZ1BhZ2Ug
PSBkZWNvZGVyLmRlY29kZVN0cnVjdFBvaW50ZXIodXJsJC5VcmwpOwotICAgIHZhbC5jb25maWd1
cmF0aW9ucyA9IGRlY29kZXIuZGVjb2RlQXJyYXlQb2ludGVyKG5ldyBjb2RlYy5Qb2ludGVyVG8o
VXNiQ29uZmlndXJhdGlvbkluZm8pKTsKLSAgICByZXR1cm4gdmFsOwotICB9OwotCi0gIFVzYkRl
dmljZUluZm8uZW5jb2RlID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAgdmFyIHBhY2tl
ZDsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKFVzYkRldmljZUluZm8uZW5jb2RlZFNpemUpOwot
ICAgIGVuY29kZXIud3JpdGVVaW50MzIoMCk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3QoY29k
ZWMuU3RyaW5nLCB2YWwuZ3VpZCk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3QoY29kZWMuVWlu
dDgsIHZhbC51c2JWZXJzaW9uTWFqb3IpOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNvZGVj
LlVpbnQ4LCB2YWwudXNiVmVyc2lvbk1pbm9yKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdChj
b2RlYy5VaW50OCwgdmFsLnVzYlZlcnNpb25TdWJtaW5vcik7Ci0gICAgZW5jb2Rlci5lbmNvZGVT
dHJ1Y3QoY29kZWMuVWludDgsIHZhbC5jbGFzc0NvZGUpOwotICAgIGVuY29kZXIuZW5jb2RlU3Ry
dWN0KGNvZGVjLlVpbnQ4LCB2YWwuc3ViY2xhc3NDb2RlKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0
cnVjdChjb2RlYy5VaW50OCwgdmFsLnByb3RvY29sQ29kZSk7Ci0gICAgZW5jb2Rlci5lbmNvZGVT
dHJ1Y3QoY29kZWMuVWludDE2LCB2YWwudmVuZG9ySWQpOwotICAgIGVuY29kZXIuZW5jb2RlU3Ry
dWN0KGNvZGVjLlVpbnQzMiwgdmFsLmJ1c051bWJlcik7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1
Y3QoY29kZWMuVWludDMyLCB2YWwucG9ydE51bWJlcik7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1
Y3QoY29kZWMuVWludDE2LCB2YWwucHJvZHVjdElkKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVj
dChjb2RlYy5VaW50OCwgdmFsLmRldmljZVZlcnNpb25NYWpvcik7Ci0gICAgZW5jb2Rlci5lbmNv
ZGVTdHJ1Y3QoY29kZWMuVWludDgsIHZhbC5kZXZpY2VWZXJzaW9uTWlub3IpOwotICAgIGVuY29k
ZXIuZW5jb2RlU3RydWN0KGNvZGVjLlVpbnQ4LCB2YWwuZGV2aWNlVmVyc2lvblN1Ym1pbm9yKTsK
LSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdChjb2RlYy5VaW50OCwgdmFsLmFjdGl2ZUNvbmZpZ3Vy
YXRpb24pOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAg
ZW5jb2Rlci5lbmNvZGVTdHJ1Y3RQb2ludGVyKHN0cmluZzE2JC5TdHJpbmcxNiwgdmFsLm1hbnVm
YWN0dXJlck5hbWUpOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0UG9pbnRlcihzdHJpbmcxNiQu
U3RyaW5nMTYsIHZhbC5wcm9kdWN0TmFtZSk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3RQb2lu
dGVyKHN0cmluZzE2JC5TdHJpbmcxNiwgdmFsLnNlcmlhbE51bWJlcik7Ci0gICAgZW5jb2Rlci5l
bmNvZGVTdHJ1Y3RQb2ludGVyKHVybCQuVXJsLCB2YWwud2VidXNiTGFuZGluZ1BhZ2UpOwotICAg
IGVuY29kZXIuZW5jb2RlQXJyYXlQb2ludGVyKG5ldyBjb2RlYy5Qb2ludGVyVG8oVXNiQ29uZmln
dXJhdGlvbkluZm8pLCB2YWwuY29uZmlndXJhdGlvbnMpOwotICB9OwotICBmdW5jdGlvbiBVc2JD
b250cm9sVHJhbnNmZXJQYXJhbXModmFsdWVzKSB7Ci0gICAgdGhpcy5pbml0RGVmYXVsdHNfKCk7
Ci0gICAgdGhpcy5pbml0RmllbGRzXyh2YWx1ZXMpOwotICB9Ci0KLQotICBVc2JDb250cm9sVHJh
bnNmZXJQYXJhbXMucHJvdG90eXBlLmluaXREZWZhdWx0c18gPSBmdW5jdGlvbigpIHsKLSAgICB0
aGlzLnR5cGUgPSAwOwotICAgIHRoaXMucmVjaXBpZW50ID0gMDsKLSAgICB0aGlzLnJlcXVlc3Qg
PSAwOwotICAgIHRoaXMudmFsdWUgPSAwOwotICAgIHRoaXMuaW5kZXggPSAwOwotICB9OwotICBV
c2JDb250cm9sVHJhbnNmZXJQYXJhbXMucHJvdG90eXBlLmluaXRGaWVsZHNfID0gZnVuY3Rpb24o
ZmllbGRzKSB7Ci0gICAgZm9yKHZhciBmaWVsZCBpbiBmaWVsZHMpIHsKLSAgICAgICAgaWYgKHRo
aXMuaGFzT3duUHJvcGVydHkoZmllbGQpKQotICAgICAgICAgIHRoaXNbZmllbGRdID0gZmllbGRz
W2ZpZWxkXTsKLSAgICB9Ci0gIH07Ci0KLSAgVXNiQ29udHJvbFRyYW5zZmVyUGFyYW1zLnZhbGlk
YXRlID0gZnVuY3Rpb24obWVzc2FnZVZhbGlkYXRvciwgb2Zmc2V0KSB7Ci0gICAgdmFyIGVycjsK
LSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0SGVhZGVyKG9mZnNldCwg
Y29kZWMua1N0cnVjdEhlYWRlclNpemUpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxp
ZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHZhciBrVmVyc2lv
blNpemVzID0gWwotICAgICAge3ZlcnNpb246IDAsIG51bUJ5dGVzOiAyNH0KLSAgICBdOwotICAg
IGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RWZXJzaW9uKG9mZnNldCwga1Zl
cnNpb25TaXplcyk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5O
T05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0KLSAgICAvLyB2YWxpZGF0ZSBVc2JDb250cm9s
VHJhbnNmZXJQYXJhbXMudHlwZQotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVF
bnVtKG9mZnNldCArIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgMCwgVXNiQ29udHJvbFRyYW5z
ZmVyVHlwZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05F
KQotICAgICAgICByZXR1cm4gZXJyOwotCi0KLSAgICAvLyB2YWxpZGF0ZSBVc2JDb250cm9sVHJh
bnNmZXJQYXJhbXMucmVjaXBpZW50Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0
ZUVudW0ob2Zmc2V0ICsgY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyA0LCBVc2JDb250cm9sVHJh
bnNmZXJSZWNpcGllbnQpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJy
b3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0KLQotICAgIHJldHVybiB2YWxpZGF0
b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gIH07Ci0KLSAgVXNiQ29udHJvbFRyYW5zZmVyUGFy
YW1zLmVuY29kZWRTaXplID0gY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyAxNjsKLQotICBVc2JD
b250cm9sVHJhbnNmZXJQYXJhbXMuZGVjb2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHZh
ciBwYWNrZWQ7Ci0gICAgdmFyIHZhbCA9IG5ldyBVc2JDb250cm9sVHJhbnNmZXJQYXJhbXMoKTsK
LSAgICB2YXIgbnVtYmVyT2ZCeXRlcyA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhciB2
ZXJzaW9uID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFsLnR5cGUgPSBkZWNvZGVyLmRl
Y29kZVN0cnVjdChjb2RlYy5JbnQzMik7Ci0gICAgdmFsLnJlY2lwaWVudCA9IGRlY29kZXIuZGVj
b2RlU3RydWN0KGNvZGVjLkludDMyKTsKLSAgICB2YWwucmVxdWVzdCA9IGRlY29kZXIuZGVjb2Rl
U3RydWN0KGNvZGVjLlVpbnQ4KTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgdmFsLnZhbHVl
ID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoY29kZWMuVWludDE2KTsKLSAgICB2YWwuaW5kZXggPSBk
ZWNvZGVyLmRlY29kZVN0cnVjdChjb2RlYy5VaW50MTYpOwotICAgIGRlY29kZXIuc2tpcCgxKTsK
LSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgcmV0dXJuIHZhbDsKLSAgfTsKLQotICBVc2JDb250
cm9sVHJhbnNmZXJQYXJhbXMuZW5jb2RlID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAg
dmFyIHBhY2tlZDsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKFVzYkNvbnRyb2xUcmFuc2ZlclBh
cmFtcy5lbmNvZGVkU2l6ZSk7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMigwKTsKLSAgICBlbmNv
ZGVyLmVuY29kZVN0cnVjdChjb2RlYy5JbnQzMiwgdmFsLnR5cGUpOwotICAgIGVuY29kZXIuZW5j
b2RlU3RydWN0KGNvZGVjLkludDMyLCB2YWwucmVjaXBpZW50KTsKLSAgICBlbmNvZGVyLmVuY29k
ZVN0cnVjdChjb2RlYy5VaW50OCwgdmFsLnJlcXVlc3QpOwotICAgIGVuY29kZXIuc2tpcCgxKTsK
LSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdChjb2RlYy5VaW50MTYsIHZhbC52YWx1ZSk7Ci0gICAg
ZW5jb2Rlci5lbmNvZGVTdHJ1Y3QoY29kZWMuVWludDE2LCB2YWwuaW5kZXgpOwotICAgIGVuY29k
ZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gIH07Ci0gIGZ1bmN0aW9uIFVzYklz
b2Nocm9ub3VzUGFja2V0KHZhbHVlcykgewotICAgIHRoaXMuaW5pdERlZmF1bHRzXygpOwotICAg
IHRoaXMuaW5pdEZpZWxkc18odmFsdWVzKTsKLSAgfQotCi0KLSAgVXNiSXNvY2hyb25vdXNQYWNr
ZXQucHJvdG90eXBlLmluaXREZWZhdWx0c18gPSBmdW5jdGlvbigpIHsKLSAgICB0aGlzLmxlbmd0
aCA9IDA7Ci0gICAgdGhpcy50cmFuc2ZlcnJlZExlbmd0aCA9IDA7Ci0gICAgdGhpcy5zdGF0dXMg
PSAwOwotICB9OwotICBVc2JJc29jaHJvbm91c1BhY2tldC5wcm90b3R5cGUuaW5pdEZpZWxkc18g
PSBmdW5jdGlvbihmaWVsZHMpIHsKLSAgICBmb3IodmFyIGZpZWxkIGluIGZpZWxkcykgewotICAg
ICAgICBpZiAodGhpcy5oYXNPd25Qcm9wZXJ0eShmaWVsZCkpCi0gICAgICAgICAgdGhpc1tmaWVs
ZF0gPSBmaWVsZHNbZmllbGRdOwotICAgIH0KLSAgfTsKLQotICBVc2JJc29jaHJvbm91c1BhY2tl
dC52YWxpZGF0ZSA9IGZ1bmN0aW9uKG1lc3NhZ2VWYWxpZGF0b3IsIG9mZnNldCkgewotICAgIHZh
ciBlcnI7Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdEhlYWRlcihv
ZmZzZXQsIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0
b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICB2YXIg
a1ZlcnNpb25TaXplcyA9IFsKLSAgICAgIHt2ZXJzaW9uOiAwLCBudW1CeXRlczogMjR9Ci0gICAg
XTsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0VmVyc2lvbihvZmZz
ZXQsIGtWZXJzaW9uU2l6ZXMpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9u
RXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0KLQotICAgIC8vIHZhbGlkYXRl
IFVzYklzb2Nocm9ub3VzUGFja2V0LnN0YXR1cwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3Iu
dmFsaWRhdGVFbnVtKG9mZnNldCArIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgOCwgVXNiVHJh
bnNmZXJTdGF0dXMpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3Iu
Tk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRh
dGlvbkVycm9yLk5PTkU7Ci0gIH07Ci0KLSAgVXNiSXNvY2hyb25vdXNQYWNrZXQuZW5jb2RlZFNp
emUgPSBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDE2OwotCi0gIFVzYklzb2Nocm9ub3VzUGFj
a2V0LmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIHZh
ciB2YWwgPSBuZXcgVXNiSXNvY2hyb25vdXNQYWNrZXQoKTsKLSAgICB2YXIgbnVtYmVyT2ZCeXRl
cyA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhciB2ZXJzaW9uID0gZGVjb2Rlci5yZWFk
VWludDMyKCk7Ci0gICAgdmFsLmxlbmd0aCA9IGRlY29kZXIuZGVjb2RlU3RydWN0KGNvZGVjLlVp
bnQzMik7Ci0gICAgdmFsLnRyYW5zZmVycmVkTGVuZ3RoID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3Qo
Y29kZWMuVWludDMyKTsKLSAgICB2YWwuc3RhdHVzID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoY29k
ZWMuSW50MzIpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0g
ICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICByZXR1cm4gdmFs
OwotICB9OwotCi0gIFVzYklzb2Nocm9ub3VzUGFja2V0LmVuY29kZSA9IGZ1bmN0aW9uKGVuY29k
ZXIsIHZhbCkgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMihVc2JJ
c29jaHJvbm91c1BhY2tldC5lbmNvZGVkU2l6ZSk7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMigw
KTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdChjb2RlYy5VaW50MzIsIHZhbC5sZW5ndGgpOwot
ICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNvZGVjLlVpbnQzMiwgdmFsLnRyYW5zZmVycmVkTGVu
Z3RoKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdChjb2RlYy5JbnQzMiwgdmFsLnN0YXR1cyk7
Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVy
LnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICB9OwotICBmdW5jdGlvbiBVc2JEZXZp
Y2VfT3Blbl9QYXJhbXModmFsdWVzKSB7Ci0gICAgdGhpcy5pbml0RGVmYXVsdHNfKCk7Ci0gICAg
dGhpcy5pbml0RmllbGRzXyh2YWx1ZXMpOwotICB9Ci0KLQotICBVc2JEZXZpY2VfT3Blbl9QYXJh
bXMucHJvdG90eXBlLmluaXREZWZhdWx0c18gPSBmdW5jdGlvbigpIHsKLSAgfTsKLSAgVXNiRGV2
aWNlX09wZW5fUGFyYW1zLnByb3RvdHlwZS5pbml0RmllbGRzXyA9IGZ1bmN0aW9uKGZpZWxkcykg
ewotICAgIGZvcih2YXIgZmllbGQgaW4gZmllbGRzKSB7Ci0gICAgICAgIGlmICh0aGlzLmhhc093
blByb3BlcnR5KGZpZWxkKSkKLSAgICAgICAgICB0aGlzW2ZpZWxkXSA9IGZpZWxkc1tmaWVsZF07
Ci0gICAgfQotICB9OwotCi0gIFVzYkRldmljZV9PcGVuX1BhcmFtcy52YWxpZGF0ZSA9IGZ1bmN0
aW9uKG1lc3NhZ2VWYWxpZGF0b3IsIG9mZnNldCkgewotICAgIHZhciBlcnI7Ci0gICAgZXJyID0g
bWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdEhlYWRlcihvZmZzZXQsIGNvZGVjLmtTdHJ1
Y3RIZWFkZXJTaXplKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9y
Lk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICB2YXIga1ZlcnNpb25TaXplcyA9IFsK
LSAgICAgIHt2ZXJzaW9uOiAwLCBudW1CeXRlczogOH0KLSAgICBdOwotICAgIGVyciA9IG1lc3Nh
Z2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RWZXJzaW9uKG9mZnNldCwga1ZlcnNpb25TaXplcyk7
Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAg
ICByZXR1cm4gZXJyOwotCi0gICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9O
RTsKLSAgfTsKLQotICBVc2JEZXZpY2VfT3Blbl9QYXJhbXMuZW5jb2RlZFNpemUgPSBjb2RlYy5r
U3RydWN0SGVhZGVyU2l6ZSArIDA7Ci0KLSAgVXNiRGV2aWNlX09wZW5fUGFyYW1zLmRlY29kZSA9
IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIHZhciB2YWwgPSBuZXcg
VXNiRGV2aWNlX09wZW5fUGFyYW1zKCk7Ci0gICAgdmFyIG51bWJlck9mQnl0ZXMgPSBkZWNvZGVy
LnJlYWRVaW50MzIoKTsKLSAgICB2YXIgdmVyc2lvbiA9IGRlY29kZXIucmVhZFVpbnQzMigpOwot
ICAgIHJldHVybiB2YWw7Ci0gIH07Ci0KLSAgVXNiRGV2aWNlX09wZW5fUGFyYW1zLmVuY29kZSA9
IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgZW5jb2Rlci53
cml0ZVVpbnQzMihVc2JEZXZpY2VfT3Blbl9QYXJhbXMuZW5jb2RlZFNpemUpOwotICAgIGVuY29k
ZXIud3JpdGVVaW50MzIoMCk7Ci0gIH07Ci0gIGZ1bmN0aW9uIFVzYkRldmljZV9PcGVuX1Jlc3Bv
bnNlUGFyYW1zKHZhbHVlcykgewotICAgIHRoaXMuaW5pdERlZmF1bHRzXygpOwotICAgIHRoaXMu
aW5pdEZpZWxkc18odmFsdWVzKTsKLSAgfQotCi0KLSAgVXNiRGV2aWNlX09wZW5fUmVzcG9uc2VQ
YXJhbXMucHJvdG90eXBlLmluaXREZWZhdWx0c18gPSBmdW5jdGlvbigpIHsKLSAgICB0aGlzLmVy
cm9yID0gMDsKLSAgfTsKLSAgVXNiRGV2aWNlX09wZW5fUmVzcG9uc2VQYXJhbXMucHJvdG90eXBl
LmluaXRGaWVsZHNfID0gZnVuY3Rpb24oZmllbGRzKSB7Ci0gICAgZm9yKHZhciBmaWVsZCBpbiBm
aWVsZHMpIHsKLSAgICAgICAgaWYgKHRoaXMuaGFzT3duUHJvcGVydHkoZmllbGQpKQotICAgICAg
ICAgIHRoaXNbZmllbGRdID0gZmllbGRzW2ZpZWxkXTsKLSAgICB9Ci0gIH07Ci0KLSAgVXNiRGV2
aWNlX09wZW5fUmVzcG9uc2VQYXJhbXMudmFsaWRhdGUgPSBmdW5jdGlvbihtZXNzYWdlVmFsaWRh
dG9yLCBvZmZzZXQpIHsKLSAgICB2YXIgZXJyOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3Iu
dmFsaWRhdGVTdHJ1Y3RIZWFkZXIob2Zmc2V0LCBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSk7Ci0g
ICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICBy
ZXR1cm4gZXJyOwotCi0gICAgdmFyIGtWZXJzaW9uU2l6ZXMgPSBbCi0gICAgICB7dmVyc2lvbjog
MCwgbnVtQnl0ZXM6IDE2fQotICAgIF07Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxp
ZGF0ZVN0cnVjdFZlcnNpb24ob2Zmc2V0LCBrVmVyc2lvblNpemVzKTsKLSAgICBpZiAoZXJyICE9
PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0K
LQotICAgIC8vIHZhbGlkYXRlIFVzYkRldmljZV9PcGVuX1Jlc3BvbnNlUGFyYW1zLmVycm9yCi0g
ICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZUVudW0ob2Zmc2V0ICsgY29kZWMua1N0
cnVjdEhlYWRlclNpemUgKyAwLCBVc2JPcGVuRGV2aWNlRXJyb3IpOwotICAgIGlmIChlcnIgIT09
IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQot
ICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gIH07Ci0KLSAgVXNi
RGV2aWNlX09wZW5fUmVzcG9uc2VQYXJhbXMuZW5jb2RlZFNpemUgPSBjb2RlYy5rU3RydWN0SGVh
ZGVyU2l6ZSArIDg7Ci0KLSAgVXNiRGV2aWNlX09wZW5fUmVzcG9uc2VQYXJhbXMuZGVjb2RlID0g
ZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgdmFyIHZhbCA9IG5ldyBV
c2JEZXZpY2VfT3Blbl9SZXNwb25zZVBhcmFtcygpOwotICAgIHZhciBudW1iZXJPZkJ5dGVzID0g
ZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFyIHZlcnNpb24gPSBkZWNvZGVyLnJlYWRVaW50
MzIoKTsKLSAgICB2YWwuZXJyb3IgPSBkZWNvZGVyLmRlY29kZVN0cnVjdChjb2RlYy5JbnQzMik7
Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVy
LnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIHJldHVybiB2YWw7Ci0gIH07Ci0K
LSAgVXNiRGV2aWNlX09wZW5fUmVzcG9uc2VQYXJhbXMuZW5jb2RlID0gZnVuY3Rpb24oZW5jb2Rl
ciwgdmFsKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKFVzYkRl
dmljZV9PcGVuX1Jlc3BvbnNlUGFyYW1zLmVuY29kZWRTaXplKTsKLSAgICBlbmNvZGVyLndyaXRl
VWludDMyKDApOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNvZGVjLkludDMyLCB2YWwuZXJy
b3IpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5j
b2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgfTsKLSAgZnVuY3Rpb24gVXNi
RGV2aWNlX0Nsb3NlX1BhcmFtcyh2YWx1ZXMpIHsKLSAgICB0aGlzLmluaXREZWZhdWx0c18oKTsK
LSAgICB0aGlzLmluaXRGaWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0gIFVzYkRldmljZV9DbG9z
ZV9QYXJhbXMucHJvdG90eXBlLmluaXREZWZhdWx0c18gPSBmdW5jdGlvbigpIHsKLSAgfTsKLSAg
VXNiRGV2aWNlX0Nsb3NlX1BhcmFtcy5wcm90b3R5cGUuaW5pdEZpZWxkc18gPSBmdW5jdGlvbihm
aWVsZHMpIHsKLSAgICBmb3IodmFyIGZpZWxkIGluIGZpZWxkcykgewotICAgICAgICBpZiAodGhp
cy5oYXNPd25Qcm9wZXJ0eShmaWVsZCkpCi0gICAgICAgICAgdGhpc1tmaWVsZF0gPSBmaWVsZHNb
ZmllbGRdOwotICAgIH0KLSAgfTsKLQotICBVc2JEZXZpY2VfQ2xvc2VfUGFyYW1zLnZhbGlkYXRl
ID0gZnVuY3Rpb24obWVzc2FnZVZhbGlkYXRvciwgb2Zmc2V0KSB7Ci0gICAgdmFyIGVycjsKLSAg
ICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0SGVhZGVyKG9mZnNldCwgY29k
ZWMua1N0cnVjdEhlYWRlclNpemUpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0
aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHZhciBrVmVyc2lvblNp
emVzID0gWwotICAgICAge3ZlcnNpb246IDAsIG51bUJ5dGVzOiA4fQotICAgIF07Ci0gICAgZXJy
ID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFZlcnNpb24ob2Zmc2V0LCBrVmVyc2lv
blNpemVzKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUp
Ci0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25F
cnJvci5OT05FOwotICB9OwotCi0gIFVzYkRldmljZV9DbG9zZV9QYXJhbXMuZW5jb2RlZFNpemUg
PSBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDA7Ci0KLSAgVXNiRGV2aWNlX0Nsb3NlX1BhcmFt
cy5kZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICB2YXIg
dmFsID0gbmV3IFVzYkRldmljZV9DbG9zZV9QYXJhbXMoKTsKLSAgICB2YXIgbnVtYmVyT2ZCeXRl
cyA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhciB2ZXJzaW9uID0gZGVjb2Rlci5yZWFk
VWludDMyKCk7Ci0gICAgcmV0dXJuIHZhbDsKLSAgfTsKLQotICBVc2JEZXZpY2VfQ2xvc2VfUGFy
YW1zLmVuY29kZSA9IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgIHZhciBwYWNrZWQ7Ci0g
ICAgZW5jb2Rlci53cml0ZVVpbnQzMihVc2JEZXZpY2VfQ2xvc2VfUGFyYW1zLmVuY29kZWRTaXpl
KTsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKDApOwotICB9OwotICBmdW5jdGlvbiBVc2JEZXZp
Y2VfQ2xvc2VfUmVzcG9uc2VQYXJhbXModmFsdWVzKSB7Ci0gICAgdGhpcy5pbml0RGVmYXVsdHNf
KCk7Ci0gICAgdGhpcy5pbml0RmllbGRzXyh2YWx1ZXMpOwotICB9Ci0KLQotICBVc2JEZXZpY2Vf
Q2xvc2VfUmVzcG9uc2VQYXJhbXMucHJvdG90eXBlLmluaXREZWZhdWx0c18gPSBmdW5jdGlvbigp
IHsKLSAgfTsKLSAgVXNiRGV2aWNlX0Nsb3NlX1Jlc3BvbnNlUGFyYW1zLnByb3RvdHlwZS5pbml0
RmllbGRzXyA9IGZ1bmN0aW9uKGZpZWxkcykgewotICAgIGZvcih2YXIgZmllbGQgaW4gZmllbGRz
KSB7Ci0gICAgICAgIGlmICh0aGlzLmhhc093blByb3BlcnR5KGZpZWxkKSkKLSAgICAgICAgICB0
aGlzW2ZpZWxkXSA9IGZpZWxkc1tmaWVsZF07Ci0gICAgfQotICB9OwotCi0gIFVzYkRldmljZV9D
bG9zZV9SZXNwb25zZVBhcmFtcy52YWxpZGF0ZSA9IGZ1bmN0aW9uKG1lc3NhZ2VWYWxpZGF0b3Is
IG9mZnNldCkgewotICAgIHZhciBlcnI7Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxp
ZGF0ZVN0cnVjdEhlYWRlcihvZmZzZXQsIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplKTsKLSAgICBp
ZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVy
biBlcnI7Ci0KLSAgICB2YXIga1ZlcnNpb25TaXplcyA9IFsKLSAgICAgIHt2ZXJzaW9uOiAwLCBu
dW1CeXRlczogOH0KLSAgICBdOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVT
dHJ1Y3RWZXJzaW9uKG9mZnNldCwga1ZlcnNpb25TaXplcyk7Ci0gICAgaWYgKGVyciAhPT0gdmFs
aWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAg
cmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQotICBVc2JEZXZp
Y2VfQ2xvc2VfUmVzcG9uc2VQYXJhbXMuZW5jb2RlZFNpemUgPSBjb2RlYy5rU3RydWN0SGVhZGVy
U2l6ZSArIDA7Ci0KLSAgVXNiRGV2aWNlX0Nsb3NlX1Jlc3BvbnNlUGFyYW1zLmRlY29kZSA9IGZ1
bmN0aW9uKGRlY29kZXIpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIHZhciB2YWwgPSBuZXcgVXNi
RGV2aWNlX0Nsb3NlX1Jlc3BvbnNlUGFyYW1zKCk7Ci0gICAgdmFyIG51bWJlck9mQnl0ZXMgPSBk
ZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YXIgdmVyc2lvbiA9IGRlY29kZXIucmVhZFVpbnQz
MigpOwotICAgIHJldHVybiB2YWw7Ci0gIH07Ci0KLSAgVXNiRGV2aWNlX0Nsb3NlX1Jlc3BvbnNl
UGFyYW1zLmVuY29kZSA9IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgIHZhciBwYWNrZWQ7
Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMihVc2JEZXZpY2VfQ2xvc2VfUmVzcG9uc2VQYXJhbXMu
ZW5jb2RlZFNpemUpOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoMCk7Ci0gIH07Ci0gIGZ1bmN0
aW9uIFVzYkRldmljZV9TZXRDb25maWd1cmF0aW9uX1BhcmFtcyh2YWx1ZXMpIHsKLSAgICB0aGlz
LmluaXREZWZhdWx0c18oKTsKLSAgICB0aGlzLmluaXRGaWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQot
Ci0gIFVzYkRldmljZV9TZXRDb25maWd1cmF0aW9uX1BhcmFtcy5wcm90b3R5cGUuaW5pdERlZmF1
bHRzXyA9IGZ1bmN0aW9uKCkgewotICAgIHRoaXMudmFsdWUgPSAwOwotICB9OwotICBVc2JEZXZp
Y2VfU2V0Q29uZmlndXJhdGlvbl9QYXJhbXMucHJvdG90eXBlLmluaXRGaWVsZHNfID0gZnVuY3Rp
b24oZmllbGRzKSB7Ci0gICAgZm9yKHZhciBmaWVsZCBpbiBmaWVsZHMpIHsKLSAgICAgICAgaWYg
KHRoaXMuaGFzT3duUHJvcGVydHkoZmllbGQpKQotICAgICAgICAgIHRoaXNbZmllbGRdID0gZmll
bGRzW2ZpZWxkXTsKLSAgICB9Ci0gIH07Ci0KLSAgVXNiRGV2aWNlX1NldENvbmZpZ3VyYXRpb25f
UGFyYW1zLnZhbGlkYXRlID0gZnVuY3Rpb24obWVzc2FnZVZhbGlkYXRvciwgb2Zmc2V0KSB7Ci0g
ICAgdmFyIGVycjsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0SGVh
ZGVyKG9mZnNldCwgY29kZWMua1N0cnVjdEhlYWRlclNpemUpOwotICAgIGlmIChlcnIgIT09IHZh
bGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAg
IHZhciBrVmVyc2lvblNpemVzID0gWwotICAgICAge3ZlcnNpb246IDAsIG51bUJ5dGVzOiAxNn0K
LSAgICBdOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RWZXJzaW9u
KG9mZnNldCwga1ZlcnNpb25TaXplcyk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlk
YXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0KLSAgICByZXR1cm4gdmFs
aWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIFVzYkRldmljZV9TZXRDb25m
aWd1cmF0aW9uX1BhcmFtcy5lbmNvZGVkU2l6ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsg
ODsKLQotICBVc2JEZXZpY2VfU2V0Q29uZmlndXJhdGlvbl9QYXJhbXMuZGVjb2RlID0gZnVuY3Rp
b24oZGVjb2RlcikgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgdmFyIHZhbCA9IG5ldyBVc2JEZXZp
Y2VfU2V0Q29uZmlndXJhdGlvbl9QYXJhbXMoKTsKLSAgICB2YXIgbnVtYmVyT2ZCeXRlcyA9IGRl
Y29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhciB2ZXJzaW9uID0gZGVjb2Rlci5yZWFkVWludDMy
KCk7Ci0gICAgdmFsLnZhbHVlID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoY29kZWMuVWludDgpOwot
ICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5z
a2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAg
ZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICByZXR1cm4gdmFsOwot
ICB9OwotCi0gIFVzYkRldmljZV9TZXRDb25maWd1cmF0aW9uX1BhcmFtcy5lbmNvZGUgPSBmdW5j
dGlvbihlbmNvZGVyLCB2YWwpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIGVuY29kZXIud3JpdGVV
aW50MzIoVXNiRGV2aWNlX1NldENvbmZpZ3VyYXRpb25fUGFyYW1zLmVuY29kZWRTaXplKTsKLSAg
ICBlbmNvZGVyLndyaXRlVWludDMyKDApOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNvZGVj
LlVpbnQ4LCB2YWwudmFsdWUpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNr
aXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBl
bmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgx
KTsKLSAgfTsKLSAgZnVuY3Rpb24gVXNiRGV2aWNlX1NldENvbmZpZ3VyYXRpb25fUmVzcG9uc2VQ
YXJhbXModmFsdWVzKSB7Ci0gICAgdGhpcy5pbml0RGVmYXVsdHNfKCk7Ci0gICAgdGhpcy5pbml0
RmllbGRzXyh2YWx1ZXMpOwotICB9Ci0KLQotICBVc2JEZXZpY2VfU2V0Q29uZmlndXJhdGlvbl9S
ZXNwb25zZVBhcmFtcy5wcm90b3R5cGUuaW5pdERlZmF1bHRzXyA9IGZ1bmN0aW9uKCkgewotICAg
IHRoaXMuc3VjY2VzcyA9IGZhbHNlOwotICB9OwotICBVc2JEZXZpY2VfU2V0Q29uZmlndXJhdGlv
bl9SZXNwb25zZVBhcmFtcy5wcm90b3R5cGUuaW5pdEZpZWxkc18gPSBmdW5jdGlvbihmaWVsZHMp
IHsKLSAgICBmb3IodmFyIGZpZWxkIGluIGZpZWxkcykgewotICAgICAgICBpZiAodGhpcy5oYXNP
d25Qcm9wZXJ0eShmaWVsZCkpCi0gICAgICAgICAgdGhpc1tmaWVsZF0gPSBmaWVsZHNbZmllbGRd
OwotICAgIH0KLSAgfTsKLQotICBVc2JEZXZpY2VfU2V0Q29uZmlndXJhdGlvbl9SZXNwb25zZVBh
cmFtcy52YWxpZGF0ZSA9IGZ1bmN0aW9uKG1lc3NhZ2VWYWxpZGF0b3IsIG9mZnNldCkgewotICAg
IHZhciBlcnI7Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdEhlYWRl
cihvZmZzZXQsIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplKTsKLSAgICBpZiAoZXJyICE9PSB2YWxp
ZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICB2
YXIga1ZlcnNpb25TaXplcyA9IFsKLSAgICAgIHt2ZXJzaW9uOiAwLCBudW1CeXRlczogMTZ9Ci0g
ICAgXTsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0VmVyc2lvbihv
ZmZzZXQsIGtWZXJzaW9uU2l6ZXMpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0
aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0gICAgcmV0dXJuIHZhbGlk
YXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQotICBVc2JEZXZpY2VfU2V0Q29uZmln
dXJhdGlvbl9SZXNwb25zZVBhcmFtcy5lbmNvZGVkU2l6ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFkZXJT
aXplICsgODsKLQotICBVc2JEZXZpY2VfU2V0Q29uZmlndXJhdGlvbl9SZXNwb25zZVBhcmFtcy5k
ZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICB2YXIgdmFs
ID0gbmV3IFVzYkRldmljZV9TZXRDb25maWd1cmF0aW9uX1Jlc3BvbnNlUGFyYW1zKCk7Ci0gICAg
dmFyIG51bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YXIgdmVyc2lv
biA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHBhY2tlZCA9IGRlY29kZXIucmVhZFVpbnQ4
KCk7Ci0gICAgdmFsLnN1Y2Nlc3MgPSAocGFja2VkID4+IDApICYgMSA/IHRydWUgOiBmYWxzZTsK
LSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIu
c2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAg
IGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgcmV0dXJuIHZhbDsK
LSAgfTsKLQotICBVc2JEZXZpY2VfU2V0Q29uZmlndXJhdGlvbl9SZXNwb25zZVBhcmFtcy5lbmNv
ZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2YWwpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIGVuY29k
ZXIud3JpdGVVaW50MzIoVXNiRGV2aWNlX1NldENvbmZpZ3VyYXRpb25fUmVzcG9uc2VQYXJhbXMu
ZW5jb2RlZFNpemUpOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoMCk7Ci0gICAgcGFja2VkID0g
MDsKLSAgICBwYWNrZWQgfD0gKHZhbC5zdWNjZXNzICYgMSkgPDwgMAotICAgIGVuY29kZXIud3Jp
dGVVaW50OChwYWNrZWQpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAo
MSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNv
ZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsK
LSAgfTsKLSAgZnVuY3Rpb24gVXNiRGV2aWNlX0NsYWltSW50ZXJmYWNlX1BhcmFtcyh2YWx1ZXMp
IHsKLSAgICB0aGlzLmluaXREZWZhdWx0c18oKTsKLSAgICB0aGlzLmluaXRGaWVsZHNfKHZhbHVl
cyk7Ci0gIH0KLQotCi0gIFVzYkRldmljZV9DbGFpbUludGVyZmFjZV9QYXJhbXMucHJvdG90eXBl
LmluaXREZWZhdWx0c18gPSBmdW5jdGlvbigpIHsKLSAgICB0aGlzLmludGVyZmFjZU51bWJlciA9
IDA7Ci0gIH07Ci0gIFVzYkRldmljZV9DbGFpbUludGVyZmFjZV9QYXJhbXMucHJvdG90eXBlLmlu
aXRGaWVsZHNfID0gZnVuY3Rpb24oZmllbGRzKSB7Ci0gICAgZm9yKHZhciBmaWVsZCBpbiBmaWVs
ZHMpIHsKLSAgICAgICAgaWYgKHRoaXMuaGFzT3duUHJvcGVydHkoZmllbGQpKQotICAgICAgICAg
IHRoaXNbZmllbGRdID0gZmllbGRzW2ZpZWxkXTsKLSAgICB9Ci0gIH07Ci0KLSAgVXNiRGV2aWNl
X0NsYWltSW50ZXJmYWNlX1BhcmFtcy52YWxpZGF0ZSA9IGZ1bmN0aW9uKG1lc3NhZ2VWYWxpZGF0
b3IsIG9mZnNldCkgewotICAgIHZhciBlcnI7Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52
YWxpZGF0ZVN0cnVjdEhlYWRlcihvZmZzZXQsIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplKTsKLSAg
ICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJl
dHVybiBlcnI7Ci0KLSAgICB2YXIga1ZlcnNpb25TaXplcyA9IFsKLSAgICAgIHt2ZXJzaW9uOiAw
LCBudW1CeXRlczogMTZ9Ci0gICAgXTsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlk
YXRlU3RydWN0VmVyc2lvbihvZmZzZXQsIGtWZXJzaW9uU2l6ZXMpOwotICAgIGlmIChlcnIgIT09
IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQot
Ci0gICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQotICBV
c2JEZXZpY2VfQ2xhaW1JbnRlcmZhY2VfUGFyYW1zLmVuY29kZWRTaXplID0gY29kZWMua1N0cnVj
dEhlYWRlclNpemUgKyA4OwotCi0gIFVzYkRldmljZV9DbGFpbUludGVyZmFjZV9QYXJhbXMuZGVj
b2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgdmFyIHZhbCA9
IG5ldyBVc2JEZXZpY2VfQ2xhaW1JbnRlcmZhY2VfUGFyYW1zKCk7Ci0gICAgdmFyIG51bWJlck9m
Qnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YXIgdmVyc2lvbiA9IGRlY29kZXIu
cmVhZFVpbnQzMigpOwotICAgIHZhbC5pbnRlcmZhY2VOdW1iZXIgPSBkZWNvZGVyLmRlY29kZVN0
cnVjdChjb2RlYy5VaW50OCk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tp
cCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRl
Y29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEp
OwotICAgIHJldHVybiB2YWw7Ci0gIH07Ci0KLSAgVXNiRGV2aWNlX0NsYWltSW50ZXJmYWNlX1Bh
cmFtcy5lbmNvZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2YWwpIHsKLSAgICB2YXIgcGFja2VkOwot
ICAgIGVuY29kZXIud3JpdGVVaW50MzIoVXNiRGV2aWNlX0NsYWltSW50ZXJmYWNlX1BhcmFtcy5l
bmNvZGVkU2l6ZSk7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMigwKTsKLSAgICBlbmNvZGVyLmVu
Y29kZVN0cnVjdChjb2RlYy5VaW50OCwgdmFsLmludGVyZmFjZU51bWJlcik7Ci0gICAgZW5jb2Rl
ci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0g
ICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNr
aXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICB9OwotICBmdW5jdGlvbiBVc2JEZXZpY2Vf
Q2xhaW1JbnRlcmZhY2VfUmVzcG9uc2VQYXJhbXModmFsdWVzKSB7Ci0gICAgdGhpcy5pbml0RGVm
YXVsdHNfKCk7Ci0gICAgdGhpcy5pbml0RmllbGRzXyh2YWx1ZXMpOwotICB9Ci0KLQotICBVc2JE
ZXZpY2VfQ2xhaW1JbnRlcmZhY2VfUmVzcG9uc2VQYXJhbXMucHJvdG90eXBlLmluaXREZWZhdWx0
c18gPSBmdW5jdGlvbigpIHsKLSAgICB0aGlzLnN1Y2Nlc3MgPSBmYWxzZTsKLSAgfTsKLSAgVXNi
RGV2aWNlX0NsYWltSW50ZXJmYWNlX1Jlc3BvbnNlUGFyYW1zLnByb3RvdHlwZS5pbml0RmllbGRz
XyA9IGZ1bmN0aW9uKGZpZWxkcykgewotICAgIGZvcih2YXIgZmllbGQgaW4gZmllbGRzKSB7Ci0g
ICAgICAgIGlmICh0aGlzLmhhc093blByb3BlcnR5KGZpZWxkKSkKLSAgICAgICAgICB0aGlzW2Zp
ZWxkXSA9IGZpZWxkc1tmaWVsZF07Ci0gICAgfQotICB9OwotCi0gIFVzYkRldmljZV9DbGFpbUlu
dGVyZmFjZV9SZXNwb25zZVBhcmFtcy52YWxpZGF0ZSA9IGZ1bmN0aW9uKG1lc3NhZ2VWYWxpZGF0
b3IsIG9mZnNldCkgewotICAgIHZhciBlcnI7Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52
YWxpZGF0ZVN0cnVjdEhlYWRlcihvZmZzZXQsIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplKTsKLSAg
ICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJl
dHVybiBlcnI7Ci0KLSAgICB2YXIga1ZlcnNpb25TaXplcyA9IFsKLSAgICAgIHt2ZXJzaW9uOiAw
LCBudW1CeXRlczogMTZ9Ci0gICAgXTsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlk
YXRlU3RydWN0VmVyc2lvbihvZmZzZXQsIGtWZXJzaW9uU2l6ZXMpOwotICAgIGlmIChlcnIgIT09
IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQot
Ci0gICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQotICBV
c2JEZXZpY2VfQ2xhaW1JbnRlcmZhY2VfUmVzcG9uc2VQYXJhbXMuZW5jb2RlZFNpemUgPSBjb2Rl
Yy5rU3RydWN0SGVhZGVyU2l6ZSArIDg7Ci0KLSAgVXNiRGV2aWNlX0NsYWltSW50ZXJmYWNlX1Jl
c3BvbnNlUGFyYW1zLmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICB2YXIgcGFja2Vk
OwotICAgIHZhciB2YWwgPSBuZXcgVXNiRGV2aWNlX0NsYWltSW50ZXJmYWNlX1Jlc3BvbnNlUGFy
YW1zKCk7Ci0gICAgdmFyIG51bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAg
ICB2YXIgdmVyc2lvbiA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHBhY2tlZCA9IGRlY29k
ZXIucmVhZFVpbnQ4KCk7Ci0gICAgdmFsLnN1Y2Nlc3MgPSAocGFja2VkID4+IDApICYgMSA/IHRy
dWUgOiBmYWxzZTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwot
ICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5z
a2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAg
cmV0dXJuIHZhbDsKLSAgfTsKLQotICBVc2JEZXZpY2VfQ2xhaW1JbnRlcmZhY2VfUmVzcG9uc2VQ
YXJhbXMuZW5jb2RlID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAgdmFyIHBhY2tlZDsK
LSAgICBlbmNvZGVyLndyaXRlVWludDMyKFVzYkRldmljZV9DbGFpbUludGVyZmFjZV9SZXNwb25z
ZVBhcmFtcy5lbmNvZGVkU2l6ZSk7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMigwKTsKLSAgICBw
YWNrZWQgPSAwOwotICAgIHBhY2tlZCB8PSAodmFsLnN1Y2Nlc3MgJiAxKSA8PCAwCi0gICAgZW5j
b2Rlci53cml0ZVVpbnQ4KHBhY2tlZCk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29k
ZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwot
ICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5z
a2lwKDEpOwotICB9OwotICBmdW5jdGlvbiBVc2JEZXZpY2VfUmVsZWFzZUludGVyZmFjZV9QYXJh
bXModmFsdWVzKSB7Ci0gICAgdGhpcy5pbml0RGVmYXVsdHNfKCk7Ci0gICAgdGhpcy5pbml0Rmll
bGRzXyh2YWx1ZXMpOwotICB9Ci0KLQotICBVc2JEZXZpY2VfUmVsZWFzZUludGVyZmFjZV9QYXJh
bXMucHJvdG90eXBlLmluaXREZWZhdWx0c18gPSBmdW5jdGlvbigpIHsKLSAgICB0aGlzLmludGVy
ZmFjZU51bWJlciA9IDA7Ci0gIH07Ci0gIFVzYkRldmljZV9SZWxlYXNlSW50ZXJmYWNlX1BhcmFt
cy5wcm90b3R5cGUuaW5pdEZpZWxkc18gPSBmdW5jdGlvbihmaWVsZHMpIHsKLSAgICBmb3IodmFy
IGZpZWxkIGluIGZpZWxkcykgewotICAgICAgICBpZiAodGhpcy5oYXNPd25Qcm9wZXJ0eShmaWVs
ZCkpCi0gICAgICAgICAgdGhpc1tmaWVsZF0gPSBmaWVsZHNbZmllbGRdOwotICAgIH0KLSAgfTsK
LQotICBVc2JEZXZpY2VfUmVsZWFzZUludGVyZmFjZV9QYXJhbXMudmFsaWRhdGUgPSBmdW5jdGlv
bihtZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsKLSAgICB2YXIgZXJyOwotICAgIGVyciA9IG1l
c3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RIZWFkZXIob2Zmc2V0LCBjb2RlYy5rU3RydWN0
SGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5O
T05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgdmFyIGtWZXJzaW9uU2l6ZXMgPSBbCi0g
ICAgICB7dmVyc2lvbjogMCwgbnVtQnl0ZXM6IDE2fQotICAgIF07Ci0gICAgZXJyID0gbWVzc2Fn
ZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFZlcnNpb24ob2Zmc2V0LCBrVmVyc2lvblNpemVzKTsK
LSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAg
IHJldHVybiBlcnI7Ci0KLQotICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5P
TkU7Ci0gIH07Ci0KLSAgVXNiRGV2aWNlX1JlbGVhc2VJbnRlcmZhY2VfUGFyYW1zLmVuY29kZWRT
aXplID0gY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyA4OwotCi0gIFVzYkRldmljZV9SZWxlYXNl
SW50ZXJmYWNlX1BhcmFtcy5kZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgdmFyIHBh
Y2tlZDsKLSAgICB2YXIgdmFsID0gbmV3IFVzYkRldmljZV9SZWxlYXNlSW50ZXJmYWNlX1BhcmFt
cygpOwotICAgIHZhciBudW1iZXJPZkJ5dGVzID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAg
dmFyIHZlcnNpb24gPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YWwuaW50ZXJmYWNlTnVt
YmVyID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoY29kZWMuVWludDgpOwotICAgIGRlY29kZXIuc2tp
cCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRl
Y29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEp
OwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICByZXR1cm4gdmFsOwotICB9OwotCi0gIFVzYkRl
dmljZV9SZWxlYXNlSW50ZXJmYWNlX1BhcmFtcy5lbmNvZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2
YWwpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoVXNiRGV2aWNl
X1JlbGVhc2VJbnRlcmZhY2VfUGFyYW1zLmVuY29kZWRTaXplKTsKLSAgICBlbmNvZGVyLndyaXRl
VWludDMyKDApOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNvZGVjLlVpbnQ4LCB2YWwuaW50
ZXJmYWNlTnVtYmVyKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEp
OwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rl
ci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0g
IH07Ci0gIGZ1bmN0aW9uIFVzYkRldmljZV9SZWxlYXNlSW50ZXJmYWNlX1Jlc3BvbnNlUGFyYW1z
KHZhbHVlcykgewotICAgIHRoaXMuaW5pdERlZmF1bHRzXygpOwotICAgIHRoaXMuaW5pdEZpZWxk
c18odmFsdWVzKTsKLSAgfQotCi0KLSAgVXNiRGV2aWNlX1JlbGVhc2VJbnRlcmZhY2VfUmVzcG9u
c2VQYXJhbXMucHJvdG90eXBlLmluaXREZWZhdWx0c18gPSBmdW5jdGlvbigpIHsKLSAgICB0aGlz
LnN1Y2Nlc3MgPSBmYWxzZTsKLSAgfTsKLSAgVXNiRGV2aWNlX1JlbGVhc2VJbnRlcmZhY2VfUmVz
cG9uc2VQYXJhbXMucHJvdG90eXBlLmluaXRGaWVsZHNfID0gZnVuY3Rpb24oZmllbGRzKSB7Ci0g
ICAgZm9yKHZhciBmaWVsZCBpbiBmaWVsZHMpIHsKLSAgICAgICAgaWYgKHRoaXMuaGFzT3duUHJv
cGVydHkoZmllbGQpKQotICAgICAgICAgIHRoaXNbZmllbGRdID0gZmllbGRzW2ZpZWxkXTsKLSAg
ICB9Ci0gIH07Ci0KLSAgVXNiRGV2aWNlX1JlbGVhc2VJbnRlcmZhY2VfUmVzcG9uc2VQYXJhbXMu
dmFsaWRhdGUgPSBmdW5jdGlvbihtZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsKLSAgICB2YXIg
ZXJyOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RIZWFkZXIob2Zm
c2V0LCBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9y
LnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgdmFyIGtW
ZXJzaW9uU2l6ZXMgPSBbCi0gICAgICB7dmVyc2lvbjogMCwgbnVtQnl0ZXM6IDE2fQotICAgIF07
Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFZlcnNpb24ob2Zmc2V0
LCBrVmVyc2lvblNpemVzKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVy
cm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotICAgIHJldHVybiB2YWxpZGF0b3Iu
dmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gIH07Ci0KLSAgVXNiRGV2aWNlX1JlbGVhc2VJbnRlcmZh
Y2VfUmVzcG9uc2VQYXJhbXMuZW5jb2RlZFNpemUgPSBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSAr
IDg7Ci0KLSAgVXNiRGV2aWNlX1JlbGVhc2VJbnRlcmZhY2VfUmVzcG9uc2VQYXJhbXMuZGVjb2Rl
ID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgdmFyIHZhbCA9IG5l
dyBVc2JEZXZpY2VfUmVsZWFzZUludGVyZmFjZV9SZXNwb25zZVBhcmFtcygpOwotICAgIHZhciBu
dW1iZXJPZkJ5dGVzID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFyIHZlcnNpb24gPSBk
ZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICBwYWNrZWQgPSBkZWNvZGVyLnJlYWRVaW50OCgpOwot
ICAgIHZhbC5zdWNjZXNzID0gKHBhY2tlZCA+PiAwKSAmIDEgPyB0cnVlIDogZmFsc2U7Ci0gICAg
ZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAo
MSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNv
ZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIHJldHVybiB2YWw7Ci0gIH07
Ci0KLSAgVXNiRGV2aWNlX1JlbGVhc2VJbnRlcmZhY2VfUmVzcG9uc2VQYXJhbXMuZW5jb2RlID0g
ZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICBlbmNvZGVyLndy
aXRlVWludDMyKFVzYkRldmljZV9SZWxlYXNlSW50ZXJmYWNlX1Jlc3BvbnNlUGFyYW1zLmVuY29k
ZWRTaXplKTsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKDApOwotICAgIHBhY2tlZCA9IDA7Ci0g
ICAgcGFja2VkIHw9ICh2YWwuc3VjY2VzcyAmIDEpIDw8IDAKLSAgICBlbmNvZGVyLndyaXRlVWlu
dDgocGFja2VkKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwot
ICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5z
a2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gIH07
Ci0gIGZ1bmN0aW9uIFVzYkRldmljZV9TZXRJbnRlcmZhY2VBbHRlcm5hdGVTZXR0aW5nX1BhcmFt
cyh2YWx1ZXMpIHsKLSAgICB0aGlzLmluaXREZWZhdWx0c18oKTsKLSAgICB0aGlzLmluaXRGaWVs
ZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0gIFVzYkRldmljZV9TZXRJbnRlcmZhY2VBbHRlcm5hdGVT
ZXR0aW5nX1BhcmFtcy5wcm90b3R5cGUuaW5pdERlZmF1bHRzXyA9IGZ1bmN0aW9uKCkgewotICAg
IHRoaXMuaW50ZXJmYWNlTnVtYmVyID0gMDsKLSAgICB0aGlzLmFsdGVybmF0ZVNldHRpbmcgPSAw
OwotICB9OwotICBVc2JEZXZpY2VfU2V0SW50ZXJmYWNlQWx0ZXJuYXRlU2V0dGluZ19QYXJhbXMu
cHJvdG90eXBlLmluaXRGaWVsZHNfID0gZnVuY3Rpb24oZmllbGRzKSB7Ci0gICAgZm9yKHZhciBm
aWVsZCBpbiBmaWVsZHMpIHsKLSAgICAgICAgaWYgKHRoaXMuaGFzT3duUHJvcGVydHkoZmllbGQp
KQotICAgICAgICAgIHRoaXNbZmllbGRdID0gZmllbGRzW2ZpZWxkXTsKLSAgICB9Ci0gIH07Ci0K
LSAgVXNiRGV2aWNlX1NldEludGVyZmFjZUFsdGVybmF0ZVNldHRpbmdfUGFyYW1zLnZhbGlkYXRl
ID0gZnVuY3Rpb24obWVzc2FnZVZhbGlkYXRvciwgb2Zmc2V0KSB7Ci0gICAgdmFyIGVycjsKLSAg
ICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0SGVhZGVyKG9mZnNldCwgY29k
ZWMua1N0cnVjdEhlYWRlclNpemUpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0
aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHZhciBrVmVyc2lvblNp
emVzID0gWwotICAgICAge3ZlcnNpb246IDAsIG51bUJ5dGVzOiAxNn0KLSAgICBdOwotICAgIGVy
ciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RWZXJzaW9uKG9mZnNldCwga1ZlcnNp
b25TaXplcyk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05F
KQotICAgICAgICByZXR1cm4gZXJyOwotCi0KLQotICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRh
dGlvbkVycm9yLk5PTkU7Ci0gIH07Ci0KLSAgVXNiRGV2aWNlX1NldEludGVyZmFjZUFsdGVybmF0
ZVNldHRpbmdfUGFyYW1zLmVuY29kZWRTaXplID0gY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyA4
OwotCi0gIFVzYkRldmljZV9TZXRJbnRlcmZhY2VBbHRlcm5hdGVTZXR0aW5nX1BhcmFtcy5kZWNv
ZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICB2YXIgdmFsID0g
bmV3IFVzYkRldmljZV9TZXRJbnRlcmZhY2VBbHRlcm5hdGVTZXR0aW5nX1BhcmFtcygpOwotICAg
IHZhciBudW1iZXJPZkJ5dGVzID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFyIHZlcnNp
b24gPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YWwuaW50ZXJmYWNlTnVtYmVyID0gZGVj
b2Rlci5kZWNvZGVTdHJ1Y3QoY29kZWMuVWludDgpOwotICAgIHZhbC5hbHRlcm5hdGVTZXR0aW5n
ID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoY29kZWMuVWludDgpOwotICAgIGRlY29kZXIuc2tpcCgx
KTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29k
ZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwot
ICAgIHJldHVybiB2YWw7Ci0gIH07Ci0KLSAgVXNiRGV2aWNlX1NldEludGVyZmFjZUFsdGVybmF0
ZVNldHRpbmdfUGFyYW1zLmVuY29kZSA9IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgIHZh
ciBwYWNrZWQ7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMihVc2JEZXZpY2VfU2V0SW50ZXJmYWNl
QWx0ZXJuYXRlU2V0dGluZ19QYXJhbXMuZW5jb2RlZFNpemUpOwotICAgIGVuY29kZXIud3JpdGVV
aW50MzIoMCk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3QoY29kZWMuVWludDgsIHZhbC5pbnRl
cmZhY2VOdW1iZXIpOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNvZGVjLlVpbnQ4LCB2YWwu
YWx0ZXJuYXRlU2V0dGluZyk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tp
cCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVu
Y29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gIH07Ci0gIGZ1bmN0aW9uIFVz
YkRldmljZV9TZXRJbnRlcmZhY2VBbHRlcm5hdGVTZXR0aW5nX1Jlc3BvbnNlUGFyYW1zKHZhbHVl
cykgewotICAgIHRoaXMuaW5pdERlZmF1bHRzXygpOwotICAgIHRoaXMuaW5pdEZpZWxkc18odmFs
dWVzKTsKLSAgfQotCi0KLSAgVXNiRGV2aWNlX1NldEludGVyZmFjZUFsdGVybmF0ZVNldHRpbmdf
UmVzcG9uc2VQYXJhbXMucHJvdG90eXBlLmluaXREZWZhdWx0c18gPSBmdW5jdGlvbigpIHsKLSAg
ICB0aGlzLnN1Y2Nlc3MgPSBmYWxzZTsKLSAgfTsKLSAgVXNiRGV2aWNlX1NldEludGVyZmFjZUFs
dGVybmF0ZVNldHRpbmdfUmVzcG9uc2VQYXJhbXMucHJvdG90eXBlLmluaXRGaWVsZHNfID0gZnVu
Y3Rpb24oZmllbGRzKSB7Ci0gICAgZm9yKHZhciBmaWVsZCBpbiBmaWVsZHMpIHsKLSAgICAgICAg
aWYgKHRoaXMuaGFzT3duUHJvcGVydHkoZmllbGQpKQotICAgICAgICAgIHRoaXNbZmllbGRdID0g
ZmllbGRzW2ZpZWxkXTsKLSAgICB9Ci0gIH07Ci0KLSAgVXNiRGV2aWNlX1NldEludGVyZmFjZUFs
dGVybmF0ZVNldHRpbmdfUmVzcG9uc2VQYXJhbXMudmFsaWRhdGUgPSBmdW5jdGlvbihtZXNzYWdl
VmFsaWRhdG9yLCBvZmZzZXQpIHsKLSAgICB2YXIgZXJyOwotICAgIGVyciA9IG1lc3NhZ2VWYWxp
ZGF0b3IudmFsaWRhdGVTdHJ1Y3RIZWFkZXIob2Zmc2V0LCBjb2RlYy5rU3RydWN0SGVhZGVyU2l6
ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAg
ICAgICByZXR1cm4gZXJyOwotCi0gICAgdmFyIGtWZXJzaW9uU2l6ZXMgPSBbCi0gICAgICB7dmVy
c2lvbjogMCwgbnVtQnl0ZXM6IDE2fQotICAgIF07Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRv
ci52YWxpZGF0ZVN0cnVjdFZlcnNpb24ob2Zmc2V0LCBrVmVyc2lvblNpemVzKTsKLSAgICBpZiAo
ZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBl
cnI7Ci0KLQotICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gIH07
Ci0KLSAgVXNiRGV2aWNlX1NldEludGVyZmFjZUFsdGVybmF0ZVNldHRpbmdfUmVzcG9uc2VQYXJh
bXMuZW5jb2RlZFNpemUgPSBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDg7Ci0KLSAgVXNiRGV2
aWNlX1NldEludGVyZmFjZUFsdGVybmF0ZVNldHRpbmdfUmVzcG9uc2VQYXJhbXMuZGVjb2RlID0g
ZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgdmFyIHZhbCA9IG5ldyBV
c2JEZXZpY2VfU2V0SW50ZXJmYWNlQWx0ZXJuYXRlU2V0dGluZ19SZXNwb25zZVBhcmFtcygpOwot
ICAgIHZhciBudW1iZXJPZkJ5dGVzID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFyIHZl
cnNpb24gPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICBwYWNrZWQgPSBkZWNvZGVyLnJlYWRV
aW50OCgpOwotICAgIHZhbC5zdWNjZXNzID0gKHBhY2tlZCA+PiAwKSAmIDEgPyB0cnVlIDogZmFs
c2U7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNv
ZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsK
LSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIHJldHVybiB2
YWw7Ci0gIH07Ci0KLSAgVXNiRGV2aWNlX1NldEludGVyZmFjZUFsdGVybmF0ZVNldHRpbmdfUmVz
cG9uc2VQYXJhbXMuZW5jb2RlID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAgdmFyIHBh
Y2tlZDsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKFVzYkRldmljZV9TZXRJbnRlcmZhY2VBbHRl
cm5hdGVTZXR0aW5nX1Jlc3BvbnNlUGFyYW1zLmVuY29kZWRTaXplKTsKLSAgICBlbmNvZGVyLndy
aXRlVWludDMyKDApOwotICAgIHBhY2tlZCA9IDA7Ci0gICAgcGFja2VkIHw9ICh2YWwuc3VjY2Vz
cyAmIDEpIDw8IDAKLSAgICBlbmNvZGVyLndyaXRlVWludDgocGFja2VkKTsKLSAgICBlbmNvZGVy
LnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAg
ICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tp
cCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gIH07Ci0gIGZ1bmN0aW9uIFVzYkRldmljZV9S
ZXNldF9QYXJhbXModmFsdWVzKSB7Ci0gICAgdGhpcy5pbml0RGVmYXVsdHNfKCk7Ci0gICAgdGhp
cy5pbml0RmllbGRzXyh2YWx1ZXMpOwotICB9Ci0KLQotICBVc2JEZXZpY2VfUmVzZXRfUGFyYW1z
LnByb3RvdHlwZS5pbml0RGVmYXVsdHNfID0gZnVuY3Rpb24oKSB7Ci0gIH07Ci0gIFVzYkRldmlj
ZV9SZXNldF9QYXJhbXMucHJvdG90eXBlLmluaXRGaWVsZHNfID0gZnVuY3Rpb24oZmllbGRzKSB7
Ci0gICAgZm9yKHZhciBmaWVsZCBpbiBmaWVsZHMpIHsKLSAgICAgICAgaWYgKHRoaXMuaGFzT3du
UHJvcGVydHkoZmllbGQpKQotICAgICAgICAgIHRoaXNbZmllbGRdID0gZmllbGRzW2ZpZWxkXTsK
LSAgICB9Ci0gIH07Ci0KLSAgVXNiRGV2aWNlX1Jlc2V0X1BhcmFtcy52YWxpZGF0ZSA9IGZ1bmN0
aW9uKG1lc3NhZ2VWYWxpZGF0b3IsIG9mZnNldCkgewotICAgIHZhciBlcnI7Ci0gICAgZXJyID0g
bWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdEhlYWRlcihvZmZzZXQsIGNvZGVjLmtTdHJ1
Y3RIZWFkZXJTaXplKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9y
Lk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICB2YXIga1ZlcnNpb25TaXplcyA9IFsK
LSAgICAgIHt2ZXJzaW9uOiAwLCBudW1CeXRlczogOH0KLSAgICBdOwotICAgIGVyciA9IG1lc3Nh
Z2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RWZXJzaW9uKG9mZnNldCwga1ZlcnNpb25TaXplcyk7
Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAg
ICByZXR1cm4gZXJyOwotCi0gICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9O
RTsKLSAgfTsKLQotICBVc2JEZXZpY2VfUmVzZXRfUGFyYW1zLmVuY29kZWRTaXplID0gY29kZWMu
a1N0cnVjdEhlYWRlclNpemUgKyAwOwotCi0gIFVzYkRldmljZV9SZXNldF9QYXJhbXMuZGVjb2Rl
ID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgdmFyIHZhbCA9IG5l
dyBVc2JEZXZpY2VfUmVzZXRfUGFyYW1zKCk7Ci0gICAgdmFyIG51bWJlck9mQnl0ZXMgPSBkZWNv
ZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YXIgdmVyc2lvbiA9IGRlY29kZXIucmVhZFVpbnQzMigp
OwotICAgIHJldHVybiB2YWw7Ci0gIH07Ci0KLSAgVXNiRGV2aWNlX1Jlc2V0X1BhcmFtcy5lbmNv
ZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2YWwpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIGVuY29k
ZXIud3JpdGVVaW50MzIoVXNiRGV2aWNlX1Jlc2V0X1BhcmFtcy5lbmNvZGVkU2l6ZSk7Ci0gICAg
ZW5jb2Rlci53cml0ZVVpbnQzMigwKTsKLSAgfTsKLSAgZnVuY3Rpb24gVXNiRGV2aWNlX1Jlc2V0
X1Jlc3BvbnNlUGFyYW1zKHZhbHVlcykgewotICAgIHRoaXMuaW5pdERlZmF1bHRzXygpOwotICAg
IHRoaXMuaW5pdEZpZWxkc18odmFsdWVzKTsKLSAgfQotCi0KLSAgVXNiRGV2aWNlX1Jlc2V0X1Jl
c3BvbnNlUGFyYW1zLnByb3RvdHlwZS5pbml0RGVmYXVsdHNfID0gZnVuY3Rpb24oKSB7Ci0gICAg
dGhpcy5zdWNjZXNzID0gZmFsc2U7Ci0gIH07Ci0gIFVzYkRldmljZV9SZXNldF9SZXNwb25zZVBh
cmFtcy5wcm90b3R5cGUuaW5pdEZpZWxkc18gPSBmdW5jdGlvbihmaWVsZHMpIHsKLSAgICBmb3Io
dmFyIGZpZWxkIGluIGZpZWxkcykgewotICAgICAgICBpZiAodGhpcy5oYXNPd25Qcm9wZXJ0eShm
aWVsZCkpCi0gICAgICAgICAgdGhpc1tmaWVsZF0gPSBmaWVsZHNbZmllbGRdOwotICAgIH0KLSAg
fTsKLQotICBVc2JEZXZpY2VfUmVzZXRfUmVzcG9uc2VQYXJhbXMudmFsaWRhdGUgPSBmdW5jdGlv
bihtZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsKLSAgICB2YXIgZXJyOwotICAgIGVyciA9IG1l
c3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RIZWFkZXIob2Zmc2V0LCBjb2RlYy5rU3RydWN0
SGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5O
T05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgdmFyIGtWZXJzaW9uU2l6ZXMgPSBbCi0g
ICAgICB7dmVyc2lvbjogMCwgbnVtQnl0ZXM6IDE2fQotICAgIF07Ci0gICAgZXJyID0gbWVzc2Fn
ZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFZlcnNpb24ob2Zmc2V0LCBrVmVyc2lvblNpemVzKTsK
LSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAg
IHJldHVybiBlcnI7Ci0KLQotICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5P
TkU7Ci0gIH07Ci0KLSAgVXNiRGV2aWNlX1Jlc2V0X1Jlc3BvbnNlUGFyYW1zLmVuY29kZWRTaXpl
ID0gY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyA4OwotCi0gIFVzYkRldmljZV9SZXNldF9SZXNw
b25zZVBhcmFtcy5kZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgdmFyIHBhY2tlZDsK
LSAgICB2YXIgdmFsID0gbmV3IFVzYkRldmljZV9SZXNldF9SZXNwb25zZVBhcmFtcygpOwotICAg
IHZhciBudW1iZXJPZkJ5dGVzID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFyIHZlcnNp
b24gPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICBwYWNrZWQgPSBkZWNvZGVyLnJlYWRVaW50
OCgpOwotICAgIHZhbC5zdWNjZXNzID0gKHBhY2tlZCA+PiAwKSAmIDEgPyB0cnVlIDogZmFsc2U7
Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVy
LnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAg
ICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIHJldHVybiB2YWw7
Ci0gIH07Ci0KLSAgVXNiRGV2aWNlX1Jlc2V0X1Jlc3BvbnNlUGFyYW1zLmVuY29kZSA9IGZ1bmN0
aW9uKGVuY29kZXIsIHZhbCkgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgZW5jb2Rlci53cml0ZVVp
bnQzMihVc2JEZXZpY2VfUmVzZXRfUmVzcG9uc2VQYXJhbXMuZW5jb2RlZFNpemUpOwotICAgIGVu
Y29kZXIud3JpdGVVaW50MzIoMCk7Ci0gICAgcGFja2VkID0gMDsKLSAgICBwYWNrZWQgfD0gKHZh
bC5zdWNjZXNzICYgMSkgPDwgMAotICAgIGVuY29kZXIud3JpdGVVaW50OChwYWNrZWQpOwotICAg
IGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lw
KDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5j
b2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgfTsKLSAgZnVuY3Rpb24gVXNi
RGV2aWNlX0NsZWFySGFsdF9QYXJhbXModmFsdWVzKSB7Ci0gICAgdGhpcy5pbml0RGVmYXVsdHNf
KCk7Ci0gICAgdGhpcy5pbml0RmllbGRzXyh2YWx1ZXMpOwotICB9Ci0KLQotICBVc2JEZXZpY2Vf
Q2xlYXJIYWx0X1BhcmFtcy5wcm90b3R5cGUuaW5pdERlZmF1bHRzXyA9IGZ1bmN0aW9uKCkgewot
ICAgIHRoaXMuZW5kcG9pbnQgPSAwOwotICB9OwotICBVc2JEZXZpY2VfQ2xlYXJIYWx0X1BhcmFt
cy5wcm90b3R5cGUuaW5pdEZpZWxkc18gPSBmdW5jdGlvbihmaWVsZHMpIHsKLSAgICBmb3IodmFy
IGZpZWxkIGluIGZpZWxkcykgewotICAgICAgICBpZiAodGhpcy5oYXNPd25Qcm9wZXJ0eShmaWVs
ZCkpCi0gICAgICAgICAgdGhpc1tmaWVsZF0gPSBmaWVsZHNbZmllbGRdOwotICAgIH0KLSAgfTsK
LQotICBVc2JEZXZpY2VfQ2xlYXJIYWx0X1BhcmFtcy52YWxpZGF0ZSA9IGZ1bmN0aW9uKG1lc3Nh
Z2VWYWxpZGF0b3IsIG9mZnNldCkgewotICAgIHZhciBlcnI7Ci0gICAgZXJyID0gbWVzc2FnZVZh
bGlkYXRvci52YWxpZGF0ZVN0cnVjdEhlYWRlcihvZmZzZXQsIGNvZGVjLmtTdHJ1Y3RIZWFkZXJT
aXplKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0g
ICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICB2YXIga1ZlcnNpb25TaXplcyA9IFsKLSAgICAgIHt2
ZXJzaW9uOiAwLCBudW1CeXRlczogMTZ9Ci0gICAgXTsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRh
dG9yLnZhbGlkYXRlU3RydWN0VmVyc2lvbihvZmZzZXQsIGtWZXJzaW9uU2l6ZXMpOwotICAgIGlm
IChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJu
IGVycjsKLQotCi0gICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAg
fTsKLQotICBVc2JEZXZpY2VfQ2xlYXJIYWx0X1BhcmFtcy5lbmNvZGVkU2l6ZSA9IGNvZGVjLmtT
dHJ1Y3RIZWFkZXJTaXplICsgODsKLQotICBVc2JEZXZpY2VfQ2xlYXJIYWx0X1BhcmFtcy5kZWNv
ZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICB2YXIgdmFsID0g
bmV3IFVzYkRldmljZV9DbGVhckhhbHRfUGFyYW1zKCk7Ci0gICAgdmFyIG51bWJlck9mQnl0ZXMg
PSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YXIgdmVyc2lvbiA9IGRlY29kZXIucmVhZFVp
bnQzMigpOwotICAgIHZhbC5lbmRwb2ludCA9IGRlY29kZXIuZGVjb2RlU3RydWN0KGNvZGVjLlVp
bnQ4KTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRl
Y29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEp
OwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgcmV0dXJu
IHZhbDsKLSAgfTsKLQotICBVc2JEZXZpY2VfQ2xlYXJIYWx0X1BhcmFtcy5lbmNvZGUgPSBmdW5j
dGlvbihlbmNvZGVyLCB2YWwpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIGVuY29kZXIud3JpdGVV
aW50MzIoVXNiRGV2aWNlX0NsZWFySGFsdF9QYXJhbXMuZW5jb2RlZFNpemUpOwotICAgIGVuY29k
ZXIud3JpdGVVaW50MzIoMCk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3QoY29kZWMuVWludDgs
IHZhbC5lbmRwb2ludCk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgx
KTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29k
ZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwot
ICB9OwotICBmdW5jdGlvbiBVc2JEZXZpY2VfQ2xlYXJIYWx0X1Jlc3BvbnNlUGFyYW1zKHZhbHVl
cykgewotICAgIHRoaXMuaW5pdERlZmF1bHRzXygpOwotICAgIHRoaXMuaW5pdEZpZWxkc18odmFs
dWVzKTsKLSAgfQotCi0KLSAgVXNiRGV2aWNlX0NsZWFySGFsdF9SZXNwb25zZVBhcmFtcy5wcm90
b3R5cGUuaW5pdERlZmF1bHRzXyA9IGZ1bmN0aW9uKCkgewotICAgIHRoaXMuc3VjY2VzcyA9IGZh
bHNlOwotICB9OwotICBVc2JEZXZpY2VfQ2xlYXJIYWx0X1Jlc3BvbnNlUGFyYW1zLnByb3RvdHlw
ZS5pbml0RmllbGRzXyA9IGZ1bmN0aW9uKGZpZWxkcykgewotICAgIGZvcih2YXIgZmllbGQgaW4g
ZmllbGRzKSB7Ci0gICAgICAgIGlmICh0aGlzLmhhc093blByb3BlcnR5KGZpZWxkKSkKLSAgICAg
ICAgICB0aGlzW2ZpZWxkXSA9IGZpZWxkc1tmaWVsZF07Ci0gICAgfQotICB9OwotCi0gIFVzYkRl
dmljZV9DbGVhckhhbHRfUmVzcG9uc2VQYXJhbXMudmFsaWRhdGUgPSBmdW5jdGlvbihtZXNzYWdl
VmFsaWRhdG9yLCBvZmZzZXQpIHsKLSAgICB2YXIgZXJyOwotICAgIGVyciA9IG1lc3NhZ2VWYWxp
ZGF0b3IudmFsaWRhdGVTdHJ1Y3RIZWFkZXIob2Zmc2V0LCBjb2RlYy5rU3RydWN0SGVhZGVyU2l6
ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAg
ICAgICByZXR1cm4gZXJyOwotCi0gICAgdmFyIGtWZXJzaW9uU2l6ZXMgPSBbCi0gICAgICB7dmVy
c2lvbjogMCwgbnVtQnl0ZXM6IDE2fQotICAgIF07Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRv
ci52YWxpZGF0ZVN0cnVjdFZlcnNpb24ob2Zmc2V0LCBrVmVyc2lvblNpemVzKTsKLSAgICBpZiAo
ZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBl
cnI7Ci0KLQotICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gIH07
Ci0KLSAgVXNiRGV2aWNlX0NsZWFySGFsdF9SZXNwb25zZVBhcmFtcy5lbmNvZGVkU2l6ZSA9IGNv
ZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgODsKLQotICBVc2JEZXZpY2VfQ2xlYXJIYWx0X1Jlc3Bv
bnNlUGFyYW1zLmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICB2YXIgcGFja2VkOwot
ICAgIHZhciB2YWwgPSBuZXcgVXNiRGV2aWNlX0NsZWFySGFsdF9SZXNwb25zZVBhcmFtcygpOwot
ICAgIHZhciBudW1iZXJPZkJ5dGVzID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFyIHZl
cnNpb24gPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICBwYWNrZWQgPSBkZWNvZGVyLnJlYWRV
aW50OCgpOwotICAgIHZhbC5zdWNjZXNzID0gKHBhY2tlZCA+PiAwKSAmIDEgPyB0cnVlIDogZmFs
c2U7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNv
ZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsK
LSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIHJldHVybiB2
YWw7Ci0gIH07Ci0KLSAgVXNiRGV2aWNlX0NsZWFySGFsdF9SZXNwb25zZVBhcmFtcy5lbmNvZGUg
PSBmdW5jdGlvbihlbmNvZGVyLCB2YWwpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIGVuY29kZXIu
d3JpdGVVaW50MzIoVXNiRGV2aWNlX0NsZWFySGFsdF9SZXNwb25zZVBhcmFtcy5lbmNvZGVkU2l6
ZSk7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMigwKTsKLSAgICBwYWNrZWQgPSAwOwotICAgIHBh
Y2tlZCB8PSAodmFsLnN1Y2Nlc3MgJiAxKSA8PCAwCi0gICAgZW5jb2Rlci53cml0ZVVpbnQ4KHBh
Y2tlZCk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBl
bmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgx
KTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICB9OwotICBm
dW5jdGlvbiBVc2JEZXZpY2VfQ29udHJvbFRyYW5zZmVySW5fUGFyYW1zKHZhbHVlcykgewotICAg
IHRoaXMuaW5pdERlZmF1bHRzXygpOwotICAgIHRoaXMuaW5pdEZpZWxkc18odmFsdWVzKTsKLSAg
fQotCi0KLSAgVXNiRGV2aWNlX0NvbnRyb2xUcmFuc2ZlckluX1BhcmFtcy5wcm90b3R5cGUuaW5p
dERlZmF1bHRzXyA9IGZ1bmN0aW9uKCkgewotICAgIHRoaXMucGFyYW1zID0gbnVsbDsKLSAgICB0
aGlzLmxlbmd0aCA9IDA7Ci0gICAgdGhpcy50aW1lb3V0ID0gMDsKLSAgfTsKLSAgVXNiRGV2aWNl
X0NvbnRyb2xUcmFuc2ZlckluX1BhcmFtcy5wcm90b3R5cGUuaW5pdEZpZWxkc18gPSBmdW5jdGlv
bihmaWVsZHMpIHsKLSAgICBmb3IodmFyIGZpZWxkIGluIGZpZWxkcykgewotICAgICAgICBpZiAo
dGhpcy5oYXNPd25Qcm9wZXJ0eShmaWVsZCkpCi0gICAgICAgICAgdGhpc1tmaWVsZF0gPSBmaWVs
ZHNbZmllbGRdOwotICAgIH0KLSAgfTsKLQotICBVc2JEZXZpY2VfQ29udHJvbFRyYW5zZmVySW5f
UGFyYW1zLnZhbGlkYXRlID0gZnVuY3Rpb24obWVzc2FnZVZhbGlkYXRvciwgb2Zmc2V0KSB7Ci0g
ICAgdmFyIGVycjsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0SGVh
ZGVyKG9mZnNldCwgY29kZWMua1N0cnVjdEhlYWRlclNpemUpOwotICAgIGlmIChlcnIgIT09IHZh
bGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAg
IHZhciBrVmVyc2lvblNpemVzID0gWwotICAgICAge3ZlcnNpb246IDAsIG51bUJ5dGVzOiAyNH0K
LSAgICBdOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RWZXJzaW9u
KG9mZnNldCwga1ZlcnNpb25TaXplcyk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlk
YXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0KLSAgICAvLyB2YWxpZGF0
ZSBVc2JEZXZpY2VfQ29udHJvbFRyYW5zZmVySW5fUGFyYW1zLnBhcmFtcwotICAgIGVyciA9IG1l
c3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RQb2ludGVyKG9mZnNldCArIGNvZGVjLmtTdHJ1
Y3RIZWFkZXJTaXplICsgMCwgVXNiQ29udHJvbFRyYW5zZmVyUGFyYW1zLCBmYWxzZSk7Ci0gICAg
aWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1
cm4gZXJyOwotCi0KLQotICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7
Ci0gIH07Ci0KLSAgVXNiRGV2aWNlX0NvbnRyb2xUcmFuc2ZlckluX1BhcmFtcy5lbmNvZGVkU2l6
ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgMTY7Ci0KLSAgVXNiRGV2aWNlX0NvbnRyb2xU
cmFuc2ZlckluX1BhcmFtcy5kZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgdmFyIHBh
Y2tlZDsKLSAgICB2YXIgdmFsID0gbmV3IFVzYkRldmljZV9Db250cm9sVHJhbnNmZXJJbl9QYXJh
bXMoKTsKLSAgICB2YXIgbnVtYmVyT2ZCeXRlcyA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAg
IHZhciB2ZXJzaW9uID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFsLnBhcmFtcyA9IGRl
Y29kZXIuZGVjb2RlU3RydWN0UG9pbnRlcihVc2JDb250cm9sVHJhbnNmZXJQYXJhbXMpOwotICAg
IHZhbC5sZW5ndGggPSBkZWNvZGVyLmRlY29kZVN0cnVjdChjb2RlYy5VaW50MzIpOwotICAgIHZh
bC50aW1lb3V0ID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoY29kZWMuVWludDMyKTsKLSAgICByZXR1
cm4gdmFsOwotICB9OwotCi0gIFVzYkRldmljZV9Db250cm9sVHJhbnNmZXJJbl9QYXJhbXMuZW5j
b2RlID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICBlbmNv
ZGVyLndyaXRlVWludDMyKFVzYkRldmljZV9Db250cm9sVHJhbnNmZXJJbl9QYXJhbXMuZW5jb2Rl
ZFNpemUpOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoMCk7Ci0gICAgZW5jb2Rlci5lbmNvZGVT
dHJ1Y3RQb2ludGVyKFVzYkNvbnRyb2xUcmFuc2ZlclBhcmFtcywgdmFsLnBhcmFtcyk7Ci0gICAg
ZW5jb2Rlci5lbmNvZGVTdHJ1Y3QoY29kZWMuVWludDMyLCB2YWwubGVuZ3RoKTsKLSAgICBlbmNv
ZGVyLmVuY29kZVN0cnVjdChjb2RlYy5VaW50MzIsIHZhbC50aW1lb3V0KTsKLSAgfTsKLSAgZnVu
Y3Rpb24gVXNiRGV2aWNlX0NvbnRyb2xUcmFuc2ZlckluX1Jlc3BvbnNlUGFyYW1zKHZhbHVlcykg
ewotICAgIHRoaXMuaW5pdERlZmF1bHRzXygpOwotICAgIHRoaXMuaW5pdEZpZWxkc18odmFsdWVz
KTsKLSAgfQotCi0KLSAgVXNiRGV2aWNlX0NvbnRyb2xUcmFuc2ZlckluX1Jlc3BvbnNlUGFyYW1z
LnByb3RvdHlwZS5pbml0RGVmYXVsdHNfID0gZnVuY3Rpb24oKSB7Ci0gICAgdGhpcy5zdGF0dXMg
PSAwOwotICAgIHRoaXMuZGF0YSA9IG51bGw7Ci0gIH07Ci0gIFVzYkRldmljZV9Db250cm9sVHJh
bnNmZXJJbl9SZXNwb25zZVBhcmFtcy5wcm90b3R5cGUuaW5pdEZpZWxkc18gPSBmdW5jdGlvbihm
aWVsZHMpIHsKLSAgICBmb3IodmFyIGZpZWxkIGluIGZpZWxkcykgewotICAgICAgICBpZiAodGhp
cy5oYXNPd25Qcm9wZXJ0eShmaWVsZCkpCi0gICAgICAgICAgdGhpc1tmaWVsZF0gPSBmaWVsZHNb
ZmllbGRdOwotICAgIH0KLSAgfTsKLQotICBVc2JEZXZpY2VfQ29udHJvbFRyYW5zZmVySW5fUmVz
cG9uc2VQYXJhbXMudmFsaWRhdGUgPSBmdW5jdGlvbihtZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQp
IHsKLSAgICB2YXIgZXJyOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1
Y3RIZWFkZXIob2Zmc2V0LCBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVyciAh
PT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwot
Ci0gICAgdmFyIGtWZXJzaW9uU2l6ZXMgPSBbCi0gICAgICB7dmVyc2lvbjogMCwgbnVtQnl0ZXM6
IDI0fQotICAgIF07Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFZl
cnNpb24ob2Zmc2V0LCBrVmVyc2lvblNpemVzKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3Iu
dmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotICAgIC8vIHZh
bGlkYXRlIFVzYkRldmljZV9Db250cm9sVHJhbnNmZXJJbl9SZXNwb25zZVBhcmFtcy5zdGF0dXMK
LSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlRW51bShvZmZzZXQgKyBjb2RlYy5r
U3RydWN0SGVhZGVyU2l6ZSArIDAsIFVzYlRyYW5zZmVyU3RhdHVzKTsKLSAgICBpZiAoZXJyICE9
PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0K
LQotICAgIC8vIHZhbGlkYXRlIFVzYkRldmljZV9Db250cm9sVHJhbnNmZXJJbl9SZXNwb25zZVBh
cmFtcy5kYXRhCi0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZUFycmF5UG9pbnRl
cihvZmZzZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDgsIDEsIGNvZGVjLlVpbnQ4LCBm
YWxzZSwgWzBdLCAwKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9y
Lk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlk
YXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIFVzYkRldmljZV9Db250cm9sVHJhbnNmZXJJbl9S
ZXNwb25zZVBhcmFtcy5lbmNvZGVkU2l6ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgMTY7
Ci0KLSAgVXNiRGV2aWNlX0NvbnRyb2xUcmFuc2ZlckluX1Jlc3BvbnNlUGFyYW1zLmRlY29kZSA9
IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIHZhciB2YWwgPSBuZXcg
VXNiRGV2aWNlX0NvbnRyb2xUcmFuc2ZlckluX1Jlc3BvbnNlUGFyYW1zKCk7Ci0gICAgdmFyIG51
bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YXIgdmVyc2lvbiA9IGRl
Y29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhbC5zdGF0dXMgPSBkZWNvZGVyLmRlY29kZVN0cnVj
dChjb2RlYy5JbnQzMik7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgx
KTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIHZhbC5k
YXRhID0gZGVjb2Rlci5kZWNvZGVBcnJheVBvaW50ZXIoY29kZWMuVWludDgpOwotICAgIHJldHVy
biB2YWw7Ci0gIH07Ci0KLSAgVXNiRGV2aWNlX0NvbnRyb2xUcmFuc2ZlckluX1Jlc3BvbnNlUGFy
YW1zLmVuY29kZSA9IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgIHZhciBwYWNrZWQ7Ci0g
ICAgZW5jb2Rlci53cml0ZVVpbnQzMihVc2JEZXZpY2VfQ29udHJvbFRyYW5zZmVySW5fUmVzcG9u
c2VQYXJhbXMuZW5jb2RlZFNpemUpOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoMCk7Ci0gICAg
ZW5jb2Rlci5lbmNvZGVTdHJ1Y3QoY29kZWMuSW50MzIsIHZhbC5zdGF0dXMpOwotICAgIGVuY29k
ZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwot
ICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLmVuY29kZUFycmF5UG9pbnRlcihjb2Rl
Yy5VaW50OCwgdmFsLmRhdGEpOwotICB9OwotICBmdW5jdGlvbiBVc2JEZXZpY2VfQ29udHJvbFRy
YW5zZmVyT3V0X1BhcmFtcyh2YWx1ZXMpIHsKLSAgICB0aGlzLmluaXREZWZhdWx0c18oKTsKLSAg
ICB0aGlzLmluaXRGaWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0gIFVzYkRldmljZV9Db250cm9s
VHJhbnNmZXJPdXRfUGFyYW1zLnByb3RvdHlwZS5pbml0RGVmYXVsdHNfID0gZnVuY3Rpb24oKSB7
Ci0gICAgdGhpcy5wYXJhbXMgPSBudWxsOwotICAgIHRoaXMuZGF0YSA9IG51bGw7Ci0gICAgdGhp
cy50aW1lb3V0ID0gMDsKLSAgfTsKLSAgVXNiRGV2aWNlX0NvbnRyb2xUcmFuc2Zlck91dF9QYXJh
bXMucHJvdG90eXBlLmluaXRGaWVsZHNfID0gZnVuY3Rpb24oZmllbGRzKSB7Ci0gICAgZm9yKHZh
ciBmaWVsZCBpbiBmaWVsZHMpIHsKLSAgICAgICAgaWYgKHRoaXMuaGFzT3duUHJvcGVydHkoZmll
bGQpKQotICAgICAgICAgIHRoaXNbZmllbGRdID0gZmllbGRzW2ZpZWxkXTsKLSAgICB9Ci0gIH07
Ci0KLSAgVXNiRGV2aWNlX0NvbnRyb2xUcmFuc2Zlck91dF9QYXJhbXMudmFsaWRhdGUgPSBmdW5j
dGlvbihtZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsKLSAgICB2YXIgZXJyOwotICAgIGVyciA9
IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RIZWFkZXIob2Zmc2V0LCBjb2RlYy5rU3Ry
dWN0SGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJv
ci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgdmFyIGtWZXJzaW9uU2l6ZXMgPSBb
Ci0gICAgICB7dmVyc2lvbjogMCwgbnVtQnl0ZXM6IDMyfQotICAgIF07Ci0gICAgZXJyID0gbWVz
c2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFZlcnNpb24ob2Zmc2V0LCBrVmVyc2lvblNpemVz
KTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAg
ICAgIHJldHVybiBlcnI7Ci0KLQotICAgIC8vIHZhbGlkYXRlIFVzYkRldmljZV9Db250cm9sVHJh
bnNmZXJPdXRfUGFyYW1zLnBhcmFtcwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRh
dGVTdHJ1Y3RQb2ludGVyKG9mZnNldCArIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgMCwgVXNi
Q29udHJvbFRyYW5zZmVyUGFyYW1zLCBmYWxzZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9y
LnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0KLSAgICAvLyB2
YWxpZGF0ZSBVc2JEZXZpY2VfQ29udHJvbFRyYW5zZmVyT3V0X1BhcmFtcy5kYXRhCi0gICAgZXJy
ID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZUFycmF5UG9pbnRlcihvZmZzZXQgKyBjb2RlYy5r
U3RydWN0SGVhZGVyU2l6ZSArIDgsIDEsIGNvZGVjLlVpbnQ4LCBmYWxzZSwgWzBdLCAwKTsKLSAg
ICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJl
dHVybiBlcnI7Ci0KLQotICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7
Ci0gIH07Ci0KLSAgVXNiRGV2aWNlX0NvbnRyb2xUcmFuc2Zlck91dF9QYXJhbXMuZW5jb2RlZFNp
emUgPSBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDI0OwotCi0gIFVzYkRldmljZV9Db250cm9s
VHJhbnNmZXJPdXRfUGFyYW1zLmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICB2YXIg
cGFja2VkOwotICAgIHZhciB2YWwgPSBuZXcgVXNiRGV2aWNlX0NvbnRyb2xUcmFuc2Zlck91dF9Q
YXJhbXMoKTsKLSAgICB2YXIgbnVtYmVyT2ZCeXRlcyA9IGRlY29kZXIucmVhZFVpbnQzMigpOwot
ICAgIHZhciB2ZXJzaW9uID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFsLnBhcmFtcyA9
IGRlY29kZXIuZGVjb2RlU3RydWN0UG9pbnRlcihVc2JDb250cm9sVHJhbnNmZXJQYXJhbXMpOwot
ICAgIHZhbC5kYXRhID0gZGVjb2Rlci5kZWNvZGVBcnJheVBvaW50ZXIoY29kZWMuVWludDgpOwot
ICAgIHZhbC50aW1lb3V0ID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoY29kZWMuVWludDMyKTsKLSAg
ICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tp
cCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgcmV0dXJuIHZhbDsKLSAgfTsKLQotICBV
c2JEZXZpY2VfQ29udHJvbFRyYW5zZmVyT3V0X1BhcmFtcy5lbmNvZGUgPSBmdW5jdGlvbihlbmNv
ZGVyLCB2YWwpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoVXNi
RGV2aWNlX0NvbnRyb2xUcmFuc2Zlck91dF9QYXJhbXMuZW5jb2RlZFNpemUpOwotICAgIGVuY29k
ZXIud3JpdGVVaW50MzIoMCk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3RQb2ludGVyKFVzYkNv
bnRyb2xUcmFuc2ZlclBhcmFtcywgdmFsLnBhcmFtcyk7Ci0gICAgZW5jb2Rlci5lbmNvZGVBcnJh
eVBvaW50ZXIoY29kZWMuVWludDgsIHZhbC5kYXRhKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVj
dChjb2RlYy5VaW50MzIsIHZhbC50aW1lb3V0KTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAg
ZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAo
MSk7Ci0gIH07Ci0gIGZ1bmN0aW9uIFVzYkRldmljZV9Db250cm9sVHJhbnNmZXJPdXRfUmVzcG9u
c2VQYXJhbXModmFsdWVzKSB7Ci0gICAgdGhpcy5pbml0RGVmYXVsdHNfKCk7Ci0gICAgdGhpcy5p
bml0RmllbGRzXyh2YWx1ZXMpOwotICB9Ci0KLQotICBVc2JEZXZpY2VfQ29udHJvbFRyYW5zZmVy
T3V0X1Jlc3BvbnNlUGFyYW1zLnByb3RvdHlwZS5pbml0RGVmYXVsdHNfID0gZnVuY3Rpb24oKSB7
Ci0gICAgdGhpcy5zdGF0dXMgPSAwOwotICB9OwotICBVc2JEZXZpY2VfQ29udHJvbFRyYW5zZmVy
T3V0X1Jlc3BvbnNlUGFyYW1zLnByb3RvdHlwZS5pbml0RmllbGRzXyA9IGZ1bmN0aW9uKGZpZWxk
cykgewotICAgIGZvcih2YXIgZmllbGQgaW4gZmllbGRzKSB7Ci0gICAgICAgIGlmICh0aGlzLmhh
c093blByb3BlcnR5KGZpZWxkKSkKLSAgICAgICAgICB0aGlzW2ZpZWxkXSA9IGZpZWxkc1tmaWVs
ZF07Ci0gICAgfQotICB9OwotCi0gIFVzYkRldmljZV9Db250cm9sVHJhbnNmZXJPdXRfUmVzcG9u
c2VQYXJhbXMudmFsaWRhdGUgPSBmdW5jdGlvbihtZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsK
LSAgICB2YXIgZXJyOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RI
ZWFkZXIob2Zmc2V0LCBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVyciAhPT0g
dmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0g
ICAgdmFyIGtWZXJzaW9uU2l6ZXMgPSBbCi0gICAgICB7dmVyc2lvbjogMCwgbnVtQnl0ZXM6IDE2
fQotICAgIF07Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFZlcnNp
b24ob2Zmc2V0LCBrVmVyc2lvblNpemVzKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFs
aWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotICAgIC8vIHZhbGlk
YXRlIFVzYkRldmljZV9Db250cm9sVHJhbnNmZXJPdXRfUmVzcG9uc2VQYXJhbXMuc3RhdHVzCi0g
ICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZUVudW0ob2Zmc2V0ICsgY29kZWMua1N0
cnVjdEhlYWRlclNpemUgKyAwLCBVc2JUcmFuc2ZlclN0YXR1cyk7Ci0gICAgaWYgKGVyciAhPT0g
dmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0g
ICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQotICBVc2JE
ZXZpY2VfQ29udHJvbFRyYW5zZmVyT3V0X1Jlc3BvbnNlUGFyYW1zLmVuY29kZWRTaXplID0gY29k
ZWMua1N0cnVjdEhlYWRlclNpemUgKyA4OwotCi0gIFVzYkRldmljZV9Db250cm9sVHJhbnNmZXJP
dXRfUmVzcG9uc2VQYXJhbXMuZGVjb2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHZhciBw
YWNrZWQ7Ci0gICAgdmFyIHZhbCA9IG5ldyBVc2JEZXZpY2VfQ29udHJvbFRyYW5zZmVyT3V0X1Jl
c3BvbnNlUGFyYW1zKCk7Ci0gICAgdmFyIG51bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50
MzIoKTsKLSAgICB2YXIgdmVyc2lvbiA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhbC5z
dGF0dXMgPSBkZWNvZGVyLmRlY29kZVN0cnVjdChjb2RlYy5JbnQzMik7Ci0gICAgZGVjb2Rlci5z
a2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAg
ZGVjb2Rlci5za2lwKDEpOwotICAgIHJldHVybiB2YWw7Ci0gIH07Ci0KLSAgVXNiRGV2aWNlX0Nv
bnRyb2xUcmFuc2Zlck91dF9SZXNwb25zZVBhcmFtcy5lbmNvZGUgPSBmdW5jdGlvbihlbmNvZGVy
LCB2YWwpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoVXNiRGV2
aWNlX0NvbnRyb2xUcmFuc2Zlck91dF9SZXNwb25zZVBhcmFtcy5lbmNvZGVkU2l6ZSk7Ci0gICAg
ZW5jb2Rlci53cml0ZVVpbnQzMigwKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdChjb2RlYy5J
bnQzMiwgdmFsLnN0YXR1cyk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tp
cCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICB9Owot
ICBmdW5jdGlvbiBVc2JEZXZpY2VfR2VuZXJpY1RyYW5zZmVySW5fUGFyYW1zKHZhbHVlcykgewot
ICAgIHRoaXMuaW5pdERlZmF1bHRzXygpOwotICAgIHRoaXMuaW5pdEZpZWxkc18odmFsdWVzKTsK
LSAgfQotCi0KLSAgVXNiRGV2aWNlX0dlbmVyaWNUcmFuc2ZlckluX1BhcmFtcy5wcm90b3R5cGUu
aW5pdERlZmF1bHRzXyA9IGZ1bmN0aW9uKCkgewotICAgIHRoaXMuZW5kcG9pbnROdW1iZXIgPSAw
OwotICAgIHRoaXMubGVuZ3RoID0gMDsKLSAgICB0aGlzLnRpbWVvdXQgPSAwOwotICB9OwotICBV
c2JEZXZpY2VfR2VuZXJpY1RyYW5zZmVySW5fUGFyYW1zLnByb3RvdHlwZS5pbml0RmllbGRzXyA9
IGZ1bmN0aW9uKGZpZWxkcykgewotICAgIGZvcih2YXIgZmllbGQgaW4gZmllbGRzKSB7Ci0gICAg
ICAgIGlmICh0aGlzLmhhc093blByb3BlcnR5KGZpZWxkKSkKLSAgICAgICAgICB0aGlzW2ZpZWxk
XSA9IGZpZWxkc1tmaWVsZF07Ci0gICAgfQotICB9OwotCi0gIFVzYkRldmljZV9HZW5lcmljVHJh
bnNmZXJJbl9QYXJhbXMudmFsaWRhdGUgPSBmdW5jdGlvbihtZXNzYWdlVmFsaWRhdG9yLCBvZmZz
ZXQpIHsKLSAgICB2YXIgZXJyOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVT
dHJ1Y3RIZWFkZXIob2Zmc2V0LCBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVy
ciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJy
OwotCi0gICAgdmFyIGtWZXJzaW9uU2l6ZXMgPSBbCi0gICAgICB7dmVyc2lvbjogMCwgbnVtQnl0
ZXM6IDI0fQotICAgIF07Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVj
dFZlcnNpb24ob2Zmc2V0LCBrVmVyc2lvblNpemVzKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0
b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotCi0KLSAg
ICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIFVzYkRl
dmljZV9HZW5lcmljVHJhbnNmZXJJbl9QYXJhbXMuZW5jb2RlZFNpemUgPSBjb2RlYy5rU3RydWN0
SGVhZGVyU2l6ZSArIDE2OwotCi0gIFVzYkRldmljZV9HZW5lcmljVHJhbnNmZXJJbl9QYXJhbXMu
ZGVjb2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgdmFyIHZh
bCA9IG5ldyBVc2JEZXZpY2VfR2VuZXJpY1RyYW5zZmVySW5fUGFyYW1zKCk7Ci0gICAgdmFyIG51
bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YXIgdmVyc2lvbiA9IGRl
Y29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhbC5lbmRwb2ludE51bWJlciA9IGRlY29kZXIuZGVj
b2RlU3RydWN0KGNvZGVjLlVpbnQ4KTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rl
ci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICB2YWwubGVuZ3RoID0gZGVjb2Rl
ci5kZWNvZGVTdHJ1Y3QoY29kZWMuVWludDMyKTsKLSAgICB2YWwudGltZW91dCA9IGRlY29kZXIu
ZGVjb2RlU3RydWN0KGNvZGVjLlVpbnQzMik7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRl
Y29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEp
OwotICAgIHJldHVybiB2YWw7Ci0gIH07Ci0KLSAgVXNiRGV2aWNlX0dlbmVyaWNUcmFuc2Zlcklu
X1BhcmFtcy5lbmNvZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2YWwpIHsKLSAgICB2YXIgcGFja2Vk
OwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoVXNiRGV2aWNlX0dlbmVyaWNUcmFuc2ZlckluX1Bh
cmFtcy5lbmNvZGVkU2l6ZSk7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMigwKTsKLSAgICBlbmNv
ZGVyLmVuY29kZVN0cnVjdChjb2RlYy5VaW50OCwgdmFsLmVuZHBvaW50TnVtYmVyKTsKLSAgICBl
bmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgx
KTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdChjb2RlYy5VaW50MzIsIHZhbC5sZW5ndGgpOwot
ICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNvZGVjLlVpbnQzMiwgdmFsLnRpbWVvdXQpOwotICAg
IGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lw
KDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgfTsKLSAgZnVuY3Rpb24gVXNiRGV2aWNlX0dl
bmVyaWNUcmFuc2ZlckluX1Jlc3BvbnNlUGFyYW1zKHZhbHVlcykgewotICAgIHRoaXMuaW5pdERl
ZmF1bHRzXygpOwotICAgIHRoaXMuaW5pdEZpZWxkc18odmFsdWVzKTsKLSAgfQotCi0KLSAgVXNi
RGV2aWNlX0dlbmVyaWNUcmFuc2ZlckluX1Jlc3BvbnNlUGFyYW1zLnByb3RvdHlwZS5pbml0RGVm
YXVsdHNfID0gZnVuY3Rpb24oKSB7Ci0gICAgdGhpcy5zdGF0dXMgPSAwOwotICAgIHRoaXMuZGF0
YSA9IG51bGw7Ci0gIH07Ci0gIFVzYkRldmljZV9HZW5lcmljVHJhbnNmZXJJbl9SZXNwb25zZVBh
cmFtcy5wcm90b3R5cGUuaW5pdEZpZWxkc18gPSBmdW5jdGlvbihmaWVsZHMpIHsKLSAgICBmb3Io
dmFyIGZpZWxkIGluIGZpZWxkcykgewotICAgICAgICBpZiAodGhpcy5oYXNPd25Qcm9wZXJ0eShm
aWVsZCkpCi0gICAgICAgICAgdGhpc1tmaWVsZF0gPSBmaWVsZHNbZmllbGRdOwotICAgIH0KLSAg
fTsKLQotICBVc2JEZXZpY2VfR2VuZXJpY1RyYW5zZmVySW5fUmVzcG9uc2VQYXJhbXMudmFsaWRh
dGUgPSBmdW5jdGlvbihtZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsKLSAgICB2YXIgZXJyOwot
ICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RIZWFkZXIob2Zmc2V0LCBj
b2RlYy5rU3RydWN0SGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlk
YXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgdmFyIGtWZXJzaW9u
U2l6ZXMgPSBbCi0gICAgICB7dmVyc2lvbjogMCwgbnVtQnl0ZXM6IDI0fQotICAgIF07Ci0gICAg
ZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFZlcnNpb24ob2Zmc2V0LCBrVmVy
c2lvblNpemVzKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5P
TkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotICAgIC8vIHZhbGlkYXRlIFVzYkRldmljZV9H
ZW5lcmljVHJhbnNmZXJJbl9SZXNwb25zZVBhcmFtcy5zdGF0dXMKLSAgICBlcnIgPSBtZXNzYWdl
VmFsaWRhdG9yLnZhbGlkYXRlRW51bShvZmZzZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSAr
IDAsIFVzYlRyYW5zZmVyU3RhdHVzKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRh
dGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotICAgIC8vIHZhbGlkYXRl
IFVzYkRldmljZV9HZW5lcmljVHJhbnNmZXJJbl9SZXNwb25zZVBhcmFtcy5kYXRhCi0gICAgZXJy
ID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZUFycmF5UG9pbnRlcihvZmZzZXQgKyBjb2RlYy5r
U3RydWN0SGVhZGVyU2l6ZSArIDgsIDEsIGNvZGVjLlVpbnQ4LCBmYWxzZSwgWzBdLCAwKTsKLSAg
ICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJl
dHVybiBlcnI7Ci0KLSAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwot
ICB9OwotCi0gIFVzYkRldmljZV9HZW5lcmljVHJhbnNmZXJJbl9SZXNwb25zZVBhcmFtcy5lbmNv
ZGVkU2l6ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgMTY7Ci0KLSAgVXNiRGV2aWNlX0dl
bmVyaWNUcmFuc2ZlckluX1Jlc3BvbnNlUGFyYW1zLmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIp
IHsKLSAgICB2YXIgcGFja2VkOwotICAgIHZhciB2YWwgPSBuZXcgVXNiRGV2aWNlX0dlbmVyaWNU
cmFuc2ZlckluX1Jlc3BvbnNlUGFyYW1zKCk7Ci0gICAgdmFyIG51bWJlck9mQnl0ZXMgPSBkZWNv
ZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YXIgdmVyc2lvbiA9IGRlY29kZXIucmVhZFVpbnQzMigp
OwotICAgIHZhbC5zdGF0dXMgPSBkZWNvZGVyLmRlY29kZVN0cnVjdChjb2RlYy5JbnQzMik7Ci0g
ICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNr
aXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIHZhbC5kYXRhID0gZGVjb2Rlci5kZWNv
ZGVBcnJheVBvaW50ZXIoY29kZWMuVWludDgpOwotICAgIHJldHVybiB2YWw7Ci0gIH07Ci0KLSAg
VXNiRGV2aWNlX0dlbmVyaWNUcmFuc2ZlckluX1Jlc3BvbnNlUGFyYW1zLmVuY29kZSA9IGZ1bmN0
aW9uKGVuY29kZXIsIHZhbCkgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgZW5jb2Rlci53cml0ZVVp
bnQzMihVc2JEZXZpY2VfR2VuZXJpY1RyYW5zZmVySW5fUmVzcG9uc2VQYXJhbXMuZW5jb2RlZFNp
emUpOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoMCk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1
Y3QoY29kZWMuSW50MzIsIHZhbC5zdGF0dXMpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBl
bmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgx
KTsKLSAgICBlbmNvZGVyLmVuY29kZUFycmF5UG9pbnRlcihjb2RlYy5VaW50OCwgdmFsLmRhdGEp
OwotICB9OwotICBmdW5jdGlvbiBVc2JEZXZpY2VfR2VuZXJpY1RyYW5zZmVyT3V0X1BhcmFtcyh2
YWx1ZXMpIHsKLSAgICB0aGlzLmluaXREZWZhdWx0c18oKTsKLSAgICB0aGlzLmluaXRGaWVsZHNf
KHZhbHVlcyk7Ci0gIH0KLQotCi0gIFVzYkRldmljZV9HZW5lcmljVHJhbnNmZXJPdXRfUGFyYW1z
LnByb3RvdHlwZS5pbml0RGVmYXVsdHNfID0gZnVuY3Rpb24oKSB7Ci0gICAgdGhpcy5lbmRwb2lu
dE51bWJlciA9IDA7Ci0gICAgdGhpcy50aW1lb3V0ID0gMDsKLSAgICB0aGlzLmRhdGEgPSBudWxs
OwotICB9OwotICBVc2JEZXZpY2VfR2VuZXJpY1RyYW5zZmVyT3V0X1BhcmFtcy5wcm90b3R5cGUu
aW5pdEZpZWxkc18gPSBmdW5jdGlvbihmaWVsZHMpIHsKLSAgICBmb3IodmFyIGZpZWxkIGluIGZp
ZWxkcykgewotICAgICAgICBpZiAodGhpcy5oYXNPd25Qcm9wZXJ0eShmaWVsZCkpCi0gICAgICAg
ICAgdGhpc1tmaWVsZF0gPSBmaWVsZHNbZmllbGRdOwotICAgIH0KLSAgfTsKLQotICBVc2JEZXZp
Y2VfR2VuZXJpY1RyYW5zZmVyT3V0X1BhcmFtcy52YWxpZGF0ZSA9IGZ1bmN0aW9uKG1lc3NhZ2VW
YWxpZGF0b3IsIG9mZnNldCkgewotICAgIHZhciBlcnI7Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlk
YXRvci52YWxpZGF0ZVN0cnVjdEhlYWRlcihvZmZzZXQsIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXpl
KTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAg
ICAgIHJldHVybiBlcnI7Ci0KLSAgICB2YXIga1ZlcnNpb25TaXplcyA9IFsKLSAgICAgIHt2ZXJz
aW9uOiAwLCBudW1CeXRlczogMjR9Ci0gICAgXTsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9y
LnZhbGlkYXRlU3RydWN0VmVyc2lvbihvZmZzZXQsIGtWZXJzaW9uU2l6ZXMpOwotICAgIGlmIChl
cnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVy
cjsKLQotCi0KLSAgICAvLyB2YWxpZGF0ZSBVc2JEZXZpY2VfR2VuZXJpY1RyYW5zZmVyT3V0X1Bh
cmFtcy5kYXRhCi0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZUFycmF5UG9pbnRl
cihvZmZzZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDgsIDEsIGNvZGVjLlVpbnQ4LCBm
YWxzZSwgWzBdLCAwKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9y
Lk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotICAgIHJldHVybiB2YWxpZGF0b3IudmFs
aWRhdGlvbkVycm9yLk5PTkU7Ci0gIH07Ci0KLSAgVXNiRGV2aWNlX0dlbmVyaWNUcmFuc2Zlck91
dF9QYXJhbXMuZW5jb2RlZFNpemUgPSBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDE2OwotCi0g
IFVzYkRldmljZV9HZW5lcmljVHJhbnNmZXJPdXRfUGFyYW1zLmRlY29kZSA9IGZ1bmN0aW9uKGRl
Y29kZXIpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIHZhciB2YWwgPSBuZXcgVXNiRGV2aWNlX0dl
bmVyaWNUcmFuc2Zlck91dF9QYXJhbXMoKTsKLSAgICB2YXIgbnVtYmVyT2ZCeXRlcyA9IGRlY29k
ZXIucmVhZFVpbnQzMigpOwotICAgIHZhciB2ZXJzaW9uID0gZGVjb2Rlci5yZWFkVWludDMyKCk7
Ci0gICAgdmFsLmVuZHBvaW50TnVtYmVyID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoY29kZWMuVWlu
dDgpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVj
b2Rlci5za2lwKDEpOwotICAgIHZhbC50aW1lb3V0ID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoY29k
ZWMuVWludDMyKTsKLSAgICB2YWwuZGF0YSA9IGRlY29kZXIuZGVjb2RlQXJyYXlQb2ludGVyKGNv
ZGVjLlVpbnQ4KTsKLSAgICByZXR1cm4gdmFsOwotICB9OwotCi0gIFVzYkRldmljZV9HZW5lcmlj
VHJhbnNmZXJPdXRfUGFyYW1zLmVuY29kZSA9IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAg
IHZhciBwYWNrZWQ7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMihVc2JEZXZpY2VfR2VuZXJpY1Ry
YW5zZmVyT3V0X1BhcmFtcy5lbmNvZGVkU2l6ZSk7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMigw
KTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdChjb2RlYy5VaW50OCwgdmFsLmVuZHBvaW50TnVt
YmVyKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVu
Y29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdChjb2RlYy5VaW50MzIsIHZh
bC50aW1lb3V0KTsKLSAgICBlbmNvZGVyLmVuY29kZUFycmF5UG9pbnRlcihjb2RlYy5VaW50OCwg
dmFsLmRhdGEpOwotICB9OwotICBmdW5jdGlvbiBVc2JEZXZpY2VfR2VuZXJpY1RyYW5zZmVyT3V0
X1Jlc3BvbnNlUGFyYW1zKHZhbHVlcykgewotICAgIHRoaXMuaW5pdERlZmF1bHRzXygpOwotICAg
IHRoaXMuaW5pdEZpZWxkc18odmFsdWVzKTsKLSAgfQotCi0KLSAgVXNiRGV2aWNlX0dlbmVyaWNU
cmFuc2Zlck91dF9SZXNwb25zZVBhcmFtcy5wcm90b3R5cGUuaW5pdERlZmF1bHRzXyA9IGZ1bmN0
aW9uKCkgewotICAgIHRoaXMuc3RhdHVzID0gMDsKLSAgfTsKLSAgVXNiRGV2aWNlX0dlbmVyaWNU
cmFuc2Zlck91dF9SZXNwb25zZVBhcmFtcy5wcm90b3R5cGUuaW5pdEZpZWxkc18gPSBmdW5jdGlv
bihmaWVsZHMpIHsKLSAgICBmb3IodmFyIGZpZWxkIGluIGZpZWxkcykgewotICAgICAgICBpZiAo
dGhpcy5oYXNPd25Qcm9wZXJ0eShmaWVsZCkpCi0gICAgICAgICAgdGhpc1tmaWVsZF0gPSBmaWVs
ZHNbZmllbGRdOwotICAgIH0KLSAgfTsKLQotICBVc2JEZXZpY2VfR2VuZXJpY1RyYW5zZmVyT3V0
X1Jlc3BvbnNlUGFyYW1zLnZhbGlkYXRlID0gZnVuY3Rpb24obWVzc2FnZVZhbGlkYXRvciwgb2Zm
c2V0KSB7Ci0gICAgdmFyIGVycjsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRl
U3RydWN0SGVhZGVyKG9mZnNldCwgY29kZWMua1N0cnVjdEhlYWRlclNpemUpOwotICAgIGlmIChl
cnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVy
cjsKLQotICAgIHZhciBrVmVyc2lvblNpemVzID0gWwotICAgICAge3ZlcnNpb246IDAsIG51bUJ5
dGVzOiAxNn0KLSAgICBdOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1
Y3RWZXJzaW9uKG9mZnNldCwga1ZlcnNpb25TaXplcyk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRh
dG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0KLSAgICAv
LyB2YWxpZGF0ZSBVc2JEZXZpY2VfR2VuZXJpY1RyYW5zZmVyT3V0X1Jlc3BvbnNlUGFyYW1zLnN0
YXR1cwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVFbnVtKG9mZnNldCArIGNv
ZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgMCwgVXNiVHJhbnNmZXJTdGF0dXMpOwotICAgIGlmIChl
cnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVy
cjsKLQotICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gIH07Ci0K
LSAgVXNiRGV2aWNlX0dlbmVyaWNUcmFuc2Zlck91dF9SZXNwb25zZVBhcmFtcy5lbmNvZGVkU2l6
ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgODsKLQotICBVc2JEZXZpY2VfR2VuZXJpY1Ry
YW5zZmVyT3V0X1Jlc3BvbnNlUGFyYW1zLmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAg
ICB2YXIgcGFja2VkOwotICAgIHZhciB2YWwgPSBuZXcgVXNiRGV2aWNlX0dlbmVyaWNUcmFuc2Zl
ck91dF9SZXNwb25zZVBhcmFtcygpOwotICAgIHZhciBudW1iZXJPZkJ5dGVzID0gZGVjb2Rlci5y
ZWFkVWludDMyKCk7Ci0gICAgdmFyIHZlcnNpb24gPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAg
ICB2YWwuc3RhdHVzID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoY29kZWMuSW50MzIpOwotICAgIGRl
Y29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEp
OwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICByZXR1cm4gdmFsOwotICB9OwotCi0gIFVzYkRl
dmljZV9HZW5lcmljVHJhbnNmZXJPdXRfUmVzcG9uc2VQYXJhbXMuZW5jb2RlID0gZnVuY3Rpb24o
ZW5jb2RlciwgdmFsKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICBlbmNvZGVyLndyaXRlVWludDMy
KFVzYkRldmljZV9HZW5lcmljVHJhbnNmZXJPdXRfUmVzcG9uc2VQYXJhbXMuZW5jb2RlZFNpemUp
OwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoMCk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3Qo
Y29kZWMuSW50MzIsIHZhbC5zdGF0dXMpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNv
ZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsK
LSAgfTsKLSAgZnVuY3Rpb24gVXNiRGV2aWNlX0lzb2Nocm9ub3VzVHJhbnNmZXJJbl9QYXJhbXMo
dmFsdWVzKSB7Ci0gICAgdGhpcy5pbml0RGVmYXVsdHNfKCk7Ci0gICAgdGhpcy5pbml0RmllbGRz
Xyh2YWx1ZXMpOwotICB9Ci0KLQotICBVc2JEZXZpY2VfSXNvY2hyb25vdXNUcmFuc2ZlckluX1Bh
cmFtcy5wcm90b3R5cGUuaW5pdERlZmF1bHRzXyA9IGZ1bmN0aW9uKCkgewotICAgIHRoaXMuZW5k
cG9pbnROdW1iZXIgPSAwOwotICAgIHRoaXMudGltZW91dCA9IDA7Ci0gICAgdGhpcy5wYWNrZXRM
ZW5ndGhzID0gbnVsbDsKLSAgfTsKLSAgVXNiRGV2aWNlX0lzb2Nocm9ub3VzVHJhbnNmZXJJbl9Q
YXJhbXMucHJvdG90eXBlLmluaXRGaWVsZHNfID0gZnVuY3Rpb24oZmllbGRzKSB7Ci0gICAgZm9y
KHZhciBmaWVsZCBpbiBmaWVsZHMpIHsKLSAgICAgICAgaWYgKHRoaXMuaGFzT3duUHJvcGVydHko
ZmllbGQpKQotICAgICAgICAgIHRoaXNbZmllbGRdID0gZmllbGRzW2ZpZWxkXTsKLSAgICB9Ci0g
IH07Ci0KLSAgVXNiRGV2aWNlX0lzb2Nocm9ub3VzVHJhbnNmZXJJbl9QYXJhbXMudmFsaWRhdGUg
PSBmdW5jdGlvbihtZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsKLSAgICB2YXIgZXJyOwotICAg
IGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RIZWFkZXIob2Zmc2V0LCBjb2Rl
Yy5rU3RydWN0SGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRp
b25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgdmFyIGtWZXJzaW9uU2l6
ZXMgPSBbCi0gICAgICB7dmVyc2lvbjogMCwgbnVtQnl0ZXM6IDI0fQotICAgIF07Ci0gICAgZXJy
ID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFZlcnNpb24ob2Zmc2V0LCBrVmVyc2lv
blNpemVzKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUp
Ci0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotCi0gICAgLy8gdmFsaWRhdGUgVXNiRGV2aWNlX0lz
b2Nocm9ub3VzVHJhbnNmZXJJbl9QYXJhbXMucGFja2V0TGVuZ3RocwotICAgIGVyciA9IG1lc3Nh
Z2VWYWxpZGF0b3IudmFsaWRhdGVBcnJheVBvaW50ZXIob2Zmc2V0ICsgY29kZWMua1N0cnVjdEhl
YWRlclNpemUgKyA4LCA0LCBjb2RlYy5VaW50MzIsIGZhbHNlLCBbMF0sIDApOwotICAgIGlmIChl
cnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVy
cjsKLQotCi0gICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAgfTsK
LQotICBVc2JEZXZpY2VfSXNvY2hyb25vdXNUcmFuc2ZlckluX1BhcmFtcy5lbmNvZGVkU2l6ZSA9
IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgMTY7Ci0KLSAgVXNiRGV2aWNlX0lzb2Nocm9ub3Vz
VHJhbnNmZXJJbl9QYXJhbXMuZGVjb2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHZhciBw
YWNrZWQ7Ci0gICAgdmFyIHZhbCA9IG5ldyBVc2JEZXZpY2VfSXNvY2hyb25vdXNUcmFuc2Zlcklu
X1BhcmFtcygpOwotICAgIHZhciBudW1iZXJPZkJ5dGVzID0gZGVjb2Rlci5yZWFkVWludDMyKCk7
Ci0gICAgdmFyIHZlcnNpb24gPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YWwuZW5kcG9p
bnROdW1iZXIgPSBkZWNvZGVyLmRlY29kZVN0cnVjdChjb2RlYy5VaW50OCk7Ci0gICAgZGVjb2Rl
ci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0g
ICAgdmFsLnRpbWVvdXQgPSBkZWNvZGVyLmRlY29kZVN0cnVjdChjb2RlYy5VaW50MzIpOwotICAg
IHZhbC5wYWNrZXRMZW5ndGhzID0gZGVjb2Rlci5kZWNvZGVBcnJheVBvaW50ZXIoY29kZWMuVWlu
dDMyKTsKLSAgICByZXR1cm4gdmFsOwotICB9OwotCi0gIFVzYkRldmljZV9Jc29jaHJvbm91c1Ry
YW5zZmVySW5fUGFyYW1zLmVuY29kZSA9IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgIHZh
ciBwYWNrZWQ7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMihVc2JEZXZpY2VfSXNvY2hyb25vdXNU
cmFuc2ZlckluX1BhcmFtcy5lbmNvZGVkU2l6ZSk7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMigw
KTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdChjb2RlYy5VaW50OCwgdmFsLmVuZHBvaW50TnVt
YmVyKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVu
Y29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdChjb2RlYy5VaW50MzIsIHZh
bC50aW1lb3V0KTsKLSAgICBlbmNvZGVyLmVuY29kZUFycmF5UG9pbnRlcihjb2RlYy5VaW50MzIs
IHZhbC5wYWNrZXRMZW5ndGhzKTsKLSAgfTsKLSAgZnVuY3Rpb24gVXNiRGV2aWNlX0lzb2Nocm9u
b3VzVHJhbnNmZXJJbl9SZXNwb25zZVBhcmFtcyh2YWx1ZXMpIHsKLSAgICB0aGlzLmluaXREZWZh
dWx0c18oKTsKLSAgICB0aGlzLmluaXRGaWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0gIFVzYkRl
dmljZV9Jc29jaHJvbm91c1RyYW5zZmVySW5fUmVzcG9uc2VQYXJhbXMucHJvdG90eXBlLmluaXRE
ZWZhdWx0c18gPSBmdW5jdGlvbigpIHsKLSAgICB0aGlzLmRhdGEgPSBudWxsOwotICAgIHRoaXMu
cGFja2V0cyA9IG51bGw7Ci0gIH07Ci0gIFVzYkRldmljZV9Jc29jaHJvbm91c1RyYW5zZmVySW5f
UmVzcG9uc2VQYXJhbXMucHJvdG90eXBlLmluaXRGaWVsZHNfID0gZnVuY3Rpb24oZmllbGRzKSB7
Ci0gICAgZm9yKHZhciBmaWVsZCBpbiBmaWVsZHMpIHsKLSAgICAgICAgaWYgKHRoaXMuaGFzT3du
UHJvcGVydHkoZmllbGQpKQotICAgICAgICAgIHRoaXNbZmllbGRdID0gZmllbGRzW2ZpZWxkXTsK
LSAgICB9Ci0gIH07Ci0KLSAgVXNiRGV2aWNlX0lzb2Nocm9ub3VzVHJhbnNmZXJJbl9SZXNwb25z
ZVBhcmFtcy52YWxpZGF0ZSA9IGZ1bmN0aW9uKG1lc3NhZ2VWYWxpZGF0b3IsIG9mZnNldCkgewot
ICAgIHZhciBlcnI7Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdEhl
YWRlcihvZmZzZXQsIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplKTsKLSAgICBpZiAoZXJyICE9PSB2
YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAg
ICB2YXIga1ZlcnNpb25TaXplcyA9IFsKLSAgICAgIHt2ZXJzaW9uOiAwLCBudW1CeXRlczogMjR9
Ci0gICAgXTsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0VmVyc2lv
bihvZmZzZXQsIGtWZXJzaW9uU2l6ZXMpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxp
ZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0gICAgLy8gdmFsaWRh
dGUgVXNiRGV2aWNlX0lzb2Nocm9ub3VzVHJhbnNmZXJJbl9SZXNwb25zZVBhcmFtcy5kYXRhCi0g
ICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZUFycmF5UG9pbnRlcihvZmZzZXQgKyBj
b2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDAsIDEsIGNvZGVjLlVpbnQ4LCBmYWxzZSwgWzBdLCAw
KTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAg
ICAgIHJldHVybiBlcnI7Ci0KLQotICAgIC8vIHZhbGlkYXRlIFVzYkRldmljZV9Jc29jaHJvbm91
c1RyYW5zZmVySW5fUmVzcG9uc2VQYXJhbXMucGFja2V0cwotICAgIGVyciA9IG1lc3NhZ2VWYWxp
ZGF0b3IudmFsaWRhdGVBcnJheVBvaW50ZXIob2Zmc2V0ICsgY29kZWMua1N0cnVjdEhlYWRlclNp
emUgKyA4LCA4LCBuZXcgY29kZWMuUG9pbnRlclRvKFVzYklzb2Nocm9ub3VzUGFja2V0KSwgZmFs
c2UsIFswXSwgMCk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5O
T05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0
aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQotICBVc2JEZXZpY2VfSXNvY2hyb25vdXNUcmFuc2Zlcklu
X1Jlc3BvbnNlUGFyYW1zLmVuY29kZWRTaXplID0gY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyAx
NjsKLQotICBVc2JEZXZpY2VfSXNvY2hyb25vdXNUcmFuc2ZlckluX1Jlc3BvbnNlUGFyYW1zLmRl
Y29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIHZhciB2YWwg
PSBuZXcgVXNiRGV2aWNlX0lzb2Nocm9ub3VzVHJhbnNmZXJJbl9SZXNwb25zZVBhcmFtcygpOwot
ICAgIHZhciBudW1iZXJPZkJ5dGVzID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFyIHZl
cnNpb24gPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YWwuZGF0YSA9IGRlY29kZXIuZGVj
b2RlQXJyYXlQb2ludGVyKGNvZGVjLlVpbnQ4KTsKLSAgICB2YWwucGFja2V0cyA9IGRlY29kZXIu
ZGVjb2RlQXJyYXlQb2ludGVyKG5ldyBjb2RlYy5Qb2ludGVyVG8oVXNiSXNvY2hyb25vdXNQYWNr
ZXQpKTsKLSAgICByZXR1cm4gdmFsOwotICB9OwotCi0gIFVzYkRldmljZV9Jc29jaHJvbm91c1Ry
YW5zZmVySW5fUmVzcG9uc2VQYXJhbXMuZW5jb2RlID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7
Ci0gICAgdmFyIHBhY2tlZDsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKFVzYkRldmljZV9Jc29j
aHJvbm91c1RyYW5zZmVySW5fUmVzcG9uc2VQYXJhbXMuZW5jb2RlZFNpemUpOwotICAgIGVuY29k
ZXIud3JpdGVVaW50MzIoMCk7Ci0gICAgZW5jb2Rlci5lbmNvZGVBcnJheVBvaW50ZXIoY29kZWMu
VWludDgsIHZhbC5kYXRhKTsKLSAgICBlbmNvZGVyLmVuY29kZUFycmF5UG9pbnRlcihuZXcgY29k
ZWMuUG9pbnRlclRvKFVzYklzb2Nocm9ub3VzUGFja2V0KSwgdmFsLnBhY2tldHMpOwotICB9Owot
ICBmdW5jdGlvbiBVc2JEZXZpY2VfSXNvY2hyb25vdXNUcmFuc2Zlck91dF9QYXJhbXModmFsdWVz
KSB7Ci0gICAgdGhpcy5pbml0RGVmYXVsdHNfKCk7Ci0gICAgdGhpcy5pbml0RmllbGRzXyh2YWx1
ZXMpOwotICB9Ci0KLQotICBVc2JEZXZpY2VfSXNvY2hyb25vdXNUcmFuc2Zlck91dF9QYXJhbXMu
cHJvdG90eXBlLmluaXREZWZhdWx0c18gPSBmdW5jdGlvbigpIHsKLSAgICB0aGlzLmVuZHBvaW50
TnVtYmVyID0gMDsKLSAgICB0aGlzLnRpbWVvdXQgPSAwOwotICAgIHRoaXMuZGF0YSA9IG51bGw7
Ci0gICAgdGhpcy5wYWNrZXRMZW5ndGhzID0gbnVsbDsKLSAgfTsKLSAgVXNiRGV2aWNlX0lzb2No
cm9ub3VzVHJhbnNmZXJPdXRfUGFyYW1zLnByb3RvdHlwZS5pbml0RmllbGRzXyA9IGZ1bmN0aW9u
KGZpZWxkcykgewotICAgIGZvcih2YXIgZmllbGQgaW4gZmllbGRzKSB7Ci0gICAgICAgIGlmICh0
aGlzLmhhc093blByb3BlcnR5KGZpZWxkKSkKLSAgICAgICAgICB0aGlzW2ZpZWxkXSA9IGZpZWxk
c1tmaWVsZF07Ci0gICAgfQotICB9OwotCi0gIFVzYkRldmljZV9Jc29jaHJvbm91c1RyYW5zZmVy
T3V0X1BhcmFtcy52YWxpZGF0ZSA9IGZ1bmN0aW9uKG1lc3NhZ2VWYWxpZGF0b3IsIG9mZnNldCkg
ewotICAgIHZhciBlcnI7Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVj
dEhlYWRlcihvZmZzZXQsIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplKTsKLSAgICBpZiAoZXJyICE9
PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0K
LSAgICB2YXIga1ZlcnNpb25TaXplcyA9IFsKLSAgICAgIHt2ZXJzaW9uOiAwLCBudW1CeXRlczog
MzJ9Ci0gICAgXTsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0VmVy
c2lvbihvZmZzZXQsIGtWZXJzaW9uU2l6ZXMpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52
YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0KLSAgICAvLyB2
YWxpZGF0ZSBVc2JEZXZpY2VfSXNvY2hyb25vdXNUcmFuc2Zlck91dF9QYXJhbXMuZGF0YQotICAg
IGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVBcnJheVBvaW50ZXIob2Zmc2V0ICsgY29k
ZWMua1N0cnVjdEhlYWRlclNpemUgKyA4LCAxLCBjb2RlYy5VaW50OCwgZmFsc2UsIFswXSwgMCk7
Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAg
ICByZXR1cm4gZXJyOwotCi0KLSAgICAvLyB2YWxpZGF0ZSBVc2JEZXZpY2VfSXNvY2hyb25vdXNU
cmFuc2Zlck91dF9QYXJhbXMucGFja2V0TGVuZ3RocwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0
b3IudmFsaWRhdGVBcnJheVBvaW50ZXIob2Zmc2V0ICsgY29kZWMua1N0cnVjdEhlYWRlclNpemUg
KyAxNiwgNCwgY29kZWMuVWludDMyLCBmYWxzZSwgWzBdLCAwKTsKLSAgICBpZiAoZXJyICE9PSB2
YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQot
ICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gIH07Ci0KLSAgVXNi
RGV2aWNlX0lzb2Nocm9ub3VzVHJhbnNmZXJPdXRfUGFyYW1zLmVuY29kZWRTaXplID0gY29kZWMu
a1N0cnVjdEhlYWRlclNpemUgKyAyNDsKLQotICBVc2JEZXZpY2VfSXNvY2hyb25vdXNUcmFuc2Zl
ck91dF9QYXJhbXMuZGVjb2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHZhciBwYWNrZWQ7
Ci0gICAgdmFyIHZhbCA9IG5ldyBVc2JEZXZpY2VfSXNvY2hyb25vdXNUcmFuc2Zlck91dF9QYXJh
bXMoKTsKLSAgICB2YXIgbnVtYmVyT2ZCeXRlcyA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAg
IHZhciB2ZXJzaW9uID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFsLmVuZHBvaW50TnVt
YmVyID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoY29kZWMuVWludDgpOwotICAgIGRlY29kZXIuc2tp
cCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIHZh
bC50aW1lb3V0ID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoY29kZWMuVWludDMyKTsKLSAgICB2YWwu
ZGF0YSA9IGRlY29kZXIuZGVjb2RlQXJyYXlQb2ludGVyKGNvZGVjLlVpbnQ4KTsKLSAgICB2YWwu
cGFja2V0TGVuZ3RocyA9IGRlY29kZXIuZGVjb2RlQXJyYXlQb2ludGVyKGNvZGVjLlVpbnQzMik7
Ci0gICAgcmV0dXJuIHZhbDsKLSAgfTsKLQotICBVc2JEZXZpY2VfSXNvY2hyb25vdXNUcmFuc2Zl
ck91dF9QYXJhbXMuZW5jb2RlID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAgdmFyIHBh
Y2tlZDsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKFVzYkRldmljZV9Jc29jaHJvbm91c1RyYW5z
ZmVyT3V0X1BhcmFtcy5lbmNvZGVkU2l6ZSk7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMigwKTsK
LSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdChjb2RlYy5VaW50OCwgdmFsLmVuZHBvaW50TnVtYmVy
KTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29k
ZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdChjb2RlYy5VaW50MzIsIHZhbC50
aW1lb3V0KTsKLSAgICBlbmNvZGVyLmVuY29kZUFycmF5UG9pbnRlcihjb2RlYy5VaW50OCwgdmFs
LmRhdGEpOwotICAgIGVuY29kZXIuZW5jb2RlQXJyYXlQb2ludGVyKGNvZGVjLlVpbnQzMiwgdmFs
LnBhY2tldExlbmd0aHMpOwotICB9OwotICBmdW5jdGlvbiBVc2JEZXZpY2VfSXNvY2hyb25vdXNU
cmFuc2Zlck91dF9SZXNwb25zZVBhcmFtcyh2YWx1ZXMpIHsKLSAgICB0aGlzLmluaXREZWZhdWx0
c18oKTsKLSAgICB0aGlzLmluaXRGaWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0gIFVzYkRldmlj
ZV9Jc29jaHJvbm91c1RyYW5zZmVyT3V0X1Jlc3BvbnNlUGFyYW1zLnByb3RvdHlwZS5pbml0RGVm
YXVsdHNfID0gZnVuY3Rpb24oKSB7Ci0gICAgdGhpcy5wYWNrZXRzID0gbnVsbDsKLSAgfTsKLSAg
VXNiRGV2aWNlX0lzb2Nocm9ub3VzVHJhbnNmZXJPdXRfUmVzcG9uc2VQYXJhbXMucHJvdG90eXBl
LmluaXRGaWVsZHNfID0gZnVuY3Rpb24oZmllbGRzKSB7Ci0gICAgZm9yKHZhciBmaWVsZCBpbiBm
aWVsZHMpIHsKLSAgICAgICAgaWYgKHRoaXMuaGFzT3duUHJvcGVydHkoZmllbGQpKQotICAgICAg
ICAgIHRoaXNbZmllbGRdID0gZmllbGRzW2ZpZWxkXTsKLSAgICB9Ci0gIH07Ci0KLSAgVXNiRGV2
aWNlX0lzb2Nocm9ub3VzVHJhbnNmZXJPdXRfUmVzcG9uc2VQYXJhbXMudmFsaWRhdGUgPSBmdW5j
dGlvbihtZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsKLSAgICB2YXIgZXJyOwotICAgIGVyciA9
IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RIZWFkZXIob2Zmc2V0LCBjb2RlYy5rU3Ry
dWN0SGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJv
ci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgdmFyIGtWZXJzaW9uU2l6ZXMgPSBb
Ci0gICAgICB7dmVyc2lvbjogMCwgbnVtQnl0ZXM6IDE2fQotICAgIF07Ci0gICAgZXJyID0gbWVz
c2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFZlcnNpb24ob2Zmc2V0LCBrVmVyc2lvblNpemVz
KTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAg
ICAgIHJldHVybiBlcnI7Ci0KLQotICAgIC8vIHZhbGlkYXRlIFVzYkRldmljZV9Jc29jaHJvbm91
c1RyYW5zZmVyT3V0X1Jlc3BvbnNlUGFyYW1zLnBhY2tldHMKLSAgICBlcnIgPSBtZXNzYWdlVmFs
aWRhdG9yLnZhbGlkYXRlQXJyYXlQb2ludGVyKG9mZnNldCArIGNvZGVjLmtTdHJ1Y3RIZWFkZXJT
aXplICsgMCwgOCwgbmV3IGNvZGVjLlBvaW50ZXJUbyhVc2JJc29jaHJvbm91c1BhY2tldCksIGZh
bHNlLCBbMF0sIDApOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3Iu
Tk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRh
dGlvbkVycm9yLk5PTkU7Ci0gIH07Ci0KLSAgVXNiRGV2aWNlX0lzb2Nocm9ub3VzVHJhbnNmZXJP
dXRfUmVzcG9uc2VQYXJhbXMuZW5jb2RlZFNpemUgPSBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSAr
IDg7Ci0KLSAgVXNiRGV2aWNlX0lzb2Nocm9ub3VzVHJhbnNmZXJPdXRfUmVzcG9uc2VQYXJhbXMu
ZGVjb2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgdmFyIHZh
bCA9IG5ldyBVc2JEZXZpY2VfSXNvY2hyb25vdXNUcmFuc2Zlck91dF9SZXNwb25zZVBhcmFtcygp
OwotICAgIHZhciBudW1iZXJPZkJ5dGVzID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFy
IHZlcnNpb24gPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YWwucGFja2V0cyA9IGRlY29k
ZXIuZGVjb2RlQXJyYXlQb2ludGVyKG5ldyBjb2RlYy5Qb2ludGVyVG8oVXNiSXNvY2hyb25vdXNQ
YWNrZXQpKTsKLSAgICByZXR1cm4gdmFsOwotICB9OwotCi0gIFVzYkRldmljZV9Jc29jaHJvbm91
c1RyYW5zZmVyT3V0X1Jlc3BvbnNlUGFyYW1zLmVuY29kZSA9IGZ1bmN0aW9uKGVuY29kZXIsIHZh
bCkgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMihVc2JEZXZpY2Vf
SXNvY2hyb25vdXNUcmFuc2Zlck91dF9SZXNwb25zZVBhcmFtcy5lbmNvZGVkU2l6ZSk7Ci0gICAg
ZW5jb2Rlci53cml0ZVVpbnQzMigwKTsKLSAgICBlbmNvZGVyLmVuY29kZUFycmF5UG9pbnRlcihu
ZXcgY29kZWMuUG9pbnRlclRvKFVzYklzb2Nocm9ub3VzUGFja2V0KSwgdmFsLnBhY2tldHMpOwot
ICB9OwotICBmdW5jdGlvbiBVc2JEZXZpY2VDbGllbnRfT25EZXZpY2VPcGVuZWRfUGFyYW1zKHZh
bHVlcykgewotICAgIHRoaXMuaW5pdERlZmF1bHRzXygpOwotICAgIHRoaXMuaW5pdEZpZWxkc18o
dmFsdWVzKTsKLSAgfQotCi0KLSAgVXNiRGV2aWNlQ2xpZW50X09uRGV2aWNlT3BlbmVkX1BhcmFt
cy5wcm90b3R5cGUuaW5pdERlZmF1bHRzXyA9IGZ1bmN0aW9uKCkgewotICB9OwotICBVc2JEZXZp
Y2VDbGllbnRfT25EZXZpY2VPcGVuZWRfUGFyYW1zLnByb3RvdHlwZS5pbml0RmllbGRzXyA9IGZ1
bmN0aW9uKGZpZWxkcykgewotICAgIGZvcih2YXIgZmllbGQgaW4gZmllbGRzKSB7Ci0gICAgICAg
IGlmICh0aGlzLmhhc093blByb3BlcnR5KGZpZWxkKSkKLSAgICAgICAgICB0aGlzW2ZpZWxkXSA9
IGZpZWxkc1tmaWVsZF07Ci0gICAgfQotICB9OwotCi0gIFVzYkRldmljZUNsaWVudF9PbkRldmlj
ZU9wZW5lZF9QYXJhbXMudmFsaWRhdGUgPSBmdW5jdGlvbihtZXNzYWdlVmFsaWRhdG9yLCBvZmZz
ZXQpIHsKLSAgICB2YXIgZXJyOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVT
dHJ1Y3RIZWFkZXIob2Zmc2V0LCBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVy
ciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJy
OwotCi0gICAgdmFyIGtWZXJzaW9uU2l6ZXMgPSBbCi0gICAgICB7dmVyc2lvbjogMCwgbnVtQnl0
ZXM6IDh9Ci0gICAgXTsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0
VmVyc2lvbihvZmZzZXQsIGtWZXJzaW9uU2l6ZXMpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRv
ci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHJldHVy
biB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gIH07Ci0KLSAgVXNiRGV2aWNlQ2xp
ZW50X09uRGV2aWNlT3BlbmVkX1BhcmFtcy5lbmNvZGVkU2l6ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFk
ZXJTaXplICsgMDsKLQotICBVc2JEZXZpY2VDbGllbnRfT25EZXZpY2VPcGVuZWRfUGFyYW1zLmRl
Y29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIHZhciB2YWwg
PSBuZXcgVXNiRGV2aWNlQ2xpZW50X09uRGV2aWNlT3BlbmVkX1BhcmFtcygpOwotICAgIHZhciBu
dW1iZXJPZkJ5dGVzID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFyIHZlcnNpb24gPSBk
ZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICByZXR1cm4gdmFsOwotICB9OwotCi0gIFVzYkRldmlj
ZUNsaWVudF9PbkRldmljZU9wZW5lZF9QYXJhbXMuZW5jb2RlID0gZnVuY3Rpb24oZW5jb2Rlciwg
dmFsKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKFVzYkRldmlj
ZUNsaWVudF9PbkRldmljZU9wZW5lZF9QYXJhbXMuZW5jb2RlZFNpemUpOwotICAgIGVuY29kZXIu
d3JpdGVVaW50MzIoMCk7Ci0gIH07Ci0gIGZ1bmN0aW9uIFVzYkRldmljZUNsaWVudF9PbkRldmlj
ZUNsb3NlZF9QYXJhbXModmFsdWVzKSB7Ci0gICAgdGhpcy5pbml0RGVmYXVsdHNfKCk7Ci0gICAg
dGhpcy5pbml0RmllbGRzXyh2YWx1ZXMpOwotICB9Ci0KLQotICBVc2JEZXZpY2VDbGllbnRfT25E
ZXZpY2VDbG9zZWRfUGFyYW1zLnByb3RvdHlwZS5pbml0RGVmYXVsdHNfID0gZnVuY3Rpb24oKSB7
Ci0gIH07Ci0gIFVzYkRldmljZUNsaWVudF9PbkRldmljZUNsb3NlZF9QYXJhbXMucHJvdG90eXBl
LmluaXRGaWVsZHNfID0gZnVuY3Rpb24oZmllbGRzKSB7Ci0gICAgZm9yKHZhciBmaWVsZCBpbiBm
aWVsZHMpIHsKLSAgICAgICAgaWYgKHRoaXMuaGFzT3duUHJvcGVydHkoZmllbGQpKQotICAgICAg
ICAgIHRoaXNbZmllbGRdID0gZmllbGRzW2ZpZWxkXTsKLSAgICB9Ci0gIH07Ci0KLSAgVXNiRGV2
aWNlQ2xpZW50X09uRGV2aWNlQ2xvc2VkX1BhcmFtcy52YWxpZGF0ZSA9IGZ1bmN0aW9uKG1lc3Nh
Z2VWYWxpZGF0b3IsIG9mZnNldCkgewotICAgIHZhciBlcnI7Ci0gICAgZXJyID0gbWVzc2FnZVZh
bGlkYXRvci52YWxpZGF0ZVN0cnVjdEhlYWRlcihvZmZzZXQsIGNvZGVjLmtTdHJ1Y3RIZWFkZXJT
aXplKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0g
ICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICB2YXIga1ZlcnNpb25TaXplcyA9IFsKLSAgICAgIHt2
ZXJzaW9uOiAwLCBudW1CeXRlczogOH0KLSAgICBdOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0
b3IudmFsaWRhdGVTdHJ1Y3RWZXJzaW9uKG9mZnNldCwga1ZlcnNpb25TaXplcyk7Ci0gICAgaWYg
KGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4g
ZXJyOwotCi0gICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAgfTsK
LQotICBVc2JEZXZpY2VDbGllbnRfT25EZXZpY2VDbG9zZWRfUGFyYW1zLmVuY29kZWRTaXplID0g
Y29kZWMua1N0cnVjdEhlYWRlclNpemUgKyAwOwotCi0gIFVzYkRldmljZUNsaWVudF9PbkRldmlj
ZUNsb3NlZF9QYXJhbXMuZGVjb2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHZhciBwYWNr
ZWQ7Ci0gICAgdmFyIHZhbCA9IG5ldyBVc2JEZXZpY2VDbGllbnRfT25EZXZpY2VDbG9zZWRfUGFy
YW1zKCk7Ci0gICAgdmFyIG51bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAg
ICB2YXIgdmVyc2lvbiA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHJldHVybiB2YWw7Ci0g
IH07Ci0KLSAgVXNiRGV2aWNlQ2xpZW50X09uRGV2aWNlQ2xvc2VkX1BhcmFtcy5lbmNvZGUgPSBm
dW5jdGlvbihlbmNvZGVyLCB2YWwpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIGVuY29kZXIud3Jp
dGVVaW50MzIoVXNiRGV2aWNlQ2xpZW50X09uRGV2aWNlQ2xvc2VkX1BhcmFtcy5lbmNvZGVkU2l6
ZSk7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMigwKTsKLSAgfTsKLSAgdmFyIGtVc2JEZXZpY2Vf
T3Blbl9OYW1lID0gMDsKLSAgdmFyIGtVc2JEZXZpY2VfQ2xvc2VfTmFtZSA9IDE7Ci0gIHZhciBr
VXNiRGV2aWNlX1NldENvbmZpZ3VyYXRpb25fTmFtZSA9IDI7Ci0gIHZhciBrVXNiRGV2aWNlX0Ns
YWltSW50ZXJmYWNlX05hbWUgPSAzOwotICB2YXIga1VzYkRldmljZV9SZWxlYXNlSW50ZXJmYWNl
X05hbWUgPSA0OwotICB2YXIga1VzYkRldmljZV9TZXRJbnRlcmZhY2VBbHRlcm5hdGVTZXR0aW5n
X05hbWUgPSA1OwotICB2YXIga1VzYkRldmljZV9SZXNldF9OYW1lID0gNjsKLSAgdmFyIGtVc2JE
ZXZpY2VfQ2xlYXJIYWx0X05hbWUgPSA3OwotICB2YXIga1VzYkRldmljZV9Db250cm9sVHJhbnNm
ZXJJbl9OYW1lID0gODsKLSAgdmFyIGtVc2JEZXZpY2VfQ29udHJvbFRyYW5zZmVyT3V0X05hbWUg
PSA5OwotICB2YXIga1VzYkRldmljZV9HZW5lcmljVHJhbnNmZXJJbl9OYW1lID0gMTA7Ci0gIHZh
ciBrVXNiRGV2aWNlX0dlbmVyaWNUcmFuc2Zlck91dF9OYW1lID0gMTE7Ci0gIHZhciBrVXNiRGV2
aWNlX0lzb2Nocm9ub3VzVHJhbnNmZXJJbl9OYW1lID0gMTI7Ci0gIHZhciBrVXNiRGV2aWNlX0lz
b2Nocm9ub3VzVHJhbnNmZXJPdXRfTmFtZSA9IDEzOwotCi0gIGZ1bmN0aW9uIFVzYkRldmljZVB0
cihoYW5kbGVPclB0ckluZm8pIHsKLSAgICB0aGlzLnB0ciA9IG5ldyBiaW5kaW5ncy5JbnRlcmZh
Y2VQdHJDb250cm9sbGVyKFVzYkRldmljZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZU9yUHRySW5mbyk7Ci0gIH0KLQotICBmdW5jdGlv
biBVc2JEZXZpY2VBc3NvY2lhdGVkUHRyKGFzc29jaWF0ZWRJbnRlcmZhY2VQdHJJbmZvKSB7Ci0g
ICAgdGhpcy5wdHIgPSBuZXcgYXNzb2NpYXRlZEJpbmRpbmdzLkFzc29jaWF0ZWRJbnRlcmZhY2VQ
dHJDb250cm9sbGVyKAotICAgICAgICBVc2JEZXZpY2UsIGFzc29jaWF0ZWRJbnRlcmZhY2VQdHJJ
bmZvKTsKLSAgfQotCi0gIFVzYkRldmljZUFzc29jaWF0ZWRQdHIucHJvdG90eXBlID0KLSAgICAg
IE9iamVjdC5jcmVhdGUoVXNiRGV2aWNlUHRyLnByb3RvdHlwZSk7Ci0gIFVzYkRldmljZUFzc29j
aWF0ZWRQdHIucHJvdG90eXBlLmNvbnN0cnVjdG9yID0KLSAgICAgIFVzYkRldmljZUFzc29jaWF0
ZWRQdHI7Ci0KLSAgZnVuY3Rpb24gVXNiRGV2aWNlUHJveHkocmVjZWl2ZXIpIHsKLSAgICB0aGlz
LnJlY2VpdmVyXyA9IHJlY2VpdmVyOwotICB9Ci0gIFVzYkRldmljZVB0ci5wcm90b3R5cGUub3Bl
biA9IGZ1bmN0aW9uKCkgewotICAgIHJldHVybiBVc2JEZXZpY2VQcm94eS5wcm90b3R5cGUub3Bl
bgotICAgICAgICAuYXBwbHkodGhpcy5wdHIuZ2V0UHJveHkoKSwgYXJndW1lbnRzKTsKLSAgfTsK
LQotICBVc2JEZXZpY2VQcm94eS5wcm90b3R5cGUub3BlbiA9IGZ1bmN0aW9uKCkgewotICAgIHZh
ciBwYXJhbXNfID0gbmV3IFVzYkRldmljZV9PcGVuX1BhcmFtcygpOwotICAgIHJldHVybiBuZXcg
UHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKLSAgICAgIHZhciBidWlsZGVyID0g
bmV3IGNvZGVjLk1lc3NhZ2VWMUJ1aWxkZXIoCi0gICAgICAgICAga1VzYkRldmljZV9PcGVuX05h
bWUsCi0gICAgICAgICAgY29kZWMuYWxpZ24oVXNiRGV2aWNlX09wZW5fUGFyYW1zLmVuY29kZWRT
aXplKSwKLSAgICAgICAgICBjb2RlYy5rTWVzc2FnZUV4cGVjdHNSZXNwb25zZSwgMCk7Ci0gICAg
ICBidWlsZGVyLmVuY29kZVN0cnVjdChVc2JEZXZpY2VfT3Blbl9QYXJhbXMsIHBhcmFtc18pOwot
ICAgICAgdmFyIG1lc3NhZ2UgPSBidWlsZGVyLmZpbmlzaCgpOwotICAgICAgdGhpcy5yZWNlaXZl
cl8uYWNjZXB0QW5kRXhwZWN0UmVzcG9uc2UobWVzc2FnZSkudGhlbihmdW5jdGlvbihtZXNzYWdl
KSB7Ci0gICAgICAgIHZhciByZWFkZXIgPSBuZXcgY29kZWMuTWVzc2FnZVJlYWRlcihtZXNzYWdl
KTsKLSAgICAgICAgdmFyIHJlc3BvbnNlUGFyYW1zID0KLSAgICAgICAgICAgIHJlYWRlci5kZWNv
ZGVTdHJ1Y3QoVXNiRGV2aWNlX09wZW5fUmVzcG9uc2VQYXJhbXMpOwotICAgICAgICByZXNvbHZl
KHJlc3BvbnNlUGFyYW1zKTsKLSAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uKHJlc3VsdCkgewotICAg
ICAgICByZWplY3QoRXJyb3IoIkNvbm5lY3Rpb24gZXJyb3I6ICIgKyByZXN1bHQpKTsKLSAgICAg
IH0pOwotICAgIH0uYmluZCh0aGlzKSk7Ci0gIH07Ci0gIFVzYkRldmljZVB0ci5wcm90b3R5cGUu
Y2xvc2UgPSBmdW5jdGlvbigpIHsKLSAgICByZXR1cm4gVXNiRGV2aWNlUHJveHkucHJvdG90eXBl
LmNsb3NlCi0gICAgICAgIC5hcHBseSh0aGlzLnB0ci5nZXRQcm94eSgpLCBhcmd1bWVudHMpOwot
ICB9OwotCi0gIFVzYkRldmljZVByb3h5LnByb3RvdHlwZS5jbG9zZSA9IGZ1bmN0aW9uKCkgewot
ICAgIHZhciBwYXJhbXNfID0gbmV3IFVzYkRldmljZV9DbG9zZV9QYXJhbXMoKTsKLSAgICByZXR1
cm4gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7Ci0gICAgICB2YXIgYnVp
bGRlciA9IG5ldyBjb2RlYy5NZXNzYWdlVjFCdWlsZGVyKAotICAgICAgICAgIGtVc2JEZXZpY2Vf
Q2xvc2VfTmFtZSwKLSAgICAgICAgICBjb2RlYy5hbGlnbihVc2JEZXZpY2VfQ2xvc2VfUGFyYW1z
LmVuY29kZWRTaXplKSwKLSAgICAgICAgICBjb2RlYy5rTWVzc2FnZUV4cGVjdHNSZXNwb25zZSwg
MCk7Ci0gICAgICBidWlsZGVyLmVuY29kZVN0cnVjdChVc2JEZXZpY2VfQ2xvc2VfUGFyYW1zLCBw
YXJhbXNfKTsKLSAgICAgIHZhciBtZXNzYWdlID0gYnVpbGRlci5maW5pc2goKTsKLSAgICAgIHRo
aXMucmVjZWl2ZXJfLmFjY2VwdEFuZEV4cGVjdFJlc3BvbnNlKG1lc3NhZ2UpLnRoZW4oZnVuY3Rp
b24obWVzc2FnZSkgewotICAgICAgICB2YXIgcmVhZGVyID0gbmV3IGNvZGVjLk1lc3NhZ2VSZWFk
ZXIobWVzc2FnZSk7Ci0gICAgICAgIHZhciByZXNwb25zZVBhcmFtcyA9Ci0gICAgICAgICAgICBy
ZWFkZXIuZGVjb2RlU3RydWN0KFVzYkRldmljZV9DbG9zZV9SZXNwb25zZVBhcmFtcyk7Ci0gICAg
ICAgIHJlc29sdmUocmVzcG9uc2VQYXJhbXMpOwotICAgICAgfSkuY2F0Y2goZnVuY3Rpb24ocmVz
dWx0KSB7Ci0gICAgICAgIHJlamVjdChFcnJvcigiQ29ubmVjdGlvbiBlcnJvcjogIiArIHJlc3Vs
dCkpOwotICAgICAgfSk7Ci0gICAgfS5iaW5kKHRoaXMpKTsKLSAgfTsKLSAgVXNiRGV2aWNlUHRy
LnByb3RvdHlwZS5zZXRDb25maWd1cmF0aW9uID0gZnVuY3Rpb24oKSB7Ci0gICAgcmV0dXJuIFVz
YkRldmljZVByb3h5LnByb3RvdHlwZS5zZXRDb25maWd1cmF0aW9uCi0gICAgICAgIC5hcHBseSh0
aGlzLnB0ci5nZXRQcm94eSgpLCBhcmd1bWVudHMpOwotICB9OwotCi0gIFVzYkRldmljZVByb3h5
LnByb3RvdHlwZS5zZXRDb25maWd1cmF0aW9uID0gZnVuY3Rpb24odmFsdWUpIHsKLSAgICB2YXIg
cGFyYW1zXyA9IG5ldyBVc2JEZXZpY2VfU2V0Q29uZmlndXJhdGlvbl9QYXJhbXMoKTsKLSAgICBw
YXJhbXNfLnZhbHVlID0gdmFsdWU7Ci0gICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJl
c29sdmUsIHJlamVjdCkgewotICAgICAgdmFyIGJ1aWxkZXIgPSBuZXcgY29kZWMuTWVzc2FnZVYx
QnVpbGRlcigKLSAgICAgICAgICBrVXNiRGV2aWNlX1NldENvbmZpZ3VyYXRpb25fTmFtZSwKLSAg
ICAgICAgICBjb2RlYy5hbGlnbihVc2JEZXZpY2VfU2V0Q29uZmlndXJhdGlvbl9QYXJhbXMuZW5j
b2RlZFNpemUpLAotICAgICAgICAgIGNvZGVjLmtNZXNzYWdlRXhwZWN0c1Jlc3BvbnNlLCAwKTsK
LSAgICAgIGJ1aWxkZXIuZW5jb2RlU3RydWN0KFVzYkRldmljZV9TZXRDb25maWd1cmF0aW9uX1Bh
cmFtcywgcGFyYW1zXyk7Ci0gICAgICB2YXIgbWVzc2FnZSA9IGJ1aWxkZXIuZmluaXNoKCk7Ci0g
ICAgICB0aGlzLnJlY2VpdmVyXy5hY2NlcHRBbmRFeHBlY3RSZXNwb25zZShtZXNzYWdlKS50aGVu
KGZ1bmN0aW9uKG1lc3NhZ2UpIHsKLSAgICAgICAgdmFyIHJlYWRlciA9IG5ldyBjb2RlYy5NZXNz
YWdlUmVhZGVyKG1lc3NhZ2UpOwotICAgICAgICB2YXIgcmVzcG9uc2VQYXJhbXMgPQotICAgICAg
ICAgICAgcmVhZGVyLmRlY29kZVN0cnVjdChVc2JEZXZpY2VfU2V0Q29uZmlndXJhdGlvbl9SZXNw
b25zZVBhcmFtcyk7Ci0gICAgICAgIHJlc29sdmUocmVzcG9uc2VQYXJhbXMpOwotICAgICAgfSku
Y2F0Y2goZnVuY3Rpb24ocmVzdWx0KSB7Ci0gICAgICAgIHJlamVjdChFcnJvcigiQ29ubmVjdGlv
biBlcnJvcjogIiArIHJlc3VsdCkpOwotICAgICAgfSk7Ci0gICAgfS5iaW5kKHRoaXMpKTsKLSAg
fTsKLSAgVXNiRGV2aWNlUHRyLnByb3RvdHlwZS5jbGFpbUludGVyZmFjZSA9IGZ1bmN0aW9uKCkg
ewotICAgIHJldHVybiBVc2JEZXZpY2VQcm94eS5wcm90b3R5cGUuY2xhaW1JbnRlcmZhY2UKLSAg
ICAgICAgLmFwcGx5KHRoaXMucHRyLmdldFByb3h5KCksIGFyZ3VtZW50cyk7Ci0gIH07Ci0KLSAg
VXNiRGV2aWNlUHJveHkucHJvdG90eXBlLmNsYWltSW50ZXJmYWNlID0gZnVuY3Rpb24oaW50ZXJm
YWNlTnVtYmVyKSB7Ci0gICAgdmFyIHBhcmFtc18gPSBuZXcgVXNiRGV2aWNlX0NsYWltSW50ZXJm
YWNlX1BhcmFtcygpOwotICAgIHBhcmFtc18uaW50ZXJmYWNlTnVtYmVyID0gaW50ZXJmYWNlTnVt
YmVyOwotICAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsK
LSAgICAgIHZhciBidWlsZGVyID0gbmV3IGNvZGVjLk1lc3NhZ2VWMUJ1aWxkZXIoCi0gICAgICAg
ICAga1VzYkRldmljZV9DbGFpbUludGVyZmFjZV9OYW1lLAotICAgICAgICAgIGNvZGVjLmFsaWdu
KFVzYkRldmljZV9DbGFpbUludGVyZmFjZV9QYXJhbXMuZW5jb2RlZFNpemUpLAotICAgICAgICAg
IGNvZGVjLmtNZXNzYWdlRXhwZWN0c1Jlc3BvbnNlLCAwKTsKLSAgICAgIGJ1aWxkZXIuZW5jb2Rl
U3RydWN0KFVzYkRldmljZV9DbGFpbUludGVyZmFjZV9QYXJhbXMsIHBhcmFtc18pOwotICAgICAg
dmFyIG1lc3NhZ2UgPSBidWlsZGVyLmZpbmlzaCgpOwotICAgICAgdGhpcy5yZWNlaXZlcl8uYWNj
ZXB0QW5kRXhwZWN0UmVzcG9uc2UobWVzc2FnZSkudGhlbihmdW5jdGlvbihtZXNzYWdlKSB7Ci0g
ICAgICAgIHZhciByZWFkZXIgPSBuZXcgY29kZWMuTWVzc2FnZVJlYWRlcihtZXNzYWdlKTsKLSAg
ICAgICAgdmFyIHJlc3BvbnNlUGFyYW1zID0KLSAgICAgICAgICAgIHJlYWRlci5kZWNvZGVTdHJ1
Y3QoVXNiRGV2aWNlX0NsYWltSW50ZXJmYWNlX1Jlc3BvbnNlUGFyYW1zKTsKLSAgICAgICAgcmVz
b2x2ZShyZXNwb25zZVBhcmFtcyk7Ci0gICAgICB9KS5jYXRjaChmdW5jdGlvbihyZXN1bHQpIHsK
LSAgICAgICAgcmVqZWN0KEVycm9yKCJDb25uZWN0aW9uIGVycm9yOiAiICsgcmVzdWx0KSk7Ci0g
ICAgICB9KTsKLSAgICB9LmJpbmQodGhpcykpOwotICB9OwotICBVc2JEZXZpY2VQdHIucHJvdG90
eXBlLnJlbGVhc2VJbnRlcmZhY2UgPSBmdW5jdGlvbigpIHsKLSAgICByZXR1cm4gVXNiRGV2aWNl
UHJveHkucHJvdG90eXBlLnJlbGVhc2VJbnRlcmZhY2UKLSAgICAgICAgLmFwcGx5KHRoaXMucHRy
LmdldFByb3h5KCksIGFyZ3VtZW50cyk7Ci0gIH07Ci0KLSAgVXNiRGV2aWNlUHJveHkucHJvdG90
eXBlLnJlbGVhc2VJbnRlcmZhY2UgPSBmdW5jdGlvbihpbnRlcmZhY2VOdW1iZXIpIHsKLSAgICB2
YXIgcGFyYW1zXyA9IG5ldyBVc2JEZXZpY2VfUmVsZWFzZUludGVyZmFjZV9QYXJhbXMoKTsKLSAg
ICBwYXJhbXNfLmludGVyZmFjZU51bWJlciA9IGludGVyZmFjZU51bWJlcjsKLSAgICByZXR1cm4g
bmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7Ci0gICAgICB2YXIgYnVpbGRl
ciA9IG5ldyBjb2RlYy5NZXNzYWdlVjFCdWlsZGVyKAotICAgICAgICAgIGtVc2JEZXZpY2VfUmVs
ZWFzZUludGVyZmFjZV9OYW1lLAotICAgICAgICAgIGNvZGVjLmFsaWduKFVzYkRldmljZV9SZWxl
YXNlSW50ZXJmYWNlX1BhcmFtcy5lbmNvZGVkU2l6ZSksCi0gICAgICAgICAgY29kZWMua01lc3Nh
Z2VFeHBlY3RzUmVzcG9uc2UsIDApOwotICAgICAgYnVpbGRlci5lbmNvZGVTdHJ1Y3QoVXNiRGV2
aWNlX1JlbGVhc2VJbnRlcmZhY2VfUGFyYW1zLCBwYXJhbXNfKTsKLSAgICAgIHZhciBtZXNzYWdl
ID0gYnVpbGRlci5maW5pc2goKTsKLSAgICAgIHRoaXMucmVjZWl2ZXJfLmFjY2VwdEFuZEV4cGVj
dFJlc3BvbnNlKG1lc3NhZ2UpLnRoZW4oZnVuY3Rpb24obWVzc2FnZSkgewotICAgICAgICB2YXIg
cmVhZGVyID0gbmV3IGNvZGVjLk1lc3NhZ2VSZWFkZXIobWVzc2FnZSk7Ci0gICAgICAgIHZhciBy
ZXNwb25zZVBhcmFtcyA9Ci0gICAgICAgICAgICByZWFkZXIuZGVjb2RlU3RydWN0KFVzYkRldmlj
ZV9SZWxlYXNlSW50ZXJmYWNlX1Jlc3BvbnNlUGFyYW1zKTsKLSAgICAgICAgcmVzb2x2ZShyZXNw
b25zZVBhcmFtcyk7Ci0gICAgICB9KS5jYXRjaChmdW5jdGlvbihyZXN1bHQpIHsKLSAgICAgICAg
cmVqZWN0KEVycm9yKCJDb25uZWN0aW9uIGVycm9yOiAiICsgcmVzdWx0KSk7Ci0gICAgICB9KTsK
LSAgICB9LmJpbmQodGhpcykpOwotICB9OwotICBVc2JEZXZpY2VQdHIucHJvdG90eXBlLnNldElu
dGVyZmFjZUFsdGVybmF0ZVNldHRpbmcgPSBmdW5jdGlvbigpIHsKLSAgICByZXR1cm4gVXNiRGV2
aWNlUHJveHkucHJvdG90eXBlLnNldEludGVyZmFjZUFsdGVybmF0ZVNldHRpbmcKLSAgICAgICAg
LmFwcGx5KHRoaXMucHRyLmdldFByb3h5KCksIGFyZ3VtZW50cyk7Ci0gIH07Ci0KLSAgVXNiRGV2
aWNlUHJveHkucHJvdG90eXBlLnNldEludGVyZmFjZUFsdGVybmF0ZVNldHRpbmcgPSBmdW5jdGlv
bihpbnRlcmZhY2VOdW1iZXIsIGFsdGVybmF0ZVNldHRpbmcpIHsKLSAgICB2YXIgcGFyYW1zXyA9
IG5ldyBVc2JEZXZpY2VfU2V0SW50ZXJmYWNlQWx0ZXJuYXRlU2V0dGluZ19QYXJhbXMoKTsKLSAg
ICBwYXJhbXNfLmludGVyZmFjZU51bWJlciA9IGludGVyZmFjZU51bWJlcjsKLSAgICBwYXJhbXNf
LmFsdGVybmF0ZVNldHRpbmcgPSBhbHRlcm5hdGVTZXR0aW5nOwotICAgIHJldHVybiBuZXcgUHJv
bWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKLSAgICAgIHZhciBidWlsZGVyID0gbmV3
IGNvZGVjLk1lc3NhZ2VWMUJ1aWxkZXIoCi0gICAgICAgICAga1VzYkRldmljZV9TZXRJbnRlcmZh
Y2VBbHRlcm5hdGVTZXR0aW5nX05hbWUsCi0gICAgICAgICAgY29kZWMuYWxpZ24oVXNiRGV2aWNl
X1NldEludGVyZmFjZUFsdGVybmF0ZVNldHRpbmdfUGFyYW1zLmVuY29kZWRTaXplKSwKLSAgICAg
ICAgICBjb2RlYy5rTWVzc2FnZUV4cGVjdHNSZXNwb25zZSwgMCk7Ci0gICAgICBidWlsZGVyLmVu
Y29kZVN0cnVjdChVc2JEZXZpY2VfU2V0SW50ZXJmYWNlQWx0ZXJuYXRlU2V0dGluZ19QYXJhbXMs
IHBhcmFtc18pOwotICAgICAgdmFyIG1lc3NhZ2UgPSBidWlsZGVyLmZpbmlzaCgpOwotICAgICAg
dGhpcy5yZWNlaXZlcl8uYWNjZXB0QW5kRXhwZWN0UmVzcG9uc2UobWVzc2FnZSkudGhlbihmdW5j
dGlvbihtZXNzYWdlKSB7Ci0gICAgICAgIHZhciByZWFkZXIgPSBuZXcgY29kZWMuTWVzc2FnZVJl
YWRlcihtZXNzYWdlKTsKLSAgICAgICAgdmFyIHJlc3BvbnNlUGFyYW1zID0KLSAgICAgICAgICAg
IHJlYWRlci5kZWNvZGVTdHJ1Y3QoVXNiRGV2aWNlX1NldEludGVyZmFjZUFsdGVybmF0ZVNldHRp
bmdfUmVzcG9uc2VQYXJhbXMpOwotICAgICAgICByZXNvbHZlKHJlc3BvbnNlUGFyYW1zKTsKLSAg
ICAgIH0pLmNhdGNoKGZ1bmN0aW9uKHJlc3VsdCkgewotICAgICAgICByZWplY3QoRXJyb3IoIkNv
bm5lY3Rpb24gZXJyb3I6ICIgKyByZXN1bHQpKTsKLSAgICAgIH0pOwotICAgIH0uYmluZCh0aGlz
KSk7Ci0gIH07Ci0gIFVzYkRldmljZVB0ci5wcm90b3R5cGUucmVzZXQgPSBmdW5jdGlvbigpIHsK
LSAgICByZXR1cm4gVXNiRGV2aWNlUHJveHkucHJvdG90eXBlLnJlc2V0Ci0gICAgICAgIC5hcHBs
eSh0aGlzLnB0ci5nZXRQcm94eSgpLCBhcmd1bWVudHMpOwotICB9OwotCi0gIFVzYkRldmljZVBy
b3h5LnByb3RvdHlwZS5yZXNldCA9IGZ1bmN0aW9uKCkgewotICAgIHZhciBwYXJhbXNfID0gbmV3
IFVzYkRldmljZV9SZXNldF9QYXJhbXMoKTsKLSAgICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rp
b24ocmVzb2x2ZSwgcmVqZWN0KSB7Ci0gICAgICB2YXIgYnVpbGRlciA9IG5ldyBjb2RlYy5NZXNz
YWdlVjFCdWlsZGVyKAotICAgICAgICAgIGtVc2JEZXZpY2VfUmVzZXRfTmFtZSwKLSAgICAgICAg
ICBjb2RlYy5hbGlnbihVc2JEZXZpY2VfUmVzZXRfUGFyYW1zLmVuY29kZWRTaXplKSwKLSAgICAg
ICAgICBjb2RlYy5rTWVzc2FnZUV4cGVjdHNSZXNwb25zZSwgMCk7Ci0gICAgICBidWlsZGVyLmVu
Y29kZVN0cnVjdChVc2JEZXZpY2VfUmVzZXRfUGFyYW1zLCBwYXJhbXNfKTsKLSAgICAgIHZhciBt
ZXNzYWdlID0gYnVpbGRlci5maW5pc2goKTsKLSAgICAgIHRoaXMucmVjZWl2ZXJfLmFjY2VwdEFu
ZEV4cGVjdFJlc3BvbnNlKG1lc3NhZ2UpLnRoZW4oZnVuY3Rpb24obWVzc2FnZSkgewotICAgICAg
ICB2YXIgcmVhZGVyID0gbmV3IGNvZGVjLk1lc3NhZ2VSZWFkZXIobWVzc2FnZSk7Ci0gICAgICAg
IHZhciByZXNwb25zZVBhcmFtcyA9Ci0gICAgICAgICAgICByZWFkZXIuZGVjb2RlU3RydWN0KFVz
YkRldmljZV9SZXNldF9SZXNwb25zZVBhcmFtcyk7Ci0gICAgICAgIHJlc29sdmUocmVzcG9uc2VQ
YXJhbXMpOwotICAgICAgfSkuY2F0Y2goZnVuY3Rpb24ocmVzdWx0KSB7Ci0gICAgICAgIHJlamVj
dChFcnJvcigiQ29ubmVjdGlvbiBlcnJvcjogIiArIHJlc3VsdCkpOwotICAgICAgfSk7Ci0gICAg
fS5iaW5kKHRoaXMpKTsKLSAgfTsKLSAgVXNiRGV2aWNlUHRyLnByb3RvdHlwZS5jbGVhckhhbHQg
PSBmdW5jdGlvbigpIHsKLSAgICByZXR1cm4gVXNiRGV2aWNlUHJveHkucHJvdG90eXBlLmNsZWFy
SGFsdAotICAgICAgICAuYXBwbHkodGhpcy5wdHIuZ2V0UHJveHkoKSwgYXJndW1lbnRzKTsKLSAg
fTsKLQotICBVc2JEZXZpY2VQcm94eS5wcm90b3R5cGUuY2xlYXJIYWx0ID0gZnVuY3Rpb24oZW5k
cG9pbnQpIHsKLSAgICB2YXIgcGFyYW1zXyA9IG5ldyBVc2JEZXZpY2VfQ2xlYXJIYWx0X1BhcmFt
cygpOwotICAgIHBhcmFtc18uZW5kcG9pbnQgPSBlbmRwb2ludDsKLSAgICByZXR1cm4gbmV3IFBy
b21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7Ci0gICAgICB2YXIgYnVpbGRlciA9IG5l
dyBjb2RlYy5NZXNzYWdlVjFCdWlsZGVyKAotICAgICAgICAgIGtVc2JEZXZpY2VfQ2xlYXJIYWx0
X05hbWUsCi0gICAgICAgICAgY29kZWMuYWxpZ24oVXNiRGV2aWNlX0NsZWFySGFsdF9QYXJhbXMu
ZW5jb2RlZFNpemUpLAotICAgICAgICAgIGNvZGVjLmtNZXNzYWdlRXhwZWN0c1Jlc3BvbnNlLCAw
KTsKLSAgICAgIGJ1aWxkZXIuZW5jb2RlU3RydWN0KFVzYkRldmljZV9DbGVhckhhbHRfUGFyYW1z
LCBwYXJhbXNfKTsKLSAgICAgIHZhciBtZXNzYWdlID0gYnVpbGRlci5maW5pc2goKTsKLSAgICAg
IHRoaXMucmVjZWl2ZXJfLmFjY2VwdEFuZEV4cGVjdFJlc3BvbnNlKG1lc3NhZ2UpLnRoZW4oZnVu
Y3Rpb24obWVzc2FnZSkgewotICAgICAgICB2YXIgcmVhZGVyID0gbmV3IGNvZGVjLk1lc3NhZ2VS
ZWFkZXIobWVzc2FnZSk7Ci0gICAgICAgIHZhciByZXNwb25zZVBhcmFtcyA9Ci0gICAgICAgICAg
ICByZWFkZXIuZGVjb2RlU3RydWN0KFVzYkRldmljZV9DbGVhckhhbHRfUmVzcG9uc2VQYXJhbXMp
OwotICAgICAgICByZXNvbHZlKHJlc3BvbnNlUGFyYW1zKTsKLSAgICAgIH0pLmNhdGNoKGZ1bmN0
aW9uKHJlc3VsdCkgewotICAgICAgICByZWplY3QoRXJyb3IoIkNvbm5lY3Rpb24gZXJyb3I6ICIg
KyByZXN1bHQpKTsKLSAgICAgIH0pOwotICAgIH0uYmluZCh0aGlzKSk7Ci0gIH07Ci0gIFVzYkRl
dmljZVB0ci5wcm90b3R5cGUuY29udHJvbFRyYW5zZmVySW4gPSBmdW5jdGlvbigpIHsKLSAgICBy
ZXR1cm4gVXNiRGV2aWNlUHJveHkucHJvdG90eXBlLmNvbnRyb2xUcmFuc2ZlckluCi0gICAgICAg
IC5hcHBseSh0aGlzLnB0ci5nZXRQcm94eSgpLCBhcmd1bWVudHMpOwotICB9OwotCi0gIFVzYkRl
dmljZVByb3h5LnByb3RvdHlwZS5jb250cm9sVHJhbnNmZXJJbiA9IGZ1bmN0aW9uKHBhcmFtcywg
bGVuZ3RoLCB0aW1lb3V0KSB7Ci0gICAgdmFyIHBhcmFtc18gPSBuZXcgVXNiRGV2aWNlX0NvbnRy
b2xUcmFuc2ZlckluX1BhcmFtcygpOwotICAgIHBhcmFtc18ucGFyYW1zID0gcGFyYW1zOwotICAg
IHBhcmFtc18ubGVuZ3RoID0gbGVuZ3RoOwotICAgIHBhcmFtc18udGltZW91dCA9IHRpbWVvdXQ7
Ci0gICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewotICAg
ICAgdmFyIGJ1aWxkZXIgPSBuZXcgY29kZWMuTWVzc2FnZVYxQnVpbGRlcigKLSAgICAgICAgICBr
VXNiRGV2aWNlX0NvbnRyb2xUcmFuc2ZlckluX05hbWUsCi0gICAgICAgICAgY29kZWMuYWxpZ24o
VXNiRGV2aWNlX0NvbnRyb2xUcmFuc2ZlckluX1BhcmFtcy5lbmNvZGVkU2l6ZSksCi0gICAgICAg
ICAgY29kZWMua01lc3NhZ2VFeHBlY3RzUmVzcG9uc2UsIDApOwotICAgICAgYnVpbGRlci5lbmNv
ZGVTdHJ1Y3QoVXNiRGV2aWNlX0NvbnRyb2xUcmFuc2ZlckluX1BhcmFtcywgcGFyYW1zXyk7Ci0g
ICAgICB2YXIgbWVzc2FnZSA9IGJ1aWxkZXIuZmluaXNoKCk7Ci0gICAgICB0aGlzLnJlY2VpdmVy
Xy5hY2NlcHRBbmRFeHBlY3RSZXNwb25zZShtZXNzYWdlKS50aGVuKGZ1bmN0aW9uKG1lc3NhZ2Up
IHsKLSAgICAgICAgdmFyIHJlYWRlciA9IG5ldyBjb2RlYy5NZXNzYWdlUmVhZGVyKG1lc3NhZ2Up
OwotICAgICAgICB2YXIgcmVzcG9uc2VQYXJhbXMgPQotICAgICAgICAgICAgcmVhZGVyLmRlY29k
ZVN0cnVjdChVc2JEZXZpY2VfQ29udHJvbFRyYW5zZmVySW5fUmVzcG9uc2VQYXJhbXMpOwotICAg
ICAgICByZXNvbHZlKHJlc3BvbnNlUGFyYW1zKTsKLSAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uKHJl
c3VsdCkgewotICAgICAgICByZWplY3QoRXJyb3IoIkNvbm5lY3Rpb24gZXJyb3I6ICIgKyByZXN1
bHQpKTsKLSAgICAgIH0pOwotICAgIH0uYmluZCh0aGlzKSk7Ci0gIH07Ci0gIFVzYkRldmljZVB0
ci5wcm90b3R5cGUuY29udHJvbFRyYW5zZmVyT3V0ID0gZnVuY3Rpb24oKSB7Ci0gICAgcmV0dXJu
IFVzYkRldmljZVByb3h5LnByb3RvdHlwZS5jb250cm9sVHJhbnNmZXJPdXQKLSAgICAgICAgLmFw
cGx5KHRoaXMucHRyLmdldFByb3h5KCksIGFyZ3VtZW50cyk7Ci0gIH07Ci0KLSAgVXNiRGV2aWNl
UHJveHkucHJvdG90eXBlLmNvbnRyb2xUcmFuc2Zlck91dCA9IGZ1bmN0aW9uKHBhcmFtcywgZGF0
YSwgdGltZW91dCkgewotICAgIHZhciBwYXJhbXNfID0gbmV3IFVzYkRldmljZV9Db250cm9sVHJh
bnNmZXJPdXRfUGFyYW1zKCk7Ci0gICAgcGFyYW1zXy5wYXJhbXMgPSBwYXJhbXM7Ci0gICAgcGFy
YW1zXy5kYXRhID0gZGF0YTsKLSAgICBwYXJhbXNfLnRpbWVvdXQgPSB0aW1lb3V0OwotICAgIHJl
dHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKLSAgICAgIHZhciBi
dWlsZGVyID0gbmV3IGNvZGVjLk1lc3NhZ2VWMUJ1aWxkZXIoCi0gICAgICAgICAga1VzYkRldmlj
ZV9Db250cm9sVHJhbnNmZXJPdXRfTmFtZSwKLSAgICAgICAgICBjb2RlYy5hbGlnbihVc2JEZXZp
Y2VfQ29udHJvbFRyYW5zZmVyT3V0X1BhcmFtcy5lbmNvZGVkU2l6ZSksCi0gICAgICAgICAgY29k
ZWMua01lc3NhZ2VFeHBlY3RzUmVzcG9uc2UsIDApOwotICAgICAgYnVpbGRlci5lbmNvZGVTdHJ1
Y3QoVXNiRGV2aWNlX0NvbnRyb2xUcmFuc2Zlck91dF9QYXJhbXMsIHBhcmFtc18pOwotICAgICAg
dmFyIG1lc3NhZ2UgPSBidWlsZGVyLmZpbmlzaCgpOwotICAgICAgdGhpcy5yZWNlaXZlcl8uYWNj
ZXB0QW5kRXhwZWN0UmVzcG9uc2UobWVzc2FnZSkudGhlbihmdW5jdGlvbihtZXNzYWdlKSB7Ci0g
ICAgICAgIHZhciByZWFkZXIgPSBuZXcgY29kZWMuTWVzc2FnZVJlYWRlcihtZXNzYWdlKTsKLSAg
ICAgICAgdmFyIHJlc3BvbnNlUGFyYW1zID0KLSAgICAgICAgICAgIHJlYWRlci5kZWNvZGVTdHJ1
Y3QoVXNiRGV2aWNlX0NvbnRyb2xUcmFuc2Zlck91dF9SZXNwb25zZVBhcmFtcyk7Ci0gICAgICAg
IHJlc29sdmUocmVzcG9uc2VQYXJhbXMpOwotICAgICAgfSkuY2F0Y2goZnVuY3Rpb24ocmVzdWx0
KSB7Ci0gICAgICAgIHJlamVjdChFcnJvcigiQ29ubmVjdGlvbiBlcnJvcjogIiArIHJlc3VsdCkp
OwotICAgICAgfSk7Ci0gICAgfS5iaW5kKHRoaXMpKTsKLSAgfTsKLSAgVXNiRGV2aWNlUHRyLnBy
b3RvdHlwZS5nZW5lcmljVHJhbnNmZXJJbiA9IGZ1bmN0aW9uKCkgewotICAgIHJldHVybiBVc2JE
ZXZpY2VQcm94eS5wcm90b3R5cGUuZ2VuZXJpY1RyYW5zZmVySW4KLSAgICAgICAgLmFwcGx5KHRo
aXMucHRyLmdldFByb3h5KCksIGFyZ3VtZW50cyk7Ci0gIH07Ci0KLSAgVXNiRGV2aWNlUHJveHku
cHJvdG90eXBlLmdlbmVyaWNUcmFuc2ZlckluID0gZnVuY3Rpb24oZW5kcG9pbnROdW1iZXIsIGxl
bmd0aCwgdGltZW91dCkgewotICAgIHZhciBwYXJhbXNfID0gbmV3IFVzYkRldmljZV9HZW5lcmlj
VHJhbnNmZXJJbl9QYXJhbXMoKTsKLSAgICBwYXJhbXNfLmVuZHBvaW50TnVtYmVyID0gZW5kcG9p
bnROdW1iZXI7Ci0gICAgcGFyYW1zXy5sZW5ndGggPSBsZW5ndGg7Ci0gICAgcGFyYW1zXy50aW1l
b3V0ID0gdGltZW91dDsKLSAgICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwg
cmVqZWN0KSB7Ci0gICAgICB2YXIgYnVpbGRlciA9IG5ldyBjb2RlYy5NZXNzYWdlVjFCdWlsZGVy
KAotICAgICAgICAgIGtVc2JEZXZpY2VfR2VuZXJpY1RyYW5zZmVySW5fTmFtZSwKLSAgICAgICAg
ICBjb2RlYy5hbGlnbihVc2JEZXZpY2VfR2VuZXJpY1RyYW5zZmVySW5fUGFyYW1zLmVuY29kZWRT
aXplKSwKLSAgICAgICAgICBjb2RlYy5rTWVzc2FnZUV4cGVjdHNSZXNwb25zZSwgMCk7Ci0gICAg
ICBidWlsZGVyLmVuY29kZVN0cnVjdChVc2JEZXZpY2VfR2VuZXJpY1RyYW5zZmVySW5fUGFyYW1z
LCBwYXJhbXNfKTsKLSAgICAgIHZhciBtZXNzYWdlID0gYnVpbGRlci5maW5pc2goKTsKLSAgICAg
IHRoaXMucmVjZWl2ZXJfLmFjY2VwdEFuZEV4cGVjdFJlc3BvbnNlKG1lc3NhZ2UpLnRoZW4oZnVu
Y3Rpb24obWVzc2FnZSkgewotICAgICAgICB2YXIgcmVhZGVyID0gbmV3IGNvZGVjLk1lc3NhZ2VS
ZWFkZXIobWVzc2FnZSk7Ci0gICAgICAgIHZhciByZXNwb25zZVBhcmFtcyA9Ci0gICAgICAgICAg
ICByZWFkZXIuZGVjb2RlU3RydWN0KFVzYkRldmljZV9HZW5lcmljVHJhbnNmZXJJbl9SZXNwb25z
ZVBhcmFtcyk7Ci0gICAgICAgIHJlc29sdmUocmVzcG9uc2VQYXJhbXMpOwotICAgICAgfSkuY2F0
Y2goZnVuY3Rpb24ocmVzdWx0KSB7Ci0gICAgICAgIHJlamVjdChFcnJvcigiQ29ubmVjdGlvbiBl
cnJvcjogIiArIHJlc3VsdCkpOwotICAgICAgfSk7Ci0gICAgfS5iaW5kKHRoaXMpKTsKLSAgfTsK
LSAgVXNiRGV2aWNlUHRyLnByb3RvdHlwZS5nZW5lcmljVHJhbnNmZXJPdXQgPSBmdW5jdGlvbigp
IHsKLSAgICByZXR1cm4gVXNiRGV2aWNlUHJveHkucHJvdG90eXBlLmdlbmVyaWNUcmFuc2Zlck91
dAotICAgICAgICAuYXBwbHkodGhpcy5wdHIuZ2V0UHJveHkoKSwgYXJndW1lbnRzKTsKLSAgfTsK
LQotICBVc2JEZXZpY2VQcm94eS5wcm90b3R5cGUuZ2VuZXJpY1RyYW5zZmVyT3V0ID0gZnVuY3Rp
b24oZW5kcG9pbnROdW1iZXIsIGRhdGEsIHRpbWVvdXQpIHsKLSAgICB2YXIgcGFyYW1zXyA9IG5l
dyBVc2JEZXZpY2VfR2VuZXJpY1RyYW5zZmVyT3V0X1BhcmFtcygpOwotICAgIHBhcmFtc18uZW5k
cG9pbnROdW1iZXIgPSBlbmRwb2ludE51bWJlcjsKLSAgICBwYXJhbXNfLmRhdGEgPSBkYXRhOwot
ICAgIHBhcmFtc18udGltZW91dCA9IHRpbWVvdXQ7Ci0gICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1
bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewotICAgICAgdmFyIGJ1aWxkZXIgPSBuZXcgY29kZWMu
TWVzc2FnZVYxQnVpbGRlcigKLSAgICAgICAgICBrVXNiRGV2aWNlX0dlbmVyaWNUcmFuc2Zlck91
dF9OYW1lLAotICAgICAgICAgIGNvZGVjLmFsaWduKFVzYkRldmljZV9HZW5lcmljVHJhbnNmZXJP
dXRfUGFyYW1zLmVuY29kZWRTaXplKSwKLSAgICAgICAgICBjb2RlYy5rTWVzc2FnZUV4cGVjdHNS
ZXNwb25zZSwgMCk7Ci0gICAgICBidWlsZGVyLmVuY29kZVN0cnVjdChVc2JEZXZpY2VfR2VuZXJp
Y1RyYW5zZmVyT3V0X1BhcmFtcywgcGFyYW1zXyk7Ci0gICAgICB2YXIgbWVzc2FnZSA9IGJ1aWxk
ZXIuZmluaXNoKCk7Ci0gICAgICB0aGlzLnJlY2VpdmVyXy5hY2NlcHRBbmRFeHBlY3RSZXNwb25z
ZShtZXNzYWdlKS50aGVuKGZ1bmN0aW9uKG1lc3NhZ2UpIHsKLSAgICAgICAgdmFyIHJlYWRlciA9
IG5ldyBjb2RlYy5NZXNzYWdlUmVhZGVyKG1lc3NhZ2UpOwotICAgICAgICB2YXIgcmVzcG9uc2VQ
YXJhbXMgPQotICAgICAgICAgICAgcmVhZGVyLmRlY29kZVN0cnVjdChVc2JEZXZpY2VfR2VuZXJp
Y1RyYW5zZmVyT3V0X1Jlc3BvbnNlUGFyYW1zKTsKLSAgICAgICAgcmVzb2x2ZShyZXNwb25zZVBh
cmFtcyk7Ci0gICAgICB9KS5jYXRjaChmdW5jdGlvbihyZXN1bHQpIHsKLSAgICAgICAgcmVqZWN0
KEVycm9yKCJDb25uZWN0aW9uIGVycm9yOiAiICsgcmVzdWx0KSk7Ci0gICAgICB9KTsKLSAgICB9
LmJpbmQodGhpcykpOwotICB9OwotICBVc2JEZXZpY2VQdHIucHJvdG90eXBlLmlzb2Nocm9ub3Vz
VHJhbnNmZXJJbiA9IGZ1bmN0aW9uKCkgewotICAgIHJldHVybiBVc2JEZXZpY2VQcm94eS5wcm90
b3R5cGUuaXNvY2hyb25vdXNUcmFuc2ZlckluCi0gICAgICAgIC5hcHBseSh0aGlzLnB0ci5nZXRQ
cm94eSgpLCBhcmd1bWVudHMpOwotICB9OwotCi0gIFVzYkRldmljZVByb3h5LnByb3RvdHlwZS5p
c29jaHJvbm91c1RyYW5zZmVySW4gPSBmdW5jdGlvbihlbmRwb2ludE51bWJlciwgcGFja2V0TGVu
Z3RocywgdGltZW91dCkgewotICAgIHZhciBwYXJhbXNfID0gbmV3IFVzYkRldmljZV9Jc29jaHJv
bm91c1RyYW5zZmVySW5fUGFyYW1zKCk7Ci0gICAgcGFyYW1zXy5lbmRwb2ludE51bWJlciA9IGVu
ZHBvaW50TnVtYmVyOwotICAgIHBhcmFtc18ucGFja2V0TGVuZ3RocyA9IHBhY2tldExlbmd0aHM7
Ci0gICAgcGFyYW1zXy50aW1lb3V0ID0gdGltZW91dDsKLSAgICByZXR1cm4gbmV3IFByb21pc2Uo
ZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7Ci0gICAgICB2YXIgYnVpbGRlciA9IG5ldyBjb2Rl
Yy5NZXNzYWdlVjFCdWlsZGVyKAotICAgICAgICAgIGtVc2JEZXZpY2VfSXNvY2hyb25vdXNUcmFu
c2ZlckluX05hbWUsCi0gICAgICAgICAgY29kZWMuYWxpZ24oVXNiRGV2aWNlX0lzb2Nocm9ub3Vz
VHJhbnNmZXJJbl9QYXJhbXMuZW5jb2RlZFNpemUpLAotICAgICAgICAgIGNvZGVjLmtNZXNzYWdl
RXhwZWN0c1Jlc3BvbnNlLCAwKTsKLSAgICAgIGJ1aWxkZXIuZW5jb2RlU3RydWN0KFVzYkRldmlj
ZV9Jc29jaHJvbm91c1RyYW5zZmVySW5fUGFyYW1zLCBwYXJhbXNfKTsKLSAgICAgIHZhciBtZXNz
YWdlID0gYnVpbGRlci5maW5pc2goKTsKLSAgICAgIHRoaXMucmVjZWl2ZXJfLmFjY2VwdEFuZEV4
cGVjdFJlc3BvbnNlKG1lc3NhZ2UpLnRoZW4oZnVuY3Rpb24obWVzc2FnZSkgewotICAgICAgICB2
YXIgcmVhZGVyID0gbmV3IGNvZGVjLk1lc3NhZ2VSZWFkZXIobWVzc2FnZSk7Ci0gICAgICAgIHZh
ciByZXNwb25zZVBhcmFtcyA9Ci0gICAgICAgICAgICByZWFkZXIuZGVjb2RlU3RydWN0KFVzYkRl
dmljZV9Jc29jaHJvbm91c1RyYW5zZmVySW5fUmVzcG9uc2VQYXJhbXMpOwotICAgICAgICByZXNv
bHZlKHJlc3BvbnNlUGFyYW1zKTsKLSAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uKHJlc3VsdCkgewot
ICAgICAgICByZWplY3QoRXJyb3IoIkNvbm5lY3Rpb24gZXJyb3I6ICIgKyByZXN1bHQpKTsKLSAg
ICAgIH0pOwotICAgIH0uYmluZCh0aGlzKSk7Ci0gIH07Ci0gIFVzYkRldmljZVB0ci5wcm90b3R5
cGUuaXNvY2hyb25vdXNUcmFuc2Zlck91dCA9IGZ1bmN0aW9uKCkgewotICAgIHJldHVybiBVc2JE
ZXZpY2VQcm94eS5wcm90b3R5cGUuaXNvY2hyb25vdXNUcmFuc2Zlck91dAotICAgICAgICAuYXBw
bHkodGhpcy5wdHIuZ2V0UHJveHkoKSwgYXJndW1lbnRzKTsKLSAgfTsKLQotICBVc2JEZXZpY2VQ
cm94eS5wcm90b3R5cGUuaXNvY2hyb25vdXNUcmFuc2Zlck91dCA9IGZ1bmN0aW9uKGVuZHBvaW50
TnVtYmVyLCBkYXRhLCBwYWNrZXRMZW5ndGhzLCB0aW1lb3V0KSB7Ci0gICAgdmFyIHBhcmFtc18g
PSBuZXcgVXNiRGV2aWNlX0lzb2Nocm9ub3VzVHJhbnNmZXJPdXRfUGFyYW1zKCk7Ci0gICAgcGFy
YW1zXy5lbmRwb2ludE51bWJlciA9IGVuZHBvaW50TnVtYmVyOwotICAgIHBhcmFtc18uZGF0YSA9
IGRhdGE7Ci0gICAgcGFyYW1zXy5wYWNrZXRMZW5ndGhzID0gcGFja2V0TGVuZ3RoczsKLSAgICBw
YXJhbXNfLnRpbWVvdXQgPSB0aW1lb3V0OwotICAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlv
bihyZXNvbHZlLCByZWplY3QpIHsKLSAgICAgIHZhciBidWlsZGVyID0gbmV3IGNvZGVjLk1lc3Nh
Z2VWMUJ1aWxkZXIoCi0gICAgICAgICAga1VzYkRldmljZV9Jc29jaHJvbm91c1RyYW5zZmVyT3V0
X05hbWUsCi0gICAgICAgICAgY29kZWMuYWxpZ24oVXNiRGV2aWNlX0lzb2Nocm9ub3VzVHJhbnNm
ZXJPdXRfUGFyYW1zLmVuY29kZWRTaXplKSwKLSAgICAgICAgICBjb2RlYy5rTWVzc2FnZUV4cGVj
dHNSZXNwb25zZSwgMCk7Ci0gICAgICBidWlsZGVyLmVuY29kZVN0cnVjdChVc2JEZXZpY2VfSXNv
Y2hyb25vdXNUcmFuc2Zlck91dF9QYXJhbXMsIHBhcmFtc18pOwotICAgICAgdmFyIG1lc3NhZ2Ug
PSBidWlsZGVyLmZpbmlzaCgpOwotICAgICAgdGhpcy5yZWNlaXZlcl8uYWNjZXB0QW5kRXhwZWN0
UmVzcG9uc2UobWVzc2FnZSkudGhlbihmdW5jdGlvbihtZXNzYWdlKSB7Ci0gICAgICAgIHZhciBy
ZWFkZXIgPSBuZXcgY29kZWMuTWVzc2FnZVJlYWRlcihtZXNzYWdlKTsKLSAgICAgICAgdmFyIHJl
c3BvbnNlUGFyYW1zID0KLSAgICAgICAgICAgIHJlYWRlci5kZWNvZGVTdHJ1Y3QoVXNiRGV2aWNl
X0lzb2Nocm9ub3VzVHJhbnNmZXJPdXRfUmVzcG9uc2VQYXJhbXMpOwotICAgICAgICByZXNvbHZl
KHJlc3BvbnNlUGFyYW1zKTsKLSAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uKHJlc3VsdCkgewotICAg
ICAgICByZWplY3QoRXJyb3IoIkNvbm5lY3Rpb24gZXJyb3I6ICIgKyByZXN1bHQpKTsKLSAgICAg
IH0pOwotICAgIH0uYmluZCh0aGlzKSk7Ci0gIH07Ci0KLSAgZnVuY3Rpb24gVXNiRGV2aWNlU3R1
YihkZWxlZ2F0ZSkgewotICAgIHRoaXMuZGVsZWdhdGVfID0gZGVsZWdhdGU7Ci0gIH0KLSAgVXNi
RGV2aWNlU3R1Yi5wcm90b3R5cGUub3BlbiA9IGZ1bmN0aW9uKCkgewotICAgIHJldHVybiB0aGlz
LmRlbGVnYXRlXyAmJiB0aGlzLmRlbGVnYXRlXy5vcGVuICYmIHRoaXMuZGVsZWdhdGVfLm9wZW4o
KTsKLSAgfQotICBVc2JEZXZpY2VTdHViLnByb3RvdHlwZS5jbG9zZSA9IGZ1bmN0aW9uKCkgewot
ICAgIHJldHVybiB0aGlzLmRlbGVnYXRlXyAmJiB0aGlzLmRlbGVnYXRlXy5jbG9zZSAmJiB0aGlz
LmRlbGVnYXRlXy5jbG9zZSgpOwotICB9Ci0gIFVzYkRldmljZVN0dWIucHJvdG90eXBlLnNldENv
bmZpZ3VyYXRpb24gPSBmdW5jdGlvbih2YWx1ZSkgewotICAgIHJldHVybiB0aGlzLmRlbGVnYXRl
XyAmJiB0aGlzLmRlbGVnYXRlXy5zZXRDb25maWd1cmF0aW9uICYmIHRoaXMuZGVsZWdhdGVfLnNl
dENvbmZpZ3VyYXRpb24odmFsdWUpOwotICB9Ci0gIFVzYkRldmljZVN0dWIucHJvdG90eXBlLmNs
YWltSW50ZXJmYWNlID0gZnVuY3Rpb24oaW50ZXJmYWNlTnVtYmVyKSB7Ci0gICAgcmV0dXJuIHRo
aXMuZGVsZWdhdGVfICYmIHRoaXMuZGVsZWdhdGVfLmNsYWltSW50ZXJmYWNlICYmIHRoaXMuZGVs
ZWdhdGVfLmNsYWltSW50ZXJmYWNlKGludGVyZmFjZU51bWJlcik7Ci0gIH0KLSAgVXNiRGV2aWNl
U3R1Yi5wcm90b3R5cGUucmVsZWFzZUludGVyZmFjZSA9IGZ1bmN0aW9uKGludGVyZmFjZU51bWJl
cikgewotICAgIHJldHVybiB0aGlzLmRlbGVnYXRlXyAmJiB0aGlzLmRlbGVnYXRlXy5yZWxlYXNl
SW50ZXJmYWNlICYmIHRoaXMuZGVsZWdhdGVfLnJlbGVhc2VJbnRlcmZhY2UoaW50ZXJmYWNlTnVt
YmVyKTsKLSAgfQotICBVc2JEZXZpY2VTdHViLnByb3RvdHlwZS5zZXRJbnRlcmZhY2VBbHRlcm5h
dGVTZXR0aW5nID0gZnVuY3Rpb24oaW50ZXJmYWNlTnVtYmVyLCBhbHRlcm5hdGVTZXR0aW5nKSB7
Ci0gICAgcmV0dXJuIHRoaXMuZGVsZWdhdGVfICYmIHRoaXMuZGVsZWdhdGVfLnNldEludGVyZmFj
ZUFsdGVybmF0ZVNldHRpbmcgJiYgdGhpcy5kZWxlZ2F0ZV8uc2V0SW50ZXJmYWNlQWx0ZXJuYXRl
U2V0dGluZyhpbnRlcmZhY2VOdW1iZXIsIGFsdGVybmF0ZVNldHRpbmcpOwotICB9Ci0gIFVzYkRl
dmljZVN0dWIucHJvdG90eXBlLnJlc2V0ID0gZnVuY3Rpb24oKSB7Ci0gICAgcmV0dXJuIHRoaXMu
ZGVsZWdhdGVfICYmIHRoaXMuZGVsZWdhdGVfLnJlc2V0ICYmIHRoaXMuZGVsZWdhdGVfLnJlc2V0
KCk7Ci0gIH0KLSAgVXNiRGV2aWNlU3R1Yi5wcm90b3R5cGUuY2xlYXJIYWx0ID0gZnVuY3Rpb24o
ZW5kcG9pbnQpIHsKLSAgICByZXR1cm4gdGhpcy5kZWxlZ2F0ZV8gJiYgdGhpcy5kZWxlZ2F0ZV8u
Y2xlYXJIYWx0ICYmIHRoaXMuZGVsZWdhdGVfLmNsZWFySGFsdChlbmRwb2ludCk7Ci0gIH0KLSAg
VXNiRGV2aWNlU3R1Yi5wcm90b3R5cGUuY29udHJvbFRyYW5zZmVySW4gPSBmdW5jdGlvbihwYXJh
bXMsIGxlbmd0aCwgdGltZW91dCkgewotICAgIHJldHVybiB0aGlzLmRlbGVnYXRlXyAmJiB0aGlz
LmRlbGVnYXRlXy5jb250cm9sVHJhbnNmZXJJbiAmJiB0aGlzLmRlbGVnYXRlXy5jb250cm9sVHJh
bnNmZXJJbihwYXJhbXMsIGxlbmd0aCwgdGltZW91dCk7Ci0gIH0KLSAgVXNiRGV2aWNlU3R1Yi5w
cm90b3R5cGUuY29udHJvbFRyYW5zZmVyT3V0ID0gZnVuY3Rpb24ocGFyYW1zLCBkYXRhLCB0aW1l
b3V0KSB7Ci0gICAgcmV0dXJuIHRoaXMuZGVsZWdhdGVfICYmIHRoaXMuZGVsZWdhdGVfLmNvbnRy
b2xUcmFuc2Zlck91dCAmJiB0aGlzLmRlbGVnYXRlXy5jb250cm9sVHJhbnNmZXJPdXQocGFyYW1z
LCBkYXRhLCB0aW1lb3V0KTsKLSAgfQotICBVc2JEZXZpY2VTdHViLnByb3RvdHlwZS5nZW5lcmlj
VHJhbnNmZXJJbiA9IGZ1bmN0aW9uKGVuZHBvaW50TnVtYmVyLCBsZW5ndGgsIHRpbWVvdXQpIHsK
LSAgICByZXR1cm4gdGhpcy5kZWxlZ2F0ZV8gJiYgdGhpcy5kZWxlZ2F0ZV8uZ2VuZXJpY1RyYW5z
ZmVySW4gJiYgdGhpcy5kZWxlZ2F0ZV8uZ2VuZXJpY1RyYW5zZmVySW4oZW5kcG9pbnROdW1iZXIs
IGxlbmd0aCwgdGltZW91dCk7Ci0gIH0KLSAgVXNiRGV2aWNlU3R1Yi5wcm90b3R5cGUuZ2VuZXJp
Y1RyYW5zZmVyT3V0ID0gZnVuY3Rpb24oZW5kcG9pbnROdW1iZXIsIGRhdGEsIHRpbWVvdXQpIHsK
LSAgICByZXR1cm4gdGhpcy5kZWxlZ2F0ZV8gJiYgdGhpcy5kZWxlZ2F0ZV8uZ2VuZXJpY1RyYW5z
ZmVyT3V0ICYmIHRoaXMuZGVsZWdhdGVfLmdlbmVyaWNUcmFuc2Zlck91dChlbmRwb2ludE51bWJl
ciwgZGF0YSwgdGltZW91dCk7Ci0gIH0KLSAgVXNiRGV2aWNlU3R1Yi5wcm90b3R5cGUuaXNvY2hy
b25vdXNUcmFuc2ZlckluID0gZnVuY3Rpb24oZW5kcG9pbnROdW1iZXIsIHBhY2tldExlbmd0aHMs
IHRpbWVvdXQpIHsKLSAgICByZXR1cm4gdGhpcy5kZWxlZ2F0ZV8gJiYgdGhpcy5kZWxlZ2F0ZV8u
aXNvY2hyb25vdXNUcmFuc2ZlckluICYmIHRoaXMuZGVsZWdhdGVfLmlzb2Nocm9ub3VzVHJhbnNm
ZXJJbihlbmRwb2ludE51bWJlciwgcGFja2V0TGVuZ3RocywgdGltZW91dCk7Ci0gIH0KLSAgVXNi
RGV2aWNlU3R1Yi5wcm90b3R5cGUuaXNvY2hyb25vdXNUcmFuc2Zlck91dCA9IGZ1bmN0aW9uKGVu
ZHBvaW50TnVtYmVyLCBkYXRhLCBwYWNrZXRMZW5ndGhzLCB0aW1lb3V0KSB7Ci0gICAgcmV0dXJu
IHRoaXMuZGVsZWdhdGVfICYmIHRoaXMuZGVsZWdhdGVfLmlzb2Nocm9ub3VzVHJhbnNmZXJPdXQg
JiYgdGhpcy5kZWxlZ2F0ZV8uaXNvY2hyb25vdXNUcmFuc2Zlck91dChlbmRwb2ludE51bWJlciwg
ZGF0YSwgcGFja2V0TGVuZ3RocywgdGltZW91dCk7Ci0gIH0KLQotICBVc2JEZXZpY2VTdHViLnBy
b3RvdHlwZS5hY2NlcHQgPSBmdW5jdGlvbihtZXNzYWdlKSB7Ci0gICAgdmFyIHJlYWRlciA9IG5l
dyBjb2RlYy5NZXNzYWdlUmVhZGVyKG1lc3NhZ2UpOwotICAgIHN3aXRjaCAocmVhZGVyLm1lc3Nh
Z2VOYW1lKSB7Ci0gICAgZGVmYXVsdDoKLSAgICAgIHJldHVybiBmYWxzZTsKLSAgICB9Ci0gIH07
Ci0KLSAgVXNiRGV2aWNlU3R1Yi5wcm90b3R5cGUuYWNjZXB0V2l0aFJlc3BvbmRlciA9Ci0gICAg
ICBmdW5jdGlvbihtZXNzYWdlLCByZXNwb25kZXIpIHsKLSAgICB2YXIgcmVhZGVyID0gbmV3IGNv
ZGVjLk1lc3NhZ2VSZWFkZXIobWVzc2FnZSk7Ci0gICAgc3dpdGNoIChyZWFkZXIubWVzc2FnZU5h
bWUpIHsKLSAgICBjYXNlIGtVc2JEZXZpY2VfT3Blbl9OYW1lOgotICAgICAgdmFyIHBhcmFtcyA9
IHJlYWRlci5kZWNvZGVTdHJ1Y3QoVXNiRGV2aWNlX09wZW5fUGFyYW1zKTsKLSAgICAgIHRoaXMu
b3BlbigpLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICAgICAgdmFyIHJlc3BvbnNlUGFy
YW1zID0KLSAgICAgICAgICAgIG5ldyBVc2JEZXZpY2VfT3Blbl9SZXNwb25zZVBhcmFtcygpOwot
ICAgICAgICByZXNwb25zZVBhcmFtcy5lcnJvciA9IHJlc3BvbnNlLmVycm9yOwotICAgICAgICB2
YXIgYnVpbGRlciA9IG5ldyBjb2RlYy5NZXNzYWdlVjFCdWlsZGVyKAotICAgICAgICAgICAga1Vz
YkRldmljZV9PcGVuX05hbWUsCi0gICAgICAgICAgICBjb2RlYy5hbGlnbihVc2JEZXZpY2VfT3Bl
bl9SZXNwb25zZVBhcmFtcy5lbmNvZGVkU2l6ZSksCi0gICAgICAgICAgICBjb2RlYy5rTWVzc2Fn
ZUlzUmVzcG9uc2UsIHJlYWRlci5yZXF1ZXN0SUQpOwotICAgICAgICBidWlsZGVyLmVuY29kZVN0
cnVjdChVc2JEZXZpY2VfT3Blbl9SZXNwb25zZVBhcmFtcywKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgcmVzcG9uc2VQYXJhbXMpOwotICAgICAgICB2YXIgbWVzc2FnZSA9IGJ1aWxkZXIu
ZmluaXNoKCk7Ci0gICAgICAgIHJlc3BvbmRlci5hY2NlcHQobWVzc2FnZSk7Ci0gICAgICB9KTsK
LSAgICAgIHJldHVybiB0cnVlOwotICAgIGNhc2Uga1VzYkRldmljZV9DbG9zZV9OYW1lOgotICAg
ICAgdmFyIHBhcmFtcyA9IHJlYWRlci5kZWNvZGVTdHJ1Y3QoVXNiRGV2aWNlX0Nsb3NlX1BhcmFt
cyk7Ci0gICAgICB0aGlzLmNsb3NlKCkudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgICAg
ICB2YXIgcmVzcG9uc2VQYXJhbXMgPQotICAgICAgICAgICAgbmV3IFVzYkRldmljZV9DbG9zZV9S
ZXNwb25zZVBhcmFtcygpOwotICAgICAgICB2YXIgYnVpbGRlciA9IG5ldyBjb2RlYy5NZXNzYWdl
VjFCdWlsZGVyKAotICAgICAgICAgICAga1VzYkRldmljZV9DbG9zZV9OYW1lLAotICAgICAgICAg
ICAgY29kZWMuYWxpZ24oVXNiRGV2aWNlX0Nsb3NlX1Jlc3BvbnNlUGFyYW1zLmVuY29kZWRTaXpl
KSwKLSAgICAgICAgICAgIGNvZGVjLmtNZXNzYWdlSXNSZXNwb25zZSwgcmVhZGVyLnJlcXVlc3RJ
RCk7Ci0gICAgICAgIGJ1aWxkZXIuZW5jb2RlU3RydWN0KFVzYkRldmljZV9DbG9zZV9SZXNwb25z
ZVBhcmFtcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2VQYXJhbXMpOwot
ICAgICAgICB2YXIgbWVzc2FnZSA9IGJ1aWxkZXIuZmluaXNoKCk7Ci0gICAgICAgIHJlc3BvbmRl
ci5hY2NlcHQobWVzc2FnZSk7Ci0gICAgICB9KTsKLSAgICAgIHJldHVybiB0cnVlOwotICAgIGNh
c2Uga1VzYkRldmljZV9TZXRDb25maWd1cmF0aW9uX05hbWU6Ci0gICAgICB2YXIgcGFyYW1zID0g
cmVhZGVyLmRlY29kZVN0cnVjdChVc2JEZXZpY2VfU2V0Q29uZmlndXJhdGlvbl9QYXJhbXMpOwot
ICAgICAgdGhpcy5zZXRDb25maWd1cmF0aW9uKHBhcmFtcy52YWx1ZSkudGhlbihmdW5jdGlvbihy
ZXNwb25zZSkgewotICAgICAgICB2YXIgcmVzcG9uc2VQYXJhbXMgPQotICAgICAgICAgICAgbmV3
IFVzYkRldmljZV9TZXRDb25maWd1cmF0aW9uX1Jlc3BvbnNlUGFyYW1zKCk7Ci0gICAgICAgIHJl
c3BvbnNlUGFyYW1zLnN1Y2Nlc3MgPSByZXNwb25zZS5zdWNjZXNzOwotICAgICAgICB2YXIgYnVp
bGRlciA9IG5ldyBjb2RlYy5NZXNzYWdlVjFCdWlsZGVyKAotICAgICAgICAgICAga1VzYkRldmlj
ZV9TZXRDb25maWd1cmF0aW9uX05hbWUsCi0gICAgICAgICAgICBjb2RlYy5hbGlnbihVc2JEZXZp
Y2VfU2V0Q29uZmlndXJhdGlvbl9SZXNwb25zZVBhcmFtcy5lbmNvZGVkU2l6ZSksCi0gICAgICAg
ICAgICBjb2RlYy5rTWVzc2FnZUlzUmVzcG9uc2UsIHJlYWRlci5yZXF1ZXN0SUQpOwotICAgICAg
ICBidWlsZGVyLmVuY29kZVN0cnVjdChVc2JEZXZpY2VfU2V0Q29uZmlndXJhdGlvbl9SZXNwb25z
ZVBhcmFtcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2VQYXJhbXMpOwot
ICAgICAgICB2YXIgbWVzc2FnZSA9IGJ1aWxkZXIuZmluaXNoKCk7Ci0gICAgICAgIHJlc3BvbmRl
ci5hY2NlcHQobWVzc2FnZSk7Ci0gICAgICB9KTsKLSAgICAgIHJldHVybiB0cnVlOwotICAgIGNh
c2Uga1VzYkRldmljZV9DbGFpbUludGVyZmFjZV9OYW1lOgotICAgICAgdmFyIHBhcmFtcyA9IHJl
YWRlci5kZWNvZGVTdHJ1Y3QoVXNiRGV2aWNlX0NsYWltSW50ZXJmYWNlX1BhcmFtcyk7Ci0gICAg
ICB0aGlzLmNsYWltSW50ZXJmYWNlKHBhcmFtcy5pbnRlcmZhY2VOdW1iZXIpLnRoZW4oZnVuY3Rp
b24ocmVzcG9uc2UpIHsKLSAgICAgICAgdmFyIHJlc3BvbnNlUGFyYW1zID0KLSAgICAgICAgICAg
IG5ldyBVc2JEZXZpY2VfQ2xhaW1JbnRlcmZhY2VfUmVzcG9uc2VQYXJhbXMoKTsKLSAgICAgICAg
cmVzcG9uc2VQYXJhbXMuc3VjY2VzcyA9IHJlc3BvbnNlLnN1Y2Nlc3M7Ci0gICAgICAgIHZhciBi
dWlsZGVyID0gbmV3IGNvZGVjLk1lc3NhZ2VWMUJ1aWxkZXIoCi0gICAgICAgICAgICBrVXNiRGV2
aWNlX0NsYWltSW50ZXJmYWNlX05hbWUsCi0gICAgICAgICAgICBjb2RlYy5hbGlnbihVc2JEZXZp
Y2VfQ2xhaW1JbnRlcmZhY2VfUmVzcG9uc2VQYXJhbXMuZW5jb2RlZFNpemUpLAotICAgICAgICAg
ICAgY29kZWMua01lc3NhZ2VJc1Jlc3BvbnNlLCByZWFkZXIucmVxdWVzdElEKTsKLSAgICAgICAg
YnVpbGRlci5lbmNvZGVTdHJ1Y3QoVXNiRGV2aWNlX0NsYWltSW50ZXJmYWNlX1Jlc3BvbnNlUGFy
YW1zLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNwb25zZVBhcmFtcyk7Ci0gICAg
ICAgIHZhciBtZXNzYWdlID0gYnVpbGRlci5maW5pc2goKTsKLSAgICAgICAgcmVzcG9uZGVyLmFj
Y2VwdChtZXNzYWdlKTsKLSAgICAgIH0pOwotICAgICAgcmV0dXJuIHRydWU7Ci0gICAgY2FzZSBr
VXNiRGV2aWNlX1JlbGVhc2VJbnRlcmZhY2VfTmFtZToKLSAgICAgIHZhciBwYXJhbXMgPSByZWFk
ZXIuZGVjb2RlU3RydWN0KFVzYkRldmljZV9SZWxlYXNlSW50ZXJmYWNlX1BhcmFtcyk7Ci0gICAg
ICB0aGlzLnJlbGVhc2VJbnRlcmZhY2UocGFyYW1zLmludGVyZmFjZU51bWJlcikudGhlbihmdW5j
dGlvbihyZXNwb25zZSkgewotICAgICAgICB2YXIgcmVzcG9uc2VQYXJhbXMgPQotICAgICAgICAg
ICAgbmV3IFVzYkRldmljZV9SZWxlYXNlSW50ZXJmYWNlX1Jlc3BvbnNlUGFyYW1zKCk7Ci0gICAg
ICAgIHJlc3BvbnNlUGFyYW1zLnN1Y2Nlc3MgPSByZXNwb25zZS5zdWNjZXNzOwotICAgICAgICB2
YXIgYnVpbGRlciA9IG5ldyBjb2RlYy5NZXNzYWdlVjFCdWlsZGVyKAotICAgICAgICAgICAga1Vz
YkRldmljZV9SZWxlYXNlSW50ZXJmYWNlX05hbWUsCi0gICAgICAgICAgICBjb2RlYy5hbGlnbihV
c2JEZXZpY2VfUmVsZWFzZUludGVyZmFjZV9SZXNwb25zZVBhcmFtcy5lbmNvZGVkU2l6ZSksCi0g
ICAgICAgICAgICBjb2RlYy5rTWVzc2FnZUlzUmVzcG9uc2UsIHJlYWRlci5yZXF1ZXN0SUQpOwot
ICAgICAgICBidWlsZGVyLmVuY29kZVN0cnVjdChVc2JEZXZpY2VfUmVsZWFzZUludGVyZmFjZV9S
ZXNwb25zZVBhcmFtcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2VQYXJh
bXMpOwotICAgICAgICB2YXIgbWVzc2FnZSA9IGJ1aWxkZXIuZmluaXNoKCk7Ci0gICAgICAgIHJl
c3BvbmRlci5hY2NlcHQobWVzc2FnZSk7Ci0gICAgICB9KTsKLSAgICAgIHJldHVybiB0cnVlOwot
ICAgIGNhc2Uga1VzYkRldmljZV9TZXRJbnRlcmZhY2VBbHRlcm5hdGVTZXR0aW5nX05hbWU6Ci0g
ICAgICB2YXIgcGFyYW1zID0gcmVhZGVyLmRlY29kZVN0cnVjdChVc2JEZXZpY2VfU2V0SW50ZXJm
YWNlQWx0ZXJuYXRlU2V0dGluZ19QYXJhbXMpOwotICAgICAgdGhpcy5zZXRJbnRlcmZhY2VBbHRl
cm5hdGVTZXR0aW5nKHBhcmFtcy5pbnRlcmZhY2VOdW1iZXIsIHBhcmFtcy5hbHRlcm5hdGVTZXR0
aW5nKS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgICAgIHZhciByZXNwb25zZVBhcmFt
cyA9Ci0gICAgICAgICAgICBuZXcgVXNiRGV2aWNlX1NldEludGVyZmFjZUFsdGVybmF0ZVNldHRp
bmdfUmVzcG9uc2VQYXJhbXMoKTsKLSAgICAgICAgcmVzcG9uc2VQYXJhbXMuc3VjY2VzcyA9IHJl
c3BvbnNlLnN1Y2Nlc3M7Ci0gICAgICAgIHZhciBidWlsZGVyID0gbmV3IGNvZGVjLk1lc3NhZ2VW
MUJ1aWxkZXIoCi0gICAgICAgICAgICBrVXNiRGV2aWNlX1NldEludGVyZmFjZUFsdGVybmF0ZVNl
dHRpbmdfTmFtZSwKLSAgICAgICAgICAgIGNvZGVjLmFsaWduKFVzYkRldmljZV9TZXRJbnRlcmZh
Y2VBbHRlcm5hdGVTZXR0aW5nX1Jlc3BvbnNlUGFyYW1zLmVuY29kZWRTaXplKSwKLSAgICAgICAg
ICAgIGNvZGVjLmtNZXNzYWdlSXNSZXNwb25zZSwgcmVhZGVyLnJlcXVlc3RJRCk7Ci0gICAgICAg
IGJ1aWxkZXIuZW5jb2RlU3RydWN0KFVzYkRldmljZV9TZXRJbnRlcmZhY2VBbHRlcm5hdGVTZXR0
aW5nX1Jlc3BvbnNlUGFyYW1zLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNwb25z
ZVBhcmFtcyk7Ci0gICAgICAgIHZhciBtZXNzYWdlID0gYnVpbGRlci5maW5pc2goKTsKLSAgICAg
ICAgcmVzcG9uZGVyLmFjY2VwdChtZXNzYWdlKTsKLSAgICAgIH0pOwotICAgICAgcmV0dXJuIHRy
dWU7Ci0gICAgY2FzZSBrVXNiRGV2aWNlX1Jlc2V0X05hbWU6Ci0gICAgICB2YXIgcGFyYW1zID0g
cmVhZGVyLmRlY29kZVN0cnVjdChVc2JEZXZpY2VfUmVzZXRfUGFyYW1zKTsKLSAgICAgIHRoaXMu
cmVzZXQoKS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgICAgIHZhciByZXNwb25zZVBh
cmFtcyA9Ci0gICAgICAgICAgICBuZXcgVXNiRGV2aWNlX1Jlc2V0X1Jlc3BvbnNlUGFyYW1zKCk7
Ci0gICAgICAgIHJlc3BvbnNlUGFyYW1zLnN1Y2Nlc3MgPSByZXNwb25zZS5zdWNjZXNzOwotICAg
ICAgICB2YXIgYnVpbGRlciA9IG5ldyBjb2RlYy5NZXNzYWdlVjFCdWlsZGVyKAotICAgICAgICAg
ICAga1VzYkRldmljZV9SZXNldF9OYW1lLAotICAgICAgICAgICAgY29kZWMuYWxpZ24oVXNiRGV2
aWNlX1Jlc2V0X1Jlc3BvbnNlUGFyYW1zLmVuY29kZWRTaXplKSwKLSAgICAgICAgICAgIGNvZGVj
LmtNZXNzYWdlSXNSZXNwb25zZSwgcmVhZGVyLnJlcXVlc3RJRCk7Ci0gICAgICAgIGJ1aWxkZXIu
ZW5jb2RlU3RydWN0KFVzYkRldmljZV9SZXNldF9SZXNwb25zZVBhcmFtcywKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgcmVzcG9uc2VQYXJhbXMpOwotICAgICAgICB2YXIgbWVzc2FnZSA9
IGJ1aWxkZXIuZmluaXNoKCk7Ci0gICAgICAgIHJlc3BvbmRlci5hY2NlcHQobWVzc2FnZSk7Ci0g
ICAgICB9KTsKLSAgICAgIHJldHVybiB0cnVlOwotICAgIGNhc2Uga1VzYkRldmljZV9DbGVhckhh
bHRfTmFtZToKLSAgICAgIHZhciBwYXJhbXMgPSByZWFkZXIuZGVjb2RlU3RydWN0KFVzYkRldmlj
ZV9DbGVhckhhbHRfUGFyYW1zKTsKLSAgICAgIHRoaXMuY2xlYXJIYWx0KHBhcmFtcy5lbmRwb2lu
dCkudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgICAgICB2YXIgcmVzcG9uc2VQYXJhbXMg
PQotICAgICAgICAgICAgbmV3IFVzYkRldmljZV9DbGVhckhhbHRfUmVzcG9uc2VQYXJhbXMoKTsK
LSAgICAgICAgcmVzcG9uc2VQYXJhbXMuc3VjY2VzcyA9IHJlc3BvbnNlLnN1Y2Nlc3M7Ci0gICAg
ICAgIHZhciBidWlsZGVyID0gbmV3IGNvZGVjLk1lc3NhZ2VWMUJ1aWxkZXIoCi0gICAgICAgICAg
ICBrVXNiRGV2aWNlX0NsZWFySGFsdF9OYW1lLAotICAgICAgICAgICAgY29kZWMuYWxpZ24oVXNi
RGV2aWNlX0NsZWFySGFsdF9SZXNwb25zZVBhcmFtcy5lbmNvZGVkU2l6ZSksCi0gICAgICAgICAg
ICBjb2RlYy5rTWVzc2FnZUlzUmVzcG9uc2UsIHJlYWRlci5yZXF1ZXN0SUQpOwotICAgICAgICBi
dWlsZGVyLmVuY29kZVN0cnVjdChVc2JEZXZpY2VfQ2xlYXJIYWx0X1Jlc3BvbnNlUGFyYW1zLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNwb25zZVBhcmFtcyk7Ci0gICAgICAgIHZh
ciBtZXNzYWdlID0gYnVpbGRlci5maW5pc2goKTsKLSAgICAgICAgcmVzcG9uZGVyLmFjY2VwdCht
ZXNzYWdlKTsKLSAgICAgIH0pOwotICAgICAgcmV0dXJuIHRydWU7Ci0gICAgY2FzZSBrVXNiRGV2
aWNlX0NvbnRyb2xUcmFuc2ZlckluX05hbWU6Ci0gICAgICB2YXIgcGFyYW1zID0gcmVhZGVyLmRl
Y29kZVN0cnVjdChVc2JEZXZpY2VfQ29udHJvbFRyYW5zZmVySW5fUGFyYW1zKTsKLSAgICAgIHRo
aXMuY29udHJvbFRyYW5zZmVySW4ocGFyYW1zLnBhcmFtcywgcGFyYW1zLmxlbmd0aCwgcGFyYW1z
LnRpbWVvdXQpLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICAgICAgdmFyIHJlc3BvbnNl
UGFyYW1zID0KLSAgICAgICAgICAgIG5ldyBVc2JEZXZpY2VfQ29udHJvbFRyYW5zZmVySW5fUmVz
cG9uc2VQYXJhbXMoKTsKLSAgICAgICAgcmVzcG9uc2VQYXJhbXMuc3RhdHVzID0gcmVzcG9uc2Uu
c3RhdHVzOwotICAgICAgICByZXNwb25zZVBhcmFtcy5kYXRhID0gcmVzcG9uc2UuZGF0YTsKLSAg
ICAgICAgdmFyIGJ1aWxkZXIgPSBuZXcgY29kZWMuTWVzc2FnZVYxQnVpbGRlcigKLSAgICAgICAg
ICAgIGtVc2JEZXZpY2VfQ29udHJvbFRyYW5zZmVySW5fTmFtZSwKLSAgICAgICAgICAgIGNvZGVj
LmFsaWduKFVzYkRldmljZV9Db250cm9sVHJhbnNmZXJJbl9SZXNwb25zZVBhcmFtcy5lbmNvZGVk
U2l6ZSksCi0gICAgICAgICAgICBjb2RlYy5rTWVzc2FnZUlzUmVzcG9uc2UsIHJlYWRlci5yZXF1
ZXN0SUQpOwotICAgICAgICBidWlsZGVyLmVuY29kZVN0cnVjdChVc2JEZXZpY2VfQ29udHJvbFRy
YW5zZmVySW5fUmVzcG9uc2VQYXJhbXMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJl
c3BvbnNlUGFyYW1zKTsKLSAgICAgICAgdmFyIG1lc3NhZ2UgPSBidWlsZGVyLmZpbmlzaCgpOwot
ICAgICAgICByZXNwb25kZXIuYWNjZXB0KG1lc3NhZ2UpOwotICAgICAgfSk7Ci0gICAgICByZXR1
cm4gdHJ1ZTsKLSAgICBjYXNlIGtVc2JEZXZpY2VfQ29udHJvbFRyYW5zZmVyT3V0X05hbWU6Ci0g
ICAgICB2YXIgcGFyYW1zID0gcmVhZGVyLmRlY29kZVN0cnVjdChVc2JEZXZpY2VfQ29udHJvbFRy
YW5zZmVyT3V0X1BhcmFtcyk7Ci0gICAgICB0aGlzLmNvbnRyb2xUcmFuc2Zlck91dChwYXJhbXMu
cGFyYW1zLCBwYXJhbXMuZGF0YSwgcGFyYW1zLnRpbWVvdXQpLnRoZW4oZnVuY3Rpb24ocmVzcG9u
c2UpIHsKLSAgICAgICAgdmFyIHJlc3BvbnNlUGFyYW1zID0KLSAgICAgICAgICAgIG5ldyBVc2JE
ZXZpY2VfQ29udHJvbFRyYW5zZmVyT3V0X1Jlc3BvbnNlUGFyYW1zKCk7Ci0gICAgICAgIHJlc3Bv
bnNlUGFyYW1zLnN0YXR1cyA9IHJlc3BvbnNlLnN0YXR1czsKLSAgICAgICAgdmFyIGJ1aWxkZXIg
PSBuZXcgY29kZWMuTWVzc2FnZVYxQnVpbGRlcigKLSAgICAgICAgICAgIGtVc2JEZXZpY2VfQ29u
dHJvbFRyYW5zZmVyT3V0X05hbWUsCi0gICAgICAgICAgICBjb2RlYy5hbGlnbihVc2JEZXZpY2Vf
Q29udHJvbFRyYW5zZmVyT3V0X1Jlc3BvbnNlUGFyYW1zLmVuY29kZWRTaXplKSwKLSAgICAgICAg
ICAgIGNvZGVjLmtNZXNzYWdlSXNSZXNwb25zZSwgcmVhZGVyLnJlcXVlc3RJRCk7Ci0gICAgICAg
IGJ1aWxkZXIuZW5jb2RlU3RydWN0KFVzYkRldmljZV9Db250cm9sVHJhbnNmZXJPdXRfUmVzcG9u
c2VQYXJhbXMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlUGFyYW1zKTsK
LSAgICAgICAgdmFyIG1lc3NhZ2UgPSBidWlsZGVyLmZpbmlzaCgpOwotICAgICAgICByZXNwb25k
ZXIuYWNjZXB0KG1lc3NhZ2UpOwotICAgICAgfSk7Ci0gICAgICByZXR1cm4gdHJ1ZTsKLSAgICBj
YXNlIGtVc2JEZXZpY2VfR2VuZXJpY1RyYW5zZmVySW5fTmFtZToKLSAgICAgIHZhciBwYXJhbXMg
PSByZWFkZXIuZGVjb2RlU3RydWN0KFVzYkRldmljZV9HZW5lcmljVHJhbnNmZXJJbl9QYXJhbXMp
OwotICAgICAgdGhpcy5nZW5lcmljVHJhbnNmZXJJbihwYXJhbXMuZW5kcG9pbnROdW1iZXIsIHBh
cmFtcy5sZW5ndGgsIHBhcmFtcy50aW1lb3V0KS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0g
ICAgICAgIHZhciByZXNwb25zZVBhcmFtcyA9Ci0gICAgICAgICAgICBuZXcgVXNiRGV2aWNlX0dl
bmVyaWNUcmFuc2ZlckluX1Jlc3BvbnNlUGFyYW1zKCk7Ci0gICAgICAgIHJlc3BvbnNlUGFyYW1z
LnN0YXR1cyA9IHJlc3BvbnNlLnN0YXR1czsKLSAgICAgICAgcmVzcG9uc2VQYXJhbXMuZGF0YSA9
IHJlc3BvbnNlLmRhdGE7Ci0gICAgICAgIHZhciBidWlsZGVyID0gbmV3IGNvZGVjLk1lc3NhZ2VW
MUJ1aWxkZXIoCi0gICAgICAgICAgICBrVXNiRGV2aWNlX0dlbmVyaWNUcmFuc2ZlckluX05hbWUs
Ci0gICAgICAgICAgICBjb2RlYy5hbGlnbihVc2JEZXZpY2VfR2VuZXJpY1RyYW5zZmVySW5fUmVz
cG9uc2VQYXJhbXMuZW5jb2RlZFNpemUpLAotICAgICAgICAgICAgY29kZWMua01lc3NhZ2VJc1Jl
c3BvbnNlLCByZWFkZXIucmVxdWVzdElEKTsKLSAgICAgICAgYnVpbGRlci5lbmNvZGVTdHJ1Y3Qo
VXNiRGV2aWNlX0dlbmVyaWNUcmFuc2ZlckluX1Jlc3BvbnNlUGFyYW1zLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICByZXNwb25zZVBhcmFtcyk7Ci0gICAgICAgIHZhciBtZXNzYWdlID0g
YnVpbGRlci5maW5pc2goKTsKLSAgICAgICAgcmVzcG9uZGVyLmFjY2VwdChtZXNzYWdlKTsKLSAg
ICAgIH0pOwotICAgICAgcmV0dXJuIHRydWU7Ci0gICAgY2FzZSBrVXNiRGV2aWNlX0dlbmVyaWNU
cmFuc2Zlck91dF9OYW1lOgotICAgICAgdmFyIHBhcmFtcyA9IHJlYWRlci5kZWNvZGVTdHJ1Y3Qo
VXNiRGV2aWNlX0dlbmVyaWNUcmFuc2Zlck91dF9QYXJhbXMpOwotICAgICAgdGhpcy5nZW5lcmlj
VHJhbnNmZXJPdXQocGFyYW1zLmVuZHBvaW50TnVtYmVyLCBwYXJhbXMuZGF0YSwgcGFyYW1zLnRp
bWVvdXQpLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICAgICAgdmFyIHJlc3BvbnNlUGFy
YW1zID0KLSAgICAgICAgICAgIG5ldyBVc2JEZXZpY2VfR2VuZXJpY1RyYW5zZmVyT3V0X1Jlc3Bv
bnNlUGFyYW1zKCk7Ci0gICAgICAgIHJlc3BvbnNlUGFyYW1zLnN0YXR1cyA9IHJlc3BvbnNlLnN0
YXR1czsKLSAgICAgICAgdmFyIGJ1aWxkZXIgPSBuZXcgY29kZWMuTWVzc2FnZVYxQnVpbGRlcigK
LSAgICAgICAgICAgIGtVc2JEZXZpY2VfR2VuZXJpY1RyYW5zZmVyT3V0X05hbWUsCi0gICAgICAg
ICAgICBjb2RlYy5hbGlnbihVc2JEZXZpY2VfR2VuZXJpY1RyYW5zZmVyT3V0X1Jlc3BvbnNlUGFy
YW1zLmVuY29kZWRTaXplKSwKLSAgICAgICAgICAgIGNvZGVjLmtNZXNzYWdlSXNSZXNwb25zZSwg
cmVhZGVyLnJlcXVlc3RJRCk7Ci0gICAgICAgIGJ1aWxkZXIuZW5jb2RlU3RydWN0KFVzYkRldmlj
ZV9HZW5lcmljVHJhbnNmZXJPdXRfUmVzcG9uc2VQYXJhbXMsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHJlc3BvbnNlUGFyYW1zKTsKLSAgICAgICAgdmFyIG1lc3NhZ2UgPSBidWlsZGVy
LmZpbmlzaCgpOwotICAgICAgICByZXNwb25kZXIuYWNjZXB0KG1lc3NhZ2UpOwotICAgICAgfSk7
Ci0gICAgICByZXR1cm4gdHJ1ZTsKLSAgICBjYXNlIGtVc2JEZXZpY2VfSXNvY2hyb25vdXNUcmFu
c2ZlckluX05hbWU6Ci0gICAgICB2YXIgcGFyYW1zID0gcmVhZGVyLmRlY29kZVN0cnVjdChVc2JE
ZXZpY2VfSXNvY2hyb25vdXNUcmFuc2ZlckluX1BhcmFtcyk7Ci0gICAgICB0aGlzLmlzb2Nocm9u
b3VzVHJhbnNmZXJJbihwYXJhbXMuZW5kcG9pbnROdW1iZXIsIHBhcmFtcy5wYWNrZXRMZW5ndGhz
LCBwYXJhbXMudGltZW91dCkudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgICAgICB2YXIg
cmVzcG9uc2VQYXJhbXMgPQotICAgICAgICAgICAgbmV3IFVzYkRldmljZV9Jc29jaHJvbm91c1Ry
YW5zZmVySW5fUmVzcG9uc2VQYXJhbXMoKTsKLSAgICAgICAgcmVzcG9uc2VQYXJhbXMuZGF0YSA9
IHJlc3BvbnNlLmRhdGE7Ci0gICAgICAgIHJlc3BvbnNlUGFyYW1zLnBhY2tldHMgPSByZXNwb25z
ZS5wYWNrZXRzOwotICAgICAgICB2YXIgYnVpbGRlciA9IG5ldyBjb2RlYy5NZXNzYWdlVjFCdWls
ZGVyKAotICAgICAgICAgICAga1VzYkRldmljZV9Jc29jaHJvbm91c1RyYW5zZmVySW5fTmFtZSwK
LSAgICAgICAgICAgIGNvZGVjLmFsaWduKFVzYkRldmljZV9Jc29jaHJvbm91c1RyYW5zZmVySW5f
UmVzcG9uc2VQYXJhbXMuZW5jb2RlZFNpemUpLAotICAgICAgICAgICAgY29kZWMua01lc3NhZ2VJ
c1Jlc3BvbnNlLCByZWFkZXIucmVxdWVzdElEKTsKLSAgICAgICAgYnVpbGRlci5lbmNvZGVTdHJ1
Y3QoVXNiRGV2aWNlX0lzb2Nocm9ub3VzVHJhbnNmZXJJbl9SZXNwb25zZVBhcmFtcywKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2VQYXJhbXMpOwotICAgICAgICB2YXIgbWVz
c2FnZSA9IGJ1aWxkZXIuZmluaXNoKCk7Ci0gICAgICAgIHJlc3BvbmRlci5hY2NlcHQobWVzc2Fn
ZSk7Ci0gICAgICB9KTsKLSAgICAgIHJldHVybiB0cnVlOwotICAgIGNhc2Uga1VzYkRldmljZV9J
c29jaHJvbm91c1RyYW5zZmVyT3V0X05hbWU6Ci0gICAgICB2YXIgcGFyYW1zID0gcmVhZGVyLmRl
Y29kZVN0cnVjdChVc2JEZXZpY2VfSXNvY2hyb25vdXNUcmFuc2Zlck91dF9QYXJhbXMpOwotICAg
ICAgdGhpcy5pc29jaHJvbm91c1RyYW5zZmVyT3V0KHBhcmFtcy5lbmRwb2ludE51bWJlciwgcGFy
YW1zLmRhdGEsIHBhcmFtcy5wYWNrZXRMZW5ndGhzLCBwYXJhbXMudGltZW91dCkudGhlbihmdW5j
dGlvbihyZXNwb25zZSkgewotICAgICAgICB2YXIgcmVzcG9uc2VQYXJhbXMgPQotICAgICAgICAg
ICAgbmV3IFVzYkRldmljZV9Jc29jaHJvbm91c1RyYW5zZmVyT3V0X1Jlc3BvbnNlUGFyYW1zKCk7
Ci0gICAgICAgIHJlc3BvbnNlUGFyYW1zLnBhY2tldHMgPSByZXNwb25zZS5wYWNrZXRzOwotICAg
ICAgICB2YXIgYnVpbGRlciA9IG5ldyBjb2RlYy5NZXNzYWdlVjFCdWlsZGVyKAotICAgICAgICAg
ICAga1VzYkRldmljZV9Jc29jaHJvbm91c1RyYW5zZmVyT3V0X05hbWUsCi0gICAgICAgICAgICBj
b2RlYy5hbGlnbihVc2JEZXZpY2VfSXNvY2hyb25vdXNUcmFuc2Zlck91dF9SZXNwb25zZVBhcmFt
cy5lbmNvZGVkU2l6ZSksCi0gICAgICAgICAgICBjb2RlYy5rTWVzc2FnZUlzUmVzcG9uc2UsIHJl
YWRlci5yZXF1ZXN0SUQpOwotICAgICAgICBidWlsZGVyLmVuY29kZVN0cnVjdChVc2JEZXZpY2Vf
SXNvY2hyb25vdXNUcmFuc2Zlck91dF9SZXNwb25zZVBhcmFtcywKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgcmVzcG9uc2VQYXJhbXMpOwotICAgICAgICB2YXIgbWVzc2FnZSA9IGJ1aWxk
ZXIuZmluaXNoKCk7Ci0gICAgICAgIHJlc3BvbmRlci5hY2NlcHQobWVzc2FnZSk7Ci0gICAgICB9
KTsKLSAgICAgIHJldHVybiB0cnVlOwotICAgIGRlZmF1bHQ6Ci0gICAgICByZXR1cm4gZmFsc2U7
Ci0gICAgfQotICB9OwotCi0gIGZ1bmN0aW9uIHZhbGlkYXRlVXNiRGV2aWNlUmVxdWVzdChtZXNz
YWdlVmFsaWRhdG9yKSB7Ci0gICAgdmFyIG1lc3NhZ2UgPSBtZXNzYWdlVmFsaWRhdG9yLm1lc3Nh
Z2U7Ci0gICAgdmFyIHBhcmFtc0NsYXNzID0gbnVsbDsKLSAgICBzd2l0Y2ggKG1lc3NhZ2UuZ2V0
TmFtZSgpKSB7Ci0gICAgICBjYXNlIGtVc2JEZXZpY2VfT3Blbl9OYW1lOgotICAgICAgICBpZiAo
bWVzc2FnZS5leHBlY3RzUmVzcG9uc2UoKSkKLSAgICAgICAgICBwYXJhbXNDbGFzcyA9IFVzYkRl
dmljZV9PcGVuX1BhcmFtczsKLSAgICAgIGJyZWFrOwotICAgICAgY2FzZSBrVXNiRGV2aWNlX0Ns
b3NlX05hbWU6Ci0gICAgICAgIGlmIChtZXNzYWdlLmV4cGVjdHNSZXNwb25zZSgpKQotICAgICAg
ICAgIHBhcmFtc0NsYXNzID0gVXNiRGV2aWNlX0Nsb3NlX1BhcmFtczsKLSAgICAgIGJyZWFrOwot
ICAgICAgY2FzZSBrVXNiRGV2aWNlX1NldENvbmZpZ3VyYXRpb25fTmFtZToKLSAgICAgICAgaWYg
KG1lc3NhZ2UuZXhwZWN0c1Jlc3BvbnNlKCkpCi0gICAgICAgICAgcGFyYW1zQ2xhc3MgPSBVc2JE
ZXZpY2VfU2V0Q29uZmlndXJhdGlvbl9QYXJhbXM7Ci0gICAgICBicmVhazsKLSAgICAgIGNhc2Ug
a1VzYkRldmljZV9DbGFpbUludGVyZmFjZV9OYW1lOgotICAgICAgICBpZiAobWVzc2FnZS5leHBl
Y3RzUmVzcG9uc2UoKSkKLSAgICAgICAgICBwYXJhbXNDbGFzcyA9IFVzYkRldmljZV9DbGFpbUlu
dGVyZmFjZV9QYXJhbXM7Ci0gICAgICBicmVhazsKLSAgICAgIGNhc2Uga1VzYkRldmljZV9SZWxl
YXNlSW50ZXJmYWNlX05hbWU6Ci0gICAgICAgIGlmIChtZXNzYWdlLmV4cGVjdHNSZXNwb25zZSgp
KQotICAgICAgICAgIHBhcmFtc0NsYXNzID0gVXNiRGV2aWNlX1JlbGVhc2VJbnRlcmZhY2VfUGFy
YW1zOwotICAgICAgYnJlYWs7Ci0gICAgICBjYXNlIGtVc2JEZXZpY2VfU2V0SW50ZXJmYWNlQWx0
ZXJuYXRlU2V0dGluZ19OYW1lOgotICAgICAgICBpZiAobWVzc2FnZS5leHBlY3RzUmVzcG9uc2Uo
KSkKLSAgICAgICAgICBwYXJhbXNDbGFzcyA9IFVzYkRldmljZV9TZXRJbnRlcmZhY2VBbHRlcm5h
dGVTZXR0aW5nX1BhcmFtczsKLSAgICAgIGJyZWFrOwotICAgICAgY2FzZSBrVXNiRGV2aWNlX1Jl
c2V0X05hbWU6Ci0gICAgICAgIGlmIChtZXNzYWdlLmV4cGVjdHNSZXNwb25zZSgpKQotICAgICAg
ICAgIHBhcmFtc0NsYXNzID0gVXNiRGV2aWNlX1Jlc2V0X1BhcmFtczsKLSAgICAgIGJyZWFrOwot
ICAgICAgY2FzZSBrVXNiRGV2aWNlX0NsZWFySGFsdF9OYW1lOgotICAgICAgICBpZiAobWVzc2Fn
ZS5leHBlY3RzUmVzcG9uc2UoKSkKLSAgICAgICAgICBwYXJhbXNDbGFzcyA9IFVzYkRldmljZV9D
bGVhckhhbHRfUGFyYW1zOwotICAgICAgYnJlYWs7Ci0gICAgICBjYXNlIGtVc2JEZXZpY2VfQ29u
dHJvbFRyYW5zZmVySW5fTmFtZToKLSAgICAgICAgaWYgKG1lc3NhZ2UuZXhwZWN0c1Jlc3BvbnNl
KCkpCi0gICAgICAgICAgcGFyYW1zQ2xhc3MgPSBVc2JEZXZpY2VfQ29udHJvbFRyYW5zZmVySW5f
UGFyYW1zOwotICAgICAgYnJlYWs7Ci0gICAgICBjYXNlIGtVc2JEZXZpY2VfQ29udHJvbFRyYW5z
ZmVyT3V0X05hbWU6Ci0gICAgICAgIGlmIChtZXNzYWdlLmV4cGVjdHNSZXNwb25zZSgpKQotICAg
ICAgICAgIHBhcmFtc0NsYXNzID0gVXNiRGV2aWNlX0NvbnRyb2xUcmFuc2Zlck91dF9QYXJhbXM7
Ci0gICAgICBicmVhazsKLSAgICAgIGNhc2Uga1VzYkRldmljZV9HZW5lcmljVHJhbnNmZXJJbl9O
YW1lOgotICAgICAgICBpZiAobWVzc2FnZS5leHBlY3RzUmVzcG9uc2UoKSkKLSAgICAgICAgICBw
YXJhbXNDbGFzcyA9IFVzYkRldmljZV9HZW5lcmljVHJhbnNmZXJJbl9QYXJhbXM7Ci0gICAgICBi
cmVhazsKLSAgICAgIGNhc2Uga1VzYkRldmljZV9HZW5lcmljVHJhbnNmZXJPdXRfTmFtZToKLSAg
ICAgICAgaWYgKG1lc3NhZ2UuZXhwZWN0c1Jlc3BvbnNlKCkpCi0gICAgICAgICAgcGFyYW1zQ2xh
c3MgPSBVc2JEZXZpY2VfR2VuZXJpY1RyYW5zZmVyT3V0X1BhcmFtczsKLSAgICAgIGJyZWFrOwot
ICAgICAgY2FzZSBrVXNiRGV2aWNlX0lzb2Nocm9ub3VzVHJhbnNmZXJJbl9OYW1lOgotICAgICAg
ICBpZiAobWVzc2FnZS5leHBlY3RzUmVzcG9uc2UoKSkKLSAgICAgICAgICBwYXJhbXNDbGFzcyA9
IFVzYkRldmljZV9Jc29jaHJvbm91c1RyYW5zZmVySW5fUGFyYW1zOwotICAgICAgYnJlYWs7Ci0g
ICAgICBjYXNlIGtVc2JEZXZpY2VfSXNvY2hyb25vdXNUcmFuc2Zlck91dF9OYW1lOgotICAgICAg
ICBpZiAobWVzc2FnZS5leHBlY3RzUmVzcG9uc2UoKSkKLSAgICAgICAgICBwYXJhbXNDbGFzcyA9
IFVzYkRldmljZV9Jc29jaHJvbm91c1RyYW5zZmVyT3V0X1BhcmFtczsKLSAgICAgIGJyZWFrOwot
ICAgIH0KLSAgICBpZiAocGFyYW1zQ2xhc3MgPT09IG51bGwpCi0gICAgICByZXR1cm4gdmFsaWRh
dG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwotICAgIHJldHVybiBwYXJhbXNDbGFzcy52YWxpZGF0
ZShtZXNzYWdlVmFsaWRhdG9yLCBtZXNzYWdlVmFsaWRhdG9yLm1lc3NhZ2UuZ2V0SGVhZGVyTnVt
Qnl0ZXMoKSk7Ci0gIH0KLQotICBmdW5jdGlvbiB2YWxpZGF0ZVVzYkRldmljZVJlc3BvbnNlKG1l
c3NhZ2VWYWxpZGF0b3IpIHsKLSAgIHZhciBtZXNzYWdlID0gbWVzc2FnZVZhbGlkYXRvci5tZXNz
YWdlOwotICAgdmFyIHBhcmFtc0NsYXNzID0gbnVsbDsKLSAgIHN3aXRjaCAobWVzc2FnZS5nZXRO
YW1lKCkpIHsKLSAgICAgIGNhc2Uga1VzYkRldmljZV9PcGVuX05hbWU6Ci0gICAgICAgIGlmICht
ZXNzYWdlLmlzUmVzcG9uc2UoKSkKLSAgICAgICAgICBwYXJhbXNDbGFzcyA9IFVzYkRldmljZV9P
cGVuX1Jlc3BvbnNlUGFyYW1zOwotICAgICAgICBicmVhazsKLSAgICAgIGNhc2Uga1VzYkRldmlj
ZV9DbG9zZV9OYW1lOgotICAgICAgICBpZiAobWVzc2FnZS5pc1Jlc3BvbnNlKCkpCi0gICAgICAg
ICAgcGFyYW1zQ2xhc3MgPSBVc2JEZXZpY2VfQ2xvc2VfUmVzcG9uc2VQYXJhbXM7Ci0gICAgICAg
IGJyZWFrOwotICAgICAgY2FzZSBrVXNiRGV2aWNlX1NldENvbmZpZ3VyYXRpb25fTmFtZToKLSAg
ICAgICAgaWYgKG1lc3NhZ2UuaXNSZXNwb25zZSgpKQotICAgICAgICAgIHBhcmFtc0NsYXNzID0g
VXNiRGV2aWNlX1NldENvbmZpZ3VyYXRpb25fUmVzcG9uc2VQYXJhbXM7Ci0gICAgICAgIGJyZWFr
OwotICAgICAgY2FzZSBrVXNiRGV2aWNlX0NsYWltSW50ZXJmYWNlX05hbWU6Ci0gICAgICAgIGlm
IChtZXNzYWdlLmlzUmVzcG9uc2UoKSkKLSAgICAgICAgICBwYXJhbXNDbGFzcyA9IFVzYkRldmlj
ZV9DbGFpbUludGVyZmFjZV9SZXNwb25zZVBhcmFtczsKLSAgICAgICAgYnJlYWs7Ci0gICAgICBj
YXNlIGtVc2JEZXZpY2VfUmVsZWFzZUludGVyZmFjZV9OYW1lOgotICAgICAgICBpZiAobWVzc2Fn
ZS5pc1Jlc3BvbnNlKCkpCi0gICAgICAgICAgcGFyYW1zQ2xhc3MgPSBVc2JEZXZpY2VfUmVsZWFz
ZUludGVyZmFjZV9SZXNwb25zZVBhcmFtczsKLSAgICAgICAgYnJlYWs7Ci0gICAgICBjYXNlIGtV
c2JEZXZpY2VfU2V0SW50ZXJmYWNlQWx0ZXJuYXRlU2V0dGluZ19OYW1lOgotICAgICAgICBpZiAo
bWVzc2FnZS5pc1Jlc3BvbnNlKCkpCi0gICAgICAgICAgcGFyYW1zQ2xhc3MgPSBVc2JEZXZpY2Vf
U2V0SW50ZXJmYWNlQWx0ZXJuYXRlU2V0dGluZ19SZXNwb25zZVBhcmFtczsKLSAgICAgICAgYnJl
YWs7Ci0gICAgICBjYXNlIGtVc2JEZXZpY2VfUmVzZXRfTmFtZToKLSAgICAgICAgaWYgKG1lc3Nh
Z2UuaXNSZXNwb25zZSgpKQotICAgICAgICAgIHBhcmFtc0NsYXNzID0gVXNiRGV2aWNlX1Jlc2V0
X1Jlc3BvbnNlUGFyYW1zOwotICAgICAgICBicmVhazsKLSAgICAgIGNhc2Uga1VzYkRldmljZV9D
bGVhckhhbHRfTmFtZToKLSAgICAgICAgaWYgKG1lc3NhZ2UuaXNSZXNwb25zZSgpKQotICAgICAg
ICAgIHBhcmFtc0NsYXNzID0gVXNiRGV2aWNlX0NsZWFySGFsdF9SZXNwb25zZVBhcmFtczsKLSAg
ICAgICAgYnJlYWs7Ci0gICAgICBjYXNlIGtVc2JEZXZpY2VfQ29udHJvbFRyYW5zZmVySW5fTmFt
ZToKLSAgICAgICAgaWYgKG1lc3NhZ2UuaXNSZXNwb25zZSgpKQotICAgICAgICAgIHBhcmFtc0Ns
YXNzID0gVXNiRGV2aWNlX0NvbnRyb2xUcmFuc2ZlckluX1Jlc3BvbnNlUGFyYW1zOwotICAgICAg
ICBicmVhazsKLSAgICAgIGNhc2Uga1VzYkRldmljZV9Db250cm9sVHJhbnNmZXJPdXRfTmFtZToK
LSAgICAgICAgaWYgKG1lc3NhZ2UuaXNSZXNwb25zZSgpKQotICAgICAgICAgIHBhcmFtc0NsYXNz
ID0gVXNiRGV2aWNlX0NvbnRyb2xUcmFuc2Zlck91dF9SZXNwb25zZVBhcmFtczsKLSAgICAgICAg
YnJlYWs7Ci0gICAgICBjYXNlIGtVc2JEZXZpY2VfR2VuZXJpY1RyYW5zZmVySW5fTmFtZToKLSAg
ICAgICAgaWYgKG1lc3NhZ2UuaXNSZXNwb25zZSgpKQotICAgICAgICAgIHBhcmFtc0NsYXNzID0g
VXNiRGV2aWNlX0dlbmVyaWNUcmFuc2ZlckluX1Jlc3BvbnNlUGFyYW1zOwotICAgICAgICBicmVh
azsKLSAgICAgIGNhc2Uga1VzYkRldmljZV9HZW5lcmljVHJhbnNmZXJPdXRfTmFtZToKLSAgICAg
ICAgaWYgKG1lc3NhZ2UuaXNSZXNwb25zZSgpKQotICAgICAgICAgIHBhcmFtc0NsYXNzID0gVXNi
RGV2aWNlX0dlbmVyaWNUcmFuc2Zlck91dF9SZXNwb25zZVBhcmFtczsKLSAgICAgICAgYnJlYWs7
Ci0gICAgICBjYXNlIGtVc2JEZXZpY2VfSXNvY2hyb25vdXNUcmFuc2ZlckluX05hbWU6Ci0gICAg
ICAgIGlmIChtZXNzYWdlLmlzUmVzcG9uc2UoKSkKLSAgICAgICAgICBwYXJhbXNDbGFzcyA9IFVz
YkRldmljZV9Jc29jaHJvbm91c1RyYW5zZmVySW5fUmVzcG9uc2VQYXJhbXM7Ci0gICAgICAgIGJy
ZWFrOwotICAgICAgY2FzZSBrVXNiRGV2aWNlX0lzb2Nocm9ub3VzVHJhbnNmZXJPdXRfTmFtZToK
LSAgICAgICAgaWYgKG1lc3NhZ2UuaXNSZXNwb25zZSgpKQotICAgICAgICAgIHBhcmFtc0NsYXNz
ID0gVXNiRGV2aWNlX0lzb2Nocm9ub3VzVHJhbnNmZXJPdXRfUmVzcG9uc2VQYXJhbXM7Ci0gICAg
ICAgIGJyZWFrOwotICAgIH0KLSAgICBpZiAocGFyYW1zQ2xhc3MgPT09IG51bGwpCi0gICAgICBy
ZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwotICAgIHJldHVybiBwYXJhbXND
bGFzcy52YWxpZGF0ZShtZXNzYWdlVmFsaWRhdG9yLCBtZXNzYWdlVmFsaWRhdG9yLm1lc3NhZ2Uu
Z2V0SGVhZGVyTnVtQnl0ZXMoKSk7Ci0gIH0KLQotICB2YXIgVXNiRGV2aWNlID0gewotICAgIG5h
bWU6ICdkZXZpY2UubW9qb20uVXNiRGV2aWNlJywKLSAgICBrVmVyc2lvbjogMCwKLSAgICBwdHJD
bGFzczogVXNiRGV2aWNlUHRyLAotICAgIHByb3h5Q2xhc3M6IFVzYkRldmljZVByb3h5LAotICAg
IHN0dWJDbGFzczogVXNiRGV2aWNlU3R1YiwKLSAgICB2YWxpZGF0ZVJlcXVlc3Q6IHZhbGlkYXRl
VXNiRGV2aWNlUmVxdWVzdCwKLSAgICB2YWxpZGF0ZVJlc3BvbnNlOiB2YWxpZGF0ZVVzYkRldmlj
ZVJlc3BvbnNlLAotICB9OwotICBVc2JEZXZpY2VTdHViLnByb3RvdHlwZS52YWxpZGF0b3IgPSB2
YWxpZGF0ZVVzYkRldmljZVJlcXVlc3Q7Ci0gIFVzYkRldmljZVByb3h5LnByb3RvdHlwZS52YWxp
ZGF0b3IgPSB2YWxpZGF0ZVVzYkRldmljZVJlc3BvbnNlOwotICB2YXIga1VzYkRldmljZUNsaWVu
dF9PbkRldmljZU9wZW5lZF9OYW1lID0gMDsKLSAgdmFyIGtVc2JEZXZpY2VDbGllbnRfT25EZXZp
Y2VDbG9zZWRfTmFtZSA9IDE7Ci0KLSAgZnVuY3Rpb24gVXNiRGV2aWNlQ2xpZW50UHRyKGhhbmRs
ZU9yUHRySW5mbykgewotICAgIHRoaXMucHRyID0gbmV3IGJpbmRpbmdzLkludGVyZmFjZVB0ckNv
bnRyb2xsZXIoVXNiRGV2aWNlQ2xpZW50LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaGFuZGxlT3JQdHJJbmZvKTsKLSAgfQotCi0gIGZ1bmN0aW9u
IFVzYkRldmljZUNsaWVudEFzc29jaWF0ZWRQdHIoYXNzb2NpYXRlZEludGVyZmFjZVB0ckluZm8p
IHsKLSAgICB0aGlzLnB0ciA9IG5ldyBhc3NvY2lhdGVkQmluZGluZ3MuQXNzb2NpYXRlZEludGVy
ZmFjZVB0ckNvbnRyb2xsZXIoCi0gICAgICAgIFVzYkRldmljZUNsaWVudCwgYXNzb2NpYXRlZElu
dGVyZmFjZVB0ckluZm8pOwotICB9Ci0KLSAgVXNiRGV2aWNlQ2xpZW50QXNzb2NpYXRlZFB0ci5w
cm90b3R5cGUgPQotICAgICAgT2JqZWN0LmNyZWF0ZShVc2JEZXZpY2VDbGllbnRQdHIucHJvdG90
eXBlKTsKLSAgVXNiRGV2aWNlQ2xpZW50QXNzb2NpYXRlZFB0ci5wcm90b3R5cGUuY29uc3RydWN0
b3IgPQotICAgICAgVXNiRGV2aWNlQ2xpZW50QXNzb2NpYXRlZFB0cjsKLQotICBmdW5jdGlvbiBV
c2JEZXZpY2VDbGllbnRQcm94eShyZWNlaXZlcikgewotICAgIHRoaXMucmVjZWl2ZXJfID0gcmVj
ZWl2ZXI7Ci0gIH0KLSAgVXNiRGV2aWNlQ2xpZW50UHRyLnByb3RvdHlwZS5vbkRldmljZU9wZW5l
ZCA9IGZ1bmN0aW9uKCkgewotICAgIHJldHVybiBVc2JEZXZpY2VDbGllbnRQcm94eS5wcm90b3R5
cGUub25EZXZpY2VPcGVuZWQKLSAgICAgICAgLmFwcGx5KHRoaXMucHRyLmdldFByb3h5KCksIGFy
Z3VtZW50cyk7Ci0gIH07Ci0KLSAgVXNiRGV2aWNlQ2xpZW50UHJveHkucHJvdG90eXBlLm9uRGV2
aWNlT3BlbmVkID0gZnVuY3Rpb24oKSB7Ci0gICAgdmFyIHBhcmFtc18gPSBuZXcgVXNiRGV2aWNl
Q2xpZW50X09uRGV2aWNlT3BlbmVkX1BhcmFtcygpOwotICAgIHZhciBidWlsZGVyID0gbmV3IGNv
ZGVjLk1lc3NhZ2VWMEJ1aWxkZXIoCi0gICAgICAgIGtVc2JEZXZpY2VDbGllbnRfT25EZXZpY2VP
cGVuZWRfTmFtZSwKLSAgICAgICAgY29kZWMuYWxpZ24oVXNiRGV2aWNlQ2xpZW50X09uRGV2aWNl
T3BlbmVkX1BhcmFtcy5lbmNvZGVkU2l6ZSkpOwotICAgIGJ1aWxkZXIuZW5jb2RlU3RydWN0KFVz
YkRldmljZUNsaWVudF9PbkRldmljZU9wZW5lZF9QYXJhbXMsIHBhcmFtc18pOwotICAgIHZhciBt
ZXNzYWdlID0gYnVpbGRlci5maW5pc2goKTsKLSAgICB0aGlzLnJlY2VpdmVyXy5hY2NlcHQobWVz
c2FnZSk7Ci0gIH07Ci0gIFVzYkRldmljZUNsaWVudFB0ci5wcm90b3R5cGUub25EZXZpY2VDbG9z
ZWQgPSBmdW5jdGlvbigpIHsKLSAgICByZXR1cm4gVXNiRGV2aWNlQ2xpZW50UHJveHkucHJvdG90
eXBlLm9uRGV2aWNlQ2xvc2VkCi0gICAgICAgIC5hcHBseSh0aGlzLnB0ci5nZXRQcm94eSgpLCBh
cmd1bWVudHMpOwotICB9OwotCi0gIFVzYkRldmljZUNsaWVudFByb3h5LnByb3RvdHlwZS5vbkRl
dmljZUNsb3NlZCA9IGZ1bmN0aW9uKCkgewotICAgIHZhciBwYXJhbXNfID0gbmV3IFVzYkRldmlj
ZUNsaWVudF9PbkRldmljZUNsb3NlZF9QYXJhbXMoKTsKLSAgICB2YXIgYnVpbGRlciA9IG5ldyBj
b2RlYy5NZXNzYWdlVjBCdWlsZGVyKAotICAgICAgICBrVXNiRGV2aWNlQ2xpZW50X09uRGV2aWNl
Q2xvc2VkX05hbWUsCi0gICAgICAgIGNvZGVjLmFsaWduKFVzYkRldmljZUNsaWVudF9PbkRldmlj
ZUNsb3NlZF9QYXJhbXMuZW5jb2RlZFNpemUpKTsKLSAgICBidWlsZGVyLmVuY29kZVN0cnVjdChV
c2JEZXZpY2VDbGllbnRfT25EZXZpY2VDbG9zZWRfUGFyYW1zLCBwYXJhbXNfKTsKLSAgICB2YXIg
bWVzc2FnZSA9IGJ1aWxkZXIuZmluaXNoKCk7Ci0gICAgdGhpcy5yZWNlaXZlcl8uYWNjZXB0KG1l
c3NhZ2UpOwotICB9OwotCi0gIGZ1bmN0aW9uIFVzYkRldmljZUNsaWVudFN0dWIoZGVsZWdhdGUp
IHsKLSAgICB0aGlzLmRlbGVnYXRlXyA9IGRlbGVnYXRlOwotICB9Ci0gIFVzYkRldmljZUNsaWVu
dFN0dWIucHJvdG90eXBlLm9uRGV2aWNlT3BlbmVkID0gZnVuY3Rpb24oKSB7Ci0gICAgcmV0dXJu
IHRoaXMuZGVsZWdhdGVfICYmIHRoaXMuZGVsZWdhdGVfLm9uRGV2aWNlT3BlbmVkICYmIHRoaXMu
ZGVsZWdhdGVfLm9uRGV2aWNlT3BlbmVkKCk7Ci0gIH0KLSAgVXNiRGV2aWNlQ2xpZW50U3R1Yi5w
cm90b3R5cGUub25EZXZpY2VDbG9zZWQgPSBmdW5jdGlvbigpIHsKLSAgICByZXR1cm4gdGhpcy5k
ZWxlZ2F0ZV8gJiYgdGhpcy5kZWxlZ2F0ZV8ub25EZXZpY2VDbG9zZWQgJiYgdGhpcy5kZWxlZ2F0
ZV8ub25EZXZpY2VDbG9zZWQoKTsKLSAgfQotCi0gIFVzYkRldmljZUNsaWVudFN0dWIucHJvdG90
eXBlLmFjY2VwdCA9IGZ1bmN0aW9uKG1lc3NhZ2UpIHsKLSAgICB2YXIgcmVhZGVyID0gbmV3IGNv
ZGVjLk1lc3NhZ2VSZWFkZXIobWVzc2FnZSk7Ci0gICAgc3dpdGNoIChyZWFkZXIubWVzc2FnZU5h
bWUpIHsKLSAgICBjYXNlIGtVc2JEZXZpY2VDbGllbnRfT25EZXZpY2VPcGVuZWRfTmFtZToKLSAg
ICAgIHZhciBwYXJhbXMgPSByZWFkZXIuZGVjb2RlU3RydWN0KFVzYkRldmljZUNsaWVudF9PbkRl
dmljZU9wZW5lZF9QYXJhbXMpOwotICAgICAgdGhpcy5vbkRldmljZU9wZW5lZCgpOwotICAgICAg
cmV0dXJuIHRydWU7Ci0gICAgY2FzZSBrVXNiRGV2aWNlQ2xpZW50X09uRGV2aWNlQ2xvc2VkX05h
bWU6Ci0gICAgICB2YXIgcGFyYW1zID0gcmVhZGVyLmRlY29kZVN0cnVjdChVc2JEZXZpY2VDbGll
bnRfT25EZXZpY2VDbG9zZWRfUGFyYW1zKTsKLSAgICAgIHRoaXMub25EZXZpY2VDbG9zZWQoKTsK
LSAgICAgIHJldHVybiB0cnVlOwotICAgIGRlZmF1bHQ6Ci0gICAgICByZXR1cm4gZmFsc2U7Ci0g
ICAgfQotICB9OwotCi0gIFVzYkRldmljZUNsaWVudFN0dWIucHJvdG90eXBlLmFjY2VwdFdpdGhS
ZXNwb25kZXIgPQotICAgICAgZnVuY3Rpb24obWVzc2FnZSwgcmVzcG9uZGVyKSB7Ci0gICAgdmFy
IHJlYWRlciA9IG5ldyBjb2RlYy5NZXNzYWdlUmVhZGVyKG1lc3NhZ2UpOwotICAgIHN3aXRjaCAo
cmVhZGVyLm1lc3NhZ2VOYW1lKSB7Ci0gICAgZGVmYXVsdDoKLSAgICAgIHJldHVybiBmYWxzZTsK
LSAgICB9Ci0gIH07Ci0KLSAgZnVuY3Rpb24gdmFsaWRhdGVVc2JEZXZpY2VDbGllbnRSZXF1ZXN0
KG1lc3NhZ2VWYWxpZGF0b3IpIHsKLSAgICB2YXIgbWVzc2FnZSA9IG1lc3NhZ2VWYWxpZGF0b3Iu
bWVzc2FnZTsKLSAgICB2YXIgcGFyYW1zQ2xhc3MgPSBudWxsOwotICAgIHN3aXRjaCAobWVzc2Fn
ZS5nZXROYW1lKCkpIHsKLSAgICAgIGNhc2Uga1VzYkRldmljZUNsaWVudF9PbkRldmljZU9wZW5l
ZF9OYW1lOgotICAgICAgICBpZiAoIW1lc3NhZ2UuZXhwZWN0c1Jlc3BvbnNlKCkgJiYgIW1lc3Nh
Z2UuaXNSZXNwb25zZSgpKQotICAgICAgICAgIHBhcmFtc0NsYXNzID0gVXNiRGV2aWNlQ2xpZW50
X09uRGV2aWNlT3BlbmVkX1BhcmFtczsKLSAgICAgIGJyZWFrOwotICAgICAgY2FzZSBrVXNiRGV2
aWNlQ2xpZW50X09uRGV2aWNlQ2xvc2VkX05hbWU6Ci0gICAgICAgIGlmICghbWVzc2FnZS5leHBl
Y3RzUmVzcG9uc2UoKSAmJiAhbWVzc2FnZS5pc1Jlc3BvbnNlKCkpCi0gICAgICAgICAgcGFyYW1z
Q2xhc3MgPSBVc2JEZXZpY2VDbGllbnRfT25EZXZpY2VDbG9zZWRfUGFyYW1zOwotICAgICAgYnJl
YWs7Ci0gICAgfQotICAgIGlmIChwYXJhbXNDbGFzcyA9PT0gbnVsbCkKLSAgICAgIHJldHVybiB2
YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gICAgcmV0dXJuIHBhcmFtc0NsYXNzLnZh
bGlkYXRlKG1lc3NhZ2VWYWxpZGF0b3IsIG1lc3NhZ2VWYWxpZGF0b3IubWVzc2FnZS5nZXRIZWFk
ZXJOdW1CeXRlcygpKTsKLSAgfQotCi0gIGZ1bmN0aW9uIHZhbGlkYXRlVXNiRGV2aWNlQ2xpZW50
UmVzcG9uc2UobWVzc2FnZVZhbGlkYXRvcikgewotICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRh
dGlvbkVycm9yLk5PTkU7Ci0gIH0KLQotICB2YXIgVXNiRGV2aWNlQ2xpZW50ID0gewotICAgIG5h
bWU6ICdkZXZpY2UubW9qb20uVXNiRGV2aWNlQ2xpZW50JywKLSAgICBrVmVyc2lvbjogMCwKLSAg
ICBwdHJDbGFzczogVXNiRGV2aWNlQ2xpZW50UHRyLAotICAgIHByb3h5Q2xhc3M6IFVzYkRldmlj
ZUNsaWVudFByb3h5LAotICAgIHN0dWJDbGFzczogVXNiRGV2aWNlQ2xpZW50U3R1YiwKLSAgICB2
YWxpZGF0ZVJlcXVlc3Q6IHZhbGlkYXRlVXNiRGV2aWNlQ2xpZW50UmVxdWVzdCwKLSAgICB2YWxp
ZGF0ZVJlc3BvbnNlOiBudWxsLAotICB9OwotICBVc2JEZXZpY2VDbGllbnRTdHViLnByb3RvdHlw
ZS52YWxpZGF0b3IgPSB2YWxpZGF0ZVVzYkRldmljZUNsaWVudFJlcXVlc3Q7Ci0gIFVzYkRldmlj
ZUNsaWVudFByb3h5LnByb3RvdHlwZS52YWxpZGF0b3IgPSBudWxsOwotICBleHBvcnRzLlVzYk9w
ZW5EZXZpY2VFcnJvciA9IFVzYk9wZW5EZXZpY2VFcnJvcjsKLSAgZXhwb3J0cy5Vc2JUcmFuc2Zl
ckRpcmVjdGlvbiA9IFVzYlRyYW5zZmVyRGlyZWN0aW9uOwotICBleHBvcnRzLlVzYkNvbnRyb2xU
cmFuc2ZlclR5cGUgPSBVc2JDb250cm9sVHJhbnNmZXJUeXBlOwotICBleHBvcnRzLlVzYkNvbnRy
b2xUcmFuc2ZlclJlY2lwaWVudCA9IFVzYkNvbnRyb2xUcmFuc2ZlclJlY2lwaWVudDsKLSAgZXhw
b3J0cy5Vc2JUcmFuc2ZlclR5cGUgPSBVc2JUcmFuc2ZlclR5cGU7Ci0gIGV4cG9ydHMuVXNiU3lu
Y2hyb25pemF0aW9uVHlwZSA9IFVzYlN5bmNocm9uaXphdGlvblR5cGU7Ci0gIGV4cG9ydHMuVXNi
VXNhZ2VUeXBlID0gVXNiVXNhZ2VUeXBlOwotICBleHBvcnRzLlVzYlRyYW5zZmVyU3RhdHVzID0g
VXNiVHJhbnNmZXJTdGF0dXM7Ci0gIGV4cG9ydHMuVXNiRW5kcG9pbnRJbmZvID0gVXNiRW5kcG9p
bnRJbmZvOwotICBleHBvcnRzLlVzYkFsdGVybmF0ZUludGVyZmFjZUluZm8gPSBVc2JBbHRlcm5h
dGVJbnRlcmZhY2VJbmZvOwotICBleHBvcnRzLlVzYkludGVyZmFjZUluZm8gPSBVc2JJbnRlcmZh
Y2VJbmZvOwotICBleHBvcnRzLlVzYkNvbmZpZ3VyYXRpb25JbmZvID0gVXNiQ29uZmlndXJhdGlv
bkluZm87Ci0gIGV4cG9ydHMuVXNiRGV2aWNlSW5mbyA9IFVzYkRldmljZUluZm87Ci0gIGV4cG9y
dHMuVXNiQ29udHJvbFRyYW5zZmVyUGFyYW1zID0gVXNiQ29udHJvbFRyYW5zZmVyUGFyYW1zOwot
ICBleHBvcnRzLlVzYklzb2Nocm9ub3VzUGFja2V0ID0gVXNiSXNvY2hyb25vdXNQYWNrZXQ7Ci0g
IGV4cG9ydHMuVXNiRGV2aWNlID0gVXNiRGV2aWNlOwotICBleHBvcnRzLlVzYkRldmljZVB0ciA9
IFVzYkRldmljZVB0cjsKLSAgZXhwb3J0cy5Vc2JEZXZpY2VBc3NvY2lhdGVkUHRyID0gVXNiRGV2
aWNlQXNzb2NpYXRlZFB0cjsKLSAgZXhwb3J0cy5Vc2JEZXZpY2VDbGllbnQgPSBVc2JEZXZpY2VD
bGllbnQ7Ci0gIGV4cG9ydHMuVXNiRGV2aWNlQ2xpZW50UHRyID0gVXNiRGV2aWNlQ2xpZW50UHRy
OwotICBleHBvcnRzLlVzYkRldmljZUNsaWVudEFzc29jaWF0ZWRQdHIgPSBVc2JEZXZpY2VDbGll
bnRBc3NvY2lhdGVkUHRyOwotfSkoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL2RldmljZS5tb2pvbS5q
cy5oZWFkZXJzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvY2hyb21pdW0vZGV2aWNlLm1vam9tLmpzLmhlYWRlcnMKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDY4MDVjMzIzZGY1Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS9kZXZp
Y2UubW9qb20uanMuaGVhZGVycworKysgL2Rldi9udWxsCkBAIC0xICswLDAgQEAKLUNvbnRlbnQt
VHlwZTogdGV4dC9qYXZhc2NyaXB0OyBjaGFyc2V0PXV0Zi04CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS9k
ZXZpY2VfZW51bWVyYXRpb25fb3B0aW9ucy5tb2pvbS5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL2RldmljZV9lbnVtZXJh
dGlvbl9vcHRpb25zLm1vam9tLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1YTc3
NWFkMzY4Ny4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vZGV2aWNlX2VudW1lcmF0aW9uX29wdGlv
bnMubW9qb20uanMKKysrIC9kZXYvbnVsbApAQCAtMSwxODQgKzAsMCBAQAotLy8gQ29weXJpZ2h0
IDIwMTQgVGhlIENocm9taXVtIEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0vLyBVc2Ug
b2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlIHRo
YXQgY2FuIGJlCi0vLyBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgotCi0ndXNlIHN0cmljdCc7
Ci0KLShmdW5jdGlvbigpIHsKLSAgdmFyIG1vam9tSWQgPSAnZGV2aWNlL3VzYi9wdWJsaWMvbW9q
b20vZGV2aWNlX2VudW1lcmF0aW9uX29wdGlvbnMubW9qb20nOwotICBpZiAobW9qby5pbnRlcm5h
bC5pc01vam9tTG9hZGVkKG1vam9tSWQpKSB7Ci0gICAgY29uc29sZS53YXJuKCdUaGUgZm9sbG93
aW5nIG1vam9tIGlzIGxvYWRlZCBtdWx0aXBsZSB0aW1lczogJyArIG1vam9tSWQpOwotICAgIHJl
dHVybjsKLSAgfQotICBtb2pvLmludGVybmFsLm1hcmtNb2pvbUxvYWRlZChtb2pvbUlkKTsKLSAg
dmFyIGJpbmRpbmdzID0gbW9qbzsKLSAgdmFyIGFzc29jaWF0ZWRCaW5kaW5ncyA9IG1vam87Ci0g
IHZhciBjb2RlYyA9IG1vam8uaW50ZXJuYWw7Ci0gIHZhciB2YWxpZGF0b3IgPSBtb2pvLmludGVy
bmFsOwotCi0gIHZhciBleHBvcnRzID0gbW9qby5pbnRlcm5hbC5leHBvc2VOYW1lc3BhY2UoJ2Rl
dmljZS5tb2pvbScpOwotICB2YXIgc3RyaW5nMTYkID0KLSAgICAgIG1vam8uaW50ZXJuYWwuZXhw
b3NlTmFtZXNwYWNlKCdtb2pvQmFzZS5tb2pvbScpOwotICBpZiAobW9qby5jb25maWcuYXV0b0xv
YWRNb2pvbURlcHMpIHsKLSAgICBtb2pvLmludGVybmFsLmxvYWRNb2pvbUlmTmVjZXNzYXJ5KAot
ICAgICAgICAnbW9qby9wdWJsaWMvbW9qb20vYmFzZS9zdHJpbmcxNi5tb2pvbScsICcuLi8uLi8u
Li8uLi9tb2pvL3B1YmxpYy9tb2pvbS9iYXNlL3N0cmluZzE2Lm1vam9tLmpzJyk7Ci0gIH0KLQot
Ci0KLSAgZnVuY3Rpb24gVXNiRGV2aWNlRmlsdGVyKHZhbHVlcykgewotICAgIHRoaXMuaW5pdERl
ZmF1bHRzXygpOwotICAgIHRoaXMuaW5pdEZpZWxkc18odmFsdWVzKTsKLSAgfQotCi0KLSAgVXNi
RGV2aWNlRmlsdGVyLnByb3RvdHlwZS5pbml0RGVmYXVsdHNfID0gZnVuY3Rpb24oKSB7Ci0gICAg
dGhpcy5oYXNWZW5kb3JJZCA9IGZhbHNlOwotICAgIHRoaXMuaGFzUHJvZHVjdElkID0gZmFsc2U7
Ci0gICAgdGhpcy5oYXNDbGFzc0NvZGUgPSBmYWxzZTsKLSAgICB0aGlzLmhhc1N1YmNsYXNzQ29k
ZSA9IGZhbHNlOwotICAgIHRoaXMuaGFzUHJvdG9jb2xDb2RlID0gZmFsc2U7Ci0gICAgdGhpcy5j
bGFzc0NvZGUgPSAwOwotICAgIHRoaXMudmVuZG9ySWQgPSAwOwotICAgIHRoaXMucHJvZHVjdElk
ID0gMDsKLSAgICB0aGlzLnN1YmNsYXNzQ29kZSA9IDA7Ci0gICAgdGhpcy5wcm90b2NvbENvZGUg
PSAwOwotICAgIHRoaXMuc2VyaWFsTnVtYmVyID0gbnVsbDsKLSAgfTsKLSAgVXNiRGV2aWNlRmls
dGVyLnByb3RvdHlwZS5pbml0RmllbGRzXyA9IGZ1bmN0aW9uKGZpZWxkcykgewotICAgIGZvcih2
YXIgZmllbGQgaW4gZmllbGRzKSB7Ci0gICAgICAgIGlmICh0aGlzLmhhc093blByb3BlcnR5KGZp
ZWxkKSkKLSAgICAgICAgICB0aGlzW2ZpZWxkXSA9IGZpZWxkc1tmaWVsZF07Ci0gICAgfQotICB9
OwotCi0gIFVzYkRldmljZUZpbHRlci52YWxpZGF0ZSA9IGZ1bmN0aW9uKG1lc3NhZ2VWYWxpZGF0
b3IsIG9mZnNldCkgewotICAgIHZhciBlcnI7Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52
YWxpZGF0ZVN0cnVjdEhlYWRlcihvZmZzZXQsIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplKTsKLSAg
ICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJl
dHVybiBlcnI7Ci0KLSAgICB2YXIga1ZlcnNpb25TaXplcyA9IFsKLSAgICAgIHt2ZXJzaW9uOiAw
LCBudW1CeXRlczogMjR9Ci0gICAgXTsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlk
YXRlU3RydWN0VmVyc2lvbihvZmZzZXQsIGtWZXJzaW9uU2l6ZXMpOwotICAgIGlmIChlcnIgIT09
IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQot
Ci0KLQotCi0KLQotCi0KLQotCi0KLSAgICAvLyB2YWxpZGF0ZSBVc2JEZXZpY2VGaWx0ZXIuc2Vy
aWFsTnVtYmVyCi0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFBvaW50
ZXIob2Zmc2V0ICsgY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyA4LCBzdHJpbmcxNiQuU3RyaW5n
MTYsIHRydWUpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9O
RSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlv
bkVycm9yLk5PTkU7Ci0gIH07Ci0KLSAgVXNiRGV2aWNlRmlsdGVyLmVuY29kZWRTaXplID0gY29k
ZWMua1N0cnVjdEhlYWRlclNpemUgKyAxNjsKLQotICBVc2JEZXZpY2VGaWx0ZXIuZGVjb2RlID0g
ZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgdmFyIHZhbCA9IG5ldyBV
c2JEZXZpY2VGaWx0ZXIoKTsKLSAgICB2YXIgbnVtYmVyT2ZCeXRlcyA9IGRlY29kZXIucmVhZFVp
bnQzMigpOwotICAgIHZhciB2ZXJzaW9uID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgcGFj
a2VkID0gZGVjb2Rlci5yZWFkVWludDgoKTsKLSAgICB2YWwuaGFzVmVuZG9ySWQgPSAocGFja2Vk
ID4+IDApICYgMSA/IHRydWUgOiBmYWxzZTsKLSAgICB2YWwuaGFzUHJvZHVjdElkID0gKHBhY2tl
ZCA+PiAxKSAmIDEgPyB0cnVlIDogZmFsc2U7Ci0gICAgdmFsLmhhc0NsYXNzQ29kZSA9IChwYWNr
ZWQgPj4gMikgJiAxID8gdHJ1ZSA6IGZhbHNlOwotICAgIHZhbC5oYXNTdWJjbGFzc0NvZGUgPSAo
cGFja2VkID4+IDMpICYgMSA/IHRydWUgOiBmYWxzZTsKLSAgICB2YWwuaGFzUHJvdG9jb2xDb2Rl
ID0gKHBhY2tlZCA+PiA0KSAmIDEgPyB0cnVlIDogZmFsc2U7Ci0gICAgdmFsLmNsYXNzQ29kZSA9
IGRlY29kZXIuZGVjb2RlU3RydWN0KGNvZGVjLlVpbnQ4KTsKLSAgICB2YWwudmVuZG9ySWQgPSBk
ZWNvZGVyLmRlY29kZVN0cnVjdChjb2RlYy5VaW50MTYpOwotICAgIHZhbC5wcm9kdWN0SWQgPSBk
ZWNvZGVyLmRlY29kZVN0cnVjdChjb2RlYy5VaW50MTYpOwotICAgIHZhbC5zdWJjbGFzc0NvZGUg
PSBkZWNvZGVyLmRlY29kZVN0cnVjdChjb2RlYy5VaW50OCk7Ci0gICAgdmFsLnByb3RvY29sQ29k
ZSA9IGRlY29kZXIuZGVjb2RlU3RydWN0KGNvZGVjLlVpbnQ4KTsKLSAgICB2YWwuc2VyaWFsTnVt
YmVyID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3RQb2ludGVyKHN0cmluZzE2JC5TdHJpbmcxNik7Ci0g
ICAgcmV0dXJuIHZhbDsKLSAgfTsKLQotICBVc2JEZXZpY2VGaWx0ZXIuZW5jb2RlID0gZnVuY3Rp
b24oZW5jb2RlciwgdmFsKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICBlbmNvZGVyLndyaXRlVWlu
dDMyKFVzYkRldmljZUZpbHRlci5lbmNvZGVkU2l6ZSk7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQz
MigwKTsKLSAgICBwYWNrZWQgPSAwOwotICAgIHBhY2tlZCB8PSAodmFsLmhhc1ZlbmRvcklkICYg
MSkgPDwgMAotICAgIHBhY2tlZCB8PSAodmFsLmhhc1Byb2R1Y3RJZCAmIDEpIDw8IDEKLSAgICBw
YWNrZWQgfD0gKHZhbC5oYXNDbGFzc0NvZGUgJiAxKSA8PCAyCi0gICAgcGFja2VkIHw9ICh2YWwu
aGFzU3ViY2xhc3NDb2RlICYgMSkgPDwgMwotICAgIHBhY2tlZCB8PSAodmFsLmhhc1Byb3RvY29s
Q29kZSAmIDEpIDw8IDQKLSAgICBlbmNvZGVyLndyaXRlVWludDgocGFja2VkKTsKLSAgICBlbmNv
ZGVyLmVuY29kZVN0cnVjdChjb2RlYy5VaW50OCwgdmFsLmNsYXNzQ29kZSk7Ci0gICAgZW5jb2Rl
ci5lbmNvZGVTdHJ1Y3QoY29kZWMuVWludDE2LCB2YWwudmVuZG9ySWQpOwotICAgIGVuY29kZXIu
ZW5jb2RlU3RydWN0KGNvZGVjLlVpbnQxNiwgdmFsLnByb2R1Y3RJZCk7Ci0gICAgZW5jb2Rlci5l
bmNvZGVTdHJ1Y3QoY29kZWMuVWludDgsIHZhbC5zdWJjbGFzc0NvZGUpOwotICAgIGVuY29kZXIu
ZW5jb2RlU3RydWN0KGNvZGVjLlVpbnQ4LCB2YWwucHJvdG9jb2xDb2RlKTsKLSAgICBlbmNvZGVy
LmVuY29kZVN0cnVjdFBvaW50ZXIoc3RyaW5nMTYkLlN0cmluZzE2LCB2YWwuc2VyaWFsTnVtYmVy
KTsKLSAgfTsKLSAgZnVuY3Rpb24gVXNiRW51bWVyYXRpb25PcHRpb25zKHZhbHVlcykgewotICAg
IHRoaXMuaW5pdERlZmF1bHRzXygpOwotICAgIHRoaXMuaW5pdEZpZWxkc18odmFsdWVzKTsKLSAg
fQotCi0KLSAgVXNiRW51bWVyYXRpb25PcHRpb25zLnByb3RvdHlwZS5pbml0RGVmYXVsdHNfID0g
ZnVuY3Rpb24oKSB7Ci0gICAgdGhpcy5maWx0ZXJzID0gbnVsbDsKLSAgfTsKLSAgVXNiRW51bWVy
YXRpb25PcHRpb25zLnByb3RvdHlwZS5pbml0RmllbGRzXyA9IGZ1bmN0aW9uKGZpZWxkcykgewot
ICAgIGZvcih2YXIgZmllbGQgaW4gZmllbGRzKSB7Ci0gICAgICAgIGlmICh0aGlzLmhhc093blBy
b3BlcnR5KGZpZWxkKSkKLSAgICAgICAgICB0aGlzW2ZpZWxkXSA9IGZpZWxkc1tmaWVsZF07Ci0g
ICAgfQotICB9OwotCi0gIFVzYkVudW1lcmF0aW9uT3B0aW9ucy52YWxpZGF0ZSA9IGZ1bmN0aW9u
KG1lc3NhZ2VWYWxpZGF0b3IsIG9mZnNldCkgewotICAgIHZhciBlcnI7Ci0gICAgZXJyID0gbWVz
c2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdEhlYWRlcihvZmZzZXQsIGNvZGVjLmtTdHJ1Y3RI
ZWFkZXJTaXplKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5P
TkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICB2YXIga1ZlcnNpb25TaXplcyA9IFsKLSAg
ICAgIHt2ZXJzaW9uOiAwLCBudW1CeXRlczogMTZ9Ci0gICAgXTsKLSAgICBlcnIgPSBtZXNzYWdl
VmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0VmVyc2lvbihvZmZzZXQsIGtWZXJzaW9uU2l6ZXMpOwot
ICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAg
cmV0dXJuIGVycjsKLQotCi0gICAgLy8gdmFsaWRhdGUgVXNiRW51bWVyYXRpb25PcHRpb25zLmZp
bHRlcnMKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlQXJyYXlQb2ludGVyKG9m
ZnNldCArIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgMCwgOCwgbmV3IGNvZGVjLlBvaW50ZXJU
byhVc2JEZXZpY2VGaWx0ZXIpLCBmYWxzZSwgWzBdLCAwKTsKLSAgICBpZiAoZXJyICE9PSB2YWxp
ZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICBy
ZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIFVzYkVudW1l
cmF0aW9uT3B0aW9ucy5lbmNvZGVkU2l6ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgODsK
LQotICBVc2JFbnVtZXJhdGlvbk9wdGlvbnMuZGVjb2RlID0gZnVuY3Rpb24oZGVjb2Rlcikgewot
ICAgIHZhciBwYWNrZWQ7Ci0gICAgdmFyIHZhbCA9IG5ldyBVc2JFbnVtZXJhdGlvbk9wdGlvbnMo
KTsKLSAgICB2YXIgbnVtYmVyT2ZCeXRlcyA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZh
ciB2ZXJzaW9uID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFsLmZpbHRlcnMgPSBkZWNv
ZGVyLmRlY29kZUFycmF5UG9pbnRlcihuZXcgY29kZWMuUG9pbnRlclRvKFVzYkRldmljZUZpbHRl
cikpOwotICAgIHJldHVybiB2YWw7Ci0gIH07Ci0KLSAgVXNiRW51bWVyYXRpb25PcHRpb25zLmVu
Y29kZSA9IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgZW5j
b2Rlci53cml0ZVVpbnQzMihVc2JFbnVtZXJhdGlvbk9wdGlvbnMuZW5jb2RlZFNpemUpOwotICAg
IGVuY29kZXIud3JpdGVVaW50MzIoMCk7Ci0gICAgZW5jb2Rlci5lbmNvZGVBcnJheVBvaW50ZXIo
bmV3IGNvZGVjLlBvaW50ZXJUbyhVc2JEZXZpY2VGaWx0ZXIpLCB2YWwuZmlsdGVycyk7Ci0gIH07
Ci0gIGV4cG9ydHMuVXNiRGV2aWNlRmlsdGVyID0gVXNiRGV2aWNlRmlsdGVyOwotICBleHBvcnRz
LlVzYkVudW1lcmF0aW9uT3B0aW9ucyA9IFVzYkVudW1lcmF0aW9uT3B0aW9uczsKLX0pKCk7Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vZGV2aWNlX2VudW1l
cmF0aW9uX29wdGlvbnMubW9qb20uanMuaGVhZGVycyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL2RldmljZV9lbnVtZXJhdGlv
bl9vcHRpb25zLm1vam9tLmpzLmhlYWRlcnMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDZjNjFhMzRhNGVjLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS9kZXZpY2VfZW51bWVyYXRpb25f
b3B0aW9ucy5tb2pvbS5qcy5oZWFkZXJzCisrKyAvZGV2L251bGwKQEAgLTEgKzAsMCBAQAotQ29u
dGVudC1UeXBlOiB0ZXh0L2phdmFzY3JpcHQ7IGNoYXJzZXQ9dXRmLTgKXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS9kZXZpY2VfbWFuYWdlcl9jbGllbnQubW9q
b20uanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy9jaHJvbWl1bS9kZXZpY2VfbWFuYWdlcl9jbGllbnQubW9qb20uanMKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDQzOWY2NDY1NzRkLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS9k
ZXZpY2VfbWFuYWdlcl9jbGllbnQubW9qb20uanMKKysrIC9kZXYvbnVsbApAQCAtMSwyNjIgKzAs
MCBAQAotLy8gQ29weXJpZ2h0IDIwMTQgVGhlIENocm9taXVtIEF1dGhvcnMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCi0vLyBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJT
RC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCi0vLyBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxl
LgotCi0ndXNlIHN0cmljdCc7Ci0KLShmdW5jdGlvbigpIHsKLSAgdmFyIG1vam9tSWQgPSAnZGV2
aWNlL3VzYi9wdWJsaWMvbW9qb20vZGV2aWNlX21hbmFnZXJfY2xpZW50Lm1vam9tJzsKLSAgaWYg
KG1vam8uaW50ZXJuYWwuaXNNb2pvbUxvYWRlZChtb2pvbUlkKSkgewotICAgIGNvbnNvbGUud2Fy
bignVGhlIGZvbGxvd2luZyBtb2pvbSBpcyBsb2FkZWQgbXVsdGlwbGUgdGltZXM6ICcgKyBtb2pv
bUlkKTsKLSAgICByZXR1cm47Ci0gIH0KLSAgbW9qby5pbnRlcm5hbC5tYXJrTW9qb21Mb2FkZWQo
bW9qb21JZCk7Ci0gIHZhciBiaW5kaW5ncyA9IG1vam87Ci0gIHZhciBhc3NvY2lhdGVkQmluZGlu
Z3MgPSBtb2pvOwotICB2YXIgY29kZWMgPSBtb2pvLmludGVybmFsOwotICB2YXIgdmFsaWRhdG9y
ID0gbW9qby5pbnRlcm5hbDsKLQotICB2YXIgZXhwb3J0cyA9IG1vam8uaW50ZXJuYWwuZXhwb3Nl
TmFtZXNwYWNlKCdkZXZpY2UubW9qb20nKTsKLSAgdmFyIGRldmljZSQgPQotICAgICAgbW9qby5p
bnRlcm5hbC5leHBvc2VOYW1lc3BhY2UoJ2RldmljZS5tb2pvbScpOwotICBpZiAobW9qby5jb25m
aWcuYXV0b0xvYWRNb2pvbURlcHMpIHsKLSAgICBtb2pvLmludGVybmFsLmxvYWRNb2pvbUlmTmVj
ZXNzYXJ5KAotICAgICAgICAnZGV2aWNlL3VzYi9wdWJsaWMvbW9qb20vZGV2aWNlLm1vam9tJywg
J2RldmljZS5tb2pvbS5qcycpOwotICB9Ci0KLQotCi0gIGZ1bmN0aW9uIFVzYkRldmljZU1hbmFn
ZXJDbGllbnRfT25EZXZpY2VBZGRlZF9QYXJhbXModmFsdWVzKSB7Ci0gICAgdGhpcy5pbml0RGVm
YXVsdHNfKCk7Ci0gICAgdGhpcy5pbml0RmllbGRzXyh2YWx1ZXMpOwotICB9Ci0KLQotICBVc2JE
ZXZpY2VNYW5hZ2VyQ2xpZW50X09uRGV2aWNlQWRkZWRfUGFyYW1zLnByb3RvdHlwZS5pbml0RGVm
YXVsdHNfID0gZnVuY3Rpb24oKSB7Ci0gICAgdGhpcy5kZXZpY2VJbmZvID0gbnVsbDsKLSAgfTsK
LSAgVXNiRGV2aWNlTWFuYWdlckNsaWVudF9PbkRldmljZUFkZGVkX1BhcmFtcy5wcm90b3R5cGUu
aW5pdEZpZWxkc18gPSBmdW5jdGlvbihmaWVsZHMpIHsKLSAgICBmb3IodmFyIGZpZWxkIGluIGZp
ZWxkcykgewotICAgICAgICBpZiAodGhpcy5oYXNPd25Qcm9wZXJ0eShmaWVsZCkpCi0gICAgICAg
ICAgdGhpc1tmaWVsZF0gPSBmaWVsZHNbZmllbGRdOwotICAgIH0KLSAgfTsKLQotICBVc2JEZXZp
Y2VNYW5hZ2VyQ2xpZW50X09uRGV2aWNlQWRkZWRfUGFyYW1zLnZhbGlkYXRlID0gZnVuY3Rpb24o
bWVzc2FnZVZhbGlkYXRvciwgb2Zmc2V0KSB7Ci0gICAgdmFyIGVycjsKLSAgICBlcnIgPSBtZXNz
YWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0SGVhZGVyKG9mZnNldCwgY29kZWMua1N0cnVjdEhl
YWRlclNpemUpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9O
RSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHZhciBrVmVyc2lvblNpemVzID0gWwotICAg
ICAge3ZlcnNpb246IDAsIG51bUJ5dGVzOiAxNn0KLSAgICBdOwotICAgIGVyciA9IG1lc3NhZ2VW
YWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RWZXJzaW9uKG9mZnNldCwga1ZlcnNpb25TaXplcyk7Ci0g
ICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICBy
ZXR1cm4gZXJyOwotCi0KLSAgICAvLyB2YWxpZGF0ZSBVc2JEZXZpY2VNYW5hZ2VyQ2xpZW50X09u
RGV2aWNlQWRkZWRfUGFyYW1zLmRldmljZUluZm8KLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9y
LnZhbGlkYXRlU3RydWN0UG9pbnRlcihvZmZzZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSAr
IDAsIGRldmljZSQuVXNiRGV2aWNlSW5mbywgZmFsc2UpOwotICAgIGlmIChlcnIgIT09IHZhbGlk
YXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHJl
dHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gIH07Ci0KLSAgVXNiRGV2aWNl
TWFuYWdlckNsaWVudF9PbkRldmljZUFkZGVkX1BhcmFtcy5lbmNvZGVkU2l6ZSA9IGNvZGVjLmtT
dHJ1Y3RIZWFkZXJTaXplICsgODsKLQotICBVc2JEZXZpY2VNYW5hZ2VyQ2xpZW50X09uRGV2aWNl
QWRkZWRfUGFyYW1zLmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICB2YXIgcGFja2Vk
OwotICAgIHZhciB2YWwgPSBuZXcgVXNiRGV2aWNlTWFuYWdlckNsaWVudF9PbkRldmljZUFkZGVk
X1BhcmFtcygpOwotICAgIHZhciBudW1iZXJPZkJ5dGVzID0gZGVjb2Rlci5yZWFkVWludDMyKCk7
Ci0gICAgdmFyIHZlcnNpb24gPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YWwuZGV2aWNl
SW5mbyA9IGRlY29kZXIuZGVjb2RlU3RydWN0UG9pbnRlcihkZXZpY2UkLlVzYkRldmljZUluZm8p
OwotICAgIHJldHVybiB2YWw7Ci0gIH07Ci0KLSAgVXNiRGV2aWNlTWFuYWdlckNsaWVudF9PbkRl
dmljZUFkZGVkX1BhcmFtcy5lbmNvZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2YWwpIHsKLSAgICB2
YXIgcGFja2VkOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoVXNiRGV2aWNlTWFuYWdlckNsaWVu
dF9PbkRldmljZUFkZGVkX1BhcmFtcy5lbmNvZGVkU2l6ZSk7Ci0gICAgZW5jb2Rlci53cml0ZVVp
bnQzMigwKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdFBvaW50ZXIoZGV2aWNlJC5Vc2JEZXZp
Y2VJbmZvLCB2YWwuZGV2aWNlSW5mbyk7Ci0gIH07Ci0gIGZ1bmN0aW9uIFVzYkRldmljZU1hbmFn
ZXJDbGllbnRfT25EZXZpY2VSZW1vdmVkX1BhcmFtcyh2YWx1ZXMpIHsKLSAgICB0aGlzLmluaXRE
ZWZhdWx0c18oKTsKLSAgICB0aGlzLmluaXRGaWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0gIFVz
YkRldmljZU1hbmFnZXJDbGllbnRfT25EZXZpY2VSZW1vdmVkX1BhcmFtcy5wcm90b3R5cGUuaW5p
dERlZmF1bHRzXyA9IGZ1bmN0aW9uKCkgewotICAgIHRoaXMuZGV2aWNlSW5mbyA9IG51bGw7Ci0g
IH07Ci0gIFVzYkRldmljZU1hbmFnZXJDbGllbnRfT25EZXZpY2VSZW1vdmVkX1BhcmFtcy5wcm90
b3R5cGUuaW5pdEZpZWxkc18gPSBmdW5jdGlvbihmaWVsZHMpIHsKLSAgICBmb3IodmFyIGZpZWxk
IGluIGZpZWxkcykgewotICAgICAgICBpZiAodGhpcy5oYXNPd25Qcm9wZXJ0eShmaWVsZCkpCi0g
ICAgICAgICAgdGhpc1tmaWVsZF0gPSBmaWVsZHNbZmllbGRdOwotICAgIH0KLSAgfTsKLQotICBV
c2JEZXZpY2VNYW5hZ2VyQ2xpZW50X09uRGV2aWNlUmVtb3ZlZF9QYXJhbXMudmFsaWRhdGUgPSBm
dW5jdGlvbihtZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsKLSAgICB2YXIgZXJyOwotICAgIGVy
ciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RIZWFkZXIob2Zmc2V0LCBjb2RlYy5r
U3RydWN0SGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25F
cnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgdmFyIGtWZXJzaW9uU2l6ZXMg
PSBbCi0gICAgICB7dmVyc2lvbjogMCwgbnVtQnl0ZXM6IDE2fQotICAgIF07Ci0gICAgZXJyID0g
bWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFZlcnNpb24ob2Zmc2V0LCBrVmVyc2lvblNp
emVzKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0g
ICAgICAgIHJldHVybiBlcnI7Ci0KLQotICAgIC8vIHZhbGlkYXRlIFVzYkRldmljZU1hbmFnZXJD
bGllbnRfT25EZXZpY2VSZW1vdmVkX1BhcmFtcy5kZXZpY2VJbmZvCi0gICAgZXJyID0gbWVzc2Fn
ZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFBvaW50ZXIob2Zmc2V0ICsgY29kZWMua1N0cnVjdEhl
YWRlclNpemUgKyAwLCBkZXZpY2UkLlVzYkRldmljZUluZm8sIGZhbHNlKTsKLSAgICBpZiAoZXJy
ICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7
Ci0KLSAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwotICB9OwotCi0g
IFVzYkRldmljZU1hbmFnZXJDbGllbnRfT25EZXZpY2VSZW1vdmVkX1BhcmFtcy5lbmNvZGVkU2l6
ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgODsKLQotICBVc2JEZXZpY2VNYW5hZ2VyQ2xp
ZW50X09uRGV2aWNlUmVtb3ZlZF9QYXJhbXMuZGVjb2RlID0gZnVuY3Rpb24oZGVjb2Rlcikgewot
ICAgIHZhciBwYWNrZWQ7Ci0gICAgdmFyIHZhbCA9IG5ldyBVc2JEZXZpY2VNYW5hZ2VyQ2xpZW50
X09uRGV2aWNlUmVtb3ZlZF9QYXJhbXMoKTsKLSAgICB2YXIgbnVtYmVyT2ZCeXRlcyA9IGRlY29k
ZXIucmVhZFVpbnQzMigpOwotICAgIHZhciB2ZXJzaW9uID0gZGVjb2Rlci5yZWFkVWludDMyKCk7
Ci0gICAgdmFsLmRldmljZUluZm8gPSBkZWNvZGVyLmRlY29kZVN0cnVjdFBvaW50ZXIoZGV2aWNl
JC5Vc2JEZXZpY2VJbmZvKTsKLSAgICByZXR1cm4gdmFsOwotICB9OwotCi0gIFVzYkRldmljZU1h
bmFnZXJDbGllbnRfT25EZXZpY2VSZW1vdmVkX1BhcmFtcy5lbmNvZGUgPSBmdW5jdGlvbihlbmNv
ZGVyLCB2YWwpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoVXNi
RGV2aWNlTWFuYWdlckNsaWVudF9PbkRldmljZVJlbW92ZWRfUGFyYW1zLmVuY29kZWRTaXplKTsK
LSAgICBlbmNvZGVyLndyaXRlVWludDMyKDApOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0UG9p
bnRlcihkZXZpY2UkLlVzYkRldmljZUluZm8sIHZhbC5kZXZpY2VJbmZvKTsKLSAgfTsKLSAgdmFy
IGtVc2JEZXZpY2VNYW5hZ2VyQ2xpZW50X09uRGV2aWNlQWRkZWRfTmFtZSA9IDA7Ci0gIHZhciBr
VXNiRGV2aWNlTWFuYWdlckNsaWVudF9PbkRldmljZVJlbW92ZWRfTmFtZSA9IDE7Ci0KLSAgZnVu
Y3Rpb24gVXNiRGV2aWNlTWFuYWdlckNsaWVudFB0cihoYW5kbGVPclB0ckluZm8pIHsKLSAgICB0
aGlzLnB0ciA9IG5ldyBiaW5kaW5ncy5JbnRlcmZhY2VQdHJDb250cm9sbGVyKFVzYkRldmljZU1h
bmFnZXJDbGllbnQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBoYW5kbGVPclB0ckluZm8pOwotICB9Ci0KLSAgZnVuY3Rpb24gVXNiRGV2aWNlTWFu
YWdlckNsaWVudEFzc29jaWF0ZWRQdHIoYXNzb2NpYXRlZEludGVyZmFjZVB0ckluZm8pIHsKLSAg
ICB0aGlzLnB0ciA9IG5ldyBhc3NvY2lhdGVkQmluZGluZ3MuQXNzb2NpYXRlZEludGVyZmFjZVB0
ckNvbnRyb2xsZXIoCi0gICAgICAgIFVzYkRldmljZU1hbmFnZXJDbGllbnQsIGFzc29jaWF0ZWRJ
bnRlcmZhY2VQdHJJbmZvKTsKLSAgfQotCi0gIFVzYkRldmljZU1hbmFnZXJDbGllbnRBc3NvY2lh
dGVkUHRyLnByb3RvdHlwZSA9Ci0gICAgICBPYmplY3QuY3JlYXRlKFVzYkRldmljZU1hbmFnZXJD
bGllbnRQdHIucHJvdG90eXBlKTsKLSAgVXNiRGV2aWNlTWFuYWdlckNsaWVudEFzc29jaWF0ZWRQ
dHIucHJvdG90eXBlLmNvbnN0cnVjdG9yID0KLSAgICAgIFVzYkRldmljZU1hbmFnZXJDbGllbnRB
c3NvY2lhdGVkUHRyOwotCi0gIGZ1bmN0aW9uIFVzYkRldmljZU1hbmFnZXJDbGllbnRQcm94eShy
ZWNlaXZlcikgewotICAgIHRoaXMucmVjZWl2ZXJfID0gcmVjZWl2ZXI7Ci0gIH0KLSAgVXNiRGV2
aWNlTWFuYWdlckNsaWVudFB0ci5wcm90b3R5cGUub25EZXZpY2VBZGRlZCA9IGZ1bmN0aW9uKCkg
ewotICAgIHJldHVybiBVc2JEZXZpY2VNYW5hZ2VyQ2xpZW50UHJveHkucHJvdG90eXBlLm9uRGV2
aWNlQWRkZWQKLSAgICAgICAgLmFwcGx5KHRoaXMucHRyLmdldFByb3h5KCksIGFyZ3VtZW50cyk7
Ci0gIH07Ci0KLSAgVXNiRGV2aWNlTWFuYWdlckNsaWVudFByb3h5LnByb3RvdHlwZS5vbkRldmlj
ZUFkZGVkID0gZnVuY3Rpb24oZGV2aWNlSW5mbykgewotICAgIHZhciBwYXJhbXNfID0gbmV3IFVz
YkRldmljZU1hbmFnZXJDbGllbnRfT25EZXZpY2VBZGRlZF9QYXJhbXMoKTsKLSAgICBwYXJhbXNf
LmRldmljZUluZm8gPSBkZXZpY2VJbmZvOwotICAgIHZhciBidWlsZGVyID0gbmV3IGNvZGVjLk1l
c3NhZ2VWMEJ1aWxkZXIoCi0gICAgICAgIGtVc2JEZXZpY2VNYW5hZ2VyQ2xpZW50X09uRGV2aWNl
QWRkZWRfTmFtZSwKLSAgICAgICAgY29kZWMuYWxpZ24oVXNiRGV2aWNlTWFuYWdlckNsaWVudF9P
bkRldmljZUFkZGVkX1BhcmFtcy5lbmNvZGVkU2l6ZSkpOwotICAgIGJ1aWxkZXIuZW5jb2RlU3Ry
dWN0KFVzYkRldmljZU1hbmFnZXJDbGllbnRfT25EZXZpY2VBZGRlZF9QYXJhbXMsIHBhcmFtc18p
OwotICAgIHZhciBtZXNzYWdlID0gYnVpbGRlci5maW5pc2goKTsKLSAgICB0aGlzLnJlY2VpdmVy
Xy5hY2NlcHQobWVzc2FnZSk7Ci0gIH07Ci0gIFVzYkRldmljZU1hbmFnZXJDbGllbnRQdHIucHJv
dG90eXBlLm9uRGV2aWNlUmVtb3ZlZCA9IGZ1bmN0aW9uKCkgewotICAgIHJldHVybiBVc2JEZXZp
Y2VNYW5hZ2VyQ2xpZW50UHJveHkucHJvdG90eXBlLm9uRGV2aWNlUmVtb3ZlZAotICAgICAgICAu
YXBwbHkodGhpcy5wdHIuZ2V0UHJveHkoKSwgYXJndW1lbnRzKTsKLSAgfTsKLQotICBVc2JEZXZp
Y2VNYW5hZ2VyQ2xpZW50UHJveHkucHJvdG90eXBlLm9uRGV2aWNlUmVtb3ZlZCA9IGZ1bmN0aW9u
KGRldmljZUluZm8pIHsKLSAgICB2YXIgcGFyYW1zXyA9IG5ldyBVc2JEZXZpY2VNYW5hZ2VyQ2xp
ZW50X09uRGV2aWNlUmVtb3ZlZF9QYXJhbXMoKTsKLSAgICBwYXJhbXNfLmRldmljZUluZm8gPSBk
ZXZpY2VJbmZvOwotICAgIHZhciBidWlsZGVyID0gbmV3IGNvZGVjLk1lc3NhZ2VWMEJ1aWxkZXIo
Ci0gICAgICAgIGtVc2JEZXZpY2VNYW5hZ2VyQ2xpZW50X09uRGV2aWNlUmVtb3ZlZF9OYW1lLAot
ICAgICAgICBjb2RlYy5hbGlnbihVc2JEZXZpY2VNYW5hZ2VyQ2xpZW50X09uRGV2aWNlUmVtb3Zl
ZF9QYXJhbXMuZW5jb2RlZFNpemUpKTsKLSAgICBidWlsZGVyLmVuY29kZVN0cnVjdChVc2JEZXZp
Y2VNYW5hZ2VyQ2xpZW50X09uRGV2aWNlUmVtb3ZlZF9QYXJhbXMsIHBhcmFtc18pOwotICAgIHZh
ciBtZXNzYWdlID0gYnVpbGRlci5maW5pc2goKTsKLSAgICB0aGlzLnJlY2VpdmVyXy5hY2NlcHQo
bWVzc2FnZSk7Ci0gIH07Ci0KLSAgZnVuY3Rpb24gVXNiRGV2aWNlTWFuYWdlckNsaWVudFN0dWIo
ZGVsZWdhdGUpIHsKLSAgICB0aGlzLmRlbGVnYXRlXyA9IGRlbGVnYXRlOwotICB9Ci0gIFVzYkRl
dmljZU1hbmFnZXJDbGllbnRTdHViLnByb3RvdHlwZS5vbkRldmljZUFkZGVkID0gZnVuY3Rpb24o
ZGV2aWNlSW5mbykgewotICAgIHJldHVybiB0aGlzLmRlbGVnYXRlXyAmJiB0aGlzLmRlbGVnYXRl
Xy5vbkRldmljZUFkZGVkICYmIHRoaXMuZGVsZWdhdGVfLm9uRGV2aWNlQWRkZWQoZGV2aWNlSW5m
byk7Ci0gIH0KLSAgVXNiRGV2aWNlTWFuYWdlckNsaWVudFN0dWIucHJvdG90eXBlLm9uRGV2aWNl
UmVtb3ZlZCA9IGZ1bmN0aW9uKGRldmljZUluZm8pIHsKLSAgICByZXR1cm4gdGhpcy5kZWxlZ2F0
ZV8gJiYgdGhpcy5kZWxlZ2F0ZV8ub25EZXZpY2VSZW1vdmVkICYmIHRoaXMuZGVsZWdhdGVfLm9u
RGV2aWNlUmVtb3ZlZChkZXZpY2VJbmZvKTsKLSAgfQotCi0gIFVzYkRldmljZU1hbmFnZXJDbGll
bnRTdHViLnByb3RvdHlwZS5hY2NlcHQgPSBmdW5jdGlvbihtZXNzYWdlKSB7Ci0gICAgdmFyIHJl
YWRlciA9IG5ldyBjb2RlYy5NZXNzYWdlUmVhZGVyKG1lc3NhZ2UpOwotICAgIHN3aXRjaCAocmVh
ZGVyLm1lc3NhZ2VOYW1lKSB7Ci0gICAgY2FzZSBrVXNiRGV2aWNlTWFuYWdlckNsaWVudF9PbkRl
dmljZUFkZGVkX05hbWU6Ci0gICAgICB2YXIgcGFyYW1zID0gcmVhZGVyLmRlY29kZVN0cnVjdChV
c2JEZXZpY2VNYW5hZ2VyQ2xpZW50X09uRGV2aWNlQWRkZWRfUGFyYW1zKTsKLSAgICAgIHRoaXMu
b25EZXZpY2VBZGRlZChwYXJhbXMuZGV2aWNlSW5mbyk7Ci0gICAgICByZXR1cm4gdHJ1ZTsKLSAg
ICBjYXNlIGtVc2JEZXZpY2VNYW5hZ2VyQ2xpZW50X09uRGV2aWNlUmVtb3ZlZF9OYW1lOgotICAg
ICAgdmFyIHBhcmFtcyA9IHJlYWRlci5kZWNvZGVTdHJ1Y3QoVXNiRGV2aWNlTWFuYWdlckNsaWVu
dF9PbkRldmljZVJlbW92ZWRfUGFyYW1zKTsKLSAgICAgIHRoaXMub25EZXZpY2VSZW1vdmVkKHBh
cmFtcy5kZXZpY2VJbmZvKTsKLSAgICAgIHJldHVybiB0cnVlOwotICAgIGRlZmF1bHQ6Ci0gICAg
ICByZXR1cm4gZmFsc2U7Ci0gICAgfQotICB9OwotCi0gIFVzYkRldmljZU1hbmFnZXJDbGllbnRT
dHViLnByb3RvdHlwZS5hY2NlcHRXaXRoUmVzcG9uZGVyID0KLSAgICAgIGZ1bmN0aW9uKG1lc3Nh
Z2UsIHJlc3BvbmRlcikgewotICAgIHZhciByZWFkZXIgPSBuZXcgY29kZWMuTWVzc2FnZVJlYWRl
cihtZXNzYWdlKTsKLSAgICBzd2l0Y2ggKHJlYWRlci5tZXNzYWdlTmFtZSkgewotICAgIGRlZmF1
bHQ6Ci0gICAgICByZXR1cm4gZmFsc2U7Ci0gICAgfQotICB9OwotCi0gIGZ1bmN0aW9uIHZhbGlk
YXRlVXNiRGV2aWNlTWFuYWdlckNsaWVudFJlcXVlc3QobWVzc2FnZVZhbGlkYXRvcikgewotICAg
IHZhciBtZXNzYWdlID0gbWVzc2FnZVZhbGlkYXRvci5tZXNzYWdlOwotICAgIHZhciBwYXJhbXND
bGFzcyA9IG51bGw7Ci0gICAgc3dpdGNoIChtZXNzYWdlLmdldE5hbWUoKSkgewotICAgICAgY2Fz
ZSBrVXNiRGV2aWNlTWFuYWdlckNsaWVudF9PbkRldmljZUFkZGVkX05hbWU6Ci0gICAgICAgIGlm
ICghbWVzc2FnZS5leHBlY3RzUmVzcG9uc2UoKSAmJiAhbWVzc2FnZS5pc1Jlc3BvbnNlKCkpCi0g
ICAgICAgICAgcGFyYW1zQ2xhc3MgPSBVc2JEZXZpY2VNYW5hZ2VyQ2xpZW50X09uRGV2aWNlQWRk
ZWRfUGFyYW1zOwotICAgICAgYnJlYWs7Ci0gICAgICBjYXNlIGtVc2JEZXZpY2VNYW5hZ2VyQ2xp
ZW50X09uRGV2aWNlUmVtb3ZlZF9OYW1lOgotICAgICAgICBpZiAoIW1lc3NhZ2UuZXhwZWN0c1Jl
c3BvbnNlKCkgJiYgIW1lc3NhZ2UuaXNSZXNwb25zZSgpKQotICAgICAgICAgIHBhcmFtc0NsYXNz
ID0gVXNiRGV2aWNlTWFuYWdlckNsaWVudF9PbkRldmljZVJlbW92ZWRfUGFyYW1zOwotICAgICAg
YnJlYWs7Ci0gICAgfQotICAgIGlmIChwYXJhbXNDbGFzcyA9PT0gbnVsbCkKLSAgICAgIHJldHVy
biB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gICAgcmV0dXJuIHBhcmFtc0NsYXNz
LnZhbGlkYXRlKG1lc3NhZ2VWYWxpZGF0b3IsIG1lc3NhZ2VWYWxpZGF0b3IubWVzc2FnZS5nZXRI
ZWFkZXJOdW1CeXRlcygpKTsKLSAgfQotCi0gIGZ1bmN0aW9uIHZhbGlkYXRlVXNiRGV2aWNlTWFu
YWdlckNsaWVudFJlc3BvbnNlKG1lc3NhZ2VWYWxpZGF0b3IpIHsKLSAgICByZXR1cm4gdmFsaWRh
dG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwotICB9Ci0KLSAgdmFyIFVzYkRldmljZU1hbmFnZXJD
bGllbnQgPSB7Ci0gICAgbmFtZTogJ2RldmljZS5tb2pvbS5Vc2JEZXZpY2VNYW5hZ2VyQ2xpZW50
JywKLSAgICBrVmVyc2lvbjogMCwKLSAgICBwdHJDbGFzczogVXNiRGV2aWNlTWFuYWdlckNsaWVu
dFB0ciwKLSAgICBwcm94eUNsYXNzOiBVc2JEZXZpY2VNYW5hZ2VyQ2xpZW50UHJveHksCi0gICAg
c3R1YkNsYXNzOiBVc2JEZXZpY2VNYW5hZ2VyQ2xpZW50U3R1YiwKLSAgICB2YWxpZGF0ZVJlcXVl
c3Q6IHZhbGlkYXRlVXNiRGV2aWNlTWFuYWdlckNsaWVudFJlcXVlc3QsCi0gICAgdmFsaWRhdGVS
ZXNwb25zZTogbnVsbCwKLSAgfTsKLSAgVXNiRGV2aWNlTWFuYWdlckNsaWVudFN0dWIucHJvdG90
eXBlLnZhbGlkYXRvciA9IHZhbGlkYXRlVXNiRGV2aWNlTWFuYWdlckNsaWVudFJlcXVlc3Q7Ci0g
IFVzYkRldmljZU1hbmFnZXJDbGllbnRQcm94eS5wcm90b3R5cGUudmFsaWRhdG9yID0gbnVsbDsK
LSAgZXhwb3J0cy5Vc2JEZXZpY2VNYW5hZ2VyQ2xpZW50ID0gVXNiRGV2aWNlTWFuYWdlckNsaWVu
dDsKLSAgZXhwb3J0cy5Vc2JEZXZpY2VNYW5hZ2VyQ2xpZW50UHRyID0gVXNiRGV2aWNlTWFuYWdl
ckNsaWVudFB0cjsKLSAgZXhwb3J0cy5Vc2JEZXZpY2VNYW5hZ2VyQ2xpZW50QXNzb2NpYXRlZFB0
ciA9IFVzYkRldmljZU1hbmFnZXJDbGllbnRBc3NvY2lhdGVkUHRyOwotfSkoKTsKXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS9kZXZpY2VfbWFuYWdlcl9jbGll
bnQubW9qb20uanMuaGVhZGVycyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL2RldmljZV9tYW5hZ2VyX2NsaWVudC5tb2pvbS5q
cy5oZWFkZXJzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2YzYxYTM0YTRlYy4uMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvY2hyb21pdW0vZGV2aWNlX21hbmFnZXJfY2xpZW50Lm1vam9tLmpzLmhlYWRl
cnMKKysrIC9kZXYvbnVsbApAQCAtMSArMCwwIEBACi1Db250ZW50LVR5cGU6IHRleHQvamF2YXNj
cmlwdDsgY2hhcnNldD11dGYtOApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L2Nocm9taXVtL2dlbmVyaWNfc2Vuc29yX21vY2tzLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vZ2VuZXJpY19zZW5zb3Jf
bW9ja3MuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDVlOTAyZjI1MjNkLi4wMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy9jaHJvbWl1bS9nZW5lcmljX3NlbnNvcl9tb2Nrcy5qcworKysgL2Rldi9udWxs
CkBAIC0xLDM0NyArMCwwIEBACi0ndXNlIHN0cmljdCc7Ci0KLXZhciBHZW5lcmljU2Vuc29yVGVz
dCA9ICgoKSA9PiB7Ci0gIC8vIERlZmF1bHQgc2Vuc29yIGZyZXF1ZW5jeSBpbiBkZWZhdWx0IGNv
bmZpZ3VyYXRpb25zLgotICBjb25zdCBERUZBVUxUX0ZSRVFVRU5DWSA9IDU7Ci0KLSAgLy8gQ2xh
c3MgdGhhdCBtb2NrcyBTZW5zb3IgaW50ZXJmYWNlIGRlZmluZWQgaW4KLSAgLy8gaHR0cHM6Ly9j
cy5jaHJvbWl1bS5vcmcvY2hyb21pdW0vc3JjL3NlcnZpY2VzL2RldmljZS9wdWJsaWMvbW9qb20v
c2Vuc29yLm1vam9tCi0gIGNsYXNzIE1vY2tTZW5zb3IgewotICAgIGNvbnN0cnVjdG9yKHNlbnNv
clJlcXVlc3QsIGhhbmRsZSwgb2Zmc2V0LCBzaXplLCByZXBvcnRpbmdNb2RlKSB7Ci0gICAgICB0
aGlzLmNsaWVudF8gPSBudWxsOwotICAgICAgdGhpcy5zdGFydFNob3VsZEZhaWxfID0gZmFsc2U7
Ci0gICAgICB0aGlzLnJlcG9ydGluZ01vZGVfID0gcmVwb3J0aW5nTW9kZTsKLSAgICAgIHRoaXMu
c2Vuc29yUmVhZGluZ1RpbWVySWRfID0gbnVsbDsKLSAgICAgIHRoaXMucmVhZGluZ0RhdGFfID0g
bnVsbDsKLSAgICAgIHRoaXMucmVxdWVzdGVkRnJlcXVlbmNpZXNfID0gW107Ci0gICAgICBsZXQg
cnYgPSBoYW5kbGUubWFwQnVmZmVyKG9mZnNldCwgc2l6ZSk7Ci0gICAgICBhc3NlcnRfZXF1YWxz
KHJ2LnJlc3VsdCwgTW9qby5SRVNVTFRfT0ssICJGYWlsZWQgdG8gbWFwIHNoYXJlZCBidWZmZXIi
KTsKLSAgICAgIHRoaXMuYnVmZmVyXyA9IG5ldyBGbG9hdDY0QXJyYXkocnYuYnVmZmVyKTsKLSAg
ICAgIHRoaXMuYnVmZmVyXy5maWxsKDApOwotICAgICAgdGhpcy5iaW5kaW5nXyA9IG5ldyBtb2pv
LkJpbmRpbmcoZGV2aWNlLm1vam9tLlNlbnNvciwgdGhpcywKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHNlbnNvclJlcXVlc3QpOwotICAgICAgdGhpcy5iaW5kaW5nXy5z
ZXRDb25uZWN0aW9uRXJyb3JIYW5kbGVyKCgpID0+IHsKLSAgICAgICAgdGhpcy5yZXNldCgpOwot
ICAgICAgfSk7Ci0gICAgfQotCi0gICAgLy8gUmV0dXJucyBkZWZhdWx0IGNvbmZpZ3VyYXRpb24u
Ci0gICAgYXN5bmMgZ2V0RGVmYXVsdENvbmZpZ3VyYXRpb24oKSB7Ci0gICAgICByZXR1cm4geyBm
cmVxdWVuY3k6IERFRkFVTFRfRlJFUVVFTkNZIH07Ci0gICAgfQotCi0gICAgLy8gQWRkcyBjb25m
aWd1cmF0aW9uIGZvciB0aGUgc2Vuc29yIGFuZCBzdGFydHMgcmVwb3J0aW5nIGZha2UgZGF0YQot
ICAgIC8vIHRocm91Z2ggc2V0U2Vuc29yUmVhZGluZyBmdW5jdGlvbi4KLSAgICBhc3luYyBhZGRD
b25maWd1cmF0aW9uKGNvbmZpZ3VyYXRpb24pIHsKLSAgICAgIGFzc2VydF9ub3RfZXF1YWxzKGNv
bmZpZ3VyYXRpb24sIG51bGwsICJJbnZhbGlkIHNlbnNvciBjb25maWd1cmF0aW9uLiIpOwotCi0g
ICAgICB0aGlzLnJlcXVlc3RlZEZyZXF1ZW5jaWVzXy5wdXNoKGNvbmZpZ3VyYXRpb24uZnJlcXVl
bmN5KTsKLSAgICAgIC8vIFNvcnQgdXNpbmcgZGVzY2VuZGluZyBvcmRlci4KLSAgICAgIHRoaXMu
cmVxdWVzdGVkRnJlcXVlbmNpZXNfLnNvcnQoCi0gICAgICAgICAgKGZpcnN0LCBzZWNvbmQpID0+
IHsgcmV0dXJuIHNlY29uZCAtIGZpcnN0IH0pOwotCi0gICAgICBpZiAoIXRoaXMuc3RhcnRTaG91
bGRGYWlsXyApCi0gICAgICAgIHRoaXMuc3RhcnRSZWFkaW5nKCk7Ci0KLSAgICAgIHJldHVybiB7
IHN1Y2Nlc3M6ICF0aGlzLnN0YXJ0U2hvdWxkRmFpbF8gfTsKLSAgICB9Ci0KLSAgICAvLyBSZW1v
dmVzIHNlbnNvciBjb25maWd1cmF0aW9uIGZyb20gdGhlIGxpc3Qgb2YgYWN0aXZlIGNvbmZpZ3Vy
YXRpb25zIGFuZAotICAgIC8vIHN0b3BzIG5vdGlmaWNhdGlvbiBhYm91dCBzZW5zb3IgcmVhZGlu
ZyBjaGFuZ2VzIGlmCi0gICAgLy8gcmVxdWVzdGVkRnJlcXVlbmNpZXNfIGlzIGVtcHR5LgotICAg
IHJlbW92ZUNvbmZpZ3VyYXRpb24oY29uZmlndXJhdGlvbikgewotICAgICAgY29uc3QgaW5kZXgg
PSB0aGlzLnJlcXVlc3RlZEZyZXF1ZW5jaWVzXy5pbmRleE9mKGNvbmZpZ3VyYXRpb24uZnJlcXVl
bmN5KTsKLSAgICAgIGlmIChpbmRleCA9PSAtMSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgICB0
aGlzLnJlcXVlc3RlZEZyZXF1ZW5jaWVzXy5zcGxpY2UoaW5kZXgsIDEpOwotICAgICAgaWYgKHRo
aXMucmVxdWVzdGVkRnJlcXVlbmNpZXNfLmxlbmd0aCA9PT0gMCkKLSAgICAgICAgdGhpcy5zdG9w
UmVhZGluZygpOwotICAgIH0KLQotICAgIC8vIE1vY2sgZnVuY3Rpb25zCi0KLSAgICAvLyBSZXNl
dHMgbW9jayBTZW5zb3Igc3RhdGUuCi0gICAgcmVzZXQoKSB7Ci0gICAgICB0aGlzLnN0b3BSZWFk
aW5nKCk7Ci0gICAgICB0aGlzLnN0YXJ0U2hvdWxkRmFpbF8gPSBmYWxzZTsKLSAgICAgIHRoaXMu
cmVxdWVzdGVkRnJlcXVlbmNpZXNfID0gW107Ci0gICAgICB0aGlzLnJlYWRpbmdEYXRhXyA9IG51
bGw7Ci0gICAgICB0aGlzLmJ1ZmZlcl8uZmlsbCgwKTsKLSAgICAgIHRoaXMuYmluZGluZ18uY2xv
c2UoKTsKLSAgICB9Ci0KLSAgICAvLyBTZXRzIGZha2UgZGF0YSB0aGF0IGlzIHVzZWQgdG8gZGVs
aXZlciBzZW5zb3IgcmVhZGluZyB1cGRhdGVzLgotICAgIGFzeW5jIHNldFNlbnNvclJlYWRpbmco
cmVhZGluZ0RhdGEpIHsKLSAgICAgIHRoaXMucmVhZGluZ0RhdGFfID0gbmV3IFJpbmdCdWZmZXIo
cmVhZGluZ0RhdGEpOwotICAgICAgcmV0dXJuIHRoaXM7Ci0gICAgfQotCi0gICAgLy8gU2V0cyBm
bGFnIHRoYXQgZm9yY2VzIHNlbnNvciB0byBmYWlsIHdoZW4gYWRkQ29uZmlndXJhdGlvbiBpcyBp
bnZva2VkLgotICAgIHNldFN0YXJ0U2hvdWxkRmFpbChzaG91bGRGYWlsKSB7Ci0gICAgICB0aGlz
LnN0YXJ0U2hvdWxkRmFpbF8gPSBzaG91bGRGYWlsOwotICAgIH0KLQotICAgIHN0YXJ0UmVhZGlu
ZygpIHsKLSAgICAgIGlmICh0aGlzLnJlYWRpbmdEYXRhXyAhPSBudWxsKSB7Ci0gICAgICAgIHRo
aXMuc3RvcFJlYWRpbmcoKTsKLSAgICAgIH0KLSAgICAgIGxldCBtYXhGcmVxdWVuY3lVc2VkID0g
dGhpcy5yZXF1ZXN0ZWRGcmVxdWVuY2llc19bMF07Ci0gICAgICBsZXQgdGltZW91dCA9ICgxIC8g
bWF4RnJlcXVlbmN5VXNlZCkgKiAxMDAwOwotICAgICAgdGhpcy5zZW5zb3JSZWFkaW5nVGltZXJJ
ZF8gPSB3aW5kb3cuc2V0SW50ZXJ2YWwoKCkgPT4gewotICAgICAgICBpZiAodGhpcy5yZWFkaW5n
RGF0YV8pIHsKLSAgICAgICAgICAvLyB8YnVmZmVyX3wgaXMgYSBUeXBlZEFycmF5LCBzbyB3ZSBu
ZWVkIHRvIG1ha2Ugc3VyZSBwYXNzIGFuCi0gICAgICAgICAgLy8gYXJyYXkgdG8gc2V0KCkuCi0g
ICAgICAgICAgY29uc3QgcmVhZGluZyA9IHRoaXMucmVhZGluZ0RhdGFfLm5leHQoKS52YWx1ZTsK
LSAgICAgICAgICBhc3NlcnRfdHJ1ZShBcnJheS5pc0FycmF5KHJlYWRpbmcpLCAiVGhlIHJlYWRp
bmdzIHBhc3NlZCB0byAiICsKLSAgICAgICAgICAgICAgInNldFNlbnNvclJlYWRpbmcoKSBtdXN0
IGJlIGFycmF5cy4iKTsKLSAgICAgICAgICB0aGlzLmJ1ZmZlcl8uc2V0KHJlYWRpbmcsIDIpOwot
ICAgICAgICB9Ci0gICAgICAgIC8vIEZvciBhbGwgdGVzdHMgc2Vuc29yIHJlYWRpbmcgc2hvdWxk
IGhhdmUgbW9ub3RvbmljYWxseQotICAgICAgICAvLyBpbmNyZWFzaW5nIHRpbWVzdGFtcCBpbiBz
ZWNvbmRzLgotICAgICAgICB0aGlzLmJ1ZmZlcl9bMV0gPSB3aW5kb3cucGVyZm9ybWFuY2Uubm93
KCkgKiAwLjAwMTsKLSAgICAgICAgaWYgKHRoaXMucmVwb3J0aW5nTW9kZV8gPT09IGRldmljZS5t
b2pvbS5SZXBvcnRpbmdNb2RlLk9OX0NIQU5HRSkgewotICAgICAgICAgIHRoaXMuY2xpZW50Xy5z
ZW5zb3JSZWFkaW5nQ2hhbmdlZCgpOwotICAgICAgICB9Ci0gICAgICB9LCB0aW1lb3V0KTsKLSAg
ICB9Ci0KLSAgICBzdG9wUmVhZGluZygpIHsKLSAgICAgIGlmICh0aGlzLnNlbnNvclJlYWRpbmdU
aW1lcklkXyAhPSBudWxsKSB7Ci0gICAgICAgIHdpbmRvdy5jbGVhckludGVydmFsKHRoaXMuc2Vu
c29yUmVhZGluZ1RpbWVySWRfKTsKLSAgICAgICAgdGhpcy5zZW5zb3JSZWFkaW5nVGltZXJJZF8g
PSBudWxsOwotICAgICAgfQotICAgIH0KLQotICAgIGdldFNhbXBsaW5nRnJlcXVlbmN5KCkgewot
ICAgICAgIGFzc2VydF90cnVlKHRoaXMucmVxdWVzdGVkRnJlcXVlbmNpZXNfLmxlbmd0aCA+IDAp
OwotICAgICAgIHJldHVybiB0aGlzLnJlcXVlc3RlZEZyZXF1ZW5jaWVzX1swXTsKLSAgICB9Ci0g
IH0KLQotICAvLyBDbGFzcyB0aGF0IG1vY2tzIFNlbnNvclByb3ZpZGVyIGludGVyZmFjZSBkZWZp
bmVkIGluCi0gIC8vIGh0dHBzOi8vY3MuY2hyb21pdW0ub3JnL2Nocm9taXVtL3NyYy9zZXJ2aWNl
cy9kZXZpY2UvcHVibGljL21vam9tL3NlbnNvcl9wcm92aWRlci5tb2pvbQotICBjbGFzcyBNb2Nr
U2Vuc29yUHJvdmlkZXIgewotICAgIGNvbnN0cnVjdG9yKCkgewotICAgICAgdGhpcy5yZWFkaW5n
U2l6ZUluQnl0ZXNfID0KLSAgICAgICAgICBkZXZpY2UubW9qb20uU2Vuc29ySW5pdFBhcmFtcy5S
RUFEX0JVRkZFUl9TSVpFX0ZPUl9URVNUUzsKLSAgICAgIHRoaXMuc2hhcmVkQnVmZmVyU2l6ZUlu
Qnl0ZXNfID0gdGhpcy5yZWFkaW5nU2l6ZUluQnl0ZXNfICoKLSAgICAgICAgICAgICAgKGRldmlj
ZS5tb2pvbS5TZW5zb3JUeXBlLk1BWF9WQUxVRSArIDEpOwotICAgICAgY29uc3QgcnYgPSBNb2pv
LmNyZWF0ZVNoYXJlZEJ1ZmZlcih0aGlzLnNoYXJlZEJ1ZmZlclNpemVJbkJ5dGVzXyk7Ci0gICAg
ICBhc3NlcnRfZXF1YWxzKHJ2LnJlc3VsdCwgTW9qby5SRVNVTFRfT0ssICJGYWlsZWQgdG8gY3Jl
YXRlIGJ1ZmZlciIpOwotICAgICAgdGhpcy5zaGFyZWRCdWZmZXJIYW5kbGVfID0gcnYuaGFuZGxl
OwotICAgICAgdGhpcy5hY3RpdmVTZW5zb3JzXyA9IG5ldyBNYXAoKTsKLSAgICAgIHRoaXMucmVz
b2x2ZUZ1bmNzXyA9IG5ldyBNYXAoKTsKLSAgICAgIHRoaXMuZ2V0U2Vuc29yU2hvdWxkRmFpbF8g
PSBuZXcgTWFwKCk7Ci0gICAgICB0aGlzLnBlcm1pc3Npb25zRGVuaWVkXyA9IG5ldyBNYXAoKTsK
LSAgICAgIHRoaXMubWF4RnJlcXVlbmN5XyA9IDYwOwotICAgICAgdGhpcy5taW5GcmVxdWVuY3lf
ID0gMTsKLSAgICAgIHRoaXMubW9qb21TZW5zb3JUeXBlXyA9IG5ldyBNYXAoWwotICAgICAgICBb
J0FjY2VsZXJvbWV0ZXInLCBkZXZpY2UubW9qb20uU2Vuc29yVHlwZS5BQ0NFTEVST01FVEVSXSwK
LSAgICAgICAgWydMaW5lYXJBY2NlbGVyYXRpb25TZW5zb3InLAotICAgICAgICAgICAgZGV2aWNl
Lm1vam9tLlNlbnNvclR5cGUuTElORUFSX0FDQ0VMRVJBVElPTl0sCi0gICAgICAgIFsnQW1iaWVu
dExpZ2h0U2Vuc29yJywgZGV2aWNlLm1vam9tLlNlbnNvclR5cGUuQU1CSUVOVF9MSUdIVF0sCi0g
ICAgICAgIFsnR3lyb3Njb3BlJywgZGV2aWNlLm1vam9tLlNlbnNvclR5cGUuR1lST1NDT1BFXSwK
LSAgICAgICAgWydNYWduZXRvbWV0ZXInLCBkZXZpY2UubW9qb20uU2Vuc29yVHlwZS5NQUdORVRP
TUVURVJdLAotICAgICAgICBbJ0Fic29sdXRlT3JpZW50YXRpb25TZW5zb3InLAotICAgICAgICAg
ICAgZGV2aWNlLm1vam9tLlNlbnNvclR5cGUuQUJTT0xVVEVfT1JJRU5UQVRJT05fUVVBVEVSTklP
Tl0sCi0gICAgICAgIFsnQWJzb2x1dGVPcmllbnRhdGlvbkV1bGVyQW5nbGVzJywKLSAgICAgICAg
ICAgIGRldmljZS5tb2pvbS5TZW5zb3JUeXBlLkFCU09MVVRFX09SSUVOVEFUSU9OX0VVTEVSX0FO
R0xFU10sCi0gICAgICAgIFsnUmVsYXRpdmVPcmllbnRhdGlvblNlbnNvcicsCi0gICAgICAgICAg
ICBkZXZpY2UubW9qb20uU2Vuc29yVHlwZS5SRUxBVElWRV9PUklFTlRBVElPTl9RVUFURVJOSU9O
XSwKLSAgICAgICAgWydSZWxhdGl2ZU9yaWVudGF0aW9uRXVsZXJBbmdsZXMnLAotICAgICAgICAg
ICAgZGV2aWNlLm1vam9tLlNlbnNvclR5cGUuUkVMQVRJVkVfT1JJRU5UQVRJT05fRVVMRVJfQU5H
TEVTXSwKLSAgICAgICAgWydQcm94aW1pdHlTZW5zb3InLCBkZXZpY2UubW9qb20uU2Vuc29yVHlw
ZS5QUk9YSU1JVFldCi0gICAgICBdKTsKLSAgICAgIHRoaXMuYmluZGluZ18gPSBuZXcgbW9qby5C
aW5kaW5nKGRldmljZS5tb2pvbS5TZW5zb3JQcm92aWRlciwgdGhpcyk7Ci0KLSAgICAgIHRoaXMu
aW50ZXJjZXB0b3JfID0gbmV3IE1vam9JbnRlcmZhY2VJbnRlcmNlcHRvcigKLSAgICAgICAgICBk
ZXZpY2UubW9qb20uU2Vuc29yUHJvdmlkZXIubmFtZSwgImNvbnRleHQiLCB0cnVlKTsKLSAgICAg
IHRoaXMuaW50ZXJjZXB0b3JfLm9uaW50ZXJmYWNlcmVxdWVzdCA9IGUgPT4gewotICAgICAgICB0
aGlzLmJpbmRUb1BpcGUoZS5oYW5kbGUpOwotICAgICAgfTsKLSAgICAgIHRoaXMuaW50ZXJjZXB0
b3JfLnN0YXJ0KCk7Ci0gICAgfQotCi0gICAgLy8gUmV0dXJucyBpbml0aWFsaXplZCBTZW5zb3Ig
cHJveHkgdG8gdGhlIGNsaWVudC4KLSAgICBhc3luYyBnZXRTZW5zb3IodHlwZSkgewotICAgICAg
aWYgKHRoaXMuZ2V0U2Vuc29yU2hvdWxkRmFpbF8uZ2V0KHR5cGUpKSB7Ci0gICAgICAgIHJldHVy
biB7cmVzdWx0OiBkZXZpY2UubW9qb20uU2Vuc29yQ3JlYXRpb25SZXN1bHQuRVJST1JfTk9UX0FW
QUlMQUJMRSwKLSAgICAgICAgICAgICAgICBpbml0UGFyYW1zOiBudWxsfTsKLSAgICAgIH0KLSAg
ICAgIGlmICh0aGlzLnBlcm1pc3Npb25zRGVuaWVkXy5nZXQodHlwZSkpIHsKLSAgICAgICAgcmV0
dXJuIHtyZXN1bHQ6IGRldmljZS5tb2pvbS5TZW5zb3JDcmVhdGlvblJlc3VsdC5FUlJPUl9OT1Rf
QUxMT1dFRCwKLSAgICAgICAgICAgICAgICBpbml0UGFyYW1zOiBudWxsfTsKLSAgICAgIH0KLQot
ICAgICAgY29uc3Qgb2Zmc2V0ID0gdHlwZSAqIHRoaXMucmVhZGluZ1NpemVJbkJ5dGVzXzsKLSAg
ICAgIGNvbnN0IHJlcG9ydGluZ01vZGUgPSBkZXZpY2UubW9qb20uUmVwb3J0aW5nTW9kZS5PTl9D
SEFOR0U7Ci0KLSAgICAgIGNvbnN0IHNlbnNvclB0ciA9IG5ldyBkZXZpY2UubW9qb20uU2Vuc29y
UHRyKCk7Ci0gICAgICBpZiAoIXRoaXMuYWN0aXZlU2Vuc29yc18uaGFzKHR5cGUpKSB7Ci0gICAg
ICAgIGNvbnN0IG1vY2tTZW5zb3IgPSBuZXcgTW9ja1NlbnNvcigKLSAgICAgICAgICAgIG1vam8u
bWFrZVJlcXVlc3Qoc2Vuc29yUHRyKSwgdGhpcy5zaGFyZWRCdWZmZXJIYW5kbGVfLCBvZmZzZXQs
Ci0gICAgICAgICAgICB0aGlzLnJlYWRpbmdTaXplSW5CeXRlc18sIHJlcG9ydGluZ01vZGUpOwot
ICAgICAgICB0aGlzLmFjdGl2ZVNlbnNvcnNfLnNldCh0eXBlLCBtb2NrU2Vuc29yKTsKLSAgICAg
ICAgdGhpcy5hY3RpdmVTZW5zb3JzXy5nZXQodHlwZSkuY2xpZW50XyA9Ci0gICAgICAgICAgICBu
ZXcgZGV2aWNlLm1vam9tLlNlbnNvckNsaWVudFB0cigpOwotICAgICAgfQotCi0gICAgICBjb25z
dCBydiA9IHRoaXMuc2hhcmVkQnVmZmVySGFuZGxlXy5kdXBsaWNhdGVCdWZmZXJIYW5kbGUoKTsK
LQotICAgICAgYXNzZXJ0X2VxdWFscyhydi5yZXN1bHQsIE1vam8uUkVTVUxUX09LKTsKLQotICAg
ICAgY29uc3QgZGVmYXVsdENvbmZpZyA9IHsgZnJlcXVlbmN5OiBERUZBVUxUX0ZSRVFVRU5DWSB9
OwotICAgICAgLy8gQ29uc2lkZXIgc2Vuc29yIHRyYWl0cyB0byBtZWV0IGFzc2VydGlvbnMgaW4g
QysrIGNvZGUgKHNlZQotICAgICAgLy8gc2VydmljZXMvZGV2aWNlL3B1YmxpYy9jcHAvZ2VuZXJp
Y19zZW5zb3Ivc2Vuc29yX3RyYWl0cy5oKQotICAgICAgaWYgKHR5cGUgPT0gZGV2aWNlLm1vam9t
LlNlbnNvclR5cGUuQU1CSUVOVF9MSUdIVCB8fAotICAgICAgICAgIHR5cGUgPT0gZGV2aWNlLm1v
am9tLlNlbnNvclR5cGUuTUFHTkVUT01FVEVSKSB7Ci0gICAgICAgIHRoaXMubWF4RnJlcXVlbmN5
XyA9IE1hdGgubWluKDEwLCB0aGlzLm1heEZyZXF1ZW5jeV8pOwotICAgICAgfQotCi0gICAgICAv
LyBDaHJvbWl1bSBhcHBsaWVzIHNvbWUgcm91bmRpbmcgYW5kIG90aGVyIHByaXZhY3ktcmVsYXRl
ZCBtZWFzdXJlcyB0aGF0Ci0gICAgICAvLyBjYW4gY2F1c2UgQUxTIG5vdCB0byByZXBvcnQgYSBy
ZWFkaW5nIHdoZW4gaXQgaGFzIG5vdCBjaGFuZ2VkIGJleW9uZCBhCi0gICAgICAvLyBjZXJ0YWlu
IHRocmVzaG9sZCBjb21wYXJlZCB0byB0aGUgcHJldmlvdXMgaWxsdW1pbmFuY2UgdmFsdWUuIE1h
a2UKLSAgICAgIC8vIGVhY2ggcmVhZGluZyByZXR1cm4gYSBkaWZmZXJlbnQgdmFsdWUgdGhhdCBp
cyBzaWduaWZpY2FudGx5IGRpZmZlcmVudAotICAgICAgLy8gZnJvbSB0aGUgcHJldmlvdXMgb25l
IHdoZW4gc2V0U2Vuc29yUmVhZGluZygpIGlzIG5vdCBjYWxsZWQgYnkgY2xpZW50Ci0gICAgICAv
LyBjb2RlIChlLmcuIHJ1bl9nZW5lcmljX3NlbnNvcl9pZnJhbWVfdGVzdHMoKSkuCi0gICAgICBp
ZiAodHlwZSA9PSBkZXZpY2UubW9qb20uU2Vuc29yVHlwZS5BTUJJRU5UX0xJR0hUKSB7Ci0gICAg
ICAgIHRoaXMuYWN0aXZlU2Vuc29yc18uZ2V0KHR5cGUpLnNldFNlbnNvclJlYWRpbmcoWwotICAg
ICAgICAgIFt3aW5kb3cucGVyZm9ybWFuY2Uubm93KCkgKiAxMDBdLAotICAgICAgICAgIFsod2lu
ZG93LnBlcmZvcm1hbmNlLm5vdygpICsgNTApICogMTAwXQotICAgICAgICBdKTsKLSAgICAgIH0K
LQotICAgICAgY29uc3QgaW5pdFBhcmFtcyA9IG5ldyBkZXZpY2UubW9qb20uU2Vuc29ySW5pdFBh
cmFtcyh7Ci0gICAgICAgIHNlbnNvcjogc2Vuc29yUHRyLAotICAgICAgICBjbGllbnRSZWNlaXZl
cjogbW9qby5tYWtlUmVxdWVzdCh0aGlzLmFjdGl2ZVNlbnNvcnNfLmdldCh0eXBlKS5jbGllbnRf
KSwKLSAgICAgICAgbWVtb3J5OiBydi5oYW5kbGUsCi0gICAgICAgIGJ1ZmZlck9mZnNldDogb2Zm
c2V0LAotICAgICAgICBtb2RlOiByZXBvcnRpbmdNb2RlLAotICAgICAgICBkZWZhdWx0Q29uZmln
dXJhdGlvbjogZGVmYXVsdENvbmZpZywKLSAgICAgICAgbWluaW11bUZyZXF1ZW5jeTogdGhpcy5t
aW5GcmVxdWVuY3lfLAotICAgICAgICBtYXhpbXVtRnJlcXVlbmN5OiB0aGlzLm1heEZyZXF1ZW5j
eV8KLSAgICAgIH0pOwotCi0gICAgICBpZiAodGhpcy5yZXNvbHZlRnVuY3NfLmhhcyh0eXBlKSkg
ewotICAgICAgICBmb3IgKGxldCByZXNvbHZlRnVuYyBvZiB0aGlzLnJlc29sdmVGdW5jc18uZ2V0
KHR5cGUpKSB7Ci0gICAgICAgICAgcmVzb2x2ZUZ1bmModGhpcy5hY3RpdmVTZW5zb3JzXy5nZXQo
dHlwZSkpOwotICAgICAgICB9Ci0gICAgICAgIHRoaXMucmVzb2x2ZUZ1bmNzXy5kZWxldGUodHlw
ZSk7Ci0gICAgICB9Ci0KLSAgICAgIHJldHVybiB7cmVzdWx0OiBkZXZpY2UubW9qb20uU2Vuc29y
Q3JlYXRpb25SZXN1bHQuU1VDQ0VTUywKLSAgICAgICAgICAgICAgaW5pdFBhcmFtczogaW5pdFBh
cmFtc307Ci0gICAgfQotCi0gICAgLy8gQmluZHMgb2JqZWN0IHRvIG1vam8gbWVzc2FnZSBwaXBl
Ci0gICAgYmluZFRvUGlwZShwaXBlKSB7Ci0gICAgICB0aGlzLmJpbmRpbmdfLmJpbmQocGlwZSk7
Ci0gICAgICB0aGlzLmJpbmRpbmdfLnNldENvbm5lY3Rpb25FcnJvckhhbmRsZXIoKCkgPT4gewot
ICAgICAgICB0aGlzLnJlc2V0KCk7Ci0gICAgICB9KTsKLSAgICB9Ci0KLSAgICAvLyBNb2NrIGZ1
bmN0aW9ucwotCi0gICAgLy8gUmVzZXRzIHN0YXRlIG9mIG1vY2sgU2Vuc29yUHJvdmlkZXIgYmV0
d2VlbiB0ZXN0IHJ1bnMuCi0gICAgcmVzZXQoKSB7Ci0gICAgICBmb3IgKGNvbnN0IHNlbnNvciBv
ZiB0aGlzLmFjdGl2ZVNlbnNvcnNfLnZhbHVlcygpKSB7Ci0gICAgICAgIHNlbnNvci5yZXNldCgp
OwotICAgICAgfQotICAgICAgdGhpcy5hY3RpdmVTZW5zb3JzXy5jbGVhcigpOwotICAgICAgdGhp
cy5yZXNvbHZlRnVuY3NfLmNsZWFyKCk7Ci0gICAgICB0aGlzLmdldFNlbnNvclNob3VsZEZhaWxf
LmNsZWFyKCk7Ci0gICAgICB0aGlzLnBlcm1pc3Npb25zRGVuaWVkXy5jbGVhcigpOwotICAgICAg
dGhpcy5tYXhGcmVxdWVuY3lfID0gNjA7Ci0gICAgICB0aGlzLm1pbkZyZXF1ZW5jeV8gPSAxOwot
ICAgICAgdGhpcy5iaW5kaW5nXy5jbG9zZSgpOwotICAgICAgdGhpcy5pbnRlcmNlcHRvcl8uc3Rv
cCgpOwotICAgIH0KLQotICAgIC8vIFNldHMgZmxhZyB0aGF0IGZvcmNlcyBtb2NrIFNlbnNvclBy
b3ZpZGVyIHRvIGZhaWwgd2hlbiBnZXRTZW5zb3IoKSBpcwotICAgIC8vIGludm9rZWQuCi0gICAg
c2V0R2V0U2Vuc29yU2hvdWxkRmFpbChzZW5zb3JUeXBlLCBzaG91bGRGYWlsKSB7Ci0gICAgICB0
aGlzLmdldFNlbnNvclNob3VsZEZhaWxfLnNldCh0aGlzLm1vam9tU2Vuc29yVHlwZV8uZ2V0KHNl
bnNvclR5cGUpLAotICAgICAgICAgIHNob3VsZEZhaWwpOwotICAgIH0KLQotICAgIHNldFBlcm1p
c3Npb25zRGVuaWVkKHNlbnNvclR5cGUsIHBlcm1pc3Npb25zRGVuaWVkKSB7Ci0gICAgICB0aGlz
LnBlcm1pc3Npb25zRGVuaWVkXy5zZXQodGhpcy5tb2pvbVNlbnNvclR5cGVfLmdldChzZW5zb3JU
eXBlKSwKLSAgICAgICAgICBwZXJtaXNzaW9uc0RlbmllZCk7Ci0gICAgfQotCi0gICAgLy8gUmV0
dXJucyBtb2NrIHNlbnNvciB0aGF0IHdhcyBjcmVhdGVkIGluIGdldFNlbnNvciB0byB0aGUgbGF5
b3V0IHRlc3QuCi0gICAgZ2V0Q3JlYXRlZFNlbnNvcihzZW5zb3JUeXBlKSB7Ci0gICAgICBjb25z
dCB0eXBlID0gdGhpcy5tb2pvbVNlbnNvclR5cGVfLmdldChzZW5zb3JUeXBlKTsKLSAgICAgIGFz
c2VydF9lcXVhbHModHlwZW9mIHR5cGUsICJudW1iZXIiLCAiQSBzZW5zb3IgdHlwZSBtdXN0IGJl
IHNwZWNpZmllZC4iKTsKLQotICAgICAgaWYgKHRoaXMuYWN0aXZlU2Vuc29yc18uaGFzKHR5cGUp
KSB7Ci0gICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUodGhpcy5hY3RpdmVTZW5zb3JzXy5n
ZXQodHlwZSkpOwotICAgICAgfQotCi0gICAgICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9
PiB7Ci0gICAgICAgIGlmICghdGhpcy5yZXNvbHZlRnVuY3NfLmhhcyh0eXBlKSkgewotICAgICAg
ICAgIHRoaXMucmVzb2x2ZUZ1bmNzXy5zZXQodHlwZSwgW10pOwotICAgICAgICB9Ci0gICAgICAg
IHRoaXMucmVzb2x2ZUZ1bmNzXy5nZXQodHlwZSkucHVzaChyZXNvbHZlKTsKLSAgICAgIH0pOwot
ICAgIH0KLQotICAgIC8vIFNldHMgdGhlIG1heGltdW0gZnJlcXVlbmN5IGZvciBhIGNvbmNyZXRl
IHNlbnNvci4KLSAgICBzZXRNYXhpbXVtU3VwcG9ydGVkRnJlcXVlbmN5KGZyZXF1ZW5jeSkgewot
ICAgICAgdGhpcy5tYXhGcmVxdWVuY3lfID0gZnJlcXVlbmN5OwotICAgIH0KLQotICAgIC8vIFNl
dHMgdGhlIG1pbmltdW0gZnJlcXVlbmN5IGZvciBhIGNvbmNyZXRlIHNlbnNvci4KLSAgICBzZXRN
aW5pbXVtU3VwcG9ydGVkRnJlcXVlbmN5KGZyZXF1ZW5jeSkgewotICAgICAgdGhpcy5taW5GcmVx
dWVuY3lfID0gZnJlcXVlbmN5OwotICAgIH0KLSAgfQotCi0gIGxldCB0ZXN0SW50ZXJuYWwgPSB7
Ci0gICAgaW5pdGlhbGl6ZWQ6IGZhbHNlLAotICAgIHNlbnNvclByb3ZpZGVyOiBudWxsCi0gIH0K
LQotICBjbGFzcyBHZW5lcmljU2Vuc29yVGVzdENocm9taXVtIHsKLSAgICBjb25zdHJ1Y3Rvcigp
IHsKLSAgICAgIE9iamVjdC5mcmVlemUodGhpcyk7IC8vIE1ha2UgaXQgaW1tdXRhYmxlLgotICAg
IH0KLQotICAgIGluaXRpYWxpemUoKSB7Ci0gICAgICBpZiAodGVzdEludGVybmFsLmluaXRpYWxp
emVkKQotICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0NhbGwgcmVzZXQoKSBiZWZvcmUgaW5pdGlh
bGl6ZSgpLicpOwotCi0gICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKLSAgICAgICAgLy8g
R3JhbnQgc2Vuc29yIHBlcm1pc3Npb25zIGZvciBDaHJvbWl1bSB0ZXN0cnVubmVyLgotICAgICAg
ICBbJ2FjY2VsZXJvbWV0ZXInLCAnZ3lyb3Njb3BlJywKLSAgICAgICAgICdtYWduZXRvbWV0ZXIn
LCAnYW1iaWVudC1saWdodC1zZW5zb3InXS5mb3JFYWNoKChlbnRyeSkgPT4gewotICAgICAgICAg
IHdpbmRvdy50ZXN0UnVubmVyLnNldFBlcm1pc3Npb24oZW50cnksICdncmFudGVkJywKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvY2F0aW9uLm9yaWdpbiwgbG9j
YXRpb24ub3JpZ2luKTsKLSAgICAgICAgfSk7Ci0gICAgICB9Ci0KLSAgICAgIHRlc3RJbnRlcm5h
bC5zZW5zb3JQcm92aWRlciA9IG5ldyBNb2NrU2Vuc29yUHJvdmlkZXI7Ci0gICAgICB0ZXN0SW50
ZXJuYWwuaW5pdGlhbGl6ZWQgPSB0cnVlOwotICAgIH0KLSAgICAvLyBSZXNldHMgc3RhdGUgb2Yg
c2Vuc29yIG1vY2tzIGJldHdlZW4gdGVzdCBydW5zLgotICAgIGFzeW5jIHJlc2V0KCkgewotICAg
ICAgaWYgKCF0ZXN0SW50ZXJuYWwuaW5pdGlhbGl6ZWQpCi0gICAgICAgIHRocm93IG5ldyBFcnJv
cignQ2FsbCBpbml0aWFsaXplKCkgYmVmb3JlIHJlc2V0KCkuJyk7Ci0gICAgICB0ZXN0SW50ZXJu
YWwuc2Vuc29yUHJvdmlkZXIucmVzZXQoKTsKLSAgICAgIHRlc3RJbnRlcm5hbC5zZW5zb3JQcm92
aWRlciA9IG51bGw7Ci0gICAgICB0ZXN0SW50ZXJuYWwuaW5pdGlhbGl6ZWQgPSBmYWxzZTsKLQot
ICAgICAgLy8gV2FpdCBmb3IgYW4gZXZlbnQgbG9vcCBpdGVyYXRpb24gdG8gbGV0IGFueSBwZW5k
aW5nIG1vam8gY29tbWFuZHMgaW4KLSAgICAgIC8vIHRoZSBzZW5zb3IgcHJvdmlkZXIgZmluaXNo
LgotICAgICAgYXdhaXQgbmV3IFByb21pc2UocmVzb2x2ZSA9PiBzZXRUaW1lb3V0KHJlc29sdmUs
IDApKTsKLSAgICB9Ci0KLSAgICBnZXRTZW5zb3JQcm92aWRlcigpIHsKLSAgICAgIHJldHVybiB0
ZXN0SW50ZXJuYWwuc2Vuc29yUHJvdmlkZXI7Ci0gICAgfQotICB9Ci0KLSAgcmV0dXJuIEdlbmVy
aWNTZW5zb3JUZXN0Q2hyb21pdW07Ci19KSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vZ2VuZXJpY19z
ZW5zb3JfbW9ja3MuanMuaGVhZGVycyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL2dlbmVyaWNfc2Vuc29yX21vY2tzLmpzLmhl
YWRlcnMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY4MDVjMzIzZGY1Li4wMDAwMDAw
MDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy9jaHJvbWl1bS9nZW5lcmljX3NlbnNvcl9tb2Nrcy5qcy5oZWFkZXJzCisrKyAvZGV2
L251bGwKQEAgLTEgKzAsMCBAQAotQ29udGVudC1UeXBlOiB0ZXh0L2phdmFzY3JpcHQ7IGNoYXJz
ZXQ9dXRmLTgKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL2ltYWdlX2NhcHR1cmUtbW9qb20uanMuaGVhZGVy
cyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L2Nocm9taXVtL2ltYWdlX2NhcHR1cmUtbW9qb20uanMuaGVhZGVycwpkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggNmM2MWEzNGE0ZWMuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL2ltYWdl
X2NhcHR1cmUtbW9qb20uanMuaGVhZGVycworKysgL2Rldi9udWxsCkBAIC0xICswLDAgQEAKLUNv
bnRlbnQtVHlwZTogdGV4dC9qYXZhc2NyaXB0OyBjaGFyc2V0PXV0Zi04ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vaW1hZ2VfY2FwdHVyZS5tb2pvbS5qcyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2No
cm9taXVtL2ltYWdlX2NhcHR1cmUubW9qb20uanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IGYxNDVkN2EzNDAyLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS9pbWFnZV9jYXB0dXJlLm1v
am9tLmpzCisrKyAvZGV2L251bGwKQEAgLTEsMTQwMyArMCwwIEBACi0vLyBDb3B5cmlnaHQgMjAx
NCBUaGUgQ2hyb21pdW0gQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLS8vIFVzZSBvZiB0
aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UgdGhhdCBj
YW4gYmUKLS8vIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCi0KLSd1c2Ugc3RyaWN0JzsKLQot
KGZ1bmN0aW9uKCkgewotICB2YXIgbW9qb21JZCA9ICdtZWRpYS9jYXB0dXJlL21vam9tL2ltYWdl
X2NhcHR1cmUubW9qb20nOwotICBpZiAobW9qby5pbnRlcm5hbC5pc01vam9tTG9hZGVkKG1vam9t
SWQpKSB7Ci0gICAgY29uc29sZS53YXJuKCdUaGUgZm9sbG93aW5nIG1vam9tIGlzIGxvYWRlZCBt
dWx0aXBsZSB0aW1lczogJyArIG1vam9tSWQpOwotICAgIHJldHVybjsKLSAgfQotICBtb2pvLmlu
dGVybmFsLm1hcmtNb2pvbUxvYWRlZChtb2pvbUlkKTsKLSAgdmFyIGJpbmRpbmdzID0gbW9qbzsK
LSAgdmFyIGFzc29jaWF0ZWRCaW5kaW5ncyA9IG1vam87Ci0gIHZhciBjb2RlYyA9IG1vam8uaW50
ZXJuYWw7Ci0gIHZhciB2YWxpZGF0b3IgPSBtb2pvLmludGVybmFsOwotCi0gIHZhciBleHBvcnRz
ID0gbW9qby5pbnRlcm5hbC5leHBvc2VOYW1lc3BhY2UoJ21lZGlhLm1vam9tJyk7Ci0KLQotICB2
YXIgTWV0ZXJpbmdNb2RlID0ge307Ci0gIE1ldGVyaW5nTW9kZS5OT05FID0gMDsKLSAgTWV0ZXJp
bmdNb2RlLk1BTlVBTCA9IE1ldGVyaW5nTW9kZS5OT05FICsgMTsKLSAgTWV0ZXJpbmdNb2RlLlNJ
TkdMRV9TSE9UID0gTWV0ZXJpbmdNb2RlLk1BTlVBTCArIDE7Ci0gIE1ldGVyaW5nTW9kZS5DT05U
SU5VT1VTID0gTWV0ZXJpbmdNb2RlLlNJTkdMRV9TSE9UICsgMTsKLSAgTWV0ZXJpbmdNb2RlLk1J
Tl9WQUxVRSA9IDAsCi0gIE1ldGVyaW5nTW9kZS5NQVhfVkFMVUUgPSAzLAotCi0gIE1ldGVyaW5n
TW9kZS5pc0tub3duRW51bVZhbHVlID0gZnVuY3Rpb24odmFsdWUpIHsKLSAgICBzd2l0Y2ggKHZh
bHVlKSB7Ci0gICAgY2FzZSAwOgotICAgIGNhc2UgMToKLSAgICBjYXNlIDI6Ci0gICAgY2FzZSAz
OgotICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfQotICAgIHJldHVybiBmYWxzZTsKLSAgfTsKLQot
ICBNZXRlcmluZ01vZGUudmFsaWRhdGUgPSBmdW5jdGlvbihlbnVtVmFsdWUpIHsKLSAgICB2YXIg
aXNFeHRlbnNpYmxlID0gZmFsc2U7Ci0gICAgaWYgKGlzRXh0ZW5zaWJsZSB8fCB0aGlzLmlzS25v
d25FbnVtVmFsdWUoZW51bVZhbHVlKSkKLSAgICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlv
bkVycm9yLk5PTkU7Ci0KLSAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5VTktO
T1dOX0VOVU1fVkFMVUU7Ci0gIH07Ci0gIHZhciBSZWRFeWVSZWR1Y3Rpb24gPSB7fTsKLSAgUmVk
RXllUmVkdWN0aW9uLk5FVkVSID0gMDsKLSAgUmVkRXllUmVkdWN0aW9uLkFMV0FZUyA9IFJlZEV5
ZVJlZHVjdGlvbi5ORVZFUiArIDE7Ci0gIFJlZEV5ZVJlZHVjdGlvbi5DT05UUk9MTEFCTEUgPSBS
ZWRFeWVSZWR1Y3Rpb24uQUxXQVlTICsgMTsKLSAgUmVkRXllUmVkdWN0aW9uLk1JTl9WQUxVRSA9
IDAsCi0gIFJlZEV5ZVJlZHVjdGlvbi5NQVhfVkFMVUUgPSAyLAotCi0gIFJlZEV5ZVJlZHVjdGlv
bi5pc0tub3duRW51bVZhbHVlID0gZnVuY3Rpb24odmFsdWUpIHsKLSAgICBzd2l0Y2ggKHZhbHVl
KSB7Ci0gICAgY2FzZSAwOgotICAgIGNhc2UgMToKLSAgICBjYXNlIDI6Ci0gICAgICByZXR1cm4g
dHJ1ZTsKLSAgICB9Ci0gICAgcmV0dXJuIGZhbHNlOwotICB9OwotCi0gIFJlZEV5ZVJlZHVjdGlv
bi52YWxpZGF0ZSA9IGZ1bmN0aW9uKGVudW1WYWx1ZSkgewotICAgIHZhciBpc0V4dGVuc2libGUg
PSBmYWxzZTsKLSAgICBpZiAoaXNFeHRlbnNpYmxlIHx8IHRoaXMuaXNLbm93bkVudW1WYWx1ZShl
bnVtVmFsdWUpKQotICAgICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORTsK
LQotICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLlVOS05PV05fRU5VTV9WQUxV
RTsKLSAgfTsKLSAgdmFyIEZpbGxMaWdodE1vZGUgPSB7fTsKLSAgRmlsbExpZ2h0TW9kZS5PRkYg
PSAwOwotICBGaWxsTGlnaHRNb2RlLkFVVE8gPSBGaWxsTGlnaHRNb2RlLk9GRiArIDE7Ci0gIEZp
bGxMaWdodE1vZGUuRkxBU0ggPSBGaWxsTGlnaHRNb2RlLkFVVE8gKyAxOwotICBGaWxsTGlnaHRN
b2RlLk1JTl9WQUxVRSA9IDAsCi0gIEZpbGxMaWdodE1vZGUuTUFYX1ZBTFVFID0gMiwKLQotICBG
aWxsTGlnaHRNb2RlLmlzS25vd25FbnVtVmFsdWUgPSBmdW5jdGlvbih2YWx1ZSkgewotICAgIHN3
aXRjaCAodmFsdWUpIHsKLSAgICBjYXNlIDA6Ci0gICAgY2FzZSAxOgotICAgIGNhc2UgMjoKLSAg
ICAgIHJldHVybiB0cnVlOwotICAgIH0KLSAgICByZXR1cm4gZmFsc2U7Ci0gIH07Ci0KLSAgRmls
bExpZ2h0TW9kZS52YWxpZGF0ZSA9IGZ1bmN0aW9uKGVudW1WYWx1ZSkgewotICAgIHZhciBpc0V4
dGVuc2libGUgPSBmYWxzZTsKLSAgICBpZiAoaXNFeHRlbnNpYmxlIHx8IHRoaXMuaXNLbm93bkVu
dW1WYWx1ZShlbnVtVmFsdWUpKQotICAgICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJy
b3IuTk9ORTsKLQotICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLlVOS05PV05f
RU5VTV9WQUxVRTsKLSAgfTsKLQotICBmdW5jdGlvbiBSYW5nZSh2YWx1ZXMpIHsKLSAgICB0aGlz
LmluaXREZWZhdWx0c18oKTsKLSAgICB0aGlzLmluaXRGaWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQot
Ci0gIFJhbmdlLnByb3RvdHlwZS5pbml0RGVmYXVsdHNfID0gZnVuY3Rpb24oKSB7Ci0gICAgdGhp
cy5tYXggPSAwOwotICAgIHRoaXMubWluID0gMDsKLSAgICB0aGlzLmN1cnJlbnQgPSAwOwotICAg
IHRoaXMuc3RlcCA9IDA7Ci0gIH07Ci0gIFJhbmdlLnByb3RvdHlwZS5pbml0RmllbGRzXyA9IGZ1
bmN0aW9uKGZpZWxkcykgewotICAgIGZvcih2YXIgZmllbGQgaW4gZmllbGRzKSB7Ci0gICAgICAg
IGlmICh0aGlzLmhhc093blByb3BlcnR5KGZpZWxkKSkKLSAgICAgICAgICB0aGlzW2ZpZWxkXSA9
IGZpZWxkc1tmaWVsZF07Ci0gICAgfQotICB9OwotCi0gIFJhbmdlLnZhbGlkYXRlID0gZnVuY3Rp
b24obWVzc2FnZVZhbGlkYXRvciwgb2Zmc2V0KSB7Ci0gICAgdmFyIGVycjsKLSAgICBlcnIgPSBt
ZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0SGVhZGVyKG9mZnNldCwgY29kZWMua1N0cnVj
dEhlYWRlclNpemUpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3Iu
Tk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHZhciBrVmVyc2lvblNpemVzID0gWwot
ICAgICAge3ZlcnNpb246IDAsIG51bUJ5dGVzOiA0MH0KLSAgICBdOwotICAgIGVyciA9IG1lc3Nh
Z2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RWZXJzaW9uKG9mZnNldCwga1ZlcnNpb25TaXplcyk7
Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAg
ICByZXR1cm4gZXJyOwotCi0KLQotCi0KLSAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25F
cnJvci5OT05FOwotICB9OwotCi0gIFJhbmdlLmVuY29kZWRTaXplID0gY29kZWMua1N0cnVjdEhl
YWRlclNpemUgKyAzMjsKLQotICBSYW5nZS5kZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0g
ICAgdmFyIHBhY2tlZDsKLSAgICB2YXIgdmFsID0gbmV3IFJhbmdlKCk7Ci0gICAgdmFyIG51bWJl
ck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YXIgdmVyc2lvbiA9IGRlY29k
ZXIucmVhZFVpbnQzMigpOwotICAgIHZhbC5tYXggPSBkZWNvZGVyLmRlY29kZVN0cnVjdChjb2Rl
Yy5Eb3VibGUpOwotICAgIHZhbC5taW4gPSBkZWNvZGVyLmRlY29kZVN0cnVjdChjb2RlYy5Eb3Vi
bGUpOwotICAgIHZhbC5jdXJyZW50ID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoY29kZWMuRG91Ymxl
KTsKLSAgICB2YWwuc3RlcCA9IGRlY29kZXIuZGVjb2RlU3RydWN0KGNvZGVjLkRvdWJsZSk7Ci0g
ICAgcmV0dXJuIHZhbDsKLSAgfTsKLQotICBSYW5nZS5lbmNvZGUgPSBmdW5jdGlvbihlbmNvZGVy
LCB2YWwpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoUmFuZ2Uu
ZW5jb2RlZFNpemUpOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoMCk7Ci0gICAgZW5jb2Rlci5l
bmNvZGVTdHJ1Y3QoY29kZWMuRG91YmxlLCB2YWwubWF4KTsKLSAgICBlbmNvZGVyLmVuY29kZVN0
cnVjdChjb2RlYy5Eb3VibGUsIHZhbC5taW4pOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNv
ZGVjLkRvdWJsZSwgdmFsLmN1cnJlbnQpOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNvZGVj
LkRvdWJsZSwgdmFsLnN0ZXApOwotICB9OwotICBmdW5jdGlvbiBQaG90b1N0YXRlKHZhbHVlcykg
ewotICAgIHRoaXMuaW5pdERlZmF1bHRzXygpOwotICAgIHRoaXMuaW5pdEZpZWxkc18odmFsdWVz
KTsKLSAgfQotCi0KLSAgUGhvdG9TdGF0ZS5wcm90b3R5cGUuaW5pdERlZmF1bHRzXyA9IGZ1bmN0
aW9uKCkgewotICAgIHRoaXMuc3VwcG9ydGVkV2hpdGVCYWxhbmNlTW9kZXMgPSBudWxsOwotICAg
IHRoaXMuY3VycmVudFdoaXRlQmFsYW5jZU1vZGUgPSAwOwotICAgIHRoaXMuY3VycmVudEV4cG9z
dXJlTW9kZSA9IDA7Ci0gICAgdGhpcy5zdXBwb3J0ZWRFeHBvc3VyZU1vZGVzID0gbnVsbDsKLSAg
ICB0aGlzLnN1cHBvcnRlZEZvY3VzTW9kZXMgPSBudWxsOwotICAgIHRoaXMuY3VycmVudEZvY3Vz
TW9kZSA9IDA7Ci0gICAgdGhpcy5zdXBwb3J0c1RvcmNoID0gZmFsc2U7Ci0gICAgdGhpcy50b3Jj
aCA9IGZhbHNlOwotICAgIHRoaXMucG9pbnRzT2ZJbnRlcmVzdCA9IG51bGw7Ci0gICAgdGhpcy5l
eHBvc3VyZUNvbXBlbnNhdGlvbiA9IG51bGw7Ci0gICAgdGhpcy5leHBvc3VyZVRpbWUgPSBudWxs
OwotICAgIHRoaXMuY29sb3JUZW1wZXJhdHVyZSA9IG51bGw7Ci0gICAgdGhpcy5pc28gPSBudWxs
OwotICAgIHRoaXMuYnJpZ2h0bmVzcyA9IG51bGw7Ci0gICAgdGhpcy5jb250cmFzdCA9IG51bGw7
Ci0gICAgdGhpcy5zYXR1cmF0aW9uID0gbnVsbDsKLSAgICB0aGlzLnNoYXJwbmVzcyA9IG51bGw7
Ci0gICAgdGhpcy5mb2N1c0Rpc3RhbmNlID0gbnVsbDsKLSAgICB0aGlzLnBhbiA9IG51bGw7Ci0g
ICAgdGhpcy50aWx0ID0gbnVsbDsKLSAgICB0aGlzLnpvb20gPSBudWxsOwotICAgIHRoaXMucmVk
RXllUmVkdWN0aW9uID0gMDsKLSAgICB0aGlzLmhlaWdodCA9IG51bGw7Ci0gICAgdGhpcy53aWR0
aCA9IG51bGw7Ci0gICAgdGhpcy5maWxsTGlnaHRNb2RlID0gbnVsbDsKLSAgfTsKLSAgUGhvdG9T
dGF0ZS5wcm90b3R5cGUuaW5pdEZpZWxkc18gPSBmdW5jdGlvbihmaWVsZHMpIHsKLSAgICBmb3Io
dmFyIGZpZWxkIGluIGZpZWxkcykgewotICAgICAgICBpZiAodGhpcy5oYXNPd25Qcm9wZXJ0eShm
aWVsZCkpCi0gICAgICAgICAgdGhpc1tmaWVsZF0gPSBmaWVsZHNbZmllbGRdOwotICAgIH0KLSAg
fTsKLQotICBQaG90b1N0YXRlLnZhbGlkYXRlID0gZnVuY3Rpb24obWVzc2FnZVZhbGlkYXRvciwg
b2Zmc2V0KSB7Ci0gICAgdmFyIGVycjsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlk
YXRlU3RydWN0SGVhZGVyKG9mZnNldCwgY29kZWMua1N0cnVjdEhlYWRlclNpemUpOwotICAgIGlm
IChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJu
IGVycjsKLQotICAgIHZhciBrVmVyc2lvblNpemVzID0gWwotICAgICAge3ZlcnNpb246IDAsIG51
bUJ5dGVzOiAxODR9Ci0gICAgXTsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRl
U3RydWN0VmVyc2lvbihvZmZzZXQsIGtWZXJzaW9uU2l6ZXMpOwotICAgIGlmIChlcnIgIT09IHZh
bGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0g
ICAgLy8gdmFsaWRhdGUgUGhvdG9TdGF0ZS5zdXBwb3J0ZWRXaGl0ZUJhbGFuY2VNb2RlcwotICAg
IGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVBcnJheVBvaW50ZXIob2Zmc2V0ICsgY29k
ZWMua1N0cnVjdEhlYWRlclNpemUgKyAwLCA0LCBuZXcgY29kZWMuRW51bShNZXRlcmluZ01vZGUp
LCBmYWxzZSwgWzBdLCAwKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVy
cm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotICAgIC8vIHZhbGlkYXRlIFBob3Rv
U3RhdGUuY3VycmVudFdoaXRlQmFsYW5jZU1vZGUKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9y
LnZhbGlkYXRlRW51bShvZmZzZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDgsIE1ldGVy
aW5nTW9kZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05F
KQotICAgICAgICByZXR1cm4gZXJyOwotCi0KLSAgICAvLyB2YWxpZGF0ZSBQaG90b1N0YXRlLnN1
cHBvcnRlZEV4cG9zdXJlTW9kZXMKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRl
QXJyYXlQb2ludGVyKG9mZnNldCArIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgMTYsIDQsIG5l
dyBjb2RlYy5FbnVtKE1ldGVyaW5nTW9kZSksIGZhbHNlLCBbMF0sIDApOwotICAgIGlmIChlcnIg
IT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsK
LQotCi0gICAgLy8gdmFsaWRhdGUgUGhvdG9TdGF0ZS5jdXJyZW50RXhwb3N1cmVNb2RlCi0gICAg
ZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZUVudW0ob2Zmc2V0ICsgY29kZWMua1N0cnVj
dEhlYWRlclNpemUgKyAxMiwgTWV0ZXJpbmdNb2RlKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0
b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotICAgIC8v
IHZhbGlkYXRlIFBob3RvU3RhdGUuc3VwcG9ydGVkRm9jdXNNb2RlcwotICAgIGVyciA9IG1lc3Nh
Z2VWYWxpZGF0b3IudmFsaWRhdGVBcnJheVBvaW50ZXIob2Zmc2V0ICsgY29kZWMua1N0cnVjdEhl
YWRlclNpemUgKyAyNCwgNCwgbmV3IGNvZGVjLkVudW0oTWV0ZXJpbmdNb2RlKSwgZmFsc2UsIFsw
XSwgMCk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQot
ICAgICAgICByZXR1cm4gZXJyOwotCi0KLSAgICAvLyB2YWxpZGF0ZSBQaG90b1N0YXRlLmN1cnJl
bnRGb2N1c01vZGUKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlRW51bShvZmZz
ZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDMyLCBNZXRlcmluZ01vZGUpOwotICAgIGlm
IChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJu
IGVycjsKLQotCi0gICAgLy8gdmFsaWRhdGUgUGhvdG9TdGF0ZS5wb2ludHNPZkludGVyZXN0Ci0g
ICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZUFycmF5UG9pbnRlcihvZmZzZXQgKyBj
b2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDQwLCA4LCBuZXcgY29kZWMuUG9pbnRlclRvKFBvaW50
MkQpLCBmYWxzZSwgWzBdLCAwKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlv
bkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotICAgIC8vIHZhbGlkYXRlIFBo
b3RvU3RhdGUuZXhwb3N1cmVDb21wZW5zYXRpb24KLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9y
LnZhbGlkYXRlU3RydWN0UG9pbnRlcihvZmZzZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSAr
IDQ4LCBSYW5nZSwgZmFsc2UpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9u
RXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0gICAgLy8gdmFsaWRhdGUgUGhv
dG9TdGF0ZS5leHBvc3VyZVRpbWUKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRl
U3RydWN0UG9pbnRlcihvZmZzZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDU2LCBSYW5n
ZSwgZmFsc2UpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9O
RSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0gICAgLy8gdmFsaWRhdGUgUGhvdG9TdGF0ZS5j
b2xvclRlbXBlcmF0dXJlCi0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVj
dFBvaW50ZXIob2Zmc2V0ICsgY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyA2NCwgUmFuZ2UsIGZh
bHNlKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0g
ICAgICAgIHJldHVybiBlcnI7Ci0KLQotICAgIC8vIHZhbGlkYXRlIFBob3RvU3RhdGUuaXNvCi0g
ICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFBvaW50ZXIob2Zmc2V0ICsg
Y29kZWMua1N0cnVjdEhlYWRlclNpemUgKyA3MiwgUmFuZ2UsIGZhbHNlKTsKLSAgICBpZiAoZXJy
ICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7
Ci0KLQotICAgIC8vIHZhbGlkYXRlIFBob3RvU3RhdGUuYnJpZ2h0bmVzcwotICAgIGVyciA9IG1l
c3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RQb2ludGVyKG9mZnNldCArIGNvZGVjLmtTdHJ1
Y3RIZWFkZXJTaXplICsgODAsIFJhbmdlLCBmYWxzZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRh
dG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0KLSAgICAv
LyB2YWxpZGF0ZSBQaG90b1N0YXRlLmNvbnRyYXN0Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRv
ci52YWxpZGF0ZVN0cnVjdFBvaW50ZXIob2Zmc2V0ICsgY29kZWMua1N0cnVjdEhlYWRlclNpemUg
KyA4OCwgUmFuZ2UsIGZhbHNlKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlv
bkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotICAgIC8vIHZhbGlkYXRlIFBo
b3RvU3RhdGUuc2F0dXJhdGlvbgotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVT
dHJ1Y3RQb2ludGVyKG9mZnNldCArIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgOTYsIFJhbmdl
LCBmYWxzZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05F
KQotICAgICAgICByZXR1cm4gZXJyOwotCi0KLSAgICAvLyB2YWxpZGF0ZSBQaG90b1N0YXRlLnNo
YXJwbmVzcwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RQb2ludGVy
KG9mZnNldCArIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgMTA0LCBSYW5nZSwgZmFsc2UpOwot
ICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAg
cmV0dXJuIGVycjsKLQotCi0gICAgLy8gdmFsaWRhdGUgUGhvdG9TdGF0ZS5mb2N1c0Rpc3RhbmNl
Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFBvaW50ZXIob2Zmc2V0
ICsgY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyAxMTIsIFJhbmdlLCBmYWxzZSk7Ci0gICAgaWYg
KGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4g
ZXJyOwotCi0KLSAgICAvLyB2YWxpZGF0ZSBQaG90b1N0YXRlLnBhbgotICAgIGVyciA9IG1lc3Nh
Z2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RQb2ludGVyKG9mZnNldCArIGNvZGVjLmtTdHJ1Y3RI
ZWFkZXJTaXplICsgMTIwLCBSYW5nZSwgZmFsc2UpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRv
ci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0gICAgLy8g
dmFsaWRhdGUgUGhvdG9TdGF0ZS50aWx0Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxp
ZGF0ZVN0cnVjdFBvaW50ZXIob2Zmc2V0ICsgY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyAxMjgs
IFJhbmdlLCBmYWxzZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJv
ci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0KLSAgICAvLyB2YWxpZGF0ZSBQaG90b1N0
YXRlLnpvb20KLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0UG9pbnRl
cihvZmZzZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDEzNiwgUmFuZ2UsIGZhbHNlKTsK
LSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAg
IHJldHVybiBlcnI7Ci0KLQotCi0KLSAgICAvLyB2YWxpZGF0ZSBQaG90b1N0YXRlLnJlZEV5ZVJl
ZHVjdGlvbgotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVFbnVtKG9mZnNldCAr
IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgMTQ0LCBSZWRFeWVSZWR1Y3Rpb24pOwotICAgIGlm
IChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJu
IGVycjsKLQotCi0gICAgLy8gdmFsaWRhdGUgUGhvdG9TdGF0ZS5oZWlnaHQKLSAgICBlcnIgPSBt
ZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0UG9pbnRlcihvZmZzZXQgKyBjb2RlYy5rU3Ry
dWN0SGVhZGVyU2l6ZSArIDE1MiwgUmFuZ2UsIGZhbHNlKTsKLSAgICBpZiAoZXJyICE9PSB2YWxp
ZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotICAg
IC8vIHZhbGlkYXRlIFBob3RvU3RhdGUud2lkdGgKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9y
LnZhbGlkYXRlU3RydWN0UG9pbnRlcihvZmZzZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSAr
IDE2MCwgUmFuZ2UsIGZhbHNlKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlv
bkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotICAgIC8vIHZhbGlkYXRlIFBo
b3RvU3RhdGUuZmlsbExpZ2h0TW9kZQotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRh
dGVBcnJheVBvaW50ZXIob2Zmc2V0ICsgY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyAxNjgsIDQs
IG5ldyBjb2RlYy5FbnVtKEZpbGxMaWdodE1vZGUpLCBmYWxzZSwgWzBdLCAwKTsKLSAgICBpZiAo
ZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBl
cnI7Ci0KLSAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwotICB9Owot
Ci0gIFBob3RvU3RhdGUuZW5jb2RlZFNpemUgPSBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDE3
NjsKLQotICBQaG90b1N0YXRlLmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICB2YXIg
cGFja2VkOwotICAgIHZhciB2YWwgPSBuZXcgUGhvdG9TdGF0ZSgpOwotICAgIHZhciBudW1iZXJP
ZkJ5dGVzID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFyIHZlcnNpb24gPSBkZWNvZGVy
LnJlYWRVaW50MzIoKTsKLSAgICB2YWwuc3VwcG9ydGVkV2hpdGVCYWxhbmNlTW9kZXMgPSBkZWNv
ZGVyLmRlY29kZUFycmF5UG9pbnRlcihuZXcgY29kZWMuRW51bShNZXRlcmluZ01vZGUpKTsKLSAg
ICB2YWwuY3VycmVudFdoaXRlQmFsYW5jZU1vZGUgPSBkZWNvZGVyLmRlY29kZVN0cnVjdChjb2Rl
Yy5JbnQzMik7Ci0gICAgdmFsLmN1cnJlbnRFeHBvc3VyZU1vZGUgPSBkZWNvZGVyLmRlY29kZVN0
cnVjdChjb2RlYy5JbnQzMik7Ci0gICAgdmFsLnN1cHBvcnRlZEV4cG9zdXJlTW9kZXMgPSBkZWNv
ZGVyLmRlY29kZUFycmF5UG9pbnRlcihuZXcgY29kZWMuRW51bShNZXRlcmluZ01vZGUpKTsKLSAg
ICB2YWwuc3VwcG9ydGVkRm9jdXNNb2RlcyA9IGRlY29kZXIuZGVjb2RlQXJyYXlQb2ludGVyKG5l
dyBjb2RlYy5FbnVtKE1ldGVyaW5nTW9kZSkpOwotICAgIHZhbC5jdXJyZW50Rm9jdXNNb2RlID0g
ZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoY29kZWMuSW50MzIpOwotICAgIHBhY2tlZCA9IGRlY29kZXIu
cmVhZFVpbnQ4KCk7Ci0gICAgdmFsLnN1cHBvcnRzVG9yY2ggPSAocGFja2VkID4+IDApICYgMSA/
IHRydWUgOiBmYWxzZTsKLSAgICB2YWwudG9yY2ggPSAocGFja2VkID4+IDEpICYgMSA/IHRydWUg
OiBmYWxzZTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAg
IGRlY29kZXIuc2tpcCgxKTsKLSAgICB2YWwucG9pbnRzT2ZJbnRlcmVzdCA9IGRlY29kZXIuZGVj
b2RlQXJyYXlQb2ludGVyKG5ldyBjb2RlYy5Qb2ludGVyVG8oUG9pbnQyRCkpOwotICAgIHZhbC5l
eHBvc3VyZUNvbXBlbnNhdGlvbiA9IGRlY29kZXIuZGVjb2RlU3RydWN0UG9pbnRlcihSYW5nZSk7
Ci0gICAgdmFsLmV4cG9zdXJlVGltZSA9IGRlY29kZXIuZGVjb2RlU3RydWN0UG9pbnRlcihSYW5n
ZSk7Ci0gICAgdmFsLmNvbG9yVGVtcGVyYXR1cmUgPSBkZWNvZGVyLmRlY29kZVN0cnVjdFBvaW50
ZXIoUmFuZ2UpOwotICAgIHZhbC5pc28gPSBkZWNvZGVyLmRlY29kZVN0cnVjdFBvaW50ZXIoUmFu
Z2UpOwotICAgIHZhbC5icmlnaHRuZXNzID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3RQb2ludGVyKFJh
bmdlKTsKLSAgICB2YWwuY29udHJhc3QgPSBkZWNvZGVyLmRlY29kZVN0cnVjdFBvaW50ZXIoUmFu
Z2UpOwotICAgIHZhbC5zYXR1cmF0aW9uID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3RQb2ludGVyKFJh
bmdlKTsKLSAgICB2YWwuc2hhcnBuZXNzID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3RQb2ludGVyKFJh
bmdlKTsKLSAgICB2YWwuZm9jdXNEaXN0YW5jZSA9IGRlY29kZXIuZGVjb2RlU3RydWN0UG9pbnRl
cihSYW5nZSk7Ci0gICAgdmFsLnBhbiA9IGRlY29kZXIuZGVjb2RlU3RydWN0UG9pbnRlcihSYW5n
ZSk7Ci0gICAgdmFsLnRpbHQgPSBkZWNvZGVyLmRlY29kZVN0cnVjdFBvaW50ZXIoUmFuZ2UpOwot
ICAgIHZhbC56b29tID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3RQb2ludGVyKFJhbmdlKTsKLSAgICB2
YWwucmVkRXllUmVkdWN0aW9uID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoY29kZWMuSW50MzIpOwot
ICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5z
a2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICB2YWwuaGVpZ2h0ID0gZGVjb2Rlci5k
ZWNvZGVTdHJ1Y3RQb2ludGVyKFJhbmdlKTsKLSAgICB2YWwud2lkdGggPSBkZWNvZGVyLmRlY29k
ZVN0cnVjdFBvaW50ZXIoUmFuZ2UpOwotICAgIHZhbC5maWxsTGlnaHRNb2RlID0gZGVjb2Rlci5k
ZWNvZGVBcnJheVBvaW50ZXIobmV3IGNvZGVjLkVudW0oRmlsbExpZ2h0TW9kZSkpOwotICAgIHJl
dHVybiB2YWw7Ci0gIH07Ci0KLSAgUGhvdG9TdGF0ZS5lbmNvZGUgPSBmdW5jdGlvbihlbmNvZGVy
LCB2YWwpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoUGhvdG9T
dGF0ZS5lbmNvZGVkU2l6ZSk7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMigwKTsKLSAgICBlbmNv
ZGVyLmVuY29kZUFycmF5UG9pbnRlcihuZXcgY29kZWMuRW51bShNZXRlcmluZ01vZGUpLCB2YWwu
c3VwcG9ydGVkV2hpdGVCYWxhbmNlTW9kZXMpOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNv
ZGVjLkludDMyLCB2YWwuY3VycmVudFdoaXRlQmFsYW5jZU1vZGUpOwotICAgIGVuY29kZXIuZW5j
b2RlU3RydWN0KGNvZGVjLkludDMyLCB2YWwuY3VycmVudEV4cG9zdXJlTW9kZSk7Ci0gICAgZW5j
b2Rlci5lbmNvZGVBcnJheVBvaW50ZXIobmV3IGNvZGVjLkVudW0oTWV0ZXJpbmdNb2RlKSwgdmFs
LnN1cHBvcnRlZEV4cG9zdXJlTW9kZXMpOwotICAgIGVuY29kZXIuZW5jb2RlQXJyYXlQb2ludGVy
KG5ldyBjb2RlYy5FbnVtKE1ldGVyaW5nTW9kZSksIHZhbC5zdXBwb3J0ZWRGb2N1c01vZGVzKTsK
LSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdChjb2RlYy5JbnQzMiwgdmFsLmN1cnJlbnRGb2N1c01v
ZGUpOwotICAgIHBhY2tlZCA9IDA7Ci0gICAgcGFja2VkIHw9ICh2YWwuc3VwcG9ydHNUb3JjaCAm
IDEpIDw8IDAKLSAgICBwYWNrZWQgfD0gKHZhbC50b3JjaCAmIDEpIDw8IDEKLSAgICBlbmNvZGVy
LndyaXRlVWludDgocGFja2VkKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5z
a2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLmVuY29kZUFycmF5UG9p
bnRlcihuZXcgY29kZWMuUG9pbnRlclRvKFBvaW50MkQpLCB2YWwucG9pbnRzT2ZJbnRlcmVzdCk7
Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3RQb2ludGVyKFJhbmdlLCB2YWwuZXhwb3N1cmVDb21w
ZW5zYXRpb24pOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0UG9pbnRlcihSYW5nZSwgdmFsLmV4
cG9zdXJlVGltZSk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3RQb2ludGVyKFJhbmdlLCB2YWwu
Y29sb3JUZW1wZXJhdHVyZSk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3RQb2ludGVyKFJhbmdl
LCB2YWwuaXNvKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdFBvaW50ZXIoUmFuZ2UsIHZhbC5i
cmlnaHRuZXNzKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdFBvaW50ZXIoUmFuZ2UsIHZhbC5j
b250cmFzdCk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3RQb2ludGVyKFJhbmdlLCB2YWwuc2F0
dXJhdGlvbik7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3RQb2ludGVyKFJhbmdlLCB2YWwuc2hh
cnBuZXNzKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdFBvaW50ZXIoUmFuZ2UsIHZhbC5mb2N1
c0Rpc3RhbmNlKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdFBvaW50ZXIoUmFuZ2UsIHZhbC5w
YW4pOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0UG9pbnRlcihSYW5nZSwgdmFsLnRpbHQpOwot
ICAgIGVuY29kZXIuZW5jb2RlU3RydWN0UG9pbnRlcihSYW5nZSwgdmFsLnpvb20pOwotICAgIGVu
Y29kZXIuZW5jb2RlU3RydWN0KGNvZGVjLkludDMyLCB2YWwucmVkRXllUmVkdWN0aW9uKTsKLSAg
ICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tp
cCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3RQb2lu
dGVyKFJhbmdlLCB2YWwuaGVpZ2h0KTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdFBvaW50ZXIo
UmFuZ2UsIHZhbC53aWR0aCk7Ci0gICAgZW5jb2Rlci5lbmNvZGVBcnJheVBvaW50ZXIobmV3IGNv
ZGVjLkVudW0oRmlsbExpZ2h0TW9kZSksIHZhbC5maWxsTGlnaHRNb2RlKTsKLSAgfTsKLSAgZnVu
Y3Rpb24gUG9pbnQyRCh2YWx1ZXMpIHsKLSAgICB0aGlzLmluaXREZWZhdWx0c18oKTsKLSAgICB0
aGlzLmluaXRGaWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0gIFBvaW50MkQucHJvdG90eXBlLmlu
aXREZWZhdWx0c18gPSBmdW5jdGlvbigpIHsKLSAgICB0aGlzLnggPSAwOwotICAgIHRoaXMueSA9
IDA7Ci0gIH07Ci0gIFBvaW50MkQucHJvdG90eXBlLmluaXRGaWVsZHNfID0gZnVuY3Rpb24oZmll
bGRzKSB7Ci0gICAgZm9yKHZhciBmaWVsZCBpbiBmaWVsZHMpIHsKLSAgICAgICAgaWYgKHRoaXMu
aGFzT3duUHJvcGVydHkoZmllbGQpKQotICAgICAgICAgIHRoaXNbZmllbGRdID0gZmllbGRzW2Zp
ZWxkXTsKLSAgICB9Ci0gIH07Ci0KLSAgUG9pbnQyRC52YWxpZGF0ZSA9IGZ1bmN0aW9uKG1lc3Nh
Z2VWYWxpZGF0b3IsIG9mZnNldCkgewotICAgIHZhciBlcnI7Ci0gICAgZXJyID0gbWVzc2FnZVZh
bGlkYXRvci52YWxpZGF0ZVN0cnVjdEhlYWRlcihvZmZzZXQsIGNvZGVjLmtTdHJ1Y3RIZWFkZXJT
aXplKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0g
ICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICB2YXIga1ZlcnNpb25TaXplcyA9IFsKLSAgICAgIHt2
ZXJzaW9uOiAwLCBudW1CeXRlczogMjR9Ci0gICAgXTsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRh
dG9yLnZhbGlkYXRlU3RydWN0VmVyc2lvbihvZmZzZXQsIGtWZXJzaW9uU2l6ZXMpOwotICAgIGlm
IChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJu
IGVycjsKLQotCi0KLSAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwot
ICB9OwotCi0gIFBvaW50MkQuZW5jb2RlZFNpemUgPSBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSAr
IDE2OwotCi0gIFBvaW50MkQuZGVjb2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHZhciBw
YWNrZWQ7Ci0gICAgdmFyIHZhbCA9IG5ldyBQb2ludDJEKCk7Ci0gICAgdmFyIG51bWJlck9mQnl0
ZXMgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YXIgdmVyc2lvbiA9IGRlY29kZXIucmVh
ZFVpbnQzMigpOwotICAgIHZhbC54ID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoY29kZWMuRG91Ymxl
KTsKLSAgICB2YWwueSA9IGRlY29kZXIuZGVjb2RlU3RydWN0KGNvZGVjLkRvdWJsZSk7Ci0gICAg
cmV0dXJuIHZhbDsKLSAgfTsKLQotICBQb2ludDJELmVuY29kZSA9IGZ1bmN0aW9uKGVuY29kZXIs
IHZhbCkgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMihQb2ludDJE
LmVuY29kZWRTaXplKTsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKDApOwotICAgIGVuY29kZXIu
ZW5jb2RlU3RydWN0KGNvZGVjLkRvdWJsZSwgdmFsLngpOwotICAgIGVuY29kZXIuZW5jb2RlU3Ry
dWN0KGNvZGVjLkRvdWJsZSwgdmFsLnkpOwotICB9OwotICBmdW5jdGlvbiBQaG90b1NldHRpbmdz
KHZhbHVlcykgewotICAgIHRoaXMuaW5pdERlZmF1bHRzXygpOwotICAgIHRoaXMuaW5pdEZpZWxk
c18odmFsdWVzKTsKLSAgfQotCi0KLSAgUGhvdG9TZXR0aW5ncy5wcm90b3R5cGUuaW5pdERlZmF1
bHRzXyA9IGZ1bmN0aW9uKCkgewotICAgIHRoaXMuaGFzV2hpdGVCYWxhbmNlTW9kZSA9IGZhbHNl
OwotICAgIHRoaXMuaGFzRXhwb3N1cmVNb2RlID0gZmFsc2U7Ci0gICAgdGhpcy5oYXNGb2N1c01v
ZGUgPSBmYWxzZTsKLSAgICB0aGlzLmhhc0V4cG9zdXJlQ29tcGVuc2F0aW9uID0gZmFsc2U7Ci0g
ICAgdGhpcy5oYXNFeHBvc3VyZVRpbWUgPSBmYWxzZTsKLSAgICB0aGlzLmhhc0NvbG9yVGVtcGVy
YXR1cmUgPSBmYWxzZTsKLSAgICB0aGlzLmhhc0lzbyA9IGZhbHNlOwotICAgIHRoaXMuaGFzQnJp
Z2h0bmVzcyA9IGZhbHNlOwotICAgIHRoaXMuaGFzQ29udHJhc3QgPSBmYWxzZTsKLSAgICB0aGlz
Lmhhc1NhdHVyYXRpb24gPSBmYWxzZTsKLSAgICB0aGlzLmhhc1NoYXJwbmVzcyA9IGZhbHNlOwot
ICAgIHRoaXMuaGFzRm9jdXNEaXN0YW5jZSA9IGZhbHNlOwotICAgIHRoaXMuaGFzUGFuID0gZmFs
c2U7Ci0gICAgdGhpcy5oYXNUaWx0ID0gZmFsc2U7Ci0gICAgdGhpcy5oYXNab29tID0gZmFsc2U7
Ci0gICAgdGhpcy5oYXNUb3JjaCA9IGZhbHNlOwotICAgIHRoaXMudG9yY2ggPSBmYWxzZTsKLSAg
ICB0aGlzLmhhc0ZpbGxMaWdodE1vZGUgPSBmYWxzZTsKLSAgICB0aGlzLmhhc1dpZHRoID0gZmFs
c2U7Ci0gICAgdGhpcy5oYXNIZWlnaHQgPSBmYWxzZTsKLSAgICB0aGlzLmhhc1JlZEV5ZVJlZHVj
dGlvbiA9IGZhbHNlOwotICAgIHRoaXMucmVkRXllUmVkdWN0aW9uID0gZmFsc2U7Ci0gICAgdGhp
cy53aGl0ZUJhbGFuY2VNb2RlID0gMDsKLSAgICB0aGlzLmV4cG9zdXJlTW9kZSA9IDA7Ci0gICAg
dGhpcy5mb2N1c01vZGUgPSAwOwotICAgIHRoaXMucG9pbnRzT2ZJbnRlcmVzdCA9IG51bGw7Ci0g
ICAgdGhpcy5leHBvc3VyZUNvbXBlbnNhdGlvbiA9IDA7Ci0gICAgdGhpcy5leHBvc3VyZVRpbWUg
PSAwOwotICAgIHRoaXMuY29sb3JUZW1wZXJhdHVyZSA9IDA7Ci0gICAgdGhpcy5pc28gPSAwOwot
ICAgIHRoaXMuYnJpZ2h0bmVzcyA9IDA7Ci0gICAgdGhpcy5jb250cmFzdCA9IDA7Ci0gICAgdGhp
cy5zYXR1cmF0aW9uID0gMDsKLSAgICB0aGlzLnNoYXJwbmVzcyA9IDA7Ci0gICAgdGhpcy5mb2N1
c0Rpc3RhbmNlID0gMDsKLSAgICB0aGlzLnBhbiA9IDA7Ci0gICAgdGhpcy50aWx0ID0gMDsKLSAg
ICB0aGlzLnpvb20gPSAwOwotICAgIHRoaXMuZmlsbExpZ2h0TW9kZSA9IDA7Ci0gICAgdGhpcy53
aWR0aCA9IDA7Ci0gICAgdGhpcy5oZWlnaHQgPSAwOwotICB9OwotICBQaG90b1NldHRpbmdzLnBy
b3RvdHlwZS5pbml0RmllbGRzXyA9IGZ1bmN0aW9uKGZpZWxkcykgewotICAgIGZvcih2YXIgZmll
bGQgaW4gZmllbGRzKSB7Ci0gICAgICAgIGlmICh0aGlzLmhhc093blByb3BlcnR5KGZpZWxkKSkK
LSAgICAgICAgICB0aGlzW2ZpZWxkXSA9IGZpZWxkc1tmaWVsZF07Ci0gICAgfQotICB9OwotCi0g
IFBob3RvU2V0dGluZ3MudmFsaWRhdGUgPSBmdW5jdGlvbihtZXNzYWdlVmFsaWRhdG9yLCBvZmZz
ZXQpIHsKLSAgICB2YXIgZXJyOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVT
dHJ1Y3RIZWFkZXIob2Zmc2V0LCBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVy
ciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJy
OwotCi0gICAgdmFyIGtWZXJzaW9uU2l6ZXMgPSBbCi0gICAgICB7dmVyc2lvbjogMCwgbnVtQnl0
ZXM6IDE1Mn0KLSAgICBdOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1
Y3RWZXJzaW9uKG9mZnNldCwga1ZlcnNpb25TaXplcyk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRh
dG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0KLQotICAg
IC8vIHZhbGlkYXRlIFBob3RvU2V0dGluZ3Mud2hpdGVCYWxhbmNlTW9kZQotICAgIGVyciA9IG1l
c3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVFbnVtKG9mZnNldCArIGNvZGVjLmtTdHJ1Y3RIZWFkZXJT
aXplICsgNCwgTWV0ZXJpbmdNb2RlKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRh
dGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotCi0gICAgLy8gdmFsaWRh
dGUgUGhvdG9TZXR0aW5ncy5leHBvc3VyZU1vZGUKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9y
LnZhbGlkYXRlRW51bShvZmZzZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDgsIE1ldGVy
aW5nTW9kZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05F
KQotICAgICAgICByZXR1cm4gZXJyOwotCi0KLQotICAgIC8vIHZhbGlkYXRlIFBob3RvU2V0dGlu
Z3MuZm9jdXNNb2RlCi0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZUVudW0ob2Zm
c2V0ICsgY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyAxMiwgTWV0ZXJpbmdNb2RlKTsKLSAgICBp
ZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVy
biBlcnI7Ci0KLQotICAgIC8vIHZhbGlkYXRlIFBob3RvU2V0dGluZ3MucG9pbnRzT2ZJbnRlcmVz
dAotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVBcnJheVBvaW50ZXIob2Zmc2V0
ICsgY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyAxNiwgOCwgbmV3IGNvZGVjLlBvaW50ZXJUbyhQ
b2ludDJEKSwgZmFsc2UsIFswXSwgMCk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlk
YXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0KLQotCi0KLQotCi0KLQot
Ci0KLQotCi0KLQotCi0KLQotCi0KLQotCi0KLQotCi0KLQotCi0KLSAgICAvLyB2YWxpZGF0ZSBQ
aG90b1NldHRpbmdzLmZpbGxMaWdodE1vZGUKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZh
bGlkYXRlRW51bShvZmZzZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDEyMCwgRmlsbExp
Z2h0TW9kZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05F
KQotICAgICAgICByZXR1cm4gZXJyOwotCi0KLQotCi0KLQotCi0gICAgcmV0dXJuIHZhbGlkYXRv
ci52YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQotICBQaG90b1NldHRpbmdzLmVuY29kZWRT
aXplID0gY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyAxNDQ7Ci0KLSAgUGhvdG9TZXR0aW5ncy5k
ZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICB2YXIgdmFs
ID0gbmV3IFBob3RvU2V0dGluZ3MoKTsKLSAgICB2YXIgbnVtYmVyT2ZCeXRlcyA9IGRlY29kZXIu
cmVhZFVpbnQzMigpOwotICAgIHZhciB2ZXJzaW9uID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0g
ICAgcGFja2VkID0gZGVjb2Rlci5yZWFkVWludDgoKTsKLSAgICB2YWwuaGFzV2hpdGVCYWxhbmNl
TW9kZSA9IChwYWNrZWQgPj4gMCkgJiAxID8gdHJ1ZSA6IGZhbHNlOwotICAgIHZhbC5oYXNFeHBv
c3VyZU1vZGUgPSAocGFja2VkID4+IDEpICYgMSA/IHRydWUgOiBmYWxzZTsKLSAgICB2YWwuaGFz
Rm9jdXNNb2RlID0gKHBhY2tlZCA+PiAyKSAmIDEgPyB0cnVlIDogZmFsc2U7Ci0gICAgdmFsLmhh
c0V4cG9zdXJlQ29tcGVuc2F0aW9uID0gKHBhY2tlZCA+PiAzKSAmIDEgPyB0cnVlIDogZmFsc2U7
Ci0gICAgdmFsLmhhc0V4cG9zdXJlVGltZSA9IChwYWNrZWQgPj4gNCkgJiAxID8gdHJ1ZSA6IGZh
bHNlOwotICAgIHZhbC5oYXNDb2xvclRlbXBlcmF0dXJlID0gKHBhY2tlZCA+PiA1KSAmIDEgPyB0
cnVlIDogZmFsc2U7Ci0gICAgdmFsLmhhc0lzbyA9IChwYWNrZWQgPj4gNikgJiAxID8gdHJ1ZSA6
IGZhbHNlOwotICAgIHZhbC5oYXNCcmlnaHRuZXNzID0gKHBhY2tlZCA+PiA3KSAmIDEgPyB0cnVl
IDogZmFsc2U7Ci0gICAgcGFja2VkID0gZGVjb2Rlci5yZWFkVWludDgoKTsKLSAgICB2YWwuaGFz
Q29udHJhc3QgPSAocGFja2VkID4+IDApICYgMSA/IHRydWUgOiBmYWxzZTsKLSAgICB2YWwuaGFz
U2F0dXJhdGlvbiA9IChwYWNrZWQgPj4gMSkgJiAxID8gdHJ1ZSA6IGZhbHNlOwotICAgIHZhbC5o
YXNTaGFycG5lc3MgPSAocGFja2VkID4+IDIpICYgMSA/IHRydWUgOiBmYWxzZTsKLSAgICB2YWwu
aGFzRm9jdXNEaXN0YW5jZSA9IChwYWNrZWQgPj4gMykgJiAxID8gdHJ1ZSA6IGZhbHNlOwotICAg
IHZhbC5oYXNQYW4gPSAocGFja2VkID4+IDQpICYgMSA/IHRydWUgOiBmYWxzZTsKLSAgICB2YWwu
aGFzVGlsdCA9IChwYWNrZWQgPj4gNSkgJiAxID8gdHJ1ZSA6IGZhbHNlOwotICAgIHZhbC5oYXNa
b29tID0gKHBhY2tlZCA+PiA2KSAmIDEgPyB0cnVlIDogZmFsc2U7Ci0gICAgdmFsLmhhc1RvcmNo
ID0gKHBhY2tlZCA+PiA3KSAmIDEgPyB0cnVlIDogZmFsc2U7Ci0gICAgcGFja2VkID0gZGVjb2Rl
ci5yZWFkVWludDgoKTsKLSAgICB2YWwudG9yY2ggPSAocGFja2VkID4+IDApICYgMSA/IHRydWUg
OiBmYWxzZTsKLSAgICB2YWwuaGFzRmlsbExpZ2h0TW9kZSA9IChwYWNrZWQgPj4gMSkgJiAxID8g
dHJ1ZSA6IGZhbHNlOwotICAgIHZhbC5oYXNXaWR0aCA9IChwYWNrZWQgPj4gMikgJiAxID8gdHJ1
ZSA6IGZhbHNlOwotICAgIHZhbC5oYXNIZWlnaHQgPSAocGFja2VkID4+IDMpICYgMSA/IHRydWUg
OiBmYWxzZTsKLSAgICB2YWwuaGFzUmVkRXllUmVkdWN0aW9uID0gKHBhY2tlZCA+PiA0KSAmIDEg
PyB0cnVlIDogZmFsc2U7Ci0gICAgdmFsLnJlZEV5ZVJlZHVjdGlvbiA9IChwYWNrZWQgPj4gNSkg
JiAxID8gdHJ1ZSA6IGZhbHNlOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICB2YWwud2hpdGVC
YWxhbmNlTW9kZSA9IGRlY29kZXIuZGVjb2RlU3RydWN0KGNvZGVjLkludDMyKTsKLSAgICB2YWwu
ZXhwb3N1cmVNb2RlID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoY29kZWMuSW50MzIpOwotICAgIHZh
bC5mb2N1c01vZGUgPSBkZWNvZGVyLmRlY29kZVN0cnVjdChjb2RlYy5JbnQzMik7Ci0gICAgdmFs
LnBvaW50c09mSW50ZXJlc3QgPSBkZWNvZGVyLmRlY29kZUFycmF5UG9pbnRlcihuZXcgY29kZWMu
UG9pbnRlclRvKFBvaW50MkQpKTsKLSAgICB2YWwuZXhwb3N1cmVDb21wZW5zYXRpb24gPSBkZWNv
ZGVyLmRlY29kZVN0cnVjdChjb2RlYy5Eb3VibGUpOwotICAgIHZhbC5leHBvc3VyZVRpbWUgPSBk
ZWNvZGVyLmRlY29kZVN0cnVjdChjb2RlYy5Eb3VibGUpOwotICAgIHZhbC5jb2xvclRlbXBlcmF0
dXJlID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoY29kZWMuRG91YmxlKTsKLSAgICB2YWwuaXNvID0g
ZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoY29kZWMuRG91YmxlKTsKLSAgICB2YWwuYnJpZ2h0bmVzcyA9
IGRlY29kZXIuZGVjb2RlU3RydWN0KGNvZGVjLkRvdWJsZSk7Ci0gICAgdmFsLmNvbnRyYXN0ID0g
ZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoY29kZWMuRG91YmxlKTsKLSAgICB2YWwuc2F0dXJhdGlvbiA9
IGRlY29kZXIuZGVjb2RlU3RydWN0KGNvZGVjLkRvdWJsZSk7Ci0gICAgdmFsLnNoYXJwbmVzcyA9
IGRlY29kZXIuZGVjb2RlU3RydWN0KGNvZGVjLkRvdWJsZSk7Ci0gICAgdmFsLmZvY3VzRGlzdGFu
Y2UgPSBkZWNvZGVyLmRlY29kZVN0cnVjdChjb2RlYy5Eb3VibGUpOwotICAgIHZhbC5wYW4gPSBk
ZWNvZGVyLmRlY29kZVN0cnVjdChjb2RlYy5Eb3VibGUpOwotICAgIHZhbC50aWx0ID0gZGVjb2Rl
ci5kZWNvZGVTdHJ1Y3QoY29kZWMuRG91YmxlKTsKLSAgICB2YWwuem9vbSA9IGRlY29kZXIuZGVj
b2RlU3RydWN0KGNvZGVjLkRvdWJsZSk7Ci0gICAgdmFsLmZpbGxMaWdodE1vZGUgPSBkZWNvZGVy
LmRlY29kZVN0cnVjdChjb2RlYy5JbnQzMik7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRl
Y29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEp
OwotICAgIHZhbC53aWR0aCA9IGRlY29kZXIuZGVjb2RlU3RydWN0KGNvZGVjLkRvdWJsZSk7Ci0g
ICAgdmFsLmhlaWdodCA9IGRlY29kZXIuZGVjb2RlU3RydWN0KGNvZGVjLkRvdWJsZSk7Ci0gICAg
cmV0dXJuIHZhbDsKLSAgfTsKLQotICBQaG90b1NldHRpbmdzLmVuY29kZSA9IGZ1bmN0aW9uKGVu
Y29kZXIsIHZhbCkgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMihQ
aG90b1NldHRpbmdzLmVuY29kZWRTaXplKTsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKDApOwot
ICAgIHBhY2tlZCA9IDA7Ci0gICAgcGFja2VkIHw9ICh2YWwuaGFzV2hpdGVCYWxhbmNlTW9kZSAm
IDEpIDw8IDAKLSAgICBwYWNrZWQgfD0gKHZhbC5oYXNFeHBvc3VyZU1vZGUgJiAxKSA8PCAxCi0g
ICAgcGFja2VkIHw9ICh2YWwuaGFzRm9jdXNNb2RlICYgMSkgPDwgMgotICAgIHBhY2tlZCB8PSAo
dmFsLmhhc0V4cG9zdXJlQ29tcGVuc2F0aW9uICYgMSkgPDwgMwotICAgIHBhY2tlZCB8PSAodmFs
Lmhhc0V4cG9zdXJlVGltZSAmIDEpIDw8IDQKLSAgICBwYWNrZWQgfD0gKHZhbC5oYXNDb2xvclRl
bXBlcmF0dXJlICYgMSkgPDwgNQotICAgIHBhY2tlZCB8PSAodmFsLmhhc0lzbyAmIDEpIDw8IDYK
LSAgICBwYWNrZWQgfD0gKHZhbC5oYXNCcmlnaHRuZXNzICYgMSkgPDwgNwotICAgIGVuY29kZXIu
d3JpdGVVaW50OChwYWNrZWQpOwotICAgIHBhY2tlZCA9IDA7Ci0gICAgcGFja2VkIHw9ICh2YWwu
aGFzQ29udHJhc3QgJiAxKSA8PCAwCi0gICAgcGFja2VkIHw9ICh2YWwuaGFzU2F0dXJhdGlvbiAm
IDEpIDw8IDEKLSAgICBwYWNrZWQgfD0gKHZhbC5oYXNTaGFycG5lc3MgJiAxKSA8PCAyCi0gICAg
cGFja2VkIHw9ICh2YWwuaGFzRm9jdXNEaXN0YW5jZSAmIDEpIDw8IDMKLSAgICBwYWNrZWQgfD0g
KHZhbC5oYXNQYW4gJiAxKSA8PCA0Ci0gICAgcGFja2VkIHw9ICh2YWwuaGFzVGlsdCAmIDEpIDw8
IDUKLSAgICBwYWNrZWQgfD0gKHZhbC5oYXNab29tICYgMSkgPDwgNgotICAgIHBhY2tlZCB8PSAo
dmFsLmhhc1RvcmNoICYgMSkgPDwgNwotICAgIGVuY29kZXIud3JpdGVVaW50OChwYWNrZWQpOwot
ICAgIHBhY2tlZCA9IDA7Ci0gICAgcGFja2VkIHw9ICh2YWwudG9yY2ggJiAxKSA8PCAwCi0gICAg
cGFja2VkIHw9ICh2YWwuaGFzRmlsbExpZ2h0TW9kZSAmIDEpIDw8IDEKLSAgICBwYWNrZWQgfD0g
KHZhbC5oYXNXaWR0aCAmIDEpIDw8IDIKLSAgICBwYWNrZWQgfD0gKHZhbC5oYXNIZWlnaHQgJiAx
KSA8PCAzCi0gICAgcGFja2VkIHw9ICh2YWwuaGFzUmVkRXllUmVkdWN0aW9uICYgMSkgPDwgNAot
ICAgIHBhY2tlZCB8PSAodmFsLnJlZEV5ZVJlZHVjdGlvbiAmIDEpIDw8IDUKLSAgICBlbmNvZGVy
LndyaXRlVWludDgocGFja2VkKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5l
bmNvZGVTdHJ1Y3QoY29kZWMuSW50MzIsIHZhbC53aGl0ZUJhbGFuY2VNb2RlKTsKLSAgICBlbmNv
ZGVyLmVuY29kZVN0cnVjdChjb2RlYy5JbnQzMiwgdmFsLmV4cG9zdXJlTW9kZSk7Ci0gICAgZW5j
b2Rlci5lbmNvZGVTdHJ1Y3QoY29kZWMuSW50MzIsIHZhbC5mb2N1c01vZGUpOwotICAgIGVuY29k
ZXIuZW5jb2RlQXJyYXlQb2ludGVyKG5ldyBjb2RlYy5Qb2ludGVyVG8oUG9pbnQyRCksIHZhbC5w
b2ludHNPZkludGVyZXN0KTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdChjb2RlYy5Eb3VibGUs
IHZhbC5leHBvc3VyZUNvbXBlbnNhdGlvbik7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3QoY29k
ZWMuRG91YmxlLCB2YWwuZXhwb3N1cmVUaW1lKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdChj
b2RlYy5Eb3VibGUsIHZhbC5jb2xvclRlbXBlcmF0dXJlKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0
cnVjdChjb2RlYy5Eb3VibGUsIHZhbC5pc28pOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNv
ZGVjLkRvdWJsZSwgdmFsLmJyaWdodG5lc3MpOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNv
ZGVjLkRvdWJsZSwgdmFsLmNvbnRyYXN0KTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdChjb2Rl
Yy5Eb3VibGUsIHZhbC5zYXR1cmF0aW9uKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdChjb2Rl
Yy5Eb3VibGUsIHZhbC5zaGFycG5lc3MpOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNvZGVj
LkRvdWJsZSwgdmFsLmZvY3VzRGlzdGFuY2UpOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNv
ZGVjLkRvdWJsZSwgdmFsLnBhbik7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3QoY29kZWMuRG91
YmxlLCB2YWwudGlsdCk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3QoY29kZWMuRG91YmxlLCB2
YWwuem9vbSk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3QoY29kZWMuSW50MzIsIHZhbC5maWxs
TGlnaHRNb2RlKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwot
ICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5l
bmNvZGVTdHJ1Y3QoY29kZWMuRG91YmxlLCB2YWwud2lkdGgpOwotICAgIGVuY29kZXIuZW5jb2Rl
U3RydWN0KGNvZGVjLkRvdWJsZSwgdmFsLmhlaWdodCk7Ci0gIH07Ci0gIGZ1bmN0aW9uIEJsb2Io
dmFsdWVzKSB7Ci0gICAgdGhpcy5pbml0RGVmYXVsdHNfKCk7Ci0gICAgdGhpcy5pbml0RmllbGRz
Xyh2YWx1ZXMpOwotICB9Ci0KLQotICBCbG9iLnByb3RvdHlwZS5pbml0RGVmYXVsdHNfID0gZnVu
Y3Rpb24oKSB7Ci0gICAgdGhpcy5taW1lVHlwZSA9IG51bGw7Ci0gICAgdGhpcy5kYXRhID0gbnVs
bDsKLSAgfTsKLSAgQmxvYi5wcm90b3R5cGUuaW5pdEZpZWxkc18gPSBmdW5jdGlvbihmaWVsZHMp
IHsKLSAgICBmb3IodmFyIGZpZWxkIGluIGZpZWxkcykgewotICAgICAgICBpZiAodGhpcy5oYXNP
d25Qcm9wZXJ0eShmaWVsZCkpCi0gICAgICAgICAgdGhpc1tmaWVsZF0gPSBmaWVsZHNbZmllbGRd
OwotICAgIH0KLSAgfTsKLQotICBCbG9iLnZhbGlkYXRlID0gZnVuY3Rpb24obWVzc2FnZVZhbGlk
YXRvciwgb2Zmc2V0KSB7Ci0gICAgdmFyIGVycjsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9y
LnZhbGlkYXRlU3RydWN0SGVhZGVyKG9mZnNldCwgY29kZWMua1N0cnVjdEhlYWRlclNpemUpOwot
ICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAg
cmV0dXJuIGVycjsKLQotICAgIHZhciBrVmVyc2lvblNpemVzID0gWwotICAgICAge3ZlcnNpb246
IDAsIG51bUJ5dGVzOiAyNH0KLSAgICBdOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFs
aWRhdGVTdHJ1Y3RWZXJzaW9uKG9mZnNldCwga1ZlcnNpb25TaXplcyk7Ci0gICAgaWYgKGVyciAh
PT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwot
Ci0KLSAgICAvLyB2YWxpZGF0ZSBCbG9iLm1pbWVUeXBlCi0gICAgZXJyID0gbWVzc2FnZVZhbGlk
YXRvci52YWxpZGF0ZVN0cmluZ1BvaW50ZXIob2Zmc2V0ICsgY29kZWMua1N0cnVjdEhlYWRlclNp
emUgKyAwLCBmYWxzZSkKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9y
Lk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotICAgIC8vIHZhbGlkYXRlIEJsb2IuZGF0
YQotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVBcnJheVBvaW50ZXIob2Zmc2V0
ICsgY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyA4LCAxLCBjb2RlYy5VaW50OCwgZmFsc2UsIFsw
XSwgMCk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQot
ICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJy
b3IuTk9ORTsKLSAgfTsKLQotICBCbG9iLmVuY29kZWRTaXplID0gY29kZWMua1N0cnVjdEhlYWRl
clNpemUgKyAxNjsKLQotICBCbG9iLmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICB2
YXIgcGFja2VkOwotICAgIHZhciB2YWwgPSBuZXcgQmxvYigpOwotICAgIHZhciBudW1iZXJPZkJ5
dGVzID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFyIHZlcnNpb24gPSBkZWNvZGVyLnJl
YWRVaW50MzIoKTsKLSAgICB2YWwubWltZVR5cGUgPSBkZWNvZGVyLmRlY29kZVN0cnVjdChjb2Rl
Yy5TdHJpbmcpOwotICAgIHZhbC5kYXRhID0gZGVjb2Rlci5kZWNvZGVBcnJheVBvaW50ZXIoY29k
ZWMuVWludDgpOwotICAgIHJldHVybiB2YWw7Ci0gIH07Ci0KLSAgQmxvYi5lbmNvZGUgPSBmdW5j
dGlvbihlbmNvZGVyLCB2YWwpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIGVuY29kZXIud3JpdGVV
aW50MzIoQmxvYi5lbmNvZGVkU2l6ZSk7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMigwKTsKLSAg
ICBlbmNvZGVyLmVuY29kZVN0cnVjdChjb2RlYy5TdHJpbmcsIHZhbC5taW1lVHlwZSk7Ci0gICAg
ZW5jb2Rlci5lbmNvZGVBcnJheVBvaW50ZXIoY29kZWMuVWludDgsIHZhbC5kYXRhKTsKLSAgfTsK
LSAgZnVuY3Rpb24gSW1hZ2VDYXB0dXJlX0dldFBob3RvU3RhdGVfUGFyYW1zKHZhbHVlcykgewot
ICAgIHRoaXMuaW5pdERlZmF1bHRzXygpOwotICAgIHRoaXMuaW5pdEZpZWxkc18odmFsdWVzKTsK
LSAgfQotCi0KLSAgSW1hZ2VDYXB0dXJlX0dldFBob3RvU3RhdGVfUGFyYW1zLnByb3RvdHlwZS5p
bml0RGVmYXVsdHNfID0gZnVuY3Rpb24oKSB7Ci0gICAgdGhpcy5zb3VyY2VJZCA9IG51bGw7Ci0g
IH07Ci0gIEltYWdlQ2FwdHVyZV9HZXRQaG90b1N0YXRlX1BhcmFtcy5wcm90b3R5cGUuaW5pdEZp
ZWxkc18gPSBmdW5jdGlvbihmaWVsZHMpIHsKLSAgICBmb3IodmFyIGZpZWxkIGluIGZpZWxkcykg
ewotICAgICAgICBpZiAodGhpcy5oYXNPd25Qcm9wZXJ0eShmaWVsZCkpCi0gICAgICAgICAgdGhp
c1tmaWVsZF0gPSBmaWVsZHNbZmllbGRdOwotICAgIH0KLSAgfTsKLQotICBJbWFnZUNhcHR1cmVf
R2V0UGhvdG9TdGF0ZV9QYXJhbXMudmFsaWRhdGUgPSBmdW5jdGlvbihtZXNzYWdlVmFsaWRhdG9y
LCBvZmZzZXQpIHsKLSAgICB2YXIgZXJyOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFs
aWRhdGVTdHJ1Y3RIZWFkZXIob2Zmc2V0LCBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSk7Ci0gICAg
aWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1
cm4gZXJyOwotCi0gICAgdmFyIGtWZXJzaW9uU2l6ZXMgPSBbCi0gICAgICB7dmVyc2lvbjogMCwg
bnVtQnl0ZXM6IDE2fQotICAgIF07Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0
ZVN0cnVjdFZlcnNpb24ob2Zmc2V0LCBrVmVyc2lvblNpemVzKTsKLSAgICBpZiAoZXJyICE9PSB2
YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQot
ICAgIC8vIHZhbGlkYXRlIEltYWdlQ2FwdHVyZV9HZXRQaG90b1N0YXRlX1BhcmFtcy5zb3VyY2VJ
ZAotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJpbmdQb2ludGVyKG9mZnNl
dCArIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgMCwgZmFsc2UpCi0gICAgaWYgKGVyciAhPT0g
dmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0g
ICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQotICBJbWFn
ZUNhcHR1cmVfR2V0UGhvdG9TdGF0ZV9QYXJhbXMuZW5jb2RlZFNpemUgPSBjb2RlYy5rU3RydWN0
SGVhZGVyU2l6ZSArIDg7Ci0KLSAgSW1hZ2VDYXB0dXJlX0dldFBob3RvU3RhdGVfUGFyYW1zLmRl
Y29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIHZhciB2YWwg
PSBuZXcgSW1hZ2VDYXB0dXJlX0dldFBob3RvU3RhdGVfUGFyYW1zKCk7Ci0gICAgdmFyIG51bWJl
ck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YXIgdmVyc2lvbiA9IGRlY29k
ZXIucmVhZFVpbnQzMigpOwotICAgIHZhbC5zb3VyY2VJZCA9IGRlY29kZXIuZGVjb2RlU3RydWN0
KGNvZGVjLlN0cmluZyk7Ci0gICAgcmV0dXJuIHZhbDsKLSAgfTsKLQotICBJbWFnZUNhcHR1cmVf
R2V0UGhvdG9TdGF0ZV9QYXJhbXMuZW5jb2RlID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0g
ICAgdmFyIHBhY2tlZDsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKEltYWdlQ2FwdHVyZV9HZXRQ
aG90b1N0YXRlX1BhcmFtcy5lbmNvZGVkU2l6ZSk7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMigw
KTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdChjb2RlYy5TdHJpbmcsIHZhbC5zb3VyY2VJZCk7
Ci0gIH07Ci0gIGZ1bmN0aW9uIEltYWdlQ2FwdHVyZV9HZXRQaG90b1N0YXRlX1Jlc3BvbnNlUGFy
YW1zKHZhbHVlcykgewotICAgIHRoaXMuaW5pdERlZmF1bHRzXygpOwotICAgIHRoaXMuaW5pdEZp
ZWxkc18odmFsdWVzKTsKLSAgfQotCi0KLSAgSW1hZ2VDYXB0dXJlX0dldFBob3RvU3RhdGVfUmVz
cG9uc2VQYXJhbXMucHJvdG90eXBlLmluaXREZWZhdWx0c18gPSBmdW5jdGlvbigpIHsKLSAgICB0
aGlzLnN0YXRlID0gbnVsbDsKLSAgfTsKLSAgSW1hZ2VDYXB0dXJlX0dldFBob3RvU3RhdGVfUmVz
cG9uc2VQYXJhbXMucHJvdG90eXBlLmluaXRGaWVsZHNfID0gZnVuY3Rpb24oZmllbGRzKSB7Ci0g
ICAgZm9yKHZhciBmaWVsZCBpbiBmaWVsZHMpIHsKLSAgICAgICAgaWYgKHRoaXMuaGFzT3duUHJv
cGVydHkoZmllbGQpKQotICAgICAgICAgIHRoaXNbZmllbGRdID0gZmllbGRzW2ZpZWxkXTsKLSAg
ICB9Ci0gIH07Ci0KLSAgSW1hZ2VDYXB0dXJlX0dldFBob3RvU3RhdGVfUmVzcG9uc2VQYXJhbXMu
dmFsaWRhdGUgPSBmdW5jdGlvbihtZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsKLSAgICB2YXIg
ZXJyOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RIZWFkZXIob2Zm
c2V0LCBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9y
LnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgdmFyIGtW
ZXJzaW9uU2l6ZXMgPSBbCi0gICAgICB7dmVyc2lvbjogMCwgbnVtQnl0ZXM6IDE2fQotICAgIF07
Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFZlcnNpb24ob2Zmc2V0
LCBrVmVyc2lvblNpemVzKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVy
cm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotICAgIC8vIHZhbGlkYXRlIEltYWdl
Q2FwdHVyZV9HZXRQaG90b1N0YXRlX1Jlc3BvbnNlUGFyYW1zLnN0YXRlCi0gICAgZXJyID0gbWVz
c2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFBvaW50ZXIob2Zmc2V0ICsgY29kZWMua1N0cnVj
dEhlYWRlclNpemUgKyAwLCBQaG90b1N0YXRlLCBmYWxzZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFs
aWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAg
cmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQotICBJbWFnZUNh
cHR1cmVfR2V0UGhvdG9TdGF0ZV9SZXNwb25zZVBhcmFtcy5lbmNvZGVkU2l6ZSA9IGNvZGVjLmtT
dHJ1Y3RIZWFkZXJTaXplICsgODsKLQotICBJbWFnZUNhcHR1cmVfR2V0UGhvdG9TdGF0ZV9SZXNw
b25zZVBhcmFtcy5kZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgdmFyIHBhY2tlZDsK
LSAgICB2YXIgdmFsID0gbmV3IEltYWdlQ2FwdHVyZV9HZXRQaG90b1N0YXRlX1Jlc3BvbnNlUGFy
YW1zKCk7Ci0gICAgdmFyIG51bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAg
ICB2YXIgdmVyc2lvbiA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhbC5zdGF0ZSA9IGRl
Y29kZXIuZGVjb2RlU3RydWN0UG9pbnRlcihQaG90b1N0YXRlKTsKLSAgICByZXR1cm4gdmFsOwot
ICB9OwotCi0gIEltYWdlQ2FwdHVyZV9HZXRQaG90b1N0YXRlX1Jlc3BvbnNlUGFyYW1zLmVuY29k
ZSA9IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgZW5jb2Rl
ci53cml0ZVVpbnQzMihJbWFnZUNhcHR1cmVfR2V0UGhvdG9TdGF0ZV9SZXNwb25zZVBhcmFtcy5l
bmNvZGVkU2l6ZSk7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMigwKTsKLSAgICBlbmNvZGVyLmVu
Y29kZVN0cnVjdFBvaW50ZXIoUGhvdG9TdGF0ZSwgdmFsLnN0YXRlKTsKLSAgfTsKLSAgZnVuY3Rp
b24gSW1hZ2VDYXB0dXJlX1NldE9wdGlvbnNfUGFyYW1zKHZhbHVlcykgewotICAgIHRoaXMuaW5p
dERlZmF1bHRzXygpOwotICAgIHRoaXMuaW5pdEZpZWxkc18odmFsdWVzKTsKLSAgfQotCi0KLSAg
SW1hZ2VDYXB0dXJlX1NldE9wdGlvbnNfUGFyYW1zLnByb3RvdHlwZS5pbml0RGVmYXVsdHNfID0g
ZnVuY3Rpb24oKSB7Ci0gICAgdGhpcy5zb3VyY2VJZCA9IG51bGw7Ci0gICAgdGhpcy5zZXR0aW5n
cyA9IG51bGw7Ci0gIH07Ci0gIEltYWdlQ2FwdHVyZV9TZXRPcHRpb25zX1BhcmFtcy5wcm90b3R5
cGUuaW5pdEZpZWxkc18gPSBmdW5jdGlvbihmaWVsZHMpIHsKLSAgICBmb3IodmFyIGZpZWxkIGlu
IGZpZWxkcykgewotICAgICAgICBpZiAodGhpcy5oYXNPd25Qcm9wZXJ0eShmaWVsZCkpCi0gICAg
ICAgICAgdGhpc1tmaWVsZF0gPSBmaWVsZHNbZmllbGRdOwotICAgIH0KLSAgfTsKLQotICBJbWFn
ZUNhcHR1cmVfU2V0T3B0aW9uc19QYXJhbXMudmFsaWRhdGUgPSBmdW5jdGlvbihtZXNzYWdlVmFs
aWRhdG9yLCBvZmZzZXQpIHsKLSAgICB2YXIgZXJyOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0
b3IudmFsaWRhdGVTdHJ1Y3RIZWFkZXIob2Zmc2V0LCBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSk7
Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAg
ICByZXR1cm4gZXJyOwotCi0gICAgdmFyIGtWZXJzaW9uU2l6ZXMgPSBbCi0gICAgICB7dmVyc2lv
bjogMCwgbnVtQnl0ZXM6IDI0fQotICAgIF07Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52
YWxpZGF0ZVN0cnVjdFZlcnNpb24ob2Zmc2V0LCBrVmVyc2lvblNpemVzKTsKLSAgICBpZiAoZXJy
ICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7
Ci0KLQotICAgIC8vIHZhbGlkYXRlIEltYWdlQ2FwdHVyZV9TZXRPcHRpb25zX1BhcmFtcy5zb3Vy
Y2VJZAotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJpbmdQb2ludGVyKG9m
ZnNldCArIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgMCwgZmFsc2UpCi0gICAgaWYgKGVyciAh
PT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwot
Ci0KLSAgICAvLyB2YWxpZGF0ZSBJbWFnZUNhcHR1cmVfU2V0T3B0aW9uc19QYXJhbXMuc2V0dGlu
Z3MKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0UG9pbnRlcihvZmZz
ZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDgsIFBob3RvU2V0dGluZ3MsIGZhbHNlKTsK
LSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAg
IHJldHVybiBlcnI7Ci0KLSAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05F
OwotICB9OwotCi0gIEltYWdlQ2FwdHVyZV9TZXRPcHRpb25zX1BhcmFtcy5lbmNvZGVkU2l6ZSA9
IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgMTY7Ci0KLSAgSW1hZ2VDYXB0dXJlX1NldE9wdGlv
bnNfUGFyYW1zLmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICB2YXIgcGFja2VkOwot
ICAgIHZhciB2YWwgPSBuZXcgSW1hZ2VDYXB0dXJlX1NldE9wdGlvbnNfUGFyYW1zKCk7Ci0gICAg
dmFyIG51bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YXIgdmVyc2lv
biA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhbC5zb3VyY2VJZCA9IGRlY29kZXIuZGVj
b2RlU3RydWN0KGNvZGVjLlN0cmluZyk7Ci0gICAgdmFsLnNldHRpbmdzID0gZGVjb2Rlci5kZWNv
ZGVTdHJ1Y3RQb2ludGVyKFBob3RvU2V0dGluZ3MpOwotICAgIHJldHVybiB2YWw7Ci0gIH07Ci0K
LSAgSW1hZ2VDYXB0dXJlX1NldE9wdGlvbnNfUGFyYW1zLmVuY29kZSA9IGZ1bmN0aW9uKGVuY29k
ZXIsIHZhbCkgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMihJbWFn
ZUNhcHR1cmVfU2V0T3B0aW9uc19QYXJhbXMuZW5jb2RlZFNpemUpOwotICAgIGVuY29kZXIud3Jp
dGVVaW50MzIoMCk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3QoY29kZWMuU3RyaW5nLCB2YWwu
c291cmNlSWQpOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0UG9pbnRlcihQaG90b1NldHRpbmdz
LCB2YWwuc2V0dGluZ3MpOwotICB9OwotICBmdW5jdGlvbiBJbWFnZUNhcHR1cmVfU2V0T3B0aW9u
c19SZXNwb25zZVBhcmFtcyh2YWx1ZXMpIHsKLSAgICB0aGlzLmluaXREZWZhdWx0c18oKTsKLSAg
ICB0aGlzLmluaXRGaWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0gIEltYWdlQ2FwdHVyZV9TZXRP
cHRpb25zX1Jlc3BvbnNlUGFyYW1zLnByb3RvdHlwZS5pbml0RGVmYXVsdHNfID0gZnVuY3Rpb24o
KSB7Ci0gICAgdGhpcy5zdWNjZXNzID0gZmFsc2U7Ci0gIH07Ci0gIEltYWdlQ2FwdHVyZV9TZXRP
cHRpb25zX1Jlc3BvbnNlUGFyYW1zLnByb3RvdHlwZS5pbml0RmllbGRzXyA9IGZ1bmN0aW9uKGZp
ZWxkcykgewotICAgIGZvcih2YXIgZmllbGQgaW4gZmllbGRzKSB7Ci0gICAgICAgIGlmICh0aGlz
Lmhhc093blByb3BlcnR5KGZpZWxkKSkKLSAgICAgICAgICB0aGlzW2ZpZWxkXSA9IGZpZWxkc1tm
aWVsZF07Ci0gICAgfQotICB9OwotCi0gIEltYWdlQ2FwdHVyZV9TZXRPcHRpb25zX1Jlc3BvbnNl
UGFyYW1zLnZhbGlkYXRlID0gZnVuY3Rpb24obWVzc2FnZVZhbGlkYXRvciwgb2Zmc2V0KSB7Ci0g
ICAgdmFyIGVycjsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0SGVh
ZGVyKG9mZnNldCwgY29kZWMua1N0cnVjdEhlYWRlclNpemUpOwotICAgIGlmIChlcnIgIT09IHZh
bGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAg
IHZhciBrVmVyc2lvblNpemVzID0gWwotICAgICAge3ZlcnNpb246IDAsIG51bUJ5dGVzOiAxNn0K
LSAgICBdOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RWZXJzaW9u
KG9mZnNldCwga1ZlcnNpb25TaXplcyk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlk
YXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0KLSAgICByZXR1cm4gdmFs
aWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIEltYWdlQ2FwdHVyZV9TZXRP
cHRpb25zX1Jlc3BvbnNlUGFyYW1zLmVuY29kZWRTaXplID0gY29kZWMua1N0cnVjdEhlYWRlclNp
emUgKyA4OwotCi0gIEltYWdlQ2FwdHVyZV9TZXRPcHRpb25zX1Jlc3BvbnNlUGFyYW1zLmRlY29k
ZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIHZhciB2YWwgPSBu
ZXcgSW1hZ2VDYXB0dXJlX1NldE9wdGlvbnNfUmVzcG9uc2VQYXJhbXMoKTsKLSAgICB2YXIgbnVt
YmVyT2ZCeXRlcyA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhciB2ZXJzaW9uID0gZGVj
b2Rlci5yZWFkVWludDMyKCk7Ci0gICAgcGFja2VkID0gZGVjb2Rlci5yZWFkVWludDgoKTsKLSAg
ICB2YWwuc3VjY2VzcyA9IChwYWNrZWQgPj4gMCkgJiAxID8gdHJ1ZSA6IGZhbHNlOwotICAgIGRl
Y29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEp
OwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rl
ci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICByZXR1cm4gdmFsOwotICB9Owot
Ci0gIEltYWdlQ2FwdHVyZV9TZXRPcHRpb25zX1Jlc3BvbnNlUGFyYW1zLmVuY29kZSA9IGZ1bmN0
aW9uKGVuY29kZXIsIHZhbCkgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgZW5jb2Rlci53cml0ZVVp
bnQzMihJbWFnZUNhcHR1cmVfU2V0T3B0aW9uc19SZXNwb25zZVBhcmFtcy5lbmNvZGVkU2l6ZSk7
Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMigwKTsKLSAgICBwYWNrZWQgPSAwOwotICAgIHBhY2tl
ZCB8PSAodmFsLnN1Y2Nlc3MgJiAxKSA8PCAwCi0gICAgZW5jb2Rlci53cml0ZVVpbnQ4KHBhY2tl
ZCk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNv
ZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsK
LSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICB9OwotICBmdW5j
dGlvbiBJbWFnZUNhcHR1cmVfVGFrZVBob3RvX1BhcmFtcyh2YWx1ZXMpIHsKLSAgICB0aGlzLmlu
aXREZWZhdWx0c18oKTsKLSAgICB0aGlzLmluaXRGaWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0g
IEltYWdlQ2FwdHVyZV9UYWtlUGhvdG9fUGFyYW1zLnByb3RvdHlwZS5pbml0RGVmYXVsdHNfID0g
ZnVuY3Rpb24oKSB7Ci0gICAgdGhpcy5zb3VyY2VJZCA9IG51bGw7Ci0gIH07Ci0gIEltYWdlQ2Fw
dHVyZV9UYWtlUGhvdG9fUGFyYW1zLnByb3RvdHlwZS5pbml0RmllbGRzXyA9IGZ1bmN0aW9uKGZp
ZWxkcykgewotICAgIGZvcih2YXIgZmllbGQgaW4gZmllbGRzKSB7Ci0gICAgICAgIGlmICh0aGlz
Lmhhc093blByb3BlcnR5KGZpZWxkKSkKLSAgICAgICAgICB0aGlzW2ZpZWxkXSA9IGZpZWxkc1tm
aWVsZF07Ci0gICAgfQotICB9OwotCi0gIEltYWdlQ2FwdHVyZV9UYWtlUGhvdG9fUGFyYW1zLnZh
bGlkYXRlID0gZnVuY3Rpb24obWVzc2FnZVZhbGlkYXRvciwgb2Zmc2V0KSB7Ci0gICAgdmFyIGVy
cjsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0SGVhZGVyKG9mZnNl
dCwgY29kZWMua1N0cnVjdEhlYWRlclNpemUpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52
YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHZhciBrVmVy
c2lvblNpemVzID0gWwotICAgICAge3ZlcnNpb246IDAsIG51bUJ5dGVzOiAxNn0KLSAgICBdOwot
ICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RWZXJzaW9uKG9mZnNldCwg
a1ZlcnNpb25TaXplcyk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJv
ci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0KLSAgICAvLyB2YWxpZGF0ZSBJbWFnZUNh
cHR1cmVfVGFrZVBob3RvX1BhcmFtcy5zb3VyY2VJZAotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0
b3IudmFsaWRhdGVTdHJpbmdQb2ludGVyKG9mZnNldCArIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXpl
ICsgMCwgZmFsc2UpCi0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5O
T05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0
aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQotICBJbWFnZUNhcHR1cmVfVGFrZVBob3RvX1BhcmFtcy5l
bmNvZGVkU2l6ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgODsKLQotICBJbWFnZUNhcHR1
cmVfVGFrZVBob3RvX1BhcmFtcy5kZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgdmFy
IHBhY2tlZDsKLSAgICB2YXIgdmFsID0gbmV3IEltYWdlQ2FwdHVyZV9UYWtlUGhvdG9fUGFyYW1z
KCk7Ci0gICAgdmFyIG51bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2
YXIgdmVyc2lvbiA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhbC5zb3VyY2VJZCA9IGRl
Y29kZXIuZGVjb2RlU3RydWN0KGNvZGVjLlN0cmluZyk7Ci0gICAgcmV0dXJuIHZhbDsKLSAgfTsK
LQotICBJbWFnZUNhcHR1cmVfVGFrZVBob3RvX1BhcmFtcy5lbmNvZGUgPSBmdW5jdGlvbihlbmNv
ZGVyLCB2YWwpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoSW1h
Z2VDYXB0dXJlX1Rha2VQaG90b19QYXJhbXMuZW5jb2RlZFNpemUpOwotICAgIGVuY29kZXIud3Jp
dGVVaW50MzIoMCk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3QoY29kZWMuU3RyaW5nLCB2YWwu
c291cmNlSWQpOwotICB9OwotICBmdW5jdGlvbiBJbWFnZUNhcHR1cmVfVGFrZVBob3RvX1Jlc3Bv
bnNlUGFyYW1zKHZhbHVlcykgewotICAgIHRoaXMuaW5pdERlZmF1bHRzXygpOwotICAgIHRoaXMu
aW5pdEZpZWxkc18odmFsdWVzKTsKLSAgfQotCi0KLSAgSW1hZ2VDYXB0dXJlX1Rha2VQaG90b19S
ZXNwb25zZVBhcmFtcy5wcm90b3R5cGUuaW5pdERlZmF1bHRzXyA9IGZ1bmN0aW9uKCkgewotICAg
IHRoaXMuYmxvYiA9IG51bGw7Ci0gIH07Ci0gIEltYWdlQ2FwdHVyZV9UYWtlUGhvdG9fUmVzcG9u
c2VQYXJhbXMucHJvdG90eXBlLmluaXRGaWVsZHNfID0gZnVuY3Rpb24oZmllbGRzKSB7Ci0gICAg
Zm9yKHZhciBmaWVsZCBpbiBmaWVsZHMpIHsKLSAgICAgICAgaWYgKHRoaXMuaGFzT3duUHJvcGVy
dHkoZmllbGQpKQotICAgICAgICAgIHRoaXNbZmllbGRdID0gZmllbGRzW2ZpZWxkXTsKLSAgICB9
Ci0gIH07Ci0KLSAgSW1hZ2VDYXB0dXJlX1Rha2VQaG90b19SZXNwb25zZVBhcmFtcy52YWxpZGF0
ZSA9IGZ1bmN0aW9uKG1lc3NhZ2VWYWxpZGF0b3IsIG9mZnNldCkgewotICAgIHZhciBlcnI7Ci0g
ICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdEhlYWRlcihvZmZzZXQsIGNv
ZGVjLmtTdHJ1Y3RIZWFkZXJTaXplKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRh
dGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICB2YXIga1ZlcnNpb25T
aXplcyA9IFsKLSAgICAgIHt2ZXJzaW9uOiAwLCBudW1CeXRlczogMTZ9Ci0gICAgXTsKLSAgICBl
cnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0VmVyc2lvbihvZmZzZXQsIGtWZXJz
aW9uU2l6ZXMpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9O
RSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0gICAgLy8gdmFsaWRhdGUgSW1hZ2VDYXB0dXJl
X1Rha2VQaG90b19SZXNwb25zZVBhcmFtcy5ibG9iCi0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRv
ci52YWxpZGF0ZVN0cnVjdFBvaW50ZXIob2Zmc2V0ICsgY29kZWMua1N0cnVjdEhlYWRlclNpemUg
KyAwLCBCbG9iLCBmYWxzZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25F
cnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgcmV0dXJuIHZhbGlkYXRvci52
YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQotICBJbWFnZUNhcHR1cmVfVGFrZVBob3RvX1Jl
c3BvbnNlUGFyYW1zLmVuY29kZWRTaXplID0gY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyA4Owot
Ci0gIEltYWdlQ2FwdHVyZV9UYWtlUGhvdG9fUmVzcG9uc2VQYXJhbXMuZGVjb2RlID0gZnVuY3Rp
b24oZGVjb2RlcikgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgdmFyIHZhbCA9IG5ldyBJbWFnZUNh
cHR1cmVfVGFrZVBob3RvX1Jlc3BvbnNlUGFyYW1zKCk7Ci0gICAgdmFyIG51bWJlck9mQnl0ZXMg
PSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YXIgdmVyc2lvbiA9IGRlY29kZXIucmVhZFVp
bnQzMigpOwotICAgIHZhbC5ibG9iID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3RQb2ludGVyKEJsb2Ip
OwotICAgIHJldHVybiB2YWw7Ci0gIH07Ci0KLSAgSW1hZ2VDYXB0dXJlX1Rha2VQaG90b19SZXNw
b25zZVBhcmFtcy5lbmNvZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2YWwpIHsKLSAgICB2YXIgcGFj
a2VkOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoSW1hZ2VDYXB0dXJlX1Rha2VQaG90b19SZXNw
b25zZVBhcmFtcy5lbmNvZGVkU2l6ZSk7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMigwKTsKLSAg
ICBlbmNvZGVyLmVuY29kZVN0cnVjdFBvaW50ZXIoQmxvYiwgdmFsLmJsb2IpOwotICB9OwotICB2
YXIga0ltYWdlQ2FwdHVyZV9HZXRQaG90b1N0YXRlX05hbWUgPSAwOwotICB2YXIga0ltYWdlQ2Fw
dHVyZV9TZXRPcHRpb25zX05hbWUgPSAxOwotICB2YXIga0ltYWdlQ2FwdHVyZV9UYWtlUGhvdG9f
TmFtZSA9IDI7Ci0KLSAgZnVuY3Rpb24gSW1hZ2VDYXB0dXJlUHRyKGhhbmRsZU9yUHRySW5mbykg
ewotICAgIHRoaXMucHRyID0gbmV3IGJpbmRpbmdzLkludGVyZmFjZVB0ckNvbnRyb2xsZXIoSW1h
Z2VDYXB0dXJlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaGFuZGxlT3JQdHJJbmZvKTsKLSAgfQotCi0gIGZ1bmN0aW9uIEltYWdlQ2FwdHVyZUFz
c29jaWF0ZWRQdHIoYXNzb2NpYXRlZEludGVyZmFjZVB0ckluZm8pIHsKLSAgICB0aGlzLnB0ciA9
IG5ldyBhc3NvY2lhdGVkQmluZGluZ3MuQXNzb2NpYXRlZEludGVyZmFjZVB0ckNvbnRyb2xsZXIo
Ci0gICAgICAgIEltYWdlQ2FwdHVyZSwgYXNzb2NpYXRlZEludGVyZmFjZVB0ckluZm8pOwotICB9
Ci0KLSAgSW1hZ2VDYXB0dXJlQXNzb2NpYXRlZFB0ci5wcm90b3R5cGUgPQotICAgICAgT2JqZWN0
LmNyZWF0ZShJbWFnZUNhcHR1cmVQdHIucHJvdG90eXBlKTsKLSAgSW1hZ2VDYXB0dXJlQXNzb2Np
YXRlZFB0ci5wcm90b3R5cGUuY29uc3RydWN0b3IgPQotICAgICAgSW1hZ2VDYXB0dXJlQXNzb2Np
YXRlZFB0cjsKLQotICBmdW5jdGlvbiBJbWFnZUNhcHR1cmVQcm94eShyZWNlaXZlcikgewotICAg
IHRoaXMucmVjZWl2ZXJfID0gcmVjZWl2ZXI7Ci0gIH0KLSAgSW1hZ2VDYXB0dXJlUHRyLnByb3Rv
dHlwZS5nZXRQaG90b1N0YXRlID0gZnVuY3Rpb24oKSB7Ci0gICAgcmV0dXJuIEltYWdlQ2FwdHVy
ZVByb3h5LnByb3RvdHlwZS5nZXRQaG90b1N0YXRlCi0gICAgICAgIC5hcHBseSh0aGlzLnB0ci5n
ZXRQcm94eSgpLCBhcmd1bWVudHMpOwotICB9OwotCi0gIEltYWdlQ2FwdHVyZVByb3h5LnByb3Rv
dHlwZS5nZXRQaG90b1N0YXRlID0gZnVuY3Rpb24oc291cmNlSWQpIHsKLSAgICB2YXIgcGFyYW1z
XyA9IG5ldyBJbWFnZUNhcHR1cmVfR2V0UGhvdG9TdGF0ZV9QYXJhbXMoKTsKLSAgICBwYXJhbXNf
LnNvdXJjZUlkID0gc291cmNlSWQ7Ci0gICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJl
c29sdmUsIHJlamVjdCkgewotICAgICAgdmFyIGJ1aWxkZXIgPSBuZXcgY29kZWMuTWVzc2FnZVYx
QnVpbGRlcigKLSAgICAgICAgICBrSW1hZ2VDYXB0dXJlX0dldFBob3RvU3RhdGVfTmFtZSwKLSAg
ICAgICAgICBjb2RlYy5hbGlnbihJbWFnZUNhcHR1cmVfR2V0UGhvdG9TdGF0ZV9QYXJhbXMuZW5j
b2RlZFNpemUpLAotICAgICAgICAgIGNvZGVjLmtNZXNzYWdlRXhwZWN0c1Jlc3BvbnNlLCAwKTsK
LSAgICAgIGJ1aWxkZXIuZW5jb2RlU3RydWN0KEltYWdlQ2FwdHVyZV9HZXRQaG90b1N0YXRlX1Bh
cmFtcywgcGFyYW1zXyk7Ci0gICAgICB2YXIgbWVzc2FnZSA9IGJ1aWxkZXIuZmluaXNoKCk7Ci0g
ICAgICB0aGlzLnJlY2VpdmVyXy5hY2NlcHRBbmRFeHBlY3RSZXNwb25zZShtZXNzYWdlKS50aGVu
KGZ1bmN0aW9uKG1lc3NhZ2UpIHsKLSAgICAgICAgdmFyIHJlYWRlciA9IG5ldyBjb2RlYy5NZXNz
YWdlUmVhZGVyKG1lc3NhZ2UpOwotICAgICAgICB2YXIgcmVzcG9uc2VQYXJhbXMgPQotICAgICAg
ICAgICAgcmVhZGVyLmRlY29kZVN0cnVjdChJbWFnZUNhcHR1cmVfR2V0UGhvdG9TdGF0ZV9SZXNw
b25zZVBhcmFtcyk7Ci0gICAgICAgIHJlc29sdmUocmVzcG9uc2VQYXJhbXMpOwotICAgICAgfSku
Y2F0Y2goZnVuY3Rpb24ocmVzdWx0KSB7Ci0gICAgICAgIHJlamVjdChFcnJvcigiQ29ubmVjdGlv
biBlcnJvcjogIiArIHJlc3VsdCkpOwotICAgICAgfSk7Ci0gICAgfS5iaW5kKHRoaXMpKTsKLSAg
fTsKLSAgSW1hZ2VDYXB0dXJlUHRyLnByb3RvdHlwZS5zZXRPcHRpb25zID0gZnVuY3Rpb24oKSB7
Ci0gICAgcmV0dXJuIEltYWdlQ2FwdHVyZVByb3h5LnByb3RvdHlwZS5zZXRPcHRpb25zCi0gICAg
ICAgIC5hcHBseSh0aGlzLnB0ci5nZXRQcm94eSgpLCBhcmd1bWVudHMpOwotICB9OwotCi0gIElt
YWdlQ2FwdHVyZVByb3h5LnByb3RvdHlwZS5zZXRPcHRpb25zID0gZnVuY3Rpb24oc291cmNlSWQs
IHNldHRpbmdzKSB7Ci0gICAgdmFyIHBhcmFtc18gPSBuZXcgSW1hZ2VDYXB0dXJlX1NldE9wdGlv
bnNfUGFyYW1zKCk7Ci0gICAgcGFyYW1zXy5zb3VyY2VJZCA9IHNvdXJjZUlkOwotICAgIHBhcmFt
c18uc2V0dGluZ3MgPSBzZXR0aW5nczsKLSAgICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24o
cmVzb2x2ZSwgcmVqZWN0KSB7Ci0gICAgICB2YXIgYnVpbGRlciA9IG5ldyBjb2RlYy5NZXNzYWdl
VjFCdWlsZGVyKAotICAgICAgICAgIGtJbWFnZUNhcHR1cmVfU2V0T3B0aW9uc19OYW1lLAotICAg
ICAgICAgIGNvZGVjLmFsaWduKEltYWdlQ2FwdHVyZV9TZXRPcHRpb25zX1BhcmFtcy5lbmNvZGVk
U2l6ZSksCi0gICAgICAgICAgY29kZWMua01lc3NhZ2VFeHBlY3RzUmVzcG9uc2UsIDApOwotICAg
ICAgYnVpbGRlci5lbmNvZGVTdHJ1Y3QoSW1hZ2VDYXB0dXJlX1NldE9wdGlvbnNfUGFyYW1zLCBw
YXJhbXNfKTsKLSAgICAgIHZhciBtZXNzYWdlID0gYnVpbGRlci5maW5pc2goKTsKLSAgICAgIHRo
aXMucmVjZWl2ZXJfLmFjY2VwdEFuZEV4cGVjdFJlc3BvbnNlKG1lc3NhZ2UpLnRoZW4oZnVuY3Rp
b24obWVzc2FnZSkgewotICAgICAgICB2YXIgcmVhZGVyID0gbmV3IGNvZGVjLk1lc3NhZ2VSZWFk
ZXIobWVzc2FnZSk7Ci0gICAgICAgIHZhciByZXNwb25zZVBhcmFtcyA9Ci0gICAgICAgICAgICBy
ZWFkZXIuZGVjb2RlU3RydWN0KEltYWdlQ2FwdHVyZV9TZXRPcHRpb25zX1Jlc3BvbnNlUGFyYW1z
KTsKLSAgICAgICAgcmVzb2x2ZShyZXNwb25zZVBhcmFtcyk7Ci0gICAgICB9KS5jYXRjaChmdW5j
dGlvbihyZXN1bHQpIHsKLSAgICAgICAgcmVqZWN0KEVycm9yKCJDb25uZWN0aW9uIGVycm9yOiAi
ICsgcmVzdWx0KSk7Ci0gICAgICB9KTsKLSAgICB9LmJpbmQodGhpcykpOwotICB9OwotICBJbWFn
ZUNhcHR1cmVQdHIucHJvdG90eXBlLnRha2VQaG90byA9IGZ1bmN0aW9uKCkgewotICAgIHJldHVy
biBJbWFnZUNhcHR1cmVQcm94eS5wcm90b3R5cGUudGFrZVBob3RvCi0gICAgICAgIC5hcHBseSh0
aGlzLnB0ci5nZXRQcm94eSgpLCBhcmd1bWVudHMpOwotICB9OwotCi0gIEltYWdlQ2FwdHVyZVBy
b3h5LnByb3RvdHlwZS50YWtlUGhvdG8gPSBmdW5jdGlvbihzb3VyY2VJZCkgewotICAgIHZhciBw
YXJhbXNfID0gbmV3IEltYWdlQ2FwdHVyZV9UYWtlUGhvdG9fUGFyYW1zKCk7Ci0gICAgcGFyYW1z
Xy5zb3VyY2VJZCA9IHNvdXJjZUlkOwotICAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihy
ZXNvbHZlLCByZWplY3QpIHsKLSAgICAgIHZhciBidWlsZGVyID0gbmV3IGNvZGVjLk1lc3NhZ2VW
MUJ1aWxkZXIoCi0gICAgICAgICAga0ltYWdlQ2FwdHVyZV9UYWtlUGhvdG9fTmFtZSwKLSAgICAg
ICAgICBjb2RlYy5hbGlnbihJbWFnZUNhcHR1cmVfVGFrZVBob3RvX1BhcmFtcy5lbmNvZGVkU2l6
ZSksCi0gICAgICAgICAgY29kZWMua01lc3NhZ2VFeHBlY3RzUmVzcG9uc2UsIDApOwotICAgICAg
YnVpbGRlci5lbmNvZGVTdHJ1Y3QoSW1hZ2VDYXB0dXJlX1Rha2VQaG90b19QYXJhbXMsIHBhcmFt
c18pOwotICAgICAgdmFyIG1lc3NhZ2UgPSBidWlsZGVyLmZpbmlzaCgpOwotICAgICAgdGhpcy5y
ZWNlaXZlcl8uYWNjZXB0QW5kRXhwZWN0UmVzcG9uc2UobWVzc2FnZSkudGhlbihmdW5jdGlvbiht
ZXNzYWdlKSB7Ci0gICAgICAgIHZhciByZWFkZXIgPSBuZXcgY29kZWMuTWVzc2FnZVJlYWRlciht
ZXNzYWdlKTsKLSAgICAgICAgdmFyIHJlc3BvbnNlUGFyYW1zID0KLSAgICAgICAgICAgIHJlYWRl
ci5kZWNvZGVTdHJ1Y3QoSW1hZ2VDYXB0dXJlX1Rha2VQaG90b19SZXNwb25zZVBhcmFtcyk7Ci0g
ICAgICAgIHJlc29sdmUocmVzcG9uc2VQYXJhbXMpOwotICAgICAgfSkuY2F0Y2goZnVuY3Rpb24o
cmVzdWx0KSB7Ci0gICAgICAgIHJlamVjdChFcnJvcigiQ29ubmVjdGlvbiBlcnJvcjogIiArIHJl
c3VsdCkpOwotICAgICAgfSk7Ci0gICAgfS5iaW5kKHRoaXMpKTsKLSAgfTsKLQotICBmdW5jdGlv
biBJbWFnZUNhcHR1cmVTdHViKGRlbGVnYXRlKSB7Ci0gICAgdGhpcy5kZWxlZ2F0ZV8gPSBkZWxl
Z2F0ZTsKLSAgfQotICBJbWFnZUNhcHR1cmVTdHViLnByb3RvdHlwZS5nZXRQaG90b1N0YXRlID0g
ZnVuY3Rpb24oc291cmNlSWQpIHsKLSAgICByZXR1cm4gdGhpcy5kZWxlZ2F0ZV8gJiYgdGhpcy5k
ZWxlZ2F0ZV8uZ2V0UGhvdG9TdGF0ZSAmJiB0aGlzLmRlbGVnYXRlXy5nZXRQaG90b1N0YXRlKHNv
dXJjZUlkKTsKLSAgfQotICBJbWFnZUNhcHR1cmVTdHViLnByb3RvdHlwZS5zZXRPcHRpb25zID0g
ZnVuY3Rpb24oc291cmNlSWQsIHNldHRpbmdzKSB7Ci0gICAgcmV0dXJuIHRoaXMuZGVsZWdhdGVf
ICYmIHRoaXMuZGVsZWdhdGVfLnNldE9wdGlvbnMgJiYgdGhpcy5kZWxlZ2F0ZV8uc2V0T3B0aW9u
cyhzb3VyY2VJZCwgc2V0dGluZ3MpOwotICB9Ci0gIEltYWdlQ2FwdHVyZVN0dWIucHJvdG90eXBl
LnRha2VQaG90byA9IGZ1bmN0aW9uKHNvdXJjZUlkKSB7Ci0gICAgcmV0dXJuIHRoaXMuZGVsZWdh
dGVfICYmIHRoaXMuZGVsZWdhdGVfLnRha2VQaG90byAmJiB0aGlzLmRlbGVnYXRlXy50YWtlUGhv
dG8oc291cmNlSWQpOwotICB9Ci0KLSAgSW1hZ2VDYXB0dXJlU3R1Yi5wcm90b3R5cGUuYWNjZXB0
ID0gZnVuY3Rpb24obWVzc2FnZSkgewotICAgIHZhciByZWFkZXIgPSBuZXcgY29kZWMuTWVzc2Fn
ZVJlYWRlcihtZXNzYWdlKTsKLSAgICBzd2l0Y2ggKHJlYWRlci5tZXNzYWdlTmFtZSkgewotICAg
IGRlZmF1bHQ6Ci0gICAgICByZXR1cm4gZmFsc2U7Ci0gICAgfQotICB9OwotCi0gIEltYWdlQ2Fw
dHVyZVN0dWIucHJvdG90eXBlLmFjY2VwdFdpdGhSZXNwb25kZXIgPQotICAgICAgZnVuY3Rpb24o
bWVzc2FnZSwgcmVzcG9uZGVyKSB7Ci0gICAgdmFyIHJlYWRlciA9IG5ldyBjb2RlYy5NZXNzYWdl
UmVhZGVyKG1lc3NhZ2UpOwotICAgIHN3aXRjaCAocmVhZGVyLm1lc3NhZ2VOYW1lKSB7Ci0gICAg
Y2FzZSBrSW1hZ2VDYXB0dXJlX0dldFBob3RvU3RhdGVfTmFtZToKLSAgICAgIHZhciBwYXJhbXMg
PSByZWFkZXIuZGVjb2RlU3RydWN0KEltYWdlQ2FwdHVyZV9HZXRQaG90b1N0YXRlX1BhcmFtcyk7
Ci0gICAgICB0aGlzLmdldFBob3RvU3RhdGUocGFyYW1zLnNvdXJjZUlkKS50aGVuKGZ1bmN0aW9u
KHJlc3BvbnNlKSB7Ci0gICAgICAgIHZhciByZXNwb25zZVBhcmFtcyA9Ci0gICAgICAgICAgICBu
ZXcgSW1hZ2VDYXB0dXJlX0dldFBob3RvU3RhdGVfUmVzcG9uc2VQYXJhbXMoKTsKLSAgICAgICAg
cmVzcG9uc2VQYXJhbXMuc3RhdGUgPSByZXNwb25zZS5zdGF0ZTsKLSAgICAgICAgdmFyIGJ1aWxk
ZXIgPSBuZXcgY29kZWMuTWVzc2FnZVYxQnVpbGRlcigKLSAgICAgICAgICAgIGtJbWFnZUNhcHR1
cmVfR2V0UGhvdG9TdGF0ZV9OYW1lLAotICAgICAgICAgICAgY29kZWMuYWxpZ24oSW1hZ2VDYXB0
dXJlX0dldFBob3RvU3RhdGVfUmVzcG9uc2VQYXJhbXMuZW5jb2RlZFNpemUpLAotICAgICAgICAg
ICAgY29kZWMua01lc3NhZ2VJc1Jlc3BvbnNlLCByZWFkZXIucmVxdWVzdElEKTsKLSAgICAgICAg
YnVpbGRlci5lbmNvZGVTdHJ1Y3QoSW1hZ2VDYXB0dXJlX0dldFBob3RvU3RhdGVfUmVzcG9uc2VQ
YXJhbXMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlUGFyYW1zKTsKLSAg
ICAgICAgdmFyIG1lc3NhZ2UgPSBidWlsZGVyLmZpbmlzaCgpOwotICAgICAgICByZXNwb25kZXIu
YWNjZXB0KG1lc3NhZ2UpOwotICAgICAgfSk7Ci0gICAgICByZXR1cm4gdHJ1ZTsKLSAgICBjYXNl
IGtJbWFnZUNhcHR1cmVfU2V0T3B0aW9uc19OYW1lOgotICAgICAgdmFyIHBhcmFtcyA9IHJlYWRl
ci5kZWNvZGVTdHJ1Y3QoSW1hZ2VDYXB0dXJlX1NldE9wdGlvbnNfUGFyYW1zKTsKLSAgICAgIHRo
aXMuc2V0T3B0aW9ucyhwYXJhbXMuc291cmNlSWQsIHBhcmFtcy5zZXR0aW5ncykudGhlbihmdW5j
dGlvbihyZXNwb25zZSkgewotICAgICAgICB2YXIgcmVzcG9uc2VQYXJhbXMgPQotICAgICAgICAg
ICAgbmV3IEltYWdlQ2FwdHVyZV9TZXRPcHRpb25zX1Jlc3BvbnNlUGFyYW1zKCk7Ci0gICAgICAg
IHJlc3BvbnNlUGFyYW1zLnN1Y2Nlc3MgPSByZXNwb25zZS5zdWNjZXNzOwotICAgICAgICB2YXIg
YnVpbGRlciA9IG5ldyBjb2RlYy5NZXNzYWdlVjFCdWlsZGVyKAotICAgICAgICAgICAga0ltYWdl
Q2FwdHVyZV9TZXRPcHRpb25zX05hbWUsCi0gICAgICAgICAgICBjb2RlYy5hbGlnbihJbWFnZUNh
cHR1cmVfU2V0T3B0aW9uc19SZXNwb25zZVBhcmFtcy5lbmNvZGVkU2l6ZSksCi0gICAgICAgICAg
ICBjb2RlYy5rTWVzc2FnZUlzUmVzcG9uc2UsIHJlYWRlci5yZXF1ZXN0SUQpOwotICAgICAgICBi
dWlsZGVyLmVuY29kZVN0cnVjdChJbWFnZUNhcHR1cmVfU2V0T3B0aW9uc19SZXNwb25zZVBhcmFt
cywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2VQYXJhbXMpOwotICAgICAg
ICB2YXIgbWVzc2FnZSA9IGJ1aWxkZXIuZmluaXNoKCk7Ci0gICAgICAgIHJlc3BvbmRlci5hY2Nl
cHQobWVzc2FnZSk7Ci0gICAgICB9KTsKLSAgICAgIHJldHVybiB0cnVlOwotICAgIGNhc2Uga0lt
YWdlQ2FwdHVyZV9UYWtlUGhvdG9fTmFtZToKLSAgICAgIHZhciBwYXJhbXMgPSByZWFkZXIuZGVj
b2RlU3RydWN0KEltYWdlQ2FwdHVyZV9UYWtlUGhvdG9fUGFyYW1zKTsKLSAgICAgIHRoaXMudGFr
ZVBob3RvKHBhcmFtcy5zb3VyY2VJZCkudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgICAg
ICB2YXIgcmVzcG9uc2VQYXJhbXMgPQotICAgICAgICAgICAgbmV3IEltYWdlQ2FwdHVyZV9UYWtl
UGhvdG9fUmVzcG9uc2VQYXJhbXMoKTsKLSAgICAgICAgcmVzcG9uc2VQYXJhbXMuYmxvYiA9IHJl
c3BvbnNlLmJsb2I7Ci0gICAgICAgIHZhciBidWlsZGVyID0gbmV3IGNvZGVjLk1lc3NhZ2VWMUJ1
aWxkZXIoCi0gICAgICAgICAgICBrSW1hZ2VDYXB0dXJlX1Rha2VQaG90b19OYW1lLAotICAgICAg
ICAgICAgY29kZWMuYWxpZ24oSW1hZ2VDYXB0dXJlX1Rha2VQaG90b19SZXNwb25zZVBhcmFtcy5l
bmNvZGVkU2l6ZSksCi0gICAgICAgICAgICBjb2RlYy5rTWVzc2FnZUlzUmVzcG9uc2UsIHJlYWRl
ci5yZXF1ZXN0SUQpOwotICAgICAgICBidWlsZGVyLmVuY29kZVN0cnVjdChJbWFnZUNhcHR1cmVf
VGFrZVBob3RvX1Jlc3BvbnNlUGFyYW1zLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBy
ZXNwb25zZVBhcmFtcyk7Ci0gICAgICAgIHZhciBtZXNzYWdlID0gYnVpbGRlci5maW5pc2goKTsK
LSAgICAgICAgcmVzcG9uZGVyLmFjY2VwdChtZXNzYWdlKTsKLSAgICAgIH0pOwotICAgICAgcmV0
dXJuIHRydWU7Ci0gICAgZGVmYXVsdDoKLSAgICAgIHJldHVybiBmYWxzZTsKLSAgICB9Ci0gIH07
Ci0KLSAgZnVuY3Rpb24gdmFsaWRhdGVJbWFnZUNhcHR1cmVSZXF1ZXN0KG1lc3NhZ2VWYWxpZGF0
b3IpIHsKLSAgICB2YXIgbWVzc2FnZSA9IG1lc3NhZ2VWYWxpZGF0b3IubWVzc2FnZTsKLSAgICB2
YXIgcGFyYW1zQ2xhc3MgPSBudWxsOwotICAgIHN3aXRjaCAobWVzc2FnZS5nZXROYW1lKCkpIHsK
LSAgICAgIGNhc2Uga0ltYWdlQ2FwdHVyZV9HZXRQaG90b1N0YXRlX05hbWU6Ci0gICAgICAgIGlm
IChtZXNzYWdlLmV4cGVjdHNSZXNwb25zZSgpKQotICAgICAgICAgIHBhcmFtc0NsYXNzID0gSW1h
Z2VDYXB0dXJlX0dldFBob3RvU3RhdGVfUGFyYW1zOwotICAgICAgYnJlYWs7Ci0gICAgICBjYXNl
IGtJbWFnZUNhcHR1cmVfU2V0T3B0aW9uc19OYW1lOgotICAgICAgICBpZiAobWVzc2FnZS5leHBl
Y3RzUmVzcG9uc2UoKSkKLSAgICAgICAgICBwYXJhbXNDbGFzcyA9IEltYWdlQ2FwdHVyZV9TZXRP
cHRpb25zX1BhcmFtczsKLSAgICAgIGJyZWFrOwotICAgICAgY2FzZSBrSW1hZ2VDYXB0dXJlX1Rh
a2VQaG90b19OYW1lOgotICAgICAgICBpZiAobWVzc2FnZS5leHBlY3RzUmVzcG9uc2UoKSkKLSAg
ICAgICAgICBwYXJhbXNDbGFzcyA9IEltYWdlQ2FwdHVyZV9UYWtlUGhvdG9fUGFyYW1zOwotICAg
ICAgYnJlYWs7Ci0gICAgfQotICAgIGlmIChwYXJhbXNDbGFzcyA9PT0gbnVsbCkKLSAgICAgIHJl
dHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gICAgcmV0dXJuIHBhcmFtc0Ns
YXNzLnZhbGlkYXRlKG1lc3NhZ2VWYWxpZGF0b3IsIG1lc3NhZ2VWYWxpZGF0b3IubWVzc2FnZS5n
ZXRIZWFkZXJOdW1CeXRlcygpKTsKLSAgfQotCi0gIGZ1bmN0aW9uIHZhbGlkYXRlSW1hZ2VDYXB0
dXJlUmVzcG9uc2UobWVzc2FnZVZhbGlkYXRvcikgewotICAgdmFyIG1lc3NhZ2UgPSBtZXNzYWdl
VmFsaWRhdG9yLm1lc3NhZ2U7Ci0gICB2YXIgcGFyYW1zQ2xhc3MgPSBudWxsOwotICAgc3dpdGNo
IChtZXNzYWdlLmdldE5hbWUoKSkgewotICAgICAgY2FzZSBrSW1hZ2VDYXB0dXJlX0dldFBob3Rv
U3RhdGVfTmFtZToKLSAgICAgICAgaWYgKG1lc3NhZ2UuaXNSZXNwb25zZSgpKQotICAgICAgICAg
IHBhcmFtc0NsYXNzID0gSW1hZ2VDYXB0dXJlX0dldFBob3RvU3RhdGVfUmVzcG9uc2VQYXJhbXM7
Ci0gICAgICAgIGJyZWFrOwotICAgICAgY2FzZSBrSW1hZ2VDYXB0dXJlX1NldE9wdGlvbnNfTmFt
ZToKLSAgICAgICAgaWYgKG1lc3NhZ2UuaXNSZXNwb25zZSgpKQotICAgICAgICAgIHBhcmFtc0Ns
YXNzID0gSW1hZ2VDYXB0dXJlX1NldE9wdGlvbnNfUmVzcG9uc2VQYXJhbXM7Ci0gICAgICAgIGJy
ZWFrOwotICAgICAgY2FzZSBrSW1hZ2VDYXB0dXJlX1Rha2VQaG90b19OYW1lOgotICAgICAgICBp
ZiAobWVzc2FnZS5pc1Jlc3BvbnNlKCkpCi0gICAgICAgICAgcGFyYW1zQ2xhc3MgPSBJbWFnZUNh
cHR1cmVfVGFrZVBob3RvX1Jlc3BvbnNlUGFyYW1zOwotICAgICAgICBicmVhazsKLSAgICB9Ci0g
ICAgaWYgKHBhcmFtc0NsYXNzID09PSBudWxsKQotICAgICAgcmV0dXJuIHZhbGlkYXRvci52YWxp
ZGF0aW9uRXJyb3IuTk9ORTsKLSAgICByZXR1cm4gcGFyYW1zQ2xhc3MudmFsaWRhdGUobWVzc2Fn
ZVZhbGlkYXRvciwgbWVzc2FnZVZhbGlkYXRvci5tZXNzYWdlLmdldEhlYWRlck51bUJ5dGVzKCkp
OwotICB9Ci0KLSAgdmFyIEltYWdlQ2FwdHVyZSA9IHsKLSAgICBuYW1lOiAnbWVkaWEubW9qb20u
SW1hZ2VDYXB0dXJlJywKLSAgICBrVmVyc2lvbjogMCwKLSAgICBwdHJDbGFzczogSW1hZ2VDYXB0
dXJlUHRyLAotICAgIHByb3h5Q2xhc3M6IEltYWdlQ2FwdHVyZVByb3h5LAotICAgIHN0dWJDbGFz
czogSW1hZ2VDYXB0dXJlU3R1YiwKLSAgICB2YWxpZGF0ZVJlcXVlc3Q6IHZhbGlkYXRlSW1hZ2VD
YXB0dXJlUmVxdWVzdCwKLSAgICB2YWxpZGF0ZVJlc3BvbnNlOiB2YWxpZGF0ZUltYWdlQ2FwdHVy
ZVJlc3BvbnNlLAotICB9OwotICBJbWFnZUNhcHR1cmVTdHViLnByb3RvdHlwZS52YWxpZGF0b3Ig
PSB2YWxpZGF0ZUltYWdlQ2FwdHVyZVJlcXVlc3Q7Ci0gIEltYWdlQ2FwdHVyZVByb3h5LnByb3Rv
dHlwZS52YWxpZGF0b3IgPSB2YWxpZGF0ZUltYWdlQ2FwdHVyZVJlc3BvbnNlOwotICBleHBvcnRz
Lk1ldGVyaW5nTW9kZSA9IE1ldGVyaW5nTW9kZTsKLSAgZXhwb3J0cy5SZWRFeWVSZWR1Y3Rpb24g
PSBSZWRFeWVSZWR1Y3Rpb247Ci0gIGV4cG9ydHMuRmlsbExpZ2h0TW9kZSA9IEZpbGxMaWdodE1v
ZGU7Ci0gIGV4cG9ydHMuUmFuZ2UgPSBSYW5nZTsKLSAgZXhwb3J0cy5QaG90b1N0YXRlID0gUGhv
dG9TdGF0ZTsKLSAgZXhwb3J0cy5Qb2ludDJEID0gUG9pbnQyRDsKLSAgZXhwb3J0cy5QaG90b1Nl
dHRpbmdzID0gUGhvdG9TZXR0aW5nczsKLSAgZXhwb3J0cy5CbG9iID0gQmxvYjsKLSAgZXhwb3J0
cy5JbWFnZUNhcHR1cmUgPSBJbWFnZUNhcHR1cmU7Ci0gIGV4cG9ydHMuSW1hZ2VDYXB0dXJlUHRy
ID0gSW1hZ2VDYXB0dXJlUHRyOwotICBleHBvcnRzLkltYWdlQ2FwdHVyZUFzc29jaWF0ZWRQdHIg
PSBJbWFnZUNhcHR1cmVBc3NvY2lhdGVkUHRyOwotfSkoKTsKXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS9tb2NrLWJhcmNvZGVkZXRlY3Rpb24uanMgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1
bS9tb2NrLWJhcmNvZGVkZXRlY3Rpb24uanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDcwM2RiNDI1NTkwLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS9tb2NrLWJhcmNvZGVkZXRlY3Rp
b24uanMKKysrIC9kZXYvbnVsbApAQCAtMSwxMjQgKzAsMCBAQAotInVzZSBzdHJpY3QiOwotCi12
YXIgQmFyY29kZURldGVjdGlvblRlc3QgPSAoKCkgPT4gewotICAvLyBDbGFzcyB0aGF0IG1vY2tz
IEJhcmNvZGVEZXRlY3Rpb25Qcm92aWRlciBpbnRlcmZhY2UgZGVmaW5lZCBpbgotICAvLyBodHRw
czovL2NzLmNocm9taXVtLm9yZy9jaHJvbWl1bS9zcmMvc2VydmljZXMvc2hhcGVfZGV0ZWN0aW9u
L3B1YmxpYy9tb2pvbS9iYXJjb2RlZGV0ZWN0aW9uX3Byb3ZpZGVyLm1vam9tCi0gIGNsYXNzIE1v
Y2tCYXJjb2RlRGV0ZWN0aW9uUHJvdmlkZXIgewotICAgIGNvbnN0cnVjdG9yKCkgewotICAgICAg
dGhpcy5iaW5kaW5nU2V0XyA9IG5ldyBtb2pvLkJpbmRpbmdTZXQoCi0gICAgICAgICAgc2hhcGVE
ZXRlY3Rpb24ubW9qb20uQmFyY29kZURldGVjdGlvblByb3ZpZGVyKTsKLQotICAgICAgdGhpcy5p
bnRlcmNlcHRvcl8gPSBuZXcgTW9qb0ludGVyZmFjZUludGVyY2VwdG9yKAotICAgICAgICAgIHNo
YXBlRGV0ZWN0aW9uLm1vam9tLkJhcmNvZGVEZXRlY3Rpb25Qcm92aWRlci5uYW1lLCAiY29udGV4
dCIsIHRydWUpOwotICAgICAgdGhpcy5pbnRlcmNlcHRvcl8ub25pbnRlcmZhY2VyZXF1ZXN0ID0K
LSAgICAgICAgIGUgPT4gdGhpcy5iaW5kaW5nU2V0Xy5hZGRCaW5kaW5nKHRoaXMsIGUuaGFuZGxl
KTsKLSAgICAgIHRoaXMuaW50ZXJjZXB0b3JfLnN0YXJ0KCk7Ci0gICAgfQotCi0gICAgY3JlYXRl
QmFyY29kZURldGVjdGlvbihyZXF1ZXN0LCBvcHRpb25zKSB7Ci0gICAgICB0aGlzLm1vY2tTZXJ2
aWNlXyA9IG5ldyBNb2NrQmFyY29kZURldGVjdGlvbihyZXF1ZXN0LCBvcHRpb25zKTsKLSAgICB9
Ci0KLSAgICBlbnVtZXJhdGVTdXBwb3J0ZWRGb3JtYXRzKCkgewotICAgICAgcmV0dXJuIFByb21p
c2UucmVzb2x2ZSh7Ci0gICAgICAgIHN1cHBvcnRlZEZvcm1hdHM6IFsKLSAgICAgICAgICBzaGFw
ZURldGVjdGlvbi5tb2pvbS5CYXJjb2RlRm9ybWF0LkFaVEVDLAotICAgICAgICAgIHNoYXBlRGV0
ZWN0aW9uLm1vam9tLkJhcmNvZGVGb3JtYXQuREFUQV9NQVRSSVgsCi0gICAgICAgICAgc2hhcGVE
ZXRlY3Rpb24ubW9qb20uQmFyY29kZUZvcm1hdC5RUl9DT0RFLAotICAgICAgICBdCi0gICAgICB9
KTsKLSAgICB9Ci0KLSAgICBnZXRGcmFtZURhdGEoKSB7Ci0gICAgICByZXR1cm4gdGhpcy5tb2Nr
U2VydmljZV8uYnVmZmVyRGF0YV87Ci0gICAgfQotCi0gICAgZ2V0Rm9ybWF0cygpIHsKLSAgICAg
cmV0dXJuIHRoaXMubW9ja1NlcnZpY2VfLm9wdGlvbnNfLmZvcm1hdHM7Ci0gICAgfQotCi0gICAg
cmVzZXQoKSB7Ci0gICAgICB0aGlzLm1vY2tTZXJ2aWNlXyA9IG51bGw7Ci0gICAgICB0aGlzLmJp
bmRpbmdTZXRfLmNsb3NlQWxsQmluZGluZ3MoKTsKLSAgICAgIHRoaXMuaW50ZXJjZXB0b3JfLnN0
b3AoKTsKLSAgICB9Ci0gIH0KLQotICAvLyBDbGFzcyB0aGF0IG1vY2tzIEJhcmNvZGVEZXRlY3Rp
b24gaW50ZXJmYWNlIGRlZmluZWQgaW4KLSAgLy8gaHR0cHM6Ly9jcy5jaHJvbWl1bS5vcmcvY2hy
b21pdW0vc3JjL3NlcnZpY2VzL3NoYXBlX2RldGVjdGlvbi9wdWJsaWMvbW9qb20vYmFyY29kZWRl
dGVjdGlvbi5tb2pvbQotICBjbGFzcyBNb2NrQmFyY29kZURldGVjdGlvbiB7Ci0gICAgY29uc3Ry
dWN0b3IocmVxdWVzdCwgb3B0aW9ucykgewotICAgICAgdGhpcy5vcHRpb25zXyA9IG9wdGlvbnM7
Ci0gICAgICB0aGlzLmJpbmRpbmdfID0KLSAgICAgICAgICBuZXcgbW9qby5CaW5kaW5nKHNoYXBl
RGV0ZWN0aW9uLm1vam9tLkJhcmNvZGVEZXRlY3Rpb24sCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICB0aGlzLCByZXF1ZXN0KTsKLSAgICB9Ci0KLSAgICBkZXRlY3QoYml0bWFwRGF0YSkgewot
ICAgICAgdGhpcy5idWZmZXJEYXRhXyA9Ci0gICAgICAgICAgbmV3IFVpbnQzMkFycmF5KGdldEFy
cmF5QnVmZmVyRnJvbUJpZ0J1ZmZlcihiaXRtYXBEYXRhLnBpeGVsRGF0YSkpOwotICAgICAgcmV0
dXJuIFByb21pc2UucmVzb2x2ZSh7Ci0gICAgICAgIHJlc3VsdHM6IFsKLSAgICAgICAgICB7Ci0g
ICAgICAgICAgICByYXdWYWx1ZSA6ICJjYXRzIiwKLSAgICAgICAgICAgIGJvdW5kaW5nQm94OiB7
IHg6IDEuMCwgeTogMS4wLCB3aWR0aDogMTAwLjAsIGhlaWdodDogMTAwLjAgfSwKLSAgICAgICAg
ICAgIGZvcm1hdDogc2hhcGVEZXRlY3Rpb24ubW9qb20uQmFyY29kZUZvcm1hdC5RUl9DT0RFLAot
ICAgICAgICAgICAgY29ybmVyUG9pbnRzOiBbCi0gICAgICAgICAgICAgIHsgeDogMS4wLCB5OiAx
LjAgfSwKLSAgICAgICAgICAgICAgeyB4OiAxMDEuMCwgeTogMS4wIH0sCi0gICAgICAgICAgICAg
IHsgeDogMTAxLjAsIHk6IDEwMS4wIH0sCi0gICAgICAgICAgICAgIHsgeDogMS4wLCB5OiAxMDEu
MCB9Ci0gICAgICAgICAgICBdLAotICAgICAgICAgIH0sCi0gICAgICAgICAgewotICAgICAgICAg
ICAgcmF3VmFsdWUgOiAiZG9ncyIsCi0gICAgICAgICAgICBib3VuZGluZ0JveDogeyB4OiAyLjAs
IHk6IDIuMCwgd2lkdGg6IDUwLjAsIGhlaWdodDogNTAuMCB9LAotICAgICAgICAgICAgZm9ybWF0
OiBzaGFwZURldGVjdGlvbi5tb2pvbS5CYXJjb2RlRm9ybWF0LkNPREVfMTI4LAotICAgICAgICAg
ICAgY29ybmVyUG9pbnRzOiBbCi0gICAgICAgICAgICAgIHsgeDogMi4wLCB5OiAyLjAgfSwKLSAg
ICAgICAgICAgICAgeyB4OiA1Mi4wLCB5OiAyLjAgfSwKLSAgICAgICAgICAgICAgeyB4OiA1Mi4w
LCB5OiA1Mi4wIH0sCi0gICAgICAgICAgICAgIHsgeDogMi4wLCB5OiA1Mi4wIH0KLSAgICAgICAg
ICAgIF0sCi0gICAgICAgICAgfSwKLSAgICAgICAgXSwKLSAgICAgIH0pOwotICAgIH0KLSAgfQot
Ci0gIGxldCB0ZXN0SW50ZXJuYWwgPSB7Ci0gICAgaW5pdGlhbGl6ZWQ6IGZhbHNlLAotICAgIE1v
Y2tCYXJjb2RlRGV0ZWN0aW9uUHJvdmlkZXI6IG51bGwKLSAgfQotCi0gIGNsYXNzIEJhcmNvZGVE
ZXRlY3Rpb25UZXN0Q2hyb21pdW0gewotICAgIGNvbnN0cnVjdG9yKCkgewotICAgICAgT2JqZWN0
LmZyZWV6ZSh0aGlzKTsgLy8gTWFrZSBpdCBpbW11dGFibGUuCi0gICAgfQotCi0gICAgaW5pdGlh
bGl6ZSgpIHsKLSAgICAgIGlmICh0ZXN0SW50ZXJuYWwuaW5pdGlhbGl6ZWQpCi0gICAgICAgIHRo
cm93IG5ldyBFcnJvcignQ2FsbCByZXNldCgpIGJlZm9yZSBpbml0aWFsaXplKCkuJyk7Ci0KLSAg
ICAgIHRlc3RJbnRlcm5hbC5Nb2NrQmFyY29kZURldGVjdGlvblByb3ZpZGVyID0gbmV3IE1vY2tC
YXJjb2RlRGV0ZWN0aW9uUHJvdmlkZXI7Ci0gICAgICB0ZXN0SW50ZXJuYWwuaW5pdGlhbGl6ZWQg
PSB0cnVlOwotICAgIH0KLQotICAgIC8vIFJlc2V0cyBzdGF0ZSBvZiBiYXJjb2RlIGRldGVjdGlv
biBtb2NrcyBiZXR3ZWVuIHRlc3QgcnVucy4KLSAgICBhc3luYyByZXNldCgpIHsKLSAgICAgIGlm
ICghdGVzdEludGVybmFsLmluaXRpYWxpemVkKQotICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0Nh
bGwgaW5pdGlhbGl6ZSgpIGJlZm9yZSByZXNldCgpLicpOwotICAgICAgdGVzdEludGVybmFsLk1v
Y2tCYXJjb2RlRGV0ZWN0aW9uUHJvdmlkZXIucmVzZXQoKTsKLSAgICAgIHRlc3RJbnRlcm5hbC5N
b2NrQmFyY29kZURldGVjdGlvblByb3ZpZGVyID0gbnVsbDsKLSAgICAgIHRlc3RJbnRlcm5hbC5p
bml0aWFsaXplZCA9IGZhbHNlOwotCi0gICAgICBhd2FpdCBuZXcgUHJvbWlzZShyZXNvbHZlID0+
IHNldFRpbWVvdXQocmVzb2x2ZSwgMCkpOwotICAgIH0KLQotICAgIE1vY2tCYXJjb2RlRGV0ZWN0
aW9uUHJvdmlkZXIoKSB7Ci0gICAgICByZXR1cm4gdGVzdEludGVybmFsLk1vY2tCYXJjb2RlRGV0
ZWN0aW9uUHJvdmlkZXI7Ci0gICAgfQotICB9Ci0KLSAgcmV0dXJuIEJhcmNvZGVEZXRlY3Rpb25U
ZXN0Q2hyb21pdW07Ci19KSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vbW9jay1iYXJjb2RlZGV0ZWN0
aW9uLmpzLmhlYWRlcnMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy9jaHJvbWl1bS9tb2NrLWJhcmNvZGVkZXRlY3Rpb24uanMuaGVhZGVycwpk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmM2MWEzNGE0ZWMuLjAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L2Nocm9taXVtL21vY2stYmFyY29kZWRldGVjdGlvbi5qcy5oZWFkZXJzCisrKyAvZGV2L251bGwK
QEAgLTEgKzAsMCBAQAotQ29udGVudC1UeXBlOiB0ZXh0L2phdmFzY3JpcHQ7IGNoYXJzZXQ9dXRm
LTgKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS9tb2NrLWZh
Y2VkZXRlY3Rpb24uanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy9jaHJvbWl1bS9tb2NrLWZhY2VkZXRlY3Rpb24uanMKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAxMzA2YTJhMGM3Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS9t
b2NrLWZhY2VkZXRlY3Rpb24uanMKKysrIC9kZXYvbnVsbApAQCAtMSwxMzEgKzAsMCBAQAotInVz
ZSBzdHJpY3QiOwotCi12YXIgRmFjZURldGVjdGlvblRlc3QgPSAoKCkgPT4gewotICAvLyBDbGFz
cyB0aGF0IG1vY2tzIEZhY2VEZXRlY3Rpb25Qcm92aWRlciBpbnRlcmZhY2UgZGVmaW5lZCBpbgot
ICAvLyBodHRwczovL2NzLmNocm9taXVtLm9yZy9jaHJvbWl1bS9zcmMvc2VydmljZXMvc2hhcGVf
ZGV0ZWN0aW9uL3B1YmxpYy9tb2pvbS9mYWNlZGV0ZWN0aW9uX3Byb3ZpZGVyLm1vam9tCi0gIGNs
YXNzIE1vY2tGYWNlRGV0ZWN0aW9uUHJvdmlkZXIgewotICAgIGNvbnN0cnVjdG9yKCkgewotICAg
ICAgdGhpcy5iaW5kaW5nU2V0XyA9IG5ldyBtb2pvLkJpbmRpbmdTZXQoCi0gICAgICAgIHNoYXBl
RGV0ZWN0aW9uLm1vam9tLkZhY2VEZXRlY3Rpb25Qcm92aWRlcik7Ci0KLSAgICAgIHRoaXMuaW50
ZXJjZXB0b3JfID0gbmV3IE1vam9JbnRlcmZhY2VJbnRlcmNlcHRvcigKLSAgICAgICAgICBzaGFw
ZURldGVjdGlvbi5tb2pvbS5GYWNlRGV0ZWN0aW9uUHJvdmlkZXIubmFtZSwgImNvbnRleHQiLCB0
cnVlKTsKLSAgICAgIHRoaXMuaW50ZXJjZXB0b3JfLm9uaW50ZXJmYWNlcmVxdWVzdCA9Ci0gICAg
ICAgICBlID0+IHRoaXMuYmluZGluZ1NldF8uYWRkQmluZGluZyh0aGlzLCBlLmhhbmRsZSk7Ci0g
ICAgICB0aGlzLmludGVyY2VwdG9yXy5zdGFydCgpOwotICAgIH0KLQotICAgIGNyZWF0ZUZhY2VE
ZXRlY3Rpb24ocmVxdWVzdCwgb3B0aW9ucykgewotICAgICAgdGhpcy5tb2NrU2VydmljZV8gPSBu
ZXcgTW9ja0ZhY2VEZXRlY3Rpb24ocmVxdWVzdCwgb3B0aW9ucyk7Ci0gICAgfQotCi0gICAgZ2V0
RnJhbWVEYXRhKCkgewotICAgICAgcmV0dXJuIHRoaXMubW9ja1NlcnZpY2VfLmJ1ZmZlckRhdGFf
OwotICAgIH0KLQotICAgIGdldE1heERldGVjdGVkRmFjZXMoKSB7Ci0gICAgIHJldHVybiB0aGlz
Lm1vY2tTZXJ2aWNlXy5tYXhEZXRlY3RlZEZhY2VzXzsKLSAgICB9Ci0KLSAgICBnZXRGYXN0TW9k
ZSAoKSB7Ci0gICAgICByZXR1cm4gdGhpcy5tb2NrU2VydmljZV8uZmFzdE1vZGVfOwotICAgIH0K
LQotICAgIHJlc2V0KCkgewotICAgICAgdGhpcy5tb2NrU2VydmljZV8gPSBudWxsOwotICAgICAg
dGhpcy5iaW5kaW5nU2V0Xy5jbG9zZUFsbEJpbmRpbmdzKCk7Ci0gICAgICB0aGlzLmludGVyY2Vw
dG9yXy5zdG9wKCk7Ci0gICAgfQotICB9Ci0KLSAgLy8gQ2xhc3MgdGhhdCBtb2NrcyBGYWNlRGV0
ZWN0aW9uIGludGVyZmFjZSBkZWZpbmVkIGluCi0gIC8vIGh0dHBzOi8vY3MuY2hyb21pdW0ub3Jn
L2Nocm9taXVtL3NyYy9zZXJ2aWNlcy9zaGFwZV9kZXRlY3Rpb24vcHVibGljL21vam9tL2ZhY2Vk
ZXRlY3Rpb24ubW9qb20KLSAgY2xhc3MgTW9ja0ZhY2VEZXRlY3Rpb24gewotICAgIGNvbnN0cnVj
dG9yKHJlcXVlc3QsIG9wdGlvbnMpIHsKLSAgICAgIHRoaXMubWF4RGV0ZWN0ZWRGYWNlc18gPSBv
cHRpb25zLm1heERldGVjdGVkRmFjZXM7Ci0gICAgICB0aGlzLmZhc3RNb2RlXyA9IG9wdGlvbnMu
ZmFzdE1vZGU7Ci0gICAgICB0aGlzLmJpbmRpbmdfID0KLSAgICAgICAgICBuZXcgbW9qby5CaW5k
aW5nKHNoYXBlRGV0ZWN0aW9uLm1vam9tLkZhY2VEZXRlY3Rpb24sCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICB0aGlzLCByZXF1ZXN0KTsKLSAgICB9Ci0KLSAgICBkZXRlY3QoYml0bWFwRGF0
YSkgewotICAgICAgdGhpcy5idWZmZXJEYXRhXyA9Ci0gICAgICAgICAgbmV3IFVpbnQzMkFycmF5
KGdldEFycmF5QnVmZmVyRnJvbUJpZ0J1ZmZlcihiaXRtYXBEYXRhLnBpeGVsRGF0YSkpOwotICAg
ICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh7Ci0gICAgICAgIHJlc3VsdHM6IFsKLSAgICAgICAg
ICB7Ci0gICAgICAgICAgICBib3VuZGluZ0JveDoge3g6IDEuMCwgeTogMS4wLCB3aWR0aDogMTAw
LjAsIGhlaWdodDogMTAwLjB9LAotICAgICAgICAgICAgbGFuZG1hcmtzOiBbewotICAgICAgICAg
ICAgICB0eXBlOiBzaGFwZURldGVjdGlvbi5tb2pvbS5MYW5kbWFya1R5cGUuRVlFLAotICAgICAg
ICAgICAgICBsb2NhdGlvbnM6IFt7eDogNC4wLCB5OiA1LjB9XQotICAgICAgICAgICAgfSwKLSAg
ICAgICAgICAgIHsKLSAgICAgICAgICAgICAgdHlwZTogc2hhcGVEZXRlY3Rpb24ubW9qb20uTGFu
ZG1hcmtUeXBlLkVZRSwKLSAgICAgICAgICAgICAgbG9jYXRpb25zOiBbCi0gICAgICAgICAgICAg
ICAge3g6IDQuMCwgeTogNS4wfSwge3g6IDUuMCwgeTogNC4wfSwge3g6IDYuMCwgeTogMy4wfSwK
LSAgICAgICAgICAgICAgICB7eDogNy4wLCB5OiA0LjB9LCB7eDogOC4wLCB5OiA1LjB9LCB7eDog
Ny4wLCB5OiA2LjB9LAotICAgICAgICAgICAgICAgIHt4OiA2LjAsIHk6IDcuMH0sIHt4OiA1LjAs
IHk6IDYuMH0KLSAgICAgICAgICAgICAgXQotICAgICAgICAgICAgfV0KLSAgICAgICAgICB9LAot
ICAgICAgICAgIHsKLSAgICAgICAgICAgIGJvdW5kaW5nQm94OiB7eDogMi4wLCB5OiAyLjAsIHdp
ZHRoOiAyMDAuMCwgaGVpZ2h0OiAyMDAuMH0sCi0gICAgICAgICAgICBsYW5kbWFya3M6IFt7Ci0g
ICAgICAgICAgICAgIHR5cGU6IHNoYXBlRGV0ZWN0aW9uLm1vam9tLkxhbmRtYXJrVHlwZS5OT1NF
LAotICAgICAgICAgICAgICBsb2NhdGlvbnM6IFt7eDogMTAwLjAsIHk6IDUwLjB9XQotICAgICAg
ICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgdHlwZTogc2hhcGVEZXRlY3Rp
b24ubW9qb20uTGFuZG1hcmtUeXBlLk5PU0UsCi0gICAgICAgICAgICAgIGxvY2F0aW9uczogWwot
ICAgICAgICAgICAgICAgIHt4OiA4MC4wLCB5OiA1MC4wfSwge3g6IDcwLjAsIHk6IDYwLjB9LCB7
eDogNjAuMCwgeTogNzAuMH0sCi0gICAgICAgICAgICAgICAge3g6IDcwLjAsIHk6IDYwLjB9LCB7
eDogODAuMCwgeTogNzAuMH0sIHt4OiA5MC4wLCB5OiA4MC4wfSwKLSAgICAgICAgICAgICAgICB7
eDogMTAwLjAsIHk6IDcwLjB9LCB7eDogOTAuMCwgeTogNjAuMH0sIHt4OiA4MC4wLCB5OiA1MC4w
fQotICAgICAgICAgICAgICBdCi0gICAgICAgICAgICB9XQotICAgICAgICAgIH0sCi0gICAgICAg
ICAgewotICAgICAgICAgICAgYm91bmRpbmdCb3g6IHt4OiAzLjAsIHk6IDMuMCwgd2lkdGg6IDMw
MC4wLCBoZWlnaHQ6IDMwMC4wfSwKLSAgICAgICAgICAgIGxhbmRtYXJrczogW10KLSAgICAgICAg
ICB9LAotICAgICAgICBdCi0gICAgICB9KTsKLSAgICB9Ci0gIH0KLQotICBsZXQgdGVzdEludGVy
bmFsID0gewotICAgIGluaXRpYWxpemVkOiBmYWxzZSwKLSAgICBNb2NrRmFjZURldGVjdGlvblBy
b3ZpZGVyOiBudWxsCi0gIH0KLQotICBjbGFzcyBGYWNlRGV0ZWN0aW9uVGVzdENocm9taXVtIHsK
LSAgICBjb25zdHJ1Y3RvcigpIHsKLSAgICAgIE9iamVjdC5mcmVlemUodGhpcyk7IC8vIE1ha2Ug
aXQgaW1tdXRhYmxlLgotICAgIH0KLQotICAgIGluaXRpYWxpemUoKSB7Ci0gICAgICBpZiAodGVz
dEludGVybmFsLmluaXRpYWxpemVkKQotICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0NhbGwgcmVz
ZXQoKSBiZWZvcmUgaW5pdGlhbGl6ZSgpLicpOwotCi0gICAgICB0ZXN0SW50ZXJuYWwuTW9ja0Zh
Y2VEZXRlY3Rpb25Qcm92aWRlciA9IG5ldyBNb2NrRmFjZURldGVjdGlvblByb3ZpZGVyOwotICAg
ICAgdGVzdEludGVybmFsLmluaXRpYWxpemVkID0gdHJ1ZTsKLSAgICB9Ci0KLSAgICAvLyBSZXNl
dHMgc3RhdGUgb2YgZmFjZSBkZXRlY3Rpb24gbW9ja3MgYmV0d2VlbiB0ZXN0IHJ1bnMuCi0gICAg
YXN5bmMgcmVzZXQoKSB7Ci0gICAgICBpZiAoIXRlc3RJbnRlcm5hbC5pbml0aWFsaXplZCkKLSAg
ICAgICAgdGhyb3cgbmV3IEVycm9yKCdDYWxsIGluaXRpYWxpemUoKSBiZWZvcmUgcmVzZXQoKS4n
KTsKLSAgICAgIHRlc3RJbnRlcm5hbC5Nb2NrRmFjZURldGVjdGlvblByb3ZpZGVyLnJlc2V0KCk7
Ci0gICAgICB0ZXN0SW50ZXJuYWwuTW9ja0ZhY2VEZXRlY3Rpb25Qcm92aWRlciA9IG51bGw7Ci0g
ICAgICB0ZXN0SW50ZXJuYWwuaW5pdGlhbGl6ZWQgPSBmYWxzZTsKLQotICAgICAgYXdhaXQgbmV3
IFByb21pc2UocmVzb2x2ZSA9PiBzZXRUaW1lb3V0KHJlc29sdmUsIDApKTsKLSAgICB9Ci0KLSAg
ICBNb2NrRmFjZURldGVjdGlvblByb3ZpZGVyKCkgewotICAgICAgcmV0dXJuIHRlc3RJbnRlcm5h
bC5Nb2NrRmFjZURldGVjdGlvblByb3ZpZGVyOwotICAgIH0KLSAgfQotCi0gIHJldHVybiBGYWNl
RGV0ZWN0aW9uVGVzdENocm9taXVtOwotfSkoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL21vY2stZmFj
ZWRldGVjdGlvbi5qcy5oZWFkZXJzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vbW9jay1mYWNlZGV0ZWN0aW9uLmpzLmhlYWRl
cnMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZjNjFhMzRhNGVjLi4wMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy9jaHJvbWl1bS9tb2NrLWZhY2VkZXRlY3Rpb24uanMuaGVhZGVycworKysgL2Rldi9udWxs
CkBAIC0xICswLDAgQEAKLUNvbnRlbnQtVHlwZTogdGV4dC9qYXZhc2NyaXB0OyBjaGFyc2V0PXV0
Zi04ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vbW9jay1p
bWFnZWNhcHR1cmUuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy9jaHJvbWl1bS9tb2NrLWltYWdlY2FwdHVyZS5qcwpkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggOWQ0NmI1NzAyMGYuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL21v
Y2staW1hZ2VjYXB0dXJlLmpzCisrKyAvZGV2L251bGwKQEAgLTEsMjY1ICswLDAgQEAKLSJ1c2Ug
c3RyaWN0IjsKLQotdmFyIEltYWdlQ2FwdHVyZVRlc3QgPSAoKCkgPT4gewotICAvLyBDbGFzcyB0
aGF0IG1vY2tzIEltYWdlQ2FwdHVyZSBpbnRlcmZhY2UgZGVmaW5lZCBpbgotICAvLyBodHRwczov
L2NzLmNocm9taXVtLm9yZy9jaHJvbWl1bS9zcmMvbWVkaWEvY2FwdHVyZS9tb2pvbS9pbWFnZV9j
YXB0dXJlLm1vam9tCi0gIGNsYXNzIE1vY2tJbWFnZUNhcHR1cmUgewotICAgIGNvbnN0cnVjdG9y
KCkgewotICAgICAgdGhpcy5pbnRlcmNlcHRvcl8gPSBuZXcgTW9qb0ludGVyZmFjZUludGVyY2Vw
dG9yKAotICAgICAgICBtZWRpYS5tb2pvbS5JbWFnZUNhcHR1cmUubmFtZSwgImNvbnRleHQiLCB0
cnVlKTsKLSAgICAgIHRoaXMuaW50ZXJjZXB0b3JfLm9uaW50ZXJmYWNlcmVxdWVzdCA9Ci0gICAg
ICAgIGUgPT4gdGhpcy5iaW5kaW5nU2V0Xy5hZGRCaW5kaW5nKHRoaXMsIGUuaGFuZGxlKTsKLSAg
ICAgIHRoaXMuaW50ZXJjZXB0b3JfLnN0YXJ0KCk7Ci0KLSAgICAgIHRoaXMuc3RhdGVfID0gewot
ICAgICAgICBzdGF0ZTogewotICAgICAgICAgIHN1cHBvcnRlZFdoaXRlQmFsYW5jZU1vZGVzOiBb
Ci0gICAgICAgICAgICBtZWRpYS5tb2pvbS5NZXRlcmluZ01vZGUuU0lOR0xFX1NIT1QsCi0gICAg
ICAgICAgICBtZWRpYS5tb2pvbS5NZXRlcmluZ01vZGUuQ09OVElOVU9VUwotICAgICAgICAgIF0s
Ci0gICAgICAgICAgY3VycmVudFdoaXRlQmFsYW5jZU1vZGU6IG1lZGlhLm1vam9tLk1ldGVyaW5n
TW9kZS5DT05USU5VT1VTLAotICAgICAgICAgIHN1cHBvcnRlZEV4cG9zdXJlTW9kZXM6IFsKLSAg
ICAgICAgICAgIG1lZGlhLm1vam9tLk1ldGVyaW5nTW9kZS5NQU5VQUwsCi0gICAgICAgICAgICBt
ZWRpYS5tb2pvbS5NZXRlcmluZ01vZGUuU0lOR0xFX1NIT1QsCi0gICAgICAgICAgICBtZWRpYS5t
b2pvbS5NZXRlcmluZ01vZGUuQ09OVElOVU9VUwotICAgICAgICAgIF0sCi0gICAgICAgICAgY3Vy
cmVudEV4cG9zdXJlTW9kZTogbWVkaWEubW9qb20uTWV0ZXJpbmdNb2RlLk1BTlVBTCwKLSAgICAg
ICAgICBzdXBwb3J0ZWRGb2N1c01vZGVzOiBbCi0gICAgICAgICAgICBtZWRpYS5tb2pvbS5NZXRl
cmluZ01vZGUuTUFOVUFMLAotICAgICAgICAgICAgbWVkaWEubW9qb20uTWV0ZXJpbmdNb2RlLlNJ
TkdMRV9TSE9UCi0gICAgICAgICAgXSwKLSAgICAgICAgICBjdXJyZW50Rm9jdXNNb2RlOiBtZWRp
YS5tb2pvbS5NZXRlcmluZ01vZGUuTUFOVUFMLAotICAgICAgICAgIHBvaW50c09mSW50ZXJlc3Q6
IFt7Ci0gICAgICAgICAgICB4OiAwLjQsCi0gICAgICAgICAgICB5OiAwLjYKLSAgICAgICAgICB9
XSwKLQotICAgICAgICAgIGV4cG9zdXJlQ29tcGVuc2F0aW9uOiB7Ci0gICAgICAgICAgICBtaW46
IC0yMDAuMCwKLSAgICAgICAgICAgIG1heDogMjAwLjAsCi0gICAgICAgICAgICBjdXJyZW50OiAz
My4wLAotICAgICAgICAgICAgc3RlcDogMzMuMAotICAgICAgICAgIH0sCi0gICAgICAgICAgZXhw
b3N1cmVUaW1lOiB7Ci0gICAgICAgICAgICBtaW46IDEwMC4wLAotICAgICAgICAgICAgbWF4OiAx
MDAwMDAuMCwKLSAgICAgICAgICAgIGN1cnJlbnQ6IDEwMDAuMCwKLSAgICAgICAgICAgIHN0ZXA6
IDEwMC4wCi0gICAgICAgICAgfSwKLSAgICAgICAgICBjb2xvclRlbXBlcmF0dXJlOiB7Ci0gICAg
ICAgICAgICBtaW46IDI1MDAuMCwKLSAgICAgICAgICAgIG1heDogNjUwMC4wLAotICAgICAgICAg
ICAgY3VycmVudDogNjAwMC4wLAotICAgICAgICAgICAgc3RlcDogMTAwMC4wCi0gICAgICAgICAg
fSwKLSAgICAgICAgICBpc286IHsKLSAgICAgICAgICAgIG1pbjogMTAwLjAsCi0gICAgICAgICAg
ICBtYXg6IDEyMDAwLjAsCi0gICAgICAgICAgICBjdXJyZW50OiA0MDAuMCwKLSAgICAgICAgICAg
IHN0ZXA6IDEuMAotICAgICAgICAgIH0sCi0KLSAgICAgICAgICBicmlnaHRuZXNzOiB7Ci0gICAg
ICAgICAgICBtaW46IDEuMCwKLSAgICAgICAgICAgIG1heDogMTAuMCwKLSAgICAgICAgICAgIGN1
cnJlbnQ6IDUuMCwKLSAgICAgICAgICAgIHN0ZXA6IDEuMAotICAgICAgICAgIH0sCi0gICAgICAg
ICAgY29udHJhc3Q6IHsKLSAgICAgICAgICAgIG1pbjogMi4wLAotICAgICAgICAgICAgbWF4OiA5
LjAsCi0gICAgICAgICAgICBjdXJyZW50OiA1LjAsCi0gICAgICAgICAgICBzdGVwOiAxLjAKLSAg
ICAgICAgICB9LAotICAgICAgICAgIHNhdHVyYXRpb246IHsKLSAgICAgICAgICAgIG1pbjogMy4w
LAotICAgICAgICAgICAgbWF4OiA4LjAsCi0gICAgICAgICAgICBjdXJyZW50OiA2LjAsCi0gICAg
ICAgICAgICBzdGVwOiAxLjAKLSAgICAgICAgICB9LAotICAgICAgICAgIHNoYXJwbmVzczogewot
ICAgICAgICAgICAgbWluOiA0LjAsCi0gICAgICAgICAgICBtYXg6IDcuMCwKLSAgICAgICAgICAg
IGN1cnJlbnQ6IDcuMCwKLSAgICAgICAgICAgIHN0ZXA6IDEuMAotICAgICAgICAgIH0sCi0KLSAg
ICAgICAgICBmb2N1c0Rpc3RhbmNlOiB7Ci0gICAgICAgICAgICBtaW46IDEuMCwKLSAgICAgICAg
ICAgIG1heDogMTAuMCwKLSAgICAgICAgICAgIGN1cnJlbnQ6IDMuMCwKLSAgICAgICAgICAgIHN0
ZXA6IDEuMAotICAgICAgICAgIH0sCi0KLSAgICAgICAgICBwYW46IHsKLSAgICAgICAgICAgIG1p
bjogMC4wLAotICAgICAgICAgICAgbWF4OiAxMC4wLAotICAgICAgICAgICAgY3VycmVudDogNS4w
LAotICAgICAgICAgICAgc3RlcDogMi4wCi0gICAgICAgICAgfSwKLQotICAgICAgICAgIHRpbHQ6
IHsKLSAgICAgICAgICAgIG1pbjogMC4wLAotICAgICAgICAgICAgbWF4OiAxMC4wLAotICAgICAg
ICAgICAgY3VycmVudDogNS4wLAotICAgICAgICAgICAgc3RlcDogMi4wCi0gICAgICAgICAgfSwK
LQotICAgICAgICAgIHpvb206IHsKLSAgICAgICAgICAgIG1pbjogMC4wLAotICAgICAgICAgICAg
bWF4OiAxMC4wLAotICAgICAgICAgICAgY3VycmVudDogNS4wLAotICAgICAgICAgICAgc3RlcDog
NS4wCi0gICAgICAgICAgfSwKLQotICAgICAgICAgIHN1cHBvcnRzVG9yY2g6IHRydWUsCi0gICAg
ICAgICAgdG9yY2g6IGZhbHNlLAotCi0gICAgICAgICAgcmVkRXllUmVkdWN0aW9uOiBtZWRpYS5t
b2pvbS5SZWRFeWVSZWR1Y3Rpb24uQ09OVFJPTExBQkxFLAotICAgICAgICAgIGhlaWdodDogewot
ICAgICAgICAgICAgbWluOiAyNDAuMCwKLSAgICAgICAgICAgIG1heDogMjQ0OC4wLAotICAgICAg
ICAgICAgY3VycmVudDogMjQwLjAsCi0gICAgICAgICAgICBzdGVwOiAyLjAKLSAgICAgICAgICB9
LAotICAgICAgICAgIHdpZHRoOiB7Ci0gICAgICAgICAgICBtaW46IDMyMC4wLAotICAgICAgICAg
ICAgbWF4OiAzMjY0LjAsCi0gICAgICAgICAgICBjdXJyZW50OiAzMjAuMCwKLSAgICAgICAgICAg
IHN0ZXA6IDMuMAotICAgICAgICAgIH0sCi0gICAgICAgICAgZmlsbExpZ2h0TW9kZTogWwotICAg
ICAgICAgICAgbWVkaWEubW9qb20uRmlsbExpZ2h0TW9kZS5BVVRPLCBtZWRpYS5tb2pvbS5GaWxs
TGlnaHRNb2RlLkZMQVNICi0gICAgICAgICAgXSwKLSAgICAgICAgfQotICAgICAgfTsKLSAgICAg
IHRoaXMuc2V0dGluZ3NfID0gbnVsbDsKLSAgICAgIHRoaXMuYmluZGluZ1NldF8gPSBuZXcgbW9q
by5CaW5kaW5nU2V0KG1lZGlhLm1vam9tLkltYWdlQ2FwdHVyZSk7Ci0gICAgfQotCi0gICAgcmVz
ZXQoKSB7Ci0gICAgICB0aGlzLmJpbmRpbmdTZXRfLmNsb3NlQWxsQmluZGluZ3MoKTsKLSAgICAg
IHRoaXMuaW50ZXJjZXB0b3JfLnN0b3AoKTsKLSAgICB9Ci0KLSAgICBnZXRQaG90b1N0YXRlKHNv
dXJjZV9pZCkgewotICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh0aGlzLnN0YXRlXyk7Ci0g
ICAgfQotCi0gICAgc2V0T3B0aW9ucyhzb3VyY2VfaWQsIHNldHRpbmdzKSB7Ci0gICAgICB0aGlz
LnNldHRpbmdzXyA9IHNldHRpbmdzOwotICAgICAgaWYgKHNldHRpbmdzLmhhc0lzbykKLSAgICAg
ICAgdGhpcy5zdGF0ZV8uc3RhdGUuaXNvLmN1cnJlbnQgPSBzZXR0aW5ncy5pc287Ci0gICAgICBp
ZiAoc2V0dGluZ3MuaGFzSGVpZ2h0KQotICAgICAgICB0aGlzLnN0YXRlXy5zdGF0ZS5oZWlnaHQu
Y3VycmVudCA9IHNldHRpbmdzLmhlaWdodDsKLSAgICAgIGlmIChzZXR0aW5ncy5oYXNXaWR0aCkK
LSAgICAgICAgdGhpcy5zdGF0ZV8uc3RhdGUud2lkdGguY3VycmVudCA9IHNldHRpbmdzLndpZHRo
OwotICAgICAgaWYgKHNldHRpbmdzLmhhc1BhbikKLSAgICAgICAgdGhpcy5zdGF0ZV8uc3RhdGUu
cGFuLmN1cnJlbnQgPSBzZXR0aW5ncy5wYW47Ci0gICAgICBpZiAoc2V0dGluZ3MuaGFzVGlsdCkK
LSAgICAgICAgdGhpcy5zdGF0ZV8uc3RhdGUudGlsdC5jdXJyZW50ID0gc2V0dGluZ3MudGlsdDsK
LSAgICAgIGlmIChzZXR0aW5ncy5oYXNab29tKQotICAgICAgICB0aGlzLnN0YXRlXy5zdGF0ZS56
b29tLmN1cnJlbnQgPSBzZXR0aW5ncy56b29tOwotICAgICAgaWYgKHNldHRpbmdzLmhhc0ZvY3Vz
TW9kZSkKLSAgICAgICAgdGhpcy5zdGF0ZV8uc3RhdGUuY3VycmVudEZvY3VzTW9kZSA9IHNldHRp
bmdzLmZvY3VzTW9kZTsKLSAgICAgIGlmIChzZXR0aW5ncy5oYXNGb2N1c0Rpc3RhbmNlKQotICAg
ICAgICB0aGlzLnN0YXRlXy5zdGF0ZS5mb2N1c0Rpc3RhbmNlLmN1cnJlbnQgPSBzZXR0aW5ncy5m
b2N1c0Rpc3RhbmNlOwotCi0gICAgICBpZiAoc2V0dGluZ3MucG9pbnRzT2ZJbnRlcmVzdC5sZW5n
dGggPiAwKSB7Ci0gICAgICAgIHRoaXMuc3RhdGVfLnN0YXRlLnBvaW50c09mSW50ZXJlc3QgPQot
ICAgICAgICAgIHNldHRpbmdzLnBvaW50c09mSW50ZXJlc3Q7Ci0gICAgICB9Ci0KLSAgICAgIGlm
IChzZXR0aW5ncy5oYXNFeHBvc3VyZU1vZGUpCi0gICAgICAgIHRoaXMuc3RhdGVfLnN0YXRlLmN1
cnJlbnRFeHBvc3VyZU1vZGUgPSBzZXR0aW5ncy5leHBvc3VyZU1vZGU7Ci0KLSAgICAgIGlmIChz
ZXR0aW5ncy5oYXNFeHBvc3VyZUNvbXBlbnNhdGlvbikgewotICAgICAgICB0aGlzLnN0YXRlXy5z
dGF0ZS5leHBvc3VyZUNvbXBlbnNhdGlvbi5jdXJyZW50ID0KLSAgICAgICAgICBzZXR0aW5ncy5l
eHBvc3VyZUNvbXBlbnNhdGlvbjsKLSAgICAgIH0KLSAgICAgIGlmIChzZXR0aW5ncy5oYXNFeHBv
c3VyZVRpbWUpIHsKLSAgICAgICAgdGhpcy5zdGF0ZV8uc3RhdGUuZXhwb3N1cmVUaW1lLmN1cnJl
bnQgPQotICAgICAgICAgIHNldHRpbmdzLmV4cG9zdXJlVGltZTsKLSAgICAgIH0KLSAgICAgIGlm
IChzZXR0aW5ncy5oYXNXaGl0ZUJhbGFuY2VNb2RlKSB7Ci0gICAgICAgIHRoaXMuc3RhdGVfLnN0
YXRlLmN1cnJlbnRXaGl0ZUJhbGFuY2VNb2RlID0KLSAgICAgICAgICBzZXR0aW5ncy53aGl0ZUJh
bGFuY2VNb2RlOwotICAgICAgfQotICAgICAgaWYgKHNldHRpbmdzLmhhc0ZpbGxMaWdodE1vZGUp
Ci0gICAgICAgIHRoaXMuc3RhdGVfLnN0YXRlLmZpbGxMaWdodE1vZGUgPSBbc2V0dGluZ3MuZmls
bExpZ2h0TW9kZV07Ci0gICAgICBpZiAoc2V0dGluZ3MuaGFzUmVkRXllUmVkdWN0aW9uKQotICAg
ICAgICB0aGlzLnN0YXRlXy5zdGF0ZS5yZWRFeWVSZWR1Y3Rpb24gPSBzZXR0aW5ncy5yZWRFeWVS
ZWR1Y3Rpb247Ci0gICAgICBpZiAoc2V0dGluZ3MuaGFzQ29sb3JUZW1wZXJhdHVyZSkgewotICAg
ICAgICB0aGlzLnN0YXRlXy5zdGF0ZS5jb2xvclRlbXBlcmF0dXJlLmN1cnJlbnQgPQotICAgICAg
ICAgIHNldHRpbmdzLmNvbG9yVGVtcGVyYXR1cmU7Ci0gICAgICB9Ci0gICAgICBpZiAoc2V0dGlu
Z3MuaGFzQnJpZ2h0bmVzcykKLSAgICAgICAgdGhpcy5zdGF0ZV8uc3RhdGUuYnJpZ2h0bmVzcy5j
dXJyZW50ID0gc2V0dGluZ3MuYnJpZ2h0bmVzczsKLSAgICAgIGlmIChzZXR0aW5ncy5oYXNDb250
cmFzdCkKLSAgICAgICAgdGhpcy5zdGF0ZV8uc3RhdGUuY29udHJhc3QuY3VycmVudCA9IHNldHRp
bmdzLmNvbnRyYXN0OwotICAgICAgaWYgKHNldHRpbmdzLmhhc1NhdHVyYXRpb24pCi0gICAgICAg
IHRoaXMuc3RhdGVfLnN0YXRlLnNhdHVyYXRpb24uY3VycmVudCA9IHNldHRpbmdzLnNhdHVyYXRp
b247Ci0gICAgICBpZiAoc2V0dGluZ3MuaGFzU2hhcnBuZXNzKQotICAgICAgICB0aGlzLnN0YXRl
Xy5zdGF0ZS5zaGFycG5lc3MuY3VycmVudCA9IHNldHRpbmdzLnNoYXJwbmVzczsKLQotICAgICAg
aWYgKHNldHRpbmdzLmhhc1RvcmNoKQotICAgICAgICB0aGlzLnN0YXRlXy5zdGF0ZS50b3JjaCA9
IHNldHRpbmdzLnRvcmNoOwotCi0gICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHsKLSAgICAg
ICAgc3VjY2VzczogdHJ1ZQotICAgICAgfSk7Ci0gICAgfQotCi0gICAgdGFrZVBob3RvKHNvdXJj
ZV9pZCkgewotICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh7Ci0gICAgICAgIGJsb2I6IHsK
LSAgICAgICAgICBtaW1lVHlwZTogJ2ltYWdlL2NhdCcsCi0gICAgICAgICAgZGF0YTogbmV3IEFy
cmF5KDIpCi0gICAgICAgIH0KLSAgICAgIH0pOwotICAgIH0KLQotICAgIHN0YXRlKCkgewotICAg
ICAgcmV0dXJuIHRoaXMuc3RhdGVfLnN0YXRlOwotICAgIH0KLQotICAgIG9wdGlvbnMoKSB7Ci0g
ICAgICByZXR1cm4gdGhpcy5zZXR0aW5nc187Ci0gICAgfQotICB9Ci0KLSAgbGV0IHRlc3RJbnRl
cm5hbCA9IHsKLSAgICBpbml0aWFsaXplZDogZmFsc2UsCi0gICAgbW9ja0ltYWdlQ2FwdHVyZTog
bnVsbAotICB9Ci0KLSAgY2xhc3MgSW1hZ2VDYXB0dXJlVGVzdENocm9taXVtIHsKLQotICAgIGNv
bnN0cnVjdG9yKCkgewotICAgICAgT2JqZWN0LmZyZWV6ZSh0aGlzKTsgLy8gTWFrZSBpdCBpbW11
dGFibGUuCi0gICAgfQotCi0gICAgaW5pdGlhbGl6ZSgpIHsKLSAgICAgIGlmICh0ZXN0SW50ZXJu
YWwuaW5pdGlhbGl6ZWQpCi0gICAgICAgIHRocm93IG5ldyBFcnJvcignQ2FsbCByZXNldCgpIGJl
Zm9yZSBpbml0aWFsaXplKCkuJyk7Ci0KLSAgICAgIHRlc3RJbnRlcm5hbC5tb2NrSW1hZ2VDYXB0
dXJlID0gbmV3IE1vY2tJbWFnZUNhcHR1cmU7Ci0gICAgICB0ZXN0SW50ZXJuYWwuaW5pdGlhbGl6
ZWQgPSB0cnVlOwotICAgIH0KLSAgICAvLyBSZXNldHMgc3RhdGUgb2YgaW1hZ2UgY2FwdHVyZSBt
b2NrcyBiZXR3ZWVuIHRlc3QgcnVucy4KLSAgICBhc3luYyByZXNldCgpIHsKLSAgICAgIGlmICgh
dGVzdEludGVybmFsLmluaXRpYWxpemVkKQotICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0NhbGwg
aW5pdGlhbGl6ZSgpIGJlZm9yZSByZXNldCgpLicpOwotICAgICAgdGVzdEludGVybmFsLm1vY2tJ
bWFnZUNhcHR1cmUucmVzZXQoKTsKLSAgICAgIHRlc3RJbnRlcm5hbC5tb2NrSW1hZ2VDYXB0dXJl
ID0gbnVsbDsKLSAgICAgIHRlc3RJbnRlcm5hbC5pbml0aWFsaXplZCA9IGZhbHNlOwotCi0gICAg
ICBhd2FpdCBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHNldFRpbWVvdXQocmVzb2x2ZSwgMCkpOwot
ICAgIH0KLSAgICBtb2NrSW1hZ2VDYXB0dXJlKCkgewotICAgICAgcmV0dXJuIHRlc3RJbnRlcm5h
bC5tb2NrSW1hZ2VDYXB0dXJlOwotICAgIH0KLSAgfQotCi0gIHJldHVybiBJbWFnZUNhcHR1cmVU
ZXN0Q2hyb21pdW07Ci19KSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vbW9qb19iaW5kaW5ncy5qcyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2No
cm9taXVtL21vam9fYmluZGluZ3MuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDcw
ZjZjYWQ1ZTVmLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS9tb2pvX2JpbmRpbmdzLmpzCisrKyAv
ZGV2L251bGwKQEAgLTEsNTE0NiArMCwwIEBACi0vLyBDb3B5cmlnaHQgMjAxNyBUaGUgQ2hyb21p
dW0gQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLS8vIFVzZSBvZiB0aGlzIHNvdXJjZSBj
b2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKLS8vIGZv
dW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCi0KLSd1c2Ugc3RyaWN0JzsKLQotaWYgKCh0eXBlb2Yg
bW9qbyAhPT0gJ3VuZGVmaW5lZCcpICYmIG1vam8uYmluZGluZ3NMaWJyYXJ5SW5pdGlhbGl6ZWQp
IHsKLSAgdGhyb3cgbmV3IEVycm9yKCdUaGUgTW9qbyBiaW5kaW5ncyBsaWJyYXJ5IGhhcyBiZWVu
IGluaXRpYWxpemVkLicpOwotfQotCi12YXIgbW9qbyA9IG1vam8gfHwge307Ci1tb2pvLmJpbmRp
bmdzTGlicmFyeUluaXRpYWxpemVkID0gdHJ1ZTsKLQotbW9qby5pbnRlcm5hbCA9IG1vam8uaW50
ZXJuYWwgfHwge307Ci0KLW1vam8uY29uZmlnID0gbW9qby5jb25maWcgfHwge307Ci1pZiAodHlw
ZW9mIG1vam8uY29uZmlnLmdsb2JhbCA9PT0gJ3VuZGVmaW5lZCcpIHsKLSAgbW9qby5jb25maWcu
Z2xvYmFsID0gdGhpczsKLX0KLQotaWYgKHR5cGVvZiBtb2pvLmNvbmZpZy5hdXRvTG9hZE1vam9t
RGVwcyA9PT0gJ3VuZGVmaW5lZCcpIHsKLSAgLy8gV2hldGhlciB0byBhdXRvbWF0aWNhbGx5IGxv
YWQgbW9qb20gZGVwZW5kZW5jaWVzLgotICAvLyBGb3IgZXhhbXBsZSwgaWYgZm9vLm1vam9tIGlt
cG9ydHMgYmFyLm1vam9tLCB8YXV0b0xvYWRNb2pvbURlcHN8IHNldCB0bwotICAvLyB0cnVlIG1l
YW5zIHRoYXQgbG9hZGluZyBmb28ubW9qb20uanMgd2lsbCBpbnNlcnQgYSA8c2NyaXB0PiB0YWcg
dG8gbG9hZAotICAvLyBiYXIubW9qb20uanMsIGlmIGl0IGhhc24ndCBiZWVuIGxvYWRlZC4KLSAg
Ly8KLSAgLy8gVGhlIFVSTCBvZiBiYXIubW9qb20uanMgaXMgZGV0ZXJtaW5lZCBieSB0aGUgcmVs
YXRpdmUgcGF0aCBvZiBiYXIubW9qb20KLSAgLy8gKHJlbGF0aXZlIHRvIHRoZSBwb3NpdGlvbiBv
ZiBmb28ubW9qb20gYXQgYnVpbGQgdGltZSkgYW5kIHRoZSBVUkwgb2YKLSAgLy8gZm9vLm1vam9t
LmpzLiBGb3IgZXhtcGxlLCBpZiBhdCBidWlsZCB0aW1lIHRoZSB0d28gbW9qb20gZmlsZXMgYXJl
Ci0gIC8vIGxvY2F0ZWQgYXQ6Ci0gIC8vICAgYS9iL2MvZm9vLm1vam9tCi0gIC8vICAgYS9iL2Qv
YmFyLm1vam9tCi0gIC8vIGFuZCB0aGUgVVJMIG9mIGZvby5tb2pvbS5qcyBpczoKLSAgLy8gICBo
dHRwOi8vZXhhbXBsZS5vcmcvc2NyaXB0cy9iL2MvZm9vLm1vam9tLmpzCi0gIC8vIHRoZW4gdGhl
IFVSTCBvZiBiYXIubW9qb20uanMgd2lsbCBiZToKLSAgLy8gICBodHRwOi8vZXhhbXBsZS5vcmcv
c2NyaXB0cy9iL2QvYmFyLm1vam9tLmpzCi0gIC8vCi0gIC8vIElmIHlvdSB3b3VsZCBsaWtlIGJh
ci5tb2pvbS5qcyB0byBsaXZlIGF0IGEgZGlmZmVyZW50IGxvY2F0aW9uLCB5b3UgbmVlZAotICAv
LyB0byB0dXJuIG9mZiB8YXV0b0xvYWRNb2pvbURlcHN8IGJlZm9yZSBsb2FkaW5nIGZvby5tb2pv
bS5qcywgYW5kIG1hbnVhbGx5Ci0gIC8vIGxvYWQgYmFyLm1vam9tLmpzIHlvdXJzZWxmLiBTaW1p
bGFybHksIHlvdSBuZWVkIHRvIHR1cm4gb2ZmIHRoZSBvcHRpb24gaWYKLSAgLy8geW91IG1lcmdl
IGJhci5tb2pvbS5qcyBhbmQgZm9vLm1vam9tLmpzIGludG8gYSBzaW5nbGUgZmlsZS4KLSAgLy8K
LSAgLy8gUGVyZm9ybWFuY2UgdGlwOiBBdm9pZCBsb2FkaW5nIHRoZSBzYW1lIG1vam9tLmpzIGZp
bGUgbXVsdGlwbGUgdGltZXMuCi0gIC8vIEFzc3VtZSB0aGF0IHxhdXRvTG9hZE1vam9tRGVwc3wg
aXMgc2V0IHRvIHRydWUsCi0gIC8vCi0gIC8vIDwhLS0KLSAgLy8gKFRoaXMgY29tbWVudCB0YWcg
aXMgbmVjZXNzYXJ5IG9uIElPUyB0byBhdm9pZCBpbnRlcnByZXRpbmcgdGhlIGNsb3NpbmcKLSAg
Ly8gc2NyaXB0IHRhZ3MgaW4gdGhlIGV4YW1wbGUuKQotICAvLwotICAvLyBObyBkdXBsaWNhdGUg
bG9hZGluZzsgcmVjb21tZW5kZWQ6Ci0gIC8vIDxzY3JpcHQgc3JjPSJodHRwOi8vZXhhbXBsZS5v
cmcvc2NyaXB0cy9iL2MvZm9vLm1vam9tLmpzIj48L3NjcmlwdD4KLSAgLy8KLSAgLy8gTm8gZHVw
bGljYXRlIGxvYWRpbmcsIGFsdGhvdWdoIHVubmVjZXNzYXJ5OgotICAvLyA8c2NyaXB0IHNyYz0i
aHR0cDovL2V4YW1wbGUub3JnL3NjcmlwdHMvYi9kL2Jhci5tb2pvbS5qcyI+PC9zY3JpcHQ+Ci0g
IC8vIDxzY3JpcHQgc3JjPSJodHRwOi8vZXhhbXBsZS5vcmcvc2NyaXB0cy9iL2MvZm9vLm1vam9t
LmpzIj48L3NjcmlwdD4KLSAgLy8KLSAgLy8gTG9hZCBiYXIubW9qb20uanMgdHdpY2U7IHNob3Vs
ZCBiZSBhdm9pZGVkOgotICAvLyA8c2NyaXB0IHNyYz0iaHR0cDovL2V4YW1wbGUub3JnL3Njcmlw
dHMvYi9jL2Zvby5tb2pvbS5qcyI+PC9zY3JpcHQ+Ci0gIC8vIDxzY3JpcHQgc3JjPSJodHRwOi8v
ZXhhbXBsZS5vcmcvc2NyaXB0cy9iL2QvYmFyLm1vam9tLmpzIj48L3NjcmlwdD4KLSAgLy8KLSAg
Ly8gLS0+Ci0gIG1vam8uY29uZmlnLmF1dG9Mb2FkTW9qb21EZXBzID0gdHJ1ZTsKLX0KLQotKGZ1
bmN0aW9uKCkgewotICB2YXIgaW50ZXJuYWwgPSBtb2pvLmludGVybmFsOwotICB2YXIgY29uZmln
ID0gbW9qby5jb25maWc7Ci0KLSAgdmFyIExvYWRTdGF0ZSA9IHsKLSAgICBQRU5ESU5HX0xPQUQ6
IDEsCi0gICAgTE9BREVEOiAyCi0gIH07Ci0KLSAgdmFyIG1vam9tUmVnaXN0cnkgPSBuZXcgTWFw
KCk7Ci0KLSAgZnVuY3Rpb24gZXhwb3NlTmFtZXNwYWNlKG5hbWVzcGFjZSkgewotICAgIHZhciBj
dXJyZW50ID0gY29uZmlnLmdsb2JhbDsKLSAgICB2YXIgcGFydHMgPSBuYW1lc3BhY2Uuc3BsaXQo
Jy4nKTsKLQotICAgIGZvciAodmFyIHBhcnQ7IHBhcnRzLmxlbmd0aCAmJiAocGFydCA9IHBhcnRz
LnNoaWZ0KCkpOykgewotICAgICAgaWYgKCFjdXJyZW50W3BhcnRdKSB7Ci0gICAgICAgIGN1cnJl
bnRbcGFydF0gPSB7fTsKLSAgICAgIH0KLSAgICAgIGN1cnJlbnQgPSBjdXJyZW50W3BhcnRdOwot
ICAgIH0KLQotICAgIHJldHVybiBjdXJyZW50OwotICB9Ci0KLSAgZnVuY3Rpb24gaXNNb2pvbVBl
bmRpbmdMb2FkKGlkKSB7Ci0gICAgcmV0dXJuIG1vam9tUmVnaXN0cnkuZ2V0KGlkKSA9PT0gTG9h
ZFN0YXRlLlBFTkRJTkdfTE9BRDsKLSAgfQotCi0gIGZ1bmN0aW9uIGlzTW9qb21Mb2FkZWQoaWQp
IHsKLSAgICByZXR1cm4gbW9qb21SZWdpc3RyeS5nZXQoaWQpID09PSBMb2FkU3RhdGUuTE9BREVE
OwotICB9Ci0KLSAgZnVuY3Rpb24gbWFya01vam9tUGVuZGluZ0xvYWQoaWQpIHsKLSAgICBpZiAo
aXNNb2pvbUxvYWRlZChpZCkpIHsKLSAgICAgIHRocm93IG5ldyBFcnJvcignVGhlIGZvbGxvd2lu
ZyBtb2pvbSBmaWxlIGhhcyBiZWVuIGxvYWRlZDogJyArIGlkKTsKLSAgICB9Ci0KLSAgICBtb2pv
bVJlZ2lzdHJ5LnNldChpZCwgTG9hZFN0YXRlLlBFTkRJTkdfTE9BRCk7Ci0gIH0KLQotICBmdW5j
dGlvbiBtYXJrTW9qb21Mb2FkZWQoaWQpIHsKLSAgICBtb2pvbVJlZ2lzdHJ5LnNldChpZCwgTG9h
ZFN0YXRlLkxPQURFRCk7Ci0gIH0KLQotICBmdW5jdGlvbiBsb2FkTW9qb21JZk5lY2Vzc2FyeShp
ZCwgcmVsYXRpdmVQYXRoKSB7Ci0gICAgaWYgKG1vam9tUmVnaXN0cnkuaGFzKGlkKSkgewotICAg
ICAgcmV0dXJuOwotICAgIH0KLQotICAgIGlmIChjb25maWcuZ2xvYmFsLmRvY3VtZW50ID09PSB1
bmRlZmluZWQpIHsKLSAgICAgIHRocm93IG5ldyBFcnJvcigKLSAgICAgICAgICAnTW9qb20gZGVw
ZW5kZW5jeSBhdXRvbG9hZGluZyBpcyBub3QgaW1wbGVtZW50ZWQgaW4gd29ya2Vycy4gJyArCi0g
ICAgICAgICAgJ1BsZWFzZSBzZWUgY29uZmlnIHZhcmlhYmxlIG1vam8uY29uZmlnLmF1dG9Mb2Fk
TW9qb21EZXBzIGZvciBtb3JlICcgKwotICAgICAgICAgICdkZXRhaWxzLicpOwotICAgIH0KLQot
ICAgIG1hcmtNb2pvbVBlbmRpbmdMb2FkKGlkKTsKLSAgICB2YXIgdXJsID0gbmV3IFVSTChyZWxh
dGl2ZVBhdGgsIGRvY3VtZW50LmN1cnJlbnRTY3JpcHQuc3JjKS5ocmVmOwotICAgIGNvbmZpZy5n
bG9iYWwuZG9jdW1lbnQud3JpdGUoJzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9
IicgKwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsICsgJyI+PCcgKyAnL3Nj
cmlwdD4nKTsKLSAgfQotCi0gIGludGVybmFsLmV4cG9zZU5hbWVzcGFjZSA9IGV4cG9zZU5hbWVz
cGFjZTsKLSAgaW50ZXJuYWwuaXNNb2pvbVBlbmRpbmdMb2FkID0gaXNNb2pvbVBlbmRpbmdMb2Fk
OwotICBpbnRlcm5hbC5pc01vam9tTG9hZGVkID0gaXNNb2pvbUxvYWRlZDsKLSAgaW50ZXJuYWwu
bWFya01vam9tUGVuZGluZ0xvYWQgPSBtYXJrTW9qb21QZW5kaW5nTG9hZDsKLSAgaW50ZXJuYWwu
bWFya01vam9tTG9hZGVkID0gbWFya01vam9tTG9hZGVkOwotICBpbnRlcm5hbC5sb2FkTW9qb21J
Zk5lY2Vzc2FyeSA9IGxvYWRNb2pvbUlmTmVjZXNzYXJ5OwotfSkoKTsKLS8vIENvcHlyaWdodCAy
MDE3IFRoZSBDaHJvbWl1bSBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotLy8gVXNlIG9m
IHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZSB0aGF0
IGNhbiBiZQotLy8gZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KLQotKGZ1bmN0aW9uKCkgewot
ICB2YXIgaW50ZXJuYWwgPSBtb2pvLmludGVybmFsOwotCi0gIC8vIC0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LQotCi0gIC8vIHxvdXRwdXR8IGNvdWxkIGJlIGFuIGludGVyZmFjZSBwb2ludGVyLCBJbnRlcmZh
Y2VQdHJJbmZvIG9yCi0gIC8vIEFzc29jaWF0ZWRJbnRlcmZhY2VQdHJJbmZvLgotICBmdW5jdGlv
biBtYWtlUmVxdWVzdChvdXRwdXQpIHsKLSAgICBpZiAob3V0cHV0IGluc3RhbmNlb2YgbW9qby5B
c3NvY2lhdGVkSW50ZXJmYWNlUHRySW5mbykgewotICAgICAgdmFyIHtoYW5kbGUwLCBoYW5kbGUx
fSA9IGludGVybmFsLmNyZWF0ZVBhaXJQZW5kaW5nQXNzb2NpYXRpb24oKTsKLSAgICAgIG91dHB1
dC5pbnRlcmZhY2VFbmRwb2ludEhhbmRsZSA9IGhhbmRsZTA7Ci0gICAgICBvdXRwdXQudmVyc2lv
biA9IDA7Ci0KLSAgICAgIHJldHVybiBuZXcgbW9qby5Bc3NvY2lhdGVkSW50ZXJmYWNlUmVxdWVz
dChoYW5kbGUxKTsKLSAgICB9Ci0KLSAgICBpZiAob3V0cHV0IGluc3RhbmNlb2YgbW9qby5JbnRl
cmZhY2VQdHJJbmZvKSB7Ci0gICAgICB2YXIgcGlwZSA9IE1vam8uY3JlYXRlTWVzc2FnZVBpcGUo
KTsKLSAgICAgIG91dHB1dC5oYW5kbGUgPSBwaXBlLmhhbmRsZTA7Ci0gICAgICBvdXRwdXQudmVy
c2lvbiA9IDA7Ci0KLSAgICAgIHJldHVybiBuZXcgbW9qby5JbnRlcmZhY2VSZXF1ZXN0KHBpcGUu
aGFuZGxlMSk7Ci0gICAgfQotCi0gICAgdmFyIHBpcGUgPSBNb2pvLmNyZWF0ZU1lc3NhZ2VQaXBl
KCk7Ci0gICAgb3V0cHV0LnB0ci5iaW5kKG5ldyBtb2pvLkludGVyZmFjZVB0ckluZm8ocGlwZS5o
YW5kbGUwLCAwKSk7Ci0gICAgcmV0dXJuIG5ldyBtb2pvLkludGVyZmFjZVJlcXVlc3QocGlwZS5o
YW5kbGUxKTsKLSAgfQotCi0gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotCi0gIC8vIE9wZXJhdGlv
bnMgdXNlZCB0byBzZXR1cC9jb25maWd1cmUgYW4gaW50ZXJmYWNlIHBvaW50ZXIuIEV4cG9zZWQg
YXMgdGhlCi0gIC8vIHxwdHJ8IGZpZWxkIG9mIGdlbmVyYXRlZCBpbnRlcmZhY2UgcG9pbnRlciBj
bGFzc2VzLgotICAvLyB8cHRySW5mb09ySGFuZGxlfCBjb3VsZCBiZSBvbWl0dGVkIGFuZCBwYXNz
ZWQgaW50byBiaW5kKCkgbGF0ZXIuCi0gIGZ1bmN0aW9uIEludGVyZmFjZVB0ckNvbnRyb2xsZXIo
aW50ZXJmYWNlVHlwZSwgcHRySW5mb09ySGFuZGxlKSB7Ci0gICAgdGhpcy52ZXJzaW9uID0gMDsK
LQotICAgIHRoaXMuaW50ZXJmYWNlVHlwZV8gPSBpbnRlcmZhY2VUeXBlOwotICAgIHRoaXMucm91
dGVyXyA9IG51bGw7Ci0gICAgdGhpcy5pbnRlcmZhY2VFbmRwb2ludENsaWVudF8gPSBudWxsOwot
ICAgIHRoaXMucHJveHlfID0gbnVsbDsKLQotICAgIC8vIHxyb3V0ZXJffCBhbmQgfGludGVyZmFj
ZUVuZHBvaW50Q2xpZW50X3wgYXJlIGxhemlseSBpbml0aWFsaXplZC4KLSAgICAvLyB8aGFuZGxl
X3wgaXMgdmFsaWQgYmV0d2VlbiBiaW5kKCkgYW5kCi0gICAgLy8gdGhlIGluaXRpYWxpemF0aW9u
IG9mIHxyb3V0ZXJffCBhbmQgfGludGVyZmFjZUVuZHBvaW50Q2xpZW50X3wuCi0gICAgdGhpcy5o
YW5kbGVfID0gbnVsbDsKLQotICAgIGlmIChwdHJJbmZvT3JIYW5kbGUpCi0gICAgICB0aGlzLmJp
bmQocHRySW5mb09ySGFuZGxlKTsKLSAgfQotCi0gIEludGVyZmFjZVB0ckNvbnRyb2xsZXIucHJv
dG90eXBlLmJpbmQgPSBmdW5jdGlvbihwdHJJbmZvT3JIYW5kbGUpIHsKLSAgICB0aGlzLnJlc2V0
KCk7Ci0KLSAgICBpZiAocHRySW5mb09ySGFuZGxlIGluc3RhbmNlb2YgbW9qby5JbnRlcmZhY2VQ
dHJJbmZvKSB7Ci0gICAgICB0aGlzLnZlcnNpb24gPSBwdHJJbmZvT3JIYW5kbGUudmVyc2lvbjsK
LSAgICAgIHRoaXMuaGFuZGxlXyA9IHB0ckluZm9PckhhbmRsZS5oYW5kbGU7Ci0gICAgfSBlbHNl
IHsKLSAgICAgIHRoaXMuaGFuZGxlXyA9IHB0ckluZm9PckhhbmRsZTsKLSAgICB9Ci0gIH07Ci0K
LSAgSW50ZXJmYWNlUHRyQ29udHJvbGxlci5wcm90b3R5cGUuaXNCb3VuZCA9IGZ1bmN0aW9uKCkg
ewotICAgIHJldHVybiB0aGlzLmludGVyZmFjZUVuZHBvaW50Q2xpZW50XyAhPT0gbnVsbCB8fCB0
aGlzLmhhbmRsZV8gIT09IG51bGw7Ci0gIH07Ci0KLSAgLy8gQWx0aG91Z2ggdXNlcnMgY291bGQg
anVzdCBkaXNjYXJkIHRoZSBvYmplY3QsIHJlc2V0KCkgY2xvc2VzIHRoZSBwaXBlCi0gIC8vIGlt
bWVkaWF0ZWx5LgotICBJbnRlcmZhY2VQdHJDb250cm9sbGVyLnByb3RvdHlwZS5yZXNldCA9IGZ1
bmN0aW9uKCkgewotICAgIHRoaXMudmVyc2lvbiA9IDA7Ci0gICAgaWYgKHRoaXMuaW50ZXJmYWNl
RW5kcG9pbnRDbGllbnRfKSB7Ci0gICAgICB0aGlzLmludGVyZmFjZUVuZHBvaW50Q2xpZW50Xy5j
bG9zZSgpOwotICAgICAgdGhpcy5pbnRlcmZhY2VFbmRwb2ludENsaWVudF8gPSBudWxsOwotICAg
IH0KLSAgICBpZiAodGhpcy5yb3V0ZXJfKSB7Ci0gICAgICB0aGlzLnJvdXRlcl8uY2xvc2UoKTsK
LSAgICAgIHRoaXMucm91dGVyXyA9IG51bGw7Ci0KLSAgICAgIHRoaXMucHJveHlfID0gbnVsbDsK
LSAgICB9Ci0gICAgaWYgKHRoaXMuaGFuZGxlXykgewotICAgICAgdGhpcy5oYW5kbGVfLmNsb3Nl
KCk7Ci0gICAgICB0aGlzLmhhbmRsZV8gPSBudWxsOwotICAgIH0KLSAgfTsKLQotICBJbnRlcmZh
Y2VQdHJDb250cm9sbGVyLnByb3RvdHlwZS5yZXNldFdpdGhSZWFzb24gPSBmdW5jdGlvbihyZWFz
b24pIHsKLSAgICBpZiAodGhpcy5pc0JvdW5kKCkpIHsKLSAgICAgIHRoaXMuY29uZmlndXJlUHJv
eHlJZk5lY2Vzc2FyeV8oKTsKLSAgICAgIHRoaXMuaW50ZXJmYWNlRW5kcG9pbnRDbGllbnRfLmNs
b3NlKHJlYXNvbik7Ci0gICAgICB0aGlzLmludGVyZmFjZUVuZHBvaW50Q2xpZW50XyA9IG51bGw7
Ci0gICAgfQotICAgIHRoaXMucmVzZXQoKTsKLSAgfTsKLQotICBJbnRlcmZhY2VQdHJDb250cm9s
bGVyLnByb3RvdHlwZS5zZXRDb25uZWN0aW9uRXJyb3JIYW5kbGVyID0gZnVuY3Rpb24oCi0gICAg
ICBjYWxsYmFjaykgewotICAgIGlmICghdGhpcy5pc0JvdW5kKCkpCi0gICAgICB0aHJvdyBuZXcg
RXJyb3IoIkNhbm5vdCBzZXQgY29ubmVjdGlvbiBlcnJvciBoYW5kbGVyIGlmIG5vdCBib3VuZC4i
KTsKLQotICAgIHRoaXMuY29uZmlndXJlUHJveHlJZk5lY2Vzc2FyeV8oKTsKLSAgICB0aGlzLmlu
dGVyZmFjZUVuZHBvaW50Q2xpZW50Xy5zZXRDb25uZWN0aW9uRXJyb3JIYW5kbGVyKGNhbGxiYWNr
KTsKLSAgfTsKLQotICBJbnRlcmZhY2VQdHJDb250cm9sbGVyLnByb3RvdHlwZS5wYXNzSW50ZXJm
YWNlID0gZnVuY3Rpb24oKSB7Ci0gICAgdmFyIHJlc3VsdDsKLSAgICBpZiAodGhpcy5yb3V0ZXJf
KSB7Ci0gICAgICAvLyBUT0RPKHl6c2hlbik6IEZpeCBSb3V0ZXIgaW50ZXJmYWNlIHRvIHN1cHBv
cnQgZXh0cmFjdGluZyBoYW5kbGUuCi0gICAgICByZXN1bHQgPSBuZXcgbW9qby5JbnRlcmZhY2VQ
dHJJbmZvKAotICAgICAgICAgIHRoaXMucm91dGVyXy5jb25uZWN0b3JfLmhhbmRsZV8sIHRoaXMu
dmVyc2lvbik7Ci0gICAgICB0aGlzLnJvdXRlcl8uY29ubmVjdG9yXy5oYW5kbGVfID0gbnVsbDsK
LSAgICB9IGVsc2UgewotICAgICAgLy8gVGhpcyBhbHNvIGhhbmRsZXMgdGhlIGNhc2Ugd2hlbiB0
aGlzIG9iamVjdCBpcyBub3QgYm91bmQuCi0gICAgICByZXN1bHQgPSBuZXcgbW9qby5JbnRlcmZh
Y2VQdHJJbmZvKHRoaXMuaGFuZGxlXywgdGhpcy52ZXJzaW9uKTsKLSAgICAgIHRoaXMuaGFuZGxl
XyA9IG51bGw7Ci0gICAgfQotCi0gICAgdGhpcy5yZXNldCgpOwotICAgIHJldHVybiByZXN1bHQ7
Ci0gIH07Ci0KLSAgSW50ZXJmYWNlUHRyQ29udHJvbGxlci5wcm90b3R5cGUuZ2V0UHJveHkgPSBm
dW5jdGlvbigpIHsKLSAgICB0aGlzLmNvbmZpZ3VyZVByb3h5SWZOZWNlc3NhcnlfKCk7Ci0gICAg
cmV0dXJuIHRoaXMucHJveHlfOwotICB9OwotCi0gIEludGVyZmFjZVB0ckNvbnRyb2xsZXIucHJv
dG90eXBlLmNvbmZpZ3VyZVByb3h5SWZOZWNlc3NhcnlfID0gZnVuY3Rpb24oKSB7Ci0gICAgaWYg
KCF0aGlzLmhhbmRsZV8pCi0gICAgICByZXR1cm47Ci0KLSAgICB0aGlzLnJvdXRlcl8gPSBuZXcg
aW50ZXJuYWwuUm91dGVyKHRoaXMuaGFuZGxlXywgdHJ1ZSk7Ci0gICAgdGhpcy5oYW5kbGVfID0g
bnVsbDsKLQotICAgIHRoaXMuaW50ZXJmYWNlRW5kcG9pbnRDbGllbnRfID0gbmV3IGludGVybmFs
LkludGVyZmFjZUVuZHBvaW50Q2xpZW50KAotICAgICAgICB0aGlzLnJvdXRlcl8uY3JlYXRlTG9j
YWxFbmRwb2ludEhhbmRsZShpbnRlcm5hbC5rTWFzdGVySW50ZXJmYWNlSWQpKTsKLQotICAgIHRo
aXMuaW50ZXJmYWNlRW5kcG9pbnRDbGllbnRfIC5zZXRQYXlsb2FkVmFsaWRhdG9ycyhbCi0gICAg
ICAgIHRoaXMuaW50ZXJmYWNlVHlwZV8udmFsaWRhdGVSZXNwb25zZV0pOwotICAgIHRoaXMucHJv
eHlfID0gbmV3IHRoaXMuaW50ZXJmYWNlVHlwZV8ucHJveHlDbGFzcygKLSAgICAgICAgdGhpcy5p
bnRlcmZhY2VFbmRwb2ludENsaWVudF8pOwotICB9OwotCi0gIEludGVyZmFjZVB0ckNvbnRyb2xs
ZXIucHJvdG90eXBlLnF1ZXJ5VmVyc2lvbiA9IGZ1bmN0aW9uKCkgewotICAgIGZ1bmN0aW9uIG9u
UXVlcnlWZXJzaW9uKHZlcnNpb24pIHsKLSAgICAgIHRoaXMudmVyc2lvbiA9IHZlcnNpb247Ci0g
ICAgICByZXR1cm4gdmVyc2lvbjsKLSAgICB9Ci0KLSAgICB0aGlzLmNvbmZpZ3VyZVByb3h5SWZO
ZWNlc3NhcnlfKCk7Ci0gICAgcmV0dXJuIHRoaXMuaW50ZXJmYWNlRW5kcG9pbnRDbGllbnRfLnF1
ZXJ5VmVyc2lvbigpLnRoZW4oCi0gICAgICBvblF1ZXJ5VmVyc2lvbi5iaW5kKHRoaXMpKTsKLSAg
fTsKLQotICBJbnRlcmZhY2VQdHJDb250cm9sbGVyLnByb3RvdHlwZS5yZXF1aXJlVmVyc2lvbiA9
IGZ1bmN0aW9uKHZlcnNpb24pIHsKLSAgICB0aGlzLmNvbmZpZ3VyZVByb3h5SWZOZWNlc3Nhcnlf
KCk7Ci0KLSAgICBpZiAodGhpcy52ZXJzaW9uID49IHZlcnNpb24pIHsKLSAgICAgIHJldHVybjsK
LSAgICB9Ci0gICAgdGhpcy52ZXJzaW9uID0gdmVyc2lvbjsKLSAgICB0aGlzLmludGVyZmFjZUVu
ZHBvaW50Q2xpZW50Xy5yZXF1aXJlVmVyc2lvbih2ZXJzaW9uKTsKLSAgfTsKLQotICAvLyAtLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0KLQotICAvLyB8cmVxdWVzdHwgY291bGQgYmUgb21pdHRlZCBhbmQgcGFz
c2VkIGludG8gYmluZCgpIGxhdGVyLgotICAvLwotICAvLyBFeGFtcGxlOgotICAvLwotICAvLyAg
ICAvLyBGb29JbXBsIGltcGxlbWVudHMgbW9qb20uRm9vLgotICAvLyAgICBmdW5jdGlvbiBGb29J
bXBsKCkgeyAuLi4gfQotICAvLyAgICBGb29JbXBsLnByb3RvdHlwZS5mb29NZXRob2QxID0gZnVu
Y3Rpb24oKSB7IC4uLiB9Ci0gIC8vICAgIEZvb0ltcGwucHJvdG90eXBlLmZvb01ldGhvZDIgPSBm
dW5jdGlvbigpIHsgLi4uIH0KLSAgLy8KLSAgLy8gICAgdmFyIGZvb1B0ciA9IG5ldyBtb2pvbS5G
b29QdHIoKTsKLSAgLy8gICAgdmFyIHJlcXVlc3QgPSBtYWtlUmVxdWVzdChmb29QdHIpOwotICAv
LyAgICB2YXIgYmluZGluZyA9IG5ldyBCaW5kaW5nKG1vam9tLkZvbywgbmV3IEZvb0ltcGwoKSwg
cmVxdWVzdCk7Ci0gIC8vICAgIGZvb1B0ci5mb29NZXRob2QxKCk7Ci0gIGZ1bmN0aW9uIEJpbmRp
bmcoaW50ZXJmYWNlVHlwZSwgaW1wbCwgcmVxdWVzdE9ySGFuZGxlKSB7Ci0gICAgdGhpcy5pbnRl
cmZhY2VUeXBlXyA9IGludGVyZmFjZVR5cGU7Ci0gICAgdGhpcy5pbXBsXyA9IGltcGw7Ci0gICAg
dGhpcy5yb3V0ZXJfID0gbnVsbDsKLSAgICB0aGlzLmludGVyZmFjZUVuZHBvaW50Q2xpZW50XyA9
IG51bGw7Ci0gICAgdGhpcy5zdHViXyA9IG51bGw7Ci0KLSAgICBpZiAocmVxdWVzdE9ySGFuZGxl
KQotICAgICAgdGhpcy5iaW5kKHJlcXVlc3RPckhhbmRsZSk7Ci0gIH0KLQotICBCaW5kaW5nLnBy
b3RvdHlwZS5pc0JvdW5kID0gZnVuY3Rpb24oKSB7Ci0gICAgcmV0dXJuIHRoaXMucm91dGVyXyAh
PT0gbnVsbDsKLSAgfTsKLQotICBCaW5kaW5nLnByb3RvdHlwZS5jcmVhdGVJbnRlcmZhY2VQdHJB
bmRCaW5kID0gZnVuY3Rpb24oKSB7Ci0gICAgdmFyIHB0ciA9IG5ldyB0aGlzLmludGVyZmFjZVR5
cGVfLnB0ckNsYXNzKCk7Ci0gICAgLy8gVE9ETyh5enNoZW4pOiBTZXQgdGhlIHZlcnNpb24gb2Yg
dGhlIGludGVyZmFjZSBwb2ludGVyLgotICAgIHRoaXMuYmluZChtYWtlUmVxdWVzdChwdHIpKTsK
LSAgICByZXR1cm4gcHRyOwotICB9OwotCi0gIEJpbmRpbmcucHJvdG90eXBlLmJpbmQgPSBmdW5j
dGlvbihyZXF1ZXN0T3JIYW5kbGUpIHsKLSAgICB0aGlzLmNsb3NlKCk7Ci0KLSAgICB2YXIgaGFu
ZGxlID0gcmVxdWVzdE9ySGFuZGxlIGluc3RhbmNlb2YgbW9qby5JbnRlcmZhY2VSZXF1ZXN0ID8K
LSAgICAgICAgcmVxdWVzdE9ySGFuZGxlLmhhbmRsZSA6IHJlcXVlc3RPckhhbmRsZTsKLSAgICBp
ZiAoIShoYW5kbGUgaW5zdGFuY2VvZiBNb2pvSGFuZGxlKSkKLSAgICAgIHJldHVybjsKLQotICAg
IHRoaXMucm91dGVyXyA9IG5ldyBpbnRlcm5hbC5Sb3V0ZXIoaGFuZGxlKTsKLQotICAgIHRoaXMu
c3R1Yl8gPSBuZXcgdGhpcy5pbnRlcmZhY2VUeXBlXy5zdHViQ2xhc3ModGhpcy5pbXBsXyk7Ci0g
ICAgdGhpcy5pbnRlcmZhY2VFbmRwb2ludENsaWVudF8gPSBuZXcgaW50ZXJuYWwuSW50ZXJmYWNl
RW5kcG9pbnRDbGllbnQoCi0gICAgICAgIHRoaXMucm91dGVyXy5jcmVhdGVMb2NhbEVuZHBvaW50
SGFuZGxlKGludGVybmFsLmtNYXN0ZXJJbnRlcmZhY2VJZCksCi0gICAgICAgIHRoaXMuc3R1Yl8s
IHRoaXMuaW50ZXJmYWNlVHlwZV8ua1ZlcnNpb24pOwotCi0gICAgdGhpcy5pbnRlcmZhY2VFbmRw
b2ludENsaWVudF8gLnNldFBheWxvYWRWYWxpZGF0b3JzKFsKLSAgICAgICAgdGhpcy5pbnRlcmZh
Y2VUeXBlXy52YWxpZGF0ZVJlcXVlc3RdKTsKLSAgfTsKLQotICBCaW5kaW5nLnByb3RvdHlwZS5j
bG9zZSA9IGZ1bmN0aW9uKCkgewotICAgIGlmICghdGhpcy5pc0JvdW5kKCkpCi0gICAgICByZXR1
cm47Ci0KLSAgICBpZiAodGhpcy5pbnRlcmZhY2VFbmRwb2ludENsaWVudF8pIHsKLSAgICAgIHRo
aXMuaW50ZXJmYWNlRW5kcG9pbnRDbGllbnRfLmNsb3NlKCk7Ci0gICAgICB0aGlzLmludGVyZmFj
ZUVuZHBvaW50Q2xpZW50XyA9IG51bGw7Ci0gICAgfQotCi0gICAgdGhpcy5yb3V0ZXJfLmNsb3Nl
KCk7Ci0gICAgdGhpcy5yb3V0ZXJfID0gbnVsbDsKLSAgICB0aGlzLnN0dWJfID0gbnVsbDsKLSAg
fTsKLQotICBCaW5kaW5nLnByb3RvdHlwZS5jbG9zZVdpdGhSZWFzb24gPSBmdW5jdGlvbihyZWFz
b24pIHsKLSAgICBpZiAodGhpcy5pbnRlcmZhY2VFbmRwb2ludENsaWVudF8pIHsKLSAgICAgIHRo
aXMuaW50ZXJmYWNlRW5kcG9pbnRDbGllbnRfLmNsb3NlKHJlYXNvbik7Ci0gICAgICB0aGlzLmlu
dGVyZmFjZUVuZHBvaW50Q2xpZW50XyA9IG51bGw7Ci0gICAgfQotICAgIHRoaXMuY2xvc2UoKTsK
LSAgfTsKLQotICBCaW5kaW5nLnByb3RvdHlwZS5zZXRDb25uZWN0aW9uRXJyb3JIYW5kbGVyID0g
ZnVuY3Rpb24oY2FsbGJhY2spIHsKLSAgICBpZiAoIXRoaXMuaXNCb3VuZCgpKSB7Ci0gICAgICB0
aHJvdyBuZXcgRXJyb3IoIkNhbm5vdCBzZXQgY29ubmVjdGlvbiBlcnJvciBoYW5kbGVyIGlmIG5v
dCBib3VuZC4iKTsKLSAgICB9Ci0gICAgdGhpcy5pbnRlcmZhY2VFbmRwb2ludENsaWVudF8uc2V0
Q29ubmVjdGlvbkVycm9ySGFuZGxlcihjYWxsYmFjayk7Ci0gIH07Ci0KLSAgQmluZGluZy5wcm90
b3R5cGUudW5iaW5kID0gZnVuY3Rpb24oKSB7Ci0gICAgaWYgKCF0aGlzLmlzQm91bmQoKSkKLSAg
ICAgIHJldHVybiBuZXcgbW9qby5JbnRlcmZhY2VSZXF1ZXN0KG51bGwpOwotCi0gICAgdmFyIHJl
c3VsdCA9IG5ldyBtb2pvLkludGVyZmFjZVJlcXVlc3QodGhpcy5yb3V0ZXJfLmNvbm5lY3Rvcl8u
aGFuZGxlXyk7Ci0gICAgdGhpcy5yb3V0ZXJfLmNvbm5lY3Rvcl8uaGFuZGxlXyA9IG51bGw7Ci0g
ICAgdGhpcy5jbG9zZSgpOwotICAgIHJldHVybiByZXN1bHQ7Ci0gIH07Ci0KLSAgLy8gLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tCi0KLSAgZnVuY3Rpb24gQmluZGluZ1NldEVudHJ5KGJpbmRpbmdTZXQsIGlu
dGVyZmFjZVR5cGUsIGJpbmRpbmdUeXBlLCBpbXBsLAotICAgICAgcmVxdWVzdE9ySGFuZGxlLCBi
aW5kaW5nSWQpIHsKLSAgICB0aGlzLmJpbmRpbmdTZXRfID0gYmluZGluZ1NldDsKLSAgICB0aGlz
LmJpbmRpbmdJZF8gPSBiaW5kaW5nSWQ7Ci0gICAgdGhpcy5iaW5kaW5nXyA9IG5ldyBiaW5kaW5n
VHlwZShpbnRlcmZhY2VUeXBlLCBpbXBsLAotICAgICAgICByZXF1ZXN0T3JIYW5kbGUpOwotCi0g
ICAgdGhpcy5iaW5kaW5nXy5zZXRDb25uZWN0aW9uRXJyb3JIYW5kbGVyKGZ1bmN0aW9uKHJlYXNv
bikgewotICAgICAgdGhpcy5iaW5kaW5nU2V0Xy5vbkNvbm5lY3Rpb25FcnJvcihiaW5kaW5nSWQs
IHJlYXNvbik7Ci0gICAgfS5iaW5kKHRoaXMpKTsKLSAgfQotCi0gIEJpbmRpbmdTZXRFbnRyeS5w
cm90b3R5cGUuY2xvc2UgPSBmdW5jdGlvbigpIHsKLSAgICB0aGlzLmJpbmRpbmdfLmNsb3NlKCk7
Ci0gIH07Ci0KLSAgZnVuY3Rpb24gQmluZGluZ1NldChpbnRlcmZhY2VUeXBlKSB7Ci0gICAgdGhp
cy5pbnRlcmZhY2VUeXBlXyA9IGludGVyZmFjZVR5cGU7Ci0gICAgdGhpcy5uZXh0QmluZGluZ0lk
XyA9IDA7Ci0gICAgdGhpcy5iaW5kaW5nc18gPSBuZXcgTWFwKCk7Ci0gICAgdGhpcy5lcnJvckhh
bmRsZXJfID0gbnVsbDsKLSAgICB0aGlzLmJpbmRpbmdUeXBlXyA9IEJpbmRpbmc7Ci0gIH0KLQot
ICBCaW5kaW5nU2V0LnByb3RvdHlwZS5pc0VtcHR5ID0gZnVuY3Rpb24oKSB7Ci0gICAgcmV0dXJu
IHRoaXMuYmluZGluZ3NfLnNpemUgPT0gMDsKLSAgfTsKLQotICBCaW5kaW5nU2V0LnByb3RvdHlw
ZS5hZGRCaW5kaW5nID0gZnVuY3Rpb24oaW1wbCwgcmVxdWVzdE9ySGFuZGxlKSB7Ci0gICAgdGhp
cy5iaW5kaW5nc18uc2V0KAotICAgICAgICB0aGlzLm5leHRCaW5kaW5nSWRfLAotICAgICAgICBu
ZXcgQmluZGluZ1NldEVudHJ5KHRoaXMsIHRoaXMuaW50ZXJmYWNlVHlwZV8sIHRoaXMuYmluZGlu
Z1R5cGVfLCBpbXBsLAotICAgICAgICAgICAgcmVxdWVzdE9ySGFuZGxlLCB0aGlzLm5leHRCaW5k
aW5nSWRfKSk7Ci0gICAgKyt0aGlzLm5leHRCaW5kaW5nSWRfOwotICB9OwotCi0gIEJpbmRpbmdT
ZXQucHJvdG90eXBlLmNsb3NlQWxsQmluZGluZ3MgPSBmdW5jdGlvbigpIHsKLSAgICBmb3IgKHZh
ciBlbnRyeSBvZiB0aGlzLmJpbmRpbmdzXy52YWx1ZXMoKSkKLSAgICAgIGVudHJ5LmNsb3NlKCk7
Ci0gICAgdGhpcy5iaW5kaW5nc18uY2xlYXIoKTsKLSAgfTsKLQotICBCaW5kaW5nU2V0LnByb3Rv
dHlwZS5zZXRDb25uZWN0aW9uRXJyb3JIYW5kbGVyID0gZnVuY3Rpb24oY2FsbGJhY2spIHsKLSAg
ICB0aGlzLmVycm9ySGFuZGxlcl8gPSBjYWxsYmFjazsKLSAgfTsKLQotICBCaW5kaW5nU2V0LnBy
b3RvdHlwZS5vbkNvbm5lY3Rpb25FcnJvciA9IGZ1bmN0aW9uKGJpbmRpbmdJZCwgcmVhc29uKSB7
Ci0gICAgdGhpcy5iaW5kaW5nc18uZGVsZXRlKGJpbmRpbmdJZCk7Ci0KLSAgICBpZiAodGhpcy5l
cnJvckhhbmRsZXJfKQotICAgICAgdGhpcy5lcnJvckhhbmRsZXJfKHJlYXNvbik7Ci0gIH07Ci0K
LSAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0KLSAgLy8gT3BlcmF0aW9ucyB1c2VkIHRvIHNldHVw
L2NvbmZpZ3VyZSBhbiBhc3NvY2lhdGVkIGludGVyZmFjZSBwb2ludGVyLgotICAvLyBFeHBvc2Vk
IGFzIHxwdHJ8IGZpZWxkIG9mIGdlbmVyYXRlZCBhc3NvY2lhdGVkIGludGVyZmFjZSBwb2ludGVy
IGNsYXNzZXMuCi0gIC8vIHxhc3NvY2lhdGVkUHRySW5mb3wgY291bGQgYmUgb21pdHRlZCBhbmQg
cGFzc2VkIGludG8gYmluZCgpIGxhdGVyLgotICAvLwotICAvLyBFeGFtcGxlOgotICAvLyAgICAv
LyBJbnRlZ2VyU2VuZGVySW1wbCBpbXBsZW1lbnRzIG1vam9tLkludGVnZXJTZW5kZXIKLSAgLy8g
ICAgZnVuY3Rpb24gSW50ZWdlclNlbmRlckltcGwoKSB7IC4uLiB9Ci0gIC8vICAgIEludGVnZXJT
ZW5kZXJJbXBsLnByb3RvdHlwZS5lY2hvID0gZnVuY3Rpb24oKSB7IC4uLiB9Ci0gIC8vCi0gIC8v
ICAgIC8vIEludGVnZXJTZW5kZXJDb25uZWN0aW9uSW1wbCBpbXBsZW1lbnRzIG1vam9tLkludGVn
ZXJTZW5kZXJDb25uZWN0aW9uCi0gIC8vICAgIGZ1bmN0aW9uIEludGVnZXJTZW5kZXJDb25uZWN0
aW9uSW1wbCgpIHsKLSAgLy8gICAgICB0aGlzLnNlbmRlckJpbmRpbmdfID0gbnVsbDsKLSAgLy8g
ICAgfQotICAvLyAgICBJbnRlZ2VyU2VuZGVyQ29ubmVjdGlvbkltcGwucHJvdG90eXBlLmdldFNl
bmRlciA9IGZ1bmN0aW9uKAotICAvLyAgICAgICAgYXNzb2NpYXRlZFJlcXVlc3QpIHsKLSAgLy8g
ICAgICB0aGlzLnNlbmRlckJpbmRpbmdfID0gbmV3IEFzc29jaWF0ZWRCaW5kaW5nKG1vam9tLklu
dGVnZXJTZW5kZXIsCi0gIC8vICAgICAgICAgIG5ldyBJbnRlZ2VyU2VuZGVySW1wbCgpLAotICAv
LyAgICAgICAgICBhc3NvY2lhdGVkUmVxdWVzdCk7Ci0gIC8vICAgIH0KLSAgLy8KLSAgLy8gICAg
dmFyIGludGVnZXJTZW5kZXJDb25uZWN0aW9uID0gbmV3IG1vam9tLkludGVnZXJTZW5kZXJDb25u
ZWN0aW9uUHRyKCk7Ci0gIC8vICAgIHZhciBpbnRlZ2VyU2VuZGVyQ29ubmVjdGlvbkJpbmRpbmcg
PSBuZXcgQmluZGluZygKLSAgLy8gICAgICAgIG1vam9tLkludGVnZXJTZW5kZXJDb25uZWN0aW9u
LAotICAvLyAgICAgICAgbmV3IEludGVnZXJTZW5kZXJDb25uZWN0aW9uSW1wbCgpLAotICAvLyAg
ICAgICAgbW9qby5tYWtlUmVxdWVzdChpbnRlZ2VyU2VuZGVyQ29ubmVjdGlvbikpOwotICAvLwot
ICAvLyAgICAvLyBBIGxvY2FsbHktY3JlYXRlZCBhc3NvY2lhdGVkIGludGVyZmFjZSBwb2ludGVy
IGNhbiBvbmx5IGJlIHVzZWQgdG8KLSAgLy8gICAgLy8gbWFrZSBjYWxscyB3aGVuIHRoZSBjb3Jy
ZXNwb25kaW5nIGFzc29jaWF0ZWQgcmVxdWVzdCBpcyBzZW50IG92ZXIKLSAgLy8gICAgLy8gYW5v
dGhlciBpbnRlcmZhY2UgKGVpdGhlciB0aGUgbWFzdGVyIGludGVyZmFjZSBvciBhbm90aGVyCi0g
IC8vICAgIC8vIGFzc29jaWF0ZWQgaW50ZXJmYWNlKS4KLSAgLy8gICAgdmFyIGFzc29jaWF0ZWRJ
bnRlcmZhY2VQdHJJbmZvID0gbmV3IEFzc29jaWF0ZWRJbnRlcmZhY2VQdHJJbmZvKCk7Ci0gIC8v
ICAgIHZhciBhc3NvY2lhdGVkUmVxdWVzdCA9IG1ha2VSZXF1ZXN0KGludGVyZmFjZVB0ckluZm8p
OwotICAvLwotICAvLyAgICBpbnRlZ2VyU2VuZGVyQ29ubmVjdGlvbi5nZXRTZW5kZXIoYXNzb2Np
YXRlZFJlcXVlc3QpOwotICAvLwotICAvLyAgICAvLyBDcmVhdGUgYW4gYXNzb2NpYXRlZCBpbnRl
cmZhY2UgYW5kIGJpbmQgdGhlIGFzc29jaWF0ZWQgaGFuZGxlLgotICAvLyAgICB2YXIgaW50ZWdl
clNlbmRlciA9IG5ldyBtb2pvbS5Bc3NvY2lhdGVkSW50ZWdlclNlbmRlclB0cigpOwotICAvLyAg
ICBpbnRlZ2VyU2VuZGVyLnB0ci5iaW5kKGFzc29jaWF0ZWRJbnRlcmZhY2VQdHJJbmZvKTsKLSAg
Ly8gICAgaW50ZWdlclNlbmRlci5lY2hvKCk7Ci0KLSAgZnVuY3Rpb24gQXNzb2NpYXRlZEludGVy
ZmFjZVB0ckNvbnRyb2xsZXIoaW50ZXJmYWNlVHlwZSwgYXNzb2NpYXRlZFB0ckluZm8pIHsKLSAg
ICB0aGlzLnZlcnNpb24gPSAwOwotCi0gICAgdGhpcy5pbnRlcmZhY2VUeXBlXyA9IGludGVyZmFj
ZVR5cGU7Ci0gICAgdGhpcy5pbnRlcmZhY2VFbmRwb2ludENsaWVudF8gPSBudWxsOwotICAgIHRo
aXMucHJveHlfID0gbnVsbDsKLQotICAgIGlmIChhc3NvY2lhdGVkUHRySW5mbykgewotICAgICAg
dGhpcy5iaW5kKGFzc29jaWF0ZWRQdHJJbmZvKTsKLSAgICB9Ci0gIH0KLQotICBBc3NvY2lhdGVk
SW50ZXJmYWNlUHRyQ29udHJvbGxlci5wcm90b3R5cGUuYmluZCA9IGZ1bmN0aW9uKAotICAgICAg
YXNzb2NpYXRlZFB0ckluZm8pIHsKLSAgICB0aGlzLnJlc2V0KCk7Ci0gICAgdGhpcy52ZXJzaW9u
ID0gYXNzb2NpYXRlZFB0ckluZm8udmVyc2lvbjsKLQotICAgIHRoaXMuaW50ZXJmYWNlRW5kcG9p
bnRDbGllbnRfID0gbmV3IGludGVybmFsLkludGVyZmFjZUVuZHBvaW50Q2xpZW50KAotICAgICAg
ICBhc3NvY2lhdGVkUHRySW5mby5pbnRlcmZhY2VFbmRwb2ludEhhbmRsZSk7Ci0KLSAgICB0aGlz
LmludGVyZmFjZUVuZHBvaW50Q2xpZW50XyAuc2V0UGF5bG9hZFZhbGlkYXRvcnMoWwotICAgICAg
ICB0aGlzLmludGVyZmFjZVR5cGVfLnZhbGlkYXRlUmVzcG9uc2VdKTsKLSAgICB0aGlzLnByb3h5
XyA9IG5ldyB0aGlzLmludGVyZmFjZVR5cGVfLnByb3h5Q2xhc3MoCi0gICAgICAgIHRoaXMuaW50
ZXJmYWNlRW5kcG9pbnRDbGllbnRfKTsKLSAgfTsKLQotICBBc3NvY2lhdGVkSW50ZXJmYWNlUHRy
Q29udHJvbGxlci5wcm90b3R5cGUuaXNCb3VuZCA9IGZ1bmN0aW9uKCkgewotICAgIHJldHVybiB0
aGlzLmludGVyZmFjZUVuZHBvaW50Q2xpZW50XyAhPT0gbnVsbDsKLSAgfTsKLQotICBBc3NvY2lh
dGVkSW50ZXJmYWNlUHRyQ29udHJvbGxlci5wcm90b3R5cGUucmVzZXQgPSBmdW5jdGlvbigpIHsK
LSAgICB0aGlzLnZlcnNpb24gPSAwOwotICAgIGlmICh0aGlzLmludGVyZmFjZUVuZHBvaW50Q2xp
ZW50XykgewotICAgICAgdGhpcy5pbnRlcmZhY2VFbmRwb2ludENsaWVudF8uY2xvc2UoKTsKLSAg
ICAgIHRoaXMuaW50ZXJmYWNlRW5kcG9pbnRDbGllbnRfID0gbnVsbDsKLSAgICB9Ci0gICAgaWYg
KHRoaXMucHJveHlfKSB7Ci0gICAgICB0aGlzLnByb3h5XyA9IG51bGw7Ci0gICAgfQotICB9Owot
Ci0gIEFzc29jaWF0ZWRJbnRlcmZhY2VQdHJDb250cm9sbGVyLnByb3RvdHlwZS5yZXNldFdpdGhS
ZWFzb24gPSBmdW5jdGlvbigKLSAgICAgIHJlYXNvbikgewotICAgIGlmICh0aGlzLmlzQm91bmQo
KSkgewotICAgICAgdGhpcy5pbnRlcmZhY2VFbmRwb2ludENsaWVudF8uY2xvc2UocmVhc29uKTsK
LSAgICAgIHRoaXMuaW50ZXJmYWNlRW5kcG9pbnRDbGllbnRfID0gbnVsbDsKLSAgICB9Ci0gICAg
dGhpcy5yZXNldCgpOwotICB9OwotCi0gIC8vIEluZGljYXRlcyB3aGV0aGVyIGFuIGVycm9yIGhh
cyBiZWVuIGVuY291bnRlcmVkLiBJZiB0cnVlLCBtZXRob2QgY2FsbHMKLSAgLy8gb24gdGhpcyBp
bnRlcmZhY2Ugd2lsbCBiZSBkcm9wcGVkIChhbmQgbWF5IGFscmVhZHkgaGF2ZSBiZWVuIGRyb3Bw
ZWQpLgotICBBc3NvY2lhdGVkSW50ZXJmYWNlUHRyQ29udHJvbGxlci5wcm90b3R5cGUuZ2V0RW5j
b3VudGVyZWRFcnJvciA9IGZ1bmN0aW9uKCkgewotICAgIHJldHVybiB0aGlzLmludGVyZmFjZUVu
ZHBvaW50Q2xpZW50XyA/Ci0gICAgICAgIHRoaXMuaW50ZXJmYWNlRW5kcG9pbnRDbGllbnRfLmdl
dEVuY291bnRlcmVkRXJyb3IoKSA6IGZhbHNlOwotICB9OwotCi0gIEFzc29jaWF0ZWRJbnRlcmZh
Y2VQdHJDb250cm9sbGVyLnByb3RvdHlwZS5zZXRDb25uZWN0aW9uRXJyb3JIYW5kbGVyID0KLSAg
ICAgIGZ1bmN0aW9uKGNhbGxiYWNrKSB7Ci0gICAgaWYgKCF0aGlzLmlzQm91bmQoKSkgewotICAg
ICAgdGhyb3cgbmV3IEVycm9yKCJDYW5ub3Qgc2V0IGNvbm5lY3Rpb24gZXJyb3IgaGFuZGxlciBp
ZiBub3QgYm91bmQuIik7Ci0gICAgfQotCi0gICAgdGhpcy5pbnRlcmZhY2VFbmRwb2ludENsaWVu
dF8uc2V0Q29ubmVjdGlvbkVycm9ySGFuZGxlcihjYWxsYmFjayk7Ci0gIH07Ci0KLSAgQXNzb2Np
YXRlZEludGVyZmFjZVB0ckNvbnRyb2xsZXIucHJvdG90eXBlLnBhc3NJbnRlcmZhY2UgPSBmdW5j
dGlvbigpIHsKLSAgICBpZiAoIXRoaXMuaXNCb3VuZCgpKSB7Ci0gICAgICByZXR1cm4gbmV3IG1v
am8uQXNzb2NpYXRlZEludGVyZmFjZVB0ckluZm8obnVsbCk7Ci0gICAgfQotCi0gICAgdmFyIHJl
c3VsdCA9IG5ldyBtb2pvLkFzc29jaWF0ZWRJbnRlcmZhY2VQdHJJbmZvKAotICAgICAgICB0aGlz
LmludGVyZmFjZUVuZHBvaW50Q2xpZW50Xy5wYXNzSGFuZGxlKCksIHRoaXMudmVyc2lvbik7Ci0g
ICAgdGhpcy5yZXNldCgpOwotICAgIHJldHVybiByZXN1bHQ7Ci0gIH07Ci0KLSAgQXNzb2NpYXRl
ZEludGVyZmFjZVB0ckNvbnRyb2xsZXIucHJvdG90eXBlLmdldFByb3h5ID0gZnVuY3Rpb24oKSB7
Ci0gICAgcmV0dXJuIHRoaXMucHJveHlfOwotICB9OwotCi0gIEFzc29jaWF0ZWRJbnRlcmZhY2VQ
dHJDb250cm9sbGVyLnByb3RvdHlwZS5xdWVyeVZlcnNpb24gPSBmdW5jdGlvbigpIHsKLSAgICBm
dW5jdGlvbiBvblF1ZXJ5VmVyc2lvbih2ZXJzaW9uKSB7Ci0gICAgICB0aGlzLnZlcnNpb24gPSB2
ZXJzaW9uOwotICAgICAgcmV0dXJuIHZlcnNpb247Ci0gICAgfQotCi0gICAgcmV0dXJuIHRoaXMu
aW50ZXJmYWNlRW5kcG9pbnRDbGllbnRfLnF1ZXJ5VmVyc2lvbigpLnRoZW4oCi0gICAgICBvblF1
ZXJ5VmVyc2lvbi5iaW5kKHRoaXMpKTsKLSAgfTsKLQotICBBc3NvY2lhdGVkSW50ZXJmYWNlUHRy
Q29udHJvbGxlci5wcm90b3R5cGUucmVxdWlyZVZlcnNpb24gPSBmdW5jdGlvbigKLSAgICAgIHZl
cnNpb24pIHsKLSAgICBpZiAodGhpcy52ZXJzaW9uID49IHZlcnNpb24pIHsKLSAgICAgIHJldHVy
bjsKLSAgICB9Ci0gICAgdGhpcy52ZXJzaW9uID0gdmVyc2lvbjsKLSAgICB0aGlzLmludGVyZmFj
ZUVuZHBvaW50Q2xpZW50Xy5yZXF1aXJlVmVyc2lvbih2ZXJzaW9uKTsKLSAgfTsKLQotICAvLyAt
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0KLQotICAvLyB8YXNzb2NpYXRlZEludGVyZmFjZVJlcXVlc3R8IGNv
dWxkIGJlIG9taXR0ZWQgYW5kIHBhc3NlZCBpbnRvIGJpbmQoKQotICAvLyBsYXRlci4KLSAgZnVu
Y3Rpb24gQXNzb2NpYXRlZEJpbmRpbmcoaW50ZXJmYWNlVHlwZSwgaW1wbCwgYXNzb2NpYXRlZElu
dGVyZmFjZVJlcXVlc3QpIHsKLSAgICB0aGlzLmludGVyZmFjZVR5cGVfID0gaW50ZXJmYWNlVHlw
ZTsKLSAgICB0aGlzLmltcGxfID0gaW1wbDsKLSAgICB0aGlzLmludGVyZmFjZUVuZHBvaW50Q2xp
ZW50XyA9IG51bGw7Ci0gICAgdGhpcy5zdHViXyA9IG51bGw7Ci0KLSAgICBpZiAoYXNzb2NpYXRl
ZEludGVyZmFjZVJlcXVlc3QpIHsKLSAgICAgIHRoaXMuYmluZChhc3NvY2lhdGVkSW50ZXJmYWNl
UmVxdWVzdCk7Ci0gICAgfQotICB9Ci0KLSAgQXNzb2NpYXRlZEJpbmRpbmcucHJvdG90eXBlLmlz
Qm91bmQgPSBmdW5jdGlvbigpIHsKLSAgICByZXR1cm4gdGhpcy5pbnRlcmZhY2VFbmRwb2ludENs
aWVudF8gIT09IG51bGw7Ci0gIH07Ci0KLSAgQXNzb2NpYXRlZEJpbmRpbmcucHJvdG90eXBlLmJp
bmQgPSBmdW5jdGlvbihhc3NvY2lhdGVkSW50ZXJmYWNlUmVxdWVzdCkgewotICAgIHRoaXMuY2xv
c2UoKTsKLQotICAgIHRoaXMuc3R1Yl8gPSBuZXcgdGhpcy5pbnRlcmZhY2VUeXBlXy5zdHViQ2xh
c3ModGhpcy5pbXBsXyk7Ci0gICAgdGhpcy5pbnRlcmZhY2VFbmRwb2ludENsaWVudF8gPSBuZXcg
aW50ZXJuYWwuSW50ZXJmYWNlRW5kcG9pbnRDbGllbnQoCi0gICAgICAgIGFzc29jaWF0ZWRJbnRl
cmZhY2VSZXF1ZXN0LmludGVyZmFjZUVuZHBvaW50SGFuZGxlLCB0aGlzLnN0dWJfLAotICAgICAg
ICB0aGlzLmludGVyZmFjZVR5cGVfLmtWZXJzaW9uKTsKLQotICAgIHRoaXMuaW50ZXJmYWNlRW5k
cG9pbnRDbGllbnRfIC5zZXRQYXlsb2FkVmFsaWRhdG9ycyhbCi0gICAgICAgIHRoaXMuaW50ZXJm
YWNlVHlwZV8udmFsaWRhdGVSZXF1ZXN0XSk7Ci0gIH07Ci0KLQotICBBc3NvY2lhdGVkQmluZGlu
Zy5wcm90b3R5cGUuY2xvc2UgPSBmdW5jdGlvbigpIHsKLSAgICBpZiAoIXRoaXMuaXNCb3VuZCgp
KSB7Ci0gICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgaWYgKHRoaXMuaW50ZXJmYWNlRW5kcG9p
bnRDbGllbnRfKSB7Ci0gICAgICB0aGlzLmludGVyZmFjZUVuZHBvaW50Q2xpZW50Xy5jbG9zZSgp
OwotICAgICAgdGhpcy5pbnRlcmZhY2VFbmRwb2ludENsaWVudF8gPSBudWxsOwotICAgIH0KLQot
ICAgIHRoaXMuc3R1Yl8gPSBudWxsOwotICB9OwotCi0gIEFzc29jaWF0ZWRCaW5kaW5nLnByb3Rv
dHlwZS5jbG9zZVdpdGhSZWFzb24gPSBmdW5jdGlvbihyZWFzb24pIHsKLSAgICBpZiAodGhpcy5p
bnRlcmZhY2VFbmRwb2ludENsaWVudF8pIHsKLSAgICAgIHRoaXMuaW50ZXJmYWNlRW5kcG9pbnRD
bGllbnRfLmNsb3NlKHJlYXNvbik7Ci0gICAgICB0aGlzLmludGVyZmFjZUVuZHBvaW50Q2xpZW50
XyA9IG51bGw7Ci0gICAgfQotICAgIHRoaXMuY2xvc2UoKTsKLSAgfTsKLQotICBBc3NvY2lhdGVk
QmluZGluZy5wcm90b3R5cGUuc2V0Q29ubmVjdGlvbkVycm9ySGFuZGxlciA9IGZ1bmN0aW9uKGNh
bGxiYWNrKSB7Ci0gICAgaWYgKCF0aGlzLmlzQm91bmQoKSkgewotICAgICAgdGhyb3cgbmV3IEVy
cm9yKCJDYW5ub3Qgc2V0IGNvbm5lY3Rpb24gZXJyb3IgaGFuZGxlciBpZiBub3QgYm91bmQuIik7
Ci0gICAgfQotICAgIHRoaXMuaW50ZXJmYWNlRW5kcG9pbnRDbGllbnRfLnNldENvbm5lY3Rpb25F
cnJvckhhbmRsZXIoY2FsbGJhY2spOwotICB9OwotCi0gIEFzc29jaWF0ZWRCaW5kaW5nLnByb3Rv
dHlwZS51bmJpbmQgPSBmdW5jdGlvbigpIHsKLSAgICBpZiAoIXRoaXMuaXNCb3VuZCgpKSB7Ci0g
ICAgICByZXR1cm4gbmV3IG1vam8uQXNzb2NpYXRlZEludGVyZmFjZVJlcXVlc3QobnVsbCk7Ci0g
ICAgfQotCi0gICAgdmFyIHJlc3VsdCA9IG5ldyBtb2pvLkFzc29jaWF0ZWRJbnRlcmZhY2VSZXF1
ZXN0KAotICAgICAgICB0aGlzLmludGVyZmFjZUVuZHBvaW50Q2xpZW50Xy5wYXNzSGFuZGxlKCkp
OwotICAgIHRoaXMuY2xvc2UoKTsKLSAgICByZXR1cm4gcmVzdWx0OwotICB9OwotCi0gIC8vIC0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLQotCi0gIGZ1bmN0aW9uIEFzc29jaWF0ZWRCaW5kaW5nU2V0KGludGVy
ZmFjZVR5cGUpIHsKLSAgICBtb2pvLkJpbmRpbmdTZXQuY2FsbCh0aGlzLCBpbnRlcmZhY2VUeXBl
KTsKLSAgICB0aGlzLmJpbmRpbmdUeXBlXyA9IEFzc29jaWF0ZWRCaW5kaW5nOwotICB9Ci0KLSAg
QXNzb2NpYXRlZEJpbmRpbmdTZXQucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShCaW5kaW5nU2V0
LnByb3RvdHlwZSk7Ci0gIEFzc29jaWF0ZWRCaW5kaW5nU2V0LnByb3RvdHlwZS5jb25zdHJ1Y3Rv
ciA9IEFzc29jaWF0ZWRCaW5kaW5nU2V0OwotCi0gIG1vam8ubWFrZVJlcXVlc3QgPSBtYWtlUmVx
dWVzdDsKLSAgbW9qby5Bc3NvY2lhdGVkSW50ZXJmYWNlUHRyQ29udHJvbGxlciA9IEFzc29jaWF0
ZWRJbnRlcmZhY2VQdHJDb250cm9sbGVyOwotICBtb2pvLkFzc29jaWF0ZWRCaW5kaW5nID0gQXNz
b2NpYXRlZEJpbmRpbmc7Ci0gIG1vam8uQXNzb2NpYXRlZEJpbmRpbmdTZXQgPSBBc3NvY2lhdGVk
QmluZGluZ1NldDsKLSAgbW9qby5CaW5kaW5nID0gQmluZGluZzsKLSAgbW9qby5CaW5kaW5nU2V0
ID0gQmluZGluZ1NldDsKLSAgbW9qby5JbnRlcmZhY2VQdHJDb250cm9sbGVyID0gSW50ZXJmYWNl
UHRyQ29udHJvbGxlcjsKLX0pKCk7Ci0vLyBDb3B5cmlnaHQgMjAxNiBUaGUgQ2hyb21pdW0gQXV0
aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLS8vIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlz
IGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKLS8vIGZvdW5kIGlu
IHRoZSBMSUNFTlNFIGZpbGUuCi0KLShmdW5jdGlvbigpIHsKLSAgdmFyIGludGVybmFsID0gbW9q
by5pbnRlcm5hbDsKLQotICAvLyBDb25zdGFudHMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotICB2YXIga0ludGVyZmFjZUlk
TmFtZXNwYWNlTWFzayA9IDB4ODAwMDAwMDA7Ci0gIHZhciBrTWFzdGVySW50ZXJmYWNlSWQgPSAw
eDAwMDAwMDAwOwotICB2YXIga0ludmFsaWRJbnRlcmZhY2VJZCA9IDB4RkZGRkZGRkY7Ci0KLSAg
Ly8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0KLSAgZnVuY3Rpb24gSW50ZXJmYWNlUHRySW5mbyhoYW5k
bGUsIHZlcnNpb24pIHsKLSAgICB0aGlzLmhhbmRsZSA9IGhhbmRsZTsKLSAgICB0aGlzLnZlcnNp
b24gPSB2ZXJzaW9uOwotICB9Ci0KLSAgSW50ZXJmYWNlUHRySW5mby5wcm90b3R5cGUuaXNWYWxp
ZCA9IGZ1bmN0aW9uKCkgewotICAgIHJldHVybiB0aGlzLmhhbmRsZSBpbnN0YW5jZW9mIE1vam9I
YW5kbGU7Ci0gIH07Ci0KLSAgSW50ZXJmYWNlUHRySW5mby5wcm90b3R5cGUuY2xvc2UgPSBmdW5j
dGlvbigpIHsKLSAgICBpZiAoIXRoaXMuaXNWYWxpZCgpKQotICAgICAgcmV0dXJuOwotCi0gICAg
dGhpcy5oYW5kbGUuY2xvc2UoKTsKLSAgICB0aGlzLmhhbmRsZSA9IG51bGw7Ci0gICAgdGhpcy52
ZXJzaW9uID0gMDsKLSAgfTsKLQotICBmdW5jdGlvbiBBc3NvY2lhdGVkSW50ZXJmYWNlUHRySW5m
byhpbnRlcmZhY2VFbmRwb2ludEhhbmRsZSwgdmVyc2lvbikgewotICAgIHRoaXMuaW50ZXJmYWNl
RW5kcG9pbnRIYW5kbGUgPSBpbnRlcmZhY2VFbmRwb2ludEhhbmRsZTsKLSAgICB0aGlzLnZlcnNp
b24gPSB2ZXJzaW9uOwotICB9Ci0KLSAgQXNzb2NpYXRlZEludGVyZmFjZVB0ckluZm8ucHJvdG90
eXBlLmlzVmFsaWQgPSBmdW5jdGlvbigpIHsKLSAgICByZXR1cm4gdGhpcy5pbnRlcmZhY2VFbmRw
b2ludEhhbmRsZS5pc1ZhbGlkKCk7Ci0gIH07Ci0KLSAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0K
LSAgZnVuY3Rpb24gSW50ZXJmYWNlUmVxdWVzdChoYW5kbGUpIHsKLSAgICB0aGlzLmhhbmRsZSA9
IGhhbmRsZTsKLSAgfQotCi0gIEludGVyZmFjZVJlcXVlc3QucHJvdG90eXBlLmlzVmFsaWQgPSBm
dW5jdGlvbigpIHsKLSAgICByZXR1cm4gdGhpcy5oYW5kbGUgaW5zdGFuY2VvZiBNb2pvSGFuZGxl
OwotICB9OwotCi0gIEludGVyZmFjZVJlcXVlc3QucHJvdG90eXBlLmNsb3NlID0gZnVuY3Rpb24o
KSB7Ci0gICAgaWYgKCF0aGlzLmlzVmFsaWQoKSkKLSAgICAgIHJldHVybjsKLQotICAgIHRoaXMu
aGFuZGxlLmNsb3NlKCk7Ci0gICAgdGhpcy5oYW5kbGUgPSBudWxsOwotICB9OwotCi0gIGZ1bmN0
aW9uIEFzc29jaWF0ZWRJbnRlcmZhY2VSZXF1ZXN0KGludGVyZmFjZUVuZHBvaW50SGFuZGxlKSB7
Ci0gICAgdGhpcy5pbnRlcmZhY2VFbmRwb2ludEhhbmRsZSA9IGludGVyZmFjZUVuZHBvaW50SGFu
ZGxlOwotICB9Ci0KLSAgQXNzb2NpYXRlZEludGVyZmFjZVJlcXVlc3QucHJvdG90eXBlLmlzVmFs
aWQgPSBmdW5jdGlvbigpIHsKLSAgICByZXR1cm4gdGhpcy5pbnRlcmZhY2VFbmRwb2ludEhhbmRs
ZS5pc1ZhbGlkKCk7Ci0gIH07Ci0KLSAgQXNzb2NpYXRlZEludGVyZmFjZVJlcXVlc3QucHJvdG90
eXBlLnJlc2V0V2l0aFJlYXNvbiA9IGZ1bmN0aW9uKHJlYXNvbikgewotICAgIHRoaXMuaW50ZXJm
YWNlRW5kcG9pbnRIYW5kbGUucmVzZXQocmVhc29uKTsKLSAgfTsKLQotICBmdW5jdGlvbiBpc01h
c3RlckludGVyZmFjZUlkKGludGVyZmFjZUlkKSB7Ci0gICAgcmV0dXJuIGludGVyZmFjZUlkID09
PSBrTWFzdGVySW50ZXJmYWNlSWQ7Ci0gIH0KLQotICBmdW5jdGlvbiBpc1ZhbGlkSW50ZXJmYWNl
SWQoaW50ZXJmYWNlSWQpIHsKLSAgICByZXR1cm4gaW50ZXJmYWNlSWQgIT09IGtJbnZhbGlkSW50
ZXJmYWNlSWQ7Ci0gIH0KLQotICBmdW5jdGlvbiBoYXNJbnRlcmZhY2VJZE5hbWVzcGFjZUJpdFNl
dChpbnRlcmZhY2VJZCkgewotICAgIGlmIChpbnRlcmZhY2VJZCA+PSAyICoga0ludGVyZmFjZUlk
TmFtZXNwYWNlTWFzaykgewotICAgICAgdGhyb3cgbmV3IEVycm9yKCJJbnRlcmZhY2UgSUQgc2hv
dWxkIGJlIGEgMzItYml0IHVuc2lnbmVkIGludGVnZXIuIik7Ci0gICAgfQotICAgIHJldHVybiBp
bnRlcmZhY2VJZCA+PSBrSW50ZXJmYWNlSWROYW1lc3BhY2VNYXNrOwotICB9Ci0KLSAgbW9qby5J
bnRlcmZhY2VQdHJJbmZvID0gSW50ZXJmYWNlUHRySW5mbzsKLSAgbW9qby5JbnRlcmZhY2VSZXF1
ZXN0ID0gSW50ZXJmYWNlUmVxdWVzdDsKLSAgbW9qby5Bc3NvY2lhdGVkSW50ZXJmYWNlUHRySW5m
byA9IEFzc29jaWF0ZWRJbnRlcmZhY2VQdHJJbmZvOwotICBtb2pvLkFzc29jaWF0ZWRJbnRlcmZh
Y2VSZXF1ZXN0ID0gQXNzb2NpYXRlZEludGVyZmFjZVJlcXVlc3Q7Ci0gIGludGVybmFsLmlzTWFz
dGVySW50ZXJmYWNlSWQgPSBpc01hc3RlckludGVyZmFjZUlkOwotICBpbnRlcm5hbC5pc1ZhbGlk
SW50ZXJmYWNlSWQgPSBpc1ZhbGlkSW50ZXJmYWNlSWQ7Ci0gIGludGVybmFsLmhhc0ludGVyZmFj
ZUlkTmFtZXNwYWNlQml0U2V0ID0gaGFzSW50ZXJmYWNlSWROYW1lc3BhY2VCaXRTZXQ7Ci0gIGlu
dGVybmFsLmtJbnZhbGlkSW50ZXJmYWNlSWQgPSBrSW52YWxpZEludGVyZmFjZUlkOwotICBpbnRl
cm5hbC5rTWFzdGVySW50ZXJmYWNlSWQgPSBrTWFzdGVySW50ZXJmYWNlSWQ7Ci0gIGludGVybmFs
LmtJbnRlcmZhY2VJZE5hbWVzcGFjZU1hc2sgPSBrSW50ZXJmYWNlSWROYW1lc3BhY2VNYXNrOwot
fSkoKTsKLS8vIENvcHlyaWdodCAyMDE0IFRoZSBDaHJvbWl1bSBBdXRob3JzLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgotLy8gVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBC
U0Qtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQotLy8gZm91bmQgaW4gdGhlIExJQ0VOU0UgZmls
ZS4KLQotKGZ1bmN0aW9uKCkgewotICB2YXIgaW50ZXJuYWwgPSBtb2pvLmludGVybmFsOwotCi0g
IHZhciBrSG9zdElzTGl0dGxlRW5kaWFuID0gKGZ1bmN0aW9uICgpIHsKLSAgICB2YXIgZW5kaWFu
QXJyYXlCdWZmZXIgPSBuZXcgQXJyYXlCdWZmZXIoMik7Ci0gICAgdmFyIGVuZGlhblVpbnQ4QXJy
YXkgPSBuZXcgVWludDhBcnJheShlbmRpYW5BcnJheUJ1ZmZlcik7Ci0gICAgdmFyIGVuZGlhblVp
bnQxNkFycmF5ID0gbmV3IFVpbnQxNkFycmF5KGVuZGlhbkFycmF5QnVmZmVyKTsKLSAgICBlbmRp
YW5VaW50MTZBcnJheVswXSA9IDE7Ci0gICAgcmV0dXJuIGVuZGlhblVpbnQ4QXJyYXlbMF0gPT0g
MTsKLSAgfSkoKTsKLQotICB2YXIga0hpZ2hXb3JkTXVsdGlwbGllciA9IDB4MTAwMDAwMDAwOwot
Ci0gIGZ1bmN0aW9uIEJ1ZmZlcihzaXplT3JBcnJheUJ1ZmZlcikgewotICAgIGlmIChzaXplT3JB
cnJheUJ1ZmZlciBpbnN0YW5jZW9mIEFycmF5QnVmZmVyKQotICAgICAgdGhpcy5hcnJheUJ1ZmZl
ciA9IHNpemVPckFycmF5QnVmZmVyOwotICAgIGVsc2UKLSAgICAgIHRoaXMuYXJyYXlCdWZmZXIg
PSBuZXcgQXJyYXlCdWZmZXIoc2l6ZU9yQXJyYXlCdWZmZXIpOwotCi0gICAgdGhpcy5kYXRhVmll
dyA9IG5ldyBEYXRhVmlldyh0aGlzLmFycmF5QnVmZmVyKTsKLSAgICB0aGlzLm5leHQgPSAwOwot
ICB9Ci0KLSAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEJ1ZmZlci5wcm90b3R5cGUsICJieXRlTGVu
Z3RoIiwgewotICAgIGdldDogZnVuY3Rpb24oKSB7IHJldHVybiB0aGlzLmFycmF5QnVmZmVyLmJ5
dGVMZW5ndGg7IH0KLSAgfSk7Ci0KLSAgQnVmZmVyLnByb3RvdHlwZS5hbGxvYyA9IGZ1bmN0aW9u
KHNpemUpIHsKLSAgICB2YXIgcG9pbnRlciA9IHRoaXMubmV4dDsKLSAgICB0aGlzLm5leHQgKz0g
c2l6ZTsKLSAgICBpZiAodGhpcy5uZXh0ID4gdGhpcy5ieXRlTGVuZ3RoKSB7Ci0gICAgICB2YXIg
bmV3U2l6ZSA9ICgxLjUgKiAodGhpcy5ieXRlTGVuZ3RoICsgc2l6ZSkpIHwgMDsKLSAgICAgIHRo
aXMuZ3JvdyhuZXdTaXplKTsKLSAgICB9Ci0gICAgcmV0dXJuIHBvaW50ZXI7Ci0gIH07Ci0KLSAg
ZnVuY3Rpb24gY29weUFycmF5QnVmZmVyKGRzdEFycmF5QnVmZmVyLCBzcmNBcnJheUJ1ZmZlcikg
ewotICAgIChuZXcgVWludDhBcnJheShkc3RBcnJheUJ1ZmZlcikpLnNldChuZXcgVWludDhBcnJh
eShzcmNBcnJheUJ1ZmZlcikpOwotICB9Ci0KLSAgQnVmZmVyLnByb3RvdHlwZS5ncm93ID0gZnVu
Y3Rpb24oc2l6ZSkgewotICAgIHZhciBuZXdBcnJheUJ1ZmZlciA9IG5ldyBBcnJheUJ1ZmZlcihz
aXplKTsKLSAgICBjb3B5QXJyYXlCdWZmZXIobmV3QXJyYXlCdWZmZXIsIHRoaXMuYXJyYXlCdWZm
ZXIpOwotICAgIHRoaXMuYXJyYXlCdWZmZXIgPSBuZXdBcnJheUJ1ZmZlcjsKLSAgICB0aGlzLmRh
dGFWaWV3ID0gbmV3IERhdGFWaWV3KHRoaXMuYXJyYXlCdWZmZXIpOwotICB9OwotCi0gIEJ1ZmZl
ci5wcm90b3R5cGUudHJpbSA9IGZ1bmN0aW9uKCkgewotICAgIHRoaXMuYXJyYXlCdWZmZXIgPSB0
aGlzLmFycmF5QnVmZmVyLnNsaWNlKDAsIHRoaXMubmV4dCk7Ci0gICAgdGhpcy5kYXRhVmlldyA9
IG5ldyBEYXRhVmlldyh0aGlzLmFycmF5QnVmZmVyKTsKLSAgfTsKLQotICBCdWZmZXIucHJvdG90
eXBlLmdldFVpbnQ4ID0gZnVuY3Rpb24ob2Zmc2V0KSB7Ci0gICAgcmV0dXJuIHRoaXMuZGF0YVZp
ZXcuZ2V0VWludDgob2Zmc2V0KTsKLSAgfQotICBCdWZmZXIucHJvdG90eXBlLmdldFVpbnQxNiA9
IGZ1bmN0aW9uKG9mZnNldCkgewotICAgIHJldHVybiB0aGlzLmRhdGFWaWV3LmdldFVpbnQxNihv
ZmZzZXQsIGtIb3N0SXNMaXR0bGVFbmRpYW4pOwotICB9Ci0gIEJ1ZmZlci5wcm90b3R5cGUuZ2V0
VWludDMyID0gZnVuY3Rpb24ob2Zmc2V0KSB7Ci0gICAgcmV0dXJuIHRoaXMuZGF0YVZpZXcuZ2V0
VWludDMyKG9mZnNldCwga0hvc3RJc0xpdHRsZUVuZGlhbik7Ci0gIH0KLSAgQnVmZmVyLnByb3Rv
dHlwZS5nZXRVaW50NjQgPSBmdW5jdGlvbihvZmZzZXQpIHsKLSAgICB2YXIgbG8sIGhpOwotICAg
IGlmIChrSG9zdElzTGl0dGxlRW5kaWFuKSB7Ci0gICAgICBsbyA9IHRoaXMuZGF0YVZpZXcuZ2V0
VWludDMyKG9mZnNldCwga0hvc3RJc0xpdHRsZUVuZGlhbik7Ci0gICAgICBoaSA9IHRoaXMuZGF0
YVZpZXcuZ2V0VWludDMyKG9mZnNldCArIDQsIGtIb3N0SXNMaXR0bGVFbmRpYW4pOwotICAgIH0g
ZWxzZSB7Ci0gICAgICBoaSA9IHRoaXMuZGF0YVZpZXcuZ2V0VWludDMyKG9mZnNldCwga0hvc3RJ
c0xpdHRsZUVuZGlhbik7Ci0gICAgICBsbyA9IHRoaXMuZGF0YVZpZXcuZ2V0VWludDMyKG9mZnNl
dCArIDQsIGtIb3N0SXNMaXR0bGVFbmRpYW4pOwotICAgIH0KLSAgICByZXR1cm4gbG8gKyBoaSAq
IGtIaWdoV29yZE11bHRpcGxpZXI7Ci0gIH0KLQotICBCdWZmZXIucHJvdG90eXBlLmdldEludDgg
PSBmdW5jdGlvbihvZmZzZXQpIHsKLSAgICByZXR1cm4gdGhpcy5kYXRhVmlldy5nZXRJbnQ4KG9m
ZnNldCk7Ci0gIH0KLSAgQnVmZmVyLnByb3RvdHlwZS5nZXRJbnQxNiA9IGZ1bmN0aW9uKG9mZnNl
dCkgewotICAgIHJldHVybiB0aGlzLmRhdGFWaWV3LmdldEludDE2KG9mZnNldCwga0hvc3RJc0xp
dHRsZUVuZGlhbik7Ci0gIH0KLSAgQnVmZmVyLnByb3RvdHlwZS5nZXRJbnQzMiA9IGZ1bmN0aW9u
KG9mZnNldCkgewotICAgIHJldHVybiB0aGlzLmRhdGFWaWV3LmdldEludDMyKG9mZnNldCwga0hv
c3RJc0xpdHRsZUVuZGlhbik7Ci0gIH0KLSAgQnVmZmVyLnByb3RvdHlwZS5nZXRJbnQ2NCA9IGZ1
bmN0aW9uKG9mZnNldCkgewotICAgIHZhciBsbywgaGk7Ci0gICAgaWYgKGtIb3N0SXNMaXR0bGVF
bmRpYW4pIHsKLSAgICAgIGxvID0gdGhpcy5kYXRhVmlldy5nZXRVaW50MzIob2Zmc2V0LCBrSG9z
dElzTGl0dGxlRW5kaWFuKTsKLSAgICAgIGhpID0gdGhpcy5kYXRhVmlldy5nZXRJbnQzMihvZmZz
ZXQgKyA0LCBrSG9zdElzTGl0dGxlRW5kaWFuKTsKLSAgICB9IGVsc2UgewotICAgICAgaGkgPSB0
aGlzLmRhdGFWaWV3LmdldEludDMyKG9mZnNldCwga0hvc3RJc0xpdHRsZUVuZGlhbik7Ci0gICAg
ICBsbyA9IHRoaXMuZGF0YVZpZXcuZ2V0VWludDMyKG9mZnNldCArIDQsIGtIb3N0SXNMaXR0bGVF
bmRpYW4pOwotICAgIH0KLSAgICByZXR1cm4gbG8gKyBoaSAqIGtIaWdoV29yZE11bHRpcGxpZXI7
Ci0gIH0KLQotICBCdWZmZXIucHJvdG90eXBlLmdldEZsb2F0MzIgPSBmdW5jdGlvbihvZmZzZXQp
IHsKLSAgICByZXR1cm4gdGhpcy5kYXRhVmlldy5nZXRGbG9hdDMyKG9mZnNldCwga0hvc3RJc0xp
dHRsZUVuZGlhbik7Ci0gIH0KLSAgQnVmZmVyLnByb3RvdHlwZS5nZXRGbG9hdDY0ID0gZnVuY3Rp
b24ob2Zmc2V0KSB7Ci0gICAgcmV0dXJuIHRoaXMuZGF0YVZpZXcuZ2V0RmxvYXQ2NChvZmZzZXQs
IGtIb3N0SXNMaXR0bGVFbmRpYW4pOwotICB9Ci0KLSAgQnVmZmVyLnByb3RvdHlwZS5zZXRVaW50
OCA9IGZ1bmN0aW9uKG9mZnNldCwgdmFsdWUpIHsKLSAgICB0aGlzLmRhdGFWaWV3LnNldFVpbnQ4
KG9mZnNldCwgdmFsdWUpOwotICB9Ci0gIEJ1ZmZlci5wcm90b3R5cGUuc2V0VWludDE2ID0gZnVu
Y3Rpb24ob2Zmc2V0LCB2YWx1ZSkgewotICAgIHRoaXMuZGF0YVZpZXcuc2V0VWludDE2KG9mZnNl
dCwgdmFsdWUsIGtIb3N0SXNMaXR0bGVFbmRpYW4pOwotICB9Ci0gIEJ1ZmZlci5wcm90b3R5cGUu
c2V0VWludDMyID0gZnVuY3Rpb24ob2Zmc2V0LCB2YWx1ZSkgewotICAgIHRoaXMuZGF0YVZpZXcu
c2V0VWludDMyKG9mZnNldCwgdmFsdWUsIGtIb3N0SXNMaXR0bGVFbmRpYW4pOwotICB9Ci0gIEJ1
ZmZlci5wcm90b3R5cGUuc2V0VWludDY0ID0gZnVuY3Rpb24ob2Zmc2V0LCB2YWx1ZSkgewotICAg
IHZhciBoaSA9ICh2YWx1ZSAvIGtIaWdoV29yZE11bHRpcGxpZXIpIHwgMDsKLSAgICBpZiAoa0hv
c3RJc0xpdHRsZUVuZGlhbikgewotICAgICAgdGhpcy5kYXRhVmlldy5zZXRJbnQzMihvZmZzZXQs
IHZhbHVlLCBrSG9zdElzTGl0dGxlRW5kaWFuKTsKLSAgICAgIHRoaXMuZGF0YVZpZXcuc2V0SW50
MzIob2Zmc2V0ICsgNCwgaGksIGtIb3N0SXNMaXR0bGVFbmRpYW4pOwotICAgIH0gZWxzZSB7Ci0g
ICAgICB0aGlzLmRhdGFWaWV3LnNldEludDMyKG9mZnNldCwgaGksIGtIb3N0SXNMaXR0bGVFbmRp
YW4pOwotICAgICAgdGhpcy5kYXRhVmlldy5zZXRJbnQzMihvZmZzZXQgKyA0LCB2YWx1ZSwga0hv
c3RJc0xpdHRsZUVuZGlhbik7Ci0gICAgfQotICB9Ci0KLSAgQnVmZmVyLnByb3RvdHlwZS5zZXRJ
bnQ4ID0gZnVuY3Rpb24ob2Zmc2V0LCB2YWx1ZSkgewotICAgIHRoaXMuZGF0YVZpZXcuc2V0SW50
OChvZmZzZXQsIHZhbHVlKTsKLSAgfQotICBCdWZmZXIucHJvdG90eXBlLnNldEludDE2ID0gZnVu
Y3Rpb24ob2Zmc2V0LCB2YWx1ZSkgewotICAgIHRoaXMuZGF0YVZpZXcuc2V0SW50MTYob2Zmc2V0
LCB2YWx1ZSwga0hvc3RJc0xpdHRsZUVuZGlhbik7Ci0gIH0KLSAgQnVmZmVyLnByb3RvdHlwZS5z
ZXRJbnQzMiA9IGZ1bmN0aW9uKG9mZnNldCwgdmFsdWUpIHsKLSAgICB0aGlzLmRhdGFWaWV3LnNl
dEludDMyKG9mZnNldCwgdmFsdWUsIGtIb3N0SXNMaXR0bGVFbmRpYW4pOwotICB9Ci0gIEJ1ZmZl
ci5wcm90b3R5cGUuc2V0SW50NjQgPSBmdW5jdGlvbihvZmZzZXQsIHZhbHVlKSB7Ci0gICAgdmFy
IGhpID0gTWF0aC5mbG9vcih2YWx1ZSAvIGtIaWdoV29yZE11bHRpcGxpZXIpOwotICAgIGlmIChr
SG9zdElzTGl0dGxlRW5kaWFuKSB7Ci0gICAgICB0aGlzLmRhdGFWaWV3LnNldEludDMyKG9mZnNl
dCwgdmFsdWUsIGtIb3N0SXNMaXR0bGVFbmRpYW4pOwotICAgICAgdGhpcy5kYXRhVmlldy5zZXRJ
bnQzMihvZmZzZXQgKyA0LCBoaSwga0hvc3RJc0xpdHRsZUVuZGlhbik7Ci0gICAgfSBlbHNlIHsK
LSAgICAgIHRoaXMuZGF0YVZpZXcuc2V0SW50MzIob2Zmc2V0LCBoaSwga0hvc3RJc0xpdHRsZUVu
ZGlhbik7Ci0gICAgICB0aGlzLmRhdGFWaWV3LnNldEludDMyKG9mZnNldCArIDQsIHZhbHVlLCBr
SG9zdElzTGl0dGxlRW5kaWFuKTsKLSAgICB9Ci0gIH0KLQotICBCdWZmZXIucHJvdG90eXBlLnNl
dEZsb2F0MzIgPSBmdW5jdGlvbihvZmZzZXQsIHZhbHVlKSB7Ci0gICAgdGhpcy5kYXRhVmlldy5z
ZXRGbG9hdDMyKG9mZnNldCwgdmFsdWUsIGtIb3N0SXNMaXR0bGVFbmRpYW4pOwotICB9Ci0gIEJ1
ZmZlci5wcm90b3R5cGUuc2V0RmxvYXQ2NCA9IGZ1bmN0aW9uKG9mZnNldCwgdmFsdWUpIHsKLSAg
ICB0aGlzLmRhdGFWaWV3LnNldEZsb2F0NjQob2Zmc2V0LCB2YWx1ZSwga0hvc3RJc0xpdHRsZUVu
ZGlhbik7Ci0gIH0KLQotICBpbnRlcm5hbC5CdWZmZXIgPSBCdWZmZXI7Ci19KSgpOwotLy8gQ29w
eXJpZ2h0IDIwMTQgVGhlIENocm9taXVtIEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0v
LyBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNl
bnNlIHRoYXQgY2FuIGJlCi0vLyBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgotCi0oZnVuY3Rp
b24oKSB7Ci0gIHZhciBpbnRlcm5hbCA9IG1vam8uaW50ZXJuYWw7Ci0KLSAgdmFyIGtFcnJvclVu
c2lnbmVkID0gIlBhc3NpbmcgbmVnYXRpdmUgdmFsdWUgdG8gdW5zaWduZWQiOwotICB2YXIga0Vy
cm9yQXJyYXkgPSAiUGFzc2luZyBub24gQXJyYXkgZm9yIGFycmF5IHR5cGUiOwotICB2YXIga0Vy
cm9yU3RyaW5nID0gIlBhc3Npbmcgbm9uIFN0cmluZyBmb3Igc3RyaW5nIHR5cGUiOwotICB2YXIg
a0Vycm9yTWFwID0gIlBhc3Npbmcgbm9uIE1hcCBmb3IgbWFwIHR5cGUiOwotCi0gIC8vIE1lbW9y
eSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tCi0KLSAgdmFyIGtBbGlnbm1lbnQgPSA4OwotCi0gIGZ1bmN0aW9uIGFsaWdu
KHNpemUpIHsKLSAgICByZXR1cm4gc2l6ZSArIChrQWxpZ25tZW50IC0gKHNpemUgJSBrQWxpZ25t
ZW50KSkgJSBrQWxpZ25tZW50OwotICB9Ci0KLSAgZnVuY3Rpb24gaXNBbGlnbmVkKG9mZnNldCkg
ewotICAgIHJldHVybiBvZmZzZXQgPj0gMCAmJiAob2Zmc2V0ICUga0FsaWdubWVudCkgPT09IDA7
Ci0gIH0KLQotICAvLyBDb25zdGFudHMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotCi0gIHZhciBrQXJyYXlIZWFkZXJTaXpl
ID0gODsKLSAgdmFyIGtTdHJ1Y3RIZWFkZXJTaXplID0gODsKLSAgdmFyIGtNZXNzYWdlVjBIZWFk
ZXJTaXplID0gMjQ7Ci0gIHZhciBrTWVzc2FnZVYxSGVhZGVyU2l6ZSA9IDMyOwotICB2YXIga01l
c3NhZ2VWMkhlYWRlclNpemUgPSA0ODsKLSAgdmFyIGtNYXBTdHJ1Y3RQYXlsb2FkU2l6ZSA9IDE2
OwotCi0gIHZhciBrU3RydWN0SGVhZGVyTnVtQnl0ZXNPZmZzZXQgPSAwOwotICB2YXIga1N0cnVj
dEhlYWRlclZlcnNpb25PZmZzZXQgPSA0OwotCi0gIHZhciBrRW5jb2RlZEludmFsaWRIYW5kbGVW
YWx1ZSA9IDB4RkZGRkZGRkY7Ci0KLSAgLy8gRGVjb2RlciAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLQotICBmdW5jdGlv
biBEZWNvZGVyKGJ1ZmZlciwgaGFuZGxlcywgYXNzb2NpYXRlZEVuZHBvaW50SGFuZGxlcywgYmFz
ZSkgewotICAgIHRoaXMuYnVmZmVyID0gYnVmZmVyOwotICAgIHRoaXMuaGFuZGxlcyA9IGhhbmRs
ZXM7Ci0gICAgdGhpcy5hc3NvY2lhdGVkRW5kcG9pbnRIYW5kbGVzID0gYXNzb2NpYXRlZEVuZHBv
aW50SGFuZGxlczsKLSAgICB0aGlzLmJhc2UgPSBiYXNlOwotICAgIHRoaXMubmV4dCA9IGJhc2U7
Ci0gIH0KLQotICBEZWNvZGVyLnByb3RvdHlwZS5hbGlnbiA9IGZ1bmN0aW9uKCkgewotICAgIHRo
aXMubmV4dCA9IGFsaWduKHRoaXMubmV4dCk7Ci0gIH07Ci0KLSAgRGVjb2Rlci5wcm90b3R5cGUu
c2tpcCA9IGZ1bmN0aW9uKG9mZnNldCkgewotICAgIHRoaXMubmV4dCArPSBvZmZzZXQ7Ci0gIH07
Ci0KLSAgRGVjb2Rlci5wcm90b3R5cGUucmVhZEludDggPSBmdW5jdGlvbigpIHsKLSAgICB2YXIg
cmVzdWx0ID0gdGhpcy5idWZmZXIuZ2V0SW50OCh0aGlzLm5leHQpOwotICAgIHRoaXMubmV4dCAr
PSAxOwotICAgIHJldHVybiByZXN1bHQ7Ci0gIH07Ci0KLSAgRGVjb2Rlci5wcm90b3R5cGUucmVh
ZFVpbnQ4ID0gZnVuY3Rpb24oKSB7Ci0gICAgdmFyIHJlc3VsdCA9IHRoaXMuYnVmZmVyLmdldFVp
bnQ4KHRoaXMubmV4dCk7Ci0gICAgdGhpcy5uZXh0ICs9IDE7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LSAgfTsKLQotICBEZWNvZGVyLnByb3RvdHlwZS5yZWFkSW50MTYgPSBmdW5jdGlvbigpIHsKLSAg
ICB2YXIgcmVzdWx0ID0gdGhpcy5idWZmZXIuZ2V0SW50MTYodGhpcy5uZXh0KTsKLSAgICB0aGlz
Lm5leHQgKz0gMjsKLSAgICByZXR1cm4gcmVzdWx0OwotICB9OwotCi0gIERlY29kZXIucHJvdG90
eXBlLnJlYWRVaW50MTYgPSBmdW5jdGlvbigpIHsKLSAgICB2YXIgcmVzdWx0ID0gdGhpcy5idWZm
ZXIuZ2V0VWludDE2KHRoaXMubmV4dCk7Ci0gICAgdGhpcy5uZXh0ICs9IDI7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLSAgfTsKLQotICBEZWNvZGVyLnByb3RvdHlwZS5yZWFkSW50MzIgPSBmdW5jdGlv
bigpIHsKLSAgICB2YXIgcmVzdWx0ID0gdGhpcy5idWZmZXIuZ2V0SW50MzIodGhpcy5uZXh0KTsK
LSAgICB0aGlzLm5leHQgKz0gNDsKLSAgICByZXR1cm4gcmVzdWx0OwotICB9OwotCi0gIERlY29k
ZXIucHJvdG90eXBlLnJlYWRVaW50MzIgPSBmdW5jdGlvbigpIHsKLSAgICB2YXIgcmVzdWx0ID0g
dGhpcy5idWZmZXIuZ2V0VWludDMyKHRoaXMubmV4dCk7Ci0gICAgdGhpcy5uZXh0ICs9IDQ7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLSAgfTsKLQotICBEZWNvZGVyLnByb3RvdHlwZS5yZWFkSW50NjQg
PSBmdW5jdGlvbigpIHsKLSAgICB2YXIgcmVzdWx0ID0gdGhpcy5idWZmZXIuZ2V0SW50NjQodGhp
cy5uZXh0KTsKLSAgICB0aGlzLm5leHQgKz0gODsKLSAgICByZXR1cm4gcmVzdWx0OwotICB9Owot
Ci0gIERlY29kZXIucHJvdG90eXBlLnJlYWRVaW50NjQgPSBmdW5jdGlvbigpIHsKLSAgICB2YXIg
cmVzdWx0ID0gdGhpcy5idWZmZXIuZ2V0VWludDY0KHRoaXMubmV4dCk7Ci0gICAgdGhpcy5uZXh0
ICs9IDg7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLSAgfTsKLQotICBEZWNvZGVyLnByb3RvdHlwZS5y
ZWFkRmxvYXQgPSBmdW5jdGlvbigpIHsKLSAgICB2YXIgcmVzdWx0ID0gdGhpcy5idWZmZXIuZ2V0
RmxvYXQzMih0aGlzLm5leHQpOwotICAgIHRoaXMubmV4dCArPSA0OwotICAgIHJldHVybiByZXN1
bHQ7Ci0gIH07Ci0KLSAgRGVjb2Rlci5wcm90b3R5cGUucmVhZERvdWJsZSA9IGZ1bmN0aW9uKCkg
ewotICAgIHZhciByZXN1bHQgPSB0aGlzLmJ1ZmZlci5nZXRGbG9hdDY0KHRoaXMubmV4dCk7Ci0g
ICAgdGhpcy5uZXh0ICs9IDg7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLSAgfTsKLQotICBEZWNvZGVy
LnByb3RvdHlwZS5kZWNvZGVQb2ludGVyID0gZnVuY3Rpb24oKSB7Ci0gICAgLy8gVE9ETyhhYmFy
dGgpOiBUbyBjb3JyZWN0bHkgZGVjb2RlIGEgcG9pbnRlciwgd2UgbmVlZCB0byBrbm93IHRoZSBy
ZWFsCi0gICAgLy8gYmFzZSBhZGRyZXNzIG9mIHRoZSBhcnJheSBidWZmZXIuCi0gICAgdmFyIG9m
ZnNldFBvaW50ZXIgPSB0aGlzLm5leHQ7Ci0gICAgdmFyIG9mZnNldCA9IHRoaXMucmVhZFVpbnQ2
NCgpOwotICAgIGlmICghb2Zmc2V0KQotICAgICAgcmV0dXJuIDA7Ci0gICAgcmV0dXJuIG9mZnNl
dFBvaW50ZXIgKyBvZmZzZXQ7Ci0gIH07Ci0KLSAgRGVjb2Rlci5wcm90b3R5cGUuZGVjb2RlQW5k
Q3JlYXRlRGVjb2RlciA9IGZ1bmN0aW9uKHBvaW50ZXIpIHsKLSAgICByZXR1cm4gbmV3IERlY29k
ZXIodGhpcy5idWZmZXIsIHRoaXMuaGFuZGxlcywKLSAgICAgICAgdGhpcy5hc3NvY2lhdGVkRW5k
cG9pbnRIYW5kbGVzLCBwb2ludGVyKTsKLSAgfTsKLQotICBEZWNvZGVyLnByb3RvdHlwZS5kZWNv
ZGVIYW5kbGUgPSBmdW5jdGlvbigpIHsKLSAgICByZXR1cm4gdGhpcy5oYW5kbGVzW3RoaXMucmVh
ZFVpbnQzMigpXSB8fCBudWxsOwotICB9OwotCi0gIERlY29kZXIucHJvdG90eXBlLmRlY29kZUFz
c29jaWF0ZWRFbmRwb2ludEhhbmRsZSA9IGZ1bmN0aW9uKCkgewotICAgIHJldHVybiB0aGlzLmFz
c29jaWF0ZWRFbmRwb2ludEhhbmRsZXNbdGhpcy5yZWFkVWludDMyKCldIHx8IG51bGw7Ci0gIH07
Ci0KLSAgRGVjb2Rlci5wcm90b3R5cGUuZGVjb2RlU3RyaW5nID0gZnVuY3Rpb24oKSB7Ci0gICAg
dmFyIG51bWJlck9mQnl0ZXMgPSB0aGlzLnJlYWRVaW50MzIoKTsKLSAgICB2YXIgbnVtYmVyT2ZF
bGVtZW50cyA9IHRoaXMucmVhZFVpbnQzMigpOwotICAgIHZhciBiYXNlID0gdGhpcy5uZXh0Owot
ICAgIHRoaXMubmV4dCArPSBudW1iZXJPZkVsZW1lbnRzOwotICAgIHJldHVybiBpbnRlcm5hbC5k
ZWNvZGVVdGY4U3RyaW5nKAotICAgICAgICBuZXcgVWludDhBcnJheSh0aGlzLmJ1ZmZlci5hcnJh
eUJ1ZmZlciwgYmFzZSwgbnVtYmVyT2ZFbGVtZW50cykpOwotICB9OwotCi0gIERlY29kZXIucHJv
dG90eXBlLmRlY29kZUFycmF5ID0gZnVuY3Rpb24oY2xzKSB7Ci0gICAgdmFyIG51bWJlck9mQnl0
ZXMgPSB0aGlzLnJlYWRVaW50MzIoKTsKLSAgICB2YXIgbnVtYmVyT2ZFbGVtZW50cyA9IHRoaXMu
cmVhZFVpbnQzMigpOwotICAgIHZhciB2YWwgPSBuZXcgQXJyYXkobnVtYmVyT2ZFbGVtZW50cyk7
Ci0gICAgaWYgKGNscyA9PT0gUGFja2VkQm9vbCkgewotICAgICAgdmFyIGJ5dGU7Ci0gICAgICBm
b3IgKHZhciBpID0gMDsgaSA8IG51bWJlck9mRWxlbWVudHM7ICsraSkgewotICAgICAgICBpZiAo
aSAlIDggPT09IDApCi0gICAgICAgICAgYnl0ZSA9IHRoaXMucmVhZFVpbnQ4KCk7Ci0gICAgICAg
IHZhbFtpXSA9IChieXRlICYgKDEgPDwgaSAlIDgpKSA/IHRydWUgOiBmYWxzZTsKLSAgICAgIH0K
LSAgICB9IGVsc2UgewotICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBudW1iZXJPZkVsZW1lbnRz
OyArK2kpIHsKLSAgICAgICAgdmFsW2ldID0gY2xzLmRlY29kZSh0aGlzKTsKLSAgICAgIH0KLSAg
ICB9Ci0gICAgcmV0dXJuIHZhbDsKLSAgfTsKLQotICBEZWNvZGVyLnByb3RvdHlwZS5kZWNvZGVT
dHJ1Y3QgPSBmdW5jdGlvbihjbHMpIHsKLSAgICByZXR1cm4gY2xzLmRlY29kZSh0aGlzKTsKLSAg
fTsKLQotICBEZWNvZGVyLnByb3RvdHlwZS5kZWNvZGVTdHJ1Y3RQb2ludGVyID0gZnVuY3Rpb24o
Y2xzKSB7Ci0gICAgdmFyIHBvaW50ZXIgPSB0aGlzLmRlY29kZVBvaW50ZXIoKTsKLSAgICBpZiAo
IXBvaW50ZXIpIHsKLSAgICAgIHJldHVybiBudWxsOwotICAgIH0KLSAgICByZXR1cm4gY2xzLmRl
Y29kZSh0aGlzLmRlY29kZUFuZENyZWF0ZURlY29kZXIocG9pbnRlcikpOwotICB9OwotCi0gIERl
Y29kZXIucHJvdG90eXBlLmRlY29kZUFycmF5UG9pbnRlciA9IGZ1bmN0aW9uKGNscykgewotICAg
IHZhciBwb2ludGVyID0gdGhpcy5kZWNvZGVQb2ludGVyKCk7Ci0gICAgaWYgKCFwb2ludGVyKSB7
Ci0gICAgICByZXR1cm4gbnVsbDsKLSAgICB9Ci0gICAgcmV0dXJuIHRoaXMuZGVjb2RlQW5kQ3Jl
YXRlRGVjb2Rlcihwb2ludGVyKS5kZWNvZGVBcnJheShjbHMpOwotICB9OwotCi0gIERlY29kZXIu
cHJvdG90eXBlLmRlY29kZVN0cmluZ1BvaW50ZXIgPSBmdW5jdGlvbigpIHsKLSAgICB2YXIgcG9p
bnRlciA9IHRoaXMuZGVjb2RlUG9pbnRlcigpOwotICAgIGlmICghcG9pbnRlcikgewotICAgICAg
cmV0dXJuIG51bGw7Ci0gICAgfQotICAgIHJldHVybiB0aGlzLmRlY29kZUFuZENyZWF0ZURlY29k
ZXIocG9pbnRlcikuZGVjb2RlU3RyaW5nKCk7Ci0gIH07Ci0KLSAgRGVjb2Rlci5wcm90b3R5cGUu
ZGVjb2RlTWFwID0gZnVuY3Rpb24oa2V5Q2xhc3MsIHZhbHVlQ2xhc3MpIHsKLSAgICB0aGlzLnNr
aXAoNCk7IC8vIG51bWJlck9mQnl0ZXMKLSAgICB0aGlzLnNraXAoNCk7IC8vIHZlcnNpb24KLSAg
ICB2YXIga2V5cyA9IHRoaXMuZGVjb2RlQXJyYXlQb2ludGVyKGtleUNsYXNzKTsKLSAgICB2YXIg
dmFsdWVzID0gdGhpcy5kZWNvZGVBcnJheVBvaW50ZXIodmFsdWVDbGFzcyk7Ci0gICAgdmFyIHZh
bCA9IG5ldyBNYXAoKTsKLSAgICBmb3IgKHZhciBpID0gMDsgaSA8IGtleXMubGVuZ3RoOyBpKysp
Ci0gICAgICB2YWwuc2V0KGtleXNbaV0sIHZhbHVlc1tpXSk7Ci0gICAgcmV0dXJuIHZhbDsKLSAg
fTsKLQotICBEZWNvZGVyLnByb3RvdHlwZS5kZWNvZGVNYXBQb2ludGVyID0gZnVuY3Rpb24oa2V5
Q2xhc3MsIHZhbHVlQ2xhc3MpIHsKLSAgICB2YXIgcG9pbnRlciA9IHRoaXMuZGVjb2RlUG9pbnRl
cigpOwotICAgIGlmICghcG9pbnRlcikgewotICAgICAgcmV0dXJuIG51bGw7Ci0gICAgfQotICAg
IHZhciBkZWNvZGVyID0gdGhpcy5kZWNvZGVBbmRDcmVhdGVEZWNvZGVyKHBvaW50ZXIpOwotICAg
IHJldHVybiBkZWNvZGVyLmRlY29kZU1hcChrZXlDbGFzcywgdmFsdWVDbGFzcyk7Ci0gIH07Ci0K
LSAgLy8gRW5jb2RlciAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLQotICBmdW5jdGlvbiBFbmNvZGVyKGJ1ZmZlciwgaGFu
ZGxlcywgYXNzb2NpYXRlZEVuZHBvaW50SGFuZGxlcywgYmFzZSkgewotICAgIHRoaXMuYnVmZmVy
ID0gYnVmZmVyOwotICAgIHRoaXMuaGFuZGxlcyA9IGhhbmRsZXM7Ci0gICAgdGhpcy5hc3NvY2lh
dGVkRW5kcG9pbnRIYW5kbGVzID0gYXNzb2NpYXRlZEVuZHBvaW50SGFuZGxlczsKLSAgICB0aGlz
LmJhc2UgPSBiYXNlOwotICAgIHRoaXMubmV4dCA9IGJhc2U7Ci0gIH0KLQotICBFbmNvZGVyLnBy
b3RvdHlwZS5hbGlnbiA9IGZ1bmN0aW9uKCkgewotICAgIHRoaXMubmV4dCA9IGFsaWduKHRoaXMu
bmV4dCk7Ci0gIH07Ci0KLSAgRW5jb2Rlci5wcm90b3R5cGUuc2tpcCA9IGZ1bmN0aW9uKG9mZnNl
dCkgewotICAgIHRoaXMubmV4dCArPSBvZmZzZXQ7Ci0gIH07Ci0KLSAgRW5jb2Rlci5wcm90b3R5
cGUud3JpdGVJbnQ4ID0gZnVuY3Rpb24odmFsKSB7Ci0gICAgdGhpcy5idWZmZXIuc2V0SW50OCh0
aGlzLm5leHQsIHZhbCk7Ci0gICAgdGhpcy5uZXh0ICs9IDE7Ci0gIH07Ci0KLSAgRW5jb2Rlci5w
cm90b3R5cGUud3JpdGVVaW50OCA9IGZ1bmN0aW9uKHZhbCkgewotICAgIGlmICh2YWwgPCAwKSB7
Ci0gICAgICB0aHJvdyBuZXcgRXJyb3Ioa0Vycm9yVW5zaWduZWQpOwotICAgIH0KLSAgICB0aGlz
LmJ1ZmZlci5zZXRVaW50OCh0aGlzLm5leHQsIHZhbCk7Ci0gICAgdGhpcy5uZXh0ICs9IDE7Ci0g
IH07Ci0KLSAgRW5jb2Rlci5wcm90b3R5cGUud3JpdGVJbnQxNiA9IGZ1bmN0aW9uKHZhbCkgewot
ICAgIHRoaXMuYnVmZmVyLnNldEludDE2KHRoaXMubmV4dCwgdmFsKTsKLSAgICB0aGlzLm5leHQg
Kz0gMjsKLSAgfTsKLQotICBFbmNvZGVyLnByb3RvdHlwZS53cml0ZVVpbnQxNiA9IGZ1bmN0aW9u
KHZhbCkgewotICAgIGlmICh2YWwgPCAwKSB7Ci0gICAgICB0aHJvdyBuZXcgRXJyb3Ioa0Vycm9y
VW5zaWduZWQpOwotICAgIH0KLSAgICB0aGlzLmJ1ZmZlci5zZXRVaW50MTYodGhpcy5uZXh0LCB2
YWwpOwotICAgIHRoaXMubmV4dCArPSAyOwotICB9OwotCi0gIEVuY29kZXIucHJvdG90eXBlLndy
aXRlSW50MzIgPSBmdW5jdGlvbih2YWwpIHsKLSAgICB0aGlzLmJ1ZmZlci5zZXRJbnQzMih0aGlz
Lm5leHQsIHZhbCk7Ci0gICAgdGhpcy5uZXh0ICs9IDQ7Ci0gIH07Ci0KLSAgRW5jb2Rlci5wcm90
b3R5cGUud3JpdGVVaW50MzIgPSBmdW5jdGlvbih2YWwpIHsKLSAgICBpZiAodmFsIDwgMCkgewot
ICAgICAgdGhyb3cgbmV3IEVycm9yKGtFcnJvclVuc2lnbmVkKTsKLSAgICB9Ci0gICAgdGhpcy5i
dWZmZXIuc2V0VWludDMyKHRoaXMubmV4dCwgdmFsKTsKLSAgICB0aGlzLm5leHQgKz0gNDsKLSAg
fTsKLQotICBFbmNvZGVyLnByb3RvdHlwZS53cml0ZUludDY0ID0gZnVuY3Rpb24odmFsKSB7Ci0g
ICAgdGhpcy5idWZmZXIuc2V0SW50NjQodGhpcy5uZXh0LCB2YWwpOwotICAgIHRoaXMubmV4dCAr
PSA4OwotICB9OwotCi0gIEVuY29kZXIucHJvdG90eXBlLndyaXRlVWludDY0ID0gZnVuY3Rpb24o
dmFsKSB7Ci0gICAgaWYgKHZhbCA8IDApIHsKLSAgICAgIHRocm93IG5ldyBFcnJvcihrRXJyb3JV
bnNpZ25lZCk7Ci0gICAgfQotICAgIHRoaXMuYnVmZmVyLnNldFVpbnQ2NCh0aGlzLm5leHQsIHZh
bCk7Ci0gICAgdGhpcy5uZXh0ICs9IDg7Ci0gIH07Ci0KLSAgRW5jb2Rlci5wcm90b3R5cGUud3Jp
dGVGbG9hdCA9IGZ1bmN0aW9uKHZhbCkgewotICAgIHRoaXMuYnVmZmVyLnNldEZsb2F0MzIodGhp
cy5uZXh0LCB2YWwpOwotICAgIHRoaXMubmV4dCArPSA0OwotICB9OwotCi0gIEVuY29kZXIucHJv
dG90eXBlLndyaXRlRG91YmxlID0gZnVuY3Rpb24odmFsKSB7Ci0gICAgdGhpcy5idWZmZXIuc2V0
RmxvYXQ2NCh0aGlzLm5leHQsIHZhbCk7Ci0gICAgdGhpcy5uZXh0ICs9IDg7Ci0gIH07Ci0KLSAg
RW5jb2Rlci5wcm90b3R5cGUuZW5jb2RlUG9pbnRlciA9IGZ1bmN0aW9uKHBvaW50ZXIpIHsKLSAg
ICBpZiAoIXBvaW50ZXIpCi0gICAgICByZXR1cm4gdGhpcy53cml0ZVVpbnQ2NCgwKTsKLSAgICAv
LyBUT0RPKGFiYXJ0aCk6IFRvIGNvcnJlY3RseSBlbmNvZGUgYSBwb2ludGVyLCB3ZSBuZWVkIHRv
IGtub3cgdGhlIHJlYWwKLSAgICAvLyBiYXNlIGFkZHJlc3Mgb2YgdGhlIGFycmF5IGJ1ZmZlci4K
LSAgICB2YXIgb2Zmc2V0ID0gcG9pbnRlciAtIHRoaXMubmV4dDsKLSAgICB0aGlzLndyaXRlVWlu
dDY0KG9mZnNldCk7Ci0gIH07Ci0KLSAgRW5jb2Rlci5wcm90b3R5cGUuY3JlYXRlQW5kRW5jb2Rl
RW5jb2RlciA9IGZ1bmN0aW9uKHNpemUpIHsKLSAgICB2YXIgcG9pbnRlciA9IHRoaXMuYnVmZmVy
LmFsbG9jKGFsaWduKHNpemUpKTsKLSAgICB0aGlzLmVuY29kZVBvaW50ZXIocG9pbnRlcik7Ci0g
ICAgcmV0dXJuIG5ldyBFbmNvZGVyKHRoaXMuYnVmZmVyLCB0aGlzLmhhbmRsZXMsCi0gICAgICAg
IHRoaXMuYXNzb2NpYXRlZEVuZHBvaW50SGFuZGxlcywgcG9pbnRlcik7Ci0gIH07Ci0KLSAgRW5j
b2Rlci5wcm90b3R5cGUuZW5jb2RlSGFuZGxlID0gZnVuY3Rpb24oaGFuZGxlKSB7Ci0gICAgaWYg
KGhhbmRsZSkgewotICAgICAgdGhpcy5oYW5kbGVzLnB1c2goaGFuZGxlKTsKLSAgICAgIHRoaXMu
d3JpdGVVaW50MzIodGhpcy5oYW5kbGVzLmxlbmd0aCAtIDEpOwotICAgIH0gZWxzZSB7Ci0gICAg
ICB0aGlzLndyaXRlVWludDMyKGtFbmNvZGVkSW52YWxpZEhhbmRsZVZhbHVlKTsKLSAgICB9Ci0g
IH07Ci0KLSAgRW5jb2Rlci5wcm90b3R5cGUuZW5jb2RlQXNzb2NpYXRlZEVuZHBvaW50SGFuZGxl
ID0gZnVuY3Rpb24oZW5kcG9pbnRIYW5kbGUpIHsKLSAgICBpZiAoZW5kcG9pbnRIYW5kbGUpIHsK
LSAgICAgIHRoaXMuYXNzb2NpYXRlZEVuZHBvaW50SGFuZGxlcy5wdXNoKGVuZHBvaW50SGFuZGxl
KTsKLSAgICAgIHRoaXMud3JpdGVVaW50MzIodGhpcy5hc3NvY2lhdGVkRW5kcG9pbnRIYW5kbGVz
Lmxlbmd0aCAtIDEpOwotICAgIH0gZWxzZSB7Ci0gICAgICB0aGlzLndyaXRlVWludDMyKGtFbmNv
ZGVkSW52YWxpZEhhbmRsZVZhbHVlKTsKLSAgICB9Ci0gIH07Ci0KLSAgRW5jb2Rlci5wcm90b3R5
cGUuZW5jb2RlU3RyaW5nID0gZnVuY3Rpb24odmFsKSB7Ci0gICAgdmFyIGJhc2UgPSB0aGlzLm5l
eHQgKyBrQXJyYXlIZWFkZXJTaXplOwotICAgIHZhciBudW1iZXJPZkVsZW1lbnRzID0gaW50ZXJu
YWwuZW5jb2RlVXRmOFN0cmluZygKLSAgICAgICAgdmFsLCBuZXcgVWludDhBcnJheSh0aGlzLmJ1
ZmZlci5hcnJheUJ1ZmZlciwgYmFzZSkpOwotICAgIHZhciBudW1iZXJPZkJ5dGVzID0ga0FycmF5
SGVhZGVyU2l6ZSArIG51bWJlck9mRWxlbWVudHM7Ci0gICAgdGhpcy53cml0ZVVpbnQzMihudW1i
ZXJPZkJ5dGVzKTsKLSAgICB0aGlzLndyaXRlVWludDMyKG51bWJlck9mRWxlbWVudHMpOwotICAg
IHRoaXMubmV4dCArPSBudW1iZXJPZkVsZW1lbnRzOwotICB9OwotCi0gIEVuY29kZXIucHJvdG90
eXBlLmVuY29kZUFycmF5ID0KLSAgICAgIGZ1bmN0aW9uKGNscywgdmFsLCBudW1iZXJPZkVsZW1l
bnRzLCBlbmNvZGVkU2l6ZSkgewotICAgIGlmIChudW1iZXJPZkVsZW1lbnRzID09PSB1bmRlZmlu
ZWQpCi0gICAgICBudW1iZXJPZkVsZW1lbnRzID0gdmFsLmxlbmd0aDsKLSAgICBpZiAoZW5jb2Rl
ZFNpemUgPT09IHVuZGVmaW5lZCkKLSAgICAgIGVuY29kZWRTaXplID0ga0FycmF5SGVhZGVyU2l6
ZSArIGNscy5lbmNvZGVkU2l6ZSAqIG51bWJlck9mRWxlbWVudHM7Ci0KLSAgICB0aGlzLndyaXRl
VWludDMyKGVuY29kZWRTaXplKTsKLSAgICB0aGlzLndyaXRlVWludDMyKG51bWJlck9mRWxlbWVu
dHMpOwotCi0gICAgaWYgKGNscyA9PT0gUGFja2VkQm9vbCkgewotICAgICAgdmFyIGJ5dGUgPSAw
OwotICAgICAgZm9yIChpID0gMDsgaSA8IG51bWJlck9mRWxlbWVudHM7ICsraSkgewotICAgICAg
ICBpZiAodmFsW2ldKQotICAgICAgICAgIGJ5dGUgfD0gKDEgPDwgaSAlIDgpOwotICAgICAgICBp
ZiAoaSAlIDggPT09IDcgfHwgaSA9PSBudW1iZXJPZkVsZW1lbnRzIC0gMSkgewotICAgICAgICAg
IFVpbnQ4LmVuY29kZSh0aGlzLCBieXRlKTsKLSAgICAgICAgICBieXRlID0gMDsKLSAgICAgICAg
fQotICAgICAgfQotICAgIH0gZWxzZSB7Ci0gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IG51bWJl
ck9mRWxlbWVudHM7ICsraSkKLSAgICAgICAgY2xzLmVuY29kZSh0aGlzLCB2YWxbaV0pOwotICAg
IH0KLSAgfTsKLQotICBFbmNvZGVyLnByb3RvdHlwZS5lbmNvZGVTdHJ1Y3QgPSBmdW5jdGlvbihj
bHMsIHZhbCkgewotICAgIHJldHVybiBjbHMuZW5jb2RlKHRoaXMsIHZhbCk7Ci0gIH07Ci0KLSAg
RW5jb2Rlci5wcm90b3R5cGUuZW5jb2RlU3RydWN0UG9pbnRlciA9IGZ1bmN0aW9uKGNscywgdmFs
KSB7Ci0gICAgaWYgKHZhbCA9PSBudWxsKSB7Ci0gICAgICAvLyBBbHNvIGhhbmRsZXMgdW5kZWZp
bmVkLCBzaW5jZSB1bmRlZmluZWQgPT0gbnVsbC4KLSAgICAgIHRoaXMuZW5jb2RlUG9pbnRlcih2
YWwpOwotICAgICAgcmV0dXJuOwotICAgIH0KLSAgICB2YXIgZW5jb2RlciA9IHRoaXMuY3JlYXRl
QW5kRW5jb2RlRW5jb2RlcihjbHMuZW5jb2RlZFNpemUpOwotICAgIGNscy5lbmNvZGUoZW5jb2Rl
ciwgdmFsKTsKLSAgfTsKLQotICBFbmNvZGVyLnByb3RvdHlwZS5lbmNvZGVBcnJheVBvaW50ZXIg
PSBmdW5jdGlvbihjbHMsIHZhbCkgewotICAgIGlmICh2YWwgPT0gbnVsbCkgewotICAgICAgLy8g
QWxzbyBoYW5kbGVzIHVuZGVmaW5lZCwgc2luY2UgdW5kZWZpbmVkID09IG51bGwuCi0gICAgICB0
aGlzLmVuY29kZVBvaW50ZXIodmFsKTsKLSAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICB2YXIg
bnVtYmVyT2ZFbGVtZW50cyA9IHZhbC5sZW5ndGg7Ci0gICAgaWYgKCFOdW1iZXIuaXNTYWZlSW50
ZWdlcihudW1iZXJPZkVsZW1lbnRzKSB8fCBudW1iZXJPZkVsZW1lbnRzIDwgMCkKLSAgICAgIHRo
cm93IG5ldyBFcnJvcihrRXJyb3JBcnJheSk7Ci0KLSAgICB2YXIgZW5jb2RlZFNpemUgPSBrQXJy
YXlIZWFkZXJTaXplICsgKChjbHMgPT09IFBhY2tlZEJvb2wpID8KLSAgICAgICAgTWF0aC5jZWls
KG51bWJlck9mRWxlbWVudHMgLyA4KSA6IGNscy5lbmNvZGVkU2l6ZSAqIG51bWJlck9mRWxlbWVu
dHMpOwotICAgIHZhciBlbmNvZGVyID0gdGhpcy5jcmVhdGVBbmRFbmNvZGVFbmNvZGVyKGVuY29k
ZWRTaXplKTsKLSAgICBlbmNvZGVyLmVuY29kZUFycmF5KGNscywgdmFsLCBudW1iZXJPZkVsZW1l
bnRzLCBlbmNvZGVkU2l6ZSk7Ci0gIH07Ci0KLSAgRW5jb2Rlci5wcm90b3R5cGUuZW5jb2RlU3Ry
aW5nUG9pbnRlciA9IGZ1bmN0aW9uKHZhbCkgewotICAgIGlmICh2YWwgPT0gbnVsbCkgewotICAg
ICAgLy8gQWxzbyBoYW5kbGVzIHVuZGVmaW5lZCwgc2luY2UgdW5kZWZpbmVkID09IG51bGwuCi0g
ICAgICB0aGlzLmVuY29kZVBvaW50ZXIodmFsKTsKLSAgICAgIHJldHVybjsKLSAgICB9Ci0gICAg
Ly8gT25seSBhY2NlcHRzIHN0cmluZyBwcmltaXZpdGVzLCBub3QgU3RyaW5nIE9iamVjdHMgbGlr
ZSBuZXcgU3RyaW5nKCJmb28iKQotICAgIGlmICh0eXBlb2YodmFsKSAhPT0gInN0cmluZyIpIHsK
LSAgICAgIHRocm93IG5ldyBFcnJvcihrRXJyb3JTdHJpbmcpOwotICAgIH0KLSAgICB2YXIgZW5j
b2RlZFNpemUgPSBrQXJyYXlIZWFkZXJTaXplICsgaW50ZXJuYWwudXRmOExlbmd0aCh2YWwpOwot
ICAgIHZhciBlbmNvZGVyID0gdGhpcy5jcmVhdGVBbmRFbmNvZGVFbmNvZGVyKGVuY29kZWRTaXpl
KTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cmluZyh2YWwpOwotICB9OwotCi0gIEVuY29kZXIucHJv
dG90eXBlLmVuY29kZU1hcCA9IGZ1bmN0aW9uKGtleUNsYXNzLCB2YWx1ZUNsYXNzLCB2YWwpIHsK
LSAgICB2YXIga2V5cyA9IG5ldyBBcnJheSh2YWwuc2l6ZSk7Ci0gICAgdmFyIHZhbHVlcyA9IG5l
dyBBcnJheSh2YWwuc2l6ZSk7Ci0gICAgdmFyIGkgPSAwOwotICAgIHZhbC5mb3JFYWNoKGZ1bmN0
aW9uKHZhbHVlLCBrZXkpIHsKLSAgICAgIHZhbHVlc1tpXSA9IHZhbHVlOwotICAgICAga2V5c1tp
KytdID0ga2V5OwotICAgIH0pOwotICAgIHRoaXMud3JpdGVVaW50MzIoa1N0cnVjdEhlYWRlclNp
emUgKyBrTWFwU3RydWN0UGF5bG9hZFNpemUpOwotICAgIHRoaXMud3JpdGVVaW50MzIoMCk7ICAv
LyB2ZXJzaW9uCi0gICAgdGhpcy5lbmNvZGVBcnJheVBvaW50ZXIoa2V5Q2xhc3MsIGtleXMpOwot
ICAgIHRoaXMuZW5jb2RlQXJyYXlQb2ludGVyKHZhbHVlQ2xhc3MsIHZhbHVlcyk7Ci0gIH0KLQot
ICBFbmNvZGVyLnByb3RvdHlwZS5lbmNvZGVNYXBQb2ludGVyID0gZnVuY3Rpb24oa2V5Q2xhc3Ms
IHZhbHVlQ2xhc3MsIHZhbCkgewotICAgIGlmICh2YWwgPT0gbnVsbCkgewotICAgICAgLy8gQWxz
byBoYW5kbGVzIHVuZGVmaW5lZCwgc2luY2UgdW5kZWZpbmVkID09IG51bGwuCi0gICAgICB0aGlz
LmVuY29kZVBvaW50ZXIodmFsKTsKLSAgICAgIHJldHVybjsKLSAgICB9Ci0gICAgaWYgKCEodmFs
IGluc3RhbmNlb2YgTWFwKSkgewotICAgICAgdGhyb3cgbmV3IEVycm9yKGtFcnJvck1hcCk7Ci0g
ICAgfQotICAgIHZhciBlbmNvZGVkU2l6ZSA9IGtTdHJ1Y3RIZWFkZXJTaXplICsga01hcFN0cnVj
dFBheWxvYWRTaXplOwotICAgIHZhciBlbmNvZGVyID0gdGhpcy5jcmVhdGVBbmRFbmNvZGVFbmNv
ZGVyKGVuY29kZWRTaXplKTsKLSAgICBlbmNvZGVyLmVuY29kZU1hcChrZXlDbGFzcywgdmFsdWVD
bGFzcywgdmFsKTsKLSAgfTsKLQotICAvLyBNZXNzYWdlIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotCi0gIHZhciBrTWVz
c2FnZUludGVyZmFjZUlkT2Zmc2V0ID0ga1N0cnVjdEhlYWRlclNpemU7Ci0gIHZhciBrTWVzc2Fn
ZU5hbWVPZmZzZXQgPSBrTWVzc2FnZUludGVyZmFjZUlkT2Zmc2V0ICsgNDsKLSAgdmFyIGtNZXNz
YWdlRmxhZ3NPZmZzZXQgPSBrTWVzc2FnZU5hbWVPZmZzZXQgKyA0OwotICB2YXIga01lc3NhZ2VS
ZXF1ZXN0SURPZmZzZXQgPSBrTWVzc2FnZUZsYWdzT2Zmc2V0ICsgODsKLSAgdmFyIGtNZXNzYWdl
UGF5bG9hZEludGVyZmFjZUlkc1BvaW50ZXJPZmZzZXQgPSBrTWVzc2FnZVYySGVhZGVyU2l6ZSAt
IDg7Ci0KLSAgdmFyIGtNZXNzYWdlRXhwZWN0c1Jlc3BvbnNlID0gMSA8PCAwOwotICB2YXIga01l
c3NhZ2VJc1Jlc3BvbnNlICAgICAgPSAxIDw8IDE7Ci0KLSAgZnVuY3Rpb24gTWVzc2FnZShidWZm
ZXIsIGhhbmRsZXMsIGFzc29jaWF0ZWRFbmRwb2ludEhhbmRsZXMpIHsKLSAgICBpZiAoYXNzb2Np
YXRlZEVuZHBvaW50SGFuZGxlcyA9PT0gdW5kZWZpbmVkKSB7Ci0gICAgICBhc3NvY2lhdGVkRW5k
cG9pbnRIYW5kbGVzID0gW107Ci0gICAgfQotCi0gICAgdGhpcy5idWZmZXIgPSBidWZmZXI7Ci0g
ICAgdGhpcy5oYW5kbGVzID0gaGFuZGxlczsKLSAgICB0aGlzLmFzc29jaWF0ZWRFbmRwb2ludEhh
bmRsZXMgPSBhc3NvY2lhdGVkRW5kcG9pbnRIYW5kbGVzOwotICB9Ci0KLSAgTWVzc2FnZS5wcm90
b3R5cGUuZ2V0SGVhZGVyTnVtQnl0ZXMgPSBmdW5jdGlvbigpIHsKLSAgICByZXR1cm4gdGhpcy5i
dWZmZXIuZ2V0VWludDMyKGtTdHJ1Y3RIZWFkZXJOdW1CeXRlc09mZnNldCk7Ci0gIH07Ci0KLSAg
TWVzc2FnZS5wcm90b3R5cGUuZ2V0SGVhZGVyVmVyc2lvbiA9IGZ1bmN0aW9uKCkgewotICAgIHJl
dHVybiB0aGlzLmJ1ZmZlci5nZXRVaW50MzIoa1N0cnVjdEhlYWRlclZlcnNpb25PZmZzZXQpOwot
ICB9OwotCi0gIE1lc3NhZ2UucHJvdG90eXBlLmdldE5hbWUgPSBmdW5jdGlvbigpIHsKLSAgICBy
ZXR1cm4gdGhpcy5idWZmZXIuZ2V0VWludDMyKGtNZXNzYWdlTmFtZU9mZnNldCk7Ci0gIH07Ci0K
LSAgTWVzc2FnZS5wcm90b3R5cGUuZ2V0RmxhZ3MgPSBmdW5jdGlvbigpIHsKLSAgICByZXR1cm4g
dGhpcy5idWZmZXIuZ2V0VWludDMyKGtNZXNzYWdlRmxhZ3NPZmZzZXQpOwotICB9OwotCi0gIE1l
c3NhZ2UucHJvdG90eXBlLmdldEludGVyZmFjZUlkID0gZnVuY3Rpb24oKSB7Ci0gICAgcmV0dXJu
IHRoaXMuYnVmZmVyLmdldFVpbnQzMihrTWVzc2FnZUludGVyZmFjZUlkT2Zmc2V0KTsKLSAgfTsK
LQotICBNZXNzYWdlLnByb3RvdHlwZS5nZXRQYXlsb2FkSW50ZXJmYWNlSWRzID0gZnVuY3Rpb24o
KSB7Ci0gICAgaWYgKHRoaXMuZ2V0SGVhZGVyVmVyc2lvbigpIDwgMikgewotICAgICAgcmV0dXJu
IG51bGw7Ci0gICAgfQotCi0gICAgdmFyIGRlY29kZXIgPSBuZXcgRGVjb2Rlcih0aGlzLmJ1ZmZl
ciwgdGhpcy5oYW5kbGVzLAotICAgICAgICB0aGlzLmFzc29jaWF0ZWRFbmRwb2ludEhhbmRsZXMs
Ci0gICAgICAgIGtNZXNzYWdlUGF5bG9hZEludGVyZmFjZUlkc1BvaW50ZXJPZmZzZXQpOwotICAg
IHZhciBwYXlsb2FkSW50ZXJmYWNlSWRzID0gZGVjb2Rlci5kZWNvZGVBcnJheVBvaW50ZXIoVWlu
dDMyKTsKLSAgICByZXR1cm4gcGF5bG9hZEludGVyZmFjZUlkczsKLSAgfTsKLQotICBNZXNzYWdl
LnByb3RvdHlwZS5pc1Jlc3BvbnNlID0gZnVuY3Rpb24oKSB7Ci0gICAgcmV0dXJuICh0aGlzLmdl
dEZsYWdzKCkgJiBrTWVzc2FnZUlzUmVzcG9uc2UpICE9IDA7Ci0gIH07Ci0KLSAgTWVzc2FnZS5w
cm90b3R5cGUuZXhwZWN0c1Jlc3BvbnNlID0gZnVuY3Rpb24oKSB7Ci0gICAgcmV0dXJuICh0aGlz
LmdldEZsYWdzKCkgJiBrTWVzc2FnZUV4cGVjdHNSZXNwb25zZSkgIT0gMDsKLSAgfTsKLQotICBN
ZXNzYWdlLnByb3RvdHlwZS5zZXRSZXF1ZXN0SUQgPSBmdW5jdGlvbihyZXF1ZXN0SUQpIHsKLSAg
ICAvLyBUT0RPKGRhcmluKTogVmVyaWZ5IHRoYXQgc3BhY2Ugd2FzIHJlc2VydmVkIGZvciB0aGlz
IGZpZWxkIQotICAgIHRoaXMuYnVmZmVyLnNldFVpbnQ2NChrTWVzc2FnZVJlcXVlc3RJRE9mZnNl
dCwgcmVxdWVzdElEKTsKLSAgfTsKLQotICBNZXNzYWdlLnByb3RvdHlwZS5zZXRJbnRlcmZhY2VJ
ZCA9IGZ1bmN0aW9uKGludGVyZmFjZUlkKSB7Ci0gICAgdGhpcy5idWZmZXIuc2V0VWludDMyKGtN
ZXNzYWdlSW50ZXJmYWNlSWRPZmZzZXQsIGludGVyZmFjZUlkKTsKLSAgfTsKLQotICBNZXNzYWdl
LnByb3RvdHlwZS5zZXRQYXlsb2FkSW50ZXJmYWNlSWRzXyA9IGZ1bmN0aW9uKHBheWxvYWRJbnRl
cmZhY2VJZHMpIHsKLSAgICBpZiAodGhpcy5nZXRIZWFkZXJWZXJzaW9uKCkgPCAyKSB7Ci0gICAg
ICB0aHJvdyBuZXcgRXJyb3IoCi0gICAgICAgICAgIlZlcnNpb24gb2YgbWVzc2FnZSBkb2VzIG5v
dCBzdXBwb3J0IHBheWxvYWQgaW50ZXJmYWNlIGlkcyIpOwotICAgIH0KLQotICAgIHZhciBkZWNv
ZGVyID0gbmV3IERlY29kZXIodGhpcy5idWZmZXIsIHRoaXMuaGFuZGxlcywKLSAgICAgICAgdGhp
cy5hc3NvY2lhdGVkRW5kcG9pbnRIYW5kbGVzLAotICAgICAgICBrTWVzc2FnZVBheWxvYWRJbnRl
cmZhY2VJZHNQb2ludGVyT2Zmc2V0KTsKLSAgICB2YXIgcGF5bG9hZEludGVyZmFjZUlkc09mZnNl
dCA9IGRlY29kZXIuZGVjb2RlUG9pbnRlcigpOwotICAgIHZhciBlbmNvZGVyID0gbmV3IEVuY29k
ZXIodGhpcy5idWZmZXIsIHRoaXMuaGFuZGxlcywKLSAgICAgICAgdGhpcy5hc3NvY2lhdGVkRW5k
cG9pbnRIYW5kbGVzLAotICAgICAgICBwYXlsb2FkSW50ZXJmYWNlSWRzT2Zmc2V0KTsKLSAgICBl
bmNvZGVyLmVuY29kZUFycmF5KFVpbnQzMiwgcGF5bG9hZEludGVyZmFjZUlkcyk7Ci0gIH07Ci0K
LSAgTWVzc2FnZS5wcm90b3R5cGUuc2VyaWFsaXplQXNzb2NpYXRlZEVuZHBvaW50SGFuZGxlcyA9
IGZ1bmN0aW9uKAotICAgICAgYXNzb2NpYXRlZEdyb3VwQ29udHJvbGxlcikgewotICAgIGlmICh0
aGlzLmFzc29jaWF0ZWRFbmRwb2ludEhhbmRsZXMubGVuZ3RoID4gMCkgewotICAgICAgaWYgKHRo
aXMuZ2V0SGVhZGVyVmVyc2lvbigpIDwgMikgewotICAgICAgICB0aHJvdyBuZXcgRXJyb3IoCi0g
ICAgICAgICAgICAiVmVyc2lvbiBvZiBtZXNzYWdlIGRvZXMgbm90IHN1cHBvcnQgYXNzb2NpYXRl
ZCBlbmRwb2ludCBoYW5kbGVzIik7Ci0gICAgICB9Ci0KLSAgICAgIHZhciBkYXRhID0gW107Ci0g
ICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMuYXNzb2NpYXRlZEVuZHBvaW50SGFuZGxlcy5s
ZW5ndGg7IGkrKykgewotICAgICAgICB2YXIgaGFuZGxlID0gdGhpcy5hc3NvY2lhdGVkRW5kcG9p
bnRIYW5kbGVzW2ldOwotICAgICAgICBkYXRhLnB1c2goYXNzb2NpYXRlZEdyb3VwQ29udHJvbGxl
ci5hc3NvY2lhdGVJbnRlcmZhY2UoaGFuZGxlKSk7Ci0gICAgICB9Ci0gICAgICB0aGlzLmFzc29j
aWF0ZWRFbmRwb2ludEhhbmRsZXMgPSBbXTsKLSAgICAgIHRoaXMuc2V0UGF5bG9hZEludGVyZmFj
ZUlkc18oZGF0YSk7Ci0gICAgfQotICB9OwotCi0gIE1lc3NhZ2UucHJvdG90eXBlLmRlc2VyaWFs
aXplQXNzb2NpYXRlZEVuZHBvaW50SGFuZGxlcyA9IGZ1bmN0aW9uKAotICAgICAgYXNzb2NpYXRl
ZEdyb3VwQ29udHJvbGxlcikgewotICAgIGlmICh0aGlzLmdldEhlYWRlclZlcnNpb24oKSA8IDIp
IHsKLSAgICAgIHJldHVybiB0cnVlOwotICAgIH0KLQotICAgIHRoaXMuYXNzb2NpYXRlZEVuZHBv
aW50SGFuZGxlcyA9IFtdOwotICAgIHZhciBpZHMgPSB0aGlzLmdldFBheWxvYWRJbnRlcmZhY2VJ
ZHMoKTsKLQotICAgIHZhciByZXN1bHQgPSB0cnVlOwotICAgIGZvciAodmFyIGkgPSAwOyBpIDwg
aWRzLmxlbmd0aDsgaSsrKSB7Ci0gICAgICB2YXIgaGFuZGxlID0gYXNzb2NpYXRlZEdyb3VwQ29u
dHJvbGxlci5jcmVhdGVMb2NhbEVuZHBvaW50SGFuZGxlKGlkc1tpXSk7Ci0gICAgICBpZiAoaW50
ZXJuYWwuaXNWYWxpZEludGVyZmFjZUlkKGlkc1tpXSkgJiYgIWhhbmRsZS5pc1ZhbGlkKCkpIHsK
LSAgICAgICAgLy8gfGlkc1tpXXwgaXRzZWxmIGlzIHZhbGlkIGJ1dCBoYW5kbGUgY3JlYXRpb24g
ZmFpbGVkLiBJbiB0aGF0IGNhc2UsCi0gICAgICAgIC8vIG1hcmsgZGVzZXJpYWxpemF0aW9uIGFz
IGZhaWxlZCBidXQgY29udGludWUgdG8gZGVzZXJpYWxpemUgdGhlCi0gICAgICAgIC8vIHJlc3Qg
b2YgaGFuZGxlcy4KLSAgICAgICAgcmVzdWx0ID0gZmFsc2U7Ci0gICAgICB9Ci0gICAgICB0aGlz
LmFzc29jaWF0ZWRFbmRwb2ludEhhbmRsZXMucHVzaChoYW5kbGUpOwotICAgICAgaWRzW2ldID0g
aW50ZXJuYWwua0ludmFsaWRJbnRlcmZhY2VJZDsKLSAgICB9Ci0KLSAgICB0aGlzLnNldFBheWxv
YWRJbnRlcmZhY2VJZHNfKGlkcyk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLSAgfTsKLQotCi0gIC8v
IE1lc3NhZ2VWMEJ1aWxkZXIgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tCi0KLSAgZnVuY3Rpb24gTWVzc2FnZVYwQnVpbGRlcihtZXNzYWdl
TmFtZSwgcGF5bG9hZFNpemUpIHsKLSAgICAvLyBDdXJyZW50bHksIHdlIGRvbid0IGNvbXB1dGUg
dGhlIHBheWxvYWQgc2l6ZSBjb3JyZWN0bHkgYWhlYWQgb2YgdGltZS4KLSAgICAvLyBJbnN0ZWFk
LCB3ZSByZXNpemUgdGhlIGJ1ZmZlciBhdCB0aGUgZW5kLgotICAgIHZhciBudW1iZXJPZkJ5dGVz
ID0ga01lc3NhZ2VWMEhlYWRlclNpemUgKyBwYXlsb2FkU2l6ZTsKLSAgICB0aGlzLmJ1ZmZlciA9
IG5ldyBpbnRlcm5hbC5CdWZmZXIobnVtYmVyT2ZCeXRlcyk7Ci0gICAgdGhpcy5oYW5kbGVzID0g
W107Ci0gICAgdmFyIGVuY29kZXIgPSB0aGlzLmNyZWF0ZUVuY29kZXIoa01lc3NhZ2VWMEhlYWRl
clNpemUpOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoa01lc3NhZ2VWMEhlYWRlclNpemUpOwot
ICAgIGVuY29kZXIud3JpdGVVaW50MzIoMCk7ICAvLyB2ZXJzaW9uLgotICAgIGVuY29kZXIud3Jp
dGVVaW50MzIoMCk7ICAvLyBpbnRlcmZhY2UgSUQuCi0gICAgZW5jb2Rlci53cml0ZVVpbnQzMiht
ZXNzYWdlTmFtZSk7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMigwKTsgIC8vIGZsYWdzLgotICAg
IGVuY29kZXIud3JpdGVVaW50MzIoMCk7ICAvLyBwYWRkaW5nLgotICB9Ci0KLSAgTWVzc2FnZVYw
QnVpbGRlci5wcm90b3R5cGUuY3JlYXRlRW5jb2RlciA9IGZ1bmN0aW9uKHNpemUpIHsKLSAgICB2
YXIgcG9pbnRlciA9IHRoaXMuYnVmZmVyLmFsbG9jKHNpemUpOwotICAgIHJldHVybiBuZXcgRW5j
b2Rlcih0aGlzLmJ1ZmZlciwgdGhpcy5oYW5kbGVzLCBbXSwgcG9pbnRlcik7Ci0gIH07Ci0KLSAg
TWVzc2FnZVYwQnVpbGRlci5wcm90b3R5cGUuZW5jb2RlU3RydWN0ID0gZnVuY3Rpb24oY2xzLCB2
YWwpIHsKLSAgICBjbHMuZW5jb2RlKHRoaXMuY3JlYXRlRW5jb2RlcihjbHMuZW5jb2RlZFNpemUp
LCB2YWwpOwotICB9OwotCi0gIE1lc3NhZ2VWMEJ1aWxkZXIucHJvdG90eXBlLmZpbmlzaCA9IGZ1
bmN0aW9uKCkgewotICAgIC8vIFRPRE8oYWJhcnRoKTogUmF0aGVyIHRoYW4gcmVzaXppbmcgdGhl
IGJ1ZmZlciBhdCB0aGUgZW5kLCB3ZSBjb3VsZAotICAgIC8vIGNvbXB1dGUgdGhlIHNpemUgd2Ug
bmVlZCBhaGVhZCBvZiB0aW1lLCBsaWtlIHdlIGRvIGluIEMrKy4KLSAgICB0aGlzLmJ1ZmZlci50
cmltKCk7Ci0gICAgdmFyIG1lc3NhZ2UgPSBuZXcgTWVzc2FnZSh0aGlzLmJ1ZmZlciwgdGhpcy5o
YW5kbGVzKTsKLSAgICB0aGlzLmJ1ZmZlciA9IG51bGw7Ci0gICAgdGhpcy5oYW5kbGVzID0gbnVs
bDsKLSAgICB0aGlzLmVuY29kZXIgPSBudWxsOwotICAgIHJldHVybiBtZXNzYWdlOwotICB9Owot
Ci0gIC8vIE1lc3NhZ2VWMUJ1aWxkZXIgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0KLQotICBmdW5jdGlvbiBNZXNzYWdlVjFCdWlsZGVyKG1lc3NhZ2VOYW1l
LCBwYXlsb2FkU2l6ZSwgZmxhZ3MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICByZXF1ZXN0SUQpIHsKLSAgICAvLyBDdXJyZW50bHksIHdlIGRvbid0IGNvbXB1dGUgdGhl
IHBheWxvYWQgc2l6ZSBjb3JyZWN0bHkgYWhlYWQgb2YgdGltZS4KLSAgICAvLyBJbnN0ZWFkLCB3
ZSByZXNpemUgdGhlIGJ1ZmZlciBhdCB0aGUgZW5kLgotICAgIHZhciBudW1iZXJPZkJ5dGVzID0g
a01lc3NhZ2VWMUhlYWRlclNpemUgKyBwYXlsb2FkU2l6ZTsKLSAgICB0aGlzLmJ1ZmZlciA9IG5l
dyBpbnRlcm5hbC5CdWZmZXIobnVtYmVyT2ZCeXRlcyk7Ci0gICAgdGhpcy5oYW5kbGVzID0gW107
Ci0gICAgdmFyIGVuY29kZXIgPSB0aGlzLmNyZWF0ZUVuY29kZXIoa01lc3NhZ2VWMUhlYWRlclNp
emUpOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoa01lc3NhZ2VWMUhlYWRlclNpemUpOwotICAg
IGVuY29kZXIud3JpdGVVaW50MzIoMSk7ICAvLyB2ZXJzaW9uLgotICAgIGVuY29kZXIud3JpdGVV
aW50MzIoMCk7ICAvLyBpbnRlcmZhY2UgSUQuCi0gICAgZW5jb2Rlci53cml0ZVVpbnQzMihtZXNz
YWdlTmFtZSk7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMihmbGFncyk7Ci0gICAgZW5jb2Rlci53
cml0ZVVpbnQzMigwKTsgIC8vIHBhZGRpbmcuCi0gICAgZW5jb2Rlci53cml0ZVVpbnQ2NChyZXF1
ZXN0SUQpOwotICB9Ci0KLSAgTWVzc2FnZVYxQnVpbGRlci5wcm90b3R5cGUgPQotICAgICAgT2Jq
ZWN0LmNyZWF0ZShNZXNzYWdlVjBCdWlsZGVyLnByb3RvdHlwZSk7Ci0KLSAgTWVzc2FnZVYxQnVp
bGRlci5wcm90b3R5cGUuY29uc3RydWN0b3IgPQotICAgICAgTWVzc2FnZVYxQnVpbGRlcjsKLQot
ICAvLyBNZXNzYWdlVjIgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0KLQotICBmdW5jdGlvbiBNZXNzYWdlVjJCdWlsZGVyKG1lc3NhZ2VOYW1lLCBwYXlsb2Fk
U2l6ZSwgZmxhZ3MsIHJlcXVlc3RJRCkgewotICAgIC8vIEN1cnJlbnRseSwgd2UgZG9uJ3QgY29t
cHV0ZSB0aGUgcGF5bG9hZCBzaXplIGNvcnJlY3RseSBhaGVhZCBvZiB0aW1lLgotICAgIC8vIElu
c3RlYWQsIHdlIHJlc2l6ZSB0aGUgYnVmZmVyIGF0IHRoZSBlbmQuCi0gICAgdmFyIG51bWJlck9m
Qnl0ZXMgPSBrTWVzc2FnZVYySGVhZGVyU2l6ZSArIHBheWxvYWRTaXplOwotICAgIHRoaXMuYnVm
ZmVyID0gbmV3IGludGVybmFsLkJ1ZmZlcihudW1iZXJPZkJ5dGVzKTsKLSAgICB0aGlzLmhhbmRs
ZXMgPSBbXTsKLQotICAgIHRoaXMucGF5bG9hZCA9IG51bGw7Ci0gICAgdGhpcy5hc3NvY2lhdGVk
RW5kcG9pbnRIYW5kbGVzID0gW107Ci0KLSAgICB0aGlzLmVuY29kZXIgPSB0aGlzLmNyZWF0ZUVu
Y29kZXIoa01lc3NhZ2VWMkhlYWRlclNpemUpOwotICAgIHRoaXMuZW5jb2Rlci53cml0ZVVpbnQz
MihrTWVzc2FnZVYySGVhZGVyU2l6ZSk7Ci0gICAgdGhpcy5lbmNvZGVyLndyaXRlVWludDMyKDIp
OyAgLy8gdmVyc2lvbi4KLSAgICAvLyBHZXRzIHNldCB0byBhbiBhcHByb3ByaWF0ZSBpbnRlcmZh
Y2VJZCBmb3IgdGhlIGVuZHBvaW50IGJ5IHRoZSBSb3V0ZXIuCi0gICAgdGhpcy5lbmNvZGVyLndy
aXRlVWludDMyKDApOyAgLy8gaW50ZXJmYWNlIElELgotICAgIHRoaXMuZW5jb2Rlci53cml0ZVVp
bnQzMihtZXNzYWdlTmFtZSk7Ci0gICAgdGhpcy5lbmNvZGVyLndyaXRlVWludDMyKGZsYWdzKTsK
LSAgICB0aGlzLmVuY29kZXIud3JpdGVVaW50MzIoMCk7ICAvLyBwYWRkaW5nLgotICAgIHRoaXMu
ZW5jb2Rlci53cml0ZVVpbnQ2NChyZXF1ZXN0SUQpOwotICB9Ci0KLSAgTWVzc2FnZVYyQnVpbGRl
ci5wcm90b3R5cGUuY3JlYXRlRW5jb2RlciA9IGZ1bmN0aW9uKHNpemUpIHsKLSAgICB2YXIgcG9p
bnRlciA9IHRoaXMuYnVmZmVyLmFsbG9jKHNpemUpOwotICAgIHJldHVybiBuZXcgRW5jb2Rlcih0
aGlzLmJ1ZmZlciwgdGhpcy5oYW5kbGVzLAotICAgICAgICB0aGlzLmFzc29jaWF0ZWRFbmRwb2lu
dEhhbmRsZXMsIHBvaW50ZXIpOwotICB9OwotCi0gIE1lc3NhZ2VWMkJ1aWxkZXIucHJvdG90eXBl
LnNldFBheWxvYWQgPSBmdW5jdGlvbihjbHMsIHZhbCkgewotICAgIHRoaXMucGF5bG9hZCA9IHtj
bHM6IGNscywgdmFsOiB2YWx9OwotICB9OwotCi0gIE1lc3NhZ2VWMkJ1aWxkZXIucHJvdG90eXBl
LmZpbmlzaCA9IGZ1bmN0aW9uKCkgewotICAgIGlmICghdGhpcy5wYXlsb2FkKSB7Ci0gICAgICB0
aHJvdyBuZXcgRXJyb3IoIlBheWxvYWQgbmVlZHMgdG8gYmUgc2V0IGJlZm9yZSBjYWxsaW5nIGZp
bmlzaCIpOwotICAgIH0KLQotICAgIHRoaXMuZW5jb2Rlci5lbmNvZGVTdHJ1Y3RQb2ludGVyKHRo
aXMucGF5bG9hZC5jbHMsIHRoaXMucGF5bG9hZC52YWwpOwotICAgIHRoaXMuZW5jb2Rlci5lbmNv
ZGVBcnJheVBvaW50ZXIoVWludDMyLAotICAgICAgICBuZXcgQXJyYXkodGhpcy5hc3NvY2lhdGVk
RW5kcG9pbnRIYW5kbGVzLmxlbmd0aCkpOwotCi0gICAgdGhpcy5idWZmZXIudHJpbSgpOwotICAg
IHZhciBtZXNzYWdlID0gbmV3IE1lc3NhZ2UodGhpcy5idWZmZXIsIHRoaXMuaGFuZGxlcywKLSAg
ICAgICAgdGhpcy5hc3NvY2lhdGVkRW5kcG9pbnRIYW5kbGVzKTsKLSAgICB0aGlzLmJ1ZmZlciA9
IG51bGw7Ci0gICAgdGhpcy5oYW5kbGVzID0gbnVsbDsKLSAgICB0aGlzLmVuY29kZXIgPSBudWxs
OwotICAgIHRoaXMucGF5bG9hZCA9IG51bGw7Ci0gICAgdGhpcy5hc3NvY2lhdGVkRW5kcG9pbnRI
YW5kbGVzID0gbnVsbDsKLQotICAgIHJldHVybiBtZXNzYWdlOwotICB9OwotCi0gIC8vIE1lc3Nh
Z2VSZWFkZXIgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tCi0KLSAgZnVuY3Rpb24gTWVzc2FnZVJlYWRlcihtZXNzYWdlKSB7Ci0gICAg
dGhpcy5kZWNvZGVyID0gbmV3IERlY29kZXIobWVzc2FnZS5idWZmZXIsIG1lc3NhZ2UuaGFuZGxl
cywKLSAgICAgICAgbWVzc2FnZS5hc3NvY2lhdGVkRW5kcG9pbnRIYW5kbGVzLCAwKTsKLSAgICB2
YXIgbWVzc2FnZUhlYWRlclNpemUgPSB0aGlzLmRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHRo
aXMucGF5bG9hZFNpemUgPSBtZXNzYWdlLmJ1ZmZlci5ieXRlTGVuZ3RoIC0gbWVzc2FnZUhlYWRl
clNpemU7Ci0gICAgdmFyIHZlcnNpb24gPSB0aGlzLmRlY29kZXIucmVhZFVpbnQzMigpOwotICAg
IHZhciBpbnRlcmZhY2VfaWQgPSB0aGlzLmRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHRoaXMu
bWVzc2FnZU5hbWUgPSB0aGlzLmRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHRoaXMuZmxhZ3Mg
PSB0aGlzLmRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIC8vIFNraXAgdGhlIHBhZGRpbmcuCi0g
ICAgdGhpcy5kZWNvZGVyLnNraXAoNCk7Ci0gICAgaWYgKHZlcnNpb24gPj0gMSkKLSAgICAgIHRo
aXMucmVxdWVzdElEID0gdGhpcy5kZWNvZGVyLnJlYWRVaW50NjQoKTsKLSAgICB0aGlzLmRlY29k
ZXIuc2tpcChtZXNzYWdlSGVhZGVyU2l6ZSAtIHRoaXMuZGVjb2Rlci5uZXh0KTsKLSAgfQotCi0g
IE1lc3NhZ2VSZWFkZXIucHJvdG90eXBlLmRlY29kZVN0cnVjdCA9IGZ1bmN0aW9uKGNscykgewot
ICAgIHJldHVybiBjbHMuZGVjb2RlKHRoaXMuZGVjb2Rlcik7Ci0gIH07Ci0KLSAgLy8gQnVpbHQt
aW4gdHlwZXMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0KLQotICAvLyBUaGlzIHR5cGUgaXMgb25seSB1c2VkIHdpdGggQXJyYXlPZihQ
YWNrZWRCb29sKS4KLSAgZnVuY3Rpb24gUGFja2VkQm9vbCgpIHsKLSAgfQotCi0gIGZ1bmN0aW9u
IEludDgoKSB7Ci0gIH0KLQotICBJbnQ4LmVuY29kZWRTaXplID0gMTsKLQotICBJbnQ4LmRlY29k
ZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICByZXR1cm4gZGVjb2Rlci5yZWFkSW50OCgpOwot
ICB9OwotCi0gIEludDguZW5jb2RlID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAgZW5j
b2Rlci53cml0ZUludDgodmFsKTsKLSAgfTsKLQotICBVaW50OC5lbmNvZGUgPSBmdW5jdGlvbihl
bmNvZGVyLCB2YWwpIHsKLSAgICBlbmNvZGVyLndyaXRlVWludDgodmFsKTsKLSAgfTsKLQotICBm
dW5jdGlvbiBVaW50OCgpIHsKLSAgfQotCi0gIFVpbnQ4LmVuY29kZWRTaXplID0gMTsKLQotICBV
aW50OC5kZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgcmV0dXJuIGRlY29kZXIucmVh
ZFVpbnQ4KCk7Ci0gIH07Ci0KLSAgVWludDguZW5jb2RlID0gZnVuY3Rpb24oZW5jb2RlciwgdmFs
KSB7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQ4KHZhbCk7Ci0gIH07Ci0KLSAgZnVuY3Rpb24gSW50
MTYoKSB7Ci0gIH0KLQotICBJbnQxNi5lbmNvZGVkU2l6ZSA9IDI7Ci0KLSAgSW50MTYuZGVjb2Rl
ID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHJldHVybiBkZWNvZGVyLnJlYWRJbnQxNigpOwot
ICB9OwotCi0gIEludDE2LmVuY29kZSA9IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgIGVu
Y29kZXIud3JpdGVJbnQxNih2YWwpOwotICB9OwotCi0gIGZ1bmN0aW9uIFVpbnQxNigpIHsKLSAg
fQotCi0gIFVpbnQxNi5lbmNvZGVkU2l6ZSA9IDI7Ci0KLSAgVWludDE2LmRlY29kZSA9IGZ1bmN0
aW9uKGRlY29kZXIpIHsKLSAgICByZXR1cm4gZGVjb2Rlci5yZWFkVWludDE2KCk7Ci0gIH07Ci0K
LSAgVWludDE2LmVuY29kZSA9IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgIGVuY29kZXIu
d3JpdGVVaW50MTYodmFsKTsKLSAgfTsKLQotICBmdW5jdGlvbiBJbnQzMigpIHsKLSAgfQotCi0g
IEludDMyLmVuY29kZWRTaXplID0gNDsKLQotICBJbnQzMi5kZWNvZGUgPSBmdW5jdGlvbihkZWNv
ZGVyKSB7Ci0gICAgcmV0dXJuIGRlY29kZXIucmVhZEludDMyKCk7Ci0gIH07Ci0KLSAgSW50MzIu
ZW5jb2RlID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAgZW5jb2Rlci53cml0ZUludDMy
KHZhbCk7Ci0gIH07Ci0KLSAgZnVuY3Rpb24gVWludDMyKCkgewotICB9Ci0KLSAgVWludDMyLmVu
Y29kZWRTaXplID0gNDsKLQotICBVaW50MzIuZGVjb2RlID0gZnVuY3Rpb24oZGVjb2Rlcikgewot
ICAgIHJldHVybiBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgfTsKLQotICBVaW50MzIuZW5jb2Rl
ID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMih2YWwp
OwotICB9OwotCi0gIGZ1bmN0aW9uIEludDY0KCkgewotICB9Ci0KLSAgSW50NjQuZW5jb2RlZFNp
emUgPSA4OwotCi0gIEludDY0LmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICByZXR1
cm4gZGVjb2Rlci5yZWFkSW50NjQoKTsKLSAgfTsKLQotICBJbnQ2NC5lbmNvZGUgPSBmdW5jdGlv
bihlbmNvZGVyLCB2YWwpIHsKLSAgICBlbmNvZGVyLndyaXRlSW50NjQodmFsKTsKLSAgfTsKLQot
ICBmdW5jdGlvbiBVaW50NjQoKSB7Ci0gIH0KLQotICBVaW50NjQuZW5jb2RlZFNpemUgPSA4Owot
Ci0gIFVpbnQ2NC5kZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgcmV0dXJuIGRlY29k
ZXIucmVhZFVpbnQ2NCgpOwotICB9OwotCi0gIFVpbnQ2NC5lbmNvZGUgPSBmdW5jdGlvbihlbmNv
ZGVyLCB2YWwpIHsKLSAgICBlbmNvZGVyLndyaXRlVWludDY0KHZhbCk7Ci0gIH07Ci0KLSAgZnVu
Y3Rpb24gU3RyaW5nKCkgewotICB9OwotCi0gIFN0cmluZy5lbmNvZGVkU2l6ZSA9IDg7Ci0KLSAg
U3RyaW5nLmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICByZXR1cm4gZGVjb2Rlci5k
ZWNvZGVTdHJpbmdQb2ludGVyKCk7Ci0gIH07Ci0KLSAgU3RyaW5nLmVuY29kZSA9IGZ1bmN0aW9u
KGVuY29kZXIsIHZhbCkgewotICAgIGVuY29kZXIuZW5jb2RlU3RyaW5nUG9pbnRlcih2YWwpOwot
ICB9OwotCi0gIGZ1bmN0aW9uIE51bGxhYmxlU3RyaW5nKCkgewotICB9Ci0KLSAgTnVsbGFibGVT
dHJpbmcuZW5jb2RlZFNpemUgPSBTdHJpbmcuZW5jb2RlZFNpemU7Ci0KLSAgTnVsbGFibGVTdHJp
bmcuZGVjb2RlID0gU3RyaW5nLmRlY29kZTsKLQotICBOdWxsYWJsZVN0cmluZy5lbmNvZGUgPSBT
dHJpbmcuZW5jb2RlOwotCi0gIGZ1bmN0aW9uIEZsb2F0KCkgewotICB9Ci0KLSAgRmxvYXQuZW5j
b2RlZFNpemUgPSA0OwotCi0gIEZsb2F0LmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAg
ICByZXR1cm4gZGVjb2Rlci5yZWFkRmxvYXQoKTsKLSAgfTsKLQotICBGbG9hdC5lbmNvZGUgPSBm
dW5jdGlvbihlbmNvZGVyLCB2YWwpIHsKLSAgICBlbmNvZGVyLndyaXRlRmxvYXQodmFsKTsKLSAg
fTsKLQotICBmdW5jdGlvbiBEb3VibGUoKSB7Ci0gIH0KLQotICBEb3VibGUuZW5jb2RlZFNpemUg
PSA4OwotCi0gIERvdWJsZS5kZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgcmV0dXJu
IGRlY29kZXIucmVhZERvdWJsZSgpOwotICB9OwotCi0gIERvdWJsZS5lbmNvZGUgPSBmdW5jdGlv
bihlbmNvZGVyLCB2YWwpIHsKLSAgICBlbmNvZGVyLndyaXRlRG91YmxlKHZhbCk7Ci0gIH07Ci0K
LSAgZnVuY3Rpb24gRW51bShjbHMpIHsKLSAgICB0aGlzLmNscyA9IGNsczsKLSAgfQotCi0gIEVu
dW0ucHJvdG90eXBlLmVuY29kZWRTaXplID0gNDsKLQotICBFbnVtLnByb3RvdHlwZS5kZWNvZGUg
PSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgcmV0dXJuIGRlY29kZXIucmVhZEludDMyKCk7Ci0g
IH07Ci0KLSAgRW51bS5wcm90b3R5cGUuZW5jb2RlID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7
Ci0gICAgZW5jb2Rlci53cml0ZUludDMyKHZhbCk7Ci0gIH07Ci0KLSAgZnVuY3Rpb24gUG9pbnRl
clRvKGNscykgewotICAgIHRoaXMuY2xzID0gY2xzOwotICB9Ci0KLSAgUG9pbnRlclRvLnByb3Rv
dHlwZS5lbmNvZGVkU2l6ZSA9IDg7Ci0KLSAgUG9pbnRlclRvLnByb3RvdHlwZS5kZWNvZGUgPSBm
dW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgdmFyIHBvaW50ZXIgPSBkZWNvZGVyLmRlY29kZVBvaW50
ZXIoKTsKLSAgICBpZiAoIXBvaW50ZXIpIHsKLSAgICAgIHJldHVybiBudWxsOwotICAgIH0KLSAg
ICByZXR1cm4gdGhpcy5jbHMuZGVjb2RlKGRlY29kZXIuZGVjb2RlQW5kQ3JlYXRlRGVjb2Rlcihw
b2ludGVyKSk7Ci0gIH07Ci0KLSAgUG9pbnRlclRvLnByb3RvdHlwZS5lbmNvZGUgPSBmdW5jdGlv
bihlbmNvZGVyLCB2YWwpIHsKLSAgICBpZiAoIXZhbCkgewotICAgICAgZW5jb2Rlci5lbmNvZGVQ
b2ludGVyKHZhbCk7Ci0gICAgICByZXR1cm47Ci0gICAgfQotICAgIHZhciBvYmplY3RFbmNvZGVy
ID0gZW5jb2Rlci5jcmVhdGVBbmRFbmNvZGVFbmNvZGVyKHRoaXMuY2xzLmVuY29kZWRTaXplKTsK
LSAgICB0aGlzLmNscy5lbmNvZGUob2JqZWN0RW5jb2RlciwgdmFsKTsKLSAgfTsKLQotICBmdW5j
dGlvbiBOdWxsYWJsZVBvaW50ZXJUbyhjbHMpIHsKLSAgICBQb2ludGVyVG8uY2FsbCh0aGlzLCBj
bHMpOwotICB9Ci0KLSAgTnVsbGFibGVQb2ludGVyVG8ucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0
ZShQb2ludGVyVG8ucHJvdG90eXBlKTsKLQotICBmdW5jdGlvbiBBcnJheU9mKGNscywgbGVuZ3Ro
KSB7Ci0gICAgdGhpcy5jbHMgPSBjbHM7Ci0gICAgdGhpcy5sZW5ndGggPSBsZW5ndGggfHwgMDsK
LSAgfQotCi0gIEFycmF5T2YucHJvdG90eXBlLmVuY29kZWRTaXplID0gODsKLQotICBBcnJheU9m
LnByb3RvdHlwZS5kaW1lbnNpb25zID0gZnVuY3Rpb24oKSB7Ci0gICAgcmV0dXJuIFt0aGlzLmxl
bmd0aF0uY29uY2F0KAotICAgICAgKHRoaXMuY2xzIGluc3RhbmNlb2YgQXJyYXlPZikgPyB0aGlz
LmNscy5kaW1lbnNpb25zKCkgOiBbXSk7Ci0gIH0KLQotICBBcnJheU9mLnByb3RvdHlwZS5kZWNv
ZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgcmV0dXJuIGRlY29kZXIuZGVjb2RlQXJyYXlQ
b2ludGVyKHRoaXMuY2xzKTsKLSAgfTsKLQotICBBcnJheU9mLnByb3RvdHlwZS5lbmNvZGUgPSBm
dW5jdGlvbihlbmNvZGVyLCB2YWwpIHsKLSAgICBlbmNvZGVyLmVuY29kZUFycmF5UG9pbnRlcih0
aGlzLmNscywgdmFsKTsKLSAgfTsKLQotICBmdW5jdGlvbiBOdWxsYWJsZUFycmF5T2YoY2xzKSB7
Ci0gICAgQXJyYXlPZi5jYWxsKHRoaXMsIGNscyk7Ci0gIH0KLQotICBOdWxsYWJsZUFycmF5T2Yu
cHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShBcnJheU9mLnByb3RvdHlwZSk7Ci0KLSAgZnVuY3Rp
b24gSGFuZGxlKCkgewotICB9Ci0KLSAgSGFuZGxlLmVuY29kZWRTaXplID0gNDsKLQotICBIYW5k
bGUuZGVjb2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHJldHVybiBkZWNvZGVyLmRlY29k
ZUhhbmRsZSgpOwotICB9OwotCi0gIEhhbmRsZS5lbmNvZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2
YWwpIHsKLSAgICBlbmNvZGVyLmVuY29kZUhhbmRsZSh2YWwpOwotICB9OwotCi0gIGZ1bmN0aW9u
IE51bGxhYmxlSGFuZGxlKCkgewotICB9Ci0KLSAgTnVsbGFibGVIYW5kbGUuZW5jb2RlZFNpemUg
PSBIYW5kbGUuZW5jb2RlZFNpemU7Ci0KLSAgTnVsbGFibGVIYW5kbGUuZGVjb2RlID0gSGFuZGxl
LmRlY29kZTsKLQotICBOdWxsYWJsZUhhbmRsZS5lbmNvZGUgPSBIYW5kbGUuZW5jb2RlOwotCi0g
IGZ1bmN0aW9uIEludGVyZmFjZShjbHMpIHsKLSAgICB0aGlzLmNscyA9IGNsczsKLSAgfQotCi0g
IEludGVyZmFjZS5wcm90b3R5cGUuZW5jb2RlZFNpemUgPSA4OwotCi0gIEludGVyZmFjZS5wcm90
b3R5cGUuZGVjb2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHZhciBpbnRlcmZhY2VQdHJJ
bmZvID0gbmV3IG1vam8uSW50ZXJmYWNlUHRySW5mbygKLSAgICAgICAgZGVjb2Rlci5kZWNvZGVI
YW5kbGUoKSwgZGVjb2Rlci5yZWFkVWludDMyKCkpOwotICAgIHZhciBpbnRlcmZhY2VQdHIgPSBu
ZXcgdGhpcy5jbHMoKTsKLSAgICBpbnRlcmZhY2VQdHIucHRyLmJpbmQoaW50ZXJmYWNlUHRySW5m
byk7Ci0gICAgcmV0dXJuIGludGVyZmFjZVB0cjsKLSAgfTsKLQotICBJbnRlcmZhY2UucHJvdG90
eXBlLmVuY29kZSA9IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgIHZhciBpbnRlcmZhY2VQ
dHJJbmZvID0KLSAgICAgICAgdmFsID8gdmFsLnB0ci5wYXNzSW50ZXJmYWNlKCkgOiBuZXcgbW9q
by5JbnRlcmZhY2VQdHJJbmZvKG51bGwsIDApOwotICAgIGVuY29kZXIuZW5jb2RlSGFuZGxlKGlu
dGVyZmFjZVB0ckluZm8uaGFuZGxlKTsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKGludGVyZmFj
ZVB0ckluZm8udmVyc2lvbik7Ci0gIH07Ci0KLSAgZnVuY3Rpb24gTnVsbGFibGVJbnRlcmZhY2Uo
Y2xzKSB7Ci0gICAgSW50ZXJmYWNlLmNhbGwodGhpcywgY2xzKTsKLSAgfQotCi0gIE51bGxhYmxl
SW50ZXJmYWNlLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoSW50ZXJmYWNlLnByb3RvdHlwZSk7
Ci0KLSAgZnVuY3Rpb24gQXNzb2NpYXRlZEludGVyZmFjZVB0ckluZm8oKSB7Ci0gIH0KLQotICBB
c3NvY2lhdGVkSW50ZXJmYWNlUHRySW5mby5wcm90b3R5cGUuZW5jb2RlZFNpemUgPSA4OwotCi0g
IEFzc29jaWF0ZWRJbnRlcmZhY2VQdHJJbmZvLmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsK
LSAgICByZXR1cm4gbmV3IG1vam8uQXNzb2NpYXRlZEludGVyZmFjZVB0ckluZm8oCi0gICAgICBk
ZWNvZGVyLmRlY29kZUFzc29jaWF0ZWRFbmRwb2ludEhhbmRsZSgpLCBkZWNvZGVyLnJlYWRVaW50
MzIoKSk7Ci0gIH07Ci0KLSAgQXNzb2NpYXRlZEludGVyZmFjZVB0ckluZm8uZW5jb2RlID0gZnVu
Y3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAgdmFyIGFzc29jaWF0ZWRpbnRlcmZhY2VQdHJJbmZv
ID0KLSAgICAgICAgdmFsID8gdmFsIDogbmV3IG1vam8uQXNzb2NpYXRlZEludGVyZmFjZVB0cklu
Zm8obnVsbCwgMCk7Ci0gICAgZW5jb2Rlci5lbmNvZGVBc3NvY2lhdGVkRW5kcG9pbnRIYW5kbGUo
Ci0gICAgICAgIGFzc29jaWF0ZWRpbnRlcmZhY2VQdHJJbmZvLmludGVyZmFjZUVuZHBvaW50SGFu
ZGxlKTsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKGFzc29jaWF0ZWRpbnRlcmZhY2VQdHJJbmZv
LnZlcnNpb24pOwotICB9OwotCi0gIGZ1bmN0aW9uIE51bGxhYmxlQXNzb2NpYXRlZEludGVyZmFj
ZVB0ckluZm8oKSB7Ci0gIH0KLQotICBOdWxsYWJsZUFzc29jaWF0ZWRJbnRlcmZhY2VQdHJJbmZv
LmVuY29kZWRTaXplID0KLSAgICAgIEFzc29jaWF0ZWRJbnRlcmZhY2VQdHJJbmZvLmVuY29kZWRT
aXplOwotCi0gIE51bGxhYmxlQXNzb2NpYXRlZEludGVyZmFjZVB0ckluZm8uZGVjb2RlID0KLSAg
ICAgIEFzc29jaWF0ZWRJbnRlcmZhY2VQdHJJbmZvLmRlY29kZTsKLQotICBOdWxsYWJsZUFzc29j
aWF0ZWRJbnRlcmZhY2VQdHJJbmZvLmVuY29kZSA9Ci0gICAgICBBc3NvY2lhdGVkSW50ZXJmYWNl
UHRySW5mby5lbmNvZGU7Ci0KLSAgZnVuY3Rpb24gSW50ZXJmYWNlUmVxdWVzdCgpIHsKLSAgfQot
Ci0gIEludGVyZmFjZVJlcXVlc3QuZW5jb2RlZFNpemUgPSA0OwotCi0gIEludGVyZmFjZVJlcXVl
c3QuZGVjb2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHJldHVybiBuZXcgbW9qby5JbnRl
cmZhY2VSZXF1ZXN0KGRlY29kZXIuZGVjb2RlSGFuZGxlKCkpOwotICB9OwotCi0gIEludGVyZmFj
ZVJlcXVlc3QuZW5jb2RlID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAgZW5jb2Rlci5l
bmNvZGVIYW5kbGUodmFsID8gdmFsLmhhbmRsZSA6IG51bGwpOwotICB9OwotCi0gIGZ1bmN0aW9u
IE51bGxhYmxlSW50ZXJmYWNlUmVxdWVzdCgpIHsKLSAgfQotCi0gIE51bGxhYmxlSW50ZXJmYWNl
UmVxdWVzdC5lbmNvZGVkU2l6ZSA9IEludGVyZmFjZVJlcXVlc3QuZW5jb2RlZFNpemU7Ci0KLSAg
TnVsbGFibGVJbnRlcmZhY2VSZXF1ZXN0LmRlY29kZSA9IEludGVyZmFjZVJlcXVlc3QuZGVjb2Rl
OwotCi0gIE51bGxhYmxlSW50ZXJmYWNlUmVxdWVzdC5lbmNvZGUgPSBJbnRlcmZhY2VSZXF1ZXN0
LmVuY29kZTsKLQotICBmdW5jdGlvbiBBc3NvY2lhdGVkSW50ZXJmYWNlUmVxdWVzdCgpIHsKLSAg
fQotCi0gIEFzc29jaWF0ZWRJbnRlcmZhY2VSZXF1ZXN0LmRlY29kZSA9IGZ1bmN0aW9uKGRlY29k
ZXIpIHsKLSAgICB2YXIgaGFuZGxlID0gZGVjb2Rlci5kZWNvZGVBc3NvY2lhdGVkRW5kcG9pbnRI
YW5kbGUoKTsKLSAgICByZXR1cm4gbmV3IG1vam8uQXNzb2NpYXRlZEludGVyZmFjZVJlcXVlc3Qo
aGFuZGxlKTsKLSAgfTsKLQotICBBc3NvY2lhdGVkSW50ZXJmYWNlUmVxdWVzdC5lbmNvZGUgPSBm
dW5jdGlvbihlbmNvZGVyLCB2YWwpIHsKLSAgICBlbmNvZGVyLmVuY29kZUFzc29jaWF0ZWRFbmRw
b2ludEhhbmRsZSgKLSAgICAgICAgdmFsID8gdmFsLmludGVyZmFjZUVuZHBvaW50SGFuZGxlIDog
bnVsbCk7Ci0gIH07Ci0KLSAgQXNzb2NpYXRlZEludGVyZmFjZVJlcXVlc3QuZW5jb2RlZFNpemUg
PSA0OwotCi0gIGZ1bmN0aW9uIE51bGxhYmxlQXNzb2NpYXRlZEludGVyZmFjZVJlcXVlc3QoKSB7
Ci0gIH0KLQotICBOdWxsYWJsZUFzc29jaWF0ZWRJbnRlcmZhY2VSZXF1ZXN0LmVuY29kZWRTaXpl
ID0KLSAgICAgIEFzc29jaWF0ZWRJbnRlcmZhY2VSZXF1ZXN0LmVuY29kZWRTaXplOwotCi0gIE51
bGxhYmxlQXNzb2NpYXRlZEludGVyZmFjZVJlcXVlc3QuZGVjb2RlID0KLSAgICAgIEFzc29jaWF0
ZWRJbnRlcmZhY2VSZXF1ZXN0LmRlY29kZTsKLQotICBOdWxsYWJsZUFzc29jaWF0ZWRJbnRlcmZh
Y2VSZXF1ZXN0LmVuY29kZSA9Ci0gICAgICBBc3NvY2lhdGVkSW50ZXJmYWNlUmVxdWVzdC5lbmNv
ZGU7Ci0KLSAgZnVuY3Rpb24gTWFwT2Yoa2V5Q2xhc3MsIHZhbHVlQ2xhc3MpIHsKLSAgICB0aGlz
LmtleUNsYXNzID0ga2V5Q2xhc3M7Ci0gICAgdGhpcy52YWx1ZUNsYXNzID0gdmFsdWVDbGFzczsK
LSAgfQotCi0gIE1hcE9mLnByb3RvdHlwZS5lbmNvZGVkU2l6ZSA9IDg7Ci0KLSAgTWFwT2YucHJv
dG90eXBlLmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICByZXR1cm4gZGVjb2Rlci5k
ZWNvZGVNYXBQb2ludGVyKHRoaXMua2V5Q2xhc3MsIHRoaXMudmFsdWVDbGFzcyk7Ci0gIH07Ci0K
LSAgTWFwT2YucHJvdG90eXBlLmVuY29kZSA9IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAg
IGVuY29kZXIuZW5jb2RlTWFwUG9pbnRlcih0aGlzLmtleUNsYXNzLCB0aGlzLnZhbHVlQ2xhc3Ms
IHZhbCk7Ci0gIH07Ci0KLSAgZnVuY3Rpb24gTnVsbGFibGVNYXBPZihrZXlDbGFzcywgdmFsdWVD
bGFzcykgewotICAgIE1hcE9mLmNhbGwodGhpcywga2V5Q2xhc3MsIHZhbHVlQ2xhc3MpOwotICB9
Ci0KLSAgTnVsbGFibGVNYXBPZi5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKE1hcE9mLnByb3Rv
dHlwZSk7Ci0KLSAgaW50ZXJuYWwuYWxpZ24gPSBhbGlnbjsKLSAgaW50ZXJuYWwuaXNBbGlnbmVk
ID0gaXNBbGlnbmVkOwotICBpbnRlcm5hbC5NZXNzYWdlID0gTWVzc2FnZTsKLSAgaW50ZXJuYWwu
TWVzc2FnZVYwQnVpbGRlciA9IE1lc3NhZ2VWMEJ1aWxkZXI7Ci0gIGludGVybmFsLk1lc3NhZ2VW
MUJ1aWxkZXIgPSBNZXNzYWdlVjFCdWlsZGVyOwotICBpbnRlcm5hbC5NZXNzYWdlVjJCdWlsZGVy
ID0gTWVzc2FnZVYyQnVpbGRlcjsKLSAgaW50ZXJuYWwuTWVzc2FnZVJlYWRlciA9IE1lc3NhZ2VS
ZWFkZXI7Ci0gIGludGVybmFsLmtBcnJheUhlYWRlclNpemUgPSBrQXJyYXlIZWFkZXJTaXplOwot
ICBpbnRlcm5hbC5rTWFwU3RydWN0UGF5bG9hZFNpemUgPSBrTWFwU3RydWN0UGF5bG9hZFNpemU7
Ci0gIGludGVybmFsLmtTdHJ1Y3RIZWFkZXJTaXplID0ga1N0cnVjdEhlYWRlclNpemU7Ci0gIGlu
dGVybmFsLmtFbmNvZGVkSW52YWxpZEhhbmRsZVZhbHVlID0ga0VuY29kZWRJbnZhbGlkSGFuZGxl
VmFsdWU7Ci0gIGludGVybmFsLmtNZXNzYWdlVjBIZWFkZXJTaXplID0ga01lc3NhZ2VWMEhlYWRl
clNpemU7Ci0gIGludGVybmFsLmtNZXNzYWdlVjFIZWFkZXJTaXplID0ga01lc3NhZ2VWMUhlYWRl
clNpemU7Ci0gIGludGVybmFsLmtNZXNzYWdlVjJIZWFkZXJTaXplID0ga01lc3NhZ2VWMkhlYWRl
clNpemU7Ci0gIGludGVybmFsLmtNZXNzYWdlUGF5bG9hZEludGVyZmFjZUlkc1BvaW50ZXJPZmZz
ZXQgPQotICAgICAga01lc3NhZ2VQYXlsb2FkSW50ZXJmYWNlSWRzUG9pbnRlck9mZnNldDsKLSAg
aW50ZXJuYWwua01lc3NhZ2VFeHBlY3RzUmVzcG9uc2UgPSBrTWVzc2FnZUV4cGVjdHNSZXNwb25z
ZTsKLSAgaW50ZXJuYWwua01lc3NhZ2VJc1Jlc3BvbnNlID0ga01lc3NhZ2VJc1Jlc3BvbnNlOwot
ICBpbnRlcm5hbC5JbnQ4ID0gSW50ODsKLSAgaW50ZXJuYWwuVWludDggPSBVaW50ODsKLSAgaW50
ZXJuYWwuSW50MTYgPSBJbnQxNjsKLSAgaW50ZXJuYWwuVWludDE2ID0gVWludDE2OwotICBpbnRl
cm5hbC5JbnQzMiA9IEludDMyOwotICBpbnRlcm5hbC5VaW50MzIgPSBVaW50MzI7Ci0gIGludGVy
bmFsLkludDY0ID0gSW50NjQ7Ci0gIGludGVybmFsLlVpbnQ2NCA9IFVpbnQ2NDsKLSAgaW50ZXJu
YWwuRmxvYXQgPSBGbG9hdDsKLSAgaW50ZXJuYWwuRG91YmxlID0gRG91YmxlOwotICBpbnRlcm5h
bC5TdHJpbmcgPSBTdHJpbmc7Ci0gIGludGVybmFsLkVudW0gPSBFbnVtOwotICBpbnRlcm5hbC5O
dWxsYWJsZVN0cmluZyA9IE51bGxhYmxlU3RyaW5nOwotICBpbnRlcm5hbC5Qb2ludGVyVG8gPSBQ
b2ludGVyVG87Ci0gIGludGVybmFsLk51bGxhYmxlUG9pbnRlclRvID0gTnVsbGFibGVQb2ludGVy
VG87Ci0gIGludGVybmFsLkFycmF5T2YgPSBBcnJheU9mOwotICBpbnRlcm5hbC5OdWxsYWJsZUFy
cmF5T2YgPSBOdWxsYWJsZUFycmF5T2Y7Ci0gIGludGVybmFsLlBhY2tlZEJvb2wgPSBQYWNrZWRC
b29sOwotICBpbnRlcm5hbC5IYW5kbGUgPSBIYW5kbGU7Ci0gIGludGVybmFsLk51bGxhYmxlSGFu
ZGxlID0gTnVsbGFibGVIYW5kbGU7Ci0gIGludGVybmFsLkludGVyZmFjZSA9IEludGVyZmFjZTsK
LSAgaW50ZXJuYWwuTnVsbGFibGVJbnRlcmZhY2UgPSBOdWxsYWJsZUludGVyZmFjZTsKLSAgaW50
ZXJuYWwuSW50ZXJmYWNlUmVxdWVzdCA9IEludGVyZmFjZVJlcXVlc3Q7Ci0gIGludGVybmFsLk51
bGxhYmxlSW50ZXJmYWNlUmVxdWVzdCA9IE51bGxhYmxlSW50ZXJmYWNlUmVxdWVzdDsKLSAgaW50
ZXJuYWwuQXNzb2NpYXRlZEludGVyZmFjZVB0ckluZm8gPSBBc3NvY2lhdGVkSW50ZXJmYWNlUHRy
SW5mbzsKLSAgaW50ZXJuYWwuTnVsbGFibGVBc3NvY2lhdGVkSW50ZXJmYWNlUHRySW5mbyA9Ci0g
ICAgICBOdWxsYWJsZUFzc29jaWF0ZWRJbnRlcmZhY2VQdHJJbmZvOwotICBpbnRlcm5hbC5Bc3Nv
Y2lhdGVkSW50ZXJmYWNlUmVxdWVzdCA9IEFzc29jaWF0ZWRJbnRlcmZhY2VSZXF1ZXN0OwotICBp
bnRlcm5hbC5OdWxsYWJsZUFzc29jaWF0ZWRJbnRlcmZhY2VSZXF1ZXN0ID0KLSAgICAgIE51bGxh
YmxlQXNzb2NpYXRlZEludGVyZmFjZVJlcXVlc3Q7Ci0gIGludGVybmFsLk1hcE9mID0gTWFwT2Y7
Ci0gIGludGVybmFsLk51bGxhYmxlTWFwT2YgPSBOdWxsYWJsZU1hcE9mOwotfSkoKTsKLS8vIENv
cHlyaWdodCAyMDE0IFRoZSBDaHJvbWl1bSBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgot
Ly8gVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGlj
ZW5zZSB0aGF0IGNhbiBiZQotLy8gZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KLQotKGZ1bmN0
aW9uKCkgewotICB2YXIgaW50ZXJuYWwgPSBtb2pvLmludGVybmFsOwotCi0gIGZ1bmN0aW9uIENv
bm5lY3RvcihoYW5kbGUpIHsKLSAgICBpZiAoIShoYW5kbGUgaW5zdGFuY2VvZiBNb2pvSGFuZGxl
KSkKLSAgICAgIHRocm93IG5ldyBFcnJvcigiQ29ubmVjdG9yOiBub3QgYSBoYW5kbGUgIiArIGhh
bmRsZSk7Ci0gICAgdGhpcy5oYW5kbGVfID0gaGFuZGxlOwotICAgIHRoaXMuZHJvcFdyaXRlc18g
PSBmYWxzZTsKLSAgICB0aGlzLmVycm9yXyA9IGZhbHNlOwotICAgIHRoaXMuaW5jb21pbmdSZWNl
aXZlcl8gPSBudWxsOwotICAgIHRoaXMucmVhZFdhdGNoZXJfID0gbnVsbDsKLSAgICB0aGlzLmVy
cm9ySGFuZGxlcl8gPSBudWxsOwotICAgIHRoaXMucGF1c2VkXyA9IGZhbHNlOwotCi0gICAgdGhp
cy53YWl0VG9SZWFkTW9yZSgpOwotICB9Ci0KLSAgQ29ubmVjdG9yLnByb3RvdHlwZS5jbG9zZSA9
IGZ1bmN0aW9uKCkgewotICAgIHRoaXMuY2FuY2VsV2FpdCgpOwotICAgIGlmICh0aGlzLmhhbmRs
ZV8gIT0gbnVsbCkgewotICAgICAgdGhpcy5oYW5kbGVfLmNsb3NlKCk7Ci0gICAgICB0aGlzLmhh
bmRsZV8gPSBudWxsOwotICAgIH0KLSAgfTsKLQotICBDb25uZWN0b3IucHJvdG90eXBlLnBhdXNl
SW5jb21pbmdNZXRob2RDYWxsUHJvY2Vzc2luZyA9IGZ1bmN0aW9uKCkgewotICAgIGlmICh0aGlz
LnBhdXNlZF8pIHsKLSAgICAgIHJldHVybjsKLSAgICB9Ci0gICAgdGhpcy5wYXVzZWRfPSB0cnVl
OwotICAgIHRoaXMuY2FuY2VsV2FpdCgpOwotICB9OwotCi0gIENvbm5lY3Rvci5wcm90b3R5cGUu
cmVzdW1lSW5jb21pbmdNZXRob2RDYWxsUHJvY2Vzc2luZyA9IGZ1bmN0aW9uKCkgewotICAgIGlm
ICghdGhpcy5wYXVzZWRfKSB7Ci0gICAgICByZXR1cm47Ci0gICAgfQotICAgIHRoaXMucGF1c2Vk
Xz0gZmFsc2U7Ci0gICAgdGhpcy53YWl0VG9SZWFkTW9yZSgpOwotICB9OwotCi0gIENvbm5lY3Rv
ci5wcm90b3R5cGUuYWNjZXB0ID0gZnVuY3Rpb24obWVzc2FnZSkgewotICAgIGlmICh0aGlzLmVy
cm9yXykKLSAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIGlmICh0aGlzLmRyb3BXcml0ZXNfKQot
ICAgICAgcmV0dXJuIHRydWU7Ci0KLSAgICB2YXIgcmVzdWx0ID0gdGhpcy5oYW5kbGVfLndyaXRl
TWVzc2FnZSgKLSAgICAgICAgbmV3IFVpbnQ4QXJyYXkobWVzc2FnZS5idWZmZXIuYXJyYXlCdWZm
ZXIpLCBtZXNzYWdlLmhhbmRsZXMpOwotICAgIHN3aXRjaCAocmVzdWx0KSB7Ci0gICAgICBjYXNl
IE1vam8uUkVTVUxUX09LOgotICAgICAgICAvLyBUaGUgaGFuZGxlcyB3ZXJlIHN1Y2Nlc3NmdWxs
eSB0cmFuc2ZlcnJlZCwgc28gd2UgZG9uJ3Qgb3duIHRoZW0KLSAgICAgICAgLy8gYW55bW9yZS4K
LSAgICAgICAgbWVzc2FnZS5oYW5kbGVzID0gW107Ci0gICAgICAgIGJyZWFrOwotICAgICAgY2Fz
ZSBNb2pvLlJFU1VMVF9GQUlMRURfUFJFQ09ORElUSU9OOgotICAgICAgICAvLyBUaGVyZSdzIG5v
IHBvaW50IGluIGNvbnRpbnVpbmcgdG8gd3JpdGUgdG8gdGhpcyBwaXBlIHNpbmNlIHRoZSBvdGhl
cgotICAgICAgICAvLyBlbmQgaXMgZ29uZS4gQXZvaWQgd3JpdGluZyBhbnkgZnV0dXJlIG1lc3Nh
Z2VzLiBIaWRlIHdyaXRlIGZhaWx1cmVzCi0gICAgICAgIC8vIGZyb20gdGhlIGNhbGxlciBzaW5j
ZSB3ZSdkIGxpa2UgdGhlbSB0byBjb250aW51ZSBjb25zdW1pbmcgYW55Ci0gICAgICAgIC8vIGJh
Y2tsb2cgb2YgaW5jb21pbmcgbWVzc2FnZXMgYmVmb3JlIHJlZ2FyZGluZyB0aGUgbWVzc2FnZSBw
aXBlIGFzCi0gICAgICAgIC8vIGNsb3NlZC4KLSAgICAgICAgdGhpcy5kcm9wV3JpdGVzXyA9IHRy
dWU7Ci0gICAgICAgIGJyZWFrOwotICAgICAgZGVmYXVsdDoKLSAgICAgICAgLy8gVGhpcyBwYXJ0
aWN1bGFyIHdyaXRlIHdhcyByZWplY3RlZCwgcHJlc3VtYWJseSBiZWNhdXNlIG9mIGJhZCBpbnB1
dC4KLSAgICAgICAgLy8gVGhlIHBpcGUgaXMgbm90IG5lY2Vzc2FyaWx5IGluIGEgYmFkIHN0YXRl
LgotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgfQotICAgIHJldHVybiB0cnVlOwotICB9Owot
Ci0gIENvbm5lY3Rvci5wcm90b3R5cGUuc2V0SW5jb21pbmdSZWNlaXZlciA9IGZ1bmN0aW9uKHJl
Y2VpdmVyKSB7Ci0gICAgdGhpcy5pbmNvbWluZ1JlY2VpdmVyXyA9IHJlY2VpdmVyOwotICB9Owot
Ci0gIENvbm5lY3Rvci5wcm90b3R5cGUuc2V0RXJyb3JIYW5kbGVyID0gZnVuY3Rpb24oaGFuZGxl
cikgewotICAgIHRoaXMuZXJyb3JIYW5kbGVyXyA9IGhhbmRsZXI7Ci0gIH07Ci0KLSAgQ29ubmVj
dG9yLnByb3RvdHlwZS5yZWFkTW9yZV8gPSBmdW5jdGlvbihyZXN1bHQpIHsKLSAgICBmb3IgKDs7
KSB7Ci0gICAgICBpZiAodGhpcy5wYXVzZWRfKSB7Ci0gICAgICAgIHJldHVybjsKLSAgICAgIH0K
LQotICAgICAgdmFyIHJlYWQgPSB0aGlzLmhhbmRsZV8ucmVhZE1lc3NhZ2UoKTsKLSAgICAgIGlm
ICh0aGlzLmhhbmRsZV8gPT0gbnVsbCkgLy8gVGhlIGNvbm5lY3RvciBoYXMgYmVlbiBjbG9zZWQu
Ci0gICAgICAgIHJldHVybjsKLSAgICAgIGlmIChyZWFkLnJlc3VsdCA9PSBNb2pvLlJFU1VMVF9T
SE9VTERfV0FJVCkKLSAgICAgICAgcmV0dXJuOwotICAgICAgaWYgKHJlYWQucmVzdWx0ICE9IE1v
am8uUkVTVUxUX09LKSB7Ci0gICAgICAgIHRoaXMuaGFuZGxlRXJyb3IocmVhZC5yZXN1bHQgIT09
IE1vam8uUkVTVUxUX0ZBSUxFRF9QUkVDT05ESVRJT04sCi0gICAgICAgICAgICBmYWxzZSk7Ci0g
ICAgICAgIHJldHVybjsKLSAgICAgIH0KLSAgICAgIHZhciBtZXNzYWdlQnVmZmVyID0gbmV3IGlu
dGVybmFsLkJ1ZmZlcihyZWFkLmJ1ZmZlcik7Ci0gICAgICB2YXIgbWVzc2FnZSA9IG5ldyBpbnRl
cm5hbC5NZXNzYWdlKG1lc3NhZ2VCdWZmZXIsIHJlYWQuaGFuZGxlcyk7Ci0gICAgICB2YXIgcmVj
ZWl2ZXJSZXN1bHQgPSB0aGlzLmluY29taW5nUmVjZWl2ZXJfICYmCi0gICAgICAgICAgdGhpcy5p
bmNvbWluZ1JlY2VpdmVyXy5hY2NlcHQobWVzc2FnZSk7Ci0KLSAgICAgIC8vIERpc3BhdGNoaW5n
IHRoZSBtZXNzYWdlIG1heSBoYXZlIGNsb3NlZCB0aGUgY29ubmVjdG9yLgotICAgICAgaWYgKHRo
aXMuaGFuZGxlXyA9PSBudWxsKQotICAgICAgICByZXR1cm47Ci0KLSAgICAgIC8vIEhhbmRsZSBp
bnZhbGlkIGluY29taW5nIG1lc3NhZ2UuCi0gICAgICBpZiAoIWludGVybmFsLmlzVGVzdGluZ01v
ZGUoKSAmJiAhcmVjZWl2ZXJSZXN1bHQpIHsKLSAgICAgICAgLy8gVE9ETyh5enNoZW4pOiBDb25z
aWRlciBub3RpZnlpbmcgdGhlIGVtYmVkZGVyLgotICAgICAgICB0aGlzLmhhbmRsZUVycm9yKHRy
dWUsIGZhbHNlKTsKLSAgICAgIH0KLSAgICB9Ci0gIH07Ci0KLSAgQ29ubmVjdG9yLnByb3RvdHlw
ZS5jYW5jZWxXYWl0ID0gZnVuY3Rpb24oKSB7Ci0gICAgaWYgKHRoaXMucmVhZFdhdGNoZXJfKSB7
Ci0gICAgICB0aGlzLnJlYWRXYXRjaGVyXy5jYW5jZWwoKTsKLSAgICAgIHRoaXMucmVhZFdhdGNo
ZXJfID0gbnVsbDsKLSAgICB9Ci0gIH07Ci0KLSAgQ29ubmVjdG9yLnByb3RvdHlwZS53YWl0VG9S
ZWFkTW9yZSA9IGZ1bmN0aW9uKCkgewotICAgIGlmICh0aGlzLmhhbmRsZV8pIHsKLSAgICAgIHRo
aXMucmVhZFdhdGNoZXJfID0gdGhpcy5oYW5kbGVfLndhdGNoKHtyZWFkYWJsZTogdHJ1ZX0sCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnJlYWRNb3Jl
Xy5iaW5kKHRoaXMpKTsKLSAgICB9Ci0gIH07Ci0KLSAgQ29ubmVjdG9yLnByb3RvdHlwZS5oYW5k
bGVFcnJvciA9IGZ1bmN0aW9uKGZvcmNlUGlwZVJlc2V0LAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgZm9yY2VBc3luY0hhbmRsZXIpIHsKLSAgICBpZiAodGhp
cy5lcnJvcl8gfHwgdGhpcy5oYW5kbGVfID09PSBudWxsKSB7Ci0gICAgICByZXR1cm47Ci0gICAg
fQotCi0gICAgaWYgKHRoaXMucGF1c2VkXykgewotICAgICAgLy8gRW5mb3JjZSBjYWxsaW5nIHRo
ZSBlcnJvciBoYW5kbGVyIGFzeW5jaHJvbm91c2x5IGlmIHRoZSB1c2VyIGhhcwotICAgICAgLy8g
cGF1c2VkIHJlY2VpdmluZyBtZXNzYWdlcy4gV2UgbmVlZCB0byB3YWl0IHVudGlsIHRoZSB1c2Vy
IHN0YXJ0cwotICAgICAgLy8gcmVjZWl2aW5nIG1lc3NhZ2VzIGFnYWluLgotICAgICAgZm9yY2VB
c3luY0hhbmRsZXIgPSB0cnVlOwotICAgIH0KLQotICAgIGlmICghZm9yY2VQaXBlUmVzZXQgJiYg
Zm9yY2VBc3luY0hhbmRsZXIpIHsKLSAgICAgIGZvcmNlUGlwZVJlc2V0ID0gdHJ1ZTsKLSAgICB9
Ci0KLSAgICB0aGlzLmNhbmNlbFdhaXQoKTsKLSAgICBpZiAoZm9yY2VQaXBlUmVzZXQpIHsKLSAg
ICAgIHRoaXMuaGFuZGxlXy5jbG9zZSgpOwotICAgICAgdmFyIGR1bW15UGlwZSA9IE1vam8uY3Jl
YXRlTWVzc2FnZVBpcGUoKTsKLSAgICAgIHRoaXMuaGFuZGxlXyA9IGR1bW15UGlwZS5oYW5kbGUw
OwotICAgIH0KLQotICAgIGlmIChmb3JjZUFzeW5jSGFuZGxlcikgewotICAgICAgaWYgKCF0aGlz
LnBhdXNlZF8pIHsKLSAgICAgICAgdGhpcy53YWl0VG9SZWFkTW9yZSgpOwotICAgICAgfQotICAg
IH0gZWxzZSB7Ci0gICAgICB0aGlzLmVycm9yXyA9IHRydWU7Ci0gICAgICBpZiAodGhpcy5lcnJv
ckhhbmRsZXJfKSB7Ci0gICAgICAgIHRoaXMuZXJyb3JIYW5kbGVyXy5vbkVycm9yKCk7Ci0gICAg
ICB9Ci0gICAgfQotICB9OwotCi0gIGludGVybmFsLkNvbm5lY3RvciA9IENvbm5lY3RvcjsKLX0p
KCk7Ci0vLyBDb3B5cmlnaHQgMjAxNyBUaGUgQ2hyb21pdW0gQXV0aG9ycy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KLS8vIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNE
LXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKLS8vIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUu
Ci0KLShmdW5jdGlvbigpIHsKLSAgdmFyIGludGVybmFsID0gbW9qby5pbnRlcm5hbDsKLQotICBm
dW5jdGlvbiB2YWxpZGF0ZUNvbnRyb2xSZXF1ZXN0V2l0aFJlc3BvbnNlKG1lc3NhZ2UpIHsKLSAg
ICB2YXIgbWVzc2FnZVZhbGlkYXRvciA9IG5ldyBpbnRlcm5hbC5WYWxpZGF0b3IobWVzc2FnZSk7
Ci0gICAgdmFyIGVycm9yID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZU1lc3NhZ2VJc1JlcXVl
c3RFeHBlY3RpbmdSZXNwb25zZSgpOwotICAgIGlmIChlcnJvciAhPT0gaW50ZXJuYWwudmFsaWRh
dGlvbkVycm9yLk5PTkUpIHsKLSAgICAgIHRocm93IGVycm9yOwotICAgIH0KLQotICAgIGlmICht
ZXNzYWdlLmdldE5hbWUoKSAhPSBtb2pvLmludGVyZmFjZUNvbnRyb2wua1J1bk1lc3NhZ2VJZCkg
ewotICAgICAgdGhyb3cgbmV3IEVycm9yKCJDb250cm9sIG1lc3NhZ2UgbmFtZSBpcyBub3Qga1J1
bk1lc3NhZ2VJZCIpOwotICAgIH0KLQotICAgIC8vIFZhbGlkYXRlIHBheWxvYWQuCi0gICAgZXJy
b3IgPSBtb2pvLmludGVyZmFjZUNvbnRyb2wuUnVuTWVzc2FnZVBhcmFtcy52YWxpZGF0ZShtZXNz
YWdlVmFsaWRhdG9yLAotICAgICAgICBtZXNzYWdlLmdldEhlYWRlck51bUJ5dGVzKCkpOwotICAg
IGlmIChlcnJvciAhPSBpbnRlcm5hbC52YWxpZGF0aW9uRXJyb3IuTk9ORSkgewotICAgICAgdGhy
b3cgZXJyb3I7Ci0gICAgfQotICB9Ci0KLSAgZnVuY3Rpb24gdmFsaWRhdGVDb250cm9sUmVxdWVz
dFdpdGhvdXRSZXNwb25zZShtZXNzYWdlKSB7Ci0gICAgdmFyIG1lc3NhZ2VWYWxpZGF0b3IgPSBu
ZXcgaW50ZXJuYWwuVmFsaWRhdG9yKG1lc3NhZ2UpOwotICAgIHZhciBlcnJvciA9IG1lc3NhZ2VW
YWxpZGF0b3IudmFsaWRhdGVNZXNzYWdlSXNSZXF1ZXN0V2l0aG91dFJlc3BvbnNlKCk7Ci0gICAg
aWYgKGVycm9yICE9IGludGVybmFsLnZhbGlkYXRpb25FcnJvci5OT05FKSB7Ci0gICAgICB0aHJv
dyBlcnJvcjsKLSAgICB9Ci0KLSAgICBpZiAobWVzc2FnZS5nZXROYW1lKCkgIT0gbW9qby5pbnRl
cmZhY2VDb250cm9sLmtSdW5PckNsb3NlUGlwZU1lc3NhZ2VJZCkgewotICAgICAgdGhyb3cgbmV3
IEVycm9yKCJDb250cm9sIG1lc3NhZ2UgbmFtZSBpcyBub3Qga1J1bk9yQ2xvc2VQaXBlTWVzc2Fn
ZUlkIik7Ci0gICAgfQotCi0gICAgLy8gVmFsaWRhdGUgcGF5bG9hZC4KLSAgICBlcnJvciA9IG1v
am8uaW50ZXJmYWNlQ29udHJvbC5SdW5PckNsb3NlUGlwZU1lc3NhZ2VQYXJhbXMudmFsaWRhdGUo
Ci0gICAgICAgIG1lc3NhZ2VWYWxpZGF0b3IsIG1lc3NhZ2UuZ2V0SGVhZGVyTnVtQnl0ZXMoKSk7
Ci0gICAgaWYgKGVycm9yICE9IGludGVybmFsLnZhbGlkYXRpb25FcnJvci5OT05FKSB7Ci0gICAg
ICB0aHJvdyBlcnJvcjsKLSAgICB9Ci0gIH0KLQotICBmdW5jdGlvbiBydW5PckNsb3NlUGlwZSht
ZXNzYWdlLCBpbnRlcmZhY2VWZXJzaW9uKSB7Ci0gICAgdmFyIHJlYWRlciA9IG5ldyBpbnRlcm5h
bC5NZXNzYWdlUmVhZGVyKG1lc3NhZ2UpOwotICAgIHZhciBydW5PckNsb3NlUGlwZU1lc3NhZ2VQ
YXJhbXMgPSByZWFkZXIuZGVjb2RlU3RydWN0KAotICAgICAgICBtb2pvLmludGVyZmFjZUNvbnRy
b2wuUnVuT3JDbG9zZVBpcGVNZXNzYWdlUGFyYW1zKTsKLSAgICByZXR1cm4gaW50ZXJmYWNlVmVy
c2lvbiA+PQotICAgICAgICBydW5PckNsb3NlUGlwZU1lc3NhZ2VQYXJhbXMuaW5wdXQucmVxdWly
ZVZlcnNpb24udmVyc2lvbjsKLSAgfQotCi0gIGZ1bmN0aW9uIHJ1bihtZXNzYWdlLCByZXNwb25k
ZXIsIGludGVyZmFjZVZlcnNpb24pIHsKLSAgICB2YXIgcmVhZGVyID0gbmV3IGludGVybmFsLk1l
c3NhZ2VSZWFkZXIobWVzc2FnZSk7Ci0gICAgdmFyIHJ1bk1lc3NhZ2VQYXJhbXMgPQotICAgICAg
ICByZWFkZXIuZGVjb2RlU3RydWN0KG1vam8uaW50ZXJmYWNlQ29udHJvbC5SdW5NZXNzYWdlUGFy
YW1zKTsKLSAgICB2YXIgcnVuT3V0cHV0ID0gbnVsbDsKLQotICAgIGlmIChydW5NZXNzYWdlUGFy
YW1zLmlucHV0LnF1ZXJ5VmVyc2lvbikgewotICAgICAgcnVuT3V0cHV0ID0gbmV3IG1vam8uaW50
ZXJmYWNlQ29udHJvbC5SdW5PdXRwdXQoKTsKLSAgICAgIHJ1bk91dHB1dC5xdWVyeVZlcnNpb25S
ZXN1bHQgPSBuZXcKLSAgICAgICAgICBtb2pvLmludGVyZmFjZUNvbnRyb2wuUXVlcnlWZXJzaW9u
UmVzdWx0KAotICAgICAgICAgICAgICB7J3ZlcnNpb24nOiBpbnRlcmZhY2VWZXJzaW9ufSk7Ci0g
ICAgfQotCi0gICAgdmFyIHJ1blJlc3BvbnNlTWVzc2FnZVBhcmFtcyA9IG5ldwotICAgICAgICBt
b2pvLmludGVyZmFjZUNvbnRyb2wuUnVuUmVzcG9uc2VNZXNzYWdlUGFyYW1zKCk7Ci0gICAgcnVu
UmVzcG9uc2VNZXNzYWdlUGFyYW1zLm91dHB1dCA9IHJ1bk91dHB1dDsKLQotICAgIHZhciBtZXNz
YWdlTmFtZSA9IG1vam8uaW50ZXJmYWNlQ29udHJvbC5rUnVuTWVzc2FnZUlkOwotICAgIHZhciBw
YXlsb2FkU2l6ZSA9Ci0gICAgICAgIG1vam8uaW50ZXJmYWNlQ29udHJvbC5SdW5SZXNwb25zZU1l
c3NhZ2VQYXJhbXMuZW5jb2RlZFNpemU7Ci0gICAgdmFyIHJlcXVlc3RJRCA9IHJlYWRlci5yZXF1
ZXN0SUQ7Ci0gICAgdmFyIGJ1aWxkZXIgPSBuZXcgaW50ZXJuYWwuTWVzc2FnZVYxQnVpbGRlciht
ZXNzYWdlTmFtZSwKLSAgICAgICAgcGF5bG9hZFNpemUsIGludGVybmFsLmtNZXNzYWdlSXNSZXNw
b25zZSwgcmVxdWVzdElEKTsKLSAgICBidWlsZGVyLmVuY29kZVN0cnVjdChtb2pvLmludGVyZmFj
ZUNvbnRyb2wuUnVuUmVzcG9uc2VNZXNzYWdlUGFyYW1zLAotICAgICAgICAgICAgICAgICAgICAg
ICAgIHJ1blJlc3BvbnNlTWVzc2FnZVBhcmFtcyk7Ci0gICAgcmVzcG9uZGVyLmFjY2VwdChidWls
ZGVyLmZpbmlzaCgpKTsKLSAgICByZXR1cm4gdHJ1ZTsKLSAgfQotCi0gIGZ1bmN0aW9uIGlzSW50
ZXJmYWNlQ29udHJvbE1lc3NhZ2UobWVzc2FnZSkgewotICAgIHJldHVybiBtZXNzYWdlLmdldE5h
bWUoKSA9PSBtb2pvLmludGVyZmFjZUNvbnRyb2wua1J1bk1lc3NhZ2VJZCB8fAotICAgICAgICAg
ICBtZXNzYWdlLmdldE5hbWUoKSA9PSBtb2pvLmludGVyZmFjZUNvbnRyb2wua1J1bk9yQ2xvc2VQ
aXBlTWVzc2FnZUlkOwotICB9Ci0KLSAgZnVuY3Rpb24gQ29udHJvbE1lc3NhZ2VIYW5kbGVyKGlu
dGVyZmFjZVZlcnNpb24pIHsKLSAgICB0aGlzLmludGVyZmFjZVZlcnNpb25fID0gaW50ZXJmYWNl
VmVyc2lvbjsKLSAgfQotCi0gIENvbnRyb2xNZXNzYWdlSGFuZGxlci5wcm90b3R5cGUuYWNjZXB0
ID0gZnVuY3Rpb24obWVzc2FnZSkgewotICAgIHZhbGlkYXRlQ29udHJvbFJlcXVlc3RXaXRob3V0
UmVzcG9uc2UobWVzc2FnZSk7Ci0gICAgcmV0dXJuIHJ1bk9yQ2xvc2VQaXBlKG1lc3NhZ2UsIHRo
aXMuaW50ZXJmYWNlVmVyc2lvbl8pOwotICB9OwotCi0gIENvbnRyb2xNZXNzYWdlSGFuZGxlci5w
cm90b3R5cGUuYWNjZXB0V2l0aFJlc3BvbmRlciA9IGZ1bmN0aW9uKG1lc3NhZ2UsCi0gICAgICBy
ZXNwb25kZXIpIHsKLSAgICB2YWxpZGF0ZUNvbnRyb2xSZXF1ZXN0V2l0aFJlc3BvbnNlKG1lc3Nh
Z2UpOwotICAgIHJldHVybiBydW4obWVzc2FnZSwgcmVzcG9uZGVyLCB0aGlzLmludGVyZmFjZVZl
cnNpb25fKTsKLSAgfTsKLQotICBpbnRlcm5hbC5Db250cm9sTWVzc2FnZUhhbmRsZXIgPSBDb250
cm9sTWVzc2FnZUhhbmRsZXI7Ci0gIGludGVybmFsLmlzSW50ZXJmYWNlQ29udHJvbE1lc3NhZ2Ug
PSBpc0ludGVyZmFjZUNvbnRyb2xNZXNzYWdlOwotfSkoKTsKLS8vIENvcHlyaWdodCAyMDE3IFRo
ZSBDaHJvbWl1bSBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotLy8gVXNlIG9mIHRoaXMg
c291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBi
ZQotLy8gZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KLQotKGZ1bmN0aW9uKCkgewotICB2YXIg
aW50ZXJuYWwgPSBtb2pvLmludGVybmFsOwotCi0gIGZ1bmN0aW9uIGNvbnN0cnVjdFJ1bk9yQ2xv
c2VQaXBlTWVzc2FnZShydW5PckNsb3NlUGlwZUlucHV0KSB7Ci0gICAgdmFyIHJ1bk9yQ2xvc2VQ
aXBlTWVzc2FnZVBhcmFtcyA9IG5ldwotICAgICAgICBtb2pvLmludGVyZmFjZUNvbnRyb2wuUnVu
T3JDbG9zZVBpcGVNZXNzYWdlUGFyYW1zKCk7Ci0gICAgcnVuT3JDbG9zZVBpcGVNZXNzYWdlUGFy
YW1zLmlucHV0ID0gcnVuT3JDbG9zZVBpcGVJbnB1dDsKLQotICAgIHZhciBtZXNzYWdlTmFtZSA9
IG1vam8uaW50ZXJmYWNlQ29udHJvbC5rUnVuT3JDbG9zZVBpcGVNZXNzYWdlSWQ7Ci0gICAgdmFy
IHBheWxvYWRTaXplID0KLSAgICAgICAgbW9qby5pbnRlcmZhY2VDb250cm9sLlJ1bk9yQ2xvc2VQ
aXBlTWVzc2FnZVBhcmFtcy5lbmNvZGVkU2l6ZTsKLSAgICB2YXIgYnVpbGRlciA9IG5ldyBpbnRl
cm5hbC5NZXNzYWdlVjBCdWlsZGVyKG1lc3NhZ2VOYW1lLCBwYXlsb2FkU2l6ZSk7Ci0gICAgYnVp
bGRlci5lbmNvZGVTdHJ1Y3QobW9qby5pbnRlcmZhY2VDb250cm9sLlJ1bk9yQ2xvc2VQaXBlTWVz
c2FnZVBhcmFtcywKLSAgICAgICAgICAgICAgICAgICAgICAgICBydW5PckNsb3NlUGlwZU1lc3Nh
Z2VQYXJhbXMpOwotICAgIHZhciBtZXNzYWdlID0gYnVpbGRlci5maW5pc2goKTsKLSAgICByZXR1
cm4gbWVzc2FnZTsKLSAgfQotCi0gIGZ1bmN0aW9uIHZhbGlkYXRlQ29udHJvbFJlc3BvbnNlKG1l
c3NhZ2UpIHsKLSAgICB2YXIgbWVzc2FnZVZhbGlkYXRvciA9IG5ldyBpbnRlcm5hbC5WYWxpZGF0
b3IobWVzc2FnZSk7Ci0gICAgdmFyIGVycm9yID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZU1l
c3NhZ2VJc1Jlc3BvbnNlKCk7Ci0gICAgaWYgKGVycm9yICE9IGludGVybmFsLnZhbGlkYXRpb25F
cnJvci5OT05FKSB7Ci0gICAgICB0aHJvdyBlcnJvcjsKLSAgICB9Ci0KLSAgICBpZiAobWVzc2Fn
ZS5nZXROYW1lKCkgIT0gbW9qby5pbnRlcmZhY2VDb250cm9sLmtSdW5NZXNzYWdlSWQpIHsKLSAg
ICAgIHRocm93IG5ldyBFcnJvcigiQ29udHJvbCBtZXNzYWdlIG5hbWUgaXMgbm90IGtSdW5NZXNz
YWdlSWQiKTsKLSAgICB9Ci0KLSAgICAvLyBWYWxpZGF0ZSBwYXlsb2FkLgotICAgIGVycm9yID0g
bW9qby5pbnRlcmZhY2VDb250cm9sLlJ1blJlc3BvbnNlTWVzc2FnZVBhcmFtcy52YWxpZGF0ZSgK
LSAgICAgICAgbWVzc2FnZVZhbGlkYXRvciwgbWVzc2FnZS5nZXRIZWFkZXJOdW1CeXRlcygpKTsK
LSAgICBpZiAoZXJyb3IgIT0gaW50ZXJuYWwudmFsaWRhdGlvbkVycm9yLk5PTkUpIHsKLSAgICAg
IHRocm93IGVycm9yOwotICAgIH0KLSAgfQotCi0gIGZ1bmN0aW9uIGFjY2VwdFJ1blJlc3BvbnNl
KG1lc3NhZ2UpIHsKLSAgICB2YWxpZGF0ZUNvbnRyb2xSZXNwb25zZShtZXNzYWdlKTsKLQotICAg
IHZhciByZWFkZXIgPSBuZXcgaW50ZXJuYWwuTWVzc2FnZVJlYWRlcihtZXNzYWdlKTsKLSAgICB2
YXIgcnVuUmVzcG9uc2VNZXNzYWdlUGFyYW1zID0gcmVhZGVyLmRlY29kZVN0cnVjdCgKLSAgICAg
ICAgbW9qby5pbnRlcmZhY2VDb250cm9sLlJ1blJlc3BvbnNlTWVzc2FnZVBhcmFtcyk7Ci0KLSAg
ICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHJ1blJlc3BvbnNlTWVzc2FnZVBhcmFtcyk7Ci0gIH0K
LQotIC8qKgotICAqIFNlbmRzIHRoZSBnaXZlbiBydW4gbWVzc2FnZSB0aHJvdWdoIHRoZSByZWNl
aXZlci4KLSAgKiBBY2NlcHRzIHRoZSByZXNwb25zZSBtZXNzYWdlIGZyb20gdGhlIHJlY2VpdmVy
IGFuZCBkZWNvZGVzIHRoZSBtZXNzYWdlCi0gICogc3RydWN0IHRvIFJ1blJlc3BvbnNlTWVzc2Fn
ZVBhcmFtcy4KLSAgKgotICAqIEBwYXJhbSAge1JvdXRlcn0gcmVjZWl2ZXIuCi0gICogQHBhcmFt
ICB7UnVuTWVzc2FnZVBhcmFtc30gcnVuTWVzc2FnZVBhcmFtcyB0byBiZSBzZW50IHZpYSBhIG1l
c3NhZ2UuCi0gICogQHJldHVybiB7UHJvbWlzZX0gdGhhdCByZXNvbHZlcyB0byBhIFJ1blJlc3Bv
bnNlTWVzc2FnZVBhcmFtcy4KLSAgKi8KLSAgZnVuY3Rpb24gc2VuZFJ1bk1lc3NhZ2UocmVjZWl2
ZXIsIHJ1bk1lc3NhZ2VQYXJhbXMpIHsKLSAgICB2YXIgbWVzc2FnZU5hbWUgPSBtb2pvLmludGVy
ZmFjZUNvbnRyb2wua1J1bk1lc3NhZ2VJZDsKLSAgICB2YXIgcGF5bG9hZFNpemUgPSBtb2pvLmlu
dGVyZmFjZUNvbnRyb2wuUnVuTWVzc2FnZVBhcmFtcy5lbmNvZGVkU2l6ZTsKLSAgICAvLyB8cmVx
dWVzdElEfCBpcyBzZXQgdG8gMCwgYnV0IGlzIGxhdGVyIHByb3Blcmx5IHNldCBieSBSb3V0ZXIu
Ci0gICAgdmFyIGJ1aWxkZXIgPSBuZXcgaW50ZXJuYWwuTWVzc2FnZVYxQnVpbGRlcihtZXNzYWdl
TmFtZSwKLSAgICAgICAgcGF5bG9hZFNpemUsIGludGVybmFsLmtNZXNzYWdlRXhwZWN0c1Jlc3Bv
bnNlLCAwKTsKLSAgICBidWlsZGVyLmVuY29kZVN0cnVjdChtb2pvLmludGVyZmFjZUNvbnRyb2wu
UnVuTWVzc2FnZVBhcmFtcywKLSAgICAgICAgICAgICAgICAgICAgICAgICBydW5NZXNzYWdlUGFy
YW1zKTsKLSAgICB2YXIgbWVzc2FnZSA9IGJ1aWxkZXIuZmluaXNoKCk7Ci0KLSAgICByZXR1cm4g
cmVjZWl2ZXIuYWNjZXB0QW5kRXhwZWN0UmVzcG9uc2UobWVzc2FnZSkudGhlbihhY2NlcHRSdW5S
ZXNwb25zZSk7Ci0gIH0KLQotICBmdW5jdGlvbiBDb250cm9sTWVzc2FnZVByb3h5KHJlY2VpdmVy
KSB7Ci0gICAgdGhpcy5yZWNlaXZlcl8gPSByZWNlaXZlcjsKLSAgfQotCi0gIENvbnRyb2xNZXNz
YWdlUHJveHkucHJvdG90eXBlLnF1ZXJ5VmVyc2lvbiA9IGZ1bmN0aW9uKCkgewotICAgIHZhciBy
dW5NZXNzYWdlUGFyYW1zID0gbmV3IG1vam8uaW50ZXJmYWNlQ29udHJvbC5SdW5NZXNzYWdlUGFy
YW1zKCk7Ci0gICAgcnVuTWVzc2FnZVBhcmFtcy5pbnB1dCA9IG5ldyBtb2pvLmludGVyZmFjZUNv
bnRyb2wuUnVuSW5wdXQoKTsKLSAgICBydW5NZXNzYWdlUGFyYW1zLmlucHV0LnF1ZXJ5VmVyc2lv
biA9Ci0gICAgICAgIG5ldyBtb2pvLmludGVyZmFjZUNvbnRyb2wuUXVlcnlWZXJzaW9uKCk7Ci0K
LSAgICByZXR1cm4gc2VuZFJ1bk1lc3NhZ2UodGhpcy5yZWNlaXZlcl8sIHJ1bk1lc3NhZ2VQYXJh
bXMpLnRoZW4oZnVuY3Rpb24oCi0gICAgICAgIHJ1blJlc3BvbnNlTWVzc2FnZVBhcmFtcykgewot
ICAgICAgcmV0dXJuIHJ1blJlc3BvbnNlTWVzc2FnZVBhcmFtcy5vdXRwdXQucXVlcnlWZXJzaW9u
UmVzdWx0LnZlcnNpb247Ci0gICAgfSk7Ci0gIH07Ci0KLSAgQ29udHJvbE1lc3NhZ2VQcm94eS5w
cm90b3R5cGUucmVxdWlyZVZlcnNpb24gPSBmdW5jdGlvbih2ZXJzaW9uKSB7Ci0gICAgdmFyIHJ1
bk9yQ2xvc2VQaXBlSW5wdXQgPSBuZXcgbW9qby5pbnRlcmZhY2VDb250cm9sLlJ1bk9yQ2xvc2VQ
aXBlSW5wdXQoKTsKLSAgICBydW5PckNsb3NlUGlwZUlucHV0LnJlcXVpcmVWZXJzaW9uID0KLSAg
ICAgICAgbmV3IG1vam8uaW50ZXJmYWNlQ29udHJvbC5SZXF1aXJlVmVyc2lvbih7J3ZlcnNpb24n
OiB2ZXJzaW9ufSk7Ci0gICAgdmFyIG1lc3NhZ2UgPSBjb25zdHJ1Y3RSdW5PckNsb3NlUGlwZU1l
c3NhZ2UocnVuT3JDbG9zZVBpcGVJbnB1dCk7Ci0gICAgdGhpcy5yZWNlaXZlcl8uYWNjZXB0KG1l
c3NhZ2UpOwotICB9OwotCi0gIGludGVybmFsLkNvbnRyb2xNZXNzYWdlUHJveHkgPSBDb250cm9s
TWVzc2FnZVByb3h5OwotfSkoKTsKLS8vIENvcHlyaWdodCAyMDE3IFRoZSBDaHJvbWl1bSBBdXRo
b3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotLy8gVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMg
Z292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQotLy8gZm91bmQgaW4g
dGhlIExJQ0VOU0UgZmlsZS4KLQotKGZ1bmN0aW9uKCkgewotICB2YXIgaW50ZXJuYWwgPSBtb2pv
LmludGVybmFsOwotCi0gIGZ1bmN0aW9uIEludGVyZmFjZUVuZHBvaW50Q2xpZW50KGludGVyZmFj
ZUVuZHBvaW50SGFuZGxlLCByZWNlaXZlciwKLSAgICAgIGludGVyZmFjZVZlcnNpb24pIHsKLSAg
ICB0aGlzLmNvbnRyb2xsZXJfID0gbnVsbDsKLSAgICB0aGlzLmVuY291bnRlcmVkRXJyb3JfID0g
ZmFsc2U7Ci0gICAgdGhpcy5oYW5kbGVfID0gaW50ZXJmYWNlRW5kcG9pbnRIYW5kbGU7Ci0gICAg
dGhpcy5pbmNvbWluZ1JlY2VpdmVyXyA9IHJlY2VpdmVyOwotCi0gICAgaWYgKGludGVyZmFjZVZl
cnNpb24gIT09IHVuZGVmaW5lZCkgewotICAgICAgdGhpcy5jb250cm9sTWVzc2FnZUhhbmRsZXJf
ID0gbmV3IGludGVybmFsLkNvbnRyb2xNZXNzYWdlSGFuZGxlcigKLSAgICAgICAgICBpbnRlcmZh
Y2VWZXJzaW9uKTsKLSAgICB9IGVsc2UgewotICAgICAgdGhpcy5jb250cm9sTWVzc2FnZVByb3h5
XyA9IG5ldyBpbnRlcm5hbC5Db250cm9sTWVzc2FnZVByb3h5KHRoaXMpOwotICAgIH0KLQotICAg
IHRoaXMubmV4dFJlcXVlc3RJRF8gPSAwOwotICAgIHRoaXMuY29tcGxldGVyc18gPSBuZXcgTWFw
KCk7Ci0gICAgdGhpcy5wYXlsb2FkVmFsaWRhdG9yc18gPSBbXTsKLSAgICB0aGlzLmNvbm5lY3Rp
b25FcnJvckhhbmRsZXJfID0gbnVsbDsKLQotICAgIGlmIChpbnRlcmZhY2VFbmRwb2ludEhhbmRs
ZS5wZW5kaW5nQXNzb2NpYXRpb24oKSkgewotICAgICAgaW50ZXJmYWNlRW5kcG9pbnRIYW5kbGUu
c2V0QXNzb2NpYXRpb25FdmVudEhhbmRsZXIoCi0gICAgICAgICAgdGhpcy5vbkFzc29jaWF0aW9u
RXZlbnQuYmluZCh0aGlzKSk7Ci0gICAgfSBlbHNlIHsKLSAgICAgIHRoaXMuaW5pdENvbnRyb2xs
ZXJJZk5lY2Vzc2FyeV8oKTsKLSAgICB9Ci0gIH0KLQotICBJbnRlcmZhY2VFbmRwb2ludENsaWVu
dC5wcm90b3R5cGUuaW5pdENvbnRyb2xsZXJJZk5lY2Vzc2FyeV8gPSBmdW5jdGlvbigpIHsKLSAg
ICBpZiAodGhpcy5jb250cm9sbGVyXyB8fCB0aGlzLmhhbmRsZV8ucGVuZGluZ0Fzc29jaWF0aW9u
KCkpIHsKLSAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICB0aGlzLmNvbnRyb2xsZXJfID0gdGhp
cy5oYW5kbGVfLmdyb3VwQ29udHJvbGxlcigpLmF0dGFjaEVuZHBvaW50Q2xpZW50KAotICAgICAg
ICB0aGlzLmhhbmRsZV8sIHRoaXMpOwotICB9OwotCi0gIEludGVyZmFjZUVuZHBvaW50Q2xpZW50
LnByb3RvdHlwZS5vbkFzc29jaWF0aW9uRXZlbnQgPSBmdW5jdGlvbigKLSAgICAgIGFzc29jaWF0
aW9uRXZlbnQpIHsKLSAgICBpZiAoYXNzb2NpYXRpb25FdmVudCA9PT0gaW50ZXJuYWwuQXNzb2Np
YXRpb25FdmVudC5BU1NPQ0lBVEVEKSB7Ci0gICAgICB0aGlzLmluaXRDb250cm9sbGVySWZOZWNl
c3NhcnlfKCk7Ci0gICAgfSBlbHNlIGlmIChhc3NvY2lhdGlvbkV2ZW50ID09PQotICAgICAgICAg
IGludGVybmFsLkFzc29jaWF0aW9uRXZlbnQuUEVFUl9DTE9TRURfQkVGT1JFX0FTU09DSUFUSU9O
KSB7Ci0gICAgICBzZXRUaW1lb3V0KHRoaXMubm90aWZ5RXJyb3IuYmluZCh0aGlzLCB0aGlzLmhh
bmRsZV8uZGlzY29ubmVjdFJlYXNvbigpKSwKLSAgICAgICAgICAgICAgICAgMCk7Ci0gICAgfQot
ICB9OwotCi0gIEludGVyZmFjZUVuZHBvaW50Q2xpZW50LnByb3RvdHlwZS5wYXNzSGFuZGxlID0g
ZnVuY3Rpb24oKSB7Ci0gICAgaWYgKCF0aGlzLmhhbmRsZV8uaXNWYWxpZCgpKSB7Ci0gICAgICBy
ZXR1cm4gbmV3IGludGVybmFsLkludGVyZmFjZUVuZHBvaW50SGFuZGxlKCk7Ci0gICAgfQotCi0g
ICAgLy8gVXNlZCB0byBjbGVhciB0aGUgcHJldmlvdXNseSBzZXQgY2FsbGJhY2suCi0gICAgdGhp
cy5oYW5kbGVfLnNldEFzc29jaWF0aW9uRXZlbnRIYW5kbGVyKHVuZGVmaW5lZCk7Ci0KLSAgICBp
ZiAodGhpcy5jb250cm9sbGVyXykgewotICAgICAgdGhpcy5jb250cm9sbGVyXyA9IG51bGw7Ci0g
ICAgICB0aGlzLmhhbmRsZV8uZ3JvdXBDb250cm9sbGVyKCkuZGV0YWNoRW5kcG9pbnRDbGllbnQo
dGhpcy5oYW5kbGVfKTsKLSAgICB9Ci0gICAgdmFyIGhhbmRsZSA9IHRoaXMuaGFuZGxlXzsKLSAg
ICB0aGlzLmhhbmRsZV8gPSBudWxsOwotICAgIHJldHVybiBoYW5kbGU7Ci0gIH07Ci0KLSAgSW50
ZXJmYWNlRW5kcG9pbnRDbGllbnQucHJvdG90eXBlLmNsb3NlID0gZnVuY3Rpb24ocmVhc29uKSB7
Ci0gICAgdmFyIGhhbmRsZSA9IHRoaXMucGFzc0hhbmRsZSgpOwotICAgIGhhbmRsZS5yZXNldChy
ZWFzb24pOwotICB9OwotCi0gIEludGVyZmFjZUVuZHBvaW50Q2xpZW50LnByb3RvdHlwZS5hY2Nl
cHQgPSBmdW5jdGlvbihtZXNzYWdlKSB7Ci0gICAgaWYgKG1lc3NhZ2UuYXNzb2NpYXRlZEVuZHBv
aW50SGFuZGxlcy5sZW5ndGggPiAwKSB7Ci0gICAgICBtZXNzYWdlLnNlcmlhbGl6ZUFzc29jaWF0
ZWRFbmRwb2ludEhhbmRsZXMoCi0gICAgICAgICAgdGhpcy5oYW5kbGVfLmdyb3VwQ29udHJvbGxl
cigpKTsKLSAgICB9Ci0KLSAgICBpZiAodGhpcy5lbmNvdW50ZXJlZEVycm9yXykgewotICAgICAg
cmV0dXJuIGZhbHNlOwotICAgIH0KLQotICAgIHRoaXMuaW5pdENvbnRyb2xsZXJJZk5lY2Vzc2Fy
eV8oKTsKLSAgICByZXR1cm4gdGhpcy5jb250cm9sbGVyXy5zZW5kTWVzc2FnZShtZXNzYWdlKTsK
LSAgfTsKLQotICBJbnRlcmZhY2VFbmRwb2ludENsaWVudC5wcm90b3R5cGUuYWNjZXB0QW5kRXhw
ZWN0UmVzcG9uc2UgPSBmdW5jdGlvbigKLSAgICAgIG1lc3NhZ2UpIHsKLSAgICBpZiAobWVzc2Fn
ZS5hc3NvY2lhdGVkRW5kcG9pbnRIYW5kbGVzLmxlbmd0aCA+IDApIHsKLSAgICAgIG1lc3NhZ2Uu
c2VyaWFsaXplQXNzb2NpYXRlZEVuZHBvaW50SGFuZGxlcygKLSAgICAgICAgICB0aGlzLmhhbmRs
ZV8uZ3JvdXBDb250cm9sbGVyKCkpOwotICAgIH0KLQotICAgIGlmICh0aGlzLmVuY291bnRlcmVk
RXJyb3JfKSB7Ci0gICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QoKTsKLSAgICB9Ci0KLSAgICB0
aGlzLmluaXRDb250cm9sbGVySWZOZWNlc3NhcnlfKCk7Ci0KLSAgICAvLyBSZXNlcnZlIDAgaW4g
Y2FzZSB3ZSB3YW50IGl0IHRvIGNvbnZleSBzcGVjaWFsIG1lYW5pbmcgaW4gdGhlIGZ1dHVyZS4K
LSAgICB2YXIgcmVxdWVzdElEID0gdGhpcy5uZXh0UmVxdWVzdElEXysrOwotICAgIGlmIChyZXF1
ZXN0SUQgPT09IDApCi0gICAgICByZXF1ZXN0SUQgPSB0aGlzLm5leHRSZXF1ZXN0SURfKys7Ci0K
LSAgICBtZXNzYWdlLnNldFJlcXVlc3RJRChyZXF1ZXN0SUQpOwotICAgIHZhciByZXN1bHQgPSB0
aGlzLmNvbnRyb2xsZXJfLnNlbmRNZXNzYWdlKG1lc3NhZ2UpOwotICAgIGlmICghcmVzdWx0KQot
ICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KEVycm9yKCJDb25uZWN0aW9uIGVycm9yIikpOwot
Ci0gICAgdmFyIGNvbXBsZXRlciA9IHt9OwotICAgIHRoaXMuY29tcGxldGVyc18uc2V0KHJlcXVl
c3RJRCwgY29tcGxldGVyKTsKLSAgICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2
ZSwgcmVqZWN0KSB7Ci0gICAgICBjb21wbGV0ZXIucmVzb2x2ZSA9IHJlc29sdmU7Ci0gICAgICBj
b21wbGV0ZXIucmVqZWN0ID0gcmVqZWN0OwotICAgIH0pOwotICB9OwotCi0gIEludGVyZmFjZUVu
ZHBvaW50Q2xpZW50LnByb3RvdHlwZS5zZXRQYXlsb2FkVmFsaWRhdG9ycyA9IGZ1bmN0aW9uKAot
ICAgICAgcGF5bG9hZFZhbGlkYXRvcnMpIHsKLSAgICB0aGlzLnBheWxvYWRWYWxpZGF0b3JzXyA9
IHBheWxvYWRWYWxpZGF0b3JzOwotICB9OwotCi0gIEludGVyZmFjZUVuZHBvaW50Q2xpZW50LnBy
b3RvdHlwZS5zZXRJbmNvbWluZ1JlY2VpdmVyID0gZnVuY3Rpb24ocmVjZWl2ZXIpIHsKLSAgICB0
aGlzLmluY29taW5nUmVjZWl2ZXJfID0gcmVjZWl2ZXI7Ci0gIH07Ci0KLSAgSW50ZXJmYWNlRW5k
cG9pbnRDbGllbnQucHJvdG90eXBlLnNldENvbm5lY3Rpb25FcnJvckhhbmRsZXIgPSBmdW5jdGlv
bigKLSAgICAgIGhhbmRsZXIpIHsKLSAgICB0aGlzLmNvbm5lY3Rpb25FcnJvckhhbmRsZXJfID0g
aGFuZGxlcjsKLSAgfTsKLQotICBJbnRlcmZhY2VFbmRwb2ludENsaWVudC5wcm90b3R5cGUuaGFu
ZGxlSW5jb21pbmdNZXNzYWdlID0gZnVuY3Rpb24obWVzc2FnZSwKLSAgICAgIG1lc3NhZ2VWYWxp
ZGF0b3IpIHsKLSAgICB2YXIgbm9FcnJvciA9IGludGVybmFsLnZhbGlkYXRpb25FcnJvci5OT05F
OwotICAgIHZhciBlcnIgPSBub0Vycm9yOwotICAgIGZvciAodmFyIGkgPSAwOyBlcnIgPT09IG5v
RXJyb3IgJiYgaSA8IHRoaXMucGF5bG9hZFZhbGlkYXRvcnNfLmxlbmd0aDsgKytpKQotICAgICAg
ZXJyID0gdGhpcy5wYXlsb2FkVmFsaWRhdG9yc19baV0obWVzc2FnZVZhbGlkYXRvcik7Ci0KLSAg
ICBpZiAoZXJyID09IG5vRXJyb3IpIHsKLSAgICAgIHJldHVybiB0aGlzLmhhbmRsZVZhbGlkSW5j
b21pbmdNZXNzYWdlXyhtZXNzYWdlKTsKLSAgICB9IGVsc2UgewotICAgICAgaW50ZXJuYWwucmVw
b3J0VmFsaWRhdGlvbkVycm9yKGVycik7Ci0gICAgICByZXR1cm4gZmFsc2U7Ci0gICAgfQotICB9
OwotCi0gIEludGVyZmFjZUVuZHBvaW50Q2xpZW50LnByb3RvdHlwZS5oYW5kbGVWYWxpZEluY29t
aW5nTWVzc2FnZV8gPSBmdW5jdGlvbigKLSAgICAgIG1lc3NhZ2UpIHsKLSAgICBpZiAoaW50ZXJu
YWwuaXNUZXN0aW5nTW9kZSgpKSB7Ci0gICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9Ci0KLSAgICBp
ZiAodGhpcy5lbmNvdW50ZXJlZEVycm9yXykgewotICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0K
LQotICAgIHZhciBvayA9IGZhbHNlOwotCi0gICAgaWYgKG1lc3NhZ2UuZXhwZWN0c1Jlc3BvbnNl
KCkpIHsKLSAgICAgIGlmIChpbnRlcm5hbC5pc0ludGVyZmFjZUNvbnRyb2xNZXNzYWdlKG1lc3Nh
Z2UpICYmCi0gICAgICAgICAgdGhpcy5jb250cm9sTWVzc2FnZUhhbmRsZXJfKSB7Ci0gICAgICAg
IG9rID0gdGhpcy5jb250cm9sTWVzc2FnZUhhbmRsZXJfLmFjY2VwdFdpdGhSZXNwb25kZXIobWVz
c2FnZSwgdGhpcyk7Ci0gICAgICB9IGVsc2UgaWYgKHRoaXMuaW5jb21pbmdSZWNlaXZlcl8pIHsK
LSAgICAgICAgb2sgPSB0aGlzLmluY29taW5nUmVjZWl2ZXJfLmFjY2VwdFdpdGhSZXNwb25kZXIo
bWVzc2FnZSwgdGhpcyk7Ci0gICAgICB9Ci0gICAgfSBlbHNlIGlmIChtZXNzYWdlLmlzUmVzcG9u
c2UoKSkgewotICAgICAgdmFyIHJlYWRlciA9IG5ldyBpbnRlcm5hbC5NZXNzYWdlUmVhZGVyKG1l
c3NhZ2UpOwotICAgICAgdmFyIHJlcXVlc3RJRCA9IHJlYWRlci5yZXF1ZXN0SUQ7Ci0gICAgICB2
YXIgY29tcGxldGVyID0gdGhpcy5jb21wbGV0ZXJzXy5nZXQocmVxdWVzdElEKTsKLSAgICAgIGlm
IChjb21wbGV0ZXIpIHsKLSAgICAgICAgdGhpcy5jb21wbGV0ZXJzXy5kZWxldGUocmVxdWVzdElE
KTsKLSAgICAgICAgY29tcGxldGVyLnJlc29sdmUobWVzc2FnZSk7Ci0gICAgICAgIG9rID0gdHJ1
ZTsKLSAgICAgIH0gZWxzZSB7Ci0gICAgICAgIGNvbnNvbGUubG9nKCJVbmV4cGVjdGVkIHJlc3Bv
bnNlIHdpdGggcmVxdWVzdCBJRDogIiArIHJlcXVlc3RJRCk7Ci0gICAgICB9Ci0gICAgfSBlbHNl
IHsKLSAgICAgIGlmIChpbnRlcm5hbC5pc0ludGVyZmFjZUNvbnRyb2xNZXNzYWdlKG1lc3NhZ2Up
ICYmCi0gICAgICAgICAgdGhpcy5jb250cm9sTWVzc2FnZUhhbmRsZXJfKSB7Ci0gICAgICAgIG9r
ID0gdGhpcy5jb250cm9sTWVzc2FnZUhhbmRsZXJfLmFjY2VwdChtZXNzYWdlKTsKLSAgICAgIH0g
ZWxzZSBpZiAodGhpcy5pbmNvbWluZ1JlY2VpdmVyXykgewotICAgICAgICBvayA9IHRoaXMuaW5j
b21pbmdSZWNlaXZlcl8uYWNjZXB0KG1lc3NhZ2UpOwotICAgICAgfQotICAgIH0KLSAgICByZXR1
cm4gb2s7Ci0gIH07Ci0KLSAgSW50ZXJmYWNlRW5kcG9pbnRDbGllbnQucHJvdG90eXBlLm5vdGlm
eUVycm9yID0gZnVuY3Rpb24ocmVhc29uKSB7Ci0gICAgaWYgKHRoaXMuZW5jb3VudGVyZWRFcnJv
cl8pIHsKLSAgICAgIHJldHVybjsKLSAgICB9Ci0gICAgdGhpcy5lbmNvdW50ZXJlZEVycm9yXyA9
IHRydWU7Ci0KLSAgICB0aGlzLmNvbXBsZXRlcnNfLmZvckVhY2goZnVuY3Rpb24odmFsdWUpIHsK
LSAgICAgIHZhbHVlLnJlamVjdCgpOwotICAgIH0pOwotICAgIHRoaXMuY29tcGxldGVyc18uY2xl
YXIoKTsgIC8vIERyb3AgYW55IHJlc3BvbmRlcnMuCi0KLSAgICBpZiAodGhpcy5jb25uZWN0aW9u
RXJyb3JIYW5kbGVyXykgewotICAgICAgdGhpcy5jb25uZWN0aW9uRXJyb3JIYW5kbGVyXyhyZWFz
b24pOwotICAgIH0KLSAgfTsKLQotICBJbnRlcmZhY2VFbmRwb2ludENsaWVudC5wcm90b3R5cGUu
cXVlcnlWZXJzaW9uID0gZnVuY3Rpb24oKSB7Ci0gICAgcmV0dXJuIHRoaXMuY29udHJvbE1lc3Nh
Z2VQcm94eV8ucXVlcnlWZXJzaW9uKCk7Ci0gIH07Ci0KLSAgSW50ZXJmYWNlRW5kcG9pbnRDbGll
bnQucHJvdG90eXBlLnJlcXVpcmVWZXJzaW9uID0gZnVuY3Rpb24odmVyc2lvbikgewotICAgIHRo
aXMuY29udHJvbE1lc3NhZ2VQcm94eV8ucmVxdWlyZVZlcnNpb24odmVyc2lvbik7Ci0gIH07Ci0K
LSAgSW50ZXJmYWNlRW5kcG9pbnRDbGllbnQucHJvdG90eXBlLmdldEVuY291bnRlcmVkRXJyb3Ig
PSBmdW5jdGlvbigpIHsKLSAgICByZXR1cm4gdGhpcy5lbmNvdW50ZXJlZEVycm9yXzsKLSAgfTsK
LQotICBpbnRlcm5hbC5JbnRlcmZhY2VFbmRwb2ludENsaWVudCA9IEludGVyZmFjZUVuZHBvaW50
Q2xpZW50OwotfSkoKTsKLS8vIENvcHlyaWdodCAyMDE3IFRoZSBDaHJvbWl1bSBBdXRob3JzLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgotLy8gVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJu
ZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQotLy8gZm91bmQgaW4gdGhlIExJ
Q0VOU0UgZmlsZS4KLQotKGZ1bmN0aW9uKCkgewotICB2YXIgaW50ZXJuYWwgPSBtb2pvLmludGVy
bmFsOwotCi0gIHZhciBBc3NvY2lhdGlvbkV2ZW50ID0gewotICAgIC8vIFRoZSBpbnRlcmZhY2Ug
aGFzIGJlZW4gYXNzb2NpYXRlZCB3aXRoIGEgbWVzc2FnZSBwaXBlLgotICAgIEFTU09DSUFURUQ6
ICdhc3NvY2lhdGVkJywKLSAgICAvLyBUaGUgcGVlciBvZiB0aGlzIG9iamVjdCBoYXMgYmVlbiBj
bG9zZWQgYmVmb3JlIGFzc29jaWF0aW9uLgotICAgIFBFRVJfQ0xPU0VEX0JFRk9SRV9BU1NPQ0lB
VElPTjogJ3BlZXJfY2xvc2VkX2JlZm9yZV9hc3NvY2lhdGlvbicKLSAgfTsKLQotICBmdW5jdGlv
biBTdGF0ZShpbnRlcmZhY2VJZCwgYXNzb2NpYXRlZEdyb3VwQ29udHJvbGxlcikgewotICAgIGlm
IChpbnRlcmZhY2VJZCA9PT0gdW5kZWZpbmVkKSB7Ci0gICAgICBpbnRlcmZhY2VJZCA9IGludGVy
bmFsLmtJbnZhbGlkSW50ZXJmYWNlSWQ7Ci0gICAgfQotCi0gICAgdGhpcy5pbnRlcmZhY2VJZCA9
IGludGVyZmFjZUlkOwotICAgIHRoaXMuYXNzb2NpYXRlZEdyb3VwQ29udHJvbGxlciA9IGFzc29j
aWF0ZWRHcm91cENvbnRyb2xsZXI7Ci0gICAgdGhpcy5wZW5kaW5nQXNzb2NpYXRpb24gPSBmYWxz
ZTsKLSAgICB0aGlzLmRpc2Nvbm5lY3RSZWFzb24gPSBudWxsOwotICAgIHRoaXMucGVlclN0YXRl
XyA9IG51bGw7Ci0gICAgdGhpcy5hc3NvY2lhdGlvbkV2ZW50SGFuZGxlcl8gPSBudWxsOwotICB9
Ci0KLSAgU3RhdGUucHJvdG90eXBlLmluaXRQZW5kaW5nU3RhdGUgPSBmdW5jdGlvbihwZWVyKSB7
Ci0gICAgdGhpcy5wZW5kaW5nQXNzb2NpYXRpb24gPSB0cnVlOwotICAgIHRoaXMucGVlclN0YXRl
XyA9IHBlZXI7Ci0gIH07Ci0KLSAgU3RhdGUucHJvdG90eXBlLmlzVmFsaWQgPSBmdW5jdGlvbigp
IHsKLSAgICByZXR1cm4gdGhpcy5wZW5kaW5nQXNzb2NpYXRpb24gfHwKLSAgICAgICAgaW50ZXJu
YWwuaXNWYWxpZEludGVyZmFjZUlkKHRoaXMuaW50ZXJmYWNlSWQpOwotICB9OwotCi0gIFN0YXRl
LnByb3RvdHlwZS5jbG9zZSA9IGZ1bmN0aW9uKGRpc2Nvbm5lY3RSZWFzb24pIHsKLSAgICB2YXIg
Y2FjaGVkR3JvdXBDb250cm9sbGVyOwotICAgIHZhciBjYWNoZWRQZWVyU3RhdGU7Ci0gICAgdmFy
IGNhY2hlZElkID0gaW50ZXJuYWwua0ludmFsaWRJbnRlcmZhY2VJZDsKLQotICAgIGlmICghdGhp
cy5wZW5kaW5nQXNzb2NpYXRpb24pIHsKLSAgICAgIGlmIChpbnRlcm5hbC5pc1ZhbGlkSW50ZXJm
YWNlSWQodGhpcy5pbnRlcmZhY2VJZCkpIHsKLSAgICAgICAgY2FjaGVkR3JvdXBDb250cm9sbGVy
ID0gdGhpcy5hc3NvY2lhdGVkR3JvdXBDb250cm9sbGVyOwotICAgICAgICB0aGlzLmFzc29jaWF0
ZWRHcm91cENvbnRyb2xsZXIgPSBudWxsOwotICAgICAgICBjYWNoZWRJZCA9IHRoaXMuaW50ZXJm
YWNlSWQ7Ci0gICAgICAgIHRoaXMuaW50ZXJmYWNlSWQgPSBpbnRlcm5hbC5rSW52YWxpZEludGVy
ZmFjZUlkOwotICAgICAgfQotICAgIH0gZWxzZSB7Ci0gICAgICB0aGlzLnBlbmRpbmdBc3NvY2lh
dGlvbiA9IGZhbHNlOwotICAgICAgY2FjaGVkUGVlclN0YXRlID0gdGhpcy5wZWVyU3RhdGVfOwot
ICAgICAgdGhpcy5wZWVyU3RhdGVfID0gbnVsbDsKLSAgICB9Ci0KLSAgICBpZiAoY2FjaGVkR3Jv
dXBDb250cm9sbGVyKSB7Ci0gICAgICBjYWNoZWRHcm91cENvbnRyb2xsZXIuY2xvc2VFbmRwb2lu
dEhhbmRsZShjYWNoZWRJZCwKLSAgICAgICAgICBkaXNjb25uZWN0UmVhc29uKTsKLSAgICB9IGVs
c2UgaWYgKGNhY2hlZFBlZXJTdGF0ZSkgewotICAgICAgY2FjaGVkUGVlclN0YXRlLm9uUGVlckNs
b3NlZEJlZm9yZUFzc29jaWF0aW9uKGRpc2Nvbm5lY3RSZWFzb24pOwotICAgIH0KLSAgfTsKLQot
ICBTdGF0ZS5wcm90b3R5cGUucnVuQXNzb2NpYXRpb25FdmVudEhhbmRsZXIgPSBmdW5jdGlvbihh
c3NvY2lhdGlvbkV2ZW50KSB7Ci0gICAgaWYgKHRoaXMuYXNzb2NpYXRpb25FdmVudEhhbmRsZXJf
KSB7Ci0gICAgICB2YXIgaGFuZGxlciA9IHRoaXMuYXNzb2NpYXRpb25FdmVudEhhbmRsZXJfOwot
ICAgICAgdGhpcy5hc3NvY2lhdGlvbkV2ZW50SGFuZGxlcl8gPSBudWxsOwotICAgICAgaGFuZGxl
cihhc3NvY2lhdGlvbkV2ZW50KTsKLSAgICB9Ci0gIH07Ci0KLSAgU3RhdGUucHJvdG90eXBlLnNl
dEFzc29jaWF0aW9uRXZlbnRIYW5kbGVyID0gZnVuY3Rpb24oaGFuZGxlcikgewotICAgIGlmICgh
dGhpcy5wZW5kaW5nQXNzb2NpYXRpb24gJiYKLSAgICAgICAgIWludGVybmFsLmlzVmFsaWRJbnRl
cmZhY2VJZCh0aGlzLmludGVyZmFjZUlkKSkgewotICAgICAgcmV0dXJuOwotICAgIH0KLQotICAg
IGlmICghaGFuZGxlcikgewotICAgICAgdGhpcy5hc3NvY2lhdGlvbkV2ZW50SGFuZGxlcl8gPSBu
dWxsOwotICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIHRoaXMuYXNzb2NpYXRpb25FdmVudEhh
bmRsZXJfID0gaGFuZGxlcjsKLSAgICBpZiAoIXRoaXMucGVuZGluZ0Fzc29jaWF0aW9uKSB7Ci0g
ICAgICBzZXRUaW1lb3V0KHRoaXMucnVuQXNzb2NpYXRpb25FdmVudEhhbmRsZXIuYmluZCh0aGlz
LAotICAgICAgICAgIEFzc29jaWF0aW9uRXZlbnQuQVNTT0NJQVRFRCksIDApOwotICAgIH0gZWxz
ZSBpZiAoIXRoaXMucGVlclN0YXRlXykgewotICAgICAgc2V0VGltZW91dCh0aGlzLnJ1bkFzc29j
aWF0aW9uRXZlbnRIYW5kbGVyLmJpbmQodGhpcywKLSAgICAgICAgICBBc3NvY2lhdGlvbkV2ZW50
LlBFRVJfQ0xPU0VEX0JFRk9SRV9BU1NPQ0lBVElPTiksIDApOwotICAgIH0KLSAgfTsKLQotICBT
dGF0ZS5wcm90b3R5cGUubm90aWZ5QXNzb2NpYXRpb24gPSBmdW5jdGlvbihpbnRlcmZhY2VJZCwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGVlckdyb3Vw
Q29udHJvbGxlcikgewotICAgIHZhciBjYWNoZWRQZWVyU3RhdGUgPSB0aGlzLnBlZXJTdGF0ZV87
Ci0gICAgdGhpcy5wZWVyU3RhdGVfID0gbnVsbDsKLQotICAgIHRoaXMucGVuZGluZ0Fzc29jaWF0
aW9uID0gZmFsc2U7Ci0KLSAgICBpZiAoY2FjaGVkUGVlclN0YXRlKSB7Ci0gICAgICBjYWNoZWRQ
ZWVyU3RhdGUub25Bc3NvY2lhdGVkKGludGVyZmFjZUlkLCBwZWVyR3JvdXBDb250cm9sbGVyKTsK
LSAgICAgIHJldHVybiB0cnVlOwotICAgIH0KLSAgICByZXR1cm4gZmFsc2U7Ci0gIH07Ci0KLSAg
U3RhdGUucHJvdG90eXBlLm9uQXNzb2NpYXRlZCA9IGZ1bmN0aW9uKGludGVyZmFjZUlkLAotICAg
ICAgYXNzb2NpYXRlZEdyb3VwQ29udHJvbGxlcikgewotICAgIGlmICghdGhpcy5wZW5kaW5nQXNz
b2NpYXRpb24pIHsKLSAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICB0aGlzLnBlbmRpbmdBc3Nv
Y2lhdGlvbiA9IGZhbHNlOwotICAgIHRoaXMucGVlclN0YXRlXyA9IG51bGw7Ci0gICAgdGhpcy5p
bnRlcmZhY2VJZCA9IGludGVyZmFjZUlkOwotICAgIHRoaXMuYXNzb2NpYXRlZEdyb3VwQ29udHJv
bGxlciA9IGFzc29jaWF0ZWRHcm91cENvbnRyb2xsZXI7Ci0gICAgdGhpcy5ydW5Bc3NvY2lhdGlv
bkV2ZW50SGFuZGxlcihBc3NvY2lhdGlvbkV2ZW50LkFTU09DSUFURUQpOwotICB9OwotCi0gIFN0
YXRlLnByb3RvdHlwZS5vblBlZXJDbG9zZWRCZWZvcmVBc3NvY2lhdGlvbiA9IGZ1bmN0aW9uKGRp
c2Nvbm5lY3RSZWFzb24pIHsKLSAgICBpZiAoIXRoaXMucGVuZGluZ0Fzc29jaWF0aW9uKSB7Ci0g
ICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgdGhpcy5wZWVyU3RhdGVfID0gbnVsbDsKLSAgICB0
aGlzLmRpc2Nvbm5lY3RSZWFzb24gPSBkaXNjb25uZWN0UmVhc29uOwotCi0gICAgdGhpcy5ydW5B
c3NvY2lhdGlvbkV2ZW50SGFuZGxlcigKLSAgICAgICAgQXNzb2NpYXRpb25FdmVudC5QRUVSX0NM
T1NFRF9CRUZPUkVfQVNTT0NJQVRJT04pOwotICB9OwotCi0gIGZ1bmN0aW9uIGNyZWF0ZVBhaXJQ
ZW5kaW5nQXNzb2NpYXRpb24oKSB7Ci0gICAgdmFyIGhhbmRsZTAgPSBuZXcgSW50ZXJmYWNlRW5k
cG9pbnRIYW5kbGUoKTsKLSAgICB2YXIgaGFuZGxlMSA9IG5ldyBJbnRlcmZhY2VFbmRwb2ludEhh
bmRsZSgpOwotICAgIGhhbmRsZTAuc3RhdGVfLmluaXRQZW5kaW5nU3RhdGUoaGFuZGxlMS5zdGF0
ZV8pOwotICAgIGhhbmRsZTEuc3RhdGVfLmluaXRQZW5kaW5nU3RhdGUoaGFuZGxlMC5zdGF0ZV8p
OwotICAgIHJldHVybiB7aGFuZGxlMDogaGFuZGxlMCwgaGFuZGxlMTogaGFuZGxlMX07Ci0gIH0K
LQotICBmdW5jdGlvbiBJbnRlcmZhY2VFbmRwb2ludEhhbmRsZShpbnRlcmZhY2VJZCwgYXNzb2Np
YXRlZEdyb3VwQ29udHJvbGxlcikgewotICAgIHRoaXMuc3RhdGVfID0gbmV3IFN0YXRlKGludGVy
ZmFjZUlkLCBhc3NvY2lhdGVkR3JvdXBDb250cm9sbGVyKTsKLSAgfQotCi0gIEludGVyZmFjZUVu
ZHBvaW50SGFuZGxlLnByb3RvdHlwZS5pc1ZhbGlkID0gZnVuY3Rpb24oKSB7Ci0gICAgcmV0dXJu
IHRoaXMuc3RhdGVfLmlzVmFsaWQoKTsKLSAgfTsKLQotICBJbnRlcmZhY2VFbmRwb2ludEhhbmRs
ZS5wcm90b3R5cGUucGVuZGluZ0Fzc29jaWF0aW9uID0gZnVuY3Rpb24oKSB7Ci0gICAgcmV0dXJu
IHRoaXMuc3RhdGVfLnBlbmRpbmdBc3NvY2lhdGlvbjsKLSAgfTsKLQotICBJbnRlcmZhY2VFbmRw
b2ludEhhbmRsZS5wcm90b3R5cGUuaWQgPSBmdW5jdGlvbigpIHsKLSAgICByZXR1cm4gdGhpcy5z
dGF0ZV8uaW50ZXJmYWNlSWQ7Ci0gIH07Ci0KLSAgSW50ZXJmYWNlRW5kcG9pbnRIYW5kbGUucHJv
dG90eXBlLmdyb3VwQ29udHJvbGxlciA9IGZ1bmN0aW9uKCkgewotICAgIHJldHVybiB0aGlzLnN0
YXRlXy5hc3NvY2lhdGVkR3JvdXBDb250cm9sbGVyOwotICB9OwotCi0gIEludGVyZmFjZUVuZHBv
aW50SGFuZGxlLnByb3RvdHlwZS5kaXNjb25uZWN0UmVhc29uID0gZnVuY3Rpb24oKSB7Ci0gICAg
cmV0dXJuIHRoaXMuc3RhdGVfLmRpc2Nvbm5lY3RSZWFzb247Ci0gIH07Ci0KLSAgSW50ZXJmYWNl
RW5kcG9pbnRIYW5kbGUucHJvdG90eXBlLnNldEFzc29jaWF0aW9uRXZlbnRIYW5kbGVyID0gZnVu
Y3Rpb24oCi0gICAgICBoYW5kbGVyKSB7Ci0gICAgdGhpcy5zdGF0ZV8uc2V0QXNzb2NpYXRpb25F
dmVudEhhbmRsZXIoaGFuZGxlcik7Ci0gIH07Ci0KLSAgSW50ZXJmYWNlRW5kcG9pbnRIYW5kbGUu
cHJvdG90eXBlLm5vdGlmeUFzc29jaWF0aW9uID0gZnVuY3Rpb24oaW50ZXJmYWNlSWQsCi0gICAg
ICBwZWVyR3JvdXBDb250cm9sbGVyKSB7Ci0gICAgcmV0dXJuIHRoaXMuc3RhdGVfLm5vdGlmeUFz
c29jaWF0aW9uKGludGVyZmFjZUlkLCBwZWVyR3JvdXBDb250cm9sbGVyKTsKLSAgfTsKLQotICBJ
bnRlcmZhY2VFbmRwb2ludEhhbmRsZS5wcm90b3R5cGUucmVzZXQgPSBmdW5jdGlvbihyZWFzb24p
IHsKLSAgICB0aGlzLnN0YXRlXy5jbG9zZShyZWFzb24pOwotICAgIHRoaXMuc3RhdGVfID0gbmV3
IFN0YXRlKCk7Ci0gIH07Ci0KLSAgaW50ZXJuYWwuQXNzb2NpYXRpb25FdmVudCA9IEFzc29jaWF0
aW9uRXZlbnQ7Ci0gIGludGVybmFsLkludGVyZmFjZUVuZHBvaW50SGFuZGxlID0gSW50ZXJmYWNl
RW5kcG9pbnRIYW5kbGU7Ci0gIGludGVybmFsLmNyZWF0ZVBhaXJQZW5kaW5nQXNzb2NpYXRpb24g
PSBjcmVhdGVQYWlyUGVuZGluZ0Fzc29jaWF0aW9uOwotfSkoKTsKLS8vIENvcHlyaWdodCAyMDE3
IFRoZSBDaHJvbWl1bSBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotLy8gVXNlIG9mIHRo
aXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZSB0aGF0IGNh
biBiZQotLy8gZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KLQotKGZ1bmN0aW9uKCkgewotICB2
YXIgaW50ZXJuYWwgPSBtb2pvLmludGVybmFsOwotCi0gIGZ1bmN0aW9uIHZhbGlkYXRlQ29udHJv
bFJlcXVlc3RXaXRob3V0UmVzcG9uc2UobWVzc2FnZSkgewotICAgIHZhciBtZXNzYWdlVmFsaWRh
dG9yID0gbmV3IGludGVybmFsLlZhbGlkYXRvcihtZXNzYWdlKTsKLSAgICB2YXIgZXJyb3IgPSBt
ZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlTWVzc2FnZUlzUmVxdWVzdFdpdGhvdXRSZXNwb25zZSgp
OwotICAgIGlmIChlcnJvciAhPSBpbnRlcm5hbC52YWxpZGF0aW9uRXJyb3IuTk9ORSkgewotICAg
ICAgdGhyb3cgZXJyb3I7Ci0gICAgfQotCi0gICAgaWYgKG1lc3NhZ2UuZ2V0TmFtZSgpICE9IG1v
am8ucGlwZUNvbnRyb2wua1J1bk9yQ2xvc2VQaXBlTWVzc2FnZUlkKSB7Ci0gICAgICB0aHJvdyBu
ZXcgRXJyb3IoIkNvbnRyb2wgbWVzc2FnZSBuYW1lIGlzIG5vdCBrUnVuT3JDbG9zZVBpcGVNZXNz
YWdlSWQiKTsKLSAgICB9Ci0KLSAgICAvLyBWYWxpZGF0ZSBwYXlsb2FkLgotICAgIGVycm9yID0g
bW9qby5waXBlQ29udHJvbC5SdW5PckNsb3NlUGlwZU1lc3NhZ2VQYXJhbXMudmFsaWRhdGUoCi0g
ICAgICAgIG1lc3NhZ2VWYWxpZGF0b3IsIG1lc3NhZ2UuZ2V0SGVhZGVyTnVtQnl0ZXMoKSk7Ci0g
ICAgaWYgKGVycm9yICE9IGludGVybmFsLnZhbGlkYXRpb25FcnJvci5OT05FKSB7Ci0gICAgICB0
aHJvdyBlcnJvcjsKLSAgICB9Ci0gIH0KLQotICBmdW5jdGlvbiBydW5PckNsb3NlUGlwZShtZXNz
YWdlLCBkZWxlZ2F0ZSkgewotICAgIHZhciByZWFkZXIgPSBuZXcgaW50ZXJuYWwuTWVzc2FnZVJl
YWRlcihtZXNzYWdlKTsKLSAgICB2YXIgcnVuT3JDbG9zZVBpcGVNZXNzYWdlUGFyYW1zID0gcmVh
ZGVyLmRlY29kZVN0cnVjdCgKLSAgICAgICAgbW9qby5waXBlQ29udHJvbC5SdW5PckNsb3NlUGlw
ZU1lc3NhZ2VQYXJhbXMpOwotICAgIHZhciBldmVudCA9IHJ1bk9yQ2xvc2VQaXBlTWVzc2FnZVBh
cmFtcy5pbnB1dAotICAgICAgICAucGVlckFzc29jaWF0ZWRFbmRwb2ludENsb3NlZEV2ZW50Owot
ICAgIHJldHVybiBkZWxlZ2F0ZS5vblBlZXJBc3NvY2lhdGVkRW5kcG9pbnRDbG9zZWQoZXZlbnQu
aWQsCi0gICAgICAgIGV2ZW50LmRpc2Nvbm5lY3RSZWFzb24pOwotICB9Ci0KLSAgZnVuY3Rpb24g
aXNQaXBlQ29udHJvbE1lc3NhZ2UobWVzc2FnZSkgewotICAgIHJldHVybiAhaW50ZXJuYWwuaXNW
YWxpZEludGVyZmFjZUlkKG1lc3NhZ2UuZ2V0SW50ZXJmYWNlSWQoKSk7Ci0gIH0KLQotICBmdW5j
dGlvbiBQaXBlQ29udHJvbE1lc3NhZ2VIYW5kbGVyKGRlbGVnYXRlKSB7Ci0gICAgdGhpcy5kZWxl
Z2F0ZV8gPSBkZWxlZ2F0ZTsKLSAgfQotCi0gIFBpcGVDb250cm9sTWVzc2FnZUhhbmRsZXIucHJv
dG90eXBlLmFjY2VwdCA9IGZ1bmN0aW9uKG1lc3NhZ2UpIHsKLSAgICB2YWxpZGF0ZUNvbnRyb2xS
ZXF1ZXN0V2l0aG91dFJlc3BvbnNlKG1lc3NhZ2UpOwotICAgIHJldHVybiBydW5PckNsb3NlUGlw
ZShtZXNzYWdlLCB0aGlzLmRlbGVnYXRlXyk7Ci0gIH07Ci0KLSAgaW50ZXJuYWwuUGlwZUNvbnRy
b2xNZXNzYWdlSGFuZGxlciA9IFBpcGVDb250cm9sTWVzc2FnZUhhbmRsZXI7Ci0gIGludGVybmFs
LmlzUGlwZUNvbnRyb2xNZXNzYWdlID0gaXNQaXBlQ29udHJvbE1lc3NhZ2U7Ci19KSgpOwotLy8g
Q29weXJpZ2h0IDIwMTcgVGhlIENocm9taXVtIEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
Ci0vLyBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBs
aWNlbnNlIHRoYXQgY2FuIGJlCi0vLyBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgotCi0oZnVu
Y3Rpb24oKSB7Ci0gIHZhciBpbnRlcm5hbCA9IG1vam8uaW50ZXJuYWw7Ci0KLSAgZnVuY3Rpb24g
Y29uc3RydWN0UnVuT3JDbG9zZVBpcGVNZXNzYWdlKHJ1bk9yQ2xvc2VQaXBlSW5wdXQpIHsKLSAg
ICB2YXIgcnVuT3JDbG9zZVBpcGVNZXNzYWdlUGFyYW1zID0gbmV3Ci0gICAgICAgIG1vam8ucGlw
ZUNvbnRyb2wuUnVuT3JDbG9zZVBpcGVNZXNzYWdlUGFyYW1zKCk7Ci0gICAgcnVuT3JDbG9zZVBp
cGVNZXNzYWdlUGFyYW1zLmlucHV0ID0gcnVuT3JDbG9zZVBpcGVJbnB1dDsKLQotICAgIHZhciBt
ZXNzYWdlTmFtZSA9IG1vam8ucGlwZUNvbnRyb2wua1J1bk9yQ2xvc2VQaXBlTWVzc2FnZUlkOwot
ICAgIHZhciBwYXlsb2FkU2l6ZSA9Ci0gICAgICAgIG1vam8ucGlwZUNvbnRyb2wuUnVuT3JDbG9z
ZVBpcGVNZXNzYWdlUGFyYW1zLmVuY29kZWRTaXplOwotCi0gICAgdmFyIGJ1aWxkZXIgPSBuZXcg
aW50ZXJuYWwuTWVzc2FnZVYwQnVpbGRlcihtZXNzYWdlTmFtZSwgcGF5bG9hZFNpemUpOwotICAg
IGJ1aWxkZXIuZW5jb2RlU3RydWN0KG1vam8ucGlwZUNvbnRyb2wuUnVuT3JDbG9zZVBpcGVNZXNz
YWdlUGFyYW1zLAotICAgICAgICAgICAgICAgICAgICAgICAgIHJ1bk9yQ2xvc2VQaXBlTWVzc2Fn
ZVBhcmFtcyk7Ci0gICAgdmFyIG1lc3NhZ2UgPSBidWlsZGVyLmZpbmlzaCgpOwotICAgIG1lc3Nh
Z2Uuc2V0SW50ZXJmYWNlSWQoaW50ZXJuYWwua0ludmFsaWRJbnRlcmZhY2VJZCk7Ci0gICAgcmV0
dXJuIG1lc3NhZ2U7Ci0gIH0KLQotICBmdW5jdGlvbiBQaXBlQ29udHJvbE1lc3NhZ2VQcm94eShy
ZWNlaXZlcikgewotICAgIHRoaXMucmVjZWl2ZXJfID0gcmVjZWl2ZXI7Ci0gIH0KLQotICBQaXBl
Q29udHJvbE1lc3NhZ2VQcm94eS5wcm90b3R5cGUubm90aWZ5UGVlckVuZHBvaW50Q2xvc2VkID0g
ZnVuY3Rpb24oCi0gICAgICBpbnRlcmZhY2VJZCwgcmVhc29uKSB7Ci0gICAgdmFyIG1lc3NhZ2Ug
PSB0aGlzLmNvbnN0cnVjdFBlZXJFbmRwb2ludENsb3NlZE1lc3NhZ2UoaW50ZXJmYWNlSWQsIHJl
YXNvbik7Ci0gICAgdGhpcy5yZWNlaXZlcl8uYWNjZXB0KG1lc3NhZ2UpOwotICB9OwotCi0gIFBp
cGVDb250cm9sTWVzc2FnZVByb3h5LnByb3RvdHlwZS5jb25zdHJ1Y3RQZWVyRW5kcG9pbnRDbG9z
ZWRNZXNzYWdlID0KLSAgICAgIGZ1bmN0aW9uKGludGVyZmFjZUlkLCByZWFzb24pIHsKLSAgICB2
YXIgZXZlbnQgPSBuZXcgbW9qby5waXBlQ29udHJvbC5QZWVyQXNzb2NpYXRlZEVuZHBvaW50Q2xv
c2VkRXZlbnQoKTsKLSAgICBldmVudC5pZCA9IGludGVyZmFjZUlkOwotICAgIGlmIChyZWFzb24p
IHsKLSAgICAgIGV2ZW50LmRpc2Nvbm5lY3RSZWFzb24gPSBuZXcgbW9qby5waXBlQ29udHJvbC5E
aXNjb25uZWN0UmVhc29uKHsKLSAgICAgICAgICBjdXN0b21SZWFzb246IHJlYXNvbi5jdXN0b21S
ZWFzb24sCi0gICAgICAgICAgZGVzY3JpcHRpb246IHJlYXNvbi5kZXNjcmlwdGlvbn0pOwotICAg
IH0KLSAgICB2YXIgcnVuT3JDbG9zZVBpcGVJbnB1dCA9IG5ldyBtb2pvLnBpcGVDb250cm9sLlJ1
bk9yQ2xvc2VQaXBlSW5wdXQoKTsKLSAgICBydW5PckNsb3NlUGlwZUlucHV0LnBlZXJBc3NvY2lh
dGVkRW5kcG9pbnRDbG9zZWRFdmVudCA9IGV2ZW50OwotICAgIHJldHVybiBjb25zdHJ1Y3RSdW5P
ckNsb3NlUGlwZU1lc3NhZ2UocnVuT3JDbG9zZVBpcGVJbnB1dCk7Ci0gIH07Ci0KLSAgaW50ZXJu
YWwuUGlwZUNvbnRyb2xNZXNzYWdlUHJveHkgPSBQaXBlQ29udHJvbE1lc3NhZ2VQcm94eTsKLX0p
KCk7Ci0vLyBDb3B5cmlnaHQgMjAxNCBUaGUgQ2hyb21pdW0gQXV0aG9ycy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KLS8vIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNE
LXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKLS8vIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUu
Ci0KLShmdW5jdGlvbigpIHsKLSAgdmFyIGludGVybmFsID0gbW9qby5pbnRlcm5hbDsKLQotICAv
KioKLSAgICogVGhlIHN0YXRlIG9mIHxlbmRwb2ludHwuIElmIGJvdGggdGhlIGVuZHBvaW50IGFu
ZCBpdHMgcGVlciBoYXZlIGJlZW4KLSAgICogY2xvc2VkLCByZW1vdmVzIGl0IGZyb20gfGVuZHBv
aW50c198LgotICAgKiBAZW51bSB7c3RyaW5nfQotICAgKi8KLSAgdmFyIEVuZHBvaW50U3RhdGVV
cGRhdGVUeXBlID0gewotICAgIEVORFBPSU5UX0NMT1NFRDogJ2VuZHBvaW50X2Nsb3NlZCcsCi0g
ICAgUEVFUl9FTkRQT0lOVF9DTE9TRUQ6ICdwZWVyX2VuZHBvaW50X2Nsb3NlZCcKLSAgfTsKLQot
ICBmdW5jdGlvbiBjaGVjayhjb25kaXRpb24sIG91dHB1dCkgewotICAgIGlmICghY29uZGl0aW9u
KSB7Ci0gICAgICAvLyB0ZXN0aGFybmVzcy5qcyBkb2VzIG5vdCByZXRocm93IGVycm9ycyBzbyB0
aGUgZXJyb3Igc3RhY2sgbmVlZHMgdG8gYmUKLSAgICAgIC8vIGluY2x1ZGVkIGFzIGEgc3RyaW5n
IGluIHRoZSBlcnJvciB3ZSB0aHJvdyBmb3IgZGVidWdnaW5nIGxheW91dCB0ZXN0cy4KLSAgICAg
IHRocm93IG5ldyBFcnJvcigobmV3IEVycm9yKCkpLnN0YWNrKTsKLSAgICB9Ci0gIH0KLQotICBm
dW5jdGlvbiBJbnRlcmZhY2VFbmRwb2ludChyb3V0ZXIsIGludGVyZmFjZUlkKSB7Ci0gICAgdGhp
cy5yb3V0ZXJfID0gcm91dGVyOwotICAgIHRoaXMuaWQgPSBpbnRlcmZhY2VJZDsKLSAgICB0aGlz
LmNsb3NlZCA9IGZhbHNlOwotICAgIHRoaXMucGVlckNsb3NlZCA9IGZhbHNlOwotICAgIHRoaXMu
aGFuZGxlQ3JlYXRlZCA9IGZhbHNlOwotICAgIHRoaXMuZGlzY29ubmVjdFJlYXNvbiA9IG51bGw7
Ci0gICAgdGhpcy5jbGllbnQgPSBudWxsOwotICB9Ci0KLSAgSW50ZXJmYWNlRW5kcG9pbnQucHJv
dG90eXBlLnNlbmRNZXNzYWdlID0gZnVuY3Rpb24obWVzc2FnZSkgewotICAgIG1lc3NhZ2Uuc2V0
SW50ZXJmYWNlSWQodGhpcy5pZCk7Ci0gICAgcmV0dXJuIHRoaXMucm91dGVyXy5jb25uZWN0b3Jf
LmFjY2VwdChtZXNzYWdlKTsKLSAgfTsKLQotICBmdW5jdGlvbiBSb3V0ZXIoaGFuZGxlLCBzZXRJ
bnRlcmZhY2VJZE5hbWVzcGFjZUJpdCkgewotICAgIGlmICghKGhhbmRsZSBpbnN0YW5jZW9mIE1v
am9IYW5kbGUpKSB7Ci0gICAgICB0aHJvdyBuZXcgRXJyb3IoIlJvdXRlciBjb25zdHJ1Y3Rvcjog
Tm90IGEgaGFuZGxlIik7Ci0gICAgfQotICAgIGlmIChzZXRJbnRlcmZhY2VJZE5hbWVzcGFjZUJp
dCA9PT0gdW5kZWZpbmVkKSB7Ci0gICAgICBzZXRJbnRlcmZhY2VJZE5hbWVzcGFjZUJpdCA9IGZh
bHNlOwotICAgIH0KLQotICAgIHRoaXMuY29ubmVjdG9yXyA9IG5ldyBpbnRlcm5hbC5Db25uZWN0
b3IoaGFuZGxlKTsKLQotICAgIHRoaXMuY29ubmVjdG9yXy5zZXRJbmNvbWluZ1JlY2VpdmVyKHsK
LSAgICAgICAgYWNjZXB0OiB0aGlzLmFjY2VwdC5iaW5kKHRoaXMpLAotICAgIH0pOwotICAgIHRo
aXMuY29ubmVjdG9yXy5zZXRFcnJvckhhbmRsZXIoewotICAgICAgICBvbkVycm9yOiB0aGlzLm9u
UGlwZUNvbm5lY3Rpb25FcnJvci5iaW5kKHRoaXMpLAotICAgIH0pOwotCi0gICAgdGhpcy5zZXRJ
bnRlcmZhY2VJZE5hbWVzcGFjZUJpdF8gPSBzZXRJbnRlcmZhY2VJZE5hbWVzcGFjZUJpdDsKLSAg
ICAvLyB8Y2FjaGVkTWVzc2FnZURhdGF8IGNhY2hlcyBpbmZvbWF0aW9uIGFib3V0IGEgbWVzc2Fn
ZSwgc28gaXQgY2FuIGJlCi0gICAgLy8gcHJvY2Vzc2VkIGxhdGVyIGlmIGEgY2xpZW50IGlzIG5v
dCB5ZXQgYXR0YWNoZWQgdG8gdGhlIHRhcmdldCBlbmRwb2ludC4KLSAgICB0aGlzLmNhY2hlZE1l
c3NhZ2VEYXRhID0gbnVsbDsKLSAgICB0aGlzLmNvbnRyb2xNZXNzYWdlSGFuZGxlcl8gPSBuZXcg
aW50ZXJuYWwuUGlwZUNvbnRyb2xNZXNzYWdlSGFuZGxlcih0aGlzKTsKLSAgICB0aGlzLmNvbnRy
b2xNZXNzYWdlUHJveHlfID0KLSAgICAgICAgbmV3IGludGVybmFsLlBpcGVDb250cm9sTWVzc2Fn
ZVByb3h5KHRoaXMuY29ubmVjdG9yXyk7Ci0gICAgdGhpcy5uZXh0SW50ZXJmYWNlSWRWYWx1ZV8g
PSAxOwotICAgIHRoaXMuZW5jb3VudGVyZWRFcnJvcl8gPSBmYWxzZTsKLSAgICB0aGlzLmVuZHBv
aW50c18gPSBuZXcgTWFwKCk7Ci0gIH0KLQotICBSb3V0ZXIucHJvdG90eXBlLmFzc29jaWF0ZUlu
dGVyZmFjZSA9IGZ1bmN0aW9uKGhhbmRsZVRvU2VuZCkgewotICAgIGlmICghaGFuZGxlVG9TZW5k
LnBlbmRpbmdBc3NvY2lhdGlvbigpKSB7Ci0gICAgICByZXR1cm4gaW50ZXJuYWwua0ludmFsaWRJ
bnRlcmZhY2VJZDsKLSAgICB9Ci0KLSAgICB2YXIgaWQgPSAwOwotICAgIGRvIHsKLSAgICAgIGlm
ICh0aGlzLm5leHRJbnRlcmZhY2VJZFZhbHVlXyA+PSBpbnRlcm5hbC5rSW50ZXJmYWNlSWROYW1l
c3BhY2VNYXNrKSB7Ci0gICAgICAgIHRoaXMubmV4dEludGVyZmFjZUlkVmFsdWVfID0gMTsKLSAg
ICAgIH0KLSAgICAgIGlkID0gdGhpcy5uZXh0SW50ZXJmYWNlSWRWYWx1ZV8rKzsKLSAgICAgIGlm
ICh0aGlzLnNldEludGVyZmFjZUlkTmFtZXNwYWNlQml0XykgewotICAgICAgICBpZCArPSBpbnRl
cm5hbC5rSW50ZXJmYWNlSWROYW1lc3BhY2VNYXNrOwotICAgICAgfQotICAgIH0gd2hpbGUgKHRo
aXMuZW5kcG9pbnRzXy5oYXMoaWQpKTsKLQotICAgIHZhciBlbmRwb2ludCA9IG5ldyBJbnRlcmZh
Y2VFbmRwb2ludCh0aGlzLCBpZCk7Ci0gICAgdGhpcy5lbmRwb2ludHNfLnNldChpZCwgZW5kcG9p
bnQpOwotICAgIGlmICh0aGlzLmVuY291bnRlcmVkRXJyb3JfKSB7Ci0gICAgICB0aGlzLnVwZGF0
ZUVuZHBvaW50U3RhdGVNYXlSZW1vdmUoZW5kcG9pbnQsCi0gICAgICAgICAgRW5kcG9pbnRTdGF0
ZVVwZGF0ZVR5cGUuUEVFUl9FTkRQT0lOVF9DTE9TRUQpOwotICAgIH0KLSAgICBlbmRwb2ludC5o
YW5kbGVDcmVhdGVkID0gdHJ1ZTsKLQotICAgIGlmICghaGFuZGxlVG9TZW5kLm5vdGlmeUFzc29j
aWF0aW9uKGlkLCB0aGlzKSkgewotICAgICAgLy8gVGhlIHBlZXIgaGFuZGxlIG9mIHxoYW5kbGVU
b1NlbmR8LCB3aGljaCBpcyBzdXBwb3NlZCB0byBqb2luIHRoaXMKLSAgICAgIC8vIGFzc29jaWF0
ZWQgZ3JvdXAsIGhhcyBiZWVuIGNsb3NlZC4KLSAgICAgIHRoaXMudXBkYXRlRW5kcG9pbnRTdGF0
ZU1heVJlbW92ZShlbmRwb2ludCwKLSAgICAgICAgICBFbmRwb2ludFN0YXRlVXBkYXRlVHlwZS5F
TkRQT0lOVF9DTE9TRUQpOwotCi0gICAgICBwaXBlQ29udHJvbE1lc3NhZ2Vwcm94eS5ub3RpZnlQ
ZWVyRW5kcG9pbnRDbG9zZWQoaWQsCi0gICAgICAgICAgaGFuZGxlVG9TZW5kLmRpc2Nvbm5lY3RS
ZWFzb24oKSk7Ci0gICAgfQotCi0gICAgcmV0dXJuIGlkOwotICB9OwotCi0gIFJvdXRlci5wcm90
b3R5cGUuYXR0YWNoRW5kcG9pbnRDbGllbnQgPSBmdW5jdGlvbigKLSAgICAgIGludGVyZmFjZUVu
ZHBvaW50SGFuZGxlLCBpbnRlcmZhY2VFbmRwb2ludENsaWVudCkgewotICAgIGNoZWNrKGludGVy
bmFsLmlzVmFsaWRJbnRlcmZhY2VJZChpbnRlcmZhY2VFbmRwb2ludEhhbmRsZS5pZCgpKSk7Ci0g
ICAgY2hlY2soaW50ZXJmYWNlRW5kcG9pbnRDbGllbnQpOwotCi0gICAgdmFyIGVuZHBvaW50ID0g
dGhpcy5lbmRwb2ludHNfLmdldChpbnRlcmZhY2VFbmRwb2ludEhhbmRsZS5pZCgpKTsKLSAgICBj
aGVjayhlbmRwb2ludCk7Ci0gICAgY2hlY2soIWVuZHBvaW50LmNsaWVudCk7Ci0gICAgY2hlY2so
IWVuZHBvaW50LmNsb3NlZCk7Ci0gICAgZW5kcG9pbnQuY2xpZW50ID0gaW50ZXJmYWNlRW5kcG9p
bnRDbGllbnQ7Ci0KLSAgICBpZiAoZW5kcG9pbnQucGVlckNsb3NlZCkgewotICAgICAgc2V0VGlt
ZW91dChlbmRwb2ludC5jbGllbnQubm90aWZ5RXJyb3IuYmluZChlbmRwb2ludC5jbGllbnQpLCAw
KTsKLSAgICB9Ci0KLSAgICBpZiAodGhpcy5jYWNoZWRNZXNzYWdlRGF0YSAmJiBpbnRlcmZhY2VF
bmRwb2ludEhhbmRsZS5pZCgpID09PQotICAgICAgICB0aGlzLmNhY2hlZE1lc3NhZ2VEYXRhLm1l
c3NhZ2UuZ2V0SW50ZXJmYWNlSWQoKSkgewotICAgICAgc2V0VGltZW91dCgoZnVuY3Rpb24oKSB7
Ci0gICAgICAgIGlmICghdGhpcy5jYWNoZWRNZXNzYWdlRGF0YSkgewotICAgICAgICAgIHJldHVy
bjsKLSAgICAgICAgfQotCi0gICAgICAgIHZhciB0YXJnZXRFbmRwb2ludCA9IHRoaXMuZW5kcG9p
bnRzXy5nZXQoCi0gICAgICAgICAgICB0aGlzLmNhY2hlZE1lc3NhZ2VEYXRhLm1lc3NhZ2UuZ2V0
SW50ZXJmYWNlSWQoKSk7Ci0gICAgICAgIC8vIENoZWNrIHRoYXQgdGhlIHRhcmdldCBlbmRwb2lu
dCdzIGNsaWVudCBzdGlsbCBleGlzdHMuCi0gICAgICAgIGlmICh0YXJnZXRFbmRwb2ludCAmJiB0
YXJnZXRFbmRwb2ludC5jbGllbnQpIHsKLSAgICAgICAgICB2YXIgbWVzc2FnZSA9IHRoaXMuY2Fj
aGVkTWVzc2FnZURhdGEubWVzc2FnZTsKLSAgICAgICAgICB2YXIgbWVzc2FnZVZhbGlkYXRvciA9
IHRoaXMuY2FjaGVkTWVzc2FnZURhdGEubWVzc2FnZVZhbGlkYXRvcjsKLSAgICAgICAgICB0aGlz
LmNhY2hlZE1lc3NhZ2VEYXRhID0gbnVsbDsKLSAgICAgICAgICB0aGlzLmNvbm5lY3Rvcl8ucmVz
dW1lSW5jb21pbmdNZXRob2RDYWxsUHJvY2Vzc2luZygpOwotICAgICAgICAgIHZhciBvayA9IGVu
ZHBvaW50LmNsaWVudC5oYW5kbGVJbmNvbWluZ01lc3NhZ2UobWVzc2FnZSwKLSAgICAgICAgICAg
ICAgbWVzc2FnZVZhbGlkYXRvcik7Ci0KLSAgICAgICAgICAvLyBIYW5kbGUgaW52YWxpZCBjYWNo
ZWQgaW5jb21pbmcgbWVzc2FnZS4KLSAgICAgICAgICBpZiAoIWludGVybmFsLmlzVGVzdGluZ01v
ZGUoKSAmJiAhb2spIHsKLSAgICAgICAgICAgIHRoaXMuY29ubmVjdG9yXy5oYW5kbGVFcnJvcih0
cnVlLCB0cnVlKTsKLSAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICAgIH0pLmJpbmQodGhpcyks
IDApOwotICAgIH0KLQotICAgIHJldHVybiBlbmRwb2ludDsKLSAgfTsKLQotICBSb3V0ZXIucHJv
dG90eXBlLmRldGFjaEVuZHBvaW50Q2xpZW50ID0gZnVuY3Rpb24oCi0gICAgICBpbnRlcmZhY2VF
bmRwb2ludEhhbmRsZSkgewotICAgIGNoZWNrKGludGVybmFsLmlzVmFsaWRJbnRlcmZhY2VJZChp
bnRlcmZhY2VFbmRwb2ludEhhbmRsZS5pZCgpKSk7Ci0gICAgdmFyIGVuZHBvaW50ID0gdGhpcy5l
bmRwb2ludHNfLmdldChpbnRlcmZhY2VFbmRwb2ludEhhbmRsZS5pZCgpKTsKLSAgICBjaGVjayhl
bmRwb2ludCk7Ci0gICAgY2hlY2soZW5kcG9pbnQuY2xpZW50KTsKLSAgICBjaGVjayghZW5kcG9p
bnQuY2xvc2VkKTsKLQotICAgIGVuZHBvaW50LmNsaWVudCA9IG51bGw7Ci0gIH07Ci0KLSAgUm91
dGVyLnByb3RvdHlwZS5jcmVhdGVMb2NhbEVuZHBvaW50SGFuZGxlID0gZnVuY3Rpb24oCi0gICAg
ICBpbnRlcmZhY2VJZCkgewotICAgIGlmICghaW50ZXJuYWwuaXNWYWxpZEludGVyZmFjZUlkKGlu
dGVyZmFjZUlkKSkgewotICAgICAgcmV0dXJuIG5ldyBpbnRlcm5hbC5JbnRlcmZhY2VFbmRwb2lu
dEhhbmRsZSgpOwotICAgIH0KLQotICAgIC8vIFVubGVzcyBpdCBpcyB0aGUgbWFzdGVyIElELCB8
aW50ZXJmYWNlSWR8IGlzIGZyb20gdGhlIHJlbW90ZSBzaWRlIGFuZAotICAgIC8vIHRoZXJlZm9y
ZSBpdHMgbmFtZXNwYWNlIGJpdCBpcyBzdXBwb3NlZCB0byBiZSBkaWZmZXJlbnQgdGhhbiB0aGUg
dmFsdWUKLSAgICAvLyB0aGF0IHRoaXMgcm91dGVyIHdvdWxkIHVzZS4KLSAgICBpZiAoIWludGVy
bmFsLmlzTWFzdGVySW50ZXJmYWNlSWQoaW50ZXJmYWNlSWQpICYmCi0gICAgICAgIHRoaXMuc2V0
SW50ZXJmYWNlSWROYW1lc3BhY2VCaXRfID09PQotICAgICAgICAgICAgaW50ZXJuYWwuaGFzSW50
ZXJmYWNlSWROYW1lc3BhY2VCaXRTZXQoaW50ZXJmYWNlSWQpKSB7Ci0gICAgICByZXR1cm4gbmV3
IGludGVybmFsLkludGVyZmFjZUVuZHBvaW50SGFuZGxlKCk7Ci0gICAgfQotCi0gICAgdmFyIGVu
ZHBvaW50ID0gdGhpcy5lbmRwb2ludHNfLmdldChpbnRlcmZhY2VJZCk7Ci0KLSAgICBpZiAoIWVu
ZHBvaW50KSB7Ci0gICAgICBlbmRwb2ludCA9IG5ldyBJbnRlcmZhY2VFbmRwb2ludCh0aGlzLCBp
bnRlcmZhY2VJZCk7Ci0gICAgICB0aGlzLmVuZHBvaW50c18uc2V0KGludGVyZmFjZUlkLCBlbmRw
b2ludCk7Ci0KLSAgICAgIGNoZWNrKCFlbmRwb2ludC5oYW5kbGVDcmVhdGVkKTsKLQotICAgICAg
aWYgKHRoaXMuZW5jb3VudGVyZWRFcnJvcl8pIHsKLSAgICAgICAgdGhpcy51cGRhdGVFbmRwb2lu
dFN0YXRlTWF5UmVtb3ZlKGVuZHBvaW50LAotICAgICAgICAgICAgRW5kcG9pbnRTdGF0ZVVwZGF0
ZVR5cGUuUEVFUl9FTkRQT0lOVF9DTE9TRUQpOwotICAgICAgfQotICAgIH0gZWxzZSB7Ci0gICAg
ICAvLyBJZiB0aGUgZW5kcG9pbnQgYWxyZWFkeSBleGlzdCwgaXQgaXMgYmVjYXVzZSB3ZSBoYXZl
IHJlY2VpdmVkIGEKLSAgICAgIC8vIG5vdGlmaWNhdGlvbiB0aGF0IHRoZSBwZWVyIGVuZHBvaW50
IGhhcyBjbG9zZWQuCi0gICAgICBjaGVjayghZW5kcG9pbnQuY2xvc2VkKTsKLSAgICAgIGNoZWNr
KGVuZHBvaW50LnBlZXJDbG9zZWQpOwotCi0gICAgICBpZiAoZW5kcG9pbnQuaGFuZGxlQ3JlYXRl
ZCkgewotICAgICAgICByZXR1cm4gbmV3IGludGVybmFsLkludGVyZmFjZUVuZHBvaW50SGFuZGxl
KCk7Ci0gICAgICB9Ci0gICAgfQotCi0gICAgZW5kcG9pbnQuaGFuZGxlQ3JlYXRlZCA9IHRydWU7
Ci0gICAgcmV0dXJuIG5ldyBpbnRlcm5hbC5JbnRlcmZhY2VFbmRwb2ludEhhbmRsZShpbnRlcmZh
Y2VJZCwgdGhpcyk7Ci0gIH07Ci0KLSAgUm91dGVyLnByb3RvdHlwZS5hY2NlcHQgPSBmdW5jdGlv
bihtZXNzYWdlKSB7Ci0gICAgdmFyIG1lc3NhZ2VWYWxpZGF0b3IgPSBuZXcgaW50ZXJuYWwuVmFs
aWRhdG9yKG1lc3NhZ2UpOwotICAgIHZhciBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRl
TWVzc2FnZUhlYWRlcigpOwotCi0gICAgdmFyIG9rID0gZmFsc2U7Ci0gICAgaWYgKGVyciAhPT0g
aW50ZXJuYWwudmFsaWRhdGlvbkVycm9yLk5PTkUpIHsKLSAgICAgIGludGVybmFsLnJlcG9ydFZh
bGlkYXRpb25FcnJvcihlcnIpOwotICAgIH0gZWxzZSBpZiAobWVzc2FnZS5kZXNlcmlhbGl6ZUFz
c29jaWF0ZWRFbmRwb2ludEhhbmRsZXModGhpcykpIHsKLSAgICAgIGlmIChpbnRlcm5hbC5pc1Bp
cGVDb250cm9sTWVzc2FnZShtZXNzYWdlKSkgewotICAgICAgICBvayA9IHRoaXMuY29udHJvbE1l
c3NhZ2VIYW5kbGVyXy5hY2NlcHQobWVzc2FnZSk7Ci0gICAgICB9IGVsc2UgewotICAgICAgICB2
YXIgaW50ZXJmYWNlSWQgPSBtZXNzYWdlLmdldEludGVyZmFjZUlkKCk7Ci0gICAgICAgIHZhciBl
bmRwb2ludCA9IHRoaXMuZW5kcG9pbnRzXy5nZXQoaW50ZXJmYWNlSWQpOwotICAgICAgICBpZiAo
IWVuZHBvaW50IHx8IGVuZHBvaW50LmNsb3NlZCkgewotICAgICAgICAgIHJldHVybiB0cnVlOwot
ICAgICAgICB9Ci0KLSAgICAgICAgaWYgKCFlbmRwb2ludC5jbGllbnQpIHsKLSAgICAgICAgICAv
LyBXZSBuZWVkIHRvIHdhaXQgdW50aWwgYSBjbGllbnQgaXMgYXR0YWNoZWQgaW4gb3JkZXIgdG8g
ZGlzcGF0Y2gKLSAgICAgICAgICAvLyBmdXJ0aGVyIG1lc3NhZ2VzLgotICAgICAgICAgIHRoaXMu
Y2FjaGVkTWVzc2FnZURhdGEgPSB7bWVzc2FnZTogbWVzc2FnZSwKLSAgICAgICAgICAgICAgbWVz
c2FnZVZhbGlkYXRvcjogbWVzc2FnZVZhbGlkYXRvcn07Ci0gICAgICAgICAgdGhpcy5jb25uZWN0
b3JfLnBhdXNlSW5jb21pbmdNZXRob2RDYWxsUHJvY2Vzc2luZygpOwotICAgICAgICAgIHJldHVy
biB0cnVlOwotICAgICAgICB9Ci0gICAgICAgIG9rID0gZW5kcG9pbnQuY2xpZW50LmhhbmRsZUlu
Y29taW5nTWVzc2FnZShtZXNzYWdlLCBtZXNzYWdlVmFsaWRhdG9yKTsKLSAgICAgIH0KLSAgICB9
Ci0gICAgcmV0dXJuIG9rOwotICB9OwotCi0gIFJvdXRlci5wcm90b3R5cGUuY2xvc2UgPSBmdW5j
dGlvbigpIHsKLSAgICB0aGlzLmNvbm5lY3Rvcl8uY2xvc2UoKTsKLSAgICAvLyBDbG9zaW5nIHRo
ZSBtZXNzYWdlIHBpcGUgd29uJ3QgdHJpZ2dlciBjb25uZWN0aW9uIGVycm9yIGhhbmRsZXIuCi0g
ICAgLy8gRXhwbGljaXRseSBjYWxsIG9uUGlwZUNvbm5lY3Rpb25FcnJvcigpIHNvIHRoYXQgYXNz
b2NpYXRlZCBlbmRwb2ludHMKLSAgICAvLyB3aWxsIGdldCBub3RpZmllZC4KLSAgICB0aGlzLm9u
UGlwZUNvbm5lY3Rpb25FcnJvcigpOwotICB9OwotCi0gIFJvdXRlci5wcm90b3R5cGUub25QZWVy
QXNzb2NpYXRlZEVuZHBvaW50Q2xvc2VkID0gZnVuY3Rpb24oaW50ZXJmYWNlSWQsCi0gICAgICBy
ZWFzb24pIHsKLSAgICB2YXIgZW5kcG9pbnQgPSB0aGlzLmVuZHBvaW50c18uZ2V0KGludGVyZmFj
ZUlkKTsKLSAgICBpZiAoIWVuZHBvaW50KSB7Ci0gICAgICBlbmRwb2ludCA9IG5ldyBJbnRlcmZh
Y2VFbmRwb2ludCh0aGlzLCBpbnRlcmZhY2VJZCk7Ci0gICAgICB0aGlzLmVuZHBvaW50c18uc2V0
KGludGVyZmFjZUlkLCBlbmRwb2ludCk7Ci0gICAgfQotCi0gICAgaWYgKHJlYXNvbikgewotICAg
ICAgZW5kcG9pbnQuZGlzY29ubmVjdFJlYXNvbiA9IHJlYXNvbjsKLSAgICB9Ci0KLSAgICBpZiAo
IWVuZHBvaW50LnBlZXJDbG9zZWQpIHsKLSAgICAgIGlmIChlbmRwb2ludC5jbGllbnQpIHsKLSAg
ICAgICAgc2V0VGltZW91dChlbmRwb2ludC5jbGllbnQubm90aWZ5RXJyb3IuYmluZChlbmRwb2lu
dC5jbGllbnQsIHJlYXNvbiksCi0gICAgICAgICAgICAgICAgICAgMCk7Ci0gICAgICB9Ci0gICAg
ICB0aGlzLnVwZGF0ZUVuZHBvaW50U3RhdGVNYXlSZW1vdmUoZW5kcG9pbnQsCi0gICAgICAgICAg
RW5kcG9pbnRTdGF0ZVVwZGF0ZVR5cGUuUEVFUl9FTkRQT0lOVF9DTE9TRUQpOwotICAgIH0KLSAg
ICByZXR1cm4gdHJ1ZTsKLSAgfTsKLQotICBSb3V0ZXIucHJvdG90eXBlLm9uUGlwZUNvbm5lY3Rp
b25FcnJvciA9IGZ1bmN0aW9uKCkgewotICAgIHRoaXMuZW5jb3VudGVyZWRFcnJvcl8gPSB0cnVl
OwotCi0gICAgZm9yICh2YXIgZW5kcG9pbnQgb2YgdGhpcy5lbmRwb2ludHNfLnZhbHVlcygpKSB7
Ci0gICAgICBpZiAoZW5kcG9pbnQuY2xpZW50KSB7Ci0gICAgICAgIHNldFRpbWVvdXQoCi0gICAg
ICAgICAgICBlbmRwb2ludC5jbGllbnQubm90aWZ5RXJyb3IuYmluZCgKLSAgICAgICAgICAgICAg
ICBlbmRwb2ludC5jbGllbnQsIGVuZHBvaW50LmRpc2Nvbm5lY3RSZWFzb24pLAotICAgICAgICAg
ICAgMCk7Ci0gICAgICB9Ci0gICAgICB0aGlzLnVwZGF0ZUVuZHBvaW50U3RhdGVNYXlSZW1vdmUo
ZW5kcG9pbnQsCi0gICAgICAgICAgRW5kcG9pbnRTdGF0ZVVwZGF0ZVR5cGUuUEVFUl9FTkRQT0lO
VF9DTE9TRUQpOwotICAgIH0KLSAgfTsKLQotICBSb3V0ZXIucHJvdG90eXBlLmNsb3NlRW5kcG9p
bnRIYW5kbGUgPSBmdW5jdGlvbihpbnRlcmZhY2VJZCwgcmVhc29uKSB7Ci0gICAgaWYgKCFpbnRl
cm5hbC5pc1ZhbGlkSW50ZXJmYWNlSWQoaW50ZXJmYWNlSWQpKSB7Ci0gICAgICByZXR1cm47Ci0g
ICAgfQotICAgIHZhciBlbmRwb2ludCA9IHRoaXMuZW5kcG9pbnRzXy5nZXQoaW50ZXJmYWNlSWQp
OwotICAgIGNoZWNrKGVuZHBvaW50KTsKLSAgICBjaGVjayghZW5kcG9pbnQuY2xpZW50KTsKLSAg
ICBjaGVjayghZW5kcG9pbnQuY2xvc2VkKTsKLQotICAgIHRoaXMudXBkYXRlRW5kcG9pbnRTdGF0
ZU1heVJlbW92ZShlbmRwb2ludCwKLSAgICAgICAgRW5kcG9pbnRTdGF0ZVVwZGF0ZVR5cGUuRU5E
UE9JTlRfQ0xPU0VEKTsKLQotICAgIGlmICghaW50ZXJuYWwuaXNNYXN0ZXJJbnRlcmZhY2VJZChp
bnRlcmZhY2VJZCkgfHwgcmVhc29uKSB7Ci0gICAgICB0aGlzLmNvbnRyb2xNZXNzYWdlUHJveHlf
Lm5vdGlmeVBlZXJFbmRwb2ludENsb3NlZChpbnRlcmZhY2VJZCwgcmVhc29uKTsKLSAgICB9Ci0K
LSAgICBpZiAodGhpcy5jYWNoZWRNZXNzYWdlRGF0YSAmJiBpbnRlcmZhY2VJZCA9PT0KLSAgICAg
ICAgdGhpcy5jYWNoZWRNZXNzYWdlRGF0YS5tZXNzYWdlLmdldEludGVyZmFjZUlkKCkpIHsKLSAg
ICAgIHRoaXMuY2FjaGVkTWVzc2FnZURhdGEgPSBudWxsOwotICAgICAgdGhpcy5jb25uZWN0b3Jf
LnJlc3VtZUluY29taW5nTWV0aG9kQ2FsbFByb2Nlc3NpbmcoKTsKLSAgICB9Ci0gIH07Ci0KLSAg
Um91dGVyLnByb3RvdHlwZS51cGRhdGVFbmRwb2ludFN0YXRlTWF5UmVtb3ZlID0gZnVuY3Rpb24o
ZW5kcG9pbnQsCi0gICAgICBlbmRwb2ludFN0YXRlVXBkYXRlVHlwZSkgewotICAgIGlmIChlbmRw
b2ludFN0YXRlVXBkYXRlVHlwZSA9PT0gRW5kcG9pbnRTdGF0ZVVwZGF0ZVR5cGUuRU5EUE9JTlRf
Q0xPU0VEKSB7Ci0gICAgICBlbmRwb2ludC5jbG9zZWQgPSB0cnVlOwotICAgIH0gZWxzZSB7Ci0g
ICAgICBlbmRwb2ludC5wZWVyQ2xvc2VkID0gdHJ1ZTsKLSAgICB9Ci0gICAgaWYgKGVuZHBvaW50
LmNsb3NlZCAmJiBlbmRwb2ludC5wZWVyQ2xvc2VkKSB7Ci0gICAgICB0aGlzLmVuZHBvaW50c18u
ZGVsZXRlKGVuZHBvaW50LmlkKTsKLSAgICB9Ci0gIH07Ci0KLSAgaW50ZXJuYWwuUm91dGVyID0g
Um91dGVyOwotfSkoKTsKLS8vIENvcHlyaWdodCAyMDE0IFRoZSBDaHJvbWl1bSBBdXRob3JzLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgotLy8gVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJu
ZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQotLy8gZm91bmQgaW4gdGhlIExJ
Q0VOU0UgZmlsZS4KLQotLyoqCi0gKiBEZWZpbmVzIGZ1bmN0aW9ucyBmb3IgdHJhbnNsYXRpbmcg
YmV0d2VlbiBKYXZhU2NyaXB0IHN0cmluZ3MgYW5kIFVURjggc3RyaW5ncwotICogc3RvcmVkIGlu
IEFycmF5QnVmZmVycy4gVGhlcmUgaXMgbXVjaCByb29tIGZvciBvcHRpbWl6YXRpb24gaW4gdGhp
cyBjb2RlIGlmCi0gKiBpdCBwcm92ZXMgbmVjZXNzYXJ5LgotICovCi0oZnVuY3Rpb24oKSB7Ci0g
IHZhciBpbnRlcm5hbCA9IG1vam8uaW50ZXJuYWw7Ci0gIHZhciB0ZXh0RGVjb2RlciA9IG5ldyBU
ZXh0RGVjb2RlcigndXRmLTgnKTsKLSAgdmFyIHRleHRFbmNvZGVyID0gbmV3IFRleHRFbmNvZGVy
KCd1dGYtOCcpOwotCi0gIC8qKgotICAgKiBEZWNvZGVzIHRoZSBVVEY4IHN0cmluZyBmcm9tIHRo
ZSBnaXZlbiBidWZmZXIuCi0gICAqIEBwYXJhbSB7QXJyYXlCdWZmZXJWaWV3fSBidWZmZXIgVGhl
IGJ1ZmZlciBjb250YWluaW5nIFVURjggc3RyaW5nIGRhdGEuCi0gICAqIEByZXR1cm4ge3N0cmlu
Z30gVGhlIGNvcnJlc3BvbmRpbmcgSmF2YVNjcmlwdCBzdHJpbmcuCi0gICAqLwotICBmdW5jdGlv
biBkZWNvZGVVdGY4U3RyaW5nKGJ1ZmZlcikgewotICAgIHJldHVybiB0ZXh0RGVjb2Rlci5kZWNv
ZGUoYnVmZmVyKTsKLSAgfQotCi0gIC8qKgotICAgKiBFbmNvZGVzIHRoZSBnaXZlbiBKYXZhU2Ny
aXB0IHN0cmluZyBpbnRvIFVURjguCi0gICAqIEBwYXJhbSB7c3RyaW5nfSBzdHIgVGhlIHN0cmlu
ZyB0byBlbmNvZGUuCi0gICAqIEBwYXJhbSB7QXJyYXlCdWZmZXJWaWV3fSBvdXRwdXRCdWZmZXIg
VGhlIGJ1ZmZlciB0byBjb250YWluIHRoZSByZXN1bHQuCi0gICAqIFNob3VsZCBiZSBwcmUtYWxs
b2NhdGVkIHRvIGhvbGQgZW5vdWdoIHNwYWNlLiBVc2UgfHV0ZjhMZW5ndGh8IHRvIGRldGVybWlu
ZQotICAgKiBob3cgbXVjaCBzcGFjZSBpcyByZXF1aXJlZC4KLSAgICogQHJldHVybiB7bnVtYmVy
fSBUaGUgbnVtYmVyIG9mIGJ5dGVzIHdyaXR0ZW4gdG8gfG91dHB1dEJ1ZmZlcnwuCi0gICAqLwot
ICBmdW5jdGlvbiBlbmNvZGVVdGY4U3RyaW5nKHN0ciwgb3V0cHV0QnVmZmVyKSB7Ci0gICAgY29u
c3QgdXRmOEJ1ZmZlciA9IHRleHRFbmNvZGVyLmVuY29kZShzdHIpOwotICAgIGlmIChvdXRwdXRC
dWZmZXIubGVuZ3RoIDwgdXRmOEJ1ZmZlci5sZW5ndGgpCi0gICAgICB0aHJvdyBuZXcgRXJyb3Io
IkJ1ZmZlciB0b28gc21hbGwgZm9yIGVuY29kZVV0ZjhTdHJpbmciKTsKLSAgICBvdXRwdXRCdWZm
ZXIuc2V0KHV0ZjhCdWZmZXIpOwotICAgIHJldHVybiB1dGY4QnVmZmVyLmxlbmd0aDsKLSAgfQot
Ci0gIC8qKgotICAgKiBSZXR1cm5zIHRoZSBudW1iZXIgb2YgYnl0ZXMgdGhhdCBhIFVURjggZW5j
b2Rpbmcgb2YgdGhlIEphdmFTY3JpcHQgc3RyaW5nCi0gICAqIHxzdHJ8IHdvdWxkIG9jY3VweS4K
LSAgICovCi0gIGZ1bmN0aW9uIHV0ZjhMZW5ndGgoc3RyKSB7Ci0gICAgcmV0dXJuIHRleHRFbmNv
ZGVyLmVuY29kZShzdHIpLmxlbmd0aDsKLSAgfQotCi0gIGludGVybmFsLmRlY29kZVV0ZjhTdHJp
bmcgPSBkZWNvZGVVdGY4U3RyaW5nOwotICBpbnRlcm5hbC5lbmNvZGVVdGY4U3RyaW5nID0gZW5j
b2RlVXRmOFN0cmluZzsKLSAgaW50ZXJuYWwudXRmOExlbmd0aCA9IHV0ZjhMZW5ndGg7Ci19KSgp
OwotLy8gQ29weXJpZ2h0IDIwMTQgVGhlIENocm9taXVtIEF1dGhvcnMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCi0vLyBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1z
dHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCi0vLyBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgot
Ci0oZnVuY3Rpb24oKSB7Ci0gIHZhciBpbnRlcm5hbCA9IG1vam8uaW50ZXJuYWw7Ci0KLSAgdmFy
IHZhbGlkYXRpb25FcnJvciA9IHsKLSAgICBOT05FOiAnVkFMSURBVElPTl9FUlJPUl9OT05FJywK
LSAgICBNSVNBTElHTkVEX09CSkVDVDogJ1ZBTElEQVRJT05fRVJST1JfTUlTQUxJR05FRF9PQkpF
Q1QnLAotICAgIElMTEVHQUxfTUVNT1JZX1JBTkdFOiAnVkFMSURBVElPTl9FUlJPUl9JTExFR0FM
X01FTU9SWV9SQU5HRScsCi0gICAgVU5FWFBFQ1RFRF9TVFJVQ1RfSEVBREVSOiAnVkFMSURBVElP
Tl9FUlJPUl9VTkVYUEVDVEVEX1NUUlVDVF9IRUFERVInLAotICAgIFVORVhQRUNURURfQVJSQVlf
SEVBREVSOiAnVkFMSURBVElPTl9FUlJPUl9VTkVYUEVDVEVEX0FSUkFZX0hFQURFUicsCi0gICAg
SUxMRUdBTF9IQU5ETEU6ICdWQUxJREFUSU9OX0VSUk9SX0lMTEVHQUxfSEFORExFJywKLSAgICBV
TkVYUEVDVEVEX0lOVkFMSURfSEFORExFOiAnVkFMSURBVElPTl9FUlJPUl9VTkVYUEVDVEVEX0lO
VkFMSURfSEFORExFJywKLSAgICBJTExFR0FMX1BPSU5URVI6ICdWQUxJREFUSU9OX0VSUk9SX0lM
TEVHQUxfUE9JTlRFUicsCi0gICAgVU5FWFBFQ1RFRF9OVUxMX1BPSU5URVI6ICdWQUxJREFUSU9O
X0VSUk9SX1VORVhQRUNURURfTlVMTF9QT0lOVEVSJywKLSAgICBJTExFR0FMX0lOVEVSRkFDRV9J
RDogJ1ZBTElEQVRJT05fRVJST1JfSUxMRUdBTF9JTlRFUkZBQ0VfSUQnLAotICAgIFVORVhQRUNU
RURfSU5WQUxJRF9JTlRFUkZBQ0VfSUQ6Ci0gICAgICAgICdWQUxJREFUSU9OX0VSUk9SX1VORVhQ
RUNURURfSU5WQUxJRF9JTlRFUkZBQ0VfSUQnLAotICAgIE1FU1NBR0VfSEVBREVSX0lOVkFMSURf
RkxBR1M6Ci0gICAgICAgICdWQUxJREFUSU9OX0VSUk9SX01FU1NBR0VfSEVBREVSX0lOVkFMSURf
RkxBR1MnLAotICAgIE1FU1NBR0VfSEVBREVSX01JU1NJTkdfUkVRVUVTVF9JRDoKLSAgICAgICAg
J1ZBTElEQVRJT05fRVJST1JfTUVTU0FHRV9IRUFERVJfTUlTU0lOR19SRVFVRVNUX0lEJywKLSAg
ICBESUZGRVJFTlRfU0laRURfQVJSQVlTX0lOX01BUDoKLSAgICAgICAgJ1ZBTElEQVRJT05fRVJS
T1JfRElGRkVSRU5UX1NJWkVEX0FSUkFZU19JTl9NQVAnLAotICAgIElOVkFMSURfVU5JT05fU0la
RTogJ1ZBTElEQVRJT05fRVJST1JfSU5WQUxJRF9VTklPTl9TSVpFJywKLSAgICBVTkVYUEVDVEVE
X05VTExfVU5JT046ICdWQUxJREFUSU9OX0VSUk9SX1VORVhQRUNURURfTlVMTF9VTklPTicsCi0g
ICAgVU5LTk9XTl9FTlVNX1ZBTFVFOiAnVkFMSURBVElPTl9FUlJPUl9VTktOT1dOX0VOVU1fVkFM
VUUnLAotICB9OwotCi0gIHZhciBOVUxMX01PSk9fUE9JTlRFUiA9ICJOVUxMX01PSk9fUE9JTlRF
UiI7Ci0gIHZhciBnVmFsaWRhdGlvbkVycm9yT2JzZXJ2ZXIgPSBudWxsOwotCi0gIGZ1bmN0aW9u
IHJlcG9ydFZhbGlkYXRpb25FcnJvcihlcnJvcikgewotICAgIGlmIChnVmFsaWRhdGlvbkVycm9y
T2JzZXJ2ZXIpIHsKLSAgICAgIGdWYWxpZGF0aW9uRXJyb3JPYnNlcnZlci5sYXN0RXJyb3IgPSBl
cnJvcjsKLSAgICB9IGVsc2UgewotICAgICAgY29uc29sZS53YXJuKCdJbnZhbGlkIG1lc3NhZ2U6
ICcgKyBlcnJvcik7Ci0gICAgfQotICB9Ci0KLSAgdmFyIFZhbGlkYXRpb25FcnJvck9ic2VydmVy
Rm9yVGVzdGluZyA9IChmdW5jdGlvbigpIHsKLSAgICBmdW5jdGlvbiBPYnNlcnZlcigpIHsKLSAg
ICAgIHRoaXMubGFzdEVycm9yID0gdmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gICAgfQotCi0gICAg
T2JzZXJ2ZXIucHJvdG90eXBlLnJlc2V0ID0gZnVuY3Rpb24oKSB7Ci0gICAgICB0aGlzLmxhc3RF
cnJvciA9IHZhbGlkYXRpb25FcnJvci5OT05FOwotICAgIH07Ci0KLSAgICByZXR1cm4gewotICAg
ICAgZ2V0SW5zdGFuY2U6IGZ1bmN0aW9uKCkgewotICAgICAgICBpZiAoIWdWYWxpZGF0aW9uRXJy
b3JPYnNlcnZlcikgewotICAgICAgICAgIGdWYWxpZGF0aW9uRXJyb3JPYnNlcnZlciA9IG5ldyBP
YnNlcnZlcigpOwotICAgICAgICB9Ci0gICAgICAgIHJldHVybiBnVmFsaWRhdGlvbkVycm9yT2Jz
ZXJ2ZXI7Ci0gICAgICB9Ci0gICAgfTsKLSAgfSkoKTsKLQotICBmdW5jdGlvbiBpc1Rlc3RpbmdN
b2RlKCkgewotICAgIHJldHVybiBCb29sZWFuKGdWYWxpZGF0aW9uRXJyb3JPYnNlcnZlcik7Ci0g
IH0KLQotICBmdW5jdGlvbiBjbGVhclRlc3RpbmdNb2RlKCkgewotICAgIGdWYWxpZGF0aW9uRXJy
b3JPYnNlcnZlciA9IG51bGw7Ci0gIH0KLQotICBmdW5jdGlvbiBpc0VudW1DbGFzcyhjbHMpIHsK
LSAgICByZXR1cm4gY2xzIGluc3RhbmNlb2YgaW50ZXJuYWwuRW51bTsKLSAgfQotCi0gIGZ1bmN0
aW9uIGlzU3RyaW5nQ2xhc3MoY2xzKSB7Ci0gICAgcmV0dXJuIGNscyA9PT0gaW50ZXJuYWwuU3Ry
aW5nIHx8IGNscyA9PT0gaW50ZXJuYWwuTnVsbGFibGVTdHJpbmc7Ci0gIH0KLQotICBmdW5jdGlv
biBpc0hhbmRsZUNsYXNzKGNscykgewotICAgIHJldHVybiBjbHMgPT09IGludGVybmFsLkhhbmRs
ZSB8fCBjbHMgPT09IGludGVybmFsLk51bGxhYmxlSGFuZGxlOwotICB9Ci0KLSAgZnVuY3Rpb24g
aXNJbnRlcmZhY2VDbGFzcyhjbHMpIHsKLSAgICByZXR1cm4gY2xzIGluc3RhbmNlb2YgaW50ZXJu
YWwuSW50ZXJmYWNlOwotICB9Ci0KLSAgZnVuY3Rpb24gaXNJbnRlcmZhY2VSZXF1ZXN0Q2xhc3Mo
Y2xzKSB7Ci0gICAgcmV0dXJuIGNscyA9PT0gaW50ZXJuYWwuSW50ZXJmYWNlUmVxdWVzdCB8fAot
ICAgICAgICBjbHMgPT09IGludGVybmFsLk51bGxhYmxlSW50ZXJmYWNlUmVxdWVzdDsKLSAgfQot
Ci0gIGZ1bmN0aW9uIGlzQXNzb2NpYXRlZEludGVyZmFjZUNsYXNzKGNscykgewotICAgIHJldHVy
biBjbHMgPT09IGludGVybmFsLkFzc29jaWF0ZWRJbnRlcmZhY2VQdHJJbmZvIHx8Ci0gICAgICAg
IGNscyA9PT0gaW50ZXJuYWwuTnVsbGFibGVBc3NvY2lhdGVkSW50ZXJmYWNlUHRySW5mbzsKLSAg
fQotCi0gIGZ1bmN0aW9uIGlzQXNzb2NpYXRlZEludGVyZmFjZVJlcXVlc3RDbGFzcyhjbHMpIHsK
LSAgICByZXR1cm4gY2xzID09PSBpbnRlcm5hbC5Bc3NvY2lhdGVkSW50ZXJmYWNlUmVxdWVzdCB8
fAotICAgICAgICBjbHMgPT09IGludGVybmFsLk51bGxhYmxlQXNzb2NpYXRlZEludGVyZmFjZVJl
cXVlc3Q7Ci0gIH0KLQotICBmdW5jdGlvbiBpc051bGxhYmxlKHR5cGUpIHsKLSAgICByZXR1cm4g
dHlwZSA9PT0gaW50ZXJuYWwuTnVsbGFibGVTdHJpbmcgfHwKLSAgICAgICAgdHlwZSA9PT0gaW50
ZXJuYWwuTnVsbGFibGVIYW5kbGUgfHwKLSAgICAgICAgdHlwZSA9PT0gaW50ZXJuYWwuTnVsbGFi
bGVBc3NvY2lhdGVkSW50ZXJmYWNlUHRySW5mbyB8fAotICAgICAgICB0eXBlID09PSBpbnRlcm5h
bC5OdWxsYWJsZUFzc29jaWF0ZWRJbnRlcmZhY2VSZXF1ZXN0IHx8Ci0gICAgICAgIHR5cGUgPT09
IGludGVybmFsLk51bGxhYmxlSW50ZXJmYWNlIHx8Ci0gICAgICAgIHR5cGUgPT09IGludGVybmFs
Lk51bGxhYmxlSW50ZXJmYWNlUmVxdWVzdCB8fAotICAgICAgICB0eXBlIGluc3RhbmNlb2YgaW50
ZXJuYWwuTnVsbGFibGVBcnJheU9mIHx8Ci0gICAgICAgIHR5cGUgaW5zdGFuY2VvZiBpbnRlcm5h
bC5OdWxsYWJsZVBvaW50ZXJUbzsKLSAgfQotCi0gIGZ1bmN0aW9uIFZhbGlkYXRvcihtZXNzYWdl
KSB7Ci0gICAgdGhpcy5tZXNzYWdlID0gbWVzc2FnZTsKLSAgICB0aGlzLm9mZnNldCA9IDA7Ci0g
ICAgdGhpcy5oYW5kbGVJbmRleCA9IDA7Ci0gICAgdGhpcy5hc3NvY2lhdGVkRW5kcG9pbnRIYW5k
bGVJbmRleCA9IDA7Ci0gICAgdGhpcy5wYXlsb2FkSW50ZXJmYWNlSWRzID0gbnVsbDsKLSAgICB0
aGlzLm9mZnNldExpbWl0ID0gdGhpcy5tZXNzYWdlLmJ1ZmZlci5ieXRlTGVuZ3RoOwotICB9Ci0K
LSAgT2JqZWN0LmRlZmluZVByb3BlcnR5KFZhbGlkYXRvci5wcm90b3R5cGUsICJoYW5kbGVJbmRl
eExpbWl0IiwgewotICAgIGdldDogZnVuY3Rpb24oKSB7IHJldHVybiB0aGlzLm1lc3NhZ2UuaGFu
ZGxlcy5sZW5ndGg7IH0KLSAgfSk7Ci0KLSAgT2JqZWN0LmRlZmluZVByb3BlcnR5KFZhbGlkYXRv
ci5wcm90b3R5cGUsICJhc3NvY2lhdGVkSGFuZGxlSW5kZXhMaW1pdCIsIHsKLSAgICBnZXQ6IGZ1
bmN0aW9uKCkgewotICAgICAgcmV0dXJuIHRoaXMucGF5bG9hZEludGVyZmFjZUlkcyA/IHRoaXMu
cGF5bG9hZEludGVyZmFjZUlkcy5sZW5ndGggOiAwOwotICAgIH0KLSAgfSk7Ci0KLSAgLy8gVHJ1
ZSBpZiB3ZSBjYW4gc2FmZWx5IGFsbG9jYXRlIGEgYmxvY2sgb2YgYnl0ZXMgZnJvbSBzdGFydCB0
bwotICAvLyB0byBzdGFydCArIG51bUJ5dGVzLgotICBWYWxpZGF0b3IucHJvdG90eXBlLmlzVmFs
aWRSYW5nZSA9IGZ1bmN0aW9uKHN0YXJ0LCBudW1CeXRlcykgewotICAgIC8vIE9ubHkgcG9zaXRp
dmUgSmF2YVNjcmlwdCBpbnRlZ2VycyB0aGF0IGFyZSBsZXNzIHRoYW4gMl41MwotICAgIC8vIChO
dW1iZXIuTUFYX1NBRkVfSU5URUdFUikgY2FuIGJlIHJlcHJlc2VudGVkIGV4YWN0bHkuCi0gICAg
aWYgKHN0YXJ0IDwgdGhpcy5vZmZzZXQgfHwgbnVtQnl0ZXMgPD0gMCB8fAotICAgICAgICAhTnVt
YmVyLmlzU2FmZUludGVnZXIoc3RhcnQpIHx8Ci0gICAgICAgICFOdW1iZXIuaXNTYWZlSW50ZWdl
cihudW1CeXRlcykpCi0gICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICB2YXIgbmV3T2Zmc2V0ID0g
c3RhcnQgKyBudW1CeXRlczsKLSAgICBpZiAoIU51bWJlci5pc1NhZmVJbnRlZ2VyKG5ld09mZnNl
dCkgfHwgbmV3T2Zmc2V0ID4gdGhpcy5vZmZzZXRMaW1pdCkKLSAgICAgIHJldHVybiBmYWxzZTsK
LQotICAgIHJldHVybiB0cnVlOwotICB9OwotCi0gIFZhbGlkYXRvci5wcm90b3R5cGUuY2xhaW1S
YW5nZSA9IGZ1bmN0aW9uKHN0YXJ0LCBudW1CeXRlcykgewotICAgIGlmICh0aGlzLmlzVmFsaWRS
YW5nZShzdGFydCwgbnVtQnl0ZXMpKSB7Ci0gICAgICB0aGlzLm9mZnNldCA9IHN0YXJ0ICsgbnVt
Qnl0ZXM7Ci0gICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9Ci0gICAgcmV0dXJuIGZhbHNlOwotICB9
OwotCi0gIFZhbGlkYXRvci5wcm90b3R5cGUuY2xhaW1IYW5kbGUgPSBmdW5jdGlvbihpbmRleCkg
ewotICAgIGlmIChpbmRleCA9PT0gaW50ZXJuYWwua0VuY29kZWRJbnZhbGlkSGFuZGxlVmFsdWUp
Ci0gICAgICByZXR1cm4gdHJ1ZTsKLQotICAgIGlmIChpbmRleCA8IHRoaXMuaGFuZGxlSW5kZXgg
fHwgaW5kZXggPj0gdGhpcy5oYW5kbGVJbmRleExpbWl0KQotICAgICAgcmV0dXJuIGZhbHNlOwot
Ci0gICAgLy8gVGhpcyBpcyBzYWZlIGJlY2F1c2UgaGFuZGxlIGluZGljZXMgYXJlIHVpbnQzMi4K
LSAgICB0aGlzLmhhbmRsZUluZGV4ID0gaW5kZXggKyAxOwotICAgIHJldHVybiB0cnVlOwotICB9
OwotCi0gIFZhbGlkYXRvci5wcm90b3R5cGUuY2xhaW1Bc3NvY2lhdGVkRW5kcG9pbnRIYW5kbGUg
PSBmdW5jdGlvbihpbmRleCkgewotICAgIGlmIChpbmRleCA9PT0gaW50ZXJuYWwua0VuY29kZWRJ
bnZhbGlkSGFuZGxlVmFsdWUpIHsKLSAgICAgIHJldHVybiB0cnVlOwotICAgIH0KLQotICAgIGlm
IChpbmRleCA8IHRoaXMuYXNzb2NpYXRlZEVuZHBvaW50SGFuZGxlSW5kZXggfHwKLSAgICAgICAg
aW5kZXggPj0gdGhpcy5hc3NvY2lhdGVkSGFuZGxlSW5kZXhMaW1pdCkgewotICAgICAgcmV0dXJu
IGZhbHNlOwotICAgIH0KLQotICAgIC8vIFRoaXMgaXMgc2FmZSBiZWNhdXNlIGhhbmRsZSBpbmRp
Y2VzIGFyZSB1aW50MzIuCi0gICAgdGhpcy5hc3NvY2lhdGVkRW5kcG9pbnRIYW5kbGVJbmRleCA9
IGluZGV4ICsgMTsKLSAgICByZXR1cm4gdHJ1ZTsKLSAgfTsKLQotICBWYWxpZGF0b3IucHJvdG90
eXBlLnZhbGlkYXRlRW51bSA9IGZ1bmN0aW9uKG9mZnNldCwgZW51bUNsYXNzKSB7Ci0gICAgLy8g
Tm90ZTogQXNzdW1lcyB0aGF0IGVudW1zIGFyZSBhbHdheXMgMzIgYml0cyEgQnV0IHRoaXMgbWF0
Y2hlcwotICAgIC8vIG1vam9tOjpnZW5lcmF0ZTo6cGFjazo6UGFja2VkRmllbGQ6OkdldFNpemVG
b3JLaW5kLCBzbyBpdCBzaG91bGQgYmUgb2theS4KLSAgICB2YXIgdmFsdWUgPSB0aGlzLm1lc3Nh
Z2UuYnVmZmVyLmdldEludDMyKG9mZnNldCk7Ci0gICAgcmV0dXJuIGVudW1DbGFzcy52YWxpZGF0
ZSh2YWx1ZSk7Ci0gIH0KLQotICBWYWxpZGF0b3IucHJvdG90eXBlLnZhbGlkYXRlSGFuZGxlID0g
ZnVuY3Rpb24ob2Zmc2V0LCBudWxsYWJsZSkgewotICAgIHZhciBpbmRleCA9IHRoaXMubWVzc2Fn
ZS5idWZmZXIuZ2V0VWludDMyKG9mZnNldCk7Ci0KLSAgICBpZiAoaW5kZXggPT09IGludGVybmFs
LmtFbmNvZGVkSW52YWxpZEhhbmRsZVZhbHVlKQotICAgICAgcmV0dXJuIG51bGxhYmxlID8KLSAg
ICAgICAgICB2YWxpZGF0aW9uRXJyb3IuTk9ORSA6IHZhbGlkYXRpb25FcnJvci5VTkVYUEVDVEVE
X0lOVkFMSURfSEFORExFOwotCi0gICAgaWYgKCF0aGlzLmNsYWltSGFuZGxlKGluZGV4KSkKLSAg
ICAgIHJldHVybiB2YWxpZGF0aW9uRXJyb3IuSUxMRUdBTF9IQU5ETEU7Ci0KLSAgICByZXR1cm4g
dmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gIH07Ci0KLSAgVmFsaWRhdG9yLnByb3RvdHlwZS52YWxp
ZGF0ZUFzc29jaWF0ZWRFbmRwb2ludEhhbmRsZSA9IGZ1bmN0aW9uKG9mZnNldCwKLSAgICAgIG51
bGxhYmxlKSB7Ci0gICAgdmFyIGluZGV4ID0gdGhpcy5tZXNzYWdlLmJ1ZmZlci5nZXRVaW50MzIo
b2Zmc2V0KTsKLQotICAgIGlmIChpbmRleCA9PT0gaW50ZXJuYWwua0VuY29kZWRJbnZhbGlkSGFu
ZGxlVmFsdWUpIHsKLSAgICAgIHJldHVybiBudWxsYWJsZSA/IHZhbGlkYXRpb25FcnJvci5OT05F
IDoKLSAgICAgICAgICB2YWxpZGF0aW9uRXJyb3IuVU5FWFBFQ1RFRF9JTlZBTElEX0lOVEVSRkFD
RV9JRDsKLSAgICB9Ci0KLSAgICBpZiAoIXRoaXMuY2xhaW1Bc3NvY2lhdGVkRW5kcG9pbnRIYW5k
bGUoaW5kZXgpKSB7Ci0gICAgICByZXR1cm4gdmFsaWRhdGlvbkVycm9yLklMTEVHQUxfSU5URVJG
QUNFX0lEOwotICAgIH0KLQotICAgIHJldHVybiB2YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAgfTsK
LQotICBWYWxpZGF0b3IucHJvdG90eXBlLnZhbGlkYXRlSW50ZXJmYWNlID0gZnVuY3Rpb24ob2Zm
c2V0LCBudWxsYWJsZSkgewotICAgIHJldHVybiB0aGlzLnZhbGlkYXRlSGFuZGxlKG9mZnNldCwg
bnVsbGFibGUpOwotICB9OwotCi0gIFZhbGlkYXRvci5wcm90b3R5cGUudmFsaWRhdGVJbnRlcmZh
Y2VSZXF1ZXN0ID0gZnVuY3Rpb24ob2Zmc2V0LCBudWxsYWJsZSkgewotICAgIHJldHVybiB0aGlz
LnZhbGlkYXRlSGFuZGxlKG9mZnNldCwgbnVsbGFibGUpOwotICB9OwotCi0gIFZhbGlkYXRvci5w
cm90b3R5cGUudmFsaWRhdGVBc3NvY2lhdGVkSW50ZXJmYWNlID0gZnVuY3Rpb24ob2Zmc2V0LAot
ICAgICAgbnVsbGFibGUpIHsKLSAgICByZXR1cm4gdGhpcy52YWxpZGF0ZUFzc29jaWF0ZWRFbmRw
b2ludEhhbmRsZShvZmZzZXQsIG51bGxhYmxlKTsKLSAgfTsKLQotICBWYWxpZGF0b3IucHJvdG90
eXBlLnZhbGlkYXRlQXNzb2NpYXRlZEludGVyZmFjZVJlcXVlc3QgPSBmdW5jdGlvbigKLSAgICAg
IG9mZnNldCwgbnVsbGFibGUpIHsKLSAgICByZXR1cm4gdGhpcy52YWxpZGF0ZUFzc29jaWF0ZWRF
bmRwb2ludEhhbmRsZShvZmZzZXQsIG51bGxhYmxlKTsKLSAgfTsKLQotICBWYWxpZGF0b3IucHJv
dG90eXBlLnZhbGlkYXRlU3RydWN0SGVhZGVyID0gZnVuY3Rpb24ob2Zmc2V0LCBtaW5OdW1CeXRl
cykgewotICAgIGlmICghaW50ZXJuYWwuaXNBbGlnbmVkKG9mZnNldCkpCi0gICAgICByZXR1cm4g
dmFsaWRhdGlvbkVycm9yLk1JU0FMSUdORURfT0JKRUNUOwotCi0gICAgaWYgKCF0aGlzLmlzVmFs
aWRSYW5nZShvZmZzZXQsIGludGVybmFsLmtTdHJ1Y3RIZWFkZXJTaXplKSkKLSAgICAgIHJldHVy
biB2YWxpZGF0aW9uRXJyb3IuSUxMRUdBTF9NRU1PUllfUkFOR0U7Ci0KLSAgICB2YXIgbnVtQnl0
ZXMgPSB0aGlzLm1lc3NhZ2UuYnVmZmVyLmdldFVpbnQzMihvZmZzZXQpOwotCi0gICAgaWYgKG51
bUJ5dGVzIDwgbWluTnVtQnl0ZXMpCi0gICAgICByZXR1cm4gdmFsaWRhdGlvbkVycm9yLlVORVhQ
RUNURURfU1RSVUNUX0hFQURFUjsKLQotICAgIGlmICghdGhpcy5jbGFpbVJhbmdlKG9mZnNldCwg
bnVtQnl0ZXMpKQotICAgICAgcmV0dXJuIHZhbGlkYXRpb25FcnJvci5JTExFR0FMX01FTU9SWV9S
QU5HRTsKLQotICAgIHJldHVybiB2YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQotICBWYWxp
ZGF0b3IucHJvdG90eXBlLnZhbGlkYXRlU3RydWN0VmVyc2lvbiA9IGZ1bmN0aW9uKG9mZnNldCwg
dmVyc2lvblNpemVzKSB7Ci0gICAgdmFyIG51bUJ5dGVzID0gdGhpcy5tZXNzYWdlLmJ1ZmZlci5n
ZXRVaW50MzIob2Zmc2V0KTsKLSAgICB2YXIgdmVyc2lvbiA9IHRoaXMubWVzc2FnZS5idWZmZXIu
Z2V0VWludDMyKG9mZnNldCArIDQpOwotCi0gICAgaWYgKHZlcnNpb24gPD0gdmVyc2lvblNpemVz
W3ZlcnNpb25TaXplcy5sZW5ndGggLSAxXS52ZXJzaW9uKSB7Ci0gICAgICAvLyBTY2FuIGluIHJl
dmVyc2Ugb3JkZXIgdG8gb3B0aW1pemUgZm9yIG1vcmUgcmVjZW50IHZlcnNpb25TaXplcy4KLSAg
ICAgIGZvciAodmFyIGkgPSB2ZXJzaW9uU2l6ZXMubGVuZ3RoIC0gMTsgaSA+PSAwOyAtLWkpIHsK
LSAgICAgICAgaWYgKHZlcnNpb24gPj0gdmVyc2lvblNpemVzW2ldLnZlcnNpb24pIHsKLSAgICAg
ICAgICBpZiAobnVtQnl0ZXMgPT0gdmVyc2lvblNpemVzW2ldLm51bUJ5dGVzKQotICAgICAgICAg
ICAgYnJlYWs7Ci0gICAgICAgICAgcmV0dXJuIHZhbGlkYXRpb25FcnJvci5VTkVYUEVDVEVEX1NU
UlVDVF9IRUFERVI7Ci0gICAgICAgIH0KLSAgICAgIH0KLSAgICB9IGVsc2UgaWYgKG51bUJ5dGVz
IDwgdmVyc2lvblNpemVzW3ZlcnNpb25TaXplcy5sZW5ndGgtMV0ubnVtQnl0ZXMpIHsKLSAgICAg
IHJldHVybiB2YWxpZGF0aW9uRXJyb3IuVU5FWFBFQ1RFRF9TVFJVQ1RfSEVBREVSOwotICAgIH0K
LQotICAgIHJldHVybiB2YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQotICBWYWxpZGF0b3Iu
cHJvdG90eXBlLmlzRmllbGRJblN0cnVjdFZlcnNpb24gPSBmdW5jdGlvbihvZmZzZXQsIGZpZWxk
VmVyc2lvbikgewotICAgIHZhciBzdHJ1Y3RWZXJzaW9uID0gdGhpcy5tZXNzYWdlLmJ1ZmZlci5n
ZXRVaW50MzIob2Zmc2V0ICsgNCk7Ci0gICAgcmV0dXJuIGZpZWxkVmVyc2lvbiA8PSBzdHJ1Y3RW
ZXJzaW9uOwotICB9OwotCi0gIFZhbGlkYXRvci5wcm90b3R5cGUudmFsaWRhdGVNZXNzYWdlSGVh
ZGVyID0gZnVuY3Rpb24oKSB7Ci0gICAgdmFyIGVyciA9IHRoaXMudmFsaWRhdGVTdHJ1Y3RIZWFk
ZXIoMCwgaW50ZXJuYWwua01lc3NhZ2VWMEhlYWRlclNpemUpOwotICAgIGlmIChlcnIgIT0gdmFs
aWRhdGlvbkVycm9yLk5PTkUpIHsKLSAgICAgIHJldHVybiBlcnI7Ci0gICAgfQotCi0gICAgdmFy
IG51bUJ5dGVzID0gdGhpcy5tZXNzYWdlLmdldEhlYWRlck51bUJ5dGVzKCk7Ci0gICAgdmFyIHZl
cnNpb24gPSB0aGlzLm1lc3NhZ2UuZ2V0SGVhZGVyVmVyc2lvbigpOwotCi0gICAgdmFyIHZhbGlk
VmVyc2lvbkFuZE51bUJ5dGVzID0KLSAgICAgICAgKHZlcnNpb24gPT0gMCAmJiBudW1CeXRlcyA9
PSBpbnRlcm5hbC5rTWVzc2FnZVYwSGVhZGVyU2l6ZSkgfHwKLSAgICAgICAgKHZlcnNpb24gPT0g
MSAmJiBudW1CeXRlcyA9PSBpbnRlcm5hbC5rTWVzc2FnZVYxSGVhZGVyU2l6ZSkgfHwKLSAgICAg
ICAgKHZlcnNpb24gPT0gMiAmJiBudW1CeXRlcyA9PSBpbnRlcm5hbC5rTWVzc2FnZVYySGVhZGVy
U2l6ZSkgfHwKLSAgICAgICAgKHZlcnNpb24gPiAyICYmIG51bUJ5dGVzID49IGludGVybmFsLmtN
ZXNzYWdlVjJIZWFkZXJTaXplKTsKLQotICAgIGlmICghdmFsaWRWZXJzaW9uQW5kTnVtQnl0ZXMp
IHsKLSAgICAgIHJldHVybiB2YWxpZGF0aW9uRXJyb3IuVU5FWFBFQ1RFRF9TVFJVQ1RfSEVBREVS
OwotICAgIH0KLQotICAgIHZhciBleHBlY3RzUmVzcG9uc2UgPSB0aGlzLm1lc3NhZ2UuZXhwZWN0
c1Jlc3BvbnNlKCk7Ci0gICAgdmFyIGlzUmVzcG9uc2UgPSB0aGlzLm1lc3NhZ2UuaXNSZXNwb25z
ZSgpOwotCi0gICAgaWYgKHZlcnNpb24gPT0gMCAmJiAoZXhwZWN0c1Jlc3BvbnNlIHx8IGlzUmVz
cG9uc2UpKSB7Ci0gICAgICByZXR1cm4gdmFsaWRhdGlvbkVycm9yLk1FU1NBR0VfSEVBREVSX01J
U1NJTkdfUkVRVUVTVF9JRDsKLSAgICB9Ci0KLSAgICBpZiAoaXNSZXNwb25zZSAmJiBleHBlY3Rz
UmVzcG9uc2UpIHsKLSAgICAgIHJldHVybiB2YWxpZGF0aW9uRXJyb3IuTUVTU0FHRV9IRUFERVJf
SU5WQUxJRF9GTEFHUzsKLSAgICB9Ci0KLSAgICBpZiAodmVyc2lvbiA8IDIpIHsKLSAgICAgIHJl
dHVybiB2YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAgICB9Ci0KLSAgICB2YXIgZXJyID0gdGhpcy52
YWxpZGF0ZUFycmF5UG9pbnRlcigKLSAgICAgICAgaW50ZXJuYWwua01lc3NhZ2VQYXlsb2FkSW50
ZXJmYWNlSWRzUG9pbnRlck9mZnNldCwKLSAgICAgICAgaW50ZXJuYWwuVWludDMyLmVuY29kZWRT
aXplLCBpbnRlcm5hbC5VaW50MzIsIHRydWUsIFswXSwgMCk7Ci0KLSAgICBpZiAoZXJyICE9IHZh
bGlkYXRpb25FcnJvci5OT05FKSB7Ci0gICAgICByZXR1cm4gZXJyOwotICAgIH0KLQotICAgIHRo
aXMucGF5bG9hZEludGVyZmFjZUlkcyA9IHRoaXMubWVzc2FnZS5nZXRQYXlsb2FkSW50ZXJmYWNl
SWRzKCk7Ci0gICAgaWYgKHRoaXMucGF5bG9hZEludGVyZmFjZUlkcykgewotICAgICAgZm9yICh2
YXIgaW50ZXJmYWNlSWQgb2YgdGhpcy5wYXlsb2FkSW50ZXJmYWNlSWRzKSB7Ci0gICAgICAgIGlm
ICghaW50ZXJuYWwuaXNWYWxpZEludGVyZmFjZUlkKGludGVyZmFjZUlkKSB8fAotICAgICAgICAg
ICAgaW50ZXJuYWwuaXNNYXN0ZXJJbnRlcmZhY2VJZChpbnRlcmZhY2VJZCkpIHsKLSAgICAgICAg
ICByZXR1cm4gdmFsaWRhdGlvbkVycm9yLklMTEVHQUxfSU5URVJGQUNFX0lEOwotICAgICAgICB9
Ci0gICAgICB9Ci0gICAgfQotCi0gICAgLy8gU2V0IG9mZnNldCB0byB0aGUgc3RhcnQgb2YgdGhl
IHBheWxvYWQgYW5kIG9mZnNldExpbWl0IHRvIHRoZSBzdGFydCBvZgotICAgIC8vIHRoZSBwYXls
b2FkIGludGVyZmFjZSBJZHMgc28gdGhhdCBwYXlsb2FkIGNhbiBiZSB2YWxpZGF0ZWQgdXNpbmcg
dGhlCi0gICAgLy8gc2FtZSBtZXNzYWdlVmFsaWRhdG9yLgotICAgIHRoaXMub2Zmc2V0ID0gdGhp
cy5tZXNzYWdlLmdldEhlYWRlck51bUJ5dGVzKCk7Ci0gICAgdGhpcy5vZmZzZXRMaW1pdCA9IHRo
aXMuZGVjb2RlUG9pbnRlcigKLSAgICAgICAgaW50ZXJuYWwua01lc3NhZ2VQYXlsb2FkSW50ZXJm
YWNlSWRzUG9pbnRlck9mZnNldCk7Ci0KLSAgICByZXR1cm4gdmFsaWRhdGlvbkVycm9yLk5PTkU7
Ci0gIH07Ci0KLSAgVmFsaWRhdG9yLnByb3RvdHlwZS52YWxpZGF0ZU1lc3NhZ2VJc1JlcXVlc3RX
aXRob3V0UmVzcG9uc2UgPSBmdW5jdGlvbigpIHsKLSAgICBpZiAodGhpcy5tZXNzYWdlLmlzUmVz
cG9uc2UoKSB8fCB0aGlzLm1lc3NhZ2UuZXhwZWN0c1Jlc3BvbnNlKCkpIHsKLSAgICAgIHJldHVy
biB2YWxpZGF0aW9uRXJyb3IuTUVTU0FHRV9IRUFERVJfSU5WQUxJRF9GTEFHUzsKLSAgICB9Ci0g
ICAgcmV0dXJuIHZhbGlkYXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIFZhbGlkYXRvci5wcm90
b3R5cGUudmFsaWRhdGVNZXNzYWdlSXNSZXF1ZXN0RXhwZWN0aW5nUmVzcG9uc2UgPSBmdW5jdGlv
bigpIHsKLSAgICBpZiAodGhpcy5tZXNzYWdlLmlzUmVzcG9uc2UoKSB8fCAhdGhpcy5tZXNzYWdl
LmV4cGVjdHNSZXNwb25zZSgpKSB7Ci0gICAgICByZXR1cm4gdmFsaWRhdGlvbkVycm9yLk1FU1NB
R0VfSEVBREVSX0lOVkFMSURfRkxBR1M7Ci0gICAgfQotICAgIHJldHVybiB2YWxpZGF0aW9uRXJy
b3IuTk9ORTsKLSAgfTsKLQotICBWYWxpZGF0b3IucHJvdG90eXBlLnZhbGlkYXRlTWVzc2FnZUlz
UmVzcG9uc2UgPSBmdW5jdGlvbigpIHsKLSAgICBpZiAodGhpcy5tZXNzYWdlLmV4cGVjdHNSZXNw
b25zZSgpIHx8ICF0aGlzLm1lc3NhZ2UuaXNSZXNwb25zZSgpKSB7Ci0gICAgICByZXR1cm4gdmFs
aWRhdGlvbkVycm9yLk1FU1NBR0VfSEVBREVSX0lOVkFMSURfRkxBR1M7Ci0gICAgfQotICAgIHJl
dHVybiB2YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQotICAvLyBSZXR1cm5zIHRoZSBtZXNz
YWdlLmJ1ZmZlciByZWxhdGl2ZSBvZmZzZXQgdGhpcyBwb2ludGVyICJwb2ludHMgdG8iLAotICAv
LyBOVUxMX01PSk9fUE9JTlRFUiBpZiB0aGUgcG9pbnRlciByZXByZXNlbnRzIGEgbnVsbCwgb3Ig
SlMgbnVsbCBpZiB0aGUKLSAgLy8gcG9pbnRlcidzIHZhbHVlIGlzIG5vdCB2YWxpZC4KLSAgVmFs
aWRhdG9yLnByb3RvdHlwZS5kZWNvZGVQb2ludGVyID0gZnVuY3Rpb24ob2Zmc2V0KSB7Ci0gICAg
dmFyIHBvaW50ZXJWYWx1ZSA9IHRoaXMubWVzc2FnZS5idWZmZXIuZ2V0VWludDY0KG9mZnNldCk7
Ci0gICAgaWYgKHBvaW50ZXJWYWx1ZSA9PT0gMCkKLSAgICAgIHJldHVybiBOVUxMX01PSk9fUE9J
TlRFUjsKLSAgICB2YXIgYnVmZmVyT2Zmc2V0ID0gb2Zmc2V0ICsgcG9pbnRlclZhbHVlOwotICAg
IHJldHVybiBOdW1iZXIuaXNTYWZlSW50ZWdlcihidWZmZXJPZmZzZXQpID8gYnVmZmVyT2Zmc2V0
IDogbnVsbDsKLSAgfTsKLQotICBWYWxpZGF0b3IucHJvdG90eXBlLmRlY29kZVVuaW9uU2l6ZSA9
IGZ1bmN0aW9uKG9mZnNldCkgewotICAgIHJldHVybiB0aGlzLm1lc3NhZ2UuYnVmZmVyLmdldFVp
bnQzMihvZmZzZXQpOwotICB9OwotCi0gIFZhbGlkYXRvci5wcm90b3R5cGUuZGVjb2RlVW5pb25U
YWcgPSBmdW5jdGlvbihvZmZzZXQpIHsKLSAgICByZXR1cm4gdGhpcy5tZXNzYWdlLmJ1ZmZlci5n
ZXRVaW50MzIob2Zmc2V0ICsgNCk7Ci0gIH07Ci0KLSAgVmFsaWRhdG9yLnByb3RvdHlwZS52YWxp
ZGF0ZUFycmF5UG9pbnRlciA9IGZ1bmN0aW9uKAotICAgICAgb2Zmc2V0LCBlbGVtZW50U2l6ZSwg
ZWxlbWVudFR5cGUsIG51bGxhYmxlLCBleHBlY3RlZERpbWVuc2lvblNpemVzLAotICAgICAgY3Vy
cmVudERpbWVuc2lvbikgewotICAgIHZhciBhcnJheU9mZnNldCA9IHRoaXMuZGVjb2RlUG9pbnRl
cihvZmZzZXQpOwotICAgIGlmIChhcnJheU9mZnNldCA9PT0gbnVsbCkKLSAgICAgIHJldHVybiB2
YWxpZGF0aW9uRXJyb3IuSUxMRUdBTF9QT0lOVEVSOwotCi0gICAgaWYgKGFycmF5T2Zmc2V0ID09
PSBOVUxMX01PSk9fUE9JTlRFUikKLSAgICAgIHJldHVybiBudWxsYWJsZSA/Ci0gICAgICAgICAg
dmFsaWRhdGlvbkVycm9yLk5PTkUgOiB2YWxpZGF0aW9uRXJyb3IuVU5FWFBFQ1RFRF9OVUxMX1BP
SU5URVI7Ci0KLSAgICByZXR1cm4gdGhpcy52YWxpZGF0ZUFycmF5KGFycmF5T2Zmc2V0LCBlbGVt
ZW50U2l6ZSwgZWxlbWVudFR5cGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHBl
Y3RlZERpbWVuc2lvblNpemVzLCBjdXJyZW50RGltZW5zaW9uKTsKLSAgfTsKLQotICBWYWxpZGF0
b3IucHJvdG90eXBlLnZhbGlkYXRlU3RydWN0UG9pbnRlciA9IGZ1bmN0aW9uKAotICAgICAgb2Zm
c2V0LCBzdHJ1Y3RDbGFzcywgbnVsbGFibGUpIHsKLSAgICB2YXIgc3RydWN0T2Zmc2V0ID0gdGhp
cy5kZWNvZGVQb2ludGVyKG9mZnNldCk7Ci0gICAgaWYgKHN0cnVjdE9mZnNldCA9PT0gbnVsbCkK
LSAgICAgIHJldHVybiB2YWxpZGF0aW9uRXJyb3IuSUxMRUdBTF9QT0lOVEVSOwotCi0gICAgaWYg
KHN0cnVjdE9mZnNldCA9PT0gTlVMTF9NT0pPX1BPSU5URVIpCi0gICAgICByZXR1cm4gbnVsbGFi
bGUgPwotICAgICAgICAgIHZhbGlkYXRpb25FcnJvci5OT05FIDogdmFsaWRhdGlvbkVycm9yLlVO
RVhQRUNURURfTlVMTF9QT0lOVEVSOwotCi0gICAgcmV0dXJuIHN0cnVjdENsYXNzLnZhbGlkYXRl
KHRoaXMsIHN0cnVjdE9mZnNldCk7Ci0gIH07Ci0KLSAgVmFsaWRhdG9yLnByb3RvdHlwZS52YWxp
ZGF0ZVVuaW9uID0gZnVuY3Rpb24oCi0gICAgICBvZmZzZXQsIHVuaW9uQ2xhc3MsIG51bGxhYmxl
KSB7Ci0gICAgdmFyIHNpemUgPSB0aGlzLm1lc3NhZ2UuYnVmZmVyLmdldFVpbnQzMihvZmZzZXQp
OwotICAgIGlmIChzaXplID09IDApIHsKLSAgICAgIHJldHVybiBudWxsYWJsZSA/Ci0gICAgICAg
ICAgdmFsaWRhdGlvbkVycm9yLk5PTkUgOiB2YWxpZGF0aW9uRXJyb3IuVU5FWFBFQ1RFRF9OVUxM
X1VOSU9OOwotICAgIH0KLQotICAgIHJldHVybiB1bmlvbkNsYXNzLnZhbGlkYXRlKHRoaXMsIG9m
ZnNldCk7Ci0gIH07Ci0KLSAgVmFsaWRhdG9yLnByb3RvdHlwZS52YWxpZGF0ZU5lc3RlZFVuaW9u
ID0gZnVuY3Rpb24oCi0gICAgICBvZmZzZXQsIHVuaW9uQ2xhc3MsIG51bGxhYmxlKSB7Ci0gICAg
dmFyIHVuaW9uT2Zmc2V0ID0gdGhpcy5kZWNvZGVQb2ludGVyKG9mZnNldCk7Ci0gICAgaWYgKHVu
aW9uT2Zmc2V0ID09PSBudWxsKQotICAgICAgcmV0dXJuIHZhbGlkYXRpb25FcnJvci5JTExFR0FM
X1BPSU5URVI7Ci0KLSAgICBpZiAodW5pb25PZmZzZXQgPT09IE5VTExfTU9KT19QT0lOVEVSKQot
ICAgICAgcmV0dXJuIG51bGxhYmxlID8KLSAgICAgICAgICB2YWxpZGF0aW9uRXJyb3IuTk9ORSA6
IHZhbGlkYXRpb25FcnJvci5VTkVYUEVDVEVEX05VTExfVU5JT047Ci0KLSAgICByZXR1cm4gdGhp
cy52YWxpZGF0ZVVuaW9uKHVuaW9uT2Zmc2V0LCB1bmlvbkNsYXNzLCBudWxsYWJsZSk7Ci0gIH07
Ci0KLSAgLy8gVGhpcyBtZXRob2QgYXNzdW1lcyB0aGF0IHRoZSBhcnJheSBhdCBhcnJheVBvaW50
ZXJPZmZzZXQgaGFzCi0gIC8vIGJlZW4gdmFsaWRhdGVkLgotCi0gIFZhbGlkYXRvci5wcm90b3R5
cGUuYXJyYXlMZW5ndGggPSBmdW5jdGlvbihhcnJheVBvaW50ZXJPZmZzZXQpIHsKLSAgICB2YXIg
YXJyYXlPZmZzZXQgPSB0aGlzLmRlY29kZVBvaW50ZXIoYXJyYXlQb2ludGVyT2Zmc2V0KTsKLSAg
ICByZXR1cm4gdGhpcy5tZXNzYWdlLmJ1ZmZlci5nZXRVaW50MzIoYXJyYXlPZmZzZXQgKyA0KTsK
LSAgfTsKLQotICBWYWxpZGF0b3IucHJvdG90eXBlLnZhbGlkYXRlTWFwUG9pbnRlciA9IGZ1bmN0
aW9uKAotICAgICAgb2Zmc2V0LCBtYXBJc051bGxhYmxlLCBrZXlDbGFzcywgdmFsdWVDbGFzcywg
dmFsdWVJc051bGxhYmxlKSB7Ci0gICAgLy8gVmFsaWRhdGUgdGhlIGltcGxpY2l0IG1hcCBzdHJ1
Y3Q6Ci0gICAgLy8gc3RydWN0IHthcnJheTxrZXlDbGFzcz4ga2V5czsgYXJyYXk8dmFsdWVDbGFz
cz4gdmFsdWVzfTsKLSAgICB2YXIgc3RydWN0T2Zmc2V0ID0gdGhpcy5kZWNvZGVQb2ludGVyKG9m
ZnNldCk7Ci0gICAgaWYgKHN0cnVjdE9mZnNldCA9PT0gbnVsbCkKLSAgICAgIHJldHVybiB2YWxp
ZGF0aW9uRXJyb3IuSUxMRUdBTF9QT0lOVEVSOwotCi0gICAgaWYgKHN0cnVjdE9mZnNldCA9PT0g
TlVMTF9NT0pPX1BPSU5URVIpCi0gICAgICByZXR1cm4gbWFwSXNOdWxsYWJsZSA/Ci0gICAgICAg
ICAgdmFsaWRhdGlvbkVycm9yLk5PTkUgOiB2YWxpZGF0aW9uRXJyb3IuVU5FWFBFQ1RFRF9OVUxM
X1BPSU5URVI7Ci0KLSAgICB2YXIgbWFwRW5jb2RlZFNpemUgPSBpbnRlcm5hbC5rU3RydWN0SGVh
ZGVyU2l6ZSArCi0gICAgICAgICAgICAgICAgICAgICAgICAgaW50ZXJuYWwua01hcFN0cnVjdFBh
eWxvYWRTaXplOwotICAgIHZhciBlcnIgPSB0aGlzLnZhbGlkYXRlU3RydWN0SGVhZGVyKHN0cnVj
dE9mZnNldCwgbWFwRW5jb2RlZFNpemUpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRpb25FcnJv
ci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgLy8gVmFsaWRhdGUgdGhlIGtleXMg
YXJyYXkuCi0gICAgdmFyIGtleXNBcnJheVBvaW50ZXJPZmZzZXQgPSBzdHJ1Y3RPZmZzZXQgKyBp
bnRlcm5hbC5rU3RydWN0SGVhZGVyU2l6ZTsKLSAgICBlcnIgPSB0aGlzLnZhbGlkYXRlQXJyYXlQ
b2ludGVyKAotICAgICAgICBrZXlzQXJyYXlQb2ludGVyT2Zmc2V0LCBrZXlDbGFzcy5lbmNvZGVk
U2l6ZSwga2V5Q2xhc3MsIGZhbHNlLCBbMF0sIDApOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRp
b25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgLy8gVmFsaWRhdGUgdGhl
IHZhbHVlcyBhcnJheS4KLSAgICB2YXIgdmFsdWVzQXJyYXlQb2ludGVyT2Zmc2V0ID0ga2V5c0Fy
cmF5UG9pbnRlck9mZnNldCArIDg7Ci0gICAgdmFyIHZhbHVlc0FycmF5RGltZW5zaW9ucyA9IFsw
XTsgLy8gVmFsaWRhdGUgdGhlIGFjdHVhbCBsZW5ndGggYmVsb3cuCi0gICAgaWYgKHZhbHVlQ2xh
c3MgaW5zdGFuY2VvZiBpbnRlcm5hbC5BcnJheU9mKQotICAgICAgdmFsdWVzQXJyYXlEaW1lbnNp
b25zID0KLSAgICAgICAgICB2YWx1ZXNBcnJheURpbWVuc2lvbnMuY29uY2F0KHZhbHVlQ2xhc3Mu
ZGltZW5zaW9ucygpKTsKLSAgICB2YXIgZXJyID0gdGhpcy52YWxpZGF0ZUFycmF5UG9pbnRlcih2
YWx1ZXNBcnJheVBvaW50ZXJPZmZzZXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdmFsdWVDbGFzcy5lbmNvZGVkU2l6ZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB2YWx1ZUNsYXNzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHZhbHVlSXNOdWxsYWJsZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB2YWx1ZXNBcnJheURpbWVuc2lvbnMsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgMCk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdGlvbkVycm9y
Lk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICAvLyBWYWxpZGF0ZSB0aGUgbGVuZ3Ro
cyBvZiB0aGUga2V5cyBhbmQgdmFsdWVzIGFycmF5cy4KLSAgICB2YXIga2V5c0FycmF5TGVuZ3Ro
ID0gdGhpcy5hcnJheUxlbmd0aChrZXlzQXJyYXlQb2ludGVyT2Zmc2V0KTsKLSAgICB2YXIgdmFs
dWVzQXJyYXlMZW5ndGggPSB0aGlzLmFycmF5TGVuZ3RoKHZhbHVlc0FycmF5UG9pbnRlck9mZnNl
dCk7Ci0gICAgaWYgKGtleXNBcnJheUxlbmd0aCAhPSB2YWx1ZXNBcnJheUxlbmd0aCkKLSAgICAg
IHJldHVybiB2YWxpZGF0aW9uRXJyb3IuRElGRkVSRU5UX1NJWkVEX0FSUkFZU19JTl9NQVA7Ci0K
LSAgICByZXR1cm4gdmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gIH07Ci0KLSAgVmFsaWRhdG9yLnBy
b3RvdHlwZS52YWxpZGF0ZVN0cmluZ1BvaW50ZXIgPSBmdW5jdGlvbihvZmZzZXQsIG51bGxhYmxl
KSB7Ci0gICAgcmV0dXJuIHRoaXMudmFsaWRhdGVBcnJheVBvaW50ZXIoCi0gICAgICAgIG9mZnNl
dCwgaW50ZXJuYWwuVWludDguZW5jb2RlZFNpemUsIGludGVybmFsLlVpbnQ4LCBudWxsYWJsZSwg
WzBdLCAwKTsKLSAgfTsKLQotICAvLyBTaW1pbGFyIHRvIEFycmF5X0RhdGE8VD46OlZhbGlkYXRl
KCkKLSAgLy8gbW9qby9wdWJsaWMvY3BwL2JpbmRpbmdzL2xpYi9hcnJheV9pbnRlcm5hbC5oCi0K
LSAgVmFsaWRhdG9yLnByb3RvdHlwZS52YWxpZGF0ZUFycmF5ID0KLSAgICAgIGZ1bmN0aW9uIChv
ZmZzZXQsIGVsZW1lbnRTaXplLCBlbGVtZW50VHlwZSwgZXhwZWN0ZWREaW1lbnNpb25TaXplcywK
LSAgICAgICAgICAgICAgICBjdXJyZW50RGltZW5zaW9uKSB7Ci0gICAgaWYgKCFpbnRlcm5hbC5p
c0FsaWduZWQob2Zmc2V0KSkKLSAgICAgIHJldHVybiB2YWxpZGF0aW9uRXJyb3IuTUlTQUxJR05F
RF9PQkpFQ1Q7Ci0KLSAgICBpZiAoIXRoaXMuaXNWYWxpZFJhbmdlKG9mZnNldCwgaW50ZXJuYWwu
a0FycmF5SGVhZGVyU2l6ZSkpCi0gICAgICByZXR1cm4gdmFsaWRhdGlvbkVycm9yLklMTEVHQUxf
TUVNT1JZX1JBTkdFOwotCi0gICAgdmFyIG51bUJ5dGVzID0gdGhpcy5tZXNzYWdlLmJ1ZmZlci5n
ZXRVaW50MzIob2Zmc2V0KTsKLSAgICB2YXIgbnVtRWxlbWVudHMgPSB0aGlzLm1lc3NhZ2UuYnVm
ZmVyLmdldFVpbnQzMihvZmZzZXQgKyA0KTsKLQotICAgIC8vIE5vdGU6IHRoaXMgY29tcHV0YXRp
b24gaXMgInNhZmUiIGJlY2F1c2UgZWxlbWVudFNpemUgPD0gOCBhbmQKLSAgICAvLyBudW1FbGVt
ZW50cyBpcyBhIHVpbnQzMi4KLSAgICB2YXIgZWxlbWVudHNUb3RhbFNpemUgPSAoZWxlbWVudFR5
cGUgPT09IGludGVybmFsLlBhY2tlZEJvb2wpID8KLSAgICAgICAgTWF0aC5jZWlsKG51bUVsZW1l
bnRzIC8gOCkgOiAoZWxlbWVudFNpemUgKiBudW1FbGVtZW50cyk7Ci0KLSAgICBpZiAobnVtQnl0
ZXMgPCBpbnRlcm5hbC5rQXJyYXlIZWFkZXJTaXplICsgZWxlbWVudHNUb3RhbFNpemUpCi0gICAg
ICByZXR1cm4gdmFsaWRhdGlvbkVycm9yLlVORVhQRUNURURfQVJSQVlfSEVBREVSOwotCi0gICAg
aWYgKGV4cGVjdGVkRGltZW5zaW9uU2l6ZXNbY3VycmVudERpbWVuc2lvbl0gIT0gMCAmJgotICAg
ICAgICBudW1FbGVtZW50cyAhPSBleHBlY3RlZERpbWVuc2lvblNpemVzW2N1cnJlbnREaW1lbnNp
b25dKSB7Ci0gICAgICByZXR1cm4gdmFsaWRhdGlvbkVycm9yLlVORVhQRUNURURfQVJSQVlfSEVB
REVSOwotICAgIH0KLQotICAgIGlmICghdGhpcy5jbGFpbVJhbmdlKG9mZnNldCwgbnVtQnl0ZXMp
KQotICAgICAgcmV0dXJuIHZhbGlkYXRpb25FcnJvci5JTExFR0FMX01FTU9SWV9SQU5HRTsKLQot
ICAgIC8vIFZhbGlkYXRlIHRoZSBhcnJheSdzIGVsZW1lbnRzIGlmIHRoZXkgYXJlIHBvaW50ZXJz
IG9yIGhhbmRsZXMuCi0KLSAgICB2YXIgZWxlbWVudHNPZmZzZXQgPSBvZmZzZXQgKyBpbnRlcm5h
bC5rQXJyYXlIZWFkZXJTaXplOwotICAgIHZhciBudWxsYWJsZSA9IGlzTnVsbGFibGUoZWxlbWVu
dFR5cGUpOwotCi0gICAgaWYgKGlzSGFuZGxlQ2xhc3MoZWxlbWVudFR5cGUpKQotICAgICAgcmV0
dXJuIHRoaXMudmFsaWRhdGVIYW5kbGVFbGVtZW50cyhlbGVtZW50c09mZnNldCwgbnVtRWxlbWVu
dHMsIG51bGxhYmxlKTsKLSAgICBpZiAoaXNJbnRlcmZhY2VDbGFzcyhlbGVtZW50VHlwZSkpCi0g
ICAgICByZXR1cm4gdGhpcy52YWxpZGF0ZUludGVyZmFjZUVsZW1lbnRzKAotICAgICAgICAgIGVs
ZW1lbnRzT2Zmc2V0LCBudW1FbGVtZW50cywgbnVsbGFibGUpOwotICAgIGlmIChpc0ludGVyZmFj
ZVJlcXVlc3RDbGFzcyhlbGVtZW50VHlwZSkpCi0gICAgICByZXR1cm4gdGhpcy52YWxpZGF0ZUlu
dGVyZmFjZVJlcXVlc3RFbGVtZW50cygKLSAgICAgICAgICBlbGVtZW50c09mZnNldCwgbnVtRWxl
bWVudHMsIG51bGxhYmxlKTsKLSAgICBpZiAoaXNBc3NvY2lhdGVkSW50ZXJmYWNlQ2xhc3MoZWxl
bWVudFR5cGUpKQotICAgICAgcmV0dXJuIHRoaXMudmFsaWRhdGVBc3NvY2lhdGVkSW50ZXJmYWNl
RWxlbWVudHMoCi0gICAgICAgICAgZWxlbWVudHNPZmZzZXQsIG51bUVsZW1lbnRzLCBudWxsYWJs
ZSk7Ci0gICAgaWYgKGlzQXNzb2NpYXRlZEludGVyZmFjZVJlcXVlc3RDbGFzcyhlbGVtZW50VHlw
ZSkpCi0gICAgICByZXR1cm4gdGhpcy52YWxpZGF0ZUFzc29jaWF0ZWRJbnRlcmZhY2VSZXF1ZXN0
RWxlbWVudHMoCi0gICAgICAgICAgZWxlbWVudHNPZmZzZXQsIG51bUVsZW1lbnRzLCBudWxsYWJs
ZSk7Ci0gICAgaWYgKGlzU3RyaW5nQ2xhc3MoZWxlbWVudFR5cGUpKQotICAgICAgcmV0dXJuIHRo
aXMudmFsaWRhdGVBcnJheUVsZW1lbnRzKAotICAgICAgICAgIGVsZW1lbnRzT2Zmc2V0LCBudW1F
bGVtZW50cywgaW50ZXJuYWwuVWludDgsIG51bGxhYmxlLCBbMF0sIDApOwotICAgIGlmIChlbGVt
ZW50VHlwZSBpbnN0YW5jZW9mIGludGVybmFsLlBvaW50ZXJUbykKLSAgICAgIHJldHVybiB0aGlz
LnZhbGlkYXRlU3RydWN0RWxlbWVudHMoCi0gICAgICAgICAgZWxlbWVudHNPZmZzZXQsIG51bUVs
ZW1lbnRzLCBlbGVtZW50VHlwZS5jbHMsIG51bGxhYmxlKTsKLSAgICBpZiAoZWxlbWVudFR5cGUg
aW5zdGFuY2VvZiBpbnRlcm5hbC5BcnJheU9mKQotICAgICAgcmV0dXJuIHRoaXMudmFsaWRhdGVB
cnJheUVsZW1lbnRzKAotICAgICAgICAgIGVsZW1lbnRzT2Zmc2V0LCBudW1FbGVtZW50cywgZWxl
bWVudFR5cGUuY2xzLCBudWxsYWJsZSwKLSAgICAgICAgICBleHBlY3RlZERpbWVuc2lvblNpemVz
LCBjdXJyZW50RGltZW5zaW9uICsgMSk7Ci0gICAgaWYgKGlzRW51bUNsYXNzKGVsZW1lbnRUeXBl
KSkKLSAgICAgIHJldHVybiB0aGlzLnZhbGlkYXRlRW51bUVsZW1lbnRzKGVsZW1lbnRzT2Zmc2V0
LCBudW1FbGVtZW50cywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVs
ZW1lbnRUeXBlLmNscyk7Ci0KLSAgICByZXR1cm4gdmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gIH07
Ci0KLSAgLy8gTm90ZTogdGhlIHxvZmZzZXQgKyBpICogZWxlbWVudFNpemV8IGNvbXB1dGF0aW9u
IGluIHRoZSB2YWxpZGF0ZUZvb0VsZW1lbnRzCi0gIC8vIG1ldGhvZHMgYmVsb3cgaXMgInNhZmUi
IGJlY2F1c2UgZWxlbWVudFNpemUgPD0gOCwgb2Zmc2V0IGFuZAotICAvLyBudW1FbGVtZW50cyBh
cmUgdWludDMyLCBhbmQgMCA8PSBpIDwgbnVtRWxlbWVudHMuCi0KLSAgVmFsaWRhdG9yLnByb3Rv
dHlwZS52YWxpZGF0ZUhhbmRsZUVsZW1lbnRzID0KLSAgICAgIGZ1bmN0aW9uKG9mZnNldCwgbnVt
RWxlbWVudHMsIG51bGxhYmxlKSB7Ci0gICAgdmFyIGVsZW1lbnRTaXplID0gaW50ZXJuYWwuSGFu
ZGxlLmVuY29kZWRTaXplOwotICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbnVtRWxlbWVudHM7IGkr
KykgewotICAgICAgdmFyIGVsZW1lbnRPZmZzZXQgPSBvZmZzZXQgKyBpICogZWxlbWVudFNpemU7
Ci0gICAgICB2YXIgZXJyID0gdGhpcy52YWxpZGF0ZUhhbmRsZShlbGVtZW50T2Zmc2V0LCBudWxs
YWJsZSk7Ci0gICAgICBpZiAoZXJyICE9IHZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICBy
ZXR1cm4gZXJyOwotICAgIH0KLSAgICByZXR1cm4gdmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gIH07
Ci0KLSAgVmFsaWRhdG9yLnByb3RvdHlwZS52YWxpZGF0ZUludGVyZmFjZUVsZW1lbnRzID0KLSAg
ICAgIGZ1bmN0aW9uKG9mZnNldCwgbnVtRWxlbWVudHMsIG51bGxhYmxlKSB7Ci0gICAgdmFyIGVs
ZW1lbnRTaXplID0gaW50ZXJuYWwuSW50ZXJmYWNlLnByb3RvdHlwZS5lbmNvZGVkU2l6ZTsKLSAg
ICBmb3IgKHZhciBpID0gMDsgaSA8IG51bUVsZW1lbnRzOyBpKyspIHsKLSAgICAgIHZhciBlbGVt
ZW50T2Zmc2V0ID0gb2Zmc2V0ICsgaSAqIGVsZW1lbnRTaXplOwotICAgICAgdmFyIGVyciA9IHRo
aXMudmFsaWRhdGVJbnRlcmZhY2UoZWxlbWVudE9mZnNldCwgbnVsbGFibGUpOwotICAgICAgaWYg
KGVyciAhPSB2YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLSAgICB9
Ci0gICAgcmV0dXJuIHZhbGlkYXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIFZhbGlkYXRvci5w
cm90b3R5cGUudmFsaWRhdGVJbnRlcmZhY2VSZXF1ZXN0RWxlbWVudHMgPQotICAgICAgZnVuY3Rp
b24ob2Zmc2V0LCBudW1FbGVtZW50cywgbnVsbGFibGUpIHsKLSAgICB2YXIgZWxlbWVudFNpemUg
PSBpbnRlcm5hbC5JbnRlcmZhY2VSZXF1ZXN0LmVuY29kZWRTaXplOwotICAgIGZvciAodmFyIGkg
PSAwOyBpIDwgbnVtRWxlbWVudHM7IGkrKykgewotICAgICAgdmFyIGVsZW1lbnRPZmZzZXQgPSBv
ZmZzZXQgKyBpICogZWxlbWVudFNpemU7Ci0gICAgICB2YXIgZXJyID0gdGhpcy52YWxpZGF0ZUlu
dGVyZmFjZVJlcXVlc3QoZWxlbWVudE9mZnNldCwgbnVsbGFibGUpOwotICAgICAgaWYgKGVyciAh
PSB2YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLSAgICB9Ci0gICAg
cmV0dXJuIHZhbGlkYXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIFZhbGlkYXRvci5wcm90b3R5
cGUudmFsaWRhdGVBc3NvY2lhdGVkSW50ZXJmYWNlRWxlbWVudHMgPQotICAgICAgZnVuY3Rpb24o
b2Zmc2V0LCBudW1FbGVtZW50cywgbnVsbGFibGUpIHsKLSAgICB2YXIgZWxlbWVudFNpemUgPSBp
bnRlcm5hbC5Bc3NvY2lhdGVkSW50ZXJmYWNlUHRySW5mby5wcm90b3R5cGUuZW5jb2RlZFNpemU7
Ci0gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBudW1FbGVtZW50czsgaSsrKSB7Ci0gICAgICB2YXIg
ZWxlbWVudE9mZnNldCA9IG9mZnNldCArIGkgKiBlbGVtZW50U2l6ZTsKLSAgICAgIHZhciBlcnIg
PSB0aGlzLnZhbGlkYXRlQXNzb2NpYXRlZEludGVyZmFjZShlbGVtZW50T2Zmc2V0LCBudWxsYWJs
ZSk7Ci0gICAgICBpZiAoZXJyICE9IHZhbGlkYXRpb25FcnJvci5OT05FKSB7Ci0gICAgICAgIHJl
dHVybiBlcnI7Ci0gICAgICB9Ci0gICAgfQotICAgIHJldHVybiB2YWxpZGF0aW9uRXJyb3IuTk9O
RTsKLSAgfTsKLQotICBWYWxpZGF0b3IucHJvdG90eXBlLnZhbGlkYXRlQXNzb2NpYXRlZEludGVy
ZmFjZVJlcXVlc3RFbGVtZW50cyA9Ci0gICAgICBmdW5jdGlvbihvZmZzZXQsIG51bUVsZW1lbnRz
LCBudWxsYWJsZSkgewotICAgIHZhciBlbGVtZW50U2l6ZSA9IGludGVybmFsLkFzc29jaWF0ZWRJ
bnRlcmZhY2VSZXF1ZXN0LmVuY29kZWRTaXplOwotICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbnVt
RWxlbWVudHM7IGkrKykgewotICAgICAgdmFyIGVsZW1lbnRPZmZzZXQgPSBvZmZzZXQgKyBpICog
ZWxlbWVudFNpemU7Ci0gICAgICB2YXIgZXJyID0gdGhpcy52YWxpZGF0ZUFzc29jaWF0ZWRJbnRl
cmZhY2VSZXF1ZXN0KGVsZW1lbnRPZmZzZXQsCi0gICAgICAgICAgbnVsbGFibGUpOwotICAgICAg
aWYgKGVyciAhPSB2YWxpZGF0aW9uRXJyb3IuTk9ORSkgewotICAgICAgICByZXR1cm4gZXJyOwot
ICAgICAgfQotICAgIH0KLSAgICByZXR1cm4gdmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gIH07Ci0K
LSAgLy8gVGhlIGVsZW1lbnRDbGFzcyBwYXJhbWV0ZXIgaXMgdGhlIGVsZW1lbnQgdHlwZSBvZiB0
aGUgZWxlbWVudCBhcnJheXMuCi0gIFZhbGlkYXRvci5wcm90b3R5cGUudmFsaWRhdGVBcnJheUVs
ZW1lbnRzID0KLSAgICAgIGZ1bmN0aW9uKG9mZnNldCwgbnVtRWxlbWVudHMsIGVsZW1lbnRDbGFz
cywgbnVsbGFibGUsCi0gICAgICAgICAgICAgICBleHBlY3RlZERpbWVuc2lvblNpemVzLCBjdXJy
ZW50RGltZW5zaW9uKSB7Ci0gICAgdmFyIGVsZW1lbnRTaXplID0gaW50ZXJuYWwuUG9pbnRlclRv
LnByb3RvdHlwZS5lbmNvZGVkU2l6ZTsKLSAgICBmb3IgKHZhciBpID0gMDsgaSA8IG51bUVsZW1l
bnRzOyBpKyspIHsKLSAgICAgIHZhciBlbGVtZW50T2Zmc2V0ID0gb2Zmc2V0ICsgaSAqIGVsZW1l
bnRTaXplOwotICAgICAgdmFyIGVyciA9IHRoaXMudmFsaWRhdGVBcnJheVBvaW50ZXIoCi0gICAg
ICAgICAgZWxlbWVudE9mZnNldCwgZWxlbWVudENsYXNzLmVuY29kZWRTaXplLCBlbGVtZW50Q2xh
c3MsIG51bGxhYmxlLAotICAgICAgICAgIGV4cGVjdGVkRGltZW5zaW9uU2l6ZXMsIGN1cnJlbnRE
aW1lbnNpb24pOwotICAgICAgaWYgKGVyciAhPSB2YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAg
ICAgcmV0dXJuIGVycjsKLSAgICB9Ci0gICAgcmV0dXJuIHZhbGlkYXRpb25FcnJvci5OT05FOwot
ICB9OwotCi0gIFZhbGlkYXRvci5wcm90b3R5cGUudmFsaWRhdGVTdHJ1Y3RFbGVtZW50cyA9Ci0g
ICAgICBmdW5jdGlvbihvZmZzZXQsIG51bUVsZW1lbnRzLCBzdHJ1Y3RDbGFzcywgbnVsbGFibGUp
IHsKLSAgICB2YXIgZWxlbWVudFNpemUgPSBpbnRlcm5hbC5Qb2ludGVyVG8ucHJvdG90eXBlLmVu
Y29kZWRTaXplOwotICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbnVtRWxlbWVudHM7IGkrKykgewot
ICAgICAgdmFyIGVsZW1lbnRPZmZzZXQgPSBvZmZzZXQgKyBpICogZWxlbWVudFNpemU7Ci0gICAg
ICB2YXIgZXJyID0KLSAgICAgICAgICB0aGlzLnZhbGlkYXRlU3RydWN0UG9pbnRlcihlbGVtZW50
T2Zmc2V0LCBzdHJ1Y3RDbGFzcywgbnVsbGFibGUpOwotICAgICAgaWYgKGVyciAhPSB2YWxpZGF0
aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLSAgICB9Ci0gICAgcmV0dXJuIHZh
bGlkYXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIFZhbGlkYXRvci5wcm90b3R5cGUudmFsaWRh
dGVFbnVtRWxlbWVudHMgPQotICAgICAgZnVuY3Rpb24ob2Zmc2V0LCBudW1FbGVtZW50cywgZW51
bUNsYXNzKSB7Ci0gICAgdmFyIGVsZW1lbnRTaXplID0gaW50ZXJuYWwuRW51bS5wcm90b3R5cGUu
ZW5jb2RlZFNpemU7Ci0gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBudW1FbGVtZW50czsgaSsrKSB7
Ci0gICAgICB2YXIgZWxlbWVudE9mZnNldCA9IG9mZnNldCArIGkgKiBlbGVtZW50U2l6ZTsKLSAg
ICAgIHZhciBlcnIgPSB0aGlzLnZhbGlkYXRlRW51bShlbGVtZW50T2Zmc2V0LCBlbnVtQ2xhc3Mp
OwotICAgICAgaWYgKGVyciAhPSB2YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJu
IGVycjsKLSAgICB9Ci0gICAgcmV0dXJuIHZhbGlkYXRpb25FcnJvci5OT05FOwotICB9OwotCi0g
IGludGVybmFsLnZhbGlkYXRpb25FcnJvciA9IHZhbGlkYXRpb25FcnJvcjsKLSAgaW50ZXJuYWwu
VmFsaWRhdG9yID0gVmFsaWRhdG9yOwotICBpbnRlcm5hbC5WYWxpZGF0aW9uRXJyb3JPYnNlcnZl
ckZvclRlc3RpbmcgPQotICAgICAgVmFsaWRhdGlvbkVycm9yT2JzZXJ2ZXJGb3JUZXN0aW5nOwot
ICBpbnRlcm5hbC5yZXBvcnRWYWxpZGF0aW9uRXJyb3IgPSByZXBvcnRWYWxpZGF0aW9uRXJyb3I7
Ci0gIGludGVybmFsLmlzVGVzdGluZ01vZGUgPSBpc1Rlc3RpbmdNb2RlOwotICBpbnRlcm5hbC5j
bGVhclRlc3RpbmdNb2RlID0gY2xlYXJUZXN0aW5nTW9kZTsKLX0pKCk7Ci0vLyBDb3B5cmlnaHQg
MjAxNCBUaGUgQ2hyb21pdW0gQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLS8vIFVzZSBv
ZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UgdGhh
dCBjYW4gYmUKLS8vIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCi0KLSd1c2Ugc3RyaWN0JzsK
LQotKGZ1bmN0aW9uKCkgewotICB2YXIgbW9qb21JZCA9ICdtb2pvL3B1YmxpYy9pbnRlcmZhY2Vz
L2JpbmRpbmdzL2ludGVyZmFjZV9jb250cm9sX21lc3NhZ2VzLm1vam9tJzsKLSAgaWYgKG1vam8u
aW50ZXJuYWwuaXNNb2pvbUxvYWRlZChtb2pvbUlkKSkgewotICAgIGNvbnNvbGUud2FybignVGhl
IGZvbGxvd2luZyBtb2pvbSBpcyBsb2FkZWQgbXVsdGlwbGUgdGltZXM6ICcgKyBtb2pvbUlkKTsK
LSAgICByZXR1cm47Ci0gIH0KLSAgbW9qby5pbnRlcm5hbC5tYXJrTW9qb21Mb2FkZWQobW9qb21J
ZCk7Ci0gIHZhciBiaW5kaW5ncyA9IG1vam87Ci0gIHZhciBhc3NvY2lhdGVkQmluZGluZ3MgPSBt
b2pvOwotICB2YXIgY29kZWMgPSBtb2pvLmludGVybmFsOwotICB2YXIgdmFsaWRhdG9yID0gbW9q
by5pbnRlcm5hbDsKLQotICB2YXIgZXhwb3J0cyA9IG1vam8uaW50ZXJuYWwuZXhwb3NlTmFtZXNw
YWNlKCdtb2pvLmludGVyZmFjZUNvbnRyb2wnKTsKLQotCi0gIHZhciBrUnVuTWVzc2FnZUlkID0g
MHhGRkZGRkZGRjsKLSAgdmFyIGtSdW5PckNsb3NlUGlwZU1lc3NhZ2VJZCA9IDB4RkZGRkZGRkU7
Ci0KLSAgZnVuY3Rpb24gUnVuTWVzc2FnZVBhcmFtcyh2YWx1ZXMpIHsKLSAgICB0aGlzLmluaXRE
ZWZhdWx0c18oKTsKLSAgICB0aGlzLmluaXRGaWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0gIFJ1
bk1lc3NhZ2VQYXJhbXMucHJvdG90eXBlLmluaXREZWZhdWx0c18gPSBmdW5jdGlvbigpIHsKLSAg
ICB0aGlzLmlucHV0ID0gbnVsbDsKLSAgfTsKLSAgUnVuTWVzc2FnZVBhcmFtcy5wcm90b3R5cGUu
aW5pdEZpZWxkc18gPSBmdW5jdGlvbihmaWVsZHMpIHsKLSAgICBmb3IodmFyIGZpZWxkIGluIGZp
ZWxkcykgewotICAgICAgICBpZiAodGhpcy5oYXNPd25Qcm9wZXJ0eShmaWVsZCkpCi0gICAgICAg
ICAgdGhpc1tmaWVsZF0gPSBmaWVsZHNbZmllbGRdOwotICAgIH0KLSAgfTsKLQotICBSdW5NZXNz
YWdlUGFyYW1zLnZhbGlkYXRlID0gZnVuY3Rpb24obWVzc2FnZVZhbGlkYXRvciwgb2Zmc2V0KSB7
Ci0gICAgdmFyIGVycjsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0
SGVhZGVyKG9mZnNldCwgY29kZWMua1N0cnVjdEhlYWRlclNpemUpOwotICAgIGlmIChlcnIgIT09
IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQot
ICAgIHZhciBrVmVyc2lvblNpemVzID0gWwotICAgICAge3ZlcnNpb246IDAsIG51bUJ5dGVzOiAy
NH0KLSAgICBdOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RWZXJz
aW9uKG9mZnNldCwga1ZlcnNpb25TaXplcyk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZh
bGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0KLSAgICAvLyB2YWxp
ZGF0ZSBSdW5NZXNzYWdlUGFyYW1zLmlucHV0Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52
YWxpZGF0ZVVuaW9uKG9mZnNldCArIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgMCwgUnVuSW5w
dXQsIGZhbHNlKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5P
TkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRp
b25FcnJvci5OT05FOwotICB9OwotCi0gIFJ1bk1lc3NhZ2VQYXJhbXMuZW5jb2RlZFNpemUgPSBj
b2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDE2OwotCi0gIFJ1bk1lc3NhZ2VQYXJhbXMuZGVjb2Rl
ID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgdmFyIHZhbCA9IG5l
dyBSdW5NZXNzYWdlUGFyYW1zKCk7Ci0gICAgdmFyIG51bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJl
YWRVaW50MzIoKTsKLSAgICB2YXIgdmVyc2lvbiA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAg
IHZhbC5pbnB1dCA9IGRlY29kZXIuZGVjb2RlU3RydWN0KFJ1bklucHV0KTsKLSAgICByZXR1cm4g
dmFsOwotICB9OwotCi0gIFJ1bk1lc3NhZ2VQYXJhbXMuZW5jb2RlID0gZnVuY3Rpb24oZW5jb2Rl
ciwgdmFsKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKFJ1bk1l
c3NhZ2VQYXJhbXMuZW5jb2RlZFNpemUpOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoMCk7Ci0g
ICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3QoUnVuSW5wdXQsIHZhbC5pbnB1dCk7Ci0gIH07Ci0gIGZ1
bmN0aW9uIFJ1blJlc3BvbnNlTWVzc2FnZVBhcmFtcyh2YWx1ZXMpIHsKLSAgICB0aGlzLmluaXRE
ZWZhdWx0c18oKTsKLSAgICB0aGlzLmluaXRGaWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0gIFJ1
blJlc3BvbnNlTWVzc2FnZVBhcmFtcy5wcm90b3R5cGUuaW5pdERlZmF1bHRzXyA9IGZ1bmN0aW9u
KCkgewotICAgIHRoaXMub3V0cHV0ID0gbnVsbDsKLSAgfTsKLSAgUnVuUmVzcG9uc2VNZXNzYWdl
UGFyYW1zLnByb3RvdHlwZS5pbml0RmllbGRzXyA9IGZ1bmN0aW9uKGZpZWxkcykgewotICAgIGZv
cih2YXIgZmllbGQgaW4gZmllbGRzKSB7Ci0gICAgICAgIGlmICh0aGlzLmhhc093blByb3BlcnR5
KGZpZWxkKSkKLSAgICAgICAgICB0aGlzW2ZpZWxkXSA9IGZpZWxkc1tmaWVsZF07Ci0gICAgfQot
ICB9OwotCi0gIFJ1blJlc3BvbnNlTWVzc2FnZVBhcmFtcy52YWxpZGF0ZSA9IGZ1bmN0aW9uKG1l
c3NhZ2VWYWxpZGF0b3IsIG9mZnNldCkgewotICAgIHZhciBlcnI7Ci0gICAgZXJyID0gbWVzc2Fn
ZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdEhlYWRlcihvZmZzZXQsIGNvZGVjLmtTdHJ1Y3RIZWFk
ZXJTaXplKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUp
Ci0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICB2YXIga1ZlcnNpb25TaXplcyA9IFsKLSAgICAg
IHt2ZXJzaW9uOiAwLCBudW1CeXRlczogMjR9Ci0gICAgXTsKLSAgICBlcnIgPSBtZXNzYWdlVmFs
aWRhdG9yLnZhbGlkYXRlU3RydWN0VmVyc2lvbihvZmZzZXQsIGtWZXJzaW9uU2l6ZXMpOwotICAg
IGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0
dXJuIGVycjsKLQotCi0gICAgLy8gdmFsaWRhdGUgUnVuUmVzcG9uc2VNZXNzYWdlUGFyYW1zLm91
dHB1dAotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVVbmlvbihvZmZzZXQgKyBj
b2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDAsIFJ1bk91dHB1dCwgdHJ1ZSk7Ci0gICAgaWYgKGVy
ciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJy
OwotCi0gICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQot
ICBSdW5SZXNwb25zZU1lc3NhZ2VQYXJhbXMuZW5jb2RlZFNpemUgPSBjb2RlYy5rU3RydWN0SGVh
ZGVyU2l6ZSArIDE2OwotCi0gIFJ1blJlc3BvbnNlTWVzc2FnZVBhcmFtcy5kZWNvZGUgPSBmdW5j
dGlvbihkZWNvZGVyKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICB2YXIgdmFsID0gbmV3IFJ1blJl
c3BvbnNlTWVzc2FnZVBhcmFtcygpOwotICAgIHZhciBudW1iZXJPZkJ5dGVzID0gZGVjb2Rlci5y
ZWFkVWludDMyKCk7Ci0gICAgdmFyIHZlcnNpb24gPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAg
ICB2YWwub3V0cHV0ID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoUnVuT3V0cHV0KTsKLSAgICByZXR1
cm4gdmFsOwotICB9OwotCi0gIFJ1blJlc3BvbnNlTWVzc2FnZVBhcmFtcy5lbmNvZGUgPSBmdW5j
dGlvbihlbmNvZGVyLCB2YWwpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIGVuY29kZXIud3JpdGVV
aW50MzIoUnVuUmVzcG9uc2VNZXNzYWdlUGFyYW1zLmVuY29kZWRTaXplKTsKLSAgICBlbmNvZGVy
LndyaXRlVWludDMyKDApOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KFJ1bk91dHB1dCwgdmFs
Lm91dHB1dCk7Ci0gIH07Ci0gIGZ1bmN0aW9uIFF1ZXJ5VmVyc2lvbih2YWx1ZXMpIHsKLSAgICB0
aGlzLmluaXREZWZhdWx0c18oKTsKLSAgICB0aGlzLmluaXRGaWVsZHNfKHZhbHVlcyk7Ci0gIH0K
LQotCi0gIFF1ZXJ5VmVyc2lvbi5wcm90b3R5cGUuaW5pdERlZmF1bHRzXyA9IGZ1bmN0aW9uKCkg
ewotICB9OwotICBRdWVyeVZlcnNpb24ucHJvdG90eXBlLmluaXRGaWVsZHNfID0gZnVuY3Rpb24o
ZmllbGRzKSB7Ci0gICAgZm9yKHZhciBmaWVsZCBpbiBmaWVsZHMpIHsKLSAgICAgICAgaWYgKHRo
aXMuaGFzT3duUHJvcGVydHkoZmllbGQpKQotICAgICAgICAgIHRoaXNbZmllbGRdID0gZmllbGRz
W2ZpZWxkXTsKLSAgICB9Ci0gIH07Ci0KLSAgUXVlcnlWZXJzaW9uLnZhbGlkYXRlID0gZnVuY3Rp
b24obWVzc2FnZVZhbGlkYXRvciwgb2Zmc2V0KSB7Ci0gICAgdmFyIGVycjsKLSAgICBlcnIgPSBt
ZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0SGVhZGVyKG9mZnNldCwgY29kZWMua1N0cnVj
dEhlYWRlclNpemUpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3Iu
Tk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHZhciBrVmVyc2lvblNpemVzID0gWwot
ICAgICAge3ZlcnNpb246IDAsIG51bUJ5dGVzOiA4fQotICAgIF07Ci0gICAgZXJyID0gbWVzc2Fn
ZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFZlcnNpb24ob2Zmc2V0LCBrVmVyc2lvblNpemVzKTsK
LSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAg
IHJldHVybiBlcnI7Ci0KLSAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05F
OwotICB9OwotCi0gIFF1ZXJ5VmVyc2lvbi5lbmNvZGVkU2l6ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFk
ZXJTaXplICsgMDsKLQotICBRdWVyeVZlcnNpb24uZGVjb2RlID0gZnVuY3Rpb24oZGVjb2Rlcikg
ewotICAgIHZhciBwYWNrZWQ7Ci0gICAgdmFyIHZhbCA9IG5ldyBRdWVyeVZlcnNpb24oKTsKLSAg
ICB2YXIgbnVtYmVyT2ZCeXRlcyA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhciB2ZXJz
aW9uID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgcmV0dXJuIHZhbDsKLSAgfTsKLQotICBR
dWVyeVZlcnNpb24uZW5jb2RlID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAgdmFyIHBh
Y2tlZDsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKFF1ZXJ5VmVyc2lvbi5lbmNvZGVkU2l6ZSk7
Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMigwKTsKLSAgfTsKLSAgZnVuY3Rpb24gUXVlcnlWZXJz
aW9uUmVzdWx0KHZhbHVlcykgewotICAgIHRoaXMuaW5pdERlZmF1bHRzXygpOwotICAgIHRoaXMu
aW5pdEZpZWxkc18odmFsdWVzKTsKLSAgfQotCi0KLSAgUXVlcnlWZXJzaW9uUmVzdWx0LnByb3Rv
dHlwZS5pbml0RGVmYXVsdHNfID0gZnVuY3Rpb24oKSB7Ci0gICAgdGhpcy52ZXJzaW9uID0gMDsK
LSAgfTsKLSAgUXVlcnlWZXJzaW9uUmVzdWx0LnByb3RvdHlwZS5pbml0RmllbGRzXyA9IGZ1bmN0
aW9uKGZpZWxkcykgewotICAgIGZvcih2YXIgZmllbGQgaW4gZmllbGRzKSB7Ci0gICAgICAgIGlm
ICh0aGlzLmhhc093blByb3BlcnR5KGZpZWxkKSkKLSAgICAgICAgICB0aGlzW2ZpZWxkXSA9IGZp
ZWxkc1tmaWVsZF07Ci0gICAgfQotICB9OwotCi0gIFF1ZXJ5VmVyc2lvblJlc3VsdC52YWxpZGF0
ZSA9IGZ1bmN0aW9uKG1lc3NhZ2VWYWxpZGF0b3IsIG9mZnNldCkgewotICAgIHZhciBlcnI7Ci0g
ICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdEhlYWRlcihvZmZzZXQsIGNv
ZGVjLmtTdHJ1Y3RIZWFkZXJTaXplKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRh
dGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICB2YXIga1ZlcnNpb25T
aXplcyA9IFsKLSAgICAgIHt2ZXJzaW9uOiAwLCBudW1CeXRlczogMTZ9Ci0gICAgXTsKLSAgICBl
cnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0VmVyc2lvbihvZmZzZXQsIGtWZXJz
aW9uU2l6ZXMpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9O
RSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0gICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0
aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQotICBRdWVyeVZlcnNpb25SZXN1bHQuZW5jb2RlZFNpemUg
PSBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDg7Ci0KLSAgUXVlcnlWZXJzaW9uUmVzdWx0LmRl
Y29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIHZhciB2YWwg
PSBuZXcgUXVlcnlWZXJzaW9uUmVzdWx0KCk7Ci0gICAgdmFyIG51bWJlck9mQnl0ZXMgPSBkZWNv
ZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YXIgdmVyc2lvbiA9IGRlY29kZXIucmVhZFVpbnQzMigp
OwotICAgIHZhbC52ZXJzaW9uID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoY29kZWMuVWludDMyKTsK
LSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIu
c2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgcmV0dXJuIHZhbDsKLSAgfTsKLQot
ICBRdWVyeVZlcnNpb25SZXN1bHQuZW5jb2RlID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0g
ICAgdmFyIHBhY2tlZDsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKFF1ZXJ5VmVyc2lvblJlc3Vs
dC5lbmNvZGVkU2l6ZSk7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMigwKTsKLSAgICBlbmNvZGVy
LmVuY29kZVN0cnVjdChjb2RlYy5VaW50MzIsIHZhbC52ZXJzaW9uKTsKLSAgICBlbmNvZGVyLnNr
aXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBl
bmNvZGVyLnNraXAoMSk7Ci0gIH07Ci0gIGZ1bmN0aW9uIEZsdXNoRm9yVGVzdGluZyh2YWx1ZXMp
IHsKLSAgICB0aGlzLmluaXREZWZhdWx0c18oKTsKLSAgICB0aGlzLmluaXRGaWVsZHNfKHZhbHVl
cyk7Ci0gIH0KLQotCi0gIEZsdXNoRm9yVGVzdGluZy5wcm90b3R5cGUuaW5pdERlZmF1bHRzXyA9
IGZ1bmN0aW9uKCkgewotICB9OwotICBGbHVzaEZvclRlc3RpbmcucHJvdG90eXBlLmluaXRGaWVs
ZHNfID0gZnVuY3Rpb24oZmllbGRzKSB7Ci0gICAgZm9yKHZhciBmaWVsZCBpbiBmaWVsZHMpIHsK
LSAgICAgICAgaWYgKHRoaXMuaGFzT3duUHJvcGVydHkoZmllbGQpKQotICAgICAgICAgIHRoaXNb
ZmllbGRdID0gZmllbGRzW2ZpZWxkXTsKLSAgICB9Ci0gIH07Ci0KLSAgRmx1c2hGb3JUZXN0aW5n
LnZhbGlkYXRlID0gZnVuY3Rpb24obWVzc2FnZVZhbGlkYXRvciwgb2Zmc2V0KSB7Ci0gICAgdmFy
IGVycjsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0SGVhZGVyKG9m
ZnNldCwgY29kZWMua1N0cnVjdEhlYWRlclNpemUpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRv
ci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHZhciBr
VmVyc2lvblNpemVzID0gWwotICAgICAge3ZlcnNpb246IDAsIG51bUJ5dGVzOiA4fQotICAgIF07
Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFZlcnNpb24ob2Zmc2V0
LCBrVmVyc2lvblNpemVzKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVy
cm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICByZXR1cm4gdmFsaWRhdG9yLnZh
bGlkYXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIEZsdXNoRm9yVGVzdGluZy5lbmNvZGVkU2l6
ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgMDsKLQotICBGbHVzaEZvclRlc3RpbmcuZGVj
b2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgdmFyIHZhbCA9
IG5ldyBGbHVzaEZvclRlc3RpbmcoKTsKLSAgICB2YXIgbnVtYmVyT2ZCeXRlcyA9IGRlY29kZXIu
cmVhZFVpbnQzMigpOwotICAgIHZhciB2ZXJzaW9uID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0g
ICAgcmV0dXJuIHZhbDsKLSAgfTsKLQotICBGbHVzaEZvclRlc3RpbmcuZW5jb2RlID0gZnVuY3Rp
b24oZW5jb2RlciwgdmFsKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICBlbmNvZGVyLndyaXRlVWlu
dDMyKEZsdXNoRm9yVGVzdGluZy5lbmNvZGVkU2l6ZSk7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQz
MigwKTsKLSAgfTsKLSAgZnVuY3Rpb24gUnVuT3JDbG9zZVBpcGVNZXNzYWdlUGFyYW1zKHZhbHVl
cykgewotICAgIHRoaXMuaW5pdERlZmF1bHRzXygpOwotICAgIHRoaXMuaW5pdEZpZWxkc18odmFs
dWVzKTsKLSAgfQotCi0KLSAgUnVuT3JDbG9zZVBpcGVNZXNzYWdlUGFyYW1zLnByb3RvdHlwZS5p
bml0RGVmYXVsdHNfID0gZnVuY3Rpb24oKSB7Ci0gICAgdGhpcy5pbnB1dCA9IG51bGw7Ci0gIH07
Ci0gIFJ1bk9yQ2xvc2VQaXBlTWVzc2FnZVBhcmFtcy5wcm90b3R5cGUuaW5pdEZpZWxkc18gPSBm
dW5jdGlvbihmaWVsZHMpIHsKLSAgICBmb3IodmFyIGZpZWxkIGluIGZpZWxkcykgewotICAgICAg
ICBpZiAodGhpcy5oYXNPd25Qcm9wZXJ0eShmaWVsZCkpCi0gICAgICAgICAgdGhpc1tmaWVsZF0g
PSBmaWVsZHNbZmllbGRdOwotICAgIH0KLSAgfTsKLQotICBSdW5PckNsb3NlUGlwZU1lc3NhZ2VQ
YXJhbXMudmFsaWRhdGUgPSBmdW5jdGlvbihtZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsKLSAg
ICB2YXIgZXJyOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RIZWFk
ZXIob2Zmc2V0LCBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFs
aWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAg
dmFyIGtWZXJzaW9uU2l6ZXMgPSBbCi0gICAgICB7dmVyc2lvbjogMCwgbnVtQnl0ZXM6IDI0fQot
ICAgIF07Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFZlcnNpb24o
b2Zmc2V0LCBrVmVyc2lvblNpemVzKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRh
dGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotICAgIC8vIHZhbGlkYXRl
IFJ1bk9yQ2xvc2VQaXBlTWVzc2FnZVBhcmFtcy5pbnB1dAotICAgIGVyciA9IG1lc3NhZ2VWYWxp
ZGF0b3IudmFsaWRhdGVVbmlvbihvZmZzZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDAs
IFJ1bk9yQ2xvc2VQaXBlSW5wdXQsIGZhbHNlKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3Iu
dmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICByZXR1cm4g
dmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIFJ1bk9yQ2xvc2VQaXBl
TWVzc2FnZVBhcmFtcy5lbmNvZGVkU2l6ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgMTY7
Ci0KLSAgUnVuT3JDbG9zZVBpcGVNZXNzYWdlUGFyYW1zLmRlY29kZSA9IGZ1bmN0aW9uKGRlY29k
ZXIpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIHZhciB2YWwgPSBuZXcgUnVuT3JDbG9zZVBpcGVN
ZXNzYWdlUGFyYW1zKCk7Ci0gICAgdmFyIG51bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50
MzIoKTsKLSAgICB2YXIgdmVyc2lvbiA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhbC5p
bnB1dCA9IGRlY29kZXIuZGVjb2RlU3RydWN0KFJ1bk9yQ2xvc2VQaXBlSW5wdXQpOwotICAgIHJl
dHVybiB2YWw7Ci0gIH07Ci0KLSAgUnVuT3JDbG9zZVBpcGVNZXNzYWdlUGFyYW1zLmVuY29kZSA9
IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgZW5jb2Rlci53
cml0ZVVpbnQzMihSdW5PckNsb3NlUGlwZU1lc3NhZ2VQYXJhbXMuZW5jb2RlZFNpemUpOwotICAg
IGVuY29kZXIud3JpdGVVaW50MzIoMCk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3QoUnVuT3JD
bG9zZVBpcGVJbnB1dCwgdmFsLmlucHV0KTsKLSAgfTsKLSAgZnVuY3Rpb24gUmVxdWlyZVZlcnNp
b24odmFsdWVzKSB7Ci0gICAgdGhpcy5pbml0RGVmYXVsdHNfKCk7Ci0gICAgdGhpcy5pbml0Rmll
bGRzXyh2YWx1ZXMpOwotICB9Ci0KLQotICBSZXF1aXJlVmVyc2lvbi5wcm90b3R5cGUuaW5pdERl
ZmF1bHRzXyA9IGZ1bmN0aW9uKCkgewotICAgIHRoaXMudmVyc2lvbiA9IDA7Ci0gIH07Ci0gIFJl
cXVpcmVWZXJzaW9uLnByb3RvdHlwZS5pbml0RmllbGRzXyA9IGZ1bmN0aW9uKGZpZWxkcykgewot
ICAgIGZvcih2YXIgZmllbGQgaW4gZmllbGRzKSB7Ci0gICAgICAgIGlmICh0aGlzLmhhc093blBy
b3BlcnR5KGZpZWxkKSkKLSAgICAgICAgICB0aGlzW2ZpZWxkXSA9IGZpZWxkc1tmaWVsZF07Ci0g
ICAgfQotICB9OwotCi0gIFJlcXVpcmVWZXJzaW9uLnZhbGlkYXRlID0gZnVuY3Rpb24obWVzc2Fn
ZVZhbGlkYXRvciwgb2Zmc2V0KSB7Ci0gICAgdmFyIGVycjsKLSAgICBlcnIgPSBtZXNzYWdlVmFs
aWRhdG9yLnZhbGlkYXRlU3RydWN0SGVhZGVyKG9mZnNldCwgY29kZWMua1N0cnVjdEhlYWRlclNp
emUpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAg
ICAgICAgcmV0dXJuIGVycjsKLQotICAgIHZhciBrVmVyc2lvblNpemVzID0gWwotICAgICAge3Zl
cnNpb246IDAsIG51bUJ5dGVzOiAxNn0KLSAgICBdOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0
b3IudmFsaWRhdGVTdHJ1Y3RWZXJzaW9uKG9mZnNldCwga1ZlcnNpb25TaXplcyk7Ci0gICAgaWYg
KGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4g
ZXJyOwotCi0KLSAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwotICB9
OwotCi0gIFJlcXVpcmVWZXJzaW9uLmVuY29kZWRTaXplID0gY29kZWMua1N0cnVjdEhlYWRlclNp
emUgKyA4OwotCi0gIFJlcXVpcmVWZXJzaW9uLmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsK
LSAgICB2YXIgcGFja2VkOwotICAgIHZhciB2YWwgPSBuZXcgUmVxdWlyZVZlcnNpb24oKTsKLSAg
ICB2YXIgbnVtYmVyT2ZCeXRlcyA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhciB2ZXJz
aW9uID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFsLnZlcnNpb24gPSBkZWNvZGVyLmRl
Y29kZVN0cnVjdChjb2RlYy5VaW50MzIpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNv
ZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsK
LSAgICByZXR1cm4gdmFsOwotICB9OwotCi0gIFJlcXVpcmVWZXJzaW9uLmVuY29kZSA9IGZ1bmN0
aW9uKGVuY29kZXIsIHZhbCkgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgZW5jb2Rlci53cml0ZVVp
bnQzMihSZXF1aXJlVmVyc2lvbi5lbmNvZGVkU2l6ZSk7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQz
MigwKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdChjb2RlYy5VaW50MzIsIHZhbC52ZXJzaW9u
KTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29k
ZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gIH07Ci0KLSAgZnVuY3Rpb24gUnVu
SW5wdXQodmFsdWUpIHsKLSAgICB0aGlzLmluaXREZWZhdWx0XygpOwotICAgIHRoaXMuaW5pdFZh
bHVlXyh2YWx1ZSk7Ci0gIH0KLQotCi0gIFJ1bklucHV0LlRhZ3MgPSB7Ci0gICAgcXVlcnlWZXJz
aW9uOiAwLAotICAgIGZsdXNoRm9yVGVzdGluZzogMSwKLSAgfTsKLQotICBSdW5JbnB1dC5wcm90
b3R5cGUuaW5pdERlZmF1bHRfID0gZnVuY3Rpb24oKSB7Ci0gICAgdGhpcy4kZGF0YSA9IG51bGw7
Ci0gICAgdGhpcy4kdGFnID0gdW5kZWZpbmVkOwotICB9Ci0KLSAgUnVuSW5wdXQucHJvdG90eXBl
LmluaXRWYWx1ZV8gPSBmdW5jdGlvbih2YWx1ZSkgewotICAgIGlmICh2YWx1ZSA9PSB1bmRlZmlu
ZWQpIHsKLSAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICB2YXIga2V5cyA9IE9iamVjdC5rZXlz
KHZhbHVlKTsKLSAgICBpZiAoa2V5cy5sZW5ndGggPT0gMCkgewotICAgICAgcmV0dXJuOwotICAg
IH0KLQotICAgIGlmIChrZXlzLmxlbmd0aCA+IDEpIHsKLSAgICAgIHRocm93IG5ldyBUeXBlRXJy
b3IoIllvdSBtYXkgc2V0IG9ubHkgb25lIG1lbWJlciBvbiBhIHVuaW9uLiIpOwotICAgIH0KLQot
ICAgIHZhciBmaWVsZHMgPSBbCi0gICAgICAgICJxdWVyeVZlcnNpb24iLAotICAgICAgICAiZmx1
c2hGb3JUZXN0aW5nIiwKLSAgICBdOwotCi0gICAgaWYgKGZpZWxkcy5pbmRleE9mKGtleXNbMF0p
IDwgMCkgewotICAgICAgdGhyb3cgbmV3IFJlZmVyZW5jZUVycm9yKGtleXNbMF0gKyAiIGlzIG5v
dCBhIFJ1bklucHV0IG1lbWJlci4iKTsKLQotICAgIH0KLQotICAgIHRoaXNba2V5c1swXV0gPSB2
YWx1ZVtrZXlzWzBdXTsKLSAgfQotICBPYmplY3QuZGVmaW5lUHJvcGVydHkoUnVuSW5wdXQucHJv
dG90eXBlLCAicXVlcnlWZXJzaW9uIiwgewotICAgIGdldDogZnVuY3Rpb24oKSB7Ci0gICAgICBp
ZiAodGhpcy4kdGFnICE9IFJ1bklucHV0LlRhZ3MucXVlcnlWZXJzaW9uKSB7Ci0gICAgICAgIHRo
cm93IG5ldyBSZWZlcmVuY2VFcnJvcigKLSAgICAgICAgICAgICJSdW5JbnB1dC5xdWVyeVZlcnNp
b24gaXMgbm90IGN1cnJlbnRseSBzZXQuIik7Ci0gICAgICB9Ci0gICAgICByZXR1cm4gdGhpcy4k
ZGF0YTsKLSAgICB9LAotCi0gICAgc2V0OiBmdW5jdGlvbih2YWx1ZSkgewotICAgICAgdGhpcy4k
dGFnID0gUnVuSW5wdXQuVGFncy5xdWVyeVZlcnNpb247Ci0gICAgICB0aGlzLiRkYXRhID0gdmFs
dWU7Ci0gICAgfQotICB9KTsKLSAgT2JqZWN0LmRlZmluZVByb3BlcnR5KFJ1bklucHV0LnByb3Rv
dHlwZSwgImZsdXNoRm9yVGVzdGluZyIsIHsKLSAgICBnZXQ6IGZ1bmN0aW9uKCkgewotICAgICAg
aWYgKHRoaXMuJHRhZyAhPSBSdW5JbnB1dC5UYWdzLmZsdXNoRm9yVGVzdGluZykgewotICAgICAg
ICB0aHJvdyBuZXcgUmVmZXJlbmNlRXJyb3IoCi0gICAgICAgICAgICAiUnVuSW5wdXQuZmx1c2hG
b3JUZXN0aW5nIGlzIG5vdCBjdXJyZW50bHkgc2V0LiIpOwotICAgICAgfQotICAgICAgcmV0dXJu
IHRoaXMuJGRhdGE7Ci0gICAgfSwKLQotICAgIHNldDogZnVuY3Rpb24odmFsdWUpIHsKLSAgICAg
IHRoaXMuJHRhZyA9IFJ1bklucHV0LlRhZ3MuZmx1c2hGb3JUZXN0aW5nOwotICAgICAgdGhpcy4k
ZGF0YSA9IHZhbHVlOwotICAgIH0KLSAgfSk7Ci0KLQotICAgIFJ1bklucHV0LmVuY29kZSA9IGZ1
bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgICAgaWYgKHZhbCA9PSBudWxsKSB7Ci0gICAgICAg
IGVuY29kZXIud3JpdGVVaW50NjQoMCk7Ci0gICAgICAgIGVuY29kZXIud3JpdGVVaW50NjQoMCk7
Ci0gICAgICAgIHJldHVybjsKLSAgICAgIH0KLSAgICAgIGlmICh2YWwuJHRhZyA9PSB1bmRlZmlu
ZWQpIHsKLSAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGVuY29kZSB1bmlvbnMg
d2l0aCBhbiB1bmtub3duIG1lbWJlciBzZXQuIik7Ci0gICAgICB9Ci0KLSAgICAgIGVuY29kZXIu
d3JpdGVVaW50MzIoMTYpOwotICAgICAgZW5jb2Rlci53cml0ZVVpbnQzMih2YWwuJHRhZyk7Ci0g
ICAgICBzd2l0Y2ggKHZhbC4kdGFnKSB7Ci0gICAgICAgIGNhc2UgUnVuSW5wdXQuVGFncy5xdWVy
eVZlcnNpb246Ci0gICAgICAgICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3RQb2ludGVyKFF1ZXJ5VmVy
c2lvbiwgdmFsLnF1ZXJ5VmVyc2lvbik7Ci0gICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2Ug
UnVuSW5wdXQuVGFncy5mbHVzaEZvclRlc3Rpbmc6Ci0gICAgICAgICAgZW5jb2Rlci5lbmNvZGVT
dHJ1Y3RQb2ludGVyKEZsdXNoRm9yVGVzdGluZywgdmFsLmZsdXNoRm9yVGVzdGluZyk7Ci0gICAg
ICAgICAgYnJlYWs7Ci0gICAgICB9Ci0gICAgICBlbmNvZGVyLmFsaWduKCk7Ci0gICAgfTsKLQot
Ci0gICAgUnVuSW5wdXQuZGVjb2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAgICAgdmFyIHNp
emUgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICAgIGlmIChzaXplID09IDApIHsKLSAgICAg
ICAgZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgICAgIGRlY29kZXIucmVhZFVpbnQ2NCgpOwot
ICAgICAgICByZXR1cm4gbnVsbDsKLSAgICAgIH0KLQotICAgICAgdmFyIHJlc3VsdCA9IG5ldyBS
dW5JbnB1dCgpOwotICAgICAgdmFyIHRhZyA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgICAg
c3dpdGNoICh0YWcpIHsKLSAgICAgICAgY2FzZSBSdW5JbnB1dC5UYWdzLnF1ZXJ5VmVyc2lvbjoK
LSAgICAgICAgICByZXN1bHQucXVlcnlWZXJzaW9uID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3RQb2lu
dGVyKFF1ZXJ5VmVyc2lvbik7Ci0gICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgUnVuSW5w
dXQuVGFncy5mbHVzaEZvclRlc3Rpbmc6Ci0gICAgICAgICAgcmVzdWx0LmZsdXNoRm9yVGVzdGlu
ZyA9IGRlY29kZXIuZGVjb2RlU3RydWN0UG9pbnRlcihGbHVzaEZvclRlc3RpbmcpOwotICAgICAg
ICAgIGJyZWFrOwotICAgICAgfQotICAgICAgZGVjb2Rlci5hbGlnbigpOwotCi0gICAgICByZXR1
cm4gcmVzdWx0OwotICAgIH07Ci0KLQotICAgIFJ1bklucHV0LnZhbGlkYXRlID0gZnVuY3Rpb24o
bWVzc2FnZVZhbGlkYXRvciwgb2Zmc2V0KSB7Ci0gICAgICB2YXIgc2l6ZSA9IG1lc3NhZ2VWYWxp
ZGF0b3IuZGVjb2RlVW5pb25TaXplKG9mZnNldCk7Ci0gICAgICBpZiAoc2l6ZSAhPSAxNikgewot
ICAgICAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5JTlZBTElEX1VOSU9OX1NJ
WkU7Ci0gICAgICB9Ci0KLSAgICAgIHZhciB0YWcgPSBtZXNzYWdlVmFsaWRhdG9yLmRlY29kZVVu
aW9uVGFnKG9mZnNldCk7Ci0gICAgICB2YXIgZGF0YV9vZmZzZXQgPSBvZmZzZXQgKyA4OwotICAg
ICAgdmFyIGVycjsKLSAgICAgIHN3aXRjaCAodGFnKSB7Ci0gICAgICAgIGNhc2UgUnVuSW5wdXQu
VGFncy5xdWVyeVZlcnNpb246Ci0gICAgICAgICAgCi0KLSAgICAvLyB2YWxpZGF0ZSBSdW5JbnB1
dC5xdWVyeVZlcnNpb24KLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0
UG9pbnRlcihkYXRhX29mZnNldCwgUXVlcnlWZXJzaW9uLCBmYWxzZSk7Ci0gICAgaWYgKGVyciAh
PT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwot
ICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlIFJ1bklucHV0LlRhZ3MuZmx1c2hGb3JUZXN0
aW5nOgotICAgICAgICAgIAotCi0gICAgLy8gdmFsaWRhdGUgUnVuSW5wdXQuZmx1c2hGb3JUZXN0
aW5nCi0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFBvaW50ZXIoZGF0
YV9vZmZzZXQsIEZsdXNoRm9yVGVzdGluZywgZmFsc2UpOwotICAgIGlmIChlcnIgIT09IHZhbGlk
YXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLSAgICAgICAg
ICBicmVhazsKLSAgICAgIH0KLQotICAgICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJy
b3IuTk9ORTsKLSAgICB9OwotCi0gIFJ1bklucHV0LmVuY29kZWRTaXplID0gMTY7Ci0KLSAgZnVu
Y3Rpb24gUnVuT3V0cHV0KHZhbHVlKSB7Ci0gICAgdGhpcy5pbml0RGVmYXVsdF8oKTsKLSAgICB0
aGlzLmluaXRWYWx1ZV8odmFsdWUpOwotICB9Ci0KLQotICBSdW5PdXRwdXQuVGFncyA9IHsKLSAg
ICBxdWVyeVZlcnNpb25SZXN1bHQ6IDAsCi0gIH07Ci0KLSAgUnVuT3V0cHV0LnByb3RvdHlwZS5p
bml0RGVmYXVsdF8gPSBmdW5jdGlvbigpIHsKLSAgICB0aGlzLiRkYXRhID0gbnVsbDsKLSAgICB0
aGlzLiR0YWcgPSB1bmRlZmluZWQ7Ci0gIH0KLQotICBSdW5PdXRwdXQucHJvdG90eXBlLmluaXRW
YWx1ZV8gPSBmdW5jdGlvbih2YWx1ZSkgewotICAgIGlmICh2YWx1ZSA9PSB1bmRlZmluZWQpIHsK
LSAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICB2YXIga2V5cyA9IE9iamVjdC5rZXlzKHZhbHVl
KTsKLSAgICBpZiAoa2V5cy5sZW5ndGggPT0gMCkgewotICAgICAgcmV0dXJuOwotICAgIH0KLQot
ICAgIGlmIChrZXlzLmxlbmd0aCA+IDEpIHsKLSAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoIllv
dSBtYXkgc2V0IG9ubHkgb25lIG1lbWJlciBvbiBhIHVuaW9uLiIpOwotICAgIH0KLQotICAgIHZh
ciBmaWVsZHMgPSBbCi0gICAgICAgICJxdWVyeVZlcnNpb25SZXN1bHQiLAotICAgIF07Ci0KLSAg
ICBpZiAoZmllbGRzLmluZGV4T2Yoa2V5c1swXSkgPCAwKSB7Ci0gICAgICB0aHJvdyBuZXcgUmVm
ZXJlbmNlRXJyb3Ioa2V5c1swXSArICIgaXMgbm90IGEgUnVuT3V0cHV0IG1lbWJlci4iKTsKLQot
ICAgIH0KLQotICAgIHRoaXNba2V5c1swXV0gPSB2YWx1ZVtrZXlzWzBdXTsKLSAgfQotICBPYmpl
Y3QuZGVmaW5lUHJvcGVydHkoUnVuT3V0cHV0LnByb3RvdHlwZSwgInF1ZXJ5VmVyc2lvblJlc3Vs
dCIsIHsKLSAgICBnZXQ6IGZ1bmN0aW9uKCkgewotICAgICAgaWYgKHRoaXMuJHRhZyAhPSBSdW5P
dXRwdXQuVGFncy5xdWVyeVZlcnNpb25SZXN1bHQpIHsKLSAgICAgICAgdGhyb3cgbmV3IFJlZmVy
ZW5jZUVycm9yKAotICAgICAgICAgICAgIlJ1bk91dHB1dC5xdWVyeVZlcnNpb25SZXN1bHQgaXMg
bm90IGN1cnJlbnRseSBzZXQuIik7Ci0gICAgICB9Ci0gICAgICByZXR1cm4gdGhpcy4kZGF0YTsK
LSAgICB9LAotCi0gICAgc2V0OiBmdW5jdGlvbih2YWx1ZSkgewotICAgICAgdGhpcy4kdGFnID0g
UnVuT3V0cHV0LlRhZ3MucXVlcnlWZXJzaW9uUmVzdWx0OwotICAgICAgdGhpcy4kZGF0YSA9IHZh
bHVlOwotICAgIH0KLSAgfSk7Ci0KLQotICAgIFJ1bk91dHB1dC5lbmNvZGUgPSBmdW5jdGlvbihl
bmNvZGVyLCB2YWwpIHsKLSAgICAgIGlmICh2YWwgPT0gbnVsbCkgewotICAgICAgICBlbmNvZGVy
LndyaXRlVWludDY0KDApOwotICAgICAgICBlbmNvZGVyLndyaXRlVWludDY0KDApOwotICAgICAg
ICByZXR1cm47Ci0gICAgICB9Ci0gICAgICBpZiAodmFsLiR0YWcgPT0gdW5kZWZpbmVkKSB7Ci0g
ICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBlbmNvZGUgdW5pb25zIHdpdGggYW4g
dW5rbm93biBtZW1iZXIgc2V0LiIpOwotICAgICAgfQotCi0gICAgICBlbmNvZGVyLndyaXRlVWlu
dDMyKDE2KTsKLSAgICAgIGVuY29kZXIud3JpdGVVaW50MzIodmFsLiR0YWcpOwotICAgICAgc3dp
dGNoICh2YWwuJHRhZykgewotICAgICAgICBjYXNlIFJ1bk91dHB1dC5UYWdzLnF1ZXJ5VmVyc2lv
blJlc3VsdDoKLSAgICAgICAgICBlbmNvZGVyLmVuY29kZVN0cnVjdFBvaW50ZXIoUXVlcnlWZXJz
aW9uUmVzdWx0LCB2YWwucXVlcnlWZXJzaW9uUmVzdWx0KTsKLSAgICAgICAgICBicmVhazsKLSAg
ICAgIH0KLSAgICAgIGVuY29kZXIuYWxpZ24oKTsKLSAgICB9OwotCi0KLSAgICBSdW5PdXRwdXQu
ZGVjb2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAgICAgdmFyIHNpemUgPSBkZWNvZGVyLnJl
YWRVaW50MzIoKTsKLSAgICAgIGlmIChzaXplID09IDApIHsKLSAgICAgICAgZGVjb2Rlci5yZWFk
VWludDMyKCk7Ci0gICAgICAgIGRlY29kZXIucmVhZFVpbnQ2NCgpOwotICAgICAgICByZXR1cm4g
bnVsbDsKLSAgICAgIH0KLQotICAgICAgdmFyIHJlc3VsdCA9IG5ldyBSdW5PdXRwdXQoKTsKLSAg
ICAgIHZhciB0YWcgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICAgIHN3aXRjaCAodGFnKSB7
Ci0gICAgICAgIGNhc2UgUnVuT3V0cHV0LlRhZ3MucXVlcnlWZXJzaW9uUmVzdWx0OgotICAgICAg
ICAgIHJlc3VsdC5xdWVyeVZlcnNpb25SZXN1bHQgPSBkZWNvZGVyLmRlY29kZVN0cnVjdFBvaW50
ZXIoUXVlcnlWZXJzaW9uUmVzdWx0KTsKLSAgICAgICAgICBicmVhazsKLSAgICAgIH0KLSAgICAg
IGRlY29kZXIuYWxpZ24oKTsKLQotICAgICAgcmV0dXJuIHJlc3VsdDsKLSAgICB9OwotCi0KLSAg
ICBSdW5PdXRwdXQudmFsaWRhdGUgPSBmdW5jdGlvbihtZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQp
IHsKLSAgICAgIHZhciBzaXplID0gbWVzc2FnZVZhbGlkYXRvci5kZWNvZGVVbmlvblNpemUob2Zm
c2V0KTsKLSAgICAgIGlmIChzaXplICE9IDE2KSB7Ci0gICAgICAgIHJldHVybiB2YWxpZGF0b3Iu
dmFsaWRhdGlvbkVycm9yLklOVkFMSURfVU5JT05fU0laRTsKLSAgICAgIH0KLQotICAgICAgdmFy
IHRhZyA9IG1lc3NhZ2VWYWxpZGF0b3IuZGVjb2RlVW5pb25UYWcob2Zmc2V0KTsKLSAgICAgIHZh
ciBkYXRhX29mZnNldCA9IG9mZnNldCArIDg7Ci0gICAgICB2YXIgZXJyOwotICAgICAgc3dpdGNo
ICh0YWcpIHsKLSAgICAgICAgY2FzZSBSdW5PdXRwdXQuVGFncy5xdWVyeVZlcnNpb25SZXN1bHQ6
Ci0gICAgICAgICAgCi0KLSAgICAvLyB2YWxpZGF0ZSBSdW5PdXRwdXQucXVlcnlWZXJzaW9uUmVz
dWx0Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFBvaW50ZXIoZGF0
YV9vZmZzZXQsIFF1ZXJ5VmVyc2lvblJlc3VsdCwgZmFsc2UpOwotICAgIGlmIChlcnIgIT09IHZh
bGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLSAgICAg
ICAgICBicmVhazsKLSAgICAgIH0KLQotICAgICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9u
RXJyb3IuTk9ORTsKLSAgICB9OwotCi0gIFJ1bk91dHB1dC5lbmNvZGVkU2l6ZSA9IDE2OwotCi0g
IGZ1bmN0aW9uIFJ1bk9yQ2xvc2VQaXBlSW5wdXQodmFsdWUpIHsKLSAgICB0aGlzLmluaXREZWZh
dWx0XygpOwotICAgIHRoaXMuaW5pdFZhbHVlXyh2YWx1ZSk7Ci0gIH0KLQotCi0gIFJ1bk9yQ2xv
c2VQaXBlSW5wdXQuVGFncyA9IHsKLSAgICByZXF1aXJlVmVyc2lvbjogMCwKLSAgfTsKLQotICBS
dW5PckNsb3NlUGlwZUlucHV0LnByb3RvdHlwZS5pbml0RGVmYXVsdF8gPSBmdW5jdGlvbigpIHsK
LSAgICB0aGlzLiRkYXRhID0gbnVsbDsKLSAgICB0aGlzLiR0YWcgPSB1bmRlZmluZWQ7Ci0gIH0K
LQotICBSdW5PckNsb3NlUGlwZUlucHV0LnByb3RvdHlwZS5pbml0VmFsdWVfID0gZnVuY3Rpb24o
dmFsdWUpIHsKLSAgICBpZiAodmFsdWUgPT0gdW5kZWZpbmVkKSB7Ci0gICAgICByZXR1cm47Ci0g
ICAgfQotCi0gICAgdmFyIGtleXMgPSBPYmplY3Qua2V5cyh2YWx1ZSk7Ci0gICAgaWYgKGtleXMu
bGVuZ3RoID09IDApIHsKLSAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBpZiAoa2V5cy5sZW5n
dGggPiAxKSB7Ci0gICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCJZb3UgbWF5IHNldCBvbmx5IG9u
ZSBtZW1iZXIgb24gYSB1bmlvbi4iKTsKLSAgICB9Ci0KLSAgICB2YXIgZmllbGRzID0gWwotICAg
ICAgICAicmVxdWlyZVZlcnNpb24iLAotICAgIF07Ci0KLSAgICBpZiAoZmllbGRzLmluZGV4T2Yo
a2V5c1swXSkgPCAwKSB7Ci0gICAgICB0aHJvdyBuZXcgUmVmZXJlbmNlRXJyb3Ioa2V5c1swXSAr
ICIgaXMgbm90IGEgUnVuT3JDbG9zZVBpcGVJbnB1dCBtZW1iZXIuIik7Ci0KLSAgICB9Ci0KLSAg
ICB0aGlzW2tleXNbMF1dID0gdmFsdWVba2V5c1swXV07Ci0gIH0KLSAgT2JqZWN0LmRlZmluZVBy
b3BlcnR5KFJ1bk9yQ2xvc2VQaXBlSW5wdXQucHJvdG90eXBlLCAicmVxdWlyZVZlcnNpb24iLCB7
Ci0gICAgZ2V0OiBmdW5jdGlvbigpIHsKLSAgICAgIGlmICh0aGlzLiR0YWcgIT0gUnVuT3JDbG9z
ZVBpcGVJbnB1dC5UYWdzLnJlcXVpcmVWZXJzaW9uKSB7Ci0gICAgICAgIHRocm93IG5ldyBSZWZl
cmVuY2VFcnJvcigKLSAgICAgICAgICAgICJSdW5PckNsb3NlUGlwZUlucHV0LnJlcXVpcmVWZXJz
aW9uIGlzIG5vdCBjdXJyZW50bHkgc2V0LiIpOwotICAgICAgfQotICAgICAgcmV0dXJuIHRoaXMu
JGRhdGE7Ci0gICAgfSwKLQotICAgIHNldDogZnVuY3Rpb24odmFsdWUpIHsKLSAgICAgIHRoaXMu
JHRhZyA9IFJ1bk9yQ2xvc2VQaXBlSW5wdXQuVGFncy5yZXF1aXJlVmVyc2lvbjsKLSAgICAgIHRo
aXMuJGRhdGEgPSB2YWx1ZTsKLSAgICB9Ci0gIH0pOwotCi0KLSAgICBSdW5PckNsb3NlUGlwZUlu
cHV0LmVuY29kZSA9IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgICAgaWYgKHZhbCA9PSBu
dWxsKSB7Ci0gICAgICAgIGVuY29kZXIud3JpdGVVaW50NjQoMCk7Ci0gICAgICAgIGVuY29kZXIu
d3JpdGVVaW50NjQoMCk7Ci0gICAgICAgIHJldHVybjsKLSAgICAgIH0KLSAgICAgIGlmICh2YWwu
JHRhZyA9PSB1bmRlZmluZWQpIHsKLSAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90
IGVuY29kZSB1bmlvbnMgd2l0aCBhbiB1bmtub3duIG1lbWJlciBzZXQuIik7Ci0gICAgICB9Ci0K
LSAgICAgIGVuY29kZXIud3JpdGVVaW50MzIoMTYpOwotICAgICAgZW5jb2Rlci53cml0ZVVpbnQz
Mih2YWwuJHRhZyk7Ci0gICAgICBzd2l0Y2ggKHZhbC4kdGFnKSB7Ci0gICAgICAgIGNhc2UgUnVu
T3JDbG9zZVBpcGVJbnB1dC5UYWdzLnJlcXVpcmVWZXJzaW9uOgotICAgICAgICAgIGVuY29kZXIu
ZW5jb2RlU3RydWN0UG9pbnRlcihSZXF1aXJlVmVyc2lvbiwgdmFsLnJlcXVpcmVWZXJzaW9uKTsK
LSAgICAgICAgICBicmVhazsKLSAgICAgIH0KLSAgICAgIGVuY29kZXIuYWxpZ24oKTsKLSAgICB9
OwotCi0KLSAgICBSdW5PckNsb3NlUGlwZUlucHV0LmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIp
IHsKLSAgICAgIHZhciBzaXplID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgICBpZiAoc2l6
ZSA9PSAwKSB7Ci0gICAgICAgIGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgICAgICBkZWNvZGVy
LnJlYWRVaW50NjQoKTsKLSAgICAgICAgcmV0dXJuIG51bGw7Ci0gICAgICB9Ci0KLSAgICAgIHZh
ciByZXN1bHQgPSBuZXcgUnVuT3JDbG9zZVBpcGVJbnB1dCgpOwotICAgICAgdmFyIHRhZyA9IGRl
Y29kZXIucmVhZFVpbnQzMigpOwotICAgICAgc3dpdGNoICh0YWcpIHsKLSAgICAgICAgY2FzZSBS
dW5PckNsb3NlUGlwZUlucHV0LlRhZ3MucmVxdWlyZVZlcnNpb246Ci0gICAgICAgICAgcmVzdWx0
LnJlcXVpcmVWZXJzaW9uID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3RQb2ludGVyKFJlcXVpcmVWZXJz
aW9uKTsKLSAgICAgICAgICBicmVhazsKLSAgICAgIH0KLSAgICAgIGRlY29kZXIuYWxpZ24oKTsK
LQotICAgICAgcmV0dXJuIHJlc3VsdDsKLSAgICB9OwotCi0KLSAgICBSdW5PckNsb3NlUGlwZUlu
cHV0LnZhbGlkYXRlID0gZnVuY3Rpb24obWVzc2FnZVZhbGlkYXRvciwgb2Zmc2V0KSB7Ci0gICAg
ICB2YXIgc2l6ZSA9IG1lc3NhZ2VWYWxpZGF0b3IuZGVjb2RlVW5pb25TaXplKG9mZnNldCk7Ci0g
ICAgICBpZiAoc2l6ZSAhPSAxNikgewotICAgICAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRp
b25FcnJvci5JTlZBTElEX1VOSU9OX1NJWkU7Ci0gICAgICB9Ci0KLSAgICAgIHZhciB0YWcgPSBt
ZXNzYWdlVmFsaWRhdG9yLmRlY29kZVVuaW9uVGFnKG9mZnNldCk7Ci0gICAgICB2YXIgZGF0YV9v
ZmZzZXQgPSBvZmZzZXQgKyA4OwotICAgICAgdmFyIGVycjsKLSAgICAgIHN3aXRjaCAodGFnKSB7
Ci0gICAgICAgIGNhc2UgUnVuT3JDbG9zZVBpcGVJbnB1dC5UYWdzLnJlcXVpcmVWZXJzaW9uOgot
ICAgICAgICAgIAotCi0gICAgLy8gdmFsaWRhdGUgUnVuT3JDbG9zZVBpcGVJbnB1dC5yZXF1aXJl
VmVyc2lvbgotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RQb2ludGVy
KGRhdGFfb2Zmc2V0LCBSZXF1aXJlVmVyc2lvbiwgZmFsc2UpOwotICAgIGlmIChlcnIgIT09IHZh
bGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLSAgICAg
ICAgICBicmVhazsKLSAgICAgIH0KLQotICAgICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9u
RXJyb3IuTk9ORTsKLSAgICB9OwotCi0gIFJ1bk9yQ2xvc2VQaXBlSW5wdXQuZW5jb2RlZFNpemUg
PSAxNjsKLSAgZXhwb3J0cy5rUnVuTWVzc2FnZUlkID0ga1J1bk1lc3NhZ2VJZDsKLSAgZXhwb3J0
cy5rUnVuT3JDbG9zZVBpcGVNZXNzYWdlSWQgPSBrUnVuT3JDbG9zZVBpcGVNZXNzYWdlSWQ7Ci0g
IGV4cG9ydHMuUnVuTWVzc2FnZVBhcmFtcyA9IFJ1bk1lc3NhZ2VQYXJhbXM7Ci0gIGV4cG9ydHMu
UnVuUmVzcG9uc2VNZXNzYWdlUGFyYW1zID0gUnVuUmVzcG9uc2VNZXNzYWdlUGFyYW1zOwotICBl
eHBvcnRzLlF1ZXJ5VmVyc2lvbiA9IFF1ZXJ5VmVyc2lvbjsKLSAgZXhwb3J0cy5RdWVyeVZlcnNp
b25SZXN1bHQgPSBRdWVyeVZlcnNpb25SZXN1bHQ7Ci0gIGV4cG9ydHMuRmx1c2hGb3JUZXN0aW5n
ID0gRmx1c2hGb3JUZXN0aW5nOwotICBleHBvcnRzLlJ1bk9yQ2xvc2VQaXBlTWVzc2FnZVBhcmFt
cyA9IFJ1bk9yQ2xvc2VQaXBlTWVzc2FnZVBhcmFtczsKLSAgZXhwb3J0cy5SZXF1aXJlVmVyc2lv
biA9IFJlcXVpcmVWZXJzaW9uOwotICBleHBvcnRzLlJ1bklucHV0ID0gUnVuSW5wdXQ7Ci0gIGV4
cG9ydHMuUnVuT3V0cHV0ID0gUnVuT3V0cHV0OwotICBleHBvcnRzLlJ1bk9yQ2xvc2VQaXBlSW5w
dXQgPSBSdW5PckNsb3NlUGlwZUlucHV0OwotfSkoKTsvLyBDb3B5cmlnaHQgMjAxNCBUaGUgQ2hy
b21pdW0gQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLS8vIFVzZSBvZiB0aGlzIHNvdXJj
ZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKLS8v
IGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCi0KLSd1c2Ugc3RyaWN0JzsKLQotKGZ1bmN0aW9u
KCkgewotICB2YXIgbW9qb21JZCA9ICdtb2pvL3B1YmxpYy9pbnRlcmZhY2VzL2JpbmRpbmdzL3Bp
cGVfY29udHJvbF9tZXNzYWdlcy5tb2pvbSc7Ci0gIGlmIChtb2pvLmludGVybmFsLmlzTW9qb21M
b2FkZWQobW9qb21JZCkpIHsKLSAgICBjb25zb2xlLndhcm4oJ1RoZSBmb2xsb3dpbmcgbW9qb20g
aXMgbG9hZGVkIG11bHRpcGxlIHRpbWVzOiAnICsgbW9qb21JZCk7Ci0gICAgcmV0dXJuOwotICB9
Ci0gIG1vam8uaW50ZXJuYWwubWFya01vam9tTG9hZGVkKG1vam9tSWQpOwotICB2YXIgYmluZGlu
Z3MgPSBtb2pvOwotICB2YXIgYXNzb2NpYXRlZEJpbmRpbmdzID0gbW9qbzsKLSAgdmFyIGNvZGVj
ID0gbW9qby5pbnRlcm5hbDsKLSAgdmFyIHZhbGlkYXRvciA9IG1vam8uaW50ZXJuYWw7Ci0KLSAg
dmFyIGV4cG9ydHMgPSBtb2pvLmludGVybmFsLmV4cG9zZU5hbWVzcGFjZSgnbW9qby5waXBlQ29u
dHJvbCcpOwotCi0KLSAgdmFyIGtSdW5PckNsb3NlUGlwZU1lc3NhZ2VJZCA9IDB4RkZGRkZGRkU7
Ci0KLSAgZnVuY3Rpb24gUnVuT3JDbG9zZVBpcGVNZXNzYWdlUGFyYW1zKHZhbHVlcykgewotICAg
IHRoaXMuaW5pdERlZmF1bHRzXygpOwotICAgIHRoaXMuaW5pdEZpZWxkc18odmFsdWVzKTsKLSAg
fQotCi0KLSAgUnVuT3JDbG9zZVBpcGVNZXNzYWdlUGFyYW1zLnByb3RvdHlwZS5pbml0RGVmYXVs
dHNfID0gZnVuY3Rpb24oKSB7Ci0gICAgdGhpcy5pbnB1dCA9IG51bGw7Ci0gIH07Ci0gIFJ1bk9y
Q2xvc2VQaXBlTWVzc2FnZVBhcmFtcy5wcm90b3R5cGUuaW5pdEZpZWxkc18gPSBmdW5jdGlvbihm
aWVsZHMpIHsKLSAgICBmb3IodmFyIGZpZWxkIGluIGZpZWxkcykgewotICAgICAgICBpZiAodGhp
cy5oYXNPd25Qcm9wZXJ0eShmaWVsZCkpCi0gICAgICAgICAgdGhpc1tmaWVsZF0gPSBmaWVsZHNb
ZmllbGRdOwotICAgIH0KLSAgfTsKLQotICBSdW5PckNsb3NlUGlwZU1lc3NhZ2VQYXJhbXMudmFs
aWRhdGUgPSBmdW5jdGlvbihtZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsKLSAgICB2YXIgZXJy
OwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RIZWFkZXIob2Zmc2V0
LCBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZh
bGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgdmFyIGtWZXJz
aW9uU2l6ZXMgPSBbCi0gICAgICB7dmVyc2lvbjogMCwgbnVtQnl0ZXM6IDI0fQotICAgIF07Ci0g
ICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFZlcnNpb24ob2Zmc2V0LCBr
VmVyc2lvblNpemVzKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9y
Lk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotICAgIC8vIHZhbGlkYXRlIFJ1bk9yQ2xv
c2VQaXBlTWVzc2FnZVBhcmFtcy5pbnB1dAotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFs
aWRhdGVVbmlvbihvZmZzZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDAsIFJ1bk9yQ2xv
c2VQaXBlSW5wdXQsIGZhbHNlKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlv
bkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICByZXR1cm4gdmFsaWRhdG9y
LnZhbGlkYXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIFJ1bk9yQ2xvc2VQaXBlTWVzc2FnZVBh
cmFtcy5lbmNvZGVkU2l6ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgMTY7Ci0KLSAgUnVu
T3JDbG9zZVBpcGVNZXNzYWdlUGFyYW1zLmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAg
ICB2YXIgcGFja2VkOwotICAgIHZhciB2YWwgPSBuZXcgUnVuT3JDbG9zZVBpcGVNZXNzYWdlUGFy
YW1zKCk7Ci0gICAgdmFyIG51bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAg
ICB2YXIgdmVyc2lvbiA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhbC5pbnB1dCA9IGRl
Y29kZXIuZGVjb2RlU3RydWN0KFJ1bk9yQ2xvc2VQaXBlSW5wdXQpOwotICAgIHJldHVybiB2YWw7
Ci0gIH07Ci0KLSAgUnVuT3JDbG9zZVBpcGVNZXNzYWdlUGFyYW1zLmVuY29kZSA9IGZ1bmN0aW9u
KGVuY29kZXIsIHZhbCkgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQz
MihSdW5PckNsb3NlUGlwZU1lc3NhZ2VQYXJhbXMuZW5jb2RlZFNpemUpOwotICAgIGVuY29kZXIu
d3JpdGVVaW50MzIoMCk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3QoUnVuT3JDbG9zZVBpcGVJ
bnB1dCwgdmFsLmlucHV0KTsKLSAgfTsKLSAgZnVuY3Rpb24gRGlzY29ubmVjdFJlYXNvbih2YWx1
ZXMpIHsKLSAgICB0aGlzLmluaXREZWZhdWx0c18oKTsKLSAgICB0aGlzLmluaXRGaWVsZHNfKHZh
bHVlcyk7Ci0gIH0KLQotCi0gIERpc2Nvbm5lY3RSZWFzb24ucHJvdG90eXBlLmluaXREZWZhdWx0
c18gPSBmdW5jdGlvbigpIHsKLSAgICB0aGlzLmN1c3RvbVJlYXNvbiA9IDA7Ci0gICAgdGhpcy5k
ZXNjcmlwdGlvbiA9IG51bGw7Ci0gIH07Ci0gIERpc2Nvbm5lY3RSZWFzb24ucHJvdG90eXBlLmlu
aXRGaWVsZHNfID0gZnVuY3Rpb24oZmllbGRzKSB7Ci0gICAgZm9yKHZhciBmaWVsZCBpbiBmaWVs
ZHMpIHsKLSAgICAgICAgaWYgKHRoaXMuaGFzT3duUHJvcGVydHkoZmllbGQpKQotICAgICAgICAg
IHRoaXNbZmllbGRdID0gZmllbGRzW2ZpZWxkXTsKLSAgICB9Ci0gIH07Ci0KLSAgRGlzY29ubmVj
dFJlYXNvbi52YWxpZGF0ZSA9IGZ1bmN0aW9uKG1lc3NhZ2VWYWxpZGF0b3IsIG9mZnNldCkgewot
ICAgIHZhciBlcnI7Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdEhl
YWRlcihvZmZzZXQsIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplKTsKLSAgICBpZiAoZXJyICE9PSB2
YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAg
ICB2YXIga1ZlcnNpb25TaXplcyA9IFsKLSAgICAgIHt2ZXJzaW9uOiAwLCBudW1CeXRlczogMjR9
Ci0gICAgXTsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0VmVyc2lv
bihvZmZzZXQsIGtWZXJzaW9uU2l6ZXMpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxp
ZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0KLSAgICAvLyB2YWxp
ZGF0ZSBEaXNjb25uZWN0UmVhc29uLmRlc2NyaXB0aW9uCi0gICAgZXJyID0gbWVzc2FnZVZhbGlk
YXRvci52YWxpZGF0ZVN0cmluZ1BvaW50ZXIob2Zmc2V0ICsgY29kZWMua1N0cnVjdEhlYWRlclNp
emUgKyA4LCBmYWxzZSkKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9y
Lk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlk
YXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIERpc2Nvbm5lY3RSZWFzb24uZW5jb2RlZFNpemUg
PSBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDE2OwotCi0gIERpc2Nvbm5lY3RSZWFzb24uZGVj
b2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgdmFyIHZhbCA9
IG5ldyBEaXNjb25uZWN0UmVhc29uKCk7Ci0gICAgdmFyIG51bWJlck9mQnl0ZXMgPSBkZWNvZGVy
LnJlYWRVaW50MzIoKTsKLSAgICB2YXIgdmVyc2lvbiA9IGRlY29kZXIucmVhZFVpbnQzMigpOwot
ICAgIHZhbC5jdXN0b21SZWFzb24gPSBkZWNvZGVyLmRlY29kZVN0cnVjdChjb2RlYy5VaW50MzIp
OwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rl
ci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICB2YWwuZGVzY3JpcHRpb24gPSBk
ZWNvZGVyLmRlY29kZVN0cnVjdChjb2RlYy5TdHJpbmcpOwotICAgIHJldHVybiB2YWw7Ci0gIH07
Ci0KLSAgRGlzY29ubmVjdFJlYXNvbi5lbmNvZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2YWwpIHsK
LSAgICB2YXIgcGFja2VkOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoRGlzY29ubmVjdFJlYXNv
bi5lbmNvZGVkU2l6ZSk7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMigwKTsKLSAgICBlbmNvZGVy
LmVuY29kZVN0cnVjdChjb2RlYy5VaW50MzIsIHZhbC5jdXN0b21SZWFzb24pOwotICAgIGVuY29k
ZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwot
ICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdChjb2RlYy5TdHJp
bmcsIHZhbC5kZXNjcmlwdGlvbik7Ci0gIH07Ci0gIGZ1bmN0aW9uIFBlZXJBc3NvY2lhdGVkRW5k
cG9pbnRDbG9zZWRFdmVudCh2YWx1ZXMpIHsKLSAgICB0aGlzLmluaXREZWZhdWx0c18oKTsKLSAg
ICB0aGlzLmluaXRGaWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0gIFBlZXJBc3NvY2lhdGVkRW5k
cG9pbnRDbG9zZWRFdmVudC5wcm90b3R5cGUuaW5pdERlZmF1bHRzXyA9IGZ1bmN0aW9uKCkgewot
ICAgIHRoaXMuaWQgPSAwOwotICAgIHRoaXMuZGlzY29ubmVjdFJlYXNvbiA9IG51bGw7Ci0gIH07
Ci0gIFBlZXJBc3NvY2lhdGVkRW5kcG9pbnRDbG9zZWRFdmVudC5wcm90b3R5cGUuaW5pdEZpZWxk
c18gPSBmdW5jdGlvbihmaWVsZHMpIHsKLSAgICBmb3IodmFyIGZpZWxkIGluIGZpZWxkcykgewot
ICAgICAgICBpZiAodGhpcy5oYXNPd25Qcm9wZXJ0eShmaWVsZCkpCi0gICAgICAgICAgdGhpc1tm
aWVsZF0gPSBmaWVsZHNbZmllbGRdOwotICAgIH0KLSAgfTsKLQotICBQZWVyQXNzb2NpYXRlZEVu
ZHBvaW50Q2xvc2VkRXZlbnQudmFsaWRhdGUgPSBmdW5jdGlvbihtZXNzYWdlVmFsaWRhdG9yLCBv
ZmZzZXQpIHsKLSAgICB2YXIgZXJyOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRh
dGVTdHJ1Y3RIZWFkZXIob2Zmc2V0LCBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSk7Ci0gICAgaWYg
KGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4g
ZXJyOwotCi0gICAgdmFyIGtWZXJzaW9uU2l6ZXMgPSBbCi0gICAgICB7dmVyc2lvbjogMCwgbnVt
Qnl0ZXM6IDI0fQotICAgIF07Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0
cnVjdFZlcnNpb24ob2Zmc2V0LCBrVmVyc2lvblNpemVzKTsKLSAgICBpZiAoZXJyICE9PSB2YWxp
ZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotCi0g
ICAgLy8gdmFsaWRhdGUgUGVlckFzc29jaWF0ZWRFbmRwb2ludENsb3NlZEV2ZW50LmRpc2Nvbm5l
Y3RSZWFzb24KLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0UG9pbnRl
cihvZmZzZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDgsIERpc2Nvbm5lY3RSZWFzb24s
IHRydWUpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkK
LSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVy
cm9yLk5PTkU7Ci0gIH07Ci0KLSAgUGVlckFzc29jaWF0ZWRFbmRwb2ludENsb3NlZEV2ZW50LmVu
Y29kZWRTaXplID0gY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyAxNjsKLQotICBQZWVyQXNzb2Np
YXRlZEVuZHBvaW50Q2xvc2VkRXZlbnQuZGVjb2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAg
IHZhciBwYWNrZWQ7Ci0gICAgdmFyIHZhbCA9IG5ldyBQZWVyQXNzb2NpYXRlZEVuZHBvaW50Q2xv
c2VkRXZlbnQoKTsKLSAgICB2YXIgbnVtYmVyT2ZCeXRlcyA9IGRlY29kZXIucmVhZFVpbnQzMigp
OwotICAgIHZhciB2ZXJzaW9uID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFsLmlkID0g
ZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoY29kZWMuVWludDMyKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7
Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVy
LnNraXAoMSk7Ci0gICAgdmFsLmRpc2Nvbm5lY3RSZWFzb24gPSBkZWNvZGVyLmRlY29kZVN0cnVj
dFBvaW50ZXIoRGlzY29ubmVjdFJlYXNvbik7Ci0gICAgcmV0dXJuIHZhbDsKLSAgfTsKLQotICBQ
ZWVyQXNzb2NpYXRlZEVuZHBvaW50Q2xvc2VkRXZlbnQuZW5jb2RlID0gZnVuY3Rpb24oZW5jb2Rl
ciwgdmFsKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKFBlZXJB
c3NvY2lhdGVkRW5kcG9pbnRDbG9zZWRFdmVudC5lbmNvZGVkU2l6ZSk7Ci0gICAgZW5jb2Rlci53
cml0ZVVpbnQzMigwKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdChjb2RlYy5VaW50MzIsIHZh
bC5pZCk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBl
bmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuZW5jb2Rl
U3RydWN0UG9pbnRlcihEaXNjb25uZWN0UmVhc29uLCB2YWwuZGlzY29ubmVjdFJlYXNvbik7Ci0g
IH07Ci0KLSAgZnVuY3Rpb24gUnVuT3JDbG9zZVBpcGVJbnB1dCh2YWx1ZSkgewotICAgIHRoaXMu
aW5pdERlZmF1bHRfKCk7Ci0gICAgdGhpcy5pbml0VmFsdWVfKHZhbHVlKTsKLSAgfQotCi0KLSAg
UnVuT3JDbG9zZVBpcGVJbnB1dC5UYWdzID0gewotICAgIHBlZXJBc3NvY2lhdGVkRW5kcG9pbnRD
bG9zZWRFdmVudDogMCwKLSAgfTsKLQotICBSdW5PckNsb3NlUGlwZUlucHV0LnByb3RvdHlwZS5p
bml0RGVmYXVsdF8gPSBmdW5jdGlvbigpIHsKLSAgICB0aGlzLiRkYXRhID0gbnVsbDsKLSAgICB0
aGlzLiR0YWcgPSB1bmRlZmluZWQ7Ci0gIH0KLQotICBSdW5PckNsb3NlUGlwZUlucHV0LnByb3Rv
dHlwZS5pbml0VmFsdWVfID0gZnVuY3Rpb24odmFsdWUpIHsKLSAgICBpZiAodmFsdWUgPT0gdW5k
ZWZpbmVkKSB7Ci0gICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgdmFyIGtleXMgPSBPYmplY3Qu
a2V5cyh2YWx1ZSk7Ci0gICAgaWYgKGtleXMubGVuZ3RoID09IDApIHsKLSAgICAgIHJldHVybjsK
LSAgICB9Ci0KLSAgICBpZiAoa2V5cy5sZW5ndGggPiAxKSB7Ci0gICAgICB0aHJvdyBuZXcgVHlw
ZUVycm9yKCJZb3UgbWF5IHNldCBvbmx5IG9uZSBtZW1iZXIgb24gYSB1bmlvbi4iKTsKLSAgICB9
Ci0KLSAgICB2YXIgZmllbGRzID0gWwotICAgICAgICAicGVlckFzc29jaWF0ZWRFbmRwb2ludENs
b3NlZEV2ZW50IiwKLSAgICBdOwotCi0gICAgaWYgKGZpZWxkcy5pbmRleE9mKGtleXNbMF0pIDwg
MCkgewotICAgICAgdGhyb3cgbmV3IFJlZmVyZW5jZUVycm9yKGtleXNbMF0gKyAiIGlzIG5vdCBh
IFJ1bk9yQ2xvc2VQaXBlSW5wdXQgbWVtYmVyLiIpOwotCi0gICAgfQotCi0gICAgdGhpc1trZXlz
WzBdXSA9IHZhbHVlW2tleXNbMF1dOwotICB9Ci0gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShSdW5P
ckNsb3NlUGlwZUlucHV0LnByb3RvdHlwZSwgInBlZXJBc3NvY2lhdGVkRW5kcG9pbnRDbG9zZWRF
dmVudCIsIHsKLSAgICBnZXQ6IGZ1bmN0aW9uKCkgewotICAgICAgaWYgKHRoaXMuJHRhZyAhPSBS
dW5PckNsb3NlUGlwZUlucHV0LlRhZ3MucGVlckFzc29jaWF0ZWRFbmRwb2ludENsb3NlZEV2ZW50
KSB7Ci0gICAgICAgIHRocm93IG5ldyBSZWZlcmVuY2VFcnJvcigKLSAgICAgICAgICAgICJSdW5P
ckNsb3NlUGlwZUlucHV0LnBlZXJBc3NvY2lhdGVkRW5kcG9pbnRDbG9zZWRFdmVudCBpcyBub3Qg
Y3VycmVudGx5IHNldC4iKTsKLSAgICAgIH0KLSAgICAgIHJldHVybiB0aGlzLiRkYXRhOwotICAg
IH0sCi0KLSAgICBzZXQ6IGZ1bmN0aW9uKHZhbHVlKSB7Ci0gICAgICB0aGlzLiR0YWcgPSBSdW5P
ckNsb3NlUGlwZUlucHV0LlRhZ3MucGVlckFzc29jaWF0ZWRFbmRwb2ludENsb3NlZEV2ZW50Owot
ICAgICAgdGhpcy4kZGF0YSA9IHZhbHVlOwotICAgIH0KLSAgfSk7Ci0KLQotICAgIFJ1bk9yQ2xv
c2VQaXBlSW5wdXQuZW5jb2RlID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAgICBpZiAo
dmFsID09IG51bGwpIHsKLSAgICAgICAgZW5jb2Rlci53cml0ZVVpbnQ2NCgwKTsKLSAgICAgICAg
ZW5jb2Rlci53cml0ZVVpbnQ2NCgwKTsKLSAgICAgICAgcmV0dXJuOwotICAgICAgfQotICAgICAg
aWYgKHZhbC4kdGFnID09IHVuZGVmaW5lZCkgewotICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9y
KCJDYW5ub3QgZW5jb2RlIHVuaW9ucyB3aXRoIGFuIHVua25vd24gbWVtYmVyIHNldC4iKTsKLSAg
ICAgIH0KLQotICAgICAgZW5jb2Rlci53cml0ZVVpbnQzMigxNik7Ci0gICAgICBlbmNvZGVyLndy
aXRlVWludDMyKHZhbC4kdGFnKTsKLSAgICAgIHN3aXRjaCAodmFsLiR0YWcpIHsKLSAgICAgICAg
Y2FzZSBSdW5PckNsb3NlUGlwZUlucHV0LlRhZ3MucGVlckFzc29jaWF0ZWRFbmRwb2ludENsb3Nl
ZEV2ZW50OgotICAgICAgICAgIGVuY29kZXIuZW5jb2RlU3RydWN0UG9pbnRlcihQZWVyQXNzb2Np
YXRlZEVuZHBvaW50Q2xvc2VkRXZlbnQsIHZhbC5wZWVyQXNzb2NpYXRlZEVuZHBvaW50Q2xvc2Vk
RXZlbnQpOwotICAgICAgICAgIGJyZWFrOwotICAgICAgfQotICAgICAgZW5jb2Rlci5hbGlnbigp
OwotICAgIH07Ci0KLQotICAgIFJ1bk9yQ2xvc2VQaXBlSW5wdXQuZGVjb2RlID0gZnVuY3Rpb24o
ZGVjb2RlcikgewotICAgICAgdmFyIHNpemUgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICAg
IGlmIChzaXplID09IDApIHsKLSAgICAgICAgZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgICAg
IGRlY29kZXIucmVhZFVpbnQ2NCgpOwotICAgICAgICByZXR1cm4gbnVsbDsKLSAgICAgIH0KLQot
ICAgICAgdmFyIHJlc3VsdCA9IG5ldyBSdW5PckNsb3NlUGlwZUlucHV0KCk7Ci0gICAgICB2YXIg
dGFnID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgICBzd2l0Y2ggKHRhZykgewotICAgICAg
ICBjYXNlIFJ1bk9yQ2xvc2VQaXBlSW5wdXQuVGFncy5wZWVyQXNzb2NpYXRlZEVuZHBvaW50Q2xv
c2VkRXZlbnQ6Ci0gICAgICAgICAgcmVzdWx0LnBlZXJBc3NvY2lhdGVkRW5kcG9pbnRDbG9zZWRF
dmVudCA9IGRlY29kZXIuZGVjb2RlU3RydWN0UG9pbnRlcihQZWVyQXNzb2NpYXRlZEVuZHBvaW50
Q2xvc2VkRXZlbnQpOwotICAgICAgICAgIGJyZWFrOwotICAgICAgfQotICAgICAgZGVjb2Rlci5h
bGlnbigpOwotCi0gICAgICByZXR1cm4gcmVzdWx0OwotICAgIH07Ci0KLQotICAgIFJ1bk9yQ2xv
c2VQaXBlSW5wdXQudmFsaWRhdGUgPSBmdW5jdGlvbihtZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQp
IHsKLSAgICAgIHZhciBzaXplID0gbWVzc2FnZVZhbGlkYXRvci5kZWNvZGVVbmlvblNpemUob2Zm
c2V0KTsKLSAgICAgIGlmIChzaXplICE9IDE2KSB7Ci0gICAgICAgIHJldHVybiB2YWxpZGF0b3Iu
dmFsaWRhdGlvbkVycm9yLklOVkFMSURfVU5JT05fU0laRTsKLSAgICAgIH0KLQotICAgICAgdmFy
IHRhZyA9IG1lc3NhZ2VWYWxpZGF0b3IuZGVjb2RlVW5pb25UYWcob2Zmc2V0KTsKLSAgICAgIHZh
ciBkYXRhX29mZnNldCA9IG9mZnNldCArIDg7Ci0gICAgICB2YXIgZXJyOwotICAgICAgc3dpdGNo
ICh0YWcpIHsKLSAgICAgICAgY2FzZSBSdW5PckNsb3NlUGlwZUlucHV0LlRhZ3MucGVlckFzc29j
aWF0ZWRFbmRwb2ludENsb3NlZEV2ZW50OgotICAgICAgICAgIAotCi0gICAgLy8gdmFsaWRhdGUg
UnVuT3JDbG9zZVBpcGVJbnB1dC5wZWVyQXNzb2NpYXRlZEVuZHBvaW50Q2xvc2VkRXZlbnQKLSAg
ICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0UG9pbnRlcihkYXRhX29mZnNl
dCwgUGVlckFzc29jaWF0ZWRFbmRwb2ludENsb3NlZEV2ZW50LCBmYWxzZSk7Ci0gICAgaWYgKGVy
ciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJy
OwotICAgICAgICAgIGJyZWFrOwotICAgICAgfQotCi0gICAgICByZXR1cm4gdmFsaWRhdG9yLnZh
bGlkYXRpb25FcnJvci5OT05FOwotICAgIH07Ci0KLSAgUnVuT3JDbG9zZVBpcGVJbnB1dC5lbmNv
ZGVkU2l6ZSA9IDE2OwotICBleHBvcnRzLmtSdW5PckNsb3NlUGlwZU1lc3NhZ2VJZCA9IGtSdW5P
ckNsb3NlUGlwZU1lc3NhZ2VJZDsKLSAgZXhwb3J0cy5SdW5PckNsb3NlUGlwZU1lc3NhZ2VQYXJh
bXMgPSBSdW5PckNsb3NlUGlwZU1lc3NhZ2VQYXJhbXM7Ci0gIGV4cG9ydHMuRGlzY29ubmVjdFJl
YXNvbiA9IERpc2Nvbm5lY3RSZWFzb247Ci0gIGV4cG9ydHMuUGVlckFzc29jaWF0ZWRFbmRwb2lu
dENsb3NlZEV2ZW50ID0gUGVlckFzc29jaWF0ZWRFbmRwb2ludENsb3NlZEV2ZW50OwotICBleHBv
cnRzLlJ1bk9yQ2xvc2VQaXBlSW5wdXQgPSBSdW5PckNsb3NlUGlwZUlucHV0OwotfSkoKTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL2Nocm9taXVtL21vam9fYmluZGluZ3MuanMuaGVhZGVycyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL21vam9fYmlu
ZGluZ3MuanMuaGVhZGVycwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjgwNWMzMjNk
ZjUuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL21vam9fYmluZGluZ3MuanMuaGVhZGVycworKysg
L2Rldi9udWxsCkBAIC0xICswLDAgQEAKLUNvbnRlbnQtVHlwZTogdGV4dC9qYXZhc2NyaXB0OyBj
aGFyc2V0PXV0Zi04CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS9tb2pvX3dlYl90ZXN0X2hlbHBlcl90ZXN0
Lm1vam9tLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvY2hyb21pdW0vbW9qb193ZWJfdGVzdF9oZWxwZXJfdGVzdC5tb2pvbS5qcwpkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggY2ZiYWQwODY4OTguLjAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2No
cm9taXVtL21vam9fd2ViX3Rlc3RfaGVscGVyX3Rlc3QubW9qb20uanMKKysrIC9kZXYvbnVsbApA
QCAtMSwyNjQgKzAsMCBAQAotLy8gQ29weXJpZ2h0IDIwMTQgVGhlIENocm9taXVtIEF1dGhvcnMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0vLyBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zl
cm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCi0vLyBmb3VuZCBpbiB0aGUg
TElDRU5TRSBmaWxlLgotCi0ndXNlIHN0cmljdCc7Ci0KLShmdW5jdGlvbigpIHsKLSAgdmFyIG1v
am9tSWQgPSAnY29udGVudC90ZXN0L2RhdGEvbW9qb193ZWJfdGVzdF9oZWxwZXJfdGVzdC5tb2pv
bSc7Ci0gIGlmIChtb2pvLmludGVybmFsLmlzTW9qb21Mb2FkZWQobW9qb21JZCkpIHsKLSAgICBj
b25zb2xlLndhcm4oJ1RoZSBmb2xsb3dpbmcgbW9qb20gaXMgbG9hZGVkIG11bHRpcGxlIHRpbWVz
OiAnICsgbW9qb21JZCk7Ci0gICAgcmV0dXJuOwotICB9Ci0gIG1vam8uaW50ZXJuYWwubWFya01v
am9tTG9hZGVkKG1vam9tSWQpOwotCi0gIC8vIFRPRE8oeXpzaGVuKTogRGVmaW5lIHRoZXNlIGFs
aWFzZXMgdG8gbWluaW1pemUgdGhlIGRpZmZlcmVuY2VzIGJldHdlZW4gdGhlCi0gIC8vIG9sZC9u
ZXcgbW9kZXMuIFJlbW92ZSB0aGVtIHdoZW4gdGhlIG9sZCBtb2RlIGdvZXMgYXdheS4KLSAgdmFy
IGJpbmRpbmdzID0gbW9qbzsKLSAgdmFyIGFzc29jaWF0ZWRCaW5kaW5ncyA9IG1vam87Ci0gIHZh
ciBjb2RlYyA9IG1vam8uaW50ZXJuYWw7Ci0gIHZhciB2YWxpZGF0b3IgPSBtb2pvLmludGVybmFs
OwotCi0gIHZhciBleHBvcnRzID0gbW9qby5pbnRlcm5hbC5leHBvc2VOYW1lc3BhY2UoJ2NvbnRl
bnQubW9qb20nKTsKLQotCi0KLSAgZnVuY3Rpb24gTW9qb1dlYlRlc3RIZWxwZXJfUmV2ZXJzZV9Q
YXJhbXModmFsdWVzKSB7Ci0gICAgdGhpcy5pbml0RGVmYXVsdHNfKCk7Ci0gICAgdGhpcy5pbml0
RmllbGRzXyh2YWx1ZXMpOwotICB9Ci0KLQotICBNb2pvV2ViVGVzdEhlbHBlcl9SZXZlcnNlX1Bh
cmFtcy5wcm90b3R5cGUuaW5pdERlZmF1bHRzXyA9IGZ1bmN0aW9uKCkgewotICAgIHRoaXMubWVz
c2FnZSA9IG51bGw7Ci0gIH07Ci0gIE1vam9XZWJUZXN0SGVscGVyX1JldmVyc2VfUGFyYW1zLnBy
b3RvdHlwZS5pbml0RmllbGRzXyA9IGZ1bmN0aW9uKGZpZWxkcykgewotICAgIGZvcih2YXIgZmll
bGQgaW4gZmllbGRzKSB7Ci0gICAgICAgIGlmICh0aGlzLmhhc093blByb3BlcnR5KGZpZWxkKSkK
LSAgICAgICAgICB0aGlzW2ZpZWxkXSA9IGZpZWxkc1tmaWVsZF07Ci0gICAgfQotICB9OwotCi0g
IE1vam9XZWJUZXN0SGVscGVyX1JldmVyc2VfUGFyYW1zLnZhbGlkYXRlID0gZnVuY3Rpb24obWVz
c2FnZVZhbGlkYXRvciwgb2Zmc2V0KSB7Ci0gICAgdmFyIGVycjsKLSAgICBlcnIgPSBtZXNzYWdl
VmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0SGVhZGVyKG9mZnNldCwgY29kZWMua1N0cnVjdEhlYWRl
clNpemUpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkK
LSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHZhciBrVmVyc2lvblNpemVzID0gWwotICAgICAg
e3ZlcnNpb246IDAsIG51bUJ5dGVzOiAxNn0KLSAgICBdOwotICAgIGVyciA9IG1lc3NhZ2VWYWxp
ZGF0b3IudmFsaWRhdGVTdHJ1Y3RWZXJzaW9uKG9mZnNldCwga1ZlcnNpb25TaXplcyk7Ci0gICAg
aWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1
cm4gZXJyOwotCi0KLSAgICAvLyB2YWxpZGF0ZSBNb2pvV2ViVGVzdEhlbHBlcl9SZXZlcnNlX1Bh
cmFtcy5tZXNzYWdlCi0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cmluZ1Bv
aW50ZXIob2Zmc2V0ICsgY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyAwLCBmYWxzZSkKLSAgICBp
ZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVy
biBlcnI7Ci0KLSAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwotICB9
OwotCi0gIE1vam9XZWJUZXN0SGVscGVyX1JldmVyc2VfUGFyYW1zLmVuY29kZWRTaXplID0gY29k
ZWMua1N0cnVjdEhlYWRlclNpemUgKyA4OwotCi0gIE1vam9XZWJUZXN0SGVscGVyX1JldmVyc2Vf
UGFyYW1zLmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICB2YXIgcGFja2VkOwotICAg
IHZhciB2YWwgPSBuZXcgTW9qb1dlYlRlc3RIZWxwZXJfUmV2ZXJzZV9QYXJhbXMoKTsKLSAgICB2
YXIgbnVtYmVyT2ZCeXRlcyA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhciB2ZXJzaW9u
ID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFsLm1lc3NhZ2UgPSBkZWNvZGVyLmRlY29k
ZVN0cnVjdChjb2RlYy5TdHJpbmcpOwotICAgIHJldHVybiB2YWw7Ci0gIH07Ci0KLSAgTW9qb1dl
YlRlc3RIZWxwZXJfUmV2ZXJzZV9QYXJhbXMuZW5jb2RlID0gZnVuY3Rpb24oZW5jb2RlciwgdmFs
KSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKE1vam9XZWJUZXN0
SGVscGVyX1JldmVyc2VfUGFyYW1zLmVuY29kZWRTaXplKTsKLSAgICBlbmNvZGVyLndyaXRlVWlu
dDMyKDApOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNvZGVjLlN0cmluZywgdmFsLm1lc3Nh
Z2UpOwotICB9OwotICBmdW5jdGlvbiBNb2pvV2ViVGVzdEhlbHBlcl9SZXZlcnNlX1Jlc3BvbnNl
UGFyYW1zKHZhbHVlcykgewotICAgIHRoaXMuaW5pdERlZmF1bHRzXygpOwotICAgIHRoaXMuaW5p
dEZpZWxkc18odmFsdWVzKTsKLSAgfQotCi0KLSAgTW9qb1dlYlRlc3RIZWxwZXJfUmV2ZXJzZV9S
ZXNwb25zZVBhcmFtcy5wcm90b3R5cGUuaW5pdERlZmF1bHRzXyA9IGZ1bmN0aW9uKCkgewotICAg
IHRoaXMucmV2ZXJzZWQgPSBudWxsOwotICB9OwotICBNb2pvV2ViVGVzdEhlbHBlcl9SZXZlcnNl
X1Jlc3BvbnNlUGFyYW1zLnByb3RvdHlwZS5pbml0RmllbGRzXyA9IGZ1bmN0aW9uKGZpZWxkcykg
ewotICAgIGZvcih2YXIgZmllbGQgaW4gZmllbGRzKSB7Ci0gICAgICAgIGlmICh0aGlzLmhhc093
blByb3BlcnR5KGZpZWxkKSkKLSAgICAgICAgICB0aGlzW2ZpZWxkXSA9IGZpZWxkc1tmaWVsZF07
Ci0gICAgfQotICB9OwotCi0gIE1vam9XZWJUZXN0SGVscGVyX1JldmVyc2VfUmVzcG9uc2VQYXJh
bXMudmFsaWRhdGUgPSBmdW5jdGlvbihtZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsKLSAgICB2
YXIgZXJyOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RIZWFkZXIo
b2Zmc2V0LCBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRh
dG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgdmFy
IGtWZXJzaW9uU2l6ZXMgPSBbCi0gICAgICB7dmVyc2lvbjogMCwgbnVtQnl0ZXM6IDE2fQotICAg
IF07Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFZlcnNpb24ob2Zm
c2V0LCBrVmVyc2lvblNpemVzKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlv
bkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotICAgIC8vIHZhbGlkYXRlIE1v
am9XZWJUZXN0SGVscGVyX1JldmVyc2VfUmVzcG9uc2VQYXJhbXMucmV2ZXJzZWQKLSAgICBlcnIg
PSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RyaW5nUG9pbnRlcihvZmZzZXQgKyBjb2RlYy5r
U3RydWN0SGVhZGVyU2l6ZSArIDAsIGZhbHNlKQotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52
YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHJldHVybiB2
YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gIH07Ci0KLSAgTW9qb1dlYlRlc3RIZWxw
ZXJfUmV2ZXJzZV9SZXNwb25zZVBhcmFtcy5lbmNvZGVkU2l6ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFk
ZXJTaXplICsgODsKLQotICBNb2pvV2ViVGVzdEhlbHBlcl9SZXZlcnNlX1Jlc3BvbnNlUGFyYW1z
LmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIHZhciB2
YWwgPSBuZXcgTW9qb1dlYlRlc3RIZWxwZXJfUmV2ZXJzZV9SZXNwb25zZVBhcmFtcygpOwotICAg
IHZhciBudW1iZXJPZkJ5dGVzID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFyIHZlcnNp
b24gPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YWwucmV2ZXJzZWQgPSBkZWNvZGVyLmRl
Y29kZVN0cnVjdChjb2RlYy5TdHJpbmcpOwotICAgIHJldHVybiB2YWw7Ci0gIH07Ci0KLSAgTW9q
b1dlYlRlc3RIZWxwZXJfUmV2ZXJzZV9SZXNwb25zZVBhcmFtcy5lbmNvZGUgPSBmdW5jdGlvbihl
bmNvZGVyLCB2YWwpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIo
TW9qb1dlYlRlc3RIZWxwZXJfUmV2ZXJzZV9SZXNwb25zZVBhcmFtcy5lbmNvZGVkU2l6ZSk7Ci0g
ICAgZW5jb2Rlci53cml0ZVVpbnQzMigwKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdChjb2Rl
Yy5TdHJpbmcsIHZhbC5yZXZlcnNlZCk7Ci0gIH07Ci0gIHZhciBrTW9qb1dlYlRlc3RIZWxwZXJf
UmV2ZXJzZV9OYW1lID0gMDsKLQotICBmdW5jdGlvbiBNb2pvV2ViVGVzdEhlbHBlclB0cihoYW5k
bGVPclB0ckluZm8pIHsKLSAgICB0aGlzLnB0ciA9IG5ldyBiaW5kaW5ncy5JbnRlcmZhY2VQdHJD
b250cm9sbGVyKE1vam9XZWJUZXN0SGVscGVyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlT3JQdHJJbmZvKTsKLSAgfQotCi0gIGZ1bmN0
aW9uIE1vam9XZWJUZXN0SGVscGVyQXNzb2NpYXRlZFB0cihhc3NvY2lhdGVkSW50ZXJmYWNlUHRy
SW5mbykgewotICAgIHRoaXMucHRyID0gbmV3IGFzc29jaWF0ZWRCaW5kaW5ncy5Bc3NvY2lhdGVk
SW50ZXJmYWNlUHRyQ29udHJvbGxlcigKLSAgICAgICAgTW9qb1dlYlRlc3RIZWxwZXIsIGFzc29j
aWF0ZWRJbnRlcmZhY2VQdHJJbmZvKTsKLSAgfQotCi0gIE1vam9XZWJUZXN0SGVscGVyQXNzb2Np
YXRlZFB0ci5wcm90b3R5cGUgPQotICAgICAgT2JqZWN0LmNyZWF0ZShNb2pvV2ViVGVzdEhlbHBl
clB0ci5wcm90b3R5cGUpOwotICBNb2pvV2ViVGVzdEhlbHBlckFzc29jaWF0ZWRQdHIucHJvdG90
eXBlLmNvbnN0cnVjdG9yID0KLSAgICAgIE1vam9XZWJUZXN0SGVscGVyQXNzb2NpYXRlZFB0cjsK
LQotICBmdW5jdGlvbiBNb2pvV2ViVGVzdEhlbHBlclByb3h5KHJlY2VpdmVyKSB7Ci0gICAgdGhp
cy5yZWNlaXZlcl8gPSByZWNlaXZlcjsKLSAgfQotICBNb2pvV2ViVGVzdEhlbHBlclB0ci5wcm90
b3R5cGUucmV2ZXJzZSA9IGZ1bmN0aW9uKCkgewotICAgIHJldHVybiBNb2pvV2ViVGVzdEhlbHBl
clByb3h5LnByb3RvdHlwZS5yZXZlcnNlCi0gICAgICAgIC5hcHBseSh0aGlzLnB0ci5nZXRQcm94
eSgpLCBhcmd1bWVudHMpOwotICB9OwotCi0gIE1vam9XZWJUZXN0SGVscGVyUHJveHkucHJvdG90
eXBlLnJldmVyc2UgPSBmdW5jdGlvbihtZXNzYWdlKSB7Ci0gICAgdmFyIHBhcmFtcyA9IG5ldyBN
b2pvV2ViVGVzdEhlbHBlcl9SZXZlcnNlX1BhcmFtcygpOwotICAgIHBhcmFtcy5tZXNzYWdlID0g
bWVzc2FnZTsKLSAgICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0
KSB7Ci0gICAgICB2YXIgYnVpbGRlciA9IG5ldyBjb2RlYy5NZXNzYWdlVjFCdWlsZGVyKAotICAg
ICAgICAgIGtNb2pvV2ViVGVzdEhlbHBlcl9SZXZlcnNlX05hbWUsCi0gICAgICAgICAgY29kZWMu
YWxpZ24oTW9qb1dlYlRlc3RIZWxwZXJfUmV2ZXJzZV9QYXJhbXMuZW5jb2RlZFNpemUpLAotICAg
ICAgICAgIGNvZGVjLmtNZXNzYWdlRXhwZWN0c1Jlc3BvbnNlLCAwKTsKLSAgICAgIGJ1aWxkZXIu
ZW5jb2RlU3RydWN0KE1vam9XZWJUZXN0SGVscGVyX1JldmVyc2VfUGFyYW1zLCBwYXJhbXMpOwot
ICAgICAgdmFyIG1lc3NhZ2UgPSBidWlsZGVyLmZpbmlzaCgpOwotICAgICAgdGhpcy5yZWNlaXZl
cl8uYWNjZXB0QW5kRXhwZWN0UmVzcG9uc2UobWVzc2FnZSkudGhlbihmdW5jdGlvbihtZXNzYWdl
KSB7Ci0gICAgICAgIHZhciByZWFkZXIgPSBuZXcgY29kZWMuTWVzc2FnZVJlYWRlcihtZXNzYWdl
KTsKLSAgICAgICAgdmFyIHJlc3BvbnNlUGFyYW1zID0KLSAgICAgICAgICAgIHJlYWRlci5kZWNv
ZGVTdHJ1Y3QoTW9qb1dlYlRlc3RIZWxwZXJfUmV2ZXJzZV9SZXNwb25zZVBhcmFtcyk7Ci0gICAg
ICAgIHJlc29sdmUocmVzcG9uc2VQYXJhbXMpOwotICAgICAgfSkuY2F0Y2goZnVuY3Rpb24ocmVz
dWx0KSB7Ci0gICAgICAgIHJlamVjdChFcnJvcigiQ29ubmVjdGlvbiBlcnJvcjogIiArIHJlc3Vs
dCkpOwotICAgICAgfSk7Ci0gICAgfS5iaW5kKHRoaXMpKTsKLSAgfTsKLQotICBmdW5jdGlvbiBN
b2pvV2ViVGVzdEhlbHBlclN0dWIoZGVsZWdhdGUpIHsKLSAgICB0aGlzLmRlbGVnYXRlXyA9IGRl
bGVnYXRlOwotICB9Ci0gIE1vam9XZWJUZXN0SGVscGVyU3R1Yi5wcm90b3R5cGUucmV2ZXJzZSA9
IGZ1bmN0aW9uKG1lc3NhZ2UpIHsKLSAgICByZXR1cm4gdGhpcy5kZWxlZ2F0ZV8gJiYgdGhpcy5k
ZWxlZ2F0ZV8ucmV2ZXJzZSAmJiB0aGlzLmRlbGVnYXRlXy5yZXZlcnNlKG1lc3NhZ2UpOwotICB9
Ci0KLSAgTW9qb1dlYlRlc3RIZWxwZXJTdHViLnByb3RvdHlwZS5hY2NlcHQgPSBmdW5jdGlvbiht
ZXNzYWdlKSB7Ci0gICAgdmFyIHJlYWRlciA9IG5ldyBjb2RlYy5NZXNzYWdlUmVhZGVyKG1lc3Nh
Z2UpOwotICAgIHN3aXRjaCAocmVhZGVyLm1lc3NhZ2VOYW1lKSB7Ci0gICAgZGVmYXVsdDoKLSAg
ICAgIHJldHVybiBmYWxzZTsKLSAgICB9Ci0gIH07Ci0KLSAgTW9qb1dlYlRlc3RIZWxwZXJTdHVi
LnByb3RvdHlwZS5hY2NlcHRXaXRoUmVzcG9uZGVyID0KLSAgICAgIGZ1bmN0aW9uKG1lc3NhZ2Us
IHJlc3BvbmRlcikgewotICAgIHZhciByZWFkZXIgPSBuZXcgY29kZWMuTWVzc2FnZVJlYWRlciht
ZXNzYWdlKTsKLSAgICBzd2l0Y2ggKHJlYWRlci5tZXNzYWdlTmFtZSkgewotICAgIGNhc2Uga01v
am9XZWJUZXN0SGVscGVyX1JldmVyc2VfTmFtZToKLSAgICAgIHZhciBwYXJhbXMgPSByZWFkZXIu
ZGVjb2RlU3RydWN0KE1vam9XZWJUZXN0SGVscGVyX1JldmVyc2VfUGFyYW1zKTsKLSAgICAgIHRo
aXMucmV2ZXJzZShwYXJhbXMubWVzc2FnZSkudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAg
ICAgICB2YXIgcmVzcG9uc2VQYXJhbXMgPQotICAgICAgICAgICAgbmV3IE1vam9XZWJUZXN0SGVs
cGVyX1JldmVyc2VfUmVzcG9uc2VQYXJhbXMoKTsKLSAgICAgICAgcmVzcG9uc2VQYXJhbXMucmV2
ZXJzZWQgPSByZXNwb25zZS5yZXZlcnNlZDsKLSAgICAgICAgdmFyIGJ1aWxkZXIgPSBuZXcgY29k
ZWMuTWVzc2FnZVYxQnVpbGRlcigKLSAgICAgICAgICAgIGtNb2pvV2ViVGVzdEhlbHBlcl9SZXZl
cnNlX05hbWUsCi0gICAgICAgICAgICBjb2RlYy5hbGlnbihNb2pvV2ViVGVzdEhlbHBlcl9SZXZl
cnNlX1Jlc3BvbnNlUGFyYW1zLmVuY29kZWRTaXplKSwKLSAgICAgICAgICAgIGNvZGVjLmtNZXNz
YWdlSXNSZXNwb25zZSwgcmVhZGVyLnJlcXVlc3RJRCk7Ci0gICAgICAgIGJ1aWxkZXIuZW5jb2Rl
U3RydWN0KE1vam9XZWJUZXN0SGVscGVyX1JldmVyc2VfUmVzcG9uc2VQYXJhbXMsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlUGFyYW1zKTsKLSAgICAgICAgdmFyIG1lc3Nh
Z2UgPSBidWlsZGVyLmZpbmlzaCgpOwotICAgICAgICByZXNwb25kZXIuYWNjZXB0KG1lc3NhZ2Up
OwotICAgICAgfSk7Ci0gICAgICByZXR1cm4gdHJ1ZTsKLSAgICBkZWZhdWx0OgotICAgICAgcmV0
dXJuIGZhbHNlOwotICAgIH0KLSAgfTsKLQotICBmdW5jdGlvbiB2YWxpZGF0ZU1vam9XZWJUZXN0
SGVscGVyUmVxdWVzdChtZXNzYWdlVmFsaWRhdG9yKSB7Ci0gICAgdmFyIG1lc3NhZ2UgPSBtZXNz
YWdlVmFsaWRhdG9yLm1lc3NhZ2U7Ci0gICAgdmFyIHBhcmFtc0NsYXNzID0gbnVsbDsKLSAgICBz
d2l0Y2ggKG1lc3NhZ2UuZ2V0TmFtZSgpKSB7Ci0gICAgICBjYXNlIGtNb2pvV2ViVGVzdEhlbHBl
cl9SZXZlcnNlX05hbWU6Ci0gICAgICAgIGlmIChtZXNzYWdlLmV4cGVjdHNSZXNwb25zZSgpKQot
ICAgICAgICAgIHBhcmFtc0NsYXNzID0gTW9qb1dlYlRlc3RIZWxwZXJfUmV2ZXJzZV9QYXJhbXM7
Ci0gICAgICBicmVhazsKLSAgICB9Ci0gICAgaWYgKHBhcmFtc0NsYXNzID09PSBudWxsKQotICAg
ICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAgICByZXR1cm4gcGFy
YW1zQ2xhc3MudmFsaWRhdGUobWVzc2FnZVZhbGlkYXRvciwgbWVzc2FnZVZhbGlkYXRvci5tZXNz
YWdlLmdldEhlYWRlck51bUJ5dGVzKCkpOwotICB9Ci0KLSAgZnVuY3Rpb24gdmFsaWRhdGVNb2pv
V2ViVGVzdEhlbHBlclJlc3BvbnNlKG1lc3NhZ2VWYWxpZGF0b3IpIHsKLSAgIHZhciBtZXNzYWdl
ID0gbWVzc2FnZVZhbGlkYXRvci5tZXNzYWdlOwotICAgdmFyIHBhcmFtc0NsYXNzID0gbnVsbDsK
LSAgIHN3aXRjaCAobWVzc2FnZS5nZXROYW1lKCkpIHsKLSAgICAgIGNhc2Uga01vam9XZWJUZXN0
SGVscGVyX1JldmVyc2VfTmFtZToKLSAgICAgICAgaWYgKG1lc3NhZ2UuaXNSZXNwb25zZSgpKQot
ICAgICAgICAgIHBhcmFtc0NsYXNzID0gTW9qb1dlYlRlc3RIZWxwZXJfUmV2ZXJzZV9SZXNwb25z
ZVBhcmFtczsKLSAgICAgICAgYnJlYWs7Ci0gICAgfQotICAgIGlmIChwYXJhbXNDbGFzcyA9PT0g
bnVsbCkKLSAgICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gICAg
cmV0dXJuIHBhcmFtc0NsYXNzLnZhbGlkYXRlKG1lc3NhZ2VWYWxpZGF0b3IsIG1lc3NhZ2VWYWxp
ZGF0b3IubWVzc2FnZS5nZXRIZWFkZXJOdW1CeXRlcygpKTsKLSAgfQotCi0gIHZhciBNb2pvV2Vi
VGVzdEhlbHBlciA9IHsKLSAgICBuYW1lOiAnY29udGVudC5tb2pvbS5Nb2pvV2ViVGVzdEhlbHBl
cicsCi0gICAga1ZlcnNpb246IDAsCi0gICAgcHRyQ2xhc3M6IE1vam9XZWJUZXN0SGVscGVyUHRy
LAotICAgIHByb3h5Q2xhc3M6IE1vam9XZWJUZXN0SGVscGVyUHJveHksCi0gICAgc3R1YkNsYXNz
OiBNb2pvV2ViVGVzdEhlbHBlclN0dWIsCi0gICAgdmFsaWRhdGVSZXF1ZXN0OiB2YWxpZGF0ZU1v
am9XZWJUZXN0SGVscGVyUmVxdWVzdCwKLSAgICB2YWxpZGF0ZVJlc3BvbnNlOiB2YWxpZGF0ZU1v
am9XZWJUZXN0SGVscGVyUmVzcG9uc2UsCi0gIH07Ci0gIE1vam9XZWJUZXN0SGVscGVyU3R1Yi5w
cm90b3R5cGUudmFsaWRhdG9yID0gdmFsaWRhdGVNb2pvV2ViVGVzdEhlbHBlclJlcXVlc3Q7Ci0g
IE1vam9XZWJUZXN0SGVscGVyUHJveHkucHJvdG90eXBlLnZhbGlkYXRvciA9IHZhbGlkYXRlTW9q
b1dlYlRlc3RIZWxwZXJSZXNwb25zZTsKLSAgZXhwb3J0cy5Nb2pvV2ViVGVzdEhlbHBlciA9IE1v
am9XZWJUZXN0SGVscGVyOwotICBleHBvcnRzLk1vam9XZWJUZXN0SGVscGVyUHRyID0gTW9qb1dl
YlRlc3RIZWxwZXJQdHI7Ci0gIGV4cG9ydHMuTW9qb1dlYlRlc3RIZWxwZXJBc3NvY2lhdGVkUHRy
ID0gTW9qb1dlYlRlc3RIZWxwZXJBc3NvY2lhdGVkUHRyOwotfSkoKTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9t
aXVtL21vam9fd2ViX3Rlc3RfaGVscGVyX3Rlc3QubW9qb20uanMuaGVhZGVycyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL21v
am9fd2ViX3Rlc3RfaGVscGVyX3Rlc3QubW9qb20uanMuaGVhZGVycwpkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggNjgwNWMzMjNkZjUuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL21vam9f
d2ViX3Rlc3RfaGVscGVyX3Rlc3QubW9qb20uanMuaGVhZGVycworKysgL2Rldi9udWxsCkBAIC0x
ICswLDAgQEAKLUNvbnRlbnQtVHlwZTogdGV4dC9qYXZhc2NyaXB0OyBjaGFyc2V0PXV0Zi04CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy9jaHJvbWl1bS9uZmMtbW9jay5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL25mYy1tb2NrLmpzCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2ODIzZjYzNjJmYS4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21p
dW0vbmZjLW1vY2suanMKKysrIC9kZXYvbnVsbApAQCAtMSw0MDMgKzAsMCBAQAotJ3VzZSBzdHJp
Y3QnOwotCi1mdW5jdGlvbiB0b01vam9OREVGUHVzaFRhcmdldCh0YXJnZXQpIHsKLSAgc3dpdGNo
ICh0YXJnZXQpIHsKLSAgY2FzZSAncGVlcic6Ci0gICAgcmV0dXJuIGRldmljZS5tb2pvbS5OREVG
UHVzaFRhcmdldC5QRUVSOwotICBjYXNlICd0YWcnOgotICAgIHJldHVybiBkZXZpY2UubW9qb20u
TkRFRlB1c2hUYXJnZXQuVEFHOwotICB9Ci0KLSAgcmV0dXJuIGRldmljZS5tb2pvbS5OREVGUHVz
aFRhcmdldC5BTlk7Ci19Ci0KLS8vIENvbnZlcnRzIGJldHdlZW4gTkRFRk1lc3NhZ2VJbml0IGh0
dHBzOi8vdzNjLmdpdGh1Yi5pby93ZWItbmZjLyNkb20tbmRlZm1lc3NhZ2UKLS8vIGFuZCBtb2pv
bS5OREVGTWVzc2FnZSBzdHJ1Y3R1cmUsIHNvIHRoYXQgd2F0Y2ggZnVuY3Rpb24gY2FuIGJlIHRl
c3RlZC4KLWZ1bmN0aW9uIHRvTW9qb05ERUZNZXNzYWdlKG1lc3NhZ2UpIHsKLSAgbGV0IG5kZWZN
ZXNzYWdlID0gbmV3IGRldmljZS5tb2pvbS5OREVGTWVzc2FnZSgpOwotICBuZGVmTWVzc2FnZS5k
YXRhID0gW107Ci0gIGZvciAobGV0IHJlY29yZCBvZiBtZXNzYWdlLnJlY29yZHMpIHsKLSAgICBu
ZGVmTWVzc2FnZS5kYXRhLnB1c2godG9Nb2pvTkRFRlJlY29yZChyZWNvcmQpKTsKLSAgfQotICBy
ZXR1cm4gbmRlZk1lc3NhZ2U7Ci19Ci0KLWZ1bmN0aW9uIHRvTW9qb05ERUZSZWNvcmQocmVjb3Jk
KSB7Ci0gIGxldCBuZmNSZWNvcmQgPSBuZXcgZGV2aWNlLm1vam9tLk5ERUZSZWNvcmQoKTsKLSAg
bmZjUmVjb3JkLnJlY29yZFR5cGUgPSByZWNvcmQucmVjb3JkVHlwZTsKLSAgbmZjUmVjb3JkLm1l
ZGlhVHlwZSA9IHJlY29yZC5tZWRpYVR5cGU7Ci0gIG5mY1JlY29yZC5pZCA9IHJlY29yZC5pZDsK
LSAgbmZjUmVjb3JkLmRhdGEgPSB0b0J5dGVBcnJheShyZWNvcmQuZGF0YSk7Ci0gIGlmIChyZWNv
cmQuZGF0YSAhPSBudWxsICYmIHJlY29yZC5kYXRhLnJlY29yZHMgIT09IHVuZGVmaW5lZCkgewot
ICAgIC8vIHxyZWNvcmQuZGF0YXwgbWF5IGJlIGFuIE5ERUZNZXNzYWdlSW5pdCwgaS5lLiB0aGUg
cGF5bG9hZCBpcyBhIG1lc3NhZ2UuCi0gICAgbmZjUmVjb3JkLnBheWxvYWRNZXNzYWdlID0gdG9N
b2pvTkRFRk1lc3NhZ2UocmVjb3JkLmRhdGEpOwotICB9Ci0gIHJldHVybiBuZmNSZWNvcmQ7Ci19
Ci0KLS8vIENvbnZlcnRzIEpTIG9iamVjdHMgdG8gYnl0ZSBhcnJheS4KLWZ1bmN0aW9uIHRvQnl0
ZUFycmF5KGRhdGEpIHsKLSAgaWYgKGRhdGEgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlcikKLSAgICBy
ZXR1cm4gbmV3IFVpbnQ4QXJyYXkoZGF0YSk7Ci0gIGVsc2UgaWYgKEFycmF5QnVmZmVyLmlzVmll
dyhkYXRhKSkKLSAgICByZXR1cm4gbmV3IFVpbnQ4QXJyYXkoZGF0YS5idWZmZXIsIGRhdGEuYnl0
ZU9mZnNldCwgZGF0YS5ieXRlTGVuZ3RoKTsKLQotICBsZXQgYnl0ZUFycmF5ID0gbmV3IFVpbnQ4
QXJyYXkoMCk7Ci0gIGxldCB0bXBEYXRhID0gZGF0YTsKLSAgaWYgKHR5cGVvZiB0bXBEYXRhID09
PSAnb2JqZWN0JyB8fCB0eXBlb2YgdG1wRGF0YSA9PT0gJ251bWJlcicpCi0gICAgdG1wRGF0YSA9
IEpTT04uc3RyaW5naWZ5KHRtcERhdGEpOwotCi0gIGlmICh0eXBlb2YgdG1wRGF0YSA9PT0gJ3N0
cmluZycpCi0gICAgYnl0ZUFycmF5ID0gbmV3IFRleHRFbmNvZGVyKCd1dGYtOCcpLmVuY29kZSh0
bXBEYXRhKTsKLQotICByZXR1cm4gYnl0ZUFycmF5OwotfQotCi0vLyBDb21wYXJlcyBOREVGUmVj
b3JkcyB0aGF0IHdlcmUgcHJvdmlkZWQgLyByZWNlaXZlZCBieSB0aGUgbW9jayBzZXJ2aWNlLgot
Ly8gVE9ETzogVXNlIGRpZmZlcmVudCBnZXR0ZXJzIHRvIGdldCByZWNlaXZlZCByZWNvcmQgZGF0
YSwKLS8vIHNlZSBzcGVjIGNoYW5nZXMgYXQgaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWItbmZj
L3B1bGwvMjQzLgotZnVuY3Rpb24gY29tcGFyZU5ERUZSZWNvcmRzKHByb3ZpZGVkUmVjb3JkLCBy
ZWNlaXZlZFJlY29yZCkgewotICBhc3NlcnRfZXF1YWxzKHByb3ZpZGVkUmVjb3JkLnJlY29yZFR5
cGUsIHJlY2VpdmVkUmVjb3JkLnJlY29yZFR5cGUpOwotCi0gIGlmIChwcm92aWRlZFJlY29yZC5p
ZCA9PT0gdW5kZWZpbmVkKSB7Ci0gICAgYXNzZXJ0X2VxdWFscyhudWxsLCByZWNlaXZlZFJlY29y
ZC5pZCk7Ci0gIH0gZWxzZSB7Ci0gICAgYXNzZXJ0X2VxdWFscyhwcm92aWRlZFJlY29yZC5pZCwg
cmVjZWl2ZWRSZWNvcmQuaWQpOwotICB9Ci0KLSAgaWYgKHByb3ZpZGVkUmVjb3JkLm1lZGlhVHlw
ZSA9PT0gdW5kZWZpbmVkKSB7Ci0gICAgYXNzZXJ0X2VxdWFscyhudWxsLCByZWNlaXZlZFJlY29y
ZC5tZWRpYVR5cGUpOwotICB9IGVsc2UgewotICAgIGFzc2VydF9lcXVhbHMocHJvdmlkZWRSZWNv
cmQubWVkaWFUeXBlLCByZWNlaXZlZFJlY29yZC5tZWRpYVR5cGUpOwotICB9Ci0KLSAgYXNzZXJ0
X25vdF9lcXVhbHMocHJvdmlkZWRSZWNvcmQucmVjb3JkVHlwZSwgJ2VtcHR5Jyk7Ci0KLSAgYXNz
ZXJ0X2FycmF5X2VxdWFscyh0b0J5dGVBcnJheShwcm92aWRlZFJlY29yZC5kYXRhKSwKLSAgICAg
ICAgICAgICAgICAgICAgICBuZXcgVWludDhBcnJheShyZWNlaXZlZFJlY29yZC5kYXRhKSk7Ci19
Ci0KLS8vIENvbXBhcmVzIE5ERUZQdXNoT3B0aW9ucyBzdHJ1Y3R1cmVzIHRoYXQgd2VyZSBwcm92
aWRlZCB0byBBUEkgYW5kCi0vLyByZWNlaXZlZCBieSB0aGUgbW9jayBtb2pvIHNlcnZpY2UuCi1m
dW5jdGlvbiBhc3NlcnROREVGUHVzaE9wdGlvbnNFcXVhbChwcm92aWRlZCwgcmVjZWl2ZWQpIHsK
LSAgaWYgKHByb3ZpZGVkLmlnbm9yZVJlYWQgIT09IHVuZGVmaW5lZCkKLSAgICBhc3NlcnRfZXF1
YWxzKHByb3ZpZGVkLmlnbm9yZVJlYWQsICEhcmVjZWl2ZWQuaWdub3JlUmVhZCk7Ci0gIGVsc2UK
LSAgICBhc3NlcnRfZXF1YWxzKCEhcmVjZWl2ZWQuaWdub3JlX3JlYWQsIHRydWUpOwotCi0gIGlm
IChwcm92aWRlZC50YXJnZXQgIT09IHVuZGVmaW5lZCkKLSAgICBhc3NlcnRfZXF1YWxzKHRvTW9q
b05ERUZQdXNoVGFyZ2V0KHByb3ZpZGVkLnRhcmdldCksIHJlY2VpdmVkLnRhcmdldCk7Ci0gIGVs
c2UKLSAgICBhc3NlcnRfZXF1YWxzKHJlY2VpdmVkLnRhcmdldCwgZGV2aWNlLm1vam9tLk5ERUZQ
dXNoVGFyZ2V0LkFOWSk7Ci19Ci0KLS8vIENvbXBhcmVzIE5ERUZSZWFkZXJPcHRpb25zIHN0cnVj
dHVyZXMgdGhhdCB3ZXJlIHByb3ZpZGVkIHRvIEFQSSBhbmQKLS8vIHJlY2VpdmVkIGJ5IHRoZSBt
b2NrIG1vam8gc2VydmljZS4KLWZ1bmN0aW9uIGFzc2VydE5ERUZSZWFkZXJPcHRpb25zRXF1YWwo
cHJvdmlkZWQsIHJlY2VpdmVkKSB7Ci0gIGlmIChwcm92aWRlZC51cmwgIT09IHVuZGVmaW5lZCkK
LSAgICBhc3NlcnRfZXF1YWxzKHByb3ZpZGVkLnVybCwgcmVjZWl2ZWQudXJsKTsKLSAgZWxzZQot
ICAgIGFzc2VydF9lcXVhbHMocmVjZWl2ZWQudXJsLCAnJyk7Ci0KLSAgaWYgKHByb3ZpZGVkLm1l
ZGlhVHlwZSAhPT0gdW5kZWZpbmVkKQotICAgIGFzc2VydF9lcXVhbHMocHJvdmlkZWQubWVkaWFU
eXBlLCByZWNlaXZlZC5tZWRpYVR5cGUpOwotICBlbHNlCi0gICAgYXNzZXJ0X2VxdWFscyhyZWNl
aXZlZC5tZWRpYVR5cGUsICcnKTsKLQotICBpZiAocHJvdmlkZWQucmVjb3JkVHlwZSAhPT0gdW5k
ZWZpbmVkKSB7Ci0gICAgYXNzZXJ0X2VxdWFscyhwcm92aWRlZC5yZWNvcmRUeXBlLCByZWNlaXZl
ZC5yZWNvcmRUeXBlKTsKLSAgfQotfQotCi0vLyBDaGVja3Mgd2hldGhlciBOREVGUmVhZGVyT3B0
aW9ucyBhcmUgbWF0Y2hlZCB3aXRoIGdpdmVuIG1lc3NhZ2UuCi1mdW5jdGlvbiBtYXRjaGVzV2F0
Y2hPcHRpb25zKG1lc3NhZ2UsIG9wdGlvbnMpIHsKLSAgLy8gQSBtZXNzYWdlIHdpdGggbm8gcmVj
b3JkcyBpcyB0byBub3RpZnkgdGhhdCB0aGUgdGFnIGlzIGFscmVhZHkgZm9ybWF0dGVkIHRvCi0g
IC8vIHN1cHBvcnQgTkRFRiBidXQgZG9lcyBub3QgY29udGFpbiBhIG1lc3NhZ2UgeWV0LiBXZSBh
bHdheXMgZGlzcGF0Y2ggaXQgZm9yCi0gIC8vIGFsbCBvcHRpb25zLgotICBpZiAobWVzc2FnZS5y
ZWNvcmRzLmxlbmd0aCA9PSAwKQotICAgIHJldHVybiB0cnVlOwotCi0gIGZvciAobGV0IHJlY29y
ZCBvZiBtZXNzYWdlLnJlY29yZHMpIHsKLSAgICBpZiAob3B0aW9ucy5pZCAhPSBudWxsICYmIG9w
dGlvbnMuaWQgIT09IHJlY29yZC5pZCkgewotICAgICAgY29udGludWU7Ci0gICAgfQotICAgIGlm
IChvcHRpb25zLnJlY29yZFR5cGUgIT0gbnVsbCAmJgotICAgICAgICBvcHRpb25zLnJlY29yZFR5
cGUgIT09IHJlY29yZC5yZWNvcmRUeXBlKSB7Ci0gICAgICBjb250aW51ZTsKLSAgICB9Ci0gICAg
aWYgKG9wdGlvbnMubWVkaWFUeXBlICE9PSAnJyAmJiBvcHRpb25zLm1lZGlhVHlwZSAhPT0gcmVj
b3JkLm1lZGlhVHlwZSkgewotICAgICAgY29udGludWU7Ci0gICAgfQotCi0gICAgLy8gRm91bmQg
b25lIHJlY29yZCBtYXRjaGVzLCBtZWFucyB0aGUgbWVzc2FnZSBtYXRjaGVzLgotICAgIHJldHVy
biB0cnVlOwotICB9Ci0KLSAgcmV0dXJuIGZhbHNlOwotfQotCi1mdW5jdGlvbiBjcmVhdGVOREVG
RXJyb3IodHlwZSkgewotICByZXR1cm4geyBlcnJvcjogdHlwZSA/Ci0gICAgICBuZXcgZGV2aWNl
Lm1vam9tLk5ERUZFcnJvcih7IGVycm9yVHlwZTogdHlwZSB9KSA6IG51bGwgfTsKLX0KLQotdmFy
IFdlYk5GQ1Rlc3QgPSAoKCkgPT4gewotICBjbGFzcyBNb2NrTkZDIHsKLSAgICBjb25zdHJ1Y3Rv
cigpIHsKLSAgICAgIHRoaXMuYmluZGluZ1NldF8gPSBuZXcgbW9qby5CaW5kaW5nU2V0KGRldmlj
ZS5tb2pvbS5ORkMpOwotCi0gICAgICB0aGlzLmludGVyY2VwdG9yXyA9IG5ldyBNb2pvSW50ZXJm
YWNlSW50ZXJjZXB0b3IoCi0gICAgICAgICAgZGV2aWNlLm1vam9tLk5GQy5uYW1lLCAiY29udGV4
dCIsIHRydWUpOwotICAgICAgdGhpcy5pbnRlcmNlcHRvcl8ub25pbnRlcmZhY2VyZXF1ZXN0ID0K
LSAgICAgICAgICBlID0+IHRoaXMuYmluZGluZ1NldF8uYWRkQmluZGluZyh0aGlzLCBlLmhhbmRs
ZSk7Ci0gICAgICB0aGlzLmludGVyY2VwdG9yXy5zdGFydCgpOwotCi0gICAgICB0aGlzLmh3X3N0
YXR1c18gPSBORkNIV1N0YXR1cy5FTkFCTEVEOwotICAgICAgdGhpcy5wdXNoZWRfbWVzc2FnZV8g
PSBudWxsOwotICAgICAgdGhpcy5wdXNoX29wdGlvbnNfID0gbnVsbDsKLSAgICAgIHRoaXMucGVu
ZGluZ19wcm9taXNlX2Z1bmNfID0gbnVsbDsKLSAgICAgIHRoaXMucHVzaF9jb21wbGV0ZWRfID0g
dHJ1ZTsKLSAgICAgIHRoaXMuY2xpZW50XyA9IG51bGw7Ci0gICAgICB0aGlzLndhdGNoZXJzXyA9
IFtdOwotICAgICAgdGhpcy5yZWFkaW5nX21lc3NhZ2VzXyA9IFtdOwotICAgICAgdGhpcy5vcGVy
YXRpb25zX3N1c3BlbmRlZF8gPSBmYWxzZTsKLSAgICAgIHRoaXMuaXNfbmRlZl90ZWNoXyA9IHRy
dWU7Ci0gICAgICB0aGlzLmlzX2Zvcm1hdHRlZF90YWdfID0gZmFsc2U7Ci0gICAgfQotCi0gICAg
Ly8gTkZDIGRlbGVnYXRlIGZ1bmN0aW9ucy4KLSAgICBhc3luYyBwdXNoKG1lc3NhZ2UsIG9wdGlv
bnMpIHsKLSAgICAgIGxldCBlcnJvciA9IHRoaXMuZ2V0SFdFcnJvcigpOwotICAgICAgaWYgKGVy
cm9yKQotICAgICAgICByZXR1cm4gZXJyb3I7Ci0gICAgICAvLyBDYW5jZWxzIHByZXZpb3VzIHBl
bmRpbmcgcHVzaCBvcGVyYXRpb24uCi0gICAgICBpZiAodGhpcy5wZW5kaW5nX3Byb21pc2VfZnVu
Y18pIHsKLSAgICAgICAgdGhpcy5jYW5jZWxQZW5kaW5nUHVzaE9wZXJhdGlvbigpOwotICAgICAg
fQotCi0gICAgICB0aGlzLnB1c2hlZF9tZXNzYWdlXyA9IG1lc3NhZ2U7Ci0gICAgICB0aGlzLnB1
c2hfb3B0aW9uc18gPSBvcHRpb25zOwotCi0gICAgICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2
ZSA9PiB7Ci0gICAgICAgIHRoaXMucGVuZGluZ19wcm9taXNlX2Z1bmNfID0gcmVzb2x2ZTsKLSAg
ICAgICAgaWYgKHRoaXMub3BlcmF0aW9uc19zdXNwZW5kZWRfKSB7Ci0gICAgICAgICAgLy8gUGVu
ZHMgcHVzaCBvcGVyYXRpb24gaWYgTkZDIG9wZXJhdGlvbiBpcyBzdXNwZW5kZWQuCi0gICAgICAg
IH0gZWxzZSBpZiAoIXRoaXMucHVzaF9jb21wbGV0ZWRfKSB7Ci0gICAgICAgICAgLy8gTGVhdmVz
IHRoZSBwdXNoIG9wZXJhdGluZyBwZW5kaW5nLgotICAgICAgICB9IGVsc2UgaWYgKCF0aGlzLmlz
X25kZWZfdGVjaF8pIHsKLSAgICAgICAgICAvLyBSZXNvbHZlcyB3aXRoIE5vdFN1cHBvcnRlZEVy
cm9yIGlmIHRoZSBkZXZpY2UgZG9lcyBub3QgZXhwb3NlCi0gICAgICAgICAgLy8gTkRFRiB0ZWNo
bm9sb2d5LgotICAgICAgICAgIHJlc29sdmUoY3JlYXRlTkRFRkVycm9yKGRldmljZS5tb2pvbS5O
REVGRXJyb3JUeXBlLk5PVF9TVVBQT1JURUQpKTsKLSAgICAgICAgfSBlbHNlIGlmICh0aGlzLmlz
X2Zvcm1hdHRlZF90YWdfICYmICFvcHRpb25zLm92ZXJ3cml0ZSkgewotICAgICAgICAgIC8vIFJl
c29sdmVzIHdpdGggTm90QWxsb3dlZEVycm9yIGlmIHRoZXJlIGFyZSBOREVGIHJlY29yZHMgb24g
dGhlIGRldmljZQotICAgICAgICAgIC8vIGFuZCBvdmVyd3JpdGUgaXMgZmFsc2UuCi0gICAgICAg
ICAgcmVzb2x2ZShjcmVhdGVOREVGRXJyb3IoZGV2aWNlLm1vam9tLk5ERUZFcnJvclR5cGUuTk9U
X0FMTE9XRUQpKTsKLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICByZXNvbHZlKGNyZWF0ZU5E
RUZFcnJvcihudWxsKSk7Ci0gICAgICAgIH0KLSAgICAgIH0pOwotICAgIH0KLQotICAgIGFzeW5j
IGNhbmNlbFB1c2godGFyZ2V0KSB7Ci0gICAgICBpZiAodGhpcy5wdXNoX29wdGlvbnNfICYmICgo
dGFyZ2V0ID09PSBkZXZpY2UubW9qb20uTkRFRlB1c2hUYXJnZXQuQU5ZKSB8fAotICAgICAgICAg
ICh0aGlzLnB1c2hfb3B0aW9uc18udGFyZ2V0ID09PSB0YXJnZXQpKSkgewotICAgICAgICB0aGlz
LmNhbmNlbFBlbmRpbmdQdXNoT3BlcmF0aW9uKCk7Ci0gICAgICB9Ci0KLSAgICAgIHJldHVybiBj
cmVhdGVOREVGRXJyb3IobnVsbCk7Ci0gICAgfQotCi0gICAgc2V0Q2xpZW50KGNsaWVudCkgewot
ICAgICAgdGhpcy5jbGllbnRfID0gY2xpZW50OwotICAgIH0KLQotICAgIGFzeW5jIHdhdGNoKG9w
dGlvbnMsIGlkKSB7Ci0gICAgICBhc3NlcnRfdHJ1ZShpZCA+IDApOwotICAgICAgbGV0IGVycm9y
ID0gdGhpcy5nZXRIV0Vycm9yKCk7Ci0gICAgICBpZiAoZXJyb3IpIHsKLSAgICAgICAgcmV0dXJu
IGVycm9yOwotICAgICAgfQotCi0gICAgICB0aGlzLndhdGNoZXJzXy5wdXNoKHtpZDogaWQsIG9w
dGlvbnM6IG9wdGlvbnN9KTsKLSAgICAgIC8vIElnbm9yZXMgcmVhZGluZyBpZiBORkMgb3BlcmF0
aW9uIGlzIHN1c3BlbmRlZAotICAgICAgLy8gb3IgdGhlIE5GQyB0YWcgZG9lcyBub3QgZXhwb3Nl
IE5ERUYgdGVjaG5vbG9neS4KLSAgICAgIGlmKCF0aGlzLm9wZXJhdGlvbnNfc3VzcGVuZGVkXyAm
JiB0aGlzLmlzX25kZWZfdGVjaF8pIHsKLSAgICAgICAgLy8gVHJpZ2dlcnMgb25XYXRjaCBpZiB0
aGUgbmV3IHdhdGNoZXIgbWF0Y2hlcyBleGlzdGluZyBtZXNzYWdlcy4KLSAgICAgICAgZm9yIChs
ZXQgbWVzc2FnZSBvZiB0aGlzLnJlYWRpbmdfbWVzc2FnZXNfKSB7Ci0gICAgICAgICAgaWYgKG1h
dGNoZXNXYXRjaE9wdGlvbnMobWVzc2FnZSwgb3B0aW9ucykpIHsKLSAgICAgICAgICAgIHRoaXMu
Y2xpZW50Xy5vbldhdGNoKAotICAgICAgICAgICAgICAgIFtpZF0sIGZha2VfdGFnX3NlcmlhbF9u
dW1iZXIsIHRvTW9qb05ERUZNZXNzYWdlKG1lc3NhZ2UpKTsKLSAgICAgICAgICB9Ci0gICAgICAg
IH0KLSAgICAgIH0KLQotICAgICAgcmV0dXJuIGNyZWF0ZU5ERUZFcnJvcihudWxsKTsKLSAgICB9
Ci0KLSAgICBhc3luYyBjYW5jZWxXYXRjaChpZCkgewotICAgICAgbGV0IGluZGV4ID0gdGhpcy53
YXRjaGVyc18uZmluZEluZGV4KHZhbHVlID0+IHZhbHVlLmlkID09PSBpZCk7Ci0gICAgICBpZiAo
aW5kZXggPT09IC0xKSB7Ci0gICAgICAgIHJldHVybiBjcmVhdGVOREVGRXJyb3IoZGV2aWNlLm1v
am9tLk5ERUZFcnJvclR5cGUuTk9UX0ZPVU5EKTsKLSAgICAgIH0KLQotICAgICAgdGhpcy53YXRj
aGVyc18uc3BsaWNlKGluZGV4LCAxKTsKLSAgICAgIHJldHVybiBjcmVhdGVOREVGRXJyb3IobnVs
bCk7Ci0gICAgfQotCi0gICAgYXN5bmMgY2FuY2VsQWxsV2F0Y2hlcygpIHsKLSAgICAgIGlmICh0
aGlzLndhdGNoZXJzXy5sZW5ndGggPT09IDApIHsKLSAgICAgICAgcmV0dXJuIGNyZWF0ZU5ERUZF
cnJvcihkZXZpY2UubW9qb20uTkRFRkVycm9yVHlwZS5OT1RfRk9VTkQpOwotICAgICAgfQotCi0g
ICAgICB0aGlzLndhdGNoZXJzXy5zcGxpY2UoMCwgdGhpcy53YXRjaGVyc18ubGVuZ3RoKTsKLSAg
ICAgIHJldHVybiBjcmVhdGVOREVGRXJyb3IobnVsbCk7Ci0gICAgfQotCi0gICAgZ2V0SFdFcnJv
cigpIHsKLSAgICAgIGlmICh0aGlzLmh3X3N0YXR1c18gPT09IE5GQ0hXU3RhdHVzLkRJU0FCTEVE
KQotICAgICAgICByZXR1cm4gY3JlYXRlTkRFRkVycm9yKGRldmljZS5tb2pvbS5OREVGRXJyb3JU
eXBlLk5PVF9SRUFEQUJMRSk7Ci0gICAgICBpZiAodGhpcy5od19zdGF0dXNfID09PSBORkNIV1N0
YXR1cy5OT1RfU1VQUE9SVEVEKQotICAgICAgICByZXR1cm4gY3JlYXRlTkRFRkVycm9yKGRldmlj
ZS5tb2pvbS5OREVGRXJyb3JUeXBlLk5PVF9TVVBQT1JURUQpOwotICAgICAgcmV0dXJuIG51bGw7
Ci0gICAgfQotCi0gICAgc2V0SFdTdGF0dXMoc3RhdHVzKSB7Ci0gICAgICB0aGlzLmh3X3N0YXR1
c18gPSBzdGF0dXM7Ci0gICAgfQotCi0gICAgcHVzaGVkTWVzc2FnZSgpIHsKLSAgICAgIHJldHVy
biB0aGlzLnB1c2hlZF9tZXNzYWdlXzsKLSAgICB9Ci0KLSAgICBwdXNoT3B0aW9ucygpIHsKLSAg
ICAgIHJldHVybiB0aGlzLnB1c2hfb3B0aW9uc187Ci0gICAgfQotCi0gICAgd2F0Y2hPcHRpb25z
KCkgewotICAgICAgYXNzZXJ0X25vdF9lcXVhbHModGhpcy53YXRjaGVyc18ubGVuZ3RoLCAwKTsK
LSAgICAgIHJldHVybiB0aGlzLndhdGNoZXJzX1t0aGlzLndhdGNoZXJzXy5sZW5ndGggLSAxXS5v
cHRpb25zOwotICAgIH0KLQotICAgIHNldFBlbmRpbmdQdXNoQ29tcGxldGVkKHJlc3VsdCkgewot
ICAgICAgdGhpcy5wdXNoX2NvbXBsZXRlZF8gPSByZXN1bHQ7Ci0gICAgfQotCi0gICAgcmVzZXQo
KSB7Ci0gICAgICB0aGlzLmh3X3N0YXR1c18gPSBORkNIV1N0YXR1cy5FTkFCTEVEOwotICAgICAg
dGhpcy53YXRjaGVyc18gPSBbXTsKLSAgICAgIHRoaXMucmVhZGluZ19tZXNzYWdlc18gPSBbXTsK
LSAgICAgIHRoaXMub3BlcmF0aW9uc19zdXNwZW5kZWRfID0gZmFsc2U7Ci0gICAgICB0aGlzLmNh
bmNlbFBlbmRpbmdQdXNoT3BlcmF0aW9uKCk7Ci0gICAgICB0aGlzLmlzX25kZWZfdGVjaF8gPSB0
cnVlOwotICAgICAgdGhpcy5pc19mb3JtYXR0ZWRfdGFnXyA9IGZhbHNlOwotICAgIH0KLQotICAg
IGNhbmNlbFBlbmRpbmdQdXNoT3BlcmF0aW9uKCkgewotICAgICAgaWYgKHRoaXMucGVuZGluZ19w
cm9taXNlX2Z1bmNfKSB7Ci0gICAgICAgIHRoaXMucGVuZGluZ19wcm9taXNlX2Z1bmNfKAotICAg
ICAgICAgICAgY3JlYXRlTkRFRkVycm9yKGRldmljZS5tb2pvbS5OREVGRXJyb3JUeXBlLk9QRVJB
VElPTl9DQU5DRUxMRUQpKTsKLSAgICAgIH0KLQotICAgICAgdGhpcy5wdXNoZWRfbWVzc2FnZV8g
PSBudWxsOwotICAgICAgdGhpcy5wdXNoX29wdGlvbnNfID0gbnVsbDsKLSAgICAgIHRoaXMucGVu
ZGluZ19wcm9taXNlX2Z1bmNfID0gbnVsbDsKLSAgICAgIHRoaXMucHVzaF9jb21wbGV0ZWRfID0g
dHJ1ZTsKLSAgICB9Ci0KLSAgICAvLyBTZXRzIG1lc3NhZ2UgdGhhdCBpcyB1c2VkIHRvIGRlbGl2
ZXIgTkZDIHJlYWRpbmcgdXBkYXRlcy4KLSAgICBzZXRSZWFkaW5nTWVzc2FnZShtZXNzYWdlKSB7
Ci0gICAgICB0aGlzLnJlYWRpbmdfbWVzc2FnZXNfLnB1c2gobWVzc2FnZSk7Ci0gICAgICAvLyBJ
Z25vcmVzIHJlYWRpbmcgaWYgdGhlIE5GQyB0YWcgZG9lcyBub3QgZXhwb3NlIE5ERUYgdGVjaG5v
bG9neS4KLSAgICAgIGlmKCF0aGlzLmlzX25kZWZfdGVjaF8pIHJldHVybjsKLSAgICAgIC8vIEln
bm9yZXMgcmVhZGluZyBpZiBORkMgb3BlcmF0aW9uIGlzIHN1c3BlbmRlZC4KLSAgICAgIGlmKHRo
aXMub3BlcmF0aW9uc19zdXNwZW5kZWRfKSByZXR1cm47Ci0gICAgICAvLyBJZ25vcmVzIHJlYWRp
bmcgaWYgTkRFRlB1c2hPcHRpb25zLmlnbm9yZVJlYWQgaXMgdHJ1ZS4KLSAgICAgIGlmKHRoaXMu
cHVzaF9vcHRpb25zXyAmJiB0aGlzLnB1c2hfb3B0aW9uc18uaWdub3JlUmVhZCkKLSAgICAgICAg
cmV0dXJuOwotICAgICAgLy8gVHJpZ2dlcnMgb25XYXRjaCBpZiB0aGUgbmV3IG1lc3NhZ2UgbWF0
Y2hlcyBleGlzdGluZyB3YXRjaGVycy4KLSAgICAgIGZvciAobGV0IHdhdGNoZXIgb2YgdGhpcy53
YXRjaGVyc18pIHsKLSAgICAgICAgaWYgKG1hdGNoZXNXYXRjaE9wdGlvbnMobWVzc2FnZSwgd2F0
Y2hlci5vcHRpb25zKSkgewotICAgICAgICAgIHRoaXMuY2xpZW50Xy5vbldhdGNoKAotICAgICAg
ICAgICAgICBbd2F0Y2hlci5pZF0sIGZha2VfdGFnX3NlcmlhbF9udW1iZXIsCi0gICAgICAgICAg
ICAgIHRvTW9qb05ERUZNZXNzYWdlKG1lc3NhZ2UpKTsKLSAgICAgICAgfQotICAgICAgfQotICAg
IH0KLQotICAgIC8vIFN1c3BlbmRzIGFsbCBwZW5kaW5nIE5GQyBvcGVyYXRpb25zLiBDb3VsZCBi
ZSB1c2VkIHdoZW4gd2ViIHBhZ2UKLSAgICAvLyB2aXNpYmlsaXR5IGlzIGxvc3QuCi0gICAgc3Vz
cGVuZE5GQ09wZXJhdGlvbnMoKSB7Ci0gICAgICB0aGlzLm9wZXJhdGlvbnNfc3VzcGVuZGVkXyA9
IHRydWU7Ci0gICAgfQotCi0gICAgLy8gUmVzdW1lcyBhbGwgc3VzcGVuZGVkIE5GQyBvcGVyYXRp
b25zLgotICAgIHJlc3VtZU5GQ09wZXJhdGlvbnMoKSB7Ci0gICAgICB0aGlzLm9wZXJhdGlvbnNf
c3VzcGVuZGVkXyA9IGZhbHNlOwotICAgICAgLy8gUmVzdW1lcyBwZW5kaW5nIE5GQyByZWFkaW5n
LgotICAgICAgZm9yIChsZXQgd2F0Y2hlciBvZiB0aGlzLndhdGNoZXJzXykgewotICAgICAgICBm
b3IgKGxldCBtZXNzYWdlIG9mIHRoaXMucmVhZGluZ19tZXNzYWdlc18pIHsKLSAgICAgICAgICBp
ZiAobWF0Y2hlc1dhdGNoT3B0aW9ucyhtZXNzYWdlLCB3YXRjaGVyLm9wdGlvbnMpICYmIHRoaXMu
aXNfbmRlZl90ZWNoXykgewotICAgICAgICAgICAgdGhpcy5jbGllbnRfLm9uV2F0Y2goCi0gICAg
ICAgICAgICAgICAgW3dhdGNoZXIuaWRdLCBmYWtlX3RhZ19zZXJpYWxfbnVtYmVyLAotICAgICAg
ICAgICAgICAgIHRvTW9qb05ERUZNZXNzYWdlKG1lc3NhZ2UpKTsKLSAgICAgICAgICB9Ci0gICAg
ICAgIH0KLSAgICAgIH0KLSAgICAgIC8vIFJlc3VtZXMgcGVuZGluZyBwdXNoIG9wZXJhdGlvbi4K
LSAgICAgIGlmICh0aGlzLnBlbmRpbmdfcHJvbWlzZV9mdW5jXykgewotICAgICAgICB0aGlzLnBl
bmRpbmdfcHJvbWlzZV9mdW5jXyhjcmVhdGVOREVGRXJyb3IobnVsbCkpOwotICAgICAgfQotICAg
IH0KLQotICAgIHNldElzTkRFRlRlY2goaXNOZGVmKSB7Ci0gICAgICB0aGlzLmlzX25kZWZfdGVj
aF8gPSBpc05kZWY7Ci0gICAgfQotCi0gICAgc2V0SXNGb3JtYXR0ZWRUYWcoaXNGb3JtYXR0ZWQp
IHsKLSAgICAgIHRoaXMuaXNfZm9ybWF0dGVkX3RhZ18gPSBpc0Zvcm1hdHRlZDsKLSAgICB9Ci0g
IH0KLQotICBsZXQgdGVzdEludGVybmFsID0gewotICAgIGluaXRpYWxpemVkOiBmYWxzZSwKLSAg
ICBtb2NrTkZDOiBudWxsCi0gIH0KLQotICBjbGFzcyBORkNUZXN0Q2hyb21pdW0gewotICAgIGNv
bnN0cnVjdG9yKCkgewotICAgICAgT2JqZWN0LmZyZWV6ZSh0aGlzKTsgLy8gTWFrZXMgaXQgaW1t
dXRhYmxlLgotICAgIH0KLQotICAgIGluaXRpYWxpemUoKSB7Ci0gICAgICBpZiAodGVzdEludGVy
bmFsLmluaXRpYWxpemVkKQotICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0NhbGwgcmVzZXQoKSBi
ZWZvcmUgaW5pdGlhbGl6ZSgpLicpOwotCi0gICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsK
LSAgICAgICAgLy8gR3JhbnQgbmZjIHBlcm1pc3Npb25zIGZvciBDaHJvbWl1bSB0ZXN0cnVubmVy
LgotICAgICAgICB3aW5kb3cudGVzdFJ1bm5lci5zZXRQZXJtaXNzaW9uKCduZmMnLCAnZ3JhbnRl
ZCcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9jYXRpb24ub3Jp
Z2luLCBsb2NhdGlvbi5vcmlnaW4pOwotICAgICAgfQotCi0gICAgICBpZiAodGVzdEludGVybmFs
Lm1vY2tORkMgPT0gbnVsbCkgewotICAgICAgICB0ZXN0SW50ZXJuYWwubW9ja05GQyA9IG5ldyBN
b2NrTkZDKCk7Ci0gICAgICB9Ci0gICAgICB0ZXN0SW50ZXJuYWwuaW5pdGlhbGl6ZWQgPSB0cnVl
OwotICAgIH0KLQotICAgIC8vIFJldXNlcyB0aGUgbmZjIG1vY2sgYnV0IHJlc2V0cyBpdHMgc3Rh
dGUgYmV0d2VlbiB0ZXN0IHJ1bnMuCi0gICAgYXN5bmMgcmVzZXQoKSB7Ci0gICAgICBpZiAoIXRl
c3RJbnRlcm5hbC5pbml0aWFsaXplZCkKLSAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdDYWxsIGlu
aXRpYWxpemUoKSBiZWZvcmUgcmVzZXQoKS4nKTsKLSAgICAgIHRlc3RJbnRlcm5hbC5tb2NrTkZD
LnJlc2V0KCk7Ci0gICAgICB0ZXN0SW50ZXJuYWwuaW5pdGlhbGl6ZWQgPSBmYWxzZTsKLQotICAg
ICAgYXdhaXQgbmV3IFByb21pc2UocmVzb2x2ZSA9PiBzZXRUaW1lb3V0KHJlc29sdmUsIDApKTsK
LSAgICB9Ci0KLSAgICBnZXRNb2NrTkZDKCkgewotICAgICAgcmV0dXJuIHRlc3RJbnRlcm5hbC5t
b2NrTkZDOwotICAgIH0KLSAgfQotCi0gIHJldHVybiBORkNUZXN0Q2hyb21pdW07Ci19KSgpOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvY2hyb21pdW0vc2Vuc29yLm1vam9tLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vc2Vuc29yLm1vam9tLmpz
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3NTc4ZGQ2ZDY0Zi4uMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvY2hyb21pdW0vc2Vuc29yLm1vam9tLmpzCisrKyAvZGV2L251bGwKQEAgLTEsMTA3NCArMCww
IEBACi0vLyBDb3B5cmlnaHQgMjAxNCBUaGUgQ2hyb21pdW0gQXV0aG9ycy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KLS8vIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNE
LXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKLS8vIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUu
Ci0KLSd1c2Ugc3RyaWN0JzsKLQotKGZ1bmN0aW9uKCkgewotICB2YXIgbW9qb21JZCA9ICdzZXJ2
aWNlcy9kZXZpY2UvcHVibGljL21vam9tL3NlbnNvci5tb2pvbSc7Ci0gIGlmIChtb2pvLmludGVy
bmFsLmlzTW9qb21Mb2FkZWQobW9qb21JZCkpIHsKLSAgICBjb25zb2xlLndhcm4oJ1RoZSBmb2xs
b3dpbmcgbW9qb20gaXMgbG9hZGVkIG11bHRpcGxlIHRpbWVzOiAnICsgbW9qb21JZCk7Ci0gICAg
cmV0dXJuOwotICB9Ci0gIG1vam8uaW50ZXJuYWwubWFya01vam9tTG9hZGVkKG1vam9tSWQpOwot
ICB2YXIgYmluZGluZ3MgPSBtb2pvOwotICB2YXIgYXNzb2NpYXRlZEJpbmRpbmdzID0gbW9qbzsK
LSAgdmFyIGNvZGVjID0gbW9qby5pbnRlcm5hbDsKLSAgdmFyIHZhbGlkYXRvciA9IG1vam8uaW50
ZXJuYWw7Ci0KLSAgdmFyIGV4cG9ydHMgPSBtb2pvLmludGVybmFsLmV4cG9zZU5hbWVzcGFjZSgn
ZGV2aWNlLm1vam9tJyk7Ci0KLQotICB2YXIgU2Vuc29yVHlwZSA9IHt9OwotICBTZW5zb3JUeXBl
LkFNQklFTlRfTElHSFQgPSAwOwotICBTZW5zb3JUeXBlLlBST1hJTUlUWSA9IFNlbnNvclR5cGUu
QU1CSUVOVF9MSUdIVCArIDE7Ci0gIFNlbnNvclR5cGUuQUNDRUxFUk9NRVRFUiA9IFNlbnNvclR5
cGUuUFJPWElNSVRZICsgMTsKLSAgU2Vuc29yVHlwZS5MSU5FQVJfQUNDRUxFUkFUSU9OID0gU2Vu
c29yVHlwZS5BQ0NFTEVST01FVEVSICsgMTsKLSAgU2Vuc29yVHlwZS5HWVJPU0NPUEUgPSBTZW5z
b3JUeXBlLkxJTkVBUl9BQ0NFTEVSQVRJT04gKyAxOwotICBTZW5zb3JUeXBlLk1BR05FVE9NRVRF
UiA9IFNlbnNvclR5cGUuR1lST1NDT1BFICsgMTsKLSAgU2Vuc29yVHlwZS5QUkVTU1VSRSA9IFNl
bnNvclR5cGUuTUFHTkVUT01FVEVSICsgMTsKLSAgU2Vuc29yVHlwZS5BQlNPTFVURV9PUklFTlRB
VElPTl9FVUxFUl9BTkdMRVMgPSBTZW5zb3JUeXBlLlBSRVNTVVJFICsgMTsKLSAgU2Vuc29yVHlw
ZS5BQlNPTFVURV9PUklFTlRBVElPTl9RVUFURVJOSU9OID0gU2Vuc29yVHlwZS5BQlNPTFVURV9P
UklFTlRBVElPTl9FVUxFUl9BTkdMRVMgKyAxOwotICBTZW5zb3JUeXBlLlJFTEFUSVZFX09SSUVO
VEFUSU9OX0VVTEVSX0FOR0xFUyA9IFNlbnNvclR5cGUuQUJTT0xVVEVfT1JJRU5UQVRJT05fUVVB
VEVSTklPTiArIDE7Ci0gIFNlbnNvclR5cGUuUkVMQVRJVkVfT1JJRU5UQVRJT05fUVVBVEVSTklP
TiA9IFNlbnNvclR5cGUuUkVMQVRJVkVfT1JJRU5UQVRJT05fRVVMRVJfQU5HTEVTICsgMTsKLSAg
U2Vuc29yVHlwZS5NSU5fVkFMVUUgPSAwLAotICBTZW5zb3JUeXBlLk1BWF9WQUxVRSA9IDEwLAot
Ci0gIFNlbnNvclR5cGUuaXNLbm93bkVudW1WYWx1ZSA9IGZ1bmN0aW9uKHZhbHVlKSB7Ci0gICAg
c3dpdGNoICh2YWx1ZSkgewotICAgIGNhc2UgMDoKLSAgICBjYXNlIDE6Ci0gICAgY2FzZSAyOgot
ICAgIGNhc2UgMzoKLSAgICBjYXNlIDQ6Ci0gICAgY2FzZSA1OgotICAgIGNhc2UgNjoKLSAgICBj
YXNlIDc6Ci0gICAgY2FzZSA4OgotICAgIGNhc2UgOToKLSAgICBjYXNlIDEwOgotICAgICAgcmV0
dXJuIHRydWU7Ci0gICAgfQotICAgIHJldHVybiBmYWxzZTsKLSAgfTsKLQotICBTZW5zb3JUeXBl
LnZhbGlkYXRlID0gZnVuY3Rpb24oZW51bVZhbHVlKSB7Ci0gICAgdmFyIGlzRXh0ZW5zaWJsZSA9
IGZhbHNlOwotICAgIGlmIChpc0V4dGVuc2libGUgfHwgdGhpcy5pc0tub3duRW51bVZhbHVlKGVu
dW1WYWx1ZSkpCi0gICAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwot
Ci0gICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuVU5LTk9XTl9FTlVNX1ZBTFVF
OwotICB9OwotICB2YXIgUmVwb3J0aW5nTW9kZSA9IHt9OwotICBSZXBvcnRpbmdNb2RlLk9OX0NI
QU5HRSA9IDA7Ci0gIFJlcG9ydGluZ01vZGUuQ09OVElOVU9VUyA9IFJlcG9ydGluZ01vZGUuT05f
Q0hBTkdFICsgMTsKLSAgUmVwb3J0aW5nTW9kZS5NSU5fVkFMVUUgPSAwLAotICBSZXBvcnRpbmdN
b2RlLk1BWF9WQUxVRSA9IDEsCi0KLSAgUmVwb3J0aW5nTW9kZS5pc0tub3duRW51bVZhbHVlID0g
ZnVuY3Rpb24odmFsdWUpIHsKLSAgICBzd2l0Y2ggKHZhbHVlKSB7Ci0gICAgY2FzZSAwOgotICAg
IGNhc2UgMToKLSAgICAgIHJldHVybiB0cnVlOwotICAgIH0KLSAgICByZXR1cm4gZmFsc2U7Ci0g
IH07Ci0KLSAgUmVwb3J0aW5nTW9kZS52YWxpZGF0ZSA9IGZ1bmN0aW9uKGVudW1WYWx1ZSkgewot
ICAgIHZhciBpc0V4dGVuc2libGUgPSBmYWxzZTsKLSAgICBpZiAoaXNFeHRlbnNpYmxlIHx8IHRo
aXMuaXNLbm93bkVudW1WYWx1ZShlbnVtVmFsdWUpKQotICAgICAgcmV0dXJuIHZhbGlkYXRvci52
YWxpZGF0aW9uRXJyb3IuTk9ORTsKLQotICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVy
cm9yLlVOS05PV05fRU5VTV9WQUxVRTsKLSAgfTsKLQotICBmdW5jdGlvbiBTZW5zb3JDb25maWd1
cmF0aW9uKHZhbHVlcykgewotICAgIHRoaXMuaW5pdERlZmF1bHRzXygpOwotICAgIHRoaXMuaW5p
dEZpZWxkc18odmFsdWVzKTsKLSAgfQotCi0KLSAgU2Vuc29yQ29uZmlndXJhdGlvbi5wcm90b3R5
cGUuaW5pdERlZmF1bHRzXyA9IGZ1bmN0aW9uKCkgewotICAgIHRoaXMuZnJlcXVlbmN5ID0gMDsK
LSAgfTsKLSAgU2Vuc29yQ29uZmlndXJhdGlvbi5wcm90b3R5cGUuaW5pdEZpZWxkc18gPSBmdW5j
dGlvbihmaWVsZHMpIHsKLSAgICBmb3IodmFyIGZpZWxkIGluIGZpZWxkcykgewotICAgICAgICBp
ZiAodGhpcy5oYXNPd25Qcm9wZXJ0eShmaWVsZCkpCi0gICAgICAgICAgdGhpc1tmaWVsZF0gPSBm
aWVsZHNbZmllbGRdOwotICAgIH0KLSAgfTsKLQotICBTZW5zb3JDb25maWd1cmF0aW9uLnZhbGlk
YXRlID0gZnVuY3Rpb24obWVzc2FnZVZhbGlkYXRvciwgb2Zmc2V0KSB7Ci0gICAgdmFyIGVycjsK
LSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0SGVhZGVyKG9mZnNldCwg
Y29kZWMua1N0cnVjdEhlYWRlclNpemUpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxp
ZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHZhciBrVmVyc2lv
blNpemVzID0gWwotICAgICAge3ZlcnNpb246IDAsIG51bUJ5dGVzOiAxNn0KLSAgICBdOwotICAg
IGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RWZXJzaW9uKG9mZnNldCwga1Zl
cnNpb25TaXplcyk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5O
T05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0KLSAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlk
YXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIFNlbnNvckNvbmZpZ3VyYXRpb24uZW5jb2RlZFNp
emUgPSBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDg7Ci0KLSAgU2Vuc29yQ29uZmlndXJhdGlv
bi5kZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICB2YXIg
dmFsID0gbmV3IFNlbnNvckNvbmZpZ3VyYXRpb24oKTsKLSAgICB2YXIgbnVtYmVyT2ZCeXRlcyA9
IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhciB2ZXJzaW9uID0gZGVjb2Rlci5yZWFkVWlu
dDMyKCk7Ci0gICAgdmFsLmZyZXF1ZW5jeSA9IGRlY29kZXIuZGVjb2RlU3RydWN0KGNvZGVjLkRv
dWJsZSk7Ci0gICAgcmV0dXJuIHZhbDsKLSAgfTsKLQotICBTZW5zb3JDb25maWd1cmF0aW9uLmVu
Y29kZSA9IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgZW5j
b2Rlci53cml0ZVVpbnQzMihTZW5zb3JDb25maWd1cmF0aW9uLmVuY29kZWRTaXplKTsKLSAgICBl
bmNvZGVyLndyaXRlVWludDMyKDApOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNvZGVjLkRv
dWJsZSwgdmFsLmZyZXF1ZW5jeSk7Ci0gIH07Ci0gIGZ1bmN0aW9uIFNlbnNvcl9HZXREZWZhdWx0
Q29uZmlndXJhdGlvbl9QYXJhbXModmFsdWVzKSB7Ci0gICAgdGhpcy5pbml0RGVmYXVsdHNfKCk7
Ci0gICAgdGhpcy5pbml0RmllbGRzXyh2YWx1ZXMpOwotICB9Ci0KLQotICBTZW5zb3JfR2V0RGVm
YXVsdENvbmZpZ3VyYXRpb25fUGFyYW1zLnByb3RvdHlwZS5pbml0RGVmYXVsdHNfID0gZnVuY3Rp
b24oKSB7Ci0gIH07Ci0gIFNlbnNvcl9HZXREZWZhdWx0Q29uZmlndXJhdGlvbl9QYXJhbXMucHJv
dG90eXBlLmluaXRGaWVsZHNfID0gZnVuY3Rpb24oZmllbGRzKSB7Ci0gICAgZm9yKHZhciBmaWVs
ZCBpbiBmaWVsZHMpIHsKLSAgICAgICAgaWYgKHRoaXMuaGFzT3duUHJvcGVydHkoZmllbGQpKQot
ICAgICAgICAgIHRoaXNbZmllbGRdID0gZmllbGRzW2ZpZWxkXTsKLSAgICB9Ci0gIH07Ci0KLSAg
U2Vuc29yX0dldERlZmF1bHRDb25maWd1cmF0aW9uX1BhcmFtcy52YWxpZGF0ZSA9IGZ1bmN0aW9u
KG1lc3NhZ2VWYWxpZGF0b3IsIG9mZnNldCkgewotICAgIHZhciBlcnI7Ci0gICAgZXJyID0gbWVz
c2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdEhlYWRlcihvZmZzZXQsIGNvZGVjLmtTdHJ1Y3RI
ZWFkZXJTaXplKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5P
TkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICB2YXIga1ZlcnNpb25TaXplcyA9IFsKLSAg
ICAgIHt2ZXJzaW9uOiAwLCBudW1CeXRlczogOH0KLSAgICBdOwotICAgIGVyciA9IG1lc3NhZ2VW
YWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RWZXJzaW9uKG9mZnNldCwga1ZlcnNpb25TaXplcyk7Ci0g
ICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICBy
ZXR1cm4gZXJyOwotCi0gICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORTsK
LSAgfTsKLQotICBTZW5zb3JfR2V0RGVmYXVsdENvbmZpZ3VyYXRpb25fUGFyYW1zLmVuY29kZWRT
aXplID0gY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyAwOwotCi0gIFNlbnNvcl9HZXREZWZhdWx0
Q29uZmlndXJhdGlvbl9QYXJhbXMuZGVjb2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHZh
ciBwYWNrZWQ7Ci0gICAgdmFyIHZhbCA9IG5ldyBTZW5zb3JfR2V0RGVmYXVsdENvbmZpZ3VyYXRp
b25fUGFyYW1zKCk7Ci0gICAgdmFyIG51bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50MzIo
KTsKLSAgICB2YXIgdmVyc2lvbiA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHJldHVybiB2
YWw7Ci0gIH07Ci0KLSAgU2Vuc29yX0dldERlZmF1bHRDb25maWd1cmF0aW9uX1BhcmFtcy5lbmNv
ZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2YWwpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIGVuY29k
ZXIud3JpdGVVaW50MzIoU2Vuc29yX0dldERlZmF1bHRDb25maWd1cmF0aW9uX1BhcmFtcy5lbmNv
ZGVkU2l6ZSk7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMigwKTsKLSAgfTsKLSAgZnVuY3Rpb24g
U2Vuc29yX0dldERlZmF1bHRDb25maWd1cmF0aW9uX1Jlc3BvbnNlUGFyYW1zKHZhbHVlcykgewot
ICAgIHRoaXMuaW5pdERlZmF1bHRzXygpOwotICAgIHRoaXMuaW5pdEZpZWxkc18odmFsdWVzKTsK
LSAgfQotCi0KLSAgU2Vuc29yX0dldERlZmF1bHRDb25maWd1cmF0aW9uX1Jlc3BvbnNlUGFyYW1z
LnByb3RvdHlwZS5pbml0RGVmYXVsdHNfID0gZnVuY3Rpb24oKSB7Ci0gICAgdGhpcy5jb25maWd1
cmF0aW9uID0gbnVsbDsKLSAgfTsKLSAgU2Vuc29yX0dldERlZmF1bHRDb25maWd1cmF0aW9uX1Jl
c3BvbnNlUGFyYW1zLnByb3RvdHlwZS5pbml0RmllbGRzXyA9IGZ1bmN0aW9uKGZpZWxkcykgewot
ICAgIGZvcih2YXIgZmllbGQgaW4gZmllbGRzKSB7Ci0gICAgICAgIGlmICh0aGlzLmhhc093blBy
b3BlcnR5KGZpZWxkKSkKLSAgICAgICAgICB0aGlzW2ZpZWxkXSA9IGZpZWxkc1tmaWVsZF07Ci0g
ICAgfQotICB9OwotCi0gIFNlbnNvcl9HZXREZWZhdWx0Q29uZmlndXJhdGlvbl9SZXNwb25zZVBh
cmFtcy52YWxpZGF0ZSA9IGZ1bmN0aW9uKG1lc3NhZ2VWYWxpZGF0b3IsIG9mZnNldCkgewotICAg
IHZhciBlcnI7Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdEhlYWRl
cihvZmZzZXQsIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplKTsKLSAgICBpZiAoZXJyICE9PSB2YWxp
ZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICB2
YXIga1ZlcnNpb25TaXplcyA9IFsKLSAgICAgIHt2ZXJzaW9uOiAwLCBudW1CeXRlczogMTZ9Ci0g
ICAgXTsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0VmVyc2lvbihv
ZmZzZXQsIGtWZXJzaW9uU2l6ZXMpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0
aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0gICAgLy8gdmFsaWRhdGUg
U2Vuc29yX0dldERlZmF1bHRDb25maWd1cmF0aW9uX1Jlc3BvbnNlUGFyYW1zLmNvbmZpZ3VyYXRp
b24KLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0UG9pbnRlcihvZmZz
ZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDAsIFNlbnNvckNvbmZpZ3VyYXRpb24sIGZh
bHNlKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0g
ICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJv
ci5OT05FOwotICB9OwotCi0gIFNlbnNvcl9HZXREZWZhdWx0Q29uZmlndXJhdGlvbl9SZXNwb25z
ZVBhcmFtcy5lbmNvZGVkU2l6ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgODsKLQotICBT
ZW5zb3JfR2V0RGVmYXVsdENvbmZpZ3VyYXRpb25fUmVzcG9uc2VQYXJhbXMuZGVjb2RlID0gZnVu
Y3Rpb24oZGVjb2RlcikgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgdmFyIHZhbCA9IG5ldyBTZW5z
b3JfR2V0RGVmYXVsdENvbmZpZ3VyYXRpb25fUmVzcG9uc2VQYXJhbXMoKTsKLSAgICB2YXIgbnVt
YmVyT2ZCeXRlcyA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhciB2ZXJzaW9uID0gZGVj
b2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFsLmNvbmZpZ3VyYXRpb24gPSBkZWNvZGVyLmRlY29k
ZVN0cnVjdFBvaW50ZXIoU2Vuc29yQ29uZmlndXJhdGlvbik7Ci0gICAgcmV0dXJuIHZhbDsKLSAg
fTsKLQotICBTZW5zb3JfR2V0RGVmYXVsdENvbmZpZ3VyYXRpb25fUmVzcG9uc2VQYXJhbXMuZW5j
b2RlID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICBlbmNv
ZGVyLndyaXRlVWludDMyKFNlbnNvcl9HZXREZWZhdWx0Q29uZmlndXJhdGlvbl9SZXNwb25zZVBh
cmFtcy5lbmNvZGVkU2l6ZSk7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMigwKTsKLSAgICBlbmNv
ZGVyLmVuY29kZVN0cnVjdFBvaW50ZXIoU2Vuc29yQ29uZmlndXJhdGlvbiwgdmFsLmNvbmZpZ3Vy
YXRpb24pOwotICB9OwotICBmdW5jdGlvbiBTZW5zb3JfQWRkQ29uZmlndXJhdGlvbl9QYXJhbXMo
dmFsdWVzKSB7Ci0gICAgdGhpcy5pbml0RGVmYXVsdHNfKCk7Ci0gICAgdGhpcy5pbml0RmllbGRz
Xyh2YWx1ZXMpOwotICB9Ci0KLQotICBTZW5zb3JfQWRkQ29uZmlndXJhdGlvbl9QYXJhbXMucHJv
dG90eXBlLmluaXREZWZhdWx0c18gPSBmdW5jdGlvbigpIHsKLSAgICB0aGlzLmNvbmZpZ3VyYXRp
b24gPSBudWxsOwotICB9OwotICBTZW5zb3JfQWRkQ29uZmlndXJhdGlvbl9QYXJhbXMucHJvdG90
eXBlLmluaXRGaWVsZHNfID0gZnVuY3Rpb24oZmllbGRzKSB7Ci0gICAgZm9yKHZhciBmaWVsZCBp
biBmaWVsZHMpIHsKLSAgICAgICAgaWYgKHRoaXMuaGFzT3duUHJvcGVydHkoZmllbGQpKQotICAg
ICAgICAgIHRoaXNbZmllbGRdID0gZmllbGRzW2ZpZWxkXTsKLSAgICB9Ci0gIH07Ci0KLSAgU2Vu
c29yX0FkZENvbmZpZ3VyYXRpb25fUGFyYW1zLnZhbGlkYXRlID0gZnVuY3Rpb24obWVzc2FnZVZh
bGlkYXRvciwgb2Zmc2V0KSB7Ci0gICAgdmFyIGVycjsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRh
dG9yLnZhbGlkYXRlU3RydWN0SGVhZGVyKG9mZnNldCwgY29kZWMua1N0cnVjdEhlYWRlclNpemUp
OwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAg
ICAgcmV0dXJuIGVycjsKLQotICAgIHZhciBrVmVyc2lvblNpemVzID0gWwotICAgICAge3ZlcnNp
b246IDAsIG51bUJ5dGVzOiAxNn0KLSAgICBdOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3Iu
dmFsaWRhdGVTdHJ1Y3RWZXJzaW9uKG9mZnNldCwga1ZlcnNpb25TaXplcyk7Ci0gICAgaWYgKGVy
ciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJy
OwotCi0KLSAgICAvLyB2YWxpZGF0ZSBTZW5zb3JfQWRkQ29uZmlndXJhdGlvbl9QYXJhbXMuY29u
ZmlndXJhdGlvbgotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RQb2lu
dGVyKG9mZnNldCArIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgMCwgU2Vuc29yQ29uZmlndXJh
dGlvbiwgZmFsc2UpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3Iu
Tk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRh
dGlvbkVycm9yLk5PTkU7Ci0gIH07Ci0KLSAgU2Vuc29yX0FkZENvbmZpZ3VyYXRpb25fUGFyYW1z
LmVuY29kZWRTaXplID0gY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyA4OwotCi0gIFNlbnNvcl9B
ZGRDb25maWd1cmF0aW9uX1BhcmFtcy5kZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0gICAg
dmFyIHBhY2tlZDsKLSAgICB2YXIgdmFsID0gbmV3IFNlbnNvcl9BZGRDb25maWd1cmF0aW9uX1Bh
cmFtcygpOwotICAgIHZhciBudW1iZXJPZkJ5dGVzID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0g
ICAgdmFyIHZlcnNpb24gPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YWwuY29uZmlndXJh
dGlvbiA9IGRlY29kZXIuZGVjb2RlU3RydWN0UG9pbnRlcihTZW5zb3JDb25maWd1cmF0aW9uKTsK
LSAgICByZXR1cm4gdmFsOwotICB9OwotCi0gIFNlbnNvcl9BZGRDb25maWd1cmF0aW9uX1BhcmFt
cy5lbmNvZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2YWwpIHsKLSAgICB2YXIgcGFja2VkOwotICAg
IGVuY29kZXIud3JpdGVVaW50MzIoU2Vuc29yX0FkZENvbmZpZ3VyYXRpb25fUGFyYW1zLmVuY29k
ZWRTaXplKTsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKDApOwotICAgIGVuY29kZXIuZW5jb2Rl
U3RydWN0UG9pbnRlcihTZW5zb3JDb25maWd1cmF0aW9uLCB2YWwuY29uZmlndXJhdGlvbik7Ci0g
IH07Ci0gIGZ1bmN0aW9uIFNlbnNvcl9BZGRDb25maWd1cmF0aW9uX1Jlc3BvbnNlUGFyYW1zKHZh
bHVlcykgewotICAgIHRoaXMuaW5pdERlZmF1bHRzXygpOwotICAgIHRoaXMuaW5pdEZpZWxkc18o
dmFsdWVzKTsKLSAgfQotCi0KLSAgU2Vuc29yX0FkZENvbmZpZ3VyYXRpb25fUmVzcG9uc2VQYXJh
bXMucHJvdG90eXBlLmluaXREZWZhdWx0c18gPSBmdW5jdGlvbigpIHsKLSAgICB0aGlzLnN1Y2Nl
c3MgPSBmYWxzZTsKLSAgfTsKLSAgU2Vuc29yX0FkZENvbmZpZ3VyYXRpb25fUmVzcG9uc2VQYXJh
bXMucHJvdG90eXBlLmluaXRGaWVsZHNfID0gZnVuY3Rpb24oZmllbGRzKSB7Ci0gICAgZm9yKHZh
ciBmaWVsZCBpbiBmaWVsZHMpIHsKLSAgICAgICAgaWYgKHRoaXMuaGFzT3duUHJvcGVydHkoZmll
bGQpKQotICAgICAgICAgIHRoaXNbZmllbGRdID0gZmllbGRzW2ZpZWxkXTsKLSAgICB9Ci0gIH07
Ci0KLSAgU2Vuc29yX0FkZENvbmZpZ3VyYXRpb25fUmVzcG9uc2VQYXJhbXMudmFsaWRhdGUgPSBm
dW5jdGlvbihtZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsKLSAgICB2YXIgZXJyOwotICAgIGVy
ciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RIZWFkZXIob2Zmc2V0LCBjb2RlYy5r
U3RydWN0SGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25F
cnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgdmFyIGtWZXJzaW9uU2l6ZXMg
PSBbCi0gICAgICB7dmVyc2lvbjogMCwgbnVtQnl0ZXM6IDE2fQotICAgIF07Ci0gICAgZXJyID0g
bWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFZlcnNpb24ob2Zmc2V0LCBrVmVyc2lvblNp
emVzKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0g
ICAgICAgIHJldHVybiBlcnI7Ci0KLQotICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVy
cm9yLk5PTkU7Ci0gIH07Ci0KLSAgU2Vuc29yX0FkZENvbmZpZ3VyYXRpb25fUmVzcG9uc2VQYXJh
bXMuZW5jb2RlZFNpemUgPSBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDg7Ci0KLSAgU2Vuc29y
X0FkZENvbmZpZ3VyYXRpb25fUmVzcG9uc2VQYXJhbXMuZGVjb2RlID0gZnVuY3Rpb24oZGVjb2Rl
cikgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgdmFyIHZhbCA9IG5ldyBTZW5zb3JfQWRkQ29uZmln
dXJhdGlvbl9SZXNwb25zZVBhcmFtcygpOwotICAgIHZhciBudW1iZXJPZkJ5dGVzID0gZGVjb2Rl
ci5yZWFkVWludDMyKCk7Ci0gICAgdmFyIHZlcnNpb24gPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsK
LSAgICBwYWNrZWQgPSBkZWNvZGVyLnJlYWRVaW50OCgpOwotICAgIHZhbC5zdWNjZXNzID0gKHBh
Y2tlZCA+PiAwKSAmIDEgPyB0cnVlIDogZmFsc2U7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAg
IGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lw
KDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVj
b2Rlci5za2lwKDEpOwotICAgIHJldHVybiB2YWw7Ci0gIH07Ci0KLSAgU2Vuc29yX0FkZENvbmZp
Z3VyYXRpb25fUmVzcG9uc2VQYXJhbXMuZW5jb2RlID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7
Ci0gICAgdmFyIHBhY2tlZDsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKFNlbnNvcl9BZGRDb25m
aWd1cmF0aW9uX1Jlc3BvbnNlUGFyYW1zLmVuY29kZWRTaXplKTsKLSAgICBlbmNvZGVyLndyaXRl
VWludDMyKDApOwotICAgIHBhY2tlZCA9IDA7Ci0gICAgcGFja2VkIHw9ICh2YWwuc3VjY2VzcyAm
IDEpIDw8IDAKLSAgICBlbmNvZGVyLndyaXRlVWludDgocGFja2VkKTsKLSAgICBlbmNvZGVyLnNr
aXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBl
bmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgx
KTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gIH07Ci0gIGZ1bmN0aW9uIFNlbnNvcl9SZW1vdmVD
b25maWd1cmF0aW9uX1BhcmFtcyh2YWx1ZXMpIHsKLSAgICB0aGlzLmluaXREZWZhdWx0c18oKTsK
LSAgICB0aGlzLmluaXRGaWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0gIFNlbnNvcl9SZW1vdmVD
b25maWd1cmF0aW9uX1BhcmFtcy5wcm90b3R5cGUuaW5pdERlZmF1bHRzXyA9IGZ1bmN0aW9uKCkg
ewotICAgIHRoaXMuY29uZmlndXJhdGlvbiA9IG51bGw7Ci0gIH07Ci0gIFNlbnNvcl9SZW1vdmVD
b25maWd1cmF0aW9uX1BhcmFtcy5wcm90b3R5cGUuaW5pdEZpZWxkc18gPSBmdW5jdGlvbihmaWVs
ZHMpIHsKLSAgICBmb3IodmFyIGZpZWxkIGluIGZpZWxkcykgewotICAgICAgICBpZiAodGhpcy5o
YXNPd25Qcm9wZXJ0eShmaWVsZCkpCi0gICAgICAgICAgdGhpc1tmaWVsZF0gPSBmaWVsZHNbZmll
bGRdOwotICAgIH0KLSAgfTsKLQotICBTZW5zb3JfUmVtb3ZlQ29uZmlndXJhdGlvbl9QYXJhbXMu
dmFsaWRhdGUgPSBmdW5jdGlvbihtZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsKLSAgICB2YXIg
ZXJyOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RIZWFkZXIob2Zm
c2V0LCBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9y
LnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgdmFyIGtW
ZXJzaW9uU2l6ZXMgPSBbCi0gICAgICB7dmVyc2lvbjogMCwgbnVtQnl0ZXM6IDE2fQotICAgIF07
Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFZlcnNpb24ob2Zmc2V0
LCBrVmVyc2lvblNpemVzKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVy
cm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotICAgIC8vIHZhbGlkYXRlIFNlbnNv
cl9SZW1vdmVDb25maWd1cmF0aW9uX1BhcmFtcy5jb25maWd1cmF0aW9uCi0gICAgZXJyID0gbWVz
c2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFBvaW50ZXIob2Zmc2V0ICsgY29kZWMua1N0cnVj
dEhlYWRlclNpemUgKyAwLCBTZW5zb3JDb25maWd1cmF0aW9uLCBmYWxzZSk7Ci0gICAgaWYgKGVy
ciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJy
OwotCi0gICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQot
ICBTZW5zb3JfUmVtb3ZlQ29uZmlndXJhdGlvbl9QYXJhbXMuZW5jb2RlZFNpemUgPSBjb2RlYy5r
U3RydWN0SGVhZGVyU2l6ZSArIDg7Ci0KLSAgU2Vuc29yX1JlbW92ZUNvbmZpZ3VyYXRpb25fUGFy
YW1zLmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIHZh
ciB2YWwgPSBuZXcgU2Vuc29yX1JlbW92ZUNvbmZpZ3VyYXRpb25fUGFyYW1zKCk7Ci0gICAgdmFy
IG51bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YXIgdmVyc2lvbiA9
IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhbC5jb25maWd1cmF0aW9uID0gZGVjb2Rlci5k
ZWNvZGVTdHJ1Y3RQb2ludGVyKFNlbnNvckNvbmZpZ3VyYXRpb24pOwotICAgIHJldHVybiB2YWw7
Ci0gIH07Ci0KLSAgU2Vuc29yX1JlbW92ZUNvbmZpZ3VyYXRpb25fUGFyYW1zLmVuY29kZSA9IGZ1
bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgZW5jb2Rlci53cml0
ZVVpbnQzMihTZW5zb3JfUmVtb3ZlQ29uZmlndXJhdGlvbl9QYXJhbXMuZW5jb2RlZFNpemUpOwot
ICAgIGVuY29kZXIud3JpdGVVaW50MzIoMCk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3RQb2lu
dGVyKFNlbnNvckNvbmZpZ3VyYXRpb24sIHZhbC5jb25maWd1cmF0aW9uKTsKLSAgfTsKLSAgZnVu
Y3Rpb24gU2Vuc29yX1N1c3BlbmRfUGFyYW1zKHZhbHVlcykgewotICAgIHRoaXMuaW5pdERlZmF1
bHRzXygpOwotICAgIHRoaXMuaW5pdEZpZWxkc18odmFsdWVzKTsKLSAgfQotCi0KLSAgU2Vuc29y
X1N1c3BlbmRfUGFyYW1zLnByb3RvdHlwZS5pbml0RGVmYXVsdHNfID0gZnVuY3Rpb24oKSB7Ci0g
IH07Ci0gIFNlbnNvcl9TdXNwZW5kX1BhcmFtcy5wcm90b3R5cGUuaW5pdEZpZWxkc18gPSBmdW5j
dGlvbihmaWVsZHMpIHsKLSAgICBmb3IodmFyIGZpZWxkIGluIGZpZWxkcykgewotICAgICAgICBp
ZiAodGhpcy5oYXNPd25Qcm9wZXJ0eShmaWVsZCkpCi0gICAgICAgICAgdGhpc1tmaWVsZF0gPSBm
aWVsZHNbZmllbGRdOwotICAgIH0KLSAgfTsKLQotICBTZW5zb3JfU3VzcGVuZF9QYXJhbXMudmFs
aWRhdGUgPSBmdW5jdGlvbihtZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsKLSAgICB2YXIgZXJy
OwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RIZWFkZXIob2Zmc2V0
LCBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZh
bGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgdmFyIGtWZXJz
aW9uU2l6ZXMgPSBbCi0gICAgICB7dmVyc2lvbjogMCwgbnVtQnl0ZXM6IDh9Ci0gICAgXTsKLSAg
ICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0VmVyc2lvbihvZmZzZXQsIGtW
ZXJzaW9uU2l6ZXMpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3Iu
Tk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRh
dGlvbkVycm9yLk5PTkU7Ci0gIH07Ci0KLSAgU2Vuc29yX1N1c3BlbmRfUGFyYW1zLmVuY29kZWRT
aXplID0gY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyAwOwotCi0gIFNlbnNvcl9TdXNwZW5kX1Bh
cmFtcy5kZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICB2
YXIgdmFsID0gbmV3IFNlbnNvcl9TdXNwZW5kX1BhcmFtcygpOwotICAgIHZhciBudW1iZXJPZkJ5
dGVzID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFyIHZlcnNpb24gPSBkZWNvZGVyLnJl
YWRVaW50MzIoKTsKLSAgICByZXR1cm4gdmFsOwotICB9OwotCi0gIFNlbnNvcl9TdXNwZW5kX1Bh
cmFtcy5lbmNvZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2YWwpIHsKLSAgICB2YXIgcGFja2VkOwot
ICAgIGVuY29kZXIud3JpdGVVaW50MzIoU2Vuc29yX1N1c3BlbmRfUGFyYW1zLmVuY29kZWRTaXpl
KTsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKDApOwotICB9OwotICBmdW5jdGlvbiBTZW5zb3Jf
UmVzdW1lX1BhcmFtcyh2YWx1ZXMpIHsKLSAgICB0aGlzLmluaXREZWZhdWx0c18oKTsKLSAgICB0
aGlzLmluaXRGaWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0gIFNlbnNvcl9SZXN1bWVfUGFyYW1z
LnByb3RvdHlwZS5pbml0RGVmYXVsdHNfID0gZnVuY3Rpb24oKSB7Ci0gIH07Ci0gIFNlbnNvcl9S
ZXN1bWVfUGFyYW1zLnByb3RvdHlwZS5pbml0RmllbGRzXyA9IGZ1bmN0aW9uKGZpZWxkcykgewot
ICAgIGZvcih2YXIgZmllbGQgaW4gZmllbGRzKSB7Ci0gICAgICAgIGlmICh0aGlzLmhhc093blBy
b3BlcnR5KGZpZWxkKSkKLSAgICAgICAgICB0aGlzW2ZpZWxkXSA9IGZpZWxkc1tmaWVsZF07Ci0g
ICAgfQotICB9OwotCi0gIFNlbnNvcl9SZXN1bWVfUGFyYW1zLnZhbGlkYXRlID0gZnVuY3Rpb24o
bWVzc2FnZVZhbGlkYXRvciwgb2Zmc2V0KSB7Ci0gICAgdmFyIGVycjsKLSAgICBlcnIgPSBtZXNz
YWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0SGVhZGVyKG9mZnNldCwgY29kZWMua1N0cnVjdEhl
YWRlclNpemUpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9O
RSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHZhciBrVmVyc2lvblNpemVzID0gWwotICAg
ICAge3ZlcnNpb246IDAsIG51bUJ5dGVzOiA4fQotICAgIF07Ci0gICAgZXJyID0gbWVzc2FnZVZh
bGlkYXRvci52YWxpZGF0ZVN0cnVjdFZlcnNpb24ob2Zmc2V0LCBrVmVyc2lvblNpemVzKTsKLSAg
ICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJl
dHVybiBlcnI7Ci0KLSAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwot
ICB9OwotCi0gIFNlbnNvcl9SZXN1bWVfUGFyYW1zLmVuY29kZWRTaXplID0gY29kZWMua1N0cnVj
dEhlYWRlclNpemUgKyAwOwotCi0gIFNlbnNvcl9SZXN1bWVfUGFyYW1zLmRlY29kZSA9IGZ1bmN0
aW9uKGRlY29kZXIpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIHZhciB2YWwgPSBuZXcgU2Vuc29y
X1Jlc3VtZV9QYXJhbXMoKTsKLSAgICB2YXIgbnVtYmVyT2ZCeXRlcyA9IGRlY29kZXIucmVhZFVp
bnQzMigpOwotICAgIHZhciB2ZXJzaW9uID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgcmV0
dXJuIHZhbDsKLSAgfTsKLQotICBTZW5zb3JfUmVzdW1lX1BhcmFtcy5lbmNvZGUgPSBmdW5jdGlv
bihlbmNvZGVyLCB2YWwpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIGVuY29kZXIud3JpdGVVaW50
MzIoU2Vuc29yX1Jlc3VtZV9QYXJhbXMuZW5jb2RlZFNpemUpOwotICAgIGVuY29kZXIud3JpdGVV
aW50MzIoMCk7Ci0gIH07Ci0gIGZ1bmN0aW9uIFNlbnNvcl9Db25maWd1cmVSZWFkaW5nQ2hhbmdl
Tm90aWZpY2F0aW9uc19QYXJhbXModmFsdWVzKSB7Ci0gICAgdGhpcy5pbml0RGVmYXVsdHNfKCk7
Ci0gICAgdGhpcy5pbml0RmllbGRzXyh2YWx1ZXMpOwotICB9Ci0KLQotICBTZW5zb3JfQ29uZmln
dXJlUmVhZGluZ0NoYW5nZU5vdGlmaWNhdGlvbnNfUGFyYW1zLnByb3RvdHlwZS5pbml0RGVmYXVs
dHNfID0gZnVuY3Rpb24oKSB7Ci0gICAgdGhpcy5lbmFibGVkID0gZmFsc2U7Ci0gIH07Ci0gIFNl
bnNvcl9Db25maWd1cmVSZWFkaW5nQ2hhbmdlTm90aWZpY2F0aW9uc19QYXJhbXMucHJvdG90eXBl
LmluaXRGaWVsZHNfID0gZnVuY3Rpb24oZmllbGRzKSB7Ci0gICAgZm9yKHZhciBmaWVsZCBpbiBm
aWVsZHMpIHsKLSAgICAgICAgaWYgKHRoaXMuaGFzT3duUHJvcGVydHkoZmllbGQpKQotICAgICAg
ICAgIHRoaXNbZmllbGRdID0gZmllbGRzW2ZpZWxkXTsKLSAgICB9Ci0gIH07Ci0KLSAgU2Vuc29y
X0NvbmZpZ3VyZVJlYWRpbmdDaGFuZ2VOb3RpZmljYXRpb25zX1BhcmFtcy52YWxpZGF0ZSA9IGZ1
bmN0aW9uKG1lc3NhZ2VWYWxpZGF0b3IsIG9mZnNldCkgewotICAgIHZhciBlcnI7Ci0gICAgZXJy
ID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdEhlYWRlcihvZmZzZXQsIGNvZGVjLmtT
dHJ1Y3RIZWFkZXJTaXplKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVy
cm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICB2YXIga1ZlcnNpb25TaXplcyA9
IFsKLSAgICAgIHt2ZXJzaW9uOiAwLCBudW1CeXRlczogMTZ9Ci0gICAgXTsKLSAgICBlcnIgPSBt
ZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0VmVyc2lvbihvZmZzZXQsIGtWZXJzaW9uU2l6
ZXMpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAg
ICAgICAgcmV0dXJuIGVycjsKLQotCi0gICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJy
b3IuTk9ORTsKLSAgfTsKLQotICBTZW5zb3JfQ29uZmlndXJlUmVhZGluZ0NoYW5nZU5vdGlmaWNh
dGlvbnNfUGFyYW1zLmVuY29kZWRTaXplID0gY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyA4Owot
Ci0gIFNlbnNvcl9Db25maWd1cmVSZWFkaW5nQ2hhbmdlTm90aWZpY2F0aW9uc19QYXJhbXMuZGVj
b2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgdmFyIHZhbCA9
IG5ldyBTZW5zb3JfQ29uZmlndXJlUmVhZGluZ0NoYW5nZU5vdGlmaWNhdGlvbnNfUGFyYW1zKCk7
Ci0gICAgdmFyIG51bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YXIg
dmVyc2lvbiA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHBhY2tlZCA9IGRlY29kZXIucmVh
ZFVpbnQ4KCk7Ci0gICAgdmFsLmVuYWJsZWQgPSAocGFja2VkID4+IDApICYgMSA/IHRydWUgOiBm
YWxzZTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRl
Y29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEp
OwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgcmV0dXJu
IHZhbDsKLSAgfTsKLQotICBTZW5zb3JfQ29uZmlndXJlUmVhZGluZ0NoYW5nZU5vdGlmaWNhdGlv
bnNfUGFyYW1zLmVuY29kZSA9IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgIHZhciBwYWNr
ZWQ7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMihTZW5zb3JfQ29uZmlndXJlUmVhZGluZ0NoYW5n
ZU5vdGlmaWNhdGlvbnNfUGFyYW1zLmVuY29kZWRTaXplKTsKLSAgICBlbmNvZGVyLndyaXRlVWlu
dDMyKDApOwotICAgIHBhY2tlZCA9IDA7Ci0gICAgcGFja2VkIHw9ICh2YWwuZW5hYmxlZCAmIDEp
IDw8IDAKLSAgICBlbmNvZGVyLndyaXRlVWludDgocGFja2VkKTsKLSAgICBlbmNvZGVyLnNraXAo
MSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNv
ZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsK
LSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gIH07Ci0gIGZ1bmN0aW9uIFNlbnNvckNsaWVudF9SYWlz
ZUVycm9yX1BhcmFtcyh2YWx1ZXMpIHsKLSAgICB0aGlzLmluaXREZWZhdWx0c18oKTsKLSAgICB0
aGlzLmluaXRGaWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0gIFNlbnNvckNsaWVudF9SYWlzZUVy
cm9yX1BhcmFtcy5wcm90b3R5cGUuaW5pdERlZmF1bHRzXyA9IGZ1bmN0aW9uKCkgewotICB9Owot
ICBTZW5zb3JDbGllbnRfUmFpc2VFcnJvcl9QYXJhbXMucHJvdG90eXBlLmluaXRGaWVsZHNfID0g
ZnVuY3Rpb24oZmllbGRzKSB7Ci0gICAgZm9yKHZhciBmaWVsZCBpbiBmaWVsZHMpIHsKLSAgICAg
ICAgaWYgKHRoaXMuaGFzT3duUHJvcGVydHkoZmllbGQpKQotICAgICAgICAgIHRoaXNbZmllbGRd
ID0gZmllbGRzW2ZpZWxkXTsKLSAgICB9Ci0gIH07Ci0KLSAgU2Vuc29yQ2xpZW50X1JhaXNlRXJy
b3JfUGFyYW1zLnZhbGlkYXRlID0gZnVuY3Rpb24obWVzc2FnZVZhbGlkYXRvciwgb2Zmc2V0KSB7
Ci0gICAgdmFyIGVycjsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0
SGVhZGVyKG9mZnNldCwgY29kZWMua1N0cnVjdEhlYWRlclNpemUpOwotICAgIGlmIChlcnIgIT09
IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQot
ICAgIHZhciBrVmVyc2lvblNpemVzID0gWwotICAgICAge3ZlcnNpb246IDAsIG51bUJ5dGVzOiA4
fQotICAgIF07Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFZlcnNp
b24ob2Zmc2V0LCBrVmVyc2lvblNpemVzKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFs
aWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICByZXR1cm4gdmFs
aWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIFNlbnNvckNsaWVudF9SYWlz
ZUVycm9yX1BhcmFtcy5lbmNvZGVkU2l6ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgMDsK
LQotICBTZW5zb3JDbGllbnRfUmFpc2VFcnJvcl9QYXJhbXMuZGVjb2RlID0gZnVuY3Rpb24oZGVj
b2RlcikgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgdmFyIHZhbCA9IG5ldyBTZW5zb3JDbGllbnRf
UmFpc2VFcnJvcl9QYXJhbXMoKTsKLSAgICB2YXIgbnVtYmVyT2ZCeXRlcyA9IGRlY29kZXIucmVh
ZFVpbnQzMigpOwotICAgIHZhciB2ZXJzaW9uID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAg
cmV0dXJuIHZhbDsKLSAgfTsKLQotICBTZW5zb3JDbGllbnRfUmFpc2VFcnJvcl9QYXJhbXMuZW5j
b2RlID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICBlbmNv
ZGVyLndyaXRlVWludDMyKFNlbnNvckNsaWVudF9SYWlzZUVycm9yX1BhcmFtcy5lbmNvZGVkU2l6
ZSk7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMigwKTsKLSAgfTsKLSAgZnVuY3Rpb24gU2Vuc29y
Q2xpZW50X1NlbnNvclJlYWRpbmdDaGFuZ2VkX1BhcmFtcyh2YWx1ZXMpIHsKLSAgICB0aGlzLmlu
aXREZWZhdWx0c18oKTsKLSAgICB0aGlzLmluaXRGaWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0g
IFNlbnNvckNsaWVudF9TZW5zb3JSZWFkaW5nQ2hhbmdlZF9QYXJhbXMucHJvdG90eXBlLmluaXRE
ZWZhdWx0c18gPSBmdW5jdGlvbigpIHsKLSAgfTsKLSAgU2Vuc29yQ2xpZW50X1NlbnNvclJlYWRp
bmdDaGFuZ2VkX1BhcmFtcy5wcm90b3R5cGUuaW5pdEZpZWxkc18gPSBmdW5jdGlvbihmaWVsZHMp
IHsKLSAgICBmb3IodmFyIGZpZWxkIGluIGZpZWxkcykgewotICAgICAgICBpZiAodGhpcy5oYXNP
d25Qcm9wZXJ0eShmaWVsZCkpCi0gICAgICAgICAgdGhpc1tmaWVsZF0gPSBmaWVsZHNbZmllbGRd
OwotICAgIH0KLSAgfTsKLQotICBTZW5zb3JDbGllbnRfU2Vuc29yUmVhZGluZ0NoYW5nZWRfUGFy
YW1zLnZhbGlkYXRlID0gZnVuY3Rpb24obWVzc2FnZVZhbGlkYXRvciwgb2Zmc2V0KSB7Ci0gICAg
dmFyIGVycjsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0SGVhZGVy
KG9mZnNldCwgY29kZWMua1N0cnVjdEhlYWRlclNpemUpOwotICAgIGlmIChlcnIgIT09IHZhbGlk
YXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHZh
ciBrVmVyc2lvblNpemVzID0gWwotICAgICAge3ZlcnNpb246IDAsIG51bUJ5dGVzOiA4fQotICAg
IF07Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFZlcnNpb24ob2Zm
c2V0LCBrVmVyc2lvblNpemVzKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlv
bkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICByZXR1cm4gdmFsaWRhdG9y
LnZhbGlkYXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIFNlbnNvckNsaWVudF9TZW5zb3JSZWFk
aW5nQ2hhbmdlZF9QYXJhbXMuZW5jb2RlZFNpemUgPSBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSAr
IDA7Ci0KLSAgU2Vuc29yQ2xpZW50X1NlbnNvclJlYWRpbmdDaGFuZ2VkX1BhcmFtcy5kZWNvZGUg
PSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICB2YXIgdmFsID0gbmV3
IFNlbnNvckNsaWVudF9TZW5zb3JSZWFkaW5nQ2hhbmdlZF9QYXJhbXMoKTsKLSAgICB2YXIgbnVt
YmVyT2ZCeXRlcyA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhciB2ZXJzaW9uID0gZGVj
b2Rlci5yZWFkVWludDMyKCk7Ci0gICAgcmV0dXJuIHZhbDsKLSAgfTsKLQotICBTZW5zb3JDbGll
bnRfU2Vuc29yUmVhZGluZ0NoYW5nZWRfUGFyYW1zLmVuY29kZSA9IGZ1bmN0aW9uKGVuY29kZXIs
IHZhbCkgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMihTZW5zb3JD
bGllbnRfU2Vuc29yUmVhZGluZ0NoYW5nZWRfUGFyYW1zLmVuY29kZWRTaXplKTsKLSAgICBlbmNv
ZGVyLndyaXRlVWludDMyKDApOwotICB9OwotICB2YXIga1NlbnNvcl9HZXREZWZhdWx0Q29uZmln
dXJhdGlvbl9OYW1lID0gMDsKLSAgdmFyIGtTZW5zb3JfQWRkQ29uZmlndXJhdGlvbl9OYW1lID0g
MTsKLSAgdmFyIGtTZW5zb3JfUmVtb3ZlQ29uZmlndXJhdGlvbl9OYW1lID0gMjsKLSAgdmFyIGtT
ZW5zb3JfU3VzcGVuZF9OYW1lID0gMzsKLSAgdmFyIGtTZW5zb3JfUmVzdW1lX05hbWUgPSA0Owot
ICB2YXIga1NlbnNvcl9Db25maWd1cmVSZWFkaW5nQ2hhbmdlTm90aWZpY2F0aW9uc19OYW1lID0g
NTsKLQotICBmdW5jdGlvbiBTZW5zb3JQdHIoaGFuZGxlT3JQdHJJbmZvKSB7Ci0gICAgdGhpcy5w
dHIgPSBuZXcgYmluZGluZ3MuSW50ZXJmYWNlUHRyQ29udHJvbGxlcihTZW5zb3IsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVPclB0cklu
Zm8pOwotICB9Ci0KLSAgZnVuY3Rpb24gU2Vuc29yQXNzb2NpYXRlZFB0cihhc3NvY2lhdGVkSW50
ZXJmYWNlUHRySW5mbykgewotICAgIHRoaXMucHRyID0gbmV3IGFzc29jaWF0ZWRCaW5kaW5ncy5B
c3NvY2lhdGVkSW50ZXJmYWNlUHRyQ29udHJvbGxlcigKLSAgICAgICAgU2Vuc29yLCBhc3NvY2lh
dGVkSW50ZXJmYWNlUHRySW5mbyk7Ci0gIH0KLQotICBTZW5zb3JBc3NvY2lhdGVkUHRyLnByb3Rv
dHlwZSA9Ci0gICAgICBPYmplY3QuY3JlYXRlKFNlbnNvclB0ci5wcm90b3R5cGUpOwotICBTZW5z
b3JBc3NvY2lhdGVkUHRyLnByb3RvdHlwZS5jb25zdHJ1Y3RvciA9Ci0gICAgICBTZW5zb3JBc3Nv
Y2lhdGVkUHRyOwotCi0gIGZ1bmN0aW9uIFNlbnNvclByb3h5KHJlY2VpdmVyKSB7Ci0gICAgdGhp
cy5yZWNlaXZlcl8gPSByZWNlaXZlcjsKLSAgfQotICBTZW5zb3JQdHIucHJvdG90eXBlLmdldERl
ZmF1bHRDb25maWd1cmF0aW9uID0gZnVuY3Rpb24oKSB7Ci0gICAgcmV0dXJuIFNlbnNvclByb3h5
LnByb3RvdHlwZS5nZXREZWZhdWx0Q29uZmlndXJhdGlvbgotICAgICAgICAuYXBwbHkodGhpcy5w
dHIuZ2V0UHJveHkoKSwgYXJndW1lbnRzKTsKLSAgfTsKLQotICBTZW5zb3JQcm94eS5wcm90b3R5
cGUuZ2V0RGVmYXVsdENvbmZpZ3VyYXRpb24gPSBmdW5jdGlvbigpIHsKLSAgICB2YXIgcGFyYW1z
XyA9IG5ldyBTZW5zb3JfR2V0RGVmYXVsdENvbmZpZ3VyYXRpb25fUGFyYW1zKCk7Ci0gICAgcmV0
dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewotICAgICAgdmFyIGJ1
aWxkZXIgPSBuZXcgY29kZWMuTWVzc2FnZVYxQnVpbGRlcigKLSAgICAgICAgICBrU2Vuc29yX0dl
dERlZmF1bHRDb25maWd1cmF0aW9uX05hbWUsCi0gICAgICAgICAgY29kZWMuYWxpZ24oU2Vuc29y
X0dldERlZmF1bHRDb25maWd1cmF0aW9uX1BhcmFtcy5lbmNvZGVkU2l6ZSksCi0gICAgICAgICAg
Y29kZWMua01lc3NhZ2VFeHBlY3RzUmVzcG9uc2UsIDApOwotICAgICAgYnVpbGRlci5lbmNvZGVT
dHJ1Y3QoU2Vuc29yX0dldERlZmF1bHRDb25maWd1cmF0aW9uX1BhcmFtcywgcGFyYW1zXyk7Ci0g
ICAgICB2YXIgbWVzc2FnZSA9IGJ1aWxkZXIuZmluaXNoKCk7Ci0gICAgICB0aGlzLnJlY2VpdmVy
Xy5hY2NlcHRBbmRFeHBlY3RSZXNwb25zZShtZXNzYWdlKS50aGVuKGZ1bmN0aW9uKG1lc3NhZ2Up
IHsKLSAgICAgICAgdmFyIHJlYWRlciA9IG5ldyBjb2RlYy5NZXNzYWdlUmVhZGVyKG1lc3NhZ2Up
OwotICAgICAgICB2YXIgcmVzcG9uc2VQYXJhbXMgPQotICAgICAgICAgICAgcmVhZGVyLmRlY29k
ZVN0cnVjdChTZW5zb3JfR2V0RGVmYXVsdENvbmZpZ3VyYXRpb25fUmVzcG9uc2VQYXJhbXMpOwot
ICAgICAgICByZXNvbHZlKHJlc3BvbnNlUGFyYW1zKTsKLSAgICAgIH0pLmNhdGNoKGZ1bmN0aW9u
KHJlc3VsdCkgewotICAgICAgICByZWplY3QoRXJyb3IoIkNvbm5lY3Rpb24gZXJyb3I6ICIgKyBy
ZXN1bHQpKTsKLSAgICAgIH0pOwotICAgIH0uYmluZCh0aGlzKSk7Ci0gIH07Ci0gIFNlbnNvclB0
ci5wcm90b3R5cGUuYWRkQ29uZmlndXJhdGlvbiA9IGZ1bmN0aW9uKCkgewotICAgIHJldHVybiBT
ZW5zb3JQcm94eS5wcm90b3R5cGUuYWRkQ29uZmlndXJhdGlvbgotICAgICAgICAuYXBwbHkodGhp
cy5wdHIuZ2V0UHJveHkoKSwgYXJndW1lbnRzKTsKLSAgfTsKLQotICBTZW5zb3JQcm94eS5wcm90
b3R5cGUuYWRkQ29uZmlndXJhdGlvbiA9IGZ1bmN0aW9uKGNvbmZpZ3VyYXRpb24pIHsKLSAgICB2
YXIgcGFyYW1zXyA9IG5ldyBTZW5zb3JfQWRkQ29uZmlndXJhdGlvbl9QYXJhbXMoKTsKLSAgICBw
YXJhbXNfLmNvbmZpZ3VyYXRpb24gPSBjb25maWd1cmF0aW9uOwotICAgIHJldHVybiBuZXcgUHJv
bWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKLSAgICAgIHZhciBidWlsZGVyID0gbmV3
IGNvZGVjLk1lc3NhZ2VWMUJ1aWxkZXIoCi0gICAgICAgICAga1NlbnNvcl9BZGRDb25maWd1cmF0
aW9uX05hbWUsCi0gICAgICAgICAgY29kZWMuYWxpZ24oU2Vuc29yX0FkZENvbmZpZ3VyYXRpb25f
UGFyYW1zLmVuY29kZWRTaXplKSwKLSAgICAgICAgICBjb2RlYy5rTWVzc2FnZUV4cGVjdHNSZXNw
b25zZSwgMCk7Ci0gICAgICBidWlsZGVyLmVuY29kZVN0cnVjdChTZW5zb3JfQWRkQ29uZmlndXJh
dGlvbl9QYXJhbXMsIHBhcmFtc18pOwotICAgICAgdmFyIG1lc3NhZ2UgPSBidWlsZGVyLmZpbmlz
aCgpOwotICAgICAgdGhpcy5yZWNlaXZlcl8uYWNjZXB0QW5kRXhwZWN0UmVzcG9uc2UobWVzc2Fn
ZSkudGhlbihmdW5jdGlvbihtZXNzYWdlKSB7Ci0gICAgICAgIHZhciByZWFkZXIgPSBuZXcgY29k
ZWMuTWVzc2FnZVJlYWRlcihtZXNzYWdlKTsKLSAgICAgICAgdmFyIHJlc3BvbnNlUGFyYW1zID0K
LSAgICAgICAgICAgIHJlYWRlci5kZWNvZGVTdHJ1Y3QoU2Vuc29yX0FkZENvbmZpZ3VyYXRpb25f
UmVzcG9uc2VQYXJhbXMpOwotICAgICAgICByZXNvbHZlKHJlc3BvbnNlUGFyYW1zKTsKLSAgICAg
IH0pLmNhdGNoKGZ1bmN0aW9uKHJlc3VsdCkgewotICAgICAgICByZWplY3QoRXJyb3IoIkNvbm5l
Y3Rpb24gZXJyb3I6ICIgKyByZXN1bHQpKTsKLSAgICAgIH0pOwotICAgIH0uYmluZCh0aGlzKSk7
Ci0gIH07Ci0gIFNlbnNvclB0ci5wcm90b3R5cGUucmVtb3ZlQ29uZmlndXJhdGlvbiA9IGZ1bmN0
aW9uKCkgewotICAgIHJldHVybiBTZW5zb3JQcm94eS5wcm90b3R5cGUucmVtb3ZlQ29uZmlndXJh
dGlvbgotICAgICAgICAuYXBwbHkodGhpcy5wdHIuZ2V0UHJveHkoKSwgYXJndW1lbnRzKTsKLSAg
fTsKLQotICBTZW5zb3JQcm94eS5wcm90b3R5cGUucmVtb3ZlQ29uZmlndXJhdGlvbiA9IGZ1bmN0
aW9uKGNvbmZpZ3VyYXRpb24pIHsKLSAgICB2YXIgcGFyYW1zXyA9IG5ldyBTZW5zb3JfUmVtb3Zl
Q29uZmlndXJhdGlvbl9QYXJhbXMoKTsKLSAgICBwYXJhbXNfLmNvbmZpZ3VyYXRpb24gPSBjb25m
aWd1cmF0aW9uOwotICAgIHZhciBidWlsZGVyID0gbmV3IGNvZGVjLk1lc3NhZ2VWMEJ1aWxkZXIo
Ci0gICAgICAgIGtTZW5zb3JfUmVtb3ZlQ29uZmlndXJhdGlvbl9OYW1lLAotICAgICAgICBjb2Rl
Yy5hbGlnbihTZW5zb3JfUmVtb3ZlQ29uZmlndXJhdGlvbl9QYXJhbXMuZW5jb2RlZFNpemUpKTsK
LSAgICBidWlsZGVyLmVuY29kZVN0cnVjdChTZW5zb3JfUmVtb3ZlQ29uZmlndXJhdGlvbl9QYXJh
bXMsIHBhcmFtc18pOwotICAgIHZhciBtZXNzYWdlID0gYnVpbGRlci5maW5pc2goKTsKLSAgICB0
aGlzLnJlY2VpdmVyXy5hY2NlcHQobWVzc2FnZSk7Ci0gIH07Ci0gIFNlbnNvclB0ci5wcm90b3R5
cGUuc3VzcGVuZCA9IGZ1bmN0aW9uKCkgewotICAgIHJldHVybiBTZW5zb3JQcm94eS5wcm90b3R5
cGUuc3VzcGVuZAotICAgICAgICAuYXBwbHkodGhpcy5wdHIuZ2V0UHJveHkoKSwgYXJndW1lbnRz
KTsKLSAgfTsKLQotICBTZW5zb3JQcm94eS5wcm90b3R5cGUuc3VzcGVuZCA9IGZ1bmN0aW9uKCkg
ewotICAgIHZhciBwYXJhbXNfID0gbmV3IFNlbnNvcl9TdXNwZW5kX1BhcmFtcygpOwotICAgIHZh
ciBidWlsZGVyID0gbmV3IGNvZGVjLk1lc3NhZ2VWMEJ1aWxkZXIoCi0gICAgICAgIGtTZW5zb3Jf
U3VzcGVuZF9OYW1lLAotICAgICAgICBjb2RlYy5hbGlnbihTZW5zb3JfU3VzcGVuZF9QYXJhbXMu
ZW5jb2RlZFNpemUpKTsKLSAgICBidWlsZGVyLmVuY29kZVN0cnVjdChTZW5zb3JfU3VzcGVuZF9Q
YXJhbXMsIHBhcmFtc18pOwotICAgIHZhciBtZXNzYWdlID0gYnVpbGRlci5maW5pc2goKTsKLSAg
ICB0aGlzLnJlY2VpdmVyXy5hY2NlcHQobWVzc2FnZSk7Ci0gIH07Ci0gIFNlbnNvclB0ci5wcm90
b3R5cGUucmVzdW1lID0gZnVuY3Rpb24oKSB7Ci0gICAgcmV0dXJuIFNlbnNvclByb3h5LnByb3Rv
dHlwZS5yZXN1bWUKLSAgICAgICAgLmFwcGx5KHRoaXMucHRyLmdldFByb3h5KCksIGFyZ3VtZW50
cyk7Ci0gIH07Ci0KLSAgU2Vuc29yUHJveHkucHJvdG90eXBlLnJlc3VtZSA9IGZ1bmN0aW9uKCkg
ewotICAgIHZhciBwYXJhbXNfID0gbmV3IFNlbnNvcl9SZXN1bWVfUGFyYW1zKCk7Ci0gICAgdmFy
IGJ1aWxkZXIgPSBuZXcgY29kZWMuTWVzc2FnZVYwQnVpbGRlcigKLSAgICAgICAga1NlbnNvcl9S
ZXN1bWVfTmFtZSwKLSAgICAgICAgY29kZWMuYWxpZ24oU2Vuc29yX1Jlc3VtZV9QYXJhbXMuZW5j
b2RlZFNpemUpKTsKLSAgICBidWlsZGVyLmVuY29kZVN0cnVjdChTZW5zb3JfUmVzdW1lX1BhcmFt
cywgcGFyYW1zXyk7Ci0gICAgdmFyIG1lc3NhZ2UgPSBidWlsZGVyLmZpbmlzaCgpOwotICAgIHRo
aXMucmVjZWl2ZXJfLmFjY2VwdChtZXNzYWdlKTsKLSAgfTsKLSAgU2Vuc29yUHRyLnByb3RvdHlw
ZS5jb25maWd1cmVSZWFkaW5nQ2hhbmdlTm90aWZpY2F0aW9ucyA9IGZ1bmN0aW9uKCkgewotICAg
IHJldHVybiBTZW5zb3JQcm94eS5wcm90b3R5cGUuY29uZmlndXJlUmVhZGluZ0NoYW5nZU5vdGlm
aWNhdGlvbnMKLSAgICAgICAgLmFwcGx5KHRoaXMucHRyLmdldFByb3h5KCksIGFyZ3VtZW50cyk7
Ci0gIH07Ci0KLSAgU2Vuc29yUHJveHkucHJvdG90eXBlLmNvbmZpZ3VyZVJlYWRpbmdDaGFuZ2VO
b3RpZmljYXRpb25zID0gZnVuY3Rpb24oZW5hYmxlZCkgewotICAgIHZhciBwYXJhbXNfID0gbmV3
IFNlbnNvcl9Db25maWd1cmVSZWFkaW5nQ2hhbmdlTm90aWZpY2F0aW9uc19QYXJhbXMoKTsKLSAg
ICBwYXJhbXNfLmVuYWJsZWQgPSBlbmFibGVkOwotICAgIHZhciBidWlsZGVyID0gbmV3IGNvZGVj
Lk1lc3NhZ2VWMEJ1aWxkZXIoCi0gICAgICAgIGtTZW5zb3JfQ29uZmlndXJlUmVhZGluZ0NoYW5n
ZU5vdGlmaWNhdGlvbnNfTmFtZSwKLSAgICAgICAgY29kZWMuYWxpZ24oU2Vuc29yX0NvbmZpZ3Vy
ZVJlYWRpbmdDaGFuZ2VOb3RpZmljYXRpb25zX1BhcmFtcy5lbmNvZGVkU2l6ZSkpOwotICAgIGJ1
aWxkZXIuZW5jb2RlU3RydWN0KFNlbnNvcl9Db25maWd1cmVSZWFkaW5nQ2hhbmdlTm90aWZpY2F0
aW9uc19QYXJhbXMsIHBhcmFtc18pOwotICAgIHZhciBtZXNzYWdlID0gYnVpbGRlci5maW5pc2go
KTsKLSAgICB0aGlzLnJlY2VpdmVyXy5hY2NlcHQobWVzc2FnZSk7Ci0gIH07Ci0KLSAgZnVuY3Rp
b24gU2Vuc29yU3R1YihkZWxlZ2F0ZSkgewotICAgIHRoaXMuZGVsZWdhdGVfID0gZGVsZWdhdGU7
Ci0gIH0KLSAgU2Vuc29yU3R1Yi5wcm90b3R5cGUuZ2V0RGVmYXVsdENvbmZpZ3VyYXRpb24gPSBm
dW5jdGlvbigpIHsKLSAgICByZXR1cm4gdGhpcy5kZWxlZ2F0ZV8gJiYgdGhpcy5kZWxlZ2F0ZV8u
Z2V0RGVmYXVsdENvbmZpZ3VyYXRpb24gJiYgdGhpcy5kZWxlZ2F0ZV8uZ2V0RGVmYXVsdENvbmZp
Z3VyYXRpb24oKTsKLSAgfQotICBTZW5zb3JTdHViLnByb3RvdHlwZS5hZGRDb25maWd1cmF0aW9u
ID0gZnVuY3Rpb24oY29uZmlndXJhdGlvbikgewotICAgIHJldHVybiB0aGlzLmRlbGVnYXRlXyAm
JiB0aGlzLmRlbGVnYXRlXy5hZGRDb25maWd1cmF0aW9uICYmIHRoaXMuZGVsZWdhdGVfLmFkZENv
bmZpZ3VyYXRpb24oY29uZmlndXJhdGlvbik7Ci0gIH0KLSAgU2Vuc29yU3R1Yi5wcm90b3R5cGUu
cmVtb3ZlQ29uZmlndXJhdGlvbiA9IGZ1bmN0aW9uKGNvbmZpZ3VyYXRpb24pIHsKLSAgICByZXR1
cm4gdGhpcy5kZWxlZ2F0ZV8gJiYgdGhpcy5kZWxlZ2F0ZV8ucmVtb3ZlQ29uZmlndXJhdGlvbiAm
JiB0aGlzLmRlbGVnYXRlXy5yZW1vdmVDb25maWd1cmF0aW9uKGNvbmZpZ3VyYXRpb24pOwotICB9
Ci0gIFNlbnNvclN0dWIucHJvdG90eXBlLnN1c3BlbmQgPSBmdW5jdGlvbigpIHsKLSAgICByZXR1
cm4gdGhpcy5kZWxlZ2F0ZV8gJiYgdGhpcy5kZWxlZ2F0ZV8uc3VzcGVuZCAmJiB0aGlzLmRlbGVn
YXRlXy5zdXNwZW5kKCk7Ci0gIH0KLSAgU2Vuc29yU3R1Yi5wcm90b3R5cGUucmVzdW1lID0gZnVu
Y3Rpb24oKSB7Ci0gICAgcmV0dXJuIHRoaXMuZGVsZWdhdGVfICYmIHRoaXMuZGVsZWdhdGVfLnJl
c3VtZSAmJiB0aGlzLmRlbGVnYXRlXy5yZXN1bWUoKTsKLSAgfQotICBTZW5zb3JTdHViLnByb3Rv
dHlwZS5jb25maWd1cmVSZWFkaW5nQ2hhbmdlTm90aWZpY2F0aW9ucyA9IGZ1bmN0aW9uKGVuYWJs
ZWQpIHsKLSAgICByZXR1cm4gdGhpcy5kZWxlZ2F0ZV8gJiYgdGhpcy5kZWxlZ2F0ZV8uY29uZmln
dXJlUmVhZGluZ0NoYW5nZU5vdGlmaWNhdGlvbnMgJiYgdGhpcy5kZWxlZ2F0ZV8uY29uZmlndXJl
UmVhZGluZ0NoYW5nZU5vdGlmaWNhdGlvbnMoZW5hYmxlZCk7Ci0gIH0KLQotICBTZW5zb3JTdHVi
LnByb3RvdHlwZS5hY2NlcHQgPSBmdW5jdGlvbihtZXNzYWdlKSB7Ci0gICAgdmFyIHJlYWRlciA9
IG5ldyBjb2RlYy5NZXNzYWdlUmVhZGVyKG1lc3NhZ2UpOwotICAgIHN3aXRjaCAocmVhZGVyLm1l
c3NhZ2VOYW1lKSB7Ci0gICAgY2FzZSBrU2Vuc29yX1JlbW92ZUNvbmZpZ3VyYXRpb25fTmFtZToK
LSAgICAgIHZhciBwYXJhbXMgPSByZWFkZXIuZGVjb2RlU3RydWN0KFNlbnNvcl9SZW1vdmVDb25m
aWd1cmF0aW9uX1BhcmFtcyk7Ci0gICAgICB0aGlzLnJlbW92ZUNvbmZpZ3VyYXRpb24ocGFyYW1z
LmNvbmZpZ3VyYXRpb24pOwotICAgICAgcmV0dXJuIHRydWU7Ci0gICAgY2FzZSBrU2Vuc29yX1N1
c3BlbmRfTmFtZToKLSAgICAgIHZhciBwYXJhbXMgPSByZWFkZXIuZGVjb2RlU3RydWN0KFNlbnNv
cl9TdXNwZW5kX1BhcmFtcyk7Ci0gICAgICB0aGlzLnN1c3BlbmQoKTsKLSAgICAgIHJldHVybiB0
cnVlOwotICAgIGNhc2Uga1NlbnNvcl9SZXN1bWVfTmFtZToKLSAgICAgIHZhciBwYXJhbXMgPSBy
ZWFkZXIuZGVjb2RlU3RydWN0KFNlbnNvcl9SZXN1bWVfUGFyYW1zKTsKLSAgICAgIHRoaXMucmVz
dW1lKCk7Ci0gICAgICByZXR1cm4gdHJ1ZTsKLSAgICBjYXNlIGtTZW5zb3JfQ29uZmlndXJlUmVh
ZGluZ0NoYW5nZU5vdGlmaWNhdGlvbnNfTmFtZToKLSAgICAgIHZhciBwYXJhbXMgPSByZWFkZXIu
ZGVjb2RlU3RydWN0KFNlbnNvcl9Db25maWd1cmVSZWFkaW5nQ2hhbmdlTm90aWZpY2F0aW9uc19Q
YXJhbXMpOwotICAgICAgdGhpcy5jb25maWd1cmVSZWFkaW5nQ2hhbmdlTm90aWZpY2F0aW9ucyhw
YXJhbXMuZW5hYmxlZCk7Ci0gICAgICByZXR1cm4gdHJ1ZTsKLSAgICBkZWZhdWx0OgotICAgICAg
cmV0dXJuIGZhbHNlOwotICAgIH0KLSAgfTsKLQotICBTZW5zb3JTdHViLnByb3RvdHlwZS5hY2Nl
cHRXaXRoUmVzcG9uZGVyID0KLSAgICAgIGZ1bmN0aW9uKG1lc3NhZ2UsIHJlc3BvbmRlcikgewot
ICAgIHZhciByZWFkZXIgPSBuZXcgY29kZWMuTWVzc2FnZVJlYWRlcihtZXNzYWdlKTsKLSAgICBz
d2l0Y2ggKHJlYWRlci5tZXNzYWdlTmFtZSkgewotICAgIGNhc2Uga1NlbnNvcl9HZXREZWZhdWx0
Q29uZmlndXJhdGlvbl9OYW1lOgotICAgICAgdmFyIHBhcmFtcyA9IHJlYWRlci5kZWNvZGVTdHJ1
Y3QoU2Vuc29yX0dldERlZmF1bHRDb25maWd1cmF0aW9uX1BhcmFtcyk7Ci0gICAgICB0aGlzLmdl
dERlZmF1bHRDb25maWd1cmF0aW9uKCkudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgICAg
ICB2YXIgcmVzcG9uc2VQYXJhbXMgPQotICAgICAgICAgICAgbmV3IFNlbnNvcl9HZXREZWZhdWx0
Q29uZmlndXJhdGlvbl9SZXNwb25zZVBhcmFtcygpOwotICAgICAgICByZXNwb25zZVBhcmFtcy5j
b25maWd1cmF0aW9uID0gcmVzcG9uc2UuY29uZmlndXJhdGlvbjsKLSAgICAgICAgdmFyIGJ1aWxk
ZXIgPSBuZXcgY29kZWMuTWVzc2FnZVYxQnVpbGRlcigKLSAgICAgICAgICAgIGtTZW5zb3JfR2V0
RGVmYXVsdENvbmZpZ3VyYXRpb25fTmFtZSwKLSAgICAgICAgICAgIGNvZGVjLmFsaWduKFNlbnNv
cl9HZXREZWZhdWx0Q29uZmlndXJhdGlvbl9SZXNwb25zZVBhcmFtcy5lbmNvZGVkU2l6ZSksCi0g
ICAgICAgICAgICBjb2RlYy5rTWVzc2FnZUlzUmVzcG9uc2UsIHJlYWRlci5yZXF1ZXN0SUQpOwot
ICAgICAgICBidWlsZGVyLmVuY29kZVN0cnVjdChTZW5zb3JfR2V0RGVmYXVsdENvbmZpZ3VyYXRp
b25fUmVzcG9uc2VQYXJhbXMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNl
UGFyYW1zKTsKLSAgICAgICAgdmFyIG1lc3NhZ2UgPSBidWlsZGVyLmZpbmlzaCgpOwotICAgICAg
ICByZXNwb25kZXIuYWNjZXB0KG1lc3NhZ2UpOwotICAgICAgfSk7Ci0gICAgICByZXR1cm4gdHJ1
ZTsKLSAgICBjYXNlIGtTZW5zb3JfQWRkQ29uZmlndXJhdGlvbl9OYW1lOgotICAgICAgdmFyIHBh
cmFtcyA9IHJlYWRlci5kZWNvZGVTdHJ1Y3QoU2Vuc29yX0FkZENvbmZpZ3VyYXRpb25fUGFyYW1z
KTsKLSAgICAgIHRoaXMuYWRkQ29uZmlndXJhdGlvbihwYXJhbXMuY29uZmlndXJhdGlvbikudGhl
bihmdW5jdGlvbihyZXNwb25zZSkgewotICAgICAgICB2YXIgcmVzcG9uc2VQYXJhbXMgPQotICAg
ICAgICAgICAgbmV3IFNlbnNvcl9BZGRDb25maWd1cmF0aW9uX1Jlc3BvbnNlUGFyYW1zKCk7Ci0g
ICAgICAgIHJlc3BvbnNlUGFyYW1zLnN1Y2Nlc3MgPSByZXNwb25zZS5zdWNjZXNzOwotICAgICAg
ICB2YXIgYnVpbGRlciA9IG5ldyBjb2RlYy5NZXNzYWdlVjFCdWlsZGVyKAotICAgICAgICAgICAg
a1NlbnNvcl9BZGRDb25maWd1cmF0aW9uX05hbWUsCi0gICAgICAgICAgICBjb2RlYy5hbGlnbihT
ZW5zb3JfQWRkQ29uZmlndXJhdGlvbl9SZXNwb25zZVBhcmFtcy5lbmNvZGVkU2l6ZSksCi0gICAg
ICAgICAgICBjb2RlYy5rTWVzc2FnZUlzUmVzcG9uc2UsIHJlYWRlci5yZXF1ZXN0SUQpOwotICAg
ICAgICBidWlsZGVyLmVuY29kZVN0cnVjdChTZW5zb3JfQWRkQ29uZmlndXJhdGlvbl9SZXNwb25z
ZVBhcmFtcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2VQYXJhbXMpOwot
ICAgICAgICB2YXIgbWVzc2FnZSA9IGJ1aWxkZXIuZmluaXNoKCk7Ci0gICAgICAgIHJlc3BvbmRl
ci5hY2NlcHQobWVzc2FnZSk7Ci0gICAgICB9KTsKLSAgICAgIHJldHVybiB0cnVlOwotICAgIGRl
ZmF1bHQ6Ci0gICAgICByZXR1cm4gZmFsc2U7Ci0gICAgfQotICB9OwotCi0gIGZ1bmN0aW9uIHZh
bGlkYXRlU2Vuc29yUmVxdWVzdChtZXNzYWdlVmFsaWRhdG9yKSB7Ci0gICAgdmFyIG1lc3NhZ2Ug
PSBtZXNzYWdlVmFsaWRhdG9yLm1lc3NhZ2U7Ci0gICAgdmFyIHBhcmFtc0NsYXNzID0gbnVsbDsK
LSAgICBzd2l0Y2ggKG1lc3NhZ2UuZ2V0TmFtZSgpKSB7Ci0gICAgICBjYXNlIGtTZW5zb3JfR2V0
RGVmYXVsdENvbmZpZ3VyYXRpb25fTmFtZToKLSAgICAgICAgaWYgKG1lc3NhZ2UuZXhwZWN0c1Jl
c3BvbnNlKCkpCi0gICAgICAgICAgcGFyYW1zQ2xhc3MgPSBTZW5zb3JfR2V0RGVmYXVsdENvbmZp
Z3VyYXRpb25fUGFyYW1zOwotICAgICAgYnJlYWs7Ci0gICAgICBjYXNlIGtTZW5zb3JfQWRkQ29u
ZmlndXJhdGlvbl9OYW1lOgotICAgICAgICBpZiAobWVzc2FnZS5leHBlY3RzUmVzcG9uc2UoKSkK
LSAgICAgICAgICBwYXJhbXNDbGFzcyA9IFNlbnNvcl9BZGRDb25maWd1cmF0aW9uX1BhcmFtczsK
LSAgICAgIGJyZWFrOwotICAgICAgY2FzZSBrU2Vuc29yX1JlbW92ZUNvbmZpZ3VyYXRpb25fTmFt
ZToKLSAgICAgICAgaWYgKCFtZXNzYWdlLmV4cGVjdHNSZXNwb25zZSgpICYmICFtZXNzYWdlLmlz
UmVzcG9uc2UoKSkKLSAgICAgICAgICBwYXJhbXNDbGFzcyA9IFNlbnNvcl9SZW1vdmVDb25maWd1
cmF0aW9uX1BhcmFtczsKLSAgICAgIGJyZWFrOwotICAgICAgY2FzZSBrU2Vuc29yX1N1c3BlbmRf
TmFtZToKLSAgICAgICAgaWYgKCFtZXNzYWdlLmV4cGVjdHNSZXNwb25zZSgpICYmICFtZXNzYWdl
LmlzUmVzcG9uc2UoKSkKLSAgICAgICAgICBwYXJhbXNDbGFzcyA9IFNlbnNvcl9TdXNwZW5kX1Bh
cmFtczsKLSAgICAgIGJyZWFrOwotICAgICAgY2FzZSBrU2Vuc29yX1Jlc3VtZV9OYW1lOgotICAg
ICAgICBpZiAoIW1lc3NhZ2UuZXhwZWN0c1Jlc3BvbnNlKCkgJiYgIW1lc3NhZ2UuaXNSZXNwb25z
ZSgpKQotICAgICAgICAgIHBhcmFtc0NsYXNzID0gU2Vuc29yX1Jlc3VtZV9QYXJhbXM7Ci0gICAg
ICBicmVhazsKLSAgICAgIGNhc2Uga1NlbnNvcl9Db25maWd1cmVSZWFkaW5nQ2hhbmdlTm90aWZp
Y2F0aW9uc19OYW1lOgotICAgICAgICBpZiAoIW1lc3NhZ2UuZXhwZWN0c1Jlc3BvbnNlKCkgJiYg
IW1lc3NhZ2UuaXNSZXNwb25zZSgpKQotICAgICAgICAgIHBhcmFtc0NsYXNzID0gU2Vuc29yX0Nv
bmZpZ3VyZVJlYWRpbmdDaGFuZ2VOb3RpZmljYXRpb25zX1BhcmFtczsKLSAgICAgIGJyZWFrOwot
ICAgIH0KLSAgICBpZiAocGFyYW1zQ2xhc3MgPT09IG51bGwpCi0gICAgICByZXR1cm4gdmFsaWRh
dG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwotICAgIHJldHVybiBwYXJhbXNDbGFzcy52YWxpZGF0
ZShtZXNzYWdlVmFsaWRhdG9yLCBtZXNzYWdlVmFsaWRhdG9yLm1lc3NhZ2UuZ2V0SGVhZGVyTnVt
Qnl0ZXMoKSk7Ci0gIH0KLQotICBmdW5jdGlvbiB2YWxpZGF0ZVNlbnNvclJlc3BvbnNlKG1lc3Nh
Z2VWYWxpZGF0b3IpIHsKLSAgIHZhciBtZXNzYWdlID0gbWVzc2FnZVZhbGlkYXRvci5tZXNzYWdl
OwotICAgdmFyIHBhcmFtc0NsYXNzID0gbnVsbDsKLSAgIHN3aXRjaCAobWVzc2FnZS5nZXROYW1l
KCkpIHsKLSAgICAgIGNhc2Uga1NlbnNvcl9HZXREZWZhdWx0Q29uZmlndXJhdGlvbl9OYW1lOgot
ICAgICAgICBpZiAobWVzc2FnZS5pc1Jlc3BvbnNlKCkpCi0gICAgICAgICAgcGFyYW1zQ2xhc3Mg
PSBTZW5zb3JfR2V0RGVmYXVsdENvbmZpZ3VyYXRpb25fUmVzcG9uc2VQYXJhbXM7Ci0gICAgICAg
IGJyZWFrOwotICAgICAgY2FzZSBrU2Vuc29yX0FkZENvbmZpZ3VyYXRpb25fTmFtZToKLSAgICAg
ICAgaWYgKG1lc3NhZ2UuaXNSZXNwb25zZSgpKQotICAgICAgICAgIHBhcmFtc0NsYXNzID0gU2Vu
c29yX0FkZENvbmZpZ3VyYXRpb25fUmVzcG9uc2VQYXJhbXM7Ci0gICAgICAgIGJyZWFrOwotICAg
IH0KLSAgICBpZiAocGFyYW1zQ2xhc3MgPT09IG51bGwpCi0gICAgICByZXR1cm4gdmFsaWRhdG9y
LnZhbGlkYXRpb25FcnJvci5OT05FOwotICAgIHJldHVybiBwYXJhbXNDbGFzcy52YWxpZGF0ZSht
ZXNzYWdlVmFsaWRhdG9yLCBtZXNzYWdlVmFsaWRhdG9yLm1lc3NhZ2UuZ2V0SGVhZGVyTnVtQnl0
ZXMoKSk7Ci0gIH0KLQotICB2YXIgU2Vuc29yID0gewotICAgIG5hbWU6ICdkZXZpY2UubW9qb20u
U2Vuc29yJywKLSAgICBrVmVyc2lvbjogMCwKLSAgICBwdHJDbGFzczogU2Vuc29yUHRyLAotICAg
IHByb3h5Q2xhc3M6IFNlbnNvclByb3h5LAotICAgIHN0dWJDbGFzczogU2Vuc29yU3R1YiwKLSAg
ICB2YWxpZGF0ZVJlcXVlc3Q6IHZhbGlkYXRlU2Vuc29yUmVxdWVzdCwKLSAgICB2YWxpZGF0ZVJl
c3BvbnNlOiB2YWxpZGF0ZVNlbnNvclJlc3BvbnNlLAotICB9OwotICBTZW5zb3JTdHViLnByb3Rv
dHlwZS52YWxpZGF0b3IgPSB2YWxpZGF0ZVNlbnNvclJlcXVlc3Q7Ci0gIFNlbnNvclByb3h5LnBy
b3RvdHlwZS52YWxpZGF0b3IgPSB2YWxpZGF0ZVNlbnNvclJlc3BvbnNlOwotICB2YXIga1NlbnNv
ckNsaWVudF9SYWlzZUVycm9yX05hbWUgPSAwOwotICB2YXIga1NlbnNvckNsaWVudF9TZW5zb3JS
ZWFkaW5nQ2hhbmdlZF9OYW1lID0gMTsKLQotICBmdW5jdGlvbiBTZW5zb3JDbGllbnRQdHIoaGFu
ZGxlT3JQdHJJbmZvKSB7Ci0gICAgdGhpcy5wdHIgPSBuZXcgYmluZGluZ3MuSW50ZXJmYWNlUHRy
Q29udHJvbGxlcihTZW5zb3JDbGllbnQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBoYW5kbGVPclB0ckluZm8pOwotICB9Ci0KLSAgZnVuY3Rpb24g
U2Vuc29yQ2xpZW50QXNzb2NpYXRlZFB0cihhc3NvY2lhdGVkSW50ZXJmYWNlUHRySW5mbykgewot
ICAgIHRoaXMucHRyID0gbmV3IGFzc29jaWF0ZWRCaW5kaW5ncy5Bc3NvY2lhdGVkSW50ZXJmYWNl
UHRyQ29udHJvbGxlcigKLSAgICAgICAgU2Vuc29yQ2xpZW50LCBhc3NvY2lhdGVkSW50ZXJmYWNl
UHRySW5mbyk7Ci0gIH0KLQotICBTZW5zb3JDbGllbnRBc3NvY2lhdGVkUHRyLnByb3RvdHlwZSA9
Ci0gICAgICBPYmplY3QuY3JlYXRlKFNlbnNvckNsaWVudFB0ci5wcm90b3R5cGUpOwotICBTZW5z
b3JDbGllbnRBc3NvY2lhdGVkUHRyLnByb3RvdHlwZS5jb25zdHJ1Y3RvciA9Ci0gICAgICBTZW5z
b3JDbGllbnRBc3NvY2lhdGVkUHRyOwotCi0gIGZ1bmN0aW9uIFNlbnNvckNsaWVudFByb3h5KHJl
Y2VpdmVyKSB7Ci0gICAgdGhpcy5yZWNlaXZlcl8gPSByZWNlaXZlcjsKLSAgfQotICBTZW5zb3JD
bGllbnRQdHIucHJvdG90eXBlLnJhaXNlRXJyb3IgPSBmdW5jdGlvbigpIHsKLSAgICByZXR1cm4g
U2Vuc29yQ2xpZW50UHJveHkucHJvdG90eXBlLnJhaXNlRXJyb3IKLSAgICAgICAgLmFwcGx5KHRo
aXMucHRyLmdldFByb3h5KCksIGFyZ3VtZW50cyk7Ci0gIH07Ci0KLSAgU2Vuc29yQ2xpZW50UHJv
eHkucHJvdG90eXBlLnJhaXNlRXJyb3IgPSBmdW5jdGlvbigpIHsKLSAgICB2YXIgcGFyYW1zXyA9
IG5ldyBTZW5zb3JDbGllbnRfUmFpc2VFcnJvcl9QYXJhbXMoKTsKLSAgICB2YXIgYnVpbGRlciA9
IG5ldyBjb2RlYy5NZXNzYWdlVjBCdWlsZGVyKAotICAgICAgICBrU2Vuc29yQ2xpZW50X1JhaXNl
RXJyb3JfTmFtZSwKLSAgICAgICAgY29kZWMuYWxpZ24oU2Vuc29yQ2xpZW50X1JhaXNlRXJyb3Jf
UGFyYW1zLmVuY29kZWRTaXplKSk7Ci0gICAgYnVpbGRlci5lbmNvZGVTdHJ1Y3QoU2Vuc29yQ2xp
ZW50X1JhaXNlRXJyb3JfUGFyYW1zLCBwYXJhbXNfKTsKLSAgICB2YXIgbWVzc2FnZSA9IGJ1aWxk
ZXIuZmluaXNoKCk7Ci0gICAgdGhpcy5yZWNlaXZlcl8uYWNjZXB0KG1lc3NhZ2UpOwotICB9Owot
ICBTZW5zb3JDbGllbnRQdHIucHJvdG90eXBlLnNlbnNvclJlYWRpbmdDaGFuZ2VkID0gZnVuY3Rp
b24oKSB7Ci0gICAgcmV0dXJuIFNlbnNvckNsaWVudFByb3h5LnByb3RvdHlwZS5zZW5zb3JSZWFk
aW5nQ2hhbmdlZAotICAgICAgICAuYXBwbHkodGhpcy5wdHIuZ2V0UHJveHkoKSwgYXJndW1lbnRz
KTsKLSAgfTsKLQotICBTZW5zb3JDbGllbnRQcm94eS5wcm90b3R5cGUuc2Vuc29yUmVhZGluZ0No
YW5nZWQgPSBmdW5jdGlvbigpIHsKLSAgICB2YXIgcGFyYW1zXyA9IG5ldyBTZW5zb3JDbGllbnRf
U2Vuc29yUmVhZGluZ0NoYW5nZWRfUGFyYW1zKCk7Ci0gICAgdmFyIGJ1aWxkZXIgPSBuZXcgY29k
ZWMuTWVzc2FnZVYwQnVpbGRlcigKLSAgICAgICAga1NlbnNvckNsaWVudF9TZW5zb3JSZWFkaW5n
Q2hhbmdlZF9OYW1lLAotICAgICAgICBjb2RlYy5hbGlnbihTZW5zb3JDbGllbnRfU2Vuc29yUmVh
ZGluZ0NoYW5nZWRfUGFyYW1zLmVuY29kZWRTaXplKSk7Ci0gICAgYnVpbGRlci5lbmNvZGVTdHJ1
Y3QoU2Vuc29yQ2xpZW50X1NlbnNvclJlYWRpbmdDaGFuZ2VkX1BhcmFtcywgcGFyYW1zXyk7Ci0g
ICAgdmFyIG1lc3NhZ2UgPSBidWlsZGVyLmZpbmlzaCgpOwotICAgIHRoaXMucmVjZWl2ZXJfLmFj
Y2VwdChtZXNzYWdlKTsKLSAgfTsKLQotICBmdW5jdGlvbiBTZW5zb3JDbGllbnRTdHViKGRlbGVn
YXRlKSB7Ci0gICAgdGhpcy5kZWxlZ2F0ZV8gPSBkZWxlZ2F0ZTsKLSAgfQotICBTZW5zb3JDbGll
bnRTdHViLnByb3RvdHlwZS5yYWlzZUVycm9yID0gZnVuY3Rpb24oKSB7Ci0gICAgcmV0dXJuIHRo
aXMuZGVsZWdhdGVfICYmIHRoaXMuZGVsZWdhdGVfLnJhaXNlRXJyb3IgJiYgdGhpcy5kZWxlZ2F0
ZV8ucmFpc2VFcnJvcigpOwotICB9Ci0gIFNlbnNvckNsaWVudFN0dWIucHJvdG90eXBlLnNlbnNv
clJlYWRpbmdDaGFuZ2VkID0gZnVuY3Rpb24oKSB7Ci0gICAgcmV0dXJuIHRoaXMuZGVsZWdhdGVf
ICYmIHRoaXMuZGVsZWdhdGVfLnNlbnNvclJlYWRpbmdDaGFuZ2VkICYmIHRoaXMuZGVsZWdhdGVf
LnNlbnNvclJlYWRpbmdDaGFuZ2VkKCk7Ci0gIH0KLQotICBTZW5zb3JDbGllbnRTdHViLnByb3Rv
dHlwZS5hY2NlcHQgPSBmdW5jdGlvbihtZXNzYWdlKSB7Ci0gICAgdmFyIHJlYWRlciA9IG5ldyBj
b2RlYy5NZXNzYWdlUmVhZGVyKG1lc3NhZ2UpOwotICAgIHN3aXRjaCAocmVhZGVyLm1lc3NhZ2VO
YW1lKSB7Ci0gICAgY2FzZSBrU2Vuc29yQ2xpZW50X1JhaXNlRXJyb3JfTmFtZToKLSAgICAgIHZh
ciBwYXJhbXMgPSByZWFkZXIuZGVjb2RlU3RydWN0KFNlbnNvckNsaWVudF9SYWlzZUVycm9yX1Bh
cmFtcyk7Ci0gICAgICB0aGlzLnJhaXNlRXJyb3IoKTsKLSAgICAgIHJldHVybiB0cnVlOwotICAg
IGNhc2Uga1NlbnNvckNsaWVudF9TZW5zb3JSZWFkaW5nQ2hhbmdlZF9OYW1lOgotICAgICAgdmFy
IHBhcmFtcyA9IHJlYWRlci5kZWNvZGVTdHJ1Y3QoU2Vuc29yQ2xpZW50X1NlbnNvclJlYWRpbmdD
aGFuZ2VkX1BhcmFtcyk7Ci0gICAgICB0aGlzLnNlbnNvclJlYWRpbmdDaGFuZ2VkKCk7Ci0gICAg
ICByZXR1cm4gdHJ1ZTsKLSAgICBkZWZhdWx0OgotICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0K
LSAgfTsKLQotICBTZW5zb3JDbGllbnRTdHViLnByb3RvdHlwZS5hY2NlcHRXaXRoUmVzcG9uZGVy
ID0KLSAgICAgIGZ1bmN0aW9uKG1lc3NhZ2UsIHJlc3BvbmRlcikgewotICAgIHZhciByZWFkZXIg
PSBuZXcgY29kZWMuTWVzc2FnZVJlYWRlcihtZXNzYWdlKTsKLSAgICBzd2l0Y2ggKHJlYWRlci5t
ZXNzYWdlTmFtZSkgewotICAgIGRlZmF1bHQ6Ci0gICAgICByZXR1cm4gZmFsc2U7Ci0gICAgfQot
ICB9OwotCi0gIGZ1bmN0aW9uIHZhbGlkYXRlU2Vuc29yQ2xpZW50UmVxdWVzdChtZXNzYWdlVmFs
aWRhdG9yKSB7Ci0gICAgdmFyIG1lc3NhZ2UgPSBtZXNzYWdlVmFsaWRhdG9yLm1lc3NhZ2U7Ci0g
ICAgdmFyIHBhcmFtc0NsYXNzID0gbnVsbDsKLSAgICBzd2l0Y2ggKG1lc3NhZ2UuZ2V0TmFtZSgp
KSB7Ci0gICAgICBjYXNlIGtTZW5zb3JDbGllbnRfUmFpc2VFcnJvcl9OYW1lOgotICAgICAgICBp
ZiAoIW1lc3NhZ2UuZXhwZWN0c1Jlc3BvbnNlKCkgJiYgIW1lc3NhZ2UuaXNSZXNwb25zZSgpKQot
ICAgICAgICAgIHBhcmFtc0NsYXNzID0gU2Vuc29yQ2xpZW50X1JhaXNlRXJyb3JfUGFyYW1zOwot
ICAgICAgYnJlYWs7Ci0gICAgICBjYXNlIGtTZW5zb3JDbGllbnRfU2Vuc29yUmVhZGluZ0NoYW5n
ZWRfTmFtZToKLSAgICAgICAgaWYgKCFtZXNzYWdlLmV4cGVjdHNSZXNwb25zZSgpICYmICFtZXNz
YWdlLmlzUmVzcG9uc2UoKSkKLSAgICAgICAgICBwYXJhbXNDbGFzcyA9IFNlbnNvckNsaWVudF9T
ZW5zb3JSZWFkaW5nQ2hhbmdlZF9QYXJhbXM7Ci0gICAgICBicmVhazsKLSAgICB9Ci0gICAgaWYg
KHBhcmFtc0NsYXNzID09PSBudWxsKQotICAgICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9u
RXJyb3IuTk9ORTsKLSAgICByZXR1cm4gcGFyYW1zQ2xhc3MudmFsaWRhdGUobWVzc2FnZVZhbGlk
YXRvciwgbWVzc2FnZVZhbGlkYXRvci5tZXNzYWdlLmdldEhlYWRlck51bUJ5dGVzKCkpOwotICB9
Ci0KLSAgZnVuY3Rpb24gdmFsaWRhdGVTZW5zb3JDbGllbnRSZXNwb25zZShtZXNzYWdlVmFsaWRh
dG9yKSB7Ci0gICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAgfQot
Ci0gIHZhciBTZW5zb3JDbGllbnQgPSB7Ci0gICAgbmFtZTogJ2RldmljZS5tb2pvbS5TZW5zb3JD
bGllbnQnLAotICAgIGtWZXJzaW9uOiAwLAotICAgIHB0ckNsYXNzOiBTZW5zb3JDbGllbnRQdHIs
Ci0gICAgcHJveHlDbGFzczogU2Vuc29yQ2xpZW50UHJveHksCi0gICAgc3R1YkNsYXNzOiBTZW5z
b3JDbGllbnRTdHViLAotICAgIHZhbGlkYXRlUmVxdWVzdDogdmFsaWRhdGVTZW5zb3JDbGllbnRS
ZXF1ZXN0LAotICAgIHZhbGlkYXRlUmVzcG9uc2U6IG51bGwsCi0gIH07Ci0gIFNlbnNvckNsaWVu
dFN0dWIucHJvdG90eXBlLnZhbGlkYXRvciA9IHZhbGlkYXRlU2Vuc29yQ2xpZW50UmVxdWVzdDsK
LSAgU2Vuc29yQ2xpZW50UHJveHkucHJvdG90eXBlLnZhbGlkYXRvciA9IG51bGw7Ci0gIGV4cG9y
dHMuU2Vuc29yVHlwZSA9IFNlbnNvclR5cGU7Ci0gIGV4cG9ydHMuUmVwb3J0aW5nTW9kZSA9IFJl
cG9ydGluZ01vZGU7Ci0gIGV4cG9ydHMuU2Vuc29yQ29uZmlndXJhdGlvbiA9IFNlbnNvckNvbmZp
Z3VyYXRpb247Ci0gIGV4cG9ydHMuU2Vuc29yID0gU2Vuc29yOwotICBleHBvcnRzLlNlbnNvclB0
ciA9IFNlbnNvclB0cjsKLSAgZXhwb3J0cy5TZW5zb3JBc3NvY2lhdGVkUHRyID0gU2Vuc29yQXNz
b2NpYXRlZFB0cjsKLSAgZXhwb3J0cy5TZW5zb3JDbGllbnQgPSBTZW5zb3JDbGllbnQ7Ci0gIGV4
cG9ydHMuU2Vuc29yQ2xpZW50UHRyID0gU2Vuc29yQ2xpZW50UHRyOwotICBleHBvcnRzLlNlbnNv
ckNsaWVudEFzc29jaWF0ZWRQdHIgPSBTZW5zb3JDbGllbnRBc3NvY2lhdGVkUHRyOwotfSkoKTsK
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS9zZW5zb3JfcHJv
dmlkZXIubW9qb20uanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy9jaHJvbWl1bS9zZW5zb3JfcHJvdmlkZXIubW9qb20uanMKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQ4MmIxNWEzMDRhLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1
bS9zZW5zb3JfcHJvdmlkZXIubW9qb20uanMKKysrIC9kZXYvbnVsbApAQCAtMSw0MjkgKzAsMCBA
QAotLy8gQ29weXJpZ2h0IDIwMTQgVGhlIENocm9taXVtIEF1dGhvcnMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCi0vLyBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1z
dHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCi0vLyBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgot
Ci0ndXNlIHN0cmljdCc7Ci0KLShmdW5jdGlvbigpIHsKLSAgdmFyIG1vam9tSWQgPSAnc2Vydmlj
ZXMvZGV2aWNlL3B1YmxpYy9tb2pvbS9zZW5zb3JfcHJvdmlkZXIubW9qb20nOwotICBpZiAobW9q
by5pbnRlcm5hbC5pc01vam9tTG9hZGVkKG1vam9tSWQpKSB7Ci0gICAgY29uc29sZS53YXJuKCdU
aGUgZm9sbG93aW5nIG1vam9tIGlzIGxvYWRlZCBtdWx0aXBsZSB0aW1lczogJyArIG1vam9tSWQp
OwotICAgIHJldHVybjsKLSAgfQotICBtb2pvLmludGVybmFsLm1hcmtNb2pvbUxvYWRlZChtb2pv
bUlkKTsKLSAgdmFyIGJpbmRpbmdzID0gbW9qbzsKLSAgdmFyIGFzc29jaWF0ZWRCaW5kaW5ncyA9
IG1vam87Ci0gIHZhciBjb2RlYyA9IG1vam8uaW50ZXJuYWw7Ci0gIHZhciB2YWxpZGF0b3IgPSBt
b2pvLmludGVybmFsOwotCi0gIHZhciBleHBvcnRzID0gbW9qby5pbnRlcm5hbC5leHBvc2VOYW1l
c3BhY2UoJ2RldmljZS5tb2pvbScpOwotICB2YXIgc2Vuc29yJCA9Ci0gICAgICBtb2pvLmludGVy
bmFsLmV4cG9zZU5hbWVzcGFjZSgnZGV2aWNlLm1vam9tJyk7Ci0gIGlmIChtb2pvLmNvbmZpZy5h
dXRvTG9hZE1vam9tRGVwcykgewotICAgIG1vam8uaW50ZXJuYWwubG9hZE1vam9tSWZOZWNlc3Nh
cnkoCi0gICAgICAgICdzZXJ2aWNlcy9kZXZpY2UvcHVibGljL21vam9tL3NlbnNvci5tb2pvbScs
ICdzZW5zb3IubW9qb20uanMnKTsKLSAgfQotCi0KLSAgdmFyIFNlbnNvckNyZWF0aW9uUmVzdWx0
ID0ge307Ci0gIFNlbnNvckNyZWF0aW9uUmVzdWx0LlNVQ0NFU1MgPSAwOwotICBTZW5zb3JDcmVh
dGlvblJlc3VsdC5FUlJPUl9OT1RfQVZBSUxBQkxFID0gU2Vuc29yQ3JlYXRpb25SZXN1bHQuU1VD
Q0VTUyArIDE7Ci0gIFNlbnNvckNyZWF0aW9uUmVzdWx0LkVSUk9SX05PVF9BTExPV0VEID0gU2Vu
c29yQ3JlYXRpb25SZXN1bHQuRVJST1JfTk9UX0FWQUlMQUJMRSArIDE7Ci0KLSAgU2Vuc29yQ3Jl
YXRpb25SZXN1bHQuaXNLbm93bkVudW1WYWx1ZSA9IGZ1bmN0aW9uKHZhbHVlKSB7Ci0gICAgc3dp
dGNoICh2YWx1ZSkgewotICAgIGNhc2UgMDoKLSAgICBjYXNlIDE6Ci0gICAgY2FzZSAyOgotICAg
ICAgcmV0dXJuIHRydWU7Ci0gICAgfQotICAgIHJldHVybiBmYWxzZTsKLSAgfTsKLQotICBTZW5z
b3JDcmVhdGlvblJlc3VsdC52YWxpZGF0ZSA9IGZ1bmN0aW9uKGVudW1WYWx1ZSkgewotICAgIHZh
ciBpc0V4dGVuc2libGUgPSBmYWxzZTsKLSAgICBpZiAoaXNFeHRlbnNpYmxlIHx8IHRoaXMuaXNL
bm93bkVudW1WYWx1ZShlbnVtVmFsdWUpKQotICAgICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0
aW9uRXJyb3IuTk9ORTsKLQotICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLlVO
S05PV05fRU5VTV9WQUxVRTsKLSAgfTsKLQotICBmdW5jdGlvbiBTZW5zb3JJbml0UGFyYW1zKHZh
bHVlcykgewotICAgIHRoaXMuaW5pdERlZmF1bHRzXygpOwotICAgIHRoaXMuaW5pdEZpZWxkc18o
dmFsdWVzKTsKLSAgfQotCi0KLSAgU2Vuc29ySW5pdFBhcmFtcy5rUmVhZEJ1ZmZlclNpemVGb3JU
ZXN0cyA9IDQ4OwotICBTZW5zb3JJbml0UGFyYW1zLnByb3RvdHlwZS5pbml0RGVmYXVsdHNfID0g
ZnVuY3Rpb24oKSB7Ci0gICAgdGhpcy5zZW5zb3IgPSBuZXcgc2Vuc29yJC5TZW5zb3JQdHIoKTsK
LSAgICB0aGlzLmNsaWVudFJlY2VpdmVyID0gbmV3IGJpbmRpbmdzLkludGVyZmFjZVJlcXVlc3Qo
KTsKLSAgICB0aGlzLm1lbW9yeSA9IG51bGw7Ci0gICAgdGhpcy5idWZmZXJPZmZzZXQgPSAwOwot
ICAgIHRoaXMubW9kZSA9IDA7Ci0gICAgdGhpcy5kZWZhdWx0Q29uZmlndXJhdGlvbiA9IG51bGw7
Ci0gICAgdGhpcy5tYXhpbXVtRnJlcXVlbmN5ID0gMDsKLSAgICB0aGlzLm1pbmltdW1GcmVxdWVu
Y3kgPSAwOwotICB9OwotICBTZW5zb3JJbml0UGFyYW1zLnByb3RvdHlwZS5pbml0RmllbGRzXyA9
IGZ1bmN0aW9uKGZpZWxkcykgewotICAgIGZvcih2YXIgZmllbGQgaW4gZmllbGRzKSB7Ci0gICAg
ICAgIGlmICh0aGlzLmhhc093blByb3BlcnR5KGZpZWxkKSkKLSAgICAgICAgICB0aGlzW2ZpZWxk
XSA9IGZpZWxkc1tmaWVsZF07Ci0gICAgfQotICB9OwotCi0gIFNlbnNvckluaXRQYXJhbXMudmFs
aWRhdGUgPSBmdW5jdGlvbihtZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsKLSAgICB2YXIgZXJy
OwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RIZWFkZXIob2Zmc2V0
LCBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZh
bGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgdmFyIGtWZXJz
aW9uU2l6ZXMgPSBbCi0gICAgICB7dmVyc2lvbjogMCwgbnVtQnl0ZXM6IDY0fQotICAgIF07Ci0g
ICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFZlcnNpb24ob2Zmc2V0LCBr
VmVyc2lvblNpemVzKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9y
Lk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotICAgIC8vIHZhbGlkYXRlIFNlbnNvcklu
aXRQYXJhbXMuc2Vuc29yCi0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZUludGVy
ZmFjZShvZmZzZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDAsIGZhbHNlKTsKLSAgICBp
ZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVy
biBlcnI7Ci0KLQotICAgIC8vIHZhbGlkYXRlIFNlbnNvckluaXRQYXJhbXMuY2xpZW50UmVjZWl2
ZXIKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlSW50ZXJmYWNlUmVxdWVzdChv
ZmZzZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDgsIGZhbHNlKQotICAgIGlmIChlcnIg
IT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsK
LQotCi0gICAgLy8gdmFsaWRhdGUgU2Vuc29ySW5pdFBhcmFtcy5tZW1vcnkKLSAgICBlcnIgPSBt
ZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlSGFuZGxlKG9mZnNldCArIGNvZGVjLmtTdHJ1Y3RIZWFk
ZXJTaXplICsgMTIsIGZhbHNlKQotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9u
RXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0KLSAgICAvLyB2YWxpZGF0ZSBT
ZW5zb3JJbml0UGFyYW1zLm1vZGUKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRl
RW51bShvZmZzZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDI0LCBzZW5zb3IkLlJlcG9y
dGluZ01vZGUpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9O
RSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0gICAgLy8gdmFsaWRhdGUgU2Vuc29ySW5pdFBh
cmFtcy5kZWZhdWx0Q29uZmlndXJhdGlvbgotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFs
aWRhdGVTdHJ1Y3RQb2ludGVyKG9mZnNldCArIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgMzIs
IHNlbnNvciQuU2Vuc29yQ29uZmlndXJhdGlvbiwgZmFsc2UpOwotICAgIGlmIChlcnIgIT09IHZh
bGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0K
LSAgICByZXR1cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIFNl
bnNvckluaXRQYXJhbXMuZW5jb2RlZFNpemUgPSBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDU2
OwotCi0gIFNlbnNvckluaXRQYXJhbXMuZGVjb2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAg
IHZhciBwYWNrZWQ7Ci0gICAgdmFyIHZhbCA9IG5ldyBTZW5zb3JJbml0UGFyYW1zKCk7Ci0gICAg
dmFyIG51bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YXIgdmVyc2lv
biA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhbC5zZW5zb3IgPSBkZWNvZGVyLmRlY29k
ZVN0cnVjdChuZXcgY29kZWMuSW50ZXJmYWNlKHNlbnNvciQuU2Vuc29yUHRyKSk7Ci0gICAgdmFs
LmNsaWVudFJlY2VpdmVyID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoY29kZWMuSW50ZXJmYWNlUmVx
dWVzdCk7Ci0gICAgdmFsLm1lbW9yeSA9IGRlY29kZXIuZGVjb2RlU3RydWN0KGNvZGVjLkhhbmRs
ZSk7Ci0gICAgdmFsLmJ1ZmZlck9mZnNldCA9IGRlY29kZXIuZGVjb2RlU3RydWN0KGNvZGVjLlVp
bnQ2NCk7Ci0gICAgdmFsLm1vZGUgPSBkZWNvZGVyLmRlY29kZVN0cnVjdChjb2RlYy5JbnQzMik7
Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVy
LnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIHZhbC5kZWZhdWx0Q29uZmlndXJh
dGlvbiA9IGRlY29kZXIuZGVjb2RlU3RydWN0UG9pbnRlcihzZW5zb3IkLlNlbnNvckNvbmZpZ3Vy
YXRpb24pOwotICAgIHZhbC5tYXhpbXVtRnJlcXVlbmN5ID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3Qo
Y29kZWMuRG91YmxlKTsKLSAgICB2YWwubWluaW11bUZyZXF1ZW5jeSA9IGRlY29kZXIuZGVjb2Rl
U3RydWN0KGNvZGVjLkRvdWJsZSk7Ci0gICAgcmV0dXJuIHZhbDsKLSAgfTsKLQotICBTZW5zb3JJ
bml0UGFyYW1zLmVuY29kZSA9IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgIHZhciBwYWNr
ZWQ7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMihTZW5zb3JJbml0UGFyYW1zLmVuY29kZWRTaXpl
KTsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKDApOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0
KG5ldyBjb2RlYy5JbnRlcmZhY2Uoc2Vuc29yJC5TZW5zb3JQdHIpLCB2YWwuc2Vuc29yKTsKLSAg
ICBlbmNvZGVyLmVuY29kZVN0cnVjdChjb2RlYy5JbnRlcmZhY2VSZXF1ZXN0LCB2YWwuY2xpZW50
UmVjZWl2ZXIpOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNvZGVjLkhhbmRsZSwgdmFsLm1l
bW9yeSk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3QoY29kZWMuVWludDY0LCB2YWwuYnVmZmVy
T2Zmc2V0KTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdChjb2RlYy5JbnQzMiwgdmFsLm1vZGUp
OwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rl
ci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVj
dFBvaW50ZXIoc2Vuc29yJC5TZW5zb3JDb25maWd1cmF0aW9uLCB2YWwuZGVmYXVsdENvbmZpZ3Vy
YXRpb24pOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNvZGVjLkRvdWJsZSwgdmFsLm1heGlt
dW1GcmVxdWVuY3kpOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNvZGVjLkRvdWJsZSwgdmFs
Lm1pbmltdW1GcmVxdWVuY3kpOwotICB9OwotICBmdW5jdGlvbiBTZW5zb3JQcm92aWRlcl9HZXRT
ZW5zb3JfUGFyYW1zKHZhbHVlcykgewotICAgIHRoaXMuaW5pdERlZmF1bHRzXygpOwotICAgIHRo
aXMuaW5pdEZpZWxkc18odmFsdWVzKTsKLSAgfQotCi0KLSAgU2Vuc29yUHJvdmlkZXJfR2V0U2Vu
c29yX1BhcmFtcy5wcm90b3R5cGUuaW5pdERlZmF1bHRzXyA9IGZ1bmN0aW9uKCkgewotICAgIHRo
aXMudHlwZSA9IDA7Ci0gIH07Ci0gIFNlbnNvclByb3ZpZGVyX0dldFNlbnNvcl9QYXJhbXMucHJv
dG90eXBlLmluaXRGaWVsZHNfID0gZnVuY3Rpb24oZmllbGRzKSB7Ci0gICAgZm9yKHZhciBmaWVs
ZCBpbiBmaWVsZHMpIHsKLSAgICAgICAgaWYgKHRoaXMuaGFzT3duUHJvcGVydHkoZmllbGQpKQot
ICAgICAgICAgIHRoaXNbZmllbGRdID0gZmllbGRzW2ZpZWxkXTsKLSAgICB9Ci0gIH07Ci0KLSAg
U2Vuc29yUHJvdmlkZXJfR2V0U2Vuc29yX1BhcmFtcy52YWxpZGF0ZSA9IGZ1bmN0aW9uKG1lc3Nh
Z2VWYWxpZGF0b3IsIG9mZnNldCkgewotICAgIHZhciBlcnI7Ci0gICAgZXJyID0gbWVzc2FnZVZh
bGlkYXRvci52YWxpZGF0ZVN0cnVjdEhlYWRlcihvZmZzZXQsIGNvZGVjLmtTdHJ1Y3RIZWFkZXJT
aXplKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0g
ICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICB2YXIga1ZlcnNpb25TaXplcyA9IFsKLSAgICAgIHt2
ZXJzaW9uOiAwLCBudW1CeXRlczogMTZ9Ci0gICAgXTsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRh
dG9yLnZhbGlkYXRlU3RydWN0VmVyc2lvbihvZmZzZXQsIGtWZXJzaW9uU2l6ZXMpOwotICAgIGlm
IChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJu
IGVycjsKLQotCi0gICAgLy8gdmFsaWRhdGUgU2Vuc29yUHJvdmlkZXJfR2V0U2Vuc29yX1BhcmFt
cy50eXBlCi0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZUVudW0ob2Zmc2V0ICsg
Y29kZWMua1N0cnVjdEhlYWRlclNpemUgKyAwLCBzZW5zb3IkLlNlbnNvclR5cGUpOwotICAgIGlm
IChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJu
IGVycjsKLQotICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0gIH07
Ci0KLSAgU2Vuc29yUHJvdmlkZXJfR2V0U2Vuc29yX1BhcmFtcy5lbmNvZGVkU2l6ZSA9IGNvZGVj
LmtTdHJ1Y3RIZWFkZXJTaXplICsgODsKLQotICBTZW5zb3JQcm92aWRlcl9HZXRTZW5zb3JfUGFy
YW1zLmRlY29kZSA9IGZ1bmN0aW9uKGRlY29kZXIpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIHZh
ciB2YWwgPSBuZXcgU2Vuc29yUHJvdmlkZXJfR2V0U2Vuc29yX1BhcmFtcygpOwotICAgIHZhciBu
dW1iZXJPZkJ5dGVzID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFyIHZlcnNpb24gPSBk
ZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YWwudHlwZSA9IGRlY29kZXIuZGVjb2RlU3RydWN0
KGNvZGVjLkludDMyKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEp
OwotICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgcmV0dXJu
IHZhbDsKLSAgfTsKLQotICBTZW5zb3JQcm92aWRlcl9HZXRTZW5zb3JfUGFyYW1zLmVuY29kZSA9
IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgZW5jb2Rlci53
cml0ZVVpbnQzMihTZW5zb3JQcm92aWRlcl9HZXRTZW5zb3JfUGFyYW1zLmVuY29kZWRTaXplKTsK
LSAgICBlbmNvZGVyLndyaXRlVWludDMyKDApOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0KGNv
ZGVjLkludDMyLCB2YWwudHlwZSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIu
c2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICB9
OwotICBmdW5jdGlvbiBTZW5zb3JQcm92aWRlcl9HZXRTZW5zb3JfUmVzcG9uc2VQYXJhbXModmFs
dWVzKSB7Ci0gICAgdGhpcy5pbml0RGVmYXVsdHNfKCk7Ci0gICAgdGhpcy5pbml0RmllbGRzXyh2
YWx1ZXMpOwotICB9Ci0KLQotICBTZW5zb3JQcm92aWRlcl9HZXRTZW5zb3JfUmVzcG9uc2VQYXJh
bXMucHJvdG90eXBlLmluaXREZWZhdWx0c18gPSBmdW5jdGlvbigpIHsKLSAgICB0aGlzLnJlc3Vs
dCA9IDA7Ci0gICAgdGhpcy5pbml0UGFyYW1zID0gbnVsbDsKLSAgfTsKLSAgU2Vuc29yUHJvdmlk
ZXJfR2V0U2Vuc29yX1Jlc3BvbnNlUGFyYW1zLnByb3RvdHlwZS5pbml0RmllbGRzXyA9IGZ1bmN0
aW9uKGZpZWxkcykgewotICAgIGZvcih2YXIgZmllbGQgaW4gZmllbGRzKSB7Ci0gICAgICAgIGlm
ICh0aGlzLmhhc093blByb3BlcnR5KGZpZWxkKSkKLSAgICAgICAgICB0aGlzW2ZpZWxkXSA9IGZp
ZWxkc1tmaWVsZF07Ci0gICAgfQotICB9OwotCi0gIFNlbnNvclByb3ZpZGVyX0dldFNlbnNvcl9S
ZXNwb25zZVBhcmFtcy52YWxpZGF0ZSA9IGZ1bmN0aW9uKG1lc3NhZ2VWYWxpZGF0b3IsIG9mZnNl
dCkgewotICAgIHZhciBlcnI7Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0
cnVjdEhlYWRlcihvZmZzZXQsIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplKTsKLSAgICBpZiAoZXJy
ICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7
Ci0KLSAgICB2YXIga1ZlcnNpb25TaXplcyA9IFsKLSAgICAgIHt2ZXJzaW9uOiAwLCBudW1CeXRl
czogMjR9Ci0gICAgXTsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0
VmVyc2lvbihvZmZzZXQsIGtWZXJzaW9uU2l6ZXMpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRv
ci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0gICAgLy8g
dmFsaWRhdGUgU2Vuc29yUHJvdmlkZXJfR2V0U2Vuc29yX1Jlc3BvbnNlUGFyYW1zLnJlc3VsdAot
ICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVFbnVtKG9mZnNldCArIGNvZGVjLmtT
dHJ1Y3RIZWFkZXJTaXplICsgMCwgU2Vuc29yQ3JlYXRpb25SZXN1bHQpOwotICAgIGlmIChlcnIg
IT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsK
LQotCi0gICAgLy8gdmFsaWRhdGUgU2Vuc29yUHJvdmlkZXJfR2V0U2Vuc29yX1Jlc3BvbnNlUGFy
YW1zLmluaXRQYXJhbXMKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0
UG9pbnRlcihvZmZzZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDgsIFNlbnNvckluaXRQ
YXJhbXMsIHRydWUpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3Iu
Tk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRh
dGlvbkVycm9yLk5PTkU7Ci0gIH07Ci0KLSAgU2Vuc29yUHJvdmlkZXJfR2V0U2Vuc29yX1Jlc3Bv
bnNlUGFyYW1zLmVuY29kZWRTaXplID0gY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyAxNjsKLQot
ICBTZW5zb3JQcm92aWRlcl9HZXRTZW5zb3JfUmVzcG9uc2VQYXJhbXMuZGVjb2RlID0gZnVuY3Rp
b24oZGVjb2RlcikgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgdmFyIHZhbCA9IG5ldyBTZW5zb3JQ
cm92aWRlcl9HZXRTZW5zb3JfUmVzcG9uc2VQYXJhbXMoKTsKLSAgICB2YXIgbnVtYmVyT2ZCeXRl
cyA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhciB2ZXJzaW9uID0gZGVjb2Rlci5yZWFk
VWludDMyKCk7Ci0gICAgdmFsLnJlc3VsdCA9IGRlY29kZXIuZGVjb2RlU3RydWN0KGNvZGVjLklu
dDMyKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwotICAgIGRl
Y29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgdmFsLmluaXRQYXJhbXMg
PSBkZWNvZGVyLmRlY29kZVN0cnVjdFBvaW50ZXIoU2Vuc29ySW5pdFBhcmFtcyk7Ci0gICAgcmV0
dXJuIHZhbDsKLSAgfTsKLQotICBTZW5zb3JQcm92aWRlcl9HZXRTZW5zb3JfUmVzcG9uc2VQYXJh
bXMuZW5jb2RlID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAg
ICBlbmNvZGVyLndyaXRlVWludDMyKFNlbnNvclByb3ZpZGVyX0dldFNlbnNvcl9SZXNwb25zZVBh
cmFtcy5lbmNvZGVkU2l6ZSk7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMigwKTsKLSAgICBlbmNv
ZGVyLmVuY29kZVN0cnVjdChjb2RlYy5JbnQzMiwgdmFsLnJlc3VsdCk7Ci0gICAgZW5jb2Rlci5z
a2lwKDEpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAgICBlbmNvZGVyLnNraXAoMSk7Ci0gICAg
ZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0UG9pbnRlcihTZW5zb3JJ
bml0UGFyYW1zLCB2YWwuaW5pdFBhcmFtcyk7Ci0gIH07Ci0gIHZhciBrU2Vuc29yUHJvdmlkZXJf
R2V0U2Vuc29yX05hbWUgPSAwOwotCi0gIGZ1bmN0aW9uIFNlbnNvclByb3ZpZGVyUHRyKGhhbmRs
ZU9yUHRySW5mbykgewotICAgIHRoaXMucHRyID0gbmV3IGJpbmRpbmdzLkludGVyZmFjZVB0ckNv
bnRyb2xsZXIoU2Vuc29yUHJvdmlkZXIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBoYW5kbGVPclB0ckluZm8pOwotICB9Ci0KLSAgZnVuY3Rpb24g
U2Vuc29yUHJvdmlkZXJBc3NvY2lhdGVkUHRyKGFzc29jaWF0ZWRJbnRlcmZhY2VQdHJJbmZvKSB7
Ci0gICAgdGhpcy5wdHIgPSBuZXcgYXNzb2NpYXRlZEJpbmRpbmdzLkFzc29jaWF0ZWRJbnRlcmZh
Y2VQdHJDb250cm9sbGVyKAotICAgICAgICBTZW5zb3JQcm92aWRlciwgYXNzb2NpYXRlZEludGVy
ZmFjZVB0ckluZm8pOwotICB9Ci0KLSAgU2Vuc29yUHJvdmlkZXJBc3NvY2lhdGVkUHRyLnByb3Rv
dHlwZSA9Ci0gICAgICBPYmplY3QuY3JlYXRlKFNlbnNvclByb3ZpZGVyUHRyLnByb3RvdHlwZSk7
Ci0gIFNlbnNvclByb3ZpZGVyQXNzb2NpYXRlZFB0ci5wcm90b3R5cGUuY29uc3RydWN0b3IgPQot
ICAgICAgU2Vuc29yUHJvdmlkZXJBc3NvY2lhdGVkUHRyOwotCi0gIGZ1bmN0aW9uIFNlbnNvclBy
b3ZpZGVyUHJveHkocmVjZWl2ZXIpIHsKLSAgICB0aGlzLnJlY2VpdmVyXyA9IHJlY2VpdmVyOwot
ICB9Ci0gIFNlbnNvclByb3ZpZGVyUHRyLnByb3RvdHlwZS5nZXRTZW5zb3IgPSBmdW5jdGlvbigp
IHsKLSAgICByZXR1cm4gU2Vuc29yUHJvdmlkZXJQcm94eS5wcm90b3R5cGUuZ2V0U2Vuc29yCi0g
ICAgICAgIC5hcHBseSh0aGlzLnB0ci5nZXRQcm94eSgpLCBhcmd1bWVudHMpOwotICB9OwotCi0g
IFNlbnNvclByb3ZpZGVyUHJveHkucHJvdG90eXBlLmdldFNlbnNvciA9IGZ1bmN0aW9uKHR5cGUp
IHsKLSAgICB2YXIgcGFyYW1zID0gbmV3IFNlbnNvclByb3ZpZGVyX0dldFNlbnNvcl9QYXJhbXMo
KTsKLSAgICBwYXJhbXMudHlwZSA9IHR5cGU7Ci0gICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0
aW9uKHJlc29sdmUsIHJlamVjdCkgewotICAgICAgdmFyIGJ1aWxkZXIgPSBuZXcgY29kZWMuTWVz
c2FnZVYxQnVpbGRlcigKLSAgICAgICAgICBrU2Vuc29yUHJvdmlkZXJfR2V0U2Vuc29yX05hbWUs
Ci0gICAgICAgICAgY29kZWMuYWxpZ24oU2Vuc29yUHJvdmlkZXJfR2V0U2Vuc29yX1BhcmFtcy5l
bmNvZGVkU2l6ZSksCi0gICAgICAgICAgY29kZWMua01lc3NhZ2VFeHBlY3RzUmVzcG9uc2UsIDAp
OwotICAgICAgYnVpbGRlci5lbmNvZGVTdHJ1Y3QoU2Vuc29yUHJvdmlkZXJfR2V0U2Vuc29yX1Bh
cmFtcywgcGFyYW1zKTsKLSAgICAgIHZhciBtZXNzYWdlID0gYnVpbGRlci5maW5pc2goKTsKLSAg
ICAgIHRoaXMucmVjZWl2ZXJfLmFjY2VwdEFuZEV4cGVjdFJlc3BvbnNlKG1lc3NhZ2UpLnRoZW4o
ZnVuY3Rpb24obWVzc2FnZSkgewotICAgICAgICB2YXIgcmVhZGVyID0gbmV3IGNvZGVjLk1lc3Nh
Z2VSZWFkZXIobWVzc2FnZSk7Ci0gICAgICAgIHZhciByZXNwb25zZVBhcmFtcyA9Ci0gICAgICAg
ICAgICByZWFkZXIuZGVjb2RlU3RydWN0KFNlbnNvclByb3ZpZGVyX0dldFNlbnNvcl9SZXNwb25z
ZVBhcmFtcyk7Ci0gICAgICAgIHJlc29sdmUocmVzcG9uc2VQYXJhbXMpOwotICAgICAgfSkuY2F0
Y2goZnVuY3Rpb24ocmVzdWx0KSB7Ci0gICAgICAgIHJlamVjdChFcnJvcigiQ29ubmVjdGlvbiBl
cnJvcjogIiArIHJlc3VsdCkpOwotICAgICAgfSk7Ci0gICAgfS5iaW5kKHRoaXMpKTsKLSAgfTsK
LQotICBmdW5jdGlvbiBTZW5zb3JQcm92aWRlclN0dWIoZGVsZWdhdGUpIHsKLSAgICB0aGlzLmRl
bGVnYXRlXyA9IGRlbGVnYXRlOwotICB9Ci0gIFNlbnNvclByb3ZpZGVyU3R1Yi5wcm90b3R5cGUu
Z2V0U2Vuc29yID0gZnVuY3Rpb24odHlwZSkgewotICAgIHJldHVybiB0aGlzLmRlbGVnYXRlXyAm
JiB0aGlzLmRlbGVnYXRlXy5nZXRTZW5zb3IgJiYgdGhpcy5kZWxlZ2F0ZV8uZ2V0U2Vuc29yKHR5
cGUpOwotICB9Ci0KLSAgU2Vuc29yUHJvdmlkZXJTdHViLnByb3RvdHlwZS5hY2NlcHQgPSBmdW5j
dGlvbihtZXNzYWdlKSB7Ci0gICAgdmFyIHJlYWRlciA9IG5ldyBjb2RlYy5NZXNzYWdlUmVhZGVy
KG1lc3NhZ2UpOwotICAgIHN3aXRjaCAocmVhZGVyLm1lc3NhZ2VOYW1lKSB7Ci0gICAgZGVmYXVs
dDoKLSAgICAgIHJldHVybiBmYWxzZTsKLSAgICB9Ci0gIH07Ci0KLSAgU2Vuc29yUHJvdmlkZXJT
dHViLnByb3RvdHlwZS5hY2NlcHRXaXRoUmVzcG9uZGVyID0KLSAgICAgIGZ1bmN0aW9uKG1lc3Nh
Z2UsIHJlc3BvbmRlcikgewotICAgIHZhciByZWFkZXIgPSBuZXcgY29kZWMuTWVzc2FnZVJlYWRl
cihtZXNzYWdlKTsKLSAgICBzd2l0Y2ggKHJlYWRlci5tZXNzYWdlTmFtZSkgewotICAgIGNhc2Ug
a1NlbnNvclByb3ZpZGVyX0dldFNlbnNvcl9OYW1lOgotICAgICAgdmFyIHBhcmFtcyA9IHJlYWRl
ci5kZWNvZGVTdHJ1Y3QoU2Vuc29yUHJvdmlkZXJfR2V0U2Vuc29yX1BhcmFtcyk7Ci0gICAgICB0
aGlzLmdldFNlbnNvcihwYXJhbXMudHlwZSkudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAg
ICAgICB2YXIgcmVzcG9uc2VQYXJhbXMgPQotICAgICAgICAgICAgbmV3IFNlbnNvclByb3ZpZGVy
X0dldFNlbnNvcl9SZXNwb25zZVBhcmFtcygpOwotICAgICAgICByZXNwb25zZVBhcmFtcy5yZXN1
bHQgPSByZXNwb25zZS5yZXN1bHQ7Ci0gICAgICAgIHJlc3BvbnNlUGFyYW1zLmluaXRQYXJhbXMg
PSByZXNwb25zZS5pbml0UGFyYW1zOwotICAgICAgICB2YXIgYnVpbGRlciA9IG5ldyBjb2RlYy5N
ZXNzYWdlVjFCdWlsZGVyKAotICAgICAgICAgICAga1NlbnNvclByb3ZpZGVyX0dldFNlbnNvcl9O
YW1lLAotICAgICAgICAgICAgY29kZWMuYWxpZ24oU2Vuc29yUHJvdmlkZXJfR2V0U2Vuc29yX1Jl
c3BvbnNlUGFyYW1zLmVuY29kZWRTaXplKSwKLSAgICAgICAgICAgIGNvZGVjLmtNZXNzYWdlSXNS
ZXNwb25zZSwgcmVhZGVyLnJlcXVlc3RJRCk7Ci0gICAgICAgIGJ1aWxkZXIuZW5jb2RlU3RydWN0
KFNlbnNvclByb3ZpZGVyX0dldFNlbnNvcl9SZXNwb25zZVBhcmFtcywKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgcmVzcG9uc2VQYXJhbXMpOwotICAgICAgICB2YXIgbWVzc2FnZSA9IGJ1
aWxkZXIuZmluaXNoKCk7Ci0gICAgICAgIHJlc3BvbmRlci5hY2NlcHQobWVzc2FnZSk7Ci0gICAg
ICB9KTsKLSAgICAgIHJldHVybiB0cnVlOwotICAgIGRlZmF1bHQ6Ci0gICAgICByZXR1cm4gZmFs
c2U7Ci0gICAgfQotICB9OwotCi0gIGZ1bmN0aW9uIHZhbGlkYXRlU2Vuc29yUHJvdmlkZXJSZXF1
ZXN0KG1lc3NhZ2VWYWxpZGF0b3IpIHsKLSAgICB2YXIgbWVzc2FnZSA9IG1lc3NhZ2VWYWxpZGF0
b3IubWVzc2FnZTsKLSAgICB2YXIgcGFyYW1zQ2xhc3MgPSBudWxsOwotICAgIHN3aXRjaCAobWVz
c2FnZS5nZXROYW1lKCkpIHsKLSAgICAgIGNhc2Uga1NlbnNvclByb3ZpZGVyX0dldFNlbnNvcl9O
YW1lOgotICAgICAgICBpZiAobWVzc2FnZS5leHBlY3RzUmVzcG9uc2UoKSkKLSAgICAgICAgICBw
YXJhbXNDbGFzcyA9IFNlbnNvclByb3ZpZGVyX0dldFNlbnNvcl9QYXJhbXM7Ci0gICAgICBicmVh
azsKLSAgICB9Ci0gICAgaWYgKHBhcmFtc0NsYXNzID09PSBudWxsKQotICAgICAgcmV0dXJuIHZh
bGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAgICByZXR1cm4gcGFyYW1zQ2xhc3MudmFs
aWRhdGUobWVzc2FnZVZhbGlkYXRvciwgbWVzc2FnZVZhbGlkYXRvci5tZXNzYWdlLmdldEhlYWRl
ck51bUJ5dGVzKCkpOwotICB9Ci0KLSAgZnVuY3Rpb24gdmFsaWRhdGVTZW5zb3JQcm92aWRlclJl
c3BvbnNlKG1lc3NhZ2VWYWxpZGF0b3IpIHsKLSAgIHZhciBtZXNzYWdlID0gbWVzc2FnZVZhbGlk
YXRvci5tZXNzYWdlOwotICAgdmFyIHBhcmFtc0NsYXNzID0gbnVsbDsKLSAgIHN3aXRjaCAobWVz
c2FnZS5nZXROYW1lKCkpIHsKLSAgICAgIGNhc2Uga1NlbnNvclByb3ZpZGVyX0dldFNlbnNvcl9O
YW1lOgotICAgICAgICBpZiAobWVzc2FnZS5pc1Jlc3BvbnNlKCkpCi0gICAgICAgICAgcGFyYW1z
Q2xhc3MgPSBTZW5zb3JQcm92aWRlcl9HZXRTZW5zb3JfUmVzcG9uc2VQYXJhbXM7Ci0gICAgICAg
IGJyZWFrOwotICAgIH0KLSAgICBpZiAocGFyYW1zQ2xhc3MgPT09IG51bGwpCi0gICAgICByZXR1
cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwotICAgIHJldHVybiBwYXJhbXNDbGFz
cy52YWxpZGF0ZShtZXNzYWdlVmFsaWRhdG9yLCBtZXNzYWdlVmFsaWRhdG9yLm1lc3NhZ2UuZ2V0
SGVhZGVyTnVtQnl0ZXMoKSk7Ci0gIH0KLQotICB2YXIgU2Vuc29yUHJvdmlkZXIgPSB7Ci0gICAg
bmFtZTogJ2RldmljZS5tb2pvbS5TZW5zb3JQcm92aWRlcicsCi0gICAga1ZlcnNpb246IDAsCi0g
ICAgcHRyQ2xhc3M6IFNlbnNvclByb3ZpZGVyUHRyLAotICAgIHByb3h5Q2xhc3M6IFNlbnNvclBy
b3ZpZGVyUHJveHksCi0gICAgc3R1YkNsYXNzOiBTZW5zb3JQcm92aWRlclN0dWIsCi0gICAgdmFs
aWRhdGVSZXF1ZXN0OiB2YWxpZGF0ZVNlbnNvclByb3ZpZGVyUmVxdWVzdCwKLSAgICB2YWxpZGF0
ZVJlc3BvbnNlOiB2YWxpZGF0ZVNlbnNvclByb3ZpZGVyUmVzcG9uc2UsCi0gIH07Ci0gIFNlbnNv
clByb3ZpZGVyU3R1Yi5wcm90b3R5cGUudmFsaWRhdG9yID0gdmFsaWRhdGVTZW5zb3JQcm92aWRl
clJlcXVlc3Q7Ci0gIFNlbnNvclByb3ZpZGVyUHJveHkucHJvdG90eXBlLnZhbGlkYXRvciA9IHZh
bGlkYXRlU2Vuc29yUHJvdmlkZXJSZXNwb25zZTsKLSAgZXhwb3J0cy5TZW5zb3JDcmVhdGlvblJl
c3VsdCA9IFNlbnNvckNyZWF0aW9uUmVzdWx0OwotICBleHBvcnRzLlNlbnNvckluaXRQYXJhbXMg
PSBTZW5zb3JJbml0UGFyYW1zOwotICBleHBvcnRzLlNlbnNvclByb3ZpZGVyID0gU2Vuc29yUHJv
dmlkZXI7Ci0gIGV4cG9ydHMuU2Vuc29yUHJvdmlkZXJQdHIgPSBTZW5zb3JQcm92aWRlclB0cjsK
LSAgZXhwb3J0cy5TZW5zb3JQcm92aWRlckFzc29jaWF0ZWRQdHIgPSBTZW5zb3JQcm92aWRlckFz
c29jaWF0ZWRQdHI7Ci19KSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vc21zX21vY2suanMgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1
bS9zbXNfbW9jay5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDg0NzZjZjM3YWQu
LjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL3Ntc19tb2NrLmpzCisrKyAvZGV2L251bGwKQEAgLTEs
NTIgKzAsMCBAQAotJ3VzZSBzdHJpY3QnOwotCi1jb25zdCBTbXNQcm92aWRlciA9ICgoKSA9PiB7
Ci0KLSAgY2xhc3MgTW9ja1Ntc1JlY2VpdmVyIHsKLQotICAgIGNvbnN0cnVjdG9yKCkgewotICAg
ICAgdGhpcy5tb2pvUmVjZWl2ZXJfID0gbmV3IGJsaW5rLm1vam9tLlNtc1JlY2VpdmVyUmVjZWl2
ZXIodGhpcyk7Ci0KLSAgICAgIHRoaXMuaW50ZXJjZXB0b3JfID0gbmV3IE1vam9JbnRlcmZhY2VJ
bnRlcmNlcHRvcigKLSAgICAgICAgICBibGluay5tb2pvbS5TbXNSZWNlaXZlci4kaW50ZXJmYWNl
TmFtZSwgImNvbnRleHQiLCB0cnVlKTsKLQotICAgICAgdGhpcy5pbnRlcmNlcHRvcl8ub25pbnRl
cmZhY2VyZXF1ZXN0ID0gKGUpID0+IHsKLSAgICAgICAgdGhpcy5tb2pvUmVjZWl2ZXJfLiQuYmlu
ZEhhbmRsZShlLmhhbmRsZSk7Ci0gICAgICB9Ci0gICAgICB0aGlzLmludGVyY2VwdG9yXy5zdGFy
dCgpOwotCi0gICAgICB0aGlzLnJldHVyblZhbHVlc18gPSB7fTsKLSAgICB9Ci0KLSAgICBhc3lu
YyByZWNlaXZlKCkgewotICAgICAgbGV0IGNhbGwgPSB0aGlzLnJldHVyblZhbHVlc18ucmVjZWl2
ZSA/Ci0gICAgICAgICAgdGhpcy5yZXR1cm5WYWx1ZXNfLnJlY2VpdmUuc2hpZnQoKSA6IG51bGw7
Ci0gICAgICBpZiAoIWNhbGwpCi0gICAgICAgIHJldHVybjsKLSAgICAgIHJldHVybiBjYWxsKCk7
Ci0gICAgfQotCi0gICAgYXN5bmMgYWJvcnQoKSB7fQotCi0gICAgcHVzaFJldHVyblZhbHVlc0Zv
clRlc3RpbmcoY2FsbE5hbWUsIHZhbHVlKSB7Ci0gICAgICB0aGlzLnJldHVyblZhbHVlc19bY2Fs
bE5hbWVdID0gdGhpcy5yZXR1cm5WYWx1ZXNfW2NhbGxOYW1lXSB8fCBbXTsKLSAgICAgIHRoaXMu
cmV0dXJuVmFsdWVzX1tjYWxsTmFtZV0ucHVzaCh2YWx1ZSk7Ci0gICAgICByZXR1cm4gdGhpczsK
LSAgICB9Ci0KLSAgfQotCi0gIGNvbnN0IG1vY2tTbXNSZWNlaXZlciA9IG5ldyBNb2NrU21zUmVj
ZWl2ZXIoKTsKLQotICBjbGFzcyBTbXNQcm92aWRlckNocm9taXVtIHsKLSAgICBjb25zdHJ1Y3Rv
cigpIHsKLSAgICAgIE9iamVjdC5mcmVlemUodGhpcyk7IC8vIE1ha2UgaXQgaW1tdXRhYmxlLgot
ICAgIH0KLQotICAgIHB1c2hSZXR1cm5WYWx1ZXNGb3JUZXN0aW5nKGNhbGxOYW1lLCBjYWxsYmFj
aykgewotICAgICAgbW9ja1Ntc1JlY2VpdmVyLnB1c2hSZXR1cm5WYWx1ZXNGb3JUZXN0aW5nKGNh
bGxOYW1lLCBjYWxsYmFjayk7Ci0gICAgfQotICB9Ci0KLSAgcmV0dXJuIFNtc1Byb3ZpZGVyQ2hy
b21pdW07Ci19KSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vc3RyaW5nMTYubW9qb20uanMgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1
bS9zdHJpbmcxNi5tb2pvbS5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjUzNzdl
NjY1NzEuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL3N0cmluZzE2Lm1vam9tLmpzCisrKyAvZGV2
L251bGwKQEAgLTEsMTQxICswLDAgQEAKLS8vIENvcHlyaWdodCAyMDE0IFRoZSBDaHJvbWl1bSBB
dXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotLy8gVXNlIG9mIHRoaXMgc291cmNlIGNvZGUg
aXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQotLy8gZm91bmQg
aW4gdGhlIExJQ0VOU0UgZmlsZS4KLQotJ3VzZSBzdHJpY3QnOwotCi0oZnVuY3Rpb24oKSB7Ci0g
IHZhciBtb2pvbUlkID0gJ21vam8vcHVibGljL21vam9tL2Jhc2Uvc3RyaW5nMTYubW9qb20nOwot
ICBpZiAobW9qby5pbnRlcm5hbC5pc01vam9tTG9hZGVkKG1vam9tSWQpKSB7Ci0gICAgY29uc29s
ZS53YXJuKCdUaGUgZm9sbG93aW5nIG1vam9tIGlzIGxvYWRlZCBtdWx0aXBsZSB0aW1lczogJyAr
IG1vam9tSWQpOwotICAgIHJldHVybjsKLSAgfQotICBtb2pvLmludGVybmFsLm1hcmtNb2pvbUxv
YWRlZChtb2pvbUlkKTsKLSAgdmFyIGJpbmRpbmdzID0gbW9qbzsKLSAgdmFyIGFzc29jaWF0ZWRC
aW5kaW5ncyA9IG1vam87Ci0gIHZhciBjb2RlYyA9IG1vam8uaW50ZXJuYWw7Ci0gIHZhciB2YWxp
ZGF0b3IgPSBtb2pvLmludGVybmFsOwotCi0gIHZhciBleHBvcnRzID0gbW9qby5pbnRlcm5hbC5l
eHBvc2VOYW1lc3BhY2UoJ21vam9CYXNlLm1vam9tJyk7Ci0gIHZhciBiaWdfYnVmZmVyJCA9Ci0g
ICAgICBtb2pvLmludGVybmFsLmV4cG9zZU5hbWVzcGFjZSgnbW9qb0Jhc2UubW9qb20nKTsKLSAg
aWYgKG1vam8uY29uZmlnLmF1dG9Mb2FkTW9qb21EZXBzKSB7Ci0gICAgbW9qby5pbnRlcm5hbC5s
b2FkTW9qb21JZk5lY2Vzc2FyeSgKLSAgICAgICAgJ21vam8vcHVibGljL21vam9tL2Jhc2UvYmln
X2J1ZmZlci5tb2pvbScsICdiaWdfYnVmZmVyLm1vam9tLmpzJyk7Ci0gIH0KLQotCi0KLSAgZnVu
Y3Rpb24gU3RyaW5nMTYodmFsdWVzKSB7Ci0gICAgdGhpcy5pbml0RGVmYXVsdHNfKCk7Ci0gICAg
dGhpcy5pbml0RmllbGRzXyh2YWx1ZXMpOwotICB9Ci0KLQotICBTdHJpbmcxNi5wcm90b3R5cGUu
aW5pdERlZmF1bHRzXyA9IGZ1bmN0aW9uKCkgewotICAgIHRoaXMuZGF0YSA9IG51bGw7Ci0gIH07
Ci0gIFN0cmluZzE2LnByb3RvdHlwZS5pbml0RmllbGRzXyA9IGZ1bmN0aW9uKGZpZWxkcykgewot
ICAgIGZvcih2YXIgZmllbGQgaW4gZmllbGRzKSB7Ci0gICAgICAgIGlmICh0aGlzLmhhc093blBy
b3BlcnR5KGZpZWxkKSkKLSAgICAgICAgICB0aGlzW2ZpZWxkXSA9IGZpZWxkc1tmaWVsZF07Ci0g
ICAgfQotICB9OwotCi0gIFN0cmluZzE2LnZhbGlkYXRlID0gZnVuY3Rpb24obWVzc2FnZVZhbGlk
YXRvciwgb2Zmc2V0KSB7Ci0gICAgdmFyIGVycjsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9y
LnZhbGlkYXRlU3RydWN0SGVhZGVyKG9mZnNldCwgY29kZWMua1N0cnVjdEhlYWRlclNpemUpOwot
ICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAg
cmV0dXJuIGVycjsKLQotICAgIHZhciBrVmVyc2lvblNpemVzID0gWwotICAgICAge3ZlcnNpb246
IDAsIG51bUJ5dGVzOiAxNn0KLSAgICBdOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFs
aWRhdGVTdHJ1Y3RWZXJzaW9uKG9mZnNldCwga1ZlcnNpb25TaXplcyk7Ci0gICAgaWYgKGVyciAh
PT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwot
Ci0KLSAgICAvLyB2YWxpZGF0ZSBTdHJpbmcxNi5kYXRhCi0gICAgZXJyID0gbWVzc2FnZVZhbGlk
YXRvci52YWxpZGF0ZUFycmF5UG9pbnRlcihvZmZzZXQgKyBjb2RlYy5rU3RydWN0SGVhZGVyU2l6
ZSArIDAsIDIsIGNvZGVjLlVpbnQxNiwgZmFsc2UsIFswXSwgMCk7Ci0gICAgaWYgKGVyciAhPT0g
dmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0g
ICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQotICBTdHJp
bmcxNi5lbmNvZGVkU2l6ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgODsKLQotICBTdHJp
bmcxNi5kZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICB2
YXIgdmFsID0gbmV3IFN0cmluZzE2KCk7Ci0gICAgdmFyIG51bWJlck9mQnl0ZXMgPSBkZWNvZGVy
LnJlYWRVaW50MzIoKTsKLSAgICB2YXIgdmVyc2lvbiA9IGRlY29kZXIucmVhZFVpbnQzMigpOwot
ICAgIHZhbC5kYXRhID0gZGVjb2Rlci5kZWNvZGVBcnJheVBvaW50ZXIoY29kZWMuVWludDE2KTsK
LSAgICByZXR1cm4gdmFsOwotICB9OwotCi0gIFN0cmluZzE2LmVuY29kZSA9IGZ1bmN0aW9uKGVu
Y29kZXIsIHZhbCkgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMihT
dHJpbmcxNi5lbmNvZGVkU2l6ZSk7Ci0gICAgZW5jb2Rlci53cml0ZVVpbnQzMigwKTsKLSAgICBl
bmNvZGVyLmVuY29kZUFycmF5UG9pbnRlcihjb2RlYy5VaW50MTYsIHZhbC5kYXRhKTsKLSAgfTsK
LSAgZnVuY3Rpb24gQmlnU3RyaW5nMTYodmFsdWVzKSB7Ci0gICAgdGhpcy5pbml0RGVmYXVsdHNf
KCk7Ci0gICAgdGhpcy5pbml0RmllbGRzXyh2YWx1ZXMpOwotICB9Ci0KLQotICBCaWdTdHJpbmcx
Ni5wcm90b3R5cGUuaW5pdERlZmF1bHRzXyA9IGZ1bmN0aW9uKCkgewotICAgIHRoaXMuZGF0YSA9
IG51bGw7Ci0gIH07Ci0gIEJpZ1N0cmluZzE2LnByb3RvdHlwZS5pbml0RmllbGRzXyA9IGZ1bmN0
aW9uKGZpZWxkcykgewotICAgIGZvcih2YXIgZmllbGQgaW4gZmllbGRzKSB7Ci0gICAgICAgIGlm
ICh0aGlzLmhhc093blByb3BlcnR5KGZpZWxkKSkKLSAgICAgICAgICB0aGlzW2ZpZWxkXSA9IGZp
ZWxkc1tmaWVsZF07Ci0gICAgfQotICB9OwotCi0gIEJpZ1N0cmluZzE2LnZhbGlkYXRlID0gZnVu
Y3Rpb24obWVzc2FnZVZhbGlkYXRvciwgb2Zmc2V0KSB7Ci0gICAgdmFyIGVycjsKLSAgICBlcnIg
PSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0SGVhZGVyKG9mZnNldCwgY29kZWMua1N0
cnVjdEhlYWRlclNpemUpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJy
b3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotICAgIHZhciBrVmVyc2lvblNpemVzID0g
WwotICAgICAge3ZlcnNpb246IDAsIG51bUJ5dGVzOiAyNH0KLSAgICBdOwotICAgIGVyciA9IG1l
c3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RWZXJzaW9uKG9mZnNldCwga1ZlcnNpb25TaXpl
cyk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAg
ICAgICByZXR1cm4gZXJyOwotCi0KLSAgICAvLyB2YWxpZGF0ZSBCaWdTdHJpbmcxNi5kYXRhCi0g
ICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVVuaW9uKG9mZnNldCArIGNvZGVjLmtT
dHJ1Y3RIZWFkZXJTaXplICsgMCwgYmlnX2J1ZmZlciQuQmlnQnVmZmVyLCBmYWxzZSk7Ci0gICAg
aWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1
cm4gZXJyOwotCi0gICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAg
fTsKLQotICBCaWdTdHJpbmcxNi5lbmNvZGVkU2l6ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXpl
ICsgMTY7Ci0KLSAgQmlnU3RyaW5nMTYuZGVjb2RlID0gZnVuY3Rpb24oZGVjb2RlcikgewotICAg
IHZhciBwYWNrZWQ7Ci0gICAgdmFyIHZhbCA9IG5ldyBCaWdTdHJpbmcxNigpOwotICAgIHZhciBu
dW1iZXJPZkJ5dGVzID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFyIHZlcnNpb24gPSBk
ZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YWwuZGF0YSA9IGRlY29kZXIuZGVjb2RlU3RydWN0
KGJpZ19idWZmZXIkLkJpZ0J1ZmZlcik7Ci0gICAgcmV0dXJuIHZhbDsKLSAgfTsKLQotICBCaWdT
dHJpbmcxNi5lbmNvZGUgPSBmdW5jdGlvbihlbmNvZGVyLCB2YWwpIHsKLSAgICB2YXIgcGFja2Vk
OwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoQmlnU3RyaW5nMTYuZW5jb2RlZFNpemUpOwotICAg
IGVuY29kZXIud3JpdGVVaW50MzIoMCk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3QoYmlnX2J1
ZmZlciQuQmlnQnVmZmVyLCB2YWwuZGF0YSk7Ci0gIH07Ci0gIGV4cG9ydHMuU3RyaW5nMTYgPSBT
dHJpbmcxNjsKLSAgZXhwb3J0cy5CaWdTdHJpbmcxNiA9IEJpZ1N0cmluZzE2OwotfSkoKTsKXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS9zdHJpbmcxNi5tb2pv
bS5qcy5oZWFkZXJzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvY2hyb21pdW0vc3RyaW5nMTYubW9qb20uanMuaGVhZGVycwpkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggNjgwNWMzMjNkZjUuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVt
L3N0cmluZzE2Lm1vam9tLmpzLmhlYWRlcnMKKysrIC9kZXYvbnVsbApAQCAtMSArMCwwIEBACi1D
b250ZW50LVR5cGU6IHRleHQvamF2YXNjcmlwdDsgY2hhcnNldD11dGYtOApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hy
b21pdW0vdXJsLm1vam9tLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vdXJsLm1vam9tLmpzCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCBjNWVlZTFmMmFlYi4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vdXJsLm1v
am9tLmpzCisrKyAvZGV2L251bGwKQEAgLTEsNzkgKzAsMCBAQAotLy8gQ29weXJpZ2h0IDIwMTQg
VGhlIENocm9taXVtIEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0vLyBVc2Ugb2YgdGhp
cyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlIHRoYXQgY2Fu
IGJlCi0vLyBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgotCi0ndXNlIHN0cmljdCc7Ci0KLShm
dW5jdGlvbigpIHsKLSAgdmFyIG1vam9tSWQgPSAndXJsL21vam9tL3VybC5tb2pvbSc7Ci0gIGlm
IChtb2pvLmludGVybmFsLmlzTW9qb21Mb2FkZWQobW9qb21JZCkpIHsKLSAgICBjb25zb2xlLndh
cm4oJ1RoZSBmb2xsb3dpbmcgbW9qb20gaXMgbG9hZGVkIG11bHRpcGxlIHRpbWVzOiAnICsgbW9q
b21JZCk7Ci0gICAgcmV0dXJuOwotICB9Ci0gIG1vam8uaW50ZXJuYWwubWFya01vam9tTG9hZGVk
KG1vam9tSWQpOwotICB2YXIgYmluZGluZ3MgPSBtb2pvOwotICB2YXIgYXNzb2NpYXRlZEJpbmRp
bmdzID0gbW9qbzsKLSAgdmFyIGNvZGVjID0gbW9qby5pbnRlcm5hbDsKLSAgdmFyIHZhbGlkYXRv
ciA9IG1vam8uaW50ZXJuYWw7Ci0KLSAgdmFyIGV4cG9ydHMgPSBtb2pvLmludGVybmFsLmV4cG9z
ZU5hbWVzcGFjZSgndXJsLm1vam9tJyk7Ci0KLQotCi0gIGZ1bmN0aW9uIFVybCh2YWx1ZXMpIHsK
LSAgICB0aGlzLmluaXREZWZhdWx0c18oKTsKLSAgICB0aGlzLmluaXRGaWVsZHNfKHZhbHVlcyk7
Ci0gIH0KLQotCi0gIFVybC5wcm90b3R5cGUuaW5pdERlZmF1bHRzXyA9IGZ1bmN0aW9uKCkgewot
ICAgIHRoaXMudXJsID0gbnVsbDsKLSAgfTsKLSAgVXJsLnByb3RvdHlwZS5pbml0RmllbGRzXyA9
IGZ1bmN0aW9uKGZpZWxkcykgewotICAgIGZvcih2YXIgZmllbGQgaW4gZmllbGRzKSB7Ci0gICAg
ICAgIGlmICh0aGlzLmhhc093blByb3BlcnR5KGZpZWxkKSkKLSAgICAgICAgICB0aGlzW2ZpZWxk
XSA9IGZpZWxkc1tmaWVsZF07Ci0gICAgfQotICB9OwotCi0gIFVybC52YWxpZGF0ZSA9IGZ1bmN0
aW9uKG1lc3NhZ2VWYWxpZGF0b3IsIG9mZnNldCkgewotICAgIHZhciBlcnI7Ci0gICAgZXJyID0g
bWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdEhlYWRlcihvZmZzZXQsIGNvZGVjLmtTdHJ1
Y3RIZWFkZXJTaXplKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9y
Lk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICB2YXIga1ZlcnNpb25TaXplcyA9IFsK
LSAgICAgIHt2ZXJzaW9uOiAwLCBudW1CeXRlczogMTZ9Ci0gICAgXTsKLSAgICBlcnIgPSBtZXNz
YWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0VmVyc2lvbihvZmZzZXQsIGtWZXJzaW9uU2l6ZXMp
OwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAg
ICAgcmV0dXJuIGVycjsKLQotCi0gICAgLy8gdmFsaWRhdGUgVXJsLnVybAotICAgIGVyciA9IG1l
c3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJpbmdQb2ludGVyKG9mZnNldCArIGNvZGVjLmtTdHJ1
Y3RIZWFkZXJTaXplICsgMCwgZmFsc2UpCi0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlk
YXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgcmV0dXJuIHZhbGlk
YXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORTsKLSAgfTsKLQotICBVcmwuZW5jb2RlZFNpemUgPSBj
b2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDg7Ci0KLSAgVXJsLmRlY29kZSA9IGZ1bmN0aW9uKGRl
Y29kZXIpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIHZhciB2YWwgPSBuZXcgVXJsKCk7Ci0gICAg
dmFyIG51bWJlck9mQnl0ZXMgPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YXIgdmVyc2lv
biA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhbC51cmwgPSBkZWNvZGVyLmRlY29kZVN0
cnVjdChjb2RlYy5TdHJpbmcpOwotICAgIHJldHVybiB2YWw7Ci0gIH07Ci0KLSAgVXJsLmVuY29k
ZSA9IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgZW5jb2Rl
ci53cml0ZVVpbnQzMihVcmwuZW5jb2RlZFNpemUpOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIo
MCk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3QoY29kZWMuU3RyaW5nLCB2YWwudXJsKTsKLSAg
fTsKLSAgZXhwb3J0cy5VcmwgPSBVcmw7Ci19KSgpOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL2Nocm9taXVtL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vdzNjLWltcG9ydC5s
b2cKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDlhYzA5YjhkZmU0Li4wMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy9jaHJvbWl1bS93M2MtaW1wb3J0LmxvZworKysgL2Rldi9udWxsCkBAIC0xLDU2ICswLDAg
QEAKLVRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFcz
QyByZXBvc2l0b3J5LgotRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJL
aXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6Ci0J
aHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQKLQotVGhlbiBydW4gdGhl
IFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKLQot
RG8gTk9UIG1vZGlmeSBvciByZW1vdmUgdGhpcyBmaWxlLgotCi0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLVBy
b3BlcnRpZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKLU5vbmUKLVByb3BlcnR5IHZhbHVl
cyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgotTm9uZQotLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1MaXN0
IG9mIGZpbGVzOgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL2Nocm9taXVtL1JFQURNRS5tZAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL2JpZ19idWZmZXIubW9qb20uanMK
LS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9j
aHJvbWl1bS9iaWdfYnVmZmVyLm1vam9tLmpzLmhlYWRlcnMKLS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS9jb250YWN0c19tYW5h
Z2VyX21vY2suanMKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy9jaHJvbWl1bS9kZXZpY2UubW9qb20uanMKLS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS9kZXZpY2UubW9qb20u
anMuaGVhZGVycwotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL2Nocm9taXVtL2RldmljZV9lbnVtZXJhdGlvbl9vcHRpb25zLm1vam9tLmpzCi0v
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hy
b21pdW0vZGV2aWNlX2VudW1lcmF0aW9uX29wdGlvbnMubW9qb20uanMuaGVhZGVycwotL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVt
L2RldmljZV9tYW5hZ2VyX2NsaWVudC5tb2pvbS5qcwotL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL2RldmljZV9tYW5hZ2VyX2Ns
aWVudC5tb2pvbS5qcy5oZWFkZXJzCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vZ2VuZXJpY19zZW5zb3JfbW9ja3MuanMKLS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJv
bWl1bS9nZW5lcmljX3NlbnNvcl9tb2Nrcy5qcy5oZWFkZXJzCi0vTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vaW1hZ2VfY2FwdHVy
ZS1tb2pvbS5qcy5oZWFkZXJzCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vaW1hZ2VfY2FwdHVyZS5tb2pvbS5qcwotL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVt
L21vY2stYmFyY29kZWRldGVjdGlvbi5qcwotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL21vY2stYmFyY29kZWRldGVjdGlvbi5q
cy5oZWFkZXJzCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvY2hyb21pdW0vbW9jay1mYWNlZGV0ZWN0aW9uLmpzCi0vTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vbW9jay1mYWNl
ZGV0ZWN0aW9uLmpzLmhlYWRlcnMKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS9tb2NrLWltYWdlY2FwdHVyZS5qcwotL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVt
L21vam9fYmluZGluZ3MuanMKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS9tb2pvX2JpbmRpbmdzLmpzLmhlYWRlcnMKLS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1
bS9tb2pvX3dlYl90ZXN0X2hlbHBlcl90ZXN0Lm1vam9tLmpzCi0vTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vbW9qb193ZWJfdGVz
dF9oZWxwZXJfdGVzdC5tb2pvbS5qcy5oZWFkZXJzCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vbmZjLW1vY2suanMKLS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1
bS9zZW5zb3IubW9qb20uanMKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS9zZW5zb3JfcHJvdmlkZXIubW9qb20uanMKLS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1
bS9zbXNfbW9jay5qcwotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL2Nocm9taXVtL3N0cmluZzE2Lm1vam9tLmpzCi0vTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vc3RyaW5nMTYu
bW9qb20uanMuaGVhZGVycwotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL3VybC5tb2pvbS5qcwotL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL3dlYi1ibHVldG9v
dGgtdGVzdC5qcwotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL2Nocm9taXVtL3dlYi1ibHVldG9vdGgtdGVzdC5qcy5oZWFkZXJzCi0vTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0v
d2ViX3VzYl9zZXJ2aWNlLm1vam9tLmpzCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vd2ViX3VzYl9zZXJ2aWNlLm1vam9tLmpz
LmhlYWRlcnMKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy9jaHJvbWl1bS93ZWJ1c2ItY2hpbGQtdGVzdC5qcwotL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL3dlYnVzYi1jaGls
ZC10ZXN0LmpzLmhlYWRlcnMKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS93ZWJ1c2ItdGVzdC5qcwotL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL3dlYnVzYi10
ZXN0LmpzLmhlYWRlcnMKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy9jaHJvbWl1bS93ZWJ4ci10ZXN0LmpzCi0vTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vd2VieHItdGVzdC5q
cy5oZWFkZXJzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS93ZWItYmx1ZXRvb3RoLXRlc3QuanMgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1
bS93ZWItYmx1ZXRvb3RoLXRlc3QuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGVl
OGYwODJiODc0Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS93ZWItYmx1ZXRvb3RoLXRlc3QuanMK
KysrIC9kZXYvbnVsbApAQCAtMSw2MTcgKzAsMCBAQAotJ3VzZSBzdHJpY3QnOwotCi1mdW5jdGlv
biB0b01vam9DZW50cmFsU3RhdGUoc3RhdGUpIHsKLSAgc3dpdGNoIChzdGF0ZSkgewotICAgIGNh
c2UgJ2Fic2VudCc6Ci0gICAgICByZXR1cm4gYmx1ZXRvb3RoLm1vam9tLkNlbnRyYWxTdGF0ZS5B
QlNFTlQ7Ci0gICAgY2FzZSAncG93ZXJlZC1vZmYnOgotICAgICAgcmV0dXJuIGJsdWV0b290aC5t
b2pvbS5DZW50cmFsU3RhdGUuUE9XRVJFRF9PRkY7Ci0gICAgY2FzZSAncG93ZXJlZC1vbic6Ci0g
ICAgICByZXR1cm4gYmx1ZXRvb3RoLm1vam9tLkNlbnRyYWxTdGF0ZS5QT1dFUkVEX09OOwotICAg
IGRlZmF1bHQ6Ci0gICAgICB0aHJvdyBgVW5zdXBwb3J0ZWQgdmFsdWUgJHtzdGF0ZX0gZm9yIHN0
YXRlLmA7Ci0gIH0KLX0KLQotLy8gQ2Fub25pY2FsaXplcyBVVUlEcyBhbmQgY29udmVydHMgdGhl
bSB0byBNb2pvIFVVSURzLgotZnVuY3Rpb24gY2Fub25pY2FsaXplQW5kQ29udmVydFRvTW9qb1VV
SUQodXVpZHMpIHsKLSAgbGV0IGNhbm9uaWNhbFVVSURzID0gdXVpZHMubWFwKHZhbCA9PiAoe3V1
aWQ6IEJsdWV0b290aFVVSUQuZ2V0U2VydmljZSh2YWwpfSkpOwotICByZXR1cm4gY2Fub25pY2Fs
VVVJRHM7Ci19Ci0KLS8vIENvbnZlcnRzIFdlYklETCBhIHJlY29yZDxET01TdHJpbmcsIEJ1ZmZl
clNvdXJjZT4gdG8gYSBtYXA8SywgYXJyYXk8dWludDg+PiB0bwotLy8gdXNlIGZvciBNb2pvLCB3
aGVyZSB0aGUgdmFsdWUgZm9yIEsgaXMgY2FsY3VsYXRlZCB1c2luZyBrZXlGbi4KLWZ1bmN0aW9u
IGNvbnZlcnRUb01vam9NYXAocmVjb3JkLCBrZXlGbikgewotICBsZXQgbWFwID0gbmV3IE1hcCgp
OwotICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyhyZWNvcmQpKSB7
Ci0gICAgbGV0IGJ1ZmZlciA9IEFycmF5QnVmZmVyLmlzVmlldyh2YWx1ZSkgPyB2YWx1ZS5idWZm
ZXIgOiB2YWx1ZTsKLSAgICBtYXAuc2V0KGtleUZuKGtleSksIEFycmF5LmZyb20obmV3IFVpbnQ4
QXJyYXkoYnVmZmVyKSkpOwotICB9Ci0gIHJldHVybiBtYXA7Ci19Ci0KLS8vIE1hcHBpbmcgb2Yg
dGhlIHByb3BlcnR5IG5hbWVzIG9mCi0vLyBCbHVldG9vdGhDaGFyYWN0ZXJpc3RpY1Byb3BlcnRp
ZXMgZGVmaW5lZCBpbgotLy8gaHR0cHM6Ly93ZWJibHVldG9vdGhjZy5naXRodWIuaW8vd2ViLWJs
dWV0b290aC8jY2hhcmFjdGVyaXN0aWNwcm9wZXJ0aWVzCi0vLyB0byBwcm9wZXJ0eSBuYW1lcyBv
ZiB0aGUgQ2hhcmFjdGVyaXN0aWNQcm9wZXJ0aWVzIG1vam8gc3RydWN0LgotY29uc3QgQ0hBUkFD
VEVSSVNUSUNfUFJPUEVSVElFU19XRUJfVE9fTU9KTyA9IHsKLSAgYnJvYWRjYXN0OiAnYnJvYWRj
YXN0JywKLSAgcmVhZDogJ3JlYWQnLAotICB3cml0ZV93aXRob3V0X3Jlc3BvbnNlOiAnd3JpdGVf
d2l0aG91dF9yZXNwb25zZScsCi0gIHdyaXRlOiAnd3JpdGUnLAotICBub3RpZnk6ICdub3RpZnkn
LAotICBpbmRpY2F0ZTogJ2luZGljYXRlJywKLSAgYXV0aGVudGljYXRlZFNpZ25lZFdyaXRlczog
J2F1dGhlbnRpY2F0ZWRfc2lnbmVkX3dyaXRlcycsCi0gIGV4dGVuZGVkX3Byb3BlcnRpZXM6ICdl
eHRlbmRlZF9wcm9wZXJ0aWVzJywKLX07Ci0KLS8vIE1hcHBpbmcgb2YgdGhlIE1vam8gQ2hvb3Nl
ckV2ZW50VHlwZSBlbnVtIHRvIGEgc3RyaW5nLgotY29uc3QgTU9KT19DSE9PU0VSX0VWRU5UX1RZ
UEVfTUFQID0gKCgpID0+IHsKLSAgY29uc3QgQ2hvb3NlckV2ZW50VHlwZSA9IGNvbnRlbnQubW9q
b20uQ2hvb3NlckV2ZW50VHlwZTsKLSAgcmV0dXJuIHsKLSAgICBbQ2hvb3NlckV2ZW50VHlwZS5D
SE9PU0VSX09QRU5FRF06ICdjaG9vc2VyLW9wZW5lZCcsCi0gICAgW0Nob29zZXJFdmVudFR5cGUu
Q0hPT1NFUl9DTE9TRURdOiAnY2hvb3Nlci1jbG9zZWQnLAotICAgIFtDaG9vc2VyRXZlbnRUeXBl
LkFEQVBURVJfUkVNT1ZFRF06ICdhZGFwdGVyLXJlbW92ZWQnLAotICAgIFtDaG9vc2VyRXZlbnRU
eXBlLkFEQVBURVJfRElTQUJMRURdOiAnYWRhcHRlci1kaXNhYmxlZCcsCi0gICAgW0Nob29zZXJF
dmVudFR5cGUuQURBUFRFUl9FTkFCTEVEXTogJ2FkYXB0ZXItZW5hYmxlZCcsCi0gICAgW0Nob29z
ZXJFdmVudFR5cGUuRElTQ09WRVJZX0ZBSUxFRF9UT19TVEFSVF06ICdkaXNjb3ZlcnktZmFpbGVk
LXRvLXN0YXJ0JywKLSAgICBbQ2hvb3NlckV2ZW50VHlwZS5ESVNDT1ZFUklOR106ICdkaXNjb3Zl
cmluZycsCi0gICAgW0Nob29zZXJFdmVudFR5cGUuRElTQ09WRVJZX0lETEVdOiAnZGlzY292ZXJ5
LWlkbGUnLAotICAgIFtDaG9vc2VyRXZlbnRUeXBlLkFERF9PUl9VUERBVEVfREVWSUNFXTogJ2Fk
ZC1vci11cGRhdGUtZGV2aWNlJywKLSAgfQotfSkoKTsKLQotZnVuY3Rpb24gQXJyYXlUb01vam9D
aGFyYWN0ZXJpc3RpY1Byb3BlcnRpZXMoYXJyKSB7Ci0gIGxldCBzdHJ1Y3QgPSBuZXcgYmx1ZXRv
b3RoLm1vam9tLkNoYXJhY3RlcmlzdGljUHJvcGVydGllcygpOwotCi0gIGFyci5mb3JFYWNoKHZh
bCA9PiB7Ci0gICAgbGV0IG1vam9fcHJvcGVydHkgPQotICAgICAgQ0hBUkFDVEVSSVNUSUNfUFJP
UEVSVElFU19XRUJfVE9fTU9KT1t2YWxdOwotCi0gICAgaWYgKHN0cnVjdC5oYXNPd25Qcm9wZXJ0
eShtb2pvX3Byb3BlcnR5KSkKLSAgICAgIHN0cnVjdFttb2pvX3Byb3BlcnR5XSA9IHRydWU7Ci0g
ICAgZWxzZQotICAgICAgdGhyb3cgYEludmFsaWQgbWVtYmVyICcke3ZhbH0nIGZvciBDaGFyYWN0
ZXJpc3RpY1Byb3BlcnRpZXNgOwotICB9KTsKLQotICByZXR1cm4gc3RydWN0OwotfQotCi1jbGFz
cyBGYWtlQmx1ZXRvb3RoIHsKLSAgY29uc3RydWN0b3IoKSB7Ci0gICAgdGhpcy5mYWtlX2JsdWV0
b290aF9wdHJfID0gbmV3IGJsdWV0b290aC5tb2pvbS5GYWtlQmx1ZXRvb3RoUHRyKCk7Ci0gICAg
TW9qby5iaW5kSW50ZXJmYWNlKGJsdWV0b290aC5tb2pvbS5GYWtlQmx1ZXRvb3RoLm5hbWUsCi0g
ICAgICAgIG1vam8ubWFrZVJlcXVlc3QodGhpcy5mYWtlX2JsdWV0b290aF9wdHJfKS5oYW5kbGUs
ICdwcm9jZXNzJyk7Ci0gICAgdGhpcy5mYWtlX2NlbnRyYWxfID0gbnVsbDsKLSAgfQotCi0gIC8v
IFNldCBpdCB0byBpbmRpY2F0ZSB3aGV0aGVyIHRoZSBwbGF0Zm9ybSBzdXBwb3J0cyBCTEUuIEZv
ciBleGFtcGxlLAotICAvLyBXaW5kb3dzIDcgaXMgYSBwbGF0Zm9ybSB0aGF0IGRvZXNuJ3Qgc3Vw
cG9ydCBMb3cgRW5lcmd5LiBPbiB0aGUgb3RoZXIKLSAgLy8gaGFuZCBXaW5kb3dzIDEwIGlzIGEg
cGxhdGZvcm0gdGhhdCBkb2VzIHN1cHBvcnQgTEUsIGV2ZW4gaWYgdGhlcmUgaXMgbm8KLSAgLy8g
Qmx1ZXRvb3RoIHJhZGlvIHByZXNlbnQuCi0gIGFzeW5jIHNldExFU3VwcG9ydGVkKHN1cHBvcnRl
ZCkgewotICAgIGlmICh0eXBlb2Ygc3VwcG9ydGVkICE9PSAnYm9vbGVhbicpIHRocm93ICdUeXBl
IE5vdCBTdXBwb3J0ZWQnOwotICAgIGF3YWl0IHRoaXMuZmFrZV9ibHVldG9vdGhfcHRyXy5zZXRM
RVN1cHBvcnRlZChzdXBwb3J0ZWQpOwotICB9Ci0KLSAgLy8gUmV0dXJucyBhIHByb21pc2UgdGhh
dCByZXNvbHZlcyB3aXRoIGEgRmFrZUNlbnRyYWwgdGhhdCBjbGllbnRzIGNhbiB1c2UKLSAgLy8g
dG8gc2ltdWxhdGUgZXZlbnRzIHRoYXQgYSBkZXZpY2UgaW4gdGhlIENlbnRyYWwvT2JzZXJ2ZXIg
cm9sZSB3b3VsZAotICAvLyByZWNlaXZlIGFzIHdlbGwgYXMgbW9uaXRvciB0aGUgb3BlcmF0aW9u
cyBwZXJmb3JtZWQgYnkgdGhlIGRldmljZSBpbiB0aGUKLSAgLy8gQ2VudHJhbC9PYnNlcnZlciBy
b2xlLgotICAvLyBDYWxscyBzZXRzIExFIGFzIHN1cHBvcnRlZC4KLSAgLy8KLSAgLy8gQSAiQ2Vu
dHJhbCIgb2JqZWN0IHdvdWxkIGFsbG93IGl0cyBjbGllbnRzIHRvIHJlY2VpdmUgYWR2ZXJ0aXNp
bmcgZXZlbnRzCi0gIC8vIGFuZCBpbml0aWF0ZSBjb25uZWN0aW9ucyB0byBwZXJpcGhlcmFscyBp
LmUuIG9wZXJhdGlvbnMgb2YgdHdvIHJvbGVzCi0gIC8vIGRlZmluZWQgYnkgdGhlIEJsdWV0b290
aCBTcGVjOiBPYnNlcnZlciBhbmQgQ2VudHJhbC4KLSAgLy8gU2VlIEJsdWV0b290aCA0LjIgVm9s
IDMgUGFydCBDIDIuMi4yICJSb2xlcyB3aGVuIE9wZXJhdGluZyBvdmVyIGFuCi0gIC8vIExFIFBo
eXNpY2FsIFRyYW5zcG9ydCIuCi0gIGFzeW5jIHNpbXVsYXRlQ2VudHJhbCh7c3RhdGV9KSB7Ci0g
ICAgaWYgKHRoaXMuZmFrZV9jZW50cmFsXykKLSAgICAgIHRocm93ICdzaW11bGF0ZUNlbnRyYWwo
KSBzaG91bGQgb25seSBiZSBjYWxsZWQgb25jZSc7Ci0KLSAgICBhd2FpdCB0aGlzLnNldExFU3Vw
cG9ydGVkKHRydWUpOwotCi0gICAgbGV0IHtmYWtlQ2VudHJhbDogZmFrZV9jZW50cmFsX3B0cn0g
PQotICAgICAgYXdhaXQgdGhpcy5mYWtlX2JsdWV0b290aF9wdHJfLnNpbXVsYXRlQ2VudHJhbCgK
LSAgICAgICAgdG9Nb2pvQ2VudHJhbFN0YXRlKHN0YXRlKSk7Ci0gICAgdGhpcy5mYWtlX2NlbnRy
YWxfID0gbmV3IEZha2VDZW50cmFsKGZha2VfY2VudHJhbF9wdHIpOwotICAgIHJldHVybiB0aGlz
LmZha2VfY2VudHJhbF87Ci0gIH0KLQotICAvLyBSZXR1cm5zIHRydWUgaWYgdGhlcmUgYXJlIG5v
IHBlbmRpbmcgcmVzcG9uc2VzLgotICBhc3luYyBhbGxSZXNwb25zZXNDb25zdW1lZCgpIHsKLSAg
ICBsZXQge2NvbnN1bWVkfSA9IGF3YWl0IHRoaXMuZmFrZV9ibHVldG9vdGhfcHRyXy5hbGxSZXNw
b25zZXNDb25zdW1lZCgpOwotICAgIHJldHVybiBjb25zdW1lZDsKLSAgfQotCi0gIC8vIFJldHVy
bnMgYSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2l0aCBhIEZha2VDaG9vc2VyIHRoYXQgY2xpZW50
cyBjYW4gdXNlIHRvCi0gIC8vIHNpbXVsYXRlIGNob29zZXIgZXZlbnRzLgotICBhc3luYyBnZXRN
YW51YWxDaG9vc2VyKCkgewotICAgIGlmICh0eXBlb2YgdGhpcy5mYWtlX2Nob29zZXJfID09PSAn
dW5kZWZpbmVkJykgewotICAgICAgdGhpcy5mYWtlX2Nob29zZXJfID0gbmV3IEZha2VDaG9vc2Vy
KCk7Ci0gICAgfQotICAgIHJldHVybiB0aGlzLmZha2VfY2hvb3Nlcl87Ci0gIH0KLX0KLQotLy8g
RmFrZUNlbnRyYWwgYWxsb3dzIGNsaWVudHMgdG8gc2ltdWxhdGUgZXZlbnRzIHRoYXQgYSBkZXZp
Y2UgaW4gdGhlCi0vLyBDZW50cmFsL09ic2VydmVyIHJvbGUgd291bGQgcmVjZWl2ZSBhcyB3ZWxs
IGFzIG1vbml0b3IgdGhlIG9wZXJhdGlvbnMKLS8vIHBlcmZvcm1lZCBieSB0aGUgZGV2aWNlIGlu
IHRoZSBDZW50cmFsL09ic2VydmVyIHJvbGUuCi1jbGFzcyBGYWtlQ2VudHJhbCB7Ci0gIGNvbnN0
cnVjdG9yKGZha2VfY2VudHJhbF9wdHIpIHsKLSAgICB0aGlzLmZha2VfY2VudHJhbF9wdHJfID0g
ZmFrZV9jZW50cmFsX3B0cjsKLSAgICB0aGlzLnBlcmlwaGVyYWxzXyA9IG5ldyBNYXAoKTsKLSAg
fQotCi0gIC8vIFNpbXVsYXRlcyBhIHBlcmlwaGVyYWwgd2l0aCB8YWRkcmVzc3wsIHxuYW1lfCBh
bmQgfGtub3duX3NlcnZpY2VfdXVpZHN8Ci0gIC8vIHRoYXQgaGFzIGFscmVhZHkgYmVlbiBjb25u
ZWN0ZWQgdG8gdGhlIHN5c3RlbS4gSWYgdGhlIHBlcmlwaGVyYWwgZXhpc3RlZAotICAvLyBhbHJl
YWR5IGl0IHVwZGF0ZXMgaXRzIG5hbWUgYW5kIGtub3duIFVVSURzLiB8a25vd25fc2VydmljZV91
dWlkc3wgc2hvdWxkCi0gIC8vIGJlIGFuIGFycmF5IG9mIEJsdWV0b290aFNlcnZpY2VVVUlEcwot
ICAvLyBodHRwczovL3dlYmJsdWV0b290aGNnLmdpdGh1Yi5pby93ZWItYmx1ZXRvb3RoLyN0eXBl
ZGVmZGVmLWJsdWV0b290aHNlcnZpY2V1dWlkCi0gIC8vCi0gIC8vIFBsYXRmb3JtcyBvZmZlciBt
ZXRob2RzIHRvIHJldHJpZXZlIGRldmljZXMgdGhhdCBoYXZlIGFscmVhZHkgYmVlbgotICAvLyBj
b25uZWN0ZWQgdG8gdGhlIHN5c3RlbSBvciB3ZXJlbid0IGNvbm5lY3RlZCB0aHJvdWdoIHRoZSBV
QSBlLmcuIGEgdXNlcgotICAvLyBjb25uZWN0ZWQgYSBwZXJpcGhlcmFsIHRocm91Z2ggdGhlIHN5
c3RlbSdzIHNldHRpbmdzLiBUaGlzIG1ldGhvZCBpcwotICAvLyBpbnRlbmRlZCB0byBzaW11bGF0
ZSBwZXJpcGhlcmFscyB0aGF0IHRob3NlIG1ldGhvZHMgd291bGQgcmV0dXJuLgotICBhc3luYyBz
aW11bGF0ZVByZWNvbm5lY3RlZFBlcmlwaGVyYWwoewotICAgIGFkZHJlc3MsIG5hbWUsIGtub3du
U2VydmljZVVVSURzID0gW119KSB7Ci0KLSAgICBhd2FpdCB0aGlzLmZha2VfY2VudHJhbF9wdHJf
LnNpbXVsYXRlUHJlY29ubmVjdGVkUGVyaXBoZXJhbCgKLSAgICAgIGFkZHJlc3MsIG5hbWUsIGNh
bm9uaWNhbGl6ZUFuZENvbnZlcnRUb01vam9VVUlEKGtub3duU2VydmljZVVVSURzKSk7Ci0KLSAg
ICByZXR1cm4gdGhpcy5mZXRjaE9yQ3JlYXRlUGVyaXBoZXJhbF8oYWRkcmVzcyk7Ci0gIH0KLQot
ICAvLyBTaW11bGF0ZXMgYW4gYWR2ZXJ0aXNlbWVudCBwYWNrZXQgZGVzY3JpYmVkIGJ5IHxzY2Fu
UmVzdWx0fCBiZWluZyByZWNlaXZlZAotICAvLyBmcm9tIGEgZGV2aWNlLiBJZiBjZW50cmFsIGlz
IGN1cnJlbnRseSBzY2FubmluZywgdGhlIGRldmljZSB3aWxsIGFwcGVhciBvbgotICAvLyB0aGUg
bGlzdCBvZiBkaXNjb3ZlcmVkIGRldmljZXMuCi0gIGFzeW5jIHNpbXVsYXRlQWR2ZXJ0aXNlbWVu
dFJlY2VpdmVkKHNjYW5SZXN1bHQpIHsKLSAgICBpZiAoJ3V1aWRzJyBpbiBzY2FuUmVzdWx0LnNj
YW5SZWNvcmQpIHsKLSAgICAgIHNjYW5SZXN1bHQuc2NhblJlY29yZC51dWlkcyA9Ci0gICAgICAg
ICAgY2Fub25pY2FsaXplQW5kQ29udmVydFRvTW9qb1VVSUQoc2NhblJlc3VsdC5zY2FuUmVjb3Jk
LnV1aWRzKTsKLSAgICB9Ci0KLSAgICAvLyBDb252ZXJ0IHRoZSBvcHRpb25hbCBhcHBlYXJhbmNl
IGFuZCB0eFBvd2VyIGZpZWxkcyB0byB0aGUgY29ycmVzcG9uZGluZwotICAgIC8vIE1vam8gc3Ry
dWN0dXJlcywgc2luY2UgTW9qbyBkb2VzIG5vdCBzdXBwb3J0IG9wdGlvbmFsIGludGVyZ2VyIHZh
bHVlcy4gSWYKLSAgICAvLyB0aGUgZmllbGRzIGFyZSB1bmRlZmluZWQsIHNldCB0aGUgaGFzVmFs
dWUgZmllbGQgYXMgZmFsc2UgYW5kIHZhbHVlIGFzIDAuCi0gICAgLy8gT3RoZXJ3aXNlLCBzZXQg
dGhlIGhhc1ZhbHVlIGZpZWxkIGFzIHRydWUgYW5kIHZhbHVlIHdpdGggdGhlIGZpZWxkIHZhbHVl
LgotICAgIGNvbnN0IGhhc19hcHBlYXJhbmNlID0gJ2FwcGVhcmFuY2UnIGluIHNjYW5SZXN1bHQu
c2NhblJlY29yZDsKLSAgICBzY2FuUmVzdWx0LnNjYW5SZWNvcmQuYXBwZWFyYW5jZSA9IHsKLSAg
ICAgIGhhc1ZhbHVlOiBoYXNfYXBwZWFyYW5jZSwKLSAgICAgIHZhbHVlOiAoaGFzX2FwcGVhcmFu
Y2UgPyBzY2FuUmVzdWx0LnNjYW5SZWNvcmQuYXBwZWFyYW5jZSA6IDApCi0gICAgfQotCi0gICAg
Y29uc3QgaGFzX3R4X3Bvd2VyID0gJ3R4UG93ZXInIGluIHNjYW5SZXN1bHQuc2NhblJlY29yZDsK
LSAgICBzY2FuUmVzdWx0LnNjYW5SZWNvcmQudHhQb3dlciA9IHsKLSAgICAgIGhhc1ZhbHVlOiBo
YXNfdHhfcG93ZXIsCi0gICAgICB2YWx1ZTogKGhhc190eF9wb3dlciA/IHNjYW5SZXN1bHQuc2Nh
blJlY29yZC50eFBvd2VyIDogMCkKLSAgICB9Ci0KLSAgICAvLyBDb252ZXJ0IG1hbnVmYWN0dXJl
ckRhdGEgZnJvbSBhIHJlY29yZDxET01TdHJpbmcsIEJ1ZmZlclNvdXJjZT4gaW50byBhCi0gICAg
Ly8gbWFwPHVpbnQ4LCBhcnJheTx1aW50OD4+IGZvciBNb2pvLgotICAgIGlmICgnbWFudWZhY3R1
cmVyRGF0YScgaW4gc2NhblJlc3VsdC5zY2FuUmVjb3JkKSB7Ci0gICAgICBzY2FuUmVzdWx0LnNj
YW5SZWNvcmQubWFudWZhY3R1cmVyRGF0YSA9IGNvbnZlcnRUb01vam9NYXAoCi0gICAgICAgICAg
c2NhblJlc3VsdC5zY2FuUmVjb3JkLm1hbnVmYWN0dXJlckRhdGEsIE51bWJlcik7Ci0gICAgfQot
Ci0gICAgLy8gQ29udmVydCBzZXJ2aWNlRGF0YSBmcm9tIGEgcmVjb3JkPERPTVN0cmluZywgQnVm
ZmVyU291cmNlPiBpbnRvIGEKLSAgICAvLyBtYXA8c3RyaW5nLCBhcnJheTx1aW50OD4+IGZvciBN
b2pvLgotICAgIGlmICgnc2VydmljZURhdGEnIGluIHNjYW5SZXN1bHQuc2NhblJlY29yZCkgewot
ICAgICAgc2NhblJlc3VsdC5zY2FuUmVjb3JkLnNlcnZpY2VEYXRhLnNlcnZpY2VEYXRhID0gY29u
dmVydFRvTW9qb01hcCgKLSAgICAgICAgICBzY2FuUmVzdWx0LnNjYW5SZWNvcmQuc2VydmljZURh
dGEsIEJsdWV0b290aFVVSUQuZ2V0U2VydmljZSk7Ci0gICAgfQotCi0gICAgYXdhaXQgdGhpcy5m
YWtlX2NlbnRyYWxfcHRyXy5zaW11bGF0ZUFkdmVydGlzZW1lbnRSZWNlaXZlZCgKLSAgICAgICAg
bmV3IGJsdWV0b290aC5tb2pvbS5TY2FuUmVzdWx0KHNjYW5SZXN1bHQpKTsKLQotICAgIHJldHVy
biB0aGlzLmZldGNoT3JDcmVhdGVQZXJpcGhlcmFsXyhzY2FuUmVzdWx0LmRldmljZUFkZHJlc3Mp
OwotICB9Ci0KLSAgLy8gU2ltdWxhdGVzIGEgY2hhbmdlIGluIHRoZSBjZW50cmFsIGRldmljZSBk
ZXNjcmliZWQgYnkgfHN0YXRlfC4gRm9yIGV4YW1wbGUsCi0gIC8vIHNldFN0YXRlKCdwb3dlcmVk
LW9mZicpIGNhbiBiZSB1c2VkIHRvIHNpbXVsYXRlIHRoZSBjZW50cmFsIGRldmljZSBwb3dlcmlu
ZwotICAvLyBvZmYuCi0gIC8vCi0gIC8vIFRoaXMgbWV0aG9kIHNob3VsZCBiZSB1c2VkIGZvciBh
bnkgY2VudHJhbCBzdGF0ZSBjaGFuZ2VzIGFmdGVyCi0gIC8vIHNpbXVsYXRlQ2VudHJhbCgpIGhh
cyBiZWVuIGNhbGxlZCB0byBjcmVhdGUgYSBGYWtlQ2VudHJhbCBvYmplY3QuCi0gIGFzeW5jIHNl
dFN0YXRlKHN0YXRlKSB7Ci0gICAgYXdhaXQgdGhpcy5mYWtlX2NlbnRyYWxfcHRyXy5zZXRTdGF0
ZSh0b01vam9DZW50cmFsU3RhdGUoc3RhdGUpKTsKLSAgfQotCi0gIC8vIENyZWF0ZSBhIGZha2Vf
cGVyaXBoZXJhbCBvYmplY3QgZnJvbSB0aGUgZ2l2ZW4gYWRkcmVzcy4KLSAgZmV0Y2hPckNyZWF0
ZVBlcmlwaGVyYWxfKGFkZHJlc3MpIHsKLSAgICBsZXQgcGVyaXBoZXJhbCA9IHRoaXMucGVyaXBo
ZXJhbHNfLmdldChhZGRyZXNzKTsKLSAgICBpZiAocGVyaXBoZXJhbCA9PT0gdW5kZWZpbmVkKSB7
Ci0gICAgICBwZXJpcGhlcmFsID0gbmV3IEZha2VQZXJpcGhlcmFsKGFkZHJlc3MsIHRoaXMuZmFr
ZV9jZW50cmFsX3B0cl8pOwotICAgICAgdGhpcy5wZXJpcGhlcmFsc18uc2V0KGFkZHJlc3MsIHBl
cmlwaGVyYWwpOwotICAgIH0KLSAgICByZXR1cm4gcGVyaXBoZXJhbDsKLSAgfQotfQotCi1jbGFz
cyBGYWtlUGVyaXBoZXJhbCB7Ci0gIGNvbnN0cnVjdG9yKGFkZHJlc3MsIGZha2VfY2VudHJhbF9w
dHIpIHsKLSAgICB0aGlzLmFkZHJlc3MgPSBhZGRyZXNzOwotICAgIHRoaXMuZmFrZV9jZW50cmFs
X3B0cl8gPSBmYWtlX2NlbnRyYWxfcHRyOwotICB9Ci0KLSAgLy8gQWRkcyBhIGZha2UgR0FUVCBT
ZXJ2aWNlIHdpdGggfHV1aWR8IHRvIGJlIGRpc2NvdmVyZWQgd2hlbiBkaXNjb3ZlcmluZwotICAv
LyB0aGUgcGVyaXBoZXJhbCdzIEdBVFQgQXR0cmlidXRlcy4gUmV0dXJucyBhIEZha2VSZW1vdGVH
QVRUU2VydmljZQotICAvLyBjb3JyZXNwb25kaW5nIHRvIHRoaXMgc2VydmljZS4gfHV1aWR8IHNo
b3VsZCBiZSBhIEJsdWV0b290aFNlcnZpY2VVVUlEcwotICAvLyBodHRwczovL3dlYmJsdWV0b290
aGNnLmdpdGh1Yi5pby93ZWItYmx1ZXRvb3RoLyN0eXBlZGVmZGVmLWJsdWV0b290aHNlcnZpY2V1
dWlkCi0gIGFzeW5jIGFkZEZha2VTZXJ2aWNlKHt1dWlkfSkgewotICAgIGxldCB7c2VydmljZUlk
OiBzZXJ2aWNlX2lkfSA9IGF3YWl0IHRoaXMuZmFrZV9jZW50cmFsX3B0cl8uYWRkRmFrZVNlcnZp
Y2UoCi0gICAgICB0aGlzLmFkZHJlc3MsIHt1dWlkOiBCbHVldG9vdGhVVUlELmdldFNlcnZpY2Uo
dXVpZCl9KTsKLQotICAgIGlmIChzZXJ2aWNlX2lkID09PSBudWxsKSB0aHJvdyAnYWRkRmFrZVNl
cnZpY2UgZmFpbGVkJzsKLQotICAgIHJldHVybiBuZXcgRmFrZVJlbW90ZUdBVFRTZXJ2aWNlKAot
ICAgICAgc2VydmljZV9pZCwgdGhpcy5hZGRyZXNzLCB0aGlzLmZha2VfY2VudHJhbF9wdHJfKTsK
LSAgfQotCi0gIC8vIFNldHMgdGhlIG5leHQgR0FUVCBDb25uZWN0aW9uIHJlcXVlc3QgcmVzcG9u
c2UgdG8gfGNvZGV8LiB8Y29kZXwgY291bGQgYmUKLSAgLy8gYW4gSENJIEVycm9yIENvZGUgZnJv
bSBCVCA0LjIgVm9sIDIgUGFydCBEIDEuMyBMaXN0IE9mIEVycm9yIENvZGVzIG9yIGEKLSAgLy8g
bnVtYmVyIG91dHNpZGUgdGhhdCByYW5nZSByZXR1cm5lZCBieSBzcGVjaWZpYyBwbGF0Zm9ybXMg
ZS5nLiBBbmRyb2lkCi0gIC8vIHJldHVybnMgMHgxMDEgdG8gc2lnbmFsIGEgR0FUVCBmYWlsdXJl
Ci0gIC8vIGh0dHBzOi8vZGV2ZWxvcGVyLmFuZHJvaWQuY29tL3JlZmVyZW5jZS9hbmRyb2lkL2Js
dWV0b290aC9CbHVldG9vdGhHYXR0Lmh0bWwjR0FUVF9GQUlMVVJFCi0gIGFzeW5jIHNldE5leHRH
QVRUQ29ubmVjdGlvblJlc3BvbnNlKHtjb2RlfSkgewotICAgIGxldCB7c3VjY2Vzc30gPQotICAg
ICAgYXdhaXQgdGhpcy5mYWtlX2NlbnRyYWxfcHRyXy5zZXROZXh0R0FUVENvbm5lY3Rpb25SZXNw
b25zZSgKLSAgICAgICAgdGhpcy5hZGRyZXNzLCBjb2RlKTsKLQotICAgIGlmIChzdWNjZXNzICE9
PSB0cnVlKSB0aHJvdyAnc2V0TmV4dEdBVFRDb25uZWN0aW9uUmVzcG9uc2UgZmFpbGVkLic7Ci0g
IH0KLQotICAvLyBTZXRzIHRoZSBuZXh0IEdBVFQgRGlzY292ZXJ5IHJlcXVlc3QgcmVzcG9uc2Ug
Zm9yIHBlcmlwaGVyYWwgd2l0aAotICAvLyB8YWRkcmVzc3wgdG8gfGNvZGV8LiB8Y29kZXwgY291
bGQgYmUgYW4gSENJIEVycm9yIENvZGUgZnJvbQotICAvLyBCVCA0LjIgVm9sIDIgUGFydCBEIDEu
MyBMaXN0IE9mIEVycm9yIENvZGVzIG9yIGEgbnVtYmVyIG91dHNpZGUgdGhhdAotICAvLyByYW5n
ZSByZXR1cm5lZCBieSBzcGVjaWZpYyBwbGF0Zm9ybXMgZS5nLiBBbmRyb2lkIHJldHVybnMgMHgx
MDEgdG8gc2lnbmFsCi0gIC8vIGEgR0FUVCBmYWlsdXJlCi0gIC8vIGh0dHBzOi8vZGV2ZWxvcGVy
LmFuZHJvaWQuY29tL3JlZmVyZW5jZS9hbmRyb2lkL2JsdWV0b290aC9CbHVldG9vdGhHYXR0Lmh0
bWwjR0FUVF9GQUlMVVJFCi0gIC8vCi0gIC8vIFRoZSBmb2xsb3dpbmcgcHJvY2VkdXJlcyBkZWZp
bmVkIGF0IEJUIDQuMiBWb2wgMyBQYXJ0IEcgU2VjdGlvbiA0LgotICAvLyAiR0FUVCBGZWF0dXJl
IFJlcXVpcmVtZW50cyIgYXJlIHVzZWQgdG8gZGlzY292ZXIgYXR0cmlidXRlcyBvZiB0aGUKLSAg
Ly8gR0FUVCBTZXJ2ZXI6Ci0gIC8vICAtIFByaW1hcnkgU2VydmljZSBEaXNjb3ZlcnkKLSAgLy8g
IC0gUmVsYXRpb25zaGlwIERpc2NvdmVyeQotICAvLyAgLSBDaGFyYWN0ZXJpc3RpYyBEaXNjb3Zl
cnkKLSAgLy8gIC0gQ2hhcmFjdGVyaXN0aWMgRGVzY3JpcHRvciBEaXNjb3ZlcnkKLSAgLy8gVGhp
cyBtZXRob2QgYWltcyB0byBzaW11bGF0ZSB0aGUgcmVzcG9uc2Ugb25jZSBhbGwgb2YgdGhlc2Ug
cHJvY2VkdXJlcwotICAvLyBoYXZlIGNvbXBsZXRlZCBvciBpZiB0aGVyZSB3YXMgYW4gZXJyb3Ig
ZHVyaW5nIGFueSBvZiB0aGVtLgotICBhc3luYyBzZXROZXh0R0FUVERpc2NvdmVyeVJlc3BvbnNl
KHtjb2RlfSkgewotICAgIGxldCB7c3VjY2Vzc30gPQotICAgICAgYXdhaXQgdGhpcy5mYWtlX2Nl
bnRyYWxfcHRyXy5zZXROZXh0R0FUVERpc2NvdmVyeVJlc3BvbnNlKAotICAgICAgICB0aGlzLmFk
ZHJlc3MsIGNvZGUpOwotCi0gICAgaWYgKHN1Y2Nlc3MgIT09IHRydWUpIHRocm93ICdzZXROZXh0
R0FUVERpc2NvdmVyeVJlc3BvbnNlIGZhaWxlZC4nOwotICB9Ci0KLSAgLy8gU2ltdWxhdGVzIGEg
R0FUVCBkaXNjb25uZWN0aW9uIGZyb20gdGhlIHBlcmlwaGVyYWwgd2l0aCB8YWRkcmVzc3wuCi0g
IGFzeW5jIHNpbXVsYXRlR0FUVERpc2Nvbm5lY3Rpb24oKSB7Ci0gICAgbGV0IHtzdWNjZXNzfSA9
Ci0gICAgICBhd2FpdCB0aGlzLmZha2VfY2VudHJhbF9wdHJfLnNpbXVsYXRlR0FUVERpc2Nvbm5l
Y3Rpb24odGhpcy5hZGRyZXNzKTsKLQotICAgIGlmIChzdWNjZXNzICE9PSB0cnVlKSB0aHJvdyAn
c2ltdWxhdGVHQVRURGlzY29ubmVjdGlvbiBmYWlsZWQuJzsKLSAgfQotCi0gIC8vIFNpbXVsYXRl
cyBhbiBJbmRpY2F0aW9uIGZyb20gdGhlIHBlcmlwaGVyYWwncyBHQVRUIGBTZXJ2aWNlIENoYW5n
ZWRgCi0gIC8vIENoYXJhY3RlcmlzdGljIGZyb20gQlQgNC4yIFZvbCAzIFBhcnQgRyA3LjEuIFRo
aXMgSW5kaWNhdGlvbiBpcyBzaWduYWxlZAotICAvLyB3aGVuIHNlcnZpY2VzLCBjaGFyYWN0ZXJp
c3RpY3MsIG9yIGRlc2NyaXB0b3JzIGFyZSBjaGFuZ2VkLCBhZGRlZCwgb3IKLSAgLy8gcmVtb3Zl
ZC4KLSAgLy8KLSAgLy8gVGhlIHZhbHVlIGZvciBgU2VydmljZSBDaGFuZ2VkYCBpcyBhIHJhbmdl
IG9mIGF0dHJpYnV0ZSBoYW5kbGVzIHRoYXQgaGF2ZQotICAvLyBjaGFuZ2VkLiBIb3dldmVyLCB0
aGlzIHRlc3Rpbmcgc3BlY2lmaWNhdGlvbiB3b3JrcyBhdCBhbiBhYnN0cmFjdGVkCi0gIC8vIGxl
dmVsIGFuZCBkb2VzIG5vdCBleHBvc2Ugc2V0dGluZyBhdHRyaWJ1dGUgaGFuZGxlcyB3aGVuIGFk
ZGluZwotICAvLyBhdHRyaWJ1dGVzLiBDb25zZXF1ZW50bHksIHRoaXMgc2ltdWxhdGUgbWV0aG9k
IHNob3VsZCBpbmNsdWRlIHRoZSBmdWxsCi0gIC8vIHJhbmdlIG9mIGFsbCB0aGUgcGVyaXBoZXJh
bCdzIGF0dHJpYnV0ZSBoYW5kbGUgdmFsdWVzLgotICBhc3luYyBzaW11bGF0ZUdBVFRTZXJ2aWNl
c0NoYW5nZWQoKSB7Ci0gICAgbGV0IHtzdWNjZXNzfSA9Ci0gICAgICBhd2FpdCB0aGlzLmZha2Vf
Y2VudHJhbF9wdHJfLnNpbXVsYXRlR0FUVFNlcnZpY2VzQ2hhbmdlZCh0aGlzLmFkZHJlc3MpOwot
Ci0gICAgaWYgKHN1Y2Nlc3MgIT09IHRydWUpIHRocm93ICdzaW11bGF0ZUdBVFRTZXJ2aWNlc0No
YW5nZWQgZmFpbGVkLic7Ci0gIH0KLX0KLQotY2xhc3MgRmFrZVJlbW90ZUdBVFRTZXJ2aWNlIHsK
LSAgY29uc3RydWN0b3Ioc2VydmljZV9pZCwgcGVyaXBoZXJhbF9hZGRyZXNzLCBmYWtlX2NlbnRy
YWxfcHRyKSB7Ci0gICAgdGhpcy5zZXJ2aWNlX2lkXyA9IHNlcnZpY2VfaWQ7Ci0gICAgdGhpcy5w
ZXJpcGhlcmFsX2FkZHJlc3NfID0gcGVyaXBoZXJhbF9hZGRyZXNzOwotICAgIHRoaXMuZmFrZV9j
ZW50cmFsX3B0cl8gPSBmYWtlX2NlbnRyYWxfcHRyOwotICB9Ci0KLSAgLy8gQWRkcyBhIGZha2Ug
R0FUVCBDaGFyYWN0ZXJpc3RpYyB3aXRoIHx1dWlkfCBhbmQgfHByb3BlcnRpZXN8Ci0gIC8vIHRv
IHRoaXMgZmFrZSBzZXJ2aWNlLiBUaGUgY2hhcmFjdGVyaXN0aWMgd2lsbCBiZSBmb3VuZCB3aGVu
IGRpc2NvdmVyaW5nCi0gIC8vIHRoZSBwZXJpcGhlcmFsJ3MgR0FUVCBBdHRyaWJ1dGVzLiBSZXR1
cm5zIGEgRmFrZVJlbW90ZUdBVFRDaGFyYWN0ZXJpc3RpYwotICAvLyBjb3JyZXNwb25kaW5nIHRv
IHRoZSBhZGRlZCBjaGFyYWN0ZXJpc3RpYy4KLSAgYXN5bmMgYWRkRmFrZUNoYXJhY3RlcmlzdGlj
KHt1dWlkLCBwcm9wZXJ0aWVzfSkgewotICAgIGxldCB7Y2hhcmFjdGVyaXN0aWNJZDogY2hhcmFj
dGVyaXN0aWNfaWR9ID0KLSAgICAgICAgYXdhaXQgdGhpcy5mYWtlX2NlbnRyYWxfcHRyXy5hZGRG
YWtlQ2hhcmFjdGVyaXN0aWMoCi0gICAgICAgICAgICB7dXVpZDogQmx1ZXRvb3RoVVVJRC5nZXRD
aGFyYWN0ZXJpc3RpYyh1dWlkKX0sCi0gICAgICAgICAgICBBcnJheVRvTW9qb0NoYXJhY3Rlcmlz
dGljUHJvcGVydGllcyhwcm9wZXJ0aWVzKSwKLSAgICAgICAgICAgIHRoaXMuc2VydmljZV9pZF8s
Ci0gICAgICAgICAgICB0aGlzLnBlcmlwaGVyYWxfYWRkcmVzc18pOwotCi0gICAgaWYgKGNoYXJh
Y3RlcmlzdGljX2lkID09PSBudWxsKSB0aHJvdyAnYWRkRmFrZUNoYXJhY3RlcmlzdGljIGZhaWxl
ZCc7Ci0KLSAgICByZXR1cm4gbmV3IEZha2VSZW1vdGVHQVRUQ2hhcmFjdGVyaXN0aWMoCi0gICAg
ICBjaGFyYWN0ZXJpc3RpY19pZCwgdGhpcy5zZXJ2aWNlX2lkXywKLSAgICAgIHRoaXMucGVyaXBo
ZXJhbF9hZGRyZXNzXywgdGhpcy5mYWtlX2NlbnRyYWxfcHRyXyk7Ci0gIH0KLQotICAvLyBSZW1v
dmVzIHRoZSBmYWtlIEdBVFQgc2VydmljZSBmcm9tIGl0cyBmYWtlIHBlcmlwaGVyYWwuCi0gIGFz
eW5jIHJlbW92ZSgpIHsKLSAgICBsZXQge3N1Y2Nlc3N9ID0KLSAgICAgICAgYXdhaXQgdGhpcy5m
YWtlX2NlbnRyYWxfcHRyXy5yZW1vdmVGYWtlU2VydmljZSgKLSAgICAgICAgICAgIHRoaXMuc2Vy
dmljZV9pZF8sCi0gICAgICAgICAgICB0aGlzLnBlcmlwaGVyYWxfYWRkcmVzc18pOwotCi0gICAg
aWYgKCFzdWNjZXNzKSB0aHJvdyAncmVtb3ZlIGZhaWxlZCc7Ci0gIH0KLX0KLQotY2xhc3MgRmFr
ZVJlbW90ZUdBVFRDaGFyYWN0ZXJpc3RpYyB7Ci0gIGNvbnN0cnVjdG9yKGNoYXJhY3RlcmlzdGlj
X2lkLCBzZXJ2aWNlX2lkLCBwZXJpcGhlcmFsX2FkZHJlc3MsCi0gICAgICBmYWtlX2NlbnRyYWxf
cHRyKSB7Ci0gICAgdGhpcy5pZHNfID0gW2NoYXJhY3RlcmlzdGljX2lkLCBzZXJ2aWNlX2lkLCBw
ZXJpcGhlcmFsX2FkZHJlc3NdOwotICAgIHRoaXMuZGVzY3JpcHRvcnNfID0gW107Ci0gICAgdGhp
cy5mYWtlX2NlbnRyYWxfcHRyXyA9IGZha2VfY2VudHJhbF9wdHI7Ci0gIH0KLQotICAvLyBBZGRz
IGEgZmFrZSBHQVRUIERlc2NyaXB0b3Igd2l0aCB8dXVpZHwgdG8gYmUgZGlzY292ZXJlZCB3aGVu
Ci0gIC8vIGRpc2NvdmVyaW5nIHRoZSBwZXJpcGhlcmFsJ3MgR0FUVCBBdHRyaWJ1dGVzLiBSZXR1
cm5zIGEKLSAgLy8gRmFrZVJlbW90ZUdBVFREZXNjcmlwdG9yIGNvcnJlc3BvbmRpbmcgdG8gdGhp
cyBkZXNjcmlwdG9yLiB8dXVpZHwgc2hvdWxkCi0gIC8vIGJlIGEgQmx1ZXRvb3RoRGVzY3JpcHRv
clVVSUQKLSAgLy8gaHR0cHM6Ly93ZWJibHVldG9vdGhjZy5naXRodWIuaW8vd2ViLWJsdWV0b290
aC8jdHlwZWRlZmRlZi1ibHVldG9vdGhkZXNjcmlwdG9ydXVpZAotICBhc3luYyBhZGRGYWtlRGVz
Y3JpcHRvcih7dXVpZH0pIHsKLSAgICBsZXQge2Rlc2NyaXB0b3JJZDogZGVzY3JpcHRvcl9pZH0g
PQotICAgICAgICBhd2FpdCB0aGlzLmZha2VfY2VudHJhbF9wdHJfLmFkZEZha2VEZXNjcmlwdG9y
KAotICAgICAgICAgICAge3V1aWQ6IEJsdWV0b290aFVVSUQuZ2V0RGVzY3JpcHRvcih1dWlkKX0s
IC4uLnRoaXMuaWRzXyk7Ci0KLSAgICBpZiAoZGVzY3JpcHRvcl9pZCA9PT0gbnVsbCkgdGhyb3cg
J2FkZEZha2VEZXNjcmlwdG9yIGZhaWxlZCc7Ci0KLSAgICBsZXQgZmFrZV9kZXNjcmlwdG9yID0g
bmV3IEZha2VSZW1vdGVHQVRURGVzY3JpcHRvcigKLSAgICAgIGRlc2NyaXB0b3JfaWQsIC4uLnRo
aXMuaWRzXywgdGhpcy5mYWtlX2NlbnRyYWxfcHRyXyk7Ci0gICAgdGhpcy5kZXNjcmlwdG9yc18u
cHVzaChmYWtlX2Rlc2NyaXB0b3IpOwotCi0gICAgcmV0dXJuIGZha2VfZGVzY3JpcHRvcjsKLSAg
fQotCi0gIC8vIFNldHMgdGhlIG5leHQgcmVhZCByZXNwb25zZSBmb3IgY2hhcmFjdGVyaXN0aWMg
dG8gfGNvZGV8IGFuZCB8dmFsdWV8LgotICAvLyB8Y29kZXwgY291bGQgYmUgYSBHQVRUIEVycm9y
IFJlc3BvbnNlIGZyb20KLSAgLy8gQlQgNC4yIFZvbCAzIFBhcnQgRiAzLjQuMS4xIEVycm9yIFJl
c3BvbnNlIG9yIGEgbnVtYmVyIG91dHNpZGUgdGhhdCByYW5nZQotICAvLyByZXR1cm5lZCBieSBz
cGVjaWZpYyBwbGF0Zm9ybXMgZS5nLiBBbmRyb2lkIHJldHVybnMgMHgxMDEgdG8gc2lnbmFsIGEg
R0FUVAotICAvLyBmYWlsdXJlLgotICAvLyBodHRwczovL2RldmVsb3Blci5hbmRyb2lkLmNvbS9y
ZWZlcmVuY2UvYW5kcm9pZC9ibHVldG9vdGgvQmx1ZXRvb3RoR2F0dC5odG1sI0dBVFRfRkFJTFVS
RQotICBhc3luYyBzZXROZXh0UmVhZFJlc3BvbnNlKGdhdHRfY29kZSwgdmFsdWU9bnVsbCkgewot
ICAgIGlmIChnYXR0X2NvZGUgPT09IDAgJiYgdmFsdWUgPT09IG51bGwpIHsKLSAgICAgIHRocm93
ICd8dmFsdWV8IGNhblwndCBiZSBudWxsIGlmIHJlYWQgc2hvdWxkIHN1Y2Nlc3MuJzsKLSAgICB9
Ci0gICAgaWYgKGdhdHRfY29kZSAhPT0gMCAmJiB2YWx1ZSAhPT0gbnVsbCkgewotICAgICAgdGhy
b3cgJ3x2YWx1ZXwgbXVzdCBiZSBudWxsIGlmIHJlYWQgc2hvdWxkIGZhaWwuJzsKLSAgICB9Ci0K
LSAgICBsZXQge3N1Y2Nlc3N9ID0KLSAgICAgIGF3YWl0IHRoaXMuZmFrZV9jZW50cmFsX3B0cl8u
c2V0TmV4dFJlYWRDaGFyYWN0ZXJpc3RpY1Jlc3BvbnNlKAotICAgICAgICBnYXR0X2NvZGUsIHZh
bHVlLCAuLi50aGlzLmlkc18pOwotCi0gICAgaWYgKCFzdWNjZXNzKSB0aHJvdyAnc2V0TmV4dFJl
YWRDaGFyYWN0ZXJpc3RpY1Jlc3BvbnNlIGZhaWxlZCc7Ci0gIH0KLQotICAvLyBTZXRzIHRoZSBu
ZXh0IHdyaXRlIHJlc3BvbnNlIGZvciB0aGlzIGNoYXJhY3RlcmlzdGljIHRvIHxjb2RlfC4gSWYK
LSAgLy8gd3JpdGluZyB0byBhIGNoYXJhY3RlcmlzdGljIHRoYXQgb25seSBzdXBwb3J0cyAnd3Jp
dGVfd2l0aG91dF9yZXNwb25zZScKLSAgLy8gdGhlIHNldCByZXNwb25zZSB3aWxsIGJlIGlnbm9y
ZWQuCi0gIC8vIHxjb2RlfCBjb3VsZCBiZSBhIEdBVFQgRXJyb3IgUmVzcG9uc2UgZnJvbQotICAv
LyBCVCA0LjIgVm9sIDMgUGFydCBGIDMuNC4xLjEgRXJyb3IgUmVzcG9uc2Ugb3IgYSBudW1iZXIg
b3V0c2lkZSB0aGF0IHJhbmdlCi0gIC8vIHJldHVybmVkIGJ5IHNwZWNpZmljIHBsYXRmb3JtcyBl
LmcuIEFuZHJvaWQgcmV0dXJucyAweDEwMSB0byBzaWduYWwgYSBHQVRUCi0gIC8vIGZhaWx1cmUu
Ci0gIGFzeW5jIHNldE5leHRXcml0ZVJlc3BvbnNlKGdhdHRfY29kZSkgewotICAgIGxldCB7c3Vj
Y2Vzc30gPQotICAgICAgYXdhaXQgdGhpcy5mYWtlX2NlbnRyYWxfcHRyXy5zZXROZXh0V3JpdGVD
aGFyYWN0ZXJpc3RpY1Jlc3BvbnNlKAotICAgICAgICBnYXR0X2NvZGUsIC4uLnRoaXMuaWRzXyk7
Ci0KLSAgICBpZiAoIXN1Y2Nlc3MpIHRocm93ICdzZXROZXh0V3JpdGVDaGFyYWN0ZXJpc3RpY1Jl
c3BvbnNlIGZhaWxlZCc7Ci0gIH0KLQotICAvLyBTZXRzIHRoZSBuZXh0IHN1YnNjcmliZSB0byBu
b3RpZmljYXRpb25zIHJlc3BvbnNlIGZvciBjaGFyYWN0ZXJpc3RpYyB3aXRoCi0gIC8vIHxjaGFy
YWN0ZXJpc3RpY19pZHwgaW4gfHNlcnZpY2VfaWR8IGFuZCBpbiB8cGVyaXBoZXJhbF9hZGRyZXNz
fCB0bwotICAvLyB8Y29kZXwuIHxjb2RlfCBjb3VsZCBiZSBhIEdBVFQgRXJyb3IgUmVzcG9uc2Ug
ZnJvbSBCVCA0LjIgVm9sIDMgUGFydCBGCi0gIC8vIDMuNC4xLjEgRXJyb3IgUmVzcG9uc2Ugb3Ig
YSBudW1iZXIgb3V0c2lkZSB0aGF0IHJhbmdlIHJldHVybmVkIGJ5Ci0gIC8vIHNwZWNpZmljIHBs
YXRmb3JtcyBlLmcuIEFuZHJvaWQgcmV0dXJucyAweDEwMSB0byBzaWduYWwgYSBHQVRUIGZhaWx1
cmUuCi0gIGFzeW5jIHNldE5leHRTdWJzY3JpYmVUb05vdGlmaWNhdGlvbnNSZXNwb25zZShnYXR0
X2NvZGUpIHsKLSAgICBsZXQge3N1Y2Nlc3N9ID0KLSAgICAgIGF3YWl0IHRoaXMuZmFrZV9jZW50
cmFsX3B0cl8uc2V0TmV4dFN1YnNjcmliZVRvTm90aWZpY2F0aW9uc1Jlc3BvbnNlKAotICAgICAg
ICBnYXR0X2NvZGUsIC4uLnRoaXMuaWRzXyk7Ci0KLSAgICBpZiAoIXN1Y2Nlc3MpIHRocm93ICdz
ZXROZXh0U3Vic2NyaWJlVG9Ob3RpZmljYXRpb25zUmVzcG9uc2UgZmFpbGVkJzsKLSAgfQotCi0g
IC8vIFNldHMgdGhlIG5leHQgdW5zdWJzY3JpYmUgdG8gbm90aWZpY2F0aW9ucyByZXNwb25zZSBm
b3IgY2hhcmFjdGVyaXN0aWMgd2l0aAotICAvLyB8Y2hhcmFjdGVyaXN0aWNfaWR8IGluIHxzZXJ2
aWNlX2lkfCBhbmQgaW4gfHBlcmlwaGVyYWxfYWRkcmVzc3wgdG8KLSAgLy8gfGNvZGV8LiB8Y29k
ZXwgY291bGQgYmUgYSBHQVRUIEVycm9yIFJlc3BvbnNlIGZyb20gQlQgNC4yIFZvbCAzIFBhcnQg
RgotICAvLyAzLjQuMS4xIEVycm9yIFJlc3BvbnNlIG9yIGEgbnVtYmVyIG91dHNpZGUgdGhhdCBy
YW5nZSByZXR1cm5lZCBieQotICAvLyBzcGVjaWZpYyBwbGF0Zm9ybXMgZS5nLiBBbmRyb2lkIHJl
dHVybnMgMHgxMDEgdG8gc2lnbmFsIGEgR0FUVCBmYWlsdXJlLgotICBhc3luYyBzZXROZXh0VW5z
dWJzY3JpYmVGcm9tTm90aWZpY2F0aW9uc1Jlc3BvbnNlKGdhdHRfY29kZSkgewotICAgIGxldCB7
c3VjY2Vzc30gPQotICAgICAgYXdhaXQgdGhpcy5mYWtlX2NlbnRyYWxfcHRyXy5zZXROZXh0VW5z
dWJzY3JpYmVGcm9tTm90aWZpY2F0aW9uc1Jlc3BvbnNlKAotICAgICAgICBnYXR0X2NvZGUsIC4u
LnRoaXMuaWRzXyk7Ci0KLSAgICBpZiAoIXN1Y2Nlc3MpIHRocm93ICdzZXROZXh0VW5zdWJzY3Jp
YmVUb05vdGlmaWNhdGlvbnNSZXNwb25zZSBmYWlsZWQnOwotICB9Ci0KLSAgLy8gUmV0dXJucyB0
cnVlIGlmIG5vdGlmaWNhdGlvbnMgZnJvbSB0aGUgY2hhcmFjdGVyaXN0aWMgaGF2ZSBiZWVuIHN1
YnNjcmliZWQKLSAgLy8gdG8uCi0gIGFzeW5jIGlzTm90aWZ5aW5nKCkgewotICAgIGxldCB7c3Vj
Y2VzcywgaXNOb3RpZnlpbmd9ID0KLSAgICAgICAgYXdhaXQgdGhpcy5mYWtlX2NlbnRyYWxfcHRy
Xy5pc05vdGlmeWluZyguLi50aGlzLmlkc18pOwotCi0gICAgaWYgKCFzdWNjZXNzKSB0aHJvdyAn
aXNOb3RpZnlpbmcgZmFpbGVkJzsKLQotICAgIHJldHVybiBpc05vdGlmeWluZzsKLSAgfQotCi0g
IC8vIEdldHMgdGhlIGxhc3Qgc3VjY2Vzc2Z1bGx5IHdyaXR0ZW4gdmFsdWUgdG8gdGhlIGNoYXJh
Y3RlcmlzdGljLgotICAvLyBSZXR1cm5zIG51bGwgaWYgbm8gdmFsdWUgaGFzIHlldCBiZWVuIHdy
aXR0ZW4gdG8gdGhlIGNoYXJhY3RlcmlzdGljLgotICBhc3luYyBnZXRMYXN0V3JpdHRlblZhbHVl
KCkgewotICAgIGxldCB7c3VjY2VzcywgdmFsdWV9ID0KLSAgICAgIGF3YWl0IHRoaXMuZmFrZV9j
ZW50cmFsX3B0cl8uZ2V0TGFzdFdyaXR0ZW5DaGFyYWN0ZXJpc3RpY1ZhbHVlKAotICAgICAgICAg
IC4uLnRoaXMuaWRzXyk7Ci0KLSAgICBpZiAoIXN1Y2Nlc3MpIHRocm93ICdnZXRMYXN0V3JpdHRl
bkNoYXJhY3RlcmlzdGljVmFsdWUgZmFpbGVkJzsKLQotICAgIHJldHVybiB2YWx1ZTsKLSAgfQot
Ci0gIC8vIFJlbW92ZXMgdGhlIGZha2UgR0FUVCBDaGFyYWN0ZXJpc3RpYyBmcm9tIGl0cyBmYWtl
IHNlcnZpY2UuCi0gIGFzeW5jIHJlbW92ZSgpIHsKLSAgICBsZXQge3N1Y2Nlc3N9ID0KLSAgICAg
ICAgYXdhaXQgdGhpcy5mYWtlX2NlbnRyYWxfcHRyXy5yZW1vdmVGYWtlQ2hhcmFjdGVyaXN0aWMo
Li4udGhpcy5pZHNfKTsKLQotICAgIGlmICghc3VjY2VzcykgdGhyb3cgJ3JlbW92ZSBmYWlsZWQn
OwotICB9Ci19Ci0KLWNsYXNzIEZha2VSZW1vdGVHQVRURGVzY3JpcHRvciB7Ci0gIGNvbnN0cnVj
dG9yKGRlc2NyaXB0b3JfaWQsCi0gICAgICAgICAgICAgIGNoYXJhY3RlcmlzdGljX2lkLAotICAg
ICAgICAgICAgICBzZXJ2aWNlX2lkLAotICAgICAgICAgICAgICBwZXJpcGhlcmFsX2FkZHJlc3Ms
Ci0gICAgICAgICAgICAgIGZha2VfY2VudHJhbF9wdHIpIHsKLSAgICB0aGlzLmlkc18gPSBbCi0g
ICAgICBkZXNjcmlwdG9yX2lkLCBjaGFyYWN0ZXJpc3RpY19pZCwgc2VydmljZV9pZCwgcGVyaXBo
ZXJhbF9hZGRyZXNzXTsKLSAgICB0aGlzLmZha2VfY2VudHJhbF9wdHJfID0gZmFrZV9jZW50cmFs
X3B0cjsKLSAgfQotCi0gIC8vIFNldHMgdGhlIG5leHQgcmVhZCByZXNwb25zZSBmb3IgZGVzY3Jp
cHRvciB0byB8Y29kZXwgYW5kIHx2YWx1ZXwuCi0gIC8vIHxjb2RlfCBjb3VsZCBiZSBhIEdBVFQg
RXJyb3IgUmVzcG9uc2UgZnJvbQotICAvLyBCVCA0LjIgVm9sIDMgUGFydCBGIDMuNC4xLjEgRXJy
b3IgUmVzcG9uc2Ugb3IgYSBudW1iZXIgb3V0c2lkZSB0aGF0IHJhbmdlCi0gIC8vIHJldHVybmVk
IGJ5IHNwZWNpZmljIHBsYXRmb3JtcyBlLmcuIEFuZHJvaWQgcmV0dXJucyAweDEwMSB0byBzaWdu
YWwgYSBHQVRUCi0gIC8vIGZhaWx1cmUuCi0gIC8vIGh0dHBzOi8vZGV2ZWxvcGVyLmFuZHJvaWQu
Y29tL3JlZmVyZW5jZS9hbmRyb2lkL2JsdWV0b290aC9CbHVldG9vdGhHYXR0Lmh0bWwjR0FUVF9G
QUlMVVJFCi0gIGFzeW5jIHNldE5leHRSZWFkUmVzcG9uc2UoZ2F0dF9jb2RlLCB2YWx1ZT1udWxs
KSB7Ci0gICAgaWYgKGdhdHRfY29kZSA9PT0gMCAmJiB2YWx1ZSA9PT0gbnVsbCkgewotICAgICAg
dGhyb3cgJ3x2YWx1ZXwgY2Fubm90IGJlIG51bGwgaWYgcmVhZCBzaG91bGQgc3VjY2VlZC4nOwot
ICAgIH0KLSAgICBpZiAoZ2F0dF9jb2RlICE9PSAwICYmIHZhbHVlICE9PSBudWxsKSB7Ci0gICAg
ICB0aHJvdyAnfHZhbHVlfCBtdXN0IGJlIG51bGwgaWYgcmVhZCBzaG91bGQgZmFpbC4nOwotICAg
IH0KLQotICAgIGxldCB7c3VjY2Vzc30gPQotICAgICAgYXdhaXQgdGhpcy5mYWtlX2NlbnRyYWxf
cHRyXy5zZXROZXh0UmVhZERlc2NyaXB0b3JSZXNwb25zZSgKLSAgICAgICAgZ2F0dF9jb2RlLCB2
YWx1ZSwgLi4udGhpcy5pZHNfKTsKLQotICAgIGlmICghc3VjY2VzcykgdGhyb3cgJ3NldE5leHRS
ZWFkRGVzY3JpcHRvclJlc3BvbnNlIGZhaWxlZCc7Ci0gIH0KLQotICAvLyBTZXRzIHRoZSBuZXh0
IHdyaXRlIHJlc3BvbnNlIGZvciB0aGlzIGRlc2NyaXB0b3IgdG8gfGNvZGV8LgotICAvLyB8Y29k
ZXwgY291bGQgYmUgYSBHQVRUIEVycm9yIFJlc3BvbnNlIGZyb20KLSAgLy8gQlQgNC4yIFZvbCAz
IFBhcnQgRiAzLjQuMS4xIEVycm9yIFJlc3BvbnNlIG9yIGEgbnVtYmVyIG91dHNpZGUgdGhhdCBy
YW5nZQotICAvLyByZXR1cm5lZCBieSBzcGVjaWZpYyBwbGF0Zm9ybXMgZS5nLiBBbmRyb2lkIHJl
dHVybnMgMHgxMDEgdG8gc2lnbmFsIGEgR0FUVAotICAvLyBmYWlsdXJlLgotICBhc3luYyBzZXRO
ZXh0V3JpdGVSZXNwb25zZShnYXR0X2NvZGUpIHsKLSAgICBsZXQge3N1Y2Nlc3N9ID0KLSAgICAg
IGF3YWl0IHRoaXMuZmFrZV9jZW50cmFsX3B0cl8uc2V0TmV4dFdyaXRlRGVzY3JpcHRvclJlc3Bv
bnNlKAotICAgICAgICBnYXR0X2NvZGUsIC4uLnRoaXMuaWRzXyk7Ci0KLSAgICBpZiAoIXN1Y2Nl
c3MpIHRocm93ICdzZXROZXh0V3JpdGVEZXNjcmlwdG9yUmVzcG9uc2UgZmFpbGVkJzsKLSAgfQot
Ci0gIC8vIEdldHMgdGhlIGxhc3Qgc3VjY2Vzc2Z1bGx5IHdyaXR0ZW4gdmFsdWUgdG8gdGhlIGRl
c2NyaXB0b3IuCi0gIC8vIFJldHVybnMgbnVsbCBpZiBubyB2YWx1ZSBoYXMgeWV0IGJlZW4gd3Jp
dHRlbiB0byB0aGUgZGVzY3JpcHRvci4KLSAgYXN5bmMgZ2V0TGFzdFdyaXR0ZW5WYWx1ZSgpIHsK
LSAgICBsZXQge3N1Y2Nlc3MsIHZhbHVlfSA9Ci0gICAgICBhd2FpdCB0aGlzLmZha2VfY2VudHJh
bF9wdHJfLmdldExhc3RXcml0dGVuRGVzY3JpcHRvclZhbHVlKAotICAgICAgICAgIC4uLnRoaXMu
aWRzXyk7Ci0KLSAgICBpZiAoIXN1Y2Nlc3MpIHRocm93ICdnZXRMYXN0V3JpdHRlbkRlc2NyaXB0
b3JWYWx1ZSBmYWlsZWQnOwotCi0gICAgcmV0dXJuIHZhbHVlOwotICB9Ci0KLSAgLy8gUmVtb3Zl
cyB0aGUgZmFrZSBHQVRUIERlc2NyaXB0b3IgZnJvbSBpdHMgZmFrZSBjaGFyYWN0ZXJpc3RpYy4K
LSAgYXN5bmMgcmVtb3ZlKCkgewotICAgIGxldCB7c3VjY2Vzc30gPQotICAgICAgICBhd2FpdCB0
aGlzLmZha2VfY2VudHJhbF9wdHJfLnJlbW92ZUZha2VEZXNjcmlwdG9yKC4uLnRoaXMuaWRzXyk7
Ci0KLSAgICBpZiAoIXN1Y2Nlc3MpIHRocm93ICdyZW1vdmUgZmFpbGVkJzsKLSAgfQotfQotCi0v
LyBGYWtlQ2hvb3NlciBhbGxvd3MgY2xpZW50cyB0byBzaW11bGF0ZSB1c2VyIGFjdGlvbnMgb24g
YSBCbHVldG9vdGggY2hvb3NlciwKLS8vIGFuZCByZWNvcmRzIHRoZSBldmVudHMgcHJvZHVjZWQg
YnkgdGhlIEJsdWV0b290aCBjaG9vc2VyLgotY2xhc3MgRmFrZUNob29zZXIgewotICBjb25zdHJ1
Y3RvcigpIHsKLSAgICBsZXQgZmFrZUJsdWV0b290aENob29zZXJGYWN0b3J5UHRyID0KLSAgICAg
ICAgbmV3IGNvbnRlbnQubW9qb20uRmFrZUJsdWV0b290aENob29zZXJGYWN0b3J5UHRyKCk7Ci0g
ICAgTW9qby5iaW5kSW50ZXJmYWNlKGNvbnRlbnQubW9qb20uRmFrZUJsdWV0b290aENob29zZXJG
YWN0b3J5Lm5hbWUsCi0gICAgICAgIG1vam8ubWFrZVJlcXVlc3QoZmFrZUJsdWV0b290aENob29z
ZXJGYWN0b3J5UHRyKS5oYW5kbGUsICdwcm9jZXNzJyk7Ci0KLSAgICB0aGlzLmZha2VfYmx1ZXRv
b3RoX2Nob29zZXJfcHRyXyA9Ci0gICAgICAgIG5ldyBjb250ZW50Lm1vam9tLkZha2VCbHVldG9v
dGhDaG9vc2VyUHRyKCk7Ci0KLSAgICBsZXQgY2xpZW50UHRySW5mbyA9IG5ldyBtb2pvLkFzc29j
aWF0ZWRJbnRlcmZhY2VQdHJJbmZvKCk7Ci0gICAgdGhpcy5mYWtlX2JsdWV0b290aF9jaG9vc2Vy
X2NsaWVudF9iaW5kaW5nXyA9Ci0gICAgICAgIG5ldyBtb2pvLkFzc29jaWF0ZWRCaW5kaW5nKGNv
bnRlbnQubW9qb20uRmFrZUJsdWV0b290aENob29zZXJDbGllbnQsCi0gICAgICAgICAgICB0aGlz
LCBtb2pvLm1ha2VSZXF1ZXN0KGNsaWVudFB0ckluZm8pKTsKLQotICAgIGZha2VCbHVldG9vdGhD
aG9vc2VyRmFjdG9yeVB0ci5jcmVhdGVGYWtlQmx1ZXRvb3RoQ2hvb3NlcigKLSAgICAgICAgbW9q
by5tYWtlUmVxdWVzdCh0aGlzLmZha2VfYmx1ZXRvb3RoX2Nob29zZXJfcHRyXyksIGNsaWVudFB0
ckluZm8pOwotCi0gICAgdGhpcy5ldmVudHNfID0gbmV3IEFycmF5KCk7Ci0gICAgdGhpcy5ldmVu
dF9saXN0ZW5lcl8gPSBudWxsOwotICB9Ci0KLSAgLy8gSWYgdGhlIGNob29zZXIgaGFzIHJlY2Vp
dmVkIG1vcmUgZXZlbnRzIHRoYW4gfG51bU9mRXZlbnRzfCB0aGlzIGZ1bmN0aW9uCi0gIC8vIHdp
bGwgcmVqZWN0IHRoZSBwcm9taXNlLCBlbHNlIGl0IHdpbGwgd2FpdCB1bnRpbCB8bnVtT2ZFdmVu
dHN8IGV2ZW50cyBhcmUKLSAgLy8gcmVjZWl2ZWQgYmVmb3JlIHJlc29sdmluZyB3aXRoIGFuIGFy
cmF5IG9mIHxGYWtlQmx1ZXRvb3RoQ2hvb3NlckV2ZW50fAotICAvLyBvYmplY3RzLgotICBhc3lu
YyB3YWl0Rm9yRXZlbnRzKG51bU9mRXZlbnRzKSB7Ci0gICAgcmV0dXJuIG5ldyBQcm9taXNlKHJl
c29sdmUgPT4gewotICAgICAgaWYgKHRoaXMuZXZlbnRzXy5sZW5ndGggPiBudW1PZkV2ZW50cykg
ewotICAgICAgICB0aHJvdyBgQXNrZWQgZm9yICR7bnVtT2ZFdmVudHN9IGV2ZW50KHMpLCBidXQg
cmVjZWl2ZWQgYCArCi0gICAgICAgICAgICBgJHt0aGlzLmV2ZW50c18ubGVuZ3RofS5gOwotICAg
ICAgfQotCi0gICAgICB0aGlzLmV2ZW50X2xpc3RlbmVyXyA9ICgpID0+IHsKLSAgICAgICAgIGlm
ICh0aGlzLmV2ZW50c18ubGVuZ3RoID09PSBudW1PZkV2ZW50cykgewotICAgICAgICAgIGxldCBy
ZXN1bHQgPSBBcnJheS5mcm9tKHRoaXMuZXZlbnRzXyk7Ci0gICAgICAgICAgdGhpcy5ldmVudF9s
aXN0ZW5lcl8gPSBudWxsOwotICAgICAgICAgIHRoaXMuZXZlbnRzXyA9IFtdOwotICAgICAgICAg
IHJlc29sdmUocmVzdWx0KTsKLSAgICAgICAgfQotICAgICAgfTsKLSAgICAgIHRoaXMuZXZlbnRf
bGlzdGVuZXJfKCk7Ci0gICAgfSk7Ci0gIH0KLQotICBhc3luYyBzZWxlY3RQZXJpcGhlcmFsKHBl
cmlwaGVyYWwpIHsKLSAgICBpZiAoIShwZXJpcGhlcmFsIGluc3RhbmNlb2YgRmFrZVBlcmlwaGVy
YWwpKSB7Ci0gICAgICB0aHJvdyAnfHBlcmlwaGVyYWx8IG11c3QgYmUgYW4gaW5zdGFuY2Ugb2Yg
RmFrZVBlcmlwaGVyYWwnOwotICAgIH0KLSAgICBhd2FpdCB0aGlzLmZha2VfYmx1ZXRvb3RoX2No
b29zZXJfcHRyXy5zZWxlY3RQZXJpcGhlcmFsKHBlcmlwaGVyYWwuYWRkcmVzcyk7Ci0gIH0KLQot
ICBhc3luYyBjYW5jZWwoKSB7Ci0gICAgYXdhaXQgdGhpcy5mYWtlX2JsdWV0b290aF9jaG9vc2Vy
X3B0cl8uY2FuY2VsKCk7Ci0gIH0KLQotICBhc3luYyByZXNjYW4oKSB7Ci0gICAgYXdhaXQgdGhp
cy5mYWtlX2JsdWV0b290aF9jaG9vc2VyX3B0cl8ucmVzY2FuKCk7Ci0gIH0KLQotICBvbkV2ZW50
KGNob29zZXJFdmVudCkgewotICAgIGNob29zZXJFdmVudC50eXBlID0gTU9KT19DSE9PU0VSX0VW
RU5UX1RZUEVfTUFQW2Nob29zZXJFdmVudC50eXBlXTsKLSAgICB0aGlzLmV2ZW50c18ucHVzaChj
aG9vc2VyRXZlbnQpOwotICAgIGlmICh0aGlzLmV2ZW50X2xpc3RlbmVyXyAhPT0gbnVsbCkgewot
ICAgICAgdGhpcy5ldmVudF9saXN0ZW5lcl8oKTsKLSAgICB9Ci0gIH0KLX0KLQotLy8gSWYgdGhp
cyBsaW5lIGZhaWxzLCBpdCBtZWFucyB0aGF0IGN1cnJlbnQgZW52aXJvbm1lbnQgZG9lcyBub3Qg
c3VwcG9ydCB0aGUKLS8vIFdlYiBCbHVldG9vdGggVGVzdCBBUEkuCi10cnkgewotICBuYXZpZ2F0
b3IuYmx1ZXRvb3RoLnRlc3QgPSBuZXcgRmFrZUJsdWV0b290aCgpOwotfSBjYXRjaCB7Ci0gICAg
dGhyb3cgJ1dlYiBCbHVldG9vdGggVGVzdCBBUEkgaXMgbm90IGltcGxlbWVudGVkIG9uIHRoaXMg
JyArCi0gICAgICAgICdlbnZpcm9ubWVudC4gU2VlIHRoZSBibHVldG9vdGggUkVBRE1FIGF0ICcg
KwotICAgICAgICAnaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQvYmxv
Yi9tYXN0ZXIvYmx1ZXRvb3RoL1JFQURNRS5tZCN3ZWItYmx1ZXRvb3RoLXRlc3RpbmcnOwotfQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvY2hyb21pdW0vd2ViLWJsdWV0b290aC10ZXN0LmpzLmhlYWRlcnMgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS93
ZWItYmx1ZXRvb3RoLXRlc3QuanMuaGVhZGVycwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggNjgwNWMzMjNkZjUuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL3dlYi1ibHVldG9vdGgtdGVz
dC5qcy5oZWFkZXJzCisrKyAvZGV2L251bGwKQEAgLTEgKzAsMCBAQAotQ29udGVudC1UeXBlOiB0
ZXh0L2phdmFzY3JpcHQ7IGNoYXJzZXQ9dXRmLTgKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL3dlYl91c2Jf
c2VydmljZS5tb2pvbS5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL3dlYl91c2Jfc2VydmljZS5tb2pvbS5qcwpkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTRhMDE3YjFkZTEuLjAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9t
aXVtL3dlYl91c2Jfc2VydmljZS5tb2pvbS5qcworKysgL2Rldi9udWxsCkBAIC0xLDYxNCArMCww
IEBACi0vLyBDb3B5cmlnaHQgMjAxNCBUaGUgQ2hyb21pdW0gQXV0aG9ycy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KLS8vIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNE
LXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKLS8vIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUu
Ci0KLSd1c2Ugc3RyaWN0JzsKLQotKGZ1bmN0aW9uKCkgewotICB2YXIgbW9qb21JZCA9ICd0aGly
ZF9wYXJ0eS9ibGluay9wdWJsaWMvbW9qb20vdXNiL3dlYl91c2Jfc2VydmljZS5tb2pvbSc7Ci0g
IGlmIChtb2pvLmludGVybmFsLmlzTW9qb21Mb2FkZWQobW9qb21JZCkpIHsKLSAgICBjb25zb2xl
Lndhcm4oJ1RoZSBmb2xsb3dpbmcgbW9qb20gaXMgbG9hZGVkIG11bHRpcGxlIHRpbWVzOiAnICsg
bW9qb21JZCk7Ci0gICAgcmV0dXJuOwotICB9Ci0gIG1vam8uaW50ZXJuYWwubWFya01vam9tTG9h
ZGVkKG1vam9tSWQpOwotICB2YXIgYmluZGluZ3MgPSBtb2pvOwotICB2YXIgYXNzb2NpYXRlZEJp
bmRpbmdzID0gbW9qbzsKLSAgdmFyIGNvZGVjID0gbW9qby5pbnRlcm5hbDsKLSAgdmFyIHZhbGlk
YXRvciA9IG1vam8uaW50ZXJuYWw7Ci0KLSAgdmFyIGV4cG9ydHMgPSBtb2pvLmludGVybmFsLmV4
cG9zZU5hbWVzcGFjZSgnYmxpbmsubW9qb20nKTsKLSAgdmFyIGRldmljZSQgPQotICAgICAgbW9q
by5pbnRlcm5hbC5leHBvc2VOYW1lc3BhY2UoJ2RldmljZS5tb2pvbScpOwotICBpZiAobW9qby5j
b25maWcuYXV0b0xvYWRNb2pvbURlcHMpIHsKLSAgICBtb2pvLmludGVybmFsLmxvYWRNb2pvbUlm
TmVjZXNzYXJ5KAotICAgICAgICAnZGV2aWNlL3VzYi9wdWJsaWMvbW9qb20vZGV2aWNlLm1vam9t
JywgJy4uLy4uLy4uLy4uLy4uL2RldmljZS91c2IvcHVibGljL21vam9tL2RldmljZS5tb2pvbS5q
cycpOwotICB9Ci0gIHZhciBkZXZpY2VfZW51bWVyYXRpb25fb3B0aW9ucyQgPQotICAgICAgbW9q
by5pbnRlcm5hbC5leHBvc2VOYW1lc3BhY2UoJ2RldmljZS5tb2pvbScpOwotICBpZiAobW9qby5j
b25maWcuYXV0b0xvYWRNb2pvbURlcHMpIHsKLSAgICBtb2pvLmludGVybmFsLmxvYWRNb2pvbUlm
TmVjZXNzYXJ5KAotICAgICAgICAnZGV2aWNlL3VzYi9wdWJsaWMvbW9qb20vZGV2aWNlX2VudW1l
cmF0aW9uX29wdGlvbnMubW9qb20nLCAnLi4vLi4vLi4vLi4vLi4vZGV2aWNlL3VzYi9wdWJsaWMv
bW9qb20vZGV2aWNlX2VudW1lcmF0aW9uX29wdGlvbnMubW9qb20uanMnKTsKLSAgfQotICB2YXIg
ZGV2aWNlX21hbmFnZXJfY2xpZW50JCA9Ci0gICAgICBtb2pvLmludGVybmFsLmV4cG9zZU5hbWVz
cGFjZSgnZGV2aWNlLm1vam9tJyk7Ci0gIGlmIChtb2pvLmNvbmZpZy5hdXRvTG9hZE1vam9tRGVw
cykgewotICAgIG1vam8uaW50ZXJuYWwubG9hZE1vam9tSWZOZWNlc3NhcnkoCi0gICAgICAgICdk
ZXZpY2UvdXNiL3B1YmxpYy9tb2pvbS9kZXZpY2VfbWFuYWdlcl9jbGllbnQubW9qb20nLCAnLi4v
Li4vLi4vLi4vLi4vZGV2aWNlL3VzYi9wdWJsaWMvbW9qb20vZGV2aWNlX21hbmFnZXJfY2xpZW50
Lm1vam9tLmpzJyk7Ci0gIH0KLQotCi0KLSAgZnVuY3Rpb24gV2ViVXNiU2VydmljZV9HZXREZXZp
Y2VzX1BhcmFtcyh2YWx1ZXMpIHsKLSAgICB0aGlzLmluaXREZWZhdWx0c18oKTsKLSAgICB0aGlz
LmluaXRGaWVsZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0gIFdlYlVzYlNlcnZpY2VfR2V0RGV2aWNl
c19QYXJhbXMucHJvdG90eXBlLmluaXREZWZhdWx0c18gPSBmdW5jdGlvbigpIHsKLSAgfTsKLSAg
V2ViVXNiU2VydmljZV9HZXREZXZpY2VzX1BhcmFtcy5wcm90b3R5cGUuaW5pdEZpZWxkc18gPSBm
dW5jdGlvbihmaWVsZHMpIHsKLSAgICBmb3IodmFyIGZpZWxkIGluIGZpZWxkcykgewotICAgICAg
ICBpZiAodGhpcy5oYXNPd25Qcm9wZXJ0eShmaWVsZCkpCi0gICAgICAgICAgdGhpc1tmaWVsZF0g
PSBmaWVsZHNbZmllbGRdOwotICAgIH0KLSAgfTsKLQotICBXZWJVc2JTZXJ2aWNlX0dldERldmlj
ZXNfUGFyYW1zLnZhbGlkYXRlID0gZnVuY3Rpb24obWVzc2FnZVZhbGlkYXRvciwgb2Zmc2V0KSB7
Ci0gICAgdmFyIGVycjsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0
SGVhZGVyKG9mZnNldCwgY29kZWMua1N0cnVjdEhlYWRlclNpemUpOwotICAgIGlmIChlcnIgIT09
IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQot
ICAgIHZhciBrVmVyc2lvblNpemVzID0gWwotICAgICAge3ZlcnNpb246IDAsIG51bUJ5dGVzOiA4
fQotICAgIF07Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFZlcnNp
b24ob2Zmc2V0LCBrVmVyc2lvblNpemVzKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFs
aWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICByZXR1cm4gdmFs
aWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIFdlYlVzYlNlcnZpY2VfR2V0
RGV2aWNlc19QYXJhbXMuZW5jb2RlZFNpemUgPSBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDA7
Ci0KLSAgV2ViVXNiU2VydmljZV9HZXREZXZpY2VzX1BhcmFtcy5kZWNvZGUgPSBmdW5jdGlvbihk
ZWNvZGVyKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICB2YXIgdmFsID0gbmV3IFdlYlVzYlNlcnZp
Y2VfR2V0RGV2aWNlc19QYXJhbXMoKTsKLSAgICB2YXIgbnVtYmVyT2ZCeXRlcyA9IGRlY29kZXIu
cmVhZFVpbnQzMigpOwotICAgIHZhciB2ZXJzaW9uID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0g
ICAgcmV0dXJuIHZhbDsKLSAgfTsKLQotICBXZWJVc2JTZXJ2aWNlX0dldERldmljZXNfUGFyYW1z
LmVuY29kZSA9IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgIHZhciBwYWNrZWQ7Ci0gICAg
ZW5jb2Rlci53cml0ZVVpbnQzMihXZWJVc2JTZXJ2aWNlX0dldERldmljZXNfUGFyYW1zLmVuY29k
ZWRTaXplKTsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKDApOwotICB9OwotICBmdW5jdGlvbiBX
ZWJVc2JTZXJ2aWNlX0dldERldmljZXNfUmVzcG9uc2VQYXJhbXModmFsdWVzKSB7Ci0gICAgdGhp
cy5pbml0RGVmYXVsdHNfKCk7Ci0gICAgdGhpcy5pbml0RmllbGRzXyh2YWx1ZXMpOwotICB9Ci0K
LQotICBXZWJVc2JTZXJ2aWNlX0dldERldmljZXNfUmVzcG9uc2VQYXJhbXMucHJvdG90eXBlLmlu
aXREZWZhdWx0c18gPSBmdW5jdGlvbigpIHsKLSAgICB0aGlzLnJlc3VsdHMgPSBudWxsOwotICB9
OwotICBXZWJVc2JTZXJ2aWNlX0dldERldmljZXNfUmVzcG9uc2VQYXJhbXMucHJvdG90eXBlLmlu
aXRGaWVsZHNfID0gZnVuY3Rpb24oZmllbGRzKSB7Ci0gICAgZm9yKHZhciBmaWVsZCBpbiBmaWVs
ZHMpIHsKLSAgICAgICAgaWYgKHRoaXMuaGFzT3duUHJvcGVydHkoZmllbGQpKQotICAgICAgICAg
IHRoaXNbZmllbGRdID0gZmllbGRzW2ZpZWxkXTsKLSAgICB9Ci0gIH07Ci0KLSAgV2ViVXNiU2Vy
dmljZV9HZXREZXZpY2VzX1Jlc3BvbnNlUGFyYW1zLnZhbGlkYXRlID0gZnVuY3Rpb24obWVzc2Fn
ZVZhbGlkYXRvciwgb2Zmc2V0KSB7Ci0gICAgdmFyIGVycjsKLSAgICBlcnIgPSBtZXNzYWdlVmFs
aWRhdG9yLnZhbGlkYXRlU3RydWN0SGVhZGVyKG9mZnNldCwgY29kZWMua1N0cnVjdEhlYWRlclNp
emUpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAg
ICAgICAgcmV0dXJuIGVycjsKLQotICAgIHZhciBrVmVyc2lvblNpemVzID0gWwotICAgICAge3Zl
cnNpb246IDAsIG51bUJ5dGVzOiAxNn0KLSAgICBdOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0
b3IudmFsaWRhdGVTdHJ1Y3RWZXJzaW9uKG9mZnNldCwga1ZlcnNpb25TaXplcyk7Ci0gICAgaWYg
KGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4g
ZXJyOwotCi0KLSAgICAvLyB2YWxpZGF0ZSBXZWJVc2JTZXJ2aWNlX0dldERldmljZXNfUmVzcG9u
c2VQYXJhbXMucmVzdWx0cwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVBcnJh
eVBvaW50ZXIob2Zmc2V0ICsgY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyAwLCA4LCBuZXcgY29k
ZWMuUG9pbnRlclRvKGRldmljZSQuVXNiRGV2aWNlSW5mbyksIGZhbHNlLCBbMF0sIDApOwotICAg
IGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0
dXJuIGVycjsKLQotICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkU7Ci0g
IH07Ci0KLSAgV2ViVXNiU2VydmljZV9HZXREZXZpY2VzX1Jlc3BvbnNlUGFyYW1zLmVuY29kZWRT
aXplID0gY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyA4OwotCi0gIFdlYlVzYlNlcnZpY2VfR2V0
RGV2aWNlc19SZXNwb25zZVBhcmFtcy5kZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0gICAg
dmFyIHBhY2tlZDsKLSAgICB2YXIgdmFsID0gbmV3IFdlYlVzYlNlcnZpY2VfR2V0RGV2aWNlc19S
ZXNwb25zZVBhcmFtcygpOwotICAgIHZhciBudW1iZXJPZkJ5dGVzID0gZGVjb2Rlci5yZWFkVWlu
dDMyKCk7Ci0gICAgdmFyIHZlcnNpb24gPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YWwu
cmVzdWx0cyA9IGRlY29kZXIuZGVjb2RlQXJyYXlQb2ludGVyKG5ldyBjb2RlYy5Qb2ludGVyVG8o
ZGV2aWNlJC5Vc2JEZXZpY2VJbmZvKSk7Ci0gICAgcmV0dXJuIHZhbDsKLSAgfTsKLQotICBXZWJV
c2JTZXJ2aWNlX0dldERldmljZXNfUmVzcG9uc2VQYXJhbXMuZW5jb2RlID0gZnVuY3Rpb24oZW5j
b2RlciwgdmFsKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKFdl
YlVzYlNlcnZpY2VfR2V0RGV2aWNlc19SZXNwb25zZVBhcmFtcy5lbmNvZGVkU2l6ZSk7Ci0gICAg
ZW5jb2Rlci53cml0ZVVpbnQzMigwKTsKLSAgICBlbmNvZGVyLmVuY29kZUFycmF5UG9pbnRlcihu
ZXcgY29kZWMuUG9pbnRlclRvKGRldmljZSQuVXNiRGV2aWNlSW5mbyksIHZhbC5yZXN1bHRzKTsK
LSAgfTsKLSAgZnVuY3Rpb24gV2ViVXNiU2VydmljZV9HZXREZXZpY2VfUGFyYW1zKHZhbHVlcykg
ewotICAgIHRoaXMuaW5pdERlZmF1bHRzXygpOwotICAgIHRoaXMuaW5pdEZpZWxkc18odmFsdWVz
KTsKLSAgfQotCi0KLSAgV2ViVXNiU2VydmljZV9HZXREZXZpY2VfUGFyYW1zLnByb3RvdHlwZS5p
bml0RGVmYXVsdHNfID0gZnVuY3Rpb24oKSB7Ci0gICAgdGhpcy5ndWlkID0gbnVsbDsKLSAgICB0
aGlzLmRldmljZVJlcXVlc3RkID0gbmV3IGJpbmRpbmdzLkludGVyZmFjZVJlcXVlc3QoKTsKLSAg
fTsKLSAgV2ViVXNiU2VydmljZV9HZXREZXZpY2VfUGFyYW1zLnByb3RvdHlwZS5pbml0RmllbGRz
XyA9IGZ1bmN0aW9uKGZpZWxkcykgewotICAgIGZvcih2YXIgZmllbGQgaW4gZmllbGRzKSB7Ci0g
ICAgICAgIGlmICh0aGlzLmhhc093blByb3BlcnR5KGZpZWxkKSkKLSAgICAgICAgICB0aGlzW2Zp
ZWxkXSA9IGZpZWxkc1tmaWVsZF07Ci0gICAgfQotICB9OwotCi0gIFdlYlVzYlNlcnZpY2VfR2V0
RGV2aWNlX1BhcmFtcy52YWxpZGF0ZSA9IGZ1bmN0aW9uKG1lc3NhZ2VWYWxpZGF0b3IsIG9mZnNl
dCkgewotICAgIHZhciBlcnI7Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0
cnVjdEhlYWRlcihvZmZzZXQsIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplKTsKLSAgICBpZiAoZXJy
ICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7
Ci0KLSAgICB2YXIga1ZlcnNpb25TaXplcyA9IFsKLSAgICAgIHt2ZXJzaW9uOiAwLCBudW1CeXRl
czogMjR9Ci0gICAgXTsKLSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0
VmVyc2lvbihvZmZzZXQsIGtWZXJzaW9uU2l6ZXMpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRv
ci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0gICAgLy8g
dmFsaWRhdGUgV2ViVXNiU2VydmljZV9HZXREZXZpY2VfUGFyYW1zLmd1aWQKLSAgICBlcnIgPSBt
ZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RyaW5nUG9pbnRlcihvZmZzZXQgKyBjb2RlYy5rU3Ry
dWN0SGVhZGVyU2l6ZSArIDAsIGZhbHNlKQotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxp
ZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAgICAgcmV0dXJuIGVycjsKLQotCi0gICAgLy8gdmFsaWRh
dGUgV2ViVXNiU2VydmljZV9HZXREZXZpY2VfUGFyYW1zLmRldmljZVJlcXVlc3RkCi0gICAgZXJy
ID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZUludGVyZmFjZVJlcXVlc3Qob2Zmc2V0ICsgY29k
ZWMua1N0cnVjdEhlYWRlclNpemUgKyA4LCBmYWxzZSkKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0
b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICByZXR1
cm4gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIFdlYlVzYlNlcnZp
Y2VfR2V0RGV2aWNlX1BhcmFtcy5lbmNvZGVkU2l6ZSA9IGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXpl
ICsgMTY7Ci0KLSAgV2ViVXNiU2VydmljZV9HZXREZXZpY2VfUGFyYW1zLmRlY29kZSA9IGZ1bmN0
aW9uKGRlY29kZXIpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIHZhciB2YWwgPSBuZXcgV2ViVXNi
U2VydmljZV9HZXREZXZpY2VfUGFyYW1zKCk7Ci0gICAgdmFyIG51bWJlck9mQnl0ZXMgPSBkZWNv
ZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YXIgdmVyc2lvbiA9IGRlY29kZXIucmVhZFVpbnQzMigp
OwotICAgIHZhbC5ndWlkID0gZGVjb2Rlci5kZWNvZGVTdHJ1Y3QoY29kZWMuU3RyaW5nKTsKLSAg
ICB2YWwuZGV2aWNlUmVxdWVzdGQgPSBkZWNvZGVyLmRlY29kZVN0cnVjdChjb2RlYy5JbnRlcmZh
Y2VSZXF1ZXN0KTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgZGVjb2Rlci5za2lwKDEpOwot
ICAgIGRlY29kZXIuc2tpcCgxKTsKLSAgICBkZWNvZGVyLnNraXAoMSk7Ci0gICAgcmV0dXJuIHZh
bDsKLSAgfTsKLQotICBXZWJVc2JTZXJ2aWNlX0dldERldmljZV9QYXJhbXMuZW5jb2RlID0gZnVu
Y3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICBlbmNvZGVyLndyaXRl
VWludDMyKFdlYlVzYlNlcnZpY2VfR2V0RGV2aWNlX1BhcmFtcy5lbmNvZGVkU2l6ZSk7Ci0gICAg
ZW5jb2Rlci53cml0ZVVpbnQzMigwKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdChjb2RlYy5T
dHJpbmcsIHZhbC5ndWlkKTsKLSAgICBlbmNvZGVyLmVuY29kZVN0cnVjdChjb2RlYy5JbnRlcmZh
Y2VSZXF1ZXN0LCB2YWwuZGV2aWNlUmVxdWVzdGQpOwotICAgIGVuY29kZXIuc2tpcCgxKTsKLSAg
ICBlbmNvZGVyLnNraXAoMSk7Ci0gICAgZW5jb2Rlci5za2lwKDEpOwotICAgIGVuY29kZXIuc2tp
cCgxKTsKLSAgfTsKLSAgZnVuY3Rpb24gV2ViVXNiU2VydmljZV9HZXRQZXJtaXNzaW9uX1BhcmFt
cyh2YWx1ZXMpIHsKLSAgICB0aGlzLmluaXREZWZhdWx0c18oKTsKLSAgICB0aGlzLmluaXRGaWVs
ZHNfKHZhbHVlcyk7Ci0gIH0KLQotCi0gIFdlYlVzYlNlcnZpY2VfR2V0UGVybWlzc2lvbl9QYXJh
bXMucHJvdG90eXBlLmluaXREZWZhdWx0c18gPSBmdW5jdGlvbigpIHsKLSAgICB0aGlzLmRldmlj
ZUZpbHRlcnMgPSBudWxsOwotICB9OwotICBXZWJVc2JTZXJ2aWNlX0dldFBlcm1pc3Npb25fUGFy
YW1zLnByb3RvdHlwZS5pbml0RmllbGRzXyA9IGZ1bmN0aW9uKGZpZWxkcykgewotICAgIGZvcih2
YXIgZmllbGQgaW4gZmllbGRzKSB7Ci0gICAgICAgIGlmICh0aGlzLmhhc093blByb3BlcnR5KGZp
ZWxkKSkKLSAgICAgICAgICB0aGlzW2ZpZWxkXSA9IGZpZWxkc1tmaWVsZF07Ci0gICAgfQotICB9
OwotCi0gIFdlYlVzYlNlcnZpY2VfR2V0UGVybWlzc2lvbl9QYXJhbXMudmFsaWRhdGUgPSBmdW5j
dGlvbihtZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQpIHsKLSAgICB2YXIgZXJyOwotICAgIGVyciA9
IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1Y3RIZWFkZXIob2Zmc2V0LCBjb2RlYy5rU3Ry
dWN0SGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJv
ci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwotCi0gICAgdmFyIGtWZXJzaW9uU2l6ZXMgPSBb
Ci0gICAgICB7dmVyc2lvbjogMCwgbnVtQnl0ZXM6IDE2fQotICAgIF07Ci0gICAgZXJyID0gbWVz
c2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFZlcnNpb24ob2Zmc2V0LCBrVmVyc2lvblNpemVz
KTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAg
ICAgIHJldHVybiBlcnI7Ci0KLQotICAgIC8vIHZhbGlkYXRlIFdlYlVzYlNlcnZpY2VfR2V0UGVy
bWlzc2lvbl9QYXJhbXMuZGV2aWNlRmlsdGVycwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3Iu
dmFsaWRhdGVBcnJheVBvaW50ZXIob2Zmc2V0ICsgY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyAw
LCA4LCBuZXcgY29kZWMuUG9pbnRlclRvKGRldmljZV9lbnVtZXJhdGlvbl9vcHRpb25zJC5Vc2JE
ZXZpY2VGaWx0ZXIpLCBmYWxzZSwgWzBdLCAwKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3Iu
dmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICByZXR1cm4g
dmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwotICB9OwotCi0gIFdlYlVzYlNlcnZpY2Vf
R2V0UGVybWlzc2lvbl9QYXJhbXMuZW5jb2RlZFNpemUgPSBjb2RlYy5rU3RydWN0SGVhZGVyU2l6
ZSArIDg7Ci0KLSAgV2ViVXNiU2VydmljZV9HZXRQZXJtaXNzaW9uX1BhcmFtcy5kZWNvZGUgPSBm
dW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgdmFyIHBhY2tlZDsKLSAgICB2YXIgdmFsID0gbmV3IFdl
YlVzYlNlcnZpY2VfR2V0UGVybWlzc2lvbl9QYXJhbXMoKTsKLSAgICB2YXIgbnVtYmVyT2ZCeXRl
cyA9IGRlY29kZXIucmVhZFVpbnQzMigpOwotICAgIHZhciB2ZXJzaW9uID0gZGVjb2Rlci5yZWFk
VWludDMyKCk7Ci0gICAgdmFsLmRldmljZUZpbHRlcnMgPSBkZWNvZGVyLmRlY29kZUFycmF5UG9p
bnRlcihuZXcgY29kZWMuUG9pbnRlclRvKGRldmljZV9lbnVtZXJhdGlvbl9vcHRpb25zJC5Vc2JE
ZXZpY2VGaWx0ZXIpKTsKLSAgICByZXR1cm4gdmFsOwotICB9OwotCi0gIFdlYlVzYlNlcnZpY2Vf
R2V0UGVybWlzc2lvbl9QYXJhbXMuZW5jb2RlID0gZnVuY3Rpb24oZW5jb2RlciwgdmFsKSB7Ci0g
ICAgdmFyIHBhY2tlZDsKLSAgICBlbmNvZGVyLndyaXRlVWludDMyKFdlYlVzYlNlcnZpY2VfR2V0
UGVybWlzc2lvbl9QYXJhbXMuZW5jb2RlZFNpemUpOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIo
MCk7Ci0gICAgZW5jb2Rlci5lbmNvZGVBcnJheVBvaW50ZXIobmV3IGNvZGVjLlBvaW50ZXJUbyhk
ZXZpY2VfZW51bWVyYXRpb25fb3B0aW9ucyQuVXNiRGV2aWNlRmlsdGVyKSwgdmFsLmRldmljZUZp
bHRlcnMpOwotICB9OwotICBmdW5jdGlvbiBXZWJVc2JTZXJ2aWNlX0dldFBlcm1pc3Npb25fUmVz
cG9uc2VQYXJhbXModmFsdWVzKSB7Ci0gICAgdGhpcy5pbml0RGVmYXVsdHNfKCk7Ci0gICAgdGhp
cy5pbml0RmllbGRzXyh2YWx1ZXMpOwotICB9Ci0KLQotICBXZWJVc2JTZXJ2aWNlX0dldFBlcm1p
c3Npb25fUmVzcG9uc2VQYXJhbXMucHJvdG90eXBlLmluaXREZWZhdWx0c18gPSBmdW5jdGlvbigp
IHsKLSAgICB0aGlzLnJlc3VsdCA9IG51bGw7Ci0gIH07Ci0gIFdlYlVzYlNlcnZpY2VfR2V0UGVy
bWlzc2lvbl9SZXNwb25zZVBhcmFtcy5wcm90b3R5cGUuaW5pdEZpZWxkc18gPSBmdW5jdGlvbihm
aWVsZHMpIHsKLSAgICBmb3IodmFyIGZpZWxkIGluIGZpZWxkcykgewotICAgICAgICBpZiAodGhp
cy5oYXNPd25Qcm9wZXJ0eShmaWVsZCkpCi0gICAgICAgICAgdGhpc1tmaWVsZF0gPSBmaWVsZHNb
ZmllbGRdOwotICAgIH0KLSAgfTsKLQotICBXZWJVc2JTZXJ2aWNlX0dldFBlcm1pc3Npb25fUmVz
cG9uc2VQYXJhbXMudmFsaWRhdGUgPSBmdW5jdGlvbihtZXNzYWdlVmFsaWRhdG9yLCBvZmZzZXQp
IHsKLSAgICB2YXIgZXJyOwotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVTdHJ1
Y3RIZWFkZXIob2Zmc2V0LCBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSk7Ci0gICAgaWYgKGVyciAh
PT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAgICAgICByZXR1cm4gZXJyOwot
Ci0gICAgdmFyIGtWZXJzaW9uU2l6ZXMgPSBbCi0gICAgICB7dmVyc2lvbjogMCwgbnVtQnl0ZXM6
IDE2fQotICAgIF07Ci0gICAgZXJyID0gbWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdFZl
cnNpb24ob2Zmc2V0LCBrVmVyc2lvblNpemVzKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3Iu
dmFsaWRhdGlvbkVycm9yLk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLQotICAgIC8vIHZh
bGlkYXRlIFdlYlVzYlNlcnZpY2VfR2V0UGVybWlzc2lvbl9SZXNwb25zZVBhcmFtcy5yZXN1bHQK
LSAgICBlcnIgPSBtZXNzYWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0UG9pbnRlcihvZmZzZXQg
KyBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDAsIGRldmljZSQuVXNiRGV2aWNlSW5mbywgdHJ1
ZSk7Ci0gICAgaWYgKGVyciAhPT0gdmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FKQotICAg
ICAgICByZXR1cm4gZXJyOwotCi0gICAgcmV0dXJuIHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3Iu
Tk9ORTsKLSAgfTsKLQotICBXZWJVc2JTZXJ2aWNlX0dldFBlcm1pc3Npb25fUmVzcG9uc2VQYXJh
bXMuZW5jb2RlZFNpemUgPSBjb2RlYy5rU3RydWN0SGVhZGVyU2l6ZSArIDg7Ci0KLSAgV2ViVXNi
U2VydmljZV9HZXRQZXJtaXNzaW9uX1Jlc3BvbnNlUGFyYW1zLmRlY29kZSA9IGZ1bmN0aW9uKGRl
Y29kZXIpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIHZhciB2YWwgPSBuZXcgV2ViVXNiU2Vydmlj
ZV9HZXRQZXJtaXNzaW9uX1Jlc3BvbnNlUGFyYW1zKCk7Ci0gICAgdmFyIG51bWJlck9mQnl0ZXMg
PSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YXIgdmVyc2lvbiA9IGRlY29kZXIucmVhZFVp
bnQzMigpOwotICAgIHZhbC5yZXN1bHQgPSBkZWNvZGVyLmRlY29kZVN0cnVjdFBvaW50ZXIoZGV2
aWNlJC5Vc2JEZXZpY2VJbmZvKTsKLSAgICByZXR1cm4gdmFsOwotICB9OwotCi0gIFdlYlVzYlNl
cnZpY2VfR2V0UGVybWlzc2lvbl9SZXNwb25zZVBhcmFtcy5lbmNvZGUgPSBmdW5jdGlvbihlbmNv
ZGVyLCB2YWwpIHsKLSAgICB2YXIgcGFja2VkOwotICAgIGVuY29kZXIud3JpdGVVaW50MzIoV2Vi
VXNiU2VydmljZV9HZXRQZXJtaXNzaW9uX1Jlc3BvbnNlUGFyYW1zLmVuY29kZWRTaXplKTsKLSAg
ICBlbmNvZGVyLndyaXRlVWludDMyKDApOwotICAgIGVuY29kZXIuZW5jb2RlU3RydWN0UG9pbnRl
cihkZXZpY2UkLlVzYkRldmljZUluZm8sIHZhbC5yZXN1bHQpOwotICB9OwotICBmdW5jdGlvbiBX
ZWJVc2JTZXJ2aWNlX1NldENsaWVudF9QYXJhbXModmFsdWVzKSB7Ci0gICAgdGhpcy5pbml0RGVm
YXVsdHNfKCk7Ci0gICAgdGhpcy5pbml0RmllbGRzXyh2YWx1ZXMpOwotICB9Ci0KLQotICBXZWJV
c2JTZXJ2aWNlX1NldENsaWVudF9QYXJhbXMucHJvdG90eXBlLmluaXREZWZhdWx0c18gPSBmdW5j
dGlvbigpIHsKLSAgICB0aGlzLmNsaWVudCA9IG5ldyBhc3NvY2lhdGVkQmluZGluZ3MuQXNzb2Np
YXRlZEludGVyZmFjZVB0ckluZm8oKTsKLSAgfTsKLSAgV2ViVXNiU2VydmljZV9TZXRDbGllbnRf
UGFyYW1zLnByb3RvdHlwZS5pbml0RmllbGRzXyA9IGZ1bmN0aW9uKGZpZWxkcykgewotICAgIGZv
cih2YXIgZmllbGQgaW4gZmllbGRzKSB7Ci0gICAgICAgIGlmICh0aGlzLmhhc093blByb3BlcnR5
KGZpZWxkKSkKLSAgICAgICAgICB0aGlzW2ZpZWxkXSA9IGZpZWxkc1tmaWVsZF07Ci0gICAgfQot
ICB9OwotCi0gIFdlYlVzYlNlcnZpY2VfU2V0Q2xpZW50X1BhcmFtcy52YWxpZGF0ZSA9IGZ1bmN0
aW9uKG1lc3NhZ2VWYWxpZGF0b3IsIG9mZnNldCkgewotICAgIHZhciBlcnI7Ci0gICAgZXJyID0g
bWVzc2FnZVZhbGlkYXRvci52YWxpZGF0ZVN0cnVjdEhlYWRlcihvZmZzZXQsIGNvZGVjLmtTdHJ1
Y3RIZWFkZXJTaXplKTsKLSAgICBpZiAoZXJyICE9PSB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9y
Lk5PTkUpCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICB2YXIga1ZlcnNpb25TaXplcyA9IFsK
LSAgICAgIHt2ZXJzaW9uOiAwLCBudW1CeXRlczogMTZ9Ci0gICAgXTsKLSAgICBlcnIgPSBtZXNz
YWdlVmFsaWRhdG9yLnZhbGlkYXRlU3RydWN0VmVyc2lvbihvZmZzZXQsIGtWZXJzaW9uU2l6ZXMp
OwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAgICAg
ICAgcmV0dXJuIGVycjsKLQotCi0gICAgLy8gdmFsaWRhdGUgV2ViVXNiU2VydmljZV9TZXRDbGll
bnRfUGFyYW1zLmNsaWVudAotICAgIGVyciA9IG1lc3NhZ2VWYWxpZGF0b3IudmFsaWRhdGVBc3Nv
Y2lhdGVkSW50ZXJmYWNlKG9mZnNldCArIGNvZGVjLmtTdHJ1Y3RIZWFkZXJTaXplICsgMCwgZmFs
c2UpOwotICAgIGlmIChlcnIgIT09IHZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3IuTk9ORSkKLSAg
ICAgICAgcmV0dXJuIGVycjsKLQotICAgIHJldHVybiB2YWxpZGF0b3IudmFsaWRhdGlvbkVycm9y
Lk5PTkU7Ci0gIH07Ci0KLSAgV2ViVXNiU2VydmljZV9TZXRDbGllbnRfUGFyYW1zLmVuY29kZWRT
aXplID0gY29kZWMua1N0cnVjdEhlYWRlclNpemUgKyA4OwotCi0gIFdlYlVzYlNlcnZpY2VfU2V0
Q2xpZW50X1BhcmFtcy5kZWNvZGUgPSBmdW5jdGlvbihkZWNvZGVyKSB7Ci0gICAgdmFyIHBhY2tl
ZDsKLSAgICB2YXIgdmFsID0gbmV3IFdlYlVzYlNlcnZpY2VfU2V0Q2xpZW50X1BhcmFtcygpOwot
ICAgIHZhciBudW1iZXJPZkJ5dGVzID0gZGVjb2Rlci5yZWFkVWludDMyKCk7Ci0gICAgdmFyIHZl
cnNpb24gPSBkZWNvZGVyLnJlYWRVaW50MzIoKTsKLSAgICB2YWwuY2xpZW50ID0gZGVjb2Rlci5k
ZWNvZGVTdHJ1Y3QoY29kZWMuQXNzb2NpYXRlZEludGVyZmFjZVB0ckluZm8pOwotICAgIHJldHVy
biB2YWw7Ci0gIH07Ci0KLSAgV2ViVXNiU2VydmljZV9TZXRDbGllbnRfUGFyYW1zLmVuY29kZSA9
IGZ1bmN0aW9uKGVuY29kZXIsIHZhbCkgewotICAgIHZhciBwYWNrZWQ7Ci0gICAgZW5jb2Rlci53
cml0ZVVpbnQzMihXZWJVc2JTZXJ2aWNlX1NldENsaWVudF9QYXJhbXMuZW5jb2RlZFNpemUpOwot
ICAgIGVuY29kZXIud3JpdGVVaW50MzIoMCk7Ci0gICAgZW5jb2Rlci5lbmNvZGVTdHJ1Y3QoY29k
ZWMuQXNzb2NpYXRlZEludGVyZmFjZVB0ckluZm8sIHZhbC5jbGllbnQpOwotICB9OwotICB2YXIg
a1dlYlVzYlNlcnZpY2VfR2V0RGV2aWNlc19OYW1lID0gMDsKLSAgdmFyIGtXZWJVc2JTZXJ2aWNl
X0dldERldmljZV9OYW1lID0gMTsKLSAgdmFyIGtXZWJVc2JTZXJ2aWNlX0dldFBlcm1pc3Npb25f
TmFtZSA9IDI7Ci0gIHZhciBrV2ViVXNiU2VydmljZV9TZXRDbGllbnRfTmFtZSA9IDM7Ci0KLSAg
ZnVuY3Rpb24gV2ViVXNiU2VydmljZVB0cihoYW5kbGVPclB0ckluZm8pIHsKLSAgICB0aGlzLnB0
ciA9IG5ldyBiaW5kaW5ncy5JbnRlcmZhY2VQdHJDb250cm9sbGVyKFdlYlVzYlNlcnZpY2UsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVP
clB0ckluZm8pOwotICB9Ci0KLSAgZnVuY3Rpb24gV2ViVXNiU2VydmljZUFzc29jaWF0ZWRQdHIo
YXNzb2NpYXRlZEludGVyZmFjZVB0ckluZm8pIHsKLSAgICB0aGlzLnB0ciA9IG5ldyBhc3NvY2lh
dGVkQmluZGluZ3MuQXNzb2NpYXRlZEludGVyZmFjZVB0ckNvbnRyb2xsZXIoCi0gICAgICAgIFdl
YlVzYlNlcnZpY2UsIGFzc29jaWF0ZWRJbnRlcmZhY2VQdHJJbmZvKTsKLSAgfQotCi0gIFdlYlVz
YlNlcnZpY2VBc3NvY2lhdGVkUHRyLnByb3RvdHlwZSA9Ci0gICAgICBPYmplY3QuY3JlYXRlKFdl
YlVzYlNlcnZpY2VQdHIucHJvdG90eXBlKTsKLSAgV2ViVXNiU2VydmljZUFzc29jaWF0ZWRQdHIu
cHJvdG90eXBlLmNvbnN0cnVjdG9yID0KLSAgICAgIFdlYlVzYlNlcnZpY2VBc3NvY2lhdGVkUHRy
OwotCi0gIGZ1bmN0aW9uIFdlYlVzYlNlcnZpY2VQcm94eShyZWNlaXZlcikgewotICAgIHRoaXMu
cmVjZWl2ZXJfID0gcmVjZWl2ZXI7Ci0gIH0KLSAgV2ViVXNiU2VydmljZVB0ci5wcm90b3R5cGUu
Z2V0RGV2aWNlcyA9IGZ1bmN0aW9uKCkgewotICAgIHJldHVybiBXZWJVc2JTZXJ2aWNlUHJveHku
cHJvdG90eXBlLmdldERldmljZXMKLSAgICAgICAgLmFwcGx5KHRoaXMucHRyLmdldFByb3h5KCks
IGFyZ3VtZW50cyk7Ci0gIH07Ci0KLSAgV2ViVXNiU2VydmljZVByb3h5LnByb3RvdHlwZS5nZXRE
ZXZpY2VzID0gZnVuY3Rpb24oKSB7Ci0gICAgdmFyIHBhcmFtc18gPSBuZXcgV2ViVXNiU2Vydmlj
ZV9HZXREZXZpY2VzX1BhcmFtcygpOwotICAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihy
ZXNvbHZlLCByZWplY3QpIHsKLSAgICAgIHZhciBidWlsZGVyID0gbmV3IGNvZGVjLk1lc3NhZ2VW
MUJ1aWxkZXIoCi0gICAgICAgICAga1dlYlVzYlNlcnZpY2VfR2V0RGV2aWNlc19OYW1lLAotICAg
ICAgICAgIGNvZGVjLmFsaWduKFdlYlVzYlNlcnZpY2VfR2V0RGV2aWNlc19QYXJhbXMuZW5jb2Rl
ZFNpemUpLAotICAgICAgICAgIGNvZGVjLmtNZXNzYWdlRXhwZWN0c1Jlc3BvbnNlLCAwKTsKLSAg
ICAgIGJ1aWxkZXIuZW5jb2RlU3RydWN0KFdlYlVzYlNlcnZpY2VfR2V0RGV2aWNlc19QYXJhbXMs
IHBhcmFtc18pOwotICAgICAgdmFyIG1lc3NhZ2UgPSBidWlsZGVyLmZpbmlzaCgpOwotICAgICAg
dGhpcy5yZWNlaXZlcl8uYWNjZXB0QW5kRXhwZWN0UmVzcG9uc2UobWVzc2FnZSkudGhlbihmdW5j
dGlvbihtZXNzYWdlKSB7Ci0gICAgICAgIHZhciByZWFkZXIgPSBuZXcgY29kZWMuTWVzc2FnZVJl
YWRlcihtZXNzYWdlKTsKLSAgICAgICAgdmFyIHJlc3BvbnNlUGFyYW1zID0KLSAgICAgICAgICAg
IHJlYWRlci5kZWNvZGVTdHJ1Y3QoV2ViVXNiU2VydmljZV9HZXREZXZpY2VzX1Jlc3BvbnNlUGFy
YW1zKTsKLSAgICAgICAgcmVzb2x2ZShyZXNwb25zZVBhcmFtcyk7Ci0gICAgICB9KS5jYXRjaChm
dW5jdGlvbihyZXN1bHQpIHsKLSAgICAgICAgcmVqZWN0KEVycm9yKCJDb25uZWN0aW9uIGVycm9y
OiAiICsgcmVzdWx0KSk7Ci0gICAgICB9KTsKLSAgICB9LmJpbmQodGhpcykpOwotICB9OwotICBX
ZWJVc2JTZXJ2aWNlUHRyLnByb3RvdHlwZS5nZXREZXZpY2UgPSBmdW5jdGlvbigpIHsKLSAgICBy
ZXR1cm4gV2ViVXNiU2VydmljZVByb3h5LnByb3RvdHlwZS5nZXREZXZpY2UKLSAgICAgICAgLmFw
cGx5KHRoaXMucHRyLmdldFByb3h5KCksIGFyZ3VtZW50cyk7Ci0gIH07Ci0KLSAgV2ViVXNiU2Vy
dmljZVByb3h5LnByb3RvdHlwZS5nZXREZXZpY2UgPSBmdW5jdGlvbihndWlkLCBkZXZpY2VSZXF1
ZXN0ZCkgewotICAgIHZhciBwYXJhbXNfID0gbmV3IFdlYlVzYlNlcnZpY2VfR2V0RGV2aWNlX1Bh
cmFtcygpOwotICAgIHBhcmFtc18uZ3VpZCA9IGd1aWQ7Ci0gICAgcGFyYW1zXy5kZXZpY2VSZXF1
ZXN0ZCA9IGRldmljZVJlcXVlc3RkOwotICAgIHZhciBidWlsZGVyID0gbmV3IGNvZGVjLk1lc3Nh
Z2VWMEJ1aWxkZXIoCi0gICAgICAgIGtXZWJVc2JTZXJ2aWNlX0dldERldmljZV9OYW1lLAotICAg
ICAgICBjb2RlYy5hbGlnbihXZWJVc2JTZXJ2aWNlX0dldERldmljZV9QYXJhbXMuZW5jb2RlZFNp
emUpKTsKLSAgICBidWlsZGVyLmVuY29kZVN0cnVjdChXZWJVc2JTZXJ2aWNlX0dldERldmljZV9Q
YXJhbXMsIHBhcmFtc18pOwotICAgIHZhciBtZXNzYWdlID0gYnVpbGRlci5maW5pc2goKTsKLSAg
ICB0aGlzLnJlY2VpdmVyXy5hY2NlcHQobWVzc2FnZSk7Ci0gIH07Ci0gIFdlYlVzYlNlcnZpY2VQ
dHIucHJvdG90eXBlLmdldFBlcm1pc3Npb24gPSBmdW5jdGlvbigpIHsKLSAgICByZXR1cm4gV2Vi
VXNiU2VydmljZVByb3h5LnByb3RvdHlwZS5nZXRQZXJtaXNzaW9uCi0gICAgICAgIC5hcHBseSh0
aGlzLnB0ci5nZXRQcm94eSgpLCBhcmd1bWVudHMpOwotICB9OwotCi0gIFdlYlVzYlNlcnZpY2VQ
cm94eS5wcm90b3R5cGUuZ2V0UGVybWlzc2lvbiA9IGZ1bmN0aW9uKGRldmljZUZpbHRlcnMpIHsK
LSAgICB2YXIgcGFyYW1zXyA9IG5ldyBXZWJVc2JTZXJ2aWNlX0dldFBlcm1pc3Npb25fUGFyYW1z
KCk7Ci0gICAgcGFyYW1zXy5kZXZpY2VGaWx0ZXJzID0gZGV2aWNlRmlsdGVyczsKLSAgICByZXR1
cm4gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7Ci0gICAgICB2YXIgYnVp
bGRlciA9IG5ldyBjb2RlYy5NZXNzYWdlVjFCdWlsZGVyKAotICAgICAgICAgIGtXZWJVc2JTZXJ2
aWNlX0dldFBlcm1pc3Npb25fTmFtZSwKLSAgICAgICAgICBjb2RlYy5hbGlnbihXZWJVc2JTZXJ2
aWNlX0dldFBlcm1pc3Npb25fUGFyYW1zLmVuY29kZWRTaXplKSwKLSAgICAgICAgICBjb2RlYy5r
TWVzc2FnZUV4cGVjdHNSZXNwb25zZSwgMCk7Ci0gICAgICBidWlsZGVyLmVuY29kZVN0cnVjdChX
ZWJVc2JTZXJ2aWNlX0dldFBlcm1pc3Npb25fUGFyYW1zLCBwYXJhbXNfKTsKLSAgICAgIHZhciBt
ZXNzYWdlID0gYnVpbGRlci5maW5pc2goKTsKLSAgICAgIHRoaXMucmVjZWl2ZXJfLmFjY2VwdEFu
ZEV4cGVjdFJlc3BvbnNlKG1lc3NhZ2UpLnRoZW4oZnVuY3Rpb24obWVzc2FnZSkgewotICAgICAg
ICB2YXIgcmVhZGVyID0gbmV3IGNvZGVjLk1lc3NhZ2VSZWFkZXIobWVzc2FnZSk7Ci0gICAgICAg
IHZhciByZXNwb25zZVBhcmFtcyA9Ci0gICAgICAgICAgICByZWFkZXIuZGVjb2RlU3RydWN0KFdl
YlVzYlNlcnZpY2VfR2V0UGVybWlzc2lvbl9SZXNwb25zZVBhcmFtcyk7Ci0gICAgICAgIHJlc29s
dmUocmVzcG9uc2VQYXJhbXMpOwotICAgICAgfSkuY2F0Y2goZnVuY3Rpb24ocmVzdWx0KSB7Ci0g
ICAgICAgIHJlamVjdChFcnJvcigiQ29ubmVjdGlvbiBlcnJvcjogIiArIHJlc3VsdCkpOwotICAg
ICAgfSk7Ci0gICAgfS5iaW5kKHRoaXMpKTsKLSAgfTsKLSAgV2ViVXNiU2VydmljZVB0ci5wcm90
b3R5cGUuc2V0Q2xpZW50ID0gZnVuY3Rpb24oKSB7Ci0gICAgcmV0dXJuIFdlYlVzYlNlcnZpY2VQ
cm94eS5wcm90b3R5cGUuc2V0Q2xpZW50Ci0gICAgICAgIC5hcHBseSh0aGlzLnB0ci5nZXRQcm94
eSgpLCBhcmd1bWVudHMpOwotICB9OwotCi0gIFdlYlVzYlNlcnZpY2VQcm94eS5wcm90b3R5cGUu
c2V0Q2xpZW50ID0gZnVuY3Rpb24oY2xpZW50KSB7Ci0gICAgdmFyIHBhcmFtc18gPSBuZXcgV2Vi
VXNiU2VydmljZV9TZXRDbGllbnRfUGFyYW1zKCk7Ci0gICAgcGFyYW1zXy5jbGllbnQgPSBjbGll
bnQ7Ci0gICAgdmFyIGJ1aWxkZXIgPSBuZXcgY29kZWMuTWVzc2FnZVYyQnVpbGRlcigKLSAgICAg
ICAga1dlYlVzYlNlcnZpY2VfU2V0Q2xpZW50X05hbWUsCi0gICAgICAgIGNvZGVjLmFsaWduKFdl
YlVzYlNlcnZpY2VfU2V0Q2xpZW50X1BhcmFtcy5lbmNvZGVkU2l6ZSkpOwotICAgIGJ1aWxkZXIu
c2V0UGF5bG9hZChXZWJVc2JTZXJ2aWNlX1NldENsaWVudF9QYXJhbXMsIHBhcmFtc18pOwotICAg
IHZhciBtZXNzYWdlID0gYnVpbGRlci5maW5pc2goKTsKLSAgICB0aGlzLnJlY2VpdmVyXy5hY2Nl
cHQobWVzc2FnZSk7Ci0gIH07Ci0KLSAgZnVuY3Rpb24gV2ViVXNiU2VydmljZVN0dWIoZGVsZWdh
dGUpIHsKLSAgICB0aGlzLmRlbGVnYXRlXyA9IGRlbGVnYXRlOwotICB9Ci0gIFdlYlVzYlNlcnZp
Y2VTdHViLnByb3RvdHlwZS5nZXREZXZpY2VzID0gZnVuY3Rpb24oKSB7Ci0gICAgcmV0dXJuIHRo
aXMuZGVsZWdhdGVfICYmIHRoaXMuZGVsZWdhdGVfLmdldERldmljZXMgJiYgdGhpcy5kZWxlZ2F0
ZV8uZ2V0RGV2aWNlcygpOwotICB9Ci0gIFdlYlVzYlNlcnZpY2VTdHViLnByb3RvdHlwZS5nZXRE
ZXZpY2UgPSBmdW5jdGlvbihndWlkLCBkZXZpY2VSZXF1ZXN0ZCkgewotICAgIHJldHVybiB0aGlz
LmRlbGVnYXRlXyAmJiB0aGlzLmRlbGVnYXRlXy5nZXREZXZpY2UgJiYgdGhpcy5kZWxlZ2F0ZV8u
Z2V0RGV2aWNlKGd1aWQsIGRldmljZVJlcXVlc3RkKTsKLSAgfQotICBXZWJVc2JTZXJ2aWNlU3R1
Yi5wcm90b3R5cGUuZ2V0UGVybWlzc2lvbiA9IGZ1bmN0aW9uKGRldmljZUZpbHRlcnMpIHsKLSAg
ICByZXR1cm4gdGhpcy5kZWxlZ2F0ZV8gJiYgdGhpcy5kZWxlZ2F0ZV8uZ2V0UGVybWlzc2lvbiAm
JiB0aGlzLmRlbGVnYXRlXy5nZXRQZXJtaXNzaW9uKGRldmljZUZpbHRlcnMpOwotICB9Ci0gIFdl
YlVzYlNlcnZpY2VTdHViLnByb3RvdHlwZS5zZXRDbGllbnQgPSBmdW5jdGlvbihjbGllbnQpIHsK
LSAgICByZXR1cm4gdGhpcy5kZWxlZ2F0ZV8gJiYgdGhpcy5kZWxlZ2F0ZV8uc2V0Q2xpZW50ICYm
IHRoaXMuZGVsZWdhdGVfLnNldENsaWVudChjbGllbnQpOwotICB9Ci0KLSAgV2ViVXNiU2Vydmlj
ZVN0dWIucHJvdG90eXBlLmFjY2VwdCA9IGZ1bmN0aW9uKG1lc3NhZ2UpIHsKLSAgICB2YXIgcmVh
ZGVyID0gbmV3IGNvZGVjLk1lc3NhZ2VSZWFkZXIobWVzc2FnZSk7Ci0gICAgc3dpdGNoIChyZWFk
ZXIubWVzc2FnZU5hbWUpIHsKLSAgICBjYXNlIGtXZWJVc2JTZXJ2aWNlX0dldERldmljZV9OYW1l
OgotICAgICAgdmFyIHBhcmFtcyA9IHJlYWRlci5kZWNvZGVTdHJ1Y3QoV2ViVXNiU2VydmljZV9H
ZXREZXZpY2VfUGFyYW1zKTsKLSAgICAgIHRoaXMuZ2V0RGV2aWNlKHBhcmFtcy5ndWlkLCBwYXJh
bXMuZGV2aWNlUmVxdWVzdGQpOwotICAgICAgcmV0dXJuIHRydWU7Ci0gICAgY2FzZSBrV2ViVXNi
U2VydmljZV9TZXRDbGllbnRfTmFtZToKLSAgICAgIHZhciBwYXJhbXMgPSByZWFkZXIuZGVjb2Rl
U3RydWN0KFdlYlVzYlNlcnZpY2VfU2V0Q2xpZW50X1BhcmFtcyk7Ci0gICAgICB0aGlzLnNldENs
aWVudChwYXJhbXMuY2xpZW50KTsKLSAgICAgIHJldHVybiB0cnVlOwotICAgIGRlZmF1bHQ6Ci0g
ICAgICByZXR1cm4gZmFsc2U7Ci0gICAgfQotICB9OwotCi0gIFdlYlVzYlNlcnZpY2VTdHViLnBy
b3RvdHlwZS5hY2NlcHRXaXRoUmVzcG9uZGVyID0KLSAgICAgIGZ1bmN0aW9uKG1lc3NhZ2UsIHJl
c3BvbmRlcikgewotICAgIHZhciByZWFkZXIgPSBuZXcgY29kZWMuTWVzc2FnZVJlYWRlcihtZXNz
YWdlKTsKLSAgICBzd2l0Y2ggKHJlYWRlci5tZXNzYWdlTmFtZSkgewotICAgIGNhc2Uga1dlYlVz
YlNlcnZpY2VfR2V0RGV2aWNlc19OYW1lOgotICAgICAgdmFyIHBhcmFtcyA9IHJlYWRlci5kZWNv
ZGVTdHJ1Y3QoV2ViVXNiU2VydmljZV9HZXREZXZpY2VzX1BhcmFtcyk7Ci0gICAgICB0aGlzLmdl
dERldmljZXMoKS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgICAgIHZhciByZXNwb25z
ZVBhcmFtcyA9Ci0gICAgICAgICAgICBuZXcgV2ViVXNiU2VydmljZV9HZXREZXZpY2VzX1Jlc3Bv
bnNlUGFyYW1zKCk7Ci0gICAgICAgIHJlc3BvbnNlUGFyYW1zLnJlc3VsdHMgPSByZXNwb25zZS5y
ZXN1bHRzOwotICAgICAgICB2YXIgYnVpbGRlciA9IG5ldyBjb2RlYy5NZXNzYWdlVjFCdWlsZGVy
KAotICAgICAgICAgICAga1dlYlVzYlNlcnZpY2VfR2V0RGV2aWNlc19OYW1lLAotICAgICAgICAg
ICAgY29kZWMuYWxpZ24oV2ViVXNiU2VydmljZV9HZXREZXZpY2VzX1Jlc3BvbnNlUGFyYW1zLmVu
Y29kZWRTaXplKSwKLSAgICAgICAgICAgIGNvZGVjLmtNZXNzYWdlSXNSZXNwb25zZSwgcmVhZGVy
LnJlcXVlc3RJRCk7Ci0gICAgICAgIGJ1aWxkZXIuZW5jb2RlU3RydWN0KFdlYlVzYlNlcnZpY2Vf
R2V0RGV2aWNlc19SZXNwb25zZVBhcmFtcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
cmVzcG9uc2VQYXJhbXMpOwotICAgICAgICB2YXIgbWVzc2FnZSA9IGJ1aWxkZXIuZmluaXNoKCk7
Ci0gICAgICAgIHJlc3BvbmRlci5hY2NlcHQobWVzc2FnZSk7Ci0gICAgICB9KTsKLSAgICAgIHJl
dHVybiB0cnVlOwotICAgIGNhc2Uga1dlYlVzYlNlcnZpY2VfR2V0UGVybWlzc2lvbl9OYW1lOgot
ICAgICAgdmFyIHBhcmFtcyA9IHJlYWRlci5kZWNvZGVTdHJ1Y3QoV2ViVXNiU2VydmljZV9HZXRQ
ZXJtaXNzaW9uX1BhcmFtcyk7Ci0gICAgICB0aGlzLmdldFBlcm1pc3Npb24ocGFyYW1zLmRldmlj
ZUZpbHRlcnMpLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICAgICAgdmFyIHJlc3BvbnNl
UGFyYW1zID0KLSAgICAgICAgICAgIG5ldyBXZWJVc2JTZXJ2aWNlX0dldFBlcm1pc3Npb25fUmVz
cG9uc2VQYXJhbXMoKTsKLSAgICAgICAgcmVzcG9uc2VQYXJhbXMucmVzdWx0ID0gcmVzcG9uc2Uu
cmVzdWx0OwotICAgICAgICB2YXIgYnVpbGRlciA9IG5ldyBjb2RlYy5NZXNzYWdlVjFCdWlsZGVy
KAotICAgICAgICAgICAga1dlYlVzYlNlcnZpY2VfR2V0UGVybWlzc2lvbl9OYW1lLAotICAgICAg
ICAgICAgY29kZWMuYWxpZ24oV2ViVXNiU2VydmljZV9HZXRQZXJtaXNzaW9uX1Jlc3BvbnNlUGFy
YW1zLmVuY29kZWRTaXplKSwKLSAgICAgICAgICAgIGNvZGVjLmtNZXNzYWdlSXNSZXNwb25zZSwg
cmVhZGVyLnJlcXVlc3RJRCk7Ci0gICAgICAgIGJ1aWxkZXIuZW5jb2RlU3RydWN0KFdlYlVzYlNl
cnZpY2VfR2V0UGVybWlzc2lvbl9SZXNwb25zZVBhcmFtcywKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgcmVzcG9uc2VQYXJhbXMpOwotICAgICAgICB2YXIgbWVzc2FnZSA9IGJ1aWxkZXIu
ZmluaXNoKCk7Ci0gICAgICAgIHJlc3BvbmRlci5hY2NlcHQobWVzc2FnZSk7Ci0gICAgICB9KTsK
LSAgICAgIHJldHVybiB0cnVlOwotICAgIGRlZmF1bHQ6Ci0gICAgICByZXR1cm4gZmFsc2U7Ci0g
ICAgfQotICB9OwotCi0gIGZ1bmN0aW9uIHZhbGlkYXRlV2ViVXNiU2VydmljZVJlcXVlc3QobWVz
c2FnZVZhbGlkYXRvcikgewotICAgIHZhciBtZXNzYWdlID0gbWVzc2FnZVZhbGlkYXRvci5tZXNz
YWdlOwotICAgIHZhciBwYXJhbXNDbGFzcyA9IG51bGw7Ci0gICAgc3dpdGNoIChtZXNzYWdlLmdl
dE5hbWUoKSkgewotICAgICAgY2FzZSBrV2ViVXNiU2VydmljZV9HZXREZXZpY2VzX05hbWU6Ci0g
ICAgICAgIGlmIChtZXNzYWdlLmV4cGVjdHNSZXNwb25zZSgpKQotICAgICAgICAgIHBhcmFtc0Ns
YXNzID0gV2ViVXNiU2VydmljZV9HZXREZXZpY2VzX1BhcmFtczsKLSAgICAgIGJyZWFrOwotICAg
ICAgY2FzZSBrV2ViVXNiU2VydmljZV9HZXREZXZpY2VfTmFtZToKLSAgICAgICAgaWYgKCFtZXNz
YWdlLmV4cGVjdHNSZXNwb25zZSgpICYmICFtZXNzYWdlLmlzUmVzcG9uc2UoKSkKLSAgICAgICAg
ICBwYXJhbXNDbGFzcyA9IFdlYlVzYlNlcnZpY2VfR2V0RGV2aWNlX1BhcmFtczsKLSAgICAgIGJy
ZWFrOwotICAgICAgY2FzZSBrV2ViVXNiU2VydmljZV9HZXRQZXJtaXNzaW9uX05hbWU6Ci0gICAg
ICAgIGlmIChtZXNzYWdlLmV4cGVjdHNSZXNwb25zZSgpKQotICAgICAgICAgIHBhcmFtc0NsYXNz
ID0gV2ViVXNiU2VydmljZV9HZXRQZXJtaXNzaW9uX1BhcmFtczsKLSAgICAgIGJyZWFrOwotICAg
ICAgY2FzZSBrV2ViVXNiU2VydmljZV9TZXRDbGllbnRfTmFtZToKLSAgICAgICAgaWYgKCFtZXNz
YWdlLmV4cGVjdHNSZXNwb25zZSgpICYmICFtZXNzYWdlLmlzUmVzcG9uc2UoKSkKLSAgICAgICAg
ICBwYXJhbXNDbGFzcyA9IFdlYlVzYlNlcnZpY2VfU2V0Q2xpZW50X1BhcmFtczsKLSAgICAgIGJy
ZWFrOwotICAgIH0KLSAgICBpZiAocGFyYW1zQ2xhc3MgPT09IG51bGwpCi0gICAgICByZXR1cm4g
dmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwotICAgIHJldHVybiBwYXJhbXNDbGFzcy52
YWxpZGF0ZShtZXNzYWdlVmFsaWRhdG9yLCBtZXNzYWdlVmFsaWRhdG9yLm1lc3NhZ2UuZ2V0SGVh
ZGVyTnVtQnl0ZXMoKSk7Ci0gIH0KLQotICBmdW5jdGlvbiB2YWxpZGF0ZVdlYlVzYlNlcnZpY2VS
ZXNwb25zZShtZXNzYWdlVmFsaWRhdG9yKSB7Ci0gICB2YXIgbWVzc2FnZSA9IG1lc3NhZ2VWYWxp
ZGF0b3IubWVzc2FnZTsKLSAgIHZhciBwYXJhbXNDbGFzcyA9IG51bGw7Ci0gICBzd2l0Y2ggKG1l
c3NhZ2UuZ2V0TmFtZSgpKSB7Ci0gICAgICBjYXNlIGtXZWJVc2JTZXJ2aWNlX0dldERldmljZXNf
TmFtZToKLSAgICAgICAgaWYgKG1lc3NhZ2UuaXNSZXNwb25zZSgpKQotICAgICAgICAgIHBhcmFt
c0NsYXNzID0gV2ViVXNiU2VydmljZV9HZXREZXZpY2VzX1Jlc3BvbnNlUGFyYW1zOwotICAgICAg
ICBicmVhazsKLSAgICAgIGNhc2Uga1dlYlVzYlNlcnZpY2VfR2V0UGVybWlzc2lvbl9OYW1lOgot
ICAgICAgICBpZiAobWVzc2FnZS5pc1Jlc3BvbnNlKCkpCi0gICAgICAgICAgcGFyYW1zQ2xhc3Mg
PSBXZWJVc2JTZXJ2aWNlX0dldFBlcm1pc3Npb25fUmVzcG9uc2VQYXJhbXM7Ci0gICAgICAgIGJy
ZWFrOwotICAgIH0KLSAgICBpZiAocGFyYW1zQ2xhc3MgPT09IG51bGwpCi0gICAgICByZXR1cm4g
dmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvci5OT05FOwotICAgIHJldHVybiBwYXJhbXNDbGFzcy52
YWxpZGF0ZShtZXNzYWdlVmFsaWRhdG9yLCBtZXNzYWdlVmFsaWRhdG9yLm1lc3NhZ2UuZ2V0SGVh
ZGVyTnVtQnl0ZXMoKSk7Ci0gIH0KLQotICB2YXIgV2ViVXNiU2VydmljZSA9IHsKLSAgICBuYW1l
OiAnYmxpbmsubW9qb20uV2ViVXNiU2VydmljZScsCi0gICAga1ZlcnNpb246IDAsCi0gICAgcHRy
Q2xhc3M6IFdlYlVzYlNlcnZpY2VQdHIsCi0gICAgcHJveHlDbGFzczogV2ViVXNiU2VydmljZVBy
b3h5LAotICAgIHN0dWJDbGFzczogV2ViVXNiU2VydmljZVN0dWIsCi0gICAgdmFsaWRhdGVSZXF1
ZXN0OiB2YWxpZGF0ZVdlYlVzYlNlcnZpY2VSZXF1ZXN0LAotICAgIHZhbGlkYXRlUmVzcG9uc2U6
IHZhbGlkYXRlV2ViVXNiU2VydmljZVJlc3BvbnNlLAotICB9OwotICBXZWJVc2JTZXJ2aWNlU3R1
Yi5wcm90b3R5cGUudmFsaWRhdG9yID0gdmFsaWRhdGVXZWJVc2JTZXJ2aWNlUmVxdWVzdDsKLSAg
V2ViVXNiU2VydmljZVByb3h5LnByb3RvdHlwZS52YWxpZGF0b3IgPSB2YWxpZGF0ZVdlYlVzYlNl
cnZpY2VSZXNwb25zZTsKLSAgZXhwb3J0cy5XZWJVc2JTZXJ2aWNlID0gV2ViVXNiU2VydmljZTsK
LSAgZXhwb3J0cy5XZWJVc2JTZXJ2aWNlUHRyID0gV2ViVXNiU2VydmljZVB0cjsKLSAgZXhwb3J0
cy5XZWJVc2JTZXJ2aWNlQXNzb2NpYXRlZFB0ciA9IFdlYlVzYlNlcnZpY2VBc3NvY2lhdGVkUHRy
OwotfSkoKTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS93
ZWJfdXNiX3NlcnZpY2UubW9qb20uanMuaGVhZGVycyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL3dlYl91c2Jfc2VydmljZS5t
b2pvbS5qcy5oZWFkZXJzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2ODA1YzMyM2Rm
NS4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vd2ViX3VzYl9zZXJ2aWNlLm1vam9tLmpzLmhlYWRl
cnMKKysrIC9kZXYvbnVsbApAQCAtMSArMCwwIEBACi1Db250ZW50LVR5cGU6IHRleHQvamF2YXNj
cmlwdDsgY2hhcnNldD11dGYtOApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vd2VidXNiLWNoaWxkLXRlc3Qu
anMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy9jaHJvbWl1bS93ZWJ1c2ItY2hpbGQtdGVzdC5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggZWU3OTBiYjYxOWYuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL3dlYnVzYi1jaGlsZC10
ZXN0LmpzCisrKyAvZGV2L251bGwKQEAgLTEsNDAgKzAsMCBAQAotJ3VzZSBzdHJpY3QnOwotCi0v
LyBUaGlzIHBvbHlmaWxsIHByZXBhcmVzIGEgY2hpbGQgY29udGV4dCB0byBiZSBhdHRhY2hlZCB0
byBhIHBhcmVudCBjb250ZXh0LgotLy8gVGhlIHBhcmVudCBtdXN0IGNhbGwgbmF2aWdhdG9yLnVz
Yi50ZXN0LmF0dGFjaFRvQ29udGV4dCgpIHRvIGF0dGFjaCB0byB0aGUKLS8vIGNoaWxkIGNvbnRl
eHQuCi0oKCkgPT4gewotICBpZiAodGhpcy5jb25zdHJ1Y3Rvci5uYW1lID09PSAnRGVkaWNhdGVk
V29ya2VyR2xvYmFsU2NvcGUnIHx8Ci0gICAgICB0aGlzICE9PSB3aW5kb3cudG9wKSB7Ci0KLSAg
ICAvLyBSdW4gQ2hyb21pdW0gc3BlY2lmaWMgc2V0IHVwIGNvZGUuCi0gICAgaWYgKHR5cGVvZiBN
b2pvSW50ZXJmYWNlSW50ZXJjZXB0b3IgIT09ICd1bmRlZmluZWQnKSB7Ci0gICAgICBsZXQgbWVz
c2FnZUNoYW5uZWwgPSBuZXcgTWVzc2FnZUNoYW5uZWwoKTsKLSAgICAgIG1lc3NhZ2VDaGFubmVs
LnBvcnQxLm9ubWVzc2FnZSA9IGFzeW5jIChtZXNzYWdlRXZlbnQpID0+IHsKLSAgICAgICAgaWYg
KG1lc3NhZ2VFdmVudC5kYXRhLnR5cGUgPT09ICdBdHRhY2gnKSB7Ci0gICAgICAgICAgbWVzc2Fn
ZUV2ZW50LmRhdGEuaW50ZXJmYWNlcy5mb3JFYWNoKGludGVyZmFjZU5hbWUgPT4gewotICAgICAg
ICAgICAgbGV0IGludGVyZmFjZUludGVyY2VwdG9yID0KLSAgICAgICAgICAgICAgICBuZXcgTW9q
b0ludGVyZmFjZUludGVyY2VwdG9yKGludGVyZmFjZU5hbWUsICJjb250ZXh0IiwgdHJ1ZSk7Ci0g
ICAgICAgICAgICBpbnRlcmZhY2VJbnRlcmNlcHRvci5vbmludGVyZmFjZXJlcXVlc3QgPQotICAg
ICAgICAgICAgICBlID0+IG1lc3NhZ2VDaGFubmVsLnBvcnQxLnBvc3RNZXNzYWdlKHsKLSAgICAg
ICAgICAgICAgICB0eXBlOiBpbnRlcmZhY2VOYW1lLAotICAgICAgICAgICAgICAgIGhhbmRsZTog
ZS5oYW5kbGUKLSAgICAgICAgICAgICAgfSwgW2UuaGFuZGxlXSk7Ci0gICAgICAgICAgICBpbnRl
cmZhY2VJbnRlcmNlcHRvci5zdGFydCgpOwotICAgICAgICAgIH0pOwotCi0gICAgICAgICAgLy8g
V2FpdCBmb3IgYSBjYWxsIHRvIEdldERldmljZXMoKSB0byBlbnN1cmUgdGhhdCB0aGUgaW50ZXJm
YWNlCi0gICAgICAgICAgLy8gaGFuZGxlcyBhcmUgZm9yd2FyZGVkIHRvIHRoZSBwYXJlbnQgY29u
dGV4dC4KLSAgICAgICAgICBhd2FpdCBuYXZpZ2F0b3IudXNiLmdldERldmljZXMoKTsKLSAgICAg
ICAgICBtZXNzYWdlQ2hhbm5lbC5wb3J0MS5wb3N0TWVzc2FnZSh7IHR5cGU6ICdDb21wbGV0ZScg
fSk7Ci0gICAgICAgIH0KLSAgICAgIH07Ci0KLSAgICAgIGxldCBtZXNzYWdlID0geyB0eXBlOiAn
UmVhZHlGb3JBdHRhY2htZW50JywgcG9ydDogbWVzc2FnZUNoYW5uZWwucG9ydDIgfTsKLSAgICAg
IGlmICh0eXBlb2YgV2luZG93ICE9PSAndW5kZWZpbmVkJykKLSAgICAgICAgcGFyZW50LnBvc3RN
ZXNzYWdlKG1lc3NhZ2UsICcqJywgW21lc3NhZ2VDaGFubmVsLnBvcnQyXSk7Ci0gICAgICBlbHNl
Ci0gICAgICAgIHBvc3RNZXNzYWdlKG1lc3NhZ2UsIFttZXNzYWdlQ2hhbm5lbC5wb3J0Ml0pOwot
ICAgIH0KLSAgfQotfSkoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL3dlYnVzYi1jaGlsZC10ZXN0Lmpz
LmhlYWRlcnMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy9jaHJvbWl1bS93ZWJ1c2ItY2hpbGQtdGVzdC5qcy5oZWFkZXJzCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCA2ODA1YzMyM2RmNS4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0v
d2VidXNiLWNoaWxkLXRlc3QuanMuaGVhZGVycworKysgL2Rldi9udWxsCkBAIC0xICswLDAgQEAK
LUNvbnRlbnQtVHlwZTogdGV4dC9qYXZhc2NyaXB0OyBjaGFyc2V0PXV0Zi04CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9j
aHJvbWl1bS93ZWJ1c2ItdGVzdC5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL3dlYnVzYi10ZXN0LmpzCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCA4M2I4ODFmN2Q2ZS4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0v
d2VidXNiLXRlc3QuanMKKysrIC9kZXYvbnVsbApAQCAtMSw1NTEgKzAsMCBAQAotJ3VzZSBzdHJp
Y3QnOwotCi0vLyBUaGlzIHBvbHlmaWxsIGxpYnJhcnkgaW1wbGVtZW50cyB0aGUgV2ViVVNCIFRl
c3QgQVBJIGFzIHNwZWNpZmllZCBoZXJlOgotLy8gaHR0cHM6Ly93aWNnLmdpdGh1Yi5pby93ZWJ1
c2IvdGVzdC8KLQotKCgpID0+IHsKLQotLy8gVGhlc2UgdmFyaWFibGVzIGFyZSBsb2dpY2FsbHkg
bWVtYmVycyBvZiB0aGUgVVNCVGVzdCBjbGFzcyBidXQgYXJlIGRlZmluZWQKLS8vIGhlcmUgdG8g
aGlkZSB0aGVtIGZyb20gYmVpbmcgdmlzaWJsZSBhcyBmaWVsZHMgb2YgbmF2aWdhdG9yLnVzYi50
ZXN0LgotbGV0IGludGVybmFsID0gewotICBpbnRpYWxpemVkOiBmYWxzZSwKLQotICB3ZWJVc2JT
ZXJ2aWNlOiBudWxsLAotICB3ZWJVc2JTZXJ2aWNlSW50ZXJjZXB0b3I6IG51bGwsCi0KLSAgbWVz
c2FnZVBvcnQ6IG51bGwsCi19OwotCi1mdW5jdGlvbiBnZXRNZXNzYWdlUG9ydCh0YXJnZXQpIHsK
LSAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4gewotICAgIHRhcmdldC5hZGRFdmVudExp
c3RlbmVyKCdtZXNzYWdlJywgbWVzc2FnZUV2ZW50ID0+IHsKLSAgICAgIGlmIChtZXNzYWdlRXZl
bnQuZGF0YS50eXBlID09PSAnUmVhZHlGb3JBdHRhY2htZW50JykgewotICAgICAgICBpZiAoaW50
ZXJuYWwubWVzc2FnZVBvcnQgPT09IG51bGwpIHsKLSAgICAgICAgICBpbnRlcm5hbC5tZXNzYWdl
UG9ydCA9IG1lc3NhZ2VFdmVudC5kYXRhLnBvcnQ7Ci0gICAgICAgIH0KLSAgICAgICAgcmVzb2x2
ZSgpOwotICAgICAgfQotICAgIH0sIHtvbmNlOiB0cnVlfSk7Ci0gIH0pOwotfQotCi0vLyBDb252
ZXJ0cyBhbiBFQ01BU2NyaXB0IFN0cmluZyBvYmplY3QgdG8gYW4gaW5zdGFuY2Ugb2YKLS8vIG1v
am9fYmFzZS5tb2pvbS5TdHJpbmcxNi4KLWZ1bmN0aW9uIG1vam9TdHJpbmcxNlRvU3RyaW5nKHN0
cmluZzE2KSB7Ci0gIHJldHVybiBTdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwsIHN0cmlu
ZzE2LmRhdGEpOwotfQotCi0vLyBDb252ZXJ0cyBhbiBpbnN0YW5jZSBvZiBtb2pvX2Jhc2UubW9q
b20uU3RyaW5nMTYgdG8gYW4gRUNNQVNjcmlwdCBTdHJpbmcuCi1mdW5jdGlvbiBzdHJpbmdUb01v
am9TdHJpbmcxNihzdHJpbmcpIHsKLSAgbGV0IGFycmF5ID0gbmV3IEFycmF5KHN0cmluZy5sZW5n
dGgpOwotICBmb3IgKHZhciBpID0gMDsgaSA8IHN0cmluZy5sZW5ndGg7ICsraSkgewotICAgIGFy
cmF5W2ldID0gc3RyaW5nLmNoYXJDb2RlQXQoaSk7Ci0gIH0KLSAgcmV0dXJuIHsgZGF0YTogYXJy
YXkgfQotfQotCi1mdW5jdGlvbiBmYWtlRGV2aWNlSW5pdFRvRGV2aWNlSW5mbyhndWlkLCBpbml0
KSB7Ci0gIGxldCBkZXZpY2VJbmZvID0gewotICAgIGd1aWQ6IGd1aWQgKyAiIiwKLSAgICB1c2JW
ZXJzaW9uTWFqb3I6IGluaXQudXNiVmVyc2lvbk1ham9yLAotICAgIHVzYlZlcnNpb25NaW5vcjog
aW5pdC51c2JWZXJzaW9uTWlub3IsCi0gICAgdXNiVmVyc2lvblN1Ym1pbm9yOiBpbml0LnVzYlZl
cnNpb25TdWJtaW5vciwKLSAgICBjbGFzc0NvZGU6IGluaXQuZGV2aWNlQ2xhc3MsCi0gICAgc3Vi
Y2xhc3NDb2RlOiBpbml0LmRldmljZVN1YmNsYXNzLAotICAgIHByb3RvY29sQ29kZTogaW5pdC5k
ZXZpY2VQcm90b2NvbCwKLSAgICB2ZW5kb3JJZDogaW5pdC52ZW5kb3JJZCwKLSAgICBwcm9kdWN0
SWQ6IGluaXQucHJvZHVjdElkLAotICAgIGRldmljZVZlcnNpb25NYWpvcjogaW5pdC5kZXZpY2VW
ZXJzaW9uTWFqb3IsCi0gICAgZGV2aWNlVmVyc2lvbk1pbm9yOiBpbml0LmRldmljZVZlcnNpb25N
aW5vciwKLSAgICBkZXZpY2VWZXJzaW9uU3VibWlub3I6IGluaXQuZGV2aWNlVmVyc2lvblN1Ym1p
bm9yLAotICAgIG1hbnVmYWN0dXJlck5hbWU6IHN0cmluZ1RvTW9qb1N0cmluZzE2KGluaXQubWFu
dWZhY3R1cmVyTmFtZSksCi0gICAgcHJvZHVjdE5hbWU6IHN0cmluZ1RvTW9qb1N0cmluZzE2KGlu
aXQucHJvZHVjdE5hbWUpLAotICAgIHNlcmlhbE51bWJlcjogc3RyaW5nVG9Nb2pvU3RyaW5nMTYo
aW5pdC5zZXJpYWxOdW1iZXIpLAotICAgIGFjdGl2ZUNvbmZpZ3VyYXRpb246IGluaXQuYWN0aXZl
Q29uZmlndXJhdGlvblZhbHVlLAotICAgIGNvbmZpZ3VyYXRpb25zOiBbXQotICB9OwotICBpbml0
LmNvbmZpZ3VyYXRpb25zLmZvckVhY2goY29uZmlnID0+IHsKLSAgICB2YXIgY29uZmlnSW5mbyA9
IHsKLSAgICAgIGNvbmZpZ3VyYXRpb25WYWx1ZTogY29uZmlnLmNvbmZpZ3VyYXRpb25WYWx1ZSwK
LSAgICAgIGNvbmZpZ3VyYXRpb25OYW1lOiBzdHJpbmdUb01vam9TdHJpbmcxNihjb25maWcuY29u
ZmlndXJhdGlvbk5hbWUpLAotICAgICAgc2VsZlBvd2VyZWQ6IGZhbHNlLAotICAgICAgcmVtb3Rl
V2FrZXVwOiBmYWxzZSwKLSAgICAgIG1heGltdW1Qb3dlcjogMCwKLSAgICAgIGludGVyZmFjZXM6
IFtdLAotICAgICAgZXh0cmFEYXRhOiBuZXcgVWludDhBcnJheSgpCi0gICAgfTsKLSAgICBjb25m
aWcuaW50ZXJmYWNlcy5mb3JFYWNoKGlmYWNlID0+IHsKLSAgICAgIHZhciBpbnRlcmZhY2VJbmZv
ID0gewotICAgICAgICBpbnRlcmZhY2VOdW1iZXI6IGlmYWNlLmludGVyZmFjZU51bWJlciwKLSAg
ICAgICAgYWx0ZXJuYXRlczogW10KLSAgICAgIH07Ci0gICAgICBpZmFjZS5hbHRlcm5hdGVzLmZv
ckVhY2goYWx0ZXJuYXRlID0+IHsKLSAgICAgICAgdmFyIGFsdGVybmF0ZUluZm8gPSB7Ci0gICAg
ICAgICAgYWx0ZXJuYXRlU2V0dGluZzogYWx0ZXJuYXRlLmFsdGVybmF0ZVNldHRpbmcsCi0gICAg
ICAgICAgY2xhc3NDb2RlOiBhbHRlcm5hdGUuaW50ZXJmYWNlQ2xhc3MsCi0gICAgICAgICAgc3Vi
Y2xhc3NDb2RlOiBhbHRlcm5hdGUuaW50ZXJmYWNlU3ViY2xhc3MsCi0gICAgICAgICAgcHJvdG9j
b2xDb2RlOiBhbHRlcm5hdGUuaW50ZXJmYWNlUHJvdG9jb2wsCi0gICAgICAgICAgaW50ZXJmYWNl
TmFtZTogc3RyaW5nVG9Nb2pvU3RyaW5nMTYoYWx0ZXJuYXRlLmludGVyZmFjZU5hbWUpLAotICAg
ICAgICAgIGVuZHBvaW50czogW10sCi0gICAgICAgICAgZXh0cmFEYXRhOiBuZXcgVWludDhBcnJh
eSgpCi0gICAgICAgIH07Ci0gICAgICAgIGFsdGVybmF0ZS5lbmRwb2ludHMuZm9yRWFjaChlbmRw
b2ludCA9PiB7Ci0gICAgICAgICAgdmFyIGVuZHBvaW50SW5mbyA9IHsKLSAgICAgICAgICAgIGVu
ZHBvaW50TnVtYmVyOiBlbmRwb2ludC5lbmRwb2ludE51bWJlciwKLSAgICAgICAgICAgIHBhY2tl
dFNpemU6IGVuZHBvaW50LnBhY2tldFNpemUsCi0gICAgICAgICAgICBzeW5jaHJvbml6YXRpb25U
eXBlOiBkZXZpY2UubW9qb20uVXNiU3luY2hyb25pemF0aW9uVHlwZS5OT05FLAotICAgICAgICAg
ICAgdXNhZ2VUeXBlOiBkZXZpY2UubW9qb20uVXNiVXNhZ2VUeXBlLkRBVEEsCi0gICAgICAgICAg
ICBwb2xsaW5nSW50ZXJ2YWw6IDAsCi0gICAgICAgICAgICBleHRyYURhdGE6IG5ldyBVaW50OEFy
cmF5KCkKLSAgICAgICAgICB9OwotICAgICAgICAgIHN3aXRjaCAoZW5kcG9pbnQuZGlyZWN0aW9u
KSB7Ci0gICAgICAgICAgY2FzZSAiaW4iOgotICAgICAgICAgICAgZW5kcG9pbnRJbmZvLmRpcmVj
dGlvbiA9IGRldmljZS5tb2pvbS5Vc2JUcmFuc2ZlckRpcmVjdGlvbi5JTkJPVU5EOwotICAgICAg
ICAgICAgYnJlYWs7Ci0gICAgICAgICAgY2FzZSAib3V0IjoKLSAgICAgICAgICAgIGVuZHBvaW50
SW5mby5kaXJlY3Rpb24gPSBkZXZpY2UubW9qb20uVXNiVHJhbnNmZXJEaXJlY3Rpb24uT1VUQk9V
TkQ7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgICB9Ci0gICAgICAgICAgc3dpdGNoIChl
bmRwb2ludC50eXBlKSB7Ci0gICAgICAgICAgY2FzZSAiYnVsayI6Ci0gICAgICAgICAgICBlbmRw
b2ludEluZm8udHlwZSA9IGRldmljZS5tb2pvbS5Vc2JUcmFuc2ZlclR5cGUuQlVMSzsKLSAgICAg
ICAgICAgIGJyZWFrOwotICAgICAgICAgIGNhc2UgImludGVycnVwdCI6Ci0gICAgICAgICAgICBl
bmRwb2ludEluZm8udHlwZSA9IGRldmljZS5tb2pvbS5Vc2JUcmFuc2ZlclR5cGUuSU5URVJSVVBU
OwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgY2FzZSAiaXNvY2hyb25vdXMiOgotICAg
ICAgICAgICAgZW5kcG9pbnRJbmZvLnR5cGUgPSBkZXZpY2UubW9qb20uVXNiVHJhbnNmZXJUeXBl
LklTT0NIUk9OT1VTOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgfQotICAgICAgICAg
IGFsdGVybmF0ZUluZm8uZW5kcG9pbnRzLnB1c2goZW5kcG9pbnRJbmZvKTsKLSAgICAgICAgfSk7
Ci0gICAgICAgIGludGVyZmFjZUluZm8uYWx0ZXJuYXRlcy5wdXNoKGFsdGVybmF0ZUluZm8pOwot
ICAgICAgfSk7Ci0gICAgICBjb25maWdJbmZvLmludGVyZmFjZXMucHVzaChpbnRlcmZhY2VJbmZv
KTsKLSAgICB9KTsKLSAgICBkZXZpY2VJbmZvLmNvbmZpZ3VyYXRpb25zLnB1c2goY29uZmlnSW5m
byk7Ci0gIH0pOwotICByZXR1cm4gZGV2aWNlSW5mbzsKLX0KLQotZnVuY3Rpb24gY29udmVydE1v
am9EZXZpY2VGaWx0ZXJzKGlucHV0KSB7Ci0gIGxldCBvdXRwdXQgPSBbXTsKLSAgaW5wdXQuZm9y
RWFjaChmaWx0ZXIgPT4gewotICAgIG91dHB1dC5wdXNoKGNvbnZlcnRNb2pvRGV2aWNlRmlsdGVy
KGZpbHRlcikpOwotICB9KTsKLSAgcmV0dXJuIG91dHB1dDsKLX0KLQotZnVuY3Rpb24gY29udmVy
dE1vam9EZXZpY2VGaWx0ZXIoaW5wdXQpIHsKLSAgbGV0IG91dHB1dCA9IHt9OwotICBpZiAoaW5w
dXQuaGFzVmVuZG9ySWQpCi0gICAgb3V0cHV0LnZlbmRvcklkID0gaW5wdXQudmVuZG9ySWQ7Ci0g
IGlmIChpbnB1dC5oYXNQcm9kdWN0SWQpCi0gICAgb3V0cHV0LnByb2R1Y3RJZCA9IGlucHV0LnBy
b2R1Y3RJZDsKLSAgaWYgKGlucHV0Lmhhc0NsYXNzQ29kZSkKLSAgICBvdXRwdXQuY2xhc3NDb2Rl
ID0gaW5wdXQuY2xhc3NDb2RlOwotICBpZiAoaW5wdXQuaGFzU3ViY2xhc3NDb2RlKQotICAgIG91
dHB1dC5zdWJjbGFzc0NvZGUgPSBpbnB1dC5zdWJjbGFzc0NvZGU7Ci0gIGlmIChpbnB1dC5oYXNQ
cm90b2NvbENvZGUpCi0gICAgb3V0cHV0LnByb3RvY29sQ29kZSA9IGlucHV0LnByb3RvY29sQ29k
ZTsKLSAgaWYgKGlucHV0LnNlcmlhbE51bWJlcikKLSAgICBvdXRwdXQuc2VyaWFsTnVtYmVyID0g
bW9qb1N0cmluZzE2VG9TdHJpbmcoaW5wdXQuc2VyaWFsTnVtYmVyKTsKLSAgcmV0dXJuIG91dHB1
dDsKLX0KLQotY2xhc3MgRmFrZURldmljZSB7Ci0gIGNvbnN0cnVjdG9yKGRldmljZUluaXQpIHsK
LSAgICB0aGlzLmluZm9fID0gZGV2aWNlSW5pdDsKLSAgICB0aGlzLm9wZW5lZF8gPSBmYWxzZTsK
LSAgICB0aGlzLmN1cnJlbnRDb25maWd1cmF0aW9uXyA9IG51bGw7Ci0gICAgdGhpcy5jbGFpbWVk
SW50ZXJmYWNlc18gPSBuZXcgTWFwKCk7Ci0gIH0KLQotICBnZXRDb25maWd1cmF0aW9uKCkgewot
ICAgIGlmICh0aGlzLmN1cnJlbnRDb25maWd1cmF0aW9uXykgewotICAgICAgcmV0dXJuIFByb21p
c2UucmVzb2x2ZSh7Ci0gICAgICAgICAgdmFsdWU6IHRoaXMuY3VycmVudENvbmZpZ3VyYXRpb25f
LmNvbmZpZ3VyYXRpb25WYWx1ZSB9KTsKLSAgICB9IGVsc2UgewotICAgICAgcmV0dXJuIFByb21p
c2UucmVzb2x2ZSh7IHZhbHVlOiAwIH0pOwotICAgIH0KLSAgfQotCi0gIG9wZW4oKSB7Ci0gICAg
YXNzZXJ0X2ZhbHNlKHRoaXMub3BlbmVkXyk7Ci0gICAgdGhpcy5vcGVuZWRfID0gdHJ1ZTsKLSAg
ICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHsgZXJyb3I6IGRldmljZS5tb2pvbS5Vc2JPcGVuRGV2
aWNlRXJyb3IuT0sgfSk7Ci0gIH0KLQotICBjbG9zZSgpIHsKLSAgICBhc3NlcnRfdHJ1ZSh0aGlz
Lm9wZW5lZF8pOwotICAgIHRoaXMub3BlbmVkXyA9IGZhbHNlOwotICAgIHJldHVybiBQcm9taXNl
LnJlc29sdmUoKTsKLSAgfQotCi0gIHNldENvbmZpZ3VyYXRpb24odmFsdWUpIHsKLSAgICBhc3Nl
cnRfdHJ1ZSh0aGlzLm9wZW5lZF8pOwotCi0gICAgbGV0IHNlbGVjdGVkQ29uZmlndXJhdGlvbiA9
IHRoaXMuaW5mb18uY29uZmlndXJhdGlvbnMuZmluZCgKLSAgICAgICAgY29uZmlndXJhdGlvbiA9
PiBjb25maWd1cmF0aW9uLmNvbmZpZ3VyYXRpb25WYWx1ZSA9PSB2YWx1ZSk7Ci0gICAgLy8gQmxp
bmsgc2hvdWxkIG5ldmVyIHJlcXVlc3QgYW4gaW52YWxpZCBjb25maWd1cmF0aW9uLgotICAgIGFz
c2VydF9ub3RfZXF1YWxzKHNlbGVjdGVkQ29uZmlndXJhdGlvbiwgdW5kZWZpbmVkKTsKLSAgICB0
aGlzLmN1cnJlbnRDb25maWd1cmF0aW9uXyA9IHNlbGVjdGVkQ29uZmlndXJhdGlvbjsKLSAgICBy
ZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHsgc3VjY2VzczogdHJ1ZSB9KTsKLSAgfQotCi0gIGNsYWlt
SW50ZXJmYWNlKGludGVyZmFjZU51bWJlcikgewotICAgIGFzc2VydF90cnVlKHRoaXMub3BlbmVk
Xyk7Ci0gICAgYXNzZXJ0X2ZhbHNlKHRoaXMuY3VycmVudENvbmZpZ3VyYXRpb25fID09IG51bGws
ICdkZXZpY2UgY29uZmlndXJlZCcpOwotICAgIGFzc2VydF9mYWxzZSh0aGlzLmNsYWltZWRJbnRl
cmZhY2VzXy5oYXMoaW50ZXJmYWNlTnVtYmVyKSwKLSAgICAgICAgICAgICAgICAgJ2ludGVyZmFj
ZSBhbHJlYWR5IGNsYWltZWQnKTsKLQotICAgIC8vIEJsaW5rIHNob3VsZCBuZXZlciByZXF1ZXN0
IGFuIGludmFsaWQgaW50ZXJmYWNlLgotICAgIGFzc2VydF90cnVlKHRoaXMuY3VycmVudENvbmZp
Z3VyYXRpb25fLmludGVyZmFjZXMuc29tZSgKLSAgICAgICAgICAgIGlmYWNlID0+IGlmYWNlLmlu
dGVyZmFjZU51bWJlciA9PSBpbnRlcmZhY2VOdW1iZXIpKTsKLSAgICB0aGlzLmNsYWltZWRJbnRl
cmZhY2VzXy5zZXQoaW50ZXJmYWNlTnVtYmVyLCAwKTsKLSAgICByZXR1cm4gUHJvbWlzZS5yZXNv
bHZlKHsgc3VjY2VzczogdHJ1ZSB9KTsKLSAgfQotCi0gIHJlbGVhc2VJbnRlcmZhY2UoaW50ZXJm
YWNlTnVtYmVyKSB7Ci0gICAgYXNzZXJ0X3RydWUodGhpcy5vcGVuZWRfKTsKLSAgICBhc3NlcnRf
ZmFsc2UodGhpcy5jdXJyZW50Q29uZmlndXJhdGlvbl8gPT0gbnVsbCwgJ2RldmljZSBjb25maWd1
cmVkJyk7Ci0gICAgYXNzZXJ0X3RydWUodGhpcy5jbGFpbWVkSW50ZXJmYWNlc18uaGFzKGludGVy
ZmFjZU51bWJlcikpOwotICAgIHRoaXMuY2xhaW1lZEludGVyZmFjZXNfLmRlbGV0ZShpbnRlcmZh
Y2VOdW1iZXIpOwotICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoeyBzdWNjZXNzOiB0cnVlIH0p
OwotICB9Ci0KLSAgc2V0SW50ZXJmYWNlQWx0ZXJuYXRlU2V0dGluZyhpbnRlcmZhY2VOdW1iZXIs
IGFsdGVybmF0ZVNldHRpbmcpIHsKLSAgICBhc3NlcnRfdHJ1ZSh0aGlzLm9wZW5lZF8pOwotICAg
IGFzc2VydF9mYWxzZSh0aGlzLmN1cnJlbnRDb25maWd1cmF0aW9uXyA9PSBudWxsLCAnZGV2aWNl
IGNvbmZpZ3VyZWQnKTsKLSAgICBhc3NlcnRfdHJ1ZSh0aGlzLmNsYWltZWRJbnRlcmZhY2VzXy5o
YXMoaW50ZXJmYWNlTnVtYmVyKSk7Ci0KLSAgICBsZXQgaWZhY2UgPSB0aGlzLmN1cnJlbnRDb25m
aWd1cmF0aW9uXy5pbnRlcmZhY2VzLmZpbmQoCi0gICAgICAgIGlmYWNlID0+IGlmYWNlLmludGVy
ZmFjZU51bWJlciA9PSBpbnRlcmZhY2VOdW1iZXIpOwotICAgIC8vIEJsaW5rIHNob3VsZCBuZXZl
ciByZXF1ZXN0IGFuIGludmFsaWQgaW50ZXJmYWNlIG9yIGFsdGVybmF0ZS4KLSAgICBhc3NlcnRf
ZmFsc2UoaWZhY2UgPT0gdW5kZWZpbmVkKTsKLSAgICBhc3NlcnRfdHJ1ZShpZmFjZS5hbHRlcm5h
dGVzLnNvbWUoCi0gICAgICAgIHggPT4geC5hbHRlcm5hdGVTZXR0aW5nID09IGFsdGVybmF0ZVNl
dHRpbmcpKTsKLSAgICB0aGlzLmNsYWltZWRJbnRlcmZhY2VzXy5zZXQoaW50ZXJmYWNlTnVtYmVy
LCBhbHRlcm5hdGVTZXR0aW5nKTsKLSAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHsgc3VjY2Vz
czogdHJ1ZSB9KTsKLSAgfQotCi0gIHJlc2V0KCkgewotICAgIGFzc2VydF90cnVlKHRoaXMub3Bl
bmVkXyk7Ci0gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh7IHN1Y2Nlc3M6IHRydWUgfSk7Ci0g
IH0KLQotICBjbGVhckhhbHQoZW5kcG9pbnQpIHsKLSAgICBhc3NlcnRfdHJ1ZSh0aGlzLm9wZW5l
ZF8pOwotICAgIGFzc2VydF9mYWxzZSh0aGlzLmN1cnJlbnRDb25maWd1cmF0aW9uXyA9PSBudWxs
LCAnZGV2aWNlIGNvbmZpZ3VyZWQnKTsKLSAgICAvLyBUT0RPKHJlaWxseWcpOiBBc3NlcnQgdGhh
dCBlbmRwb2ludCBpcyB2YWxpZC4KLSAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHsgc3VjY2Vz
czogdHJ1ZSB9KTsKLSAgfQotCi0gIGFzeW5jIGNvbnRyb2xUcmFuc2ZlckluKHBhcmFtcywgbGVu
Z3RoLCB0aW1lb3V0KSB7Ci0gICAgYXNzZXJ0X3RydWUodGhpcy5vcGVuZWRfKTsKLQotICAgIGlm
ICgocGFyYW1zLnJlY2lwaWVudCA9PSBkZXZpY2UubW9qb20uVXNiQ29udHJvbFRyYW5zZmVyUmVj
aXBpZW50LklOVEVSRkFDRSB8fAotICAgICAgICAgcGFyYW1zLnJlY2lwaWVudCA9PSBkZXZpY2Uu
bW9qb20uVXNiQ29udHJvbFRyYW5zZmVyUmVjaXBpZW50LkVORFBPSU5UKSAmJgotICAgICAgICB0
aGlzLmN1cnJlbnRDb25maWd1cmF0aW9uXyA9PSBudWxsKSB7Ci0gICAgICByZXR1cm4gewotICAg
ICAgICBzdGF0dXM6IGRldmljZS5tb2pvbS5Vc2JUcmFuc2ZlclN0YXR1cy5QRVJNSVNTSU9OX0RF
TklFRCwKLSAgICAgIH07Ci0gICAgfQotCi0gICAgcmV0dXJuIHsKLSAgICAgIHN0YXR1czogZGV2
aWNlLm1vam9tLlVzYlRyYW5zZmVyU3RhdHVzLk9LLAotICAgICAgZGF0YTogW2xlbmd0aCA+PiA4
LCBsZW5ndGggJiAweGZmLCBwYXJhbXMucmVxdWVzdCwgcGFyYW1zLnZhbHVlID4+IDgsCi0gICAg
ICAgICAgICAgcGFyYW1zLnZhbHVlICYgMHhmZiwgcGFyYW1zLmluZGV4ID4+IDgsIHBhcmFtcy5p
bmRleCAmIDB4ZmZdCi0gICAgfTsKLSAgfQotCi0gIGFzeW5jIGNvbnRyb2xUcmFuc2Zlck91dChw
YXJhbXMsIGRhdGEsIHRpbWVvdXQpIHsKLSAgICBhc3NlcnRfdHJ1ZSh0aGlzLm9wZW5lZF8pOwot
Ci0gICAgaWYgKChwYXJhbXMucmVjaXBpZW50ID09IGRldmljZS5tb2pvbS5Vc2JDb250cm9sVHJh
bnNmZXJSZWNpcGllbnQuSU5URVJGQUNFIHx8Ci0gICAgICAgICBwYXJhbXMucmVjaXBpZW50ID09
IGRldmljZS5tb2pvbS5Vc2JDb250cm9sVHJhbnNmZXJSZWNpcGllbnQuRU5EUE9JTlQpICYmCi0g
ICAgICAgIHRoaXMuY3VycmVudENvbmZpZ3VyYXRpb25fID09IG51bGwpIHsKLSAgICAgIHJldHVy
biB7Ci0gICAgICAgIHN0YXR1czogZGV2aWNlLm1vam9tLlVzYlRyYW5zZmVyU3RhdHVzLlBFUk1J
U1NJT05fREVOSUVELAotICAgICAgfTsKLSAgICB9Ci0KLSAgICByZXR1cm4gewotICAgICAgc3Rh
dHVzOiBkZXZpY2UubW9qb20uVXNiVHJhbnNmZXJTdGF0dXMuT0ssCi0gICAgICBieXRlc1dyaXR0
ZW46IGRhdGEuYnl0ZUxlbmd0aAotICAgIH07Ci0gIH0KLQotICBnZW5lcmljVHJhbnNmZXJJbihl
bmRwb2ludE51bWJlciwgbGVuZ3RoLCB0aW1lb3V0KSB7Ci0gICAgYXNzZXJ0X3RydWUodGhpcy5v
cGVuZWRfKTsKLSAgICBhc3NlcnRfZmFsc2UodGhpcy5jdXJyZW50Q29uZmlndXJhdGlvbl8gPT0g
bnVsbCwgJ2RldmljZSBjb25maWd1cmVkJyk7Ci0gICAgLy8gVE9ETyhyZWlsbHlnKTogQXNzZXJ0
IHRoYXQgZW5kcG9pbnQgaXMgdmFsaWQuCi0gICAgbGV0IGRhdGEgPSBuZXcgQXJyYXkobGVuZ3Ro
KTsKLSAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxlbmd0aDsgKytpKQotICAgICAgZGF0YVtpXSA9
IGkgJiAweGZmOwotICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoewotICAgICAgc3RhdHVzOiBk
ZXZpY2UubW9qb20uVXNiVHJhbnNmZXJTdGF0dXMuT0ssCi0gICAgICBkYXRhOiBkYXRhCi0gICAg
fSk7Ci0gIH0KLQotICBnZW5lcmljVHJhbnNmZXJPdXQoZW5kcG9pbnROdW1iZXIsIGRhdGEsIHRp
bWVvdXQpIHsKLSAgICBhc3NlcnRfdHJ1ZSh0aGlzLm9wZW5lZF8pOwotICAgIGFzc2VydF9mYWxz
ZSh0aGlzLmN1cnJlbnRDb25maWd1cmF0aW9uXyA9PSBudWxsLCAnZGV2aWNlIGNvbmZpZ3VyZWQn
KTsKLSAgICAvLyBUT0RPKHJlaWxseWcpOiBBc3NlcnQgdGhhdCBlbmRwb2ludCBpcyB2YWxpZC4K
LSAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHsKLSAgICAgIHN0YXR1czogZGV2aWNlLm1vam9t
LlVzYlRyYW5zZmVyU3RhdHVzLk9LLAotICAgICAgYnl0ZXNXcml0dGVuOiBkYXRhLmJ5dGVMZW5n
dGgKLSAgICB9KTsKLSAgfQotCi0gIGlzb2Nocm9ub3VzVHJhbnNmZXJJbihlbmRwb2ludE51bWJl
ciwgcGFja2V0TGVuZ3RocywgdGltZW91dCkgewotICAgIGFzc2VydF90cnVlKHRoaXMub3BlbmVk
Xyk7Ci0gICAgYXNzZXJ0X2ZhbHNlKHRoaXMuY3VycmVudENvbmZpZ3VyYXRpb25fID09IG51bGws
ICdkZXZpY2UgY29uZmlndXJlZCcpOwotICAgIC8vIFRPRE8ocmVpbGx5Zyk6IEFzc2VydCB0aGF0
IGVuZHBvaW50IGlzIHZhbGlkLgotICAgIGxldCBkYXRhID0gbmV3IEFycmF5KHBhY2tldExlbmd0
aHMucmVkdWNlKChhLCBiKSA9PiBhICsgYiwgMCkpOwotICAgIGxldCBkYXRhT2Zmc2V0ID0gMDsK
LSAgICBsZXQgcGFja2V0cyA9IG5ldyBBcnJheShwYWNrZXRMZW5ndGhzLmxlbmd0aCk7Ci0gICAg
Zm9yIChsZXQgaSA9IDA7IGkgPCBwYWNrZXRMZW5ndGhzLmxlbmd0aDsgKytpKSB7Ci0gICAgICBm
b3IgKGxldCBqID0gMDsgaiA8IHBhY2tldExlbmd0aHNbaV07ICsraikKLSAgICAgICAgZGF0YVtk
YXRhT2Zmc2V0KytdID0gaiAmIDB4ZmY7Ci0gICAgICBwYWNrZXRzW2ldID0gewotICAgICAgICBs
ZW5ndGg6IHBhY2tldExlbmd0aHNbaV0sCi0gICAgICAgIHRyYW5zZmVycmVkTGVuZ3RoOiBwYWNr
ZXRMZW5ndGhzW2ldLAotICAgICAgICBzdGF0dXM6IGRldmljZS5tb2pvbS5Vc2JUcmFuc2ZlclN0
YXR1cy5PSwotICAgICAgfTsKLSAgICB9Ci0gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh7IGRh
dGE6IGRhdGEsIHBhY2tldHM6IHBhY2tldHMgfSk7Ci0gIH0KLQotICBpc29jaHJvbm91c1RyYW5z
ZmVyT3V0KGVuZHBvaW50TnVtYmVyLCBkYXRhLCBwYWNrZXRMZW5ndGhzLCB0aW1lb3V0KSB7Ci0g
ICAgYXNzZXJ0X3RydWUodGhpcy5vcGVuZWRfKTsKLSAgICBhc3NlcnRfZmFsc2UodGhpcy5jdXJy
ZW50Q29uZmlndXJhdGlvbl8gPT0gbnVsbCwgJ2RldmljZSBjb25maWd1cmVkJyk7Ci0gICAgLy8g
VE9ETyhyZWlsbHlnKTogQXNzZXJ0IHRoYXQgZW5kcG9pbnQgaXMgdmFsaWQuCi0gICAgbGV0IHBh
Y2tldHMgPSBuZXcgQXJyYXkocGFja2V0TGVuZ3Rocy5sZW5ndGgpOwotICAgIGZvciAobGV0IGkg
PSAwOyBpIDwgcGFja2V0TGVuZ3Rocy5sZW5ndGg7ICsraSkgewotICAgICAgcGFja2V0c1tpXSA9
IHsKLSAgICAgICAgbGVuZ3RoOiBwYWNrZXRMZW5ndGhzW2ldLAotICAgICAgICB0cmFuc2ZlcnJl
ZExlbmd0aDogcGFja2V0TGVuZ3Roc1tpXSwKLSAgICAgICAgc3RhdHVzOiBkZXZpY2UubW9qb20u
VXNiVHJhbnNmZXJTdGF0dXMuT0sKLSAgICAgIH07Ci0gICAgfQotICAgIHJldHVybiBQcm9taXNl
LnJlc29sdmUoeyBwYWNrZXRzOiBwYWNrZXRzIH0pOwotICB9Ci19Ci0KLWNsYXNzIEZha2VXZWJV
c2JTZXJ2aWNlIHsKLSAgY29uc3RydWN0b3IoKSB7Ci0gICAgdGhpcy5iaW5kaW5nU2V0XyA9IG5l
dyBtb2pvLkJpbmRpbmdTZXQoYmxpbmsubW9qb20uV2ViVXNiU2VydmljZSk7Ci0gICAgdGhpcy5k
ZXZpY2VzXyA9IG5ldyBNYXAoKTsKLSAgICB0aGlzLmRldmljZXNCeUd1aWRfID0gbmV3IE1hcCgp
OwotICAgIHRoaXMuY2xpZW50XyA9IG51bGw7Ci0gICAgdGhpcy5uZXh0R3VpZF8gPSAwOwotICB9
Ci0KLSAgYWRkQmluZGluZyhoYW5kbGUpIHsKLSAgICB0aGlzLmJpbmRpbmdTZXRfLmFkZEJpbmRp
bmcodGhpcywgaGFuZGxlKTsKLSAgfQotCi0gIGFkZERldmljZShmYWtlRGV2aWNlLCBpbmZvKSB7
Ci0gICAgbGV0IGRldmljZSA9IHsKLSAgICAgIGZha2VEZXZpY2U6IGZha2VEZXZpY2UsCi0gICAg
ICBndWlkOiAodGhpcy5uZXh0R3VpZF8rKykudG9TdHJpbmcoKSwKLSAgICAgIGluZm86IGluZm8s
Ci0gICAgICBiaW5kaW5nQXJyYXk6IFtdCi0gICAgfTsKLSAgICB0aGlzLmRldmljZXNfLnNldChm
YWtlRGV2aWNlLCBkZXZpY2UpOwotICAgIHRoaXMuZGV2aWNlc0J5R3VpZF8uc2V0KGRldmljZS5n
dWlkLCBkZXZpY2UpOwotICAgIGlmICh0aGlzLmNsaWVudF8pCi0gICAgICB0aGlzLmNsaWVudF8u
b25EZXZpY2VBZGRlZChmYWtlRGV2aWNlSW5pdFRvRGV2aWNlSW5mbyhkZXZpY2UuZ3VpZCwgaW5m
bykpOwotICB9Ci0KLSAgcmVtb3ZlRGV2aWNlKGZha2VEZXZpY2UpIHsKLSAgICBsZXQgZGV2aWNl
ID0gdGhpcy5kZXZpY2VzXy5nZXQoZmFrZURldmljZSk7Ci0gICAgaWYgKCFkZXZpY2UpCi0gICAg
ICB0aHJvdyBuZXcgRXJyb3IoJ0Nhbm5vdCByZW1vdmUgdW5rbm93biBkZXZpY2UuJyk7Ci0KLSAg
ICBmb3IgKHZhciBiaW5kaW5nIG9mIGRldmljZS5iaW5kaW5nQXJyYXkpCi0gICAgICBiaW5kaW5n
LmNsb3NlKCk7Ci0gICAgdGhpcy5kZXZpY2VzXy5kZWxldGUoZGV2aWNlLmZha2VEZXZpY2UpOwot
ICAgIHRoaXMuZGV2aWNlc0J5R3VpZF8uZGVsZXRlKGRldmljZS5ndWlkKTsKLSAgICBpZiAodGhp
cy5jbGllbnRfKSB7Ci0gICAgICB0aGlzLmNsaWVudF8ub25EZXZpY2VSZW1vdmVkKAotICAgICAg
ICAgIGZha2VEZXZpY2VJbml0VG9EZXZpY2VJbmZvKGRldmljZS5ndWlkLCBkZXZpY2UuaW5mbykp
OwotICAgIH0KLSAgfQotCi0gIHJlbW92ZUFsbERldmljZXMoKSB7Ci0gICAgdGhpcy5kZXZpY2Vz
Xy5mb3JFYWNoKGRldmljZSA9PiB7Ci0gICAgICBmb3IgKHZhciBiaW5kaW5nIG9mIGRldmljZS5i
aW5kaW5nQXJyYXkpCi0gICAgICAgIGJpbmRpbmcuY2xvc2UoKTsKLSAgICAgIHRoaXMuY2xpZW50
Xy5vbkRldmljZVJlbW92ZWQoCi0gICAgICAgICAgZmFrZURldmljZUluaXRUb0RldmljZUluZm8o
ZGV2aWNlLmd1aWQsIGRldmljZS5pbmZvKSk7Ci0gICAgfSk7Ci0gICAgdGhpcy5kZXZpY2VzXy5j
bGVhcigpOwotICAgIHRoaXMuZGV2aWNlc0J5R3VpZF8uY2xlYXIoKTsKLSAgfQotCi0gIGdldERl
dmljZXMoKSB7Ci0gICAgbGV0IGRldmljZXMgPSBbXTsKLSAgICB0aGlzLmRldmljZXNfLmZvckVh
Y2goZGV2aWNlID0+IHsKLSAgICAgIGRldmljZXMucHVzaChmYWtlRGV2aWNlSW5pdFRvRGV2aWNl
SW5mbyhkZXZpY2UuZ3VpZCwgZGV2aWNlLmluZm8pKTsKLSAgICB9KTsKLSAgICByZXR1cm4gUHJv
bWlzZS5yZXNvbHZlKHsgcmVzdWx0czogZGV2aWNlcyB9KTsKLSAgfQotCi0gIGdldERldmljZShn
dWlkLCByZXF1ZXN0KSB7Ci0gICAgbGV0IHJldHJpZXZlZERldmljZSA9IHRoaXMuZGV2aWNlc0J5
R3VpZF8uZ2V0KGd1aWQpOwotICAgIGlmIChyZXRyaWV2ZWREZXZpY2UpIHsKLSAgICAgIGxldCBi
aW5kaW5nID0gbmV3IG1vam8uQmluZGluZygKLSAgICAgICAgICBkZXZpY2UubW9qb20uVXNiRGV2
aWNlLAotICAgICAgICAgIG5ldyBGYWtlRGV2aWNlKHJldHJpZXZlZERldmljZS5pbmZvKSwKLSAg
ICAgICAgICByZXF1ZXN0KTsKLSAgICAgIGJpbmRpbmcuc2V0Q29ubmVjdGlvbkVycm9ySGFuZGxl
cigoKSA9PiB7Ci0gICAgICAgIGlmIChyZXRyaWV2ZWREZXZpY2UuZmFrZURldmljZS5vbmNsb3Nl
KQotICAgICAgICAgIHJldHJpZXZlZERldmljZS5mYWtlRGV2aWNlLm9uY2xvc2UoKTsKLSAgICAg
IH0pOwotICAgICAgcmV0cmlldmVkRGV2aWNlLmJpbmRpbmdBcnJheS5wdXNoKGJpbmRpbmcpOwot
ICAgIH0gZWxzZSB7Ci0gICAgICByZXF1ZXN0LmNsb3NlKCk7Ci0gICAgfQotICB9Ci0KLSAgZ2V0
UGVybWlzc2lvbihkZXZpY2VGaWx0ZXJzKSB7Ci0gICAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29s
dmUgPT4gewotICAgICAgaWYgKG5hdmlnYXRvci51c2IudGVzdC5vbnJlcXVlc3RkZXZpY2UpIHsK
LSAgICAgICAgbmF2aWdhdG9yLnVzYi50ZXN0Lm9ucmVxdWVzdGRldmljZSgKLSAgICAgICAgICAg
IG5ldyBVU0JEZXZpY2VSZXF1ZXN0RXZlbnQoZGV2aWNlRmlsdGVycywgcmVzb2x2ZSkpOwotICAg
ICAgfSBlbHNlIHsKLSAgICAgICAgcmVzb2x2ZSh7IHJlc3VsdDogbnVsbCB9KTsKLSAgICAgIH0K
LSAgICB9KTsKLSAgfQotCi0gIHNldENsaWVudChjbGllbnRJbmZvKSB7Ci0gICAgdGhpcy5jbGll
bnRfID0gbmV3IGRldmljZS5tb2pvbS5Vc2JEZXZpY2VNYW5hZ2VyQ2xpZW50QXNzb2NpYXRlZFB0
cihjbGllbnRJbmZvKTsKLSAgfQotfQotCi1jbGFzcyBVU0JEZXZpY2VSZXF1ZXN0RXZlbnQgewot
ICBjb25zdHJ1Y3RvcihkZXZpY2VGaWx0ZXJzLCByZXNvbHZlKSB7Ci0gICAgdGhpcy5maWx0ZXJz
ID0gY29udmVydE1vam9EZXZpY2VGaWx0ZXJzKGRldmljZUZpbHRlcnMpOwotICAgIHRoaXMucmVz
b2x2ZUZ1bmNfID0gcmVzb2x2ZTsKLSAgfQotCi0gIHJlc3BvbmRXaXRoKHZhbHVlKSB7Ci0gICAg
Ly8gV2FpdCB1bnRpbCB8dmFsdWV8IHJlc29sdmVzIChpZiBpdCBpcyBhIFByb21pc2UpLiBUaGlz
IGZ1bmN0aW9uIHJldHVybnMKLSAgICAvLyBubyB2YWx1ZS4KLSAgICBQcm9taXNlLnJlc29sdmUo
dmFsdWUpLnRoZW4oZmFrZURldmljZSA9PiB7Ci0gICAgICBsZXQgZGV2aWNlID0gaW50ZXJuYWwu
d2ViVXNiU2VydmljZS5kZXZpY2VzXy5nZXQoZmFrZURldmljZSk7Ci0gICAgICBsZXQgcmVzdWx0
ID0gbnVsbDsKLSAgICAgIGlmIChkZXZpY2UpIHsKLSAgICAgICAgcmVzdWx0ID0gZmFrZURldmlj
ZUluaXRUb0RldmljZUluZm8oZGV2aWNlLmd1aWQsIGRldmljZS5pbmZvKTsKLSAgICAgIH0KLSAg
ICAgIHRoaXMucmVzb2x2ZUZ1bmNfKHsgcmVzdWx0OiByZXN1bHQgfSk7Ci0gICAgfSwgKCkgPT4g
ewotICAgICAgdGhpcy5yZXNvbHZlRnVuY18oeyByZXN1bHQ6IG51bGwgfSk7Ci0gICAgfSk7Ci0g
IH0KLX0KLQotLy8gVW5saWtlIEZha2VEZXZpY2UgdGhpcyBjbGFzcyBpcyBleHBvcnRlZCB0byBj
YWxsZXJzIG9mIFVTQlRlc3QuYWRkRmFrZURldmljZS4KLWNsYXNzIEZha2VVU0JEZXZpY2Ugewot
ICBjb25zdHJ1Y3RvcigpIHsKLSAgICB0aGlzLm9uY2xvc2UgPSBudWxsOwotICB9Ci0KLSAgZGlz
Y29ubmVjdCgpIHsKLSAgICBzZXRUaW1lb3V0KCgpID0+IGludGVybmFsLndlYlVzYlNlcnZpY2Uu
cmVtb3ZlRGV2aWNlKHRoaXMpLCAwKTsKLSAgfQotfQotCi1jbGFzcyBVU0JUZXN0IHsKLSAgY29u
c3RydWN0b3IoKSB7Ci0gICAgdGhpcy5vbnJlcXVlc3RkZXZpY2UgPSB1bmRlZmluZWQ7Ci0gIH0K
LQotICBhc3luYyBpbml0aWFsaXplKCkgewotICAgIGlmIChpbnRlcm5hbC5pbml0aWFsaXplZCkK
LSAgICAgIHJldHVybjsKLQotICAgIC8vIEJlIHJlYWR5IHRvIGhhbmRsZSAnUmVhZHlGb3JBdHRh
Y2htZW50JyBtZXNzYWdlIGZyb20gY2hpbGQgaWZyYW1lcy4KLSAgICBpZiAoJ3dpbmRvdycgaW4g
c2VsZikgewotICAgICAgZ2V0TWVzc2FnZVBvcnQod2luZG93KTsKLSAgICB9Ci0KLSAgICBpbnRl
cm5hbC53ZWJVc2JTZXJ2aWNlID0gbmV3IEZha2VXZWJVc2JTZXJ2aWNlKCk7Ci0gICAgaW50ZXJu
YWwud2ViVXNiU2VydmljZUludGVyY2VwdG9yID0KLSAgICAgICAgbmV3IE1vam9JbnRlcmZhY2VJ
bnRlcmNlcHRvcihibGluay5tb2pvbS5XZWJVc2JTZXJ2aWNlLm5hbWUsICJjb250ZXh0IiwgdHJ1
ZSk7Ci0gICAgaW50ZXJuYWwud2ViVXNiU2VydmljZUludGVyY2VwdG9yLm9uaW50ZXJmYWNlcmVx
dWVzdCA9Ci0gICAgICAgIGUgPT4gaW50ZXJuYWwud2ViVXNiU2VydmljZS5hZGRCaW5kaW5nKGUu
aGFuZGxlKTsKLSAgICBpbnRlcm5hbC53ZWJVc2JTZXJ2aWNlSW50ZXJjZXB0b3Iuc3RhcnQoKTsK
LQotICAgIC8vIFdhaXQgZm9yIGEgY2FsbCB0byBHZXREZXZpY2VzKCkgdG8gcGFzcyBiZXR3ZWVu
IHRoZSByZW5kZXJlciBhbmQgdGhlCi0gICAgLy8gbW9jayBpbiBvcmRlciB0byBlc3RhYmxpc2gg
dGhhdCBldmVyeXRoaW5nIGlzIHNldCB1cC4KLSAgICBhd2FpdCBuYXZpZ2F0b3IudXNiLmdldERl
dmljZXMoKTsKLSAgICBpbnRlcm5hbC5pbml0aWFsaXplZCA9IHRydWU7Ci0gIH0KLQotICAvLyBS
ZXR1cm5zIGEgcHJvbWlzZSB0aGF0IGlzIHJlc29sdmVkIHdoZW4gdGhlIGltcGxlbWVudGF0aW9u
IG9mIHx1c2J8IGluIHRoZQotICAvLyBnbG9iYWwgc2NvcGUgZm9yIHxjb250ZXh0fCBpcyBjb250
cm9sbGVkIGJ5IHRoZSBjdXJyZW50IGNvbnRleHQuCi0gIGF0dGFjaFRvQ29udGV4dChjb250ZXh0
KSB7Ci0gICAgaWYgKCFpbnRlcm5hbC5pbml0aWFsaXplZCkKLSAgICAgIHRocm93IG5ldyBFcnJv
cignQ2FsbCBpbml0aWFsaXplKCkgYmVmb3JlIGF0dGFjaFRvQ29udGV4dCgpJyk7Ci0KLSAgICBs
ZXQgdGFyZ2V0ID0gY29udGV4dC5jb25zdHJ1Y3Rvci5uYW1lID09PSAnV29ya2VyJyA/IGNvbnRl
eHQgOiB3aW5kb3c7Ci0gICAgcmV0dXJuIGdldE1lc3NhZ2VQb3J0KHRhcmdldCkudGhlbigoKSA9
PiB7Ci0gICAgICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7Ci0gICAgICAgIGludGVy
bmFsLm1lc3NhZ2VQb3J0Lm9ubWVzc2FnZSA9IGNoYW5uZWxFdmVudCA9PiB7Ci0gICAgICAgICAg
c3dpdGNoIChjaGFubmVsRXZlbnQuZGF0YS50eXBlKSB7Ci0gICAgICAgICAgICBjYXNlIGJsaW5r
Lm1vam9tLldlYlVzYlNlcnZpY2UubmFtZToKLSAgICAgICAgICAgICAgaW50ZXJuYWwud2ViVXNi
U2VydmljZS5hZGRCaW5kaW5nKGNoYW5uZWxFdmVudC5kYXRhLmhhbmRsZSk7Ci0gICAgICAgICAg
ICAgIGJyZWFrOwotICAgICAgICAgICAgY2FzZSAnQ29tcGxldGUnOgotICAgICAgICAgICAgICBy
ZXNvbHZlKCk7Ci0gICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgIH0KLSAgICAgICAgfTsK
LSAgICAgICAgaW50ZXJuYWwubWVzc2FnZVBvcnQucG9zdE1lc3NhZ2UoewotICAgICAgICAgIHR5
cGU6ICdBdHRhY2gnICwKLSAgICAgICAgICBpbnRlcmZhY2VzOiBbCi0gICAgICAgICAgICBibGlu
ay5tb2pvbS5XZWJVc2JTZXJ2aWNlLm5hbWUsCi0gICAgICAgICAgXX0pOwotICAgICAgfSk7Ci0g
ICAgfSk7Ci0gIH0KLQotICBhZGRGYWtlRGV2aWNlKGRldmljZUluaXQpIHsKLSAgICBpZiAoIWlu
dGVybmFsLmluaXRpYWxpemVkKQotICAgICAgdGhyb3cgbmV3IEVycm9yKCdDYWxsIGluaXRpYWxp
emUoKSBiZWZvcmUgYWRkRmFrZURldmljZSgpLicpOwotCi0gICAgLy8gfGFkZERldmljZXwgYW5k
IHxyZW1vdmVEZXZpY2V8IGFyZSBjYWxsZWQgaW4gYSBzZXRUaW1lb3V0IGNhbGxiYWNrIHNvCi0g
ICAgLy8gdGhhdCB0ZXN0cyBkbyBub3QgcmVseSBvbiB0aGUgZGV2aWNlIGJlaW5nIGltbWVkaWF0
ZWx5IGF2YWlsYWJsZSB3aGljaAotICAgIC8vIG1heSBub3QgYmUgdHJ1ZSBmb3IgYWxsIGltcGxl
bWVudGF0aW9ucyBvZiB0aGlzIHRlc3QgQVBJLgotICAgIGxldCBmYWtlRGV2aWNlID0gbmV3IEZh
a2VVU0JEZXZpY2UoKTsKLSAgICBzZXRUaW1lb3V0KAotICAgICAgICAoKSA9PiBpbnRlcm5hbC53
ZWJVc2JTZXJ2aWNlLmFkZERldmljZShmYWtlRGV2aWNlLCBkZXZpY2VJbml0KSwgMCk7Ci0gICAg
cmV0dXJuIGZha2VEZXZpY2U7Ci0gIH0KLQotICByZXNldCgpIHsKLSAgICBpZiAoIWludGVybmFs
LmluaXRpYWxpemVkKQotICAgICAgdGhyb3cgbmV3IEVycm9yKCdDYWxsIGluaXRpYWxpemUoKSBi
ZWZvcmUgcmVzZXQoKS4nKTsKLQotICAgIC8vIFJlc2V0IHRoZSBtb2NrcyBpbiBhIHNldFRpbWVv
dXQgY2FsbGJhY2sgc28gdGhhdCB0ZXN0cyBkbyBub3QgcmVseSBvbgotICAgIC8vIHRoZSBmYWN0
IHRoYXQgdGhpcyBwb2x5ZmlsbCBjYW4gZG8gdGhpcyBzeW5jaHJvbm91c2x5LgotICAgIHJldHVy
biBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKLSAgICAgIHNldFRpbWVvdXQoKCkgPT4gewotICAg
ICAgICBpZiAoaW50ZXJuYWwubWVzc2FnZVBvcnQgIT09IG51bGwpCi0gICAgICAgICAgaW50ZXJu
YWwubWVzc2FnZVBvcnQuY2xvc2UoKTsKLSAgICAgICAgaW50ZXJuYWwubWVzc2FnZVBvcnQgPSBu
dWxsOwotICAgICAgICBpbnRlcm5hbC53ZWJVc2JTZXJ2aWNlLnJlbW92ZUFsbERldmljZXMoKTsK
LSAgICAgICAgcmVzb2x2ZSgpOwotICAgICAgfSwgMCk7Ci0gICAgfSk7Ci0gIH0KLX0KLQotbmF2
aWdhdG9yLnVzYi50ZXN0ID0gbmV3IFVTQlRlc3QoKTsKLQotfSkoKTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9t
aXVtL3dlYnVzYi10ZXN0LmpzLmhlYWRlcnMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS93ZWJ1c2ItdGVzdC5qcy5oZWFkZXJz
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2ODA1YzMyM2RmNS4uMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvY2hyb21pdW0vd2VidXNiLXRlc3QuanMuaGVhZGVycworKysgL2Rldi9udWxsCkBAIC0xICsw
LDAgQEAKLUNvbnRlbnQtVHlwZTogdGV4dC9qYXZhc2NyaXB0OyBjaGFyc2V0PXV0Zi04CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy9jaHJvbWl1bS93ZWJ4ci10ZXN0LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vd2VieHItdGVzdC5qcwpkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzM5ZDc3MWQ0MGIuLjAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9t
aXVtL3dlYnhyLXRlc3QuanMKKysrIC9kZXYvbnVsbApAQCAtMSwxMDI2ICswLDAgQEAKLSd1c2Ug
c3RyaWN0JzsKLQotLy8gVGhpcyBwb2x5ZmlsbCBsaWJyYXJ5IGltcGxlbWVudHMgdGhlIFdlYlhS
IFRlc3QgQVBJIGFzIHNwZWNpZmllZCBoZXJlOgotLy8gaHR0cHM6Ly9naXRodWIuY29tL2ltbWVy
c2l2ZS13ZWIvd2VieHItdGVzdC1hcGkKLQotCi1sZXQgZGVmYXVsdF9zdGFuZGluZyA9IG5ldyBn
ZngubW9qb20uVHJhbnNmb3JtKCk7Ci1kZWZhdWx0X3N0YW5kaW5nLm1hdHJpeCA9IFsxLCAwLCAw
LCAwLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgMCwgMSwgMCwgMCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgIDAsIDAsIDEsIDAsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAw
LCAxLjY1LCAwLCAxXTsKLWNvbnN0IGRlZmF1bHRfc3RhZ2VfcGFyYW1ldGVycyA9IHsKLSAgc3Rh
bmRpbmdUcmFuc2Zvcm06IGRlZmF1bHRfc3RhbmRpbmcsCi0gIGJvdW5kczogbnVsbAotfTsKLQot
ZnVuY3Rpb24gZ2V0TWF0cml4RnJvbVRyYW5zZm9ybSh0cmFuc2Zvcm0pIHsKLSAgbGV0IHggPSB0
cmFuc2Zvcm0ub3JpZW50YXRpb25bMF07Ci0gIGxldCB5ID0gdHJhbnNmb3JtLm9yaWVudGF0aW9u
WzFdOwotICBsZXQgeiA9IHRyYW5zZm9ybS5vcmllbnRhdGlvblsyXTsKLSAgbGV0IHcgPSB0cmFu
c2Zvcm0ub3JpZW50YXRpb25bM107Ci0KLSAgbGV0IG0xMSA9IDEuMCAtIDIuMCAqICh5ICogeSAr
IHogKiB6KTsKLSAgbGV0IG0yMSA9IDIuMCAqICh4ICogeSArIHogKiB3KTsKLSAgbGV0IG0zMSA9
IDIuMCAqICh4ICogeiAtIHkgKiB3KTsKLQotICBsZXQgbTEyID0gMi4wICogKHggKiB5IC0geiAq
IHcpOwotICBsZXQgbTIyID0gMS4wIC0gMi4wICogKHggKiB4ICsgeiAqIHopOwotICBsZXQgbTMy
ID0gMi4wICogKHkgKiB6ICsgeCAqIHcpOwotCi0gIGxldCBtMTMgPSAyLjAgKiAoeCAqIHogKyB5
ICogdyk7Ci0gIGxldCBtMjMgPSAyLjAgKiAoeSAqIHogLSB4ICogdyk7Ci0gIGxldCBtMzMgPSAx
LjAgLSAyLjAgKiAoeCAqIHggKyB5ICogeSk7Ci0KLSAgbGV0IG0xNCA9IHRyYW5zZm9ybS5wb3Np
dGlvblswXTsKLSAgbGV0IG0yNCA9IHRyYW5zZm9ybS5wb3NpdGlvblsxXTsKLSAgbGV0IG0zNCA9
IHRyYW5zZm9ybS5wb3NpdGlvblsyXTsKLQotICAvLyBDb2x1bW4tbWFqb3IgbGluZWFyaXplZCBv
cmRlciBpcyBleHBlY3RlZC4KLSAgcmV0dXJuIFttMTEsIG0yMSwgbTMxLCAwLAotICAgICAgICAg
IG0xMiwgbTIyLCBtMzIsIDAsCi0gICAgICAgICAgbTEzLCBtMjMsIG0zMywgMCwKLSAgICAgICAg
ICBtMTQsIG0yNCwgbTM0LCAxXTsKLX0KLQotZnVuY3Rpb24gY29tcG9zZUdGWFRyYW5zZm9ybShm
YWtlVHJhbnNmb3JtSW5pdCkgewotICBsZXQgdHJhbnNmb3JtID0gbmV3IGdmeC5tb2pvbS5UcmFu
c2Zvcm0oKTsKLSAgdHJhbnNmb3JtLm1hdHJpeCA9IGdldE1hdHJpeEZyb21UcmFuc2Zvcm0oZmFr
ZVRyYW5zZm9ybUluaXQpOwotICByZXR1cm4gdHJhbnNmb3JtOwotfQotCi1jbGFzcyBDaHJvbWVY
UlRlc3QgewotICBjb25zdHJ1Y3RvcigpIHsKLSAgICB0aGlzLm1vY2tWUlNlcnZpY2VfID0gbmV3
IE1vY2tWUlNlcnZpY2UobW9qby5mcmFtZUludGVyZmFjZXMpOwotICB9Ci0KLSAgc2ltdWxhdGVE
ZXZpY2VDb25uZWN0aW9uKGluaXRfcGFyYW1zKSB7Ci0gICAgcmV0dXJuIFByb21pc2UucmVzb2x2
ZSh0aGlzLm1vY2tWUlNlcnZpY2VfLmFkZFJ1bnRpbWUoaW5pdF9wYXJhbXMpKTsKLSAgfQotCi0g
IGRpc2Nvbm5lY3RBbGxEZXZpY2VzKCkgewotICAgIHRoaXMubW9ja1ZSU2VydmljZV8ucmVtb3Zl
QWxsUnVudGltZXMoZGV2aWNlKTsKLSAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7Ci0gIH0K
LQotICBzaW11bGF0ZVVzZXJBY3RpdmF0aW9uKGNhbGxiYWNrKSB7Ci0gICAgbGV0IGJ1dHRvbiA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2J1dHRvbicpOwotICAgIGJ1dHRvbi50ZXh0Q29udGVu
dCA9ICdjbGljayB0byBjb250aW51ZSB0ZXN0JzsKLSAgICBidXR0b24uc3R5bGUuZGlzcGxheSA9
ICdibG9jayc7Ci0gICAgYnV0dG9uLnN0eWxlLmZvbnRTaXplID0gJzIwcHgnOwotICAgIGJ1dHRv
bi5zdHlsZS5wYWRkaW5nID0gJzEwcHgnOwotICAgIGJ1dHRvbi5vbmNsaWNrID0gKCkgPT4gewot
ICAgICAgY2FsbGJhY2soKTsKLSAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoYnV0dG9u
KTsKLSAgICB9OwotICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoYnV0dG9uKTsKLSAgICB0
ZXN0X2RyaXZlci5jbGljayhidXR0b24pOwotICB9Ci19Ci0KLS8vIE1vY2tpbmcgY2xhc3MgZGVm
aW5pdGlvbnMKLQotLy8gTW9jayBzZXJ2aWNlIGltcGxlbWVudHMgdGhlIFZSU2VydmljZSBtb2pv
IGludGVyZmFjZS4KLWNsYXNzIE1vY2tWUlNlcnZpY2UgewotICBjb25zdHJ1Y3RvcigpIHsKLSAg
ICB0aGlzLmJpbmRpbmdTZXRfID0gbmV3IG1vam8uQmluZGluZ1NldChkZXZpY2UubW9qb20uVlJT
ZXJ2aWNlKTsKLSAgICB0aGlzLnJ1bnRpbWVzXyA9IFtdOwotCi0gICAgdGhpcy5pbnRlcmNlcHRv
cl8gPQotICAgICAgICBuZXcgTW9qb0ludGVyZmFjZUludGVyY2VwdG9yKGRldmljZS5tb2pvbS5W
UlNlcnZpY2UubmFtZSwgImNvbnRleHQiLCB0cnVlKTsKLSAgICB0aGlzLmludGVyY2VwdG9yXy5v
bmludGVyZmFjZXJlcXVlc3QgPSBlID0+Ci0gICAgICAgIHRoaXMuYmluZGluZ1NldF8uYWRkQmlu
ZGluZyh0aGlzLCBlLmhhbmRsZSk7Ci0gICAgdGhpcy5pbnRlcmNlcHRvcl8uc3RhcnQoKTsKLSAg
fQotCi0gIC8vIFRlc3QgbWV0aG9kcwotICBhZGRSdW50aW1lKGZha2VEZXZpY2VJbml0KSB7Ci0g
ICAgbGV0IHJ1bnRpbWUgPSBuZXcgTW9ja1J1bnRpbWUoZmFrZURldmljZUluaXQsIHRoaXMpOwot
ICAgIHRoaXMucnVudGltZXNfLnB1c2gocnVudGltZSk7Ci0KLSAgICBpZiAodGhpcy5jbGllbnRf
KSB7Ci0gICAgICB0aGlzLmNsaWVudF8ub25EZXZpY2VDaGFuZ2VkKCk7Ci0gICAgfQotCi0gICAg
cmV0dXJuIHJ1bnRpbWU7Ci0gIH0KLQotICByZW1vdmVBbGxSdW50aW1lcygpIHsKLSAgICBpZiAo
dGhpcy5jbGllbnRfKSB7Ci0gICAgICB0aGlzLmNsaWVudF8ub25EZXZpY2VDaGFuZ2VkKCk7Ci0g
ICAgfQotCi0gICAgdGhpcy5ydW50aW1lc18gPSBbXTsKLSAgfQotCi0gIHJlbW92ZVJ1bnRpbWUo
ZGV2aWNlKSB7Ci0gICAgbGV0IGluZGV4ID0gdGhpcy5ydW50aW1lc18uaW5kZXhPZihkZXZpY2Up
OwotICAgIGlmIChpbmRleCA+PSAwKSB7Ci0gICAgICB0aGlzLnJ1bnRpbWVzXy5zcGxpY2UoaW5k
ZXgsIDEpOwotICAgICAgaWYgKHRoaXMuY2xpZW50XykgewotICAgICAgICB0aGlzLmNsaWVudF8u
b25EZXZpY2VDaGFuZ2VkKCk7Ci0gICAgICB9Ci0gICAgfQotICB9Ci0KLSAgc2V0Q2xpZW50KGNs
aWVudCkgewotICAgIGlmICh0aGlzLmNsaWVudF8pIHsKLSAgICAgIHRocm93IG5ldyBFcnJvcigi
c2V0Q2xpZW50IHNob3VsZCBvbmx5IGJlIGNhbGxlZCBvbmNlIik7Ci0gICAgfQotCi0gICAgdGhp
cy5jbGllbnRfID0gY2xpZW50OwotICB9Ci0KLSAgcmVxdWVzdFNlc3Npb24oc2Vzc2lvbk9wdGlv
bnMsIHdhc19hY3RpdmF0aW9uKSB7Ci0gICAgbGV0IHJlcXVlc3RzID0gW107Ci0gICAgLy8gUmVx
dWVzdCBhIHNlc3Npb24gZnJvbSBhbGwgdGhlIHJ1bnRpbWVzLgotICAgIGZvciAobGV0IGkgPSAw
OyBpIDwgdGhpcy5ydW50aW1lc18ubGVuZ3RoOyBpKyspIHsKLSAgICAgIHJlcXVlc3RzW2ldID0g
dGhpcy5ydW50aW1lc19baV0ucmVxdWVzdFJ1bnRpbWVTZXNzaW9uKHNlc3Npb25PcHRpb25zKTsK
LSAgICB9Ci0KLSAgICByZXR1cm4gUHJvbWlzZS5hbGwocmVxdWVzdHMpLnRoZW4oKHJlc3VsdHMp
ID0+IHsKLSAgICAgIC8vIEZpbmQgYW5kIHJldHVybiB0aGUgZmlyc3Qgc3VjY2Vzc2Z1bCByZXN1
bHQuCi0gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHJlc3VsdHMubGVuZ3RoOyBpKyspIHsKLSAg
ICAgICAgaWYgKHJlc3VsdHNbaV0uc2Vzc2lvbikgewotICAgICAgICAgIC8vIENvbnN0cnVjdCBh
IGR1bW15IG1ldHJpY3MgcmVjb3JkZXIKLSAgICAgICAgICBsZXQgbWV0cmljc1JlY29yZGVyUHRy
ID0gbmV3IGRldmljZS5tb2pvbS5YUlNlc3Npb25NZXRyaWNzUmVjb3JkZXJQdHIoKTsKLSAgICAg
ICAgICBsZXQgbWV0cmljc1JlY29yZGVyUmVxdWVzdCA9IG1vam8ubWFrZVJlcXVlc3QobWV0cmlj
c1JlY29yZGVyUHRyKTsKLSAgICAgICAgICBsZXQgbWV0cmljc1JlY29yZGVyQmluZGluZyA9IG5l
dyBtb2pvLkJpbmRpbmcoCi0gICAgICAgICAgICAgIGRldmljZS5tb2pvbS5YUlNlc3Npb25NZXRy
aWNzUmVjb3JkZXIsIG5ldyBNb2NrWFJTZXNzaW9uTWV0cmljc1JlY29yZGVyKCksIG1ldHJpY3NS
ZWNvcmRlclJlcXVlc3QpOwotCi0gICAgICAgICAgbGV0IHN1Y2Nlc3MgPSB7Ci0gICAgICAgICAg
ICBzZXNzaW9uOiByZXN1bHRzW2ldLnNlc3Npb24sCi0gICAgICAgICAgICBtZXRyaWNzUmVjb3Jk
ZXI6IG1ldHJpY3NSZWNvcmRlclB0ciwKLSAgICAgICAgICB9OwotCi0gICAgICAgICAgcmV0dXJu
IHsKLSAgICAgICAgICAgIHJlc3VsdDogewotICAgICAgICAgICAgICBzdWNjZXNzIDogc3VjY2Vz
cywKLSAgICAgICAgICAgICAgJHRhZyA6ICAwCi0gICAgICAgICAgICB9Ci0gICAgICAgICAgfTsK
LSAgICAgICAgfQotICAgICAgfQotCi0gICAgICAvLyBJZiB0aGVyZSB3ZXJlIG5vIHN1Y2Nlc3Nm
dWwgcmVzdWx0cywgcmV0dXJucyBhIG51bGwgc2Vzc2lvbi4KLSAgICAgIHJldHVybiB7Ci0gICAg
ICAgIHJlc3VsdDogewotICAgICAgICAgIGZhaWx1cmVSZWFzb24gOiBkZXZpY2UubW9qb20uUmVx
dWVzdFNlc3Npb25FcnJvci5OT19SVU5USU1FX0ZPVU5ELAotICAgICAgICAgICR0YWcgOiAgMQot
ICAgICAgICB9Ci0gICAgICB9OwotICAgIH0pOwotICB9Ci0KLSAgZXhpdFByZXNlbnQoKSB7Ci0g
ICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpOwotICB9Ci0KLSAgc3VwcG9ydHNTZXNzaW9uKHNl
c3Npb25PcHRpb25zKSB7Ci0gICAgbGV0IHJlcXVlc3RzID0gW107Ci0gICAgLy8gQ2hlY2sgc3Vw
cG9ydHMgb24gYWxsIHRoZSBydW50aW1lcy4KLSAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMu
cnVudGltZXNfLmxlbmd0aDsgaSsrKSB7Ci0gICAgICByZXF1ZXN0c1tpXSA9IHRoaXMucnVudGlt
ZXNfW2ldLnJ1bnRpbWVTdXBwb3J0c1Nlc3Npb24oc2Vzc2lvbk9wdGlvbnMpOwotICAgIH0KLQot
ICAgIHJldHVybiBQcm9taXNlLmFsbChyZXF1ZXN0cykudGhlbigocmVzdWx0cykgPT4gewotICAg
ICAgLy8gRmluZCBhbmQgcmV0dXJuIHRoZSBmaXJzdCBzdWNjZXNzZnVsIHJlc3VsdC4KLSAgICAg
IGZvciAobGV0IGkgPSAwOyBpIDwgcmVzdWx0cy5sZW5ndGg7IGkrKykgewotICAgICAgICBpZiAo
cmVzdWx0c1tpXS5zdXBwb3J0c1Nlc3Npb24pIHsKLSAgICAgICAgICByZXR1cm4gcmVzdWx0c1tp
XTsKLSAgICAgICAgfQotICAgICAgfQotCi0gICAgICAvLyBJZiB0aGVyZSB3ZXJlIG5vIHN1Y2Nl
c3NmdWwgcmVzdWx0cywgcmV0dXJucyBmYWxzZS4KLSAgICAgIHJldHVybiB7c3VwcG9ydHNTZXNz
aW9uOiBmYWxzZX07Ci0gICAgfSk7Ci0gIH07Ci19Ci0KLS8vIEltcGxlbWVudHMgWFJGcmFtZURh
dGFQcm92aWRlciBhbmQgWFJQcmVzZW50YXRpb25Qcm92aWRlci4gTWFpbnRhaW5zIGEgbW9jawot
Ly8gZm9yIFhSUHJlc2VudGF0aW9uUHJvdmlkZXIuCi1jbGFzcyBNb2NrUnVudGltZSB7Ci0gIC8v
IE1hcHBpbmcgZnJvbSBzdHJpbmcgZmVhdHVyZSBuYW1lcyB0byB0aGUgY29ycmVzcG9uZGluZyBt
b2pvIHR5cGVzLgotICAvLyBUaGlzIGlzIGV4cG9zZWQgYXMgYSBtZW1iZXIgZm9yIGV4dGVuc2li
aWxpdHkuCi0gIHN0YXRpYyBmZWF0dXJlVG9Nb2pvTWFwID0gewotICAgICJ2aWV3ZXIiOiBkZXZp
Y2UubW9qb20uWFJTZXNzaW9uRmVhdHVyZS5SRUZfU1BBQ0VfVklFV0VSLAotICAgICJsb2NhbCI6
IGRldmljZS5tb2pvbS5YUlNlc3Npb25GZWF0dXJlLlJFRl9TUEFDRV9MT0NBTCwKLSAgICAibG9j
YWwtZmxvb3IiOiBkZXZpY2UubW9qb20uWFJTZXNzaW9uRmVhdHVyZS5SRUZfU1BBQ0VfTE9DQUxf
RkxPT1IsCi0gICAgImJvdW5kZWQtZmxvb3IiOiBkZXZpY2UubW9qb20uWFJTZXNzaW9uRmVhdHVy
ZS5SRUZfU1BBQ0VfQk9VTkRFRF9GTE9PUiwKLSAgICAidW5ib3VuZGVkIjogZGV2aWNlLm1vam9t
LlhSU2Vzc2lvbkZlYXR1cmUuUkVGX1NQQUNFX1VOQk9VTkRFRCB9OwotCi0gIGNvbnN0cnVjdG9y
KGZha2VEZXZpY2VJbml0LCBzZXJ2aWNlKSB7Ci0gICAgdGhpcy5zZXNzaW9uQ2xpZW50XyA9IG5l
dyBkZXZpY2UubW9qb20uWFJTZXNzaW9uQ2xpZW50UHRyKCk7Ci0gICAgdGhpcy5wcmVzZW50YXRp
b25fcHJvdmlkZXJfID0gbmV3IE1vY2tYUlByZXNlbnRhdGlvblByb3ZpZGVyKCk7Ci0KLSAgICB0
aGlzLnBvc2VfID0gbnVsbDsKLSAgICB0aGlzLm5leHRfZnJhbWVfaWRfID0gMDsKLSAgICB0aGlz
LmJvdW5kc18gPSBudWxsOwotICAgIHRoaXMuc2VuZF9tb2pvX3NwYWNlX3Jlc2V0XyA9IGZhbHNl
OwotCi0gICAgdGhpcy5zZXJ2aWNlXyA9IHNlcnZpY2U7Ci0KLSAgICB0aGlzLmZyYW1lc09mUmVm
ZXJlbmNlID0ge307Ci0KLSAgICB0aGlzLmlucHV0X3NvdXJjZXNfID0gW107Ci0gICAgdGhpcy5u
ZXh0X2lucHV0X3NvdXJjZV9pbmRleF8gPSAxOwotCi0gICAgLy8gSW5pdGlhbGl6ZSBEaXNwbGF5
SW5mbyBmaXJzdCB0byBzZXQgdGhlIGRlZmF1bHRzLCB0aGVuIG92ZXJyaWRlIHdpdGgKLSAgICAv
LyBhbnl0aGluZyBmcm9tIHRoZSBkZXZpY2VJbml0Ci0gICAgaWYgKGZha2VEZXZpY2VJbml0LnN1
cHBvcnRzSW1tZXJzaXZlKSB7Ci0gICAgICB0aGlzLmRpc3BsYXlJbmZvXyA9IHRoaXMuZ2V0SW1t
ZXJzaXZlRGlzcGxheUluZm8oKTsKLSAgICB9IGVsc2UgewotICAgICAgdGhpcy5kaXNwbGF5SW5m
b18gPSB0aGlzLmdldE5vbkltbWVyc2l2ZURpc3BsYXlJbmZvKCk7Ci0gICAgfQotCi0gICAgaWYg
KGZha2VEZXZpY2VJbml0LnN1cHBvcnRzRW52aXJvbm1lbnRJbnRlZ3JhdGlvbikgewotICAgICAg
dGhpcy5kaXNwbGF5SW5mb18uY2FwYWJpbGl0aWVzLmNhblByb3ZpZGVFbnZpcm9ubWVudEludGVn
cmF0aW9uID0gdHJ1ZTsKLSAgICB9Ci0KLSAgICBpZiAoZmFrZURldmljZUluaXQudmlld2VyT3Jp
Z2luICE9IG51bGwpIHsKLSAgICAgIHRoaXMuc2V0Vmlld2VyT3JpZ2luKGZha2VEZXZpY2VJbml0
LnZpZXdlck9yaWdpbik7Ci0gICAgfQotCi0gICAgaWYgKGZha2VEZXZpY2VJbml0LmZsb29yT3Jp
Z2luICE9IG51bGwpIHsKLSAgICAgIHRoaXMuc2V0Rmxvb3JPcmlnaW4oZmFrZURldmljZUluaXQu
Zmxvb3JPcmlnaW4pOwotICAgIH0KLQotICAgIC8vIFRoaXMgYXBwcm9wcmlhdGVseSBoYW5kbGVz
IGlmIHRoZSBjb29yZGluYXRlcyBhcmUgbnVsbAotICAgIHRoaXMuc2V0Qm91bmRzR2VvbWV0cnko
ZmFrZURldmljZUluaXQuYm91bmRzQ29vcmRpbmF0ZXMpOwotCi0gICAgdGhpcy5zZXRWaWV3cyhm
YWtlRGV2aWNlSW5pdC52aWV3cyk7Ci0KLSAgICAvLyBOZWVkIHRvIHN1cHBvcnQgd2ViVlIgd2hp
Y2ggZG9lc24ndCBoYXZlIGEgbm90aW9uIG9mIGZlYXR1cmVzCi0gICAgdGhpcy5zZXRGZWF0dXJl
cyhmYWtlRGV2aWNlSW5pdC5zdXBwb3J0ZWRGZWF0dXJlcyB8fCBbXSk7Ci0gIH0KLQotICAvLyBU
ZXN0IEFQSSBtZXRob2RzLgotICBkaXNjb25uZWN0KCkgewotICAgIHRoaXMuc2VydmljZV8ucmVt
b3ZlUnVudGltZSh0aGlzKTsKLSAgICB0aGlzLnByZXNlbnRhdGlvbl9wcm92aWRlcl8uQ2xvc2Uo
KTsKLSAgICBpZiAodGhpcy5zZXNzaW9uQ2xpZW50Xy5wdHIuaXNCb3VuZCgpKSB7Ci0gICAgICB0
aGlzLnNlc3Npb25DbGllbnRfLnB0ci5yZXNldCgpOwotICAgIH0KLQotICAgIHJldHVybiBQcm9t
aXNlLnJlc29sdmUoKTsKLSAgfQotCi0gIHNldFZpZXdzKHZpZXdzKSB7Ci0gICAgaWYgKHZpZXdz
KSB7Ci0gICAgICBsZXQgY2hhbmdlZCA9IGZhbHNlOwotICAgICAgZm9yIChsZXQgaSA9IDA7IGkg
PCB2aWV3cy5sZW5ndGg7IGkrKykgewotICAgICAgICBpZiAodmlld3NbaV0uZXllID09ICdsZWZ0
JykgewotICAgICAgICAgIHRoaXMuZGlzcGxheUluZm9fLmxlZnRFeWUgPSB0aGlzLmdldEV5ZSh2
aWV3c1tpXSk7Ci0gICAgICAgICAgY2hhbmdlZCA9IHRydWU7Ci0gICAgICAgIH0gZWxzZSBpZiAo
dmlld3NbaV0uZXllID09ICdyaWdodCcpIHsKLSAgICAgICAgICB0aGlzLmRpc3BsYXlJbmZvXy5y
aWdodEV5ZSA9IHRoaXMuZ2V0RXllKHZpZXdzW2ldKTsKLSAgICAgICAgICBjaGFuZ2VkID0gdHJ1
ZTsKLSAgICAgICAgfQotICAgICAgfQotCi0gICAgICBpZiAoY2hhbmdlZCAmJiB0aGlzLnNlc3Np
b25DbGllbnRfLnB0ci5pc0JvdW5kKCkpIHsKLSAgICAgICAgdGhpcy5zZXNzaW9uQ2xpZW50Xy5v
bkNoYW5nZWQodGhpcy5kaXNwbGF5SW5mb18pOwotICAgICAgfQotICAgIH0KLSAgfQotCi0gIHNl
dFZpZXdlck9yaWdpbihvcmlnaW4sIGVtdWxhdGVkUG9zaXRpb24gPSBmYWxzZSkgewotICAgIGxl
dCBwID0gb3JpZ2luLnBvc2l0aW9uOwotICAgIGxldCBxID0gb3JpZ2luLm9yaWVudGF0aW9uOwot
ICAgIHRoaXMucG9zZV8gPSB7Ci0gICAgICBvcmllbnRhdGlvbjogeyB4OiBxWzBdLCB5OiBxWzFd
LCB6OiBxWzJdLCB3OiBxWzNdIH0sCi0gICAgICBwb3NpdGlvbjogeyB4OiBwWzBdLCB5OiBwWzFd
LCB6OiBwWzJdIH0sCi0gICAgICBlbXVsYXRlZFBvc2l0aW9uOiBlbXVsYXRlZFBvc2l0aW9uLAot
ICAgICAgYW5ndWxhclZlbG9jaXR5OiBudWxsLAotICAgICAgbGluZWFyVmVsb2NpdHk6IG51bGws
Ci0gICAgICBhbmd1bGFyQWNjZWxlcmF0aW9uOiBudWxsLAotICAgICAgbGluZWFyQWNjZWxlcmF0
aW9uOiBudWxsLAotICAgICAgaW5wdXRTdGF0ZTogbnVsbCwKLSAgICAgIHBvc2VJbmRleDogMAot
ICAgIH07Ci0gIH0KLQotICBjbGVhclZpZXdlck9yaWdpbigpIHsKLSAgICB0aGlzLnBvc2VfID0g
bnVsbDsKLSAgfQotCi0gIHNpbXVsYXRlVmlzaWJpbGl0eUNoYW5nZSh2aXNpYmlsaXR5U3RhdGUp
IHsKLSAgICBsZXQgbW9qb1N0YXRlID0gbnVsbDsKLSAgICBzd2l0Y2godmlzaWJpbGl0eVN0YXRl
KSB7Ci0gICAgICBjYXNlICJ2aXNpYmxlIjoKLSAgICAgICAgbW9qb1N0YXRlID0gZGV2aWNlLm1v
am9tLlhSVmlzaWJpbGl0eVN0YXRlLlZJU0lCTEU7Ci0gICAgICAgIGJyZWFrOwotICAgICAgY2Fz
ZSAidmlzaWJsZS1ibHVycmVkIjoKLSAgICAgICAgbW9qb1N0YXRlID0gZGV2aWNlLm1vam9tLlhS
VmlzaWJpbGl0eVN0YXRlLlZJU0lCTEVfQkxVUlJFRDsKLSAgICAgICAgYnJlYWs7Ci0gICAgICBj
YXNlICJoaWRkZW4iOgotICAgICAgICBtb2pvU3RhdGUgPSBkZXZpY2UubW9qb20uWFJWaXNpYmls
aXR5U3RhdGUuSElEREVOOwotICAgICAgICBicmVhazsKLSAgICB9Ci0gICAgaWYgKG1vam9TdGF0
ZSkgewotICAgICAgdGhpcy5zZXNzaW9uQ2xpZW50Xy5vblZpc2liaWxpdHlTdGF0ZUNoYW5nZWQo
bW9qb1N0YXRlKTsKLSAgICB9Ci0gIH0KLQotICBzZXRCb3VuZHNHZW9tZXRyeShib3VuZHMpIHsK
LSAgICBpZiAoYm91bmRzID09IG51bGwpIHsKLSAgICAgIHRoaXMuYm91bmRzXyA9IG51bGw7Ci0g
ICAgfSBlbHNlIGlmIChib3VuZHMubGVuZ3RoIDwgMykgewotICAgICAgdGhyb3cgbmV3IEVycm9y
KCJCb3VuZHMgbXVzdCBoYXZlIGEgbGVuZ3RoIG9mIGF0IGxlYXN0IDMiKTsKLSAgICB9IGVsc2Ug
ewotICAgICAgdGhpcy5ib3VuZHNfID0gYm91bmRzOwotICAgIH0KLQotICAgIC8vIFdlIGNhbiBv
bmx5IHNldCBib3VuZHMgaWYgd2UgaGF2ZSBzdGFnZVBhcmFtZXRlcnMgc2V0OyBvdGhlcndpc2Us
IHdlCi0gICAgLy8gZG9uJ3Qga25vdyB0aGUgdHJhbnNmb3JtIGZyb20gbG9jYWwgc3BhY2UgdG8g
Ym91bmRzIHNwYWNlLgotICAgIC8vIFdlJ2xsIGNhY2hlIHRoZSBib3VuZHMgc28gdGhhdCB0aGV5
IGNhbiBiZSBzZXQgaW4gdGhlIGZ1dHVyZSBpZiB0aGUKLSAgICAvLyBmbG9vckxldmVsIHRyYW5z
Zm9ybSBpcyBzZXQsIGJ1dCB3ZSB3b24ndCB1cGRhdGUgdGhlbSBqdXN0IHlldC4KLSAgICBpZiAo
dGhpcy5kaXNwbGF5SW5mb18uc3RhZ2VQYXJhbWV0ZXJzKSB7Ci0gICAgICB0aGlzLmRpc3BsYXlJ
bmZvXy5zdGFnZVBhcmFtZXRlcnMuYm91bmRzID0gdGhpcy5ib3VuZHNfOwotCi0gICAgICBpZiAo
dGhpcy5zZXNzaW9uQ2xpZW50Xy5wdHIuaXNCb3VuZCgpKSB7Ci0gICAgICAgIHRoaXMuc2Vzc2lv
bkNsaWVudF8ub25DaGFuZ2VkKHRoaXMuZGlzcGxheUluZm9fKTsKLSAgICAgIH0KLSAgICB9Ci0g
IH0KLQotICBzZXRGbG9vck9yaWdpbihmbG9vck9yaWdpbikgewotICAgIGlmICghdGhpcy5kaXNw
bGF5SW5mb18uc3RhZ2VQYXJhbWV0ZXJzKSB7Ci0gICAgICB0aGlzLmRpc3BsYXlJbmZvXy5zdGFn
ZVBhcmFtZXRlcnMgPSBkZWZhdWx0X3N0YWdlX3BhcmFtZXRlcnM7Ci0gICAgICB0aGlzLmRpc3Bs
YXlJbmZvXy5zdGFnZVBhcmFtZXRlcnMuYm91bmRzID0gdGhpcy5ib3VuZHNfOwotICAgIH0KLQot
ICAgIHRoaXMuZGlzcGxheUluZm9fLnN0YWdlUGFyYW1ldGVycy5zdGFuZGluZ1RyYW5zZm9ybSA9
IG5ldyBnZngubW9qb20uVHJhbnNmb3JtKCk7Ci0gICAgdGhpcy5kaXNwbGF5SW5mb18uc3RhZ2VQ
YXJhbWV0ZXJzLnN0YW5kaW5nVHJhbnNmb3JtLm1hdHJpeCA9Ci0gICAgICBnZXRNYXRyaXhGcm9t
VHJhbnNmb3JtKGZsb29yT3JpZ2luKTsKLQotICAgIGlmICh0aGlzLnNlc3Npb25DbGllbnRfLnB0
ci5pc0JvdW5kKCkpIHsKLSAgICAgIHRoaXMuc2Vzc2lvbkNsaWVudF8ub25DaGFuZ2VkKHRoaXMu
ZGlzcGxheUluZm9fKTsKLSAgICB9Ci0gIH0KLQotICBjbGVhckZsb29yT3JpZ2luKCkgewotICAg
IGlmICh0aGlzLmRpc3BsYXlJbmZvXy5zdGFnZVBhcmFtZXRlcnMpIHsKLSAgICAgIHRoaXMuZGlz
cGxheUluZm9fLnN0YWdlUGFyYW1ldGVycyA9IG51bGw7Ci0KLSAgICAgIGlmICh0aGlzLnNlc3Np
b25DbGllbnRfLnB0ci5pc0JvdW5kKCkpIHsKLSAgICAgICAgdGhpcy5zZXNzaW9uQ2xpZW50Xy5v
bkNoYW5nZWQodGhpcy5kaXNwbGF5SW5mb18pOwotICAgICAgfQotICAgIH0KLSAgfQotCi0gIHNp
bXVsYXRlUmVzZXRQb3NlKCkgewotICAgIHRoaXMuc2VuZF9tb2pvX3NwYWNlX3Jlc2V0XyA9IHRy
dWU7Ci0gIH0KLQotICBzaW11bGF0ZUlucHV0U291cmNlQ29ubmVjdGlvbihmYWtlSW5wdXRTb3Vy
Y2VJbml0KSB7Ci0gICAgbGV0IGluZGV4ID0gdGhpcy5uZXh0X2lucHV0X3NvdXJjZV9pbmRleF87
Ci0gICAgdGhpcy5uZXh0X2lucHV0X3NvdXJjZV9pbmRleF8rKzsKLQotICAgIGxldCBzb3VyY2Ug
PSBuZXcgTW9ja1hSSW5wdXRTb3VyY2UoZmFrZUlucHV0U291cmNlSW5pdCwgaW5kZXgsIHRoaXMp
OwotICAgIHRoaXMuaW5wdXRfc291cmNlc18ucHVzaChzb3VyY2UpOwotICAgIHJldHVybiBzb3Vy
Y2U7Ci0gIH0KLQotICAvLyBIZWxwZXIgbWV0aG9kcwotICBnZXROb25JbW1lcnNpdmVEaXNwbGF5
SW5mbygpIHsKLSAgICBsZXQgZGlzcGxheUluZm8gPSB0aGlzLmdldEltbWVyc2l2ZURpc3BsYXlJ
bmZvKCk7Ci0KLSAgICBkaXNwbGF5SW5mby5jYXBhYmlsaXRpZXMuY2FuUHJlc2VudCA9IGZhbHNl
OwotICAgIGRpc3BsYXlJbmZvLmxlZnRFeWUgPSBudWxsOwotICAgIGRpc3BsYXlJbmZvLnJpZ2h0
RXllID0gbnVsbDsKLQotICAgIHJldHVybiBkaXNwbGF5SW5mbzsKLSAgfQotCi0gIC8vIEZ1bmN0
aW9uIHRvIGdlbmVyYXRlIHNvbWUgdmFsaWQgZGlzcGxheSBpbmZvcm1hdGlvbiBmb3IgdGhlIGRl
dmljZS4KLSAgZ2V0SW1tZXJzaXZlRGlzcGxheUluZm8oKSB7Ci0gICAgcmV0dXJuIHsKLSAgICAg
IGRpc3BsYXlOYW1lOiAnRmFrZURldmljZScsCi0gICAgICBjYXBhYmlsaXRpZXM6IHsKLSAgICAg
ICAgaGFzUG9zaXRpb246IGZhbHNlLAotICAgICAgICBoYXNFeHRlcm5hbERpc3BsYXk6IGZhbHNl
LAotICAgICAgICBjYW5QcmVzZW50OiB0cnVlLAotICAgICAgICBtYXhMYXllcnM6IDEKLSAgICAg
IH0sCi0gICAgICBzdGFnZVBhcmFtZXRlcnM6IG51bGwsCi0gICAgICBsZWZ0RXllOiB7Ci0gICAg
ICAgIGZpZWxkT2ZWaWV3OiB7Ci0gICAgICAgICAgdXBEZWdyZWVzOiA0OC4zMTYsCi0gICAgICAg
ICAgZG93bkRlZ3JlZXM6IDUwLjA5OSwKLSAgICAgICAgICBsZWZ0RGVncmVlczogNTAuODk5LAot
ICAgICAgICAgIHJpZ2h0RGVncmVlczogMzUuMTk3Ci0gICAgICAgIH0sCi0gICAgICAgIGhlYWRG
cm9tRXllOiBjb21wb3NlR0ZYVHJhbnNmb3JtKHsKLSAgICAgICAgICBwb3NpdGlvbjogWy0wLjAz
MiwgMCwgMF0sCi0gICAgICAgICAgb3JpZW50YXRpb246IFswLCAwLCAwLCAxXQotICAgICAgICB9
KSwKLSAgICAgICAgcmVuZGVyV2lkdGg6IDIwLAotICAgICAgICByZW5kZXJIZWlnaHQ6IDIwCi0g
ICAgICB9LAotICAgICAgcmlnaHRFeWU6IHsKLSAgICAgICAgZmllbGRPZlZpZXc6IHsKLSAgICAg
ICAgICB1cERlZ3JlZXM6IDQ4LjMxNiwKLSAgICAgICAgICBkb3duRGVncmVlczogNTAuMDk5LAot
ICAgICAgICAgIGxlZnREZWdyZWVzOiA1MC44OTksCi0gICAgICAgICAgcmlnaHREZWdyZWVzOiAz
NS4xOTcKLSAgICAgICAgfSwKLSAgICAgICAgaGVhZEZyb21FeWU6IGNvbXBvc2VHRlhUcmFuc2Zv
cm0oewotICAgICAgICAgIHBvc2l0aW9uOiBbMC4wMzIsIDAsIDBdLAotICAgICAgICAgIG9yaWVu
dGF0aW9uOiBbMCwgMCwgMCwgMV0KLSAgICAgICAgfSksCi0gICAgICAgIHJlbmRlcldpZHRoOiAy
MCwKLSAgICAgICAgcmVuZGVySGVpZ2h0OiAyMAotICAgICAgfSwKLSAgICAgIHdlYnhyRGVmYXVs
dEZyYW1lYnVmZmVyU2NhbGU6IDAuNywKLSAgICB9OwotICB9Ci0KLSAgLy8gVGhpcyBmdW5jdGlv
biBjb252ZXJ0cyBiZXR3ZWVuIHRoZSBtYXRyaXggcHJvdmlkZWQgYnkgdGhlIFdlYlhSIHRlc3Qg
QVBJCi0gIC8vIGFuZCB0aGUgaW50ZXJuYWwgZGF0YSByZXByZXNlbnRhdGlvbi4KLSAgZ2V0RXll
KGZha2VYUlZpZXdJbml0KSB7Ci0gICAgbGV0IGZvdiA9IG51bGw7Ci0KLSAgICBpZiAoZmFrZVhS
Vmlld0luaXQuZmllbGRPZlZpZXcpIHsKLSAgICAgIGZvdiA9IHsKLSAgICAgICAgdXBEZWdyZWVz
OiBmYWtlWFJWaWV3SW5pdC5maWVsZE9mVmlldy51cERlZ3JlZXMsCi0gICAgICAgIGRvd25EZWdy
ZWVzOiBmYWtlWFJWaWV3SW5pdC5maWVsZE9mVmlldy5kb3duRGVncmVlcywKLSAgICAgICAgbGVm
dERlZ3JlZXM6IGZha2VYUlZpZXdJbml0LmZpZWxkT2ZWaWV3LmxlZnREZWdyZWVzLAotICAgICAg
ICByaWdodERlZ3JlZXM6IGZha2VYUlZpZXdJbml0LmZpZWxkT2ZWaWV3LnJpZ2h0RGVncmVlcwot
ICAgICAgfTsKLSAgICB9IGVsc2UgewotICAgICAgbGV0IG0gPSBmYWtlWFJWaWV3SW5pdC5wcm9q
ZWN0aW9uTWF0cml4OwotCi0gICAgICBmdW5jdGlvbiB0b0RlZ3JlZXModGFuKSB7Ci0gICAgICAg
IHJldHVybiBNYXRoLmF0YW4odGFuKSAqIDE4MCAvIE1hdGguUEk7Ci0gICAgICB9Ci0KLSAgICAg
IGxldCBsZWZ0VGFuID0gKDEgLSBtWzhdKSAvIG1bMF07Ci0gICAgICBsZXQgcmlnaHRUYW4gPSAo
MSArIG1bOF0pIC8gbVswXTsKLSAgICAgIGxldCB1cFRhbiA9ICgxICsgbVs5XSkgLyBtWzVdOwot
ICAgICAgbGV0IGRvd25UYW4gPSAoMSAtIG1bOV0pIC8gbVs1XTsKLQotICAgICAgZm92ID0gewot
ICAgICAgICB1cERlZ3JlZXM6IHRvRGVncmVlcyh1cFRhbiksCi0gICAgICAgIGRvd25EZWdyZWVz
OiB0b0RlZ3JlZXMoZG93blRhbiksCi0gICAgICAgIGxlZnREZWdyZWVzOiB0b0RlZ3JlZXMobGVm
dFRhbiksCi0gICAgICAgIHJpZ2h0RGVncmVlczogdG9EZWdyZWVzKHJpZ2h0VGFuKQotICAgICAg
fTsKLSAgICB9Ci0KLSAgICByZXR1cm4gewotICAgICAgZmllbGRPZlZpZXc6IGZvdiwKLSAgICAg
IGhlYWRGcm9tRXllOiBjb21wb3NlR0ZYVHJhbnNmb3JtKGZha2VYUlZpZXdJbml0LnZpZXdPZmZz
ZXQpLAotICAgICAgcmVuZGVyV2lkdGg6IGZha2VYUlZpZXdJbml0LnJlc29sdXRpb24ud2lkdGgs
Ci0gICAgICByZW5kZXJIZWlnaHQ6IGZha2VYUlZpZXdJbml0LnJlc29sdXRpb24uaGVpZ2h0Ci0g
ICAgfTsKLSAgfQotCi0gIHNldEZlYXR1cmVzKHN1cHBvcnRlZEZlYXR1cmVzKSB7Ci0gICAgZnVu
Y3Rpb24gY29udmVydEZlYXR1cmVUb01vam9tKGZlYXR1cmUpIHsKLSAgICAgIGlmIChmZWF0dXJl
IGluIE1vY2tSdW50aW1lLmZlYXR1cmVUb01vam9NYXApIHsKLSAgICAgICAgcmV0dXJuIE1vY2tS
dW50aW1lLmZlYXR1cmVUb01vam9NYXBbZmVhdHVyZV07Ci0gICAgICB9IGVsc2UgewotICAgICAg
ICByZXR1cm4gZGV2aWNlLm1vam9tLlhSU2Vzc2lvbkZlYXR1cmUuSU5WQUxJRDsKLSAgICAgIH0K
LSAgICB9Ci0KLSAgICB0aGlzLnN1cHBvcnRlZEZlYXR1cmVzXyA9IFtdOwotCi0gICAgZm9yIChs
ZXQgaSA9IDA7IGkgPCBzdXBwb3J0ZWRGZWF0dXJlcy5sZW5ndGg7IGkrKykgewotICAgICAgbGV0
IGZlYXR1cmUgPSBjb252ZXJ0RmVhdHVyZVRvTW9qb20oc3VwcG9ydGVkRmVhdHVyZXNbaV0pOwot
ICAgICAgaWYgKGZlYXR1cmUgIT09IGRldmljZS5tb2pvbS5YUlNlc3Npb25GZWF0dXJlLklOVkFM
SUQpIHsKLSAgICAgICAgdGhpcy5zdXBwb3J0ZWRGZWF0dXJlc18ucHVzaChmZWF0dXJlKTsKLSAg
ICAgIH0KLSAgICB9Ci0gIH0KLQotICAvLyBUaGVzZSBtZXRob2RzIGFyZSBpbnRlbmRlZCB0byBi
ZSB1c2VkIGJ5IE1vY2tYUklucHV0U291cmNlIG9ubHkuCi0gIGFkZElucHV0U291cmNlKHNvdXJj
ZSkgewotICAgIGxldCBpbmRleCA9IHRoaXMuaW5wdXRfc291cmNlc18uaW5kZXhPZihzb3VyY2Up
OwotICAgIGlmIChpbmRleCA9PSAtMSkgewotICAgICAgdGhpcy5pbnB1dF9zb3VyY2VzXy5wdXNo
KHNvdXJjZSk7Ci0gICAgfQotICB9Ci0KLSAgcmVtb3ZlSW5wdXRTb3VyY2Uoc291cmNlKSB7Ci0g
ICAgbGV0IGluZGV4ID0gdGhpcy5pbnB1dF9zb3VyY2VzXy5pbmRleE9mKHNvdXJjZSk7Ci0gICAg
aWYgKGluZGV4ID49IDApIHsKLSAgICAgIHRoaXMuaW5wdXRfc291cmNlc18uc3BsaWNlKGluZGV4
LCAxKTsKLSAgICB9Ci0gIH0KLQotICAvLyBNb2pvIGZ1bmN0aW9uIGltcGxlbWVudGF0aW9ucy4K
LQotICAvLyBYUkZyYW1lRGF0YVByb3ZpZGVyIGltcGxlbWVudGF0aW9uLgotICBnZXRGcmFtZURh
dGEoKSB7Ci0gICAgbGV0IG1vam9fc3BhY2VfcmVzZXQgPSB0aGlzLnNlbmRfbW9qb19zcGFjZV9y
ZXNldF87Ci0gICAgdGhpcy5zZW5kX21vam9fc3BhY2VfcmVzZXRfID0gZmFsc2U7Ci0gICAgaWYg
KHRoaXMucG9zZV8pIHsKLSAgICAgIHRoaXMucG9zZV8ucG9zZUluZGV4Kys7Ci0KLSAgICB9Ci0K
LSAgICAvLyBTZXR0aW5nIHRoZSBpbnB1dF9zdGF0ZSB0byBudWxsIHRlc3RzIGEgc2xpZ2h0bHkg
ZGlmZmVyZW50IHBhdGggdGhhbgotICAgIC8vIHRoZSBicm93c2VyIHRlc3RzIHdoZXJlIGlmIHRo
ZSBsYXN0IGlucHV0IHNvdXJjZSBpcyByZW1vdmVkLCB0aGUgZGV2aWNlCi0gICAgLy8gY29kZSBh
bHdheXMgc2VuZHMgdXAgYW4gZW1wdHkgYXJyYXksIGJ1dCBpdCdzIGFsc28gdmFsaWQgbW9qb20g
dG8gc2VuZAotICAgIC8vIHVwIGEgbnVsbCBhcnJheS4KLSAgICBsZXQgaW5wdXRfc3RhdGUgPSBu
dWxsOwotICAgIGlmICh0aGlzLmlucHV0X3NvdXJjZXNfLmxlbmd0aCA+IDApIHsKLSAgICAgIGlu
cHV0X3N0YXRlID0gW107Ci0gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuaW5wdXRfc291
cmNlc18ubGVuZ3RoOyBpKyspIHsKLSAgICAgICAgaW5wdXRfc3RhdGUucHVzaCh0aGlzLmlucHV0
X3NvdXJjZXNfW2ldLmdldElucHV0U291cmNlU3RhdGUoKSk7Ci0gICAgICB9Ci0gICAgfQotCi0g
ICAgLy8gQ29udmVydCBjdXJyZW50IGRvY3VtZW50IHRpbWUgdG8gbW9ub3RvbmljIHRpbWUuCi0g
ICAgbGV0IG5vdyA9IHdpbmRvdy5wZXJmb3JtYW5jZS5ub3coKSAvIDEwMDAuMDsKLSAgICBsZXQg
ZGlmZiA9IG5vdyAtIGludGVybmFscy5tb25vdG9uaWNUaW1lVG9aZXJvQmFzZWREb2N1bWVudFRp
bWUobm93KTsKLSAgICBub3cgKz0gZGlmZjsKLSAgICBub3cgKj0gMTAwMDAwMDsKLQotICAgIHJl
dHVybiBQcm9taXNlLnJlc29sdmUoewotICAgICAgZnJhbWVEYXRhOiB7Ci0gICAgICAgIHBvc2U6
IHRoaXMucG9zZV8sCi0gICAgICAgIG1vam9TcGFjZVJlc2V0OiBtb2pvX3NwYWNlX3Jlc2V0LAot
ICAgICAgICBpbnB1dFN0YXRlOiBpbnB1dF9zdGF0ZSwKLSAgICAgICAgdGltZURlbHRhOiB7Ci0g
ICAgICAgICAgbWljcm9zZWNvbmRzOiBub3csCi0gICAgICAgIH0sCi0gICAgICAgIGZyYW1lSWQ6
IHRoaXMubmV4dF9mcmFtZV9pZF8rKywKLSAgICAgICAgYnVmZmVySG9sZGVyOiBudWxsLAotICAg
ICAgICBidWZmZXJTaXplOiB7fQotICAgICAgfQotICAgIH0pOwotICB9Ci0KLSAgZ2V0RW52aXJv
bm1lbnRJbnRlZ3JhdGlvblByb3ZpZGVyKGVudmlyb25tZW50UHJvdmlkZXJSZXF1ZXN0KSB7Ci0g
ICAgdGhpcy5lbnZpcm9ubWVudFByb3ZpZGVyQmluZGluZ18gPSBuZXcgbW9qby5Bc3NvY2lhdGVk
QmluZGluZygKLSAgICAgICAgZGV2aWNlLm1vam9tLlhSRW52aXJvbm1lbnRJbnRlZ3JhdGlvblBy
b3ZpZGVyLCB0aGlzLAotICAgICAgICBlbnZpcm9ubWVudFByb3ZpZGVyUmVxdWVzdCk7Ci0gIH0K
LQotICAvLyBOb3RlIHRoYXQgaWYgZ2V0RW52aXJvbm1lbnRQcm92aWRlciBoYXNuJ3QgZmluaXNo
ZWQgcnVubmluZyB5ZXQgdGhpcyB3aWxsCi0gIC8vIGJlIHVuZGVmaW5lZC4gSXQncyByZWNvbW1l
bmRlZCB0aGF0IHlvdSBhbGxvdyBhIHN1Y2Nlc3NmdWwgdGFzayB0byBwb3N0Ci0gIC8vIGZpcnN0
IGJlZm9yZSBhdHRlbXB0aW5nIHRvIGNsb3NlLgotICBjbG9zZUVudmlyb25tZW50SW50ZWdyYXRp
b25Qcm92aWRlcigpIHsKLSAgICB0aGlzLmVudmlyb25tZW50UHJvdmlkZXJCaW5kaW5nXy5jbG9z
ZSgpOwotICB9Ci0KLSAgY2xvc2VEYXRhUHJvdmlkZXIoKSB7Ci0gICAgdGhpcy5kYXRhUHJvdmlk
ZXJCaW5kaW5nXy5jbG9zZSgpOwotICB9Ci0KLSAgdXBkYXRlU2Vzc2lvbkdlb21ldHJ5KGZyYW1l
X3NpemUsIGRpc3BsYXlfcm90YXRpb24pIHsKLSAgICAvLyBUaGlzIGZ1bmN0aW9uIG11c3QgZXhp
c3QgdG8gZW5zdXJlIHRoYXQgY2FsbHMgdG8gaXQgZG8gbm90IGNyYXNoLCBidXQgd2UKLSAgICAv
LyBkbyBub3QgaGF2ZSBhbnkgdXNlIGZvciB0aGlzIGRhdGEgYXQgcHJlc2VudC4KLSAgfQotCi0g
IC8vIFV0aWxpdHkgZnVuY3Rpb24KLSAgcmVxdWVzdFJ1bnRpbWVTZXNzaW9uKHNlc3Npb25PcHRp
b25zKSB7Ci0gICAgcmV0dXJuIHRoaXMucnVudGltZVN1cHBvcnRzU2Vzc2lvbihzZXNzaW9uT3B0
aW9ucykudGhlbigocmVzdWx0KSA9PiB7Ci0gICAgICAvLyBUaGUgSmF2YVNjcmlwdCBiaW5kaW5n
cyBjb252ZXJ0IGNfc3R5bGVfbmFtZXMgdG8gY2FtZWxDYXNlIG5hbWVzLgotICAgICAgbGV0IG9w
dGlvbnMgPSBuZXcgZGV2aWNlLm1vam9tLlhSUHJlc2VudGF0aW9uVHJhbnNwb3J0T3B0aW9ucygp
OwotICAgICAgb3B0aW9ucy50cmFuc3BvcnRNZXRob2QgPQotICAgICAgICAgIGRldmljZS5tb2pv
bS5YUlByZXNlbnRhdGlvblRyYW5zcG9ydE1ldGhvZC5TVUJNSVRfQVNfTUFJTEJPWF9IT0xERVI7
Ci0gICAgICBvcHRpb25zLndhaXRGb3JUcmFuc2Zlck5vdGlmaWNhdGlvbiA9IHRydWU7Ci0gICAg
ICBvcHRpb25zLndhaXRGb3JSZW5kZXJOb3RpZmljYXRpb24gPSB0cnVlOwotCi0gICAgICBsZXQg
c3VibWl0X2ZyYW1lX3Npbms7Ci0gICAgICBpZiAocmVzdWx0LnN1cHBvcnRzU2Vzc2lvbikgewot
ICAgICAgICBzdWJtaXRfZnJhbWVfc2luayA9IHsKLSAgICAgICAgICBjbGllbnRSZWNlaXZlcjog
dGhpcy5wcmVzZW50YXRpb25fcHJvdmlkZXJfLmdldENsaWVudFJlY2VpdmVyKCksCi0gICAgICAg
ICAgcHJvdmlkZXI6IHRoaXMucHJlc2VudGF0aW9uX3Byb3ZpZGVyXy5iaW5kUHJvdmlkZXIoc2Vz
c2lvbk9wdGlvbnMpLAotICAgICAgICAgIHRyYW5zcG9ydE9wdGlvbnM6IG9wdGlvbnMKLSAgICAg
ICAgfTsKLQotICAgICAgICBsZXQgZGF0YVByb3ZpZGVyUHRyID0gbmV3IGRldmljZS5tb2pvbS5Y
UkZyYW1lRGF0YVByb3ZpZGVyUHRyKCk7Ci0gICAgICAgIGxldCBkYXRhUHJvdmlkZXJSZXF1ZXN0
ID0gbW9qby5tYWtlUmVxdWVzdChkYXRhUHJvdmlkZXJQdHIpOwotICAgICAgICB0aGlzLmRhdGFQ
cm92aWRlckJpbmRpbmdfID0gbmV3IG1vam8uQmluZGluZygKLSAgICAgICAgICAgIGRldmljZS5t
b2pvbS5YUkZyYW1lRGF0YVByb3ZpZGVyLCB0aGlzLCBkYXRhUHJvdmlkZXJSZXF1ZXN0KTsKLQot
ICAgICAgICBsZXQgY2xpZW50UmVjZWl2ZXIgPSBtb2pvLm1ha2VSZXF1ZXN0KHRoaXMuc2Vzc2lv
bkNsaWVudF8pOwotCi0gICAgICAgIGxldCBlbmFibGVkX2ZlYXR1cmVzID0gW107Ci0gICAgICAg
IGZvcihsZXQgaSA9IDA7IGkgPCBzZXNzaW9uT3B0aW9ucy5yZXF1aXJlZEZlYXR1cmVzLmxlbmd0
aDsgaSsrKSB7Ci0gICAgICAgICAgaWYgKHRoaXMuc3VwcG9ydGVkRmVhdHVyZXNfLmluZGV4T2Yo
c2Vzc2lvbk9wdGlvbnMucmVxdWlyZWRGZWF0dXJlc1tpXSkgIT09IC0xKSB7Ci0gICAgICAgICAg
ICBlbmFibGVkX2ZlYXR1cmVzLnB1c2goc2Vzc2lvbk9wdGlvbnMucmVxdWlyZWRGZWF0dXJlc1tp
XSk7Ci0gICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlc29s
dmUoe3Nlc3Npb246IG51bGx9KTsKLSAgICAgICAgICB9Ci0gICAgICAgIH0KLQotICAgICAgICBm
b3IgKGxldCBpID0wOyBpIDwgc2Vzc2lvbk9wdGlvbnMub3B0aW9uYWxGZWF0dXJlcy5sZW5ndGg7
IGkrKykgewotICAgICAgICAgIGlmICh0aGlzLnN1cHBvcnRlZEZlYXR1cmVzXy5pbmRleE9mKHNl
c3Npb25PcHRpb25zLm9wdGlvbmFsRmVhdHVyZXNbaV0pICE9PSAtMSkgewotICAgICAgICAgICAg
ZW5hYmxlZF9mZWF0dXJlcy5wdXNoKHNlc3Npb25PcHRpb25zLm9wdGlvbmFsRmVhdHVyZXNbaV0p
OwotICAgICAgICAgIH0KLSAgICAgICAgfQotCi0gICAgICAgIHJldHVybiBQcm9taXNlLnJlc29s
dmUoewotICAgICAgICAgIHNlc3Npb246IHsKLSAgICAgICAgICAgIHN1Ym1pdEZyYW1lU2luazog
c3VibWl0X2ZyYW1lX3NpbmssCi0gICAgICAgICAgICBkYXRhUHJvdmlkZXI6IGRhdGFQcm92aWRl
clB0ciwKLSAgICAgICAgICAgIGNsaWVudFJlY2VpdmVyOiBjbGllbnRSZWNlaXZlciwKLSAgICAg
ICAgICAgIGRpc3BsYXlJbmZvOiB0aGlzLmRpc3BsYXlJbmZvXywKLSAgICAgICAgICAgIGVuYWJs
ZWRGZWF0dXJlczogZW5hYmxlZF9mZWF0dXJlcywKLSAgICAgICAgICB9Ci0gICAgICAgIH0pOwot
ICAgICAgfSBlbHNlIHsKLSAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh7c2Vzc2lvbjog
bnVsbH0pOwotICAgICAgfQotICAgIH0pOwotICB9Ci0KLSAgcnVudGltZVN1cHBvcnRzU2Vzc2lv
bihvcHRpb25zKSB7Ci0gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh7Ci0gICAgICBzdXBwb3J0
c1Nlc3Npb246Ci0gICAgICAgICAgIW9wdGlvbnMuaW1tZXJzaXZlIHx8IHRoaXMuZGlzcGxheUlu
Zm9fLmNhcGFiaWxpdGllcy5jYW5QcmVzZW50Ci0gICAgfSk7Ci0gIH07Ci19Ci0KLWNsYXNzIE1v
Y2tYUlNlc3Npb25NZXRyaWNzUmVjb3JkZXIgewotICByZXBvcnRGZWF0dXJlVXNlZChmZWF0dXJl
KSB7Ci0gICAgLy8gRG8gbm90aGluZwotICB9Ci19Ci0KLWNsYXNzIE1vY2tYUklucHV0U291cmNl
IHsKLSAgY29uc3RydWN0b3IoZmFrZUlucHV0U291cmNlSW5pdCwgaWQsIHBhaXJlZERldmljZSkg
ewotICAgIHRoaXMuc291cmNlX2lkXyA9IGlkOwotICAgIHRoaXMucGFpcmVkRGV2aWNlXyA9IHBh
aXJlZERldmljZTsKLSAgICB0aGlzLmhhbmRlZG5lc3NfID0gZmFrZUlucHV0U291cmNlSW5pdC5o
YW5kZWRuZXNzOwotICAgIHRoaXMudGFyZ2V0X3JheV9tb2RlXyA9IGZha2VJbnB1dFNvdXJjZUlu
aXQudGFyZ2V0UmF5TW9kZTsKLSAgICB0aGlzLnNldFBvaW50ZXJPcmlnaW4oZmFrZUlucHV0U291
cmNlSW5pdC5wb2ludGVyT3JpZ2luKTsKLSAgICB0aGlzLnNldFByb2ZpbGVzKGZha2VJbnB1dFNv
dXJjZUluaXQucHJvZmlsZXMpOwotCi0gICAgdGhpcy5wcmltYXJ5X2lucHV0X3ByZXNzZWRfID0g
ZmFsc2U7Ci0gICAgaWYgKGZha2VJbnB1dFNvdXJjZUluaXQuc2VsZWN0aW9uU3RhcnRlZCAhPSBu
dWxsKSB7Ci0gICAgICB0aGlzLnByaW1hcnlfaW5wdXRfcHJlc3NlZF8gPSBmYWtlSW5wdXRTb3Vy
Y2VJbml0LnNlbGVjdGlvblN0YXJ0ZWQ7Ci0gICAgfQotCi0gICAgdGhpcy5wcmltYXJ5X2lucHV0
X2NsaWNrZWRfID0gZmFsc2U7Ci0gICAgaWYgKGZha2VJbnB1dFNvdXJjZUluaXQuc2VsZWN0aW9u
Q2xpY2tlZCAhPSBudWxsKSB7Ci0gICAgICB0aGlzLnByaW1hcnlfaW5wdXRfY2xpY2tlZF8gPSBm
YWtlSW5wdXRTb3VyY2VJbml0LnNlbGVjdGlvbkNsaWNrZWQ7Ci0gICAgfQotCi0gICAgdGhpcy5t
b2pvX2Zyb21faW5wdXRfID0gbnVsbDsKLSAgICBpZiAoZmFrZUlucHV0U291cmNlSW5pdC5ncmlw
T3JpZ2luICE9IG51bGwpIHsKLSAgICAgIHRoaXMuc2V0R3JpcE9yaWdpbihmYWtlSW5wdXRTb3Vy
Y2VJbml0LmdyaXBPcmlnaW4pOwotICAgIH0KLQotICAgIC8vIFRoaXMgcHJvcGVybHkgaGFuZGxl
cyBpZiBzdXBwb3J0ZWRCdXR0b25zIHdlcmUgbm90IHNwZWNpZmllZC4KLSAgICB0aGlzLnNldFN1
cHBvcnRlZEJ1dHRvbnMoZmFrZUlucHV0U291cmNlSW5pdC5zdXBwb3J0ZWRCdXR0b25zKTsKLQot
ICAgIHRoaXMuZW11bGF0ZWRfcG9zaXRpb25fID0gZmFsc2U7Ci0gICAgdGhpcy5kZXNjX2RpcnR5
XyA9IHRydWU7Ci0gIH0KLQotICAvLyBXZWJ4ci10ZXN0LWFwaQotICBzZXRIYW5kZWRuZXNzKGhh
bmRlZG5lc3MpIHsKLSAgICBpZiAodGhpcy5oYW5kZWRuZXNzXyAhPSBoYW5kZWRuZXNzKSB7Ci0g
ICAgICB0aGlzLmRlc2NfZGlydHlfID0gdHJ1ZTsKLSAgICAgIHRoaXMuaGFuZGVkbmVzc18gPSBo
YW5kZWRuZXNzOwotICAgIH0KLSAgfQotCi0gIHNldFRhcmdldFJheU1vZGUodGFyZ2V0UmF5TW9k
ZSkgewotICAgIGlmICh0aGlzLnRhcmdldF9yYXlfbW9kZV8gIT0gdGFyZ2V0UmF5TW9kZSkgewot
ICAgICAgdGhpcy5kZXNjX2RpcnR5XyA9IHRydWU7Ci0gICAgICB0aGlzLnRhcmdldF9yYXlfbW9k
ZV8gPSB0YXJnZXRSYXlNb2RlOwotICAgIH0KLSAgfQotCi0gIHNldFByb2ZpbGVzKHByb2ZpbGVz
KSB7Ci0gICAgdGhpcy5kZXNjX2RpcnR5XyA9IHRydWU7Ci0gICAgdGhpcy5wcm9maWxlc18gPSBw
cm9maWxlczsKLSAgfQotCi0gIHNldEdyaXBPcmlnaW4odHJhbnNmb3JtLCBlbXVsYXRlZFBvc2l0
aW9uID0gZmFsc2UpIHsKLSAgICB0aGlzLm1vam9fZnJvbV9pbnB1dF8gPSBuZXcgZ2Z4Lm1vam9t
LlRyYW5zZm9ybSgpOwotICAgIHRoaXMubW9qb19mcm9tX2lucHV0Xy5tYXRyaXggPSBnZXRNYXRy
aXhGcm9tVHJhbnNmb3JtKHRyYW5zZm9ybSk7Ci0gICAgdGhpcy5lbXVsYXRlZF9wb3NpdGlvbl8g
PSBlbXVsYXRlZFBvc2l0aW9uOwotICB9Ci0KLSAgY2xlYXJHcmlwT3JpZ2luKCkgewotICAgIGlm
ICh0aGlzLm1vam9fZnJvbV9pbnB1dF8gIT0gbnVsbCkgewotICAgICAgdGhpcy5tb2pvX2Zyb21f
aW5wdXRfID0gbnVsbDsKLSAgICAgIHRoaXMuZW11bGF0ZWRfcG9zaXRpb25fID0gZmFsc2U7Ci0g
ICAgfQotICB9Ci0KLSAgc2V0UG9pbnRlck9yaWdpbih0cmFuc2Zvcm0sIGVtdWxhdGVkUG9zaXRp
b24gPSBmYWxzZSkgewotICAgIHRoaXMuZGVzY19kaXJ0eV8gPSB0cnVlOwotICAgIHRoaXMuaW5w
dXRfZnJvbV9wb2ludGVyXyA9IG5ldyBnZngubW9qb20uVHJhbnNmb3JtKCk7Ci0gICAgdGhpcy5p
bnB1dF9mcm9tX3BvaW50ZXJfLm1hdHJpeCA9IGdldE1hdHJpeEZyb21UcmFuc2Zvcm0odHJhbnNm
b3JtKTsKLSAgICB0aGlzLmVtdWxhdGVkX3Bvc2l0aW9uXyA9IGVtdWxhdGVkUG9zaXRpb247Ci0g
IH0KLQotICBkaXNjb25uZWN0KCkgewotICAgIHRoaXMucGFpcmVkRGV2aWNlXy5yZW1vdmVJbnB1
dFNvdXJjZSh0aGlzKTsKLSAgfQotCi0gIHJlY29ubmVjdCgpIHsKLSAgICB0aGlzLnBhaXJlZERl
dmljZV8uYWRkSW5wdXRTb3VyY2UodGhpcyk7Ci0gIH0KLQotICBzdGFydFNlbGVjdGlvbigpIHsK
LSAgICB0aGlzLnByaW1hcnlfaW5wdXRfcHJlc3NlZF8gPSB0cnVlOwotICAgIGlmICh0aGlzLmdh
bWVwYWRfKSB7Ci0gICAgICB0aGlzLmdhbWVwYWRfLmJ1dHRvbnNbMF0ucHJlc3NlZCA9IHRydWU7
Ci0gICAgICB0aGlzLmdhbWVwYWRfLmJ1dHRvbnNbMF0udG91Y2hlZCA9IHRydWU7Ci0gICAgfQot
ICB9Ci0KLSAgZW5kU2VsZWN0aW9uKCkgewotICAgIGlmICghdGhpcy5wcmltYXJ5X2lucHV0X3By
ZXNzZWRfKSB7Ci0gICAgICB0aHJvdyBuZXcgRXJyb3IoIkF0dGVtcHRlZCB0byBlbmQgc2VsZWN0
aW9uIHdoaWNoIHdhcyBub3Qgc3RhcnRlZCIpOwotICAgIH0KLQotICAgIHRoaXMucHJpbWFyeV9p
bnB1dF9wcmVzc2VkXyA9IGZhbHNlOwotICAgIHRoaXMucHJpbWFyeV9pbnB1dF9jbGlja2VkXyA9
IHRydWU7Ci0KLSAgICBpZiAodGhpcy5nYW1lcGFkXykgewotICAgICAgdGhpcy5nYW1lcGFkXy5i
dXR0b25zWzBdLnByZXNzZWQgPSBmYWxzZTsKLSAgICAgIHRoaXMuZ2FtZXBhZF8uYnV0dG9uc1sw
XS50b3VjaGVkID0gZmFsc2U7Ci0gICAgfQotICB9Ci0KLSAgc2ltdWxhdGVTZWxlY3QoKSB7Ci0g
ICAgdGhpcy5wcmltYXJ5X2lucHV0X2NsaWNrZWRfID0gdHJ1ZTsKLSAgfQotCi0gIHNldFN1cHBv
cnRlZEJ1dHRvbnMoc3VwcG9ydGVkQnV0dG9ucykgewotICAgIHRoaXMuZ2FtZXBhZF8gPSBudWxs
OwotICAgIHRoaXMuc3VwcG9ydGVkX2J1dHRvbnNfID0gW107Ci0KLSAgICAvLyBJZiB0aGVyZSBh
cmUgbm8gc3VwcG9ydGVkIGJ1dHRvbnMsIHdlIGNhbiBzdG9wIG5vdy4KLSAgICBpZiAoc3VwcG9y
dGVkQnV0dG9ucyA9PSBudWxsIHx8IHN1cHBvcnRlZEJ1dHRvbnMubGVuZ3RoIDwgMSkgewotICAg
ICAgcmV0dXJuOwotICAgIH0KLQotICAgIGxldCBzdXBwb3J0ZWRfYnV0dG9uX21hcCA9IHt9Owot
ICAgIHRoaXMuZ2FtZXBhZF8gPSB0aGlzLmdldEVtcHR5R2FtZXBhZCgpOwotICAgIGZvciAobGV0
IGkgPSAwOyBpIDwgc3VwcG9ydGVkQnV0dG9ucy5sZW5ndGg7IGkrKykgewotICAgICAgbGV0IGJ1
dHRvblR5cGUgPSBzdXBwb3J0ZWRCdXR0b25zW2ldLmJ1dHRvblR5cGU7Ci0gICAgICB0aGlzLnN1
cHBvcnRlZF9idXR0b25zXy5wdXNoKGJ1dHRvblR5cGUpOwotICAgICAgc3VwcG9ydGVkX2J1dHRv
bl9tYXBbYnV0dG9uVHlwZV0gPSBzdXBwb3J0ZWRCdXR0b25zW2ldOwotICAgIH0KLQotICAgIC8v
IExldCdzIHN0YXJ0IGJ5IGJ1aWxkaW5nIHRoZSBidXR0b24gc3RhdGUgaW4gb3JkZXIgb2YgcHJp
b3JpdHk6Ci0gICAgLy8gUHJpbWFyeSBidXR0b24gaXMgaW5kZXggMC4KLSAgICB0aGlzLmdhbWVw
YWRfLmJ1dHRvbnMucHVzaCh7Ci0gICAgICBwcmVzc2VkOiB0aGlzLnByaW1hcnlfaW5wdXRfcHJl
c3NlZF8sCi0gICAgICB0b3VjaGVkOiB0aGlzLnByaW1hcnlfaW5wdXRfcHJlc3NlZF8sCi0gICAg
ICB2YWx1ZTogdGhpcy5wcmltYXJ5X2lucHV0X3ByZXNzZWRfID8gMS4wIDogMC4wCi0gICAgfSk7
Ci0KLSAgICAvLyBOb3cgYWRkIHRoZSByZXN0IG9mIG91ciBidXR0b25zCi0gICAgdGhpcy5hZGRH
YW1lcGFkQnV0dG9uKHN1cHBvcnRlZF9idXR0b25fbWFwWydncmlwJ10pOwotICAgIHRoaXMuYWRk
R2FtZXBhZEJ1dHRvbihzdXBwb3J0ZWRfYnV0dG9uX21hcFsndG91Y2hwYWQnXSk7Ci0gICAgdGhp
cy5hZGRHYW1lcGFkQnV0dG9uKHN1cHBvcnRlZF9idXR0b25fbWFwWyd0aHVtYnN0aWNrJ10pOwot
ICAgIHRoaXMuYWRkR2FtZXBhZEJ1dHRvbihzdXBwb3J0ZWRfYnV0dG9uX21hcFsnb3B0aW9uYWwt
YnV0dG9uJ10pOwotICAgIHRoaXMuYWRkR2FtZXBhZEJ1dHRvbihzdXBwb3J0ZWRfYnV0dG9uX21h
cFsnb3B0aW9uYWwtdGh1bWJzdGljayddKTsKLQotICAgIC8vIEZpbmFsbHksIGJhY2stZmlsbCBw
bGFjZWhvbGRlciBidXR0b25zL2F4ZXMKLSAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuZ2Ft
ZXBhZF8uYnV0dG9ucy5sZW5ndGg7IGkrKykgewotICAgICAgaWYgKHRoaXMuZ2FtZXBhZF8uYnV0
dG9uc1tpXSA9PSBudWxsKSB7Ci0gICAgICAgIHRoaXMuZ2FtZXBhZF8uYnV0dG9uc1tpXSA9IHsK
LSAgICAgICAgICBwcmVzc2VkOiBmYWxzZSwKLSAgICAgICAgICB0b3VjaGVkOiBmYWxzZSwKLSAg
ICAgICAgICB2YWx1ZTogMAotICAgICAgICB9Ci0gICAgICB9Ci0gICAgfQotCi0gICAgZm9yIChs
ZXQgaT0wOyBpIDwgdGhpcy5nYW1lcGFkXy5heGVzLmxlbmd0aDsgaSsrKSB7Ci0gICAgICBpZiAo
dGhpcy5nYW1lcGFkXy5heGVzW2ldID09IG51bGwpIHsKLSAgICAgICAgdGhpcy5nYW1lcGFkXy5h
eGVzW2ldID0gMDsKLSAgICAgIH0KLSAgICB9Ci0gIH0KLQotICB1cGRhdGVCdXR0b25TdGF0ZShi
dXR0b25TdGF0ZSkgewotICAgIGlmICh0aGlzLnN1cHBvcnRlZF9idXR0b25zXy5pbmRleE9mKGJ1
dHRvblN0YXRlLmJ1dHRvblR5cGUpID09IC0xKSB7Ci0gICAgICB0aHJvdyBuZXcgRXJyb3IoIlRy
aWVkIHRvIHVwZGF0ZSBzdGF0ZSBvbiBhbiB1bnN1cHBvcnRlZCBidXR0b24iKTsKLSAgICB9Ci0K
LSAgICBsZXQgYnV0dG9uSW5kZXggPSB0aGlzLmdldEJ1dHRvbkluZGV4KGJ1dHRvblN0YXRlLmJ1
dHRvblR5cGUpOwotICAgIGxldCBheGVzU3RhcnRJbmRleCA9IHRoaXMuZ2V0QXhlc1N0YXJ0SW5k
ZXgoYnV0dG9uU3RhdGUuYnV0dG9uVHlwZSk7Ci0KLSAgICBpZiAoYnV0dG9uSW5kZXggPT0gLTEp
IHsKLSAgICAgIHRocm93IG5ldyBFcnJvcigiVW5rbm93biBCdXR0b24gVHlwZSEiKTsKLSAgICB9
Ci0KLSAgICB0aGlzLmdhbWVwYWRfLmJ1dHRvbnNbYnV0dG9uSW5kZXhdLnByZXNzZWQgPSBidXR0
b25TdGF0ZS5wcmVzc2VkOwotICAgIHRoaXMuZ2FtZXBhZF8uYnV0dG9uc1tidXR0b25JbmRleF0u
dG91Y2hlZCA9IGJ1dHRvblN0YXRlLnRvdWNoZWQ7Ci0gICAgdGhpcy5nYW1lcGFkXy5idXR0b25z
W2J1dHRvbkluZGV4XS52YWx1ZSA9IGJ1dHRvblN0YXRlLnByZXNzZWRWYWx1ZTsKLQotICAgIGlm
IChheGVzU3RhcnRJbmRleCAhPSAtMSkgewotICAgICAgdGhpcy5nYW1lcGFkXy5heGVzW2F4ZXNT
dGFydEluZGV4XSA9IGJ1dHRvblN0YXRlLnhWYWx1ZSA9PSBudWxsID8gMC4wIDogYnV0dG9uU3Rh
dGUueFZhbHVlOwotICAgICAgdGhpcy5nYW1lcGFkXy5heGVzW2F4ZXNTdGFydEluZGV4ICsgMV0g
PSBidXR0b25TdGF0ZS55VmFsdWUgPT0gbnVsbCA/IDAuMCA6IGJ1dHRvblN0YXRlLnlWYWx1ZTsK
LSAgICB9Ci0gIH0KLQotICAvLyBIZWxwZXJzIGZvciBNb2pvbQotICBnZXRJbnB1dFNvdXJjZVN0
YXRlKCkgewotICAgIGxldCBpbnB1dF9zdGF0ZSA9IG5ldyBkZXZpY2UubW9qb20uWFJJbnB1dFNv
dXJjZVN0YXRlKCk7Ci0KLSAgICBpbnB1dF9zdGF0ZS5zb3VyY2VJZCA9IHRoaXMuc291cmNlX2lk
XzsKLQotICAgIGlucHV0X3N0YXRlLnByaW1hcnlJbnB1dFByZXNzZWQgPSB0aGlzLnByaW1hcnlf
aW5wdXRfcHJlc3NlZF87Ci0gICAgaW5wdXRfc3RhdGUucHJpbWFyeUlucHV0Q2xpY2tlZCA9IHRo
aXMucHJpbWFyeV9pbnB1dF9jbGlja2VkXzsKLQotICAgIGlucHV0X3N0YXRlLm1vam9Gcm9tSW5w
dXQgPSB0aGlzLm1vam9fZnJvbV9pbnB1dF87Ci0KLSAgICBpbnB1dF9zdGF0ZS5nYW1lcGFkID0g
dGhpcy5nYW1lcGFkXzsKLQotICAgIGlucHV0X3N0YXRlLmVtdWxhdGVkUG9zaXRpb24gPSB0aGlz
LmVtdWxhdGVkX3Bvc2l0aW9uXzsKLQotICAgIGlmICh0aGlzLmRlc2NfZGlydHlfKSB7Ci0gICAg
ICBsZXQgaW5wdXRfZGVzYyA9IG5ldyBkZXZpY2UubW9qb20uWFJJbnB1dFNvdXJjZURlc2NyaXB0
aW9uKCk7Ci0KLSAgICAgIHN3aXRjaCAodGhpcy50YXJnZXRfcmF5X21vZGVfKSB7Ci0gICAgICAg
IGNhc2UgJ2dhemUnOgotICAgICAgICAgIGlucHV0X2Rlc2MudGFyZ2V0UmF5TW9kZSA9IGRldmlj
ZS5tb2pvbS5YUlRhcmdldFJheU1vZGUuR0FaSU5HOwotICAgICAgICAgIGJyZWFrOwotICAgICAg
ICBjYXNlICd0cmFja2VkLXBvaW50ZXInOgotICAgICAgICAgIGlucHV0X2Rlc2MudGFyZ2V0UmF5
TW9kZSA9IGRldmljZS5tb2pvbS5YUlRhcmdldFJheU1vZGUuUE9JTlRJTkc7Ci0gICAgICAgICAg
YnJlYWs7Ci0gICAgICB9Ci0KLSAgICAgIHN3aXRjaCAodGhpcy5oYW5kZWRuZXNzXykgewotICAg
ICAgICBjYXNlICdsZWZ0JzoKLSAgICAgICAgICBpbnB1dF9kZXNjLmhhbmRlZG5lc3MgPSBkZXZp
Y2UubW9qb20uWFJIYW5kZWRuZXNzLkxFRlQ7Ci0gICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNh
c2UgJ3JpZ2h0JzoKLSAgICAgICAgICBpbnB1dF9kZXNjLmhhbmRlZG5lc3MgPSBkZXZpY2UubW9q
b20uWFJIYW5kZWRuZXNzLlJJR0hUOwotICAgICAgICAgIGJyZWFrOwotICAgICAgICBkZWZhdWx0
OgotICAgICAgICAgIGlucHV0X2Rlc2MuaGFuZGVkbmVzcyA9IGRldmljZS5tb2pvbS5YUkhhbmRl
ZG5lc3MuTk9ORTsKLSAgICAgICAgICBicmVhazsKLSAgICAgIH0KLQotICAgICAgaW5wdXRfZGVz
Yy5pbnB1dEZyb21Qb2ludGVyID0gdGhpcy5pbnB1dF9mcm9tX3BvaW50ZXJfOwotCi0gICAgICBp
bnB1dF9kZXNjLnByb2ZpbGVzID0gdGhpcy5wcm9maWxlc187Ci0KLSAgICAgIGlucHV0X3N0YXRl
LmRlc2NyaXB0aW9uID0gaW5wdXRfZGVzYzsKLQotICAgICAgdGhpcy5kZXNjX2RpcnR5XyA9IGZh
bHNlOwotICAgIH0KLQotICAgIHJldHVybiBpbnB1dF9zdGF0ZTsKLSAgfQotCi0gIGdldEVtcHR5
R2FtZXBhZCgpIHsKLSAgICAvLyBNb2pvIGNvbXBsYWlucyBpZiBzb21lIG9mIHRoZSBwcm9wZXJ0
aWVzIG9uIEdhbWVwYWQgYXJlIG51bGwsIHNvIHNldAotICAgIC8vIGV2ZXJ5dGhpbmcgdG8gcmVh
c29uYWJsZSBkZWZhdWx0cyB0aGF0IHRlc3RzIGNhbiBvdmVycmlkZS4KLSAgICBsZXQgZ2FtZXBh
ZCA9IG5ldyBkZXZpY2UubW9qb20uR2FtZXBhZCgpOwotICAgIGdhbWVwYWQuY29ubmVjdGVkID0g
dHJ1ZTsKLSAgICBnYW1lcGFkLmlkID0gIiI7Ci0gICAgZ2FtZXBhZC50aW1lc3RhbXAgPSAwOwot
ICAgIGdhbWVwYWQuYXhlcyA9IFtdOwotICAgIGdhbWVwYWQuYnV0dG9ucyA9IFtdOwotICAgIGdh
bWVwYWQubWFwcGluZyA9ICJ4ci1zdGFuZGFyZCI7Ci0gICAgZ2FtZXBhZC5kaXNwbGF5X2lkID0g
MDsKLQotICAgIHN3aXRjaCAodGhpcy5oYW5kZWRuZXNzXykgewotICAgICAgY2FzZSAnbGVmdCc6
Ci0gICAgICBnYW1lcGFkLmhhbmQgPSBkZXZpY2UubW9qb20uR2FtZXBhZEhhbmQuR2FtZXBhZEhh
bmRMZWZ0OwotICAgICAgYnJlYWs7Ci0gICAgICBjYXNlICdyaWdodCc6Ci0gICAgICBnYW1lcGFk
LmhhbmQgPSBkZXZpY2UubW9qb20uR2FtZXBhZEhhbmQuR2FtZXBhZEhhbmRSaWdodDsKLSAgICAg
IGJyZWFrOwotICAgICAgZGVmYXVsdDoKLSAgICAgIGdhbWVwYWQuaGFuZCA9IGRldmljZS5tb2pv
bS5HYW1lcGFkSGFuZC5HYW1lcGFkSGFuZE5vbmU7Ci0gICAgICBicmVhazsKLSAgICB9Ci0KLSAg
ICByZXR1cm4gZ2FtZXBhZDsKLSAgfQotCi0gIGFkZEdhbWVwYWRCdXR0b24oYnV0dG9uU3RhdGUp
IHsKLSAgICBpZiAoYnV0dG9uU3RhdGUgPT0gbnVsbCkgewotICAgICAgcmV0dXJuOwotICAgIH0K
LQotICAgIGxldCBidXR0b25JbmRleCA9IHRoaXMuZ2V0QnV0dG9uSW5kZXgoYnV0dG9uU3RhdGUu
YnV0dG9uVHlwZSk7Ci0gICAgbGV0IGF4ZXNTdGFydEluZGV4ID0gdGhpcy5nZXRBeGVzU3RhcnRJ
bmRleChidXR0b25TdGF0ZS5idXR0b25UeXBlKTsKLQotICAgIGlmIChidXR0b25JbmRleCA9PSAt
MSkgewotICAgICAgdGhyb3cgbmV3IEVycm9yKCJVbmtub3duIEJ1dHRvbiBUeXBlISIpOwotICAg
IH0KLQotICAgIHRoaXMuZ2FtZXBhZF8uYnV0dG9uc1tidXR0b25JbmRleF0gPSB7Ci0gICAgICBw
cmVzc2VkOiBidXR0b25TdGF0ZS5wcmVzc2VkLAotICAgICAgdG91Y2hlZDogYnV0dG9uU3RhdGUu
dG91Y2hlZCwKLSAgICAgIHZhbHVlOiBidXR0b25TdGF0ZS5wcmVzc2VkVmFsdWUKLSAgICB9Owot
Ci0gICAgLy8gQWRkIHgveSB2YWx1ZSBpZiBzdXBwb3J0ZWQuCi0gICAgaWYgKGF4ZXNTdGFydElu
ZGV4ICE9IC0xKSB7Ci0gICAgICB0aGlzLmdhbWVwYWRfLmF4ZXNbYXhlc1N0YXJ0SW5kZXhdID0g
KGJ1dHRvblN0YXRlLnhWYWx1ZSA9PSBudWxsID8gMC4wIDogYnV0dG9uU2F0ZS54VmFsdWUpOwot
ICAgICAgdGhpcy5nYW1lcGFkXy5heGVzW2F4ZXNTdGFydEluZGV4ICsgMV0gPSAoYnV0dG9uU3Rh
dGUueVZhbHVlID09IG51bGwgPyAwLjAgOiBidXR0b25TYXRlLnlWYWx1ZSk7Ci0gICAgfQotICB9
Ci0KLSAgLy8gR2VuZXJhbCBIZWxwZXIgbWV0aG9kcwotICBnZXRCdXR0b25JbmRleChidXR0b25U
eXBlKSB7Ci0gICAgc3dpdGNoIChidXR0b25UeXBlKSB7Ci0gICAgICBjYXNlICdncmlwJzoKLSAg
ICAgICAgcmV0dXJuIDE7Ci0gICAgICBjYXNlICd0b3VjaHBhZCc6Ci0gICAgICAgIHJldHVybiAy
OwotICAgICAgY2FzZSAndGh1bWJzdGljayc6Ci0gICAgICAgIHJldHVybiAzOwotICAgICAgY2Fz
ZSAnb3B0aW9uYWwtYnV0dG9uJzoKLSAgICAgICAgcmV0dXJuIDQ7Ci0gICAgICBjYXNlICdvcHRp
b25hbC10aHVtYnN0aWNrJzoKLSAgICAgICAgcmV0dXJuIDU7Ci0gICAgICBkZWZhdWx0OgotICAg
ICAgICByZXR1cm4gLTE7Ci0gICAgfQotICB9Ci0KLSAgZ2V0QXhlc1N0YXJ0SW5kZXgoYnV0dG9u
VHlwZSkgewotICAgIHN3aXRjaCAoYnV0dG9uVHlwZSkgewotICAgICAgY2FzZSAndG91Y2hwYWQn
OgotICAgICAgICByZXR1cm4gMDsKLSAgICAgIGNhc2UgJ3RodW1ic3RpY2snOgotICAgICAgICBy
ZXR1cm4gMjsKLSAgICAgIGNhc2UgJ29wdGlvbmFsLXRodW1ic3RpY2snOgotICAgICAgICByZXR1
cm4gNDsKLSAgICAgIGRlZmF1bHQ6Ci0gICAgICAgIHJldHVybiAtMTsKLSAgICB9Ci0gIH0KLX0K
LQotLy8gTW9qbyBoZWxwZXIgY2xhc3NlcwotY2xhc3MgTW9ja1hSUHJlc2VudGF0aW9uUHJvdmlk
ZXIgewotICBjb25zdHJ1Y3RvcigpIHsKLSAgICB0aGlzLmJpbmRpbmdfID0gbmV3IG1vam8uQmlu
ZGluZyhkZXZpY2UubW9qb20uWFJQcmVzZW50YXRpb25Qcm92aWRlciwgdGhpcyk7Ci0KLSAgICB0
aGlzLnN1Ym1pdF9mcmFtZV9jb3VudF8gPSAwOwotICAgIHRoaXMubWlzc2luZ19mcmFtZV9jb3Vu
dF8gPSAwOwotICB9Ci0KLSAgYmluZFByb3ZpZGVyKHJlcXVlc3QpIHsKLSAgICBsZXQgcHJvdmlk
ZXJQdHIgPSBuZXcgZGV2aWNlLm1vam9tLlhSUHJlc2VudGF0aW9uUHJvdmlkZXJQdHIoKTsKLSAg
ICBsZXQgcHJvdmlkZXJSZXF1ZXN0ID0gbW9qby5tYWtlUmVxdWVzdChwcm92aWRlclB0cik7Ci0K
LSAgICB0aGlzLmJpbmRpbmdfLmNsb3NlKCk7Ci0KLSAgICB0aGlzLmJpbmRpbmdfID0gbmV3IG1v
am8uQmluZGluZygKLSAgICAgICAgZGV2aWNlLm1vam9tLlhSUHJlc2VudGF0aW9uUHJvdmlkZXIs
IHRoaXMsIHByb3ZpZGVyUmVxdWVzdCk7Ci0KLSAgICByZXR1cm4gcHJvdmlkZXJQdHI7Ci0gIH0K
LQotICBnZXRDbGllbnRSZWNlaXZlcigpIHsKLSAgICB0aGlzLnN1Ym1pdEZyYW1lQ2xpZW50XyA9
IG5ldyBkZXZpY2UubW9qb20uWFJQcmVzZW50YXRpb25DbGllbnRQdHIoKTsKLSAgICByZXR1cm4g
bW9qby5tYWtlUmVxdWVzdCh0aGlzLnN1Ym1pdEZyYW1lQ2xpZW50Xyk7Ci0gIH0KLQotICAvLyBY
UlByZXNlbnRhdGlvblByb3ZpZGVyIG1vam8gaW1wbGVtZW50YXRpb24KLSAgc3VibWl0RnJhbWVN
aXNzaW5nKGZyYW1lSWQsIG1haWxib3hIb2xkZXIsIHRpbWVXYWl0ZWQpIHsKLSAgICB0aGlzLm1p
c3NpbmdfZnJhbWVfY291bnRfKys7Ci0gIH0KLQotICBzdWJtaXRGcmFtZShmcmFtZUlkLCBtYWls
Ym94SG9sZGVyLCB0aW1lV2FpdGVkKSB7Ci0gICAgdGhpcy5zdWJtaXRfZnJhbWVfY291bnRfKys7
Ci0KLSAgICAvLyBUcmlnZ2VyIHRoZSBzdWJtaXQgY29tcGxldGlvbiBjYWxsYmFja3MgaGVyZS4g
V0FSTklORzogVGhlCi0gICAgLy8gSmF2YXNjcmlwdC1iYXNlZCBtb2pvIG1vY2tzIGFyZSAqbm90
KiByZS1lbnRyYW50LiBJdCdzIE9LIHRvCi0gICAgLy8gd2FpdCBmb3IgdGhlc2Ugbm90aWZpY2F0
aW9ucyBvbiB0aGUgbmV4dCBmcmFtZSwgYnV0IHdhaXRpbmcKLSAgICAvLyB3aXRoaW4gdGhlIGN1
cnJlbnQgZnJhbWUgd291bGQgbmV2ZXIgZmluaXNoIHNpbmNlIHRoZSBpbmNvbWluZwotICAgIC8v
IGNhbGxzIHdvdWxkIGJlIHF1ZXVlZCB1bnRpbCB0aGUgY3VycmVudCBleGVjdXRpb24gY29udGV4
dCBmaW5pc2hlcy4KLSAgICB0aGlzLnN1Ym1pdEZyYW1lQ2xpZW50Xy5vblN1Ym1pdEZyYW1lVHJh
bnNmZXJyZWQodHJ1ZSk7Ci0gICAgdGhpcy5zdWJtaXRGcmFtZUNsaWVudF8ub25TdWJtaXRGcmFt
ZVJlbmRlcmVkKCk7Ci0gIH0KLQotICAvLyBVdGlsaXR5IG1ldGhvZHMKLSAgQ2xvc2UoKSB7Ci0g
ICAgdGhpcy5iaW5kaW5nXy5jbG9zZSgpOwotICB9Ci19Ci0KLS8vIFRoaXMgaXMgYSB0ZW1wb3Jh
cnkgd29ya2Fyb3VuZCBmb3IgdGhlIGZhY3QgdGhhdCBzcGlubmluZyB1cCB3ZWJ4ciBiZWZvcmUK
LS8vIHRoZSBtb2pvIGludGVyY2VwdG9ycyBhcmUgY3JlYXRlZCB3aWxsIGNhdXNlIHRoZSBpbnRl
cmNlcHRvcnMgdG8gbm90IGdldAotLy8gcmVnaXN0ZXJlZCwgc28gd2UgaGF2ZSB0byBjcmVhdGUg
dGhpcyBiZWZvcmUgd2UgcXVlcnkgeHI7Ci1sZXQgWFJUZXN0ID0gbmV3IENocm9tZVhSVGVzdCgp
OwotCi0vLyBUaGlzIHRlc3QgQVBJIGlzIGFsc28gdXNlZCB0byBydW4gQ2hyb21lJ3MgaW50ZXJu
YWwgbGVnYWN5IFZSIHRlc3RzOyBob3dldmVyLAotLy8gdGhvc2UgZmFpbCBpZiBuYXZpZ2F0b3Iu
eHIgaGFzIGJlZW4gdXNlZC4gVGhvc2UgdGVzdHMgd2lsbCBzZXQgYSBib29sIHRlbGxpbmcKLS8v
IHVzIG5vdCB0byB0cnkgdG8gY2hlY2sgbmF2aWdhdG9yLnhyCi1pZiAoKHR5cGVvZiBsZWdhY3lf
dnJfdGVzdCA9PT0gJ3VuZGVmaW5lZCcpIHx8ICFsZWdhY3lfdnJfdGVzdCkgewotICAvLyBTb21l
IHRlc3RzIG1heSBydW4gaW4gdGhlIGh0dHAgY29udGV4dCB3aGVyZSBuYXZpZ2F0b3IueHIgaXNu
J3QgZXhwb3NlZAotICAvLyBUaGlzIHNob3VsZCBqdXN0IGJlIHRvIHRlc3QgdGhhdCBpdCBpc24n
dCBleHBvc2VkLCBidXQgZG9uJ3QgdHJ5IHRvIHNldCB1cAotICAvLyB0aGUgdGVzdCBmcmFtZXdv
cmsgaW4gdGhpcyBjYXNlLgotICBpZiAobmF2aWdhdG9yLnhyKSB7Ci0gICAgbmF2aWdhdG9yLnhy
LnRlc3QgPSBYUlRlc3Q7Ci0gIH0KLX0gZWxzZSB7Ci0gIG5hdmlnYXRvci52ciA9IHsgdGVzdDog
WFJUZXN0IH07Ci19CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS93ZWJ4ci10ZXN0LmpzLmhlYWRlcnMgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJv
bWl1bS93ZWJ4ci10ZXN0LmpzLmhlYWRlcnMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDY4MDVjMzIzZGY1Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS93ZWJ4ci10ZXN0LmpzLmhlYWRl
cnMKKysrIC9kZXYvbnVsbApAQCAtMSArMCwwIEBACi1Db250ZW50LVR5cGU6IHRleHQvamF2YXNj
cmlwdDsgY2hhcnNldD11dGYtOApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZG9jcy9hcGkubWQgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9kb2NzL2FwaS5tZApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzdhODkxZTkxZWQuLjAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Rv
Y3MvYXBpLm1kCisrKyAvZGV2L251bGwKQEAgLTEsNzA0ICswLDAgQEAKLSMjIEludHJvZHVjdGlv
biAjIwotCi10ZXN0aGFybmVzcy5qcyBwcm92aWRlcyBhIGZyYW1ld29yayBmb3Igd3JpdGluZyB0
ZXN0Y2FzZXMuIEl0IGlzIGludGVuZGVkIHRvCi1wcm92aWRlIGEgY29udmVuaWVudCBBUEkgZm9y
IG1ha2luZyBjb21tb24gYXNzZXJ0aW9ucywgYW5kIHRvIHdvcmsgYm90aAotZm9yIHRlc3Rpbmcg
c3luY2hyb25vdXMgYW5kIGFzeW5jaHJvbm91cyBET00gZmVhdHVyZXMgaW4gYSB3YXkgdGhhdAot
cHJvbW90ZXMgY2xlYXIsIHJvYnVzdCwgdGVzdHMuCi0KLSMjIEJhc2ljIFVzYWdlICMjCi0KLVRo
ZSB0ZXN0IGhhcm5lc3Mgc2NyaXB0IGNhbiBiZSB1c2VkIGZyb20gSFRNTCBvciBTVkcgZG9jdW1l
bnRzIGFuZCB3ZWIgd29ya2VyCi1zY3JpcHRzLgotCi1Gcm9tIGFuIEhUTUwgb3IgU1ZHIGRvY3Vt
ZW50LCBzdGFydCBieSBpbXBvcnRpbmcgYm90aCBgdGVzdGhhcm5lc3MuanNgIGFuZAotYHRlc3Ro
YXJuZXNzcmVwb3J0LmpzYCBzY3JpcHRzIGludG8gdGhlIGRvY3VtZW50OgotCi1gYGBodG1sCi08
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci1gYGAKLQot
UmVmZXIgdG8gdGhlIFtXZWIgV29ya2Vyc10oI3dlYi13b3JrZXJzKSBzZWN0aW9uIGZvciBkZXRh
aWxzIGFuZCBhbiBleGFtcGxlIG9uCi10ZXN0aW5nIHdpdGhpbiBhIHdlYiB3b3JrZXIuCi0KLVdp
dGhpbiBlYWNoIGZpbGUgb25lIG1heSBkZWZpbmUgb25lIG9yIG1vcmUgdGVzdHMuIEVhY2ggdGVz
dCBpcyBhdG9taWMgaW4gdGhlCi1zZW5zZSB0aGF0IGEgc2luZ2xlIHRlc3QgaGFzIGEgc2luZ2xl
IHJlc3VsdCAoYFBBU1NgL2BGQUlMYC9gVElNRU9VVGAvYE5PVFJVTmApLgotV2l0aGluIGVhY2gg
dGVzdCBvbmUgbWF5IGhhdmUgYSBudW1iZXIgb2YgYXNzZXJ0cy4gVGhlIHRlc3QgZmFpbHMgYXQg
dGhlIGZpcnN0Ci1mYWlsaW5nIGFzc2VydCwgYW5kIHRoZSByZW1haW5kZXIgb2YgdGhlIHRlc3Qg
aXMgKHR5cGljYWxseSkgbm90IHJ1bi4KLQotSWYgdGhlIGZpbGUgY29udGFpbmluZyB0aGUgdGVz
dHMgaXMgYSBIVE1MIGZpbGUsIGEgdGFibGUgY29udGFpbmluZyB0aGUgdGVzdAotcmVzdWx0cyB3
aWxsIGJlIGFkZGVkIHRvIHRoZSBkb2N1bWVudCBhZnRlciBhbGwgdGVzdHMgaGF2ZSBydW4uIEJ5
IGRlZmF1bHQgdGhpcwotd2lsbCBiZSBhZGRlZCB0byBhIGBkaXZgIGVsZW1lbnQgd2l0aCBgaWQ9
bG9nYCBpZiBpdCBleGlzdHMsIG9yIGEgbmV3IGBkaXZgCi1lbGVtZW50IGFwcGVuZGVkIHRvIGBk
b2N1bWVudC5ib2R5YCBpZiBpdCBkb2VzIG5vdC4KLQotTk9URTogQnkgZGVmYXVsdCB0ZXN0cyBt
dXN0IGJlIGNyZWF0ZWQgYmVmb3JlIHRoZSBsb2FkIGV2ZW50IGZpcmVzLiBGb3Igd2F5cwotdG8g
Y3JlYXRlIHRlc3RzIGFmdGVyIHRoZSBsb2FkIGV2ZW50LCBzZWUgIkRldGVybWluaW5nIHdoZW4g
YWxsIHRlc3RzCi1hcmUgY29tcGxldGUiLCBiZWxvdy4KLQotIyMgU3luY2hyb25vdXMgVGVzdHMg
IyMKLQotVG8gY3JlYXRlIGEgc3luY2hyb25vdXMgdGVzdCB1c2UgdGhlIGB0ZXN0KClgIGZ1bmN0
aW9uOgotCi1gYGBqcwotdGVzdCh0ZXN0X2Z1bmN0aW9uLCBuYW1lLCBwcm9wZXJ0aWVzKQotYGBg
Ci0KLWB0ZXN0X2Z1bmN0aW9uYCBpcyBhIGZ1bmN0aW9uIHRoYXQgY29udGFpbnMgdGhlIGNvZGUg
dG8gdGVzdC4gRm9yIGV4YW1wbGUgYQotdHJpdmlhbCB0ZXN0IGZvciB0aGUgRE9NCi1bYGhhc0Zl
YXR1cmUoKWBdKGh0dHBzOi8vZG9tLnNwZWMud2hhdHdnLm9yZy8jZG9tLWRvbWltcGxlbWVudGF0
aW9uLWhhc2ZlYXR1cmUpCi1tZXRob2QgKHdoaWNoIGlzIGRlZmluZWQgdG8gYWx3YXlzIHJldHVy
biB0cnVlKSB3b3VsZCBiZToKLQotYGBganMKLXRlc3QoZnVuY3Rpb24oKSB7Ci0gIGFzc2VydF90
cnVlKGRvY3VtZW50LmltcGxlbWVudGF0aW9uLmhhc0ZlYXR1cmUoKSk7Ci19LCAiaGFzRmVhdHVy
ZSgpIHdpdGggbm8gYXJndW1lbnRzIikKLWBgYAotCi1UaGUgZnVuY3Rpb24gcGFzc2VkIGluIGlz
IHJ1biBpbiB0aGUgYHRlc3QoKWAgY2FsbC4KLQotYHByb3BlcnRpZXNgIGlzIGEgamF2YXNjcmlw
dCBvYmplY3QgZm9yIHBhc3NpbmcgZXh0cmEgb3B0aW9ucyB0byB0aGUKLXRlc3QuIEN1cnJlbnRs
eSBpdCBpcyBvbmx5IHVzZWQgdG8gcHJvdmlkZSB0ZXN0LXNwZWNpZmljCi1tZXRhZGF0YSwgYXMg
ZGVzY3JpYmVkIGluIHRoZSBbbWV0YWRhdGFdKCNtZXRhZGF0YSkgc2VjdGlvbiBiZWxvdy4KLQot
IyMgQXN5bmNocm9ub3VzIFRlc3RzICMjCi0KLVRlc3RpbmcgYXN5bmNocm9ub3VzIGZlYXR1cmVz
IGlzIHNvbWV3aGF0IG1vcmUgY29tcGxleCBzaW5jZSB0aGUgcmVzdWx0IG9mCi1hIHRlc3QgbWF5
IGRlcGVuZCBvbiBvbmUgb3IgbW9yZSBldmVudHMgb3Igb3RoZXIgY2FsbGJhY2tzLiBUaGUgQVBJ
IHByb3ZpZGVkCi1mb3IgdGVzdGluZyB0aGVzZSBmZWF0dXJlcyBpcyBpbnRlbmRlZCB0byBiZSBy
YXRoZXIgbG93LWxldmVsIGJ1dCBob3BlZnVsbHkKLWFwcGxpY2FibGUgdG8gbWFueSBzaXR1YXRp
b25zLgotCi1UbyBjcmVhdGUgYSB0ZXN0LCBvbmUgc3RhcnRzIGJ5IGdldHRpbmcgYSBgVGVzdGAg
b2JqZWN0IHVzaW5nIGBhc3luY190ZXN0YDoKLQotYGBganMKLWFzeW5jX3Rlc3QobmFtZSwgcHJv
cGVydGllcykKLWBgYAotCi1lLmcuCi0KLWBgYGpzCi12YXIgdCA9IGFzeW5jX3Rlc3QoIkRPTUNv
bnRlbnRMb2FkZWQiKQotYGBgCi0KLUFzc2VydGlvbnMgY2FuIGJlIGFkZGVkIHRvIHRoZSB0ZXN0
IGJ5IGNhbGxpbmcgdGhlIHN0ZXAgbWV0aG9kIG9mIHRoZSB0ZXN0Ci1vYmplY3Qgd2l0aCBhIGZ1
bmN0aW9uIGNvbnRhaW5pbmcgdGhlIHRlc3QgYXNzZXJ0aW9uczoKLQotYGBganMKLWRvY3VtZW50
LmFkZEV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLCBmdW5jdGlvbigpIHsKLSAgdC5z
dGVwKGZ1bmN0aW9uKCkgewotICAgIGFzc2VydF90cnVlKGUuYnViYmxlcywgImJ1YmJsZXMgc2hv
dWxkIGJlIHRydWUiKTsKLSAgfSk7Ci19KTsKLWBgYAotCi1XaGVuIGFsbCB0aGUgc3RlcHMgYXJl
IGNvbXBsZXRlLCB0aGUgYGRvbmUoKWAgbWV0aG9kIG11c3QgYmUgY2FsbGVkOgotCi1gYGBqcwot
dC5kb25lKCk7Ci1gYGAKLQotQXMgYSBjb252ZW5pZW5jZSwgYGFzeW5jX3Rlc3RgIGNhbiBhbHNv
IHRha2VzIGEgZnVuY3Rpb24gYXMgZmlyc3QgYXJndW1lbnQuCi1UaGlzIGZ1bmN0aW9uIGlzIGNh
bGxlZCB3aXRoIHRoZSB0ZXN0IG9iamVjdCBhcyBib3RoIGl0cyBgdGhpc2Agb2JqZWN0IGFuZAot
Zmlyc3QgYXJndW1lbnQuIFRoZSBhYm92ZSBleGFtcGxlIGNhbiBiZSByZXdyaXR0ZW4gYXM6Ci0K
LWBgYGpzCi1hc3luY190ZXN0KGZ1bmN0aW9uKHQpIHsKLSAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0
ZW5lcigiRE9NQ29udGVudExvYWRlZCIsIGZ1bmN0aW9uKCkgewotICAgIHQuc3RlcChmdW5jdGlv
bigpIHsKLSAgICAgIGFzc2VydF90cnVlKGUuYnViYmxlcywgImJ1YmJsZXMgc2hvdWxkIGJlIHRy
dWUiKTsKLSAgICB9KTsKLSAgICB0LmRvbmUoKTsKLSAgfSk7Ci19LCAiRE9NQ29udGVudExvYWRl
ZCIpOwotYGBgCi0KLXdoaWNoIGF2b2lkcyBjbHV0dGVyaW5nIHRoZSBnbG9iYWwgc2NvcGUgd2l0
aCByZWZlcmVuY2VzIHRvIGFzeW5jCi10ZXN0cyBpbnN0YW5jZXMuCi0KLVRoZSBwcm9wZXJ0aWVz
IGFyZ3VtZW50IGlzIGlkZW50aWNhbCB0byB0aGF0IGZvciBgdGVzdCgpYC4KLQotSW4gbWFueSBj
YXNlcyBpdCBpcyBjb252ZW5pZW50IHRvIHJ1biBhIHN0ZXAgaW4gcmVzcG9uc2UgdG8gYW4gZXZl
bnQgb3IgYQotY2FsbGJhY2suIEEgY29udmVuaWVudCBtZXRob2Qgb2YgZG9pbmcgdGhpcyBpcyB0
aHJvdWdoIHRoZSBgc3RlcF9mdW5jYCBtZXRob2QKLXdoaWNoIHJldHVybnMgYSBmdW5jdGlvbiB0
aGF0LCB3aGVuIGNhbGxlZCBydW5zIGEgdGVzdCBzdGVwLiBGb3IgZXhhbXBsZQotCi1gYGBqcwot
ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsIHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKCkgewotICBhc3NlcnRfdHJ1ZShlLmJ1YmJsZXMsICJidWJibGVzIHNob3VsZCBi
ZSB0cnVlIik7Ci0gIHQuZG9uZSgpOwotfSk7Ci1gYGAKLQotQXMgYSBmdXJ0aGVyIGNvbnZlbmll
bmNlLCB0aGUgYHN0ZXBfZnVuY2AgdGhhdCBjYWxscyBgZG9uZSgpYCBjYW4gaW5zdGVhZAotdXNl
IGBzdGVwX2Z1bmNfZG9uZWAsIGFzIGZvbGxvd3M6Ci0KLWBgYGpzCi1kb2N1bWVudC5hZGRFdmVu
dExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIiwgdC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbigp
IHsKLSAgYXNzZXJ0X3RydWUoZS5idWJibGVzLCAiYnViYmxlcyBzaG91bGQgYmUgdHJ1ZSIpOwot
fSk7Ci1gYGAKLQotRm9yIGFzeW5jaHJvbm91cyBjYWxsYmFja3MgdGhhdCBzaG91bGQgbmV2ZXIg
ZXhlY3V0ZSwgYHVucmVhY2hlZF9mdW5jYCBjYW4KLWJlIHVzZWQuIEZvciBleGFtcGxlOgotCi1g
YGBqcwotZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoIkRPTUNvbnRl
bnRMb2FkZWQiLAotICB0LnVucmVhY2hlZF9mdW5jKCJET01Db250ZW50TG9hZGVkIHNob3VsZCBu
b3QgYmUgZmlyZWQgb24gdGhlIGRvY3VtZW50IGVsZW1lbnQiKSk7Ci1gYGAKLQotS2VlcCBpbiBt
aW5kIHRoYXQgb3RoZXIgdGVzdHMgY291bGQgc3RhcnQgZXhlY3V0aW5nIGJlZm9yZSBhbiBBc3lu
Y2hyb25vdXMKLVRlc3QgaXMgZmluaXNoZWQuCi0KLSMjIFByb21pc2UgVGVzdHMgIyMKLQotYHBy
b21pc2VfdGVzdGAgY2FuIGJlIHVzZWQgdG8gdGVzdCBBUElzIHRoYXQgYXJlIGJhc2VkIG9uIFBy
b21pc2VzOgotCi1gYGBqcwotcHJvbWlzZV90ZXN0KHRlc3RfZnVuY3Rpb24sIG5hbWUsIHByb3Bl
cnRpZXMpCi1gYGAKLQotYHRlc3RfZnVuY3Rpb25gIGlzIGEgZnVuY3Rpb24gdGhhdCByZWNlaXZl
cyBhIHRlc3QgYXMgYW4gYXJndW1lbnQgYW5kIHJldHVybnMgYQotcHJvbWlzZS4gVGhlIHRlc3Qg
Y29tcGxldGVzIHdoZW4gdGhlIHJldHVybmVkIHByb21pc2UgcmVzb2x2ZXMuIFRoZSB0ZXN0IGZh
aWxzCi1pZiB0aGUgcmV0dXJuZWQgcHJvbWlzZSByZWplY3RzLgotCi1FLmcuOgotCi1gYGBqcwot
ZnVuY3Rpb24gZm9vKCkgewotICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCJmb28iKTsKLX0KLQot
cHJvbWlzZV90ZXN0KGZ1bmN0aW9uKCkgewotICByZXR1cm4gZm9vKCkKLSAgICAudGhlbihmdW5j
dGlvbihyZXN1bHQpIHsKLSAgICAgIGFzc2VydF9lcXVhbHMocmVzdWx0LCAiZm9vIiwgImZvbyBz
aG91bGQgcmV0dXJuICdmb28nIik7Ci0gICAgfSk7Ci19LCAiU2ltcGxlIGV4YW1wbGUiKTsKLWBg
YAotCi1JbiB0aGUgZXhhbXBsZSBhYm92ZSwgYGZvbygpYCByZXR1cm5zIGEgUHJvbWlzZSB0aGF0
IHJlc29sdmVzIHdpdGggdGhlIHN0cmluZwotImZvbyIuIFRoZSBgdGVzdF9mdW5jdGlvbmAgcGFz
c2VkIGludG8gYHByb21pc2VfdGVzdGAgaW52b2tlcyBgZm9vYCBhbmQgYXR0YWNoZXMKLWEgcmVz
b2x2ZSByZWFjdGlvbiB0aGF0IHZlcmlmaWVzIHRoZSByZXR1cm5lZCB2YWx1ZS4KLQotTm90ZSB0
aGF0IGluIHRoZSBwcm9taXNlIGNoYWluIGNvbnN0cnVjdGVkIGluIGB0ZXN0X2Z1bmN0aW9uYCBh
c3NlcnRpb25zIGRvbid0Ci1uZWVkIHRvIHdyYXBwZWQgaW4gYHN0ZXBgIG9yIGBzdGVwX2Z1bmNg
IGNhbGxzLgotCi1Vbmxpa2UgQXN5bmNocm9ub3VzIFRlc3RzLCBQcm9taXNlIFRlc3RzIGRvbid0
IHN0YXJ0IHJ1bm5pbmcgdW50aWwgYWZ0ZXIgdGhlCi1wcmV2aW91cyBQcm9taXNlIFRlc3QgZmlu
aXNoZXMuCi0KLWBwcm9taXNlX3JlamVjdHNgIGNhbiBiZSB1c2VkIHRvIHRlc3QgUHJvbWlzZXMg
dGhhdCBuZWVkIHRvIHJlamVjdDoKLQotYGBganMKLXByb21pc2VfcmVqZWN0cyh0ZXN0X29iamVj
dCwgY29kZSwgcHJvbWlzZSwgZGVzY3JpcHRpb24pCi1gYGAKLQotVGhlIGBjb2RlYCBhcmd1bWVu
dCBpcyBlcXVpdmFsZW50IHRvIHRoZSBzYW1lIGFyZ3VtZW50IHRvIHRoZSBgYXNzZXJ0X3Rocm93
c2AKLWZ1bmN0aW9uLgotCi1IZXJlJ3MgYW4gZXhhbXBsZSB3aGVyZSB0aGUgYGJhcigpYCBmdW5j
dGlvbiByZXR1cm5zIGEgUHJvbWlzZSB0aGF0IHJlamVjdHMKLXdpdGggYSBUeXBlRXJyb3I6Ci0K
LWBgYGpzCi1mdW5jdGlvbiBiYXIoKSB7Ci0gIHJldHVybiBQcm9taXNlLnJlamVjdChuZXcgVHlw
ZUVycm9yKCkpOwotfQotCi1wcm9taXNlX3Rlc3QoZnVuY3Rpb24odCkgewotICByZXR1cm4gcHJv
bWlzZV9yZWplY3RzKHQsIG5ldyBUeXBlRXJyb3IoKSwgYmFyKCkpOwotfSwgIkFub3RoZXIgZXhh
bXBsZSIpOwotYGBgCi0KLWBFdmVudFdhdGNoZXJgIGlzIGEgY29uc3RydWN0b3IgZnVuY3Rpb24g
dGhhdCBhbGxvd3MgRE9NIGV2ZW50cyB0byBiZSBoYW5kbGVkCi11c2luZyBQcm9taXNlcywgd2hp
Y2ggY2FuIG1ha2UgaXQgYSBsb3QgZWFzaWVyIHRvIHRlc3QgYSB2ZXJ5IHNwZWNpZmljIHNlcmll
cwotb2YgZXZlbnRzLCBpbmNsdWRpbmcgZW5zdXJpbmcgdGhhdCB1bmV4cGVjdGVkIGV2ZW50cyBh
cmUgbm90IGZpcmVkIGF0IGFueSBwb2ludC4KLQotSGVyZSdzIGFuIGV4YW1wbGUgb2YgaG93IHRv
IHVzZSBgRXZlbnRXYXRjaGVyYDoKLQotYGBganMKLXZhciB0ID0gYXN5bmNfdGVzdCgiRXZlbnQg
b3JkZXIgb24gYW5pbWF0aW9uIHN0YXJ0Iik7Ci0KLXZhciBhbmltYXRpb24gPSB3YXRjaGVkTm9k
ZS5nZXRBbmltYXRpb25zKClbMF07Ci12YXIgZXZlbnRXYXRjaGVyID0gbmV3IEV2ZW50V2F0Y2hl
cih0LCB3YXRjaGVkTm9kZSwgWydhbmltYXRpb25zdGFydCcsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhbmltYXRpb25pdGVyYXRpb24nLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYW5p
bWF0aW9uZW5kJ10pOwotCi1ldmVudFdhdGNoZXIud2FpdF9mb3IoJ2FuaW1hdGlvbnN0YXJ0Jyku
dGhlbih0LnN0ZXBfZnVuYyhmdW5jdGlvbigpIHsKLSAgYXNzZXJ0RXhwZWN0ZWRTdGF0ZUF0U3Rh
cnRPZkFuaW1hdGlvbigpOwotICBhbmltYXRpb24uY3VycmVudFRpbWUgPSBFTkRfVElNRTsgLy8g
c2tpcCB0byBlbmQKLSAgLy8gV2UgZXhwZWN0IHR3byBhbmltYXRpb25pdGVyYXRpb24gZXZlbnRz
IHRoZW4gYW4gYW5pbWF0aW9uZW5kIGV2ZW50IG9uCi0gIC8vIHNraXBwaW5nIHRvIHRoZSBlbmQg
b2YgdGhlIGFuaW1hdGlvbi4KLSAgcmV0dXJuIGV2ZW50V2F0Y2hlci53YWl0X2ZvcihbJ2FuaW1h
dGlvbml0ZXJhdGlvbicsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhbmltYXRp
b25pdGVyYXRpb24nLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYW5pbWF0aW9u
ZW5kJ10pOwotfSkpLnRoZW4odC5zdGVwX2Z1bmMoZnVuY3Rpb24oKSB7Ci0gIGFzc2VydEV4cGVj
dGVkU3RhdGVBdEVuZE9mQW5pbWF0aW9uKCk7Ci0gIHQuZG9uZSgpOwotfSkpOwotYGBgCi0KLWB3
YWl0X2ZvcmAgZWl0aGVyIHRha2VzIHRoZSBuYW1lIG9mIGEgc2luZ2xlIGV2ZW50IGFuZCByZXR1
cm5zIGEgUHJvbWlzZSB0aGF0Ci13aWxsIHJlc29sdmUgYWZ0ZXIgdGhhdCBldmVudCBpcyBmaXJl
ZCBhdCB0aGUgd2F0Y2hlZCBub2RlLCBvciBlbHNlIGl0IHRha2VzIGFuCi1hcnJheSBvZiB0aGUg
bmFtZXMgb2YgYSBzZXJpZXMgb2YgZXZlbnRzIGFuZCByZXR1cm5zIGEgUHJvbWlzZSB0aGF0IHdp
bGwKLXJlc29sdmUgYWZ0ZXIgdGhhdCBzcGVjaWZpYyBzZXJpZXMgb2YgZXZlbnRzIGhhcyBiZWVu
IGZpcmVkIGF0IHRoZSB3YXRjaGVkIG5vZGUuCi0KLWBFdmVudFdhdGNoZXJgIHdpbGwgYXNzZXJ0
IGlmIGFuIGV2ZW50IG9jY3VycyB3aGlsZSB0aGVyZSBpcyBubyBgd2FpdF9mb3JgKCkKLWNyZWF0
ZWQgUHJvbWlzZSB3YWl0aW5nIHRvIGJlIGZ1bGZpbGxlZCwgb3IgaWYgdGhlIGV2ZW50IGlzIG9m
IGEgZGlmZmVyZW50IHR5cGUKLXRvIHRoZSB0eXBlIGN1cnJlbnRseSBleHBlY3RlZC4gVGhpcyBl
bnN1cmVzIHRoYXQgb25seSB0aGUgZXZlbnRzIHRoYXQgYXJlCi1leHBlY3RlZCBvY2N1ciwgaW4g
dGhlIGNvcnJlY3Qgb3JkZXIsIGFuZCB3aXRoIHRoZSBjb3JyZWN0IHRpbWluZy4KLQotIyMgU2lu
Z2xlIFBhZ2UgVGVzdHMgIyMKLQotU29tZXRpbWVzLCBwYXJ0aWN1bGFybHkgd2hlbiBkZWFsaW5n
IHdpdGggYXN5bmNocm9ub3VzIGJlaGF2aW91ciwKLWhhdmluZyBleGFjdGx5IG9uZSB0ZXN0IHBl
ciBwYWdlIGlzIGRlc2lyYWJsZSwgYW5kIHRoZSBvdmVyaGVhZCBvZgotd3JhcHBpbmcgZXZlcnl0
aGluZyBpbiBmdW5jdGlvbnMgZm9yIGlzb2xhdGlvbiBiZWNvbWVzCi1idXJkZW5zb21lLiBGb3Ig
dGhlc2UgY2FzZXMgYHRlc3RoYXJuZXNzLmpzYCBzdXBwb3J0ICJzaW5nbGUgcGFnZQotdGVzdHMi
LgotCi1JbiBvcmRlciBmb3IgYSB0ZXN0IHRvIGJlIGludGVycHJldGVkIGFzIGEgc2luZ2xlIHBh
Z2UgdGVzdCwgdGhlbgotaXQgbXVzdCBzaW1wbHkgbm90IGNhbGwgYHRlc3QoKWAgb3IgYGFzeW5j
X3Rlc3QoKWAgYW55d2hlcmUgb24gdGhlIHBhZ2UsIGFuZAotbXVzdCBjYWxsIHRoZSBgZG9uZSgp
YCBmdW5jdGlvbiB0byBpbmRpY2F0ZSB0aGF0IHRoZSB0ZXN0IGlzIGNvbXBsZXRlLiBBbGwKLXRo
ZSBgYXNzZXJ0XypgIGZ1bmN0aW9ucyBhcmUgYXZhbGlhYmxlIGFzIG5vcm1hbCwgYnV0IGFyZSBj
YWxsZWQgd2l0aG91dAotdGhlIG5vcm1hbCBzdGVwIGZ1bmN0aW9uIHdyYXBwZXIuIEZvciBleGFt
cGxlOgotCi1gYGBodG1sCi08IWRvY3R5cGUgaHRtbD4KLTx0aXRsZT5CYXNpYyBkb2N1bWVudC5i
b2R5IHRlc3Q8L3RpdGxlPgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
Pjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgotPGJvZHk+Ci0gIDxzY3JpcHQ+Ci0gICAgYXNzZXJ0X2VxdWFscyhkb2N1bWVu
dC5ib2R5LCBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiYm9keSIpWzBdKQotICAgIGRv
bmUoKQotIDwvc2NyaXB0PgotYGBgCi0KLVRoZSB0ZXN0IHRpdGxlIGZvciBzaW5nbGUgcGFnZSB0
ZXN0cyBpcyBhbHdheXMgdGFrZW4gZnJvbSBgZG9jdW1lbnQudGl0bGVgLgotCi0jIyBNYWtpbmcg
YXNzZXJ0aW9ucyAjIwotCi1GdW5jdGlvbnMgZm9yIG1ha2luZyBhc3NlcnRpb25zIHN0YXJ0IGBh
c3NlcnRfYC4gVGhlIGZ1bGwgbGlzdCBvZgotYXNzZXJ0cyBhdmFsaWFibGUgaXMgZG9jdW1lbnRl
ZCBpbiB0aGUgW2Fzc2VydHNdKCNsaXN0LW9mLWFzc2VydGlvbnMpIHNlY3Rpb24KLWJlbG93LiBU
aGUgZ2VuZXJhbCBzaWduYXR1cmUgaXMKLQotYGBganMKLWFzc2VydF9zb21ldGhpbmcoYWN0dWFs
LCBleHBlY3RlZCwgZGVzY3JpcHRpb24pCi1gYGAKLQotYWx0aG91Z2ggbm90IGFsbCBhc3NlcnRp
b25zIHByZWNpc2VseSBtYXRjaCB0aGlzIHBhdHRlcm4gZS5nLiBgYXNzZXJ0X3RydWVgCi1vbmx5
IHRha2VzIGBhY3R1YWxgIGFuZCBgZGVzY3JpcHRpb25gIGFzIGFyZ3VtZW50cy4KLQotVGhlIGRl
c2NyaXB0aW9uIHBhcmFtZXRlciBpcyB1c2VkIHRvIHByZXNlbnQgbW9yZSB1c2VmdWwgZXJyb3Ig
bWVzc2FnZXMgd2hlbgotYSB0ZXN0IGZhaWxzCi0KLU5PVEU6IEFsbCBhc3NlcnRzIG11c3QgYmUg
bG9jYXRlZCBpbiBhIGB0ZXN0KClgIG9yIGEgc3RlcCBvZiBhbgotYGFzeW5jX3Rlc3QoKWAsIHVu
bGVzcyB0aGUgdGVzdCBpcyBhIHNpbmdsZSBwYWdlIHRlc3QuIEFzc2VydHMgb3V0c2lkZQotdGhl
c2UgcGxhY2VzIHdvbid0IGJlIGRldGVjdGVkIGNvcnJlY3RseSBieSB0aGUgaGFybmVzcyBhbmQg
bWF5IGNhdXNlCi11bmV4cGVjdGVkIGV4Y2VwdGlvbnMgdGhhdCB3aWxsIGxlYWQgdG8gYW4gZXJy
b3IgaW4gdGhlIGhhcm5lc3MuCi0KLSMjIENsZWFudXAgIyMKLQotT2NjYXNpb25hbGx5IHRlc3Rz
IG1heSBjcmVhdGUgc3RhdGUgdGhhdCB3aWxsIHBlcnNpc3QgYmV5b25kIHRoZSB0ZXN0IGl0c2Vs
Zi4KLUluIG9yZGVyIHRvIGVuc3VyZSB0aGF0IHRlc3RzIGFyZSBpbmRlcGVuZGVudCwgc3VjaCBz
dGF0ZSBzaG91bGQgYmUgY2xlYW5lZAotdXAgb25jZSB0aGUgdGVzdCBoYXMgYSByZXN1bHQuIFRo
aXMgY2FuIGJlIGFjaGlldmVkIGJ5IGFkZGluZyBjbGVhbnVwCi1jYWxsYmFja3MgdG8gdGhlIHRl
c3QuIFN1Y2ggY2FsbGJhY2tzIGFyZSByZWdpc3RlcmVkIHVzaW5nIHRoZSBgYWRkX2NsZWFudXBg
Ci1mdW5jdGlvbiBvbiB0aGUgdGVzdCBvYmplY3QuIEFsbCByZWdpc3RlcmVkIGNhbGxiYWNrcyB3
aWxsIGJlIHJ1biBhcyBzb29uIGFzCi10aGUgdGVzdCByZXN1bHQgaXMga25vd24uIEZvciBleGFt
cGxlCi0KLWBgYGpzCi0gIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgdmFyIGVsZW1lbnQgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKLSAgICBlbGVtZW50LnNldEF0dHJpYnV0ZSgiaWQi
LCAibnVsbCIpOwotICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZWxlbWVudCk7Ci0gICAg
dGhpcy5hZGRfY2xlYW51cChmdW5jdGlvbigpIHsgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChl
bGVtZW50KSB9KTsKLSAgICBhc3NlcnRfZXF1YWxzKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKG51
bGwpLCBlbGVtZW50KTsKLSAgfSwgIkNhbGxpbmcgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQgd2l0
aCBhIG51bGwgYXJndW1lbnQuIik7Ci1gYGAKLQotIyMgVGltZW91dHMgaW4gVGVzdHMgIyMKLQot
SW4gZ2VuZXJhbCB0aGUgdXNlIG9mIHRpbWVvdXRzIGluIHRlc3RzIGlzIGRpc2NvdXJhZ2VkIGJl
Y2F1c2UgdGhpcyBpcwotYW4gb2JzZXJ2ZWQgc291cmNlIG9mIGluc3RhYmlsaXR5IGluIHJlYWwg
dGVzdHMgd2hlbiBydW4gb24gQ0kKLWluZnJhc3RydWN0dXJlLiBJbiBwYXJ0aWN1bGFyIGlmIGEg
dGVzdCBzaG91bGQgZmFpbCB3aGVuIHNvbWV0aGluZwotZG9lc24ndCBoYXBwZW4sIGl0IGlzIGdv
b2QgcHJhY3RpY2UgdG8gc2ltcGx5IGxldCB0aGUgdGVzdCBydW4gdG8gdGhlCi1mdWxsIHRpbWVv
dXQgcmF0aGVyIHRoYW4gdHJ5aW5nIHRvIGd1ZXNzIGFuIGFwcHJvcHJpYXRlIHNob3J0ZXIKLXRp
bWVvdXQgdG8gdXNlLgotCi1JbiBvdGhlciBjYXNlcyBpdCBtYXkgYmUgbmVjZXNzYXJ5IHRvIHVz
ZSBhIHRpbWVvdXQgKGUuZy4sIGZvciBhIHRlc3QKLXRoYXQgb25seSBwYXNzZXMgaWYgc29tZSBl
dmVudCBpcyAqbm90KiBmaXJlZCkuIEluIHRoaXMgY2FzZSBpdCBpcwotKm5vdCogcGVybWl0dGVk
IHRvIHVzZSB0aGUgc3RhbmRhcmQgYHNldFRpbWVvdXRgIGZ1bmN0aW9uLiBJbnN0ZWFkIG9uZQot
bXVzdCB1c2UgdGhlIGBzdGVwX3RpbWVvdXRgIGZ1bmN0aW9uOgotCi1gYGBqcwotYXN5bmNfdGVz
dChmdW5jdGlvbih0KSB7Ci0gIHZhciBnb3RFdmVudCA9IGZhbHNlOwotICBkb2N1bWVudC5hZGRF
dmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIiwgdC5zdGVwX2Z1bmMoZnVuY3Rpb24oKSB7
Ci0gICAgYXNzZXJ0X2ZhbHNlKGdvdEV2ZW50LCAiVW5leHBlY3RlZCBET01Db250ZW50TG9hZGVk
IGV2ZW50Iik7Ci0gICAgZ290RXZlbnQgPSB0cnVlOwotICAgIHQuc3RlcF90aW1lb3V0KGZ1bmN0
aW9uKCkgeyB0LmRvbmUoKTsgfSwgMjAwMCk7Ci0gIH0pOwotfSwgIk9ubHkgb25lIERPTUNvbnRl
bnRMb2FkZWQiKTsKLWBgYAotCi1UaGUgZGlmZmVyZW5jZSBiZXR3ZWVuIGBzZXRUaW1lb3V0YCBh
bmQgYHN0ZXBfdGltZW91dGAgaXMgdGhhdCB0aGUKLWxhdHRlciB0YWtlcyBhY2NvdW50IG9mIHRo
ZSB0aW1lb3V0IG11bHRpcGxpZXIgd2hlbiBjb21wdXRpbmcgdGhlCi1kZWxheTsgZS5nLiwgaW4g
dGhlIGFib3ZlIGNhc2UgYSB0aW1lb3V0IG11bHRpcGxpZXIgb2YgMiB3b3VsZCBjYXVzZSBhCi1w
YXVzZSBvZiA0MDAwbXMgYmVmb3JlIGNhbGxpbmcgdGhlIGNhbGxiYWNrLiBUaGlzIG1ha2VzIGl0
IGxlc3MgbGlrZWx5Ci10byBwcm9kdWNlIHVuc3RhYmxlIHJlc3VsdHMgaW4gc2xvdyBjb25maWd1
cmF0aW9ucy4KLQotTm90ZSB0aGF0IHRpbWVvdXRzIGdlbmVyYWxseSBuZWVkIHRvIGJlIGEgZmV3
IHNlY29uZHMgbG9uZyBpbiBvcmRlciB0bwotcHJvZHVjZSBzdGFibGUgcmVzdWx0cyBpbiBhbGwg
dGVzdCBlbnZpcm9ubWVudHMuCi0KLUZvciBzaW5nbGUtcGFnZSB0ZXN0cywgYHN0ZXBfdGltZW91
dGAgaXMgYWxzbyBhdmFpbGFibGUgYXMgYSBnbG9iYWwKLWZ1bmN0aW9uLgotCi0jIyBIYXJuZXNz
IFRpbWVvdXQgIyMKLQotVGhlIG92ZXJhbGwgaGFybmVzcyBhZG1pdHMgdHdvIHRpbWVvdXQgdmFs
dWVzIGAibm9ybWFsImAgKHRoZQotZGVmYXVsdCkgYW5kIGAibG9uZyJgLCB1c2VkIGZvciB0ZXN0
cyB3aGljaCBoYXZlIGFuIHVudXN1YWxseSBsb25nCi1ydW50aW1lLiBBZnRlciB0aGUgdGltZW91
dCBpcyByZWFjaGVkLCB0aGUgaGFybmVzcyB3aWxsIHN0b3AKLXdhaXRpbmcgZm9yIGZ1cnRoZXIg
YXN5bmMgdGVzdHMgdG8gY29tcGxldGUuIEJ5IGRlZmF1bHQgdGhlCi10aW1lb3V0cyBhcmUgc2V0
IHRvIDEwcyBhbmQgNjBzLCByZXNwZWN0aXZlbHksIGJ1dCBtYXkgYmUgY2hhbmdlZAotd2hlbiB0
aGUgdGVzdCBpcyBydW4gb24gaGFyZHdhcmUgd2l0aCBkaWZmZXJlbnQgcGVyZm9ybWFuY2UKLWNo
YXJhY3RlcmlzdGljcyB0byBhIGNvbW1vbiBkZXNrdG9wIGNvbXB1dGVyLiAgSW4gb3JkZXIgdG8g
b3B0LWluCi10byB0aGUgbG9uZ2VyIHRlc3QgdGltZW91dCwgdGhlIHRlc3QgbXVzdCBzcGVjaWZ5
IGEgbWV0YSBlbGVtZW50OgotCi1gYGBodG1sCi08bWV0YSBuYW1lPSJ0aW1lb3V0IiBjb250ZW50
PSJsb25nIj4KLWBgYAotCi1PY2Nhc2lvbmFsbHkgdGVzdHMgbWF5IGhhdmUgYSByYWNlIGJldHdl
ZW4gdGhlIGhhcm5lc3MgdGltaW5nIG91dCBhbmQKLWEgcGFydGljdWxhciB0ZXN0IGZhaWxpbmc7
IHR5cGljYWxseSB3aGVuIHRoZSB0ZXN0IHdhaXRzIGZvciBzb21lIGV2ZW50Ci10aGF0IG5ldmVy
IG9jY3Vycy4gSW4gdGhpcyBjYXNlIGl0IGlzIHBvc3NpYmxlIHRvIHVzZSBgdGVzdC5mb3JjZV90
aW1lb3V0KClgCi1pbiBwbGFjZSBvZiBgYXNzZXJ0X3VucmVhY2hlZCgpYCwgdG8gaW1tZWRpYXRl
bHkgZmFpbCB0aGUgdGVzdCBidXQgd2l0aCBhCi1zdGF0dXMgb2YgYFRJTUVPVVRgLiBUaGlzIHNo
b3VsZCBvbmx5IGJlIHVzZWQgYXMgYSBsYXN0IHJlc29ydCB3aGVuIGl0IGlzCi1ub3QgcG9zc2li
bGUgdG8gbWFrZSB0aGUgdGVzdCByZWxpYWJsZSBpbiBzb21lIG90aGVyIHdheS4KLQotIyMgU2V0
dXAgIyMKLQotU29tZXRpbWVzIHRlc3RzIHJlcXVpcmUgbm9uLXRyaXZpYWwgc2V0dXAgdGhhdCBt
YXkgZmFpbC4gRm9yIHRoaXMgcHVycG9zZQotdGhlcmUgaXMgYSBgc2V0dXAoKWAgZnVuY3Rpb24s
IHRoYXQgbWF5IGJlIGNhbGxlZCB3aXRoIG9uZSBvciB0d28gYXJndW1lbnRzLgotVGhlIHR3byBh
cmd1bWVudCB2ZXJzaW9uIGlzOgotCi1gYGBqcwotc2V0dXAoZnVuYywgcHJvcGVydGllcykKLWBg
YAotCi1UaGUgb25lIGFyZ3VtZW50IHZlcnNpb25zIG1heSBvbWl0IGVpdGhlciBhcmd1bWVudC4K
LWZ1bmMgaXMgYSBmdW5jdGlvbiB0byBiZSBydW4gc3luY2hyb25vdXNseS4gYHNldHVwKClgIGJl
Y29tZXMgYSBuby1vcCBvbmNlCi1hbnkgdGVzdHMgaGF2ZSByZXR1cm5lZCByZXN1bHRzLiBQcm9w
ZXJ0aWVzIGFyZSBnbG9iYWwgcHJvcGVydGllcyBvZiB0aGUgdGVzdAotaGFybmVzcy4gQ3VycmVu
dGx5IHJlY29nbmlzZWQgcHJvcGVydGllcyBhcmU6Ci0KLWBleHBsaWNpdF9kb25lYCAtIFdhaXQg
Zm9yIGFuIGV4cGxpY2l0IGNhbGwgdG8gZG9uZSgpIGJlZm9yZSBkZWNsYXJpbmcgYWxsCi10ZXN0
cyBjb21wbGV0ZSAoc2VlIGJlbG93OyBpbXBsaWNpdGx5IHRydWUgZm9yIHNpbmdsZSBwYWdlIHRl
c3RzKQotCi1gb3V0cHV0X2RvY3VtZW50YCAtIFRoZSBkb2N1bWVudCB0byB3aGljaCByZXN1bHRz
IHNob3VsZCBiZSBsb2dnZWQuIEJ5IGRlZmF1bHQKLXRoaXMgaXMgdGhlIGN1cnJlbnQgZG9jdW1l
bnQgYnV0IGNvdWxkIGJlIGFuIGFuY2VzdG9yIGRvY3VtZW50IGluIHNvbWUgY2FzZXMKLWUuZy4g
YSBTVkcgdGVzdCBsb2FkZWQgaW4gYW4gSFRNTCB3cmFwcGVyCi0KLWBleHBsaWNpdF90aW1lb3V0
YCAtIGRpc2FibGUgZmlsZSB0aW1lb3V0OyBvbmx5IHN0b3Agd2FpdGluZyBmb3IgcmVzdWx0cwot
d2hlbiB0aGUgYHRpbWVvdXQoKWAgZnVuY3Rpb24gaXMgY2FsbGVkICh0eXBpY2FsbHkgZm9yIHVz
ZSB3aGVuIGludGVncmF0aW5nCi13aXRoIHNvbWUgZXhpc3RpbmcgdGVzdCBmcmFtZXdvcmsgdGhh
dCBoYXMgaXRzIG93biB0aW1lb3V0IG1lY2hhbmlzbSkuCi0KLWBhbGxvd191bmNhdWdodF9leGNl
cHRpb25gIC0gZG9uJ3QgdHJlYXQgYW4gdW5jYXVnaHQgZXhjZXB0aW9uIGFzIGFuIGVycm9yOwot
bmVlZGVkIHdoZW4gZS5nLiB0ZXN0aW5nIHRoZSBgd2luZG93Lm9uZXJyb3JgIGhhbmRsZXIuCi0K
LWB0aW1lb3V0X211bHRpcGxpZXJgIC0gTXVsdGlwbGllciB0byBhcHBseSB0byBwZXItdGVzdCB0
aW1lb3V0cy4KLQotIyMgRGV0ZXJtaW5pbmcgd2hlbiBhbGwgdGVzdHMgYXJlIGNvbXBsZXRlICMj
Ci0KLUJ5IGRlZmF1bHQgdGhlIHRlc3QgaGFybmVzcyB3aWxsIGFzc3VtZSB0aGVyZSBhcmUgbm8g
bW9yZSByZXN1bHRzIHRvIGNvbWUKLXdoZW46Ci0KLSAxLiBUaGVyZSBhcmUgbm8gYFRlc3RgIG9i
amVjdHMgdGhhdCBoYXZlIGJlZW4gY3JlYXRlZCBidXQgbm90IGNvbXBsZXRlZAotIDIuIFRoZSBs
b2FkIGV2ZW50IG9uIHRoZSBkb2N1bWVudCBoYXMgZmlyZWQKLQotVGhpcyBiZWhhdmlvdXIgY2Fu
IGJlIG92ZXJyaWRkZW4gYnkgc2V0dGluZyB0aGUgYGV4cGxpY2l0X2RvbmVgIHByb3BlcnR5IHRv
Ci10cnVlIGluIGEgY2FsbCB0byBgc2V0dXAoKWAuIElmIGBleHBsaWNpdF9kb25lYCBpcyB0cnVl
LCB0aGUgdGVzdCBoYXJuZXNzIHdpbGwKLW5vdCBhc3N1bWUgaXQgaXMgZG9uZSB1bnRpbCB0aGUg
Z2xvYmFsIGBkb25lKClgIGZ1bmN0aW9uIGlzIGNhbGxlZC4gT25jZSBgZG9uZSgpYAotaXMgY2Fs
bGVkLCB0aGUgdHdvIGNvbmRpdGlvbnMgYWJvdmUgYXBwbHkgbGlrZSBub3JtYWwuCi0KLURlZGlj
YXRlZCBhbmQgc2hhcmVkIHdvcmtlcnMgZG9uJ3QgaGF2ZSBhbiBldmVudCB0aGF0IGNvcnJlc3Bv
bmRzIHRvIHRoZSBgbG9hZGAKLWV2ZW50IGluIGEgZG9jdW1lbnQuIFRoZXJlZm9yZSB0aGVzZSB3
b3JrZXIgdGVzdHMgYWx3YXlzIGJlaGF2ZSBhcyBpZiB0aGUKLWBleHBsaWNpdF9kb25lYCBwcm9w
ZXJ0eSBpcyBzZXQgdG8gdHJ1ZS4gU2VydmljZSB3b3JrZXJzIGRlcGVuZCBvbiB0aGUKLVtpbnN0
YWxsXShodHRwczovL3NsaWdodGx5b2ZmLmdpdGh1Yi5pby9TZXJ2aWNlV29ya2VyL3NwZWMvc2Vy
dmljZV93b3JrZXIvaW5kZXguaHRtbCNzZXJ2aWNlLXdvcmtlci1nbG9iYWwtc2NvcGUtaW5zdGFs
bC1ldmVudCkKLWV2ZW50IHdoaWNoIGlzIGZpcmVkIGZvbGxvd2luZyB0aGUgY29tcGxldGlvbiBv
ZiBbcnVubmluZyB0aGUKLXdvcmtlcl0oaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0
aXBhZ2Uvd29ya2Vycy5odG1sI3J1bi1hLXdvcmtlcikuCi0KLSMjIEdlbmVyYXRpbmcgdGVzdHMg
IyMKLQotVGhlcmUgYXJlIHNjZW5hcmlvcyBpbiB3aGljaCBpcyBpcyBkZXNpcmFibGUgdG8gY3Jl
YXRlIGEgbGFyZ2UgbnVtYmVyIG9mCi0oc3luY2hyb25vdXMpIHRlc3RzIHRoYXQgYXJlIGludGVy
bmFsbHkgc2ltaWxhciBidXQgdmFyeSBpbiB0aGUgcGFyYW1ldGVycwotdXNlZC4gVG8gbWFrZSB0
aGlzIGVhc2llciwgdGhlIGBnZW5lcmF0ZV90ZXN0c2AgZnVuY3Rpb24gYWxsb3dzIGEgc2luZ2xl
Ci1mdW5jdGlvbiB0byBiZSBjYWxsZWQgd2l0aCBlYWNoIHNldCBvZiBwYXJhbWV0ZXJzIGluIGEg
bGlzdDoKLQotYGBganMKLWdlbmVyYXRlX3Rlc3RzKHRlc3RfZnVuY3Rpb24sIHBhcmFtZXRlcl9s
aXN0cywgcHJvcGVydGllcykKLWBgYAotCi1Gb3IgZXhhbXBsZToKLQotYGBganMKLWdlbmVyYXRl
X3Rlc3RzKGFzc2VydF9lcXVhbHMsIFsKLSAgICBbIlN1bSBvbmUgYW5kIG9uZSIsIDErMSwgMl0s
Ci0gICAgWyJTdW0gb25lIGFuZCB6ZXJvIiwgMSswLCAxXQotICAgIF0pCi1gYGAKLQotSXMgZXF1
aXZhbGVudCB0bzoKLQotYGBganMKLXRlc3QoZnVuY3Rpb24oKSB7YXNzZXJ0X2VxdWFscygxKzEs
IDIpfSwgIlN1bSBvbmUgYW5kIG9uZSIpCi10ZXN0KGZ1bmN0aW9uKCkge2Fzc2VydF9lcXVhbHMo
MSswLCAxKX0sICJTdW0gb25lIGFuZCB6ZXJvIikKLWBgYAotCi1Ob3RlIHRoYXQgdGhlIGZpcnN0
IGl0ZW0gaW4gZWFjaCBwYXJhbWV0ZXIgbGlzdCBjb3JyZXNwb25kcyB0byB0aGUgbmFtZSBvZgot
dGhlIHRlc3QuCi0KLVRoZSBwcm9wZXJ0aWVzIGFyZ3VtZW50IGlzIGlkZW50aWNhbCB0byB0aGF0
IGZvciBgdGVzdCgpYC4gVGhpcyBtYXkgYmUgYQotc2luZ2xlIG9iamVjdCAodXNlZCBmb3IgYWxs
IGdlbmVyYXRlZCB0ZXN0cykgb3IgYW4gYXJyYXkuCi0KLSMjIENhbGxiYWNrIEFQSSAjIwotCi1U
aGUgZnJhbWV3b3JrIHByb3ZpZGVzIGNhbGxiYWNrcyBjb3JyZXNwb25kaW5nIHRvIDQgZXZlbnRz
OgotCi0gKiBgc3RhcnRgIC0gdHJpZ2dlcmVkIHdoZW4gdGhlIGZpcnN0IFRlc3QgaXMgY3JlYXRl
ZAotICogYHRlc3Rfc3RhdGVgIC0gdHJpZ2dlcmVkIHdoZW4gYSB0ZXN0IHN0YXRlIGNoYW5nZXMK
LSAqIGByZXN1bHRgIC0gdHJpZ2dlcmVkIHdoZW4gYSB0ZXN0IHJlc3VsdCBpcyByZWNlaXZlZAot
ICogYGNvbXBsZXRlYCAtIHRyaWdnZXJlZCB3aGVuIGFsbCByZXN1bHRzIGFyZSByZWNlaXZlZAot
Ci1UaGUgcGFnZSBkZWZpbmluZyB0aGUgdGVzdHMgbWF5IGFkZCBjYWxsYmFja3MgZm9yIHRoZXNl
IGV2ZW50cyBieSBjYWxsaW5nCi10aGUgZm9sbG93aW5nIG1ldGhvZHM6Ci0KLSAgYGFkZF9zdGFy
dF9jYWxsYmFjayhjYWxsYmFjaylgIC0gY2FsbGJhY2sgY2FsbGVkIHdpdGggbm8gYXJndW1lbnRz
Ci0KLSAgYGFkZF90ZXN0X3N0YXRlX2NhbGxiYWNrKGNhbGxiYWNrKWAgLSBjYWxsYmFjayBjYWxs
ZWQgd2l0aCBhIHRlc3QgYXJndW1lbnQKLQotICBgYWRkX3Jlc3VsdF9jYWxsYmFjayhjYWxsYmFj
aylgIC0gY2FsbGJhY2sgY2FsbGVkIHdpdGggYSB0ZXN0IGFyZ3VtZW50Ci0KLSAgYGFkZF9jb21w
bGV0aW9uX2NhbGxiYWNrKGNhbGxiYWNrKWAgLSBjYWxsYmFjayBjYWxsZWQgd2l0aCBhbiBhcnJh
eSBvZiB0ZXN0cwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCBh
IHN0YXR1cyBvYmplY3QKLQotVGVzdHMgaGF2ZSB0aGUgZm9sbG93aW5nIHByb3BlcnRpZXM6Ci0K
LSAgKiBgc3RhdHVzYCAtIEEgc3RhdHVzIGNvZGUuIFRoaXMgY2FuIGJlIGNvbXBhcmVkIHRvIHRo
ZSBgUEFTU2AsIGBGQUlMYCwKLSAgICAgICAgICAgICAgIGBUSU1FT1VUYCBhbmQgYE5PVFJVTmAg
cHJvcGVydGllcyBvbiB0aGUgdGVzdCBvYmplY3QKLQotICAqIGBtZXNzYWdlYCAtIEEgbWVzc2Fn
ZSBpbmRpY2F0aW5nIHRoZSByZWFzb24gZm9yIGZhaWx1cmUuIEluIHRoZSBmdXR1cmUgdGhpcwot
ICAgICAgICAgICAgICAgIHdpbGwgYWx3YXlzIGJlIGEgc3RyaW5nCi0KLSBUaGUgc3RhdHVzIG9i
amVjdCBnaXZlcyB0aGUgb3ZlcmFsbCBzdGF0dXMgb2YgdGhlIGhhcm5lc3MuIEl0IGhhcyB0aGUK
LSBmb2xsb3dpbmcgcHJvcGVydGllczoKLQotICogYHN0YXR1c2AgLSBDYW4gYmUgY29tcGFyZWQg
dG8gdGhlIGBPS2AsIGBFUlJPUmAgYW5kIGBUSU1FT1VUYCBwcm9wZXJ0aWVzCi0KLSAqIGBtZXNz
YWdlYCAtIEFuIGVycm9yIG1lc3NhZ2Ugc2V0IHdoZW4gdGhlIHN0YXR1cyBpcyBgRVJST1JgCi0K
LSMjIEV4dGVybmFsIEFQSSAjIwotCi1JbiBvcmRlciB0byBjb2xsZWN0IHRoZSByZXN1bHRzIG9m
IG11bHRpcGxlIHBhZ2VzIGNvbnRhaW5pbmcgdGVzdHMsIHRoZSB0ZXN0Ci1oYXJuZXNzIHdpbGws
IHdoZW4gbG9hZGVkIGluIGEgbmVzdGVkIGJyb3dzaW5nIGNvbnRleHQsIGF0dGVtcHQgdG8gY2Fs
bAotY2VydGFpbiBmdW5jdGlvbnMgaW4gZWFjaCBhbmNlc3RvciBhbmQgb3BlbmVyIGJyb3dzaW5n
IGNvbnRleHQ6Ci0KLSAqIHN0YXJ0IC0gYHN0YXJ0X2NhbGxiYWNrYAotICogdGVzdFxfc3RhdGUg
LSBgdGVzdF9zdGF0ZV9jYWxsYmFja2AKLSAqIHJlc3VsdCAtIGByZXN1bHRfY2FsbGJhY2tgCi0g
KiBjb21wbGV0ZSAtIGBjb21wbGV0aW9uX2NhbGxiYWNrYAotCi1UaGVzZSBhcmUgZ2l2ZW4gdGhl
IHNhbWUgYXJndW1lbnRzIGFzIHRoZSBjb3JyZXNwb25kaW5nIGludGVybmFsIGNhbGxiYWNrcwot
ZGVzY3JpYmVkIGFib3ZlLgotCi0jIyBFeHRlcm5hbCBBUEkgdGhyb3VnaCBjcm9zcy1kb2N1bWVu
dCBtZXNzYWdpbmcgIyMKLQotV2hlcmUgc3VwcG9ydGVkLCB0aGUgdGVzdCBoYXJuZXNzIHdpbGwg
YWxzbyBzZW5kIG1lc3NhZ2VzIHVzaW5nIGNyb3NzLWRvY3VtZW50Ci1tZXNzYWdpbmcgdG8gZWFj
aCBhbmNlc3RvciBhbmQgb3BlbmVyIGJyb3dzaW5nIGNvbnRleHQuIFNpbmNlIGl0IHVzZXMgdGhl
Ci13aWxkY2FyZCBrZXl3b3JkIChcKiksIGNyb3NzLW9yaWdpbiBjb21tdW5pY2F0aW9uIGlzIGVu
YWJsZWQgYW5kIHNjcmlwdCBvbgotZGlmZmVyZW50IG9yaWdpbnMgY2FuIGNvbGxlY3QgdGhlIHJl
c3VsdHMuCi0KLVRoaXMgQVBJIGZvbGxvd3Mgc2ltaWxhciBjb252ZW50aW9ucyBhcyB0aG9zZSBk
ZXNjcmliZWQgYWJvdmUgb25seSBzbGlnaHRseQotbW9kaWZpZWQgdG8gYWNjb21tb2RhdGUgbWVz
c2FnZSBldmVudCBBUEkuIEVhY2ggbWVzc2FnZSBpcyBzZW50IGJ5IHRoZSBoYXJuZXNzCi1pcyBw
YXNzZWQgYSBzaW5nbGUgdmFuaWxsYSBvYmplY3QsIGF2YWlsYWJsZSBhcyB0aGUgYGRhdGFgIHBy
b3BlcnR5IG9mIHRoZSBldmVudAotb2JqZWN0LiBUaGVzZSBvYmplY3RzIGFyZSBzdHJ1Y3R1cmVk
IGFzIGZvbGxvd3M6Ci0KLSAqIHN0YXJ0IC0gYHsgdHlwZTogInN0YXJ0IiB9YAotICogdGVzdFxf
c3RhdGUgLSBgeyB0eXBlOiAidGVzdF9zdGF0ZSIsIHRlc3Q6IFRlc3QgfWAKLSAqIHJlc3VsdCAt
IGB7IHR5cGU6ICJyZXN1bHQiLCB0ZXN0OiBUZXN0IH1gCi0gKiBjb21wbGV0ZSAtIGB7IHR5cGU6
ICJjb21wbGV0ZSIsIHRlc3RzOiBbVGVzdCwgLi4uXSwgc3RhdHVzOiBUZXN0c1N0YXR1cyB9YAot
Ci0jIyBXZWIgV29ya2VycyAjIwotCi1UaGUgYHRlc3RoYXJuZXNzLmpzYCBzY3JpcHQgY2FuIGJl
IHVzZWQgZnJvbSB3aXRoaW4gW2RlZGljYXRlZCB3b3JrZXJzLCBzaGFyZWQKLXdvcmtlcnNdKGh0
dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL3dvcmtlcnMuaHRtbCkgYW5kIFtz
ZXJ2aWNlCi13b3JrZXJzXShodHRwczovL3NsaWdodGx5b2ZmLmdpdGh1Yi5pby9TZXJ2aWNlV29y
a2VyL3NwZWMvc2VydmljZV93b3JrZXIvKS4KLQotVGVzdGluZyBmcm9tIGEgd29ya2VyIHNjcmlw
dCBpcyBkaWZmZXJlbnQgZnJvbSB0ZXN0aW5nIGZyb20gYW4gSFRNTCBkb2N1bWVudCBpbgotc2V2
ZXJhbCB3YXlzOgotCi0qIFdvcmtlcnMgaGF2ZSBubyByZXBvcnRpbmcgY2FwYWJpbGl0eSBzaW5j
ZSB0aGV5IGFyZSBydW5pbmcgaW4gdGhlIGJhY2tncm91bmQuCi0gIEhlbmNlIHRoZXkgcmVseSBv
biBgdGVzdGhhcm5lc3MuanNgIHJ1bm5pbmcgaW4gYSBjb21wYW5pb24gY2xpZW50IEhUTUwgZG9j
dW1lbnQKLSAgZm9yIHJlcG9ydGluZy4KLQotKiBTaGFyZWQgYW5kIHNlcnZpY2Ugd29ya2VycyBk
byBub3QgaGF2ZSBhIHVuaXF1ZSBjbGllbnQgZG9jdW1lbnQgc2luY2UgdGhlcmUKLSAgY291bGQg
YmUgbW9yZSB0aGFuIG9uZSBkb2N1bWVudCB0aGF0IGNvbW11bmljYXRlcyB3aXRoIHRoZXNlIHdv
cmtlcnMuIFNvIGEKLSAgY2xpZW50IGRvY3VtZW50IG5lZWRzIHRvIGV4cGxpY2l0bHkgY29ubmVj
dCB0byBhIHdvcmtlciBhbmQgZmV0Y2ggdGVzdCByZXN1bHRzCi0gIGZyb20gaXQgdXNpbmcgYGZl
dGNoX3Rlc3RzX2Zyb21fd29ya2VyYC4gVGhpcyBpcyB0cnVlIGV2ZW4gZm9yIGEgZGVkaWNhdGVk
Ci0gIHdvcmtlci4gT25jZSBjb25uZWN0ZWQsIHRoZSBpbmRpdmlkdWFsIHRlc3RzIHJ1bm5pbmcg
aW4gdGhlIHdvcmtlciAob3IgdGhvc2UKLSAgdGhhdCBoYXZlIGFscmVhZHkgcnVuIHRvIGNvbXBs
ZXRpb24pIHdpbGwgYmUgYXV0b21hdGljYWxseSByZWZsZWN0ZWQgaW4gdGhlCi0gIGNsaWVudCBk
b2N1bWVudC4KLQotKiBUaGUgY2xpZW50IGRvY3VtZW50IGNvbnRyb2xzIHRoZSB0aW1lb3V0IG9m
IHRoZSB0ZXN0cy4gQWxsIHdvcmtlciBzY3JpcHRzIGFjdAotICBhcyBpZiB0aGV5IHdlcmUgc3Rh
cnRlZCB3aXRoIHRoZSBgZXhwbGljaXRfdGltZW91dGAgb3B0aW9uIChzZWUgdGhlIFtIYXJuZXNz
Ci0gIHRpbWVvdXRdKCNoYXJuZXNzLXRpbWVvdXQpIHNlY3Rpb24pLgotCi0qIERlZGljYXRlZCBh
bmQgc2hhcmVkIHdvcmtlcnMgZG9uJ3QgaGF2ZSBhbiBlcXVpdmFsZW50IG9mIGFuIGBvbmxvYWRg
IGV2ZW50LgotICBUaHVzIHRoZSB0ZXN0IGhhcm5lc3MgaGFzIG5vIHdheSB0byBrbm93IHdoZW4g
YWxsIHRlc3RzIGhhdmUgY29tcGxldGVkIChzZWUKLSAgW0RldGVybWluaW5nIHdoZW4gYWxsIHRl
c3RzIGFyZQotICBjb21wbGV0ZV0oI2RldGVybWluaW5nLXdoZW4tYWxsLXRlc3RzLWFyZS1jb21w
bGV0ZSkpLiBTbyB0aGVzZSB3b3JrZXIgdGVzdHMKLSAgYmVoYXZlIGFzIGlmIHRoZXkgd2VyZSBz
dGFydGVkIHdpdGggdGhlIGBleHBsaWNpdF9kb25lYCBvcHRpb24uIFNlcnZpY2UKLSAgd29ya2Vy
cyBkZXBlbmQgb24gdGhlCi0gIFtvbmluc3RhbGxdKGh0dHBzOi8vc2xpZ2h0bHlvZmYuZ2l0aHVi
LmlvL1NlcnZpY2VXb3JrZXIvc3BlYy9zZXJ2aWNlX3dvcmtlci9pbmRleC5odG1sI3NlcnZpY2Ut
d29ya2VyLWdsb2JhbC1zY29wZS1pbnN0YWxsLWV2ZW50KQotICBldmVudCBhbmQgZG9uJ3QgcmVx
dWlyZSBhbiBleHBsaWNpdCBgZG9uZWAgY2FsbC4KLQotSGVyZSdzIGFuIGV4YW1wbGUgdGhhdCB1
c2VzIGEgZGVkaWNhdGVkIHdvcmtlci4KLQotYHdvcmtlci5qc2A6Ci0KLWBgYGpzCi1pbXBvcnRT
Y3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci0KLXRlc3QoZnVuY3Rpb24odCkg
ewotICBhc3NlcnRfdHJ1ZSh0cnVlLCAidHJ1ZSBpcyB0cnVlIik7Ci19LCAiU2ltcGxlIHRlc3Qi
KTsKLQotLy8gZG9uZSgpIGlzIG5lZWRlZCBiZWNhdXNlIHRoZSB0ZXN0aGFybmVzcyBpcyBydW5u
aW5nIGFzIGlmIGV4cGxpY2l0X2RvbmUKLS8vIHdhcyBzcGVjaWZpZWQuCi1kb25lKCk7Ci1gYGAK
LQotYHRlc3QuaHRtbGA6Ci0KLWBgYGh0bWwKLTwhRE9DVFlQRSBodG1sPgotPHRpdGxlPlNpbXBs
ZSB0ZXN0PC90aXRsZT4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48
L3NjcmlwdD4KLTxkaXYgaWQ9ImxvZyI+PC9kaXY+Ci08c2NyaXB0PgotCi1mZXRjaF90ZXN0c19m
cm9tX3dvcmtlcihuZXcgV29ya2VyKCJ3b3JrZXIuanMiKSk7Ci0KLTwvc2NyaXB0PgotYGBgCi0K
LVRoZSBhcmd1bWVudCB0byB0aGUgYGZldGNoX3Rlc3RzX2Zyb21fd29ya2VyYCBmdW5jdGlvbiBj
YW4gYmUgYQotW2BXb3JrZXJgXShodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFn
ZS93b3JrZXJzLmh0bWwjZGVkaWNhdGVkLXdvcmtlcnMtYW5kLXRoZS13b3JrZXItaW50ZXJmYWNl
KSwKLWEgW2BTaGFyZWRXb3JrZXJgXShodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRp
cGFnZS93b3JrZXJzLmh0bWwjc2hhcmVkLXdvcmtlcnMtYW5kLXRoZS1zaGFyZWR3b3JrZXItaW50
ZXJmYWNlKQotb3IgYSBbYFNlcnZpY2VXb3JrZXJgXShodHRwczovL3NsaWdodGx5b2ZmLmdpdGh1
Yi5pby9TZXJ2aWNlV29ya2VyL3NwZWMvc2VydmljZV93b3JrZXIvI3NlcnZpY2Utd29ya2VyLW9i
aikuCi1PbmNlIGNhbGxlZCwgdGhlIGNvbnRhaW5pbmcgZG9jdW1lbnQgZmV0Y2hlcyBhbGwgdGhl
IHRlc3RzIGZyb20gdGhlIHdvcmtlciBhbmQKLWJlaGF2ZXMgYXMgaWYgdGhvc2UgdGVzdHMgd2Vy
ZSBydW5uaW5nIGluIHRoZSBjb250YWluaW5nIGRvY3VtZW50IGl0c2VsZi4KLQotIyMgTGlzdCBv
ZiBBc3NlcnRpb25zICMjCi0KLSMjIyBgYXNzZXJ0X3RydWUoYWN0dWFsLCBkZXNjcmlwdGlvbilg
Ci1hc3NlcnRzIHRoYXQgYGFjdHVhbGAgaXMgc3RyaWN0bHkgdHJ1ZQotCi0jIyMgYGFzc2VydF9m
YWxzZShhY3R1YWwsIGRlc2NyaXB0aW9uKWAKLWFzc2VydHMgdGhhdCBgYWN0dWFsYCBpcyBzdHJp
Y3RseSBmYWxzZQotCi0jIyMgYGFzc2VydF9lcXVhbHMoYWN0dWFsLCBleHBlY3RlZCwgZGVzY3Jp
cHRpb24pYAotYXNzZXJ0cyB0aGF0IGBhY3R1YWxgIGlzIHRoZSBzYW1lIHZhbHVlIGFzIGBleHBl
Y3RlZGAKLQotIyMjIGBhc3NlcnRfbm90X2VxdWFscyhhY3R1YWwsIGV4cGVjdGVkLCBkZXNjcmlw
dGlvbilgCi1hc3NlcnRzIHRoYXQgYGFjdHVhbGAgaXMgYSBkaWZmZXJlbnQgdmFsdWUgdG8gYGV4
cGVjdGVkYC4KLVRoaXMgbWVhbnMgdGhhdCBgZXhwZWN0ZWRgIGlzIGEgbWlzbm9tZXIuCi0KLSMj
IyBgYXNzZXJ0X2luX2FycmF5KGFjdHVhbCwgZXhwZWN0ZWQsIGRlc2NyaXB0aW9uKWAKLWFzc2Vy
dHMgdGhhdCBgZXhwZWN0ZWRgIGlzIGFuIEFycmF5LCBhbmQgYGFjdHVhbGAgaXMgZXF1YWwgdG8g
b25lIG9mIHRoZQotbWVtYmVycyBpLmUuIGBleHBlY3RlZC5pbmRleE9mKGFjdHVhbCkgIT0gLTFg
Ci0KLSMjIyBgYXNzZXJ0X2FycmF5X2VxdWFscyhhY3R1YWwsIGV4cGVjdGVkLCBkZXNjcmlwdGlv
bilgCi1hc3NlcnRzIHRoYXQgYGFjdHVhbGAgYW5kIGBleHBlY3RlZGAgaGF2ZSB0aGUgc2FtZQot
bGVuZ3RoIGFuZCB0aGUgdmFsdWUgb2YgZWFjaCBpbmRleGVkIHByb3BlcnR5IGluIGBhY3R1YWxg
IGlzIHRoZSBzdHJpY3RseSBlcXVhbAotdG8gdGhlIGNvcnJlc3BvbmRpbmcgcHJvcGVydHkgdmFs
dWUgaW4gYGV4cGVjdGVkYAotCi0jIyMgYGFzc2VydF9hcHByb3hfZXF1YWxzKGFjdHVhbCwgZXhw
ZWN0ZWQsIGVwc2lsb24sIGRlc2NyaXB0aW9uKWAKLWFzc2VydHMgdGhhdCBgYWN0dWFsYCBpcyBh
IG51bWJlciB3aXRoaW4gwrFgZXBzaWxvbmAgb2YgYGV4cGVjdGVkYAotCi0jIyMgYGFzc2VydF9s
ZXNzX3RoYW4oYWN0dWFsLCBleHBlY3RlZCwgZGVzY3JpcHRpb24pYAotYXNzZXJ0cyB0aGF0IGBh
Y3R1YWxgIGlzIGEgbnVtYmVyIGxlc3MgdGhhbiBgZXhwZWN0ZWRgCi0KLSMjIyBgYXNzZXJ0X2dy
ZWF0ZXJfdGhhbihhY3R1YWwsIGV4cGVjdGVkLCBkZXNjcmlwdGlvbilgCi1hc3NlcnRzIHRoYXQg
YGFjdHVhbGAgaXMgYSBudW1iZXIgZ3JlYXRlciB0aGFuIGBleHBlY3RlZGAKLQotIyMjIGBhc3Nl
cnRfYmV0d2Vlbl9leGNsdXNpdmUoYWN0dWFsLCBsb3dlciwgdXBwZXIsIGRlc2NyaXB0aW9uYAot
YXNzZXJ0cyB0aGF0IGBhY3R1YWxgIGlzIGEgbnVtYmVyIGJldHdlZW4gYGxvd2VyYCBhbmQgYHVw
cGVyYCBidXQgbm90Ci1lcXVhbCB0byBlaXRoZXIgb2YgdGhlbQotCi0jIyMgYGFzc2VydF9sZXNz
X3RoYW5fZXF1YWwoYWN0dWFsLCBleHBlY3RlZCwgZGVzY3JpcHRpb24pYAotYXNzZXJ0cyB0aGF0
IGBhY3R1YWxgIGlzIGEgbnVtYmVyIGxlc3MgdGhhbiBvciBlcXVhbCB0byBgZXhwZWN0ZWRgCi0K
LSMjIyBgYXNzZXJ0X2dyZWF0ZXJfdGhhbl9lcXVhbChhY3R1YWwsIGV4cGVjdGVkLCBkZXNjcmlw
dGlvbilgCi1hc3NlcnRzIHRoYXQgYGFjdHVhbGAgaXMgYSBudW1iZXIgZ3JlYXRlciB0aGFuIG9y
IGVxdWFsIHRvIGBleHBlY3RlZGAKLQotIyMjIGBhc3NlcnRfYmV0d2Vlbl9pbmNsdXNpdmUoYWN0
dWFsLCBsb3dlciwgdXBwZXIsIGRlc2NyaXB0aW9uYAotYXNzZXJ0cyB0aGF0IGBhY3R1YWxgIGlz
IGEgbnVtYmVyIGJldHdlZW4gYGxvd2VyYCBhbmQgYHVwcGVyYCBvcgotZXF1YWwgdG8gZWl0aGVy
IG9mIHRoZW0KLQotIyMjIGBhc3NlcnRfcmVnZXhwX21hdGNoKGFjdHVhbCwgZXhwZWN0ZWQsIGRl
c2NyaXB0aW9uKWAKLWFzc2VydHMgdGhhdCBgYWN0dWFsYCBtYXRjaGVzIHRoZSByZWdleHAgYGV4
cGVjdGVkYAotCi0jIyMgYGFzc2VydF9jbGFzc19zdHJpbmcob2JqZWN0LCBjbGFzc19uYW1lLCBk
ZXNjcmlwdGlvbilgCi1hc3NlcnRzIHRoYXQgdGhlIGNsYXNzIHN0cmluZyBvZiBgb2JqZWN0YCBh
cyByZXR1cm5lZCBpbgotYE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmdgIGlzIGVxdWFsIHRvIGBj
bGFzc19uYW1lYC4KLQotIyMjIGBhc3NlcnRfb3duX3Byb3BlcnR5KG9iamVjdCwgcHJvcGVydHlf
bmFtZSwgZGVzY3JpcHRpb24pYAotYXNzZXJ0IHRoYXQgb2JqZWN0IGhhcyBvd24gcHJvcGVydHkg
YHByb3BlcnR5X25hbWVgCi0KLSMjIyBgYXNzZXJ0X2luaGVyaXRzKG9iamVjdCwgcHJvcGVydHlf
bmFtZSwgZGVzY3JpcHRpb24pYAotYXNzZXJ0IHRoYXQgb2JqZWN0IGRvZXMgbm90IGhhdmUgYW4g
b3duIHByb3BlcnR5IG5hbWVkCi1gcHJvcGVydHlfbmFtZWAgYnV0IHRoYXQgYHByb3BlcnR5X25h
bWVgIGlzIHByZXNlbnQgaW4gdGhlIHByb3RvdHlwZQotY2hhaW4gZm9yIG9iamVjdAotCi0jIyMg
YGFzc2VydF9pZGxfYXR0cmlidXRlKG9iamVjdCwgYXR0cmlidXRlX25hbWUsIGRlc2NyaXB0aW9u
KWAKLWFzc2VydCB0aGF0IGFuIG9iamVjdCB0aGF0IGlzIGFuIGluc3RhbmNlIG9mIHNvbWUgaW50
ZXJmYWNlIGhhcyB0aGUKLWF0dHJpYnV0ZSBhdHRyaWJ1dGVfbmFtZSBmb2xsb3dpbmcgdGhlIGNv
bmRpdGlvbnMgc3BlY2lmaWVkIGJ5IFdlYklETAotCi0jIyMgYGFzc2VydF9yZWFkb25seShvYmpl
Y3QsIHByb3BlcnR5X25hbWUsIGRlc2NyaXB0aW9uKWAKLWFzc2VydCB0aGF0IHByb3BlcnR5IGBw
cm9wZXJ0eV9uYW1lYCBvbiBvYmplY3QgaXMgcmVhZG9ubHkKLQotIyMjIGBhc3NlcnRfdGhyb3dz
KGNvZGUsIGZ1bmMsIGRlc2NyaXB0aW9uKWAKLWBjb2RlYCAtIHRoZSBleHBlY3RlZCBleGNlcHRp
b24uIFRoaXMgY2FuIHRha2Ugc2V2ZXJhbCBmb3JtczoKLQotICAqIHN0cmluZyAtIHRoZSB0aHJv
d24gZXhjZXB0aW9uIG11c3QgYmUgYSBET01FeGNlcHRpb24gd2l0aCB0aGUgZ2l2ZW4KLSAgICAg
ICAgICAgICBuYW1lLCBlLmcuLCAiVGltZW91dEVycm9yIiAoZm9yIGNvbXBhdGliaWxpdHkgd2l0
aCBleGlzdGluZwotICAgICAgICAgICAgIHRlc3RzLCBhIGNvbnN0YW50IGlzIGFsc28gc3VwcG9y
dGVkLCBlLmcuLCAiVElNRU9VVF9FUlIiKQotICAqIG9iamVjdCAtIHRoZSB0aHJvd24gZXhjZXB0
aW9uIG11c3QgaGF2ZSBhIHByb3BlcnR5IGNhbGxlZCAibmFtZSIgdGhhdAotICAgICAgICAgICAg
IG1hdGNoZXMgY29kZS5uYW1lCi0gICogbnVsbCAtICAgYWxsb3cgYW55IGV4Y2VwdGlvbiAoaW4g
Z2VuZXJhbCwgb25lIG9mIHRoZSBvcHRpb25zIGFib3ZlCi0gICAgICAgICAgICAgc2hvdWxkIGJl
IHVzZWQpCi0KLWBmdW5jYCAtIGEgZnVuY3Rpb24gdGhhdCBzaG91bGQgdGhyb3cKLQotIyMjIGBh
c3NlcnRfdW5yZWFjaGVkKGRlc2NyaXB0aW9uKWAKLWFzc2VydHMgaWYgY2FsbGVkLiBVc2VkIHRv
IGVuc3VyZSB0aGF0IHNvbWUgY29kZXBhdGggaXMgKm5vdCogdGFrZW4gZS5nLgotYW4gZXZlbnQg
ZG9lcyBub3QgZmlyZS4KLQotIyMjIGBhc3NlcnRfYW55KGFzc2VydF9mdW5jLCBhY3R1YWwsIGV4
cGVjdGVkX2FycmF5LCBleHRyYV9hcmdfMSwgLi4uIGV4dHJhX2FyZ19OKWAKLWFzc2VydHMgdGhh
dCBvbmUgYGFzc2VydF9mdW5jKGFjdHVhbCwgZXhwZWN0ZWRfYXJyYXlfTiwgZXh0cmFfYXJnMSwg
Li4uLCBleHRyYV9hcmdfTilgCi0gIGlzIHRydWUgZm9yIHNvbWUgYGV4cGVjdGVkX2FycmF5X05g
IGluIGBleHBlY3RlZF9hcnJheWAuIFRoaXMgb25seSB3b3JrcyBmb3IgYGFzc2VydF9mdW5jYAot
ICB3aXRoIHNpZ25hdHVyZSBgYXNzZXJ0X2Z1bmMoYWN0dWFsLCBleHBlY3RlZCwgYXJnc18xLCAu
Li4sIGFyZ3NfTilgLiBOb3RlIHRoYXQgdGVzdHMKLSAgd2l0aCBtdWx0aXBsZSBhbGxvd2VkIHBh
c3MgY29uZGl0aW9ucyBhcmUgYmFkIHByYWN0aWNlIHVubGVzcyB0aGUgc3BlYyBzcGVjaWZpY2Fs
bHkKLSAgYWxsb3dzIG11bHRpcGxlIGJlaGF2aW91cnMuIFRlc3QgYXV0aG9ycyBzaG91bGQgbm90
IHVzZSB0aGlzIG1ldGhvZCBzaW1wbHkgdG8gaGlkZQotICBVQSBidWdzLgotCi0jIyMgYGFzc2Vy
dF9leGlzdHMob2JqZWN0LCBwcm9wZXJ0eV9uYW1lLCBkZXNjcmlwdGlvbilgCi0qKmRlcHJlY2F0
ZWQqKgotYXNzZXJ0cyB0aGF0IG9iamVjdCBoYXMgYW4gb3duIHByb3BlcnR5IGBwcm9wZXJ0eV9u
YW1lYAotCi0jIyMgYGFzc2VydF9ub3RfZXhpc3RzKG9iamVjdCwgcHJvcGVydHlfbmFtZSwgZGVz
Y3JpcHRpb24pYAotKipkZXByZWNhdGVkKioKLWFzc2VydCB0aGF0IG9iamVjdCBkb2VzIG5vdCBo
YXZlIG93biBwcm9wZXJ0eSBgcHJvcGVydHlfbmFtZWAKLQotIyMgTWV0YWRhdGEgIyMKLQotSXQg
aXMgcG9zc2libGUgdG8gYWRkIG9wdGlvbmFsIG1ldGFkYXRhIHRvIHRlc3RzOyB0aGlzIGNhbiBi
ZSBkb25lIGluCi1vbmUgb2YgdHdvIHdheXM7IGVpdGhlciBieSBhZGRpbmcgYDxtZXRhPmAgZWxl
bWVudHMgdG8gdGhlIGhlYWQgb2YgdGhlCi1kb2N1bWVudCBjb250YWluaW5nIHRoZSB0ZXN0cywg
b3IgYnkgYWRkaW5nIHRoZSBtZXRhZGF0YSB0byBpbmRpdmlkdWFsCi1gW2FzeW5jX110ZXN0YCBj
YWxscywgYXMgcHJvcGVydGllcy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2RvY3MvaWRsaGFybmVzcy5tZCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2RvY3MvaWRs
aGFybmVzcy5tZApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTQxMDc3YjNhNzIuLjAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL2RvY3MvaWRsaGFybmVzcy5tZAorKysgL2Rldi9udWxsCkBAIC0xLDEyOCAr
MCwwIEBACi0jIyBJbnRyb2R1Y3Rpb24gIyMKLQotYGlkbGhhcm5lc3MuanNgIGF1dG9tYXRpY2Fs
bHkgZ2VuZXJhdGVzIGJyb3dzZXIgdGVzdHMgZm9yIFdlYklETCBpbnRlcmZhY2VzLCB1c2luZwot
dGhlIHRlc3RoYXJuZXNzLmpzIGZyYW1ld29yay4gIFRvIHVzZSwgZmlyc3QgaW5jbHVkZSB0aGUg
Zm9sbG93aW5nOgotCi1gYGBodG1sCi08c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cz48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvV2ViSURMUGFyc2VyLmpzPjwvc2Ny
aXB0PgotPHNjcmlwdCBzcmM9L3Jlc291cmNlcy9pZGxoYXJuZXNzLmpzPjwvc2NyaXB0PgotYGBg
Ci0KLVRoZW4geW91J2xsIG5lZWQgc29tZSB0eXBlIG9mIElETHMuICBIZXJlJ3Mgc29tZSBzY3Jp
cHQgdGhhdCBjYW4gYmUgcnVuIG9uIGEKLXNwZWMgd3JpdHRlbiBpbiBIVE1MLCB3aGljaCB3aWxs
IGdyYWIgYWxsIHRoZSBlbGVtZW50cyB3aXRoIGBjbGFzcz0iaWRsImAsCi1jb25jYXRlbmF0ZSB0
aGVtLCBhbmQgcmVwbGFjZSB0aGUgYm9keSBzbyB5b3UgY2FuIGNvcHktcGFzdGU6Ci0KLWBgYGpz
Ci12YXIgcyA9ICIiOwotW10uZm9yRWFjaC5jYWxsKGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFz
c05hbWUoImlkbCIpLCBmdW5jdGlvbihpZGwpIHsKLSAgLy9odHRwczovL3d3dy53My5vcmcvQnVn
cy9QdWJsaWMvc2hvd19idWcuY2dpP2lkPTE0OTE0Ci0gIGlmICghaWRsLmNsYXNzTGlzdC5jb250
YWlucygiZXh0cmFjdCIpKQotICB7Ci0gICAgcyArPSBpZGwudGV4dENvbnRlbnQgKyAiXG5cbiI7
Ci0gIH0KLX0pOwotZG9jdW1lbnQuYm9keS5pbm5lckhUTUwgPSAnPHByZT48L3ByZT4nOwotZG9j
dW1lbnQuYm9keS5maXJzdENoaWxkLnRleHRDb250ZW50ID0gczsKLWBgYAotCi1PbmNlIHlvdSBo
YXZlIHRoYXQsIHB1dCBpdCBpbiB5b3VyIHNjcmlwdCBzb21laG93LiAgVGhlIGVhc2llc3Qgd2F5
IGlzIHRvCi1lbWJlZCBpdCBsaXRlcmFsbHkgaW4gYW4gSFRNTCBmaWxlIHdpdGggYDxzY3JpcHQg
dHlwZT10ZXh0L3BsYWluPmAgb3Igc2ltaWxhciwKLXNvIHRoYXQgeW91IGRvbid0IGhhdmUgdG8g
ZG8gYW55IGVzY2FwaW5nLiAgQW5vdGhlciBwb3NzaWJpbGl0eSBpcyB0byBwdXQgaXQKLWluIGEg
c2VwYXJhdGUgLmlkbCBmaWxlIHRoYXQncyBmZXRjaGVkIHZpYSBYSFIgb3Igc2ltaWxhci4gIFNh
bXBsZSB1c2FnZToKLQotYGBganMKLXZhciBpZGxfYXJyYXkgPSBuZXcgSWRsQXJyYXkoKTsKLWlk
bF9hcnJheS5hZGRfdW50ZXN0ZWRfaWRscygiaW50ZXJmYWNlIE5vZGUgeyByZWFkb25seSBhdHRy
aWJ1dGUgRE9NU3RyaW5nIG5vZGVOYW1lOyB9OyIpOwotaWRsX2FycmF5LmFkZF9pZGxzKCJpbnRl
cmZhY2UgRG9jdW1lbnQgOiBOb2RlIHsgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBVUkw7
IH07Iik7Ci1pZGxfYXJyYXkuYWRkX29iamVjdHMoe0RvY3VtZW50OiBbImRvY3VtZW50Il19KTsK
LWlkbF9hcnJheS50ZXN0KCk7Ci1gYGAKLQotVGhpcyB0ZXN0cyB0aGF0IGB3aW5kb3cuRG9jdW1l
bnRgIGV4aXN0cyBhbmQgbWVldHMgYWxsIHRoZSByZXF1aXJlbWVudHMgb2YKLVdlYklETC4gIEl0
IGFsc28gdGVzdHMgdGhhdCB3aW5kb3cuZG9jdW1lbnQgKHRoZSByZXN1bHQgb2YgZXZhbHVhdGlu
ZyB0aGUKLXN0cmluZyAiZG9jdW1lbnQiKSBoYXMgVVJMIGFuZCBub2RlTmFtZSBwcm9wZXJ0aWVz
IHRoYXQgYmVoYXZlIGFzIHRoZXkKLXNob3VsZCwgYW5kIG90aGVyd2lzZSBtZWV0cyBXZWJJREwn
cyByZXF1aXJlbWVudHMgZm9yIGFuIG9iamVjdCB3aG9zZQotcHJpbWFyeSBpbnRlcmZhY2UgaXMg
RG9jdW1lbnQuICBJdCBkb2VzIG5vdCB0ZXN0IHRoYXQgd2luZG93Lk5vZGUgZXhpc3RzLAotd2hp
Y2ggaXMgd2hhdCB5b3Ugd2FudCBpZiB0aGUgTm9kZSBpbnRlcmZhY2UgaXMgYWxyZWFkeSB0ZXN0
ZWQgaW4gc29tZSBvdGhlcgotc3BlY2lmaWNhdGlvbidzIHN1aXRlIGFuZCB5b3VyIHNwZWNpZmlj
YXRpb24gb25seSBleHRlbmRzIG9yIHJlZmVycyB0byBpdC4KLU9mIGNvdXJzZSwgZWFjaCBJREwg
c3RyaW5nIGNhbiBkZWZpbmUgbWFueSBkaWZmZXJlbnQgdGhpbmdzLCBhbmQgY2FsbHMgdG8KLWFk
ZF9vYmplY3RzKCkgY2FuIHJlZ2lzdGVyIG1hbnkgZGlmZmVyZW50IG9iamVjdHMgZm9yIGRpZmZl
cmVudCBpbnRlcmZhY2VzOgotdGhpcyBpcyBhIHZlcnkgc2ltcGxlIGV4YW1wbGUuCi0KLSMjIFB1
YmxpYyBtZXRob2RzIG9mIElkbEFycmF5ICMjCi0KLUlkbEFycmF5IG9iamVjdHMgY2FuIGJlIG9i
dGFpbmVkIHdpdGggYG5ldyBJZGxBcnJheSgpYC4gIEFueXRoaW5nIG5vdAotZG9jdW1lbnRlZCBp
biB0aGlzIHNlY3Rpb24gc2hvdWxkIGJlIGNvbnNpZGVyZWQgYW4gaW1wbGVtZW50YXRpb24gZGV0
YWlsLAotYW5kIG91dHNpZGUgY2FsbGVycyBzaG91bGQgbm90IHVzZSBpdC4KLQotIyMjIGBhZGRf
aWRscyhpZGxfc3RyaW5nKWAKLSAgUGFyc2VzIGBpZGxfc3RyaW5nYCAodGhyb3dpbmcgb24gcGFy
c2UgZXJyb3IpIGFuZCBhZGRzIHRoZSByZXN1bHRzIHRvIHRoZQotICBJZGxBcnJheS4gIEFsbCB0
aGUgZGVmaW5pdGlvbnMgd2lsbCBiZSB0ZXN0ZWQgd2hlbiB5b3UgcnVuIHRlc3QoKS4gIElmCi0g
IHNvbWUgb2YgdGhlIGRlZmluaXRpb25zIHJlZmVyIHRvIG90aGVyIGRlZmluaXRpb25zLCB0aG9z
ZSBtdXN0IGJlIHByZXNlbnQKLSAgdG9vLiAgRm9yIGluc3RhbmNlLCBpZiBgaWRsX3N0cmluZ2Ag
c2F5cyB0aGF0IGBEb2N1bWVudGAgaW5oZXJpdHMgZnJvbSBgTm9kZWAsCi0gIHRoZSBgTm9kZWAg
aW50ZXJmYWNlIG11c3QgYWxzbyBoYXZlIGJlZW4gcHJvdmlkZWQgaW4gc29tZSBjYWxsIHRvIGBh
ZGRfaWRscygpYAotICBvciBgYWRkX3VudGVzdGVkX2lkbHMoKWAuCi0KLSMjIyBgYWRkX3VudGVz
dGVkX2lkbHMoaWRsX3N0cmluZylgCi0gIExpa2UgYGFkZF9pZGxzKClgLCBidXQgdGhlIGRlZmlu
aXRpb25zIHdpbGwgbm90IGJlIHRlc3RlZC4gIElmIGFuIHVudGVzdGVkCi0gIGludGVyZmFjZSBp
cyBhZGRlZCBhbmQgdGhlbiBleHRlbmRlZCB3aXRoIGEgdGVzdGVkIHBhcnRpYWwgaW50ZXJmYWNl
LCB0aGUKLSAgbWVtYmVycyBvZiB0aGUgcGFydGlhbCBpbnRlcmZhY2Ugd2lsbCBzdGlsbCBiZSB0
ZXN0ZWQuICBBbHNvLCBhbGwgdGhlCi0gIG1lbWJlcnMgd2lsbCBzdGlsbCBiZSB0ZXN0ZWQgZm9y
IG9iamVjdHMgYWRkZWQgd2l0aCBgYWRkX29iamVjdHMoKWAsIGJlY2F1c2UKLSAgeW91IHByb2Jh
Ymx5IHdhbnQgdG8gdGVzdCB0aGF0IChmb3IgaW5zdGFuY2UpIHdpbmRvdy5kb2N1bWVudCBoYXMg
YWxsIHRoZQotICBwcm9wZXJ0aWVzIGZyb20gYE5vZGVgLCBub3QganVzdCBgRG9jdW1lbnRgLCBl
dmVuIGlmIHRoZSBgTm9kZWAgaW50ZXJmYWNlIGl0c2VsZgotICBpcyB0ZXN0ZWQgaW4gYSBkaWZm
ZXJlbnQgdGVzdCBzdWl0ZS4KLQotIyMjIGBhZGRfb2JqZWN0cyhkaWN0KWAKLSAgYGRpY3RgIHNo
b3VsZCBiZSBhbiBvYmplY3Qgd2hvc2Uga2V5cyBhcmUgdGhlIG5hbWVzIG9mIGludGVyZmFjZXMg
b3IKLSAgZXhjZXB0aW9ucywgYW5kIHdob3NlIHZhbHVlcyBhcmUgYXJyYXlzIG9mIHN0cmluZ3Mu
ICBXaGVuIGFuIGludGVyZmFjZSBvcgotICBleGNlcHRpb24gaXMgdGVzdGVkLCBldmVyeSBzdHJp
bmcgcmVnaXN0ZXJlZCBmb3IgaXQgd2l0aCBgYWRkX29iamVjdHMoKWAKLSAgd2lsbCBiZSBldmFs
dWF0ZWQsIGFuZCB0ZXN0cyB3aWxsIGJlIHJ1biBvbiB0aGUgcmVzdWx0IHRvIHZlcmlmeSB0aGF0
IGl0Ci0gIGNvcnJlY3RseSBpbXBsZW1lbnRzIHRoYXQgaW50ZXJmYWNlIG9yIGV4Y2VwdGlvbi4g
IFRoaXMgaXMgdGhlIG9ubHkgd2F5IHRvCi0gIHRlc3QgYW55dGhpbmcgYWJvdXQgYFtOb0ludGVy
ZmFjZU9iamVjdF1gIGludGVyZmFjZXMsIGFuZCB0aGVyZSBhcmUgbWFueQotICB0ZXN0cyB0aGF0
IGNhbid0IGJlIHJ1biBvbiBhbnkgaW50ZXJmYWNlIHdpdGhvdXQgYW4gb2JqZWN0IHRvIGZpZGRs
ZSB3aXRoLgotCi0gIFRoZSBpbnRlcmZhY2UgaGFzIHRvIGJlIHRoZSAqcHJpbWFyeSogaW50ZXJm
YWNlIG9mIGFsbCB0aGUgb2JqZWN0cwotICBwcm92aWRlZC4gIEZvciBleGFtcGxlLCBkb24ndCBw
YXNzIGB7Tm9kZTogWyJkb2N1bWVudCJdfWAsIGJ1dCByYXRoZXIKLSAgYHtEb2N1bWVudDogWyJk
b2N1bWVudCJdfWAuICBBc3N1bWluZyB0aGUgYERvY3VtZW50YCBpbnRlcmZhY2Ugd2FzIGRlY2xh
cmVkIHRvCi0gIGluaGVyaXQgZnJvbSBgTm9kZWAsIHRoaXMgd2lsbCBhdXRvbWF0aWNhbGx5IHRl
c3QgdGhhdCBkb2N1bWVudCBpbXBsZW1lbnRzCi0gIHRoZSBgTm9kZWAgaW50ZXJmYWNlIHRvby4K
LQotICBXYXJuaW5nOiBtZXRob2RzIHdpbGwgYmUgY2FsbGVkIG9uIGFueSBwcm92aWRlZCBvYmpl
Y3RzLCBpbiBhIG1hbm5lciB0aGF0Ci0gIFdlYklETCByZXF1aXJlcyBiZSBzYWZlLiAgRm9yIGlu
c3RhbmNlLCBpZiBhIG1ldGhvZCBoYXMgbWFuZGF0b3J5Ci0gIGFyZ3VtZW50cywgdGhlIHRlc3Qg
c3VpdGUgd2lsbCB0cnkgY2FsbGluZyBpdCB3aXRoIHRvbyBmZXcgYXJndW1lbnRzIHRvCi0gIHNl
ZSBpZiBpdCB0aHJvd3MgYW4gZXhjZXB0aW9uLiAgSWYgYW4gaW1wbGVtZW50YXRpb24gaW5jb3Jy
ZWN0bHkgcnVucyB0aGUKLSAgZnVuY3Rpb24gaW5zdGVhZCBvZiB0aHJvd2luZywgdGhpcyBtaWdo
dCBoYXZlIHNpZGUgZWZmZWN0cywgcG9zc2libHkgZXZlbgotICBwcmV2ZW50aW5nIHRoZSB0ZXN0
IHN1aXRlIGZyb20gcnVubmluZyBjb3JyZWN0bHkuCi0KLSMjIyBgcHJldmVudF9tdWx0aXBsZV90
ZXN0aW5nKG5hbWUpYAotICBUaGlzIGlzIGEgbmljaGUgbWV0aG9kIGZvciB1c2UgaW4gY2FzZSB5
b3UncmUgdGVzdGluZyBtYW55IG9iamVjdHMgdGhhdAotICBpbXBsZW1lbnQgdGhlIHNhbWUgaW50
ZXJmYWNlcywgYW5kIGRvbid0IHdhbnQgdG8gcmV0ZXN0IHRoZSBzYW1lCi0gIGludGVyZmFjZXMg
ZXZlcnkgc2luZ2xlIHRpbWUuICBGb3IgaW5zdGFuY2UsIEhUTUwgZGVmaW5lcyBtYW55IGludGVy
ZmFjZXMKLSAgdGhhdCBhbGwgaW5oZXJpdCBmcm9tIGBIVE1MRWxlbWVudGAsIHNvIHRoZSBIVE1M
IHRlc3Qgc3VpdGUgaGFzIHNvbWV0aGluZwotICBsaWtlCi0KLWBgYGpzCi0uYWRkX29iamVjdHMo
ewotICBIVE1MSHRtbEVsZW1lbnQ6IFsnZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50J10sCi0gIEhU
TUxIZWFkRWxlbWVudDogWydkb2N1bWVudC5oZWFkJ10sCi0gIEhUTUxCb2R5RWxlbWVudDogWydk
b2N1bWVudC5ib2R5J10sCi0gIC4uLgotfSkKLWBgYAotCi0gIGFuZCBzbyBvbiBmb3IgZG96ZW5z
IG9mIGVsZW1lbnQgdHlwZXMuICBUaGlzIHdvdWxkIG1lYW4gdGhhdCBpdCB3b3VsZAotICByZXRl
c3QgdGhhdCBlYWNoIGFuZCBldmVyeSBvbmUgb2YgdGhvc2UgZWxlbWVudHMgaW1wbGVtZW50cyBg
SFRNTEVsZW1lbnRgLAotICBgRWxlbWVudGAsIGFuZCBgTm9kZWAsIHdoaWNoIHdvdWxkIGJlIHRo
b3VzYW5kcyBvZiBiYXNpY2FsbHkgcmVkdW5kYW50IHRlc3RzLgotICBUaGUgdGVzdCBzdWl0ZSB0
aGVyZWZvcmUgY2FsbHMgYHByZXZlbnRfbXVsdGlwbGVfdGVzdGluZygiSFRNTEVsZW1lbnQiKWAu
Ci0gIFRoaXMgbWVhbnMgdGhhdCBvbmNlIG9uZSBvYmplY3QgaGFzIGJlZW4gdGVzdGVkIHRvIGlt
cGxlbWVudCBgSFRNTEVsZW1lbnRgCi0gIGFuZCBpdHMgYW5jZXN0b3JzLCBubyBvdGhlciBvYmpl
Y3Qgd2lsbCBiZS4gIFRodXMgaW4gdGhlIGV4YW1wbGUgY29kZQotICBhYm92ZSwgdGhlIGhhcm5l
c3Mgd291bGQgdGVzdCB0aGF0IGBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnRgIGNvcnJlY3RseQot
ICBpbXBsZW1lbnRzIGBIVE1MSHRtbEVsZW1lbnRgLCBgSFRNTEVsZW1lbnRgLCBgRWxlbWVudGAs
IGFuZCBgTm9kZWA7IGJ1dAotICBgZG9jdW1lbnQuaGVhZGAgd291bGQgb25seSBiZSB0ZXN0ZWQg
Zm9yIGBIVE1MSGVhZEVsZW1lbnRgLCBhbmQgc28gb24gZm9yCi0gIGZ1cnRoZXIgb2JqZWN0cy4K
LQotIyMjIGB0ZXN0KClgCi0gIFJ1biBhbGwgdGVzdHMuICBUaGlzIHNob3VsZCBiZSBjYWxsZWQg
YWZ0ZXIgeW91J3ZlIGNhbGxlZCBhbGwgb3RoZXIKLSAgbWV0aG9kcyB0byBhZGQgSURMcyBhbmQg
b2JqZWN0cy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL2RvY3MvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9kb2NzL3czYy1pbXBvcnQubG9n
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5N2RiZWUzZjQyYS4uMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvZG9jcy93M2MtaW1wb3J0LmxvZworKysgL2Rldi9udWxsCkBAIC0xLDE5ICswLDAgQEAKLVRo
ZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBv
c2l0b3J5LgotRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1J
bnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFczQyBDU1Mgb3IgV1BUIGdpdGh1
YjoKLQlodHRwczovL2dpdGh1Yi5jb20vdzNjL2Nzc3dnLXRlc3QKLQlodHRwczovL2dpdGh1Yi5j
b20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cwotCi1UaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9p
bXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydAotCi1EbyBOT1QgbW9kaWZ5IG9y
IHJlbW92ZSB0aGlzIGZpbGUuCi0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotUHJvcGVydGllcyByZXF1aXJp
bmcgdmVuZG9yIHByZWZpeGVzOgotTm9uZQotUHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5k
b3IgcHJlZml4ZXM6Ci1Ob25lCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLUxpc3Qgb2YgZmlsZXM6Ci0vTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZG9jcy9h
cGkubWQKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy9kb2NzL2lkbGhhcm5lc3MubWQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBsZS1lcnJv
ci13b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy9leGFtcGxlcy9hcGlzYW1wbGUtZXJyb3Itd29ya2VyLmpzCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCA5YmZlMGE2ZjM0My4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZXMv
YXBpc2FtcGxlLWVycm9yLXdvcmtlci5qcworKysgL2Rldi9udWxsCkBAIC0xLDMgKzAsMCBAQAot
aW1wb3J0U2NyaXB0cygiLi4vdGVzdGhhcm5lc3MuanMiKTsKLQotdGhyb3cgbmV3IEVycm9yKCJU
aGlzIGZhaWx1cmUgaXMgZXhwZWN0ZWQuIik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy9hcGlzYW1wbGUt
d29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2FtcGxlLXdvcmtlci5qcwpkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggYjFkMDg2MzE0Y2MuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBs
ZS13b3JrZXIuanMKKysrIC9kZXYvbnVsbApAQCAtMSwzNCArMCwwIEBACi1pbXBvcnRTY3JpcHRz
KCIuLi90ZXN0aGFybmVzcy5qcyIpOwotCi10ZXN0KAotICAgIGZ1bmN0aW9uKHRlc3QpIHsKLSAg
ICAgICAgYXNzZXJ0X3RydWUodHJ1ZSwgIlRydWUgaXMgdHJ1ZSIpOwotICAgIH0sCi0gICAgIldv
cmtlciB0ZXN0IHRoYXQgY29tcGxldGVzIHN1Y2Nlc3NmdWxseSIpOwotCi10ZXN0KAotICAgIGZ1
bmN0aW9uKHRlc3QpIHsKLSAgICAgICAgYXNzZXJ0X3RydWUoZmFsc2UsICJGYWlsaW5nIHRlc3Qi
KTsKLSAgICB9LAotICAgICJXb3JrZXIgdGVzdCB0aGF0IGZhaWxzICgnRkFJTCcpIik7Ci0KLWFz
eW5jX3Rlc3QoCi0gICAgZnVuY3Rpb24odGVzdCkgewotICAgICAgICBhc3NlcnRfdHJ1ZSh0cnVl
LCAiVHJ1ZSBpcyB0cnVlIik7Ci0gICAgfSwKLSAgICAiV29ya2VyIHRlc3QgdGhhdCB0aW1lcyBv
dXQgKCdUSU1FT1VUJykiKTsKLQotYXN5bmNfdGVzdCgiV29ya2VyIHRlc3QgdGhhdCBkb2Vzbid0
IHJ1biAoJ05PVCBSVU4nKSIpOwotCi1hc3luY190ZXN0KAotICAgIGZ1bmN0aW9uKHRlc3QpIHsK
LSAgICAgICAgc2VsZi5zZXRUaW1lb3V0KAotICAgICAgICAgICAgZnVuY3Rpb24oKSB7Ci0gICAg
ICAgICAgICAgICAgdGVzdC5kb25lKCk7Ci0gICAgICAgICAgICB9LAotICAgICAgICAgICAgMCk7
Ci0gICAgfSwKLSAgICAiV29ya2VyIGFzeW5jX3Rlc3QgdGhhdCBjb21wbGV0ZXMgc3VjY2Vzc2Z1
bGx5Iik7Ci0KLS8vIEFuIGV4cGxpY2l0IGRvbmUoKSBpcyByZXF1aXJlZCBmb3IgZGVkaWNhdGVk
IGFuZCBzaGFyZWQgd2ViIHdvcmtlcnMuCi1kb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy9hcGlz
YW1wbGUuaHRtIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2FtcGxlLmh0bQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggNTA0YTM0M2FjZGIuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBsZS5odG0K
KysrIC9kZXYvbnVsbApAQCAtMSwxNzUgKzAsMCBAQAotPCFET0NUWVBFIEhUTUw+Ci08aHRtbD4K
LTxoZWFkPgotPHRpdGxlPlNhbXBsZSBIVE1MNSBBUEkgVGVzdHM8L3RpdGxlPgotPG1ldGEgbmFt
ZT0idGltZW91dCIgY29udGVudD0iNjAwMCI+Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9ImxvYWRf
dGVzdF9hdHRyLmRvbmUoKSI+Ci08aDE+U2FtcGxlIEhUTUw1IEFQSSBUZXN0czwvaDE+Ci08ZGl2
IGlkPSJsb2ciPjwvZGl2PgotPHNjcmlwdCBzcmM9Ii4uL3Rlc3RoYXJuZXNzLmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPSIuLi90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2Ny
aXB0PgotICAgIHNldHVwX3J1biA9IGZhbHNlOwotICAgIHNldHVwKGZ1bmN0aW9uKCkgewotICAg
ICAgICAgICAgc2V0dXBfcnVuID0gdHJ1ZTsKLSAgICAgICAgICB9KTsKLSAgICB0ZXN0KGZ1bmN0
aW9uKCkge2Fzc2VydF90cnVlKHNldHVwX3J1bil9LCAiU2V0dXAgZnVuY3Rpb24gcmFuIik7Ci0K
LSAgICAvLyBUd28gZXhhbXBsZXMgZm9yIHRlc3RpbmcgZXZlbnRzIGZyb20gaGFuZGxlciBhbmQg
YXR0cmlidXRlcwotICAgIHZhciBsb2FkX3Rlc3RfZXZlbnQgPSBhc3luY190ZXN0KCJ3aW5kb3cg
b25sb2FkIGV2ZW50IGZpcmVzIHdoZW4gc2V0IGZyb20gdGhlIGhhbmRsZXIiKTsKLQotICAgIGZ1
bmN0aW9uIHdpbmRvd0xvYWQoKQotICAgIHsKLSAgICAgICAgbG9hZF90ZXN0X2V2ZW50LmRvbmUo
KTsKLSAgICB9Ci0gICAgb25fZXZlbnQod2luZG93LCAibG9hZCIsIHdpbmRvd0xvYWQpOwotCi0g
ICAgLy8gc2VlIHRoZSBib2R5IG9ubG9hZCBiZWxvdwotICAgIHZhciBsb2FkX3Rlc3RfYXR0ciA9
IGFzeW5jX3Rlc3QoImJvZHkgZWxlbWVudCBmaXJlcyB0aGUgb25sb2FkIGV2ZW50IHNldCBmcm9t
IHRoZSBhdHRyaWJ1dGUiKTsKLTwvc2NyaXB0PgotPHNjcmlwdD4KLSAgICBmdW5jdGlvbiBib2R5
RWxlbWVudCgpCi0gICAgewotICAgICAgICBhc3NlcnRfZXF1YWxzKGRvY3VtZW50LmJvZHksIGRv
Y3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJib2R5IilbMF0pOwotICAgIH0KLSAgICB0ZXN0
KGJvZHlFbGVtZW50LCAiZG9jdW1lbnQuYm9keSBzaG91bGQgYmUgdGhlIGZpcnN0IGJvZHkgZWxl
bWVudCBpbiB0aGUgZG9jdW1lbnQiKTsKLQotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAg
IGFzc2VydF9lcXVhbHMoMSwxKTsKLSAgICAgICAgYXNzZXJ0X2VxdWFscyhOYU4sIE5hTiwgIk5h
TiBjYXNlIik7Ci0gICAgICAgIGFzc2VydF9lcXVhbHMoMCwgMCwgIlplcm8gY2FzZSIpOwotICAg
IH0sICJhc3NlcnRfZXF1YWxzIHRlc3RzIikKLQotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAg
ICAgIGFzc2VydF9lcXVhbHMoLTAsIDAsICJaZXJvIGNhc2UiKTsKLSAgICB9LCAiYXNzZXJ0X2Vx
dWFscyB0ZXN0cyBleHBlY3RlZCB0byBmYWlsIikKLQotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0g
ICAgICAgIGFzc2VydF9ub3RfZXF1YWxzKHt9LCB7fSwgIm9iamVjdCBjYXNlIik7Ci0gICAgICAg
IGFzc2VydF9ub3RfZXF1YWxzKC0wLCAwLCAiWmVybyBjYXNlIik7Ci0gICAgfSwgImFzc2VydF9u
b3RfZXF1YWxzIHRlc3RzIikKLQotICAgIGZ1bmN0aW9uIHRlc3RBc3NlcnRQYXNzKCkKLSAgICB7
Ci0gICAgICAgIGFzc2VydF90cnVlKHRydWUpOwotICAgIH0KLSAgICB0ZXN0KHRlc3RBc3NlcnRQ
YXNzLCAiYXNzZXJ0X3RydWUgZXhwZWN0ZWQgdG8gcGFzcyIpOwotCi0gICAgZnVuY3Rpb24gdGVz
dEFzc2VydEZhbHNlKCkKLSAgICB7Ci0gICAgICAgIGFzc2VydF90cnVlKGZhbHNlLCAiZmFsc2Ug
c2hvdWxkIG5vdCBiZSB0cnVlIik7Ci0gICAgfQotICAgIHRlc3QodGVzdEFzc2VydEZhbHNlLCAi
YXNzZXJ0X3RydWUgZXhwZWN0ZWQgdG8gZmFpbCIpOwotCi0gICAgZnVuY3Rpb24gYmFzaWNBc3Nl
cnRBcnJheUVxdWFscygpCi0gICAgewotICAgICAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKFsxLCBO
YU5dLCBbMSwgTmFOXSwgIlsxLCBOYU5dIGlzIGVxdWFsIHRvIFsxLCBOYU5dIik7Ci0gICAgfQot
ICAgIHRlc3QoYmFzaWNBc3NlcnRBcnJheUVxdWFscywgImJhc2ljIGFzc2VydF9hcnJheV9lcXVh
bHMgdGVzdCIpOwotCi0gICAgZnVuY3Rpb24gYmFzaWNBc3NlcnRPYmplY3RFcXVhbHMoKQotICAg
IHsKLSAgICAgICAgYXNzZXJ0X29iamVjdF9lcXVhbHMoWzEsIDIsIFsxLCAyXV0sIHsgMDogMSwg
MTogMiwgMjogeyAwOiAxLCAxOiAyfSB9LCAiYXJyYXkgaXMgZXF1YWwgdG8gb2JqZWN0IikKLSAg
ICB9Ci0gICAgdGVzdChiYXNpY0Fzc2VydE9iamVjdEVxdWFscywgImJhc2ljIGFzc2VydF9vYmpl
Y3RfZXF1YWxzIHRlc3QiKTsKLQotICAgIGZ1bmN0aW9uIGJhc2ljQXNzZXJ0QXBwcm94RXF1YWxz
KCkKLSAgICB7Ci0gICAgICAgIGFzc2VydF9hcHByb3hfZXF1YWxzKDEwLCAxMSwgMSwgIjEwIGlz
IGFwcHJveGltYXRlbHkgKCsvLSAxKSAxMSIpCi0gICAgfQotICAgIHRlc3QoYmFzaWNBc3NlcnRB
cHByb3hFcXVhbHMsICJiYXNpYyBhc3NlcnRfYXBwcm94X2VxdWFscyB0ZXN0Iik7Ci0KLSAgICBm
dW5jdGlvbiBiYXNpY0Fzc2VydExlc3NUaGFuKCkKLSAgICB7Ci0gICAgICAgIGFzc2VydF9sZXNz
X3RoYW4oMTAsIDExLCAiMTAgaXMgbGVzcyB0aGFuIDExIikKLSAgICB9Ci0gICAgdGVzdChiYXNp
Y0Fzc2VydEFwcHJveEVxdWFscywgImJhc2ljIGFzc2VydF9sZXNzX3RoYW4gdGVzdCIpOwotCi0g
ICAgZnVuY3Rpb24gYmFzaWNBc3NlcnRHcmVhdGVyVGhhbigpCi0gICAgewotICAgICAgICBhc3Nl
cnRfZ3JlYXRlcl90aGFuKDEwLCAxMSwgIjEwIGlzIG5vdCBncmVhdGVyIHRoYW4gMTEiKTsKLSAg
ICB9Ci0gICAgdGVzdChiYXNpY0Fzc2VydEdyZWF0ZXJUaGFuLCAiYXNzZXJ0X2dyZWF0ZXJfdGhh
biBleHBlY3RlZCB0byBmYWlsIik7Ci0KLSAgICBmdW5jdGlvbiBiYXNpY0Fzc2VydEdyZWF0ZXJU
aGFuRXF1YWwoKQotICAgIHsKLSAgICAgICAgYXNzZXJ0X2dyZWF0ZXJfdGhhbl9lcXVhbCgxMCwg
MTAsICIxMCBpcyBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gMTAiKQotICAgIH0KLSAgICB0ZXN0
KGJhc2ljQXNzZXJ0R3JlYXRlclRoYW5FcXVhbCwgImJhc2ljIGFzc2VydF9ncmVhdGVyX3RoYW5f
ZXF1YWwgdGVzdCIpOwotCi0gICAgZnVuY3Rpb24gYmFzaWNBc3NlcnRMZXNzVGhhbkVxdWFsKCkK
LSAgICB7Ci0gICAgICAgIGFzc2VydF9ncmVhdGVyX3RoYW5fZXF1YWwoJzEwJywgMTAsICInMTAn
IGlzIG5vdCBhIG51bWJlciIpCi0gICAgfQotICAgIHRlc3QoYmFzaWNBc3NlcnRMZXNzVGhhbkVx
dWFsLCAiYXNzZXJ0X2xlc3NfdGhhbl9lcXVhbCBleHBlY3RlZCB0byBmYWlsIik7Ci0KLSAgICBm
dW5jdGlvbiB0ZXN0QXNzZXJ0SW5oZXJpdHMoKSB7Ci0gICAgICAgIHZhciBBID0gZnVuY3Rpb24o
KXt0aGlzLmEgPSAiYSJ9Ci0gICAgICAgIEEucHJvdG90eXBlID0ge2I6ImIifQotICAgICAgICB2
YXIgYSA9IG5ldyBBKCk7Ci0gICAgICAgIGFzc2VydF9leGlzdHMoYSwgImEiKTsKLSAgICAgICAg
YXNzZXJ0X25vdF9leGlzdHMoYSwgImIiKTsKLSAgICAgICAgYXNzZXJ0X2luaGVyaXRzKGEsICJi
Iik7Ci0gICAgfQotICAgIHRlc3QodGVzdEFzc2VydEluaGVyaXRzLCAidGVzdCBmb3IgYXNzZXJ0
W19ub3RdX2V4aXN0cyBhbmQgaW5zZXJ0X2luaGVyaXRzIikKLQotICAgIHRlc3QoZnVuY3Rpb24o
KQotICAgIHsKLSAgICAgICAgdmFyIGEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJhIikKLSAg
ICAgICAgdmFyIGIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJiIikKLSAgICAgICAgYXNzZXJ0
X3Rocm93cygiTk9UX0ZPVU5EX0VSUiIsIGZ1bmN0aW9uKCl7YS5yZW1vdmVDaGlsZChiKX0pOwot
ICAgIH0sICJUZXN0IHRocm93IERPTSBleGNlcHRpb24iKQotCi0gICAgdGVzdChmdW5jdGlvbigp
Ci0gICAgewotICAgICAgICB2YXIgYSA9IGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCJhIikKLSAg
ICAgICAgdmFyIGIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJiIikKLSAgICAgICAgYXNzZXJ0
X3Rocm93cygiTk9UX0ZPVU5EX0VSUiIsIGZ1bmN0aW9uKCl7YS5hcHBlbmRDaGlsZChiKX0pOwot
ICAgIH0sICJUZXN0IHRocm93IERPTSBleGNlcHRpb24gZXhwZWN0ZWQgdG8gZmFpbCIpCi0KLSAg
ICB0ZXN0KGZ1bmN0aW9uKCkKLSAgICB7Ci0gICAgICAgIHZhciBlID0ge2NvZGU6MCwgbmFtZToi
VEVTVF9FUlIiLCBURVNUX0VSUjowfQotICAgICAgICBhc3NlcnRfdGhyb3dzKCJURVNUX0VSUiIs
IGZ1bmN0aW9uKCkge3Rocm93IGV9KTsKLSAgICB9LCAiVGVzdCBhc3NlcnRfdGhyb3dzIHdpdGgg
bm9uLURPTS1leGNlcHRpb24gZXhwZWN0ZWQgdG8gRmFpbCIpOwotCi0gICAgdmFyIHQgPSBhc3lu
Y190ZXN0KCJUZXN0IHN0ZXBfZnVuYyIpCi0gICAgc2V0VGltZW91dCgKLSAgICAgIHQuc3RlcF9m
dW5jKAotICAgICAgICBmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAgYXNzZXJ0X3RydWUodHJ1ZSk7
IHQuZG9uZSgpOwotICAgICAgICB9KSwgMCk7Ci0KLSAgICBhc3luY190ZXN0KGZ1bmN0aW9uKHQp
IHsKLSAgICAgICAgc2V0VGltZW91dCh0LnN0ZXBfZnVuYyhmdW5jdGlvbiAoKXthc3NlcnRfdHJ1
ZSh0cnVlKTsgdC5kb25lKCk7fSksIDApOwotICAgIH0sICJUZXN0IGFzeW5jIHRlc3Qgd2l0aCBj
YWxsYmFjayIpOwotCi0gICAgYXN5bmNfdGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgc2V0VGlt
ZW91dCh0aGlzLnN0ZXBfZnVuYyhmdW5jdGlvbiAoKXthc3NlcnRfdHJ1ZSh0cnVlKTsgdGhpcy5k
b25lKCk7fSksIDApOwotICAgIH0sICJUZXN0IGFzeW5jIHRlc3Qgd2l0aCBjYWxsYmFjayBhbmQg
YHRoaXNgIG9iai4iKTsKLQotICAgIGFzeW5jX3Rlc3QoInRlc3Qgc2hvdWxkIHRpbWVvdXQgKGZh
aWwpIHdpdGggdGhlIGRlZmF1bHQgb2YgMiBzZWNvbmRzIikuc3RlcChmdW5jdGlvbigpe30pOwot
Ci0gICAgYXN5bmNfdGVzdCgidGVzdCBzaG91bGQgdGltZW91dCAoZmFpbCkgd2l0aCBhIGN1c3Rv
bSBzZXQgdGltZW91dCB2YWx1ZSBvZiAxIHNlY29uZCIsCi0gICAgICAgICAgICAgICB7dGltZW91
dDoxMDAwfSkuc3RlcChmdW5jdGlvbigpe30pOwotCi0gICAgYXN5bmNfdGVzdCgiYXN5bmMgdGVz
dCB0aGF0IGlzIG5ldmVyIHN0YXJ0ZWQsIHNob3VsZCBoYXZlIHN0YXR1cyBOb3QgUnVuIiwge3Rp
bWVvdXQ6MTAwMH0pOwotCi0KLSAgICB0ZXN0KGZ1bmN0aW9uKHQpIHsKLSAgICAgICAgICAgICB3
aW5kb3cuZ2xvYmFsID0gMTsKLSAgICAgICAgICAgICB0LmFkZF9jbGVhbnVwKGZ1bmN0aW9uKCkg
e2RlbGV0ZSB3aW5kb3cuZ2xvYmFsfSk7Ci0gICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyh3aW5k
b3cuZ2xvYmFsLCAxKTsKLSAgICAgICAgIH0sCi0gICAgICAgICAiVGVzdCB0aGF0IGRlZmluZXMg
YSBnbG9iYWwgYW5kIGNsZWFucyBpdCB1cCIpOwotCi0gICAgdGVzdChmdW5jdGlvbigpIHthc3Nl
cnRfZXF1YWxzKHdpbmRvdy5nbG9iYWwsIHVuZGVmaW5lZCl9LAotICAgICAgICAgIlRlc3QgdGhh
dCBjbGVhbnVwIGhhbmRsZXJzIGZyb20gcHJldmlvdXMgdGVzdCByYW4iKTsKLQotPC9zY3JpcHQ+
Ci08L2JvZHk+Ci08L2h0bWw+Ci0KLQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy9hcGlzYW1wbGUxMC5o
dG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvZXhhbXBsZXMvYXBpc2FtcGxlMTAuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggNjk4MTBmZTE2Y2YuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBsZTEwLmh0bWwK
KysrIC9kZXYvbnVsbApAQCAtMSwxMTkgKzAsMCBAQAotPCFET0NUWVBFIEhUTUw+Ci08aHRtbD4K
LTxoZWFkPgotPHRpdGxlPkFzeW5jIFRlc3RzIGFuZCBQcm9taXNlczwvdGl0bGU+Ci08L2hlYWQ+
Ci08Ym9keT4KLTxoMT5Bc3luYyBUZXN0cyBhbmQgUHJvbWlzZXM8L2gxPgotPHA+VGhpcyB0ZXN0
IGFzc3VtZXMgRUNNQVNjcmlwdCA2IFByb21pc2Ugc3VwcG9ydC4gU29tZSBmYWlsdXJlcyBhcmUg
ZXhwZWN0ZWQuPC9wPgotPGRpdiBpZD0ibG9nIj48L2Rpdj4KLTxzY3JpcHQgc3JjPSIuLi90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLQotdGVzdChmdW5jdGlvbigpIHsKLSAgdmFyIHAgPSBu
ZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHt9KTsKLSAgYXNzZXJ0X3RydWUo
J3RoZW4nIGluIHApOwotICBhc3NlcnRfZXF1YWxzKHR5cGVvZiBQcm9taXNlLnJlc29sdmUsICdm
dW5jdGlvbicpOwotICBhc3NlcnRfZXF1YWxzKHR5cGVvZiBQcm9taXNlLnJlamVjdCwgJ2Z1bmN0
aW9uJyk7Ci19LCAiUHJvbWlzZXMgYXJlIHN1cHBvcnRlZCBpbiB5b3VyIGJyb3dzZXIiKTsKLQot
KGZ1bmN0aW9uKCkgewotICB2YXIgdCA9IGFzeW5jX3Rlc3QoIlByb21pc2UgcmVzb2x1dGlvbiIp
OwotICB0LnN0ZXAoZnVuY3Rpb24oKSB7Ci0gICAgUHJvbWlzZS5yZXNvbHZlKCd4JykudGhlbigK
LSAgICAgIHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHZhbHVlKSB7Ci0gICAgICAgIGFzc2VydF9lcXVh
bHModmFsdWUsICd4Jyk7Ci0gICAgICAgIHQuZG9uZSgpOwotICAgICAgfSksCi0gICAgICB0LnVu
cmVhY2hlZF9mdW5jKCdQcm9taXNlIHNob3VsZCBub3QgcmVqZWN0JykKLSAgICApOwotICB9KTsK
LX0oKSk7Ci0KLShmdW5jdGlvbigpIHsKLSAgdmFyIHQgPSBhc3luY190ZXN0KCJQcm9taXNlIHJl
amVjdGlvbiIpOwotICB0LnN0ZXAoZnVuY3Rpb24oKSB7Ci0gICAgUHJvbWlzZS5yZWplY3QoRXJy
b3IoJ2ZhaWwnKSkudGhlbigKLSAgICAgIHQudW5yZWFjaGVkX2Z1bmMoJ1Byb21pc2Ugc2hvdWxk
IHJlamVjdCcpLAotICAgICAgdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Ci0gICAgICAg
IGFzc2VydF90cnVlKHJlYXNvbiBpbnN0YW5jZW9mIEVycm9yKTsKLSAgICAgICAgYXNzZXJ0X2Vx
dWFscyhyZWFzb24ubWVzc2FnZSwgJ2ZhaWwnKTsKLSAgICAgICAgdC5kb25lKCk7Ci0gICAgICB9
KQotICAgICk7Ci0gIH0pOwotfSgpKTsKLQotKGZ1bmN0aW9uKCkgewotICB2YXIgdCA9IGFzeW5j
X3Rlc3QoIlByb21pc2VzIHJlc29sdXRpb24gY2hhaW5pbmciKTsKLSAgdC5zdGVwKGZ1bmN0aW9u
KCkgewotICAgIHZhciByZXNvbHV0aW9ucyA9IFtdOwotICAgIFByb21pc2UucmVzb2x2ZSgnYScp
LnRoZW4oCi0gICAgICB0LnN0ZXBfZnVuYyhmdW5jdGlvbih2YWx1ZSkgewotICAgICAgICByZXNv
bHV0aW9ucy5wdXNoKHZhbHVlKTsKLSAgICAgICAgcmV0dXJuICdiJzsKLSAgICAgIH0pCi0gICAg
KS50aGVuKAotICAgICAgdC5zdGVwX2Z1bmMoZnVuY3Rpb24odmFsdWUpIHsKLSAgICAgICAgcmVz
b2x1dGlvbnMucHVzaCh2YWx1ZSk7Ci0gICAgICAgIHJldHVybiAnYyc7Ci0gICAgICB9KQotICAg
ICkudGhlbigKLSAgICAgIHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHZhbHVlKSB7Ci0gICAgICAgIHJl
c29sdXRpb25zLnB1c2godmFsdWUpOwotCi0gICAgICAgIGFzc2VydF9hcnJheV9lcXVhbHMocmVz
b2x1dGlvbnMsIFsnYScsICdiJywgJ2MnXSk7Ci0gICAgICAgIHQuZG9uZSgpOwotICAgICAgfSkK
LSAgICApLmNhdGNoKAotICAgICAgdC51bnJlYWNoZWRfZnVuYygncHJvbWlzZSBzaG91bGQgbm90
IGhhdmUgcmVqZWN0ZWQnKQotICAgICk7Ci0gIH0pOwotfSgpKTsKLQotKGZ1bmN0aW9uKCkgewot
ICB2YXIgdCA9IGFzeW5jX3Rlc3QoIlVzZSBvZiBzdGVwX2Z1bmMgd2l0aCBQcm9taXNlcyIpOwot
ICB0LnN0ZXAoZnVuY3Rpb24oKSB7Ci0gICAgdmFyIHJlc29sdXRpb25zID0gW107Ci0gICAgUHJv
bWlzZS5yZXNvbHZlKCd4JykudGhlbigKLSAgICAgIHQuc3RlcF9mdW5jX2RvbmUoKSwKLSAgICAg
IHQudW5yZWFjaGVkX2Z1bmMoJ1Byb21pc2Ugc2hvdWxkIG5vdCBoYXZlIHJlamVjdGVkJykKLSAg
ICApOwotICB9KTsKLX0oKSk7Ci0KLShmdW5jdGlvbigpIHsKLSAgdmFyIHQgPSBhc3luY190ZXN0
KCJQcm9taXNlcyBhbmQgdGVzdCBhc3NlcnRpb24gZmFpbHVyZXMgKHNob3VsZCBmYWlsKSIpOwot
ICB0LnN0ZXAoZnVuY3Rpb24oKSB7Ci0gICAgdmFyIHJlc29sdXRpb25zID0gW107Ci0gICAgUHJv
bWlzZS5yZXNvbHZlKCd4JykudGhlbigKLSAgICAgIHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHZhbHVl
KSB7Ci0gICAgICAgIGFzc2VydF90cnVlKGZhbHNlLCAnVGhpcyBmYWlsdXJlIGlzIGV4cGVjdGVk
Jyk7Ci0gICAgICB9KQotICAgICkudGhlbigKLSAgICAgIHQudW5yZWFjaGVkX2Z1bmMoJ1Byb21p
c2Ugc2hvdWxkIG5vdCBoYXZlIHJlc29sdmVkJykKLSAgICApLmNhdGNoKAotICAgICAgdC51bnJl
YWNoZWRfZnVuYygnUHJvbWlzZSBzaG91bGQgbm90IGhhdmUgcmVqZWN0ZWQnKQotICAgICk7Ci0g
IH0pOwotfSgpKTsKLQotKGZ1bmN0aW9uKCkgewotICB2YXIgdCA9IGFzeW5jX3Rlc3QoIlVzZSBv
ZiB1bnJlYWNoZWRfZnVuYyB3aXRoIFByb21pc2VzIChzaG91bGQgZmFpbCkiKTsKLSAgdC5zdGVw
KGZ1bmN0aW9uKCkgewotICAgIHZhciByZXNvbHV0aW9ucyA9IFtdOwotICAgIHZhciByOwotICAg
IHZhciBwID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7Ci0gICAgICAv
LyBSZWplY3QgaW5zdGVhZCBvZiByZXNvbHZlLCB0byBkZW1vbnN0cmF0ZSBmYWlsdXJlLgotICAg
ICAgcmVqZWN0KDEyMyk7Ci0gICAgfSk7Ci0gICAgcC50aGVuKAotICAgICAgZnVuY3Rpb24odmFs
dWUpIHsKLSAgICAgICAgYXNzZXJ0X2VxdWFscyh2YWx1ZSwgMTIzLCAnVGhpcyBzaG91bGQgbm90
IGFjdHVhbGx5IGhhcHBlbicpOwotICAgICAgfSwKLSAgICAgIHQudW5yZWFjaGVkX2Z1bmMoJ1Ro
aXMgZmFpbHVyZSBpcyBleHBlY3RlZCcpCi0gICAgKTsKLSAgfSk7Ci19KCkpOwotPC9zY3JpcHQ+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy9leGFtcGxlcy9hcGlzYW1wbGUxMS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2FtcGxlMTEu
aHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzJlODk4NGMzZjEuLjAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBsZTExLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw5OSAr
MCwwIEBACi08IURPQ1RZUEUgSFRNTD4KLTxodG1sPgotPGhlYWQ+Ci08dGl0bGU+RXhhbXBsZSB3
aXRoIGlmcmFtZSB0aGF0IG5vdGlmaWVzIGNvbnRhaW5pbmcgZG9jdW1lbnQgdmlhIGNhbGxiYWNr
czwvdGl0bGU+Ci08c2NyaXB0IHNyYz0iLi4vdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii4uL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxi
b2R5IG9ubG9hZD0ic3RhcnRfdGVzdF9pbl9pZnJhbWUoKSI+Ci08aDE+Q2FsbGJhY2tzIEZyb20g
VGVzdHMgUnVubmluZyBJbiBBbiBJRlJBTUU8L2gxPgotPHA+QSB0ZXN0IGlzIHJ1biBpbnNpZGUg
YW4gPHR0PmlmcmFtZTwvdHQ+IHdpdGggYSBzYW1lIG9yaWdpbiBkb2N1bWVudC4gVGhlCi1jb250
YWluaW5nIGRvY3VtZW50IHNob3VsZCByZWNlaXZlIGNhbGxiYWNrcyBhcyB0aGUgdGVzdHMgcHJv
Z3Jlc3MgaW5zaWRlIHRoZQotPHR0PmlmcmFtZTwvdHQ+LiBBIHNpbmdsZSBwYXNzaW5nIHRlc3Qg
aXMgZXhwZWN0ZWQgaW4gdGhlIHN1bW1hcnkgYmVsb3cuCi08ZGl2IGlkPSJsb2ciPjwvZGl2Pgot
Ci08c2NyaXB0PgotdmFyIGNhbGxiYWNrcyA9IFtdOwotdmFyIFNUQVJUID0gMQotdmFyIFRFU1Rf
U1RBVEUgPSAyCi12YXIgUkVTVUxUID0gMwotdmFyIENPTVBMRVRJT04gPSA0Ci12YXIgdGVzdF9j
b21wbGV0ZSA9IGZhbHNlOwotCi1zZXR1cCh7ZXhwbGljaXRfZG9uZTogdHJ1ZX0pOwotCi0vLyBU
aGUgZm9sbG93aW5nIGNhbGxiYWNrcyBhcmUgY2FsbGVkIGZvciB0ZXN0cyBpbiB0aGlzIGRvY3Vt
ZW50IGFzIHdlbGwgYXMgdGhlCi0vLyB0ZXN0cyBpbiB0aGUgSUZSQU1FLiBDdXJyZW50bHksIGNh
bGxiYWNrcyBpbnZva2VkIGZyb20gdGhpcyBkb2N1bWVudCBhbmQgYW55Ci0vLyBjaGlsZCBkb2N1
bWVudCBhcmUgaW5kaXN0aW5ndWlzaGFibGUgZnJvbSBlYWNoIG90aGVyLgotCi1mdW5jdGlvbiBz
dGFydF9jYWxsYmFjayhwcm9wZXJ0aWVzKSB7Ci0gICAgY2FsbGJhY2tzLnB1c2goU1RBUlQpOwot
fQotCi1mdW5jdGlvbiB0ZXN0X3N0YXRlX2NhbGxiYWNrKHRlc3QpIHsKLSAgICBjYWxsYmFja3Mu
cHVzaChURVNUX1NUQVRFKTsKLX0KLQotZnVuY3Rpb24gcmVzdWx0X2NhbGxiYWNrKHRlc3QpIHsK
LSAgICBjYWxsYmFja3MucHVzaChSRVNVTFQpOwotfQotCi1mdW5jdGlvbiBjb21wbGV0aW9uX2Nh
bGxiYWNrKHRlc3RzLCBzdGF0dXMpIHsKLSAgICBpZiAodGVzdF9jb21wbGV0ZSkgewotICAgICAg
ICByZXR1cm47Ci0gICAgfQotICAgIHRlc3RfY29tcGxldGUgPSB0cnVlOwotICAgIGNhbGxiYWNr
cy5wdXNoKENPTVBMRVRJT04pOwotICAgIHZlcmlmeV9yZWNlaXZlZF9jYWxsYmFja3MoKTsKLSAg
ICBkb25lKCk7Ci19Ci0KLWZ1bmN0aW9uIHZlcmlmeV9yZWNlaXZlZF9jYWxsYmFja3MoKSB7Ci0g
ICAgdmFyIGNvcHlfb2ZfY2FsbGJhY2tzID0gY2FsbGJhY2tzLnNsaWNlKDApOwotCi0gICAgLy8g
Tm90ZSB0aGF0IHlvdSBjYW4ndCBydW4gdGVzdCBhc3NlcnRpb25zIGRpcmVjdGx5IGluIGEgY2Fs
bGJhY2sgZXZlbiBpZgotICAgIC8vIHRoaXMgaXMgYSBmaWxlIHRlc3QuIFdoZW4gdGhlIGNhbGxi
YWNrIGlzIGludm9rZWQgZnJvbSBhIHNhbWUtb3JpZ2luIGNoaWxkCi0gICAgLy8gcGFnZSwgdGhl
IGNhbGxzdGFjayByZWFjaGVzIGludG8gdGhlIGNhbGxpbmcgY2hpbGQgZG9jdW1lbnQuIEFueQot
ICAgIC8vIGV4Y2VwdGlvbiB0aHJvd24gaW4gYSBjYWxsYmFjayB3aWxsIGJlIGhhbmRsZWQgYnkg
dGhlIGNoaWxkIHJhdGhlciB0aGFuCi0gICAgLy8gdGhpcyBkb2N1bWVudC4KLSAgICB0ZXN0KAot
ICAgICAgICBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgIC8vIGNhbGxiYWNrcyBsaXN0IHNob3Vs
ZCBsb29rIGxpa2U6Ci0gICAgICAgICAgICAvLyAgICAgU1RBUlQgMSooVEVTVF9TVEFURSkgUkVT
VUxUIENPTVBMRVRJT04KLSAgICAgICAgICAgIGFzc2VydF9lcXVhbHMoY29weV9vZl9jYWxsYmFj
a3Muc2hpZnQoKSwgU1RBUlQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICJUaGUgZmlyc3Qg
cmVjZWl2ZWQgY2FsbGJhY2sgc2hvdWxkIGJlICdzdGFydF9jYWxsYmFjaycuIik7Ci0gICAgICAg
ICAgICBhc3NlcnRfZXF1YWxzKGNvcHlfb2ZfY2FsbGJhY2tzLnNoaWZ0KCksIFRFU1RfU1RBVEUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICIndGVzdF9zdGF0ZV9jYWxsYmFjaycgc2hvdWxk
IGJlIHJlY2VpdmVkIGJlZm9yZSBhbnkgIiArCi0gICAgICAgICAgICAgICAgICAgICAgICAgICJy
ZXN1bHQgb3IgY29tcGxldGlvbiBjYWxsYmFja3MuIik7Ci0gICAgICAgICAgICB3aGlsZShjb3B5
X29mX2NhbGxiYWNrcy5sZW5ndGggPiAwKSB7Ci0gICAgICAgICAgICAgICAgdmFyIGNhbGxiYWNr
ID0gY29weV9vZl9jYWxsYmFja3Muc2hpZnQoKTsKLSAgICAgICAgICAgICAgICBpZiAoY2FsbGJh
Y2sgIT0gVEVTVF9TVEFURSkgewotICAgICAgICAgICAgICAgICAgICBjb3B5X29mX2NhbGxiYWNr
cy51bnNoaWZ0KGNhbGxiYWNrKTsKLSAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAg
ICAgICAgICAgfQotICAgICAgICAgICAgfQotICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhjb3B5
X29mX2NhbGxiYWNrcy5zaGlmdCgpLCBSRVNVTFQsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICIndGVzdF9zdGF0ZV9jYWxsYmFjaycgc2hvdWxkIGJlIGZvbGxvd2VkIGJ5ICdyZXN1bHRfY2Fs
bGJhY2snLiIpOwotICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhjb3B5X29mX2NhbGxiYWNrcy5z
aGlmdCgpLCBDT01QTEVUSU9OLAotICAgICAgICAgICAgICAgICAgICAgICAgICAiRmluYWwgJ3Jl
c3VsdF9jYWxsYmFjaycgc2hvdWxkIGJlIGZvbGxvd2VkIGJ5ICdjb21wbGV0aW9uX2NhbGxiYWNr
Jy4iKTsKLSAgICAgICAgICAgIGFzc2VydF9lcXVhbHMoY29weV9vZl9jYWxsYmFja3MubGVuZ3Ro
LCAwLAotICAgICAgICAgICAgICAgICAgICAgICAgICAiJ2NvbXBsZXRpb25fY2FsbGJhY2snIHNo
b3VsZCBiZSB0aGUgbGFzdCBjYWxsYmFjay4iKTsKLSAgICAgICAgfSk7Ci19Ci0KLWZ1bmN0aW9u
IHN0YXJ0X3Rlc3RfaW5faWZyYW1lKCkgewotICAgIC8vIFRoaXMgZG9jdW1lbnQgaXMgZ29pbmcg
dG8gY2xlYXIgYW55IHJlY2VpdmVkIGNhbGxiYWNrcyBhbmQgbWFpbnRhaW4KLSAgICAvLyByYWRp
byBzaWxlbmNlIHVudGlsIHRoZSB0ZXN0IGluIHRoZSBpZnJhbWUgcnVucyB0byBjb21wbGV0aW9u
LiBUaGUKLSAgICAvLyBjb21wbGV0aW9uX2NhbGxiYWNrKCkgd2lsbCB0aGVuIGNvbXBsZXRlIHRo
ZSB0ZXN0aW5nIG9uIHRoaXMgZG9jdW1lbnQuCi0gICAgY2FsbGJhY2tzLmxlbmd0aCA9IDA7Ci0g
ICAgdmFyIGlmcmFtZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlmcmFtZSIpOwotICAgIC8v
IGFwaXNhbXBsZTYuaHRtbCBoYXMgYSBzaW5nbGUgdGVzdC4KLSAgICBpZnJhbWUuc3JjID0gImFw
aXNhbXBsZTYuaHRtbCI7Ci0gICAgaWZyYW1lLnN0eWxlLnNldFByb3BlcnR5KCJkaXNwbGF5Iiwg
Im5vbmUiKTsKLSAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGFyZ2V0IikuYXBwZW5kQ2hp
bGQoaWZyYW1lKTsKLX0KLTwvc2NyaXB0PgotCi08ZGl2IGlkPSJ0YXJnZXQiPgotPC9kaXY+Ci08
L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy9hcGlzYW1wbGUxMi5odG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2Ft
cGxlMTIuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjM5YTYxYTZmMjkuLjAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBsZTEyLmh0bWwKKysrIC9kZXYvbnVsbApAQCAt
MSw2NyArMCwwIEBACi08IURPQ1RZUEUgSFRNTD4KLTxodG1sPgotPGhlYWQ+Ci08dGl0bGU+RXhh
bXBsZSB3aXRoIGlmcmFtZSB0aGF0IG5vdGlmaWVzIGNvbnRhaW5pbmcgZG9jdW1lbnQgdmlhIGNy
b3NzIGRvY3VtZW50IG1lc3NhZ2luZzwvdGl0bGU+Ci08c2NyaXB0IHNyYz0iLi4vdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48
L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGgxPk5vdGlmaWNhdGlvbnMgRnJvbSBUZXN0cyBS
dW5uaW5nIEluIEFuIElGUkFNRTwvaDE+Ci08cD5BIHRlc3QgaXMgcnVuIGluc2lkZSBhbiA8dHQ+
aWZyYW1lPC90dD4gd2l0aCBhIHNhbWUgb3JpZ2luIGRvY3VtZW50LiBUaGUKLWNvbnRhaW5pbmcg
ZG9jdW1lbnQgc2hvdWxkIHJlY2VpdmUgbWVzc2FnZXMgdmlhIDx0dD5wb3N0TWVzc2FnZTwvdHQ+
LwotPHR0Pm9ubWVzc2FnZTwvdHQ+IGFzIHRoZSB0ZXN0cyBwcm9ncmVzcyBpbnNpZGUgdGhlIDx0
dD5pZnJhbWU8L3R0Pi4gQSBzaW5nbGUKLXBhc3NpbmcgdGVzdCBpcyBleHBlY3RlZCBpbiB0aGUg
c3VtbWFyeSBiZWxvdy4KLTwvcD4KLTxkaXYgaWQ9ImxvZyI+PC9kaXY+Ci0KLTxzY3JpcHQ+Ci12
YXIgdCA9IGFzeW5jX3Rlc3QoIkNvbnRhaW5pbmcgZG9jdW1lbnQgcmVjZWl2ZXMgbWVzc2FnZXMi
KTsKLXZhciBzdGFydF9yZWNlaXZlZCA9IGZhbHNlOwotdmFyIHJlc3VsdF9yZWNlaXZlZCA9IGZh
bHNlOwotdmFyIGNvbXBsZXRpb25fcmVjZWl2ZWQgPSBmYWxzZTsKLQotLy8gVGhlc2UgYXJlIHRo
ZSBtZXNzYWdlcyB0aGF0IGFyZSBleHBlY3RlZCB0byBiZSBzZWVuIHdoaWxlIHJ1bm5pbmcgdGhl
IHRlc3RzCi0vLyBpbiB0aGUgSUZSQU1FLgotdmFyIGV4cGVjdGVkX21lc3NhZ2VzID0gWwotICAg
IHQuc3RlcF9mdW5jKAotICAgICAgICBmdW5jdGlvbihtZXNzYWdlKSB7Ci0gICAgICAgICAgICBh
c3NlcnRfZXF1YWxzKG1lc3NhZ2UuZGF0YS50eXBlLCAic3RhcnQiKTsKLSAgICAgICAgICAgIGFz
c2VydF9vd25fcHJvcGVydHkobWVzc2FnZS5kYXRhLCAicHJvcGVydGllcyIpOwotICAgICAgICB9
KSwKLQotICAgIHQuc3RlcF9mdW5jKAotICAgICAgICBmdW5jdGlvbihtZXNzYWdlKSB7Ci0gICAg
ICAgICAgICBhc3NlcnRfZXF1YWxzKG1lc3NhZ2UuZGF0YS50eXBlLCAidGVzdF9zdGF0ZSIpOwot
ICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhtZXNzYWdlLmRhdGEudGVzdC5zdGF0dXMsIG1lc3Nh
Z2UuZGF0YS50ZXN0Lk5PVFJVTik7Ci0gICAgICAgIH0pLAotCi0gICAgdC5zdGVwX2Z1bmMoCi0g
ICAgICAgIGZ1bmN0aW9uKG1lc3NhZ2UpIHsKLSAgICAgICAgICAgIGFzc2VydF9lcXVhbHMobWVz
c2FnZS5kYXRhLnR5cGUsICJyZXN1bHQiKTsKLSAgICAgICAgICAgIGFzc2VydF9lcXVhbHMobWVz
c2FnZS5kYXRhLnRlc3Quc3RhdHVzLCBtZXNzYWdlLmRhdGEudGVzdC5QQVNTKTsKLSAgICAgICAg
fSksCi0KLSAgICB0LnN0ZXBfZnVuYygKLSAgICAgICAgZnVuY3Rpb24obWVzc2FnZSkgewotICAg
ICAgICAgICAgYXNzZXJ0X2VxdWFscyhtZXNzYWdlLmRhdGEudHlwZSwgImNvbXBsZXRlIik7Ci0g
ICAgICAgICAgICBhc3NlcnRfZXF1YWxzKG1lc3NhZ2UuZGF0YS50ZXN0cy5sZW5ndGgsIDEpOwot
ICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhtZXNzYWdlLmRhdGEudGVzdHNbMF0uc3RhdHVzLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlLmRhdGEudGVzdHNbMF0uUEFTUyk7Ci0g
ICAgICAgICAgICBhc3NlcnRfZXF1YWxzKG1lc3NhZ2UuZGF0YS5zdGF0dXMuc3RhdHVzLCBtZXNz
YWdlLmRhdGEuc3RhdHVzLk9LKTsKLSAgICAgICAgICAgIHQuZG9uZSgpOwotICAgICAgICB9KSwK
LQotICAgIHQudW5yZWFjaGVkX2Z1bmMoIlRvbyBtYW55IG1lc3NhZ2VzIHJlY2VpdmVkIikKLV07
Ci0KLW9uX2V2ZW50KHdpbmRvdywKLSAgICAgICAgICJtZXNzYWdlIiwKLSAgICAgICAgIGZ1bmN0
aW9uKG1lc3NhZ2UpIHsKLSAgICAgICAgICAgICB2YXIgaGFuZGxlciA9IGV4cGVjdGVkX21lc3Nh
Z2VzLnNoaWZ0KCk7Ci0gICAgICAgICAgICAgaGFuZGxlcihtZXNzYWdlKTsKLSAgICAgICAgIH0p
OwotPC9zY3JpcHQ+Ci08aWZyYW1lIHNyYz0iYXBpc2FtcGxlNi5odG1sIiBzdHlsZT0iZGlzcGxh
eTpub25lIj4KLSAgPCEtLSAgYXBpc2FtcGxlNiBpbXBsZW1lbnRzIGEgZmlsZV9pc190ZXN0IHRl
c3QuICAtLT4KLTwvaWZyYW1lPgotPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2FtcGxl
MTMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBsZTEzLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IGY2Y2YwZWVjODMxLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy9hcGlzYW1wbGUxMy5o
dG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTMyICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0
bWw+Ci08aGVhZD4KLTx0aXRsZT5Qcm9taXNlIFRlc3RzPC90aXRsZT4KLTwvaGVhZD4KLTxib2R5
PgotPGgxPlByb21pc2UgVGVzdHM8L2gxPgotPHA+VGhpcyB0ZXN0IGRlbW9uc3RyYXRlcyB0aGUg
dXNlIG9mIDx0dD5wcm9taXNlX3Rlc3Q8L3R0Pi4gQXNzdW1lcyBFQ01BU2NyaXB0IDYKLVByb21p
c2Ugc3VwcG9ydC4gU29tZSBmYWlsdXJlcyBhcmUgZXhwZWN0ZWQuPC9wPgotPGRpdiBpZD0ibG9n
Ij48L2Rpdj4KLTxzY3JpcHQgc3JjPSIuLi90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2Ny
aXB0IHNyYz0iLi4vdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLXRl
c3QoCi0gICAgZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBwID0gbmV3IFByb21pc2UoZnVuY3Rp
b24ocmVzb2x2ZSwgcmVqZWN0KXt9KTsKLSAgICAgICAgYXNzZXJ0X3RydWUoInRoZW4iIGluIHAp
OwotICAgICAgICBhc3NlcnRfZXF1YWxzKHR5cGVvZiBQcm9taXNlLnJlc29sdmUsICJmdW5jdGlv
biIpOwotICAgICAgICBhc3NlcnRfZXF1YWxzKHR5cGVvZiBQcm9taXNlLnJlamVjdCwgImZ1bmN0
aW9uIik7Ci0gICAgfSwKLSAgICAiUHJvbWlzZXMgYXJlIHN1cHBvcnRlZCBpbiB5b3VyIGJyb3dz
ZXIiKTsKLQotcHJvbWlzZV90ZXN0KAotICAgIGZ1bmN0aW9uKCkgewotICAgICAgICByZXR1cm4g
UHJvbWlzZS5yZXNvbHZlKCJ4IikKLSAgICAgICAgICAgIC50aGVuKAotICAgICAgICAgICAgICAg
IGZ1bmN0aW9uKHZhbHVlKSB7Ci0gICAgICAgICAgICAgICAgICAgIGFzc2VydF9lcXVhbHModmFs
dWUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIngiLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJGdWxmaWxsZWQgcHJvbWlzZSBzaG91bGQgcGFzcyByZXN1
bHQgdG8gIiArCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImZ1bGZpbGwgcmVh
Y3Rpb24uIik7Ci0gICAgICAgICAgICAgICAgfSk7Ci0gICAgfSwKLSAgICAiUHJvbWlzZSBmdWxm
aWxsbWVudCB3aXRoIHJlc3VsdCIpOwotCi1wcm9taXNlX3Rlc3QoCi0gICAgZnVuY3Rpb24odCkg
ewotICAgICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QobmV3IEVycm9yKCJmYWlsIikpCi0gICAg
ICAgICAgICAudGhlbih0LnVucmVhY2hlZF9mdW5jKCJQcm9taXNlIHNob3VsZCByZWplY3QiKSwK
LSAgICAgICAgICAgICAgICBmdW5jdGlvbihyZWFzb24pIHsKLSAgICAgICAgICAgICAgICAgICAg
YXNzZXJ0X3RydWUoCi0gICAgICAgICAgICAgICAgICAgICAgICByZWFzb24gaW5zdGFuY2VvZiBF
cnJvciwKLSAgICAgICAgICAgICAgICAgICAgICAgICJSZWplY3RlZCBwcm9taXNlIHNob3VsZCBw
YXNzIHJlYXNvbiB0byBmdWxmaWxsIHJlYWN0aW9uLiIpOwotICAgICAgICAgICAgICAgICAgICBh
c3NlcnRfZXF1YWxzKAotICAgICAgICAgICAgICAgICAgICAgICAgcmVhc29uLm1lc3NhZ2UsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAiZmFpbCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAi
UmVqZWN0ZWQgcHJvbWlzZSBzaG91bGQgcGFzcyByZWFzb24gdG8gcmVqZWN0IHJlYWN0aW9uLiIp
OwotICAgICAgICAgICAgICAgIH0pOwotICAgIH0sCi0gICAgIlByb21pc2UgcmVqZWN0aW9uIHdp
dGggcmVzdWx0Iik7Ci0KLXByb21pc2VfdGVzdCgKLSAgICBmdW5jdGlvbigpIHsKLSAgICAgICAg
dmFyIHJlc29sdXRpb25zID0gW107Ci0gICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoImEi
KQotICAgICAgICAgICAgLnRoZW4oCi0gICAgICAgICAgICAgICAgZnVuY3Rpb24odmFsdWUpIHsK
LSAgICAgICAgICAgICAgICAgICAgcmVzb2x1dGlvbnMucHVzaCh2YWx1ZSk7Ci0gICAgICAgICAg
ICAgICAgICAgIHJldHVybiAiYiI7Ci0gICAgICAgICAgICAgICAgfSkKLSAgICAgICAgICAgIC50
aGVuKAotICAgICAgICAgICAgICAgIGZ1bmN0aW9uKHZhbHVlKSB7Ci0gICAgICAgICAgICAgICAg
ICAgIHJlc29sdXRpb25zLnB1c2godmFsdWUpOwotICAgICAgICAgICAgICAgICAgICByZXR1cm4g
ImMiOwotICAgICAgICAgICAgICAgIH0pCi0gICAgICAgICAgICAudGhlbigKLSAgICAgICAgICAg
ICAgICBmdW5jdGlvbih2YWx1ZSkgewotICAgICAgICAgICAgICAgICAgICByZXNvbHV0aW9ucy5w
dXNoKHZhbHVlKTsKLSAgICAgICAgICAgICAgICAgICAgYXNzZXJ0X2FycmF5X2VxdWFscyhyZXNv
bHV0aW9ucywgWyJhIiwgImIiLCAiYyJdKTsKLSAgICAgICAgICAgICAgICB9KTsKLSAgICB9LAot
ICAgICJDaGFpbiBvZiBwcm9taXNlIHJlc29sdXRpb25zIik7Ci0KLXByb21pc2VfdGVzdCgKLSAg
ICBmdW5jdGlvbih0KSB7Ci0gICAgICAgIHZhciByZXNvbHV0aW9ucyA9IFtdOwotICAgICAgICBy
ZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCJ4IikKLSAgICAgICAgICAgIC50aGVuKAotICAgICAgICAg
ICAgICAgIGZ1bmN0aW9uKHZhbHVlKSB7Ci0gICAgICAgICAgICAgICAgICAgIGFzc2VydF90cnVl
KGZhbHNlLCAiRXhwZWN0ZWQgZmFpbHVyZS4iKTsKLSAgICAgICAgICAgICAgICB9KQotICAgICAg
ICAgICAgLnRoZW4odC51bnJlYWNoZWRfZnVuYygiVU5FWFBFQ1RFRCBGQUlMVVJFOiBQcm9taXNl
IHNob3VsZCBub3QgaGF2ZSByZXNvbHZlZC4iKSk7Ci0gICAgfSwKLSAgICAiQXNzZXJ0aW9uIGZh
aWx1cmUgaW4gYSBmdWxmaWxsIHJlYWN0aW9uIChzaG91bGQgRkFJTCB3aXRoIGFuIGV4cGVjdGVk
IGZhaWx1cmUpIik7Ci0KLXByb21pc2VfdGVzdCgKLSAgICBmdW5jdGlvbih0KSB7Ci0gICAgICAg
IHJldHVybiBuZXcgUHJvbWlzZSgKLSAgICAgICAgICAgICAgICBmdW5jdGlvbihyZXNvbHZlLCBy
ZWplY3QpIHsKLSAgICAgICAgICAgICAgICAgICAgcmVqZWN0KDEyMyk7Ci0gICAgICAgICAgICAg
ICAgfSkKLSAgICAgICAgICAgIC50aGVuKHQudW5yZWFjaGVkX2Z1bmMoIlVORVhQRUNURUQgRkFJ
TFVSRTogRnVsZmlsbCByZWFjdGlvbiByZWFjaGVkIGFmdGVyIHJlamVjdGlvbi4iKSwKLSAgICAg
ICAgICAgICAgICAgIHQudW5yZWFjaGVkX2Z1bmMoIkV4cGVjdGVkIGZhaWx1cmUuIikpOwotICAg
IH0sCi0gICAgInVucmVhY2hlZF9mdW5jIGFzIHJlYWN0b3IgKHNob3VsZCBGQUlMIHdpdGggYW4g
ZXhwZWN0ZWQgZmFpbHVyZSkiKTsKLQotcHJvbWlzZV90ZXN0KAotICAgIGZ1bmN0aW9uKCkgewot
ICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9LAotICAgICJwcm9taXNlX3Rlc3Qgd2l0aCBmdW5j
dGlvbiB0aGF0IGRvZXNuJ3QgcmV0dXJuIGEgUHJvbWlzZSIpOwotCi1wcm9taXNlX3Rlc3QoZnVu
Y3Rpb24oKXt9LAotICAgICAgICAgICAgICJwcm9taXNlX3Rlc3Qgd2l0aCBmdW5jdGlvbiB0aGF0
IGRvZXNuJ3QgcmV0dXJuIGFueXRoaW5nIik7Ci0KLXByb21pc2VfdGVzdCgKLSAgICBmdW5jdGlv
bigpIHsKLSAgICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KCJFeHBlY3RlZCByZWplY3Rpb24i
KTsKLSAgICB9LAotICAgICJwcm9taXNlX3Rlc3Qgd2l0aCB1bmhhbmRsZWQgcmVqZWN0aW9uIChz
aG91bGQgRkFJTCkiKTsKLQotcHJvbWlzZV90ZXN0KAotICAgIGZ1bmN0aW9uKCkgewotICAgICAg
ICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKDEwKQotICAgICAgICAgICAgLnRoZW4oCi0gICAgICAg
ICAgICAgICAgZnVuY3Rpb24odmFsdWUpIHsKLSAgICAgICAgICAgICAgICAgICAgdGhyb3cgRXJy
b3IoIkV4cGVjdGVkIGV4Y2VwdGlvbi4iKTsKLSAgICAgICAgICAgICAgICB9KTsKLSAgICB9LAot
ICAgICJwcm9taXNlX3Rlc3Qgd2l0aCB1bmhhbmRsZWQgZXhjZXB0aW9uIGluIGZ1bGZpbGwgcmVh
Y3Rpb24gKHNob3VsZCBGQUlMKSIpOwotCi1wcm9taXNlX3Rlc3QoCi0gICAgZnVuY3Rpb24odCkg
ewotICAgICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QoMTApCi0gICAgICAgICAgICAudGhlbigK
LSAgICAgICAgICAgICAgICB0LnVucmVhY2hlZF9mdW5jKCJVTkVYUEVDVEVEIEZBSUxVUkU6IEZ1
bGZpbGwgcmVhY3Rpb24gcmVhY2hlZCBhZnRlciByZWplY3Rpb24uIiksCi0gICAgICAgICAgICAg
ICAgZnVuY3Rpb24odmFsdWUpIHsKLSAgICAgICAgICAgICAgICAgICAgdGhyb3cgRXJyb3IoIkV4
cGVjdGVkIGV4Y2VwdGlvbi4iKTsKLSAgICAgICAgICAgICAgICB9KTsKLSAgICB9LAotICAgICJw
cm9taXNlX3Rlc3Qgd2l0aCB1bmhhbmRsZWQgZXhjZXB0aW9uIGluIHJlamVjdCByZWFjdGlvbiAo
c2hvdWxkIEZBSUwpIik7Ci08L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBsZTE0
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy9leGFtcGxlcy9hcGlzYW1wbGUxNC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCA4OTgwM2YwYmI2YS4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2FtcGxlMTQuaHRt
bAorKysgL2Rldi9udWxsCkBAIC0xLDI5ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+
Ci08aGVhZD4KLTx0aXRsZT5EZWRpY2F0ZWQgV29ya2VyIFRlc3RzPC90aXRsZT4KLTxzY3JpcHQg
c3JjPSIuLi90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08aDE+RGVkaWNhdGVk
IFdlYiBXb3JrZXIgVGVzdHM8L2gxPgotPHA+RGVtb25zdHJhdGVzIHJ1bm5pbmcgPHR0PnRlc3Ro
YXJuZXNzPC90dD4gYmFzZWQgdGVzdHMgaW5zaWRlIGEgZGVkaWNhdGVkIHdlYiB3b3JrZXIuCi08
cD5UaGUgdGVzdCBoYXJuZXNzIGlzIGV4cGVjdGVkIHRvIGZhaWwgZHVlIHRvIGFuIHVuY2F1Z2h0
IGV4Y2VwdGlvbiBpbiBvbmUgd29ya2VyLjwvcD4KLTxkaXYgaWQ9ImxvZyI+PC9kaXY+Ci0KLTxz
Y3JpcHQ+Ci10ZXN0KGZ1bmN0aW9uKHQpIHsKLSAgICAgICAgYXNzZXJ0X3RydWUoIldvcmtlciIg
aW4gc2VsZiwgIkJyb3dzZXIgc2hvdWxkIHN1cHBvcnQgV29ya2VycyIpOwotICAgIH0sCi0gICAg
IkJyb3dzZXIgc3VwcG9ydHMgV29ya2VycyIpOwotCi1mZXRjaF90ZXN0c19mcm9tX3dvcmtlcihu
ZXcgV29ya2VyKCJhcGlzYW1wbGUtd29ya2VyLmpzIikpOwotCi1mZXRjaF90ZXN0c19mcm9tX3dv
cmtlcihuZXcgV29ya2VyKCJhcGlzYW1wbGUtZXJyb3Itd29ya2VyLmpzIikpOwotCi10ZXN0KGZ1
bmN0aW9uKHQpIHsKLSAgICAgICAgYXNzZXJ0X2ZhbHNlKGZhbHNlLCAiRmFsc2UgaXMgZmFsc2Ui
KTsKLSAgICB9LAotICAgICJUZXN0IHJ1bm5pbmcgb24gbWFpbiBkb2N1bWVudC4iKTsKLTwvc2Ny
aXB0PgotPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2FtcGxlMTUuaHRtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVz
L2FwaXNhbXBsZTE1Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDYzMWQxOTIy
YmFjLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy9hcGlzYW1wbGUxNS5odG1sCisrKyAvZGV2L251
bGwKQEAgLTEsMjYgKzAsMCBAQAotPCFET0NUWVBFIEhUTUw+Ci08aHRtbD4KLTxoZWFkPgotPHRp
dGxlPkV4YW1wbGUgd2l0aCBhIHNoYXJlZCB3b3JrZXI8L3RpdGxlPgotPHNjcmlwdCBzcmM9Ii4u
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxoMT5TaGFyZWQgV2ViIFdvcmtl
ciBUZXN0czwvaDE+Ci08cD5EZW1vbnN0cmF0ZXMgcnVubmluZyA8dHQ+dGVzdGhhcm5lc3M8L3R0
PiBiYXNlZCB0ZXN0cyBpbnNpZGUgYSBzaGFyZWQgd29ya2VyLgotPHA+VGhlIHRlc3QgaGFybmVz
cyBzaG91bGQgdGltZSBvdXQgZHVlIHRvIG9uZSBvZiB0aGUgdGVzdHMgaW4gdGhlIHdvcmtlciB0
aW1pbmcgb3V0LgotPHA+VGhpcyB0ZXN0IGFzc3VtZXMgdGhhdCB0aGUgYnJvd3NlciBzdXBwb3J0
cyA8YSBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi93b3JrZXJzLyNzaGFyZWQtd29ya2Vycy1h
bmQtdGhlLXNoYXJlZHdvcmtlci1pbnRlcmZhY2UiPnNoYXJlZCB3ZWIgd29ya2VyczwvYT4uCi08
ZGl2IGlkPSJsb2ciPjwvZGl2PgotCi08c2NyaXB0PgotdGVzdCgKLSAgICBmdW5jdGlvbih0KSB7
Ci0gICAgICAgIGFzc2VydF90cnVlKCJTaGFyZWRXb3JrZXIiIGluIHNlbGYsCi0gICAgICAgICAg
ICAgICAgICAgICJCcm93c2VyIHNob3VsZCBzdXBwb3J0IFNoYXJlZFdvcmtlcnMiKTsKLSAgICB9
LAotICAgICJCcm93c2VyIHN1cHBvcnRzIFNoYXJlZFdvcmtlcnMiKTsKLQotZmV0Y2hfdGVzdHNf
ZnJvbV93b3JrZXIobmV3IFNoYXJlZFdvcmtlcigiYXBpc2FtcGxlLXdvcmtlci5qcyIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJNeSBzaGFyZWQgd29ya2VyIikp
OwotPC9zY3JpcHQ+Ci08L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy9hcGlzYW1wbGUxNi5odG1s
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
ZXhhbXBsZXMvYXBpc2FtcGxlMTYuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
ZDg1OWQ5NGJmNmMuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBsZTE2Lmh0bWwKKysr
IC9kZXYvbnVsbApAQCAtMSw2MiArMCwwIEBACi08IURPQ1RZUEUgSFRNTD4KLTxodG1sPgotPGhl
YWQ+Ci08dGl0bGU+RXhhbXBsZSB3aXRoIGEgc2VydmljZSB3b3JrZXI8L3RpdGxlPgotPHNjcmlw
dCBzcmM9Ii4uL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxoMT5TZXJ2aWNl
IFdvcmtlciBUZXN0czwvaDE+Ci08cD5EZW1vbnN0cmF0ZXMgcnVubmluZyA8dHQ+dGVzdGhhcm5l
c3M8L3R0PiBiYXNlZCB0ZXN0cyBpbnNpZGUgYSBzZXJ2aWNlIHdvcmtlci4KLTxwPlRoZSB0ZXN0
IGhhcm5lc3Mgc2hvdWxkIHRpbWUgb3V0IGR1ZSB0byBvbmUgb2YgdGhlIHRlc3RzIGluc2lkZSB0
aGUgd29ya2VyIHRpbWluZyBvdXQuCi08cD5UaGlzIHRlc3QgYXNzdW1lcyB0aGF0IHRoZSBicm93
c2VyIHN1cHBvcnRzIDxhIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL3NlcnZpY2Utd29ya2Vy
cy8iPlNlcnZpY2VXb3JrZXJzPC9hPi4KLTxkaXYgaWQ9ImxvZyI+PC9kaXY+Ci0KLTxzY3JpcHQ+
Ci10ZXN0KAotICAgIGZ1bmN0aW9uKHQpIHsKLSAgICAgICAgYXNzZXJ0X3RydWUoInNlcnZpY2VX
b3JrZXIiIGluIG5hdmlnYXRvciwKLSAgICAgICAgICAgICAgICAgICAgIm5hdmlnYXRvci5zZXJ2
aWNlV29ya2VyIGV4aXN0cyIpOwotICAgIH0sCi0gICAgIkJyb3dzZXIgc3VwcG9ydHMgU2Vydmlj
ZVdvcmtlciIpOwotCi1wcm9taXNlX3Rlc3QoCi0gICAgZnVuY3Rpb24oKSB7Ci0gICAgICAgIC8v
IFNpbmNlIHRoZSBzZXJ2aWNlIHdvcmtlciByZWdpc3RyYXRpb24gY291bGQgYmUgaW4gYW4gaW5k
ZXRlcm1pbmF0ZQotICAgICAgICAvLyBzdGF0ZSAoZHVlIHRvLCBmb3IgZXhhbXBsZSwgYSBwcmV2
aW91cyB0ZXN0IHJ1biBmYWlsaW5nKSwgd2Ugc3RhcnQgYnkKLSAgICAgICAgLy8gdW5yZWdzdGVy
aW5nIG91ciBzZXJ2aWNlIHdvcmtlciBhbmQgdGhlbiByZWdpc3RlcmluZyBpdCBhZ2Fpbi4KLSAg
ICAgICAgdmFyIHNjb3BlID0gIi9zZXJ2aWNlLXdvcmtlci1zY29wZSI7Ci0gICAgICAgIHZhciB3
b3JrZXJfdXJsID0gImFwaXNhbXBsZS13b3JrZXIuanMiOwotCi0gICAgICAgIHJldHVybiBuYXZp
Z2F0b3Iuc2VydmljZVdvcmtlci5yZWdpc3Rlcih3b3JrZXJfdXJsLCB7c2NvcGU6IHNjb3BlfSkK
LSAgICAgICAgICAgIC50aGVuKAotICAgICAgICAgICAgICAgIGZ1bmN0aW9uKHJlZ2lzdHJhdGlv
bikgewotICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVnaXN0cmF0aW9uLnVucmVnaXN0ZXIo
KTsKLSAgICAgICAgICAgICAgICB9KQotICAgICAgICAgICAgLnRoZW4oCi0gICAgICAgICAgICAg
ICAgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgICAgIHJldHVybiBuYXZpZ2F0b3Iuc2Vy
dmljZVdvcmtlci5yZWdpc3Rlcih3b3JrZXJfdXJsLCB7c2NvcGU6IHNjb3BlfSk7Ci0gICAgICAg
ICAgICAgICAgfSkKLSAgICAgICAgICAgIC50aGVuKAotICAgICAgICAgICAgICAgIGZ1bmN0aW9u
KHJlZ2lzdHJhdGlvbikgewotICAgICAgICAgICAgICAgICAgICBhZGRfY29tcGxldGlvbl9jYWxs
YmFjaygKLSAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHJlZ2lzdHJhdGlvbi51bnJlZ2lzdGVyKCk7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICB9KTsKLQotICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV3IFByb21pc2Uo
Ci0gICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbihyZXNvbHZlKSB7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgcmVnaXN0cmF0aW9uLmFkZEV2ZW50TGlzdGVuZXIoInVwZGF0ZWZv
dW5kIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24oKSB7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNvbHZlKHJlZ2lzdHJhdGlvbi5pbnN0
YWxsaW5nKTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICB9KTsKLSAgICAgICAgICAgICAgICB9KQotICAgICAgICAgICAgLnRoZW4o
Ci0gICAgICAgICAgICAgICAgZnVuY3Rpb24od29ya2VyKSB7Ci0gICAgICAgICAgICAgICAgICAg
IGZldGNoX3Rlc3RzX2Zyb21fd29ya2VyKHdvcmtlcik7Ci0gICAgICAgICAgICAgICAgfSk7Ci0g
ICAgfSwKLSAgICAiUmVnaXN0ZXIgU2VydmljZVdvcmtlciIpOwotPC9zY3JpcHQ+Ci08L2JvZHk+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy9leGFtcGxlcy9hcGlzYW1wbGUxNy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2FtcGxlMTcu
aHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzI3YzQxN2I4ZmIuLjAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBsZTE3Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw1OSAr
MCwwIEBACi08IURPQ1RZUEUgSFRNTD4KLTxodG1sPgotPGhlYWQ+Ci08dGl0bGU+U2FtcGxlIGZv
ciB1c2luZyBnZW5lcmF0ZV90ZXN0cyB0byBjcmVhdGUgYSBzZXJpZXMgb2YgdGVzdHMgdGhhdCBz
aGFyZSB0aGUgc2FtZSBjYWxsYmFjay48L3RpdGxlPgotPHNjcmlwdCBzcmM9Ii4uL3Rlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxzY3JpcHQ+Ci0vLyBnZW5lcmF0ZV90ZXN0cyB0
YWtlcyBhbiBhcnJheSBvZiBhcnJheXMgdGhhdCBkZWZpbmUgdGVzdHMKLS8vIGJ1dCBsZXRzIHBh
c3MgaXQgYW4gZW1wdHkgYXJyYXkgYW5kIHZlcmlmeSBpdCBkb2VzIG5vdGhpbmcuCi1mdW5jdGlv
biBudWxsX2NhbGxiYWNrKCkgewotCXRocm93ICJudWxsX2NhbGxiYWNrIHNob3VsZCBub3QgYmUg
Y2FsbGVkLiI7Ci19Ci1nZW5lcmF0ZV90ZXN0cyhudWxsX2NhbGxiYWNrLCBbXSk7Ci0KLS8vIEdl
bmVyYXRlIDMgdGVzdHMgc3BlY2lmeWluZyB0aGUgbmFtZSBhbmQgb25lIHBhcmFtZXRlcgotZnVu
Y3Rpb24gdmFsaWRhdGVfYXJndW1lbnRzKGFyZzEpIHsKLQlhc3NlcnRfZXF1YWxzKGFyZzEsIDEs
ICJFbnN1cmUgdGhhdCB3ZSBnZXQgb3VyIGV4cGVjdGVkIGFyZ3VtZW50Iik7Ci19Ci1nZW5lcmF0
ZV90ZXN0cyh2YWxpZGF0ZV9hcmd1bWVudHMsIFsKLQlbImZpcnN0IHRlc3QiLCAxXSwKLQlbInNl
Y29uZCB0ZXN0IiwgMV0sCi0JWyJ0aGlyZCB0ZXN0IiwgMV0sCi1dKTsKLQotLy8gR2VuZXJhdGUg
YSB0ZXN0IHBhc3NpbmcgaW4gYSBwcm9wZXJ0aWVzIG9iamVjdCB0aGF0IGlzIHNoYXJlZCBhY3Jv
c3MgdGVzdHMuCi1mdW5jdGlvbiB2YWxpZGF0ZV9wcm9wZXJ0aWVzKCkgewotCWFzc2VydF90cnVl
KHRoaXMucHJvcGVydGllcy5zZW50aW5lbCwgIkVuc3VyZSB0aGF0IHdlIGdvdCB0aGUgcmlnaHQg
cHJvcGVydGllcyBvYmplY3QuIik7Ci19Ci1nZW5lcmF0ZV90ZXN0cyh2YWxpZGF0ZV9wcm9wZXJ0
aWVzLCBbWyJzZW50aW5lbCBjaGVjayAxIl0sIFsic2VudGluZWwgY2hlY2sgMiJdXSwge3NlbnRp
bmVsOiB0cnVlfSk7Ci0KLS8vIEdlbmVyYXRlIGEgdGVzdCBwYXNzaW5nIGluIGEgcHJvcGVydGll
cyBvYmplY3QgdGhhdCBpcyBzaGFyZWQgYWNyb3NzIHRlc3RzLgotZnVuY3Rpb24gdmFsaWRhdGVf
c2VwYXJhdGVfcHJvcGVydGllcygpIHsKLQlpZiAodGhpcy5uYW1lID09PSAic2VudGluZWwgY2hl
Y2sgMSB1bmlxdWUgcHJvcGVydGllcyIpIHsKLQkJYXNzZXJ0X3RydWUodGhpcy5wcm9wZXJ0aWVz
LnNlbnRpbmVsLCAiRW5zdXJlIHRoYXQgd2UgZ290IHRoZSByaWdodCBwcm9wZXJ0aWVzIG9iamVj
dC4gRXhwZWN0IHNlbnRpbmVsOiB0cnVlLiIpOwotCX0KLQllbHNlIHsKLQkJYXNzZXJ0X2ZhbHNl
KHRoaXMucHJvcGVydGllcy5zZW50aW5lbCwgIkVuc3VyZSB0aGF0IHdlIGdvdCB0aGUgcmlnaHQg
cHJvcGVydGllcyBvYmplY3QuIEV4cGVjdCBzZW50aW5lbDogZmFsc2UuIik7Ci0JfQotfQotZ2Vu
ZXJhdGVfdGVzdHModmFsaWRhdGVfc2VwYXJhdGVfcHJvcGVydGllcywgW1sic2VudGluZWwgY2hl
Y2sgMSB1bmlxdWUgcHJvcGVydGllcyJdLCBbInNlbnRpbmVsIGNoZWNrIDIgdW5pcXVlIHByb3Bl
cnRpZXMiXV0sIFt7c2VudGluZWw6IHRydWV9LCB7c2VudGluZWw6IGZhbHNlfV0pOwotCi0vLyBG
aW5hbGx5IGdlbmVyYXRlIGEgY29tcGxpY2F0ZWQgc2V0IG9mIHRlc3RzIGZyb20gYW5vdGhlciBk
YXRhIHNvdXJjZQotdmFyIGxldHRlcnMgPSBbImEiLCAiYiIsICJjIiwgImQiLCAiZSIsICJmIl07
Ci12YXIgbnVtYmVycyA9IFswLCAxLCAyLCAzLCA0LCA1XTsKLWZ1bmN0aW9uIHZhbGlkYXRlX3Jl
bGF0ZWRfYXJndW1lbnRzKGFyZzEsIGFyZzIpIHsKLQlhc3NlcnRfZXF1YWxzKGFyZzEuY2hhckNv
ZGVBdCgwKSAtICJhIi5jaGFyQ29kZUF0KDApLCBhcmcyLCAiRW5zdXJlIHRoYXQgd2UgY2FuIG1h
cCBsZXR0ZXJzIHRvIG51bWJlcnMuIik7Ci19Ci1mdW5jdGlvbiBmb3JtYXRfYXNfdGVzdChsZXR0
ZXIsIGluZGV4LCBsZXR0ZXJzKSB7Ci0JcmV0dXJuIFsiVGVzdCB0byBtYXAgIiArIGxldHRlciAr
ICIgdG8gIiArIG51bWJlcnNbaW5kZXhdLCBsZXR0ZXIsIG51bWJlcnNbaW5kZXhdXTsKLX0KLWdl
bmVyYXRlX3Rlc3RzKHZhbGlkYXRlX3JlbGF0ZWRfYXJndW1lbnRzLCBsZXR0ZXJzLm1hcChmb3Jt
YXRfYXNfdGVzdCkpOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+Ci0KLQotCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy9leGFtcGxlcy9hcGlzYW1wbGUxOC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2FtcGxlMTguaHRtbApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTUwYTE1MGE2YzAuLjAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4
YW1wbGVzL2FwaXNhbXBsZTE4Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwyNiArMCwwIEBACi08
IURPQ1RZUEUgSFRNTD4KLTxodG1sPgotPGhlYWQ+Ci08dGl0bGU+RXhhbXBsZSB3aXRoIGlmcmFt
ZSB0aGF0IGNvbnNvbGlkYXRlcyBlcnJvcnMgdmlhIGZldGNoX3Rlc3RzX2Zyb21fd2luZG93PC90
aXRsZT4KLTxzY3JpcHQgc3JjPSIuLi90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0iLi4vdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLXZhciBw
YXJlbnRfdGVzdCA9IGFzeW5jX3Rlc3QoIlRlc3QgZXhlY3V0aW5nIGluIHBhcmVudCBjb250ZXh0
Iik7Ci08L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0icGFyZW50X3Rlc3QuZG9uZSgp
Ij4KLTxoMT5GZXRjaGluZyBUZXN0cyBGcm9tIGEgQ2hpbGQgQ29udGV4dDwvaDE+Ci08cD5UaGlz
IHRlc3QgZGVtb25zdHJhdGVzIHRoZSB1c2Ugb2YgPHR0PmZldGNoX3Rlc3RzX2Zyb21fd2luZG93
PC90dD4gdG8gcHVsbAotdGVzdHMgZnJvbSBhbiA8dHQ+aWZyYW1lPC90dD4gaW50byB0aGUgcHJp
bWFyeSBkb2N1bWVudC48L3A+Ci08cD5UaGUgdGVzdCBzdWl0ZSBpcyBleHBlY3RlZCB0byBmYWls
IGR1ZSB0byBhbiB1bmhhbmRsZWQgZXhjZXB0aW9uIGluIHRoZQotY2hpbGQgY29udGV4dC48L3A+
Ci08ZGl2IGlkPSJsb2ciPjwvZGl2PgotCi08aWZyYW1lIGlkPSJjaGlsZENvbnRleHQiIHNyYz0i
YXBpc2FtcGxlNC5odG0iIHN0eWxlPSJkaXNwbGF5Om5vbmUiPjwvaWZyYW1lPgotPCEtLSAgYXBp
c2FtcGxlNCBpcyBhIGZhaWxpbmcgc3VpdGUgZHVlIHRvIGFuIHVuaGFuZGxlZCBFcnJvci4gIC0t
PgotCi08c2NyaXB0PgotCXZhciBjaGlsZENvbnRleHQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY2hpbGRDb250ZXh0Iik7Ci0JZmV0Y2hfdGVzdHNfZnJvbV93aW5kb3coY2hpbGRDb250ZXh0
LmNvbnRlbnRXaW5kb3cpOwotPC9zY3JpcHQ+Ci08L2JvZHk+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2FtcGxlMTkuaHRtbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNh
bXBsZTE5Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDdiY2ExMzRhYjIyLi4w
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy9leGFtcGxlcy9hcGlzYW1wbGUxOS5odG1sCisrKyAvZGV2L251bGwKQEAg
LTEsMjYgKzAsMCBAQAotPCFET0NUWVBFIEhUTUw+Ci08aHRtbD4KLTxoZWFkPgotPHRpdGxlPkV4
YW1wbGUgd2l0aCBpZnJhbWUgdGhhdCBjb25zb2xpZGF0ZXMgdGVzdHMgdmlhIGZldGNoX3Rlc3Rz
X2Zyb21fd2luZG93PC90aXRsZT4KLTxzY3JpcHQgc3JjPSIuLi90ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdD4KLXZhciBwYXJlbnRfdGVzdCA9IGFzeW5jX3Rlc3QoIlRlc3QgZXhlY3V0aW5nIGlu
IHBhcmVudCBjb250ZXh0Iik7Ci08L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0icGFy
ZW50X3Rlc3QuZG9uZSgpIj4KLTxoMT5GZXRjaGluZyBUZXN0cyBGcm9tIGEgQ2hpbGQgQ29udGV4
dDwvaDE+Ci08cD5UaGlzIHRlc3QgZGVtb25zdHJhdGVzIHRoZSB1c2Ugb2YgPHR0PmZldGNoX3Rl
c3RzX2Zyb21fd2luZG93PC90dD4gdG8gcHVsbAotdGVzdHMgZnJvbSBhbiA8dHQ+aWZyYW1lPC90
dD4gaW50byB0aGUgcHJpbWFyeSBkb2N1bWVudC48L3A+Ci08cD5UaGUgdGVzdCBzdWl0ZSB3aWxs
IG5vdCBjb21wbGV0ZSB1bnRpbCB0ZXN0cyBpbiB0aGUgY2hpbGQgY29udGV4dCBoYXZlIGZpbmlz
aGVkCi1leGVjdXRpbmc8L3A+Ci08ZGl2IGlkPSJsb2ciPjwvZGl2PgotCi08aWZyYW1lIGlkPSJj
aGlsZENvbnRleHQiIHNyYz0iYXBpc2FtcGxlMTAuaHRtbCIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+
PC9pZnJhbWU+Ci08IS0tICBhcGlzYW1wbGUxMCBoYXMgYXN5bmMgdGVzdHMgd2l0aCBwcm9taXNl
cyAgLS0+Ci0KLTxzY3JpcHQ+Ci0JdmFyIGNoaWxkQ29udGV4dCA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjaGlsZENvbnRleHQiKTsKLQlmZXRjaF90ZXN0c19mcm9tX3dpbmRvdyhjaGlsZENv
bnRleHQuY29udGVudFdpbmRvdyk7Ci08L3NjcmlwdD4KLTwvYm9keT4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy9hcGlzYW1wbGUyLmh0bSBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2Fw
aXNhbXBsZTIuaHRtCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0YTRjMTZiNGRmYS4u
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2FtcGxlMi5odG0KKysrIC9kZXYvbnVsbApAQCAt
MSwxOSArMCwwIEBACi08IURPQ1RZUEUgSFRNTD4KLTxodG1sPgotPGhlYWQ+Ci08dGl0bGU+U2Ft
cGxlIEhUTUw1IEFQSSBUZXN0czwvdGl0bGU+Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9ImxvYWRf
dGVzdF9hdHRyLmRvbmUoKSI+Ci08aDE+U2FtcGxlIEhUTUw1IEFQSSBUZXN0czwvaDE+Ci08cD5U
aGVyZSBzaG91bGQgYmUgdHdvIHJlc3VsdHM8L3A+Ci08ZGl2IGlkPSJsb2ciPjwvZGl2PgotPHNj
cmlwdCBzcmM9Ii4uL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0Pgotc2V0dXAoe2V4cGxpY2l0
X2RvbmU6dHJ1ZX0pCi10ZXN0KGZ1bmN0aW9uKCkge2Fzc2VydF90cnVlKHRydWUpfSwgIlRlc3Qg
ZGVmaW5lZCBiZWZvcmUgb25sb2FkIik7Ci0KLW9ubG9hZCA9IGZ1bmN0aW9uKCkge3Rlc3QoZnVu
Y3Rpb24gKCl7YXNzZXJ0X3RydWUodHJ1ZSl9LCAiVGVzdCBkZWZpbmVkIGFmdGVyIG9ubG9hZCIp
OwotZG9uZSgpOwotfQotPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy9hcGlzYW1wbGUzLmh0
bSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L2V4YW1wbGVzL2FwaXNhbXBsZTMuaHRtCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0
ZGJiZjlhODcxYi4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2FtcGxlMy5odG0KKysrIC9k
ZXYvbnVsbApAQCAtMSwxNyArMCwwIEBACi08IURPQ1RZUEUgSFRNTD4KLTxodG1sPgotPGhlYWQ+
Ci08dGl0bGU+U2FtcGxlIEhUTUw1IEFQSSBUZXN0czwvdGl0bGU+Ci08L2hlYWQ+Ci08c2NyaXB0
IHNyYz0iLi4vdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotCi08Ym9keSBvbmxvYWQ9ImxvYWRf
dGVzdF9hdHRyLmRvbmUoKSI+Ci08aDE+U2FtcGxlIEhUTUw1IEFQSSBUZXN0czwvaDE+Ci08ZGl2
IGlkPSJsb2ciPjwvZGl2PgotPHNjcmlwdD4KLXNldHVwKHtleHBsaWNpdF90aW1lb3V0OnRydWV9
KTsKLXZhciB0ID0gYXN5bmNfdGVzdCgiVGhpcyB0ZXN0IHNob3VsZCBnaXZlIGEgc3RhdHVzIG9m
ICdOb3QgUnVuJyB3aXRob3V0IGEgZGVsYXkiKTsKLXRpbWVvdXQoKTsKLTwvc2NyaXB0PgotPC9i
b2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2FtcGxlNC5odG0gYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy9h
cGlzYW1wbGU0Lmh0bQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzhmYmJkZWQ2OTUu
LjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBsZTQuaHRtCisrKyAvZGV2L251bGwKQEAg
LTEsMTYgKzAsMCBAQAotPCFET0NUWVBFIEhUTUw+Ci08aHRtbD4KLTxoZWFkPgotPHRpdGxlPkhh
cm5lc3MgSGFuZGxpbmcgVW5jYXVnaHQgRXhjZXB0aW9uPC90aXRsZT4KLTwvaGVhZD4KLTxzY3Jp
cHQgc3JjPSIuLi90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci0KLTxib2R5PgotPGgxPkhhcm5l
c3MgSGFuZGxpbmcgVW5jYXVnaHQgRXhjZXB0aW9uPC9oMT4KLTxkaXYgaWQ9ImxvZyI+PC9kaXY+
Ci08c2NyaXB0PgotdmFyIHQgPSBhc3luY190ZXN0KCJUaGlzIHNob3VsZCBzaG93IGEgaGFybmVz
cyBzdGF0dXMgb2YgJ0Vycm9yJyBhbmQgYSB0ZXN0IHN0YXR1cyBvZiAnTm90IFJ1biciKTsKLXRo
cm93IG5ldyBFcnJvcigiRXhhbXBsZSBFcnJvciIpOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy9leGFtcGxlcy9hcGlzYW1wbGU1Lmh0bSBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBsZTUu
aHRtCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzZWRmNjAyYTFlNi4uMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvZXhhbXBsZXMvYXBpc2FtcGxlNS5odG0KKysrIC9kZXYvbnVsbApAQCAtMSwxOCArMCww
IEBACi08IURPQ1RZUEUgSFRNTD4KLTxodG1sPgotPGhlYWQ+Ci08dGl0bGU+SGFybmVzcyBJZ25v
cmluZyBVbmNhdWdodCBFeGNlcHRpb248L3RpdGxlPgotPC9oZWFkPgotPHNjcmlwdCBzcmM9Ii4u
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLQotPGJvZHk+Ci08aDE+SGFybmVzcyBJZ25vcmlu
ZyBVbmNhdWdodCBFeGNlcHRpb248L2gxPgotPGRpdiBpZD0ibG9nIj48L2Rpdj4KLTxzY3JpcHQ+
Ci1zZXR1cCh7YWxsb3dfdW5jYXVnaHRfZXhjZXB0aW9uOnRydWV9KTsKLXZhciB0ID0gYXN5bmNf
dGVzdCgic2V0dXAoe2FsbG93X3VuY2F1Z2h0X2V4Y2VwdGlvbjp0cnVlfSkgc2hvdWxkIGFsbG93
IHRlc3RzIHRvIHBhc3MgZXZlbiBpZiB0aGVyZSBpcyBhbiBleGNlcHRpb24iKTsKLW9uZXJyb3Ig
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbigpIHt0LmRvbmUoKX0pOwotdGhyb3cgbmV3IEVycm9yKCJF
eGFtcGxlIEVycm9yIik7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4
YW1wbGVzL2FwaXNhbXBsZTYuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBsZTYuaHRtbApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggNzQ1OWM1NGQ1NzIuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVz
L2FwaXNhbXBsZTYuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDEwICswLDAgQEAKLTwhRE9DVFlQ
RSBIVE1MPgotPHRpdGxlPkV4YW1wbGUgd2l0aCBmaWxlX2lzX3Rlc3Q8L3RpdGxlPgotPHNjcmlw
dCBzcmM9Ii4uL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0Pgotb25sb2FkID0gZnVuY3Rpb24o
KSB7Ci0gIGFzc2VydF90cnVlKHRydWUpOwotICBkb25lKCk7Ci19Ci08L3NjcmlwdD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy9hcGlzYW1wbGU3Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9l
eGFtcGxlcy9hcGlzYW1wbGU3Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY4
ODVmNTJmOGE1Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy9hcGlzYW1wbGU3Lmh0bWwKKysrIC9k
ZXYvbnVsbApAQCAtMSwxMCArMCwwIEBACi08IURPQ1RZUEUgSFRNTD4KLTx0aXRsZT5FeGFtcGxl
IHdpdGggZmlsZV9pc190ZXN0IChzaG91bGQgZmFpbCk8L3RpdGxlPgotPHNjcmlwdCBzcmM9Ii4u
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0Pgotb25sb2FkID0gZnVuY3Rpb24oKSB7Ci0gIGFz
c2VydF90cnVlKGZhbHNlKTsKLSAgZG9uZSgpOwotfQotPC9zY3JpcHQ+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2FtcGxlOC5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZXMv
YXBpc2FtcGxlOC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3MDg1M2Q5YzZj
NS4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2FtcGxlOC5odG1sCisrKyAvZGV2L251bGwK
QEAgLTEsOCArMCwwIEBACi08IURPQ1RZUEUgSFRNTD4KLTx0aXRsZT5FeGFtcGxlIHNpbmdsZSBw
YWdlIHRlc3Qgd2l0aCBubyBib2R5PC90aXRsZT4KLTxzY3JpcHQgc3JjPSIuLi90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwv
c2NyaXB0PgotPHNjcmlwdD4KLWFzc2VydF90cnVlKHRydWUpOwotZG9uZSgpOwotPC9zY3JpcHQ+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2FtcGxl
OS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvZXhhbXBsZXMvYXBpc2FtcGxlOS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCBmODQ0MzNkZDE5OC4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2FtcGxlOS5odG1s
CisrKyAvZGV2L251bGwKQEAgLTEsNyArMCwwIEBACi08IURPQ1RZUEUgSFRNTD4KLTx0aXRsZT5F
eGFtcGxlIHNpbmdsZSBwYWdlIHRlc3Qgd2l0aCBubyBhc3NlcnRzPC90aXRsZT4KLTxzY3JpcHQg
c3JjPSIuLi90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLWRvbmUoKTsKLTwvc2NyaXB0Pgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL3czYy1pbXBvcnQu
bG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvZXhhbXBsZXMvdzNjLWltcG9ydC5sb2cKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDA3NDVmYjU4NDQ2Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy93M2MtaW1wb3J0LmxvZworKysg
L2Rldi9udWxsCkBAIC0xLDM3ICswLDAgQEAKLVRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3
ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgotRG8gTk9UIG1vZGlmeSB0aGVz
ZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVl
c3Qgb24gdGhlIFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMKLQotVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBp
biBXZWJLaXQgdG8gcmVpbXBvcnQKLQotRG8gTk9UIG1vZGlmeSBvciByZW1vdmUgdGhpcyBmaWxl
LgotCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0KLVByb3BlcnRpZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhl
czoKLU5vbmUKLVByb3BlcnR5IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgotTm9u
ZQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tCi1MaXN0IG9mIGZpbGVzOgotL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBsZS1lcnJv
ci13b3JrZXIuanMKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy9leGFtcGxlcy9hcGlzYW1wbGUtd29ya2VyLmpzCi0vTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2FtcGxl
Lmh0bQotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL2V4YW1wbGVzL2FwaXNhbXBsZTEwLmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy9hcGlzYW1wbGUxMS5odG1sCi0v
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZXhh
bXBsZXMvYXBpc2FtcGxlMTIuaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBsZTEzLmh0bWwKLS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy9h
cGlzYW1wbGUxNC5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2FtcGxlMTUuaHRtbAotL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBs
ZTE2Lmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy9leGFtcGxlcy9hcGlzYW1wbGUxNy5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2FtcGxlMTguaHRt
bAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L2V4YW1wbGVzL2FwaXNhbXBsZTE5Lmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy9hcGlzYW1wbGUyLmh0bQotL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVz
L2FwaXNhbXBsZTMuaHRtCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZXMvYXBpc2FtcGxlNC5odG0KLS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9leGFtcGxlcy9hcGlzYW1wbGU1
Lmh0bQotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL2V4YW1wbGVzL2FwaXNhbXBsZTYuaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBsZTcuaHRtbAotL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1w
bGVzL2FwaXNhbXBsZTguaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGVzL2FwaXNhbXBsZTkuaHRtbApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVz
dC9SRUFETUUubWQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy90ZXN0L1JFQURNRS5tZApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MTg1YWU1ZjRlZmMuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvUkVBRE1FLm1kCisrKyAvZGV2L251bGwK
QEAgLTEsOTAgKzAsMCBAQAotIyBgdGVzdGhhcm5lc3MuanNgIHRlc3Qgc3VpdGUKLQotVGhlIHRl
c3Qgc3VpdGUgZm9yIHRoZSBgdGVzdGhhcm5lc3MuanNgIHRlc3RpbmcgZnJhbWV3b3JrLgotCi0j
IyBFeGVjdXRpbmcgVGVzdHMKLQotSW5zdGFsbCB0aGUgZm9sbG93aW5nIGRlcGVuZGVuY2llczoK
LQotLSBbUHl0aG9uIDIuNy45K10oaHR0cHM6Ly93d3cucHl0aG9uLm9yZy8pCi0tIFt0aGUgdG94
IFB5dGhvbiBwYWNrYWdlXShodHRwczovL3RveC5yZWFkdGhlZG9jcy5pby9lbi9sYXRlc3QvKQot
LSBbdGhlIE1vemlsbGEgRmlyZWZveCB3ZWIgYnJvd3Nlcl0oaHR0cHM6Ly9tb3ppbGxhLm9yZy9m
aXJlZm94KQotLSBbdGhlIEdlY2tvRHJpdmVyIHNlcnZlcl0oaHR0cHM6Ly9naXRodWIuY29tL21v
emlsbGEvZ2Vja29kcml2ZXIpCi0KLU1ha2Ugc3VyZSBgZ2Vja29kcml2ZXJgIGNhbiBiZSBmb3Vu
ZCBpbiB5b3VyIGBQQVRIYC4KLQotQ3VycmVudGx5LCB0aGUgdGVzdHMgc2hvdWxkIGJlIHJ1biB3
aXRoIHRoZSBsYXRlc3QgKkZpcmVmb3ggTmlnaHRseSouIEluIG9yZGVyIHRvCi1zcGVjaWZ5IHRo
ZSBwYXRoIHRvIEZpcmVmb3ggTmlnaHRseSwgdXNlIHRoZSBmb2xsb3dpbmcgY29tbWFuZC1saW5l
IG9wdGlvbjoKLQotICAgIHRveCAtLSAtLWJpbmFyeT0vcGF0aC90by9GaXJlZm94TmlnaHRseQot
Ci0jIyMgQXV0b21hdGVkIFNjcmlwdAotCi1BbHRlcm5hdGl2ZWx5LCB5b3UgbWF5IHJ1biBgdG9v
bHMvY2kvY2lfcmVzb3VyY2VzX3VuaXR0ZXN0LnNoYCwgd2hpY2ggb25seSBkZXBlbmRzIG9uCi1Q
eXRob24gMi4gVGhlIHNjcmlwdCB3aWxsIGluc3RhbGwgb3RoZXIgZGVwZW5kZW5jaWVzIGF1dG9t
YXRpY2FsbHkgYW5kIHN0YXJ0IGB0b3hgIHdpdGgKLXRoZSBjb3JyZWN0IGFyZ3VtZW50cy4KLQot
IyMgQXV0aG9yaW5nIFRlc3RzCi0KLVRlc3QgY2FzZXMgYXJlIGV4cHJlc3NlZCBhcyBgLmh0bWxg
IGZpbGVzIGxvY2F0ZWQgd2l0aGluIHRoZSBgdGVzdHMvdW5pdC9gIGFuZAotYHRlc3RzL2Z1bmN0
aW9uYWwvYCBzdWItZGlyZWN0b3JpZXMuIEVhY2ggdGVzdCBzaG91bGQgaW5jbHVkZSB0aGUKLWB0
ZXN0aGFybmVzcy5qc2AgbGlicmFyeSB3aXRoIHRoZSBmb2xsb3dpbmcgbWFya3VwOgotCi0gICAg
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotICAgIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLQot
VGhpcyBzaG91bGQgYmUgZm9sbG93ZWQgYnkgb25lIG9yIG1vcmUgYDxzY3JpcHQ+YCB0YWdzIHRo
YXQgaW50ZXJmYWNlIHdpdGggdGhlCi1gdGVzdGhhcm5lc3MuanNgIEFQSSBpbiBzb21lIHdheS4g
Rm9yIGV4YW1wbGU6Ci0KLSAgICA8c2NyaXB0PgotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAg
ICAgIDEgPSAxOwotICAgICAgfSwgJ1RoaXMgdGVzdCBpcyBleHBlY3RlZCB0byBmYWlsLicpOwot
ICAgIDwvc2NyaXB0PgotCi0jIyMgVW5pdCB0ZXN0cwotCi1UaGUgInVuaXQgdGVzdCIgdHlwZSBh
bGxvd3MgZm9yIGNvbmNpc2VseSB0ZXN0aW5nIHRoZSBleHBlY3RlZCBiZWhhdmlvciBvZgotYXNz
ZXJ0aW9uIG1ldGhvZHMuIFRoZXNlIHRlc3RzIG1heSBkZWZpbmUgYW55IG51bWJlciBvZiBzdWIt
dGVzdHM7IHRoZQotYWNjZXB0YW5jZSBjcml0ZXJpYSBpcyBzaW1wbHkgdGhhdCBhbGwgdGVzdHMg
ZXhlY3V0ZWQgcGFzcy4KLQotIyMjIEZ1bmN0aW9uYWwgdGVzdHMKLQotVGhvcm91Z2hseSB0ZXN0
aW5nIHRoZSBiZWhhdmlvciBvZiB0aGUgaGFybmVzcyBpdHNlbGYgcmVxdWlyZXMgZW5zdXJpbmcg
YQotbnVtYmVyIG9mIGNvbnNpZGVyYXRpb25zIHdoaWNoIGNhbm5vdCBiZSB2ZXJpZmllZCB3aXRo
IHRoZSAidW5pdCB0ZXN0aW5nIgotc3RyYXRlZ3kuIFRoZXNlIGluY2x1ZGU6Ci0KLS0gRW5zdXJp
bmcgdGhhdCBzb21lIHRlc3RzIGFyZSBub3QgcnVuCi0tIEVuc3VyaW5nIGNvbmRpdGlvbnMgdGhh
dCBjYXVzZSB0ZXN0IGZhaWx1cmVzCi0tIEVuc3VyaW5nIGNvbmRpdGlvbnMgdGhhdCBjYXVzZSBo
YXJuZXNzIGVycm9ycwotCi1GdW5jdGlvbmFsIHRlc3RzIGFsbG93IGZvciB0aGVzZSBkZXRhaWxz
IHRvIGJlIHZlcmlmaWVkLiBFdmVyeSBmdW5jdGlvbmFsIHRlc3QKLW11c3QgaW5jbHVkZSBhIHN1
bW1hcnkgb2YgdGhlIGV4cGVjdGVkIHJlc3VsdHMgYXMgYSBKU09OIHN0cmluZyB3aXRoaW4gYQot
YDxzY3JpcHQ+YCB0YWcgd2l0aCBhbiBgaWRgIG9mIGAiZXhwZWN0ZWQiYCwgZS5nLjoKLQotICAg
IDxzY3JpcHQgdHlwZT0idGV4dC9qc29uIiBpZD0iZXhwZWN0ZWQiPgotICAgIHsKLSAgICAgICJz
dW1tYXJpemVkX3N0YXR1cyI6IHsKLSAgICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgICAi
c3RhY2siOiBudWxsLAotICAgICAgICAic3RhdHVzX3N0cmluZyI6ICJPSyIKLSAgICAgIH0sCi0g
ICAgICAic3VtbWFyaXplZF90ZXN0cyI6IFsKLSAgICAgICAgewotICAgICAgICAgICJtZXNzYWdl
IjogIlJlZmVyZW5jZUVycm9yOiBpbnZhbGlkIGFzc2lnbm1lbnQgbGVmdC1oYW5kIHNpZGUiLAot
ICAgICAgICAgICJuYW1lIjogIlNhbXBsZSBIVE1MNSBBUEkgVGVzdHMiLAotICAgICAgICAgICJw
cm9wZXJ0aWVzIjoge30sCi0gICAgICAgICAgInN0YWNrIjogIihpbXBsZW1lbnRhdGlvbi1kZWZp
bmVkKSIsCi0gICAgICAgICAgInN0YXR1c19zdHJpbmciOiAiRkFJTCIKLSAgICAgICAgfQotICAg
ICAgXSwKLSAgICAgICJ0eXBlIjogImNvbXBsZXRlIgotICAgIH0KLSAgICA8L3NjcmlwdD4KLQot
YHRlc3RoYXJuZXNzLmpzYCBpcyBleHBlY3RlZCB0byBmdW5jdGlvbiBjb25zaXN0ZW50bHkgaW4g
YSBudW1iZXIgb2YKLWRpc3RpbmN0IGVudmlyb25tZW50cy4gSW4gb3JkZXIgdG8gdmVyaWZ5IHRo
aXMgZXhwZWN0YXRpb24sIGVhY2ggZnVuY3Rpb25hbAotdGVzdCBtYXkgYmUgZXhlY3V0ZWQgdW5k
ZXIgYSBudW1iZXIgb2YgZGlzdGluY3QgY29uZGl0aW9ucy4gVGhlc2UgY29uZGl0aW9ucwotYXJl
IGFwcGxpZWQgdXNpbmcgV1BUJ3MgInRlc3QgdmFyaWFudHMiIHBhdHRlcm4uIFRoZSBhdmFpbGFi
bGUgdmFyaWFudHMgYXJlCi1kZWZpbmVkIGluIHRoZSBgdmFyaWFudHMuanNgIGZpbGU7IHRoaXMg
ZmlsZSBtdXN0IGJlIGluY2x1ZGVkIGJlZm9yZQotYHRlc3RoYXJuZXNzLmpzYC4gRXZlcnkgdGVz
dCBtdXN0IHNwZWNpZnkgYXQgbGVhc3Qgb25lIHZhcmlhbnQuCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L2NvbmZ0
ZXN0LnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvdGVzdC9jb25mdGVzdC5weQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNGNh
YTc5NDNmYjcuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvY29uZnRlc3QucHkKKysrIC9kZXYvbnVsbApA
QCAtMSwyNDIgKzAsMCBAQAotaW1wb3J0IGlvCi1pbXBvcnQganNvbgotaW1wb3J0IG9zCi1pbXBv
cnQgc3NsCi0KLWltcG9ydCBodG1sNWxpYgotaW1wb3J0IHB5Ci1pbXBvcnQgcHl0ZXN0Ci1mcm9t
IHNlbGVuaXVtIGltcG9ydCB3ZWJkcml2ZXIKLWZyb20gc2l4IGltcG9ydCB0ZXh0X3R5cGUKLWZy
b20gc2l4Lm1vdmVzIGltcG9ydCB1cmxsaWIKLQotZnJvbSB3cHRzZXJ2ZXIgaW1wb3J0IFdQVFNl
cnZlcgotCi1IRVJFID0gb3MucGF0aC5kaXJuYW1lKG9zLnBhdGguYWJzcGF0aChfX2ZpbGVfXykp
Ci1XUFRfUk9PVCA9IG9zLnBhdGgubm9ybXBhdGgob3MucGF0aC5qb2luKEhFUkUsICcuLicsICcu
LicpKQotSEFSTkVTUyA9IG9zLnBhdGguam9pbihIRVJFLCAnaGFybmVzcy5odG1sJykKLVRFU1Rf
VFlQRVMgPSAoJ2Z1bmN0aW9uYWwnLCAndW5pdCcpCi0KLQotZGVmIHB5dGVzdF9hZGRvcHRpb24o
cGFyc2VyKToKLSAgICBwYXJzZXIuYWRkb3B0aW9uKCItLWJpbmFyeSIsIGFjdGlvbj0ic3RvcmUi
LCBkZWZhdWx0PU5vbmUsIGhlbHA9InBhdGggdG8gYnJvd3NlciBiaW5hcnkiKQotCi0KLWRlZiBw
eXRlc3RfY29sbGVjdF9maWxlKHBhdGgsIHBhcmVudCk6Ci0gICAgaWYgcGF0aC5leHQubG93ZXIo
KSAhPSAnLmh0bWwnOgotICAgICAgICByZXR1cm4KLQotICAgICMgVGVzdHMgYXJlIG9yZ2FuaXpl
ZCBpbiBkaXJlY3RvcmllcyBieSB0eXBlCi0gICAgdGVzdF90eXBlID0gb3MucGF0aC5yZWxwYXRo
KHN0cihwYXRoKSwgSEVSRSkKLSAgICBpZiBvcy5wYXRoLnNlcCBub3QgaW4gdGVzdF90eXBlIG9y
ICIuLiIgaW4gdGVzdF90eXBlOgotICAgICAgICAjIEhUTUwgZmlsZXMgaW4gdGhpcyBkaXJlY3Rv
cnkgYXJlIG5vdCB0ZXN0cwotICAgICAgICByZXR1cm4KLSAgICB0ZXN0X3R5cGUgPSB0ZXN0X3R5
cGUuc3BsaXQob3MucGF0aC5zZXApWzFdCi0KLSAgICByZXR1cm4gSFRNTEl0ZW0oc3RyKHBhdGgp
LCB0ZXN0X3R5cGUsIHBhcmVudCkKLQotCi1kZWYgcHl0ZXN0X2NvbmZpZ3VyZShjb25maWcpOgot
ICAgIGNvbmZpZy5kcml2ZXIgPSB3ZWJkcml2ZXIuRmlyZWZveChmaXJlZm94X2JpbmFyeT1jb25m
aWcuZ2V0b3B0aW9uKCItLWJpbmFyeSIpKQotICAgIGNvbmZpZy5hZGRfY2xlYW51cChjb25maWcu
ZHJpdmVyLnF1aXQpCi0KLSAgICBjb25maWcuc2VydmVyID0gV1BUU2VydmVyKFdQVF9ST09UKQot
ICAgIGNvbmZpZy5zZXJ2ZXIuc3RhcnQoKQotICAgICMgQWx0aG91Z2ggdGhlIG5hbWUgb2YgdGhl
IGBfY3JlYXRlX3VudmVyaWZpZWRfY29udGV4dGAgbWV0aG9kIHN1Z2dlc3RzCi0gICAgIyB0aGF0
IGl0IGlzIG5vdCBpbnRlbmRlZCBmb3IgZXh0ZXJuYWwgY29uc3VtcHRpb24sIHRoZSBzdGFuZGFy
ZCBsaWJyYXJ5J3MKLSAgICAjIGRvY3VtZW50YXRpb24gZXhwbGljaXRseSBlbmRvcnNlcyBpdHMg
dXNlOgotICAgICMKLSAgICAjID4gVG8gcmV2ZXJ0IHRvIHRoZSBwcmV2aW91cywgdW52ZXJpZmll
ZCwgYmVoYXZpb3IKLSAgICAjID4gc3NsLl9jcmVhdGVfdW52ZXJpZmllZF9jb250ZXh0KCkgY2Fu
IGJlIHBhc3NlZCB0byB0aGUgY29udGV4dAotICAgICMgPiBwYXJhbWV0ZXIuCi0gICAgIwotICAg
ICMgaHR0cHM6Ly9kb2NzLnB5dGhvbi5vcmcvMi9saWJyYXJ5L2h0dHBsaWIuaHRtbCNodHRwbGli
LkhUVFBTQ29ubmVjdGlvbgotICAgIGNvbmZpZy5zc2xfY29udGV4dCA9IHNzbC5fY3JlYXRlX3Vu
dmVyaWZpZWRfY29udGV4dCgpCi0gICAgY29uZmlnLmFkZF9jbGVhbnVwKGNvbmZpZy5zZXJ2ZXIu
c3RvcCkKLQotCi1kZWYgcmVzb2x2ZV91cmkoY29udGV4dCwgdXJpKToKLSAgICBpZiB1cmkuc3Rh
cnRzd2l0aCgnLycpOgotICAgICAgICBiYXNlID0gV1BUX1JPT1QKLSAgICAgICAgcGF0aCA9IHVy
aVsxOl0KLSAgICBlbHNlOgotICAgICAgICBiYXNlID0gb3MucGF0aC5kaXJuYW1lKGNvbnRleHQp
Ci0gICAgICAgIHBhdGggPSB1cmkKLQotICAgIHJldHVybiBvcy5wYXRoLmV4aXN0cyhvcy5wYXRo
LmpvaW4oYmFzZSwgcGF0aCkpCi0KLQotY2xhc3MgSFRNTEl0ZW0ocHl0ZXN0Lkl0ZW0sIHB5dGVz
dC5Db2xsZWN0b3IpOgotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBmaWxlbmFtZSwgdGVzdF90eXBl
LCBwYXJlbnQpOgotICAgICAgICBzZWxmLnVybCA9IHBhcmVudC5zZXNzaW9uLmNvbmZpZy5zZXJ2
ZXIudXJsKGZpbGVuYW1lKQotICAgICAgICBzZWxmLnR5cGUgPSB0ZXN0X3R5cGUKLSAgICAgICAg
c2VsZi52YXJpYW50cyA9IFtdCi0gICAgICAgICMgU29tZSB0ZXN0cyBhcmUgcmVsaWFudCBvbiB0
aGUgV1BUIHNlcnZlcnMgc3Vic3RpdHV0aW9uIGZ1bmN0aW9uYWxpdHksCi0gICAgICAgICMgc28g
dGVzdHMgbXVzdCBiZSByZXRyaWV2ZWQgZnJvbSB0aGUgc2VydmVyIHJhdGhlciB0aGFuIHJlYWQg
ZnJvbSB0aGUKLSAgICAgICAgIyBmaWxlIHN5c3RlbSBkaXJlY3RseS4KLSAgICAgICAgaGFuZGxl
ID0gdXJsbGliLnJlcXVlc3QudXJsb3BlbihzZWxmLnVybCwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb250ZXh0PXBhcmVudC5zZXNzaW9uLmNvbmZpZy5zc2xfY29u
dGV4dCkKLSAgICAgICAgdHJ5OgotICAgICAgICAgICAgbWFya3VwID0gaGFuZGxlLnJlYWQoKQot
ICAgICAgICBmaW5hbGx5OgotICAgICAgICAgICAgaGFuZGxlLmNsb3NlKCkKLQotICAgICAgICBp
ZiB0ZXN0X3R5cGUgbm90IGluIFRFU1RfVFlQRVM6Ci0gICAgICAgICAgICByYWlzZSBWYWx1ZUVy
cm9yKCdVbnJlY29nbml6ZWQgdGVzdCB0eXBlOiAiJXMiJyAlIHRlc3RfdHlwZSkKLQotICAgICAg
ICBwYXJzZWQgPSBodG1sNWxpYi5wYXJzZShtYXJrdXAsIG5hbWVzcGFjZUhUTUxFbGVtZW50cz1G
YWxzZSkKLSAgICAgICAgbmFtZSA9IE5vbmUKLSAgICAgICAgaW5jbHVkZXNfdmFyaWFudHNfc2Ny
aXB0ID0gRmFsc2UKLSAgICAgICAgc2VsZi5leHBlY3RlZCA9IE5vbmUKLQotICAgICAgICBmb3Ig
ZWxlbWVudCBpbiBwYXJzZWQuZ2V0aXRlcmF0b3IoKToKLSAgICAgICAgICAgIGlmIG5vdCBuYW1l
IGFuZCBlbGVtZW50LnRhZyA9PSAndGl0bGUnOgotICAgICAgICAgICAgICAgIG5hbWUgPSBlbGVt
ZW50LnRleHQKLSAgICAgICAgICAgICAgICBjb250aW51ZQotICAgICAgICAgICAgaWYgZWxlbWVu
dC50YWcgPT0gJ21ldGEnIGFuZCBlbGVtZW50LmF0dHJpYi5nZXQoJ25hbWUnKSA9PSAndmFyaWFu
dCc6Ci0gICAgICAgICAgICAgICAgc2VsZi52YXJpYW50cy5hcHBlbmQoZWxlbWVudC5hdHRyaWIu
Z2V0KCdjb250ZW50JykpCi0gICAgICAgICAgICAgICAgY29udGludWUKLSAgICAgICAgICAgIGlm
IGVsZW1lbnQudGFnID09ICdzY3JpcHQnOgotICAgICAgICAgICAgICAgIGlmIGVsZW1lbnQuYXR0
cmliLmdldCgnaWQnKSA9PSAnZXhwZWN0ZWQnOgotICAgICAgICAgICAgICAgICAgICBzZWxmLmV4
cGVjdGVkID0ganNvbi5sb2Fkcyh0ZXh0X3R5cGUoZWxlbWVudC50ZXh0KSkKLQotICAgICAgICAg
ICAgICAgIHNyYyA9IGVsZW1lbnQuYXR0cmliLmdldCgnc3JjJywgJycpCi0KLSAgICAgICAgICAg
ICAgICBpZiAndmFyaWFudHMuanMnIGluIHNyYzoKLSAgICAgICAgICAgICAgICAgICAgaW5jbHVk
ZXNfdmFyaWFudHNfc2NyaXB0ID0gVHJ1ZQotICAgICAgICAgICAgICAgICAgICBpZiBub3QgcmVz
b2x2ZV91cmkoZmlsZW5hbWUsIHNyYyk6Ci0gICAgICAgICAgICAgICAgICAgICAgICByYWlzZSBW
YWx1ZUVycm9yKCdDb3VsZCBub3QgcmVzb2x2ZSBwYXRoICIlcyIgZnJvbSAlcycgJSAoc3JjLCBm
aWxlbmFtZSkpCi0KLSAgICAgICAgaWYgbm90IG5hbWU6Ci0gICAgICAgICAgICByYWlzZSBWYWx1
ZUVycm9yKCdObyBuYW1lIGZvdW5kIGluIGZpbGU6ICVzJyAlIGZpbGVuYW1lKQotICAgICAgICBl
bGlmIHNlbGYudHlwZSA9PSAnZnVuY3Rpb25hbCc6Ci0gICAgICAgICAgICBpZiBub3Qgc2VsZi5l
eHBlY3RlZDoKLSAgICAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCdGdW5jdGlvbmFsIHRl
c3RzIG11c3Qgc3BlY2lmeSBleHBlY3RlZCByZXBvcnQgZGF0YScpCi0gICAgICAgICAgICBpZiBu
b3QgaW5jbHVkZXNfdmFyaWFudHNfc2NyaXB0OgotICAgICAgICAgICAgICAgIHJhaXNlIFZhbHVl
RXJyb3IoJ05vIHZhcmlhbnRzIHNjcmlwdCBmb3VuZCBpbiBmaWxlOiAlcycgJSBmaWxlbmFtZSkK
LSAgICAgICAgICAgIGlmIGxlbihzZWxmLnZhcmlhbnRzKSA9PSAwOgotICAgICAgICAgICAgICAg
IHJhaXNlIFZhbHVlRXJyb3IoJ05vIHRlc3QgdmFyaWFudHMgc3BlY2lmaWVkIGluIGZpbGUgJXMn
ICUgZmlsZW5hbWUpCi0gICAgICAgIGVsaWYgc2VsZi50eXBlID09ICd1bml0JyBhbmQgc2VsZi5l
eHBlY3RlZDoKLSAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoJ1VuaXQgdGVzdHMgbXVzdCBu
b3Qgc3BlY2lmeSBleHBlY3RlZCByZXBvcnQgZGF0YScpCi0KLSAgICAgICAgIyBFbnN1cmUgdGhh
dCBkaXN0aW5jdCBpdGVtcyBoYXZlIGRpc3RpbmN0IGZzcGF0aCBhdHRyaWJ1dGVzLgotICAgICAg
ICAjIFRoaXMgaXMgbmVjZXNzYXJ5IGJlY2F1c2UgcHl0ZXN0IGhhcyBhbiBpbnRlcm5hbCBjYWNo
ZSBrZXllZCBvbiBpdCwKLSAgICAgICAgIyBhbmQgb25seSB0aGUgZmlyc3QgdGVzdCB3aXRoIGFu
eSBnaXZlbiBmc3BhdGggd2lsbCBiZSBydW4uCi0gICAgICAgICMKLSAgICAgICAgIyBUaGlzIGNh
bm5vdCB1c2Ugc3VwZXIoSFRNTEl0ZW0sIHNlbGYpLl9faW5pdF9fKC4uKSBiZWNhdXNlIG9ubHkg
dGhlCi0gICAgICAgICMgQ29sbGVjdG9yIGNvbnN0cnVjdG9yIHRha2VzIHRoZSBmc3BhdGggYXJn
dW1lbnQuCi0gICAgICAgIHB5dGVzdC5JdGVtLl9faW5pdF9fKHNlbGYsIG5hbWUsIHBhcmVudCkK
LSAgICAgICAgcHl0ZXN0LkNvbGxlY3Rvci5fX2luaXRfXyhzZWxmLCBuYW1lLCBwYXJlbnQsIGZz
cGF0aD1weS5wYXRoLmxvY2FsKGZpbGVuYW1lKSkKLQotCi0gICAgZGVmIHJlcG9ydGluZm8oc2Vs
Zik6Ci0gICAgICAgIHJldHVybiBzZWxmLmZzcGF0aCwgTm9uZSwgc2VsZi51cmwKLQotICAgIGRl
ZiByZXByX2ZhaWx1cmUoc2VsZiwgZXhjaW5mbyk6Ci0gICAgICAgIHJldHVybiBweXRlc3QuQ29s
bGVjdG9yLnJlcHJfZmFpbHVyZShzZWxmLCBleGNpbmZvKQotCi0gICAgZGVmIHJ1bnRlc3Qoc2Vs
Zik6Ci0gICAgICAgIGlmIHNlbGYudHlwZSA9PSAndW5pdCc6Ci0gICAgICAgICAgICBzZWxmLl9y
dW5fdW5pdF90ZXN0KCkKLSAgICAgICAgZWxpZiBzZWxmLnR5cGUgPT0gJ2Z1bmN0aW9uYWwnOgot
ICAgICAgICAgICAgc2VsZi5fcnVuX2Z1bmN0aW9uYWxfdGVzdCgpCi0gICAgICAgIGVsc2U6Ci0g
ICAgICAgICAgICByYWlzZSBOb3RJbXBsZW1lbnRlZEVycm9yCi0KLSAgICBkZWYgX3J1bl91bml0
X3Rlc3Qoc2VsZik6Ci0gICAgICAgIGRyaXZlciA9IHNlbGYuc2Vzc2lvbi5jb25maWcuZHJpdmVy
Ci0gICAgICAgIHNlcnZlciA9IHNlbGYuc2Vzc2lvbi5jb25maWcuc2VydmVyCi0KLSAgICAgICAg
ZHJpdmVyLmdldChzZXJ2ZXIudXJsKEhBUk5FU1MpKQotCi0gICAgICAgIGFjdHVhbCA9IGRyaXZl
ci5leGVjdXRlX2FzeW5jX3NjcmlwdCgKLSAgICAgICAgICAgICdydW5UZXN0KCIlcyIsICJmb28i
LCBhcmd1bWVudHNbMF0pJyAlIHNlbGYudXJsCi0gICAgICAgICkKLQotICAgICAgICBzdW1tYXJp
emVkID0gc2VsZi5fc3VtbWFyaXplKGFjdHVhbCkKLQotICAgICAgICBhc3NlcnQgc3VtbWFyaXpl
ZFt1J3N1bW1hcml6ZWRfc3RhdHVzJ11bdSdzdGF0dXNfc3RyaW5nJ10gPT0gdSdPSycsIHN1bW1h
cml6ZWRbdSdzdW1tYXJpemVkX3N0YXR1cyddW3UnbWVzc2FnZSddCi0gICAgICAgIGZvciB0ZXN0
IGluIHN1bW1hcml6ZWRbdSdzdW1tYXJpemVkX3Rlc3RzJ106Ci0gICAgICAgICAgICBtc2cgPSAi
JXNcbiVzIiAlICh0ZXN0W3UnbmFtZSddLCB0ZXN0W3UnbWVzc2FnZSddKQotICAgICAgICAgICAg
YXNzZXJ0IHRlc3RbdSdzdGF0dXNfc3RyaW5nJ10gPT0gdSdQQVNTJywgbXNnCi0KLSAgICBkZWYg
X3J1bl9mdW5jdGlvbmFsX3Rlc3Qoc2VsZik6Ci0gICAgICAgIGZvciB2YXJpYW50IGluIHNlbGYu
dmFyaWFudHM6Ci0gICAgICAgICAgICBzZWxmLl9ydW5fZnVuY3Rpb25hbF90ZXN0X3ZhcmlhbnQo
dmFyaWFudCkKLQotICAgIGRlZiBfcnVuX2Z1bmN0aW9uYWxfdGVzdF92YXJpYW50KHNlbGYsIHZh
cmlhbnQpOgotICAgICAgICBkcml2ZXIgPSBzZWxmLnNlc3Npb24uY29uZmlnLmRyaXZlcgotICAg
ICAgICBzZXJ2ZXIgPSBzZWxmLnNlc3Npb24uY29uZmlnLnNlcnZlcgotCi0gICAgICAgIGRyaXZl
ci5nZXQoc2VydmVyLnVybChIQVJORVNTKSkKLQotICAgICAgICB0ZXN0X3VybCA9IHNlbGYudXJs
ICsgdmFyaWFudAotICAgICAgICBhY3R1YWwgPSBkcml2ZXIuZXhlY3V0ZV9hc3luY19zY3JpcHQo
J3J1blRlc3QoIiVzIiwgImZvbyIsIGFyZ3VtZW50c1swXSknICUgdGVzdF91cmwpCi0KLSAgICAg
ICAgIyBUZXN0IG9iamVjdCBvcmRlcmluZyBpcyBub3QgZ3VhcmFudGVlZC4gVGhpcyB3ZWFrIGFz
c2VydGlvbiB2ZXJpZmllcwotICAgICAgICAjIHRoYXQgdGhlIGluZGljZXMgYXJlIHVuaXF1ZSBh
bmQgc2VxdWVudGlhbAotICAgICAgICBpbmRpY2VzID0gW3Rlc3Rfb2JqLmdldCgnaW5kZXgnKSBm
b3IgdGVzdF9vYmogaW4gYWN0dWFsWyd0ZXN0cyddXQotICAgICAgICBzZWxmLl9hc3NlcnRfc2Vx
dWVuY2UoaW5kaWNlcykKLQotICAgICAgICBzdW1tYXJpemVkID0gc2VsZi5fc3VtbWFyaXplKGFj
dHVhbCkKLSAgICAgICAgc2VsZi5leHBlY3RlZFt1J3N1bW1hcml6ZWRfdGVzdHMnXS5zb3J0KGtl
eT1sYW1iZGEgdGVzdF9vYmo6IHRlc3Rfb2JqLmdldCgnbmFtZScpKQotCi0gICAgICAgIGFzc2Vy
dCBzdW1tYXJpemVkID09IHNlbGYuZXhwZWN0ZWQKLQotICAgIGRlZiBfc3VtbWFyaXplKHNlbGYs
IGFjdHVhbCk6Ci0gICAgICAgIHN1bW1hcml6ZWQgPSB7fQotCi0gICAgICAgIHN1bW1hcml6ZWRb
dSdzdW1tYXJpemVkX3N0YXR1cyddID0gc2VsZi5fc3VtbWFyaXplX3N0YXR1cyhhY3R1YWxbJ3N0
YXR1cyddKQotICAgICAgICBzdW1tYXJpemVkW3Unc3VtbWFyaXplZF90ZXN0cyddID0gWwotICAg
ICAgICAgICAgc2VsZi5fc3VtbWFyaXplX3Rlc3QodGVzdCkgZm9yIHRlc3QgaW4gYWN0dWFsWyd0
ZXN0cyddXQotICAgICAgICBzdW1tYXJpemVkW3Unc3VtbWFyaXplZF90ZXN0cyddLnNvcnQoa2V5
PWxhbWJkYSB0ZXN0X29iajogdGVzdF9vYmouZ2V0KCduYW1lJykpCi0gICAgICAgIHN1bW1hcml6
ZWRbdSd0eXBlJ10gPSBhY3R1YWxbJ3R5cGUnXQotCi0gICAgICAgIHJldHVybiBzdW1tYXJpemVk
Ci0KLSAgICBAc3RhdGljbWV0aG9kCi0gICAgZGVmIF9hc3NlcnRfc2VxdWVuY2UobnVtcyk6Ci0g
ICAgICAgIGlmIG51bXMgYW5kIGxlbihudW1zKSA+IDA6Ci0gICAgICAgICAgICBhc3NlcnQgbnVt
cyA9PSBsaXN0KHJhbmdlKDEsIG51bXNbLTFdICsgMSkpCi0KLSAgICBAc3RhdGljbWV0aG9kCi0g
ICAgZGVmIF9zY3J1Yl9zdGFjayh0ZXN0X29iaik6Ci0gICAgICAgIGNvcHkgPSBkaWN0KHRlc3Rf
b2JqKQotICAgICAgICBkZWwgY29weVsnc3RhY2snXQotICAgICAgICByZXR1cm4gY29weQotCi0g
ICAgQHN0YXRpY21ldGhvZAotICAgIGRlZiBfZXhwYW5kX3N0YXR1cyhzdGF0dXNfb2JqKToKLSAg
ICAgICAgZm9yIGtleSwgdmFsdWUgaW4gW2l0ZW0gZm9yIGl0ZW0gaW4gc3RhdHVzX29iai5pdGVt
cygpXToKLSAgICAgICAgICAgICMgSW4gInN0YXR1cyIgYW5kICJ0ZXN0IiBvYmplY3RzLCB0aGUg
InN0YXR1cyIgdmFsdWUgZW51bQotICAgICAgICAgICAgIyBkZWZpbml0aW9ucyBhcmUgaW50ZXJz
cGVyc2VkIHdpdGggcHJvcGVydGllcyBmb3IgdW5yZWxhdGVkCi0gICAgICAgICAgICAjIG1ldGFk
YXRhLiBUaGUgZm9sbG93aW5nIGNvbmRpdGlvbiBpcyBhIGJlc3QtZWZmb3J0IGF0dGVtcHQgdG8K
LSAgICAgICAgICAgICMgaWdub3JlIG5vbi1lbnVtIHByb3BlcnRpZXMuCi0gICAgICAgICAgICBp
ZiBrZXkgIT0ga2V5LnVwcGVyKCkgb3Igbm90IGlzaW5zdGFuY2UodmFsdWUsIGludCk6Ci0gICAg
ICAgICAgICAgICAgY29udGludWUKLQotICAgICAgICAgICAgZGVsIHN0YXR1c19vYmpba2V5XQot
Ci0gICAgICAgICAgICBpZiBzdGF0dXNfb2JqWydzdGF0dXMnXSA9PSB2YWx1ZToKLSAgICAgICAg
ICAgICAgICBzdGF0dXNfb2JqW3Unc3RhdHVzX3N0cmluZyddID0ga2V5Ci0KLSAgICAgICAgZGVs
IHN0YXR1c19vYmpbJ3N0YXR1cyddCi0KLSAgICAgICAgcmV0dXJuIHN0YXR1c19vYmoKLQotICAg
IEBzdGF0aWNtZXRob2QKLSAgICBkZWYgX3N1bW1hcml6ZV90ZXN0KHRlc3Rfb2JqKToKLSAgICAg
ICAgZGVsIHRlc3Rfb2JqWydpbmRleCddCi0KLSAgICAgICAgYXNzZXJ0ICdwaGFzZScgaW4gdGVz
dF9vYmoKLSAgICAgICAgYXNzZXJ0ICdwaGFzZXMnIGluIHRlc3Rfb2JqCi0gICAgICAgIGFzc2Vy
dCAnQ09NUExFVEUnIGluIHRlc3Rfb2JqWydwaGFzZXMnXQotICAgICAgICBhc3NlcnQgdGVzdF9v
YmpbJ3BoYXNlJ10gPT0gdGVzdF9vYmpbJ3BoYXNlcyddWydDT01QTEVURSddCi0gICAgICAgIGRl
bCB0ZXN0X29ialsncGhhc2VzJ10KLSAgICAgICAgZGVsIHRlc3Rfb2JqWydwaGFzZSddCi0KLSAg
ICAgICAgcmV0dXJuIEhUTUxJdGVtLl9leHBhbmRfc3RhdHVzKEhUTUxJdGVtLl9zY3J1Yl9zdGFj
ayh0ZXN0X29iaikpCi0KLSAgICBAc3RhdGljbWV0aG9kCi0gICAgZGVmIF9zdW1tYXJpemVfc3Rh
dHVzKHN0YXR1c19vYmopOgotICAgICAgICByZXR1cm4gSFRNTEl0ZW0uX2V4cGFuZF9zdGF0dXMo
SFRNTEl0ZW0uX3NjcnViX3N0YWNrKHN0YXR1c19vYmopKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC9oYXJuZXNz
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy90ZXN0L2hhcm5lc3MuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNWVl
MGYyODVlODMuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvaGFybmVzcy5odG1sCisrKyAvZGV2L251bGwK
QEAgLTEsMjYgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLSAgPGhlYWQ+Ci0gICAg
PG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJz
ZXQ9dXRmLTgiPgotICA8L2hlYWQ+Ci0gIDxib2R5PgotICAgIDxzY3JpcHQ+Ci1mdW5jdGlvbiBy
dW5UZXN0KHVybCwgaWQsIGRvbmUpIHsKLSAgdmFyIGNoaWxkOwotCi0gIGZ1bmN0aW9uIG9uTWVz
c2FnZShldmVudCkgewotICAgIGlmICghZXZlbnQuZGF0YSB8fCBldmVudC5kYXRhLnR5cGUgIT09
ICdjb21wbGV0ZScpIHsKLSAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICB3aW5kb3cucmVtb3Zl
RXZlbnRMaXN0ZW5lcignbWVzc2FnZScsIG9uTWVzc2FnZSk7Ci0gICAgY2hpbGQuY2xvc2UoKTsK
LSAgICBkb25lKGV2ZW50LmRhdGEpOwotICB9Ci0gIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdt
ZXNzYWdlJywgb25NZXNzYWdlKTsKLQotICB3aW5kb3cuY2hpbGQgPSBjaGlsZCA9IHdpbmRvdy5v
cGVuKHVybCwgaWQpOwotfQotICAgIDwvc2NyaXB0PgotICA8L2JvZHk+Ci08L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy90ZXN0L2lkbC1oZWxwZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L2lkbC1oZWxwZXIuanMKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDJiNzM1MjdmZjJiLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L2lkbC1oZWxw
ZXIuanMKKysrIC9kZXYvbnVsbApAQCAtMSwyNCArMCwwIEBACi0idXNlIHN0cmljdCI7Ci0KLXZh
ciB0eXBlZGVmRnJvbSA9IGludGVyZmFjZUZyb207Ci12YXIgZGljdGlvbmFyeUZyb20gPSBpbnRl
cmZhY2VGcm9tOwotZnVuY3Rpb24gaW50ZXJmYWNlRnJvbShpKSB7Ci0gICAgdmFyIGlkbCA9IG5l
dyBJZGxBcnJheSgpOwotICAgIGlkbC5hZGRfaWRscyhpKTsKLSAgICBmb3IgKHZhciBwcm9wIGlu
IGlkbC5tZW1iZXJzKSB7Ci0gICAgICAgIHJldHVybiBpZGwubWVtYmVyc1twcm9wXTsKLSAgICB9
Ci19Ci0KLWZ1bmN0aW9uIG1lbWJlckZyb20obSkgewotICAgIHZhciBpZGwgPSBuZXcgSWRsQXJy
YXkoKTsKLSAgICBpZGwuYWRkX2lkbHMoJ2ludGVyZmFjZSBBIHsgJyArIG0gKyAnOyB9OycpOwot
ICAgIHJldHVybiBpZGwubWVtYmVyc1siQSJdLm1lbWJlcnNbMF07Ci19Ci0KLWZ1bmN0aW9uIHR5
cGVGcm9tKHR5cGUpIHsKLSAgICB2YXIgYXN0ID0gV2ViSURMMi5wYXJzZSgnaW50ZXJmYWNlIEZv
byB7ICcgKyB0eXBlICsgJyBhKCk7IH07Jyk7Ci0gICAgYXN0ID0gYXN0WzBdOyAvLyBnZXQgdGhl
IGZpcnN0IGZyYWdtZW50Ci0gICAgYXN0ID0gYXN0Lm1lbWJlcnNbMF07IC8vIGdldCB0aGUgZmly
c3QgbWVtYmVyCi0gICAgcmV0dXJuIGFzdC5pZGxUeXBlOyAvLyBnZXQgdGhlIHR5cGUgb2YgdGhl
IGZpcnN0IGZpZWxkCi19CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L25lc3RlZC10ZXN0aGFybmVzcy5qcyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3Qv
bmVzdGVkLXRlc3RoYXJuZXNzLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkOTdj
MTU2OGM3NS4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC9uZXN0ZWQtdGVzdGhhcm5lc3MuanMKKysrIC9k
ZXYvbnVsbApAQCAtMSw4MCArMCwwIEBACi0ndXNlIHN0cmljdCc7Ci0KLS8qKgotICogRXhlY3V0
ZSB0ZXN0aGFybmVzcy5qcyBhbmQgb25lIG9yIG1vcmUgc2NyaXB0cyBpbiBhbiBpZnJhbWUuIFJl
cG9ydCB0aGUKLSAqIHJlc3VsdHMgb2YgdGhlIGV4ZWN1dGlvbi4KLSAqCi0gKiBAcGFyYW0gey4u
LmZ1bmN0aW9ufC4uLnN0cmluZ30gYm9kaWVzIC0gYSBmdW5jdGlvbiBib2R5LiBJZiBzcGVjaWZp
ZWQgYXMgYQotICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0
aW9uIG9iamVjdCwgaXQgd2lsbCBiZQotICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHNlcmlhbGl6ZWQgdG8gYSBzdHJpbmcgdXNpbmcgdGhlCi0gKiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVpbHQtaW4KLSAqICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBgRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nYCBw
cmlvcgotICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvIGluY2x1
c2lvbiBpbiB0aGUgZ2VuZXJhdGVkCi0gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaWZyYW1lLgotICoKLSAqIEByZXR1cm5zIHtQcm9taXNlfSBldmVudHVhbCB2YWx1
ZSBkZXNjcmliaW5nIHRoZSByZXN1bHQgb2YgdGhlIHRlc3QKLSAqICAgICAgICAgICAgICAgICAg
ICBleGVjdXRpb247IHRoZSBzdW1tYXJ5IG9iamVjdCBoYXMgdHdvIHByb3BlcnRpZXM6Ci0gKiAg
ICAgICAgICAgICAgICAgICAgYGhhcm5lc3NgIChhIHN0cmluZyBkZXNjcmliaW5nIHRoZSBoYXJu
ZXNzIHN0YXR1cykgYW5kCi0gKiAgICAgICAgICAgICAgICAgICAgYHRlc3RzYCAoYW4gb2JqZWN0
IHdob3NlICJvd24iIHByb3BlcnR5IG5hbWVzIGFyZSB0aGUKLSAqICAgICAgICAgICAgICAgICAg
ICB0aXRsZXMgb2YgdGhlIGRlZmluZWQgc3ViLXRlc3RzIGFuZCB3aG9zZSBhc3NvY2lhdGVkCi0g
KiAgICAgICAgICAgICAgICAgICAgdmFsdWVzIGFyZSB0aGUgc3VidGVzdCBzdGF0dXNlcykuCi0g
Ki8KLWZ1bmN0aW9uIG1ha2VUZXN0KC4uLmJvZGllcykgewotICBjb25zdCBjbG9zZVNjcmlwdCA9
ICc8JyArICcvc2NyaXB0Pic7Ci0gIGxldCBzcmMgPSBgCi08IURPQ1RZUEUgSFRNTD4KLTxodG1s
PgotPGhlYWQ+Ci08dGl0bGU+RG9jdW1lbnQgdGl0bGU8L3RpdGxlPgotPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanM/JHtNYXRoLnJhbmRvbSgpfSI+JHtjbG9zZVNjcmlwdH0K
LTwvaGVhZD4KLQotPGJvZHk+Ci08ZGl2IGlkPSJsb2ciPjwvZGl2PmA7Ci0gIGJvZGllcy5mb3JF
YWNoKChib2R5KSA9PiB7Ci0gICAgc3JjICs9ICc8c2NyaXB0PignICsgYm9keSArICcpKCk7JyAr
IGNsb3NlU2NyaXB0OwotICB9KTsKLQotICBjb25zdCBpZnJhbWUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCdpZnJhbWUnKTsKLQotICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGlmcmFtZSk7
Ci0gIGlmcmFtZS5jb250ZW50RG9jdW1lbnQud3JpdGUoc3JjKTsKLQotICByZXR1cm4gbmV3IFBy
b21pc2UoKHJlc29sdmUpID0+IHsKLSAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbWVzc2Fn
ZScsIGZ1bmN0aW9uIG9uTWVzc2FnZShlKSB7Ci0gICAgICBpZiAoZS5zb3VyY2UgIT09IGlmcmFt
ZS5jb250ZW50V2luZG93KSB7Ci0gICAgICAgIHJldHVybjsKLSAgICAgIH0KLSAgICAgIGlmICgh
ZS5kYXRhIHx8IGUuZGF0YS50eXBlICE9PSdjb21wbGV0ZScpIHsKLSAgICAgICAgcmV0dXJuOwot
ICAgICAgfQotICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21lc3NhZ2UnLCBvbk1l
c3NhZ2UpOwotICAgICAgcmVzb2x2ZShlLmRhdGEpOwotICAgIH0pOwotCi0gICAgaWZyYW1lLmNv
bnRlbnREb2N1bWVudC5jbG9zZSgpOwotICB9KS50aGVuKCh7IHRlc3RzLCBzdGF0dXMgfSkgPT4g
ewotICAgIGNvbnN0IHN1bW1hcnkgPSB7Ci0gICAgICBoYXJuZXNzOiBnZXRFbnVtUHJvcChzdGF0
dXMsIHN0YXR1cy5zdGF0dXMpLAotICAgICAgdGVzdHM6IHt9Ci0gICAgfTsKLQotICAgIHRlc3Rz
LmZvckVhY2goKHRlc3QpID0+IHsKLSAgICAgIHN1bW1hcnkudGVzdHNbdGVzdC5uYW1lXSA9IGdl
dEVudW1Qcm9wKHRlc3QsIHRlc3Quc3RhdHVzKTsKLSAgICB9KTsKLQotICAgIHJldHVybiBzdW1t
YXJ5OwotICB9KTsKLX0KLQotZnVuY3Rpb24gZ2V0RW51bVByb3Aob2JqZWN0LCB2YWx1ZSkgewot
ICBmb3IgKGxldCBwcm9wZXJ0eSBpbiBvYmplY3QpIHsKLSAgICBpZiAoIS9eW0EtWl0rJC8udGVz
dChwcm9wZXJ0eSkpIHsKLSAgICAgIGNvbnRpbnVlOwotICAgIH0KLQotICAgIGlmIChvYmplY3Rb
cHJvcGVydHldID09PSB2YWx1ZSkgewotICAgICAgcmV0dXJuIHByb3BlcnR5OwotICAgIH0KLSAg
fQotfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9hZGRfY2xlYW51cC5odG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9hZGRf
Y2xlYW51cC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkNDdlN2ZmMjRiNy4u
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9hZGRfY2xlYW51cC5odG1sCisrKyAvZGV2L251bGwK
QEAgLTEsOTYgKzAsMCBAQAotPCFET0NUWVBFIEhUTUw+Ci08aHRtbD4KLTxoZWFkPgotPHRpdGxl
PlRlc3QjYWRkX2NsZWFudXA8L3RpdGxlPgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Rlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxkaXYgaWQ9ImxvZyI+PC9kaXY+Ci08c2NyaXB0
PgotInVzZSBzdHJpY3QiOwotCi12YXIgbG9nX3N5bmM7Ci10ZXN0KGZ1bmN0aW9uKHQpIHsKLSAg
bG9nX3N5bmMgPSAiIjsKLSAgdC5hZGRfY2xlYW51cChmdW5jdGlvbigpIHsgbG9nX3N5bmMgKz0g
IjEiOyB9KTsKLSAgdC5hZGRfY2xlYW51cChmdW5jdGlvbigpIHsgbG9nX3N5bmMgKz0gIjIiOyB9
KTsKLSAgdC5hZGRfY2xlYW51cChmdW5jdGlvbigpIHsgbG9nX3N5bmMgKz0gIjMiOyB9KTsKLSAg
dC5hZGRfY2xlYW51cChmdW5jdGlvbigpIHsgbG9nX3N5bmMgKz0gIjQiOyB9KTsKLSAgdC5hZGRf
Y2xlYW51cChmdW5jdGlvbigpIHsgbG9nX3N5bmMgKz0gIjUiOyB9KTsKLSAgbG9nX3N5bmMgKz0g
IjAiOwotfSwgInByb2JlIHN5bmNocm9ub3VzIik7Ci0KLXRlc3QoZnVuY3Rpb24oKSB7Ci0gIGlm
IChsb2dfc3luYyAhPT0gIjAxMjM0NSIpIHsKLSAgICB0aHJvdyBuZXcgRXJyb3IoIkV4cGVjdGVk
OiAnMDEyMzQ1Jy4gQWN0dWFsOiAnIiArIGxvZ19zeW5jICsgIicuIik7Ci0gIH0KLX0sICJDbGVh
bnVwIG1ldGhvZHMgYXJlIGludm9rZWQgZXhhY3RseSBvbmNlIGFuZCBpbiB0aGUgZXhwZWN0ZWQg
c2VxdWVuY2UuIik7Ci0KLXZhciBjb21wbGV0ZSwgbG9nX2FzeW5jOwotYXN5bmNfdGVzdChmdW5j
dGlvbih0KSB7Ci0gIGNvbXBsZXRlID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24oKSB7Ci0gICAgaWYg
KGxvZ19hc3luYyAhPT0gIjAxMiIpIHsKLSAgICAgIHRocm93IG5ldyBFcnJvcigiRXhwZWN0ZWQ6
ICcwMTInLiBBY3R1YWw6ICciICsgbG9nX2FzeW5jICsgIicuIik7Ci0gICAgfQotCi0gICAgdC5k
b25lKCk7Ci0gIH0pOwotfSwgIkNsZWFudXAgbWV0aG9kcyBhcmUgaW52b2tlZCBmb2xsb3dpbmcg
dGhlIGNvbXBsZXRpb24gb2YgYXN5bmNocm9ub3VzIHRlc3RzIik7Ci0KLWFzeW5jX3Rlc3QoZnVu
Y3Rpb24odCkgewotICBsb2dfYXN5bmMgPSAiIjsKLSAgdC5hZGRfY2xlYW51cChmdW5jdGlvbigp
IHsgbG9nX2FzeW5jICs9ICIxIjsgfSk7Ci0KLSAgc2V0VGltZW91dCh0LnN0ZXBfZnVuYyhmdW5j
dGlvbigpIHsKLSAgICB0LmFkZF9jbGVhbnVwKGZ1bmN0aW9uKCkgewotICAgICAgbG9nX2FzeW5j
ICs9ICIyIjsKLSAgICAgIGNvbXBsZXRlKCk7Ci0gICAgfSk7Ci0gICAgbG9nX2FzeW5jICs9ICIw
IjsKLSAgICB0LmRvbmUoKTsKLSAgfSksIDApOwotfSwgInByb2JlIGFzeW5jaHJvbm91cyIpOwot
PC9zY3JpcHQ+Ci08c2NyaXB0IHR5cGU9InRleHQvanNvbiIgaWQ9ImV4cGVjdGVkIj4KLXsKLSAg
InN1bW1hcml6ZWRfc3RhdHVzIjogewotICAgICJzdGF0dXNfc3RyaW5nIjogIk9LIiwKLSAgICAi
bWVzc2FnZSI6IG51bGwsCi0gICAgInN0YWNrIjogbnVsbAotICB9LAotICAic3VtbWFyaXplZF90
ZXN0cyI6IFsKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJu
YW1lIjogIkNsZWFudXAgbWV0aG9kcyBhcmUgaW52b2tlZCBleGFjdGx5IG9uY2UgYW5kIGluIHRo
ZSBleHBlY3RlZCBzZXF1ZW5jZS4iLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJt
ZXNzYWdlIjogbnVsbCwKLSAgICAgICJzdGFjayI6IG51bGwKLSAgICB9LAotICAgIHsKLSAgICAg
ICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUiOiAiQ2xlYW51cCBtZXRob2Rz
IGFyZSBpbnZva2VkIGZvbGxvd2luZyB0aGUgY29tcGxldGlvbiBvZiBhc3luY2hyb25vdXMgdGVz
dHMiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAg
ICAgICJzdGFjayI6IG51bGwKLSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjog
IlBBU1MiLAotICAgICAgIm5hbWUiOiAicHJvYmUgYXN5bmNocm9ub3VzIiwKLSAgICAgICJwcm9w
ZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAic3RhY2siOiBudWxs
Ci0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJu
YW1lIjogInByb2JlIHN5bmNocm9ub3VzIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAg
ICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAic3RhY2siOiBudWxsCi0gICAgfQotICBdLAotICAi
dHlwZSI6ICJjb21wbGV0ZSIKLX0KLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvdGVzdC90ZXN0cy9hZGRfY2xlYW51cF9jb3VudC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9hZGRfY2xlYW51
cF9jb3VudC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhMDc5YzliODc5Yi4u
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9hZGRfY2xlYW51cF9jb3VudC5odG1sCisrKyAvZGV2
L251bGwKQEAgLTEsNDEgKzAsMCBAQAotPCFET0NUWVBFIEhUTUw+Ci08aHRtbD4KLTxoZWFkPgot
PHRpdGxlPlRlc3QjYWRkX2NsZWFudXAgcmVwb3J0ZWQgY291bnQ8L3RpdGxlPgotPHNjcmlwdCBz
cmM9Ii4uLy4uL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxkaXYgaWQ9
ImxvZyI+PC9kaXY+Ci0KLTxzY3JpcHQ+Ci1wcm9taXNlX3Rlc3QoZnVuY3Rpb24odCkgewotICAg
IHQuYWRkX2NsZWFudXAoZnVuY3Rpb24oKSB7fSk7Ci0gICAgdC5hZGRfY2xlYW51cChmdW5jdGlv
bigpIHt9KTsKLSAgICB0LmFkZF9jbGVhbnVwKGZ1bmN0aW9uKCkgeyB0aHJvdyBuZXcgRXJyb3Io
KTsgfSk7Ci0gICAgbmV3IEV2ZW50V2F0Y2hlcih0LCBkb2N1bWVudC5ib2R5LCBbXSk7Ci0KLSAg
ICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7Ci19LCAndGVzdCB3aXRoIDMgdXNlci1kZWZpbmVk
IGNsZWFudXAgZnVuY3Rpb25zJyk7Ci08L3NjcmlwdD4KLTxzY3JpcHQgdHlwZT0idGV4dC9qc29u
IiBpZD0iZXhwZWN0ZWQiPgotewotICAic3VtbWFyaXplZF9zdGF0dXMiOiB7Ci0gICAgInN0YXR1
c19zdHJpbmciOiAiRVJST1IiLAotICAgICJtZXNzYWdlIjogIlRlc3QgbmFtZWQgJ3Rlc3Qgd2l0
aCAzIHVzZXItZGVmaW5lZCBjbGVhbnVwIGZ1bmN0aW9ucycgc3BlY2lmaWVkIDMgJ2NsZWFudXAn
IGZ1bmN0aW9ucywgYW5kIDEgZmFpbGVkLiIsCi0gICAgInN0YWNrIjogbnVsbAotICB9LAotICAi
c3VtbWFyaXplZF90ZXN0cyI6IFsKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNT
IiwKLSAgICAgICJuYW1lIjogInRlc3Qgd2l0aCAzIHVzZXItZGVmaW5lZCBjbGVhbnVwIGZ1bmN0
aW9ucyIsCi0gICAgICAic3RhY2siOiBudWxsLAotICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAg
ICAgInByb3BlcnRpZXMiOiB7fQotICAgIH0KLSAgXSwKLSAgInR5cGUiOiAiY29tcGxldGUiCi19
Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvYWRkX2Ns
ZWFudXBfZXJyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2FkZF9jbGVhbnVwX2Vyci5odG1sCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCA2NmVmYjA3NzMzNy4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0
cy9hZGRfY2xlYW51cF9lcnIuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDQ4ICswLDAgQEAKLTwh
RE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLTx0aXRsZT5UZXN0I2FkZF9jbGVhbnVwOiBl
cnJvcjwvdGl0bGU+Ci08c2NyaXB0IHNyYz0iLi4vLi4vdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTwv
aGVhZD4KLTxib2R5PgotPGRpdiBpZD0ibG9nIj48L2Rpdj4KLTxzY3JpcHQ+Ci0idXNlIHN0cmlj
dCI7Ci0KLXRlc3QoZnVuY3Rpb24odCkgewotICB0LmFkZF9jbGVhbnVwKGZ1bmN0aW9uKCkgewot
ICAgIHRocm93IG5ldyBFcnJvcignZXhjZXB0aW9uIGluIGNsZWFudXAgZnVuY3Rpb24nKTsKLSAg
fSk7Ci19LCAiRXhjZXB0aW9uIGluIGNsZWFudXAgZnVuY3Rpb24gY2F1c2VzIGhhcm5lc3MgZmFp
bHVyZS4iKTsKLQotdGVzdChmdW5jdGlvbigpIHt9LCAiVGhpcyB0ZXN0IHNob3VsZCBub3QgYmUg
cnVuLiIpOwotPC9zY3JpcHQ+Ci08c2NyaXB0IHR5cGU9InRleHQvanNvbiIgaWQ9ImV4cGVjdGVk
Ij4KLXsKLSAgInN1bW1hcml6ZWRfc3RhdHVzIjogewotICAgICJzdGF0dXNfc3RyaW5nIjogIkVS
Uk9SIiwKLSAgICAibWVzc2FnZSI6ICJUZXN0IG5hbWVkICdFeGNlcHRpb24gaW4gY2xlYW51cCBm
dW5jdGlvbiBjYXVzZXMgaGFybmVzcyBmYWlsdXJlLicgc3BlY2lmaWVkIDEgJ2NsZWFudXAnIGZ1
bmN0aW9uLCBhbmQgMSBmYWlsZWQuIiwKLSAgICAic3RhY2siOiBudWxsCi0gIH0sCi0gICJzdW1t
YXJpemVkX3Rlc3RzIjogWwotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAot
ICAgICAgIm5hbWUiOiAiRXhjZXB0aW9uIGluIGNsZWFudXAgZnVuY3Rpb24gY2F1c2VzIGhhcm5l
c3MgZmFpbHVyZS4iLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjog
bnVsbCwKLSAgICAgICJzdGFjayI6IG51bGwKLSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0dXNf
c3RyaW5nIjogIk5PVFJVTiIsCi0gICAgICAibmFtZSI6ICJUaGlzIHRlc3Qgc2hvdWxkIG5vdCBi
ZSBydW4uIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6IG51bGws
Ci0gICAgICAic3RhY2siOiBudWxsCi0gICAgfQotICBdLAotICAidHlwZSI6ICJjb21wbGV0ZSIK
LX0KLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9hZGRf
Y2xlYW51cF9lcnJfbXVsdGkuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvYWRkX2NsZWFudXBfZXJyX211bHRpLmh0
bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGI2MDY2OGMwMjkwLi4wMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy90ZXN0L3Rlc3RzL2FkZF9jbGVhbnVwX2Vycl9tdWx0aS5odG1sCisrKyAvZGV2L251bGwK
QEAgLTEsNTUgKzAsMCBAQAotPCFET0NUWVBFIEhUTUw+Ci08aHRtbD4KLTxoZWFkPgotPHRpdGxl
PlRlc3QjYWRkX2NsZWFudXA6IG11bHRpcGxlIGZ1bmN0aW9ucyB3aXRoIG9uZSBpbiBlcnJvcjwv
dGl0bGU+Ci08c2NyaXB0IHNyYz0iLi4vLi4vdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii4uLy4uL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTwvaGVhZD4K
LTxib2R5PgotPGRpdiBpZD0ibG9nIj48L2Rpdj4KLQotPHNjcmlwdD4KLSJ1c2Ugc3RyaWN0IjsK
LQotdGVzdChmdW5jdGlvbih0KSB7Ci0gICAgdC5hZGRfY2xlYW51cChmdW5jdGlvbigpIHsKLSAg
ICAgIHRocm93IG5ldyBFcnJvcigiZXhjZXB0aW9uIGluIGNsZWFudXAgZnVuY3Rpb24iKTsKLSAg
ICB9KTsKLQotICAgIC8vIFRoZSBmb2xsb3dpbmcgY2xlYW51cCBmdW5jdGlvbiBkZWZpbmVzIGEg
dGVzdCBzbyB0aGF0IHRoZSByZXBvcnRlZAotICAgIC8vIGRhdGEgZGVtb25zdHJhdGVzIHRoZSBp
bnRlbmRlZCBydW4tdGltZSBiZWhhdmlvciwgaS5lLiB0aGF0Ci0gICAgLy8gYHRlc3RoYXJuZXNz
LmpzYCBpbnZva2VzIGFsbCBjbGVhbnVwIGZ1bmN0aW9ucyBldmVuIHdoZW4gb25lIG9yIG1vcmUK
LSAgICAvLyB0aHJvdyBlcnJvcnMuCi0gICAgdC5hZGRfY2xlYW51cChmdW5jdGlvbigpIHsKLSAg
ICAgIHRlc3QoZnVuY3Rpb24oKSB7fSwgIlZlcmlmaWNhdGlvbiB0ZXN0Iik7Ci0gICAgfSk7Ci0g
IH0sICJUZXN0IHdpdGggbXVsdGlwbGUgY2xlYW51cCBmdW5jdGlvbnMiKTsKLTwvc2NyaXB0Pgot
PHNjcmlwdCB0eXBlPSJ0ZXh0L2pzb24iIGlkPSJleHBlY3RlZCI+Ci17Ci0gICJzdW1tYXJpemVk
X3N0YXR1cyI6IHsKLSAgICAic3RhdHVzX3N0cmluZyI6ICJFUlJPUiIsCi0gICAgIm1lc3NhZ2Ui
OiAiVGVzdCBuYW1lZCAnVGVzdCB3aXRoIG11bHRpcGxlIGNsZWFudXAgZnVuY3Rpb25zJyBzcGVj
aWZpZWQgMiAnY2xlYW51cCcgZnVuY3Rpb25zLCBhbmQgMSBmYWlsZWQuIiwKLSAgICAic3RhY2si
OiBudWxsCi0gIH0sCi0gICJzdW1tYXJpemVkX3Rlc3RzIjogWwotICAgIHsKLSAgICAgICJzdGF0
dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUiOiAiVGVzdCB3aXRoIG11bHRpcGxlIGNs
ZWFudXAgZnVuY3Rpb25zIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2Fn
ZSI6IG51bGwsCi0gICAgICAic3RhY2siOiBudWxsCi0gICAgfSwKLSAgICB7Ci0gICAgICAic3Rh
dHVzX3N0cmluZyI6ICJOT1RSVU4iLAotICAgICAgIm5hbWUiOiAiVmVyaWZpY2F0aW9uIHRlc3Qi
LAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAg
ICJzdGFjayI6IG51bGwKLSAgICB9Ci0gIF0sCi0gICJ0eXBlIjogImNvbXBsZXRlIgotfQotPC9z
Y3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2FwaS10ZXN0cy0x
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy90ZXN0L3Rlc3RzL2FwaS10ZXN0cy0xLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDUzZDkxYzQ3OWEyLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2FwaS10ZXN0cy0x
Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw0NjIgKzAsMCBAQAotPCFET0NUWVBFIEhUTUw+Ci08
aHRtbD4KLTxoZWFkPgotPHRpdGxlPlNhbXBsZSBIVE1MNSBBUEkgVGVzdHM8L3RpdGxlPgotPG1l
dGEgbmFtZT0idGltZW91dCIgY29udGVudD0iNjAwMCI+Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9
ImxvYWRfdGVzdF9hdHRyLmRvbmUoKSI+Ci08aDE+U2FtcGxlIEhUTUw1IEFQSSBUZXN0czwvaDE+
Ci08ZGl2IGlkPSJsb2ciPjwvZGl2PgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0PgotICAgIHNldHVwX3J1biA9IGZhbHNlOwotICAgIHNldHVwKGZ1bmN0
aW9uKCkgewotICAgICAgICAgICAgc2V0dXBfcnVuID0gdHJ1ZTsKLSAgICAgICAgICB9KTsKLSAg
ICB0ZXN0KGZ1bmN0aW9uKCkge2Fzc2VydF90cnVlKHNldHVwX3J1bil9LCAiU2V0dXAgZnVuY3Rp
b24gcmFuIik7Ci0KLSAgICAvLyBUd28gZXhhbXBsZXMgZm9yIHRlc3RpbmcgZXZlbnRzIGZyb20g
aGFuZGxlciBhbmQgYXR0cmlidXRlcwotICAgIHZhciBsb2FkX3Rlc3RfZXZlbnQgPSBhc3luY190
ZXN0KCJ3aW5kb3cgb25sb2FkIGV2ZW50IGZpcmVzIHdoZW4gc2V0IGZyb20gdGhlIGhhbmRsZXIi
KTsKLQotICAgIGZ1bmN0aW9uIHdpbmRvd0xvYWQoKQotICAgIHsKLSAgICAgICAgbG9hZF90ZXN0
X2V2ZW50LmRvbmUoKTsKLSAgICB9Ci0gICAgb25fZXZlbnQod2luZG93LCAibG9hZCIsIHdpbmRv
d0xvYWQpOwotCi0gICAgLy8gc2VlIHRoZSBib2R5IG9ubG9hZCBiZWxvdwotICAgIHZhciBsb2Fk
X3Rlc3RfYXR0ciA9IGFzeW5jX3Rlc3QoImJvZHkgZWxlbWVudCBmaXJlcyB0aGUgb25sb2FkIGV2
ZW50IHNldCBmcm9tIHRoZSBhdHRyaWJ1dGUiKTsKLTwvc2NyaXB0PgotPHNjcmlwdD4KLSAgICBm
dW5jdGlvbiBib2R5RWxlbWVudCgpCi0gICAgewotICAgICAgICBhc3NlcnRfZXF1YWxzKGRvY3Vt
ZW50LmJvZHksIGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJib2R5IilbMF0pOwotICAg
IH0KLSAgICB0ZXN0KGJvZHlFbGVtZW50LCAiZG9jdW1lbnQuYm9keSBzaG91bGQgYmUgdGhlIGZp
cnN0IGJvZHkgZWxlbWVudCBpbiB0aGUgZG9jdW1lbnQiKTsKLQotICAgIHRlc3QoZnVuY3Rpb24o
KSB7Ci0gICAgICAgIGFzc2VydF9lcXVhbHMoMSwxKTsKLSAgICAgICAgYXNzZXJ0X2VxdWFscyhO
YU4sIE5hTiwgIk5hTiBjYXNlIik7Ci0gICAgICAgIGFzc2VydF9lcXVhbHMoMCwgMCwgIlplcm8g
Y2FzZSIpOwotICAgIH0sICJhc3NlcnRfZXF1YWxzIHRlc3RzIikKLQotICAgIHRlc3QoZnVuY3Rp
b24oKSB7Ci0gICAgICAgIGFzc2VydF9lcXVhbHMoLTAsIDAsICJaZXJvIGNhc2UiKTsKLSAgICB9
LCAiYXNzZXJ0X2VxdWFscyB0ZXN0cyBleHBlY3RlZCB0byBmYWlsIikKLQotICAgIHRlc3QoZnVu
Y3Rpb24oKSB7Ci0gICAgICAgIGFzc2VydF9ub3RfZXF1YWxzKHt9LCB7fSwgIm9iamVjdCBjYXNl
Iik7Ci0gICAgICAgIGFzc2VydF9ub3RfZXF1YWxzKC0wLCAwLCAiWmVybyBjYXNlIik7Ci0gICAg
fSwgImFzc2VydF9ub3RfZXF1YWxzIHRlc3RzIikKLQotICAgIGZ1bmN0aW9uIHRlc3RBc3NlcnRQ
YXNzKCkKLSAgICB7Ci0gICAgICAgIGFzc2VydF90cnVlKHRydWUpOwotICAgIH0KLSAgICB0ZXN0
KHRlc3RBc3NlcnRQYXNzLCAiYXNzZXJ0X3RydWUgZXhwZWN0ZWQgdG8gcGFzcyIpOwotCi0gICAg
ZnVuY3Rpb24gdGVzdEFzc2VydEZhbHNlKCkKLSAgICB7Ci0gICAgICAgIGFzc2VydF90cnVlKGZh
bHNlLCAiZmFsc2Ugc2hvdWxkIG5vdCBiZSB0cnVlIik7Ci0gICAgfQotICAgIHRlc3QodGVzdEFz
c2VydEZhbHNlLCAiYXNzZXJ0X3RydWUgZXhwZWN0ZWQgdG8gZmFpbCIpOwotCi0gICAgZnVuY3Rp
b24gYmFzaWNBc3NlcnRBcnJheUVxdWFscygpCi0gICAgewotICAgICAgICBhc3NlcnRfYXJyYXlf
ZXF1YWxzKFsxLCBOYU5dLCBbMSwgTmFOXSwgIlsxLCBOYU5dIGlzIGVxdWFsIHRvIFsxLCBOYU5d
Iik7Ci0gICAgfQotICAgIHRlc3QoYmFzaWNBc3NlcnRBcnJheUVxdWFscywgImJhc2ljIGFzc2Vy
dF9hcnJheV9lcXVhbHMgdGVzdCIpOwotCi0gICAgZnVuY3Rpb24gYXNzZXJ0QXJyYXlFcXVhbHNV
bmRlZmluZWQoKQotICAgIHsKLSAgICAgICAgYXNzZXJ0X2FycmF5X2VxdWFscyh1bmRlZmluZWQs
IFsxXSwgInVuZGVmaW5lZCBlcXVhbHMgWzFdPyIpOwotICAgIH0KLSAgICB0ZXN0KGFzc2VydEFy
cmF5RXF1YWxzVW5kZWZpbmVkLCAiYXNzZXJ0X2FycmF5X2VxdWFscyB3aXRoIGZpcnN0IHBhcmFt
IHVuZGVmaW5lZCIpOwotCi0gICAgZnVuY3Rpb24gYXNzZXJ0QXJyYXlFcXVhbHNUcnVlKCkKLSAg
ICB7Ci0gICAgICAgIGFzc2VydF9hcnJheV9lcXVhbHModHJ1ZSwgWzFdLCAidHJ1ZSBlcXVhbHMg
WzFdPyIpOwotICAgIH0KLSAgICB0ZXN0KGFzc2VydEFycmF5RXF1YWxzVHJ1ZSwgImFzc2VydF9h
cnJheV9lcXVhbHMgd2l0aCBmaXJzdCBwYXJhbSB0cnVlIik7Ci0KLSAgICBmdW5jdGlvbiBhc3Nl
cnRBcnJheUVxdWFsc0ZhbHNlKCkKLSAgICB7Ci0gICAgICAgIGFzc2VydF9hcnJheV9lcXVhbHMo
ZmFsc2UsIFsxXSwgImZhbHNlIGVxdWFscyBbMV0/Iik7Ci0gICAgfQotICAgIHRlc3QoYXNzZXJ0
QXJyYXlFcXVhbHNGYWxzZSwgImFzc2VydF9hcnJheV9lcXVhbHMgd2l0aCBmaXJzdCBwYXJhbSBm
YWxzZSIpOwotCi0gICAgZnVuY3Rpb24gYXNzZXJ0QXJyYXlFcXVhbHNOdWxsKCkKLSAgICB7Ci0g
ICAgICAgIGFzc2VydF9hcnJheV9lcXVhbHMobnVsbCwgWzFdLCAibnVsbCBlcXVhbHMgWzFdPyIp
OwotICAgIH0KLSAgICB0ZXN0KGFzc2VydEFycmF5RXF1YWxzTnVsbCwgImFzc2VydF9hcnJheV9l
cXVhbHMgd2l0aCBmaXJzdCBwYXJhbSBudWxsIik7Ci0KLSAgICBmdW5jdGlvbiBhc3NlcnRBcnJh
eUVxdWFsc051bWVyaWMoKQotICAgIHsKLSAgICAgICAgYXNzZXJ0X2FycmF5X2VxdWFscygxLCBb
MV0sICIxIGVxdWFscyBbMV0/Iik7Ci0gICAgfQotICAgIHRlc3QoYXNzZXJ0QXJyYXlFcXVhbHNO
dW1lcmljLCAiYXNzZXJ0X2FycmF5X2VxdWFscyB3aXRoIGZpcnN0IHBhcmFtIDEiKTsKLQotICAg
IGZ1bmN0aW9uIGJhc2ljQXNzZXJ0T2JqZWN0RXF1YWxzKCkKLSAgICB7Ci0gICAgICAgIGFzc2Vy
dF9vYmplY3RfZXF1YWxzKFsxLCAyLCBbMSwgMl1dLCB7IDA6IDEsIDE6IDIsIDI6IHsgMDogMSwg
MTogMn0gfSwgImFycmF5IGlzIGVxdWFsIHRvIG9iamVjdCIpCi0gICAgfQotICAgIHRlc3QoYmFz
aWNBc3NlcnRPYmplY3RFcXVhbHMsICJiYXNpYyBhc3NlcnRfb2JqZWN0X2VxdWFscyB0ZXN0Iik7
Ci0KLSAgICBmdW5jdGlvbiBiYXNpY0Fzc2VydEFycmF5QXBwcm94RXF1YWxzKCkKLSAgICB7Ci0g
ICAgICAgIGFzc2VydF9hcnJheV9hcHByb3hfZXF1YWxzKFsxMCwgMTFdLCBbMTEsIDEwXSwgMSwg
IlsxMCwgMTFdIGlzIGFwcHJveGltYXRlbHkgKCsvLSAxKSBbMTEsIDEwXSIpCi0gICAgfQotICAg
IHRlc3QoYmFzaWNBc3NlcnRBcnJheUFwcHJveEVxdWFscywgImJhc2ljIGFzc2VydF9hcnJheV9h
cHByb3hfZXF1YWxzIHRlc3QiKTsKLQotICAgIGZ1bmN0aW9uIGJhc2ljQXNzZXJ0QXBwcm94RXF1
YWxzKCkKLSAgICB7Ci0gICAgICAgIGFzc2VydF9hcHByb3hfZXF1YWxzKDEwLCAxMSwgMSwgIjEw
IGlzIGFwcHJveGltYXRlbHkgKCsvLSAxKSAxMSIpCi0gICAgfQotICAgIHRlc3QoYmFzaWNBc3Nl
cnRBcHByb3hFcXVhbHMsICJiYXNpYyBhc3NlcnRfYXBwcm94X2VxdWFscyB0ZXN0Iik7Ci0KLSAg
ICBmdW5jdGlvbiBiYXNpY0Fzc2VydExlc3NUaGFuKCkKLSAgICB7Ci0gICAgICAgIGFzc2VydF9s
ZXNzX3RoYW4oMTAsIDExLCAiMTAgaXMgbGVzcyB0aGFuIDExIikKLSAgICB9Ci0gICAgdGVzdChi
YXNpY0Fzc2VydEFwcHJveEVxdWFscywgImJhc2ljIGFzc2VydF9sZXNzX3RoYW4gdGVzdCIpOwot
Ci0gICAgZnVuY3Rpb24gYmFzaWNBc3NlcnRHcmVhdGVyVGhhbigpCi0gICAgewotICAgICAgICBh
c3NlcnRfZ3JlYXRlcl90aGFuKDEwLCAxMSwgIjEwIGlzIG5vdCBncmVhdGVyIHRoYW4gMTEiKTsK
LSAgICB9Ci0gICAgdGVzdChiYXNpY0Fzc2VydEdyZWF0ZXJUaGFuLCAiYXNzZXJ0X2dyZWF0ZXJf
dGhhbiBleHBlY3RlZCB0byBmYWlsIik7Ci0KLSAgICBmdW5jdGlvbiBiYXNpY0Fzc2VydEdyZWF0
ZXJUaGFuRXF1YWwoKQotICAgIHsKLSAgICAgICAgYXNzZXJ0X2dyZWF0ZXJfdGhhbl9lcXVhbCgx
MCwgMTAsICIxMCBpcyBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gMTAiKQotICAgIH0KLSAgICB0
ZXN0KGJhc2ljQXNzZXJ0R3JlYXRlclRoYW5FcXVhbCwgImJhc2ljIGFzc2VydF9ncmVhdGVyX3Ro
YW5fZXF1YWwgdGVzdCIpOwotCi0gICAgZnVuY3Rpb24gYmFzaWNBc3NlcnRMZXNzVGhhbkVxdWFs
KCkKLSAgICB7Ci0gICAgICAgIGFzc2VydF9ncmVhdGVyX3RoYW5fZXF1YWwoJzEwJywgMTAsICIn
MTAnIGlzIG5vdCBhIG51bWJlciIpCi0gICAgfQotICAgIHRlc3QoYmFzaWNBc3NlcnRMZXNzVGhh
bkVxdWFsLCAiYXNzZXJ0X2xlc3NfdGhhbl9lcXVhbCBleHBlY3RlZCB0byBmYWlsIik7Ci0KLSAg
ICBmdW5jdGlvbiB0ZXN0QXNzZXJ0SW5oZXJpdHMoKSB7Ci0gICAgICAgIHZhciBBID0gZnVuY3Rp
b24oKXt0aGlzLmEgPSAiYSJ9Ci0gICAgICAgIEEucHJvdG90eXBlID0ge2I6ImIifQotICAgICAg
ICB2YXIgYSA9IG5ldyBBKCk7Ci0gICAgICAgIGFzc2VydF9leGlzdHMoYSwgImEiKTsKLSAgICAg
ICAgYXNzZXJ0X25vdF9leGlzdHMoYSwgImIiKTsKLSAgICAgICAgYXNzZXJ0X2luaGVyaXRzKGEs
ICJiIik7Ci0gICAgfQotICAgIHRlc3QodGVzdEFzc2VydEluaGVyaXRzLCAidGVzdCBmb3IgYXNz
ZXJ0W19ub3RdX2V4aXN0cyBhbmQgaW5zZXJ0X2luaGVyaXRzIikKLQotICAgIHRlc3QoZnVuY3Rp
b24oKQotICAgIHsKLSAgICAgICAgdmFyIGEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJhIikK
LSAgICAgICAgdmFyIGIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJiIikKLSAgICAgICAgYXNz
ZXJ0X3Rocm93cygiTk9UX0ZPVU5EX0VSUiIsIGZ1bmN0aW9uICgpIHthLnJlbW92ZUNoaWxkKGIp
fSk7Ci0gICAgfSwgIlRlc3QgdGhyb3cgRE9NIGV4Y2VwdGlvbiIpCi0KLSAgICB0ZXN0KGZ1bmN0
aW9uKCkKLSAgICB7Ci0gICAgICAgIHZhciBhID0gZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoImEi
KQotICAgICAgICB2YXIgYiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImIiKQotICAgICAgICBh
c3NlcnRfdGhyb3dzKCJOT1RfRk9VTkRfRVJSIiwgZnVuY3Rpb24gKCkge2EuYXBwZW5kQ2hpbGQo
Yil9KTsKLSAgICB9LCAiVGVzdCB0aHJvdyBET00gZXhjZXB0aW9uIGV4cGVjdGVkIHRvIGZhaWwi
KQotCi0gICAgdGVzdChmdW5jdGlvbigpCi0gICAgewotICAgICAgICB2YXIgZSA9IHtjb2RlOjAs
IG5hbWU6IlRFU1RfRVJSIiwgVEVTVF9FUlI6MH0KLSAgICAgICAgYXNzZXJ0X3Rocm93cygiVEVT
VF9FUlIiLCBmdW5jdGlvbigpIHt0aHJvdyBlfSk7Ci0gICAgfSwgIlRlc3QgYXNzZXJ0X3Rocm93
cyB3aXRoIG5vbi1ET00tZXhjZXB0aW9uIGV4cGVjdGVkIHRvIEZhaWwiKTsKLQotICAgIHZhciB0
ID0gYXN5bmNfdGVzdCgiVGVzdCBzdGVwX2Z1bmMiKQotICAgIHNldFRpbWVvdXQoCi0gICAgICB0
LnN0ZXBfZnVuYygKLSAgICAgICAgZnVuY3Rpb24gKCkgewotICAgICAgICAgIGFzc2VydF90cnVl
KHRydWUpOyB0LmRvbmUoKTsKLSAgICAgICAgfSksIDApOwotCi0gICAgYXN5bmNfdGVzdChmdW5j
dGlvbih0KSB7Ci0gICAgICAgIHNldFRpbWVvdXQodC5zdGVwX2Z1bmMoZnVuY3Rpb24gKCl7YXNz
ZXJ0X3RydWUodHJ1ZSk7IHQuZG9uZSgpO30pLCAwKTsKLSAgICB9LCAiVGVzdCBhc3luYyB0ZXN0
IHdpdGggY2FsbGJhY2siKTsKLQotICAgIGFzeW5jX3Rlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAg
IHNldFRpbWVvdXQodGhpcy5zdGVwX2Z1bmMoZnVuY3Rpb24gKCl7YXNzZXJ0X3RydWUodHJ1ZSk7
IHRoaXMuZG9uZSgpO30pLCAwKTsKLSAgICB9LCAiVGVzdCBhc3luYyB0ZXN0IHdpdGggY2FsbGJh
Y2sgYW5kIGB0aGlzYCBvYmouIik7Ci0KLSAgICBhc3luY190ZXN0KCJ0ZXN0IHNob3VsZCB0aW1l
b3V0IChmYWlsKSB3aXRoIHRoZSBkZWZhdWx0IG9mIDIgc2Vjb25kcyIpLnN0ZXAoZnVuY3Rpb24o
KXt9KTsKLQotICAgIGFzeW5jX3Rlc3QoInRlc3Qgc2hvdWxkIHRpbWVvdXQgKGZhaWwpIHdpdGgg
YSBjdXN0b20gc2V0IHRpbWVvdXQgdmFsdWUgb2YgMSBzZWNvbmQiLAotICAgICAgICAgICAgICAg
e3RpbWVvdXQ6MTAwMH0pLnN0ZXAoZnVuY3Rpb24oKXt9KTsKLQotICAgIGFzeW5jX3Rlc3QoImFz
eW5jIHRlc3QgdGhhdCBpcyBuZXZlciBzdGFydGVkLCBzaG91bGQgaGF2ZSBzdGF0dXMgTm90IFJ1
biIsIHt0aW1lb3V0OjEwMDB9KTsKLQotCi0gICAgdGVzdChmdW5jdGlvbih0KSB7Ci0gICAgICAg
ICAgICAgd2luZG93Lmdsb2JhbCA9IDE7Ci0gICAgICAgICAgICAgdC5hZGRfY2xlYW51cChmdW5j
dGlvbigpIHtkZWxldGUgd2luZG93Lmdsb2JhbH0pOwotICAgICAgICAgICAgIGFzc2VydF9lcXVh
bHMod2luZG93Lmdsb2JhbCwgMSk7Ci0gICAgICAgICB9LAotICAgICAgICAgIlRlc3QgdGhhdCBk
ZWZpbmVzIGEgZ2xvYmFsIGFuZCBjbGVhbnMgaXQgdXAiKTsKLQotICAgIHRlc3QoZnVuY3Rpb24o
KSB7YXNzZXJ0X2VxdWFscyh3aW5kb3cuZ2xvYmFsLCB1bmRlZmluZWQpfSwKLSAgICAgICAgICJU
ZXN0IHRoYXQgY2xlYW51cCBoYW5kbGVycyBmcm9tIHByZXZpb3VzIHRlc3QgcmFuIik7Ci0KLTwv
c2NyaXB0PgotPHNjcmlwdCB0eXBlPSJ0ZXh0L2pzb24iIGlkPSJleHBlY3RlZCI+Ci17Ci0gICJz
dW1tYXJpemVkX3N0YXR1cyI6IHsKLSAgICAic3RhdHVzX3N0cmluZyI6ICJUSU1FT1VUIiwKLSAg
ICAibWVzc2FnZSI6IG51bGwsCi0gICAgInN0YWNrIjogbnVsbAotICB9LAotICAic3VtbWFyaXpl
ZF90ZXN0cyI6IFsKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwgCi0gICAg
ICAibmFtZSI6ICJTZXR1cCBmdW5jdGlvbiByYW4iLCAKLSAgICAgICJzdGFjayI6IG51bGwsIAot
ICAgICAgIm1lc3NhZ2UiOiBudWxsLCAKLSAgICAgICJwcm9wZXJ0aWVzIjoge30KLSAgICB9LCAK
LSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJGQUlMIiwgCi0gICAgICAibmFtZSI6ICJU
ZXN0IGFzc2VydF90aHJvd3Mgd2l0aCBub24tRE9NLWV4Y2VwdGlvbiBleHBlY3RlZCB0byBGYWls
IiwgCi0gICAgICAic3RhY2siOiAiKGltcGxlbWVudGF0aW9uLWRlZmluZWQpIiwgCi0gICAgICAi
bWVzc2FnZSI6ICJUZXN0IGJ1ZzogdW5yZWNvZ25pemVkIERPTUV4Y2VwdGlvbiBjb2RlIFwiVEVT
VF9FUlJcIiBwYXNzZWQgdG8gYXNzZXJ0X3Rocm93cygpIiwgCi0gICAgICAicHJvcGVydGllcyI6
IHt9Ci0gICAgfSwgCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsIAotICAg
ICAgIm5hbWUiOiAiVGVzdCBhc3luYyB0ZXN0IHdpdGggY2FsbGJhY2siLCAKLSAgICAgICJzdGFj
ayI6IG51bGwsIAotICAgICAgIm1lc3NhZ2UiOiBudWxsLCAKLSAgICAgICJwcm9wZXJ0aWVzIjog
e30KLSAgICB9LCAKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwgCi0gICAg
ICAibmFtZSI6ICJUZXN0IGFzeW5jIHRlc3Qgd2l0aCBjYWxsYmFjayBhbmQgYHRoaXNgIG9iai4i
LCAKLSAgICAgICJzdGFjayI6IG51bGwsIAotICAgICAgIm1lc3NhZ2UiOiBudWxsLCAKLSAgICAg
ICJwcm9wZXJ0aWVzIjoge30KLSAgICB9LCAKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6
ICJQQVNTIiwgCi0gICAgICAibmFtZSI6ICJUZXN0IHN0ZXBfZnVuYyIsIAotICAgICAgInN0YWNr
IjogbnVsbCwgCi0gICAgICAibWVzc2FnZSI6IG51bGwsIAotICAgICAgInByb3BlcnRpZXMiOiB7
fQotICAgIH0sIAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLCAKLSAgICAg
ICJuYW1lIjogIlRlc3QgdGhhdCBjbGVhbnVwIGhhbmRsZXJzIGZyb20gcHJldmlvdXMgdGVzdCBy
YW4iLCAKLSAgICAgICJzdGFjayI6IG51bGwsIAotICAgICAgIm1lc3NhZ2UiOiBudWxsLCAKLSAg
ICAgICJwcm9wZXJ0aWVzIjoge30KLSAgICB9LCAKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmlu
ZyI6ICJQQVNTIiwgCi0gICAgICAibmFtZSI6ICJUZXN0IHRoYXQgZGVmaW5lcyBhIGdsb2JhbCBh
bmQgY2xlYW5zIGl0IHVwIiwgCi0gICAgICAic3RhY2siOiBudWxsLCAKLSAgICAgICJtZXNzYWdl
IjogbnVsbCwgCi0gICAgICAicHJvcGVydGllcyI6IHt9Ci0gICAgfSwgCi0gICAgewotICAgICAg
InN0YXR1c19zdHJpbmciOiAiUEFTUyIsIAotICAgICAgIm5hbWUiOiAiVGVzdCB0aHJvdyBET00g
ZXhjZXB0aW9uIiwgCi0gICAgICAic3RhY2siOiBudWxsLCAKLSAgICAgICJtZXNzYWdlIjogbnVs
bCwgCi0gICAgICAicHJvcGVydGllcyI6IHt9Ci0gICAgfSwgCi0gICAgewotICAgICAgInN0YXR1
c19zdHJpbmciOiAiRkFJTCIsIAotICAgICAgIm5hbWUiOiAiVGVzdCB0aHJvdyBET00gZXhjZXB0
aW9uIGV4cGVjdGVkIHRvIGZhaWwiLCAKLSAgICAgICJzdGFjayI6ICIoaW1wbGVtZW50YXRpb24t
ZGVmaW5lZCkiLCAKLSAgICAgICJtZXNzYWdlIjogImFzc2VydF90aHJvd3M6IGZ1bmN0aW9uIFwi
ZnVuY3Rpb24gKCkge2EuYXBwZW5kQ2hpbGQoYil9XCIgdGhyZXcgb2JqZWN0IFwiSGllcmFyY2h5
UmVxdWVzdEVycm9yOiBOb2RlIGNhbm5vdCBiZSBpbnNlcnRlZCBhdCB0aGUgc3BlY2lmaWVkIHBv
aW50IGluIHRoZSBoaWVyYXJjaHlcIiB0aGF0IGlzIG5vdCBhIERPTUV4Y2VwdGlvbiBOT1RfRk9V
TkRfRVJSOiBwcm9wZXJ0eSBcImNvZGVcIiBpcyBlcXVhbCB0byAzLCBleHBlY3RlZCA4IiwgCi0g
ICAgICAicHJvcGVydGllcyI6IHt9Ci0gICAgfSwgCi0gICAgewotICAgICAgInN0YXR1c19zdHJp
bmciOiAiRkFJTCIsIAotICAgICAgIm5hbWUiOiAiYXNzZXJ0X2FycmF5X2VxdWFscyB3aXRoIGZp
cnN0IHBhcmFtIDEiLCAKLSAgICAgICJzdGFjayI6ICIoaW1wbGVtZW50YXRpb24tZGVmaW5lZCki
LCAKLSAgICAgICJtZXNzYWdlIjogImFzc2VydF9hcnJheV9lcXVhbHM6IDEgZXF1YWxzIFsxXT8g
dmFsdWUgaXMgMSwgZXhwZWN0ZWQgYXJyYXkiLCAKLSAgICAgICJwcm9wZXJ0aWVzIjoge30KLSAg
ICB9LCAKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJGQUlMIiwgCi0gICAgICAibmFt
ZSI6ICJhc3NlcnRfYXJyYXlfZXF1YWxzIHdpdGggZmlyc3QgcGFyYW0gZmFsc2UiLCAKLSAgICAg
ICJzdGFjayI6ICIoaW1wbGVtZW50YXRpb24tZGVmaW5lZCkiLCAKLSAgICAgICJtZXNzYWdlIjog
ImFzc2VydF9hcnJheV9lcXVhbHM6IGZhbHNlIGVxdWFscyBbMV0/IHZhbHVlIGlzIGZhbHNlLCBl
eHBlY3RlZCBhcnJheSIsIAotICAgICAgInByb3BlcnRpZXMiOiB7fQotICAgIH0sIAotICAgIHsK
LSAgICAgICJzdGF0dXNfc3RyaW5nIjogIkZBSUwiLCAKLSAgICAgICJuYW1lIjogImFzc2VydF9h
cnJheV9lcXVhbHMgd2l0aCBmaXJzdCBwYXJhbSBudWxsIiwgCi0gICAgICAic3RhY2siOiAiKGlt
cGxlbWVudGF0aW9uLWRlZmluZWQpIiwgCi0gICAgICAibWVzc2FnZSI6ICJhc3NlcnRfYXJyYXlf
ZXF1YWxzOiBudWxsIGVxdWFscyBbMV0/IHZhbHVlIGlzIG51bGwsIGV4cGVjdGVkIGFycmF5Iiwg
Ci0gICAgICAicHJvcGVydGllcyI6IHt9Ci0gICAgfSwgCi0gICAgewotICAgICAgInN0YXR1c19z
dHJpbmciOiAiRkFJTCIsIAotICAgICAgIm5hbWUiOiAiYXNzZXJ0X2FycmF5X2VxdWFscyB3aXRo
IGZpcnN0IHBhcmFtIHRydWUiLCAKLSAgICAgICJzdGFjayI6ICIoaW1wbGVtZW50YXRpb24tZGVm
aW5lZCkiLCAKLSAgICAgICJtZXNzYWdlIjogImFzc2VydF9hcnJheV9lcXVhbHM6IHRydWUgZXF1
YWxzIFsxXT8gdmFsdWUgaXMgdHJ1ZSwgZXhwZWN0ZWQgYXJyYXkiLCAKLSAgICAgICJwcm9wZXJ0
aWVzIjoge30KLSAgICB9LCAKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJGQUlMIiwg
Ci0gICAgICAibmFtZSI6ICJhc3NlcnRfYXJyYXlfZXF1YWxzIHdpdGggZmlyc3QgcGFyYW0gdW5k
ZWZpbmVkIiwgCi0gICAgICAic3RhY2siOiAiKGltcGxlbWVudGF0aW9uLWRlZmluZWQpIiwgCi0g
ICAgICAibWVzc2FnZSI6ICJhc3NlcnRfYXJyYXlfZXF1YWxzOiB1bmRlZmluZWQgZXF1YWxzIFsx
XT8gdmFsdWUgaXMgdW5kZWZpbmVkLCBleHBlY3RlZCBhcnJheSIsIAotICAgICAgInByb3BlcnRp
ZXMiOiB7fQotICAgIH0sIAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLCAK
LSAgICAgICJuYW1lIjogImFzc2VydF9lcXVhbHMgdGVzdHMiLCAKLSAgICAgICJzdGFjayI6IG51
bGwsIAotICAgICAgIm1lc3NhZ2UiOiBudWxsLCAKLSAgICAgICJwcm9wZXJ0aWVzIjoge30KLSAg
ICB9LCAKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJGQUlMIiwgCi0gICAgICAibmFt
ZSI6ICJhc3NlcnRfZXF1YWxzIHRlc3RzIGV4cGVjdGVkIHRvIGZhaWwiLCAKLSAgICAgICJzdGFj
ayI6ICIoaW1wbGVtZW50YXRpb24tZGVmaW5lZCkiLCAKLSAgICAgICJtZXNzYWdlIjogImFzc2Vy
dF9lcXVhbHM6IFplcm8gY2FzZSBleHBlY3RlZCAwIGJ1dCBnb3QgLTAiLCAKLSAgICAgICJwcm9w
ZXJ0aWVzIjoge30KLSAgICB9LCAKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJGQUlM
IiwgCi0gICAgICAibmFtZSI6ICJhc3NlcnRfZ3JlYXRlcl90aGFuIGV4cGVjdGVkIHRvIGZhaWwi
LCAKLSAgICAgICJzdGFjayI6ICIoaW1wbGVtZW50YXRpb24tZGVmaW5lZCkiLCAKLSAgICAgICJt
ZXNzYWdlIjogImFzc2VydF9ncmVhdGVyX3RoYW46IDEwIGlzIG5vdCBncmVhdGVyIHRoYW4gMTEg
ZXhwZWN0ZWQgYSBudW1iZXIgZ3JlYXRlciB0aGFuIDExIGJ1dCBnb3QgMTAiLCAKLSAgICAgICJw
cm9wZXJ0aWVzIjoge30KLSAgICB9LCAKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJG
QUlMIiwgCi0gICAgICAibmFtZSI6ICJhc3NlcnRfbGVzc190aGFuX2VxdWFsIGV4cGVjdGVkIHRv
IGZhaWwiLCAKLSAgICAgICJzdGFjayI6ICIoaW1wbGVtZW50YXRpb24tZGVmaW5lZCkiLCAKLSAg
ICAgICJtZXNzYWdlIjogImFzc2VydF9ncmVhdGVyX3RoYW5fZXF1YWw6ICcxMCcgaXMgbm90IGEg
bnVtYmVyIGV4cGVjdGVkIGEgbnVtYmVyIGJ1dCBnb3QgYSBcInN0cmluZ1wiIiwgCi0gICAgICAi
cHJvcGVydGllcyI6IHt9Ci0gICAgfSwgCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAi
UEFTUyIsIAotICAgICAgIm5hbWUiOiAiYXNzZXJ0X25vdF9lcXVhbHMgdGVzdHMiLCAKLSAgICAg
ICJzdGFjayI6IG51bGwsIAotICAgICAgIm1lc3NhZ2UiOiBudWxsLCAKLSAgICAgICJwcm9wZXJ0
aWVzIjoge30KLSAgICB9LCAKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJGQUlMIiwg
Ci0gICAgICAibmFtZSI6ICJhc3NlcnRfdHJ1ZSBleHBlY3RlZCB0byBmYWlsIiwgCi0gICAgICAi
c3RhY2siOiAiKGltcGxlbWVudGF0aW9uLWRlZmluZWQpIiwgCi0gICAgICAibWVzc2FnZSI6ICJh
c3NlcnRfdHJ1ZTogZmFsc2Ugc2hvdWxkIG5vdCBiZSB0cnVlIGV4cGVjdGVkIHRydWUgZ290IGZh
bHNlIiwgCi0gICAgICAicHJvcGVydGllcyI6IHt9Ci0gICAgfSwgCi0gICAgewotICAgICAgInN0
YXR1c19zdHJpbmciOiAiUEFTUyIsIAotICAgICAgIm5hbWUiOiAiYXNzZXJ0X3RydWUgZXhwZWN0
ZWQgdG8gcGFzcyIsIAotICAgICAgInN0YWNrIjogbnVsbCwgCi0gICAgICAibWVzc2FnZSI6IG51
bGwsIAotICAgICAgInByb3BlcnRpZXMiOiB7fQotICAgIH0sIAotICAgIHsKLSAgICAgICJzdGF0
dXNfc3RyaW5nIjogIk5PVFJVTiIsIAotICAgICAgIm5hbWUiOiAiYXN5bmMgdGVzdCB0aGF0IGlz
IG5ldmVyIHN0YXJ0ZWQsIHNob3VsZCBoYXZlIHN0YXR1cyBOb3QgUnVuIiwgCi0gICAgICAic3Rh
Y2siOiBudWxsLCAKLSAgICAgICJtZXNzYWdlIjogbnVsbCwgCi0gICAgICAicHJvcGVydGllcyI6
IHsKLSAgICAgICAgInRpbWVvdXQiOiAxMDAwCi0gICAgICB9Ci0gICAgfSwgCi0gICAgewotICAg
ICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJiYXNpYyBhc3NlcnRf
YXBwcm94X2VxdWFscyB0ZXN0IiwKLSAgICAgICJzdGFjayI6IG51bGwsCi0gICAgICAibWVzc2Fn
ZSI6IG51bGwsCi0gICAgICAicHJvcGVydGllcyI6IHt9Ci0gICAgfSwKLSAgICB7Ci0gICAgICAi
c3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1lIjogImJhc2ljIGFzc2VydF9hcnJh
eV9hcHByb3hfZXF1YWxzIHRlc3QiLAotICAgICAgInN0YWNrIjogbnVsbCwKLSAgICAgICJtZXNz
YWdlIjogbnVsbCwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30KLSAgICB9LAotICAgIHsKLSAgICAg
ICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLCAKLSAgICAgICJuYW1lIjogImJhc2ljIGFzc2VydF9h
cnJheV9lcXVhbHMgdGVzdCIsIAotICAgICAgInN0YWNrIjogbnVsbCwgCi0gICAgICAibWVzc2Fn
ZSI6IG51bGwsIAotICAgICAgInByb3BlcnRpZXMiOiB7fQotICAgIH0sIAotICAgIHsKLSAgICAg
ICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLCAKLSAgICAgICJuYW1lIjogImJhc2ljIGFzc2VydF9n
cmVhdGVyX3RoYW5fZXF1YWwgdGVzdCIsIAotICAgICAgInN0YWNrIjogbnVsbCwgCi0gICAgICAi
bWVzc2FnZSI6IG51bGwsIAotICAgICAgInByb3BlcnRpZXMiOiB7fQotICAgIH0sIAotICAgIHsK
LSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLCAKLSAgICAgICJuYW1lIjogImJhc2ljIGFz
c2VydF9sZXNzX3RoYW4gdGVzdCIsIAotICAgICAgInN0YWNrIjogbnVsbCwgCi0gICAgICAibWVz
c2FnZSI6IG51bGwsIAotICAgICAgInByb3BlcnRpZXMiOiB7fQotICAgIH0sIAotICAgIHsKLSAg
ICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLCAKLSAgICAgICJuYW1lIjogImJhc2ljIGFzc2Vy
dF9vYmplY3RfZXF1YWxzIHRlc3QiLCAKLSAgICAgICJzdGFjayI6IG51bGwsIAotICAgICAgIm1l
c3NhZ2UiOiBudWxsLCAKLSAgICAgICJwcm9wZXJ0aWVzIjoge30KLSAgICB9LCAKLSAgICB7Ci0g
ICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwgCi0gICAgICAibmFtZSI6ICJib2R5IGVsZW1l
bnQgZmlyZXMgdGhlIG9ubG9hZCBldmVudCBzZXQgZnJvbSB0aGUgYXR0cmlidXRlIiwgCi0gICAg
ICAic3RhY2siOiBudWxsLCAKLSAgICAgICJtZXNzYWdlIjogbnVsbCwgCi0gICAgICAicHJvcGVy
dGllcyI6IHt9Ci0gICAgfSwgCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIs
IAotICAgICAgIm5hbWUiOiAiZG9jdW1lbnQuYm9keSBzaG91bGQgYmUgdGhlIGZpcnN0IGJvZHkg
ZWxlbWVudCBpbiB0aGUgZG9jdW1lbnQiLCAKLSAgICAgICJzdGFjayI6IG51bGwsIAotICAgICAg
Im1lc3NhZ2UiOiBudWxsLCAKLSAgICAgICJwcm9wZXJ0aWVzIjoge30KLSAgICB9LCAKLSAgICB7
Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwgCi0gICAgICAibmFtZSI6ICJ0ZXN0IGZv
ciBhc3NlcnRbX25vdF1fZXhpc3RzIGFuZCBpbnNlcnRfaW5oZXJpdHMiLCAKLSAgICAgICJzdGFj
ayI6IG51bGwsIAotICAgICAgIm1lc3NhZ2UiOiBudWxsLCAKLSAgICAgICJwcm9wZXJ0aWVzIjog
e30KLSAgICB9LCAKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJUSU1FT1VUIiwgCi0g
ICAgICAibmFtZSI6ICJ0ZXN0IHNob3VsZCB0aW1lb3V0IChmYWlsKSB3aXRoIGEgY3VzdG9tIHNl
dCB0aW1lb3V0IHZhbHVlIG9mIDEgc2Vjb25kIiwgCi0gICAgICAic3RhY2siOiBudWxsLCAKLSAg
ICAgICJtZXNzYWdlIjogIlRlc3QgdGltZWQgb3V0IiwgCi0gICAgICAicHJvcGVydGllcyI6IHsK
LSAgICAgICAgInRpbWVvdXQiOiAxMDAwCi0gICAgICB9Ci0gICAgfSwgCi0gICAgewotICAgICAg
InN0YXR1c19zdHJpbmciOiAiVElNRU9VVCIsIAotICAgICAgIm5hbWUiOiAidGVzdCBzaG91bGQg
dGltZW91dCAoZmFpbCkgd2l0aCB0aGUgZGVmYXVsdCBvZiAyIHNlY29uZHMiLCAKLSAgICAgICJz
dGFjayI6IG51bGwsIAotICAgICAgIm1lc3NhZ2UiOiAiVGVzdCB0aW1lZCBvdXQiLCAKLSAgICAg
ICJwcm9wZXJ0aWVzIjoge30KLSAgICB9LCAKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6
ICJQQVNTIiwgCi0gICAgICAibmFtZSI6ICJ3aW5kb3cgb25sb2FkIGV2ZW50IGZpcmVzIHdoZW4g
c2V0IGZyb20gdGhlIGhhbmRsZXIiLCAKLSAgICAgICJzdGFjayI6IG51bGwsIAotICAgICAgIm1l
c3NhZ2UiOiBudWxsLCAKLSAgICAgICJwcm9wZXJ0aWVzIjoge30KLSAgICB9Ci0gIF0sCi0gICJ0
eXBlIjogImNvbXBsZXRlIgotfQotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy90ZXN0L3Rlc3RzL2FwaS10ZXN0cy0yLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2FwaS10ZXN0cy0yLmh0bWwK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDk5ZmE1YmU5Yzg1Li4wMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy90ZXN0L3Rlc3RzL2FwaS10ZXN0cy0yLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw0NyArMCww
IEBACi08IURPQ1RZUEUgSFRNTD4KLTxodG1sPgotPGhlYWQ+Ci08dGl0bGU+U2FtcGxlIEhUTUw1
IEFQSSBUZXN0czwvdGl0bGU+Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9ImxvYWRfdGVzdF9hdHRy
LmRvbmUoKSI+Ci08aDE+U2FtcGxlIEhUTUw1IEFQSSBUZXN0czwvaDE+Ci08cD5UaGVyZSBzaG91
bGQgYmUgdHdvIHJlc3VsdHM8L3A+Ci08ZGl2IGlkPSJsb2ciPjwvZGl2PgotPHNjcmlwdCBzcmM9
Ii4uLy4uL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0Pgotc2V0dXAoe2V4cGxpY2l0X2Rv
bmU6dHJ1ZX0pCi10ZXN0KGZ1bmN0aW9uKCkge2Fzc2VydF90cnVlKHRydWUpfSwgIlRlc3QgZGVm
aW5lZCBiZWZvcmUgb25sb2FkIik7Ci0KLW9ubG9hZCA9IGZ1bmN0aW9uKCkge3Rlc3QoZnVuY3Rp
b24gKCl7YXNzZXJ0X3RydWUodHJ1ZSl9LCAiVGVzdCBkZWZpbmVkIGFmdGVyIG9ubG9hZCIpOwot
ZG9uZSgpOwotfQotPC9zY3JpcHQ+Ci08c2NyaXB0IHR5cGU9InRleHQvanNvbiIgaWQ9ImV4cGVj
dGVkIj4KLXsKLSAgInN1bW1hcml6ZWRfc3RhdHVzIjogewotICAgICJzdGF0dXNfc3RyaW5nIjog
Ik9LIiwKLSAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgInN0YWNrIjogbnVsbAotICB9LAotICAi
c3VtbWFyaXplZF90ZXN0cyI6IFsKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNT
IiwKLSAgICAgICJuYW1lIjogIlRlc3QgZGVmaW5lZCBhZnRlciBvbmxvYWQiLAotICAgICAgInBy
b3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICJzdGFjayI6IG51
bGwKLSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAg
Im5hbWUiOiAiVGVzdCBkZWZpbmVkIGJlZm9yZSBvbmxvYWQiLAotICAgICAgInByb3BlcnRpZXMi
OiB7fSwKLSAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICJzdGFjayI6IG51bGwKLSAgICB9
Ci0gIF0sCi0gICJ0eXBlIjogImNvbXBsZXRlIgotfQotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2FwaS10ZXN0cy0zLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2FwaS10
ZXN0cy0zLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGZiNTcxYzhlZTg1Li4w
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2FwaS10ZXN0cy0zLmh0bWwKKysrIC9kZXYvbnVsbApA
QCAtMSwzNiArMCwwIEBACi08IURPQ1RZUEUgSFRNTD4KLTxodG1sPgotPGhlYWQ+Ci08dGl0bGU+
U2FtcGxlIEhUTUw1IEFQSSBUZXN0czwvdGl0bGU+Ci08L2hlYWQ+Ci08c2NyaXB0IHNyYz0iLi4v
Li4vdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotCi08Ym9keSBvbmxvYWQ9ImxvYWRfdGVzdF9h
dHRyLmRvbmUoKSI+Ci08aDE+U2FtcGxlIEhUTUw1IEFQSSBUZXN0czwvaDE+Ci08ZGl2IGlkPSJs
b2ciPjwvZGl2PgotPHNjcmlwdD4KLXNldHVwKHtleHBsaWNpdF90aW1lb3V0OnRydWV9KTsKLXZh
ciB0ID0gYXN5bmNfdGVzdCgiVGhpcyB0ZXN0IHNob3VsZCBnaXZlIGEgc3RhdHVzIG9mICdOb3Qg
UnVuJyB3aXRob3V0IGEgZGVsYXkiKTsKLXRpbWVvdXQoKTsKLTwvc2NyaXB0PgotPHNjcmlwdCB0
eXBlPSJ0ZXh0L2pzb24iIGlkPSJleHBlY3RlZCI+Ci17Ci0gICJzdW1tYXJpemVkX3N0YXR1cyI6
IHsKLSAgICAic3RhdHVzX3N0cmluZyI6ICJUSU1FT1VUIiwKLSAgICAibWVzc2FnZSI6IG51bGws
Ci0gICAgInN0YWNrIjogbnVsbAotICB9LAotICAic3VtbWFyaXplZF90ZXN0cyI6IFsKLSAgICB7
Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJOT1RSVU4iLAotICAgICAgIm5hbWUiOiAiVGhpcyB0
ZXN0IHNob3VsZCBnaXZlIGEgc3RhdHVzIG9mICdOb3QgUnVuJyB3aXRob3V0IGEgZGVsYXkiLAot
ICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICJz
dGFjayI6IG51bGwKLSAgICB9Ci0gIF0sCi0gICJ0eXBlIjogImNvbXBsZXRlIgotfQotPC9zY3Jp
cHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvYWRk
X2NsZWFudXAuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC9hZGRfY2xlYW51cC5odG1sCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzMWZlMTljNGJjZS4uMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVz
dC90ZXN0cy9mdW5jdGlvbmFsL2FkZF9jbGVhbnVwLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw5
NCArMCwwIEBACi08IURPQ1RZUEUgSFRNTD4KLTxodG1sPgotPGhlYWQ+Ci08bWV0YSBuYW1lPSJ2
YXJpYW50IiBjb250ZW50PSIiPgotPG1ldGEgbmFtZT0idmFyaWFudCIgY29udGVudD0iP2tlZXAt
cHJvbWlzZSI+Ci08dGl0bGU+VGVzdCNhZGRfY2xlYW51cDwvdGl0bGU+Ci08c2NyaXB0IHNyYz0i
Li4vLi4vdmFyaWFudHMuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08ZGl2IGlkPSJsb2ciPjwv
ZGl2PgotPHNjcmlwdD4KLSJ1c2Ugc3RyaWN0IjsKLQotdmFyIGxvZ19zeW5jOwotdGVzdChmdW5j
dGlvbih0KSB7Ci0gIGxvZ19zeW5jID0gIiI7Ci0gIHQuYWRkX2NsZWFudXAoZnVuY3Rpb24oKSB7
IGxvZ19zeW5jICs9ICIxIjsgfSk7Ci0gIHQuYWRkX2NsZWFudXAoZnVuY3Rpb24oKSB7IGxvZ19z
eW5jICs9ICIyIjsgfSk7Ci0gIHQuYWRkX2NsZWFudXAoZnVuY3Rpb24oKSB7IGxvZ19zeW5jICs9
ICIzIjsgfSk7Ci0gIHQuYWRkX2NsZWFudXAoZnVuY3Rpb24oKSB7IGxvZ19zeW5jICs9ICI0Ijsg
fSk7Ci0gIHQuYWRkX2NsZWFudXAoZnVuY3Rpb24oKSB7IGxvZ19zeW5jICs9ICI1IjsgfSk7Ci0g
IGxvZ19zeW5jICs9ICIwIjsKLX0sICJwcm9iZSBzeW5jaHJvbm91cyIpOwotCi10ZXN0KGZ1bmN0
aW9uKCkgewotICBpZiAobG9nX3N5bmMgIT09ICIwMTIzNDUiKSB7Ci0gICAgdGhyb3cgbmV3IEVy
cm9yKCJFeHBlY3RlZDogJzAxMjM0NScuIEFjdHVhbDogJyIgKyBsb2dfc3luYyArICInLiIpOwot
ICB9Ci19LCAiQ2xlYW51cCBtZXRob2RzIGFyZSBpbnZva2VkIGV4YWN0bHkgb25jZSBhbmQgaW4g
dGhlIGV4cGVjdGVkIHNlcXVlbmNlLiIpOwotCi12YXIgY29tcGxldGUsIGxvZ19hc3luYzsKLWFz
eW5jX3Rlc3QoZnVuY3Rpb24odCkgewotICBjb21wbGV0ZSA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KCkgewotICAgIGlmIChsb2dfYXN5bmMgIT09ICIwMTIiKSB7Ci0gICAgICB0aHJvdyBuZXcgRXJy
b3IoIkV4cGVjdGVkOiAnMDEyJy4gQWN0dWFsOiAnIiArIGxvZ19hc3luYyArICInLiIpOwotICAg
IH0KLQotICAgIHQuZG9uZSgpOwotICB9KTsKLX0sICJDbGVhbnVwIG1ldGhvZHMgYXJlIGludm9r
ZWQgZm9sbG93aW5nIHRoZSBjb21wbGV0aW9uIG9mIGFzeW5jaHJvbm91cyB0ZXN0cyIpOwotCi1h
c3luY190ZXN0KGZ1bmN0aW9uKHQpIHsKLSAgbG9nX2FzeW5jID0gIiI7Ci0gIHQuYWRkX2NsZWFu
dXAoZnVuY3Rpb24oKSB7IGxvZ19hc3luYyArPSAiMSI7IH0pOwotCi0gIHNldFRpbWVvdXQodC5z
dGVwX2Z1bmMoZnVuY3Rpb24oKSB7Ci0gICAgdC5hZGRfY2xlYW51cChmdW5jdGlvbigpIHsKLSAg
ICAgIGxvZ19hc3luYyArPSAiMiI7Ci0gICAgICBjb21wbGV0ZSgpOwotICAgIH0pOwotICAgIGxv
Z19hc3luYyArPSAiMCI7Ci0gICAgdC5kb25lKCk7Ci0gIH0pLCAwKTsKLX0sICJwcm9iZSBhc3lu
Y2hyb25vdXMiKTsKLTwvc2NyaXB0PgotPHNjcmlwdCB0eXBlPSJ0ZXh0L2pzb24iIGlkPSJleHBl
Y3RlZCI+Ci17Ci0gICJzdW1tYXJpemVkX3N0YXR1cyI6IHsKLSAgICAic3RhdHVzX3N0cmluZyI6
ICJPSyIsCi0gICAgIm1lc3NhZ2UiOiBudWxsCi0gIH0sCi0gICJzdW1tYXJpemVkX3Rlc3RzIjog
WwotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUiOiAi
Q2xlYW51cCBtZXRob2RzIGFyZSBpbnZva2VkIGV4YWN0bHkgb25jZSBhbmQgaW4gdGhlIGV4cGVj
dGVkIHNlcXVlbmNlLiIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2Ui
OiBudWxsCi0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAg
ICAgICJuYW1lIjogIkNsZWFudXAgbWV0aG9kcyBhcmUgaW52b2tlZCBmb2xsb3dpbmcgdGhlIGNv
bXBsZXRpb24gb2YgYXN5bmNocm9ub3VzIHRlc3RzIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30s
Ci0gICAgICAibWVzc2FnZSI6IG51bGwKLSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0dXNfc3Ry
aW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUiOiAicHJvYmUgYXN5bmNocm9ub3VzIiwKLSAgICAg
ICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6IG51bGwKLSAgICB9LAotICAgIHsK
LSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUiOiAicHJvYmUgc3lu
Y2hyb25vdXMiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogbnVs
bAotICAgIH0KLSAgXSwKLSAgInR5cGUiOiAiY29tcGxldGUiCi19Ci08L3NjcmlwdD4KLTwvYm9k
eT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC9hZGRfY2xlYW51cF9h
c3luYy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFsL2FkZF9jbGVhbnVwX2FzeW5jLmh0bWwKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDlkMGFkZTQxNTBhLi4wMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90
ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvYWRkX2NsZWFudXBfYXN5bmMuaHRtbAorKysgL2Rldi9udWxs
CkBAIC0xLDg3ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLTxtZXRh
IG5hbWU9InZhcmlhbnQiIGNvbnRlbnQ9Ij9rZWVwLXByb21pc2UiPgotPHRpdGxlPlRlc3QjYWRk
X2NsZWFudXAgd2l0aCBQcm9taXNlLXJldHVybmluZyBmdW5jdGlvbnM8L3RpdGxlPgotPHNjcmlw
dCBzcmM9Ii4uLy4uL3ZhcmlhbnRzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8u
Li90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4vdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08ZGl2IGlkPSJsb2ci
PjwvZGl2PgotCi08c2NyaXB0PgotInVzZSBzdHJpY3QiOwotdmFyIGNvbXBsZXRlQ291bnQgPSAw
OwotdmFyIGNvdW50cyA9IHsKLSAgICBhZnRlclRpY2s6IG51bGwsCi0gICAgYWZ0ZXJGaXJzdDog
bnVsbAotfTsKLQotYWRkX3Jlc3VsdF9jYWxsYmFjayhmdW5jdGlvbihyZXN1bHRfdCkgewotICBj
b21wbGV0ZUNvdW50ICs9IDE7Ci19KTsKLQotcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHQpIHsKLSAg
dC5hZGRfY2xlYW51cChmdW5jdGlvbigpIHsKLSAgICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rp
b24ocmVzb2x2ZSkgewotICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsKLSAgICAgICAgY291
bnRzLmFmdGVyVGljayA9IGNvbXBsZXRlQ291bnQ7Ci0gICAgICAgIHJlc29sdmUoKTsKLSAgICAg
IH0sIDApOwotICAgIH0pOwotICB9KTsKLSAgdC5hZGRfY2xlYW51cChmdW5jdGlvbigpIHsKLSAg
ICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkgewotCi0gICAgICBzZXRUaW1l
b3V0KGZ1bmN0aW9uKCkgewotICAgICAgICBjb3VudHMuYWZ0ZXJGaXJzdCA9IGNvbXBsZXRlQ291
bnQ7Ci0gICAgICAgIHJlc29sdmUoKTsKLSAgICAgIH0sIDApOwotICAgIH0pOwotICB9KTsKLQot
ICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7Ci19LCAncHJvbWlzZV90ZXN0IHdpdGggYXN5bmNo
cm9ub3VzIGNsZWFudXAnKTsKLQotcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKCkgewotICBhc3NlcnRf
ZXF1YWxzKAotICAgIGNvdW50cy5hZnRlclRpY2ssCi0gICAgMCwKLSAgICAidGVzdCBpcyBub3Qg
YXN5bmNocm9ub3VzbHkgY29uc2lkZXJlZCAnY29tcGxldGUnIgotICApOwotICBhc3NlcnRfZXF1
YWxzKAotICAgIGNvdW50cy5hZnRlckZpcnN0LAotICAgIDAsCi0gICAgInRlc3QgaXMgbm90IGNv
bnNpZGVyZWQgJ2NvbXBsZXRlJyBmb2xsb3dpbmcgZnVsZmlsbG1lbnQgb2YgZmlyc3QgcHJvbWlz
ZSIKLSAgKTsKLSAgYXNzZXJ0X2VxdWFscyhjb21wbGV0ZUNvdW50LCAxKTsKLQotICByZXR1cm4g
UHJvbWlzZS5yZXNvbHZlKCk7Ci19LCAic3luY2hyb25vdXNseS1kZWZpbmVkIHByb21pc2VfdGVz
dCIpOwotPC9zY3JpcHQ+Ci08c2NyaXB0IHR5cGU9InRleHQvanNvbiIgaWQ9ImV4cGVjdGVkIj4K
LXsKLSAgInN1bW1hcml6ZWRfc3RhdHVzIjogewotICAgICJzdGF0dXNfc3RyaW5nIjogIk9LIiwK
LSAgICAibWVzc2FnZSI6IG51bGwKLSAgfSwKLSAgInN1bW1hcml6ZWRfdGVzdHMiOiBbCi0gICAg
ewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJwcm9taXNl
X3Rlc3Qgd2l0aCBhc3luY2hyb25vdXMgY2xlYW51cCIsCi0gICAgICAibWVzc2FnZSI6IG51bGws
Ci0gICAgICAicHJvcGVydGllcyI6IHt9Ci0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0
cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1lIjogInN5bmNocm9ub3VzbHktZGVmaW5lZCBwcm9t
aXNlX3Rlc3QiLAotICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgInByb3BlcnRpZXMiOiB7
fQotICAgIH0KLSAgXSwKLSAgInR5cGUiOiAiY29tcGxldGUiCi19Ci08L3NjcmlwdD4KLTwvYm9k
eT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC9hZGRfY2xlYW51cF9h
c3luY19iYWRfcmV0dXJuLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvYWRkX2NsZWFudXBfYXN5
bmNfYmFkX3JldHVybi5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwYjQ1MzYy
ZjE2NC4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFsL2FkZF9jbGVhbnVwX2Fz
eW5jX2JhZF9yZXR1cm4uaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDUyICswLDAgQEAKLTwhRE9D
VFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLTxtZXRhIG5hbWU9InZhcmlhbnQiIGNvbnRlbnQ9
Ij9rZWVwLXByb21pc2UiPgotPHRpdGxlPlRlc3QjYWRkX2NsZWFudXAgd2l0aCBub24tdGhlbmFi
bGUtcmV0dXJuaW5nIGZ1bmN0aW9uPC90aXRsZT4KLTxzY3JpcHQgc3JjPSIuLi8uLi92YXJpYW50
cy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4vdGVzdGhhcm5lc3MuanMiPjwv
c2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGRpdiBpZD0ibG9nIj48L2Rpdj4KLQotPHNjcmlwdD4K
LSJ1c2Ugc3RyaWN0IjsKLQotcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHQpIHsKLSAgdC5hZGRfY2xl
YW51cChmdW5jdGlvbigpIHt9KTsKLSAgdC5hZGRfY2xlYW51cChmdW5jdGlvbigpIHsKLSAgICBy
ZXR1cm4geyB0aGVuOiA5IH07Ci0gIH0pOwotICB0LmFkZF9jbGVhbnVwKGZ1bmN0aW9uKCkgeyBy
ZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7IH0pOwotCi0gIHJldHVybiBQcm9taXNlLnJlc29sdmUo
KTsKLX0sICJwcm9taXNlX3Rlc3QgdGhhdCByZXR1cm5zIGEgbm9uLXRoZW5hYmxlIG9iamVjdCBp
biBvbmUgXCJjbGVhbnVwXCIgY2FsbGJhY2siKTsKLQotcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKCkg
e30sICJUaGUgdGVzdCBydW5uZXIgaXMgaW4gYW4gdW5wcmVkaWN0YWJsZSBzdGF0ZSAoJ05PVCBS
VU4nKSIpOwotPC9zY3JpcHQ+Ci08c2NyaXB0IHR5cGU9InRleHQvanNvbiIgaWQ9ImV4cGVjdGVk
Ij4KLXsKLSAgInN1bW1hcml6ZWRfc3RhdHVzIjogewotICAgICJzdGF0dXNfc3RyaW5nIjogIkVS
Uk9SIiwKLSAgICAibWVzc2FnZSI6ICJUZXN0IG5hbWVkICdwcm9taXNlX3Rlc3QgdGhhdCByZXR1
cm5zIGEgbm9uLXRoZW5hYmxlIG9iamVjdCBpbiBvbmUgXCJjbGVhbnVwXCIgY2FsbGJhY2snIHNw
ZWNpZmllZCAzICdjbGVhbnVwJyBmdW5jdGlvbnMsIGFuZCAxIHJldHVybmVkIGEgbm9uLXRoZW5h
YmxlIHZhbHVlLiIKLSAgfSwKLSAgInN1bW1hcml6ZWRfdGVzdHMiOiBbCi0gICAgewotICAgICAg
InN0YXR1c19zdHJpbmciOiAiTk9UUlVOIiwKLSAgICAgICJuYW1lIjogIlRoZSB0ZXN0IHJ1bm5l
ciBpcyBpbiBhbiB1bnByZWRpY3RhYmxlIHN0YXRlICgnTk9UIFJVTicpIiwKLSAgICAgICJtZXNz
YWdlIjogbnVsbCwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30KLSAgICB9LAotICAgIHsKLSAgICAg
ICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUiOiAicHJvbWlzZV90ZXN0IHRo
YXQgcmV0dXJucyBhIG5vbi10aGVuYWJsZSBvYmplY3QgaW4gb25lIFwiY2xlYW51cFwiIGNhbGxi
YWNrIiwKLSAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30KLSAg
ICB9Ci0gIF0sCi0gICJ0eXBlIjogImNvbXBsZXRlIgotfQotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvYWRkX2NsZWFudXBfYXN5bmNf
cmVqZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvYWRkX2NsZWFudXBfYXN5bmNfcmVq
ZWN0aW9uLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDA1MjhiNDI1NGY2Li4w
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvYWRkX2NsZWFudXBfYXN5bmNfcmVq
ZWN0aW9uLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw5NiArMCwwIEBACi08IURPQ1RZUEUgSFRN
TD4KLTxodG1sPgotPGhlYWQ+Ci08bWV0YSBuYW1lPSJ2YXJpYW50IiBjb250ZW50PSI/a2VlcC1w
cm9taXNlIj4KLTx0aXRsZT5UZXN0I2FkZF9jbGVhbnVwIHdpdGggUHJvbWlzZS1yZXR1cm5pbmcg
ZnVuY3Rpb25zIChyZWplY3Rpb24gaGFuZGxpbmcpPC90aXRsZT4KLTxzY3JpcHQgc3JjPSIuLi8u
Li92YXJpYW50cy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4vdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGRpdiBpZD0ibG9nIj48L2Rpdj4KLQot
PHNjcmlwdD4KLSJ1c2Ugc3RyaWN0IjsKLXZhciByZXNvbHZlLCByZWplY3Q7Ci12YXIgY29tcGxl
dGVDb3VudCA9IDA7Ci1hZGRfcmVzdWx0X2NhbGxiYWNrKGZ1bmN0aW9uKHJlc3VsdF90KSB7Ci0g
IGNvbXBsZXRlQ291bnQgKz0gMTsKLX0pOwotcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHQpIHsKLSAg
dC5hZGRfY2xlYW51cChmdW5jdGlvbigpIHsKLSAgICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rp
b24oXywgX3JlamVjdCkgeyByZWplY3QgPSBfcmVqZWN0OyB9KTsKLSAgfSk7Ci0gIHQuYWRkX2Ns
ZWFudXAoZnVuY3Rpb24oKSB7Ci0gICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKF9yZXNv
bHZlKSB7IHJlc29sdmUgPSBfcmVzb2x2ZTsgfSk7Ci0gIH0pOwotCi0gIC8vIFRoZSBmb2xsb3dp
bmcgY2xlYW51cCBmdW5jdGlvbiBkZWZpbmVzIGVtcHR5IHRlc3RzIHNvIHRoYXQgdGhlIHJlcG9y
dGVkCi0gIC8vIGRhdGEgZGVtb25zdHJhdGVzIHRoZSBpbnRlbmRlZCBydW4tdGltZSBiZWhhdmlv
ciB3aXRob3V0IHJlbHlpbmcgb24gdGhlCi0gIC8vIHRlc3QgaGFybmVzcydzIGhhbmRsaW5nIG9m
IGVycm9ycyBkdXJpbmcgdGVzdCBjbGVhbnVwICh3aGljaCBpcyB0ZXN0ZWQKLSAgLy8gZWxzZXdo
ZXJlKS4KLSAgdC5hZGRfY2xlYW51cChmdW5jdGlvbigpIHsKLSAgICBpZiAoY29tcGxldGVDb3Vu
dCA9PT0gMCkgewotICAgICAgcHJvbWlzZV90ZXN0KAotICAgICAgICBmdW5jdGlvbigpIHt9LAot
ICAgICAgICAidGVzdCBpcyBub3QgYXN5bmNocm9ub3VzbHkgY29uc2lkZXJlZCAnY29tcGxldGUn
ICgnTk9UIFJVTicpIgotICAgICAgKTsKLSAgICB9Ci0KLSAgICByZWplY3QoKTsKLQotICAgIHNl
dFRpbWVvdXQoZnVuY3Rpb24oKSB7Ci0gICAgICBpZiAoY29tcGxldGVDb3VudCA9PT0gMCkgewot
ICAgICAgICBwcm9taXNlX3Rlc3QoCi0gICAgICAgICAgZnVuY3Rpb24oKSB7fSwKLSAgICAgICAg
ICAidGVzdCBpcyBub3QgY29uc2lkZXJlZCAnY29tcGxldGUnIGZvbGxvd2luZyByZWplY3Rpb24g
b2YgZmlyc3QgIiArCi0gICAgICAgICAgInByb21pc2UgKCdOT1QgUlVOJykiCi0gICAgICAgICk7
Ci0gICAgICB9Ci0KLSAgICAgIHJlc29sdmUoKTsKLSAgICB9LCAwKTsKLSAgfSk7Ci0KLSAgcmV0
dXJuIFByb21pc2UucmVzb2x2ZSgpOwotfSwgInByb21pc2VfdGVzdCB3aXRoIGFzeW5jaHJvbm91
cyBjbGVhbnVwIGluY2x1ZGluZyByZWplY3Rpb24iKTsKLQotcHJvbWlzZV90ZXN0KGZ1bmN0aW9u
KCkge30sICJzeW5jaHJvbm91c2x5LWRlZmluZWQgdGVzdCAoJ05PVCBSVU4nKSIpOwotPC9zY3Jp
cHQ+Ci08c2NyaXB0IHR5cGU9InRleHQvanNvbiIgaWQ9ImV4cGVjdGVkIj4KLXsKLSAgInN1bW1h
cml6ZWRfc3RhdHVzIjogewotICAgICJzdGF0dXNfc3RyaW5nIjogIkVSUk9SIiwKLSAgICAibWVz
c2FnZSI6ICJUZXN0IG5hbWVkICdwcm9taXNlX3Rlc3Qgd2l0aCBhc3luY2hyb25vdXMgY2xlYW51
cCBpbmNsdWRpbmcgcmVqZWN0aW9uJyBzcGVjaWZpZWQgMyAnY2xlYW51cCcgZnVuY3Rpb25zLCBh
bmQgMSBmYWlsZWQuIgotICB9LAotICAic3VtbWFyaXplZF90ZXN0cyI6IFsKLSAgICB7Ci0gICAg
ICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1lIjogInByb21pc2VfdGVzdCB3
aXRoIGFzeW5jaHJvbm91cyBjbGVhbnVwIGluY2x1ZGluZyByZWplY3Rpb24iLAotICAgICAgIm1l
c3NhZ2UiOiBudWxsLAotICAgICAgInByb3BlcnRpZXMiOiB7fQotICAgIH0sCi0gICAgewotICAg
ICAgInN0YXR1c19zdHJpbmciOiAiTk9UUlVOIiwKLSAgICAgICJuYW1lIjogInN5bmNocm9ub3Vz
bHktZGVmaW5lZCB0ZXN0ICgnTk9UIFJVTicpIiwKLSAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAg
ICAgICJwcm9wZXJ0aWVzIjoge30KLSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5n
IjogIk5PVFJVTiIsCi0gICAgICAibmFtZSI6ICJ0ZXN0IGlzIG5vdCBhc3luY2hyb25vdXNseSBj
b25zaWRlcmVkICdjb21wbGV0ZScgKCdOT1QgUlVOJykiLAotICAgICAgIm1lc3NhZ2UiOiBudWxs
LAotICAgICAgInByb3BlcnRpZXMiOiB7fQotICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19z
dHJpbmciOiAiTk9UUlVOIiwKLSAgICAgICJuYW1lIjogInRlc3QgaXMgbm90IGNvbnNpZGVyZWQg
J2NvbXBsZXRlJyBmb2xsb3dpbmcgcmVqZWN0aW9uIG9mIGZpcnN0IHByb21pc2UgKCdOT1QgUlVO
JykiLAotICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgInByb3BlcnRpZXMiOiB7fQotICAg
IH0KLSAgXSwKLSAgInR5cGUiOiAiY29tcGxldGUiCi19Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC9hZGRfY2xlYW51cF9hc3luY19y
ZWplY3Rpb25fYWZ0ZXJfbG9hZC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFsL2FkZF9jbGVhbnVw
X2FzeW5jX3JlamVjdGlvbl9hZnRlcl9sb2FkLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IGJkOGZiMzc5Yzc4Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwv
YWRkX2NsZWFudXBfYXN5bmNfcmVqZWN0aW9uX2FmdGVyX2xvYWQuaHRtbAorKysgL2Rldi9udWxs
CkBAIC0xLDU0ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLTxtZXRh
IG5hbWU9InZhcmlhbnQiIGNvbnRlbnQ9Ij9rZWVwLXByb21pc2UiPgotPHRpdGxlPlRlc3QjYWRk
X2NsZWFudXAgd2l0aCBQcm9taXNlLXJldHVybmluZyBmdW5jdGlvbnMgKHJlamVjdGlvbiBoYW5k
bGluZyBmb2xsb3dpbmcgImxvYWQiIGV2ZW50KTwvdGl0bGU+Ci08c2NyaXB0IHNyYz0iLi4vLi4v
dmFyaWFudHMuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08aDE+UHJvbWlzZSBUZXN0
czwvaDE+Ci08cD5UaGlzIHRlc3QgZGVtb25zdHJhdGVzIHRoZSB1c2Ugb2YgPHR0PnByb21pc2Vf
dGVzdDwvdHQ+LiBBc3N1bWVzIEVDTUFTY3JpcHQgNgotUHJvbWlzZSBzdXBwb3J0LiBTb21lIGZh
aWx1cmVzIGFyZSBleHBlY3RlZC48L3A+Ci08ZGl2IGlkPSJsb2ciPjwvZGl2PgotPHNjcmlwdCBz
cmM9Ii4uLy4uLy4uL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8u
Li8uLi90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotcHJvbWlzZV90
ZXN0KGZ1bmN0aW9uKHQpIHsKLSAgdC5hZGRfY2xlYW51cChmdW5jdGlvbigpIHsKLSAgICByZXR1
cm4gUHJvbWlzZS5yZWplY3QobmV3IEVycm9yKCJmb28iKSk7Ci0gIH0pOwotCi0gIHJldHVybiBu
ZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4gewotICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIo
IkRPTUNvbnRlbnRMb2FkZWQiLCBmdW5jdGlvbigpIHsKLSAgICAgIHNldFRpbWVvdXQocmVzb2x2
ZSwgMCkKLSAgICB9KTsKLSAgfSk7Ci19LCAiVGVzdCB3aXRoIGZhaWxpbmcgY2xlYW51cCB0aGF0
IGNvbXBsZXRlcyBhZnRlciBET01Db250ZW50TG9hZGVkIGV2ZW50Iik7Ci0KLXByb21pc2VfdGVz
dChmdW5jdGlvbih0KSB7Ci0gIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTsKLX0sICJUZXN0IHRo
YXQgc2hvdWxkIG5vdCBiZSBydW4gZHVlIHRvIGludmFsaWQgaGFybmVzcyBzdGF0ZSAoJ05PVCBS
VU4nKSIpOwotPC9zY3JpcHQ+Ci08c2NyaXB0IHR5cGU9InRleHQvanNvbiIgaWQ9ImV4cGVjdGVk
Ij4KLXsKLSAgInN1bW1hcml6ZWRfc3RhdHVzIjogewotICAgICJzdGF0dXNfc3RyaW5nIjogIkVS
Uk9SIiwKLSAgICAibWVzc2FnZSI6ICJUZXN0IG5hbWVkICdUZXN0IHdpdGggZmFpbGluZyBjbGVh
bnVwIHRoYXQgY29tcGxldGVzIGFmdGVyIERPTUNvbnRlbnRMb2FkZWQgZXZlbnQnIHNwZWNpZmll
ZCAxICdjbGVhbnVwJyBmdW5jdGlvbiwgYW5kIDEgZmFpbGVkLiIKLSAgfSwKLSAgInN1bW1hcml6
ZWRfdGVzdHMiOiBbCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiTk9UUlVOIiwKLSAg
ICAgICJuYW1lIjogIlRlc3QgdGhhdCBzaG91bGQgbm90IGJlIHJ1biBkdWUgdG8gaW52YWxpZCBo
YXJuZXNzIHN0YXRlICgnTk9UIFJVTicpIiwKLSAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAg
ICJwcm9wZXJ0aWVzIjoge30KLSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjog
IlBBU1MiLAotICAgICAgIm5hbWUiOiAiVGVzdCB3aXRoIGZhaWxpbmcgY2xlYW51cCB0aGF0IGNv
bXBsZXRlcyBhZnRlciBET01Db250ZW50TG9hZGVkIGV2ZW50IiwKLSAgICAgICJtZXNzYWdlIjog
bnVsbCwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30KLSAgICB9Ci0gIF0sCi0gICJ0eXBlIjogImNv
bXBsZXRlIgotfQotPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvYWRk
X2NsZWFudXBfYXN5bmNfdGltZW91dC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFsL2FkZF9jbGVh
bnVwX2FzeW5jX3RpbWVvdXQuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNWNi
MDRkNWE4YmEuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC9hZGRfY2xlYW51
cF9hc3luY190aW1lb3V0Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw1OSArMCwwIEBACi08IURP
Q1RZUEUgSFRNTD4KLTxodG1sPgotPGhlYWQ+Ci08bWV0YSBuYW1lPSJ2YXJpYW50IiBjb250ZW50
PSI/a2VlcC1wcm9taXNlIj4KLTx0aXRsZT5UZXN0I2FkZF9jbGVhbnVwIHdpdGggUHJvbWlzZS1y
ZXR1cm5pbmcgZnVuY3Rpb25zICh0aW1lb3V0IGhhbmRsaW5nKTwvdGl0bGU+Ci08c2NyaXB0IHNy
Yz0iLi4vLi4vdmFyaWFudHMuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxkaXYgaWQ9ImxvZyI+PC9k
aXY+Ci08c2NyaXB0PgotInVzZSBzdHJpY3QiOwotCi1wcm9taXNlX3Rlc3QoZnVuY3Rpb24odCkg
ewotICB0LmFkZF9jbGVhbnVwKGZ1bmN0aW9uKCkgewotICAgIHJldHVybiBQcm9taXNlLnJlc29s
dmUoKTsKLSAgfSk7Ci0KLSAgdC5hZGRfY2xlYW51cChmdW5jdGlvbigpIHsKLSAgICByZXR1cm4g
bmV3IFByb21pc2UoZnVuY3Rpb24oKSB7fSk7Ci0gIH0pOwotCi0gIHQuYWRkX2NsZWFudXAoZnVu
Y3Rpb24oKSB7fSk7Ci0KLSAgdC5hZGRfY2xlYW51cChmdW5jdGlvbigpIHsKLSAgICByZXR1cm4g
bmV3IFByb21pc2UoZnVuY3Rpb24oKSB7fSk7Ci0gIH0pOwotCi0gIHJldHVybiBQcm9taXNlLnJl
c29sdmUoKTsKLX0sICJwcm9taXNlX3Rlc3Qgd2l0aCBhc3luY2hyb25vdXMgY2xlYW51cCIpOwot
Ci1wcm9taXNlX3Rlc3QoZnVuY3Rpb24oKSB7fSwgInByb21pc2VfdGVzdCBmb2xsb3dpbmcgdGlt
ZWQgb3V0IGNsZWFudXAgKCdOT1QgUlVOJykiKTsKLTwvc2NyaXB0PgotPHNjcmlwdCB0eXBlPSJ0
ZXh0L2pzb24iIGlkPSJleHBlY3RlZCI+Ci17Ci0gICJzdW1tYXJpemVkX3N0YXR1cyI6IHsKLSAg
ICAic3RhdHVzX3N0cmluZyI6ICJFUlJPUiIsCi0gICAgIm1lc3NhZ2UiOiAiVGltZW91dCB3aGls
ZSBydW5uaW5nIGNsZWFudXAgZm9yIHRlc3QgbmFtZWQgXCJwcm9taXNlX3Rlc3Qgd2l0aCBhc3lu
Y2hyb25vdXMgY2xlYW51cFwiLiIKLSAgfSwKLSAgInN1bW1hcml6ZWRfdGVzdHMiOiBbCi0gICAg
ewotICAgICAgInN0YXR1c19zdHJpbmciOiAiTk9UUlVOIiwKLSAgICAgICJuYW1lIjogInByb21p
c2VfdGVzdCBmb2xsb3dpbmcgdGltZWQgb3V0IGNsZWFudXAgKCdOT1QgUlVOJykiLAotICAgICAg
Im1lc3NhZ2UiOiBudWxsLAotICAgICAgInByb3BlcnRpZXMiOiB7fQotICAgIH0sCi0gICAgewot
ICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJwcm9taXNlX3Rl
c3Qgd2l0aCBhc3luY2hyb25vdXMgY2xlYW51cCIsCi0gICAgICAibWVzc2FnZSI6IG51bGwsCi0g
ICAgICAicHJvcGVydGllcyI6IHt9Ci0gICAgfQotICBdLAotICAidHlwZSI6ICJjb21wbGV0ZSIK
LX0KLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5j
dGlvbmFsL2FkZF9jbGVhbnVwX2JhZF9yZXR1cm4uaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC9h
ZGRfY2xlYW51cF9iYWRfcmV0dXJuLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDFmMWM2ZmJmNDRiLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvYWRkX2Ns
ZWFudXBfYmFkX3JldHVybi5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNjQgKzAsMCBAQAotPCFE
T0NUWVBFIEhUTUw+Ci08aHRtbD4KLTxoZWFkPgotPG1ldGEgbmFtZT0idmFyaWFudCIgY29udGVu
dD0iIj4KLTxtZXRhIG5hbWU9InZhcmlhbnQiIGNvbnRlbnQ9Ij9rZWVwLXByb21pc2UiPgotPHRp
dGxlPlRlc3QjYWRkX2NsZWFudXAgd2l0aCB2YWx1ZS1yZXR1cm5pbmcgZnVuY3Rpb248L3RpdGxl
PgotPHNjcmlwdCBzcmM9Ii4uLy4uL3ZhcmlhbnRzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIuLi8uLi8uLi90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4v
Li4vdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08ZGl2
IGlkPSJsb2ciPjwvZGl2PgotPHNjcmlwdD4KLSJ1c2Ugc3RyaWN0IjsKLQotdGVzdChmdW5jdGlv
bih0KSB7Ci0gIHQuYWRkX2NsZWFudXAoZnVuY3Rpb24oKSB7fSk7Ci0gIHQuYWRkX2NsZWFudXAo
ZnVuY3Rpb24oKSB7IHJldHVybiBudWxsOyB9KTsKLSAgdC5hZGRfY2xlYW51cChmdW5jdGlvbigp
IHsKLSAgICB0ZXN0KAotICAgICAgZnVuY3Rpb24oKSB7fSwKLSAgICAgICJUaGUgdGVzdCBydW5u
ZXIgaXMgaW4gYW4gdW5wcmVkaWN0YWJsZSBzdGF0ZSAjMSAoJ05PVCBSVU4nKSIKLSAgICApOwot
Ci0gICAgdGhyb3cgbmV3IEVycm9yKCk7Ci0gIH0pOwotICB0LmFkZF9jbGVhbnVwKGZ1bmN0aW9u
KCkgeyByZXR1cm4gNDsgfSk7Ci0gIHQuYWRkX2NsZWFudXAoZnVuY3Rpb24oKSB7IHJldHVybiB7
IHRoZW46IGZ1bmN0aW9uKCkge30gfTsgfSk7Ci0gIHQuYWRkX2NsZWFudXAoZnVuY3Rpb24oKSB7
fSk7Ci19LCAiVGVzdCB0aGF0IHJldHVybnMgYSB2YWx1ZSBpbiB0aHJlZSBcImNsZWFudXBcIiBm
dW5jdGlvbnMiKTsKLQotdGVzdChmdW5jdGlvbigpIHt9LCAiVGhlIHRlc3QgcnVubmVyIGlzIGlu
IGFuIHVucHJlZGljdGFibGUgc3RhdGUgIzIgKCdOT1QgUlVOJykiKTsKLTwvc2NyaXB0PgotPHNj
cmlwdCB0eXBlPSJ0ZXh0L2pzb24iIGlkPSJleHBlY3RlZCI+Ci17Ci0gICJzdW1tYXJpemVkX3N0
YXR1cyI6IHsKLSAgICAic3RhdHVzX3N0cmluZyI6ICJFUlJPUiIsCi0gICAgIm1lc3NhZ2UiOiAi
VGVzdCBuYW1lZCAnVGVzdCB0aGF0IHJldHVybnMgYSB2YWx1ZSBpbiB0aHJlZSBcImNsZWFudXBc
IiBmdW5jdGlvbnMnIHNwZWNpZmllZCA2ICdjbGVhbnVwJyBmdW5jdGlvbnMsIGFuZCAxIGZhaWxl
ZCwgYW5kIDMgcmV0dXJuZWQgYSBub24tdW5kZWZpbmVkIHZhbHVlLiIKLSAgfSwKLSAgInN1bW1h
cml6ZWRfdGVzdHMiOiBbCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0g
ICAgICAibmFtZSI6ICJUZXN0IHRoYXQgcmV0dXJucyBhIHZhbHVlIGluIHRocmVlIFwiY2xlYW51
cFwiIGZ1bmN0aW9ucyIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2Ui
OiBudWxsCi0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJOT1RSVU4iLAot
ICAgICAgIm5hbWUiOiAiVGhlIHRlc3QgcnVubmVyIGlzIGluIGFuIHVucHJlZGljdGFibGUgc3Rh
dGUgIzEgKCdOT1QgUlVOJykiLAotICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgInByb3Bl
cnRpZXMiOiB7fQotICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiTk9UUlVO
IiwKLSAgICAgICJuYW1lIjogIlRoZSB0ZXN0IHJ1bm5lciBpcyBpbiBhbiB1bnByZWRpY3RhYmxl
IHN0YXRlICMyICgnTk9UIFJVTicpIiwKLSAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICJw
cm9wZXJ0aWVzIjoge30KLSAgICB9Ci0gIF0sCi0gICJ0eXBlIjogImNvbXBsZXRlIgotfQotPC9z
Y3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwv
YWRkX2NsZWFudXBfY291bnQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC9hZGRfY2xlYW51cF9j
b3VudC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzOGZkOGZkN2ExMC4uMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFsL2FkZF9jbGVhbnVwX2NvdW50Lmh0bWwK
KysrIC9kZXYvbnVsbApAQCAtMSw0MSArMCwwIEBACi08IURPQ1RZUEUgSFRNTD4KLTxodG1sPgot
PGhlYWQ+Ci08bWV0YSBuYW1lPSJ2YXJpYW50IiBjb250ZW50PSI/a2VlcC1wcm9taXNlIj4KLTx0
aXRsZT5UZXN0I2FkZF9jbGVhbnVwIHJlcG9ydGVkIGNvdW50PC90aXRsZT4KLTxzY3JpcHQgc3Jj
PSIuLi8uLi92YXJpYW50cy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4vdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGRpdiBpZD0ibG9nIj48L2Rp
dj4KLQotPHNjcmlwdD4KLXByb21pc2VfdGVzdChmdW5jdGlvbih0KSB7Ci0gICAgdC5hZGRfY2xl
YW51cChmdW5jdGlvbigpIHt9KTsKLSAgICB0LmFkZF9jbGVhbnVwKGZ1bmN0aW9uKCkge30pOwot
ICAgIHQuYWRkX2NsZWFudXAoZnVuY3Rpb24oKSB7IHRocm93IG5ldyBFcnJvcigpOyB9KTsKLSAg
ICBuZXcgRXZlbnRXYXRjaGVyKHQsIGRvY3VtZW50LmJvZHksIFtdKTsKLQotICAgIHJldHVybiBQ
cm9taXNlLnJlc29sdmUoKTsKLX0sICd0ZXN0IHdpdGggMyB1c2VyLWRlZmluZWQgY2xlYW51cCBm
dW5jdGlvbnMnKTsKLTwvc2NyaXB0PgotPHNjcmlwdCB0eXBlPSJ0ZXh0L2pzb24iIGlkPSJleHBl
Y3RlZCI+Ci17Ci0gICJzdW1tYXJpemVkX3N0YXR1cyI6IHsKLSAgICAic3RhdHVzX3N0cmluZyI6
ICJFUlJPUiIsCi0gICAgIm1lc3NhZ2UiOiAiVGVzdCBuYW1lZCAndGVzdCB3aXRoIDMgdXNlci1k
ZWZpbmVkIGNsZWFudXAgZnVuY3Rpb25zJyBzcGVjaWZpZWQgMyAnY2xlYW51cCcgZnVuY3Rpb25z
LCBhbmQgMSBmYWlsZWQuIgotICB9LAotICAic3VtbWFyaXplZF90ZXN0cyI6IFsKLSAgICB7Ci0g
ICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1lIjogInRlc3Qgd2l0aCAz
IHVzZXItZGVmaW5lZCBjbGVhbnVwIGZ1bmN0aW9ucyIsCi0gICAgICAibWVzc2FnZSI6IG51bGws
Ci0gICAgICAicHJvcGVydGllcyI6IHt9Ci0gICAgfQotICBdLAotICAidHlwZSI6ICJjb21wbGV0
ZSIKLX0KLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9m
dW5jdGlvbmFsL2FkZF9jbGVhbnVwX2Vyci5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFsL2FkZF9j
bGVhbnVwX2Vyci5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5OTk3MjgxMjQy
YS4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFsL2FkZF9jbGVhbnVwX2Vyci5o
dG1sCisrKyAvZGV2L251bGwKQEAgLTEsNDggKzAsMCBAQAotPCFET0NUWVBFIEhUTUw+Ci08aHRt
bD4KLTxoZWFkPgotPG1ldGEgbmFtZT0idmFyaWFudCIgY29udGVudD0iIj4KLTxtZXRhIG5hbWU9
InZhcmlhbnQiIGNvbnRlbnQ9Ij9rZWVwLXByb21pc2UiPgotPHRpdGxlPlRlc3QjYWRkX2NsZWFu
dXA6IGVycm9yPC90aXRsZT4KLTxzY3JpcHQgc3JjPSIuLi8uLi92YXJpYW50cy5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4vdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii4uLy4uLy4uL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTwvaGVh
ZD4KLTxib2R5PgotPGRpdiBpZD0ibG9nIj48L2Rpdj4KLTxzY3JpcHQ+Ci0idXNlIHN0cmljdCI7
Ci0KLXRlc3QoZnVuY3Rpb24odCkgewotICB0LmFkZF9jbGVhbnVwKGZ1bmN0aW9uKCkgewotICAg
IHRocm93IG5ldyBFcnJvcignZXhjZXB0aW9uIGluIGNsZWFudXAgZnVuY3Rpb24nKTsKLSAgfSk7
Ci19LCAiRXhjZXB0aW9uIGluIGNsZWFudXAgZnVuY3Rpb24gY2F1c2VzIGhhcm5lc3MgZmFpbHVy
ZS4iKTsKLQotdGVzdChmdW5jdGlvbigpIHt9LCAiVGhpcyB0ZXN0IHNob3VsZCBub3QgYmUgcnVu
LiIpOwotPC9zY3JpcHQ+Ci08c2NyaXB0IHR5cGU9InRleHQvanNvbiIgaWQ9ImV4cGVjdGVkIj4K
LXsKLSAgInN1bW1hcml6ZWRfc3RhdHVzIjogewotICAgICJzdGF0dXNfc3RyaW5nIjogIkVSUk9S
IiwKLSAgICAibWVzc2FnZSI6ICJUZXN0IG5hbWVkICdFeGNlcHRpb24gaW4gY2xlYW51cCBmdW5j
dGlvbiBjYXVzZXMgaGFybmVzcyBmYWlsdXJlLicgc3BlY2lmaWVkIDEgJ2NsZWFudXAnIGZ1bmN0
aW9uLCBhbmQgMSBmYWlsZWQuIgotICB9LAotICAic3VtbWFyaXplZF90ZXN0cyI6IFsKLSAgICB7
Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1lIjogIkV4Y2VwdGlv
biBpbiBjbGVhbnVwIGZ1bmN0aW9uIGNhdXNlcyBoYXJuZXNzIGZhaWx1cmUuIiwKLSAgICAgICJw
cm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6IG51bGwKLSAgICB9LAotICAgIHsKLSAg
ICAgICJzdGF0dXNfc3RyaW5nIjogIk5PVFJVTiIsCi0gICAgICAibmFtZSI6ICJUaGlzIHRlc3Qg
c2hvdWxkIG5vdCBiZSBydW4uIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVz
c2FnZSI6IG51bGwKLSAgICB9Ci0gIF0sCi0gICJ0eXBlIjogImNvbXBsZXRlIgotfQotPC9zY3Jp
cHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvYWRk
X2NsZWFudXBfZXJyX211bHRpLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvYWRkX2NsZWFudXBf
ZXJyX211bHRpLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGE0ODliOTY2NTkw
Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvYWRkX2NsZWFudXBfZXJyX211
bHRpLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw1NSArMCwwIEBACi08IURPQ1RZUEUgSFRNTD4K
LTxodG1sPgotPGhlYWQ+Ci08bWV0YSBuYW1lPSJ2YXJpYW50IiBjb250ZW50PSIiPgotPG1ldGEg
bmFtZT0idmFyaWFudCIgY29udGVudD0iP2tlZXAtcHJvbWlzZSI+Ci08dGl0bGU+VGVzdCNhZGRf
Y2xlYW51cDogbXVsdGlwbGUgZnVuY3Rpb25zIHdpdGggb25lIGluIGVycm9yPC90aXRsZT4KLTxz
Y3JpcHQgc3JjPSIuLi8uLi92YXJpYW50cy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4v
Li4vLi4vdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGRpdiBpZD0i
bG9nIj48L2Rpdj4KLQotPHNjcmlwdD4KLSJ1c2Ugc3RyaWN0IjsKLQotdGVzdChmdW5jdGlvbih0
KSB7Ci0gICAgdC5hZGRfY2xlYW51cChmdW5jdGlvbigpIHsKLSAgICAgIHRocm93IG5ldyBFcnJv
cigiZXhjZXB0aW9uIGluIGNsZWFudXAgZnVuY3Rpb24iKTsKLSAgICB9KTsKLQotICAgIC8vIFRo
ZSBmb2xsb3dpbmcgY2xlYW51cCBmdW5jdGlvbiBkZWZpbmVzIGEgdGVzdCBzbyB0aGF0IHRoZSBy
ZXBvcnRlZAotICAgIC8vIGRhdGEgZGVtb25zdHJhdGVzIHRoZSBpbnRlbmRlZCBydW4tdGltZSBi
ZWhhdmlvciwgaS5lLiB0aGF0Ci0gICAgLy8gYHRlc3RoYXJuZXNzLmpzYCBpbnZva2VzIGFsbCBj
bGVhbnVwIGZ1bmN0aW9ucyBldmVuIHdoZW4gb25lIG9yIG1vcmUKLSAgICAvLyB0aHJvdyBlcnJv
cnMuCi0gICAgdC5hZGRfY2xlYW51cChmdW5jdGlvbigpIHsKLSAgICAgIHRlc3QoZnVuY3Rpb24o
KSB7fSwgIlZlcmlmaWNhdGlvbiB0ZXN0Iik7Ci0gICAgfSk7Ci0gIH0sICJUZXN0IHdpdGggbXVs
dGlwbGUgY2xlYW51cCBmdW5jdGlvbnMiKTsKLTwvc2NyaXB0PgotPHNjcmlwdCB0eXBlPSJ0ZXh0
L2pzb24iIGlkPSJleHBlY3RlZCI+Ci17Ci0gICJzdW1tYXJpemVkX3N0YXR1cyI6IHsKLSAgICAi
c3RhdHVzX3N0cmluZyI6ICJFUlJPUiIsCi0gICAgIm1lc3NhZ2UiOiAiVGVzdCBuYW1lZCAnVGVz
dCB3aXRoIG11bHRpcGxlIGNsZWFudXAgZnVuY3Rpb25zJyBzcGVjaWZpZWQgMiAnY2xlYW51cCcg
ZnVuY3Rpb25zLCBhbmQgMSBmYWlsZWQuIgotICB9LAotICAic3VtbWFyaXplZF90ZXN0cyI6IFsK
LSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1lIjogIlRl
c3Qgd2l0aCBtdWx0aXBsZSBjbGVhbnVwIGZ1bmN0aW9ucyIsCi0gICAgICAicHJvcGVydGllcyI6
IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsCi0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVz
X3N0cmluZyI6ICJOT1RSVU4iLAotICAgICAgIm5hbWUiOiAiVmVyaWZpY2F0aW9uIHRlc3QiLAot
ICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogbnVsbAotICAgIH0KLSAg
XSwKLSAgInR5cGUiOiAiY29tcGxldGUiCi19Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC9hZGRfY2xlYW51cF9zeW5jX3F1ZXVlLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvYWRkX2NsZWFudXBfc3luY19xdWV1ZS5odG1sCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxZTA1OGYxNTAxMy4uMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVz
dC90ZXN0cy9mdW5jdGlvbmFsL2FkZF9jbGVhbnVwX3N5bmNfcXVldWUuaHRtbAorKysgL2Rldi9u
dWxsCkBAIC0xLDU3ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLTxt
ZXRhIG5hbWU9InZhcmlhbnQiIGNvbnRlbnQ9Ij9rZWVwLXByb21pc2UiPgotPHRpdGxlPlRlc3Qj
YWRkX2NsZWFudXA6IHF1ZXVpbmcgdGVzdHM8L3RpdGxlPgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Zh
cmlhbnRzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4vdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08ZGl2IGlkPSJsb2ciPjwvZGl2PgotCi08c2Ny
aXB0PgotInVzZSBzdHJpY3QiOwotdmFyIGZpcnN0Q2xlYW5lZCA9IGZhbHNlOwotCi1wcm9taXNl
X3Rlc3QoZnVuY3Rpb24odCkgewotICBwcm9taXNlX3Rlc3QoZnVuY3Rpb24oKSB7Ci0gICAgYXNz
ZXJ0X3RydWUoCi0gICAgICBmaXJzdENsZWFuZWQsICJzaG91bGQgbm90IGV4ZWN1dGUgdW50aWwg
Zmlyc3QgdGVzdCBpcyBjb21wbGV0ZSIKLSAgICApOwotCi0gICAgcmV0dXJuIFByb21pc2UucmVz
b2x2ZSgpOwotICB9LCAidGVzdCBkZWZpbmVkIHdoZW4gbm8gdGVzdHMgYXJlIHF1ZXVlZCwgYnV0
IG9uZSB0ZXN0IGlzIGV4ZWN1dGluZyIpOwotCi0gIHQuYWRkX2NsZWFudXAoZnVuY3Rpb24oKSB7
Ci0gICAgZmlyc3RDbGVhbmVkID0gdHJ1ZTsKLSAgfSk7Ci0KLSAgcmV0dXJuIFByb21pc2UucmVz
b2x2ZSgpOwotfSwgIlRlc3Qgd2l0aCBhICdjbGVhbnVwJyBmdW5jdGlvbiIpOwotPC9zY3JpcHQ+
Ci08c2NyaXB0IHR5cGU9InRleHQvanNvbiIgaWQ9ImV4cGVjdGVkIj4KLXsKLSAgInN1bW1hcml6
ZWRfc3RhdHVzIjogewotICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAic3RhdHVzX3N0cmluZyI6
ICJPSyIKLSAgfSwKLSAgInN1bW1hcml6ZWRfdGVzdHMiOiBbCi0gICAgewotICAgICAgIm1lc3Nh
Z2UiOiBudWxsLAotICAgICAgIm5hbWUiOiAiVGVzdCB3aXRoIGEgJ2NsZWFudXAnIGZ1bmN0aW9u
IiwKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgInByb3BlcnRpZXMiOiB7
fQotICAgIH0sCi0gICAgewotICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgIm5hbWUiOiAi
dGVzdCBkZWZpbmVkIHdoZW4gbm8gdGVzdHMgYXJlIHF1ZXVlZCwgYnV0IG9uZSB0ZXN0IGlzIGV4
ZWN1dGluZyIsCi0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJwcm9wZXJ0
aWVzIjoge30KLSAgICB9Ci0gIF0sCi0gICJ0eXBlIjogImNvbXBsZXRlIgotfQotPC9zY3JpcHQ+
Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvYXBpLXRl
c3RzLTEuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC9hcGktdGVzdHMtMS5odG1sCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3ZDQ2OTk0YWE5OS4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90
ZXN0cy9mdW5jdGlvbmFsL2FwaS10ZXN0cy0xLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw0NTMg
KzAsMCBAQAotPCFET0NUWVBFIEhUTUw+Ci08aHRtbD4KLTxoZWFkPgotPG1ldGEgbmFtZT0idmFy
aWFudCIgY29udGVudD0iIj4KLTxtZXRhIG5hbWU9InZhcmlhbnQiIGNvbnRlbnQ9Ij9rZWVwLXBy
b21pc2UiPgotPHRpdGxlPlNhbXBsZSBIVE1MNSBBUEkgVGVzdHM8L3RpdGxlPgotPHNjcmlwdCBz
cmM9Ii4uLy4uL3ZhcmlhbnRzLmpzIj48L3NjcmlwdD4KLTxtZXRhIG5hbWU9InRpbWVvdXQiIGNv
bnRlbnQ9IjYwMDAiPgotPC9oZWFkPgotPGJvZHkgb25sb2FkPSJsb2FkX3Rlc3RfYXR0ci5kb25l
KCkiPgotPGgxPlNhbXBsZSBIVE1MNSBBUEkgVGVzdHM8L2gxPgotPGRpdiBpZD0ibG9nIj48L2Rp
dj4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQ+Ci0gICAgc2V0dXBfcnVuID0gZmFsc2U7Ci0gICAgc2V0dXAoZnVuY3Rpb24oKSB7Ci0g
ICAgICAgICAgICBzZXR1cF9ydW4gPSB0cnVlOwotICAgICAgICAgIH0pOwotICAgIHRlc3QoZnVu
Y3Rpb24oKSB7YXNzZXJ0X3RydWUoc2V0dXBfcnVuKX0sICJTZXR1cCBmdW5jdGlvbiByYW4iKTsK
LQotICAgIC8vIFR3byBleGFtcGxlcyBmb3IgdGVzdGluZyBldmVudHMgZnJvbSBoYW5kbGVyIGFu
ZCBhdHRyaWJ1dGVzCi0gICAgdmFyIGxvYWRfdGVzdF9ldmVudCA9IGFzeW5jX3Rlc3QoIndpbmRv
dyBvbmxvYWQgZXZlbnQgZmlyZXMgd2hlbiBzZXQgZnJvbSB0aGUgaGFuZGxlciIpOwotCi0gICAg
ZnVuY3Rpb24gd2luZG93TG9hZCgpCi0gICAgewotICAgICAgICBsb2FkX3Rlc3RfZXZlbnQuZG9u
ZSgpOwotICAgIH0KLSAgICBvbl9ldmVudCh3aW5kb3csICJsb2FkIiwgd2luZG93TG9hZCk7Ci0K
LSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgc2VxdWVuY2UgPSBbXTsKLSAgICAg
ICAgdmFyIG91dGVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7Ci0gICAgICAgIHZh
ciBpbm5lciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwotICAgICAgICBvdXRlci5h
cHBlbmRDaGlsZChpbm5lcik7Ci0gICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQob3V0
ZXIpOwotICAgICAgICBpbm5lci5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGZ1bmN0aW9uKCkg
ewotICAgICAgICAgICAgc2VxdWVuY2UucHVzaCgiaW5uZXIiKTsKLSAgICAgICAgfSwgZmFsc2Up
OwotCi0gICAgICAgIG9uX2V2ZW50KG91dGVyLCAiY2xpY2siLCBmdW5jdGlvbigpIHsKLSAgICAg
ICAgICAgIHNlcXVlbmNlLnB1c2goIm91dGVyIik7Ci0gICAgICAgIH0pOwotICAgICAgICBpbm5l
ci5jbGljaygpOwotCi0gICAgICAgIGFzc2VydF9hcnJheV9lcXVhbHMoc2VxdWVuY2UsIFsiaW5u
ZXIiLCAib3V0ZXIiXSk7Ci0gICAgfSwgIm9uX2V2ZW50IGRvZXMgbm90IHVzZSBldmVudCBjYXB0
dXJlIik7Ci0KLSAgICAvLyBzZWUgdGhlIGJvZHkgb25sb2FkIGJlbG93Ci0gICAgdmFyIGxvYWRf
dGVzdF9hdHRyID0gYXN5bmNfdGVzdCgiYm9keSBlbGVtZW50IGZpcmVzIHRoZSBvbmxvYWQgZXZl
bnQgc2V0IGZyb20gdGhlIGF0dHJpYnV0ZSIpOwotPC9zY3JpcHQ+Ci08c2NyaXB0PgotICAgIGZ1
bmN0aW9uIGJvZHlFbGVtZW50KCkKLSAgICB7Ci0gICAgICAgIGFzc2VydF9lcXVhbHMoZG9jdW1l
bnQuYm9keSwgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImJvZHkiKVswXSk7Ci0gICAg
fQotICAgIHRlc3QoYm9keUVsZW1lbnQsICJkb2N1bWVudC5ib2R5IHNob3VsZCBiZSB0aGUgZmly
c3QgYm9keSBlbGVtZW50IGluIHRoZSBkb2N1bWVudCIpOwotCi0gICAgdGVzdChmdW5jdGlvbigp
IHsKLSAgICAgICAgYXNzZXJ0X2VxdWFscygxLDEpOwotICAgICAgICBhc3NlcnRfZXF1YWxzKE5h
TiwgTmFOLCAiTmFOIGNhc2UiKTsKLSAgICAgICAgYXNzZXJ0X2VxdWFscygwLCAwLCAiWmVybyBj
YXNlIik7Ci0gICAgfSwgImFzc2VydF9lcXVhbHMgdGVzdHMiKQotCi0gICAgdGVzdChmdW5jdGlv
bigpIHsKLSAgICAgICAgYXNzZXJ0X2VxdWFscygtMCwgMCwgIlplcm8gY2FzZSIpOwotICAgIH0s
ICJhc3NlcnRfZXF1YWxzIHRlc3RzIGV4cGVjdGVkIHRvIGZhaWwiKQotCi0gICAgdGVzdChmdW5j
dGlvbigpIHsKLSAgICAgICAgYXNzZXJ0X25vdF9lcXVhbHMoe30sIHt9LCAib2JqZWN0IGNhc2Ui
KTsKLSAgICAgICAgYXNzZXJ0X25vdF9lcXVhbHMoLTAsIDAsICJaZXJvIGNhc2UiKTsKLSAgICB9
LCAiYXNzZXJ0X25vdF9lcXVhbHMgdGVzdHMiKQotCi0gICAgZnVuY3Rpb24gdGVzdEFzc2VydFBh
c3MoKQotICAgIHsKLSAgICAgICAgYXNzZXJ0X3RydWUodHJ1ZSk7Ci0gICAgfQotICAgIHRlc3Qo
dGVzdEFzc2VydFBhc3MsICJhc3NlcnRfdHJ1ZSBleHBlY3RlZCB0byBwYXNzIik7Ci0KLSAgICBm
dW5jdGlvbiB0ZXN0QXNzZXJ0RmFsc2UoKQotICAgIHsKLSAgICAgICAgYXNzZXJ0X3RydWUoZmFs
c2UsICJmYWxzZSBzaG91bGQgbm90IGJlIHRydWUiKTsKLSAgICB9Ci0gICAgdGVzdCh0ZXN0QXNz
ZXJ0RmFsc2UsICJhc3NlcnRfdHJ1ZSBleHBlY3RlZCB0byBmYWlsIik7Ci0KLSAgICBmdW5jdGlv
biBiYXNpY0Fzc2VydEFycmF5RXF1YWxzKCkKLSAgICB7Ci0gICAgICAgIGFzc2VydF9hcnJheV9l
cXVhbHMoWzEsIE5hTl0sIFsxLCBOYU5dLCAiWzEsIE5hTl0gaXMgZXF1YWwgdG8gWzEsIE5hTl0i
KTsKLSAgICB9Ci0gICAgdGVzdChiYXNpY0Fzc2VydEFycmF5RXF1YWxzLCAiYmFzaWMgYXNzZXJ0
X2FycmF5X2VxdWFscyB0ZXN0Iik7Ci0KLSAgICBmdW5jdGlvbiBhc3NlcnRBcnJheUVxdWFsc1Vu
ZGVmaW5lZCgpCi0gICAgewotICAgICAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKHVuZGVmaW5lZCwg
WzFdLCAidW5kZWZpbmVkIGVxdWFscyBbMV0/Iik7Ci0gICAgfQotICAgIHRlc3QoYXNzZXJ0QXJy
YXlFcXVhbHNVbmRlZmluZWQsICJhc3NlcnRfYXJyYXlfZXF1YWxzIHdpdGggZmlyc3QgcGFyYW0g
dW5kZWZpbmVkIik7Ci0KLSAgICBmdW5jdGlvbiBhc3NlcnRBcnJheUVxdWFsc1RydWUoKQotICAg
IHsKLSAgICAgICAgYXNzZXJ0X2FycmF5X2VxdWFscyh0cnVlLCBbMV0sICJ0cnVlIGVxdWFscyBb
MV0/Iik7Ci0gICAgfQotICAgIHRlc3QoYXNzZXJ0QXJyYXlFcXVhbHNUcnVlLCAiYXNzZXJ0X2Fy
cmF5X2VxdWFscyB3aXRoIGZpcnN0IHBhcmFtIHRydWUiKTsKLQotICAgIGZ1bmN0aW9uIGFzc2Vy
dEFycmF5RXF1YWxzRmFsc2UoKQotICAgIHsKLSAgICAgICAgYXNzZXJ0X2FycmF5X2VxdWFscyhm
YWxzZSwgWzFdLCAiZmFsc2UgZXF1YWxzIFsxXT8iKTsKLSAgICB9Ci0gICAgdGVzdChhc3NlcnRB
cnJheUVxdWFsc0ZhbHNlLCAiYXNzZXJ0X2FycmF5X2VxdWFscyB3aXRoIGZpcnN0IHBhcmFtIGZh
bHNlIik7Ci0KLSAgICBmdW5jdGlvbiBhc3NlcnRBcnJheUVxdWFsc051bGwoKQotICAgIHsKLSAg
ICAgICAgYXNzZXJ0X2FycmF5X2VxdWFscyhudWxsLCBbMV0sICJudWxsIGVxdWFscyBbMV0/Iik7
Ci0gICAgfQotICAgIHRlc3QoYXNzZXJ0QXJyYXlFcXVhbHNOdWxsLCAiYXNzZXJ0X2FycmF5X2Vx
dWFscyB3aXRoIGZpcnN0IHBhcmFtIG51bGwiKTsKLQotICAgIGZ1bmN0aW9uIGFzc2VydEFycmF5
RXF1YWxzTnVtZXJpYygpCi0gICAgewotICAgICAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKDEsIFsx
XSwgIjEgZXF1YWxzIFsxXT8iKTsKLSAgICB9Ci0gICAgdGVzdChhc3NlcnRBcnJheUVxdWFsc051
bWVyaWMsICJhc3NlcnRfYXJyYXlfZXF1YWxzIHdpdGggZmlyc3QgcGFyYW0gMSIpOwotCi0gICAg
ZnVuY3Rpb24gYmFzaWNBc3NlcnRBcnJheUFwcHJveEVxdWFscygpCi0gICAgewotICAgICAgICBh
c3NlcnRfYXJyYXlfYXBwcm94X2VxdWFscyhbMTAsIDExXSwgWzExLCAxMF0sIDEsICJbMTAsIDEx
XSBpcyBhcHByb3hpbWF0ZWx5ICgrLy0gMSkgWzExLCAxMF0iKQotICAgIH0KLSAgICB0ZXN0KGJh
c2ljQXNzZXJ0QXJyYXlBcHByb3hFcXVhbHMsICJiYXNpYyBhc3NlcnRfYXJyYXlfYXBwcm94X2Vx
dWFscyB0ZXN0Iik7Ci0KLSAgICBmdW5jdGlvbiBiYXNpY0Fzc2VydEFwcHJveEVxdWFscygpCi0g
ICAgewotICAgICAgICBhc3NlcnRfYXBwcm94X2VxdWFscygxMCwgMTEsIDEsICIxMCBpcyBhcHBy
b3hpbWF0ZWx5ICgrLy0gMSkgMTEiKQotICAgIH0KLSAgICB0ZXN0KGJhc2ljQXNzZXJ0QXBwcm94
RXF1YWxzLCAiYmFzaWMgYXNzZXJ0X2FwcHJveF9lcXVhbHMgdGVzdCIpOwotCi0gICAgZnVuY3Rp
b24gYmFzaWNBc3NlcnRMZXNzVGhhbigpCi0gICAgewotICAgICAgICBhc3NlcnRfbGVzc190aGFu
KDEwLCAxMSwgIjEwIGlzIGxlc3MgdGhhbiAxMSIpCi0gICAgfQotICAgIHRlc3QoYmFzaWNBc3Nl
cnRBcHByb3hFcXVhbHMsICJiYXNpYyBhc3NlcnRfbGVzc190aGFuIHRlc3QiKTsKLQotICAgIGZ1
bmN0aW9uIGJhc2ljQXNzZXJ0R3JlYXRlclRoYW4oKQotICAgIHsKLSAgICAgICAgYXNzZXJ0X2dy
ZWF0ZXJfdGhhbigxMCwgMTEsICIxMCBpcyBub3QgZ3JlYXRlciB0aGFuIDExIik7Ci0gICAgfQot
ICAgIHRlc3QoYmFzaWNBc3NlcnRHcmVhdGVyVGhhbiwgImFzc2VydF9ncmVhdGVyX3RoYW4gZXhw
ZWN0ZWQgdG8gZmFpbCIpOwotCi0gICAgZnVuY3Rpb24gYmFzaWNBc3NlcnRHcmVhdGVyVGhhbkVx
dWFsKCkKLSAgICB7Ci0gICAgICAgIGFzc2VydF9ncmVhdGVyX3RoYW5fZXF1YWwoMTAsIDEwLCAi
MTAgaXMgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIDEwIikKLSAgICB9Ci0gICAgdGVzdChiYXNp
Y0Fzc2VydEdyZWF0ZXJUaGFuRXF1YWwsICJiYXNpYyBhc3NlcnRfZ3JlYXRlcl90aGFuX2VxdWFs
IHRlc3QiKTsKLQotICAgIGZ1bmN0aW9uIGJhc2ljQXNzZXJ0TGVzc1RoYW5FcXVhbCgpCi0gICAg
ewotICAgICAgICBhc3NlcnRfZ3JlYXRlcl90aGFuX2VxdWFsKCcxMCcsIDEwLCAiJzEwJyBpcyBu
b3QgYSBudW1iZXIiKQotICAgIH0KLSAgICB0ZXN0KGJhc2ljQXNzZXJ0TGVzc1RoYW5FcXVhbCwg
ImFzc2VydF9sZXNzX3RoYW5fZXF1YWwgZXhwZWN0ZWQgdG8gZmFpbCIpOwotCi0gICAgZnVuY3Rp
b24gdGVzdEFzc2VydEluaGVyaXRzKCkgewotICAgICAgICB2YXIgQSA9IGZ1bmN0aW9uKCl7dGhp
cy5hID0gImEifQotICAgICAgICBBLnByb3RvdHlwZSA9IHtiOiJiIn0KLSAgICAgICAgdmFyIGEg
PSBuZXcgQSgpOwotICAgICAgICBhc3NlcnRfb3duX3Byb3BlcnR5KGEsICJhIik7Ci0gICAgICAg
IGFzc2VydF9ub3Rfb3duX3Byb3BlcnR5KGEsICJiIiwgInVuZXhwZWN0ZWQgcHJvcGVydHkgZm91
bmQ6IFwiYlwiIik7Ci0gICAgICAgIGFzc2VydF9pbmhlcml0cyhhLCAiYiIpOwotICAgIH0KLSAg
ICB0ZXN0KHRlc3RBc3NlcnRJbmhlcml0cywgInRlc3QgZm9yIGFzc2VydFtfbm90XV9vd25fcHJv
cGVydHkgYW5kIGluc2VydF9pbmhlcml0cyIpCi0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkKLSAgICB7
Ci0gICAgICAgIHZhciBhID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYSIpCi0gICAgICAgIHZh
ciBiID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYiIpCi0gICAgICAgIGFzc2VydF90aHJvd3Mo
Ik5PVF9GT1VORF9FUlIiLCBmdW5jdGlvbiAoKSB7YS5yZW1vdmVDaGlsZChiKX0pOwotICAgIH0s
ICJUZXN0IHRocm93IERPTSBleGNlcHRpb24iKQotCi0gICAgdGVzdChmdW5jdGlvbigpCi0gICAg
ewotICAgICAgICB2YXIgYSA9IGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCJhIikKLSAgICAgICAg
dmFyIGIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJiIikKLSAgICAgICAgYXNzZXJ0X3Rocm93
cygiTk9UX0ZPVU5EX0VSUiIsIGZ1bmN0aW9uICgpIHthLmFwcGVuZENoaWxkKGIpfSk7Ci0gICAg
fSwgIlRlc3QgdGhyb3cgRE9NIGV4Y2VwdGlvbiBleHBlY3RlZCB0byBmYWlsIikKLQotICAgIHRl
c3QoZnVuY3Rpb24oKQotICAgIHsKLSAgICAgICAgdmFyIGUgPSB7Y29kZTowLCBuYW1lOiJURVNU
X0VSUiIsIFRFU1RfRVJSOjB9Ci0gICAgICAgIGFzc2VydF90aHJvd3MoMCwgZnVuY3Rpb24oKSB7
dGhyb3cgZX0pOwotICAgIH0sICJUZXN0IGFzc2VydF90aHJvd3Mgd2l0aCBhbWJpZ3VvdXMgRE9N
LWV4Y2VwdGlvbiBleHBlY3RlZCB0byBGYWlsIik7Ci0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkKLSAg
ICB7Ci0gICAgICAgIHZhciBlID0ge2NvZGU6MCwgbmFtZToiVEVTVF9FUlIiLCBURVNUX0VSUjow
fQotICAgICAgICBhc3NlcnRfdGhyb3dzKCJURVNUX0VSUiIsIGZ1bmN0aW9uKCkge3Rocm93IGV9
KTsKLSAgICB9LCAiVGVzdCBhc3NlcnRfdGhyb3dzIHdpdGggbm9uLURPTS1leGNlcHRpb24gZXhw
ZWN0ZWQgdG8gRmFpbCIpOwotCi0gICAgdGVzdChmdW5jdGlvbigpCi0gICAgewotICAgICAgICB2
YXIgZSA9IHtjb2RlOiBET01FeGNlcHRpb24uU1lOVEFYX0VSUiwgbmFtZToiU3ludGF4RXJyb3Ii
fQotICAgICAgICBhc3NlcnRfdGhyb3dzKERPTUV4Y2VwdGlvbi5TWU5UQVhfRVJSLCBmdW5jdGlv
bigpIHt0aHJvdyBlfSk7Ci0gICAgfSwgIlRlc3QgYXNzZXJ0X3Rocm93cyB3aXRoIG51bWJlciBj
b2RlIHZhbHVlIGV4cGVjdGVkIHRvIFBhc3MiKTsKLQotICAgIHZhciB0ID0gYXN5bmNfdGVzdCgi
VGVzdCBzdGVwX2Z1bmMiKQotICAgIHNldFRpbWVvdXQoCi0gICAgICB0LnN0ZXBfZnVuYygKLSAg
ICAgICAgZnVuY3Rpb24gKCkgewotICAgICAgICAgIGFzc2VydF90cnVlKHRydWUpOyB0LmRvbmUo
KTsKLSAgICAgICAgfSksIDApOwotCi0gICAgYXN5bmNfdGVzdChmdW5jdGlvbih0KSB7Ci0gICAg
ICAgIHNldFRpbWVvdXQodC5zdGVwX2Z1bmMoZnVuY3Rpb24gKCl7YXNzZXJ0X3RydWUodHJ1ZSk7
IHQuZG9uZSgpO30pLCAwKTsKLSAgICB9LCAiVGVzdCBhc3luYyB0ZXN0IHdpdGggY2FsbGJhY2si
KTsKLQotICAgIGFzeW5jX3Rlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHNldFRpbWVvdXQodGhp
cy5zdGVwX2Z1bmMoZnVuY3Rpb24gKCl7YXNzZXJ0X3RydWUodHJ1ZSk7IHRoaXMuZG9uZSgpO30p
LCAwKTsKLSAgICB9LCAiVGVzdCBhc3luYyB0ZXN0IHdpdGggY2FsbGJhY2sgYW5kIGB0aGlzYCBv
YmouIik7Ci0KLSAgICBhc3luY190ZXN0KCJ0ZXN0IHNob3VsZCB0aW1lb3V0IChmYWlsKSB3aXRo
IHRoZSBkZWZhdWx0IG9mIDIgc2Vjb25kcyIpLnN0ZXAoZnVuY3Rpb24oKXt9KTsKLQotICAgIGFz
eW5jX3Rlc3QoImFzeW5jIHRlc3QgdGhhdCBpcyBuZXZlciBzdGFydGVkLCBzaG91bGQgaGF2ZSBz
dGF0dXMgTm90IFJ1biIpOwotCi0KLSAgICB0ZXN0KGZ1bmN0aW9uKHQpIHsKLSAgICAgICAgICAg
ICB3aW5kb3cuZ2xvYmFsID0gMTsKLSAgICAgICAgICAgICB0LmFkZF9jbGVhbnVwKGZ1bmN0aW9u
KCkge2RlbGV0ZSB3aW5kb3cuZ2xvYmFsfSk7Ci0gICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyh3
aW5kb3cuZ2xvYmFsLCAxKTsKLSAgICAgICAgIH0sCi0gICAgICAgICAiVGVzdCB0aGF0IGRlZmlu
ZXMgYSBnbG9iYWwgYW5kIGNsZWFucyBpdCB1cCIpOwotCi0gICAgdGVzdChmdW5jdGlvbigpIHth
c3NlcnRfZXF1YWxzKHdpbmRvdy5nbG9iYWwsIHVuZGVmaW5lZCl9LAotICAgICAgICAgIlRlc3Qg
dGhhdCBjbGVhbnVwIGhhbmRsZXJzIGZyb20gcHJldmlvdXMgdGVzdCByYW4iKTsKLQotPC9zY3Jp
cHQ+Ci08c2NyaXB0IHR5cGU9InRleHQvanNvbiIgaWQ9ImV4cGVjdGVkIj4KLXsKLSAgInN1bW1h
cml6ZWRfc3RhdHVzIjogewotICAgICJzdGF0dXNfc3RyaW5nIjogIlRJTUVPVVQiLAotICAgICJt
ZXNzYWdlIjogbnVsbAotICB9LAotICAic3VtbWFyaXplZF90ZXN0cyI6IFsKLSAgICB7Ci0gICAg
ICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1lIjogIlNldHVwIGZ1bmN0aW9u
IHJhbiIsCi0gICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAicHJvcGVydGllcyI6IHt9Ci0g
ICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJGQUlMIiwKLSAgICAgICJuYW1l
IjogIlRlc3QgYXNzZXJ0X3Rocm93cyB3aXRoIGFtYmlndW91cyBET00tZXhjZXB0aW9uIGV4cGVj
dGVkIHRvIEZhaWwiLAotICAgICAgIm1lc3NhZ2UiOiAiVGVzdCBidWc6IGFtYmlndW91cyBET01F
eGNlcHRpb24gY29kZSAwIHBhc3NlZCB0byBhc3NlcnRfdGhyb3dzKCkiLAotICAgICAgInByb3Bl
cnRpZXMiOiB7fQotICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiRkFJTCIs
Ci0gICAgICAibmFtZSI6ICJUZXN0IGFzc2VydF90aHJvd3Mgd2l0aCBub24tRE9NLWV4Y2VwdGlv
biBleHBlY3RlZCB0byBGYWlsIiwKLSAgICAgICJtZXNzYWdlIjogIlRlc3QgYnVnOiB1bnJlY29n
bml6ZWQgRE9NRXhjZXB0aW9uIGNvZGUgXCJURVNUX0VSUlwiIHBhc3NlZCB0byBhc3NlcnRfdGhy
b3dzKCkiLAotICAgICAgInByb3BlcnRpZXMiOiB7fQotICAgIH0sCi0gICAgewotICAgICAgInN0
YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJUZXN0IGFzc2VydF90aHJvd3Mg
d2l0aCBudW1iZXIgY29kZSB2YWx1ZSBleHBlY3RlZCB0byBQYXNzIiwKLSAgICAgICJtZXNzYWdl
IjogbnVsbCwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30KLSAgICB9LAotICAgIHsKLSAgICAgICJz
dGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUiOiAiVGVzdCBhc3luYyB0ZXN0IHdp
dGggY2FsbGJhY2siLAotICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgInByb3BlcnRpZXMi
OiB7fQotICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAg
ICAibmFtZSI6ICJUZXN0IGFzeW5jIHRlc3Qgd2l0aCBjYWxsYmFjayBhbmQgYHRoaXNgIG9iai4i
LAotICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgInByb3BlcnRpZXMiOiB7fQotICAgIH0s
Ci0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJU
ZXN0IHN0ZXBfZnVuYyIsCi0gICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAicHJvcGVydGll
cyI6IHt9Ci0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAg
ICAgICJuYW1lIjogIlRlc3QgdGhhdCBjbGVhbnVwIGhhbmRsZXJzIGZyb20gcHJldmlvdXMgdGVz
dCByYW4iLAotICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgInByb3BlcnRpZXMiOiB7fQot
ICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFt
ZSI6ICJUZXN0IHRoYXQgZGVmaW5lcyBhIGdsb2JhbCBhbmQgY2xlYW5zIGl0IHVwIiwKLSAgICAg
ICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30KLSAgICB9LAotICAgIHsK
LSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUiOiAiVGVzdCB0aHJv
dyBET00gZXhjZXB0aW9uIiwKLSAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICJwcm9wZXJ0
aWVzIjoge30KLSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIkZBSUwiLAot
ICAgICAgIm5hbWUiOiAiVGVzdCB0aHJvdyBET00gZXhjZXB0aW9uIGV4cGVjdGVkIHRvIGZhaWwi
LAotICAgICAgIm1lc3NhZ2UiOiAiYXNzZXJ0X3Rocm93czogZnVuY3Rpb24gXCJmdW5jdGlvbiAo
KSB7YS5hcHBlbmRDaGlsZChiKX1cIiB0aHJldyBvYmplY3QgXCJIaWVyYXJjaHlSZXF1ZXN0RXJy
b3I6IE5vZGUgY2Fubm90IGJlIGluc2VydGVkIGF0IHRoZSBzcGVjaWZpZWQgcG9pbnQgaW4gdGhl
IGhpZXJhcmNoeVwiIHRoYXQgaXMgbm90IGEgRE9NRXhjZXB0aW9uIE5PVF9GT1VORF9FUlI6IHBy
b3BlcnR5IFwiY29kZVwiIGlzIGVxdWFsIHRvIDMsIGV4cGVjdGVkIDgiLAotICAgICAgInByb3Bl
cnRpZXMiOiB7fQotICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiRkFJTCIs
Ci0gICAgICAibmFtZSI6ICJhc3NlcnRfYXJyYXlfZXF1YWxzIHdpdGggZmlyc3QgcGFyYW0gMSIs
Ci0gICAgICAibWVzc2FnZSI6ICJhc3NlcnRfYXJyYXlfZXF1YWxzOiAxIGVxdWFscyBbMV0/IHZh
bHVlIGlzIDEsIGV4cGVjdGVkIGFycmF5IiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30KLSAgICB9
LAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIkZBSUwiLAotICAgICAgIm5hbWUiOiAi
YXNzZXJ0X2FycmF5X2VxdWFscyB3aXRoIGZpcnN0IHBhcmFtIGZhbHNlIiwKLSAgICAgICJtZXNz
YWdlIjogImFzc2VydF9hcnJheV9lcXVhbHM6IGZhbHNlIGVxdWFscyBbMV0/IHZhbHVlIGlzIGZh
bHNlLCBleHBlY3RlZCBhcnJheSIsCi0gICAgICAicHJvcGVydGllcyI6IHt9Ci0gICAgfSwKLSAg
ICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJGQUlMIiwKLSAgICAgICJuYW1lIjogImFzc2Vy
dF9hcnJheV9lcXVhbHMgd2l0aCBmaXJzdCBwYXJhbSBudWxsIiwKLSAgICAgICJtZXNzYWdlIjog
ImFzc2VydF9hcnJheV9lcXVhbHM6IG51bGwgZXF1YWxzIFsxXT8gdmFsdWUgaXMgbnVsbCwgZXhw
ZWN0ZWQgYXJyYXkiLAotICAgICAgInByb3BlcnRpZXMiOiB7fQotICAgIH0sCi0gICAgewotICAg
ICAgInN0YXR1c19zdHJpbmciOiAiRkFJTCIsCi0gICAgICAibmFtZSI6ICJhc3NlcnRfYXJyYXlf
ZXF1YWxzIHdpdGggZmlyc3QgcGFyYW0gdHJ1ZSIsCi0gICAgICAibWVzc2FnZSI6ICJhc3NlcnRf
YXJyYXlfZXF1YWxzOiB0cnVlIGVxdWFscyBbMV0/IHZhbHVlIGlzIHRydWUsIGV4cGVjdGVkIGFy
cmF5IiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30KLSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0
dXNfc3RyaW5nIjogIkZBSUwiLAotICAgICAgIm5hbWUiOiAiYXNzZXJ0X2FycmF5X2VxdWFscyB3
aXRoIGZpcnN0IHBhcmFtIHVuZGVmaW5lZCIsCi0gICAgICAibWVzc2FnZSI6ICJhc3NlcnRfYXJy
YXlfZXF1YWxzOiB1bmRlZmluZWQgZXF1YWxzIFsxXT8gdmFsdWUgaXMgdW5kZWZpbmVkLCBleHBl
Y3RlZCBhcnJheSIsCi0gICAgICAicHJvcGVydGllcyI6IHt9Ci0gICAgfSwKLSAgICB7Ci0gICAg
ICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1lIjogImFzc2VydF9lcXVhbHMg
dGVzdHMiLAotICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgInByb3BlcnRpZXMiOiB7fQot
ICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiRkFJTCIsCi0gICAgICAibmFt
ZSI6ICJhc3NlcnRfZXF1YWxzIHRlc3RzIGV4cGVjdGVkIHRvIGZhaWwiLAotICAgICAgIm1lc3Nh
Z2UiOiAiYXNzZXJ0X2VxdWFsczogWmVybyBjYXNlIGV4cGVjdGVkIDAgYnV0IGdvdCAtMCIsCi0g
ICAgICAicHJvcGVydGllcyI6IHt9Ci0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmlu
ZyI6ICJGQUlMIiwKLSAgICAgICJuYW1lIjogImFzc2VydF9ncmVhdGVyX3RoYW4gZXhwZWN0ZWQg
dG8gZmFpbCIsCi0gICAgICAibWVzc2FnZSI6ICJhc3NlcnRfZ3JlYXRlcl90aGFuOiAxMCBpcyBu
b3QgZ3JlYXRlciB0aGFuIDExIGV4cGVjdGVkIGEgbnVtYmVyIGdyZWF0ZXIgdGhhbiAxMSBidXQg
Z290IDEwIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30KLSAgICB9LAotICAgIHsKLSAgICAgICJz
dGF0dXNfc3RyaW5nIjogIkZBSUwiLAotICAgICAgIm5hbWUiOiAiYXNzZXJ0X2xlc3NfdGhhbl9l
cXVhbCBleHBlY3RlZCB0byBmYWlsIiwKLSAgICAgICJtZXNzYWdlIjogImFzc2VydF9ncmVhdGVy
X3RoYW5fZXF1YWw6ICcxMCcgaXMgbm90IGEgbnVtYmVyIGV4cGVjdGVkIGEgbnVtYmVyIGJ1dCBn
b3QgYSBcInN0cmluZ1wiIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30KLSAgICB9LAotICAgIHsK
LSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUiOiAiYXNzZXJ0X25v
dF9lcXVhbHMgdGVzdHMiLAotICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgInByb3BlcnRp
ZXMiOiB7fQotICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiRkFJTCIsCi0g
ICAgICAibmFtZSI6ICJhc3NlcnRfdHJ1ZSBleHBlY3RlZCB0byBmYWlsIiwKLSAgICAgICJtZXNz
YWdlIjogImFzc2VydF90cnVlOiBmYWxzZSBzaG91bGQgbm90IGJlIHRydWUgZXhwZWN0ZWQgdHJ1
ZSBnb3QgZmFsc2UiLAotICAgICAgInByb3BlcnRpZXMiOiB7fQotICAgIH0sCi0gICAgewotICAg
ICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJhc3NlcnRfdHJ1ZSBl
eHBlY3RlZCB0byBwYXNzIiwKLSAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICJwcm9wZXJ0
aWVzIjoge30KLSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIk5PVFJVTiIs
Ci0gICAgICAibmFtZSI6ICJhc3luYyB0ZXN0IHRoYXQgaXMgbmV2ZXIgc3RhcnRlZCwgc2hvdWxk
IGhhdmUgc3RhdHVzIE5vdCBSdW4iLAotICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgInBy
b3BlcnRpZXMiOiB7fQotICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFT
UyIsCi0gICAgICAibmFtZSI6ICJiYXNpYyBhc3NlcnRfYXBwcm94X2VxdWFscyB0ZXN0IiwKLSAg
ICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30KLSAgICB9LAotICAg
IHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUiOiAiYmFzaWMg
YXNzZXJ0X2FycmF5X2FwcHJveF9lcXVhbHMgdGVzdCIsCi0gICAgICAibWVzc2FnZSI6IG51bGws
Ci0gICAgICAicHJvcGVydGllcyI6IHt9Ci0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0
cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1lIjogImJhc2ljIGFzc2VydF9hcnJheV9lcXVhbHMg
dGVzdCIsCi0gICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAicHJvcGVydGllcyI6IHt9Ci0g
ICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1l
IjogImJhc2ljIGFzc2VydF9ncmVhdGVyX3RoYW5fZXF1YWwgdGVzdCIsCi0gICAgICAibWVzc2Fn
ZSI6IG51bGwsCi0gICAgICAicHJvcGVydGllcyI6IHt9Ci0gICAgfSwKLSAgICB7Ci0gICAgICAi
c3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1lIjogImJhc2ljIGFzc2VydF9sZXNz
X3RoYW4gdGVzdCIsCi0gICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAicHJvcGVydGllcyI6
IHt9Ci0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAg
ICJuYW1lIjogImJvZHkgZWxlbWVudCBmaXJlcyB0aGUgb25sb2FkIGV2ZW50IHNldCBmcm9tIHRo
ZSBhdHRyaWJ1dGUiLAotICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgInByb3BlcnRpZXMi
OiB7fQotICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAg
ICAibmFtZSI6ICJkb2N1bWVudC5ib2R5IHNob3VsZCBiZSB0aGUgZmlyc3QgYm9keSBlbGVtZW50
IGluIHRoZSBkb2N1bWVudCIsCi0gICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAicHJvcGVy
dGllcyI6IHt9Ci0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwK
LSAgICAgICJuYW1lIjogInRlc3QgZm9yIGFzc2VydFtfbm90XV9vd25fcHJvcGVydHkgYW5kIGlu
c2VydF9pbmhlcml0cyIsCi0gICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAicHJvcGVydGll
cyI6IHt9Ci0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJUSU1FT1VUIiwK
LSAgICAgICJuYW1lIjogInRlc3Qgc2hvdWxkIHRpbWVvdXQgKGZhaWwpIHdpdGggdGhlIGRlZmF1
bHQgb2YgMiBzZWNvbmRzIiwKLSAgICAgICJtZXNzYWdlIjogIlRlc3QgdGltZWQgb3V0IiwKLSAg
ICAgICJwcm9wZXJ0aWVzIjoge30KLSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5n
IjogIlBBU1MiLAotICAgICAgIm5hbWUiOiAid2luZG93IG9ubG9hZCBldmVudCBmaXJlcyB3aGVu
IHNldCBmcm9tIHRoZSBoYW5kbGVyIiwKLSAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICJw
cm9wZXJ0aWVzIjoge30KLSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBB
U1MiLAotICAgICAgIm5hbWUiOiAib25fZXZlbnQgZG9lcyBub3QgdXNlIGV2ZW50IGNhcHR1cmUi
LAotICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgInByb3BlcnRpZXMiOiB7fQotICAgIH0K
LSAgXSwKLSAgInR5cGUiOiAiY29tcGxldGUiCi19Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC9hcGktdGVzdHMtMi5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90
ZXN0cy9mdW5jdGlvbmFsL2FwaS10ZXN0cy0yLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDA4YTJiODkzYzI0Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwv
YXBpLXRlc3RzLTIuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDQ3ICswLDAgQEAKLTwhRE9DVFlQ
RSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLTxtZXRhIG5hbWU9InZhcmlhbnQiIGNvbnRlbnQ9IiI+
Ci08bWV0YSBuYW1lPSJ2YXJpYW50IiBjb250ZW50PSI/a2VlcC1wcm9taXNlIj4KLTx0aXRsZT5T
YW1wbGUgSFRNTDUgQVBJIFRlc3RzPC90aXRsZT4KLTxzY3JpcHQgc3JjPSIuLi8uLi92YXJpYW50
cy5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxoMT5TYW1wbGUgSFRNTDUgQVBJIFRl
c3RzPC9oMT4KLTxwPlRoZXJlIHNob3VsZCBiZSB0d28gcmVzdWx0czwvcD4KLTxkaXYgaWQ9Imxv
ZyI+PC9kaXY+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0Pgotc2V0dXAoe2V4cGxpY2l0X2RvbmU6dHJ1ZX0pCi10ZXN0KGZ1bmN0aW9u
KCkge2Fzc2VydF90cnVlKHRydWUpfSwgIlRlc3QgZGVmaW5lZCBiZWZvcmUgb25sb2FkIik7Ci0K
LW9ubG9hZCA9IGZ1bmN0aW9uKCkge3Rlc3QoZnVuY3Rpb24gKCl7YXNzZXJ0X3RydWUodHJ1ZSl9
LCAiVGVzdCBkZWZpbmVkIGFmdGVyIG9ubG9hZCIpOwotZG9uZSgpOwotfQotPC9zY3JpcHQ+Ci08
c2NyaXB0IHR5cGU9InRleHQvanNvbiIgaWQ9ImV4cGVjdGVkIj4KLXsKLSAgInN1bW1hcml6ZWRf
c3RhdHVzIjogewotICAgICJzdGF0dXNfc3RyaW5nIjogIk9LIiwKLSAgICAibWVzc2FnZSI6IG51
bGwKLSAgfSwKLSAgInN1bW1hcml6ZWRfdGVzdHMiOiBbCi0gICAgewotICAgICAgInN0YXR1c19z
dHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJUZXN0IGRlZmluZWQgYWZ0ZXIgb25sb2Fk
IiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6IG51bGwKLSAgICB9
LAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUiOiAi
VGVzdCBkZWZpbmVkIGJlZm9yZSBvbmxvYWQiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAg
ICAgICJtZXNzYWdlIjogbnVsbAotICAgIH0KLSAgXSwKLSAgInR5cGUiOiAiY29tcGxldGUiCi19
Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rp
b25hbC9hcGktdGVzdHMtMy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFsL2FwaS10ZXN0cy0zLmh0
bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQzMmI0ZDhiYzdkLi4wMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvYXBpLXRlc3RzLTMuaHRtbAorKysgL2Rldi9udWxs
CkBAIC0xLDM3ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLTxtZXRh
IG5hbWU9InZhcmlhbnQiIGNvbnRlbnQ9IiI+Ci08bWV0YSBuYW1lPSJ2YXJpYW50IiBjb250ZW50
PSI/a2VlcC1wcm9taXNlIj4KLTx0aXRsZT5TYW1wbGUgSFRNTDUgQVBJIFRlc3RzPC90aXRsZT4K
LTxzY3JpcHQgc3JjPSIuLi8uLi92YXJpYW50cy5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci0KLTxib2R5Pgot
PGgxPlNhbXBsZSBIVE1MNSBBUEkgVGVzdHM8L2gxPgotPGRpdiBpZD0ibG9nIj48L2Rpdj4KLTxz
Y3JpcHQ+Ci1zZXR1cCh7ZXhwbGljaXRfdGltZW91dDp0cnVlfSk7Ci12YXIgdCA9IGFzeW5jX3Rl
c3QoIlRoaXMgdGVzdCBzaG91bGQgZ2l2ZSBhIHN0YXR1cyBvZiAnTm90IFJ1bicgd2l0aG91dCBh
IGRlbGF5Iik7Ci10aW1lb3V0KCk7Ci08L3NjcmlwdD4KLTxzY3JpcHQgdHlwZT0idGV4dC9qc29u
IiBpZD0iZXhwZWN0ZWQiPgotewotICAic3VtbWFyaXplZF9zdGF0dXMiOiB7Ci0gICAgInN0YXR1
c19zdHJpbmciOiAiVElNRU9VVCIsCi0gICAgIm1lc3NhZ2UiOiBudWxsCi0gIH0sCi0gICJzdW1t
YXJpemVkX3Rlc3RzIjogWwotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIk5PVFJVTiIs
Ci0gICAgICAibmFtZSI6ICJUaGlzIHRlc3Qgc2hvdWxkIGdpdmUgYSBzdGF0dXMgb2YgJ05vdCBS
dW4nIHdpdGhvdXQgYSBkZWxheSIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1l
c3NhZ2UiOiBudWxsCi0gICAgfQotICBdLAotICAidHlwZSI6ICJjb21wbGV0ZSIKLX0KLTwvc2Ny
aXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFsL2Zv
cmNlX3RpbWVvdXQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC9mb3JjZV90aW1lb3V0Lmh0bWwK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGE0Mzc1OTUzMGFkLi4wMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvZm9yY2VfdGltZW91dC5odG1sCisrKyAvZGV2L251bGwK
QEAgLTEsNjIgKzAsMCBAQAotPCFET0NUWVBFIEhUTUw+Ci08aHRtbD4KLTxoZWFkPgotPG1ldGEg
bmFtZT0idmFyaWFudCIgY29udGVudD0iP2tlZXAtcHJvbWlzZSI+Ci08dGl0bGU+VGVzdCNmb3Jj
ZV90aW1lb3V0PC90aXRsZT4KLTxzY3JpcHQgc3JjPSIuLi8uLi92YXJpYW50cy5qcyI+PC9zY3Jp
cHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxoMT5UZXN0I2ZvcmNlX3RpbWVvdXQ8L2gxPgotPGRpdiBp
ZD0ibG9nIj48L2Rpdj4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQ+Ci1zZXR1cCh7IGV4cGxpY2l0X3RpbWVvdXQ6IHRydWUgfSk7Ci0K
LXRlc3QoZnVuY3Rpb24odCkgewotICAgIHQuZm9yY2VfdGltZW91dCgpOwotICB9LCAndGVzdCAo
c3luY2hyb25vdXMpJyk7Ci0KLWFzeW5jX3Rlc3QoZnVuY3Rpb24odCkgewotICAgIHQuc3RlcF90
aW1lb3V0KGZ1bmN0aW9uKCkgewotICAgICAgICB0LmZvcmNlX3RpbWVvdXQoKTsKLSAgICAgIH0s
IDApOwotICB9LCAnYXN5bmNfdGVzdCcpOwotCi1wcm9taXNlX3Rlc3QoZnVuY3Rpb24odCkgewot
ICAgIHQuZm9yY2VfdGltZW91dCgpOwotCi0gICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9u
KCkge30pOwotICB9LCAncHJvbWlzZV90ZXN0Jyk7Ci08L3NjcmlwdD4KLTxzY3JpcHQgdHlwZT0i
dGV4dC9qc29uIiBpZD0iZXhwZWN0ZWQiPgotewotICAic3VtbWFyaXplZF9zdGF0dXMiOiB7Ci0g
ICAgInN0YXR1c19zdHJpbmciOiAiT0siLAotICAgICJtZXNzYWdlIjogbnVsbAotICB9LAotICAi
c3VtbWFyaXplZF90ZXN0cyI6IFsKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJUSU1F
T1VUIiwKLSAgICAgICJuYW1lIjogImFzeW5jX3Rlc3QiLAotICAgICAgIm1lc3NhZ2UiOiAiVGVz
dCB0aW1lZCBvdXQiLAotICAgICAgInByb3BlcnRpZXMiOiB7fQotICAgIH0sCi0gICAgewotICAg
ICAgInN0YXR1c19zdHJpbmciOiAiVElNRU9VVCIsCi0gICAgICAibmFtZSI6ICJwcm9taXNlX3Rl
c3QiLAotICAgICAgIm1lc3NhZ2UiOiAiVGVzdCB0aW1lZCBvdXQiLAotICAgICAgInByb3BlcnRp
ZXMiOiB7fQotICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiVElNRU9VVCIs
Ci0gICAgICAibmFtZSI6ICJ0ZXN0IChzeW5jaHJvbm91cykiLAotICAgICAgIm1lc3NhZ2UiOiAi
VGVzdCB0aW1lZCBvdXQiLAotICAgICAgInByb3BlcnRpZXMiOiB7fQotICAgIH0KLSAgXSwKLSAg
InR5cGUiOiAiY29tcGxldGUiCi19Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC9nZW5lcmF0ZS1jYWxsYmFjay5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0
cy9mdW5jdGlvbmFsL2dlbmVyYXRlLWNhbGxiYWNrLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IGY4ZmFjYTYyNzc4Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9u
YWwvZ2VuZXJhdGUtY2FsbGJhY2suaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDE1NiArMCwwIEBA
Ci08IURPQ1RZUEUgSFRNTD4KLTxodG1sPgotPGhlYWQ+Ci08bWV0YSBuYW1lPSJ2YXJpYW50IiBj
b250ZW50PSIiPgotPG1ldGEgbmFtZT0idmFyaWFudCIgY29udGVudD0iP2tlZXAtcHJvbWlzZSI+
Ci08dGl0bGU+U2FtcGxlIGZvciB1c2luZyBnZW5lcmF0ZV90ZXN0cyB0byBjcmVhdGUgYSBzZXJp
ZXMgb2YgdGVzdHMgdGhhdCBzaGFyZSB0aGUgc2FtZSBjYWxsYmFjay48L3RpdGxlPgotPHNjcmlw
dCBzcmM9Ii4uLy4uL3ZhcmlhbnRzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPHNjcmlwdD4K
LS8vIGdlbmVyYXRlX3Rlc3RzIHRha2VzIGFuIGFycmF5IG9mIGFycmF5cyB0aGF0IGRlZmluZSB0
ZXN0cwotLy8gYnV0IGxldHMgcGFzcyBpdCBhbiBlbXB0eSBhcnJheSBhbmQgdmVyaWZ5IGl0IGRv
ZXMgbm90aGluZy4KLWZ1bmN0aW9uIG51bGxfY2FsbGJhY2soKSB7Ci0gIHRocm93ICJudWxsX2Nh
bGxiYWNrIHNob3VsZCBub3QgYmUgY2FsbGVkLiI7Ci19Ci1nZW5lcmF0ZV90ZXN0cyhudWxsX2Nh
bGxiYWNrLCBbXSk7Ci0KLS8vIEdlbmVyYXRlIDMgdGVzdHMgc3BlY2lmeWluZyB0aGUgbmFtZSBh
bmQgb25lIHBhcmFtZXRlcgotZnVuY3Rpb24gdmFsaWRhdGVfYXJndW1lbnRzKGFyZzEpIHsKLSAg
YXNzZXJ0X2VxdWFscyhhcmcxLCAxLCAiRW5zdXJlIHRoYXQgd2UgZ2V0IG91ciBleHBlY3RlZCBh
cmd1bWVudCIpOwotfQotZ2VuZXJhdGVfdGVzdHModmFsaWRhdGVfYXJndW1lbnRzLCBbCi0gIFsi
Zmlyc3QgdGVzdCIsIDFdLAotICBbInNlY29uZCB0ZXN0IiwgMV0sCi0gIFsidGhpcmQgdGVzdCIs
IDFdLAotXSk7Ci0KLS8vIEdlbmVyYXRlIGEgdGVzdCBwYXNzaW5nIGluIGEgcHJvcGVydGllcyBv
YmplY3QgdGhhdCBpcyBzaGFyZWQgYWNyb3NzIHRlc3RzLgotZnVuY3Rpb24gdmFsaWRhdGVfcHJv
cGVydGllcygpIHsKLSAgYXNzZXJ0X3RydWUodGhpcy5wcm9wZXJ0aWVzLnNlbnRpbmVsLCAiRW5z
dXJlIHRoYXQgd2UgZ290IHRoZSByaWdodCBwcm9wZXJ0aWVzIG9iamVjdC4iKTsKLX0KLWdlbmVy
YXRlX3Rlc3RzKHZhbGlkYXRlX3Byb3BlcnRpZXMsIFtbInNlbnRpbmVsIGNoZWNrIDEiXSwgWyJz
ZW50aW5lbCBjaGVjayAyIl1dLCB7c2VudGluZWw6IHRydWV9KTsKLQotLy8gR2VuZXJhdGUgYSB0
ZXN0IHBhc3NpbmcgaW4gYSBwcm9wZXJ0aWVzIG9iamVjdCB0aGF0IGlzIHNoYXJlZCBhY3Jvc3Mg
dGVzdHMuCi1mdW5jdGlvbiB2YWxpZGF0ZV9zZXBhcmF0ZV9wcm9wZXJ0aWVzKCkgewotICBpZiAo
dGhpcy5uYW1lID09PSAic2VudGluZWwgY2hlY2sgMSB1bmlxdWUgcHJvcGVydGllcyIpIHsKLSAg
ICBhc3NlcnRfdHJ1ZSh0aGlzLnByb3BlcnRpZXMuc2VudGluZWwsICJFbnN1cmUgdGhhdCB3ZSBn
b3QgdGhlIHJpZ2h0IHByb3BlcnRpZXMgb2JqZWN0LiBFeHBlY3Qgc2VudGluZWw6IHRydWUuIik7
Ci0gIH0KLSAgZWxzZSB7Ci0gICAgYXNzZXJ0X2ZhbHNlKHRoaXMucHJvcGVydGllcy5zZW50aW5l
bCwgIkVuc3VyZSB0aGF0IHdlIGdvdCB0aGUgcmlnaHQgcHJvcGVydGllcyBvYmplY3QuIEV4cGVj
dCBzZW50aW5lbDogZmFsc2UuIik7Ci0gIH0KLX0KLWdlbmVyYXRlX3Rlc3RzKHZhbGlkYXRlX3Nl
cGFyYXRlX3Byb3BlcnRpZXMsIFtbInNlbnRpbmVsIGNoZWNrIDEgdW5pcXVlIHByb3BlcnRpZXMi
XSwgWyJzZW50aW5lbCBjaGVjayAyIHVuaXF1ZSBwcm9wZXJ0aWVzIl1dLCBbe3NlbnRpbmVsOiB0
cnVlfSwge3NlbnRpbmVsOiBmYWxzZX1dKTsKLQotLy8gRmluYWxseSBnZW5lcmF0ZSBhIGNvbXBs
aWNhdGVkIHNldCBvZiB0ZXN0cyBmcm9tIGFub3RoZXIgZGF0YSBzb3VyY2UKLXZhciBsZXR0ZXJz
ID0gWyJhIiwgImIiLCAiYyIsICJkIiwgImUiLCAiZiJdOwotdmFyIG51bWJlcnMgPSBbMCwgMSwg
MiwgMywgNCwgNV07Ci1mdW5jdGlvbiB2YWxpZGF0ZV9yZWxhdGVkX2FyZ3VtZW50cyhhcmcxLCBh
cmcyKSB7Ci0gIGFzc2VydF9lcXVhbHMoYXJnMS5jaGFyQ29kZUF0KDApIC0gImEiLmNoYXJDb2Rl
QXQoMCksIGFyZzIsICJFbnN1cmUgdGhhdCB3ZSBjYW4gbWFwIGxldHRlcnMgdG8gbnVtYmVycy4i
KTsKLX0KLWZ1bmN0aW9uIGZvcm1hdF9hc190ZXN0KGxldHRlciwgaW5kZXgsIGxldHRlcnMpIHsK
LSAgcmV0dXJuIFsiVGVzdCB0byBtYXAgIiArIGxldHRlciArICIgdG8gIiArIG51bWJlcnNbaW5k
ZXhdLCBsZXR0ZXIsIG51bWJlcnNbaW5kZXhdXTsKLX0KLWdlbmVyYXRlX3Rlc3RzKHZhbGlkYXRl
X3JlbGF0ZWRfYXJndW1lbnRzLCBsZXR0ZXJzLm1hcChmb3JtYXRfYXNfdGVzdCkpOwotPC9zY3Jp
cHQ+Ci08c2NyaXB0IHR5cGU9InRleHQvanNvbiIgaWQ9ImV4cGVjdGVkIj4KLXsKLSAgInN1bW1h
cml6ZWRfc3RhdHVzIjogewotICAgICJzdGF0dXNfc3RyaW5nIjogIk9LIiwKLSAgICAibWVzc2Fn
ZSI6IG51bGwKLSAgfSwKLSAgInN1bW1hcml6ZWRfdGVzdHMiOiBbCi0gICAgewotICAgICAgInN0
YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJUZXN0IHRvIG1hcCBhIHRvIDAi
LAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogbnVsbAotICAgIH0s
Ci0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJU
ZXN0IHRvIG1hcCBiIHRvIDEiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNz
YWdlIjogbnVsbAotICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIs
Ci0gICAgICAibmFtZSI6ICJUZXN0IHRvIG1hcCBjIHRvIDIiLAotICAgICAgInByb3BlcnRpZXMi
OiB7fSwKLSAgICAgICJtZXNzYWdlIjogbnVsbAotICAgIH0sCi0gICAgewotICAgICAgInN0YXR1
c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJUZXN0IHRvIG1hcCBkIHRvIDMiLAot
ICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogbnVsbAotICAgIH0sCi0g
ICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJUZXN0
IHRvIG1hcCBlIHRvIDQiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdl
IjogbnVsbAotICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0g
ICAgICAibmFtZSI6ICJUZXN0IHRvIG1hcCBmIHRvIDUiLAotICAgICAgInByb3BlcnRpZXMiOiB7
fSwKLSAgICAgICJtZXNzYWdlIjogbnVsbAotICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19z
dHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJmaXJzdCB0ZXN0IiwKLSAgICAgICJwcm9w
ZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6IG51bGwKLSAgICB9LAotICAgIHsKLSAgICAg
ICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUiOiAic2Vjb25kIHRlc3QiLAot
ICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogbnVsbAotICAgIH0sCi0g
ICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJzZW50
aW5lbCBjaGVjayAxIiwKLSAgICAgICJwcm9wZXJ0aWVzIjogewotICAgICAgICAic2VudGluZWwi
OiB0cnVlCi0gICAgICB9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsCi0gICAgfSwKLSAgICB7Ci0g
ICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1lIjogInNlbnRpbmVsIGNo
ZWNrIDEgdW5pcXVlIHByb3BlcnRpZXMiLAotICAgICAgInByb3BlcnRpZXMiOiB7Ci0gICAgICAg
ICJzZW50aW5lbCI6IHRydWUKLSAgICAgIH0sCi0gICAgICAibWVzc2FnZSI6IG51bGwKLSAgICB9
LAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUiOiAi
c2VudGluZWwgY2hlY2sgMiIsCi0gICAgICAicHJvcGVydGllcyI6IHsKLSAgICAgICAgInNlbnRp
bmVsIjogdHJ1ZQotICAgICAgfSwKLSAgICAgICJtZXNzYWdlIjogbnVsbAotICAgIH0sCi0gICAg
ewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJzZW50aW5l
bCBjaGVjayAyIHVuaXF1ZSBwcm9wZXJ0aWVzIiwKLSAgICAgICJwcm9wZXJ0aWVzIjogewotICAg
ICAgICAic2VudGluZWwiOiBmYWxzZQotICAgICAgfSwKLSAgICAgICJtZXNzYWdlIjogbnVsbAot
ICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFt
ZSI6ICJ0aGlyZCB0ZXN0IiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2Fn
ZSI6IG51bGwKLSAgICB9Ci0gIF0sCi0gICJ0eXBlIjogImNvbXBsZXRlIgotfQotPC9zY3JpcHQ+
Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvaWRsaGFy
bmVzcy9JZGxEaWN0aW9uYXJ5L3Rlc3RfcGFydGlhbF9pbnRlcmZhY2Vfb2YuaHRtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVz
dHMvZnVuY3Rpb25hbC9pZGxoYXJuZXNzL0lkbERpY3Rpb25hcnkvdGVzdF9wYXJ0aWFsX2ludGVy
ZmFjZV9vZi5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1ZWUzZmU3ZTg5My4u
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFsL2lkbGhhcm5lc3MvSWRsRGljdGlv
bmFyeS90ZXN0X3BhcnRpYWxfaW50ZXJmYWNlX29mLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw5
MCArMCwwIEBACi08IURPQ1RZUEUgSFRNTD4KLTxodG1sPgotCi08aGVhZD4KLSAgPG1ldGEgY2hh
cnNldD0idXRmLTgiPgotICA8bWV0YSBuYW1lPSJ2YXJpYW50IiBjb250ZW50PSIiPgotICA8dGl0
bGU+aWRsaGFybmVzczogUGFydGlhbCBkaWN0aW9uYXJ5PC90aXRsZT4KLSAgPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdC92YXJpYW50cy5qcyI+PC9zY3JpcHQ+Ci0gIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLSAgPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotICA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy9XZWJJRExQYXJzZXIuanMiPjwvc2NyaXB0PgotICA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy9pZGxoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLQotPGJvZHk+Ci0gIDxwPlZl
cmlmeSB0aGUgc2VyaWVzIG9mIHN1Yi10ZXN0cyB0aGF0IGFyZSBleGVjdXRlZCBmb3IgInBhcnRp
YWwiIGRpY3Rpb25hcnkgb2JqZWN0cy48L3A+Ci0gIDxzY3JpcHQ+Ci0gICAgInVzZSBzdHJpY3Qi
OwotCi0gICAgLy8gTm8gb3JpZ2luYWwgZXhpc3RlbmNlCi0gICAgKCgpID0+IHsKLSAgICAgIGNv
bnN0IGlkbEFycmF5ID0gbmV3IElkbEFycmF5KCk7Ci0gICAgICBpZGxBcnJheS5hZGRfaWRscygn
cGFydGlhbCBkaWN0aW9uYXJ5IEEge307Jyk7Ci0gICAgICBpZGxBcnJheS50ZXN0KCk7Ci0gICAg
fSkoKTsKLQotICAgIC8vIE11bHRpcGxlIHBhcnRpYWxzIGV4aXN0ZW5jZQotICAgICgoKSA9PiB7
Ci0gICAgICBjb25zdCBpZGxBcnJheSA9IG5ldyBJZGxBcnJheSgpOwotICAgICAgaWRsQXJyYXku
YWRkX3VudGVzdGVkX2lkbHMoJ3BhcnRpYWwgZGljdGlvbmFyeSBCIHt9OycpOwotICAgICAgaWRs
QXJyYXkuYWRkX2lkbHMoJ3BhcnRpYWwgZGljdGlvbmFyeSBCIHt9OycpOwotICAgICAgaWRsQXJy
YXkuYWRkX2lkbHMoJ3BhcnRpYWwgZGljdGlvbmFyeSBCIHt9OycpOwotICAgICAgaWRsQXJyYXku
YWRkX2lkbHMoJ3BhcnRpYWwgZGljdGlvbmFyeSBCIHt9OycpOwotICAgICAgaWRsQXJyYXkuYWRk
X2lkbHMoJ2RpY3Rpb25hcnkgQiB7fTsnKTsKLSAgICAgIGlkbEFycmF5LnRlc3QoKTsKLSAgICB9
KSgpOwotCi0gICAgLy8gT3JpZ2luYWwgaXMgYSBuYW1lc3BhY2UsIG5vdCBhIGRpY3Rpb25hcnku
Ci0gICAgKCgpID0+IHsKLSAgICAgIGNvbnN0IGlkbEFycmF5ID0gbmV3IElkbEFycmF5KCk7Ci0g
ICAgICBpZGxBcnJheS5hZGRfaWRscyhgCi0gICAgICAgIHBhcnRpYWwgZGljdGlvbmFyeSBDIHt9
OwotICAgICAgICBuYW1lc3BhY2UgQyB7fTtgKTsKLSAgICAgIGlkbEFycmF5LmNvbGxhcHNlX3Bh
cnRpYWxzKCk7Ci0gICAgfSkoKTsKLSAgPC9zY3JpcHQ+Ci0gIDxzY3JpcHQgdHlwZT0idGV4dC9q
c29uIiBpZD0iZXhwZWN0ZWQiPgotewotICAic3VtbWFyaXplZF9zdGF0dXMiOiB7Ci0gICAgInN0
YXR1c19zdHJpbmciOiAiT0siLAotICAgICJtZXNzYWdlIjogbnVsbAotICB9LAotICAic3VtbWFy
aXplZF90ZXN0cyI6IFsKLSAgICB7Ci0gICAgICAibmFtZSI6ICJQYXJ0aWFsIGRpY3Rpb25hcnkg
QTogb3JpZ2luYWwgZGljdGlvbmFyeSBkZWZpbmVkIiwKLSAgICAgICJzdGF0dXNfc3RyaW5nIjog
IkZBSUwiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogImFzc2Vy
dF90cnVlOiBPcmlnaW5hbCBkaWN0aW9uYXJ5IHNob3VsZCBiZSBkZWZpbmVkIGV4cGVjdGVkIHRy
dWUgZ290IGZhbHNlIgotICAgIH0sCi0gICAgewotICAgICAgIm5hbWUiOiAiUGFydGlhbCBkaWN0
aW9uYXJ5IEJbMl06IG9yaWdpbmFsIGRpY3Rpb25hcnkgZGVmaW5lZCIsCi0gICAgICAic3RhdHVz
X3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2Fn
ZSI6IG51bGwKLSAgICB9LAotICAgIHsKLSAgICAgICJuYW1lIjogIlBhcnRpYWwgZGljdGlvbmFy
eSBCWzNdOiBvcmlnaW5hbCBkaWN0aW9uYXJ5IGRlZmluZWQiLAotICAgICAgInN0YXR1c19zdHJp
bmciOiAiUEFTUyIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBu
dWxsCi0gICAgfSwKLSAgICB7Ci0gICAgICAibmFtZSI6ICJQYXJ0aWFsIGRpY3Rpb25hcnkgQls0
XTogb3JpZ2luYWwgZGljdGlvbmFyeSBkZWZpbmVkIiwKLSAgICAgICJzdGF0dXNfc3RyaW5nIjog
IlBBU1MiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogbnVsbAot
ICAgIH0sCi0gICAgewotICAgICAgIm5hbWUiOiAiUGFydGlhbCBkaWN0aW9uYXJ5IEM6IG9yaWdp
bmFsIGRpY3Rpb25hcnkgZGVmaW5lZCIsCi0gICAgICAic3RhdHVzX3N0cmluZyI6ICJGQUlMIiwK
LSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6ICJhc3NlcnRfdHJ1ZTog
T3JpZ2luYWwgQyBkZWZpbml0aW9uIHNob3VsZCBoYXZlIHR5cGUgZGljdGlvbmFyeSBleHBlY3Rl
ZCB0cnVlIGdvdCBmYWxzZSIKLSAgICB9Ci0gIF0sCi0gICJ0eXBlIjogImNvbXBsZXRlIgotfQot
PC9zY3JpcHQ+Ci08L2JvZHk+Ci0KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rp
b25hbC9pZGxoYXJuZXNzL0lkbERpY3Rpb25hcnkvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1
bmN0aW9uYWwvaWRsaGFybmVzcy9JZGxEaWN0aW9uYXJ5L3czYy1pbXBvcnQubG9nCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjOThmNzQwYTU5ZS4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90
ZXN0cy9mdW5jdGlvbmFsL2lkbGhhcm5lc3MvSWRsRGljdGlvbmFyeS93M2MtaW1wb3J0LmxvZwor
KysgL2Rldi9udWxsCkBAIC0xLDE3ICswLDAgQEAKLVRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9y
eSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgotRG8gTk9UIG1vZGlmeSB0
aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJl
cXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9y
bS10ZXN0cy93cHQKLQotVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0
cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKLQotRG8gTk9UIG1vZGlmeSBvciByZW1vdmUgdGhpcyBm
aWxlLgotCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLVByb3BlcnRpZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVm
aXhlczoKLU5vbmUKLVByb3BlcnR5IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgot
Tm9uZQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1MaXN0IG9mIGZpbGVzOgotL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25h
bC9pZGxoYXJuZXNzL0lkbERpY3Rpb25hcnkvdGVzdF9wYXJ0aWFsX2ludGVyZmFjZV9vZi5odG1s
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvaWRsaGFybmVzcy9JZGxJbnRlcmZhY2Uv
dGVzdF9pbW11dGFibGVfcHJvdG90eXBlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvaWRsaGFy
bmVzcy9JZGxJbnRlcmZhY2UvdGVzdF9pbW11dGFibGVfcHJvdG90eXBlLmh0bWwKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDdhNWIxNzc1MWJmLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rl
c3RzL2Z1bmN0aW9uYWwvaWRsaGFybmVzcy9JZGxJbnRlcmZhY2UvdGVzdF9pbW11dGFibGVfcHJv
dG90eXBlLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwyOTcgKzAsMCBAQAotPCFET0NUWVBFIEhU
TUw+Ci08aHRtbD4KLTxoZWFkPgotICA8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Ci0gIDxtZXRhIG5h
bWU9InZhcmlhbnQiIGNvbnRlbnQ9IiI+Ci0gIDxtZXRhIG5hbWU9InZhcmlhbnQiIGNvbnRlbnQ9
Ij9rZWVwLXByb21pc2UiPgotICA8dGl0bGU+aWRsaGFybmVzczogSW1tdXRhYmxlIHByb3RvdHlw
ZXM8L3RpdGxlPgotICA8c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vdmFyaWFudHMuanMiPjwvc2Ny
aXB0PgotICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
Ci0gIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Njcmlw
dD4KLSAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvV2ViSURMUGFyc2VyLmpzIj48L3NjcmlwdD4K
LSAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvaWRsaGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08L2hl
YWQ+Ci08Ym9keT4KLTxzY3JpcHQ+Ci0idXNlIHN0cmljdHQiOwotCi1PYmplY3QuZGVmaW5lUHJv
cGVydHkod2luZG93LCAiRm9vIiwgewotICAgIGVudW1lcmFibGU6IGZhbHNlLAotICAgIHdyaXRh
YmxlOiB0cnVlLAotICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSwKLSAgICB2YWx1ZTogZnVuY3Rpb24g
Rm9vKCkge30KLSAgfSk7Ci1PYmplY3QuZGVmaW5lUHJvcGVydHkod2luZG93LkZvbywgInByb3Rv
dHlwZSIsIHsKLSAgICB3cml0YWJsZTogZmFsc2UsCi0gICAgdmFsdWU6IHdpbmRvdy5Gb28ucHJv
dG90eXBlCi0gIH0pOwotRm9vLnByb3RvdHlwZVtTeW1ib2wudG9TdHJpbmdUYWddID0gIkZvbyI7
Ci0KLXZhciBpZGxBcnJheSA9IG5ldyBJZGxBcnJheSgpOwotaWRsQXJyYXkuYWRkX3VudGVzdGVk
X2lkbHMoImludGVyZmFjZSBFdmVudFRhcmdldCB7fTsiKTsKLWlkbEFycmF5LmFkZF9pZGxzKAot
ICAgICJbR2xvYmFsPVdpbmRvdywgRXhwb3NlZD1XaW5kb3ddXG4iICsKLSAgICAiaW50ZXJmYWNl
IFdpbmRvdyA6IEV2ZW50VGFyZ2V0IHt9O1xuIiArCi0KLSAgICAiW0dsb2JhbD1XaW5kb3csIEV4
cG9zZWQ9V2luZG93LCBDb25zdHJ1Y3RvcigpXVxuIiArCi0gICAgImludGVyZmFjZSBGb28ge307
IgotICApOwotaWRsQXJyYXkuYWRkX29iamVjdHMoewotICBGb286IFsibmV3IEZvbygpIl0sCi0g
IFdpbmRvdzogWyJ3aW5kb3ciXQotfSk7Ci1pZGxBcnJheS50ZXN0KCk7Ci08L3NjcmlwdD4KLTxz
Y3JpcHQgdHlwZT0idGV4dC9qc29uIiBpZD0iZXhwZWN0ZWQiPgotewotICAgICJzdW1tYXJpemVk
X3N0YXR1cyI6IHsKLSAgICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgICAic3RhdHVzX3N0
cmluZyI6ICJPSyIKLSAgICB9LAotICAgICJzdW1tYXJpemVkX3Rlc3RzIjogWwotICAgICAgICB7
Ci0gICAgICAgICAgICAibmFtZSI6ICJGb28gaW50ZXJmYWNlIG9iamVjdCBsZW5ndGgiLAotICAg
ICAgICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAgICAgICAicHJvcGVydGll
cyI6IHt9LAotICAgICAgICAgICAgIm1lc3NhZ2UiOiBudWxsCi0gICAgICAgIH0sCi0gICAgICAg
IHsKLSAgICAgICAgICAgICJuYW1lIjogIkZvbyBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUiLAotICAg
ICAgICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAgICAgICAicHJvcGVydGll
cyI6IHt9LAotICAgICAgICAgICAgIm1lc3NhZ2UiOiBudWxsCi0gICAgICAgIH0sCi0gICAgICAg
IHsKLSAgICAgICAgICAgICJuYW1lIjogIkZvbyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJv
cGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IiwKLSAgICAgICAgICAgICJzdGF0dXNfc3RyaW5n
IjogIlBBU1MiLAotICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICAgICAgICJt
ZXNzYWdlIjogbnVsbAotICAgICAgICB9LAotICAgICAgICB7Ci0gICAgICAgICAgICAibmFtZSI6
ICJGb28gaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHBy
b3RvdHlwZSBvYmplY3QiLAotICAgICAgICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0g
ICAgICAgICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgICAgICAgIm1lc3NhZ2UiOiBudWxs
Ci0gICAgICAgIH0sCi0gICAgICAgIHsKLSAgICAgICAgICAgICJuYW1lIjogIkZvbyBpbnRlcmZh
Y2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVj
dCdzIFwiY29uc3RydWN0b3JcIiBwcm9wZXJ0eSIsCi0gICAgICAgICAgICAic3RhdHVzX3N0cmlu
ZyI6ICJQQVNTIiwKLSAgICAgICAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAgICAgICAi
bWVzc2FnZSI6IG51bGwKLSAgICAgICAgfSwKLSAgICAgICAgewotICAgICAgICAgICAgIm5hbWUi
OiAiRm9vIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBw
cm90b3R5cGUgb2JqZWN0J3MgQEB1bnNjb3BhYmxlcyBwcm9wZXJ0eSIsCi0gICAgICAgICAgICAi
c3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0g
ICAgICAgICAgICAibWVzc2FnZSI6IG51bGwKLSAgICAgICAgfSwKLSAgICAgICAgewotICAgICAg
ICAgICAgIm5hbWUiOiAiRm9vIGludGVyZmFjZTogaW50ZXJuYWwgW1tTZXRQcm90b3R5cGVPZl1d
IG1ldGhvZCBvZiBnbG9iYWwgcGxhdGZvcm0gb2JqZWN0IC0gc2V0dGluZyB0byBhIG5ldyB2YWx1
ZSB2aWEgT2JqZWN0LnNldFByb3RvdHlwZU9mIHNob3VsZCB0aHJvdyBhIFR5cGVFcnJvciIsCi0g
ICAgICAgICAgICAic3RhdHVzX3N0cmluZyI6ICJGQUlMIiwKLSAgICAgICAgICAgICJwcm9wZXJ0
aWVzIjoge30sCi0gICAgICAgICAgICAibWVzc2FnZSI6ICJhc3NlcnRfdGhyb3dzOiBmdW5jdGlv
biBcImZ1bmN0aW9uKCkge1xuICAgICAgICAgICAgT2JqZWN0LnNldFByb3RvdHlwZU9mKG9iaiwg
bmV3VmFsdWUpO1xuICAgICAgICB9XCIgZGlkIG5vdCB0aHJvdyIKLSAgICAgICAgfSwKLSAgICAg
ICAgewotICAgICAgICAgICAgIm5hbWUiOiAiRm9vIGludGVyZmFjZTogaW50ZXJuYWwgW1tTZXRQ
cm90b3R5cGVPZl1dIG1ldGhvZCBvZiBnbG9iYWwgcGxhdGZvcm0gb2JqZWN0IC0gc2V0dGluZyB0
byBhIG5ldyB2YWx1ZSB2aWEgUmVmbGVjdC5zZXRQcm90b3R5cGVPZiBzaG91bGQgcmV0dXJuIGZh
bHNlIiwKLSAgICAgICAgICAgICJzdGF0dXNfc3RyaW5nIjogIkZBSUwiLAotICAgICAgICAgICAg
InByb3BlcnRpZXMiOiB7fSwKLSAgICAgICAgICAgICJtZXNzYWdlIjogImFzc2VydF9mYWxzZTog
ZXhwZWN0ZWQgZmFsc2UgZ290IHRydWUiCi0gICAgICAgIH0sCi0gICAgICAgIHsKLSAgICAgICAg
ICAgICJuYW1lIjogIkZvbyBpbnRlcmZhY2U6IGludGVybmFsIFtbU2V0UHJvdG90eXBlT2ZdXSBt
ZXRob2Qgb2YgZ2xvYmFsIHBsYXRmb3JtIG9iamVjdCAtIHNldHRpbmcgdG8gYSBuZXcgdmFsdWUg
dmlhIF9fcHJvdG9fXyBzaG91bGQgdGhyb3cgYSBUeXBlRXJyb3IiLAotICAgICAgICAgICAgInN0
YXR1c19zdHJpbmciOiAiRkFJTCIsCi0gICAgICAgICAgICAicHJvcGVydGllcyI6IHt9LAotICAg
ICAgICAgICAgIm1lc3NhZ2UiOiAiYXNzZXJ0X3Rocm93czogZnVuY3Rpb24gXCJmdW5jdGlvbigp
IHtcbiAgICAgICAgICAgIG9iai5fX3Byb3RvX18gPSBuZXdWYWx1ZTtcbiAgICAgICAgfVwiIGRp
ZCBub3QgdGhyb3ciCi0gICAgICAgIH0sCi0gICAgICAgIHsKLSAgICAgICAgICAgICJuYW1lIjog
IkZvbyBpbnRlcmZhY2U6IGludGVybmFsIFtbU2V0UHJvdG90eXBlT2ZdXSBtZXRob2Qgb2YgZ2xv
YmFsIHBsYXRmb3JtIG9iamVjdCAtIHNldHRpbmcgdG8gaXRzIG9yaWdpbmFsIHZhbHVlIHZpYSBP
YmplY3Quc2V0UHJvdG90eXBlT2Ygc2hvdWxkIG5vdCB0aHJvdyIsCi0gICAgICAgICAgICAic3Rh
dHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAg
ICAgICAgICAibWVzc2FnZSI6IG51bGwKLSAgICAgICAgfSwKLSAgICAgICAgewotICAgICAgICAg
ICAgIm5hbWUiOiAiRm9vIGludGVyZmFjZTogaW50ZXJuYWwgW1tTZXRQcm90b3R5cGVPZl1dIG1l
dGhvZCBvZiBnbG9iYWwgcGxhdGZvcm0gb2JqZWN0IC0gc2V0dGluZyB0byBpdHMgb3JpZ2luYWwg
dmFsdWUgdmlhIFJlZmxlY3Quc2V0UHJvdG90eXBlT2Ygc2hvdWxkIHJldHVybiB0cnVlIiwKLSAg
ICAgICAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgICAgICAgInByb3BlcnRp
ZXMiOiB7fSwKLSAgICAgICAgICAgICJtZXNzYWdlIjogbnVsbAotICAgICAgICB9LAotICAgICAg
ICB7Ci0gICAgICAgICAgICAibmFtZSI6ICJGb28gaW50ZXJmYWNlOiBpbnRlcm5hbCBbW1NldFBy
b3RvdHlwZU9mXV0gbWV0aG9kIG9mIGdsb2JhbCBwbGF0Zm9ybSBvYmplY3QgLSBzZXR0aW5nIHRv
IGl0cyBvcmlnaW5hbCB2YWx1ZSB2aWEgX19wcm90b19fIHNob3VsZCBub3QgdGhyb3ciLAotICAg
ICAgICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAgICAgICAicHJvcGVydGll
cyI6IHt9LAotICAgICAgICAgICAgIm1lc3NhZ2UiOiBudWxsCi0gICAgICAgIH0sCi0gICAgICAg
IHsKLSAgICAgICAgICAgICJuYW1lIjogIkZvbyBpbnRlcmZhY2U6IGludGVybmFsIFtbU2V0UHJv
dG90eXBlT2ZdXSBtZXRob2Qgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgLSBzZXR0aW5n
IHRvIGEgbmV3IHZhbHVlIHZpYSBPYmplY3Quc2V0UHJvdG90eXBlT2Ygc2hvdWxkIHRocm93IGEg
VHlwZUVycm9yIiwKLSAgICAgICAgICAgICJzdGF0dXNfc3RyaW5nIjogIkZBSUwiLAotICAgICAg
ICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICAgICAgICJtZXNzYWdlIjogImFzc2VydF90
aHJvd3M6IGZ1bmN0aW9uIFwiZnVuY3Rpb24oKSB7XG4gICAgICAgICAgICBPYmplY3Quc2V0UHJv
dG90eXBlT2Yob2JqLCBuZXdWYWx1ZSk7XG4gICAgICAgIH1cIiBkaWQgbm90IHRocm93IgotICAg
ICAgICB9LAotICAgICAgICB7Ci0gICAgICAgICAgICAibmFtZSI6ICJGb28gaW50ZXJmYWNlOiBp
bnRlcm5hbCBbW1NldFByb3RvdHlwZU9mXV0gbWV0aG9kIG9mIGludGVyZmFjZSBwcm90b3R5cGUg
b2JqZWN0IC0gc2V0dGluZyB0byBhIG5ldyB2YWx1ZSB2aWEgUmVmbGVjdC5zZXRQcm90b3R5cGVP
ZiBzaG91bGQgcmV0dXJuIGZhbHNlIiwKLSAgICAgICAgICAgICJzdGF0dXNfc3RyaW5nIjogIkZB
SUwiLAotICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICAgICAgICJtZXNzYWdl
IjogImFzc2VydF9mYWxzZTogZXhwZWN0ZWQgZmFsc2UgZ290IHRydWUiCi0gICAgICAgIH0sCi0g
ICAgICAgIHsKLSAgICAgICAgICAgICJuYW1lIjogIkZvbyBpbnRlcmZhY2U6IGludGVybmFsIFtb
U2V0UHJvdG90eXBlT2ZdXSBtZXRob2Qgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgLSBz
ZXR0aW5nIHRvIGEgbmV3IHZhbHVlIHZpYSBfX3Byb3RvX18gc2hvdWxkIHRocm93IGEgVHlwZUVy
cm9yIiwKLSAgICAgICAgICAgICJzdGF0dXNfc3RyaW5nIjogIkZBSUwiLAotICAgICAgICAgICAg
InByb3BlcnRpZXMiOiB7fSwKLSAgICAgICAgICAgICJtZXNzYWdlIjogImFzc2VydF90aHJvd3M6
IGZ1bmN0aW9uIFwiZnVuY3Rpb24oKSB7XG4gICAgICAgICAgICBvYmouX19wcm90b19fID0gbmV3
VmFsdWU7XG4gICAgICAgIH1cIiBkaWQgbm90IHRocm93IgotICAgICAgICB9LAotICAgICAgICB7
Ci0gICAgICAgICAgICAibmFtZSI6ICJGb28gaW50ZXJmYWNlOiBpbnRlcm5hbCBbW1NldFByb3Rv
dHlwZU9mXV0gbWV0aG9kIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IC0gc2V0dGluZyB0
byBpdHMgb3JpZ2luYWwgdmFsdWUgdmlhIE9iamVjdC5zZXRQcm90b3R5cGVPZiBzaG91bGQgbm90
IHRocm93IiwKLSAgICAgICAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgICAg
ICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICAgICAgICJtZXNzYWdlIjogbnVsbAotICAgICAg
ICB9LAotICAgICAgICB7Ci0gICAgICAgICAgICAibmFtZSI6ICJGb28gaW50ZXJmYWNlOiBpbnRl
cm5hbCBbW1NldFByb3RvdHlwZU9mXV0gbWV0aG9kIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2Jq
ZWN0IC0gc2V0dGluZyB0byBpdHMgb3JpZ2luYWwgdmFsdWUgdmlhIFJlZmxlY3Quc2V0UHJvdG90
eXBlT2Ygc2hvdWxkIHJldHVybiB0cnVlIiwKLSAgICAgICAgICAgICJzdGF0dXNfc3RyaW5nIjog
IlBBU1MiLAotICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICAgICAgICJtZXNz
YWdlIjogbnVsbAotICAgICAgICB9LAotICAgICAgICB7Ci0gICAgICAgICAgICAibmFtZSI6ICJG
b28gaW50ZXJmYWNlOiBpbnRlcm5hbCBbW1NldFByb3RvdHlwZU9mXV0gbWV0aG9kIG9mIGludGVy
ZmFjZSBwcm90b3R5cGUgb2JqZWN0IC0gc2V0dGluZyB0byBpdHMgb3JpZ2luYWwgdmFsdWUgdmlh
IF9fcHJvdG9fXyBzaG91bGQgbm90IHRocm93IiwKLSAgICAgICAgICAgICJzdGF0dXNfc3RyaW5n
IjogIlBBU1MiLAotICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICAgICAgICJt
ZXNzYWdlIjogbnVsbAotICAgICAgICB9LAotICAgICAgICB7Ci0gICAgICAgICAgICAibmFtZSI6
ICJGb28gbXVzdCBiZSBwcmltYXJ5IGludGVyZmFjZSBvZiBuZXcgRm9vKCkiLAotICAgICAgICAg
ICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAgICAgICAicHJvcGVydGllcyI6IHt9
LAotICAgICAgICAgICAgIm1lc3NhZ2UiOiBudWxsCi0gICAgICAgIH0sCi0gICAgICAgIHsKLSAg
ICAgICAgICAgICJuYW1lIjogIlN0cmluZ2lmaWNhdGlvbiBvZiBuZXcgRm9vKCkiLAotICAgICAg
ICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAgICAgICAicHJvcGVydGllcyI6
IHt9LAotICAgICAgICAgICAgIm1lc3NhZ2UiOiBudWxsCi0gICAgICAgIH0sCi0gICAgICAgIHsK
LSAgICAgICAgICAgICJuYW1lIjogIlN0cmluZ2lmaWNhdGlvbiBvZiB3aW5kb3ciLAotICAgICAg
ICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAgICAgICAicHJvcGVydGllcyI6
IHt9LAotICAgICAgICAgICAgIm1lc3NhZ2UiOiBudWxsCi0gICAgICAgIH0sCi0gICAgICAgIHsK
LSAgICAgICAgICAgICJuYW1lIjogIldpbmRvdyBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aCIsCi0g
ICAgICAgICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICAgICAgICJwcm9wZXJ0
aWVzIjoge30sCi0gICAgICAgICAgICAibWVzc2FnZSI6IG51bGwKLSAgICAgICAgfSwKLSAgICAg
ICAgewotICAgICAgICAgICAgIm5hbWUiOiAiV2luZG93IGludGVyZmFjZSBvYmplY3QgbmFtZSIs
Ci0gICAgICAgICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICAgICAgICJwcm9w
ZXJ0aWVzIjoge30sCi0gICAgICAgICAgICAibWVzc2FnZSI6IG51bGwKLSAgICAgICAgfSwKLSAg
ICAgICAgewotICAgICAgICAgICAgIm5hbWUiOiAiV2luZG93IGludGVyZmFjZTogZXhpc3RlbmNl
IGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QiLAotICAgICAgICAgICAgInN0YXR1
c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAgICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAg
ICAgICAgIm1lc3NhZ2UiOiBudWxsCi0gICAgICAgIH0sCi0gICAgICAgIHsKLSAgICAgICAgICAg
ICJuYW1lIjogIldpbmRvdyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBp
bnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCIsCi0gICAgICAgICAgICAic3RhdHVzX3N0cmluZyI6
ICJQQVNTIiwKLSAgICAgICAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAgICAgICAibWVz
c2FnZSI6IG51bGwKLSAgICAgICAgfSwKLSAgICAgICAgewotICAgICAgICAgICAgIm5hbWUiOiAi
V2luZG93IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBw
cm90b3R5cGUgb2JqZWN0J3MgXCJjb25zdHJ1Y3RvclwiIHByb3BlcnR5IiwKLSAgICAgICAgICAg
ICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7fSwK
LSAgICAgICAgICAgICJtZXNzYWdlIjogbnVsbAotICAgICAgICB9LAotICAgICAgICB7Ci0gICAg
ICAgICAgICAibmFtZSI6ICJXaW5kb3cgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRp
ZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyBAQHVuc2NvcGFibGVzIHByb3BlcnR5
IiwKLSAgICAgICAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgICAgICAgInBy
b3BlcnRpZXMiOiB7fSwKLSAgICAgICAgICAgICJtZXNzYWdlIjogbnVsbAotICAgICAgICB9LAot
ICAgICAgICB7Ci0gICAgICAgICAgICAibmFtZSI6ICJXaW5kb3cgaW50ZXJmYWNlOiBpbnRlcm5h
bCBbW1NldFByb3RvdHlwZU9mXV0gbWV0aG9kIG9mIGdsb2JhbCBwbGF0Zm9ybSBvYmplY3QgLSBz
ZXR0aW5nIHRvIGEgbmV3IHZhbHVlIHZpYSBPYmplY3Quc2V0UHJvdG90eXBlT2Ygc2hvdWxkIHRo
cm93IGEgVHlwZUVycm9yIiwKLSAgICAgICAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAot
ICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICAgICAgICJtZXNzYWdlIjogbnVs
bAotICAgICAgICB9LAotICAgICAgICB7Ci0gICAgICAgICAgICAibmFtZSI6ICJXaW5kb3cgaW50
ZXJmYWNlOiBpbnRlcm5hbCBbW1NldFByb3RvdHlwZU9mXV0gbWV0aG9kIG9mIGdsb2JhbCBwbGF0
Zm9ybSBvYmplY3QgLSBzZXR0aW5nIHRvIGEgbmV3IHZhbHVlIHZpYSBSZWZsZWN0LnNldFByb3Rv
dHlwZU9mIHNob3VsZCByZXR1cm4gZmFsc2UiLAotICAgICAgICAgICAgInN0YXR1c19zdHJpbmci
OiAiUEFTUyIsCi0gICAgICAgICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgICAgICAgIm1l
c3NhZ2UiOiBudWxsCi0gICAgICAgIH0sCi0gICAgICAgIHsKLSAgICAgICAgICAgICJuYW1lIjog
IldpbmRvdyBpbnRlcmZhY2U6IGludGVybmFsIFtbU2V0UHJvdG90eXBlT2ZdXSBtZXRob2Qgb2Yg
Z2xvYmFsIHBsYXRmb3JtIG9iamVjdCAtIHNldHRpbmcgdG8gYSBuZXcgdmFsdWUgdmlhIF9fcHJv
dG9fXyBzaG91bGQgdGhyb3cgYSBUeXBlRXJyb3IiLAotICAgICAgICAgICAgInN0YXR1c19zdHJp
bmciOiAiUEFTUyIsCi0gICAgICAgICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgICAgICAg
Im1lc3NhZ2UiOiBudWxsCi0gICAgICAgIH0sCi0gICAgICAgIHsKLSAgICAgICAgICAgICJuYW1l
IjogIldpbmRvdyBpbnRlcmZhY2U6IGludGVybmFsIFtbU2V0UHJvdG90eXBlT2ZdXSBtZXRob2Qg
b2YgZ2xvYmFsIHBsYXRmb3JtIG9iamVjdCAtIHNldHRpbmcgdG8gaXRzIG9yaWdpbmFsIHZhbHVl
IHZpYSBPYmplY3Quc2V0UHJvdG90eXBlT2Ygc2hvdWxkIG5vdCB0aHJvdyIsCi0gICAgICAgICAg
ICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICAgICAgICJwcm9wZXJ0aWVzIjoge30s
Ci0gICAgICAgICAgICAibWVzc2FnZSI6IG51bGwKLSAgICAgICAgfSwKLSAgICAgICAgewotICAg
ICAgICAgICAgIm5hbWUiOiAiV2luZG93IGludGVyZmFjZTogaW50ZXJuYWwgW1tTZXRQcm90b3R5
cGVPZl1dIG1ldGhvZCBvZiBnbG9iYWwgcGxhdGZvcm0gb2JqZWN0IC0gc2V0dGluZyB0byBpdHMg
b3JpZ2luYWwgdmFsdWUgdmlhIFJlZmxlY3Quc2V0UHJvdG90eXBlT2Ygc2hvdWxkIHJldHVybiB0
cnVlIiwKLSAgICAgICAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgICAgICAg
InByb3BlcnRpZXMiOiB7fSwKLSAgICAgICAgICAgICJtZXNzYWdlIjogbnVsbAotICAgICAgICB9
LAotICAgICAgICB7Ci0gICAgICAgICAgICAibmFtZSI6ICJXaW5kb3cgaW50ZXJmYWNlOiBpbnRl
cm5hbCBbW1NldFByb3RvdHlwZU9mXV0gbWV0aG9kIG9mIGdsb2JhbCBwbGF0Zm9ybSBvYmplY3Qg
LSBzZXR0aW5nIHRvIGl0cyBvcmlnaW5hbCB2YWx1ZSB2aWEgX19wcm90b19fIHNob3VsZCBub3Qg
dGhyb3ciLAotICAgICAgICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAgICAg
ICAicHJvcGVydGllcyI6IHt9LAotICAgICAgICAgICAgIm1lc3NhZ2UiOiBudWxsCi0gICAgICAg
IH0sCi0gICAgICAgIHsKLSAgICAgICAgICAgICJuYW1lIjogIldpbmRvdyBpbnRlcmZhY2U6IGlu
dGVybmFsIFtbU2V0UHJvdG90eXBlT2ZdXSBtZXRob2Qgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBv
YmplY3QgLSBzZXR0aW5nIHRvIGEgbmV3IHZhbHVlIHZpYSBPYmplY3Quc2V0UHJvdG90eXBlT2Yg
c2hvdWxkIHRocm93IGEgVHlwZUVycm9yIiwKLSAgICAgICAgICAgICJzdGF0dXNfc3RyaW5nIjog
IlBBU1MiLAotICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICAgICAgICJtZXNz
YWdlIjogbnVsbAotICAgICAgICB9LAotICAgICAgICB7Ci0gICAgICAgICAgICAibmFtZSI6ICJX
aW5kb3cgaW50ZXJmYWNlOiBpbnRlcm5hbCBbW1NldFByb3RvdHlwZU9mXV0gbWV0aG9kIG9mIGlu
dGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IC0gc2V0dGluZyB0byBhIG5ldyB2YWx1ZSB2aWEgUmVm
bGVjdC5zZXRQcm90b3R5cGVPZiBzaG91bGQgcmV0dXJuIGZhbHNlIiwKLSAgICAgICAgICAgICJz
dGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAg
ICAgICAgICAgICJtZXNzYWdlIjogbnVsbAotICAgICAgICB9LAotICAgICAgICB7Ci0gICAgICAg
ICAgICAibmFtZSI6ICJXaW5kb3cgaW50ZXJmYWNlOiBpbnRlcm5hbCBbW1NldFByb3RvdHlwZU9m
XV0gbWV0aG9kIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IC0gc2V0dGluZyB0byBhIG5l
dyB2YWx1ZSB2aWEgX19wcm90b19fIHNob3VsZCB0aHJvdyBhIFR5cGVFcnJvciIsCi0gICAgICAg
ICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICAgICAgICJwcm9wZXJ0aWVzIjog
e30sCi0gICAgICAgICAgICAibWVzc2FnZSI6IG51bGwKLSAgICAgICAgfSwKLSAgICAgICAgewot
ICAgICAgICAgICAgIm5hbWUiOiAiV2luZG93IGludGVyZmFjZTogaW50ZXJuYWwgW1tTZXRQcm90
b3R5cGVPZl1dIG1ldGhvZCBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCAtIHNldHRpbmcg
dG8gaXRzIG9yaWdpbmFsIHZhbHVlIHZpYSBPYmplY3Quc2V0UHJvdG90eXBlT2Ygc2hvdWxkIG5v
dCB0aHJvdyIsCi0gICAgICAgICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICAg
ICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAgICAgICAibWVzc2FnZSI6IG51bGwKLSAgICAg
ICAgfSwKLSAgICAgICAgewotICAgICAgICAgICAgIm5hbWUiOiAiV2luZG93IGludGVyZmFjZTog
aW50ZXJuYWwgW1tTZXRQcm90b3R5cGVPZl1dIG1ldGhvZCBvZiBpbnRlcmZhY2UgcHJvdG90eXBl
IG9iamVjdCAtIHNldHRpbmcgdG8gaXRzIG9yaWdpbmFsIHZhbHVlIHZpYSBSZWZsZWN0LnNldFBy
b3RvdHlwZU9mIHNob3VsZCByZXR1cm4gdHJ1ZSIsCi0gICAgICAgICAgICAic3RhdHVzX3N0cmlu
ZyI6ICJQQVNTIiwKLSAgICAgICAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAgICAgICAi
bWVzc2FnZSI6IG51bGwKLSAgICAgICAgfSwKLSAgICAgICAgewotICAgICAgICAgICAgIm5hbWUi
OiAiV2luZG93IGludGVyZmFjZTogaW50ZXJuYWwgW1tTZXRQcm90b3R5cGVPZl1dIG1ldGhvZCBv
ZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCAtIHNldHRpbmcgdG8gaXRzIG9yaWdpbmFsIHZh
bHVlIHZpYSBfX3Byb3RvX18gc2hvdWxkIG5vdCB0aHJvdyIsCi0gICAgICAgICAgICAic3RhdHVz
X3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAg
ICAgICAibWVzc2FnZSI6IG51bGwKLSAgICAgICAgfSwKLSAgICAgICAgewotICAgICAgICAgICAg
Im5hbWUiOiAiV2luZG93IG11c3QgYmUgcHJpbWFyeSBpbnRlcmZhY2Ugb2Ygd2luZG93IiwKLSAg
ICAgICAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgICAgICAgInByb3BlcnRp
ZXMiOiB7fSwKLSAgICAgICAgICAgICJtZXNzYWdlIjogbnVsbAotICAgICAgICB9Ci0gICAgXSwK
LSAgICAidHlwZSI6ICJjb21wbGV0ZSIKLX0KLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFsL2lkbGhhcm5lc3MvSWRsSW50ZXJmYWNlL3Rl
c3RfaW50ZXJmYWNlX21peGluLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvaWRsaGFybmVzcy9J
ZGxJbnRlcmZhY2UvdGVzdF9pbnRlcmZhY2VfbWl4aW4uaHRtbApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggYTlhOTA5NGZlMzAuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rp
b25hbC9pZGxoYXJuZXNzL0lkbEludGVyZmFjZS90ZXN0X2ludGVyZmFjZV9taXhpbi5odG1sCisr
KyAvZGV2L251bGwKQEAgLTEsODMgKzAsMCBAQAotPCFET0NUWVBFIEhUTUw+Ci08aHRtbD4KLQot
PGhlYWQ+Ci0gIDxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KLSAgPG1ldGEgbmFtZT0idmFyaWFudCIg
Y29udGVudD0iIj4KLSAgPHRpdGxlPmlkbGhhcm5lc3M6IGludGVyZmFjZSBtaXhpbnM8L3RpdGxl
PgotICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0L3ZhcmlhbnRzLmpzIj48L3NjcmlwdD4K
LSAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotICA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci0g
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL1dlYklETFBhcnNlci5qcyI+PC9zY3JpcHQ+Ci0gIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL2lkbGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPC9oZWFkPgot
Ci08Ym9keT4KLSAgPHA+VmVyaWZ5IHRoZSBzZXJpZXMgb2Ygc3ViLXRlc3RzIHRoYXQgYXJlIGV4
ZWN1dGVkIGZvciAiaW50ZXJmYWNlIG1peGluIiBvYmplY3RzLjwvcD4KLSAgPHNjcmlwdD4KLSAg
ICAidXNlIHN0cmljdCI7Ci0KLSAgICAvLyBObyBvcmlnaW5hbCBleGlzdGVuY2UKLSAgICAoKCkg
PT4gewotICAgICAgY29uc3QgaWRsQXJyYXkgPSBuZXcgSWRsQXJyYXkoKTsKLSAgICAgIGlkbEFy
cmF5LmFkZF9pZGxzKCdwYXJ0aWFsIGludGVyZmFjZSBtaXhpbiBBIHt9OycpOwotICAgICAgaWRs
QXJyYXkudGVzdCgpOwotICAgIH0pKCk7Ci0KLSAgICAvLyBOYW1lIGNsYXNoIChwYXJ0aWFscykK
LSAgICAoKCkgPT4gewotICAgICAgY29uc3QgaWRsQXJyYXkgPSBuZXcgSWRsQXJyYXkoKTsKLSAg
ICAgIGlkbEFycmF5LmFkZF9pZGxzKGAKLSAgICAgICAgaW50ZXJmYWNlIG1peGluIEIgeyBhdHRy
aWJ1dGUgYW55IEY7IH07Ci0gICAgICAgIHBhcnRpYWwgaW50ZXJmYWNlIG1peGluIEIgeyBhdHRy
aWJ1dGUgYW55IEY7IH07YCk7Ci0gICAgICBpZGxBcnJheS5jb2xsYXBzZV9wYXJ0aWFscygpOwot
ICAgIH0pKCk7Ci0KLSAgICAvLyBOYW1lIGNsYXNoIChkaWZmZXJlbnQgbWl4aW5zKQotICAgICgo
KSA9PiB7Ci0gICAgICBjb25zdCBpZGxBcnJheSA9IG5ldyBJZGxBcnJheSgpOwotICAgICAgaWRs
QXJyYXkuYWRkX3VudGVzdGVkX2lkbHMoYAotICAgICAgICBpbnRlcmZhY2UgbWl4aW4gQyB7IGF0
dHJpYnV0ZSBhbnkgRjsgfTsKLSAgICAgICAgaW50ZXJmYWNlIEQgeyBhdHRyaWJ1dGUgYW55IEY7
IH07Ci0gICAgICAgIEQgaW5jbHVkZXMgQztgKTsKLSAgICAgIGlkbEFycmF5LnRlc3QoKTsKLSAg
ICB9KSgpOwotICA8L3NjcmlwdD4KLSAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2pzb24iIGlkPSJleHBl
Y3RlZCI+Ci17Ci0gICJzdW1tYXJpemVkX3N0YXR1cyI6IHsKLSAgICAic3RhdHVzX3N0cmluZyI6
ICJPSyIsCi0gICAgIm1lc3NhZ2UiOiBudWxsCi0gIH0sCi0gICJzdW1tYXJpemVkX3Rlc3RzIjog
WwotICAgIHsKLSAgICAgICJuYW1lIjogIlBhcnRpYWwgaW50ZXJmYWNlIG1peGluIEE6IG9yaWdp
bmFsIGludGVyZmFjZSBtaXhpbiBkZWZpbmVkIiwKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIkZB
SUwiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogImFzc2VydF90
cnVlOiBPcmlnaW5hbCBpbnRlcmZhY2UgbWl4aW4gc2hvdWxkIGJlIGRlZmluZWQgZXhwZWN0ZWQg
dHJ1ZSBnb3QgZmFsc2UiCi0gICAgfSwKLSAgICB7Ci0gICAgICAibmFtZSI6ICJQYXJ0aWFsIGlu
dGVyZmFjZSBtaXhpbiBCOiBvcmlnaW5hbCBpbnRlcmZhY2UgbWl4aW4gZGVmaW5lZCIsCi0gICAg
ICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAg
ICAibWVzc2FnZSI6IG51bGwKLSAgICB9LAotICAgIHsKLSAgICAgICJuYW1lIjogIlBhcnRpYWwg
aW50ZXJmYWNlIG1peGluIEI6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlIiwKLSAgICAgICJzdGF0
dXNfc3RyaW5nIjogIkZBSUwiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNz
YWdlIjogImFzc2VydF90cnVlOiBtZW1iZXIgRiBpcyB1bmlxdWUgZXhwZWN0ZWQgdHJ1ZSBnb3Qg
ZmFsc2UiCi0gICAgfSwKLSAgICB7Ci0gICAgICAibmFtZSI6ICJEIGluY2x1ZGVzIEM6IG1lbWJl
ciBuYW1lcyBhcmUgdW5pcXVlIiwKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIkZBSUwiLAotICAg
ICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogImFzc2VydF90cnVlOiBtZW1i
ZXIgRiBpcyB1bmlxdWUgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UiCi0gICAgfQotICBdLAotICAi
dHlwZSI6ICJjb21wbGV0ZSIKLX0KLTwvc2NyaXB0PgotPC9ib2R5PgotCi08L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvaWRsaGFybmVzcy9JZGxJbnRlcmZhY2UvdGVzdF9w
YXJ0aWFsX2ludGVyZmFjZV9vZi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFsL2lkbGhhcm5lc3Mv
SWRsSW50ZXJmYWNlL3Rlc3RfcGFydGlhbF9pbnRlcmZhY2Vfb2YuaHRtbApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggZDBlODNhZjk2NjQuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMv
ZnVuY3Rpb25hbC9pZGxoYXJuZXNzL0lkbEludGVyZmFjZS90ZXN0X3BhcnRpYWxfaW50ZXJmYWNl
X29mLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxODUgKzAsMCBAQAotPCFET0NUWVBFIEhUTUw+
Ci08aHRtbD4KLQotPGhlYWQ+Ci0gIDxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KLSAgPG1ldGEgbmFt
ZT0idmFyaWFudCIgY29udGVudD0iIj4KLSAgPHRpdGxlPmlkbGhhcm5lc3M6IFBhcnRpYWwgaW50
ZXJmYWNlPC90aXRsZT4KLSAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdC92YXJpYW50cy5q
cyI+PC9zY3JpcHQ+Ci0gIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4KLSAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgotICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9XZWJJRExQYXJzZXIuanMiPjwv
c2NyaXB0PgotICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9pZGxoYXJuZXNzLmpzIj48L3Njcmlw
dD4KLTwvaGVhZD4KLQotPGJvZHk+Ci0gIDxwPlZlcmlmeSB0aGUgc2VyaWVzIG9mIHN1Yi10ZXN0
cyB0aGF0IGFyZSBleGVjdXRlZCBmb3IgInBhcnRpYWwiIGludGVyZmFjZSBvYmplY3RzLjwvcD4K
LSAgPHNjcmlwdD4KLSAgICAidXNlIHN0cmljdCI7Ci0KLSAgICAvLyBObyBvcmlnaW5hbCBleGlz
dGVuY2UKLSAgICAoKCkgPT4gewotICAgICAgY29uc3QgaWRsQXJyYXkgPSBuZXcgSWRsQXJyYXko
KTsKLSAgICAgIGlkbEFycmF5LmFkZF9pZGxzKCdwYXJ0aWFsIGludGVyZmFjZSBBIHt9OycpOwot
ICAgICAgaWRsQXJyYXkudGVzdCgpOwotICAgIH0pKCk7Ci0KLSAgICAvLyBWYWxpZCBleHBvc3Vy
ZSAoTm90ZTogV29ya2VyIC0+IHtTaGFyZWQsRGVkaWNhdGVkLFNlcnZpY2V9V29ya2VyKQotICAg
ICgoKSA9PiB7Ci0gICAgICBjb25zdCBpZGxBcnJheSA9IG5ldyBJZGxBcnJheSgpOwotICAgICAg
aWRsQXJyYXkuYWRkX3VudGVzdGVkX2lkbHMoYAotICAgICAgICBbRXhwb3NlZD0oV29ya2VyKV0K
LSAgICAgICAgaW50ZXJmYWNlIEIge307Ci0KLSAgICAgICAgW0V4cG9zZWQ9KERlZGljYXRlZFdv
cmtlciwgU2VydmljZVdvcmtlciwgU2hhcmVkV29ya2VyKV0KLSAgICAgICAgaW50ZXJmYWNlIEMg
e307YCk7Ci0gICAgICBpZGxBcnJheS5hZGRfaWRscyhgCi0gICAgICAgIFtFeHBvc2VkPShEZWRp
Y2F0ZWRXb3JrZXIsIFNlcnZpY2VXb3JrZXIsIFNoYXJlZFdvcmtlcildCi0gICAgICAgIHBhcnRp
YWwgaW50ZXJmYWNlIEIge307Ci0KLSAgICAgICAgW0V4cG9zZWQ9KFdvcmtlcildCi0gICAgICAg
IHBhcnRpYWwgaW50ZXJmYWNlIEMge307YCk7Ci0gICAgICBpZGxBcnJheS5jb2xsYXBzZV9wYXJ0
aWFscygpOwotICAgIH0pKCk7Ci0KLSAgICAvLyBJbnZhbGlkIGV4cG9zdXJlCi0gICAgKCgpID0+
IHsKLSAgICAgIGNvbnN0IGlkbEFycmF5ID0gbmV3IElkbEFycmF5KCk7Ci0gICAgICBpZGxBcnJh
eS5hZGRfdW50ZXN0ZWRfaWRscyhgCi0gICAgICAgIFtFeHBvc2VkPShXaW5kb3csIFNlcnZpY2VX
b3JrZXIpXQotICAgICAgICBpbnRlcmZhY2UgRCB7fTtgKTsKLSAgICAgIGlkbEFycmF5LmFkZF9p
ZGxzKGAKLSAgICAgICAgW0V4cG9zZWQ9KERlZGljYXRlZFdvcmtlcildCi0gICAgICAgIHBhcnRp
YWwgaW50ZXJmYWNlIEQge307YCk7Ci0gICAgICBpZGxBcnJheS5jb2xsYXBzZV9wYXJ0aWFscygp
OwotICAgIH0pKCk7Ci0KLSAgICAvLyBPcmlnaW5hbCBpcyBhIG5hbWVzcGFjZSwgbm90IGFuIGlu
dGVyZmFjZS4KLSAgICAoKCkgPT4gewotICAgICAgY29uc3QgaWRsQXJyYXkgPSBuZXcgSWRsQXJy
YXkoKTsKLSAgICAgIGlkbEFycmF5LmFkZF9pZGxzKGAKLSAgICAgICAgcGFydGlhbCBpbnRlcmZh
Y2UgRSB7fTsKLSAgICAgICAgbmFtZXNwYWNlIEUge307YCk7Ci0gICAgICBpZGxBcnJheS5jb2xs
YXBzZV9wYXJ0aWFscygpOwotICAgIH0pKCk7Ci0KLSAgICAoKCkgPT4gewotICAgICAgY29uc3Qg
aWRsQXJyYXkgPSBuZXcgSWRsQXJyYXkoKTsKLSAgICAgIGlkbEFycmF5LmFkZF9pZGxzKGAKLSAg
ICAgICAgcGFydGlhbCBpbnRlcmZhY2UgRiB7fTsKLSAgICAgICAgcGFydGlhbCBpbnRlcmZhY2Ug
bWl4aW4gR3t9OwotICAgICAgYCk7Ci0gICAgICBpZGxBcnJheS5hZGRfZGVwZW5kZW5jeV9pZGxz
KGAKLSAgICAgICAgaW50ZXJmYWNlIEYge307Ci0gICAgICAgIGludGVyZmFjZSBtaXhpbiBHIHt9
OwotICAgICAgICBpbnRlcmZhY2UgbWl4aW4gSCB7fTsKLSAgICAgICAgRiBpbmNsdWRlcyBIOwot
ICAgICAgICBJIGluY2x1ZGVzIEg7Ci0gICAgICAgIEogaW5jbHVkZXMgRzsKLSAgICAgICAgaW50
ZXJmYWNlIEsgOiBKIHt9OwotICAgICAgICBpbnRlcmZhY2UgTCA6IEYge307Ci0gICAgICBgKTsK
LSAgICAgIHRlc3QoKCkgPT4gewotICAgICAgICAvLyBGIGlzIHRlc3RlZCwgc28gSCBpcyBhIGRl
cC4KLSAgICAgICAgYXNzZXJ0X3RydWUoJ0YnIGluIGlkbEFycmF5LmluY2x1ZGVzLCAnRnMgaW5j
bHVkZXMgc2hvdWxkIGJlIHBpY2tlZCB1cCcpOwotICAgICAgICBhc3NlcnRfdHJ1ZShpZGxBcnJh
eS5pbmNsdWRlcy5GLmluY2x1ZGVzKCdIJyksICdIIHNob3VsZCBiZSBwaWNrZWQgdXAnKTsKLSAg
ICAgICAgLy8gSCBpcyBub3QgdGVzdGVkLCBzbyBJIGlzIG5vdCBhIGRlcC4KLSAgICAgICAgYXNz
ZXJ0X2ZhbHNlKCdJJyBpbiBpZGxBcnJheS5pbmNsdWRlcywgJ0kgc2hvdWxkIGJlIGlnbm9yZWQn
KTsKLSAgICAgICAgLy8gRyBpcyBhIGRlcCwgc28gSiBpcyBhIGRlcC4KLSAgICAgICAgYXNzZXJ0
X3RydWUoJ0onIGluIGlkbEFycmF5LmluY2x1ZGVzLCAnSiBzaG91bGQgYmUgcGlja2VkIHVwJyk7
Ci0gICAgICAgIC8vIEJ1dCwgSyBpc24ndCBhIGRlcCBqdXN0IGJlY2F1c2Ugb2YgSi4KLSAgICAg
ICAgYXNzZXJ0X2ZhbHNlKCdLJyBpbiBpZGxBcnJheS5tZW1iZXJzLCAnSyBzaG91bGQgYmUgaWdu
b3JlZCcpOwotICAgICAgICAvLyBMIGluaGVyaXRzIEYsIHNvIHNob3VsZCBiZSBwaWNrZWQgdXAu
Ci0gICAgICAgIGFzc2VydF9mYWxzZSgnTCcgaW4gaWRsQXJyYXkubWVtYmVycywgJ0wgc2hvdWxk
IGJlIHBpY2tlZCB1cCcpOwotICAgICAgfSwgJ3BhcnRpYWwgbWl4aW4gZGVwIGltcGxpY2F0aW9u
cycpOwotICAgIH0pKCk7Ci0KLSAgICAvLyBOYW1lIGNsYXNoIChwYXJ0aWFscykKLSAgICAoKCkg
PT4gewotICAgICAgY29uc3QgaWRsQXJyYXkgPSBuZXcgSWRsQXJyYXkoKTsKLSAgICAgIGlkbEFy
cmF5LmFkZF9pZGxzKGAKLSAgICAgICAgaW50ZXJmYWNlIE0geyBhdHRyaWJ1dGUgYW55IEE7IH07
Ci0gICAgICAgIHBhcnRpYWwgaW50ZXJmYWNlIE0geyBhdHRyaWJ1dGUgYW55IEE7IH07YCk7Ci0g
ICAgICBpZGxBcnJheS5jb2xsYXBzZV9wYXJ0aWFscygpOwotICAgIH0pKCk7Ci0gIDwvc2NyaXB0
PgotICA8c2NyaXB0IHR5cGU9InRleHQvanNvbiIgaWQ9ImV4cGVjdGVkIj4KLXsKLSAgInN1bW1h
cml6ZWRfc3RhdHVzIjogewotICAgICJzdGF0dXNfc3RyaW5nIjogIk9LIiwKLSAgICAibWVzc2Fn
ZSI6IG51bGwKLSAgfSwKLSAgInN1bW1hcml6ZWRfdGVzdHMiOiBbCi0gICAgewotICAgICAgIm5h
bWUiOiAiUGFydGlhbCBpbnRlcmZhY2UgQTogb3JpZ2luYWwgaW50ZXJmYWNlIGRlZmluZWQiLAot
ICAgICAgInN0YXR1c19zdHJpbmciOiAiRkFJTCIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAot
ICAgICAgIm1lc3NhZ2UiOiAiYXNzZXJ0X3RydWU6IE9yaWdpbmFsIGludGVyZmFjZSBzaG91bGQg
YmUgZGVmaW5lZCBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZSIKLSAgICB9LAotICAgIHsKLSAgICAg
ICJuYW1lIjogIlBhcnRpYWwgaW50ZXJmYWNlIEI6IG9yaWdpbmFsIGludGVyZmFjZSBkZWZpbmVk
IiwKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgInByb3BlcnRpZXMiOiB7
fSwKLSAgICAgICJtZXNzYWdlIjogbnVsbAotICAgIH0sCi0gICAgewotICAgICAgIm5hbWUiOiAi
UGFydGlhbCBpbnRlcmZhY2UgQjogdmFsaWQgZXhwb3N1cmUgc2V0IiwKLSAgICAgICJzdGF0dXNf
c3RyaW5nIjogIlBBU1MiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdl
IjogbnVsbAotICAgIH0sCi0gICAgewotICAgICAgIm5hbWUiOiAiUGFydGlhbCBpbnRlcmZhY2Ug
Qzogb3JpZ2luYWwgaW50ZXJmYWNlIGRlZmluZWQiLAotICAgICAgInN0YXR1c19zdHJpbmciOiAi
UEFTUyIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsCi0g
ICAgfSwKLSAgICB7Ci0gICAgICAibmFtZSI6ICJQYXJ0aWFsIGludGVyZmFjZSBDOiB2YWxpZCBl
eHBvc3VyZSBzZXQiLAotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAicHJv
cGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsCi0gICAgfSwKLSAgICB7Ci0gICAg
ICAibmFtZSI6ICJQYXJ0aWFsIGludGVyZmFjZSBEOiBvcmlnaW5hbCBpbnRlcmZhY2UgZGVmaW5l
ZCIsCi0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJwcm9wZXJ0aWVzIjog
e30sCi0gICAgICAibWVzc2FnZSI6IG51bGwKLSAgICB9LAotICAgIHsKLSAgICAgICJuYW1lIjog
IlBhcnRpYWwgaW50ZXJmYWNlIEQ6IHZhbGlkIGV4cG9zdXJlIHNldCIsCi0gICAgICAic3RhdHVz
X3N0cmluZyI6ICJGQUlMIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2Fn
ZSI6ICJQYXJ0aWFsIEQgaW50ZXJmYWNlIGlzIGV4cG9zZWQgdG8gJ0RlZGljYXRlZFdvcmtlcics
IHRoZSBvcmlnaW5hbCBpbnRlcmZhY2UgaXMgbm90LiIKLSAgICB9LAotICAgIHsKLSAgICAgICJu
YW1lIjogIlBhcnRpYWwgaW50ZXJmYWNlIEU6IG9yaWdpbmFsIGludGVyZmFjZSBkZWZpbmVkIiwK
LSAgICAgICJzdGF0dXNfc3RyaW5nIjogIkZBSUwiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwK
LSAgICAgICJtZXNzYWdlIjogImFzc2VydF90cnVlOiBPcmlnaW5hbCBFIGRlZmluaXRpb24gc2hv
dWxkIGhhdmUgdHlwZSBpbnRlcmZhY2UgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UiCi0gICAgfSwK
LSAgICB7Ci0gICAgICAibmFtZSI6ICJwYXJ0aWFsIG1peGluIGRlcCBpbXBsaWNhdGlvbnMiLAot
ICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAot
ICAgICAgIm1lc3NhZ2UiOiBudWxsCi0gICAgfSwKLSAgICB7Ci0gICAgICAibmFtZSI6ICJQYXJ0
aWFsIGludGVyZmFjZSBNOiBvcmlnaW5hbCBpbnRlcmZhY2UgZGVmaW5lZCIsCi0gICAgICAic3Rh
dHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVz
c2FnZSI6IG51bGwKLSAgICB9LAotICAgIHsKLSAgICAgICJuYW1lIjogIlBhcnRpYWwgaW50ZXJm
YWNlIE06IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlIiwKLSAgICAgICJzdGF0dXNfc3RyaW5nIjog
IkZBSUwiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogImFzc2Vy
dF90cnVlOiBtZW1iZXIgQSBpcyB1bmlxdWUgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UiCi0gICAg
fQotICBdLAotICAidHlwZSI6ICJjb21wbGV0ZSIKLX0KLTwvc2NyaXB0PgotPC9ib2R5PgotCi08
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvaWRsaGFybmVzcy9JZGxJbnRl
cmZhY2UvdGVzdF9wcmltYXJ5X2ludGVyZmFjZV9vZi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFs
L2lkbGhhcm5lc3MvSWRsSW50ZXJmYWNlL3Rlc3RfcHJpbWFyeV9pbnRlcmZhY2Vfb2YuaHRtbApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNWNlNDU3Y2FmZDQuLjAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC9pZGxoYXJuZXNzL0lkbEludGVyZmFjZS90ZXN0X3ByaW1h
cnlfaW50ZXJmYWNlX29mLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxMTIgKzAsMCBAQAotPCFE
T0NUWVBFIEhUTUw+Ci08aHRtbD4KLTxoZWFkPgotICA8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Ci0g
IDxtZXRhIG5hbWU9InZhcmlhbnQiIGNvbnRlbnQ9IiI+Ci0gIDxtZXRhIG5hbWU9InZhcmlhbnQi
IGNvbnRlbnQ9Ij9rZWVwLXByb21pc2UiPgotICA8dGl0bGU+aWRsaGFybmVzczogUHJpbWFyeSBp
bnRlcmZhY2U8L3RpdGxlPgotICA8c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vdmFyaWFudHMuanMi
Pjwvc2NyaXB0PgotICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+Ci0gIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48
L3NjcmlwdD4KLSAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvV2ViSURMUGFyc2VyLmpzIj48L3Nj
cmlwdD4KLSAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvaWRsaGFybmVzcy5qcyI+PC9zY3JpcHQ+
Ci08L2hlYWQ+Ci08Ym9keT4KLTxwPlZlcmlmeSB0aGUgc2VyaWVzIG9mIHN1Yi10ZXN0cyB0aGF0
IGFyZSBleGVjdXRlZCBmb3IgInRlc3RlZCIgaW50ZXJmYWNlCi1vYmplY3RzIGJ1dCBza2lwcGVk
IGZvciAidW50ZXN0ZWQiIGludGVyZmFjZSBvYmplY3RzLjwvcD4KLTxzY3JpcHQ+Ci0idXNlIHN0
cmljdCI7Ci0KLWZ1bmN0aW9uIEZvb1BhcmVudCgpIHt9Ci1PYmplY3QuZGVmaW5lUHJvcGVydHko
d2luZG93LCAiRm9vIiwgewotICAgIGVudW1lcmFibGU6IGZhbHNlLAotICAgIHdyaXRhYmxlOiB0
cnVlLAotICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSwKLSAgICB2YWx1ZTogZnVuY3Rpb24gRm9vKCkg
e30KLSAgfSk7Ci1PYmplY3QuZGVmaW5lUHJvcGVydHkod2luZG93LkZvbywgInByb3RvdHlwZSIs
IHsKLSAgICB3cml0YWJsZTogZmFsc2UsCi0gICAgdmFsdWU6IG5ldyBGb29QYXJlbnQoKQotICB9
KTsKLU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh3aW5kb3cuRm9vLnByb3RvdHlwZSwgImNvbnN0cnVj
dG9yIiwgewotICAgIGVudW1lcmFibGU6IGZhbHNlLAotICAgIHdyaXRhYmxlOiB0cnVlLAotICAg
IGNvbmZpZ3VyYWJsZTogdHJ1ZSwKLSAgICB2YWx1ZTogd2luZG93LkZvbwotICB9KTsKLUZvby5f
X3Byb3RvX18gPSBGb29QYXJlbnQ7Ci1Gb28ucHJvdG90eXBlW1N5bWJvbC50b1N0cmluZ1RhZ10g
PSAiRm9vIjsKLQotdmFyIGlkbEFycmF5ID0gbmV3IElkbEFycmF5KCk7Ci1pZGxBcnJheS5hZGRf
dW50ZXN0ZWRfaWRscygiaW50ZXJmYWNlIEZvb1BhcmVudCB7fTsiKTsKLWlkbEFycmF5LmFkZF9p
ZGxzKAotICAgICJbQ29uc3RydWN0b3IoKV1cbiIgKwotICAgICJpbnRlcmZhY2UgRm9vIDogRm9v
UGFyZW50IHt9OyIKLSAgKTsKLWlkbEFycmF5LmFkZF9vYmplY3RzKHsKLSAgRm9vOiBbIm5ldyBG
b28oKSJdLAotICBGb29QYXJlbnQ6IFsibmV3IEZvb1BhcmVudCgpIl0KLX0pOwotaWRsQXJyYXku
dGVzdCgpOwotPC9zY3JpcHQ+Ci08c2NyaXB0IHR5cGU9InRleHQvanNvbiIgaWQ9ImV4cGVjdGVk
Ij4KLXsKLSAgInN1bW1hcml6ZWRfc3RhdHVzIjogewotICAgICJzdGF0dXNfc3RyaW5nIjogIk9L
IiwKLSAgICAibWVzc2FnZSI6IG51bGwKLSAgfSwKLSAgInN1bW1hcml6ZWRfdGVzdHMiOiBbCi0g
ICAgewotICAgICAgIm5hbWUiOiAiRm9vIGludGVyZmFjZSBvYmplY3QgbGVuZ3RoIiwKLSAgICAg
ICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAg
ICJtZXNzYWdlIjogbnVsbAotICAgIH0sCi0gICAgewotICAgICAgIm5hbWUiOiAiRm9vIGludGVy
ZmFjZSBvYmplY3QgbmFtZSIsCi0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAg
ICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6IG51bGwKLSAgICB9LAotICAgIHsK
LSAgICAgICJuYW1lIjogIkZvbyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBv
ZiBpbnRlcmZhY2Ugb2JqZWN0IiwKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAg
ICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogbnVsbAotICAgIH0sCi0gICAg
ewotICAgICAgIm5hbWUiOiAiRm9vIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVz
IG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IiwKLSAgICAgICJzdGF0dXNfc3RyaW5nIjog
IlBBU1MiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogbnVsbAot
ICAgIH0sCi0gICAgewotICAgICAgIm5hbWUiOiAiRm9vIGludGVyZmFjZTogZXhpc3RlbmNlIGFu
ZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgXCJjb25zdHJ1Y3Rv
clwiIHByb3BlcnR5IiwKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgInBy
b3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogbnVsbAotICAgIH0sCi0gICAgewotICAg
ICAgIm5hbWUiOiAiRm9vIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGlu
dGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgQEB1bnNjb3BhYmxlcyBwcm9wZXJ0eSIsCi0gICAg
ICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAg
ICAibWVzc2FnZSI6IG51bGwKLSAgICB9LAotICAgIHsKLSAgICAgICJuYW1lIjogIkZvbyBtdXN0
IGJlIHByaW1hcnkgaW50ZXJmYWNlIG9mIG5ldyBGb28oKSIsCi0gICAgICAic3RhdHVzX3N0cmlu
ZyI6ICJQQVNTIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6IG51
bGwKLSAgICB9LAotICAgIHsKLSAgICAgICJuYW1lIjogIlN0cmluZ2lmaWNhdGlvbiBvZiBuZXcg
Rm9vKCkiLAotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAicHJvcGVydGll
cyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsCi0gICAgfQotICBdLAotICAidHlwZSI6ICJj
b21wbGV0ZSIKLX0KLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90
ZXN0cy9mdW5jdGlvbmFsL2lkbGhhcm5lc3MvSWRsSW50ZXJmYWNlL3Rlc3RfdG9fanNvbl9vcGVy
YXRpb24uaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC9pZGxoYXJuZXNzL0lkbEludGVyZmFjZS90
ZXN0X3RvX2pzb25fb3BlcmF0aW9uLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDE2MmRlMzE5NjM0Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvaWRsaGFy
bmVzcy9JZGxJbnRlcmZhY2UvdGVzdF90b19qc29uX29wZXJhdGlvbi5odG1sCisrKyAvZGV2L251
bGwKQEAgLTEsMTgwICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLSAg
PG1ldGEgY2hhcnNldD0idXRmLTgiPgotICA8bWV0YSBuYW1lPSJ2YXJpYW50IiBjb250ZW50PSIi
PgotICA8bWV0YSBuYW1lPSJ2YXJpYW50IiBjb250ZW50PSI/a2VlcC1wcm9taXNlIj4KLSAgPHRp
dGxlPklkbEludGVyZmFjZS5wcm90b3R5cGUudGVzdF90b19qc29uX29wZXJhdGlvbigpPC90aXRs
ZT4KLSAgPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL3ZhcmlhbnRzLmpzIj48L3NjcmlwdD4KLSAg
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotICA8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci0gIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL1dlYklETFBhcnNlci5qcyI+PC9zY3JpcHQ+Ci0gIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL2lkbGhhcm5lc3MuanMiPjwvc2NyaXB0PgotICA8c2NyaXB0IHNy
Yz0iLi4vLi4vLi4vLi4vaWRsLWhlbHBlci5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4K
LTxzY3JpcHQ+Ci0gICAgInVzZSBzdHJpY3QiOwotICAgIGZ1bmN0aW9uIHdyYXAobWVtYmVyLCBv
YmopIHsKLSAgICAgICAgZnVuY3Rpb24gRihvYmopIHsKLSAgICAgICAgICAgIHRoaXMuX29iaiA9
IG9iajsKLSAgICAgICAgfQotCi0gICAgICAgIEYucHJvdG90eXBlLnRvSlNPTiA9IGZ1bmN0aW9u
KCkgewotICAgICAgICAgICAgcmV0dXJuIHRoaXMuX29iajsKLSAgICAgICAgfQotICAgICAgICBP
YmplY3QuZGVmaW5lUHJvcGVydHkoRiwgJ25hbWUnLCB7IHZhbHVlOiBtZW1iZXIubmFtZSB9KTsK
LSAgICAgICAgcmV0dXJuIG5ldyBGKG9iaik7Ci0gICAgfQotCi0gICAgdmFyIGksIG9iajsKLSAg
ICBpID0gaW50ZXJmYWNlRnJvbSgiaW50ZXJmYWNlIEEgeyBbRGVmYXVsdF0gb2JqZWN0IHRvSlNP
TigpOyBhdHRyaWJ1dGUgbG9uZyBmb287IH07Iik7Ci0gICAgaS50ZXN0X3RvX2pzb25fb3BlcmF0
aW9uKCJvYmplY3QiLCB3cmFwKGksIHsgZm9vOiAxMjMgfSksIGkubWVtYmVyc1swXSk7Ci0KLSAg
ICAvLyBzaG91bGQgZmFpbCAod3JvbmcgdHlwZSkKLSAgICBpID0gaW50ZXJmYWNlRnJvbSgiaW50
ZXJmYWNlIEIgeyBbRGVmYXVsdF0gb2JqZWN0IHRvSlNPTigpOyBhdHRyaWJ1dGUgbG9uZyBmb287
IH07Iik7Ci0gICAgaS50ZXN0X3RvX2pzb25fb3BlcmF0aW9uKCJvYmplY3QiLCB3cmFwKGksIHsg
Zm9vOiAiYSB2YWx1ZSIgfSksIGkubWVtYmVyc1swXSk7Ci0KLSAgICAvLyBzaG91bGQgaGFuZGxl
IGV4dHJhbmVvdXMgYXR0cmlidXRlcyAoZS5nLiBmcm9tIGFuIGV4dGVuc2lvbiBzcGVjaWZpY2F0
aW9uKQotICAgIGkgPSBpbnRlcmZhY2VGcm9tKCJpbnRlcmZhY2UgQyB7IFtEZWZhdWx0XSBvYmpl
Y3QgdG9KU09OKCk7IGF0dHJpYnV0ZSBsb25nIGZvbzsgfTsiKTsKLSAgICBpLnRlc3RfdG9fanNv
bl9vcGVyYXRpb24oIm9iamVjdCIsIHdyYXAoaSwgeyBmb286IDEyMywgYmFyOiA0NTYgfSksIGku
bWVtYmVyc1swXSk7Ci0KLSAgICAvLyBzaG91bGQgZmFpbCAobWlzc2luZyBwcm9wZXJ0eSkKLSAg
ICBpID0gaW50ZXJmYWNlRnJvbSgiaW50ZXJmYWNlIEQgeyBbRGVmYXVsdF0gb2JqZWN0IHRvSlNP
TigpOyBhdHRyaWJ1dGUgbG9uZyBmb287IH07Iik7Ci0gICAgaS50ZXN0X3RvX2pzb25fb3BlcmF0
aW9uKCJvYmplY3QiLCB3cmFwKGksIHsgfSksIGkubWVtYmVyc1swXSk7Ci0KLSAgICAvLyBzaG91
bGQgZmFpbCAoc2hvdWxkIGJlIHdyaXRhYmxlKQotICAgIG9iaiA9IE9iamVjdC5kZWZpbmVQcm9w
ZXJ0aWVzKHt9LCB7IGZvbzogewotICAgICAgICB3cml0YWJsZTogZmFsc2UsCi0gICAgICAgIGVu
dW1lcmFibGU6IHRydWUsCi0gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSwKLSAgICAgICAgdmFs
dWU6IDEyMwotICAgIH19KTsKLSAgICBpID0gaW50ZXJmYWNlRnJvbSgiaW50ZXJmYWNlIEYgeyBb
RGVmYXVsdF0gb2JqZWN0IHRvSlNPTigpOyBhdHRyaWJ1dGUgbG9uZyBmb287IH07Iik7Ci0gICAg
aS50ZXN0X3RvX2pzb25fb3BlcmF0aW9uKCJvYmplY3QiLCB3cmFwKGksIG9iaiksIGkubWVtYmVy
c1swXSk7Ci0KLSAgICAvLyBzaG91bGQgZmFpbCAoc2hvdWxkIGJlIGVudW1lcmFibGUpCi0gICAg
b2JqID0gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoe30sIHsgZm9vOiB7Ci0gICAgICAgIHdyaXRh
YmxlOiB0cnVlLAotICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwKLSAgICAgICAgY29uZmlndXJh
YmxlOiB0cnVlLAotICAgICAgICB2YWx1ZTogMTIzCi0gICAgfX0pOwotICAgIGkgPSBpbnRlcmZh
Y2VGcm9tKCJpbnRlcmZhY2UgRyB7IFtEZWZhdWx0XSBvYmplY3QgdG9KU09OKCk7IGF0dHJpYnV0
ZSBsb25nIGZvbzsgfTsiKTsKLSAgICBpLnRlc3RfdG9fanNvbl9vcGVyYXRpb24oIm9iamVjdCIs
IHdyYXAoaSwgb2JqKSwgaS5tZW1iZXJzWzBdKTsKLQotICAgIC8vIHNob3VsZCBmYWlsIChzaG91
bGQgYmUgY29uZmlndXJhYmxlKQotICAgIG9iaiA9IE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKHt9
LCB7IGZvbzogewotICAgICAgICB3cml0YWJsZTogdHJ1ZSwKLSAgICAgICAgZW51bWVyYWJsZTog
dHJ1ZSwKLSAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZSwKLSAgICAgICAgdmFsdWU6IDEyMwot
ICAgIH19KTsKLSAgICBpID0gaW50ZXJmYWNlRnJvbSgiaW50ZXJmYWNlIEggeyBbRGVmYXVsdF0g
b2JqZWN0IHRvSlNPTigpOyBhdHRyaWJ1dGUgbG9uZyBmb287IH07Iik7Ci0gICAgaS50ZXN0X3Rv
X2pzb25fb3BlcmF0aW9uKCJvYmplY3QiLCB3cmFwKGksIG9iaiksIGkubWVtYmVyc1swXSk7Ci0K
LSAgICB2YXIgaWRsID0gbmV3IElkbEFycmF5KCk7Ci0gICAgaWRsLmFkZF9pZGxzKCJpbnRlcmZh
Y2UgSSA6IEogeyBbRGVmYXVsdF0gb2JqZWN0IHRvSlNPTigpOyBhdHRyaWJ1dGUgbG9uZyBmb287
IH07Iik7Ci0gICAgaWRsLmFkZF9pZGxzKCJpbnRlcmZhY2UgSiB7IFtEZWZhdWx0XSBvYmplY3Qg
dG9KU09OKCk7IGF0dHJpYnV0ZSBET01TdHJpbmcgZm9vO307Iik7Ci0gICAgdmFyIGkgPSBpZGwu
bWVtYmVycy5JOwotICAgIGkudGVzdF90b19qc29uX29wZXJhdGlvbigib2JqZWN0Iiwgd3JhcChp
LCB7IGZvbzogMTIzIH0pLCBpLm1lbWJlcnNbMF0pOwotCi0gICAgaSA9IGludGVyZmFjZUZyb20o
ImludGVyZmFjZSBLIHsgW0RlZmF1bHRdIG9iamVjdCB0b0pTT04oKTsgfTsiKTsKLSAgICBpLnRl
c3RfdG9fanNvbl9vcGVyYXRpb24oIm9iamVjdCIsIHdyYXAoaSwge30pLCBpLm1lbWJlcnNbMF0p
OwotCi0gICAgaSA9IGludGVyZmFjZUZyb20oImludGVyZmFjZSBMIHsgRE9NU3RyaW5nIHRvSlNP
TigpOyB9OyIpOwotICAgIGkudGVzdF90b19qc29uX29wZXJhdGlvbigib2JqZWN0Iiwgd3JhcChp
LCAiYSBzdHJpbmciKSwgaS5tZW1iZXJzWzBdKTsKLQotICAgIC8vIHNob3VsZCBmYWlsICh3cm9u
ZyBvdXRwdXQgdHlwZSkKLSAgICBpID0gaW50ZXJmYWNlRnJvbSgiaW50ZXJmYWNlIE0geyBET01T
dHJpbmcgdG9KU09OKCk7IH07Iik7Ci0gICAgaS50ZXN0X3RvX2pzb25fb3BlcmF0aW9uKCJvYmpl
Y3QiLCB3cmFwKGksIHt9KSwgaS5tZW1iZXJzWzBdKTsKLQotICAgIC8vIHNob3VsZCBmYWlsIChu
b3QgYW4gSURMIHR5cGUpCi0gICAgaSA9IGludGVyZmFjZUZyb20oImludGVyZmFjZSBOIHsgRE9N
RXhjZXB0aW9uIHRvSlNPTigpOyB9OyIpOwotICAgIGkudGVzdF90b19qc29uX29wZXJhdGlvbigi
b2JqZWN0Iiwgd3JhcChpLCB7fSksIGkubWVtYmVyc1swXSk7Ci08L3NjcmlwdD4KLTxzY3JpcHQg
dHlwZT0idGV4dC9qc29uIiBpZD0iZXhwZWN0ZWQiPgotICAgIHsKLSAgICAgICAgInN1bW1hcml6
ZWRfc3RhdHVzIjogewotICAgICAgICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgICAgICAg
InN0YXR1c19zdHJpbmciOiAiT0siCi0gICAgICAgIH0sCi0gICAgICAgICJzdW1tYXJpemVkX3Rl
c3RzIjogWwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJtZXNzYWdlIjogbnVsbCwK
LSAgICAgICAgICAgICAgICAibmFtZSI6ICJBIGludGVyZmFjZTogZGVmYXVsdCB0b0pTT04gb3Bl
cmF0aW9uIG9uIG9iamVjdCIsCi0gICAgICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAg
ICAgICAgICAgICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIgotICAgICAgICAgICAgfSwKLSAg
ICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAibWVzc2FnZSI6ICJhc3NlcnRfZXF1YWxzOiBl
eHBlY3RlZCBcIm51bWJlclwiIGJ1dCBnb3QgXCJzdHJpbmdcIiIsCi0gICAgICAgICAgICAgICAg
Im5hbWUiOiAiQiBpbnRlcmZhY2U6IGRlZmF1bHQgdG9KU09OIG9wZXJhdGlvbiBvbiBvYmplY3Qi
LAotICAgICAgICAgICAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAgICAgICAgICAgInN0
YXR1c19zdHJpbmciOiAiRkFJTCIKLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAg
ICAgICAgICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgICAgICAgICAgICJuYW1lIjogIkMg
aW50ZXJmYWNlOiBkZWZhdWx0IHRvSlNPTiBvcGVyYXRpb24gb24gb2JqZWN0IiwKLSAgICAgICAg
ICAgICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgICAgICAgICAgICJzdGF0dXNfc3RyaW5n
IjogIlBBU1MiCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAg
ICJtZXNzYWdlIjogImFzc2VydF90cnVlOiBwcm9wZXJ0eSBcImZvb1wiIHNob3VsZCBiZSBwcmVz
ZW50IGluIHRoZSBvdXRwdXQgb2YgRC5wcm90b3R5cGUudG9KU09OKCkgZXhwZWN0ZWQgdHJ1ZSBn
b3QgZmFsc2UiLAotICAgICAgICAgICAgICAgICJuYW1lIjogIkQgaW50ZXJmYWNlOiBkZWZhdWx0
IHRvSlNPTiBvcGVyYXRpb24gb24gb2JqZWN0IiwKLSAgICAgICAgICAgICAgICAicHJvcGVydGll
cyI6IHt9LAotICAgICAgICAgICAgICAgICJzdGF0dXNfc3RyaW5nIjogIkZBSUwiCi0gICAgICAg
ICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJtZXNzYWdlIjogImFzc2Vy
dF90cnVlOiBwcm9wZXJ0eSBmb28gc2hvdWxkIGJlIHdyaXRhYmxlIGV4cGVjdGVkIHRydWUgZ290
IGZhbHNlIiwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJGIGludGVyZmFjZTogZGVmYXVsdCB0
b0pTT04gb3BlcmF0aW9uIG9uIG9iamVjdCIsCi0gICAgICAgICAgICAgICAgInByb3BlcnRpZXMi
OiB7fSwKLSAgICAgICAgICAgICAgICAic3RhdHVzX3N0cmluZyI6ICJGQUlMIgotICAgICAgICAg
ICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAibWVzc2FnZSI6ICJhc3NlcnRf
dHJ1ZTogcHJvcGVydHkgZm9vIHNob3VsZCBiZSBlbnVtZXJhYmxlIGV4cGVjdGVkIHRydWUgZ290
IGZhbHNlIiwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJHIGludGVyZmFjZTogZGVmYXVsdCB0
b0pTT04gb3BlcmF0aW9uIG9uIG9iamVjdCIsCi0gICAgICAgICAgICAgICAgInByb3BlcnRpZXMi
OiB7fSwKLSAgICAgICAgICAgICAgICAic3RhdHVzX3N0cmluZyI6ICJGQUlMIgotICAgICAgICAg
ICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAibWVzc2FnZSI6ICJhc3NlcnRf
dHJ1ZTogcHJvcGVydHkgZm9vIHNob3VsZCBiZSBjb25maWd1cmFibGUgZXhwZWN0ZWQgdHJ1ZSBn
b3QgZmFsc2UiLAotICAgICAgICAgICAgICAgICJuYW1lIjogIkggaW50ZXJmYWNlOiBkZWZhdWx0
IHRvSlNPTiBvcGVyYXRpb24gb24gb2JqZWN0IiwKLSAgICAgICAgICAgICAgICAicHJvcGVydGll
cyI6IHt9LAotICAgICAgICAgICAgICAgICJzdGF0dXNfc3RyaW5nIjogIkZBSUwiCi0gICAgICAg
ICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJtZXNzYWdlIjogbnVsbCwK
LSAgICAgICAgICAgICAgICAibmFtZSI6ICJJIGludGVyZmFjZTogZGVmYXVsdCB0b0pTT04gb3Bl
cmF0aW9uIG9uIG9iamVjdCIsCi0gICAgICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAg
ICAgICAgICAgICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIgotICAgICAgICAgICAgfSwKLSAg
ICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAgICAg
ICAgICAgIm5hbWUiOiAiSyBpbnRlcmZhY2U6IGRlZmF1bHQgdG9KU09OIG9wZXJhdGlvbiBvbiBv
YmplY3QiLAotICAgICAgICAgICAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAgICAgICAg
ICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIKLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7
Ci0gICAgICAgICAgICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgICAgICAgICAgICJuYW1l
IjogIkwgaW50ZXJmYWNlOiB0b0pTT04gb3BlcmF0aW9uIG9uIG9iamVjdCIsCi0gICAgICAgICAg
ICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICAgICAgICAgICAic3RhdHVzX3N0cmluZyI6
ICJQQVNTIgotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAi
bWVzc2FnZSI6ICJhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCBcInN0cmluZ1wiIGJ1dCBnb3QgXCJv
YmplY3RcIiIsCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiTSBpbnRlcmZhY2U6IHRvSlNPTiBv
cGVyYXRpb24gb24gb2JqZWN0IiwKLSAgICAgICAgICAgICAgICAicHJvcGVydGllcyI6IHt9LAot
ICAgICAgICAgICAgICAgICJzdGF0dXNfc3RyaW5nIjogIkZBSUwiCi0gICAgICAgICAgICB9LAot
ICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJtZXNzYWdlIjogImFzc2VydF90cnVlOiB7
XCJ0eXBlXCI6XCJyZXR1cm4tdHlwZVwiLFwiZXh0QXR0cnNcIjpbXSxcImdlbmVyaWNcIjpcIlwi
LFwibnVsbGFibGVcIjpmYWxzZSxcInVuaW9uXCI6ZmFsc2UsXCJpZGxUeXBlXCI6XCJET01FeGNl
cHRpb25cIn0gaXMgbm90IGFuIGFwcHJvcHJpYXRlIHJldHVybiB2YWx1ZSBmb3IgdGhlIHRvSlNP
TiBvcGVyYXRpb24gb2YgTiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZSIsCi0gICAgICAgICAgICAg
ICAgIm5hbWUiOiAiTiBpbnRlcmZhY2U6IHRvSlNPTiBvcGVyYXRpb24gb24gb2JqZWN0IiwKLSAg
ICAgICAgICAgICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgICAgICAgICAgICJzdGF0dXNf
c3RyaW5nIjogIkZBSUwiCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJ0eXBl
IjogImNvbXBsZXRlIgotICAgIH0KLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFsL2lkbGhhcm5lc3MvSWRsSW50ZXJmYWNlL3czYy1pbXBv
cnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFsL2lkbGhhcm5lc3MvSWRsSW50ZXJmYWNlL3czYy1p
bXBvcnQubG9nCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhYTljYTgzZjg5ZC4uMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFsL2lkbGhhcm5lc3MvSWRsSW50ZXJmYWNl
L3czYy1pbXBvcnQubG9nCisrKyAvZGV2L251bGwKQEAgLTEsMjEgKzAsMCBAQAotVGhlIHRlc3Rz
IGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnku
Ci1EbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQs
IGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1
Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdAotCi1UaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0
cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydAotCi1EbyBOT1QgbW9kaWZ5
IG9yIHJlbW92ZSB0aGlzIGZpbGUuCi0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotUHJvcGVydGllcyByZXF1
aXJpbmcgdmVuZG9yIHByZWZpeGVzOgotTm9uZQotUHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2
ZW5kb3IgcHJlZml4ZXM6Ci1Ob25lCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLUxpc3Qgb2YgZmlsZXM6Ci0v
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVz
dC90ZXN0cy9mdW5jdGlvbmFsL2lkbGhhcm5lc3MvSWRsSW50ZXJmYWNlL3Rlc3RfaW1tdXRhYmxl
X3Byb3RvdHlwZS5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFsL2lkbGhhcm5lc3MvSWRsSW50ZXJm
YWNlL3Rlc3RfaW50ZXJmYWNlX21peGluLmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvaWRsaGFy
bmVzcy9JZGxJbnRlcmZhY2UvdGVzdF9wYXJ0aWFsX2ludGVyZmFjZV9vZi5odG1sCi0vTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0
cy9mdW5jdGlvbmFsL2lkbGhhcm5lc3MvSWRsSW50ZXJmYWNlL3Rlc3RfcHJpbWFyeV9pbnRlcmZh
Y2Vfb2YuaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC9pZGxoYXJuZXNzL0lkbEludGVyZmFjZS90
ZXN0X3RvX2pzb25fb3BlcmF0aW9uLmh0bWwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25h
bC9pZGxoYXJuZXNzL0lkbE5hbWVzcGFjZS90ZXN0X2F0dHJpYnV0ZS5odG1sIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9m
dW5jdGlvbmFsL2lkbGhhcm5lc3MvSWRsTmFtZXNwYWNlL3Rlc3RfYXR0cmlidXRlLmh0bWwKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDhjMWY1MTcyMTY1Li4wMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90
ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvaWRsaGFybmVzcy9JZGxOYW1lc3BhY2UvdGVzdF9hdHRyaWJ1
dGUuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDU1ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgot
PGh0bWw+Ci08aGVhZD4KLSAgPG1ldGEgY2hhcnNldD0idXRmLTgiPgotICA8bWV0YSBuYW1lPSJ2
YXJpYW50IiBjb250ZW50PSIiPgotICA8bWV0YSBuYW1lPSJ2YXJpYW50IiBjb250ZW50PSI/a2Vl
cC1wcm9taXNlIj4KLSAgPHRpdGxlPmlkbGhhcm5lc3M6IG5hbWVzcGFjZSBhdHRyaWJ1dGU8L3Rp
dGxlPgotICA8c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vdmFyaWFudHMuanMiPjwvc2NyaXB0Pgot
ICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci0gIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLSAg
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvV2ViSURMUGFyc2VyLmpzIj48L3NjcmlwdD4KLSAgPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvaWRsaGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08
Ym9keT4KLTxwPlZlcmlmeSB0aGUgc2VyaWVzIG9mIHN1Yi10ZXN0cyB0aGF0IGFyZSBleGVjdXRl
ZCBmb3IgbmFtZXNwYWNlIGF0dHJpYnV0ZXMuPC9wPgotPHNjcmlwdD4KLSJ1c2Ugc3RyaWN0IjsK
LQotc2VsZi5mb28gPSB7Ci0gIHRydXRoOiB0cnVlCi19OwotCi12YXIgaWRsQXJyYXkgPSBuZXcg
SWRsQXJyYXkoKTsKLWlkbEFycmF5LmFkZF9pZGxzKAotYG5hbWVzcGFjZSBmb28gewotICByZWFk
b25seSBhdHRyaWJ1dGUgYm9vbCB0cnV0aDsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIGJvb2wgbGll
czsKLX07YCk7Ci1pZGxBcnJheS50ZXN0KCk7Ci08L3NjcmlwdD4KLTxzY3JpcHQgdHlwZT0idGV4
dC9qc29uIiBpZD0iZXhwZWN0ZWQiPgotewotICAic3VtbWFyaXplZF9zdGF0dXMiOiB7Ci0gICAg
InN0YXR1c19zdHJpbmciOiAiT0siLAotICAgICJtZXNzYWdlIjogbnVsbAotICB9LAotICAic3Vt
bWFyaXplZF90ZXN0cyI6IFsKLSAgICB7Ci0gICAgICAibmFtZSI6ICJmb28gbmFtZXNwYWNlOiBh
dHRyaWJ1dGUgdHJ1dGgiLAotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAi
cHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsCi0gICAgfSwKLSAgICB7Ci0g
ICAgICAibmFtZSI6ICJmb28gbmFtZXNwYWNlOiBhdHRyaWJ1dGUgbGllcyIsCi0gICAgICAic3Rh
dHVzX3N0cmluZyI6ICJGQUlMIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVz
c2FnZSI6ICJhc3NlcnRfb3duX3Byb3BlcnR5OiBmb28gZG9lcyBub3QgaGF2ZSBwcm9wZXJ0eSBc
ImxpZXNcIiBleHBlY3RlZCBwcm9wZXJ0eSBcImxpZXNcIiBtaXNzaW5nIgotICAgIH0KLSAgXSwK
LSAgInR5cGUiOiAiY29tcGxldGUiCi19Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC9pZGxoYXJuZXNzL0lkbE5hbWVzcGFjZS90ZXN0
X29wZXJhdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFsL2lkbGhhcm5lc3MvSWRsTmFtZXNw
YWNlL3Rlc3Rfb3BlcmF0aW9uLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY3
MWNkOWUwOWY1Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvaWRsaGFybmVz
cy9JZGxOYW1lc3BhY2UvdGVzdF9vcGVyYXRpb24uaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDk5
ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLSAgPG1ldGEgY2hhcnNl
dD0idXRmLTgiPgotICA8bWV0YSBuYW1lPSJ2YXJpYW50IiBjb250ZW50PSIiPgotICA8bWV0YSBu
YW1lPSJ2YXJpYW50IiBjb250ZW50PSI/a2VlcC1wcm9taXNlIj4KLSAgPHRpdGxlPmlkbGhhcm5l
c3M6IG5hbWVzcGFjZSBvcGVyYXRpb248L3RpdGxlPgotICA8c2NyaXB0IHNyYz0iLi4vLi4vLi4v
Li4vdmFyaWFudHMuanMiPjwvc2NyaXB0PgotICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci0gIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLSAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvV2ViSURM
UGFyc2VyLmpzIj48L3NjcmlwdD4KLSAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvaWRsaGFybmVz
cy5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxwPlZlcmlmeSB0aGUgc2VyaWVzIG9m
IHN1Yi10ZXN0cyB0aGF0IGFyZSBleGVjdXRlZCBmb3IgbmFtZXNwYWNlIG9wZXJhdGlvbnMuPC9w
PgotPHNjcmlwdD4KLSJ1c2Ugc3RyaWN0IjsKLQotc2VsZi5mb28gPSB7Ci0gIFRydXRoOiBmdW5j
dGlvbigpIHt9LAotfTsKLU9iamVjdC5kZWZpbmVQcm9wZXJ0eShzZWxmLmZvbywgIlRydXRoIiwg
eyB3cml0YWJsZTogdHJ1ZSB9KTsKLQotc2VsZi5iYXIgPSB7Ci0gIFRydXRoOiBmdW5jdGlvbigp
IHt9LAotfQotT2JqZWN0LmRlZmluZVByb3BlcnR5KHNlbGYuYmFyLCAiVHJ1dGgiLCB7Ci0gIHdy
aXRhYmxlOiBmYWxzZSwKLSAgY29uZmlndXJhYmxlOiBmYWxzZSwKLX0pOwotCi1zZWxmLmJheiA9
IHsKLSAgTG9uZ1N0b3J5OiBmdW5jdGlvbihoZXJvLCAuLi5kZXRhaWxzKSB7Ci0gICAgcmV0dXJu
IGAke2hlcm99IHdlbnQgYW5kICR7ZGV0YWlscy5qb2luKCcsIHRoZW4nKX1gCi0gIH0sCi0gIFNo
b3J0U3Rvcnk6IGZ1bmN0aW9uKC4uLmRldGFpbHMpIHsKLSAgICByZXR1cm4gYCR7ZGV0YWlscy5q
b2luKCcuICcpfWA7Ci0gIH0sCi19OwotCi12YXIgaWRsQXJyYXkgPSBuZXcgSWRsQXJyYXkoKTsK
LWlkbEFycmF5LmFkZF9pZGxzKAotYG5hbWVzcGFjZSBmb28gewotICB2b2lkIFRydXRoKCk7Ci0g
IHZvaWQgTGllcygpOwotfTsKLW5hbWVzcGFjZSBiYXIgewotICBbVW5mb3JnZWFibGVdCi0gIHZv
aWQgVHJ1dGgoKTsKLX07Ci1uYW1lc3BhY2UgYmF6IHsKLSAgRE9NU3RyaW5nIExvbmdTdG9yeShh
bnkgaGVybywgRE9NU3RyaW5nLi4uIGRldGFpbHMpOwotICBET01TdHJpbmcgU2hvcnRTdG9yeShE
T01TdHJpbmcuLi4gZGV0YWlscyk7Ci19O2ApOwotaWRsQXJyYXkudGVzdCgpOwotPC9zY3JpcHQ+
Ci08c2NyaXB0IHR5cGU9InRleHQvanNvbiIgaWQ9ImV4cGVjdGVkIj4KLXsKLSAgInN1bW1hcml6
ZWRfc3RhdHVzIjogewotICAgICJzdGF0dXNfc3RyaW5nIjogIk9LIiwKLSAgICAibWVzc2FnZSI6
IG51bGwKLSAgfSwKLSAgInN1bW1hcml6ZWRfdGVzdHMiOiBbCi0gICAgewotICAgICAgIm5hbWUi
OiAiYmFyIG5hbWVzcGFjZTogb3BlcmF0aW9uIFRydXRoKCkiLAotICAgICAgInN0YXR1c19zdHJp
bmciOiAiUEFTUyIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBu
dWxsCi0gICAgfSwKLSAgICB7Ci0gICAgICAibmFtZSI6ICJiYXogbmFtZXNwYWNlOiBvcGVyYXRp
b24gTG9uZ1N0b3J5KGFueSwgRE9NU3RyaW5nLi4uKSIsCi0gICAgICAic3RhdHVzX3N0cmluZyI6
ICJQQVNTIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6IG51bGwK
LSAgICB9LAotICAgIHsKLSAgICAgICJuYW1lIjogImJheiBuYW1lc3BhY2U6IG9wZXJhdGlvbiBT
aG9ydFN0b3J5KERPTVN0cmluZy4uLikiLAotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIs
Ci0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsCi0gICAgfSwK
LSAgICB7Ci0gICAgICAibmFtZSI6ICJmb28gbmFtZXNwYWNlOiBvcGVyYXRpb24gVHJ1dGgoKSIs
Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30s
Ci0gICAgICAibWVzc2FnZSI6IG51bGwKLSAgICB9LAotICAgIHsKLSAgICAgICJuYW1lIjogImZv
byBuYW1lc3BhY2U6IG9wZXJhdGlvbiBMaWVzKCkiLAotICAgICAgInN0YXR1c19zdHJpbmciOiAi
RkFJTCIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiAiYXNzZXJ0
X293bl9wcm9wZXJ0eTogbmFtZXNwYWNlIG9iamVjdCBtaXNzaW5nIG9wZXJhdGlvbiBcIkxpZXNc
IiBleHBlY3RlZCBwcm9wZXJ0eSBcIkxpZXNcIiBtaXNzaW5nIgotICAgIH0KLSAgXSwKLSAgInR5
cGUiOiAiY29tcGxldGUiCi19Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC9pZGxoYXJuZXNzL0lkbE5hbWVzcGFjZS90ZXN0X3BhcnRp
YWxfbmFtZXNwYWNlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvaWRsaGFybmVzcy9JZGxOYW1l
c3BhY2UvdGVzdF9wYXJ0aWFsX25hbWVzcGFjZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCBjMzI3YThiMDAxZC4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFs
L2lkbGhhcm5lc3MvSWRsTmFtZXNwYWNlL3Rlc3RfcGFydGlhbF9uYW1lc3BhY2UuaHRtbAorKysg
L2Rldi9udWxsCkBAIC0xLDEyOCArMCwwIEBACi08IURPQ1RZUEUgSFRNTD4KLTxodG1sPgotCi08
aGVhZD4KLSAgPG1ldGEgY2hhcnNldD0idXRmLTgiPgotICA8bWV0YSBuYW1lPSJ2YXJpYW50IiBj
b250ZW50PSIiPgotICA8bWV0YSBuYW1lPSJ2YXJpYW50IiBjb250ZW50PSI/a2VlcC1wcm9taXNl
Ij4KLSAgPHRpdGxlPmlkbGhhcm5lc3M6IFBhcnRpYWwgbmFtZXNwYWNlPC90aXRsZT4KLSAgPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdC92YXJpYW50cy5qcyI+PC9zY3JpcHQ+Ci0gIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLSAgPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotICA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy9XZWJJRExQYXJzZXIuanMiPjwvc2NyaXB0PgotICA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy9pZGxoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLQotPGJvZHk+
Ci0gIDxwPlZlcmlmeSB0aGUgc2VyaWVzIG9mIHN1Yi10ZXN0cyB0aGF0IGFyZSBleGVjdXRlZCBm
b3IgInBhcnRpYWwiIG5hbWVzcGFjZSBvYmplY3RzLjwvcD4KLSAgPHNjcmlwdD4KLSAgICAidXNl
IHN0cmljdCI7Ci0KLSAgICAvLyBObyBvcmlnaW5hbCBleGlzdGVuY2UKLSAgICAoKCkgPT4gewot
ICAgICAgY29uc3QgaWRsQXJyYXkgPSBuZXcgSWRsQXJyYXkoKTsKLSAgICAgIGlkbEFycmF5LmFk
ZF9pZGxzKCdwYXJ0aWFsIG5hbWVzcGFjZSBBIHt9OycpOwotICAgICAgaWRsQXJyYXkudGVzdCgp
OwotICAgIH0pKCk7Ci0KLSAgICAvLyBWYWxpZCBleHBvc3VyZSAoTm90ZTogV29ya2VyIC0+IHtT
aGFyZWQsRGVkaWNhdGVkLFNlcnZpY2V9V29ya2VyKQotICAgICgoKSA9PiB7Ci0gICAgICBjb25z
dCBpZGxBcnJheSA9IG5ldyBJZGxBcnJheSgpOwotICAgICAgaWRsQXJyYXkuYWRkX3VudGVzdGVk
X2lkbHMoYAotICAgICAgICBbRXhwb3NlZD0oV29ya2VyKV0KLSAgICAgICAgbmFtZXNwYWNlIEIg
e307Ci0KLSAgICAgICAgW0V4cG9zZWQ9KERlZGljYXRlZFdvcmtlciwgU2VydmljZVdvcmtlciwg
U2hhcmVkV29ya2VyKV0KLSAgICAgICAgbmFtZXNwYWNlIEMge307YCk7Ci0gICAgICBpZGxBcnJh
eS5hZGRfaWRscyhgCi0gICAgICAgIFtFeHBvc2VkPShEZWRpY2F0ZWRXb3JrZXIsIFNlcnZpY2VX
b3JrZXIsIFNoYXJlZFdvcmtlcildCi0gICAgICAgIHBhcnRpYWwgbmFtZXNwYWNlIEIge307Ci0K
LSAgICAgICAgW0V4cG9zZWQ9KFdvcmtlcildCi0gICAgICAgIHBhcnRpYWwgbmFtZXNwYWNlIEMg
e307YCk7Ci0gICAgICBpZGxBcnJheS5jb2xsYXBzZV9wYXJ0aWFscygpOwotICAgIH0pKCk7Ci0K
LSAgICAvLyBJbnZhbGlkIGV4cG9zdXJlCi0gICAgKCgpID0+IHsKLSAgICAgIGNvbnN0IGlkbEFy
cmF5ID0gbmV3IElkbEFycmF5KCk7Ci0gICAgICBpZGxBcnJheS5hZGRfdW50ZXN0ZWRfaWRscyhg
Ci0gICAgICAgIFtFeHBvc2VkPShXaW5kb3csIFNlcnZpY2VXb3JrZXIpXQotICAgICAgICBuYW1l
c3BhY2UgRCB7fTtgKTsKLSAgICAgIGlkbEFycmF5LmFkZF9pZGxzKGAKLSAgICAgICAgW0V4cG9z
ZWQ9KERlZGljYXRlZFdvcmtlcildCi0gICAgICAgIHBhcnRpYWwgbmFtZXNwYWNlIEQge307YCk7
Ci0gICAgICBpZGxBcnJheS5jb2xsYXBzZV9wYXJ0aWFscygpOwotICAgIH0pKCk7Ci0KLSAgICAv
LyBPcmlnaW5hbCBpcyBhbiBpbnRlcmZhY2UsIG5vdCBhIG5hbWVzcGFjZS4KLSAgICAoKCkgPT4g
ewotICAgICAgY29uc3QgaWRsQXJyYXkgPSBuZXcgSWRsQXJyYXkoKTsKLSAgICAgIGlkbEFycmF5
LmFkZF9pZGxzKGAKLSAgICAgICAgcGFydGlhbCBuYW1lc3BhY2UgRSB7fTsKLSAgICAgICAgaW50
ZXJmYWNlIEUge307YCk7Ci0gICAgICBpZGxBcnJheS5jb2xsYXBzZV9wYXJ0aWFscygpOwotICAg
IH0pKCk7Ci0gIDwvc2NyaXB0PgotICA8c2NyaXB0IHR5cGU9InRleHQvanNvbiIgaWQ9ImV4cGVj
dGVkIj4KLXsKLSAgInN1bW1hcml6ZWRfc3RhdHVzIjogewotICAgICJzdGF0dXNfc3RyaW5nIjog
Ik9LIiwKLSAgICAibWVzc2FnZSI6IG51bGwKLSAgfSwKLSAgInN1bW1hcml6ZWRfdGVzdHMiOiBb
Ci0gICAgewotICAgICAgIm5hbWUiOiAiUGFydGlhbCBuYW1lc3BhY2UgQTogb3JpZ2luYWwgbmFt
ZXNwYWNlIGRlZmluZWQiLAotICAgICAgInN0YXR1c19zdHJpbmciOiAiRkFJTCIsCi0gICAgICAi
cHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiAiYXNzZXJ0X3RydWU6IE9yaWdpbmFs
IG5hbWVzcGFjZSBzaG91bGQgYmUgZGVmaW5lZCBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZSIKLSAg
ICB9LAotICAgIHsKLSAgICAgICJuYW1lIjogIlBhcnRpYWwgbmFtZXNwYWNlIEI6IG9yaWdpbmFs
IG5hbWVzcGFjZSBkZWZpbmVkIiwKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAg
ICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogbnVsbAotICAgIH0sCi0gICAg
ewotICAgICAgIm5hbWUiOiAiUGFydGlhbCBuYW1lc3BhY2UgQjogdmFsaWQgZXhwb3N1cmUgc2V0
IiwKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgInByb3BlcnRpZXMiOiB7
fSwKLSAgICAgICJtZXNzYWdlIjogbnVsbAotICAgIH0sCi0gICAgewotICAgICAgIm5hbWUiOiAi
UGFydGlhbCBuYW1lc3BhY2UgQzogb3JpZ2luYWwgbmFtZXNwYWNlIGRlZmluZWQiLAotICAgICAg
InN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAg
Im1lc3NhZ2UiOiBudWxsCi0gICAgfSwKLSAgICB7Ci0gICAgICAibmFtZSI6ICJQYXJ0aWFsIG5h
bWVzcGFjZSBDOiB2YWxpZCBleHBvc3VyZSBzZXQiLAotICAgICAgInN0YXR1c19zdHJpbmciOiAi
UEFTUyIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsCi0g
ICAgfSwKLSAgICB7Ci0gICAgICAibmFtZSI6ICJQYXJ0aWFsIG5hbWVzcGFjZSBEOiBvcmlnaW5h
bCBuYW1lc3BhY2UgZGVmaW5lZCIsCi0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAg
ICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6IG51bGwKLSAgICB9LAotICAg
IHsKLSAgICAgICJuYW1lIjogIlBhcnRpYWwgbmFtZXNwYWNlIEQ6IHZhbGlkIGV4cG9zdXJlIHNl
dCIsCi0gICAgICAic3RhdHVzX3N0cmluZyI6ICJGQUlMIiwKLSAgICAgICJwcm9wZXJ0aWVzIjog
e30sCi0gICAgICAibWVzc2FnZSI6ICJQYXJ0aWFsIEQgbmFtZXNwYWNlIGlzIGV4cG9zZWQgdG8g
J0RlZGljYXRlZFdvcmtlcicsIHRoZSBvcmlnaW5hbCBuYW1lc3BhY2UgaXMgbm90LiIKLSAgICB9
LAotICAgIHsKLSAgICAgICJuYW1lIjogIlBhcnRpYWwgbmFtZXNwYWNlIEU6IG9yaWdpbmFsIG5h
bWVzcGFjZSBkZWZpbmVkIiwKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIkZBSUwiLAotICAgICAg
InByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogImFzc2VydF90cnVlOiBPcmlnaW5h
bCBFIGRlZmluaXRpb24gc2hvdWxkIGhhdmUgdHlwZSBuYW1lc3BhY2UgZXhwZWN0ZWQgdHJ1ZSBn
b3QgZmFsc2UiCi0gICAgfQotICBdLAotICAidHlwZSI6ICJjb21wbGV0ZSIKLX0KLTwvc2NyaXB0
PgotPC9ib2R5PgotCi08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvaWRs
aGFybmVzcy9JZGxOYW1lc3BhY2UvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwv
aWRsaGFybmVzcy9JZGxOYW1lc3BhY2UvdzNjLWltcG9ydC5sb2cKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IGU3NjhhZmRlYTQwLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0
aW9uYWwvaWRsaGFybmVzcy9JZGxOYW1lc3BhY2UvdzNjLWltcG9ydC5sb2cKKysrIC9kZXYvbnVs
bApAQCAtMSwxOSArMCwwIEBACi1UaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBv
cnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KLURvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMg
ZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRo
ZSBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0
Ci0KLVRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0
IHRvIHJlaW1wb3J0Ci0KLURvIE5PVCBtb2RpZnkgb3IgcmVtb3ZlIHRoaXMgZmlsZS4KLQotLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tCi1Qcm9wZXJ0aWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6Ci1Ob25l
Ci1Qcm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKLU5vbmUKLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLQotTGlzdCBvZiBmaWxlczoKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvaWRsaGFybmVz
cy9JZGxOYW1lc3BhY2UvdGVzdF9hdHRyaWJ1dGUuaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC9p
ZGxoYXJuZXNzL0lkbE5hbWVzcGFjZS90ZXN0X29wZXJhdGlvbi5odG1sCi0vTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5j
dGlvbmFsL2lkbGhhcm5lc3MvSWRsTmFtZXNwYWNlL3Rlc3RfcGFydGlhbF9uYW1lc3BhY2UuaHRt
bApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFsL2lmcmFtZS1jYWxsYmFjay5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVz
dC90ZXN0cy9mdW5jdGlvbmFsL2lmcmFtZS1jYWxsYmFjay5odG1sCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCA0MDM2MjhmYTkxZi4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5j
dGlvbmFsL2lmcmFtZS1jYWxsYmFjay5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTE5ICswLDAg
QEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLTxtZXRhIG5hbWU9InZhcmlhbnQi
IGNvbnRlbnQ9IiI+Ci08bWV0YSBuYW1lPSJ2YXJpYW50IiBjb250ZW50PSI/a2VlcC1wcm9taXNl
Ij4KLTx0aXRsZT5FeGFtcGxlIHdpdGggaWZyYW1lIHRoYXQgbm90aWZpZXMgY29udGFpbmluZyBk
b2N1bWVudCB2aWEgY2FsbGJhY2tzPC90aXRsZT4KLTxzY3JpcHQgc3JjPSIuLi8uLi92YXJpYW50
cy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9InN0YXJ0X3Rlc3RfaW5faWZyYW1lKCki
PgotPGgxPkNhbGxiYWNrcyBGcm9tIFRlc3RzIFJ1bm5pbmcgSW4gQW4gSUZSQU1FPC9oMT4KLTxw
PkEgdGVzdCBpcyBydW4gaW5zaWRlIGFuIDx0dD5pZnJhbWU8L3R0PiB3aXRoIGEgc2FtZSBvcmln
aW4gZG9jdW1lbnQuIFRoZQotY29udGFpbmluZyBkb2N1bWVudCBzaG91bGQgcmVjZWl2ZSBjYWxs
YmFja3MgYXMgdGhlIHRlc3RzIHByb2dyZXNzIGluc2lkZSB0aGUKLTx0dD5pZnJhbWU8L3R0Pi4g
QSBzaW5nbGUgcGFzc2luZyB0ZXN0IGlzIGV4cGVjdGVkIGluIHRoZSBzdW1tYXJ5IGJlbG93Lgot
PGRpdiBpZD0ibG9nIj48L2Rpdj4KLQotPHNjcmlwdD4KLXZhciBjYWxsYmFja3MgPSBbXTsKLXZh
ciBTVEFSVCA9IDEKLXZhciBURVNUX1NUQVRFID0gMgotdmFyIFJFU1VMVCA9IDMKLXZhciBDT01Q
TEVUSU9OID0gNAotdmFyIHRlc3RfY29tcGxldGUgPSBmYWxzZTsKLQotc2V0dXAoe2V4cGxpY2l0
X2RvbmU6IHRydWV9KTsKLQotLy8gVGhlIGZvbGxvd2luZyBjYWxsYmFja3MgYXJlIGNhbGxlZCBm
b3IgdGVzdHMgaW4gdGhpcyBkb2N1bWVudCBhcyB3ZWxsIGFzIHRoZQotLy8gdGVzdHMgaW4gdGhl
IElGUkFNRS4gQ3VycmVudGx5LCBjYWxsYmFja3MgaW52b2tlZCBmcm9tIHRoaXMgZG9jdW1lbnQg
YW5kIGFueQotLy8gY2hpbGQgZG9jdW1lbnQgYXJlIGluZGlzdGluZ3Vpc2hhYmxlIGZyb20gZWFj
aCBvdGhlci4KLQotZnVuY3Rpb24gc3RhcnRfY2FsbGJhY2socHJvcGVydGllcykgewotICAgIGNh
bGxiYWNrcy5wdXNoKFNUQVJUKTsKLX0KLQotZnVuY3Rpb24gdGVzdF9zdGF0ZV9jYWxsYmFjayh0
ZXN0KSB7Ci0gICAgY2FsbGJhY2tzLnB1c2goVEVTVF9TVEFURSk7Ci19Ci0KLWZ1bmN0aW9uIHJl
c3VsdF9jYWxsYmFjayh0ZXN0KSB7Ci0gICAgY2FsbGJhY2tzLnB1c2goUkVTVUxUKTsKLX0KLQot
ZnVuY3Rpb24gY29tcGxldGlvbl9jYWxsYmFjayh0ZXN0cywgc3RhdHVzKSB7Ci0gICAgaWYgKHRl
c3RfY29tcGxldGUpIHsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLSAgICB0ZXN0X2NvbXBsZXRl
ID0gdHJ1ZTsKLSAgICBjYWxsYmFja3MucHVzaChDT01QTEVUSU9OKTsKLSAgICB2ZXJpZnlfcmVj
ZWl2ZWRfY2FsbGJhY2tzKCk7Ci0gICAgZG9uZSgpOwotfQotCi1mdW5jdGlvbiB2ZXJpZnlfcmVj
ZWl2ZWRfY2FsbGJhY2tzKCkgewotICAgIHZhciBjb3B5X29mX2NhbGxiYWNrcyA9IGNhbGxiYWNr
cy5zbGljZSgwKTsKLQotICAgIC8vIE5vdGUgdGhhdCB5b3UgY2FuJ3QgcnVuIHRlc3QgYXNzZXJ0
aW9ucyBkaXJlY3RseSBpbiBhIGNhbGxiYWNrIGV2ZW4gaWYKLSAgICAvLyB0aGlzIGlzIGEgZmls
ZSB0ZXN0LiBXaGVuIHRoZSBjYWxsYmFjayBpcyBpbnZva2VkIGZyb20gYSBzYW1lLW9yaWdpbiBj
aGlsZAotICAgIC8vIHBhZ2UsIHRoZSBjYWxsc3RhY2sgcmVhY2hlcyBpbnRvIHRoZSBjYWxsaW5n
IGNoaWxkIGRvY3VtZW50LiBBbnkKLSAgICAvLyBleGNlcHRpb24gdGhyb3duIGluIGEgY2FsbGJh
Y2sgd2lsbCBiZSBoYW5kbGVkIGJ5IHRoZSBjaGlsZCByYXRoZXIgdGhhbgotICAgIC8vIHRoaXMg
ZG9jdW1lbnQuCi0gICAgdGVzdCgKLSAgICAgICAgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAv
LyBjYWxsYmFja3MgbGlzdCBzaG91bGQgbG9vayBsaWtlOgotICAgICAgICAgICAgLy8gICAgIFNU
QVJUIDEqKFRFU1RfU1RBVEUpIFJFU1VMVCBDT01QTEVUSU9OCi0gICAgICAgICAgICBhc3NlcnRf
ZXF1YWxzKGNvcHlfb2ZfY2FsbGJhY2tzLnNoaWZ0KCksIFNUQVJULAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAiVGhlIGZpcnN0IHJlY2VpdmVkIGNhbGxiYWNrIHNob3VsZCBiZSAnc3RhcnRf
Y2FsbGJhY2snLiIpOwotICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhjb3B5X29mX2NhbGxiYWNr
cy5zaGlmdCgpLCBURVNUX1NUQVRFLAotICAgICAgICAgICAgICAgICAgICAgICAgICAiJ3Rlc3Rf
c3RhdGVfY2FsbGJhY2snIHNob3VsZCBiZSByZWNlaXZlZCBiZWZvcmUgYW55ICIgKwotICAgICAg
ICAgICAgICAgICAgICAgICAgICAicmVzdWx0IG9yIGNvbXBsZXRpb24gY2FsbGJhY2tzLiIpOwot
ICAgICAgICAgICAgd2hpbGUoY29weV9vZl9jYWxsYmFja3MubGVuZ3RoID4gMCkgewotICAgICAg
ICAgICAgICAgIHZhciBjYWxsYmFjayA9IGNvcHlfb2ZfY2FsbGJhY2tzLnNoaWZ0KCk7Ci0gICAg
ICAgICAgICAgICAgaWYgKGNhbGxiYWNrICE9IFRFU1RfU1RBVEUpIHsKLSAgICAgICAgICAgICAg
ICAgICAgY29weV9vZl9jYWxsYmFja3MudW5zaGlmdChjYWxsYmFjayk7Ci0gICAgICAgICAgICAg
ICAgICAgIGJyZWFrOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0KLSAgICAgICAg
ICAgIGFzc2VydF9lcXVhbHMoY29weV9vZl9jYWxsYmFja3Muc2hpZnQoKSwgUkVTVUxULAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAiJ3Rlc3Rfc3RhdGVfY2FsbGJhY2snIHNob3VsZCBiZSBm
b2xsb3dlZCBieSAncmVzdWx0X2NhbGxiYWNrJy4iKTsKLSAgICAgICAgICAgIGFzc2VydF9lcXVh
bHMoY29weV9vZl9jYWxsYmFja3Muc2hpZnQoKSwgQ09NUExFVElPTiwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgIkZpbmFsICdyZXN1bHRfY2FsbGJhY2snIHNob3VsZCBiZSBmb2xsb3dlZCBi
eSAnY29tcGxldGlvbl9jYWxsYmFjaycuIik7Ci0gICAgICAgICAgICBhc3NlcnRfZXF1YWxzKGNv
cHlfb2ZfY2FsbGJhY2tzLmxlbmd0aCwgMCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIidj
b21wbGV0aW9uX2NhbGxiYWNrJyBzaG91bGQgYmUgdGhlIGxhc3QgY2FsbGJhY2suIik7Ci0gICAg
ICAgIH0pOwotfQotCi1mdW5jdGlvbiBzdGFydF90ZXN0X2luX2lmcmFtZSgpIHsKLSAgICAvLyBU
aGlzIGRvY3VtZW50IGlzIGdvaW5nIHRvIGNsZWFyIGFueSByZWNlaXZlZCBjYWxsYmFja3MgYW5k
IG1haW50YWluCi0gICAgLy8gcmFkaW8gc2lsZW5jZSB1bnRpbCB0aGUgdGVzdCBpbiB0aGUgaWZy
YW1lIHJ1bnMgdG8gY29tcGxldGlvbi4gVGhlCi0gICAgLy8gY29tcGxldGlvbl9jYWxsYmFjaygp
IHdpbGwgdGhlbiBjb21wbGV0ZSB0aGUgdGVzdGluZyBvbiB0aGlzIGRvY3VtZW50LgotICAgIGNh
bGxiYWNrcy5sZW5ndGggPSAwOwotICAgIHZhciBpZnJhbWUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJpZnJhbWUiKTsKLSAgICAvLyBzaW5nbGUtcGFnZS10ZXN0LXBhc3MuaHRtbCBoYXMgYSBz
aW5nbGUgdGVzdC4KLSAgICBpZnJhbWUuc3JjID0gInNpbmdsZS1wYWdlLXRlc3QtcGFzcy5odG1s
IjsKLSAgICBpZnJhbWUuc3R5bGUuc2V0UHJvcGVydHkoImRpc3BsYXkiLCAibm9uZSIpOwotICAg
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXQiKS5hcHBlbmRDaGlsZChpZnJhbWUpOwot
fQotPC9zY3JpcHQ+Ci0KLTxkaXYgaWQ9InRhcmdldCI+Ci08L2Rpdj4KLTxzY3JpcHQgdHlwZT0i
dGV4dC9qc29uIiBpZD0iZXhwZWN0ZWQiPgotewotICAic3VtbWFyaXplZF9zdGF0dXMiOiB7Ci0g
ICAgInN0YXR1c19zdHJpbmciOiAiT0siLAotICAgICJtZXNzYWdlIjogbnVsbAotICB9LAotICAi
c3VtbWFyaXplZF90ZXN0cyI6IFsKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNT
IiwKLSAgICAgICJuYW1lIjogIkV4YW1wbGUgd2l0aCBpZnJhbWUgdGhhdCBub3RpZmllcyBjb250
YWluaW5nIGRvY3VtZW50IHZpYSBjYWxsYmFja3MiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwK
LSAgICAgICJtZXNzYWdlIjogbnVsbAotICAgIH0KLSAgXSwKLSAgInR5cGUiOiAiY29tcGxldGUi
Ci19Ci08L3NjcmlwdD4KLTwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC9p
ZnJhbWUtY29uc29saWRhdGUtZXJyb3JzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvaWZyYW1l
LWNvbnNvbGlkYXRlLWVycm9ycy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBl
MzgyYzZlNmZkOS4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFsL2lmcmFtZS1j
b25zb2xpZGF0ZS1lcnJvcnMuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDUzICswLDAgQEAKLTwh
RE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLTxtZXRhIG5hbWU9InZhcmlhbnQiIGNvbnRl
bnQ9IiI+Ci08bWV0YSBuYW1lPSJ2YXJpYW50IiBjb250ZW50PSI/a2VlcC1wcm9taXNlIj4KLTx0
aXRsZT5FeGFtcGxlIHdpdGggaWZyYW1lIHRoYXQgY29uc29saWRhdGVzIGVycm9ycyB2aWEgZmV0
Y2hfdGVzdHNfZnJvbV93aW5kb3c8L3RpdGxlPgotPHNjcmlwdCBzcmM9Ii4uLy4uL3ZhcmlhbnRz
LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQ+Ci12YXIgcGFyZW50X3Rlc3QgPSBhc3luY190ZXN0KCJUZXN0IGV4
ZWN1dGluZyBpbiBwYXJlbnQgY29udGV4dCIpOwotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBv
bmxvYWQ9InBhcmVudF90ZXN0LmRvbmUoKSI+Ci08aDE+RmV0Y2hpbmcgVGVzdHMgRnJvbSBhIENo
aWxkIENvbnRleHQ8L2gxPgotPHA+VGhpcyB0ZXN0IGRlbW9uc3RyYXRlcyB0aGUgdXNlIG9mIDx0
dD5mZXRjaF90ZXN0c19mcm9tX3dpbmRvdzwvdHQ+IHRvIHB1bGwKLXRlc3RzIGZyb20gYW4gPHR0
PmlmcmFtZTwvdHQ+IGludG8gdGhlIHByaW1hcnkgZG9jdW1lbnQuPC9wPgotPHA+VGhlIHRlc3Qg
c3VpdGUgaXMgZXhwZWN0ZWQgdG8gZmFpbCBkdWUgdG8gYW4gdW5oYW5kbGVkIGV4Y2VwdGlvbiBp
biB0aGUKLWNoaWxkIGNvbnRleHQuPC9wPgotPGRpdiBpZD0ibG9nIj48L2Rpdj4KLQotPGlmcmFt
ZSBpZD0iY2hpbGRDb250ZXh0IiBzcmM9InVuY2F1Z2h0LWV4Y2VwdGlvbi1oYW5kbGUuaHRtbCIg
c3R5bGU9ImRpc3BsYXk6bm9uZSI+PC9pZnJhbWU+Ci08IS0tIGFwaXNhbXBsZTQuaHRtbCBpcyBh
IGZhaWxpbmcgc3VpdGUgZHVlIHRvIGFuIHVuaGFuZGxlZCBFcnJvci4gLS0+Ci0KLTxzY3JpcHQ+
Ci0gIHZhciBjaGlsZENvbnRleHQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2hpbGRDb250
ZXh0Iik7Ci0gIGZldGNoX3Rlc3RzX2Zyb21fd2luZG93KGNoaWxkQ29udGV4dC5jb250ZW50V2lu
ZG93KTsKLTwvc2NyaXB0PgotPHNjcmlwdCB0eXBlPSJ0ZXh0L2pzb24iIGlkPSJleHBlY3RlZCI+
Ci17Ci0gICJzdW1tYXJpemVkX3N0YXR1cyI6IHsKLSAgICAic3RhdHVzX3N0cmluZyI6ICJFUlJP
UiIsCi0gICAgIm1lc3NhZ2UiOiAiRXJyb3IgaW4gcmVtb3RlOiBFcnJvcjogRXhhbXBsZSBFcnJv
ciIKLSAgfSwKLSAgInN1bW1hcml6ZWRfdGVzdHMiOiBbCi0gICAgewotICAgICAgInN0YXR1c19z
dHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJUZXN0IGV4ZWN1dGluZyBpbiBwYXJlbnQg
Y29udGV4dCIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxs
Ci0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJOT1RSVU4iLAotICAgICAg
Im5hbWUiOiAiVGhpcyBzaG91bGQgc2hvdyBhIGhhcm5lc3Mgc3RhdHVzIG9mICdFcnJvcicgYW5k
IGEgdGVzdCBzdGF0dXMgb2YgJ05vdCBSdW4nIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0g
ICAgICAibWVzc2FnZSI6IG51bGwKLSAgICB9Ci0gIF0sCi0gICJ0eXBlIjogImNvbXBsZXRlIgot
fQotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0
aW9uYWwvaWZyYW1lLWNvbnNvbGlkYXRlLXRlc3RzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwv
aWZyYW1lLWNvbnNvbGlkYXRlLXRlc3RzLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IGNjYzllYjc2NWM0Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvaWZy
YW1lLWNvbnNvbGlkYXRlLXRlc3RzLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw4OSArMCwwIEBA
Ci08IURPQ1RZUEUgSFRNTD4KLTxodG1sPgotPGhlYWQ+Ci08bWV0YSBuYW1lPSJ2YXJpYW50IiBj
b250ZW50PSIiPgotPG1ldGEgbmFtZT0idmFyaWFudCIgY29udGVudD0iP2tlZXAtcHJvbWlzZSI+
Ci08dGl0bGU+RXhhbXBsZSB3aXRoIGlmcmFtZSB0aGF0IGNvbnNvbGlkYXRlcyB0ZXN0cyB2aWEg
ZmV0Y2hfdGVzdHNfZnJvbV93aW5kb3c8L3RpdGxlPgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Zhcmlh
bnRzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQ+Ci12YXIgcGFyZW50X3Rlc3QgPSBhc3luY190ZXN0KCJUZXN0
IGV4ZWN1dGluZyBpbiBwYXJlbnQgY29udGV4dCIpOwotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9k
eSBvbmxvYWQ9InBhcmVudF90ZXN0LmRvbmUoKSI+Ci08aDE+RmV0Y2hpbmcgVGVzdHMgRnJvbSBh
IENoaWxkIENvbnRleHQ8L2gxPgotPHA+VGhpcyB0ZXN0IGRlbW9uc3RyYXRlcyB0aGUgdXNlIG9m
IDx0dD5mZXRjaF90ZXN0c19mcm9tX3dpbmRvdzwvdHQ+IHRvIHB1bGwKLXRlc3RzIGZyb20gYW4g
PHR0PmlmcmFtZTwvdHQ+IGludG8gdGhlIHByaW1hcnkgZG9jdW1lbnQuPC9wPgotPHA+VGhlIHRl
c3Qgc3VpdGUgd2lsbCBub3QgY29tcGxldGUgdW50aWwgdGVzdHMgaW4gdGhlIGNoaWxkIGNvbnRl
eHQgaGF2ZSBmaW5pc2hlZAotZXhlY3V0aW5nPC9wPgotPGRpdiBpZD0ibG9nIj48L2Rpdj4KLQot
PGlmcmFtZSBpZD0iY2hpbGRDb250ZXh0IiBzcmM9InByb21pc2UtYXN5bmMuaHRtbD9rZWVwLXBy
b21pc2UiIHN0eWxlPSJkaXNwbGF5Om5vbmUiPjwvaWZyYW1lPgotPCEtLSBwcm9taXNlLWFzeW5j
Lmh0bWwgaGFzIGFzeW5jIHRlc3RzIHdpdGggcHJvbWlzZXMgLS0+Ci0KLTxzY3JpcHQ+Ci0gIHZh
ciBjaGlsZENvbnRleHQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2hpbGRDb250ZXh0Iik7
Ci0gIGZldGNoX3Rlc3RzX2Zyb21fd2luZG93KGNoaWxkQ29udGV4dC5jb250ZW50V2luZG93KTsK
LTwvc2NyaXB0PgotPHNjcmlwdCB0eXBlPSJ0ZXh0L2pzb24iIGlkPSJleHBlY3RlZCI+Ci17Ci0g
ICJzdW1tYXJpemVkX3N0YXR1cyI6IHsKLSAgICAic3RhdHVzX3N0cmluZyI6ICJPSyIsCi0gICAg
Im1lc3NhZ2UiOiBudWxsCi0gIH0sCi0gICJzdW1tYXJpemVkX3Rlc3RzIjogWwotICAgIHsKLSAg
ICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUiOiAiUHJvbWlzZSByZWpl
Y3Rpb24iLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogbnVsbAot
ICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFt
ZSI6ICJQcm9taXNlIHJlc29sdXRpb24iLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAg
ICJtZXNzYWdlIjogbnVsbAotICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAi
RkFJTCIsCi0gICAgICAibmFtZSI6ICJQcm9taXNlcyBhbmQgdGVzdCBhc3NlcnRpb24gZmFpbHVy
ZXMgKHNob3VsZCBmYWlsKSIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3Nh
Z2UiOiAiYXNzZXJ0X3RydWU6IFRoaXMgZmFpbHVyZSBpcyBleHBlY3RlZCBleHBlY3RlZCB0cnVl
IGdvdCBmYWxzZSIKLSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1Mi
LAotICAgICAgIm5hbWUiOiAiUHJvbWlzZXMgYXJlIHN1cHBvcnRlZCBpbiB5b3VyIGJyb3dzZXIi
LAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogbnVsbAotICAgIH0s
Ci0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJQ
cm9taXNlcyByZXNvbHV0aW9uIGNoYWluaW5nIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0g
ICAgICAibWVzc2FnZSI6IG51bGwKLSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5n
IjogIlBBU1MiLAotICAgICAgIm5hbWUiOiAiVGVzdCBleGVjdXRpbmcgaW4gcGFyZW50IGNvbnRl
eHQiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogbnVsbAotICAg
IH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6
ICJVc2Ugb2Ygc3RlcF9mdW5jIHdpdGggUHJvbWlzZXMiLAotICAgICAgInByb3BlcnRpZXMiOiB7
fSwKLSAgICAgICJtZXNzYWdlIjogbnVsbAotICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19z
dHJpbmciOiAiRkFJTCIsCi0gICAgICAibmFtZSI6ICJVc2Ugb2YgdW5yZWFjaGVkX2Z1bmMgd2l0
aCBQcm9taXNlcyAoc2hvdWxkIGZhaWwpIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAg
ICAibWVzc2FnZSI6ICJhc3NlcnRfdW5yZWFjaGVkOiBUaGlzIGZhaWx1cmUgaXMgZXhwZWN0ZWQg
UmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlIgotICAgIH0KLSAgXSwKLSAgInR5cGUiOiAiY29tcGxl
dGUiCi19Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMv
ZnVuY3Rpb25hbC9pZnJhbWUtbXNnLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvaWZyYW1lLW1z
Zy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjZDJjMjZjMjc4ZS4uMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFsL2lmcmFtZS1tc2cuaHRtbAorKysgL2Rldi9u
dWxsCkBAIC0xLDg3ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLTxt
ZXRhIG5hbWU9InZhcmlhbnQiIGNvbnRlbnQ9IiI+Ci08bWV0YSBuYW1lPSJ2YXJpYW50IiBjb250
ZW50PSI/a2VlcC1wcm9taXNlIj4KLTx0aXRsZT5FeGFtcGxlIHdpdGggaWZyYW1lIHRoYXQgbm90
aWZpZXMgY29udGFpbmluZyBkb2N1bWVudCB2aWEgY3Jvc3MgZG9jdW1lbnQgbWVzc2FnaW5nPC90
aXRsZT4KLTxzY3JpcHQgc3JjPSIuLi8uLi92YXJpYW50cy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9k
eT4KLTxoMT5Ob3RpZmljYXRpb25zIEZyb20gVGVzdHMgUnVubmluZyBJbiBBbiBJRlJBTUU8L2gx
PgotPHA+QSB0ZXN0IGlzIHJ1biBpbnNpZGUgYW4gPHR0PmlmcmFtZTwvdHQ+IHdpdGggYSBzYW1l
IG9yaWdpbiBkb2N1bWVudC4gVGhlCi1jb250YWluaW5nIGRvY3VtZW50IHNob3VsZCByZWNlaXZl
IG1lc3NhZ2VzIHZpYSA8dHQ+cG9zdE1lc3NhZ2U8L3R0Pi8KLTx0dD5vbm1lc3NhZ2U8L3R0PiBh
cyB0aGUgdGVzdHMgcHJvZ3Jlc3MgaW5zaWRlIHRoZSA8dHQ+aWZyYW1lPC90dD4uIEEgc2luZ2xl
Ci1wYXNzaW5nIHRlc3QgaXMgZXhwZWN0ZWQgaW4gdGhlIHN1bW1hcnkgYmVsb3cuCi08L3A+Ci08
ZGl2IGlkPSJsb2ciPjwvZGl2PgotCi08c2NyaXB0PgotdmFyIHQgPSBhc3luY190ZXN0KCJDb250
YWluaW5nIGRvY3VtZW50IHJlY2VpdmVzIG1lc3NhZ2VzIik7Ci12YXIgc3RhcnRfcmVjZWl2ZWQg
PSBmYWxzZTsKLXZhciByZXN1bHRfcmVjZWl2ZWQgPSBmYWxzZTsKLXZhciBjb21wbGV0aW9uX3Jl
Y2VpdmVkID0gZmFsc2U7Ci0KLS8vIFRoZXNlIGFyZSB0aGUgbWVzc2FnZXMgdGhhdCBhcmUgZXhw
ZWN0ZWQgdG8gYmUgc2VlbiB3aGlsZSBydW5uaW5nIHRoZSB0ZXN0cwotLy8gaW4gdGhlIElGUkFN
RS4KLXZhciBleHBlY3RlZF9tZXNzYWdlcyA9IFsKLSAgICB0LnN0ZXBfZnVuYygKLSAgICAgICAg
ZnVuY3Rpb24obWVzc2FnZSkgewotICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhtZXNzYWdlLmRh
dGEudHlwZSwgInN0YXJ0Iik7Ci0gICAgICAgICAgICBhc3NlcnRfb3duX3Byb3BlcnR5KG1lc3Nh
Z2UuZGF0YSwgInByb3BlcnRpZXMiKTsKLSAgICAgICAgfSksCi0KLSAgICB0LnN0ZXBfZnVuYygK
LSAgICAgICAgZnVuY3Rpb24obWVzc2FnZSkgewotICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyht
ZXNzYWdlLmRhdGEudHlwZSwgInRlc3Rfc3RhdGUiKTsKLSAgICAgICAgICAgIGFzc2VydF9lcXVh
bHMobWVzc2FnZS5kYXRhLnRlc3Quc3RhdHVzLCBtZXNzYWdlLmRhdGEudGVzdC5OT1RSVU4pOwot
ICAgICAgICB9KSwKLQotICAgIHQuc3RlcF9mdW5jKAotICAgICAgICBmdW5jdGlvbihtZXNzYWdl
KSB7Ci0gICAgICAgICAgICBhc3NlcnRfZXF1YWxzKG1lc3NhZ2UuZGF0YS50eXBlLCAicmVzdWx0
Iik7Ci0gICAgICAgICAgICBhc3NlcnRfZXF1YWxzKG1lc3NhZ2UuZGF0YS50ZXN0LnN0YXR1cywg
bWVzc2FnZS5kYXRhLnRlc3QuUEFTUyk7Ci0gICAgICAgIH0pLAotCi0gICAgdC5zdGVwX2Z1bmMo
Ci0gICAgICAgIGZ1bmN0aW9uKG1lc3NhZ2UpIHsKLSAgICAgICAgICAgIGFzc2VydF9lcXVhbHMo
bWVzc2FnZS5kYXRhLnR5cGUsICJjb21wbGV0ZSIpOwotICAgICAgICAgICAgYXNzZXJ0X2VxdWFs
cyhtZXNzYWdlLmRhdGEudGVzdHMubGVuZ3RoLCAxKTsKLSAgICAgICAgICAgIGFzc2VydF9lcXVh
bHMobWVzc2FnZS5kYXRhLnRlc3RzWzBdLnN0YXR1cywKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgbWVzc2FnZS5kYXRhLnRlc3RzWzBdLlBBU1MpOwotICAgICAgICAgICAgYXNzZXJ0X2VxdWFs
cyhtZXNzYWdlLmRhdGEuc3RhdHVzLnN0YXR1cywgbWVzc2FnZS5kYXRhLnN0YXR1cy5PSyk7Ci0g
ICAgICAgICAgICB0LmRvbmUoKTsKLSAgICAgICAgfSksCi0KLSAgICB0LnVucmVhY2hlZF9mdW5j
KCJUb28gbWFueSBtZXNzYWdlcyByZWNlaXZlZCIpCi1dOwotCi1vbl9ldmVudCh3aW5kb3csCi0g
ICAgICAgICAibWVzc2FnZSIsCi0gICAgICAgICBmdW5jdGlvbihtZXNzYWdlKSB7Ci0gICAgICAg
ICAgICAgdmFyIGhhbmRsZXIgPSBleHBlY3RlZF9tZXNzYWdlcy5zaGlmdCgpOwotICAgICAgICAg
ICAgIGhhbmRsZXIobWVzc2FnZSk7Ci0gICAgICAgICB9KTsKLTwvc2NyaXB0PgotPGlmcmFtZSBz
cmM9InNpbmdsZS1wYWdlLXRlc3QtcGFzcy5odG1sIiBzdHlsZT0iZGlzcGxheTpub25lIj4KLSAg
PCEtLSBzaW5nbGUtcGFnZS10ZXN0LXBhc3MuaHRtbCBpbXBsZW1lbnRzIGEgZmlsZV9pc190ZXN0
IHRlc3QuIC0tPgotPC9pZnJhbWU+Ci08c2NyaXB0IHR5cGU9InRleHQvanNvbiIgaWQ9ImV4cGVj
dGVkIj4KLXsKLSAgInN1bW1hcml6ZWRfc3RhdHVzIjogewotICAgICJzdGF0dXNfc3RyaW5nIjog
Ik9LIiwKLSAgICAibWVzc2FnZSI6IG51bGwKLSAgfSwKLSAgInN1bW1hcml6ZWRfdGVzdHMiOiBb
Ci0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJD
b250YWluaW5nIGRvY3VtZW50IHJlY2VpdmVzIG1lc3NhZ2VzIiwKLSAgICAgICJwcm9wZXJ0aWVz
Ijoge30sCi0gICAgICAibWVzc2FnZSI6IG51bGwKLSAgICB9Ci0gIF0sCi0gICJ0eXBlIjogImNv
bXBsZXRlIgotfQotPC9zY3JpcHQ+Ci08L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0
aW9uYWwvbG9nLWluc2VydGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFsL2xvZy1pbnNlcnRp
b24uaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYWVlM2MwMDJjOTQuLjAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC9sb2ctaW5zZXJ0aW9uLmh0bWwKKysrIC9k
ZXYvbnVsbApAQCAtMSw0OSArMCwwIEBACi08IURPQ1RZUEUgSFRNTD4KLTx0aXRsZT5Mb2cgaW5z
ZXJ0aW9uPC90aXRsZT4KLTxtZXRhIG5hbWU9InZhcmlhbnQiIGNvbnRlbnQ9IiI+Ci08bWV0YSBu
YW1lPSJ2YXJpYW50IiBjb250ZW50PSI/a2VlcC1wcm9taXNlIj4KLTxzY3JpcHQgc3JjPSIuLi8u
Li92YXJpYW50cy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotdGVzdChmdW5jdGlvbih0KSB7Ci0gIGFzc2Vy
dF9lcXVhbHMoZG9jdW1lbnQuYm9keSwgbnVsbCk7Ci19LCAiTG9nIGluc2VydGlvbiBiZWZvcmUg
bG9hZCIpOwotdGVzdChmdW5jdGlvbih0KSB7Ci0gIGFzc2VydF9lcXVhbHMoZG9jdW1lbnQuYm9k
eSwgbnVsbCk7Ci19LCAiTG9nIGluc2VydGlvbiBiZWZvcmUgbG9hZCAoYWdhaW4pIik7Ci1hc3lu
Y190ZXN0KGZ1bmN0aW9uKHQpIHsKLSAgd2luZG93Lm9ubG9hZCA9IHQuc3RlcF9mdW5jX2RvbmUo
ZnVuY3Rpb24oKSB7Ci0gICAgdmFyIGJvZHkgPSBkb2N1bWVudC5ib2R5OwotICAgIGFzc2VydF9u
b3RfZXF1YWxzKGJvZHksIG51bGwpOwotCi0gICAgdmFyIGxvZyA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJsb2ciKTsKLSAgICBhc3NlcnRfZXF1YWxzKGxvZy5wYXJlbnROb2RlLCBib2R5KTsK
LSAgfSk7Ci19LCAiTG9nIGluc2VydGlvbiBhZnRlciBsb2FkIik7Ci08L3NjcmlwdD4KLTxzY3Jp
cHQgdHlwZT0idGV4dC9qc29uIiBpZD0iZXhwZWN0ZWQiPgotewotICAic3VtbWFyaXplZF9zdGF0
dXMiOiB7Ci0gICAgInN0YXR1c19zdHJpbmciOiAiT0siLAotICAgICJtZXNzYWdlIjogbnVsbAot
ICB9LAotICAic3VtbWFyaXplZF90ZXN0cyI6IFt7Ci0gICAgInN0YXR1c19zdHJpbmciOiAiUEFT
UyIsCi0gICAgIm5hbWUiOiAiTG9nIGluc2VydGlvbiBiZWZvcmUgbG9hZCIsCi0gICAgIm1lc3Nh
Z2UiOiBudWxsLAotICAgICJwcm9wZXJ0aWVzIjoge30KLSAgfSwgewotICAgICJzdGF0dXNfc3Ry
aW5nIjogIlBBU1MiLAotICAgICJuYW1lIjogIkxvZyBpbnNlcnRpb24gYmVmb3JlIGxvYWQgKGFn
YWluKSIsCi0gICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICJwcm9wZXJ0aWVzIjoge30KLSAgfSwg
ewotICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICJuYW1lIjogIkxvZyBpbnNlcnRp
b24gYWZ0ZXIgbG9hZCIsCi0gICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICJwcm9wZXJ0aWVzIjog
e30KLSAgfV0sCi0gICJ0eXBlIjogImNvbXBsZXRlIgotfQotPC9zY3JpcHQ+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90
ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvb3JkZXIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC9vcmRl
ci5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlYzk5NzhkODk4MC4uMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFsL29yZGVyLmh0bWwKKysrIC9kZXYvbnVsbApA
QCAtMSwzOSArMCwwIEBACi08IURPQ1RZUEUgSFRNTD4KLTxodG1sPgotPGhlYWQ+Ci08bWV0YSBu
YW1lPSJ2YXJpYW50IiBjb250ZW50PSIiPgotPG1ldGEgbmFtZT0idmFyaWFudCIgY29udGVudD0i
P2tlZXAtcHJvbWlzZSI+Ci08dGl0bGU+T3JkZXJpbmc8L3RpdGxlPgotPHNjcmlwdCBzcmM9Ii4u
Ly4uL3ZhcmlhbnRzLmpzIj48L3NjcmlwdD4KLTxtZXRhIG5hbWU9InRpbWVvdXQiIGNvbnRlbnQ9
IjYwMDAiPgotPC9oZWFkPgotPGJvZHk+Ci08ZGl2IGlkPSJsb2ciPjwvZGl2PgotPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLXRlc3Qo
ZnVuY3Rpb24oKSB7fSwgJ3NlY29uZCcpOwotdGVzdChmdW5jdGlvbigpIHt9LCAnZmlyc3QnKTsK
LTwvc2NyaXB0PgotPHNjcmlwdCB0eXBlPSJ0ZXh0L2pzb24iIGlkPSJleHBlY3RlZCI+Ci17Ci0g
ICJzdW1tYXJpemVkX3N0YXR1cyI6IHsKLSAgICAic3RhdHVzX3N0cmluZyI6ICJPSyIsCi0gICAg
Im1lc3NhZ2UiOiBudWxsCi0gIH0sCi0gICJzdW1tYXJpemVkX3Rlc3RzIjogW3sKLSAgICAic3Rh
dHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAibmFtZSI6ICJmaXJzdCIsCi0gICAgIm1lc3NhZ2Ui
OiBudWxsLAotICAgICJwcm9wZXJ0aWVzIjoge30KLSAgfSwgewotICAgICJzdGF0dXNfc3RyaW5n
IjogIlBBU1MiLAotICAgICJuYW1lIjogInNlY29uZCIsCi0gICAgIm1lc3NhZ2UiOiBudWxsLAot
ICAgICJwcm9wZXJ0aWVzIjoge30KLSAgfV0sCi0gICJ0eXBlIjogImNvbXBsZXRlIgotfQotPC9z
Y3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwv
cHJvbWlzZS1hc3luYy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFsL3Byb21pc2UtYXN5bmMuaHRt
bApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDRjNjI3OTRjNGYuLjAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC9wcm9taXNlLWFzeW5jLmh0bWwKKysrIC9kZXYvbnVs
bApAQCAtMSwxNzQgKzAsMCBAQAotPCFET0NUWVBFIEhUTUw+Ci08aHRtbD4KLTxoZWFkPgotPG1l
dGEgbmFtZT0idmFyaWFudCIgY29udGVudD0iP2tlZXAtcHJvbWlzZSI+Ci08dGl0bGU+QXN5bmMg
VGVzdHMgYW5kIFByb21pc2VzPC90aXRsZT4KLTxzY3JpcHQgc3JjPSIuLi8uLi92YXJpYW50cy5q
cyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxoMT5Bc3luYyBUZXN0cyBhbmQgUHJvbWlz
ZXM8L2gxPgotPHA+VGhpcyB0ZXN0IGFzc3VtZXMgRUNNQVNjcmlwdCA2IFByb21pc2Ugc3VwcG9y
dC4gU29tZSBmYWlsdXJlcyBhcmUgZXhwZWN0ZWQuPC9wPgotPGRpdiBpZD0ibG9nIj48L2Rpdj4K
LTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQ+Ci0KLXRlc3QoZnVuY3Rpb24oKSB7Ci0gIHZhciBwID0gbmV3IFByb21pc2UoZnVuY3Rpb24o
cmVzb2x2ZSwgcmVqZWN0KSB7fSk7Ci0gIGFzc2VydF90cnVlKCd0aGVuJyBpbiBwKTsKLSAgYXNz
ZXJ0X2VxdWFscyh0eXBlb2YgUHJvbWlzZS5yZXNvbHZlLCAnZnVuY3Rpb24nKTsKLSAgYXNzZXJ0
X2VxdWFscyh0eXBlb2YgUHJvbWlzZS5yZWplY3QsICdmdW5jdGlvbicpOwotfSwgIlByb21pc2Vz
IGFyZSBzdXBwb3J0ZWQgaW4geW91ciBicm93c2VyIik7Ci0KLShmdW5jdGlvbigpIHsKLSAgdmFy
IHQgPSBhc3luY190ZXN0KCJQcm9taXNlIHJlc29sdXRpb24iKTsKLSAgdC5zdGVwKGZ1bmN0aW9u
KCkgewotICAgIFByb21pc2UucmVzb2x2ZSgneCcpLnRoZW4oCi0gICAgICB0LnN0ZXBfZnVuYyhm
dW5jdGlvbih2YWx1ZSkgewotICAgICAgICBhc3NlcnRfZXF1YWxzKHZhbHVlLCAneCcpOwotICAg
ICAgICB0LmRvbmUoKTsKLSAgICAgIH0pLAotICAgICAgdC51bnJlYWNoZWRfZnVuYygnUHJvbWlz
ZSBzaG91bGQgbm90IHJlamVjdCcpCi0gICAgKTsKLSAgfSk7Ci19KCkpOwotCi0oZnVuY3Rpb24o
KSB7Ci0gIHZhciB0ID0gYXN5bmNfdGVzdCgiUHJvbWlzZSByZWplY3Rpb24iKTsKLSAgdC5zdGVw
KGZ1bmN0aW9uKCkgewotICAgIFByb21pc2UucmVqZWN0KEVycm9yKCdmYWlsJykpLnRoZW4oCi0g
ICAgICB0LnVucmVhY2hlZF9mdW5jKCdQcm9taXNlIHNob3VsZCByZWplY3QnKSwKLSAgICAgIHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewotICAgICAgICBhc3NlcnRfdHJ1ZShyZWFzb24g
aW5zdGFuY2VvZiBFcnJvcik7Ci0gICAgICAgIGFzc2VydF9lcXVhbHMocmVhc29uLm1lc3NhZ2Us
ICdmYWlsJyk7Ci0gICAgICAgIHQuZG9uZSgpOwotICAgICAgfSkKLSAgICApOwotICB9KTsKLX0o
KSk7Ci0KLShmdW5jdGlvbigpIHsKLSAgdmFyIHQgPSBhc3luY190ZXN0KCJQcm9taXNlcyByZXNv
bHV0aW9uIGNoYWluaW5nIik7Ci0gIHQuc3RlcChmdW5jdGlvbigpIHsKLSAgICB2YXIgcmVzb2x1
dGlvbnMgPSBbXTsKLSAgICBQcm9taXNlLnJlc29sdmUoJ2EnKS50aGVuKAotICAgICAgdC5zdGVw
X2Z1bmMoZnVuY3Rpb24odmFsdWUpIHsKLSAgICAgICAgcmVzb2x1dGlvbnMucHVzaCh2YWx1ZSk7
Ci0gICAgICAgIHJldHVybiAnYic7Ci0gICAgICB9KQotICAgICkudGhlbigKLSAgICAgIHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHZhbHVlKSB7Ci0gICAgICAgIHJlc29sdXRpb25zLnB1c2godmFsdWUp
OwotICAgICAgICByZXR1cm4gJ2MnOwotICAgICAgfSkKLSAgICApLnRoZW4oCi0gICAgICB0LnN0
ZXBfZnVuYyhmdW5jdGlvbih2YWx1ZSkgewotICAgICAgICByZXNvbHV0aW9ucy5wdXNoKHZhbHVl
KTsKLQotICAgICAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKHJlc29sdXRpb25zLCBbJ2EnLCAnYics
ICdjJ10pOwotICAgICAgICB0LmRvbmUoKTsKLSAgICAgIH0pCi0gICAgKS5jYXRjaCgKLSAgICAg
IHQudW5yZWFjaGVkX2Z1bmMoJ3Byb21pc2Ugc2hvdWxkIG5vdCBoYXZlIHJlamVjdGVkJykKLSAg
ICApOwotICB9KTsKLX0oKSk7Ci0KLShmdW5jdGlvbigpIHsKLSAgdmFyIHQgPSBhc3luY190ZXN0
KCJVc2Ugb2Ygc3RlcF9mdW5jIHdpdGggUHJvbWlzZXMiKTsKLSAgdC5zdGVwKGZ1bmN0aW9uKCkg
ewotICAgIHZhciByZXNvbHV0aW9ucyA9IFtdOwotICAgIFByb21pc2UucmVzb2x2ZSgneCcpLnRo
ZW4oCi0gICAgICB0LnN0ZXBfZnVuY19kb25lKCksCi0gICAgICB0LnVucmVhY2hlZF9mdW5jKCdQ
cm9taXNlIHNob3VsZCBub3QgaGF2ZSByZWplY3RlZCcpCi0gICAgKTsKLSAgfSk7Ci19KCkpOwot
Ci0oZnVuY3Rpb24oKSB7Ci0gIHZhciB0ID0gYXN5bmNfdGVzdCgiUHJvbWlzZXMgYW5kIHRlc3Qg
YXNzZXJ0aW9uIGZhaWx1cmVzIChzaG91bGQgZmFpbCkiKTsKLSAgdC5zdGVwKGZ1bmN0aW9uKCkg
ewotICAgIHZhciByZXNvbHV0aW9ucyA9IFtdOwotICAgIFByb21pc2UucmVzb2x2ZSgneCcpLnRo
ZW4oCi0gICAgICB0LnN0ZXBfZnVuYyhmdW5jdGlvbih2YWx1ZSkgewotICAgICAgICBhc3NlcnRf
dHJ1ZShmYWxzZSwgJ1RoaXMgZmFpbHVyZSBpcyBleHBlY3RlZCcpOwotICAgICAgfSkKLSAgICAp
LnRoZW4oCi0gICAgICB0LnVucmVhY2hlZF9mdW5jKCdQcm9taXNlIHNob3VsZCBub3QgaGF2ZSBy
ZXNvbHZlZCcpCi0gICAgKS5jYXRjaCgKLSAgICAgIHQudW5yZWFjaGVkX2Z1bmMoJ1Byb21pc2Ug
c2hvdWxkIG5vdCBoYXZlIHJlamVjdGVkJykKLSAgICApOwotICB9KTsKLX0oKSk7Ci0KLShmdW5j
dGlvbigpIHsKLSAgdmFyIHQgPSBhc3luY190ZXN0KCJVc2Ugb2YgdW5yZWFjaGVkX2Z1bmMgd2l0
aCBQcm9taXNlcyAoc2hvdWxkIGZhaWwpIik7Ci0gIHQuc3RlcChmdW5jdGlvbigpIHsKLSAgICB2
YXIgcmVzb2x1dGlvbnMgPSBbXTsKLSAgICB2YXIgcjsKLSAgICB2YXIgcCA9IG5ldyBQcm9taXNl
KGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewotICAgICAgLy8gUmVqZWN0IGluc3RlYWQgb2Yg
cmVzb2x2ZSwgdG8gZGVtb25zdHJhdGUgZmFpbHVyZS4KLSAgICAgIHJlamVjdCgxMjMpOwotICAg
IH0pOwotICAgIHAudGhlbigKLSAgICAgIGZ1bmN0aW9uKHZhbHVlKSB7Ci0gICAgICAgIGFzc2Vy
dF9lcXVhbHModmFsdWUsIDEyMywgJ1RoaXMgc2hvdWxkIG5vdCBhY3R1YWxseSBoYXBwZW4nKTsK
LSAgICAgIH0sCi0gICAgICB0LnVucmVhY2hlZF9mdW5jKCdUaGlzIGZhaWx1cmUgaXMgZXhwZWN0
ZWQnKQotICAgICk7Ci0gIH0pOwotfSgpKTsKLTwvc2NyaXB0PgotPHNjcmlwdCB0eXBlPSJ0ZXh0
L2pzb24iIGlkPSJleHBlY3RlZCI+Ci17Ci0gICJzdW1tYXJpemVkX3N0YXR1cyI6IHsKLSAgICAi
c3RhdHVzX3N0cmluZyI6ICJPSyIsCi0gICAgIm1lc3NhZ2UiOiBudWxsCi0gIH0sCi0gICJzdW1t
YXJpemVkX3Rlc3RzIjogWwotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAot
ICAgICAgIm5hbWUiOiAiUHJvbWlzZSByZWplY3Rpb24iLAotICAgICAgInByb3BlcnRpZXMiOiB7
fSwKLSAgICAgICJtZXNzYWdlIjogbnVsbAotICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19z
dHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJQcm9taXNlIHJlc29sdXRpb24iLAotICAg
ICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogbnVsbAotICAgIH0sCi0gICAg
ewotICAgICAgInN0YXR1c19zdHJpbmciOiAiRkFJTCIsCi0gICAgICAibmFtZSI6ICJQcm9taXNl
cyBhbmQgdGVzdCBhc3NlcnRpb24gZmFpbHVyZXMgKHNob3VsZCBmYWlsKSIsCi0gICAgICAicHJv
cGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiAiYXNzZXJ0X3RydWU6IFRoaXMgZmFpbHVy
ZSBpcyBleHBlY3RlZCBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZSIKLSAgICB9LAotICAgIHsKLSAg
ICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUiOiAiUHJvbWlzZXMgYXJl
IHN1cHBvcnRlZCBpbiB5b3VyIGJyb3dzZXIiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAg
ICAgICJtZXNzYWdlIjogbnVsbAotICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmci
OiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJQcm9taXNlcyByZXNvbHV0aW9uIGNoYWluaW5nIiwK
LSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6IG51bGwKLSAgICB9LAot
ICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUiOiAiVXNl
IG9mIHN0ZXBfZnVuYyB3aXRoIFByb21pc2VzIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0g
ICAgICAibWVzc2FnZSI6IG51bGwKLSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5n
IjogIkZBSUwiLAotICAgICAgIm5hbWUiOiAiVXNlIG9mIHVucmVhY2hlZF9mdW5jIHdpdGggUHJv
bWlzZXMgKHNob3VsZCBmYWlsKSIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1l
c3NhZ2UiOiAiYXNzZXJ0X3VucmVhY2hlZDogVGhpcyBmYWlsdXJlIGlzIGV4cGVjdGVkIFJlYWNo
ZWQgdW5yZWFjaGFibGUgY29kZSIKLSAgICB9Ci0gIF0sCi0gICJ0eXBlIjogImNvbXBsZXRlIgot
fQotPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvcHJvbWlzZS13aXRo
LXN5bmMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC9wcm9taXNlLXdpdGgtc3luYy5odG1sCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyMzRmNTQ3NmU5Yy4uMDAwMDAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
dGVzdC90ZXN0cy9mdW5jdGlvbmFsL3Byb21pc2Utd2l0aC1zeW5jLmh0bWwKKysrIC9kZXYvbnVs
bApAQCAtMSw4MSArMCwwIEBACi08IURPQ1RZUEUgSFRNTD4KLTxodG1sPgotPGhlYWQ+Ci08bWV0
YSBuYW1lPSJ2YXJpYW50IiBjb250ZW50PSI/a2VlcC1wcm9taXNlIj4KLTx0aXRsZT5Qcm9taXNl
IFRlc3RzIGFuZCBTeW5jaHJvbm91cyBUZXN0czwvdGl0bGU+Ci08c2NyaXB0IHNyYz0iLi4vLi4v
dmFyaWFudHMuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08aDE+UHJvbWlzZSBUZXN0
czwvaDE+Ci08cD5UaGlzIHRlc3QgZGVtb25zdHJhdGVzIHRoZSB1c2Ugb2YgPHR0PnByb21pc2Vf
dGVzdDwvdHQ+IGFsb25nc2lkZSBzeW5jaHJvbm91cyB0ZXN0cy48L3A+Ci08ZGl2IGlkPSJsb2ci
PjwvZGl2PgotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIuLi8uLi8uLi90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0PgotInVzZSBzdHJpY3QiOwotdmFyIHNlcXVlbmNlID0gW107Ci0KLXRlc3QoZnVuY3Rp
b24odCkgewotICBhc3NlcnRfYXJyYXlfZXF1YWxzKHNlcXVlbmNlLCBbXSk7Ci0gIHNlcXVlbmNl
LnB1c2goMSk7Ci19LCAiZmlyc3Qgc3luY2hyb25vdXMgdGVzdCIpOwotCi1wcm9taXNlX3Rlc3Qo
ZnVuY3Rpb24oKSB7Ci0gIGFzc2VydF9hcnJheV9lcXVhbHMoc2VxdWVuY2UsIFsxLCAyXSk7Ci0K
LSAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpCi0gICAgLnRoZW4oZnVuY3Rpb24oKSB7Ci0gICAg
ICAgIGFzc2VydF9hcnJheV9lcXVhbHMoc2VxdWVuY2UsIFsxLCAyXSk7Ci0gICAgICAgIHNlcXVl
bmNlLnB1c2goMyk7Ci0gICAgICB9KTsKLX0sICJmaXJzdCBwcm9taXNlX3Rlc3QiKTs7Ci0KLXRl
c3QoZnVuY3Rpb24odCkgewotICBhc3NlcnRfYXJyYXlfZXF1YWxzKHNlcXVlbmNlLCBbMV0pOwot
ICBzZXF1ZW5jZS5wdXNoKDIpOwotfSwgInNlY29uZCBzeW5jaHJvbm91cyB0ZXN0Iik7Ci0KLXBy
b21pc2VfdGVzdChmdW5jdGlvbigpIHsKLSAgYXNzZXJ0X2FycmF5X2VxdWFscyhzZXF1ZW5jZSwg
WzEsIDIsIDNdKTsKLQotICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCkKLSAgICAudGhlbihmdW5j
dGlvbigpIHsKLSAgICAgICAgYXNzZXJ0X2FycmF5X2VxdWFscyhzZXF1ZW5jZSwgWzEsIDIsIDNd
KTsKLSAgICAgIH0pOwotfSwgInNlY29uZCBwcm9taXNlX3Rlc3QiKTs7Ci08L3NjcmlwdD4KLTxz
Y3JpcHQgdHlwZT0idGV4dC9qc29uIiBpZD0iZXhwZWN0ZWQiPgotewotICAic3VtbWFyaXplZF9z
dGF0dXMiOiB7Ci0gICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICJzdGF0dXNfc3RyaW5nIjogIk9L
IgotICB9LAotICAic3VtbWFyaXplZF90ZXN0cyI6IFsKLSAgICB7Ci0gICAgICAibWVzc2FnZSI6
IG51bGwsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm5hbWUiOiAiZmlyc3QgcHJv
bWlzZV90ZXN0IiwKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiCi0gICAgfSwKLSAgICB7
Ci0gICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAg
Im5hbWUiOiAiZmlyc3Qgc3luY2hyb25vdXMgdGVzdCIsCi0gICAgICAic3RhdHVzX3N0cmluZyI6
ICJQQVNTIgotICAgIH0sCi0gICAgewotICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgInBy
b3BlcnRpZXMiOiB7fSwKLSAgICAgICJuYW1lIjogInNlY29uZCBwcm9taXNlX3Rlc3QiLAotICAg
ICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIKLSAgICB9LAotICAgIHsKLSAgICAgICJtZXNzYWdl
IjogbnVsbCwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibmFtZSI6ICJzZWNvbmQg
c3luY2hyb25vdXMgdGVzdCIsCi0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIgotICAgIH0K
LSAgXSwKLSAgInR5cGUiOiAiY29tcGxldGUiCi19Ci08L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3Qv
dGVzdHMvZnVuY3Rpb25hbC9wcm9taXNlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvcHJvbWlz
ZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5ZGIxZGVjMGY5ZS4uMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFsL3Byb21pc2UuaHRtbAorKysgL2Rldi9udWxs
CkBAIC0xLDIyMSArMCwwIEBACi08IURPQ1RZUEUgSFRNTD4KLTxodG1sPgotPGhlYWQ+Ci08bWV0
YSBuYW1lPSJ2YXJpYW50IiBjb250ZW50PSI/a2VlcC1wcm9taXNlIj4KLTx0aXRsZT5Qcm9taXNl
IFRlc3RzPC90aXRsZT4KLTxzY3JpcHQgc3JjPSIuLi8uLi92YXJpYW50cy5qcyI+PC9zY3JpcHQ+
Ci08L2hlYWQ+Ci08Ym9keT4KLTxoMT5Qcm9taXNlIFRlc3RzPC9oMT4KLTxwPlRoaXMgdGVzdCBk
ZW1vbnN0cmF0ZXMgdGhlIHVzZSBvZiA8dHQ+cHJvbWlzZV90ZXN0PC90dD4uIEFzc3VtZXMgRUNN
QVNjcmlwdCA2Ci1Qcm9taXNlIHN1cHBvcnQuIFNvbWUgZmFpbHVyZXMgYXJlIGV4cGVjdGVkLjwv
cD4KLTxkaXYgaWQ9ImxvZyI+PC9kaXY+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotdGVzdCgKLSAgICBmdW5jdGlvbigpIHsKLSAg
ICAgICAgdmFyIHAgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3Qpe30pOwot
ICAgICAgICBhc3NlcnRfdHJ1ZSgidGhlbiIgaW4gcCk7Ci0gICAgICAgIGFzc2VydF9lcXVhbHMo
dHlwZW9mIFByb21pc2UucmVzb2x2ZSwgImZ1bmN0aW9uIik7Ci0gICAgICAgIGFzc2VydF9lcXVh
bHModHlwZW9mIFByb21pc2UucmVqZWN0LCAiZnVuY3Rpb24iKTsKLSAgICB9LAotICAgICJQcm9t
aXNlcyBhcmUgc3VwcG9ydGVkIGluIHlvdXIgYnJvd3NlciIpOwotCi1wcm9taXNlX3Rlc3QoCi0g
ICAgZnVuY3Rpb24oKSB7Ci0gICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoIngiKQotICAg
ICAgICAgICAgLnRoZW4oCi0gICAgICAgICAgICAgICAgZnVuY3Rpb24odmFsdWUpIHsKLSAgICAg
ICAgICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyh2YWx1ZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAieCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkZ1
bGZpbGxlZCBwcm9taXNlIHNob3VsZCBwYXNzIHJlc3VsdCB0byAiICsKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAiZnVsZmlsbCByZWFjdGlvbi4iKTsKLSAgICAgICAgICAgICAg
ICB9KTsKLSAgICB9LAotICAgICJQcm9taXNlIGZ1bGZpbGxtZW50IHdpdGggcmVzdWx0Iik7Ci0K
LXByb21pc2VfdGVzdCgKLSAgICBmdW5jdGlvbih0KSB7Ci0gICAgICAgIHJldHVybiBQcm9taXNl
LnJlamVjdChuZXcgRXJyb3IoImZhaWwiKSkKLSAgICAgICAgICAgIC50aGVuKHQudW5yZWFjaGVk
X2Z1bmMoIlByb21pc2Ugc2hvdWxkIHJlamVjdCIpLAotICAgICAgICAgICAgICAgIGZ1bmN0aW9u
KHJlYXNvbikgewotICAgICAgICAgICAgICAgICAgICBhc3NlcnRfdHJ1ZSgKLSAgICAgICAgICAg
ICAgICAgICAgICAgIHJlYXNvbiBpbnN0YW5jZW9mIEVycm9yLAotICAgICAgICAgICAgICAgICAg
ICAgICAgIlJlamVjdGVkIHByb21pc2Ugc2hvdWxkIHBhc3MgcmVhc29uIHRvIGZ1bGZpbGwgcmVh
Y3Rpb24uIik7Ci0gICAgICAgICAgICAgICAgICAgIGFzc2VydF9lcXVhbHMoCi0gICAgICAgICAg
ICAgICAgICAgICAgICByZWFzb24ubWVzc2FnZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJm
YWlsIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJSZWplY3RlZCBwcm9taXNlIHNob3VsZCBw
YXNzIHJlYXNvbiB0byByZWplY3QgcmVhY3Rpb24uIik7Ci0gICAgICAgICAgICAgICAgfSk7Ci0g
ICAgfSwKLSAgICAiUHJvbWlzZSByZWplY3Rpb24gd2l0aCByZXN1bHQiKTsKLQotcHJvbWlzZV90
ZXN0KAotICAgIGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgcmVzb2x1dGlvbnMgPSBbXTsKLSAg
ICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgiYSIpCi0gICAgICAgICAgICAudGhlbigKLSAg
ICAgICAgICAgICAgICBmdW5jdGlvbih2YWx1ZSkgewotICAgICAgICAgICAgICAgICAgICByZXNv
bHV0aW9ucy5wdXNoKHZhbHVlKTsKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuICJiIjsKLSAg
ICAgICAgICAgICAgICB9KQotICAgICAgICAgICAgLnRoZW4oCi0gICAgICAgICAgICAgICAgZnVu
Y3Rpb24odmFsdWUpIHsKLSAgICAgICAgICAgICAgICAgICAgcmVzb2x1dGlvbnMucHVzaCh2YWx1
ZSk7Ci0gICAgICAgICAgICAgICAgICAgIHJldHVybiAiYyI7Ci0gICAgICAgICAgICAgICAgfSkK
LSAgICAgICAgICAgIC50aGVuKAotICAgICAgICAgICAgICAgIGZ1bmN0aW9uKHZhbHVlKSB7Ci0g
ICAgICAgICAgICAgICAgICAgIHJlc29sdXRpb25zLnB1c2godmFsdWUpOwotICAgICAgICAgICAg
ICAgICAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKHJlc29sdXRpb25zLCBbImEiLCAiYiIsICJjIl0p
OwotICAgICAgICAgICAgICAgIH0pOwotICAgIH0sCi0gICAgIkNoYWluIG9mIHByb21pc2UgcmVz
b2x1dGlvbnMiKTsKLQotcHJvbWlzZV90ZXN0KAotICAgIGZ1bmN0aW9uKHQpIHsKLSAgICAgICAg
dmFyIHJlc29sdXRpb25zID0gW107Ci0gICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoIngi
KQotICAgICAgICAgICAgLnRoZW4oCi0gICAgICAgICAgICAgICAgZnVuY3Rpb24odmFsdWUpIHsK
LSAgICAgICAgICAgICAgICAgICAgYXNzZXJ0X3RydWUoZmFsc2UsICJFeHBlY3RlZCBmYWlsdXJl
LiIpOwotICAgICAgICAgICAgICAgIH0pCi0gICAgICAgICAgICAudGhlbih0LnVucmVhY2hlZF9m
dW5jKCJVTkVYUEVDVEVEIEZBSUxVUkU6IFByb21pc2Ugc2hvdWxkIG5vdCBoYXZlIHJlc29sdmVk
LiIpKTsKLSAgICB9LAotICAgICJBc3NlcnRpb24gZmFpbHVyZSBpbiBhIGZ1bGZpbGwgcmVhY3Rp
b24gKHNob3VsZCBGQUlMIHdpdGggYW4gZXhwZWN0ZWQgZmFpbHVyZSkiKTsKLQotcHJvbWlzZV90
ZXN0KAotICAgIGZ1bmN0aW9uKHQpIHsKLSAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKAotICAg
ICAgICAgICAgICAgIGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewotICAgICAgICAgICAgICAg
ICAgICByZWplY3QoMTIzKTsKLSAgICAgICAgICAgICAgICB9KQotICAgICAgICAgICAgLnRoZW4o
dC51bnJlYWNoZWRfZnVuYygiVU5FWFBFQ1RFRCBGQUlMVVJFOiBGdWxmaWxsIHJlYWN0aW9uIHJl
YWNoZWQgYWZ0ZXIgcmVqZWN0aW9uLiIpLAotICAgICAgICAgICAgICAgICAgdC51bnJlYWNoZWRf
ZnVuYygiRXhwZWN0ZWQgZmFpbHVyZS4iKSk7Ci0gICAgfSwKLSAgICAidW5yZWFjaGVkX2Z1bmMg
YXMgcmVhY3RvciAoc2hvdWxkIEZBSUwgd2l0aCBhbiBleHBlY3RlZCBmYWlsdXJlKSIpOwotCi1w
cm9taXNlX3Rlc3QoCi0gICAgZnVuY3Rpb24oKSB7Ci0gICAgICAgIHJldHVybiB0cnVlOwotICAg
IH0sCi0gICAgInByb21pc2VfdGVzdCB3aXRoIGZ1bmN0aW9uIHRoYXQgZG9lc24ndCByZXR1cm4g
YSBQcm9taXNlIChzaG91bGQgRkFJTCkiKTsKLQotcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKCl7fSwK
LSAgICAgICAgICAgICAicHJvbWlzZV90ZXN0IHdpdGggZnVuY3Rpb24gdGhhdCBkb2Vzbid0IHJl
dHVybiBhbnl0aGluZyIpOwotCi1wcm9taXNlX3Rlc3QoCi0gICAgZnVuY3Rpb24oKSB7IHJldHVy
biB7IHRoZW46IDIzIH07IH0sCi0gICAgInByb21pc2VfdGVzdCB0aGF0IHJldHVybnMgYSBub24t
dGhlbmFibGUgKHNob3VsZCBGQUlMKSIpOwotCi1wcm9taXNlX3Rlc3QoCi0gICAgZnVuY3Rpb24o
KSB7Ci0gICAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdCgiRXhwZWN0ZWQgcmVqZWN0aW9uIik7
Ci0gICAgfSwKLSAgICAicHJvbWlzZV90ZXN0IHdpdGggdW5oYW5kbGVkIHJlamVjdGlvbiAoc2hv
dWxkIEZBSUwpIik7Ci0KLXByb21pc2VfdGVzdCgKLSAgICBmdW5jdGlvbigpIHsKLSAgICAgICAg
cmV0dXJuIFByb21pc2UucmVzb2x2ZSgxMCkKLSAgICAgICAgICAgIC50aGVuKAotICAgICAgICAg
ICAgICAgIGZ1bmN0aW9uKHZhbHVlKSB7Ci0gICAgICAgICAgICAgICAgICAgIHRocm93IEVycm9y
KCJFeHBlY3RlZCBleGNlcHRpb24uIik7Ci0gICAgICAgICAgICAgICAgfSk7Ci0gICAgfSwKLSAg
ICAicHJvbWlzZV90ZXN0IHdpdGggdW5oYW5kbGVkIGV4Y2VwdGlvbiBpbiBmdWxmaWxsIHJlYWN0
aW9uIChzaG91bGQgRkFJTCkiKTsKLQotcHJvbWlzZV90ZXN0KAotICAgIGZ1bmN0aW9uKHQpIHsK
LSAgICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KDEwKQotICAgICAgICAgICAgLnRoZW4oCi0g
ICAgICAgICAgICAgICAgdC51bnJlYWNoZWRfZnVuYygiVU5FWFBFQ1RFRCBGQUlMVVJFOiBGdWxm
aWxsIHJlYWN0aW9uIHJlYWNoZWQgYWZ0ZXIgcmVqZWN0aW9uLiIpLAotICAgICAgICAgICAgICAg
IGZ1bmN0aW9uKHZhbHVlKSB7Ci0gICAgICAgICAgICAgICAgICAgIHRocm93IEVycm9yKCJFeHBl
Y3RlZCBleGNlcHRpb24uIik7Ci0gICAgICAgICAgICAgICAgfSk7Ci0gICAgfSwKLSAgICAicHJv
bWlzZV90ZXN0IHdpdGggdW5oYW5kbGVkIGV4Y2VwdGlvbiBpbiByZWplY3QgcmVhY3Rpb24gKHNo
b3VsZCBGQUlMKSIpOwotPC9zY3JpcHQ+Ci08c2NyaXB0IHR5cGU9InRleHQvanNvbiIgaWQ9ImV4
cGVjdGVkIj4KLXsKLSAgInN1bW1hcml6ZWRfc3RhdHVzIjogewotICAgICJzdGF0dXNfc3RyaW5n
IjogIk9LIiwKLSAgICAibWVzc2FnZSI6IG51bGwKLSAgfSwKLSAgInN1bW1hcml6ZWRfdGVzdHMi
OiBbCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiRkFJTCIsCi0gICAgICAibmFtZSI6
ICJBc3NlcnRpb24gZmFpbHVyZSBpbiBhIGZ1bGZpbGwgcmVhY3Rpb24gKHNob3VsZCBGQUlMIHdp
dGggYW4gZXhwZWN0ZWQgZmFpbHVyZSkiLAotICAgICAgIm1lc3NhZ2UiOiAiYXNzZXJ0X3RydWU6
IEV4cGVjdGVkIGZhaWx1cmUuIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlIiwKLSAgICAgICJwcm9w
ZXJ0aWVzIjoge30KLSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1Mi
LAotICAgICAgIm5hbWUiOiAiQ2hhaW4gb2YgcHJvbWlzZSByZXNvbHV0aW9ucyIsCi0gICAgICAi
bWVzc2FnZSI6IG51bGwsCi0gICAgICAicHJvcGVydGllcyI6IHt9Ci0gICAgfSwKLSAgICB7Ci0g
ICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1lIjogIlByb21pc2UgZnVs
ZmlsbG1lbnQgd2l0aCByZXN1bHQiLAotICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgInBy
b3BlcnRpZXMiOiB7fQotICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFT
UyIsCi0gICAgICAibmFtZSI6ICJQcm9taXNlIHJlamVjdGlvbiB3aXRoIHJlc3VsdCIsCi0gICAg
ICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAicHJvcGVydGllcyI6IHt9Ci0gICAgfSwKLSAgICB7
Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1lIjogIlByb21pc2Vz
IGFyZSBzdXBwb3J0ZWQgaW4geW91ciBicm93c2VyIiwKLSAgICAgICJtZXNzYWdlIjogbnVsbCwK
LSAgICAgICJwcm9wZXJ0aWVzIjoge30KLSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0dXNfc3Ry
aW5nIjogIkZBSUwiLAotICAgICAgIm5hbWUiOiAicHJvbWlzZV90ZXN0IHdpdGggZnVuY3Rpb24g
dGhhdCBkb2Vzbid0IHJldHVybiBhIFByb21pc2UgKHNob3VsZCBGQUlMKSIsCi0gICAgICAibWVz
c2FnZSI6ICJwcm9taXNlX3Rlc3Q6IHRlc3QgYm9keSBtdXN0IHJldHVybiBhICd0aGVuYWJsZScg
b2JqZWN0IChyZWNlaXZlZCBhbiBvYmplY3Qgd2l0aCBubyBgdGhlbmAgbWV0aG9kKSIsCi0gICAg
ICAicHJvcGVydGllcyI6IHt9Ci0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6
ICJGQUlMIiwKLSAgICAgICJuYW1lIjogInByb21pc2VfdGVzdCB3aXRoIGZ1bmN0aW9uIHRoYXQg
ZG9lc24ndCByZXR1cm4gYW55dGhpbmciLAotICAgICAgIm1lc3NhZ2UiOiAicHJvbWlzZV90ZXN0
OiB0ZXN0IGJvZHkgbXVzdCByZXR1cm4gYSAndGhlbmFibGUnIG9iamVjdCAocmVjZWl2ZWQgdW5k
ZWZpbmVkKSIsCi0gICAgICAicHJvcGVydGllcyI6IHt9Ci0gICAgfSwKLSAgICB7Ci0gICAgICAi
c3RhdHVzX3N0cmluZyI6ICJGQUlMIiwKLSAgICAgICJuYW1lIjogInByb21pc2VfdGVzdCB0aGF0
IHJldHVybnMgYSBub24tdGhlbmFibGUgKHNob3VsZCBGQUlMKSIsCi0gICAgICAibWVzc2FnZSI6
ICJwcm9taXNlX3Rlc3Q6IHRlc3QgYm9keSBtdXN0IHJldHVybiBhICd0aGVuYWJsZScgb2JqZWN0
IChyZWNlaXZlZCBhbiBvYmplY3Qgd2l0aCBubyBgdGhlbmAgbWV0aG9kKSIsCi0gICAgICAicHJv
cGVydGllcyI6IHt9Ci0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJGQUlM
IiwKLSAgICAgICJuYW1lIjogInByb21pc2VfdGVzdCB3aXRoIHVuaGFuZGxlZCBleGNlcHRpb24g
aW4gZnVsZmlsbCByZWFjdGlvbiAoc2hvdWxkIEZBSUwpIiwKLSAgICAgICJtZXNzYWdlIjogInBy
b21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgXCJFcnJv
cjogRXhwZWN0ZWQgZXhjZXB0aW9uLlwiIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30KLSAgICB9
LAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIkZBSUwiLAotICAgICAgIm5hbWUiOiAi
cHJvbWlzZV90ZXN0IHdpdGggdW5oYW5kbGVkIGV4Y2VwdGlvbiBpbiByZWplY3QgcmVhY3Rpb24g
KHNob3VsZCBGQUlMKSIsCi0gICAgICAibWVzc2FnZSI6ICJwcm9taXNlX3Rlc3Q6IFVuaGFuZGxl
ZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0IFwiRXJyb3I6IEV4cGVjdGVkIGV4Y2VwdGlv
bi5cIiIsCi0gICAgICAicHJvcGVydGllcyI6IHt9Ci0gICAgfSwKLSAgICB7Ci0gICAgICAic3Rh
dHVzX3N0cmluZyI6ICJGQUlMIiwKLSAgICAgICJuYW1lIjogInByb21pc2VfdGVzdCB3aXRoIHVu
aGFuZGxlZCByZWplY3Rpb24gKHNob3VsZCBGQUlMKSIsCi0gICAgICAibWVzc2FnZSI6ICJwcm9t
aXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogXCJFeHBlY3RlZCByZWpl
Y3Rpb25cIiIsCi0gICAgICAicHJvcGVydGllcyI6IHt9Ci0gICAgfSwKLSAgICB7Ci0gICAgICAi
c3RhdHVzX3N0cmluZyI6ICJGQUlMIiwKLSAgICAgICJuYW1lIjogInVucmVhY2hlZF9mdW5jIGFz
IHJlYWN0b3IgKHNob3VsZCBGQUlMIHdpdGggYW4gZXhwZWN0ZWQgZmFpbHVyZSkiLAotICAgICAg
Im1lc3NhZ2UiOiAiYXNzZXJ0X3VucmVhY2hlZDogRXhwZWN0ZWQgZmFpbHVyZS4gUmVhY2hlZCB1
bnJlYWNoYWJsZSBjb2RlIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30KLSAgICB9Ci0gIF0sCi0g
ICJ0eXBlIjogImNvbXBsZXRlIgotfQotPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1
bmN0aW9uYWwvcXVldWUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC9xdWV1ZS5odG1sCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0ZWEzMmEyYmM4ZS4uMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVz
dC90ZXN0cy9mdW5jdGlvbmFsL3F1ZXVlLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxMzIgKzAs
MCBAQAotPCFET0NUWVBFIEhUTUw+Ci08aHRtbD4KLTxoZWFkPgotPG1ldGEgbmFtZT0idmFyaWFu
dCIgY29udGVudD0iP2tlZXAtcHJvbWlzZSI+Ci08dGl0bGU+VGVzdCBxdWV1aW5nIHN5bmNocm9u
b3VzIHRlc3RzPC90aXRsZT4KLTxzY3JpcHQgc3JjPSIuLi8uLi92YXJpYW50cy5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4vdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii4uLy4uLy4uL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTwvaGVh
ZD4KLTxib2R5PgotPGRpdiBpZD0ibG9nIj48L2Rpdj4KLQotPHNjcmlwdD4KLSJ1c2Ugc3RyaWN0
IjsKLXZhciBpbkluaXRpYWxUdXJuID0gdHJ1ZTsKLQotdGVzdChmdW5jdGlvbih0KSB7Ci0gIGFz
c2VydF90cnVlKAotICAgIGluSW5pdGlhbFR1cm4sICJzaG91bGQgZXhlY3V0ZSBpbiB0aGUgaW5p
dGlhbCB0dXJuIG9mIHRoZSBldmVudCBsb29wIgotICApOwotfSwgIkZpcnN0IHN5bmNocm9ub3Vz
IHRlc3QiKTsKLQotdGVzdChmdW5jdGlvbih0KSB7Ci0gIGFzc2VydF90cnVlKAotICAgIGluSW5p
dGlhbFR1cm4sICJzaG91bGQgZXhlY3V0ZSBpbiB0aGUgaW5pdGlhbCB0dXJuIG9mIHRoZSBldmVu
dCBsb29wIgotICApOwotfSwgIlNlY29uZCBzeW5jaHJvbm91cyB0ZXN0Iik7Ci0KLWFzeW5jX3Rl
c3QoZnVuY3Rpb24odCkgewotICBhc3NlcnRfdHJ1ZSgKLSAgICBpbkluaXRpYWxUdXJuLCAic2hv
dWxkIGV4ZWN1dGUgaW4gdGhlIGluaXRpYWwgdHVybiBvZiB0aGUgZXZlbnQgbG9vcCIKLSAgKTsK
LSAgdC5kb25lKCk7Ci19LCAiRmlyc3QgYXN5bmNfdGVzdCAocnVuIGluIHBhcmFsbGVsKSIpOwot
Ci1hc3luY190ZXN0KGZ1bmN0aW9uKHQpIHsKLSAgYXNzZXJ0X3RydWUoCi0gICAgaW5Jbml0aWFs
VHVybiwgInNob3VsZCBleGVjdXRlIGluIHRoZSBpbml0aWFsIHR1cm4gb2YgdGhlIGV2ZW50IGxv
b3AiCi0gICk7Ci0gIHQuZG9uZSgpOwotfSwgIlNlY29uZCBhc3luY190ZXN0IChydW4gaW4gcGFy
YWxsZWwpIik7Ci0KLXRlc3QoZnVuY3Rpb24odCkgewotICBhc3NlcnRfdHJ1ZSgKLSAgICBpbklu
aXRpYWxUdXJuLCAic2hvdWxkIGV4ZWN1dGUgaW4gdGhlIGluaXRpYWwgdHVybiBvZiB0aGUgZXZl
bnQgbG9vcCIKLSAgKTsKLX0sICJUaGlyZCBzeW5jaHJvbm91cyB0ZXN0Iik7Ci0KLXByb21pc2Vf
dGVzdChmdW5jdGlvbih0KSB7Ci0gIGFzc2VydF9mYWxzZSgKLSAgICBpbkluaXRpYWxUdXJuLCAi
c2hvdWxkIG5vdCBleGVjdXRlIGluIHRoZSBpbml0aWFsIHR1cm4gb2YgdGhlIGV2ZW50IGxvb3Ai
Ci0gICk7Ci0KLSAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpOwotfSwgInByb21pc2VfdGVzdCIp
OwotCi1hc3luY190ZXN0KGZ1bmN0aW9uKHQpIHsKLSAgYXNzZXJ0X3RydWUoCi0gICAgaW5Jbml0
aWFsVHVybiwgInNob3VsZCBleGVjdXRlIGluIHRoZSBpbml0aWFsIHR1cm4gb2YgdGhlIGV2ZW50
IGxvb3AiCi0gICk7Ci0gIHQuZG9uZSgpOwotfSwgIlRoaXJkIGFzeW5jX3Rlc3QgKHJ1biBpbiBw
YXJhbGxlbCkiKTsKLQotdGVzdChmdW5jdGlvbih0KSB7Ci0gIGFzc2VydF90cnVlKAotICAgIGlu
SW5pdGlhbFR1cm4sICJzaG91bGQgZXhlY3V0ZSBpbiB0aGUgaW5pdGlhbCB0dXJuIG9mIHRoZSBl
dmVudCBsb29wIgotICApOwotfSwgIkZvdXJ0aCBzeW5jaHJvbm91cyB0ZXN0Iik7Ci0KLWluSW5p
dGlhbFR1cm4gPSBmYWxzZTsKLTwvc2NyaXB0PgotPHNjcmlwdCB0eXBlPSJ0ZXh0L2pzb24iIGlk
PSJleHBlY3RlZCI+Ci17Ci0gICJzdW1tYXJpemVkX3N0YXR1cyI6IHsKLSAgICAic3RhdHVzX3N0
cmluZyI6ICJPSyIsCi0gICAgIm1lc3NhZ2UiOiBudWxsCi0gIH0sCi0gICJzdW1tYXJpemVkX3Rl
c3RzIjogWwotICAgIHsKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibmFtZSI6ICJG
aXJzdCBhc3luY190ZXN0IChydW4gaW4gcGFyYWxsZWwpIiwKLSAgICAgICJzdGF0dXNfc3RyaW5n
IjogIlBBU1MiLAotICAgICAgIm1lc3NhZ2UiOiBudWxsCi0gICAgfSwKLSAgICB7Ci0gICAgICAi
cHJvcGVydGllcyI6IHt9LAotICAgICAgIm5hbWUiOiAiRmlyc3Qgc3luY2hyb25vdXMgdGVzdCIs
Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJtZXNzYWdlIjogbnVsbAot
ICAgIH0sCi0gICAgewotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJuYW1lIjogIkZv
dXJ0aCBzeW5jaHJvbm91cyB0ZXN0IiwKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAot
ICAgICAgIm1lc3NhZ2UiOiBudWxsCi0gICAgfSwKLSAgICB7Ci0gICAgICAicHJvcGVydGllcyI6
IHt9LAotICAgICAgIm5hbWUiOiAiU2Vjb25kIGFzeW5jX3Rlc3QgKHJ1biBpbiBwYXJhbGxlbCki
LAotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibWVzc2FnZSI6IG51bGwK
LSAgICB9LAotICAgIHsKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibmFtZSI6ICJT
ZWNvbmQgc3luY2hyb25vdXMgdGVzdCIsCi0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwK
LSAgICAgICJtZXNzYWdlIjogbnVsbAotICAgIH0sCi0gICAgewotICAgICAgInByb3BlcnRpZXMi
OiB7fSwKLSAgICAgICJuYW1lIjogIlRoaXJkIGFzeW5jX3Rlc3QgKHJ1biBpbiBwYXJhbGxlbCki
LAotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibWVzc2FnZSI6IG51bGwK
LSAgICB9LAotICAgIHsKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibmFtZSI6ICJU
aGlyZCBzeW5jaHJvbm91cyB0ZXN0IiwKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAot
ICAgICAgIm1lc3NhZ2UiOiBudWxsCi0gICAgfSwKLSAgICB7Ci0gICAgICAicHJvcGVydGllcyI6
IHt9LAotICAgICAgIm5hbWUiOiAicHJvbWlzZV90ZXN0IiwKLSAgICAgICJzdGF0dXNfc3RyaW5n
IjogIlBBU1MiLAotICAgICAgIm1lc3NhZ2UiOiBudWxsCi0gICAgfQotICBdLAotICAidHlwZSI6
ICJjb21wbGV0ZSIKLX0KLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVz
dC90ZXN0cy9mdW5jdGlvbmFsL3NpbmdsZS1wYWdlLXRlc3QtZmFpbC5odG1sIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9m
dW5jdGlvbmFsL3NpbmdsZS1wYWdlLXRlc3QtZmFpbC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCA5MTY5YTVhNTRlMi4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlv
bmFsL3NpbmdsZS1wYWdlLXRlc3QtZmFpbC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMzEgKzAs
MCBAQAotPCFET0NUWVBFIEhUTUw+Ci08bWV0YSBuYW1lPSJ2YXJpYW50IiBjb250ZW50PSIiPgot
PG1ldGEgbmFtZT0idmFyaWFudCIgY29udGVudD0iP2tlZXAtcHJvbWlzZSI+Ci08dGl0bGU+RXhh
bXBsZSB3aXRoIGZpbGVfaXNfdGVzdCAoc2hvdWxkIGZhaWwpPC90aXRsZT4KLTxzY3JpcHQgc3Jj
PSIuLi8uLi92YXJpYW50cy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0Pgotc2V0dXAoeyBzaW5nbGVfdGVzdDog
dHJ1ZSB9KTsKLW9ubG9hZCA9IGZ1bmN0aW9uKCkgewotICBhc3NlcnRfdHJ1ZShmYWxzZSk7Ci0g
IGRvbmUoKTsKLX0KLTwvc2NyaXB0PgotPHNjcmlwdCB0eXBlPSJ0ZXh0L2pzb24iIGlkPSJleHBl
Y3RlZCI+Ci17Ci0gICJzdW1tYXJpemVkX3N0YXR1cyI6IHsKLSAgICAic3RhdHVzX3N0cmluZyI6
ICJPSyIsCi0gICAgIm1lc3NhZ2UiOiBudWxsCi0gIH0sCi0gICJzdW1tYXJpemVkX3Rlc3RzIjog
WwotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIkZBSUwiLAotICAgICAgIm5hbWUiOiAi
RXhhbXBsZSB3aXRoIGZpbGVfaXNfdGVzdCAoc2hvdWxkIGZhaWwpIiwKLSAgICAgICJwcm9wZXJ0
aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6ICJ1bmNhdWdodCBleGNlcHRpb246IEVycm9yOiBh
c3NlcnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UiCi0gICAgfQotICBdLAotICAidHlw
ZSI6ICJjb21wbGV0ZSIKLX0KLTwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlv
bmFsL3NpbmdsZS1wYWdlLXRlc3Qtbm8tYXNzZXJ0aW9ucy5odG1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlv
bmFsL3NpbmdsZS1wYWdlLXRlc3Qtbm8tYXNzZXJ0aW9ucy5odG1sCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCBmMWIxODkyM2RlNC4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5j
dGlvbmFsL3NpbmdsZS1wYWdlLXRlc3Qtbm8tYXNzZXJ0aW9ucy5odG1sCisrKyAvZGV2L251bGwK
QEAgLTEsMjggKzAsMCBAQAotPCFET0NUWVBFIEhUTUw+Ci08bWV0YSBuYW1lPSJ2YXJpYW50IiBj
b250ZW50PSIiPgotPG1ldGEgbmFtZT0idmFyaWFudCIgY29udGVudD0iP2tlZXAtcHJvbWlzZSI+
Ci08dGl0bGU+RXhhbXBsZSBzaW5nbGUgcGFnZSB0ZXN0IHdpdGggbm8gYXNzZXJ0czwvdGl0bGU+
Ci08c2NyaXB0IHNyYz0iLi4vLi4vdmFyaWFudHMuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLXNldHVwKHsg
c2luZ2xlX3Rlc3Q6IHRydWUgfSk7Ci1kb25lKCk7Ci08L3NjcmlwdD4KLTxzY3JpcHQgdHlwZT0i
dGV4dC9qc29uIiBpZD0iZXhwZWN0ZWQiPgotewotICAic3VtbWFyaXplZF9zdGF0dXMiOiB7Ci0g
ICAgInN0YXR1c19zdHJpbmciOiAiT0siLAotICAgICJtZXNzYWdlIjogbnVsbAotICB9LAotICAi
c3VtbWFyaXplZF90ZXN0cyI6IFsKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNT
IiwKLSAgICAgICJuYW1lIjogIkV4YW1wbGUgc2luZ2xlIHBhZ2UgdGVzdCB3aXRoIG5vIGFzc2Vy
dHMiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogbnVsbAotICAg
IH0KLSAgXSwKLSAgInR5cGUiOiAiY29tcGxldGUiCi19Ci08L3NjcmlwdD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rl
c3QvdGVzdHMvZnVuY3Rpb25hbC9zaW5nbGUtcGFnZS10ZXN0LW5vLWJvZHkuaHRtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVz
dHMvZnVuY3Rpb25hbC9zaW5nbGUtcGFnZS10ZXN0LW5vLWJvZHkuaHRtbApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMGYzZDRhZGY0NGIuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMv
ZnVuY3Rpb25hbC9zaW5nbGUtcGFnZS10ZXN0LW5vLWJvZHkuaHRtbAorKysgL2Rldi9udWxsCkBA
IC0xLDI5ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPG1ldGEgbmFtZT0idmFyaWFudCIgY29u
dGVudD0iIj4KLTxtZXRhIG5hbWU9InZhcmlhbnQiIGNvbnRlbnQ9Ij9rZWVwLXByb21pc2UiPgot
PHRpdGxlPkV4YW1wbGUgc2luZ2xlIHBhZ2UgdGVzdCB3aXRoIG5vIGJvZHk8L3RpdGxlPgotPHNj
cmlwdCBzcmM9Ii4uLy4uL3ZhcmlhbnRzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci1zZXR1cCh7IHNpbmds
ZV90ZXN0OiB0cnVlIH0pOwotYXNzZXJ0X3RydWUodHJ1ZSk7Ci1kb25lKCk7Ci08L3NjcmlwdD4K
LTxzY3JpcHQgdHlwZT0idGV4dC9qc29uIiBpZD0iZXhwZWN0ZWQiPgotewotICAic3VtbWFyaXpl
ZF9zdGF0dXMiOiB7Ci0gICAgInN0YXR1c19zdHJpbmciOiAiT0siLAotICAgICJtZXNzYWdlIjog
bnVsbAotICB9LAotICAic3VtbWFyaXplZF90ZXN0cyI6IFsKLSAgICB7Ci0gICAgICAic3RhdHVz
X3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1lIjogIkV4YW1wbGUgc2luZ2xlIHBhZ2UgdGVz
dCB3aXRoIG5vIGJvZHkiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdl
IjogbnVsbAotICAgIH0KLSAgXSwKLSAgInR5cGUiOiAiY29tcGxldGUiCi19Ci08L3NjcmlwdD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC9zaW5nbGUtcGFnZS10ZXN0LXBhc3MuaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC9zaW5nbGUtcGFnZS10ZXN0LXBhc3MuaHRtbApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTQ3MjUwZDc2M2MuLjAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3Qv
dGVzdHMvZnVuY3Rpb25hbC9zaW5nbGUtcGFnZS10ZXN0LXBhc3MuaHRtbAorKysgL2Rldi9udWxs
CkBAIC0xLDMxICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPG1ldGEgbmFtZT0idmFyaWFudCIg
Y29udGVudD0iIj4KLTxtZXRhIG5hbWU9InZhcmlhbnQiIGNvbnRlbnQ9Ij9rZWVwLXByb21pc2Ui
PgotPHRpdGxlPkV4YW1wbGUgd2l0aCBmaWxlX2lzX3Rlc3Q8L3RpdGxlPgotPHNjcmlwdCBzcmM9
Ii4uLy4uL3ZhcmlhbnRzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci1zZXR1cCh7IHNpbmdsZV90ZXN0OiB0
cnVlIH0pOwotb25sb2FkID0gZnVuY3Rpb24oKSB7Ci0gIGFzc2VydF90cnVlKHRydWUpOwotICBk
b25lKCk7Ci19Ci08L3NjcmlwdD4KLTxzY3JpcHQgdHlwZT0idGV4dC9qc29uIiBpZD0iZXhwZWN0
ZWQiPgotewotICAic3VtbWFyaXplZF9zdGF0dXMiOiB7Ci0gICAgInN0YXR1c19zdHJpbmciOiAi
T0siLAotICAgICJtZXNzYWdlIjogbnVsbAotICB9LAotICAic3VtbWFyaXplZF90ZXN0cyI6IFsK
LSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1lIjogIkV4
YW1wbGUgd2l0aCBmaWxlX2lzX3Rlc3QiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAg
ICJtZXNzYWdlIjogbnVsbAotICAgIH0KLSAgXSwKLSAgInR5cGUiOiAiY29tcGxldGUiCi19Ci08
L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC90YXNrLXNjaGVkdWxpbmct
cHJvbWlzZS10ZXN0Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvdGFzay1zY2hlZHVsaW5nLXBy
b21pc2UtdGVzdC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmYjRjYzJkZDI3
ZC4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFsL3Rhc2stc2NoZWR1bGluZy1w
cm9taXNlLXRlc3QuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDI0MyArMCwwIEBACi08IWRvY3R5
cGUgaHRtbD4KLTxtZXRhIG5hbWU9InZhcmlhbnQiIGNvbnRlbnQ9Ij9rZWVwLXByb21pc2UiPgot
PHRpdGxlPnRlc3RoYXJuZXNzLmpzIC0gdGFzayBzY2hlZHVsaW5nPC90aXRsZT4KLTxzY3JpcHQg
c3JjPSIuLi8uLi92YXJpYW50cy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4v
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci12YXIgc2FtZVRhc2sgPSBudWxsOwot
dmFyIHNhbWVNaWNyb3Rhc2sgPSBudWxsOwotdmFyIGV4cGVjdGVkRXJyb3IgPSBuZXcgRXJyb3Io
J1RoaXMgZXJyb3IgaXMgZXhwZWN0ZWQnKTsKLQotcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKCkgewot
ICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCkKLSAgICAudGhlbihmdW5jdGlvbigpIHsKLSAgICAg
ICAgc2FtZU1pcm90YXNrID0gdHJ1ZTsKLSAgICAgICAgUHJvbWlzZS5yZXNvbHZlKCkudGhlbigo
KSA9PiBzYW1lTWljcm90YXNrID0gZmFsc2UpOwotICAgICAgfSk7Ci19LCAncHJvbWlzZSB0ZXN0
IHdpdGhvdXQgY2xlYW51cCAjMScpOwotCi1wcm9taXNlX3Rlc3QoZnVuY3Rpb24oKSB7Ci0gIGFz
c2VydF9mYWxzZShzYW1lTWljcm90YXNrKTsKLQotICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7
Ci19LCAnc3ViLXRlc3Qgd2l0aCAwIGNsZWFudXAgZnVuY3Rpb25zIGV4ZWN1dGVzIGluIGRpc3Rp
bmN0IG1pY3JvdGFzayBmcm9tIGEgcGFzc2luZyBzdWItdGVzdCcpOwotCi1wcm9taXNlX3Rlc3Qo
ZnVuY3Rpb24oKSB7Ci0gIHJldHVybiBQcm9taXNlLnJlc29sdmUoKQotICAgIC50aGVuKGZ1bmN0
aW9uKCkgewotICAgICAgICBzYW1lTWlyb3Rhc2sgPSB0cnVlOwotICAgICAgICBQcm9taXNlLnJl
c29sdmUoKS50aGVuKCgpID0+IHNhbWVNaWNyb3Rhc2sgPSBmYWxzZSk7Ci0gICAgICAgIHRocm93
IGV4cGVjdGVkRXJyb3I7Ci0gICAgICB9KTsKLX0sICdmYWlsaW5nIHByb21pc2UgdGVzdCB3aXRo
b3V0IGNsZWFudXAgIzEnKTsKLQotcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKCkgewotICBhc3NlcnRf
ZmFsc2Uoc2FtZU1pY3JvdGFzayk7Ci0KLSAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpOwotfSwg
J3N1Yi10ZXN0IHdpdGggMCBjbGVhbnVwIGZ1bmN0aW9ucyBleGVjdXRlcyBpbiBkaXN0aW5jdCBt
aWNyb3Rhc2sgZnJvbSBhIGZhaWxpbmcgc3ViLXRlc3QnKTsKLQotcHJvbWlzZV90ZXN0KGZ1bmN0
aW9uKHQpIHsKLSAgdC5hZGRfY2xlYW51cChmdW5jdGlvbigpIHt9KTsKLQotICByZXR1cm4gUHJv
bWlzZS5yZXNvbHZlKCkKLSAgICAudGhlbihmdW5jdGlvbigpIHsKLSAgICAgICAgc2FtZU1pcm90
YXNrID0gdHJ1ZTsKLSAgICAgICAgUHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKSA9PiBzYW1lTWlj
cm90YXNrID0gZmFsc2UpOwotICAgICAgfSk7Ci19LCAncHJvbWlzZSB0ZXN0IHdpdGggY2xlYW51
cCAjMScpOwotCi1wcm9taXNlX3Rlc3QoZnVuY3Rpb24oKSB7Ci0gIGFzc2VydF9mYWxzZShzYW1l
TWljcm90YXNrKTsKLQotICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7Ci19LCAnc3ViLXRlc3Qg
d2l0aCBzb21lIGNsZWFudXAgZnVuY3Rpb25zIGV4ZWN1dGVzIGluIGRpc3RpbmN0IG1pY3JvdGFz
ayBmcm9tIGEgcGFzc2luZyBzdWItdGVzdCcpOwotCi1wcm9taXNlX3Rlc3QoZnVuY3Rpb24odCkg
ewotICB0LmFkZF9jbGVhbnVwKGZ1bmN0aW9uKCkge30pOwotCi0gIHJldHVybiBQcm9taXNlLnJl
c29sdmUoKQotICAgIC50aGVuKGZ1bmN0aW9uKCkgewotICAgICAgICBzYW1lTWlyb3Rhc2sgPSB0
cnVlOwotICAgICAgICBQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpID0+IHNhbWVNaWNyb3Rhc2sg
PSBmYWxzZSk7Ci0gICAgICAgIHRocm93IGV4cGVjdGVkRXJyb3I7Ci0gICAgICB9KTsKLX0sICdm
YWlsaW5nIHByb21pc2UgdGVzdCB3aXRoIGNsZWFudXAgIzEnKTsKLQotcHJvbWlzZV90ZXN0KGZ1
bmN0aW9uKCkgewotICBhc3NlcnRfZmFsc2Uoc2FtZU1pY3JvdGFzayk7Ci0KLSAgcmV0dXJuIFBy
b21pc2UucmVzb2x2ZSgpOwotfSwgJ3N1Yi10ZXN0IHdpdGggc29tZSBjbGVhbnVwIGZ1bmN0aW9u
cyBleGVjdXRlcyBpbiBkaXN0aW5jdCBtaWNyb3Rhc2sgZnJvbSBhIGZhaWxpbmcgc3ViLXRlc3Qn
KTsKLQotcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHQpIHsKLSAgcmV0dXJuIFByb21pc2UucmVzb2x2
ZSgpCi0gICAgLnRoZW4oZnVuY3Rpb24oKSB7Ci0gICAgICAgIHNhbWVUYXNrID0gdHJ1ZTsKLSAg
ICAgICAgdC5zdGVwX3RpbWVvdXQoKCkgPT4gc2FtZVRhc2sgPSBmYWxzZSwgMCk7Ci0gICAgICB9
KTsKLX0sICdwcm9taXNlIHRlc3Qgd2l0aG91dCBjbGVhbnVwICMyJyk7Ci0KLXByb21pc2VfdGVz
dChmdW5jdGlvbigpIHsKLSAgYXNzZXJ0X3RydWUoc2FtZVRhc2spOwotCi0gIHJldHVybiBQcm9t
aXNlLnJlc29sdmUoKTsKLX0sICdzdWItdGVzdCB3aXRoIDAgY2xlYW51cCBmdW5jdGlvbnMgZXhl
Y3V0ZXMgaW4gdGhlIHNhbWUgdGFzayBhcyBhIHBhc3Npbmcgc3ViLXRlc3QnKTsKLQotcHJvbWlz
ZV90ZXN0KGZ1bmN0aW9uKHQpIHsKLSAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpCi0gICAgLnRo
ZW4oZnVuY3Rpb24oKSB7Ci0gICAgICAgIHNhbWVUYXNrID0gdHJ1ZTsKLSAgICAgICAgdC5zdGVw
X3RpbWVvdXQoKCkgPT4gc2FtZVRhc2sgPSBmYWxzZSwgMCk7Ci0gICAgICAgIHRocm93IGV4cGVj
dGVkRXJyb3I7Ci0gICAgICB9KTsKLX0sICdmYWlsaW5nIHByb21pc2UgdGVzdCB3aXRob3V0IGNs
ZWFudXAgIzInKTsKLQotcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKCkgewotICBhc3NlcnRfdHJ1ZShz
YW1lVGFzayk7Ci0KLSAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpOwotfSwgJ3N1Yi10ZXN0IHdp
dGggMCBjbGVhbnVwIGZ1bmN0aW9ucyBleGVjdXRlcyBpbiB0aGUgc2FtZSB0YXNrIGFzIGEgZmFp
bGluZyBzdWItdGVzdCcpOwotCi1wcm9taXNlX3Rlc3QoZnVuY3Rpb24odCkgewotICB0LmFkZF9j
bGVhbnVwKGZ1bmN0aW9uKCkge30pOwotCi0gIHJldHVybiBQcm9taXNlLnJlc29sdmUoKQotICAg
IC50aGVuKGZ1bmN0aW9uKCkgewotICAgICAgICBzYW1lVGFzayA9IHRydWU7Ci0gICAgICAgIHQu
c3RlcF90aW1lb3V0KCgpID0+IHNhbWVUYXNrID0gZmFsc2UsIDApOwotICAgICAgfSk7Ci19LCAn
cHJvbWlzZSB0ZXN0IHdpdGggY2xlYW51cCAjMicpOwotCi1wcm9taXNlX3Rlc3QoZnVuY3Rpb24o
KSB7Ci0gIGFzc2VydF90cnVlKHNhbWVUYXNrKTsKLQotICByZXR1cm4gUHJvbWlzZS5yZXNvbHZl
KCk7Ci19LCAnc3ViLXRlc3Qgd2l0aCBzb21lIGNsZWFudXAgZnVuY3Rpb25zIGV4ZWN1dGVzIGlu
IHRoZSBzYW1lIHRhc2sgYXMgYSBwYXNzaW5nIHN1Yi10ZXN0Jyk7Ci0KLXByb21pc2VfdGVzdChm
dW5jdGlvbih0KSB7Ci0gIHQuYWRkX2NsZWFudXAoZnVuY3Rpb24oKSB7fSk7Ci0KLSAgcmV0dXJu
IFByb21pc2UucmVzb2x2ZSgpCi0gICAgLnRoZW4oZnVuY3Rpb24oKSB7Ci0gICAgICAgIHNhbWVU
YXNrID0gdHJ1ZTsKLSAgICAgICAgdC5zdGVwX3RpbWVvdXQoKCkgPT4gc2FtZVRhc2sgPSBmYWxz
ZSwgMCk7Ci0gICAgICAgIHRocm93IGV4cGVjdGVkRXJyb3I7Ci0gICAgICB9KTsKLX0sICdmYWls
aW5nIHByb21pc2UgdGVzdCB3aXRoIGNsZWFudXAgIzInKTsKLQotcHJvbWlzZV90ZXN0KGZ1bmN0
aW9uKCkgewotICBhc3NlcnRfdHJ1ZShzYW1lVGFzayk7Ci0KLSAgcmV0dXJuIFByb21pc2UucmVz
b2x2ZSgpOwotfSwgJ3N1Yi10ZXN0IHdpdGggc29tZSBjbGVhbnVwIGZ1bmN0aW9ucyBleGVjdXRl
cyBpbiB0aGUgc2FtZSB0YXNrIGFzIGEgZmFpbGluZyBzdWItdGVzdCcpOwotPC9zY3JpcHQ+Ci0K
LTxzY3JpcHQgdHlwZT0idGV4dC9qc29uIiBpZD0iZXhwZWN0ZWQiPgotewotICAgICJzdW1tYXJp
emVkX3N0YXR1cyI6IHsKLSAgICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgICAic3RhdHVz
X3N0cmluZyI6ICJPSyIKLSAgICB9LAotICAgICJzdW1tYXJpemVkX3Rlc3RzIjogWwotICAgICAg
ICB7Ci0gICAgICAgICAgICAibWVzc2FnZSI6ICJwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWpl
Y3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0IFwiRXJyb3I6IFRoaXMgZXJyb3IgaXMgZXhwZWN0ZWRc
IiIsCi0gICAgICAgICAgICAibmFtZSI6ICJmYWlsaW5nIHByb21pc2UgdGVzdCB3aXRoIGNsZWFu
dXAgIzEiLAotICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICAgICAgICJzdGF0
dXNfc3RyaW5nIjogIkZBSUwiCi0gICAgICAgIH0sCi0gICAgICAgIHsKLSAgICAgICAgICAgICJt
ZXNzYWdlIjogInByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBv
YmplY3QgXCJFcnJvcjogVGhpcyBlcnJvciBpcyBleHBlY3RlZFwiIiwKLSAgICAgICAgICAgICJu
YW1lIjogImZhaWxpbmcgcHJvbWlzZSB0ZXN0IHdpdGggY2xlYW51cCAjMiIsCi0gICAgICAgICAg
ICAicHJvcGVydGllcyI6IHt9LAotICAgICAgICAgICAgInN0YXR1c19zdHJpbmciOiAiRkFJTCIK
LSAgICAgICAgfSwKLSAgICAgICAgewotICAgICAgICAgICAgIm1lc3NhZ2UiOiAicHJvbWlzZV90
ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCBcIkVycm9yOiBUaGlz
IGVycm9yIGlzIGV4cGVjdGVkXCIiLAotICAgICAgICAgICAgIm5hbWUiOiAiZmFpbGluZyBwcm9t
aXNlIHRlc3Qgd2l0aG91dCBjbGVhbnVwICMxIiwKLSAgICAgICAgICAgICJwcm9wZXJ0aWVzIjog
e30sCi0gICAgICAgICAgICAic3RhdHVzX3N0cmluZyI6ICJGQUlMIgotICAgICAgICB9LAotICAg
ICAgICB7Ci0gICAgICAgICAgICAibWVzc2FnZSI6ICJwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCBy
ZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0IFwiRXJyb3I6IFRoaXMgZXJyb3IgaXMgZXhwZWN0
ZWRcIiIsCi0gICAgICAgICAgICAibmFtZSI6ICJmYWlsaW5nIHByb21pc2UgdGVzdCB3aXRob3V0
IGNsZWFudXAgIzIiLAotICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICAgICAg
ICJzdGF0dXNfc3RyaW5nIjogIkZBSUwiCi0gICAgICAgIH0sCi0gICAgICAgIHsKLSAgICAgICAg
ICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICAgICAgICJuYW1lIjogInByb21pc2UgdGVzdCB3
aXRoIGNsZWFudXAgIzEiLAotICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICAg
ICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiCi0gICAgICAgIH0sCi0gICAgICAgIHsKLSAgICAg
ICAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICAgICAgICJuYW1lIjogInByb21pc2UgdGVz
dCB3aXRoIGNsZWFudXAgIzIiLAotICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAg
ICAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiCi0gICAgICAgIH0sCi0gICAgICAgIHsKLSAg
ICAgICAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICAgICAgICJuYW1lIjogInByb21pc2Ug
dGVzdCB3aXRob3V0IGNsZWFudXAgIzEiLAotICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7fSwK
LSAgICAgICAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiCi0gICAgICAgIH0sCi0gICAgICAg
IHsKLSAgICAgICAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICAgICAgICJuYW1lIjogInBy
b21pc2UgdGVzdCB3aXRob3V0IGNsZWFudXAgIzIiLAotICAgICAgICAgICAgInByb3BlcnRpZXMi
OiB7fSwKLSAgICAgICAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiCi0gICAgICAgIH0sCi0g
ICAgICAgIHsKLSAgICAgICAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICAgICAgICJuYW1l
IjogInN1Yi10ZXN0IHdpdGggMCBjbGVhbnVwIGZ1bmN0aW9ucyBleGVjdXRlcyBpbiBkaXN0aW5j
dCBtaWNyb3Rhc2sgZnJvbSBhIGZhaWxpbmcgc3ViLXRlc3QiLAotICAgICAgICAgICAgInByb3Bl
cnRpZXMiOiB7fSwKLSAgICAgICAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiCi0gICAgICAg
IH0sCi0gICAgICAgIHsKLSAgICAgICAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICAgICAg
ICJuYW1lIjogInN1Yi10ZXN0IHdpdGggMCBjbGVhbnVwIGZ1bmN0aW9ucyBleGVjdXRlcyBpbiBk
aXN0aW5jdCBtaWNyb3Rhc2sgZnJvbSBhIHBhc3Npbmcgc3ViLXRlc3QiLAotICAgICAgICAgICAg
InByb3BlcnRpZXMiOiB7fSwKLSAgICAgICAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiCi0g
ICAgICAgIH0sCi0gICAgICAgIHsKLSAgICAgICAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAg
ICAgICAgICJuYW1lIjogInN1Yi10ZXN0IHdpdGggMCBjbGVhbnVwIGZ1bmN0aW9ucyBleGVjdXRl
cyBpbiB0aGUgc2FtZSB0YXNrIGFzIGEgZmFpbGluZyBzdWItdGVzdCIsCi0gICAgICAgICAgICAi
cHJvcGVydGllcyI6IHt9LAotICAgICAgICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIKLSAg
ICAgICAgfSwKLSAgICAgICAgewotICAgICAgICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAg
ICAgICAgIm5hbWUiOiAic3ViLXRlc3Qgd2l0aCAwIGNsZWFudXAgZnVuY3Rpb25zIGV4ZWN1dGVz
IGluIHRoZSBzYW1lIHRhc2sgYXMgYSBwYXNzaW5nIHN1Yi10ZXN0IiwKLSAgICAgICAgICAgICJw
cm9wZXJ0aWVzIjoge30sCi0gICAgICAgICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIgotICAg
ICAgICB9LAotICAgICAgICB7Ci0gICAgICAgICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAg
ICAgICAibmFtZSI6ICJzdWItdGVzdCB3aXRoIHNvbWUgY2xlYW51cCBmdW5jdGlvbnMgZXhlY3V0
ZXMgaW4gZGlzdGluY3QgbWljcm90YXNrIGZyb20gYSBmYWlsaW5nIHN1Yi10ZXN0IiwKLSAgICAg
ICAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAgICAgICAic3RhdHVzX3N0cmluZyI6ICJQ
QVNTIgotICAgICAgICB9LAotICAgICAgICB7Ci0gICAgICAgICAgICAibWVzc2FnZSI6IG51bGws
Ci0gICAgICAgICAgICAibmFtZSI6ICJzdWItdGVzdCB3aXRoIHNvbWUgY2xlYW51cCBmdW5jdGlv
bnMgZXhlY3V0ZXMgaW4gZGlzdGluY3QgbWljcm90YXNrIGZyb20gYSBwYXNzaW5nIHN1Yi10ZXN0
IiwKLSAgICAgICAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAgICAgICAic3RhdHVzX3N0
cmluZyI6ICJQQVNTIgotICAgICAgICB9LAotICAgICAgICB7Ci0gICAgICAgICAgICAibWVzc2Fn
ZSI6IG51bGwsCi0gICAgICAgICAgICAibmFtZSI6ICJzdWItdGVzdCB3aXRoIHNvbWUgY2xlYW51
cCBmdW5jdGlvbnMgZXhlY3V0ZXMgaW4gdGhlIHNhbWUgdGFzayBhcyBhIGZhaWxpbmcgc3ViLXRl
c3QiLAotICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICAgICAgICJzdGF0dXNf
c3RyaW5nIjogIlBBU1MiCi0gICAgICAgIH0sCi0gICAgICAgIHsKLSAgICAgICAgICAgICJtZXNz
YWdlIjogbnVsbCwKLSAgICAgICAgICAgICJuYW1lIjogInN1Yi10ZXN0IHdpdGggc29tZSBjbGVh
bnVwIGZ1bmN0aW9ucyBleGVjdXRlcyBpbiB0aGUgc2FtZSB0YXNrIGFzIGEgcGFzc2luZyBzdWIt
dGVzdCIsCi0gICAgICAgICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgICAgICAgInN0YXR1
c19zdHJpbmciOiAiUEFTUyIKLSAgICAgICAgfQotICAgIF0sCi0gICAgInR5cGUiOiAiY29tcGxl
dGUiCi19Ci08L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC90YXNrLXNj
aGVkdWxpbmctdGVzdC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFsL3Rhc2stc2NoZWR1bGluZy10
ZXN0Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDEzNGJkYjJlYThkLi4wMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvdGFzay1zY2hlZHVsaW5nLXRlc3QuaHRt
bAorKysgL2Rldi9udWxsCkBAIC0xLDE0NCArMCwwIEBACi08IWRvY3R5cGUgaHRtbD4KLTxtZXRh
IG5hbWU9InZhcmlhbnQiIGNvbnRlbnQ9IiI+Ci08bWV0YSBuYW1lPSJ2YXJpYW50IiBjb250ZW50
PSI/a2VlcC1wcm9taXNlIj4KLTx0aXRsZT50ZXN0aGFybmVzcy5qcyAtIHRhc2sgc2NoZWR1bGlu
ZzwvdGl0bGU+Ci08c2NyaXB0IHNyYz0iLi4vLi4vdmFyaWFudHMuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii4uLy4uLy4uL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIuLi8uLi8uLi90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotdmFy
IHNhbWVNaWNyb3Rhc2sgPSBudWxsOwotdmFyIGV4cGVjdGVkRXJyb3IgPSBuZXcgRXJyb3IoJ1Ro
aXMgZXJyb3IgaXMgZXhwZWN0ZWQnKTsKLQotLy8gRGVyaXZlZCBmcm9tIGBpbW1lZGlhdGVgCi0v
LyBodHRwczovL2dpdGh1Yi5jb20vY2FsdmlubWV0Y2FsZi9pbW1lZGlhdGUvYmxvYi9jMzUzYmQy
MTA2NjQ4Y2VlMWQ1MjViZmRhMjJjZmM0NDU2ZTY5YzBlL2xpYi9tdXRhdGlvbi5qcwotZnVuY3Rp
b24gbWljcm9UYXNrKGNhbGxiYWNrKSB7Ci0gIHZhciBvYnNlcnZlciA9IG5ldyBNdXRhdGlvbk9i
c2VydmVyKGNhbGxiYWNrKTsKLSAgdmFyIGVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVUZXh0Tm9k
ZSgnJyk7Ci0gIG9ic2VydmVyLm9ic2VydmUoZWxlbWVudCwgewotICAgIGNoYXJhY3RlckRhdGE6
IHRydWUKLSAgfSk7Ci0KLSAgZWxlbWVudC5kYXRhID0gdHJ1ZTsKLX07Ci0KLWFzeW5jX3Rlc3Qo
ZnVuY3Rpb24odCkgewotICB2YXIgbWljcm90YXNrX3JhbiA9IGZhbHNlOwotCi0gIHQuc3RlcF90
aW1lb3V0KHQuc3RlcF9mdW5jKGZ1bmN0aW9uKCkgewotICAgIGFzc2VydF90cnVlKG1pY3JvdGFz
a19yYW4sICdmdW5jdGlvbiByZWdpc3RlcmVkIGFzIGEgbWljcm90YXNrIHdhcyBleGVjdXRlZCBi
ZWZvcmUgdGFzaycpOwotICAgIHQuZG9uZSgpOwotICB9KSwgMCk7Ci0KLSAgbWljcm9UYXNrKGZ1
bmN0aW9uKCkgewotICAgIG1pY3JvdGFza19yYW4gPSB0cnVlOwotICB9KTsKLX0sICdwcmVjb25k
aXRpb246IG1pY3JvdGFzayBjcmVhdGlvbiBsb2dpYyBmdW5jdGlvbnMgYXMgZXhwZWN0ZWQnKTsK
LQotdGVzdChmdW5jdGlvbigpIHsKLSAgc2FtZU1pY3JvdGFzayA9IHRydWU7Ci0gIG1pY3JvVGFz
ayhmdW5jdGlvbigpIHsgc2FtZU1pY3JvdGFzayA9IGZhbHNlOyB9KTsKLX0sICdzeW5jaHJvbm91
cyB0ZXN0IHdpdGhvdXQgY2xlYW51cCcpOwotCi10ZXN0KGZ1bmN0aW9uKCkgewotICBhc3NlcnRf
dHJ1ZShzYW1lTWljcm90YXNrKTsKLX0sICdzdWItdGVzdCB3aXRoIDAgY2xlYW51cCBmdW5jdGlv
bnMgZXhlY3V0ZXMgaW4gdGhlIHNhbWUgbWljcm90YXNrIGFzIGEgcGFzc2luZyBzdWItdGVzdCcp
OwotCi10ZXN0KGZ1bmN0aW9uKCkgewotICBzYW1lTWljcm90YXNrID0gdHJ1ZTsKLSAgbWljcm9U
YXNrKGZ1bmN0aW9uKCkgeyBzYW1lTWljcm90YXNrID0gZmFsc2U7IH0pOwotICB0aHJvdyBleHBl
Y3RlZEVycm9yOwotfSwgJ2ZhaWxpbmcgc3luY2hyb25vdXMgdGVzdCB3aXRob3V0IGNsZWFudXAn
KTsKLQotdGVzdChmdW5jdGlvbigpIHsKLSAgYXNzZXJ0X3RydWUoc2FtZU1pY3JvdGFzayk7Ci19
LCAnc3ViLXRlc3Qgd2l0aCAwIGNsZWFudXAgZnVuY3Rpb25zIGV4ZWN1dGVzIGluIHRoZSBzYW1l
IG1pY3JvdGFzayBhcyBhIGZhaWxpbmcgc3ViLXRlc3QnKTsKLQotdGVzdChmdW5jdGlvbih0KSB7
Ci0gIHQuYWRkX2NsZWFudXAoZnVuY3Rpb24oKSB7fSk7Ci0KLSAgc2FtZU1pY3JvdGFzayA9IHRy
dWU7Ci0gIG1pY3JvVGFzayhmdW5jdGlvbigpIHsgc2FtZU1pY3JvdGFzayA9IGZhbHNlOyB9KTsK
LX0sICdzeW5jaHJvbm91cyB0ZXN0IHdpdGggY2xlYW51cCcpOwotCi10ZXN0KGZ1bmN0aW9uKCkg
ewotICBhc3NlcnRfdHJ1ZShzYW1lTWljcm90YXNrKTsKLX0sICdzdWItdGVzdCB3aXRoIHNvbWUg
Y2xlYW51cCBmdW5jdGlvbnMgZXhlY3V0ZXMgaW4gdGhlIHNhbWUgbWljcm90YXNrIGFzIGEgcGFz
c2luZyBzdWItdGVzdCcpOwotCi10ZXN0KGZ1bmN0aW9uKHQpIHsKLSAgdC5hZGRfY2xlYW51cChm
dW5jdGlvbigpIHt9KTsKLQotICBzYW1lTWljcm90YXNrID0gdHJ1ZTsKLSAgbWljcm9UYXNrKGZ1
bmN0aW9uKCkgeyBzYW1lTWljcm90YXNrID0gZmFsc2U7IH0pOwotICB0aHJvdyBleHBlY3RlZEVy
cm9yOwotfSwgJ2ZhaWxpbmcgc3luY2hyb25vdXMgdGVzdCB3aXRoIGNsZWFudXAnKTsKLQotdGVz
dChmdW5jdGlvbigpIHsKLSAgYXNzZXJ0X3RydWUoc2FtZU1pY3JvdGFzayk7Ci19LCAnc3ViLXRl
c3Qgd2l0aCBzb21lIGNsZWFudXAgZnVuY3Rpb25zIGV4ZWN1dGVzIGluIHRoZSBzYW1lIG1pY3Jv
dGFzayBhcyBhIGZhaWxpbmcgc3ViLXRlc3QnKTsKLTwvc2NyaXB0PgotCi08c2NyaXB0IHR5cGU9
InRleHQvanNvbiIgaWQ9ImV4cGVjdGVkIj4KLXsKLSAgICAic3VtbWFyaXplZF9zdGF0dXMiOiB7
Ci0gICAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICAgInN0YXR1c19zdHJpbmciOiAiT0si
Ci0gICAgfSwKLSAgICAic3VtbWFyaXplZF90ZXN0cyI6IFsKLSAgICAgICAgewotICAgICAgICAg
ICAgIm1lc3NhZ2UiOiAiVGhpcyBlcnJvciBpcyBleHBlY3RlZCIsCi0gICAgICAgICAgICAibmFt
ZSI6ICJmYWlsaW5nIHN5bmNocm9ub3VzIHRlc3Qgd2l0aCBjbGVhbnVwIiwKLSAgICAgICAgICAg
ICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAgICAgICAic3RhdHVzX3N0cmluZyI6ICJGQUlMIgot
ICAgICAgICB9LAotICAgICAgICB7Ci0gICAgICAgICAgICAibWVzc2FnZSI6ICJUaGlzIGVycm9y
IGlzIGV4cGVjdGVkIiwKLSAgICAgICAgICAgICJuYW1lIjogImZhaWxpbmcgc3luY2hyb25vdXMg
dGVzdCB3aXRob3V0IGNsZWFudXAiLAotICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAg
ICAgICAgICAgICJzdGF0dXNfc3RyaW5nIjogIkZBSUwiCi0gICAgICAgIH0sCi0gICAgICAgIHsK
LSAgICAgICAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICAgICAgICJuYW1lIjogInByZWNv
bmRpdGlvbjogbWljcm90YXNrIGNyZWF0aW9uIGxvZ2ljIGZ1bmN0aW9ucyBhcyBleHBlY3RlZCIs
Ci0gICAgICAgICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgICAgICAgInN0YXR1c19zdHJp
bmciOiAiUEFTUyIKLSAgICAgICAgfSwKLSAgICAgICAgewotICAgICAgICAgICAgIm1lc3NhZ2Ui
OiBudWxsLAotICAgICAgICAgICAgIm5hbWUiOiAic3ViLXRlc3Qgd2l0aCAwIGNsZWFudXAgZnVu
Y3Rpb25zIGV4ZWN1dGVzIGluIHRoZSBzYW1lIG1pY3JvdGFzayBhcyBhIGZhaWxpbmcgc3ViLXRl
c3QiLAotICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICAgICAgICJzdGF0dXNf
c3RyaW5nIjogIlBBU1MiCi0gICAgICAgIH0sCi0gICAgICAgIHsKLSAgICAgICAgICAgICJtZXNz
YWdlIjogbnVsbCwKLSAgICAgICAgICAgICJuYW1lIjogInN1Yi10ZXN0IHdpdGggMCBjbGVhbnVw
IGZ1bmN0aW9ucyBleGVjdXRlcyBpbiB0aGUgc2FtZSBtaWNyb3Rhc2sgYXMgYSBwYXNzaW5nIHN1
Yi10ZXN0IiwKLSAgICAgICAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAgICAgICAic3Rh
dHVzX3N0cmluZyI6ICJQQVNTIgotICAgICAgICB9LAotICAgICAgICB7Ci0gICAgICAgICAgICAi
bWVzc2FnZSI6IG51bGwsCi0gICAgICAgICAgICAibmFtZSI6ICJzdWItdGVzdCB3aXRoIHNvbWUg
Y2xlYW51cCBmdW5jdGlvbnMgZXhlY3V0ZXMgaW4gdGhlIHNhbWUgbWljcm90YXNrIGFzIGEgZmFp
bGluZyBzdWItdGVzdCIsCi0gICAgICAgICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgICAg
ICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIKLSAgICAgICAgfSwKLSAgICAgICAgewotICAgICAg
ICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgICAgICAgIm5hbWUiOiAic3ViLXRlc3Qgd2l0
aCBzb21lIGNsZWFudXAgZnVuY3Rpb25zIGV4ZWN1dGVzIGluIHRoZSBzYW1lIG1pY3JvdGFzayBh
cyBhIHBhc3Npbmcgc3ViLXRlc3QiLAotICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAg
ICAgICAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiCi0gICAgICAgIH0sCi0gICAgICAgIHsK
LSAgICAgICAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICAgICAgICJuYW1lIjogInN5bmNo
cm9ub3VzIHRlc3Qgd2l0aCBjbGVhbnVwIiwKLSAgICAgICAgICAgICJwcm9wZXJ0aWVzIjoge30s
Ci0gICAgICAgICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIgotICAgICAgICB9LAotICAgICAg
ICB7Ci0gICAgICAgICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAgICAgICAibmFtZSI6ICJz
eW5jaHJvbm91cyB0ZXN0IHdpdGhvdXQgY2xlYW51cCIsCi0gICAgICAgICAgICAicHJvcGVydGll
cyI6IHt9LAotICAgICAgICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIKLSAgICAgICAgfQot
ICAgIF0sCi0gICAgInR5cGUiOiAiY29tcGxldGUiCi19Ci08L3NjcmlwdD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rl
c3QvdGVzdHMvZnVuY3Rpb25hbC91bmNhdWdodC1leGNlcHRpb24taGFuZGxlLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rl
c3RzL2Z1bmN0aW9uYWwvdW5jYXVnaHQtZXhjZXB0aW9uLWhhbmRsZS5odG1sCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCA0Yzk2MDE4NmUwZC4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0
cy9mdW5jdGlvbmFsL3VuY2F1Z2h0LWV4Y2VwdGlvbi1oYW5kbGUuaHRtbAorKysgL2Rldi9udWxs
CkBAIC0xLDM2ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLTxtZXRh
IG5hbWU9InZhcmlhbnQiIGNvbnRlbnQ9IiI+Ci08bWV0YSBuYW1lPSJ2YXJpYW50IiBjb250ZW50
PSI/a2VlcC1wcm9taXNlIj4KLTx0aXRsZT5IYXJuZXNzIEhhbmRsaW5nIFVuY2F1Z2h0IEV4Y2Vw
dGlvbjwvdGl0bGU+Ci08c2NyaXB0IHNyYz0iLi4vLi4vdmFyaWFudHMuanMiPjwvc2NyaXB0Pgot
PC9oZWFkPgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgotCi08Ym9keT4KLTxoMT5IYXJuZXNzIEhhbmRsaW5nIFVuY2F1Z2h0IEV4Y2VwdGlvbjwvaDE+
Ci08ZGl2IGlkPSJsb2ciPjwvZGl2PgotPHNjcmlwdD4KLXZhciB0ID0gYXN5bmNfdGVzdCgiVGhp
cyBzaG91bGQgc2hvdyBhIGhhcm5lc3Mgc3RhdHVzIG9mICdFcnJvcicgYW5kIGEgdGVzdCBzdGF0
dXMgb2YgJ05vdCBSdW4nIik7Ci10aHJvdyBuZXcgRXJyb3IoIkV4YW1wbGUgRXJyb3IiKTsKLTwv
c2NyaXB0PgotPHNjcmlwdCB0eXBlPSJ0ZXh0L2pzb24iIGlkPSJleHBlY3RlZCI+Ci17Ci0gICJz
dW1tYXJpemVkX3N0YXR1cyI6IHsKLSAgICAic3RhdHVzX3N0cmluZyI6ICJFUlJPUiIsCi0gICAg
Im1lc3NhZ2UiOiAiRXJyb3I6IEV4YW1wbGUgRXJyb3IiCi0gIH0sCi0gICJzdW1tYXJpemVkX3Rl
c3RzIjogWwotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIk5PVFJVTiIsCi0gICAgICAi
bmFtZSI6ICJUaGlzIHNob3VsZCBzaG93IGEgaGFybmVzcyBzdGF0dXMgb2YgJ0Vycm9yJyBhbmQg
YSB0ZXN0IHN0YXR1cyBvZiAnTm90IFJ1biciLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAg
ICAgICJtZXNzYWdlIjogbnVsbAotICAgIH0KLSAgXSwKLSAgInR5cGUiOiAiY29tcGxldGUiCi19
Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rp
b25hbC91bmNhdWdodC1leGNlcHRpb24taWdub3JlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwv
dW5jYXVnaHQtZXhjZXB0aW9uLWlnbm9yZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCBiNmQzMGVhYjBmMC4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFsL3Vu
Y2F1Z2h0LWV4Y2VwdGlvbi1pZ25vcmUuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDM4ICswLDAg
QEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLTxtZXRhIG5hbWU9InZhcmlhbnQi
IGNvbnRlbnQ9IiI+Ci08bWV0YSBuYW1lPSJ2YXJpYW50IiBjb250ZW50PSI/a2VlcC1wcm9taXNl
Ij4KLTx0aXRsZT5IYXJuZXNzIElnbm9yaW5nIFVuY2F1Z2h0IEV4Y2VwdGlvbjwvdGl0bGU+Ci08
c2NyaXB0IHNyYz0iLi4vLi4vdmFyaWFudHMuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotCi08Ym9keT4KLTxo
MT5IYXJuZXNzIElnbm9yaW5nIFVuY2F1Z2h0IEV4Y2VwdGlvbjwvaDE+Ci08ZGl2IGlkPSJsb2ci
PjwvZGl2PgotPHNjcmlwdD4KLXNldHVwKHthbGxvd191bmNhdWdodF9leGNlcHRpb246dHJ1ZX0p
OwotdmFyIHQgPSBhc3luY190ZXN0KCJzZXR1cCh7YWxsb3dfdW5jYXVnaHRfZXhjZXB0aW9uOnRy
dWV9KSBzaG91bGQgYWxsb3cgdGVzdHMgdG8gcGFzcyBldmVuIGlmIHRoZXJlIGlzIGFuIGV4Y2Vw
dGlvbiIpOwotb25lcnJvciA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKCkge3QuZG9uZSgpfSk7Ci10
aHJvdyBuZXcgRXJyb3IoIkV4YW1wbGUgRXJyb3IiKTsKLTwvc2NyaXB0PgotPHNjcmlwdCB0eXBl
PSJ0ZXh0L2pzb24iIGlkPSJleHBlY3RlZCI+Ci17Ci0gICJzdW1tYXJpemVkX3N0YXR1cyI6IHsK
LSAgICAic3RhdHVzX3N0cmluZyI6ICJPSyIsCi0gICAgIm1lc3NhZ2UiOiBudWxsCi0gIH0sCi0g
ICJzdW1tYXJpemVkX3Rlc3RzIjogWwotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBB
U1MiLAotICAgICAgIm5hbWUiOiAic2V0dXAoe2FsbG93X3VuY2F1Z2h0X2V4Y2VwdGlvbjp0cnVl
fSkgc2hvdWxkIGFsbG93IHRlc3RzIHRvIHBhc3MgZXZlbiBpZiB0aGVyZSBpcyBhbiBleGNlcHRp
b24iLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogbnVsbAotICAg
IH0KLSAgXSwKLSAgInR5cGUiOiAiY29tcGxldGUiCi19Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC93M2MtaW1wb3J0LmxvZyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3Qv
dGVzdHMvZnVuY3Rpb25hbC93M2MtaW1wb3J0LmxvZwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMmFkYjY3MzA1MmEuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC93
M2MtaW1wb3J0LmxvZworKysgL2Rldi9udWxsCkBAIC0xLDU5ICswLDAgQEAKLVRoZSB0ZXN0cyBp
biB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5Lgot
RG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBj
cmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRodWIu
Y29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQKLQotVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMv
aW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKLQotRG8gTk9UIG1vZGlmeSBv
ciByZW1vdmUgdGhpcyBmaWxlLgotCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLVByb3BlcnRpZXMgcmVxdWly
aW5nIHZlbmRvciBwcmVmaXhlczoKLU5vbmUKLVByb3BlcnR5IHZhbHVlcyByZXF1aXJpbmcgdmVu
ZG9yIHByZWZpeGVzOgotTm9uZQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1MaXN0IG9mIGZpbGVzOgotL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3Qv
dGVzdHMvZnVuY3Rpb25hbC9hZGRfY2xlYW51cC5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFsL2Fk
ZF9jbGVhbnVwX2FzeW5jLmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvYWRkX2NsZWFudXBfYXN5
bmNfYmFkX3JldHVybi5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFsL2FkZF9jbGVhbnVwX2FzeW5j
X3JlamVjdGlvbi5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFsL2FkZF9jbGVhbnVwX2FzeW5jX3Jl
amVjdGlvbl9hZnRlcl9sb2FkLmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvYWRkX2NsZWFudXBf
YXN5bmNfdGltZW91dC5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFsL2FkZF9jbGVhbnVwX2JhZF9y
ZXR1cm4uaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC9hZGRfY2xlYW51cF9jb3VudC5odG1sCi0v
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVz
dC90ZXN0cy9mdW5jdGlvbmFsL2FkZF9jbGVhbnVwX2Vyci5odG1sCi0vTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlv
bmFsL2FkZF9jbGVhbnVwX2Vycl9tdWx0aS5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFsL2FkZF9j
bGVhbnVwX3N5bmNfcXVldWUuaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC9hcGktdGVzdHMtMS5o
dG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFsL2FwaS10ZXN0cy0yLmh0bWwKLS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0
aW9uYWwvYXBpLXRlc3RzLTMuaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC9mb3JjZV90aW1lb3V0
Lmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvZ2VuZXJhdGUtY2FsbGJhY2suaHRtbAotL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVz
dHMvZnVuY3Rpb25hbC9pZnJhbWUtY2FsbGJhY2suaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC9p
ZnJhbWUtY29uc29saWRhdGUtZXJyb3JzLmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvaWZyYW1l
LWNvbnNvbGlkYXRlLXRlc3RzLmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvaWZyYW1lLW1zZy5o
dG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFsL2xvZy1pbnNlcnRpb24uaHRtbAotL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVu
Y3Rpb25hbC9vcmRlci5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFsL3Byb21pc2UtYXN5bmMuaHRt
bAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC9wcm9taXNlLXdpdGgtc3luYy5odG1sCi0vTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9m
dW5jdGlvbmFsL3Byb21pc2UuaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC9xdWV1ZS5odG1sCi0v
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVz
dC90ZXN0cy9mdW5jdGlvbmFsL3NpbmdsZS1wYWdlLXRlc3QtZmFpbC5odG1sCi0vTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9m
dW5jdGlvbmFsL3NpbmdsZS1wYWdlLXRlc3Qtbm8tYXNzZXJ0aW9ucy5odG1sCi0vTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9m
dW5jdGlvbmFsL3NpbmdsZS1wYWdlLXRlc3Qtbm8tYm9keS5odG1sCi0vTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlv
bmFsL3NpbmdsZS1wYWdlLXRlc3QtcGFzcy5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFsL3Rhc2st
c2NoZWR1bGluZy1wcm9taXNlLXRlc3QuaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC90YXNrLXNj
aGVkdWxpbmctdGVzdC5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFsL3VuY2F1Z2h0LWV4Y2VwdGlv
bi1oYW5kbGUuaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC91bmNhdWdodC1leGNlcHRpb24taWdu
b3JlLmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvd29ya2VyLWRlZGljYXRlZC11bmNhdWdodC1h
bGxvdy5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFsL3dvcmtlci1kZWRpY2F0ZWQtdW5jYXVnaHQt
c2luZ2xlLmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvd29ya2VyLWRlZGljYXRlZC5zdWIuaHRt
bAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC93b3JrZXItZXJyb3IuanMKLS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9u
YWwvd29ya2VyLXNlcnZpY2UuaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC93b3JrZXItc2hhcmVk
Lmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvd29ya2VyLXVuY2F1Z2h0LWFsbG93LmpzCi0vTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90
ZXN0cy9mdW5jdGlvbmFsL3dvcmtlci11bmNhdWdodC1zaW5nbGUuanMKLS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0
aW9uYWwvd29ya2VyLmpzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvd29ya2VyLWRl
ZGljYXRlZC11bmNhdWdodC1hbGxvdy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFsL3dvcmtlci1k
ZWRpY2F0ZWQtdW5jYXVnaHQtYWxsb3cuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMzM1NDNkMGI0ZTcuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC93b3Jr
ZXItZGVkaWNhdGVkLXVuY2F1Z2h0LWFsbG93Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw0OCAr
MCwwIEBACi08IURPQ1RZUEUgSFRNTD4KLTxodG1sPgotPGhlYWQ+Ci08bWV0YSBuYW1lPSJ2YXJp
YW50IiBjb250ZW50PSIiPgotPG1ldGEgbmFtZT0idmFyaWFudCIgY29udGVudD0iP2tlZXAtcHJv
bWlzZSI+Ci08dGl0bGU+RGVkaWNhdGVkIFdvcmtlciBUZXN0cyAtIEFsbG93ZWQgVW5jYXVnaHQg
RXhjZXB0aW9uPC90aXRsZT4KLTxzY3JpcHQgc3JjPSIuLi8uLi92YXJpYW50cy5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08
L2hlYWQ+Ci08Ym9keT4KLTxoMT5EZWRpY2F0ZWQgV2ViIFdvcmtlciBUZXN0cyAtIEFsbG93ZWQg
VW5jYXVnaHQgRXhjZXB0aW9uPC9oMT4KLTxwPkRlbW9uc3RyYXRlcyBydW5uaW5nIDx0dD50ZXN0
aGFybmVzczwvdHQ+IGJhc2VkIHRlc3RzIGluc2lkZSBhIGRlZGljYXRlZCB3ZWIgd29ya2VyLgot
PHA+VGhlIHRlc3QgaGFybmVzcyBpcyBleHBlY3RlZCB0byBwYXNzIGRlc3BpdGUgYW4gdW5jYXVn
aHQgZXhjZXB0aW9uIGluIGEgd29ya2VyIGJlY2F1c2UgdGhhdCB3b3JrZXIgaXMgY29uZmlndXJl
ZCB0byBhbGxvdyB1bmNhdWdodCBleGNlcHRpb25zLjwvcD4KLTxkaXYgaWQ9ImxvZyI+PC9kaXY+
Ci0KLTxzY3JpcHQ+Ci10ZXN0KGZ1bmN0aW9uKHQpIHsKLSAgICAgICAgYXNzZXJ0X3RydWUoIldv
cmtlciIgaW4gc2VsZiwgIkJyb3dzZXIgc2hvdWxkIHN1cHBvcnQgV29ya2VycyIpOwotICAgIH0s
Ci0gICAgIkJyb3dzZXIgc3VwcG9ydHMgV29ya2VycyIpOwotCi1mZXRjaF90ZXN0c19mcm9tX3dv
cmtlcihuZXcgV29ya2VyKCJ3b3JrZXItdW5jYXVnaHQtYWxsb3cuanMiKSk7Ci08L3NjcmlwdD4K
LTxzY3JpcHQgdHlwZT0idGV4dC9qc29uIiBpZD0iZXhwZWN0ZWQiPgotewotICAic3VtbWFyaXpl
ZF9zdGF0dXMiOiB7Ci0gICAgInN0YXR1c19zdHJpbmciOiAiT0siLAotICAgICJtZXNzYWdlIjog
bnVsbAotICB9LAotICAic3VtbWFyaXplZF90ZXN0cyI6IFsKLSAgICB7Ci0gICAgICAic3RhdHVz
X3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1lIjogIkJyb3dzZXIgc3VwcG9ydHMgV29ya2Vy
cyIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsCi0gICAg
fSwKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1lIjog
Im9uZXJyb3IgZXZlbnQgaXMgdHJpZ2dlcmVkIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0g
ICAgICAibWVzc2FnZSI6IG51bGwKLSAgICB9Ci0gIF0sCi0gICJ0eXBlIjogImNvbXBsZXRlIgot
fQotPC9zY3JpcHQ+Ci08L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvd29y
a2VyLWRlZGljYXRlZC11bmNhdWdodC1zaW5nbGUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC93
b3JrZXItZGVkaWNhdGVkLXVuY2F1Z2h0LXNpbmdsZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCA3NjAxNTE4MzJlOC4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlv
bmFsL3dvcmtlci1kZWRpY2F0ZWQtdW5jYXVnaHQtc2luZ2xlLmh0bWwKKysrIC9kZXYvbnVsbApA
QCAtMSw1OSArMCwwIEBACi08IURPQ1RZUEUgSFRNTD4KLTxodG1sPgotPGhlYWQ+Ci08bWV0YSBu
YW1lPSJ2YXJpYW50IiBjb250ZW50PSIiPgotPG1ldGEgbmFtZT0idmFyaWFudCIgY29udGVudD0i
P2tlZXAtcHJvbWlzZSI+Ci08dGl0bGU+RGVkaWNhdGVkIFdvcmtlciBUZXN0cyAtIFVuY2F1Z2h0
IEV4Y2VwdGlvbiBpbiBTaW5nbGUtUGFnZSBUZXN0PC90aXRsZT4KLTxzY3JpcHQgc3JjPSIuLi8u
Li92YXJpYW50cy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxoMT5EZWRpY2F0ZWQgV2ViIFdv
cmtlciBUZXN0cyAtIFVuY2F1Z2h0IEV4Y2VwdGlvbiBpbiBTaW5nbGUtUGFnZSBUZXN0PC9oMT4K
LTxwPkRlbW9uc3RyYXRlcyBydW5uaW5nIDx0dD50ZXN0aGFybmVzczwvdHQ+IGJhc2VkIHRlc3Rz
IGluc2lkZSBhIGRlZGljYXRlZCB3ZWIgd29ya2VyLgotPHA+VGhlIHRlc3QgaGFybmVzcyBpcyBl
eHBlY3RlZCB0byBwYXNzIGRlc3BpdGUgYW4gdW5jYXVnaHQgZXhjZXB0aW9uIGluIGEgd29ya2Vy
IGJlY2F1c2UgdGhhdCB3b3JrZXIgaXMgYSBzaW5nbGUtcGFnZSB0ZXN0LjwvcD4KLTxkaXYgaWQ9
ImxvZyI+PC9kaXY+Ci0KLTxzY3JpcHQ+Ci10ZXN0KGZ1bmN0aW9uKHQpIHsKLSAgICAgICAgYXNz
ZXJ0X3RydWUoIldvcmtlciIgaW4gc2VsZiwgIkJyb3dzZXIgc2hvdWxkIHN1cHBvcnQgV29ya2Vy
cyIpOwotICAgIH0sCi0gICAgIkJyb3dzZXIgc3VwcG9ydHMgV29ya2VycyIpOwotCi1mZXRjaF90
ZXN0c19mcm9tX3dvcmtlcihuZXcgV29ya2VyKCJ3b3JrZXItdW5jYXVnaHQtc2luZ2xlLmpzIikp
OwotCi10ZXN0KGZ1bmN0aW9uKHQpIHsKLSAgICAgICAgYXNzZXJ0X2ZhbHNlKGZhbHNlLCAiRmFs
c2UgaXMgZmFsc2UiKTsKLSAgICB9LAotICAgICJUZXN0IHJ1bm5pbmcgb24gbWFpbiBkb2N1bWVu
dC4iKTsKLTwvc2NyaXB0PgotPHNjcmlwdCB0eXBlPSJ0ZXh0L2pzb24iIGlkPSJleHBlY3RlZCI+
Ci17Ci0gICJzdW1tYXJpemVkX3N0YXR1cyI6IHsKLSAgICAic3RhdHVzX3N0cmluZyI6ICJPSyIs
Ci0gICAgIm1lc3NhZ2UiOiBudWxsCi0gIH0sCi0gICJzdW1tYXJpemVkX3Rlc3RzIjogWwotICAg
IHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUiOiAiQnJvd3Nl
ciBzdXBwb3J0cyBXb3JrZXJzIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVz
c2FnZSI6IG51bGwKLSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1Mi
LAotICAgICAgIm5hbWUiOiAiVGVzdCBydW5uaW5nIG9uIG1haW4gZG9jdW1lbnQuIiwKLSAgICAg
ICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6IG51bGwKLSAgICB9LAotICAgIHsK
LSAgICAgICJzdGF0dXNfc3RyaW5nIjogIkZBSUwiLAotICAgICAgIm5hbWUiOiAid29ya2VyLXVu
Y2F1Z2h0LXNpbmdsZSIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2Ui
OiAiRXJyb3I6IFRoaXMgZmFpbHVyZSBpcyBleHBlY3RlZC4iCi0gICAgfQotICBdLAotICAidHlw
ZSI6ICJjb21wbGV0ZSIKLX0KLTwvc2NyaXB0PgotPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0
cy9mdW5jdGlvbmFsL3dvcmtlci1kZWRpY2F0ZWQuc3ViLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9u
YWwvd29ya2VyLWRlZGljYXRlZC5zdWIuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggNTU3M2IxZDUyNzMuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC93b3Jr
ZXItZGVkaWNhdGVkLnN1Yi5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsOTEgKzAsMCBAQAotPCFE
T0NUWVBFIEhUTUw+Ci08aHRtbD4KLTxoZWFkPgotPG1ldGEgbmFtZT0idmFyaWFudCIgY29udGVu
dD0iIj4KLTxtZXRhIG5hbWU9InZhcmlhbnQiIGNvbnRlbnQ9Ij9rZWVwLXByb21pc2UiPgotPHRp
dGxlPkRlZGljYXRlZCBXb3JrZXIgVGVzdHM8L3RpdGxlPgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Zh
cmlhbnRzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4vdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08aDE+RGVkaWNhdGVkIFdlYiBXb3JrZXIgVGVz
dHM8L2gxPgotPHA+RGVtb25zdHJhdGVzIHJ1bm5pbmcgPHR0PnRlc3RoYXJuZXNzPC90dD4gYmFz
ZWQgdGVzdHMgaW5zaWRlIGEgZGVkaWNhdGVkIHdlYiB3b3JrZXIuCi08cD5UaGUgdGVzdCBoYXJu
ZXNzIGlzIGV4cGVjdGVkIHRvIGZhaWwgZHVlIHRvIGFuIHVuY2F1Z2h0IGV4Y2VwdGlvbiBpbiBv
bmUgd29ya2VyLjwvcD4KLTxkaXYgaWQ9ImxvZyI+PC9kaXY+Ci0KLTxzY3JpcHQ+Ci10ZXN0KGZ1
bmN0aW9uKHQpIHsKLSAgICAgICAgYXNzZXJ0X3RydWUoIldvcmtlciIgaW4gc2VsZiwgIkJyb3dz
ZXIgc2hvdWxkIHN1cHBvcnQgV29ya2VycyIpOwotICAgIH0sCi0gICAgIkJyb3dzZXIgc3VwcG9y
dHMgV29ya2VycyIpOwotCi1mZXRjaF90ZXN0c19mcm9tX3dvcmtlcihuZXcgV29ya2VyKCJ3b3Jr
ZXIuanMiKSk7Ci0KLWZldGNoX3Rlc3RzX2Zyb21fd29ya2VyKG5ldyBXb3JrZXIoIndvcmtlci1l
cnJvci5qcyIpKTsKLQotdGVzdChmdW5jdGlvbih0KSB7Ci0gICAgICAgIGFzc2VydF9mYWxzZShm
YWxzZSwgIkZhbHNlIGlzIGZhbHNlIik7Ci0gICAgfSwKLSAgICAiVGVzdCBydW5uaW5nIG9uIG1h
aW4gZG9jdW1lbnQuIik7Ci08L3NjcmlwdD4KLTxzY3JpcHQgdHlwZT0idGV4dC9qc29uIiBpZD0i
ZXhwZWN0ZWQiPgotewotICAic3VtbWFyaXplZF9zdGF0dXMiOiB7Ci0gICAgInN0YXR1c19zdHJp
bmciOiAiRVJST1IiLAotICAgICJtZXNzYWdlIjogIkVycm9yOiBUaGlzIGZhaWx1cmUgaXMgZXhw
ZWN0ZWQuIgotICB9LAotICAic3VtbWFyaXplZF90ZXN0cyI6IFsKLSAgICB7Ci0gICAgICAic3Rh
dHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1lIjogIkJyb3dzZXIgc3VwcG9ydHMgV29y
a2VycyIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsCi0g
ICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1l
IjogIlRlc3QgcnVubmluZyBvbiBtYWluIGRvY3VtZW50LiIsCi0gICAgICAicHJvcGVydGllcyI6
IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsCi0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVz
X3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1lIjogIldvcmtlciBhc3luY190ZXN0IHRoYXQg
Y29tcGxldGVzIHN1Y2Nlc3NmdWxseSIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAg
Im1lc3NhZ2UiOiBudWxsCi0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQ
QVNTIiwKLSAgICAgICJuYW1lIjogIldvcmtlciB0ZXN0IHRoYXQgY29tcGxldGVzIHN1Y2Nlc3Nm
dWxseSIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsCi0g
ICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1l
IjogIndvcmtlciB0ZXN0IHRoYXQgY29tcGxldGVzIHN1Y2Nlc3NmdWxseSBiZWZvcmUgZXhjZXB0
aW9uIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6IG51bGwKLSAg
ICB9LAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIk5PVFJVTiIsCi0gICAgICAibmFt
ZSI6ICJXb3JrZXIgdGVzdCB0aGF0IGRvZXNuJ3QgcnVuICgnTk9UIFJVTicpIiwKLSAgICAgICJw
cm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6IG51bGwKLSAgICB9LAotICAgIHsKLSAg
ICAgICJzdGF0dXNfc3RyaW5nIjogIkZBSUwiLAotICAgICAgIm5hbWUiOiAiV29ya2VyIHRlc3Qg
dGhhdCBmYWlscyAoJ0ZBSUwnKSIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1l
c3NhZ2UiOiAiYXNzZXJ0X3RydWU6IEZhaWxpbmcgdGVzdCBleHBlY3RlZCB0cnVlIGdvdCBmYWxz
ZSIKLSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlRJTUVPVVQiLAotICAg
ICAgIm5hbWUiOiAiV29ya2VyIHRlc3QgdGhhdCB0aW1lcyBvdXQgKCdUSU1FT1VUJykiLAotICAg
ICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogIlRlc3QgdGltZWQgb3V0Igot
ICAgIH0KLSAgXSwKLSAgInR5cGUiOiAiY29tcGxldGUiCi19Ci08L3NjcmlwdD4KLTwvYm9keT4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC93b3JrZXItZXJyb3IuanMgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3Rz
L2Z1bmN0aW9uYWwvd29ya2VyLWVycm9yLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCA3Yjg5NjAyZjA0Yi4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFsL3dvcmtl
ci1lcnJvci5qcworKysgL2Rldi9udWxsCkBAIC0xLDggKzAsMCBAQAotaW1wb3J0U2NyaXB0cygi
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotCi0vLyBUaGUgZm9sbG93aW5nIHN1Yi10ZXN0
IGVuc3VyZXMgdGhhdCB0aGUgd29ya2VyIGlzIG5vdCBpbnRlcnByZXRlZCBhcyBhCi0vLyBzaW5n
bGUtcGFnZSB0ZXN0LiAgVGhlIHN1YnNlcXVlbnQgdW5jYXVnaHQgZXhjZXB0aW9uIHNob3VsZCB0
aGVyZWZvcmUgYmUKLS8vIGludGVycHJldGVkIGFzIGEgaGFybmVzcyBlcnJvciByYXRoZXIgdGhh
biBhIHNpbmdsZS1wYWdlIHRlc3QgZmFpbHVyZS4KLXRlc3QoZnVuY3Rpb24oKSB7fSwgIndvcmtl
ciB0ZXN0IHRoYXQgY29tcGxldGVzIHN1Y2Nlc3NmdWxseSBiZWZvcmUgZXhjZXB0aW9uIik7Ci0K
LXRocm93IG5ldyBFcnJvcigiVGhpcyBmYWlsdXJlIGlzIGV4cGVjdGVkLiIpOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
dGVzdC90ZXN0cy9mdW5jdGlvbmFsL3dvcmtlci1zZXJ2aWNlLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0
aW9uYWwvd29ya2VyLXNlcnZpY2UuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
YzI3MWU2NTk5YzAuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC93b3JrZXIt
c2VydmljZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTE3ICswLDAgQEAKLTwhRE9DVFlQRSBI
VE1MPgotPGh0bWw+Ci08aGVhZD4KLTxtZXRhIG5hbWU9InZhcmlhbnQiIGNvbnRlbnQ9Ij9rZWVw
LXByb21pc2UiPgotPHRpdGxlPkV4YW1wbGUgd2l0aCBhIHNlcnZpY2Ugd29ya2VyPC90aXRsZT4K
LTxzY3JpcHQgc3JjPSIuLi8uLi92YXJpYW50cy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxo
MT5TZXJ2aWNlIFdvcmtlciBUZXN0czwvaDE+Ci08cD5EZW1vbnN0cmF0ZXMgcnVubmluZyA8dHQ+
dGVzdGhhcm5lc3M8L3R0PiBiYXNlZCB0ZXN0cyBpbnNpZGUgYSBzZXJ2aWNlIHdvcmtlci4KLTxw
PlRoZSB0ZXN0IGhhcm5lc3Mgc2hvdWxkIHRpbWUgb3V0IGR1ZSB0byBvbmUgb2YgdGhlIHRlc3Rz
IGluc2lkZSB0aGUgd29ya2VyIHRpbWluZyBvdXQuCi08cD5UaGlzIHRlc3QgYXNzdW1lcyB0aGF0
IHRoZSBicm93c2VyIHN1cHBvcnRzIDxhIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL3NlcnZp
Y2Utd29ya2Vycy8iPlNlcnZpY2VXb3JrZXJzPC9hPi4KLTxkaXYgaWQ9ImxvZyI+PC9kaXY+Ci0K
LTxzY3JpcHQ+Ci10ZXN0KAotICAgIGZ1bmN0aW9uKHQpIHsKLSAgICAgICAgYXNzZXJ0X3RydWUo
InNlcnZpY2VXb3JrZXIiIGluIG5hdmlnYXRvciwKLSAgICAgICAgICAgICAgICAgICAgIm5hdmln
YXRvci5zZXJ2aWNlV29ya2VyIGV4aXN0cyIpOwotICAgIH0sCi0gICAgIkJyb3dzZXIgc3VwcG9y
dHMgU2VydmljZVdvcmtlciIpOwotCi1wcm9taXNlX3Rlc3QoCi0gICAgZnVuY3Rpb24oKSB7Ci0g
ICAgICAgIC8vIFNpbmNlIHRoZSBzZXJ2aWNlIHdvcmtlciByZWdpc3RyYXRpb24gY291bGQgYmUg
aW4gYW4gaW5kZXRlcm1pbmF0ZQotICAgICAgICAvLyBzdGF0ZSAoZHVlIHRvLCBmb3IgZXhhbXBs
ZSwgYSBwcmV2aW91cyB0ZXN0IHJ1biBmYWlsaW5nKSwgd2Ugc3RhcnQgYnkKLSAgICAgICAgLy8g
dW5yZWdzdGVyaW5nIG91ciBzZXJ2aWNlIHdvcmtlciBhbmQgdGhlbiByZWdpc3RlcmluZyBpdCBh
Z2Fpbi4KLSAgICAgICAgdmFyIHNjb3BlID0gInNlcnZpY2Utd29ya2VyLXNjb3BlIjsKLSAgICAg
ICAgdmFyIHdvcmtlcl91cmwgPSAid29ya2VyLmpzIjsKLQotICAgICAgICByZXR1cm4gbmF2aWdh
dG9yLnNlcnZpY2VXb3JrZXIucmVnaXN0ZXIod29ya2VyX3VybCwge3Njb3BlOiBzY29wZX0pCi0g
ICAgICAgICAgICAudGhlbigKLSAgICAgICAgICAgICAgICBmdW5jdGlvbihyZWdpc3RyYXRpb24p
IHsKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlZ2lzdHJhdGlvbi51bnJlZ2lzdGVyKCk7
Ci0gICAgICAgICAgICAgICAgfSkKLSAgICAgICAgICAgIC50aGVuKAotICAgICAgICAgICAgICAg
IGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmF2aWdhdG9yLnNlcnZp
Y2VXb3JrZXIucmVnaXN0ZXIod29ya2VyX3VybCwge3Njb3BlOiBzY29wZX0pOwotICAgICAgICAg
ICAgICAgIH0pCi0gICAgICAgICAgICAudGhlbigKLSAgICAgICAgICAgICAgICBmdW5jdGlvbihy
ZWdpc3RyYXRpb24pIHsKLSAgICAgICAgICAgICAgICAgICAgYWRkX2NvbXBsZXRpb25fY2FsbGJh
Y2soCi0gICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICByZWdpc3RyYXRpb24udW5yZWdpc3RlcigpOwotICAgICAgICAgICAgICAg
ICAgICAgICAgfSk7Ci0KLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKAot
ICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24ocmVzb2x2ZSkgewotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHJlZ2lzdHJhdGlvbi5hZGRFdmVudExpc3RlbmVyKCJ1cGRhdGVmb3Vu
ZCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uKCkgewotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZShyZWdpc3RyYXRpb24uaW5zdGFs
bGluZyk7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pOwotICAgICAgICAgICAg
ICAgICAgICAgICAgfSk7Ci0gICAgICAgICAgICAgICAgfSkKLSAgICAgICAgICAgIC50aGVuKAot
ICAgICAgICAgICAgICAgIGZ1bmN0aW9uKHdvcmtlcikgewotICAgICAgICAgICAgICAgICAgICBm
ZXRjaF90ZXN0c19mcm9tX3dvcmtlcih3b3JrZXIpOwotICAgICAgICAgICAgICAgIH0pOwotICAg
IH0sCi0gICAgIlJlZ2lzdGVyIFNlcnZpY2VXb3JrZXIiKTsKLTwvc2NyaXB0PgotPHNjcmlwdCB0
eXBlPSJ0ZXh0L2pzb24iIGlkPSJleHBlY3RlZCI+Ci17Ci0gICJzdW1tYXJpemVkX3N0YXR1cyI6
IHsKLSAgICAic3RhdHVzX3N0cmluZyI6ICJUSU1FT1VUIiwKLSAgICAibWVzc2FnZSI6IG51bGwK
LSAgfSwKLSAgInN1bW1hcml6ZWRfdGVzdHMiOiBbCi0gICAgewotICAgICAgInN0YXR1c19zdHJp
bmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJCcm93c2VyIHN1cHBvcnRzIFNlcnZpY2VXb3Jr
ZXIiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogbnVsbAotICAg
IH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6
ICJSZWdpc3RlciBTZXJ2aWNlV29ya2VyIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAg
ICAibWVzc2FnZSI6IG51bGwKLSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjog
IlBBU1MiLAotICAgICAgIm5hbWUiOiAiV29ya2VyIGFzeW5jX3Rlc3QgdGhhdCBjb21wbGV0ZXMg
c3VjY2Vzc2Z1bGx5IiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6
IG51bGwKLSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAg
ICAgIm5hbWUiOiAiV29ya2VyIHRlc3QgdGhhdCBjb21wbGV0ZXMgc3VjY2Vzc2Z1bGx5IiwKLSAg
ICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6IG51bGwKLSAgICB9LAotICAg
IHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIk5PVFJVTiIsCi0gICAgICAibmFtZSI6ICJXb3Jr
ZXIgdGVzdCB0aGF0IGRvZXNuJ3QgcnVuICgnTk9UIFJVTicpIiwKLSAgICAgICJwcm9wZXJ0aWVz
Ijoge30sCi0gICAgICAibWVzc2FnZSI6IG51bGwKLSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0
dXNfc3RyaW5nIjogIkZBSUwiLAotICAgICAgIm5hbWUiOiAiV29ya2VyIHRlc3QgdGhhdCBmYWls
cyAoJ0ZBSUwnKSIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiAi
YXNzZXJ0X3RydWU6IEZhaWxpbmcgdGVzdCBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZSIKLSAgICB9
LAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlRJTUVPVVQiLAotICAgICAgIm5hbWUi
OiAiV29ya2VyIHRlc3QgdGhhdCB0aW1lcyBvdXQgKCdUSU1FT1VUJykiLAotICAgICAgInByb3Bl
cnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogIlRlc3QgdGltZWQgb3V0IgotICAgIH0KLSAg
XSwKLSAgInR5cGUiOiAiY29tcGxldGUiCi19Ci08L3NjcmlwdD4KLTwvYm9keT4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC93b3JrZXItc2hhcmVkLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0
aW9uYWwvd29ya2VyLXNoYXJlZC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1
ZDA5OGRlOTEwNS4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFsL3dvcmtlci1z
aGFyZWQuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDc2ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1M
PgotPGh0bWw+Ci08aGVhZD4KLTxtZXRhIG5hbWU9InZhcmlhbnQiIGNvbnRlbnQ9IiI+Ci08bWV0
YSBuYW1lPSJ2YXJpYW50IiBjb250ZW50PSI/a2VlcC1wcm9taXNlIj4KLTx0aXRsZT5FeGFtcGxl
IHdpdGggYSBzaGFyZWQgd29ya2VyPC90aXRsZT4KLTxzY3JpcHQgc3JjPSIuLi8uLi92YXJpYW50
cy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxoMT5TaGFyZWQgV2ViIFdvcmtlciBUZXN0czwv
aDE+Ci08cD5EZW1vbnN0cmF0ZXMgcnVubmluZyA8dHQ+dGVzdGhhcm5lc3M8L3R0PiBiYXNlZCB0
ZXN0cyBpbnNpZGUgYSBzaGFyZWQgd29ya2VyLgotPHA+VGhlIHRlc3QgaGFybmVzcyBzaG91bGQg
dGltZSBvdXQgZHVlIHRvIG9uZSBvZiB0aGUgdGVzdHMgaW4gdGhlIHdvcmtlciB0aW1pbmcgb3V0
LgotPHA+VGhpcyB0ZXN0IGFzc3VtZXMgdGhhdCB0aGUgYnJvd3NlciBzdXBwb3J0cyA8YSBocmVm
PSJodHRwOi8vd3d3LnczLm9yZy9UUi93b3JrZXJzLyNzaGFyZWQtd29ya2Vycy1hbmQtdGhlLXNo
YXJlZHdvcmtlci1pbnRlcmZhY2UiPnNoYXJlZCB3ZWIgd29ya2VyczwvYT4uCi08ZGl2IGlkPSJs
b2ciPjwvZGl2PgotCi08c2NyaXB0PgotdGVzdCgKLSAgICBmdW5jdGlvbih0KSB7Ci0gICAgICAg
IGFzc2VydF90cnVlKCJTaGFyZWRXb3JrZXIiIGluIHNlbGYsCi0gICAgICAgICAgICAgICAgICAg
ICJCcm93c2VyIHNob3VsZCBzdXBwb3J0IFNoYXJlZFdvcmtlcnMiKTsKLSAgICB9LAotICAgICJC
cm93c2VyIHN1cHBvcnRzIFNoYXJlZFdvcmtlcnMiKTsKLQotZmV0Y2hfdGVzdHNfZnJvbV93b3Jr
ZXIobmV3IFNoYXJlZFdvcmtlcigid29ya2VyLmpzIiwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIk15IHNoYXJlZCB3b3JrZXIiKSk7Ci08L3NjcmlwdD4KLTxzY3Jp
cHQgdHlwZT0idGV4dC9qc29uIiBpZD0iZXhwZWN0ZWQiPgotewotICAic3VtbWFyaXplZF9zdGF0
dXMiOiB7Ci0gICAgInN0YXR1c19zdHJpbmciOiAiVElNRU9VVCIsCi0gICAgIm1lc3NhZ2UiOiBu
dWxsCi0gIH0sCi0gICJzdW1tYXJpemVkX3Rlc3RzIjogWwotICAgIHsKLSAgICAgICJzdGF0dXNf
c3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUiOiAiQnJvd3NlciBzdXBwb3J0cyBTaGFyZWRX
b3JrZXJzIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6IG51bGwK
LSAgICB9LAotICAgIHsKLSAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICJuYW1lIjogIldv
cmtlciBhc3luY190ZXN0IHRoYXQgY29tcGxldGVzIHN1Y2Nlc3NmdWxseSIsCi0gICAgICAicHJv
cGVydGllcyI6IHt9LAotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIKLSAgICB9LAotICAg
IHsKLSAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICJuYW1lIjogIldvcmtlciB0ZXN0IHRo
YXQgY29tcGxldGVzIHN1Y2Nlc3NmdWxseSIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAg
ICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIKLSAgICB9LAotICAgIHsKLSAgICAgICJtZXNzYWdl
IjogbnVsbCwKLSAgICAgICJuYW1lIjogIldvcmtlciB0ZXN0IHRoYXQgZG9lc24ndCBydW4gKCdO
T1QgUlVOJykiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJzdGF0dXNfc3RyaW5n
IjogIk5PVFJVTiIKLSAgICB9LAotICAgIHsKLSAgICAgICJtZXNzYWdlIjogImFzc2VydF90cnVl
OiBGYWlsaW5nIHRlc3QgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UiLAotICAgICAgIm5hbWUiOiAi
V29ya2VyIHRlc3QgdGhhdCBmYWlscyAoJ0ZBSUwnKSIsCi0gICAgICAicHJvcGVydGllcyI6IHt9
LAotICAgICAgInN0YXR1c19zdHJpbmciOiAiRkFJTCIKLSAgICB9LAotICAgIHsKLSAgICAgICJt
ZXNzYWdlIjogIlRlc3QgdGltZWQgb3V0IiwKLSAgICAgICJuYW1lIjogIldvcmtlciB0ZXN0IHRo
YXQgdGltZXMgb3V0ICgnVElNRU9VVCcpIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAg
ICAic3RhdHVzX3N0cmluZyI6ICJUSU1FT1VUIgotICAgIH0KLSAgXSwKLSAgInR5cGUiOiAiY29t
cGxldGUiCi19Ci08L3NjcmlwdD4KLTwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rp
b25hbC93b3JrZXItdW5jYXVnaHQtYWxsb3cuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvd29ya2Vy
LXVuY2F1Z2h0LWFsbG93LmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2OTI1ZDU5
MzQ5YS4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFsL3dvcmtlci11bmNhdWdo
dC1hbGxvdy5qcworKysgL2Rldi9udWxsCkBAIC0xLDE5ICswLDAgQEAKLWltcG9ydFNjcmlwdHMo
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLQotc2V0dXAoe2FsbG93X3VuY2F1Z2h0X2V4
Y2VwdGlvbjp0cnVlfSk7Ci0KLWFzeW5jX3Rlc3QoZnVuY3Rpb24odCkgewotICBvbmVycm9yID0g
ZnVuY3Rpb24oKSB7Ci0gICAgLy8gRnVydGhlciBkZWxheSB0aGUgdGVzdCdzIGNvbXBsZXRpb24g
dG8gZW5zdXJlIHRoYXQgdGhlIHdvcmtlcidzCi0gICAgLy8gYG9uZXJyb3JgIGhhbmRsZXIgZG9l
cyBub3QgaW5mbHVlbmNlIHJlc3VsdHMgaW4gdGhlIHBhcmVudCBjb250ZXh0LgotICAgIHNldFRp
bWVvdXQoZnVuY3Rpb24oKSB7Ci0gICAgICB0LmRvbmUoKTsKLSAgICB9LCAwKTsKLSAgfTsKLQot
ICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewotICAgIHRocm93IG5ldyBFcnJvcigiVGhpcyBlcnJv
ciBpcyBleHBlY3RlZC4iKTsKLSAgfSwgMCk7Ci19LCAnb25lcnJvciBldmVudCBpcyB0cmlnZ2Vy
ZWQnKTsKLQotZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9mdW5jdGlvbmFsL3dvcmtlci11
bmNhdWdodC1zaW5nbGUuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvd29ya2VyLXVuY2F1Z2h0LXNp
bmdsZS5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzA0NTQyYjJmNTcuLjAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rpb25hbC93b3JrZXItdW5jYXVnaHQtc2luZ2xlLmpz
CisrKyAvZGV2L251bGwKQEAgLTEsOCArMCwwIEBACi1pbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIik7Ci0KLXNldHVwKHsgc2luZ2xlX3Rlc3Q6IHRydWUgfSk7Ci0KLS8v
IEJlY2F1c2UgdGhpcyBzY3JpcHQgZW5hYmxlcyB0aGUgYHNpbmdsZV90ZXN0YCBjb25maWd1cmF0
aW9uIG9wdGlvbiwgaXQKLS8vIHNob3VsZCBiZSBpbnRlcnByZXRlZCBhcyBhIHNpbmdsZS1wYWdl
IHRlc3QsIGFuZCB0aGUgdW5jYXVnaHQgZXhjZXB0aW9uCi0vLyBzaG91bGQgYmUgcmVwb3J0ZWQg
YXMgYSB0ZXN0IGZhaWx1cmUgKGhhcm5lc3Mgc3RhdHVzOiBPSykuCi10aHJvdyBuZXcgRXJyb3Io
IlRoaXMgZmFpbHVyZSBpcyBleHBlY3RlZC4iKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZnVuY3Rp
b25hbC93b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2Z1bmN0aW9uYWwvd29ya2VyLmpzCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCBhOTIzYmMyZDg5ZS4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0
cy9mdW5jdGlvbmFsL3dvcmtlci5qcworKysgL2Rldi9udWxsCkBAIC0xLDM0ICswLDAgQEAKLWlt
cG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLQotdGVzdCgKLSAgICBm
dW5jdGlvbih0ZXN0KSB7Ci0gICAgICAgIGFzc2VydF90cnVlKHRydWUsICJUcnVlIGlzIHRydWUi
KTsKLSAgICB9LAotICAgICJXb3JrZXIgdGVzdCB0aGF0IGNvbXBsZXRlcyBzdWNjZXNzZnVsbHki
KTsKLQotdGVzdCgKLSAgICBmdW5jdGlvbih0ZXN0KSB7Ci0gICAgICAgIGFzc2VydF90cnVlKGZh
bHNlLCAiRmFpbGluZyB0ZXN0Iik7Ci0gICAgfSwKLSAgICAiV29ya2VyIHRlc3QgdGhhdCBmYWls
cyAoJ0ZBSUwnKSIpOwotCi1hc3luY190ZXN0KAotICAgIGZ1bmN0aW9uKHRlc3QpIHsKLSAgICAg
ICAgYXNzZXJ0X3RydWUodHJ1ZSwgIlRydWUgaXMgdHJ1ZSIpOwotICAgIH0sCi0gICAgIldvcmtl
ciB0ZXN0IHRoYXQgdGltZXMgb3V0ICgnVElNRU9VVCcpIik7Ci0KLWFzeW5jX3Rlc3QoIldvcmtl
ciB0ZXN0IHRoYXQgZG9lc24ndCBydW4gKCdOT1QgUlVOJykiKTsKLQotYXN5bmNfdGVzdCgKLSAg
ICBmdW5jdGlvbih0ZXN0KSB7Ci0gICAgICAgIHNlbGYuc2V0VGltZW91dCgKLSAgICAgICAgICAg
IGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgIHRlc3QuZG9uZSgpOwotICAgICAgICAgICAg
fSwKLSAgICAgICAgICAgIDApOwotICAgIH0sCi0gICAgIldvcmtlciBhc3luY190ZXN0IHRoYXQg
Y29tcGxldGVzIHN1Y2Nlc3NmdWxseSIpOwotCi0vLyBBbiBleHBsaWNpdCBkb25lKCkgaXMgcmVx
dWlyZWQgZm9yIGRlZGljYXRlZCBhbmQgc2hhcmVkIHdlYiB3b3JrZXJzLgotZG9uZSgpOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvdGVzdC90ZXN0cy9nZW5lcmF0ZS1jYWxsYmFjay5odG1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9nZW5lcmF0
ZS1jYWxsYmFjay5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhNzJhZDYyYTU5
Zi4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9nZW5lcmF0ZS1jYWxsYmFjay5odG1sCisrKyAv
ZGV2L251bGwKQEAgLTEsMTY3ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVh
ZD4KLTx0aXRsZT5TYW1wbGUgZm9yIHVzaW5nIGdlbmVyYXRlX3Rlc3RzIHRvIGNyZWF0ZSBhIHNl
cmllcyBvZiB0ZXN0cyB0aGF0IHNoYXJlIHRoZSBzYW1lIGNhbGxiYWNrLjwvdGl0bGU+Ci08c2Ny
aXB0IHNyYz0iLi4vLi4vdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPHNj
cmlwdD4KLS8vIGdlbmVyYXRlX3Rlc3RzIHRha2VzIGFuIGFycmF5IG9mIGFycmF5cyB0aGF0IGRl
ZmluZSB0ZXN0cwotLy8gYnV0IGxldHMgcGFzcyBpdCBhbiBlbXB0eSBhcnJheSBhbmQgdmVyaWZ5
IGl0IGRvZXMgbm90aGluZy4KLWZ1bmN0aW9uIG51bGxfY2FsbGJhY2soKSB7Ci0JdGhyb3cgIm51
bGxfY2FsbGJhY2sgc2hvdWxkIG5vdCBiZSBjYWxsZWQuIjsKLX0KLWdlbmVyYXRlX3Rlc3RzKG51
bGxfY2FsbGJhY2ssIFtdKTsKLQotLy8gR2VuZXJhdGUgMyB0ZXN0cyBzcGVjaWZ5aW5nIHRoZSBu
YW1lIGFuZCBvbmUgcGFyYW1ldGVyCi1mdW5jdGlvbiB2YWxpZGF0ZV9hcmd1bWVudHMoYXJnMSkg
ewotCWFzc2VydF9lcXVhbHMoYXJnMSwgMSwgIkVuc3VyZSB0aGF0IHdlIGdldCBvdXIgZXhwZWN0
ZWQgYXJndW1lbnQiKTsKLX0KLWdlbmVyYXRlX3Rlc3RzKHZhbGlkYXRlX2FyZ3VtZW50cywgWwot
CVsiZmlyc3QgdGVzdCIsIDFdLAotCVsic2Vjb25kIHRlc3QiLCAxXSwKLQlbInRoaXJkIHRlc3Qi
LCAxXSwKLV0pOwotCi0vLyBHZW5lcmF0ZSBhIHRlc3QgcGFzc2luZyBpbiBhIHByb3BlcnRpZXMg
b2JqZWN0IHRoYXQgaXMgc2hhcmVkIGFjcm9zcyB0ZXN0cy4KLWZ1bmN0aW9uIHZhbGlkYXRlX3By
b3BlcnRpZXMoKSB7Ci0JYXNzZXJ0X3RydWUodGhpcy5wcm9wZXJ0aWVzLnNlbnRpbmVsLCAiRW5z
dXJlIHRoYXQgd2UgZ290IHRoZSByaWdodCBwcm9wZXJ0aWVzIG9iamVjdC4iKTsKLX0KLWdlbmVy
YXRlX3Rlc3RzKHZhbGlkYXRlX3Byb3BlcnRpZXMsIFtbInNlbnRpbmVsIGNoZWNrIDEiXSwgWyJz
ZW50aW5lbCBjaGVjayAyIl1dLCB7c2VudGluZWw6IHRydWV9KTsKLQotLy8gR2VuZXJhdGUgYSB0
ZXN0IHBhc3NpbmcgaW4gYSBwcm9wZXJ0aWVzIG9iamVjdCB0aGF0IGlzIHNoYXJlZCBhY3Jvc3Mg
dGVzdHMuCi1mdW5jdGlvbiB2YWxpZGF0ZV9zZXBhcmF0ZV9wcm9wZXJ0aWVzKCkgewotCWlmICh0
aGlzLm5hbWUgPT09ICJzZW50aW5lbCBjaGVjayAxIHVuaXF1ZSBwcm9wZXJ0aWVzIikgewotCQlh
c3NlcnRfdHJ1ZSh0aGlzLnByb3BlcnRpZXMuc2VudGluZWwsICJFbnN1cmUgdGhhdCB3ZSBnb3Qg
dGhlIHJpZ2h0IHByb3BlcnRpZXMgb2JqZWN0LiBFeHBlY3Qgc2VudGluZWw6IHRydWUuIik7Ci0J
fQotCWVsc2UgewotCQlhc3NlcnRfZmFsc2UodGhpcy5wcm9wZXJ0aWVzLnNlbnRpbmVsLCAiRW5z
dXJlIHRoYXQgd2UgZ290IHRoZSByaWdodCBwcm9wZXJ0aWVzIG9iamVjdC4gRXhwZWN0IHNlbnRp
bmVsOiBmYWxzZS4iKTsKLQl9Ci19Ci1nZW5lcmF0ZV90ZXN0cyh2YWxpZGF0ZV9zZXBhcmF0ZV9w
cm9wZXJ0aWVzLCBbWyJzZW50aW5lbCBjaGVjayAxIHVuaXF1ZSBwcm9wZXJ0aWVzIl0sIFsic2Vu
dGluZWwgY2hlY2sgMiB1bmlxdWUgcHJvcGVydGllcyJdXSwgW3tzZW50aW5lbDogdHJ1ZX0sIHtz
ZW50aW5lbDogZmFsc2V9XSk7Ci0KLS8vIEZpbmFsbHkgZ2VuZXJhdGUgYSBjb21wbGljYXRlZCBz
ZXQgb2YgdGVzdHMgZnJvbSBhbm90aGVyIGRhdGEgc291cmNlCi12YXIgbGV0dGVycyA9IFsiYSIs
ICJiIiwgImMiLCAiZCIsICJlIiwgImYiXTsKLXZhciBudW1iZXJzID0gWzAsIDEsIDIsIDMsIDQs
IDVdOwotZnVuY3Rpb24gdmFsaWRhdGVfcmVsYXRlZF9hcmd1bWVudHMoYXJnMSwgYXJnMikgewot
CWFzc2VydF9lcXVhbHMoYXJnMS5jaGFyQ29kZUF0KDApIC0gImEiLmNoYXJDb2RlQXQoMCksIGFy
ZzIsICJFbnN1cmUgdGhhdCB3ZSBjYW4gbWFwIGxldHRlcnMgdG8gbnVtYmVycy4iKTsKLX0KLWZ1
bmN0aW9uIGZvcm1hdF9hc190ZXN0KGxldHRlciwgaW5kZXgsIGxldHRlcnMpIHsKLQlyZXR1cm4g
WyJUZXN0IHRvIG1hcCAiICsgbGV0dGVyICsgIiB0byAiICsgbnVtYmVyc1tpbmRleF0sIGxldHRl
ciwgbnVtYmVyc1tpbmRleF1dOwotfQotZ2VuZXJhdGVfdGVzdHModmFsaWRhdGVfcmVsYXRlZF9h
cmd1bWVudHMsIGxldHRlcnMubWFwKGZvcm1hdF9hc190ZXN0KSk7Ci08L3NjcmlwdD4KLTxzY3Jp
cHQgdHlwZT0idGV4dC9qc29uIiBpZD0iZXhwZWN0ZWQiPgotewotICAic3VtbWFyaXplZF9zdGF0
dXMiOiB7Ci0gICAgInN0YXR1c19zdHJpbmciOiAiT0siLAotICAgICJtZXNzYWdlIjogbnVsbCwK
LSAgICAic3RhY2siOiBudWxsCi0gIH0sCi0gICJzdW1tYXJpemVkX3Rlc3RzIjogWwotICAgIHsK
LSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUiOiAiVGVzdCB0byBt
YXAgYSB0byAwIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6IG51
bGwsCi0gICAgICAic3RhY2siOiBudWxsCi0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0
cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1lIjogIlRlc3QgdG8gbWFwIGIgdG8gMSIsCi0gICAg
ICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgInN0YWNr
IjogbnVsbAotICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0g
ICAgICAibmFtZSI6ICJUZXN0IHRvIG1hcCBjIHRvIDIiLAotICAgICAgInByb3BlcnRpZXMiOiB7
fSwKLSAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICJzdGFjayI6IG51bGwKLSAgICB9LAot
ICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUiOiAiVGVz
dCB0byBtYXAgZCB0byAzIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2Fn
ZSI6IG51bGwsCi0gICAgICAic3RhY2siOiBudWxsCi0gICAgfSwKLSAgICB7Ci0gICAgICAic3Rh
dHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1lIjogIlRlc3QgdG8gbWFwIGUgdG8gNCIs
Ci0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAg
InN0YWNrIjogbnVsbAotICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFT
UyIsCi0gICAgICAibmFtZSI6ICJUZXN0IHRvIG1hcCBmIHRvIDUiLAotICAgICAgInByb3BlcnRp
ZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICJzdGFjayI6IG51bGwKLSAg
ICB9LAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUi
OiAiZmlyc3QgdGVzdCIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2Ui
OiBudWxsLAotICAgICAgInN0YWNrIjogbnVsbAotICAgIH0sCi0gICAgewotICAgICAgInN0YXR1
c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJzZWNvbmQgdGVzdCIsCi0gICAgICAi
cHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgInN0YWNrIjog
bnVsbAotICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAg
ICAibmFtZSI6ICJzZW50aW5lbCBjaGVjayAxIiwKLSAgICAgICJwcm9wZXJ0aWVzIjogewotICAg
ICAgICAic2VudGluZWwiOiB0cnVlCi0gICAgICB9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsLAot
ICAgICAgInN0YWNrIjogbnVsbAotICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmci
OiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJzZW50aW5lbCBjaGVjayAxIHVuaXF1ZSBwcm9wZXJ0
aWVzIiwKLSAgICAgICJwcm9wZXJ0aWVzIjogewotICAgICAgICAic2VudGluZWwiOiB0cnVlCi0g
ICAgICB9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgInN0YWNrIjogbnVsbAotICAg
IH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6
ICJzZW50aW5lbCBjaGVjayAyIiwKLSAgICAgICJwcm9wZXJ0aWVzIjogewotICAgICAgICAic2Vu
dGluZWwiOiB0cnVlCi0gICAgICB9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgInN0
YWNrIjogbnVsbAotICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIs
Ci0gICAgICAibmFtZSI6ICJzZW50aW5lbCBjaGVjayAyIHVuaXF1ZSBwcm9wZXJ0aWVzIiwKLSAg
ICAgICJwcm9wZXJ0aWVzIjogewotICAgICAgICAic2VudGluZWwiOiBmYWxzZQotICAgICAgfSwK
LSAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICJzdGFjayI6IG51bGwKLSAgICB9LAotICAg
IHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUiOiAidGhpcmQg
dGVzdCIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsLAot
ICAgICAgInN0YWNrIjogbnVsbAotICAgIH0KLSAgXSwKLSAgInR5cGUiOiAiY29tcGxldGUiCi19
Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRsaGFy
bmVzcy9JZGxBcnJheS9pc19qc29uX3R5cGUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRsaGFybmVzcy9JZGxB
cnJheS9pc19qc29uX3R5cGUuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDJm
OWRkNTJjMjkuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRsaGFybmVzcy9JZGxBcnJheS9p
c19qc29uX3R5cGUuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDE5NSArMCwwIEBACi08IURPQ1RZ
UEUgSFRNTD4KLTxodG1sPgotPGhlYWQ+Ci08dGl0bGU+SWRsQXJyYXkucHJvdG90eXBlLmlzX2pz
b25fdHlwZSgpPC90aXRsZT4KLTwvaGVhZD4KLTxib2R5PgotPGRpdiBpZD0ibG9nIj48L2Rpdj4K
LTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL1dlYklETFBhcnNlci5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy9pZGxoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi9o
ZWxwZXIuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLSAgICAidXNlIHN0cmljdCI7Ci0KLSAgICB0
ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgaWRsID0gbmV3IElkbEFycmF5KCk7Ci0gICAg
ICAgIGFzc2VydF90cnVlKGlkbC5pc19qc29uX3R5cGUodHlwZUZyb20oIkRPTVN0cmluZyIpKSk7
Ci0gICAgICAgIGFzc2VydF90cnVlKGlkbC5pc19qc29uX3R5cGUodHlwZUZyb20oIkJ5dGVTdHJp
bmciKSkpOwotICAgICAgICBhc3NlcnRfdHJ1ZShpZGwuaXNfanNvbl90eXBlKHR5cGVGcm9tKCJV
U1ZTdHJpbmciKSkpOwotICAgICAgICBpZGwuYWRkX3VudGVzdGVkX2lkbHMoJ2VudW0gQmFyRW51
bSB7ICJhIiwgImIiLCAiYyIgfTsnKTsKLSAgICAgICAgYXNzZXJ0X3RydWUoaWRsLmlzX2pzb25f
dHlwZSh0eXBlRnJvbSgiQmFyRW51bSIpKSk7Ci0gICAgfSwgJ3Nob3VsZCByZXR1cm4gdHJ1ZSBm
b3IgYWxsIHN0cmluZyB0eXBlcycpOwotCi0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAg
dmFyIGlkbCA9IG5ldyBJZGxBcnJheSgpOwotICAgICAgICBhc3NlcnRfZmFsc2UoaWRsLmlzX2pz
b25fdHlwZSh0eXBlRnJvbSgiRXJyb3IiKSkpOwotICAgICAgICBhc3NlcnRfZmFsc2UoaWRsLmlz
X2pzb25fdHlwZSh0eXBlRnJvbSgiRE9NRXhjZXB0aW9uIikpKTsKLSAgICB9LCAnc2hvdWxkIHJl
dHVybiBmYWxzZSBmb3IgYWxsIGV4Y2VwdGlvbiB0eXBlcycpOwotCi0gICAgdGVzdChmdW5jdGlv
bigpIHsKLSAgICAgICAgdmFyIGlkbCA9IG5ldyBJZGxBcnJheSgpOwotICAgICAgICBhc3NlcnRf
ZmFsc2UoaWRsLmlzX2pzb25fdHlwZSh0eXBlRnJvbSgiSW50OEFycmF5IikpKTsKLSAgICAgICAg
YXNzZXJ0X2ZhbHNlKGlkbC5pc19qc29uX3R5cGUodHlwZUZyb20oIkludDE2QXJyYXkiKSkpOwot
ICAgICAgICBhc3NlcnRfZmFsc2UoaWRsLmlzX2pzb25fdHlwZSh0eXBlRnJvbSgiSW50MzJBcnJh
eSIpKSk7Ci0gICAgICAgIGFzc2VydF9mYWxzZShpZGwuaXNfanNvbl90eXBlKHR5cGVGcm9tKCJV
aW50OEFycmF5IikpKTsKLSAgICAgICAgYXNzZXJ0X2ZhbHNlKGlkbC5pc19qc29uX3R5cGUodHlw
ZUZyb20oIlVpbnQxNkFycmF5IikpKTsKLSAgICAgICAgYXNzZXJ0X2ZhbHNlKGlkbC5pc19qc29u
X3R5cGUodHlwZUZyb20oIlVpbnQzMkFycmF5IikpKTsKLSAgICAgICAgYXNzZXJ0X2ZhbHNlKGlk
bC5pc19qc29uX3R5cGUodHlwZUZyb20oIlVpbnQ4Q2xhbXBlZEFycmF5IikpKTsKLSAgICAgICAg
YXNzZXJ0X2ZhbHNlKGlkbC5pc19qc29uX3R5cGUodHlwZUZyb20oIkZsb2F0MzJBcnJheSIpKSk7
Ci0gICAgICAgIGFzc2VydF9mYWxzZShpZGwuaXNfanNvbl90eXBlKHR5cGVGcm9tKCJBcnJheUJ1
ZmZlciIpKSk7Ci0gICAgICAgIGFzc2VydF9mYWxzZShpZGwuaXNfanNvbl90eXBlKHR5cGVGcm9t
KCJEYXRhVmlldyIpKSk7Ci0gICAgfSwgJ3Nob3VsZCByZXR1cm4gZmFsc2UgZm9yIGFsbCBidWZm
ZXIgc291cmNlIHR5cGVzJyk7Ci0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIg
aWRsID0gbmV3IElkbEFycmF5KCk7Ci0gICAgICAgIGFzc2VydF90cnVlKGlkbC5pc19qc29uX3R5
cGUodHlwZUZyb20oImJvb2xlYW4iKSkpOwotICAgIH0sICdzaG91bGQgcmV0dXJuIHRydWUgZm9y
IGJvb2xlYW4nKTsKLQotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBpZGwgPSBu
ZXcgSWRsQXJyYXkoKTsKLSAgICAgICAgYXNzZXJ0X3RydWUoaWRsLmlzX2pzb25fdHlwZSh0eXBl
RnJvbSgiYnl0ZSIpKSk7Ci0gICAgICAgIGFzc2VydF90cnVlKGlkbC5pc19qc29uX3R5cGUodHlw
ZUZyb20oIm9jdGV0IikpKTsKLSAgICAgICAgYXNzZXJ0X3RydWUoaWRsLmlzX2pzb25fdHlwZSh0
eXBlRnJvbSgic2hvcnQiKSkpOwotICAgICAgICBhc3NlcnRfdHJ1ZShpZGwuaXNfanNvbl90eXBl
KHR5cGVGcm9tKCJ1bnNpZ25lZCBzaG9ydCIpKSk7Ci0gICAgICAgIGFzc2VydF90cnVlKGlkbC5p
c19qc29uX3R5cGUodHlwZUZyb20oImxvbmciKSkpOwotICAgICAgICBhc3NlcnRfdHJ1ZShpZGwu
aXNfanNvbl90eXBlKHR5cGVGcm9tKCJ1bnNpZ25lZCBsb25nIikpKTsKLSAgICAgICAgYXNzZXJ0
X3RydWUoaWRsLmlzX2pzb25fdHlwZSh0eXBlRnJvbSgibG9uZyBsb25nIikpKTsKLSAgICAgICAg
YXNzZXJ0X3RydWUoaWRsLmlzX2pzb25fdHlwZSh0eXBlRnJvbSgidW5zaWduZWQgbG9uZyBsb25n
IikpKTsKLSAgICAgICAgYXNzZXJ0X3RydWUoaWRsLmlzX2pzb25fdHlwZSh0eXBlRnJvbSgiZmxv
YXQiKSkpOwotICAgICAgICBhc3NlcnRfdHJ1ZShpZGwuaXNfanNvbl90eXBlKHR5cGVGcm9tKCJ1
bnJlc3RyaWN0ZWQgZmxvYXQiKSkpOwotICAgICAgICBhc3NlcnRfdHJ1ZShpZGwuaXNfanNvbl90
eXBlKHR5cGVGcm9tKCJkb3VibGUiKSkpOwotICAgICAgICBhc3NlcnRfdHJ1ZShpZGwuaXNfanNv
bl90eXBlKHR5cGVGcm9tKCJ1bnJlc3RyaWN0ZWQgZG91YmxlIikpKTsKLSAgICB9LCAnc2hvdWxk
IHJldHVybiB0cnVlIGZvciBhbGwgbnVtZXJpYyB0eXBlcycpOwotCi0gICAgdGVzdChmdW5jdGlv
bigpIHsKLSAgICAgICAgdmFyIGlkbCA9IG5ldyBJZGxBcnJheSgpOwotICAgICAgICBhc3NlcnRf
ZmFsc2UoaWRsLmlzX2pzb25fdHlwZSh0eXBlRnJvbSgiUHJvbWlzZTxET01TdHJpbmc+IikpKTsK
LSAgICB9LCAnc2hvdWxkIHJldHVybiBmYWxzZSBmb3IgcHJvbWlzZXMnKTsKLQotICAgIHRlc3Qo
ZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBpZGwgPSBuZXcgSWRsQXJyYXkoKTsKLSAgICAgICAg
YXNzZXJ0X2ZhbHNlKGlkbC5pc19qc29uX3R5cGUodHlwZUZyb20oInNlcXVlbmNlPERPTUV4Y2Vw
dGlvbj4iKSkpOwotICAgICAgICBhc3NlcnRfdHJ1ZShpZGwuaXNfanNvbl90eXBlKHR5cGVGcm9t
KCJzZXF1ZW5jZTxET01TdHJpbmc+IikpKTsKLSAgICB9LCAnc2hvdWxkIGhhbmRsZSBzZXF1ZW5j
ZXMgYWNjb3JkaW5nIHRvIHRoZWlyIGlubmVyIHR5cGVzJyk7Ci0gICAgCi0gICAgdGVzdChmdW5j
dGlvbigpIHsKLSAgICAgICAgdmFyIGlkbCA9IG5ldyBJZGxBcnJheSgpOwotICAgICAgICBhc3Nl
cnRfZmFsc2UoaWRsLmlzX2pzb25fdHlwZSh0eXBlRnJvbSgiRnJvemVuQXJyYXk8RE9NRXhjZXB0
aW9uPiIpKSk7Ci0gICAgICAgIGFzc2VydF90cnVlKGlkbC5pc19qc29uX3R5cGUodHlwZUZyb20o
IkZyb3plbkFycmF5PERPTVN0cmluZz4iKSkpOwotICAgIH0sICdzaG91bGQgaGFuZGxlIGZyb3pl
biBhcnJheXMgYWNjb3JkaW5nIHRvIHRoZWlyIGlubmVyIHR5cGVzJyk7Ci0KLSAgICB0ZXN0KGZ1
bmN0aW9uKCkgewotICAgICAgICB2YXIgaWRsID0gbmV3IElkbEFycmF5KCk7Ci0gICAgICAgIGFz
c2VydF90cnVlKGlkbC5pc19qc29uX3R5cGUodHlwZUZyb20oInJlY29yZDxET01TdHJpbmcsIERP
TVN0cmluZz4iKSkpOwotICAgICAgICBhc3NlcnRfZmFsc2UoaWRsLmlzX2pzb25fdHlwZSh0eXBl
RnJvbSgicmVjb3JkPERPTVN0cmluZywgRXJyb3I+IikpKTsKLSAgICB9LCAnc2hvdWxkIGhhbmRs
ZSByZWNvcmRzIGFjY29yZGluZyB0byB0aGVpciBpbm5lciB0eXBlcycpOwotCi0gICAgdGVzdChm
dW5jdGlvbigpIHsKLSAgICAgICAgdmFyIGlkbCA9IG5ldyBJZGxBcnJheSgpOwotICAgICAgICBh
c3NlcnRfdHJ1ZShpZGwuaXNfanNvbl90eXBlKHR5cGVGcm9tKCJvYmplY3QiKSkpOwotICAgIH0s
ICdzaG91bGQgcmV0dXJuIHRydWUgZm9yIG9iamVjdCB0eXBlJyk7Ci0KLSAgICB0ZXN0KGZ1bmN0
aW9uKCkgewotICAgICAgICB2YXIgaWRsID0gbmV3IElkbEFycmF5KCk7Ci0gICAgICAgIGFzc2Vy
dF9mYWxzZShpZGwuaXNfanNvbl90eXBlKHR5cGVGcm9tKCJhbnkiKSkpOwotICAgIH0sICdzaG91
bGQgcmV0dXJuIGZhbHNlIGZvciBhbnkgdHlwZScpOwotCi0gICAgdGVzdChmdW5jdGlvbigpIHsK
LSAgICAgICAgdmFyIGlkbCA9IG5ldyBJZGxBcnJheSgpOwotICAgICAgICBpZGwuYWRkX3VudGVz
dGVkX2lkbHMoJ2RpY3Rpb25hcnkgRm9vIHsgRE9NU3RyaW5nIGZvbzsgfTsgZGljdGlvbmFyeSBC
YXIgOiBGb28geyBET01TdHJpbmcgYmFyOyB9OycpOwotICAgICAgICBhc3NlcnRfdHJ1ZShpZGwu
aXNfanNvbl90eXBlKHR5cGVGcm9tKCJGb28iKSkpOwotICAgICAgICBhc3NlcnRfdHJ1ZShpZGwu
aXNfanNvbl90eXBlKHR5cGVGcm9tKCJCYXIiKSkpOwotICAgIH0sICdzaG91bGQgcmV0dXJuIHRy
dWUgZm9yIGRpY3Rpb25hcmllcyB3aG9zZSBtZW1iZXJzIGFyZSBhbGwgSlNPTiB0eXBlcycpOwot
Ci0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIGlkbCA9IG5ldyBJZGxBcnJheSgp
OwotICAgICAgICBpZGwuYWRkX3VudGVzdGVkX2lkbHMoJ2RpY3Rpb25hcnkgRm9vIHsgfTsnKTsK
LSAgICAgICAgYXNzZXJ0X3RydWUoaWRsLmlzX2pzb25fdHlwZSh0eXBlRnJvbSgiRm9vIikpKTsK
LSAgICB9LCAnc2hvdWxkIHJldHVybiB0cnVlIGZvciBkaWN0aW9uYXJpZXMgd2hpY2ggaGF2ZSBu
byBtZW1iZXJzJyk7Ci0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgaWRsID0g
bmV3IElkbEFycmF5KCk7Ci0gICAgICAgIGlkbC5hZGRfdW50ZXN0ZWRfaWRscygnZGljdGlvbmFy
eSBGb29CYXIgeyBET01TdHJpbmcgYTsgRXJyb3IgYjsgfTsgZGljdGlvbmFyeSBCYXogOiBGb29C
YXIge307Jyk7Ci0gICAgICAgIGFzc2VydF9mYWxzZShpZGwuaXNfanNvbl90eXBlKHR5cGVGcm9t
KCJGb29CYXIiKSkpOwotICAgICAgICBhc3NlcnRfZmFsc2UoaWRsLmlzX2pzb25fdHlwZSh0eXBl
RnJvbSgiQmF6IikpKTsKLSAgICB9LCAnc2hvdWxkIHJldHVybiBmYWxzZSBmb3IgZGljdGlvbmFy
aWVzIHdob3NlIG1lbWJlcnMgYXJlIG5vdCBhbGwgSlNPTiB0eXBlcycpOwotCi0gICAgdGVzdChm
dW5jdGlvbigpIHsKLSAgICAgICAgdmFyIGlkbCA9IG5ldyBJZGxBcnJheSgpOwotICAgICAgICBp
ZGwuYWRkX3VudGVzdGVkX2lkbHMoJ2ludGVyZmFjZSBGb28geyBET01TdHJpbmcgdG9KU09OKCk7
IH07Jyk7Ci0gICAgICAgIGFzc2VydF90cnVlKGlkbC5pc19qc29uX3R5cGUodHlwZUZyb20oIkZv
byIpKSk7Ci0gICAgfSwgJ3Nob3VsZCByZXR1cm4gdHJ1ZSBmb3IgaW50ZXJmYWNlcyB3aGljaCBk
ZWNsYXJlIGEgdG9KU09OIG9wZXJhdGlvbicpOwotCi0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAg
ICAgICAgdmFyIGlkbCA9IG5ldyBJZGxBcnJheSgpOwotICAgICAgICBpZGwuYWRkX3VudGVzdGVk
X2lkbHMoJ2ludGVyZmFjZSBGb28geyBET01TdHJpbmcgdG9KU09OKCk7IH07IGludGVyZmFjZSBC
YXIgOiBGb28geyB9OycpOwotICAgICAgICBhc3NlcnRfdHJ1ZShpZGwuaXNfanNvbl90eXBlKHR5
cGVGcm9tKCJCYXIiKSkpOwotICAgIH0sICdzaG91bGQgcmV0dXJuIHRydWUgZm9yIGludGVyZmFj
ZXMgd2hpY2ggaW5oZXJpdCBmcm9tIGFuIGludGVyZmFjZSB3aGljaCBkZWNsYXJlcyBhIHRvSlNP
TiBvcGVyYXRpb24nKTsKLQotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBpZGwg
PSBuZXcgSWRsQXJyYXkoKTsKLSAgICAgICAgaWRsLmFkZF91bnRlc3RlZF9pZGxzKCdpbnRlcmZh
Y2UgRm9vIHsgfTsgaW50ZXJmYWNlIEJhciB7IERPTVN0cmluZyB0b0pTT04oKTsgfTsgRm9vIGlt
cGxlbWVudHMgQmFyOycpOwotICAgICAgICBhc3NlcnRfdHJ1ZShpZGwuaXNfanNvbl90eXBlKHR5
cGVGcm9tKCJGb28iKSkpOwotICAgIH0sICdzaG91bGQgcmV0dXJuIHRydWUgZm9yIGludGVyZmFj
ZXMgd2hpY2ggbWl4aW4gYW4gaW50ZXJmYWNlIHdoaWNoIGRlY2xhcmUgYSB0b0pTT04gb3BlcmF0
aW9uJyk7Ci0KLS8vICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0vLyAgICAgICAgdmFyIGlkbCA9IG5l
dyBJZGxBcnJheSgpOwotLy8gICAgICAgIGlkbC5hZGRfdW50ZXN0ZWRfaWRscygnaW50ZXJmYWNl
IEZvbyB7IH07IGludGVyZmFjZSBCYXIgeyB9OyBpbnRlcmZhY2UgQmF6IHsgRE9NU3RyaW5nIHRv
SlNPTigpOyB9OyBGb28gaW1wbGVtZW50cyBCYXI7IEJhciBpbXBsZW1lbnRzIEJhejsnKTsKLS8v
ICAgICAgICBhc3NlcnRfdHJ1ZShpZGwuaXNfanNvbl90eXBlKHR5cGVGcm9tKCJGb28iKSkpOwot
Ly8gICAgfSwgJ3Nob3VsZCByZXR1cm4gdHJ1ZSBmb3IgaW50ZXJmYWNlcyB3aGljaCBtaXhpbiBh
biBpbnRlcmZhY2Ugd2hpY2ggaXRzZWxmIG1peGVzIGluIGFuIGludGVyZmFjZSB3aGljaCBkZWNs
YXJlcyBhIHRvSlNPTiBvcGVyYXRpb24nKTsKLQotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAg
ICAgIHZhciBpZGwgPSBuZXcgSWRsQXJyYXkoKTsKLSAgICAgICAgaWRsLmFkZF91bnRlc3RlZF9p
ZGxzKCdpbnRlcmZhY2UgRm9vIHsgfTsnKTsKLSAgICAgICAgYXNzZXJ0X2ZhbHNlKGlkbC5pc19q
c29uX3R5cGUodHlwZUZyb20oIkZvbyIpKSk7Ci0gICAgfSwgJ3Nob3VsZCByZXR1cm4gZmFsc2Ug
Zm9yIGludGVyZmFjZXMgd2hpY2ggZG8gbm90IGRlY2xhcmUgYSB0b0pTT04gb3BlcmF0aW9uJyk7
Ci0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgaWRsID0gbmV3IElkbEFycmF5
KCk7Ci0gICAgICAgIGlkbC5hZGRfdW50ZXN0ZWRfaWRscygnaW50ZXJmYWNlIEZvbyB7IG9iamVj
dCB0b0pTT04oKTsgfTsnKTsKLSAgICAgICAgYXNzZXJ0X3RydWUoaWRsLmlzX2pzb25fdHlwZSh0
eXBlRnJvbSgiKEZvbyBvciBET01TdHJpbmcpIikpKTsKLSAgICB9LCAnc2hvdWxkIHJldHVybiB0
cnVlIGZvciB1bmlvbiB0eXBlcyB3aG9zZSBtZW1iZXIgdHlwZXMgYXJlIEpTT04gdHlwZXMnKTsK
LQotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBpZGwgPSBuZXcgSWRsQXJyYXko
KTsKLSAgICAgICAgYXNzZXJ0X2ZhbHNlKGlkbC5pc19qc29uX3R5cGUodHlwZUZyb20oIihEYXRh
VmlldyBvciBET01TdHJpbmcpIikpKTsKLSAgICB9LCAnc2hvdWxkIHJldHVybiBmYWxzZSBmb3Ig
dW5pb24gdHlwZXMgd2hvc2UgbWVtYmVyIHR5cGVzIGFyZSBub3QgYWxsIEpTT04gdHlwZXMnKTsK
LQotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBpZGwgPSBuZXcgSWRsQXJyYXko
KTsKLSAgICAgICAgYXNzZXJ0X3RydWUoaWRsLmlzX2pzb25fdHlwZSh0eXBlRnJvbSgiRE9NU3Ry
aW5nPyIpKSk7Ci0gICAgICAgIGFzc2VydF9mYWxzZShpZGwuaXNfanNvbl90eXBlKHR5cGVGcm9t
KCJEYXRhVmlldz8iKSkpOwotICAgIH0sICdzaG91bGQgY29uc2lkZXIgdGhlIGlubmVyIHR5cGVz
IG9mIG51bGxhYmxlIHR5cGVzJyk7Ci0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICB2
YXIgaWRsID0gbmV3IElkbEFycmF5KCk7Ci0gICAgICAgIGFzc2VydF90cnVlKGlkbC5pc19qc29u
X3R5cGUodHlwZUZyb20oIltYQXR0cl0gbG9uZyIpKSk7Ci0gICAgICAgIGFzc2VydF9mYWxzZShp
ZGwuaXNfanNvbl90eXBlKHR5cGVGcm9tKCJbWEF0dHJdIERhdGFWaWV3IikpKTsKLSAgICB9LCAn
c2hvdWxkIGNvbnNpZGVyIHRoZSBpbm5lciB0eXBlcyBvZiBhbm5vdGF0ZWQgdHlwZXMuJyk7Ci0K
LSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgaWRsID0gbmV3IElkbEFycmF5KCk7
Ci0gICAgICAgIGFzc2VydF90aHJvd3MobmV3IEVycm9yKCksIF8gPT4gaWRsLmlzX2pzb25fdHlw
ZSh0eXBlRnJvbSgiRm9vIikpKTsKLSAgICB9LCAic2hvdWxkIHRocm93IGlmIGl0IHJlZmVyZW5j
ZXMgYSBkaWN0aW9uYXJ5LCBlbnVtIG9yIGludGVyZmFjZSB3aGljaCB3YXNuJ3QgYWRkZWQgdG8g
dGhlIElkbEFycmF5Iik7Ci0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgaWRs
ID0gbmV3IElkbEFycmF5KCk7Ci0gICAgICAgIGlkbC5hZGRfdW50ZXN0ZWRfaWRscygnaW50ZXJm
YWNlIEZvbyA6IEJhciB7IH07Jyk7Ci0gICAgICAgIGFzc2VydF90aHJvd3MobmV3IEVycm9yKCks
IF8gPT4gaWRsLmlzX2pzb25fdHlwZSh0eXBlRnJvbSgiRm9vIikpKTsKLSAgICB9LCAic2hvdWxk
IHRocm93IGZvciBpbnRlcmZhY2VzIHdoaWNoIGluaGVyaXQgZnJvbSBhbm90aGVyIGludGVyZmFj
ZSB3aGljaCB3YXNuJ3QgYWRkZWQgdG8gdGhlIElkbEFycmF5Iik7Ci0KLSAgICB0ZXN0KGZ1bmN0
aW9uKCkgewotICAgICAgICB2YXIgaWRsID0gbmV3IElkbEFycmF5KCk7Ci0gICAgICAgIGFzc2Vy
dF90cnVlKGlkbC5pc19qc29uX3R5cGUodHlwZWRlZkZyb20oInR5cGVkZWYgZG91YmxlIERPTUhp
Z2hSZXNUaW1lU3RhbXA7IikuaWRsVHlwZSkpOwotICAgIH0sICdzaG91bGQgcmV0dXJuIHRydWUg
Zm9yIHR5cGVkZWZzIHdob3NlIHNvdXJjZSB0eXBlIGlzIGEgSlNPTiB0eXBlJyk7Ci0KLSAgICB0
ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgaWRsID0gbmV3IElkbEFycmF5KCk7Ci0gICAg
ICAgIGFzc2VydF9mYWxzZShpZGwuaXNfanNvbl90eXBlKHR5cGVkZWZGcm9tKCJ0eXBlZGVmIERh
dGFWaWV3IERPTUhpZ2hSZXNUaW1lU3RhbXA7IikuaWRsVHlwZSkpOwotICAgIH0sICdzaG91bGQg
cmV0dXJuIGZhbHNlIGZvciB0eXBlZGVmcyB3aG9zZSBzb3VyY2UgdHlwZSBpcyBub3QgYSBKU09O
IHR5cGUnKTsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgotCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rl
c3RzL2lkbGhhcm5lc3MvSWRsQXJyYXkvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2lkbGhhcm5l
c3MvSWRsQXJyYXkvdzNjLWltcG9ydC5sb2cKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDRlODk5MGIwZmQ3Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2lkbGhhcm5lc3MvSWRsQXJy
YXkvdzNjLWltcG9ydC5sb2cKKysrIC9kZXYvbnVsbApAQCAtMSwxNyArMCwwIEBACi1UaGUgdGVz
dHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9y
eS4KLURvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVh
ZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0
aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCi0KLVRoZW4gcnVuIHRoZSBUb29scy9TY3Jp
cHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0Ci0KLURvIE5PVCBtb2Rp
Znkgb3IgcmVtb3ZlIHRoaXMgZmlsZS4KLQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1Qcm9wZXJ0aWVzIHJl
cXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6Ci1Ob25lCi1Qcm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5n
IHZlbmRvciBwcmVmaXhlczoKLU5vbmUKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotTGlzdCBvZiBmaWxlczoK
LS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90
ZXN0L3Rlc3RzL2lkbGhhcm5lc3MvSWRsQXJyYXkvaXNfanNvbl90eXBlLmh0bWwKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3Rlc3QvdGVzdHMvaWRsaGFybmVzcy9JZGxEaWN0aW9uYXJ5L2dldF9pbmhlcml0YW5jZV9zdGFj
ay5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvdGVzdC90ZXN0cy9pZGxoYXJuZXNzL0lkbERpY3Rpb25hcnkvZ2V0X2luaGVyaXRhbmNl
X3N0YWNrLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDgzODYzZmI4ZDc2Li4w
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2lkbGhhcm5lc3MvSWRsRGljdGlvbmFyeS9nZXRfaW5o
ZXJpdGFuY2Vfc3RhY2suaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDM1ICswLDAgQEAKLTwhRE9D
VFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLTx0aXRsZT5JZGxEaWN0aW9uYXJ5LnByb3RvdHlw
ZS5nZXRfaW5oZXJpdGFuY2Vfc3RhY2soKTwvdGl0bGU+Ci08L2hlYWQ+Ci08Ym9keT4KLTxkaXYg
aWQ9ImxvZyI+PC9kaXY+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9XZWJJRExQYXJzZXIuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvaWRsaGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0iLi4vaGVscGVyLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci0gICAgInVzZSBz
dHJpY3QiOwotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBzdGFjayA9IGRpY3Rp
b25hcnlGcm9tKCdkaWN0aW9uYXJ5IEEgeyB9OycpLmdldF9pbmhlcml0YW5jZV9zdGFjaygpOwot
ICAgICAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKHN0YWNrLm1hcChkID0+IGQubmFtZSksIFsiQSJd
KTsKLSAgICB9LCAnc2hvdWxkIHJldHVybiBhbiBhcnJheSB0aGF0IGluY2x1ZGVzIGl0c2VsZi4n
KTsKLSAgICAKLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgZCA9IGRpY3Rpb25h
cnlGcm9tKCdkaWN0aW9uYXJ5IEEgOiBCIHsgfTsnKTsKLSAgICAgICAgYXNzZXJ0X3Rocm93cyhu
ZXcgRXJyb3IoKSwgXyA9PiBkLmdldF9pbmhlcml0YW5jZV9zdGFjaygpKTsKLSAgICB9LCAic2hv
dWxkIHRocm93IGZvciBkaWN0aW9uYXJpZXMgd2hpY2ggaW5oZXJpdCBmcm9tIGFub3RoZXIgZGlj
dGlvbmFyeSB3aGljaCB3YXNuJ3QgYWRkZWQgdG8gdGhlIElkbEFycmF5Iik7Ci0gICAgCi0gICAg
dGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIGlkbCA9IG5ldyBJZGxBcnJheSgpOwotICAg
ICAgICBpZGwuYWRkX2lkbHMoJ2RpY3Rpb25hcnkgQSA6IEIgeyB9OycpOwotICAgICAgICBpZGwu
YWRkX3VudGVzdGVkX2lkbHMoJ2RpY3Rpb25hcnkgQiA6IEMgeyB9OyBkaWN0aW9uYXJ5IEMgeyB9
OycpOwotICAgICAgICB2YXIgQSA9IGlkbC5tZW1iZXJzWyJBIl07Ci0gICAgICAgIGFzc2VydF9h
cnJheV9lcXVhbHMoQS5nZXRfaW5oZXJpdGFuY2Vfc3RhY2soKS5tYXAoZCA9PiBkLm5hbWUpLCBb
IkEiLCAiQiIsICJDIl0pOwotICAgIH0sICdzaG91bGQgcmV0dXJuIGFuIGFycmF5IG9mIGluaGVy
aXRlZCBkaWN0aW9uYXJpZXMgaW4gb3JkZXIgb2YgaW5oZXJpdGFuY2UsIHN0YXJ0aW5nIHdpdGgg
aXRzZWxmLicpOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+Ci0KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3Qv
dGVzdHMvaWRsaGFybmVzcy9JZGxEaWN0aW9uYXJ5L3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9p
ZGxoYXJuZXNzL0lkbERpY3Rpb25hcnkvdzNjLWltcG9ydC5sb2cKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IGM5ZjczNThhNWZiLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2lkbGhh
cm5lc3MvSWRsRGljdGlvbmFyeS93M2MtaW1wb3J0LmxvZworKysgL2Rldi9udWxsCkBAIC0xLDE3
ICswLDAgQEAKLVRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20g
dGhlIFczQyByZXBvc2l0b3J5LgotRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBp
biBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRo
dWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMKLQotVGhlbiBy
dW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBv
cnQKLQotRG8gTk9UIG1vZGlmeSBvciByZW1vdmUgdGhpcyBmaWxlLgotCi0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0KLVByb3BlcnRpZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKLU5vbmUKLVByb3BlcnR5
IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgotTm9uZQotLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
Ci1MaXN0IG9mIGZpbGVzOgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRsaGFybmVzcy9JZGxEaWN0aW9uYXJ5L2dldF9p
bmhlcml0YW5jZV9zdGFjay5odG1sCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2lkbGhhcm5lc3MvSWRs
SW50ZXJmYWNlL2RlZmF1bHRfdG9fanNvbl9vcGVyYXRpb24uaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRsaGFy
bmVzcy9JZGxJbnRlcmZhY2UvZGVmYXVsdF90b19qc29uX29wZXJhdGlvbi5odG1sCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhNzdlZTNlN2YxZi4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90
ZXN0cy9pZGxoYXJuZXNzL0lkbEludGVyZmFjZS9kZWZhdWx0X3RvX2pzb25fb3BlcmF0aW9uLmh0
bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxODkgKzAsMCBAQAotPCFET0NUWVBFIEhUTUw+Ci08aHRt
bD4KLTxoZWFkPgotPHRpdGxlPklkbERpY3Rpb25hcnkucHJvdG90eXBlLmRlZmF1bHRfdG9fanNv
bl9vcGVyYXRpb24oKTwvdGl0bGU+Ci08L2hlYWQ+Ci08Ym9keT4KLTxkaXYgaWQ9ImxvZyI+PC9k
aXY+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9XZWJJRExQYXJzZXIuanMiPjwvc2NyaXB0PgotPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvaWRsaGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
Li4vaGVscGVyLmpzIj48L3NjcmlwdD4KLTxwcmUgaWQ9ZnJhZ21lbnRzPgotICAgIGludGVyZmFj
ZSBBIDogQiB7Ci0gICAgICBhdHRyaWJ1dGUgRE9NU3RyaW5nIGE7Ci0gICAgfTsKLQotICAgIGlu
dGVyZmFjZSBCIDogQyB7Ci0gICAgICBbRGVmYXVsdF0gb2JqZWN0IHRvSlNPTigpOwotICAgICAg
YXR0cmlidXRlIGxvbmcgYjsKLSAgICB9OwotCi0gICAgaW50ZXJmYWNlIEMgewotICAgICAgYXR0
cmlidXRlIERPTVN0cmluZyBjOwotICAgIH07Ci0KLSAgICBpbnRlcmZhY2UgRCA6IEUgewotICAg
ICAgW0RlZmF1bHRdIG9iamVjdCB0b0pTT04oKTsKLSAgICAgIGF0dHJpYnV0ZSBmbG9hdCBkOwot
ICAgIH07Ci0KLSAgICBpbnRlcmZhY2UgRSA6IEYgewotICAgICAgYXR0cmlidXRlIERPTVN0cmlu
ZyBlOwotICAgIH07Ci0KLSAgICBpbnRlcmZhY2UgRiB7Ci0gICAgICBbRGVmYXVsdF0gb2JqZWN0
IHRvSlNPTigpOwotICAgICAgYXR0cmlidXRlIHVucmVzdHJpY3RlZCBkb3VibGUgZjsKLSAgICB9
OwotCi0gICAgaW50ZXJmYWNlIEcgewotICAgICAgW0RlZmF1bHRdIG9iamVjdCB0b0pTT04oKTsK
LSAgICAgIGF0dHJpYnV0ZSBvY3RldCBnOwotICAgIH07Ci0KLSAgICBpbnRlcmZhY2UgSCB7Ci0g
ICAgICBbRGVmYXVsdF0gb2JqZWN0IHRvSlNPTigpOwotICAgICAgYXR0cmlidXRlIERPTVN0cmlu
ZyBoOwotICAgIH07Ci0KLSAgICBpbnRlcmZhY2UgSSB7Ci0gICAgICBbRGVmYXVsdF0gb2JqZWN0
IHRvSlNPTigpOwotICAgICAgYXR0cmlidXRlIGJvb2xlYW4gaTsKLSAgICB9OwotCi0gICAgaW50
ZXJmYWNlIEogewotICAgICAgW0RlZmF1bHRdIG9iamVjdCB0b0pTT04oKTsKLSAgICAgIGF0dHJp
YnV0ZSBEIGo7Ci0gICAgfTsKLQotICAgIEEgaW1wbGVtZW50cyBHOwotICAgIEEgaW1wbGVtZW50
cyBIOwotICAgIEIgaW1wbGVtZW50cyBEOwotICAgIEUgaW1wbGVtZW50cyBJOwotICAgIEggaW1w
bGVtZW50cyBKOwotPC9wcmU+Ci08c2NyaXB0PgotICAgICJ1c2Ugc3RyaWN0IjsKLSAgICB0ZXN0
KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgbWFwID0gaW50ZXJmYWNlRnJvbSgnaW50ZXJmYWNl
IEEgeyBbRGVmYXVsdF0gb2JqZWN0IHRvSlNPTigpOyB9OycpLmRlZmF1bHRfdG9fanNvbl9vcGVy
YXRpb24oKTsKLSAgICAgICAgYXNzZXJ0X2VxdWFscyhtYXAuc2l6ZSwgMCk7Ci0gICAgfSwgJ3No
b3VsZCByZXR1cm4gYW4gZW1wdHkgbWFwIHdoZW4gdGhlcmUgYXJlIG5vIGF0dHJpYnV0ZXMnKTsK
LQotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciByID0gaW50ZXJmYWNlRnJvbSgn
aW50ZXJmYWNlIEEgeyB9OycpLmRlZmF1bHRfdG9fanNvbl9vcGVyYXRpb24oKTsKLSAgICAgICAg
YXNzZXJ0X2VxdWFscyhyLCBudWxsKTsKLSAgICB9LCAnc2hvdWxkIHJldHVybiBudWxsIHdoZW4g
dGhlcmUgaXMgbm8gdG9KU09OIG1ldGhvZCcpOwotCi0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAg
ICAgICAgdmFyIHIgPSBpbnRlcmZhY2VGcm9tKCdpbnRlcmZhY2UgQSB7IERPTVN0cmluZyB0b0pT
T04oKTsgfTsnKS5kZWZhdWx0X3RvX2pzb25fb3BlcmF0aW9uKCk7Ci0gICAgICAgIGFzc2VydF9l
cXVhbHMociwgbnVsbCk7Ci0gICAgfSwgJ3Nob3VsZCByZXR1cm4gbnVsbCB3aGVuIHRoZXJlIGlz
IGEgdG9KU09OIG1ldGhvZCBidXQgaXQgZG9lcyBub3QgaGF2ZSB0aGUgW0RlZmF1bHRdIGV4dGVu
ZGVkIGF0dHJpYnV0ZScpOwotCi0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIGNv
bnRleHQgPSBuZXcgSWRsQXJyYXkoKTsKLSAgICAgICAgY29udGV4dC5hZGRfaWRscygiaW50ZXJm
YWNlIEEgOiBCIHsgRE9NU3RyaW5nIHRvSlNPTigpOyB9OyIpOwotICAgICAgICBjb250ZXh0LmFk
ZF9pZGxzKCJpbnRlcmZhY2UgQiB7IFtEZWZhdWx0XSBvYmplY3QgdG9KU09OKCk7IH07Iik7Ci0g
ICAgICAgIHZhciByID0gY29udGV4dC5tZW1iZXJzLkEuZGVmYXVsdF90b19qc29uX29wZXJhdGlv
bigpOwotICAgICAgICBhc3NlcnRfZXF1YWxzKHIsIG51bGwpOwotICAgIH0sICdzaG91bGQgcmV0
dXJuIG51bGwgd2hlbiB0aGVyZSBpcyBhIHRvSlNPTiBtZXRob2QgYnV0IGl0IGRvZXMgbm90IGhh
dmUgdGhlIFtEZWZhdWx0XSBleHRlbmRlZCBhdHRyaWJ1dGUgZXZlbiBpZiB0aGlzIGV4dGVuZGVk
IGF0dHJpYnV0ZSBleGlzdHMgb24gaW5oZXJpdGVkIGludGVyZmFjZXMnKTsKLQotICAgIHRlc3Qo
ZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBtYXAgPSBpbnRlcmZhY2VGcm9tKCdpbnRlcmZhY2Ug
QSB7IFtEZWZhdWx0XSBvYmplY3QgdG9KU09OKCk7IHN0YXRpYyBhdHRyaWJ1dGUgRE9NU3RyaW5n
IGZvbzsgfTsnKS5kZWZhdWx0X3RvX2pzb25fb3BlcmF0aW9uKCk7Ci0gICAgICAgIGFzc2VydF9l
cXVhbHMobWFwLnNpemUsIDApOwotICAgIH0sICdzaG91bGQgbm90IGluY2x1ZGUgc3RhdGljIGF0
dHJpYnV0ZXMnKTsKLQotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBtYXAgPSBp
bnRlcmZhY2VGcm9tKCdpbnRlcmZhY2UgQSB7IFtEZWZhdWx0XSBvYmplY3QgdG9KU09OKCk7IGF0
dHJpYnV0ZSBQcm9taXNlPERPTVN0cmluZz4gYmFyOyB9OycpLmRlZmF1bHRfdG9fanNvbl9vcGVy
YXRpb24oKTsKLSAgICAgICAgYXNzZXJ0X2VxdWFscyhtYXAuc2l6ZSwgMCk7Ci0gICAgfSwgJ3No
b3VsZCBub3QgaW5jbHVkZSBhdHRyaWJ1dGVzIHdoaWNoIGFyZSBub3QgSlNPTiB0eXBlcycpOwot
Ci0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIG1hcCA9IGludGVyZmFjZUZyb20o
J2ludGVyZmFjZSBBIHsgW0RlZmF1bHRdIG9iamVjdCB0b0pTT04oKTsgRE9NU3RyaW5nIGJhcigp
OyB9OycpLmRlZmF1bHRfdG9fanNvbl9vcGVyYXRpb24oKTsKLSAgICAgICAgYXNzZXJ0X2VxdWFs
cyhtYXAuc2l6ZSwgMCk7Ci0gICAgfSwgJ3Nob3VsZCBub3QgaW5jbHVkZSBvcGVyYXRpb25zJyk7
Ci0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgbWFwID0gaW50ZXJmYWNlRnJv
bSgnaW50ZXJmYWNlIEEgeyBbRGVmYXVsdF0gb2JqZWN0IHRvSlNPTigpOyBhdHRyaWJ1dGUgRE9N
U3RyaW5nIGJhcjsgfTsnKS5kZWZhdWx0X3RvX2pzb25fb3BlcmF0aW9uKCk7Ci0gICAgICAgIGFz
c2VydF9lcXVhbHMobWFwLnNpemUsIDEpOwotICAgICAgICBhc3NlcnRfdHJ1ZShtYXAuaGFzKCJi
YXIiKSk7Ci0gICAgICAgIGFzc2VydF9lcXVhbHMobWFwLmdldCgiYmFyIikuaWRsVHlwZSwgIkRP
TVN0cmluZyIpOwotICAgIH0sICdzaG91bGQgcmV0dXJuIGEgbWFwIHdob3NlIGtleS92YWx1ZSBw
YWlyIHJlcHJlc2VudCB0aGUgaWRlbnRpZmllciBhbmQgSURMIHR5cGUgb2YgdmFsaWQgYXR0cmli
dXRlcycpOwotCi0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIGNvbnRleHQgPSBu
ZXcgSWRsQXJyYXkoKTsKLSAgICAgICAgY29udGV4dC5hZGRfaWRscygiaW50ZXJmYWNlIEEgOiBC
IHsgW0RlZmF1bHRdIG9iamVjdCB0b0pTT04oKTsgYXR0cmlidXRlIERPTVN0cmluZyBhOyB9OyIp
OwotICAgICAgICBjb250ZXh0LmFkZF9pZGxzKCJpbnRlcmZhY2UgQiB7IFtEZWZhdWx0XSBvYmpl
Y3QgdG9KU09OKCk7IGF0dHJpYnV0ZSBsb25nIGI7IH07Iik7Ci0gICAgICAgIHZhciBtYXAgPSBj
b250ZXh0Lm1lbWJlcnMuQS5kZWZhdWx0X3RvX2pzb25fb3BlcmF0aW9uKCk7Ci0gICAgICAgIGFz
c2VydF9hcnJheV9lcXVhbHMoWy4uLm1hcC5rZXlzKCldLCBbImIiLCAiYSJdKTsKLSAgICAgICAg
YXNzZXJ0X2FycmF5X2VxdWFscyhbLi4ubWFwLnZhbHVlcygpXS5tYXAodiA9PiB2LmlkbFR5cGUp
LCBbImxvbmciLCAiRE9NU3RyaW5nIl0pOwotICAgIH0sICdzaG91bGQgcmV0dXJuIGEgcHJvcGVy
bHkgb3JkZXJlZCBtYXAgdGhhdCBjb250YWlucyBJREwgdHlwZXMgb2YgdmFsaWQgYXR0cmlidXRl
cyBmb3IgaW5oZXJpdGVkIGludGVyZmFjZXMnKTsKLQotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0g
ICAgICAgIHZhciBjb250ZXh0ID0gbmV3IElkbEFycmF5KCk7Ci0gICAgICAgIGNvbnRleHQuYWRk
X2lkbHMoImludGVyZmFjZSBBIDogQiB7IGF0dHJpYnV0ZSBET01TdHJpbmcgYTsgfTsiKTsKLSAg
ICAgICAgY29udGV4dC5hZGRfaWRscygiaW50ZXJmYWNlIEIgeyBbRGVmYXVsdF0gb2JqZWN0IHRv
SlNPTigpOyBhdHRyaWJ1dGUgbG9uZyBiOyB9OyIpOwotICAgICAgICB2YXIgbWFwID0gY29udGV4
dC5tZW1iZXJzLkEuZGVmYXVsdF90b19qc29uX29wZXJhdGlvbigpOwotICAgICAgICBhc3NlcnRf
ZXF1YWxzKG1hcC5zaXplLCAxKTsKLSAgICAgICAgYXNzZXJ0X3RydWUobWFwLmhhcygiYiIpKTsK
LSAgICAgICAgYXNzZXJ0X2VxdWFscyhtYXAuZ2V0KCJiIikuaWRsVHlwZSwgImxvbmciKTsKLSAg
ICAgICAgYXNzZXJ0X2FycmF5X2VxdWFscyhbLi4ubWFwLmtleXMoKV0sIFsiYiJdKTsKLSAgICB9
LCAnc2hvdWxkIG5vdCBpbmNsdWRlIGF0dHJpYnV0ZXMgb2YgdGhlIGN1cnJlbnQgaW50ZXJmYWNl
IHdoZW4gdGhlIFtEZWZhdWx0XSB0b0pTT04gbWV0aG9kIGluIGluaGVyaXRlZCcpOwotCi0gICAg
dGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIGNvbnRleHQgPSBuZXcgSWRsQXJyYXkoKTsK
LSAgICAgICAgY29udGV4dC5hZGRfaWRscygiaW50ZXJmYWNlIEEgOiBCIHsgW0RlZmF1bHRdIG9i
amVjdCB0b0pTT04oKTsgfTsiKTsKLSAgICAgICAgY29udGV4dC5hZGRfaWRscygiaW50ZXJmYWNl
IEIgOiBDIHsgW0RlZmF1bHRdIG9iamVjdCB0b0pTT04oKTsgYXR0cmlidXRlIERPTVN0cmluZyBm
b287IH07Iik7Ci0gICAgICAgIGNvbnRleHQuYWRkX2lkbHMoImludGVyZmFjZSBDIHsgW0RlZmF1
bHRdIG9iamVjdCB0b0pTT04oKTsgYXR0cmlidXRlIGxvbmcgZm9vOyB9OyIpOwotICAgICAgICB2
YXIgbWFwID0gY29udGV4dC5tZW1iZXJzLkEuZGVmYXVsdF90b19qc29uX29wZXJhdGlvbigpOwot
ICAgICAgICBhc3NlcnRfZXF1YWxzKG1hcC5zaXplLCAxKTsKLSAgICAgICAgYXNzZXJ0X3RydWUo
bWFwLmhhcygiZm9vIikpOwotICAgICAgICBhc3NlcnRfZXF1YWxzKG1hcC5nZXQoImZvbyIpLmlk
bFR5cGUsICJET01TdHJpbmciKTsKLSAgICB9LCAnYXR0cmlidXRlcyBkZWNsYXJlZCBmdXJ0aGVy
IGF3YXkgaW4gdGhlIGluaGVyaXRhbmNlIGhpZXJhcmNoeSBzaG91bGQgYmUgbWFza2VkIGJ5IGF0
dHJpYnV0ZXMgZGVjbGFyZWQgY2xvc2VyJyk7Ci0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAg
ICAgICB2YXIgY29udGV4dCA9IG5ldyBJZGxBcnJheSgpOwotICAgICAgICBjb250ZXh0LmFkZF9p
ZGxzKCJpbnRlcmZhY2UgQSA6IEIgeyBbRGVmYXVsdF0gb2JqZWN0IHRvSlNPTigpOyBhdHRyaWJ1
dGUgRE9NU3RyaW5nIGE7IH07Iik7Ci0gICAgICAgIGNvbnRleHQuYWRkX2lkbHMoImludGVyZmFj
ZSBCIHsgb2JqZWN0IHRvSlNPTigpOyBhdHRyaWJ1dGUgbG9uZyBiOyB9OyIpOwotICAgICAgICB2
YXIgbWFwID0gY29udGV4dC5tZW1iZXJzLkEuZGVmYXVsdF90b19qc29uX29wZXJhdGlvbigpOwot
ICAgICAgICBhc3NlcnRfZXF1YWxzKG1hcC5zaXplLCAxKTsKLSAgICAgICAgYXNzZXJ0X3RydWUo
bWFwLmhhcygiYSIpKTsKLSAgICAgICAgYXNzZXJ0X2ZhbHNlKG1hcC5oYXMoImIiKSk7Ci0gICAg
ICAgIGFzc2VydF9lcXVhbHMobWFwLmdldCgiYSIpLmlkbFR5cGUsICJET01TdHJpbmciKTsKLSAg
ICB9LCAnc2hvdWxkIHJldHVybiBhbiBvcmRlcmVkIG1hcCB0aGF0IGlnbm9yZXMgYXR0cmlidXRl
cyBvZiBpbmhlcml0ZWQgaW50ZXJmYWNlcyB3aGljaCBkbyBub3QgZGVjbGFyZSBhIFtEZWZhdWx0
XSB0b0pTT04gb3BlcmF0aW9uLicpOwotCi0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAg
dmFyIGNvbnRleHQgPSBuZXcgSWRsQXJyYXkoKTsKLSAgICAgICAgY29udGV4dC5hZGRfaWRscygi
aW50ZXJmYWNlIEEgeyBbRGVmYXVsdF0gb2JqZWN0IHRvSlNPTigpOyBhdHRyaWJ1dGUgRE9NU3Ry
aW5nIGE7IH07Iik7Ci0gICAgICAgIGNvbnRleHQuYWRkX2lkbHMoImludGVyZmFjZSBOIHsgW0Rl
ZmF1bHRdIG9iamVjdCB0b0pTT04oKTsgYXR0cmlidXRlIGxvbmcgbjsgfTsiKTsKLSAgICAgICAg
Y29udGV4dC5hZGRfaWRscygiQSBpbXBsZW1lbnRzIE47Iik7Ci0gICAgICAgIHZhciBtYXAgPSBj
b250ZXh0Lm1lbWJlcnMuQS5kZWZhdWx0X3RvX2pzb25fb3BlcmF0aW9uKCk7Ci0gICAgICAgIGFz
c2VydF9hcnJheV9lcXVhbHMoWy4uLm1hcC5rZXlzKCldLCBbImEiLCAibiJdKTsKLSAgICAgICAg
YXNzZXJ0X2FycmF5X2VxdWFscyhbLi4ubWFwLnZhbHVlcygpXS5tYXAodiA9PiB2LmlkbFR5cGUp
LCBbIkRPTVN0cmluZyIsICJsb25nIl0pOwotICAgIH0sICdzaG91bGQgcmV0dXJuIGEgcHJvcGVy
bHkgb3JkZXJlZCBtYXAgdGhhdCBhY2NvdW50cyBmb3IgbWl4ZWQtaW4gaW50ZXJmYWNlcyB3aGlj
aCBkZWNsYXJlIGEgW0RlZmF1bHRdIHRvSlNPTiBvcGVyYXRpb24uJyk7Ci0KLSAgICB0ZXN0KGZ1
bmN0aW9uKCkgewotICAgICAgICB2YXIgY29udGV4dCA9IG5ldyBJZGxBcnJheSgpOwotICAgICAg
ICBjb250ZXh0LmFkZF9pZGxzKCJpbnRlcmZhY2UgQSB7IFtEZWZhdWx0XSBvYmplY3QgdG9KU09O
KCk7IGF0dHJpYnV0ZSBET01TdHJpbmcgYTsgfTsiKTsKLSAgICAgICAgY29udGV4dC5hZGRfaWRs
cygiaW50ZXJmYWNlIE4geyBhdHRyaWJ1dGUgbG9uZyBuOyB9OyIpOwotICAgICAgICBjb250ZXh0
LmFkZF9pZGxzKCJBIGltcGxlbWVudHMgTjsiKTsKLSAgICAgICAgdmFyIG1hcCA9IGNvbnRleHQu
bWVtYmVycy5BLmRlZmF1bHRfdG9fanNvbl9vcGVyYXRpb24oKTsKLSAgICAgICAgYXNzZXJ0X2Vx
dWFscyhtYXAuc2l6ZSwgMSk7Ci0gICAgICAgIGFzc2VydF90cnVlKG1hcC5oYXMoImEiKSk7Ci0g
ICAgICAgIGFzc2VydF9mYWxzZShtYXAuaGFzKCJuIikpOwotICAgICAgICBhc3NlcnRfZXF1YWxz
KG1hcC5nZXQoImEiKS5pZGxUeXBlLCAiRE9NU3RyaW5nIik7Ci0gICAgfSwgJ3Nob3VsZCByZXR1
cm4gYSBwcm9wZXJseSBvcmRlcmVkIG1hcCB0aGF0IGlnbm9yZXMgbWl4ZWQtaW4gaW50ZXJmYWNl
cyB3aGljaCBkbyBub3QgZGVjbGFyZSBhIFtEZWZhdWx0XSB0b0pTT04gb3BlcmF0aW9uLicpOwot
Ci0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgY29udGV4dCA9IG5ldyBJZGxB
cnJheSgpOwotICAgICAgICBjb250ZXh0LmFkZF9pZGxzKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCdmcmFnbWVudHMnKS50ZXh0Q29udGVudCk7Ci0gICAgICAgIHZhciBtYXAgPSBjb250ZXh0Lm1l
bWJlcnMuQS5kZWZhdWx0X3RvX2pzb25fb3BlcmF0aW9uKCk7Ci0gICAgICAgIGFzc2VydF9hcnJh
eV9lcXVhbHMoWy4uLm1hcC5rZXlzKCldLCBbImIiLCAiZiIsICJpIiwgImQiLCAiZyIsICJoIiwg
ImoiXSk7Ci0gICAgICAgIGFzc2VydF9hcnJheV9lcXVhbHMoWy4uLm1hcC52YWx1ZXMoKV0ubWFw
KHYgPT4gdi5pZGxUeXBlKSwgWyJsb25nIiwgInVucmVzdHJpY3RlZCBkb3VibGUiLCAiYm9vbGVh
biIsICJmbG9hdCIsICJvY3RldCIsICJET01TdHJpbmciLCAiRCJdKTsKLSAgICB9LCAnc2hvdWxk
IHJldHVybiBhIHByb3Blcmx5IG9yZGVyZWQgbWFwIG9mIG5hbWUvdHlwZSBwYWlycyBoYW5kbGlu
ZyBpbmhlcml0ZWQgYW5kIGNvbnNlcXVlbnRpYWwgaW50ZXJmYWNlcyBhcyBzcGVjaWZpZWQuJyk7
Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9pZGxo
YXJuZXNzL0lkbEludGVyZmFjZS9nZXRfaW5oZXJpdGFuY2Vfc3RhY2suaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMv
aWRsaGFybmVzcy9JZGxJbnRlcmZhY2UvZ2V0X2luaGVyaXRhbmNlX3N0YWNrLmh0bWwKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGMxZDYxNDE1Njc2Li4wMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0
L3Rlc3RzL2lkbGhhcm5lc3MvSWRsSW50ZXJmYWNlL2dldF9pbmhlcml0YW5jZV9zdGFjay5odG1s
CisrKyAvZGV2L251bGwKQEAgLTEsMzUgKzAsMCBAQAotPCFET0NUWVBFIEhUTUw+Ci08aHRtbD4K
LTxoZWFkPgotPHRpdGxlPklkbEludGVyZmFjZS5wcm90b3R5cGUuZ2V0X2luaGVyaXRhbmNlX3N0
YWNrKCk8L3RpdGxlPgotPC9oZWFkPgotPGJvZHk+Ci08ZGl2IGlkPSJsb2ciPjwvZGl2PgotPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvV2ViSURMUGFyc2VyLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL2lkbGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uL2hlbHBl
ci5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotICAgICJ1c2Ugc3RyaWN0IjsKLSAgICB0ZXN0KGZ1
bmN0aW9uKCkgewotICAgICAgICB2YXIgc3RhY2sgPSBpbnRlcmZhY2VGcm9tKCdpbnRlcmZhY2Ug
QSB7IH07JykuZ2V0X2luaGVyaXRhbmNlX3N0YWNrKCk7Ci0gICAgICAgIGFzc2VydF9hcnJheV9l
cXVhbHMoc3RhY2subWFwKGkgPT4gaS5uYW1lKSwgWyJBIl0pOwotICAgIH0sICdzaG91bGQgcmV0
dXJuIGFuIGFycmF5IHRoYXQgaW5jbHVkZXMgaXRzZWxmLicpOwotICAgIAotICAgIHRlc3QoZnVu
Y3Rpb24oKSB7Ci0gICAgICAgIHZhciBpID0gaW50ZXJmYWNlRnJvbSgnaW50ZXJmYWNlIEEgOiBC
IHsgfTsnKTsKLSAgICAgICAgYXNzZXJ0X3Rocm93cyhuZXcgRXJyb3IoKSwgXyA9PiBpLmdldF9p
bmhlcml0YW5jZV9zdGFjaygpKTsKLSAgICB9LCAic2hvdWxkIHRocm93IGZvciBpbnRlcmZhY2Vz
IHdoaWNoIGluaGVyaXQgZnJvbSBhbm90aGVyIGludGVyZmFjZSB3aGljaCB3YXNuJ3QgYWRkZWQg
dG8gdGhlIElkbEFycmF5Iik7Ci0gICAgCi0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAg
dmFyIGlkbCA9IG5ldyBJZGxBcnJheSgpOwotICAgICAgICBpZGwuYWRkX2lkbHMoJ2ludGVyZmFj
ZSBBIDogQiB7IH07Jyk7Ci0gICAgICAgIGlkbC5hZGRfdW50ZXN0ZWRfaWRscygnaW50ZXJmYWNl
IEIgOiBDIHsgfTsgaW50ZXJmYWNlIEMgeyB9OycpOwotICAgICAgICB2YXIgQSA9IGlkbC5tZW1i
ZXJzWyJBIl07Ci0gICAgICAgIGFzc2VydF9hcnJheV9lcXVhbHMoQS5nZXRfaW5oZXJpdGFuY2Vf
c3RhY2soKS5tYXAoaSA9PiBpLm5hbWUpLCBbIkEiLCAiQiIsICJDIl0pOwotICAgIH0sICdzaG91
bGQgcmV0dXJuIGFuIGFycmF5IG9mIGluaGVyaXRlZCBpbnRlcmZhY2VzIGluIG9yZGVyIG9mIGlu
aGVyaXRhbmNlLCBzdGFydGluZyB3aXRoIGl0c2VsZi4nKTsKLTwvc2NyaXB0PgotPC9ib2R5Pgot
PC9odG1sPgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2lkbGhhcm5lc3MvSWRsSW50ZXJmYWNlL2hh
c19kZWZhdWx0X3RvX2pzb25fcmVndWxhcl9vcGVyYXRpb24uaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRsaGFy
bmVzcy9JZGxJbnRlcmZhY2UvaGFzX2RlZmF1bHRfdG9fanNvbl9yZWd1bGFyX29wZXJhdGlvbi5o
dG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5NDk4YTNhN2JjZS4uMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvdGVzdC90ZXN0cy9pZGxoYXJuZXNzL0lkbEludGVyZmFjZS9oYXNfZGVmYXVsdF90b19q
c29uX3JlZ3VsYXJfb3BlcmF0aW9uLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw0NyArMCwwIEBA
Ci08IURPQ1RZUEUgSFRNTD4KLTxodG1sPgotPGhlYWQ+Ci08dGl0bGU+SWRsSW50ZXJmYWNlLnBy
b3RvdHlwZS5oYXNfZGVmYXVsdF90b19qc29uX3JlZ3VsYXJfb3BlcmF0aW9uKCk8L3RpdGxlPgot
PC9oZWFkPgotPGJvZHk+Ci08ZGl2IGlkPSJsb2ciPjwvZGl2PgotPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
V2ViSURMUGFyc2VyLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL2lkbGhh
cm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uL2hlbHBlci5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0PgotICAgICJ1c2Ugc3RyaWN0IjsKLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAg
ICAgICB2YXIgaSA9IGludGVyZmFjZUZyb20oJ2ludGVyZmFjZSBBIHsgfTsnKTsKLSAgICAgICAg
YXNzZXJ0X2ZhbHNlKGkuaGFzX2RlZmF1bHRfdG9fanNvbl9yZWd1bGFyX29wZXJhdGlvbigpKTsK
LSAgICB9LCAnc2hvdWxkIHJldHVybiBmYWxzZSB3aGVuIHRoZSBpbnRlcmZhY2UgZGVjbGFyZXMg
bm8gdG9KU09OIG9wZXJhdGlvbi4nKTsKLQotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAg
IHZhciBpID0gaW50ZXJmYWNlRnJvbSgnaW50ZXJmYWNlIEEgeyBzdGF0aWMgb2JqZWN0IHRvSlNP
TigpOyB9OycpOwotICAgICAgICBhc3NlcnRfZmFsc2UoaS5oYXNfZGVmYXVsdF90b19qc29uX3Jl
Z3VsYXJfb3BlcmF0aW9uKCkpOwotICAgIH0sICdzaG91bGQgcmV0dXJuIGZhbHNlIHdoZW4gdGhl
IGludGVyZmFjZSBkZWNsYXJlcyBhIHN0YXRpYyB0b0pTT04gb3BlcmF0aW9uLicpOwotCi0gICAg
dGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIGkgPSBpbnRlcmZhY2VGcm9tKCdpbnRlcmZh
Y2UgQSB7IG9iamVjdCB0b0pTT04oKTsgfTsnKTsKLSAgICAgICAgYXNzZXJ0X2ZhbHNlKGkuaGFz
X2RlZmF1bHRfdG9fanNvbl9yZWd1bGFyX29wZXJhdGlvbigpKTsKLSAgICB9LCAnc2hvdWxkIHJl
dHVybiBmYWxzZSB3aGVuIHRoZSBpbnRlcmZhY2UgZGVjbGFyZXMgYSByZWd1bGFyIHRvSlNPTiBv
cGVyYXRpb24gd2l0aCBubyBleHRlbmRlZCBhdHRyaWJ1dGUuJyk7Ci0KLSAgICB0ZXN0KGZ1bmN0
aW9uKCkgewotICAgICAgICB2YXIgaSA9IGludGVyZmFjZUZyb20oJ2ludGVyZmFjZSBBIHsgW3hd
IG9iamVjdCB0b0pTT04oKTsgfTsnKTsKLSAgICAgICAgYXNzZXJ0X2ZhbHNlKGkuaGFzX2RlZmF1
bHRfdG9fanNvbl9yZWd1bGFyX29wZXJhdGlvbigpKTsKLSAgICB9LCAnc2hvdWxkIHJldHVybiBm
YWxzZSB3aGVuIHRoZSBpbnRlcmZhY2UgZGVjbGFyZXMgYSByZWd1bGFyIHRvSlNPTiBvcGVyYXRp
b24gd2l0aCBhbm90aGVyIGV4dGVudGVkIGF0dHJpYnV0ZS4nKTsKLQotICAgIHRlc3QoZnVuY3Rp
b24oKSB7Ci0gICAgICAgIHZhciBpID0gaW50ZXJmYWNlRnJvbSgnaW50ZXJmYWNlIEEgeyBbRGVm
YXVsdF0gb2JqZWN0IHRvSlNPTigpOyB9OycpOwotICAgICAgICBhc3NlcnRfdHJ1ZShpLmhhc19k
ZWZhdWx0X3RvX2pzb25fcmVndWxhcl9vcGVyYXRpb24oKSk7Ci0gICAgfSwgJ3Nob3VsZCByZXR1
cm4gdHJ1ZSB3aGVuIHRoZSBpbnRlcmZhY2UgZGVjbGFyZXMgYSByZWd1bGFyIHRvSlNPTiBvcGVy
YXRpb24gd2l0aCB0aGUgW0RlZmF1bHRdIGV4dGVudGVkIGF0dHJpYnV0ZS4nKTsKLQotICAgIHRl
c3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBpID0gaW50ZXJmYWNlRnJvbSgnaW50ZXJmYWNl
IEEgeyBbQXR0ciwgQW5vdGhlckF0dHIsIERlZmF1bHRdIG9iamVjdCB0b0pTT04oKTsgfTsnKTsK
LSAgICAgICAgYXNzZXJ0X3RydWUoaS5oYXNfZGVmYXVsdF90b19qc29uX3JlZ3VsYXJfb3BlcmF0
aW9uKCkpOwotICAgIH0sICdzaG91bGQgcmV0dXJuIHRydWUgd2hlbiB0aGUgaW50ZXJmYWNlIGRl
Y2xhcmVzIGEgcmVndWxhciB0b0pTT04gb3BlcmF0aW9uIHdpdGggbXVsdGlwbGUgZXh0ZW5kZWQg
YXR0cmlidXRlcywgaW5jbHVkaW5nIFtEZWZhdWx0XS4nKTsKLTwvc2NyaXB0PgotPC9ib2R5Pgot
PC9odG1sPgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2lkbGhhcm5lc3MvSWRsSW50ZXJmYWNlL2hh
c190b19qc29uX3JlZ3VsYXJfb3BlcmF0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2lkbGhhcm5lc3MvSWRs
SW50ZXJmYWNlL2hhc190b19qc29uX3JlZ3VsYXJfb3BlcmF0aW9uLmh0bWwKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IGE0YjRlOTFiNTM4Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3Rz
L2lkbGhhcm5lc3MvSWRsSW50ZXJmYWNlL2hhc190b19qc29uX3JlZ3VsYXJfb3BlcmF0aW9uLmh0
bWwKKysrIC9kZXYvbnVsbApAQCAtMSwzMiArMCwwIEBACi08IURPQ1RZUEUgSFRNTD4KLTxodG1s
PgotPGhlYWQ+Ci08dGl0bGU+SWRsSW50ZXJmYWNlLnByb3RvdHlwZS5oYXNfdG9fanNvbl9yZWd1
bGFyX29wZXJhdGlvbigpPC90aXRsZT4KLTwvaGVhZD4KLTxib2R5PgotPGRpdiBpZD0ibG9nIj48
L2Rpdj4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL1dlYklETFBhcnNlci5qcyI+PC9zY3JpcHQ+Ci08c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy9pZGxoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIuLi9oZWxwZXIuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLSAgICAidXNlIHN0cmljdCI7Ci0g
ICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIGkgPSBpbnRlcmZhY2VGcm9tKCdpbnRl
cmZhY2UgQSB7IH07Jyk7Ci0gICAgICAgIGFzc2VydF9mYWxzZShpLmhhc190b19qc29uX3JlZ3Vs
YXJfb3BlcmF0aW9uKCkpOwotICAgIH0sICdzaG91bGQgcmV0dXJuIGZhbHNlIHdoZW4gdGhlIGlu
dGVyZmFjZSBkZWNsYXJlcyBubyB0b0pTT04gb3BlcmF0aW9uLicpOwotICAgIAotICAgIHRlc3Qo
ZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBpID0gaW50ZXJmYWNlRnJvbSgnaW50ZXJmYWNlIEEg
eyBzdGF0aWMgb2JqZWN0IHRvSlNPTigpOyB9OycpOwotICAgICAgICBhc3NlcnRfZmFsc2UoaS5o
YXNfdG9fanNvbl9yZWd1bGFyX29wZXJhdGlvbigpKTsKLSAgICB9LCAnc2hvdWxkIHJldHVybiBm
YWxzZSB3aGVuIHRoZSBpbnRlcmZhY2UgZGVjbGFyZXMgYSBzdGF0aWMgdG9KU09OIG9wZXJhdGlv
bi4nKTsKLSAgICAKLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgaSA9IGludGVy
ZmFjZUZyb20oJ2ludGVyZmFjZSBBIHsgb2JqZWN0IHRvSlNPTigpOyB9OycpOwotICAgICAgICBh
c3NlcnRfdHJ1ZShpLmhhc190b19qc29uX3JlZ3VsYXJfb3BlcmF0aW9uKCkpOwotICAgIH0sICdz
aG91bGQgcmV0dXJuIHRydWUgd2hlbiB0aGUgaW50ZXJmYWNlIGRlY2xhcmVzIGEgcmVndWxhciB0
b0pTT04gb3BlcmF0aW9uLicpOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+Ci0KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3Rlc3QvdGVzdHMvaWRsaGFybmVzcy9JZGxJbnRlcmZhY2UvdGVzdF9pbW11dGFibGVfcHJv
dG90eXBlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy90ZXN0L3Rlc3RzL2lkbGhhcm5lc3MvSWRsSW50ZXJmYWNlL3Rlc3RfaW1tdXRh
YmxlX3Byb3RvdHlwZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxNjIxNGM0
ZDI0Zi4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9pZGxoYXJuZXNzL0lkbEludGVyZmFjZS90
ZXN0X2ltbXV0YWJsZV9wcm90b3R5cGUuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDMyMSArMCww
IEBACi08IURPQ1RZUEUgSFRNTD4KLTxodG1sPgotPGhlYWQ+Ci0gIDxtZXRhIGNoYXJzZXQ9InV0
Zi04Ij4KLSAgPHRpdGxlPmlkbGhhcm5lc3M6IEltbXV0YWJsZSBwcm90b3R5cGVzPC90aXRsZT4K
LSAgPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLSAg
PHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
LSAgPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL1dlYklETFBhcnNlci5qcyI+PC9zY3JpcHQ+Ci0g
IDxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi9pZGxoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTwvaGVh
ZD4KLTxib2R5PgotPHNjcmlwdD4KLSJ1c2Ugc3RyaWN0dCI7Ci0KLU9iamVjdC5kZWZpbmVQcm9w
ZXJ0eSh3aW5kb3csICJGb28iLCB7Ci0gICAgZW51bWVyYWJsZTogZmFsc2UsCi0gICAgd3JpdGFi
bGU6IHRydWUsCi0gICAgY29uZmlndXJhYmxlOiB0cnVlLAotICAgIHZhbHVlOiBmdW5jdGlvbiBG
b28oKSB7fQotICB9KTsKLU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh3aW5kb3cuRm9vLCAicHJvdG90
eXBlIiwgewotICAgIHdyaXRhYmxlOiBmYWxzZSwKLSAgICB2YWx1ZTogd2luZG93LkZvby5wcm90
b3R5cGUKLSAgfSk7Ci1Gb28ucHJvdG90eXBlW1N5bWJvbC50b1N0cmluZ1RhZ10gPSAiRm9vIjsK
LQotdmFyIGlkbEFycmF5ID0gbmV3IElkbEFycmF5KCk7Ci1pZGxBcnJheS5hZGRfdW50ZXN0ZWRf
aWRscygiaW50ZXJmYWNlIEV2ZW50VGFyZ2V0IHt9OyIpOwotaWRsQXJyYXkuYWRkX2lkbHMoCi0g
ICAgIltHbG9iYWw9V2luZG93LCBFeHBvc2VkPVdpbmRvd11cbiIgKwotICAgICJpbnRlcmZhY2Ug
V2luZG93IDogRXZlbnRUYXJnZXQge307XG4iICsKLQotICAgICJbR2xvYmFsPVdpbmRvdywgRXhw
b3NlZD1XaW5kb3csIENvbnN0cnVjdG9yKCldXG4iICsKLQkiaW50ZXJmYWNlIEZvbyB7fTsiCi0g
ICk7Ci1pZGxBcnJheS5hZGRfb2JqZWN0cyh7Ci0gIEZvbzogWyJuZXcgRm9vKCkiXSwKLSAgV2lu
ZG93OiBbIndpbmRvdyJdCi19KTsKLWlkbEFycmF5LnRlc3QoKTsKLTwvc2NyaXB0PgotPHNjcmlw
dCB0eXBlPSJ0ZXh0L2pzb24iIGlkPSJleHBlY3RlZCI+Ci17Ci0gICAgInN1bW1hcml6ZWRfc3Rh
dHVzIjogewotICAgICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAgICJzdGF0dXNfc3RyaW5n
IjogIk9LIiwKLSAgICAgICAgInN0YWNrIjogbnVsbAotICAgIH0sCi0gICAgInN1bW1hcml6ZWRf
dGVzdHMiOiBbCi0gICAgICAgIHsKLSAgICAgICAgICAgICJuYW1lIjogIkZvbyBpbnRlcmZhY2Ug
b2JqZWN0IGxlbmd0aCIsCi0gICAgICAgICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAg
ICAgICAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAgICAgICAibWVzc2FnZSI6IG51bGws
Ci0gICAgICAgICAgICAic3RhY2siOiBudWxsCi0gICAgICAgIH0sCi0gICAgICAgIHsKLSAgICAg
ICAgICAgICJuYW1lIjogIkZvbyBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUiLAotICAgICAgICAgICAg
InN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAgICAgICAicHJvcGVydGllcyI6IHt9LAot
ICAgICAgICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgICAgICAgInN0YWNrIjogbnVsbAot
ICAgICAgICB9LAotICAgICAgICB7Ci0gICAgICAgICAgICAibmFtZSI6ICJGb28gaW50ZXJmYWNl
OiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCIsCi0gICAgICAg
ICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICAgICAgICJwcm9wZXJ0aWVzIjog
e30sCi0gICAgICAgICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAgICAgICAic3RhY2siOiBu
dWxsCi0gICAgICAgIH0sCi0gICAgICAgIHsKLSAgICAgICAgICAgICJuYW1lIjogIkZvbyBpbnRl
cmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9i
amVjdCIsCi0gICAgICAgICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICAgICAg
ICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAgICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAg
ICAgICAic3RhY2siOiBudWxsCi0gICAgICAgIH0sCi0gICAgICAgIHsKLSAgICAgICAgICAgICJu
YW1lIjogIkZvbyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZh
Y2UgcHJvdG90eXBlIG9iamVjdCdzIFwiY29uc3RydWN0b3JcIiBwcm9wZXJ0eSIsCi0gICAgICAg
ICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICAgICAgICJwcm9wZXJ0aWVzIjog
e30sCi0gICAgICAgICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAgICAgICAic3RhY2siOiBu
dWxsCi0gICAgICAgIH0sCi0gICAgICAgIHsKLSAgICAgICAgICAgICJuYW1lIjogIkZvbyBpbnRl
cmZhY2U6IGludGVybmFsIFtbU2V0UHJvdG90eXBlT2ZdXSBtZXRob2Qgb2YgZ2xvYmFsIHBsYXRm
b3JtIG9iamVjdCAtIHNldHRpbmcgdG8gYSBuZXcgdmFsdWUgdmlhIE9iamVjdC5zZXRQcm90b3R5
cGVPZiBzaG91bGQgdGhyb3cgYSBUeXBlRXJyb3IiLAotICAgICAgICAgICAgInN0YXR1c19zdHJp
bmciOiAiRkFJTCIsCi0gICAgICAgICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgICAgICAg
Im1lc3NhZ2UiOiAiYXNzZXJ0X3Rocm93czogZnVuY3Rpb24gXCJmdW5jdGlvbigpIHtcbiAgICAg
ICAgICAgIE9iamVjdC5zZXRQcm90b3R5cGVPZihvYmosIG5ld1ZhbHVlKTtcbiAgICAgICAgfVwi
IGRpZCBub3QgdGhyb3ciLAotICAgICAgICAgICAgInN0YWNrIjogIihpbXBsZW1lbnRhdGlvbi1k
ZWZpbmVkKSIKLSAgICAgICAgfSwKLSAgICAgICAgewotICAgICAgICAgICAgIm5hbWUiOiAiRm9v
IGludGVyZmFjZTogaW50ZXJuYWwgW1tTZXRQcm90b3R5cGVPZl1dIG1ldGhvZCBvZiBnbG9iYWwg
cGxhdGZvcm0gb2JqZWN0IC0gc2V0dGluZyB0byBhIG5ldyB2YWx1ZSB2aWEgUmVmbGVjdC5zZXRQ
cm90b3R5cGVPZiBzaG91bGQgcmV0dXJuIGZhbHNlIiwKLSAgICAgICAgICAgICJzdGF0dXNfc3Ry
aW5nIjogIkZBSUwiLAotICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICAgICAg
ICJtZXNzYWdlIjogImFzc2VydF9mYWxzZTogZXhwZWN0ZWQgZmFsc2UgZ290IHRydWUiLAotICAg
ICAgICAgICAgInN0YWNrIjogIihpbXBsZW1lbnRhdGlvbi1kZWZpbmVkKSIKLSAgICAgICAgfSwK
LSAgICAgICAgewotICAgICAgICAgICAgIm5hbWUiOiAiRm9vIGludGVyZmFjZTogaW50ZXJuYWwg
W1tTZXRQcm90b3R5cGVPZl1dIG1ldGhvZCBvZiBnbG9iYWwgcGxhdGZvcm0gb2JqZWN0IC0gc2V0
dGluZyB0byBhIG5ldyB2YWx1ZSB2aWEgX19wcm90b19fIHNob3VsZCB0aHJvdyBhIFR5cGVFcnJv
ciIsCi0gICAgICAgICAgICAic3RhdHVzX3N0cmluZyI6ICJGQUlMIiwKLSAgICAgICAgICAgICJw
cm9wZXJ0aWVzIjoge30sCi0gICAgICAgICAgICAibWVzc2FnZSI6ICJhc3NlcnRfdGhyb3dzOiBm
dW5jdGlvbiBcImZ1bmN0aW9uKCkge1xuICAgICAgICAgICAgb2JqLl9fcHJvdG9fXyA9IG5ld1Zh
bHVlO1xuICAgICAgICB9XCIgZGlkIG5vdCB0aHJvdyIsCi0gICAgICAgICAgICAic3RhY2siOiAi
KGltcGxlbWVudGF0aW9uLWRlZmluZWQpIgotICAgICAgICB9LAotICAgICAgICB7Ci0gICAgICAg
ICAgICAibmFtZSI6ICJGb28gaW50ZXJmYWNlOiBpbnRlcm5hbCBbW1NldFByb3RvdHlwZU9mXV0g
bWV0aG9kIG9mIGdsb2JhbCBwbGF0Zm9ybSBvYmplY3QgLSBzZXR0aW5nIHRvIGl0cyBvcmlnaW5h
bCB2YWx1ZSB2aWEgT2JqZWN0LnNldFByb3RvdHlwZU9mIHNob3VsZCBub3QgdGhyb3ciLAotICAg
ICAgICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAgICAgICAicHJvcGVydGll
cyI6IHt9LAotICAgICAgICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgICAgICAgInN0YWNr
IjogbnVsbAotICAgICAgICB9LAotICAgICAgICB7Ci0gICAgICAgICAgICAibmFtZSI6ICJGb28g
aW50ZXJmYWNlOiBpbnRlcm5hbCBbW1NldFByb3RvdHlwZU9mXV0gbWV0aG9kIG9mIGdsb2JhbCBw
bGF0Zm9ybSBvYmplY3QgLSBzZXR0aW5nIHRvIGl0cyBvcmlnaW5hbCB2YWx1ZSB2aWEgUmVmbGVj
dC5zZXRQcm90b3R5cGVPZiBzaG91bGQgcmV0dXJuIHRydWUiLAotICAgICAgICAgICAgInN0YXR1
c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAgICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAg
ICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgICAgICAgInN0YWNrIjogbnVsbAotICAgICAg
ICB9LAotICAgICAgICB7Ci0gICAgICAgICAgICAibmFtZSI6ICJGb28gaW50ZXJmYWNlOiBpbnRl
cm5hbCBbW1NldFByb3RvdHlwZU9mXV0gbWV0aG9kIG9mIGdsb2JhbCBwbGF0Zm9ybSBvYmplY3Qg
LSBzZXR0aW5nIHRvIGl0cyBvcmlnaW5hbCB2YWx1ZSB2aWEgX19wcm90b19fIHNob3VsZCBub3Qg
dGhyb3ciLAotICAgICAgICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAgICAg
ICAicHJvcGVydGllcyI6IHt9LAotICAgICAgICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAg
ICAgICAgInN0YWNrIjogbnVsbAotICAgICAgICB9LAotICAgICAgICB7Ci0gICAgICAgICAgICAi
bmFtZSI6ICJGb28gaW50ZXJmYWNlOiBpbnRlcm5hbCBbW1NldFByb3RvdHlwZU9mXV0gbWV0aG9k
IG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IC0gc2V0dGluZyB0byBhIG5ldyB2YWx1ZSB2
aWEgT2JqZWN0LnNldFByb3RvdHlwZU9mIHNob3VsZCB0aHJvdyBhIFR5cGVFcnJvciIsCi0gICAg
ICAgICAgICAic3RhdHVzX3N0cmluZyI6ICJGQUlMIiwKLSAgICAgICAgICAgICJwcm9wZXJ0aWVz
Ijoge30sCi0gICAgICAgICAgICAibWVzc2FnZSI6ICJhc3NlcnRfdGhyb3dzOiBmdW5jdGlvbiBc
ImZ1bmN0aW9uKCkge1xuICAgICAgICAgICAgT2JqZWN0LnNldFByb3RvdHlwZU9mKG9iaiwgbmV3
VmFsdWUpO1xuICAgICAgICB9XCIgZGlkIG5vdCB0aHJvdyIsCi0gICAgICAgICAgICAic3RhY2si
OiAiKGltcGxlbWVudGF0aW9uLWRlZmluZWQpIgotICAgICAgICB9LAotICAgICAgICB7Ci0gICAg
ICAgICAgICAibmFtZSI6ICJGb28gaW50ZXJmYWNlOiBpbnRlcm5hbCBbW1NldFByb3RvdHlwZU9m
XV0gbWV0aG9kIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IC0gc2V0dGluZyB0byBhIG5l
dyB2YWx1ZSB2aWEgUmVmbGVjdC5zZXRQcm90b3R5cGVPZiBzaG91bGQgcmV0dXJuIGZhbHNlIiwK
LSAgICAgICAgICAgICJzdGF0dXNfc3RyaW5nIjogIkZBSUwiLAotICAgICAgICAgICAgInByb3Bl
cnRpZXMiOiB7fSwKLSAgICAgICAgICAgICJtZXNzYWdlIjogImFzc2VydF9mYWxzZTogZXhwZWN0
ZWQgZmFsc2UgZ290IHRydWUiLAotICAgICAgICAgICAgInN0YWNrIjogIihpbXBsZW1lbnRhdGlv
bi1kZWZpbmVkKSIKLSAgICAgICAgfSwKLSAgICAgICAgewotICAgICAgICAgICAgIm5hbWUiOiAi
Rm9vIGludGVyZmFjZTogaW50ZXJuYWwgW1tTZXRQcm90b3R5cGVPZl1dIG1ldGhvZCBvZiBpbnRl
cmZhY2UgcHJvdG90eXBlIG9iamVjdCAtIHNldHRpbmcgdG8gYSBuZXcgdmFsdWUgdmlhIF9fcHJv
dG9fXyBzaG91bGQgdGhyb3cgYSBUeXBlRXJyb3IiLAotICAgICAgICAgICAgInN0YXR1c19zdHJp
bmciOiAiRkFJTCIsCi0gICAgICAgICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgICAgICAg
Im1lc3NhZ2UiOiAiYXNzZXJ0X3Rocm93czogZnVuY3Rpb24gXCJmdW5jdGlvbigpIHtcbiAgICAg
ICAgICAgIG9iai5fX3Byb3RvX18gPSBuZXdWYWx1ZTtcbiAgICAgICAgfVwiIGRpZCBub3QgdGhy
b3ciLAotICAgICAgICAgICAgInN0YWNrIjogIihpbXBsZW1lbnRhdGlvbi1kZWZpbmVkKSIKLSAg
ICAgICAgfSwKLSAgICAgICAgewotICAgICAgICAgICAgIm5hbWUiOiAiRm9vIGludGVyZmFjZTog
aW50ZXJuYWwgW1tTZXRQcm90b3R5cGVPZl1dIG1ldGhvZCBvZiBpbnRlcmZhY2UgcHJvdG90eXBl
IG9iamVjdCAtIHNldHRpbmcgdG8gaXRzIG9yaWdpbmFsIHZhbHVlIHZpYSBPYmplY3Quc2V0UHJv
dG90eXBlT2Ygc2hvdWxkIG5vdCB0aHJvdyIsCi0gICAgICAgICAgICAic3RhdHVzX3N0cmluZyI6
ICJQQVNTIiwKLSAgICAgICAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAgICAgICAibWVz
c2FnZSI6IG51bGwsCi0gICAgICAgICAgICAic3RhY2siOiBudWxsCi0gICAgICAgIH0sCi0gICAg
ICAgIHsKLSAgICAgICAgICAgICJuYW1lIjogIkZvbyBpbnRlcmZhY2U6IGludGVybmFsIFtbU2V0
UHJvdG90eXBlT2ZdXSBtZXRob2Qgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgLSBzZXR0
aW5nIHRvIGl0cyBvcmlnaW5hbCB2YWx1ZSB2aWEgUmVmbGVjdC5zZXRQcm90b3R5cGVPZiBzaG91
bGQgcmV0dXJuIHRydWUiLAotICAgICAgICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0g
ICAgICAgICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgICAgICAgIm1lc3NhZ2UiOiBudWxs
LAotICAgICAgICAgICAgInN0YWNrIjogbnVsbAotICAgICAgICB9LAotICAgICAgICB7Ci0gICAg
ICAgICAgICAibmFtZSI6ICJGb28gaW50ZXJmYWNlOiBpbnRlcm5hbCBbW1NldFByb3RvdHlwZU9m
XV0gbWV0aG9kIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IC0gc2V0dGluZyB0byBpdHMg
b3JpZ2luYWwgdmFsdWUgdmlhIF9fcHJvdG9fXyBzaG91bGQgbm90IHRocm93IiwKLSAgICAgICAg
ICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7
fSwKLSAgICAgICAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICAgICAgICJzdGFjayI6IG51
bGwKLSAgICAgICAgfSwKLSAgICAgICAgewotICAgICAgICAgICAgIm5hbWUiOiAiRm9vIG11c3Qg
YmUgcHJpbWFyeSBpbnRlcmZhY2Ugb2YgbmV3IEZvbygpIiwKLSAgICAgICAgICAgICJzdGF0dXNf
c3RyaW5nIjogIlBBU1MiLAotICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICAg
ICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICAgICAgICJzdGFjayI6IG51bGwKLSAgICAgICAg
fSwKLSAgICAgICAgewotICAgICAgICAgICAgIm5hbWUiOiAiU3RyaW5naWZpY2F0aW9uIG9mIG5l
dyBGb28oKSIsCi0gICAgICAgICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICAg
ICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAgICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAg
ICAgICAgICAic3RhY2siOiBudWxsCi0gICAgICAgIH0sCi0gICAgICAgIHsKLSAgICAgICAgICAg
ICJuYW1lIjogIlN0cmluZ2lmaWNhdGlvbiBvZiB3aW5kb3ciLAotICAgICAgICAgICAgInN0YXR1
c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAgICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAg
ICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgICAgICAgInN0YWNrIjogbnVsbAotICAgICAg
ICB9LAotICAgICAgICB7Ci0gICAgICAgICAgICAibmFtZSI6ICJXaW5kb3cgaW50ZXJmYWNlIG9i
amVjdCBsZW5ndGgiLAotICAgICAgICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAg
ICAgICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgICAgICAgIm1lc3NhZ2UiOiBudWxsLAot
ICAgICAgICAgICAgInN0YWNrIjogbnVsbAotICAgICAgICB9LAotICAgICAgICB7Ci0gICAgICAg
ICAgICAibmFtZSI6ICJXaW5kb3cgaW50ZXJmYWNlIG9iamVjdCBuYW1lIiwKLSAgICAgICAgICAg
ICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7fSwK
LSAgICAgICAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICAgICAgICJzdGFjayI6IG51bGwK
LSAgICAgICAgfSwKLSAgICAgICAgewotICAgICAgICAgICAgIm5hbWUiOiAiV2luZG93IGludGVy
ZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QiLAotICAg
ICAgICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAgICAgICAicHJvcGVydGll
cyI6IHt9LAotICAgICAgICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgICAgICAgInN0YWNr
IjogbnVsbAotICAgICAgICB9LAotICAgICAgICB7Ci0gICAgICAgICAgICAibmFtZSI6ICJXaW5k
b3cgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3Rv
dHlwZSBvYmplY3QiLAotICAgICAgICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAg
ICAgICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgICAgICAgIm1lc3NhZ2UiOiBudWxsLAot
ICAgICAgICAgICAgInN0YWNrIjogbnVsbAotICAgICAgICB9LAotICAgICAgICB7Ci0gICAgICAg
ICAgICAibmFtZSI6ICJXaW5kb3cgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMg
b2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyBcImNvbnN0cnVjdG9yXCIgcHJvcGVydHki
LAotICAgICAgICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAgICAgICAicHJv
cGVydGllcyI6IHt9LAotICAgICAgICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgICAgICAg
InN0YWNrIjogbnVsbAotICAgICAgICB9LAotICAgICAgICB7Ci0gICAgICAgICAgICAibmFtZSI6
ICJXaW5kb3cgaW50ZXJmYWNlOiBpbnRlcm5hbCBbW1NldFByb3RvdHlwZU9mXV0gbWV0aG9kIG9m
IGdsb2JhbCBwbGF0Zm9ybSBvYmplY3QgLSBzZXR0aW5nIHRvIGEgbmV3IHZhbHVlIHZpYSBPYmpl
Y3Quc2V0UHJvdG90eXBlT2Ygc2hvdWxkIHRocm93IGEgVHlwZUVycm9yIiwKLSAgICAgICAgICAg
ICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7fSwK
LSAgICAgICAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICAgICAgICJzdGFjayI6IG51bGwK
LSAgICAgICAgfSwKLSAgICAgICAgewotICAgICAgICAgICAgIm5hbWUiOiAiV2luZG93IGludGVy
ZmFjZTogaW50ZXJuYWwgW1tTZXRQcm90b3R5cGVPZl1dIG1ldGhvZCBvZiBnbG9iYWwgcGxhdGZv
cm0gb2JqZWN0IC0gc2V0dGluZyB0byBhIG5ldyB2YWx1ZSB2aWEgUmVmbGVjdC5zZXRQcm90b3R5
cGVPZiBzaG91bGQgcmV0dXJuIGZhbHNlIiwKLSAgICAgICAgICAgICJzdGF0dXNfc3RyaW5nIjog
IlBBU1MiLAotICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICAgICAgICJtZXNz
YWdlIjogbnVsbCwKLSAgICAgICAgICAgICJzdGFjayI6IG51bGwKLSAgICAgICAgfSwKLSAgICAg
ICAgewotICAgICAgICAgICAgIm5hbWUiOiAiV2luZG93IGludGVyZmFjZTogaW50ZXJuYWwgW1tT
ZXRQcm90b3R5cGVPZl1dIG1ldGhvZCBvZiBnbG9iYWwgcGxhdGZvcm0gb2JqZWN0IC0gc2V0dGlu
ZyB0byBhIG5ldyB2YWx1ZSB2aWEgX19wcm90b19fIHNob3VsZCB0aHJvdyBhIFR5cGVFcnJvciIs
Ci0gICAgICAgICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICAgICAgICJwcm9w
ZXJ0aWVzIjoge30sCi0gICAgICAgICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAgICAgICAi
c3RhY2siOiBudWxsCi0gICAgICAgIH0sCi0gICAgICAgIHsKLSAgICAgICAgICAgICJuYW1lIjog
IldpbmRvdyBpbnRlcmZhY2U6IGludGVybmFsIFtbU2V0UHJvdG90eXBlT2ZdXSBtZXRob2Qgb2Yg
Z2xvYmFsIHBsYXRmb3JtIG9iamVjdCAtIHNldHRpbmcgdG8gaXRzIG9yaWdpbmFsIHZhbHVlIHZp
YSBPYmplY3Quc2V0UHJvdG90eXBlT2Ygc2hvdWxkIG5vdCB0aHJvdyIsCi0gICAgICAgICAgICAi
c3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0g
ICAgICAgICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAgICAgICAic3RhY2siOiBudWxsCi0g
ICAgICAgIH0sCi0gICAgICAgIHsKLSAgICAgICAgICAgICJuYW1lIjogIldpbmRvdyBpbnRlcmZh
Y2U6IGludGVybmFsIFtbU2V0UHJvdG90eXBlT2ZdXSBtZXRob2Qgb2YgZ2xvYmFsIHBsYXRmb3Jt
IG9iamVjdCAtIHNldHRpbmcgdG8gaXRzIG9yaWdpbmFsIHZhbHVlIHZpYSBSZWZsZWN0LnNldFBy
b3RvdHlwZU9mIHNob3VsZCByZXR1cm4gdHJ1ZSIsCi0gICAgICAgICAgICAic3RhdHVzX3N0cmlu
ZyI6ICJQQVNTIiwKLSAgICAgICAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAgICAgICAi
bWVzc2FnZSI6IG51bGwsCi0gICAgICAgICAgICAic3RhY2siOiBudWxsCi0gICAgICAgIH0sCi0g
ICAgICAgIHsKLSAgICAgICAgICAgICJuYW1lIjogIldpbmRvdyBpbnRlcmZhY2U6IGludGVybmFs
IFtbU2V0UHJvdG90eXBlT2ZdXSBtZXRob2Qgb2YgZ2xvYmFsIHBsYXRmb3JtIG9iamVjdCAtIHNl
dHRpbmcgdG8gaXRzIG9yaWdpbmFsIHZhbHVlIHZpYSBfX3Byb3RvX18gc2hvdWxkIG5vdCB0aHJv
dyIsCi0gICAgICAgICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICAgICAgICJw
cm9wZXJ0aWVzIjoge30sCi0gICAgICAgICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAgICAg
ICAic3RhY2siOiBudWxsCi0gICAgICAgIH0sCi0gICAgICAgIHsKLSAgICAgICAgICAgICJuYW1l
IjogIldpbmRvdyBpbnRlcmZhY2U6IGludGVybmFsIFtbU2V0UHJvdG90eXBlT2ZdXSBtZXRob2Qg
b2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgLSBzZXR0aW5nIHRvIGEgbmV3IHZhbHVlIHZp
YSBPYmplY3Quc2V0UHJvdG90eXBlT2Ygc2hvdWxkIHRocm93IGEgVHlwZUVycm9yIiwKLSAgICAg
ICAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgICAgICAgInByb3BlcnRpZXMi
OiB7fSwKLSAgICAgICAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICAgICAgICJzdGFjayI6
IG51bGwKLSAgICAgICAgfSwKLSAgICAgICAgewotICAgICAgICAgICAgIm5hbWUiOiAiV2luZG93
IGludGVyZmFjZTogaW50ZXJuYWwgW1tTZXRQcm90b3R5cGVPZl1dIG1ldGhvZCBvZiBpbnRlcmZh
Y2UgcHJvdG90eXBlIG9iamVjdCAtIHNldHRpbmcgdG8gYSBuZXcgdmFsdWUgdmlhIFJlZmxlY3Qu
c2V0UHJvdG90eXBlT2Ygc2hvdWxkIHJldHVybiBmYWxzZSIsCi0gICAgICAgICAgICAic3RhdHVz
X3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAg
ICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAgICAgICAic3RhY2siOiBudWxsCi0gICAgICAg
IH0sCi0gICAgICAgIHsKLSAgICAgICAgICAgICJuYW1lIjogIldpbmRvdyBpbnRlcmZhY2U6IGlu
dGVybmFsIFtbU2V0UHJvdG90eXBlT2ZdXSBtZXRob2Qgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBv
YmplY3QgLSBzZXR0aW5nIHRvIGEgbmV3IHZhbHVlIHZpYSBfX3Byb3RvX18gc2hvdWxkIHRocm93
IGEgVHlwZUVycm9yIiwKLSAgICAgICAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAg
ICAgICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICAgICAgICJtZXNzYWdlIjogbnVsbCwK
LSAgICAgICAgICAgICJzdGFjayI6IG51bGwKLSAgICAgICAgfSwKLSAgICAgICAgewotICAgICAg
ICAgICAgIm5hbWUiOiAiV2luZG93IGludGVyZmFjZTogaW50ZXJuYWwgW1tTZXRQcm90b3R5cGVP
Zl1dIG1ldGhvZCBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCAtIHNldHRpbmcgdG8gaXRz
IG9yaWdpbmFsIHZhbHVlIHZpYSBPYmplY3Quc2V0UHJvdG90eXBlT2Ygc2hvdWxkIG5vdCB0aHJv
dyIsCi0gICAgICAgICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICAgICAgICJw
cm9wZXJ0aWVzIjoge30sCi0gICAgICAgICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAgICAg
ICAic3RhY2siOiBudWxsCi0gICAgICAgIH0sCi0gICAgICAgIHsKLSAgICAgICAgICAgICJuYW1l
IjogIldpbmRvdyBpbnRlcmZhY2U6IGludGVybmFsIFtbU2V0UHJvdG90eXBlT2ZdXSBtZXRob2Qg
b2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgLSBzZXR0aW5nIHRvIGl0cyBvcmlnaW5hbCB2
YWx1ZSB2aWEgUmVmbGVjdC5zZXRQcm90b3R5cGVPZiBzaG91bGQgcmV0dXJuIHRydWUiLAotICAg
ICAgICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAgICAgICAicHJvcGVydGll
cyI6IHt9LAotICAgICAgICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgICAgICAgInN0YWNr
IjogbnVsbAotICAgICAgICB9LAotICAgICAgICB7Ci0gICAgICAgICAgICAibmFtZSI6ICJXaW5k
b3cgaW50ZXJmYWNlOiBpbnRlcm5hbCBbW1NldFByb3RvdHlwZU9mXV0gbWV0aG9kIG9mIGludGVy
ZmFjZSBwcm90b3R5cGUgb2JqZWN0IC0gc2V0dGluZyB0byBpdHMgb3JpZ2luYWwgdmFsdWUgdmlh
IF9fcHJvdG9fXyBzaG91bGQgbm90IHRocm93IiwKLSAgICAgICAgICAgICJzdGF0dXNfc3RyaW5n
IjogIlBBU1MiLAotICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICAgICAgICJt
ZXNzYWdlIjogbnVsbCwKLSAgICAgICAgICAgICJzdGFjayI6IG51bGwKLSAgICAgICAgfSwKLSAg
ICAgICAgewotICAgICAgICAgICAgIm5hbWUiOiAiV2luZG93IG11c3QgYmUgcHJpbWFyeSBpbnRl
cmZhY2Ugb2Ygd2luZG93IiwKLSAgICAgICAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAot
ICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICAgICAgICJtZXNzYWdlIjogbnVs
bCwKLSAgICAgICAgICAgICJzdGFjayI6IG51bGwKLSAgICAgICAgfQotICAgIF0sCi0gICAgInR5
cGUiOiAiY29tcGxldGUiCi19Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3Rlc3QvdGVzdHMvaWRsaGFybmVzcy9JZGxJbnRlcmZhY2UvdGVzdF9wcmltYXJ5X2ludGVyZmFj
ZV9vZi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvdGVzdC90ZXN0cy9pZGxoYXJuZXNzL0lkbEludGVyZmFjZS90ZXN0X3ByaW1hcnlf
aW50ZXJmYWNlX29mLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg1OTM0MGEy
MzYyLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2lkbGhhcm5lc3MvSWRsSW50ZXJmYWNlL3Rl
c3RfcHJpbWFyeV9pbnRlcmZhY2Vfb2YuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDExMSArMCww
IEBACi08IURPQ1RZUEUgSFRNTD4KLTxodG1sPgotPGhlYWQ+Ci0gIDxtZXRhIGNoYXJzZXQ9InV0
Zi04Ij4KLSAgPHRpdGxlPmlkbGhhcm5lc3M6IFByaW1hcnkgaW50ZXJmYWNlPC90aXRsZT4KLSAg
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotICA8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci0gIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL1dlYklETFBhcnNlci5qcyI+PC9zY3JpcHQ+Ci0gIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL2lkbGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJv
ZHk+Ci08cD5WZXJpZnkgdGhlIHNlcmllcyBvZiBzdWItdGVzdHMgdGhhdCBhcmUgZXhlY3V0ZWQg
Zm9yICJ0ZXN0ZWQiIGludGVyZmFjZQotb2JqZWN0cyBidXQgc2tpcHBlZCBmb3IgInVudGVzdGVk
IiBpbnRlcmZhY2Ugb2JqZWN0cy48L3A+Ci08c2NyaXB0PgotInVzZSBzdHJpY3QiOwotCi1mdW5j
dGlvbiBGb29QYXJlbnQoKSB7fQotT2JqZWN0LmRlZmluZVByb3BlcnR5KHdpbmRvdywgIkZvbyIs
IHsKLSAgICBlbnVtZXJhYmxlOiBmYWxzZSwKLSAgICB3cml0YWJsZTogdHJ1ZSwKLSAgICBjb25m
aWd1cmFibGU6IHRydWUsCi0gICAgdmFsdWU6IGZ1bmN0aW9uIEZvbygpIHt9Ci0gIH0pOwotT2Jq
ZWN0LmRlZmluZVByb3BlcnR5KHdpbmRvdy5Gb28sICJwcm90b3R5cGUiLCB7Ci0gICAgd3JpdGFi
bGU6IGZhbHNlLAotICAgIHZhbHVlOiBuZXcgRm9vUGFyZW50KCkKLSAgfSk7Ci1PYmplY3QuZGVm
aW5lUHJvcGVydHkod2luZG93LkZvby5wcm90b3R5cGUsICJjb25zdHJ1Y3RvciIsIHsKLSAgICBl
bnVtZXJhYmxlOiBmYWxzZSwKLSAgICB3cml0YWJsZTogdHJ1ZSwKLSAgICBjb25maWd1cmFibGU6
IHRydWUsCi0gICAgdmFsdWU6IHdpbmRvdy5Gb28KLSAgfSk7Ci1Gb28uX19wcm90b19fID0gRm9v
UGFyZW50OwotRm9vLnByb3RvdHlwZVtTeW1ib2wudG9TdHJpbmdUYWddID0gIkZvbyI7Ci0KLXZh
ciBpZGxBcnJheSA9IG5ldyBJZGxBcnJheSgpOwotaWRsQXJyYXkuYWRkX3VudGVzdGVkX2lkbHMo
ImludGVyZmFjZSBGb29QYXJlbnQge307Iik7Ci1pZGxBcnJheS5hZGRfaWRscygKLSAgICAiW0Nv
bnN0cnVjdG9yKCldXG4iICsKLSAgICAiaW50ZXJmYWNlIEZvbyA6IEZvb1BhcmVudCB7fTsiCi0g
ICk7Ci1pZGxBcnJheS5hZGRfb2JqZWN0cyh7Ci0gIEZvbzogWyJuZXcgRm9vKCkiXSwKLSAgRm9v
UGFyZW50OiBbIm5ldyBGb29QYXJlbnQoKSJdCi19KTsKLWlkbEFycmF5LnRlc3QoKTsKLTwvc2Ny
aXB0PgotPHNjcmlwdCB0eXBlPSJ0ZXh0L2pzb24iIGlkPSJleHBlY3RlZCI+Ci17Ci0gICJzdW1t
YXJpemVkX3N0YXR1cyI6IHsKLSAgICAic3RhdHVzX3N0cmluZyI6ICJPSyIsCi0gICAgIm1lc3Nh
Z2UiOiBudWxsLAotICAgICJzdGFjayI6IG51bGwKLSAgfSwKLSAgInN1bW1hcml6ZWRfdGVzdHMi
OiBbCi0gICAgewotICAgICAgIm5hbWUiOiAiRm9vIGludGVyZmFjZSBvYmplY3QgbGVuZ3RoIiwK
LSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwK
LSAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICJzdGFjayI6IG51bGwKLSAgICB9LAotICAg
IHsKLSAgICAgICJuYW1lIjogIkZvbyBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUiLAotICAgICAgInN0
YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1l
c3NhZ2UiOiBudWxsLAotICAgICAgInN0YWNrIjogbnVsbAotICAgIH0sCi0gICAgewotICAgICAg
Im5hbWUiOiAiRm9vIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVy
ZmFjZSBvYmplY3QiLAotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAicHJv
cGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgInN0YWNrIjogbnVs
bAotICAgIH0sCi0gICAgewotICAgICAgIm5hbWUiOiAiRm9vIGludGVyZmFjZTogZXhpc3RlbmNl
IGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IiwKLSAgICAgICJz
dGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJt
ZXNzYWdlIjogbnVsbCwKLSAgICAgICJzdGFjayI6IG51bGwKLSAgICB9LAotICAgIHsKLSAgICAg
ICJuYW1lIjogIkZvbyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRl
cmZhY2UgcHJvdG90eXBlIG9iamVjdCdzIFwiY29uc3RydWN0b3JcIiBwcm9wZXJ0eSIsCi0gICAg
ICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAg
ICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAic3RhY2siOiBudWxsCi0gICAgfSwKLSAgICB7Ci0g
ICAgICAibmFtZSI6ICJGb28gbXVzdCBiZSBwcmltYXJ5IGludGVyZmFjZSBvZiBuZXcgRm9vKCki
LAotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAicHJvcGVydGllcyI6IHt9
LAotICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgInN0YWNrIjogbnVsbAotICAgIH0sCi0g
ICAgewotICAgICAgIm5hbWUiOiAiU3RyaW5naWZpY2F0aW9uIG9mIG5ldyBGb28oKSIsCi0gICAg
ICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAg
ICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAic3RhY2siOiBudWxsCi0gICAgfQotICBdLAotICAi
dHlwZSI6ICJjb21wbGV0ZSIKLX0KLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvdGVzdC90ZXN0cy9pZGxoYXJuZXNzL0lkbEludGVyZmFjZS90ZXN0X3RvX2pzb25fb3BlcmF0
aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy90ZXN0L3Rlc3RzL2lkbGhhcm5lc3MvSWRsSW50ZXJmYWNlL3Rlc3RfdG9fanNvbl9v
cGVyYXRpb24uaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMThmYzMxOTNmZjgu
LjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRsaGFybmVzcy9JZGxJbnRlcmZhY2UvdGVzdF90
b19qc29uX29wZXJhdGlvbi5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTkwICswLDAgQEAKLTwh
RE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLSAgPG1ldGEgY2hhcnNldD0idXRmLTgiPgot
ICA8dGl0bGU+SWRsSW50ZXJmYWNlLnByb3RvdHlwZS50ZXN0X3RvX2pzb25fb3BlcmF0aW9uKCk8
L3RpdGxlPgotICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+Ci0gIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KLSAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvV2ViSURMUGFyc2VyLmpzIj48L3Njcmlw
dD4KLSAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvaWRsaGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci0g
IDxzY3JpcHQgc3JjPSIuLi9oZWxwZXIuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08
c2NyaXB0PgotICAgICJ1c2Ugc3RyaWN0IjsKLSAgICBmdW5jdGlvbiB3cmFwKG9iaikgewotICAg
ICAgICBmdW5jdGlvbiBGKG9iaikgewotICAgICAgICAgICAgdGhpcy5fb2JqID0gb2JqOwotICAg
ICAgICB9Ci0KLSAgICAgICAgRi5wcm90b3R5cGUudG9KU09OID0gZnVuY3Rpb24oKSB7Ci0gICAg
ICAgICAgICByZXR1cm4gdGhpcy5fb2JqOwotICAgICAgICB9Ci0KLSAgICAgICAgcmV0dXJuIG5l
dyBGKG9iaik7Ci0gICAgfQotCi0gICAgdmFyIGksIG9iajsKLSAgICBpID0gaW50ZXJmYWNlRnJv
bSgiaW50ZXJmYWNlIEEgeyBbRGVmYXVsdF0gb2JqZWN0IHRvSlNPTigpOyBhdHRyaWJ1dGUgbG9u
ZyBmb287IH07Iik7Ci0gICAgaS50ZXN0X3RvX2pzb25fb3BlcmF0aW9uKHdyYXAoeyBmb286IDEy
MyB9KSwgaS5tZW1iZXJzWzBdKTsKLQotICAgIC8vIHNob3VsZCBmYWlsICh3cm9uZyB0eXBlKQot
ICAgIGkgPSBpbnRlcmZhY2VGcm9tKCJpbnRlcmZhY2UgQiB7IFtEZWZhdWx0XSBvYmplY3QgdG9K
U09OKCk7IGF0dHJpYnV0ZSBsb25nIGZvbzsgfTsiKTsKLSAgICBpLnRlc3RfdG9fanNvbl9vcGVy
YXRpb24od3JhcCh7IGZvbzogImEgdmFsdWUiIH0pLCBpLm1lbWJlcnNbMF0pOwotCi0gICAgLy8g
c2hvdWxkIGhhbmRsZSBleHRyYW5lb3VzIGF0dHJpYnV0ZXMgKGUuZy4gZnJvbSBhbiBleHRlbnNp
b24gc3BlY2lmaWNhdGlvbikKLSAgICBpID0gaW50ZXJmYWNlRnJvbSgiaW50ZXJmYWNlIEMgeyBb
RGVmYXVsdF0gb2JqZWN0IHRvSlNPTigpOyBhdHRyaWJ1dGUgbG9uZyBmb287IH07Iik7Ci0gICAg
aS50ZXN0X3RvX2pzb25fb3BlcmF0aW9uKHdyYXAoeyBmb286IDEyMywgYmFyOiA0NTYgfSksIGku
bWVtYmVyc1swXSk7Ci0KLSAgICAvLyBzaG91bGQgZmFpbCAobWlzc2luZyBwcm9wZXJ0eSkKLSAg
ICBpID0gaW50ZXJmYWNlRnJvbSgiaW50ZXJmYWNlIEQgeyBbRGVmYXVsdF0gb2JqZWN0IHRvSlNP
TigpOyBhdHRyaWJ1dGUgbG9uZyBmb287IH07Iik7Ci0gICAgaS50ZXN0X3RvX2pzb25fb3BlcmF0
aW9uKHdyYXAoeyB9KSwgaS5tZW1iZXJzWzBdKTsKLQotICAgIC8vIHNob3VsZCBmYWlsIChzaG91
bGQgYmUgd3JpdGFibGUpCi0gICAgb2JqID0gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoe30sIHsg
Zm9vOiB7Ci0gICAgICAgIHdyaXRhYmxlOiBmYWxzZSwKLSAgICAgICAgZW51bWVyYWJsZTogdHJ1
ZSwKLSAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLAotICAgICAgICB2YWx1ZTogMTIzCi0gICAg
fX0pOwotICAgIGkgPSBpbnRlcmZhY2VGcm9tKCJpbnRlcmZhY2UgRiB7IFtEZWZhdWx0XSBvYmpl
Y3QgdG9KU09OKCk7IGF0dHJpYnV0ZSBsb25nIGZvbzsgfTsiKTsKLSAgICBpLnRlc3RfdG9fanNv
bl9vcGVyYXRpb24od3JhcChvYmopLCBpLm1lbWJlcnNbMF0pOwotCi0gICAgLy8gc2hvdWxkIGZh
aWwgKHNob3VsZCBiZSBlbnVtZXJhYmxlKQotICAgIG9iaiA9IE9iamVjdC5kZWZpbmVQcm9wZXJ0
aWVzKHt9LCB7IGZvbzogewotICAgICAgICB3cml0YWJsZTogdHJ1ZSwKLSAgICAgICAgZW51bWVy
YWJsZTogZmFsc2UsCi0gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSwKLSAgICAgICAgdmFsdWU6
IDEyMwotICAgIH19KTsKLSAgICBpID0gaW50ZXJmYWNlRnJvbSgiaW50ZXJmYWNlIEcgeyBbRGVm
YXVsdF0gb2JqZWN0IHRvSlNPTigpOyBhdHRyaWJ1dGUgbG9uZyBmb287IH07Iik7Ci0gICAgaS50
ZXN0X3RvX2pzb25fb3BlcmF0aW9uKHdyYXAob2JqKSwgaS5tZW1iZXJzWzBdKTsKLQotICAgIC8v
IHNob3VsZCBmYWlsIChzaG91bGQgYmUgY29uZmlndXJhYmxlKQotICAgIG9iaiA9IE9iamVjdC5k
ZWZpbmVQcm9wZXJ0aWVzKHt9LCB7IGZvbzogewotICAgICAgICB3cml0YWJsZTogdHJ1ZSwKLSAg
ICAgICAgZW51bWVyYWJsZTogdHJ1ZSwKLSAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZSwKLSAg
ICAgICAgdmFsdWU6IDEyMwotICAgIH19KTsKLSAgICBpID0gaW50ZXJmYWNlRnJvbSgiaW50ZXJm
YWNlIEggeyBbRGVmYXVsdF0gb2JqZWN0IHRvSlNPTigpOyBhdHRyaWJ1dGUgbG9uZyBmb287IH07
Iik7Ci0gICAgaS50ZXN0X3RvX2pzb25fb3BlcmF0aW9uKHdyYXAob2JqKSwgaS5tZW1iZXJzWzBd
KTsKLQotICAgIHZhciBpZGwgPSBuZXcgSWRsQXJyYXkoKTsKLSAgICBpZGwuYWRkX2lkbHMoImlu
dGVyZmFjZSBJIDogSiB7IFtEZWZhdWx0XSBvYmplY3QgdG9KU09OKCk7IGF0dHJpYnV0ZSBsb25n
IGZvbzsgfTsiKTsKLSAgICBpZGwuYWRkX2lkbHMoImludGVyZmFjZSBKIHsgW0RlZmF1bHRdIG9i
amVjdCB0b0pTT04oKTsgYXR0cmlidXRlIERPTVN0cmluZyBmb287fTsiKTsKLSAgICB2YXIgaSA9
IGlkbC5tZW1iZXJzLkk7Ci0gICAgaS50ZXN0X3RvX2pzb25fb3BlcmF0aW9uKHdyYXAoeyBmb286
IDEyMyB9KSwgaS5tZW1iZXJzWzBdKTsKLQotICAgIGkgPSBpbnRlcmZhY2VGcm9tKCJpbnRlcmZh
Y2UgSyB7IFtEZWZhdWx0XSBvYmplY3QgdG9KU09OKCk7IH07Iik7Ci0gICAgaS50ZXN0X3RvX2pz
b25fb3BlcmF0aW9uKHdyYXAoe30pLCBpLm1lbWJlcnNbMF0pOwotCi0gICAgaSA9IGludGVyZmFj
ZUZyb20oImludGVyZmFjZSBMIHsgRE9NU3RyaW5nIHRvSlNPTigpOyB9OyIpOwotICAgIGkudGVz
dF90b19qc29uX29wZXJhdGlvbih3cmFwKCJhIHN0cmluZyIpLCBpLm1lbWJlcnNbMF0pOwotCi0g
ICAgLy8gc2hvdWxkIGZhaWwgKHdyb25nIG91dHB1dCB0eXBlKQotICAgIGkgPSBpbnRlcmZhY2VG
cm9tKCJpbnRlcmZhY2UgTSB7IERPTVN0cmluZyB0b0pTT04oKTsgfTsiKTsKLSAgICBpLnRlc3Rf
dG9fanNvbl9vcGVyYXRpb24od3JhcCh7fSksIGkubWVtYmVyc1swXSk7Ci0KLSAgICAvLyBzaG91
bGQgZmFpbCAobm90IGFuIElETCB0eXBlKQotICAgIGkgPSBpbnRlcmZhY2VGcm9tKCJpbnRlcmZh
Y2UgTiB7IERPTUV4Y2VwdGlvbiB0b0pTT04oKTsgfTsiKTsKLSAgICBpLnRlc3RfdG9fanNvbl9v
cGVyYXRpb24od3JhcCh7fSksIGkubWVtYmVyc1swXSk7Ci08L3NjcmlwdD4KLTxzY3JpcHQgdHlw
ZT0idGV4dC9qc29uIiBpZD0iZXhwZWN0ZWQiPgotICAgIHsKLSAgICAgICAgInN1bW1hcml6ZWRf
c3RhdHVzIjogewotICAgICAgICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgICAgICAgInN0
YWNrIjogbnVsbCwKLSAgICAgICAgICAgICJzdGF0dXNfc3RyaW5nIjogIk9LIgotICAgICAgICB9
LAotICAgICAgICAic3VtbWFyaXplZF90ZXN0cyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAg
ICAgICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiVGVzdCBk
ZWZhdWx0IHRvSlNPTiBvcGVyYXRpb24gb2YgQSIsCi0gICAgICAgICAgICAgICAgInByb3BlcnRp
ZXMiOiB7fSwKLSAgICAgICAgICAgICAgICAic3RhY2siOiBudWxsLAotICAgICAgICAgICAgICAg
ICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewot
ICAgICAgICAgICAgICAgICJtZXNzYWdlIjogImFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIFwibnVt
YmVyXCIgYnV0IGdvdCBcInN0cmluZ1wiIiwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJUZXN0
IGRlZmF1bHQgdG9KU09OIG9wZXJhdGlvbiBvZiBCIiwKLSAgICAgICAgICAgICAgICAicHJvcGVy
dGllcyI6IHt9LAotICAgICAgICAgICAgICAgICJzdGFjayI6ICIoaW1wbGVtZW50YXRpb24tZGVm
aW5lZCkiLAotICAgICAgICAgICAgICAgICJzdGF0dXNfc3RyaW5nIjogIkZBSUwiCi0gICAgICAg
ICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJtZXNzYWdlIjogbnVsbCwK
LSAgICAgICAgICAgICAgICAibmFtZSI6ICJUZXN0IGRlZmF1bHQgdG9KU09OIG9wZXJhdGlvbiBv
ZiBDIiwKLSAgICAgICAgICAgICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgICAgICAgICAg
ICJzdGFjayI6IG51bGwsCi0gICAgICAgICAgICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIK
LSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgIm1lc3NhZ2Ui
OiAiYXNzZXJ0X3RydWU6IHByb3BlcnR5IFwiZm9vXCIgc2hvdWxkIGJlIHByZXNlbnQgaW4gdGhl
IG91dHB1dCBvZiBELnByb3RvdHlwZS50b0pTT04oKSBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZSIs
Ci0gICAgICAgICAgICAgICAgIm5hbWUiOiAiVGVzdCBkZWZhdWx0IHRvSlNPTiBvcGVyYXRpb24g
b2YgRCIsCi0gICAgICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICAgICAgICAg
ICAic3RhY2siOiAiKGltcGxlbWVudGF0aW9uLWRlZmluZWQpIiwKLSAgICAgICAgICAgICAgICAi
c3RhdHVzX3N0cmluZyI6ICJGQUlMIgotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAg
ICAgICAgICAgICAgICAibWVzc2FnZSI6ICJhc3NlcnRfdHJ1ZTogcHJvcGVydHkgZm9vIHNob3Vs
ZCBiZSB3cml0YWJsZSBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZSIsCi0gICAgICAgICAgICAgICAg
Im5hbWUiOiAiVGVzdCBkZWZhdWx0IHRvSlNPTiBvcGVyYXRpb24gb2YgRiIsCi0gICAgICAgICAg
ICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICAgICAgICAgICAic3RhY2siOiAiKGltcGxl
bWVudGF0aW9uLWRlZmluZWQpIiwKLSAgICAgICAgICAgICAgICAic3RhdHVzX3N0cmluZyI6ICJG
QUlMIgotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAibWVz
c2FnZSI6ICJhc3NlcnRfdHJ1ZTogcHJvcGVydHkgZm9vIHNob3VsZCBiZSBlbnVtZXJhYmxlIGV4
cGVjdGVkIHRydWUgZ290IGZhbHNlIiwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJUZXN0IGRl
ZmF1bHQgdG9KU09OIG9wZXJhdGlvbiBvZiBHIiwKLSAgICAgICAgICAgICAgICAicHJvcGVydGll
cyI6IHt9LAotICAgICAgICAgICAgICAgICJzdGFjayI6ICIoaW1wbGVtZW50YXRpb24tZGVmaW5l
ZCkiLAotICAgICAgICAgICAgICAgICJzdGF0dXNfc3RyaW5nIjogIkZBSUwiCi0gICAgICAgICAg
ICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJtZXNzYWdlIjogImFzc2VydF90
cnVlOiBwcm9wZXJ0eSBmb28gc2hvdWxkIGJlIGNvbmZpZ3VyYWJsZSBleHBlY3RlZCB0cnVlIGdv
dCBmYWxzZSIsCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiVGVzdCBkZWZhdWx0IHRvSlNPTiBv
cGVyYXRpb24gb2YgSCIsCi0gICAgICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAg
ICAgICAgICAgICAic3RhY2siOiAiKGltcGxlbWVudGF0aW9uLWRlZmluZWQpIiwKLSAgICAgICAg
ICAgICAgICAic3RhdHVzX3N0cmluZyI6ICJGQUlMIgotICAgICAgICAgICAgfSwKLSAgICAgICAg
ICAgIHsKLSAgICAgICAgICAgICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAgICAgICAgICAg
Im5hbWUiOiAiVGVzdCBkZWZhdWx0IHRvSlNPTiBvcGVyYXRpb24gb2YgSSIsCi0gICAgICAgICAg
ICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICAgICAgICAgICAic3RhY2siOiBudWxsLAot
ICAgICAgICAgICAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiCi0gICAgICAgICAgICB9LAot
ICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICAg
ICAgICAgICAibmFtZSI6ICJUZXN0IGRlZmF1bHQgdG9KU09OIG9wZXJhdGlvbiBvZiBLIiwKLSAg
ICAgICAgICAgICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgICAgICAgICAgICJzdGFjayI6
IG51bGwsCi0gICAgICAgICAgICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIKLSAgICAgICAg
ICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgIm1lc3NhZ2UiOiBudWxsLAot
ICAgICAgICAgICAgICAgICJuYW1lIjogIlRlc3QgdG9KU09OIG9wZXJhdGlvbiBvZiBMIiwKLSAg
ICAgICAgICAgICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgICAgICAgICAgICJzdGFjayI6
IG51bGwsCi0gICAgICAgICAgICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIKLSAgICAgICAg
ICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgIm1lc3NhZ2UiOiAiYXNzZXJ0
X2VxdWFsczogZXhwZWN0ZWQgXCJzdHJpbmdcIiBidXQgZ290IFwib2JqZWN0XCIiLAotICAgICAg
ICAgICAgICAgICJuYW1lIjogIlRlc3QgdG9KU09OIG9wZXJhdGlvbiBvZiBNIiwKLSAgICAgICAg
ICAgICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgICAgICAgICAgICJzdGFjayI6ICIoaW1w
bGVtZW50YXRpb24tZGVmaW5lZCkiLAotICAgICAgICAgICAgICAgICJzdGF0dXNfc3RyaW5nIjog
IkZBSUwiCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJt
ZXNzYWdlIjogImFzc2VydF90cnVlOiB7XCJzZXF1ZW5jZVwiOmZhbHNlLFwiZ2VuZXJpY1wiOm51
bGwsXCJudWxsYWJsZVwiOmZhbHNlLFwiYXJyYXlcIjpmYWxzZSxcInVuaW9uXCI6ZmFsc2UsXCJp
ZGxUeXBlXCI6XCJET01FeGNlcHRpb25cIn0gaXMgbm90IGFuIGFwcHJvcHJpYXRlIHJldHVybiB2
YWx1ZSBmb3IgdGhlIHRvSlNPTiBvcGVyYXRpb24gb2YgTiBleHBlY3RlZCB0cnVlIGdvdCBmYWxz
ZSIsCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiVGVzdCB0b0pTT04gb3BlcmF0aW9uIG9mIE4i
LAotICAgICAgICAgICAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAgICAgICAgICAgInN0
YWNrIjogIihpbXBsZW1lbnRhdGlvbi1kZWZpbmVkKSIsCi0gICAgICAgICAgICAgICAgInN0YXR1
c19zdHJpbmciOiAiRkFJTCIKLSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgInR5
cGUiOiAiY29tcGxldGUiCi0gICAgfQotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9pZGxoYXJuZXNzL0lk
bEludGVyZmFjZS90cmF2ZXJzZV9pbmhlcml0ZWRfYW5kX2NvbnNlcXVlbnRpYWxfaW50ZXJmYWNl
cy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvdGVzdC90ZXN0cy9pZGxoYXJuZXNzL0lkbEludGVyZmFjZS90cmF2ZXJzZV9pbmhlcml0
ZWRfYW5kX2NvbnNlcXVlbnRpYWxfaW50ZXJmYWNlcy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAxYTE5MjkxOWFmOC4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9pZGxoYXJu
ZXNzL0lkbEludGVyZmFjZS90cmF2ZXJzZV9pbmhlcml0ZWRfYW5kX2NvbnNlcXVlbnRpYWxfaW50
ZXJmYWNlcy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNjUgKzAsMCBAQAotPCFET0NUWVBFIEhU
TUw+Ci08aHRtbD4KLTxoZWFkPgotPHRpdGxlPklkbERpY3Rpb25hcnkucHJvdG90eXBlLnRyYXZl
cnNlX2luaGVyaXRlZF9hbmRfY29uc2VxdWVudGlhbF9pbnRlcmZhY2VzKCk8L3RpdGxlPgotPC9o
ZWFkPgotPGJvZHk+Ci08ZGl2IGlkPSJsb2ciPjwvZGl2PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvV2Vi
SURMUGFyc2VyLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL2lkbGhhcm5l
c3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uL2hlbHBlci5qcyI+PC9zY3JpcHQ+Ci08
cHJlIGlkPWZyYWdtZW50cz4KLSAgICBpbnRlcmZhY2UgQSA6IEIgeyB9OwotICAgIGludGVyZmFj
ZSBCIDogQyB7IH07Ci0gICAgaW50ZXJmYWNlIEMgeyB9OwotICAgIGludGVyZmFjZSBEIDogRSB7
IH07Ci0gICAgaW50ZXJmYWNlIEUgOiBGIHsgfTsKLSAgICBpbnRlcmZhY2UgRiB7IH07Ci0gICAg
aW50ZXJmYWNlIEcgeyB9OwotICAgIGludGVyZmFjZSBIIHsgfTsKLSAgICBpbnRlcmZhY2UgSSB7
IH07Ci0gICAgaW50ZXJmYWNlIEogeyB9OwotCi0gICAgQSBpbXBsZW1lbnRzIEc7Ci0gICAgQSBp
bXBsZW1lbnRzIEg7Ci0gICAgQiBpbXBsZW1lbnRzIEQ7Ci0gICAgRSBpbXBsZW1lbnRzIEk7Ci0g
ICAgSCBpbXBsZW1lbnRzIEo7Ci08L3ByZT4KLTxzY3JpcHQ+Ci0gICAgInVzZSBzdHJpY3QiOwot
ICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBpbnRlcmZhY2VzID0gW107Ci0gICAg
ICAgIGludGVyZmFjZUZyb20oJ2ludGVyZmFjZSBBIHsgfTsnKS50cmF2ZXJzZV9pbmhlcml0ZWRf
YW5kX2NvbnNlcXVlbnRpYWxfaW50ZXJmYWNlcyhmdW5jdGlvbihpKSB7Ci0gICAgICAgICAgICBp
bnRlcmZhY2VzLnB1c2goaS5uYW1lKTsKLSAgICAgICAgfSk7Ci0gICAgICAgIGFzc2VydF9hcnJh
eV9lcXVhbHMoaW50ZXJmYWNlcywgWyJBIl0pOwotICAgIH0sICdzaG91bGQgcmV0dXJuIGFuIGFy
cmF5IHRoYXQgaW5jbHVkZXMgaXRzZWxmLicpOwotICAgIAotICAgIHRlc3QoZnVuY3Rpb24oKSB7
Ci0gICAgICAgIHZhciBjb250ZXh0ID0gbmV3IElkbEFycmF5KCk7Ci0gICAgICAgIGNvbnRleHQu
YWRkX2lkbHMoImludGVyZmFjZSBBIHsgfTsgQSBpbXBsZW1lbnRzIEI7Iik7Ci0gICAgICAgIGFz
c2VydF90aHJvd3MobmV3IEVycm9yKCksIF8gPT4gY29udGV4dC5tZW1iZXJzWyJBIl0udHJhdmVy
c2VfaW5oZXJpdGVkX2FuZF9jb25zZXF1ZW50aWFsX2ludGVyZmFjZXMoZnVuY3Rpb24oKSB7fSkp
OwotICAgIH0sICJzaG91bGQgdGhyb3cgZm9yIGludGVyZmFjZXMgd2hpY2ggYXJlIGV4dGVuZGVk
IGJ5IGFub3RoZXIgaW50ZXJmYWNlIHdoaWNoIHdhc24ndCBhZGRlZCB0byB0aGUgSWRsQXJyYXku
Iik7Ci0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgY29udGV4dCA9IG5ldyBJ
ZGxBcnJheSgpOwotICAgICAgICBjb250ZXh0LmFkZF9pZGxzKCJpbnRlcmZhY2UgQSB7IH07Iik7
Ci0gICAgICAgIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCBfID0+IGNvbnRleHQubWVt
YmVyc1siQSJdLnRyYXZlcnNlX2luaGVyaXRlZF9hbmRfY29uc2VxdWVudGlhbF9pbnRlcmZhY2Vz
KCkpOwotICAgIH0sICJzaG91bGQgdGhyb3cgaWYgbm90IHBhc3NlZCBhIGNhbGxiYWNrIik7Ci0g
ICAgCi0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIGNvbnRleHQgPSBuZXcgSWRs
QXJyYXkoKTsKLSAgICAgICAgY29udGV4dC5hZGRfaWRscyhkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgnZnJhZ21lbnRzJykudGV4dENvbnRlbnQpOwotICAgICAgICB2YXIgaW50ZXJmYWNlcyA9IFtd
OwotICAgICAgICBjb250ZXh0Lm1lbWJlcnNbIkEiXS50cmF2ZXJzZV9pbmhlcml0ZWRfYW5kX2Nv
bnNlcXVlbnRpYWxfaW50ZXJmYWNlcyhmdW5jdGlvbihpKSB7Ci0gICAgICAgICAgICBpbnRlcmZh
Y2VzLnB1c2goaS5uYW1lKTsKLSAgICAgICAgfSk7Ci0gICAgICAgIGFzc2VydF9hcnJheV9lcXVh
bHMoaW50ZXJmYWNlcywgWyJDIiwgIkIiLCAiRiIsICJFIiwgIkkiLCAiRCIsICJBIiwgIkciLCAi
SCIsICJKIl0pOwotICAgIH0sICdzaG91bGQgcmV0dXJuIGFuIGFycmF5IHRoYXQgaW5jbHVkZXMg
dGhlIGlkZW50aWZpZXIgb2YgdGhlIGludGVyZmFjZXMgaW4gdGhlIGNvcnJlY3Qgb3JkZXIuJyk7
Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9pZGxo
YXJuZXNzL0lkbEludGVyZmFjZS93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRsaGFybmVzcy9J
ZGxJbnRlcmZhY2UvdzNjLWltcG9ydC5sb2cKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDc1YWUzMjE2N2QxLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2lkbGhhcm5lc3MvSWRsSW50
ZXJmYWNlL3czYy1pbXBvcnQubG9nCisrKyAvZGV2L251bGwKQEAgLTEsMjQgKzAsMCBAQAotVGhl
IHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9z
aXRvcnkuCi1EbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUlu
c3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKLQlodHRwczov
L2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cwotCi1UaGVuIHJ1biB0aGUgVG9vbHMv
U2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydAotCi1EbyBOT1Qg
bW9kaWZ5IG9yIHJlbW92ZSB0aGlzIGZpbGUuCi0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotUHJvcGVydGll
cyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgotTm9uZQotUHJvcGVydHkgdmFsdWVzIHJlcXVp
cmluZyB2ZW5kb3IgcHJlZml4ZXM6Ci1Ob25lCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLUxpc3Qgb2YgZmls
ZXM6Ci0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvdGVzdC90ZXN0cy9pZGxoYXJuZXNzL0lkbEludGVyZmFjZS9kZWZhdWx0X3RvX2pzb25fb3Bl
cmF0aW9uLmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy90ZXN0L3Rlc3RzL2lkbGhhcm5lc3MvSWRsSW50ZXJmYWNlL2dldF9pbmhlcml0
YW5jZV9zdGFjay5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9pZGxoYXJuZXNzL0lkbEludGVyZmFjZS9oYXNfZGVm
YXVsdF90b19qc29uX3JlZ3VsYXJfb3BlcmF0aW9uLmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2lkbGhhcm5lc3Mv
SWRsSW50ZXJmYWNlL2hhc190b19qc29uX3JlZ3VsYXJfb3BlcmF0aW9uLmh0bWwKLS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3Rz
L2lkbGhhcm5lc3MvSWRsSW50ZXJmYWNlL3Rlc3RfaW1tdXRhYmxlX3Byb3RvdHlwZS5odG1sCi0v
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVz
dC90ZXN0cy9pZGxoYXJuZXNzL0lkbEludGVyZmFjZS90ZXN0X3ByaW1hcnlfaW50ZXJmYWNlX29m
Lmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy90ZXN0L3Rlc3RzL2lkbGhhcm5lc3MvSWRsSW50ZXJmYWNlL3Rlc3RfdG9fanNvbl9vcGVy
YXRpb24uaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRsaGFybmVzcy9JZGxJbnRlcmZhY2UvdHJhdmVyc2VfaW5o
ZXJpdGVkX2FuZF9jb25zZXF1ZW50aWFsX2ludGVyZmFjZXMuaHRtbApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90
ZXN0cy9pZGxoYXJuZXNzL0lkbEludGVyZmFjZU1lbWJlci9pc190b19qc29uX3JlZ3VsYXJfb3Bl
cmF0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy90ZXN0L3Rlc3RzL2lkbGhhcm5lc3MvSWRsSW50ZXJmYWNlTWVtYmVyL2lzX3Rv
X2pzb25fcmVndWxhcl9vcGVyYXRpb24uaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggYWM5MjNkZDVhOGYuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRsaGFybmVzcy9JZGxJ
bnRlcmZhY2VNZW1iZXIvaXNfdG9fanNvbl9yZWd1bGFyX29wZXJhdGlvbi5odG1sCisrKyAvZGV2
L251bGwKQEAgLTEsNDIgKzAsMCBAQAotPCFET0NUWVBFIEhUTUw+Ci08aHRtbD4KLTxoZWFkPgot
PHRpdGxlPklkbEludGVyZmFjZU1lbWJlci5wcm90b3R5cGUuaXNfdG9fanNvbl9yZWd1bGFyX29w
ZXJhdGlvbigpPC90aXRsZT4KLTwvaGVhZD4KLTxib2R5PgotPGRpdiBpZD0ibG9nIj48L2Rpdj4K
LTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL1dlYklETFBhcnNlci5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy9pZGxoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi9o
ZWxwZXIuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLSAgICAidXNlIHN0cmljdCI7Ci0gICAgdGVz
dChmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIG0gPSBtZW1iZXJGcm9tKCJyZWFkb25seSBhdHRy
aWJ1dGUgRE9NU3RyaW5nIGZvbyIpOwotICAgICAgICBhc3NlcnRfZmFsc2UobS5pc190b19qc29u
X3JlZ3VsYXJfb3BlcmF0aW9uKCkpOwotICAgIH0sICdzaG91bGQgcmV0dXJuIGZhbHNlIHdoZW4g
bWVtYmVyIGlzIGFuIGF0dHJpYnV0ZS4nKTsKLQotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAg
ICAgIHZhciBtID0gbWVtYmVyRnJvbSgic3RhdGljIHZvaWQgZm9vKCkiKTsKLSAgICAgICAgYXNz
ZXJ0X2ZhbHNlKG0uaXNfdG9fanNvbl9yZWd1bGFyX29wZXJhdGlvbigpKTsKLSAgICB9LCAnc2hv
dWxkIHJldHVybiBmYWxzZSB3aGVuIG1lbWJlciBpcyBhIHN0YXRpYyBvcGVyYXRpb24uJyk7Ci0K
LSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgbSA9IG1lbWJlckZyb20oInN0YXRp
YyBvYmplY3QgdG9KU09OKCkiKTsKLSAgICAgICAgYXNzZXJ0X2ZhbHNlKG0uaXNfdG9fanNvbl9y
ZWd1bGFyX29wZXJhdGlvbigpKTsKLSAgICB9LCAnc2hvdWxkIHJldHVybiBmYWxzZSB3aGVuIG1l
bWJlciBpcyBhIHN0YXRpYyB0b0pTT04gb3BlcmF0aW9uLicpOwotCi0gICAgdGVzdChmdW5jdGlv
bigpIHsKLSAgICAgICAgdmFyIG0gPSBtZW1iZXJGcm9tKCJvYmplY3QgdG9KU09OKCkiKTsKLSAg
ICAgICAgYXNzZXJ0X3RydWUobS5pc190b19qc29uX3JlZ3VsYXJfb3BlcmF0aW9uKCkpOwotICAg
IH0sICdzaG91bGQgcmV0dXJuIHRydWUgd2hlbiBtZW1iZXIgaXMgYSByZWd1bGFyIHRvSlNPTiBv
cGVyYXRpb24uJyk7Ci0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgbSA9IG1l
bWJlckZyb20oIltGb29dIG9iamVjdCB0b0pTT04oKSIpOwotICAgICAgICBhc3NlcnRfdHJ1ZSht
LmlzX3RvX2pzb25fcmVndWxhcl9vcGVyYXRpb24oKSk7Ci0gICAgfSwgJ3Nob3VsZCByZXR1cm4g
dHJ1ZSB3aGVuIG1lbWJlciBpcyBhIHJlZ3VsYXIgdG9KU09OIG9wZXJhdGlvbiB3aXRoIGV4dGVu
c2libGUgYXR0cmlidXRlcy4nKTsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgotCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy90ZXN0L3Rlc3RzL2lkbGhhcm5lc3MvSWRsSW50ZXJmYWNlTWVtYmVyL3czYy1pbXBvcnQu
bG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvdGVzdC90ZXN0cy9pZGxoYXJuZXNzL0lkbEludGVyZmFjZU1lbWJlci93M2MtaW1wb3J0Lmxv
ZwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDQ3M2RjZTc1MDcuLjAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3Rlc3QvdGVzdHMvaWRsaGFybmVzcy9JZGxJbnRlcmZhY2VNZW1iZXIvdzNjLWltcG9ydC5s
b2cKKysrIC9kZXYvbnVsbApAQCAtMSwxNyArMCwwIEBACi1UaGUgdGVzdHMgaW4gdGhpcyBkaXJl
Y3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KLURvIE5PVCBtb2Rp
ZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVhZCwgY3JlYXRlIGEgcHVs
bCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzCi0KLVRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2Mt
dGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0Ci0KLURvIE5PVCBtb2RpZnkgb3IgcmVtb3ZlIHRo
aXMgZmlsZS4KLQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1Qcm9wZXJ0aWVzIHJlcXVpcmluZyB2ZW5kb3Ig
cHJlZml4ZXM6Ci1Ob25lCi1Qcm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhl
czoKLU5vbmUKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotTGlzdCBvZiBmaWxlczoKLS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2lkbGhh
cm5lc3MvSWRsSW50ZXJmYWNlTWVtYmVyL2lzX3RvX2pzb25fcmVndWxhcl9vcGVyYXRpb24uaHRt
bApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9pZGxoYXJuZXNzL09XTkVSUyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRsaGFy
bmVzcy9PV05FUlMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDM3ZTgwOTUwMTdjLi4w
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2lkbGhhcm5lc3MvT1dORVJTCisrKyAvZGV2L251bGwK
QEAgLTEgKzAsMCBAQAotQHRvYmllCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2lkbGhhcm5lc3MvYmFz
aWMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3Rlc3QvdGVzdHMvaWRsaGFybmVzcy9iYXNpYy5odG1sCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCBkYTNjM2ZhYWExYy4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9pZGxo
YXJuZXNzL2Jhc2ljLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwzNSArMCwwIEBACi08IURPQ1RZ
UEUgSFRNTD4KLTxodG1sPgotPGhlYWQ+Ci08dGl0bGU+aWRsaGFybmVzcyBiYXNpYzwvdGl0bGU+
Ci08L2hlYWQ+Ci08Ym9keT4KLTxkaXYgaWQ9ImxvZyI+PC9kaXY+Ci08c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy9XZWJJRExQYXJzZXIuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvaWRs
aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotICAgICJ1c2Ugc3RyaWN0IjsKLSAgICB0
ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICBhc3NlcnRfdHJ1ZSgiSWRsQXJyYXkiIGluIHdpbmRv
dyk7Ci0gICAgfSwgJ0lkbEFycmF5IGNvbnN0cnVjdG9yIHNob3VsZCBiZSBhIGdsb2JhbCBvYmpl
Y3QnKTsKLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICBhc3NlcnRfdHJ1ZShuZXcgSWRs
QXJyYXkoKSBpbnN0YW5jZW9mIElkbEFycmF5KTsKLSAgICB9LCAnSWRsQXJyYXkgY29uc3RydWN0
b3Igc2hvdWxkIGJlIGNvbnN0cnVjdGlibGUnKTsKLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAg
ICAgICBhc3NlcnRfdHJ1ZSgiV2ViSURMMiIgaW4gd2luZG93KTsKLSAgICB9LCAnV2ViSURMMiBu
YW1lc3BhY2Ugc2hvdWxkIGJlIGEgZ2xvYmFsIG9iamVjdCcpOwotICAgIHRlc3QoZnVuY3Rpb24o
KSB7Ci0gICAgICAgIGFzc2VydF9lcXVhbHModHlwZW9mIFdlYklETDIucGFyc2UsICJmdW5jdGlv
biIpOwotICAgIH0sICdXZWJJREwyIG5hbWVzcGFjZSBzaG91bGQgaGF2ZSBhIHBhcnNlIG1ldGhv
ZCcpOwotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIGFzc2VydF90aHJvd3MobmV3IFR5
cGVFcnJvcigpLCBmdW5jdGlvbigpIHsgIFdlYklETDIucGFyc2UoIkknbSBhIHN5bnRheCBlcnJv
ciIpOyB9KTsKLSAgICB9LCAnV2ViSURMMiBwYXJzZSBtZXRob2Qgc2hvdWxkIGJhaWwgb24gaW5j
b3JyZWN0IFdlYklETCcpOwotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIGFzc2VydF9l
cXVhbHModHlwZW9mIFdlYklETDIucGFyc2UoImludGVyZmFjZSBGb28ge307IiksICJvYmplY3Qi
KTsKLSAgICB9LCAnV2ViSURMMiBwYXJzZSBtZXRob2Qgc2hvdWxkIHByb2R1Y2UgYW4gQVNUIGZv
ciBjb3JyZWN0IFdlYklETCcpOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+Ci0KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3Rlc3QvdGVzdHMvaWRsaGFybmVzcy9oZWxwZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2lkbGhhcm5lc3Mv
aGVscGVyLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyYjczNTI3ZmYyYi4uMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9pZGxoYXJuZXNzL2hlbHBlci5qcworKysgL2Rldi9udWxs
CkBAIC0xLDI0ICswLDAgQEAKLSJ1c2Ugc3RyaWN0IjsKLQotdmFyIHR5cGVkZWZGcm9tID0gaW50
ZXJmYWNlRnJvbTsKLXZhciBkaWN0aW9uYXJ5RnJvbSA9IGludGVyZmFjZUZyb207Ci1mdW5jdGlv
biBpbnRlcmZhY2VGcm9tKGkpIHsKLSAgICB2YXIgaWRsID0gbmV3IElkbEFycmF5KCk7Ci0gICAg
aWRsLmFkZF9pZGxzKGkpOwotICAgIGZvciAodmFyIHByb3AgaW4gaWRsLm1lbWJlcnMpIHsKLSAg
ICAgICAgcmV0dXJuIGlkbC5tZW1iZXJzW3Byb3BdOwotICAgIH0KLX0KLQotZnVuY3Rpb24gbWVt
YmVyRnJvbShtKSB7Ci0gICAgdmFyIGlkbCA9IG5ldyBJZGxBcnJheSgpOwotICAgIGlkbC5hZGRf
aWRscygnaW50ZXJmYWNlIEEgeyAnICsgbSArICc7IH07Jyk7Ci0gICAgcmV0dXJuIGlkbC5tZW1i
ZXJzWyJBIl0ubWVtYmVyc1swXTsKLX0KLQotZnVuY3Rpb24gdHlwZUZyb20odHlwZSkgewotICAg
IHZhciBhc3QgPSBXZWJJREwyLnBhcnNlKCdpbnRlcmZhY2UgRm9vIHsgJyArIHR5cGUgKyAnIGEo
KTsgfTsnKTsKLSAgICBhc3QgPSBhc3RbMF07IC8vIGdldCB0aGUgZmlyc3QgZnJhZ21lbnQKLSAg
ICBhc3QgPSBhc3QubWVtYmVyc1swXTsgLy8gZ2V0IHRoZSBmaXJzdCBtZW1iZXIKLSAgICByZXR1
cm4gYXN0LmlkbFR5cGU7IC8vIGdldCB0aGUgdHlwZSBvZiB0aGUgZmlyc3QgZmllbGQKLX0KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3Rlc3QvdGVzdHMvaWRsaGFybmVzcy93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRs
aGFybmVzcy93M2MtaW1wb3J0LmxvZwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzdm
NzMwNWViZWYuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRsaGFybmVzcy93M2MtaW1wb3J0
LmxvZworKysgL2Rldi9udWxsCkBAIC0xLDE5ICswLDAgQEAKLVRoZSB0ZXN0cyBpbiB0aGlzIGRp
cmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgotRG8gTk9UIG1v
ZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBw
dWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMKLQotVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXcz
Yy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKLQotRG8gTk9UIG1vZGlmeSBvciByZW1vdmUg
dGhpcyBmaWxlLgotCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLVByb3BlcnRpZXMgcmVxdWlyaW5nIHZlbmRv
ciBwcmVmaXhlczoKLU5vbmUKLVByb3BlcnR5IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9yIHByZWZp
eGVzOgotTm9uZQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1MaXN0IG9mIGZpbGVzOgotL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWRs
aGFybmVzcy9PV05FUlMKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2lkbGhhcm5lc3MvYmFzaWMuaHRtbAotL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMv
aWRsaGFybmVzcy9oZWxwZXIuanMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWZyYW1lLWNhbGxiYWNr
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy90ZXN0L3Rlc3RzL2lmcmFtZS1jYWxsYmFjay5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAxYThiMmNiYzAwZi4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9pZnJhbWUt
Y2FsbGJhY2suaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDExOCArMCwwIEBACi08IURPQ1RZUEUg
SFRNTD4KLTxodG1sPgotPGhlYWQ+Ci08dGl0bGU+RXhhbXBsZSB3aXRoIGlmcmFtZSB0aGF0IG5v
dGlmaWVzIGNvbnRhaW5pbmcgZG9jdW1lbnQgdmlhIGNhbGxiYWNrczwvdGl0bGU+Ci08c2NyaXB0
IHNyYz0iLi4vLi4vdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4u
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0i
c3RhcnRfdGVzdF9pbl9pZnJhbWUoKSI+Ci08aDE+Q2FsbGJhY2tzIEZyb20gVGVzdHMgUnVubmlu
ZyBJbiBBbiBJRlJBTUU8L2gxPgotPHA+QSB0ZXN0IGlzIHJ1biBpbnNpZGUgYW4gPHR0PmlmcmFt
ZTwvdHQ+IHdpdGggYSBzYW1lIG9yaWdpbiBkb2N1bWVudC4gVGhlCi1jb250YWluaW5nIGRvY3Vt
ZW50IHNob3VsZCByZWNlaXZlIGNhbGxiYWNrcyBhcyB0aGUgdGVzdHMgcHJvZ3Jlc3MgaW5zaWRl
IHRoZQotPHR0PmlmcmFtZTwvdHQ+LiBBIHNpbmdsZSBwYXNzaW5nIHRlc3QgaXMgZXhwZWN0ZWQg
aW4gdGhlIHN1bW1hcnkgYmVsb3cuCi08ZGl2IGlkPSJsb2ciPjwvZGl2PgotCi08c2NyaXB0Pgot
dmFyIGNhbGxiYWNrcyA9IFtdOwotdmFyIFNUQVJUID0gMQotdmFyIFRFU1RfU1RBVEUgPSAyCi12
YXIgUkVTVUxUID0gMwotdmFyIENPTVBMRVRJT04gPSA0Ci12YXIgdGVzdF9jb21wbGV0ZSA9IGZh
bHNlOwotCi1zZXR1cCh7ZXhwbGljaXRfZG9uZTogdHJ1ZX0pOwotCi0vLyBUaGUgZm9sbG93aW5n
IGNhbGxiYWNrcyBhcmUgY2FsbGVkIGZvciB0ZXN0cyBpbiB0aGlzIGRvY3VtZW50IGFzIHdlbGwg
YXMgdGhlCi0vLyB0ZXN0cyBpbiB0aGUgSUZSQU1FLiBDdXJyZW50bHksIGNhbGxiYWNrcyBpbnZv
a2VkIGZyb20gdGhpcyBkb2N1bWVudCBhbmQgYW55Ci0vLyBjaGlsZCBkb2N1bWVudCBhcmUgaW5k
aXN0aW5ndWlzaGFibGUgZnJvbSBlYWNoIG90aGVyLgotCi1mdW5jdGlvbiBzdGFydF9jYWxsYmFj
ayhwcm9wZXJ0aWVzKSB7Ci0gICAgY2FsbGJhY2tzLnB1c2goU1RBUlQpOwotfQotCi1mdW5jdGlv
biB0ZXN0X3N0YXRlX2NhbGxiYWNrKHRlc3QpIHsKLSAgICBjYWxsYmFja3MucHVzaChURVNUX1NU
QVRFKTsKLX0KLQotZnVuY3Rpb24gcmVzdWx0X2NhbGxiYWNrKHRlc3QpIHsKLSAgICBjYWxsYmFj
a3MucHVzaChSRVNVTFQpOwotfQotCi1mdW5jdGlvbiBjb21wbGV0aW9uX2NhbGxiYWNrKHRlc3Rz
LCBzdGF0dXMpIHsKLSAgICBpZiAodGVzdF9jb21wbGV0ZSkgewotICAgICAgICByZXR1cm47Ci0g
ICAgfQotICAgIHRlc3RfY29tcGxldGUgPSB0cnVlOwotICAgIGNhbGxiYWNrcy5wdXNoKENPTVBM
RVRJT04pOwotICAgIHZlcmlmeV9yZWNlaXZlZF9jYWxsYmFja3MoKTsKLSAgICBkb25lKCk7Ci19
Ci0KLWZ1bmN0aW9uIHZlcmlmeV9yZWNlaXZlZF9jYWxsYmFja3MoKSB7Ci0gICAgdmFyIGNvcHlf
b2ZfY2FsbGJhY2tzID0gY2FsbGJhY2tzLnNsaWNlKDApOwotCi0gICAgLy8gTm90ZSB0aGF0IHlv
dSBjYW4ndCBydW4gdGVzdCBhc3NlcnRpb25zIGRpcmVjdGx5IGluIGEgY2FsbGJhY2sgZXZlbiBp
ZgotICAgIC8vIHRoaXMgaXMgYSBmaWxlIHRlc3QuIFdoZW4gdGhlIGNhbGxiYWNrIGlzIGludm9r
ZWQgZnJvbSBhIHNhbWUtb3JpZ2luIGNoaWxkCi0gICAgLy8gcGFnZSwgdGhlIGNhbGxzdGFjayBy
ZWFjaGVzIGludG8gdGhlIGNhbGxpbmcgY2hpbGQgZG9jdW1lbnQuIEFueQotICAgIC8vIGV4Y2Vw
dGlvbiB0aHJvd24gaW4gYSBjYWxsYmFjayB3aWxsIGJlIGhhbmRsZWQgYnkgdGhlIGNoaWxkIHJh
dGhlciB0aGFuCi0gICAgLy8gdGhpcyBkb2N1bWVudC4KLSAgICB0ZXN0KAotICAgICAgICBmdW5j
dGlvbigpIHsKLSAgICAgICAgICAgIC8vIGNhbGxiYWNrcyBsaXN0IHNob3VsZCBsb29rIGxpa2U6
Ci0gICAgICAgICAgICAvLyAgICAgU1RBUlQgMSooVEVTVF9TVEFURSkgUkVTVUxUIENPTVBMRVRJ
T04KLSAgICAgICAgICAgIGFzc2VydF9lcXVhbHMoY29weV9vZl9jYWxsYmFja3Muc2hpZnQoKSwg
U1RBUlQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICJUaGUgZmlyc3QgcmVjZWl2ZWQgY2Fs
bGJhY2sgc2hvdWxkIGJlICdzdGFydF9jYWxsYmFjaycuIik7Ci0gICAgICAgICAgICBhc3NlcnRf
ZXF1YWxzKGNvcHlfb2ZfY2FsbGJhY2tzLnNoaWZ0KCksIFRFU1RfU1RBVEUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICIndGVzdF9zdGF0ZV9jYWxsYmFjaycgc2hvdWxkIGJlIHJlY2VpdmVk
IGJlZm9yZSBhbnkgIiArCi0gICAgICAgICAgICAgICAgICAgICAgICAgICJyZXN1bHQgb3IgY29t
cGxldGlvbiBjYWxsYmFja3MuIik7Ci0gICAgICAgICAgICB3aGlsZShjb3B5X29mX2NhbGxiYWNr
cy5sZW5ndGggPiAwKSB7Ci0gICAgICAgICAgICAgICAgdmFyIGNhbGxiYWNrID0gY29weV9vZl9j
YWxsYmFja3Muc2hpZnQoKTsKLSAgICAgICAgICAgICAgICBpZiAoY2FsbGJhY2sgIT0gVEVTVF9T
VEFURSkgewotICAgICAgICAgICAgICAgICAgICBjb3B5X29mX2NhbGxiYWNrcy51bnNoaWZ0KGNh
bGxiYWNrKTsKLSAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgfQot
ICAgICAgICAgICAgfQotICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhjb3B5X29mX2NhbGxiYWNr
cy5zaGlmdCgpLCBSRVNVTFQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICIndGVzdF9zdGF0
ZV9jYWxsYmFjaycgc2hvdWxkIGJlIGZvbGxvd2VkIGJ5ICdyZXN1bHRfY2FsbGJhY2snLiIpOwot
ICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhjb3B5X29mX2NhbGxiYWNrcy5zaGlmdCgpLCBDT01Q
TEVUSU9OLAotICAgICAgICAgICAgICAgICAgICAgICAgICAiRmluYWwgJ3Jlc3VsdF9jYWxsYmFj
aycgc2hvdWxkIGJlIGZvbGxvd2VkIGJ5ICdjb21wbGV0aW9uX2NhbGxiYWNrJy4iKTsKLSAgICAg
ICAgICAgIGFzc2VydF9lcXVhbHMoY29weV9vZl9jYWxsYmFja3MubGVuZ3RoLCAwLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAiJ2NvbXBsZXRpb25fY2FsbGJhY2snIHNob3VsZCBiZSB0aGUg
bGFzdCBjYWxsYmFjay4iKTsKLSAgICAgICAgfSk7Ci19Ci0KLWZ1bmN0aW9uIHN0YXJ0X3Rlc3Rf
aW5faWZyYW1lKCkgewotICAgIC8vIFRoaXMgZG9jdW1lbnQgaXMgZ29pbmcgdG8gY2xlYXIgYW55
IHJlY2VpdmVkIGNhbGxiYWNrcyBhbmQgbWFpbnRhaW4KLSAgICAvLyByYWRpbyBzaWxlbmNlIHVu
dGlsIHRoZSB0ZXN0IGluIHRoZSBpZnJhbWUgcnVucyB0byBjb21wbGV0aW9uLiBUaGUKLSAgICAv
LyBjb21wbGV0aW9uX2NhbGxiYWNrKCkgd2lsbCB0aGVuIGNvbXBsZXRlIHRoZSB0ZXN0aW5nIG9u
IHRoaXMgZG9jdW1lbnQuCi0gICAgY2FsbGJhY2tzLmxlbmd0aCA9IDA7Ci0gICAgdmFyIGlmcmFt
ZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlmcmFtZSIpOwotICAgIC8vIHNpbmdsZS1wYWdl
LXRlc3QtcGFzcy5odG1sIGhhcyBhIHNpbmdsZSB0ZXN0LgotICAgIGlmcmFtZS5zcmMgPSAic2lu
Z2xlLXBhZ2UtdGVzdC1wYXNzLmh0bWwiOwotICAgIGlmcmFtZS5zdHlsZS5zZXRQcm9wZXJ0eSgi
ZGlzcGxheSIsICJub25lIik7Ci0gICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRhcmdldCIp
LmFwcGVuZENoaWxkKGlmcmFtZSk7Ci19Ci08L3NjcmlwdD4KLQotPGRpdiBpZD0idGFyZ2V0Ij4K
LTwvZGl2PgotPHNjcmlwdCB0eXBlPSJ0ZXh0L2pzb24iIGlkPSJleHBlY3RlZCI+Ci17Ci0gICJz
dW1tYXJpemVkX3N0YXR1cyI6IHsKLSAgICAic3RhdHVzX3N0cmluZyI6ICJPSyIsCi0gICAgIm1l
c3NhZ2UiOiBudWxsLAotICAgICJzdGFjayI6IG51bGwKLSAgfSwKLSAgInN1bW1hcml6ZWRfdGVz
dHMiOiBbCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFt
ZSI6ICJFeGFtcGxlIHdpdGggaWZyYW1lIHRoYXQgbm90aWZpZXMgY29udGFpbmluZyBkb2N1bWVu
dCB2aWEgY2FsbGJhY2tzIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2Fn
ZSI6IG51bGwsCi0gICAgICAic3RhY2siOiBudWxsCi0gICAgfQotICBdLAotICAidHlwZSI6ICJj
b21wbGV0ZSIKLX0KLTwvc2NyaXB0PgotPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9pZnJh
bWUtY29uc29saWRhdGUtZXJyb3JzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2lmcmFtZS1jb25zb2xpZGF0ZS1l
cnJvcnMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZmQyMGQ0ZjcxZjUuLjAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWZyYW1lLWNvbnNvbGlkYXRlLWVycm9ycy5odG1sCisr
KyAvZGV2L251bGwKQEAgLTEsNDYgKzAsMCBAQAotPCFET0NUWVBFIEhUTUw+Ci08aHRtbD4KLTxo
ZWFkPgotPHRpdGxlPkV4YW1wbGUgd2l0aCBpZnJhbWUgdGhhdCBjb25zb2xpZGF0ZXMgZXJyb3Jz
IHZpYSBmZXRjaF90ZXN0c19mcm9tX3dpbmRvdzwvdGl0bGU+Ci08c2NyaXB0IHNyYz0iLi4vLi4v
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci12YXIgcGFyZW50X3Rlc3QgPSBhc3luY190
ZXN0KCJUZXN0IGV4ZWN1dGluZyBpbiBwYXJlbnQgY29udGV4dCIpOwotPC9zY3JpcHQ+Ci08L2hl
YWQ+Ci08Ym9keSBvbmxvYWQ9InBhcmVudF90ZXN0LmRvbmUoKSI+Ci08aDE+RmV0Y2hpbmcgVGVz
dHMgRnJvbSBhIENoaWxkIENvbnRleHQ8L2gxPgotPHA+VGhpcyB0ZXN0IGRlbW9uc3RyYXRlcyB0
aGUgdXNlIG9mIDx0dD5mZXRjaF90ZXN0c19mcm9tX3dpbmRvdzwvdHQ+IHRvIHB1bGwKLXRlc3Rz
IGZyb20gYW4gPHR0PmlmcmFtZTwvdHQ+IGludG8gdGhlIHByaW1hcnkgZG9jdW1lbnQuPC9wPgot
PHA+VGhlIHRlc3Qgc3VpdGUgaXMgZXhwZWN0ZWQgdG8gZmFpbCBkdWUgdG8gYW4gdW5oYW5kbGVk
IGV4Y2VwdGlvbiBpbiB0aGUKLWNoaWxkIGNvbnRleHQuPC9wPgotPGRpdiBpZD0ibG9nIj48L2Rp
dj4KLQotPGlmcmFtZSBpZD0iY2hpbGRDb250ZXh0IiBzcmM9InVuY2F1Z2h0LWV4Y2VwdGlvbi1o
YW5kbGUuaHRtbCIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+PC9pZnJhbWU+Ci08IS0tIGFwaXNhbXBs
ZTQuaHRtbCBpcyBhIGZhaWxpbmcgc3VpdGUgZHVlIHRvIGFuIHVuaGFuZGxlZCBFcnJvci4gLS0+
Ci0KLTxzY3JpcHQ+Ci0JdmFyIGNoaWxkQ29udGV4dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjaGlsZENvbnRleHQiKTsKLQlmZXRjaF90ZXN0c19mcm9tX3dpbmRvdyhjaGlsZENvbnRleHQu
Y29udGVudFdpbmRvdyk7Ci08L3NjcmlwdD4KLTxzY3JpcHQgdHlwZT0idGV4dC9qc29uIiBpZD0i
ZXhwZWN0ZWQiPgotewotICAic3VtbWFyaXplZF9zdGF0dXMiOiB7Ci0gICAgInN0YXR1c19zdHJp
bmciOiAiRVJST1IiLAotICAgICJtZXNzYWdlIjogIkVycm9yIGluIHJlbW90ZTogRXJyb3I6IEV4
YW1wbGUgRXJyb3IiLAotICAgICJzdGFjayI6IG51bGwKLSAgfSwKLSAgInN1bW1hcml6ZWRfdGVz
dHMiOiBbCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFt
ZSI6ICJUZXN0IGV4ZWN1dGluZyBpbiBwYXJlbnQgY29udGV4dCIsCi0gICAgICAicHJvcGVydGll
cyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgInN0YWNrIjogbnVsbAotICAg
IH0KLSAgXSwKLSAgInR5cGUiOiAiY29tcGxldGUiCi19Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWZyYW1lLWNvbnNvbGlkYXRlLXRlc3RzLmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90
ZXN0L3Rlc3RzL2lmcmFtZS1jb25zb2xpZGF0ZS10ZXN0cy5odG1sCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCA5MGM1ZjhlY2U5Zi4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9pZnJh
bWUtY29uc29saWRhdGUtdGVzdHMuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDk1ICswLDAgQEAK
LTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLTx0aXRsZT5FeGFtcGxlIHdpdGggaWZy
YW1lIHRoYXQgY29uc29saWRhdGVzIHRlc3RzIHZpYSBmZXRjaF90ZXN0c19mcm9tX3dpbmRvdzwv
dGl0bGU+Ci08c2NyaXB0IHNyYz0iLi4vLi4vdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii4uLy4uL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+
Ci12YXIgcGFyZW50X3Rlc3QgPSBhc3luY190ZXN0KCJUZXN0IGV4ZWN1dGluZyBpbiBwYXJlbnQg
Y29udGV4dCIpOwotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9InBhcmVudF90ZXN0
LmRvbmUoKSI+Ci08aDE+RmV0Y2hpbmcgVGVzdHMgRnJvbSBhIENoaWxkIENvbnRleHQ8L2gxPgot
PHA+VGhpcyB0ZXN0IGRlbW9uc3RyYXRlcyB0aGUgdXNlIG9mIDx0dD5mZXRjaF90ZXN0c19mcm9t
X3dpbmRvdzwvdHQ+IHRvIHB1bGwKLXRlc3RzIGZyb20gYW4gPHR0PmlmcmFtZTwvdHQ+IGludG8g
dGhlIHByaW1hcnkgZG9jdW1lbnQuPC9wPgotPHA+VGhlIHRlc3Qgc3VpdGUgd2lsbCBub3QgY29t
cGxldGUgdW50aWwgdGVzdHMgaW4gdGhlIGNoaWxkIGNvbnRleHQgaGF2ZSBmaW5pc2hlZAotZXhl
Y3V0aW5nPC9wPgotPGRpdiBpZD0ibG9nIj48L2Rpdj4KLQotPGlmcmFtZSBpZD0iY2hpbGRDb250
ZXh0IiBzcmM9InByb21pc2UtYXN5bmMuaHRtbCIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+PC9pZnJh
bWU+Ci08IS0tIHByb21pc2UtYXN5bmMuaHRtbCBoYXMgYXN5bmMgdGVzdHMgd2l0aCBwcm9taXNl
cyAtLT4KLQotPHNjcmlwdD4KLQl2YXIgY2hpbGRDb250ZXh0ID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNoaWxkQ29udGV4dCIpOwotCWZldGNoX3Rlc3RzX2Zyb21fd2luZG93KGNoaWxkQ29u
dGV4dC5jb250ZW50V2luZG93KTsKLTwvc2NyaXB0PgotPHNjcmlwdCB0eXBlPSJ0ZXh0L2pzb24i
IGlkPSJleHBlY3RlZCI+Ci17Ci0gICJzdW1tYXJpemVkX3N0YXR1cyI6IHsKLSAgICAic3RhdHVz
X3N0cmluZyI6ICJPSyIsCi0gICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICJzdGFjayI6IG51bGwK
LSAgfSwKLSAgInN1bW1hcml6ZWRfdGVzdHMiOiBbCi0gICAgewotICAgICAgInN0YXR1c19zdHJp
bmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJQcm9taXNlIHJlamVjdGlvbiIsCi0gICAgICAi
cHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgInN0YWNrIjog
bnVsbAotICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAg
ICAibmFtZSI6ICJQcm9taXNlIHJlc29sdXRpb24iLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwK
LSAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICJzdGFjayI6IG51bGwKLSAgICB9LAotICAg
IHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIkZBSUwiLAotICAgICAgIm5hbWUiOiAiUHJvbWlz
ZXMgYW5kIHRlc3QgYXNzZXJ0aW9uIGZhaWx1cmVzIChzaG91bGQgZmFpbCkiLAotICAgICAgInBy
b3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogImFzc2VydF90cnVlOiBUaGlzIGZhaWx1
cmUgaXMgZXhwZWN0ZWQgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UiLAotICAgICAgInN0YWNrIjog
IihpbXBsZW1lbnRhdGlvbi1kZWZpbmVkKSIKLSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0dXNf
c3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUiOiAiUHJvbWlzZXMgYXJlIHN1cHBvcnRlZCBp
biB5b3VyIGJyb3dzZXIiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdl
IjogbnVsbCwKLSAgICAgICJzdGFjayI6IG51bGwKLSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0
dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUiOiAiUHJvbWlzZXMgcmVzb2x1dGlvbiBj
aGFpbmluZyIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxs
LAotICAgICAgInN0YWNrIjogbnVsbAotICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJp
bmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJUZXN0IGV4ZWN1dGluZyBpbiBwYXJlbnQgY29u
dGV4dCIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsLAot
ICAgICAgInN0YWNrIjogbnVsbAotICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmci
OiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJVc2Ugb2Ygc3RlcF9mdW5jIHdpdGggUHJvbWlzZXMi
LAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAg
ICJzdGFjayI6IG51bGwKLSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIkZB
SUwiLAotICAgICAgIm5hbWUiOiAiVXNlIG9mIHVucmVhY2hlZF9mdW5jIHdpdGggUHJvbWlzZXMg
KHNob3VsZCBmYWlsKSIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2Ui
OiAiYXNzZXJ0X3VucmVhY2hlZDogVGhpcyBmYWlsdXJlIGlzIGV4cGVjdGVkIFJlYWNoZWQgdW5y
ZWFjaGFibGUgY29kZSIsCi0gICAgICAic3RhY2siOiAiKGltcGxlbWVudGF0aW9uLWRlZmluZWQp
IgotICAgIH0KLSAgXSwKLSAgInR5cGUiOiAiY29tcGxldGUiCi19Ci08L3NjcmlwdD4KLTwvYm9k
eT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWZyYW1lLW1zZy5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0
cy9pZnJhbWUtbXNnLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDEzYTNmZmY5
MjRmLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2lmcmFtZS1tc2cuaHRtbAorKysgL2Rldi9u
dWxsCkBAIC0xLDg2ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLTx0
aXRsZT5FeGFtcGxlIHdpdGggaWZyYW1lIHRoYXQgbm90aWZpZXMgY29udGFpbmluZyBkb2N1bWVu
dCB2aWEgY3Jvc3MgZG9jdW1lbnQgbWVzc2FnaW5nPC90aXRsZT4KLTxzY3JpcHQgc3JjPSIuLi8u
Li90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08aDE+Tm90aWZpY2F0aW9u
cyBGcm9tIFRlc3RzIFJ1bm5pbmcgSW4gQW4gSUZSQU1FPC9oMT4KLTxwPkEgdGVzdCBpcyBydW4g
aW5zaWRlIGFuIDx0dD5pZnJhbWU8L3R0PiB3aXRoIGEgc2FtZSBvcmlnaW4gZG9jdW1lbnQuIFRo
ZQotY29udGFpbmluZyBkb2N1bWVudCBzaG91bGQgcmVjZWl2ZSBtZXNzYWdlcyB2aWEgPHR0PnBv
c3RNZXNzYWdlPC90dD4vCi08dHQ+b25tZXNzYWdlPC90dD4gYXMgdGhlIHRlc3RzIHByb2dyZXNz
IGluc2lkZSB0aGUgPHR0PmlmcmFtZTwvdHQ+LiBBIHNpbmdsZQotcGFzc2luZyB0ZXN0IGlzIGV4
cGVjdGVkIGluIHRoZSBzdW1tYXJ5IGJlbG93LgotPC9wPgotPGRpdiBpZD0ibG9nIj48L2Rpdj4K
LQotPHNjcmlwdD4KLXZhciB0ID0gYXN5bmNfdGVzdCgiQ29udGFpbmluZyBkb2N1bWVudCByZWNl
aXZlcyBtZXNzYWdlcyIpOwotdmFyIHN0YXJ0X3JlY2VpdmVkID0gZmFsc2U7Ci12YXIgcmVzdWx0
X3JlY2VpdmVkID0gZmFsc2U7Ci12YXIgY29tcGxldGlvbl9yZWNlaXZlZCA9IGZhbHNlOwotCi0v
LyBUaGVzZSBhcmUgdGhlIG1lc3NhZ2VzIHRoYXQgYXJlIGV4cGVjdGVkIHRvIGJlIHNlZW4gd2hp
bGUgcnVubmluZyB0aGUgdGVzdHMKLS8vIGluIHRoZSBJRlJBTUUuCi12YXIgZXhwZWN0ZWRfbWVz
c2FnZXMgPSBbCi0gICAgdC5zdGVwX2Z1bmMoCi0gICAgICAgIGZ1bmN0aW9uKG1lc3NhZ2UpIHsK
LSAgICAgICAgICAgIGFzc2VydF9lcXVhbHMobWVzc2FnZS5kYXRhLnR5cGUsICJzdGFydCIpOwot
ICAgICAgICAgICAgYXNzZXJ0X293bl9wcm9wZXJ0eShtZXNzYWdlLmRhdGEsICJwcm9wZXJ0aWVz
Iik7Ci0gICAgICAgIH0pLAotCi0gICAgdC5zdGVwX2Z1bmMoCi0gICAgICAgIGZ1bmN0aW9uKG1l
c3NhZ2UpIHsKLSAgICAgICAgICAgIGFzc2VydF9lcXVhbHMobWVzc2FnZS5kYXRhLnR5cGUsICJ0
ZXN0X3N0YXRlIik7Ci0gICAgICAgICAgICBhc3NlcnRfZXF1YWxzKG1lc3NhZ2UuZGF0YS50ZXN0
LnN0YXR1cywgbWVzc2FnZS5kYXRhLnRlc3QuTk9UUlVOKTsKLSAgICAgICAgfSksCi0KLSAgICB0
LnN0ZXBfZnVuYygKLSAgICAgICAgZnVuY3Rpb24obWVzc2FnZSkgewotICAgICAgICAgICAgYXNz
ZXJ0X2VxdWFscyhtZXNzYWdlLmRhdGEudHlwZSwgInJlc3VsdCIpOwotICAgICAgICAgICAgYXNz
ZXJ0X2VxdWFscyhtZXNzYWdlLmRhdGEudGVzdC5zdGF0dXMsIG1lc3NhZ2UuZGF0YS50ZXN0LlBB
U1MpOwotICAgICAgICB9KSwKLQotICAgIHQuc3RlcF9mdW5jKAotICAgICAgICBmdW5jdGlvbiht
ZXNzYWdlKSB7Ci0gICAgICAgICAgICBhc3NlcnRfZXF1YWxzKG1lc3NhZ2UuZGF0YS50eXBlLCAi
Y29tcGxldGUiKTsKLSAgICAgICAgICAgIGFzc2VydF9lcXVhbHMobWVzc2FnZS5kYXRhLnRlc3Rz
Lmxlbmd0aCwgMSk7Ci0gICAgICAgICAgICBhc3NlcnRfZXF1YWxzKG1lc3NhZ2UuZGF0YS50ZXN0
c1swXS5zdGF0dXMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UuZGF0YS50ZXN0
c1swXS5QQVNTKTsKLSAgICAgICAgICAgIGFzc2VydF9lcXVhbHMobWVzc2FnZS5kYXRhLnN0YXR1
cy5zdGF0dXMsIG1lc3NhZ2UuZGF0YS5zdGF0dXMuT0spOwotICAgICAgICAgICAgdC5kb25lKCk7
Ci0gICAgICAgIH0pLAotCi0gICAgdC51bnJlYWNoZWRfZnVuYygiVG9vIG1hbnkgbWVzc2FnZXMg
cmVjZWl2ZWQiKQotXTsKLQotb25fZXZlbnQod2luZG93LAotICAgICAgICAgIm1lc3NhZ2UiLAot
ICAgICAgICAgZnVuY3Rpb24obWVzc2FnZSkgewotICAgICAgICAgICAgIHZhciBoYW5kbGVyID0g
ZXhwZWN0ZWRfbWVzc2FnZXMuc2hpZnQoKTsKLSAgICAgICAgICAgICBoYW5kbGVyKG1lc3NhZ2Up
OwotICAgICAgICAgfSk7Ci08L3NjcmlwdD4KLTxpZnJhbWUgc3JjPSJzaW5nbGUtcGFnZS10ZXN0
LXBhc3MuaHRtbCIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+Ci0gIDwhLS0gc2luZ2xlLXBhZ2UtdGVz
dC1wYXNzLmh0bWwgaW1wbGVtZW50cyBhIGZpbGVfaXNfdGVzdCB0ZXN0LiAtLT4KLTwvaWZyYW1l
PgotPHNjcmlwdCB0eXBlPSJ0ZXh0L2pzb24iIGlkPSJleHBlY3RlZCI+Ci17Ci0gICJzdW1tYXJp
emVkX3N0YXR1cyI6IHsKLSAgICAic3RhdHVzX3N0cmluZyI6ICJPSyIsCi0gICAgIm1lc3NhZ2Ui
OiBudWxsLAotICAgICJzdGFjayI6IG51bGwKLSAgfSwKLSAgInN1bW1hcml6ZWRfdGVzdHMiOiBb
Ci0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJD
b250YWluaW5nIGRvY3VtZW50IHJlY2VpdmVzIG1lc3NhZ2VzIiwKLSAgICAgICJwcm9wZXJ0aWVz
Ijoge30sCi0gICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAic3RhY2siOiBudWxsCi0gICAg
fQotICBdLAotICAidHlwZSI6ICJjb21wbGV0ZSIKLX0KLTwvc2NyaXB0PgotPC9ib2R5PgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvdGVzdC90ZXN0cy9vcmRlci5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9vcmRlci5odG1sCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkMjBlYjZiMWFkMC4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90
ZXN0cy9vcmRlci5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMzkgKzAsMCBAQAotPCFET0NUWVBF
IEhUTUw+Ci08aHRtbD4KLTxoZWFkPgotPHRpdGxlPk9yZGVyaW5nPC90aXRsZT4KLTxtZXRhIG5h
bWU9InRpbWVvdXQiIGNvbnRlbnQ9IjYwMDAiPgotPC9oZWFkPgotPGJvZHk+Ci08ZGl2IGlkPSJs
b2ciPjwvZGl2PgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIuLi8uLi90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2Ny
aXB0PgotdGVzdChmdW5jdGlvbigpIHt9LCAnc2Vjb25kJyk7Ci10ZXN0KGZ1bmN0aW9uKCkge30s
ICdmaXJzdCcpOwotPC9zY3JpcHQ+Ci08c2NyaXB0IHR5cGU9InRleHQvanNvbiIgaWQ9ImV4cGVj
dGVkIj4KLXsKLSAgInN1bW1hcml6ZWRfc3RhdHVzIjogewotICAgICJzdGF0dXNfc3RyaW5nIjog
Ik9LIiwKLSAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgInN0YWNrIjogbnVsbAotICB9LAotICAi
c3VtbWFyaXplZF90ZXN0cyI6IFt7Ci0gICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAg
Im5hbWUiOiAiZmlyc3QiLAotICAgICJzdGFjayI6IG51bGwsCi0gICAgIm1lc3NhZ2UiOiBudWxs
LAotICAgICJwcm9wZXJ0aWVzIjoge30KLSAgfSwgewotICAgICJzdGF0dXNfc3RyaW5nIjogIlBB
U1MiLAotICAgICJuYW1lIjogInNlY29uZCIsCi0gICAgInN0YWNrIjogbnVsbCwKLSAgICAibWVz
c2FnZSI6IG51bGwsCi0gICAgInByb3BlcnRpZXMiOiB7fQotICB9XSwKLSAgInR5cGUiOiAiY29t
cGxldGUiCi19Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVz
dHMvcHJvbWlzZS1hc3luYy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9wcm9taXNlLWFzeW5jLmh0bWwKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg4YjY5NzJhNjBhLi4wMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0
L3Rlc3RzL3Byb21pc2UtYXN5bmMuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDE4MCArMCwwIEBA
Ci08IURPQ1RZUEUgSFRNTD4KLTxodG1sPgotPGhlYWQ+Ci08dGl0bGU+QXN5bmMgVGVzdHMgYW5k
IFByb21pc2VzPC90aXRsZT4KLTwvaGVhZD4KLTxib2R5PgotPGgxPkFzeW5jIFRlc3RzIGFuZCBQ
cm9taXNlczwvaDE+Ci08cD5UaGlzIHRlc3QgYXNzdW1lcyBFQ01BU2NyaXB0IDYgUHJvbWlzZSBz
dXBwb3J0LiBTb21lIGZhaWx1cmVzIGFyZSBleHBlY3RlZC48L3A+Ci08ZGl2IGlkPSJsb2ciPjwv
ZGl2PgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSIuLi8uLi90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0Pgot
Ci10ZXN0KGZ1bmN0aW9uKCkgewotICB2YXIgcCA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29s
dmUsIHJlamVjdCkge30pOwotICBhc3NlcnRfdHJ1ZSgndGhlbicgaW4gcCk7Ci0gIGFzc2VydF9l
cXVhbHModHlwZW9mIFByb21pc2UucmVzb2x2ZSwgJ2Z1bmN0aW9uJyk7Ci0gIGFzc2VydF9lcXVh
bHModHlwZW9mIFByb21pc2UucmVqZWN0LCAnZnVuY3Rpb24nKTsKLX0sICJQcm9taXNlcyBhcmUg
c3VwcG9ydGVkIGluIHlvdXIgYnJvd3NlciIpOwotCi0oZnVuY3Rpb24oKSB7Ci0gIHZhciB0ID0g
YXN5bmNfdGVzdCgiUHJvbWlzZSByZXNvbHV0aW9uIik7Ci0gIHQuc3RlcChmdW5jdGlvbigpIHsK
LSAgICBQcm9taXNlLnJlc29sdmUoJ3gnKS50aGVuKAotICAgICAgdC5zdGVwX2Z1bmMoZnVuY3Rp
b24odmFsdWUpIHsKLSAgICAgICAgYXNzZXJ0X2VxdWFscyh2YWx1ZSwgJ3gnKTsKLSAgICAgICAg
dC5kb25lKCk7Ci0gICAgICB9KSwKLSAgICAgIHQudW5yZWFjaGVkX2Z1bmMoJ1Byb21pc2Ugc2hv
dWxkIG5vdCByZWplY3QnKQotICAgICk7Ci0gIH0pOwotfSgpKTsKLQotKGZ1bmN0aW9uKCkgewot
ICB2YXIgdCA9IGFzeW5jX3Rlc3QoIlByb21pc2UgcmVqZWN0aW9uIik7Ci0gIHQuc3RlcChmdW5j
dGlvbigpIHsKLSAgICBQcm9taXNlLnJlamVjdChFcnJvcignZmFpbCcpKS50aGVuKAotICAgICAg
dC51bnJlYWNoZWRfZnVuYygnUHJvbWlzZSBzaG91bGQgcmVqZWN0JyksCi0gICAgICB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKLSAgICAgICAgYXNzZXJ0X3RydWUocmVhc29uIGluc3Rh
bmNlb2YgRXJyb3IpOwotICAgICAgICBhc3NlcnRfZXF1YWxzKHJlYXNvbi5tZXNzYWdlLCAnZmFp
bCcpOwotICAgICAgICB0LmRvbmUoKTsKLSAgICAgIH0pCi0gICAgKTsKLSAgfSk7Ci19KCkpOwot
Ci0oZnVuY3Rpb24oKSB7Ci0gIHZhciB0ID0gYXN5bmNfdGVzdCgiUHJvbWlzZXMgcmVzb2x1dGlv
biBjaGFpbmluZyIpOwotICB0LnN0ZXAoZnVuY3Rpb24oKSB7Ci0gICAgdmFyIHJlc29sdXRpb25z
ID0gW107Ci0gICAgUHJvbWlzZS5yZXNvbHZlKCdhJykudGhlbigKLSAgICAgIHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHZhbHVlKSB7Ci0gICAgICAgIHJlc29sdXRpb25zLnB1c2godmFsdWUpOwotICAg
ICAgICByZXR1cm4gJ2InOwotICAgICAgfSkKLSAgICApLnRoZW4oCi0gICAgICB0LnN0ZXBfZnVu
YyhmdW5jdGlvbih2YWx1ZSkgewotICAgICAgICByZXNvbHV0aW9ucy5wdXNoKHZhbHVlKTsKLSAg
ICAgICAgcmV0dXJuICdjJzsKLSAgICAgIH0pCi0gICAgKS50aGVuKAotICAgICAgdC5zdGVwX2Z1
bmMoZnVuY3Rpb24odmFsdWUpIHsKLSAgICAgICAgcmVzb2x1dGlvbnMucHVzaCh2YWx1ZSk7Ci0K
LSAgICAgICAgYXNzZXJ0X2FycmF5X2VxdWFscyhyZXNvbHV0aW9ucywgWydhJywgJ2InLCAnYydd
KTsKLSAgICAgICAgdC5kb25lKCk7Ci0gICAgICB9KQotICAgICkuY2F0Y2goCi0gICAgICB0LnVu
cmVhY2hlZF9mdW5jKCdwcm9taXNlIHNob3VsZCBub3QgaGF2ZSByZWplY3RlZCcpCi0gICAgKTsK
LSAgfSk7Ci19KCkpOwotCi0oZnVuY3Rpb24oKSB7Ci0gIHZhciB0ID0gYXN5bmNfdGVzdCgiVXNl
IG9mIHN0ZXBfZnVuYyB3aXRoIFByb21pc2VzIik7Ci0gIHQuc3RlcChmdW5jdGlvbigpIHsKLSAg
ICB2YXIgcmVzb2x1dGlvbnMgPSBbXTsKLSAgICBQcm9taXNlLnJlc29sdmUoJ3gnKS50aGVuKAot
ICAgICAgdC5zdGVwX2Z1bmNfZG9uZSgpLAotICAgICAgdC51bnJlYWNoZWRfZnVuYygnUHJvbWlz
ZSBzaG91bGQgbm90IGhhdmUgcmVqZWN0ZWQnKQotICAgICk7Ci0gIH0pOwotfSgpKTsKLQotKGZ1
bmN0aW9uKCkgewotICB2YXIgdCA9IGFzeW5jX3Rlc3QoIlByb21pc2VzIGFuZCB0ZXN0IGFzc2Vy
dGlvbiBmYWlsdXJlcyAoc2hvdWxkIGZhaWwpIik7Ci0gIHQuc3RlcChmdW5jdGlvbigpIHsKLSAg
ICB2YXIgcmVzb2x1dGlvbnMgPSBbXTsKLSAgICBQcm9taXNlLnJlc29sdmUoJ3gnKS50aGVuKAot
ICAgICAgdC5zdGVwX2Z1bmMoZnVuY3Rpb24odmFsdWUpIHsKLSAgICAgICAgYXNzZXJ0X3RydWUo
ZmFsc2UsICdUaGlzIGZhaWx1cmUgaXMgZXhwZWN0ZWQnKTsKLSAgICAgIH0pCi0gICAgKS50aGVu
KAotICAgICAgdC51bnJlYWNoZWRfZnVuYygnUHJvbWlzZSBzaG91bGQgbm90IGhhdmUgcmVzb2x2
ZWQnKQotICAgICkuY2F0Y2goCi0gICAgICB0LnVucmVhY2hlZF9mdW5jKCdQcm9taXNlIHNob3Vs
ZCBub3QgaGF2ZSByZWplY3RlZCcpCi0gICAgKTsKLSAgfSk7Ci19KCkpOwotCi0oZnVuY3Rpb24o
KSB7Ci0gIHZhciB0ID0gYXN5bmNfdGVzdCgiVXNlIG9mIHVucmVhY2hlZF9mdW5jIHdpdGggUHJv
bWlzZXMgKHNob3VsZCBmYWlsKSIpOwotICB0LnN0ZXAoZnVuY3Rpb24oKSB7Ci0gICAgdmFyIHJl
c29sdXRpb25zID0gW107Ci0gICAgdmFyIHI7Ci0gICAgdmFyIHAgPSBuZXcgUHJvbWlzZShmdW5j
dGlvbihyZXNvbHZlLCByZWplY3QpIHsKLSAgICAgIC8vIFJlamVjdCBpbnN0ZWFkIG9mIHJlc29s
dmUsIHRvIGRlbW9uc3RyYXRlIGZhaWx1cmUuCi0gICAgICByZWplY3QoMTIzKTsKLSAgICB9KTsK
LSAgICBwLnRoZW4oCi0gICAgICBmdW5jdGlvbih2YWx1ZSkgewotICAgICAgICBhc3NlcnRfZXF1
YWxzKHZhbHVlLCAxMjMsICdUaGlzIHNob3VsZCBub3QgYWN0dWFsbHkgaGFwcGVuJyk7Ci0gICAg
ICB9LAotICAgICAgdC51bnJlYWNoZWRfZnVuYygnVGhpcyBmYWlsdXJlIGlzIGV4cGVjdGVkJykK
LSAgICApOwotICB9KTsKLX0oKSk7Ci08L3NjcmlwdD4KLTxzY3JpcHQgdHlwZT0idGV4dC9qc29u
IiBpZD0iZXhwZWN0ZWQiPgotewotICAic3VtbWFyaXplZF9zdGF0dXMiOiB7Ci0gICAgInN0YXR1
c19zdHJpbmciOiAiT0siLAotICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAic3RhY2siOiBudWxs
Ci0gIH0sCi0gICJzdW1tYXJpemVkX3Rlc3RzIjogWwotICAgIHsKLSAgICAgICJzdGF0dXNfc3Ry
aW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUiOiAiUHJvbWlzZSByZWplY3Rpb24iLAotICAgICAg
InByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICJzdGFjayI6
IG51bGwKLSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAg
ICAgIm5hbWUiOiAiUHJvbWlzZSByZXNvbHV0aW9uIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30s
Ci0gICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAic3RhY2siOiBudWxsCi0gICAgfSwKLSAg
ICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJGQUlMIiwKLSAgICAgICJuYW1lIjogIlByb21p
c2VzIGFuZCB0ZXN0IGFzc2VydGlvbiBmYWlsdXJlcyAoc2hvdWxkIGZhaWwpIiwKLSAgICAgICJw
cm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6ICJhc3NlcnRfdHJ1ZTogVGhpcyBmYWls
dXJlIGlzIGV4cGVjdGVkIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlIiwKLSAgICAgICJzdGFjayI6
ICIoaW1wbGVtZW50YXRpb24tZGVmaW5lZCkiCi0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVz
X3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1lIjogIlByb21pc2VzIGFyZSBzdXBwb3J0ZWQg
aW4geW91ciBicm93c2VyIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2Fn
ZSI6IG51bGwsCi0gICAgICAic3RhY2siOiBudWxsCi0gICAgfSwKLSAgICB7Ci0gICAgICAic3Rh
dHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1lIjogIlByb21pc2VzIHJlc29sdXRpb24g
Y2hhaW5pbmciLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogbnVs
bCwKLSAgICAgICJzdGFjayI6IG51bGwKLSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0dXNfc3Ry
aW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUiOiAiVXNlIG9mIHN0ZXBfZnVuYyB3aXRoIFByb21p
c2VzIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6IG51bGwsCi0g
ICAgICAic3RhY2siOiBudWxsCi0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6
ICJGQUlMIiwKLSAgICAgICJuYW1lIjogIlVzZSBvZiB1bnJlYWNoZWRfZnVuYyB3aXRoIFByb21p
c2VzIChzaG91bGQgZmFpbCkiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNz
YWdlIjogImFzc2VydF91bnJlYWNoZWQ6IFRoaXMgZmFpbHVyZSBpcyBleHBlY3RlZCBSZWFjaGVk
IHVucmVhY2hhYmxlIGNvZGUiLAotICAgICAgInN0YWNrIjogIihpbXBsZW1lbnRhdGlvbi1kZWZp
bmVkKSIKLSAgICB9Ci0gIF0sCi0gICJ0eXBlIjogImNvbXBsZXRlIgotfQotPC9zY3JpcHQ+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy90ZXN0L3Rlc3RzL3Byb21pc2UuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvcHJvbWlzZS5odG1sCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2MWVmMTVkZWQ5OC4uMDAwMDAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
dGVzdC90ZXN0cy9wcm9taXNlLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwyMjEgKzAsMCBAQAot
PCFET0NUWVBFIEhUTUw+Ci08aHRtbD4KLTxoZWFkPgotPHRpdGxlPlByb21pc2UgVGVzdHM8L3Rp
dGxlPgotPC9oZWFkPgotPGJvZHk+Ci08aDE+UHJvbWlzZSBUZXN0czwvaDE+Ci08cD5UaGlzIHRl
c3QgZGVtb25zdHJhdGVzIHRoZSB1c2Ugb2YgPHR0PnByb21pc2VfdGVzdDwvdHQ+LiBBc3N1bWVz
IEVDTUFTY3JpcHQgNgotUHJvbWlzZSBzdXBwb3J0LiBTb21lIGZhaWx1cmVzIGFyZSBleHBlY3Rl
ZC48L3A+Ci08ZGl2IGlkPSJsb2ciPjwvZGl2PgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Rlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotdGVzdCgKLSAgICBmdW5jdGlvbigpIHsKLSAgICAgICAg
dmFyIHAgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3Qpe30pOwotICAgICAg
ICBhc3NlcnRfdHJ1ZSgidGhlbiIgaW4gcCk7Ci0gICAgICAgIGFzc2VydF9lcXVhbHModHlwZW9m
IFByb21pc2UucmVzb2x2ZSwgImZ1bmN0aW9uIik7Ci0gICAgICAgIGFzc2VydF9lcXVhbHModHlw
ZW9mIFByb21pc2UucmVqZWN0LCAiZnVuY3Rpb24iKTsKLSAgICB9LAotICAgICJQcm9taXNlcyBh
cmUgc3VwcG9ydGVkIGluIHlvdXIgYnJvd3NlciIpOwotCi1wcm9taXNlX3Rlc3QoCi0gICAgZnVu
Y3Rpb24oKSB7Ci0gICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoIngiKQotICAgICAgICAg
ICAgLnRoZW4oCi0gICAgICAgICAgICAgICAgZnVuY3Rpb24odmFsdWUpIHsKLSAgICAgICAgICAg
ICAgICAgICAgYXNzZXJ0X2VxdWFscyh2YWx1ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAieCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkZ1bGZpbGxl
ZCBwcm9taXNlIHNob3VsZCBwYXNzIHJlc3VsdCB0byAiICsKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAiZnVsZmlsbCByZWFjdGlvbi4iKTsKLSAgICAgICAgICAgICAgICB9KTsK
LSAgICB9LAotICAgICJQcm9taXNlIGZ1bGZpbGxtZW50IHdpdGggcmVzdWx0Iik7Ci0KLXByb21p
c2VfdGVzdCgKLSAgICBmdW5jdGlvbih0KSB7Ci0gICAgICAgIHJldHVybiBQcm9taXNlLnJlamVj
dChuZXcgRXJyb3IoImZhaWwiKSkKLSAgICAgICAgICAgIC50aGVuKHQudW5yZWFjaGVkX2Z1bmMo
IlByb21pc2Ugc2hvdWxkIHJlamVjdCIpLAotICAgICAgICAgICAgICAgIGZ1bmN0aW9uKHJlYXNv
bikgewotICAgICAgICAgICAgICAgICAgICBhc3NlcnRfdHJ1ZSgKLSAgICAgICAgICAgICAgICAg
ICAgICAgIHJlYXNvbiBpbnN0YW5jZW9mIEVycm9yLAotICAgICAgICAgICAgICAgICAgICAgICAg
IlJlamVjdGVkIHByb21pc2Ugc2hvdWxkIHBhc3MgcmVhc29uIHRvIGZ1bGZpbGwgcmVhY3Rpb24u
Iik7Ci0gICAgICAgICAgICAgICAgICAgIGFzc2VydF9lcXVhbHMoCi0gICAgICAgICAgICAgICAg
ICAgICAgICByZWFzb24ubWVzc2FnZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJmYWlsIiwK
LSAgICAgICAgICAgICAgICAgICAgICAgICJSZWplY3RlZCBwcm9taXNlIHNob3VsZCBwYXNzIHJl
YXNvbiB0byByZWplY3QgcmVhY3Rpb24uIik7Ci0gICAgICAgICAgICAgICAgfSk7Ci0gICAgfSwK
LSAgICAiUHJvbWlzZSByZWplY3Rpb24gd2l0aCByZXN1bHQiKTsKLQotcHJvbWlzZV90ZXN0KAot
ICAgIGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgcmVzb2x1dGlvbnMgPSBbXTsKLSAgICAgICAg
cmV0dXJuIFByb21pc2UucmVzb2x2ZSgiYSIpCi0gICAgICAgICAgICAudGhlbigKLSAgICAgICAg
ICAgICAgICBmdW5jdGlvbih2YWx1ZSkgewotICAgICAgICAgICAgICAgICAgICByZXNvbHV0aW9u
cy5wdXNoKHZhbHVlKTsKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuICJiIjsKLSAgICAgICAg
ICAgICAgICB9KQotICAgICAgICAgICAgLnRoZW4oCi0gICAgICAgICAgICAgICAgZnVuY3Rpb24o
dmFsdWUpIHsKLSAgICAgICAgICAgICAgICAgICAgcmVzb2x1dGlvbnMucHVzaCh2YWx1ZSk7Ci0g
ICAgICAgICAgICAgICAgICAgIHJldHVybiAiYyI7Ci0gICAgICAgICAgICAgICAgfSkKLSAgICAg
ICAgICAgIC50aGVuKAotICAgICAgICAgICAgICAgIGZ1bmN0aW9uKHZhbHVlKSB7Ci0gICAgICAg
ICAgICAgICAgICAgIHJlc29sdXRpb25zLnB1c2godmFsdWUpOwotICAgICAgICAgICAgICAgICAg
ICBhc3NlcnRfYXJyYXlfZXF1YWxzKHJlc29sdXRpb25zLCBbImEiLCAiYiIsICJjIl0pOwotICAg
ICAgICAgICAgICAgIH0pOwotICAgIH0sCi0gICAgIkNoYWluIG9mIHByb21pc2UgcmVzb2x1dGlv
bnMiKTsKLQotcHJvbWlzZV90ZXN0KAotICAgIGZ1bmN0aW9uKHQpIHsKLSAgICAgICAgdmFyIHJl
c29sdXRpb25zID0gW107Ci0gICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoIngiKQotICAg
ICAgICAgICAgLnRoZW4oCi0gICAgICAgICAgICAgICAgZnVuY3Rpb24odmFsdWUpIHsKLSAgICAg
ICAgICAgICAgICAgICAgYXNzZXJ0X3RydWUoZmFsc2UsICJFeHBlY3RlZCBmYWlsdXJlLiIpOwot
ICAgICAgICAgICAgICAgIH0pCi0gICAgICAgICAgICAudGhlbih0LnVucmVhY2hlZF9mdW5jKCJV
TkVYUEVDVEVEIEZBSUxVUkU6IFByb21pc2Ugc2hvdWxkIG5vdCBoYXZlIHJlc29sdmVkLiIpKTsK
LSAgICB9LAotICAgICJBc3NlcnRpb24gZmFpbHVyZSBpbiBhIGZ1bGZpbGwgcmVhY3Rpb24gKHNo
b3VsZCBGQUlMIHdpdGggYW4gZXhwZWN0ZWQgZmFpbHVyZSkiKTsKLQotcHJvbWlzZV90ZXN0KAot
ICAgIGZ1bmN0aW9uKHQpIHsKLSAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKAotICAgICAgICAg
ICAgICAgIGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewotICAgICAgICAgICAgICAgICAgICBy
ZWplY3QoMTIzKTsKLSAgICAgICAgICAgICAgICB9KQotICAgICAgICAgICAgLnRoZW4odC51bnJl
YWNoZWRfZnVuYygiVU5FWFBFQ1RFRCBGQUlMVVJFOiBGdWxmaWxsIHJlYWN0aW9uIHJlYWNoZWQg
YWZ0ZXIgcmVqZWN0aW9uLiIpLAotICAgICAgICAgICAgICAgICAgdC51bnJlYWNoZWRfZnVuYygi
RXhwZWN0ZWQgZmFpbHVyZS4iKSk7Ci0gICAgfSwKLSAgICAidW5yZWFjaGVkX2Z1bmMgYXMgcmVh
Y3RvciAoc2hvdWxkIEZBSUwgd2l0aCBhbiBleHBlY3RlZCBmYWlsdXJlKSIpOwotCi1wcm9taXNl
X3Rlc3QoCi0gICAgZnVuY3Rpb24oKSB7Ci0gICAgICAgIHJldHVybiB0cnVlOwotICAgIH0sCi0g
ICAgInByb21pc2VfdGVzdCB3aXRoIGZ1bmN0aW9uIHRoYXQgZG9lc24ndCByZXR1cm4gYSBQcm9t
aXNlIik7Ci0KLXByb21pc2VfdGVzdChmdW5jdGlvbigpe30sCi0gICAgICAgICAgICAgInByb21p
c2VfdGVzdCB3aXRoIGZ1bmN0aW9uIHRoYXQgZG9lc24ndCByZXR1cm4gYW55dGhpbmciKTsKLQot
cHJvbWlzZV90ZXN0KAotICAgIGZ1bmN0aW9uKCkgewotICAgICAgICByZXR1cm4gUHJvbWlzZS5y
ZWplY3QoIkV4cGVjdGVkIHJlamVjdGlvbiIpOwotICAgIH0sCi0gICAgInByb21pc2VfdGVzdCB3
aXRoIHVuaGFuZGxlZCByZWplY3Rpb24gKHNob3VsZCBGQUlMKSIpOwotCi1wcm9taXNlX3Rlc3Qo
Ci0gICAgZnVuY3Rpb24oKSB7Ci0gICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoMTApCi0g
ICAgICAgICAgICAudGhlbigKLSAgICAgICAgICAgICAgICBmdW5jdGlvbih2YWx1ZSkgewotICAg
ICAgICAgICAgICAgICAgICB0aHJvdyBFcnJvcigiRXhwZWN0ZWQgZXhjZXB0aW9uLiIpOwotICAg
ICAgICAgICAgICAgIH0pOwotICAgIH0sCi0gICAgInByb21pc2VfdGVzdCB3aXRoIHVuaGFuZGxl
ZCBleGNlcHRpb24gaW4gZnVsZmlsbCByZWFjdGlvbiAoc2hvdWxkIEZBSUwpIik7Ci0KLXByb21p
c2VfdGVzdCgKLSAgICBmdW5jdGlvbih0KSB7Ci0gICAgICAgIHJldHVybiBQcm9taXNlLnJlamVj
dCgxMCkKLSAgICAgICAgICAgIC50aGVuKAotICAgICAgICAgICAgICAgIHQudW5yZWFjaGVkX2Z1
bmMoIlVORVhQRUNURUQgRkFJTFVSRTogRnVsZmlsbCByZWFjdGlvbiByZWFjaGVkIGFmdGVyIHJl
amVjdGlvbi4iKSwKLSAgICAgICAgICAgICAgICBmdW5jdGlvbih2YWx1ZSkgewotICAgICAgICAg
ICAgICAgICAgICB0aHJvdyBFcnJvcigiRXhwZWN0ZWQgZXhjZXB0aW9uLiIpOwotICAgICAgICAg
ICAgICAgIH0pOwotICAgIH0sCi0gICAgInByb21pc2VfdGVzdCB3aXRoIHVuaGFuZGxlZCBleGNl
cHRpb24gaW4gcmVqZWN0IHJlYWN0aW9uIChzaG91bGQgRkFJTCkiKTsKLTwvc2NyaXB0PgotPHNj
cmlwdCB0eXBlPSJ0ZXh0L2pzb24iIGlkPSJleHBlY3RlZCI+Ci17Ci0gICJzdW1tYXJpemVkX3N0
YXR1cyI6IHsKLSAgICAic3RhdHVzX3N0cmluZyI6ICJPSyIsCi0gICAgIm1lc3NhZ2UiOiBudWxs
LAotICAgICJzdGFjayI6IG51bGwKLSAgfSwKLSAgInN1bW1hcml6ZWRfdGVzdHMiOiBbCi0gICAg
ewotICAgICAgInN0YXR1c19zdHJpbmciOiAiRkFJTCIsCi0gICAgICAibmFtZSI6ICJBc3NlcnRp
b24gZmFpbHVyZSBpbiBhIGZ1bGZpbGwgcmVhY3Rpb24gKHNob3VsZCBGQUlMIHdpdGggYW4gZXhw
ZWN0ZWQgZmFpbHVyZSkiLAotICAgICAgInN0YWNrIjogIihpbXBsZW1lbnRhdGlvbi1kZWZpbmVk
KSIsCi0gICAgICAibWVzc2FnZSI6ICJhc3NlcnRfdHJ1ZTogRXhwZWN0ZWQgZmFpbHVyZS4gZXhw
ZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UiLAotICAgICAgInByb3BlcnRpZXMiOiB7fQotICAgIH0sCi0g
ICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJDaGFp
biBvZiBwcm9taXNlIHJlc29sdXRpb25zIiwKLSAgICAgICJzdGFjayI6IG51bGwsCi0gICAgICAi
bWVzc2FnZSI6IG51bGwsCi0gICAgICAicHJvcGVydGllcyI6IHt9Ci0gICAgfSwKLSAgICB7Ci0g
ICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1lIjogIlByb21pc2UgZnVs
ZmlsbG1lbnQgd2l0aCByZXN1bHQiLAotICAgICAgInN0YWNrIjogbnVsbCwKLSAgICAgICJtZXNz
YWdlIjogbnVsbCwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30KLSAgICB9LAotICAgIHsKLSAgICAg
ICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUiOiAiUHJvbWlzZSByZWplY3Rp
b24gd2l0aCByZXN1bHQiLAotICAgICAgInN0YWNrIjogbnVsbCwKLSAgICAgICJtZXNzYWdlIjog
bnVsbCwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30KLSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0
dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUiOiAiUHJvbWlzZXMgYXJlIHN1cHBvcnRl
ZCBpbiB5b3VyIGJyb3dzZXIiLAotICAgICAgInN0YWNrIjogbnVsbCwKLSAgICAgICJtZXNzYWdl
IjogbnVsbCwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30KLSAgICB9LAotICAgIHsKLSAgICAgICJz
dGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUiOiAicHJvbWlzZV90ZXN0IHdpdGgg
ZnVuY3Rpb24gdGhhdCBkb2Vzbid0IHJldHVybiBhIFByb21pc2UiLAotICAgICAgInN0YWNrIjog
bnVsbCwKLSAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30KLSAg
ICB9LAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIkZBSUwiLAotICAgICAgIm5hbWUi
OiAicHJvbWlzZV90ZXN0IHdpdGggZnVuY3Rpb24gdGhhdCBkb2Vzbid0IHJldHVybiBhbnl0aGlu
ZyIsCi0gICAgICAic3RhY2siOiAiKGltcGxlbWVudGF0aW9uLWRlZmluZWQpIiwKLSAgICAgICJt
ZXNzYWdlIjogImFzc2VydF9ub3RfZXF1YWxzOiBnb3QgZGlzYWxsb3dlZCB2YWx1ZSB1bmRlZmlu
ZWQiLAotICAgICAgInByb3BlcnRpZXMiOiB7fQotICAgIH0sCi0gICAgewotICAgICAgInN0YXR1
c19zdHJpbmciOiAiRkFJTCIsCi0gICAgICAibmFtZSI6ICJwcm9taXNlX3Rlc3Qgd2l0aCB1bmhh
bmRsZWQgZXhjZXB0aW9uIGluIGZ1bGZpbGwgcmVhY3Rpb24gKHNob3VsZCBGQUlMKSIsCi0gICAg
ICAic3RhY2siOiAiKGltcGxlbWVudGF0aW9uLWRlZmluZWQpIiwKLSAgICAgICJtZXNzYWdlIjog
InByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgXCJF
cnJvcjogRXhwZWN0ZWQgZXhjZXB0aW9uLlwiIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30KLSAg
ICB9LAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIkZBSUwiLAotICAgICAgIm5hbWUi
OiAicHJvbWlzZV90ZXN0IHdpdGggdW5oYW5kbGVkIGV4Y2VwdGlvbiBpbiByZWplY3QgcmVhY3Rp
b24gKHNob3VsZCBGQUlMKSIsCi0gICAgICAic3RhY2siOiAiKGltcGxlbWVudGF0aW9uLWRlZmlu
ZWQpIiwKLSAgICAgICJtZXNzYWdlIjogInByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlv
biB3aXRoIHZhbHVlOiBvYmplY3QgXCJFcnJvcjogRXhwZWN0ZWQgZXhjZXB0aW9uLlwiIiwKLSAg
ICAgICJwcm9wZXJ0aWVzIjoge30KLSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5n
IjogIkZBSUwiLAotICAgICAgIm5hbWUiOiAicHJvbWlzZV90ZXN0IHdpdGggdW5oYW5kbGVkIHJl
amVjdGlvbiAoc2hvdWxkIEZBSUwpIiwKLSAgICAgICJzdGFjayI6ICIoaW1wbGVtZW50YXRpb24t
ZGVmaW5lZCkiLAotICAgICAgIm1lc3NhZ2UiOiAicHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVq
ZWN0aW9uIHdpdGggdmFsdWU6IFwiRXhwZWN0ZWQgcmVqZWN0aW9uXCIiLAotICAgICAgInByb3Bl
cnRpZXMiOiB7fQotICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiRkFJTCIs
Ci0gICAgICAibmFtZSI6ICJ1bnJlYWNoZWRfZnVuYyBhcyByZWFjdG9yIChzaG91bGQgRkFJTCB3
aXRoIGFuIGV4cGVjdGVkIGZhaWx1cmUpIiwKLSAgICAgICJzdGFjayI6ICIoaW1wbGVtZW50YXRp
b24tZGVmaW5lZCkiLAotICAgICAgIm1lc3NhZ2UiOiAiYXNzZXJ0X3VucmVhY2hlZDogRXhwZWN0
ZWQgZmFpbHVyZS4gUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlIiwKLSAgICAgICJwcm9wZXJ0aWVz
Ijoge30KLSAgICB9Ci0gIF0sCi0gICJ0eXBlIjogImNvbXBsZXRlIgotfQotPC9zY3JpcHQ+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy90ZXN0L3Rlc3RzL3NpbmdsZS1wYWdlLXRlc3QtZmFpbC5odG1sIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9z
aW5nbGUtcGFnZS10ZXN0LWZhaWwuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
YTFmODgxMDczODIuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvc2luZ2xlLXBhZ2UtdGVzdC1m
YWlsLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwyOSArMCwwIEBACi08IURPQ1RZUEUgSFRNTD4K
LTx0aXRsZT5FeGFtcGxlIHdpdGggZmlsZV9pc190ZXN0IChzaG91bGQgZmFpbCk8L3RpdGxlPgot
PHNjcmlwdCBzcmM9Ii4uLy4uL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIuLi8uLi90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0Pgotb25sb2Fk
ID0gZnVuY3Rpb24oKSB7Ci0gIGFzc2VydF90cnVlKGZhbHNlKTsKLSAgZG9uZSgpOwotfQotPC9z
Y3JpcHQ+Ci08c2NyaXB0IHR5cGU9InRleHQvanNvbiIgaWQ9ImV4cGVjdGVkIj4KLXsKLSAgInN1
bW1hcml6ZWRfc3RhdHVzIjogewotICAgICJzdGF0dXNfc3RyaW5nIjogIk9LIiwKLSAgICAibWVz
c2FnZSI6IG51bGwsCi0gICAgInN0YWNrIjogbnVsbAotICB9LAotICAic3VtbWFyaXplZF90ZXN0
cyI6IFsKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJGQUlMIiwKLSAgICAgICJuYW1l
IjogIkV4YW1wbGUgd2l0aCBmaWxlX2lzX3Rlc3QgKHNob3VsZCBmYWlsKSIsCi0gICAgICAicHJv
cGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiAidW5jYXVnaHQgZXhjZXB0aW9uOiBFcnJv
cjogYXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlIiwKLSAgICAgICJzdGFjayI6
ICIoaW1wbGVtZW50YXRpb24tZGVmaW5lZCkiCi0gICAgfQotICBdLAotICAidHlwZSI6ICJjb21w
bGV0ZSIKLX0KLTwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9zaW5nbGUtcGFnZS10ZXN0
LW5vLWFzc2VydGlvbnMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvc2luZ2xlLXBhZ2UtdGVzdC1uby1hc3NlcnRp
b25zLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDM0MDJhNDY5Y2Y4Li4wMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy90ZXN0L3Rlc3RzL3NpbmdsZS1wYWdlLXRlc3Qtbm8tYXNzZXJ0aW9ucy5odG1s
CisrKyAvZGV2L251bGwKQEAgLTEsMjYgKzAsMCBAQAotPCFET0NUWVBFIEhUTUw+Ci08dGl0bGU+
RXhhbXBsZSBzaW5nbGUgcGFnZSB0ZXN0IHdpdGggbm8gYXNzZXJ0czwvdGl0bGU+Ci08c2NyaXB0
IHNyYz0iLi4vLi4vdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4u
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci1kb25lKCk7Ci08L3Nj
cmlwdD4KLTxzY3JpcHQgdHlwZT0idGV4dC9qc29uIiBpZD0iZXhwZWN0ZWQiPgotewotICAic3Vt
bWFyaXplZF9zdGF0dXMiOiB7Ci0gICAgInN0YXR1c19zdHJpbmciOiAiT0siLAotICAgICJtZXNz
YWdlIjogbnVsbCwKLSAgICAic3RhY2siOiBudWxsCi0gIH0sCi0gICJzdW1tYXJpemVkX3Rlc3Rz
IjogWwotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUi
OiAiRXhhbXBsZSBzaW5nbGUgcGFnZSB0ZXN0IHdpdGggbm8gYXNzZXJ0cyIsCi0gICAgICAicHJv
cGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgInN0YWNrIjogbnVs
bAotICAgIH0KLSAgXSwKLSAgInR5cGUiOiAiY29tcGxldGUiCi19Ci08L3NjcmlwdD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3Rlc3QvdGVzdHMvc2luZ2xlLXBhZ2UtdGVzdC1uby1ib2R5Lmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL3Np
bmdsZS1wYWdlLXRlc3Qtbm8tYm9keS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwNjUwOTFhOTNlOC4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9zaW5nbGUtcGFnZS10ZXN0
LW5vLWJvZHkuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDI3ICswLDAgQEAKLTwhRE9DVFlQRSBI
VE1MPgotPHRpdGxlPkV4YW1wbGUgc2luZ2xlIHBhZ2UgdGVzdCB3aXRoIG5vIGJvZHk8L3RpdGxl
PgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIuLi8uLi90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotYXNz
ZXJ0X3RydWUodHJ1ZSk7Ci1kb25lKCk7Ci08L3NjcmlwdD4KLTxzY3JpcHQgdHlwZT0idGV4dC9q
c29uIiBpZD0iZXhwZWN0ZWQiPgotewotICAic3VtbWFyaXplZF9zdGF0dXMiOiB7Ci0gICAgInN0
YXR1c19zdHJpbmciOiAiT0siLAotICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAic3RhY2siOiBu
dWxsCi0gIH0sCi0gICJzdW1tYXJpemVkX3Rlc3RzIjogWwotICAgIHsKLSAgICAgICJzdGF0dXNf
c3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUiOiAiRXhhbXBsZSBzaW5nbGUgcGFnZSB0ZXN0
IHdpdGggbm8gYm9keSIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2Ui
OiBudWxsLAotICAgICAgInN0YWNrIjogbnVsbAotICAgIH0KLSAgXSwKLSAgInR5cGUiOiAiY29t
cGxldGUiCi19Ci08L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvc2luZ2xlLXBhZ2UtdGVz
dC1wYXNzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy90ZXN0L3Rlc3RzL3NpbmdsZS1wYWdlLXRlc3QtcGFzcy5odG1sCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzMWU0ZTY0OTQ3MS4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90
ZXN0cy9zaW5nbGUtcGFnZS10ZXN0LXBhc3MuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDI5ICsw
LDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPHRpdGxlPkV4YW1wbGUgd2l0aCBmaWxlX2lzX3Rlc3Q8
L3RpdGxlPgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSIuLi8uLi90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
Pgotb25sb2FkID0gZnVuY3Rpb24oKSB7Ci0gIGFzc2VydF90cnVlKHRydWUpOwotICBkb25lKCk7
Ci19Ci08L3NjcmlwdD4KLTxzY3JpcHQgdHlwZT0idGV4dC9qc29uIiBpZD0iZXhwZWN0ZWQiPgot
ewotICAic3VtbWFyaXplZF9zdGF0dXMiOiB7Ci0gICAgInN0YXR1c19zdHJpbmciOiAiT0siLAot
ICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAic3RhY2siOiBudWxsCi0gIH0sCi0gICJzdW1tYXJp
emVkX3Rlc3RzIjogWwotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAg
ICAgIm5hbWUiOiAiRXhhbXBsZSB3aXRoIGZpbGVfaXNfdGVzdCIsCi0gICAgICAicHJvcGVydGll
cyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgInN0YWNrIjogbnVsbAotICAg
IH0KLSAgXSwKLSAgInR5cGUiOiAiY29tcGxldGUiCi19Ci08L3NjcmlwdD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rl
c3QvdGVzdHMvdW5jYXVnaHQtZXhjZXB0aW9uLWhhbmRsZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy91bmNhdWdo
dC1leGNlcHRpb24taGFuZGxlLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDdk
ODI0NGJmMWNlLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL3VuY2F1Z2h0LWV4Y2VwdGlvbi1o
YW5kbGUuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDM1ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1M
PgotPGh0bWw+Ci08aGVhZD4KLTx0aXRsZT5IYXJuZXNzIEhhbmRsaW5nIFVuY2F1Z2h0IEV4Y2Vw
dGlvbjwvdGl0bGU+Ci08L2hlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vdGVzdGhhcm5lc3MuanMi
Pjwvc2NyaXB0PgotCi08Ym9keT4KLTxoMT5IYXJuZXNzIEhhbmRsaW5nIFVuY2F1Z2h0IEV4Y2Vw
dGlvbjwvaDE+Ci08ZGl2IGlkPSJsb2ciPjwvZGl2PgotPHNjcmlwdD4KLXZhciB0ID0gYXN5bmNf
dGVzdCgiVGhpcyBzaG91bGQgc2hvdyBhIGhhcm5lc3Mgc3RhdHVzIG9mICdFcnJvcicgYW5kIGEg
dGVzdCBzdGF0dXMgb2YgJ05vdCBSdW4nIik7Ci10aHJvdyBuZXcgRXJyb3IoIkV4YW1wbGUgRXJy
b3IiKTsKLTwvc2NyaXB0PgotPHNjcmlwdCB0eXBlPSJ0ZXh0L2pzb24iIGlkPSJleHBlY3RlZCI+
Ci17Ci0gICJzdW1tYXJpemVkX3N0YXR1cyI6IHsKLSAgICAic3RhdHVzX3N0cmluZyI6ICJFUlJP
UiIsCi0gICAgIm1lc3NhZ2UiOiAiRXJyb3I6IEV4YW1wbGUgRXJyb3IiLAotICAgICJzdGFjayI6
ICIoaW1wbGVtZW50YXRpb24tZGVmaW5lZCkiCi0gIH0sCi0gICJzdW1tYXJpemVkX3Rlc3RzIjog
WwotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIk5PVFJVTiIsCi0gICAgICAibmFtZSI6
ICJUaGlzIHNob3VsZCBzaG93IGEgaGFybmVzcyBzdGF0dXMgb2YgJ0Vycm9yJyBhbmQgYSB0ZXN0
IHN0YXR1cyBvZiAnTm90IFJ1biciLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJt
ZXNzYWdlIjogbnVsbCwKLSAgICAgICJzdGFjayI6IG51bGwKLSAgICB9Ci0gIF0sCi0gICJ0eXBl
IjogImNvbXBsZXRlIgotfQotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90
ZXN0L3Rlc3RzL3VuY2F1Z2h0LWV4Y2VwdGlvbi1pZ25vcmUuaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvdW5jYXVn
aHQtZXhjZXB0aW9uLWlnbm9yZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5
ZjQ1ZGRiNDdmNS4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy91bmNhdWdodC1leGNlcHRpb24t
aWdub3JlLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwzNyArMCwwIEBACi08IURPQ1RZUEUgSFRN
TD4KLTxodG1sPgotPGhlYWQ+Ci08dGl0bGU+SGFybmVzcyBJZ25vcmluZyBVbmNhdWdodCBFeGNl
cHRpb248L3RpdGxlPgotPC9oZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KLQotPGJvZHk+Ci08aDE+SGFybmVzcyBJZ25vcmluZyBVbmNhdWdodCBFeGNl
cHRpb248L2gxPgotPGRpdiBpZD0ibG9nIj48L2Rpdj4KLTxzY3JpcHQ+Ci1zZXR1cCh7YWxsb3df
dW5jYXVnaHRfZXhjZXB0aW9uOnRydWV9KTsKLXZhciB0ID0gYXN5bmNfdGVzdCgic2V0dXAoe2Fs
bG93X3VuY2F1Z2h0X2V4Y2VwdGlvbjp0cnVlfSkgc2hvdWxkIGFsbG93IHRlc3RzIHRvIHBhc3Mg
ZXZlbiBpZiB0aGVyZSBpcyBhbiBleGNlcHRpb24iKTsKLW9uZXJyb3IgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbigpIHt0LmRvbmUoKX0pOwotdGhyb3cgbmV3IEVycm9yKCJFeGFtcGxlIEVycm9yIik7
Ci08L3NjcmlwdD4KLTxzY3JpcHQgdHlwZT0idGV4dC9qc29uIiBpZD0iZXhwZWN0ZWQiPgotewot
ICAic3VtbWFyaXplZF9zdGF0dXMiOiB7Ci0gICAgInN0YXR1c19zdHJpbmciOiAiT0siLAotICAg
ICJtZXNzYWdlIjogbnVsbCwKLSAgICAic3RhY2siOiBudWxsCi0gIH0sCi0gICJzdW1tYXJpemVk
X3Rlc3RzIjogWwotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAg
Im5hbWUiOiAic2V0dXAoe2FsbG93X3VuY2F1Z2h0X2V4Y2VwdGlvbjp0cnVlfSkgc2hvdWxkIGFs
bG93IHRlc3RzIHRvIHBhc3MgZXZlbiBpZiB0aGVyZSBpcyBhbiBleGNlcHRpb24iLAotICAgICAg
InByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICJzdGFjayI6
IG51bGwKLSAgICB9Ci0gIF0sCi0gICJ0eXBlIjogImNvbXBsZXRlIgotfQotPC9zY3JpcHQ+Ci08
L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL3VuaXQvSWRsQXJyYXkvaXNfanNv
bl90eXBlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy90ZXN0L3Rlc3RzL3VuaXQvSWRsQXJyYXkvaXNfanNvbl90eXBlLmh0bWwKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ2M2QyYjQ1MzA5Li4wMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90
ZXN0L3Rlc3RzL3VuaXQvSWRsQXJyYXkvaXNfanNvbl90eXBlLmh0bWwKKysrIC9kZXYvbnVsbApA
QCAtMSwxOTQgKzAsMCBAQAotPCFET0NUWVBFIEhUTUw+Ci08aHRtbD4KLTxoZWFkPgotPHRpdGxl
PklkbEFycmF5LnByb3RvdHlwZS5pc19qc29uX3R5cGUoKTwvdGl0bGU+Ci08L2hlYWQ+Ci08Ym9k
eT4KLTxkaXYgaWQ9ImxvZyI+PC9kaXY+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9XZWJJRExQYXJzZXIu
anMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvaWRsaGFybmVzcy5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4vaWRsLWhlbHBlci5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0PgotICAgICJ1c2Ugc3RyaWN0IjsKLQotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAg
ICAgIHZhciBpZGwgPSBuZXcgSWRsQXJyYXkoKTsKLSAgICAgICAgYXNzZXJ0X3RydWUoaWRsLmlz
X2pzb25fdHlwZSh0eXBlRnJvbSgiRE9NU3RyaW5nIikpKTsKLSAgICAgICAgYXNzZXJ0X3RydWUo
aWRsLmlzX2pzb25fdHlwZSh0eXBlRnJvbSgiQnl0ZVN0cmluZyIpKSk7Ci0gICAgICAgIGFzc2Vy
dF90cnVlKGlkbC5pc19qc29uX3R5cGUodHlwZUZyb20oIlVTVlN0cmluZyIpKSk7Ci0gICAgICAg
IGlkbC5hZGRfdW50ZXN0ZWRfaWRscygnZW51bSBCYXJFbnVtIHsgImEiLCAiYiIsICJjIiB9Oycp
OwotICAgICAgICBhc3NlcnRfdHJ1ZShpZGwuaXNfanNvbl90eXBlKHR5cGVGcm9tKCJCYXJFbnVt
IikpKTsKLSAgICB9LCAnc2hvdWxkIHJldHVybiB0cnVlIGZvciBhbGwgc3RyaW5nIHR5cGVzJyk7
Ci0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgaWRsID0gbmV3IElkbEFycmF5
KCk7Ci0gICAgICAgIGFzc2VydF9mYWxzZShpZGwuaXNfanNvbl90eXBlKHR5cGVGcm9tKCJFcnJv
ciIpKSk7Ci0gICAgICAgIGFzc2VydF9mYWxzZShpZGwuaXNfanNvbl90eXBlKHR5cGVGcm9tKCJE
T01FeGNlcHRpb24iKSkpOwotICAgIH0sICdzaG91bGQgcmV0dXJuIGZhbHNlIGZvciBhbGwgZXhj
ZXB0aW9uIHR5cGVzJyk7Ci0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgaWRs
ID0gbmV3IElkbEFycmF5KCk7Ci0gICAgICAgIGFzc2VydF9mYWxzZShpZGwuaXNfanNvbl90eXBl
KHR5cGVGcm9tKCJJbnQ4QXJyYXkiKSkpOwotICAgICAgICBhc3NlcnRfZmFsc2UoaWRsLmlzX2pz
b25fdHlwZSh0eXBlRnJvbSgiSW50MTZBcnJheSIpKSk7Ci0gICAgICAgIGFzc2VydF9mYWxzZShp
ZGwuaXNfanNvbl90eXBlKHR5cGVGcm9tKCJJbnQzMkFycmF5IikpKTsKLSAgICAgICAgYXNzZXJ0
X2ZhbHNlKGlkbC5pc19qc29uX3R5cGUodHlwZUZyb20oIlVpbnQ4QXJyYXkiKSkpOwotICAgICAg
ICBhc3NlcnRfZmFsc2UoaWRsLmlzX2pzb25fdHlwZSh0eXBlRnJvbSgiVWludDE2QXJyYXkiKSkp
OwotICAgICAgICBhc3NlcnRfZmFsc2UoaWRsLmlzX2pzb25fdHlwZSh0eXBlRnJvbSgiVWludDMy
QXJyYXkiKSkpOwotICAgICAgICBhc3NlcnRfZmFsc2UoaWRsLmlzX2pzb25fdHlwZSh0eXBlRnJv
bSgiVWludDhDbGFtcGVkQXJyYXkiKSkpOwotICAgICAgICBhc3NlcnRfZmFsc2UoaWRsLmlzX2pz
b25fdHlwZSh0eXBlRnJvbSgiRmxvYXQzMkFycmF5IikpKTsKLSAgICAgICAgYXNzZXJ0X2ZhbHNl
KGlkbC5pc19qc29uX3R5cGUodHlwZUZyb20oIkFycmF5QnVmZmVyIikpKTsKLSAgICAgICAgYXNz
ZXJ0X2ZhbHNlKGlkbC5pc19qc29uX3R5cGUodHlwZUZyb20oIkRhdGFWaWV3IikpKTsKLSAgICB9
LCAnc2hvdWxkIHJldHVybiBmYWxzZSBmb3IgYWxsIGJ1ZmZlciBzb3VyY2UgdHlwZXMnKTsKLQot
ICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBpZGwgPSBuZXcgSWRsQXJyYXkoKTsK
LSAgICAgICAgYXNzZXJ0X3RydWUoaWRsLmlzX2pzb25fdHlwZSh0eXBlRnJvbSgiYm9vbGVhbiIp
KSk7Ci0gICAgfSwgJ3Nob3VsZCByZXR1cm4gdHJ1ZSBmb3IgYm9vbGVhbicpOwotCi0gICAgdGVz
dChmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIGlkbCA9IG5ldyBJZGxBcnJheSgpOwotICAgICAg
ICBhc3NlcnRfdHJ1ZShpZGwuaXNfanNvbl90eXBlKHR5cGVGcm9tKCJieXRlIikpKTsKLSAgICAg
ICAgYXNzZXJ0X3RydWUoaWRsLmlzX2pzb25fdHlwZSh0eXBlRnJvbSgib2N0ZXQiKSkpOwotICAg
ICAgICBhc3NlcnRfdHJ1ZShpZGwuaXNfanNvbl90eXBlKHR5cGVGcm9tKCJzaG9ydCIpKSk7Ci0g
ICAgICAgIGFzc2VydF90cnVlKGlkbC5pc19qc29uX3R5cGUodHlwZUZyb20oInVuc2lnbmVkIHNo
b3J0IikpKTsKLSAgICAgICAgYXNzZXJ0X3RydWUoaWRsLmlzX2pzb25fdHlwZSh0eXBlRnJvbSgi
bG9uZyIpKSk7Ci0gICAgICAgIGFzc2VydF90cnVlKGlkbC5pc19qc29uX3R5cGUodHlwZUZyb20o
InVuc2lnbmVkIGxvbmciKSkpOwotICAgICAgICBhc3NlcnRfdHJ1ZShpZGwuaXNfanNvbl90eXBl
KHR5cGVGcm9tKCJsb25nIGxvbmciKSkpOwotICAgICAgICBhc3NlcnRfdHJ1ZShpZGwuaXNfanNv
bl90eXBlKHR5cGVGcm9tKCJ1bnNpZ25lZCBsb25nIGxvbmciKSkpOwotICAgICAgICBhc3NlcnRf
dHJ1ZShpZGwuaXNfanNvbl90eXBlKHR5cGVGcm9tKCJmbG9hdCIpKSk7Ci0gICAgICAgIGFzc2Vy
dF90cnVlKGlkbC5pc19qc29uX3R5cGUodHlwZUZyb20oInVucmVzdHJpY3RlZCBmbG9hdCIpKSk7
Ci0gICAgICAgIGFzc2VydF90cnVlKGlkbC5pc19qc29uX3R5cGUodHlwZUZyb20oImRvdWJsZSIp
KSk7Ci0gICAgICAgIGFzc2VydF90cnVlKGlkbC5pc19qc29uX3R5cGUodHlwZUZyb20oInVucmVz
dHJpY3RlZCBkb3VibGUiKSkpOwotICAgIH0sICdzaG91bGQgcmV0dXJuIHRydWUgZm9yIGFsbCBu
dW1lcmljIHR5cGVzJyk7Ci0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgaWRs
ID0gbmV3IElkbEFycmF5KCk7Ci0gICAgICAgIGFzc2VydF9mYWxzZShpZGwuaXNfanNvbl90eXBl
KHR5cGVGcm9tKCJQcm9taXNlPERPTVN0cmluZz4iKSkpOwotICAgIH0sICdzaG91bGQgcmV0dXJu
IGZhbHNlIGZvciBwcm9taXNlcycpOwotCi0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAg
dmFyIGlkbCA9IG5ldyBJZGxBcnJheSgpOwotICAgICAgICBhc3NlcnRfZmFsc2UoaWRsLmlzX2pz
b25fdHlwZSh0eXBlRnJvbSgic2VxdWVuY2U8RE9NRXhjZXB0aW9uPiIpKSk7Ci0gICAgICAgIGFz
c2VydF90cnVlKGlkbC5pc19qc29uX3R5cGUodHlwZUZyb20oInNlcXVlbmNlPERPTVN0cmluZz4i
KSkpOwotICAgIH0sICdzaG91bGQgaGFuZGxlIHNlcXVlbmNlcyBhY2NvcmRpbmcgdG8gdGhlaXIg
aW5uZXIgdHlwZXMnKTsKLQotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBpZGwg
PSBuZXcgSWRsQXJyYXkoKTsKLSAgICAgICAgYXNzZXJ0X2ZhbHNlKGlkbC5pc19qc29uX3R5cGUo
dHlwZUZyb20oIkZyb3plbkFycmF5PERPTUV4Y2VwdGlvbj4iKSkpOwotICAgICAgICBhc3NlcnRf
dHJ1ZShpZGwuaXNfanNvbl90eXBlKHR5cGVGcm9tKCJGcm96ZW5BcnJheTxET01TdHJpbmc+Iikp
KTsKLSAgICB9LCAnc2hvdWxkIGhhbmRsZSBmcm96ZW4gYXJyYXlzIGFjY29yZGluZyB0byB0aGVp
ciBpbm5lciB0eXBlcycpOwotCi0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIGlk
bCA9IG5ldyBJZGxBcnJheSgpOwotICAgICAgICBhc3NlcnRfdHJ1ZShpZGwuaXNfanNvbl90eXBl
KHR5cGVGcm9tKCJyZWNvcmQ8RE9NU3RyaW5nLCBET01TdHJpbmc+IikpKTsKLSAgICAgICAgYXNz
ZXJ0X2ZhbHNlKGlkbC5pc19qc29uX3R5cGUodHlwZUZyb20oInJlY29yZDxET01TdHJpbmcsIEVy
cm9yPiIpKSk7Ci0gICAgfSwgJ3Nob3VsZCBoYW5kbGUgcmVjb3JkcyBhY2NvcmRpbmcgdG8gdGhl
aXIgaW5uZXIgdHlwZXMnKTsKLQotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBp
ZGwgPSBuZXcgSWRsQXJyYXkoKTsKLSAgICAgICAgYXNzZXJ0X3RydWUoaWRsLmlzX2pzb25fdHlw
ZSh0eXBlRnJvbSgib2JqZWN0IikpKTsKLSAgICB9LCAnc2hvdWxkIHJldHVybiB0cnVlIGZvciBv
YmplY3QgdHlwZScpOwotCi0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIGlkbCA9
IG5ldyBJZGxBcnJheSgpOwotICAgICAgICBhc3NlcnRfZmFsc2UoaWRsLmlzX2pzb25fdHlwZSh0
eXBlRnJvbSgiYW55IikpKTsKLSAgICB9LCAnc2hvdWxkIHJldHVybiBmYWxzZSBmb3IgYW55IHR5
cGUnKTsKLQotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBpZGwgPSBuZXcgSWRs
QXJyYXkoKTsKLSAgICAgICAgaWRsLmFkZF91bnRlc3RlZF9pZGxzKCdkaWN0aW9uYXJ5IEZvbyB7
IERPTVN0cmluZyBmb287IH07IGRpY3Rpb25hcnkgQmFyIDogRm9vIHsgRE9NU3RyaW5nIGJhcjsg
fTsnKTsKLSAgICAgICAgYXNzZXJ0X3RydWUoaWRsLmlzX2pzb25fdHlwZSh0eXBlRnJvbSgiRm9v
IikpKTsKLSAgICAgICAgYXNzZXJ0X3RydWUoaWRsLmlzX2pzb25fdHlwZSh0eXBlRnJvbSgiQmFy
IikpKTsKLSAgICB9LCAnc2hvdWxkIHJldHVybiB0cnVlIGZvciBkaWN0aW9uYXJpZXMgd2hvc2Ug
bWVtYmVycyBhcmUgYWxsIEpTT04gdHlwZXMnKTsKLQotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0g
ICAgICAgIHZhciBpZGwgPSBuZXcgSWRsQXJyYXkoKTsKLSAgICAgICAgaWRsLmFkZF91bnRlc3Rl
ZF9pZGxzKCdkaWN0aW9uYXJ5IEZvbyB7IH07Jyk7Ci0gICAgICAgIGFzc2VydF90cnVlKGlkbC5p
c19qc29uX3R5cGUodHlwZUZyb20oIkZvbyIpKSk7Ci0gICAgfSwgJ3Nob3VsZCByZXR1cm4gdHJ1
ZSBmb3IgZGljdGlvbmFyaWVzIHdoaWNoIGhhdmUgbm8gbWVtYmVycycpOwotCi0gICAgdGVzdChm
dW5jdGlvbigpIHsKLSAgICAgICAgdmFyIGlkbCA9IG5ldyBJZGxBcnJheSgpOwotICAgICAgICBp
ZGwuYWRkX3VudGVzdGVkX2lkbHMoJ2RpY3Rpb25hcnkgRm9vQmFyIHsgRE9NU3RyaW5nIGE7IEVy
cm9yIGI7IH07IGRpY3Rpb25hcnkgQmF6IDogRm9vQmFyIHt9OycpOwotICAgICAgICBhc3NlcnRf
ZmFsc2UoaWRsLmlzX2pzb25fdHlwZSh0eXBlRnJvbSgiRm9vQmFyIikpKTsKLSAgICAgICAgYXNz
ZXJ0X2ZhbHNlKGlkbC5pc19qc29uX3R5cGUodHlwZUZyb20oIkJheiIpKSk7Ci0gICAgfSwgJ3No
b3VsZCByZXR1cm4gZmFsc2UgZm9yIGRpY3Rpb25hcmllcyB3aG9zZSBtZW1iZXJzIGFyZSBub3Qg
YWxsIEpTT04gdHlwZXMnKTsKLQotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBp
ZGwgPSBuZXcgSWRsQXJyYXkoKTsKLSAgICAgICAgaWRsLmFkZF91bnRlc3RlZF9pZGxzKCdpbnRl
cmZhY2UgRm9vIHsgRE9NU3RyaW5nIHRvSlNPTigpOyB9OycpOwotICAgICAgICBhc3NlcnRfdHJ1
ZShpZGwuaXNfanNvbl90eXBlKHR5cGVGcm9tKCJGb28iKSkpOwotICAgIH0sICdzaG91bGQgcmV0
dXJuIHRydWUgZm9yIGludGVyZmFjZXMgd2hpY2ggZGVjbGFyZSBhIHRvSlNPTiBvcGVyYXRpb24n
KTsKLQotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBpZGwgPSBuZXcgSWRsQXJy
YXkoKTsKLSAgICAgICAgaWRsLmFkZF91bnRlc3RlZF9pZGxzKCdpbnRlcmZhY2UgRm9vIHsgRE9N
U3RyaW5nIHRvSlNPTigpOyB9OyBpbnRlcmZhY2UgQmFyIDogRm9vIHsgfTsnKTsKLSAgICAgICAg
YXNzZXJ0X3RydWUoaWRsLmlzX2pzb25fdHlwZSh0eXBlRnJvbSgiQmFyIikpKTsKLSAgICB9LCAn
c2hvdWxkIHJldHVybiB0cnVlIGZvciBpbnRlcmZhY2VzIHdoaWNoIGluaGVyaXQgZnJvbSBhbiBp
bnRlcmZhY2Ugd2hpY2ggZGVjbGFyZXMgYSB0b0pTT04gb3BlcmF0aW9uJyk7Ci0KLSAgICB0ZXN0
KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgaWRsID0gbmV3IElkbEFycmF5KCk7Ci0gICAgICAg
IGlkbC5hZGRfdW50ZXN0ZWRfaWRscygnaW50ZXJmYWNlIEZvbyB7IH07IGludGVyZmFjZSBtaXhp
biBCYXIgeyBET01TdHJpbmcgdG9KU09OKCk7IH07IEZvbyBpbmNsdWRlcyBCYXI7Jyk7Ci0gICAg
ICAgIGFzc2VydF90cnVlKGlkbC5pc19qc29uX3R5cGUodHlwZUZyb20oIkZvbyIpKSk7Ci0gICAg
fSwgJ3Nob3VsZCByZXR1cm4gdHJ1ZSBmb3IgaW50ZXJmYWNlcyB3aGljaCBtaXhpbiBhbiBpbnRl
cmZhY2Ugd2hpY2ggZGVjbGFyZSBhIHRvSlNPTiBvcGVyYXRpb24nKTsKLQotLy8gICAgdGVzdChm
dW5jdGlvbigpIHsKLS8vICAgICAgICB2YXIgaWRsID0gbmV3IElkbEFycmF5KCk7Ci0vLyAgICAg
ICAgaWRsLmFkZF91bnRlc3RlZF9pZGxzKCdpbnRlcmZhY2UgRm9vIHsgfTsgaW50ZXJmYWNlIEJh
ciB7IH07IGludGVyZmFjZSBCYXogeyBET01TdHJpbmcgdG9KU09OKCk7IH07IEZvbyBpbXBsZW1l
bnRzIEJhcjsgQmFyIGltcGxlbWVudHMgQmF6OycpOwotLy8gICAgICAgIGFzc2VydF90cnVlKGlk
bC5pc19qc29uX3R5cGUodHlwZUZyb20oIkZvbyIpKSk7Ci0vLyAgICB9LCAnc2hvdWxkIHJldHVy
biB0cnVlIGZvciBpbnRlcmZhY2VzIHdoaWNoIG1peGluIGFuIGludGVyZmFjZSB3aGljaCBpdHNl
bGYgbWl4ZXMgaW4gYW4gaW50ZXJmYWNlIHdoaWNoIGRlY2xhcmVzIGEgdG9KU09OIG9wZXJhdGlv
bicpOwotCi0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIGlkbCA9IG5ldyBJZGxB
cnJheSgpOwotICAgICAgICBpZGwuYWRkX3VudGVzdGVkX2lkbHMoJ2ludGVyZmFjZSBGb28geyB9
OycpOwotICAgICAgICBhc3NlcnRfZmFsc2UoaWRsLmlzX2pzb25fdHlwZSh0eXBlRnJvbSgiRm9v
IikpKTsKLSAgICB9LCAnc2hvdWxkIHJldHVybiBmYWxzZSBmb3IgaW50ZXJmYWNlcyB3aGljaCBk
byBub3QgZGVjbGFyZSBhIHRvSlNPTiBvcGVyYXRpb24nKTsKLQotICAgIHRlc3QoZnVuY3Rpb24o
KSB7Ci0gICAgICAgIHZhciBpZGwgPSBuZXcgSWRsQXJyYXkoKTsKLSAgICAgICAgaWRsLmFkZF91
bnRlc3RlZF9pZGxzKCdpbnRlcmZhY2UgRm9vIHsgb2JqZWN0IHRvSlNPTigpOyB9OycpOwotICAg
ICAgICBhc3NlcnRfdHJ1ZShpZGwuaXNfanNvbl90eXBlKHR5cGVGcm9tKCIoRm9vIG9yIERPTVN0
cmluZykiKSkpOwotICAgIH0sICdzaG91bGQgcmV0dXJuIHRydWUgZm9yIHVuaW9uIHR5cGVzIHdo
b3NlIG1lbWJlciB0eXBlcyBhcmUgSlNPTiB0eXBlcycpOwotCi0gICAgdGVzdChmdW5jdGlvbigp
IHsKLSAgICAgICAgdmFyIGlkbCA9IG5ldyBJZGxBcnJheSgpOwotICAgICAgICBhc3NlcnRfZmFs
c2UoaWRsLmlzX2pzb25fdHlwZSh0eXBlRnJvbSgiKERhdGFWaWV3IG9yIERPTVN0cmluZykiKSkp
OwotICAgIH0sICdzaG91bGQgcmV0dXJuIGZhbHNlIGZvciB1bmlvbiB0eXBlcyB3aG9zZSBtZW1i
ZXIgdHlwZXMgYXJlIG5vdCBhbGwgSlNPTiB0eXBlcycpOwotCi0gICAgdGVzdChmdW5jdGlvbigp
IHsKLSAgICAgICAgdmFyIGlkbCA9IG5ldyBJZGxBcnJheSgpOwotICAgICAgICBhc3NlcnRfdHJ1
ZShpZGwuaXNfanNvbl90eXBlKHR5cGVGcm9tKCJET01TdHJpbmc/IikpKTsKLSAgICAgICAgYXNz
ZXJ0X2ZhbHNlKGlkbC5pc19qc29uX3R5cGUodHlwZUZyb20oIkRhdGFWaWV3PyIpKSk7Ci0gICAg
fSwgJ3Nob3VsZCBjb25zaWRlciB0aGUgaW5uZXIgdHlwZXMgb2YgbnVsbGFibGUgdHlwZXMnKTsK
LQotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBpZGwgPSBuZXcgSWRsQXJyYXko
KTsKLSAgICAgICAgYXNzZXJ0X3RydWUoaWRsLmlzX2pzb25fdHlwZSh0eXBlRnJvbSgiW1hBdHRy
XSBsb25nIikpKTsKLSAgICAgICAgYXNzZXJ0X2ZhbHNlKGlkbC5pc19qc29uX3R5cGUodHlwZUZy
b20oIltYQXR0cl0gRGF0YVZpZXciKSkpOwotICAgIH0sICdzaG91bGQgY29uc2lkZXIgdGhlIGlu
bmVyIHR5cGVzIG9mIGFubm90YXRlZCB0eXBlcy4nKTsKLQotICAgIHRlc3QoZnVuY3Rpb24oKSB7
Ci0gICAgICAgIHZhciBpZGwgPSBuZXcgSWRsQXJyYXkoKTsKLSAgICAgICAgYXNzZXJ0X3Rocm93
cyhuZXcgRXJyb3IoKSwgXyA9PiBpZGwuaXNfanNvbl90eXBlKHR5cGVGcm9tKCJGb28iKSkpOwot
ICAgIH0sICJzaG91bGQgdGhyb3cgaWYgaXQgcmVmZXJlbmNlcyBhIGRpY3Rpb25hcnksIGVudW0g
b3IgaW50ZXJmYWNlIHdoaWNoIHdhc24ndCBhZGRlZCB0byB0aGUgSWRsQXJyYXkiKTsKLQotICAg
IHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBpZGwgPSBuZXcgSWRsQXJyYXkoKTsKLSAg
ICAgICAgaWRsLmFkZF91bnRlc3RlZF9pZGxzKCdpbnRlcmZhY2UgRm9vIDogQmFyIHsgfTsnKTsK
LSAgICAgICAgYXNzZXJ0X3Rocm93cyhuZXcgRXJyb3IoKSwgXyA9PiBpZGwuaXNfanNvbl90eXBl
KHR5cGVGcm9tKCJGb28iKSkpOwotICAgIH0sICJzaG91bGQgdGhyb3cgZm9yIGludGVyZmFjZXMg
d2hpY2ggaW5oZXJpdCBmcm9tIGFub3RoZXIgaW50ZXJmYWNlIHdoaWNoIHdhc24ndCBhZGRlZCB0
byB0aGUgSWRsQXJyYXkiKTsKLQotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBp
ZGwgPSBuZXcgSWRsQXJyYXkoKTsKLSAgICAgICAgYXNzZXJ0X3RydWUoaWRsLmlzX2pzb25fdHlw
ZSh0eXBlZGVmRnJvbSgidHlwZWRlZiBkb3VibGUgRE9NSGlnaFJlc1RpbWVTdGFtcDsiKS5pZGxU
eXBlKSk7Ci0gICAgfSwgJ3Nob3VsZCByZXR1cm4gdHJ1ZSBmb3IgdHlwZWRlZnMgd2hvc2Ugc291
cmNlIHR5cGUgaXMgYSBKU09OIHR5cGUnKTsKLQotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAg
ICAgIHZhciBpZGwgPSBuZXcgSWRsQXJyYXkoKTsKLSAgICAgICAgYXNzZXJ0X2ZhbHNlKGlkbC5p
c19qc29uX3R5cGUodHlwZWRlZkZyb20oInR5cGVkZWYgRGF0YVZpZXcgRE9NSGlnaFJlc1RpbWVT
dGFtcDsiKS5pZGxUeXBlKSk7Ci0gICAgfSwgJ3Nob3VsZCByZXR1cm4gZmFsc2UgZm9yIHR5cGVk
ZWZzIHdob3NlIHNvdXJjZSB0eXBlIGlzIG5vdCBhIEpTT04gdHlwZScpOwotPC9zY3JpcHQ+Ci08
L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL3VuaXQvSWRsQXJyYXkvdzNjLWlt
cG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy90ZXN0L3Rlc3RzL3VuaXQvSWRsQXJyYXkvdzNjLWltcG9ydC5sb2cKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDJkMGE5Y2NmZTYyLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rl
c3RzL3VuaXQvSWRsQXJyYXkvdzNjLWltcG9ydC5sb2cKKysrIC9kZXYvbnVsbApAQCAtMSwxNyAr
MCwwIEBACi1UaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRo
ZSBXM0MgcmVwb3NpdG9yeS4KLURvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4g
V2ViS2l0LgotSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHVi
OgotCWh0dHBzOi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0Ci0KLVRoZW4gcnVu
IHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0
Ci0KLURvIE5PVCBtb2RpZnkgb3IgcmVtb3ZlIHRoaXMgZmlsZS4KLQotLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
Ci1Qcm9wZXJ0aWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6Ci1Ob25lCi1Qcm9wZXJ0eSB2
YWx1ZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKLU5vbmUKLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQot
TGlzdCBvZiBmaWxlczoKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL3VuaXQvSWRsQXJyYXkvaXNfanNvbl90eXBlLmh0bWwK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3Rlc3QvdGVzdHMvdW5pdC9JZGxEaWN0aW9uYXJ5L2dldF9pbmhlcml0YW5jZV9z
dGFjay5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvdGVzdC90ZXN0cy91bml0L0lkbERpY3Rpb25hcnkvZ2V0X2luaGVyaXRhbmNlX3N0
YWNrLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDFhYzllOGRhMDZmLi4wMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy90ZXN0L3Rlc3RzL3VuaXQvSWRsRGljdGlvbmFyeS9nZXRfaW5oZXJpdGFuY2Vf
c3RhY2suaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDQ3ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1M
PgotPGh0bWw+Ci08aGVhZD4KLTx0aXRsZT5JZGxEaWN0aW9uYXJ5LnByb3RvdHlwZS5nZXRfaW5o
ZXJpdGFuY2Vfc3RhY2soKTwvdGl0bGU+Ci08L2hlYWQ+Ci08Ym9keT4KLTxkaXYgaWQ9ImxvZyI+
PC9kaXY+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9XZWJJRExQYXJzZXIuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvaWRsaGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNy
Yz0iLi4vLi4vLi4vaWRsLWhlbHBlci5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotICAgICJ1c2Ug
c3RyaWN0IjsKLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgc3RhY2sgPSBkaWN0
aW9uYXJ5RnJvbSgnZGljdGlvbmFyeSBBIHsgfTsnKS5nZXRfaW5oZXJpdGFuY2Vfc3RhY2soKTsK
LSAgICAgICAgYXNzZXJ0X2FycmF5X2VxdWFscyhzdGFjay5tYXAoZCA9PiBkLm5hbWUpLCBbIkEi
XSk7Ci0gICAgfSwgJ3Nob3VsZCByZXR1cm4gYW4gYXJyYXkgdGhhdCBpbmNsdWRlcyBpdHNlbGYu
Jyk7Ci0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgZCA9IGRpY3Rpb25hcnlG
cm9tKCdkaWN0aW9uYXJ5IEEgOiBCIHsgfTsnKTsKLSAgICAgICAgYXNzZXJ0X3Rocm93cyhuZXcg
RXJyb3IoKSwgXyA9PiBkLmdldF9pbmhlcml0YW5jZV9zdGFjaygpKTsKLSAgICB9LCAic2hvdWxk
IHRocm93IGZvciBkaWN0aW9uYXJpZXMgd2hpY2ggaW5oZXJpdCBmcm9tIGFub3RoZXIgZGljdGlv
bmFyeSB3aGljaCB3YXNuJ3QgYWRkZWQgdG8gdGhlIElkbEFycmF5Iik7Ci0KLSAgICB0ZXN0KGZ1
bmN0aW9uKCkgewotICAgICAgICB2YXIgaWRsID0gbmV3IElkbEFycmF5KCk7Ci0gICAgICAgIGlk
bC5hZGRfaWRscygnZGljdGlvbmFyeSBBIDogQiB7IH07Jyk7Ci0gICAgICAgIGlkbC5hZGRfdW50
ZXN0ZWRfaWRscygnZGljdGlvbmFyeSBCIDogQyB7IH07IGRpY3Rpb25hcnkgQyB7IH07Jyk7Ci0g
ICAgICAgIHZhciBBID0gaWRsLm1lbWJlcnNbIkEiXTsKLSAgICAgICAgYXNzZXJ0X2FycmF5X2Vx
dWFscyhBLmdldF9pbmhlcml0YW5jZV9zdGFjaygpLm1hcChkID0+IGQubmFtZSksIFsiQSIsICJC
IiwgIkMiXSk7Ci0gICAgfSwgJ3Nob3VsZCByZXR1cm4gYW4gYXJyYXkgb2YgaW5oZXJpdGVkIGRp
Y3Rpb25hcmllcyBpbiBvcmRlciBvZiBpbmhlcml0YW5jZSwgc3RhcnRpbmcgd2l0aCBpdHNlbGYu
Jyk7Ci0KLSAgICB0ZXN0KGZ1bmN0aW9uICgpIHsKLSAgICAgIGxldCBpID0gbmV3IElkbEFycmF5
KCk7Ci0gICAgICBpLmFkZF91bnRlc3RlZF9pZGxzKCdkaWN0aW9uYXJ5IEEgOiBCIHt9OycpOwot
ICAgICAgaS5hc3NlcnRfdGhyb3dzKG5ldyBJZGxIYXJuZXNzRXJyb3IoJ0EgaW5oZXJpdHMgQiwg
YnV0IEIgaXMgdW5kZWZpbmVkLicpLCBpID0+IGkudGVzdCgpKTsKLSAgICB9LCAnQSA6IEIgd2l0
aCBCIHVuZGVjbGFyZWQgc2hvdWxkIHRocm93IElkbEhhcm5lc3NFcnJvcicpOwotCi0gICAgdGVz
dChmdW5jdGlvbiAoKSB7Ci0gICAgICBsZXQgaSA9IG5ldyBJZGxBcnJheSgpOwotICAgICAgaS5h
ZGRfdW50ZXN0ZWRfaWRscygnZGljdGlvbmFyeSBBIDogQiB7fTsnKTsKLSAgICAgIGkuYWRkX3Vu
dGVzdGVkX2lkbHMoJ2ludGVyZmFjZSBCIHt9OycpOwotICAgICAgaS5hc3NlcnRfdGhyb3dzKG5l
dyBJZGxIYXJuZXNzRXJyb3IoJ0EgaW5oZXJpdHMgQiwgYnV0IEEgaXMgbm90IGFuIGludGVyZmFj
ZS4nKSwgaSA9PiBpLnRlc3QoKSk7Ci0gICAgfSwgJ2RpY3Rpb25hcnkgQSA6IEIgd2l0aCBCIGlu
dGVyZmFjZSBzaG91bGQgdGhyb3cgSWRsSGFybmVzc0Vycm9yJyk7Ci08L3NjcmlwdD4KLTwvYm9k
eT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvdW5pdC9JZGxEaWN0aW9uYXJ5L3Rlc3Rf
cGFydGlhbF9kaWN0aW9uYXJ5Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL3VuaXQvSWRsRGljdGlvbmFyeS90ZXN0
X3BhcnRpYWxfZGljdGlvbmFyeS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBk
NjEzN2Y2ODk1Zi4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy91bml0L0lkbERpY3Rpb25hcnkv
dGVzdF9wYXJ0aWFsX2RpY3Rpb25hcnkuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDM5ICswLDAg
QEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci0KLTxoZWFkPgotICA8bWV0YSBjaGFyc2V0PSJ1
dGYtOCI+Ci0gIDx0aXRsZT5pZGxoYXJuZXNzOiBwYXJ0aWFsIGRpY3Rpb25hcmllczwvdGl0bGU+
Ci0gIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLSAg
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgot
ICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9XZWJJRExQYXJzZXIuanMiPjwvc2NyaXB0PgotICA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9pZGxoYXJuZXNzLmpzIj48L3NjcmlwdD4KLSAgPHNjcmlw
dCBzcmM9Ii4uLy4uLy4uL2lkbC1oZWxwZXIuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotCi08Ym9k
eT4KLTxwcmUgaWQ9J2lkbCc+Ci1kaWN0aW9uYXJ5IEEge307Ci1wYXJ0aWFsIGRpY3Rpb25hcnkg
QSB7Ci0gIGJvb2xlYW4gQjsKLX07Ci1wYXJ0aWFsIGRpY3Rpb25hcnkgQSB7Ci0gIGJvb2xlYW4g
QzsKLX07Ci08L3ByZT4KLQotPHNjcmlwdD4KLSd1c2Ugc3RyaWN0JzsKLQotdGVzdCgoKSA9PiB7
Ci0gIGxldCBpZGxBcnJheSA9IG5ldyBJZGxBcnJheSgpOwotICBpZGxBcnJheS5hZGRfaWRscyhk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaWRsJykudGV4dENvbnRlbnQpOwotICBpZGxBcnJheS50
ZXN0KCk7Ci0KLSAgbGV0IG1lbWJlcnMgPSBpZGxBcnJheS5tZW1iZXJzWyJBIl0ubWVtYmVycy5t
YXAobSA9PiBtLm5hbWUpOwotICBhc3NlcnRfYXJyYXlfZXF1YWxzKG1lbWJlcnMsIFsiQiIsICJD
Il0sICdBIHNob3VsZCBjb250YWluIEIsIEMnKTsKLX0sICdQYXJ0aWFsIGRpY3Rpb25hcmllcycp
OwotPC9zY3JpcHQ+Ci0KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvdW5p
dC9JZGxEaWN0aW9uYXJ5L3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy91bml0L0lkbERpY3Rpb25h
cnkvdzNjLWltcG9ydC5sb2cKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDA0YjdmOTEx
NWYzLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL3VuaXQvSWRsRGljdGlvbmFyeS93M2MtaW1w
b3J0LmxvZworKysgL2Rldi9udWxsCkBAIC0xLDE4ICswLDAgQEAKLVRoZSB0ZXN0cyBpbiB0aGlz
IGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgotRG8gTk9U
IG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUg
YSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3dl
Yi1wbGF0Zm9ybS10ZXN0cy93cHQKLQotVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0
LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKLQotRG8gTk9UIG1vZGlmeSBvciByZW1v
dmUgdGhpcyBmaWxlLgotCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLVByb3BlcnRpZXMgcmVxdWlyaW5nIHZl
bmRvciBwcmVmaXhlczoKLU5vbmUKLVByb3BlcnR5IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9yIHBy
ZWZpeGVzOgotTm9uZQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1MaXN0IG9mIGZpbGVzOgotL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMv
dW5pdC9JZGxEaWN0aW9uYXJ5L2dldF9pbmhlcml0YW5jZV9zdGFjay5odG1sCi0vTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy91
bml0L0lkbERpY3Rpb25hcnkvdGVzdF9wYXJ0aWFsX2RpY3Rpb25hcnkuaHRtbApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
dGVzdC90ZXN0cy91bml0L0lkbEludGVyZmFjZS9jb25zdHJ1Y3RvcnMuaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMv
dW5pdC9JZGxJbnRlcmZhY2UvY29uc3RydWN0b3JzLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDkzY2M3ZjQyY2M1Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL3VuaXQvSWRs
SW50ZXJmYWNlL2NvbnN0cnVjdG9ycy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMjUgKzAsMCBA
QAotPCFET0NUWVBFIEhUTUw+Ci08dGl0bGU+SWRsSW50ZXJmYWNlLnByb3RvdHlwZS5jb25zdHJ1
Y3RvcnMoKTwvdGl0bGU+Ci08ZGl2IGlkPSJsb2ciPjwvZGl2PgotPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
V2ViSURMUGFyc2VyLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL2lkbGhh
cm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2lkbC1oZWxwZXIuanMi
Pjwvc2NyaXB0PgotPHNjcmlwdD4KLSJ1c2Ugc3RyaWN0IjsKLXRlc3QoZnVuY3Rpb24oKSB7Ci0g
ICAgdmFyIGkgPSBpbnRlcmZhY2VGcm9tKCdbQ29uc3RydWN0b3JdIGludGVyZmFjZSBBIHsgfTsn
KTsKLSAgICBhc3NlcnRfZXF1YWxzKGkuY29uc3RydWN0b3JzKCkubGVuZ3RoLCAxKTsKLX0sICdJ
bnRlcmZhY2Ugd2l0aCBDb25zdHJ1Y3RvciBleHRlbmRlZCBhdHRyaWJ1dGUuJyk7Ci0KLXRlc3Qo
ZnVuY3Rpb24oKSB7Ci0gICAgdmFyIGkgPSBpbnRlcmZhY2VGcm9tKCdpbnRlcmZhY2UgQSB7IGNv
bnN0cnVjdG9yKCk7IH07Jyk7Ci0gICAgYXNzZXJ0X2VxdWFscyhpLmNvbnN0cnVjdG9ycygpLmxl
bmd0aCwgMSk7Ci19LCAnSW50ZXJmYWNlIHdpdGggY29uc3RydWN0b3IgbWV0aG9kJyk7Ci0KLXRl
c3QoZnVuY3Rpb24oKSB7Ci0gICAgdmFyIGkgPSBpbnRlcmZhY2VGcm9tKCdbQ29uc3RydWN0b3Jd
IGludGVyZmFjZSBBIHsgY29uc3RydWN0b3IoKTsgfTsnKTsKLSAgICBhc3NlcnRfZXF1YWxzKGku
Y29uc3RydWN0b3JzKCkubGVuZ3RoLCAyKTsKLX0sICdJbnRlcmZhY2Ugd2l0aCBib3RoJyk7Ci08
L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvdW5pdC9JZGxJbnRlcmZhY2UvZGVmYXVsdF90
b19qc29uX29wZXJhdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy91bml0L0lkbEludGVyZmFjZS9kZWZhdWx0
X3RvX2pzb25fb3BlcmF0aW9uLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGUw
M2VhOGIwMzg3Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL3VuaXQvSWRsSW50ZXJmYWNlL2Rl
ZmF1bHRfdG9fanNvbl9vcGVyYXRpb24uaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDE3MyArMCww
IEBACi08IURPQ1RZUEUgSFRNTD4KLTxodG1sPgotPGhlYWQ+Ci08dGl0bGU+SWRsRGljdGlvbmFy
eS5wcm90b3R5cGUuZGVmYXVsdF90b19qc29uX29wZXJhdGlvbigpPC90aXRsZT4KLTwvaGVhZD4K
LTxib2R5PgotPGRpdiBpZD0ibG9nIj48L2Rpdj4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL1dlYklETFBh
cnNlci5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9pZGxoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi9pZGwtaGVscGVyLmpzIj48L3Njcmlw
dD4KLTxwcmUgaWQ9ZnJhZ21lbnRzPgotICAgIGludGVyZmFjZSBBIDogQiB7Ci0gICAgICBhdHRy
aWJ1dGUgRE9NU3RyaW5nIGE7Ci0gICAgfTsKLQotICAgIGludGVyZmFjZSBCIDogQyB7Ci0gICAg
ICBbRGVmYXVsdF0gb2JqZWN0IHRvSlNPTigpOwotICAgICAgYXR0cmlidXRlIGxvbmcgYjsKLSAg
ICB9OwotCi0gICAgaW50ZXJmYWNlIEMgewotICAgICAgYXR0cmlidXRlIERPTVN0cmluZyBjOwot
ICAgIH07Ci0KLSAgICBpbnRlcmZhY2UgbWl4aW4gRCB7Ci0gICAgICBbRGVmYXVsdF0gb2JqZWN0
IHRvSlNPTigpOwotICAgICAgYXR0cmlidXRlIGZsb2F0IGQ7Ci0gICAgfTsKLQotICAgIGludGVy
ZmFjZSBtaXhpbiBHIHsKLSAgICAgIFtEZWZhdWx0XSBvYmplY3QgdG9KU09OKCk7Ci0gICAgICBh
dHRyaWJ1dGUgb2N0ZXQgZzsKLSAgICB9OwotCi0gICAgaW50ZXJmYWNlIG1peGluIEggewotICAg
ICAgW0RlZmF1bHRdIG9iamVjdCB0b0pTT04oKTsKLSAgICAgIGF0dHJpYnV0ZSBET01TdHJpbmcg
aDsKLSAgICB9OwotCi0gICAgaW50ZXJmYWNlIG1peGluIEkgewotICAgICAgW0RlZmF1bHRdIG9i
amVjdCB0b0pTT04oKTsKLSAgICAgIGF0dHJpYnV0ZSBib29sZWFuIGk7Ci0gICAgfTsKLQotICAg
IEEgaW5jbHVkZXMgRzsKLSAgICBBIGluY2x1ZGVzIEg7Ci0gICAgQiBpbmNsdWRlcyBEOwotPC9w
cmU+Ci08c2NyaXB0PgotICAgICJ1c2Ugc3RyaWN0IjsKLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewot
ICAgICAgICB2YXIgbWFwID0gaW50ZXJmYWNlRnJvbSgnaW50ZXJmYWNlIEEgeyBbRGVmYXVsdF0g
b2JqZWN0IHRvSlNPTigpOyB9OycpLmRlZmF1bHRfdG9fanNvbl9vcGVyYXRpb24oKTsKLSAgICAg
ICAgYXNzZXJ0X2VxdWFscyhtYXAuc2l6ZSwgMCk7Ci0gICAgfSwgJ3Nob3VsZCByZXR1cm4gYW4g
ZW1wdHkgbWFwIHdoZW4gdGhlcmUgYXJlIG5vIGF0dHJpYnV0ZXMnKTsKLQotICAgIHRlc3QoZnVu
Y3Rpb24oKSB7Ci0gICAgICAgIHZhciByID0gaW50ZXJmYWNlRnJvbSgnaW50ZXJmYWNlIEEgeyB9
OycpLmRlZmF1bHRfdG9fanNvbl9vcGVyYXRpb24oKTsKLSAgICAgICAgYXNzZXJ0X2VxdWFscyhy
LCBudWxsKTsKLSAgICB9LCAnc2hvdWxkIHJldHVybiBudWxsIHdoZW4gdGhlcmUgaXMgbm8gdG9K
U09OIG1ldGhvZCcpOwotCi0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIHIgPSBp
bnRlcmZhY2VGcm9tKCdpbnRlcmZhY2UgQSB7IERPTVN0cmluZyB0b0pTT04oKTsgfTsnKS5kZWZh
dWx0X3RvX2pzb25fb3BlcmF0aW9uKCk7Ci0gICAgICAgIGFzc2VydF9lcXVhbHMociwgbnVsbCk7
Ci0gICAgfSwgJ3Nob3VsZCByZXR1cm4gbnVsbCB3aGVuIHRoZXJlIGlzIGEgdG9KU09OIG1ldGhv
ZCBidXQgaXQgZG9lcyBub3QgaGF2ZSB0aGUgW0RlZmF1bHRdIGV4dGVuZGVkIGF0dHJpYnV0ZScp
OwotCi0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIGNvbnRleHQgPSBuZXcgSWRs
QXJyYXkoKTsKLSAgICAgICAgY29udGV4dC5hZGRfaWRscygiaW50ZXJmYWNlIEEgOiBCIHsgRE9N
U3RyaW5nIHRvSlNPTigpOyB9OyIpOwotICAgICAgICBjb250ZXh0LmFkZF9pZGxzKCJpbnRlcmZh
Y2UgQiB7IFtEZWZhdWx0XSBvYmplY3QgdG9KU09OKCk7IH07Iik7Ci0gICAgICAgIHZhciByID0g
Y29udGV4dC5tZW1iZXJzLkEuZGVmYXVsdF90b19qc29uX29wZXJhdGlvbigpOwotICAgICAgICBh
c3NlcnRfZXF1YWxzKHIsIG51bGwpOwotICAgIH0sICdzaG91bGQgcmV0dXJuIG51bGwgd2hlbiB0
aGVyZSBpcyBhIHRvSlNPTiBtZXRob2QgYnV0IGl0IGRvZXMgbm90IGhhdmUgdGhlIFtEZWZhdWx0
XSBleHRlbmRlZCBhdHRyaWJ1dGUgZXZlbiBpZiB0aGlzIGV4dGVuZGVkIGF0dHJpYnV0ZSBleGlz
dHMgb24gaW5oZXJpdGVkIGludGVyZmFjZXMnKTsKLQotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0g
ICAgICAgIHZhciBtYXAgPSBpbnRlcmZhY2VGcm9tKCdpbnRlcmZhY2UgQSB7IFtEZWZhdWx0XSBv
YmplY3QgdG9KU09OKCk7IHN0YXRpYyBhdHRyaWJ1dGUgRE9NU3RyaW5nIGZvbzsgfTsnKS5kZWZh
dWx0X3RvX2pzb25fb3BlcmF0aW9uKCk7Ci0gICAgICAgIGFzc2VydF9lcXVhbHMobWFwLnNpemUs
IDApOwotICAgIH0sICdzaG91bGQgbm90IGluY2x1ZGUgc3RhdGljIGF0dHJpYnV0ZXMnKTsKLQot
ICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBtYXAgPSBpbnRlcmZhY2VGcm9tKCdp
bnRlcmZhY2UgQSB7IFtEZWZhdWx0XSBvYmplY3QgdG9KU09OKCk7IGF0dHJpYnV0ZSBQcm9taXNl
PERPTVN0cmluZz4gYmFyOyB9OycpLmRlZmF1bHRfdG9fanNvbl9vcGVyYXRpb24oKTsKLSAgICAg
ICAgYXNzZXJ0X2VxdWFscyhtYXAuc2l6ZSwgMCk7Ci0gICAgfSwgJ3Nob3VsZCBub3QgaW5jbHVk
ZSBhdHRyaWJ1dGVzIHdoaWNoIGFyZSBub3QgSlNPTiB0eXBlcycpOwotCi0gICAgdGVzdChmdW5j
dGlvbigpIHsKLSAgICAgICAgdmFyIG1hcCA9IGludGVyZmFjZUZyb20oJ2ludGVyZmFjZSBBIHsg
W0RlZmF1bHRdIG9iamVjdCB0b0pTT04oKTsgRE9NU3RyaW5nIGJhcigpOyB9OycpLmRlZmF1bHRf
dG9fanNvbl9vcGVyYXRpb24oKTsKLSAgICAgICAgYXNzZXJ0X2VxdWFscyhtYXAuc2l6ZSwgMCk7
Ci0gICAgfSwgJ3Nob3VsZCBub3QgaW5jbHVkZSBvcGVyYXRpb25zJyk7Ci0KLSAgICB0ZXN0KGZ1
bmN0aW9uKCkgewotICAgICAgICB2YXIgbWFwID0gaW50ZXJmYWNlRnJvbSgnaW50ZXJmYWNlIEEg
eyBbRGVmYXVsdF0gb2JqZWN0IHRvSlNPTigpOyBhdHRyaWJ1dGUgRE9NU3RyaW5nIGJhcjsgfTsn
KS5kZWZhdWx0X3RvX2pzb25fb3BlcmF0aW9uKCk7Ci0gICAgICAgIGFzc2VydF9lcXVhbHMobWFw
LnNpemUsIDEpOwotICAgICAgICBhc3NlcnRfdHJ1ZShtYXAuaGFzKCJiYXIiKSk7Ci0gICAgICAg
IGFzc2VydF9lcXVhbHMobWFwLmdldCgiYmFyIikuaWRsVHlwZSwgIkRPTVN0cmluZyIpOwotICAg
IH0sICdzaG91bGQgcmV0dXJuIGEgbWFwIHdob3NlIGtleS92YWx1ZSBwYWlyIHJlcHJlc2VudCB0
aGUgaWRlbnRpZmllciBhbmQgSURMIHR5cGUgb2YgdmFsaWQgYXR0cmlidXRlcycpOwotCi0gICAg
dGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIGNvbnRleHQgPSBuZXcgSWRsQXJyYXkoKTsK
LSAgICAgICAgY29udGV4dC5hZGRfaWRscygiaW50ZXJmYWNlIEEgOiBCIHsgW0RlZmF1bHRdIG9i
amVjdCB0b0pTT04oKTsgYXR0cmlidXRlIERPTVN0cmluZyBhOyB9OyIpOwotICAgICAgICBjb250
ZXh0LmFkZF9pZGxzKCJpbnRlcmZhY2UgQiB7IFtEZWZhdWx0XSBvYmplY3QgdG9KU09OKCk7IGF0
dHJpYnV0ZSBsb25nIGI7IH07Iik7Ci0gICAgICAgIHZhciBtYXAgPSBjb250ZXh0Lm1lbWJlcnMu
QS5kZWZhdWx0X3RvX2pzb25fb3BlcmF0aW9uKCk7Ci0gICAgICAgIGFzc2VydF9hcnJheV9lcXVh
bHMoWy4uLm1hcC5rZXlzKCldLCBbImIiLCAiYSJdKTsKLSAgICAgICAgYXNzZXJ0X2FycmF5X2Vx
dWFscyhbLi4ubWFwLnZhbHVlcygpXS5tYXAodiA9PiB2LmlkbFR5cGUpLCBbImxvbmciLCAiRE9N
U3RyaW5nIl0pOwotICAgIH0sICdzaG91bGQgcmV0dXJuIGEgcHJvcGVybHkgb3JkZXJlZCBtYXAg
dGhhdCBjb250YWlucyBJREwgdHlwZXMgb2YgdmFsaWQgYXR0cmlidXRlcyBmb3IgaW5oZXJpdGVk
IGludGVyZmFjZXMnKTsKLQotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBjb250
ZXh0ID0gbmV3IElkbEFycmF5KCk7Ci0gICAgICAgIGNvbnRleHQuYWRkX2lkbHMoImludGVyZmFj
ZSBBIDogQiB7IGF0dHJpYnV0ZSBET01TdHJpbmcgYTsgfTsiKTsKLSAgICAgICAgY29udGV4dC5h
ZGRfaWRscygiaW50ZXJmYWNlIEIgeyBbRGVmYXVsdF0gb2JqZWN0IHRvSlNPTigpOyBhdHRyaWJ1
dGUgbG9uZyBiOyB9OyIpOwotICAgICAgICB2YXIgbWFwID0gY29udGV4dC5tZW1iZXJzLkEuZGVm
YXVsdF90b19qc29uX29wZXJhdGlvbigpOwotICAgICAgICBhc3NlcnRfZXF1YWxzKG1hcC5zaXpl
LCAxKTsKLSAgICAgICAgYXNzZXJ0X3RydWUobWFwLmhhcygiYiIpKTsKLSAgICAgICAgYXNzZXJ0
X2VxdWFscyhtYXAuZ2V0KCJiIikuaWRsVHlwZSwgImxvbmciKTsKLSAgICAgICAgYXNzZXJ0X2Fy
cmF5X2VxdWFscyhbLi4ubWFwLmtleXMoKV0sIFsiYiJdKTsKLSAgICB9LCAnc2hvdWxkIG5vdCBp
bmNsdWRlIGF0dHJpYnV0ZXMgb2YgdGhlIGN1cnJlbnQgaW50ZXJmYWNlIHdoZW4gdGhlIFtEZWZh
dWx0XSB0b0pTT04gbWV0aG9kIGluIGluaGVyaXRlZCcpOwotCi0gICAgdGVzdChmdW5jdGlvbigp
IHsKLSAgICAgICAgdmFyIGNvbnRleHQgPSBuZXcgSWRsQXJyYXkoKTsKLSAgICAgICAgY29udGV4
dC5hZGRfaWRscygiaW50ZXJmYWNlIEEgOiBCIHsgW0RlZmF1bHRdIG9iamVjdCB0b0pTT04oKTsg
fTsiKTsKLSAgICAgICAgY29udGV4dC5hZGRfaWRscygiaW50ZXJmYWNlIEIgOiBDIHsgW0RlZmF1
bHRdIG9iamVjdCB0b0pTT04oKTsgYXR0cmlidXRlIERPTVN0cmluZyBmb287IH07Iik7Ci0gICAg
ICAgIGNvbnRleHQuYWRkX2lkbHMoImludGVyZmFjZSBDIHsgW0RlZmF1bHRdIG9iamVjdCB0b0pT
T04oKTsgYXR0cmlidXRlIGxvbmcgZm9vOyB9OyIpOwotICAgICAgICB2YXIgbWFwID0gY29udGV4
dC5tZW1iZXJzLkEuZGVmYXVsdF90b19qc29uX29wZXJhdGlvbigpOwotICAgICAgICBhc3NlcnRf
ZXF1YWxzKG1hcC5zaXplLCAxKTsKLSAgICAgICAgYXNzZXJ0X3RydWUobWFwLmhhcygiZm9vIikp
OwotICAgICAgICBhc3NlcnRfZXF1YWxzKG1hcC5nZXQoImZvbyIpLmlkbFR5cGUsICJET01TdHJp
bmciKTsKLSAgICB9LCAnYXR0cmlidXRlcyBkZWNsYXJlZCBmdXJ0aGVyIGF3YXkgaW4gdGhlIGlu
aGVyaXRhbmNlIGhpZXJhcmNoeSBzaG91bGQgYmUgbWFza2VkIGJ5IGF0dHJpYnV0ZXMgZGVjbGFy
ZWQgY2xvc2VyJyk7Ci0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgY29udGV4
dCA9IG5ldyBJZGxBcnJheSgpOwotICAgICAgICBjb250ZXh0LmFkZF9pZGxzKCJpbnRlcmZhY2Ug
QSA6IEIgeyBbRGVmYXVsdF0gb2JqZWN0IHRvSlNPTigpOyBhdHRyaWJ1dGUgRE9NU3RyaW5nIGE7
IH07Iik7Ci0gICAgICAgIGNvbnRleHQuYWRkX2lkbHMoImludGVyZmFjZSBCIHsgb2JqZWN0IHRv
SlNPTigpOyBhdHRyaWJ1dGUgbG9uZyBiOyB9OyIpOwotICAgICAgICB2YXIgbWFwID0gY29udGV4
dC5tZW1iZXJzLkEuZGVmYXVsdF90b19qc29uX29wZXJhdGlvbigpOwotICAgICAgICBhc3NlcnRf
ZXF1YWxzKG1hcC5zaXplLCAxKTsKLSAgICAgICAgYXNzZXJ0X3RydWUobWFwLmhhcygiYSIpKTsK
LSAgICAgICAgYXNzZXJ0X2ZhbHNlKG1hcC5oYXMoImIiKSk7Ci0gICAgICAgIGFzc2VydF9lcXVh
bHMobWFwLmdldCgiYSIpLmlkbFR5cGUsICJET01TdHJpbmciKTsKLSAgICB9LCAnc2hvdWxkIHJl
dHVybiBhbiBvcmRlcmVkIG1hcCB0aGF0IGlnbm9yZXMgYXR0cmlidXRlcyBvZiBpbmhlcml0ZWQg
aW50ZXJmYWNlcyB3aGljaCBkbyBub3QgZGVjbGFyZSBhIFtEZWZhdWx0XSB0b0pTT04gb3BlcmF0
aW9uLicpOwotCi0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIGNvbnRleHQgPSBu
ZXcgSWRsQXJyYXkoKTsKLSAgICAgICAgY29udGV4dC5hZGRfaWRscygiaW50ZXJmYWNlIEEgeyBb
RGVmYXVsdF0gb2JqZWN0IHRvSlNPTigpOyBhdHRyaWJ1dGUgRE9NU3RyaW5nIGE7IH07Iik7Ci0g
ICAgICAgIGNvbnRleHQuYWRkX2lkbHMoImludGVyZmFjZSBtaXhpbiBOIHsgW0RlZmF1bHRdIG9i
amVjdCB0b0pTT04oKTsgYXR0cmlidXRlIGxvbmcgbjsgfTsiKTsKLSAgICAgICAgY29udGV4dC5h
ZGRfaWRscygiQSBpbmNsdWRlcyBOOyIpOwotICAgICAgICB2YXIgbWFwID0gY29udGV4dC5tZW1i
ZXJzLkEuZGVmYXVsdF90b19qc29uX29wZXJhdGlvbigpOwotICAgICAgICBhc3NlcnRfYXJyYXlf
ZXF1YWxzKFsuLi5tYXAua2V5cygpXSwgWyJhIiwgIm4iXSk7Ci0gICAgICAgIGFzc2VydF9hcnJh
eV9lcXVhbHMoWy4uLm1hcC52YWx1ZXMoKV0ubWFwKHYgPT4gdi5pZGxUeXBlKSwgWyJET01TdHJp
bmciLCAibG9uZyJdKTsKLSAgICB9LCAnc2hvdWxkIHJldHVybiBhIHByb3Blcmx5IG9yZGVyZWQg
bWFwIHRoYXQgYWNjb3VudHMgZm9yIG1peGVkLWluIGludGVyZmFjZXMgd2hpY2ggZGVjbGFyZSBh
IFtEZWZhdWx0XSB0b0pTT04gb3BlcmF0aW9uLicpOwotCi0gICAgdGVzdChmdW5jdGlvbigpIHsK
LSAgICAgICAgdmFyIGNvbnRleHQgPSBuZXcgSWRsQXJyYXkoKTsKLSAgICAgICAgY29udGV4dC5h
ZGRfaWRscygiaW50ZXJmYWNlIEEgeyBbRGVmYXVsdF0gb2JqZWN0IHRvSlNPTigpOyBhdHRyaWJ1
dGUgRE9NU3RyaW5nIGE7IH07Iik7Ci0gICAgICAgIGNvbnRleHQuYWRkX2lkbHMoImludGVyZmFj
ZSBtaXhpbiBOIHsgYXR0cmlidXRlIGxvbmcgbjsgfTsiKTsKLSAgICAgICAgY29udGV4dC5hZGRf
aWRscygiQSBpbmNsdWRlcyBOOyIpOwotICAgICAgICB2YXIgbWFwID0gY29udGV4dC5tZW1iZXJz
LkEuZGVmYXVsdF90b19qc29uX29wZXJhdGlvbigpOwotICAgICAgICBhc3NlcnRfZXF1YWxzKG1h
cC5zaXplLCAxKTsKLSAgICAgICAgYXNzZXJ0X3RydWUobWFwLmhhcygiYSIpKTsKLSAgICAgICAg
YXNzZXJ0X2ZhbHNlKG1hcC5oYXMoIm4iKSk7Ci0gICAgICAgIGFzc2VydF9lcXVhbHMobWFwLmdl
dCgiYSIpLmlkbFR5cGUsICJET01TdHJpbmciKTsKLSAgICB9LCAnc2hvdWxkIHJldHVybiBhIHBy
b3Blcmx5IG9yZGVyZWQgbWFwIHRoYXQgaWdub3JlcyBtaXhlZC1pbiBpbnRlcmZhY2VzIHdoaWNo
IGRvIG5vdCBkZWNsYXJlIGEgW0RlZmF1bHRdIHRvSlNPTiBvcGVyYXRpb24uJyk7Ci0KLQotICAg
IHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBjb250ZXh0ID0gbmV3IElkbEFycmF5KCk7
Ci0gICAgICAgIGNvbnRleHQuYWRkX2lkbHMoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2ZyYWdt
ZW50cycpLnRleHRDb250ZW50KTsKLSAgICAgICAgdmFyIG1hcCA9IGNvbnRleHQubWVtYmVycy5B
LmRlZmF1bHRfdG9fanNvbl9vcGVyYXRpb24oKTsKLSAgICAgICAgYXNzZXJ0X2FycmF5X2VxdWFs
cyhbLi4ubWFwLmtleXMoKV0sIFsiYiIsICJkIiwgImciLCAiaCJdKTsKLSAgICAgICAgYXNzZXJ0
X2FycmF5X2VxdWFscyhbLi4ubWFwLnZhbHVlcygpXS5tYXAodiA9PiB2LmlkbFR5cGUpLCBbImxv
bmciLCAiZmxvYXQiLCAib2N0ZXQiLCAiRE9NU3RyaW5nIl0pOwotICAgIH0sICdzaG91bGQgcmV0
dXJuIGEgcHJvcGVybHkgb3JkZXJlZCBtYXAgb2YgbmFtZS90eXBlIHBhaXJzIGhhbmRsaW5nIGlu
aGVyaXRlZCBhbmQgY29uc2VxdWVudGlhbCBpbnRlcmZhY2VzIGFzIHNwZWNpZmllZC4nKTsKLTwv
c2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL3VuaXQvSWRs
SW50ZXJmYWNlL2RvX21lbWJlcl91bnNjb3BhYmxlX2Fzc2VydHMuaHRtbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvdW5p
dC9JZGxJbnRlcmZhY2UvZG9fbWVtYmVyX3Vuc2NvcGFibGVfYXNzZXJ0cy5odG1sCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiMzhhOWI1NzVhYi4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90
ZXN0cy91bml0L0lkbEludGVyZmFjZS9kb19tZW1iZXJfdW5zY29wYWJsZV9hc3NlcnRzLmh0bWwK
KysrIC9kZXYvbnVsbApAQCAtMSw1NiArMCwwIEBACi08IURPQ1RZUEUgSFRNTD4KLTxodG1sPgot
PGhlYWQ+Ci08dGl0bGU+SWRsRGljdGlvbmFyeS5wcm90b3R5cGUuZG9fbWVtYmVyX3Vuc2NvcGFi
bGVfYXNzZXJ0cygpPC90aXRsZT4KLTwvaGVhZD4KLTxib2R5PgotPGRpdiBpZD0ibG9nIj48L2Rp
dj4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL1dlYklETFBhcnNlci5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy9pZGxoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIu
Li8uLi8uLi9pZGwtaGVscGVyLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci0gICAgJ3VzZSBzdHJp
Y3QnOwotICAgIGZ1bmN0aW9uIG1vY2tfaW50ZXJmYWNlX0EodW5zY29wYWJsZXMpIHsKLSAgICAg
ICAgc2VsZi5BID0gZnVuY3Rpb24gQSgpIHt9OwotICAgICAgICBBLnByb3RvdHlwZVtTeW1ib2wu
dW5zY29wYWJsZXNdID0gdW5zY29wYWJsZXM7Ci0gICAgfQotCi0gICAgdGVzdChmdW5jdGlvbigp
IHsKLSAgICAgICAgY29uc3QgaSA9IGludGVyZmFjZUZyb20oJ2ludGVyZmFjZSBBIHsgW1Vuc2Nv
cGFibGVdIGF0dHJpYnV0ZSBhbnkgeDsgfTsnKTsKLSAgICAgICAgY29uc3QgbWVtYmVyID0gaS5t
ZW1iZXJzWzBdOwotICAgICAgICBhc3NlcnRfdHJ1ZShtZW1iZXIuaXNVbnNjb3BhYmxlKTsKLSAg
ICAgICAgbW9ja19pbnRlcmZhY2VfQSh7IHg6IHRydWUgfSk7Ci0gICAgICAgIGkuZG9fbWVtYmVy
X3Vuc2NvcGFibGVfYXNzZXJ0cyhtZW1iZXIpOwotICAgIH0sICdzaG91bGQgbm90IHRocm93IGZv
ciBbVW5zY29wYWJsZV0gd2l0aCBwcm9wZXJ0eSBpbiBAQHVuc2NvcGFibGVzJyk7Ci0KLSAgICB0
ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICBjb25zdCBpID0gaW50ZXJmYWNlRnJvbSgnaW50ZXJm
YWNlIEEgeyBbVW5zY29wYWJsZV0gYXR0cmlidXRlIGFueSB4OyB9OycpOwotICAgICAgICBjb25z
dCBtZW1iZXIgPSBpLm1lbWJlcnNbMF07Ci0gICAgICAgIGFzc2VydF90cnVlKG1lbWJlci5pc1Vu
c2NvcGFibGUpOwotICAgICAgICBtb2NrX2ludGVyZmFjZV9BKHt9KTsKLSAgICAgICAgLy8gYXNz
ZXJ0X3Rocm93cyBjYW4ndCBiZSB1c2VkIGJlY2F1c2UgaXQgcmV0aHJvd3MgQXNzZXJ0aW9uRXJy
b3JzLgotICAgICAgICB0cnkgewotICAgICAgICAgICAgaS5kb19tZW1iZXJfdW5zY29wYWJsZV9h
c3NlcnRzKG1lbWJlcik7Ci0gICAgICAgIH0gY2F0Y2goZSkgewotICAgICAgICAgICAgYXNzZXJ0
X3RydWUoZS5tZXNzYWdlLmluY2x1ZGVzKCdTeW1ib2wudW5zY29wYWJsZXMnKSk7Ci0gICAgICAg
ICAgICByZXR1cm47Ci0gICAgICAgIH0KLSAgICAgICAgYXNzZXJ0X3VucmVhY2hlZCgnZGlkIG5v
dCB0aHJvdycpOwotICAgIH0sICdzaG91bGQgdGhyb3cgZm9yIFtVbnNjb3BhYmxlXSB3aXRoIHBy
b3BlcnR5IG1pc3NpbmcgZnJvbSBAQHVuc2NvcGFibGVzJyk7Ci0KLSAgICAvLyBUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgZm9yIGF0dHJpYnV0ZXMvbWV0aG9kcyB3aGljaCBhcmVuJ3QgW1Vuc2NvcGFi
bGVdCi0gICAgLy8gaW4gdGhlIElETCwgd2UgZG9uJ3QgYXNzZXJ0IHRoYXQgQEB1bnNjb3BhYmxl
cyBpcyBtaXNzaW5nIHRoZSBwcm9wZXJ0eS4KLSAgICAvLyBUaGlzIGNvdWxkIG1pc3MgaW1wbGVt
ZW50YXRpb24gYnVncywgYnV0IFtVbnNjb3BhYmxlXSBpcyBzbyByYXJlbHkgdXNlZAotICAgIC8v
IHRoYXQgaXQncyBmYWlybHkgdW5saWtlbHkgdG8gZXZlciBoYXBwZW4uCi0gICAgdGVzdChmdW5j
dGlvbigpIHsKLSAgICAgICAgY29uc3QgaSA9IGludGVyZmFjZUZyb20oJ2ludGVyZmFjZSBBIHsg
YXR0cmlidXRlIGFueSB4OyB9OycpOwotICAgICAgICBjb25zdCBtZW1iZXIgPSBpLm1lbWJlcnNb
MF07Ci0gICAgICAgIGFzc2VydF9mYWxzZShtZW1iZXIuaXNVbnNjb3BhYmxlKTsKLSAgICAgICAg
bW9ja19pbnRlcmZhY2VfQSh7IHg6IHRydWUgfSk7Ci0gICAgICAgIGkuZG9fbWVtYmVyX3Vuc2Nv
cGFibGVfYXNzZXJ0cyhtZW1iZXIpOwotICAgIH0sICdzaG91bGQgbm90IHRocm93IGlmIFtVbnNj
b3BhYmxlXSBpcyB1c2VkIGJ1dCBwcm9wZXJ0eSBpcyBpbiBAQHVuc2NvcGFibGVzJyk7Ci08L3Nj
cmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvdW5pdC9JZGxJbnRl
cmZhY2UvZ2V0X2luaGVyaXRhbmNlX3N0YWNrLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL3VuaXQvSWRsSW50ZXJm
YWNlL2dldF9pbmhlcml0YW5jZV9zdGFjay5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCA2NmI3OWFmYzEyZi4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy91bml0L0lkbEludGVy
ZmFjZS9nZXRfaW5oZXJpdGFuY2Vfc3RhY2suaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDQ5ICsw
LDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLTx0aXRsZT5JZGxJbnRlcmZh
Y2UucHJvdG90eXBlLmdldF9pbmhlcml0YW5jZV9zdGFjaygpPC90aXRsZT4KLTwvaGVhZD4KLTxi
b2R5PgotPGRpdiBpZD0ibG9nIj48L2Rpdj4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL1dlYklETFBhcnNl
ci5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9pZGxoYXJuZXNzLmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi9pZGwtaGVscGVyLmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQ+Ci0gICAgInVzZSBzdHJpY3QiOwotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAg
ICAgIHZhciBzdGFjayA9IGludGVyZmFjZUZyb20oJ2ludGVyZmFjZSBBIHsgfTsnKS5nZXRfaW5o
ZXJpdGFuY2Vfc3RhY2soKTsKLSAgICAgICAgYXNzZXJ0X2FycmF5X2VxdWFscyhzdGFjay5tYXAo
aSA9PiBpLm5hbWUpLCBbIkEiXSk7Ci0gICAgfSwgJ3Nob3VsZCByZXR1cm4gYW4gYXJyYXkgdGhh
dCBpbmNsdWRlcyBpdHNlbGYuJyk7Ci0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICB2
YXIgaSA9IGludGVyZmFjZUZyb20oJ2ludGVyZmFjZSBBIDogQiB7IH07Jyk7Ci0gICAgICAgIGFz
c2VydF90aHJvd3MobmV3IEVycm9yKCksIF8gPT4gaS5nZXRfaW5oZXJpdGFuY2Vfc3RhY2soKSk7
Ci0gICAgfSwgInNob3VsZCB0aHJvdyBmb3IgaW50ZXJmYWNlcyB3aGljaCBpbmhlcml0IGZyb20g
YW5vdGhlciBpbnRlcmZhY2Ugd2hpY2ggd2Fzbid0IGFkZGVkIHRvIHRoZSBJZGxBcnJheSIpOwot
Ci0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIGlkbCA9IG5ldyBJZGxBcnJheSgp
OwotICAgICAgICBpZGwuYWRkX2lkbHMoJ2ludGVyZmFjZSBBIDogQiB7IH07Jyk7Ci0gICAgICAg
IGlkbC5hZGRfdW50ZXN0ZWRfaWRscygnaW50ZXJmYWNlIEIgOiBDIHsgfTsgaW50ZXJmYWNlIEMg
eyB9OycpOwotICAgICAgICB2YXIgQSA9IGlkbC5tZW1iZXJzWyJBIl07Ci0gICAgICAgIGFzc2Vy
dF9hcnJheV9lcXVhbHMoQS5nZXRfaW5oZXJpdGFuY2Vfc3RhY2soKS5tYXAoaSA9PiBpLm5hbWUp
LCBbIkEiLCAiQiIsICJDIl0pOwotICAgIH0sICdzaG91bGQgcmV0dXJuIGFuIGFycmF5IG9mIGlu
aGVyaXRlZCBpbnRlcmZhY2VzIGluIG9yZGVyIG9mIGluaGVyaXRhbmNlLCBzdGFydGluZyB3aXRo
IGl0c2VsZi4nKTsKLQotICAgIHRlc3QoZnVuY3Rpb24gKCkgewotICAgICAgICB2YXIgaWRsID0g
bmV3IElkbEFycmF5KCk7Ci0gICAgICAgIGlkbC5hZGRfdW50ZXN0ZWRfaWRscygnaW50ZXJmYWNl
IEEgOiBCIHsgfTsnKTsKLSAgICAgICAgaWRsLmFkZF91bnRlc3RlZF9pZGxzKCdpbnRlcmZhY2Ug
QiA6IEEgeyB9OycpOwotICAgICAgICBpZGwuYXNzZXJ0X3Rocm93cygnQSBoYXMgYSBjaXJjdWxh
ciBkZXBlbmRlbmN5OiBBLEIsQScsIGkgPT4gaS50ZXN0KCkpOwotICAgIH0sICdzaG91bGQgdGhy
b3cgd2hlbiBpbmhlcml0YW5jZSBpcyBjaXJjdWxhcicpOwotCi0gICAgdGVzdChmdW5jdGlvbiAo
KSB7Ci0gICAgICAgIHZhciBpZGwgPSBuZXcgSWRsQXJyYXkoKTsKLSAgICAgICAgaWRsLmFkZF91
bnRlc3RlZF9pZGxzKCdpbnRlcmZhY2UgQSA6IEIgeyB9OycpOwotICAgICAgICBpZGwuYXNzZXJ0
X3Rocm93cygKLSAgICAgICAgICAgICdEdXBsaWNhdGUgaWRlbnRpZmllciBBJywKLSAgICAgICAg
ICAgIGkgPT4gaS5hZGRfdW50ZXN0ZWRfaWRscygnaW50ZXJmYWNlIEEgOiBDIHsgfTsnKSk7Ci0g
ICAgfSwgJ3Nob3VsZCB0aHJvdyB3aGVuIG11bHRpcGxlIGluaGVyaXRhbmNlcyBkZWZpbmVkJyk7
Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvdW5pdC9J
ZGxJbnRlcmZhY2UvZ2V0X2ludGVyZmFjZV9vYmplY3QuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvdW5pdC9JZGxJ
bnRlcmZhY2UvZ2V0X2ludGVyZmFjZV9vYmplY3QuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggYTNkOTAxYTc1MmQuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvdW5pdC9JZGxJ
bnRlcmZhY2UvZ2V0X2ludGVyZmFjZV9vYmplY3QuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDIy
ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPHRpdGxlPklkbEludGVyZmFjZS5wcm90b3R5cGUu
Z2V0X2ludGVyZmFjZV9vYmplY3QoKTwvdGl0bGU+Ci08ZGl2IGlkPSJsb2ciPjwvZGl2PgotPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvV2ViSURMUGFyc2VyLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL2lkbGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uLy4u
L2lkbC1oZWxwZXIuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLSJ1c2Ugc3RyaWN0IjsKLXRlc3Qo
ZnVuY3Rpb24oKSB7Ci0gICAgd2luZG93LkEgPSB7fTsKLSAgICB2YXIgaSA9IGludGVyZmFjZUZy
b20oJ2ludGVyZmFjZSBBIHsgfTsnKTsKLSAgICBhc3NlcnRfZXF1YWxzKGkuZ2V0X2ludGVyZmFj
ZV9vYmplY3QoKSwgd2luZG93LkEpOwotfSwgJ0ludGVyZmFjZSBkb2VzIG5vdCBoYXZlIExlZ2Fj
eU5hbWVzcGFjZS4nKTsKLQotdGVzdChmdW5jdGlvbigpIHsKLSAgICB3aW5kb3cuRm9vID0geyBB
OiB7fSB9OwotICAgIHZhciBpID0gaW50ZXJmYWNlRnJvbSgnW0xlZ2FjeU5hbWVzcGFjZT1Gb29d
IGludGVyZmFjZSBBIHsgfTsgbmFtZXNwYWNlIEZvbyB7IH07Jyk7Ci0gICAgYXNzZXJ0X2VxdWFs
cyhpLmdldF9pbnRlcmZhY2Vfb2JqZWN0KCksIHdpbmRvdy5Gb28uQSk7Ci19LCAnSW50ZXJmYWNl
IGhhcyBMZWdhY3lOYW1lc3BhY2UnKTsKLTwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy91
bml0L0lkbEludGVyZmFjZS9nZXRfaW50ZXJmYWNlX29iamVjdF9vd25lci5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0
cy91bml0L0lkbEludGVyZmFjZS9nZXRfaW50ZXJmYWNlX29iamVjdF9vd25lci5odG1sCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1MWFiMjA2N2JjNS4uMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVz
dC90ZXN0cy91bml0L0lkbEludGVyZmFjZS9nZXRfaW50ZXJmYWNlX29iamVjdF9vd25lci5odG1s
CisrKyAvZGV2L251bGwKQEAgLTEsMjEgKzAsMCBAQAotPCFET0NUWVBFIEhUTUw+Ci08dGl0bGU+
SWRsSW50ZXJmYWNlLnByb3RvdHlwZS5nZXRfaW50ZXJmYWNlX29iamVjdF9vd25lcigpPC90aXRs
ZT4KLTxkaXYgaWQ9ImxvZyI+PC9kaXY+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9XZWJJRExQYXJzZXIu
anMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvaWRsaGFybmVzcy5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4vaWRsLWhlbHBlci5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0PgotInVzZSBzdHJpY3QiOwotdGVzdChmdW5jdGlvbigpIHsKLSAgICB2YXIgaSA9IGlu
dGVyZmFjZUZyb20oJ2ludGVyZmFjZSBBIHsgfTsnKTsKLSAgICBhc3NlcnRfZXF1YWxzKGkuZ2V0
X2ludGVyZmFjZV9vYmplY3Rfb3duZXIoKSwgd2luZG93KTsKLX0sICdJbnRlcmZhY2UgZG9lcyBu
b3QgaGF2ZSBMZWdhY3lOYW1lc3BhY2UuJyk7Ci0KLXRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgd2lu
ZG93LkZvbyA9IHt9OwotICAgIHZhciBpID0gaW50ZXJmYWNlRnJvbSgnW0xlZ2FjeU5hbWVzcGFj
ZT1Gb29dIGludGVyZmFjZSBBIHsgfTsgbmFtZXNwYWNlIEZvbyB7IH07Jyk7Ci0gICAgYXNzZXJ0
X2VxdWFscyhpLmdldF9pbnRlcmZhY2Vfb2JqZWN0X293bmVyKCksIHdpbmRvdy5Gb28pOwotfSwg
J0ludGVyZmFjZSBoYXMgTGVnYWN5TmFtZXNwYWNlJyk7Ci08L3NjcmlwdD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rl
c3QvdGVzdHMvdW5pdC9JZGxJbnRlcmZhY2UvZ2V0X2xlZ2FjeV9uYW1lc3BhY2UuaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3Qv
dGVzdHMvdW5pdC9JZGxJbnRlcmZhY2UvZ2V0X2xlZ2FjeV9uYW1lc3BhY2UuaHRtbApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTJkNDJiYjA5ZTMuLjAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3Qv
dGVzdHMvdW5pdC9JZGxJbnRlcmZhY2UvZ2V0X2xlZ2FjeV9uYW1lc3BhY2UuaHRtbAorKysgL2Rl
di9udWxsCkBAIC0xLDIwICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPHRpdGxlPklkbEludGVy
ZmFjZS5wcm90b3R5cGUuZ2V0X2xlZ2FjeV9uYW1lc3BhY2UoKTwvdGl0bGU+Ci08ZGl2IGlkPSJs
b2ciPjwvZGl2PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvV2ViSURMUGFyc2VyLmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL2lkbGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlw
dCBzcmM9Ii4uLy4uLy4uL2lkbC1oZWxwZXIuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLSJ1c2Ug
c3RyaWN0IjsKLXRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgdmFyIGkgPSBpbnRlcmZhY2VGcm9tKCdp
bnRlcmZhY2UgQSB7IH07Jyk7Ci0gICAgYXNzZXJ0X2VxdWFscyhpLmdldF9sZWdhY3lfbmFtZXNw
YWNlKCksIHVuZGVmaW5lZCk7Ci19LCAnSW50ZXJmYWNlIGRvZXMgbm90IGhhdmUgTGVnYWN5TmFt
ZXNwYWNlLicpOwotCi10ZXN0KGZ1bmN0aW9uKCkgewotICAgIHZhciBpID0gaW50ZXJmYWNlRnJv
bSgnW0xlZ2FjeU5hbWVzcGFjZT1Gb29dIGludGVyZmFjZSBBIHsgfTsgbmFtZXNwYWNlIEZvbyB7
IH07Jyk7Ci0gICAgYXNzZXJ0X2VxdWFscyhpLmdldF9sZWdhY3lfbmFtZXNwYWNlKCksICJGb28i
KTsKLX0sICdJbnRlcmZhY2UgaGFzIExlZ2FjeU5hbWVzcGFjZScpOwotPC9zY3JpcHQ+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy90ZXN0L3Rlc3RzL3VuaXQvSWRsSW50ZXJmYWNlL2dldF9xdWFsaWZpZWRfbmFtZS5odG1s
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
dGVzdC90ZXN0cy91bml0L0lkbEludGVyZmFjZS9nZXRfcXVhbGlmaWVkX25hbWUuaHRtbApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjc3YTMxYjVlNzAuLjAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rl
c3QvdGVzdHMvdW5pdC9JZGxJbnRlcmZhY2UvZ2V0X3F1YWxpZmllZF9uYW1lLmh0bWwKKysrIC9k
ZXYvbnVsbApAQCAtMSwyMCArMCwwIEBACi08IURPQ1RZUEUgSFRNTD4KLTx0aXRsZT5JZGxJbnRl
cmZhY2UucHJvdG90eXBlLmdldF9xdWFsaWZpZWRfbmFtZSgpPC90aXRsZT4KLTxkaXYgaWQ9Imxv
ZyI+PC9kaXY+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9XZWJJRExQYXJzZXIuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvaWRsaGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0iLi4vLi4vLi4vaWRsLWhlbHBlci5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotInVzZSBz
dHJpY3QiOwotdGVzdChmdW5jdGlvbigpIHsKLSAgICB2YXIgaSA9IGludGVyZmFjZUZyb20oJ2lu
dGVyZmFjZSBBIHsgfTsnKTsKLSAgICBhc3NlcnRfZXF1YWxzKGkuZ2V0X3F1YWxpZmllZF9uYW1l
KCksICJBIik7Ci19LCAnSW50ZXJmYWNlIGRvZXMgbm90IGhhdmUgTGVnYWN5TmFtZXNwYWNlLicp
OwotCi10ZXN0KGZ1bmN0aW9uKCkgewotICAgIHZhciBpID0gaW50ZXJmYWNlRnJvbSgnW0xlZ2Fj
eU5hbWVzcGFjZT1Gb29dIGludGVyZmFjZSBBIHsgfTsgbmFtZXNwYWNlIEZvbyB7IH07Jyk7Ci0g
ICAgYXNzZXJ0X2VxdWFscyhpLmdldF9xdWFsaWZpZWRfbmFtZSgpLCAiRm9vLkEiKTsKLX0sICdJ
bnRlcmZhY2UgaGFzIExlZ2FjeU5hbWVzcGFjZScpOwotPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0
L3Rlc3RzL3VuaXQvSWRsSW50ZXJmYWNlL2hhc19kZWZhdWx0X3RvX2pzb25fcmVndWxhcl9vcGVy
YXRpb24uaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3Rlc3QvdGVzdHMvdW5pdC9JZGxJbnRlcmZhY2UvaGFzX2RlZmF1bHRfdG9fanNv
bl9yZWd1bGFyX29wZXJhdGlvbi5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBi
NDcyNjJiNzJiOS4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy91bml0L0lkbEludGVyZmFjZS9o
YXNfZGVmYXVsdF90b19qc29uX3JlZ3VsYXJfb3BlcmF0aW9uLmh0bWwKKysrIC9kZXYvbnVsbApA
QCAtMSw0NyArMCwwIEBACi08IURPQ1RZUEUgSFRNTD4KLTxodG1sPgotPGhlYWQ+Ci08dGl0bGU+
SWRsSW50ZXJmYWNlLnByb3RvdHlwZS5oYXNfZGVmYXVsdF90b19qc29uX3JlZ3VsYXJfb3BlcmF0
aW9uKCk8L3RpdGxlPgotPC9oZWFkPgotPGJvZHk+Ci08ZGl2IGlkPSJsb2ciPjwvZGl2PgotPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvV2ViSURMUGFyc2VyLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL2lkbGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uLy4u
L2lkbC1oZWxwZXIuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLSAgICAidXNlIHN0cmljdCI7Ci0g
ICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIGkgPSBpbnRlcmZhY2VGcm9tKCdpbnRl
cmZhY2UgQSB7IH07Jyk7Ci0gICAgICAgIGFzc2VydF9mYWxzZShpLmhhc19kZWZhdWx0X3RvX2pz
b25fcmVndWxhcl9vcGVyYXRpb24oKSk7Ci0gICAgfSwgJ3Nob3VsZCByZXR1cm4gZmFsc2Ugd2hl
biB0aGUgaW50ZXJmYWNlIGRlY2xhcmVzIG5vIHRvSlNPTiBvcGVyYXRpb24uJyk7Ci0KLSAgICB0
ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgaSA9IGludGVyZmFjZUZyb20oJ2ludGVyZmFj
ZSBBIHsgc3RhdGljIG9iamVjdCB0b0pTT04oKTsgfTsnKTsKLSAgICAgICAgYXNzZXJ0X2ZhbHNl
KGkuaGFzX2RlZmF1bHRfdG9fanNvbl9yZWd1bGFyX29wZXJhdGlvbigpKTsKLSAgICB9LCAnc2hv
dWxkIHJldHVybiBmYWxzZSB3aGVuIHRoZSBpbnRlcmZhY2UgZGVjbGFyZXMgYSBzdGF0aWMgdG9K
U09OIG9wZXJhdGlvbi4nKTsKLQotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBp
ID0gaW50ZXJmYWNlRnJvbSgnaW50ZXJmYWNlIEEgeyBvYmplY3QgdG9KU09OKCk7IH07Jyk7Ci0g
ICAgICAgIGFzc2VydF9mYWxzZShpLmhhc19kZWZhdWx0X3RvX2pzb25fcmVndWxhcl9vcGVyYXRp
b24oKSk7Ci0gICAgfSwgJ3Nob3VsZCByZXR1cm4gZmFsc2Ugd2hlbiB0aGUgaW50ZXJmYWNlIGRl
Y2xhcmVzIGEgcmVndWxhciB0b0pTT04gb3BlcmF0aW9uIHdpdGggbm8gZXh0ZW5kZWQgYXR0cmli
dXRlLicpOwotCi0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIGkgPSBpbnRlcmZh
Y2VGcm9tKCdpbnRlcmZhY2UgQSB7IFt4XSBvYmplY3QgdG9KU09OKCk7IH07Jyk7Ci0gICAgICAg
IGFzc2VydF9mYWxzZShpLmhhc19kZWZhdWx0X3RvX2pzb25fcmVndWxhcl9vcGVyYXRpb24oKSk7
Ci0gICAgfSwgJ3Nob3VsZCByZXR1cm4gZmFsc2Ugd2hlbiB0aGUgaW50ZXJmYWNlIGRlY2xhcmVz
IGEgcmVndWxhciB0b0pTT04gb3BlcmF0aW9uIHdpdGggYW5vdGhlciBleHRlbnRlZCBhdHRyaWJ1
dGUuJyk7Ci0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgaSA9IGludGVyZmFj
ZUZyb20oJ2ludGVyZmFjZSBBIHsgW0RlZmF1bHRdIG9iamVjdCB0b0pTT04oKTsgfTsnKTsKLSAg
ICAgICAgYXNzZXJ0X3RydWUoaS5oYXNfZGVmYXVsdF90b19qc29uX3JlZ3VsYXJfb3BlcmF0aW9u
KCkpOwotICAgIH0sICdzaG91bGQgcmV0dXJuIHRydWUgd2hlbiB0aGUgaW50ZXJmYWNlIGRlY2xh
cmVzIGEgcmVndWxhciB0b0pTT04gb3BlcmF0aW9uIHdpdGggdGhlIFtEZWZhdWx0XSBleHRlbnRl
ZCBhdHRyaWJ1dGUuJyk7Ci0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgaSA9
IGludGVyZmFjZUZyb20oJ2ludGVyZmFjZSBBIHsgW0F0dHIsIEFub3RoZXJBdHRyLCBEZWZhdWx0
XSBvYmplY3QgdG9KU09OKCk7IH07Jyk7Ci0gICAgICAgIGFzc2VydF90cnVlKGkuaGFzX2RlZmF1
bHRfdG9fanNvbl9yZWd1bGFyX29wZXJhdGlvbigpKTsKLSAgICB9LCAnc2hvdWxkIHJldHVybiB0
cnVlIHdoZW4gdGhlIGludGVyZmFjZSBkZWNsYXJlcyBhIHJlZ3VsYXIgdG9KU09OIG9wZXJhdGlv
biB3aXRoIG11bHRpcGxlIGV4dGVuZGVkIGF0dHJpYnV0ZXMsIGluY2x1ZGluZyBbRGVmYXVsdF0u
Jyk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy91
bml0L0lkbEludGVyZmFjZS9oYXNfdG9fanNvbl9yZWd1bGFyX29wZXJhdGlvbi5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90
ZXN0cy91bml0L0lkbEludGVyZmFjZS9oYXNfdG9fanNvbl9yZWd1bGFyX29wZXJhdGlvbi5odG1s
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhMWE2NDFiZDk3MS4uMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvdGVzdC90ZXN0cy91bml0L0lkbEludGVyZmFjZS9oYXNfdG9fanNvbl9yZWd1bGFyX29wZXJh
dGlvbi5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMzEgKzAsMCBAQAotPCFET0NUWVBFIEhUTUw+
Ci08aHRtbD4KLTxoZWFkPgotPHRpdGxlPklkbEludGVyZmFjZS5wcm90b3R5cGUuaGFzX3RvX2pz
b25fcmVndWxhcl9vcGVyYXRpb24oKTwvdGl0bGU+Ci08L2hlYWQ+Ci08Ym9keT4KLTxkaXYgaWQ9
ImxvZyI+PC9kaXY+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9XZWJJRExQYXJzZXIuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvaWRsaGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2Ny
aXB0IHNyYz0iLi4vLi4vLi4vaWRsLWhlbHBlci5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotICAg
ICJ1c2Ugc3RyaWN0IjsKLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgaSA9IGlu
dGVyZmFjZUZyb20oJ2ludGVyZmFjZSBBIHsgfTsnKTsKLSAgICAgICAgYXNzZXJ0X2ZhbHNlKGku
aGFzX3RvX2pzb25fcmVndWxhcl9vcGVyYXRpb24oKSk7Ci0gICAgfSwgJ3Nob3VsZCByZXR1cm4g
ZmFsc2Ugd2hlbiB0aGUgaW50ZXJmYWNlIGRlY2xhcmVzIG5vIHRvSlNPTiBvcGVyYXRpb24uJyk7
Ci0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgaSA9IGludGVyZmFjZUZyb20o
J2ludGVyZmFjZSBBIHsgc3RhdGljIG9iamVjdCB0b0pTT04oKTsgfTsnKTsKLSAgICAgICAgYXNz
ZXJ0X2ZhbHNlKGkuaGFzX3RvX2pzb25fcmVndWxhcl9vcGVyYXRpb24oKSk7Ci0gICAgfSwgJ3No
b3VsZCByZXR1cm4gZmFsc2Ugd2hlbiB0aGUgaW50ZXJmYWNlIGRlY2xhcmVzIGEgc3RhdGljIHRv
SlNPTiBvcGVyYXRpb24uJyk7Ci0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIg
aSA9IGludGVyZmFjZUZyb20oJ2ludGVyZmFjZSBBIHsgb2JqZWN0IHRvSlNPTigpOyB9OycpOwot
ICAgICAgICBhc3NlcnRfdHJ1ZShpLmhhc190b19qc29uX3JlZ3VsYXJfb3BlcmF0aW9uKCkpOwot
ICAgIH0sICdzaG91bGQgcmV0dXJuIHRydWUgd2hlbiB0aGUgaW50ZXJmYWNlIGRlY2xhcmVzIGEg
cmVndWxhciB0b0pTT04gb3BlcmF0aW9uLicpOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy90ZXN0L3Rlc3RzL3VuaXQvSWRsSW50ZXJmYWNlL3Rlc3RfcHJpbWFyeV9pbnRl
cmZhY2Vfb2ZfdW5kZWZpbmVkLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL3VuaXQvSWRsSW50ZXJmYWNlL3Rlc3Rf
cHJpbWFyeV9pbnRlcmZhY2Vfb2ZfdW5kZWZpbmVkLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMzE1NThhZDQyLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL3VuaXQvSWRs
SW50ZXJmYWNlL3Rlc3RfcHJpbWFyeV9pbnRlcmZhY2Vfb2ZfdW5kZWZpbmVkLmh0bWwKKysrIC9k
ZXYvbnVsbApAQCAtMSwyOSArMCwwIEBACi08IURPQ1RZUEUgSFRNTD4KLTxodG1sPgotCi08aGVh
ZD4KLSAgPHRpdGxlPmlkbGhhcm5lc3MgdGVzdF9wcmltYXJ5X2ludGVyZmFjZV9vZl91bmRlZmlu
ZWQ8L3RpdGxlPgotPC9oZWFkPgotCi08Ym9keT4KLSAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9XZWJJ
RExQYXJzZXIuanMiPjwvc2NyaXB0PgotICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9pZGxoYXJu
ZXNzLmpzIj48L3NjcmlwdD4KLSAgPHNjcmlwdD4KLSAgICAndXNlIHN0cmljdCc7Ci0gICAgdGVz
dChmdW5jdGlvbiAoKSB7Ci0gICAgICBsZXQgaSA9IG5ldyBJZGxBcnJheSgpOwotICAgICAgaS5h
ZGRfdW50ZXN0ZWRfaWRscygnaW50ZXJmYWNlIEEgOiBCIHt9OycpOwotICAgICAgaS5hc3NlcnRf
dGhyb3dzKG5ldyBJZGxIYXJuZXNzRXJyb3IoJ0EgaW5oZXJpdHMgQiwgYnV0IEIgaXMgdW5kZWZp
bmVkLicpLCBpID0+IGkudGVzdCgpKTsKLSAgICB9LCAnQSA6IEIgd2l0aCBCIHVuZGVjbGFyZWQg
c2hvdWxkIHRocm93IElkbEhhcm5lc3NFcnJvcicpOwotCi0gICAgdGVzdChmdW5jdGlvbiAoKSB7
Ci0gICAgICBsZXQgaSA9IG5ldyBJZGxBcnJheSgpOwotICAgICAgaS5hZGRfdW50ZXN0ZWRfaWRs
cygnaW50ZXJmYWNlIEEgOiBCIHt9OycpOwotICAgICAgaS5hZGRfdW50ZXN0ZWRfaWRscygnZGlj
dGlvbmFyeSBCIHt9OycpOwotICAgICAgaS5hc3NlcnRfdGhyb3dzKG5ldyBJZGxIYXJuZXNzRXJy
b3IoJ0EgaW5oZXJpdHMgQiwgYnV0IEIgaXMgbm90IGFuIGludGVyZmFjZS4nKSwgaSA9PiBpLnRl
c3QoKSk7Ci0gICAgfSwgJ2ludGVyZmFjZSBBIDogQiB3aXRoIEIgZGljdGlvbmFyeSBzaG91bGQg
dGhyb3cgSWRsSGFybmVzc0Vycm9yJyk7Ci0gIDwvc2NyaXB0PgotPC9ib2R5PgotCi08L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy90ZXN0L3Rlc3RzL3VuaXQvSWRsSW50ZXJmYWNlL3RyYXZlcnNlX2luaGVyaXRl
ZF9hbmRfY29uc2VxdWVudGlhbF9pbnRlcmZhY2VzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL3VuaXQvSWRsSW50
ZXJmYWNlL3RyYXZlcnNlX2luaGVyaXRlZF9hbmRfY29uc2VxdWVudGlhbF9pbnRlcmZhY2VzLmh0
bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQwMGJjMzVkOWZjLi4wMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy90ZXN0L3Rlc3RzL3VuaXQvSWRsSW50ZXJmYWNlL3RyYXZlcnNlX2luaGVyaXRlZF9hbmRf
Y29uc2VxdWVudGlhbF9pbnRlcmZhY2VzLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw1OCArMCww
IEBACi08IURPQ1RZUEUgSFRNTD4KLTxodG1sPgotPGhlYWQ+Ci08dGl0bGU+SWRsRGljdGlvbmFy
eS5wcm90b3R5cGUudHJhdmVyc2VfaW5oZXJpdGVkX2FuZF9jb25zZXF1ZW50aWFsX2ludGVyZmFj
ZXMoKTwvdGl0bGU+Ci08L2hlYWQ+Ci08Ym9keT4KLTxkaXYgaWQ9ImxvZyI+PC9kaXY+Ci08c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy9XZWJJRExQYXJzZXIuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvaWRsaGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4v
aWRsLWhlbHBlci5qcyI+PC9zY3JpcHQ+Ci08cHJlIGlkPWZyYWdtZW50cz4KLSAgICBpbnRlcmZh
Y2UgQSA6IEIgeyB9OwotICAgIGludGVyZmFjZSBCIDogQyB7IH07Ci0gICAgaW50ZXJmYWNlIEMg
eyB9OwotICAgIGludGVyZmFjZSBtaXhpbiBEIHsgfTsKLSAgICBpbnRlcmZhY2UgbWl4aW4gRyB7
IH07Ci0gICAgaW50ZXJmYWNlIG1peGluIEggeyB9OwotCi0gICAgQSBpbmNsdWRlcyBHOwotICAg
IEEgaW5jbHVkZXMgSDsKLSAgICBCIGluY2x1ZGVzIEQ7Ci08L3ByZT4KLTxzY3JpcHQ+Ci0gICAg
InVzZSBzdHJpY3QiOwotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBpbnRlcmZh
Y2VzID0gW107Ci0gICAgICAgIGludGVyZmFjZUZyb20oJ2ludGVyZmFjZSBBIHsgfTsnKS50cmF2
ZXJzZV9pbmhlcml0ZWRfYW5kX2NvbnNlcXVlbnRpYWxfaW50ZXJmYWNlcyhmdW5jdGlvbihpKSB7
Ci0gICAgICAgICAgICBpbnRlcmZhY2VzLnB1c2goaS5uYW1lKTsKLSAgICAgICAgfSk7Ci0gICAg
ICAgIGFzc2VydF9hcnJheV9lcXVhbHMoaW50ZXJmYWNlcywgWyJBIl0pOwotICAgIH0sICdzaG91
bGQgcmV0dXJuIGFuIGFycmF5IHRoYXQgaW5jbHVkZXMgaXRzZWxmLicpOwotCi0gICAgdGVzdChm
dW5jdGlvbigpIHsKLSAgICAgICAgdmFyIGNvbnRleHQgPSBuZXcgSWRsQXJyYXkoKTsKLSAgICAg
ICAgY29udGV4dC5hZGRfaWRscygiaW50ZXJmYWNlIEEgeyB9OyBBIGluY2x1ZGVzIEI7Iik7Ci0g
ICAgICAgIGFzc2VydF90aHJvd3MobmV3IEVycm9yKCksIF8gPT4gY29udGV4dC5tZW1iZXJzWyJB
Il0udHJhdmVyc2VfaW5oZXJpdGVkX2FuZF9jb25zZXF1ZW50aWFsX2ludGVyZmFjZXMoZnVuY3Rp
b24oKSB7fSkpOwotICAgIH0sICJzaG91bGQgdGhyb3cgZm9yIGludGVyZmFjZXMgd2hpY2ggYXJl
IGV4dGVuZGVkIGJ5IGFub3RoZXIgaW50ZXJmYWNlIHdoaWNoIHdhc24ndCBhZGRlZCB0byB0aGUg
SWRsQXJyYXkuIik7Ci0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgY29udGV4
dCA9IG5ldyBJZGxBcnJheSgpOwotICAgICAgICBjb250ZXh0LmFkZF9pZGxzKCJpbnRlcmZhY2Ug
QSB7IH07Iik7Ci0gICAgICAgIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCBfID0+IGNv
bnRleHQubWVtYmVyc1siQSJdLnRyYXZlcnNlX2luaGVyaXRlZF9hbmRfY29uc2VxdWVudGlhbF9p
bnRlcmZhY2VzKCkpOwotICAgIH0sICJzaG91bGQgdGhyb3cgaWYgbm90IHBhc3NlZCBhIGNhbGxi
YWNrIik7Ci0KLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgY29udGV4dCA9IG5l
dyBJZGxBcnJheSgpOwotICAgICAgICBjb250ZXh0LmFkZF9pZGxzKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCdmcmFnbWVudHMnKS50ZXh0Q29udGVudCk7Ci0gICAgICAgIHZhciBpbnRlcmZhY2Vz
ID0gW107Ci0gICAgICAgIGNvbnRleHQubWVtYmVyc1siQSJdLnRyYXZlcnNlX2luaGVyaXRlZF9h
bmRfY29uc2VxdWVudGlhbF9pbnRlcmZhY2VzKGZ1bmN0aW9uKGkpIHsKLSAgICAgICAgICAgIGlu
dGVyZmFjZXMucHVzaChpLm5hbWUpOwotICAgICAgICB9KTsKLSAgICAgICAgYXNzZXJ0X2FycmF5
X2VxdWFscyhpbnRlcmZhY2VzLCBbIkMiLCAiQiIsICJEIiwgIkEiLCAiRyIsICJIIl0pOwotICAg
IH0sICdzaG91bGQgcmV0dXJuIGFuIGFycmF5IHRoYXQgaW5jbHVkZXMgdGhlIGlkZW50aWZpZXIg
b2YgdGhlIGludGVyZmFjZXMgaW4gdGhlIGNvcnJlY3Qgb3JkZXIuJyk7Ci08L3NjcmlwdD4KLTwv
Ym9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvdW5pdC9JZGxJbnRlcmZhY2UvdzNj
LWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy90ZXN0L3Rlc3RzL3VuaXQvSWRsSW50ZXJmYWNlL3czYy1pbXBvcnQubG9nCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2NThhODk3NDQxMy4uMDAwMDAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
dGVzdC90ZXN0cy91bml0L0lkbEludGVyZmFjZS93M2MtaW1wb3J0LmxvZworKysgL2Rldi9udWxs
CkBAIC0xLDI4ICswLDAgQEAKLVRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9y
dGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgotRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBk
aXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhl
IFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQK
LQotVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQg
dG8gcmVpbXBvcnQKLQotRG8gTk9UIG1vZGlmeSBvciByZW1vdmUgdGhpcyBmaWxlLgotCi0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0KLVByb3BlcnRpZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKLU5vbmUK
LVByb3BlcnR5IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgotTm9uZQotLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tCi1MaXN0IG9mIGZpbGVzOgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvdW5pdC9JZGxJbnRlcmZhY2UvY29u
c3RydWN0b3JzLmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL3VuaXQvSWRsSW50ZXJmYWNlL2RlZmF1bHRfdG9fanNv
bl9vcGVyYXRpb24uaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvdW5pdC9JZGxJbnRlcmZhY2UvZG9fbWVtYmVyX3Vu
c2NvcGFibGVfYXNzZXJ0cy5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy91bml0L0lkbEludGVyZmFjZS9nZXRfaW5o
ZXJpdGFuY2Vfc3RhY2suaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvdW5pdC9JZGxJbnRlcmZhY2UvZ2V0X2ludGVy
ZmFjZV9vYmplY3QuaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvdW5pdC9JZGxJbnRlcmZhY2UvZ2V0X2ludGVyZmFj
ZV9vYmplY3Rfb3duZXIuaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvdW5pdC9JZGxJbnRlcmZhY2UvZ2V0X2xlZ2Fj
eV9uYW1lc3BhY2UuaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvdW5pdC9JZGxJbnRlcmZhY2UvZ2V0X3F1YWxpZmll
ZF9uYW1lLmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy90ZXN0L3Rlc3RzL3VuaXQvSWRsSW50ZXJmYWNlL2hhc19kZWZhdWx0X3RvX2pz
b25fcmVndWxhcl9vcGVyYXRpb24uaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvdW5pdC9JZGxJbnRlcmZhY2UvaGFz
X3RvX2pzb25fcmVndWxhcl9vcGVyYXRpb24uaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvdW5pdC9JZGxJbnRlcmZh
Y2UvdGVzdF9wcmltYXJ5X2ludGVyZmFjZV9vZl91bmRlZmluZWQuaHRtbAotL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvdW5p
dC9JZGxJbnRlcmZhY2UvdHJhdmVyc2VfaW5oZXJpdGVkX2FuZF9jb25zZXF1ZW50aWFsX2ludGVy
ZmFjZXMuaHRtbApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy91bml0L0lkbEludGVyZmFjZU1lbWJlci9p
c190b19qc29uX3JlZ3VsYXJfb3BlcmF0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL3VuaXQvSWRsSW50ZXJm
YWNlTWVtYmVyL2lzX3RvX2pzb25fcmVndWxhcl9vcGVyYXRpb24uaHRtbApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggYWJmYTRhYjgwMGIuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMv
dW5pdC9JZGxJbnRlcmZhY2VNZW1iZXIvaXNfdG9fanNvbl9yZWd1bGFyX29wZXJhdGlvbi5odG1s
CisrKyAvZGV2L251bGwKQEAgLTEsNDIgKzAsMCBAQAotPCFET0NUWVBFIEhUTUw+Ci08aHRtbD4K
LTxoZWFkPgotPHRpdGxlPklkbEludGVyZmFjZU1lbWJlci5wcm90b3R5cGUuaXNfdG9fanNvbl9y
ZWd1bGFyX29wZXJhdGlvbigpPC90aXRsZT4KLTwvaGVhZD4KLTxib2R5PgotPGRpdiBpZD0ibG9n
Ij48L2Rpdj4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL1dlYklETFBhcnNlci5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9pZGxoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIuLi8uLi8uLi9pZGwtaGVscGVyLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci0gICAgInVz
ZSBzdHJpY3QiOwotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBtID0gbWVtYmVy
RnJvbSgicmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBmb28iKTsKLSAgICAgICAgYXNzZXJ0
X2ZhbHNlKG0uaXNfdG9fanNvbl9yZWd1bGFyX29wZXJhdGlvbigpKTsKLSAgICB9LCAnc2hvdWxk
IHJldHVybiBmYWxzZSB3aGVuIG1lbWJlciBpcyBhbiBhdHRyaWJ1dGUuJyk7Ci0KLSAgICB0ZXN0
KGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgbSA9IG1lbWJlckZyb20oInN0YXRpYyB2b2lkIGZv
bygpIik7Ci0gICAgICAgIGFzc2VydF9mYWxzZShtLmlzX3RvX2pzb25fcmVndWxhcl9vcGVyYXRp
b24oKSk7Ci0gICAgfSwgJ3Nob3VsZCByZXR1cm4gZmFsc2Ugd2hlbiBtZW1iZXIgaXMgYSBzdGF0
aWMgb3BlcmF0aW9uLicpOwotCi0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIG0g
PSBtZW1iZXJGcm9tKCJzdGF0aWMgb2JqZWN0IHRvSlNPTigpIik7Ci0gICAgICAgIGFzc2VydF9m
YWxzZShtLmlzX3RvX2pzb25fcmVndWxhcl9vcGVyYXRpb24oKSk7Ci0gICAgfSwgJ3Nob3VsZCBy
ZXR1cm4gZmFsc2Ugd2hlbiBtZW1iZXIgaXMgYSBzdGF0aWMgdG9KU09OIG9wZXJhdGlvbi4nKTsK
LQotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBtID0gbWVtYmVyRnJvbSgib2Jq
ZWN0IHRvSlNPTigpIik7Ci0gICAgICAgIGFzc2VydF90cnVlKG0uaXNfdG9fanNvbl9yZWd1bGFy
X29wZXJhdGlvbigpKTsKLSAgICB9LCAnc2hvdWxkIHJldHVybiB0cnVlIHdoZW4gbWVtYmVyIGlz
IGEgcmVndWxhciB0b0pTT04gb3BlcmF0aW9uLicpOwotCi0gICAgdGVzdChmdW5jdGlvbigpIHsK
LSAgICAgICAgdmFyIG0gPSBtZW1iZXJGcm9tKCJbRm9vXSBvYmplY3QgdG9KU09OKCkiKTsKLSAg
ICAgICAgYXNzZXJ0X3RydWUobS5pc190b19qc29uX3JlZ3VsYXJfb3BlcmF0aW9uKCkpOwotICAg
IH0sICdzaG91bGQgcmV0dXJuIHRydWUgd2hlbiBtZW1iZXIgaXMgYSByZWd1bGFyIHRvSlNPTiBv
cGVyYXRpb24gd2l0aCBleHRlbnNpYmxlIGF0dHJpYnV0ZXMuJyk7Ci08L3NjcmlwdD4KLTwvYm9k
eT4KLTwvaHRtbD4KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy91bml0L0lkbEludGVyZmFjZU1lbWJl
ci93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvdW5pdC9JZGxJbnRlcmZhY2VNZW1iZXIvdzNjLWlt
cG9ydC5sb2cKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY1YmI4YzcwNGE2Li4wMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy90ZXN0L3Rlc3RzL3VuaXQvSWRsSW50ZXJmYWNlTWVtYmVyL3czYy1pbXBvcnQu
bG9nCisrKyAvZGV2L251bGwKQEAgLTEsMTcgKzAsMCBAQAotVGhlIHRlc3RzIGluIHRoaXMgZGly
ZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCi1EbyBOT1QgbW9k
aWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQsIGNyZWF0ZSBhIHB1
bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20vd2ViLXBs
YXRmb3JtLXRlc3RzL3dwdAotCi1UaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNj
LXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydAotCi1EbyBOT1QgbW9kaWZ5IG9yIHJlbW92ZSB0
aGlzIGZpbGUuCi0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotUHJvcGVydGllcyByZXF1aXJpbmcgdmVuZG9y
IHByZWZpeGVzOgotTm9uZQotUHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4
ZXM6Ci1Ob25lCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLUxpc3Qgb2YgZmlsZXM6Ci0vTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy91bml0
L0lkbEludGVyZmFjZU1lbWJlci9pc190b19qc29uX3JlZ3VsYXJfb3BlcmF0aW9uLmh0bWwKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3Rlc3QvdGVzdHMvdW5pdC9hc3NlcnRfb2JqZWN0X2VxdWFscy5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0
cy91bml0L2Fzc2VydF9vYmplY3RfZXF1YWxzLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDczYTliOTU4NDM4Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL3VuaXQvYXNzZXJ0
X29iamVjdF9lcXVhbHMuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDE3MCArMCwwIEBACi08IURP
Q1RZUEUgSFRNTD4KLTxodG1sIGxhbmc9ImVuIj4KLTxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KLTxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTx0aXRsZT5B
c3NlcnRpb24gZnVuY3Rpb25zPC90aXRsZT4KLTxzY3JpcHQ+Ci0ndXNlIHN0cmljdCc7Ci0KLS8v
IE5laXRoZXIgdGhlIGBhc3NlcnRfdGhyb3dzYCBmdW5jdGlvbiAgbm9yIGl0cyB2YXJpYW50cyBt
YXkgYmUgdXNlZCBmb3IgdGhpcwotLy8gcHVycG9zZSBiZWNhdXNlIHRoZXkgZmFpbCBpbiByZXNw
b25zZSB0byBBc3NlcnRpb25FcnJvciBleGNlcHRpb25zLCBldmVuCi0vLyB3aGVuIHRoaXMgaXMg
ZXhwcmVzc2VkIGFzIHRoZSBleHBlY3RlZCBlcnJvci4KLWZ1bmN0aW9uIHRlc3RfZmFpbHVyZShm
biwgbmFtZSkgewotICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgIHRyeSB7Ci0gICAgICBmbigpOwot
ICAgIH0gY2F0Y2ggKGVycikgewotICAgICAgaWYgKGVyciBpbnN0YW5jZW9mIEFzc2VydGlvbkVy
cm9yKSB7Ci0gICAgICAgIHJldHVybjsKLSAgICAgIH0KLSAgICAgIHRocm93IG5ldyBBc3NlcnRp
b25FcnJvcignRXhwZWN0ZWQgYW4gQXNzZXJ0aW9uRXJyb3IsIGJ1dCcpOwotICAgIH0KLSAgICB0
aHJvdyBuZXcgQXNzZXJ0aW9uRXJyb3IoCi0gICAgICAnRXhwZWN0ZWQgYW4gQXNzZXJ0aW9uRXJy
b3IsIGJ1dCBubyBlcnJvciB3YXMgdGhyb3duJwotICAgICk7Ci0gIH0sIG5hbWUpOwotfQotCi10
ZXN0KGZ1bmN0aW9uKCkgewotICBhc3NlcnRfb2JqZWN0X2VxdWFscyh7fSwge30pOwotfSwgJ2Vt
cHR5IG9iamVjdHMnKTsKLQotdGVzdChmdW5jdGlvbigpIHsKLSAgdmFyIGFjdHVhbCA9IHt9Owot
ICB2YXIgZXhwZWN0ZWQgPSB7fTsKLSAgYWN0dWFsLmEgPSBhY3R1YWw7Ci0gIGV4cGVjdGVkLmEg
PSBhY3R1YWw7Ci0KLSAgYXNzZXJ0X29iamVjdF9lcXVhbHMoYWN0dWFsLCBleHBlY3RlZCk7Ci19
LCAndG9sZXJhdGVzIGN5Y2xlcyBpbiBhY3R1YWwgdmFsdWUnKTsKLQotdGVzdChmdW5jdGlvbigp
IHsKLSAgdmFyIGFjdHVhbCA9IHt9OwotICB2YXIgZXhwZWN0ZWQgPSB7fTsKLSAgYWN0dWFsLmEg
PSBleHBlY3RlZDsKLSAgZXhwZWN0ZWQuYSA9IGV4cGVjdGVkOwotCi0gIGFzc2VydF9vYmplY3Rf
ZXF1YWxzKGFjdHVhbCwgZXhwZWN0ZWQpOwotfSwgJ3RvbGVyYXRlcyBjeWNsZXMgaW4gZXhwZWN0
ZWQgdmFsdWUnKTsKLQotdGVzdChmdW5jdGlvbigpIHsKLSAgYXNzZXJ0X29iamVjdF9lcXVhbHMo
ezI6IDk5LCAwOiAyMywgMTogNDV9LCBbMjMsIDQ1LCA5OV0pOwotfSwgJ3JlY29nbml6ZXMgZXF1
aXZhbGVuY2Ugb2YgYWN0dWFsIG9iamVjdCBhbmQgZXhwZWN0ZWQgYXJyYXknKTsKLQotdGVzdChm
dW5jdGlvbigpIHsKLSAgYXNzZXJ0X29iamVjdF9lcXVhbHMoWzIzLCA0NSwgOTldLCB7MjogOTks
IDA6IDIzLCAxOiA0NX0pOwotfSwgJ3JlY29nbml6ZXMgZXF1aXZhbGVuY2Ugb2YgYWN0dWFsIGFy
cmF5IGFuZCBleHBlY3RlZCBvYmplY3QnKTsKLQotdGVzdChmdW5jdGlvbigpIHsKLSAgdmFyIGFj
dHVhbCA9IHt9OwotICB2YXIgZXhwZWN0ZWQgPSB7fTsKLSAgT2JqZWN0LmRlZmluZVByb3BlcnR5
KGFjdHVhbCwgJ2EnLCB7IHZhbHVlOiAxLCBlbnVtZXJhYmxlOiBmYWxzZSB9KTsKLQotICBhc3Nl
cnRfdHJ1ZShhY3R1YWwuYSAhPT0gZXhwZWN0ZWQuYSk7Ci0gIGFzc2VydF9vYmplY3RfZXF1YWxz
KGFjdHVhbCwgZXhwZWN0ZWQpOwotfSwgJ25vbi1lbnVtZXJhYmxlIHByb3BlcnRpZXMgaW4gYWN0
dWFsIHZhbHVlIGlnbm9yZWQnKTsKLQotdGVzdChmdW5jdGlvbigpIHsKLSAgdmFyIGFjdHVhbCA9
IHt9OwotICB2YXIgZXhwZWN0ZWQgPSB7fTsKLSAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cGVj
dGVkLCAnYScsIHsgdmFsdWU6IDEsIGVudW1lcmFibGU6IGZhbHNlIH0pOwotCi0gIGFzc2VydF90
cnVlKGFjdHVhbC5hICE9PSBleHBlY3RlZC5hKTsKLSAgYXNzZXJ0X29iamVjdF9lcXVhbHMoYWN0
dWFsLCBleHBlY3RlZCk7Ci19LCAnbm9uLWVudW1lcmFibGUgcHJvcGVydGllcyBpbiBleHBlY3Rl
ZCB2YWx1ZSBpZ25vcmVkJyk7Ci0KLXRlc3QoZnVuY3Rpb24oKSB7Ci0gIGFzc2VydF9vYmplY3Rf
ZXF1YWxzKHtjOiAzLCBhOiAxLCBiOiAyfSwge2E6IDEsIGI6IDIsIGM6IDN9KTsKLX0sICdlcXVp
dmFsZW50IG9iamVjdHMgLSAiZmxhdCIgb2JqZWN0Jyk7Ci0KLXRlc3QoZnVuY3Rpb24oKSB7Ci0g
IGFzc2VydF9vYmplY3RfZXF1YWxzKAotICAgIHtjOiB7ZTogNSwgZDogNH0sIGI6IDIsIGE6IDF9
LAotICAgIHthOiAxLCBiOiAyLCBjOiB7ZDogNCwgZTogNX19Ci0gICk7Ci19LCAnZXF1aXZhbGVu
dCBvYmplY3RzIC0gbmVzdGVkIG9iamVjdCcpOwotCi10ZXN0KGZ1bmN0aW9uKCkgewotICBhc3Nl
cnRfb2JqZWN0X2VxdWFscygKLSAgICB7YzogWzQsIDVdLCBiOiAyLCBhOiAxfSwKLSAgICB7YTog
MSwgYjogMiwgYzogWzQsIDVdfQotICApOwotfSwgJ2VxdWl2YWxlbnQgb2JqZWN0cyAtIG5lc3Rl
ZCBhcnJheScpOwotCi10ZXN0KGZ1bmN0aW9uKCkgewotICBhc3NlcnRfb2JqZWN0X2VxdWFscyh7
YTogTmFOfSwge2E6IE5hTn0pOwotfSwgJ2VxdWl2YWxlbnQgb2JqZWN0cyAtIE5hTiB2YWx1ZScp
OwotCi10ZXN0KGZ1bmN0aW9uKCkgewotICBhc3NlcnRfb2JqZWN0X2VxdWFscyh7YTogLTB9LCB7
YTogLTB9KTsKLX0sICdlcXVpdmFsZW50IG9iamVjdHMgLSBuZWdhdGl2ZSB6ZXJvIHZhbHVlJyk7
Ci0KLXRlc3RfZmFpbHVyZShmdW5jdGlvbigpIHsKLSAgYXNzZXJ0X29iamVjdF9lcXVhbHModW5k
ZWZpbmVkLCB7fSk7Ci19LCAnaW52YWxpZCBhY3R1YWwgdmFsdWU6IHVuZGVmaW5lZCcpOwotCi10
ZXN0X2ZhaWx1cmUoZnVuY3Rpb24oKSB7Ci0gIGFzc2VydF9vYmplY3RfZXF1YWxzKG51bGwsIHt9
KTsKLX0sICdpbnZhbGlkIGFjdHVhbCB2YWx1ZTogbnVsbCcpOwotCi10ZXN0X2ZhaWx1cmUoZnVu
Y3Rpb24oKSB7Ci0gIGFzc2VydF9vYmplY3RfZXF1YWxzKDM0LCB7fSk7Ci19LCAnaW52YWxpZCBh
Y3R1YWwgdmFsdWU6IG51bWJlcicpOwotCi10ZXN0X2ZhaWx1cmUoZnVuY3Rpb24oKSB7Ci0gIGFz
c2VydF9vYmplY3RfZXF1YWxzKHtjOiAzLCBhOiAxLCBiOiAyfSwge2E6IDEsIGI6IDEsIGM6IDN9
KTsKLX0sICd1bmVxdWFsIHByb3BlcnR5IHZhbHVlIC0gImZsYXQiIG9iamVjdCcpOwotCi10ZXN0
X2ZhaWx1cmUoZnVuY3Rpb24oKSB7Ci0gIHZhciBhY3R1YWwgPSBPYmplY3QuY3JlYXRlKHthOiB1
bmRlZmluZWR9KTsKLSAgdmFyIGV4cGVjdGVkID0ge307Ci0KLSAgYXNzZXJ0X29iamVjdF9lcXVh
bHMoYWN0dWFsLCBleHBlY3RlZCk7Ci19LCAnbm9uLW93biBwcm9wZXJ0aWVzIGluIGFjdHVhbCB2
YWx1ZSB2ZXJpZmllZCcpOwotCi10ZXN0X2ZhaWx1cmUoZnVuY3Rpb24oKSB7Ci0gIHZhciBhY3R1
YWwgPSB7fTsKLSAgdmFyIGV4cGVjdGVkID0gT2JqZWN0LmNyZWF0ZSh7YTogdW5kZWZpbmVkfSk7
Ci0KLSAgYXNzZXJ0X29iamVjdF9lcXVhbHMoYWN0dWFsLCBleHBlY3RlZCk7Ci19LCAnbm9uLW93
biBwcm9wZXJ0aWVzIGluIGV4cGVjdGVkIHZhbHVlIHZlcmlmaWVkJyk7Ci0KLXRlc3RfZmFpbHVy
ZShmdW5jdGlvbigpIHsKLSAgYXNzZXJ0X29iamVjdF9lcXVhbHMoCi0gICAge2E6IDEsIGI6IDIs
IGM6IHtkOiA1LCBlOiA1LCBmOiA2fX0sCi0gICAge2E6IDEsIGI6IDIsIGM6IHtkOiA1LCBlOiA3
LCBmOiA2fX0KLSAgKTsKLX0sICd1bmVxdWFsIHByb3BlcnR5IHZhbHVlIC0gbmVzdGVkIG9iamVj
dCcpOwotCi10ZXN0X2ZhaWx1cmUoZnVuY3Rpb24oKSB7Ci0gIGFzc2VydF9vYmplY3RfZXF1YWxz
KAotICAgIHthOiAxLCBiOiAyLCBjOiBbNCwgNSwgNl19LAotICAgIHthOiAxLCBiOiAyLCBjOiBb
NCwgNywgNl19Ci0gICk7Ci19LCAndW5lcXVhbCBwcm9wZXJ0eSB2YWx1ZSAtIG5lc3RlZCBhcnJh
eScpOwotCi10ZXN0X2ZhaWx1cmUoZnVuY3Rpb24oKSB7Ci0gIGFzc2VydF9vYmplY3RfZXF1YWxz
KHthOiBOYU59LCB7YTogMH0pOwotfSwgJ2VxdWl2YWxlbnQgb2JqZWN0cyAtIE5hTiBhY3R1YWwg
dmFsdWUnKTsKLQotdGVzdF9mYWlsdXJlKGZ1bmN0aW9uKCkgewotICBhc3NlcnRfb2JqZWN0X2Vx
dWFscyh7YTogMH0sIHthOiBOYU59KTsKLX0sICdlcXVpdmFsZW50IG9iamVjdHMgLSBOYU4gZXhw
ZWN0ZWQgdmFsdWUnKTsKLQotdGVzdF9mYWlsdXJlKGZ1bmN0aW9uKCkgewotICBhc3NlcnRfb2Jq
ZWN0X2VxdWFscyh7YTogLTB9LCB7YTogMH0pOwotfSwgJ2VxdWl2YWxlbnQgb2JqZWN0cyAtIG5l
Z2F0aXZlIHplcm8gYWN0dWFsIHZhbHVlJyk7Ci0KLXRlc3RfZmFpbHVyZShmdW5jdGlvbigpIHsK
LSAgYXNzZXJ0X29iamVjdF9lcXVhbHMoe2E6IDB9LCB7YTogLTB9KTsKLX0sICdlcXVpdmFsZW50
IG9iamVjdHMgLSBuZWdhdGl2ZSB6ZXJvIGV4cGVjdGVkIHZhbHVlJyk7Ci0KLXRlc3RfZmFpbHVy
ZShmdW5jdGlvbigpIHsKLSAgYXNzZXJ0X29iamVjdF9lcXVhbHMoe2E6IDF9LCB7fSk7Ci19LCAn
YWN0dWFsIGNvbnRhaW5zIGFkZGl0aW9uYWwgcHJvcGVydHknKTsKLQotdGVzdF9mYWlsdXJlKGZ1
bmN0aW9uKCkgewotICBhc3NlcnRfb2JqZWN0X2VxdWFscyh7fSwge2E6IDF9KTsKLX0sICdleHBl
Y3RlZCBjb250YWlucyBhZGRpdGlvbmFsIHByb3BlcnR5Jyk7Ci08L3NjcmlwdD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3Rlc3QvdGVzdHMvdW5pdC9iYXNpYy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy91bml0L2Jhc2ljLmh0bWwKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQ5MDdjN2JiOWZiLi4wMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90
ZXN0L3Rlc3RzL3VuaXQvYmFzaWMuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDQ4ICswLDAgQEAK
LTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLTx0aXRsZT5pZGxoYXJuZXNzIGJhc2lj
PC90aXRsZT4KLTwvaGVhZD4KLTxib2R5PgotPGRpdiBpZD0ibG9nIj48L2Rpdj4KLTxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL1dlYklETFBhcnNlci5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy9pZGxoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci0gICAgInVzZSBzdHJpY3Qi
OwotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIGFzc2VydF90cnVlKCJJZGxBcnJheSIg
aW4gd2luZG93KTsKLSAgICB9LCAnSWRsQXJyYXkgY29uc3RydWN0b3Igc2hvdWxkIGJlIGEgZ2xv
YmFsIG9iamVjdCcpOwotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIGFzc2VydF90cnVl
KG5ldyBJZGxBcnJheSgpIGluc3RhbmNlb2YgSWRsQXJyYXkpOwotICAgIH0sICdJZGxBcnJheSBj
b25zdHJ1Y3RvciBzaG91bGQgYmUgY29uc3RydWN0aWJsZScpOwotICAgIHRlc3QoZnVuY3Rpb24o
KSB7Ci0gICAgICAgIGFzc2VydF90cnVlKCJXZWJJREwyIiBpbiB3aW5kb3cpOwotICAgIH0sICdX
ZWJJREwyIG5hbWVzcGFjZSBzaG91bGQgYmUgYSBnbG9iYWwgb2JqZWN0Jyk7Ci0gICAgdGVzdChm
dW5jdGlvbigpIHsKLSAgICAgICAgYXNzZXJ0X2VxdWFscyh0eXBlb2YgV2ViSURMMi5wYXJzZSwg
ImZ1bmN0aW9uIik7Ci0gICAgfSwgJ1dlYklETDIgbmFtZXNwYWNlIHNob3VsZCBoYXZlIGEgcGFy
c2UgbWV0aG9kJyk7Ci0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgdHJ5IHsKLSAgICAg
ICAgICAgIFdlYklETDIucGFyc2UoIkknbSBhIHN5bnRheCBlcnJvciIpOwotICAgICAgICAgICAg
dGhyb3cgbmV3IEVycm9yKCJXZWIgSURMIGRpZG4ndCB0aHJvdyIpOwotICAgICAgICB9IGNhdGNo
IChlKSB7Ci0gICAgICAgICAgICBhc3NlcnRfdHJ1ZShlLm5hbWUgPT09ICJXZWJJRExQYXJzZUVy
cm9yIik7Ci0gICAgICAgIH0KLSAgICB9LCAnV2ViSURMMiBwYXJzZSBtZXRob2Qgc2hvdWxkIGJh
aWwgb24gaW5jb3JyZWN0IFdlYklETCcpOwotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAg
IGFzc2VydF9lcXVhbHModHlwZW9mIFdlYklETDIucGFyc2UoImludGVyZmFjZSBGb28ge307Iiks
ICJvYmplY3QiKTsKLSAgICB9LCAnV2ViSURMMiBwYXJzZSBtZXRob2Qgc2hvdWxkIHByb2R1Y2Ug
YW4gQVNUIGZvciBjb3JyZWN0IFdlYklETCcpOwotICAgIHRlc3QoZnVuY3Rpb24gKCkgewotICAg
ICAgICB0cnkgewotICAgICAgICAgICAgbGV0IGkgPSBuZXcgSWRsQXJyYXkoKTsKLSAgICAgICAg
ICAgIGkuYWRkX3VudGVzdGVkX2lkbHMoYGludGVyZmFjZSBDIHt9O2ApOwotICAgICAgICAgICAg
aS5hc3NlcnRfdGhyb3dzKCdBbnl0aGluZycsIGkgPT4gaS50ZXN0KCkpOwotICAgICAgICB9IGNh
dGNoIChlKSB7Ci0gICAgICAgICAgICBhc3NlcnRfdHJ1ZShlIGluc3RhbmNlb2YgSWRsSGFybmVz
c0Vycm9yKTsKLSAgICAgICAgfQotICAgIH0sIGBhc3NlcnRfdGhyb3dzIHNob3VsZCB0aHJvdyBp
ZiBubyBJZGxIYXJuZXNzRXJyb3IgdGhyb3duYCk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvdW5pdC9leGNlcHRpb25hbC1jYXNlcy10aW1lb3V0cy5o
dG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvdGVzdC90ZXN0cy91bml0L2V4Y2VwdGlvbmFsLWNhc2VzLXRpbWVvdXRzLmh0bWwKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDc2MGFjNzE1NGYxLi4wMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0
L3Rlc3RzL3VuaXQvZXhjZXB0aW9uYWwtY2FzZXMtdGltZW91dHMuaHRtbAorKysgL2Rldi9udWxs
CkBAIC0xLDEyMCArMCwwIEBACi08IURPQ1RZUEUgSFRNTD4KLTxodG1sPgotPGhlYWQ+Ci0gIDxt
ZXRhIGNoYXJzZXQ9InV0Zi04Ij4KLSAgPG1ldGEgbmFtZT0idGltZW91dCIgY29udGVudD0ibG9u
ZyI+Ci0gIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
LSAgPHRpdGxlPkV4Y2VwdGlvbmFsIGNhc2VzIC0gdGltZW91dHM8L3RpdGxlPgotPC9oZWFkPgot
PGJvZHk+Ci08cD4KLSAgVGhlIHRlc3RzIGluIHRoaXMgZmlsZSBhcmUgZXhlY3V0ZWQgaW4gcGFy
YWxsZWwgdG8gYXZvaWQgZXhjZWVkaW5nIHRoZSAibG9uZyIKLSAgdGltZW91dCBkdXJhdGlvbi4K
LTwvcD4KLTxzY3JpcHQ+Ci1mdW5jdGlvbiBtYWtlVGVzdCguLi5ib2RpZXMpIHsKLSAgY29uc3Qg
Y2xvc2VTY3JpcHQgPSAnPCcgKyAnL3NjcmlwdD4nOwotICBsZXQgc3JjID0gYAotPCFET0NUWVBF
IEhUTUw+Ci08aHRtbD4KLTxoZWFkPgotPHRpdGxlPkRvY3VtZW50IHRpdGxlPC90aXRsZT4KLTxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzPyR7TWF0aC5yYW5kb20oKX0iPiR7
Y2xvc2VTY3JpcHR9Ci08L2hlYWQ+Ci0KLTxib2R5PgotPGRpdiBpZD0ibG9nIj48L2Rpdj5gOwot
ICBib2RpZXMuZm9yRWFjaCgoYm9keSkgPT4gewotICAgIHNyYyArPSAnPHNjcmlwdD4oJyArIGJv
ZHkgKyAnKSgpOycgKyBjbG9zZVNjcmlwdDsKLSAgfSk7Ci0KLSAgY29uc3QgaWZyYW1lID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgnaWZyYW1lJyk7Ci0KLSAgZG9jdW1lbnQuYm9keS5hcHBlbmRD
aGlsZChpZnJhbWUpOwotICBpZnJhbWUuY29udGVudERvY3VtZW50LndyaXRlKHNyYyk7Ci0KLSAg
cmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7Ci0gICAgd2luZG93LmFkZEV2ZW50TGlz
dGVuZXIoJ21lc3NhZ2UnLCBmdW5jdGlvbiBvbk1lc3NhZ2UoZSkgewotICAgICAgaWYgKGUuc291
cmNlICE9PSBpZnJhbWUuY29udGVudFdpbmRvdykgewotICAgICAgICByZXR1cm47Ci0gICAgICB9
Ci0gICAgICBpZiAoIWUuZGF0YSB8fCBlLmRhdGEudHlwZSAhPT0nY29tcGxldGUnKSB7Ci0gICAg
ICAgIHJldHVybjsKLSAgICAgIH0KLSAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdt
ZXNzYWdlJywgb25NZXNzYWdlKTsKLSAgICAgIHJlc29sdmUoZS5kYXRhKTsKLSAgICB9KTsKLQot
ICAgIGlmcmFtZS5jb250ZW50RG9jdW1lbnQuY2xvc2UoKTsKLSAgfSkudGhlbigoeyB0ZXN0cywg
c3RhdHVzIH0pID0+IHsKLSAgICBjb25zdCBzdW1tYXJ5ID0gewotICAgICAgaGFybmVzczogZ2V0
RW51bVByb3Aoc3RhdHVzLCBzdGF0dXMuc3RhdHVzKSwKLSAgICAgIHRlc3RzOiB7fQotICAgIH07
Ci0KLSAgICB0ZXN0cy5mb3JFYWNoKCh0ZXN0KSA9PiB7Ci0gICAgICBzdW1tYXJ5LnRlc3RzW3Rl
c3QubmFtZV0gPSBnZXRFbnVtUHJvcCh0ZXN0LCB0ZXN0LnN0YXR1cyk7Ci0gICAgfSk7Ci0KLSAg
ICByZXR1cm4gc3VtbWFyeTsKLSAgfSk7Ci19Ci0KLWZ1bmN0aW9uIGdldEVudW1Qcm9wKG9iamVj
dCwgdmFsdWUpIHsKLSAgZm9yIChsZXQgcHJvcGVydHkgaW4gb2JqZWN0KSB7Ci0gICAgaWYgKCEv
XltBLVpdKyQvLnRlc3QocHJvcGVydHkpKSB7Ci0gICAgICBjb250aW51ZTsKLSAgICB9Ci0KLSAg
ICBpZiAob2JqZWN0W3Byb3BlcnR5XSA9PT0gdmFsdWUpIHsKLSAgICAgIHJldHVybiBwcm9wZXJ0
eTsKLSAgICB9Ci0gIH0KLX0KLQotKCgpID0+IHsKLSAgd2luZG93LmFzeW5jVGVzdENsZWFudXBD
b3VudDEgPSAwOwotICBjb25zdCBuZXN0ZWRUZXN0ID0gbWFrZVRlc3QoCi0gICAgKCkgPT4gewot
ICAgICAgYXN5bmNfdGVzdCgodCkgPT4gewotICAgICAgICB0LmFkZF9jbGVhbnVwKCgpID0+IHdp
bmRvdy5wYXJlbnQuYXN5bmNUZXN0Q2xlYW51cENvdW50MSArPSAxKTsKLSAgICAgICAgc2V0VGlt
ZW91dCgoKSA9PiB7Ci0gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCd0aGlzIGVycm9yIGlzIGV4
cGVjdGVkJyk7Ci0gICAgICAgIH0pOwotICAgICAgfSwgJ3Rlc3QnKTsKLSAgICB9Ci0gICk7Ci0g
IHByb21pc2VfdGVzdCgoKSA9PiB7Ci0gICAgcmV0dXJuIG5lc3RlZFRlc3QudGhlbigoe2hhcm5l
c3MsIHRlc3RzfSkgPT4gewotICAgICAgICBhc3NlcnRfZXF1YWxzKGhhcm5lc3MsICdFUlJPUicp
OwotICAgICAgICBhc3NlcnRfZXF1YWxzKHRlc3RzLnRlc3QsICdUSU1FT1VUJyk7Ci0gICAgICAg
IGFzc2VydF9lcXVhbHMod2luZG93LmFzeW5jVGVzdENsZWFudXBDb3VudDEsIDEpOwotICAgICAg
fSk7Ci0gIH0sICd1bmNhdWdodCBleGNlcHRpb24gZHVyaW5nIGFzeW5jX3Rlc3Qgd2hpY2ggdGlt
ZXMgb3V0Jyk7Ci19KSgpOwotCi0oKCkgPT4gewotICB3aW5kb3cucHJvbWlzZVRlc3RDbGVhbnVw
Q291bnQyID0gMDsKLSAgY29uc3QgbmVzdGVkVGVzdCA9IG1ha2VUZXN0KAotICAgICgpID0+IHsK
LSAgICAgIHByb21pc2VfdGVzdCgodCkgPT4gewotICAgICAgICB0LmFkZF9jbGVhbnVwKCgpID0+
IHdpbmRvdy5wYXJlbnQucHJvbWlzZVRlc3RDbGVhbnVwQ291bnQyICs9IDEpOwotICAgICAgICBz
ZXRUaW1lb3V0KCgpID0+IHsKLSAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ3RoaXMgZXJyb3Ig
aXMgZXhwZWN0ZWQnKTsKLSAgICAgICAgfSk7Ci0KLSAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNl
KCgpID0+IHt9KTsKLSAgICAgIH0sICd0ZXN0Jyk7Ci0gICAgfQotICApOwotICBwcm9taXNlX3Rl
c3QoKCkgPT4gewotICAgIHJldHVybiBuZXN0ZWRUZXN0LnRoZW4oKHtoYXJuZXNzLCB0ZXN0c30p
ID0+IHsKLSAgICAgICAgYXNzZXJ0X2VxdWFscyhoYXJuZXNzLCAnRVJST1InKTsKLSAgICAgICAg
YXNzZXJ0X2VxdWFscyh0ZXN0cy50ZXN0LCAnVElNRU9VVCcpOwotICAgICAgICBhc3NlcnRfZXF1
YWxzKHdpbmRvdy5wcm9taXNlVGVzdENsZWFudXBDb3VudDIsIDEpOwotICAgICAgfSk7Ci0gIH0s
ICd1bmNhdWdodCBleGNlcHRpb24gZHVyaW5nIHByb21pc2VfdGVzdCB3aGljaCB0aW1lcyBvdXQn
KTsKLX0pKCk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVz
dHMvdW5pdC9leGNlcHRpb25hbC1jYXNlcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy91bml0L2V4Y2VwdGlvbmFs
LWNhc2VzLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDJiZTRkYWNhYWVjLi4w
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL3VuaXQvZXhjZXB0aW9uYWwtY2FzZXMuaHRtbAorKysg
L2Rldi9udWxsCkBAIC0xLDM5MiArMCwwIEBACi08IURPQ1RZUEUgSFRNTD4KLTxodG1sPgotPGhl
YWQ+Ci0gIDxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KLSAgPG1ldGEgbmFtZT0idGltZW91dCIgY29u
dGVudD0ibG9uZyI+Ci0gIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4KLSAgPHRpdGxlPkV4Y2VwdGlvbmFsIGNhc2VzPC90aXRsZT4KLTwvaGVhZD4KLTxi
b2R5PgotPHNjcmlwdD4KLWZ1bmN0aW9uIG1ha2VUZXN0KC4uLmJvZGllcykgewotICBjb25zdCBj
bG9zZVNjcmlwdCA9ICc8JyArICcvc2NyaXB0Pic7Ci0gIGxldCBzcmMgPSBgCi08IURPQ1RZUEUg
SFRNTD4KLTxodG1sPgotPGhlYWQ+Ci08dGl0bGU+RG9jdW1lbnQgdGl0bGU8L3RpdGxlPgotPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanM/JHtNYXRoLnJhbmRvbSgpfSI+JHtj
bG9zZVNjcmlwdH0KLTwvaGVhZD4KLQotPGJvZHk+Ci08ZGl2IGlkPSJsb2ciPjwvZGl2PmA7Ci0g
IGJvZGllcy5mb3JFYWNoKChib2R5KSA9PiB7Ci0gICAgc3JjICs9ICc8c2NyaXB0PignICsgYm9k
eSArICcpKCk7JyArIGNsb3NlU2NyaXB0OwotICB9KTsKLQotICBjb25zdCBpZnJhbWUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCdpZnJhbWUnKTsKLQotICBkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKGlmcmFtZSk7Ci0gIGlmcmFtZS5jb250ZW50RG9jdW1lbnQud3JpdGUoc3JjKTsKLQotICBy
ZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHsKLSAgICB3aW5kb3cuYWRkRXZlbnRMaXN0
ZW5lcignbWVzc2FnZScsIGZ1bmN0aW9uIG9uTWVzc2FnZShlKSB7Ci0gICAgICBpZiAoZS5zb3Vy
Y2UgIT09IGlmcmFtZS5jb250ZW50V2luZG93KSB7Ci0gICAgICAgIHJldHVybjsKLSAgICAgIH0K
LSAgICAgIGlmICghZS5kYXRhIHx8IGUuZGF0YS50eXBlICE9PSdjb21wbGV0ZScpIHsKLSAgICAg
ICAgcmV0dXJuOwotICAgICAgfQotICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21l
c3NhZ2UnLCBvbk1lc3NhZ2UpOwotICAgICAgcmVzb2x2ZShlLmRhdGEpOwotICAgIH0pOwotCi0g
ICAgaWZyYW1lLmNvbnRlbnREb2N1bWVudC5jbG9zZSgpOwotICB9KS50aGVuKCh7IHRlc3RzLCBz
dGF0dXMgfSkgPT4gewotICAgIGNvbnN0IHN1bW1hcnkgPSB7Ci0gICAgICBoYXJuZXNzOiBnZXRF
bnVtUHJvcChzdGF0dXMsIHN0YXR1cy5zdGF0dXMpLAotICAgICAgdGVzdHM6IHt9Ci0gICAgfTsK
LQotICAgIHRlc3RzLmZvckVhY2goKHRlc3QpID0+IHsKLSAgICAgIHN1bW1hcnkudGVzdHNbdGVz
dC5uYW1lXSA9IGdldEVudW1Qcm9wKHRlc3QsIHRlc3Quc3RhdHVzKTsKLSAgICB9KTsKLQotICAg
IHJldHVybiBzdW1tYXJ5OwotICB9KTsKLX0KLQotZnVuY3Rpb24gZ2V0RW51bVByb3Aob2JqZWN0
LCB2YWx1ZSkgewotICBmb3IgKGxldCBwcm9wZXJ0eSBpbiBvYmplY3QpIHsKLSAgICBpZiAoIS9e
W0EtWl0rJC8udGVzdChwcm9wZXJ0eSkpIHsKLSAgICAgIGNvbnRpbnVlOwotICAgIH0KLQotICAg
IGlmIChvYmplY3RbcHJvcGVydHldID09PSB2YWx1ZSkgewotICAgICAgcmV0dXJuIHByb3BlcnR5
OwotICAgIH0KLSAgfQotfQotCi1wcm9taXNlX3Rlc3QoKCkgPT4gewotICByZXR1cm4gbWFrZVRl
c3QoCi0gICAgICAoKSA9PiB7IGRvbmUoKTsgfQotICAgICkudGhlbigoe2hhcm5lc3MsIHRlc3Rz
fSkgPT4gewotICAgICAgYXNzZXJ0X2VxdWFscyhoYXJuZXNzLCAnRVJST1InKTsKLSAgICAgIGFz
c2VydF9hcnJheV9lcXVhbHMoT2JqZWN0LmtleXModGVzdHMpLCBbXSk7Ci0gICAgfSk7Ci19LCAn
Y29tcGxldGlvbiBzaWduYWxlZCBiZWZvcmUgdGVzdGluZyBiZWdpbnMnKTsKLQotcHJvbWlzZV90
ZXN0KCgpID0+IHsKLSAgcmV0dXJuIG1ha2VUZXN0KAotICAgICAgKCkgPT4geyBhc3NlcnRfdHJ1
ZSh0cnVlKTsgZG9uZSgpOyB9Ci0gICAgKS50aGVuKCh7aGFybmVzcywgdGVzdHN9KSA9PiB7Ci0g
ICAgICBhc3NlcnRfZXF1YWxzKGhhcm5lc3MsICdFUlJPUicpOwotICAgICAgYXNzZXJ0X2FycmF5
X2VxdWFscyhPYmplY3Qua2V5cyh0ZXN0cyksIFtdKTsKLSAgICB9KTsKLX0sICdwYXNzaW5nIGFz
c2VydGlvbiBiZWZvcmUgdGVzdGluZyBiZWdpbnMnKTsKLQotcHJvbWlzZV90ZXN0KCgpID0+IHsK
LSAgcmV0dXJuIG1ha2VUZXN0KAotICAgICAgKCkgPT4geyBhc3NlcnRfZmFsc2UodHJ1ZSk7IH0K
LSAgICApLnRoZW4oKHtoYXJuZXNzLCB0ZXN0c30pID0+IHsKLSAgICAgIGFzc2VydF9lcXVhbHMo
aGFybmVzcywgJ0VSUk9SJyk7Ci0gICAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKE9iamVjdC5rZXlz
KHRlc3RzKSwgW10pOwotICAgIH0pOwotfSwgJ2ZhaWxpbmcgYXNzZXJ0aW9uIGJlZm9yZSB0ZXN0
aW5nIGJlZ2lucycpOwotCi1wcm9taXNlX3Rlc3QoKCkgPT4gewotICByZXR1cm4gbWFrZVRlc3Qo
Ci0gICAgICAoKSA9PiB7IHRocm93IG5ldyBFcnJvcigndGhpcyBlcnJvciBpcyBleHBlY3RlZCcp
OyB9Ci0gICAgKS50aGVuKCh7aGFybmVzcywgdGVzdHN9KSA9PiB7Ci0gICAgICBhc3NlcnRfZXF1
YWxzKGhhcm5lc3MsICdFUlJPUicpOwotICAgICAgYXNzZXJ0X2FycmF5X2VxdWFscyhPYmplY3Qu
a2V5cyh0ZXN0cyksIFtdKTsKLSAgICB9KTsKLX0sICd1bmNhdWdodCBleGNlcHRpb24gYmVmb3Jl
IHRlc3RpbmcgYmVnaW5zJyk7Ci0KLXByb21pc2VfdGVzdCgoKSA9PiB7Ci0gIHJldHVybiBtYWtl
VGVzdCgKLSAgICAgICgpID0+IHsKLSAgICAgICAgc2V0dXAoeyBhbGxvd191bmNhdWdodF9leGNl
cHRpb246IHRydWUgfSk7Ci0gICAgICAgIHRocm93IG5ldyBFcnJvcigndGhpcyBlcnJvciBpcyBl
eHBlY3RlZCcpOwotICAgICAgfSwKLSAgICAgICgpID0+IHsKLSAgICAgICAgdGVzdChmdW5jdGlv
bigpIHt9LCAnYScpOwotICAgICAgICB0ZXN0KGZ1bmN0aW9uKCkge30sICdiJyk7Ci0gICAgICB9
Ci0gICAgKS50aGVuKCh7aGFybmVzcywgdGVzdHN9KSA9PiB7Ci0gICAgICBhc3NlcnRfZXF1YWxz
KGhhcm5lc3MsICdPSycpOwotICAgICAgYXNzZXJ0X2VxdWFscyh0ZXN0cy5hLCAnUEFTUycpOwot
ICAgICAgYXNzZXJ0X2VxdWFscyh0ZXN0cy5iLCAnUEFTUycpOwotICAgIH0pOwotfSwgJ3VuY2F1
Z2h0IGV4Y2VwdGlvbiB3aXRoIHN1YnNlcXVlbnQgc3VidGVzdCcpOwotCi1wcm9taXNlX3Rlc3Qo
KCkgPT4gewotICByZXR1cm4gbWFrZVRlc3QoCi0gICAgICAoKSA9PiB7Ci0gICAgICAgIGFzeW5j
X3Rlc3QoKHQpID0+IHsKLSAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHsKLSAgICAgICAgICAg
IHNldFRpbWVvdXQoKCkgPT4gdC5kb25lKCksIDApOwotICAgICAgICAgICAgYXN5bmNfdGVzdCgo
dCkgPT4gc2V0VGltZW91dCh0LmRvbmUuYmluZCh0KSwgMCksICdhZnRlcicpOwotICAgICAgICAg
ICAgdGhyb3cgbmV3IEVycm9yKCd0aGlzIGVycm9yIGlzIGV4cGVjdGVkJyk7Ci0gICAgICAgICAg
fSwgMCk7Ci0gICAgICAgIH0sICdkdXJpbmcnKTsKLSAgICAgIH0KLSAgICApLnRoZW4oKHtoYXJu
ZXNzLCB0ZXN0c30pID0+IHsKLSAgICAgIGFzc2VydF9lcXVhbHMoaGFybmVzcywgJ0VSUk9SJyk7
Ci0gICAgICBhc3NlcnRfZXF1YWxzKHRlc3RzLmR1cmluZywgJ1BBU1MnKTsKLSAgICAgIGFzc2Vy
dF9lcXVhbHModGVzdHMuYWZ0ZXIsICdQQVNTJyk7Ci0gICAgfSk7Ci19LCAndW5jYXVnaHQgZXhj
ZXB0aW9uIGR1cmluZyBhc3luY190ZXN0Jyk7Ci0KLXByb21pc2VfdGVzdCgoKSA9PiB7Ci0gIHJl
dHVybiBtYWtlVGVzdCgKLSAgICAgICgpID0+IHsKLSAgICAgICAgcHJvbWlzZV90ZXN0KCgpID0+
IHsKLSAgICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHsKLSAgICAgICAg
ICAgIHNldFRpbWVvdXQoKCkgPT4gewotICAgICAgICAgICAgICByZXNvbHZlKCk7Ci0gICAgICAg
ICAgICAgIHByb21pc2VfdGVzdCgoKSA9PiBQcm9taXNlLnJlc29sdmUoKSwgJ2FmdGVyJyk7Ci0g
ICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigndGhpcyBlcnJvciBpcyBleHBlY3RlZCcpOwot
ICAgICAgICAgICAgfSwgMCk7Ci0gICAgICAgICAgfSk7Ci0gICAgICAgIH0sICdkdXJpbmcnKTsK
LSAgICAgIH0KLSAgICApLnRoZW4oKHtoYXJuZXNzLCB0ZXN0c30pID0+IHsKLSAgICAgIGFzc2Vy
dF9lcXVhbHMoaGFybmVzcywgJ0VSUk9SJyk7Ci0gICAgICBhc3NlcnRfZXF1YWxzKHRlc3RzLmR1
cmluZywgJ1BBU1MnKTsKLSAgICAgIGFzc2VydF9lcXVhbHModGVzdHMuYWZ0ZXIsICdQQVNTJyk7
Ci0gICAgfSk7Ci19LCAndW5jYXVnaHQgZXhjZXB0aW9uIGR1cmluZyBwcm9taXNlX3Rlc3QnKTsK
LQotcHJvbWlzZV90ZXN0KCgpID0+IHsKLSAgcmV0dXJuIG1ha2VUZXN0KAotICAgICAgKCkgPT4g
eyB0ZXN0KCgpID0+IHt9LCAnYmVmb3JlJyk7IH0sCi0gICAgICAoKSA9PiB7IHRocm93IG5ldyBF
cnJvcigndGhpcyBlcnJvciBpcyBleHBlY3RlZCcpOyB9LAotICAgICAgKCkgPT4geyB0ZXN0KCgp
ID0+IHt9LCAnYWZ0ZXInKTsgfQotICAgICkudGhlbigoe2hhcm5lc3MsIHRlc3RzfSkgPT4gewot
ICAgICAgYXNzZXJ0X2VxdWFscyhoYXJuZXNzLCAnRVJST1InKTsKLSAgICAgIGFzc2VydF9lcXVh
bHModGVzdHMuYmVmb3JlLCAnUEFTUycpOwotICAgICAgYXNzZXJ0X2VxdWFscyh0ZXN0cy5hZnRl
ciwgJ1BBU1MnKTsKLSAgICB9KTsKLX0sICd1bmNhdWdodCBleGNlcHRpb24gYmV0d2VlbiB0ZXN0
cycpOwotCi1wcm9taXNlX3Rlc3QoKCkgPT4gewotICByZXR1cm4gbWFrZVRlc3QoCi0gICAgICAo
KSA9PiB7IHByb21pc2VfdGVzdCgoKSA9PiBQcm9taXNlLnJlc29sdmUoKSwgJ2JlZm9yZScpOyB9
LAotICAgICAgKCkgPT4geyB0aHJvdyBuZXcgRXJyb3IoJ3RoaXMgZXJyb3IgaXMgZXhwZWN0ZWQn
KTsgfSwKLSAgICAgICgpID0+IHsgcHJvbWlzZV90ZXN0KCgpID0+IFByb21pc2UucmVzb2x2ZSgp
LCAnYWZ0ZXInKTsgfQotICAgICkudGhlbigoe2hhcm5lc3MsIHRlc3RzfSkgPT4gewotICAgICAg
YXNzZXJ0X2VxdWFscyhoYXJuZXNzLCAnRVJST1InKTsKLSAgICAgIGFzc2VydF9lcXVhbHModGVz
dHMuYmVmb3JlLCAnUEFTUycpOwotICAgICAgYXNzZXJ0X2VxdWFscyh0ZXN0cy5hZnRlciwgJ1BB
U1MnKTsKLSAgICB9KTsKLX0sICd1bmNhdWdodCBleGNlcHRpb24gYmV0d2VlbiBwcm9taXNlX3Rl
c3RzJyk7Ci0KLQotLy8gVGhpcyBmZWF0dXJlIG9mIHRlc3RoYXJuZXNzLmpzIGlzIG9ubHkgb2Jz
ZXJ2YWJsZSBpbiBicm93c2VycyB3aGljaAotLy8gaW1wbGVtZW50IHRoZSBgdW5oYW5kbGVkcmVq
ZWN0aW9uYCBldmVudC4KLWlmICgnb251bmhhbmRsZWRyZWplY3Rpb24nIGluIHdpbmRvdykgewot
Ci0gIHByb21pc2VfdGVzdCgoKSA9PiB7Ci0gICAgcmV0dXJuIG1ha2VUZXN0KAotICAgICAgICAo
KSA9PiB7IFByb21pc2UucmVqZWN0KG5ldyBFcnJvcigndGhpcyBlcnJvciBpcyBleHBlY3RlZCcp
KTsgfQotICAgICAgKS50aGVuKCh7aGFybmVzcywgdGVzdHN9KSA9PiB7Ci0gICAgICAgIGFzc2Vy
dF9lcXVhbHMoaGFybmVzcywgJ0VSUk9SJyk7Ci0gICAgICAgIGFzc2VydF9hcnJheV9lcXVhbHMo
T2JqZWN0LmtleXModGVzdHMpLCBbXSk7Ci0gICAgICB9KTsKLSAgfSwgJ3VuaGFuZGxlZCByZWpl
Y3Rpb24gYmVmb3JlIHRlc3RpbmcgYmVnaW5zJyk7Ci0KLSAgcHJvbWlzZV90ZXN0KCgpID0+IHsK
LSAgICByZXR1cm4gbWFrZVRlc3QoCi0gICAgICAgICgpID0+IHsKLSAgICAgICAgICBhc3luY190
ZXN0KCh0KSA9PiB7Ci0gICAgICAgICAgICBQcm9taXNlLnJlamVjdChuZXcgRXJyb3IoJ3RoaXMg
ZXJyb3IgaXMgZXhwZWN0ZWQnKSk7Ci0KLSAgICAgICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3Rl
bmVyKCd1bmhhbmRsZWRyZWplY3Rpb24nLCAoKSA9PiB7Ci0gICAgICAgICAgICBzZXRUaW1lb3V0
KCgpID0+IHQuZG9uZSgpLCAwKTsKLSAgICAgICAgICAgICAgYXN5bmNfdGVzdCgodCkgPT4gc2V0
VGltZW91dCh0LmRvbmUuYmluZCh0KSwgMCksICdhZnRlcicpOwotICAgICAgICAgICAgICB0LmRv
bmUoKTsKLSAgICAgICAgICAgIH0pOwotICAgICAgICAgIH0sICdkdXJpbmcnKTsKLSAgICAgICAg
fQotICAgICAgKS50aGVuKCh7aGFybmVzcywgdGVzdHN9KSA9PiB7Ci0gICAgICAgIGFzc2VydF9l
cXVhbHMoaGFybmVzcywgJ0VSUk9SJyk7Ci0gICAgICAgIGFzc2VydF9lcXVhbHModGVzdHMuZHVy
aW5nLCAnUEFTUycpOwotICAgICAgICBhc3NlcnRfZXF1YWxzKHRlc3RzLmFmdGVyLCAnUEFTUycp
OwotICAgICAgfSk7Ci0gIH0sICd1bmhhbmRsZWQgcmVqZWN0aW9uIGR1cmluZyBhc3luY190ZXN0
Jyk7Ci0KLSAgcHJvbWlzZV90ZXN0KCgpID0+IHsKLSAgICByZXR1cm4gbWFrZVRlc3QoCi0gICAg
ICAgICgpID0+IHsKLSAgICAgICAgICBwcm9taXNlX3Rlc3QoKCkgPT4gewotICAgICAgICAgICAg
cmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7Ci0gICAgICAgICAgICAgIFByb21pc2Uu
cmVqZWN0KG5ldyBFcnJvcigndGhpcyBlcnJvciBpcyBleHBlY3RlZCcpKTsKLQotICAgICAgICAg
ICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigndW5oYW5kbGVkcmVqZWN0aW9uJywgKCkgPT4g
ewotICAgICAgICAgICAgICAgIHJlc29sdmUoKTsKLSAgICAgICAgICAgICAgICBwcm9taXNlX3Rl
c3QoKCkgPT4gUHJvbWlzZS5yZXNvbHZlKCksICdhZnRlcicpOwotICAgICAgICAgICAgICAgIHRo
cm93IG5ldyBFcnJvcigndGhpcyBlcnJvciBpcyBleHBlY3RlZCcpOwotICAgICAgICAgICAgICB9
LCAwKTsKLSAgICAgICAgICAgIH0pOwotICAgICAgICAgIH0sICdkdXJpbmcnKTsKLSAgICAgICAg
fQotICAgICAgKS50aGVuKCh7aGFybmVzcywgdGVzdHN9KSA9PiB7Ci0gICAgICAgIGFzc2VydF9l
cXVhbHMoaGFybmVzcywgJ0VSUk9SJyk7Ci0gICAgICAgIGFzc2VydF9lcXVhbHModGVzdHMuZHVy
aW5nLCAnUEFTUycpOwotICAgICAgICBhc3NlcnRfZXF1YWxzKHRlc3RzLmFmdGVyLCAnUEFTUycp
OwotICAgICAgfSk7Ci0gIH0sICd1bmhhbmRsZWQgcmVqZWN0aW9uIGR1cmluZyBwcm9taXNlX3Rl
c3QnKTsKLQotICBwcm9taXNlX3Rlc3QoKCkgPT4gewotICAgIHJldHVybiBtYWtlVGVzdCgKLSAg
ICAgICAgKCkgPT4gewotICAgICAgICAgIHNldHVwKHsgZXhwbGljaXRfZG9uZTogdHJ1ZSB9KTsK
LSAgICAgICAgICB0ZXN0KCgpID0+IHt9LCAnYmVmb3JlJyk7Ci0gICAgICAgICAgUHJvbWlzZS5y
ZWplY3QobmV3IEVycm9yKCd0aGlzIGVycm9yIGlzIGV4cGVjdGVkJykpOwotICAgICAgICAgIHdp
bmRvdy5hZGRFdmVudExpc3RlbmVyKCd1bmhhbmRsZWRyZWplY3Rpb24nLCAoKSA9PiB7Ci0gICAg
ICAgICAgICB0ZXN0KCgpID0+IHt9LCAnYWZ0ZXInKTsKLSAgICAgICAgICAgIGRvbmUoKTsKLSAg
ICAgICAgICB9KTsKLSAgICAgICAgfQotICAgICAgKS50aGVuKCh7aGFybmVzcywgdGVzdHN9KSA9
PiB7Ci0gICAgICAgIGFzc2VydF9lcXVhbHMoaGFybmVzcywgJ0VSUk9SJyk7Ci0gICAgICAgIGFz
c2VydF9lcXVhbHModGVzdHMuYmVmb3JlLCAnUEFTUycpOwotICAgICAgICBhc3NlcnRfdHJ1ZSgn
YWZ0ZXInIGluIHRlc3RzKTsKLSAgICAgIH0pOwotICB9LCAndW5oYW5kbGVkIHJlamVjdGlvbiBi
ZXR3ZWVuIHRlc3RzJyk7Ci0KLSAgcHJvbWlzZV90ZXN0KCgpID0+IHsKLSAgICByZXR1cm4gbWFr
ZVRlc3QoCi0gICAgICAgICgpID0+IHsKLSAgICAgICAgICBzZXR1cCh7IGV4cGxpY2l0X2RvbmU6
IHRydWUgfSk7Ci0gICAgICAgICAgYXN5bmNfdGVzdCgodCkgPT4gc2V0VGltZW91dCh0LmRvbmUu
YmluZCh0KSwgMCksICdiZWZvcmUnKTsKLSAgICAgICAgICBQcm9taXNlLnJlamVjdChuZXcgRXJy
b3IoJ3RoaXMgZXJyb3IgaXMgZXhwZWN0ZWQnKSk7Ci0gICAgICAgICAgd2luZG93LmFkZEV2ZW50
TGlzdGVuZXIoJ3VuaGFuZGxlZHJlamVjdGlvbicsICgpID0+IHsKLSAgICAgICAgICAgIGFzeW5j
X3Rlc3QoKHQpID0+IHNldFRpbWVvdXQodC5kb25lLmJpbmQodCksIDApLCAnYWZ0ZXInKTsKLSAg
ICAgICAgICAgIGRvbmUoKTsKLSAgICAgICAgICB9KTsKLSAgICAgICAgfQotICAgICAgKS50aGVu
KCh7aGFybmVzcywgdGVzdHN9KSA9PiB7Ci0gICAgICAgIGFzc2VydF9lcXVhbHMoaGFybmVzcywg
J0VSUk9SJyk7Ci0gICAgICAgIGFzc2VydF9lcXVhbHModGVzdHMuYmVmb3JlLCAnUEFTUycpOwot
ICAgICAgICBhc3NlcnRfZXF1YWxzKHRlc3RzLmFmdGVyLCAnUEFTUycpOwotICAgICAgfSk7Ci0g
IH0sICd1bmhhbmRsZWQgcmVqZWN0aW9uIGJldHdlZW4gYXN5bmNfdGVzdHMnKTsKLQotICBwcm9t
aXNlX3Rlc3QoKCkgPT4gewotICAgIHJldHVybiBtYWtlVGVzdCgKLSAgICAgICAgKCkgPT4gewot
ICAgICAgICAgIHNldHVwKHsgZXhwbGljaXRfZG9uZTogdHJ1ZSB9KTsKLSAgICAgICAgICBwcm9t
aXNlX3Rlc3QoKCkgPT4gUHJvbWlzZS5yZXNvbHZlKCksICdiZWZvcmUnKTsKLSAgICAgICAgICBQ
cm9taXNlLnJlamVjdChuZXcgRXJyb3IoJ3RoaXMgZXJyb3IgaXMgZXhwZWN0ZWQnKSk7Ci0gICAg
ICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3VuaGFuZGxlZHJlamVjdGlvbicsICgpID0+
IHsKLSAgICAgICAgICAgIHByb21pc2VfdGVzdCgoKSA9PiBQcm9taXNlLnJlc29sdmUoKSwgJ2Fm
dGVyJyk7Ci0gICAgICAgICAgICBkb25lKCk7Ci0gICAgICAgICAgfSk7Ci0gICAgICAgIH0KLSAg
ICAgICkudGhlbigoe2hhcm5lc3MsIHRlc3RzfSkgPT4gewotICAgICAgICBhc3NlcnRfZXF1YWxz
KGhhcm5lc3MsICdFUlJPUicpOwotICAgICAgICBhc3NlcnRfZXF1YWxzKHRlc3RzLmJlZm9yZSwg
J1BBU1MnKTsKLSAgICAgICAgYXNzZXJ0X3RydWUoJ2FmdGVyJyBpbiB0ZXN0cyk7Ci0gICAgICB9
KTsKLSAgfSwgJ3VuaGFuZGxlZCByZWplY3Rpb24gYmV0d2VlbiBwcm9taXNlX3Rlc3RzJyk7Ci0K
LSAgcHJvbWlzZV90ZXN0KCgpID0+IHsKLSAgICByZXR1cm4gbWFrZVRlc3QoCi0gICAgICAgICgp
ID0+IHsKLSAgICAgICAgICB0ZXN0KCh0KSA9PiB7Ci0gICAgICAgICAgICB0LmFkZF9jbGVhbnVw
KCgpID0+IHsgdGhyb3cgbmV3IEVycm9yKCd0aGlzIGVycm9yIGlzIGV4cGVjdGVkJyk7IH0pOwot
ICAgICAgICAgIH0sICdkdXJpbmcnKTsKLSAgICAgICAgICB0ZXN0KCh0KSA9PiB7fSwgJ2FmdGVy
Jyk7Ci0gICAgICAgIH0KLSAgICAgICkudGhlbigoe2hhcm5lc3MsIHRlc3RzfSkgPT4gewotICAg
ICAgICBhc3NlcnRfZXF1YWxzKGhhcm5lc3MsICdFUlJPUicpOwotICAgICAgICBhc3NlcnRfZXF1
YWxzKHRlc3RzLmR1cmluZywgJ1BBU1MnKTsKLSAgICAgICAgYXNzZXJ0X2VxdWFscyh0ZXN0cy5h
ZnRlciwgJ05PVFJVTicpOwotICAgICAgfSk7Ci0gIH0sICdleGNlcHRpb24gaW4gYGFkZF9jbGVh
bnVwYCBvZiBhIHRlc3QnKTsKLQotfQotCi0KLXByb21pc2VfdGVzdCgoKSA9PiB7Ci0gIHJldHVy
biBtYWtlVGVzdCgKLSAgICAgICgpID0+IHsKLSAgICAgICAgc2V0dXAoe2V4cGxpY2l0X2RvbmU6
IHRydWV9KTsKLSAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ0RPTUNvbnRlbnRMb2Fk
ZWQnLCAoKSA9PiB7Ci0gICAgICAgICAgYXN5bmNfdGVzdCgodCkgPT4gewotICAgICAgICAgICAg
dC5hZGRfY2xlYW51cCgoKSA9PiB7Ci0gICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gewot
ICAgICAgICAgICAgICAgIGFzeW5jX3Rlc3QoKHQpID0+IHQuZG9uZSgpLCAnYWZ0ZXInKTsKLSAg
ICAgICAgICAgICAgICBkb25lKCk7Ci0gICAgICAgICAgICAgIH0sIDApOwotICAgICAgICAgICAg
ICB0aHJvdyBuZXcgRXJyb3IoJ3RoaXMgZXJyb3IgaXMgZXhwZWN0ZWQnKTsKLSAgICAgICAgICAg
IH0pOwotICAgICAgICAgICAgc2V0VGltZW91dCh0LmRvbmUuYmluZCh0KSwgMCk7Ci0gICAgICAg
ICAgfSwgJ2R1cmluZycpOwotICAgICAgICB9KTsKLSAgICAgIH0KLSAgICApLnRoZW4oKHtoYXJu
ZXNzLCB0ZXN0c30pID0+IHsKLSAgICAgIGFzc2VydF9lcXVhbHMoaGFybmVzcywgJ0VSUk9SJyk7
Ci0gICAgICBhc3NlcnRfZXF1YWxzKHRlc3RzLmR1cmluZywgJ1BBU1MnKTsKLSAgICAgIGFzc2Vy
dF9lcXVhbHModGVzdHMuYWZ0ZXIsICdOT1RSVU4nKTsKLSAgICB9KTsKLX0sICdleGNlcHRpb24g
aW4gYGFkZF9jbGVhbnVwYCBvZiBhbiBhc3luY190ZXN0Jyk7Ci0KLXByb21pc2VfdGVzdCgoKSA9
PiB7Ci0gIHJldHVybiBtYWtlVGVzdCgKLSAgICAgICgpID0+IHsKLSAgICAgICAgcHJvbWlzZV90
ZXN0KCh0KSA9PiB7Ci0gICAgICAgICAgdC5hZGRfY2xlYW51cCgoKSA9PiB7IHRocm93IG5ldyBF
cnJvcigndGhpcyBlcnJvciBpcyBleHBlY3RlZCcpOyB9KTsKLSAgICAgICAgICByZXR1cm4gUHJv
bWlzZS5yZXNvbHZlKCk7Ci0gICAgICAgIH0sICd0ZXN0Jyk7Ci0gICAgICB9Ci0gICAgKS50aGVu
KCh7aGFybmVzcywgdGVzdHN9KSA9PiB7Ci0gICAgICBhc3NlcnRfZXF1YWxzKGhhcm5lc3MsICdF
UlJPUicpOwotICAgICAgYXNzZXJ0X2VxdWFscyh0ZXN0cy50ZXN0LCAnUEFTUycpOwotICAgIH0p
OwotfSwgJ2V4Y2VwdGlvbiBpbiBgYWRkX2NsZWFudXBgIG9mIGEgcHJvbWlzZV90ZXN0Jyk7Ci0K
LXByb21pc2VfdGVzdCgoKSA9PiB7Ci0gIHJldHVybiBtYWtlVGVzdCgKLSAgICAgICgpID0+IHsK
LSAgICAgICAgcHJvbWlzZV90ZXN0KCh0KSA9PiB7Ci0gICAgICAgICAgdC5zdGVwKCgpID0+IHsK
LSAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigndGhpcyBlcnJvciBpcyBleHBlY3RlZCcpOwot
ICAgICAgICAgIH0pOwotICAgICAgICB9LCAndGVzdCcpOwotICAgICAgICBhc3luY190ZXN0KCh0
KSA9PiB0LmRvbmUoKSwgJ2FmdGVyJyk7Ci0gICAgICB9Ci0gICAgKS50aGVuKCh7aGFybmVzcywg
dGVzdHN9KSA9PiB7Ci0gICAgICBhc3NlcnRfZXF1YWxzKGhhcm5lc3MsICdPSycpOwotICAgICAg
YXNzZXJ0X2VxdWFscyh0ZXN0cy50ZXN0LCAnRkFJTCcpOwotICAgICAgYXNzZXJ0X2VxdWFscyh0
ZXN0cy5hZnRlciwgJ1BBU1MnKTsKLSAgICB9KTsKLX0sICdleGNlcHRpb24gaW4gYHN0ZXBgIG9m
IGFuIGFzeW5jX3Rlc3QnKTsKLQotcHJvbWlzZV90ZXN0KCgpID0+IHsKLSAgcmV0dXJuIG1ha2VU
ZXN0KAotICAgICAgKCkgPT4gewotICAgICAgICBwcm9taXNlX3Rlc3QoKHQpID0+IHsKLSAgICAg
ICAgICB0LnN0ZXAoKCkgPT4gewotICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCd0aGlzIGVy
cm9yIGlzIGV4cGVjdGVkJyk7Ci0gICAgICAgICAgfSk7Ci0KLSAgICAgICAgICByZXR1cm4gbmV3
IFByb21pc2UoKCkgPT4ge30pOwotICAgICAgICB9LCAndGVzdCcpOwotCi0gICAgICAgIC8vIFRo
aXMgZm9sbG93aW5nIHRlc3Qgc2hvdWxkIGJlIHJ1biB0byBjb21wbGV0aW9uIGRlc3BpdGUgdGhl
IGZhY3QKLSAgICAgICAgLy8gdGhhdCB0aGUgcHJvbWlzZSByZXR1cm5lZCBieSB0aGUgcHJldmlv
dXMgdGVzdCBuZXZlciByZXNvbHZlcy4KLSAgICAgICAgcHJvbWlzZV90ZXN0KCh0KSA9PiBQcm9t
aXNlLnJlc29sdmUoKSwgJ2FmdGVyJyk7Ci0gICAgICB9Ci0gICAgKS50aGVuKCh7aGFybmVzcywg
dGVzdHN9KSA9PiB7Ci0gICAgICBhc3NlcnRfZXF1YWxzKGhhcm5lc3MsICdPSycpOwotICAgICAg
YXNzZXJ0X2VxdWFscyh0ZXN0cy50ZXN0LCAnRkFJTCcpOwotICAgICAgYXNzZXJ0X2VxdWFscyh0
ZXN0cy5hZnRlciwgJ1BBU1MnKTsKLSAgICB9KTsKLX0sICdleGNlcHRpb24gaW4gYHN0ZXBgIG9m
IGEgcHJvbWlzZV90ZXN0Jyk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3Rlc3QvdGVzdHMvdW5pdC9mb3JtYXQtdmFsdWUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvdW5pdC9mb3JtYXQt
dmFsdWUuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTNkMDFiODFmMzUuLjAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvdW5pdC9mb3JtYXQtdmFsdWUuaHRtbAorKysgL2Rldi9u
dWxsCkBAIC0xLDEyMyArMCwwIEBACi08IURPQ1RZUEUgSFRNTD4KLTxodG1sPgotPGhlYWQ+Ci0g
IDx0aXRsZT5mb3JtYXRfdmFsdWUgdXRpbGl0eSBmdW5jdGlvbjwvdGl0bGU+Ci0gIDxtZXRhIGNo
YXJzZXQ9InV0Zi04Ij4KLTwvaGVhZD4KLTxib2R5PgotPGRpdiBpZD0ibG9nIj48L2Rpdj4KLTxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+
Ci0idXNlIHN0cmljdCI7Ci0KLXRlc3QoZnVuY3Rpb24oKSB7Ci0gIGFzc2VydF9lcXVhbHMoZm9y
bWF0X3ZhbHVlKG51bGwpLCAibnVsbCIpOwotfSwgIm51bGwiKTsKLQotdGVzdChmdW5jdGlvbigp
IHsKLSAgYXNzZXJ0X2VxdWFscyhmb3JtYXRfdmFsdWUodW5kZWZpbmVkKSwgInVuZGVmaW5lZCIp
OwotfSwgInVuZGVmaW5lZCIpOwotCi10ZXN0KGZ1bmN0aW9uKCkgewotICBhc3NlcnRfZXF1YWxz
KGZvcm1hdF92YWx1ZSh0cnVlKSwgInRydWUiKTsKLSAgYXNzZXJ0X2VxdWFscyhmb3JtYXRfdmFs
dWUoZmFsc2UpLCAiZmFsc2UiKTsKLX0sICJib29sZWFuIHZhbHVlcyIpOwotCi10ZXN0KGZ1bmN0
aW9uKCkgewotICBhc3NlcnRfZXF1YWxzKGZvcm1hdF92YWx1ZSgwLjQpLCAiMC40Iik7Ci0gIGFz
c2VydF9lcXVhbHMoZm9ybWF0X3ZhbHVlKDApLCAiMCIpOwotICBhc3NlcnRfZXF1YWxzKGZvcm1h
dF92YWx1ZSgtMCksICItMCIpOwotfSwgIm51bWJlciB2YWx1ZXMiKTsKLQotdGVzdChmdW5jdGlv
bigpIHsKLSAgYXNzZXJ0X2VxdWFscyhmb3JtYXRfdmFsdWUoImEgc3RyaW5nIiksICJcImEgc3Ry
aW5nXCIiKTsKLSAgYXNzZXJ0X2VxdWFscyhmb3JtYXRfdmFsdWUoIm5ld1xubGluZSIpLCAiXCJu
ZXdcXG5saW5lXCIiKTsKLX0sICJzdHJpbmcgdmFsdWVzIik7Ci0KLXRlc3QoZnVuY3Rpb24oKSB7
Ci0gIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpOwotICBub2RlLnNl
dEF0dHJpYnV0ZSgiZGF0YS1mb28iLCAiYmFyIik7Ci0gIGFzc2VydF90cnVlKAotICAgIC88c3Bh
blxiL2kudGVzdChmb3JtYXRfdmFsdWUobm9kZSkpLCAiZWxlbWVudCBpbmNsdWRlcyB0YWcgbmFt
ZSIKLSAgKTsKLSAgYXNzZXJ0X3RydWUoCi0gICAgL2RhdGEtZm9vPVsiJ10/YmFyWyInXT8vaS50
ZXN0KGZvcm1hdF92YWx1ZShub2RlKSksCi0gICAgImVsZW1lbnQgaW5jbHVkZXMgYXR0cmlidXRl
cyIKLSAgKTsKLX0sICJub2RlIHZhbHVlOiBlbGVtZW50IG5vZGUiKTsKLQotdGVzdChmdW5jdGlv
bigpIHsKLSAgdmFyIHRleHQgPSBkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgid3B0Iik7Ci0gIGFz
c2VydF9lcXVhbHMoZm9ybWF0X3ZhbHVlKHRleHQpLCAiVGV4dCBub2RlIFwid3B0XCIiKTsKLX0s
ICJub2RlIHZhbHVlOiB0ZXh0IG5vZGUiKTsKLQotdGVzdChmdW5jdGlvbigpIHsKLSAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24oIndwdDEiLCAid3B0MiIp
OwotICBhc3NlcnRfZXF1YWxzKAotICAgIGZvcm1hdF92YWx1ZShub2RlKSwKLSAgICAiUHJvY2Vz
c2luZ0luc3RydWN0aW9uIG5vZGUgd2l0aCB0YXJnZXQgXCJ3cHQxXCIgYW5kIGRhdGEgXCJ3cHQy
XCIiCi0gICk7Ci19LCAibm9kZSB2YWx1ZTogUHJvY2Vzc2luZ0luc3RydWN0aW9uIG5vZGUiKTsK
LQotdGVzdChmdW5jdGlvbigpIHsKLSAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVDb21tZW50
KCJ3cHQiKTsKLSAgYXNzZXJ0X2VxdWFscyhmb3JtYXRfdmFsdWUobm9kZSksICJDb21tZW50IG5v
ZGUgPCEtLXdwdC0tPiIpOwotfSwgIm5vZGUgdmFsdWU6IGNvbW1lbnQgbm9kZSIpOwotCi10ZXN0
KGZ1bmN0aW9uKCkgewotICB2YXIgbm9kZSA9IGRvY3VtZW50LmltcGxlbWVudGF0aW9uLmNyZWF0
ZURvY3VtZW50KAotICAgICJhcHBsaWNhdGlvbi94aHRtbCt4bWwiLCAiIiwgbnVsbAotICApOwot
Ci0gIGFzc2VydF9lcXVhbHMoZm9ybWF0X3ZhbHVlKG5vZGUpLCAiRG9jdW1lbnQgbm9kZSB3aXRo
IDAgY2hpbGRyZW4iKTsKLQotICBub2RlLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoJ2h0bWwnKSk7Ci0KLSAgYXNzZXJ0X2VxdWFscyhmb3JtYXRfdmFsdWUobm9kZSksICJEb2N1
bWVudCBub2RlIHdpdGggMSBjaGlsZCIpOwotfSwgIm5vZGUgdmFsdWU6IGRvY3VtZW50IG5vZGUi
KTsKLQotdGVzdChmdW5jdGlvbigpIHsKLSAgdmFyIG5vZGUgPSBkb2N1bWVudC5pbXBsZW1lbnRh
dGlvbi5jcmVhdGVEb2N1bWVudFR5cGUoImZvbyIsICJiYXoiLCAiYmF6Iik7Ci0KLSAgYXNzZXJ0
X2VxdWFscyhmb3JtYXRfdmFsdWUobm9kZSksICJEb2N1bWVudFR5cGUgbm9kZSIpOwotfSwgIm5v
ZGUgdmFsdWU6IERvY3VtZW50VHlwZSBub2RlIik7Ci0KLXRlc3QoZnVuY3Rpb24oKSB7Ci0gIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpOwotCi0gIGFzc2VydF9l
cXVhbHMoZm9ybWF0X3ZhbHVlKG5vZGUpLCAiRG9jdW1lbnRGcmFnbWVudCBub2RlIHdpdGggMCBj
aGlsZHJlbiIpOwotCi0gIG5vZGUuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgi
c3BhbiIpKTsKLQotICBhc3NlcnRfZXF1YWxzKGZvcm1hdF92YWx1ZShub2RlKSwgIkRvY3VtZW50
RnJhZ21lbnQgbm9kZSB3aXRoIDEgY2hpbGQiKTsKLQotICBub2RlLmFwcGVuZENoaWxkKGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKSk7Ci0KLSAgYXNzZXJ0X2VxdWFscyhmb3JtYXRfdmFs
dWUobm9kZSksICJEb2N1bWVudEZyYWdtZW50IG5vZGUgd2l0aCAyIGNoaWxkcmVuIik7Ci19LCAi
bm9kZSB2YWx1ZTogRG9jdW1lbnRGcmFnbWVudCBub2RlIik7Ci0KLXRlc3QoZnVuY3Rpb24oKSB7
Ci0gIGFzc2VydF9lcXVhbHMoZm9ybWF0X3ZhbHVlKFN5bWJvbCgid3B0IikpLCAic3ltYm9sIFwi
U3ltYm9sKHdwdClcIiIpOwotfSwgInN5bWJvbCB2YWx1ZSIpOwotCi10ZXN0KGZ1bmN0aW9uKCkg
ewotIGFzc2VydF9lcXVhbHMoZm9ybWF0X3ZhbHVlKFtdKSwgIltdIik7Ci0gYXNzZXJ0X2VxdWFs
cyhmb3JtYXRfdmFsdWUoWyJvbmUiXSksICJbXCJvbmVcIl0iKTsKLSBhc3NlcnRfZXF1YWxzKGZv
cm1hdF92YWx1ZShbIm9uZSIsICJ0d28iXSksICJbXCJvbmVcIiwgXCJ0d29cIl0iKTsKLX0sICJh
cnJheSB2YWx1ZXMiKTsKLQotdGVzdChmdW5jdGlvbigpIHsKLSAgdmFyIG9iaiA9IHsKLSAgICB0
b1N0cmluZzogZnVuY3Rpb24oKSB7Ci0gICAgICB0aHJvdyAid3B0IjsKLSAgICB9Ci0gIH07Ci0K
LSAgYXNzZXJ0X2VxdWFscygKLSAgICBmb3JtYXRfdmFsdWUob2JqKSwgIltzdHJpbmdpZnlpbmcg
b2JqZWN0IHRocmV3IHdwdCB3aXRoIHR5cGUgc3RyaW5nXSIKLSAgKTsKLX0sICJvYmplY3QgdmFs
dWUgd2l0aCBmYXVsdHkgYHRvU3RyaW5nYCIpOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy90ZXN0L3Rlc3RzL3VuaXQvbGF0ZS10ZXN0Lmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL3VuaXQv
bGF0ZS10ZXN0Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY5M2Q3ZTNjODE4
Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL3VuaXQvbGF0ZS10ZXN0Lmh0bWwKKysrIC9kZXYv
bnVsbApAQCAtMSw1NCArMCwwIEBACi08IURPQ1RZUEUgSFRNTD4KLTxodG1sPgotPGhlYWQ+Ci08
dGl0bGU+VGVzdCBkZWNsYXJlZCBhZnRlciBoYXJuZXNzIGNvbXBsZXRpb248L3RpdGxlPgotPC9o
ZWFkPgotPGJvZHk+Ci08ZGl2IGlkPSJsb2ciPjwvZGl2PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHA+VGhpcyB0ZXN0IHNpbXVsYXRlcyBhbiBh
dXRvbWF0ZWQgdGVzdCBydW5uaW5nIHNjZW5hcmlvLCB3aGVyZSB0aGUgdGVzdAotcmVzdWx0cyBl
bWl0dGVkIGJ5IHRlc3RoYXJuZXNzLmpzIG1heSBiZSBpbnRlcnByZXRlZCBhZnRlciBzb21lIGRl
bGF5LiBJdCBpcwotaW50ZW5kZWQgdG8gZGVtb25zdHJhdGUgdGhhdCBpbiBzdWNoIGNhc2VzLCBh
bnkgYWRkaXRpb25hbCB0ZXN0cyB3aGljaCBhcmUKLWV4ZWN1dGVkIGR1cmluZyB0aGF0IGRlbGF5
IGFyZSA8ZW0+bm90PC9lbT4gaW5jbHVkZWQgaW4gdGhlIGRhdGFzZXQuPC9wPgotCi08cD5BbHRo
b3VnaCB0aGVzZSAibGF0ZSIgdGVzdHMgYXJlIGxpa2VseSBhbiBpbmRpY2F0aW9uIG9mIGEgbWlz
dGFrZSBpbiB0ZXN0Ci1kZXNpZ24sIHRoZXkgY2Fubm90IGJlIGRldGVjdGVkIGRldGVybWluaXN0
aWNhbGx5LCBzbyBpbiB0aGUgaW50ZXJlc3Qgb2YKLXN0YWJpbGl0eSwgdGhleSBzaG91bGQgYmUg
c2lsZW50bHkgdG9sZXJhdGVkLjwvcD4KLTxzY3JpcHQ+Ci1hc3luY190ZXN0KGZ1bmN0aW9uKHQp
IHsKLSAgICB2YXIgc291cmNlID0gWwotICAgICAgICAiPGRpdiBpZD0nbG9nJz48L2Rpdj4iLAot
ICAgICAgICAiPHNjcmlwdCBzcmM9Jy9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMnPjwvIiArICJz
Y3JpcHQ+IiwKLSAgICAgICAgIjxzY3JpcHQgc3JjPScvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzJz48LyIgKyAic2NyaXB0PiIsCi0gICAgICAgICI8c2NyaXB0PiIsCi0gICAgICAgICJw
YXJlbnQuY2hpbGRSZWFkeSh3aW5kb3cpOyIsCi0gICAgICAgICJzZXR1cCh7IGV4cGxpY2l0X2Rv
bmU6IHRydWUgfSk7IiwKLSAgICAgICAgInRlc3QoZnVuY3Rpb24oKSB7fSwgJ2FjY2VwdGFibGUg
dGVzdCcpOyIsCi0gICAgICAgICJvbmxvYWQgPSBmdW5jdGlvbigpIHsiLAotICAgICAgICAiICBk
b25lKCk7IiwKLSAgICAgICAgIiAgdGVzdChmdW5jdGlvbigpIHt9LCAndGhpcyB0ZXN0IGlzIGxh
dGUgYW5kIHNob3VsZCBiZSBpZ25vcmVkJyk7IiwKLSAgICAgICAgIn07IiwKLSAgICAgICAgIjwv
IiArICJzY3JpcHQ+IgotICAgIF0uam9pbigiXG4iKTsKLSAgICB2YXIgaWZyYW1lID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7Ci0KLSAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKGlmcmFtZSk7Ci0gICAgd2luZG93LmNoaWxkUmVhZHkgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihjaGlsZFdpbmRvdykgewotICAgICAgICBjaGlsZFdpbmRvdy5hZGRfY29tcGxldGlvbl9jYWxs
YmFjayh0LnN0ZXBfZnVuYyhmdW5jdGlvbih0ZXN0cywgc3RhdHVzKSB7Ci0gICAgICAgICAgICB0
LnN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuYyhmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICBh
c3NlcnRfZXF1YWxzKHRlc3RzLmxlbmd0aCwgMSk7Ci0gICAgICAgICAgICAgICAgYXNzZXJ0X2Vx
dWFscyh0ZXN0c1swXS5uYW1lLCAiYWNjZXB0YWJsZSB0ZXN0Iik7Ci0gICAgICAgICAgICAgICAg
YXNzZXJ0X2VxdWFscyhzdGF0dXMuc3RhdHVzLCBzdGF0dXMuT0spOwotICAgICAgICAgICAgICAg
IHQuZG9uZSgpOwotICAgICAgICAgICAgfSksIDApOwotICAgICAgICB9KSk7Ci0gICAgfSk7Ci0K
LSAgICBpZnJhbWUuY29udGVudERvY3VtZW50Lm9wZW4oKTsKLSAgICBpZnJhbWUuY29udGVudERv
Y3VtZW50LndyaXRlKHNvdXJjZSk7Ci0gICAgaWZyYW1lLmNvbnRlbnREb2N1bWVudC5jbG9zZSgp
OwotfSk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMv
dW5pdC9wcm9taXNlX3NldHVwLXRpbWVvdXQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvdW5pdC9wcm9taXNlX3Nl
dHVwLXRpbWVvdXQuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzQ5NDdmZWVm
NDIuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvdW5pdC9wcm9taXNlX3NldHVwLXRpbWVvdXQu
aHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDI4ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0
bWw+Ci08aGVhZD4KLSAgPG1ldGEgY2hhcnNldD0idXRmLTgiPgotICA8bWV0YSBuYW1lPSJ0aW1l
b3V0IiBjb250ZW50PSJsb25nIj4KLSAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0PgotICA8c2NyaXB0IHNyYz0iLi4vLi4vbmVzdGVkLXRlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4KLSAgPHRpdGxlPnByb21pc2Vfc2V0dXAgLSB0aW1lb3V0PC90aXRsZT4K
LTwvaGVhZD4KLTxib2R5PgotPHNjcmlwdD4KLSd1c2Ugc3RyaWN0JzsKLXByb21pc2VfdGVzdCgo
KSA9PiB7Ci0gIHJldHVybiBtYWtlVGVzdCgKLSAgICAgICgpID0+IHsKLSAgICAgICAgdGVzdCgo
KSA9PiB7fSwgJ2JlZm9yZScpOwotICAgICAgICBwcm9taXNlX3NldHVwKCgpID0+IG5ldyBQcm9t
aXNlKCgpID0+IHt9KSk7Ci0gICAgICAgIHByb21pc2VfdGVzdCgoKSA9PiBQcm9taXNlLnJlc29s
dmUoKSwgJ2FmdGVyJyk7Ci0gICAgICB9Ci0gICAgKS50aGVuKCh7aGFybmVzcywgdGVzdHN9KSA9
PiB7Ci0gICAgICBhc3NlcnRfZXF1YWxzKGhhcm5lc3MsICdUSU1FT1VUJyk7Ci0gICAgICBhc3Nl
cnRfZXF1YWxzKHRlc3RzLmJlZm9yZSwgJ1BBU1MnKTsKLSAgICAgIGFzc2VydF9lcXVhbHModGVz
dHMuYWZ0ZXIsICdOT1RSVU4nKTsKLSAgICB9KTsKLX0sICd0aW1lb3V0IHdoZW4gcmV0dXJuZWQg
cHJvbWlzZSBkb2VzIG5vdCBzZXR0bGUnKTsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvdGVzdC90ZXN0cy91bml0L3Byb21pc2Vfc2V0dXAuaHRtbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvdW5p
dC9wcm9taXNlX3NldHVwLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDJhYmIx
MGE0NzZlLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL3VuaXQvcHJvbWlzZV9zZXR1cC5odG1s
CisrKyAvZGV2L251bGwKQEAgLTEsMzMzICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+
Ci08aGVhZD4KLSAgPG1ldGEgY2hhcnNldD0idXRmLTgiPgotICA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci0gIDxzY3JpcHQgc3JjPSIuLi8uLi9uZXN0
ZWQtdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotICA8dGl0bGU+cHJvbWlzZV9zZXR1cDwvdGl0
bGU+Ci08L2hlYWQ+Ci08Ym9keT4KLTxzY3JpcHQ+Ci0ndXNlIHN0cmljdCc7Ci1wcm9taXNlX3Rl
c3QoKCkgPT4gewotICByZXR1cm4gbWFrZVRlc3QoCi0gICAgICAoKSA9PiB7Ci0gICAgICAgIC8v
IEVuc3VyZSB0aGF0IHRoZSBoYXJuZXNzIGVycm9yIGlzIHRoZSByZXN1bHQgb2YgZXhwbGljaXQg
ZXJyb3IKLSAgICAgICAgLy8gaGFuZGxpbmcKLSAgICAgICAgc2V0dXAoeyBhbGxvd191bmNhdWdo
dF9leGNlcHRpb246IHRydWUgfSk7Ci0KLSAgICAgICAgdGVzdCgoKSA9PiB7fSwgJ2JlZm9yZScp
OwotICAgICAgICBwcm9taXNlX3NldHVwKHt9KTsKLSAgICAgICAgcHJvbWlzZV90ZXN0KCgpID0+
IFByb21pc2UucmVzb2x2ZSgpLCAnYWZ0ZXInKTsKLSAgICAgIH0KLSAgICApLnRoZW4oKHtoYXJu
ZXNzLCB0ZXN0c30pID0+IHsKLSAgICAgIGFzc2VydF9lcXVhbHMoaGFybmVzcywgJ0VSUk9SJyk7
Ci0gICAgICBhc3NlcnRfZXF1YWxzKHRlc3RzLmJlZm9yZSwgJ1BBU1MnKTsKLSAgICAgIGFzc2Vy
dF9lcXVhbHModGVzdHMuYWZ0ZXIsIHVuZGVmaW5lZCk7Ci0gICAgfSk7Ci19LCAnRXJyb3Igd2hl
biBubyBmdW5jdGlvbiBwcm92aWRlZCcpOwotCi1wcm9taXNlX3Rlc3QoKCkgPT4gewotICByZXR1
cm4gbWFrZVRlc3QoCi0gICAgICAoKSA9PiB7Ci0gICAgICAgIHRlc3QoKCkgPT4ge30sICdiZWZv
cmUnKTsKLSAgICAgICAgcHJvbWlzZV9zZXR1cCgoKSA9PiBQcm9taXNlLnJlc29sdmUoKSwge30p
OwotICAgICAgICBwcm9taXNlX3Rlc3QoKCkgPT4gUHJvbWlzZS5yZXNvbHZlKCksICdhZnRlcicp
OwotICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ3RoaXMgZXJyb3IgaXMgZXhwZWN0ZWQnKTsKLSAg
ICAgIH0KLSAgICApLnRoZW4oKHtoYXJuZXNzLCB0ZXN0c30pID0+IHsKLSAgICAgIGFzc2VydF9l
cXVhbHMoaGFybmVzcywgJ0VSUk9SJyk7Ci0gICAgICBhc3NlcnRfZXF1YWxzKHRlc3RzLmJlZm9y
ZSwgJ1BBU1MnKTsKLSAgICAgIGFzc2VydF9lcXVhbHModGVzdHMuYWZ0ZXIsICdQQVNTJyk7Ci0g
ICAgfSk7Ci19LCAnRG9lcyBub3QgYXBwbHkgdW5zcGVjaWZpZWQgY29uZmlndXJhdGlvbiBwcm9w
ZXJ0aWVzJyk7Ci0KLXByb21pc2VfdGVzdCgoKSA9PiB7Ci0gIHJldHVybiBtYWtlVGVzdCgKLSAg
ICAgICgpID0+IHsKLSAgICAgICAgdmFyIHByb3BlcnRpZXMgPSB7Ci0gICAgICAgICAgYWxsb3df
dW5jYXVnaHRfZXhjZXB0aW9uOiB0cnVlCi0gICAgICAgIH07Ci0gICAgICAgIHRlc3QoKCkgPT4g
e30sICdiZWZvcmUnKTsKLSAgICAgICAgcHJvbWlzZV9zZXR1cCgoKSA9PiBQcm9taXNlLnJlc29s
dmUoKSwgcHJvcGVydGllcyk7Ci0gICAgICAgIHByb21pc2VfdGVzdCgoKSA9PiBQcm9taXNlLnJl
c29sdmUoKSwgJ2FmdGVyJyk7Ci0gICAgICAgIHRocm93IG5ldyBFcnJvcigndGhpcyBlcnJvciBp
cyBleHBlY3RlZCcpOwotICAgICAgfQotICAgICkudGhlbigoe2hhcm5lc3MsIHRlc3RzfSkgPT4g
ewotICAgICAgYXNzZXJ0X2VxdWFscyhoYXJuZXNzLCAnRVJST1InKTsKLSAgICAgIGFzc2VydF9l
cXVhbHModGVzdHMuYmVmb3JlLCAnUEFTUycpOwotICAgICAgYXNzZXJ0X2VxdWFscyh0ZXN0cy5h
ZnRlciwgJ1BBU1MnKTsKLSAgICB9KTsKLX0sICdJZ25vcmVzIGNvbmZpZ3VyYXRpb24gcHJvcGVy
dGllcyB3aGVuIHNvbWUgdGVzdHMgaGF2ZSBhbHJlYWR5IHJ1bicpOwotCi1wcm9taXNlX3Rlc3Qo
KCkgPT4gewotICByZXR1cm4gbWFrZVRlc3QoCi0gICAgICAoKSA9PiB7Ci0gICAgICAgIHZhciBw
cm9wZXJ0aWVzID0gewotICAgICAgICAgIGFsbG93X3VuY2F1Z2h0X2V4Y2VwdGlvbjogdHJ1ZQot
ICAgICAgICB9OwotICAgICAgICBwcm9taXNlX3NldHVwKCgpID0+IFByb21pc2UucmVzb2x2ZSgp
LCBwcm9wZXJ0aWVzKTsKLSAgICAgICAgcHJvbWlzZV90ZXN0KCgpID0+IHsKLSAgICAgICAgICBy
ZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHsKLSAgICAgICAgICAgIHNldFRpbWVvdXQo
KCkgPT4gewotICAgICAgICAgICAgICByZXNvbHZlKCk7Ci0gICAgICAgICAgICAgIHRocm93IG5l
dyBFcnJvcigndGhpcyBlcnJvciBpcyBleHBlY3RlZCcpOwotICAgICAgICAgICAgfSk7Ci0gICAg
ICAgICAgfSk7Ci0gICAgICAgIH0sICdhZnRlcicpOwotICAgICAgfQotICAgICkudGhlbigoe2hh
cm5lc3MsIHRlc3RzfSkgPT4gewotICAgICAgYXNzZXJ0X2VxdWFscyhoYXJuZXNzLCAnT0snKTsK
LSAgICAgIGFzc2VydF9lcXVhbHModGVzdHMuYWZ0ZXIsICdQQVNTJyk7Ci0gICAgfSk7Ci19LCAn
SG9ub3JzIGNvbmZpZ3VyYXRpb24gcHJvcGVydGllcycpOwotCi1wcm9taXNlX3Rlc3QoKCkgPT4g
ewotICByZXR1cm4gbWFrZVRlc3QoCi0gICAgICAoKSA9PiB7Ci0gICAgICAgIC8vIEVuc3VyZSB0
aGF0IHRoZSBoYXJuZXNzIGVycm9yIGlzIHRoZSByZXN1bHQgb2YgZXhwbGljaXQgZXJyb3IKLSAg
ICAgICAgLy8gaGFuZGxpbmcKLSAgICAgICAgc2V0dXAoeyBhbGxvd191bmNhdWdodF9leGNlcHRp
b246IHRydWUgfSk7Ci0KLSAgICAgICAgdGVzdCgoKSA9PiB7fSwgJ2JlZm9yZScpOwotICAgICAg
ICBwcm9taXNlX3NldHVwKCgpID0+IHsgdGhyb3cgbmV3IEVycm9yKCd0aGlzIGVycm9yIGlzIGV4
cGVjdGVkJyk7IH0pOwotICAgICAgICBwcm9taXNlX3Rlc3QoKCkgPT4gUHJvbWlzZS5yZXNvbHZl
KCksICdhZnRlcicpOwotICAgICAgfQotICAgICkudGhlbigoe2hhcm5lc3MsIHRlc3RzfSkgPT4g
ewotICAgICAgYXNzZXJ0X2VxdWFscyhoYXJuZXNzLCAnRVJST1InKTsKLSAgICAgIGFzc2VydF9l
cXVhbHModGVzdHMuYmVmb3JlLCAnUEFTUycpOwotICAgICAgYXNzZXJ0X2VxdWFscyh0ZXN0cy5h
ZnRlciwgJ05PVFJVTicpOwotICAgIH0pOwotfSwgJ0Vycm9yIGZvciBzeW5jaHJvbm91cyBleGNl
cHRpb25zJyk7Ci0KLXByb21pc2VfdGVzdCgoKSA9PiB7Ci0gIHJldHVybiBtYWtlVGVzdCgKLSAg
ICAgICgpID0+IHsKLSAgICAgICAgLy8gRW5zdXJlIHRoYXQgdGhlIGhhcm5lc3MgZXJyb3IgaXMg
dGhlIHJlc3VsdCBvZiBleHBsaWNpdCBlcnJvcgotICAgICAgICAvLyBoYW5kbGluZwotICAgICAg
ICBzZXR1cCh7IGFsbG93X3VuY2F1Z2h0X2V4Y2VwdGlvbjogdHJ1ZSB9KTsKLQotICAgICAgICB0
ZXN0KCgpID0+IHt9LCAnYmVmb3JlJyk7Ci0gICAgICAgIHByb21pc2Vfc2V0dXAoKCkgPT4gdW5k
ZWZpbmVkKTsKLSAgICAgICAgcHJvbWlzZV90ZXN0KCgpID0+IFByb21pc2UucmVzb2x2ZSgpLCAn
YWZ0ZXInKTsKLSAgICAgIH0KLSAgICApLnRoZW4oKHtoYXJuZXNzLCB0ZXN0c30pID0+IHsKLSAg
ICAgIGFzc2VydF9lcXVhbHMoaGFybmVzcywgJ0VSUk9SJyk7Ci0gICAgICBhc3NlcnRfZXF1YWxz
KHRlc3RzLmJlZm9yZSwgJ1BBU1MnKTsKLSAgICAgIGFzc2VydF9lcXVhbHModGVzdHMuYWZ0ZXIs
ICdOT1RSVU4nKTsKLSAgICB9KTsKLX0sICdFcnJvciBmb3IgbWlzc2luZyByZXR1cm4gdmFsdWUn
KTsKLQotcHJvbWlzZV90ZXN0KCgpID0+IHsKLSAgcmV0dXJuIG1ha2VUZXN0KAotICAgICAgKCkg
PT4gewotICAgICAgICAvLyBFbnN1cmUgdGhhdCB0aGUgaGFybmVzcyBlcnJvciBpcyB0aGUgcmVz
dWx0IG9mIGV4cGxpY2l0IGVycm9yCi0gICAgICAgIC8vIGhhbmRsaW5nCi0gICAgICAgIHNldHVw
KHsgYWxsb3dfdW5jYXVnaHRfZXhjZXB0aW9uOiB0cnVlIH0pOwotCi0gICAgICAgIHRlc3QoKCkg
PT4ge30sICdiZWZvcmUnKTsKLSAgICAgICAgdmFyIG5vVGhlbiA9IFByb21pc2UucmVzb2x2ZSgp
OwotICAgICAgICBub1RoZW4udGhlbiA9IHVuZGVmaW5lZDsKLSAgICAgICAgcHJvbWlzZV9zZXR1
cCgoKSA9PiBub1RoZW4pOwotICAgICAgICBwcm9taXNlX3Rlc3QoKCkgPT4gUHJvbWlzZS5yZXNv
bHZlKCksICdhZnRlcicpOwotICAgICAgfQotICAgICkudGhlbigoe2hhcm5lc3MsIHRlc3RzfSkg
PT4gewotICAgICAgYXNzZXJ0X2VxdWFscyhoYXJuZXNzLCAnRVJST1InKTsKLSAgICAgIGFzc2Vy
dF9lcXVhbHModGVzdHMuYmVmb3JlLCAnUEFTUycpOwotICAgICAgYXNzZXJ0X2VxdWFscyh0ZXN0
cy5hZnRlciwgJ05PVFJVTicpOwotICAgIH0pOwotfSwgJ0Vycm9yIGZvciBub24tdGhlbmFibGUg
cmV0dXJuIHZhbHVlJyk7Ci0KLXByb21pc2VfdGVzdCgoKSA9PiB7Ci0gIHJldHVybiBtYWtlVGVz
dCgKLSAgICAgICgpID0+IHsKLSAgICAgICAgLy8gRW5zdXJlIHRoYXQgdGhlIGhhcm5lc3MgZXJy
b3IgaXMgdGhlIHJlc3VsdCBvZiBleHBsaWNpdCBlcnJvcgotICAgICAgICAvLyBoYW5kbGluZwot
ICAgICAgICBzZXR1cCh7IGFsbG93X3VuY2F1Z2h0X2V4Y2VwdGlvbjogdHJ1ZSB9KTsKLQotICAg
ICAgICB0ZXN0KCgpID0+IHt9LCAnYmVmb3JlJyk7Ci0gICAgICAgIHZhciBwb2lzb25lZFRoZW4g
PSB7Ci0gICAgICAgICAgZ2V0IHRoZW4oKSB7Ci0gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3Io
J3RoaXMgZXJyb3IgaXMgZXhwZWN0ZWQnKTsKLSAgICAgICAgICB9Ci0gICAgICAgIH07Ci0gICAg
ICAgIHByb21pc2Vfc2V0dXAoKCkgPT4gcG9pc29uZWRUaGVuKTsKLSAgICAgICAgcHJvbWlzZV90
ZXN0KCgpID0+IFByb21pc2UucmVzb2x2ZSgpLCAnYWZ0ZXInKTsKLSAgICAgIH0KLSAgICApLnRo
ZW4oKHtoYXJuZXNzLCB0ZXN0c30pID0+IHsKLSAgICAgIGFzc2VydF9lcXVhbHMoaGFybmVzcywg
J0VSUk9SJyk7Ci0gICAgICBhc3NlcnRfZXF1YWxzKHRlc3RzLmJlZm9yZSwgJ1BBU1MnKTsKLSAg
ICAgIGFzc2VydF9lcXVhbHModGVzdHMuYWZ0ZXIsICdOT1RSVU4nKTsKLSAgICB9KTsKLX0sICdF
cnJvciBmb3IgInBvaXNvbmVkIiBgdGhlbmAgcHJvcGVydHknKTsKLQotcHJvbWlzZV90ZXN0KCgp
ID0+IHsKLSAgcmV0dXJuIG1ha2VUZXN0KAotICAgICAgKCkgPT4gewotICAgICAgICAvLyBFbnN1
cmUgdGhhdCB0aGUgaGFybmVzcyBlcnJvciBpcyB0aGUgcmVzdWx0IG9mIGV4cGxpY2l0IGVycm9y
Ci0gICAgICAgIC8vIGhhbmRsaW5nCi0gICAgICAgIHNldHVwKHsgYWxsb3dfdW5jYXVnaHRfZXhj
ZXB0aW9uOiB0cnVlIH0pOwotCi0gICAgICAgIHRlc3QoKCkgPT4ge30sICdiZWZvcmUnKTsKLSAg
ICAgICAgdmFyIGJhZFRoZW4gPSB7Ci0gICAgICAgICAgdGhlbigpIHsKLSAgICAgICAgICAgIHRo
cm93IG5ldyBFcnJvcigndGhpcyBlcnJvciBpcyBleHBlY3RlZCcpOwotICAgICAgICAgIH0KLSAg
ICAgICAgfTsKLSAgICAgICAgcHJvbWlzZV9zZXR1cCgoKSA9PiBiYWRUaGVuKTsKLSAgICAgICAg
cHJvbWlzZV90ZXN0KCgpID0+IFByb21pc2UucmVzb2x2ZSgpLCAnYWZ0ZXInKTsKLSAgICAgIH0K
LSAgICApLnRoZW4oKHtoYXJuZXNzLCB0ZXN0c30pID0+IHsKLSAgICAgIGFzc2VydF9lcXVhbHMo
aGFybmVzcywgJ0VSUk9SJyk7Ci0gICAgICBhc3NlcnRfZXF1YWxzKHRlc3RzLmJlZm9yZSwgJ1BB
U1MnKTsKLSAgICAgIGFzc2VydF9lcXVhbHModGVzdHMuYWZ0ZXIsICdOT1RSVU4nKTsKLSAgICB9
KTsKLX0sICdFcnJvciBmb3Igc3luY2hyb25vdXMgZXJyb3IgZnJvbSBgdGhlbmAgbWV0aG9kJyk7
Ci0KLXByb21pc2VfdGVzdCgoKSA9PiB7Ci0gIHJldHVybiBtYWtlVGVzdCgKLSAgICAgICgpID0+
IHsKLSAgICAgICAgLy8gRW5zdXJlIHRoYXQgdGhlIGhhcm5lc3MgZXJyb3IgaXMgdGhlIHJlc3Vs
dCBvZiBleHBsaWNpdCBlcnJvcgotICAgICAgICAvLyBoYW5kbGluZwotICAgICAgICBzZXR1cCh7
IGFsbG93X3VuY2F1Z2h0X2V4Y2VwdGlvbjogdHJ1ZSB9KTsKLQotICAgICAgICB0ZXN0KCgpID0+
IHt9LCAnYmVmb3JlJyk7Ci0gICAgICAgIHByb21pc2Vfc2V0dXAoKCkgPT4gUHJvbWlzZS5yZXNv
bHZlKCkpOwotICAgICAgICB0ZXN0KCgpID0+IHt9LCAnYWZ0ZXInKTsKLSAgICAgIH0KLSAgICAp
LnRoZW4oKHtoYXJuZXNzLCB0ZXN0c30pID0+IHsKLSAgICAgIGFzc2VydF9lcXVhbHMoaGFybmVz
cywgJ0VSUk9SJyk7Ci0gICAgICBhc3NlcnRfZXF1YWxzKHRlc3RzLmJlZm9yZSwgJ1BBU1MnKTsK
LSAgICAgIGFzc2VydF9lcXVhbHModGVzdHMuYWZ0ZXIsIHVuZGVmaW5lZCk7Ci0gICAgfSk7Ci19
LCAnRXJyb3IgZm9yIHN1YnNlcXVlbnQgaW52b2NhdGlvbiBvZiBgdGVzdGAnKTsKLQotcHJvbWlz
ZV90ZXN0KCgpID0+IHsKLSAgcmV0dXJuIG1ha2VUZXN0KAotICAgICAgKCkgPT4gewotICAgICAg
ICAvLyBFbnN1cmUgdGhhdCB0aGUgaGFybmVzcyBlcnJvciBpcyB0aGUgcmVzdWx0IG9mIGV4cGxp
Y2l0IGVycm9yCi0gICAgICAgIC8vIGhhbmRsaW5nCi0gICAgICAgIHNldHVwKHsgYWxsb3dfdW5j
YXVnaHRfZXhjZXB0aW9uOiB0cnVlIH0pOwotCi0gICAgICAgIHRlc3QoKCkgPT4ge30sICdiZWZv
cmUnKTsKLSAgICAgICAgcHJvbWlzZV9zZXR1cCgoKSA9PiBQcm9taXNlLnJlc29sdmUoKSk7Ci0g
ICAgICAgIGFzeW5jX3Rlc3QoKHQpID0+IHQuZG9uZSgpLCAnYWZ0ZXInKTsKLSAgICAgIH0KLSAg
ICApLnRoZW4oKHtoYXJuZXNzLCB0ZXN0c30pID0+IHsKLSAgICAgIGFzc2VydF9lcXVhbHMoaGFy
bmVzcywgJ0VSUk9SJyk7Ci0gICAgICBhc3NlcnRfZXF1YWxzKHRlc3RzLmJlZm9yZSwgJ1BBU1Mn
KTsKLSAgICAgIGFzc2VydF9lcXVhbHModGVzdHMuYWZ0ZXIsIHVuZGVmaW5lZCk7Ci0gICAgfSk7
Ci19LCAnRXJyb3IgZm9yIHN1YnNlcXVlbnQgaW52b2NhdGlvbiBvZiBgYXN5bmNfdGVzdGAnKTsK
LQotcHJvbWlzZV90ZXN0KCgpID0+IHsKLSAgcmV0dXJuIG1ha2VUZXN0KAotICAgICAgKCkgPT4g
ewotICAgICAgICAvLyBFbnN1cmUgdGhhdCB0aGUgaGFybmVzcyBlcnJvciBpcyB0aGUgcmVzdWx0
IG9mIGV4cGxpY2l0IGVycm9yCi0gICAgICAgIC8vIGhhbmRsaW5nCi0gICAgICAgIHNldHVwKHsg
YWxsb3dfdW5jYXVnaHRfZXhjZXB0aW9uOiB0cnVlIH0pOwotCi0gICAgICAgIHRlc3QoKCkgPT4g
e30sICdiZWZvcmUnKTsKLSAgICAgICAgcHJvbWlzZV9zZXR1cCgoKSA9PiBQcm9taXNlLnJlamVj
dCgpKTsKLSAgICAgICAgcHJvbWlzZV90ZXN0KCgpID0+IFByb21pc2UucmVzb2x2ZSgpLCAnYWZ0
ZXInKTsKLSAgICAgIH0KLSAgICApLnRoZW4oKHtoYXJuZXNzLCB0ZXN0c30pID0+IHsKLSAgICAg
IGFzc2VydF9lcXVhbHMoaGFybmVzcywgJ0VSUk9SJyk7Ci0gICAgICBhc3NlcnRfZXF1YWxzKHRl
c3RzLmJlZm9yZSwgJ1BBU1MnKTsKLSAgICAgIGFzc2VydF9lcXVhbHModGVzdHMuYWZ0ZXIsICdO
T1RSVU4nKTsKLSAgICB9KTsKLX0sICdFcnJvciBmb3IgcmVqZWN0ZWQgcHJvbWlzZScpOwotCi1w
cm9taXNlX3Rlc3QoKCkgPT4gewotICB2YXIgZXhwZWN0ZWRfc2VxdWVuY2UgPSBbCi0gICAgJ3Rl
c3QgYm9keScsCi0gICAgJ3Byb21pc2Vfc2V0dXAgYmVnaW4nLAotICAgICdwcm9taXNlX3NldHVw
IGVuZCcsCi0gICAgJ3Byb21pc2VfdGVzdCBib2R5JwotICBdOwotICB2YXIgYWN0dWFsX3NlcXVl
bmNlID0gd2luZG93LmFjdHVhbF9zZXF1ZW5jZSA9IFtdOwotCi0gIHJldHVybiBtYWtlVGVzdCgK
LSAgICAgICgpID0+IHsKLSAgICAgICAgdGVzdCgoKSA9PiB7IHBhcmVudC5hY3R1YWxfc2VxdWVu
Y2UucHVzaCgndGVzdCBib2R5Jyk7IH0sICdiZWZvcmUnKTsKLSAgICAgICAgcHJvbWlzZV9zZXR1
cCgoKSA9PiB7Ci0gICAgICAgICAgcGFyZW50LmFjdHVhbF9zZXF1ZW5jZS5wdXNoKCdwcm9taXNl
X3NldHVwIGJlZ2luJyk7Ci0KLSAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCkKLSAg
ICAgICAgICAgIC50aGVuKCgpID0+IG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiBzZXRUaW1lb3V0
KHJlc29sdmUsIDMwMCkpKQotICAgICAgICAgICAgLnRoZW4oKCkgPT4gcGFyZW50LmFjdHVhbF9z
ZXF1ZW5jZS5wdXNoKCdwcm9taXNlX3NldHVwIGVuZCcpKTsKLSAgICAgICAgfSk7Ci0gICAgICAg
IHByb21pc2VfdGVzdCgoKSA9PiB7Ci0gICAgICAgICAgcGFyZW50LmFjdHVhbF9zZXF1ZW5jZS5w
dXNoKCdwcm9taXNlX3Rlc3QgYm9keScpOwotICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlc29s
dmUoKTsKLSAgICAgICAgfSwgJ2FmdGVyJyk7Ci0gICAgICB9Ci0gICAgKS50aGVuKCh7aGFybmVz
cywgdGVzdHN9KSA9PiB7Ci0gICAgICBhc3NlcnRfZXF1YWxzKGhhcm5lc3MsICdPSycpOwotICAg
ICAgYXNzZXJ0X2VxdWFscyh0ZXN0cy5iZWZvcmUsICdQQVNTJyk7Ci0gICAgICBhc3NlcnRfZXF1
YWxzKHRlc3RzLmFmdGVyLCAnUEFTUycpOwotICAgICAgYXNzZXJ0X2FycmF5X2VxdWFscyhhY3R1
YWxfc2VxdWVuY2UsIGV4cGVjdGVkX3NlcXVlbmNlKTsKLSAgICB9KTsKLX0sICdXYWl0cyBmb3Ig
cHJvbWlzZSB0byBzZXR0bGUnKTsKLQotcHJvbWlzZV90ZXN0KCgpID0+IHsKLSAgdmFyIGV4cGVj
dGVkX3NlcXVlbmNlID0gWwotICAgICdwcm9taXNlX3Rlc3QgMSBiZWdpbicsCi0gICAgJ3Byb21p
c2VfdGVzdCAxIGVuZCcsCi0gICAgJ3Byb21pc2Vfc2V0dXAgYmVnaW4nLAotICAgICdwcm9taXNl
X3NldHVwIGVuZCcsCi0gICAgJ3Byb21pc2VfdGVzdCAyIGJvZHknCi0gIF07Ci0gIHZhciBhY3R1
YWxfc2VxdWVuY2UgPSB3aW5kb3cuYWN0dWFsX3NlcXVlbmNlID0gW107Ci0KLSAgcmV0dXJuIG1h
a2VUZXN0KAotICAgICAgKCkgPT4gewotICAgICAgICBwcm9taXNlX3Rlc3QoKHQpID0+IHsKLSAg
ICAgICAgICBwYXJlbnQuYWN0dWFsX3NlcXVlbmNlLnB1c2goJ3Byb21pc2VfdGVzdCAxIGJlZ2lu
Jyk7Ci0KLSAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCkKLSAgICAgICAgICAgIC50
aGVuKCgpID0+IG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB0LnN0ZXBfdGltZW91dChyZXNvbHZl
LCAzMDApKSkKLSAgICAgICAgICAgIC50aGVuKCgpID0+IHBhcmVudC5hY3R1YWxfc2VxdWVuY2Uu
cHVzaCgncHJvbWlzZV90ZXN0IDEgZW5kJykpOwotICAgICAgICB9LCAnYmVmb3JlJyk7Ci0gICAg
ICAgIHByb21pc2Vfc2V0dXAoKCkgPT4gewotICAgICAgICAgIHBhcmVudC5hY3R1YWxfc2VxdWVu
Y2UucHVzaCgncHJvbWlzZV9zZXR1cCBiZWdpbicpOwotCi0gICAgICAgICAgcmV0dXJuIFByb21p
c2UucmVzb2x2ZSgpCi0gICAgICAgICAgICAudGhlbigoKSA9PiBuZXcgUHJvbWlzZSgocmVzb2x2
ZSkgPT4gc2V0VGltZW91dChyZXNvbHZlLCAzMDApKSkKLSAgICAgICAgICAgIC50aGVuKCgpID0+
IHBhcmVudC5hY3R1YWxfc2VxdWVuY2UucHVzaCgncHJvbWlzZV9zZXR1cCBlbmQnKSk7Ci0gICAg
ICAgIH0pOwotICAgICAgICBwcm9taXNlX3Rlc3QoKCkgPT4gewotICAgICAgICAgIHBhcmVudC5h
Y3R1YWxfc2VxdWVuY2UucHVzaCgncHJvbWlzZV90ZXN0IDIgYm9keScpOwotICAgICAgICAgIHJl
dHVybiBQcm9taXNlLnJlc29sdmUoKTsKLSAgICAgICAgfSwgJ2FmdGVyJyk7Ci0gICAgICB9Ci0g
ICAgKS50aGVuKCh7aGFybmVzcywgdGVzdHN9KSA9PiB7Ci0gICAgICBhc3NlcnRfZXF1YWxzKGhh
cm5lc3MsICdPSycpOwotICAgICAgYXNzZXJ0X2VxdWFscyh0ZXN0cy5iZWZvcmUsICdQQVNTJyk7
Ci0gICAgICBhc3NlcnRfZXF1YWxzKHRlc3RzLmFmdGVyLCAnUEFTUycpOwotICAgICAgYXNzZXJ0
X2FycmF5X2VxdWFscyhhY3R1YWxfc2VxdWVuY2UsIGV4cGVjdGVkX3NlcXVlbmNlKTsKLSAgICB9
KTsKLX0sICdXYWl0cyBmb3IgZXhpc3RpbmcgcHJvbWlzZV90ZXN0IHRvIGNvbXBsZXRlJyk7Ci0K
LXByb21pc2VfdGVzdCgoKSA9PiB7Ci0gIHJldHVybiBtYWtlVGVzdCgKLSAgICAgICgpID0+IHsK
LSAgICAgICAgdmFyIHByb3BlcnRpZXMgPSB7IGFsbG93X3VuY2F1Z2h0X2V4Y2VwdGlvbjogdHJ1
ZSB9OwotICAgICAgICBwcm9taXNlX3Rlc3QoKCkgPT4gewotICAgICAgICAgIHJldHVybiBuZXcg
UHJvbWlzZSgocmVzb2x2ZSkgPT4gewotICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7Ci0g
ICAgICAgICAgICAgIHJlc29sdmUoKTsKLSAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCd0
aGlzIGVycm9yIGlzIGV4cGVjdGVkJyk7Ci0gICAgICAgICAgICB9KTsKLSAgICAgICAgICB9KTsK
LSAgICAgICAgfSwgJ2JlZm9yZScpOwotICAgICAgICBwcm9taXNlX3NldHVwKCgpID0+IFByb21p
c2UucmVzb2x2ZSgpLCBwcm9wZXJ0aWVzKTsKLSAgICAgIH0KLSAgICApLnRoZW4oKHtoYXJuZXNz
LCB0ZXN0c30pID0+IHsKLSAgICAgIGFzc2VydF9lcXVhbHMoaGFybmVzcywgJ0VSUk9SJyk7Ci0g
ICAgICBhc3NlcnRfZXF1YWxzKHRlc3RzLmJlZm9yZSwgJ1BBU1MnKTsKLSAgICB9KTsKLX0sICdE
ZWZlcnMgYXBwbGljYXRpb24gb2Ygc2V0dXAgcHJvcGVydGllcycpOwotPC9zY3JpcHQ+Ci08L2Jv
ZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL3VuaXQvc2luZ2xlX3Rlc3QuaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rl
c3QvdGVzdHMvdW5pdC9zaW5nbGVfdGVzdC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCBmZjc2NmU2NmNlYy4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy91bml0L3NpbmdsZV90
ZXN0Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw5NCArMCwwIEBACi08IURPQ1RZUEUgSFRNTD4K
LTxodG1sPgotPGhlYWQ+Ci0gIDxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KLSAgPG1ldGEgbmFtZT0i
dGltZW91dCIgY29udGVudD0ibG9uZyI+Ci0gIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KLSAgPHNjcmlwdCBzcmM9Ii4uLy4uL25lc3RlZC10ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+Ci0gIDx0aXRsZT5zaW5nbGVfdGVzdDwvdGl0bGU+Ci08L2hlYWQ+
Ci08Ym9keT4KLTxzY3JpcHQ+Ci1wcm9taXNlX3Rlc3QoKCkgPT4gewotICByZXR1cm4gbWFrZVRl
c3QoCi0gICAgICAoKSA9PiB7Ci0gICAgICAgIHNldHVwKHsgc2luZ2xlX3Rlc3Q6IHRydWUgfSk7
Ci0gICAgICAgIGRvbmUoKTsKLSAgICAgIH0KLSAgICApLnRoZW4oKHtoYXJuZXNzLCB0ZXN0c30p
ID0+IHsKLSAgICAgIGFzc2VydF9lcXVhbHMoaGFybmVzcywgJ09LJyk7Ci0gICAgICBhc3NlcnRf
ZXF1YWxzKHRlc3RzWydEb2N1bWVudCB0aXRsZSddLCAnUEFTUycpOwotICAgIH0pOwotfSwgJ0V4
cGVjdGVkIHVzYWdlJyk7Ci0KLXByb21pc2VfdGVzdCgoKSA9PiB7Ci0gIHJldHVybiBtYWtlVGVz
dCgKLSAgICAgICgpID0+IHsKLSAgICAgICAgc2V0dXAoeyBzaW5nbGVfdGVzdDogdHJ1ZSB9KTsK
LSAgICAgICAgdGhyb3cgbmV3IEVycm9yKCd0aGlzIGVycm9yIGlzIGV4cGVjdGVkJyk7Ci0gICAg
ICB9Ci0gICAgKS50aGVuKCh7aGFybmVzcywgdGVzdHN9KSA9PiB7Ci0gICAgICBhc3NlcnRfZXF1
YWxzKGhhcm5lc3MsICdPSycpOwotICAgICAgYXNzZXJ0X2VxdWFscyh0ZXN0c1snRG9jdW1lbnQg
dGl0bGUnXSwgJ0ZBSUwnKTsKLSAgICB9KTsKLX0sICdVbmNhdWdodCBleGNlcHRpb24nKTsKLQot
cHJvbWlzZV90ZXN0KCgpID0+IHsKLSAgcmV0dXJuIG1ha2VUZXN0KAotICAgICAgKCkgPT4gewot
ICAgICAgICBzZXR1cCh7IHNpbmdsZV90ZXN0OiB0cnVlIH0pOwotICAgICAgICBQcm9taXNlLnJl
amVjdChuZXcgRXJyb3IoJ3RoaXMgZXJyb3IgaXMgZXhwZWN0ZWQnKSk7Ci0gICAgICB9Ci0gICAg
KS50aGVuKCh7aGFybmVzcywgdGVzdHN9KSA9PiB7Ci0gICAgICBhc3NlcnRfZXF1YWxzKGhhcm5l
c3MsICdPSycpOwotICAgICAgYXNzZXJ0X2VxdWFscyh0ZXN0c1snRG9jdW1lbnQgdGl0bGUnXSwg
J0ZBSUwnKTsKLSAgICB9KTsKLX0sICdVbmhhbmRsZWQgcmVqZWN0aW9uJyk7Ci0KLXByb21pc2Vf
dGVzdCgoKSA9PiB7Ci0gIHJldHVybiBtYWtlVGVzdCgKLSAgICAgICgpID0+IHsKLSAgICAgICAg
c2V0dXAoeyBzaW5nbGVfdGVzdDogdHJ1ZSB9KTsKLSAgICAgICAgdGVzdChmdW5jdGlvbigpIHt9
LCAnc3luYyB0ZXN0Jyk7Ci0gICAgICB9Ci0gICAgKS50aGVuKCh7aGFybmVzcywgdGVzdHN9KSA9
PiB7Ci0gICAgICBhc3NlcnRfZXF1YWxzKGhhcm5lc3MsICdPSycpOwotICAgICAgYXNzZXJ0X2Vx
dWFscyh0ZXN0c1snRG9jdW1lbnQgdGl0bGUnXSwgJ0ZBSUwnKTsKLSAgICAgIGFzc2VydF9lcXVh
bHMoCi0gICAgICAgIE9iamVjdC5rZXlzKHRlc3RzKS5sZW5ndGgsIDEsICdubyBhZGRpdGlvbmFs
IHN1YnRlc3RzIGNyZWF0ZWQnCi0gICAgICApOwotICAgIH0pOwotfSwgJ0Vycm9uZW91cyB1c2Fn
ZTogc3VidGVzdCBkZWNsYXJhdGlvbiAoc3luY2hyb25vdXMgdGVzdCknKTsKLQotcHJvbWlzZV90
ZXN0KCgpID0+IHsKLSAgcmV0dXJuIG1ha2VUZXN0KAotICAgICAgKCkgPT4gewotICAgICAgICBz
ZXR1cCh7IHNpbmdsZV90ZXN0OiB0cnVlIH0pOwotICAgICAgICBhc3luY190ZXN0KGZ1bmN0aW9u
KHQpIHsgdC5kb25lKCk7IH0sICdhc3luYyB0ZXN0Jyk7Ci0gICAgICB9Ci0gICAgKS50aGVuKCh7
aGFybmVzcywgdGVzdHN9KSA9PiB7Ci0gICAgICBhc3NlcnRfZXF1YWxzKGhhcm5lc3MsICdPSycp
OwotICAgICAgYXNzZXJ0X2VxdWFscyh0ZXN0c1snRG9jdW1lbnQgdGl0bGUnXSwgJ0ZBSUwnKTsK
LSAgICAgIGFzc2VydF9lcXVhbHMoCi0gICAgICAgIE9iamVjdC5rZXlzKHRlc3RzKS5sZW5ndGgs
IDEsICdubyBhZGRpdGlvbmFsIHN1YnRlc3RzIGNyZWF0ZWQnCi0gICAgICApOwotICAgIH0pOwot
fSwgJ0Vycm9uZW91cyB1c2FnZTogc3VidGVzdCBkZWNsYXJhdGlvbiAoYXN5bmNocm9ub3VzIHRl
c3QpJyk7Ci0KLXByb21pc2VfdGVzdCgoKSA9PiB7Ci0gIHJldHVybiBtYWtlVGVzdCgKLSAgICAg
ICgpID0+IHsKLSAgICAgICAgc2V0dXAoeyBzaW5nbGVfdGVzdDogdHJ1ZSB9KTsKLSAgICAgICAg
cHJvbWlzZV90ZXN0KGZ1bmN0aW9uKCkgeyByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7IH0sICdw
cm9taXNlIHRlc3QnKTsKLSAgICAgIH0KLSAgICApLnRoZW4oKHtoYXJuZXNzLCB0ZXN0c30pID0+
IHsKLSAgICAgIGFzc2VydF9lcXVhbHMoaGFybmVzcywgJ09LJyk7Ci0gICAgICBhc3NlcnRfZXF1
YWxzKHRlc3RzWydEb2N1bWVudCB0aXRsZSddLCAnRkFJTCcpOwotICAgICAgYXNzZXJ0X2VxdWFs
cygKLSAgICAgICAgT2JqZWN0LmtleXModGVzdHMpLmxlbmd0aCwgMSwgJ25vIGFkZGl0aW9uYWwg
c3VidGVzdHMgY3JlYXRlZCcKLSAgICAgICk7Ci0gICAgfSk7Ci19LCAnRXJyb25lb3VzIHVzYWdl
OiBzdWJ0ZXN0IGRlY2xhcmF0aW9uIChwcm9taXNlIHRlc3QpJyk7Ci08L3NjcmlwdD4KLTwvYm9k
eT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvdW5pdC90ZXN0LXJldHVybi1yZXN0cmlj
dGlvbnMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3Rlc3QvdGVzdHMvdW5pdC90ZXN0LXJldHVybi1yZXN0cmljdGlvbnMuaHRtbApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjg0NmQ0ZGM0MzAuLjAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3Rlc3QvdGVzdHMvdW5pdC90ZXN0LXJldHVybi1yZXN0cmljdGlvbnMuaHRtbAorKysgL2Rldi9u
dWxsCkBAIC0xLDE1NSArMCwwIEBACi08IURPQ1RZUEUgSFRNTD4KLTxodG1sPgotPGhlYWQ+Ci0g
IDxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KLSAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgotICA8dGl0bGU+UmVzdHJpY3Rpb25zIG9uIHJldHVybiB2YWx1
ZSBmcm9tIGB0ZXN0YDwvdGl0bGU+Ci08L2hlYWQ+Ci08Ym9keT4KLTxzY3JpcHQ+Ci1mdW5jdGlv
biBtYWtlVGVzdCguLi5ib2RpZXMpIHsKLSAgY29uc3QgY2xvc2VTY3JpcHQgPSAnPCcgKyAnL3Nj
cmlwdD4nOwotICBsZXQgc3JjID0gYAotPCFET0NUWVBFIEhUTUw+Ci08aHRtbD4KLTxoZWFkPgot
PHRpdGxlPkRvY3VtZW50IHRpdGxlPC90aXRsZT4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzPyR7TWF0aC5yYW5kb20oKX0iPiR7Y2xvc2VTY3JpcHR9Ci08L2hlYWQ+Ci0K
LTxib2R5PgotPGRpdiBpZD0ibG9nIj48L2Rpdj5gOwotICBib2RpZXMuZm9yRWFjaCgoYm9keSkg
PT4gewotICAgIHNyYyArPSAnPHNjcmlwdD4oJyArIGJvZHkgKyAnKSgpOycgKyBjbG9zZVNjcmlw
dDsKLSAgfSk7Ci0KLSAgY29uc3QgaWZyYW1lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaWZy
YW1lJyk7Ci0KLSAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChpZnJhbWUpOwotICBpZnJhbWUu
Y29udGVudERvY3VtZW50LndyaXRlKHNyYyk7Ci0KLSAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNv
bHZlKSA9PiB7Ci0gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21lc3NhZ2UnLCBmdW5jdGlv
biBvbk1lc3NhZ2UoZSkgewotICAgICAgaWYgKGUuc291cmNlICE9PSBpZnJhbWUuY29udGVudFdp
bmRvdykgewotICAgICAgICByZXR1cm47Ci0gICAgICB9Ci0gICAgICBpZiAoIWUuZGF0YSB8fCBl
LmRhdGEudHlwZSAhPT0nY29tcGxldGUnKSB7Ci0gICAgICAgIHJldHVybjsKLSAgICAgIH0KLSAg
ICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdtZXNzYWdlJywgb25NZXNzYWdlKTsKLSAg
ICAgIHJlc29sdmUoZS5kYXRhKTsKLSAgICB9KTsKLQotICAgIGlmcmFtZS5jb250ZW50RG9jdW1l
bnQuY2xvc2UoKTsKLSAgfSkudGhlbigoeyB0ZXN0cywgc3RhdHVzIH0pID0+IHsKLSAgICBjb25z
dCBzdW1tYXJ5ID0gewotICAgICAgaGFybmVzczogewotICAgICAgICBzdGF0dXM6IGdldEVudW1Q
cm9wKHN0YXR1cywgc3RhdHVzLnN0YXR1cyksCi0gICAgICAgIG1lc3NhZ2U6IHN0YXR1cy5tZXNz
YWdlCi0gICAgICB9LAotICAgICAgdGVzdHM6IHt9Ci0gICAgfTsKLQotICAgIHRlc3RzLmZvckVh
Y2goKHRlc3QpID0+IHsKLSAgICAgIHN1bW1hcnkudGVzdHNbdGVzdC5uYW1lXSA9IGdldEVudW1Q
cm9wKHRlc3QsIHRlc3Quc3RhdHVzKTsKLSAgICB9KTsKLQotICAgIHJldHVybiBzdW1tYXJ5Owot
ICB9KTsKLX0KLQotZnVuY3Rpb24gZ2V0RW51bVByb3Aob2JqZWN0LCB2YWx1ZSkgewotICBmb3Ig
KGxldCBwcm9wZXJ0eSBpbiBvYmplY3QpIHsKLSAgICBpZiAoIS9eW0EtWl0rJC8udGVzdChwcm9w
ZXJ0eSkpIHsKLSAgICAgIGNvbnRpbnVlOwotICAgIH0KLQotICAgIGlmIChvYmplY3RbcHJvcGVy
dHldID09PSB2YWx1ZSkgewotICAgICAgcmV0dXJuIHByb3BlcnR5OwotICAgIH0KLSAgfQotfQot
Ci1wcm9taXNlX3Rlc3QoKCkgPT4gewotICByZXR1cm4gbWFrZVRlc3QoCi0gICAgICAoKSA9PiB7
Ci0gICAgICAgIHRlc3QoKCkgPT4gdW5kZWZpbmVkLCAnYmVmb3JlJyk7Ci0gICAgICAgIHRlc3Qo
KCkgPT4gbnVsbCwgJ251bGwnKTsKLSAgICAgICAgdGVzdCgoKSA9PiB1bmRlZmluZWQsICdhZnRl
cicpOwotICAgICAgfQotICAgICkudGhlbigoe2hhcm5lc3MsIHRlc3RzfSkgPT4gewotICAgICAg
YXNzZXJ0X2VxdWFscyhoYXJuZXNzLnN0YXR1cywgJ0VSUk9SJyk7Ci0gICAgICBhc3NlcnRfZXF1
YWxzKAotICAgICAgICBoYXJuZXNzLm1lc3NhZ2UsCi0gICAgICAgICdUZXN0IG5hbWVkICJudWxs
IiBpbmFwcHJvcHJpYXRlbHkgcmV0dXJuZWQgYSB2YWx1ZScKLSAgICAgICk7Ci0gICAgICBhc3Nl
cnRfZXF1YWxzKHRlc3RzLmJlZm9yZSwgJ1BBU1MnKTsKLSAgICAgIGFzc2VydF9lcXVhbHModGVz
dHMubnVsbCwgJ1BBU1MnKTsKLSAgICAgIGFzc2VydF9lcXVhbHModGVzdHMuYWZ0ZXIsICdQQVNT
Jyk7Ci0gICAgfSk7Ci19LCAndGVzdCByZXR1cm5pbmcgYG51bGxgJyk7Ci0KLXByb21pc2VfdGVz
dCgoKSA9PiB7Ci0gIHJldHVybiBtYWtlVGVzdCgKLSAgICAgICgpID0+IHsKLSAgICAgICAgdGVz
dCgoKSA9PiB1bmRlZmluZWQsICdiZWZvcmUnKTsKLSAgICAgICAgdGVzdCgoKSA9PiAoe30pLCAn
b2JqZWN0Jyk7Ci0gICAgICAgIHRlc3QoKCkgPT4gdW5kZWZpbmVkLCAnYWZ0ZXInKTsKLSAgICAg
IH0KLSAgICApLnRoZW4oKHtoYXJuZXNzLCB0ZXN0c30pID0+IHsKLSAgICAgIGFzc2VydF9lcXVh
bHMoaGFybmVzcy5zdGF0dXMsICdFUlJPUicpOwotICAgICAgYXNzZXJ0X2VxdWFscygKLSAgICAg
ICAgaGFybmVzcy5tZXNzYWdlLAotICAgICAgICAnVGVzdCBuYW1lZCAib2JqZWN0IiBpbmFwcHJv
cHJpYXRlbHkgcmV0dXJuZWQgYSB2YWx1ZScKLSAgICAgICk7Ci0gICAgICBhc3NlcnRfZXF1YWxz
KHRlc3RzLmJlZm9yZSwgJ1BBU1MnKTsKLSAgICAgIGFzc2VydF9lcXVhbHModGVzdHMub2JqZWN0
LCAnUEFTUycpOwotICAgICAgYXNzZXJ0X2VxdWFscyh0ZXN0cy5hZnRlciwgJ1BBU1MnKTsKLSAg
ICB9KTsKLX0sICd0ZXN0IHJldHVybmluZyBhbiBvcmRpbmFyeSBvYmplY3QnKTsKLQotcHJvbWlz
ZV90ZXN0KCgpID0+IHsKLSAgcmV0dXJuIG1ha2VUZXN0KAotICAgICAgKCkgPT4gewotICAgICAg
ICB0ZXN0KCgpID0+IHVuZGVmaW5lZCwgJ2JlZm9yZScpOwotICAgICAgICB0ZXN0KCgpID0+ICh7
IHRoZW4oKSB7fSB9KSwgJ3RoZW5hYmxlJyk7Ci0gICAgICAgIHRlc3QoKCkgPT4gdW5kZWZpbmVk
LCAnYWZ0ZXInKTsKLSAgICAgIH0KLSAgICApLnRoZW4oKHtoYXJuZXNzLCB0ZXN0c30pID0+IHsK
LSAgICAgIGFzc2VydF9lcXVhbHMoaGFybmVzcy5zdGF0dXMsICdFUlJPUicpOwotICAgICAgYXNz
ZXJ0X2VxdWFscygKLSAgICAgICAgaGFybmVzcy5tZXNzYWdlLAotICAgICAgICAnVGVzdCBuYW1l
ZCAidGhlbmFibGUiIGluYXBwcm9wcmlhdGVseSByZXR1cm5lZCBhIHZhbHVlLCBjb25zaWRlciB1
c2luZyBgcHJvbWlzZV90ZXN0YCBpbnN0ZWFkJwotICAgICAgKTsKLSAgICAgIGFzc2VydF9lcXVh
bHModGVzdHMuYmVmb3JlLCAnUEFTUycpOwotICAgICAgYXNzZXJ0X2VxdWFscyh0ZXN0cy50aGVu
YWJsZSwgJ1BBU1MnKTsKLSAgICAgIGFzc2VydF9lcXVhbHModGVzdHMuYWZ0ZXIsICdQQVNTJyk7
Ci0gICAgfSk7Ci19LCAndGVzdCByZXR1cm5pbmcgYSB0aGVuYWJsZSBvYmplY3QnKTsKLQotcHJv
bWlzZV90ZXN0KCgpID0+IHsKLSAgcmV0dXJuIG1ha2VUZXN0KAotICAgICAgKCkgPT4gewotICAg
ICAgICB0ZXN0KCgpID0+IHVuZGVmaW5lZCwgJ2JlZm9yZScpOwotICAgICAgICB0ZXN0KCgpID0+
IHsKLSAgICAgICAgICBjb25zdCBpZnJhbWUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpZnJh
bWUnKTsKLSAgICAgICAgICBpZnJhbWUuc2V0QXR0cmlidXRlKCdzYW5kYm94JywgJycpOwotICAg
ICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaWZyYW1lKTsKLSAgICAgICAgICByZXR1
cm4gaWZyYW1lLmNvbnRlbnRXaW5kb3c7Ci0gICAgICAgIH0sICdyZXN0cmljdGVkJyk7Ci0gICAg
ICAgIHRlc3QoKCkgPT4gdW5kZWZpbmVkLCAnYWZ0ZXInKTsKLSAgICAgIH0KLSAgICApLnRoZW4o
KHtoYXJuZXNzLCB0ZXN0c30pID0+IHsKLSAgICAgIGFzc2VydF9lcXVhbHMoaGFybmVzcy5zdGF0
dXMsICdFUlJPUicpOwotICAgICAgYXNzZXJ0X2VxdWFscygKLSAgICAgICAgaGFybmVzcy5tZXNz
YWdlLAotICAgICAgICAnVGVzdCBuYW1lZCAicmVzdHJpY3RlZCIgaW5hcHByb3ByaWF0ZWx5IHJl
dHVybmVkIGEgdmFsdWUnCi0gICAgICApOwotICAgICAgYXNzZXJ0X2VxdWFscyh0ZXN0cy5iZWZv
cmUsICdQQVNTJyk7Ci0gICAgICBhc3NlcnRfZXF1YWxzKHRlc3RzLnJlc3RyaWN0ZWQsICdQQVNT
Jyk7Ci0gICAgICBhc3NlcnRfZXF1YWxzKHRlc3RzLmFmdGVyLCAnUEFTUycpOwotICAgIH0pOwot
fSwgJ3Rlc3QgcmV0dXJuaW5nIGEgcmVzdHJpY3RlZCBvYmplY3QnKTsKLTwvc2NyaXB0PgotPC9i
b2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy91bml0L3Rocm93aW5nLWFzc2VydGlv
bnMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3Rlc3QvdGVzdHMvdW5pdC90aHJvd2luZy1hc3NlcnRpb25zLmh0bWwKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IGEzNmE1NjA0M2NjLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rl
c3RzL3VuaXQvdGhyb3dpbmctYXNzZXJ0aW9ucy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMjY4
ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLSAgPG1ldGEgY2hhcnNl
dD0idXRmLTgiPgotICA8bWV0YSBuYW1lPSJ0aW1lb3V0IiBjb250ZW50PSJsb25nIj4KLSAgPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotICA8dGl0bGU+
VGVzdCB0aGUgbWV0aG9kcyB0aGF0IG1ha2UgYXNzZXJ0aW9ucyBhYm91dCBleGNlcHRpb25zPC90
aXRsZT4KLTwvaGVhZD4KLTxib2R5PgotPHNjcmlwdD4KLWZ1bmN0aW9uIG1ha2VUZXN0KC4uLmJv
ZGllcykgewotICBjb25zdCBjbG9zZVNjcmlwdCA9ICc8JyArICcvc2NyaXB0Pic7Ci0gIGxldCBz
cmMgPSBgCi08IURPQ1RZUEUgSFRNTD4KLTxodG1sPgotPGhlYWQ+Ci08dGl0bGU+RG9jdW1lbnQg
dGl0bGU8L3RpdGxlPgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanM/JHtN
YXRoLnJhbmRvbSgpfSI+JHtjbG9zZVNjcmlwdH0KLTwvaGVhZD4KLQotPGJvZHk+Ci08ZGl2IGlk
PSJsb2ciPjwvZGl2PmA7Ci0gIGJvZGllcy5mb3JFYWNoKChib2R5KSA9PiB7Ci0gICAgc3JjICs9
ICc8c2NyaXB0PignICsgYm9keSArICcpKCk7JyArIGNsb3NlU2NyaXB0OwotICB9KTsKLQotICBj
b25zdCBpZnJhbWUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpZnJhbWUnKTsKLQotICBkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKGlmcmFtZSk7Ci0gIGlmcmFtZS5jb250ZW50RG9jdW1lbnQu
d3JpdGUoc3JjKTsKLQotICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHsKLSAgICB3
aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbWVzc2FnZScsIGZ1bmN0aW9uIG9uTWVzc2FnZShlKSB7
Ci0gICAgICBpZiAoZS5zb3VyY2UgIT09IGlmcmFtZS5jb250ZW50V2luZG93KSB7Ci0gICAgICAg
IHJldHVybjsKLSAgICAgIH0KLSAgICAgIGlmICghZS5kYXRhIHx8IGUuZGF0YS50eXBlICE9PSdj
b21wbGV0ZScpIHsKLSAgICAgICAgcmV0dXJuOwotICAgICAgfQotICAgICAgd2luZG93LnJlbW92
ZUV2ZW50TGlzdGVuZXIoJ21lc3NhZ2UnLCBvbk1lc3NhZ2UpOwotICAgICAgcmVzb2x2ZShlLmRh
dGEpOwotICAgIH0pOwotCi0gICAgaWZyYW1lLmNvbnRlbnREb2N1bWVudC5jbG9zZSgpOwotICB9
KS50aGVuKCh7IHRlc3RzLCBzdGF0dXMgfSkgPT4gewotICAgIGNvbnN0IHN1bW1hcnkgPSB7Ci0g
ICAgICBoYXJuZXNzOiBnZXRFbnVtUHJvcChzdGF0dXMsIHN0YXR1cy5zdGF0dXMpLAotICAgICAg
dGVzdHM6IHt9Ci0gICAgfTsKLQotICAgIHRlc3RzLmZvckVhY2goKHRlc3QpID0+IHsKLSAgICAg
IHN1bW1hcnkudGVzdHNbdGVzdC5uYW1lXSA9IGdldEVudW1Qcm9wKHRlc3QsIHRlc3Quc3RhdHVz
KTsKLSAgICB9KTsKLQotICAgIHJldHVybiBzdW1tYXJ5OwotICB9KTsKLX0KLQotZnVuY3Rpb24g
Z2V0RW51bVByb3Aob2JqZWN0LCB2YWx1ZSkgewotICBmb3IgKGxldCBwcm9wZXJ0eSBpbiBvYmpl
Y3QpIHsKLSAgICBpZiAoIS9eW0EtWl0rJC8udGVzdChwcm9wZXJ0eSkpIHsKLSAgICAgIGNvbnRp
bnVlOwotICAgIH0KLQotICAgIGlmIChvYmplY3RbcHJvcGVydHldID09PSB2YWx1ZSkgewotICAg
ICAgcmV0dXJuIHByb3BlcnR5OwotICAgIH0KLSAgfQotfQotCi1wcm9taXNlX3Rlc3QoKCkgPT4g
ewotICByZXR1cm4gbWFrZVRlc3QoKCkgPT4gewotICAgIHRlc3QoKCkgPT4gewotICAgICAgYXNz
ZXJ0X3Rocm93c19qcyhUeXBlRXJyb3IsICgpID0+IHsgdGhyb3cgbmV3IFR5cGVFcnJvcigpOyB9
KTsKLSAgICB9KTsKLSAgfSkudGhlbigoe2hhcm5lc3MsIHRlc3RzfSkgPT4gewotICAgIGFzc2Vy
dF9lcXVhbHMoaGFybmVzcywgJ09LJyk7Ci0gICAgYXNzZXJ0X2VxdWFscyh0ZXN0c1snRG9jdW1l
bnQgdGl0bGUnXSwgJ1BBU1MnKTsKLSAgfSk7Ci19LCAnYXNzZXJ0X3Rocm93c19qcyBvbiBhIFR5
cGVFcnJvcicpOwotCi1wcm9taXNlX3Rlc3QoKCkgPT4gewotICByZXR1cm4gbWFrZVRlc3QoKCkg
PT4gewotICAgIHRlc3QoKCkgPT4gewotICAgICAgYXNzZXJ0X3Rocm93c19qcyhSYW5nZUVycm9y
LCAoKSA9PiB7IHRocm93IG5ldyBSYW5nZUVycm9yKCk7IH0pOwotICAgIH0pOwotICB9KS50aGVu
KCh7aGFybmVzcywgdGVzdHN9KSA9PiB7Ci0gICAgYXNzZXJ0X2VxdWFscyhoYXJuZXNzLCAnT0sn
KTsKLSAgICBhc3NlcnRfZXF1YWxzKHRlc3RzWydEb2N1bWVudCB0aXRsZSddLCAnUEFTUycpOwot
ICB9KTsKLX0sICdhc3NlcnRfdGhyb3dzX2pzIG9uIGEgUmFuZ2VFcnJvcicpOwotCi1wcm9taXNl
X3Rlc3QoKCkgPT4gewotICByZXR1cm4gbWFrZVRlc3QoKCkgPT4gewotICAgIHRlc3QoKCkgPT4g
ewotICAgICAgYXNzZXJ0X3Rocm93c19qcyhUeXBlRXJyb3IsICgpID0+IHsgdGhyb3cgbmV3IFJh
bmdlRXJyb3IoKTsgfSk7Ci0gICAgfSk7Ci0gIH0pLnRoZW4oKHtoYXJuZXNzLCB0ZXN0c30pID0+
IHsKLSAgICBhc3NlcnRfZXF1YWxzKGhhcm5lc3MsICdPSycpOwotICAgIGFzc2VydF9lcXVhbHMo
dGVzdHNbJ0RvY3VtZW50IHRpdGxlJ10sICdGQUlMJyk7Ci0gIH0pOwotfSwgJ2Fzc2VydF90aHJv
d3NfanMgb24gYSBUeXBlRXJyb3Igd2hlbiBSYW5nZUVycm9yIGlzIHRocm93bicpOwotCi1wcm9t
aXNlX3Rlc3QoKCkgPT4gewotICByZXR1cm4gbWFrZVRlc3QoKCkgPT4gewotICAgIHRlc3QoKCkg
PT4gewotICAgICAgYXNzZXJ0X3Rocm93c19qcyhFcnJvciwgKCkgPT4geyB0aHJvdyBuZXcgVHlw
ZUVycm9yKCk7IH0pOwotICAgIH0pOwotICB9KS50aGVuKCh7aGFybmVzcywgdGVzdHN9KSA9PiB7
Ci0gICAgYXNzZXJ0X2VxdWFscyhoYXJuZXNzLCAnT0snKTsKLSAgICBhc3NlcnRfZXF1YWxzKHRl
c3RzWydEb2N1bWVudCB0aXRsZSddLCAnRkFJTCcpOwotICB9KTsKLX0sICdhc3NlcnRfdGhyb3dz
X2pzIG9uIGFuIEVycm9yIHdoZW4gVHlwZUVycm9yIGlzIHRocm93bicpOwotCi1wcm9taXNlX3Rl
c3QoKCkgPT4gewotICByZXR1cm4gbWFrZVRlc3QoKCkgPT4gewotICAgIHRlc3QoKCkgPT4gewot
ICAgICAgYXNzZXJ0X3Rocm93c19qcyhFcnJvciwKLSAgICAgICAgICAgICAgICAgICAgICAgKCkg
PT4geyB0aHJvdyBuZXcgRE9NRXhjZXB0aW9uKCJoZWxsbyIsICJFcnJvciIpOyB9KTsKLSAgICB9
KTsKLSAgfSkudGhlbigoe2hhcm5lc3MsIHRlc3RzfSkgPT4gewotICAgIGFzc2VydF9lcXVhbHMo
aGFybmVzcywgJ09LJyk7Ci0gICAgYXNzZXJ0X2VxdWFscyh0ZXN0c1snRG9jdW1lbnQgdGl0bGUn
XSwgJ0ZBSUwnKTsKLSAgfSk7Ci19LCAnYXNzZXJ0X3Rocm93c19qcyBvbiBhbiBFcnJvciB3aGVu
IGEgRE9NRXhjZXB0aW9uIGlzIHRocm93bicpOwotCi1wcm9taXNlX3Rlc3QoKCkgPT4gewotICBy
ZXR1cm4gbWFrZVRlc3QoKCkgPT4gewotICAgIHRlc3QoKCkgPT4gewotICAgICAgYXNzZXJ0X3Ro
cm93c19qcyhTeW50YXhFcnJvciwKLSAgICAgICAgICAgICAgICAgICAgICAgKCkgPT4geyB0aHJv
dyBuZXcgRE9NRXhjZXB0aW9uKCJoZXkiLCAiU3ludGF4RXJyb3IiKTsgfSk7Ci0gICAgfSk7Ci0g
IH0pLnRoZW4oKHtoYXJuZXNzLCB0ZXN0c30pID0+IHsKLSAgICBhc3NlcnRfZXF1YWxzKGhhcm5l
c3MsICdPSycpOwotICAgIGFzc2VydF9lcXVhbHModGVzdHNbJ0RvY3VtZW50IHRpdGxlJ10sICdG
QUlMJyk7Ci0gIH0pOwotfSwgJ2Fzc2VydF90aHJvd3NfanMgb24gYSBTeW50YXhFcnJvciB3aGVu
IGEgRE9NRXhjZXB0aW9uIGlzIHRocm93bicpOwotCi1wcm9taXNlX3Rlc3QoKCkgPT4gewotICBy
ZXR1cm4gbWFrZVRlc3QoKCkgPT4gewotICAgIHRlc3QoKCkgPT4gewotICAgICAgYXNzZXJ0X3Ro
cm93c19kb20oIlN5bnRheEVycm9yIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICgpID0+IHsg
dGhyb3cgbmV3IERPTUV4Y2VwdGlvbigieCIsICJTeW50YXhFcnJvciIpOyB9KTsKLSAgICB9KTsK
LSAgfSkudGhlbigoe2hhcm5lc3MsIHRlc3RzfSkgPT4gewotICAgIGFzc2VydF9lcXVhbHMoaGFy
bmVzcywgJ09LJyk7Ci0gICAgYXNzZXJ0X2VxdWFscyh0ZXN0c1snRG9jdW1lbnQgdGl0bGUnXSwg
J1BBU1MnKTsKLSAgfSk7Ci19LCAnYXNzZXJ0X3Rocm93c19kb20gYmFzaWMgc2FuaXR5Jyk7Ci0K
LXByb21pc2VfdGVzdCgoKSA9PiB7Ci0gIHJldHVybiBtYWtlVGVzdCgoKSA9PiB7Ci0gICAgdGVz
dCgoKSA9PiB7Ci0gICAgICBhc3NlcnRfdGhyb3dzX2RvbSgxMiwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICgpID0+IHsgdGhyb3cgbmV3IERPTUV4Y2VwdGlvbigieCIsICJTeW50YXhFcnJvciIp
OyB9KTsKLSAgICB9KTsKLSAgfSkudGhlbigoe2hhcm5lc3MsIHRlc3RzfSkgPT4gewotICAgIGFz
c2VydF9lcXVhbHMoaGFybmVzcywgJ09LJyk7Ci0gICAgYXNzZXJ0X2VxdWFscyh0ZXN0c1snRG9j
dW1lbnQgdGl0bGUnXSwgJ1BBU1MnKTsKLSAgfSk7Ci19LCAnYXNzZXJ0X3Rocm93c19kb20gd2l0
aCBudW1lcmljIGNvZGUnKTsKLQotcHJvbWlzZV90ZXN0KCgpID0+IHsKLSAgcmV0dXJuIG1ha2VU
ZXN0KCgpID0+IHsKLSAgICB0ZXN0KCgpID0+IHsKLSAgICAgIGFzc2VydF90aHJvd3NfZG9tKCJT
WU5UQVhfRVJSIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICgpID0+IHsgdGhyb3cgbmV3IERP
TUV4Y2VwdGlvbigieCIsICJTeW50YXhFcnJvciIpOyB9KTsKLSAgICB9KTsKLSAgfSkudGhlbigo
e2hhcm5lc3MsIHRlc3RzfSkgPT4gewotICAgIGFzc2VydF9lcXVhbHMoaGFybmVzcywgJ09LJyk7
Ci0gICAgYXNzZXJ0X2VxdWFscyh0ZXN0c1snRG9jdW1lbnQgdGl0bGUnXSwgJ1BBU1MnKTsKLSAg
fSk7Ci19LCAnYXNzZXJ0X3Rocm93c19kb20gd2l0aCBzdHJpbmcgbmFtZSBmb3IgY29kZScpOwot
Ci1wcm9taXNlX3Rlc3QoKCkgPT4gewotICByZXR1cm4gbWFrZVRlc3QoKCkgPT4gewotICAgIHRl
c3QoKCkgPT4gewotICAgICAgYXNzZXJ0X3Rocm93c19kb20oIkRhdGFFcnJvciIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAoKSA9PiB7IHRocm93IG5ldyBET01FeGNlcHRpb24oIngiLCAiRGF0
YUVycm9yIik7IH0pOwotICAgIH0pOwotICB9KS50aGVuKCh7aGFybmVzcywgdGVzdHN9KSA9PiB7
Ci0gICAgYXNzZXJ0X2VxdWFscyhoYXJuZXNzLCAnT0snKTsKLSAgICBhc3NlcnRfZXF1YWxzKHRl
c3RzWydEb2N1bWVudCB0aXRsZSddLCAnUEFTUycpOwotICB9KTsKLX0sICdhc3NlcnRfdGhyb3dz
X2RvbSBmb3IgYSBjb2RlLWxlc3MgRE9NRXhjZXB0aW9uIHR5cGUnKTsKLQotcHJvbWlzZV90ZXN0
KCgpID0+IHsKLSAgcmV0dXJuIG1ha2VUZXN0KCgpID0+IHsKLSAgICB0ZXN0KCgpID0+IHsKLSAg
ICAgIGFzc2VydF90aHJvd3NfZG9tKCJOb1N1Y2hFcnJvciIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAoKSA9PiB7IHRocm93IG5ldyBET01FeGNlcHRpb24oIngiLCAiTm9TdWNoRXJyb3IiKTsg
fSk7Ci0gICAgfSk7Ci0gIH0pLnRoZW4oKHtoYXJuZXNzLCB0ZXN0c30pID0+IHsKLSAgICBhc3Nl
cnRfZXF1YWxzKGhhcm5lc3MsICdPSycpOwotICAgIGFzc2VydF9lcXVhbHModGVzdHNbJ0RvY3Vt
ZW50IHRpdGxlJ10sICdGQUlMJyk7Ci0gIH0pOwotfSwgJ2Fzc2VydF90aHJvd3NfZG9tIGZvciBh
IG5vbmV4aXN0ZW50IERPTUV4Y2VwdGlvbiB0eXBlJyk7Ci0KLXByb21pc2VfdGVzdCgoKSA9PiB7
Ci0gIHJldHVybiBtYWtlVGVzdCgoKSA9PiB7Ci0gICAgdGVzdCgoKSA9PiB7Ci0gICAgICBhc3Nl
cnRfdGhyb3dzX2RvbSgiU3ludGF4RXJyb3IiLCAoKSA9PiB7IHRocm93IG5ldyBTeW50YXhFcnJv
cigpOyB9KTsKLSAgICB9KTsKLSAgfSkudGhlbigoe2hhcm5lc3MsIHRlc3RzfSkgPT4gewotICAg
IGFzc2VydF9lcXVhbHMoaGFybmVzcywgJ09LJyk7Ci0gICAgYXNzZXJ0X2VxdWFscyh0ZXN0c1sn
RG9jdW1lbnQgdGl0bGUnXSwgJ0ZBSUwnKTsKLSAgfSk7Ci19LCAnYXNzZXJ0X3Rocm93c19kb20g
d2hlbiBhIG5vbi1ET00gZXhjZXB0aW9uIGlzIHRocm93bicpOwotCi1wcm9taXNlX3Rlc3QoKCkg
PT4gewotICByZXR1cm4gbWFrZVRlc3QoKCkgPT4gewotICAgIHRlc3QoKCkgPT4gewotICAgICAg
YXNzZXJ0X3Rocm93c19leGFjdGx5KDUsICgpID0+IHsgdGhyb3cgNTsgfSk7Ci0gICAgfSk7Ci0g
IH0pLnRoZW4oKHtoYXJuZXNzLCB0ZXN0c30pID0+IHsKLSAgICBhc3NlcnRfZXF1YWxzKGhhcm5l
c3MsICdPSycpOwotICAgIGFzc2VydF9lcXVhbHModGVzdHNbJ0RvY3VtZW50IHRpdGxlJ10sICdQ
QVNTJyk7Ci0gIH0pOwotfSwgJ2Fzc2VydF90aHJvd3NfZXhhY3RseSB3aXRoIG51bWJlcicpOwot
Ci1wcm9taXNlX3Rlc3QoKCkgPT4gewotICByZXR1cm4gbWFrZVRlc3QoKCkgPT4gewotICAgIHRl
c3QoKCkgPT4gewotICAgICAgYXNzZXJ0X3Rocm93c19leGFjdGx5KCJmb28iLCAoKSA9PiB7IHRo
cm93ICJmb28iOyB9KTsKLSAgICB9KTsKLSAgfSkudGhlbigoe2hhcm5lc3MsIHRlc3RzfSkgPT4g
ewotICAgIGFzc2VydF9lcXVhbHMoaGFybmVzcywgJ09LJyk7Ci0gICAgYXNzZXJ0X2VxdWFscyh0
ZXN0c1snRG9jdW1lbnQgdGl0bGUnXSwgJ1BBU1MnKTsKLSAgfSk7Ci19LCAnYXNzZXJ0X3Rocm93
c19leGFjdGx5IHdpdGggc3RyaW5nJyk7Ci0KLXByb21pc2VfdGVzdCgoKSA9PiB7Ci0gIHJldHVy
biBtYWtlVGVzdCgoKSA9PiB7Ci0gICAgdGVzdCgoKSA9PiB7Ci0gICAgICBhc3NlcnRfdGhyb3dz
X2V4YWN0bHkoe30sICgpID0+IHsgdGhyb3cge307IH0pOwotICAgIH0pOwotICB9KS50aGVuKCh7
aGFybmVzcywgdGVzdHN9KSA9PiB7Ci0gICAgYXNzZXJ0X2VxdWFscyhoYXJuZXNzLCAnT0snKTsK
LSAgICBhc3NlcnRfZXF1YWxzKHRlc3RzWydEb2N1bWVudCB0aXRsZSddLCAnRkFJTCcpOwotICB9
KTsKLX0sICdhc3NlcnRfdGhyb3dzX2V4YWN0bHkgd2l0aCBkaWZmZXJlbnQgb2JqZWN0cycpOwot
Ci1wcm9taXNlX3Rlc3QoKCkgPT4gewotICByZXR1cm4gbWFrZVRlc3QoKCkgPT4gewotICAgIHRl
c3QoKCkgPT4gewotICAgICAgdmFyIG9iaiA9IHt9OwotICAgICAgYXNzZXJ0X3Rocm93c19leGFj
dGx5KG9iaiwgKCkgPT4geyB0aHJvdyBvYmo7IH0pOwotICAgIH0pOwotICB9KS50aGVuKCh7aGFy
bmVzcywgdGVzdHN9KSA9PiB7Ci0gICAgYXNzZXJ0X2VxdWFscyhoYXJuZXNzLCAnT0snKTsKLSAg
ICBhc3NlcnRfZXF1YWxzKHRlc3RzWydEb2N1bWVudCB0aXRsZSddLCAnUEFTUycpOwotICB9KTsK
LX0sICdhc3NlcnRfdGhyb3dzX2V4YWN0bHkgd2l0aCBzYW1lIG9iamVjdCcpOwotCi1wcm9taXNl
X3Rlc3QoKCkgPT4gewotICByZXR1cm4gbWFrZVRlc3QoKCkgPT4gewotICAgIHRlc3QoKCkgPT4g
ewotICAgICAgYXNzZXJ0X3Rocm93c19leGFjdGx5KFR5cGVFcnJvciwgKCkgPT4geyB0aHJvdyBu
ZXcgVHlwZUVycm9yOyB9KTsKLSAgICB9KTsKLSAgfSkudGhlbigoe2hhcm5lc3MsIHRlc3RzfSkg
PT4gewotICAgIGFzc2VydF9lcXVhbHMoaGFybmVzcywgJ09LJyk7Ci0gICAgYXNzZXJ0X2VxdWFs
cyh0ZXN0c1snRG9jdW1lbnQgdGl0bGUnXSwgJ0ZBSUwnKTsKLSAgfSk7Ci19LCAnYXNzZXJ0X3Ro
cm93c19leGFjdGx5IHdpdGggYm9ndXMgVHlwZUVycm9yIGJpdHMgJyk7Ci0KLTwvc2NyaXB0Pgot
PC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy91bml0L3VucGFpcmVkLXN1cnJv
Z2F0ZXMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3Rlc3QvdGVzdHMvdW5pdC91bnBhaXJlZC1zdXJyb2dhdGVzLmh0bWwKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDFiMTYyZmU3MWQyLi4wMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0
L3Rlc3RzL3VuaXQvdW5wYWlyZWQtc3Vycm9nYXRlcy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEs
MTM4ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLSAgPG1ldGEgY2hh
cnNldD0idXRmLTgiPgotICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+Ci0gIDx0aXRsZT5SZXN0cmljdGlvbnMgb24gcmV0dXJuIHZhbHVlIGZyb20gYHRl
c3RgPC90aXRsZT4KLTwvaGVhZD4KLTxib2R5PgotPHNjcmlwdD4KLWZ1bmN0aW9uIG1ha2VUZXN0
KC4uLmJvZGllcykgewotICBjb25zdCBjbG9zZVNjcmlwdCA9ICc8JyArICcvc2NyaXB0Pic7Ci0g
IGxldCBzcmMgPSBgCi08IURPQ1RZUEUgSFRNTD4KLTxodG1sPgotPGhlYWQ+Ci08dGl0bGU+RG9j
dW1lbnQgdGl0bGU8L3RpdGxlPgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anM/JHtNYXRoLnJhbmRvbSgpfSI+JHtjbG9zZVNjcmlwdH0KLTwvaGVhZD4KLQotPGJvZHk+Ci08
ZGl2IGlkPSJsb2ciPjwvZGl2PmA7Ci0gIGJvZGllcy5mb3JFYWNoKChib2R5KSA9PiB7Ci0gICAg
c3JjICs9ICc8c2NyaXB0PignICsgYm9keSArICcpKCk7JyArIGNsb3NlU2NyaXB0OwotICB9KTsK
LQotICBjb25zdCBpZnJhbWUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpZnJhbWUnKTsKLQot
ICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGlmcmFtZSk7Ci0gIGlmcmFtZS5jb250ZW50RG9j
dW1lbnQud3JpdGUoc3JjKTsKLQotICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHsK
LSAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbWVzc2FnZScsIGZ1bmN0aW9uIG9uTWVzc2Fn
ZShlKSB7Ci0gICAgICBpZiAoZS5zb3VyY2UgIT09IGlmcmFtZS5jb250ZW50V2luZG93KSB7Ci0g
ICAgICAgIHJldHVybjsKLSAgICAgIH0KLSAgICAgIGlmICghZS5kYXRhIHx8IGUuZGF0YS50eXBl
ICE9PSdjb21wbGV0ZScpIHsKLSAgICAgICAgcmV0dXJuOwotICAgICAgfQotICAgICAgd2luZG93
LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21lc3NhZ2UnLCBvbk1lc3NhZ2UpOwotICAgICAgcmVzb2x2
ZShlLmRhdGEpOwotICAgIH0pOwotCi0gICAgaWZyYW1lLmNvbnRlbnREb2N1bWVudC5jbG9zZSgp
OwotICB9KS50aGVuKCh7IHRlc3RzLCBzdGF0dXMgfSkgPT4gewotICAgIGNvbnN0IHN1bW1hcnkg
PSB7Ci0gICAgICBoYXJuZXNzOiB7Ci0gICAgICAgIHN0YXR1czogZ2V0RW51bVByb3Aoc3RhdHVz
LCBzdGF0dXMuc3RhdHVzKSwKLSAgICAgICAgbWVzc2FnZTogc3RhdHVzLm1lc3NhZ2UKLSAgICAg
IH0sCi0gICAgICB0ZXN0czoge30KLSAgICB9OwotCi0gICAgdGVzdHMuZm9yRWFjaCgodGVzdCkg
PT4gewotICAgICAgc3VtbWFyeS50ZXN0c1t0ZXN0Lm5hbWVdID0gZ2V0RW51bVByb3AodGVzdCwg
dGVzdC5zdGF0dXMpOwotICAgIH0pOwotCi0gICAgcmV0dXJuIHN1bW1hcnk7Ci0gIH0pOwotfQot
Ci1mdW5jdGlvbiBnZXRFbnVtUHJvcChvYmplY3QsIHZhbHVlKSB7Ci0gIGZvciAobGV0IHByb3Bl
cnR5IGluIG9iamVjdCkgewotICAgIGlmICghL15bQS1aXSskLy50ZXN0KHByb3BlcnR5KSkgewot
ICAgICAgY29udGludWU7Ci0gICAgfQotCi0gICAgaWYgKG9iamVjdFtwcm9wZXJ0eV0gPT09IHZh
bHVlKSB7Ci0gICAgICByZXR1cm4gcHJvcGVydHk7Ci0gICAgfQotICB9Ci19Ci0KLXByb21pc2Vf
dGVzdCgoKSA9PiB7Ci0gIHJldHVybiBtYWtlVGVzdCgKLSAgICAgICgpID0+IHsKLSAgICAgICAg
dGVzdCgoKSA9PiB7fSwgJ2JlZm9yZScpOwotICAgICAgICB0ZXN0KCgpID0+IHt9LCAnVStkN2Zm
IGlzIG5vdCBtb2RpZmllZDogXHVkN2ZmJyk7Ci0gICAgICAgIHRlc3QoKCkgPT4ge30sICdVK2Uw
MDAgaXMgbm90IG1vZGlmaWVkOiBcdWUwMDAnKTsKLSAgICAgICAgdGVzdCgoKSA9PiB7fSwgJ2Fm
dGVyJyk7Ci0gICAgICB9Ci0gICAgKS50aGVuKCh7aGFybmVzcywgdGVzdHN9KSA9PiB7Ci0gICAg
ICBhc3NlcnRfZXF1YWxzKGhhcm5lc3Muc3RhdHVzLCAnT0snKTsKLSAgICAgIGFzc2VydF9lcXVh
bHMoaGFybmVzcy5tZXNzYWdlLCBudWxsKTsKLSAgICAgIGFzc2VydF9lcXVhbHModGVzdHMuYmVm
b3JlLCAnUEFTUycpOwotICAgICAgYXNzZXJ0X2VxdWFscyh0ZXN0c1snVStkN2ZmIGlzIG5vdCBt
b2RpZmllZDogXHVkN2ZmJ10sICdQQVNTJyk7Ci0gICAgICBhc3NlcnRfZXF1YWxzKHRlc3RzWydV
K2UwMDAgaXMgbm90IG1vZGlmaWVkOiBcdWUwMDAnXSwgJ1BBU1MnKTsKLSAgICAgIGFzc2VydF9l
cXVhbHModGVzdHMuYWZ0ZXIsICdQQVNTJyk7Ci0gICAgfSk7Ci19LCAnc3ViLXRlc3QgbmFtZXMg
d2hpY2ggaW5jbHVkZSB2YWxpZCBjb2RlIHVuaXRzJyk7Ci0KLXByb21pc2VfdGVzdCgoKSA9PiB7
Ci0gIHJldHVybiBtYWtlVGVzdCgKLSAgICAgICgpID0+IHsKLSAgICAgICAgdGVzdCgoKSA9PiB7
fSwgJ2JlZm9yZScpOwotICAgICAgICB0ZXN0KCgpID0+IHt9LCAnVStkODAwVStkZmZmIGlzIG5v
dCBtb2RpZmllZDogXHVkODAwXHVkZmZmJyk7Ci0gICAgICAgIHRlc3QoKCkgPT4ge30sICdVK2Ri
ZmZVK2RjMDAgaXMgbm90IG1vZGlmaWVkOiBcdWRiZmZcdWRjMDAnKTsKLSAgICAgICAgdGVzdCgo
KSA9PiB7fSwgJ2FmdGVyJyk7Ci0gICAgICB9Ci0gICAgKS50aGVuKCh7aGFybmVzcywgdGVzdHN9
KSA9PiB7Ci0gICAgICBhc3NlcnRfZXF1YWxzKGhhcm5lc3Muc3RhdHVzLCAnT0snKTsKLSAgICAg
IGFzc2VydF9lcXVhbHMoaGFybmVzcy5tZXNzYWdlLCBudWxsKTsKLSAgICAgIGFzc2VydF9lcXVh
bHModGVzdHMuYmVmb3JlLCAnUEFTUycpOwotICAgICAgYXNzZXJ0X2VxdWFscyh0ZXN0c1snVStk
ODAwVStkZmZmIGlzIG5vdCBtb2RpZmllZDogXHVkODAwXHVkZmZmJ10sICdQQVNTJyk7Ci0gICAg
ICBhc3NlcnRfZXF1YWxzKHRlc3RzWydVK2RiZmZVK2RjMDAgaXMgbm90IG1vZGlmaWVkOiBcdWRi
ZmZcdWRjMDAnXSwgJ1BBU1MnKTsKLSAgICAgIGFzc2VydF9lcXVhbHModGVzdHMuYWZ0ZXIsICdQ
QVNTJyk7Ci0gICAgfSk7Ci19LCAnc3ViLXRlc3QgbmFtZXMgd2hpY2ggaW5jbHVkZSBwYWlyZWQg
c3Vycm9nYXRlcycpOwotCi1wcm9taXNlX3Rlc3QoKCkgPT4gewotICByZXR1cm4gbWFrZVRlc3Qo
Ci0gICAgICAoKSA9PiB7Ci0gICAgICAgIHRlc3QoKCkgPT4ge30sICdiZWZvcmUnKTsKLSAgICAg
ICAgdGVzdCgoKSA9PiB7fSwgJ1UrZDgwMCBtdXN0IGJlIHNhbml0aXplZDogXHVkODAwJyk7Ci0g
ICAgICAgIHRlc3QoKCkgPT4ge30sICdVK2Q4MDBVK2Q4MDEgbXVzdCBiZSBzYW5pdGl6ZWQ6IFx1
ZDgwMFx1ZDgwMScpOwotICAgICAgICB0ZXN0KCgpID0+IHt9LCAnVStkZmZmIG11c3QgYmUgc2Fu
aXRpemVkOiBcdWRmZmYnKTsKLSAgICAgICAgdGVzdCgoKSA9PiB7fSwgJ1UrZGMwMFUrZDgwMFUr
ZGMwMFUrZDgwMCBtdXN0IGJlIHNhbml0aXplZDogXHVkYzAwXHVkODAwXHVkYzAwXHVkODAwJyk7
Ci0gICAgICAgIHRlc3QoKCkgPT4ge30sICdhZnRlcicpOwotICAgICAgfQotICAgICkudGhlbigo
e2hhcm5lc3MsIHRlc3RzfSkgPT4gewotICAgICAgYXNzZXJ0X2VxdWFscyhoYXJuZXNzLnN0YXR1
cywgJ09LJyk7Ci0gICAgICBhc3NlcnRfZXF1YWxzKGhhcm5lc3MubWVzc2FnZSwgbnVsbCk7Ci0g
ICAgICBhc3NlcnRfZXF1YWxzKHRlc3RzLmJlZm9yZSwgJ1BBU1MnKTsKLSAgICAgIGFzc2VydF9l
cXVhbHModGVzdHNbJ1UrZDgwMCBtdXN0IGJlIHNhbml0aXplZDogVStkODAwJ10sICdQQVNTJyk7
Ci0gICAgICBhc3NlcnRfZXF1YWxzKHRlc3RzWydVK2RmZmYgbXVzdCBiZSBzYW5pdGl6ZWQ6IFUr
ZGZmZiddLCAnUEFTUycpOwotICAgICAgYXNzZXJ0X2VxdWFscygKLSAgICAgICAgdGVzdHNbJ1Ur
ZDgwMFUrZDgwMSBtdXN0IGJlIHNhbml0aXplZDogVStkODAwVStkODAxJ10sCi0gICAgICAgICdQ
QVNTJwotICAgICAgKTsKLSAgICAgIGFzc2VydF9lcXVhbHMoCi0gICAgICAgIHRlc3RzWydVK2Rj
MDBVK2Q4MDBVK2RjMDBVK2Q4MDAgbXVzdCBiZSBzYW5pdGl6ZWQ6IFUrZGMwMFx1ZDgwMFx1ZGMw
MFUrZDgwMCddLAotICAgICAgICAnUEFTUycKLSAgICAgICk7Ci0gICAgICBhc3NlcnRfZXF1YWxz
KHRlc3RzLmFmdGVyLCAnUEFTUycpOwotICAgIH0pOwotfSwgJ3N1Yi10ZXN0IG5hbWVzIHdoaWNo
IGluY2x1ZGUgdW5wYWlyZWQgc3Vycm9nYXRlcycpOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL3VuaXQvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL3Vu
aXQvdzNjLWltcG9ydC5sb2cKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGU1MDZlN2Ri
ODJmLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL3VuaXQvdzNjLWltcG9ydC5sb2cKKysrIC9k
ZXYvbnVsbApAQCAtMSwyOCArMCwwIEBACi1UaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2Vy
ZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KLURvIE5PVCBtb2RpZnkgdGhlc2Ug
dGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0
IG9uIHRoZSBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVz
dHMvd3B0Ci0KLVRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4g
V2ViS2l0IHRvIHJlaW1wb3J0Ci0KLURvIE5PVCBtb2RpZnkgb3IgcmVtb3ZlIHRoaXMgZmlsZS4K
LQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tCi1Qcm9wZXJ0aWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6
Ci1Ob25lCi1Qcm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKLU5vbmUK
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLQotTGlzdCBvZiBmaWxlczoKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL3VuaXQvYXNzZXJ0X29i
amVjdF9lcXVhbHMuaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvdW5pdC9iYXNpYy5odG1sCi0vTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy91bml0
L2V4Y2VwdGlvbmFsLWNhc2VzLXRpbWVvdXRzLmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL3VuaXQvZXhjZXB0aW9u
YWwtY2FzZXMuaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvdW5pdC9mb3JtYXQtdmFsdWUuaHRtbAotL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMv
dW5pdC9sYXRlLXRlc3QuaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvdW5pdC9wcm9taXNlX3NldHVwLXRpbWVvdXQu
aHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3Rlc3QvdGVzdHMvdW5pdC9wcm9taXNlX3NldHVwLmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL3VuaXQvc2lu
Z2xlX3Rlc3QuaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvdW5pdC90ZXN0LXJldHVybi1yZXN0cmljdGlvbnMuaHRt
bAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3Rlc3QvdGVzdHMvdW5pdC90aHJvd2luZy1hc3NlcnRpb25zLmh0bWwKLS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL3VuaXQv
dW5wYWlyZWQtc3Vycm9nYXRlcy5odG1sCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL3czYy1pbXBvcnQu
bG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvdGVzdC90ZXN0cy93M2MtaW1wb3J0LmxvZwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggYWI3MTU0Njc5ZTMuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvdzNjLWltcG9ydC5sb2cK
KysrIC9kZXYvbnVsbApAQCAtMSw0MiArMCwwIEBACi1UaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rv
cnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KLURvIE5PVCBtb2RpZnkg
dGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCBy
ZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzCi0KLVRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVz
dHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0Ci0KLURvIE5PVCBtb2RpZnkgb3IgcmVtb3ZlIHRoaXMg
ZmlsZS4KLQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1Qcm9wZXJ0aWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJl
Zml4ZXM6Ci1Ob25lCi1Qcm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoK
LU5vbmUKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotTGlzdCBvZiBmaWxlczoKLS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2FkZF9jbGVh
bnVwLmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy90ZXN0L3Rlc3RzL2FkZF9jbGVhbnVwX2NvdW50Lmh0bWwKLS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2FkZF9j
bGVhbnVwX2Vyci5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9hZGRfY2xlYW51cF9lcnJfbXVsdGkuaHRtbAotL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3Qv
dGVzdHMvYXBpLXRlc3RzLTEuaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvYXBpLXRlc3RzLTIuaHRtbAotL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVz
dHMvYXBpLXRlc3RzLTMuaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvZ2VuZXJhdGUtY2FsbGJhY2suaHRtbAotL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3Qv
dGVzdHMvaWZyYW1lLWNhbGxiYWNrLmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL2lmcmFtZS1jb25zb2xpZGF0ZS1l
cnJvcnMuaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3Rlc3QvdGVzdHMvaWZyYW1lLWNvbnNvbGlkYXRlLXRlc3RzLmh0bWwKLS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rl
c3RzL2lmcmFtZS1tc2cuaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvb3JkZXIuaHRtbAotL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvcHJvbWlz
ZS1hc3luYy5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9wcm9taXNlLmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL3NpbmdsZS1wYWdl
LXRlc3QtZmFpbC5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy9zaW5nbGUtcGFnZS10ZXN0LW5vLWFzc2VydGlvbnMu
aHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3Rlc3QvdGVzdHMvc2luZ2xlLXBhZ2UtdGVzdC1uby1ib2R5Lmh0bWwKLS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL3Np
bmdsZS1wYWdlLXRlc3QtcGFzcy5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy91bmNhdWdodC1leGNlcHRpb24taGFu
ZGxlLmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy90ZXN0L3Rlc3RzL3VuY2F1Z2h0LWV4Y2VwdGlvbi1pZ25vcmUuaHRtbAotL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVz
dHMvd29ya2VyLWRlZGljYXRlZC5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy93b3JrZXItZXJyb3IuanMKLS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rl
c3RzL3dvcmtlci1zZXJ2aWNlLmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL3dvcmtlci1zaGFyZWQuaHRtbAotL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3Qv
dGVzdHMvd29ya2VyLmpzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL3dvcmtlci1kZWRpY2F0ZWQuaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3Rlc3QvdGVzdHMvd29ya2VyLWRlZGljYXRlZC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwY2EzZTRkMTQ1YS4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy93b3JrZXItZGVk
aWNhdGVkLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw5NyArMCwwIEBACi08IURPQ1RZUEUgSFRN
TD4KLTxodG1sPgotPGhlYWQ+Ci08dGl0bGU+RGVkaWNhdGVkIFdvcmtlciBUZXN0czwvdGl0bGU+
Ci08c2NyaXB0IHNyYz0iLi4vLi4vdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBz
cmM9Ii4uLy4uL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5
PgotPGgxPkRlZGljYXRlZCBXZWIgV29ya2VyIFRlc3RzPC9oMT4KLTxwPkRlbW9uc3RyYXRlcyBy
dW5uaW5nIDx0dD50ZXN0aGFybmVzczwvdHQ+IGJhc2VkIHRlc3RzIGluc2lkZSBhIGRlZGljYXRl
ZCB3ZWIgd29ya2VyLgotPHA+VGhlIHRlc3QgaGFybmVzcyBpcyBleHBlY3RlZCB0byBmYWlsIGR1
ZSB0byBhbiB1bmNhdWdodCBleGNlcHRpb24gaW4gb25lIHdvcmtlci48L3A+Ci08ZGl2IGlkPSJs
b2ciPjwvZGl2PgotCi08c2NyaXB0PgotdGVzdChmdW5jdGlvbih0KSB7Ci0gICAgICAgIGFzc2Vy
dF90cnVlKCJXb3JrZXIiIGluIHNlbGYsICJCcm93c2VyIHNob3VsZCBzdXBwb3J0IFdvcmtlcnMi
KTsKLSAgICB9LAotICAgICJCcm93c2VyIHN1cHBvcnRzIFdvcmtlcnMiKTsKLQotZmV0Y2hfdGVz
dHNfZnJvbV93b3JrZXIobmV3IFdvcmtlcigid29ya2VyLmpzIikpOwotCi1mZXRjaF90ZXN0c19m
cm9tX3dvcmtlcihuZXcgV29ya2VyKCJ3b3JrZXItZXJyb3IuanMiKSk7Ci0KLXRlc3QoZnVuY3Rp
b24odCkgewotICAgICAgICBhc3NlcnRfZmFsc2UoZmFsc2UsICJGYWxzZSBpcyBmYWxzZSIpOwot
ICAgIH0sCi0gICAgIlRlc3QgcnVubmluZyBvbiBtYWluIGRvY3VtZW50LiIpOwotPC9zY3JpcHQ+
Ci08c2NyaXB0IHR5cGU9InRleHQvanNvbiIgaWQ9ImV4cGVjdGVkIj4KLXsKLSAgInN1bW1hcml6
ZWRfc3RhdHVzIjogewotICAgICJzdGF0dXNfc3RyaW5nIjogIkVSUk9SIiwKLSAgICAibWVzc2Fn
ZSI6ICJFcnJvcjogVGhpcyBmYWlsdXJlIGlzIGV4cGVjdGVkLiIsCi0gICAgInN0YWNrIjogIihp
bXBsZW1lbnRhdGlvbi1kZWZpbmVkKSIKLSAgfSwKLSAgInN1bW1hcml6ZWRfdGVzdHMiOiBbCi0g
ICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFtZSI6ICJCcm93
c2VyIHN1cHBvcnRzIFdvcmtlcnMiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJt
ZXNzYWdlIjogbnVsbCwKLSAgICAgICJzdGFjayI6IG51bGwKLSAgICB9LAotICAgIHsKLSAgICAg
ICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAotICAgICAgIm5hbWUiOiAiVGVzdCBydW5uaW5nIG9u
IG1haW4gZG9jdW1lbnQuIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2Fn
ZSI6IG51bGwsCi0gICAgICAic3RhY2siOiBudWxsCi0gICAgfSwKLSAgICB7Ci0gICAgICAic3Rh
dHVzX3N0cmluZyI6ICJGQUlMIiwKLSAgICAgICJuYW1lIjogIlVudGl0bGVkIiwKLSAgICAgICJw
cm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6ICJFcnJvcjogVGhpcyBmYWlsdXJlIGlz
IGV4cGVjdGVkLiIsCi0gICAgICAic3RhY2siOiAiKGltcGxlbWVudGF0aW9uLWRlZmluZWQpIgot
ICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFt
ZSI6ICJXb3JrZXIgYXN5bmNfdGVzdCB0aGF0IGNvbXBsZXRlcyBzdWNjZXNzZnVsbHkiLAotICAg
ICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICJzdGFj
ayI6IG51bGwKLSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiLAot
ICAgICAgIm5hbWUiOiAiV29ya2VyIHRlc3QgdGhhdCBjb21wbGV0ZXMgc3VjY2Vzc2Z1bGx5IiwK
LSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAi
c3RhY2siOiBudWxsCi0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJOT1RS
VU4iLAotICAgICAgIm5hbWUiOiAiV29ya2VyIHRlc3QgdGhhdCBkb2Vzbid0IHJ1biAoJ05PVCBS
VU4nKSIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsLAot
ICAgICAgInN0YWNrIjogbnVsbAotICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmci
OiAiRkFJTCIsCi0gICAgICAibmFtZSI6ICJXb3JrZXIgdGVzdCB0aGF0IGZhaWxzICgnRkFJTCcp
IiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6ICJhc3NlcnRfdHJ1
ZTogRmFpbGluZyB0ZXN0IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlIiwKLSAgICAgICJzdGFjayI6
ICIoaW1wbGVtZW50YXRpb24tZGVmaW5lZCkiCi0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVz
X3N0cmluZyI6ICJUSU1FT1VUIiwKLSAgICAgICJuYW1lIjogIldvcmtlciB0ZXN0IHRoYXQgdGlt
ZXMgb3V0ICgnVElNRU9VVCcpIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVz
c2FnZSI6ICJUZXN0IHRpbWVkIG91dCIsCi0gICAgICAic3RhY2siOiBudWxsCi0gICAgfQotICBd
LAotICAidHlwZSI6ICJjb21wbGV0ZSIKLX0KLTwvc2NyaXB0PgotPC9ib2R5PgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
dGVzdC90ZXN0cy93b3JrZXItZXJyb3IuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3RzL3dvcmtlci1lcnJvci5qcwpkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTI1ZjBkYjE4OGIuLjAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rl
c3QvdGVzdHMvd29ya2VyLWVycm9yLmpzCisrKyAvZGV2L251bGwKQEAgLTEsMyArMCwwIEBACi1p
bXBvcnRTY3JpcHRzKCIuLi8uLi90ZXN0aGFybmVzcy5qcyIpOwotCi10aHJvdyBuZXcgRXJyb3Io
IlRoaXMgZmFpbHVyZSBpcyBleHBlY3RlZC4iKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvd29ya2Vy
LXNlcnZpY2UuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvd29ya2VyLXNlcnZpY2UuaHRtbApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggNDE4ZjZkNzJiYjEuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMv
d29ya2VyLXNlcnZpY2UuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDEyMyArMCwwIEBACi08IURP
Q1RZUEUgSFRNTD4KLTxodG1sPgotPGhlYWQ+Ci08dGl0bGU+RXhhbXBsZSB3aXRoIGEgc2Vydmlj
ZSB3b3JrZXI8L3RpdGxlPgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Ci08L2hlYWQ+Ci08Ym9keT4KLTxoMT5TZXJ2aWNlIFdvcmtlciBUZXN0czwvaDE+Ci08cD5EZW1v
bnN0cmF0ZXMgcnVubmluZyA8dHQ+dGVzdGhhcm5lc3M8L3R0PiBiYXNlZCB0ZXN0cyBpbnNpZGUg
YSBzZXJ2aWNlIHdvcmtlci4KLTxwPlRoZSB0ZXN0IGhhcm5lc3Mgc2hvdWxkIHRpbWUgb3V0IGR1
ZSB0byBvbmUgb2YgdGhlIHRlc3RzIGluc2lkZSB0aGUgd29ya2VyIHRpbWluZyBvdXQuCi08cD5U
aGlzIHRlc3QgYXNzdW1lcyB0aGF0IHRoZSBicm93c2VyIHN1cHBvcnRzIDxhIGhyZWY9Imh0dHA6
Ly93d3cudzMub3JnL1RSL3NlcnZpY2Utd29ya2Vycy8iPlNlcnZpY2VXb3JrZXJzPC9hPi4KLTxk
aXYgaWQ9ImxvZyI+PC9kaXY+Ci0KLTxzY3JpcHQ+Ci10ZXN0KAotICAgIGZ1bmN0aW9uKHQpIHsK
LSAgICAgICAgYXNzZXJ0X3RydWUoInNlcnZpY2VXb3JrZXIiIGluIG5hdmlnYXRvciwKLSAgICAg
ICAgICAgICAgICAgICAgIm5hdmlnYXRvci5zZXJ2aWNlV29ya2VyIGV4aXN0cyIpOwotICAgIH0s
Ci0gICAgIkJyb3dzZXIgc3VwcG9ydHMgU2VydmljZVdvcmtlciIpOwotCi1wcm9taXNlX3Rlc3Qo
Ci0gICAgZnVuY3Rpb24oKSB7Ci0gICAgICAgIC8vIFNpbmNlIHRoZSBzZXJ2aWNlIHdvcmtlciBy
ZWdpc3RyYXRpb24gY291bGQgYmUgaW4gYW4gaW5kZXRlcm1pbmF0ZQotICAgICAgICAvLyBzdGF0
ZSAoZHVlIHRvLCBmb3IgZXhhbXBsZSwgYSBwcmV2aW91cyB0ZXN0IHJ1biBmYWlsaW5nKSwgd2Ug
c3RhcnQgYnkKLSAgICAgICAgLy8gdW5yZWdzdGVyaW5nIG91ciBzZXJ2aWNlIHdvcmtlciBhbmQg
dGhlbiByZWdpc3RlcmluZyBpdCBhZ2Fpbi4KLSAgICAgICAgdmFyIHNjb3BlID0gInNlcnZpY2Ut
d29ya2VyLXNjb3BlIjsKLSAgICAgICAgdmFyIHdvcmtlcl91cmwgPSAid29ya2VyLmpzIjsKLQot
ICAgICAgICByZXR1cm4gbmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIucmVnaXN0ZXIod29ya2VyX3Vy
bCwge3Njb3BlOiBzY29wZX0pCi0gICAgICAgICAgICAudGhlbigKLSAgICAgICAgICAgICAgICBm
dW5jdGlvbihyZWdpc3RyYXRpb24pIHsKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlZ2lz
dHJhdGlvbi51bnJlZ2lzdGVyKCk7Ci0gICAgICAgICAgICAgICAgfSkKLSAgICAgICAgICAgIC50
aGVuKAotICAgICAgICAgICAgICAgIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgICAgICBy
ZXR1cm4gbmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIucmVnaXN0ZXIod29ya2VyX3VybCwge3Njb3Bl
OiBzY29wZX0pOwotICAgICAgICAgICAgICAgIH0pCi0gICAgICAgICAgICAudGhlbigKLSAgICAg
ICAgICAgICAgICBmdW5jdGlvbihyZWdpc3RyYXRpb24pIHsKLSAgICAgICAgICAgICAgICAgICAg
YWRkX2NvbXBsZXRpb25fY2FsbGJhY2soCi0gICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlv
bigpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWdpc3RyYXRpb24udW5yZWdpc3Rl
cigpOwotICAgICAgICAgICAgICAgICAgICAgICAgfSk7Ci0KLSAgICAgICAgICAgICAgICAgICAg
cmV0dXJuIG5ldyBQcm9taXNlKAotICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24ocmVz
b2x2ZSkgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZ2lzdHJhdGlvbi5hZGRFdmVu
dExpc3RlbmVyKCJ1cGRhdGVmb3VuZCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzb2x2
ZShyZWdpc3RyYXRpb24uaW5zdGFsbGluZyk7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIH0pOwotICAgICAgICAgICAgICAgICAgICAgICAgfSk7Ci0gICAgICAgICAgICAgICAgfSkK
LSAgICAgICAgICAgIC50aGVuKAotICAgICAgICAgICAgICAgIGZ1bmN0aW9uKHdvcmtlcikgewot
ICAgICAgICAgICAgICAgICAgICBmZXRjaF90ZXN0c19mcm9tX3dvcmtlcih3b3JrZXIpOwotICAg
ICAgICAgICAgICAgIH0pOwotICAgIH0sCi0gICAgIlJlZ2lzdGVyIFNlcnZpY2VXb3JrZXIiKTsK
LTwvc2NyaXB0PgotPHNjcmlwdCB0eXBlPSJ0ZXh0L2pzb24iIGlkPSJleHBlY3RlZCI+Ci17Ci0g
ICJzdW1tYXJpemVkX3N0YXR1cyI6IHsKLSAgICAic3RhdHVzX3N0cmluZyI6ICJUSU1FT1VUIiwK
LSAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgInN0YWNrIjogbnVsbAotICB9LAotICAic3VtbWFy
aXplZF90ZXN0cyI6IFsKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAg
ICAgICJuYW1lIjogIkJyb3dzZXIgc3VwcG9ydHMgU2VydmljZVdvcmtlciIsCi0gICAgICAicHJv
cGVydGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgInN0YWNrIjogbnVs
bAotICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAi
bmFtZSI6ICJSZWdpc3RlciBTZXJ2aWNlV29ya2VyIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30s
Ci0gICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAic3RhY2siOiBudWxsCi0gICAgfSwKLSAg
ICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1lIjogIldvcmtl
ciBhc3luY190ZXN0IHRoYXQgY29tcGxldGVzIHN1Y2Nlc3NmdWxseSIsCi0gICAgICAicHJvcGVy
dGllcyI6IHt9LAotICAgICAgIm1lc3NhZ2UiOiBudWxsLAotICAgICAgInN0YWNrIjogbnVsbAot
ICAgIH0sCi0gICAgewotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIsCi0gICAgICAibmFt
ZSI6ICJXb3JrZXIgdGVzdCB0aGF0IGNvbXBsZXRlcyBzdWNjZXNzZnVsbHkiLAotICAgICAgInBy
b3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICJzdGFjayI6IG51
bGwKLSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIk5PVFJVTiIsCi0gICAg
ICAibmFtZSI6ICJXb3JrZXIgdGVzdCB0aGF0IGRvZXNuJ3QgcnVuICgnTk9UIFJVTicpIiwKLSAg
ICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAic3Rh
Y2siOiBudWxsCi0gICAgfSwKLSAgICB7Ci0gICAgICAic3RhdHVzX3N0cmluZyI6ICJGQUlMIiwK
LSAgICAgICJuYW1lIjogIldvcmtlciB0ZXN0IHRoYXQgZmFpbHMgKCdGQUlMJykiLAotICAgICAg
InByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogImFzc2VydF90cnVlOiBGYWlsaW5n
IHRlc3QgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UiLAotICAgICAgInN0YWNrIjogIihpbXBsZW1l
bnRhdGlvbi1kZWZpbmVkKSIKLSAgICB9LAotICAgIHsKLSAgICAgICJzdGF0dXNfc3RyaW5nIjog
IlRJTUVPVVQiLAotICAgICAgIm5hbWUiOiAiV29ya2VyIHRlc3QgdGhhdCB0aW1lcyBvdXQgKCdU
SU1FT1VUJykiLAotICAgICAgInByb3BlcnRpZXMiOiB7fSwKLSAgICAgICJtZXNzYWdlIjogIlRl
c3QgdGltZWQgb3V0IiwKLSAgICAgICJzdGFjayI6IG51bGwKLSAgICB9Ci0gIF0sCi0gICJ0eXBl
IjogImNvbXBsZXRlIgotfQotPC9zY3JpcHQ+Ci08L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3Rlc3Rz
L3dvcmtlci1zaGFyZWQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvd29ya2VyLXNoYXJlZC5odG1sCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhNTYwMWRlMDM4Ni4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90
ZXN0cy93b3JrZXItc2hhcmVkLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw4MCArMCwwIEBACi08
IURPQ1RZUEUgSFRNTD4KLTxodG1sPgotPGhlYWQ+Ci08dGl0bGU+RXhhbXBsZSB3aXRoIGEgc2hh
cmVkIHdvcmtlcjwvdGl0bGU+Ci08c2NyaXB0IHNyYz0iLi4vLi4vdGVzdGhhcm5lc3MuanMiPjwv
c2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Njcmlw
dD4KLTwvaGVhZD4KLTxib2R5PgotPGgxPlNoYXJlZCBXZWIgV29ya2VyIFRlc3RzPC9oMT4KLTxw
PkRlbW9uc3RyYXRlcyBydW5uaW5nIDx0dD50ZXN0aGFybmVzczwvdHQ+IGJhc2VkIHRlc3RzIGlu
c2lkZSBhIHNoYXJlZCB3b3JrZXIuCi08cD5UaGUgdGVzdCBoYXJuZXNzIHNob3VsZCB0aW1lIG91
dCBkdWUgdG8gb25lIG9mIHRoZSB0ZXN0cyBpbiB0aGUgd29ya2VyIHRpbWluZyBvdXQuCi08cD5U
aGlzIHRlc3QgYXNzdW1lcyB0aGF0IHRoZSBicm93c2VyIHN1cHBvcnRzIDxhIGhyZWY9Imh0dHA6
Ly93d3cudzMub3JnL1RSL3dvcmtlcnMvI3NoYXJlZC13b3JrZXJzLWFuZC10aGUtc2hhcmVkd29y
a2VyLWludGVyZmFjZSI+c2hhcmVkIHdlYiB3b3JrZXJzPC9hPi4KLTxkaXYgaWQ9ImxvZyI+PC9k
aXY+Ci0KLTxzY3JpcHQ+Ci10ZXN0KAotICAgIGZ1bmN0aW9uKHQpIHsKLSAgICAgICAgYXNzZXJ0
X3RydWUoIlNoYXJlZFdvcmtlciIgaW4gc2VsZiwKLSAgICAgICAgICAgICAgICAgICAgIkJyb3dz
ZXIgc2hvdWxkIHN1cHBvcnQgU2hhcmVkV29ya2VycyIpOwotICAgIH0sCi0gICAgIkJyb3dzZXIg
c3VwcG9ydHMgU2hhcmVkV29ya2VycyIpOwotCi1mZXRjaF90ZXN0c19mcm9tX3dvcmtlcihuZXcg
U2hhcmVkV29ya2VyKCJ3b3JrZXIuanMiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAiTXkgc2hhcmVkIHdvcmtlciIpKTsKLTwvc2NyaXB0PgotPHNjcmlwdCB0eXBl
PSJ0ZXh0L2pzb24iIGlkPSJleHBlY3RlZCI+Ci17Ci0gICJzdW1tYXJpemVkX3N0YXR1cyI6IHsK
LSAgICAic3RhdHVzX3N0cmluZyI6ICJUSU1FT1VUIiwKLSAgICAibWVzc2FnZSI6IG51bGwsCi0g
ICAgInN0YWNrIjogbnVsbAotICB9LAotICAic3VtbWFyaXplZF90ZXN0cyI6IFsKLSAgICB7Ci0g
ICAgICAic3RhdHVzX3N0cmluZyI6ICJQQVNTIiwKLSAgICAgICJuYW1lIjogIkJyb3dzZXIgc3Vw
cG9ydHMgU2hhcmVkV29ya2VycyIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgIm1l
c3NhZ2UiOiBudWxsLAotICAgICAgInN0YWNrIjogbnVsbAotICAgIH0sCi0gICAgewotICAgICAg
Im1lc3NhZ2UiOiBudWxsLAotICAgICAgIm5hbWUiOiAiV29ya2VyIGFzeW5jX3Rlc3QgdGhhdCBj
b21wbGV0ZXMgc3VjY2Vzc2Z1bGx5IiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAi
c3RhY2siOiBudWxsLAotICAgICAgInN0YXR1c19zdHJpbmciOiAiUEFTUyIKLSAgICB9LAotICAg
IHsKLSAgICAgICJtZXNzYWdlIjogbnVsbCwKLSAgICAgICJuYW1lIjogIldvcmtlciB0ZXN0IHRo
YXQgY29tcGxldGVzIHN1Y2Nlc3NmdWxseSIsCi0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAg
ICAgInN0YWNrIjogbnVsbCwKLSAgICAgICJzdGF0dXNfc3RyaW5nIjogIlBBU1MiCi0gICAgfSwK
LSAgICB7Ci0gICAgICAibWVzc2FnZSI6IG51bGwsCi0gICAgICAibmFtZSI6ICJXb3JrZXIgdGVz
dCB0aGF0IGRvZXNuJ3QgcnVuICgnTk9UIFJVTicpIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30s
Ci0gICAgICAic3RhY2siOiBudWxsLAotICAgICAgInN0YXR1c19zdHJpbmciOiAiTk9UUlVOIgot
ICAgIH0sCi0gICAgewotICAgICAgIm1lc3NhZ2UiOiAiYXNzZXJ0X3RydWU6IEZhaWxpbmcgdGVz
dCBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZSIsCi0gICAgICAibmFtZSI6ICJXb3JrZXIgdGVzdCB0
aGF0IGZhaWxzICgnRkFJTCcpIiwKLSAgICAgICJwcm9wZXJ0aWVzIjoge30sCi0gICAgICAic3Rh
Y2siOiAiKGltcGxlbWVudGF0aW9uLWRlZmluZWQpIiwKLSAgICAgICJzdGF0dXNfc3RyaW5nIjog
IkZBSUwiCi0gICAgfSwKLSAgICB7Ci0gICAgICAibWVzc2FnZSI6ICJUZXN0IHRpbWVkIG91dCIs
Ci0gICAgICAibmFtZSI6ICJXb3JrZXIgdGVzdCB0aGF0IHRpbWVzIG91dCAoJ1RJTUVPVVQnKSIs
Ci0gICAgICAicHJvcGVydGllcyI6IHt9LAotICAgICAgInN0YWNrIjogbnVsbCwKLSAgICAgICJz
dGF0dXNfc3RyaW5nIjogIlRJTUVPVVQiCi0gICAgfQotICBdLAotICAidHlwZSI6ICJjb21wbGV0
ZSIKLX0KLTwvc2NyaXB0PgotPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90ZXN0cy93b3JrZXIuanMg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90
ZXN0L3Rlc3RzL3dvcmtlci5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTI1NjIx
YWMxZTQuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdGVzdHMvd29ya2VyLmpzCisrKyAvZGV2L251bGwK
QEAgLTEsMzQgKzAsMCBAQAotaW1wb3J0U2NyaXB0cygiLi4vLi4vdGVzdGhhcm5lc3MuanMiKTsK
LQotdGVzdCgKLSAgICBmdW5jdGlvbih0ZXN0KSB7Ci0gICAgICAgIGFzc2VydF90cnVlKHRydWUs
ICJUcnVlIGlzIHRydWUiKTsKLSAgICB9LAotICAgICJXb3JrZXIgdGVzdCB0aGF0IGNvbXBsZXRl
cyBzdWNjZXNzZnVsbHkiKTsKLQotdGVzdCgKLSAgICBmdW5jdGlvbih0ZXN0KSB7Ci0gICAgICAg
IGFzc2VydF90cnVlKGZhbHNlLCAiRmFpbGluZyB0ZXN0Iik7Ci0gICAgfSwKLSAgICAiV29ya2Vy
IHRlc3QgdGhhdCBmYWlscyAoJ0ZBSUwnKSIpOwotCi1hc3luY190ZXN0KAotICAgIGZ1bmN0aW9u
KHRlc3QpIHsKLSAgICAgICAgYXNzZXJ0X3RydWUodHJ1ZSwgIlRydWUgaXMgdHJ1ZSIpOwotICAg
IH0sCi0gICAgIldvcmtlciB0ZXN0IHRoYXQgdGltZXMgb3V0ICgnVElNRU9VVCcpIik7Ci0KLWFz
eW5jX3Rlc3QoIldvcmtlciB0ZXN0IHRoYXQgZG9lc24ndCBydW4gKCdOT1QgUlVOJykiKTsKLQot
YXN5bmNfdGVzdCgKLSAgICBmdW5jdGlvbih0ZXN0KSB7Ci0gICAgICAgIHNlbGYuc2V0VGltZW91
dCgKLSAgICAgICAgICAgIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgIHRlc3QuZG9uZSgp
OwotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIDApOwotICAgIH0sCi0gICAgIldvcmtlciBh
c3luY190ZXN0IHRoYXQgY29tcGxldGVzIHN1Y2Nlc3NmdWxseSIpOwotCi0vLyBBbiBleHBsaWNp
dCBkb25lKCkgaXMgcmVxdWlyZWQgZm9yIGRlZGljYXRlZCBhbmQgc2hhcmVkIHdlYiB3b3JrZXJz
LgotZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90b3guaW5pIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90b3guaW5pCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCBkMGM1MTg2ZjE1Ni4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC90b3gu
aW5pCisrKyAvZGV2L251bGwKQEAgLTEsMTcgKzAsMCBAQAotW3RveF0KLSMgTm90ZSB0aGF0IG9u
bHkgcHkyNyBpcyBydW4gaW4gQ0kuCi1lbnZsaXN0ID0gcHkyNyxweTM2Ci1za2lwc2Rpc3Q9VHJ1
ZQotCi1bdGVzdGVudl0KLXBhc3NlbnY9RElTUExBWSAjIE5lY2Vzc2FyeSBmb3IgdGhlIHNwYXdu
ZWQgR2Vja29Ecml2ZXIgcHJvY2VzcyB0byBjb25uZWN0IHRvCi0gICAgICAgICAgICAgICAgIyB0
aGUgYXBwcm9wcmlhdGUgZGlzcGxheS4KLWRlcHMgPQotICBodG1sNWxpYgotICBweXRlc3Q+PTIu
OQotICBweXZpcnR1YWxkaXNwbGF5Ci0gIHNlbGVuaXVtCi0gIHNpeAotICByZXF1ZXN0cwotCi1j
b21tYW5kcyA9IHB5dGVzdCAtdnYge3Bvc2FyZ3N9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3ZhcmlhbnRzLmpz
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
dGVzdC92YXJpYW50cy5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZWViYWM2Zjdk
MTQuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdmFyaWFudHMuanMKKysrIC9kZXYvbnVsbApAQCAtMSw1
NyArMCwwIEBACi0oZnVuY3Rpb24oKSB7Ci0gICd1c2Ugc3RyaWN0JzsKLSAgdmFyIHZhcmlhbnRz
ID0gewotICAgIC8qKgotICAgICAqIFRlc3RzIGFyZSBleGVjdXRlZCBpbiB0aGUgYWJzZW5jZSBv
ZiB0aGUgZ2xvYmFsIFByb21pc2UgY29uc3RydWN0b3IgYnkKLSAgICAgKiBkZWZhdWx0IGluIG9y
ZGVyIHRvIHZlcmlmeSBzdXBwb3J0IGZvciB0aGUgU2VydmVyIGJyb3dzZXIgZW5naW5lLgotICAg
ICAqCi0gICAgICogaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQvaXNz
dWVzLzYyNjYKLSAgICAgKi8KLSAgICAnZGVmYXVsdCc6IHsKLSAgICAgIGRlc2NyaXB0aW9uOiAn
R2xvYmFsIFByb21pc2UgY29uc3RydWN0b3IgcmVtb3ZlZC4nLAotICAgICAgYXBwbHk6IGZ1bmN0
aW9uKCkgewotICAgICAgICBkZWxldGUgd2luZG93LlByb21pc2U7Ci0gICAgICB9Ci0gICAgfSwK
LSAgICAvKioKLSAgICAgKiBUaGlzIHZhcmlhbnQgYWxsb3dzIGZvciB0ZXN0aW5nIGZ1bmN0aW9u
YWxpdHkgdGhhdCBpcyBmdW5kYW1lbnRhbGx5Ci0gICAgICogZGVwZW5kZW50IG9uIFByb21pc2Ug
c3VwcG9ydCwgZS5nLiB0aGUgYHByb21pc2VfdGVzdGAgZnVuY3Rpb24KLSAgICAgKi8KLSAgICAn
a2VlcC1wcm9taXNlJzogewotICAgICAgZGVzY3JpcHRpb246ICdObyBtb2RpZmljYXRpb24gb2Yg
Z2xvYmFsIGVudmlyb25tZW50LicsCi0gICAgICBhcHBseTogZnVuY3Rpb24oKSB7fQotICAgIH0K
LSAgfTsKLSAgdmFyIG1hdGNoID0gd2luZG93LmxvY2F0aW9uLnNlYXJjaC5tYXRjaCgvXD8oLiop
JC8pOwotICB2YXIgdmFyaWFudE5hbWUgPSAobWF0Y2ggJiYgbWF0Y2hbMV0pIHx8ICdkZWZhdWx0
JzsKLQotICBpZiAoIU9iamVjdC5oYXNPd25Qcm9wZXJ0eS5jYWxsKHZhcmlhbnRzLCB2YXJpYW50
TmFtZSkpIHsKLSAgICB3aW5kb3cubG9jYXRpb24gPSAnamF2YXNjcmlwdDoiVW5yZWNvZ25pemVk
IHZhcmlhbnQ6ICcgKyB2YXJpYW50TmFtZSArICciOyc7Ci0gICAgZG9jdW1lbnQuY2xvc2UoKTsK
LSAgICByZXR1cm47Ci0gIH0KLQotICBpZiAodHlwZW9mIHRlc3QgPT09ICdmdW5jdGlvbicpIHsK
LSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgYXNzZXJ0X3VucmVhY2hlZCgndmFyaWFudHMu
anMgbXVzdCBiZSBpbmNsdWRlZCBiZWZvcmUgdGVzdGhhcm5lc3MuanMnKTsKLSAgICB9KTsKLSAg
fQotICB2YXIgdmFyaWFudCA9IHZhcmlhbnRzW3ZhcmlhbnROYW1lXTsKLQotICB2YXIgdmFyaWFu
dE5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKLSAgdmFyaWFudE5vZGUuaW5u
ZXJIVE1MID0gJzxwPlRoaXMgdGVzdGhhcm5lc3MuanMgdGVzdCB3YXMgZXhlY3V0ZWQgd2l0aCAn
ICsKLSAgICAndGhlIHZhcmlhbnQgbmFtZWQsICInICsgdmFyaWFudE5hbWUgKyAnIi4gJyArIHZh
cmlhbnQuZGVzY3JpcHRpb24gKwotICAgICc8L3A+PHA+UmVmZXIgdG8gdGhlIHRlc3QgaGFybmVz
cyBSRUFETUUgZmlsZSBmb3IgbW9yZSBpbmZvcm1hdGlvbi48L3A+JzsKLSAgZnVuY3Rpb24gb25S
ZWFkeSgpIHsKLSAgICBpZiAoZG9jdW1lbnQucmVhZHlTdGF0ZSAhPT0gJ2NvbXBsZXRlJykgewot
ICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIGRvY3VtZW50LmJvZHkuaW5zZXJ0QmVmb3JlKHZh
cmlhbnROb2RlLCBkb2N1bWVudC5ib2R5LmZpcnN0Q2hpbGQpOwotICB9Ci0KLSAgb25SZWFkeSgp
OwotICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdyZWFkeXN0YXRlY2hhbmdlJywgb25SZWFk
eSk7Ci0KLSAgdmFyaWFudC5hcHBseSgpOwotfSgpKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvdzNjLWltcG9y
dC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy90ZXN0L3czYy1pbXBvcnQubG9nCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBl
N2E0ODZhOWI5Ni4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC93M2MtaW1wb3J0LmxvZworKysgL2Rldi9u
dWxsCkBAIC0xLDI0ICswLDAgQEAKLVRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGlt
cG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgotRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0
cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24g
dGhlIFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93
cHQKLQotVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJL
aXQgdG8gcmVpbXBvcnQKLQotRG8gTk9UIG1vZGlmeSBvciByZW1vdmUgdGhpcyBmaWxlLgotCi0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0KLVByb3BlcnRpZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKLU5v
bmUKLVByb3BlcnR5IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgotTm9uZQotLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tCi1MaXN0IG9mIGZpbGVzOgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3QvUkVBRE1FLm1kCi0vTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC9jb25mdGVzdC5w
eQotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3Rlc3QvaGFybmVzcy5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvdGVzdC9pZGwtaGVscGVyLmpzCi0vTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC9uZXN0ZWQtdGVzdGhhcm5l
c3MuanMKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy90ZXN0L3RveC5pbmkKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy90ZXN0L3ZhcmlhbnRzLmpzCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC93cHRzZXJ2ZXIucHkKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3Rlc3Qvd3B0c2VydmVyLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdC93cHRzZXJ2ZXIucHkKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IGQ0N2UzMjVmYmVmLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0L3dwdHNlcnZlci5w
eQorKysgL2Rldi9udWxsCkBAIC0xLDU0ICswLDAgQEAKLWltcG9ydCBsb2dnaW5nCi1pbXBvcnQg
b3MKLWltcG9ydCBzdWJwcm9jZXNzCi1pbXBvcnQgdGltZQotaW1wb3J0IHN5cwotZnJvbSBzaXgu
bW92ZXMgaW1wb3J0IHVybGxpYgotCi0KLWNsYXNzIFdQVFNlcnZlcihvYmplY3QpOgotICAgIGRl
ZiBfX2luaXRfXyhzZWxmLCB3cHRfcm9vdCk6Ci0gICAgICAgIHNlbGYud3B0X3Jvb3QgPSB3cHRf
cm9vdAotCi0gICAgICAgICMgVGhpcyBpcyBhIHRlcnJpYmxlIGhhY2sgdG8gZ2V0IHRoZSBkZWZh
dWx0IGNvbmZpZyBvZiB3cHRzZXJ2ZS4KLSAgICAgICAgc3lzLnBhdGguaW5zZXJ0KDAsIG9zLnBh
dGguam9pbih3cHRfcm9vdCwgInRvb2xzIikpCi0gICAgICAgIGZyb20gc2VydmUuc2VydmUgaW1w
b3J0IGJ1aWxkX2NvbmZpZwotICAgICAgICB3aXRoIGJ1aWxkX2NvbmZpZygpIGFzIGNvbmZpZzoK
LSAgICAgICAgICAgIHNlbGYuaG9zdCA9IGNvbmZpZ1siYnJvd3Nlcl9ob3N0Il0KLSAgICAgICAg
ICAgIHNlbGYuaHR0cF9wb3J0ID0gY29uZmlnWyJwb3J0cyJdWyJodHRwIl1bMF0KLSAgICAgICAg
ICAgIHNlbGYuaHR0cHNfcG9ydCA9IGNvbmZpZ1sicG9ydHMiXVsiaHR0cHMiXVswXQotCi0gICAg
ICAgIHNlbGYuYmFzZV91cmwgPSAnaHR0cDovLyVzOiVzJyAlIChzZWxmLmhvc3QsIHNlbGYuaHR0
cF9wb3J0KQotICAgICAgICBzZWxmLmh0dHBzX2Jhc2VfdXJsID0gJ2h0dHBzOi8vJXM6JXMnICUg
KHNlbGYuaG9zdCwgc2VsZi5odHRwc19wb3J0KQotCi0gICAgZGVmIHN0YXJ0KHNlbGYpOgotICAg
ICAgICBzZWxmLmRldm51bGwgPSBvcGVuKG9zLmRldm51bGwsICd3JykKLSAgICAgICAgd3B0c2Vy
dmVfY21kID0gW29zLnBhdGguam9pbihzZWxmLndwdF9yb290LCAnd3B0JyksICdzZXJ2ZSddCi0g
ICAgICAgIGxvZ2dpbmcuaW5mbygnRXhlY3V0aW5nICVzJyAlICcgJy5qb2luKHdwdHNlcnZlX2Nt
ZCkpCi0gICAgICAgIHNlbGYucHJvYyA9IHN1YnByb2Nlc3MuUG9wZW4oCi0gICAgICAgICAgICB3
cHRzZXJ2ZV9jbWQsCi0gICAgICAgICAgICBzdGRlcnI9c2VsZi5kZXZudWxsLAotICAgICAgICAg
ICAgY3dkPXNlbGYud3B0X3Jvb3QpCi0KLSAgICAgICAgZm9yIHJldHJ5IGluIHJhbmdlKDUpOgot
ICAgICAgICAgICAgIyBFeHBvbmVudGlhbCBiYWNrb2ZmLgotICAgICAgICAgICAgdGltZS5zbGVl
cCgyICoqIHJldHJ5KQotICAgICAgICAgICAgZXhpdF9jb2RlID0gc2VsZi5wcm9jLnBvbGwoKQot
ICAgICAgICAgICAgaWYgZXhpdF9jb2RlICE9IE5vbmU6Ci0gICAgICAgICAgICAgICAgbG9nZ2lu
Zy53YXJuKCdDb21tYW5kICIlcyIgZXhpdGVkIHdpdGggJXMnLCAnICcuam9pbih3cHRzZXJ2ZV9j
bWQpLCBleGl0X2NvZGUpCi0gICAgICAgICAgICAgICAgYnJlYWsKLSAgICAgICAgICAgIHRyeToK
LSAgICAgICAgICAgICAgICB1cmxsaWIucmVxdWVzdC51cmxvcGVuKHNlbGYuYmFzZV91cmwsIHRp
bWVvdXQ9MSkKLSAgICAgICAgICAgICAgICByZXR1cm4KLSAgICAgICAgICAgIGV4Y2VwdCB1cmxs
aWIuZXJyb3IuVVJMRXJyb3I6Ci0gICAgICAgICAgICAgICAgcGFzcwotCi0gICAgICAgIHJhaXNl
IEV4Y2VwdGlvbignQ291bGQgbm90IHN0YXJ0IHdwdHNlcnZlIG9uICVzJyAlIHNlbGYuYmFzZV91
cmwpCi0KLSAgICBkZWYgc3RvcChzZWxmKToKLSAgICAgICAgc2VsZi5wcm9jLnRlcm1pbmF0ZSgp
Ci0gICAgICAgIHNlbGYucHJvYy53YWl0KCkKLSAgICAgICAgc2VsZi5kZXZudWxsLmNsb3NlKCkK
LQotICAgIGRlZiB1cmwoc2VsZiwgYWJzX3BhdGgpOgotICAgICAgICByZXR1cm4gc2VsZi5odHRw
c19iYXNlX3VybCArICcvJyArIG9zLnBhdGgucmVscGF0aChhYnNfcGF0aCwgc2VsZi53cHRfcm9v
dCkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvQ0hBTkdFTE9HLm1kIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi9DSEFOR0VMT0cubWQKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDkxZTIyMjc1ZTA3Li4wMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL0NIQU5HRUxPRy5tZAorKysgL2Rldi9udWxsCkBAIC0xLDI5MiArMCwwIEBACi0jIENo
YW5nZSBMb2cKLQotIyMgW3YxMC4yLjFdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5q
cy90cmVlL3YxMC4yLjEpICgyMDE4LTAzLTA5KQotW0Z1bGwgQ2hhbmdlbG9nXShodHRwczovL2dp
dGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvY29tcGFyZS92MTAuMi4wLi4udjEwLjIuMSkKLQotKipN
ZXJnZWQgcHVsbCByZXF1ZXN0czoqKgotCi0tIE9wdGltaXNlIHRva2VuaXNhdGlvbiBhbmQgd2hp
dGVzcGFjZSBza2lwcGluZyBbXCMxMzldKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5q
cy9wdWxsLzEzOSkgKFtyaWNlYV0oaHR0cHM6Ly9naXRodWIuY29tL3JpY2VhKSkKLS0gcmVmYWN0
b3I6IHNtYWxsIHN5bnRheCBjaGFuZ2VzIFtcIzEzN10oaHR0cHM6Ly9naXRodWIuY29tL3czYy93
ZWJpZGwyLmpzL3B1bGwvMTM3KSAoW3Nhc2NoYW5hel0oaHR0cHM6Ly9naXRodWIuY29tL3Nhc2No
YW5heikpCi0KLSMjIFt2MTAuMi4wXShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMv
dHJlZS92MTAuMi4wKSAoMjAxOC0wMS0zMCkKLVtGdWxsIENoYW5nZWxvZ10oaHR0cHM6Ly9naXRo
dWIuY29tL3czYy93ZWJpZGwyLmpzL2NvbXBhcmUvdjEwLjEuMC4uLnYxMC4yLjApCi0KLSoqTWVy
Z2VkIHB1bGwgcmVxdWVzdHM6KioKLQotLSBUeXBlIG9uIHVuaW9uIGlkbFR5cGUgW1wjMTM1XSho
dHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvcHVsbC8xMzUpIChbc2FzY2hhbmF6XSho
dHRwczovL2dpdGh1Yi5jb20vc2FzY2hhbmF6KSkKLS0gZmVhdDogYWRkIGFyZ3VtZW50L3JldHVy
biB0eXBlIFtcIzEzNF0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL3B1bGwvMTM0
KSAoW3Nhc2NoYW5hel0oaHR0cHM6Ly9naXRodWIuY29tL3Nhc2NoYW5heikpCi0tIGZlYXQ6IGFk
ZCBkaWN0aW9uYXJ5L3R5cGVkZWYtdHlwZSBbXCMxMzNdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mv
d2ViaWRsMi5qcy9wdWxsLzEzMykgKFtzYXNjaGFuYXpdKGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNj
aGFuYXopKQotLSBmZWF0OiBhZGQgY29uc3QtdHlwZSBmb3IgaWRsVHlwZXMgIFtcIzEzMl0oaHR0
cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL3B1bGwvMTMyKSAoW3Nhc2NoYW5hel0oaHR0
cHM6Ly9naXRodWIuY29tL3Nhc2NoYW5heikpCi0tIGZlYXQ6IGFkZCB0eXBlcyBvbiBpZGxUeXBl
cyBbXCMxMzFdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9wdWxsLzEzMSkgKFtz
YXNjaGFuYXpdKGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNjaGFuYXopKQotLSBBdXRvIGFjcXVpc2l0
aW9uIGZvciBwYXJzZXIgcmVzdWx0IGNoYW5nZXMgW1wjMTMwXShodHRwczovL2dpdGh1Yi5jb20v
dzNjL3dlYmlkbDIuanMvcHVsbC8xMzApIChbc2FzY2hhbmF6XShodHRwczovL2dpdGh1Yi5jb20v
c2FzY2hhbmF6KSkKLQotIyMgW3YxMC4xLjBdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRs
Mi5qcy90cmVlL3YxMC4xLjApICgyMDE4LTAxLTE5KQotW0Z1bGwgQ2hhbmdlbG9nXShodHRwczov
L2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvY29tcGFyZS92MTAuMC4wLi4udjEwLjEuMCkKLQot
KipDbG9zZWQgaXNzdWVzOioqCi0KLS0gU3VwcG9ydCBgcmFpc2VzYCBhbmQgYHNldHJhaXNlc2Ag
W1wjMTI4XShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvaXNzdWVzLzEyOCkKLS0g
U3VwcG9ydCBgbGVnYWN5Y2FsbGVyYCBbXCMxMjddKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2Vi
aWRsMi5qcy9pc3N1ZXMvMTI3KQotLSBJbXByb3ZlICJObyBzZW1pY29sb24gYWZ0ZXIgZW51bSIg
bWVzc2FnZSBbXCMxMTldKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9pc3N1ZXMv
MTE5KQotCi0qKk1lcmdlZCBwdWxsIHJlcXVlc3RzOioqCi0KLS0gTGV0IGVycm9yIG1lc3NhZ2Vz
IGluY2x1ZGUgdGhlIGN1cnJlbnQgZGVmaW5pdGlvbiBuYW1lIFtcIzEyOV0oaHR0cHM6Ly9naXRo
dWIuY29tL3czYy93ZWJpZGwyLmpzL3B1bGwvMTI5KSAoW3Nhc2NoYW5hel0oaHR0cHM6Ly9naXRo
dWIuY29tL3Nhc2NoYW5heikpCi0KLSMjIFt2MTAuMC4wXShodHRwczovL2dpdGh1Yi5jb20vdzNj
L3dlYmlkbDIuanMvdHJlZS92MTAuMC4wKSAoMjAxNy0xMi0yMCkKLVtGdWxsIENoYW5nZWxvZ10o
aHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL2NvbXBhcmUvdjkuMC4wLi4udjEwLjAu
MCkKLQotKipDbG9zZWQgaXNzdWVzOioqCi0KLS0gIEFsd2F5cyByZXR1cm4gYW4gYXJyYXkgZm9y
IGlkbFR5cGUsIGV0Yy4gW1wjMTEzXShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMv
aXNzdWVzLzExMykKLS0gTWFpbnRhaW4gd3JpdGVyLmpzIG9yIG5vdD8gW1wjMTA5XShodHRwczov
L2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvaXNzdWVzLzEwOSkKLQotKipNZXJnZWQgcHVsbCBy
ZXF1ZXN0czoqKgotCi0tIFJlbW92ZSB0eXBlRXh0QXR0cnMgZnJvbSBkb2NzIFtcIzEyNF0oaHR0
cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL3B1bGwvMTI0KSAoW3Nhc2NoYW5hel0oaHR0
cHM6Ly9naXRodWIuY29tL3Nhc2NoYW5heikpCi0tIFJlbW92ZSBpdGVyYXRvciBkb2N1bWVudGF0
aW9uIFtcIzEyM10oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL3B1bGwvMTIzKSAo
W3Nhc2NoYW5hel0oaHR0cHM6Ly9naXRodWIuY29tL3Nhc2NoYW5heikpCi0tIE1haW50YWluIHdy
aXRlci5qcyBbXCMxMjJdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9wdWxsLzEy
MikgKFtzYXNjaGFuYXpdKGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNjaGFuYXopKQotLSBCUkVBS0lO
RyBDSEFOR0U6IHJlbW92ZSBkZXByZWNhdGVkIGl0ZXJhdG9yIG9wZXJhdGlvbiBbXCMxMjFdKGh0
dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9wdWxsLzEyMSkgKFtzYXNjaGFuYXpdKGh0
dHBzOi8vZ2l0aHViLmNvbS9zYXNjaGFuYXopKQotLSBVc2UgZm9yLW9mIG9uIHRlc3RzIFtcIzEy
MF0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL3B1bGwvMTIwKSAoW3Nhc2NoYW5h
el0oaHR0cHM6Ly9naXRodWIuY29tL3Nhc2NoYW5heikpCi0tIGRvY3NcKFJFQURNRVwpOiBpdGVy
YWJsZXMgaWxkVHlwZSBpcyBhbHdheXMgYXJyYXkgW1wjMTE4XShodHRwczovL2dpdGh1Yi5jb20v
dzNjL3dlYmlkbDIuanMvcHVsbC8xMTgpIChbbWFyY29zY2FjZXJlc10oaHR0cHM6Ly9naXRodWIu
Y29tL21hcmNvc2NhY2VyZXMpKQotCi0jIyBbdjkuMC4wXShodHRwczovL2dpdGh1Yi5jb20vdzNj
L3dlYmlkbDIuanMvdHJlZS92OS4wLjApICgyMDE3LTExLTMwKQotW0Z1bGwgQ2hhbmdlbG9nXSho
dHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvY29tcGFyZS92OC4xLjAuLi52OS4wLjAp
Ci0KLSoqQ2xvc2VkIGlzc3VlczoqKgotCi0tIENvZGUgcXVhbGl0eSBbXCMxMTZdKGh0dHBzOi8v
Z2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9pc3N1ZXMvMTE2KQotLSBVbmFibGUgdG8gcGFyc2Ug
SFRNTEFsbENvbGxlY3Rpb24gaW50ZXJmYWNlIFtcIzExNF0oaHR0cHM6Ly9naXRodWIuY29tL3cz
Yy93ZWJpZGwyLmpzL2lzc3Vlcy8xMTQpCi0tIEFkZCBzdXBwb3J0IGZvciBtaXhpbiBzeW50YXgg
W1wjMTEyXShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvaXNzdWVzLzExMikKLS0g
V2hpdGVzcGFjZSBpc3N1ZXMgW1wjMTExXShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIu
anMvaXNzdWVzLzExMSkKLQotKipNZXJnZWQgcHVsbCByZXF1ZXN0czoqKgotCi0tIENvbnNpc3Rl
bnQgYXJyYXkgdHlwZSBmb3IgaXRlcmFibGUuaWRsVHlwZSBbXCMxMTddKGh0dHBzOi8vZ2l0aHVi
LmNvbS93M2Mvd2ViaWRsMi5qcy9wdWxsLzExNykgKFtzYXNjaGFuYXpdKGh0dHBzOi8vZ2l0aHVi
LmNvbS9zYXNjaGFuYXopKQotLSAgUmV2ZXJ0ICJjaG9yZTogZHJvcCBOb2RlIDYgc3VwcG9ydCBc
KFwjMTAyXCkiIFtcIzExNV0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL3B1bGwv
MTE1KSAoW1RpbW90aHlHdV0oaHR0cHM6Ly9naXRodWIuY29tL1RpbW90aHlHdSkpCi0KLSMjIFt2
OC4xLjBdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy90cmVlL3Y4LjEuMCkgKDIw
MTctMTEtMDMpCi1bRnVsbCBDaGFuZ2Vsb2ddKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRs
Mi5qcy9jb21wYXJlL3Y4LjAuMS4uLnY4LjEuMCkKLQotKipDbG9zZWQgaXNzdWVzOioqCi0KLS0g
RXh0ZW5kZWQgQXR0cmlidXRlcyBgcmhzYCBzaG91bGQgYWx3YXlzIGJlIHRoZXJlIFtcIzk2XSho
dHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvaXNzdWVzLzk2KQotCi0qKk1lcmdlZCBw
dWxsIHJlcXVlc3RzOioqCi0KLS0gQWx3YXlzIGFkZCByaHMgcHJvcGVydHkgW1wjMTEwXShodHRw
czovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvcHVsbC8xMTApIChbc2FzY2hhbmF6XShodHRw
czovL2dpdGh1Yi5jb20vc2FzY2hhbmF6KSkKLQotIyMgW3Y4LjAuMV0oaHR0cHM6Ly9naXRodWIu
Y29tL3czYy93ZWJpZGwyLmpzL3RyZWUvdjguMC4xKSAoMjAxNy0xMS0wMykKLVtGdWxsIENoYW5n
ZWxvZ10oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL2NvbXBhcmUvdjguMC4wLi4u
djguMC4xKQotCi0qKkZpeGVkIGJ1Z3M6KioKLQotLSBDb21tZW50IG9yZGVyIHBhcnNpbmcgYnVn
ICBbXCMxMDddKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9pc3N1ZXMvMTA3KQot
Ci0qKk1lcmdlZCBwdWxsIHJlcXVlc3RzOioqCi0KLS0gUmVtb3ZlIG0gcG9zdGZpeCBmcm9tIGFs
bFxfd3NcKFwpIFtcIzEwOF0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL3B1bGwv
MTA4KSAoW3Nhc2NoYW5hel0oaHR0cHM6Ly9naXRodWIuY29tL3Nhc2NoYW5heikpCi0KLSMjIFt2
OC4wLjBdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy90cmVlL3Y4LjAuMCkgKDIw
MTctMTEtMDMpCi1bRnVsbCBDaGFuZ2Vsb2ddKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRs
Mi5qcy9jb21wYXJlL3Y3LjAuMC4uLnY4LjAuMCkKLQotKipDbG9zZWQgaXNzdWVzOioqCi0KLS0g
UmVtb3ZlIGNyZWF0b3JzIHN1cHBvcnQgW1wjMTAwXShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dl
YmlkbDIuanMvaXNzdWVzLzEwMCkKLS0gQWRkIG1peGluIHN1cHBvcnQgW1wjOTJdKGh0dHBzOi8v
Z2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9pc3N1ZXMvOTIpCi0KLSoqTWVyZ2VkIHB1bGwgcmVx
dWVzdHM6KioKLQotLSBTdXBwb3J0IG1peGlucyArIGluY2x1ZGVzIHN0YXRlbWVudHMgW1wjMTA1
XShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvcHVsbC8xMDUpIChbc2FzY2hhbmF6
XShodHRwczovL2dpdGh1Yi5jb20vc2FzY2hhbmF6KSkKLS0gY2hvcmU6IGRyb3AgTm9kZSA2IHN1
cHBvcnQgW1wjMTAyXShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvcHVsbC8xMDIp
IChbbWFyY29zY2FjZXJlc10oaHR0cHM6Ly9naXRodWIuY29tL21hcmNvc2NhY2VyZXMpKQotLSBC
UkVBS0lORyBDSEFOR0U6IGRyb3AgY3JlYXRvciBzdXBwb3J0IFtcIzEwMV0oaHR0cHM6Ly9naXRo
dWIuY29tL3czYy93ZWJpZGwyLmpzL3B1bGwvMTAxKSAoW3Nhc2NoYW5hel0oaHR0cHM6Ly9naXRo
dWIuY29tL3Nhc2NoYW5heikpCi0tIE5vcm1hbGl6ZSBzb21lIHdoaXRlc3BhY2UgdG8gcGFzcyB3
cHQncyBsaW50IFtcIzk5XShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvcHVsbC85
OSkgKFtmb29saXBdKGh0dHBzOi8vZ2l0aHViLmNvbS9mb29saXApKQotCi0jIyBbdjcuMC4wXSho
dHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvdHJlZS92Ny4wLjApICgyMDE3LTEwLTI3
KQotW0Z1bGwgQ2hhbmdlbG9nXShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvY29t
cGFyZS92Ni4xLjAuLi52Ny4wLjApCi0KLSoqQ2xvc2VkIGlzc3VlczoqKgotCi0tIFR5cGUgY29u
dmVyc2lvbiBvbiBkZWZhdWx0IHZhbHVlcyBpcyBkZXN0cnVjdGl2ZSAgW1wjOTRdKGh0dHBzOi8v
Z2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9pc3N1ZXMvOTQpCi0tIGV4dGVuZGVkIGF0dHJpYnV0
ZSBzdHJ1Y3R1cmUgbWlzc2luZyB0eXBlIFtcIzg5XShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dl
YmlkbDIuanMvaXNzdWVzLzg5KQotCi0qKk1lcmdlZCBwdWxsIHJlcXVlc3RzOioqCi0KLS0gIEJS
RUFLSU5HIENIQU5HRTogYXJndW1lbnQgKyBkZWZhdWx0IHR5cGVzIHNob3VsZCBiZSBzdHJpbmcg
W1wjOTVdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9wdWxsLzk1KSAoW21hcmNv
c2NhY2VyZXNdKGh0dHBzOi8vZ2l0aHViLmNvbS9tYXJjb3NjYWNlcmVzKSkKLQotIyMgW3Y2LjEu
MF0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL3RyZWUvdjYuMS4wKSAoMjAxNy0x
MC0yMykKLVtGdWxsIENoYW5nZWxvZ10oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpz
L2NvbXBhcmUvdjYuMC4xLi4udjYuMS4wKQotCi0qKk1lcmdlZCBwdWxsIHJlcXVlc3RzOioqCi0K
LS0gZmVhdDogZ2l2ZSBleHRlbmRlZCBhdHRyaWJ1dGVzIGEgdHlwZSBbXCM5MF0oaHR0cHM6Ly9n
aXRodWIuY29tL3czYy93ZWJpZGwyLmpzL3B1bGwvOTApIChbbWFyY29zY2FjZXJlc10oaHR0cHM6
Ly9naXRodWIuY29tL21hcmNvc2NhY2VyZXMpKQotCi0jIyBbdjYuMC4xXShodHRwczovL2dpdGh1
Yi5jb20vdzNjL3dlYmlkbDIuanMvdHJlZS92Ni4wLjEpICgyMDE3LTEwLTE4KQotW0Z1bGwgQ2hh
bmdlbG9nXShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvY29tcGFyZS92Ni4wLjAu
Li52Ni4wLjEpCi0KLSoqQ2xvc2VkIGlzc3VlczoqKgotCi0tIEVudW0gdmFsdWVzIHNob3VsZCBi
ZSBvYmplY3RzIFtcIzg2XShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvaXNzdWVz
Lzg2KQotCi0qKk1lcmdlZCBwdWxsIHJlcXVlc3RzOioqCi0KLS0gVXNlIEVTMjAxNSBzeW50YXgg
Zm9yIHRlc3RzIFtcIzg4XShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvcHVsbC84
OCkgKFtzYXNjaGFuYXpdKGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNjaGFuYXopKQotCi0jIyBbdjYu
MC4wXShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvdHJlZS92Ni4wLjApICgyMDE3
LTEwLTE3KQotW0Z1bGwgQ2hhbmdlbG9nXShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIu
anMvY29tcGFyZS92NS4wLjAuLi52Ni4wLjApCi0KLSoqTWVyZ2VkIHB1bGwgcmVxdWVzdHM6KioK
LQotLSBCUkVBS0lORyBDSEFOR0U6IHJldCBlbnVtIHZhbHVlIGFzIG9iamVjdCBbXCM4N10oaHR0
cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL3B1bGwvODcpIChbbWFyY29zY2FjZXJlc10o
aHR0cHM6Ly9naXRodWIuY29tL21hcmNvc2NhY2VyZXMpKQotCi0jIyBbdjUuMC4wXShodHRwczov
L2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvdHJlZS92NS4wLjApICgyMDE3LTEwLTE3KQotW0Z1
bGwgQ2hhbmdlbG9nXShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvY29tcGFyZS92
NC4yLjAuLi52NS4wLjApCi0KLSoqQ2xvc2VkIGlzc3VlczoqKgotCi0tIFVuYWJsZSB0byBwYXJz
ZSBhbm5vdGF0ZWQgdHlwZXMgaW4gZ2VuZXJpY3MgW1wjODNdKGh0dHBzOi8vZ2l0aHViLmNvbS93
M2Mvd2ViaWRsMi5qcy9pc3N1ZXMvODMpCi0tIERyb3Agc3VwcG9ydCBmb3IgTm9kZSA0LCBtb3Zl
IHRvIDYgTFRTIFtcIzgyXShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvaXNzdWVz
LzgyKQotCi0qKk1lcmdlZCBwdWxsIHJlcXVlc3RzOioqCi0KLS0gQlJFQUtJTkcgQ0hBTkdFOiBV
c2UgRVMyMDE1IHN5bnRheCBbXCM4NF0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpz
L3B1bGwvODQpIChbc2FzY2hhbmF6XShodHRwczovL2dpdGh1Yi5jb20vc2FzY2hhbmF6KSkKLQot
IyMgW3Y0LjIuMF0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL3RyZWUvdjQuMi4w
KSAoMjAxNy0xMC0xNikKLVtGdWxsIENoYW5nZWxvZ10oaHR0cHM6Ly9naXRodWIuY29tL3czYy93
ZWJpZGwyLmpzL2NvbXBhcmUvdjQuMS4wLi4udjQuMi4wKQotCi0qKkNsb3NlZCBpc3N1ZXM6KioK
LQotLSBSZW1vdmUgbGVnYWN5IGNhbGxlciBzdXBwb3J0IFtcIzc4XShodHRwczovL2dpdGh1Yi5j
b20vdzNjL3dlYmlkbDIuanMvaXNzdWVzLzc4KQotLSBTaG91bGQgcmVwb3J0IGVycm9yIGZvciB1
c2luZyBkdXBsaWNhdGUgbmFtZXMgW1wjNzddKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRs
Mi5qcy9pc3N1ZXMvNzcpCi0KLSoqTWVyZ2VkIHB1bGwgcmVxdWVzdHM6KioKLQotLSBDaGVjayBk
dXBsaWNhdGVkIG5hbWVzIFtcIzgwXShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMv
cHVsbC84MCkgKFtzYXNjaGFuYXpdKGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNjaGFuYXopKQotLSBS
ZW1vdmUgbGVnYWN5Y2FsbGVyIFtcIzc5XShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIu
anMvcHVsbC83OSkgKFtzYXNjaGFuYXpdKGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNjaGFuYXopKQot
LSBBZGQgInNlcXVlbmNlIiBwcm9wZXJ0eSB0byBJREwgVHlwZSBBU1QgZGVmaW5pdGlvbiBbXCM3
Nl0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL3B1bGwvNzYpIChbbGVyb3VjaGVd
KGh0dHBzOi8vZ2l0aHViLmNvbS9sZXJvdWNoZSkpCi0KLSMjIFt2NC4xLjBdKGh0dHBzOi8vZ2l0
aHViLmNvbS93M2Mvd2ViaWRsMi5qcy90cmVlL3Y0LjEuMCkgKDIwMTctMDctMDQpCi1bRnVsbCBD
aGFuZ2Vsb2ddKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9jb21wYXJlL3Y0LjAu
MC4uLnY0LjEuMCkKLQotKipDbG9zZWQgaXNzdWVzOioqCi0KLS0gUGFyc2luZyBlcnJvciBmb3Ig
YW5ub25hdGVkIGlubmVyIHR5cGVzIG9mIGdlbmVyaWMgdHlwZXMgW1wjNzFdKGh0dHBzOi8vZ2l0
aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9pc3N1ZXMvNzEpCi0KLSoqTWVyZ2VkIHB1bGwgcmVxdWVz
dHM6KioKLQotLSBTdXBwb3J0IFR5cGVXaXRoRXh0ZW5kZWRBdHRyaWJ1dGVzIG9uIGdlbmVyaWNz
IFtcIzc1XShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvcHVsbC83NSkgKFtzYXNj
aGFuYXpdKGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNjaGFuYXopKQotCi0jIyBbdjQuMC4wXShodHRw
czovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvdHJlZS92NC4wLjApICgyMDE3LTA2LTI3KQot
W0Z1bGwgQ2hhbmdlbG9nXShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvY29tcGFy
ZS92My4wLjIuLi52NC4wLjApCi0KLSoqQ2xvc2VkIGlzc3VlczoqKgotCi0tIFJlbW92ZSBzZXJp
YWxpemVyLXJlbGF0ZWQgcHJvZHVjdGlvbnMgW1wjNzNdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mv
d2ViaWRsMi5qcy9pc3N1ZXMvNzMpCi0tIFJlY29yZHMgZG9uJ3Qgc2VlbSB0byBiZSB3b3JraW5n
IHJpZ2h0IFtcIzcyXShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvaXNzdWVzLzcy
KQotLSBEb2N1bWVudCBuYW1lc3BhY2UgbWVtYmVyIG91dHB1dCBbXCM1OV0oaHR0cHM6Ly9naXRo
dWIuY29tL3czYy93ZWJpZGwyLmpzL2lzc3Vlcy81OSkKLQotKipNZXJnZWQgcHVsbCByZXF1ZXN0
czoqKgotCi0tIEJSRUFLSU5HIENIQU5HRTogcmVtb3ZlIHNlcmlhbGl6ZXJzIFwoY2xvc2VzIFwj
NzNcKSBbXCM3NF0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL3B1bGwvNzQpIChb
bWFyY29zY2FjZXJlc10oaHR0cHM6Ly9naXRodWIuY29tL21hcmNvc2NhY2VyZXMpKQotLSBBZGQg
ZG9jdW1lbnRhdGlvbiBmb3IgbmFtZXNwYWNlcyBbXCM3MF0oaHR0cHM6Ly9naXRodWIuY29tL3cz
Yy93ZWJpZGwyLmpzL3B1bGwvNzApIChbc2FzY2hhbmF6XShodHRwczovL2dpdGh1Yi5jb20vc2Fz
Y2hhbmF6KSkKLQotIyMgW3YzLjAuMl0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpz
L3RyZWUvdjMuMC4yKSAoMjAxNy0wNS0yOSkKLVtGdWxsIENoYW5nZWxvZ10oaHR0cHM6Ly9naXRo
dWIuY29tL3czYy93ZWJpZGwyLmpzL2NvbXBhcmUvdjMuMC4xLi4udjMuMC4yKQotCi0qKkNsb3Nl
ZCBpc3N1ZXM6KioKLQotLSBXaGl0ZXNwYWNlIGlzc3VlcyBbXCM2NF0oaHR0cHM6Ly9naXRodWIu
Y29tL3czYy93ZWJpZGwyLmpzL2lzc3Vlcy82NCkKLQotKipNZXJnZWQgcHVsbCByZXF1ZXN0czoq
KgotCi0tIFRlc3QgZm9yIGxhdGVzdCBMVFMvc3RhYmxlIG5vZGUgdmVyc2lvbnMgW1wjNjldKGh0
dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9wdWxsLzY5KSAoW3Nhc2NoYW5hel0oaHR0
cHM6Ly9naXRodWIuY29tL3Nhc2NoYW5heikpCi0KLSMjIFt2My4wLjFdKGh0dHBzOi8vZ2l0aHVi
LmNvbS93M2Mvd2ViaWRsMi5qcy90cmVlL3YzLjAuMSkgKDIwMTctMDUtMTgpCi1bRnVsbCBDaGFu
Z2Vsb2ddKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9jb21wYXJlL3YyLjQuMC4u
LnYzLjAuMSkKLQotKipDbG9zZWQgaXNzdWVzOioqCi0KLS0gSXMgYXJyYXkgc3ludGF4IGRlYWQ/
IFtcIzY2XShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvaXNzdWVzLzY2KQotLSBS
ZW1vdmUgZXhjZXB0aW9ucyBzdXBwb3J0IFtcIzY1XShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dl
YmlkbDIuanMvaXNzdWVzLzY1KQotCi0qKk1lcmdlZCBwdWxsIHJlcXVlc3RzOioqCi0KLS0gRml4
IHdoaXRlc3BhY2UgZXJyb3Igb24gcGFyc2luZyBleHRlbmRlZCBhdHRyaWJ1dGVzIFtcIzY4XSho
dHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvcHVsbC82OCkgKFtzYXNjaGFuYXpdKGh0
dHBzOi8vZ2l0aHViLmNvbS9zYXNjaGFuYXopKQotLSBSZW1vdmUgZGVwcmVjYXRlZCBJREwgYXJy
YXlzIGFuZCBleGNlcHRpb25zIFtcIzY3XShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIu
anMvcHVsbC82NykgKFtzYXNjaGFuYXpdKGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNjaGFuYXopKQot
Ci0jIyBbdjIuNC4wXShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvdHJlZS92Mi40
LjApICgyMDE3LTA0LTEyKQotW0Z1bGwgQ2hhbmdlbG9nXShodHRwczovL2dpdGh1Yi5jb20vdzNj
L3dlYmlkbDIuanMvY29tcGFyZS92Mi4xLjAuLi52Mi40LjApCi0KLSoqQ2xvc2VkIGlzc3Vlczoq
KgotCi0tIEFkZCBzdXBwb3J0IGZvciBBbm5vdGF0ZWQgVHlwZXMgW1wjNjBdKGh0dHBzOi8vZ2l0
aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9pc3N1ZXMvNjApCi0tIFF1ZXN0aW9uOiBDb252ZXJ0IFdl
YklETCAtXD4gSmF2YXNjcmlwdCBbXCM1Nl0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwy
LmpzL2lzc3Vlcy81NikKLS0gR2V0IFJvYmluIHRvIGdpdmUgdXMgcHVzaCBwZXJtaXNzaW9ucyBv
biBucG0gW1wjNTRdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9pc3N1ZXMvNTQp
Ci0tIEFkZCBzdXBwb3J0IGZvciByZWNvcmRzIFtcIzUzXShodHRwczovL2dpdGh1Yi5jb20vdzNj
L3dlYmlkbDIuanMvaXNzdWVzLzUzKQotLSBtb2R1bGUgbm90IHN1cHBvcnRlZD8gW1wjNTJdKGh0
dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9pc3N1ZXMvNTIpCi0tIEFkZCBzdXBwb3J0
IGZvciBuYW1lc3BhY2VzIFtcIzUxXShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMv
aXNzdWVzLzUxKQotLSBFeHBvcnQgaXMgbm90IEFNRCBjb21wYXRpYmxlIFtcIzQ4XShodHRwczov
L2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvaXNzdWVzLzQ4KQotLSBDYW4ndCByZXByZXNlbnQg
bGFyZ2UgY29uc3RhbnRzIFtcIzIxXShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMv
aXNzdWVzLzIxKQotCi0qKk1lcmdlZCBwdWxsIHJlcXVlc3RzOioqCi0KLS0gVXBkYXRlIHdlYmlk
bDIuanMgW1wjNjNdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9wdWxsLzYzKSAo
W3RxZXRvXShodHRwczovL2dpdGh1Yi5jb20vdHFldG8pKQotLSBSZW1vdmUgc3VwcG9ydCBmb3Ig
TWFwQ2xhc3MgXChubyBsb25nZXIgdmFsaWQgaW4gV2ViSURMXCkgW1wjNjJdKGh0dHBzOi8vZ2l0
aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9wdWxsLzYyKSAoW2RvbnRjYWxsbWVkb21dKGh0dHBzOi8v
Z2l0aHViLmNvbS9kb250Y2FsbG1lZG9tKSkKLS0gQWRkIHN1cHBvcnQgZm9yIGFubm90YXRlZCB0
eXBlcyBbXCM2MV0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL3B1bGwvNjEpIChb
ZG9udGNhbGxtZWRvbV0oaHR0cHM6Ly9naXRodWIuY29tL2RvbnRjYWxsbWVkb20pKQotLSBTdXBw
b3J0IG5hbWVzcGFjZXMgW1wjNThdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9w
dWxsLzU4KSAoW3Nhc2NoYW5hel0oaHR0cHM6Ly9naXRodWIuY29tL3Nhc2NoYW5heikpCi0tIEFk
ZCBzdXBwb3J0IGZvciByZWNvcmRzIFtcIzU3XShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlk
bDIuanMvcHVsbC81NykgKFtUaW1vdGh5R3VdKGh0dHBzOi8vZ2l0aHViLmNvbS9UaW1vdGh5R3Up
KQotLSBSZWZhY3RvciBbXCM1MF0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL3B1
bGwvNTApIChbbWFyY29zY2FjZXJlc10oaHR0cHM6Ly9naXRodWIuY29tL21hcmNvc2NhY2VyZXMp
KQotLSBmZWF0XChsaWJcKTogYWRkIEFNRCBleHBvcnQgc3VwcG9ydCBcKGNsb3NlcyBcIzQ4XCkg
W1wjNDldKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9wdWxsLzQ5KSAoW21hcmNv
c2NhY2VyZXNdKGh0dHBzOi8vZ2l0aHViLmNvbS9tYXJjb3NjYWNlcmVzKSkKLQotIyMgW3YyLjEu
MF0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL3RyZWUvdjIuMS4wKSAoMjAxNi0w
OC0xMikKLSoqQ2xvc2VkIGlzc3VlczoqKgotCi0tIEV4Y2VwdGlvbiB3aGVuIHBhcnNpbmcgdGVz
dC9zeW50YXgvaWRsL3R5cGVkZWYud2lkbCBbXCM0Nl0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93
ZWJpZGwyLmpzL2lzc3Vlcy80NikKLS0gV3JvbmcganNvbmRpZmZwYXRjaCBsb2NhdGlvbiBbXCM0
Ml0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL2lzc3Vlcy80MikKLS0gJ25wbSBp
bnN0YWxsJyBmYWlscyBvbiBidWlsZGluZyBtaWNyb3RpbWUgW1wjNDBdKGh0dHBzOi8vZ2l0aHVi
LmNvbS93M2Mvd2ViaWRsMi5qcy9pc3N1ZXMvNDApCi0tIENhbid0IHJlcHJlc2VudCB1bmlvbiB0
eXBlcyBpbiB0eXBlZGVmcyBbXCMzOF0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpz
L2lzc3Vlcy8zOCkKLS0gdG9rZW5pc2VcKFwpIGFzc3VtZXMgYSBzcGVjaWZpYyBwcm9wZXJ0eSBl
bnVtZXJhdGlvbiBvcmRlciBbXCMyN10oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpz
L2lzc3Vlcy8yNykKLS0gQWRkIHN1cHBvcnQgZm9yIGl0ZXJhYmxlXDxcPiwgbWFwbGlrZVw8XD4s
IHNldGxpa2VcPFw+IGRlY2xhcmF0aW9ucyBbXCMyNF0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93
ZWJpZGwyLmpzL2lzc3Vlcy8yNCkKLS0gV2ViSURMMiBmYWlscyB0byBwYXJzZSBgYXR0cmlidXRl
IFByb21pc2VcPERPTVN0cmluZ1w+XFtcXSBiYXpgIFtcIzE5XShodHRwczovL2dpdGh1Yi5jb20v
dzNjL3dlYmlkbDIuanMvaXNzdWVzLzE5KQotLSBTdXBwb3J0IGZvciBFeHRlbmRlZEF0dHJpYnV0
ZUlkZW50TGlzdCBcKGN1cnJlbnQgZWRpdG9yJ3MgZHJhZnRcKSBbXCMxOF0oaHR0cHM6Ly9naXRo
dWIuY29tL3czYy93ZWJpZGwyLmpzL2lzc3Vlcy8xOCkKLS0gTm8gTGljZW5zaW5nIEluZm9ybWF0
aW9uIFtcIzE3XShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvaXNzdWVzLzE3KQot
LSBob3cgdG8gcmVnZW5lcmF0ZSB3M2MgaWRsIGZpbGVzID8gW1wjMTRdKGh0dHBzOi8vZ2l0aHVi
LmNvbS93M2Mvd2ViaWRsMi5qcy9pc3N1ZXMvMTQpCi0tIFdoYXQgaXMgbGliL3dyaXRlci5qcyBb
XCMxM10oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL2lzc3Vlcy8xMykKLS0gTnVt
ZXJvdXMgdGVzdHMgYXJlIGZhaWxpbmcgW1wjN10oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJp
ZGwyLmpzL2lzc3Vlcy83KQotLSBBZGQgc3VwcG9ydCBmb3IgbWlzc2luZyB0eXBlcyBpbiBTZXJ2
aWNlV29ya2VyIFtcIzVdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9pc3N1ZXMv
NSkKLS0gSG93IGNhbiBJIHBhcnNlIGp1c3QgYSBmdW5jdGlvbj8gW1wjM10oaHR0cHM6Ly9naXRo
dWIuY29tL3czYy93ZWJpZGwyLmpzL2lzc3Vlcy8zKQotLSBQYXJzZXIgdGhyb3dzIG9uIG51bGxh
YmxlIGFycmF5IG9mIG51bGxhYmxlIGFycmF5IFtcIzJdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mv
d2ViaWRsMi5qcy9pc3N1ZXMvMikKLS0gUGFyc2VyIHRocm93cyBvbiBudWxsYWJsZSBhcnJheSBv
ZiBhbnkgW1wjMV0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL2lzc3Vlcy8xKQot
Ci0qKk1lcmdlZCBwdWxsIHJlcXVlc3RzOioqCi0KLS0gRml4ICJkZWZhdWx0IjogdW5kZWZpbmVk
IFtcIzQ3XShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvcHVsbC80NykgKFtta3d0
eXNdKGh0dHBzOi8vZ2l0aHViLmNvbS9ta3d0eXMpKQotLSBSZXBsYWNlIGV4cGVjdC5qcyB3aXRo
IGV4cGN0IFtcIzQ1XShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvcHVsbC80NSkg
KFtoYWx0b25dKGh0dHBzOi8vZ2l0aHViLmNvbS9oYWx0b24pKQotLSBDb3JyZWN0IGpzb25kaWZm
cGF0Y2ggbG9jYXRpb24uIFtcIzQ0XShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMv
cHVsbC80NCkgKFtoYWx0b25dKGh0dHBzOi8vZ2l0aHViLmNvbS9oYWx0b24pKQotLSBCdW1wIG1p
Y3JvdGltZSB0byAyLjEuMSBbXCM0M10oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpz
L3B1bGwvNDMpIChbaGFsdG9uXShodHRwczovL2dpdGh1Yi5jb20vaGFsdG9uKSkKLS0gRXhwYW5k
IHdyaXRlciBzdXBwb3J0IFtcIzM5XShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMv
cHVsbC8zOSkgKFttYXJrYW5kcnVzXShodHRwczovL2dpdGh1Yi5jb20vbWFya2FuZHJ1cykpCi0t
IEFjY2VwdCB3aWRlciBcKGJ1dCBzdGlsbCBpbmNvbXBsZXRlXCkgc2V0IG9mIGFsbG93ZWQgc3lu
dGF4IGZvciBleHRlbmRlZCBhdHRyaWJ1dGVzIFtcIzM3XShodHRwczovL2dpdGh1Yi5jb20vdzNj
L3dlYmlkbDIuanMvcHVsbC8zNykgKFttbG9nYW5dKGh0dHBzOi8vZ2l0aHViLmNvbS9tbG9nYW4p
KQotLSBBZGQgdGVzdCBmb3IgY2FsbGJhY2sgd2l0aCBtdWx0aXBsZSBhcmd1bWVudHMuIFtcIzM2
XShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvcHVsbC8zNikgKFt0b2JpZV0oaHR0
cHM6Ly9naXRodWIuY29tL3RvYmllKSkKLS0gSXRlcmFibGVzIFtcIzM0XShodHRwczovL2dpdGh1
Yi5jb20vdzNjL3dlYmlkbDIuanMvcHVsbC8zNCkgKFttb3Rpejg4XShodHRwczovL2dpdGh1Yi5j
b20vbW90aXo4OCkpCi0tIEFsbG93IHRyYWlsaW5nIGNvbW1hIGluIGVudW0gdmFsdWUgbGlzdHMs
IHBlciBzcGVjIFtcIzMzXShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvcHVsbC8z
MykgKFttb3Rpejg4XShodHRwczovL2dpdGh1Yi5jb20vbW90aXo4OCkpCi0tIEFsbG93IHR5cGVk
ZWZzIHdpdGhpbiBpbnRlcmZhY2VzIFwoYmVoaW5kIGFuIG9wdC1pbiBmbGFnXCkgW1wjMzJdKGh0
dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9wdWxsLzMyKSAoW21vdGl6ODhdKGh0dHBz
Oi8vZ2l0aHViLmNvbS9tb3Rpejg4KSkKLS0gSW4gZHJhZnQgW1wjMzFdKGh0dHBzOi8vZ2l0aHVi
LmNvbS93M2Mvd2ViaWRsMi5qcy9wdWxsLzMxKSAoW290aHJlZV0oaHR0cHM6Ly9naXRodWIuY29t
L290aHJlZSkpCi0tIEFkZCBzdXBwb3J0IGZvciBleHRlbmRlZCBhdHRyaWJ1dGVzIGlkZW50aWZp
ZXIgbGlzdHMgW1wjMjldKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9wdWxsLzI5
KSAoW3RvYmllXShodHRwczovL2dpdGh1Yi5jb20vdG9iaWUpKQotLSBNYWtlIGBhdHRyaWJ1dGUg
UHJvbWlzZVw8VFw+XFtcXSBhdHRyO2Agd29yay4gW1wjMjZdKGh0dHBzOi8vZ2l0aHViLmNvbS93
M2Mvd2ViaWRsMi5qcy9wdWxsLzI2KSAoW2p5YXNza2luXShodHRwczovL2dpdGh1Yi5jb20vanlh
c3NraW4pKQotLSBQYXJzZSByZXF1aXJlZCBkaWN0aW9uYXJ5IGZpZWxkcy4gW1wjMjVdKGh0dHBz
Oi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9wdWxsLzI1KSAoW2p5YXNza2luXShodHRwczov
L2dpdGh1Yi5jb20vanlhc3NraW4pKQotLSBEZWZpbmUgdGhlIFdlYklETDIgcHJvcGVydHkgb24g
c2VsZiByYXRoZXIgdGhhbiB3aW5kb3cuIFtcIzIzXShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dl
YmlkbDIuanMvcHVsbC8yMykgKFtNczJnZXJdKGh0dHBzOi8vZ2l0aHViLmNvbS9NczJnZXIpKQot
LSBUZWFjaCBXZWJJREwyIHRvIHBhcnNlIFxbXF0gZGVmYXVsdCB2YWx1ZXMuIFtcIzIyXShodHRw
czovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvcHVsbC8yMikgKFtqeWFzc2tpbl0oaHR0cHM6
Ly9naXRodWIuY29tL2p5YXNza2luKSkKLS0gU3VwcG9ydCBJRCBsaXN0IGluIGV4dGVuZGVkIGF0
dHJpYnV0ZXMgW1wjMjBdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9wdWxsLzIw
KSAoW290aHJlZV0oaHR0cHM6Ly9naXRodWIuY29tL290aHJlZSkpCi0tIE1ha2Ugc3VyZSB0aGF0
IGBzZXF1ZW5jZWAgcHJvcGVydHkgb2YgaWRsIHR5cGVzIGlzIHNldCB0byBmYWxzZSBpZiB0aGUg
dHlwZSBpcyBhY3R1YWxseSBgc2VxdWVuY2VgLiBbXCMxNl0oaHR0cHM6Ly9naXRodWIuY29tL3cz
Yy93ZWJpZGwyLmpzL3B1bGwvMTYpIChbdG9iaWVdKGh0dHBzOi8vZ2l0aHViLmNvbS90b2JpZSkp
Ci0tIFBhcmFtZXRyaXplZCBbXCMxNV0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpz
L3B1bGwvMTUpIChbdG9iaWVdKGh0dHBzOi8vZ2l0aHViLmNvbS90b2JpZSkpCi0tIEFkZCBwcm9t
aXNlIHN1cHBvcnQgW1wjMTJdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9wdWxs
LzEyKSAoW3RvYmllXShodHRwczovL2dpdGh1Yi5jb20vdG9iaWUpKQotLSBSZW1vdmUgYnJva2Vu
IGNvdmVyYWdlIHN1cHBvcnQgZnJvbSB0cmF2aXMgZm9yIG5vdy4gW1wjMTFdKGh0dHBzOi8vZ2l0
aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9wdWxsLzExKSAoW3RvYmllXShodHRwczovL2dpdGh1Yi5j
b20vdG9iaWUpKQotLSBBZGQgc3VwcG9ydCBmb3IgXFtNYXBDbGFzc1wodHlwZSwgdHlwZVwpXF0u
IFtcIzEwXShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMvcHVsbC8xMCkgKFt0b2Jp
ZV0oaHR0cHM6Ly9naXRodWIuY29tL3RvYmllKSkKLS0gSW5jb3Jwb3JhdGUgdGVzdHMgZnJvbSB3
aWRscHJvY1xbMVxdIGFuZCByZW1vdmUgZGVwZW5kZW5jeSBvbiBzYWlkIHByb2plY3QuIFtcIzld
KGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9wdWxsLzkpIChbdG9iaWVdKGh0dHBz
Oi8vZ2l0aHViLmNvbS90b2JpZSkpCi0tIFJFQURNRSBpbmNvcnJlY3RseSByZWNvbW1lbmRlZCB1
cGRhdGluZyB0aGUgd2lkbHByb2Mgc3VibW9kdWxlLiBbXCM4XShodHRwczovL2dpdGh1Yi5jb20v
dzNjL3dlYmlkbDIuanMvcHVsbC84KSAoW3RvYmllXShodHRwczovL2dpdGh1Yi5jb20vdG9iaWUp
KQotLSBGaXggYnVnIHdoZXJlIGluc3RydW1lbnRlZCB2ZXJzaW9uIG9mIHdlYmlkbDIgd2FzIGxv
YWRlZC4gW1wjNl0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJpZGwyLmpzL3B1bGwvNikgKFt0
b2JpZV0oaHR0cHM6Ly9naXRodWIuY29tL3RvYmllKSkKLS0gVXNlIGh0dHBzOi8vIGluc3RlYWQg
b2YgZ2l0Oi8vIFtcIzRdKGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViaWRsMi5qcy9wdWxsLzQp
IChbTWFuaXNoZWFydGhdKGh0dHBzOi8vZ2l0aHViLmNvbS9NYW5pc2hlYXJ0aCkpCi0KLQotCi1c
KiAqVGhpcyBDaGFuZ2UgTG9nIHdhcyBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBieSBbZ2l0aHVi
X2NoYW5nZWxvZ19nZW5lcmF0b3JdKGh0dHBzOi8vZ2l0aHViLmNvbS9za3l3aW5kZXIvR2l0aHVi
LUNoYW5nZWxvZy1HZW5lcmF0b3IpKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvTElDRU5TRSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvTElDRU5TRQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggZmQyMWQ0MzliMDkuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvTElDRU5TRQorKysg
L2Rldi9udWxsCkBAIC0xLDIxICswLDAgQEAKLVRoZSBNSVQgTGljZW5zZSAoTUlUKQotCi1Db3B5
cmlnaHQgKGMpIDIwMTQgUm9iaW4gQmVyam9uCi0KLVBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50
ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHkKLW9mIHRo
aXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlICJTb2Z0
d2FyZSIpLCB0byBkZWFsCi1pbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5j
bHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzCi10byB1c2UsIGNvcHksIG1vZGlm
eSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsCi1j
b3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUg
U29mdHdhcmUgaXMKLWZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnM6Ci0KLVRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1p
c3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbAotY29waWVzIG9yIHN1YnN0YW50
aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS4KLQotVEhFIFNPRlRXQVJFIElTIFBST1ZJREVE
ICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1IKLUlNUExJ
RUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZLAotRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJ
TkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFCi1BVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xE
RVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSCi1MSUFCSUxJVFks
IFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJ
U0lORyBGUk9NLAotT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1Ig
VEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKLVNPRlRXQVJFLgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi9SRUFETUUubWQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL1JFQURNRS5tZApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggOWE4ZjNmOGU5YzEuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvUkVBRE1FLm1kCisrKyAv
ZGV2L251bGwKQEAgLTEsNjI5ICswLDAgQEAKLQotIyBXZWJJREwgMgotCi1bIVtOUE0gdmVyc2lv
bl0oaHR0cHM6Ly9iYWRnZS5mdXJ5LmlvL2pzL3dlYmlkbDIuc3ZnKV0oaHR0cDovL2JhZGdlLmZ1
cnkuaW8vanMvd2ViaWRsMikKLQotIyMgUHVycG9zZQotCi1UaGlzIGlzIGEgcGFyc2VyIGZvciB0
aGUgW1dlYklETF0oaHR0cDovL2Rldi53My5vcmcvMjAwNi93ZWJhcGkvV2ViSURMLykgbGFuZ3Vh
Z2UuIElmCi15b3UgZG9uJ3Qga25vdyB3aGF0IHRoYXQgaXMsIHRoZW4geW91IHByb2JhYmx5IGRv
bid0IG5lZWQgaXQuIEl0IGlzIG1lYW50IHRvIGJlIHVzZWQKLWJvdGggaW4gTm9kZSBhbmQgaW4g
dGhlIGJyb3dzZXIgKHRoZSBwYXJzZXIgbGlrZWx5IHdvcmtzIGluIG90aGVyIEpTIGVudmlyb25t
ZW50cywgYnV0Ci1ub3QgdGhlIHRlc3Qgc3VpdGUpLgotCi0jIyBJbnN0YWxsYXRpb24KLQotSnVz
dCB0aGUgdXN1YWwuIEZvciBOb2RlOgotCi1gYGBCYXNoCi1ucG0gaW5zdGFsbCB3ZWJpZGwyCi1g
YGAKLQotSW4gdGhlIGJyb3dzZXI6Ci0KLWBgYEhUTUwKLTxzY3JpcHQgc3JjPSd3ZWJpZGwyLmpz
Jz48L3NjcmlwdD4KLWBgYAotCi0jIyBEb2N1bWVudGF0aW9uCi0KLVRoZSBBUEkgdG8gV2ViSURM
MiBpcyB0cml2aWFsOiB5b3UgcGFyc2UgYSBzdHJpbmcgb2YgV2ViSURMIGFuZCBpdCByZXR1cm5z
IGEgc3ludGF4IHRyZWUuCi0KLSMjIyBQYXJzaW5nCi0KLUluIE5vZGUsIHRoYXQgaGFwcGVucyB3
aXRoOgotCi1gYGBKUwotdmFyIFdlYklETDIgPSByZXF1aXJlKCJ3ZWJpZGwyIik7Ci12YXIgdHJl
ZSA9IFdlYklETDIucGFyc2UoInN0cmluZyBvZiBXZWJJREwiKTsKLWBgYAotCi1JbiB0aGUgYnJv
d3NlcjoKLWBgYEhUTUwKLTxzY3JpcHQgc3JjPSd3ZWJpZGwyLmpzJz48L3NjcmlwdD4KLTxzY3Jp
cHQ+Ci0gIHZhciB0cmVlID0gV2ViSURMMi5wYXJzZSgic3RyaW5nIG9mIFdlYklETCIpOwotPC9z
Y3JpcHQ+Ci1gYGAKLQotIyMjIEVycm9ycwotCi1XaGVuIHRoZXJlIGlzIGEgc3ludGF4IGVycm9y
IGluIHRoZSBXZWJJREwsIGl0IHRocm93cyBhbiBleGNlcHRpb24gb2JqZWN0IHdpdGggdGhlIGZv
bGxvd2luZwotcHJvcGVydGllczoKLQotKiBgbWVzc2FnZWA6IHRoZSBlcnJvciBtZXNzYWdlCi0q
IGBsaW5lYDogdGhlIGxpbmUgYXQgd2hpY2ggdGhlIGVycm9yIG9jY3VycmVkLgotKiBgaW5wdXRg
OiBhIHNob3J0IHBlZWsgYXQgdGhlIHRleHQgYXQgdGhlIHBvaW50IHdoZXJlIHRoZSBlcnJvciBo
YXBwZW5lZAotKiBgdG9rZW5zYDogdGhlIGZpdmUgdG9rZW5zIGF0IHRoZSBwb2ludCBvZiBlcnJv
ciwgYXMgdW5kZXJzdG9vZCBieSB0aGUgdG9rZW5pc2VyCi0gICh0aGlzIGlzIHRoZSBzYW1lIGNv
bnRlbnQgYXMgYGlucHV0YCwgYnV0IHNlZW4gZnJvbSB0aGUgdG9rZW5pc2VyJ3MgcG9pbnQgb2Yg
dmlldykKLQotVGhlIGV4Y2VwdGlvbiBhbHNvIGhhcyBhIGB0b1N0cmluZygpYCBtZXRob2QgdGhh
dCBob3BlZnVsbHkgc2hvdWxkIHByb2R1Y2UgYSBkZWNlbnQKLWVycm9yIG1lc3NhZ2UuCi0KLSMj
IyBBU1QgKEFic3RyYWN0IFN5bnRheCBUcmVlKQotCi1UaGUgYHBhcnNlKClgIG1ldGhvZCByZXR1
cm5zIGEgdHJlZSBvYmplY3QgcmVwcmVzZW50aW5nIHRoZSBwYXJzZSB0cmVlIG9mIHRoZSBJREwu
Ci1Db21tZW50IGFuZCB3aGl0ZSBzcGFjZSBhcmUgbm90IHJlcHJlc2VudGVkIGluIHRoZSBBU1Qu
Ci0KLVRoZSByb290IG9mIHRoaXMgb2JqZWN0IGlzIGFsd2F5cyBhbiBhcnJheSBvZiBkZWZpbml0
aW9ucyAod2hlcmUgZGVmaW5pdGlvbnMgYXJlCi1hbnkgb2YgaW50ZXJmYWNlcywgZGljdGlvbmFy
aWVzLCBjYWxsYmFja3MsIGV0Yy4g4oCUIGFueXRoaW5nIHRoYXQgY2FuIG9jY3VyIGF0IHRoZSBy
b290Ci1vZiB0aGUgSURMKS4KLQotIyMjIElETCBUeXBlCi0KLVRoaXMgc3RydWN0dXJlIGlzIHVz
ZWQgaW4gbWFueSBvdGhlciBwbGFjZXMgKG9wZXJhdGlvbiByZXR1cm4gdHlwZXMsIGFyZ3VtZW50
IHR5cGVzLCBldGMuKS4KLUl0IGNhcHR1cmVzIGEgV2ViSURMIHR5cGUgd2l0aCBhIG51bWJlciBv
ZiBvcHRpb25zLiBUeXBlcyBsb29rIGxpa2UgdGhpcyBhbmQgYXJlIHR5cGljYWxseQotYXR0YWNo
ZWQgdG8gYSBmaWVsZCBjYWxsZWQgYGlkbFR5cGVgOgotCi1gYGBKUwotewotICAidHlwZSI6ICJh
dHRyaWJ1dGUtdHlwZSIsCi0gICJnZW5lcmljIjogbnVsbCwKLSAgImlkbFR5cGUiOiAidW5zaWdu
ZWQgc2hvcnQiLAotICAibnVsbGFibGUiOiBmYWxzZSwKLSAgInVuaW9uIjogZmFsc2UsCi0gICJl
eHRBdHRycyI6IFsuLi5dCi19Ci1gYGAKLQotV2hlcmUgdGhlIGZpZWxkcyBhcmUgYXMgZm9sbG93
czoKLQotKiBgdHlwZWA6IFN0cmluZyBpbmRpY2F0aW5nIHdoZXJlIHRoaXMgdHlwZSBpcyB1c2Vk
LiBDYW4gYmUgYG51bGxgIGlmIG5vdCBhcHBsaWNhYmxlLgotKiBgZ2VuZXJpY2A6IFN0cmluZyBp
bmRpY2F0aW5nIHRoZSBnZW5lcmljIHR5cGUgKGUuZy4gIlByb21pc2UiLCAic2VxdWVuY2UiKS4g
YG51bGxgCi0gIG90aGVyd2lzZS4KLSogYGlkbFR5cGVgOiBDYW4gYmUgZGlmZmVyZW50IHRoaW5n
cyBkZXBlbmRpbmcgb24gY29udGV4dC4gSW4gbW9zdCBjYXNlcywgdGhpcyB3aWxsIGp1c3QKLSAg
YmUgYSBzdHJpbmcgd2l0aCB0aGUgdHlwZSBuYW1lLiBCdXQgdGhlIHJlYXNvbiB0aGlzIGZpZWxk
IGlzbid0IGNhbGxlZCAidHlwZU5hbWUiIGlzCi0gIGJlY2F1c2UgaXQgY2FuIHRha2UgbW9yZSBj
b21wbGV4IHZhbHVlcy4gSWYgdGhlIHR5cGUgaXMgYSB1bmlvbiwgdGhlbiB0aGlzIGNvbnRhaW5z
IGFuCi0gIGFycmF5IG9mIHRoZSB0eXBlcyBpdCB1bml0ZXMuIElmIGl0IGlzIGEgZ2VuZXJpYyB0
eXBlLCBpdCBjb250YWlucyB0aGUgSURMIHR5cGUKLSAgZGVzY3JpcHRpb24gZm9yIHRoZSB0eXBl
IGluIHRoZSBzZXF1ZW5jZSwgdGhlIGV2ZW50dWFsIHZhbHVlIG9mIHRoZSBwcm9taXNlLCBldGMu
Ci0qIGBudWxsYWJsZWA6IEJvb2xlYW4gaW5kaWNhdGluZyB3aGV0aGVyIHRoaXMgaXMgbnVsbGFi
bGUgb3Igbm90LgotKiBgdW5pb25gOiBCb29sZWFuIGluZGljYXRpbmcgd2hldGhlciB0aGlzIGlz
IGEgdW5pb24gdHlwZSBvciBub3QuCi0qIGBleHRBdHRyc2A6IEEgbGlzdCBvZiBbZXh0ZW5kZWQg
YXR0cmlidXRlc10oI2V4dGVuZGVkLWF0dHJpYnV0ZXMpLgotCi0jIyMgSW50ZXJmYWNlCi0KLUlu
dGVyZmFjZXMgbG9vayBsaWtlIHRoaXM6Ci0KLWBgYEpTCi17Ci0gICJ0eXBlIjogImludGVyZmFj
ZSIsCi0gICJuYW1lIjogIkFuaW1hbCIsCi0gICJwYXJ0aWFsIjogZmFsc2UsCi0gICJtZW1iZXJz
IjogWy4uLl0sCi0gICJpbmhlcml0YW5jZSI6IG51bGwsCi0gICJleHRBdHRycyI6IFsuLi5dCi19
LCB7Ci0gICJ0eXBlIjogImludGVyZmFjZSIsCi0gICJuYW1lIjogIkh1bWFuIiwKLSAgInBhcnRp
YWwiOiBmYWxzZSwKLSAgIm1lbWJlcnMiOiBbLi4uXSwKLSAgImluaGVyaXRhbmNlIjogIkFuaW1h
bCIsCi0gICJleHRBdHRycyI6IFsuLi5dCi19Ci1gYGAKLQotVGhlIGZpZWxkcyBhcmUgYXMgZm9s
bG93czoKLQotKiBgdHlwZWA6IEFsd2F5cyAiaW50ZXJmYWNlIi4KLSogYG5hbWVgOiBUaGUgbmFt
ZSBvZiB0aGUgaW50ZXJmYWNlLgotKiBgcGFydGlhbGA6IEEgYm9vbGVhbiBpbmRpY2F0aW5nIHdo
ZXRoZXIgaXQncyBhIHBhcnRpYWwgaW50ZXJmYWNlLgotKiBgbWVtYmVyc2A6IEFuIGFycmF5IG9m
IGludGVyZmFjZSBtZW1iZXJzIChhdHRyaWJ1dGVzLCBvcGVyYXRpb25zLCBldGMuKS4gRW1wdHkg
aWYgdGhlcmUgYXJlIG5vbmUuCi0qIGBpbmhlcml0YW5jZWA6IEEgc3RyaW5nIGdpdmluZyB0aGUg
bmFtZSBvZiBhbiBpbnRlcmZhY2UgdGhpcyBvbmUgaW5oZXJpdHMgZnJvbSwgYG51bGxgIG90aGVy
d2lzZS4KLSAgKipOT1RFKio6IEluIHYxIHRoaXMgd2FzIGFuIGFycmF5LCBidXQgbXVsdGlwbGUg
aW5oZXJpdGFuY2UgaXMgbm8gbG9uZ2VyIHN1cHBvcnRlZCBzbyB0aGlzIGRpZG4ndCBtYWtlCi0g
IHNlbnNlLgotKiBgZXh0QXR0cnNgOiBBIGxpc3Qgb2YgW2V4dGVuZGVkIGF0dHJpYnV0ZXNdKCNl
eHRlbmRlZC1hdHRyaWJ1dGVzKS4KLQotIyMjIEludGVyZmFjZSBtaXhpbnMKLQotSW50ZXJmYWNl
cyBtaXhpbnMgbG9vayBsaWtlIHRoaXM6Ci0KLWBgYEpTCi17Ci0gICJ0eXBlIjogImludGVyZmFj
ZSBtaXhpbiIsCi0gICJuYW1lIjogIkFuaW1hbCIsCi0gICJwYXJ0aWFsIjogZmFsc2UsCi0gICJt
ZW1iZXJzIjogWy4uLl0sCi0gICJleHRBdHRycyI6IFsuLi5dCi19LCB7Ci0gICJ0eXBlIjogImlu
dGVyZmFjZSBtaXhpbiIsCi0gICJuYW1lIjogIkh1bWFuIiwKLSAgInBhcnRpYWwiOiBmYWxzZSwK
LSAgIm1lbWJlcnMiOiBbLi4uXSwKLSAgImV4dEF0dHJzIjogWy4uLl0KLX0KLWBgYAotCi1UaGUg
ZmllbGRzIGFyZSBhcyBmb2xsb3dzOgotCi0qIGB0eXBlYDogQWx3YXlzICJpbnRlcmZhY2UgbWl4
aW4iLgotKiBgbmFtZWA6IFRoZSBuYW1lIG9mIHRoZSBpbnRlcmZhY2UgbWl4aW4uCi0qIGBwYXJ0
aWFsYDogQSBib29sZWFuIGluZGljYXRpbmcgd2hldGhlciBpdCdzIGEgcGFydGlhbCBpbnRlcmZh
Y2UgbWl4aW4uCi0qIGBtZW1iZXJzYDogQW4gYXJyYXkgb2YgaW50ZXJmYWNlIG1lbWJlcnMgKGF0
dHJpYnV0ZXMsIG9wZXJhdGlvbnMsIGV0Yy4pLiBFbXB0eSBpZiB0aGVyZSBhcmUgbm9uZS4KLSog
YGV4dEF0dHJzYDogQSBsaXN0IG9mIFtleHRlbmRlZCBhdHRyaWJ1dGVzXSgjZXh0ZW5kZWQtYXR0
cmlidXRlcykuCi0KLSMjIyBOYW1lc3BhY2UKLQotTmFtZXNwYWNlcyBsb29rIGxpa2UgdGhpczoK
LQotYGBgSlMKLXsKLSAgInR5cGUiOiAibmFtZXNwYWNlIiwKLSAgIm5hbWUiOiAiQ29uc29sZSIs
Ci0gICJwYXJ0aWFsIjogZmFsc2UsCi0gICJtZW1iZXJzIjogWy4uLl0sCi0gICJleHRBdHRycyI6
IFsuLi5dCi19Ci1gYGAKLQotVGhlIGZpZWxkcyBhcmUgYXMgZm9sbG93czoKLQotKiBgdHlwZWA6
IEFsd2F5cyAibmFtZXNwYWNlIi4KLSogYG5hbWVgOiBUaGUgbmFtZSBvZiB0aGUgbmFtZXNwYWNl
LgotKiBgcGFydGlhbGA6IEEgYm9vbGVhbiBpbmRpY2F0aW5nIHdoZXRoZXIgaXQncyBhIHBhcnRp
YWwgbmFtZXNwYWNlLgotKiBgbWVtYmVyc2A6IEFuIGFycmF5IG9mIG5hbWVzcGFjZSBtZW1iZXJz
IChhdHRyaWJ1dGVzIGFuZCBvcGVyYXRpb25zKS4gRW1wdHkgaWYgdGhlcmUgYXJlIG5vbmUuCi0q
IGBleHRBdHRyc2A6IEEgbGlzdCBvZiBbZXh0ZW5kZWQgYXR0cmlidXRlc10oI2V4dGVuZGVkLWF0
dHJpYnV0ZXMpLgotCi0jIyMgQ2FsbGJhY2sgSW50ZXJmYWNlcwotCi1UaGVzZSBhcmUgY2FwdHVy
ZWQgYnkgdGhlIHNhbWUgc3RydWN0dXJlIGFzIFtJbnRlcmZhY2VzXSgjaW50ZXJmYWNlKSBleGNl
cHQgdGhhdAotdGhlaXIgYHR5cGVgIGZpZWxkIGlzICJjYWxsYmFjayBpbnRlcmZhY2UiLgotCi0j
IyMgQ2FsbGJhY2sKLQotQSBjYWxsYmFjayBsb29rcyBsaWtlIHRoaXM6Ci0KLWBgYEpTCi17Ci0g
ICJ0eXBlIjogImNhbGxiYWNrIiwKLSAgIm5hbWUiOiAiQXN5bmNPcGVyYXRpb25DYWxsYmFjayIs
Ci0gICJpZGxUeXBlIjogewotICAgICJ0eXBlIjogInJldHVybi10eXBlIiwKLSAgICAic2VxdWVu
Y2UiOiBmYWxzZSwKLSAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgIm51bGxhYmxlIjogZmFsc2Us
Ci0gICAgInVuaW9uIjogZmFsc2UsCi0gICAgImlkbFR5cGUiOiAidm9pZCIsCi0gICAgImV4dEF0
dHJzIjogW10KLSAgfSwKLSAgImFyZ3VtZW50cyI6IFsuLi5dLAotICAiZXh0QXR0cnMiOiBbXQot
fQotYGBgCi0KLVRoZSBmaWVsZHMgYXJlIGFzIGZvbGxvd3M6Ci0KLSogYHR5cGVgOiBBbHdheXMg
ImNhbGxiYWNrIi4KLSogYG5hbWVgOiBUaGUgbmFtZSBvZiB0aGUgY2FsbGJhY2suCi0qIGBpZGxU
eXBlYDogQW4gW0lETCBUeXBlXSgjaWRsLXR5cGUpIGRlc2NyaWJpbmcgd2hhdCB0aGUgY2FsbGJh
Y2sgcmV0dXJucy4KLSogYGFyZ3VtZW50c2A6IEEgbGlzdCBvZiBbYXJndW1lbnRzXSgjYXJndW1l
bnRzKSwgYXMgaW4gZnVuY3Rpb24gcGFyYW10ZXJzLgotKiBgZXh0QXR0cnNgOiBBIGxpc3Qgb2Yg
W2V4dGVuZGVkIGF0dHJpYnV0ZXNdKCNleHRlbmRlZC1hdHRyaWJ1dGVzKS4KLQotIyMjIERpY3Rp
b25hcnkKLQotQSBkaWN0aW9uYXJ5IGxvb2tzIGxpa2UgdGhpczoKLQotYGBgSlMKLXsKLSAgInR5
cGUiOiAiZGljdGlvbmFyeSIsCi0gICJuYW1lIjogIlBhaW50T3B0aW9ucyIsCi0gICJwYXJ0aWFs
IjogZmFsc2UsCi0gICJtZW1iZXJzIjogW3sKLSAgICAidHlwZSI6ICJmaWVsZCIsCi0gICAgIm5h
bWUiOiAiZmlsbFBhdHRlcm4iLAotICAgICJyZXF1aXJlZCI6IGZhbHNlLAotICAgICJpZGxUeXBl
IjogewotICAgICAgInR5cGUiOiAiZGljdGlvbmFyeS10eXBlIiwKLSAgICAgICJzZXF1ZW5jZSI6
IGZhbHNlLAotICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgIm51bGxhYmxlIjogdHJ1ZSwK
LSAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgImlkbFR5cGUiOiAiRE9NU3RyaW5nIiwKLSAg
ICAgICJleHRBdHRycyI6IFsuLi5dCi0gICAgfSwKLSAgICAiZXh0QXR0cnMiOiBbXSwKLSAgICAi
ZGVmYXVsdCI6IHsKLSAgICAgICJ0eXBlIjogInN0cmluZyIsCi0gICAgICAidmFsdWUiOiAiYmxh
Y2siCi0gICAgfQotICB9XSwKLSAgImluaGVyaXRhbmNlIjogbnVsbCwKLSAgImV4dEF0dHJzIjog
W10KLX0KLWBgYAotCi1UaGUgZmllbGRzIGFyZSBhcyBmb2xsb3dzOgotCi0qIGB0eXBlYDogQWx3
YXlzICJkaWN0aW9uYXJ5Ii4KLSogYG5hbWVgOiBUaGUgZGljdGlvbmFyeSBuYW1lLgotKiBgcGFy
dGlhbGA6IEJvb2xlYW4gaW5kaWNhdGluZyB3aGV0aGVyIGl0J3MgYSBwYXJ0aWFsIGRpY3Rpb25h
cnkuCi0qIGBtZW1iZXJzYDogQW4gYXJyYXkgb2YgbWVtYmVycyAoc2VlIGJlbG93KS4KLSogYGlu
aGVyaXRhbmNlYDogQSBzdHJpbmcgaW5kaWNhdGluZyB3aGljaCBkaWN0aW9uYXJ5IGlzIGJlaW5n
IGluaGVyaXRlZCBmcm9tLCBgbnVsbGAgb3RoZXJ3aXNlLgotKiBgZXh0QXR0cnNgOiBBIGxpc3Qg
b2YgW2V4dGVuZGVkIGF0dHJpYnV0ZXNdKCNleHRlbmRlZC1hdHRyaWJ1dGVzKS4KLQotQWxsIHRo
ZSBtZW1iZXJzIGFyZSBmaWVsZHMgYXMgZm9sbG93czoKLQotKiBgdHlwZWA6IEFsd2F5cyAiZmll
bGQiLgotKiBgbmFtZWA6IFRoZSBuYW1lIG9mIHRoZSBmaWVsZC4KLSogYHJlcXVpcmVkYDogQm9v
bGVhbiBpbmRpY2F0aW5nIHdoZXRoZXIgdGhpcyBpcyBhIFtyZXF1aXJlZF0oaHR0cHM6Ly9oZXlj
YW0uZ2l0aHViLmlvL3dlYmlkbC8jcmVxdWlyZWQtZGljdGlvbmFyeS1tZW1iZXIpIGZpZWxkLgot
KiBgaWRsVHlwZWA6IEFuIFtJREwgVHlwZV0oI2lkbC10eXBlKSBkZXNjcmliaW5nIHdoYXQgZmll
bGQncyB0eXBlLgotKiBgZXh0QXR0cnNgOiBBIGxpc3Qgb2YgW2V4dGVuZGVkIGF0dHJpYnV0ZXNd
KCNleHRlbmRlZC1hdHRyaWJ1dGVzKS4KLSogYGRlZmF1bHRgOiBBIFtkZWZhdWx0IHZhbHVlXSgj
ZGVmYXVsdC1hbmQtY29uc3QtdmFsdWVzKSwgYWJzZW50IGlmIHRoZXJlIGlzIG5vbmUuCi0KLSMj
IyBFbnVtCi0KLUFuIGVudW0gbG9va3MgbGlrZSB0aGlzOgotCi1gYGBKUwotewotICAidHlwZSI6
ICJlbnVtIiwKLSAgIm5hbWUiOiAiTWVhbFR5cGUiLAotICAidmFsdWVzIjogWwotICAgIHsgInR5
cGUiOiAic3RyaW5nIiwgInZhbHVlIjogInJpY2UiIH0sCi0gICAgeyAidHlwZSI6ICJzdHJpbmci
LCAidmFsdWUiOiAibm9vZGxlcyIgfSwKLSAgICB7ICJ0eXBlIjogInN0cmluZyIsICJ2YWx1ZSI6
ICJvdGhlciIgfQotICBdLAotICAiZXh0QXR0cnMiOiBbXQotfQotYGBgCi0KLVRoZSBmaWVsZHMg
YXJlIGFzIGZvbGxvd3M6Ci0KLSogYHR5cGVgOiBBbHdheXMgImVudW0iLgotKiBgbmFtZWA6IFRo
ZSBlbnVtJ3MgbmFtZS4KLSogYHZhbHVlc2A6IEFuIGFycmF5IG9mIHZhbHVlcy4KLSogYGV4dEF0
dHJzYDogQSBsaXN0IG9mIFtleHRlbmRlZCBhdHRyaWJ1dGVzXSgjZXh0ZW5kZWQtYXR0cmlidXRl
cykuCi0KLSMjIyBUeXBlZGVmCi0KLUEgdHlwZWRlZiBsb29rcyBsaWtlIHRoaXM6Ci0KLWBgYEpT
Ci17Ci0gICJ0eXBlIjogInR5cGVkZWYiLAotICAiaWRsVHlwZSI6IHsKLSAgICAidHlwZSI6ICJ0
eXBlZGVmLXR5cGUiLAotICAgICJzZXF1ZW5jZSI6IHRydWUsCi0gICAgImdlbmVyaWMiOiAic2Vx
dWVuY2UiLAotICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICJ1bmlvbiI6IGZhbHNlLAotICAg
ICJpZGxUeXBlIjogewotICAgICAgInR5cGUiOiAidHlwZWRlZi10eXBlIiwKLSAgICAgICJzZXF1
ZW5jZSI6IGZhbHNlLAotICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgIm51bGxhYmxlIjog
ZmFsc2UsCi0gICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICJpZGxUeXBlIjogIlBvaW50IiwK
LSAgICAgICJleHRBdHRycyI6IFsuLi5dCi0gICAgfSwKLSAgICAiZXh0QXR0cnMiOiBbLi4uXQot
ICB9LAotICAibmFtZSI6ICJQb2ludFNlcXVlbmNlIiwKLSAgImV4dEF0dHJzIjogW10KLX0KLWBg
YAotCi0KLVRoZSBmaWVsZHMgYXJlIGFzIGZvbGxvd3M6Ci0KLSogYHR5cGVgOiBBbHdheXMgInR5
cGVkZWYiLgotKiBgbmFtZWA6IFRoZSB0eXBlZGVmJ3MgbmFtZS4KLSogYGlkbFR5cGVgOiBBbiBb
SURMIFR5cGVdKCNpZGwtdHlwZSkgZGVzY3JpYmluZyB3aGF0IHR5cGVkZWYncyB0eXBlLgotKiBg
ZXh0QXR0cnNgOiBBIGxpc3Qgb2YgW2V4dGVuZGVkIGF0dHJpYnV0ZXNdKCNleHRlbmRlZC1hdHRy
aWJ1dGVzKS4KLQotIyMjIEltcGxlbWVudHMKLQotQW4gaW1wbGVtZW50cyBkZWZpbml0aW9uIGxv
b2tzIGxpa2UgdGhpczoKLQotYGBgSlMKLXsKLSAgInR5cGUiOiAiaW1wbGVtZW50cyIsCi0gICJ0
YXJnZXQiOiAiTm9kZSIsCi0gICJpbXBsZW1lbnRzIjogIkV2ZW50VGFyZ2V0IiwKLSAgImV4dEF0
dHJzIjogW10KLX0KLWBgYAotCi1UaGUgZmllbGRzIGFyZSBhcyBmb2xsb3dzOgotCi0qIGB0eXBl
YDogQWx3YXlzICJpbXBsZW1lbnRzIi4KLSogYHRhcmdldGA6IFRoZSBpbnRlcmZhY2UgdGhhdCBp
bXBsZW1lbnRzIGFub3RoZXIuCi0qIGBpbXBsZW1lbnRzYDogVGhlIGludGVyZmFjZSB0aGF0IGlz
IGJlaW5nIGltcGxlbWVudGVkIGJ5IHRoZSB0YXJnZXQuCi0qIGBleHRBdHRyc2A6IEEgbGlzdCBv
ZiBbZXh0ZW5kZWQgYXR0cmlidXRlc10oI2V4dGVuZGVkLWF0dHJpYnV0ZXMpLgotCi0jIyMgSW5j
bHVkZXMKLQotQW4gaW5jbHVkZXMgZGVmaW5pdGlvbiBsb29rcyBsaWtlIHRoaXM6Ci0KLWBgYEpT
Ci17Ci0gICJ0eXBlIjogImluY2x1ZGVzIiwKLSAgInRhcmdldCI6ICJOb2RlIiwKLSAgImluY2x1
ZGVzIjogIkV2ZW50VGFyZ2V0IiwKLSAgImV4dEF0dHJzIjogW10KLX0KLWBgYAotCi1UaGUgZmll
bGRzIGFyZSBhcyBmb2xsb3dzOgotCi0qIGB0eXBlYDogQWx3YXlzICJpbmNsdWRlcyIuCi0qIGB0
YXJnZXRgOiBUaGUgaW50ZXJmYWNlIHRoYXQgaW5jbHVkZXMgYW4gaW50ZXJmYWNlIG1peGluLgot
KiBgaW5jbHVkZXNgOiBUaGUgaW50ZXJmYWNlIG1peGluIHRoYXQgaXMgYmVpbmcgaW5jbHVkZWQg
YnkgdGhlIHRhcmdldC4KLSogYGV4dEF0dHJzYDogQSBsaXN0IG9mIFtleHRlbmRlZCBhdHRyaWJ1
dGVzXSgjZXh0ZW5kZWQtYXR0cmlidXRlcykuCi0KLSMjIyBPcGVyYXRpb24gTWVtYmVyCi0KLUFu
IG9wZXJhdGlvbiBsb29rcyBsaWtlIHRoaXM6Ci1gYGBKUwotewotICAidHlwZSI6ICJvcGVyYXRp
b24iLAotICAiZ2V0dGVyIjogZmFsc2UsCi0gICJzZXR0ZXIiOiBmYWxzZSwKLSAgImRlbGV0ZXIi
OiBmYWxzZSwKLSAgInN0YXRpYyI6IGZhbHNlLAotICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAg
ImlkbFR5cGUiOiB7Ci0gICAgInR5cGUiOiAicmV0dXJuLXR5cGUiLAotICAgICJzZXF1ZW5jZSI6
IGZhbHNlLAotICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAg
ICAidW5pb24iOiBmYWxzZSwKLSAgICAiaWRsVHlwZSI6ICJ2b2lkIiwKLSAgICAiZXh0QXR0cnMi
OiBbXQotICB9LAotICAibmFtZSI6ICJpbnRlcnNlY3Rpb24iLAotICAiYXJndW1lbnRzIjogW3sK
LSAgICAib3B0aW9uYWwiOiBmYWxzZSwKLSAgICAidmFyaWFkaWMiOiB0cnVlLAotICAgICJleHRB
dHRycyI6IFtdLAotICAgICJpZGxUeXBlIjogewotICAgICAgInR5cGUiOiAiYXJndW1lbnQtdHlw
ZSIsCi0gICAgICAic2VxdWVuY2UiOiBmYWxzZSwKLSAgICAgICJnZW5lcmljIjogbnVsbCwKLSAg
ICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAiaWRs
VHlwZSI6ICJsb25nIiwKLSAgICAgICJleHRBdHRycyI6IFsuLi5dCi0gICAgfSwKLSAgICAibmFt
ZSI6ICJpbnRzIgotICB9XSwKLSAgImV4dEF0dHJzIjogW10KLX0KLWBgYAotCi1UaGUgZmllbGRz
IGFyZSBhcyBmb2xsb3dzOgotCi0qIGB0eXBlYDogQWx3YXlzICJvcGVyYXRpb24iLgotKiBgZ2V0
dGVyYDogVHJ1ZSBpZiBhIGdldHRlciBvcGVyYXRpb24uCi0qIGBzZXR0ZXJgOiBUcnVlIGlmIGEg
c2V0dGVyIG9wZXJhdGlvbi4KLSogYGRlbGV0ZXJgOiBUcnVlIGlmIGEgZGVsZXRlciBvcGVyYXRp
b24uCi0qIGBzdGF0aWNgOiBUcnVlIGlmIGEgc3RhdGljIG9wZXJhdGlvbi4KLSogYHN0cmluZ2lm
aWVyYDogVHJ1ZSBpZiBhIHN0cmluZ2lmaWVyIG9wZXJhdGlvbi4KLSogYGlkbFR5cGVgOiBBbiBb
SURMIFR5cGVdKCNpZGwtdHlwZSkgb2Ygd2hhdCB0aGUgb3BlcmF0aW9uIHJldHVybnMuIElmIGEg
c3RyaW5naWZpZXIsIG1heSBiZSBhYnNlbnQuCi0qIGBuYW1lYDogVGhlIG5hbWUgb2YgdGhlIG9w
ZXJhdGlvbi4gSWYgYSBzdHJpbmdpZmllciwgbWF5IGJlIGBudWxsYC4KLSogYGFyZ3VtZW50c2A6
IEFuIGFycmF5IG9mIFthcmd1bWVudHNdKCNhcmd1bWVudHMpIGZvciB0aGUgb3BlcmF0aW9uLgot
KiBgZXh0QXR0cnNgOiBBIGxpc3Qgb2YgW2V4dGVuZGVkIGF0dHJpYnV0ZXNdKCNleHRlbmRlZC1h
dHRyaWJ1dGVzKS4KLQotIyMjIEF0dHJpYnV0ZSBNZW1iZXIKLQotQW4gYXR0cmlidXRlIG1lbWJl
ciBsb29rcyBsaWtlIHRoaXM6Ci0KLWBgYEpTCi17Ci0gICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0g
ICJzdGF0aWMiOiBmYWxzZSwKLSAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICJpbmhlcml0Ijog
ZmFsc2UsCi0gICJyZWFkb25seSI6IGZhbHNlLAotICAiaWRsVHlwZSI6IHsKLSAgICAidHlwZSI6
ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAgInNlcXVlbmNlIjogZmFsc2UsCi0gICAgImdlbmVyaWMi
OiBudWxsLAotICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICJ1bmlvbiI6IGZhbHNlLAotICAg
ICJpZGxUeXBlIjogIlJlZ0V4cCIsCi0gICAgImV4dEF0dHJzIjogWy4uLl0KLSAgfSwKLSAgIm5h
bWUiOiAicmVnZXhwIiwKLSAgImV4dEF0dHJzIjogW10KLX0KLWBgYAotCi1UaGUgZmllbGRzIGFy
ZSBhcyBmb2xsb3dzOgotCi0qIGB0eXBlYDogQWx3YXlzICJhdHRyaWJ1dGUiLgotKiBgbmFtZWA6
IFRoZSBhdHRyaWJ1dGUncyBuYW1lLgotKiBgc3RhdGljYDogVHJ1ZSBpZiBpdCdzIGEgc3RhdGlj
IGF0dHJpYnV0ZS4KLSogYHN0cmluZ2lmaWVyYDogVHJ1ZSBpZiBpdCdzIGEgc3RyaW5naWZpZXIg
YXR0cmlidXRlLgotKiBgaW5oZXJpdGA6IFRydWUgaWYgaXQncyBhbiBpbmhlcml0IGF0dHJpYnV0
ZS4KLSogYHJlYWRvbmx5YDogVHJ1ZSBpZiBpdCdzIGEgcmVhZC1vbmx5IGF0dHJpYnV0ZS4KLSog
YGlkbFR5cGVgOiBBbiBbSURMIFR5cGVdKCNpZGwtdHlwZSkgZm9yIHRoZSBhdHRyaWJ1dGUuCi0q
IGBleHRBdHRyc2A6IEEgbGlzdCBvZiBbZXh0ZW5kZWQgYXR0cmlidXRlc10oI2V4dGVuZGVkLWF0
dHJpYnV0ZXMpLgotCi0jIyMgQ29uc3RhbnQgTWVtYmVyCi0KLUEgY29uc3RhbnQgbWVtYmVyIGxv
b2tzIGxpa2UgdGhpczoKLQotYGBgSlMKLXsKLSAgInR5cGUiOiAiY29uc3QiLAotICAibnVsbGFi
bGUiOiBmYWxzZSwKLSAgImlkbFR5cGUiOiB7Ci0gICAgInR5cGUiOiAiY29uc3QtdHlwZSIsCi0g
ICAgInNlcXVlbmNlIjogZmFsc2UsCi0gICAgImdlbmVyaWMiOiBudWxsLAotICAgICJudWxsYWJs
ZSI6IGZhbHNlLAotICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICJpZGxUeXBlIjogImJvb2xlYW4i
Ci0gICAgImV4dEF0dHJzIjogW10KLSAgfSwKLSAgIm5hbWUiOiAiREVCVUciLAotICAidmFsdWUi
OiB7Ci0gICAgInR5cGUiOiAiYm9vbGVhbiIsCi0gICAgInZhbHVlIjogZmFsc2UKLSAgfSwKLSAg
ImV4dEF0dHJzIjogW10KLX0KLWBgYAotCi1UaGUgZmllbGRzIGFyZSBhcyBmb2xsb3dzOgotCi0q
IGB0eXBlYDogQWx3YXlzICJjb25zdCIuCi0qIGBudWxsYWJsZWA6IFdoZXRoZXIgaXRzIHR5cGUg
aXMgbnVsbGFibGUuCi0qIGBpZGxUeXBlYDogQW4gW0lETCBUeXBlXSgjaWRsLXR5cGUpIG9mIHRo
ZSBjb25zdGFudCB0aGF0IHJlcHJlc2VudHMgYSBzaW1wbGUgdHlwZSwgdGhlIHR5cGUgbmFtZS4K
LSogYG5hbWVgOiBUaGUgbmFtZSBvZiB0aGUgY29uc3RhbnQuCi0qIGB2YWx1ZWA6IFRoZSBjb25z
dGFudCB2YWx1ZSBhcyBkZXNjcmliZWQgYnkgW0NvbnN0IFZhbHVlc10oI2RlZmF1bHQtYW5kLWNv
bnN0LXZhbHVlcykKLSogYGV4dEF0dHJzYDogQSBsaXN0IG9mIFtleHRlbmRlZCBhdHRyaWJ1dGVz
XSgjZXh0ZW5kZWQtYXR0cmlidXRlcykuCi0KLSMjIyBBcmd1bWVudHMKLQotVGhlIGFyZ3VtZW50
cyAoZS5nLiBmb3IgYW4gb3BlcmF0aW9uKSBsb29rIGxpa2UgdGhpczoKLQotYGBgSlMKLXsKLSAg
ImFyZ3VtZW50cyI6IFt7Ci0gICAgIm9wdGlvbmFsIjogZmFsc2UsCi0gICAgInZhcmlhZGljIjog
dHJ1ZSwKLSAgICAiZXh0QXR0cnMiOiBbXSwKLSAgICAiaWRsVHlwZSI6IHsKLSAgICAgICJ0eXBl
IjogImFyZ3VtZW50LXR5cGUiLAotICAgICAgInNlcXVlbmNlIjogZmFsc2UsCi0gICAgICAiZ2Vu
ZXJpYyI6IG51bGwsCi0gICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICJ1bmlvbiI6IGZh
bHNlLAotICAgICAgImlkbFR5cGUiOiAibG9uZyIsCi0gICAgICAiZXh0QXR0cnMiOiBbLi4uXQot
ICAgIH0sCi0gICAgIm5hbWUiOiAiaW50cyIKLSAgfV0KLX0KLWBgYAotCi1UaGUgZmllbGRzIGFy
ZSBhcyBmb2xsb3dzOgotCi0qIGBvcHRpb25hbGA6IFRydWUgaWYgdGhlIGFyZ3VtZW50IGlzIG9w
dGlvbmFsLgotKiBgdmFyaWFkaWNgOiBUcnVlIGlmIHRoZSBhcmd1bWVudCBpcyB2YXJpYWRpYy4K
LSogYGlkbFR5cGVgOiBBbiBbSURMIFR5cGVdKCNpZGwtdHlwZSkgZGVzY3JpYmluZyB0aGUgdHlw
ZSBvZiB0aGUgYXJndW1lbnQuCi0qIGBuYW1lYDogVGhlIGFyZ3VtZW50J3MgbmFtZS4KLSogYGV4
dEF0dHJzYDogQSBsaXN0IG9mIFtleHRlbmRlZCBhdHRyaWJ1dGVzXSgjZXh0ZW5kZWQtYXR0cmli
dXRlcykuCi0KLSMjIyBFeHRlbmRlZCBBdHRyaWJ1dGVzCi0KLUV4dGVuZGVkIGF0dHJpYnV0ZXMg
YXJlIGFycmF5cyBvZiBpdGVtcyB0aGF0IGxvb2sgbGlrZSB0aGlzOgotCi1gYGBKUwotewotICAi
ZXh0QXR0cnMiOiBbewotICAgICJuYW1lIjogIlRyZWF0TnVsbEFzIiwKLSAgICAiYXJndW1lbnRz
IjogbnVsbCwKLSAgICAidHlwZSI6ICJleHRlbmRlZC1hdHRyaWJ1dGUiLAotICAgICJyaHMiOiB7
Ci0gICAgICAidHlwZSI6ICJpZGVudGlmaWVyIiwKLSAgICAgICJ2YWx1ZSI6ICJFbXB0eVN0cmlu
ZyIKLSAgICB9Ci0gIH1dCi19Ci1gYGAKLQotVGhlIGZpZWxkcyBhcmUgYXMgZm9sbG93czoKLQot
KiBgbmFtZWA6IFRoZSBleHRlbmRlZCBhdHRyaWJ1dGUncyBuYW1lLgotKiBgYXJndW1lbnRzYDog
SWYgdGhlIGV4dGVuZGVkIGF0dHJpYnV0ZSB0YWtlcyBhcmd1bWVudHMgKGUuZy4gYFtGb28oKV1g
KSBvciBpZgotICBpdHMgcmlnaHQtaGFuZCBzaWRlIGRvZXMgKGUuZy4gYFtOYW1lZENvbnN0cnVj
dG9yPU5hbWUoRE9NU3RyaW5nIGJsYWgpXWApIHRoZXkKLSAgYXJlIGxpc3RlZCBoZXJlLiBOb3Rl
IHRoYXQgYW4gZW1wdHkgYXJndW1lbnRzIGxpc3Qgd2lsbCBwcm9kdWNlIGFuIGVtcHR5IGFycmF5
LAotICB3aGVyZWFzIHRoZSBsYWNrIHRoZXJlb2Ygd2lsbCB5aWVsZCBhIGBudWxsYC4gSWYgdGhl
cmUgaXMgYW4gYHJoc2AgZmllbGQgdGhlbgotICB0aGV5IGFyZSB0aGUgcmlnaHQtaGFuZCBzaWRl
J3MgYXJndW1lbnRzLCBvdGhlcndpc2UgdGhleSBhcHBseSB0byB0aGUgZXh0ZW5kZWQKLSAgYXR0
cmlidXRlIGRpcmVjdGx5LgotKiBgdHlwZWA6IEFsd2F5cyBgImV4dGVuZGVkLWF0dHJpYnV0ZSJg
LgotKiBgcmhzYDogSWYgdGhlcmUgaXMgYSByaWdodC1oYW5kIHNpZGUsIHRoaXMgd2lsbCBjYXB0
dXJlIGl0cyBgdHlwZWAgKHdoaWNoIGNhbiBiZQotICAiaWRlbnRpZmllciIgb3IgImlkZW50aWZp
ZXItbGlzdCIpIGFuZCBpdHMgYHZhbHVlYC4KLQotIyMjIERlZmF1bHQgYW5kIENvbnN0IFZhbHVl
cwotCi1EaWN0aW9uYXJ5IGZpZWxkcyBhbmQgb3BlcmF0aW9uIGFyZ3VtZW50cyBjYW4gdGFrZSBk
ZWZhdWx0IHZhbHVlcywgYW5kIGNvbnN0YW50cyB0YWtlCi12YWx1ZXMsIGFsbCBvZiB3aGljaCBo
YXZlIHRoZSBmb2xsb3dpbmcgZmllbGRzOgotCi0qIGB0eXBlYDogT25lIG9mIHN0cmluZywgbnVt
YmVyLCBib29sZWFuLCBudWxsLCBJbmZpbml0eSwgTmFOLCBvciBzZXF1ZW5jZS4KLQotRm9yIHN0
cmluZywgbnVtYmVyLCBib29sZWFuLCBhbmQgc2VxdWVuY2U6Ci0KLSogYHZhbHVlYDogVGhlIHZh
bHVlIG9mIHRoZSBnaXZlbiB0eXBlLCBhcyBhIHN0cmluZy4gRm9yIHNlcXVlbmNlLCB0aGUgb25s
eSBwb3NzaWJsZSB2YWx1ZSBpcyBgW11gLgotCi1Gb3IgSW5maW5pdHk6Ci0KLSogYG5lZ2F0aXZl
YDogQm9vbGVhbiBpbmRpY2F0aW5nIHdoZXRoZXIgdGhpcyBpcyBuZWdhdGl2ZSBJbmZpbml0eSBv
ciBub3QuCi0KLSMjIyBgaXRlcmFibGU8PmAsIGBsZWdhY3lpdGVyYWJsZTw+YCwgYG1hcGxpa2U8
PmAsIGBzZXRsaWtlPD5gIGRlY2xhcmF0aW9ucwotCi1UaGVzZSBhcHBlYXIgYXMgbWVtYmVycyBv
ZiBpbnRlcmZhY2VzIHRoYXQgbG9vayBsaWtlIHRoaXM6Ci0KLWBgYEpTCi17Ci0gICJ0eXBlIjog
Im1hcGxpa2UiLCAvLyBvciAibGVnYWN5aXRlcmFibGUiIC8gIml0ZXJhYmxlIiAvICJzZXRsaWtl
IgotICAiaWRsVHlwZSI6IC8qIE9uZSBvciB0d28gdHlwZXMgKi8gLAotICAicmVhZG9ubHkiOiBm
YWxzZSwgLy8gb25seSBmb3IgbWFwbGlrZSBhbmQgc2V0bGlrZQotICAiZXh0QXR0cnMiOiBbXQot
fQotYGBgCi0KLVRoZSBmaWVsZHMgYXJlIGFzIGZvbGxvd3M6Ci0KLSogYHR5cGVgOiBBbHdheXMg
b25lIG9mICJpdGVyYWJsZSIsICJsZWdhY3lpdGVyYWJsZSIsICJtYXBsaWtlIiBvciAic2V0bGlr
ZSIuCi0qIGBpZGxUeXBlYDogQW4gYXJyYXkgd2l0aCBvbmUgb3IgbW9yZSBbSURMIFR5cGVzXSgj
aWRsLXR5cGUpIHJlcHJlc2VudGluZyB0aGUgZGVjbGFyZWQgdHlwZSBhcmd1bWVudHMuCi0qIGBy
ZWFkb25seWA6IFdoZXRoZXIgdGhlIG1hcGxpa2Ugb3Igc2V0bGlrZSBpcyBkZWNsYXJlZCBhcyBy
ZWFkIG9ubHkuCi0qIGBleHRBdHRyc2A6IEEgbGlzdCBvZiBbZXh0ZW5kZWQgYXR0cmlidXRlc10o
I2V4dGVuZGVkLWF0dHJpYnV0ZXMpLgotCi0KLSMjIFRlc3RpbmcKLQotIyMjIFJ1bm5pbmcKLQot
VGhlIHRlc3QgcnVucyB3aXRoIG1vY2hhIGFuZCBleHBlY3QuanMuIE5vcm1hbGx5LCBydW5uaW5n
IG1vY2hhIGluIHRoZSByb290IGRpcmVjdG9yeQotc2hvdWxkIGJlIGVub3VnaCBvbmNlIHlvdSdy
ZSBzZXQgdXAuCi0KLSMjIyBDb3ZlcmFnZQotCi1DdXJyZW50IHRlc3QgY292ZXJhZ2UsIGFzIGRv
Y3VtZW50ZWQgaW4gYGNvdmVyYWdlLmh0bWxgLCBpcyA5NSUuIFlvdSBjYW4gcnVuIHlvdXIgb3du
Ci1jb3ZlcmFnZSBhbmFseXNpcyB3aXRoOgotCi1gYGBCYXNoCi1qc2NvdmVyYWdlIGxpYiBsaWIt
Y292Ci1gYGAKLQotVGhhdCB3aWxsIGNyZWF0ZSB0aGUgbGliLWNvdiBkaXJlY3Rvcnkgd2l0aCBp
bnN0cnVtZW50ZWQgY29kZTsgdGhlIHRlc3Qgc3VpdGUga25vd3MKLXRvIHVzZSB0aGF0IGlmIG5l
ZWRlZC4gWW91IGNhbiB0aGVuIHJ1biB0aGUgdGVzdHMgd2l0aDoKLQotYGBgQmFzaAotSlNDT1Y9
MSBtb2NoYSAtLXJlcG9ydGVyIGh0bWwtY292ID4gY292ZXJhZ2UuaHRtbAotYGBgCi0KLU5vdGUg
dGhhdCBJJ3ZlIGJlZW4gZ2V0dGluZyB3ZWlyZGx5IG92ZXJlc2NhcGVkIHJlc3VsdHMgZnJvbSB0
aGUgaHRtbC1jb3YgcmVwb3J0ZXIsCi1zbyB5b3UgbWlnaHQgd2lzaCB0byB0cnkgdGhpcyBpbnN0
ZWFkOgotCi1gYGBCYXNoCi1KU0NPVj0xIG1vY2hhICAtLXJlcG9ydGVyIGh0bWwtY292IHwgc2Vk
ICJzLyZsdDsvPC9nIiB8IHNlZCAicy8mZ3Q7Lz4vZyIgfCBzZWQgInMvJnF1b3Q7L1wiL2ciID4g
Y292ZXJhZ2UuaHRtbAotYGBgCi0jIyMgQnJvd3NlciB0ZXN0cwotCi1JbiBvcmRlciB0byB0ZXN0
IGluIHRoZSBicm93c2VyLCBnZXQgaW5zaWRlIGB0ZXN0L3dlYmAgYW5kIHJ1biBgbWFrZS13ZWIt
dGVzdHMuanNgLiBUaGlzCi13aWxsIGdlbmVyYXRlIGEgYGJyb3dzZXItdGVzdHMuaHRtbGAgZmls
ZSB0aGF0IHlvdSBjYW4gb3BlbiBpbiBhIGJyb3dzZXIuIEFzIG9mIHRoaXMKLXdyaXRpbmcgdGVz
dHMgcGFzcyBpbiB0aGUgbGF0ZXN0IEZpcmVmb3gsIENocm9tZSwgT3BlcmEsIGFuZCBTYWZhcmku
IFRlc3Rpbmcgb24gSUUKLWFuZCBvbGRlciB2ZXJzaW9ucyB3aWxsIGhhcHBlbiBwcm9ncmVzc2l2
ZWx5LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi9jaGVja2VyL2luZGV4Lmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL2NoZWNrZXIv
aW5kZXguaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTg5N2Q4NTcyZjIuLjAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvY2hlY2tlci9pbmRleC5odG1sCisrKyAvZGV2L251bGwKQEAg
LTEsNTUgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHRpdGxlPldl
YklETCAyIENoZWNrZXI8L3RpdGxlPgotCi08c2NyaXB0IHNyYz0nLi4vbGliL3dlYmlkbDIuanMn
Pjwvc2NyaXB0PgotPHNjcmlwdD4KLWxldCBwYXJzZXJSZXN1bHQgPSB1bmRlZmluZWQ7Ci0KLWZ1
bmN0aW9uIGZvcm1hdFBhcnNlck91dHB1dCgpIHsKLSAgY29uc3Qgb3V0cHV0RWwgPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgnd2ViaWRsLWNoZWNrZXItb3V0cHV0Jyk7Ci0gIGlmIChwYXJzZXJS
ZXN1bHQpIHsKLSAgICBjb25zdCBwcmV0dHlQcmludEVsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoJ3ByZXR0eS1wcmludCcpOwotICAgIG91dHB1dEVsLmlubmVyVGV4dCA9IEpTT04uc3RyaW5n
aWZ5KHBhcnNlclJlc3VsdCwgbnVsbCwgcHJldHR5UHJpbnRFbC5jaGVja2VkID8gMiA6IG51bGwp
OwotICB9IGVsc2UgewotICAgIG91dHB1dEVsLmlubmVyVGV4dCA9ICcnOwotICB9Ci19Ci0KLWZ1
bmN0aW9uIGNoZWNrV2ViSURMKHRleHRUb0NoZWNrKSB7Ci0gIGNvbnN0IHZhbGlkYXRpb24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgnd2ViaWRsLWNoZWNrZXItdmFsaWRhdGlvbicpOwotICBw
YXJzZXJSZXN1bHQgPSBudWxsOwotICB0cnkgewotICAgIHBhcnNlclJlc3VsdCA9IFdlYklETDIu
cGFyc2UodGV4dFRvQ2hlY2spOwotICAgIHZhbGlkYXRpb24uaW5uZXJUZXh0ID0gJ1dlYklETCBw
YXJzZWQgc3VjY2Vzc2Z1bGx5ISc7Ci0gIH0gY2F0Y2ggKGUpIHsKLSAgICB2YWxpZGF0aW9uLmlu
bmVyVGV4dCA9ICdFeGNlcHRpb24gd2hpbGUgcGFyc2luZyBXZWJJREwuIFNlZSBKYXZhU2NyaXB0
IGNvbnNvbGUgZm9yIG1vcmUgZGV0YWlscy5cblxuJyArIGUudG9TdHJpbmcoKTsKLSAgICAvLyBQ
YXNzIGl0IGFsb25nIHRvIHRoZSBKYXZhU2NyaXB0IGNvbnNvbGUuCi0gICAgdGhyb3cgZTsKLSAg
fSBmaW5hbGx5IHsKLSAgICBmb3JtYXRQYXJzZXJPdXRwdXQoKTsKLSAgfQotfQotPC9zY3JpcHQ+
Ci08c3R5bGU+Ci10ZXh0YXJlYSB7Ci0gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7Ci19Ci08L3N0
eWxlPgotPC9oZWFkPgotPGJvZHk+Ci08aDI+V2ViSURMIENoZWNrZXI8L2gyPgotPHA+VGhpcyBp
cyBhbiBvbmxpbmUgY2hlY2tlciBmb3IgV2ViSURMIGJ1aWx0IG9uIHRoZSA8YSBocmVmPSJodHRw
czovL2dpdGh1Yi5jb20vdzNjL3dlYmlkbDIuanMiPndlYmlkbDIuanM8L2E+IHByb2plY3QuPC9w
PgotPHA+RW50ZXIgeW91ciBXZWJJREwgdG8gY2hlY2sgYmVsb3c6PC9wPgotPHRleHRhcmVhIGlk
PSd3ZWJpZGwtdG8tY2hlY2snIHJvd3M9JzIwJyBjb2xzPSc4MCc+PC90ZXh0YXJlYT4KLTxicj4K
LTxpbnB1dCB0eXBlPSdidXR0b24nIHZhbHVlPSdDaGVjayBXZWJJREwnIG9uY2xpY2s9J2NoZWNr
V2ViSURMKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ3ZWJpZGwtdG8tY2hlY2siKS52YWx1ZSkn
PgotPHA+VmFsaWRhdGlvbiByZXN1bHRzOjwvcD4KLTx0ZXh0YXJlYSBpZD0nd2ViaWRsLWNoZWNr
ZXItdmFsaWRhdGlvbicgcm93cz0nMjAnIGNvbHM9JzgwJz48L3RleHRhcmVhPgotPHA+UGFyc2Vy
IG91dHB1dDo8L3A+Ci08dGV4dGFyZWEgaWQ9J3dlYmlkbC1jaGVja2VyLW91dHB1dCcgcm93cz0n
MjAnIGNvbHM9JzgwJz48L3RleHRhcmVhPgotPGJyPgotPGlucHV0IHR5cGU9J2NoZWNrYm94JyBp
ZD0ncHJldHR5LXByaW50JyBjaGVja2VkPSd0cnVlJyBvbmNoYW5nZT0nZm9ybWF0UGFyc2VyT3V0
cHV0KCknPlByZXR0eSBQcmludAotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi9j
aGVja2VyL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi9jaGVja2VyL3czYy1pbXBvcnQubG9nCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3YWZmYzI2ZDk3NS4uMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi9jaGVja2VyL3czYy1pbXBvcnQubG9nCisrKyAvZGV2L251bGwKQEAgLTEsMTcgKzAsMCBA
QAotVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzND
IHJlcG9zaXRvcnkuCi1EbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktp
dC4KLUluc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKLQlo
dHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdAotCi1UaGVuIHJ1biB0aGUg
VG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydAotCi1E
byBOT1QgbW9kaWZ5IG9yIHJlbW92ZSB0aGlzIGZpbGUuCi0KLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotUHJv
cGVydGllcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgotTm9uZQotUHJvcGVydHkgdmFsdWVz
IHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6Ci1Ob25lCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLUxpc3Qg
b2YgZmlsZXM6Ci0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi9jaGVja2VyL2luZGV4Lmh0bWwKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvY292
ZXJhZ2UuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvY292ZXJhZ2UuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggNDZlN2VkMzI0ZWMuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvY292ZXJhZ2UuaHRtbAor
KysgL2Rldi9udWxsCkBAIC0xLDM0MSArMCwwIEBACi08IURPQ1RZUEUgaHRtbD48aHRtbD48aGVh
ZD48dGl0bGU+Q292ZXJhZ2U8L3RpdGxlPjxzY3JpcHQ+Ci0KLWhlYWRpbmdzID0gW107Ci0KLW9u
bG9hZCA9IGZ1bmN0aW9uKCl7Ci0gIGhlYWRpbmdzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFs
bCgnaDInKTsKLX07Ci0KLW9uc2Nyb2xsID0gZnVuY3Rpb24oZSl7Ci0gIHZhciBoZWFkaW5nID0g
ZmluZCh3aW5kb3cuc2Nyb2xsWSk7Ci0gIGlmICghaGVhZGluZykgcmV0dXJuOwotICB2YXIgbGlu
a3MgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcjbWVudSBhJykKLSAgICAsIGxpbms7Ci0K
LSAgZm9yICh2YXIgaSA9IDAsIGxlbiA9IGxpbmtzLmxlbmd0aDsgaSA8IGxlbjsgKytpKSB7Ci0g
ICAgbGluayA9IGxpbmtzW2ldOwotICAgIGxpbmsuY2xhc3NOYW1lID0gbGluay5nZXRBdHRyaWJ1
dGUoJ2hyZWYnKSA9PSAnIycgKyBoZWFkaW5nLmlkCi0gICAgICA/ICdhY3RpdmUnCi0gICAgICA6
ICcnOwotICB9Ci19OwotCi1mdW5jdGlvbiBmaW5kKHkpIHsKLSAgdmFyIGkgPSBoZWFkaW5ncy5s
ZW5ndGgKLSAgICAsIGhlYWRpbmc7Ci0KLSAgd2hpbGUgKGktLSkgewotICAgIGhlYWRpbmcgPSBo
ZWFkaW5nc1tpXTsKLSAgICBpZiAoeSA+PSBoZWFkaW5nLm9mZnNldFRvcCkgewotICAgICAgcmV0
dXJuIGhlYWRpbmc7Ci0gICAgfQotICB9Ci19Ci08L3NjcmlwdD4KLTxzdHlsZT4KLQotYm9keSB7
Ci0gIGZvbnQ6IDE0cHgvMS42ICJIZWx2ZXRpY2EgTmV1ZSIsIEhlbHZldGljYSwgQXJpYWwsIHNh
bnMtc2VyaWY7Ci0gIG1hcmdpbjogMDsKLSAgY29sb3I6ICMyQzJDMkM7Ci0gIGJvcmRlci10b3A6
IDJweCBzb2xpZCAjZGRkOwotfQotCi0jY292ZXJhZ2UgewotICBwYWRkaW5nOiA2MHB4OwotfQot
Ci1oMSBhIHsKLSAgY29sb3I6IGluaGVyaXQ7Ci0gIGZvbnQtd2VpZ2h0OiBpbmhlcml0OwotfQot
Ci1oMSBhOmhvdmVyIHsKLSAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwotfQotCi0ub25sb2FkIGgx
IHsKLSAgb3BhY2l0eTogMTsKLX0KLQotaDIgewotICB3aWR0aDogODAlOwotICBtYXJnaW4tdG9w
OiA4MHB4OwotICBtYXJnaW4tYm90dG9tOiAwOwotICBmb250LXdlaWdodDogMTAwOwotICBsZXR0
ZXItc3BhY2luZzogMXB4OwotICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VlZTsKLX0KLQot
YSB7Ci0gIGNvbG9yOiAjOEE2MzQzOwotICBmb250LXdlaWdodDogYm9sZDsKLSAgdGV4dC1kZWNv
cmF0aW9uOiBub25lOwotfQotCi1hOmhvdmVyIHsKLSAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxp
bmU7Ci19Ci0KLXVsIHsKLSAgbWFyZ2luLXRvcDogMjBweDsKLSAgcGFkZGluZzogMCAxNXB4Owot
ICB3aWR0aDogMTAwJTsKLX0KLQotdWwgbGkgewotICBmbG9hdDogbGVmdDsKLSAgd2lkdGg6IDQw
JTsKLSAgbWFyZ2luLXRvcDogNXB4OwotICBtYXJnaW4tcmlnaHQ6IDYwcHg7Ci0gIGxpc3Qtc3R5
bGU6IG5vbmU7Ci0gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWVlOwotICBwYWRkaW5nOiA1
cHggMDsKLSAgZm9udC1zaXplOiAxMnB4OwotfQotCi11bDo6YWZ0ZXIgewotICBjb250ZW50OiAn
Lic7Ci0gIGhlaWdodDogMDsKLSAgZGlzcGxheTogYmxvY2s7Ci0gIHZpc2liaWxpdHk6IGhpZGRl
bjsKLSAgY2xlYXI6IGJvdGg7Ci19Ci0KLWNvZGUgewotICBmb250OiAxMnB4IG1vbmFjbywgbW9u
b3NwYWNlOwotfQotCi1wcmUgewotICBtYXJnaW46IDMwcHg7Ci0gIHBhZGRpbmc6IDMwcHg7Ci0g
IGJvcmRlcjogMXB4IHNvbGlkICNlZWU7Ci0gIGJvcmRlci1ib3R0b20tY29sb3I6ICNkZGQ7Ci0g
IC13ZWJraXQtYm9yZGVyLXJhZGl1czogMnB4OwotICAtbW96LWJvcmRlci1yYWRpdXM6IDJweDsK
LSAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCAwIDAgMTBweCAjZWVlOwotICAtbW96LWJveC1z
aGFkb3c6IGluc2V0IDAgMCAxMHB4ICNlZWU7Ci0gIG92ZXJmbG93LXg6IGF1dG87Ci19Ci0KLWlt
ZyB7Ci0gIG1hcmdpbjogMzBweDsKLSAgcGFkZGluZzogMXB4OwotICAtd2Via2l0LWJvcmRlci1y
YWRpdXM6IDNweDsKLSAgLW1vei1ib3JkZXItcmFkaXVzOiAzcHg7Ci0gIC13ZWJraXQtYm94LXNo
YWRvdzogMCAzcHggMTBweCAjZGVkZWRlLCAwIDFweCA1cHggIzg4ODsKLSAgLW1vei1ib3gtc2hh
ZG93OiAwIDNweCAxMHB4ICNkZWRlZGUsIDAgMXB4IDVweCAjODg4OwotICBtYXgtd2lkdGg6IDEw
MCU7Ci19Ci0KLWZvb3RlciB7Ci0gIGJhY2tncm91bmQ6ICNlZWU7Ci0gIHdpZHRoOiAxMDAlOwot
ICBwYWRkaW5nOiA1MHB4IDA7Ci0gIHRleHQtYWxpZ246IHJpZ2h0OwotICBib3JkZXItdG9wOiAx
cHggc29saWQgI2RkZDsKLX0KLQotZm9vdGVyIHNwYW4gewotICBkaXNwbGF5OiBibG9jazsKLSAg
bWFyZ2luLXJpZ2h0OiAzMHB4OwotICBjb2xvcjogIzg4ODsKLSAgZm9udC1zaXplOiAxMnB4Owot
fQotCi0jbWVudSB7Ci0gIHBvc2l0aW9uOiBmaXhlZDsKLSAgZm9udC1zaXplOiAxMnB4OwotICBv
dmVyZmxvdy15OiBhdXRvOwotICB0b3A6IDA7Ci0gIHJpZ2h0OiAwOwotICBtYXJnaW46IDA7Ci0g
IGhlaWdodDogMTAwJTsKLSAgcGFkZGluZzogMTVweCAwOwotICB0ZXh0LWFsaWduOiByaWdodDsK
LSAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZWVlOwotICAtbW96LWJveC1zaGFkb3c6IDAgMCAy
cHggIzg4OAotICAgICAsIGluc2V0IDVweCAwIDIwcHggcmdiYSgwLDAsMCwuNSkKLSAgICAgLCBp
bnNldCA1cHggMCAzcHggcmdiYSgwLDAsMCwuMyk7Ci0gIC13ZWJraXQtYm94LXNoYWRvdzogMCAw
IDJweCAjODg4Ci0gICAgICwgaW5zZXQgNXB4IDAgMjBweCByZ2JhKDAsMCwwLC41KQotICAgICAs
IGluc2V0IDVweCAwIDNweCByZ2JhKDAsMCwwLC4zKTsKLSAgLXdlYmtpdC1mb250LXNtb290aGlu
ZzogYW50aWFsaWFzZWQ7Ci0gIGJhY2tncm91bmQ6IHVybCgiZGF0YTppbWFnZS9wbmc7YmFzZTY0
LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFHWUFBQUJtQ0FNQUFBQU9BUlJRQUFBQmVsQk1WRVVq
SlNVNk96c2hJeU01T2pvcUt5MDJOamdzTFMwMU5UWWpKQ1V6TlRVZ0lTTWxKU2MwTlRVdk1EQTZQ
RHdsSnlnMU5qWW9LaXMyTmpZckxTMDJPRGtwS3l3ME5EWXJMQzA0T0Rvdkx6QTRPam8wTkRVdEx5
ODZPandqSXlVNE9Ub3NMUzgyT0RndExTOGhJeVF2TVRFbktDb29LU3NyS3kwcUxDd2tKU1VuS0Nr
ckxDd3BLaXd3TWpJeE16TXFMQzB0TFMwcEtpc3NMQzAwTlRZd01ESXdNVFFwS3lzb0tTb3ZNREV0
THpBMk9Ua3hNelVyS3l3dkx5OHFLeXN6TlRZNU96c3FLaXc2T2pzd01ERXhORFVvS2lvek5EVXZN
REl5TkRZMU5qZzJOams1T1Rvek16VTBOalk0T0RraUl5VWlJeVE0T1RrdU1ERW1LQ293TWpRd01U
RXJMUzRxS3l3d01UTWhJaU1wS2lvcEt5MHRMakFrSlNjeE5EUXZMekV4TkRZeU5EUW1LQ2s1T1Rz
bEppZzVPanNrSlNZeE16UXJMUzhnSVNJd01USW9LQ2sxTlRVbEpTVW5KeWd3TURBNE9EZ2lJaU1o
SVNJOFBEdzZPam81T1RrcEtTb2pJeVE3T3pzeU1qSXBLU3NzTEN3Nk96dzFOamxyZkxha0FBQWcy
VWxFUVZSNDJqUjZpM2VhNnJZdlBnQU5JQWhWWGg4V3ZrUWxpb1VpRmxGY0J0QW1vaVJOZHp4cXU5
cDBKN3ZyZEsyOXp1UGVleDc3bm52Ty8zNW4xcjFuZEhSa3RJMGpUT2Fjdi9sN2xDQks1VXFWcE9o
YS9ZeG1XSzdCQzRUUUZLVlhyYllzbmltcXh1dU1WbE9RMFhsdFdqVWRDd1JKMU0rdEMxS3VkT3M5
cTYrZGEyYWRVZXdHMFNDMFN3RUxmSHRnRGRzOTNWRXV5ZEVibDNRTVdlTm9Za1I3Yi8weDFaUm9i
R0kzbUx3ekFoZVBxVEF3aGc2YW9nak5zR3k3L2p3UTRya2RxZTdDV0x4RjhrOUxmTVZGeVJTN1ZK
cXRrclc4VnQvYmtSOEZaSmFvMTZpcGtuYkMzWXcybE03bGFPNkhCRU9hZEVaMnRwZjY1YzR2OGUz
dTdGeVU2cWJpTk55Q3V6WFo2cGF3Z253Z21ycFRUL1E3dzJFWm1pSUowZHpXREk3bWhRODBJZlJu
TXUya3pBNXI1cjFwSUZvaWErL2Q5M0hSWXAxR1Y4VGJya1dvVS8ramRJMEZmNnlHd1RqVDFIbjhK
KzhtMXJLcEdpWVB1TmlIbk10Tk1Jdit6cHNrODRNWVROVzEvK0Rwd1hMdmNrZE9DTVlvd1ZOUFJF
ZTBRbE04eFJIWFhGaGNORHp1cHdzU21iNXBIKzB0MFJQMlFrK1F0STdGMVFtNkpSQzZaUEJ0UHEv
ZHEva0granh0Q2xqbjlUSXBXNnJRSWdtU1Z5ajZsUElDSXc0Ti90YWthNDFQRlVJbnRoMGplOStq
TzZLdDFHNC9hN1YyTEVnRzAyQjBwSFZ1Q1pyZ2x0U0tNdUlsNVN5dWZVdjltWXVRaSttRmd6YkJF
dEZvMmcrRGg0c1NUckxOdThKUGgwMHNReWRwYjAwdHFYQnZxUk43UTdrcXpjbkl4Q0dudlp0L1dt
SmFjb09FTzZEY244UXJlMDNwT0NTUXhiTU9YVXVETng5U3h1THo0VzFJMThndmpWaVE2N3pWMHJ4
ZFdMOFRlL1RRa3VvOFNUUzQxRFI0OFc3TDZZUDJ1V0lxaVVWOHJkNkdiZi9ybmVnS1plRzhUcEFN
NmFmaEd6ZTlKQU94Ykxqc25VWEViclo5dkxZZDdNVDMyY1BGNW1LS3htank3aHVhb0Q5bjYyR094
bmkzaUlKd3YwSXpaQVpqZFprVXRvbENOTFZmWVpOYXF1RmpHc3pWVmYrSjB2cno0Q2F3b0tkSG5P
emIwTk1IN0NEQk95YmZZTko0cmZlTXlGTmprRllWVHpNRnM4N3JuUEdYTFVPZU5LUlZjMExuVTcv
VUlnZWx6c3kzQ011dGgwWWZ2blkwd3NEM3ZPRFVMM2VKY0txSFFwbTh5TTNYWlFXSnhPNlVuOWlZ
bG95eUxwT3dOMm9iSHk2VzZnYnBjYjQ0WG15QyttZytpdEFjYXByR2Nyd1pDcU1qL0dtdEtuMHpQ
dnBUei9DdjFkdzIxWHdQM2NSdXBnM0gzTUYvUzcxZVRLajFZcmR3S2RjMk13MGZSbWIyc0ZmOGxX
M2FVNkpiSVpTRVBxdlh2ak03Ry9hQXB5WGxYZXFLZk1xMGcvU3UzclVHSlBTUHJ0R0VsZ2tuclpN
M3hVWHFzQVA2ek1DTlZuNXU4YUpuU05wSnYydXJ1N3QyamZSemlXMitHdWhxZmxkVU5iUGs3MW9s
d28rNDZlUFVvMVUzV0trL2U1WUswN0Yvd0dSZ2NwT0RtUW5JbFZlSENXQkU0cHVCaTJqcTI4VUtw
cWlOMS80VU9yR3o1OVROWXJyUUh0ZCsxMXNHNDBCR0QrcFhkZWxOcUdPZzROWGU4VzRlYWNKVi9O
UzkvMlVtdHltNldRcXZlcVI5eGRDTUVscHhuYmthbE00VmY5dWFFY1daYUtkeWliRUlqV0t4SlpQ
Tjk1bmlDTDNHaWFYeXNzSXJIeG9Ma3FrekxDWFVMTjQ2L2YyaDN0UUpneWlwK1RrOUVBako5YUpz
aHE3dDhYNDVhb3dTS3NwTVN2UGY3cjlSOHl4TnB0SWFIUzVvenVFbTZsdVBEQXB1Z3lOUDhPYXFp
UTRCamFlcXVYQTU0U0xDODNlSElZMnIrQ1pwNDQwOVhxdzhBYTJvSTdYa0NyUWkraW4wdzVBcUYv
a0xOcmNVeitxa2wvbEFvYlkxalNueDVPSk5oeVhJejNxZk5GbFhjMFRLYWdsTndkV2tXWXQ5UVEx
S3I2Vzh6dWUyMWlOcmRKaytONW9DcjJPOW5FdFdLQzdJUzVKL3pkREVZcm1uQVlmZzZhZ0N5K3Fj
Z3o3Wm9mZURjNFBiVVdTdmtzaFd1QWM3T2ppVXlMa2orUkF0ZGx3WEpjanhkcGtUVEhEaEs4bEJD
aTgrSnR2RFZMMVc2ZWxtT00rK1lTMEx1U2xhUDFvVXZBZWlXM2NGbnZUcjhFYlR6MXRzU01ZZEdl
WmU0MHNSV3U1dUFmajdxK1pvS3YyRk5RMHA1WFkxbG1sY2lnSFpxVFBwYWJ1ZkVWck51TlBpMTY1
dzN1Q1ZRSkh5SnFtU0o3WkhuZ3Vxd3RDbXdWaUlKaWpqMDRiYTJKTll0Qit5T1JmNWdnMS85dDlp
dzR2VXBlcWl1blNBYmYrSUJkai9iK2lHMnFySHZ1TlAwVmQvK1RoVlpUL2xydkhZampnRGJieXhh
cWdITk0ydWh4YTFHVzNVZWRaWWhNTXdNNG1RaGx0b3VLK0lWNE5kYklRTk0rOFl2MzExUlprOWtU
NHRpWVI0TGt5RmN1UHBkY2p1aFV1RnFCQVdSWmExMWxjWjNnRUJsWHl3c05ocnQrcGxJU1pQNURs
c1Y5bDRFZ1k2SjN5WlBUVWNNcmdhV0FUM29JNzllU2JHRWJjSnByNkJEOGt5RGlWdCtHMC9oWG9z
UU40TkZYS2xmV0lmc0lzMEJIT0RWb2sxL0lHbktGSEpZSXF1aDhYbysyK2JrUU5UR2dXbU4vZlow
WTMzTFNqNmxyMUd5VjdtV0lLZzdaVFJaUEd1aEYvempSTmNRMVVQdFNZZ25XUXhTczB5clZod05E
Y2RHTU5TTmUySlQzV3V6YkFNM0h5a3lBYWpTM1VwaGY2U1RLRXF4TGFzOUVubW5oQS9seWo5VWor
Sm9ZN1NWZ1ZtR0xsNDZSbTJ1OThzYmthcDJsekFkS0JHNHI2TGd1bFFPU1NqUXYxR1dkUTBqdERV
Sy9tQWFxTTFVcWpwdTRrM1J2ZnZ4djdZVHhMU0srd04zRTVqVkl6bUYyM3VaN2hpSC9zVlA0OUQ3
dHZvS3A0UzhiMUx1dlJsaXZWQi9hbGdiaGNGSVRZVlh2RHBMenBEZnBsUjJ1RDVWNFhKRnhwam1J
cExjOVk1c0IyVHBCUml4N0JtZTZHWklxKzA2djNYek5lVGNBNG9iUUlLeHJuVDRDMkpwT3FEOTJk
Ym1TWDhNR2F6bHk1RXNaVk12U1UxZjRSWnd5dThpUVhiVmRlTGxacmp1VFQxanJZMXVrNWM3aVo3
UnN2aGhsdXFBa3E0SnBWUUFnN1JKRnRTdSt4Z0o4UHY2TzFqNURrTHhUOG1rYmZ5Ulc1RHJRbUc3
aGlESWpDZ0JzQURianVvZjZZSExHZVY2YTVRMVNteDlqb1VYUHBkYWFEeDk3QS9XcTAwb0prZFI3
Wll1UVJmUzUzM0p0eE8xZXJkdXFXT1lJdDN3aDB3cGJMdUNOSVlrd3hic3diaWtDVXUyQ0RDUytR
KzdyZ1Z0ZlJjbStTT2NkS1BSbFovckU3d05WVUVFMzlLVFM1dXZVS04xUFVua2xvUGt5emh5R1E4
cWtvdUVqSjNIL1ZYZHFHNmFzU1JpdzNlY01sQnZERHQ4ZERoQkhYTXdaMkNhanpqcjcvNzZUK0lh
dnFQWXZ6NnI3Ly9FLzNYMytOLy9oLzBRb3pialBnUGlpcjY5UC84WDMvOUYveXY4Yi84MjcvKys5
OFdJdFB1NS9IdndkOFlQZjVicC8yL2xYL1QvK09mLzBNSi9sWVRhK0wvRWYrZDl2Ti8zLzJUNlAv
K2p5VHp1L2V2ZjZVN3Z4TjdCNnBKa1J0QUY2alVyOEkrUDhSc1AvcHRHaGZxRmsrcFEvRGdBeTZO
SnRSWUpkWG1wNGdLN1dMcUxLSitNYUtoR2pPb2p2TCtTbklXcmtweTBTTEhEZTRRdXlOemFFQTE1
bUxNQ2NtRThFbSs0SGRPaWhXNC9aV3VwcEpFbXplQXdjRHR2N011TGM5eTJWNWF0dnhYTmUzUzRE
VU10NS9ReTJMTTlrU1lLaVZXQnVLbGZwNG54VG50cHVXMDNKYklsa2lSdkJYbVQyM2cxSTJPWWU2
SWl6VUhQSXE2em02bWJmc2J0ZUttaS9zZzlKK29jUUJNY3RHRk83aWxqbzhUUE4rejNqeHc0ZG8r
WndmcW9SOWRrTlRLSHlNMzA1R3BUa2ZoY0hleFZrUFZHRWJVT2p1bzlmMFVNUEhCRmxHRXgwU0x2
SnZWUktUd1c3UFNldzVvUG1lK0U0MitmckphOWNHdDJualMzZEs1a0lpZjJlWWJodVNFUVhFcU1W
ZlVqaEdJdWluMEcwL1c1ZXpKeUpReTNTcE1MYWk0TTBKVVdiNXUxazl0bnk1YmQxcFB3WUJwUXVE
Q1habDYyeGc0Q2RWRUF0ZmxYSHM2SkttUC9wSDZtT2w3OTZMZ29wajBvOGQ1a0toMDBoeEczT1Nk
RUUvUUJvOUhncjhKSnFBZUxEd0pvaEc1ai9ER2g2MVJjLyt0ZjIyLzhrRW54SE5DRWpvMEVsdnZH
ZkVTWmtxbXoyQkRjS1YxSDFidVNraGtkZzdwMUlNR3MyczE3bllqcGJscld1RTJLOVdFTy9oY1Jw
NWU5b09GL1FCbU9hRHRnaWwrb2FVNnN6UHJkd1c2NWZPQjBLVVRzVlVuN0xGVTdKOGU2Y3hKSWw5
K0ZIdzVNUU16dVFKKzRveE1IM2lXLzVHSytoV3VHMFQrZ1RMcytmQWpkdFVkNThUbUlVcTA0RWV5
UkNZQ2prbGRvdzIzNGFJZ1I1YnF3cnRab3NaKzZZRXFBbURxYXRKOWxXYXN6NElxdUtBTFB0ZDky
aEdJM1oyQmR6elp1ZStSRWwxT200RElXRCtScnRVVE9KTEkrUzBqSG93WFhkQXhzR0xTZDQwellO
dUVVbE9HaHJ3TDZjN3RjT3RVT3ZwSkNQN1FCUVMxOUgrR3ZabjA1ZXdqbFZMeitJR0tvQzlUeWZR
akxNQk5tWEN1cXF0VGRPU3VrWlc0OEIwSHFnU1RDQnJCbmxGdkY0Q0cyU3U3eUZ6cW1KRlVSSzNV
bVRUM3J1MDUwcjBwdFVwTWlsWW5CSldmbDJCdjZrUGxVdUUxa3h4cGR6dWk5QXVic1IyTjJib1ZT
dTgxT3VsQXdCcW9TcjFMWjBMTFlPb215WkhtanFuWGxQNzJzOExuRG91RUpqdG9kQnZkSGFHMWpN
eVNZTzdjcldkOTBNcENSeUNHMTR2YjVJRTdBcnVwdy95L1JjQ20vVG0zeks2ellqOFBZTmFHbGRp
VWZrQi9MSFdjbWYybFZNK213eVUyN2EwcXEydHNjclEvdnpCak4yNkRubnRJck95R2l6elhLMzV5
S1FkWW5VQUJreU40c2F6M1dEL3ZpRitlQ2NzWG5JYWpkV1lKV2FZSFJzdElpczlDUyt0cW5GR216
Mmo1dXpmcjNaNHBycWdLNFhPVC9QeWZ0dmpacUltOGxoa2Z4SjdPbDNDSkYxcGlZQkdBRzh3dEFr
NTZEcncxWXdtT3BjeitOZGZrU3BTTHBsUlhMWEhMMFJxdWo2WVcvZ2FicWdLN0RncjZOd3RIMEIv
QU43WHJOK01WSjZBbVhtVXVxbVF1bHJOTllQbUgwUm9Eb2d5ZE9LTG8vUWJmWU5BUlNRUUtJU1JD
elJYVStxOVdXSkZMM0xaVzZ1MzRDa2VHOTd4QzBOTkdhSjBidks2U25aUzN6UHNrcjVFdHVDZ2pN
V1I1bzJ4NUJxaEttRFdKUFJlN0pNRU95UmI1dVVLbEhhR1Z0cTVpdlNPYVNsaVNYcDlTUW0ycWs4
TVJKaDEwTUFwOVFRMkg1dDU5Sjhyaml3U1p0b0lmTUdqbExQVk5kWWwvTEJSMEFPNldMR0Rta0xr
SVBSRTQ1WTlNZnRkQUsveU51MUhuNnR6T1FUZXNnUSs4ZlN6QjE5d085MXZDbk8yM3ZPV1Fkd0o2
M1NKcllqZGZLRlc2VzI4MVBLczJrOGlUOWFpMWNnSjRzYTN4cWR2bXR4UjgvK0QxQjhBS2MydSs2
SmZ0cnlSaE1XU1F0b1NCZ0l5eVFHeXhjbkVMdUFhc1hOMTJvU3JpVTRSTXoxREQ2UkwwVFNWK29t
N2kxWXQrakVFL2puYXdNOGNYL1VoTjRua2l2L3c5ZUFMcnpOaFh1UWZPekZMMEZpNlNqRjcvNFFu
OHJMWUJvYTg1Y3ZnQW5rQ0VCUCtIUGJFbnF1VlhDWnNNUy95ell3MlZydTYwUC8rbkpQWUtrelpG
am1ieWt6VW9FcVY4MzZUNXEzZlAvTDM4M2RGODJ0eDE4L0FaZ1pjek1BZ3llV1lLbVNaSXF0SEwr
ZStPNFpSY3E5VkkzZy9xUGVDb2lLNHBjZ0VxZGJTMFMvQmU1NHNiVlFPdUpWUE5CYmxJZ2h6ZWFz
TnU3aC9nK1N6MUlkaEk1bEN3cTFuVWIzSmk0T0NJY3FRWnF0cUo1dzdyWHJnL0RBOUlnVm1FR2hE
Z0dlY0V3bkNUSGZmWGNYczBWM09DRVZ6WURLUzF2cC9vWCtuZys2WFZVODZVakE2Rk1PMlJYT09P
cnFZMUdnUHZyQWs5SFYvQlh0Q3U1UnV3RjhxZ2RHRExzQmN1aTRFMzN5bWRCaXAxWDh1S3loSVdU
OHFOUkRzWHorZ3ZPOVVpRUMwZDhSRzRUZjJ4OEg0c2xsamdIdENCY3hITFRXT1lKbTVIL2ZDUEN6
T2dmOXFnT1V4VFJaMFBjNmhhNXlMdUxWVDludHZJYTZnYWNFOTltQ292ZFV1bVRRZFJQNFJQc1M5
MTI5ZUVlMnVTdnZHaDBiVjRZM1FQUGhQWk1xaFpXU01hNVIwSGMxU0dPNElWT1FjMEZyaXJsaWJU
VmZLUnJZa0Q4a3ozYitYNjUvUWtVTmFaZHJkbDNtQ2FwMEhmM1ljQ3cvTGlvdUpZTmJxejg4VXFl
RFl2OTN5Tzd2dlh0Z2w0WEN5QU80T0RrWTZXKzgzK0xaVS8vcDMvelhOR0dyVUtDbENpT25MMjdp
SlpiTldERjAyWFhBT2VGbEI3SWFBRG9NSDFZcXIrVVA5Yml5WkRFYS9pSnQ0TURlSXo2R0tUZExW
QmZXR1Z0Uk40ZmRUMnJnUmVYOFVYd0Yyek9ycmFkbTRKMG55VGdkUG5haTNSdnpwWnZDS0RVcWpP
d0QvUUE2RURhTUNMZXdYNlFXWVZuSFkxc3gxYmQ4b3ZZblBtMVp2UEgrckUyMGxXak9Dblo2Ni94
RHQwUUFsMTVGamZCY1pwK2k5T1UwUk5QUTB0M3gycFNOV284ZWlZdWR3c251UDFIcTZpSDFMSkNK
eW5rWXNmZ0owcDNwRjZTb1FrMmwranFFOENQayt6aUdKUlNLanMrVzVBTzE4NXVtUGRrWXpsSzR3
bDdUQzlOeHl5RFA3Wm95WVZvWGl1UzZTam5JbmxMV3J3ejFpOGJHVEtYWDBBVlFXa1NmSWxnbFcz
elJKUko4Ymc1VmdFNlpFbnFOdTlCKyswR05RdkRRSnZGaXplNEVTTktCSlArOHZBM0xNNEFYNVNJ
QnEwOE1vYis3UU1UQ1p4NG53UC82NCs0Qm5sWkMrOFd0bFAvQ1h3NnQxUHdNd2tKM2poUDFGaVhM
aERGLzNJNkZHVXpPMkRTaTlBQnhLeXlMOXBhWnhTRXo0MFpDUFFUb0RBSnUxOTU5azdRZGJWeGdC
NGljc3UyczR6c1RQSmhjRURvK04xR1g0elNrL3dyaVJoOEFxd0w2Mjk3Mmk5SEpIZDF5ZGFMWFZ6
dkt2T2ZHR3c1UlZjVVZNaUtYRkg0QVBka1FVL2RjNUJYMFlmS1ROWllYQ1c5bWI4YmM4bXVmb1FQ
NkJiZFFtVDk5WmpvWWZyL2dvNFRnUVg5SURnenRpbTd3eUZlR01mYk5hZXFqOER6czM4cGdjcXdT
djJoYnFCM29TR0tXS3krc2VzWTdwNTd3QUhsZHFFNk5EdWRrL1c3cy96anJLNHJaRmxGdmFHeG5T
WmRIYmMxeTQ3cURONnhrb0s4TzNiZnIyajQxZGxKWjcxckI0ZGxEcWFwUEZhOE42eEJycHJVZHRl
blVDSHd4S05odzF1dVRCaCs5dVU0NWs0UkVwUUFCTjJiQU85RFNMcW9JTDI2Z05yb1dndXA1cFVN
eEhVTlNxNEd5ejQ3dkJQdmlscG81ZjlPWUkyZGRBcVRxbW54WEVSeFFKM1VLOGZIYlZFOUhhZ0hp
Myt0cU5Sb05zQXJkbUF4SEE1THd0UW85WkFhTktVVGxqbm9rbGpvMng4c2NxVnBFRUlQYzAxZlBD
ZEhPQ2cwRGVXQno4RDVUVkFBZng4YVJINVgyWllOSTNlYktEWmRlSitvQkRBeG1ScUozMEVoMi9E
YWVBeTVkaVZOTXBFRG1YaVBEc0dUekJMWHk4ZVZEZEpvSWFmZ3gvZ3hNeVFpNDU0UXJXNTZuQ3ll
RUxnU3VOTkVtWWtmbEYrdDNDWlFPVlJXaktoSXVDY2xtUVNsQVhUMys0SkdHNzVCNHQvNWhRK2xk
TVA0THNBVzZ6M1htVTZJSkp3cG5HVm5zZ1VaaG9ZMWZabHdUUjh3U1U3eFJlamYydUN4OVo1dHJW
VFJSSlA5S25FYjEzNGRFaWVpbDZlQ09HV2dib0k3eHNxc3FNOTlqZkpMVGVQanlnS2xIMkNWeHhz
c2U5UVJ6VEJGakQvS2pxaXRyL0NDVEJ0L1NKNm5MeHo3Y0tQOXBGcUJwcDBsTjV5K2FkS05zWmpy
UHVyb2VtWmF1SDlhVFRGRDNFS0hXOFM1NVhCTEZRQXQxamd4VFFDVHd4bXgvSnlmc1pETjFScm9O
M1ZheHBTZW5wSVg3SytaYkw4VmRsUURjSTRDYnpnM1FKTGE5eVZxTnhVZWx1K0V0eExWcWVla2FB
dlNKa082c1NWcWJVYWp4cWhLc2hOcHZacW9lQXBGMGsvMFAwaWtrd1VjYmR3YzRBMWVqTjdPbzBP
MTVrRzdoVE1vSzNoWlJCQ1g3WVllTFcwd3ZjWHgvMThuL3UzN3lMZ3pCWVZCVXZPUkdsaStzZlJj
WC83NHVENlA0aHErN3h1NTRUbFdKTEZ6VDYzdXdVRHd1RURkT2pKUXF4N0pWK1pqYUVBUGk3dDBN
TXJSNFE4UmtmMTh1eEQ2UkswUktoMGhMOFlVK0RlTDk3aTRwYTVaU3lBZlhLd1pSUy84Z1hjeGRa
WG02MlJCRGo4VTNzTjh4OTViNVBwUHMvbUNCS1l2cGFBNTBwTjVDdC80OTlBRlR0d1E1dmdlU2gr
TkhyS0lpNE5WcHdNL1h6UmFOZkpEODU2bFBFNk0yMXpXUGd1RnNIN2piTFZ5RURmUm10NFZ3cmhD
SjVWVFltY1NQZkdnTzVjbGZOK3ZiYURaN3Nha1U1KzJ2WjJXQ0RZMDMxTnhKYXJWeXRmRERWdGlh
ZmNUR08yckovdGFvTDN6Q2hOMnFtanhvZmN6VE9ZUVBQVlFQaDBKVnRZZ2RVUUlOY1NpTkVFeTU4
VWRZWFgxTXBXVUNFQng3TGJjR3RBbThYV1JRVFZPYW9WM3lTcmk0UlNoaHMvQi8wbTRqWDZPQXdY
T3ZjQTA5Yk5TRzRjekVHdi9XZXk2Vi9qYlRDTlRXNmF3WGROVGNBMUdzUGUxRTlmWmRHbDdSMHZ5
b1ZwSWRKdGZDNmQzMk5ORXJydnEvUitkNjVWRytZT3dSWHBwWHhPQ1l5R05TZjFLM3g2VnhBVy92
dHo0RUMxU2dDT1NQZE42MnNMc29JenVEZmc4R3daQWJxdVZPOEhJdUZQL1RvVm9lVUI3bm53TUYz
NWExd0sxdEk2ZmtycUZLaFFkZUpwd3lsczBwSXk4QVpkZTMvNkxVVWJGYVlKdGh5VUpTVS9rcURY
VExRRWxubjBKcjRCMlJWZ2hOcm1ObW9FbjdwWEllc2hQZ3VYVnN2d29UZG1DbHE0OUpKVTNMV2hI
eVdUckpMOWJSUDZWS3YzdFpvQS90aDc3cDVKdysrT0VFTnZ5dld5L3BOZUV4aURVVlFhWElSR2g4
eHlTWlRJMzZ5dWVGYVNYbzF1SlkwUm5YWWdFT29XV09KSGVhVnVYL2JHTmhIc2gyeWluem5sLysr
TkpjRTlqNmZCUFJjQmRxOWhiOGF3Tnc4VTdCbDZHTTd4NjlFRE9JSWJYL25wWisrYW1sSFI5TC8z
NW1FLzJTczRnYjB4Q2NZNFZ5VEZMUkU3OTZ2SHlzTEFhbXFjeU8rYUZReUpJREJOc2xiSDIvTXJB
dlppU0VJZWRjL2Nxam12NGZiZGEycFhiditGNWEyc3pTc2RrbTlub2lOVVJYdDhlZFVoR1VGNmZT
WldkMUlKYVhLRndEKzQ5UjZlQ1hENEJrZWY3ajl0UnROTVZnVzhCaFJ6L1FweTFUbWVZazBkb3lq
Wm9KU2JlUE9SZVZIZ2tGc0NGdVFKK0xnYzRCeGVBc0svY09pTkRSbWROdzBjdFlobi9uUTQ5OGRZ
STV6bnpHTG9KaTFyYXY3Q244OHJMM3dMZVBWdERLNWdsNzdUa2kzZ0hFc0lBUTIrSUtnYXJqN1k4
VzFJUXpWNVY5TiswVGpMcWJnNjhXZktjT21CQ09qM0prd0poVklrd0RoYytKb3JYdVpFUE1FaDB2
dkgzeDdpcWYrVkF3WGdkNGRpWmlhSkQxekhMOVNueDZXZmc0SXVncmV5aGFiUWtjaXIreTVYZ0R0
ZHgzQXZzN2xrZWVDQndEdlpvVFVDWHg1UXJaa2NFcVdmWUVpRVlScy9FcGhtUkFMU05HUjFJY2xn
ZHI1VkZvRUxwekY0KytmMzV3My9qMHQ1dWNXM24yY2g0UFFDTHVVWHVwc1BSUjdVQTVGalNLck10
UGNLQVpKZmFnTzRsR0U3RkgzWUtNam9ycEswWnhBditpMkprSmh0QU1XV1dGZWo0UmhQUi9jSjNE
eHdvY0N2WERpNFNHWlU0Y3UrSzMyWG5kaUZXZ29wQWwrMEdBcGN3ZjFYdnltSmNGczM5akV4SUJP
NHlValU5TUV4QkxRWWM5SCtXNytJZ2RFU1BScGNpVCtyS1pQZWJWdGFWcSsxR1lPLzV4VEFMM0hB
U2pOVEdJZ012ZGpXYmdjN0p2ZEUxeklGcHVDMFU5RVNpWnl6Qml4enhXeGo0S3doOE15MzRxK0ZL
M0tOTHRtc0ExcXlybUtTTlFPWENQVVpkK09OZWxCVHZGb1VJL0NZc3FhL1JodEtpeU1mMkNnU0Zx
RVBrNTlZM3VxbmxaOGdGcHN3ZlNZeWtvMjN5VlpZeHpLR3hHbTQ5WnF4ZzFsOG96NVJhOVhhUndI
a3V4ZXBtZ3lobTBTb055MktsYmNFcUsrOVFxUzlQTng5SWhtOVU3Z3NSNTVTU0oxRkJETm5rdVdL
eElaMFNEcFh1T0d3WmRvVWJPTURQSFA0dkJBZ3oyVmxTRUpBSFpHSlZiWUlnN2wvRk81S2ZJVnZ4
QzhwUFB4TUdjTk1vZXZGRGVTdHQyaXF6dEUxMG4yVEE0ZGdKSDc2WVM5SERoS0hEM2lDeDZpZUZY
ODRCQUkzUVFubmdoNzZmNXJ1UFFWYnI1cVptY2svNVVqRGMyNmxmck92VUJXeTBPZ2w4YkNvT2tN
T25zODFUbkMzY3VVUzlLVzgrOUErZmUzWFlaT0ZVUEcxdTVlcFNTbURMdzBzNXMyRjBXMzBBTmVv
K3pKa0pRejlTUFpnendZcEVva3RvZmhHVmZtTE9BQjIwYm9DYlcxUVdxL05wRVQvaG5NZWN3L3VT
eUFINE5KYzNFQ09VNG5ua0sxZmozUy9pNWR3YjNSN2swMEFxUVFVd3Q3SWUxcVYwYVkvVlFYMEo4
aExQeTdlQk5YTUhZWllETnhIWjJRaDZBdVhKeHErQWVSZWMvUStKTGhaVjZocFh3UUV6dzdiZjV2
OXVVZjJ2cHEzcWxobXkwSUlHVGt3WWRDZlNBRm1xYmRvKzNYdkRURGpGSmRlMG1iZVFMY24ybjMx
eGFBcUowaXhPL0NMc1Q0STRHNERvbmNWVGdSR05CdHNDY2pJU1dUK29lWFo0SWVkdy84T3NKSTFh
UG5OS0xYLzYwVnZjWmI5NHVhc1J4Q2txbFBRMTF1MVNhMmhIdkI4MFdRRU54Vnl6am5zMC9QaUVC
eXlpbDIxVGU2b2lzazNtTkNFTXJob3VDRk8zeUVaVEhIT0NNeTllYi80VG1pOGNWZjNMZjdQNTNT
WTJoWDNQU04wMzNBczNFVElNTEhXdW1XRU85SlhIQTJ5MlNJQmxJUHBMR0cycXZOc0NJbElyK0Ix
U1dBcVJLbTJ3NkJsZjdVK3pDU0J3SnJmSEc1aThKNUdheC9jVm9uTWxvbjdhSEpYL2dTdnVjSW5j
UlA5M1hDcWt2N0Q4SUZLRnNMaUJnSHFVcFhoRTNwWWpFY1YxZGsvSkQ5ekZWQ2ZFYVFJVlg4Sm1m
ejdJSW9mY0JLUTRPYUcrQzN4QzJ2ZVg5Q0QraUFGWEROYUdnOWVUVnh2a2JKUkpsVzROazlXazEz
a242OTZqV3BwUkRlLzhwRHJZTU85Wnl4Wjk4UmVLU3o5a1dLTEx5azJ6Q1pnQW5pQ2tMSlZYM24x
TTlEWWJvbXlhaFdpdi9LaXhSSVY5aGovb0Z6ODdJK0hMem5iUFRqcGErRCtiWlFuTXVSc2xqVHB2
OTB2UVV0L3BLN2pDRm5BMzBCL2p0cm9TRjIvbS9ncFduMWFRczVXZUE2Z2h6RjhTZHFXSTIwZmdo
ZFNlRE9DU0NtTGdUa2ZhR2dHRG13N25IRmtSekd0YWc1N0lIUzJuYTA2SStnekVwaFhvMXcvWngy
Qk0vaktMMm5ab0ZqSGdndEZRallpOG5TVlJTWElFNThSUGJCT2JYazd1dUlMOStycy81Wm83c3VK
SW5FVXhnc2laWkFXUzI1aUJ0cEVpWmVCZ0R0Z2hFb0FFMHNqY2F5TnE4NU00dGJ1L0xGNWg1MTMz
NVBzR3pRMDlPODc1K3ZVUzg5bGtXTXlOT0ZvaXAyUHV5V3lNUC9pVTJYSVpkZkNDSk5EamViRG9C
TFFkcHk3UVFaQzdzOWMwd2pISmVydlFORHUyald6Qlc1TVNBSk1yN2JQK0l2OTJCa1MvR0dnempF
bjdNRjFJUktGd3d6YmpiUzQvc2xHT21oeDljWnJGdTdIU0VlZm9qTnYzcjBVYUtmS09XelhzcTF6
RXVnYnpsTURGc2FjUkpKSS9pSmxLM3Z0a1orUExaSVZNRmxLQTMyd2JxMktkNVQwdUNMWjFDUGtB
ZkNkemt6MkVZc2NqRGNacTJBV2Z6aU4yY292TjRrWEUxbFFYUFBMVE5NMXh4M3RiaWVwY08vdDNT
V200dzg3cWZoOTlTTDBablkrTEtGUExQZVhWTTJtSUlvVld0KzlOazBJN25ZNE83OWlHWXF4WjhS
VnoyODlhbjZOVmRKV25TS1p2SlFDQXVITmlWYUR4UEFGb0gzOTJ0OXdvdDV0MC9xbVU5NWVFV05i
VTJ1ZFVXNXNOOUpWcWNZbHZBSWZMZVlDMzNvVXp6eFpnU2t0c3YyMW1BN1VseTFGQTVWbm9KRmg2
TjI0NFdtdjNZSkdGdi9UQ1ByeWF3K1pPUmxwWmpRZHEvMkRZWHIzRVpza2ZlZDBHNjFQMDlpcFRL
bWxUUTEwNjdSZzUrUEFrNUZsUTllMFNXYkdmMkIvMDhrcXltT1RNVk96bnNBTEhITkZINExGUkts
MkYvTk9pWUZsOWtoTkhuU3U5QWs1c3EyNllubC9pMmZkVGxlMjlZMXVncW1SNVlqNFlUOXB2c2xG
eVlDYncwbU5GcjVyVlFtMUx2a0cyN1FNcTlwaDN0OGZtbjZyNlNRNG9TYnI1dHorSjFrSWF3R3pE
eGI2VllPdnZXaG9iRFRYZkJlTnYzYjRhTm01WFVpbnNDR3FHMnEvNDVtMytMb0NPc2RkRmNlWWhS
eDFUc3NzOVBMZFBmSmRFckZNallkM2dkZGppUDArWFFqY1JhZFpQNmJ3Tkx5U3Z1bkZmMjBDenk2
SnFkRVcyYTk2S3hkWWRPcnlCdjFCamJ1VXEyeUNIZWgrNnNrN2ZHbW1QaTUwcGUvMWw1VHlQZTVv
SFc5b1BuaFBzd0x5ZjJURkRkQ3lZbGh3QkNzdHY1QzFId2xXN3hXb0dUOVhadDRxVmo1V3J5TFBM
TEQ2aC81Y01MRWpXemdDZUFJS05zTGFrOTJhQnFCc0hsNEFKd2wyTjRqZnZiU2tCRXhHaW12MG5G
dnYwOXVEU2NRYmp4K3c0a1BRamdqbFcrZzl3czlWRUp2STJrOE42WHhWdTB1SXdvdmdURmR1bkcy
NGdCdGFEaSt5MVlMUXdaOG13YmlwNWZWbE8zazBuMEFFci9FVGJ0dThWamttK25OU2lFYjdYLzNm
TWpCTDVBOFBkZ0crL0ZuYmV4YkZGRXhtRWZldFhBbmlzRUt5NXo0NFdWUHBRWmpTeS9qemVHbjR5
RFJzRkdxaGg4N1FQYURCV2hsbzM3SUZiZS9DMHh5blM5MWQydFAvQUpvSlMwc1ZGNml3QUFBQUFF
bEZUa1N1UW1DQyIpOwotfQotCi0jbWVudTo6YWZ0ZXIgewotICBkaXNwbGF5OiBibG9jazsKLSAg
Y29udGVudDogJyc7Ci0gIHBhZGRpbmctdG9wOiA4MHB4OwotfQotCi0jbG9nbyB7Ci0gIHBvc2l0
aW9uOiBmaXhlZDsKLSAgYm90dG9tOiAxMHB4OwotICByaWdodDogMTBweDsKLSAgYmFja2dyb3Vu
ZDogcmdiYSgyNTUsMjU1LDI1NSwuMSk7Ci0gIGZvbnQtc2l6ZTogMTFweDsKLSAgZGlzcGxheTog
YmxvY2s7Ci0gIHdpZHRoOiAyMHB4OwotICBoZWlnaHQ6IDIwcHg7Ci0gIGxpbmUtaGVpZ2h0OiAy
MHB4OwotICB0ZXh0LWFsaWduOiBjZW50ZXI7Ci0gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMjBw
eDsKLSAgLW1vei1ib3JkZXItcmFkaXVzOiAyMHB4OwotICAtd2Via2l0LWJveC1zaGFkb3c6IDAg
MCAzcHggcmdiYSgwLDAsMCwuMik7Ci0gIC1tb3otYm94LXNoYWRvdzogMCAwIDNweCByZ2JhKDAs
MCwwLC4yKTsKLSAgY29sb3I6IGluaGVyaXQ7Ci19Ci0KLSNtZW51IGxpIGEgewotICBkaXNwbGF5
OiBibG9jazsKLSAgY29sb3I6IHdoaXRlOwotICBwYWRkaW5nOiAwIDM1cHggMCAyNXB4OwotICAt
d2Via2l0LXRyYW5zaXRpb246IGJhY2tncm91bmQgMzAwbXM7Ci0gIC1tb3otdHJhbnNpdGlvbjog
YmFja2dyb3VuZCAzMDBtczsKLX0KLQotI21lbnUgbGkgewotICBwb3NpdGlvbjogcmVsYXRpdmU7
Ci0gIGxpc3Qtc3R5bGU6IG5vbmU7Ci19Ci0KLSNtZW51IGE6aG92ZXIsCi0jbWVudSBhLmFjdGl2
ZSB7Ci0gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKLSAgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1
LDI1NSwuMSk7Ci19Ci0KLSNtZW51IGxpOmhvdmVyIC5jb3YgewotICBvcGFjaXR5OiAxOwotfQot
Ci0jbWVudSBsaSAuZGlybmFtZSB7Ci0gIG9wYWNpdHk6IC42MDsKLSAgcGFkZGluZy1yaWdodDog
MnB4OwotfQotCi0jbWVudSBsaSAuYmFzZW5hbWUgewotICBvcGFjaXR5OiAxOwotfQotCi0jbWVu
dSAuY292IHsKLSAgYmFja2dyb3VuZDogcmdiYSgwLDAsMCwuNCk7Ci0gIHBvc2l0aW9uOiBhYnNv
bHV0ZTsKLSAgdG9wOiAwOwotICByaWdodDogOHB4OwotICBmb250LXNpemU6IDlweDsKLSAgb3Bh
Y2l0eTogLjY7Ci0gIHRleHQtYWxpZ246IGxlZnQ7Ci0gIHdpZHRoOiAxN3B4OwotICAtd2Via2l0
LWJvcmRlci1yYWRpdXM6IDEwcHg7Ci0gIC1tb3otYm9yZGVyLXJhZGl1czogMTBweDsKLSAgcGFk
ZGluZzogMnB4IDNweDsKLSAgdGV4dC1hbGlnbjogY2VudGVyOwotfQotCi0jc3RhdHM6bnRoLWNo
aWxkKDJuKSB7Ci0gIGRpc3BsYXk6IGlubGluZS1ibG9jazsKLSAgbWFyZ2luLXRvcDogMTVweDsK
LSAgYm9yZGVyOiAxcHggc29saWQgI2VlZTsKLSAgcGFkZGluZzogMTBweDsKLSAgLXdlYmtpdC1i
b3gtc2hhZG93OiBpbnNldCAwIDAgMnB4ICNlZWU7Ci0gIC1tb3otYm94LXNoYWRvdzogaW5zZXQg
MCAwIDJweCAjZWVlOwotICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDVweDsKLSAgLW1vei1ib3Jk
ZXItcmFkaXVzOiA1cHg7Ci19Ci0KLSNzdGF0cyBkaXYgewotICBmbG9hdDogbGVmdDsKLSAgcGFk
ZGluZzogMCA1cHg7Ci19Ci0KLSNzdGF0czo6YWZ0ZXIgewotICBkaXNwbGF5OiBibG9jazsKLSAg
Y29udGVudDogJyc7Ci0gIGNsZWFyOiBib3RoOwotfQotCi0jc3RhdHMgLnNsb2M6OmFmdGVyIHsK
LSAgY29udGVudDogJyBTTE9DJzsKLSAgY29sb3I6ICNiNmI2YjY7Ci19Ci0KLSNzdGF0cyAucGVy
Y2VudGFnZTo6YWZ0ZXIgewotICBjb250ZW50OiAnIGNvdmVyYWdlJzsKLSAgY29sb3I6ICNiNmI2
YjY7Ci19Ci0KLSNzdGF0cyAuaGl0cywKLSNzdGF0cyAubWlzc2VzIHsKLSAgZGlzcGxheTogbm9u
ZTsKLX0KLQotLmhpZ2ggewotICBjb2xvcjogIzAwZDRiNDsKLX0KLS5tZWRpdW0gewotICBjb2xv
cjogI2U4N2QwZDsKLX0KLS5sb3cgewotICBjb2xvcjogI2Q0MDgxYTsKLX0KLS50ZXJyaWJsZSB7
Ci0gIGNvbG9yOiAjZDQwODFhOwotICBmb250LXdlaWdodDogYm9sZDsKLX0KLQotdGFibGUgewot
ICB3aWR0aDogODAlOwotICBtYXJnaW4tdG9wOiAxMHB4OwotICBib3JkZXItY29sbGFwc2U6IGNv
bGxhcHNlOwotICBib3JkZXI6IDFweCBzb2xpZCAjY2JjYmNiOwotICBjb2xvcjogIzM2MzYzNjsK
LSAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAzcHg7Ci0gIC1tb3otYm9yZGVyLXJhZGl1czogM3B4
OwotfQotCi10YWJsZSB0aGVhZCB7Ci0gIGRpc3BsYXk6IG5vbmU7Ci19Ci0KLXRhYmxlIHRkLmxp
bmUsCi10YWJsZSB0ZC5oaXRzIHsKLSAgd2lkdGg6IDIwcHg7Ci0gIGJhY2tncm91bmQ6ICNlYWVh
ZWE7Ci0gIHRleHQtYWxpZ246IGNlbnRlcjsKLSAgZm9udC1zaXplOiAxMXB4OwotICBwYWRkaW5n
OiAwIDEwcHg7Ci0gIGNvbG9yOiAjOTQ5NDk0OwotfQotCi10YWJsZSB0ZC5oaXRzIHsKLSAgd2lk
dGg6IDEwcHg7Ci0gIHBhZGRpbmc6IDJweCA1cHg7Ci0gIGNvbG9yOiByZ2JhKDAsMCwwLC4yKTsK
LSAgYmFja2dyb3VuZDogI2YwZjBmMDsKLX0KLQotdHIubWlzcyB0ZC5saW5lLAotdHIubWlzcyB0
ZC5oaXRzIHsKLSAgYmFja2dyb3VuZDogI2U2YzNjNzsKLX0KLQotdHIubWlzcyB0ZCB7Ci0gIGJh
Y2tncm91bmQ6ICNmOGQ1ZDg7Ci19Ci0KLXRkLnNvdXJjZSB7Ci0gIHBhZGRpbmctbGVmdDogMTVw
eDsKLSAgbGluZS1oZWlnaHQ6IDE1cHg7Ci0gIHdoaXRlLXNwYWNlOiBwcmU7Ci0gIGZvbnQ6IDEy
cHggbW9uYWNvLCBtb25vc3BhY2U7Ci19Ci0KLWNvZGUgLmNvbW1lbnQgeyBjb2xvcjogI2RkZCB9
Ci1jb2RlIC5pbml0IHsgY29sb3I6ICMyRjZGQUQgfQotY29kZSAuc3RyaW5nIHsgY29sb3I6ICM1
ODkwQUQgfQotY29kZSAua2V5d29yZCB7IGNvbG9yOiAjOEE2MzQzIH0KLWNvZGUgLm51bWJlciB7
IGNvbG9yOiAjMkY2RkFEIH0KLTwvc3R5bGU+PC9oZWFkPjxib2R5PjxkaXYgaWQ9ImNvdmVyYWdl
Ij48aDEgaWQ9Im92ZXJ2aWV3Ij5Db3ZlcmFnZTwvaDE+PGRpdiBpZD0ibWVudSI+PGxpPjxhIGhy
ZWY9IiNvdmVydmlldyI+b3ZlcnZpZXc8L2E+PC9saT48bGk+PHNwYW4gY2xhc3M9ImNvdiBoaWdo
Ij45NTwvc3Bhbj48YSBocmVmPSIjd2ViaWRsMi5qcyI+PHNwYW4gY2xhc3M9ImJhc2VuYW1lIj53
ZWJpZGwyLmpzPC9zcGFuPjwvYT48L2xpPjxhIGlkPSJsb2dvIiBocmVmPSJodHRwOi8vdmlzaW9u
bWVkaWEuZ2l0aHViLmNvbS9tb2NoYS8iPm08L2E+PC9kaXY+PGRpdiBpZD0ic3RhdHMiIGNsYXNz
PSJoaWdoIj48ZGl2IGNsYXNzPSJwZXJjZW50YWdlIj45NSU8L2Rpdj48ZGl2IGNsYXNzPSJzbG9j
Ij41NzI8L2Rpdj48ZGl2IGNsYXNzPSJoaXRzIj41NDg8L2Rpdj48ZGl2IGNsYXNzPSJtaXNzZXMi
PjI0PC9kaXY+PC9kaXY+PGRpdiBpZD0iZmlsZXMiPjxkaXYgY2xhc3M9ImZpbGUiPjxoMiBpZD0i
d2ViaWRsMi5qcyI+d2ViaWRsMi5qczwvaDI+PGRpdiBpZD0ic3RhdHMiIGNsYXNzPSJoaWdoIj48
ZGl2IGNsYXNzPSJwZXJjZW50YWdlIj45NSU8L2Rpdj48ZGl2IGNsYXNzPSJzbG9jIj41NzI8L2Rp
dj48ZGl2IGNsYXNzPSJoaXRzIj41NDg8L2Rpdj48ZGl2IGNsYXNzPSJtaXNzZXMiPjI0PC9kaXY+
PC9kaXY+PHRhYmxlIGlkPSJzb3VyY2UiPjx0aGVhZD48dHI+PHRoPkxpbmU8L3RoPjx0aD5IaXRz
PC90aD48dGg+U291cmNlPC90aD48L3RyPjwvdGhlYWQ+PHRib2R5Pjx0cj48dGQgY2xhc3M9Imxp
bmUiPjE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+IDwvdGQ+
PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj4yPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRk
IGNsYXNzPSJzb3VyY2UiPiA8L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9Imxp
bmUiPjM8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPjxzcGFu
IGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj5mdW5jdGlvbjwvc3Bhbj4gPHNwYW4g
Y2xhc3M9ImsiPigpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRy
IGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjQ8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTwv
dGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiB0b2tl
bmlzZSA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPmZ1bmN0aW9uPC9z
cGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5zdHI8c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4g
PHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNs
YXNzPSJsaW5lIj41PC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ3PC90ZD48dGQgY2xhc3M9InNvdXJj
ZSI+ICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiB0b2tlbnMgPHNwYW4gY2xhc3M9
ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5bXTwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBj
bGFzcz0ibGluZSI+NjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNl
Ij4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiAgIHJlIDxzcGFuIGNsYXNzPSJrIj49
PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0i
bGluZSI+NzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAg
ICAgICAgICAgICAgPHNwYW4gY2xhc3M9InMiPiJmbG9hdCI8L3NwYW4+PHNwYW4gY2xhc3M9Imsi
Pjo8L3NwYW4+ICAgICAgICA8c3BhbiBjbGFzcz0icyI+L14tPygoWzAtOV0rXC5bMC05XSp8WzAt
OV0qXC5bMC05XSspKFtFZV1bLStdP1swLTldKyk/fFswLTldK1tFZV1bLStdP1swLTldKykvPC9z
cGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj44PC90ZD48dGQgY2xhc3M9ImhpdHMi
PjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj4sPC9z
cGFuPiAgIDxzcGFuIGNsYXNzPSJzIj4iaW50ZWdlciI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjo8
L3NwYW4+ICAgICAgPHNwYW4gY2xhc3M9InMiPi9eLT8oMChbWHhdWzAtOUEtRmEtZl0rfFswLTdd
Kil8WzEtOV1bMC05XSopLzwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+OTwv
dGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8
c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gICA8c3BhbiBjbGFzcz0icyI+ImlkZW50aWZpZXIiPC9z
cGFuPjxzcGFuIGNsYXNzPSJrIj46PC9zcGFuPiAgIDxzcGFuIGNsYXNzPSJzIj4vXltBLVpfYS16
XVswLTlBLVpfYS16XSovPC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj4xMDwv
dGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8
c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gICA8c3BhbiBjbGFzcz0icyI+InN0cmluZyI8L3NwYW4+
PHNwYW4gY2xhc3M9ImsiPjo8L3NwYW4+ICAgICAgIDxzcGFuIGNsYXNzPSJzIj4vXiJbXiJdKiIv
PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj4xMTwvdGQ+PHRkIGNsYXNzPSJo
aXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+
LDwvc3Bhbj4gICA8c3BhbiBjbGFzcz0icyI+IndoaXRlc3BhY2UiPC9zcGFuPjxzcGFuIGNsYXNz
PSJrIj46PC9zcGFuPiAgIDxzcGFuIGNsYXNzPSJzIj4vXig/OltcdFxuXHIgXSt8W1x0XG5cciBd
KigoXC9cLy4qfFwvXCooLnxcbnxccikqP1wqXC8pW1x0XG5cciBdKikpKy88L3NwYW4+PC90ZD48
L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjEyPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRk
IGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiAgIDxz
cGFuIGNsYXNzPSJzIj4ib3RoZXIiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj46PC9zcGFuPiAgICAg
ICAgPHNwYW4gY2xhc3M9InMiPi9eW15cdFxuXHIgMC05QS1aX2Etel0vPC9zcGFuPjwvdGQ+PC90
cj48dHI+PHRkIGNsYXNzPSJsaW5lIj4xMzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBj
bGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48L3RkPjwv
dHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+MTQ8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQg
Y2xhc3M9InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gICB0eXBlcyA8
c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPltdPC9zcGFuPjwvdGQ+PC90
cj48dHI+PHRkIGNsYXNzPSJsaW5lIj4xNTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBj
bGFzcz0ic291cmNlIj4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48
dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MTY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+
MzI5PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFzcz0iayI+Zm9yPC9z
cGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiBr
IDxzcGFuIGNsYXNzPSJrIj5pbjwvc3Bhbj4gcmU8c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gdHlw
ZXM8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5wdXNoPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+azxz
cGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xh
c3M9ImxpbmUiPjE3PC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ3PC90ZD48dGQgY2xhc3M9InNvdXJj
ZSI+ICAgICAgICA8c3BhbiBjbGFzcz0iayI+d2hpbGU8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4o
PC9zcGFuPnN0cjxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPmxlbmd0aCA8c3BhbiBjbGFzcz0iayI+
Pjwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPjA8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+
IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBj
bGFzcz0ibGluZSI+MTg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MjkxNDwvdGQ+PHRkIGNsYXNzPSJz
b3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IG1hdGNoZWQgPHNw
YW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5mYWxzZTwvc3Bhbj48c3BhbiBj
bGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9Imxp
bmUiPjE5PC90ZD48dGQgY2xhc3M9ImhpdHMiPjI5MTQ8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4g
ICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+Zm9yPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwv
c3Bhbj48c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiBpIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFu
PiA8c3BhbiBjbGFzcz0icyI+MDwvc3Bhbj48c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gbiA8c3Bh
biBjbGFzcz0iayI+PTwvc3Bhbj4gdHlwZXM8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5sZW5ndGg8
c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj4gaSA8c3BhbiBjbGFzcz0iayI+PDwvc3Bhbj4gbjxzcGFu
IGNsYXNzPSJrIj47PC9zcGFuPiBpPHNwYW4gY2xhc3M9ImsiPisrKTwvc3Bhbj4gPHNwYW4gY2xh
c3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5l
Ij4yMDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xMzMyNTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAg
ICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiB0eXBlIDxzcGFuIGNsYXNz
PSJrIj49PC9zcGFuPiB0eXBlczxzcGFuIGNsYXNzPSJrIj5bPC9zcGFuPmk8c3BhbiBjbGFzcz0i
ayI+XTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4y
MTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xMzMyNTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAg
ICAgICAgICAgICBzdHIgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IHN0cjxzcGFuIGNsYXNzPSJr
Ij4uPC9zcGFuPnJlcGxhY2U8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5yZTxzcGFuIGNsYXNzPSJr
Ij5bPC9zcGFuPnR5cGU8c3BhbiBjbGFzcz0iayI+XSw8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5m
dW5jdGlvbjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+dG9rPHNwYW4gY2xhc3M9Imsi
Pik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9Imhp
dCI+IDx0ZCBjbGFzcz0ibGluZSI+MjI8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MjkxNDwvdGQ+PHRk
IGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAgdG9rZW5zPHNwYW4gY2xhc3M9Imsi
Pi48L3NwYW4+cHVzaDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj57PC9z
cGFuPiB0eXBlPHNwYW4gY2xhc3M9ImsiPjo8L3NwYW4+IHR5cGU8c3BhbiBjbGFzcz0iayI+LDwv
c3Bhbj4gdmFsdWU8c3BhbiBjbGFzcz0iayI+Ojwvc3Bhbj4gdG9rIDxzcGFuIGNsYXNzPSJrIj59
PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQi
PiA8dGQgY2xhc3M9ImxpbmUiPjIzPC90ZD48dGQgY2xhc3M9ImhpdHMiPjI5MTQ8L3RkPjx0ZCBj
bGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAgIG1hdGNoZWQgPHNwYW4gY2xhc3M9Imsi
Pj08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj50cnVlPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9z
cGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MjQ8L3RkPjx0
ZCBjbGFzcz0iaGl0cyI+MjkxNDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAg
ICAgICAgPHNwYW4gY2xhc3M9ImsiPnJldHVybjwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiIiPC9z
cGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5l
Ij4yNTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAg
ICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFu
PjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MjY8L3RkPjx0ZCBj
bGFzcz0iaGl0cyI+MTYyMzk8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAg
PHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5tYXRjaGVk
PHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5icmVhazwvc3Bhbj48c3Bh
biBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+Mjc8L3Rk
Pjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNw
YW4gY2xhc3M9ImsiPn08L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNz
PSJsaW5lIj4yODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj41ODI4PC90ZD48dGQgY2xhc3M9InNvdXJj
ZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+
KDwvc3Bhbj5tYXRjaGVkPHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5j
b250aW51ZTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNz
PSJtaXNzIj4gPHRkIGNsYXNzPSJsaW5lIj4yOTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4wPC90ZD48
dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnRocm93PC9zcGFu
PiA8c3BhbiBjbGFzcz0iayI+bmV3PC9zcGFuPiBFcnJvcjxzcGFuIGNsYXNzPSJrIj4oPC9zcGFu
PjxzcGFuIGNsYXNzPSJzIj4iVG9rZW4gc3RyZWFtIG5vdCBwcm9ncmVzc2luZyI8L3NwYW4+PHNw
YW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj4zMDwv
dGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxzcGFu
IGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0i
bGluZSI+MzE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDc8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4g
ICAgICAgIDxzcGFuIGNsYXNzPSJrIj5yZXR1cm48L3NwYW4+IHRva2VuczxzcGFuIGNsYXNzPSJr
Ij47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj4zMjwvdGQ+PHRkIGNsYXNz
PSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgPHNwYW4gY2xhc3M9ImsiPn08L3Nw
YW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUi
PjMzPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICA8L3Rk
PjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjM0PC90ZD48dGQgY2xhc3M9
ImhpdHMiPjE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwv
c3Bhbj4gcGFyc2UgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5mdW5j
dGlvbjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+dG9rZW5zPHNwYW4gY2xhc3M9Imsi
Pik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9Imhp
dCI+IDx0ZCBjbGFzcz0ibGluZSI+MzU8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDc8L3RkPjx0ZCBj
bGFzcz0ic291cmNlIj4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IGxpbmUgPHNw
YW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4xPC9zcGFuPjxzcGFuIGNsYXNz
PSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+
MzY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDc8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAg
IHRva2VucyA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gdG9rZW5zPHNwYW4gY2xhc3M9ImsiPi48
L3NwYW4+c2xpY2U8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNs
YXNzPSJsaW5lIj4zNzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNl
Ij4gICAgICAgIDwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+Mzg8
L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDc8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxz
cGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IEZMT0FUIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8
c3BhbiBjbGFzcz0icyI+ImZsb2F0Ijwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGlu
ZSI+Mzk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAg
ICA8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gICBJTlQgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+
IDxzcGFuIGNsYXNzPSJzIj4iaW50ZWdlciI8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9
ImxpbmUiPjQwPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAg
ICAgICAgPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+ICAgSUQgPHNwYW4gY2xhc3M9ImsiPj08L3Nw
YW4+IDxzcGFuIGNsYXNzPSJzIj4iaWRlbnRpZmllciI8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQg
Y2xhc3M9ImxpbmUiPjQxPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3Vy
Y2UiPiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+ICAgU1RSIDxzcGFuIGNsYXNzPSJr
Ij49PC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+InN0cmluZyI8L3NwYW4+PC90ZD48L3RyPjx0cj48
dGQgY2xhc3M9ImxpbmUiPjQyPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJz
b3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+ICAgT1RIRVIgPHNwYW4gY2xh
c3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4ib3RoZXIiPC9zcGFuPjwvdGQ+PC90cj48
dHI+PHRkIGNsYXNzPSJsaW5lIj40MzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFz
cz0ic291cmNlIj4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+
PHRkIGNsYXNzPSJsaW5lIj40NDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0i
c291cmNlIj4gICAgICAgIDwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGlu
ZSI+NDU8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDc8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAg
ICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IFdlYklETFBhcnNlRXJyb3IgPHNwYW4gY2xh
c3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5mdW5jdGlvbjwvc3Bhbj4gPHNwYW4gY2xh
c3M9ImsiPig8L3NwYW4+c3RyPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IGxpbmU8c3BhbiBjbGFz
cz0iayI+LDwvc3Bhbj4gaW5wdXQ8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gdG9rZW5zPHNwYW4g
Y2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIg
Y2xhc3M9Im1pc3MiPiA8dGQgY2xhc3M9ImxpbmUiPjQ2PC90ZD48dGQgY2xhc3M9ImhpdHMiPjA8
L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+dGhpczwv
c3Bhbj48c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5tZXNzYWdlIDxzcGFuIGNsYXNzPSJrIj49PC9z
cGFuPiBzdHI8c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJtaXNz
Ij4gPHRkIGNsYXNzPSJsaW5lIj40NzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4wPC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnRoaXM8L3NwYW4+PHNwYW4g
Y2xhc3M9ImsiPi48L3NwYW4+bGluZSA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gbGluZTxzcGFu
IGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9Im1pc3MiPiA8dGQgY2xhc3M9
ImxpbmUiPjQ4PC90ZD48dGQgY2xhc3M9ImhpdHMiPjA8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4g
ICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+dGhpczwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ljwv
c3Bhbj5pbnB1dCA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gaW5wdXQ8c3BhbiBjbGFzcz0iayI+
Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJtaXNzIj4gPHRkIGNsYXNzPSJsaW5lIj40OTwv
dGQ+PHRkIGNsYXNzPSJoaXRzIj4wPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAg
PHNwYW4gY2xhc3M9ImsiPnRoaXM8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+dG9rZW5z
IDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiB0b2tlbnM8c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48
L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NTA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90
ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48c3Bh
biBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9
ImxpbmUiPjUxPC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ3PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+
ICAgICAgICBXZWJJRExQYXJzZUVycm9yPHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+cHJvdG90eXBl
PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+dG9TdHJpbmcgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+
IDxzcGFuIGNsYXNzPSJrIj5mdW5jdGlvbjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPigpPC9zcGFu
PiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJtaXNzIj4gPHRk
IGNsYXNzPSJsaW5lIj41MjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4wPC90ZD48dGQgY2xhc3M9InNv
dXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnJldHVybjwvc3Bhbj4gPHNwYW4gY2xh
c3M9ImsiPnRoaXM8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+bWVzc2FnZSA8c3BhbiBj
bGFzcz0iayI+Kzwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiIsIGxpbmUgIjwvc3Bhbj4gPHNwYW4g
Y2xhc3M9ImsiPis8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj50aGlzPC9zcGFuPjxzcGFuIGNsYXNz
PSJrIj4uPC9zcGFuPmxpbmUgPHNwYW4gY2xhc3M9ImsiPis8L3NwYW4+IDxzcGFuIGNsYXNzPSJz
Ij4iICh0b2tlbnM6ICciPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+Kzwvc3Bhbj4gPHNwYW4gY2xh
c3M9ImsiPnRoaXM8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+aW5wdXQgPHNwYW4gY2xh
c3M9ImsiPis8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iJyk8L3NwYW4+PHNwYW4gY2xhc3M9InQi
PlxuPC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4iPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+Kzwvc3Bh
bj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NTM8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+
PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgIEpTT048c3BhbiBjbGFz
cz0iayI+Ljwvc3Bhbj5zdHJpbmdpZnk8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3BhbiBjbGFz
cz0iayI+dGhpczwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj50b2tlbnM8c3BhbiBjbGFz
cz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPm51bGw8L3NwYW4+PHNwYW4gY2xhc3M9Imsi
Piw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj40PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bh
bj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NTQ8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+
PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48
c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NTU8
L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8L3Rk
PjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjU2PC90ZD48dGQgY2xhc3M9
ImhpdHMiPjQ3PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFzcz0iayI+
dmFyPC9zcGFuPiBlcnJvciA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9Imsi
PmZ1bmN0aW9uPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5zdHI8c3BhbiBjbGFzcz0i
ayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0i
bWlzcyI+IDx0ZCBjbGFzcz0ibGluZSI+NTc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MDwvdGQ+PHRk
IGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IHRv
ayA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiIiPC9zcGFuPjxzcGFu
IGNsYXNzPSJrIj4sPC9zcGFuPiBudW1Ub2tlbnMgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxz
cGFuIGNsYXNzPSJzIj4wPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiBtYXhUb2tlbnMg
PHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj41PC9zcGFuPjxzcGFuIGNs
YXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9Im1pc3MiPiA8dGQgY2xhc3M9Imxp
bmUiPjU4PC90ZD48dGQgY2xhc3M9ImhpdHMiPjA8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAg
ICAgICAgICA8c3BhbiBjbGFzcz0iayI+d2hpbGU8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9z
cGFuPm51bVRva2VucyA8c3BhbiBjbGFzcz0iayI+PDwvc3Bhbj4gbWF4VG9rZW5zIDxzcGFuIGNs
YXNzPSJrIj4mYW1wOyZhbXA7PC9zcGFuPiB0b2tlbnM8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5s
ZW5ndGggPHNwYW4gY2xhc3M9ImsiPj48L3NwYW4+IG51bVRva2VuczxzcGFuIGNsYXNzPSJrIj4p
PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJtaXNz
Ij4gPHRkIGNsYXNzPSJsaW5lIj41OTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4wPC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIHRvayA8c3BhbiBjbGFzcz0iayI+Kz08L3NwYW4+
IHRva2VuczxzcGFuIGNsYXNzPSJrIj5bPC9zcGFuPm51bVRva2VuczxzcGFuIGNsYXNzPSJrIj5d
Ljwvc3Bhbj52YWx1ZTxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9
Im1pc3MiPiA8dGQgY2xhc3M9ImxpbmUiPjYwPC90ZD48dGQgY2xhc3M9ImhpdHMiPjA8L3RkPjx0
ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgbnVtVG9rZW5zPHNwYW4gY2xhc3M9Imsi
PisrOzwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NjE8L3RkPjx0ZCBjbGFz
cz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9
ImsiPn08L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0ibWlzcyI+IDx0ZCBjbGFzcz0ibGluZSI+
NjI8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAg
ICAgIDxzcGFuIGNsYXNzPSJrIj50aHJvdzwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPm5ldzwvc3Bh
bj4gV2ViSURMUGFyc2VFcnJvcjxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPnN0cjxzcGFuIGNsYXNz
PSJrIj4sPC9zcGFuPiBsaW5lPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IHRvazxzcGFuIGNsYXNz
PSJrIj4sPC9zcGFuPiB0b2tlbnM8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5zbGljZTxzcGFuIGNs
YXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4wPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4s
PC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+NTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KSk7PC9zcGFu
PjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj42MzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48
L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjxz
cGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj42NDwv
dGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDwvdGQ+
PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NjU8L3RkPjx0ZCBjbGFzcz0i
aGl0cyI+NDc8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj52
YXI8L3NwYW4+IGxhc3RfdG9rZW4gPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNz
PSJrIj5udWxsPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRk
IGNsYXNzPSJsaW5lIj42NjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291
cmNlIj4gICAgICAgIDwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+
Njc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDc8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAg
IDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IGNvbnN1bWUgPHNwYW4gY2xhc3M9ImsiPj08L3Nw
YW4+IDxzcGFuIGNsYXNzPSJrIj5mdW5jdGlvbjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3Nw
YW4+dHlwZTxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiB2YWx1ZTxzcGFuIGNsYXNzPSJrIj4pPC9z
cGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8
dGQgY2xhc3M9ImxpbmUiPjY4PC90ZD48dGQgY2xhc3M9ImhpdHMiPjg3Nzg8L3RkPjx0ZCBjbGFz
cz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNs
YXNzPSJrIj4oITwvc3Bhbj50b2tlbnM8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5sZW5ndGggPHNw
YW4gY2xhc3M9ImsiPnx8PC9zcGFuPiB0b2tlbnM8c3BhbiBjbGFzcz0iayI+Wzwvc3Bhbj48c3Bh
biBjbGFzcz0icyI+MDwvc3Bhbj48c3BhbiBjbGFzcz0iayI+XS48L3NwYW4+dHlwZSA8c3BhbiBj
bGFzcz0iayI+IT09PC9zcGFuPiB0eXBlPHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNs
YXNzPSJrIj5yZXR1cm48L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0
ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj42OTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj41
NDcwPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlm
PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0iayI+dHlwZW9mPC9z
cGFuPiB2YWx1ZSA8c3BhbiBjbGFzcz0iayI+PT09PC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+InVu
ZGVmaW5lZCI8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj58fDwvc3Bhbj4gdG9rZW5zPHNwYW4gY2xh
c3M9ImsiPls8L3NwYW4+PHNwYW4gY2xhc3M9InMiPjA8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPl0u
PC9zcGFuPnZhbHVlIDxzcGFuIGNsYXNzPSJrIj49PT08L3NwYW4+IHZhbHVlPHNwYW4gY2xhc3M9
ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9
ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NzA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTczODwvdGQ+
PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgbGFzdF90b2tlbiA8c3BhbiBjbGFz
cz0iayI+PTwvc3Bhbj4gdG9rZW5zPHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+c2hpZnQ8c3BhbiBj
bGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0i
bGluZSI+NzE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTczODwvdGQ+PHRkIGNsYXNzPSJzb3VyY2Ui
PiAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnJldHVybjwvc3Bhbj4gbGFzdF90b2tl
bjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj43
MjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAg
ICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUi
PjczPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAg
PHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3Ry
Pjx0cj48dGQgY2xhc3M9ImxpbmUiPjc0PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNs
YXNzPSJzb3VyY2UiPiAgICAgICAgPC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNz
PSJsaW5lIj43NTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40NzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2Ui
PiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gd3MgPHNwYW4gY2xhc3M9ImsiPj08
L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5mdW5jdGlvbjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPigp
PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQi
PiA8dGQgY2xhc3M9ImxpbmUiPjc2PC90ZD48dGQgY2xhc3M9ImhpdHMiPjY5NjE8L3RkPjx0ZCBj
bGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFu
IGNsYXNzPSJrIj4oITwvc3Bhbj50b2tlbnM8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5sZW5ndGg8
c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnJldHVybjwvc3Bhbj48c3Bh
biBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+Nzc8L3Rk
Pjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNw
YW4gY2xhc3M9ImMiPi8vIGNvbnNvbGUubG9nKCJ0b2tlbnMubGVuZ3RoIiwgdG9rZW5zLmxlbmd0
aCwgdG9rZW5zWzBdKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNz
PSJsaW5lIj43ODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj42MTE1PC90ZD48dGQgY2xhc3M9InNvdXJj
ZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+
KDwvc3Bhbj50b2tlbnM8c3BhbiBjbGFzcz0iayI+Wzwvc3Bhbj48c3BhbiBjbGFzcz0icyI+MDwv
c3Bhbj48c3BhbiBjbGFzcz0iayI+XS48L3NwYW4+dHlwZSA8c3BhbiBjbGFzcz0iayI+PT09PC9z
cGFuPiA8c3BhbiBjbGFzcz0icyI+IndoaXRlc3BhY2UiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4p
PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQi
PiA8dGQgY2xhc3M9ImxpbmUiPjc5PC90ZD48dGQgY2xhc3M9ImhpdHMiPjExNzI8L3RkPjx0ZCBj
bGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4g
dCA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gdG9rZW5zPHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+
c2hpZnQ8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+
IDx0ZCBjbGFzcz0ibGluZSI+ODA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MjI5NDwvdGQ+PHRkIGNs
YXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICB0PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+dmFs
dWU8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5yZXBsYWNlPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+
PHNwYW4gY2xhc3M9InMiPi9cbi9nPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3Bh
biBjbGFzcz0iayI+ZnVuY3Rpb248L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPm08c3Bh
biBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+IGxpbmU8c3BhbiBj
bGFzcz0iayI+Kys7PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+cmV0dXJuPC9zcGFuPiBtPHNwYW4g
Y2xhc3M9ImsiPjs8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjxzcGFuIGNsYXNzPSJr
Ij4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjgx
PC90ZD48dGQgY2xhc3M9ImhpdHMiPjExNzI8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAg
ICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnJldHVybjwvc3Bhbj4gdDxzcGFuIGNsYXNzPSJrIj47
PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj44MjwvdGQ+PHRkIGNsYXNzPSJo
aXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+
fTwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+ODM8L3RkPjx0ZCBjbGFzcz0i
aGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwv
c3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGlu
ZSI+ODQ8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAg
ICA8L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjg1PC90ZD48dGQg
Y2xhc3M9ImhpdHMiPjQ3PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFz
cz0iayI+dmFyPC9zcGFuPiBhbGxfd3MgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNs
YXNzPSJrIj5mdW5jdGlvbjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPigpPC9zcGFuPiA8c3BhbiBj
bGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9Imxp
bmUiPjg2PC90ZD48dGQgY2xhc3M9ImhpdHMiPjUzNjY8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4g
ICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiB0IDxzcGFuIGNsYXNzPSJrIj49
PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj4gdHlwZTxzcGFuIGNsYXNzPSJrIj46PC9z
cGFuPiA8c3BhbiBjbGFzcz0icyI+IndoaXRlc3BhY2UiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4s
PC9zcGFuPiB2YWx1ZTxzcGFuIGNsYXNzPSJrIj46PC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+IiI8
L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwv
dGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+ODc8L3RkPjx0ZCBjbGFz
cz0iaGl0cyI+NTM2NjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNs
YXNzPSJrIj53aGlsZTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9
ImsiPnRydWU8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57
PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+ODg8L3Rk
Pjx0ZCBjbGFzcz0iaGl0cyI+NjUzODwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAg
ICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiB3IDxzcGFuIGNsYXNzPSJrIj49PC9zcGFu
PiB3czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4g
PHRkIGNsYXNzPSJsaW5lIj44OTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xMTkwNDwvdGQ+PHRkIGNs
YXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxz
cGFuIGNsYXNzPSJrIj4oITwvc3Bhbj53PHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNs
YXNzPSJrIj5icmVhazwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRy
IGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjkwPC90ZD48dGQgY2xhc3M9ImhpdHMiPjEx
NzI8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgdDxzcGFuIGNsYXNzPSJr
Ij4uPC9zcGFuPnZhbHVlIDxzcGFuIGNsYXNzPSJrIj4rPTwvc3Bhbj4gdzxzcGFuIGNsYXNzPSJr
Ij4uPC9zcGFuPnZhbHVlPHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQg
Y2xhc3M9ImxpbmUiPjkxPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3Vy
Y2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xh
c3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+OTI8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NjUzODwv
dGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bh
bj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+dDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnZhbHVl
PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+bGVuZ3RoIDxzcGFuIGNsYXNzPSJrIj4+PC9zcGFuPiA8
c3BhbiBjbGFzcz0icyI+MDwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xh
c3M9ImsiPnJldHVybjwvc3Bhbj4gdDxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48
dHI+PHRkIGNsYXNzPSJsaW5lIj45MzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFz
cz0ic291cmNlIj4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjxzcGFuIGNsYXNzPSJr
Ij47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj45NDwvdGQ+PHRkIGNsYXNz
PSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDwvdGQ+PC90cj48dHIgY2xh
c3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+OTU8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDc8L3Rk
Pjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IGlu
dGVnZXJfdHlwZSA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPmZ1bmN0
aW9uPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KCk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9z
cGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+OTY8L3RkPjx0
ZCBjbGFzcz0iaGl0cyI+MjczPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNw
YW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gcmV0IDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3Bh
biBjbGFzcz0icyI+IiI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0
ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj45NzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4y
NzM8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0i
ayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+
OTg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MzEyPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAg
ICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5j
b25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+SUQ8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4g
PHNwYW4gY2xhc3M9InMiPiJ1bnNpZ25lZCI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPikpPC9zcGFu
PiByZXQgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4idW5zaWduZWQg
Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQi
PiA8dGQgY2xhc3M9ImxpbmUiPjk5PC90ZD48dGQgY2xhc3M9ImhpdHMiPjI3MzwvdGQ+PHRkIGNs
YXNzPSJzb3VyY2UiPiAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+
PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4xMDA8L3RkPjx0ZCBj
bGFzcz0iaGl0cyI+Mjg3PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4g
Y2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5jb25zdW1lPHNwYW4g
Y2xhc3M9ImsiPig8L3NwYW4+SUQ8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9
InMiPiJzaG9ydCI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPikpPC9zcGFuPiA8c3BhbiBjbGFzcz0i
ayI+cmV0dXJuPC9zcGFuPiByZXQgPHNwYW4gY2xhc3M9ImsiPis8L3NwYW4+IDxzcGFuIGNsYXNz
PSJzIj4ic2hvcnQiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIg
Y2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MTAxPC90ZD48dGQgY2xhc3M9ImhpdHMiPjI1
OTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwv
c3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+Y29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9z
cGFuPklEPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4ibG9uZyI8L3Nw
YW4+PHNwYW4gY2xhc3M9ImsiPikpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3Rk
PjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjEwMjwvdGQ+PHRkIGNsYXNz
PSJoaXRzIj40MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICByZXQgPHNw
YW4gY2xhc3M9ImsiPis9PC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+ImxvbmciPC9zcGFuPjxzcGFu
IGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0i
bGluZSI+MTAzPC90ZD48dGQgY2xhc3M9ImhpdHMiPjQxPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+
ICAgICAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3Ry
Pjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4xMDQ8L3RkPjx0ZCBjbGFzcz0iaGl0
cyI+NDM8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9
ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5jb25zdW1lPHNwYW4gY2xhc3M9
ImsiPig8L3NwYW4+SUQ8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJs
b25nIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KSk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5yZXR1
cm48L3NwYW4+IHJldCA8c3BhbiBjbGFzcz0iayI+Kzwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiIg
bG9uZyI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0i
aGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4xMDU8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+Mzk8L3RkPjx0
ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnJldHVybjwv
c3Bhbj4gcmV0PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9
ImxpbmUiPjEwNjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4g
ICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJo
aXQiPiA8dGQgY2xhc3M9ImxpbmUiPjEwNzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yMTg8L3RkPjx0
ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxz
cGFuIGNsYXNzPSJrIj4oPC9zcGFuPnJldDxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiBlcnJvcjxz
cGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4iRmFpbGVkIHRvIHBhcnNlIGlu
dGVnZXIgdHlwZSI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHI+
PHRkIGNsYXNzPSJsaW5lIj4xMDg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9
InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+
Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+MTA5PC90ZD48dGQgY2xhc3M9
ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPC90ZD48L3RyPjx0ciBjbGFz
cz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4xMTA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDc8L3Rk
Pjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IGZs
b2F0X3R5cGUgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5mdW5jdGlv
bjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPigpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bh
bj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjExMTwvdGQ+PHRk
IGNsYXNzPSJoaXRzIj4yMTg8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3Bh
biBjbGFzcz0iayI+dmFyPC9zcGFuPiByZXQgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFu
IGNsYXNzPSJzIj4iIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRy
IGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjExMjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4y
MTg8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0i
ayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+
MTEzPC90ZD48dGQgY2xhc3M9ImhpdHMiPjIyMjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAg
ICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+
Y29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPklEPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+
IDxzcGFuIGNsYXNzPSJzIj4idW5yZXN0cmljdGVkIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KSk8
L3NwYW4+IHJldCA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJ1bnJl
c3RyaWN0ZWQgIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNs
YXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjExNDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yMTg8
L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+
KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MTE1
PC90ZD48dGQgY2xhc3M9ImhpdHMiPjI1NzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAg
ICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+Y29u
c3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPklEPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxz
cGFuIGNsYXNzPSJzIj4iZmxvYXQiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pKTwvc3Bhbj4gPHNw
YW4gY2xhc3M9ImsiPnJldHVybjwvc3Bhbj4gcmV0IDxzcGFuIGNsYXNzPSJrIj4rPC9zcGFuPiA8
c3BhbiBjbGFzcz0icyI+ImZsb2F0Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3Rk
PjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjExNjwvdGQ+PHRkIGNsYXNz
PSJoaXRzIj4xODI8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFz
cz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPmNvbnN1bWU8c3BhbiBjbGFz
cz0iayI+KDwvc3Bhbj5JRDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+
ImRvdWJsZSI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPikpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+
cmV0dXJuPC9zcGFuPiByZXQgPHNwYW4gY2xhc3M9ImsiPis8L3NwYW4+IDxzcGFuIGNsYXNzPSJz
Ij4iZG91YmxlIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNs
YXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjExNzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xNzY8
L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3Nw
YW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPnJldDxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiBl
cnJvcjxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4iRmFpbGVkIHRvIHBh
cnNlIGZsb2F0IHR5cGUiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+
PHRyPjx0ZCBjbGFzcz0ibGluZSI+MTE4PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNs
YXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PHNwYW4gY2xhc3M9
ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjExOTwvdGQ+PHRkIGNs
YXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDwvdGQ+PC90cj48dHIg
Y2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MTIwPC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ3
PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFu
PiBwcmltaXRpdmVfdHlwZSA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9Imsi
PmZ1bmN0aW9uPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KCk8L3NwYW4+IDxzcGFuIGNsYXNzPSJr
Ij57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MTIx
PC90ZD48dGQgY2xhc3M9ImhpdHMiPjI3MzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAg
ICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IG51bV90eXBlIDxzcGFuIGNsYXNzPSJrIj49
PC9zcGFuPiBpbnRlZ2VyX3R5cGU8c3BhbiBjbGFzcz0iayI+KCk8L3NwYW4+IDxzcGFuIGNsYXNz
PSJrIj58fDwvc3Bhbj4gZmxvYXRfdHlwZTxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48
L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4xMjI8L3RkPjx0ZCBjbGFzcz0i
aGl0cyI+MzcwPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9
ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5udW1fdHlwZTxzcGFuIGNsYXNz
PSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+cmV0dXJuPC9zcGFuPiBudW1fdHlwZTxzcGFu
IGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0i
bGluZSI+MTIzPC90ZD48dGQgY2xhc3M9ImhpdHMiPjE3NjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2Ui
PiAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0
ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4xMjQ8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+
MTg2PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlm
PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5jb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8
L3NwYW4+SUQ8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJib29sZWFu
Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KSk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5yZXR1cm48
L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iYm9vbGVhbiI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8
L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4xMjU8L3Rk
Pjx0ZCBjbGFzcz0iaGl0cyI+MTY3PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAg
PHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5jb25zdW1l
PHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+SUQ8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4g
Y2xhc3M9InMiPiJieXRlIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KSk8L3NwYW4+IDxzcGFuIGNs
YXNzPSJrIj5yZXR1cm48L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iYnl0ZSI8L3NwYW4+PHNwYW4g
Y2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJs
aW5lIj4xMjY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTY4PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+
ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwv
c3Bhbj5jb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+SUQ8c3BhbiBjbGFzcz0iayI+LDwv
c3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJvY3RldCI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPikpPC9z
cGFuPiA8c3BhbiBjbGFzcz0iayI+cmV0dXJuPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+Im9jdGV0
Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0i
bGluZSI+MTI3PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAg
ICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90
ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjEyODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3Rk
Pjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0
ZCBjbGFzcz0ibGluZSI+MTI5PC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ3PC90ZD48dGQgY2xhc3M9
InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiBjb25zdF92YWx1ZSA8
c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPmZ1bmN0aW9uPC9zcGFuPiA8
c3BhbiBjbGFzcz0iayI+KCk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90
cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MTMwPC90ZD48dGQgY2xhc3M9Imhp
dHMiPjE3PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9Imsi
PmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5jb25zdW1lPHNwYW4gY2xhc3M9Imsi
Pig8L3NwYW4+SUQ8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJ0cnVl
Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KSk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5yZXR1cm48
L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj50cnVlPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFu
PjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MTMxPC90ZD48dGQg
Y2xhc3M9ImhpdHMiPjE5PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4g
Y2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5jb25zdW1lPHNwYW4g
Y2xhc3M9ImsiPig8L3NwYW4+SUQ8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9
InMiPiJmYWxzZSI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPikpPC9zcGFuPiA8c3BhbiBjbGFzcz0i
ayI+cmV0dXJuPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ZmFsc2U8L3NwYW4+PHNwYW4gY2xhc3M9
ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4x
MzI8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTc8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAg
ICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPmNv
bnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5JRDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8
c3BhbiBjbGFzcz0icyI+Im51bGwiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pKTwvc3Bhbj4gPHNw
YW4gY2xhc3M9ImsiPnJldHVybjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPm51bGw8L3NwYW4+PHNw
YW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNz
PSJsaW5lIj4xMzM8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTQ8L3RkPjx0ZCBjbGFzcz0ic291cmNl
Ij4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4o
PC9zcGFuPmNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5JRDxzcGFuIGNsYXNzPSJrIj4s
PC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+IkluZmluaXR5Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+
KSk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5yZXR1cm48L3NwYW4+IEluZmluaXR5PHNwYW4gY2xh
c3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5l
Ij4xMzQ8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTM8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAg
ICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFu
PmNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5JRDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFu
PiA8c3BhbiBjbGFzcz0icyI+Ik5hTiI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPikpPC9zcGFuPiA8
c3BhbiBjbGFzcz0iayI+cmV0dXJuPC9zcGFuPiBOYU48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48
L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjEzNTwvdGQ+PHRkIGNs
YXNzPSJoaXRzIj4xMTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNs
YXNzPSJrIj52YXI8L3NwYW4+IHJldCA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gY29uc3VtZTxz
cGFuIGNsYXNzPSJrIj4oPC9zcGFuPkZMT0FUPHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFu
IGNsYXNzPSJrIj58fDwvc3Bhbj4gY29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPklOVDxz
cGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xh
c3M9ImxpbmUiPjEzNjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xOTwvdGQ+PHRkIGNsYXNzPSJzb3Vy
Y2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9Imsi
Pig8L3NwYW4+cmV0PHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5yZXR1
cm48L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4xPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+Kjwvc3Bh
bj4gcmV0PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+dmFsdWU8c3BhbiBjbGFzcz0iayI+Ozwvc3Bh
bj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjEzNzwvdGQ+PHRk
IGNsYXNzPSJoaXRzIj4zPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4g
Y2xhc3M9ImsiPnZhcjwvc3Bhbj4gdG9rIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiBjb25zdW1l
PHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+T1RIRVI8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNw
YW4gY2xhc3M9InMiPiItIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3Ry
Pjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4xMzg8L3RkPjx0ZCBjbGFzcz0iaGl0
cyI+MzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5p
Zjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+dG9rPHNwYW4gY2xhc3M9ImsiPik8L3Nw
YW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0
ZCBjbGFzcz0ibGluZSI+MTM5PC90ZD48dGQgY2xhc3M9ImhpdHMiPjI8L3RkPjx0ZCBjbGFzcz0i
c291cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBj
bGFzcz0iayI+KDwvc3Bhbj5jb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+SUQ8c3BhbiBj
bGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJJbmZpbml0eSI8L3NwYW4+PHNwYW4g
Y2xhc3M9ImsiPikpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+cmV0dXJuPC9zcGFuPiA8c3BhbiBj
bGFzcz0iayI+LTwvc3Bhbj5JbmZpbml0eTxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90
cj48dHIgY2xhc3M9Im1pc3MiPiA8dGQgY2xhc3M9ImxpbmUiPjE0MDwvdGQ+PHRkIGNsYXNzPSJo
aXRzIj4wPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNz
PSJrIj5lbHNlPC9zcGFuPiB0b2tlbnM8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj51bnNoaWZ0PHNw
YW4gY2xhc3M9ImsiPig8L3NwYW4+dG9rPHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90
cj48dHI+PHRkIGNsYXNzPSJsaW5lIj4xNDE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQg
Y2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PC90ZD48
L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjE0MjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0
ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjxzcGFuIGNs
YXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj4xNDM8L3RkPjx0
ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8L3RkPjwvdHI+
PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjE0NDwvdGQ+PHRkIGNsYXNzPSJoaXRz
Ij40NzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwv
c3Bhbj4gdHlwZV9zdWZmaXggPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJr
Ij5mdW5jdGlvbjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+b2JqPHNwYW4gY2xhc3M9
ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9
ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MTQ1PC90ZD48dGQgY2xhc3M9ImhpdHMiPjI0OTwvdGQ+
PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj53aGlsZTwvc3Bh
bj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPnRydWU8L3NwYW4+PHNw
YW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48
dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MTQ2PC90ZD48dGQgY2xhc3M9ImhpdHMi
PjI2MzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICBhbGxfd3M8c3BhbiBj
bGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0i
bGluZSI+MTQ3PC90ZD48dGQgY2xhc3M9ImhpdHMiPjI2MzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2Ui
PiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJr
Ij4oPC9zcGFuPmNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5PVEhFUjxzcGFuIGNsYXNz
PSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+Ij8iPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4p
KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0
Ij4gPHRkIGNsYXNzPSJsaW5lIj4xNDg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTE8L3RkPjx0ZCBj
bGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bh
bj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+b2JqPHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+bnVs
bGFibGU8c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gZXJyb3I8c3BhbiBjbGFzcz0iayI+KDwvc3Bh
bj48c3BhbiBjbGFzcz0icyI+IkNhbid0IG51bGxhYmxlIG1vcmUgdGhhbiBvbmNlIjwvc3Bhbj48
c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNs
YXNzPSJsaW5lIj4xNDk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTE8L3RkPjx0ZCBjbGFzcz0ic291
cmNlIj4gICAgICAgICAgICAgICAgICAgIG9iajxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPm51bGxh
YmxlIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+dHJ1ZTwvc3Bhbj48
c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+MTUw
PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAg
ICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8
dGQgY2xhc3M9ImxpbmUiPjE1MTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yNTI8L3RkPjx0ZCBjbGFz
cz0ic291cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmVsc2U8L3NwYW4+IDxz
cGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+Y29uc3VtZTxz
cGFuIGNsYXNzPSJrIj4oPC9zcGFuPk9USEVSPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFu
IGNsYXNzPSJzIj4iWyI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPikpPC9zcGFuPiA8c3BhbiBjbGFz
cz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUi
PjE1MjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4zPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAg
ICAgICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48
dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MTUzPC90ZD48dGQgY2xhc3M9ImhpdHMi
PjM8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAgIGNvbnN1bWU8c3Bh
biBjbGFzcz0iayI+KDwvc3Bhbj5PVEhFUjxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBj
bGFzcz0icyI+Il0iPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0i
ayI+fHw8L3NwYW4+IGVycm9yPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9InMi
PiJVbnRlcm1pbmF0ZWQgYXJyYXkgdHlwZSI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFu
PjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MTU0PC90ZD48dGQg
Y2xhc3M9ImhpdHMiPjU8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAg
IDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPighPC9zcGFuPm9iajxz
cGFuIGNsYXNzPSJrIj4uPC9zcGFuPmFycmF5PHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IG9iajxz
cGFuIGNsYXNzPSJrIj4uPC9zcGFuPmFycmF5IDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3Bh
biBjbGFzcz0icyI+MTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRy
IGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjE1NTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4x
PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0i
ayI+ZWxzZTwvc3Bhbj4gb2JqPHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+YXJyYXk8c3BhbiBjbGFz
cz0iayI+Kys7PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj4xNTY8L3RkPjx0
ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxz
cGFuIGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFz
cz0ibGluZSI+MTU3PC90ZD48dGQgY2xhc3M9ImhpdHMiPjI0OTwvdGQ+PHRkIGNsYXNzPSJzb3Vy
Y2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+ZWxzZTwvc3Bhbj4gPHNwYW4gY2xh
c3M9ImsiPnJldHVybjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRy
Pjx0ZCBjbGFzcz0ibGluZSI+MTU4PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNz
PSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90cj48
dHI+PHRkIGNsYXNzPSJsaW5lIj4xNTk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48c3BhbiBjbGFzcz0i
ayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+MTYwPC90ZD48dGQgY2xh
c3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPC90ZD48L3RyPjx0ciBj
bGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4xNjE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDc8
L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+
IHNpbmdsZV90eXBlIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ZnVu
Y3Rpb248L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8
L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4xNjI8L3Rk
Pjx0ZCBjbGFzcz0iaGl0cyI+MjYxPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAg
PHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gcHJpbSA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4g
cHJpbWl0aXZlX3R5cGU8c3BhbiBjbGFzcz0iayI+KCk8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQg
Y2xhc3M9ImxpbmUiPjE2MzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291
cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gICByZXQgPHNwYW4gY2xh
c3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPiBzZXF1ZW5jZTxzcGFuIGNs
YXNzPSJrIj46PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ZmFsc2U8L3NwYW4+PHNwYW4gY2xhc3M9
ImsiPiw8L3NwYW4+IG51bGxhYmxlPHNwYW4gY2xhc3M9ImsiPjo8L3NwYW4+IDxzcGFuIGNsYXNz
PSJrIj5mYWxzZTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gYXJyYXk8c3BhbiBjbGFz
cz0iayI+Ojwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPmZhbHNlPC9zcGFuPjxzcGFuIGNsYXNzPSJr
Ij4sPC9zcGFuPiB1bmlvbjxzcGFuIGNsYXNzPSJrIj46PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+
ZmFsc2U8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNs
YXNzPSJsaW5lIj4xNjQ8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJj
ZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFz
cz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4xNjU8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MjYxPC90
ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFu
PiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5wcmltPHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxz
cGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFz
cz0ibGluZSI+MTY2PC90ZD48dGQgY2xhc3M9ImhpdHMiPjk5PC90ZD48dGQgY2xhc3M9InNvdXJj
ZSI+ICAgICAgICAgICAgICAgIHJldDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPmlkbFR5cGUgPHNw
YW4gY2xhc3M9ImsiPj08L3NwYW4+IHByaW08c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwv
dHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+MTY3PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRk
IGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+
PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MTY4PC90ZD48dGQgY2xhc3M9
ImhpdHMiPjE2MjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNz
PSJrIj5lbHNlPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJr
Ij4oPC9zcGFuPmNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5JRDxzcGFuIGNsYXNzPSJr
Ij4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+InNlcXVlbmNlIjwvc3Bhbj48c3BhbiBjbGFzcz0i
ayI+KSk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9
ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MTY5PC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ8L3RkPjx0
ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigp
Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjE3MDwv
dGQ+PHRkIGNsYXNzPSJoaXRzIj40PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAg
ICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPighPC9zcGFuPmNv
bnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5PVEhFUjxzcGFuIGNsYXNzPSJrIj4sPC9zcGFu
PiA8c3BhbiBjbGFzcz0icyI+IjwiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pKTwvc3Bhbj4gPHNw
YW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0ibWlzcyI+IDx0ZCBjbGFz
cz0ibGluZSI+MTcxPC90ZD48dGQgY2xhc3M9ImhpdHMiPjA8L3RkPjx0ZCBjbGFzcz0ic291cmNl
Ij4gICAgICAgICAgICAgICAgICAgIHJldDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPmlkbFR5cGUg
PHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4ic2VxdWVuY2UiPC9zcGFu
PjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj4x
NzI8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAg
ICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJs
aW5lIj4xNzM8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAg
ICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5lbHNlPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+
ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjE3NDwv
dGQ+PHRkIGNsYXNzPSJoaXRzIj40PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAg
ICAgICAgICByZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5zZXF1ZW5jZSA8c3BhbiBjbGFzcz0i
ayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnRydWU8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8
L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4xNzU8L3Rk
Pjx0ZCBjbGFzcz0iaGl0cyI+NDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAg
ICAgICAgcmV0PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+aWRsVHlwZSA8c3BhbiBjbGFzcz0iayI+
PTwvc3Bhbj4gdHlwZTxzcGFuIGNsYXNzPSJrIj4oKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnx8
PC9zcGFuPiBlcnJvcjxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4iRXJy
b3IgcGFyc2luZyBzZXF1ZW5jZSB0eXBlIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+
PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4xNzY8L3RkPjx0ZCBj
bGFzcz0iaGl0cyI+NDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAg
YWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQi
PiA8dGQgY2xhc3M9ImxpbmUiPjE3NzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40PC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+
IDxzcGFuIGNsYXNzPSJrIj4oITwvc3Bhbj5jb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+
T1RIRVI8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiI+Ijwvc3Bhbj48
c3BhbiBjbGFzcz0iayI+KSk8L3NwYW4+IGVycm9yPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNw
YW4gY2xhc3M9InMiPiJVbnRlcm1pbmF0ZWQgc2VxdWVuY2UiPC9zcGFuPjxzcGFuIGNsYXNzPSJr
Ij4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjE3
ODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAg
ICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIg
Y2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MTc5PC90ZD48dGQgY2xhc3M9ImhpdHMiPjU8
L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJr
Ij5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+Y29uc3VtZTxzcGFuIGNsYXNzPSJr
Ij4oPC9zcGFuPk9USEVSPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4i
PyI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPikpPC9zcGFuPiByZXQ8c3BhbiBjbGFzcz0iayI+Ljwv
c3Bhbj5udWxsYWJsZSA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnRy
dWU8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0
Ij4gPHRkIGNsYXNzPSJsaW5lIj4xODA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDwvdGQ+PHRkIGNs
YXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnJldHVybjwv
c3Bhbj4gcmV0PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9
ImxpbmUiPjE4MTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4g
ICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PC90ZD48L3RyPjx0cj48dGQg
Y2xhc3M9ImxpbmUiPjE4MjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291
cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0
ZCBjbGFzcz0ibGluZSI+MTgzPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJz
b3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5lbHNlPC9zcGFuPiA8c3BhbiBjbGFz
cz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUi
PjE4NDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xNTg8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAg
ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gbmFtZSA8c3BhbiBjbGFzcz0i
ayI+PTwvc3Bhbj4gY29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPklEPHNwYW4gY2xhc3M9
ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+
MTg1PC90ZD48dGQgY2xhc3M9ImhpdHMiPjE2OTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAg
ICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oITwv
c3Bhbj5uYW1lPHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5yZXR1cm48
L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4g
PHRkIGNsYXNzPSJsaW5lIj4xODY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTQ3PC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIHJldDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPmlk
bFR5cGUgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IG5hbWU8c3BhbiBjbGFzcz0iayI+Ljwvc3Bh
bj52YWx1ZTxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJs
aW5lIj4xODc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAg
ICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0
Ij4gPHRkIGNsYXNzPSJsaW5lIj4xODg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MjQ2PC90ZD48dGQg
Y2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgdHlwZV9zdWZmaXg8c3BhbiBjbGFzcz0iayI+KDwv
c3Bhbj5yZXQ8c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0
Ij4gPHRkIGNsYXNzPSJsaW5lIj4xODk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MjQ2PC90ZD48dGQg
Y2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3Bh
biBjbGFzcz0iayI+KDwvc3Bhbj5yZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5udWxsYWJsZSA8
c3BhbiBjbGFzcz0iayI+JmFtcDsmYW1wOzwvc3Bhbj4gcmV0PHNwYW4gY2xhc3M9ImsiPi48L3Nw
YW4+aWRsVHlwZSA8c3BhbiBjbGFzcz0iayI+PT09PC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+ImFu
eSI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IGVycm9yPHNwYW4gY2xhc3M9ImsiPig8
L3NwYW4+PHNwYW4gY2xhc3M9InMiPiJUeXBlIGFueSBjYW5ub3QgYmUgbWFkZSBudWxsYWJsZSI8
L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+
IDx0ZCBjbGFzcz0ibGluZSI+MTkwPC90ZD48dGQgY2xhc3M9ImhpdHMiPjI0NjwvdGQ+PHRkIGNs
YXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5yZXR1cm48L3NwYW4+IHJl
dDxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj4x
OTE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8
c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+
PHRyPjx0ZCBjbGFzcz0ibGluZSI+MTkyPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNs
YXNzPSJzb3VyY2UiPiAgICAgICAgPC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNz
PSJsaW5lIj4xOTM8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDc8L3RkPjx0ZCBjbGFzcz0ic291cmNl
Ij4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IHVuaW9uX3R5cGUgPHNwYW4gY2xh
c3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5mdW5jdGlvbjwvc3Bhbj4gPHNwYW4gY2xh
c3M9ImsiPigpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNs
YXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjE5NDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xMTwv
dGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4o
KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4xOTU8
L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTk8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAg
ICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oITwvc3Bhbj5jb25z
dW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+T1RIRVI8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4g
PHNwYW4gY2xhc3M9InMiPiIoIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KSk8L3NwYW4+IDxzcGFu
IGNsYXNzPSJrIj5yZXR1cm48L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3Ry
Pjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4xOTY8L3RkPjx0ZCBjbGFzcz0iaGl0
cyI+MzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj52
YXI8L3NwYW4+IHJldCA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8
L3NwYW4+IHNlcXVlbmNlPHNwYW4gY2xhc3M9ImsiPjo8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5m
YWxzZTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gbnVsbGFibGU8c3BhbiBjbGFzcz0i
ayI+Ojwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPmZhbHNlPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4s
PC9zcGFuPiBhcnJheTxzcGFuIGNsYXNzPSJrIj46PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ZmFs
c2U8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IHVuaW9uPHNwYW4gY2xhc3M9ImsiPjo8
L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj50cnVlPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4sPC9zcGFu
PiBpZGxUeXBlPHNwYW4gY2xhc3M9ImsiPjo8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5bXTwvc3Bh
bj4gPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48
L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4xOTc8L3RkPjx0ZCBjbGFzcz0i
aGl0cyI+MzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJr
Ij52YXI8L3NwYW4+IGZzdCA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gdHlwZTxzcGFuIGNsYXNz
PSJrIj4oKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnx8PC9zcGFuPiBlcnJvcjxzcGFuIGNsYXNz
PSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4iVW5pb24gdHlwZSB3aXRoIG5vIGNvbnRlbnQi
PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQi
PiA8dGQgY2xhc3M9ImxpbmUiPjE5ODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4zPC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+ICAgICAgICAgICAgcmV0PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+aWRsVHlw
ZTxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnB1c2g8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5mc3Q8
c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNs
YXNzPSJsaW5lIj4xOTk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MzwvdGQ+PHRkIGNsYXNzPSJzb3Vy
Y2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj53aGlsZTwvc3Bhbj4gPHNwYW4gY2xhc3M9
ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPnRydWU8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik8
L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+
IDx0ZCBjbGFzcz0ibGluZSI+MjAwPC90ZD48dGQgY2xhc3M9ImhpdHMiPjc8L3RkPjx0ZCBjbGFz
cz0ic291cmNlIj4gICAgICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bh
bj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjIwMTwvdGQ+PHRk
IGNsYXNzPSJoaXRzIj4xMDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8
c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oITwvc3Bhbj5jb25zdW1l
PHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+SUQ8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4g
Y2xhc3M9InMiPiJvciI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPikpPC9zcGFuPiA8c3BhbiBjbGFz
cz0iayI+YnJlYWs8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBj
bGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4yMDI8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDwv
dGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFy
PC9zcGFuPiB0eXAgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IHR5cGU8c3BhbiBjbGFzcz0iayI+
KCk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj58fDwvc3Bhbj4gZXJyb3I8c3BhbiBjbGFzcz0iayI+
KDwvc3Bhbj48c3BhbiBjbGFzcz0icyI+Ik5vIHR5cGUgYWZ0ZXIgJ29yJyBpbiB1bmlvbiB0eXBl
Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0
Ij4gPHRkIGNsYXNzPSJsaW5lIj4yMDM8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDwvdGQ+PHRkIGNs
YXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICByZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5p
ZGxUeXBlPHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+cHVzaDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFu
PnR5cDxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGlu
ZSI+MjA0PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAg
ICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+
IDx0ZCBjbGFzcz0ibGluZSI+MjA1PC90ZD48dGQgY2xhc3M9ImhpdHMiPjM8L3RkPjx0ZCBjbGFz
cz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNs
YXNzPSJrIj4oITwvc3Bhbj5jb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+T1RIRVI8c3Bh
biBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiIpIjwvc3Bhbj48c3BhbiBjbGFz
cz0iayI+KSk8L3NwYW4+IGVycm9yPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9
InMiPiJVbnRlcm1pbmF0ZWQgdW5pb24gdHlwZSI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7PC9z
cGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MjA2PC90ZD48
dGQgY2xhc3M9ImhpdHMiPjM8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICB0eXBl
X3N1ZmZpeDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPnJldDxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bh
bj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjIwNzwvdGQ+PHRk
IGNsYXNzPSJoaXRzIj4zPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4g
Y2xhc3M9ImsiPnJldHVybjwvc3Bhbj4gcmV0PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48
L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjIwODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0
ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjxzcGFuIGNs
YXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj4yMDk8L3RkPjx0
ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8L3RkPjwvdHI+
PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjIxMDwvdGQ+PHRkIGNsYXNzPSJoaXRz
Ij40NzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwv
c3Bhbj4gdHlwZSA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPmZ1bmN0
aW9uPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KCk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9z
cGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MjExPC90ZD48
dGQgY2xhc3M9ImhpdHMiPjI2MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxz
cGFuIGNsYXNzPSJrIj5yZXR1cm48L3NwYW4+IHNpbmdsZV90eXBlPHNwYW4gY2xhc3M9ImsiPigp
PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+fHw8L3NwYW4+IHVuaW9uX3R5cGU8c3BhbiBjbGFzcz0i
ayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj4yMTI8L3RkPjx0ZCBj
bGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFzcz0i
ayI+fTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFz
cz0ibGluZSI+MjEzPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2Ui
PiAgICAgICAgPC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4yMTQ8
L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDc8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxz
cGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IGFyZ3VtZW50IDxzcGFuIGNsYXNzPSJrIj49PC9zcGFu
PiA8c3BhbiBjbGFzcz0iayI+ZnVuY3Rpb248L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oKTwvc3Bh
bj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRk
IGNsYXNzPSJsaW5lIj4yMTU8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+Nzk8L3RkPjx0ZCBjbGFzcz0i
c291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiByZXQgPHNwYW4g
Y2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPiBvcHRpb25hbDxzcGFu
IGNsYXNzPSJrIj46PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ZmFsc2U8L3NwYW4+PHNwYW4gY2xh
c3M9ImsiPiw8L3NwYW4+IHZhcmlhZGljPHNwYW4gY2xhc3M9ImsiPjo8L3NwYW4+IDxzcGFuIGNs
YXNzPSJrIj5mYWxzZTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PHNwYW4gY2xhc3M9
ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4y
MTY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+Nzk8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAg
ICAgICByZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5leHRBdHRycyA8c3BhbiBjbGFzcz0iayI+
PTwvc3Bhbj4gZXh0ZW5kZWRfYXR0cnM8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90
cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MjE3PC90ZD48dGQgY2xhc3M9Imhp
dHMiPjc5PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xh
c3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9Imxp
bmUiPjIxODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj43OTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAg
ICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3Nw
YW4+Y29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPklEPHNwYW4gY2xhc3M9ImsiPiw8L3Nw
YW4+IDxzcGFuIGNsYXNzPSJzIj4ib3B0aW9uYWwiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pKTwv
c3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4g
PHRkIGNsYXNzPSJsaW5lIj4yMTk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MjwvdGQ+PHRkIGNsYXNz
PSJzb3VyY2UiPiAgICAgICAgICAgICAgICByZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5vcHRp
b25hbCA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnRydWU8L3NwYW4+
PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNs
YXNzPSJsaW5lIj4yMjA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MjwvdGQ+PHRkIGNsYXNzPSJzb3Vy
Y2UiPiAgICAgICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+
PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj4yMjE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48
dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PC90
ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4yMjI8L3RkPjx0ZCBjbGFz
cz0iaGl0cyI+Nzk8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICByZXQ8c3BhbiBj
bGFzcz0iayI+Ljwvc3Bhbj50eXBlIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiB0eXBlPHNwYW4g
Y2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9
ImxpbmUiPjIyMzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj44NzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2Ui
PiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPigh
PC9zcGFuPnJldDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnR5cGU8c3BhbiBjbGFzcz0iayI+KTwv
c3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnJldHVybjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bh
bj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjIyNDwvdGQ+PHRk
IGNsYXNzPSJoaXRzIj43MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFu
IGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPighPC9zcGFuPnJldDxzcGFuIGNs
YXNzPSJrIj4uPC9zcGFuPm9wdGlvbmFsPHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNs
YXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGlu
ZSI+MjI1PC90ZD48dGQgY2xhc3M9ImhpdHMiPjY5PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAg
ICAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0
ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4yMjY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+
Njk8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Imsi
PmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj50b2tlbnM8c3BhbiBjbGFzcz0iayI+
Ljwvc3Bhbj5sZW5ndGggPHNwYW4gY2xhc3M9ImsiPj49PC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+
Mzwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPiZhbXA7JmFtcDs8L3NwYW4+PC90ZD48L3RyPjx0cj48
dGQgY2xhc3M9ImxpbmUiPjIyNzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0i
c291cmNlIj4gICAgICAgICAgICAgICAgICAgIHRva2VuczxzcGFuIGNsYXNzPSJrIj5bPC9zcGFu
PjxzcGFuIGNsYXNzPSJzIj4wPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj5dLjwvc3Bhbj50eXBlIDxz
cGFuIGNsYXNzPSJrIj49PT08L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4ib3RoZXIiPC9zcGFuPiA8
c3BhbiBjbGFzcz0iayI+JmFtcDsmYW1wOzwvc3Bhbj4gdG9rZW5zPHNwYW4gY2xhc3M9ImsiPls8
L3NwYW4+PHNwYW4gY2xhc3M9InMiPjA8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPl0uPC9zcGFuPnZh
bHVlIDxzcGFuIGNsYXNzPSJrIj49PT08L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iLiI8L3NwYW4+
IDxzcGFuIGNsYXNzPSJrIj4mYW1wOyZhbXA7PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNz
PSJsaW5lIj4yMjg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+
ICAgICAgICAgICAgICAgICAgICB0b2tlbnM8c3BhbiBjbGFzcz0iayI+Wzwvc3Bhbj48c3BhbiBj
bGFzcz0icyI+MTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+XS48L3NwYW4+dHlwZSA8c3BhbiBjbGFz
cz0iayI+PT09PC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+Im90aGVyIjwvc3Bhbj4gPHNwYW4gY2xh
c3M9ImsiPiZhbXA7JmFtcDs8L3NwYW4+IHRva2VuczxzcGFuIGNsYXNzPSJrIj5bPC9zcGFuPjxz
cGFuIGNsYXNzPSJzIj4xPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj5dLjwvc3Bhbj52YWx1ZSA8c3Bh
biBjbGFzcz0iayI+PT09PC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+Ii4iPC9zcGFuPiA8c3BhbiBj
bGFzcz0iayI+JmFtcDsmYW1wOzwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+
MjI5PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAg
ICAgICAgICAgICAgdG9rZW5zPHNwYW4gY2xhc3M9ImsiPls8L3NwYW4+PHNwYW4gY2xhc3M9InMi
PjI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPl0uPC9zcGFuPnR5cGUgPHNwYW4gY2xhc3M9ImsiPj09
PTwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJvdGhlciI8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4m
YW1wOyZhbXA7PC9zcGFuPiB0b2tlbnM8c3BhbiBjbGFzcz0iayI+Wzwvc3Bhbj48c3BhbiBjbGFz
cz0icyI+Mjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+XS48L3NwYW4+dmFsdWUgPHNwYW4gY2xhc3M9
ImsiPj09PTwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiIuIjwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0
ZCBjbGFzcz0ibGluZSI+MjMwPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJz
b3VyY2UiPiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFu
IGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0i
bGluZSI+MjMxPC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4g
ICAgICAgICAgICAgICAgICAgIHRva2VuczxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnNoaWZ0PHNw
YW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xh
c3M9ImxpbmUiPjIzMjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40PC90ZD48dGQgY2xhc3M9InNvdXJj
ZSI+ICAgICAgICAgICAgICAgICAgICB0b2tlbnM8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5zaGlm
dDxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRk
IGNsYXNzPSJsaW5lIj4yMzM8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDwvdGQ+PHRkIGNsYXNzPSJz
b3VyY2UiPiAgICAgICAgICAgICAgICAgICAgdG9rZW5zPHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+
c2hpZnQ8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+
IDx0ZCBjbGFzcz0ibGluZSI+MjM0PC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ8L3RkPjx0ZCBjbGFz
cz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAgIHJldDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFu
PnZhcmlhZGljIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+dHJ1ZTwv
c3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGlu
ZSI+MjM1PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAg
ICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFz
cz0ibGluZSI+MjM2PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2Ui
PiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9
ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MjM3PC90ZD48dGQgY2xhc3M9ImhpdHMiPjcxPC90ZD48
dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwv
c3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjIzODwvdGQ+
PHRkIGNsYXNzPSJoaXRzIj43MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxz
cGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IG5hbWUgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IGNv
bnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5JRDxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8
c3BhbiBjbGFzcz0iayI+fHw8L3NwYW4+IGVycm9yPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNw
YW4gY2xhc3M9InMiPiJObyBuYW1lIGluIGFyZ3VtZW50Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+
KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4yMzk8
L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NzE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAg
ICByZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5uYW1lIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFu
PiBuYW1lPHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+dmFsdWU8c3BhbiBjbGFzcz0iayI+Ozwvc3Bh
bj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjI0MDwvdGQ+PHRk
IGNsYXNzPSJoaXRzIj43MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFu
IGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+cmV0PHNwYW4gY2xh
c3M9ImsiPi48L3NwYW4+b3B0aW9uYWw8c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xh
c3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5l
Ij4yNDE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAg
ICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIg
Y2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MjQyPC90ZD48dGQgY2xhc3M9ImhpdHMiPjI8
L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgcmV0PHNwYW4gY2xhc3M9Imsi
Pls8L3NwYW4+PHNwYW4gY2xhc3M9InMiPiJkZWZhdWx0Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+
XTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IGRlZmF1bHRfPHNwYW4gY2xhc3M9Imsi
PigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+MjQzPC90ZD48dGQgY2xh
c3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNz
PSJrIj59PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+
MjQ0PC90ZD48dGQgY2xhc3M9ImhpdHMiPjcxPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAg
ICAgICAgPHNwYW4gY2xhc3M9ImsiPnJldHVybjwvc3Bhbj4gcmV0PHNwYW4gY2xhc3M9ImsiPjs8
L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjI0NTwvdGQ+PHRkIGNsYXNzPSJo
aXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9z
cGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5l
Ij4yNDY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAg
ICA8L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjI0NzwvdGQ+PHRk
IGNsYXNzPSJoaXRzIj40NzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xh
c3M9ImsiPnZhcjwvc3Bhbj4gYXJndW1lbnRfbGlzdCA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4g
PHNwYW4gY2xhc3M9ImsiPmZ1bmN0aW9uPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KCk8L3NwYW4+
IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBj
bGFzcz0ibGluZSI+MjQ4PC90ZD48dGQgY2xhc3M9ImhpdHMiPjU5PC90ZD48dGQgY2xhc3M9InNv
dXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gYXJnIDxzcGFuIGNs
YXNzPSJrIj49PC9zcGFuPiBhcmd1bWVudDxzcGFuIGNsYXNzPSJrIj4oKSw8L3NwYW4+IHJldCA8
c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPltdOzwvc3Bhbj48L3RkPjwv
dHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjI0OTwvdGQ+PHRkIGNsYXNzPSJo
aXRzIj42NzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJr
Ij5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPighPC9zcGFuPmFyZzxzcGFuIGNsYXNzPSJrIj4p
PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+cmV0dXJuPC9zcGFuPiByZXQ8c3BhbiBjbGFzcz0iayI+
Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjI1MDwv
dGQ+PHRkIGNsYXNzPSJoaXRzIj41MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAg
IHJldDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnB1c2g8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5h
cmc8c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRk
IGNsYXNzPSJsaW5lIj4yNTE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NTE8L3RkPjx0ZCBjbGFzcz0i
c291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+d2hpbGU8L3NwYW4+IDxzcGFuIGNs
YXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj50cnVlPC9zcGFuPjxzcGFuIGNsYXNzPSJr
Ij4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJo
aXQiPiA8dGQgY2xhc3M9ImxpbmUiPjI1MjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj43MTwvdGQ+PHRk
IGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7
PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MjUzPC90
ZD48dGQgY2xhc3M9ImhpdHMiPjEyMjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAg
ICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oITwvc3Bhbj5j
b25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+T1RIRVI8c3BhbiBjbGFzcz0iayI+LDwvc3Bh
bj4gPHNwYW4gY2xhc3M9InMiPiIsIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KSk8L3NwYW4+IDxz
cGFuIGNsYXNzPSJrIj5yZXR1cm48L3NwYW4+IHJldDxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwv
dGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MjU0PC90ZD48dGQgY2xh
c3M9ImhpdHMiPjIwPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIGFsbF93
czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRk
IGNsYXNzPSJsaW5lIj4yNTU8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MjA8L3RkPjx0ZCBjbGFzcz0i
c291cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gbnh0IDxz
cGFuIGNsYXNzPSJrIj49PC9zcGFuPiBhcmd1bWVudDxzcGFuIGNsYXNzPSJrIj4oKTwvc3Bhbj4g
PHNwYW4gY2xhc3M9ImsiPnx8PC9zcGFuPiBlcnJvcjxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxz
cGFuIGNsYXNzPSJzIj4iVHJhaWxpbmcgY29tbWEgaW4gYXJndW1lbnRzIGxpc3QiPC9zcGFuPjxz
cGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xh
c3M9ImxpbmUiPjI1NjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yMDwvdGQ+PHRkIGNsYXNzPSJzb3Vy
Y2UiPiAgICAgICAgICAgICAgICByZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5wdXNoPHNwYW4g
Y2xhc3M9ImsiPig8L3NwYW4+bnh0PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48
dHI+PHRkIGNsYXNzPSJsaW5lIj4yNTc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PC90ZD48L3Ry
Pjx0cj48dGQgY2xhc3M9ImxpbmUiPjI1ODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBj
bGFzcz0ic291cmNlIj4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjxzcGFuIGNsYXNz
PSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj4yNTk8L3RkPjx0ZCBj
bGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8L3RkPjwvdHI+PHRy
IGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjI2MDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40
NzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bh
bj4gc2ltcGxlX2V4dGVuZGVkX2F0dHIgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNs
YXNzPSJrIj5mdW5jdGlvbjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPigpPC9zcGFuPiA8c3BhbiBj
bGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9Imxp
bmUiPjI2MTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xNzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAg
ICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBj
bGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4yNjI8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTc8
L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9z
cGFuPiBuYW1lIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiBjb25zdW1lPHNwYW4gY2xhc3M9Imsi
Pig8L3NwYW4+SUQ8c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0i
aGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4yNjM8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTc8L3RkPjx0
ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxz
cGFuIGNsYXNzPSJrIj4oITwvc3Bhbj5uYW1lPHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFu
IGNsYXNzPSJrIj5yZXR1cm48L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3Ry
Pjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4yNjQ8L3RkPjx0ZCBjbGFzcz0iaGl0
cyI+MTc8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+
dmFyPC9zcGFuPiByZXQgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57
PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj4yNjU8L3RkPjx0ZCBjbGFzcz0i
aGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIG5hbWU8c3BhbiBj
bGFzcz0iayI+Ojwvc3Bhbj4gbmFtZTxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnZhbHVlPC90ZD48
L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjI2NjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0
ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gICA8
c3BhbiBjbGFzcz0icyI+ImFyZ3VtZW50cyI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjo8L3NwYW4+
IDxzcGFuIGNsYXNzPSJrIj5udWxsPC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5l
Ij4yNjc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAg
ICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90
ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4yNjg8L3RkPjx0ZCBjbGFz
cz0iaGl0cyI+MTc8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICBhbGxfd3M8c3Bh
biBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFz
cz0ibGluZSI+MjY5PC90ZD48dGQgY2xhc3M9ImhpdHMiPjE3PC90ZD48dGQgY2xhc3M9InNvdXJj
ZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gZXEgPHNwYW4gY2xhc3M9
ImsiPj08L3NwYW4+IGNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5PVEhFUjxzcGFuIGNs
YXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+Ij0iPC9zcGFuPjxzcGFuIGNsYXNzPSJr
Ij4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjI3
MDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xNzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAg
ICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+ZXE8
c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3Ry
Pjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4yNzE8L3RkPjx0ZCBjbGFzcz0iaGl0
cyI+NTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICBhbGxfd3M8c3BhbiBj
bGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0i
bGluZSI+MjcyPC90ZD48dGQgY2xhc3M9ImhpdHMiPjU8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4g
ICAgICAgICAgICAgICAgcmV0PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+cmhzIDxzcGFuIGNsYXNz
PSJrIj49PC9zcGFuPiBjb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+SUQ8c3BhbiBjbGFz
cz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5l
Ij4yNzM8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAg
ICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oITwv
c3Bhbj5yZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5yaHM8c3BhbiBjbGFzcz0iayI+KTwvc3Bh
bj4gPHNwYW4gY2xhc3M9ImsiPnJldHVybjwvc3Bhbj4gZXJyb3I8c3BhbiBjbGFzcz0iayI+KDwv
c3Bhbj48c3BhbiBjbGFzcz0icyI+Ik5vIHJpZ2h0IGhhbmQgc2lkZSB0byBleHRlbmRlZCBhdHRy
aWJ1dGUgYXNzaWdubWVudCI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90
cj48dHI+PHRkIGNsYXNzPSJsaW5lIj4yNzQ8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQg
Y2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PC90ZD48
L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4yNzU8L3RkPjx0ZCBjbGFzcz0i
aGl0cyI+MTc8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICBhbGxfd3M8c3BhbiBj
bGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0i
bGluZSI+Mjc2PC90ZD48dGQgY2xhc3M9ImhpdHMiPjE3PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+
ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwv
c3Bhbj5jb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+T1RIRVI8c3BhbiBjbGFzcz0iayI+
LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiIoIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KSk8L3Nw
YW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0
ZCBjbGFzcz0ibGluZSI+Mjc3PC90ZD48dGQgY2xhc3M9ImhpdHMiPjI8L3RkPjx0ZCBjbGFzcz0i
c291cmNlIj4gICAgICAgICAgICAgICAgcmV0PHNwYW4gY2xhc3M9ImsiPls8L3NwYW4+PHNwYW4g
Y2xhc3M9InMiPiJhcmd1bWVudHMiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj5dPC9zcGFuPiA8c3Bh
biBjbGFzcz0iayI+PTwvc3Bhbj4gYXJndW1lbnRfbGlzdDxzcGFuIGNsYXNzPSJrIj4oKTs8L3Nw
YW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4yNzg8L3RkPjx0
ZCBjbGFzcz0iaGl0cyI+MjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICBh
bGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+
IDx0ZCBjbGFzcz0ibGluZSI+Mjc5PC90ZD48dGQgY2xhc3M9ImhpdHMiPjI8L3RkPjx0ZCBjbGFz
cz0ic291cmNlIj4gICAgICAgICAgICAgICAgY29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFu
Pk9USEVSPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iKSI8L3NwYW4+
PHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj58fDwvc3Bhbj4gZXJyb3I8
c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0icyI+IlVuY2xvc2VkIGFyZ3VtZW50
IGluIGV4dGVuZGVkIGF0dHJpYnV0ZSI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwv
dGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj4yODA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90
ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+
PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4yODE8L3RkPjx0ZCBj
bGFzcz0iaGl0cyI+MTc8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBj
bGFzcz0iayI+cmV0dXJuPC9zcGFuPiByZXQ8c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwv
dHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+MjgyPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRk
IGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PHNwYW4gY2xh
c3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjI4MzwvdGQ+PHRk
IGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDwvdGQ+PC90cj48
dHI+PHRkIGNsYXNzPSJsaW5lIj4yODQ8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFzcz0iYyI+Ly8gTm90ZTogd2UgcGFyc2Ugc29t
ZXRoaW5nIHNpbXBsZXIgdGhhbiB0aGUgb2ZmaWNpYWwgc3ludGF4LiBJdCdzIGFsbCB0aGF0IGV2
ZXI8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjI4NTwvdGQ+PHRkIGNsYXNz
PSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxzcGFuIGNsYXNzPSJjIj4v
LyBzZWVtcyB0byBiZSB1c2VkPC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBj
bGFzcz0ibGluZSI+Mjg2PC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ3PC90ZD48dGQgY2xhc3M9InNv
dXJjZSI+ICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiBleHRlbmRlZF9hdHRycyA8
c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPmZ1bmN0aW9uPC9zcGFuPiA8
c3BhbiBjbGFzcz0iayI+KCk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90
cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+Mjg3PC90ZD48dGQgY2xhc3M9Imhp
dHMiPjQxNTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJr
Ij52YXI8L3NwYW4+IGVhcyA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9Imsi
PltdOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjI4
ODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40MTU8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAg
ICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9
ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+Mjg5PC90ZD48dGQgY2xhc3M9ImhpdHMiPjgxNTwvdGQ+
PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4g
PHNwYW4gY2xhc3M9ImsiPighPC9zcGFuPmNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5P
VEhFUjxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+IlsiPC9zcGFuPjxz
cGFuIGNsYXNzPSJrIj4pKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnJldHVybjwvc3Bhbj4gZWFz
PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNs
YXNzPSJsaW5lIj4yOTA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTU8L3RkPjx0ZCBjbGFzcz0ic291
cmNlIj4gICAgICAgICAgICBlYXM8c3BhbiBjbGFzcz0iayI+Wzwvc3Bhbj48c3BhbiBjbGFzcz0i
cyI+MDwvc3Bhbj48c3BhbiBjbGFzcz0iayI+XTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPj08L3Nw
YW4+IHNpbXBsZV9leHRlbmRlZF9hdHRyPHNwYW4gY2xhc3M9ImsiPigpPC9zcGFuPiA8c3BhbiBj
bGFzcz0iayI+fHw8L3NwYW4+IGVycm9yPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xh
c3M9InMiPiJFeHRlbmRlZCBhdHRyaWJ1dGUgd2l0aCBub3QgY29udGVudCI8L3NwYW4+PHNwYW4g
Y2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0i
bGluZSI+MjkxPC90ZD48dGQgY2xhc3M9ImhpdHMiPjE1PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+
ICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRy
IGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjI5MjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4x
NTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj53aGls
ZTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+Y29uc3VtZTxzcGFuIGNsYXNzPSJrIj4o
PC9zcGFuPk9USEVSPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iLCI8
L3NwYW4+PHNwYW4gY2xhc3M9ImsiPikpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48
L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjI5MzwvdGQ+PHRkIGNs
YXNzPSJoaXRzIj4yPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIGFsbF93
czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRk
IGNsYXNzPSJsaW5lIj4yOTQ8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MjwvdGQ+PHRkIGNsYXNzPSJz
b3VyY2UiPiAgICAgICAgICAgICAgICBlYXM8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5wdXNoPHNw
YW4gY2xhc3M9ImsiPig8L3NwYW4+c2ltcGxlX2V4dGVuZGVkX2F0dHI8c3BhbiBjbGFzcz0iayI+
KCk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj58fDwvc3Bhbj4gZXJyb3I8c3BhbiBjbGFzcz0iayI+
KDwvc3Bhbj48c3BhbiBjbGFzcz0icyI+IlRyYWlsaW5nIGNvbW1hIGluIGV4dGVuZGVkIGF0dHJp
YnV0ZSI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPikpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNz
PSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjI5NTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yPC90ZD48
dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4o
KTs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjI5NjwvdGQ+PHRkIGNsYXNz
PSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0i
ayI+fTwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjI5
NzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xNTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAg
ICAgIGNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5PVEhFUjxzcGFuIGNsYXNzPSJrIj4s
PC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+Il0iPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pPC9zcGFu
PiA8c3BhbiBjbGFzcz0iayI+fHw8L3NwYW4+IGVycm9yPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+
PHNwYW4gY2xhc3M9InMiPiJObyBlbmQgb2YgZXh0ZW5kZWQgYXR0cmlidXRlIjwvc3Bhbj48c3Bh
biBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNz
PSJsaW5lIj4yOTg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTU8L3RkPjx0ZCBjbGFzcz0ic291cmNl
Ij4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+cmV0dXJuPC9zcGFuPiBlYXM8c3BhbiBjbGFz
cz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+Mjk5PC90ZD48dGQg
Y2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9
ImsiPn08L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xh
c3M9ImxpbmUiPjMwMDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNl
Ij4gICAgICAgIDwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MzAx
PC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ3PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8
c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiBkZWZhdWx0XyA8c3BhbiBjbGFzcz0iayI+PTwvc3Bh
bj4gPHNwYW4gY2xhc3M9ImsiPmZ1bmN0aW9uPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KCk8L3Nw
YW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0
ZCBjbGFzcz0ibGluZSI+MzAyPC90ZD48dGQgY2xhc3M9ImhpdHMiPjExPC90ZD48dGQgY2xhc3M9
InNvdXJjZSI+ICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3Rk
PjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjMwMzwvdGQ+PHRkIGNsYXNz
PSJoaXRzIj4xMTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNz
PSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+Y29uc3VtZTxzcGFuIGNsYXNz
PSJrIj4oPC9zcGFuPk9USEVSPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJz
Ij4iPSI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPikpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwv
c3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjMwNDwvdGQ+
PHRkIGNsYXNzPSJoaXRzIj41PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAg
IGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0
Ij4gPHRkIGNsYXNzPSJsaW5lIj4zMDU8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NTwvdGQ+PHRkIGNs
YXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiBk
ZWYgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IGNvbnN0X3ZhbHVlPHNwYW4gY2xhc3M9ImsiPigp
Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjMwNjwv
dGQ+PHRkIGNsYXNzPSJoaXRzIj41PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAg
ICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNw
YW4gY2xhc3M9ImsiPnR5cGVvZjwvc3Bhbj4gZGVmIDxzcGFuIGNsYXNzPSJrIj4hPT08L3NwYW4+
IDxzcGFuIGNsYXNzPSJzIj4idW5kZWZpbmVkIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTwvc3Bh
bj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRk
IGNsYXNzPSJsaW5lIj4zMDc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MzwvdGQ+PHRkIGNsYXNzPSJz
b3VyY2UiPiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnJldHVybjwvc3Bhbj4g
ZGVmPHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUi
PjMwODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAg
ICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9
ImxpbmUiPjMwOTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4g
ICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmVsc2U8L3NwYW4+IDxzcGFuIGNsYXNzPSJr
Ij57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MzEw
PC90ZD48dGQgY2xhc3M9ImhpdHMiPjI8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAg
ICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IHN0ciA8c3BhbiBjbGFzcz0iayI+
PTwvc3Bhbj4gY29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPlNUUjxzcGFuIGNsYXNzPSJr
Ij4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+fHw8L3NwYW4+IGVycm9yPHNwYW4gY2xhc3M9Imsi
Pig8L3NwYW4+PHNwYW4gY2xhc3M9InMiPiJObyB2YWx1ZSBmb3IgZGVmYXVsdCI8L3NwYW4+PHNw
YW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFz
cz0ibGluZSI+MzExPC90ZD48dGQgY2xhc3M9ImhpdHMiPjI8L3RkPjx0ZCBjbGFzcz0ic291cmNl
Ij4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5yZXR1cm48L3NwYW4+IHN0cjxz
cGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj4zMTI8
L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAg
ICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5l
Ij4zMTM8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAg
ICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9Imxp
bmUiPjMxNDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAg
ICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+
PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj4zMTU8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48
dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQg
Y2xhc3M9ImxpbmUiPjMxNjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40NzwvdGQ+PHRkIGNsYXNzPSJz
b3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gY29uc3RfIDxzcGFuIGNs
YXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ZnVuY3Rpb248L3NwYW4+IDxzcGFuIGNs
YXNzPSJrIj4oKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBj
bGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4zMTc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTgw
PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9Imsi
PigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjMx
ODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4zNDg8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAg
ICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oITwvc3Bhbj5j
b25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+SUQ8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4g
PHNwYW4gY2xhc3M9InMiPiJjb25zdCI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPikpPC9zcGFuPiA8
c3BhbiBjbGFzcz0iayI+cmV0dXJuPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+
PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MzE5PC90ZD48dGQgY2xhc3M9
ImhpdHMiPjEyPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9
ImsiPnZhcjwvc3Bhbj4gcmV0IDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0i
ayI+ezwvc3Bhbj4gdHlwZTxzcGFuIGNsYXNzPSJrIj46PC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+
ImNvbnN0Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gbnVsbGFibGU8c3BhbiBjbGFz
cz0iayI+Ojwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPmZhbHNlPC9zcGFuPiA8c3BhbiBjbGFzcz0i
ayI+fTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJo
aXQiPiA8dGQgY2xhc3M9ImxpbmUiPjMyMDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xMjwvdGQ+PHRk
IGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3Nw
YW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4zMjE8L3RkPjx0
ZCBjbGFzcz0iaGl0cyI+MTI8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3Bh
biBjbGFzcz0iayI+dmFyPC9zcGFuPiB0eXAgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IHByaW1p
dGl2ZV90eXBlPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJo
aXQiPiA8dGQgY2xhc3M9ImxpbmUiPjMyMjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xMjwvdGQ+PHRk
IGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNw
YW4gY2xhc3M9ImsiPighPC9zcGFuPnR5cDxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBj
bGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJtaXNzIj4gPHRkIGNsYXNzPSJs
aW5lIj4zMjM8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAg
ICAgICAgICAgICAgICB0eXAgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IGNvbnN1bWU8c3BhbiBj
bGFzcz0iayI+KDwvc3Bhbj5JRDxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0i
ayI+fHw8L3NwYW4+IGVycm9yPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9InMi
PiJObyB0eXBlIGZvciBjb25zdCI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+
PC90cj48dHIgY2xhc3M9Im1pc3MiPiA8dGQgY2xhc3M9ImxpbmUiPjMyNDwvdGQ+PHRkIGNsYXNz
PSJoaXRzIj4wPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIHR5cCA8c3Bh
biBjbGFzcz0iayI+PTwvc3Bhbj4gdHlwPHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+dmFsdWU8c3Bh
biBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+MzI1PC90
ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxz
cGFuIGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFz
cz0ibGluZSI+MzI2PC90ZD48dGQgY2xhc3M9ImhpdHMiPjEyPC90ZD48dGQgY2xhc3M9InNvdXJj
ZSI+ICAgICAgICAgICAgcmV0PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+aWRsVHlwZSA8c3BhbiBj
bGFzcz0iayI+PTwvc3Bhbj4gdHlwPHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0
ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4zMjc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+
MTI8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0i
ayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+
MzI4PC90ZD48dGQgY2xhc3M9ImhpdHMiPjEyPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAg
ICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5j
b25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+T1RIRVI8c3BhbiBjbGFzcz0iayI+LDwvc3Bh
bj4gPHNwYW4gY2xhc3M9InMiPiI/Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KSk8L3NwYW4+IDxz
cGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFz
cz0ibGluZSI+MzI5PC90ZD48dGQgY2xhc3M9ImhpdHMiPjE8L3RkPjx0ZCBjbGFzcz0ic291cmNl
Ij4gICAgICAgICAgICAgICAgcmV0PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+bnVsbGFibGUgPHNw
YW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj50cnVlPC9zcGFuPjxzcGFuIGNs
YXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGlu
ZSI+MzMwPC90ZD48dGQgY2xhc3M9ImhpdHMiPjE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAg
ICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRy
Pjx0ZCBjbGFzcz0ibGluZSI+MzMxPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNz
PSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90cj48
dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MzMyPC90ZD48dGQgY2xhc3M9ImhpdHMi
PjEyPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZh
cjwvc3Bhbj4gbmFtZSA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gY29uc3VtZTxzcGFuIGNsYXNz
PSJrIj4oPC9zcGFuPklEPHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj58
fDwvc3Bhbj4gZXJyb3I8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0icyI+Ik5v
IG5hbWUgZm9yIGNvbnN0Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3Ry
Pjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4zMzM8L3RkPjx0ZCBjbGFzcz0iaGl0
cyI+MTI8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICByZXQ8c3BhbiBjbGFzcz0i
ayI+Ljwvc3Bhbj5uYW1lIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiBuYW1lPHNwYW4gY2xhc3M9
ImsiPi48L3NwYW4+dmFsdWU8c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNs
YXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjMzNDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xMjwv
dGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4o
KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4zMzU8
L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTI8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAg
ICBjb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+T1RIRVI8c3BhbiBjbGFzcz0iayI+LDwv
c3Bhbj4gPHNwYW4gY2xhc3M9InMiPiI9Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4g
PHNwYW4gY2xhc3M9ImsiPnx8PC9zcGFuPiBlcnJvcjxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxz
cGFuIGNsYXNzPSJzIj4iTm8gdmFsdWUgYXNzaWdubWVudCBmb3IgY29uc3QiPC9zcGFuPjxzcGFu
IGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9
ImxpbmUiPjMzNjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xMjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2Ui
PiAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0
ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4zMzc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+
MTI8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFy
PC9zcGFuPiBjbnQgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IGNvbnN0X3ZhbHVlPHNwYW4gY2xh
c3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9Imxp
bmUiPjMzODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yNDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAg
ICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3Nw
YW4+PHNwYW4gY2xhc3M9ImsiPnR5cGVvZjwvc3Bhbj4gY250IDxzcGFuIGNsYXNzPSJrIj4hPT08
L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4idW5kZWZpbmVkIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+
KTwvc3Bhbj4gcmV0PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+dmFsdWUgPHNwYW4gY2xhc3M9Imsi
Pj08L3NwYW4+IGNudDxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9
Im1pc3MiPiA8dGQgY2xhc3M9ImxpbmUiPjMzOTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4wPC90ZD48
dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmVsc2U8L3NwYW4+
IGVycm9yPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9InMiPiJObyB2YWx1ZSBm
b3IgY29uc3QiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNs
YXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjM0MDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xMjwv
dGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4o
KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4zNDE8
L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTI8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAg
ICBjb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+T1RIRVI8c3BhbiBjbGFzcz0iayI+LDwv
c3Bhbj4gPHNwYW4gY2xhc3M9InMiPiI7Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4g
PHNwYW4gY2xhc3M9ImsiPnx8PC9zcGFuPiBlcnJvcjxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxz
cGFuIGNsYXNzPSJzIj4iVW50ZXJtaW5hdGVkIGNvbnN0Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+
KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4zNDI8
L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTI8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAg
ICA8c3BhbiBjbGFzcz0iayI+cmV0dXJuPC9zcGFuPiByZXQ8c3BhbiBjbGFzcz0iayI+Ozwvc3Bh
bj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+MzQzPC90ZD48dGQgY2xhc3M9ImhpdHMi
PjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+
PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjM0
NDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDwv
dGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MzQ1PC90ZD48dGQgY2xh
c3M9ImhpdHMiPjQ3PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFzcz0i
ayI+dmFyPC9zcGFuPiBpbmhlcml0YW5jZSA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4g
Y2xhc3M9ImsiPmZ1bmN0aW9uPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KCk8L3NwYW4+IDxzcGFu
IGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0i
bGluZSI+MzQ2PC90ZD48dGQgY2xhc3M9ImhpdHMiPjg5PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+
ICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRy
IGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjM0NzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj44
OTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwv
c3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+Y29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9z
cGFuPk9USEVSPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iOiI8L3Nw
YW4+PHNwYW4gY2xhc3M9ImsiPikpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3Rk
PjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjM0ODwvdGQ+PHRkIGNsYXNz
PSJoaXRzIj45PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIGFsbF93czxz
cGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNs
YXNzPSJsaW5lIj4zNDk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+OTwvdGQ+PHRkIGNsYXNzPSJzb3Vy
Y2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiBpbmggPHNwYW4g
Y2xhc3M9ImsiPj08L3NwYW4+IGNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5JRDxzcGFu
IGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+fHw8L3NwYW4+IGVycm9yIDxzcGFu
IGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4iTm8gdHlwZSBpbiBpbmhlcml0YW5j
ZSI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9Imhp
dCI+IDx0ZCBjbGFzcz0ibGluZSI+MzUwPC90ZD48dGQgY2xhc3M9ImhpdHMiPjk8L3RkPjx0ZCBj
bGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnJldHVybjwvc3Bh
bj4gaW5oPHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+dmFsdWU8c3BhbiBjbGFzcz0iayI+Ozwvc3Bh
bj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+MzUxPC90ZD48dGQgY2xhc3M9ImhpdHMi
PjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9z
cGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj4zNTI8L3RkPjx0ZCBjbGFzcz0iaGl0
cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bh
bj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+
MzUzPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAg
PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4zNTQ8L3RkPjx0ZCBj
bGFzcz0iaGl0cyI+NDc8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxzcGFuIGNsYXNz
PSJrIj52YXI8L3NwYW4+IG9wZXJhdGlvbl9yZXN0IDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8
c3BhbiBjbGFzcz0iayI+ZnVuY3Rpb248L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPnJl
dDxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwv
dHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjM1NTwvdGQ+PHRkIGNsYXNzPSJo
aXRzIj41NjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIGFsbF93czxzcGFuIGNs
YXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJs
aW5lIj4zNTY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NTc8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4g
ICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oITwv
c3Bhbj5yZXQ8c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gcmV0IDxzcGFuIGNsYXNzPSJrIj49PC9z
cGFuPiA8c3BhbiBjbGFzcz0iayI+e308L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90
ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4zNTc8L3RkPjx0ZCBjbGFz
cz0iaGl0cyI+NTY8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFz
cz0iayI+dmFyPC9zcGFuPiBuYW1lIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiBjb25zdW1lPHNw
YW4gY2xhc3M9ImsiPig8L3NwYW4+SUQ8c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3Ry
Pjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4zNTg8L3RkPjx0ZCBjbGFzcz0iaGl0
cyI+NTY8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICByZXQ8c3BhbiBjbGFzcz0i
ayI+Ljwvc3Bhbj5uYW1lIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiBuYW1lIDxzcGFuIGNsYXNz
PSJrIj4/PC9zcGFuPiBuYW1lPHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+dmFsdWUgPHNwYW4gY2xh
c3M9ImsiPjo8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5udWxsPC9zcGFuPjxzcGFuIGNsYXNzPSJr
Ij47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MzU5
PC90ZD48dGQgY2xhc3M9ImhpdHMiPjU2PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAg
ICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJo
aXQiPiA8dGQgY2xhc3M9ImxpbmUiPjM2MDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj41NjwvdGQ+PHRk
IGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIGNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bh
bj5PVEhFUjxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+IigiPC9zcGFu
PjxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+fHw8L3NwYW4+IGVycm9y
PHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9InMiPiJJbnZhbGlkIG9wZXJhdGlv
biI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9Imhp
dCI+IDx0ZCBjbGFzcz0ibGluZSI+MzYxPC90ZD48dGQgY2xhc3M9ImhpdHMiPjU2PC90ZD48dGQg
Y2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgcmV0PHNwYW4gY2xhc3M9ImsiPls8L3NwYW4+PHNw
YW4gY2xhc3M9InMiPiJhcmd1bWVudHMiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj5dPC9zcGFuPiA8
c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gYXJndW1lbnRfbGlzdDxzcGFuIGNsYXNzPSJrIj4oKTs8
L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4zNjI8L3Rk
Pjx0ZCBjbGFzcz0iaGl0cyI+NTY8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICBh
bGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+
IDx0ZCBjbGFzcz0ibGluZSI+MzYzPC90ZD48dGQgY2xhc3M9ImhpdHMiPjU2PC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+ICAgICAgICAgICAgY29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPk9U
SEVSPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iKSI8L3NwYW4+PHNw
YW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj58fDwvc3Bhbj4gZXJyb3I8c3Bh
biBjbGFzcz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0icyI+IlVudGVybWluYXRlZCBvcGVyYXRp
b24iPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJo
aXQiPiA8dGQgY2xhc3M9ImxpbmUiPjM2NDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj41NjwvdGQ+PHRk
IGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3Nw
YW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4zNjU8L3RkPjx0
ZCBjbGFzcz0iaGl0cyI+NTY8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICBjb25z
dW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+T1RIRVI8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4g
PHNwYW4gY2xhc3M9InMiPiI7Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4g
Y2xhc3M9ImsiPnx8PC9zcGFuPiBlcnJvcjxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNs
YXNzPSJzIj4iVW50ZXJtaW5hdGVkIG9wZXJhdGlvbiI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7
PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MzY2PC90
ZD48dGQgY2xhc3M9ImhpdHMiPjU2PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAg
PHNwYW4gY2xhc3M9ImsiPnJldHVybjwvc3Bhbj4gcmV0PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+
PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjM2NzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48
L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjxz
cGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj4zNjg8
L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8L3Rk
PjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjM2OTwvdGQ+PHRkIGNsYXNz
PSJoaXRzIj40NzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9Imsi
PnZhcjwvc3Bhbj4gY2FsbGJhY2sgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNz
PSJrIj5mdW5jdGlvbjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPigpPC9zcGFuPiA8c3BhbiBjbGFz
cz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUi
PjM3MDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xNDQ8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAg
ICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xh
c3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MzcxPC90ZD48dGQgY2xhc3M9ImhpdHMiPjE0NDwv
dGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3Nw
YW4+IHJldDxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+
IDx0ZCBjbGFzcz0ibGluZSI+MzcyPC90ZD48dGQgY2xhc3M9ImhpdHMiPjI4NjwvdGQ+PHRkIGNs
YXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4g
Y2xhc3M9ImsiPighPC9zcGFuPmNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5JRDxzcGFu
IGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+ImNhbGxiYWNrIjwvc3Bhbj48c3Bh
biBjbGFzcz0iayI+KSk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5yZXR1cm48L3NwYW4+PHNwYW4g
Y2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJs
aW5lIj4zNzM8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAg
ICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBj
bGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4zNzQ8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+Mjwv
dGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3Nw
YW4+IHRvayA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gY29uc3VtZTxzcGFuIGNsYXNzPSJrIj4o
PC9zcGFuPklEPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iaW50ZXJm
YWNlIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0i
aGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4zNzU8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MjwvdGQ+PHRk
IGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNw
YW4gY2xhc3M9ImsiPig8L3NwYW4+dG9rPHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNs
YXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGlu
ZSI+Mzc2PC90ZD48dGQgY2xhc3M9ImhpdHMiPjE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAg
ICAgICAgICAgICAgdG9rZW5zPHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+dW5zaGlmdDxzcGFuIGNs
YXNzPSJrIj4oPC9zcGFuPnRvazxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRy
IGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjM3NzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4x
PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIHJldCA8c3BhbiBjbGFzcz0i
ayI+PTwvc3Bhbj4gaW50ZXJmYWNlXzxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3Ry
Pjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4zNzg8L3RkPjx0ZCBjbGFzcz0iaGl0
cyI+MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICByZXQ8c3BhbiBjbGFz
cz0iayI+Ljwvc3Bhbj50eXBlIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0i
cyI+ImNhbGxiYWNrIGludGVyZmFjZSI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90
ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4zNzk8L3RkPjx0ZCBjbGFz
cz0iaGl0cyI+MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBj
bGFzcz0iayI+cmV0dXJuPC9zcGFuPiByZXQ8c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwv
dHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+MzgwPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRk
IGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+
PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MzgxPC90ZD48dGQgY2xhc3M9
ImhpdHMiPjE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0i
ayI+dmFyPC9zcGFuPiBuYW1lIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiBjb25zdW1lPHNwYW4g
Y2xhc3M9ImsiPig8L3NwYW4+SUQ8c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9
ImsiPnx8PC9zcGFuPiBlcnJvcjxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJz
Ij4iTm8gbmFtZSBmb3IgY2FsbGJhY2siPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48
L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjM4MjwvdGQ+PHRkIGNs
YXNzPSJoaXRzIj4xPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgcmV0IDxzcGFu
IGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj4gdHlwZTxzcGFuIGNs
YXNzPSJrIj46PC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+ImNhbGxiYWNrIjwvc3Bhbj48c3BhbiBj
bGFzcz0iayI+LDwvc3Bhbj4gbmFtZTxzcGFuIGNsYXNzPSJrIj46PC9zcGFuPiBuYW1lPHNwYW4g
Y2xhc3M9ImsiPi48L3NwYW4+dmFsdWUgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PHNwYW4gY2xh
c3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5l
Ij4zODM8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAg
ICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFz
cz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4zODQ8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTwvdGQ+
PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIGNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwv
c3Bhbj5PVEhFUjxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+Ij0iPC9z
cGFuPjxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+fHw8L3NwYW4+IGVy
cm9yPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9InMiPiJObyBhc3NpZ25tZW50
IGluIGNhbGxiYWNrIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0
ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4zODU8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+
MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJr
Ij4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4z
ODY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAg
ICAgIHJldDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPmlkbFR5cGUgPHNwYW4gY2xhc3M9ImsiPj08
L3NwYW4+IHJldHVybl90eXBlPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRy
IGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjM4NzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4x
PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9Imsi
PigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjM4
ODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAg
ICAgY29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPk9USEVSPHNwYW4gY2xhc3M9ImsiPiw8
L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iKCI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+
IDxzcGFuIGNsYXNzPSJrIj58fDwvc3Bhbj4gZXJyb3I8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48
c3BhbiBjbGFzcz0icyI+Ik5vIGFyZ3VtZW50cyBpbiBjYWxsYmFjayI8L3NwYW4+PHNwYW4gY2xh
c3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGlu
ZSI+Mzg5PC90ZD48dGQgY2xhc3M9ImhpdHMiPjE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAg
ICAgICAgICByZXQ8c3BhbiBjbGFzcz0iayI+Wzwvc3Bhbj48c3BhbiBjbGFzcz0icyI+ImFyZ3Vt
ZW50cyI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPl08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj49PC9z
cGFuPiBhcmd1bWVudF9saXN0PHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRy
IGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjM5MDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4x
PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9Imsi
PigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjM5
MTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAg
ICAgY29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPk9USEVSPHNwYW4gY2xhc3M9ImsiPiw8
L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iKSI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+
IDxzcGFuIGNsYXNzPSJrIj58fDwvc3Bhbj4gZXJyb3I8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48
c3BhbiBjbGFzcz0icyI+IlVudGVybWluYXRlZCBjYWxsYmFjayI8L3NwYW4+PHNwYW4gY2xhc3M9
ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+
MzkyPC90ZD48dGQgY2xhc3M9ImhpdHMiPjE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAg
ICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9
ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+MzkzPC90ZD48dGQgY2xhc3M9ImhpdHMiPjE8L3RkPjx0
ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICBjb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3Nw
YW4+T1RIRVI8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiI7Ijwvc3Bh
bj48c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnx8PC9zcGFuPiBlcnJv
cjxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4iVW50ZXJtaW5hdGVkIGNh
bGxiYWNrIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFz
cz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4zOTQ8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTwvdGQ+
PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5yZXR1cm48L3Nw
YW4+IHJldDxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJs
aW5lIj4zOTU8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAg
ICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3Rk
PjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+Mzk2PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+
PHRkIGNsYXNzPSJzb3VyY2UiPiA8L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9
ImxpbmUiPjM5NzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40NzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2Ui
PiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gYXR0cmlidXRlIDxzcGFuIGNsYXNz
PSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ZnVuY3Rpb248L3NwYW4+IDxzcGFuIGNsYXNz
PSJrIj4oKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFz
cz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj4zOTg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTU0PC90
ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigp
Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjM5OTwv
dGQ+PHRkIGNsYXNzPSJoaXRzIj4xNTQ8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAg
ICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiBncmFiYmVkIDxzcGFuIGNsYXNzPSJrIj49PC9z
cGFuPiA8c3BhbiBjbGFzcz0iayI+W108L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9Imxp
bmUiPjQwMDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAg
ICAgICAgICA8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gICByZXQgPHNwYW4gY2xhc3M9ImsiPj08
L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJs
aW5lIj40MDE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAg
ICAgICAgICAgICAgIHR5cGU8c3BhbiBjbGFzcz0iayI+Ojwvc3Bhbj4gICAgICAgICAgIDxzcGFu
IGNsYXNzPSJzIj4iYXR0cmlidXRlIjwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGlu
ZSI+NDAyPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAg
ICAgICAgIDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiAgIDxzcGFuIGNsYXNzPSJzIj4ic3RhdGlj
Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ojwvc3Bhbj4gICAgICAgPHNwYW4gY2xhc3M9ImsiPmZh
bHNlPC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj40MDM8L3RkPjx0ZCBjbGFz
cz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9
ImsiPiw8L3NwYW4+ICAgc3RyaW5naWZpZXI8c3BhbiBjbGFzcz0iayI+Ojwvc3Bhbj4gICAgPHNw
YW4gY2xhc3M9ImsiPmZhbHNlPC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj40
MDQ8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAg
ICAgPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+ICAgaW5oZXJpdDxzcGFuIGNsYXNzPSJrIj46PC9z
cGFuPiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmZhbHNlPC9zcGFuPjwvdGQ+PC90cj48dHI+PHRk
IGNsYXNzPSJsaW5lIj40MDU8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNv
dXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+ICAgcmVhZG9ubHk8c3Bh
biBjbGFzcz0iayI+Ojwvc3Bhbj4gICAgICAgPHNwYW4gY2xhc3M9ImsiPmZhbHNlPC9zcGFuPjwv
dGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj40MDY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90
ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+
PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNs
YXNzPSJsaW5lIj40MDc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTU0PC90ZD48dGQgY2xhc3M9InNv
dXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0i
ayI+KDwvc3Bhbj5jb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+SUQ8c3BhbiBjbGFzcz0i
ayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJzdGF0aWMiPC9zcGFuPjxzcGFuIGNsYXNzPSJr
Ij4pKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0i
aGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj40MDg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MjwvdGQ+PHRk
IGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICByZXQ8c3BhbiBjbGFzcz0iayI+Wzwvc3Bh
bj48c3BhbiBjbGFzcz0icyI+InN0YXRpYyI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPl08L3NwYW4+
IDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+dHJ1ZTwvc3Bhbj48c3Bh
biBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9
ImxpbmUiPjQwOTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+
ICAgICAgICAgICAgICAgIGdyYWJiZWQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5wdXNoPHNwYW4g
Y2xhc3M9ImsiPig8L3NwYW4+bGFzdF90b2tlbjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3Rk
PjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NDEwPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+
PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjwv
dGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NDExPC90ZD48dGQgY2xh
c3M9ImhpdHMiPjE1MjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNs
YXNzPSJrIj5lbHNlPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNz
PSJrIj4oPC9zcGFuPmNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5JRDxzcGFuIGNsYXNz
PSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+InN0cmluZ2lmaWVyIjwvc3Bhbj48c3BhbiBj
bGFzcz0iayI+KSk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIg
Y2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NDEyPC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ8
L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgcmV0PHNwYW4gY2xhc3M9Imsi
Pi48L3NwYW4+c3RyaW5naWZpZXIgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNz
PSJrIj50cnVlPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xh
c3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NDEzPC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ8L3Rk
Pjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgZ3JhYmJlZDxzcGFuIGNsYXNzPSJr
Ij4uPC9zcGFuPnB1c2g8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5sYXN0X3Rva2VuPHNwYW4gY2xh
c3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj40MTQ8L3RkPjx0
ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4g
Y2xhc3M9ImsiPn08L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJs
aW5lIj40MTU8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTU0PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+
ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gdyA8c3BhbiBjbGFzcz0iayI+
PTwvc3Bhbj4gYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNs
YXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjQxNjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xNTk8
L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3Nw
YW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPnc8c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gZ3Jh
YmJlZDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnB1c2g8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj53
PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBj
bGFzcz0ibGluZSI+NDE3PC90ZD48dGQgY2xhc3M9ImhpdHMiPjE1NDwvdGQ+PHRkIGNsYXNzPSJz
b3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9
ImsiPig8L3NwYW4+Y29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPklEPHNwYW4gY2xhc3M9
ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iaW5oZXJpdCI8L3NwYW4+PHNwYW4gY2xhc3M9
ImsiPikpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNz
PSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjQxODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xPC90ZD48
dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bh
bj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+cmV0PHNwYW4gY2xhc3M9ImsiPls8L3NwYW4+PHNw
YW4gY2xhc3M9InMiPiJzdGF0aWMiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj5dPC9zcGFuPiA8c3Bh
biBjbGFzcz0iayI+fHw8L3NwYW4+IHJldDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnN0cmluZ2lm
aWVyPHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IGVycm9yPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+
PHNwYW4gY2xhc3M9InMiPiJDYW5ub3QgaGF2ZSBhIHN0YXRpYyBvciBzdHJpbmdpZmllciBpbmhl
cml0Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0i
aGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj40MTk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTwvdGQ+PHRk
IGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICByZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bh
bj5pbmhlcml0IDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+dHJ1ZTwv
c3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8
dGQgY2xhc3M9ImxpbmUiPjQyMDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xPC90ZD48dGQgY2xhc3M9
InNvdXJjZSI+ICAgICAgICAgICAgICAgIGdyYWJiZWQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5w
dXNoPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+bGFzdF90b2tlbjxzcGFuIGNsYXNzPSJrIj4pOzwv
c3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjQyMTwvdGQ+
PHRkIGNsYXNzPSJoaXRzIj4xPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAg
IDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IHcgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IGFs
bF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4g
PHRkIGNsYXNzPSJsaW5lIj40MjI8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MjwvdGQ+PHRkIGNsYXNz
PSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFu
IGNsYXNzPSJrIj4oPC9zcGFuPnc8c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gZ3JhYmJlZDxzcGFu
IGNsYXNzPSJrIj4uPC9zcGFuPnB1c2g8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj53PHNwYW4gY2xh
c3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj40MjM8L3RkPjx0
ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4g
Y2xhc3M9ImsiPn08L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJs
aW5lIj40MjQ8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTU0PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+
ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwv
c3Bhbj5jb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+SUQ8c3BhbiBjbGFzcz0iayI+LDwv
c3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJyZWFkb25seSI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPikp
PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQi
PiA8dGQgY2xhc3M9ImxpbmUiPjQyNTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4zMjwvdGQ+PHRkIGNs
YXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICByZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5y
ZWFkb25seSA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnRydWU8L3Nw
YW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRk
IGNsYXNzPSJsaW5lIj40MjY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MzI8L3RkPjx0ZCBjbGFzcz0i
c291cmNlIj4gICAgICAgICAgICAgICAgZ3JhYmJlZDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnB1
c2g8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5sYXN0X3Rva2VuPHNwYW4gY2xhc3M9ImsiPik7PC9z
cGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NDI3PC90ZD48
dGQgY2xhc3M9ImhpdHMiPjMyPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAg
IDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IHcgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IGFs
bF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4g
PHRkIGNsYXNzPSJsaW5lIj40Mjg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NjQ8L3RkPjx0ZCBjbGFz
cz0ic291cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3Bh
biBjbGFzcz0iayI+KDwvc3Bhbj53PHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IGdyYWJiZWQ8c3Bh
biBjbGFzcz0iayI+Ljwvc3Bhbj5wdXNoPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+dzxzcGFuIGNs
YXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NDI5PC90ZD48
dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFu
IGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0i
bGluZSI+NDMwPC90ZD48dGQgY2xhc3M9ImhpdHMiPjE1NDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2Ui
PiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPigh
PC9zcGFuPmNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5JRDxzcGFuIGNsYXNzPSJrIj4s
PC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+ImF0dHJpYnV0ZSI8L3NwYW4+PHNwYW4gY2xhc3M9Imsi
PikpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJo
aXQiPiA8dGQgY2xhc3M9ImxpbmUiPjQzMTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj42MDwvdGQ+PHRk
IGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICB0b2tlbnMgPHNwYW4gY2xhc3M9ImsiPj08
L3NwYW4+IGdyYWJiZWQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5jb25jYXQ8c3BhbiBjbGFzcz0i
ayI+KDwvc3Bhbj50b2tlbnM8c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBj
bGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj40MzI8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NjA8
L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnJl
dHVybjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFz
cz0ibGluZSI+NDMzPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2Ui
PiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9
ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NDM0PC90ZD48dGQgY2xhc3M9ImhpdHMiPjk0PC90ZD48
dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwv
c3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjQzNTwvdGQ+
PHRkIGNsYXNzPSJoaXRzIj45NDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIHJl
dDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPmlkbFR5cGUgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+
IHR5cGU8c3BhbiBjbGFzcz0iayI+KCk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj58fDwvc3Bhbj4g
ZXJyb3I8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0icyI+Ik5vIHR5cGUgaW4g
YXR0cmlidXRlIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBj
bGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj40MzY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+OTQ8
L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3Nw
YW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPnJldDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPmlk
bFR5cGU8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5zZXF1ZW5jZTxzcGFuIGNsYXNzPSJrIj4pPC9z
cGFuPiBlcnJvcjxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4iQXR0cmli
dXRlcyBjYW5ub3QgYWNjZXB0IHNlcXVlbmNlIHR5cGVzIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+
KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj40Mzc8
L3RkPjx0ZCBjbGFzcz0iaGl0cyI+OTQ8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAg
ICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9Imhp
dCI+IDx0ZCBjbGFzcz0ibGluZSI+NDM4PC90ZD48dGQgY2xhc3M9ImhpdHMiPjk0PC90ZD48dGQg
Y2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gbmFt
ZSA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gY29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFu
PklEPHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj58fDwvc3Bhbj4gZXJy
b3I8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0icyI+Ik5vIG5hbWUgaW4gYXR0
cmlidXRlIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFz
cz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj40Mzk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+OTQ8L3Rk
Pjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICByZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bh
bj5uYW1lIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiBuYW1lPHNwYW4gY2xhc3M9ImsiPi48L3Nw
YW4+dmFsdWU8c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQi
PiA8dGQgY2xhc3M9ImxpbmUiPjQ0MDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj45NDwvdGQ+PHRkIGNs
YXNzPSJzb3VyY2UiPiAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+
PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj40NDE8L3RkPjx0ZCBj
bGFzcz0iaGl0cyI+OTQ8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICBjb25zdW1l
PHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+T1RIRVI8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNw
YW4gY2xhc3M9InMiPiI7Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xh
c3M9ImsiPnx8PC9zcGFuPiBlcnJvcjxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNz
PSJzIj4iVW50ZXJtaW5hdGVkIGF0dHJpYnV0ZSI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7PC9z
cGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NDQyPC90ZD48
dGQgY2xhc3M9ImhpdHMiPjk0PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNw
YW4gY2xhc3M9ImsiPnJldHVybjwvc3Bhbj4gcmV0PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90
ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjQ0MzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3Rk
Pjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjxzcGFu
IGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj40NDQ8L3Rk
Pjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8L3RkPjwv
dHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjQ0NTwvdGQ+PHRkIGNsYXNzPSJo
aXRzIj40NzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZh
cjwvc3Bhbj4gcmV0dXJuX3R5cGUgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNz
PSJrIj5mdW5jdGlvbjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPigpPC9zcGFuPiA8c3BhbiBjbGFz
cz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUi
PjQ0NjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj42MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAg
ICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IHR5cCA8c3BhbiBjbGFzcz0iayI+PTwv
c3Bhbj4gdHlwZTxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0i
aGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj40NDc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NjE8L3RkPjx0
ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxz
cGFuIGNsYXNzPSJrIj4oITwvc3Bhbj50eXA8c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4g
Y2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0ibWlzcyI+IDx0ZCBjbGFzcz0i
bGluZSI+NDQ4PC90ZD48dGQgY2xhc3M9ImhpdHMiPjA8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4g
ICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+
KDwvc3Bhbj5jb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+SUQ8c3BhbiBjbGFzcz0iayI+
LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJ2b2lkIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KSk8
L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9Im1pc3Mi
PiA8dGQgY2xhc3M9ImxpbmUiPjQ0OTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4wPC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+cmV0dXJuPC9z
cGFuPiA8c3BhbiBjbGFzcz0icyI+InZvaWQiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFu
PjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj40NTA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+
PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj59
PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9Im1pc3MiPiA8dGQgY2xhc3M9ImxpbmUiPjQ1MTwv
dGQ+PHRkIGNsYXNzPSJoaXRzIj4wPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAg
ICAgIDxzcGFuIGNsYXNzPSJrIj5lbHNlPC9zcGFuPiBlcnJvcjxzcGFuIGNsYXNzPSJrIj4oPC9z
cGFuPjxzcGFuIGNsYXNzPSJzIj4iTm8gcmV0dXJuIHR5cGUiPC9zcGFuPjxzcGFuIGNsYXNzPSJr
Ij4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NDUyPC90ZD48dGQgY2xh
c3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNz
PSJrIj59PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+
NDUzPC90ZD48dGQgY2xhc3M9ImhpdHMiPjYxPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAg
ICAgICAgPHNwYW4gY2xhc3M9ImsiPnJldHVybjwvc3Bhbj4gdHlwPHNwYW4gY2xhc3M9ImsiPjs8
L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjQ1NDwvdGQ+PHRkIGNsYXNzPSJo
aXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9z
cGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5l
Ij40NTU8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAg
ICA8L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjQ1NjwvdGQ+PHRk
IGNsYXNzPSJoaXRzIj40NzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xh
c3M9ImsiPnZhcjwvc3Bhbj4gb3BlcmF0aW9uIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3Bh
biBjbGFzcz0iayI+ZnVuY3Rpb248L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oKTwvc3Bhbj4gPHNw
YW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNz
PSJsaW5lIj40NTc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NjA8L3RkPjx0ZCBjbGFzcz0ic291cmNl
Ij4gICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48
dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NDU4PC90ZD48dGQgY2xhc3M9ImhpdHMi
PjYwPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZh
cjwvc3Bhbj4gcmV0IDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwv
c3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NDU5PC90ZD48dGQgY2xhc3M9Imhp
dHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICB0eXBlPHNwYW4gY2xh
c3M9ImsiPjo8L3NwYW4+ICAgICAgICAgICA8c3BhbiBjbGFzcz0icyI+Im9wZXJhdGlvbiI8L3Nw
YW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjQ2MDwvdGQ+PHRkIGNsYXNzPSJoaXRz
Ij48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+LDwv
c3Bhbj4gICBnZXR0ZXI8c3BhbiBjbGFzcz0iayI+Ojwvc3Bhbj4gICAgICAgICA8c3BhbiBjbGFz
cz0iayI+ZmFsc2U8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjQ2MTwvdGQ+
PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3Bh
biBjbGFzcz0iayI+LDwvc3Bhbj4gICBzZXR0ZXI8c3BhbiBjbGFzcz0iayI+Ojwvc3Bhbj4gICAg
ICAgICA8c3BhbiBjbGFzcz0iayI+ZmFsc2U8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9
ImxpbmUiPjQ2MjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4g
ICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gICBjcmVhdG9yPHNwYW4gY2xhc3M9
ImsiPjo8L3NwYW4+ICAgICAgICA8c3BhbiBjbGFzcz0iayI+ZmFsc2U8L3NwYW4+PC90ZD48L3Ry
Pjx0cj48dGQgY2xhc3M9ImxpbmUiPjQ2MzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBj
bGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gICBkZWxl
dGVyPHNwYW4gY2xhc3M9ImsiPjo8L3NwYW4+ICAgICAgICA8c3BhbiBjbGFzcz0iayI+ZmFsc2U8
L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjQ2NDwvdGQ+PHRkIGNsYXNzPSJo
aXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+
LDwvc3Bhbj4gICBsZWdhY3ljYWxsZXI8c3BhbiBjbGFzcz0iayI+Ojwvc3Bhbj4gICA8c3BhbiBj
bGFzcz0iayI+ZmFsc2U8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjQ2NTwv
dGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8
c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gICA8c3BhbiBjbGFzcz0icyI+InN0YXRpYyI8L3NwYW4+
PHNwYW4gY2xhc3M9ImsiPjo8L3NwYW4+ICAgICAgIDxzcGFuIGNsYXNzPSJrIj5mYWxzZTwvc3Bh
bj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NDY2PC90ZD48dGQgY2xhc3M9ImhpdHMi
PjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj4sPC9z
cGFuPiAgIHN0cmluZ2lmaWVyPHNwYW4gY2xhc3M9ImsiPjo8L3NwYW4+ICAgIDxzcGFuIGNsYXNz
PSJrIj5mYWxzZTwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NDY3PC90ZD48
dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFu
IGNsYXNzPSJrIj59PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIg
Y2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NDY4PC90ZD48dGQgY2xhc3M9ImhpdHMiPjYw
PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPndoaWxl
PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0iayI+dHJ1ZTwvc3Bh
bj48c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48
L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj40Njk8L3RkPjx0ZCBjbGFzcz0i
aGl0cyI+Nzg8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgYWxsX3dzPHNw
YW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xh
c3M9ImxpbmUiPjQ3MDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj44NzwvdGQ+PHRkIGNsYXNzPSJzb3Vy
Y2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNz
PSJrIj4oPC9zcGFuPmNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5JRDxzcGFuIGNsYXNz
PSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+ImdldHRlciI8L3NwYW4+PHNwYW4gY2xhc3M9
ImsiPikpPC9zcGFuPiByZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5nZXR0ZXIgPHNwYW4gY2xh
c3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj50cnVlPC9zcGFuPjxzcGFuIGNsYXNzPSJr
Ij47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NDcx
PC90ZD48dGQgY2xhc3M9ImhpdHMiPjc0PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAg
ICAgICAgIDxzcGFuIGNsYXNzPSJrIj5lbHNlPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+aWY8L3Nw
YW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPmNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bh
bj5JRDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+InNldHRlciI8L3Nw
YW4+PHNwYW4gY2xhc3M9ImsiPikpPC9zcGFuPiByZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5z
ZXR0ZXIgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj50cnVlPC9zcGFu
PjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBj
bGFzcz0ibGluZSI+NDcyPC90ZD48dGQgY2xhc3M9ImhpdHMiPjY1PC90ZD48dGQgY2xhc3M9InNv
dXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5lbHNlPC9zcGFuPiA8c3BhbiBj
bGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPmNvbnN1bWU8c3BhbiBj
bGFzcz0iayI+KDwvc3Bhbj5JRDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0i
cyI+ImNyZWF0b3IiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pKTwvc3Bhbj4gcmV0PHNwYW4gY2xh
c3M9ImsiPi48L3NwYW4+Y3JlYXRvciA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xh
c3M9ImsiPnRydWU8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBj
bGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj40NzM8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NjU8
L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmVs
c2U8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3Nw
YW4+Y29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPklEPHNwYW4gY2xhc3M9ImsiPiw8L3Nw
YW4+IDxzcGFuIGNsYXNzPSJzIj4iZGVsZXRlciI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPikpPC9z
cGFuPiByZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5kZWxldGVyIDxzcGFuIGNsYXNzPSJrIj49
PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+dHJ1ZTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bh
bj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjQ3NDwvdGQ+PHRk
IGNsYXNzPSJoaXRzIj42MjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8
c3BhbiBjbGFzcz0iayI+ZWxzZTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3Bh
biBjbGFzcz0iayI+KDwvc3Bhbj5jb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+SUQ8c3Bh
biBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJsZWdhY3ljYWxsZXIiPC9zcGFu
PjxzcGFuIGNsYXNzPSJrIj4pKTwvc3Bhbj4gcmV0PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+bGVn
YWN5Y2FsbGVyIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+dHJ1ZTwv
c3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8
dGQgY2xhc3M9ImxpbmUiPjQ3NTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj42MDwvdGQ+PHRkIGNsYXNz
PSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+ZWxzZTwvc3Bhbj4gPHNw
YW4gY2xhc3M9ImsiPmJyZWFrPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90
cj48dHI+PHRkIGNsYXNzPSJsaW5lIj40NzY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQg
Y2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PC90ZD48
L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj40Nzc8L3RkPjx0ZCBjbGFzcz0i
aGl0cyI+NjA8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0i
ayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPnJldDxzcGFuIGNsYXNzPSJrIj4u
PC9zcGFuPmdldHRlciA8c3BhbiBjbGFzcz0iayI+fHw8L3NwYW4+IHJldDxzcGFuIGNsYXNzPSJr
Ij4uPC9zcGFuPnNldHRlciA8c3BhbiBjbGFzcz0iayI+fHw8L3NwYW4+IHJldDxzcGFuIGNsYXNz
PSJrIj4uPC9zcGFuPmNyZWF0b3IgPHNwYW4gY2xhc3M9ImsiPnx8PC9zcGFuPiByZXQ8c3BhbiBj
bGFzcz0iayI+Ljwvc3Bhbj5kZWxldGVyIDxzcGFuIGNsYXNzPSJrIj58fDwvc3Bhbj4gcmV0PHNw
YW4gY2xhc3M9ImsiPi48L3NwYW4+bGVnYWN5Y2FsbGVyPHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+
IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBj
bGFzcz0ibGluZSI+NDc4PC90ZD48dGQgY2xhc3M9ImhpdHMiPjE3PC90ZD48dGQgY2xhc3M9InNv
dXJjZSI+ICAgICAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90
ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj40Nzk8L3RkPjx0ZCBjbGFz
cz0iaGl0cyI+MTc8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgcmV0PHNw
YW4gY2xhc3M9ImsiPi48L3NwYW4+aWRsVHlwZSA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gcmV0
dXJuX3R5cGU8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9Imhp
dCI+IDx0ZCBjbGFzcz0ibGluZSI+NDgwPC90ZD48dGQgY2xhc3M9ImhpdHMiPjE3PC90ZD48dGQg
Y2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIG9wZXJhdGlvbl9yZXN0PHNwYW4gY2xhc3M9
ImsiPig8L3NwYW4+cmV0PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xh
c3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NDgxPC90ZD48dGQgY2xhc3M9ImhpdHMiPjE3PC90
ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5yZXR1
cm48L3NwYW4+IHJldDxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNs
YXNzPSJsaW5lIj40ODI8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJj
ZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFz
cz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj40ODM8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDM8L3Rk
Pjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+
IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPmNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5J
RDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+InN0YXRpYyI8L3NwYW4+
PHNwYW4gY2xhc3M9ImsiPikpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwv
dHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjQ4NDwvdGQ+PHRkIGNsYXNzPSJo
aXRzIj4xPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIHJldDxzcGFuIGNs
YXNzPSJrIj5bPC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4ic3RhdGljIjwvc3Bhbj48c3BhbiBjbGFz
cz0iayI+XTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj50
cnVlPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9Imhp
dCI+IDx0ZCBjbGFzcz0ibGluZSI+NDg1PC90ZD48dGQgY2xhc3M9ImhpdHMiPjE8L3RkPjx0ZCBj
bGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgcmV0PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+
aWRsVHlwZSA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gcmV0dXJuX3R5cGU8c3BhbiBjbGFzcz0i
ayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+
NDg2PC90ZD48dGQgY2xhc3M9ImhpdHMiPjE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAg
ICAgICAgICAgb3BlcmF0aW9uX3Jlc3Q8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5yZXQ8c3BhbiBj
bGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJs
aW5lIj40ODc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAg
ICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+cmV0dXJuPC9zcGFuPiByZXQ8c3BhbiBjbGFz
cz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NDg4PC90ZD48dGQg
Y2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNs
YXNzPSJrIj59PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGlu
ZSI+NDg5PC90ZD48dGQgY2xhc3M9ImhpdHMiPjQyPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAg
ICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmVsc2U8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5pZjwv
c3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+Y29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9z
cGFuPklEPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4ic3RyaW5naWZp
ZXIiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3Nw
YW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj40OTA8L3RkPjx0
ZCBjbGFzcz0iaGl0cyI+MzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICBy
ZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5zdHJpbmdpZmllciA8c3BhbiBjbGFzcz0iayI+PTwv
c3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnRydWU8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+
PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj40OTE8L3RkPjx0ZCBj
bGFzcz0iaGl0cyI+MzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICBhbGxf
d3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0
ZCBjbGFzcz0ibGluZSI+NDkyPC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ8L3RkPjx0ZCBjbGFzcz0i
c291cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBj
bGFzcz0iayI+KDwvc3Bhbj5jb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+T1RIRVI8c3Bh
biBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiI7Ijwvc3Bhbj48c3BhbiBjbGFz
cz0iayI+KSk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5yZXR1cm48L3NwYW4+IHJldDxzcGFuIGNs
YXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGlu
ZSI+NDkzPC90ZD48dGQgY2xhc3M9ImhpdHMiPjI8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAg
ICAgICAgICAgICAgcmV0PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+aWRsVHlwZSA8c3BhbiBjbGFz
cz0iayI+PTwvc3Bhbj4gcmV0dXJuX3R5cGU8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+
PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NDk0PC90ZD48dGQgY2xhc3M9
ImhpdHMiPjI8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgb3BlcmF0aW9u
X3Jlc3Q8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5yZXQ8c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+
PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj40OTU8L3RkPjx0ZCBj
bGFzcz0iaGl0cyI+MjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3Bh
biBjbGFzcz0iayI+cmV0dXJuPC9zcGFuPiByZXQ8c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3Rk
PjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NDk2PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+
PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjwv
dGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NDk3PC90ZD48dGQgY2xh
c3M9ImhpdHMiPjM5PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgcmV0PHNwYW4g
Y2xhc3M9ImsiPi48L3NwYW4+aWRsVHlwZSA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gcmV0dXJu
X3R5cGU8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+
IDx0ZCBjbGFzcz0ibGluZSI+NDk4PC90ZD48dGQgY2xhc3M9ImhpdHMiPjM5PC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+ICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48
L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjQ5OTwvdGQ+PHRkIGNs
YXNzPSJoaXRzIj4zOTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNs
YXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+Y29uc3VtZTxzcGFuIGNs
YXNzPSJrIj4oPC9zcGFuPklEPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJz
Ij4iaXRlcmF0b3IiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pKTwvc3Bhbj4gPHNwYW4gY2xhc3M9
ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj41
MDA8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAg
ICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xh
c3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NTAxPC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ8L3Rk
Pjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgcmV0PHNwYW4gY2xhc3M9ImsiPi48
L3NwYW4+dHlwZSA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJpdGVy
YXRvciI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0i
aGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj41MDI8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDwvdGQ+PHRk
IGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+
IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPmNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5J
RDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+Im9iamVjdCI8L3NwYW4+
PHNwYW4gY2xhc3M9ImsiPikpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwv
dHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjUwMzwvdGQ+PHRkIGNsYXNzPSJo
aXRzIj4xPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICByZXQ8c3Bh
biBjbGFzcz0iayI+Ljwvc3Bhbj5pdGVyYXRvck9iamVjdCA8c3BhbiBjbGFzcz0iayI+PTwvc3Bh
bj4gPHNwYW4gY2xhc3M9InMiPiJvYmplY3QiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFu
PjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj41MDQ8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+
PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj59
PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NTA1PC90
ZD48dGQgY2xhc3M9ImhpdHMiPjM8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAg
ICAgPHNwYW4gY2xhc3M9ImsiPmVsc2U8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4g
PHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+Y29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPk9U
SEVSPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iPSI8L3NwYW4+PHNw
YW4gY2xhc3M9ImsiPikpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+
PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjUwNjwvdGQ+PHRkIGNsYXNzPSJoaXRz
Ij4yPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICBhbGxfd3M8c3Bh
biBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFz
cz0ibGluZSI+NTA3PC90ZD48dGQgY2xhc3M9ImhpdHMiPjI8L3RkPjx0ZCBjbGFzcz0ic291cmNl
Ij4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IG5hbWUgPHNw
YW4gY2xhc3M9ImsiPj08L3NwYW4+IGNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5JRDxz
cGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+fHw8L3NwYW4+IGVycm9yPHNw
YW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9InMiPiJObyByaWdodCBoYW5kIHNpZGUg
aW4gaXRlcmF0b3IiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRy
IGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjUwODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4y
PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICByZXQ8c3BhbiBjbGFz
cz0iayI+Ljwvc3Bhbj5pdGVyYXRvck9iamVjdCA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gbmFt
ZTxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnZhbHVlPHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90
ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjUwOTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3Rk
Pjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3Nw
YW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj41MTA8L3RkPjx0
ZCBjbGFzcz0iaGl0cyI+NDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICBh
bGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+
IDx0ZCBjbGFzcz0ibGluZSI+NTExPC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ8L3RkPjx0ZCBjbGFz
cz0ic291cmNlIj4gICAgICAgICAgICAgICAgY29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFu
Pk9USEVSPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iOyI8L3NwYW4+
PHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj58fDwvc3Bhbj4gZXJyb3I8
c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0icyI+IlVudGVybWluYXRlZCBpdGVy
YXRvciI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9
ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NTEyPC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ8L3RkPjx0
ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnJldHVybjwv
c3Bhbj4gcmV0PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9
ImxpbmUiPjUxMzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4g
ICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFz
cz0ibGluZSI+NTE0PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2Ui
PiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5lbHNlPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+
ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjUxNTwv
dGQ+PHRkIGNsYXNzPSJoaXRzIj4zNTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAg
ICAgICBvcGVyYXRpb25fcmVzdDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPnJldDxzcGFuIGNsYXNz
PSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUi
PjUxNjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4zNTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAg
ICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+cmV0dXJuPC9zcGFuPiByZXQ8c3BhbiBjbGFzcz0i
ayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NTE3PC90ZD48dGQgY2xh
c3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNz
PSJrIj59PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj41MTg8L3RkPjx0ZCBj
bGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFzcz0i
ayI+fTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFz
cz0ibGluZSI+NTE5PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2Ui
PiAgICAgICAgPC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj41MjA8
L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDc8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxz
cGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IGlkZW50aWZpZXJzIDxzcGFuIGNsYXNzPSJrIj49PC9z
cGFuPiA8c3BhbiBjbGFzcz0iayI+ZnVuY3Rpb248L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9z
cGFuPmFycjxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48
L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjUyMTwvdGQ+PHRkIGNs
YXNzPSJoaXRzIj41PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xh
c3M9ImsiPndoaWxlPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0i
ayI+dHJ1ZTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8
L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj41MjI8L3Rk
Pjx0ZCBjbGFzcz0iaGl0cyI+MTE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAg
ICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJo
aXQiPiA8dGQgY2xhc3M9ImxpbmUiPjUyMzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xMTwvdGQ+PHRk
IGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+
IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPmNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5P
VEhFUjxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+IiwiPC9zcGFuPjxz
cGFuIGNsYXNzPSJrIj4pKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3Ry
Pjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj41MjQ8L3RkPjx0ZCBjbGFzcz0iaGl0
cyI+NjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAgYWxsX3dzPHNw
YW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xh
c3M9ImxpbmUiPjUyNTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj42PC90ZD48dGQgY2xhc3M9InNvdXJj
ZSI+ICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiBuYW1lIDxz
cGFuIGNsYXNzPSJrIj49PC9zcGFuPiBjb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+SUQ8
c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnx8PC9zcGFuPiBlcnJvcjxz
cGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4iVHJhaWxpbmcgY29tbWEgaW4g
aWRlbnRpZmllcnMgbGlzdCI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90
cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NTI2PC90ZD48dGQgY2xhc3M9Imhp
dHMiPjY8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAgIGFycjxzcGFu
IGNsYXNzPSJrIj4uPC9zcGFuPnB1c2g8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5uYW1lPHNwYW4g
Y2xhc3M9ImsiPi48L3NwYW4+dmFsdWU8c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3Ry
Pjx0cj48dGQgY2xhc3M9ImxpbmUiPjUyNzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBj
bGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PC90
ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj41Mjg8L3RkPjx0ZCBjbGFz
cz0iaGl0cyI+NTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBj
bGFzcz0iayI+ZWxzZTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPmJyZWFrPC9zcGFuPjxzcGFuIGNs
YXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj41Mjk8L3RkPjx0
ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4g
Y2xhc3M9ImsiPn08L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjUzMDwvdGQ+
PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxzcGFuIGNs
YXNzPSJrIj59PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRk
IGNsYXNzPSJsaW5lIj41MzE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNv
dXJjZSI+ICAgICAgICA8L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUi
PjUzMjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40NzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAg
ICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gc2VyaWFsaXNlciA8c3BhbiBjbGFzcz0iayI+
PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPmZ1bmN0aW9uPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+
KCk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9Imhp
dCI+IDx0ZCBjbGFzcz0ibGluZSI+NTMzPC90ZD48dGQgY2xhc3M9ImhpdHMiPjE2NDwvdGQ+PHRk
IGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3Nw
YW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj41MzQ8L3RkPjx0
ZCBjbGFzcz0iaGl0cyI+MzE4PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNw
YW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KCE8L3NwYW4+Y29uc3VtZTxz
cGFuIGNsYXNzPSJrIj4oPC9zcGFuPklEPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNs
YXNzPSJzIj4ic2VyaWFsaXplciI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPikpPC9zcGFuPiA8c3Bh
biBjbGFzcz0iayI+cmV0dXJuPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90
cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NTM1PC90ZD48dGQgY2xhc3M9Imhp
dHMiPjEwPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9Imsi
PnZhcjwvc3Bhbj4gcmV0IDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+
ezwvc3Bhbj4gdHlwZTxzcGFuIGNsYXNzPSJrIj46PC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+InNl
cmlhbGl6ZXIiPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+
Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjUzNjwv
dGQ+PHRkIGNsYXNzPSJoaXRzIj4xMDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAg
IGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0
Ij4gPHRkIGNsYXNzPSJsaW5lIj41Mzc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTA8L3RkPjx0ZCBj
bGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFu
IGNsYXNzPSJrIj4oPC9zcGFuPmNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5PVEhFUjxz
cGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+Ij0iPC9zcGFuPjxzcGFuIGNs
YXNzPSJrIj4pKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBj
bGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj41Mzg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+ODwv
dGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0i
ayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+
NTM5PC90ZD48dGQgY2xhc3M9ImhpdHMiPjg8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAg
ICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bh
bj5jb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+T1RIRVI8c3BhbiBjbGFzcz0iayI+LDwv
c3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJ7Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KSk8L3NwYW4+
IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBj
bGFzcz0ibGluZSI+NTQwPC90ZD48dGQgY2xhc3M9ImhpdHMiPjU8L3RkPjx0ZCBjbGFzcz0ic291
cmNlIj4gICAgICAgICAgICAgICAgICAgIHJldDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnBhdHRl
cm5NYXAgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj50cnVlPC9zcGFu
PjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBj
bGFzcz0ibGluZSI+NTQxPC90ZD48dGQgY2xhc3M9ImhpdHMiPjU8L3RkPjx0ZCBjbGFzcz0ic291
cmNlIj4gICAgICAgICAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+
PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj41NDI8L3RkPjx0ZCBj
bGFzcz0iaGl0cyI+NTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAg
PHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gaWQgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IGNv
bnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5JRDxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48
L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjU0MzwvdGQ+PHRkIGNs
YXNzPSJoaXRzIj41PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICA8
c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPmlkIDxzcGFu
IGNsYXNzPSJrIj4mYW1wOyZhbXA7PC9zcGFuPiBpZDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnZh
bHVlIDxzcGFuIGNsYXNzPSJrIj49PT08L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iZ2V0dGVyIjwv
c3Bhbj48c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90
ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj41NDQ8L3RkPjx0ZCBjbGFz
cz0iaGl0cyI+MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAgICAg
IHJldDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPm5hbWVzIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFu
PiA8c3BhbiBjbGFzcz0iayI+Wzwvc3Bhbj48c3BhbiBjbGFzcz0icyI+ImdldHRlciI8L3NwYW4+
PHNwYW4gY2xhc3M9ImsiPl07PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj41
NDU8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAg
ICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJo
aXQiPiA8dGQgY2xhc3M9ImxpbmUiPjU0NjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40PC90ZD48dGQg
Y2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+ZWxzZTwv
c3Bhbj4gPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5p
ZCA8c3BhbiBjbGFzcz0iayI+JmFtcDsmYW1wOzwvc3Bhbj4gaWQ8c3BhbiBjbGFzcz0iayI+Ljwv
c3Bhbj52YWx1ZSA8c3BhbiBjbGFzcz0iayI+PT09PC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+Imlu
aGVyaXQiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwv
c3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjU0NzwvdGQ+
PHRkIGNsYXNzPSJoaXRzIj4yPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAg
ICAgICAgICAgcmV0PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+bmFtZXMgPHNwYW4gY2xhc3M9Imsi
Pj08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5bPC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4iaW5oZXJp
dCI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPl07PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9Imhp
dCI+IDx0ZCBjbGFzcz0ibGluZSI+NTQ4PC90ZD48dGQgY2xhc3M9ImhpdHMiPjI8L3RkPjx0ZCBj
bGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAgICAgICBpZGVudGlmaWVyczxzcGFuIGNs
YXNzPSJrIj4oPC9zcGFuPnJldDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPm5hbWVzPHNwYW4gY2xh
c3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj41NDk8L3RkPjx0
ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAg
ICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQg
Y2xhc3M9ImxpbmUiPjU1MDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yPC90ZD48dGQgY2xhc3M9InNv
dXJjZSI+ICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+ZWxzZTwvc3Bhbj4gPHNw
YW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5pZDxzcGFuIGNs
YXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNs
YXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjU1MTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4yPC90
ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICAgICAgcmV0PHNwYW4gY2xh
c3M9ImsiPi48L3NwYW4+bmFtZXMgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNz
PSJrIj5bPC9zcGFuPmlkPHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+dmFsdWU8c3BhbiBjbGFzcz0i
ayI+XTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj41
NTI8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAg
ICAgICAgICAgICAgICAgIGlkZW50aWZpZXJzPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+cmV0PHNw
YW4gY2xhc3M9ImsiPi48L3NwYW4+bmFtZXM8c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48
L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjU1MzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0
ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9z
cGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj41NTQ8L3RkPjx0ZCBjbGFzcz0iaGl0
cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFz
cz0iayI+ZWxzZTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBj
bGFzcz0ibWlzcyI+IDx0ZCBjbGFzcz0ibGluZSI+NTU1PC90ZD48dGQgY2xhc3M9ImhpdHMiPjA8
L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAgICAgICByZXQ8c3BhbiBj
bGFzcz0iayI+Ljwvc3Bhbj5uYW1lcyA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xh
c3M9ImsiPltdOzwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NTU2PC90ZD48
dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAg
ICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRk
IGNsYXNzPSJsaW5lIj41NTc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NTwvdGQ+PHRkIGNsYXNzPSJz
b3VyY2UiPiAgICAgICAgICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bh
bj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjU1ODwvdGQ+PHRk
IGNsYXNzPSJoaXRzIj41PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAg
ICBjb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+T1RIRVI8c3BhbiBjbGFzcz0iayI+LDwv
c3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJ9Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4g
PHNwYW4gY2xhc3M9ImsiPnx8PC9zcGFuPiBlcnJvcjxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxz
cGFuIGNsYXNzPSJzIj4iVW50ZXJtaW5hdGVkIHNlcmlhbGl6ZXIgcGF0dGVybiBtYXAiPC9zcGFu
PjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+
NTU5PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAg
ICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQi
PiA8dGQgY2xhc3M9ImxpbmUiPjU2MDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4zPC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5lbHNlPC9zcGFuPiA8
c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPmNvbnN1bWU8
c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5PVEhFUjxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3Bh
biBjbGFzcz0icyI+IlsiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pKTwvc3Bhbj4gPHNwYW4gY2xh
c3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5l
Ij41NjE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAg
ICAgICAgICAgICAgICAgcmV0PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+cGF0dGVybkxpc3QgPHNw
YW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj50cnVlPC9zcGFuPjxzcGFuIGNs
YXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGlu
ZSI+NTYyPC90ZD48dGQgY2xhc3M9ImhpdHMiPjI8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAg
ICAgICAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3Ry
Pjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj41NjM8L3RkPjx0ZCBjbGFzcz0iaGl0
cyI+MjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xh
c3M9ImsiPnZhcjwvc3Bhbj4gaWQgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IGNvbnN1bWU8c3Bh
biBjbGFzcz0iayI+KDwvc3Bhbj5JRDxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+
PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjU2NDwvdGQ+PHRkIGNsYXNzPSJoaXRz
Ij4yPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFz
cz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPmlkIDxzcGFuIGNsYXNzPSJr
Ij4mYW1wOyZhbXA7PC9zcGFuPiBpZDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnZhbHVlIDxzcGFu
IGNsYXNzPSJrIj49PT08L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iZ2V0dGVyIjwvc3Bhbj48c3Bh
biBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0
ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj41NjU8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+
MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAgICAgIHJldDxzcGFu
IGNsYXNzPSJrIj4uPC9zcGFuPm5hbWVzIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBj
bGFzcz0iayI+Wzwvc3Bhbj48c3BhbiBjbGFzcz0icyI+ImdldHRlciI8L3NwYW4+PHNwYW4gY2xh
c3M9ImsiPl07PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj41NjY8L3RkPjx0
ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAg
ICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQg
Y2xhc3M9ImxpbmUiPjU2NzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xPC90ZD48dGQgY2xhc3M9InNv
dXJjZSI+ICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+ZWxzZTwvc3Bhbj4gPHNw
YW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5pZDxzcGFuIGNs
YXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNs
YXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjU2ODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xPC90
ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICAgICAgcmV0PHNwYW4gY2xh
c3M9ImsiPi48L3NwYW4+bmFtZXMgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNz
PSJrIj5bPC9zcGFuPmlkPHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+dmFsdWU8c3BhbiBjbGFzcz0i
ayI+XTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj41
Njk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAg
ICAgICAgICAgICAgICAgIGlkZW50aWZpZXJzPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+cmV0PHNw
YW4gY2xhc3M9ImsiPi48L3NwYW4+bmFtZXM8c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48
L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjU3MDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0
ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9z
cGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj41NzE8L3RkPjx0ZCBjbGFzcz0iaGl0
cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFz
cz0iayI+ZWxzZTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBj
bGFzcz0ibWlzcyI+IDx0ZCBjbGFzcz0ibGluZSI+NTcyPC90ZD48dGQgY2xhc3M9ImhpdHMiPjA8
L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAgICAgICByZXQ8c3BhbiBj
bGFzcz0iayI+Ljwvc3Bhbj5uYW1lcyA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xh
c3M9ImsiPltdOzwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NTczPC90ZD48
dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAg
ICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRk
IGNsYXNzPSJsaW5lIj41NzQ8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MjwvdGQ+PHRkIGNsYXNzPSJz
b3VyY2UiPiAgICAgICAgICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bh
bj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjU3NTwvdGQ+PHRk
IGNsYXNzPSJoaXRzIj4yPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAg
ICBjb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+T1RIRVI8c3BhbiBjbGFzcz0iayI+LDwv
c3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJdIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4g
PHNwYW4gY2xhc3M9ImsiPnx8PC9zcGFuPiBlcnJvcjxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxz
cGFuIGNsYXNzPSJzIj4iVW50ZXJtaW5hdGVkIHNlcmlhbGl6ZXIgcGF0dGVybiBsaXN0Ijwvc3Bh
bj48c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUi
PjU3NjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAg
ICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9
ImxpbmUiPjU3NzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4g
ICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmVsc2U8L3NwYW4+IDxzcGFuIGNsYXNzPSJr
Ij57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NTc4
PC90ZD48dGQgY2xhc3M9ImhpdHMiPjE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAg
ICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IG5hbWUgPHNwYW4gY2xhc3M9Imsi
Pj08L3NwYW4+IGNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5JRDxzcGFuIGNsYXNzPSJr
Ij4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+fHw8L3NwYW4+IGVycm9yPHNwYW4gY2xhc3M9Imsi
Pig8L3NwYW4+PHNwYW4gY2xhc3M9InMiPiJJbnZhbGlkIHNlcmlhbGl6ZXIiPC9zcGFuPjxzcGFu
IGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9
ImxpbmUiPjU3OTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+
ICAgICAgICAgICAgICAgICAgICByZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5uYW1lIDxzcGFu
IGNsYXNzPSJrIj49PC9zcGFuPiBuYW1lPHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+dmFsdWU8c3Bh
biBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NTgwPC90
ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAg
ICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQg
Y2xhc3M9ImxpbmUiPjU4MTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj44PC90ZD48dGQgY2xhc3M9InNv
dXJjZSI+ICAgICAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90
ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj41ODI8L3RkPjx0ZCBjbGFz
cz0iaGl0cyI+ODwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICBjb25zdW1l
PHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+T1RIRVI8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNw
YW4gY2xhc3M9InMiPiI7Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xh
c3M9ImsiPnx8PC9zcGFuPiBlcnJvcjxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNz
PSJzIj4iVW50ZXJtaW5hdGVkIHNlcmlhbGl6ZXIiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwv
c3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjU4MzwvdGQ+
PHRkIGNsYXNzPSJoaXRzIj44PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAg
IDxzcGFuIGNsYXNzPSJrIj5yZXR1cm48L3NwYW4+IHJldDxzcGFuIGNsYXNzPSJrIj47PC9zcGFu
PjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj41ODQ8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+
PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3Nw
YW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj41ODU8L3RkPjx0
ZCBjbGFzcz0iaGl0cyI+MjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFu
IGNsYXNzPSJrIj5lbHNlPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNs
YXNzPSJrIj4oPC9zcGFuPmNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5PVEhFUjxzcGFu
IGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+IjsiPC9zcGFuPjxzcGFuIGNsYXNz
PSJrIj4pKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQg
Y2xhc3M9ImxpbmUiPjU4NjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291
cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImMiPi8vIG5vb3AsIGp1c3QgcGFyc2lu
Zzwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NTg3PC90ZD48dGQgY2xhc3M9
ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJr
Ij59PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj41ODg8L3RkPjx0ZCBjbGFz
cz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9
ImsiPmVsc2U8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xh
c3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NTg5PC90ZD48dGQgY2xhc3M9ImhpdHMiPjE8L3Rk
Pjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgcmV0PHNwYW4gY2xhc3M9ImsiPi48
L3NwYW4+aWRsVHlwZSA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gcmV0dXJuX3R5cGU8c3BhbiBj
bGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0i
bGluZSI+NTkwPC90ZD48dGQgY2xhc3M9ImhpdHMiPjE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4g
ICAgICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+
PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjU5MTwvdGQ+PHRkIGNsYXNzPSJoaXRz
Ij4xPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIHJldDxzcGFuIGNsYXNz
PSJrIj4uPC9zcGFuPm9wZXJhdGlvbiA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gb3BlcmF0aW9u
X3Jlc3Q8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJs
aW5lIj41OTI8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAg
ICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0
Ij4gPHRkIGNsYXNzPSJsaW5lIj41OTM8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MjwvdGQ+PHRkIGNs
YXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5yZXR1cm48L3NwYW4+IHJl
dDxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj41
OTQ8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8
c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+
PHRyPjx0ZCBjbGFzcz0ibGluZSI+NTk1PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNs
YXNzPSJzb3VyY2UiPiAgICAgICAgPC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNz
PSJsaW5lIj41OTY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDc8L3RkPjx0ZCBjbGFzcz0ic291cmNl
Ij4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IGludGVyZmFjZV8gPHNwYW4gY2xh
c3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5mdW5jdGlvbjwvc3Bhbj4gPHNwYW4gY2xh
c3M9ImsiPig8L3NwYW4+aXNQYXJ0aWFsPHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNs
YXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGlu
ZSI+NTk3PC90ZD48dGQgY2xhc3M9ImhpdHMiPjE0NDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAg
ICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBj
bGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj41OTg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MjEw
PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9z
cGFuPiA8c3BhbiBjbGFzcz0iayI+KCE8L3NwYW4+Y29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9z
cGFuPklEPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iaW50ZXJmYWNl
Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KSk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5yZXR1cm48
L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4g
PHRkIGNsYXNzPSJsaW5lIj41OTk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+Nzg8L3RkPjx0ZCBjbGFz
cz0ic291cmNlIj4gICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwv
dGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NjAwPC90ZD48dGQgY2xh
c3M9ImhpdHMiPjc4PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xh
c3M9ImsiPnZhcjwvc3Bhbj4gbmFtZSA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gY29uc3VtZTxz
cGFuIGNsYXNzPSJrIj4oPC9zcGFuPklEPHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNs
YXNzPSJrIj58fDwvc3Bhbj4gZXJyb3I8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3BhbiBjbGFz
cz0icyI+Ik5vIG5hbWUgZm9yIGludGVyZmFjZSI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7PC9z
cGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NjAxPC90ZD48
dGQgY2xhc3M9ImhpdHMiPjc4PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNw
YW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gcmV0IDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3Bh
biBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NjAyPC90
ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAg
ICB0eXBlPHNwYW4gY2xhc3M9ImsiPjo8L3NwYW4+ICAgPHNwYW4gY2xhc3M9InMiPiJpbnRlcmZh
Y2UiPC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj42MDM8L3RkPjx0ZCBjbGFz
cz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9
ImsiPiw8L3NwYW4+ICAgbmFtZTxzcGFuIGNsYXNzPSJrIj46PC9zcGFuPiAgIG5hbWU8c3BhbiBj
bGFzcz0iayI+Ljwvc3Bhbj52YWx1ZTwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj42MDQ8
L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAg
PHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+ICAgcGFydGlhbDxzcGFuIGNsYXNzPSJrIj46PC9zcGFu
PiAgICA8c3BhbiBjbGFzcz0iayI+ZmFsc2U8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9
ImxpbmUiPjYwNTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4g
ICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gICBtZW1iZXJzPHNwYW4gY2xhc3M9
ImsiPjo8L3NwYW4+ICAgIDxzcGFuIGNsYXNzPSJrIj5bXTwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0
ZCBjbGFzcz0ibGluZSI+NjA2PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJz
b3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjxzcGFuIGNsYXNzPSJr
Ij47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NjA3
PC90ZD48dGQgY2xhc3M9ImhpdHMiPjE1NTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAg
ICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPighPC9zcGFuPmlz
UGFydGlhbDxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiByZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bh
bj5pbmhlcml0YW5jZSA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gaW5oZXJpdGFuY2U8c3BhbiBj
bGFzcz0iayI+KCk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj58fDwvc3Bhbj4gPHNwYW4gY2xhc3M9
ImsiPm51bGw8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFz
cz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj42MDg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+Nzg8L3Rk
Pjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7
PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NjA5PC90
ZD48dGQgY2xhc3M9ImhpdHMiPjc4PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAg
Y29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPk9USEVSPHNwYW4gY2xhc3M9ImsiPiw8L3Nw
YW4+IDxzcGFuIGNsYXNzPSJzIj4ieyI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxz
cGFuIGNsYXNzPSJrIj58fDwvc3Bhbj4gZXJyb3I8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3Bh
biBjbGFzcz0icyI+IkJvZHlsZXNzIGludGVyZmFjZSI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7
PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NjEwPC90
ZD48dGQgY2xhc3M9ImhpdHMiPjc4PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAg
PHNwYW4gY2xhc3M9ImsiPndoaWxlPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3Bh
biBjbGFzcz0iayI+dHJ1ZTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xh
c3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5l
Ij42MTE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MjUxPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAg
ICAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0
ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj42MTI8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+
MjUxPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJr
Ij5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+Y29uc3VtZTxzcGFuIGNsYXNzPSJr
Ij4oPC9zcGFuPk9USEVSPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4i
fSI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPikpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bh
bj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjYxMzwvdGQ+PHRk
IGNsYXNzPSJoaXRzIj43ODwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAg
ICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJo
aXQiPiA8dGQgY2xhc3M9ImxpbmUiPjYxNDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj43ODwvdGQ+PHRk
IGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAgY29uc3VtZTxzcGFuIGNsYXNzPSJr
Ij4oPC9zcGFuPk9USEVSPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4i
OyI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj58fDwvc3Bh
bj4gZXJyb3I8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0icyI+Ik1pc3Npbmcg
c2VtaWNvbG9uIGFmdGVyIGludGVyZmFjZSI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFu
PjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NjE1PC90ZD48dGQg
Y2xhc3M9ImhpdHMiPjc4PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAg
ICA8c3BhbiBjbGFzcz0iayI+cmV0dXJuPC9zcGFuPiByZXQ8c3BhbiBjbGFzcz0iayI+Ozwvc3Bh
bj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NjE2PC90ZD48dGQgY2xhc3M9ImhpdHMi
PjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+
fTwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjYxNzwv
dGQ+PHRkIGNsYXNzPSJoaXRzIj4xNzM8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAg
ICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gZWEgPHNwYW4gY2xhc3M9ImsiPj08L3Nw
YW4+IGV4dGVuZGVkX2F0dHJzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRy
IGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjYxODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4x
NzM8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xh
c3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9Imxp
bmUiPjYxOTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xNzM8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4g
ICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gY250IDxzcGFuIGNsYXNz
PSJrIj49PC9zcGFuPiBjb25zdF88c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48
dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NjIwPC90ZD48dGQgY2xhc3M9ImhpdHMi
PjE3MzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0i
ayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPmNudDxzcGFuIGNsYXNzPSJrIj4p
PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQi
PiA8dGQgY2xhc3M9ImxpbmUiPjYyMTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj45PC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICBjbnQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bh
bj5leHRBdHRycyA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gZWE8c3BhbiBjbGFzcz0iayI+Ozwv
c3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjYyMjwvdGQ+
PHRkIGNsYXNzPSJoaXRzIj45PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAg
ICAgICByZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5tZW1iZXJzPHNwYW4gY2xhc3M9ImsiPi48
L3NwYW4+cHVzaDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPmNudDxzcGFuIGNsYXNzPSJrIj4pOzwv
c3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjYyMzwvdGQ+
PHRkIGNsYXNzPSJoaXRzIj45PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAg
ICAgICA8c3BhbiBjbGFzcz0iayI+Y29udGludWU8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3Nw
YW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjYyNDwvdGQ+PHRkIGNsYXNzPSJoaXRz
Ij48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Imsi
Pn08L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj42MjU8
L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTY0PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAg
ICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IG1lbSA8c3BhbiBjbGFzcz0iayI+PTwv
c3Bhbj4gc2VyaWFsaXNlcjxzcGFuIGNsYXNzPSJrIj4oKTwvc3Bhbj4gPHNwYW4gY2xhc3M9Imsi
Pnx8PC9zcGFuPiBhdHRyaWJ1dGU8c3BhbiBjbGFzcz0iayI+KCk8L3NwYW4+IDxzcGFuIGNsYXNz
PSJrIj58fDwvc3Bhbj4gb3BlcmF0aW9uPHNwYW4gY2xhc3M9ImsiPigpPC9zcGFuPiA8c3BhbiBj
bGFzcz0iayI+fHw8L3NwYW4+IGVycm9yPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xh
c3M9InMiPiJVbmtub3duIG1lbWJlciI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwv
dGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NjI2PC90ZD48dGQgY2xh
c3M9ImhpdHMiPjE2NDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICBtZW08
c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5leHRBdHRycyA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4g
ZWE8c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQg
Y2xhc3M9ImxpbmUiPjYyNzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xNjQ8L3RkPjx0ZCBjbGFzcz0i
c291cmNlIj4gICAgICAgICAgICAgICAgcmV0PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+bWVtYmVy
czxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnB1c2g8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5tZW08
c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjYy
ODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAg
ICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+
NjI5PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAg
PHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3Ry
Pjx0cj48dGQgY2xhc3M9ImxpbmUiPjYzMDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBj
bGFzcz0ic291cmNlIj4gICAgICAgIDwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFz
cz0ibGluZSI+NjMxPC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ3PC90ZD48dGQgY2xhc3M9InNvdXJj
ZSI+ICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiBwYXJ0aWFsIDxzcGFuIGNsYXNz
PSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ZnVuY3Rpb248L3NwYW4+IDxzcGFuIGNsYXNz
PSJrIj4oKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFz
cz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj42MzI8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NjY8L3Rk
Pjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7
PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NjMzPC90
ZD48dGQgY2xhc3M9ImhpdHMiPjEzMDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAg
IDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPighPC9zcGFuPmNvbnN1
bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5JRDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3Bh
biBjbGFzcz0icyI+InBhcnRpYWwiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pKTwvc3Bhbj4gPHNw
YW4gY2xhc3M9ImsiPnJldHVybjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwv
dHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjYzNDwvdGQ+PHRkIGNsYXNzPSJo
aXRzIj4yPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9Imsi
PnZhcjwvc3Bhbj4gdGhpbmcgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IGRpY3Rpb25hcnk8c3Bh
biBjbGFzcz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0iayI+dHJ1ZTwvc3Bhbj48c3BhbiBjbGFz
cz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnx8PC9zcGFuPiBpbnRlcmZhY2VfPHNwYW4g
Y2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPnRydWU8L3NwYW4+PHNwYW4gY2xhc3M9
ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj58fDwvc3Bhbj4gZXJyb3I8c3BhbiBjbGFzcz0i
ayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0icyI+IlBhcnRpYWwgZG9lc24ndCBhcHBseSB0byBhbnl0
aGluZyI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9
ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NjM1PC90ZD48dGQgY2xhc3M9ImhpdHMiPjI8L3RkPjx0
ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICB0aGluZzxzcGFuIGNsYXNzPSJrIj4uPC9zcGFu
PnBhcnRpYWwgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj50cnVlPC9z
cGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0
ZCBjbGFzcz0ibGluZSI+NjM2PC90ZD48dGQgY2xhc3M9ImhpdHMiPjI8L3RkPjx0ZCBjbGFzcz0i
c291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+cmV0dXJuPC9zcGFuPiB0aGluZzxz
cGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj42Mzc8
L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8c3Bh
biBjbGFzcz0iayI+fTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRy
Pjx0ZCBjbGFzcz0ibGluZSI+NjM4PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNz
PSJzb3VyY2UiPiAgICAgICAgPC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJs
aW5lIj42Mzk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDc8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4g
ICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IGRpY3Rpb25hcnkgPHNwYW4gY2xhc3M9
ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5mdW5jdGlvbjwvc3Bhbj4gPHNwYW4gY2xhc3M9
ImsiPig8L3NwYW4+aXNQYXJ0aWFsPHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNz
PSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+
NjQwPC90ZD48dGQgY2xhc3M9ImhpdHMiPjY2PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAg
ICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNz
PSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjY0MTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xMjg8L3Rk
Pjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+
IDxzcGFuIGNsYXNzPSJrIj4oITwvc3Bhbj5jb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+
SUQ8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJkaWN0aW9uYXJ5Ijwv
c3Bhbj48c3BhbiBjbGFzcz0iayI+KSk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5yZXR1cm48L3Nw
YW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRk
IGNsYXNzPSJsaW5lIj42NDI8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDwvdGQ+PHRkIGNsYXNzPSJz
b3VyY2UiPiAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48
L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj42NDM8L3RkPjx0ZCBjbGFzcz0i
aGl0cyI+NDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJr
Ij52YXI8L3NwYW4+IG5hbWUgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IGNvbnN1bWU8c3BhbiBj
bGFzcz0iayI+KDwvc3Bhbj5JRDxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0i
ayI+fHw8L3NwYW4+IGVycm9yPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9InMi
PiJObyBuYW1lIGZvciBkaWN0aW9uYXJ5Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+
PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj42NDQ8L3RkPjx0ZCBj
bGFzcz0iaGl0cyI+NDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNs
YXNzPSJrIj52YXI8L3NwYW4+IHJldCA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xh
c3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjY0NTwvdGQ+PHRk
IGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgdHlw
ZTxzcGFuIGNsYXNzPSJrIj46PC9zcGFuPiAgIDxzcGFuIGNsYXNzPSJzIj4iZGljdGlvbmFyeSI8
L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjY0NjwvdGQ+PHRkIGNsYXNzPSJo
aXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+
LDwvc3Bhbj4gICBuYW1lPHNwYW4gY2xhc3M9ImsiPjo8L3NwYW4+ICAgbmFtZTxzcGFuIGNsYXNz
PSJrIj4uPC9zcGFuPnZhbHVlPC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjY0NzwvdGQ+
PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3Bh
biBjbGFzcz0iayI+LDwvc3Bhbj4gICBwYXJ0aWFsPHNwYW4gY2xhc3M9ImsiPjo8L3NwYW4+ICAg
IDxzcGFuIGNsYXNzPSJrIj5mYWxzZTwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGlu
ZSI+NjQ4PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAg
ICAgICAgIDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiAgIG1lbWJlcnM8c3BhbiBjbGFzcz0iayI+
Ojwvc3Bhbj4gICAgPHNwYW4gY2xhc3M9ImsiPltdPC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNs
YXNzPSJsaW5lIj42NDk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJj
ZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8
L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj42NTA8L3Rk
Pjx0ZCBjbGFzcz0iaGl0cyI+NzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxz
cGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPighPC9zcGFuPmlzUGFydGlh
bDxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiByZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5pbmhl
cml0YW5jZSA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gaW5oZXJpdGFuY2U8c3BhbiBjbGFzcz0i
ayI+KCk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj58fDwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPm51
bGw8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0
Ij4gPHRkIGNsYXNzPSJsaW5lIj42NTE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDwvdGQ+PHRkIGNs
YXNzPSJzb3VyY2UiPiAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+
PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj42NTI8L3RkPjx0ZCBj
bGFzcz0iaGl0cyI+NDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIGNvbnN1bWU8
c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5PVEhFUjxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3Bh
biBjbGFzcz0icyI+InsiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFz
cz0iayI+fHw8L3NwYW4+IGVycm9yPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9
InMiPiJCb2R5bGVzcyBkaWN0aW9uYXJ5Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+
PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj42NTM8L3RkPjx0ZCBj
bGFzcz0iaGl0cyI+NDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNs
YXNzPSJrIj53aGlsZTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9
ImsiPnRydWU8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57
PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NjU0PC90
ZD48dGQgY2xhc3M9ImhpdHMiPjEzPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAg
ICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0i
aGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj42NTU8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTM8L3RkPjx0
ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFu
PiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5jb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+
T1RIRVI8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJ9Ijwvc3Bhbj48
c3BhbiBjbGFzcz0iayI+KSk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90
cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NjU2PC90ZD48dGQgY2xhc3M9Imhp
dHMiPjQ8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAgIGFsbF93czxz
cGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNs
YXNzPSJsaW5lIj42NTc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDwvdGQ+PHRkIGNsYXNzPSJzb3Vy
Y2UiPiAgICAgICAgICAgICAgICAgICAgY29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPk9U
SEVSPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iOyI8L3NwYW4+PHNw
YW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj58fDwvc3Bhbj4gZXJyb3I8c3Bh
biBjbGFzcz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0icyI+Ik1pc3Npbmcgc2VtaWNvbG9uIGFm
dGVyIGRpY3Rpb25hcnkiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+
PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjY1ODwvdGQ+PHRkIGNsYXNzPSJoaXRz
Ij40PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFz
cz0iayI+cmV0dXJuPC9zcGFuPiByZXQ8c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+
PHRyPjx0ZCBjbGFzcz0ibGluZSI+NjU5PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNs
YXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48L3Rk
PjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjY2MDwvdGQ+PHRkIGNsYXNz
PSJoaXRzIj45PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNs
YXNzPSJrIj52YXI8L3NwYW4+IGVhIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiBleHRlbmRlZF9h
dHRyczxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4g
PHRkIGNsYXNzPSJsaW5lIj42NjE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+OTwvdGQ+PHRkIGNsYXNz
PSJzb3VyY2UiPiAgICAgICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFu
PjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NjYyPC90ZD48dGQg
Y2xhc3M9ImhpdHMiPjk8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgPHNw
YW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gdHlwIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiB0eXBl
PHNwYW4gY2xhc3M9ImsiPigpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+fHw8L3NwYW4+IGVycm9y
PHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9InMiPiJObyB0eXBlIGZvciBkaWN0
aW9uYXJ5IG1lbWJlciI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48
dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NjYzPC90ZD48dGQgY2xhc3M9ImhpdHMi
Pjk8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xh
c3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9Imxp
bmUiPjY2NDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj45PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAg
ICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IG5hbWUgPHNwYW4gY2xhc3M9
ImsiPj08L3NwYW4+IGNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5JRDxzcGFuIGNsYXNz
PSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+fHw8L3NwYW4+IGVycm9yPHNwYW4gY2xhc3M9
ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9InMiPiJObyBuYW1lIGZvciBkaWN0aW9uYXJ5IG1lbWJl
ciI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9Imhp
dCI+IDx0ZCBjbGFzcz0ibGluZSI+NjY1PC90ZD48dGQgY2xhc3M9ImhpdHMiPjk8L3RkPjx0ZCBj
bGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgcmV0PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+
bWVtYmVyczxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnB1c2g8c3BhbiBjbGFzcz0iayI+KDwvc3Bh
bj48c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+
NjY2PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAg
ICAgICAgICAgICAgdHlwZTxzcGFuIGNsYXNzPSJrIj46PC9zcGFuPiAgICAgICA8c3BhbiBjbGFz
cz0icyI+ImZpZWxkIjwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NjY3PC90
ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAg
ICA8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gICBuYW1lPHNwYW4gY2xhc3M9ImsiPjo8L3NwYW4+
ICAgICAgIG5hbWU8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj52YWx1ZTwvdGQ+PC90cj48dHI+PHRk
IGNsYXNzPSJsaW5lIj42Njg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNv
dXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiAgIGlkbFR5cGU8
c3BhbiBjbGFzcz0iayI+Ojwvc3Bhbj4gICAgdHlwPC90ZD48L3RyPjx0cj48dGQgY2xhc3M9Imxp
bmUiPjY2OTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAg
ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+ICAgZXh0QXR0cnM8c3BhbiBjbGFz
cz0iayI+Ojwvc3Bhbj4gICBlYTwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj42NzA8L3Rk
Pjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAg
IDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiAgIDxzcGFuIGNsYXNzPSJzIj4iZGVmYXVsdCI8L3Nw
YW4+PHNwYW4gY2xhc3M9ImsiPjo8L3NwYW4+ICBkZWZhdWx0XzxzcGFuIGNsYXNzPSJrIj4oKTwv
c3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NjcxPC90ZD48dGQgY2xhc3M9Imhp
dHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0i
ayI+fTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0i
aGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj42NzI8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+OTwvdGQ+PHRk
IGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7
PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NjczPC90
ZD48dGQgY2xhc3M9ImhpdHMiPjk8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAg
ICAgY29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPk9USEVSPHNwYW4gY2xhc3M9ImsiPiw8
L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iOyI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+
IDxzcGFuIGNsYXNzPSJrIj58fDwvc3Bhbj4gZXJyb3I8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48
c3BhbiBjbGFzcz0icyI+IlVudGVybWluYXRlZCBkaWN0aW9uYXJ5IG1lbWJlciI8L3NwYW4+PHNw
YW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj42NzQ8
L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAg
PHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjY3
NTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxz
cGFuIGNsYXNzPSJrIj59PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48
dHI+PHRkIGNsYXNzPSJsaW5lIj42NzY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+ICAgICAgICA8L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9
ImxpbmUiPjY3NzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40NzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2Ui
PiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gZXhjZXB0aW9uIDxzcGFuIGNsYXNz
PSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ZnVuY3Rpb248L3NwYW4+IDxzcGFuIGNsYXNz
PSJrIj4oKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFz
cz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj42Nzg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NjE8L3Rk
Pjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7
PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+Njc5PC90
ZD48dGQgY2xhc3M9ImhpdHMiPjExMzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAg
IDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPighPC9zcGFuPmNvbnN1
bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5JRDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3Bh
biBjbGFzcz0icyI+ImV4Y2VwdGlvbiI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPikpPC9zcGFuPiA8
c3BhbiBjbGFzcz0iayI+cmV0dXJuPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+
PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NjgwPC90ZD48dGQgY2xhc3M9
ImhpdHMiPjk8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICBhbGxfd3M8c3BhbiBj
bGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0i
bGluZSI+NjgxPC90ZD48dGQgY2xhc3M9ImhpdHMiPjk8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4g
ICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiBuYW1lIDxzcGFuIGNsYXNzPSJr
Ij49PC9zcGFuPiBjb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+SUQ8c3BhbiBjbGFzcz0i
ayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnx8PC9zcGFuPiBlcnJvcjxzcGFuIGNsYXNzPSJr
Ij4oPC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4iTm8gbmFtZSBmb3IgZXhjZXB0aW9uIjwvc3Bhbj48
c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNs
YXNzPSJsaW5lIj42ODI8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+OTwvdGQ+PHRkIGNsYXNzPSJzb3Vy
Y2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IHJldCA8c3BhbiBjbGFz
cz0iayI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQg
Y2xhc3M9ImxpbmUiPjY4MzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291
cmNlIj4gICAgICAgICAgICAgICAgdHlwZTxzcGFuIGNsYXNzPSJrIj46PC9zcGFuPiAgIDxzcGFu
IGNsYXNzPSJzIj4iZXhjZXB0aW9uIjwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGlu
ZSI+Njg0PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAg
ICAgICAgIDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiAgIG5hbWU8c3BhbiBjbGFzcz0iayI+Ojwv
c3Bhbj4gICBuYW1lPHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+dmFsdWU8L3RkPjwvdHI+PHRyPjx0
ZCBjbGFzcz0ibGluZSI+Njg1PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJz
b3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiAgIG1lbWJlcnM8c3Bh
biBjbGFzcz0iayI+Ojwvc3Bhbj4gICAgPHNwYW4gY2xhc3M9ImsiPltdPC9zcGFuPjwvdGQ+PC90
cj48dHI+PHRkIGNsYXNzPSJsaW5lIj42ODY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQg
Y2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PHNwYW4g
Y2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJs
aW5lIj42ODc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+OTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAg
ICAgICAgICAgIHJldDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPmluaGVyaXRhbmNlIDxzcGFuIGNs
YXNzPSJrIj49PC9zcGFuPiBpbmhlcml0YW5jZTxzcGFuIGNsYXNzPSJrIj4oKTwvc3Bhbj4gPHNw
YW4gY2xhc3M9ImsiPnx8PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+bnVsbDwvc3Bhbj48c3BhbiBj
bGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9Imxp
bmUiPjY4ODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj45PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAg
ICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNs
YXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjY4OTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj45PC90
ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgY29uc3VtZTxzcGFuIGNsYXNzPSJrIj4o
PC9zcGFuPk9USEVSPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4ieyI8
L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj58fDwvc3Bhbj4g
ZXJyb3I8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0icyI+IkJvZHlsZXNzIGV4
Y2VwdGlvbiI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xh
c3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NjkwPC90ZD48dGQgY2xhc3M9ImhpdHMiPjk8L3Rk
Pjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+d2hpbGU8L3Nw
YW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj50cnVlPC9zcGFuPjxz
cGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+
PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjY5MTwvdGQ+PHRkIGNsYXNzPSJoaXRz
Ij4xNjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICBhbGxfd3M8c3BhbiBj
bGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0i
bGluZSI+NjkyPC90ZD48dGQgY2xhc3M9ImhpdHMiPjE2PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+
ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9Imsi
Pig8L3NwYW4+Y29uc3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPk9USEVSPHNwYW4gY2xhc3M9
ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4ifSI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPikp
PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQi
PiA8dGQgY2xhc3M9ImxpbmUiPjY5MzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj45PC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7
PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+Njk0PC90
ZD48dGQgY2xhc3M9ImhpdHMiPjk8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAg
ICAgICAgIGNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5PVEhFUjxzcGFuIGNsYXNzPSJr
Ij4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+IjsiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pPC9z
cGFuPiA8c3BhbiBjbGFzcz0iayI+fHw8L3NwYW4+IGVycm9yPHNwYW4gY2xhc3M9ImsiPig8L3Nw
YW4+PHNwYW4gY2xhc3M9InMiPiJNaXNzaW5nIHNlbWljb2xvbiBhZnRlciBleGNlcHRpb24iPC9z
cGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8
dGQgY2xhc3M9ImxpbmUiPjY5NTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj45PC90ZD48dGQgY2xhc3M9
InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+cmV0dXJuPC9zcGFu
PiByZXQ8c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGlu
ZSI+Njk2PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAg
ICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJo
aXQiPiA8dGQgY2xhc3M9ImxpbmUiPjY5NzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj43PC90ZD48dGQg
Y2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+
IGVhIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiBleHRlbmRlZF9hdHRyczxzcGFuIGNsYXNzPSJr
Ij4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj42
OTg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAg
ICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xh
c3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+Njk5PC90ZD48dGQgY2xhc3M9ImhpdHMiPjc8L3Rk
Pjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwv
c3Bhbj4gY250IDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiBjb25zdF88c3BhbiBjbGFzcz0iayI+
KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NzAw
PC90ZD48dGQgY2xhc3M9ImhpdHMiPjc8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAg
ICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5j
bnQ8c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48
L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj43MDE8L3RkPjx0ZCBjbGFzcz0i
aGl0cyI+MzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAgY250PHNw
YW4gY2xhc3M9ImsiPi48L3NwYW4+ZXh0QXR0cnMgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IGVh
PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNs
YXNzPSJsaW5lIj43MDI8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MzwvdGQ+PHRkIGNsYXNzPSJzb3Vy
Y2UiPiAgICAgICAgICAgICAgICAgICAgcmV0PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+bWVtYmVy
czxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnB1c2g8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5jbnQ8
c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjcw
MzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAg
ICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9Imxp
bmUiPjcwNDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAg
ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmVsc2U8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57
PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NzA1PC90
ZD48dGQgY2xhc3M9ImhpdHMiPjQ8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAg
ICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IHR5cCA8c3BhbiBjbGFzcz0iayI+PTwv
c3Bhbj4gdHlwZTxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0i
aGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj43MDY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDwvdGQ+PHRk
IGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9Imsi
PigpOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjcw
NzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAg
ICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiBuYW1lIDxzcGFuIGNsYXNzPSJr
Ij49PC9zcGFuPiBjb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+SUQ8c3BhbiBjbGFzcz0i
ayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj43
MDg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAg
ICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48L3RkPjwvdHI+PHRy
IGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjcwOTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40
PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0i
ayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oITwvc3Bhbj50eXAgPHNwYW4gY2xhc3M9Imsi
Pnx8PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ITwvc3Bhbj5uYW1lIDxzcGFuIGNsYXNzPSJrIj58
fDwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPiE8L3NwYW4+Y29uc3VtZTxzcGFuIGNsYXNzPSJrIj4o
PC9zcGFuPk9USEVSPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4iOyI8
L3NwYW4+PHNwYW4gY2xhc3M9ImsiPikpPC9zcGFuPiBlcnJvcjxzcGFuIGNsYXNzPSJrIj4oPC9z
cGFuPjxzcGFuIGNsYXNzPSJzIj4iVW5rbm93biBtZW1iZXIgaW4gZXhjZXB0aW9uIGJvZHkiPC9z
cGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8
dGQgY2xhc3M9ImxpbmUiPjcxMDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40PC90ZD48dGQgY2xhc3M9
InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICByZXQ8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5t
ZW1iZXJzPHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+cHVzaDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFu
PjxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj43
MTE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAg
ICAgICAgICAgICAgICAgdHlwZTxzcGFuIGNsYXNzPSJrIj46PC9zcGFuPiAgICAgICA8c3BhbiBj
bGFzcz0icyI+ImZpZWxkIjwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NzEy
PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAg
ICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+ICAgbmFtZTxzcGFuIGNsYXNzPSJrIj46
PC9zcGFuPiAgICAgICBuYW1lPHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+dmFsdWU8L3RkPjwvdHI+
PHRyPjx0ZCBjbGFzcz0ibGluZSI+NzEzPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNs
YXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+
ICAgaWRsVHlwZTxzcGFuIGNsYXNzPSJrIj46PC9zcGFuPiAgICB0eXA8L3RkPjwvdHI+PHRyPjx0
ZCBjbGFzcz0ibGluZSI+NzE0PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJz
b3VyY2UiPiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+ICAgZXh0
QXR0cnM8c3BhbiBjbGFzcz0iayI+Ojwvc3Bhbj4gICBlYTwvdGQ+PC90cj48dHI+PHRkIGNsYXNz
PSJsaW5lIj43MTU8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+
ICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48c3BhbiBjbGFzcz0i
ayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjcxNjwvdGQ+PHRkIGNs
YXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4g
Y2xhc3M9ImsiPn08L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjcxNzwvdGQ+
PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3Bh
biBjbGFzcz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NzE4PC90
ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4g
Y2xhc3M9ImsiPn08L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48
dGQgY2xhc3M9ImxpbmUiPjcxOTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0i
c291cmNlIj4gICAgICAgIDwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGlu
ZSI+NzIwPC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ3PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAg
ICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiBlbnVtXyA8c3BhbiBjbGFzcz0iayI+PTwv
c3Bhbj4gPHNwYW4gY2xhc3M9ImsiPmZ1bmN0aW9uPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KCk8
L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+
IDx0ZCBjbGFzcz0ibGluZSI+NzIxPC90ZD48dGQgY2xhc3M9ImhpdHMiPjUyPC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+ICAgICAgICAgICAgYWxsX3dzPHNwYW4gY2xhc3M9ImsiPigpOzwvc3Bhbj48
L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjcyMjwvdGQ+PHRkIGNs
YXNzPSJoaXRzIj4xMDM8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBj
bGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oITwvc3Bhbj5jb25zdW1lPHNwYW4g
Y2xhc3M9ImsiPig8L3NwYW4+SUQ8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9
InMiPiJlbnVtIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KSk8L3NwYW4+IDxzcGFuIGNsYXNzPSJr
Ij5yZXR1cm48L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFz
cz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj43MjM8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTwvdGQ+
PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8
L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj43MjQ8L3Rk
Pjx0ZCBjbGFzcz0iaGl0cyI+MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxz
cGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IG5hbWUgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IGNv
bnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5JRDxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8
c3BhbiBjbGFzcz0iayI+fHw8L3NwYW4+IGVycm9yPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNw
YW4gY2xhc3M9InMiPiJObyBuYW1lIGZvciBlbnVtIjwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTs8
L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj43MjU8L3Rk
Pjx0ZCBjbGFzcz0iaGl0cyI+MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxz
cGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IHJldCA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNw
YW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjcyNjwv
dGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAg
ICAgdHlwZTxzcGFuIGNsYXNzPSJrIj46PC9zcGFuPiAgIDxzcGFuIGNsYXNzPSJzIj4iZW51bSI8
L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjcyNzwvdGQ+PHRkIGNsYXNzPSJo
aXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+
LDwvc3Bhbj4gICBuYW1lPHNwYW4gY2xhc3M9ImsiPjo8L3NwYW4+ICAgbmFtZTxzcGFuIGNsYXNz
PSJrIj4uPC9zcGFuPnZhbHVlPC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjcyODwvdGQ+
PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3Bh
biBjbGFzcz0iayI+LDwvc3Bhbj4gICB2YWx1ZXM8c3BhbiBjbGFzcz0iayI+Ojwvc3Bhbj4gPHNw
YW4gY2xhc3M9ImsiPltdPC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj43Mjk8
L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAg
PHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3Ry
Pjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj43MzA8L3RkPjx0ZCBjbGFzcz0iaGl0
cyI+MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNz
PSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5l
Ij43MzE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAg
ICAgICAgIGNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5PVEhFUjxzcGFuIGNsYXNzPSJr
Ij4sPC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+InsiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pPC9z
cGFuPiA8c3BhbiBjbGFzcz0iayI+fHw8L3NwYW4+IGVycm9yPHNwYW4gY2xhc3M9ImsiPig8L3Nw
YW4+PHNwYW4gY2xhc3M9InMiPiJObyBjdXJseSBmb3IgZW51bSI8L3NwYW4+PHNwYW4gY2xhc3M9
ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+
NzMyPC90ZD48dGQgY2xhc3M9ImhpdHMiPjE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAg
ICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiBzYXdfY29tbWEgPHNwYW4gY2xhc3M9Imsi
Pj08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5mYWxzZTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwv
c3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjczMzwvdGQ+
PHRkIGNsYXNzPSJoaXRzIj4xPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNw
YW4gY2xhc3M9ImsiPndoaWxlPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3BhbiBj
bGFzcz0iayI+dHJ1ZTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9
ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj43
MzQ8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAg
ICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xh
c3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NzM1PC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ8L3Rk
Pjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9z
cGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5jb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3Nw
YW4+T1RIRVI8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiJ9Ijwvc3Bh
bj48c3BhbiBjbGFzcz0iayI+KSk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+
PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NzM2PC90ZD48dGQgY2xhc3M9
ImhpdHMiPjE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAgIGFsbF93
czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRk
IGNsYXNzPSJsaW5lIj43Mzc8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTwvdGQ+PHRkIGNsYXNzPSJz
b3VyY2UiPiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3Bh
biBjbGFzcz0iayI+KDwvc3Bhbj5zYXdfY29tbWE8c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gZXJy
b3I8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0icyI+IlRyYWlsaW5nIGNvbW1h
IGluIGVudW0iPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNs
YXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjczODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xPC90
ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICBjb25zdW1lPHNwYW4gY2xh
c3M9ImsiPig8L3NwYW4+T1RIRVI8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9
InMiPiI7Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnx8
PC9zcGFuPiBlcnJvcjxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4iTm8g
c2VtaWNvbG9uIGFmdGVyIGVudW0iPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3Rk
PjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjczOTwvdGQ+PHRkIGNsYXNz
PSJoaXRzIj4xPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICA8c3Bh
biBjbGFzcz0iayI+cmV0dXJuPC9zcGFuPiByZXQ8c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3Rk
PjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NzQwPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+
PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bh
bj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjc0MTwvdGQ+PHRk
IGNsYXNzPSJoaXRzIj4zPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxz
cGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IHZhbCA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gY29u
c3VtZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPlNUUjxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8
c3BhbiBjbGFzcz0iayI+fHw8L3NwYW4+IGVycm9yPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNw
YW4gY2xhc3M9InMiPiJVbmV4cGVjdGVkIHZhbHVlIGluIGVudW0iPC9zcGFuPjxzcGFuIGNsYXNz
PSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUi
Pjc0MjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4zPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAg
ICAgICAgICAgIHJldDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnZhbHVlczxzcGFuIGNsYXNzPSJr
Ij4uPC9zcGFuPnB1c2g8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj52YWw8c3BhbiBjbGFzcz0iayI+
Ljwvc3Bhbj52YWx1ZTxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnJlcGxhY2U8c3BhbiBjbGFzcz0i
ayI+KDwvc3Bhbj48c3BhbiBjbGFzcz0icyI+LyIvZzwvc3Bhbj48c3BhbiBjbGFzcz0iayI+LDwv
c3Bhbj4gPHNwYW4gY2xhc3M9InMiPiIiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pKTs8L3NwYW4+
PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj43NDM8L3RkPjx0ZCBj
bGFzcz0iaGl0cyI+MzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICBhbGxf
d3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0
ZCBjbGFzcz0ibGluZSI+NzQ0PC90ZD48dGQgY2xhc3M9ImhpdHMiPjM8L3RkPjx0ZCBjbGFzcz0i
c291cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBj
bGFzcz0iayI+KDwvc3Bhbj5jb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+T1RIRVI8c3Bh
biBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiIsIjwvc3Bhbj48c3BhbiBjbGFz
cz0iayI+KSk8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xh
c3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NzQ1PC90ZD48dGQgY2xhc3M9ImhpdHMiPjI8L3Rk
Pjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNz
PSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5l
Ij43NDY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAg
ICAgICAgICAgICAgICAgc2F3X2NvbW1hIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBj
bGFzcz0iayI+dHJ1ZTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRy
Pjx0ZCBjbGFzcz0ibGluZSI+NzQ3PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNz
PSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48L3RkPjwv
dHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NzQ4PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRk
IGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+ZWxzZTwvc3Bh
bj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRk
IGNsYXNzPSJsaW5lIj43NDk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTwvdGQ+PHRkIGNsYXNzPSJz
b3VyY2UiPiAgICAgICAgICAgICAgICAgICAgc2F3X2NvbW1hIDxzcGFuIGNsYXNzPSJrIj49PC9z
cGFuPiA8c3BhbiBjbGFzcz0iayI+ZmFsc2U8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+
PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjc1MDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48
L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08
L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjc1MTwvdGQ+PHRkIGNsYXNzPSJo
aXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+
fTwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+NzUyPC90ZD48dGQgY2xhc3M9
ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08
L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9Imxp
bmUiPjc1MzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAg
ICAgIDwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NzU0PC90ZD48
dGQgY2xhc3M9ImhpdHMiPjQ3PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8c3BhbiBj
bGFzcz0iayI+dmFyPC9zcGFuPiB0eXBlZGVmIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3Bh
biBjbGFzcz0iayI+ZnVuY3Rpb248L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oKTwvc3Bhbj4gPHNw
YW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNz
PSJsaW5lIj43NTU8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NTE8L3RkPjx0ZCBjbGFzcz0ic291cmNl
Ij4gICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48
dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NzU2PC90ZD48dGQgY2xhc3M9ImhpdHMi
Pjk5PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlm
PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KCE8L3NwYW4+Y29uc3VtZTxzcGFuIGNsYXNzPSJrIj4o
PC9zcGFuPklEPHNwYW4gY2xhc3M9ImsiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJzIj4idHlwZWRl
ZiI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPikpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+cmV0dXJu
PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+
IDx0ZCBjbGFzcz0ibGluZSI+NzU3PC90ZD48dGQgY2xhc3M9ImhpdHMiPjM8L3RkPjx0ZCBjbGFz
cz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiByZXQgPHNw
YW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48
dHI+PHRkIGNsYXNzPSJsaW5lIj43NTg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xh
c3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIHR5cGU8c3BhbiBjbGFzcz0iayI+Ojwvc3Bhbj4g
ICA8c3BhbiBjbGFzcz0icyI+InR5cGVkZWYiPC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNz
PSJsaW5lIj43NTk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+
ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3Nw
YW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj43NjA8L3RkPjx0
ZCBjbGFzcz0iaGl0cyI+MzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIGFsbF93
czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRk
IGNsYXNzPSJsaW5lIj43NjE8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MzwvdGQ+PHRkIGNsYXNzPSJz
b3VyY2UiPiAgICAgICAgICAgIHJldDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPmV4dEF0dHJzIDxz
cGFuIGNsYXNzPSJrIj49PC9zcGFuPiBleHRlbmRlZF9hdHRyczxzcGFuIGNsYXNzPSJrIj4oKTs8
L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj43NjI8L3Rk
Pjx0ZCBjbGFzcz0iaGl0cyI+MzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIGFs
bF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4g
PHRkIGNsYXNzPSJsaW5lIj43NjM8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MzwvdGQ+PHRkIGNsYXNz
PSJzb3VyY2UiPiAgICAgICAgICAgIHJldDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPmlkbFR5cGUg
PHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IHR5cGU8c3BhbiBjbGFzcz0iayI+KCk8L3NwYW4+IDxz
cGFuIGNsYXNzPSJrIj58fDwvc3Bhbj4gZXJyb3I8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj48c3Bh
biBjbGFzcz0icyI+Ik5vIHR5cGUgaW4gdHlwZWRlZiI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7
PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NzY0PC90
ZD48dGQgY2xhc3M9ImhpdHMiPjM8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICBh
bGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+
IDx0ZCBjbGFzcz0ibGluZSI+NzY1PC90ZD48dGQgY2xhc3M9ImhpdHMiPjM8L3RkPjx0ZCBjbGFz
cz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiBuYW1lIDxz
cGFuIGNsYXNzPSJrIj49PC9zcGFuPiBjb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+SUQ8
c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnx8PC9zcGFuPiBlcnJvcjxz
cGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4iTm8gbmFtZSBpbiB0eXBlZGVm
Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0
Ij4gPHRkIGNsYXNzPSJsaW5lIj43NjY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MzwvdGQ+PHRkIGNs
YXNzPSJzb3VyY2UiPiAgICAgICAgICAgIHJldDxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPm5hbWUg
PHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IG5hbWU8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj52YWx1
ZTxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBj
bGFzcz0ibGluZSI+NzY3PC90ZD48dGQgY2xhc3M9ImhpdHMiPjM8L3RkPjx0ZCBjbGFzcz0ic291
cmNlIj4gICAgICAgICAgICBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFuPjwvdGQ+PC90
cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+NzY4PC90ZD48dGQgY2xhc3M9Imhp
dHMiPjM8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICBjb25zdW1lPHNwYW4gY2xh
c3M9ImsiPig8L3NwYW4+T1RIRVI8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9
InMiPiI7Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnx8
PC9zcGFuPiBlcnJvcjxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4iVW50
ZXJtaW5hdGVkIHR5cGVkZWYiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwv
dHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjc2OTwvdGQ+PHRkIGNsYXNzPSJo
aXRzIj4zPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9Imsi
PnJldHVybjwvc3Bhbj4gcmV0PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48
dGQgY2xhc3M9ImxpbmUiPjc3MDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0i
c291cmNlIj4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj59PC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47
PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj43NzE8L3RkPjx0ZCBjbGFzcz0i
aGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8L3RkPjwvdHI+PHRyIGNsYXNz
PSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjc3MjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40NzwvdGQ+
PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gaW1w
bGVtZW50c18gPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5mdW5jdGlv
bjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPigpPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bh
bj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjc3MzwvdGQ+PHRk
IGNsYXNzPSJoaXRzIj40ODwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIGFsbF93
czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRk
IGNsYXNzPSJsaW5lIj43NzQ8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDg8L3RkPjx0ZCBjbGFzcz0i
c291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiB0YXJnZXQgPHNw
YW4gY2xhc3M9ImsiPj08L3NwYW4+IGNvbnN1bWU8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5JRDxz
cGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xh
c3M9ImxpbmUiPjc3NTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj45NTwvdGQ+PHRkIGNsYXNzPSJzb3Vy
Y2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9Imsi
PighPC9zcGFuPnRhcmdldDxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+
cmV0dXJuPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9
ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+Nzc2PC90ZD48dGQgY2xhc3M9ImhpdHMiPjE8L3RkPjx0
ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiB3
IDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiBhbGxfd3M8c3BhbiBjbGFzcz0iayI+KCk7PC9zcGFu
PjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+Nzc3PC90ZD48dGQg
Y2xhc3M9ImhpdHMiPjE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBj
bGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPmNvbnN1bWU8c3BhbiBj
bGFzcz0iayI+KDwvc3Bhbj5JRDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0i
cyI+ImltcGxlbWVudHMiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pKTwvc3Bhbj4gPHNwYW4gY2xh
c3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5l
Ij43Nzg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAg
ICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFuPiByZXQgPHNwYW4gY2xhc3M9Imsi
Pj08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNz
PSJsaW5lIj43Nzk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+
ICAgICAgICAgICAgICAgICAgICB0eXBlPHNwYW4gY2xhc3M9ImsiPjo8L3NwYW4+ICAgPHNwYW4g
Y2xhc3M9InMiPiJpbXBsZW1lbnRzIjwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGlu
ZSI+NzgwPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAg
ICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gICB0YXJnZXQ8c3BhbiBjbGFzcz0i
ayI+Ojwvc3Bhbj4gdGFyZ2V0PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+dmFsdWU8L3RkPjwvdHI+
PHRyPjx0ZCBjbGFzcz0ibGluZSI+NzgxPC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNs
YXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48c3Bh
biBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9
ImxpbmUiPjc4MjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+
ICAgICAgICAgICAgICAgIGFsbF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3Ry
Pjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj43ODM8L3RkPjx0ZCBjbGFzcz0iaGl0
cyI+MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0i
ayI+dmFyPC9zcGFuPiBpbXAgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IGNvbnN1bWU8c3BhbiBj
bGFzcz0iayI+KDwvc3Bhbj5JRDxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0i
ayI+fHw8L3NwYW4+IGVycm9yPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+PHNwYW4gY2xhc3M9InMi
PiJJbmNvbXBsZXRlIGltcGxlbWVudHMgc3RhdGVtZW50Ijwvc3Bhbj48c3BhbiBjbGFzcz0iayI+
KTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj43ODQ8
L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAg
ICAgICByZXQ8c3BhbiBjbGFzcz0iayI+Wzwvc3Bhbj48c3BhbiBjbGFzcz0icyI+ImltcGxlbWVu
dHMiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj5dPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+PTwvc3Bh
bj4gaW1wPHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+dmFsdWU8c3BhbiBjbGFzcz0iayI+Ozwvc3Bh
bj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjc4NTwvdGQ+PHRk
IGNsYXNzPSJoaXRzIj4xPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIGFs
bF93czxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4g
PHRkIGNsYXNzPSJsaW5lIj43ODY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTwvdGQ+PHRkIGNsYXNz
PSJzb3VyY2UiPiAgICAgICAgICAgICAgICBjb25zdW1lPHNwYW4gY2xhc3M9ImsiPig8L3NwYW4+
T1RIRVI8c3BhbiBjbGFzcz0iayI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9InMiPiI7Ijwvc3Bhbj48
c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnx8PC9zcGFuPiBlcnJvcjxz
cGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4iTm8gdGVybWluYXRpbmcgOyBm
b3IgaW1wbGVtZW50cyBzdGF0ZW1lbnQiPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pOzwvc3Bhbj48
L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjc4NzwvdGQ+PHRkIGNs
YXNzPSJoaXRzIj4xPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFu
IGNsYXNzPSJrIj5yZXR1cm48L3NwYW4+IHJldDxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+
PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj43ODg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48
dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PC90
ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjc4OTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3Rk
Pjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+ZWxzZTwvc3Bh
bj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUi
Pjc5MDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAg
ICAgICAgICAgPHNwYW4gY2xhc3M9ImMiPi8vIHJvbGxiYWNrPC9zcGFuPjwvdGQ+PC90cj48dHIg
Y2xhc3M9Im1pc3MiPiA8dGQgY2xhc3M9ImxpbmUiPjc5MTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4w
PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIHRva2VuczxzcGFuIGNsYXNz
PSJrIj4uPC9zcGFuPnVuc2hpZnQ8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj53PHNwYW4gY2xhc3M9
ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9Im1pc3MiPiA8dGQgY2xhc3M9ImxpbmUi
Pjc5MjwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4wPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAg
ICAgICAgICAgIHRva2VuczxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnVuc2hpZnQ8c3BhbiBjbGFz
cz0iayI+KDwvc3Bhbj50YXJnZXQ8c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0
cj48dGQgY2xhc3M9ImxpbmUiPjc5MzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFz
cz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+
PHRyPjx0ZCBjbGFzcz0ibGluZSI+Nzk0PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNs
YXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PHNwYW4gY2xhc3M9
ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjc5NTwvdGQ+PHRkIGNs
YXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDwvdGQ+PC90cj48dHIg
Y2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+Nzk2PC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ3
PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFzcz0iayI+dmFyPC9zcGFu
PiBkZWZpbml0aW9uIDxzcGFuIGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ZnVu
Y3Rpb248L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8
L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj43OTc8L3Rk
Pjx0ZCBjbGFzcz0iaGl0cyI+MTQ0PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAg
PHNwYW4gY2xhc3M9ImsiPnJldHVybjwvc3Bhbj4gIGNhbGxiYWNrPHNwYW4gY2xhc3M9ImsiPigp
PC9zcGFuPiAgICAgIDxzcGFuIGNsYXNzPSJrIj58fDwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBj
bGFzcz0ibGluZSI+Nzk4PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3Vy
Y2UiPiAgICAgICAgICAgICAgICAgICAgaW50ZXJmYWNlXzxzcGFuIGNsYXNzPSJrIj4oKTwvc3Bh
bj4gICAgPHNwYW4gY2xhc3M9ImsiPnx8PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJs
aW5lIj43OTk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAg
ICAgICAgICAgICAgICAgICBwYXJ0aWFsPHNwYW4gY2xhc3M9ImsiPigpPC9zcGFuPiAgICAgICA8
c3BhbiBjbGFzcz0iayI+fHw8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjgw
MDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAg
ICAgICAgICAgIGRpY3Rpb25hcnk8c3BhbiBjbGFzcz0iayI+KCk8L3NwYW4+ICAgIDxzcGFuIGNs
YXNzPSJrIj58fDwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+ODAxPC90ZD48
dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAg
ICAgZXhjZXB0aW9uPHNwYW4gY2xhc3M9ImsiPigpPC9zcGFuPiAgICAgPHNwYW4gY2xhc3M9Imsi
Pnx8PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj44MDI8L3RkPjx0ZCBjbGFz
cz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICBlbnVt
XzxzcGFuIGNsYXNzPSJrIj4oKTwvc3Bhbj4gICAgICAgICA8c3BhbiBjbGFzcz0iayI+fHw8L3Nw
YW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjgwMzwvdGQ+PHRkIGNsYXNzPSJoaXRz
Ij48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgICAgIHR5cGVkZWY8c3Bh
biBjbGFzcz0iayI+KCk8L3NwYW4+ICAgICAgIDxzcGFuIGNsYXNzPSJrIj58fDwvc3Bhbj48L3Rk
PjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+ODA0PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+
PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAgaW1wbGVtZW50c188c3BhbiBj
bGFzcz0iayI+KCk8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjgwNTwvdGQ+
PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAg
ICAgIDxzcGFuIGNsYXNzPSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5l
Ij44MDY8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAg
ICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwv
dHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+ODA3PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRk
IGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNs
YXNzPSJsaW5lIj44MDg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDc8L3RkPjx0ZCBjbGFzcz0ic291
cmNlIj4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IGRlZmluaXRpb25zIDxzcGFu
IGNsYXNzPSJrIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ZnVuY3Rpb248L3NwYW4+IDxzcGFu
IGNsYXNzPSJrIj4oKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0
ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj44MDk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+
NDc8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+aWY8
L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oITwvc3Bhbj50b2tlbnM8c3BhbiBjbGFzcz0iayI+Ljwv
c3Bhbj5sZW5ndGg8c3BhbiBjbGFzcz0iayI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPnJldHVy
bjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPltdOzwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJo
aXQiPiA8dGQgY2xhc3M9ImxpbmUiPjgxMDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40NzwvdGQ+PHRk
IGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IGRl
ZnMgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5bXTs8L3NwYW4+PC90
ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj44MTE8L3RkPjx0ZCBjbGFz
cz0iaGl0cyI+NDc8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFz
cz0iayI+d2hpbGU8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJr
Ij50cnVlPC9zcGFuPjxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwv
c3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjgxMjwvdGQ+
PHRkIGNsYXNzPSJoaXRzIj4xNDQ8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAg
ICAgPHNwYW4gY2xhc3M9ImsiPnZhcjwvc3Bhbj4gZWEgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+
IGV4dGVuZGVkX2F0dHJzPHNwYW4gY2xhc3M9ImsiPigpPC9zcGFuPjwvdGQ+PC90cj48dHI+PHRk
IGNsYXNzPSJsaW5lIj44MTM8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNv
dXJjZSI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj4sPC9zcGFuPiAgIGRlZiA8c3Bh
biBjbGFzcz0iayI+PTwvc3Bhbj4gZGVmaW5pdGlvbjxzcGFuIGNsYXNzPSJrIj4oKTs8L3NwYW4+
PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj44MTQ8L3RkPjx0ZCBj
bGFzcz0iaGl0cyI+MTQ0PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICAgICAgICAgIDxz
cGFuIGNsYXNzPSJrIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPighPC9zcGFuPmRlZjxzcGFu
IGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRy
IGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjgxNTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40
NzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9
ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5lYTxzcGFuIGNsYXNzPSJrIj4u
PC9zcGFuPmxlbmd0aDxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiBlcnJvcjxzcGFuIGNsYXNzPSJr
Ij4oPC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4iU3RyYXkgZXh0ZW5kZWQgYXR0cmlidXRlcyI8L3Nw
YW4+PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0
ZCBjbGFzcz0ibGluZSI+ODE2PC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ3PC90ZD48dGQgY2xhc3M9
InNvdXJjZSI+ICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+YnJlYWs8L3NwYW4+
PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjgx
NzwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAg
ICAgICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4g
PHRkIGNsYXNzPSJsaW5lIj44MTg8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+OTc8L3RkPjx0ZCBjbGFz
cz0ic291cmNlIj4gICAgICAgICAgICAgICAgZGVmPHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+ZXh0
QXR0cnMgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IGVhPHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+
PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj44MTk8L3RkPjx0ZCBj
bGFzcz0iaGl0cyI+OTc8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICAgICAgZGVm
czxzcGFuIGNsYXNzPSJrIj4uPC9zcGFuPnB1c2g8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5kZWY8
c3BhbiBjbGFzcz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjgy
MDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAg
ICA8c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQg
Y2xhc3M9ImxpbmUiPjgyMTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40NzwvdGQ+PHRkIGNsYXNzPSJz
b3VyY2UiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5yZXR1cm48L3NwYW4+IGRlZnM8c3Bh
biBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+ODIyPC90
ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4g
Y2xhc3M9ImsiPn08L3NwYW4+PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBj
bGFzcz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj44MjM8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDc8
L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+
IHJlcyA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gZGVmaW5pdGlvbnM8c3BhbiBjbGFzcz0iayI+
KCk7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+ODI0
PC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ3PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8
c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPnRva2Vuczxz
cGFuIGNsYXNzPSJrIj4uPC9zcGFuPmxlbmd0aDxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiBlcnJv
cjxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4iVW5yZWNvZ25pc2VkIHRv
a2VucyI8L3NwYW4+PHNwYW4gY2xhc3M9ImsiPik7PC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9
ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+ODI1PC90ZD48dGQgY2xhc3M9ImhpdHMiPjQ3PC90ZD48
dGQgY2xhc3M9InNvdXJjZSI+ICAgICAgICA8c3BhbiBjbGFzcz0iayI+cmV0dXJuPC9zcGFuPiBy
ZXM8c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+
ODI2PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICA8c3Bh
biBjbGFzcz0iayI+fTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+Ozwvc3Bhbj48L3RkPjwvdHI+PHRy
Pjx0ZCBjbGFzcz0ibGluZSI+ODI3PC90ZD48dGQgY2xhc3M9ImhpdHMiPjwvdGQ+PHRkIGNsYXNz
PSJzb3VyY2UiPiA8L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9ImxpbmUiPjgy
ODwvdGQ+PHRkIGNsYXNzPSJoaXRzIj4xPC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgIDxzcGFu
IGNsYXNzPSJrIj52YXI8L3NwYW4+IG9iaiA8c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gPHNwYW4g
Y2xhc3M9ImsiPns8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjgyOTwvdGQ+
PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIHBhcnNlPHNw
YW4gY2xhc3M9ImsiPjo8L3NwYW4+ICA8c3BhbiBjbGFzcz0iayI+ZnVuY3Rpb248L3NwYW4+IDxz
cGFuIGNsYXNzPSJrIj4oPC9zcGFuPnN0cjxzcGFuIGNsYXNzPSJrIj4pPC9zcGFuPiA8c3BhbiBj
bGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJoaXQiPiA8dGQgY2xhc3M9Imxp
bmUiPjgzMDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj40NzwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAg
ICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj52YXI8L3NwYW4+IHRva2VucyA8c3BhbiBjbGFzcz0i
ayI+PTwvc3Bhbj4gdG9rZW5pc2U8c3BhbiBjbGFzcz0iayI+KDwvc3Bhbj5zdHI8c3BhbiBjbGFz
cz0iayI+KTs8L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjgzMTwvdGQ+PHRk
IGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBj
bGFzcz0iYyI+Ly8gY29uc29sZS5sb2codG9rZW5zKTs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFz
cz0iaGl0Ij4gPHRkIGNsYXNzPSJsaW5lIj44MzI8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+NDc8L3Rk
Pjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+cmV0dXJuPC9z
cGFuPiBwYXJzZTxzcGFuIGNsYXNzPSJrIj4oPC9zcGFuPnRva2VuczxzcGFuIGNsYXNzPSJrIj4p
Ozwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0ibGluZSI+ODMzPC90ZD48dGQgY2xhc3M9
ImhpdHMiPjwvdGQ+PHRkIGNsYXNzPSJzb3VyY2UiPiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPn08
L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjgzNDwvdGQ+PHRkIGNsYXNzPSJo
aXRzIj48L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+
PHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0iaGl0Ij4gPHRkIGNs
YXNzPSJsaW5lIj44MzU8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MTwvdGQ+PHRkIGNsYXNzPSJzb3Vy
Y2UiPiAgICA8c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj4oPC9zcGFu
PjxzcGFuIGNsYXNzPSJrIj50eXBlb2Y8L3NwYW4+IG1vZHVsZSA8c3BhbiBjbGFzcz0iayI+IT09
PC9zcGFuPiA8c3BhbiBjbGFzcz0icyI+InVuZGVmaW5lZCI8L3NwYW4+IDxzcGFuIGNsYXNzPSJr
Ij4mYW1wOyZhbXA7PC9zcGFuPiBtb2R1bGU8c3BhbiBjbGFzcz0iayI+Ljwvc3Bhbj5leHBvcnRz
PHNwYW4gY2xhc3M9ImsiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj57PC9zcGFuPjwvdGQ+PC90
cj48dHIgY2xhc3M9ImhpdCI+IDx0ZCBjbGFzcz0ibGluZSI+ODM2PC90ZD48dGQgY2xhc3M9Imhp
dHMiPjE8L3RkPjx0ZCBjbGFzcz0ic291cmNlIj4gICAgICAgIG1vZHVsZTxzcGFuIGNsYXNzPSJr
Ij4uPC9zcGFuPmV4cG9ydHMgPHNwYW4gY2xhc3M9ImsiPj08L3NwYW4+IG9iajxzcGFuIGNsYXNz
PSJrIj47PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj44Mzc8L3RkPjx0ZCBj
bGFzcz0iaGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgIDxzcGFuIGNsYXNzPSJrIj59
PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJsaW5lIj44Mzg8L3RkPjx0ZCBjbGFzcz0i
aGl0cyI+PC90ZD48dGQgY2xhc3M9InNvdXJjZSI+ICAgIDxzcGFuIGNsYXNzPSJrIj5lbHNlPC9z
cGFuPiA8c3BhbiBjbGFzcz0iayI+ezwvc3Bhbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJtaXNzIj4g
PHRkIGNsYXNzPSJsaW5lIj44Mzk8L3RkPjx0ZCBjbGFzcz0iaGl0cyI+MDwvdGQ+PHRkIGNsYXNz
PSJzb3VyY2UiPiAgICAgICAgd2luZG93PHNwYW4gY2xhc3M9ImsiPi48L3NwYW4+V2ViSURMMiA8
c3BhbiBjbGFzcz0iayI+PTwvc3Bhbj4gb2JqPHNwYW4gY2xhc3M9ImsiPjs8L3NwYW4+PC90ZD48
L3RyPjx0cj48dGQgY2xhc3M9ImxpbmUiPjg0MDwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0
ZCBjbGFzcz0ic291cmNlIj4gICAgPHNwYW4gY2xhc3M9ImsiPn08L3NwYW4+PC90ZD48L3RyPjx0
cj48dGQgY2xhc3M9ImxpbmUiPjg0MTwvdGQ+PHRkIGNsYXNzPSJoaXRzIj48L3RkPjx0ZCBjbGFz
cz0ic291cmNlIj48c3BhbiBjbGFzcz0iayI+fTwvc3Bhbj48c3BhbiBjbGFzcz0iayI+KCkpOzwv
c3Bhbj48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PjwvZGl2PjwvYm9keT48
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL2luZGV4LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi9pbmRleC5qcwpkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDlmOWViNDZhYTcuLjAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvaW5kZXguanMKKysrIC9kZXYvbnVsbApAQCAtMSArMCwwIEBACi1tb2R1bGUuZXhwb3J0cyA9
IHJlcXVpcmUoIi4vbGliL3dlYmlkbDIuanMiKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvcGFja2FnZS1s
b2NrLmpzb24gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3BhY2thZ2UtbG9jay5qc29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCBiMDU4MTAzN2ZlOS4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi9wYWNrYWdlLWxvY2su
anNvbgorKysgL2Rldi9udWxsCkBAIC0xLDcwMCArMCwwIEBACi17Ci0gICJuYW1lIjogIndlYmlk
bDIiLAotICAidmVyc2lvbiI6ICIxMy4wLjMiLAotICAibG9ja2ZpbGVWZXJzaW9uIjogMSwKLSAg
InJlcXVpcmVzIjogdHJ1ZSwKLSAgImRlcGVuZGVuY2llcyI6IHsKLSAgICAiQGJhYmVsL2NvZGUt
ZnJhbWUiOiB7Ci0gICAgICAidmVyc2lvbiI6ICI3LjAuMC1iZXRhLjQwIiwKLSAgICAgICJyZXNv
bHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9AYmFiZWwvY29kZS1mcmFtZS8tL2Nv
ZGUtZnJhbWUtNy4wLjAtYmV0YS40MC50Z3oiLAotICAgICAgImludGVncml0eSI6ICJzaGE1MTIt
ZVZYUVNidS9SaW1VNk9LY0syL2dESlZURmN4WEpJNHNIYklxdzJtaHdNWmVRMmFzLzhBaFM5REdr
RURvSE1CQk5KWjVCMFVTNjNsRjU2eCtLRGN4aUE9PSIsCi0gICAgICAiZGV2IjogdHJ1ZSwKLSAg
ICAgICJyZXF1aXJlcyI6IHsKLSAgICAgICAgIkBiYWJlbC9oaWdobGlnaHQiOiAiNy4wLjAtYmV0
YS40MCIKLSAgICAgIH0KLSAgICB9LAotICAgICJAYmFiZWwvaGlnaGxpZ2h0IjogewotICAgICAg
InZlcnNpb24iOiAiNy4wLjAtYmV0YS40MCIsCi0gICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9y
ZWdpc3RyeS5ucG1qcy5vcmcvQGJhYmVsL2hpZ2hsaWdodC8tL2hpZ2hsaWdodC03LjAuMC1iZXRh
LjQwLnRneiIsCi0gICAgICAiaW50ZWdyaXR5IjogInNoYTUxMi1tT2hoVHJ6aWVWNlZPN29kZ3pG
R0ZhcGl3UkswZWk4UlpSaGZ6SGhiNmNwWDNRTThYWHVDTFhXak44cUJCN0pSZURkVVI4MFYzTEZm
RnJHVVlldmhOZz09IiwKLSAgICAgICJkZXYiOiB0cnVlLAotICAgICAgInJlcXVpcmVzIjogewot
ICAgICAgICAiY2hhbGsiOiAiXjIuMC4wIiwKLSAgICAgICAgImVzdXRpbHMiOiAiXjIuMC4yIiwK
LSAgICAgICAgImpzLXRva2VucyI6ICJeMy4wLjAiCi0gICAgICB9Ci0gICAgfSwKLSAgICAiYW5z
aS1yZWdleCI6IHsKLSAgICAgICJ2ZXJzaW9uIjogIjMuMC4wIiwKLSAgICAgICJyZXNvbHZlZCI6
ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9hbnNpLXJlZ2V4Ly0vYW5zaS1yZWdleC0zLjAu
MC50Z3oiLAotICAgICAgImludGVncml0eSI6ICJzaGExLTdRTVh3eUlHVDNsR2JBS1dhOTIyQmFz
MzJaZz0iLAotICAgICAgImRldiI6IHRydWUKLSAgICB9LAotICAgICJhbnNpLXN0eWxlcyI6IHsK
LSAgICAgICJ2ZXJzaW9uIjogIjMuMi4xIiwKLSAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3Jl
Z2lzdHJ5Lm5wbWpzLm9yZy9hbnNpLXN0eWxlcy8tL2Fuc2ktc3R5bGVzLTMuMi4xLnRneiIsCi0g
ICAgICAiaW50ZWdyaXR5IjogInNoYTUxMi1WVDBaSTZrWlJkVGg4WXlKdzNTTWJZbS91K05xZnNB
eEVwV08wUGY5c3E4L2U5NFd4eE9wUEt4OUZSMUZseUN0T1ZETk9RKzhudGxxRnhpUmMrcjVxQT09
IiwKLSAgICAgICJkZXYiOiB0cnVlLAotICAgICAgInJlcXVpcmVzIjogewotICAgICAgICAiY29s
b3ItY29udmVydCI6ICJeMS45LjAiCi0gICAgICB9Ci0gICAgfSwKLSAgICAiYXJyLWRpZmYiOiB7
Ci0gICAgICAidmVyc2lvbiI6ICIyLjAuMCIsCi0gICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9y
ZWdpc3RyeS5ucG1qcy5vcmcvYXJyLWRpZmYvLS9hcnItZGlmZi0yLjAuMC50Z3oiLAotICAgICAg
ImludGVncml0eSI6ICJzaGExLWp6dUNmNVZhaTlacGFYNUtRbGFzUE9yalZzOD0iLAotICAgICAg
ImRldiI6IHRydWUsCi0gICAgICAicmVxdWlyZXMiOiB7Ci0gICAgICAgICJhcnItZmxhdHRlbiI6
ICJeMS4wLjEiCi0gICAgICB9Ci0gICAgfSwKLSAgICAiYXJyLWZsYXR0ZW4iOiB7Ci0gICAgICAi
dmVyc2lvbiI6ICIxLjEuMCIsCi0gICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5u
cG1qcy5vcmcvYXJyLWZsYXR0ZW4vLS9hcnItZmxhdHRlbi0xLjEuMC50Z3oiLAotICAgICAgImlu
dGVncml0eSI6ICJzaGE1MTItTDNoS1Y1Ui9wNW84MVI3TzAySUdud3BEbWtwNkU5ODJYaHRidXdT
ZTNPNHFPdE1NTXRvZGljQVNBMUNueTJVK2FDWGNOcG1sK200ZFBzdnNKM2phdGc9PSIsCi0gICAg
ICAiZGV2IjogdHJ1ZQotICAgIH0sCi0gICAgImFycmF5LXVuaXF1ZSI6IHsKLSAgICAgICJ2ZXJz
aW9uIjogIjAuMi4xIiwKLSAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpz
Lm9yZy9hcnJheS11bmlxdWUvLS9hcnJheS11bmlxdWUtMC4yLjEudGd6IiwKLSAgICAgICJpbnRl
Z3JpdHkiOiAic2hhMS1vZGw4eXZ5OEppWE1jUHJjNnphbERGaXdHbE09IiwKLSAgICAgICJkZXYi
OiB0cnVlCi0gICAgfSwKLSAgICAiYmFsYW5jZWQtbWF0Y2giOiB7Ci0gICAgICAidmVyc2lvbiI6
ICIxLjAuMCIsCi0gICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcv
YmFsYW5jZWQtbWF0Y2gvLS9iYWxhbmNlZC1tYXRjaC0xLjAuMC50Z3oiLAotICAgICAgImludGVn
cml0eSI6ICJzaGExLWliVFJtYXNyN2tuZUZrNmdLNG5PUmkxeHQyYz0iLAotICAgICAgImRldiI6
IHRydWUKLSAgICB9LAotICAgICJicmFjZS1leHBhbnNpb24iOiB7Ci0gICAgICAidmVyc2lvbiI6
ICIxLjEuMTEiLAotICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3Jn
L2JyYWNlLWV4cGFuc2lvbi8tL2JyYWNlLWV4cGFuc2lvbi0xLjEuMTEudGd6IiwKLSAgICAgICJp
bnRlZ3JpdHkiOiAic2hhNTEyLWlDdVBIREZnckhYN0gydkVJLzV4cHowN3pTSEIwMFRwdWdxaG1Z
dFZtTU82NTE4bUN1Uk1vT1lGbGRFQmwwZzE4N3Vmb3pkYUhnV0tjWUZiNjFxR2lBPT0iLAotICAg
ICAgImRldiI6IHRydWUsCi0gICAgICAicmVxdWlyZXMiOiB7Ci0gICAgICAgICJiYWxhbmNlZC1t
YXRjaCI6ICJeMS4wLjAiLAotICAgICAgICAiY29uY2F0LW1hcCI6ICIwLjAuMSIKLSAgICAgIH0K
LSAgICB9LAotICAgICJicmFjZXMiOiB7Ci0gICAgICAidmVyc2lvbiI6ICIxLjguNSIsCi0gICAg
ICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvYnJhY2VzLy0vYnJhY2Vz
LTEuOC41LnRneiIsCi0gICAgICAiaW50ZWdyaXR5IjogInNoYTEtdW5lV0xoTGYrV25XdDJjUjZS
UzNONFY3OXFjPSIsCi0gICAgICAiZGV2IjogdHJ1ZSwKLSAgICAgICJyZXF1aXJlcyI6IHsKLSAg
ICAgICAgImV4cGFuZC1yYW5nZSI6ICJeMS44LjEiLAotICAgICAgICAicHJlc2VydmUiOiAiXjAu
Mi4wIiwKLSAgICAgICAgInJlcGVhdC1lbGVtZW50IjogIl4xLjEuMiIKLSAgICAgIH0KLSAgICB9
LAotICAgICJicm93c2VyLXN0ZG91dCI6IHsKLSAgICAgICJ2ZXJzaW9uIjogIjEuMy4xIiwKLSAg
ICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9icm93c2VyLXN0ZG91
dC8tL2Jyb3dzZXItc3Rkb3V0LTEuMy4xLnRneiIsCi0gICAgICAiaW50ZWdyaXR5IjogInNoYTUx
Mi1xaEFWSTErQXYyWDdxZWxPZkFJWXdYT05vb2Q2WGxaRS9mWGFCU21XL1Q1U3pMQW1DZ3ppK2Vp
V0U3ZlV2YkhhZU5CUUgxM1VmdGpwWHhzZkxrTXBndz09IiwKLSAgICAgICJkZXYiOiB0cnVlCi0g
ICAgfSwKLSAgICAiY2hhbGsiOiB7Ci0gICAgICAidmVyc2lvbiI6ICIyLjMuMiIsCi0gICAgICAi
cmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvY2hhbGsvLS9jaGFsay0yLjMu
Mi50Z3oiLAotICAgICAgImludGVncml0eSI6ICJzaGE1MTItWk00ajIvbGQvWVpEYzNNYThQZ043
Z3lBaytrSE1NTXl6TE5yeUNQR2hXcnNmQXVEVmV1aWQ1YnBSRlREZ01IOUpCSzJsQTRkeXlBa2ta
WUYvV2NxRFE9PSIsCi0gICAgICAiZGV2IjogdHJ1ZSwKLSAgICAgICJyZXF1aXJlcyI6IHsKLSAg
ICAgICAgImFuc2ktc3R5bGVzIjogIl4zLjIuMSIsCi0gICAgICAgICJlc2NhcGUtc3RyaW5nLXJl
Z2V4cCI6ICJeMS4wLjUiLAotICAgICAgICAic3VwcG9ydHMtY29sb3IiOiAiXjUuMy4wIgotICAg
ICAgfQotICAgIH0sCi0gICAgImNvbG9yLWNvbnZlcnQiOiB7Ci0gICAgICAidmVyc2lvbiI6ICIx
LjkuMSIsCi0gICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvY29s
b3ItY29udmVydC8tL2NvbG9yLWNvbnZlcnQtMS45LjEudGd6IiwKLSAgICAgICJpbnRlZ3JpdHki
OiAic2hhNTEyLW1qR2FuSWl3UUpza0NDMThyUFI2T21yWjZmbTJMYzdQZUdGWXdDbXk1SjM0d0M2
RjFQemRHTDZ4ZU1mbWdpY2ZZY05MR3VWRkEzV3pYdElEQ1FTWnhRPT0iLAotICAgICAgImRldiI6
IHRydWUsCi0gICAgICAicmVxdWlyZXMiOiB7Ci0gICAgICAgICJjb2xvci1uYW1lIjogIl4xLjEu
MSIKLSAgICAgIH0KLSAgICB9LAotICAgICJjb2xvci1uYW1lIjogewotICAgICAgInZlcnNpb24i
OiAiMS4xLjMiLAotICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3Jn
L2NvbG9yLW5hbWUvLS9jb2xvci1uYW1lLTEuMS4zLnRneiIsCi0gICAgICAiaW50ZWdyaXR5Ijog
InNoYTEtcDlCVmk5aWNRdmVWM1VJeWozUUlNY3BUdkNVPSIsCi0gICAgICAiZGV2IjogdHJ1ZQot
ICAgIH0sCi0gICAgImNvbW1hbmRlciI6IHsKLSAgICAgICJ2ZXJzaW9uIjogIjIuMTEuMCIsCi0g
ICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvY29tbWFuZGVyLy0v
Y29tbWFuZGVyLTIuMTEuMC50Z3oiLAotICAgICAgImludGVncml0eSI6ICJzaGE1MTItYjA1NTN1
WUE1WUFFR2d5WUlHWVJPektRN1g1UkFxZWRrZmppWnh3aTBrTDFnM2JPYUJOTlpmWWt6dC9DTDB1
bWdENXdjOUplYzJGYkI5OENqa01SdlE9PSIsCi0gICAgICAiZGV2IjogdHJ1ZQotICAgIH0sCi0g
ICAgImNvbmNhdC1tYXAiOiB7Ci0gICAgICAidmVyc2lvbiI6ICIwLjAuMSIsCi0gICAgICAicmVz
b2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvY29uY2F0LW1hcC8tL2NvbmNhdC1t
YXAtMC4wLjEudGd6IiwKLSAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS0yS2xyMTMvV2pmZDVPbk1E
YWp1ZzFVQmRSM3M9IiwKLSAgICAgICJkZXYiOiB0cnVlCi0gICAgfSwKLSAgICAiZGVidWciOiB7
Ci0gICAgICAidmVyc2lvbiI6ICIzLjEuMCIsCi0gICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9y
ZWdpc3RyeS5ucG1qcy5vcmcvZGVidWcvLS9kZWJ1Zy0zLjEuMC50Z3oiLAotICAgICAgImludGVn
cml0eSI6ICJzaGE1MTItT1g4WHFQNy8xYTljcWt4WXcyeVhzczE1ZjI2TktXQnBEWFFkMC91Sy9L
UHFkUWh4YlBhOTk0aG56amNFMlZxUXBEc2xmNTU3MjNjS1BVT0dTbU1ZM2c9PSIsCi0gICAgICAi
ZGV2IjogdHJ1ZSwKLSAgICAgICJyZXF1aXJlcyI6IHsKLSAgICAgICAgIm1zIjogIjIuMC4wIgot
ICAgICAgfQotICAgIH0sCi0gICAgImRpZmYiOiB7Ci0gICAgICAidmVyc2lvbiI6ICIzLjUuMCIs
Ci0gICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvZGlmZi8tL2Rp
ZmYtMy41LjAudGd6IiwKLSAgICAgICJpbnRlZ3JpdHkiOiAic2hhNTEyLUE0NnF0RmdkK2c3cERa
aW5wbndpUkp0eGJDMWhwZ2YwdXpQM2lHODlzY0hrMEFVQzdBMVRHeGY1T2lpT1V2L0pNWlI4R090
OGhMOTAwaFYwYk95NXhBPT0iLAotICAgICAgImRldiI6IHRydWUKLSAgICB9LAotICAgICJkaWZm
LW1hdGNoLXBhdGNoIjogewotICAgICAgInZlcnNpb24iOiAiMS4wLjAiLAotICAgICAgInJlc29s
dmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2RpZmYtbWF0Y2gtcGF0Y2gvLS9kaWZm
LW1hdGNoLXBhdGNoLTEuMC4wLnRneiIsCi0gICAgICAiaW50ZWdyaXR5IjogInNoYTEtSE1QSU9r
a05aL2xka2VPZmF0SHk0SWEyTUVnPSIsCi0gICAgICAiZGV2IjogdHJ1ZQotICAgIH0sCi0gICAg
ImVzY2FwZS1zdHJpbmctcmVnZXhwIjogewotICAgICAgInZlcnNpb24iOiAiMS4wLjUiLAotICAg
ICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2VzY2FwZS1zdHJpbmct
cmVnZXhwLy0vZXNjYXBlLXN0cmluZy1yZWdleHAtMS4wLjUudGd6IiwKLSAgICAgICJpbnRlZ3Jp
dHkiOiAic2hhMS1HMkhBVmlHUXFOLzJyanV5endJQXloTUxodFE9IiwKLSAgICAgICJkZXYiOiB0
cnVlCi0gICAgfSwKLSAgICAiZXN1dGlscyI6IHsKLSAgICAgICJ2ZXJzaW9uIjogIjIuMC4yIiwK
LSAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9lc3V0aWxzLy0v
ZXN1dGlscy0yLjAuMi50Z3oiLAotICAgICAgImludGVncml0eSI6ICJzaGExLUNyOVBIS3BieXg5
Nm5Zck1iZXBQcXFCTHJKcz0iLAotICAgICAgImRldiI6IHRydWUKLSAgICB9LAotICAgICJleHBh
bmQtYnJhY2tldHMiOiB7Ci0gICAgICAidmVyc2lvbiI6ICIwLjEuNSIsCi0gICAgICAicmVzb2x2
ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvZXhwYW5kLWJyYWNrZXRzLy0vZXhwYW5k
LWJyYWNrZXRzLTAuMS41LnRneiIsCi0gICAgICAiaW50ZWdyaXR5IjogInNoYTEtM3djb1RqUXFn
SHpYTTZ4YTl5UVI1WUhSRjNzPSIsCi0gICAgICAiZGV2IjogdHJ1ZSwKLSAgICAgICJyZXF1aXJl
cyI6IHsKLSAgICAgICAgImlzLXBvc2l4LWJyYWNrZXQiOiAiXjAuMS4wIgotICAgICAgfQotICAg
IH0sCi0gICAgImV4cGFuZC1yYW5nZSI6IHsKLSAgICAgICJ2ZXJzaW9uIjogIjEuOC4yIiwKLSAg
ICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9leHBhbmQtcmFuZ2Uv
LS9leHBhbmQtcmFuZ2UtMS44LjIudGd6IiwKLSAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1vcG52
L1ROZjRuSWV1dWppVit4NVpFL0lVemM9IiwKLSAgICAgICJkZXYiOiB0cnVlLAotICAgICAgInJl
cXVpcmVzIjogewotICAgICAgICAiZmlsbC1yYW5nZSI6ICJeMi4xLjAiCi0gICAgICB9Ci0gICAg
fSwKLSAgICAiZXhwZWN0IjogewotICAgICAgInZlcnNpb24iOiAiMjIuNC4wIiwKLSAgICAgICJy
ZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9leHBlY3QvLS9leHBlY3QtMjIu
NC4wLnRneiIsCi0gICAgICAiaW50ZWdyaXR5IjogInNoYTUxMi1GaXk4NjJqVDNxYzcwaHdJSHd3
Q0JOSVNtYXFCcmZXS0tydHF5TUo2aXdacis2S1h0Y25Ib2paRnRkNjNUUFJ2Umw4RVFUSitZWFl5
MmxLNi82dStIdz09IiwKLSAgICAgICJkZXYiOiB0cnVlLAotICAgICAgInJlcXVpcmVzIjogewot
ICAgICAgICAiYW5zaS1zdHlsZXMiOiAiXjMuMi4wIiwKLSAgICAgICAgImplc3QtZGlmZiI6ICJe
MjIuNC4wIiwKLSAgICAgICAgImplc3QtZ2V0LXR5cGUiOiAiXjIyLjEuMCIsCi0gICAgICAgICJq
ZXN0LW1hdGNoZXItdXRpbHMiOiAiXjIyLjQuMCIsCi0gICAgICAgICJqZXN0LW1lc3NhZ2UtdXRp
bCI6ICJeMjIuNC4wIiwKLSAgICAgICAgImplc3QtcmVnZXgtdXRpbCI6ICJeMjIuMS4wIgotICAg
ICAgfQotICAgIH0sCi0gICAgImV4dGdsb2IiOiB7Ci0gICAgICAidmVyc2lvbiI6ICIwLjMuMiIs
Ci0gICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvZXh0Z2xvYi8t
L2V4dGdsb2ItMC4zLjIudGd6IiwKLSAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1MaGovUFM5SnF5
ZGx6c2tDUHdFZHFvMkRTYUU9IiwKLSAgICAgICJkZXYiOiB0cnVlLAotICAgICAgInJlcXVpcmVz
IjogewotICAgICAgICAiaXMtZXh0Z2xvYiI6ICJeMS4wLjAiCi0gICAgICB9Ci0gICAgfSwKLSAg
ICAiZmlsZW5hbWUtcmVnZXgiOiB7Ci0gICAgICAidmVyc2lvbiI6ICIyLjAuMSIsCi0gICAgICAi
cmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvZmlsZW5hbWUtcmVnZXgvLS9m
aWxlbmFtZS1yZWdleC0yLjAuMS50Z3oiLAotICAgICAgImludGVncml0eSI6ICJzaGExLXdjUzV2
dVBnbHlYZHNRYTNYQjR3SCtMeGl5WT0iLAotICAgICAgImRldiI6IHRydWUKLSAgICB9LAotICAg
ICJmaWxsLXJhbmdlIjogewotICAgICAgInZlcnNpb24iOiAiMi4yLjQiLAotICAgICAgInJlc29s
dmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2ZpbGwtcmFuZ2UvLS9maWxsLXJhbmdl
LTIuMi40LnRneiIsCi0gICAgICAiaW50ZWdyaXR5IjogInNoYTUxMi1jbnJjQ2JqMDErajJnVEc5
MjFWWlBuSGJqbWRBZjhvUVYvaUdlVjJrWnhHU3lmWWpqVHlZNzlFcnNLMVdKV01wdzZEYUFwRVg3
MmJpbnFKRSsvZCs1UT09IiwKLSAgICAgICJkZXYiOiB0cnVlLAotICAgICAgInJlcXVpcmVzIjog
ewotICAgICAgICAiaXMtbnVtYmVyIjogIl4yLjEuMCIsCi0gICAgICAgICJpc29iamVjdCI6ICJe
Mi4wLjAiLAotICAgICAgICAicmFuZG9tYXRpYyI6ICJeMy4wLjAiLAotICAgICAgICAicmVwZWF0
LWVsZW1lbnQiOiAiXjEuMS4yIiwKLSAgICAgICAgInJlcGVhdC1zdHJpbmciOiAiXjEuNS4yIgot
ICAgICAgfQotICAgIH0sCi0gICAgImZvci1pbiI6IHsKLSAgICAgICJ2ZXJzaW9uIjogIjEuMC4y
IiwKLSAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9mb3ItaW4v
LS9mb3ItaW4tMS4wLjIudGd6IiwKLSAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1nUWFOS1ZxQlF1
d0t4eWJHNGlBTU1QdHRYb0E9IiwKLSAgICAgICJkZXYiOiB0cnVlCi0gICAgfSwKLSAgICAiZm9y
LW93biI6IHsKLSAgICAgICJ2ZXJzaW9uIjogIjAuMS41IiwKLSAgICAgICJyZXNvbHZlZCI6ICJo
dHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9mb3Itb3duLy0vZm9yLW93bi0wLjEuNS50Z3oiLAot
ICAgICAgImludGVncml0eSI6ICJzaGExLVVtWEdnYVR5bE5xNzhYeVZDYloyT3FoRkVNND0iLAot
ICAgICAgImRldiI6IHRydWUsCi0gICAgICAicmVxdWlyZXMiOiB7Ci0gICAgICAgICJmb3ItaW4i
OiAiXjEuMC4xIgotICAgICAgfQotICAgIH0sCi0gICAgImZzLnJlYWxwYXRoIjogewotICAgICAg
InZlcnNpb24iOiAiMS4wLjAiLAotICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnku
bnBtanMub3JnL2ZzLnJlYWxwYXRoLy0vZnMucmVhbHBhdGgtMS4wLjAudGd6IiwKLSAgICAgICJp
bnRlZ3JpdHkiOiAic2hhMS1GUVN0SlNNVmpLcEEyMG9uaDhzQlFSbVU2azg9IiwKLSAgICAgICJk
ZXYiOiB0cnVlCi0gICAgfSwKLSAgICAiZ2xvYiI6IHsKLSAgICAgICJ2ZXJzaW9uIjogIjcuMS4y
IiwKLSAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9nbG9iLy0v
Z2xvYi03LjEuMi50Z3oiLAotICAgICAgImludGVncml0eSI6ICJzaGE1MTItTUpUVWcxa2p1TGVR
Q0orY2NFNFZwYTZrS1ZYa1BZSjJtT0NReVV1S0xjTFFzZHJNQ3BCUFVpOHFWRTYrWXVhSmtvemVB
OU51c1RBdzNoTHI4WGU1RVE9PSIsCi0gICAgICAiZGV2IjogdHJ1ZSwKLSAgICAgICJyZXF1aXJl
cyI6IHsKLSAgICAgICAgImZzLnJlYWxwYXRoIjogIl4xLjAuMCIsCi0gICAgICAgICJpbmZsaWdo
dCI6ICJeMS4wLjQiLAotICAgICAgICAiaW5oZXJpdHMiOiAiMiIsCi0gICAgICAgICJtaW5pbWF0
Y2giOiAiXjMuMC40IiwKLSAgICAgICAgIm9uY2UiOiAiXjEuMy4wIiwKLSAgICAgICAgInBhdGgt
aXMtYWJzb2x1dGUiOiAiXjEuMC4wIgotICAgICAgfQotICAgIH0sCi0gICAgImdsb2ItYmFzZSI6
IHsKLSAgICAgICJ2ZXJzaW9uIjogIjAuMy4wIiwKLSAgICAgICJyZXNvbHZlZCI6ICJodHRwczov
L3JlZ2lzdHJ5Lm5wbWpzLm9yZy9nbG9iLWJhc2UvLS9nbG9iLWJhc2UtMC4zLjAudGd6IiwKLSAg
ICAgICJpbnRlZ3JpdHkiOiAic2hhMS0yN0ZrOWlJYkhBc2N6NEt1b3lpMGw5OE9vOFE9IiwKLSAg
ICAgICJkZXYiOiB0cnVlLAotICAgICAgInJlcXVpcmVzIjogewotICAgICAgICAiZ2xvYi1wYXJl
bnQiOiAiXjIuMC4wIiwKLSAgICAgICAgImlzLWdsb2IiOiAiXjIuMC4wIgotICAgICAgfQotICAg
IH0sCi0gICAgImdsb2ItcGFyZW50IjogewotICAgICAgInZlcnNpb24iOiAiMi4wLjAiLAotICAg
ICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2dsb2ItcGFyZW50Ly0v
Z2xvYi1wYXJlbnQtMi4wLjAudGd6IiwKLSAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1nVGc5Y3Rz
RlQ4elBVemJhcVFMeGd2YnR1eWc9IiwKLSAgICAgICJkZXYiOiB0cnVlLAotICAgICAgInJlcXVp
cmVzIjogewotICAgICAgICAiaXMtZ2xvYiI6ICJeMi4wLjAiCi0gICAgICB9Ci0gICAgfSwKLSAg
ICAiZ3Jvd2wiOiB7Ci0gICAgICAidmVyc2lvbiI6ICIxLjEwLjMiLAotICAgICAgInJlc29sdmVk
IjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2dyb3dsLy0vZ3Jvd2wtMS4xMC4zLnRneiIs
Ci0gICAgICAiaW50ZWdyaXR5IjogInNoYTUxMi1oS2xzYkE1VnUzeHNoMUNnM0o3alNtWC9XYVc2
QTVvQmVxek04OG9OYkNSUUZ6K3pVYVhtNnl4UzRSVnl0cDFzY0JvSnpTWWw0WUFFT1FJdDZPOFYx
UT09IiwKLSAgICAgICJkZXYiOiB0cnVlCi0gICAgfSwKLSAgICAiaGFzLWZsYWciOiB7Ci0gICAg
ICAidmVyc2lvbiI6ICIzLjAuMCIsCi0gICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3Ry
eS5ucG1qcy5vcmcvaGFzLWZsYWcvLS9oYXMtZmxhZy0zLjAuMC50Z3oiLAotICAgICAgImludGVn
cml0eSI6ICJzaGExLXRkUlUzQ0dacmlKV21mTkdmbG9IODdsVnV2MD0iLAotICAgICAgImRldiI6
IHRydWUKLSAgICB9LAotICAgICJoZSI6IHsKLSAgICAgICJ2ZXJzaW9uIjogIjEuMS4xIiwKLSAg
ICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9oZS8tL2hlLTEuMS4x
LnRneiIsCi0gICAgICAiaW50ZWdyaXR5IjogInNoYTEtazBFUDBoc0FselVWSDRob3d2Sng4MEor
SS8wPSIsCi0gICAgICAiZGV2IjogdHJ1ZQotICAgIH0sCi0gICAgImluZmxpZ2h0IjogewotICAg
ICAgInZlcnNpb24iOiAiMS4wLjYiLAotICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0
cnkubnBtanMub3JnL2luZmxpZ2h0Ly0vaW5mbGlnaHQtMS4wLjYudGd6IiwKLSAgICAgICJpbnRl
Z3JpdHkiOiAic2hhMS1TYjFqTWRmUUxRd0p2SkVLRUhXNmdXVzFiZms9IiwKLSAgICAgICJkZXYi
OiB0cnVlLAotICAgICAgInJlcXVpcmVzIjogewotICAgICAgICAib25jZSI6ICJeMS4zLjAiLAot
ICAgICAgICAid3JhcHB5IjogIjEiCi0gICAgICB9Ci0gICAgfSwKLSAgICAiaW5oZXJpdHMiOiB7
Ci0gICAgICAidmVyc2lvbiI6ICIyLjAuMyIsCi0gICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9y
ZWdpc3RyeS5ucG1qcy5vcmcvaW5oZXJpdHMvLS9pbmhlcml0cy0yLjAuMy50Z3oiLAotICAgICAg
ImludGVncml0eSI6ICJzaGExLVl6d3NnK1BhUXFVQzlTUm1BaVNBOUNDQ1lkND0iLAotICAgICAg
ImRldiI6IHRydWUKLSAgICB9LAotICAgICJpcy1idWZmZXIiOiB7Ci0gICAgICAidmVyc2lvbiI6
ICIxLjEuNiIsCi0gICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcv
aXMtYnVmZmVyLy0vaXMtYnVmZmVyLTEuMS42LnRneiIsCi0gICAgICAiaW50ZWdyaXR5IjogInNo
YTUxMi1OY2RBTHdwWGtUbTVadnZiazdvd09VU3ZWdkJLRGdLUDUvZXdmWEV6bm1RRmZzNFpSbWFu
T2VLQlRqUlZqa2EzUUZvTjZYSis5RjNVU3FmSHFUYVU1dz09IiwKLSAgICAgICJkZXYiOiB0cnVl
Ci0gICAgfSwKLSAgICAiaXMtZG90ZmlsZSI6IHsKLSAgICAgICJ2ZXJzaW9uIjogIjEuMC4zIiwK
LSAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9pcy1kb3RmaWxl
Ly0vaXMtZG90ZmlsZS0xLjAuMy50Z3oiLAotICAgICAgImludGVncml0eSI6ICJzaGExLXBxTHpM
LzB0K3dUMXlpWHMwUGE0UFBlWW9lRT0iLAotICAgICAgImRldiI6IHRydWUKLSAgICB9LAotICAg
ICJpcy1lcXVhbC1zaGFsbG93IjogewotICAgICAgInZlcnNpb24iOiAiMC4xLjMiLAotICAgICAg
InJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2lzLWVxdWFsLXNoYWxsb3cv
LS9pcy1lcXVhbC1zaGFsbG93LTAuMS4zLnRneiIsCi0gICAgICAiaW50ZWdyaXR5IjogInNoYTEt
SWpnSmo4SWgzZ3ZQcGRucXhNUmRZNHFoeFRRPSIsCi0gICAgICAiZGV2IjogdHJ1ZSwKLSAgICAg
ICJyZXF1aXJlcyI6IHsKLSAgICAgICAgImlzLXByaW1pdGl2ZSI6ICJeMi4wLjAiCi0gICAgICB9
Ci0gICAgfSwKLSAgICAiaXMtZXh0ZW5kYWJsZSI6IHsKLSAgICAgICJ2ZXJzaW9uIjogIjAuMS4x
IiwKLSAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9pcy1leHRl
bmRhYmxlLy0vaXMtZXh0ZW5kYWJsZS0wLjEuMS50Z3oiLAotICAgICAgImludGVncml0eSI6ICJz
aGExLVlyRVE0b21rY1VHT1BzTnFZWDFITGpBZC9Jaz0iLAotICAgICAgImRldiI6IHRydWUKLSAg
ICB9LAotICAgICJpcy1leHRnbG9iIjogewotICAgICAgInZlcnNpb24iOiAiMS4wLjAiLAotICAg
ICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2lzLWV4dGdsb2IvLS9p
cy1leHRnbG9iLTEuMC4wLnRneiIsCi0gICAgICAiaW50ZWdyaXR5IjogInNoYTEtckVhQmQ4U1VO
QVdna3Z5UEtYWU1iL3hpQnNBPSIsCi0gICAgICAiZGV2IjogdHJ1ZQotICAgIH0sCi0gICAgImlz
LWdsb2IiOiB7Ci0gICAgICAidmVyc2lvbiI6ICIyLjAuMSIsCi0gICAgICAicmVzb2x2ZWQiOiAi
aHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvaXMtZ2xvYi8tL2lzLWdsb2ItMi4wLjEudGd6IiwK
LSAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS0wSmI1SnFQZTFXQVBQOS9aRVpqTENJakMyR009IiwK
LSAgICAgICJkZXYiOiB0cnVlLAotICAgICAgInJlcXVpcmVzIjogewotICAgICAgICAiaXMtZXh0
Z2xvYiI6ICJeMS4wLjAiCi0gICAgICB9Ci0gICAgfSwKLSAgICAiaXMtbnVtYmVyIjogewotICAg
ICAgInZlcnNpb24iOiAiMi4xLjAiLAotICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0
cnkubnBtanMub3JnL2lzLW51bWJlci8tL2lzLW51bWJlci0yLjEuMC50Z3oiLAotICAgICAgImlu
dGVncml0eSI6ICJzaGExLUFmeTdzNU5HT2xTUEwwWnN6aGJlemtuYmtJOD0iLAotICAgICAgImRl
diI6IHRydWUsCi0gICAgICAicmVxdWlyZXMiOiB7Ci0gICAgICAgICJraW5kLW9mIjogIl4zLjAu
MiIKLSAgICAgIH0KLSAgICB9LAotICAgICJpcy1wb3NpeC1icmFja2V0IjogewotICAgICAgInZl
cnNpb24iOiAiMC4xLjEiLAotICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBt
anMub3JnL2lzLXBvc2l4LWJyYWNrZXQvLS9pcy1wb3NpeC1icmFja2V0LTAuMS4xLnRneiIsCi0g
ICAgICAiaW50ZWdyaXR5IjogInNoYTEtTXpUY2VYZERhT2t2QVc1dnZBcUk5YzF1YThRPSIsCi0g
ICAgICAiZGV2IjogdHJ1ZQotICAgIH0sCi0gICAgImlzLXByaW1pdGl2ZSI6IHsKLSAgICAgICJ2
ZXJzaW9uIjogIjIuMC4wIiwKLSAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5w
bWpzLm9yZy9pcy1wcmltaXRpdmUvLS9pcy1wcmltaXRpdmUtMi4wLjAudGd6IiwKLSAgICAgICJp
bnRlZ3JpdHkiOiAic2hhMS1JSHVya1dPRW1jQjdLdDhrQ2tHb2NoQURSWFU9IiwKLSAgICAgICJk
ZXYiOiB0cnVlCi0gICAgfSwKLSAgICAiaXNhcnJheSI6IHsKLSAgICAgICJ2ZXJzaW9uIjogIjEu
MC4wIiwKLSAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9pc2Fy
cmF5Ly0vaXNhcnJheS0xLjAuMC50Z3oiLAotICAgICAgImludGVncml0eSI6ICJzaGExLXU1TmRT
RmdzdWhhTUJvTkpWNlZLUGdjU1R4RT0iLAotICAgICAgImRldiI6IHRydWUKLSAgICB9LAotICAg
ICJpc29iamVjdCI6IHsKLSAgICAgICJ2ZXJzaW9uIjogIjIuMS4wIiwKLSAgICAgICJyZXNvbHZl
ZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9pc29iamVjdC8tL2lzb2JqZWN0LTIuMS4w
LnRneiIsCi0gICAgICAiaW50ZWdyaXR5IjogInNoYTEtOEdWV0VKYWo4ZG91OUdKeStCWElRTmgr
RElrPSIsCi0gICAgICAiZGV2IjogdHJ1ZSwKLSAgICAgICJyZXF1aXJlcyI6IHsKLSAgICAgICAg
ImlzYXJyYXkiOiAiMS4wLjAiCi0gICAgICB9Ci0gICAgfSwKLSAgICAiamVzdC1kaWZmIjogewot
ICAgICAgInZlcnNpb24iOiAiMjIuNC4wIiwKLSAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3Jl
Z2lzdHJ5Lm5wbWpzLm9yZy9qZXN0LWRpZmYvLS9qZXN0LWRpZmYtMjIuNC4wLnRneiIsCi0gICAg
ICAiaW50ZWdyaXR5IjogInNoYTUxMi0rL3QyMFdtbmtPa0I4TU9hR2FQemlJOHpXS3hxdU12WXc0
VWIrd096aTdBVWhtcEZYejQzYnVXU3hWb1pvNEo1Um5Db3pwR2JYMy9Gc3NqSjVLVjlOdz09IiwK
LSAgICAgICJkZXYiOiB0cnVlLAotICAgICAgInJlcXVpcmVzIjogewotICAgICAgICAiY2hhbGsi
OiAiXjIuMC4xIiwKLSAgICAgICAgImRpZmYiOiAiXjMuMi4wIiwKLSAgICAgICAgImplc3QtZ2V0
LXR5cGUiOiAiXjIyLjEuMCIsCi0gICAgICAgICJwcmV0dHktZm9ybWF0IjogIl4yMi40LjAiCi0g
ICAgICB9Ci0gICAgfSwKLSAgICAiamVzdC1nZXQtdHlwZSI6IHsKLSAgICAgICJ2ZXJzaW9uIjog
IjIyLjEuMCIsCi0gICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcv
amVzdC1nZXQtdHlwZS8tL2plc3QtZ2V0LXR5cGUtMjIuMS4wLnRneiIsCi0gICAgICAiaW50ZWdy
aXR5IjogInNoYTUxMi1uRDk3SVZPbE5QNmZqSU41aTdqNVhSSCtoRnNITDdWbGF1QmJ6UnZ1ZWFh
VWU3MHVvaHJrejdwTC9OOGx4L0lBd1pSVEovL3dPZFZnaDg1T2dNN2czdz09IiwKLSAgICAgICJk
ZXYiOiB0cnVlCi0gICAgfSwKLSAgICAiamVzdC1tYXRjaGVyLXV0aWxzIjogewotICAgICAgInZl
cnNpb24iOiAiMjIuNC4wIiwKLSAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5w
bWpzLm9yZy9qZXN0LW1hdGNoZXItdXRpbHMvLS9qZXN0LW1hdGNoZXItdXRpbHMtMjIuNC4wLnRn
eiIsCi0gICAgICAiaW50ZWdyaXR5IjogInNoYTUxMi0wM20zaXNzeFVYcFdNd0RZVGZtTDhoUk5l
d1VCMHlDUlRlWFBtK2VxMDU4clp4TEhEOWY1TnRTU085OENXSHFlNFV5SVNJeGQ5QW85aURWakhX
ZDJxZz09IiwKLSAgICAgICJkZXYiOiB0cnVlLAotICAgICAgInJlcXVpcmVzIjogewotICAgICAg
ICAiY2hhbGsiOiAiXjIuMC4xIiwKLSAgICAgICAgImplc3QtZ2V0LXR5cGUiOiAiXjIyLjEuMCIs
Ci0gICAgICAgICJwcmV0dHktZm9ybWF0IjogIl4yMi40LjAiCi0gICAgICB9Ci0gICAgfSwKLSAg
ICAiamVzdC1tZXNzYWdlLXV0aWwiOiB7Ci0gICAgICAidmVyc2lvbiI6ICIyMi40LjAiLAotICAg
ICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2plc3QtbWVzc2FnZS11
dGlsLy0vamVzdC1tZXNzYWdlLXV0aWwtMjIuNC4wLnRneiIsCi0gICAgICAiaW50ZWdyaXR5Ijog
InNoYTUxMi1leUNKQjBUM2hybHBGRjJGcVFvSUIwOTNPdWxQKzFxdkFUUW1EM0lPZ0pnTUdxUEw2
ZVl3OFRiQzVQL1ZDV1BxS2hHTDUxeHZqSUlob3c1ZVoyd0hGdz09IiwKLSAgICAgICJkZXYiOiB0
cnVlLAotICAgICAgInJlcXVpcmVzIjogewotICAgICAgICAiQGJhYmVsL2NvZGUtZnJhbWUiOiAi
XjcuMC4wLWJldGEuMzUiLAotICAgICAgICAiY2hhbGsiOiAiXjIuMC4xIiwKLSAgICAgICAgIm1p
Y3JvbWF0Y2giOiAiXjIuMy4xMSIsCi0gICAgICAgICJzbGFzaCI6ICJeMS4wLjAiLAotICAgICAg
ICAic3RhY2stdXRpbHMiOiAiXjEuMC4xIgotICAgICAgfQotICAgIH0sCi0gICAgImplc3QtcmVn
ZXgtdXRpbCI6IHsKLSAgICAgICJ2ZXJzaW9uIjogIjIyLjEuMCIsCi0gICAgICAicmVzb2x2ZWQi
OiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvamVzdC1yZWdleC11dGlsLy0vamVzdC1yZWdl
eC11dGlsLTIyLjEuMC50Z3oiLAotICAgICAgImludGVncml0eSI6ICJzaGE1MTItb24wTHFWUzZY
ZWg2OXN3M2QxUnVrVm51citsVk9sM3prbWIwUTU0RkhqOXdIb3E2ZGJ0V3FiM1RTbG5WVXl4MzZo
cWpKaGpncy9RTHFzMDdCenU3MlE9PSIsCi0gICAgICAiZGV2IjogdHJ1ZQotICAgIH0sCi0gICAg
ImpzLXRva2VucyI6IHsKLSAgICAgICJ2ZXJzaW9uIjogIjMuMC4yIiwKLSAgICAgICJyZXNvbHZl
ZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9qcy10b2tlbnMvLS9qcy10b2tlbnMtMy4w
LjIudGd6IiwKLSAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1tR2JmT1ZFQ0V3NDQ5L21Xdk90bFJE
SUp3bHM9IiwKLSAgICAgICJkZXYiOiB0cnVlCi0gICAgfSwKLSAgICAianNvbmRpZmZwYXRjaCI6
IHsKLSAgICAgICJ2ZXJzaW9uIjogIjAuMy41IiwKLSAgICAgICJyZXNvbHZlZCI6ICJodHRwczov
L3JlZ2lzdHJ5Lm5wbWpzLm9yZy9qc29uZGlmZnBhdGNoLy0vanNvbmRpZmZwYXRjaC0wLjMuNS50
Z3oiLAotICAgICAgImludGVncml0eSI6ICJzaGE1MTItdjdlYUdMRE1DSFhIK2ZzSWFaaHB0RVVK
bVM4RUpwdW5xN0lNNGNjNHZJVC9rU1JBa2FaNlpGNGViaU5jeVVlbEwwem5idmo2bzJCNUdoOXY3
T2cwQlE9PSIsCi0gICAgICAiZGV2IjogdHJ1ZSwKLSAgICAgICJyZXF1aXJlcyI6IHsKLSAgICAg
ICAgImNoYWxrIjogIl4yLjMuMCIsCi0gICAgICAgICJkaWZmLW1hdGNoLXBhdGNoIjogIl4xLjAu
MCIKLSAgICAgIH0KLSAgICB9LAotICAgICJraW5kLW9mIjogewotICAgICAgInZlcnNpb24iOiAi
My4yLjIiLAotICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2tp
bmQtb2YvLS9raW5kLW9mLTMuMi4yLnRneiIsCi0gICAgICAiaW50ZWdyaXR5IjogInNoYTEtTWVv
aHB6UzZ1YnV3OHlSbTJKT3VwUjVLUEdRPSIsCi0gICAgICAiZGV2IjogdHJ1ZSwKLSAgICAgICJy
ZXF1aXJlcyI6IHsKLSAgICAgICAgImlzLWJ1ZmZlciI6ICJeMS4xLjUiCi0gICAgICB9Ci0gICAg
fSwKLSAgICAibWF0aC1yYW5kb20iOiB7Ci0gICAgICAidmVyc2lvbiI6ICIxLjAuMSIsCi0gICAg
ICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvbWF0aC1yYW5kb20vLS9t
YXRoLXJhbmRvbS0xLjAuMS50Z3oiLAotICAgICAgImludGVncml0eSI6ICJzaGExLWl6cXNXSXVL
WnVTWFhqemVwbjk3c3lsZ0g2dz0iLAotICAgICAgImRldiI6IHRydWUKLSAgICB9LAotICAgICJt
aWNyb21hdGNoIjogewotICAgICAgInZlcnNpb24iOiAiMi4zLjExIiwKLSAgICAgICJyZXNvbHZl
ZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9taWNyb21hdGNoLy0vbWljcm9tYXRjaC0y
LjMuMTEudGd6IiwKLSAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1obWQ4bDlGeUN6WTBNZEJORFJV
cE85T01GV1U9IiwKLSAgICAgICJkZXYiOiB0cnVlLAotICAgICAgInJlcXVpcmVzIjogewotICAg
ICAgICAiYXJyLWRpZmYiOiAiXjIuMC4wIiwKLSAgICAgICAgImFycmF5LXVuaXF1ZSI6ICJeMC4y
LjEiLAotICAgICAgICAiYnJhY2VzIjogIl4xLjguMiIsCi0gICAgICAgICJleHBhbmQtYnJhY2tl
dHMiOiAiXjAuMS40IiwKLSAgICAgICAgImV4dGdsb2IiOiAiXjAuMy4xIiwKLSAgICAgICAgImZp
bGVuYW1lLXJlZ2V4IjogIl4yLjAuMCIsCi0gICAgICAgICJpcy1leHRnbG9iIjogIl4xLjAuMCIs
Ci0gICAgICAgICJpcy1nbG9iIjogIl4yLjAuMSIsCi0gICAgICAgICJraW5kLW9mIjogIl4zLjAu
MiIsCi0gICAgICAgICJub3JtYWxpemUtcGF0aCI6ICJeMi4wLjEiLAotICAgICAgICAib2JqZWN0
Lm9taXQiOiAiXjIuMC4wIiwKLSAgICAgICAgInBhcnNlLWdsb2IiOiAiXjMuMC40IiwKLSAgICAg
ICAgInJlZ2V4LWNhY2hlIjogIl4wLjQuMiIKLSAgICAgIH0KLSAgICB9LAotICAgICJtaW5pbWF0
Y2giOiB7Ci0gICAgICAidmVyc2lvbiI6ICIzLjAuNCIsCi0gICAgICAicmVzb2x2ZWQiOiAiaHR0
cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvbWluaW1hdGNoLy0vbWluaW1hdGNoLTMuMC40LnRneiIs
Ci0gICAgICAiaW50ZWdyaXR5IjogInNoYTUxMi15SkhWUUVoeXFQTFVUZ3Q5QjgzUFh1Nlczcng0
TXZ2SHZTVXZUb29ncHdvR0RPVVEreURyUjBIUm90K3lPQ2RDTzd1NGhYM3BXZnQ2a1dCQmNxaDBV
QT09IiwKLSAgICAgICJkZXYiOiB0cnVlLAotICAgICAgInJlcXVpcmVzIjogewotICAgICAgICAi
YnJhY2UtZXhwYW5zaW9uIjogIl4xLjEuNyIKLSAgICAgIH0KLSAgICB9LAotICAgICJtaW5pbWlz
dCI6IHsKLSAgICAgICJ2ZXJzaW9uIjogIjAuMC44IiwKLSAgICAgICJyZXNvbHZlZCI6ICJodHRw
czovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9taW5pbWlzdC8tL21pbmltaXN0LTAuMC44LnRneiIsCi0g
ICAgICAiaW50ZWdyaXR5IjogInNoYTEtaFgvS3Y4TTVmU1lsdUNLQ1l1aHFwNkFSc0YwPSIsCi0g
ICAgICAiZGV2IjogdHJ1ZQotICAgIH0sCi0gICAgIm1rZGlycCI6IHsKLSAgICAgICJ2ZXJzaW9u
IjogIjAuNS4xIiwKLSAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9y
Zy9ta2RpcnAvLS9ta2RpcnAtMC41LjEudGd6IiwKLSAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1N
QVYwT09yR3ozK01SMmZ6aGtqV2FYMTF5UU09IiwKLSAgICAgICJkZXYiOiB0cnVlLAotICAgICAg
InJlcXVpcmVzIjogewotICAgICAgICAibWluaW1pc3QiOiAiMC4wLjgiCi0gICAgICB9Ci0gICAg
fSwKLSAgICAibW9jaGEiOiB7Ci0gICAgICAidmVyc2lvbiI6ICI1LjAuNCIsCi0gICAgICAicmVz
b2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvbW9jaGEvLS9tb2NoYS01LjAuNC50
Z3oiLAotICAgICAgImludGVncml0eSI6ICJzaGE1MTItbk1PcEFQRm9zVTFCNEl4MWpkaHg1ZTNx
N1hPNTVpYzVhOGNnWXZXMjdDZXF1Y0VZK0JhYlMwa1VWTDFDdzFWNVB1VkhaV2VOUldGTG1FUGV4
bzc5VkE9PSIsCi0gICAgICAiZGV2IjogdHJ1ZSwKLSAgICAgICJyZXF1aXJlcyI6IHsKLSAgICAg
ICAgImJyb3dzZXItc3Rkb3V0IjogIjEuMy4xIiwKLSAgICAgICAgImNvbW1hbmRlciI6ICIyLjEx
LjAiLAotICAgICAgICAiZGVidWciOiAiMy4xLjAiLAotICAgICAgICAiZGlmZiI6ICIzLjUuMCIs
Ci0gICAgICAgICJlc2NhcGUtc3RyaW5nLXJlZ2V4cCI6ICIxLjAuNSIsCi0gICAgICAgICJnbG9i
IjogIjcuMS4yIiwKLSAgICAgICAgImdyb3dsIjogIjEuMTAuMyIsCi0gICAgICAgICJoZSI6ICIx
LjEuMSIsCi0gICAgICAgICJta2RpcnAiOiAiMC41LjEiLAotICAgICAgICAic3VwcG9ydHMtY29s
b3IiOiAiNC40LjAiCi0gICAgICB9LAotICAgICAgImRlcGVuZGVuY2llcyI6IHsKLSAgICAgICAg
Imhhcy1mbGFnIjogewotICAgICAgICAgICJ2ZXJzaW9uIjogIjIuMC4wIiwKLSAgICAgICAgICAi
cmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvaGFzLWZsYWcvLS9oYXMtZmxh
Zy0yLjAuMC50Z3oiLAotICAgICAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS02Q0I2OGN4N01OUkd6
SEMzTkxYb3ZoajRqVkU9IiwKLSAgICAgICAgICAiZGV2IjogdHJ1ZQotICAgICAgICB9LAotICAg
ICAgICAic3VwcG9ydHMtY29sb3IiOiB7Ci0gICAgICAgICAgInZlcnNpb24iOiAiNC40LjAiLAot
ICAgICAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9zdXBwb3J0
cy1jb2xvci8tL3N1cHBvcnRzLWNvbG9yLTQuNC4wLnRneiIsCi0gICAgICAgICAgImludGVncml0
eSI6ICJzaGE1MTItcktDMytEeVhXZ0swWkxLd21Sc3JreUhWWkFqTmtmemVlaHVGV2RHR2NxR0RU
WkZINzMrUkg2Uy9SREFBeGw5R3VzU2paU1VXWUxtVDlONXB6WEZPWFE9PSIsCi0gICAgICAgICAg
ImRldiI6IHRydWUsCi0gICAgICAgICAgInJlcXVpcmVzIjogewotICAgICAgICAgICAgImhhcy1m
bGFnIjogIl4yLjAuMCIKLSAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICAgIH0KLSAgICB9LAot
ICAgICJtcyI6IHsKLSAgICAgICJ2ZXJzaW9uIjogIjIuMC4wIiwKLSAgICAgICJyZXNvbHZlZCI6
ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9tcy8tL21zLTIuMC4wLnRneiIsCi0gICAgICAi
aW50ZWdyaXR5IjogInNoYTEtVmdpdXJmd0F2bXdwQWQ5Zm1HRjRqZURWbDhnPSIsCi0gICAgICAi
ZGV2IjogdHJ1ZQotICAgIH0sCi0gICAgIm5vcm1hbGl6ZS1wYXRoIjogewotICAgICAgInZlcnNp
b24iOiAiMi4xLjEiLAotICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMu
b3JnL25vcm1hbGl6ZS1wYXRoLy0vbm9ybWFsaXplLXBhdGgtMi4xLjEudGd6IiwKLSAgICAgICJp
bnRlZ3JpdHkiOiAic2hhMS1HcktMVlc0WmcyT293YWIzNXZvZ0UzL21ydGs9IiwKLSAgICAgICJk
ZXYiOiB0cnVlLAotICAgICAgInJlcXVpcmVzIjogewotICAgICAgICAicmVtb3ZlLXRyYWlsaW5n
LXNlcGFyYXRvciI6ICJeMS4wLjEiCi0gICAgICB9Ci0gICAgfSwKLSAgICAib2JqZWN0Lm9taXQi
OiB7Ci0gICAgICAidmVyc2lvbiI6ICIyLjAuMSIsCi0gICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6
Ly9yZWdpc3RyeS5ucG1qcy5vcmcvb2JqZWN0Lm9taXQvLS9vYmplY3Qub21pdC0yLjAuMS50Z3oi
LAotICAgICAgImludGVncml0eSI6ICJzaGExLUdweDBTQ256bmJ1RmpIYktOWG11S2xUcjBmbz0i
LAotICAgICAgImRldiI6IHRydWUsCi0gICAgICAicmVxdWlyZXMiOiB7Ci0gICAgICAgICJmb3It
b3duIjogIl4wLjEuNCIsCi0gICAgICAgICJpcy1leHRlbmRhYmxlIjogIl4wLjEuMSIKLSAgICAg
IH0KLSAgICB9LAotICAgICJvbmNlIjogewotICAgICAgInZlcnNpb24iOiAiMS40LjAiLAotICAg
ICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL29uY2UvLS9vbmNlLTEu
NC4wLnRneiIsCi0gICAgICAiaW50ZWdyaXR5IjogInNoYTEtV0RzYXAzV1dIVXNST3NGOW5GQzY3
NTNYYTlFPSIsCi0gICAgICAiZGV2IjogdHJ1ZSwKLSAgICAgICJyZXF1aXJlcyI6IHsKLSAgICAg
ICAgIndyYXBweSI6ICIxIgotICAgICAgfQotICAgIH0sCi0gICAgInBhcnNlLWdsb2IiOiB7Ci0g
ICAgICAidmVyc2lvbiI6ICIzLjAuNCIsCi0gICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdp
c3RyeS5ucG1qcy5vcmcvcGFyc2UtZ2xvYi8tL3BhcnNlLWdsb2ItMy4wLjQudGd6IiwKLSAgICAg
ICJpbnRlZ3JpdHkiOiAic2hhMS1zc04yejdFZk5WRTdyZEZ6N3d1MjQ2T0lPUnc9IiwKLSAgICAg
ICJkZXYiOiB0cnVlLAotICAgICAgInJlcXVpcmVzIjogewotICAgICAgICAiZ2xvYi1iYXNlIjog
Il4wLjMuMCIsCi0gICAgICAgICJpcy1kb3RmaWxlIjogIl4xLjAuMCIsCi0gICAgICAgICJpcy1l
eHRnbG9iIjogIl4xLjAuMCIsCi0gICAgICAgICJpcy1nbG9iIjogIl4yLjAuMCIKLSAgICAgIH0K
LSAgICB9LAotICAgICJwYXRoLWlzLWFic29sdXRlIjogewotICAgICAgInZlcnNpb24iOiAiMS4w
LjEiLAotICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL3BhdGgt
aXMtYWJzb2x1dGUvLS9wYXRoLWlzLWFic29sdXRlLTEuMC4xLnRneiIsCi0gICAgICAiaW50ZWdy
aXR5IjogInNoYTEtRjB1U2FITlZOUCs4ZXM1cjlUcGFuaHRjWDE4PSIsCi0gICAgICAiZGV2Ijog
dHJ1ZQotICAgIH0sCi0gICAgInByZXNlcnZlIjogewotICAgICAgInZlcnNpb24iOiAiMC4yLjAi
LAotICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL3ByZXNlcnZl
Ly0vcHJlc2VydmUtMC4yLjAudGd6IiwKLSAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1nVjdSOXV2
R1dTYjRaYk1Rd0hFN3l6TVZ6a3M9IiwKLSAgICAgICJkZXYiOiB0cnVlCi0gICAgfSwKLSAgICAi
cHJldHR5LWZvcm1hdCI6IHsKLSAgICAgICJ2ZXJzaW9uIjogIjIyLjQuMCIsCi0gICAgICAicmVz
b2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvcHJldHR5LWZvcm1hdC8tL3ByZXR0
eS1mb3JtYXQtMjIuNC4wLnRneiIsCi0gICAgICAiaW50ZWdyaXR5IjogInNoYTUxMi1wdkN4UDJp
T0RJSWs5YWRYbG80UzNHUmowQnJKaWlsNjhrQnlBYTFQcmdHOTdjMXRDbGg5ZExNZ3AzWjZjSEZa
cmNsYUFCdDBVSDhQSWh3SHVGTHFZQT09IiwKLSAgICAgICJkZXYiOiB0cnVlLAotICAgICAgInJl
cXVpcmVzIjogewotICAgICAgICAiYW5zaS1yZWdleCI6ICJeMy4wLjAiLAotICAgICAgICAiYW5z
aS1zdHlsZXMiOiAiXjMuMi4wIgotICAgICAgfQotICAgIH0sCi0gICAgInJhbmRvbWF0aWMiOiB7
Ci0gICAgICAidmVyc2lvbiI6ICIzLjAuMCIsCi0gICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9y
ZWdpc3RyeS5ucG1qcy5vcmcvcmFuZG9tYXRpYy8tL3JhbmRvbWF0aWMtMy4wLjAudGd6IiwKLSAg
ICAgICJpbnRlZ3JpdHkiOiAic2hhNTEyLVZkeEZPSUVZM21OTzVQdFNSa2tsZS9oUEpESHZRaEsy
MW9hNzNLNHlBYzlxbXA2TjQyOWdBeUYxZ1pNT1RNZVMwL0FZemFWLzJUcmNlZitOYUlvblNBPT0i
LAotICAgICAgImRldiI6IHRydWUsCi0gICAgICAicmVxdWlyZXMiOiB7Ci0gICAgICAgICJpcy1u
dW1iZXIiOiAiXjQuMC4wIiwKLSAgICAgICAgImtpbmQtb2YiOiAiXjYuMC4wIiwKLSAgICAgICAg
Im1hdGgtcmFuZG9tIjogIl4xLjAuMSIKLSAgICAgIH0sCi0gICAgICAiZGVwZW5kZW5jaWVzIjog
ewotICAgICAgICAiaXMtbnVtYmVyIjogewotICAgICAgICAgICJ2ZXJzaW9uIjogIjQuMC4wIiwK
LSAgICAgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvaXMtbnVt
YmVyLy0vaXMtbnVtYmVyLTQuMC4wLnRneiIsCi0gICAgICAgICAgImludGVncml0eSI6ICJzaGE1
MTItclNrbGNBSWxmMU9tRmR5QXFibldUTFZlbHNRNTh1dlo2NlMvWnlhd2pXcUl2aVRXQ2pnMlB6
Vkd3OFdVQStuTnVQVHFiNHdnQStOc3pySiswOExsZ1E9PSIsCi0gICAgICAgICAgImRldiI6IHRy
dWUKLSAgICAgICAgfSwKLSAgICAgICAgImtpbmQtb2YiOiB7Ci0gICAgICAgICAgInZlcnNpb24i
OiAiNi4wLjIiLAotICAgICAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpz
Lm9yZy9raW5kLW9mLy0va2luZC1vZi02LjAuMi50Z3oiLAotICAgICAgICAgICJpbnRlZ3JpdHki
OiAic2hhNTEyLXM1a0xPY25IMFhxRE8rRnZ1YUxYOEREaloxOENHRms3VnlnSDQwUW9LUFVRaFc0
ZTJydk0wcndVcTB0OElRRE93WVNlTEswMVU5ME9qekJUbWUyUXFBPT0iLAotICAgICAgICAgICJk
ZXYiOiB0cnVlCi0gICAgICAgIH0KLSAgICAgIH0KLSAgICB9LAotICAgICJyZWdleC1jYWNoZSI6
IHsKLSAgICAgICJ2ZXJzaW9uIjogIjAuNC40IiwKLSAgICAgICJyZXNvbHZlZCI6ICJodHRwczov
L3JlZ2lzdHJ5Lm5wbWpzLm9yZy9yZWdleC1jYWNoZS8tL3JlZ2V4LWNhY2hlLTAuNC40LnRneiIs
Ci0gICAgICAiaW50ZWdyaXR5IjogInNoYTUxMi1uVklad3RDamtDOVlndldrcE01NUI1ckJoQllS
WmhBYUpiZ2NGWVhYc0huYlo5VVpJOW5uVldZWnBCbENxdjlobzJlWnJ5UG5XclpHc09kUHdWV1hX
UT09IiwKLSAgICAgICJkZXYiOiB0cnVlLAotICAgICAgInJlcXVpcmVzIjogewotICAgICAgICAi
aXMtZXF1YWwtc2hhbGxvdyI6ICJeMC4xLjMiCi0gICAgICB9Ci0gICAgfSwKLSAgICAicmVtb3Zl
LXRyYWlsaW5nLXNlcGFyYXRvciI6IHsKLSAgICAgICJ2ZXJzaW9uIjogIjEuMS4wIiwKLSAgICAg
ICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9yZW1vdmUtdHJhaWxpbmct
c2VwYXJhdG9yLy0vcmVtb3ZlLXRyYWlsaW5nLXNlcGFyYXRvci0xLjEuMC50Z3oiLAotICAgICAg
ImludGVncml0eSI6ICJzaGExLXdrdk9LaWc2MnRXOFAxamcxSUpKdVNONTJPOD0iLAotICAgICAg
ImRldiI6IHRydWUKLSAgICB9LAotICAgICJyZXBlYXQtZWxlbWVudCI6IHsKLSAgICAgICJ2ZXJz
aW9uIjogIjEuMS4yIiwKLSAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpz
Lm9yZy9yZXBlYXQtZWxlbWVudC8tL3JlcGVhdC1lbGVtZW50LTEuMS4yLnRneiIsCi0gICAgICAi
aW50ZWdyaXR5IjogInNoYTEtN3dpYUY0MFVnN3F1VFpQcm1MVDU1T0VkbVFvPSIsCi0gICAgICAi
ZGV2IjogdHJ1ZQotICAgIH0sCi0gICAgInJlcGVhdC1zdHJpbmciOiB7Ci0gICAgICAidmVyc2lv
biI6ICIxLjYuMSIsCi0gICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5v
cmcvcmVwZWF0LXN0cmluZy8tL3JlcGVhdC1zdHJpbmctMS42LjEudGd6IiwKLSAgICAgICJpbnRl
Z3JpdHkiOiAic2hhMS1qY3JrY09ISWlyd3RZQS8vU25kaWh0cDE1amM9IiwKLSAgICAgICJkZXYi
OiB0cnVlCi0gICAgfSwKLSAgICAic2xhc2giOiB7Ci0gICAgICAidmVyc2lvbiI6ICIxLjAuMCIs
Ci0gICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvc2xhc2gvLS9z
bGFzaC0xLjAuMC50Z3oiLAotICAgICAgImludGVncml0eSI6ICJzaGExLXhCOHZiRG44RnRITkY2
MUxYWWxoRks1SERWVT0iLAotICAgICAgImRldiI6IHRydWUKLSAgICB9LAotICAgICJzdGFjay11
dGlscyI6IHsKLSAgICAgICJ2ZXJzaW9uIjogIjEuMC4xIiwKLSAgICAgICJyZXNvbHZlZCI6ICJo
dHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9zdGFjay11dGlscy8tL3N0YWNrLXV0aWxzLTEuMC4x
LnRneiIsCi0gICAgICAiaW50ZWdyaXR5IjogInNoYTEtMVBNNnRVNk9PSGVMREtYUDA3T3ZzUzIy
aGlBPSIsCi0gICAgICAiZGV2IjogdHJ1ZQotICAgIH0sCi0gICAgInN1cHBvcnRzLWNvbG9yIjog
ewotICAgICAgInZlcnNpb24iOiAiNS4zLjAiLAotICAgICAgInJlc29sdmVkIjogImh0dHBzOi8v
cmVnaXN0cnkubnBtanMub3JnL3N1cHBvcnRzLWNvbG9yLy0vc3VwcG9ydHMtY29sb3ItNS4zLjAu
dGd6IiwKLSAgICAgICJpbnRlZ3JpdHkiOiAic2hhNTEyLTBhUDAxTExJc2tqS3MzbHE1MkVDMGFH
QkFKaExxN0IyUmQ4SEMvRFIvUHROTnBjTGlsTm1IQzEyTytodTB1c1Fwbzd3dEhOUnF0cmhCd3RE
YjArZE5nPT0iLAotICAgICAgImRldiI6IHRydWUsCi0gICAgICAicmVxdWlyZXMiOiB7Ci0gICAg
ICAgICJoYXMtZmxhZyI6ICJeMy4wLjAiCi0gICAgICB9Ci0gICAgfSwKLSAgICAid3JhcHB5Ijog
ewotICAgICAgInZlcnNpb24iOiAiMS4wLjIiLAotICAgICAgInJlc29sdmVkIjogImh0dHBzOi8v
cmVnaXN0cnkubnBtanMub3JnL3dyYXBweS8tL3dyYXBweS0xLjAuMi50Z3oiLAotICAgICAgImlu
dGVncml0eSI6ICJzaGExLXRTUTlqejdCcWpYeE5rWUZ2QTBRTnVNS3RwOD0iLAotICAgICAgImRl
diI6IHRydWUKLSAgICB9Ci0gIH0KLX0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvcGFja2FnZS5qc29uIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi9wYWNrYWdlLmpzb24KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDkyZmFjY2Fm
YTgxLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3BhY2thZ2UuanNvbgorKysgL2Rldi9udWxsCkBA
IC0xLDI3ICswLDAgQEAKLXsKLSAgIm5hbWUiOiAid2ViaWRsMiIsCi0gICJkZXNjcmlwdGlvbiI6
ICJBIFdlYklETCBQYXJzZXIiLAotICAidmVyc2lvbiI6ICIxMy4wLjMiLAotICAiY29udHJpYnV0
b3JzIjogWwotICAgICJSb2JpbiBCZXJqb24gPHJvYmluQGJlcmpvbi5jb20+IChodHRwczovL2Jl
cmpvbi5jb20pIiwKLSAgICAiTWFyY29zIENhY2VyZXMgPG1hcmNvc0BtYXJjb3NjLmNvbT4gKGh0
dHBzOi8vbWFyY29zYy5jb20pIiwKLSAgICAiS2FnYW1pIFNhc2NoYSBSb3N5bGlnaHQgPHNhc2No
YXBsYXNAb3V0bG9vay5jb20+IiwKLSAgICAiVGltb3RoeSBHdSA8dGltb3RoeWd1OTlAZ21haWwu
Y29tPiIKLSAgXSwKLSAgImxpY2Vuc2UiOiAiVzNDIiwKLSAgImRlcGVuZGVuY2llcyI6IHt9LAot
ICAiZGV2RGVwZW5kZW5jaWVzIjogewotICAgICJleHBlY3QiOiAiMjIuNC4wIiwKLSAgICAianNv
bmRpZmZwYXRjaCI6ICIwLjMuNSIsCi0gICAgIm1vY2hhIjogIjUuMC40IgotICB9LAotICAic2Ny
aXB0cyI6IHsKLSAgICAidGVzdCI6ICJtb2NoYSIsCi0gICAgImFjcXVpcmUiOiAibm9kZSB0ZXN0
L3V0aWwvYWNxdWlyZS5qcyIKLSAgfSwKLSAgInJlcG9zaXRvcnkiOiAiZ2l0Oi8vZ2l0aHViLmNv
bS93M2Mvd2ViaWRsMi5qcyIsCi0gICJtYWluIjogImluZGV4LmpzIiwKLSAgImZpbGVzIjogWwot
ICAgICJsaWIvKiIKLSAgXQotfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQuanMgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3QvaW52YWxpZC5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTliYmYw
MDZlNTcuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkLmpzCisrKyAvZGV2L251
bGwKQEAgLTEsMjAgKzAsMCBAQAotLy8gTk9URVM6Ci0vLyAgLSB0aGUgZXJyb3JzIGFjdHVhbGx5
IHN0aWxsIG5lZWQgdG8gYmUgcmV2aWV3ZWQgdG8gY2hlY2sgdGhhdCB0aGV5Ci0vLyAgICBhcmUg
ZnVsbHkgY29ycmVjdCBpbnRlcnByZXRhdGlvbnMgb2YgdGhlIElETHMKLQotInVzZSBzdHJpY3Qi
OwotCi1jb25zdCB7IGNvbGxlY3QgfSA9IHJlcXVpcmUoIi4vdXRpbC9jb2xsZWN0Iik7Ci1jb25z
dCBmcyA9IHJlcXVpcmUoImZzIik7Ci1jb25zdCBleHBlY3QgPSByZXF1aXJlKCJleHBlY3QiKTsK
LQotZGVzY3JpYmUoIlBhcnNlcyBhbGwgb2YgdGhlIGludmFsaWQgSURMcyB0byBjaGVjayB0aGF0
IHRoZXkgYmxvdyB1cCBjb3JyZWN0bHkiLCAoKSA9PiB7Ci0gIGZvciAoY29uc3QgdGVzdCBvZiBj
b2xsZWN0KCJpbnZhbGlkIiwgeyBleHBlY3RFcnJvcjogdHJ1ZSB9KSkgewotICAgIGl0KGBzaG91
bGQgcHJvZHVjZSB0aGUgcmlnaHQgZXJyb3IgZm9yICR7dGVzdC5wYXRofWAsICgpID0+IHsKLSAg
ICAgIGNvbnN0IGVyciA9IHRlc3QucmVhZEpTT04oKTsKLSAgICAgIGV4cGVjdCh0ZXN0LmVycm9y
KS50b0JlVHJ1dGh5KCk7Ci0gICAgICBleHBlY3QodGVzdC5lcnJvci5tZXNzYWdlKS50b0VxdWFs
KGVyci5tZXNzYWdlKTsKLSAgICAgIGV4cGVjdCh0ZXN0LmVycm9yLmxpbmUpLnRvRXF1YWwoZXJy
LmxpbmUpOwotICAgIH0pOwotICB9Ci19KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlk
L2lkbC9hcnJheS53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL2FycmF5LndpZGwKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDU4YTg2MThhYjY0Li4wMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3QvaW52YWxpZC9pZGwvYXJyYXkud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDYgKzAs
MCBAQAotLy8gRXh0cmFjdGVkIGZyb20gaHR0cDovL2Rldi53My5vcmcvMjAwNi93ZWJhcGkvV2Vi
SURMLyBvbiAyMDExLTA1LTA2Ci0vLyBUW10gaXMgcmVtb3ZlZCBieSBodHRwczovL2dpdGh1Yi5j
b20vaGV5Y2FtL3dlYmlkbC9jb21taXQvMDc5Y2JiODYxYTk5ZTllODU3YTNmMmExNjljMGJlZWI0
OWNkMDIwYQotW0NvbnN0cnVjdG9yXQotaW50ZXJmYWNlIExvdHRlcnlSZXN1bHRzIHsKLSAgcmVh
ZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIHNob3J0W11bXSBudW1iZXJzOwotfTsKXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvY2Fs
bGVyLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvY2FsbGVyLndpZGwKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDI2ZmVkYzMzZjk0Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3QvaW52YWxpZC9pZGwvY2FsbGVyLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSw3ICswLDAgQEAK
LS8vIEV4dHJhY3RlZCBmcm9tIGh0dHA6Ly9kZXYudzMub3JnLzIwMDYvd2ViYXBpL1dlYklETC8g
b24gMjAxMS0wNS0wNgotLy8gbGVnYWN5Y2FsbGVycyBhcmUgcmVtb3ZlZCBieSBodHRwczovL2dp
dGh1Yi5jb20vaGV5Y2FtL3dlYmlkbC9wdWxsLzQxMgotCi1pbnRlcmZhY2UgTnVtYmVyUXVhZHJ1
cGxlciB7Ci0gIC8vIFRoaXMgb3BlcmF0aW9uIHNpbXBseSByZXR1cm5zIGZvdXIgdGltZXMgdGhl
IGdpdmVuIG51bWJlciB4LgotICBsZWdhY3ljYWxsZXIgZmxvYXQgY29tcHV0ZShmbG9hdCB4KTsK
LX07ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2lu
dmFsaWQvaWRsL2RpY3QtcmVxdWlyZWQtZGVmYXVsdC53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQv
aWRsL2RpY3QtcmVxdWlyZWQtZGVmYXVsdC53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCA0MTI0NDhkMjI2MS4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRs
L2RpY3QtcmVxdWlyZWQtZGVmYXVsdC53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsNSArMCwwIEBA
Ci0vLyBodHRwczovL2hleWNhbS5naXRodWIuaW8vd2ViaWRsLyNyZXF1aXJlZC1kaWN0aW9uYXJ5
LW1lbWJlcgotLy8gIkEgcmVxdWlyZWQgZGljdGlvbmFyeSBtZW1iZXIgbXVzdCBub3QgaGF2ZSBh
IGRlZmF1bHQgdmFsdWUuIgotZGljdGlvbmFyeSBEaWN0IHsKLSAgcmVxdWlyZWQgbG9uZyBtZW1i
ZXIgPSAwOwotfTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9kdXBsaWNhdGUu
d2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9kdXBsaWNhdGUud2lkbApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggNDkxNmFmMzQyNzMuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC9pbnZhbGlkL2lkbC9kdXBsaWNhdGUud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDUgKzAsMCBA
QAotdHlwZWRlZiBpbnQgVGVzdDsKLQotaW50ZXJmYWNlIFRlc3QgewotICB2b2lkIGZvbygpOwot
fTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9lbnVtLWVtcHR5LndpZGwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3QvaW52YWxpZC9pZGwvZW51bS1lbXB0eS53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCA3ZjE4OWViNjJjMS4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFs
aWQvaWRsL2VudW0tZW1wdHkud2lkbAorKysgL2Rldi9udWxsCkBAIC0xICswLDAgQEAKLWVudW0g
RW1wdHkge307CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvZW51bS13by1jb21t
YS53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL2VudW0td28tY29tbWEud2lkbApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZWJjNTMwNjVlZGUuLjAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC9pbnZhbGlkL2lkbC9lbnVtLXdvLWNvbW1hLndpZGwKKysrIC9kZXYvbnVsbApAQCAt
MSArMCwwIEBACi1lbnVtIE5vQ29tbWEgeyAidmFsdWUxIiAidmFsdWUyIiB9OwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL2VudW0ud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lk
bC9lbnVtLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGMzNTVjMzI1MWMwLi4w
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvZW51bS53aWRsCisrKyAvZGV2
L251bGwKQEAgLTEgKzAsMCBAQAotZW51bSBmb28geyAxLCAyLCAzfTsKXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvZXhjZXB0aW9u
LndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvZXhjZXB0aW9uLndpZGwKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IGEwZWEyZTQ3ZTIwLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3QvaW52YWxpZC9pZGwvZXhjZXB0aW9uLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSw2ICswLDAg
QEAKLS8vIEV4dHJhY3RlZCBmcm9tIGh0dHA6Ly9kZXYudzMub3JnLzIwMDYvd2ViYXBpL1dlYklE
TC8gb24gMjAxMS0wNS0wNgotLy8gSURMIGV4Y2VwdGlvbnMgYXJlIHJlbW92ZWQgYnkgaHR0cHM6
Ly9naXRodWIuY29tL2hleWNhbS93ZWJpZGwvY29tbWl0LzUwZTE3MmVjMDc5ZGIwNzNjMzcyNGM5
YmVhYzFiNTc2ZmI1ZGJjNDcKLQotZXhjZXB0aW9uIFNvbWVFeGNlcHRpb24gewotfTsKLQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL2V4dGF0dHItZW1wdHktaWRzLndpZGwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3QvaW52YWxpZC9pZGwvZXh0YXR0ci1lbXB0eS1pZHMud2lkbApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggOTNjNDhjM2FkZTUuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC9pbnZhbGlkL2lkbC9leHRhdHRyLWVtcHR5LWlkcy53aWRsCisrKyAvZGV2L251bGwKQEAgLTEs
MiArMCwwIEBACi1bRXhwb3NlZD0oKV0KLWludGVyZmFjZSBVbmV4cG9zZWQge307CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvaWQtdW5kZXJzY29yZWQtbnVtYmVyLndpZGwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3QvaW52YWxpZC9pZGwvaWQtdW5kZXJzY29yZWQtbnVtYmVyLndpZGwKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQwMDEyMWZkNTRmLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3QvaW52YWxpZC9pZGwvaWQtdW5kZXJzY29yZWQtbnVtYmVyLndpZGwKKysrIC9kZXYvbnVs
bApAQCAtMSArMCwwIEBACi1pbnRlcmZhY2UgXzAge307CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
aW52YWxpZC9pZGwvaW1wbGVtZW50c19hbmRfaW5jbHVkZXNfd3Mud2lkbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9p
bnZhbGlkL2lkbC9pbXBsZW1lbnRzX2FuZF9pbmNsdWRlc193cy53aWRsCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCA2NjY2ZGFlZDAwYy4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L2ludmFsaWQvaWRsL2ltcGxlbWVudHNfYW5kX2luY2x1ZGVzX3dzLndpZGwKKysrIC9kZXYvbnVs
bApAQCAtMSw0ICswLDAgQEAKLS8vIFRoaXMgaGl0cyB0aGUgdW5zaGlmdGluZyBvZiB3aGl0ZXNw
YWNlIGluIHRoZSAiaW1wbGVtZW50cyIgYW5kCi0vLyAiaW5jbHVkZXMiIHByb2R1Y3Rpb25zLiBJ
ZiB0aGVyZSBpcyBhIGJ1ZyBpbiB0aGF0IHdoaXRlc3BhY2UKLS8vIHJvbGxiYWNrLCB0aGUgd3Jv
bmcgZXhjZXB0aW9uIHdpbGwgYmUgcHJvZHVjZWQuCi1mb29iYXI7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3QvaW52YWxpZC9pZGwvaXRlcmF0b3Iud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9p
dGVyYXRvci53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzYmYxYjM2ZGVjNi4u
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL2l0ZXJhdG9yLndpZGwKKysr
IC9kZXYvbnVsbApAQCAtMSwzNSArMCwwIEBACi1pbnRlcmZhY2UgU2Vzc2lvbk1hbmFnZXIgewot
ICBTZXNzaW9uIGdldFNlc3Npb25Gb3JVc2VyKERPTVN0cmluZyB1c2VybmFtZSk7Ci0gIHJlYWRv
bmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIHNlc3Npb25Db3VudDsKLQotICBTZXNzaW9uIGl0
ZXJhdG9yOwotfTsKLQotaW50ZXJmYWNlIFNlc3Npb24gewotICByZWFkb25seSBhdHRyaWJ1dGUg
RE9NU3RyaW5nIHVzZXJuYW1lOwotICAvLyAuLi4KLX07Ci0KLWludGVyZmFjZSBTZXNzaW9uTWFu
YWdlcjIgewotICBTZXNzaW9uMiBnZXRTZXNzaW9uRm9yVXNlcihET01TdHJpbmcgdXNlcm5hbWUp
OwotICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBzZXNzaW9uQ291bnQ7Ci0KLSAg
U2Vzc2lvbjIgaXRlcmF0b3IgPSBTZXNzaW9uSXRlcmF0b3I7Ci19OwotCi1pbnRlcmZhY2UgU2Vz
c2lvbjIgewotICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHVzZXJuYW1lOwotICAvLyAu
Li4KLX07Ci0KLWludGVyZmFjZSBTZXNzaW9uSXRlcmF0b3IgewotICByZWFkb25seSBhdHRyaWJ1
dGUgdW5zaWduZWQgbG9uZyByZW1haW5pbmdTZXNzaW9uczsKLX07Ci0KLSAgICAgaW50ZXJmYWNl
IE5vZGVMaXN0IHsKLSAgICAgICBOb2RlIGl0ZXJhdG9yID0gTm9kZUl0ZXJhdG9yOwotICAgICB9
OwotCi0gICAgIGludGVyZmFjZSBOb2RlSXRlcmF0b3IgewotICAgICAgIE5vZGUgaXRlcmF0b3Ig
b2JqZWN0OwotICAgICB9OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9tYXBsaWtlLTF0eXBlLndpZGwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52
YWxpZC9pZGwvbWFwbGlrZS0xdHlwZS53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCBlZmI1YzE0ZmZkNi4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL21h
cGxpa2UtMXR5cGUud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDMgKzAsMCBAQAotaW50ZXJmYWNl
IE1hcExpa2VPbmVUeXBlIHsKLSAgbWFwbGlrZTxsb25nPjsKLX0KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvbW9kdWxlLndpZGwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvbW9kdWxlLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IGE0Yzc5ZmRmMTU1Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxp
ZC9pZGwvbW9kdWxlLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSwyNSArMCwwIEBACi0vLyBFeHRy
YWN0ZWQgZnJvbSBodHRwOi8vZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJJREwvIG9uIDIwMTEt
MDUtMDYKLW1vZHVsZSBnZnggewotCi0gIG1vZHVsZSBnZW9tIHsKLSAgICBpbnRlcmZhY2UgU2hh
cGUgeyAvKiAuLi4gKi8gfTsKLSAgICBpbnRlcmZhY2UgUmVjdGFuZ2xlIDogU2hhcGUgeyAvKiAu
Li4gKi8gfTsKLSAgICBpbnRlcmZhY2UgUGF0aCA6IFNoYXBlIHsgLyogLi4uICovIH07Ci0gIH07
Ci0KLSAgaW50ZXJmYWNlIEdyYXBoaWNzQ29udGV4dCB7Ci0gICAgdm9pZCBmaWxsU2hhcGUoZ2Vv
bTo6U2hhcGUgcyk7Ci0gICAgdm9pZCBzdHJva2VTaGFwZShnZW9tOjpTaGFwZSBzKTsKLSAgfTsK
LX07Ci0KLW1vZHVsZSBndWkgewotCi0gIGludGVyZmFjZSBXaWRnZXQgeyAvKiAuLi4gKi8gIH07
Ci0KLSAgaW50ZXJmYWNlIFdpbmRvdyA6IFdpZGdldCB7Ci0gICAgZ2Z4OjpHcmFwaGljc0NvbnRl
eHQgZ2V0R3JhcGhpY3NDb250ZXh0KCk7Ci0gIH07Ci0KLSAgaW50ZXJmYWNlIEJ1dHRvbiA6IFdp
ZGdldCB7IC8qIC4uLiAqLyAgfTsKLX07ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL25hbWVzcGFjZS1yZWFkd3JpdGUud2lkbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9uYW1lc3BhY2UtcmVhZHdyaXRlLndpZGwKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IGUxODQxMzMyMjg0Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3QvaW52YWxpZC9pZGwvbmFtZXNwYWNlLXJlYWR3cml0ZS53aWRsCisrKyAvZGV2L251bGwK
QEAgLTEsMyArMCwwIEBACi1uYW1lc3BhY2UgQ1NTIHsKLSAgYXR0cmlidXRlIG9iamVjdCByZWFk
d3JpdGU7Ci19OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL25vLXNlbWljb2xv
bi1jYWxsYmFjay53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL25vLXNlbWljb2xvbi1jYWxs
YmFjay53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjYjIwNTU3MThlNS4uMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL25vLXNlbWljb2xvbi1jYWxsYmFj
ay53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsNyArMCwwIEBACi1jYWxsYmFjayBpbnRlcmZhY2Ug
Tm9TZW1pY29sb24gewotICBhdHRyaWJ1dGUgYm9vbGVhbiBub1NlbWlDb2xvbjsKLX0KLQotZW51
bSBZb3VOZWVkT25lIHsKLSAgInJlYWxseSIKLX0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZh
bGlkL2lkbC9uby1zZW1pY29sb24ud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9uby1zZW1p
Y29sb24ud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTBiYzcxNjI0OWIuLjAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9uby1zZW1pY29sb24ud2lkbAor
KysgL2Rldi9udWxsCkBAIC0xLDcgKzAsMCBAQAotcGFydGlhbCBpbnRlcmZhY2UgTm9TZW1pY29s
b24gewotICBhdHRyaWJ1dGUgYm9vbGVhbiBub1NlbWlDb2xvbjsKLX0KLQotZW51bSBZb3VOZWVk
T25lIHsKLSAgInJlYWxseSIKLX0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9u
b25udWxsYWJsZWFueS53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL25vbm51bGxhYmxlYW55
LndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDM4OTU3NjU1NTIzLi4wMDAwMDAw
MDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvbm9ubnVsbGFibGVhbnkud2lkbAorKysg
L2Rldi9udWxsCkBAIC0xLDMgKzAsMCBAQAotaW50ZXJmYWNlIE5vbk51bGxhYmxlIHsKLSAgYXR0
cmlidXRlIGFueT8gZm9vOwotfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvbm9ubnVsbGFibGVvYmplY3RzLndpZGwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3QvaW52YWxpZC9pZGwvbm9ubnVsbGFibGVvYmplY3RzLndpZGwKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDZjODc1ZmYwNGI1Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
aW52YWxpZC9pZGwvbm9ubnVsbGFibGVvYmplY3RzLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSw2
ICswLDAgQEAKLWludGVyZmFjZSBGb28ge307Ci0KLWludGVyZmFjZSBOb25OdWxsYWJsZSB7Ci0g
IGF0dHJpYnV0ZSBGb28/PwotICAgIGZvbzsKLX07CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52
YWxpZC9pZGwvcHJvbWlzZS1udWxsYWJsZS53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL3By
b21pc2UtbnVsbGFibGUud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODk0ZDdj
MDQ0YjIuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9wcm9taXNlLW51
bGxhYmxlLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSw0ICswLDAgQEAKLWludGVyZmFjZSBYIHsK
LSAgICBhdHRyaWJ1dGUgUHJvbWlzZTx2b2lkPj8KLSAgICAgICAgcHJvbWlzZTsKLX07CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvcHJvbWlzZS13aXRoLWV4dGVuZGVkLWF0dHJp
YnV0ZS53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL3Byb21pc2Utd2l0aC1leHRlbmRlZC1h
dHRyaWJ1dGUud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMGNlMTcxZmVjMzMu
LjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9wcm9taXNlLXdpdGgtZXh0
ZW5kZWQtYXR0cmlidXRlLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSwzICswLDAgQEAKLWludGVy
ZmFjZSBGb28gewotICBQcm9taXNlPFtYQXR0cl0gRE9NU3RyaW5nPiBmb28oYW55IHBhcmFtKTsK
LX07CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvcmFpc2VzLndpZGwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3QvaW52YWxpZC9pZGwvcmFpc2VzLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IGZmNjU1MjJmMmIzLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwv
cmFpc2VzLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSwxOCArMCwwIEBACi0vLyBnZXRyYWlzZXMg
YW5kIHNldHJhaXNlcyBhcmUgbm90IGxvbmdlciB2YWxpZCBXZWIgSURMCi1pbnRlcmZhY2UgUGVy
c29uIHsKLQotICAvLyBBbiBhdHRyaWJ1dGUgdGhhdCBjYW4gcmFpc2UgYW4gZXhjZXB0aW9uIGlm
IGl0IGlzIHNldCB0byBhbiBpbnZhbGlkIHZhbHVlLgotICBhdHRyaWJ1dGUgRE9NU3RyaW5nIG5h
bWUgc2V0cmFpc2VzIChJbnZhbGlkTmFtZSk7Ci0KLSAgLy8gQW4gYXR0cmlidXRlIHdob3NlIHZh
bHVlIGNhbm5vdCBiZSBhc3NpZ25lZCB0bywgYW5kIHdoaWNoIGNhbiByYWlzZSBhbgotICAvLyBl
eGNlcHRpb24gc29tZSBjaXJjdW1zdGFuY2VzLgotICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3Ry
aW5nIHBldE5hbWUgZ2V0cmFpc2VzIChOb1N1Y2hQZXQpOwotfTsKLQotZXhjZXB0aW9uIFNvbWVF
eGNlcHRpb24gewotfTsKLQotaW50ZXJmYWNlIEV4Y2VwdGlvblRocm93ZXIgewotICAvLyBUaGlz
IGF0dHJpYnV0ZSBhbHdheXMgdGhyb3dzIGEgU29tZUV4Y2VwdGlvbiBhbmQgbmV2ZXIgcmV0dXJu
cyBhIHZhbHVlLgotICBhdHRyaWJ1dGUgbG9uZyB2YWx1ZU9mIGdldHJhaXNlcyhTb21lRXhjZXB0
aW9uKTsKLX07ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L2ludmFsaWQvaWRsL3JlYWRvbmx5LWl0ZXJhYmxlLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxp
ZC9pZGwvcmVhZG9ubHktaXRlcmFibGUud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggNjA1N2FhMWZlYmEuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9y
ZWFkb25seS1pdGVyYWJsZS53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsMyArMCwwIEBACi1pbnRl
cmZhY2UgUmVhZG9ubHlJdGVyYWJsZSB7Ci0gIHJlYWRvbmx5IGl0ZXJhYmxlPGxvbmc+OwotfQpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlk
L2lkbC9yZWNvcmQta2V5LXdpdGgtZXh0ZW5kZWQtYXR0cmlidXRlLndpZGwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
aW52YWxpZC9pZGwvcmVjb3JkLWtleS13aXRoLWV4dGVuZGVkLWF0dHJpYnV0ZS53aWRsCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjMTFlYjc0MTRiMC4uMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L2ludmFsaWQvaWRsL3JlY29yZC1rZXktd2l0aC1leHRlbmRlZC1hdHRyaWJ1dGUu
d2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDMgKzAsMCBAQAotaW50ZXJmYWNlIEZvbyB7Ci0gIHZv
aWQgZm9vKHJlY29yZDxbWEF0dHJdIERPTVN0cmluZywgYW55PiBwYXJhbSk7Ci19OwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL3JlY29yZC1rZXkud2lkbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9p
bnZhbGlkL2lkbC9yZWNvcmQta2V5LndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDM5ZGMzODYxODJmLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvcmVj
b3JkLWtleS53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsMyArMCwwIEBACi1pbnRlcmZhY2UgRm9v
IHsKLSAgdm9pZCBmb28ocmVjb3JkPG9jdGV0LCBhbnk+IHBhcmFtKTsKLX07CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvcmVjb3JkLXNpbmdsZS53aWRsIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2lu
dmFsaWQvaWRsL3JlY29yZC1zaW5nbGUud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggODRkYjQwMjgyNDMuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9y
ZWNvcmQtc2luZ2xlLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSwzICswLDAgQEAKLWludGVyZmFj
ZSBGb28gewotICB2b2lkIGZvbyhyZWNvcmQ8RE9NU3RyaW5nPiBwYXJhbSk7Ci19OwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL3Njb3BlZG5hbWUud2lkbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9p
bnZhbGlkL2lkbC9zY29wZWRuYW1lLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IGNmY2IxY2NjOTM5Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvc2Nv
cGVkbmFtZS53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsMiArMCwwIEBACi0vLyBzY29wZWQgbmFt
ZXMgYXJlIG5vIGxvbmdlciB2YWxpZCBpbiBXZWJJREwKLSAgdHlwZWRlZiBnZng6Omdlb206Omdl
b20yZDo6UG9pbnQgUG9pbnQ7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvc2Vx
dWVuY2VBc0F0dHJpYnV0ZS53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL3NlcXVlbmNlQXNB
dHRyaWJ1dGUud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzIzZGE4MmFjMjIu
LjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9zZXF1ZW5jZUFzQXR0cmli
dXRlLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSwzICswLDAgQEAKLWludGVyZmFjZSBzZXF1ZW5j
ZUFzQXR0cmlidXRlIHsKLSAgYXR0cmlidXRlIHNlcXVlbmNlPHNob3J0PiBpbnZhbGlkOwotfTsK
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxp
ZC9pZGwvc2V0bGlrZS0ydHlwZXMud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9zZXRsaWtl
LTJ0eXBlcy53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjMjY4MWJjNzVmMS4u
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL3NldGxpa2UtMnR5cGVzLndp
ZGwKKysrIC9kZXYvbnVsbApAQCAtMSwzICswLDAgQEAKLWludGVyZmFjZSBTZXRMaWtlVHdvVHlw
ZXMgewotICBzZXRsaWtlPGxvbmcsIGxvbmc+OwotfQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9zZXR0ZXItY3JlYXRvci53aWRs
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL3NldHRlci1jcmVhdG9yLndpZGwKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IGE3MGIyNjc3NGQ3Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3QvaW52YWxpZC9pZGwvc2V0dGVyLWNyZWF0b3Iud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDQg
KzAsMCBAQAotLy8gRXh0cmFjdGVkIGZyb20gaHR0cDovL2Rldi53My5vcmcvMjAwNi93ZWJhcGkv
V2ViSURMLyBvbiAyMDExLTA1LTA2Ci1pbnRlcmZhY2UgT3JkZXJlZE1hcCB7Ci0gIHNldHRlciBj
cmVhdG9yIHZvaWQgc2V0KERPTVN0cmluZyBuYW1lLCBhbnkgdmFsdWUpOwotfTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9zcGFjZWQtbmVnYXRpdmUtaW5maW5pdHkud2lkbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9zcGFjZWQtbmVnYXRpdmUtaW5maW5pdHkud2lkbApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggM2Q3MTIyMmU1NGIuLjAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9zcGFjZWQtbmVnYXRpdmUtaW5maW5pdHkud2lkbAorKysg
L2Rldi9udWxsCkBAIC0xLDMgKzAsMCBAQAotaW50ZXJmYWNlIFggewotICAgIGNvbnN0IGZsb2F0
IGluZmluaXR5ID0gLSBJbmZpbml0eTsKLX07CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxp
ZC9pZGwvc3BhY2VkLXZhcmlhZGljLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvc3BhY2Vk
LXZhcmlhZGljLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZkNzdlMTg2ZDY2
Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvc3BhY2VkLXZhcmlhZGlj
LndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSwzICswLDAgQEAKLWludGVyZmFjZSBYIHsKLSAgICB2
b2lkIG9wZXJhdGlvbihvYmplY3QgLiAuIC4gYXJncyk7Ci19OwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L2ludmFsaWQvaWRsL3NwZWNpYWwtb21pdHRhYmxlLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxp
ZC9pZGwvc3BlY2lhbC1vbWl0dGFibGUud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggZGQwYzFiMTg1ODkuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9z
cGVjaWFsLW9taXR0YWJsZS53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsOCArMCwwIEBACi0vLyBF
eHRyYWN0ZWQgZnJvbSBodHRwOi8vZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJJREwvIG9uIDIw
MTEtMDUtMDYKLS8vIG9taXR0YWJsZSBpcyBubyBsb25nZXIgYSByZWNvZ25pemVkIGtleXdvcmQg
YXMgb2YgMjAxMTA5MDUKLWludGVyZmFjZSBEaWN0aW9uYXJ5IHsKLSAgcmVhZG9ubHkgYXR0cmli
dXRlIHVuc2lnbmVkIGxvbmcgcHJvcGVydHlDb3VudDsKLQotICBvbWl0dGFibGUgZ2V0dGVyIGZs
b2F0IGdldFByb3BlcnR5KERPTVN0cmluZyBwcm9wZXJ0eU5hbWUpOwotICBvbWl0dGFibGUgc2V0
dGVyIHZvaWQgc2V0UHJvcGVydHkoRE9NU3RyaW5nIHByb3BlcnR5TmFtZSwgZmxvYXQgcHJvcGVy
dHlWYWx1ZSk7Ci19OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC9pbnZhbGlkL2lkbC9zdHJheS1zbGFzaC53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQv
aWRsL3N0cmF5LXNsYXNoLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGI2NzNh
YTk0YjAxLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvc3RyYXktc2xh
c2gud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDIgKzAsMCBAQAotLy8gVGhpcyBpcyBhIGNvbW1l
bnQuCi0vIFRoaXMgaXMgbm90LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL3N0
cmluZ2NvbnN0YW50cy53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL3N0cmluZ2NvbnN0YW50
cy53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0NGZkM2ZmMTM2ZS4uMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL3N0cmluZ2NvbnN0YW50cy53aWRsCisr
KyAvZGV2L251bGwKQEAgLTEsMyArMCwwIEBACi1pbnRlcmZhY2UgVXRpbCB7Ci0gIGNvbnN0IERP
TVN0cmluZyBoZWxsbyA9ICJ3b3JsZCI7Ci19OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC90eXBlZGVmLW5lc3RlZC53aWRsIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L2ludmFsaWQvaWRsL3R5cGVkZWYtbmVzdGVkLndpZGwKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IGRmZDM3N2JmOTMyLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
aW52YWxpZC9pZGwvdHlwZWRlZi1uZXN0ZWQud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDIyICsw
LDAgQEAKLQotICAgICAgaW50ZXJmYWNlIFBvaW50IHsKLSAgICAgICAgYXR0cmlidXRlIGZsb2F0
IHg7Ci0gICAgICAgIGF0dHJpYnV0ZSBmbG9hdCB5OwotICAgICAgfTsKLQotCi0gICAgICBpbnRl
cmZhY2UgUmVjdCB7Ci0gICAgICAgIGF0dHJpYnV0ZSBQb2ludCB0b3BsZWZ0OwotICAgICAgICBh
dHRyaWJ1dGUgUG9pbnQgYm90dG9tcmlnaHQ7Ci0gICAgICB9OwotCi0gIGludGVyZmFjZSBXaWRn
ZXQgewotICAgIHR5cGVkZWYgc2VxdWVuY2U8UG9pbnQ+IFBvaW50U2VxdWVuY2U7Ci0KLSAgICBy
ZWFkb25seSBhdHRyaWJ1dGUgUmVjdCBib3VuZHM7Ci0KLSAgICBib29sZWFuIHBvaW50V2l0aGlu
Qm91bmRzKFBvaW50IHApOwotICAgIGJvb2xlYW4gYWxsUG9pbnRzV2l0aGluQm91bmRzKFBvaW50
U2VxdWVuY2UgcHMpOwotICB9OwotCi0gIHR5cGVkZWYgW0NsYW1wXSBvY3RldCB2YWx1ZTsKXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9p
ZGwvdW5pb24tZGFuZ2xpbmctb3Iud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC91bmlvbi1k
YW5nbGluZy1vci53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwYWEwNDNlOWFj
YS4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL3VuaW9uLWRhbmdsaW5n
LW9yLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSArMCwwIEBACi10eXBlZGVmIChPbmUgb3IgVHdv
IG9yKSBVbmlvbk9yOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL3VuaW9uLW9u
ZS53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL3VuaW9uLW9uZS53aWRsCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCA4NmVlOTZmNTE2ZC4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L2ludmFsaWQvaWRsL3VuaW9uLW9uZS53aWRsCisrKyAvZGV2L251bGwKQEAgLTEgKzAsMCBA
QAotdHlwZWRlZiAoT25seU9uZSkgVW5pb25PbmU7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52
YWxpZC9pZGwvdW5pb24temVyby53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL3VuaW9uLXpl
cm8ud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTc3ZmM0YzcwOGYuLjAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC91bmlvbi16ZXJvLndpZGwKKysrIC9k
ZXYvbnVsbApAQCAtMSArMCwwIEBACi10eXBlZGVmICgpIFVuaW9uWmVybzsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC9pbnZhbGlkL2lkbC91bmtub3duLWdlbmVyaWMud2lkbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9p
bnZhbGlkL2lkbC91bmtub3duLWdlbmVyaWMud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggZWU0YTJkYjc0YTYuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lk
bC91bmtub3duLWdlbmVyaWMud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDMgKzAsMCBAQAotaW50
ZXJmYWNlIEZldGNoRXZlbnQgOiBFdmVudCB7Ci0gIFJlc3BvbnNlUHJvbWlzZTxhbnk+IGRlZmF1
bHQoKTsKLX07CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvdzNjLWltcG9ydC5s
b2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvdzNjLWltcG9ydC5sb2cKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IGYyY2ViNGRmNmVjLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
aW52YWxpZC9pZGwvdzNjLWltcG9ydC5sb2cKKysrIC9kZXYvbnVsbApAQCAtMSw1NiArMCwwIEBA
Ci1UaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0Mg
cmVwb3NpdG9yeS4KLURvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0
LgotSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgotCWh0
dHBzOi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0Ci0KLVRoZW4gcnVuIHRoZSBU
b29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0Ci0KLURv
IE5PVCBtb2RpZnkgb3IgcmVtb3ZlIHRoaXMgZmlsZS4KLQotLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1Qcm9w
ZXJ0aWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6Ci1Ob25lCi1Qcm9wZXJ0eSB2YWx1ZXMg
cmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKLU5vbmUKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotTGlzdCBv
ZiBmaWxlczoKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvYXJyYXkud2lkbAotL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9p
bnZhbGlkL2lkbC9jYWxsZXIud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9kaWN0LXJlcXVp
cmVkLWRlZmF1bHQud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9kdXBsaWNhdGUud2lkbAot
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9lbnVtLWVtcHR5LndpZGwKLS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxp
ZC9pZGwvZW51bS13by1jb21tYS53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL2VudW0ud2lk
bAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9leGNlcHRpb24ud2lkbAotL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZh
bGlkL2lkbC9leHRhdHRyLWVtcHR5LWlkcy53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL2lk
LXVuZGVyc2NvcmVkLW51bWJlci53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL2ltcGxlbWVu
dHNfYW5kX2luY2x1ZGVzX3dzLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvaXRlcmF0b3Iu
d2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9tYXBsaWtlLTF0eXBlLndpZGwKLS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3QvaW52YWxpZC9pZGwvbW9kdWxlLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvbmFtZXNw
YWNlLXJlYWR3cml0ZS53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL25vLXNlbWljb2xvbi1j
YWxsYmFjay53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL25vLXNlbWljb2xvbi53aWRsCi0v
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L2ludmFsaWQvaWRsL25vbm51bGxhYmxlYW55LndpZGwKLS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52
YWxpZC9pZGwvbm9ubnVsbGFibGVvYmplY3RzLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwv
cHJvbWlzZS1udWxsYWJsZS53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL3Byb21pc2Utd2l0
aC1leHRlbmRlZC1hdHRyaWJ1dGUud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9yYWlzZXMu
d2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9yZWFkb25seS1pdGVyYWJsZS53aWRsCi0vTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L2ludmFsaWQvaWRsL3JlY29yZC1rZXktd2l0aC1leHRlbmRlZC1hdHRyaWJ1dGUud2lk
bAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9yZWNvcmQta2V5LndpZGwKLS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52
YWxpZC9pZGwvcmVjb3JkLXNpbmdsZS53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL3Njb3Bl
ZG5hbWUud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2lkbC9zZXF1ZW5jZUFzQXR0cmlidXRlLndp
ZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvc2V0bGlrZS0ydHlwZXMud2lkbAotL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC9pbnZhbGlkL2lkbC9zZXR0ZXItY3JlYXRvci53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRs
L3NwYWNlZC1uZWdhdGl2ZS1pbmZpbml0eS53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL3Nw
YWNlZC12YXJpYWRpYy53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL3NwZWNpYWwtb21pdHRh
YmxlLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvc3RyYXktc2xhc2gud2lkbAotL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC9pbnZhbGlkL2lkbC9zdHJpbmdjb25zdGFudHMud2lkbAotL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlk
L2lkbC90eXBlZGVmLW5lc3RlZC53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvaWRsL3VuaW9uLWRh
bmdsaW5nLW9yLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9pZGwvdW5pb24tb25lLndpZGwKLS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3QvaW52YWxpZC9pZGwvdW5pb24temVyby53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQv
aWRsL3Vua25vd24tZ2VuZXJpYy53aWRsCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9q
c29uL2FycmF5Lmpzb24gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL2FycmF5Lmpzb24KZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg5OGIyZDgzNmJmLi4wMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3QvaW52YWxpZC9qc29uL2FycmF5Lmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSw0ICsw
LDAgQEAKLXsKLSAgICAibWVzc2FnZSI6ICJHb3QgYW4gZXJyb3IgZHVyaW5nIG9yIHJpZ2h0IGFm
dGVyIHBhcnNpbmcgYGludGVyZmFjZSBMb3R0ZXJ5UmVzdWx0c2A6IE5vIG5hbWUgaW4gYXR0cmli
dXRlIiwKLSAgICAibGluZSI6IDUKLX0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pz
b24vY2FsbGVyLmpzb24gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL2NhbGxlci5qc29uCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1NjdmYTMzNjgxMi4uMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L2ludmFsaWQvanNvbi9jYWxsZXIuanNvbgorKysgL2Rldi9udWxsCkBAIC0xLDQg
KzAsMCBAQAotewotICAgICJtZXNzYWdlIjogIkdvdCBhbiBlcnJvciBkdXJpbmcgb3IgcmlnaHQg
YWZ0ZXIgcGFyc2luZyBgaW50ZXJmYWNlIE51bWJlclF1YWRydXBsZXJgOiBJbnZhbGlkIG9wZXJh
dGlvbiIsCi0gICAgImxpbmUiOiA2Ci19CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9q
c29uL2RpY3QtcmVxdWlyZWQtZGVmYXVsdC5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9k
aWN0LXJlcXVpcmVkLWRlZmF1bHQuanNvbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
ODJiNmIyYWU0MmEuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vZGlj
dC1yZXF1aXJlZC1kZWZhdWx0Lmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSw0ICswLDAgQEAKLXsK
LSAgICAibWVzc2FnZSI6ICAiR290IGFuIGVycm9yIGR1cmluZyBvciByaWdodCBhZnRlciBwYXJz
aW5nIGBkaWN0aW9uYXJ5IERpY3RgOiBSZXF1aXJlZCBtZW1iZXIgbXVzdCBub3QgaGF2ZSBhIGRl
ZmF1bHQiCi0sICAgImxpbmUiOiAgICAgNAotfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFs
aWQvanNvbi9kdXBsaWNhdGUuanNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vZHVwbGljYXRl
Lmpzb24KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGU4OGE3MTU2ZmU4Li4wMDAwMDAw
MDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL2R1cGxpY2F0ZS5qc29uCisrKyAvZGV2
L251bGwKQEAgLTEsNCArMCwwIEBACi17Ci0gICAgIm1lc3NhZ2UiOiAiR290IGFuIGVycm9yIGR1
cmluZyBvciByaWdodCBhZnRlciBwYXJzaW5nIGB0eXBlZGVmIFRlc3RgOiBUaGUgbmFtZSBcIlRl
c3RcIiBvZiB0eXBlIFwidHlwZWRlZlwiIGlzIGFscmVhZHkgc2VlbiIsCi0gICAgImxpbmUiOiAz
Ci19CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL2VudW0tZW1wdHkuanNvbiBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vZW51bS1lbXB0eS5qc29uCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCA3MzRiYzY3ZGUxZi4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2lu
dmFsaWQvanNvbi9lbnVtLWVtcHR5Lmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSw0ICswLDAgQEAK
LXsKLSAgICAibWVzc2FnZSI6ICJHb3QgYW4gZXJyb3IgZHVyaW5nIG9yIHJpZ2h0IGFmdGVyIHBh
cnNpbmcgYGVudW0gRW1wdHlgOiBObyB2YWx1ZSBpbiBlbnVtIiwKLSAgICAibGluZSI6IDEKLX0K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vZW51bS13by1jb21tYS5qc29uIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L2ludmFsaWQvanNvbi9lbnVtLXdvLWNvbW1hLmpzb24KZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IGJmZDBiMDk1MWZjLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
aW52YWxpZC9qc29uL2VudW0td28tY29tbWEuanNvbgorKysgL2Rldi9udWxsCkBAIC0xLDQgKzAs
MCBAQAotewotICAgICJtZXNzYWdlIjogIkdvdCBhbiBlcnJvciBkdXJpbmcgb3IgcmlnaHQgYWZ0
ZXIgcGFyc2luZyBgZW51bSBOb0NvbW1hYDogTm8gY29tbWEgYmV0d2VlbiBlbnVtIHZhbHVlcyIs
Ci0gICAgImxpbmUiOiAxCi19CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL2Vu
dW0uanNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vZW51bS5qc29uCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwNzNmZjZjMjkwYy4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L2ludmFsaWQvanNvbi9lbnVtLmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSw0ICswLDAgQEAKLXsK
LSAgICAibWVzc2FnZSI6ICAiR290IGFuIGVycm9yIGR1cmluZyBvciByaWdodCBhZnRlciBwYXJz
aW5nIGBlbnVtIGZvb2A6IFVuZXhwZWN0ZWQgdmFsdWUgaW4gZW51bSIKLSwgICAibGluZSI6ICAg
ICAxCi19CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL2V4Y2VwdGlvbi5qc29u
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9leGNlcHRpb24uanNvbgpkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggYWQ5ZmFjNmNhMmYuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9p
bnZhbGlkL2pzb24vZXhjZXB0aW9uLmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSw0ICswLDAgQEAK
LXsKLSAgICAibWVzc2FnZSI6ICJHb3QgYW4gZXJyb3IgYmVmb3JlIHBhcnNpbmcgYW55IG5hbWVk
IGRlZmluaXRpb246IFVucmVjb2duaXNlZCB0b2tlbnMiLAotICAgICJsaW5lIjogNAotfQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9leHRhdHRyLWVtcHR5LWlkcy5qc29uIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L2ludmFsaWQvanNvbi9leHRhdHRyLWVtcHR5LWlkcy5qc29uCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCA0MzM3ZjFlMTgwYy4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L2ludmFsaWQvanNvbi9leHRhdHRyLWVtcHR5LWlkcy5qc29uCisrKyAvZGV2L251bGwKQEAg
LTEsNCArMCwwIEBACi17Ci0gICAgIm1lc3NhZ2UiOiAiR290IGFuIGVycm9yIGJlZm9yZSBwYXJz
aW5nIGFueSBuYW1lZCBkZWZpbml0aW9uOiBFeHBlY3RlZCBpZGVudGlmaWVycyBidXQgbm90IGZv
dW5kIiwKLSAgICAibGluZSI6IDEKLX0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pz
b24vaWQtdW5kZXJzY29yZWQtbnVtYmVyLmpzb24gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL2lk
LXVuZGVyc2NvcmVkLW51bWJlci5qc29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0
MTllZDk0NmZjYS4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9pZC11
bmRlcnNjb3JlZC1udW1iZXIuanNvbgorKysgL2Rldi9udWxsCkBAIC0xLDQgKzAsMCBAQAotewot
ICAgICJtZXNzYWdlIjogIkdvdCBhbiBlcnJvciBiZWZvcmUgcGFyc2luZyBhbnkgbmFtZWQgZGVm
aW5pdGlvbjogTm8gbmFtZSBmb3IgaW50ZXJmYWNlIiwKLSAgICAibGluZSI6IDEKLX0KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vaW1wbGVtZW50c19hbmRfaW5jbHVkZXNfd3Mu
anNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vaW1wbGVtZW50c19hbmRfaW5jbHVkZXNfd3Mu
anNvbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYWQ5ZmFjNmNhMmYuLjAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vaW1wbGVtZW50c19hbmRfaW5jbHVkZXNf
d3MuanNvbgorKysgL2Rldi9udWxsCkBAIC0xLDQgKzAsMCBAQAotewotICAgICJtZXNzYWdlIjog
IkdvdCBhbiBlcnJvciBiZWZvcmUgcGFyc2luZyBhbnkgbmFtZWQgZGVmaW5pdGlvbjogVW5yZWNv
Z25pc2VkIHRva2VucyIsCi0gICAgImxpbmUiOiA0Ci19CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
aW52YWxpZC9qc29uL2l0ZXJhdG9yLmpzb24gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL2l0ZXJh
dG9yLmpzb24KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGU0NmQ2NTNhZTNjLi4wMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL2l0ZXJhdG9yLmpzb24KKysrIC9k
ZXYvbnVsbApAQCAtMSw0ICswLDAgQEAKLXsKLSAgICAibWVzc2FnZSI6ICJHb3QgYW4gZXJyb3Ig
ZHVyaW5nIG9yIHJpZ2h0IGFmdGVyIHBhcnNpbmcgYGludGVyZmFjZSBTZXNzaW9uTWFuYWdlcmA6
IEludmFsaWQgb3BlcmF0aW9uIiwKLSAgICAibGluZSI6IDUKLX0KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC9pbnZhbGlkL2pzb24vbWFwbGlrZS0xdHlwZS5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQv
anNvbi9tYXBsaWtlLTF0eXBlLmpzb24KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDc1
ZTdhMzVlZTI1Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL21hcGxp
a2UtMXR5cGUuanNvbgorKysgL2Rldi9udWxsCkBAIC0xLDQgKzAsMCBAQAotewotICAgICJtZXNz
YWdlIjogIkdvdCBhbiBlcnJvciBkdXJpbmcgb3IgcmlnaHQgYWZ0ZXIgcGFyc2luZyBgaW50ZXJm
YWNlIE1hcExpa2VPbmVUeXBlYDogTWlzc2luZyBzZWNvbmQgdHlwZSBhcmd1bWVudCBpbiBtYXBs
aWtlIGRlY2xhcmF0aW9uIiwKLSAgICAibGluZSI6IDIKLX0KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC9pbnZhbGlkL2pzb24vbW9kdWxlLmpzb24gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL21vZHVs
ZS5qc29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5YzA3MWNkZDA3YS4uMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9tb2R1bGUuanNvbgorKysgL2Rldi9u
dWxsCkBAIC0xLDQgKzAsMCBAQAotewotICAgICJtZXNzYWdlIjogICJHb3QgYW4gZXJyb3IgYmVm
b3JlIHBhcnNpbmcgYW55IG5hbWVkIGRlZmluaXRpb246IFVucmVjb2duaXNlZCB0b2tlbnMiCi0s
ICAgImxpbmUiOiAgICAgMgotfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9u
YW1lc3BhY2UtcmVhZHdyaXRlLmpzb24gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL25hbWVzcGFj
ZS1yZWFkd3JpdGUuanNvbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDIxMjE1MTEx
ZjEuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vbmFtZXNwYWNlLXJl
YWR3cml0ZS5qc29uCisrKyAvZGV2L251bGwKQEAgLTEsNCArMCwwIEBACi17Ci0gICAgIm1lc3Nh
Z2UiOiAiR290IGFuIGVycm9yIGR1cmluZyBvciByaWdodCBhZnRlciBwYXJzaW5nIGBuYW1lc3Bh
Y2UgQ1NTYDogQXR0cmlidXRlcyBtdXN0IGJlIHJlYWRvbmx5IGluIHRoaXMgY29udGV4dCIsCi0g
ICAgImxpbmUiOiAyCi19CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL25vLXNl
bWljb2xvbi1jYWxsYmFjay5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9uby1zZW1pY29s
b24tY2FsbGJhY2suanNvbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMWRiOWQxNGM4
ZTIuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vbm8tc2VtaWNvbG9u
LWNhbGxiYWNrLmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSw0ICswLDAgQEAKLXsKLSAgICAibWVz
c2FnZSI6ICJHb3QgYW4gZXJyb3IgZHVyaW5nIG9yIHJpZ2h0IGFmdGVyIHBhcnNpbmcgYGNhbGxi
YWNrIGludGVyZmFjZSBOb1NlbWljb2xvbmA6IE1pc3Npbmcgc2VtaWNvbG9uIGFmdGVyIGludGVy
ZmFjZSIsCi0gICAgImxpbmUiOiA1Ci19CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9q
c29uL25vLXNlbWljb2xvbi5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9uby1zZW1pY29s
b24uanNvbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDg3NTMyYTAxMmYuLjAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vbm8tc2VtaWNvbG9uLmpzb24KKysr
IC9kZXYvbnVsbApAQCAtMSw0ICswLDAgQEAKLXsKLSAgICAibWVzc2FnZSI6ICJHb3QgYW4gZXJy
b3IgZHVyaW5nIG9yIHJpZ2h0IGFmdGVyIHBhcnNpbmcgYHBhcnRpYWwgaW50ZXJmYWNlIE5vU2Vt
aWNvbG9uYDogTWlzc2luZyBzZW1pY29sb24gYWZ0ZXIgaW50ZXJmYWNlIiwKLSAgICAibGluZSI6
IDUKLX0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vbm9ubnVsbGFibGVhbnku
anNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vbm9ubnVsbGFibGVhbnkuanNvbgpkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOGExZjkwMDQ2YWUuLjAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC9pbnZhbGlkL2pzb24vbm9ubnVsbGFibGVhbnkuanNvbgorKysgL2Rldi9udWxsCkBA
IC0xLDQgKzAsMCBAQAotewotICAgICJtZXNzYWdlIjogICJHb3QgYW4gZXJyb3IgZHVyaW5nIG9y
IHJpZ2h0IGFmdGVyIHBhcnNpbmcgYGludGVyZmFjZSBOb25OdWxsYWJsZWA6IFR5cGUgYW55IGNh
bm5vdCBiZSBtYWRlIG51bGxhYmxlIgotLCAgICJsaW5lIjogICAgIDIKLX0KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vbm9ubnVsbGFibGVvYmplY3RzLmpzb24gYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3QvaW52YWxpZC9qc29uL25vbm51bGxhYmxlb2JqZWN0cy5qc29uCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCBkNDcwZWM5NGE2MC4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2lu
dmFsaWQvanNvbi9ub25udWxsYWJsZW9iamVjdHMuanNvbgorKysgL2Rldi9udWxsCkBAIC0xLDQg
KzAsMCBAQAotewotICAgICJtZXNzYWdlIjogIkdvdCBhbiBlcnJvciBkdXJpbmcgb3IgcmlnaHQg
YWZ0ZXIgcGFyc2luZyBgaW50ZXJmYWNlIE5vbk51bGxhYmxlYDogQ2FuJ3QgbnVsbGFibGUgbW9y
ZSB0aGFuIG9uY2UiLAotICAgICJsaW5lIjogNAotfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2lu
dmFsaWQvanNvbi9wcm9taXNlLW51bGxhYmxlLmpzb24gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29u
L3Byb21pc2UtbnVsbGFibGUuanNvbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggY2Vk
NTFmYWYxYmUuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vcHJvbWlz
ZS1udWxsYWJsZS5qc29uCisrKyAvZGV2L251bGwKQEAgLTEsNCArMCwwIEBACi17Ci0gICAgIm1l
c3NhZ2UiOiAiR290IGFuIGVycm9yIGR1cmluZyBvciByaWdodCBhZnRlciBwYXJzaW5nIGBpbnRl
cmZhY2UgWGA6IFByb21pc2UgdHlwZSBjYW5ub3QgYmUgbnVsbGFibGUiLAotICAgICJsaW5lIjog
MgotfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9wcm9taXNlLXdpdGgtZXh0
ZW5kZWQtYXR0cmlidXRlLmpzb24gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL3Byb21pc2Utd2l0
aC1leHRlbmRlZC1hdHRyaWJ1dGUuanNvbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
NzEyMTJkNDZlM2MuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vcHJv
bWlzZS13aXRoLWV4dGVuZGVkLWF0dHJpYnV0ZS5qc29uCisrKyAvZGV2L251bGwKQEAgLTEsNCAr
MCwwIEBACi17Ci0gICAgIm1lc3NhZ2UiOiAiR290IGFuIGVycm9yIGR1cmluZyBvciByaWdodCBh
ZnRlciBwYXJzaW5nIGBpbnRlcmZhY2UgRm9vYDogUHJvbWlzZSB0eXBlIGNhbm5vdCBoYXZlIGV4
dGVuZGVkIGF0dHJpYnV0ZSIsCi0gICAgImxpbmUiOiAyCi19CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3QvaW52YWxpZC9qc29uL3JhaXNlcy5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9yYWlz
ZXMuanNvbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzE2NWI4NzRmMGMuLjAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vcmFpc2VzLmpzb24KKysrIC9kZXYv
bnVsbApAQCAtMSw0ICswLDAgQEAKLXsKLSAgICAibWVzc2FnZSI6ICAiR290IGFuIGVycm9yIGR1
cmluZyBvciByaWdodCBhZnRlciBwYXJzaW5nIGBpbnRlcmZhY2UgUGVyc29uYDogVW50ZXJtaW5h
dGVkIGF0dHJpYnV0ZSIKLSwgICAibGluZSI6ICAgICA1Ci19CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3QvaW52YWxpZC9qc29uL3JlYWRvbmx5LWl0ZXJhYmxlLmpzb24gYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxp
ZC9qc29uL3JlYWRvbmx5LWl0ZXJhYmxlLmpzb24KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IGE1NzFiMjIyNzFiLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29u
L3JlYWRvbmx5LWl0ZXJhYmxlLmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSw0ICswLDAgQEAKLXsK
LSAgICAibWVzc2FnZSI6ICJHb3QgYW4gZXJyb3IgZHVyaW5nIG9yIHJpZ2h0IGFmdGVyIHBhcnNp
bmcgYGludGVyZmFjZSBSZWFkb25seUl0ZXJhYmxlYDogTWlzc2luZyByZXR1cm4gdHlwZSIsCi0g
ICAgImxpbmUiOiAyCi19CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL3JlY29y
ZC1rZXktd2l0aC1leHRlbmRlZC1hdHRyaWJ1dGUuanNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pz
b24vcmVjb3JkLWtleS13aXRoLWV4dGVuZGVkLWF0dHJpYnV0ZS5qc29uCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCA0MDAyZTdmZTAxNS4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L2ludmFsaWQvanNvbi9yZWNvcmQta2V5LXdpdGgtZXh0ZW5kZWQtYXR0cmlidXRlLmpzb24KKysr
IC9kZXYvbnVsbApAQCAtMSw0ICswLDAgQEAKLXsKLSAgICAibWVzc2FnZSI6ICJHb3QgYW4gZXJy
b3IgZHVyaW5nIG9yIHJpZ2h0IGFmdGVyIHBhcnNpbmcgYGludGVyZmFjZSBGb29gOiBSZWNvcmQg
a2V5IGNhbm5vdCBoYXZlIGV4dGVuZGVkIGF0dHJpYnV0ZSIsCi0gICAgImxpbmUiOiAyCi19CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL3JlY29yZC1rZXkuanNvbiBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC9pbnZhbGlkL2pzb24vcmVjb3JkLWtleS5qc29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCA2ZjFiYjk5YmU5MC4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQv
anNvbi9yZWNvcmQta2V5Lmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSw0ICswLDAgQEAKLXsKLSAg
ICAibWVzc2FnZSI6ICJHb3QgYW4gZXJyb3IgZHVyaW5nIG9yIHJpZ2h0IGFmdGVyIHBhcnNpbmcg
YGludGVyZmFjZSBGb29gOiBSZWNvcmQga2V5IG11c3QgYmUgYSBzdHJpbmcgdHlwZSIsCi0gICAg
ImxpbmUiOiAyCi19CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL3JlY29yZC1z
aW5nbGUuanNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vcmVjb3JkLXNpbmdsZS5qc29uCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlY2U0ZmIyZmVlMy4uMDAwMDAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9yZWNvcmQtc2luZ2xlLmpzb24KKysrIC9kZXYvbnVs
bApAQCAtMSw0ICswLDAgQEAKLXsKLSAgICAibWVzc2FnZSI6ICJHb3QgYW4gZXJyb3IgZHVyaW5n
IG9yIHJpZ2h0IGFmdGVyIHBhcnNpbmcgYGludGVyZmFjZSBGb29gOiBNaXNzaW5nIGNvbW1hIGFm
dGVyIHJlY29yZCBrZXkgdHlwZSIsCi0gICAgImxpbmUiOiAyCi19CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3QvaW52YWxpZC9qc29uL3Njb3BlZG5hbWUuanNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pz
b24vc2NvcGVkbmFtZS5qc29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0NjIwZDJk
ZjVmYS4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9zY29wZWRuYW1l
Lmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSw0ICswLDAgQEAKLXsKLSAgICAibWVzc2FnZSI6ICAi
R290IGFuIGVycm9yIGJlZm9yZSBwYXJzaW5nIGFueSBuYW1lZCBkZWZpbml0aW9uOiBObyBuYW1l
IGluIHR5cGVkZWYiCi0sICAgImxpbmUiOiAgICAgMgotfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L2ludmFsaWQvanNvbi9zZXF1ZW5jZUFzQXR0cmlidXRlLmpzb24gYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxp
ZC9qc29uL3NlcXVlbmNlQXNBdHRyaWJ1dGUuanNvbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggNWI0MzE0YTZkZTEuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pz
b24vc2VxdWVuY2VBc0F0dHJpYnV0ZS5qc29uCisrKyAvZGV2L251bGwKQEAgLTEsNCArMCwwIEBA
Ci17Ci0gICAgIm1lc3NhZ2UiOiAgIkdvdCBhbiBlcnJvciBkdXJpbmcgb3IgcmlnaHQgYWZ0ZXIg
cGFyc2luZyBgaW50ZXJmYWNlIHNlcXVlbmNlQXNBdHRyaWJ1dGVgOiBBdHRyaWJ1dGVzIGNhbm5v
dCBhY2NlcHQgc2VxdWVuY2UgdHlwZXMiCi0sICAgImxpbmUiOiAgICAgMgotfQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9zZXRsaWtlLTJ0eXBlcy5qc29uIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L2ludmFsaWQvanNvbi9zZXRsaWtlLTJ0eXBlcy5qc29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAyOTAwZTFiYWMzMC4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQv
anNvbi9zZXRsaWtlLTJ0eXBlcy5qc29uCisrKyAvZGV2L251bGwKQEAgLTEsNCArMCwwIEBACi17
Ci0gICAgIm1lc3NhZ2UiOiAiR290IGFuIGVycm9yIGR1cmluZyBvciByaWdodCBhZnRlciBwYXJz
aW5nIGBpbnRlcmZhY2UgU2V0TGlrZVR3b1R5cGVzYDogVW50ZXJtaW5hdGVkIHNldGxpa2UgZGVj
bGFyYXRpb24iLAotICAgICJsaW5lIjogMgotfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFs
aWQvanNvbi9zZXR0ZXItY3JlYXRvci5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9zZXR0
ZXItY3JlYXRvci5qc29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyNWRlY2IzNzRl
MS4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9zZXR0ZXItY3JlYXRv
ci5qc29uCisrKyAvZGV2L251bGwKQEAgLTEsNCArMCwwIEBACi17Ci0gICAgIm1lc3NhZ2UiOiAi
R290IGFuIGVycm9yIGR1cmluZyBvciByaWdodCBhZnRlciBwYXJzaW5nIGBpbnRlcmZhY2UgT3Jk
ZXJlZE1hcGA6IEludmFsaWQgb3BlcmF0aW9uIiwKLSAgICAibGluZSI6IDMKLX0KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vc3BhY2VkLW5lZ2F0aXZlLWluZmluaXR5Lmpzb24g
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL3NwYWNlZC1uZWdhdGl2ZS1pbmZpbml0eS5qc29uCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5ZTVkNjE4MDQ5OS4uMDAwMDAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9zcGFjZWQtbmVnYXRpdmUtaW5maW5pdHkuanNvbgor
KysgL2Rldi9udWxsCkBAIC0xLDQgKzAsMCBAQAotewotICAgICJtZXNzYWdlIjogIkdvdCBhbiBl
cnJvciBkdXJpbmcgb3IgcmlnaHQgYWZ0ZXIgcGFyc2luZyBgaW50ZXJmYWNlIFhgOiBObyB2YWx1
ZSBmb3IgY29uc3QiLAotICAgICJsaW5lIjogMgotfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2lu
dmFsaWQvanNvbi9zcGFjZWQtdmFyaWFkaWMuanNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24v
c3BhY2VkLXZhcmlhZGljLmpzb24KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwOTBh
YmVlYjcxLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL3NwYWNlZC12
YXJpYWRpYy5qc29uCisrKyAvZGV2L251bGwKQEAgLTEsNCArMCwwIEBACi17Ci0gICAgIm1lc3Nh
Z2UiOiAiR290IGFuIGVycm9yIGR1cmluZyBvciByaWdodCBhZnRlciBwYXJzaW5nIGBpbnRlcmZh
Y2UgWGA6IFVudGVybWluYXRlZCBvcGVyYXRpb24iLAotICAgICJsaW5lIjogMgotfQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9zcGVjaWFsLW9taXR0YWJsZS5qc29uIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L2ludmFsaWQvanNvbi9zcGVjaWFsLW9taXR0YWJsZS5qc29uCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCBjMjBiMjhlMDNjMS4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L2ludmFsaWQvanNvbi9zcGVjaWFsLW9taXR0YWJsZS5qc29uCisrKyAvZGV2L251bGwKQEAgLTEs
NCArMCwwIEBACi17Ci0gICAgIm1lc3NhZ2UiOiAgIkdvdCBhbiBlcnJvciBkdXJpbmcgb3Igcmln
aHQgYWZ0ZXIgcGFyc2luZyBgaW50ZXJmYWNlIERpY3Rpb25hcnlgOiBJbnZhbGlkIG9wZXJhdGlv
biIKLSwgICAibGluZSI6ICAgICA2Ci19CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9q
c29uL3N0cmF5LXNsYXNoLmpzb24gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL3N0cmF5LXNsYXNo
Lmpzb24KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDljMDcxY2RkMDdhLi4wMDAwMDAw
MDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL3N0cmF5LXNsYXNoLmpzb24KKysrIC9k
ZXYvbnVsbApAQCAtMSw0ICswLDAgQEAKLXsKLSAgICAibWVzc2FnZSI6ICAiR290IGFuIGVycm9y
IGJlZm9yZSBwYXJzaW5nIGFueSBuYW1lZCBkZWZpbml0aW9uOiBVbnJlY29nbmlzZWQgdG9rZW5z
IgotLCAgICJsaW5lIjogICAgIDIKLX0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pz
b24vc3RyaW5nY29uc3RhbnRzLmpzb24gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL3N0cmluZ2Nv
bnN0YW50cy5qc29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3NDVkNmU2ZTA4Yi4u
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9zdHJpbmdjb25zdGFudHMu
anNvbgorKysgL2Rldi9udWxsCkBAIC0xLDQgKzAsMCBAQAotewotICAgICJtZXNzYWdlIjogICJH
b3QgYW4gZXJyb3IgZHVyaW5nIG9yIHJpZ2h0IGFmdGVyIHBhcnNpbmcgYGludGVyZmFjZSBVdGls
YDogTm8gdHlwZSBmb3IgY29uc3QiCi0sICAgImxpbmUiOiAgICAgMgotfQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L2ludmFsaWQvanNvbi90eXBlZGVmLW5lc3RlZC5qc29uIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2lu
dmFsaWQvanNvbi90eXBlZGVmLW5lc3RlZC5qc29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCBlMTg0M2NlYzdkOS4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNv
bi90eXBlZGVmLW5lc3RlZC5qc29uCisrKyAvZGV2L251bGwKQEAgLTEsNCArMCwwIEBACi17Ci0g
ICAgIm1lc3NhZ2UiOiAgIkdvdCBhbiBlcnJvciBkdXJpbmcgb3IgcmlnaHQgYWZ0ZXIgcGFyc2lu
ZyBgaW50ZXJmYWNlIFdpZGdldGA6IE1pc3NpbmcgcmV0dXJuIHR5cGUiCi0sICAgImxpbmUiOiAg
ICAgMTQKLX0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vdW5pb24tZGFuZ2xp
bmctb3IuanNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vdW5pb24tZGFuZ2xpbmctb3IuanNv
bgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjhkZmQ4YjJhZTYuLjAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vdW5pb24tZGFuZ2xpbmctb3IuanNvbgorKysg
L2Rldi9udWxsCkBAIC0xLDQgKzAsMCBAQAotewotICAgICJtZXNzYWdlIjogIkdvdCBhbiBlcnJv
ciBiZWZvcmUgcGFyc2luZyBhbnkgbmFtZWQgZGVmaW5pdGlvbjogTm8gdHlwZSBhZnRlciBvcGVu
IHBhcmVudGhlc2lzIG9yICdvcicgaW4gdW5pb24gdHlwZSIsCi0gICAgImxpbmUiOiAxCi19CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL3VuaW9uLW9uZS5qc29uIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L2ludmFsaWQvanNvbi91bmlvbi1vbmUuanNvbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggNDc2NDAzZDY4ODkuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pz
b24vdW5pb24tb25lLmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSw0ICswLDAgQEAKLXsKLSAgICAi
bWVzc2FnZSI6ICJHb3QgYW4gZXJyb3IgYmVmb3JlIHBhcnNpbmcgYW55IG5hbWVkIGRlZmluaXRp
b246IEF0IGxlYXN0IHR3byB0eXBlcyBhcmUgZXhwZWN0ZWQgaW4gYSB1bmlvbiB0eXBlIGJ1dCBm
b3VuZCBsZXNzIiwKLSAgICAibGluZSI6IDEKLX0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZh
bGlkL2pzb24vdW5pb24temVyby5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi91bmlvbi16
ZXJvLmpzb24KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY4ZGZkOGIyYWU2Li4wMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL3VuaW9uLXplcm8uanNvbgorKysg
L2Rldi9udWxsCkBAIC0xLDQgKzAsMCBAQAotewotICAgICJtZXNzYWdlIjogIkdvdCBhbiBlcnJv
ciBiZWZvcmUgcGFyc2luZyBhbnkgbmFtZWQgZGVmaW5pdGlvbjogTm8gdHlwZSBhZnRlciBvcGVu
IHBhcmVudGhlc2lzIG9yICdvcicgaW4gdW5pb24gdHlwZSIsCi0gICAgImxpbmUiOiAxCi19CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL3Vua25vd24tZ2VuZXJpYy5qc29uIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L2ludmFsaWQvanNvbi91bmtub3duLWdlbmVyaWMuanNvbgpkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMzcwM2RiM2IyYWIuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC9pbnZhbGlkL2pzb24vdW5rbm93bi1nZW5lcmljLmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSw0
ICswLDAgQEAKLXsKLSAgICAibWVzc2FnZSI6ICJHb3QgYW4gZXJyb3IgZHVyaW5nIG9yIHJpZ2h0
IGFmdGVyIHBhcnNpbmcgYGludGVyZmFjZSBGZXRjaEV2ZW50YDogVW5zdXBwb3J0ZWQgZ2VuZXJp
YyB0eXBlIFJlc3BvbnNlUHJvbWlzZSIsCi0gICAgImxpbmUiOiAyCi19CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3QvaW52YWxpZC9qc29uL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQv
anNvbi93M2MtaW1wb3J0LmxvZwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzAxODFi
ZjYxNTcuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vdzNjLWltcG9y
dC5sb2cKKysrIC9kZXYvbnVsbApAQCAtMSw1NiArMCwwIEBACi1UaGUgdGVzdHMgaW4gdGhpcyBk
aXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KLURvIE5PVCBt
b2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVhZCwgY3JlYXRlIGEg
cHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0aHViLmNvbS93ZWIt
cGxhdGZvcm0tdGVzdHMvd3B0Ci0KLVRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13
M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0Ci0KLURvIE5PVCBtb2RpZnkgb3IgcmVtb3Zl
IHRoaXMgZmlsZS4KLQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1Qcm9wZXJ0aWVzIHJlcXVpcmluZyB2ZW5k
b3IgcHJlZml4ZXM6Ci1Ob25lCi1Qcm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVm
aXhlczoKLU5vbmUKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotTGlzdCBvZiBmaWxlczoKLS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
aW52YWxpZC9qc29uL2FycmF5Lmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL2NhbGxlci5q
c29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9kaWN0LXJlcXVpcmVkLWRlZmF1bHQuanNvbgot
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vZHVwbGljYXRlLmpzb24KLS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxp
ZC9qc29uL2VudW0tZW1wdHkuanNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vZW51bS13by1j
b21tYS5qc29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9lbnVtLmpzb24KLS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
aW52YWxpZC9qc29uL2V4Y2VwdGlvbi5qc29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9leHRh
dHRyLWVtcHR5LWlkcy5qc29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9pZC11bmRlcnNjb3Jl
ZC1udW1iZXIuanNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vaW1wbGVtZW50c19hbmRfaW5j
bHVkZXNfd3MuanNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vaXRlcmF0b3IuanNvbgotL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC9pbnZhbGlkL2pzb24vbWFwbGlrZS0xdHlwZS5qc29uCi0vTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFs
aWQvanNvbi9tb2R1bGUuanNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vbmFtZXNwYWNlLXJl
YWR3cml0ZS5qc29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9uby1zZW1pY29sb24tY2FsbGJh
Y2suanNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vbm8tc2VtaWNvbG9uLmpzb24KLS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3QvaW52YWxpZC9qc29uL25vbm51bGxhYmxlYW55Lmpzb24KLS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxp
ZC9qc29uL25vbm51bGxhYmxlb2JqZWN0cy5qc29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9w
cm9taXNlLW51bGxhYmxlLmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL3Byb21pc2Utd2l0
aC1leHRlbmRlZC1hdHRyaWJ1dGUuanNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vcmFpc2Vz
Lmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL3JlYWRvbmx5LWl0ZXJhYmxlLmpzb24KLS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3QvaW52YWxpZC9qc29uL3JlY29yZC1rZXktd2l0aC1leHRlbmRlZC1hdHRyaWJ1dGUu
anNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vcmVjb3JkLWtleS5qc29uCi0vTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L2ludmFsaWQvanNvbi9yZWNvcmQtc2luZ2xlLmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29u
L3Njb3BlZG5hbWUuanNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vc2VxdWVuY2VBc0F0dHJp
YnV0ZS5qc29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi9zZXRsaWtlLTJ0eXBlcy5qc29uCi0v
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L2ludmFsaWQvanNvbi9zZXR0ZXItY3JlYXRvci5qc29uCi0vTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2lu
dmFsaWQvanNvbi9zcGFjZWQtbmVnYXRpdmUtaW5maW5pdHkuanNvbgotL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZh
bGlkL2pzb24vc3BhY2VkLXZhcmlhZGljLmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL3Nw
ZWNpYWwtb21pdHRhYmxlLmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL3N0cmF5LXNsYXNo
Lmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC9qc29uL3N0cmluZ2NvbnN0YW50cy5qc29uCi0vTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L2ludmFsaWQvanNvbi90eXBlZGVmLW5lc3RlZC5qc29uCi0vTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFs
aWQvanNvbi91bmlvbi1kYW5nbGluZy1vci5qc29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQvanNvbi91
bmlvbi1vbmUuanNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9pbnZhbGlkL2pzb24vdW5pb24temVyby5qc29uCi0v
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L2ludmFsaWQvanNvbi91bmtub3duLWdlbmVyaWMuanNvbgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L21vY2hhLm9wdHMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvbW9jaGEub3B0cwpkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggNWFkYTQ3YmUxNmIuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC9tb2NoYS5vcHRzCisrKyAvZGV2L251bGwKQEAgLTEgKzAsMCBAQAotLS1yZXBvcnRlciBzcGVj
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC5qcwpk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDVkNjQ3ZWRhMTAuLjAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC9zeW50YXguanMKKysrIC9kZXYvbnVsbApAQCAtMSwxOSArMCwwIEBACi0i
dXNlIHN0cmljdCI7Ci0KLWNvbnN0IHsgY29sbGVjdCB9ID0gcmVxdWlyZSgiLi91dGlsL2NvbGxl
Y3QiKTsKLWNvbnN0IGV4cGVjdCA9IHJlcXVpcmUoImV4cGVjdCIpOwotY29uc3QgZGVidWcgPSB0
cnVlOwotCi1kZXNjcmliZSgiUGFyc2VzIGFsbCBvZiB0aGUgSURMcyB0byBwcm9kdWNlIHRoZSBj
b3JyZWN0IEFTVHMiLCAoKSA9PiB7Ci0gIGZvciAoY29uc3QgdGVzdCBvZiBjb2xsZWN0KCJzeW50
YXgiKSkgewotICAgIGl0KGBzaG91bGQgcHJvZHVjZSB0aGUgc2FtZSBBU1QgZm9yICR7dGVzdC5w
YXRofWAsICgpID0+IHsKLSAgICAgIHRyeSB7Ci0gICAgICAgIGV4cGVjdCh0ZXN0LmRpZmYoKSku
dG9CZUZhbHN5KCk7Ci0gICAgICB9Ci0gICAgICBjYXRjaCAoZSkgewotICAgICAgICBjb25zb2xl
LmxvZyhlLnRvU3RyaW5nKCkpOwotICAgICAgICB0aHJvdyBlOwotICAgICAgfQotICAgIH0pOwot
ICB9Ci19KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL2FsbG93YW55LndpZGwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9hbGxvd2FueS53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAyMzQzYmI5NjM3NC4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRh
eC9pZGwvYWxsb3dhbnkud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDYgKzAsMCBAQAotLy8gRXh0
cmFjdGVkIGZyb20gaHR0cDovL2Rldi53My5vcmcvMjAwNi93ZWJhcGkvV2ViSURMLyBvbiAyMDEx
LTA1LTA2Ci1pbnRlcmZhY2UgQiB7Ci0gIHZvaWQgZygpOwotICB2b2lkIGcoQiBiKTsKLSAgdm9p
ZCBnKFtBbGxvd0FueV0gRE9NU3RyaW5nIHMpOwotfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9hdHRyaWJ1dGVzLndpZGwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3Qvc3ludGF4L2lkbC9hdHRyaWJ1dGVzLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IGY2NjVjMWZjNDcyLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4
L2lkbC9hdHRyaWJ1dGVzLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSwxMSArMCwwIEBACi0vLyBF
eHRyYWN0ZWQgZnJvbSBodHRwOi8vZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJJREwvIG9uIDIw
MTEtMDUtMDYKLQotaW50ZXJmYWNlIFBlcnNvbiB7Ci0KLSAgLy8gQSBzaW1wbGUgYXR0cmlidXRl
IHRoYXQgY2FuIGJlIHNldCB0byBhbnkgdmFsdWUgdGhlIHJhbmdlIGFuIHVuc2lnbmVkCi0gIC8v
IHNob3J0IGNhbiB0YWtlLgotICBhdHRyaWJ1dGUgdW5zaWduZWQgc2hvcnQgYWdlOwotCi0gIC8v
IHJlcXVpcmVkIGlzIGFuIGFsbG93ZWQgYXR0cmlidXRlIG5hbWUKLSAgYXR0cmlidXRlIGFueSBy
ZXF1aXJlZDsKLX07CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9jYWxsYmFjay53
aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvY2FsbGJhY2sud2lkbApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggYWRhZjc1ZTA0OWMuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9z
eW50YXgvaWRsL2NhbGxiYWNrLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSw3ICswLDAgQEAKLWNh
bGxiYWNrIEFzeW5jT3BlcmF0aW9uQ2FsbGJhY2sgPSB2b2lkIChET01TdHJpbmcgc3RhdHVzKTsK
LQotY2FsbGJhY2sgaW50ZXJmYWNlIEV2ZW50SGFuZGxlciB7Ci0gIHZvaWQgZXZlbnRPY2N1cnJl
ZChET01TdHJpbmcgZGV0YWlscyk7Ci19OwotCi1jYWxsYmFjayBTb3J0Q2FsbGJhY2sgPSBib29s
ZWFuIChhbnkgYSwgYW55IGIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvY29u
c3RhbnRzLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9jb25zdGFudHMud2lkbApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDQzYjAyMmI2NDYuLjAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC9zeW50YXgvaWRsL2NvbnN0YW50cy53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsMTEg
KzAsMCBAQAotLy8gRXh0cmFjdGVkIGZyb20gaHR0cDovL2Rldi53My5vcmcvMjAwNi93ZWJhcGkv
V2ViSURMLyBvbiAyMDExLTA1LTA2Ci1pbnRlcmZhY2UgVXRpbCB7Ci0gIGNvbnN0IGJvb2xlYW4g
REVCVUcgPSBmYWxzZTsKLSAgY29uc3Qgc2hvcnQgbmVnYXRpdmUgPSAtMTsKLSAgY29uc3Qgb2N0
ZXQgTEYgPSAxMDsKLSAgY29uc3QgdW5zaWduZWQgbG9uZyBCSVRfTUFTSyA9IDB4MDAwMGZjMDA7
Ci0gIGNvbnN0IGZsb2F0IEFWT0dBRFJPID0gNi4wMjJlMjM7Ci0gIGNvbnN0IHVucmVzdHJpY3Rl
ZCBmbG9hdCBzb2JpZyA9IEluZmluaXR5OwotICBjb25zdCB1bnJlc3RyaWN0ZWQgZG91YmxlIG1p
bnVzb25lZGl2aWRlZGJ5emVybyA9IC1JbmZpbml0eTsKLSAgY29uc3Qgc2hvcnQgbm90YW51bWJl
ciA9IE5hTjsKLX07ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L3N5bnRheC9pZGwvY29uc3RydWN0b3Iud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRs
L2NvbnN0cnVjdG9yLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGY5M2VjMDhh
NmU2Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9jb25zdHJ1Y3Rvci53
aWRsCisrKyAvZGV2L251bGwKQEAgLTEsOSArMCwwIEBACi0vLyBFeHRyYWN0ZWQgZnJvbSBodHRw
Oi8vZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJJREwvIG9uIDIwMTEtMDUtMDYKLVtDb25zdHJ1
Y3RvciwKLSBDb25zdHJ1Y3RvcihmbG9hdCByYWRpdXMpXQotaW50ZXJmYWNlIENpcmNsZSB7Ci0g
IGF0dHJpYnV0ZSBmbG9hdCByOwotICBhdHRyaWJ1dGUgZmxvYXQgY3g7Ci0gIGF0dHJpYnV0ZSBm
bG9hdCBjeTsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIGZsb2F0IGNpcmN1bWZlcmVuY2U7Ci19Owpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgv
aWRsL2RpY3Rpb25hcnktaW5oZXJpdHMud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL2RpY3Rp
b25hcnktaW5oZXJpdHMud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDhmOGEw
ZmRjZWIuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL2RpY3Rpb25hcnkt
aW5oZXJpdHMud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDkgKzAsMCBAQAotZGljdGlvbmFyeSBQ
YWludE9wdGlvbnMgewotICBET01TdHJpbmc/IGZpbGxQYXR0ZXJuID0gImJsYWNrIjsKLSAgRE9N
U3RyaW5nPyBzdHJva2VQYXR0ZXJuID0gbnVsbDsKLSAgUG9pbnQgcG9zaXRpb247Ci19OwotCi1k
aWN0aW9uYXJ5IFdldFBhaW50T3B0aW9ucyA6IFBhaW50T3B0aW9ucyB7Ci0gIGZsb2F0IGh5ZHJv
bWV0cnk7Ci19OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC9zeW50YXgvaWRsL2RpY3Rpb25hcnkud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL2Rp
Y3Rpb25hcnkud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzY0YTE0Yzg1OTAu
LjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL2RpY3Rpb25hcnkud2lkbAor
KysgL2Rldi9udWxsCkBAIC0xLDE1ICswLDAgQEAKLS8vIEV4dHJhY3RlZCBmcm9tIFdlYiBJREwg
ZWRpdG9ycyBkcmFmdCBNYXkgMzEgMjAxMQotZGljdGlvbmFyeSBQYWludE9wdGlvbnMgewotICBE
T01TdHJpbmc/IGZpbGxQYXR0ZXJuID0gImJsYWNrIjsKLSAgRE9NU3RyaW5nPyBzdHJva2VQYXR0
ZXJuID0gbnVsbDsKLSAgUG9pbnQgcG9zaXRpb247Ci0gIC8vIGh0dHBzOi8vaGV5Y2FtLmdpdGh1
Yi5pby93ZWJpZGwvI2Rmbi1vcHRpb25hbC1hcmd1bWVudC1kZWZhdWx0LXZhbHVlIGFsbG93cyBz
ZXF1ZW5jZXMgdG8gZGVmYXVsdCB0byAiW10iLgotICBzZXF1ZW5jZTxsb25nPiBzZXEgPSBbXTsK
LSAgLy8gaHR0cHM6Ly9oZXljYW0uZ2l0aHViLmlvL3dlYmlkbC8jcmVxdWlyZWQtZGljdGlvbmFy
eS1tZW1iZXIKLSAgcmVxdWlyZWQgbG9uZyByZXFTZXE7Ci19OwotCi1wYXJ0aWFsIGRpY3Rpb25h
cnkgQSB7Ci0gIGxvbmcgaDsKLSAgbG9uZyBkOwotfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9kb2N1bWVudGF0aW9uLWRvcy53
aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvZG9jdW1lbnRhdGlvbi1kb3Mud2lkbApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZmI4MDExMDFmMTQuLjAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC9zeW50YXgvaWRsL2RvY3VtZW50YXRpb24tZG9zLndpZGwKKysrIC9kZXYvbnVsbApA
QCAtMSwzMyArMCwwIEBACi0vKioKLSogXGJyaWVmIFRlc3RpbmcgZG9jdW1lbnRhdGlvbiBmZWF0
dXJlcwotKgotKiBUaGlzIGlzIGEKLSogc2luZ2xlIHBhcmFncmFwaAotKgotKiA8cD5UaGlzIGlz
IHZhbGlkLjwvcD4KLSogPHA+VGhpcyBpcyA8ZW0+dmFsaWQ8L2VtPi48L3A+Ci0qIDxwPlRoaXMg
aXMgPGI+dmFsaWQ8L2I+LjwvcD4KLSogPHA+VGhpcyBpcyA8YSBocmVmPScnPnZhbGlkPC9hPi48
L3A+Ci0qIDx1bD4KLSogPGxpPlRoaXM8L2xpPgotKiA8bGk+aXM8L2xpPgotKiA8bGk+dmFsaWQ8
L2xpPgotKiA8L3VsPgotKiA8ZGw+Ci0qIDxkdD5UaGlzPC9kdD4KLSogPGRkPnZhbGlkPC9kZD4K
LSogPC9kbD4KLSogPHRhYmxlPgotKiA8dHI+Ci0qIDx0ZD50aGlzPC90ZD4KLSogPHRkPmlzPC90
ZD4KLSogPC90cj4KLSogPHRyPgotKiA8dGQ+dmFsaWQ8L3RkPgotKiA8L3RyPgotKiA8L3RhYmxl
PgotKiA8cD5UaGlzIGlzIDxicj4gdmFsaWQuPC9wPgotKiA8cD5UaGlzIGlzIDxiciAvPiB2YWxp
ZC48L3A+Ci0qIDxwPlRoaXMgaXMgPGJyLz4gdmFsaWQuPC9wPgotKi8KLWludGVyZmFjZSBEb2N1
bWVudGF0aW9uIHt9OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC9zeW50YXgvaWRsL2RvY3VtZW50YXRpb24ud2lkbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgv
aWRsL2RvY3VtZW50YXRpb24ud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAz
ZTkyMjZmNjcuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL2RvY3VtZW50
YXRpb24ud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDM0ICswLDAgQEAKLS8qKgotKiBcYnJpZWYg
VGVzdGluZyBkb2N1bWVudGF0aW9uIGZlYXR1cmVzCi0qCi0qIFRoaXMgaXMgYQotKiBzaW5nbGUg
cGFyYWdyYXBoCi0qCi0qIDxwPlRoaXMgaXMgdmFsaWQuPC9wPgotKiA8cD5UaGlzIGlzIDxlbT52
YWxpZDwvZW0+LjwvcD4KLSogPHA+VGhpcyBpcyA8Yj52YWxpZDwvYj4uPC9wPgotKiA8cD5UaGlz
IGlzIDxhIGhyZWY9Jyc+dmFsaWQ8L2E+LjwvcD4KLSogPHVsPgotKiA8bGk+VGhpczwvbGk+Ci0q
IDxsaT5pczwvbGk+Ci0qIDxsaT52YWxpZDwvbGk+Ci0qIDwvdWw+Ci0qIDxkbD4KLSogPGR0PlRo
aXM8L2R0PgotKiA8ZGQ+dmFsaWQ8L2RkPgotKiA8L2RsPgotKiA8dGFibGU+Ci0qIDx0cj4KLSog
PHRkPnRoaXM8L3RkPgotKiA8dGQ+aXM8L3RkPgotKiA8L3RyPgotKiA8dHI+Ci0qIDx0ZD52YWxp
ZDwvdGQ+Ci0qIDwvdHI+Ci0qIDwvdGFibGU+Ci0qIDxwPlRoaXMgaXMgPGJyPiB2YWxpZC48L3A+
Ci0qIDxwPlRoaXMgaXMgPGJyIC8+IHZhbGlkLjwvcD4KLSogPHA+VGhpcyBpcyA8YnIvPiB2YWxp
ZC48L3A+Ci0qIDxwPjxpbWcgc3JjPSJmb28ucG5nIiBhbHQ9IlZhbGlkIi8+PC9wPgotKi8KLWlu
dGVyZmFjZSBEb2N1bWVudGF0aW9uIHt9OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL2VudW0ud2lkbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50
YXgvaWRsL2VudW0ud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzdjNGZmZGRl
ZTMuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL2VudW0ud2lkbAorKysg
L2Rldi9udWxsCkBAIC0xLDEwICswLDAgQEAKLWVudW0gTWVhbFR5cGUgeyAicmljZSIsICJub29k
bGVzIiwgIm90aGVyIiB9OwotCi1pbnRlcmZhY2UgTWVhbCB7Ci0gIGF0dHJpYnV0ZSBNZWFsVHlw
ZSB0eXBlOwotICBhdHRyaWJ1dGUgZmxvYXQgc2l6ZTsgICAgIC8vIGluIGdyYW1zCi0KLSAgdm9p
ZCBpbml0aWFsaXplKE1lYWxUeXBlIHR5cGUsIGZsb2F0IHNpemUpOwotfTsKLQotZW51bSBBbHRN
ZWFsVHlwZSB7ICJyaWNlIiwgIm5vb2RsZXMiLCAib3RoZXIiLCB9OwpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL2VxdWl2YWxlbnQt
ZGVjbC53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvZXF1aXZhbGVudC1kZWNsLndpZGwKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZmZmViM2MyMGExLi4wMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9lcXVpdmFsZW50LWRlY2wud2lkbAorKysgL2Rldi9udWxs
CkBAIC0xLDE4ICswLDAgQEAKLS8vIEV4dHJhY3RlZCBmcm9tIGh0dHA6Ly9kZXYudzMub3JnLzIw
MDYvd2ViYXBpL1dlYklETC8gb24gMjAxMS0wNS0wNgotaW50ZXJmYWNlIERpY3Rpb25hcnkgewot
ICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBwcm9wZXJ0eUNvdW50OwotCi0gIGdl
dHRlciBmbG9hdCBnZXRQcm9wZXJ0eShET01TdHJpbmcgcHJvcGVydHlOYW1lKTsKLSAgc2V0dGVy
IHZvaWQgc2V0UHJvcGVydHkoRE9NU3RyaW5nIHByb3BlcnR5TmFtZSwgZmxvYXQgcHJvcGVydHlW
YWx1ZSk7Ci19OwotCi0KLWludGVyZmFjZSBEaWN0aW9uYXJ5MiB7Ci0gIHJlYWRvbmx5IGF0dHJp
YnV0ZSB1bnNpZ25lZCBsb25nIHByb3BlcnR5Q291bnQ7Ci0KLSAgZmxvYXQgZ2V0UHJvcGVydHko
RE9NU3RyaW5nIHByb3BlcnR5TmFtZSk7Ci0gIHZvaWQgc2V0UHJvcGVydHkoRE9NU3RyaW5nIHBy
b3BlcnR5TmFtZSwgZmxvYXQgcHJvcGVydHlWYWx1ZSk7Ci0KLSAgZ2V0dGVyIGZsb2F0IChET01T
dHJpbmcgcHJvcGVydHlOYW1lKTsKLSAgc2V0dGVyIHZvaWQgKERPTVN0cmluZyBwcm9wZXJ0eU5h
bWUsIGZsb2F0IHByb3BlcnR5VmFsdWUpOwotfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9leHRlbmRlZC1hdHRyaWJ1dGVzLndp
ZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9leHRlbmRlZC1hdHRyaWJ1dGVzLndpZGwKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDU3ZDRmOTdkZTdjLi4wMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3Qvc3ludGF4L2lkbC9leHRlbmRlZC1hdHRyaWJ1dGVzLndpZGwKKysrIC9kZXYvbnVs
bApAQCAtMSwyOSArMCwwIEBACi0vLyBFeHRyYWN0ZWQgZnJvbSBodHRwOi8vd3d3LnczLm9yZy9U
Ui8yMDE1L1dELXNlcnZpY2Utd29ya2Vycy0yMDE1MDIwNS8KLQotW0dsb2JhbD0oV29ya2VyLFNl
cnZpY2VXb3JrZXIpLCBFeHBvc2VkPVNlcnZpY2VXb3JrZXJdCi1pbnRlcmZhY2UgU2VydmljZVdv
cmtlckdsb2JhbFNjb3BlIDogV29ya2VyR2xvYmFsU2NvcGUgewotCi19OwotCi0vLyBDb25mb3Jt
YW5jZSB3aXRoIEV4dGVuZGVkQXR0cmlidXRlTGlzdCBncmFtbWFyIGluIGh0dHA6Ly93d3cudzMu
b3JnL1RSL1dlYklETC8jaWRsLWV4dGVuZGVkLWF0dHJpYnV0ZXMKLS8vIFNlY3Rpb24gMy4xMQot
W0ludEF0dHI9MCwgRmxvYXRBdHRyPTMuMTQsIFN0cmluZ0F0dHI9ImFiYyJdCi1pbnRlcmZhY2Ug
SWRJbnRlcmZhY2Uge307Ci0KLS8vIEV4dHJhY3RlZCBmcm9tIGh0dHA6Ly93d3cudzMub3JnL1RS
LzIwMTYvUkVDLVdlYklETC0xLTIwMTYxMjE1LyNDb25zdHJ1Y3RvciBvbiAyMDE3LTUtMTggd2l0
aCB3aGl0ZXNwYWNlIGRpZmZlcmVuY2VzCi1bCi0gIENvbnN0cnVjdG9yLAotICBDb25zdHJ1Y3Rv
cihkb3VibGUgcmFkaXVzKQotXQotaW50ZXJmYWNlIENpcmNsZSB7Ci0gIGF0dHJpYnV0ZSBkb3Vi
bGUgcjsKLSAgYXR0cmlidXRlIGRvdWJsZSBjeDsKLSAgYXR0cmlidXRlIGRvdWJsZSBjeTsKLSAg
cmVhZG9ubHkgYXR0cmlidXRlIGRvdWJsZSBjaXJjdW1mZXJlbmNlOwotfTsKLQotLy8gRXh0cmFj
dGVkIGZyb20gaHR0cHM6Ly9oZXljYW0uZ2l0aHViLmlvL3dlYmlkbC8jaWRsLWFubm90YXRlZC10
eXBlcyBvbiAyMDE3LTEyLTE1Ci1bRXhwb3NlZD1XaW5kb3ddCi1pbnRlcmZhY2UgSSB7Ci0gICAg
YXR0cmlidXRlIFtYQXR0cl0gKGxvbmcgb3IgTm9kZSkgYXR0cmliOwotfTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC9zeW50YXgvaWRsL2dlbmVyaWMud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRs
L2dlbmVyaWMud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjkzY2QzMjRlOTYu
LjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL2dlbmVyaWMud2lkbAorKysg
L2Rldi9udWxsCkBAIC0xLDE3ICswLDAgQEAKLWludGVyZmFjZSBGb28gewotICBQcm9taXNlPFBy
b21pc2U8c2VxdWVuY2U8RE9NU3RyaW5nPz4+PiBiYXIoKTsKLSAgcmVhZG9ubHkgYXR0cmlidXRl
IFByb21pc2U8RE9NU3RyaW5nPiBiYXo7Ci19OwotCi0vLyBFeHRyYWN0ZWQgZnJvbSBodHRwczov
L3NsaWdodGx5b2ZmLmdpdGh1Yi5pby9TZXJ2aWNlV29ya2VyL3NwZWMvc2VydmljZV93b3JrZXIv
IG9uIDIwMTQtMDUtMDgKLQotaW50ZXJmYWNlIFNlcnZpY2VXb3JrZXJDbGllbnRzIHsKLSAgUHJv
bWlzZTxDbGllbnQ/PiBnZXRTZXJ2aWNlZCgpOwotICBQcm9taXNlPGFueT4gcmVsb2FkQWxsKCk7
Ci19OwotCi0vLyBFeHRyYWN0ZWQgZnJvbSBodHRwczovL3NsaWdodGx5b2ZmLmdpdGh1Yi5pby9T
ZXJ2aWNlV29ya2VyL3NwZWMvc2VydmljZV93b3JrZXIvIG9uIDIwMTQtMDUtMTMKLQotaW50ZXJm
YWNlIEZldGNoRXZlbnQgOiBFdmVudCB7Ci0gIFByb21pc2U8YW55PiBkZWZhdWx0KCk7Ci19Owpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvZ2V0dGVyLXNldHRlci53aWRsIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L3N5bnRheC9pZGwvZ2V0dGVyLXNldHRlci53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCBiZGY4N2UxYzdjNy4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRh
eC9pZGwvZ2V0dGVyLXNldHRlci53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsNyArMCwwIEBACi0v
LyBFeHRyYWN0ZWQgZnJvbSBodHRwOi8vZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJJREwvIG9u
IDIwMTEtMDUtMDYKLWludGVyZmFjZSBEaWN0aW9uYXJ5IHsKLSAgcmVhZG9ubHkgYXR0cmlidXRl
IHVuc2lnbmVkIGxvbmcgcHJvcGVydHlDb3VudDsKLQotICBnZXR0ZXIgZmxvYXQgKERPTVN0cmlu
ZyBwcm9wZXJ0eU5hbWUpOwotICBzZXR0ZXIgdm9pZCAoRE9NU3RyaW5nIHByb3BlcnR5TmFtZSwg
ZmxvYXQgcHJvcGVydHlWYWx1ZSk7Ci19OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL2lkZW50aWZpZXItcXVhbGlmaWVkLW5hbWVz
LndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9pZGVudGlmaWVyLXF1YWxpZmllZC1uYW1lcy53
aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjMzlmODRiNDVhMy4uMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvaWRlbnRpZmllci1xdWFsaWZpZWQtbmFtZXMu
d2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDMzICswLDAgQEAKLS8vIEV4dHJhY3RlZCBmcm9tIGh0
dHA6Ly9kZXYudzMub3JnLzIwMDYvd2ViYXBpL1dlYklETC8gb24gMjAxMS0wNS0wNgotICAvLyBU
eXBlZGVmIGlkZW50aWZpZXI6ICJudW1iZXIiCi0gIC8vIFF1YWxpZmllZCBuYW1lOiAgICAiOjpm
cmFtZXdvcms6Om51bWJlciIKLSAgdHlwZWRlZiBmbG9hdCBudW1iZXI7Ci0KLSAgLy8gSW50ZXJm
YWNlIGlkZW50aWZpZXI6ICJTeXN0ZW0iCi0gIC8vIFF1YWxpZmllZCBuYW1lOiAgICAgICAiOjpm
cmFtZXdvcms6OlN5c3RlbSIKLSAgaW50ZXJmYWNlIFN5c3RlbSB7Ci0KLSAgICAvLyBPcGVyYXRp
b24gaWRlbnRpZmllcjogICAgICAgICAgImNyZWF0ZU9iamVjdCIKLSAgICAvLyBPcGVyYXRpb24g
YXJndW1lbnQgaWRlbnRpZmllcjogImludGVyZmFjZSIKLSAgICBvYmplY3QgY3JlYXRlT2JqZWN0
KERPTVN0cmluZyBfaW50ZXJmYWNlKTsKLQotICAgIC8vIE9wZXJhdGlvbiBoYXMgbm8gaWRlbnRp
ZmllcjsgaXQgZGVjbGFyZXMgYSBnZXR0ZXIuCi0gICAgZ2V0dGVyIERPTVN0cmluZyAoRE9NU3Ry
aW5nIGtleU5hbWUpOwotICB9OwotCi0KLSAgICAvLyBJbnRlcmZhY2UgaWRlbnRpZmllcjogIlRl
eHRGaWVsZCIKLSAgICAvLyBRdWFsaWZpZWQgbmFtZTogICAgICAgIjo6ZnJhbWV3b3JrOjpndWk6
OlRleHRGaWVsZCIKLSAgICBpbnRlcmZhY2UgVGV4dEZpZWxkIHsKLQotICAgICAgLy8gQXR0cmli
dXRlIGlkZW50aWZpZXI6ICJjb25zdCIKLSAgICAgIGF0dHJpYnV0ZSBib29sZWFuIF9jb25zdDsK
LQotICAgICAgLy8gQXR0cmlidXRlIGlkZW50aWZpZXI6ICJ2YWx1ZSIKLSAgICAgIGF0dHJpYnV0
ZSBET01TdHJpbmc/IF92YWx1ZTsKLSAgICB9OwotCi1pbnRlcmZhY2UgRm9vRXZlbnRUYXJnZXQg
ewotICAvLyBBcmd1bWVudCBuYW1lcyBhbGxvdyBzb21lIHNlbGVjdGVkIGtleXdvcmRzCi0gIHZv
aWQgYWRkRXZlbnRMaXN0ZW5lcihFdmVudExpc3RlbmVyPyBjYWxsYmFjayk7Ci19OwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvaW1wbGVtZW50cy53aWRsIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5
bnRheC9pZGwvaW1wbGVtZW50cy53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3
YTMxMDkyNmYxYy4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvaW1wbGVt
ZW50cy53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsMTQgKzAsMCBAQAotLy8gRXh0cmFjdGVkIGZy
b20gaHR0cDovL2Rldi53My5vcmcvMjAwNi93ZWJhcGkvV2ViSURMLyBvbiAyMDExLTA1LTA2Ci0g
IGludGVyZmFjZSBOb2RlIHsKLSAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgc2hvcnQg
bm9kZVR5cGU7Ci0gICAgLy8gLi4uCi0gIH07Ci0KLSAgaW50ZXJmYWNlIEV2ZW50VGFyZ2V0IHsK
LSAgICB2b2lkIGFkZEV2ZW50TGlzdGVuZXIoRE9NU3RyaW5nIHR5cGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgIEV2ZW50TGlzdGVuZXIgbGlzdGVuZXIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgIGJvb2xlYW4gdXNlQ2FwdHVyZSk7Ci0gICAgLy8gLi4uCi0gIH07Ci0KLSAgTm9kZSBp
bXBsZW1lbnRzIEV2ZW50VGFyZ2V0OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwv
aW5kZXhlZC1wcm9wZXJ0aWVzLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9pbmRleGVkLXBy
b3BlcnRpZXMud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNGI4YWE5ZTM1M2Yu
LjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL2luZGV4ZWQtcHJvcGVydGll
cy53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsMTIgKzAsMCBAQAotLy8gRXh0cmFjdGVkIGZyb20g
aHR0cDovL2Rldi53My5vcmcvMjAwNi93ZWJhcGkvV2ViSURMLyBvbiAyMDExLTA1LTA2Ci1pbnRl
cmZhY2UgT3JkZXJlZE1hcCB7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIHNp
emU7Ci0KLSAgZ2V0dGVyIGFueSBnZXRCeUluZGV4KHVuc2lnbmVkIGxvbmcgaW5kZXgpOwotICBz
ZXR0ZXIgdm9pZCBzZXRCeUluZGV4KHVuc2lnbmVkIGxvbmcgaW5kZXgsIGFueSB2YWx1ZSk7Ci0g
IGRlbGV0ZXIgdm9pZCByZW1vdmVCeUluZGV4KHVuc2lnbmVkIGxvbmcgaW5kZXgpOwotCi0gIGdl
dHRlciBhbnkgZ2V0KERPTVN0cmluZyBuYW1lKTsKLSAgc2V0dGVyIHZvaWQgc2V0KERPTVN0cmlu
ZyBuYW1lLCBhbnkgdmFsdWUpOwotICBkZWxldGVyIHZvaWQgcmVtb3ZlKERPTVN0cmluZyBuYW1l
KTsKLX07CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9pbmhlcml0cy1nZXR0ZXIu
d2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL2luaGVyaXRzLWdldHRlci53aWRsCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0MzViM2FiM2M4Yy4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L3N5bnRheC9pZGwvaW5oZXJpdHMtZ2V0dGVyLndpZGwKKysrIC9kZXYvbnVsbApAQCAt
MSwyMiArMCwwIEBACi1pbnRlcmZhY2UgQW5pbWFsIHsKLQotICAvLyBBIHNpbXBsZSBhdHRyaWJ1
dGUgdGhhdCBjYW4gYmUgc2V0IHRvIGFueSBzdHJpbmcgdmFsdWUuCi0gIHJlYWRvbmx5IGF0dHJp
YnV0ZSBET01TdHJpbmcgbmFtZTsKLX07Ci0KLWludGVyZmFjZSBQZXJzb24gOiBBbmltYWwgewot
Ci0gIC8vIEFuIGF0dHJpYnV0ZSB3aG9zZSB2YWx1ZSBjYW5ub3QgYmUgYXNzaWduZWQgdG8uCi0g
IHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBzaG9ydCBhZ2U7Ci0KLSAgLy8gQW4gYXR0cmli
dXRlIHRoYXQgY2FuIHJhaXNlIGFuIGV4Y2VwdGlvbiBpZiBpdCBpcyBzZXQgdG8gYW4gaW52YWxp
ZCB2YWx1ZS4KLSAgLy8gSXRzIGdldHRlciBiZWhhdmlvciBpcyBpbmhlcml0ZWQgZnJvbSBBbmlt
YWwsIGFuZCBuZWVkIG5vdCBiZSBzcGVjaWZpZWQKLSAgLy8gdGhlIGRlc2NyaXB0aW9uIG9mIFBl
cnNvbi4KLSAgaW5oZXJpdCBhdHRyaWJ1dGUgRE9NU3RyaW5nIG5hbWU7Ci19OwotCi1pbnRlcmZh
Y2UgR2hvc3QgOiBQZXJzb24gewotCi0gIC8vIEFuIGF0dHJpYnV0ZSB0aGF0IG9ubHkgaW5oZXJp
dHMgdGhlIGdldHRlciBiZWhhdmlvcgotICBpbmhlcml0IHJlYWRvbmx5IGF0dHJpYnV0ZSBET01T
dHJpbmcgbmFtZTsKLX07CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9pbnRlcmZh
Y2UtaW5oZXJpdHMud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL2ludGVyZmFjZS1pbmhlcml0
cy53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3OTIxZGVmNzcyNy4uMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvaW50ZXJmYWNlLWluaGVyaXRzLndpZGwK
KysrIC9kZXYvbnVsbApAQCAtMSwxMiArMCwwIEBACi0vLyBFeHRyYWN0ZWQgZnJvbSBodHRwOi8v
ZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJJREwvIG9uIDIwMTEtMDUtMDYKLWludGVyZmFjZSBB
bmltYWwgewotICBhdHRyaWJ1dGUgRE9NU3RyaW5nIG5hbWU7Ci19OwotCi1pbnRlcmZhY2UgSHVt
YW4gOiBBbmltYWwgewotICBhdHRyaWJ1dGUgRG9nIHBldDsKLX07Ci0KLWludGVyZmFjZSBEb2cg
OiBBbmltYWwgewotICBhdHRyaWJ1dGUgSHVtYW4gb3duZXI7Ci19OwpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL2l0ZXJhYmxlLndp
ZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9pdGVyYWJsZS53aWRsCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCA3ZjcyNmY5MjZmZC4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5
bnRheC9pZGwvaXRlcmFibGUud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDExICswLDAgQEAKLWlu
dGVyZmFjZSBJdGVyYWJsZU9uZSB7Ci0gIGl0ZXJhYmxlPGxvbmc+OwotfTsKLQotaW50ZXJmYWNl
IEl0ZXJhYmxlVHdvIHsKLSAgaXRlcmFibGU8c2hvcnQsIGRvdWJsZT8+OwotfTsKLQotaW50ZXJm
YWNlIEl0ZXJhYmxlVGhyZWUgewotICBpdGVyYWJsZTxbWEF0dHJdIGxvbmc+OwotfTsKXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9s
ZWdhY3lpdGVyYWJsZS53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvbGVnYWN5aXRlcmFibGUu
d2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWUxZTljNTI3NDQuLjAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL2xlZ2FjeWl0ZXJhYmxlLndpZGwKKysrIC9k
ZXYvbnVsbApAQCAtMSwzICswLDAgQEAKLWludGVyZmFjZSBMZWdhY3lJdGVyYWJsZSB7Ci0gIGxl
Z2FjeWl0ZXJhYmxlPGxvbmc+OwotfTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRs
L21hcGxpa2Uud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL21hcGxpa2Uud2lkbApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDM3ZTM4MWZlZjcuLjAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC9zeW50YXgvaWRsL21hcGxpa2Uud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDEzICsw
LDAgQEAKLWludGVyZmFjZSBNYXBMaWtlIHsKLSAgbWFwbGlrZTxsb25nLCBmbG9hdD47Ci19Owot
Ci1pbnRlcmZhY2UgUmVhZE9ubHlNYXBMaWtlIHsKLSAgcmVhZG9ubHkgbWFwbGlrZTxsb25nLCBm
bG9hdD47Ci19OwotCi0vLyBFeHRyYWN0ZWQgZnJvbSBodHRwczovL2hleWNhbS5naXRodWIuaW8v
d2ViaWRsLyNpZGwtdHlwZS1leHRlbmRlZC1hdHRyaWJ1dGUtYXNzb2NpYXRlZC13aXRoIG9uIDIw
MTctMDctMDEKLQotaW50ZXJmYWNlIEkgewotICAgIG1hcGxpa2U8W1hBdHRyMl0gRE9NU3RyaW5n
LCBbWEF0dHIzXSBsb25nPjsKLX07CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9t
aXhpbi53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvbWl4aW4ud2lkbApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggN2MzN2E2ZWU0MjAuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC9zeW50YXgvaWRsL21peGluLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSwxMiArMCwwIEBACi0v
LyBFeHRyYWN0ZWQgZnJvbSBodHRwczovL2hleWNhbS5naXRodWIuaW8vd2ViaWRsLyN1c2luZy1t
aXhpbnMtYW5kLXBhcnRpYWxzIG9uIDIwMTctMTEtMDIKLQotaW50ZXJmYWNlIG1peGluIEdsb2Jh
bENyeXB0byB7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSBDcnlwdG8gY3J5cHRvOwotfTsKLQotV2lu
ZG93IGluY2x1ZGVzIEdsb2JhbENyeXB0bzsKLVdvcmtlckdsb2JhbFNjb3BlIGluY2x1ZGVzIEds
b2JhbENyeXB0bzsKLQotcGFydGlhbCBpbnRlcmZhY2UgbWl4aW4gV2luZG93T3JXb3JrZXJHbG9i
YWxTY29wZSB7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSBDcnlwdG8gY3J5cHRvOwotfTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL25hbWVkY29uc3RydWN0b3Iud2lkbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC9zeW50YXgvaWRsL25hbWVkY29uc3RydWN0b3Iud2lkbApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggYzQ2OGI3OGY4ZTEuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50
YXgvaWRsL25hbWVkY29uc3RydWN0b3Iud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDYgKzAsMCBA
QAotLy8gRXh0cmFjdGVkIGZyb20gaHR0cDovL2Rldi53My5vcmcvMjAwNi93ZWJhcGkvV2ViSURM
LyBvbiAyMDExLTA1LTA2Ci1bTmFtZWRDb25zdHJ1Y3Rvcj1BdWRpbywKLSBOYW1lZENvbnN0cnVj
dG9yPUF1ZGlvKERPTVN0cmluZyBzcmMpXQotaW50ZXJmYWNlIEhUTUxBdWRpb0VsZW1lbnQgOiBI
VE1MTWVkaWFFbGVtZW50IHsKLSAgLy8gLi4uCi19OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL25hbWVzcGFjZS53aWRsIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L3N5bnRheC9pZGwvbmFtZXNwYWNlLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IGQ5NjEwNTU1ZTE3Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lk
bC9uYW1lc3BhY2Uud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDEwICswLDAgQEAKLS8vIEV4dHJh
Y3RlZCBmcm9tIFdlYiBJREwgZWRpdG9ycyBkcmFmdCBNYXJjaCAyNyAyMDE3Ci1uYW1lc3BhY2Ug
VmVjdG9yVXRpbHMgewotICByZWFkb25seSBhdHRyaWJ1dGUgVmVjdG9yIHVuaXQ7Ci0gIGRvdWJs
ZSBkb3RQcm9kdWN0KFZlY3RvciB4LCBWZWN0b3IgeSk7Ci0gIFZlY3RvciBjcm9zc1Byb2R1Y3Qo
VmVjdG9yIHgsIFZlY3RvciB5KTsKLX07Ci0KLXBhcnRpYWwgbmFtZXNwYWNlIFNvbWVOYW1lc3Bh
Y2UgewotICAvKiBuYW1lc3BhY2VfbWVtYmVycy4uLiAqLwotfTsKXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9ub2ludGVyZmFjZW9i
amVjdC53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvbm9pbnRlcmZhY2VvYmplY3Qud2lkbApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzE3ZDc1ZmY4ZmQuLjAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL25vaW50ZXJmYWNlb2JqZWN0LndpZGwKKysrIC9kZXYv
bnVsbApAQCAtMSw1ICswLDAgQEAKLS8vIEV4dHJhY3RlZCBmcm9tIGh0dHA6Ly9kZXYudzMub3Jn
LzIwMDYvd2ViYXBpL1dlYklETC8gb24gMjAxMS0wNS0wNgotW05vSW50ZXJmYWNlT2JqZWN0XQot
aW50ZXJmYWNlIFF1ZXJ5IHsKLSAgYW55IGxvb2t1cEVudHJ5KHVuc2lnbmVkIGxvbmcga2V5KTsK
LX07ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5
bnRheC9pZGwvbnVsbGFibGUud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL251bGxhYmxlLndp
ZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGNjYmY2MjVmZjhhLi4wMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9udWxsYWJsZS53aWRsCisrKyAvZGV2L251bGwK
QEAgLTEsOSArMCwwIEBACi0vLyBFeHRyYWN0ZWQgZnJvbSBodHRwOi8vZGV2LnczLm9yZy8yMDA2
L3dlYmFwaS9XZWJJREwvIG9uIDIwMTEtMDUtMDYKLWludGVyZmFjZSBNeUNvbnN0YW50cyB7Ci0g
IGNvbnN0IGJvb2xlYW4/IEFSRV9XRV9USEVSRV9ZRVQgPSBmYWxzZTsKLX07Ci0KLWludGVyZmFj
ZSBOb2RlIHsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZz8gbmFtZXNwYWNlVVJJOwot
ICAvLyAuLi4KLX07ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L3N5bnRheC9pZGwvbnVsbGFibGVvYmplY3RzLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4
L2lkbC9udWxsYWJsZW9iamVjdHMud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
ODNkMWQ0MGIyYWMuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL251bGxh
Ymxlb2JqZWN0cy53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsMTMgKzAsMCBAQAotLy8gRXh0cmFj
dGVkIGZyb20gV2ViSURMIHNwZWMgMjAxMS0wNS0yMwotCi1pbnRlcmZhY2UgQSB7Ci0gIC8vIC4u
LgotfTsKLWludGVyZmFjZSBCIHsKLSAgLy8gLi4uCi19OwotaW50ZXJmYWNlIEMgewotICB2b2lk
IGYoQT8geCk7Ci0gIHZvaWQgZihCPyB4KTsKLQotfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9vcGVyYXRpb24tb3B0aW9uYWwt
YXJnLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9vcGVyYXRpb24tb3B0aW9uYWwtYXJnLndp
ZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDM3OTA1M2I0NWYxLi4wMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9vcGVyYXRpb24tb3B0aW9uYWwtYXJnLndpZGwK
KysrIC9kZXYvbnVsbApAQCAtMSw0ICswLDAgQEAKLS8vIEV4dHJhY3RlZCBmcm9tIGh0dHA6Ly9k
ZXYudzMub3JnLzIwMDYvd2ViYXBpL1dlYklETC8gb24gMjAxMS0wNS0wNgotaW50ZXJmYWNlIENv
bG9yQ3JlYXRvciB7Ci0gIG9iamVjdCBjcmVhdGVDb2xvcihmbG9hdCB2MSwgZmxvYXQgdjIsIGZs
b2F0IHYzLCBvcHRpb25hbCBmbG9hdCBhbHBoYSA9IDMuNSk7Ci19OwpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL292ZXJsb2FkaW5n
LndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9vdmVybG9hZGluZy53aWRsCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCA1MmQ4ZDE1YzFhMS4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3N5bnRheC9pZGwvb3ZlcmxvYWRpbmcud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDIwICsw
LDAgQEAKLS8vIEV4dHJhY3RlZCBmcm9tIGh0dHA6Ly9kZXYudzMub3JnLzIwMDYvd2ViYXBpL1dl
YklETC8gb24gMjAxMS0wNS0wNgotaW50ZXJmYWNlIEEgewotICAvLyAuLi4KLX07Ci0KLWludGVy
ZmFjZSBCIHsKLSAgLy8gLi4uCi19OwotCi1pbnRlcmZhY2UgQyB7Ci0gIHZvaWQgZihBIHgpOwot
ICB2b2lkIGYoQiB4KTsKLX07Ci0KLWludGVyZmFjZSBEIHsKLSAgLyogZjEgKi8gdm9pZCBmKERP
TVN0cmluZyBhKTsKLSAgLyogZjIgKi8gdm9pZCBmKFtBbGxvd0FueV0gRE9NU3RyaW5nIGEsIERP
TVN0cmluZyBiLCBmbG9hdC4uLiBjKTsKLSAgLyogZjMgKi8gdm9pZCBmKCk7Ci0gIC8qIGY0ICov
IHZvaWQgZihsb25nIGEsIERPTVN0cmluZyBiLCBvcHRpb25hbCBET01TdHJpbmcgYywgZmxvYXQu
Li4gZCk7Ci19OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvb3ZlcnJpZGVidWls
dGlucy53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvb3ZlcnJpZGVidWlsdGlucy53aWRsCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3OTIxMWMyOWU4NC4uMDAwMDAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvb3ZlcnJpZGVidWlsdGlucy53aWRsCisrKyAvZGV2L251
bGwKQEAgLTEsNiArMCwwIEBACi0vLyBFeHRyYWN0ZWQgZnJvbSBodHRwOi8vZGV2LnczLm9yZy8y
MDA2L3dlYmFwaS9XZWJJREwvIG9uIDIwMTEtMDUtMDYKLVtPdmVycmlkZUJ1aWx0aW5zXQotaW50
ZXJmYWNlIFN0cmluZ01hcDIgewotICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBs
ZW5ndGg7Ci0gIGdldHRlciBET01TdHJpbmcgbG9va3VwKERPTVN0cmluZyBrZXkpOwotfTsKXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lk
bC9wYXJ0aWFsLWludGVyZmFjZS53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvcGFydGlhbC1p
bnRlcmZhY2Uud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTBlN2UwZWE0MjEu
LjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL3BhcnRpYWwtaW50ZXJmYWNl
LndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSw3ICswLDAgQEAKLWludGVyZmFjZSBGb28gewotICBh
dHRyaWJ1dGUgRE9NU3RyaW5nIGJhcjsKLX07Ci0KLXBhcnRpYWwgaW50ZXJmYWNlIEZvbyB7Ci0g
IGF0dHJpYnV0ZSBET01TdHJpbmcgcXV1eDsKLX07ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvcHJpbWl0aXZlcy53aWRsIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L3N5bnRheC9pZGwvcHJpbWl0aXZlcy53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCBhOTE0NTVlZTE5Mi4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9p
ZGwvcHJpbWl0aXZlcy53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsMTkgKzAsMCBAQAotaW50ZXJm
YWNlIFByaW1pdGl2ZXMgewotICBhdHRyaWJ1dGUgYm9vbGVhbiB0cnV0aDsKLSAgYXR0cmlidXRl
IGJ5dGUgY2hhcmFjdGVyOwotICBhdHRyaWJ1dGUgb2N0ZXQgdmFsdWU7Ci0gIGF0dHJpYnV0ZSBz
aG9ydCBudW1iZXI7Ci0gIGF0dHJpYnV0ZSB1bnNpZ25lZCBzaG9ydCBwb3NpdGl2ZTsKLSAgYXR0
cmlidXRlIGxvbmcgYmlnOwotICBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBiaWdwb3NpdGl2ZTsK
LSAgYXR0cmlidXRlIGxvbmcgbG9uZyBiaWdiaWc7Ci0gIGF0dHJpYnV0ZSAgdW5zaWduZWQgbG9u
ZyBsb25nIGJpZ2JpZ3Bvc2l0aXZlOwotICBhdHRyaWJ1dGUgZmxvYXQgcmVhbDsKLSAgYXR0cmli
dXRlIGRvdWJsZSBiaWdyZWFsOwotICBhdHRyaWJ1dGUgdW5yZXN0cmljdGVkIGZsb2F0IHJlYWx3
aXRoaW5maW5pdHk7Ci0gIGF0dHJpYnV0ZSB1bnJlc3RyaWN0ZWQgZG91YmxlIGJpZ3JlYWx3aXRo
aW5maW5pdHk7Ci0gIGF0dHJpYnV0ZSBET01TdHJpbmcgc3RyaW5nOwotICBhdHRyaWJ1dGUgQnl0
ZVN0cmluZyBieXRlczsKLSAgYXR0cmlidXRlIERhdGUgZGF0ZTsKLSAgYXR0cmlidXRlIFJlZ0V4
cCByZWdleHA7Ci19OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvcHJvbWlzZS12
b2lkLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9wcm9taXNlLXZvaWQud2lkbApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzRlYWMzYjc1YzQuLjAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC9zeW50YXgvaWRsL3Byb21pc2Utdm9pZC53aWRsCisrKyAvZGV2L251bGwKQEAgLTEs
MyArMCwwIEBACi1pbnRlcmZhY2UgQ2F0IHsKLSAgICBhdHRyaWJ1dGUgUHJvbWlzZTx2b2lkPiBt
ZW93OwotfTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL3Byb3RvdHlwZXJvb3Qu
d2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL3Byb3RvdHlwZXJvb3Qud2lkbApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMzBkZDVjYmNhMTMuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC9zeW50YXgvaWRsL3Byb3RvdHlwZXJvb3Qud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDUg
KzAsMCBAQAotLy8gRXh0cmFjdGVkIGZyb20gaHR0cDovL2Rldi53My5vcmcvMjAwNi93ZWJhcGkv
V2ViSURMLyBvbiAyMDExLTA1LTA2Ci1bUHJvdG90eXBlUm9vdF0KLWludGVyZmFjZSBOb2RlIHsK
LSAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIHNob3J0IG5vZGVUeXBlOwotfTsKXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9w
dXRmb3J3YXJkcy53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvcHV0Zm9yd2FyZHMud2lkbApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMWU1MGE0ZWUzOTQuLjAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL3B1dGZvcndhcmRzLndpZGwKKysrIC9kZXYvbnVsbApA
QCAtMSw1ICswLDAgQEAKLS8vIEV4dHJhY3RlZCBmcm9tIGh0dHA6Ly9kZXYudzMub3JnLzIwMDYv
d2ViYXBpL1dlYklETC8gb24gMjAxMS0wNS0wNgotaW50ZXJmYWNlIFBlcnNvbiB7Ci0gIFtQdXRG
b3J3YXJkcz1mdWxsXSByZWFkb25seSBhdHRyaWJ1dGUgTmFtZSBuYW1lOwotICBhdHRyaWJ1dGUg
dW5zaWduZWQgc2hvcnQgYWdlOwotfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9yZWNvcmQud2lkbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50
YXgvaWRsL3JlY29yZC53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkYmZhZDNh
ZmJmZS4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvcmVjb3JkLndpZGwK
KysrIC9kZXYvbnVsbApAQCAtMSw5ICswLDAgQEAKLVtDb25zdHJ1Y3RvcihyZWNvcmQ8VVNWU3Ry
aW5nLCBVU1ZTdHJpbmc+IGluaXQpXQotaW50ZXJmYWNlIEZvbyB7Ci0gIHZvaWQgZm9vKHNlcXVl
bmNlPHJlY29yZDxCeXRlU3RyaW5nLCBhbnk+PiBwYXJhbSk7Ci0gIHJlY29yZDxET01TdHJpbmcs
IChmbG9hdCBvciBET01TdHJpbmcpPz4gYmFyKCk7Ci19OwotCi1pbnRlcmZhY2UgQmFyIHsKLSAg
cmVjb3JkPERPTVN0cmluZywgW1hBdHRyXSBmbG9hdD4gYmFyKCk7Ci19OwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3N5bnRheC9pZGwvcmVnLW9wZXJhdGlvbnMud2lkbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50
YXgvaWRsL3JlZy1vcGVyYXRpb25zLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDMzOGM4ZDQyNzYzLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9yZWct
b3BlcmF0aW9ucy53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsMTUgKzAsMCBAQAotLy8gRXh0cmFj
dGVkIGZyb20gaHR0cDovL2Rldi53My5vcmcvMjAwNi93ZWJhcGkvV2ViSURMLyBvbiAyMDExLTA1
LTA2Ci1pbnRlcmZhY2UgRGltZW5zaW9ucyB7Ci0gIGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIHdp
ZHRoOwotICBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBoZWlnaHQ7Ci19OwotCi1pbnRlcmZhY2Ug
QnV0dG9uIHsKLQotICAvLyBBbiBvcGVyYXRpb24gdGhhdCB0YWtlcyBubyBhcmd1bWVudHMsIHJl
dHVybnMgYSBib29sZWFuCi0gIGJvb2xlYW4gaXNNb3VzZU92ZXIoKTsKLQotICAvLyBPdmVybG9h
ZGVkIG9wZXJhdGlvbnMuCi0gIHZvaWQgc2V0RGltZW5zaW9ucyhEaW1lbnNpb25zIHNpemUpOwot
ICB2b2lkIHNldERpbWVuc2lvbnModW5zaWduZWQgbG9uZyB3aWR0aCwgdW5zaWduZWQgbG9uZyBo
ZWlnaHQpOwotfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvc3ludGF4L2lkbC9yZXBsYWNlYWJsZS53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwv
cmVwbGFjZWFibGUud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzE0ZDBjMzc2
ODkuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL3JlcGxhY2VhYmxlLndp
ZGwKKysrIC9kZXYvbnVsbApAQCAtMSw1ICswLDAgQEAKLS8vIEV4dHJhY3RlZCBmcm9tIGh0dHA6
Ly9kZXYudzMub3JnLzIwMDYvd2ViYXBpL1dlYklETC8gb24gMjAxMS0wNS0wNgotaW50ZXJmYWNl
IENvdW50ZXIgewotICBbUmVwbGFjZWFibGVdIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBs
b25nIHZhbHVlOwotICB2b2lkIGluY3JlbWVudCgpOwotfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9zZXF1ZW5jZS53aWRsIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3N5bnRheC9pZGwvc2VxdWVuY2Uud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggYjQ3Yzk4MjI1YzcuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgv
aWRsL3NlcXVlbmNlLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSwxMyArMCwwIEBACi0vLyBFeHRy
YWN0ZWQgZnJvbSBodHRwOi8vZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJJREwvIG9uIDIwMTEt
MDUtMDYKLS8vIGVkaXRlZCB0byByZW1vdmUgc2VxdWVuY2UgYXMgYXR0cmlidXRlcywgbm93IGlu
dmFsaWQKLWludGVyZmFjZSBDYW52YXMgewotICB2b2lkIGRyYXdQb2x5Z29uKHNlcXVlbmNlPGZs
b2F0PiBjb29yZGluYXRlcyk7Ci0gIHNlcXVlbmNlPGZsb2F0PiBnZXRJbmZsZWN0aW9uUG9pbnRz
KCk7Ci0gIC8vIC4uLgotfTsKLQotLy8gRXh0cmFjdGVkIGZyb20gaHR0cHM6Ly9oZXljYW0uZ2l0
aHViLmlvL3dlYmlkbC8jaWRsLXR5cGUtZXh0ZW5kZWQtYXR0cmlidXRlLWFzc29jaWF0ZWQtd2l0
aCBvbiAyMDE3LTA3LTAxCi0KLWludGVyZmFjZSBJIHsKLSAgICB2b2lkIGYxKHNlcXVlbmNlPFtY
QXR0cl0gbG9uZz4gYXJnKTsKLX07CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9z
ZXRsaWtlLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9zZXRsaWtlLndpZGwKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ1MTJmMjg2YjU5Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvc3ludGF4L2lkbC9zZXRsaWtlLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSwxMSArMCww
IEBACi1pbnRlcmZhY2UgU2V0TGlrZSB7Ci0gIHNldGxpa2U8bG9uZz47Ci19OwotCi1pbnRlcmZh
Y2UgUmVhZE9ubHlTZXRMaWtlIHsKLSAgcmVhZG9ubHkgc2V0bGlrZTxsb25nPjsKLX07Ci0KLWlu
dGVyZmFjZSBTZXRMaWtlRXh0IHsKLSAgc2V0bGlrZTxbWEF0dHJdIGxvbmc+OwotfTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL3N0YXRpYy53aWRsIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRh
eC9pZGwvc3RhdGljLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDViMmNkMzY1
OTBmLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9zdGF0aWMud2lkbAor
KysgL2Rldi9udWxsCkBAIC0xLDExICswLDAgQEAKLS8vIEV4dHJhY3RlZCBmcm9tIGh0dHA6Ly9k
ZXYudzMub3JnLzIwMDYvd2ViYXBpL1dlYklETC8gb24gMjAxMS0wNS0wNgotaW50ZXJmYWNlIFBv
aW50IHsgLyogLi4uICovIH07Ci0KLWludGVyZmFjZSBDaXJjbGUgewotICBhdHRyaWJ1dGUgZmxv
YXQgY3g7Ci0gIGF0dHJpYnV0ZSBmbG9hdCBjeTsKLSAgYXR0cmlidXRlIGZsb2F0IHJhZGl1czsK
LQotICBzdGF0aWMgcmVhZG9ubHkgYXR0cmlidXRlIGxvbmcgdHJpYW5ndWxhdGlvbkNvdW50Owot
ICBzdGF0aWMgUG9pbnQgdHJpYW5ndWxhdGUoQ2lyY2xlIGMxLCBDaXJjbGUgYzIsIENpcmNsZSBj
Myk7Ci19OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC9zeW50YXgvaWRsL3N0cmluZ2lmaWVyLWF0dHJpYnV0ZS53aWRsIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRh
eC9pZGwvc3RyaW5naWZpZXItYXR0cmlidXRlLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IGM5NjRlY2I5M2U2Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lk
bC9zdHJpbmdpZmllci1hdHRyaWJ1dGUud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDYgKzAsMCBA
QAotLy8gRXh0cmFjdGVkIGZyb20gaHR0cDovL2Rldi53My5vcmcvMjAwNi93ZWJhcGkvV2ViSURM
LyBvbiAyMDExLTA1LTA2Ci1bQ29uc3RydWN0b3JdCi1pbnRlcmZhY2UgU3R1ZGVudCB7Ci0gIGF0
dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGlkOwotICBzdHJpbmdpZmllciBhdHRyaWJ1dGUgRE9NU3Ry
aW5nIG5hbWU7Ci19OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC9zeW50YXgvaWRsL3N0cmluZ2lmaWVyLWN1c3RvbS53aWRsIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5
bnRheC9pZGwvc3RyaW5naWZpZXItY3VzdG9tLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IGI1ZDdjODdlN2Y0Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lk
bC9zdHJpbmdpZmllci1jdXN0b20ud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDkgKzAsMCBAQAot
Ly8gRXh0cmFjdGVkIGZyb20gaHR0cDovL2Rldi53My5vcmcvMjAwNi93ZWJhcGkvV2ViSURMLyBv
biAyMDExLTA1LTA2Ci1bQ29uc3RydWN0b3JdCi1pbnRlcmZhY2UgU3R1ZGVudCB7Ci0gIGF0dHJp
YnV0ZSB1bnNpZ25lZCBsb25nIGlkOwotICBhdHRyaWJ1dGUgRE9NU3RyaW5nPyBmYW1pbHlOYW1l
OwotICBhdHRyaWJ1dGUgRE9NU3RyaW5nIGdpdmVuTmFtZTsKLQotICBzdHJpbmdpZmllciBET01T
dHJpbmcgKCk7Ci19OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC9zeW50YXgvaWRsL3N0cmluZ2lmaWVyLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lk
bC9zdHJpbmdpZmllci53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjNDUyNzdl
YThkYi4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvc3RyaW5naWZpZXIu
d2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDggKzAsMCBAQAotLy8gRXh0cmFjdGVkIGZyb20gaHR0
cDovL2Rldi53My5vcmcvMjAwNi93ZWJhcGkvV2ViSURMLyBvbiAyMDExLTA1LTA2Ci1pbnRlcmZh
Y2UgQSB7Ci0gIHN0cmluZ2lmaWVyIERPTVN0cmluZyAoKTsKLX07Ci0KLWludGVyZmFjZSBCIHsK
LSAgc3RyaW5naWZpZXI7Ci19OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL3RyZWF0YXNudWxsLndpZGwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3lu
dGF4L2lkbC90cmVhdGFzbnVsbC53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBk
M2M1NWIwMDhjMC4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvdHJlYXRh
c251bGwud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDcgKzAsMCBAQAotLy8gRXh0cmFjdGVkIGZy
b20gaHR0cDovL2Rldi53My5vcmcvMjAwNi93ZWJhcGkvV2ViSURMLyBvbiAyMDExLTA1LTA2Ci1p
bnRlcmZhY2UgRG9nIHsKLSAgYXR0cmlidXRlIERPTVN0cmluZyBuYW1lOwotICBhdHRyaWJ1dGUg
RE9NU3RyaW5nIG93bmVyOwotCi0gIGJvb2xlYW4gaXNNZW1iZXJPZkJyZWVkKFtUcmVhdE51bGxB
cz1FbXB0eVN0cmluZ10gRE9NU3RyaW5nIGJyZWVkTmFtZSk7Ci19OwpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL3RyZWF0YXN1bmRl
ZmluZWQud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL3RyZWF0YXN1bmRlZmluZWQud2lkbApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTMwMDUwZjg0MTMuLjAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL3RyZWF0YXN1bmRlZmluZWQud2lkbAorKysgL2Rldi9u
dWxsCkBAIC0xLDcgKzAsMCBAQAotLy8gRXh0cmFjdGVkIGZyb20gaHR0cDovL2Rldi53My5vcmcv
MjAwNi93ZWJhcGkvV2ViSURMLyBvbiAyMDExLTA1LTA2Ci1pbnRlcmZhY2UgQ2F0IHsKLSAgYXR0
cmlidXRlIERPTVN0cmluZyBuYW1lOwotICBhdHRyaWJ1dGUgRE9NU3RyaW5nIG93bmVyOwotCi0g
IGJvb2xlYW4gaXNNZW1iZXJPZkJyZWVkKFtUcmVhdFVuZGVmaW5lZEFzPUVtcHR5U3RyaW5nXSBE
T01TdHJpbmcgYnJlZWROYW1lKTsKLX07ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvdHlwZWRlZi11bmlvbi53aWRsIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3N5bnRheC9pZGwvdHlwZWRlZi11bmlvbi53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAzMDQ4NzAzZTBjNS4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9p
ZGwvdHlwZWRlZi11bmlvbi53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsNCArMCwwIEBACi0gIHR5
cGVkZWYgKEltYWdlRGF0YSBvcgotICAgICAgICAgICBIVE1MSW1hZ2VFbGVtZW50IG9yCi0gICAg
ICAgICAgIEhUTUxDYW52YXNFbGVtZW50IG9yCi0gICAgICAgICAgIEhUTUxWaWRlb0VsZW1lbnQp
IFRleEltYWdlU291cmNlOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvdHlwZWRl
Zi53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvdHlwZWRlZi53aWRsCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCBiNGMxN2Q4ZDM2YS4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3N5bnRheC9pZGwvdHlwZWRlZi53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsMjIgKzAsMCBAQAot
Ly8gRXh0cmFjdGVkIGZyb20gaHR0cDovL2Rldi53My5vcmcvMjAwNi93ZWJhcGkvV2ViSURMLyBv
biAyMDExLTA1LTA2Ci0gICAgICBpbnRlcmZhY2UgUG9pbnQgewotICAgICAgICBhdHRyaWJ1dGUg
ZmxvYXQgeDsKLSAgICAgICAgYXR0cmlidXRlIGZsb2F0IHk7Ci0gICAgICB9OwotCi0gICAgICB0
eXBlZGVmIHNlcXVlbmNlPFBvaW50PiBQb2ludFNlcXVlbmNlOwotCi0gICAgICBpbnRlcmZhY2Ug
UmVjdCB7Ci0gICAgICAgIGF0dHJpYnV0ZSBQb2ludCB0b3BsZWZ0OwotICAgICAgICBhdHRyaWJ1
dGUgUG9pbnQgYm90dG9tcmlnaHQ7Ci0gICAgICB9OwotCi0gIGludGVyZmFjZSBXaWRnZXQgewot
Ci0gICAgcmVhZG9ubHkgYXR0cmlidXRlIFJlY3QgYm91bmRzOwotCi0gICAgYm9vbGVhbiBwb2lu
dFdpdGhpbkJvdW5kcyhQb2ludCBwKTsKLSAgICBib29sZWFuIGFsbFBvaW50c1dpdGhpbkJvdW5k
cyhQb2ludFNlcXVlbmNlIHBzKTsKLSAgfTsKLQotICB0eXBlZGVmIFtDbGFtcF0gb2N0ZXQgdmFs
dWU7ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5
bnRheC9pZGwvdHlwZXN1ZmZpeGVzLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC90eXBlc3Vm
Zml4ZXMud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYmVhYWE4NzI2MDAuLjAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL3R5cGVzdWZmaXhlcy53aWRsCisr
KyAvZGV2L251bGwKQEAgLTEsMyArMCwwIEBACi1pbnRlcmZhY2UgU3VmZml4ZXMgewotICB2b2lk
IHRlc3Qoc2VxdWVuY2U8RE9NU3RyaW5nPz4/IGZvbyk7Ci19OwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3N5bnRheC9pZGwvdW5pb250eXBlLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC91bmlv
bnR5cGUud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMGQ1ZmU5YmU0MjguLjAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL3VuaW9udHlwZS53aWRsCisrKyAv
ZGV2L251bGwKQEAgLTEsNCArMCwwIEBACi1pbnRlcmZhY2UgVW5pb24gewotIGF0dHJpYnV0ZSAo
ZmxvYXQgb3IgKERhdGUgb3IgRXZlbnQpIG9yIChOb2RlIG9yIERPTVN0cmluZyk/KSB0ZXN0Owot
IGF0dHJpYnV0ZSAoW0VuZm9yY2VSYW5nZV0gbG9uZyBvciBEYXRlKSB0ZXN0MjsKLX07ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwv
dmFyaWFkaWMtb3BlcmF0aW9ucy53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvdmFyaWFkaWMt
b3BlcmF0aW9ucy53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1MWZhZTRjYzFl
YS4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvdmFyaWFkaWMtb3BlcmF0
aW9ucy53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsNyArMCwwIEBACi0vLyBFeHRyYWN0ZWQgZnJv
bSBodHRwOi8vZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJJREwvIG9uIDIwMTEtMDUtMDYKLWlu
dGVyZmFjZSBJbnRlZ2VyU2V0IHsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcg
Y2FyZGluYWxpdHk7Ci0KLSAgdm9pZCB1bmlvbihsb25nLi4uIGludHMpOwotICB2b2lkIGludGVy
c2VjdGlvbihsb25nLi4uIGludHMpOwotfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC9zeW50YXgvaWRsL3czYy1pbXBvcnQubG9nCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCA0MmQxZDc2MGRmMC4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvdzNj
LWltcG9ydC5sb2cKKysrIC9kZXYvbnVsbApAQCAtMSw2OCArMCwwIEBACi1UaGUgdGVzdHMgaW4g
dGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KLURv
IE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVhZCwgY3Jl
YXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0aHViLmNv
bS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0Ci0KLVRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2lt
cG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0Ci0KLURvIE5PVCBtb2RpZnkgb3Ig
cmVtb3ZlIHRoaXMgZmlsZS4KLQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1Qcm9wZXJ0aWVzIHJlcXVpcmlu
ZyB2ZW5kb3IgcHJlZml4ZXM6Ci1Ob25lCi1Qcm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5nIHZlbmRv
ciBwcmVmaXhlczoKLU5vbmUKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotTGlzdCBvZiBmaWxlczoKLS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvc3ludGF4L2lkbC9hbGxvd2FueS53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvYXR0
cmlidXRlcy53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvY2FsbGJhY2sud2lkbAotL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC9zeW50YXgvaWRsL2NvbnN0YW50cy53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvY29u
c3RydWN0b3Iud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL2RpY3Rpb25hcnktaW5oZXJpdHMu
d2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL2RpY3Rpb25hcnkud2lkbAotL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9z
eW50YXgvaWRsL2RvY3VtZW50YXRpb24tZG9zLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9k
b2N1bWVudGF0aW9uLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9lbnVtLndpZGwKLS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvc3ludGF4L2lkbC9lcXVpdmFsZW50LWRlY2wud2lkbAotL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgv
aWRsL2V4dGVuZGVkLWF0dHJpYnV0ZXMud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL2dlbmVy
aWMud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL2dldHRlci1zZXR0ZXIud2lkbAotL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC9zeW50YXgvaWRsL2lkZW50aWZpZXItcXVhbGlmaWVkLW5hbWVzLndpZGwKLS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvc3ludGF4L2lkbC9pbXBsZW1lbnRzLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9pbmRl
eGVkLXByb3BlcnRpZXMud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL2luaGVyaXRzLWdldHRl
ci53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvaW50ZXJmYWNlLWluaGVyaXRzLndpZGwKLS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3Qvc3ludGF4L2lkbC9pdGVyYWJsZS53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwv
bGVnYWN5aXRlcmFibGUud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL21hcGxpa2Uud2lkbAot
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC9zeW50YXgvaWRsL21peGluLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9u
YW1lZGNvbnN0cnVjdG9yLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9uYW1lc3BhY2Uud2lk
bAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL25vaW50ZXJmYWNlb2JqZWN0LndpZGwKLS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvc3ludGF4L2lkbC9udWxsYWJsZS53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvbnVsbGFi
bGVvYmplY3RzLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9vcGVyYXRpb24tb3B0aW9uYWwt
YXJnLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9vdmVybG9hZGluZy53aWRsCi0vTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3N5bnRheC9pZGwvb3ZlcnJpZGVidWlsdGlucy53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9p
ZGwvcGFydGlhbC1pbnRlcmZhY2Uud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL3ByaW1pdGl2
ZXMud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL3Byb21pc2Utdm9pZC53aWRsCi0vTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3N5bnRheC9pZGwvcHJvdG90eXBlcm9vdC53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwv
cHV0Zm9yd2FyZHMud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL3JlY29yZC53aWRsCi0vTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L3N5bnRheC9pZGwvcmVnLW9wZXJhdGlvbnMud2lkbAotL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgv
aWRsL3JlcGxhY2VhYmxlLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9zZXF1ZW5jZS53aWRs
Ci0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvc2V0bGlrZS53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9p
ZGwvc3RhdGljLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9zdHJpbmdpZmllci1hdHRyaWJ1
dGUud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL3N0cmluZ2lmaWVyLWN1c3RvbS53aWRsCi0v
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3N5bnRheC9pZGwvc3RyaW5naWZpZXIud2lkbAotL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgv
aWRsL3RyZWF0YXNudWxsLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC90cmVhdGFzdW5kZWZp
bmVkLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC90eXBlZGVmLXVuaW9uLndpZGwKLS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvc3ludGF4L2lkbC90eXBlZGVmLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC90eXBl
c3VmZml4ZXMud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL3VuaW9udHlwZS53aWRsCi0vTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L3N5bnRheC9pZGwvdmFyaWFkaWMtb3BlcmF0aW9ucy53aWRsCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3Qvc3ludGF4L2pzb24vYWxsb3dhbnkuanNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNv
bi9hbGxvd2FueS5qc29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyYTkzNTE4ZWQ5
NC4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2FsbG93YW55Lmpzb24K
KysrIC9kZXYvbnVsbApAQCAtMSwxMTIgKzAsMCBAQAotWwotICAgIHsKLSAgICAgICAgInR5cGUi
OiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUiOiAiQiIsCi0gICAgICAgICJwYXJ0aWFsIjog
ZmFsc2UsCi0gICAgICAgICJtZW1iZXJzIjogWwotICAgICAgICAgICAgewotICAgICAgICAgICAg
ICAgICJ0eXBlIjogIm9wZXJhdGlvbiIsCi0gICAgICAgICAgICAgICAgImdldHRlciI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICJzZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiZGVs
ZXRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6
IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAicmV0dXJuLXR5cGUiLAotICAgICAgICAg
ICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJs
ZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAgICAgImlkbFR5cGUiOiAidm9pZCIsCi0gICAgICAgICAgICAgICAgICAgICJleHRB
dHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJn
IiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiZyIsCi0gICAgICAgICAgICAgICAg
ImFyZ3VtZW50cyI6IFtdLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAg
ICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogIm9wZXJhdGlv
biIsCi0gICAgICAgICAgICAgICAgImdldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJz
ZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiZGVsZXRlciI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAg
ICAgInR5cGUiOiAicmV0dXJuLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6
IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUi
OiAidm9pZCIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAg
ICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJnIiwKLSAgICAgICAgICAgICAgICAi
ZXNjYXBlZE5hbWUiOiAiZyIsCi0gICAgICAgICAgICAgICAgImFyZ3VtZW50cyI6IFsKLSAgICAg
ICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIm9wdGlvbmFsIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAidmFyaWFkaWMiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICJkZWZhdWx0IjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJleHRBdHRycyI6IFtdLAotICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBl
IjogIkIiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAg
ICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAi
YiIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiYiIKLSAgICAgICAg
ICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgImV4dEF0
dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAg
InR5cGUiOiAib3BlcmF0aW9uIiwKLSAgICAgICAgICAgICAgICAiZ2V0dGVyIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgInNldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJkZWxldGVy
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewot
ICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAgICAgICAgICAg
ICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICAgICAiaWRsVHlwZSI6ICJ2b2lkIiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJz
IjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogImciLAot
ICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJnIiwKLSAgICAgICAgICAgICAgICAiYXJn
dW1lbnRzIjogWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICAib3B0aW9uYWwiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ2YXJpYWRpYyI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHQiOiBudWxsLAotICAgICAg
ICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogWwotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAiQWxsb3dBbnki
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYXJndW1lbnRzIjogbnVsbCwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiZXh0ZW5kZWQtYXR0cmlidXRl
IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInJocyI6IG51bGwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgICAgICBdLAotICAgICAg
ICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgInR5cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogIkRPTVN0cmluZyIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAg
ICAgIH0sCi0gICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJzIiwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJzIgotICAgICAgICAgICAgICAgICAgICB9Ci0g
ICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAg
ICAgICAgfQotICAgICAgICBdLAotICAgICAgICAiaW5oZXJpdGFuY2UiOiBudWxsLAotICAgICAg
ICAiZXh0QXR0cnMiOiBbXQotICAgIH0KLV0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgv
anNvbi9hdHRyaWJ1dGVzLmpzb24gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vYXR0cmlidXRlcy5q
c29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmMDJjYjIxODdhMi4uMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2F0dHJpYnV0ZXMuanNvbgorKysgL2Rldi9u
dWxsCkBAIC0xLDQ3ICswLDAgQEAKLVsKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImludGVyZmFj
ZSIsCi0gICAgICAgICJuYW1lIjogIlBlcnNvbiIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFsc2Us
Ci0gICAgICAgICJtZW1iZXJzIjogWwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0
eXBlIjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpbmhl
cml0IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5IjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJp
YnV0ZS10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAg
ICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVu
aW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogInVuc2lnbmVkIHNo
b3J0IiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAg
ICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogImFnZSIsCi0gICAgICAgICAgICAgICAgImVz
Y2FwZWROYW1lIjogImFnZSIsCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAg
ICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmli
dXRlIiwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
InN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAicmVhZG9ubHkiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRs
VHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlLXR5cGUiLAot
ICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAg
ICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiYW55IiwKLSAgICAgICAgICAgICAgICAg
ICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJu
YW1lIjogInJlcXVpcmVkIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAicmVxdWly
ZWQiLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAg
ICAgIF0sCi0gICAgICAgICJpbmhlcml0YW5jZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6
IFtdCi0gICAgfQotXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2NhbGxiYWNr
Lmpzb24gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vY2FsbGJhY2suanNvbgpkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggODlkNjNhYWU1M2QuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC9zeW50YXgvanNvbi9jYWxsYmFjay5qc29uCisrKyAvZGV2L251bGwKQEAgLTEsMTI2ICswLDAg
QEAKLVsKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImNhbGxiYWNrIiwKLSAgICAgICAgIm5hbWUi
OiAiQXN5bmNPcGVyYXRpb25DYWxsYmFjayIsCi0gICAgICAgICJpZGxUeXBlIjogewotICAgICAg
ICAgICAgInR5cGUiOiAicmV0dXJuLXR5cGUiLAotICAgICAgICAgICAgImdlbmVyaWMiOiBudWxs
LAotICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAidW5pb24iOiBm
YWxzZSwKLSAgICAgICAgICAgICJpZGxUeXBlIjogInZvaWQiLAotICAgICAgICAgICAgImV4dEF0
dHJzIjogW10KLSAgICAgICAgfSwKLSAgICAgICAgImFyZ3VtZW50cyI6IFsKLSAgICAgICAgICAg
IHsKLSAgICAgICAgICAgICAgICAib3B0aW9uYWwiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAi
dmFyaWFkaWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiZGVmYXVsdCI6IG51bGwsCi0gICAg
ICAgICAgICAgICAgImV4dEF0dHJzIjogW10sCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7
Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImFyZ3VtZW50LXR5cGUiLAotICAgICAgICAg
ICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJs
ZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAgICAgImlkbFR5cGUiOiAiRE9NU3RyaW5nIiwKLSAgICAgICAgICAgICAgICAgICAg
ImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1l
IjogInN0YXR1cyIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogInN0YXR1cyIKLSAg
ICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9LAot
ICAgIHsKLSAgICAgICAgInR5cGUiOiAiY2FsbGJhY2sgaW50ZXJmYWNlIiwKLSAgICAgICAgIm5h
bWUiOiAiRXZlbnRIYW5kbGVyIiwKLSAgICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAg
Im1lbWJlcnMiOiBbCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAib3Bl
cmF0aW9uIiwKLSAgICAgICAgICAgICAgICAiZ2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgInNldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJkZWxldGVyIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdp
ZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAg
ICAgICAgICAidHlwZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5l
cmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRs
VHlwZSI6ICJ2b2lkIiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAg
ICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogImV2ZW50T2NjdXJyZWQiLAot
ICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJldmVudE9jY3VycmVkIiwKLSAgICAgICAg
ICAgICAgICAiYXJndW1lbnRzIjogWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICAib3B0aW9uYWwiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJ2YXJpYWRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHQiOiBu
dWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10sCi0gICAgICAgICAg
ICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAi
dHlwZSI6ICJhcmd1bWVudC10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2Vu
ZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiRE9NU3RyaW5nIiwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAgICAg
fSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjogImRldGFpbHMiLAotICAgICAgICAg
ICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImRldGFpbHMiCi0gICAgICAgICAgICAgICAg
ICAgIH0KLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtd
Ci0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJpbmhlcml0YW5jZSI6IG51bGws
Ci0gICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgfSwKLSAgICB7Ci0gICAgICAgICJ0eXBlIjog
ImNhbGxiYWNrIiwKLSAgICAgICAgIm5hbWUiOiAiU29ydENhbGxiYWNrIiwKLSAgICAgICAgImlk
bFR5cGUiOiB7Ci0gICAgICAgICAgICAidHlwZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAgICAgICAg
ICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAg
ICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgImlkbFR5cGUiOiAiYm9vbGVhbiIs
Ci0gICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICB9LAotICAgICAgICAiYXJndW1l
bnRzIjogWwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJvcHRpb25hbCI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICJ2YXJpYWRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJk
ZWZhdWx0IjogbnVsbCwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXSwKLSAgICAgICAg
ICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXJndW1l
bnQtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAg
ICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlv
biI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJhbnkiLAotICAgICAg
ICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAg
ICAgICAgICAgIm5hbWUiOiAiYSIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImEi
Ci0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJvcHRpb25h
bCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJ2YXJpYWRpYyI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICJkZWZhdWx0IjogbnVsbCwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXSwK
LSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUi
OiAiYXJndW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwK
LSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJhbnki
LAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0s
Ci0gICAgICAgICAgICAgICAgIm5hbWUiOiAiYiIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWRO
YW1lIjogImIiCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJleHRBdHRycyI6
IFtdCi0gICAgfQotXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2NvbnN0YW50
cy5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2NvbnN0YW50cy5qc29uCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCBlZjJiOGM0NGNhMS4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3N5bnRheC9qc29uL2NvbnN0YW50cy5qc29uCisrKyAvZGV2L251bGwKQEAgLTEsMTU0ICsw
LDAgQEAKLVsKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAgICAgICJu
YW1lIjogIlV0aWwiLAotICAgICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVy
cyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJjb25zdCIsCi0g
ICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5
cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImNvbnN0LXR5cGUiLAotICAgICAg
ICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxs
YWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiYm9vbGVhbiIsCi0gICAgICAgICAgICAgICAgICAg
ICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFt
ZSI6ICJERUJVRyIsCi0gICAgICAgICAgICAgICAgInZhbHVlIjogewotICAgICAgICAgICAgICAg
ICAgICAidHlwZSI6ICJib29sZWFuIiwKLSAgICAgICAgICAgICAgICAgICAgInZhbHVlIjogZmFs
c2UKLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0g
ICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogImNv
bnN0IiwKLSAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiY29uc3QtdHlwZSIs
Ci0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAg
ICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJzaG9ydCIsCi0gICAgICAgICAgICAg
ICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAg
ICAibmFtZSI6ICJuZWdhdGl2ZSIsCi0gICAgICAgICAgICAgICAgInZhbHVlIjogewotICAgICAg
ICAgICAgICAgICAgICAidHlwZSI6ICJudW1iZXIiLAotICAgICAgICAgICAgICAgICAgICAidmFs
dWUiOiAiLTEiCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMi
OiBbXQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlw
ZSI6ICJjb25zdCIsCi0gICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImNvbnN0
LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAg
ICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24i
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAib2N0ZXQiLAotICAgICAg
ICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAg
ICAgICAgICAgIm5hbWUiOiAiTEYiLAotICAgICAgICAgICAgICAgICJ2YWx1ZSI6IHsKLSAgICAg
ICAgICAgICAgICAgICAgInR5cGUiOiAibnVtYmVyIiwKLSAgICAgICAgICAgICAgICAgICAgInZh
bHVlIjogIjEwIgotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgImV4dEF0dHJz
IjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5
cGUiOiAiY29uc3QiLAotICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJjb25z
dC10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAg
ICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9u
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogInVuc2lnbmVkIGxvbmci
LAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0s
Ci0gICAgICAgICAgICAgICAgIm5hbWUiOiAiQklUX01BU0siLAotICAgICAgICAgICAgICAgICJ2
YWx1ZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAibnVtYmVyIiwKLSAgICAgICAg
ICAgICAgICAgICAgInZhbHVlIjogIjB4MDAwMGZjMDAiCi0gICAgICAgICAgICAgICAgfSwKLSAg
ICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAg
IHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJjb25zdCIsCi0gICAgICAgICAgICAgICAgIm51
bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAg
ICAgICAgICAgICJ0eXBlIjogImNvbnN0LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2Vu
ZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlk
bFR5cGUiOiAiZmxvYXQiLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAg
ICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiQVZPR0FEUk8iLAotICAg
ICAgICAgICAgICAgICJ2YWx1ZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAibnVt
YmVyIiwKLSAgICAgICAgICAgICAgICAgICAgInZhbHVlIjogIjYuMDIyZTIzIgotICAgICAgICAg
ICAgICAgIH0sCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0s
Ci0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiY29uc3QiLAotICAgICAg
ICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjog
ewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJjb25zdC10eXBlIiwKLSAgICAgICAgICAg
ICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgICAgICJpZGxUeXBlIjogInVucmVzdHJpY3RlZCBmbG9hdCIsCi0gICAgICAgICAgICAg
ICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAg
ICAibmFtZSI6ICJzb2JpZyIsCi0gICAgICAgICAgICAgICAgInZhbHVlIjogewotICAgICAgICAg
ICAgICAgICAgICAidHlwZSI6ICJJbmZpbml0eSIsCi0gICAgICAgICAgICAgICAgICAgICJuZWdh
dGl2ZSI6IGZhbHNlCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAiZXh0QXR0
cnMiOiBbXQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAi
dHlwZSI6ICJjb25zdCIsCi0gICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImNv
bnN0LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAg
ICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5p
b24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAidW5yZXN0cmljdGVk
IGRvdWJsZSIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAg
ICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJtaW51c29uZWRpdmlkZWRieXplcm8i
LAotICAgICAgICAgICAgICAgICJ2YWx1ZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUi
OiAiSW5maW5pdHkiLAotICAgICAgICAgICAgICAgICAgICAibmVnYXRpdmUiOiB0cnVlCi0gICAg
ICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAg
ICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJjb25zdCIsCi0g
ICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5
cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImNvbnN0LXR5cGUiLAotICAgICAg
ICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxs
YWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAgICAgImlkbFR5cGUiOiAic2hvcnQiLAotICAgICAgICAgICAgICAgICAgICAi
ZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUi
OiAibm90YW51bWJlciIsCi0gICAgICAgICAgICAgICAgInZhbHVlIjogewotICAgICAgICAgICAg
ICAgICAgICAidHlwZSI6ICJOYU4iCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAg
ICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfQotICAgICAgICBdLAotICAgICAgICAiaW5o
ZXJpdGFuY2UiOiBudWxsLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0KLV0KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9jb25zdHJ1Y3Rvci5qc29uIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3N5bnRheC9qc29uL2NvbnN0cnVjdG9yLmpzb24KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IGVmZGQxYjVhNmJlLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24v
Y29uc3RydWN0b3IuanNvbgorKysgL2Rldi9udWxsCkBAIC0xLDExMyArMCwwIEBACi1bCi0gICAg
ewotICAgICAgICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFtZSI6ICJDaXJjbGUi
LAotICAgICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFsKLSAgICAg
ICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAg
ICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICJyZWFkb25seSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAg
ICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAgICAgICAgICAgICAg
ICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICAgICAiaWRsVHlwZSI6ICJmbG9hdCIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6
IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJyIiwKLSAg
ICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiciIsCi0gICAgICAgICAgICAgICAgImV4dEF0
dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAg
InR5cGUiOiAiYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlu
aGVyaXQiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAicmVhZG9ubHkiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0
cmlidXRlLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAg
ICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAi
dW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiZmxvYXQiLAot
ICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0g
ICAgICAgICAgICAgICAgIm5hbWUiOiAiY3giLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFt
ZSI6ICJjeCIsCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0s
Ci0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAg
ICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lm
aWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAicmVhZG9ubHkiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsK
LSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlLXR5cGUiLAotICAgICAgICAg
ICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJs
ZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAgICAgImlkbFR5cGUiOiAiZmxvYXQiLAotICAgICAgICAgICAgICAgICAgICAiZXh0
QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAi
Y3kiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJjeSIsCi0gICAgICAgICAgICAg
ICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAg
ICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAic3RhdGljIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAicmVhZG9ubHkiOiB0cnVl
LAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlw
ZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVs
bCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJm
bG9hdCIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAg
ICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJjaXJjdW1mZXJlbmNlIiwKLSAgICAgICAg
ICAgICAgICAiZXNjYXBlZE5hbWUiOiAiY2lyY3VtZmVyZW5jZSIsCi0gICAgICAgICAgICAgICAg
ImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImluaGVy
aXRhbmNlIjogbnVsbCwKLSAgICAgICAgImV4dEF0dHJzIjogWwotICAgICAgICAgICAgewotICAg
ICAgICAgICAgICAgICJuYW1lIjogIkNvbnN0cnVjdG9yIiwKLSAgICAgICAgICAgICAgICAiYXJn
dW1lbnRzIjogbnVsbCwKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJleHRlbmRlZC1hdHRyaWJ1
dGUiLAotICAgICAgICAgICAgICAgICJyaHMiOiBudWxsCi0gICAgICAgICAgICB9LAotICAgICAg
ICAgICAgewotICAgICAgICAgICAgICAgICJuYW1lIjogIkNvbnN0cnVjdG9yIiwKLSAgICAgICAg
ICAgICAgICAiYXJndW1lbnRzIjogWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICAib3B0aW9uYWwiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJ2YXJpYWRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHQiOiBu
dWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10sCi0gICAgICAgICAg
ICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAi
dHlwZSI6ICJhcmd1bWVudC10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2Vu
ZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiZmxvYXQiLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgICAgICAgICB9LAot
ICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAicmFkaXVzIiwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJyYWRpdXMiCi0gICAgICAgICAgICAgICAgICAgIH0K
LSAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgICJ0eXBlIjogImV4dGVuZGVkLWF0
dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInJocyI6IG51bGwKLSAgICAgICAgICAgIH0KLSAg
ICAgICAgXQotICAgIH0KLV0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9kaWN0
aW9uYXJ5LWluaGVyaXRzLmpzb24gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vZGljdGlvbmFyeS1p
bmhlcml0cy5qc29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1OTVjMzVjZjc5Ny4u
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2RpY3Rpb25hcnktaW5oZXJp
dHMuanNvbgorKysgL2Rldi9udWxsCkBAIC0xLDg5ICswLDAgQEAKLVsKLSAgICB7Ci0gICAgICAg
ICJ0eXBlIjogImRpY3Rpb25hcnkiLAotICAgICAgICAibmFtZSI6ICJQYWludE9wdGlvbnMiLAot
ICAgICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFsKLSAgICAgICAg
ICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJmaWVsZCIsCi0gICAgICAgICAgICAgICAg
Im5hbWUiOiAiZmlsbFBhdHRlcm4iLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJm
aWxsUGF0dGVybiIsCi0gICAgICAgICAgICAgICAgInJlcXVpcmVkIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImRpY3Rp
b25hcnktdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAg
ICAgICAgICAgICAgICAgIm51bGxhYmxlIjogdHJ1ZSwKLSAgICAgICAgICAgICAgICAgICAgInVu
aW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogIkRPTVN0cmluZyIs
Ci0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwK
LSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXSwKLSAgICAgICAgICAgICAgICAiZGVmYXVs
dCI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKLSAgICAgICAgICAg
ICAgICAgICAgInZhbHVlIjogImJsYWNrIgotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAg
IH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiZmllbGQiLAotICAg
ICAgICAgICAgICAgICJuYW1lIjogInN0cm9rZVBhdHRlcm4iLAotICAgICAgICAgICAgICAgICJl
c2NhcGVkTmFtZSI6ICJzdHJva2VQYXR0ZXJuIiwKLSAgICAgICAgICAgICAgICAicmVxdWlyZWQi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAg
ICAgInR5cGUiOiAiZGljdGlvbmFyeS10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVy
aWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiB0cnVlLAotICAgICAg
ICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5
cGUiOiAiRE9NU3RyaW5nIiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAg
ICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdLAotICAgICAg
ICAgICAgICAgICJkZWZhdWx0IjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJudWxs
IgotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAg
ICAgICAgICAgICAgInR5cGUiOiAiZmllbGQiLAotICAgICAgICAgICAgICAgICJuYW1lIjogInBv
c2l0aW9uIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAicG9zaXRpb24iLAotICAg
ICAgICAgICAgICAgICJyZXF1aXJlZCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBl
IjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJkaWN0aW9uYXJ5LXR5cGUiLAotICAg
ICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJu
dWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiUG9pbnQiLAotICAgICAgICAgICAgICAgICAg
ICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgImV4
dEF0dHJzIjogW10sCi0gICAgICAgICAgICAgICAgImRlZmF1bHQiOiBudWxsCi0gICAgICAgICAg
ICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJpbmhlcml0YW5jZSI6IG51bGwsCi0gICAgICAgICJl
eHRBdHRycyI6IFtdCi0gICAgfSwKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImRpY3Rpb25hcnki
LAotICAgICAgICAibmFtZSI6ICJXZXRQYWludE9wdGlvbnMiLAotICAgICAgICAicGFydGlhbCI6
IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAg
ICAgICAidHlwZSI6ICJmaWVsZCIsCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiaHlkcm9tZXRy
eSIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImh5ZHJvbWV0cnkiLAotICAgICAg
ICAgICAgICAgICJyZXF1aXJlZCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjog
ewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJkaWN0aW9uYXJ5LXR5cGUiLAotICAgICAg
ICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxs
YWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiZmxvYXQiLAotICAgICAgICAgICAgICAgICAgICAi
ZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgImV4dEF0
dHJzIjogW10sCi0gICAgICAgICAgICAgICAgImRlZmF1bHQiOiBudWxsCi0gICAgICAgICAgICB9
Ci0gICAgICAgIF0sCi0gICAgICAgICJpbmhlcml0YW5jZSI6ICJQYWludE9wdGlvbnMiLAotICAg
ICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0KLV0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50
YXgvanNvbi9kaWN0aW9uYXJ5Lmpzb24gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vZGljdGlvbmFy
eS5qc29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4YmJjNmI5ZGZhYi4uMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2RpY3Rpb25hcnkuanNvbgorKysgL2Rl
di9udWxsCkBAIC0xLDE0NiArMCwwIEBACi1bCi0gICAgewotICAgICAgICAidHlwZSI6ICJkaWN0
aW9uYXJ5IiwKLSAgICAgICAgIm5hbWUiOiAiUGFpbnRPcHRpb25zIiwKLSAgICAgICAgInBhcnRp
YWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJlcnMiOiBbCi0gICAgICAgICAgICB7Ci0gICAgICAg
ICAgICAgICAgInR5cGUiOiAiZmllbGQiLAotICAgICAgICAgICAgICAgICJuYW1lIjogImZpbGxQ
YXR0ZXJuIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiZmlsbFBhdHRlcm4iLAot
ICAgICAgICAgICAgICAgICJyZXF1aXJlZCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxU
eXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJkaWN0aW9uYXJ5LXR5cGUiLAot
ICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAg
ICJudWxsYWJsZSI6IHRydWUsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJET01TdHJpbmciLAotICAgICAgICAgICAg
ICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAg
ICAgImV4dEF0dHJzIjogW10sCi0gICAgICAgICAgICAgICAgImRlZmF1bHQiOiB7Ci0gICAgICAg
ICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCi0gICAgICAgICAgICAgICAgICAgICJ2YWx1
ZSI6ICJibGFjayIKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB9LAotICAgICAgICAg
ICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogImZpZWxkIiwKLSAgICAgICAgICAgICAgICAi
bmFtZSI6ICJzdHJva2VQYXR0ZXJuIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAi
c3Ryb2tlUGF0dGVybiIsCi0gICAgICAgICAgICAgICAgInJlcXVpcmVkIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImRp
Y3Rpb25hcnktdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAg
ICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogdHJ1ZSwKLSAgICAgICAgICAgICAgICAgICAg
InVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogIkRPTVN0cmlu
ZyIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAg
fSwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXSwKLSAgICAgICAgICAgICAgICAiZGVm
YXVsdCI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAibnVsbCIKLSAgICAgICAgICAg
ICAgICB9Ci0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0
eXBlIjogImZpZWxkIiwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJwb3NpdGlvbiIsCi0gICAg
ICAgICAgICAgICAgImVzY2FwZWROYW1lIjogInBvc2l0aW9uIiwKLSAgICAgICAgICAgICAgICAi
cmVxdWlyZWQiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAg
ICAgICAgICAgICAgInR5cGUiOiAiZGljdGlvbmFyeS10eXBlIiwKLSAgICAgICAgICAgICAgICAg
ICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ICAgICJpZGxUeXBlIjogIlBvaW50IiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjog
W10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdLAot
ICAgICAgICAgICAgICAgICJkZWZhdWx0IjogbnVsbAotICAgICAgICAgICAgfSwKLSAgICAgICAg
ICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJmaWVsZCIsCi0gICAgICAgICAgICAgICAg
Im5hbWUiOiAic2VxIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAic2VxIiwKLSAg
ICAgICAgICAgICAgICAicmVxdWlyZWQiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlw
ZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiZGljdGlvbmFyeS10eXBlIiwKLSAg
ICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiAic2VxdWVuY2UiLAotICAgICAgICAgICAgICAg
ICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAg
ICAgICAgInR5cGUiOiAiZGljdGlvbmFyeS10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJsb25nIiwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAg
ICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAi
ZXh0QXR0cnMiOiBbXSwKLSAgICAgICAgICAgICAgICAiZGVmYXVsdCI6IHsKLSAgICAgICAgICAg
ICAgICAgICAgInR5cGUiOiAic2VxdWVuY2UiLAotICAgICAgICAgICAgICAgICAgICAidmFsdWUi
OiBbXQotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0g
ICAgICAgICAgICAgICAgInR5cGUiOiAiZmllbGQiLAotICAgICAgICAgICAgICAgICJuYW1lIjog
InJlcVNlcSIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogInJlcVNlcSIsCi0gICAg
ICAgICAgICAgICAgInJlcXVpcmVkIjogdHJ1ZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6
IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiZGljdGlvbmFyeS10eXBlIiwKLSAgICAg
ICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVs
bGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgICAgICJpZGxUeXBlIjogImxvbmciLAotICAgICAgICAgICAgICAgICAgICAi
ZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgImV4dEF0
dHJzIjogW10sCi0gICAgICAgICAgICAgICAgImRlZmF1bHQiOiBudWxsCi0gICAgICAgICAgICB9
Ci0gICAgICAgIF0sCi0gICAgICAgICJpbmhlcml0YW5jZSI6IG51bGwsCi0gICAgICAgICJleHRB
dHRycyI6IFtdCi0gICAgfSwKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImRpY3Rpb25hcnkiLAot
ICAgICAgICAibmFtZSI6ICJBIiwKLSAgICAgICAgInBhcnRpYWwiOiB0cnVlLAotICAgICAgICAi
bWVtYmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJmaWVs
ZCIsCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiaCIsCi0gICAgICAgICAgICAgICAgImVzY2Fw
ZWROYW1lIjogImgiLAotICAgICAgICAgICAgICAgICJyZXF1aXJlZCI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJkaWN0
aW9uYXJ5LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAg
ICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAi
dW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAibG9uZyIsCi0g
ICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAg
ICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXSwKLSAgICAgICAgICAgICAgICAiZGVmYXVsdCI6
IG51bGwKLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5
cGUiOiAiZmllbGQiLAotICAgICAgICAgICAgICAgICJuYW1lIjogImQiLAotICAgICAgICAgICAg
ICAgICJlc2NhcGVkTmFtZSI6ICJkIiwKLSAgICAgICAgICAgICAgICAicmVxdWlyZWQiOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5
cGUiOiAiZGljdGlvbmFyeS10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBu
dWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjog
ImxvbmciLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAg
ICAgIH0sCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10sCi0gICAgICAgICAgICAgICAg
ImRlZmF1bHQiOiBudWxsCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJleHRB
dHRycyI6IFtdCi0gICAgfQotXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2Rv
Y3VtZW50YXRpb24tZG9zLmpzb24gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vZG9jdW1lbnRhdGlv
bi1kb3MuanNvbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYmFhMGI1YTA5YjUuLjAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9kb2N1bWVudGF0aW9uLWRvcy5q
c29uCisrKyAvZGV2L251bGwKQEAgLTEsMTAgKzAsMCBAQAotWwotICAgIHsKLSAgICAgICAgInR5
cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUiOiAiRG9jdW1lbnRhdGlvbiIsCi0gICAg
ICAgICJwYXJ0aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJzIjogW10sCi0gICAgICAgICJp
bmhlcml0YW5jZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgfQotXQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2RvY3VtZW50YXRpb24uanNvbiBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC9zeW50YXgvanNvbi9kb2N1bWVudGF0aW9uLmpzb24KZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IGJhYTBiNWEwOWI1Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4
L2pzb24vZG9jdW1lbnRhdGlvbi5qc29uCisrKyAvZGV2L251bGwKQEAgLTEsMTAgKzAsMCBAQAot
WwotICAgIHsKLSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUiOiAi
RG9jdW1lbnRhdGlvbiIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1i
ZXJzIjogW10sCi0gICAgICAgICJpbmhlcml0YW5jZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRy
cyI6IFtdCi0gICAgfQotXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2VudW0u
anNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9lbnVtLmpzb24KZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDExZjVkMDlmNTRiLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3lu
dGF4L2pzb24vZW51bS5qc29uCisrKyAvZGV2L251bGwKQEAgLTEsMTM4ICswLDAgQEAKLVsKLSAg
ICB7Ci0gICAgICAgICJ0eXBlIjogImVudW0iLAotICAgICAgICAibmFtZSI6ICJNZWFsVHlwZSIs
Ci0gICAgICAgICJ2YWx1ZXMiOiBbCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5
cGUiOiAic3RyaW5nIiwKLSAgICAgICAgICAgICAgICAidmFsdWUiOiAicmljZSIKLSAgICAgICAg
ICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwK
LSAgICAgICAgICAgICAgICAidmFsdWUiOiAibm9vZGxlcyIKLSAgICAgICAgICAgIH0sCi0gICAg
ICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKLSAgICAgICAgICAg
ICAgICAidmFsdWUiOiAib3RoZXIiCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAg
ICJleHRBdHRycyI6IFtdCi0gICAgfSwKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImludGVyZmFj
ZSIsCi0gICAgICAgICJuYW1lIjogIk1lYWwiLAotICAgICAgICAicGFydGlhbCI6IGZhbHNlLAot
ICAgICAgICAibWVtYmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlw
ZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaW5oZXJp
dCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJyZWFkb25seSI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1
dGUtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAg
ICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlv
biI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJNZWFsVHlwZSIsCi0g
ICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAg
ICAgICAgICAgICAgICAibmFtZSI6ICJ0eXBlIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5h
bWUiOiAidHlwZSIsCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAg
IH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwK
LSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmlu
Z2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAicmVhZG9ubHkiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6
IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlLXR5cGUiLAotICAgICAg
ICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxs
YWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiZmxvYXQiLAotICAgICAgICAgICAgICAgICAgICAi
ZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUi
OiAic2l6ZSIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogInNpemUiLAotICAgICAg
ICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewot
ICAgICAgICAgICAgICAgICJ0eXBlIjogIm9wZXJhdGlvbiIsCi0gICAgICAgICAgICAgICAgImdl
dHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAiZGVsZXRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAicmV0dXJuLXR5cGUi
LAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAg
ICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAidm9pZCIsCi0gICAgICAgICAgICAg
ICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAg
ICAibmFtZSI6ICJpbml0aWFsaXplIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAi
aW5pdGlhbGl6ZSIsCi0gICAgICAgICAgICAgICAgImFyZ3VtZW50cyI6IFsKLSAgICAgICAgICAg
ICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIm9wdGlvbmFsIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAidmFyaWFkaWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICJkZWZhdWx0IjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJleHRB
dHRycyI6IFtdLAotICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1
bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogIk1l
YWxUeXBlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAg
ICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjog
InR5cGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogInR5cGUiCi0g
ICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJvcHRpb25hbCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAg
InZhcmlhZGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdCI6IG51
bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0
eXBlIjogImFyZ3VtZW50LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5l
cmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJmbG9hdCIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgICAgIH0sCi0g
ICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJzaXplIiwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICJlc2NhcGVkTmFtZSI6ICJzaXplIgotICAgICAgICAgICAgICAgICAgICB9Ci0gICAg
ICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAg
ICAgfQotICAgICAgICBdLAotICAgICAgICAiaW5oZXJpdGFuY2UiOiBudWxsLAotICAgICAgICAi
ZXh0QXR0cnMiOiBbXQotICAgIH0sCi0gICAgewotICAgICAgICAidHlwZSI6ICJlbnVtIiwKLSAg
ICAgICAgIm5hbWUiOiAiQWx0TWVhbFR5cGUiLAotICAgICAgICAidmFsdWVzIjogWwotICAgICAg
ICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCi0gICAgICAgICAgICAg
ICAgInZhbHVlIjogInJpY2UiCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAg
ICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCi0gICAgICAgICAgICAgICAgInZhbHVlIjogIm5v
b2RsZXMiCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0
eXBlIjogInN0cmluZyIsCi0gICAgICAgICAgICAgICAgInZhbHVlIjogIm90aGVyIgotICAgICAg
ICAgICAgfQotICAgICAgICBdLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0KLV0KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9lcXVpdmFsZW50LWRlY2wuanNvbiBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC9zeW50YXgvanNvbi9lcXVpdmFsZW50LWRlY2wuanNvbgpkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggZWUwNzlhNzc3OTAuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9z
eW50YXgvanNvbi9lcXVpdmFsZW50LWRlY2wuanNvbgorKysgL2Rldi9udWxsCkBAIC0xLDMyNiAr
MCwwIEBACi1bCi0gICAgewotICAgICAgICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAi
bmFtZSI6ICJEaWN0aW9uYXJ5IiwKLSAgICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAg
Im1lbWJlcnMiOiBbCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0
cmlidXRlIiwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImluaGVyaXQiOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAicmVhZG9ubHkiOiB0cnVlLAotICAgICAgICAgICAgICAgICJp
ZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIs
Ci0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAg
ICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJ1bnNpZ25lZCBsb25nIiwKLSAgICAg
ICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAg
ICAgICAgICAgICJuYW1lIjogInByb3BlcnR5Q291bnQiLAotICAgICAgICAgICAgICAgICJlc2Nh
cGVkTmFtZSI6ICJwcm9wZXJ0eUNvdW50IiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBb
XQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6
ICJvcGVyYXRpb24iLAotICAgICAgICAgICAgICAgICJnZXR0ZXIiOiB0cnVlLAotICAgICAgICAg
ICAgICAgICJzZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiZGVsZXRlciI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3Ry
aW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAg
ICAgICAgICAgICAgInR5cGUiOiAicmV0dXJuLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAi
Z2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAg
ImlkbFR5cGUiOiAiZmxvYXQiLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQot
ICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiZ2V0UHJvcGVydHki
LAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJnZXRQcm9wZXJ0eSIsCi0gICAgICAg
ICAgICAgICAgImFyZ3VtZW50cyI6IFsKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAg
ICAgICAgICAgICAgICAgIm9wdGlvbmFsIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAidmFyaWFkaWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0Ijog
bnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdLAotICAgICAgICAg
ICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
InR5cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImdl
bmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogIkRPTVN0cmluZyIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgICAg
IH0sCi0gICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJwcm9wZXJ0eU5hbWUiLAotICAg
ICAgICAgICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogInByb3BlcnR5TmFtZSIKLSAgICAg
ICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgImV4
dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAg
ICAgInR5cGUiOiAib3BlcmF0aW9uIiwKLSAgICAgICAgICAgICAgICAiZ2V0dGVyIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgInNldHRlciI6IHRydWUsCi0gICAgICAgICAgICAgICAgImRlbGV0
ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7
Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInJldHVybi10eXBlIiwKLSAgICAgICAgICAg
ICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgICAgICJpZGxUeXBlIjogInZvaWQiLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0
cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAic2V0
UHJvcGVydHkiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJzZXRQcm9wZXJ0eSIs
Ci0gICAgICAgICAgICAgICAgImFyZ3VtZW50cyI6IFsKLSAgICAgICAgICAgICAgICAgICAgewot
ICAgICAgICAgICAgICAgICAgICAgICAgIm9wdGlvbmFsIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAidmFyaWFkaWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJk
ZWZhdWx0IjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdLAot
ICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgInR5cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJudWxs
YWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogIkRPTVN0cmluZyIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAg
ICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJwcm9wZXJ0eU5h
bWUiLAotICAgICAgICAgICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogInByb3BlcnR5TmFt
ZSIKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAg
ICAgICAgICAgICAgICAgICAgIm9wdGlvbmFsIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAidmFyaWFkaWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0
IjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdLAotICAgICAg
ICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgInR5cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogImZsb2F0IiwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAgICAg
fSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjogInByb3BlcnR5VmFsdWUiLAotICAg
ICAgICAgICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogInByb3BlcnR5VmFsdWUiCi0gICAg
ICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgICJl
eHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJpbmhlcml0
YW5jZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgfSwKLSAgICB7Ci0gICAg
ICAgICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAgICAgICJuYW1lIjogIkRpY3Rpb25hcnkyIiwK
LSAgICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJlcnMiOiBbCi0gICAgICAg
ICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAgICAgICAgICAg
ICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAi
cmVhZG9ubHkiOiB0cnVlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAg
ICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAg
ICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAg
ICAiaWRsVHlwZSI6ICJ1bnNpZ25lZCBsb25nIiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0
dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogInBy
b3BlcnR5Q291bnQiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJwcm9wZXJ0eUNv
dW50IiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfSwKLSAg
ICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJvcGVyYXRpb24iLAotICAgICAg
ICAgICAgICAgICJnZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic2V0dGVyIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgImRlbGV0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAi
c3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjog
InJldHVybi10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAg
ICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAg
InVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogImZsb2F0IiwK
LSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAot
ICAgICAgICAgICAgICAgICJuYW1lIjogImdldFByb3BlcnR5IiwKLSAgICAgICAgICAgICAgICAi
ZXNjYXBlZE5hbWUiOiAiZ2V0UHJvcGVydHkiLAotICAgICAgICAgICAgICAgICJhcmd1bWVudHMi
OiBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJvcHRp
b25hbCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgInZhcmlhZGljIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdCI6IG51bGwsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAiZXh0QXR0cnMiOiBbXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJpZGxU
eXBlIjogewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImFyZ3VtZW50LXR5
cGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAiaWRsVHlwZSI6ICJET01TdHJpbmciLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJl
eHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAg
ICAgICAgICAgIm5hbWUiOiAicHJvcGVydHlOYW1lIiwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJlc2NhcGVkTmFtZSI6ICJwcm9wZXJ0eU5hbWUiCi0gICAgICAgICAgICAgICAgICAgIH0KLSAg
ICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAg
ICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogIm9wZXJhdGlv
biIsCi0gICAgICAgICAgICAgICAgImdldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJz
ZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiZGVsZXRlciI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAg
ICAgInR5cGUiOiAicmV0dXJuLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6
IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUi
OiAidm9pZCIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAg
ICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJzZXRQcm9wZXJ0eSIsCi0gICAgICAg
ICAgICAgICAgImVzY2FwZWROYW1lIjogInNldFByb3BlcnR5IiwKLSAgICAgICAgICAgICAgICAi
YXJndW1lbnRzIjogWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICAib3B0aW9uYWwiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ2YXJpYWRp
YyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHQiOiBudWxsLAotICAg
ICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10sCi0gICAgICAgICAgICAgICAgICAg
ICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJh
cmd1bWVudC10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51
bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgImlkbFR5cGUiOiAiRE9NU3RyaW5nIiwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJuYW1lIjogInByb3BlcnR5TmFtZSIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAicHJvcGVydHlOYW1lIgotICAgICAgICAgICAgICAg
ICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAi
b3B0aW9uYWwiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ2YXJpYWRpYyI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHQiOiBudWxsLAotICAgICAgICAg
ICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10sCi0gICAgICAgICAgICAgICAgICAgICAgICAi
aWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVu
dC10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgImlkbFR5cGUiOiAiZmxvYXQiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJl
eHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAg
ICAgICAgICAgIm5hbWUiOiAicHJvcGVydHlWYWx1ZSIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAiZXNjYXBlZE5hbWUiOiAicHJvcGVydHlWYWx1ZSIKLSAgICAgICAgICAgICAgICAgICAgfQot
ICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAg
ICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAib3BlcmF0
aW9uIiwKLSAgICAgICAgICAgICAgICAiZ2V0dGVyIjogdHJ1ZSwKLSAgICAgICAgICAgICAgICAi
c2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImRlbGV0ZXIiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVy
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAg
ICAgICJ0eXBlIjogInJldHVybi10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMi
OiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBl
IjogImZsb2F0IiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAg
ICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogbnVsbCwKLSAgICAgICAgICAgICAg
ICAiZXNjYXBlZE5hbWUiOiBudWxsLAotICAgICAgICAgICAgICAgICJhcmd1bWVudHMiOiBbCi0g
ICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJvcHRpb25hbCI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgInZhcmlhZGljIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdCI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAiZXh0QXR0cnMiOiBbXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjog
ewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImFyZ3VtZW50LXR5cGUiLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRs
VHlwZSI6ICJET01TdHJpbmciLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRy
cyI6IFtdCi0gICAgICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICAg
ICAgIm5hbWUiOiAicHJvcGVydHlOYW1lIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJlc2Nh
cGVkTmFtZSI6ICJwcm9wZXJ0eU5hbWUiCi0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAg
ICAgICAgICBdLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9
LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogIm9wZXJhdGlvbiIsCi0g
ICAgICAgICAgICAgICAgImdldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzZXR0ZXIi
OiB0cnVlLAotICAgICAgICAgICAgICAgICJkZWxldGVyIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlw
ZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwK
LSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJ2b2lk
IiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9
LAotICAgICAgICAgICAgICAgICJuYW1lIjogbnVsbCwKLSAgICAgICAgICAgICAgICAiZXNjYXBl
ZE5hbWUiOiBudWxsLAotICAgICAgICAgICAgICAgICJhcmd1bWVudHMiOiBbCi0gICAgICAgICAg
ICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJvcHRpb25hbCI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgInZhcmlhZGljIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAiZGVmYXVsdCI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXh0
QXR0cnMiOiBbXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImFyZ3VtZW50LXR5cGUiLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAi
dW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJE
T01TdHJpbmciLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0g
ICAgICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUi
OiAicHJvcGVydHlOYW1lIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6
ICJwcm9wZXJ0eU5hbWUiCi0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAg
ICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJvcHRpb25hbCI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgInZhcmlhZGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAiZGVmYXVsdCI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMi
OiBbXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICJ0eXBlIjogImFyZ3VtZW50LXR5cGUiLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5pb24i
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJmbG9hdCIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAg
ICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJwcm9wZXJ0
eVZhbHVlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJwcm9wZXJ0
eVZhbHVlIgotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXSwKLSAgICAg
ICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfQotICAgICAgICBdLAotICAg
ICAgICAiaW5oZXJpdGFuY2UiOiBudWxsLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0K
LV0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9leGNlcHRpb24taW5oZXJpdGFu
Y2UuanNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9leGNlcHRpb24taW5oZXJpdGFuY2UuanNv
bgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNGE3NmI5ODI4NTYuLjAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9leGNlcHRpb24taW5oZXJpdGFuY2UuanNvbgor
KysgL2Rldi9udWxsCkBAIC0xLDM2ICswLDAgQEAKLVsKLSAgICB7Ci0gICAgICAgICJ0eXBlIjog
ImV4Y2VwdGlvbiIsCi0gICAgICAgICJuYW1lIjogIkRPTUV4Y2VwdGlvbiIsCi0gICAgICAgICJt
ZW1iZXJzIjogWwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogImZpZWxk
IiwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJjb2RlIiwKLSAgICAgICAgICAgICAgICAiaWRs
VHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInNlcXVlbmNlIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxh
YmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJ1bnNpZ25lZCBzaG9ydCIKLSAgICAgICAgICAgICAg
ICB9LAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAg
ICAgIF0sCi0gICAgICAgICJpbmhlcml0YW5jZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6
IFtdCi0gICAgfSwKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImV4Y2VwdGlvbiIsCi0gICAgICAg
ICJuYW1lIjogIkhpZXJhcmNoeVJlcXVlc3RFcnJvciIsCi0gICAgICAgICJtZW1iZXJzIjogW10s
Ci0gICAgICAgICJpbmhlcml0YW5jZSI6ICJET01FeGNlcHRpb24iLAotICAgICAgICAiZXh0QXR0
cnMiOiBbXQotICAgIH0sCi0gICAgewotICAgICAgICAidHlwZSI6ICJleGNlcHRpb24iLAotICAg
ICAgICAibmFtZSI6ICJOb01vZGlmaWNhdGlvbkFsbG93ZWRFcnJvciIsCi0gICAgICAgICJtZW1i
ZXJzIjogW10sCi0gICAgICAgICJpbmhlcml0YW5jZSI6ICJET01FeGNlcHRpb24iLAotICAgICAg
ICAiZXh0QXR0cnMiOiBbXQotICAgIH0KLV0KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vZXh0ZW5kZWQtYXR0cmlidXRlcy5qc29u
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2V4dGVuZGVkLWF0dHJpYnV0ZXMuanNvbgpkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjVmNTZmMDM0MGEuLjAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC9zeW50YXgvanNvbi9leHRlbmRlZC1hdHRyaWJ1dGVzLmpzb24KKysrIC9kZXYvbnVs
bApAQCAtMSwyNDAgKzAsMCBAQAotWwotICAgIHsKLSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNl
IiwKLSAgICAgICAgIm5hbWUiOiAiU2VydmljZVdvcmtlckdsb2JhbFNjb3BlIiwKLSAgICAgICAg
InBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJlcnMiOiBbXSwKLSAgICAgICAgImluaGVy
aXRhbmNlIjogIldvcmtlckdsb2JhbFNjb3BlIiwKLSAgICAgICAgImV4dEF0dHJzIjogWwotICAg
ICAgICAgICAgewotICAgICAgICAgICAgICAgICJuYW1lIjogIkdsb2JhbCIsCi0gICAgICAgICAg
ICAgICAgImFyZ3VtZW50cyI6IG51bGwsCi0gICAgICAgICAgICAgICAgInR5cGUiOiAiZXh0ZW5k
ZWQtYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAicmhzIjogewotICAgICAgICAgICAgICAg
ICAgICAidHlwZSI6ICJpZGVudGlmaWVyLWxpc3QiLAotICAgICAgICAgICAgICAgICAgICAidmFs
dWUiOiBbCi0gICAgICAgICAgICAgICAgICAgICAgICAiV29ya2VyIiwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICJTZXJ2aWNlV29ya2VyIgotICAgICAgICAgICAgICAgICAgICBdCi0gICAgICAg
ICAgICAgICAgfQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAg
ICAibmFtZSI6ICJFeHBvc2VkIiwKLSAgICAgICAgICAgICAgICAiYXJndW1lbnRzIjogbnVsbCwK
LSAgICAgICAgICAgICAgICAidHlwZSI6ICJleHRlbmRlZC1hdHRyaWJ1dGUiLAotICAgICAgICAg
ICAgICAgICJyaHMiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImlkZW50aWZpZXIi
LAotICAgICAgICAgICAgICAgICAgICAidmFsdWUiOiAiU2VydmljZVdvcmtlciIKLSAgICAgICAg
ICAgICAgICB9Ci0gICAgICAgICAgICB9Ci0gICAgICAgIF0KLSAgICB9LAotICAgIHsKLSAgICAg
ICAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUiOiAiSWRJbnRlcmZhY2UiLAot
ICAgICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFtdLAotICAgICAg
ICAiaW5oZXJpdGFuY2UiOiBudWxsLAotICAgICAgICAiZXh0QXR0cnMiOiBbCi0gICAgICAgICAg
ICB7Ci0gICAgICAgICAgICAgICAgIm5hbWUiOiAiSW50QXR0ciIsCi0gICAgICAgICAgICAgICAg
ImFyZ3VtZW50cyI6IG51bGwsCi0gICAgICAgICAgICAgICAgInR5cGUiOiAiZXh0ZW5kZWQtYXR0
cmlidXRlIiwKLSAgICAgICAgICAgICAgICAicmhzIjogewotICAgICAgICAgICAgICAgICAgICAi
dHlwZSI6ICJpbnRlZ2VyIiwKLSAgICAgICAgICAgICAgICAgICAgInZhbHVlIjogIjAiCi0gICAg
ICAgICAgICAgICAgfQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAg
ICAgICAibmFtZSI6ICJGbG9hdEF0dHIiLAotICAgICAgICAgICAgICAgICJhcmd1bWVudHMiOiBu
dWxsLAotICAgICAgICAgICAgICAgICJ0eXBlIjogImV4dGVuZGVkLWF0dHJpYnV0ZSIsCi0gICAg
ICAgICAgICAgICAgInJocyI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiZmxvYXQi
LAotICAgICAgICAgICAgICAgICAgICAidmFsdWUiOiAiMy4xNCIKLSAgICAgICAgICAgICAgICB9
Ci0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJuYW1lIjog
IlN0cmluZ0F0dHIiLAotICAgICAgICAgICAgICAgICJhcmd1bWVudHMiOiBudWxsLAotICAgICAg
ICAgICAgICAgICJ0eXBlIjogImV4dGVuZGVkLWF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAg
InJocyI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKLSAgICAgICAg
ICAgICAgICAgICAgInZhbHVlIjogIlwiYWJjXCIiCi0gICAgICAgICAgICAgICAgfQotICAgICAg
ICAgICAgfQotICAgICAgICBdCi0gICAgfSwKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImludGVy
ZmFjZSIsCi0gICAgICAgICJuYW1lIjogIkNpcmNsZSIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFs
c2UsCi0gICAgICAgICJtZW1iZXJzIjogWwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAg
ICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJp
bmhlcml0IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5IjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImF0
dHJpYnV0ZS10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAg
ICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAg
InVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogImRvdWJsZSIs
Ci0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwK
LSAgICAgICAgICAgICAgICAibmFtZSI6ICJyIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5h
bWUiOiAiciIsCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0s
Ci0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAg
ICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lm
aWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAicmVhZG9ubHkiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsK
LSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlLXR5cGUiLAotICAgICAgICAg
ICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJs
ZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAgICAgImlkbFR5cGUiOiAiZG91YmxlIiwKLSAgICAgICAgICAgICAgICAgICAgImV4
dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjog
ImN4IiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiY3giLAotICAgICAgICAgICAg
ICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAg
ICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICJpbmhlcml0IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5IjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0
eXBlIjogImF0dHJpYnV0ZS10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBu
dWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjog
ImRvdWJsZSIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAg
ICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJjeSIsCi0gICAgICAgICAgICAgICAg
ImVzY2FwZWROYW1lIjogImN5IiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAg
ICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRy
aWJ1dGUiLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaW5oZXJpdCI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICJyZWFkb25seSI6IHRydWUsCi0gICAgICAgICAgICAgICAgImlk
bFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZS10eXBlIiwK
LSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAg
ICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogImRvdWJsZSIsCi0gICAgICAgICAgICAg
ICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAg
ICAibmFtZSI6ICJjaXJjdW1mZXJlbmNlIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUi
OiAiY2lyY3VtZmVyZW5jZSIsCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAg
ICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImluaGVyaXRhbmNlIjogbnVsbCwKLSAgICAg
ICAgImV4dEF0dHJzIjogWwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJuYW1lIjog
IkNvbnN0cnVjdG9yIiwKLSAgICAgICAgICAgICAgICAiYXJndW1lbnRzIjogbnVsbCwKLSAgICAg
ICAgICAgICAgICAidHlwZSI6ICJleHRlbmRlZC1hdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAg
ICJyaHMiOiBudWxsCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAg
ICAgICJuYW1lIjogIkNvbnN0cnVjdG9yIiwKLSAgICAgICAgICAgICAgICAiYXJndW1lbnRzIjog
WwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAib3B0aW9u
YWwiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ2YXJpYWRpYyI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHQiOiBudWxsLAotICAgICAgICAgICAgICAg
ICAgICAgICAgImV4dEF0dHJzIjogW10sCi0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlw
ZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBl
IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ImlkbFR5cGUiOiAiZG91YmxlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0
cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJuYW1lIjogInJhZGl1cyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXNjYXBlZE5h
bWUiOiAicmFkaXVzIgotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXSwK
LSAgICAgICAgICAgICAgICAidHlwZSI6ICJleHRlbmRlZC1hdHRyaWJ1dGUiLAotICAgICAgICAg
ICAgICAgICJyaHMiOiBudWxsCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0KLSAgICB9LAotICAg
IHsKLSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUiOiAiSSIsCi0g
ICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJzIjogWwotICAgICAgICAg
ICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAg
ICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICJpbmhlcml0IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInJl
YWRvbmx5IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAg
ICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZS10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAg
ImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogdHJ1ZSwKLSAgICAgICAgICAgICAgICAgICAg
ImlkbFR5cGUiOiBbCi0gICAgICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgInR5cGUiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJn
ZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJsb25nIiwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAgICAgfSwK
LSAgICAgICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAi
dHlwZSI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxs
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJpZGxUeXBlIjogIk5vZGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAg
ICAgICAgIF0sCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFsKLSAgICAgICAgICAg
ICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJYQXR0
ciIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImFyZ3VtZW50cyI6IG51bGwsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiZXh0ZW5kZWQtYXR0cmlidXRlIiwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAicmhzIjogbnVsbAotICAgICAgICAgICAgICAgICAg
ICAgICAgfQotICAgICAgICAgICAgICAgICAgICBdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAg
ICAgICAgICAgICAibmFtZSI6ICJhdHRyaWIiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFt
ZSI6ICJhdHRyaWIiLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAg
ICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJpbmhlcml0YW5jZSI6IG51bGwsCi0gICAgICAgICJl
eHRBdHRycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJFeHBv
c2VkIiwKLSAgICAgICAgICAgICAgICAiYXJndW1lbnRzIjogbnVsbCwKLSAgICAgICAgICAgICAg
ICAidHlwZSI6ICJleHRlbmRlZC1hdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJyaHMiOiB7
Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImlkZW50aWZpZXIiLAotICAgICAgICAgICAg
ICAgICAgICAidmFsdWUiOiAiV2luZG93IgotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAg
IH0KLSAgICAgICAgXQotICAgIH0KLV0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNv
bi9nZW5lcmljLmpzb24gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vZ2VuZXJpYy5qc29uCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkM2MyNmFjN2NkMC4uMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3N5bnRheC9qc29uL2dlbmVyaWMuanNvbgorKysgL2Rldi9udWxsCkBAIC0xLDE3
NiArMCwwIEBACi1bCi0gICAgewotICAgICAgICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAg
ICAibmFtZSI6ICJGb28iLAotICAgICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVt
YmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJvcGVyYXRp
b24iLAotICAgICAgICAgICAgICAgICJnZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAi
c2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImRlbGV0ZXIiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVy
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAg
ICAgICJ0eXBlIjogInJldHVybi10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMi
OiAiUHJvbWlzZSIsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlk
bFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJyZXR1cm4tdHlwZSIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6ICJQcm9taXNlIiwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiAic2VxdWVuY2UiLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJp
ZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJyZXR1
cm4tdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVs
bCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogdHJ1ZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogIkRPTVN0cmluZyIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQot
ICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJleHRB
dHRycyI6IFtdCi0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgICJl
eHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6
ICJiYXIiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJiYXIiLAotICAgICAgICAg
ICAgICAgICJhcmd1bWVudHMiOiBbXSwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQot
ICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJh
dHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaW5oZXJpdCI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICJyZWFkb25seSI6IHRydWUsCi0gICAgICAgICAgICAgICAg
ImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZS10eXBl
IiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiAiUHJvbWlzZSIsCi0gICAgICAgICAg
ICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24i
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiRE9NU3RyaW5nIiwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAg
ICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAg
ICAgICAgICAibmFtZSI6ICJiYXoiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJi
YXoiLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAg
ICAgIF0sCi0gICAgICAgICJpbmhlcml0YW5jZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6
IFtdCi0gICAgfSwKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAgICAg
ICJuYW1lIjogIlNlcnZpY2VXb3JrZXJDbGllbnRzIiwKLSAgICAgICAgInBhcnRpYWwiOiBmYWxz
ZSwKLSAgICAgICAgIm1lbWJlcnMiOiBbCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAg
InR5cGUiOiAib3BlcmF0aW9uIiwKLSAgICAgICAgICAgICAgICAiZ2V0dGVyIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgInNldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJkZWxldGVy
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewot
ICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAgICAgICAgICAg
ICAgICAgICJnZW5lcmljIjogIlByb21pc2UiLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFi
bGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUi
OiAicmV0dXJuLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxs
LAotICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogdHJ1ZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgImlk
bFR5cGUiOiAiQ2xpZW50IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtd
Ci0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6
IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJnZXRTZXJ2
aWNlZCIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImdldFNlcnZpY2VkIiwKLSAg
ICAgICAgICAgICAgICAiYXJndW1lbnRzIjogW10sCi0gICAgICAgICAgICAgICAgImV4dEF0dHJz
IjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5
cGUiOiAib3BlcmF0aW9uIiwKLSAgICAgICAgICAgICAgICAiZ2V0dGVyIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgInNldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJkZWxldGVyIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAg
ICAgICAgICAgICAgICAgICAidHlwZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAgICAgICAgICAgICAg
ICAgICJnZW5lcmljIjogIlByb21pc2UiLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAi
cmV0dXJuLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAot
ICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJpZGxU
eXBlIjogImFueSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAg
ICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQot
ICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAicmVsb2FkQWxsIiwK
LSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAicmVsb2FkQWxsIiwKLSAgICAgICAgICAg
ICAgICAiYXJndW1lbnRzIjogW10sCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAg
ICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImluaGVyaXRhbmNlIjogbnVsbCwKLSAg
ICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9LAotICAgIHsKLSAgICAgICAgInR5cGUiOiAiaW50
ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUiOiAiRmV0Y2hFdmVudCIsCi0gICAgICAgICJwYXJ0aWFs
IjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJzIjogWwotICAgICAgICAgICAgewotICAgICAgICAg
ICAgICAgICJ0eXBlIjogIm9wZXJhdGlvbiIsCi0gICAgICAgICAgICAgICAgImdldHRlciI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICJzZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAi
ZGVsZXRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlw
ZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAicmV0dXJuLXR5cGUiLAotICAgICAg
ICAgICAgICAgICAgICAiZ2VuZXJpYyI6ICJQcm9taXNlIiwKLSAgICAgICAgICAgICAgICAgICAg
Im51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJ0eXBlIjogInJldHVybi10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmlj
IjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAiaWRsVHlwZSI6ICJhbnkiLAotICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJz
IjogW10KLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0
dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogImRl
ZmF1bHQiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJkZWZhdWx0IiwKLSAgICAg
ICAgICAgICAgICAiYXJndW1lbnRzIjogW10sCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjog
W10KLSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImluaGVyaXRhbmNlIjogIkV2
ZW50IiwKLSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9Ci1dCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvc3ludGF4L2pzb24vZ2V0dGVyLXNldHRlci5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9q
c29uL2dldHRlci1zZXR0ZXIuanNvbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmY4
MTk2ZmU1NmQuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9nZXR0ZXIt
c2V0dGVyLmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSwxMTkgKzAsMCBAQAotWwotICAgIHsKLSAg
ICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUiOiAiRGljdGlvbmFyeSIs
Ci0gICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJzIjogWwotICAgICAg
ICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAg
ICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICJpbmhlcml0IjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
InJlYWRvbmx5IjogdHJ1ZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAg
ICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlLXR5cGUiLAotICAgICAgICAgICAgICAgICAg
ICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAg
ICAgImlkbFR5cGUiOiAidW5zaWduZWQgbG9uZyIsCi0gICAgICAgICAgICAgICAgICAgICJleHRB
dHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJw
cm9wZXJ0eUNvdW50IiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAicHJvcGVydHlD
b3VudCIsCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0g
ICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAib3BlcmF0aW9uIiwKLSAgICAg
ICAgICAgICAgICAiZ2V0dGVyIjogdHJ1ZSwKLSAgICAgICAgICAgICAgICAic2V0dGVyIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgImRlbGV0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAi
c3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjog
InJldHVybi10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAg
ICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAg
InVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogImZsb2F0IiwK
LSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAot
ICAgICAgICAgICAgICAgICJuYW1lIjogbnVsbCwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5h
bWUiOiBudWxsLAotICAgICAgICAgICAgICAgICJhcmd1bWVudHMiOiBbCi0gICAgICAgICAgICAg
ICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJvcHRpb25hbCI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgInZhcmlhZGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAiZGVmYXVsdCI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0
cnMiOiBbXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImFyZ3VtZW50LXR5cGUiLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5p
b24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJET01T
dHJpbmciLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAg
ICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAi
cHJvcGVydHlOYW1lIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJw
cm9wZXJ0eU5hbWUiCi0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdLAot
ICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9LAotICAgICAgICAg
ICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogIm9wZXJhdGlvbiIsCi0gICAgICAgICAgICAg
ICAgImdldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzZXR0ZXIiOiB0cnVlLAotICAg
ICAgICAgICAgICAgICJkZWxldGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJyZXR1cm4t
dHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAg
ICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJ2b2lkIiwKLSAgICAgICAg
ICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAg
ICAgICAgICJuYW1lIjogbnVsbCwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiBudWxs
LAotICAgICAgICAgICAgICAgICJhcmd1bWVudHMiOiBbCi0gICAgICAgICAgICAgICAgICAgIHsK
LSAgICAgICAgICAgICAgICAgICAgICAgICJvcHRpb25hbCI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgInZhcmlhZGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAi
ZGVmYXVsdCI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJ0eXBlIjogImFyZ3VtZW50LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAibnVs
bGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJET01TdHJpbmciLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAg
ICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAicHJvcGVydHlO
YW1lIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJwcm9wZXJ0eU5h
bWUiCi0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJvcHRpb25hbCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgInZhcmlhZGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVs
dCI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJ0eXBlIjogImFyZ3VtZW50LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJmbG9hdCIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgICAg
IH0sCi0gICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJwcm9wZXJ0eVZhbHVlIiwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJwcm9wZXJ0eVZhbHVlIgotICAg
ICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICAi
ZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfQotICAgICAgICBdLAotICAgICAgICAiaW5oZXJp
dGFuY2UiOiBudWxsLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0KLV0KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9pZGVudGlmaWVyLXF1YWxpZmllZC1uYW1lcy5qc29u
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2lkZW50aWZpZXItcXVhbGlmaWVkLW5hbWVzLmpzb24K
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDA5OGNkY2IxZmJiLi4wMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vaWRlbnRpZmllci1xdWFsaWZpZWQtbmFtZXMuanNv
bgorKysgL2Rldi9udWxsCkBAIC0xLDE4OSArMCwwIEBACi1bCi0gICAgewotICAgICAgICAidHlw
ZSI6ICJ0eXBlZGVmIiwKLSAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAidHlwZSI6
ICJ0eXBlZGVmLXR5cGUiLAotICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAg
ICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAg
ICAgICAgICJpZGxUeXBlIjogImZsb2F0IiwKLSAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0g
ICAgICAgIH0sCi0gICAgICAgICJuYW1lIjogIm51bWJlciIsCi0gICAgICAgICJleHRBdHRycyI6
IFtdCi0gICAgfSwKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAgICAg
ICJuYW1lIjogIlN5c3RlbSIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0gICAgICAgICJt
ZW1iZXJzIjogWwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogIm9wZXJh
dGlvbiIsCi0gICAgICAgICAgICAgICAgImdldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICJzZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiZGVsZXRlciI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZp
ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAg
ICAgICAgInR5cGUiOiAicmV0dXJuLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJp
YyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5
cGUiOiAib2JqZWN0IiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAg
ICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogImNyZWF0ZU9iamVjdCIsCi0g
ICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImNyZWF0ZU9iamVjdCIsCi0gICAgICAgICAg
ICAgICAgImFyZ3VtZW50cyI6IFsKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAg
ICAgICAgICAgICAgIm9wdGlvbmFsIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAi
dmFyaWFkaWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0IjogbnVs
bCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdLAotICAgICAgICAgICAg
ICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5
cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVy
aWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogIkRPTVN0cmluZyIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgICAgIH0s
Ci0gICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAg
ICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogIl9pbnRlcmZhY2UiCi0gICAgICAgICAgICAg
ICAgICAgIH0KLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6
IFtdCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBl
IjogIm9wZXJhdGlvbiIsCi0gICAgICAgICAgICAgICAgImdldHRlciI6IHRydWUsCi0gICAgICAg
ICAgICAgICAgInNldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJkZWxldGVyIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJz
dHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAg
ICAgICAgICAgICAgICAidHlwZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAgICAgICAgICAgICAgICAg
ICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAg
ICAiaWRsVHlwZSI6ICJET01TdHJpbmciLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMi
OiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiBudWxsLAot
ICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6IG51bGwsCi0gICAgICAgICAgICAgICAgImFy
Z3VtZW50cyI6IFsKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAg
ICAgIm9wdGlvbmFsIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAidmFyaWFkaWMi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0IjogbnVsbCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdLAotICAgICAgICAgICAgICAgICAgICAg
ICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXJn
dW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxs
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJpZGxUeXBlIjogIkRPTVN0cmluZyIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAg
ICAgICAgICAgICAgICAgICAibmFtZSI6ICJrZXlOYW1lIiwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJlc2NhcGVkTmFtZSI6ICJrZXlOYW1lIgotICAgICAgICAgICAgICAgICAgICB9Ci0gICAg
ICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAg
ICAgfQotICAgICAgICBdLAotICAgICAgICAiaW5oZXJpdGFuY2UiOiBudWxsLAotICAgICAgICAi
ZXh0QXR0cnMiOiBbXQotICAgIH0sCi0gICAgewotICAgICAgICAidHlwZSI6ICJpbnRlcmZhY2Ui
LAotICAgICAgICAibmFtZSI6ICJUZXh0RmllbGQiLAotICAgICAgICAicGFydGlhbCI6IGZhbHNl
LAotICAgICAgICAibWVtYmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAi
dHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaW5o
ZXJpdCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJyZWFkb25seSI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRy
aWJ1dGUtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAg
ICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1
bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJib29sZWFuIiwK
LSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAot
ICAgICAgICAgICAgICAgICJuYW1lIjogImNvbnN0IiwKLSAgICAgICAgICAgICAgICAiZXNjYXBl
ZE5hbWUiOiAiX2NvbnN0IiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAg
ICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1
dGUiLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAi
c3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICJyZWFkb25seSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxU
eXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0g
ICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAg
Im51bGxhYmxlIjogdHJ1ZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogIkRPTVN0cmluZyIsCi0gICAgICAgICAgICAg
ICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAg
ICAibmFtZSI6ICJ2YWx1ZSIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogIl92YWx1
ZSIsCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0KLSAgICAg
ICAgXSwKLSAgICAgICAgImluaGVyaXRhbmNlIjogbnVsbCwKLSAgICAgICAgImV4dEF0dHJzIjog
W10KLSAgICB9LAotICAgIHsKLSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAg
Im5hbWUiOiAiRm9vRXZlbnRUYXJnZXQiLAotICAgICAgICAicGFydGlhbCI6IGZhbHNlLAotICAg
ICAgICAibWVtYmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6
ICJvcGVyYXRpb24iLAotICAgICAgICAgICAgICAgICJnZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAic2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImRlbGV0ZXIiOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0
cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAg
ICAgICAgICAgICAgICJ0eXBlIjogInJldHVybi10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAg
ImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAg
ICJpZGxUeXBlIjogInZvaWQiLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQot
ICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiYWRkRXZlbnRMaXN0
ZW5lciIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImFkZEV2ZW50TGlzdGVuZXIi
LAotICAgICAgICAgICAgICAgICJhcmd1bWVudHMiOiBbCi0gICAgICAgICAgICAgICAgICAgIHsK
LSAgICAgICAgICAgICAgICAgICAgICAgICJvcHRpb25hbCI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgInZhcmlhZGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAi
ZGVmYXVsdCI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJ0eXBlIjogImFyZ3VtZW50LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAibnVs
bGFibGUiOiB0cnVlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogIkV2ZW50TGlzdGVuZXIi
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAg
ICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAiY2FsbGJh
Y2siLAotICAgICAgICAgICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImNhbGxiYWNrIgot
ICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAg
ICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfQotICAgICAgICBdLAotICAgICAgICAiaW5o
ZXJpdGFuY2UiOiBudWxsLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0KLV0KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9pbXBsZW1lbnRzLmpzb24gYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
c3ludGF4L2pzb24vaW1wbGVtZW50cy5qc29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAxNzM2MTE4Y2Q5MC4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2lt
cGxlbWVudHMuanNvbgorKysgL2Rldi9udWxsCkBAIC0xLDExMyArMCwwIEBACi1bCi0gICAgewot
ICAgICAgICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFtZSI6ICJOb2RlIiwKLSAg
ICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJlcnMiOiBbCi0gICAgICAgICAg
ICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAg
ICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAicmVh
ZG9ubHkiOiB0cnVlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAg
ICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJn
ZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAi
aWRsVHlwZSI6ICJ1bnNpZ25lZCBzaG9ydCIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRy
cyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJub2Rl
VHlwZSIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogIm5vZGVUeXBlIiwKLSAgICAg
ICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfQotICAgICAgICBdLAotICAg
ICAgICAiaW5oZXJpdGFuY2UiOiBudWxsLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0s
Ci0gICAgewotICAgICAgICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFtZSI6ICJF
dmVudFRhcmdldCIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJz
IjogWwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogIm9wZXJhdGlvbiIs
Ci0gICAgICAgICAgICAgICAgImdldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzZXR0
ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiZGVsZXRlciI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAg
InR5cGUiOiAicmV0dXJuLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51
bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAi
dm9pZCIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAg
ICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJhZGRFdmVudExpc3RlbmVyIiwKLSAgICAg
ICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiYWRkRXZlbnRMaXN0ZW5lciIsCi0gICAgICAgICAg
ICAgICAgImFyZ3VtZW50cyI6IFsKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAg
ICAgICAgICAgICAgIm9wdGlvbmFsIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAi
dmFyaWFkaWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0IjogbnVs
bCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdLAotICAgICAgICAgICAg
ICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5
cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVy
aWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogIkRPTVN0cmluZyIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgICAgIH0s
Ci0gICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJ0eXBlIiwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJ0eXBlIgotICAgICAgICAgICAgICAgICAgICB9LAot
ICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAib3B0aW9uYWwi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ2YXJpYWRpYyI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHQiOiBudWxsLAotICAgICAgICAgICAgICAgICAg
ICAgICAgImV4dEF0dHJzIjogW10sCi0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6
IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImlk
bFR5cGUiOiAiRXZlbnRMaXN0ZW5lciIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4
dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAg
ICAgICAgICAibmFtZSI6ICJsaXN0ZW5lciIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXNj
YXBlZE5hbWUiOiAibGlzdGVuZXIiCi0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAg
ICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJvcHRpb25hbCI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgInZhcmlhZGljIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAiZGVmYXVsdCI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXh0
QXR0cnMiOiBbXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImFyZ3VtZW50LXR5cGUiLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAi
dW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJi
b29sZWFuIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAg
ICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjog
InVzZUNhcHR1cmUiLAotICAgICAgICAgICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogInVz
ZUNhcHR1cmUiCi0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdLAotICAg
ICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0g
ICAgICAgICJpbmhlcml0YW5jZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0gICAg
fSwKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImltcGxlbWVudHMiLAotICAgICAgICAidGFyZ2V0
IjogIk5vZGUiLAotICAgICAgICAiaW1wbGVtZW50cyI6ICJFdmVudFRhcmdldCIsCi0gICAgICAg
ICJleHRBdHRycyI6IFtdCi0gICAgfQotXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9q
c29uL2luZGV4ZWQtcHJvcGVydGllcy5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2luZGV4
ZWQtcHJvcGVydGllcy5qc29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkY2NkNTEx
YWY5Ni4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2luZGV4ZWQtcHJv
cGVydGllcy5qc29uCisrKyAvZGV2L251bGwKQEAgLTEsMjgzICswLDAgQEAKLVsKLSAgICB7Ci0g
ICAgICAgICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAgICAgICJuYW1lIjogIk9yZGVyZWRNYXAi
LAotICAgICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFsKLSAgICAg
ICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAg
ICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICJyZWFkb25seSI6IHRydWUsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAg
ICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZS10eXBlIiwKLSAgICAgICAgICAgICAgICAg
ICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ICAgICJpZGxUeXBlIjogInVuc2lnbmVkIGxvbmciLAotICAgICAgICAgICAgICAgICAgICAiZXh0
QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAi
c2l6ZSIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogInNpemUiLAotICAgICAgICAg
ICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAg
ICAgICAgICAgICAgICJ0eXBlIjogIm9wZXJhdGlvbiIsCi0gICAgICAgICAgICAgICAgImdldHRl
ciI6IHRydWUsCi0gICAgICAgICAgICAgICAgInNldHRlciI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICJkZWxldGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJp
ZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJyZXR1cm4tdHlwZSIsCi0g
ICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAg
Im51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJhbnkiLAotICAgICAgICAgICAgICAgICAg
ICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5h
bWUiOiAiZ2V0QnlJbmRleCIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImdldEJ5
SW5kZXgiLAotICAgICAgICAgICAgICAgICJhcmd1bWVudHMiOiBbCi0gICAgICAgICAgICAgICAg
ICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJvcHRpb25hbCI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgInZhcmlhZGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAiZGVmYXVsdCI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMi
OiBbXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICJ0eXBlIjogImFyZ3VtZW50LXR5cGUiLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5pb24i
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJ1bnNpZ25l
ZCBsb25nIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAg
ICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjog
ImluZGV4IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJpbmRleCIK
LSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAg
ICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAg
ICAgICAgICAgInR5cGUiOiAib3BlcmF0aW9uIiwKLSAgICAgICAgICAgICAgICAiZ2V0dGVyIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgInNldHRlciI6IHRydWUsCi0gICAgICAgICAgICAgICAg
ImRlbGV0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5
cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInJldHVybi10eXBlIiwKLSAgICAg
ICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVs
bGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgICAgICJpZGxUeXBlIjogInZvaWQiLAotICAgICAgICAgICAgICAgICAgICAi
ZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUi
OiAic2V0QnlJbmRleCIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogInNldEJ5SW5k
ZXgiLAotICAgICAgICAgICAgICAgICJhcmd1bWVudHMiOiBbCi0gICAgICAgICAgICAgICAgICAg
IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJvcHRpb25hbCI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgInZhcmlhZGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAiZGVmYXVsdCI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBb
XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJ0eXBlIjogImFyZ3VtZW50LXR5cGUiLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAi
bnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJ1bnNpZ25lZCBs
b25nIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAg
ICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjogImlu
ZGV4IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJpbmRleCIKLSAg
ICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAg
ICAgICAgICAgICAgIm9wdGlvbmFsIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAi
dmFyaWFkaWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0IjogbnVs
bCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdLAotICAgICAgICAgICAg
ICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5
cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVy
aWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogImFueSIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgICAgIH0sCi0gICAg
ICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJ2YWx1ZSIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAiZXNjYXBlZE5hbWUiOiAidmFsdWUiCi0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAg
ICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAg
ICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogIm9wZXJhdGlvbiIs
Ci0gICAgICAgICAgICAgICAgImdldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzZXR0
ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiZGVsZXRlciI6IHRydWUsCi0gICAgICAgICAg
ICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAi
dHlwZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVs
bCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJ2
b2lkIiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAg
ICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogInJlbW92ZUJ5SW5kZXgiLAotICAgICAgICAg
ICAgICAgICJlc2NhcGVkTmFtZSI6ICJyZW1vdmVCeUluZGV4IiwKLSAgICAgICAgICAgICAgICAi
YXJndW1lbnRzIjogWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICAib3B0aW9uYWwiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ2YXJpYWRp
YyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHQiOiBudWxsLAotICAg
ICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10sCi0gICAgICAgICAgICAgICAgICAg
ICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJh
cmd1bWVudC10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51
bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgImlkbFR5cGUiOiAidW5zaWduZWQgbG9uZyIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgICAgIH0sCi0g
ICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJpbmRleCIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAiZXNjYXBlZE5hbWUiOiAiaW5kZXgiCi0gICAgICAgICAgICAgICAgICAgIH0KLSAg
ICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAg
ICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogIm9wZXJhdGlv
biIsCi0gICAgICAgICAgICAgICAgImdldHRlciI6IHRydWUsCi0gICAgICAgICAgICAgICAgInNl
dHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJkZWxldGVyIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAg
ICAidHlwZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjog
bnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6
ICJhbnkiLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAg
ICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiZ2V0IiwKLSAgICAgICAgICAgICAgICAi
ZXNjYXBlZE5hbWUiOiAiZ2V0IiwKLSAgICAgICAgICAgICAgICAiYXJndW1lbnRzIjogWwotICAg
ICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAib3B0aW9uYWwiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ2YXJpYWRpYyI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgImRlZmF1bHQiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAg
ICAgImV4dEF0dHJzIjogW10sCi0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5
cGUiOiAiRE9NU3RyaW5nIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMi
OiBbXQotICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJuYW1lIjogIm5hbWUiLAotICAgICAgICAgICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjog
Im5hbWUiCi0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdLAotICAgICAg
ICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewot
ICAgICAgICAgICAgICAgICJ0eXBlIjogIm9wZXJhdGlvbiIsCi0gICAgICAgICAgICAgICAgImdl
dHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzZXR0ZXIiOiB0cnVlLAotICAgICAgICAg
ICAgICAgICJkZWxldGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJyZXR1cm4tdHlwZSIs
Ci0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAg
ICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJ2b2lkIiwKLSAgICAgICAgICAgICAg
ICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAg
ICJuYW1lIjogInNldCIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogInNldCIsCi0g
ICAgICAgICAgICAgICAgImFyZ3VtZW50cyI6IFsKLSAgICAgICAgICAgICAgICAgICAgewotICAg
ICAgICAgICAgICAgICAgICAgICAgIm9wdGlvbmFsIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAidmFyaWFkaWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJkZWZh
dWx0IjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdLAotICAg
ICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgInR5cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJs
ZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogIkRPTVN0cmluZyIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAg
ICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJuYW1lIiwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJuYW1lIgotICAgICAgICAgICAgICAg
ICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAi
b3B0aW9uYWwiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ2YXJpYWRpYyI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHQiOiBudWxsLAotICAgICAgICAg
ICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10sCi0gICAgICAgICAgICAgICAgICAgICAgICAi
aWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVu
dC10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgImlkbFR5cGUiOiAiYW55IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0
QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICJuYW1lIjogInZhbHVlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJlc2NhcGVk
TmFtZSI6ICJ2YWx1ZSIKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0s
Ci0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAg
ICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAib3BlcmF0aW9uIiwKLSAgICAgICAgICAg
ICAgICAiZ2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInNldHRlciI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICJkZWxldGVyIjogdHJ1ZSwKLSAgICAgICAgICAgICAgICAic3RhdGlj
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInJldHVy
bi10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAg
ICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9u
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogInZvaWQiLAotICAgICAg
ICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAg
ICAgICAgICAgIm5hbWUiOiAicmVtb3ZlIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUi
OiAicmVtb3ZlIiwKLSAgICAgICAgICAgICAgICAiYXJndW1lbnRzIjogWwotICAgICAgICAgICAg
ICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAib3B0aW9uYWwiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJ2YXJpYWRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgImRlZmF1bHQiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0
dHJzIjogW10sCi0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInVu
aW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiRE9N
U3RyaW5nIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAg
ICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjog
Im5hbWUiLAotICAgICAgICAgICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogIm5hbWUiCi0g
ICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAg
ICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJpbmhl
cml0YW5jZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgfQotXQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2luaGVyaXRzLWdldHRlci5qc29uIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3N5bnRheC9qc29uL2luaGVyaXRzLWdldHRlci5qc29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCA4NmViNjhlMjcwZS4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRh
eC9qc29uL2luaGVyaXRzLWdldHRlci5qc29uCisrKyAvZGV2L251bGwKQEAgLTEsMTAxICswLDAg
QEAKLVsKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAgICAgICJuYW1l
IjogIkFuaW1hbCIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJz
IjogWwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZSIs
Ci0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJp
bmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpbmhlcml0IjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgInJlYWRvbmx5IjogdHJ1ZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6
IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlLXR5cGUiLAotICAgICAg
ICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxs
YWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiRE9NU3RyaW5nIiwKLSAgICAgICAgICAgICAgICAg
ICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJu
YW1lIjogIm5hbWUiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJuYW1lIiwKLSAg
ICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfQotICAgICAgICBdLAot
ICAgICAgICAiaW5oZXJpdGFuY2UiOiBudWxsLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAg
IH0sCi0gICAgewotICAgICAgICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFtZSI6
ICJQZXJzb24iLAotICAgICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6
IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUiLAot
ICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5n
aWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICJyZWFkb25seSI6IHRydWUsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7
Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZS10eXBlIiwKLSAgICAgICAg
ICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFi
bGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgICAgICJpZGxUeXBlIjogInVuc2lnbmVkIHNob3J0IiwKLSAgICAgICAgICAgICAg
ICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAg
ICJuYW1lIjogImFnZSIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImFnZSIsCi0g
ICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAg
ICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAg
ICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgImluaGVyaXQiOiB0cnVlLAotICAgICAgICAgICAgICAgICJyZWFk
b25seSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAg
ICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJn
ZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAi
aWRsVHlwZSI6ICJET01TdHJpbmciLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBb
XQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAibmFtZSIsCi0g
ICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogIm5hbWUiLAotICAgICAgICAgICAgICAgICJl
eHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJpbmhlcml0
YW5jZSI6ICJBbmltYWwiLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0sCi0gICAgewot
ICAgICAgICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFtZSI6ICJHaG9zdCIsCi0g
ICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJzIjogWwotICAgICAgICAg
ICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAg
ICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICJpbmhlcml0IjogdHJ1ZSwKLSAgICAgICAgICAgICAgICAicmVh
ZG9ubHkiOiB0cnVlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAg
ICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJn
ZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAi
aWRsVHlwZSI6ICJET01TdHJpbmciLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBb
XQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAibmFtZSIsCi0g
ICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogIm5hbWUiLAotICAgICAgICAgICAgICAgICJl
eHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJpbmhlcml0
YW5jZSI6ICJQZXJzb24iLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0KLV0KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9pbnRlcmZhY2UtaW5oZXJpdHMuanNvbiBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC9zeW50YXgvanNvbi9pbnRlcmZhY2UtaW5oZXJpdHMuanNvbgpkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDJjYWYzNWY2MDUuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC9zeW50YXgvanNvbi9pbnRlcmZhY2UtaW5oZXJpdHMuanNvbgorKysgL2Rldi9udWxsCkBAIC0x
LDgzICswLDAgQEAKLVsKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAg
ICAgICJuYW1lIjogIkFuaW1hbCIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0gICAgICAg
ICJtZW1iZXJzIjogWwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogImF0
dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpbmhlcml0IjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5IjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZS10eXBl
IiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAg
ICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogIkRPTVN0cmluZyIsCi0gICAgICAg
ICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAg
ICAgICAgICAibmFtZSI6ICJuYW1lIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAi
bmFtZSIsCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0KLSAg
ICAgICAgXSwKLSAgICAgICAgImluaGVyaXRhbmNlIjogbnVsbCwKLSAgICAgICAgImV4dEF0dHJz
IjogW10KLSAgICB9LAotICAgIHsKLSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAg
ICAgIm5hbWUiOiAiSHVtYW4iLAotICAgICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAi
bWVtYmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRy
aWJ1dGUiLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaW5oZXJpdCI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICJyZWFkb25seSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJp
ZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIs
Ci0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAg
ICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJEb2ciLAotICAgICAgICAgICAgICAg
ICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAg
Im5hbWUiOiAicGV0IiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAicGV0IiwKLSAg
ICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfQotICAgICAgICBdLAot
ICAgICAgICAiaW5oZXJpdGFuY2UiOiAiQW5pbWFsIiwKLSAgICAgICAgImV4dEF0dHJzIjogW10K
LSAgICB9LAotICAgIHsKLSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5h
bWUiOiAiRG9nIiwKLSAgICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJlcnMi
OiBbCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwK
LSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmlu
Z2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAicmVhZG9ubHkiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6
IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlLXR5cGUiLAotICAgICAg
ICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxs
YWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiSHVtYW4iLAotICAgICAgICAgICAgICAgICAgICAi
ZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUi
OiAib3duZXIiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJvd25lciIsCi0gICAg
ICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAg
ICAgICAgImluaGVyaXRhbmNlIjogIkFuaW1hbCIsCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0g
ICAgfQotXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2l0ZXJhYmxlLmpzb24g
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vaXRlcmFibGUuanNvbgpkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggZWU5MDZmNzVlYTIuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50
YXgvanNvbi9pdGVyYWJsZS5qc29uCisrKyAvZGV2L251bGwKQEAgLTEsODYgKzAsMCBAQAotWwot
ICAgIHsKLSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUiOiAiSXRl
cmFibGVPbmUiLAotICAgICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6
IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJpdGVyYWJsZSIsCi0g
ICAgICAgICAgICAgICAgImlkbFR5cGUiOiBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJ0eXBlIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJsb25nIiwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBd
LAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAg
IF0sCi0gICAgICAgICJpbmhlcml0YW5jZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6IFtd
Ci0gICAgfSwKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAgICAgICJu
YW1lIjogIkl0ZXJhYmxlVHdvIiwKLSAgICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAg
Im1lbWJlcnMiOiBbCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiaXRl
cmFibGUiLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogWwotICAgICAgICAgICAgICAgICAg
ICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6IG51bGwsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAibnVs
bGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAic2hvcnQiLAotICAgICAgICAgICAg
ICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAg
ICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiBudWxsLAot
ICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAg
ICAgICAgICAgIm51bGxhYmxlIjogdHJ1ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlv
biI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiZG91YmxlIiwK
LSAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAg
ICAgIH0KLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtd
Ci0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJpbmhlcml0YW5jZSI6IG51bGws
Ci0gICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgfSwKLSAgICB7Ci0gICAgICAgICJ0eXBlIjog
ImludGVyZmFjZSIsCi0gICAgICAgICJuYW1lIjogIkl0ZXJhYmxlVGhyZWUiLAotICAgICAgICAi
cGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAg
ICAgICAgICAgICAgICAidHlwZSI6ICJpdGVyYWJsZSIsCi0gICAgICAgICAgICAgICAgImlkbFR5
cGUiOiBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ0
eXBlIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlw
ZSI6ICJsb25nIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFsKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICJuYW1lIjogIlhBdHRyIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImFyZ3Vt
ZW50cyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImV4
dGVuZGVkLWF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyaHMi
OiBudWxsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICAg
ICAgICAgXQotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXSwKLSAgICAg
ICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfQotICAgICAgICBdLAotICAg
ICAgICAiaW5oZXJpdGFuY2UiOiBudWxsLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0K
LV0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9pdGVyYXRvci5qc29uIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L3N5bnRheC9qc29uL2l0ZXJhdG9yLmpzb24KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IGY5NjA1YjgzNDUwLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pz
b24vaXRlcmF0b3IuanNvbgorKysgL2Rldi9udWxsCkBAIC0xLDI3NiArMCwwIEBACi1bCi0gICAg
ewotICAgICAgICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFtZSI6ICJTZXNzaW9u
TWFuYWdlciIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJzIjog
WwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogIm9wZXJhdGlvbiIsCi0g
ICAgICAgICAgICAgICAgImdldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzZXR0ZXIi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiZGVsZXRlciI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInNl
cXVlbmNlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAg
ICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAg
ICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJTZXNzaW9u
IgotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiZ2V0U2Vzc2lv
bkZvclVzZXIiLAotICAgICAgICAgICAgICAgICJhcmd1bWVudHMiOiBbCi0gICAgICAgICAgICAg
ICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJvcHRpb25hbCI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgInZhcmlhZGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAiZXh0QXR0cnMiOiBbXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBl
IjogewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzZXF1ZW5jZSI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlw
ZSI6ICJET01TdHJpbmciCi0gICAgICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAg
ICAgICAgICAgICAgIm5hbWUiOiAidXNlcm5hbWUiCi0gICAgICAgICAgICAgICAgICAgIH0KLSAg
ICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAg
ICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0
ZSIsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJz
dHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpbmhlcml0IjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgInJlYWRvbmx5IjogdHJ1ZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlw
ZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInNlcXVlbmNlIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxl
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICAgICAiaWRsVHlwZSI6ICJ1bnNpZ25lZCBsb25nIgotICAgICAgICAgICAgICAgIH0s
Ci0gICAgICAgICAgICAgICAgIm5hbWUiOiAic2Vzc2lvbkNvdW50IiwKLSAgICAgICAgICAgICAg
ICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAg
ICAgICAgICAidHlwZSI6ICJpdGVyYXRvciIsCi0gICAgICAgICAgICAgICAgImdldHRlciI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICJzZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAi
ZGVsZXRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlw
ZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInNlcXVlbmNlIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxl
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICAgICAiaWRsVHlwZSI6ICJTZXNzaW9uIgotICAgICAgICAgICAgICAgIH0sCi0gICAg
ICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAg
ICAgICAgImluaGVyaXRhbmNlIjogbnVsbCwKLSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9
LAotICAgIHsKLSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUiOiAi
U2Vzc2lvbiIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJzIjog
WwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0g
ICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdp
ZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpbmhlcml0IjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgInJlYWRvbmx5IjogdHJ1ZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsK
LSAgICAgICAgICAgICAgICAgICAgInNlcXVlbmNlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICAgICAiaWRsVHlwZSI6ICJET01TdHJpbmciCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAg
ICAgICAgICAibmFtZSI6ICJ1c2VybmFtZSIsCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjog
W10KLSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImluaGVyaXRhbmNlIjogbnVs
bCwKLSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9LAotICAgIHsKLSAgICAgICAgInR5cGUi
OiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUiOiAiU2Vzc2lvbk1hbmFnZXIyIiwKLSAgICAg
ICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJlcnMiOiBbCi0gICAgICAgICAgICB7
Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAib3BlcmF0aW9uIiwKLSAgICAgICAgICAgICAgICAi
Z2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInNldHRlciI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICJkZWxldGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAic2VxdWVuY2UiOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAg
ICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogIlNlc3Npb24yIgotICAgICAgICAgICAg
ICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiZ2V0U2Vzc2lvbkZvclVzZXIiLAotICAg
ICAgICAgICAgICAgICJhcmd1bWVudHMiOiBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJvcHRpb25hbCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgInZhcmlhZGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0
cnMiOiBbXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICJzZXF1ZW5jZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAi
bnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJET01TdHJpbmci
Ci0gICAgICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICAgICAgIm5h
bWUiOiAidXNlcm5hbWUiCi0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBd
LAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9LAotICAgICAg
ICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAg
ICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICJpbmhlcml0IjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
InJlYWRvbmx5IjogdHJ1ZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAg
ICAgICAgICAgICAgInNlcXVlbmNlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJnZW5l
cmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRs
VHlwZSI6ICJ1bnNpZ25lZCBsb25nIgotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAg
ICAgIm5hbWUiOiAic2Vzc2lvbkNvdW50IiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBb
XQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6
ICJpdGVyYXRvciIsCi0gICAgICAgICAgICAgICAgImdldHRlciI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICJzZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiZGVsZXRlciI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3Ry
aW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAg
ICAgICAgICAgICAgInNlcXVlbmNlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJnZW5l
cmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRs
VHlwZSI6ICJTZXNzaW9uMiIKLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJp
dGVyYXRvck9iamVjdCI6ICJTZXNzaW9uSXRlcmF0b3IiLAotICAgICAgICAgICAgICAgICJleHRB
dHRycyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJpbmhlcml0YW5j
ZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgfSwKLSAgICB7Ci0gICAgICAg
ICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAgICAgICJuYW1lIjogIlNlc3Npb24yIiwKLSAgICAg
ICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJlcnMiOiBbCi0gICAgICAgICAgICB7
Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAi
c3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAicmVhZG9u
bHkiOiB0cnVlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAg
ICAgICAic2VxdWVuY2UiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBu
dWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjog
IkRPTVN0cmluZyIKLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjog
InVzZXJuYW1lIiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAg
fQotICAgICAgICBdLAotICAgICAgICAiaW5oZXJpdGFuY2UiOiBudWxsLAotICAgICAgICAiZXh0
QXR0cnMiOiBbXQotICAgIH0sCi0gICAgewotICAgICAgICAidHlwZSI6ICJpbnRlcmZhY2UiLAot
ICAgICAgICAibmFtZSI6ICJTZXNzaW9uSXRlcmF0b3IiLAotICAgICAgICAicGFydGlhbCI6IGZh
bHNlLAotICAgICAgICAibWVtYmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAg
ICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAi
aW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJyZWFkb25seSI6IHRydWUsCi0gICAg
ICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJzZXF1ZW5jZSI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAg
ICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24i
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAidW5zaWduZWQgbG9uZyIK
LSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogInJlbWFpbmluZ1Nl
c3Npb25zIiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfQot
ICAgICAgICBdLAotICAgICAgICAiaW5oZXJpdGFuY2UiOiBudWxsLAotICAgICAgICAiZXh0QXR0
cnMiOiBbXQotICAgIH0sCi0gICAgewotICAgICAgICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAg
ICAgICAibmFtZSI6ICJOb2RlTGlzdCIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0gICAg
ICAgICJtZW1iZXJzIjogWwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjog
Iml0ZXJhdG9yIiwKLSAgICAgICAgICAgICAgICAiZ2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgInNldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJkZWxldGVyIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJp
bmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAg
ICAgICAgICAgICAic2VxdWVuY2UiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVy
aWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxU
eXBlIjogIk5vZGUiCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAiaXRlcmF0
b3JPYmplY3QiOiAiTm9kZUl0ZXJhdG9yIiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBb
XQotICAgICAgICAgICAgfQotICAgICAgICBdLAotICAgICAgICAiaW5oZXJpdGFuY2UiOiBudWxs
LAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0sCi0gICAgewotICAgICAgICAidHlwZSI6
ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFtZSI6ICJOb2RlSXRlcmF0b3IiLAotICAgICAgICAi
cGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAg
ICAgICAgICAgICAgICAidHlwZSI6ICJpdGVyYXRvciIsCi0gICAgICAgICAgICAgICAgImdldHRl
ciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAiZGVsZXRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAi
aWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInNlcXVlbmNlIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51
bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJOb2RlIgotICAgICAgICAgICAgICAgIH0sCi0g
ICAgICAgICAgICAgICAgIml0ZXJhdG9yT2JqZWN0IjogIm9iamVjdCIsCi0gICAgICAgICAgICAg
ICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImlu
aGVyaXRhbmNlIjogbnVsbCwKLSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9Ci1dCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vbGVnYWN5aXRlcmFibGUuanNvbiBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC9zeW50YXgvanNvbi9sZWdhY3lpdGVyYWJsZS5qc29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCA4MGZkMDAwYTg0OS4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRh
eC9qc29uL2xlZ2FjeWl0ZXJhYmxlLmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSwyNSArMCwwIEBA
Ci1bCi0gICAgewotICAgICAgICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFtZSI6
ICJMZWdhY3lJdGVyYWJsZSIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0gICAgICAgICJt
ZW1iZXJzIjogWwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogImxlZ2Fj
eWl0ZXJhYmxlIiwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IFsKLSAgICAgICAgICAgICAg
ICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiBudWxsLAotICAgICAgICAg
ICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAg
Im51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogImxvbmciLAotICAgICAgICAg
ICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgfQotICAg
ICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAg
ICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImluaGVyaXRhbmNlIjogbnVsbCwKLSAgICAgICAg
ImV4dEF0dHJzIjogW10KLSAgICB9Ci1dCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pz
b24vbWFwbGlrZS5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL21hcGxpa2UuanNvbgpkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMmNiOGMzNjBlZTMuLjAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC9zeW50YXgvanNvbi9tYXBsaWtlLmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSwx
MTIgKzAsMCBAQAotWwotICAgIHsKLSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAg
ICAgIm5hbWUiOiAiTWFwTGlrZSIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0gICAgICAg
ICJtZW1iZXJzIjogWwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogIm1h
cGxpa2UiLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogWwotICAgICAgICAgICAgICAgICAg
ICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6IG51bGwsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAibnVs
bGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAibG9uZyIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAg
ICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6IG51bGwsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlv
biI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiZmxvYXQiLAot
ICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAg
ICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5IjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0KLSAgICAg
ICAgXSwKLSAgICAgICAgImluaGVyaXRhbmNlIjogbnVsbCwKLSAgICAgICAgImV4dEF0dHJzIjog
W10KLSAgICB9LAotICAgIHsKLSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAg
Im5hbWUiOiAiUmVhZE9ubHlNYXBMaWtlIiwKLSAgICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAg
ICAgICAgIm1lbWJlcnMiOiBbCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUi
OiAibWFwbGlrZSIsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiBbCi0gICAgICAgICAgICAg
ICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogbnVsbCwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJsb25nIiwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgICAgIH0sCi0g
ICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogbnVs
bCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAg
InVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJmbG9h
dCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAg
ICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICAicmVhZG9ubHki
OiB0cnVlLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9Ci0g
ICAgICAgIF0sCi0gICAgICAgICJpbmhlcml0YW5jZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRy
cyI6IFtdCi0gICAgfSwKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAg
ICAgICJuYW1lIjogIkkiLAotICAgICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVt
YmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJtYXBsaWtl
IiwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IFsKLSAgICAgICAgICAgICAgICAgICAgewot
ICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiBudWxsLAotICAgICAgICAgICAgICAgICAg
ICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxl
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogIkRPTVN0cmluZyIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAiZXh0QXR0cnMiOiBbCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgewot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJYQXR0cjIiLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAiYXJndW1lbnRzIjogbnVsbCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiZXh0ZW5kZWQtYXR0cmlidXRlIiwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgInJocyI6IG51bGwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgICAgICBdCi0gICAgICAgICAgICAgICAg
ICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ0
eXBlIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlw
ZSI6ICJsb25nIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFsKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICJuYW1lIjogIlhBdHRyMyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJhcmd1
bWVudHMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJl
eHRlbmRlZC1hdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicmhz
IjogbnVsbAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAg
ICAgICAgIF0KLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAg
ICAgICAgICAgICAgInJlYWRvbmx5IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImV4dEF0dHJz
IjogW10KLSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImluaGVyaXRhbmNlIjog
bnVsbCwKLSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9Ci1dCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvc3ludGF4L2pzb24vbWl4aW4uanNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9taXhp
bi5qc29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiMDM3Y2IzNTc3OS4uMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL21peGluLmpzb24KKysrIC9kZXYvbnVs
bApAQCAtMSw2NiArMCwwIEBACi1bCi0gICAgewotICAgICAgICAidHlwZSI6ICJpbnRlcmZhY2Ug
bWl4aW4iLAotICAgICAgICAibmFtZSI6ICJHbG9iYWxDcnlwdG8iLAotICAgICAgICAicGFydGlh
bCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAg
ICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJyZWFkb25seSI6IHRydWUs
Ci0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBl
IjogImF0dHJpYnV0ZS10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxs
LAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogIkNy
eXB0byIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAg
ICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJjcnlwdG8iLAotICAgICAgICAgICAgICAg
ICJlc2NhcGVkTmFtZSI6ICJjcnlwdG8iLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtd
Ci0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0gICAg
fSwKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImluY2x1ZGVzIiwKLSAgICAgICAgInRhcmdldCI6
ICJXaW5kb3ciLAotICAgICAgICAiaW5jbHVkZXMiOiAiR2xvYmFsQ3J5cHRvIiwKLSAgICAgICAg
ImV4dEF0dHJzIjogW10KLSAgICB9LAotICAgIHsKLSAgICAgICAgInR5cGUiOiAiaW5jbHVkZXMi
LAotICAgICAgICAidGFyZ2V0IjogIldvcmtlckdsb2JhbFNjb3BlIiwKLSAgICAgICAgImluY2x1
ZGVzIjogIkdsb2JhbENyeXB0byIsCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgfSwKLSAg
ICB7Ci0gICAgICAgICJ0eXBlIjogImludGVyZmFjZSBtaXhpbiIsCi0gICAgICAgICJuYW1lIjog
IldpbmRvd09yV29ya2VyR2xvYmFsU2NvcGUiLAotICAgICAgICAicGFydGlhbCI6IHRydWUsCi0g
ICAgICAgICJtZW1iZXJzIjogWwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBl
IjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpbmhlcml0
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5IjogdHJ1ZSwKLSAgICAgICAgICAg
ICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRl
LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAg
ICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24i
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiQ3J5cHRvIiwKLSAgICAg
ICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAg
ICAgICAgICAgICJuYW1lIjogImNyeXB0byIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1l
IjogImNyeXB0byIsCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAg
IH0KLSAgICAgICAgXSwKLSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9Ci1dCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vbmFtZWRjb25zdHJ1Y3Rvci5qc29uIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3N5bnRheC9qc29uL25hbWVkY29uc3RydWN0b3IuanNvbgpkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggZGViNDI5ZTk4NmUuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50
YXgvanNvbi9uYW1lZGNvbnN0cnVjdG9yLmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSw0NiArMCww
IEBACi1bCi0gICAgewotICAgICAgICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFt
ZSI6ICJIVE1MQXVkaW9FbGVtZW50IiwKLSAgICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAg
ICAgIm1lbWJlcnMiOiBbXSwKLSAgICAgICAgImluaGVyaXRhbmNlIjogIkhUTUxNZWRpYUVsZW1l
bnQiLAotICAgICAgICAiZXh0QXR0cnMiOiBbCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAg
ICAgIm5hbWUiOiAiTmFtZWRDb25zdHJ1Y3RvciIsCi0gICAgICAgICAgICAgICAgImFyZ3VtZW50
cyI6IG51bGwsCi0gICAgICAgICAgICAgICAgInR5cGUiOiAiZXh0ZW5kZWQtYXR0cmlidXRlIiwK
LSAgICAgICAgICAgICAgICAicmhzIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJp
ZGVudGlmaWVyIiwKLSAgICAgICAgICAgICAgICAgICAgInZhbHVlIjogIkF1ZGlvIgotICAgICAg
ICAgICAgICAgIH0KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAg
ICAgIm5hbWUiOiAiTmFtZWRDb25zdHJ1Y3RvciIsCi0gICAgICAgICAgICAgICAgImFyZ3VtZW50
cyI6IFsKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIm9w
dGlvbmFsIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAidmFyaWFkaWMiOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0IjogbnVsbCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJleHRBdHRycyI6IFtdLAotICAgICAgICAgICAgICAgICAgICAgICAgImlk
bFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXJndW1lbnQt
dHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJpZGxUeXBlIjogIkRPTVN0cmluZyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAg
ICAgICAgICAgICAibmFtZSI6ICJzcmMiLAotICAgICAgICAgICAgICAgICAgICAgICAgImVzY2Fw
ZWROYW1lIjogInNyYyIKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0s
Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiZXh0ZW5kZWQtYXR0cmlidXRlIiwKLSAgICAgICAg
ICAgICAgICAicmhzIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJpZGVudGlmaWVy
IiwKLSAgICAgICAgICAgICAgICAgICAgInZhbHVlIjogIkF1ZGlvIgotICAgICAgICAgICAgICAg
IH0KLSAgICAgICAgICAgIH0KLSAgICAgICAgXQotICAgIH0KLV0KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC9zeW50YXgvanNvbi9uYW1lc3BhY2UuanNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9u
YW1lc3BhY2UuanNvbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWUzN2IyNmZhNjUu
LjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9uYW1lc3BhY2UuanNvbgor
KysgL2Rldi9udWxsCkBAIC0xLDE0MSArMCwwIEBACi1bCi0gICAgewotICAgICAgICAidHlwZSI6
ICJuYW1lc3BhY2UiLAotICAgICAgICAibmFtZSI6ICJWZWN0b3JVdGlscyIsCi0gICAgICAgICJw
YXJ0aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJzIjogWwotICAgICAgICAgICAgewotICAg
ICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInN0YXRp
YyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICJpbmhlcml0IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5Ijog
dHJ1ZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAg
InR5cGUiOiAiYXR0cmlidXRlLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6
IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUi
OiAiVmVjdG9yIiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAg
ICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogInVuaXQiLAotICAgICAgICAgICAg
ICAgICJlc2NhcGVkTmFtZSI6ICJ1bml0IiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBb
XQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6
ICJvcGVyYXRpb24iLAotICAgICAgICAgICAgICAgICJnZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAic2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImRlbGV0ZXIiOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0
cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAg
ICAgICAgICAgICAgICJ0eXBlIjogInJldHVybi10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAg
ImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAg
ICJpZGxUeXBlIjogImRvdWJsZSIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtd
Ci0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJkb3RQcm9kdWN0
IiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiZG90UHJvZHVjdCIsCi0gICAgICAg
ICAgICAgICAgImFyZ3VtZW50cyI6IFsKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAg
ICAgICAgICAgICAgICAgIm9wdGlvbmFsIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAidmFyaWFkaWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0Ijog
bnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdLAotICAgICAgICAg
ICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
InR5cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImdl
bmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogIlZlY3RvciIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgICAgIH0s
Ci0gICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJ4IiwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICJlc2NhcGVkTmFtZSI6ICJ4IgotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAg
ICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAib3B0aW9uYWwiOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ2YXJpYWRpYyI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgImRlZmF1bHQiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAg
ImV4dEF0dHJzIjogW10sCi0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUi
OiAiVmVjdG9yIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQot
ICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJuYW1l
IjogInkiLAotICAgICAgICAgICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogInkiCi0gICAg
ICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgICJl
eHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAg
ICAgICJ0eXBlIjogIm9wZXJhdGlvbiIsCi0gICAgICAgICAgICAgICAgImdldHRlciI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICJzZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiZGVs
ZXRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6
IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAicmV0dXJuLXR5cGUiLAotICAgICAgICAg
ICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJs
ZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAgICAgImlkbFR5cGUiOiAiVmVjdG9yIiwKLSAgICAgICAgICAgICAgICAgICAgImV4
dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjog
ImNyb3NzUHJvZHVjdCIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImNyb3NzUHJv
ZHVjdCIsCi0gICAgICAgICAgICAgICAgImFyZ3VtZW50cyI6IFsKLSAgICAgICAgICAgICAgICAg
ICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIm9wdGlvbmFsIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAidmFyaWFkaWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJkZWZhdWx0IjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6
IFtdLAotICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgInR5cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogIlZlY3RvciIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAg
ICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJ4IiwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJ4IgotICAgICAgICAgICAgICAg
ICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAi
b3B0aW9uYWwiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ2YXJpYWRpYyI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHQiOiBudWxsLAotICAgICAgICAg
ICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10sCi0gICAgICAgICAgICAgICAgICAgICAgICAi
aWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVu
dC10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgImlkbFR5cGUiOiAiVmVjdG9yIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAi
ZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICJuYW1lIjogInkiLAotICAgICAgICAgICAgICAgICAgICAgICAgImVzY2FwZWRO
YW1lIjogInkiCi0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdLAotICAg
ICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0g
ICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgfSwKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogIm5h
bWVzcGFjZSIsCi0gICAgICAgICJuYW1lIjogIlNvbWVOYW1lc3BhY2UiLAotICAgICAgICAicGFy
dGlhbCI6IHRydWUsCi0gICAgICAgICJtZW1iZXJzIjogW10sCi0gICAgICAgICJleHRBdHRycyI6
IFtdCi0gICAgfQotXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL25vaW50ZXJm
YWNlb2JqZWN0Lmpzb24gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vbm9pbnRlcmZhY2VvYmplY3Qu
anNvbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggY2FmYjVlMGUxNTYuLjAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9ub2ludGVyZmFjZW9iamVjdC5qc29uCisr
KyAvZGV2L251bGwKQEAgLTEsNTUgKzAsMCBAQAotWwotICAgIHsKLSAgICAgICAgInR5cGUiOiAi
aW50ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUiOiAiUXVlcnkiLAotICAgICAgICAicGFydGlhbCI6
IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAg
ICAgICAidHlwZSI6ICJvcGVyYXRpb24iLAotICAgICAgICAgICAgICAgICJnZXR0ZXIiOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAic2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImRl
bGV0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUi
OiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInJldHVybi10eXBlIiwKLSAgICAgICAg
ICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFi
bGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgICAgICJpZGxUeXBlIjogImFueSIsCi0gICAgICAgICAgICAgICAgICAgICJleHRB
dHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJs
b29rdXBFbnRyeSIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImxvb2t1cEVudHJ5
IiwKLSAgICAgICAgICAgICAgICAiYXJndW1lbnRzIjogWwotICAgICAgICAgICAgICAgICAgICB7
Ci0gICAgICAgICAgICAgICAgICAgICAgICAib3B0aW9uYWwiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJ2YXJpYWRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ImRlZmF1bHQiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10s
Ci0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51
bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAidW5zaWduZWQgbG9u
ZyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAg
ICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJrZXki
LAotICAgICAgICAgICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImtleSIKLSAgICAgICAg
ICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgImV4dEF0
dHJzIjogW10KLSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImluaGVyaXRhbmNl
IjogbnVsbCwKLSAgICAgICAgImV4dEF0dHJzIjogWwotICAgICAgICAgICAgewotICAgICAgICAg
ICAgICAgICJuYW1lIjogIk5vSW50ZXJmYWNlT2JqZWN0IiwKLSAgICAgICAgICAgICAgICAiYXJn
dW1lbnRzIjogbnVsbCwKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJleHRlbmRlZC1hdHRyaWJ1
dGUiLAotICAgICAgICAgICAgICAgICJyaHMiOiBudWxsCi0gICAgICAgICAgICB9Ci0gICAgICAg
IF0KLSAgICB9Ci1dCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vbnVsbGFibGUu
anNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9udWxsYWJsZS5qc29uCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCBmMzI1ZTJlYWI3Yi4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3N5bnRheC9qc29uL251bGxhYmxlLmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSw1NiArMCwwIEBA
Ci1bCi0gICAgewotICAgICAgICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFtZSI6
ICJNeUNvbnN0YW50cyIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1i
ZXJzIjogWwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogImNvbnN0IiwK
LSAgICAgICAgICAgICAgICAibnVsbGFibGUiOiB0cnVlLAotICAgICAgICAgICAgICAgICJpZGxU
eXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJjb25zdC10eXBlIiwKLSAgICAg
ICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVs
bGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgICAgICJpZGxUeXBlIjogImJvb2xlYW4iLAotICAgICAgICAgICAgICAgICAg
ICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5h
bWUiOiAiQVJFX1dFX1RIRVJFX1lFVCIsCi0gICAgICAgICAgICAgICAgInZhbHVlIjogewotICAg
ICAgICAgICAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKLSAgICAgICAgICAgICAgICAgICAg
InZhbHVlIjogZmFsc2UKLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJleHRB
dHRycyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJpbmhlcml0YW5j
ZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgfSwKLSAgICB7Ci0gICAgICAg
ICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAgICAgICJuYW1lIjogIk5vZGUiLAotICAgICAgICAi
cGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAg
ICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJzdGF0
aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJyZWFkb25seSI6
IHRydWUsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAg
ICJ0eXBlIjogImF0dHJpYnV0ZS10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMi
OiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiB0cnVlLAotICAgICAgICAg
ICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUi
OiAiRE9NU3RyaW5nIiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAg
ICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogIm5hbWVzcGFjZVVSSSIsCi0g
ICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogIm5hbWVzcGFjZVVSSSIsCi0gICAgICAgICAg
ICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAg
ImluaGVyaXRhbmNlIjogbnVsbCwKLSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9Ci1dCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vbnVsbGFibGVvYmplY3RzLmpzb24gYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3Qvc3ludGF4L2pzb24vbnVsbGFibGVvYmplY3RzLmpzb24KZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDI3ZWNkMjVkMzYzLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
c3ludGF4L2pzb24vbnVsbGFibGVvYmplY3RzLmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSwxMDEg
KzAsMCBAQAotWwotICAgIHsKLSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAg
Im5hbWUiOiAiQSIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJz
IjogW10sCi0gICAgICAgICJpbmhlcml0YW5jZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6
IFtdCi0gICAgfSwKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAgICAg
ICJuYW1lIjogIkIiLAotICAgICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVy
cyI6IFtdLAotICAgICAgICAiaW5oZXJpdGFuY2UiOiBudWxsLAotICAgICAgICAiZXh0QXR0cnMi
OiBbXQotICAgIH0sCi0gICAgewotICAgICAgICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAg
ICAibmFtZSI6ICJDIiwKLSAgICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJl
cnMiOiBbCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAib3BlcmF0aW9u
IiwKLSAgICAgICAgICAgICAgICAiZ2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInNl
dHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJkZWxldGVyIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAg
ICAidHlwZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjog
bnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6
ICJ2b2lkIiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAg
ICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogImYiLAotICAgICAgICAgICAgICAgICJl
c2NhcGVkTmFtZSI6ICJmIiwKLSAgICAgICAgICAgICAgICAiYXJndW1lbnRzIjogWwotICAgICAg
ICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAib3B0aW9uYWwiOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ2YXJpYWRpYyI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgImRlZmF1bHQiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAg
ImV4dEF0dHJzIjogW10sCi0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIm51bGxhYmxlIjogdHJ1ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6
ICJBIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAg
ICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjogIngi
LAotICAgICAgICAgICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogIngiCi0gICAgICAgICAg
ICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgICJleHRBdHRy
cyI6IFtdCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0
eXBlIjogIm9wZXJhdGlvbiIsCi0gICAgICAgICAgICAgICAgImdldHRlciI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICJzZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiZGVsZXRlciI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAg
ICAgICAgICAgICAgICAgICAgInR5cGUiOiAicmV0dXJuLXR5cGUiLAotICAgICAgICAgICAgICAg
ICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAgICAgImlkbFR5cGUiOiAidm9pZCIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6
IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJmIiwKLSAg
ICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiZiIsCi0gICAgICAgICAgICAgICAgImFyZ3Vt
ZW50cyI6IFsKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAg
Im9wdGlvbmFsIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAidmFyaWFkaWMiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0IjogbnVsbCwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdLAotICAgICAgICAgICAgICAgICAgICAgICAg
ImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXJndW1l
bnQtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IHRydWUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgImlkbFR5cGUiOiAiQiIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0
dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAg
ICAgICAibmFtZSI6ICJ4IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6
ICJ4IgotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXSwKLSAgICAgICAg
ICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfQotICAgICAgICBdLAotICAgICAg
ICAiaW5oZXJpdGFuY2UiOiBudWxsLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0KLV0K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9vcGVyYXRpb24tb3B0aW9uYWwtYXJn
Lmpzb24gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vb3BlcmF0aW9uLW9wdGlvbmFsLWFyZy5qc29u
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0Yjc0MzZiYTViYS4uMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL29wZXJhdGlvbi1vcHRpb25hbC1hcmcuanNvbgor
KysgL2Rldi9udWxsCkBAIC0xLDk5ICswLDAgQEAKLVsKLSAgICB7Ci0gICAgICAgICJ0eXBlIjog
ImludGVyZmFjZSIsCi0gICAgICAgICJuYW1lIjogIkNvbG9yQ3JlYXRvciIsCi0gICAgICAgICJw
YXJ0aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJzIjogWwotICAgICAgICAgICAgewotICAg
ICAgICAgICAgICAgICJ0eXBlIjogIm9wZXJhdGlvbiIsCi0gICAgICAgICAgICAgICAgImdldHRl
ciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAiZGVsZXRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAi
aWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAicmV0dXJuLXR5cGUiLAot
ICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAg
ICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAib2JqZWN0IiwKLSAgICAgICAgICAgICAg
ICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAg
ICJuYW1lIjogImNyZWF0ZUNvbG9yIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAi
Y3JlYXRlQ29sb3IiLAotICAgICAgICAgICAgICAgICJhcmd1bWVudHMiOiBbCi0gICAgICAgICAg
ICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJvcHRpb25hbCI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgInZhcmlhZGljIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAiZGVmYXVsdCI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXh0
QXR0cnMiOiBbXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImFyZ3VtZW50LXR5cGUiLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAi
dW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJm
bG9hdCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAg
ICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJ2
MSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAidjEiCi0gICAgICAg
ICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAg
ICAgICAgICJvcHRpb25hbCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgInZhcmlh
ZGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdCI6IG51bGwsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjog
ImFyZ3VtZW50LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjog
bnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJmbG9hdCIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAg
ICAgICAgICAgICAgICAgICAibmFtZSI6ICJ2MiIsCi0gICAgICAgICAgICAgICAgICAgICAgICAi
ZXNjYXBlZE5hbWUiOiAidjIiCi0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAg
ICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJvcHRpb25hbCI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgInZhcmlhZGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAiZGVmYXVsdCI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0
cnMiOiBbXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImFyZ3VtZW50LXR5cGUiLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5p
b24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJmbG9h
dCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAg
ICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJ2MyIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAidjMiCi0gICAgICAgICAg
ICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJvcHRpb25hbCI6IHRydWUsCi0gICAgICAgICAgICAgICAgICAgICAgICAidmFyaWFkaWMi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0IjogewotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICJ0eXBlIjogIm51bWJlciIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgInZhbHVlIjogIjMuNSIKLSAgICAgICAgICAgICAgICAgICAgICAgIH0sCi0gICAg
ICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImFy
Z3VtZW50LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVs
bCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAiaWRsVHlwZSI6ICJmbG9hdCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAg
ICAgICAgICAgICAgICAibmFtZSI6ICJhbHBoYSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAi
ZXNjYXBlZE5hbWUiOiAiYWxwaGEiCi0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAg
ICAgICBdLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9Ci0g
ICAgICAgIF0sCi0gICAgICAgICJpbmhlcml0YW5jZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRy
cyI6IFtdCi0gICAgfQotXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL292ZXJs
b2FkaW5nLmpzb24gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vb3ZlcmxvYWRpbmcuanNvbgpkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYmY3YWNhNmNkZTMuLjAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC9zeW50YXgvanNvbi9vdmVybG9hZGluZy5qc29uCisrKyAvZGV2L251bGwKQEAg
LTEsMzI4ICswLDAgQEAKLVsKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImludGVyZmFjZSIsCi0g
ICAgICAgICJuYW1lIjogIkEiLAotICAgICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAi
bWVtYmVycyI6IFtdLAotICAgICAgICAiaW5oZXJpdGFuY2UiOiBudWxsLAotICAgICAgICAiZXh0
QXR0cnMiOiBbXQotICAgIH0sCi0gICAgewotICAgICAgICAidHlwZSI6ICJpbnRlcmZhY2UiLAot
ICAgICAgICAibmFtZSI6ICJCIiwKLSAgICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAg
Im1lbWJlcnMiOiBbXSwKLSAgICAgICAgImluaGVyaXRhbmNlIjogbnVsbCwKLSAgICAgICAgImV4
dEF0dHJzIjogW10KLSAgICB9LAotICAgIHsKLSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIiwK
LSAgICAgICAgIm5hbWUiOiAiQyIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0gICAgICAg
ICJtZW1iZXJzIjogWwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogIm9w
ZXJhdGlvbiIsCi0gICAgICAgICAgICAgICAgImdldHRlciI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICJzZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiZGVsZXRlciI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5n
aWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAg
ICAgICAgICAgInR5cGUiOiAicmV0dXJuLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2Vu
ZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlk
bFR5cGUiOiAidm9pZCIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAg
ICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJmIiwKLSAgICAgICAgICAg
ICAgICAiZXNjYXBlZE5hbWUiOiAiZiIsCi0gICAgICAgICAgICAgICAgImFyZ3VtZW50cyI6IFsK
LSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIm9wdGlvbmFs
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAidmFyaWFkaWMiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0IjogbnVsbCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICJleHRBdHRycyI6IFtdLAotICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUi
OiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXJndW1lbnQtdHlwZSIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJp
ZGxUeXBlIjogIkEiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtd
Ci0gICAgICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICAgICAgIm5h
bWUiOiAieCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAieCIKLSAg
ICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAg
ImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAg
ICAgICAgInR5cGUiOiAib3BlcmF0aW9uIiwKLSAgICAgICAgICAgICAgICAiZ2V0dGVyIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgInNldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJk
ZWxldGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBl
IjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAgICAg
ICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxh
YmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJ2b2lkIiwKLSAgICAgICAgICAgICAgICAgICAgImV4
dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjog
ImYiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJmIiwKLSAgICAgICAgICAgICAg
ICAiYXJndW1lbnRzIjogWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICAib3B0aW9uYWwiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ2YXJp
YWRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHQiOiBudWxsLAot
ICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10sCi0gICAgICAgICAgICAgICAg
ICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6
ICJhcmd1bWVudC10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6
IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiQiIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAg
ICAgICAgICAgICAgICAibmFtZSI6ICJ4IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJlc2Nh
cGVkTmFtZSI6ICJ4IgotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXSwK
LSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfQotICAgICAgICBd
LAotICAgICAgICAiaW5oZXJpdGFuY2UiOiBudWxsLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQot
ICAgIH0sCi0gICAgewotICAgICAgICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFt
ZSI6ICJEIiwKLSAgICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJlcnMiOiBb
Ci0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAib3BlcmF0aW9uIiwKLSAg
ICAgICAgICAgICAgICAiZ2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInNldHRlciI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICJkZWxldGVyIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlw
ZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwK
LSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJ2b2lk
IiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9
LAotICAgICAgICAgICAgICAgICJuYW1lIjogImYiLAotICAgICAgICAgICAgICAgICJlc2NhcGVk
TmFtZSI6ICJmIiwKLSAgICAgICAgICAgICAgICAiYXJndW1lbnRzIjogWwotICAgICAgICAgICAg
ICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAib3B0aW9uYWwiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJ2YXJpYWRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgImRlZmF1bHQiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0
dHJzIjogW10sCi0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInVu
aW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiRE9N
U3RyaW5nIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAg
ICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjog
ImEiLAotICAgICAgICAgICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImEiCi0gICAgICAg
ICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgICJleHRB
dHRycyI6IFtdCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAg
ICJ0eXBlIjogIm9wZXJhdGlvbiIsCi0gICAgICAgICAgICAgICAgImdldHRlciI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICJzZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiZGVsZXRl
ciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsK
LSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAicmV0dXJuLXR5cGUiLAotICAgICAgICAgICAg
ICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAgICAgImlkbFR5cGUiOiAidm9pZCIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRy
cyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJmIiwK
LSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiZiIsCi0gICAgICAgICAgICAgICAgImFy
Z3VtZW50cyI6IFsKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAg
ICAgIm9wdGlvbmFsIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAidmFyaWFkaWMi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0IjogbnVsbCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFsKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjogIkFsbG93QW55
IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImFyZ3VtZW50cyI6IG51bGwsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImV4dGVuZGVkLWF0dHJpYnV0
ZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyaHMiOiBudWxsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICAgICAgICAgXSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJ0eXBlIjogImFyZ3VtZW50LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJET01TdHJpbmciLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgICAg
ICAgICB9LAotICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAiYSIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiYSIKLSAgICAgICAgICAgICAgICAgICAgfSwK
LSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIm9wdGlvbmFs
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAidmFyaWFkaWMiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0IjogbnVsbCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICJleHRBdHRycyI6IFtdLAotICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUi
OiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXJndW1lbnQtdHlwZSIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJp
ZGxUeXBlIjogIkRPTVN0cmluZyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0
dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAg
ICAgICAibmFtZSI6ICJiIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6
ICJiIgotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICAib3B0aW9uYWwiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICJ2YXJpYWRpYyI6IHRydWUsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVs
dCI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJ0eXBlIjogImFyZ3VtZW50LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJmbG9hdCIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgICAg
IH0sCi0gICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJjIiwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJjIgotICAgICAgICAgICAgICAgICAgICB9Ci0gICAg
ICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAg
ICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJvcGVyYXRpb24i
LAotICAgICAgICAgICAgICAgICJnZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic2V0
dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImRlbGV0ZXIiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAg
ICJ0eXBlIjogInJldHVybi10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBu
dWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjog
InZvaWQiLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAg
ICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiZiIsCi0gICAgICAgICAgICAgICAgImVz
Y2FwZWROYW1lIjogImYiLAotICAgICAgICAgICAgICAgICJhcmd1bWVudHMiOiBbXSwKLSAgICAg
ICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsK
LSAgICAgICAgICAgICAgICAidHlwZSI6ICJvcGVyYXRpb24iLAotICAgICAgICAgICAgICAgICJn
ZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic2V0dGVyIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgImRlbGV0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInJldHVybi10eXBl
IiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAg
ICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogInZvaWQiLAotICAgICAgICAgICAg
ICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAg
ICAgIm5hbWUiOiAiZiIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImYiLAotICAg
ICAgICAgICAgICAgICJhcmd1bWVudHMiOiBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJvcHRpb25hbCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgInZhcmlhZGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVs
dCI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJ0eXBlIjogImFyZ3VtZW50LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJsb25nIiwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAgICAg
fSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjogImEiLAotICAgICAgICAgICAgICAg
ICAgICAgICAgImVzY2FwZWROYW1lIjogImEiCi0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAg
ICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJvcHRpb25hbCI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgInZhcmlhZGljIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAiZGVmYXVsdCI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAiZXh0QXR0cnMiOiBbXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImFyZ3VtZW50LXR5cGUiLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlw
ZSI6ICJET01TdHJpbmciLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6
IFtdCi0gICAgICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICAgICAg
Im5hbWUiOiAiYiIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiYiIK
LSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAg
ICAgICAgICAgICAgICAgIm9wdGlvbmFsIjogdHJ1ZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJ2YXJpYWRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHQiOiBu
dWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10sCi0gICAgICAgICAg
ICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAi
dHlwZSI6ICJhcmd1bWVudC10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2Vu
ZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiRE9NU3RyaW5nIiwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAgICAg
fSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjogImMiLAotICAgICAgICAgICAgICAg
ICAgICAgICAgImVzY2FwZWROYW1lIjogImMiCi0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAg
ICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJvcHRpb25hbCI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgInZhcmlhZGljIjogdHJ1ZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICJkZWZhdWx0IjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJleHRBdHRycyI6IFtdLAotICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBl
IjogImZsb2F0IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQot
ICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJuYW1l
IjogImQiLAotICAgICAgICAgICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImQiCi0gICAg
ICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgICJl
eHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJpbmhlcml0
YW5jZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgfQotXQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL292ZXJyaWRlYnVpbHRpbnMuanNvbiBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC9zeW50YXgvanNvbi9vdmVycmlkZWJ1aWx0aW5zLmpzb24KZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IGU1NGE0NjhlYjk4Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4
L2pzb24vb3ZlcnJpZGVidWlsdGlucy5qc29uCisrKyAvZGV2L251bGwKQEAgLTEsNzMgKzAsMCBA
QAotWwotICAgIHsKLSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUi
OiAiU3RyaW5nTWFwMiIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1i
ZXJzIjogWwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0
ZSIsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJz
dHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpbmhlcml0IjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgInJlYWRvbmx5IjogdHJ1ZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlw
ZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlLXR5cGUiLAotICAg
ICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJu
dWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAidW5zaWduZWQgbG9uZyIsCi0gICAgICAgICAg
ICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAg
ICAgICAibmFtZSI6ICJsZW5ndGgiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJs
ZW5ndGgiLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9LAot
ICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogIm9wZXJhdGlvbiIsCi0gICAg
ICAgICAgICAgICAgImdldHRlciI6IHRydWUsCi0gICAgICAgICAgICAgICAgInNldHRlciI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICJkZWxldGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
InN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6
ICJyZXR1cm4tdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAg
ICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAg
ICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJET01TdHJp
bmciLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAg
IH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAibG9va3VwIiwKLSAgICAgICAgICAgICAgICAi
ZXNjYXBlZE5hbWUiOiAibG9va3VwIiwKLSAgICAgICAgICAgICAgICAiYXJndW1lbnRzIjogWwot
ICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAib3B0aW9uYWwi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ2YXJpYWRpYyI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHQiOiBudWxsLAotICAgICAgICAgICAgICAgICAg
ICAgICAgImV4dEF0dHJzIjogW10sCi0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6
IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImlk
bFR5cGUiOiAiRE9NU3RyaW5nIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0
cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJuYW1lIjogImtleSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUi
OiAia2V5IgotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXSwKLSAgICAg
ICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfQotICAgICAgICBdLAotICAg
ICAgICAiaW5oZXJpdGFuY2UiOiBudWxsLAotICAgICAgICAiZXh0QXR0cnMiOiBbCi0gICAgICAg
ICAgICB7Ci0gICAgICAgICAgICAgICAgIm5hbWUiOiAiT3ZlcnJpZGVCdWlsdGlucyIsCi0gICAg
ICAgICAgICAgICAgImFyZ3VtZW50cyI6IG51bGwsCi0gICAgICAgICAgICAgICAgInR5cGUiOiAi
ZXh0ZW5kZWQtYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAicmhzIjogbnVsbAotICAgICAg
ICAgICAgfQotICAgICAgICBdCi0gICAgfQotXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRh
eC9qc29uL3BhcnRpYWwtaW50ZXJmYWNlLmpzb24gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vcGFy
dGlhbC1pbnRlcmZhY2UuanNvbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDc5MTI2
MmY0NjUuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9wYXJ0aWFsLWlu
dGVyZmFjZS5qc29uCisrKyAvZGV2L251bGwKQEAgLTEsNTUgKzAsMCBAQAotWwotICAgIHsKLSAg
ICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUiOiAiRm9vIiwKLSAgICAg
ICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJlcnMiOiBbCi0gICAgICAgICAgICB7
Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAi
c3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAicmVhZG9u
bHkiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAg
ICAgICAgInR5cGUiOiAiYXR0cmlidXRlLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2Vu
ZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlk
bFR5cGUiOiAiRE9NU3RyaW5nIiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10K
LSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogImJhciIsCi0gICAg
ICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImJhciIsCi0gICAgICAgICAgICAgICAgImV4dEF0
dHJzIjogW10KLSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImluaGVyaXRhbmNl
IjogbnVsbCwKLSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9LAotICAgIHsKLSAgICAgICAg
InR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUiOiAiRm9vIiwKLSAgICAgICAgInBh
cnRpYWwiOiB0cnVlLAotICAgICAgICAibWVtYmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAg
ICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJzdGF0aWMi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJyZWFkb25seSI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAi
dHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjog
bnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6
ICJET01TdHJpbmciLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAg
ICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAicXV1eCIsCi0gICAgICAgICAg
ICAgICAgImVzY2FwZWROYW1lIjogInF1dXgiLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6
IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0g
ICAgfQotXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL3ByaW1pdGl2ZXMuanNv
biBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9wcmltaXRpdmVzLmpzb24KZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IGEyMTYyMjExNDBjLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
c3ludGF4L2pzb24vcHJpbWl0aXZlcy5qc29uCisrKyAvZGV2L251bGwKQEAgLTEsMzE3ICswLDAg
QEAKLVsKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAgICAgICJuYW1l
IjogIlByaW1pdGl2ZXMiLAotICAgICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVt
YmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1
dGUiLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAi
c3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICJyZWFkb25seSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxU
eXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0g
ICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAg
Im51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJib29sZWFuIiwKLSAgICAgICAgICAgICAg
ICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAg
ICJuYW1lIjogInRydXRoIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAidHJ1dGgi
LAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9LAotICAgICAg
ICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAg
ICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICJpbmhlcml0IjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
InJlYWRvbmx5IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAg
ICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZS10eXBlIiwKLSAgICAgICAgICAgICAgICAg
ICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ICAgICJpZGxUeXBlIjogImJ5dGUiLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBb
XQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiY2hhcmFjdGVy
IiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiY2hhcmFjdGVyIiwKLSAgICAgICAg
ICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAg
ICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJzdGF0
aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJyZWFkb25seSI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAg
ICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmlj
IjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlw
ZSI6ICJvY3RldCIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAg
ICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJ2YWx1ZSIsCi0gICAgICAgICAg
ICAgICAgImVzY2FwZWROYW1lIjogInZhbHVlIiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMi
OiBbXQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlw
ZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaW5oZXJp
dCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJyZWFkb25seSI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1
dGUtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAg
ICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlv
biI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJzaG9ydCIsCi0gICAg
ICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAg
ICAgICAgICAgICAibmFtZSI6ICJudW1iZXIiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFt
ZSI6ICJudW1iZXIiLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAg
ICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZSIs
Ci0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJp
bmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpbmhlcml0IjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgInJlYWRvbmx5IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUi
OiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZS10eXBlIiwKLSAgICAg
ICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVs
bGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgICAgICJpZGxUeXBlIjogInVuc2lnbmVkIHNob3J0IiwKLSAgICAgICAgICAg
ICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAg
ICAgICJuYW1lIjogInBvc2l0aXZlIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAi
cG9zaXRpdmUiLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9
LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0g
ICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdp
ZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpbmhlcml0IjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgInJlYWRvbmx5IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7
Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZS10eXBlIiwKLSAgICAgICAg
ICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFi
bGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgICAgICJpZGxUeXBlIjogImxvbmciLAotICAgICAgICAgICAgICAgICAgICAiZXh0
QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAi
YmlnIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiYmlnIiwKLSAgICAgICAgICAg
ICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAg
ICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJzdGF0aWMi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJyZWFkb25seSI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAi
dHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjog
bnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6
ICJ1bnNpZ25lZCBsb25nIiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAg
ICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogImJpZ3Bvc2l0aXZlIiwK
LSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiYmlncG9zaXRpdmUiLAotICAgICAgICAg
ICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAg
ICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInN0YXRp
YyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICJpbmhlcml0IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5Ijog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAg
ICJ0eXBlIjogImF0dHJpYnV0ZS10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMi
OiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBl
IjogImxvbmcgbG9uZyIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAg
ICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJiaWdiaWciLAotICAgICAg
ICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJiaWdiaWciLAotICAgICAgICAgICAgICAgICJleHRB
dHRycyI6IFtdCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAg
ICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJp
bmhlcml0IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5IjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImF0
dHJpYnV0ZS10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAg
ICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAg
InVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogInVuc2lnbmVk
IGxvbmcgbG9uZyIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAg
ICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJiaWdiaWdwb3NpdGl2ZSIsCi0g
ICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImJpZ2JpZ3Bvc2l0aXZlIiwKLSAgICAgICAg
ICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAg
ICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJzdGF0
aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJyZWFkb25seSI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAg
ICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmlj
IjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlw
ZSI6ICJmbG9hdCIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAg
ICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJyZWFsIiwKLSAgICAgICAgICAg
ICAgICAiZXNjYXBlZE5hbWUiOiAicmVhbCIsCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjog
W10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUi
OiAiYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImluaGVyaXQi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAicmVhZG9ubHkiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRl
LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAg
ICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24i
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiZG91YmxlIiwKLSAgICAg
ICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAg
ICAgICAgICAgICJuYW1lIjogImJpZ3JlYWwiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFt
ZSI6ICJiaWdyZWFsIiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAg
ICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUi
LAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3Ry
aW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICJyZWFkb25seSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBl
IjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAg
ICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51
bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJ1bnJlc3RyaWN0ZWQgZmxvYXQiLAotICAgICAg
ICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAg
ICAgICAgICAgIm5hbWUiOiAicmVhbHdpdGhpbmZpbml0eSIsCi0gICAgICAgICAgICAgICAgImVz
Y2FwZWROYW1lIjogInJlYWx3aXRoaW5maW5pdHkiLAotICAgICAgICAgICAgICAgICJleHRBdHRy
cyI6IFtdCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0
eXBlIjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpbmhl
cml0IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5IjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJp
YnV0ZS10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAg
ICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVu
aW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogInVucmVzdHJpY3Rl
ZCBkb3VibGUiLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAg
ICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiYmlncmVhbHdpdGhpbmZpbml0eSIs
Ci0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImJpZ3JlYWx3aXRoaW5maW5pdHkiLAot
ICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9LAotICAgICAgICAg
ICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAg
ICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICJpbmhlcml0IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInJl
YWRvbmx5IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAg
ICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZS10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAg
ImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAg
ICJpZGxUeXBlIjogIkRPTVN0cmluZyIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6
IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJzdHJpbmci
LAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJzdHJpbmciLAotICAgICAgICAgICAg
ICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAg
ICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICJpbmhlcml0IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5IjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0
eXBlIjogImF0dHJpYnV0ZS10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBu
dWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjog
IkJ5dGVTdHJpbmciLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAg
ICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiYnl0ZXMiLAotICAgICAgICAg
ICAgICAgICJlc2NhcGVkTmFtZSI6ICJieXRlcyIsCi0gICAgICAgICAgICAgICAgImV4dEF0dHJz
IjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5
cGUiOiAiYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImluaGVy
aXQiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAicmVhZG9ubHkiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmli
dXRlLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAg
ICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5p
b24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiRGF0ZSIsCi0gICAg
ICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAg
ICAgICAgICAgICAibmFtZSI6ICJkYXRlIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUi
OiAiZGF0ZSIsCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0s
Ci0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAg
ICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lm
aWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAicmVhZG9ubHkiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsK
LSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlLXR5cGUiLAotICAgICAgICAg
ICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJs
ZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAgICAgImlkbFR5cGUiOiAiUmVnRXhwIiwKLSAgICAgICAgICAgICAgICAgICAgImV4
dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjog
InJlZ2V4cCIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogInJlZ2V4cCIsCi0gICAg
ICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAg
ICAgICAgImluaGVyaXRhbmNlIjogbnVsbCwKLSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9
Ci1dCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vcHJvbWlzZS12b2lkLmpzb24g
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vcHJvbWlzZS12b2lkLmpzb24KZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDc2NzY4MzhiODE3Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
c3ludGF4L2pzb24vcHJvbWlzZS12b2lkLmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSwzNiArMCww
IEBACi1bCi0gICAgewotICAgICAgICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFt
ZSI6ICJDYXQiLAotICAgICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6
IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUiLAot
ICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5n
aWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICJyZWFkb25seSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjog
ewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAgICAg
ICAgICAgICAgICAgICJnZW5lcmljIjogIlByb21pc2UiLAotICAgICAgICAgICAgICAgICAgICAi
bnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAgICAg
InR5cGUiOiAicmV0dXJuLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMi
OiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJpZGxUeXBlIjogInZvaWQiLAotICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJz
IjogW10KLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0
dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogIm1l
b3ciLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJtZW93IiwKLSAgICAgICAgICAg
ICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfQotICAgICAgICBdLAotICAgICAgICAi
aW5oZXJpdGFuY2UiOiBudWxsLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0KLV0KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9wcm90b3R5cGVyb290Lmpzb24gYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvc3ludGF4L2pzb24vcHJvdG90eXBlcm9vdC5qc29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCBjZWM3OWZmNjZiNi4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRh
eC9qc29uL3Byb3RvdHlwZXJvb3QuanNvbgorKysgL2Rldi9udWxsCkBAIC0xLDM2ICswLDAgQEAK
LVsKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAgICAgICJuYW1lIjog
Ik5vZGUiLAotICAgICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFsK
LSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAg
ICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZp
ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICJyZWFkb25seSI6IHRydWUsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0g
ICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZS10eXBlIiwKLSAgICAgICAgICAg
ICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgICAgICJpZGxUeXBlIjogInVuc2lnbmVkIHNob3J0IiwKLSAgICAgICAgICAgICAgICAg
ICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJu
YW1lIjogIm5vZGVUeXBlIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAibm9kZVR5
cGUiLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAg
ICAgIF0sCi0gICAgICAgICJpbmhlcml0YW5jZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6
IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJQcm90b3R5cGVSb290
IiwKLSAgICAgICAgICAgICAgICAiYXJndW1lbnRzIjogbnVsbCwKLSAgICAgICAgICAgICAgICAi
dHlwZSI6ICJleHRlbmRlZC1hdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJyaHMiOiBudWxs
Ci0gICAgICAgICAgICB9Ci0gICAgICAgIF0KLSAgICB9Ci1dCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvc3ludGF4L2pzb24vcHV0Zm9yd2FyZHMuanNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9w
dXRmb3J3YXJkcy5qc29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5NTFiM2VmNzE4
Yy4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL3B1dGZvcndhcmRzLmpz
b24KKysrIC9kZXYvbnVsbApAQCAtMSw1NyArMCwwIEBACi1bCi0gICAgewotICAgICAgICAidHlw
ZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFtZSI6ICJQZXJzb24iLAotICAgICAgICAicGFy
dGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAg
ICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJzdGF0aWMi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJyZWFkb25seSI6IHRy
dWUsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0
eXBlIjogImF0dHJpYnV0ZS10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBu
dWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjog
Ik5hbWUiLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAg
ICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAibmFtZSIsCi0gICAgICAgICAgICAgICAg
ImVzY2FwZWROYW1lIjogIm5hbWUiLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFsKLSAg
ICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAiUHV0
Rm9yd2FyZHMiLAotICAgICAgICAgICAgICAgICAgICAgICAgImFyZ3VtZW50cyI6IG51bGwsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJleHRlbmRlZC1hdHRyaWJ1dGUiLAotICAg
ICAgICAgICAgICAgICAgICAgICAgInJocyI6IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAidHlwZSI6ICJpZGVudGlmaWVyIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFs
dWUiOiAiZnVsbCIKLSAgICAgICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAg
ICAgfQotICAgICAgICAgICAgICAgIF0KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0g
ICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAic3Rh
dGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAicmVhZG9ubHki
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAg
ICAgInR5cGUiOiAiYXR0cmlidXRlLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJp
YyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5
cGUiOiAidW5zaWduZWQgc2hvcnQiLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBb
XQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiYWdlIiwKLSAg
ICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiYWdlIiwKLSAgICAgICAgICAgICAgICAiZXh0
QXR0cnMiOiBbXQotICAgICAgICAgICAgfQotICAgICAgICBdLAotICAgICAgICAiaW5oZXJpdGFu
Y2UiOiBudWxsLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0KLV0KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC9zeW50YXgvanNvbi9yZWNvcmQuanNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNv
bi9yZWNvcmQuanNvbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMWJlNTQyN2M3NGQu
LjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9yZWNvcmQuanNvbgorKysg
L2Rldi9udWxsCkBAIC0xLDIyMCArMCwwIEBACi1bCi0gICAgewotICAgICAgICAidHlwZSI6ICJp
bnRlcmZhY2UiLAotICAgICAgICAibmFtZSI6ICJGb28iLAotICAgICAgICAicGFydGlhbCI6IGZh
bHNlLAotICAgICAgICAibWVtYmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAg
ICAidHlwZSI6ICJvcGVyYXRpb24iLAotICAgICAgICAgICAgICAgICJnZXR0ZXIiOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAic2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImRlbGV0
ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7
Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInJldHVybi10eXBlIiwKLSAgICAgICAgICAg
ICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgICAgICJpZGxUeXBlIjogInZvaWQiLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0
cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiZm9v
IiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiZm9vIiwKLSAgICAgICAgICAgICAg
ICAiYXJndW1lbnRzIjogWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICAib3B0aW9uYWwiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ2YXJp
YWRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHQiOiBudWxsLAot
ICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10sCi0gICAgICAgICAgICAgICAg
ICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6
ICJhcmd1bWVudC10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6
ICJzZXF1ZW5jZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJ0eXBlIjogImFyZ3VtZW50LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAiZ2VuZXJpYyI6ICJyZWNvcmQiLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxU
eXBlIjogWwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImFyZ3VtZW50LXR5cGUiLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJC
eXRlU3RyaW5nIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0
QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiYW55IiwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAg
ICAgICAgICAgICAgICAibmFtZSI6ICJwYXJhbSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAi
ZXNjYXBlZE5hbWUiOiAicGFyYW0iCi0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAg
ICAgICBdLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9LAot
ICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogIm9wZXJhdGlvbiIsCi0gICAg
ICAgICAgICAgICAgImdldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzZXR0ZXIiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAiZGVsZXRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUi
OiAicmV0dXJuLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6ICJyZWNvcmQi
LAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogWwot
ICAgICAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0
eXBlIjogInJldHVybi10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJp
YyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiRE9NU3RyaW5nIiwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAgICAgfSwK
LSAgICAgICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAi
dHlwZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVy
aWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IHRydWUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogdHJ1ZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IFsKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiBudWxs
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogImZsb2F0IiwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogbnVsbCwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJET01TdHJpbmciLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAg
ICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICAgICAg
ImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1l
IjogImJhciIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImJhciIsCi0gICAgICAg
ICAgICAgICAgImFyZ3VtZW50cyI6IFtdLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtd
Ci0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJpbmhlcml0YW5jZSI6IG51bGws
Ci0gICAgICAgICJleHRBdHRycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAi
bmFtZSI6ICJDb25zdHJ1Y3RvciIsCi0gICAgICAgICAgICAgICAgImFyZ3VtZW50cyI6IFsKLSAg
ICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIm9wdGlvbmFsIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAidmFyaWFkaWMiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJkZWZhdWx0IjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJleHRBdHRycyI6IFtdLAotICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiAicmVjb3JkIiwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAi
aWRsVHlwZSI6IFsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiVVNWU3RyaW5nIiwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImFyZ3VtZW50LXR5
cGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxs
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogIlVTVlN0cmluZyIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAg
ICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjogImlu
aXQiLAotICAgICAgICAgICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImluaXQiCi0gICAg
ICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgICJ0
eXBlIjogImV4dGVuZGVkLWF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInJocyI6IG51bGwK
LSAgICAgICAgICAgIH0KLSAgICAgICAgXQotICAgIH0sCi0gICAgewotICAgICAgICAidHlwZSI6
ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFtZSI6ICJCYXIiLAotICAgICAgICAicGFydGlhbCI6
IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAg
ICAgICAidHlwZSI6ICJvcGVyYXRpb24iLAotICAgICAgICAgICAgICAgICJnZXR0ZXIiOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAic2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImRl
bGV0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUi
OiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInJldHVybi10eXBlIiwKLSAgICAgICAg
ICAgICAgICAgICAgImdlbmVyaWMiOiAicmVjb3JkIiwKLSAgICAgICAgICAgICAgICAgICAgIm51
bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IFsKLSAgICAgICAgICAgICAgICAgICAgICAgIHsK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBl
IjogIkRPTVN0cmluZyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjog
W10KLSAgICAgICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgICAgICB7
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAicmV0dXJuLXR5cGUiLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlw
ZSI6ICJmbG9hdCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogWwot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAibmFtZSI6ICJYQXR0ciIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAiYXJndW1lbnRzIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJ0eXBlIjogImV4dGVuZGVkLWF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAicmhzIjogbnVsbAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgXQotICAgICAgICAgICAgICAg
ICAgICAgICAgfQotICAgICAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgICAgICAi
ZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUi
OiAiYmFyIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiYmFyIiwKLSAgICAgICAg
ICAgICAgICAiYXJndW1lbnRzIjogW10sCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10K
LSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImluaGVyaXRhbmNlIjogbnVsbCwK
LSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9Ci1dCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
c3ludGF4L2pzb24vcmVnLW9wZXJhdGlvbnMuanNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9y
ZWctb3BlcmF0aW9ucy5qc29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4Nzk1YzU5
ZWM4Ny4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL3JlZy1vcGVyYXRp
b25zLmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSwxNjYgKzAsMCBAQAotWwotICAgIHsKLSAgICAg
ICAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUiOiAiRGltZW5zaW9ucyIsCi0g
ICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJzIjogWwotICAgICAgICAg
ICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAg
ICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICJpbmhlcml0IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInJl
YWRvbmx5IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAg
ICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZS10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAg
ImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAg
ICJpZGxUeXBlIjogInVuc2lnbmVkIGxvbmciLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0
cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAid2lk
dGgiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJ3aWR0aCIsCi0gICAgICAgICAg
ICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAg
ICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAic3RhdGlj
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAicmVhZG9ubHkiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAg
InR5cGUiOiAiYXR0cmlidXRlLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6
IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUi
OiAidW5zaWduZWQgbG9uZyIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0g
ICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJoZWlnaHQiLAotICAg
ICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJoZWlnaHQiLAotICAgICAgICAgICAgICAgICJl
eHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJpbmhlcml0
YW5jZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgfSwKLSAgICB7Ci0gICAg
ICAgICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAgICAgICJuYW1lIjogIkJ1dHRvbiIsCi0gICAg
ICAgICJwYXJ0aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJzIjogWwotICAgICAgICAgICAg
ewotICAgICAgICAgICAgICAgICJ0eXBlIjogIm9wZXJhdGlvbiIsCi0gICAgICAgICAgICAgICAg
ImdldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzZXR0ZXIiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAiZGVsZXRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAicmV0dXJuLXR5
cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAg
ICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiYm9vbGVhbiIsCi0gICAgICAg
ICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAg
ICAgICAgICAibmFtZSI6ICJpc01vdXNlT3ZlciIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWRO
YW1lIjogImlzTW91c2VPdmVyIiwKLSAgICAgICAgICAgICAgICAiYXJndW1lbnRzIjogW10sCi0g
ICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAg
ICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAib3BlcmF0aW9uIiwKLSAgICAgICAgICAgICAg
ICAiZ2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInNldHRlciI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICJkZWxldGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJyZXR1cm4t
dHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAg
ICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJ2b2lkIiwKLSAgICAgICAg
ICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAg
ICAgICAgICJuYW1lIjogInNldERpbWVuc2lvbnMiLAotICAgICAgICAgICAgICAgICJlc2NhcGVk
TmFtZSI6ICJzZXREaW1lbnNpb25zIiwKLSAgICAgICAgICAgICAgICAiYXJndW1lbnRzIjogWwot
ICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAib3B0aW9uYWwi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ2YXJpYWRpYyI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHQiOiBudWxsLAotICAgICAgICAgICAgICAgICAg
ICAgICAgImV4dEF0dHJzIjogW10sCi0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6
IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImlk
bFR5cGUiOiAiRGltZW5zaW9ucyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0
dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAg
ICAgICAibmFtZSI6ICJzaXplIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJlc2NhcGVkTmFt
ZSI6ICJzaXplIgotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXSwKLSAg
ICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAg
IHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJvcGVyYXRpb24iLAotICAgICAgICAgICAgICAg
ICJnZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic2V0dGVyIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgImRlbGV0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RhdGljIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInJldHVybi10
eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAg
ICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogInZvaWQiLAotICAgICAgICAg
ICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAg
ICAgICAgIm5hbWUiOiAic2V0RGltZW5zaW9ucyIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWRO
YW1lIjogInNldERpbWVuc2lvbnMiLAotICAgICAgICAgICAgICAgICJhcmd1bWVudHMiOiBbCi0g
ICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJvcHRpb25hbCI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgInZhcmlhZGljIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdCI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAiZXh0QXR0cnMiOiBbXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjog
ewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImFyZ3VtZW50LXR5cGUiLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRs
VHlwZSI6ICJ1bnNpZ25lZCBsb25nIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0
QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICJuYW1lIjogIndpZHRoIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJlc2NhcGVk
TmFtZSI6ICJ3aWR0aCIKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAg
ICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIm9wdGlvbmFsIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAidmFyaWFkaWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJkZWZhdWx0IjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6
IFtdLAotICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgInR5cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogInVuc2lnbmVk
IGxvbmciLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAg
ICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAi
aGVpZ2h0IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJoZWlnaHQi
Ci0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAg
ICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJp
bmhlcml0YW5jZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgfQotXQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL3JlcGxhY2VhYmxlLmpzb24gYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvc3ludGF4L2pzb24vcmVwbGFjZWFibGUuanNvbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMTMzODkxZDQ2MWQuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNv
bi9yZXBsYWNlYWJsZS5qc29uCisrKyAvZGV2L251bGwKQEAgLTEsNTYgKzAsMCBAQAotWwotICAg
IHsKLSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUiOiAiQ291bnRl
ciIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJzIjogWwotICAg
ICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0gICAgICAg
ICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICJpbmhlcml0IjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgInJlYWRvbmx5IjogdHJ1ZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAg
ICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlLXR5cGUiLAotICAgICAgICAgICAgICAg
ICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAgICAgImlkbFR5cGUiOiAidW5zaWduZWQgbG9uZyIsCi0gICAgICAgICAgICAgICAgICAgICJl
eHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6
ICJ2YWx1ZSIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogInZhbHVlIiwKLSAgICAg
ICAgICAgICAgICAiZXh0QXR0cnMiOiBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAg
ICAgICAgICAgICAgICAgICJuYW1lIjogIlJlcGxhY2VhYmxlIiwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICJhcmd1bWVudHMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUi
OiAiZXh0ZW5kZWQtYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJyaHMiOiBu
dWxsCi0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdCi0gICAgICAgICAg
ICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogIm9wZXJhdGlvbiIs
Ci0gICAgICAgICAgICAgICAgImdldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzZXR0
ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiZGVsZXRlciI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAg
InR5cGUiOiAicmV0dXJuLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51
bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAi
dm9pZCIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAg
ICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJpbmNyZW1lbnQiLAotICAgICAgICAgICAg
ICAgICJlc2NhcGVkTmFtZSI6ICJpbmNyZW1lbnQiLAotICAgICAgICAgICAgICAgICJhcmd1bWVu
dHMiOiBbXSwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfQot
ICAgICAgICBdLAotICAgICAgICAiaW5oZXJpdGFuY2UiOiBudWxsLAotICAgICAgICAiZXh0QXR0
cnMiOiBbXQotICAgIH0KLV0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9zZXF1
ZW5jZS5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL3NlcXVlbmNlLmpzb24KZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IGVhZDBjZGQ4NjJjLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvc3ludGF4L2pzb24vc2VxdWVuY2UuanNvbgorKysgL2Rldi9udWxsCkBAIC0xLDE0MiAr
MCwwIEBACi1bCi0gICAgewotICAgICAgICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAi
bmFtZSI6ICJDYW52YXMiLAotICAgICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVt
YmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJvcGVyYXRp
b24iLAotICAgICAgICAgICAgICAgICJnZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAi
c2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImRlbGV0ZXIiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVy
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAg
ICAgICJ0eXBlIjogInJldHVybi10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMi
OiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBl
IjogInZvaWQiLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAg
ICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiZHJhd1BvbHlnb24iLAotICAgICAg
ICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJkcmF3UG9seWdvbiIsCi0gICAgICAgICAgICAgICAg
ImFyZ3VtZW50cyI6IFsKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAg
ICAgICAgIm9wdGlvbmFsIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAidmFyaWFk
aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0IjogbnVsbCwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdLAotICAgICAgICAgICAgICAgICAg
ICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAi
YXJndW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiAi
c2VxdWVuY2UiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVu
aW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjog
ImZsb2F0IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10K
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAg
ICAgICAgICAgICAgICAgIm5hbWUiOiAiY29vcmRpbmF0ZXMiLAotICAgICAgICAgICAgICAgICAg
ICAgICAgImVzY2FwZWROYW1lIjogImNvb3JkaW5hdGVzIgotICAgICAgICAgICAgICAgICAgICB9
Ci0gICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAg
ICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJvcGVy
YXRpb24iLAotICAgICAgICAgICAgICAgICJnZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAic2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImRlbGV0ZXIiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lm
aWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAg
ICAgICAgICJ0eXBlIjogInJldHVybi10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVy
aWMiOiAic2VxdWVuY2UiLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAg
ICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAicmV0dXJuLXR5
cGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAg
ICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogImZs
b2F0IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAg
ICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAg
ICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJnZXRJbmZsZWN0aW9uUG9pbnRz
IiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiZ2V0SW5mbGVjdGlvblBvaW50cyIs
Ci0gICAgICAgICAgICAgICAgImFyZ3VtZW50cyI6IFtdLAotICAgICAgICAgICAgICAgICJleHRB
dHRycyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJpbmhlcml0YW5j
ZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgfSwKLSAgICB7Ci0gICAgICAg
ICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAgICAgICJuYW1lIjogIkkiLAotICAgICAgICAicGFy
dGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAg
ICAgICAgICAgICAidHlwZSI6ICJvcGVyYXRpb24iLAotICAgICAgICAgICAgICAgICJnZXR0ZXIi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgImRlbGV0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlk
bFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInJldHVybi10eXBlIiwKLSAg
ICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAi
bnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogInZvaWQiLAotICAgICAgICAgICAgICAgICAg
ICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5h
bWUiOiAiZjEiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJmMSIsCi0gICAgICAg
ICAgICAgICAgImFyZ3VtZW50cyI6IFsKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAg
ICAgICAgICAgICAgICAgIm9wdGlvbmFsIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAidmFyaWFkaWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0Ijog
bnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdLAotICAgICAgICAg
ICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
InR5cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImdl
bmVyaWMiOiAic2VxdWVuY2UiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJs
ZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJp
ZGxUeXBlIjogImxvbmciLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0
cnMiOiBbCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAiWEF0dHIiLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJhcmd1bWVudHMiOiBudWxsLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImV4dGVuZGVkLWF0dHJp
YnV0ZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInJocyI6IG51
bGwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAg
ICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJhcmciLAotICAgICAg
ICAgICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImFyZyIKLSAgICAgICAgICAgICAgICAg
ICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10K
LSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImluaGVyaXRhbmNlIjogbnVsbCwK
LSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9Ci1dCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
c3ludGF4L2pzb24vc2V0bGlrZS5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL3NldGxpa2Uu
anNvbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDg1ODM1MzhmZDAuLjAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9zZXRsaWtlLmpzb24KKysrIC9kZXYvbnVs
bApAQCAtMSw4MSArMCwwIEBACi1bCi0gICAgewotICAgICAgICAidHlwZSI6ICJpbnRlcmZhY2Ui
LAotICAgICAgICAibmFtZSI6ICJTZXRMaWtlIiwKLSAgICAgICAgInBhcnRpYWwiOiBmYWxzZSwK
LSAgICAgICAgIm1lbWJlcnMiOiBbCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5
cGUiOiAic2V0bGlrZSIsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiBbCi0gICAgICAgICAg
ICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogbnVsbCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJsb25nIiwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgICAgIH0K
LSAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgICJyZWFkb25seSI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0s
Ci0gICAgICAgICJpbmhlcml0YW5jZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0g
ICAgfSwKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAgICAgICJuYW1l
IjogIlJlYWRPbmx5U2V0TGlrZSIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0gICAgICAg
ICJtZW1iZXJzIjogWwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogInNl
dGxpa2UiLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogWwotICAgICAgICAgICAgICAgICAg
ICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6IG51bGwsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAibnVs
bGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAibG9uZyIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAg
ICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICAicmVhZG9ubHkiOiB0cnVlLAotICAgICAgICAg
ICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAg
ICJpbmhlcml0YW5jZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgfSwKLSAg
ICB7Ci0gICAgICAgICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAgICAgICJuYW1lIjogIlNldExp
a2VFeHQiLAotICAgICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFsK
LSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJzZXRsaWtlIiwKLSAgICAg
ICAgICAgICAgICAiaWRsVHlwZSI6IFsKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAg
ICAgICAgICAgICAgICAgInR5cGUiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgImdl
bmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICJpZGxUeXBlIjogImxvbmciLAotICAgICAgICAgICAgICAgICAgICAgICAgImV4
dEF0dHJzIjogWwotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIm5hbWUiOiAiWEF0dHIiLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAiYXJndW1lbnRzIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgInR5cGUiOiAiZXh0ZW5kZWQtYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgInJocyI6IG51bGwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB9Ci0g
ICAgICAgICAgICAgICAgICAgICAgICBdCi0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAg
ICAgICAgICBdLAotICAgICAgICAgICAgICAgICJyZWFkb25seSI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAg
ICJpbmhlcml0YW5jZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgfQotXQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL3N0YXRpYy5qc29uIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3N5bnRheC9qc29uL3N0YXRpYy5qc29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBk
MGRkZjM1ZWM2ZS4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL3N0YXRp
Yy5qc29uCisrKyAvZGV2L251bGwKQEAgLTEsMTYwICswLDAgQEAKLVsKLSAgICB7Ci0gICAgICAg
ICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAgICAgICJuYW1lIjogIlBvaW50IiwKLSAgICAgICAg
InBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJlcnMiOiBbXSwKLSAgICAgICAgImluaGVy
aXRhbmNlIjogbnVsbCwKLSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9LAotICAgIHsKLSAg
ICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUiOiAiQ2lyY2xlIiwKLSAg
ICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJlcnMiOiBbCi0gICAgICAgICAg
ICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAg
ICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAicmVh
ZG9ubHkiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAg
ICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAi
Z2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAot
ICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAg
ImlkbFR5cGUiOiAiZmxvYXQiLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQot
ICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiY3giLAotICAgICAg
ICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJjeCIsCi0gICAgICAgICAgICAgICAgImV4dEF0dHJz
IjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5
cGUiOiAiYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImluaGVy
aXQiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAicmVhZG9ubHkiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmli
dXRlLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAg
ICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5p
b24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiZmxvYXQiLAotICAg
ICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAg
ICAgICAgICAgICAgIm5hbWUiOiAiY3kiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6
ICJjeSIsCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0g
ICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAgICAg
ICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVy
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAicmVhZG9ubHkiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAg
ICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlLXR5cGUiLAotICAgICAgICAgICAg
ICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAgICAgImlkbFR5cGUiOiAiZmxvYXQiLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0
cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAicmFk
aXVzIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAicmFkaXVzIiwKLSAgICAgICAg
ICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAg
ICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJzdGF0
aWMiOiB0cnVlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICJpbmhlcml0IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5Ijog
dHJ1ZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAg
InR5cGUiOiAiYXR0cmlidXRlLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6
IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUi
OiAibG9uZyIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAg
ICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJ0cmlhbmd1bGF0aW9uQ291bnQiLAot
ICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJ0cmlhbmd1bGF0aW9uQ291bnQiLAotICAg
ICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAg
ewotICAgICAgICAgICAgICAgICJ0eXBlIjogIm9wZXJhdGlvbiIsCi0gICAgICAgICAgICAgICAg
ImdldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzZXR0ZXIiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAiZGVsZXRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiB0
cnVlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJyZXR1cm4tdHlw
ZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAg
ICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJQb2ludCIsCi0gICAgICAgICAg
ICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAg
ICAgICAibmFtZSI6ICJ0cmlhbmd1bGF0ZSIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1l
IjogInRyaWFuZ3VsYXRlIiwKLSAgICAgICAgICAgICAgICAiYXJndW1lbnRzIjogWwotICAgICAg
ICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAib3B0aW9uYWwiOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ2YXJpYWRpYyI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgImRlZmF1bHQiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAg
ImV4dEF0dHJzIjogW10sCi0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBlIiwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUi
OiAiQ2lyY2xlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQot
ICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJuYW1l
IjogImMxIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJjMSIKLSAg
ICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAg
ICAgICAgICAgICAgIm9wdGlvbmFsIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAi
dmFyaWFkaWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0IjogbnVs
bCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdLAotICAgICAgICAgICAg
ICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5
cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVy
aWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogIkNpcmNsZSIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgICAgIH0sCi0g
ICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJjMiIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAiZXNjYXBlZE5hbWUiOiAiYzIiCi0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAg
ICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJvcHRpb25hbCI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICAgICAgICAgInZhcmlhZGljIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAiZGVmYXVsdCI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAi
ZXh0QXR0cnMiOiBbXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImFyZ3VtZW50LXR5cGUiLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6
ICJDaXJjbGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0g
ICAgICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUi
OiAiYzMiLAotICAgICAgICAgICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImMzIgotICAg
ICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICAi
ZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfQotICAgICAgICBdLAotICAgICAgICAiaW5oZXJp
dGFuY2UiOiBudWxsLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0KLV0KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9zdHJpbmdpZmllci1hdHRyaWJ1dGUuanNvbiBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC9zeW50YXgvanNvbi9zdHJpbmdpZmllci1hdHRyaWJ1dGUuanNvbgpkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggZGJjYTdmMTc5MDIuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC9zeW50YXgvanNvbi9zdHJpbmdpZmllci1hdHRyaWJ1dGUuanNvbgorKysgL2Rldi9udWxs
CkBAIC0xLDU0ICswLDAgQEAKLVsKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImludGVyZmFjZSIs
Ci0gICAgICAgICJuYW1lIjogIlN0dWRlbnQiLAotICAgICAgICAicGFydGlhbCI6IGZhbHNlLAot
ICAgICAgICAibWVtYmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlw
ZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaW5oZXJp
dCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJyZWFkb25seSI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1
dGUtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAg
ICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlv
biI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJ1bnNpZ25lZCBsb25n
IiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9
LAotICAgICAgICAgICAgICAgICJuYW1lIjogImlkIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBl
ZE5hbWUiOiAiaWQiLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAg
ICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZSIs
Ci0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJp
bmdpZmllciI6IHRydWUsCi0gICAgICAgICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAicmVhZG9ubHkiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6
IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlLXR5cGUiLAotICAgICAg
ICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxs
YWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiRE9NU3RyaW5nIiwKLSAgICAgICAgICAgICAgICAg
ICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJu
YW1lIjogIm5hbWUiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJuYW1lIiwKLSAg
ICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfQotICAgICAgICBdLAot
ICAgICAgICAiaW5oZXJpdGFuY2UiOiBudWxsLAotICAgICAgICAiZXh0QXR0cnMiOiBbCi0gICAg
ICAgICAgICB7Ci0gICAgICAgICAgICAgICAgIm5hbWUiOiAiQ29uc3RydWN0b3IiLAotICAgICAg
ICAgICAgICAgICJhcmd1bWVudHMiOiBudWxsLAotICAgICAgICAgICAgICAgICJ0eXBlIjogImV4
dGVuZGVkLWF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInJocyI6IG51bGwKLSAgICAgICAg
ICAgIH0KLSAgICAgICAgXQotICAgIH0KLV0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgv
anNvbi9zdHJpbmdpZmllci1jdXN0b20uanNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9zdHJp
bmdpZmllci1jdXN0b20uanNvbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzEzZGY2
ZWYxMGMuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9zdHJpbmdpZmll
ci1jdXN0b20uanNvbgorKysgL2Rldi9udWxsCkBAIC0xLDkyICswLDAgQEAKLVsKLSAgICB7Ci0g
ICAgICAgICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAgICAgICJuYW1lIjogIlN0dWRlbnQiLAot
ICAgICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFsKLSAgICAgICAg
ICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAg
ICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJy
ZWFkb25seSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAg
ICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAg
ICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAg
ICAiaWRsVHlwZSI6ICJ1bnNpZ25lZCBsb25nIiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0
dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogImlk
IiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiaWQiLAotICAgICAgICAgICAgICAg
ICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAg
ICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICJpbmhlcml0IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5IjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBl
IjogImF0dHJpYnV0ZS10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxs
LAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiB0cnVlLAotICAgICAgICAgICAgICAg
ICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiRE9N
U3RyaW5nIiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAg
ICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogImZhbWlseU5hbWUiLAotICAgICAgICAg
ICAgICAgICJlc2NhcGVkTmFtZSI6ICJmYW1pbHlOYW1lIiwKLSAgICAgICAgICAgICAgICAiZXh0
QXR0cnMiOiBbXQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAg
ICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAi
aW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJyZWFkb25seSI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJh
dHRyaWJ1dGUtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAg
ICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAg
ICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJET01TdHJp
bmciLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAg
IH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiZ2l2ZW5OYW1lIiwKLSAgICAgICAgICAgICAg
ICAiZXNjYXBlZE5hbWUiOiAiZ2l2ZW5OYW1lIiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMi
OiBbXQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlw
ZSI6ICJvcGVyYXRpb24iLAotICAgICAgICAgICAgICAgICJnZXR0ZXIiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAic2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImRlbGV0ZXIiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
InN0cmluZ2lmaWVyIjogdHJ1ZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAg
ICAgICAgICAgICAgICAgInR5cGUiOiAicmV0dXJuLXR5cGUiLAotICAgICAgICAgICAgICAgICAg
ICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAg
ICAgImlkbFR5cGUiOiAiRE9NU3RyaW5nIiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJz
IjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogbnVsbCwK
LSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiBudWxsLAotICAgICAgICAgICAgICAgICJh
cmd1bWVudHMiOiBbXSwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAg
ICAgfQotICAgICAgICBdLAotICAgICAgICAiaW5oZXJpdGFuY2UiOiBudWxsLAotICAgICAgICAi
ZXh0QXR0cnMiOiBbCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgIm5hbWUiOiAiQ29u
c3RydWN0b3IiLAotICAgICAgICAgICAgICAgICJhcmd1bWVudHMiOiBudWxsLAotICAgICAgICAg
ICAgICAgICJ0eXBlIjogImV4dGVuZGVkLWF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInJo
cyI6IG51bGwKLSAgICAgICAgICAgIH0KLSAgICAgICAgXQotICAgIH0KLV0KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC9zeW50YXgvanNvbi9zdHJpbmdpZmllci5qc29uIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRh
eC9qc29uL3N0cmluZ2lmaWVyLmpzb24KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGE0
ZjIzZTAzZjY2Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vc3RyaW5n
aWZpZXIuanNvbgorKysgL2Rldi9udWxsCkBAIC0xLDQ5ICswLDAgQEAKLVsKLSAgICB7Ci0gICAg
ICAgICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAgICAgICJuYW1lIjogIkEiLAotICAgICAgICAi
cGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAg
ICAgICAgICAgICAgICAidHlwZSI6ICJvcGVyYXRpb24iLAotICAgICAgICAgICAgICAgICJnZXR0
ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgImRlbGV0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogdHJ1ZSwKLSAgICAgICAgICAgICAgICAi
aWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAicmV0dXJuLXR5cGUiLAot
ICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAg
ICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiRE9NU3RyaW5nIiwKLSAgICAgICAgICAg
ICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAg
ICAgICJuYW1lIjogbnVsbCwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiBudWxsLAot
ICAgICAgICAgICAgICAgICJhcmd1bWVudHMiOiBbXSwKLSAgICAgICAgICAgICAgICAiZXh0QXR0
cnMiOiBbXQotICAgICAgICAgICAgfQotICAgICAgICBdLAotICAgICAgICAiaW5oZXJpdGFuY2Ui
OiBudWxsLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0sCi0gICAgewotICAgICAgICAi
dHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFtZSI6ICJCIiwKLSAgICAgICAgInBhcnRp
YWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJlcnMiOiBbCi0gICAgICAgICAgICB7Ci0gICAgICAg
ICAgICAgICAgInR5cGUiOiAib3BlcmF0aW9uIiwKLSAgICAgICAgICAgICAgICAiZ2V0dGVyIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgInNldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICJkZWxldGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IHRydWUsCi0gICAgICAgICAgICAgICAgImV4dEF0
dHJzIjogW10KLSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImluaGVyaXRhbmNl
IjogbnVsbCwKLSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9Ci1dCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3Qvc3ludGF4L2pzb24vdHJlYXRhc251bGwuanNvbiBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgv
anNvbi90cmVhdGFzbnVsbC5qc29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkNTE1
NmJjYjRmMS4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL3RyZWF0YXNu
dWxsLmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSw5NCArMCwwIEBACi1bCi0gICAgewotICAgICAg
ICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFtZSI6ICJEb2ciLAotICAgICAgICAi
cGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAg
ICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJzdGF0
aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJyZWFkb25seSI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAg
ICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmlj
IjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlw
ZSI6ICJET01TdHJpbmciLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAg
ICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAibmFtZSIsCi0gICAgICAg
ICAgICAgICAgImVzY2FwZWROYW1lIjogIm5hbWUiLAotICAgICAgICAgICAgICAgICJleHRBdHRy
cyI6IFtdCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJ0
eXBlIjogImF0dHJpYnV0ZSIsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpbmhl
cml0IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInJlYWRvbmx5IjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJp
YnV0ZS10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAg
ICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVu
aW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogIkRPTVN0cmluZyIs
Ci0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwK
LSAgICAgICAgICAgICAgICAibmFtZSI6ICJvd25lciIsCi0gICAgICAgICAgICAgICAgImVzY2Fw
ZWROYW1lIjogIm93bmVyIiwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAg
ICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJvcGVyYXRp
b24iLAotICAgICAgICAgICAgICAgICJnZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAi
c2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImRlbGV0ZXIiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVy
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAg
ICAgICJ0eXBlIjogInJldHVybi10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMi
OiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBl
IjogImJvb2xlYW4iLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAg
ICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiaXNNZW1iZXJPZkJyZWVkIiwK
LSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAiaXNNZW1iZXJPZkJyZWVkIiwKLSAgICAg
ICAgICAgICAgICAiYXJndW1lbnRzIjogWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAg
ICAgICAgICAgICAgICAgICAib3B0aW9uYWwiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJ2YXJpYWRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHQi
OiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogWwotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5h
bWUiOiAiVHJlYXROdWxsQXMiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYXJn
dW1lbnRzIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAi
ZXh0ZW5kZWQtYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInJo
cyI6IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImlkZW50
aWZpZXIiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIjogIkVt
cHR5U3RyaW5nIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICAgICAgICAgXSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICJ0eXBlIjogImFyZ3VtZW50LXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJn
ZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJET01TdHJpbmciLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgICAgICAg
ICB9LAotICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAiYnJlZWROYW1lIiwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJicmVlZE5hbWUiCi0gICAgICAgICAg
ICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgICJleHRBdHRy
cyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJpbmhlcml0YW5jZSI6
IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgfQotXQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L3N5bnRheC9qc29uL3RyZWF0YXN1bmRlZmluZWQuanNvbiBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50
YXgvanNvbi90cmVhdGFzdW5kZWZpbmVkLmpzb24KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDFlOTgzMTVkOWYxLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24v
dHJlYXRhc3VuZGVmaW5lZC5qc29uCisrKyAvZGV2L251bGwKQEAgLTEsOTQgKzAsMCBAQAotWwot
ICAgIHsKLSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUiOiAiQ2F0
IiwKLSAgICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJlcnMiOiBbCi0gICAg
ICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAgICAgICAg
ICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAicmVhZG9ubHkiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAg
ICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlLXR5cGUiLAotICAgICAgICAgICAgICAg
ICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAgICAgImlkbFR5cGUiOiAiRE9NU3RyaW5nIiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0
dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogIm5h
bWUiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJuYW1lIiwKLSAgICAgICAgICAg
ICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAg
ICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJzdGF0aWMi
OiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJyZWFkb25seSI6IGZh
bHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAi
dHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjog
bnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6
ICJET01TdHJpbmciLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAg
ICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAib3duZXIiLAotICAgICAgICAg
ICAgICAgICJlc2NhcGVkTmFtZSI6ICJvd25lciIsCi0gICAgICAgICAgICAgICAgImV4dEF0dHJz
IjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5
cGUiOiAib3BlcmF0aW9uIiwKLSAgICAgICAgICAgICAgICAiZ2V0dGVyIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgInNldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJkZWxldGVyIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAg
ICAgICAgICAgICAgICAgICAidHlwZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAgICAgICAgICAgICAg
ICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICAgICAiaWRsVHlwZSI6ICJib29sZWFuIiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJz
IjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogImlzTWVt
YmVyT2ZCcmVlZCIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImlzTWVtYmVyT2ZC
cmVlZCIsCi0gICAgICAgICAgICAgICAgImFyZ3VtZW50cyI6IFsKLSAgICAgICAgICAgICAgICAg
ICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIm9wdGlvbmFsIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAidmFyaWFkaWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJkZWZhdWx0IjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6
IFsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJuYW1lIjogIlRyZWF0VW5kZWZpbmVkQXMiLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAiYXJndW1lbnRzIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgInR5cGUiOiAiZXh0ZW5kZWQtYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgInJocyI6IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJ0eXBlIjogImlkZW50aWZpZXIiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgInZhbHVlIjogIkVtcHR5U3RyaW5nIgotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB9Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICAg
ICAgICAgXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImFyZ3VtZW50LXR5cGUiLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5p
b24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJET01T
dHJpbmciLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAg
ICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAi
YnJlZWROYW1lIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJicmVl
ZE5hbWUiCi0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdLAotICAgICAg
ICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAg
ICAgICJpbmhlcml0YW5jZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgfQot
XQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL3R5cGVkZWYtdW5pb24uanNvbiBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC9zeW50YXgvanNvbi90eXBlZGVmLXVuaW9uLmpzb24KZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDMxZTI0MTk4YWIxLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
c3ludGF4L2pzb24vdHlwZWRlZi11bmlvbi5qc29uCisrKyAvZGV2L251bGwKQEAgLTEsNDggKzAs
MCBAQAotWwotICAgIHsKLSAgICAgICAgInR5cGUiOiAidHlwZWRlZiIsCi0gICAgICAgICJpZGxU
eXBlIjogewotICAgICAgICAgICAgInR5cGUiOiAidHlwZWRlZi10eXBlIiwKLSAgICAgICAgICAg
ICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAg
ICAgICAgInVuaW9uIjogdHJ1ZSwKLSAgICAgICAgICAgICJpZGxUeXBlIjogWwotICAgICAgICAg
ICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiBudWxsLAotICAgICAgICAgICAg
ICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAgICAgImlkbFR5cGUiOiAiSW1hZ2VEYXRhIiwKLSAgICAgICAgICAgICAgICAgICAgImV4
dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgIHsKLSAgICAg
ICAgICAgICAgICAgICAgInR5cGUiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJp
YyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5
cGUiOiAiSFRNTEltYWdlRWxlbWVudCIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6
IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAg
ICAgICAgICJ0eXBlIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxs
LAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogIkhU
TUxDYW52YXNFbGVtZW50IiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAg
ICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAg
InR5cGUiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAg
ICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAi
dW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiSFRNTFZpZGVv
RWxlbWVudCIsCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAg
ICAgICAgfQotICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAg
ICAgIH0sCi0gICAgICAgICJuYW1lIjogIlRleEltYWdlU291cmNlIiwKLSAgICAgICAgImV4dEF0
dHJzIjogW10KLSAgICB9Ci1dCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vdHlw
ZWRlZi5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL3R5cGVkZWYuanNvbgpkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMzVmOTg4ZTcyMWUuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC9zeW50YXgvanNvbi90eXBlZGVmLmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSwyMzMgKzAs
MCBAQAotWwotICAgIHsKLSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5h
bWUiOiAiUG9pbnQiLAotICAgICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVy
cyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUi
LAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3Ry
aW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICJyZWFkb25seSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBl
IjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAg
ICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51
bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJmbG9hdCIsCi0gICAgICAgICAgICAgICAgICAg
ICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFt
ZSI6ICJ4IiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAieCIsCi0gICAgICAgICAg
ICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAg
ICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAic3RhdGlj
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAicmVhZG9ubHkiOiBm
YWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAg
InR5cGUiOiAiYXR0cmlidXRlLXR5cGUiLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6
IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUi
OiAiZmxvYXQiLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAg
ICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAieSIsCi0gICAgICAgICAgICAgICAg
ImVzY2FwZWROYW1lIjogInkiLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAg
ICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJpbmhlcml0YW5jZSI6IG51bGwsCi0gICAg
ICAgICJleHRBdHRycyI6IFtdCi0gICAgfSwKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogInR5cGVk
ZWYiLAotICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICJ0eXBlIjogInR5cGVkZWYt
dHlwZSIsCi0gICAgICAgICAgICAiZ2VuZXJpYyI6ICJzZXF1ZW5jZSIsCi0gICAgICAgICAgICAi
bnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAg
ICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAidHlwZWRlZi10eXBlIiwK
LSAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgIm51bGxh
YmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgImlkbFR5cGUiOiAiUG9pbnQiLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtd
Ci0gICAgICAgICAgICB9LAotICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgfSwK
LSAgICAgICAgIm5hbWUiOiAiUG9pbnRTZXF1ZW5jZSIsCi0gICAgICAgICJleHRBdHRycyI6IFtd
Ci0gICAgfSwKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAgICAgICJu
YW1lIjogIlJlY3QiLAotICAgICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVtYmVy
cyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUi
LAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3Ry
aW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaW5oZXJpdCI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICJyZWFkb25seSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBl
IjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAg
ICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51
bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJQb2ludCIsCi0gICAgICAgICAgICAgICAgICAg
ICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAibmFt
ZSI6ICJ0b3BsZWZ0IiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAidG9wbGVmdCIs
Ci0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAg
ICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAgICAgICAgICAg
ICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAi
cmVhZG9ubHkiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAg
ICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlLXR5cGUiLAotICAgICAgICAgICAgICAgICAg
ICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAg
ICAgImlkbFR5cGUiOiAiUG9pbnQiLAotICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBb
XQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAiYm90dG9tcmln
aHQiLAotICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6ICJib3R0b21yaWdodCIsCi0gICAg
ICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAg
ICAgICAgImluaGVyaXRhbmNlIjogbnVsbCwKLSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9
LAotICAgIHsKLSAgICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIiwKLSAgICAgICAgIm5hbWUiOiAi
V2lkZ2V0IiwKLSAgICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJlcnMiOiBb
Ci0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAg
ICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lm
aWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAicmVhZG9ubHkiOiB0cnVlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewot
ICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRyaWJ1dGUtdHlwZSIsCi0gICAgICAgICAg
ICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxl
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICAgICAiaWRsVHlwZSI6ICJSZWN0IiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0
dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogImJv
dW5kcyIsCi0gICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImJvdW5kcyIsCi0gICAgICAg
ICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0g
ICAgICAgICAgICAgICAgInR5cGUiOiAib3BlcmF0aW9uIiwKLSAgICAgICAgICAgICAgICAiZ2V0
dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInNldHRlciI6IGZhbHNlLAotICAgICAgICAg
ICAgICAgICJkZWxldGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJyZXR1cm4tdHlwZSIs
Ci0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAg
ICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJib29sZWFuIiwKLSAgICAgICAgICAg
ICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAg
ICAgICJuYW1lIjogInBvaW50V2l0aGluQm91bmRzIiwKLSAgICAgICAgICAgICAgICAiZXNjYXBl
ZE5hbWUiOiAicG9pbnRXaXRoaW5Cb3VuZHMiLAotICAgICAgICAgICAgICAgICJhcmd1bWVudHMi
OiBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJvcHRp
b25hbCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgInZhcmlhZGljIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdCI6IG51bGwsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAiZXh0QXR0cnMiOiBbXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJpZGxU
eXBlIjogewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImFyZ3VtZW50LXR5
cGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAiaWRsVHlwZSI6ICJQb2ludCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0
dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAg
ICAgICAibmFtZSI6ICJwIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6
ICJwIgotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXSwKLSAgICAgICAg
ICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAg
ICAgICAgICAgICAgICAidHlwZSI6ICJvcGVyYXRpb24iLAotICAgICAgICAgICAgICAgICJnZXR0
ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgImRlbGV0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInJldHVybi10eXBlIiwK
LSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAg
ICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogImJvb2xlYW4iLAotICAgICAgICAgICAg
ICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAg
ICAgIm5hbWUiOiAiYWxsUG9pbnRzV2l0aGluQm91bmRzIiwKLSAgICAgICAgICAgICAgICAiZXNj
YXBlZE5hbWUiOiAiYWxsUG9pbnRzV2l0aGluQm91bmRzIiwKLSAgICAgICAgICAgICAgICAiYXJn
dW1lbnRzIjogWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICAib3B0aW9uYWwiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ2YXJpYWRpYyI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHQiOiBudWxsLAotICAgICAg
ICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10sCi0gICAgICAgICAgICAgICAgICAgICAg
ICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1
bWVudC10eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGws
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgImlkbFR5cGUiOiAiUG9pbnRTZXF1ZW5jZSIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgICAgIH0sCi0gICAg
ICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJwcyIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAiZXNjYXBlZE5hbWUiOiAicHMiCi0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAg
ICAgICBdLAotICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9Ci0g
ICAgICAgIF0sCi0gICAgICAgICJpbmhlcml0YW5jZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRy
cyI6IFtdCi0gICAgfSwKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogInR5cGVkZWYiLAotICAgICAg
ICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICJ0eXBlIjogInR5cGVkZWYtdHlwZSIsCi0gICAg
ICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwK
LSAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgImlkbFR5cGUiOiAib2N0
ZXQiLAotICAgICAgICAgICAgImV4dEF0dHJzIjogWwotICAgICAgICAgICAgICAgIHsKLSAgICAg
ICAgICAgICAgICAgICAgIm5hbWUiOiAiQ2xhbXAiLAotICAgICAgICAgICAgICAgICAgICAiYXJn
dW1lbnRzIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiZXh0ZW5kZWQtYXR0
cmlidXRlIiwKLSAgICAgICAgICAgICAgICAgICAgInJocyI6IG51bGwKLSAgICAgICAgICAgICAg
ICB9Ci0gICAgICAgICAgICBdCi0gICAgICAgIH0sCi0gICAgICAgICJuYW1lIjogInZhbHVlIiwK
LSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9Ci1dCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
c3ludGF4L2pzb24vdHlwZXN1ZmZpeGVzLmpzb24gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vdHlw
ZXN1ZmZpeGVzLmpzb24KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDUyODcwYzIyZjRi
Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vdHlwZXN1ZmZpeGVzLmpz
b24KKysrIC9kZXYvbnVsbApAQCAtMSw1NSArMCwwIEBACi1bCi0gICAgewotICAgICAgICAidHlw
ZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAibmFtZSI6ICJTdWZmaXhlcyIsCi0gICAgICAgICJw
YXJ0aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJzIjogWwotICAgICAgICAgICAgewotICAg
ICAgICAgICAgICAgICJ0eXBlIjogIm9wZXJhdGlvbiIsCi0gICAgICAgICAgICAgICAgImdldHRl
ciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzZXR0ZXIiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAiZGVsZXRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAi
aWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAicmV0dXJuLXR5cGUiLAot
ICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAg
ICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAidm9pZCIsCi0gICAgICAgICAgICAgICAg
ICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAi
bmFtZSI6ICJ0ZXN0IiwKLSAgICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAidGVzdCIsCi0g
ICAgICAgICAgICAgICAgImFyZ3VtZW50cyI6IFsKLSAgICAgICAgICAgICAgICAgICAgewotICAg
ICAgICAgICAgICAgICAgICAgICAgIm9wdGlvbmFsIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAidmFyaWFkaWMiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJkZWZh
dWx0IjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdLAotICAg
ICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgInR5cGUiOiAiYXJndW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgImdlbmVyaWMiOiAic2VxdWVuY2UiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJu
dWxsYWJsZSI6IHRydWUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImFyZ3VtZW50LXR5cGUiLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IHRydWUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAiaWRsVHlwZSI6ICJET01TdHJpbmciLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAg
ICAgIH0sCi0gICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJmb28iLAotICAgICAgICAg
ICAgICAgICAgICAgICAgImVzY2FwZWROYW1lIjogImZvbyIKLSAgICAgICAgICAgICAgICAgICAg
fQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAg
ICAgICAgICAgIH0KLSAgICAgICAgXSwKLSAgICAgICAgImluaGVyaXRhbmNlIjogbnVsbCwKLSAg
ICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9Ci1dCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3lu
dGF4L2pzb24vdW5pb250eXBlLmpzb24gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vdW5pb250eXBl
Lmpzb24KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDkwZWIwNzRlZjNhLi4wMDAwMDAw
MDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vdW5pb250eXBlLmpzb24KKysrIC9kZXYv
bnVsbApAQCAtMSwxMzAgKzAsMCBAQAotWwotICAgIHsKLSAgICAgICAgInR5cGUiOiAiaW50ZXJm
YWNlIiwKLSAgICAgICAgIm5hbWUiOiAiVW5pb24iLAotICAgICAgICAicGFydGlhbCI6IGZhbHNl
LAotICAgICAgICAibWVtYmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAi
dHlwZSI6ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAg
ICAgICAgICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaW5o
ZXJpdCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJyZWFkb25seSI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhdHRy
aWJ1dGUtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAg
ICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1
bmlvbiI6IHRydWUsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogWwotICAgICAgICAg
ICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogbnVs
bCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ImlkbFR5cGUiOiAiZmxvYXQiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRy
cyI6IFtdCi0gICAgICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICAg
ICAgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogbnVsbCwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
InVuaW9uIjogdHJ1ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IFsK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgInR5cGUiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICJpZGxUeXBlIjogIkRhdGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgInR5cGUiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Im51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAi
dW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxU
eXBlIjogIkV2ZW50IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHRB
dHRycyI6IFtdCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRy
cyI6IFtdCi0gICAgICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICAg
ICAgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogbnVsbCwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIm51bGxhYmxlIjogdHJ1ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAi
dW5pb24iOiB0cnVlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogWwot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAidHlwZSI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ImlkbFR5cGUiOiAiTm9kZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAi
ZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAidHlwZSI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAi
bnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1
bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5
cGUiOiAiRE9NU3RyaW5nIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJl
eHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHRB
dHRycyI6IFtdCi0gICAgICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAg
IF0sCi0gICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAg
fSwKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJ0ZXN0IiwKLSAgICAgICAgICAgICAgICAiZXNj
YXBlZE5hbWUiOiAidGVzdCIsCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAg
ICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmli
dXRlIiwKLSAgICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
InN0cmluZ2lmaWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAicmVhZG9ubHkiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRs
VHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlLXR5cGUiLAot
ICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAg
ICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiB0cnVlLAot
ICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IFsKLSAgICAgICAgICAgICAgICAgICAgICAg
IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6IG51bGwsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1
bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogImxv
bmciLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFsKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIm5hbWUiOiAiRW5mb3JjZVJhbmdlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJhcmd1bWVudHMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgInR5cGUiOiAiZXh0ZW5kZWQtYXR0cmlidXRlIiwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICJyaHMiOiBudWxsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBdCi0gICAgICAgICAgICAgICAg
ICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJ0eXBlIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2Vu
ZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiRGF0ZSIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICAgICAgICAgIH0KLSAg
ICAgICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10K
LSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogInRlc3QyIiwKLSAg
ICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAidGVzdDIiLAotICAgICAgICAgICAgICAgICJl
eHRBdHRycyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJpbmhlcml0
YW5jZSI6IG51bGwsCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgfQotXQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL3ZhcmlhZGljLW9wZXJhdGlvbnMuanNvbiBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC9zeW50YXgvanNvbi92YXJpYWRpYy1vcGVyYXRpb25zLmpzb24KZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDMyODBiN2I2YTc4Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
c3ludGF4L2pzb24vdmFyaWFkaWMtb3BlcmF0aW9ucy5qc29uCisrKyAvZGV2L251bGwKQEAgLTEs
MTAzICswLDAgQEAKLVsKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAg
ICAgICJuYW1lIjogIkludGVnZXJTZXQiLAotICAgICAgICAicGFydGlhbCI6IGZhbHNlLAotICAg
ICAgICAibWVtYmVycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAidHlwZSI6
ICJhdHRyaWJ1dGUiLAotICAgICAgICAgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaW5oZXJpdCI6
IGZhbHNlLAotICAgICAgICAgICAgICAgICJyZWFkb25seSI6IHRydWUsCi0gICAgICAgICAgICAg
ICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImF0dHJpYnV0ZS10
eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAg
ICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgInVuaW9uIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogInVuc2lnbmVkIGxvbmciLAot
ICAgICAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgICAgIH0sCi0g
ICAgICAgICAgICAgICAgIm5hbWUiOiAiY2FyZGluYWxpdHkiLAotICAgICAgICAgICAgICAgICJl
c2NhcGVkTmFtZSI6ICJjYXJkaW5hbGl0eSIsCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjog
W10KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUi
OiAib3BlcmF0aW9uIiwKLSAgICAgICAgICAgICAgICAiZ2V0dGVyIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgInNldHRlciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJkZWxldGVyIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJz
dHJpbmdpZmllciI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAg
ICAgICAgICAgICAgICAidHlwZSI6ICJyZXR1cm4tdHlwZSIsCi0gICAgICAgICAgICAgICAgICAg
ICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2Us
Ci0gICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAg
ICAiaWRsVHlwZSI6ICJ2b2lkIiwKLSAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10K
LSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJuYW1lIjogInVuaW9uIiwKLSAg
ICAgICAgICAgICAgICAiZXNjYXBlZE5hbWUiOiAidW5pb24iLAotICAgICAgICAgICAgICAgICJh
cmd1bWVudHMiOiBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJvcHRpb25hbCI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgInZhcmlhZGlj
IjogdHJ1ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0IjogbnVsbCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJleHRBdHRycyI6IFtdLAotICAgICAgICAgICAgICAgICAgICAg
ICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXJn
dW1lbnQtdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxs
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJpZGxUeXBlIjogImxvbmciLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICJleHRBdHRycyI6IFtdCi0gICAgICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAg
ICAgICAgICAgICAgIm5hbWUiOiAiaW50cyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZXNj
YXBlZE5hbWUiOiAiaW50cyIKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAg
IF0sCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0sCi0gICAg
ICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAib3BlcmF0aW9uIiwKLSAgICAgICAg
ICAgICAgICAiZ2V0dGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInNldHRlciI6IGZhbHNl
LAotICAgICAgICAgICAgICAgICJkZWxldGVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0
YXRpYyI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJzdHJpbmdpZmllciI6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJy
ZXR1cm4tdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAg
ICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJ1
bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJ2b2lkIiwKLSAg
ICAgICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgICAgICB9LAotICAg
ICAgICAgICAgICAgICJuYW1lIjogImludGVyc2VjdGlvbiIsCi0gICAgICAgICAgICAgICAgImVz
Y2FwZWROYW1lIjogImludGVyc2VjdGlvbiIsCi0gICAgICAgICAgICAgICAgImFyZ3VtZW50cyI6
IFsKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIm9wdGlv
bmFsIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAidmFyaWFkaWMiOiB0cnVlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHQiOiBudWxsLAotICAgICAgICAgICAgICAg
ICAgICAgICAgImV4dEF0dHJzIjogW10sCi0gICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlw
ZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhcmd1bWVudC10eXBl
IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ImlkbFR5cGUiOiAibG9uZyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4dEF0dHJz
IjogW10KLSAgICAgICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgICAg
ICAibmFtZSI6ICJpbnRzIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJlc2NhcGVkTmFtZSI6
ICJpbnRzIgotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXSwKLSAgICAg
ICAgICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgICAgICAgICAgfQotICAgICAgICBdLAotICAg
ICAgICAiaW5oZXJpdGFuY2UiOiBudWxsLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0K
LV0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi93M2MtaW1wb3J0LmxvZyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC9zeW50YXgvanNvbi93M2MtaW1wb3J0LmxvZwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMGUyOWZlNzgzODguLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgv
anNvbi93M2MtaW1wb3J0LmxvZworKysgL2Rldi9udWxsCkBAIC0xLDcwICswLDAgQEAKLVRoZSB0
ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0
b3J5LgotRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0
ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9n
aXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQKLQotVGhlbiBydW4gdGhlIFRvb2xzL1Nj
cmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKLQotRG8gTk9UIG1v
ZGlmeSBvciByZW1vdmUgdGhpcyBmaWxlLgotCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLVByb3BlcnRpZXMg
cmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKLU5vbmUKLVByb3BlcnR5IHZhbHVlcyByZXF1aXJp
bmcgdmVuZG9yIHByZWZpeGVzOgotTm9uZQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1MaXN0IG9mIGZpbGVz
OgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9hbGxvd2FueS5qc29uCi0vTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRh
eC9qc29uL2F0dHJpYnV0ZXMuanNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9jYWxsYmFjay5q
c29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2NvbnN0YW50cy5qc29uCi0vTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5
bnRheC9qc29uL2NvbnN0cnVjdG9yLmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vZGljdGlv
bmFyeS1pbmhlcml0cy5qc29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2RpY3Rpb25hcnkuanNv
bgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9kb2N1bWVudGF0aW9uLWRvcy5qc29uCi0vTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3N5bnRheC9qc29uL2RvY3VtZW50YXRpb24uanNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNv
bi9lbnVtLmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vZXF1aXZhbGVudC1kZWNsLmpzb24K
LS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vZXhjZXB0aW9uLWluaGVyaXRhbmNlLmpzb24KLS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvc3ludGF4L2pzb24vZXh0ZW5kZWQtYXR0cmlidXRlcy5qc29uCi0vTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5
bnRheC9qc29uL2dlbmVyaWMuanNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9nZXR0ZXItc2V0
dGVyLmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vaWRlbnRpZmllci1xdWFsaWZpZWQtbmFt
ZXMuanNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9pbXBsZW1lbnRzLmpzb24KLS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvc3ludGF4L2pzb24vaW5kZXhlZC1wcm9wZXJ0aWVzLmpzb24KLS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4
L2pzb24vaW5oZXJpdHMtZ2V0dGVyLmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vaW50ZXJm
YWNlLWluaGVyaXRzLmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vaXRlcmFibGUuanNvbgot
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC9zeW50YXgvanNvbi9pdGVyYXRvci5qc29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9q
c29uL2xlZ2FjeWl0ZXJhYmxlLmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vbWFwbGlrZS5q
c29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL21peGluLmpzb24KLS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4
L2pzb24vbmFtZWRjb25zdHJ1Y3Rvci5qc29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL25hbWVz
cGFjZS5qc29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL25vaW50ZXJmYWNlb2JqZWN0Lmpzb24K
LS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vbnVsbGFibGUuanNvbgotL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgv
anNvbi9udWxsYWJsZW9iamVjdHMuanNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9vcGVyYXRp
b24tb3B0aW9uYWwtYXJnLmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vb3ZlcmxvYWRpbmcu
anNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9vdmVycmlkZWJ1aWx0aW5zLmpzb24KLS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvc3ludGF4L2pzb24vcGFydGlhbC1pbnRlcmZhY2UuanNvbgotL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50
YXgvanNvbi9wcmltaXRpdmVzLmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vcHJvbWlzZS12
b2lkLmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vcHJvdG90eXBlcm9vdC5qc29uCi0vTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L3N5bnRheC9qc29uL3B1dGZvcndhcmRzLmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pz
b24vcmVjb3JkLmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vcmVnLW9wZXJhdGlvbnMuanNv
bgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9yZXBsYWNlYWJsZS5qc29uCi0vTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5
bnRheC9qc29uL3NlcXVlbmNlLmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vc2V0bGlrZS5q
c29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL3N0YXRpYy5qc29uCi0vTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRh
eC9qc29uL3N0cmluZ2lmaWVyLWF0dHJpYnV0ZS5qc29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29u
L3N0cmluZ2lmaWVyLWN1c3RvbS5qc29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL3N0cmluZ2lm
aWVyLmpzb24KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vdHJlYXRhc251bGwuanNvbgotL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC9zeW50YXgvanNvbi90cmVhdGFzdW5kZWZpbmVkLmpzb24KLS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4
L2pzb24vdHlwZWRlZi11bmlvbi5qc29uCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL3R5cGVkZWYu
anNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi90eXBlc3VmZml4ZXMuanNvbgotL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC9zeW50YXgvanNvbi91bmlvbnR5cGUuanNvbgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi92YXJp
YWRpYy1vcGVyYXRpb25zLmpzb24KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvb3B0L3R5
cGVkZWYtbmVzdGVkLmpzb24gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L29wdC90eXBlZGVmLW5lc3RlZC5q
c29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmMDc5NGU3NGUwNy4uMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9vcHQvdHlwZWRlZi1uZXN0ZWQuanNvbgorKysgL2Rl
di9udWxsCkBAIC0xLDMgKzAsMCBAQAotewotICAgICJhbGxvd05lc3RlZFR5cGVkZWZzIjogdHJ1
ZQotfQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9z
eW50YXgvb3B0L3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9vcHQvdzNjLWltcG9y
dC5sb2cKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDJlODExMjNiMDdjLi4wMDAwMDAw
MDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L29wdC93M2MtaW1wb3J0LmxvZworKysgL2Rldi9u
dWxsCkBAIC0xLDE3ICswLDAgQEAKLVRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGlt
cG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgotRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0
cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24g
dGhlIFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMKLQotVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJL
aXQgdG8gcmVpbXBvcnQKLQotRG8gTk9UIG1vZGlmeSBvciByZW1vdmUgdGhpcyBmaWxlLgotCi0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0KLVByb3BlcnRpZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKLU5v
bmUKLVByb3BlcnR5IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgotTm9uZQotLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tCi1MaXN0IG9mIGZpbGVzOgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvb3B0L3R5cGVk
ZWYtbmVzdGVkLmpzb24KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC91dGlsL2FjcXVpcmUuanMgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3QvdXRpbC9hY3F1aXJlLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2
ZjM3ZGQ2MDgzYy4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3V0aWwvYWNxdWlyZS5qcwor
KysgL2Rldi9udWxsCkBAIC0xLDggKzAsMCBAQAotInVzZSBzdHJpY3QiOwotCi1jb25zdCB7IGNv
bGxlY3QgfSA9IHJlcXVpcmUoIi4vY29sbGVjdCIpOwotY29uc3QgZnMgPSByZXF1aXJlKCJmcyIp
OwotCi1mb3IgKGNvbnN0IHRlc3Qgb2YgY29sbGVjdCgic3ludGF4IikpIHsKLSAgZnMud3JpdGVG
aWxlU3luYyh0ZXN0Lmpzb25QYXRoLCBgJHtKU09OLnN0cmluZ2lmeSh0ZXN0LmFzdCwgbnVsbCwg
NCl9XG5gKQotfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3V0aWwvY29sbGVjdC5qcyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC91dGlsL2NvbGxlY3QuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDdlM2Q5
ZDNiZjMxLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvdXRpbC9jb2xsZWN0LmpzCisrKyAv
ZGV2L251bGwKQEAgLTEsNTkgKzAsMCBAQAotInVzZSBzdHJpY3QiOwotCi1jb25zdCB3cCA9IHJl
cXVpcmUoIi4uLy4uL2xpYi93ZWJpZGwyIik7Ci1jb25zdCBwdGggPSByZXF1aXJlKCJwYXRoIik7
Ci1jb25zdCBmcyA9IHJlcXVpcmUoImZzIik7Ci1jb25zdCBqZHAgPSByZXF1aXJlKCJqc29uZGlm
ZnBhdGNoIik7Ci0KLS8qKgotICogQ29sbGVjdHMgdGVzdCBpdGVtcyBmcm9tIHRoZSBzcGVjaWZp
ZWQgZGlyZWN0b3J5Ci0gKiBAcGFyYW0ge3N0cmluZ30gYmFzZQotICovCi1mdW5jdGlvbiogY29s
bGVjdChiYXNlLCB7IGV4cGVjdEVycm9yIH0gPSB7fSkgewotICBiYXNlID0gcHRoLmpvaW4oX19k
aXJuYW1lLCAiLi4iLCBiYXNlKTsKLSAgY29uc3QgZGlyID0gcHRoLmpvaW4oYmFzZSwgImlkbCIp
OwotICBjb25zdCBpZGxzID0gZnMucmVhZGRpclN5bmMoZGlyKQotICAgIC5maWx0ZXIoaXQgPT4g
KC9cLndpZGwkLykudGVzdChpdCkpCi0gICAgLm1hcChpdCA9PiBwdGguam9pbihkaXIsIGl0KSk7
Ci0KLSAgZm9yIChjb25zdCBwYXRoIG9mIGlkbHMpIHsKLSAgICBjb25zdCBvcHRGaWxlID0gcHRo
LmpvaW4oYmFzZSwgIm9wdCIsIHB0aC5iYXNlbmFtZShwYXRoKSkucmVwbGFjZSgiLndpZGwiLCAi
Lmpzb24iKTsKLSAgICBsZXQgb3B0OwotICAgIGlmIChmcy5leGlzdHNTeW5jKG9wdEZpbGUpKQot
ICAgICAgb3B0ID0gSlNPTi5wYXJzZShmcy5yZWFkRmlsZVN5bmMob3B0RmlsZSwgInV0ZjgiKSk7
Ci0KLSAgICB0cnkgewotICAgICAgY29uc3QgYXN0ID0gd3AucGFyc2UoZnMucmVhZEZpbGVTeW5j
KHBhdGgsICJ1dGY4IikucmVwbGFjZSgvXHJcbi9nLCAiXG4iKSwgb3B0KTsKLSAgICAgIHlpZWxk
IG5ldyBUZXN0SXRlbSh7IGFzdCwgcGF0aCwgb3B0IH0pOwotICAgIH0KLSAgICBjYXRjaCAoZXJy
b3IpIHsKLSAgICAgIGlmIChleHBlY3RFcnJvcikgewotICAgICAgICB5aWVsZCBuZXcgVGVzdEl0
ZW0oeyBwYXRoLCBlcnJvciB9KTsKLSAgICAgIH0KLSAgICAgIGVsc2UgewotICAgICAgICB0aHJv
dyBlcnJvcjsKLSAgICAgIH0KLSAgICB9Ci0gIH0KLX07Ci0KLQotY2xhc3MgVGVzdEl0ZW0gewot
ICBjb25zdHJ1Y3Rvcih7IGFzdCwgcGF0aCwgZXJyb3IsIG9wdCB9KSB7Ci0gICAgdGhpcy5hc3Qg
PSBhc3Q7Ci0gICAgdGhpcy5wYXRoID0gcGF0aDsKLSAgICB0aGlzLmVycm9yID0gZXJyb3I7Ci0g
ICAgdGhpcy5vcHQgPSBvcHQ7Ci0gICAgdGhpcy5qc29uUGF0aCA9IHB0aC5qb2luKHB0aC5kaXJu
YW1lKHBhdGgpLCAiLi4vanNvbiIsIHB0aC5iYXNlbmFtZShwYXRoKS5yZXBsYWNlKCIud2lkbCIs
ICIuanNvbiIpKTsKLSAgfQotCi0gIHJlYWRKU09OKCkgewotICAgIHJldHVybiBKU09OLnBhcnNl
KGZzLnJlYWRGaWxlU3luYyh0aGlzLmpzb25QYXRoLCAidXRmOCIpKTsKLSAgfQotCi0gIGRpZmYo
dGFyZ2V0ID0gdGhpcy5yZWFkSlNPTigpKSB7Ci0gICAgcmV0dXJuIGpkcC5kaWZmKHRhcmdldCwg
dGhpcy5hc3QpOwotICB9Ci19Ci0KLW1vZHVsZS5leHBvcnRzLmNvbGxlY3QgPSBjb2xsZWN0Owpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3V0aWwvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvdXRp
bC93M2MtaW1wb3J0LmxvZwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOGE1YmQ0ZDA3
YTcuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC91dGlsL3czYy1pbXBvcnQubG9nCisrKyAv
ZGV2L251bGwKQEAgLTEsMTggKzAsMCBAQAotVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdl
cmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCi1EbyBOT1QgbW9kaWZ5IHRoZXNl
IHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVz
dCBvbiB0aGUgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRl
c3RzL3dwdAotCi1UaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGlu
IFdlYktpdCB0byByZWltcG9ydAotCi1EbyBOT1QgbW9kaWZ5IG9yIHJlbW92ZSB0aGlzIGZpbGUu
Ci0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLQotUHJvcGVydGllcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVz
OgotTm9uZQotUHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6Ci1Ob25l
Ci0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0KLUxpc3Qgb2YgZmlsZXM6Ci0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3V0aWwvYWNxdWly
ZS5qcwotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC91dGlsL2NvbGxlY3QuanMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93
M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93M2MtaW1wb3J0LmxvZwpkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggNDdiN2NiOWZlNTYuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93
M2MtaW1wb3J0LmxvZworKysgL2Rldi9udWxsCkBAIC0xLDIwICswLDAgQEAKLVRoZSB0ZXN0cyBp
biB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5Lgot
RG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBj
cmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRodWIu
Y29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQKLQotVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMv
aW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKLQotRG8gTk9UIG1vZGlmeSBv
ciByZW1vdmUgdGhpcyBmaWxlLgotCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLVByb3BlcnRpZXMgcmVxdWly
aW5nIHZlbmRvciBwcmVmaXhlczoKLU5vbmUKLVByb3BlcnR5IHZhbHVlcyByZXF1aXJpbmcgdmVu
ZG9yIHByZWZpeGVzOgotTm9uZQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1MaXN0IG9mIGZpbGVzOgotL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC9pbnZhbGlkLmpzCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L21vY2hhLm9wdHMKLS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3lu
dGF4LmpzCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L3dyaXRlci5qcwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dlYi9t
YWtlLXdlYi10ZXN0cy5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93ZWIvbWFrZS13ZWItdGVzdHMuanMKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDE3NzQ4MDY5OTRlLi4wMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3Qvd2ViL21ha2Utd2ViLXRlc3RzLmpzCisrKyAvZGV2L251bGwKQEAgLTEsNTIgKzAs
MCBAQAotCi0vLyBnZW5lcmF0ZXMgdGVzdHMgdGhhdCB3b3JrIGluIGEgYnJvd3NlcgotCi0vLyBY
WFgKLS8vICBoYXZlIGl0IHJ1biB0aHJvdWdoIHZhbGlkIGFuZCBpbnZhbGlkIHByb3Blcmx5Ci0K
LXZhciBwdGggPSByZXF1aXJlKCJwYXRoIikKLSwgICBmcyA9IHJlcXVpcmUoImZzIikKLSwgICBk
aXIgPSBmdW5jdGlvbiAocGF0aCkgewotICAgICAgICByZXR1cm4gcHRoLmpvaW4oX19kaXJuYW1l
LCAiLi4iLCBwYXRoKTsKLSAgICB9Ci0sICAgYWxsRnJvbURpciA9IGZ1bmN0aW9uIChkaXIsIGV4
dCwgYXNKU09OKSB7Ci0gICAgICAgIHJldHVybiBmcy5yZWFkZGlyU3luYyhkaXIpCi0gICAgICAg
ICAgICAgICAgIC5maWx0ZXIoZnVuY3Rpb24gKGl0KSB7IHJldHVybiBleHQudGVzdChpdCk7IH0p
Ci0gICAgICAgICAgICAgICAgIC5tYXAoZnVuY3Rpb24gKGl0KSB7Ci0gICAgICAgICAgICAgICAg
ICAgICB2YXIgY250ID0gZnMucmVhZEZpbGVTeW5jKHB0aC5qb2luKGRpciwgaXQpLCAidXRmOCIp
OwotICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGFzSlNPTiA/IEpTT04ucGFyc2UoY250KSA6
IGNudDsKLSAgICAgICAgICAgICAgICAgfSk7Ci0gICAgfQotLCAgIGRhdGEgPSB7Ci0gICAgICAg
IHZhbGlkOiAgewotICAgICAgICAgICAganNvbjogICBhbGxGcm9tRGlyKGRpcigic3ludGF4L2pz
b24iKSwgL1wuanNvbiQvLCB0cnVlKQotICAgICAgICAsICAgaWRsOiAgICBhbGxGcm9tRGlyKGRp
cigic3ludGF4L2lkbCIpLCAvXC53P2lkbCQvLCBmYWxzZSkKLSAgICAgICAgfQotICAgICwgICBp
bnZhbGlkOnsKLSAgICAgICAgICAgIGpzb246ICAgYWxsRnJvbURpcihkaXIoImludmFsaWQvanNv
biIpLCAvXC5qc29uJC8sIHRydWUpCi0gICAgICAgICwgICBpZGw6ICAgIGFsbEZyb21EaXIoZGly
KCJpbnZhbGlkL2lkbCIpLCAvXC53P2lkbCQvLCBmYWxzZSkKLSAgICAgICAgfQotICAgIH0KLSwg
ICBodG1sID0gWwotICAgICAgICAiPCFET0NUWVBFIGh0bWw+IgotICAgICwgICAiPGh0bWw+Igot
ICAgICwgICAiICA8aGVhZD48bWV0YSBjaGFyc2V0PSd1dGYtOCcnPjxsaW5rIHJlbD0nc3R5bGVz
aGVldCcgaHJlZj0nLi4vLi4vbm9kZV9tb2R1bGVzL21vY2hhL21vY2hhLmNzcyc+IgotICAgICwg
ICAiICAgIDx0aXRsZT5XZWJJREwyIEJyb3dzZXIgVGVzdHM8L3RpdGxlPiIKLSAgICAsICAgIiAg
ICA8c2NyaXB0PnZhciBkYXRhID0gIiArIEpTT04uc3RyaW5naWZ5KGRhdGEpICsgIjwvc2NyaXB0
PiIKLSAgICAsICAgIiAgPC9oZWFkPiIKLSAgICAsICAgIiAgPGJvZHk+PGRpdiBpZD0nbW9jaGEn
PjwvZGl2PiIKLSAgICAsICAgIiAgPHNjcmlwdCBzcmM9J2h0dHBzOi8vYWpheC5nb29nbGVhcGlz
LmNvbS9hamF4L2xpYnMvanF1ZXJ5LzEuOC4zL2pxdWVyeS5taW4uanMnPjwvc2NyaXB0PiIKLSAg
ICAsICAgIiAgPHNjcmlwdCBzcmM9Jy4uLy4uL25vZGVfbW9kdWxlcy9leHBlY3QvdW1kL2V4cGVj
dC5taW4uanMnPjwvc2NyaXB0PiIKLSAgICAsICAgIiAgPHNjcmlwdCBzcmM9Jy4uLy4uL25vZGVf
bW9kdWxlcy9leHBlY3QuanMvaW5kZXguanMnPjwvc2NyaXB0PiIKLSAgICAsICAgIiAgPHNjcmlw
dCBzcmM9Jy4uLy4uL25vZGVfbW9kdWxlcy9tb2NoYS9tb2NoYS5qcyc+PC9zY3JpcHQ+IgotICAg
ICwgICAiICA8c2NyaXB0IHNyYz0nLi4vLi4vbm9kZV9tb2R1bGVzL2pzb25kaWZmcGF0Y2gvcHVi
bGljL2J1aWxkL2pzb25kaWZmcGF0Y2gubWluLmpzJz48L3NjcmlwdD4iCi0gICAgLCAgICIgIDxz
Y3JpcHQgc3JjPScuLi8uLi9saWIvd2ViaWRsMi5qcyc+PC9zY3JpcHQ+IgotICAgICwgICAiICA8
c2NyaXB0Pm1vY2hhLnNldHVwKCdiZGQnKTs8L3NjcmlwdD4iCi0gICAgLCAgICIgIDxzY3JpcHQg
c3JjPSdydW4tdGVzdHMuanMnPjwvc2NyaXB0PiIKLSAgICAsICAgIiAgPHNjcmlwdD5tb2NoYS5y
dW4oKTs8L3NjcmlwdD4iCi0gICAgLCAgICIgIDwvYm9keT4iCi0gICAgLCAgICI8L2h0bWw+Igot
ICAgIF0uam9pbigiXG4iKQotOwotCi1mcy53cml0ZUZpbGVTeW5jKCJicm93c2VyLXRlc3RzLmh0
bWwiLCBodG1sLCAidXRmOCIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dlYi9ydW4tdGVzdHMu
anMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvd2ViL3J1bi10ZXN0cy5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggNDUyZjc5OWIyYTYuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93ZWIvcnVuLXRl
c3RzLmpzCisrKyAvZGV2L251bGwKQEAgLTEsNDggKzAsMCBAQAotCi1kZXNjcmliZSgiUGFyc2Vz
IGFsbCBvZiB0aGUgSURMcyB0byBwcm9kdWNlIHRoZSBjb3JyZWN0IEFTVHMiLCBmdW5jdGlvbiAo
KSB7Ci0gICAgZm9yICh2YXIgaSA9IDAsIG4gPSBkYXRhLnZhbGlkLmlkbC5sZW5ndGg7IGkgPCBu
OyBpKyspIHsKLSAgICAgICAgdmFyIGlkbCA9IGRhdGEudmFsaWQuaWRsW2ldLCBqc29uID0gZGF0
YS52YWxpZC5qc29uW2ldOwotICAgICAgICB2YXIgZnVuYyA9IChmdW5jdGlvbiAoaWRsLCBqc29u
KSB7Ci0gICAgICAgICAgICByZXR1cm4gZnVuY3Rpb24gKCkgewotICAgICAgICAgICAgICAgIHRy
eSB7Ci0gICAgICAgICAgICAgICAgICAgIC8vIHRoZSBBU1QgY29udGFpbnMgTmFOIGFuZCArLy1J
bmZpbml0eSB0aGF0IGNhbm5vdCBiZSBzZXJpYWxpc2VkIHRvIEpTT04KLSAgICAgICAgICAgICAg
ICAgICAgLy8gdGhlIHN0b3JlZCBKU09OIEFTVHMgdXNlIHRoZSBzYW1lIHJlcGxhY2VtZW50IGZ1
bmN0aW9uIGFzIGlzIHVzZWQgYmVsb3cKLSAgICAgICAgICAgICAgICAgICAgLy8gc28gd2UgY29t
cGFyZSBiYXNlZCBvbiB0aGF0Ci0gICAgICAgICAgICAgICAgICAgIHZhciBkaWZmID0ganNvbmRp
ZmZwYXRjaC5kaWZmKGpzb24sIFdlYklETDIucGFyc2UoaWRsKSk7Ci0gICAgICAgICAgICAgICAg
ICAgIGlmIChkaWZmICYmIGRlYnVnKSBjb25zb2xlLmxvZyhKU09OLnN0cmluZ2lmeShkaWZmLCBu
dWxsLCA0KSk7Ci0gICAgICAgICAgICAgICAgICAgIGV4cGVjdChkaWZmKS50b0JlKHVuZGVmaW5l
ZCk7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGNhdGNoIChlKSB7Ci0gICAg
ICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGUudG9TdHJpbmcoKSk7Ci0gICAgICAgICAgICAg
ICAgICAgIHRocm93IGU7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgfTsKLSAgICAg
ICAgfShpZGwsIGpzb24pKTsKLSAgICAgICAgaXQoInNob3VsZCBwcm9kdWNlIHRoZSBzYW1lIEFT
VCBmb3IgIiArIGksIGZ1bmMpOwotICAgIH0KLX0pOwotCi1kZXNjcmliZSgiUGFyc2VzIGFsbCBv
ZiB0aGUgaW52YWxpZCBJRExzIHRvIGNoZWNrIHRoYXQgdGhleSBibG93IHVwIGNvcnJlY3RseSIs
IGZ1bmN0aW9uICgpIHsKLSAgICBmb3IgKHZhciBpID0gMCwgbiA9IGRhdGEuaW52YWxpZC5pZGwu
bGVuZ3RoOyBpIDwgbjsgaSsrKSB7Ci0gICAgICAgIHZhciBpZGwgPSBkYXRhLmludmFsaWQuaWRs
W2ldLCBlcnJvciA9IGRhdGEuaW52YWxpZC5qc29uW2ldOwotICAgICAgICB2YXIgZnVuYyA9IChm
dW5jdGlvbiAoaWRsLCBlcnIpIHsKLSAgICAgICAgICAgIHJldHVybiBmdW5jdGlvbiAoKSB7Ci0g
ICAgICAgICAgICAgICAgdmFyIGVycm9yOwotICAgICAgICAgICAgICAgIHRyeSB7Ci0gICAgICAg
ICAgICAgICAgICAgIHZhciBhc3QgPSBXZWJJREwyLnBhcnNlKGlkbCk7Ci0gICAgICAgICAgICAg
ICAgICAgIGNvbnNvbGUubG9nKEpTT04uc3RyaW5naWZ5KGFzdCwgbnVsbCwgNCkpOwotICAgICAg
ICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBjYXRjaCAoZSkgewotICAgICAgICAgICAgICAg
ICAgICBlcnJvciA9IGU7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGZpbmFs
bHkgewotICAgICAgICAgICAgICAgICAgICBleHBlY3QoZXJyb3IpLnRvRXhpc3QoKTsKLSAgICAg
ICAgICAgICAgICAgICAgZXhwZWN0KGVycm9yLm1lc3NhZ2UpLnRvRXF1YWwoZXJyLm1lc3NhZ2Up
OwotICAgICAgICAgICAgICAgICAgICBleHBlY3QoZXJyb3IubGluZSkudG9FcXVhbChlcnIubGlu
ZSk7Ci0gICAgICAgICAgICAgICAgfQotCi0gICAgICAgICAgICB9OwotICAgICAgICB9KGlkbCwg
ZXJyb3IpKTsKLSAgICAgICAgaXQoInNob3VsZCBwcm9kdWNlIHRoZSByaWdodCBlcnJvciBmb3Ig
IiArIGksIGZ1bmMpOwotICAgIH0KLX0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dlYi93M2Mt
aW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93ZWIvdzNjLWltcG9ydC5sb2cKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDQ0YmRiOWZiNTQ1Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
d2ViL3czYy1pbXBvcnQubG9nCisrKyAvZGV2L251bGwKQEAgLTEsMTggKzAsMCBAQAotVGhlIHRl
c3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRv
cnkuCi1EbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3Rl
YWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKLQlodHRwczovL2dp
dGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdAotCi1UaGVuIHJ1biB0aGUgVG9vbHMvU2Ny
aXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydAotCi1EbyBOT1QgbW9k
aWZ5IG9yIHJlbW92ZSB0aGlzIGZpbGUuCi0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotUHJvcGVydGllcyBy
ZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgotTm9uZQotUHJvcGVydHkgdmFsdWVzIHJlcXVpcmlu
ZyB2ZW5kb3IgcHJlZml4ZXM6Ci1Ob25lCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLUxpc3Qgb2YgZmlsZXM6
Ci0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3dlYi9tYWtlLXdlYi10ZXN0cy5qcwotL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93ZWIvcnVuLXRl
c3RzLmpzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvTElDRU5TRSBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC93aWRscHJvYy9MSUNFTlNFCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkNjQ1Njk1
NjczMy4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL0xJQ0VOU0UKKysrIC9k
ZXYvbnVsbApAQCAtMSwyMDIgKzAsMCBAQAotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBBcGFjaGUgTGljZW5zZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgVmVyc2lvbiAy
LjAsIEphbnVhcnkgMjAwNAotICAgICAgICAgICAgICAgICAgICAgICAgaHR0cDovL3d3dy5hcGFj
aGUub3JnL2xpY2Vuc2VzLwotCi0gICBURVJNUyBBTkQgQ09ORElUSU9OUyBGT1IgVVNFLCBSRVBS
T0RVQ1RJT04sIEFORCBESVNUUklCVVRJT04KLQotICAgMS4gRGVmaW5pdGlvbnMuCi0KLSAgICAg
ICJMaWNlbnNlIiBzaGFsbCBtZWFuIHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBmb3IgdXNlLCBy
ZXByb2R1Y3Rpb24sCi0gICAgICBhbmQgZGlzdHJpYnV0aW9uIGFzIGRlZmluZWQgYnkgU2VjdGlv
bnMgMSB0aHJvdWdoIDkgb2YgdGhpcyBkb2N1bWVudC4KLQotICAgICAgIkxpY2Vuc29yIiBzaGFs
bCBtZWFuIHRoZSBjb3B5cmlnaHQgb3duZXIgb3IgZW50aXR5IGF1dGhvcml6ZWQgYnkKLSAgICAg
IHRoZSBjb3B5cmlnaHQgb3duZXIgdGhhdCBpcyBncmFudGluZyB0aGUgTGljZW5zZS4KLQotICAg
ICAgIkxlZ2FsIEVudGl0eSIgc2hhbGwgbWVhbiB0aGUgdW5pb24gb2YgdGhlIGFjdGluZyBlbnRp
dHkgYW5kIGFsbAotICAgICAgb3RoZXIgZW50aXRpZXMgdGhhdCBjb250cm9sLCBhcmUgY29udHJv
bGxlZCBieSwgb3IgYXJlIHVuZGVyIGNvbW1vbgotICAgICAgY29udHJvbCB3aXRoIHRoYXQgZW50
aXR5LiBGb3IgdGhlIHB1cnBvc2VzIG9mIHRoaXMgZGVmaW5pdGlvbiwKLSAgICAgICJjb250cm9s
IiBtZWFucyAoaSkgdGhlIHBvd2VyLCBkaXJlY3Qgb3IgaW5kaXJlY3QsIHRvIGNhdXNlIHRoZQot
ICAgICAgZGlyZWN0aW9uIG9yIG1hbmFnZW1lbnQgb2Ygc3VjaCBlbnRpdHksIHdoZXRoZXIgYnkg
Y29udHJhY3Qgb3IKLSAgICAgIG90aGVyd2lzZSwgb3IgKGlpKSBvd25lcnNoaXAgb2YgZmlmdHkg
cGVyY2VudCAoNTAlKSBvciBtb3JlIG9mIHRoZQotICAgICAgb3V0c3RhbmRpbmcgc2hhcmVzLCBv
ciAoaWlpKSBiZW5lZmljaWFsIG93bmVyc2hpcCBvZiBzdWNoIGVudGl0eS4KLQotICAgICAgIllv
dSIgKG9yICJZb3VyIikgc2hhbGwgbWVhbiBhbiBpbmRpdmlkdWFsIG9yIExlZ2FsIEVudGl0eQot
ICAgICAgZXhlcmNpc2luZyBwZXJtaXNzaW9ucyBncmFudGVkIGJ5IHRoaXMgTGljZW5zZS4KLQot
ICAgICAgIlNvdXJjZSIgZm9ybSBzaGFsbCBtZWFuIHRoZSBwcmVmZXJyZWQgZm9ybSBmb3IgbWFr
aW5nIG1vZGlmaWNhdGlvbnMsCi0gICAgICBpbmNsdWRpbmcgYnV0IG5vdCBsaW1pdGVkIHRvIHNv
ZnR3YXJlIHNvdXJjZSBjb2RlLCBkb2N1bWVudGF0aW9uCi0gICAgICBzb3VyY2UsIGFuZCBjb25m
aWd1cmF0aW9uIGZpbGVzLgotCi0gICAgICAiT2JqZWN0IiBmb3JtIHNoYWxsIG1lYW4gYW55IGZv
cm0gcmVzdWx0aW5nIGZyb20gbWVjaGFuaWNhbAotICAgICAgdHJhbnNmb3JtYXRpb24gb3IgdHJh
bnNsYXRpb24gb2YgYSBTb3VyY2UgZm9ybSwgaW5jbHVkaW5nIGJ1dAotICAgICAgbm90IGxpbWl0
ZWQgdG8gY29tcGlsZWQgb2JqZWN0IGNvZGUsIGdlbmVyYXRlZCBkb2N1bWVudGF0aW9uLAotICAg
ICAgYW5kIGNvbnZlcnNpb25zIHRvIG90aGVyIG1lZGlhIHR5cGVzLgotCi0gICAgICAiV29yayIg
c2hhbGwgbWVhbiB0aGUgd29yayBvZiBhdXRob3JzaGlwLCB3aGV0aGVyIGluIFNvdXJjZSBvcgot
ICAgICAgT2JqZWN0IGZvcm0sIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSBMaWNlbnNlLCBhcyBp
bmRpY2F0ZWQgYnkgYQotICAgICAgY29weXJpZ2h0IG5vdGljZSB0aGF0IGlzIGluY2x1ZGVkIGlu
IG9yIGF0dGFjaGVkIHRvIHRoZSB3b3JrCi0gICAgICAoYW4gZXhhbXBsZSBpcyBwcm92aWRlZCBp
biB0aGUgQXBwZW5kaXggYmVsb3cpLgotCi0gICAgICAiRGVyaXZhdGl2ZSBXb3JrcyIgc2hhbGwg
bWVhbiBhbnkgd29yaywgd2hldGhlciBpbiBTb3VyY2Ugb3IgT2JqZWN0Ci0gICAgICBmb3JtLCB0
aGF0IGlzIGJhc2VkIG9uIChvciBkZXJpdmVkIGZyb20pIHRoZSBXb3JrIGFuZCBmb3Igd2hpY2gg
dGhlCi0gICAgICBlZGl0b3JpYWwgcmV2aXNpb25zLCBhbm5vdGF0aW9ucywgZWxhYm9yYXRpb25z
LCBvciBvdGhlciBtb2RpZmljYXRpb25zCi0gICAgICByZXByZXNlbnQsIGFzIGEgd2hvbGUsIGFu
IG9yaWdpbmFsIHdvcmsgb2YgYXV0aG9yc2hpcC4gRm9yIHRoZSBwdXJwb3NlcwotICAgICAgb2Yg
dGhpcyBMaWNlbnNlLCBEZXJpdmF0aXZlIFdvcmtzIHNoYWxsIG5vdCBpbmNsdWRlIHdvcmtzIHRo
YXQgcmVtYWluCi0gICAgICBzZXBhcmFibGUgZnJvbSwgb3IgbWVyZWx5IGxpbmsgKG9yIGJpbmQg
YnkgbmFtZSkgdG8gdGhlIGludGVyZmFjZXMgb2YsCi0gICAgICB0aGUgV29yayBhbmQgRGVyaXZh
dGl2ZSBXb3JrcyB0aGVyZW9mLgotCi0gICAgICAiQ29udHJpYnV0aW9uIiBzaGFsbCBtZWFuIGFu
eSB3b3JrIG9mIGF1dGhvcnNoaXAsIGluY2x1ZGluZwotICAgICAgdGhlIG9yaWdpbmFsIHZlcnNp
b24gb2YgdGhlIFdvcmsgYW5kIGFueSBtb2RpZmljYXRpb25zIG9yIGFkZGl0aW9ucwotICAgICAg
dG8gdGhhdCBXb3JrIG9yIERlcml2YXRpdmUgV29ya3MgdGhlcmVvZiwgdGhhdCBpcyBpbnRlbnRp
b25hbGx5Ci0gICAgICBzdWJtaXR0ZWQgdG8gTGljZW5zb3IgZm9yIGluY2x1c2lvbiBpbiB0aGUg
V29yayBieSB0aGUgY29weXJpZ2h0IG93bmVyCi0gICAgICBvciBieSBhbiBpbmRpdmlkdWFsIG9y
IExlZ2FsIEVudGl0eSBhdXRob3JpemVkIHRvIHN1Ym1pdCBvbiBiZWhhbGYgb2YKLSAgICAgIHRo
ZSBjb3B5cmlnaHQgb3duZXIuIEZvciB0aGUgcHVycG9zZXMgb2YgdGhpcyBkZWZpbml0aW9uLCAi
c3VibWl0dGVkIgotICAgICAgbWVhbnMgYW55IGZvcm0gb2YgZWxlY3Ryb25pYywgdmVyYmFsLCBv
ciB3cml0dGVuIGNvbW11bmljYXRpb24gc2VudAotICAgICAgdG8gdGhlIExpY2Vuc29yIG9yIGl0
cyByZXByZXNlbnRhdGl2ZXMsIGluY2x1ZGluZyBidXQgbm90IGxpbWl0ZWQgdG8KLSAgICAgIGNv
bW11bmljYXRpb24gb24gZWxlY3Ryb25pYyBtYWlsaW5nIGxpc3RzLCBzb3VyY2UgY29kZSBjb250
cm9sIHN5c3RlbXMsCi0gICAgICBhbmQgaXNzdWUgdHJhY2tpbmcgc3lzdGVtcyB0aGF0IGFyZSBt
YW5hZ2VkIGJ5LCBvciBvbiBiZWhhbGYgb2YsIHRoZQotICAgICAgTGljZW5zb3IgZm9yIHRoZSBw
dXJwb3NlIG9mIGRpc2N1c3NpbmcgYW5kIGltcHJvdmluZyB0aGUgV29yaywgYnV0Ci0gICAgICBl
eGNsdWRpbmcgY29tbXVuaWNhdGlvbiB0aGF0IGlzIGNvbnNwaWN1b3VzbHkgbWFya2VkIG9yIG90
aGVyd2lzZQotICAgICAgZGVzaWduYXRlZCBpbiB3cml0aW5nIGJ5IHRoZSBjb3B5cmlnaHQgb3du
ZXIgYXMgIk5vdCBhIENvbnRyaWJ1dGlvbi4iCi0KLSAgICAgICJDb250cmlidXRvciIgc2hhbGwg
bWVhbiBMaWNlbnNvciBhbmQgYW55IGluZGl2aWR1YWwgb3IgTGVnYWwgRW50aXR5Ci0gICAgICBv
biBiZWhhbGYgb2Ygd2hvbSBhIENvbnRyaWJ1dGlvbiBoYXMgYmVlbiByZWNlaXZlZCBieSBMaWNl
bnNvciBhbmQKLSAgICAgIHN1YnNlcXVlbnRseSBpbmNvcnBvcmF0ZWQgd2l0aGluIHRoZSBXb3Jr
LgotCi0gICAyLiBHcmFudCBvZiBDb3B5cmlnaHQgTGljZW5zZS4gU3ViamVjdCB0byB0aGUgdGVy
bXMgYW5kIGNvbmRpdGlvbnMgb2YKLSAgICAgIHRoaXMgTGljZW5zZSwgZWFjaCBDb250cmlidXRv
ciBoZXJlYnkgZ3JhbnRzIHRvIFlvdSBhIHBlcnBldHVhbCwKLSAgICAgIHdvcmxkd2lkZSwgbm9u
LWV4Y2x1c2l2ZSwgbm8tY2hhcmdlLCByb3lhbHR5LWZyZWUsIGlycmV2b2NhYmxlCi0gICAgICBj
b3B5cmlnaHQgbGljZW5zZSB0byByZXByb2R1Y2UsIHByZXBhcmUgRGVyaXZhdGl2ZSBXb3JrcyBv
ZiwKLSAgICAgIHB1YmxpY2x5IGRpc3BsYXksIHB1YmxpY2x5IHBlcmZvcm0sIHN1YmxpY2Vuc2Us
IGFuZCBkaXN0cmlidXRlIHRoZQotICAgICAgV29yayBhbmQgc3VjaCBEZXJpdmF0aXZlIFdvcmtz
IGluIFNvdXJjZSBvciBPYmplY3QgZm9ybS4KLQotICAgMy4gR3JhbnQgb2YgUGF0ZW50IExpY2Vu
c2UuIFN1YmplY3QgdG8gdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIG9mCi0gICAgICB0aGlzIExp
Y2Vuc2UsIGVhY2ggQ29udHJpYnV0b3IgaGVyZWJ5IGdyYW50cyB0byBZb3UgYSBwZXJwZXR1YWws
Ci0gICAgICB3b3JsZHdpZGUsIG5vbi1leGNsdXNpdmUsIG5vLWNoYXJnZSwgcm95YWx0eS1mcmVl
LCBpcnJldm9jYWJsZQotICAgICAgKGV4Y2VwdCBhcyBzdGF0ZWQgaW4gdGhpcyBzZWN0aW9uKSBw
YXRlbnQgbGljZW5zZSB0byBtYWtlLCBoYXZlIG1hZGUsCi0gICAgICB1c2UsIG9mZmVyIHRvIHNl
bGwsIHNlbGwsIGltcG9ydCwgYW5kIG90aGVyd2lzZSB0cmFuc2ZlciB0aGUgV29yaywKLSAgICAg
IHdoZXJlIHN1Y2ggbGljZW5zZSBhcHBsaWVzIG9ubHkgdG8gdGhvc2UgcGF0ZW50IGNsYWltcyBs
aWNlbnNhYmxlCi0gICAgICBieSBzdWNoIENvbnRyaWJ1dG9yIHRoYXQgYXJlIG5lY2Vzc2FyaWx5
IGluZnJpbmdlZCBieSB0aGVpcgotICAgICAgQ29udHJpYnV0aW9uKHMpIGFsb25lIG9yIGJ5IGNv
bWJpbmF0aW9uIG9mIHRoZWlyIENvbnRyaWJ1dGlvbihzKQotICAgICAgd2l0aCB0aGUgV29yayB0
byB3aGljaCBzdWNoIENvbnRyaWJ1dGlvbihzKSB3YXMgc3VibWl0dGVkLiBJZiBZb3UKLSAgICAg
IGluc3RpdHV0ZSBwYXRlbnQgbGl0aWdhdGlvbiBhZ2FpbnN0IGFueSBlbnRpdHkgKGluY2x1ZGlu
ZyBhCi0gICAgICBjcm9zcy1jbGFpbSBvciBjb3VudGVyY2xhaW0gaW4gYSBsYXdzdWl0KSBhbGxl
Z2luZyB0aGF0IHRoZSBXb3JrCi0gICAgICBvciBhIENvbnRyaWJ1dGlvbiBpbmNvcnBvcmF0ZWQg
d2l0aGluIHRoZSBXb3JrIGNvbnN0aXR1dGVzIGRpcmVjdAotICAgICAgb3IgY29udHJpYnV0b3J5
IHBhdGVudCBpbmZyaW5nZW1lbnQsIHRoZW4gYW55IHBhdGVudCBsaWNlbnNlcwotICAgICAgZ3Jh
bnRlZCB0byBZb3UgdW5kZXIgdGhpcyBMaWNlbnNlIGZvciB0aGF0IFdvcmsgc2hhbGwgdGVybWlu
YXRlCi0gICAgICBhcyBvZiB0aGUgZGF0ZSBzdWNoIGxpdGlnYXRpb24gaXMgZmlsZWQuCi0KLSAg
IDQuIFJlZGlzdHJpYnV0aW9uLiBZb3UgbWF5IHJlcHJvZHVjZSBhbmQgZGlzdHJpYnV0ZSBjb3Bp
ZXMgb2YgdGhlCi0gICAgICBXb3JrIG9yIERlcml2YXRpdmUgV29ya3MgdGhlcmVvZiBpbiBhbnkg
bWVkaXVtLCB3aXRoIG9yIHdpdGhvdXQKLSAgICAgIG1vZGlmaWNhdGlvbnMsIGFuZCBpbiBTb3Vy
Y2Ugb3IgT2JqZWN0IGZvcm0sIHByb3ZpZGVkIHRoYXQgWW91Ci0gICAgICBtZWV0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9uczoKLQotICAgICAgKGEpIFlvdSBtdXN0IGdpdmUgYW55IG90aGVyIHJl
Y2lwaWVudHMgb2YgdGhlIFdvcmsgb3IKLSAgICAgICAgICBEZXJpdmF0aXZlIFdvcmtzIGEgY29w
eSBvZiB0aGlzIExpY2Vuc2U7IGFuZAotCi0gICAgICAoYikgWW91IG11c3QgY2F1c2UgYW55IG1v
ZGlmaWVkIGZpbGVzIHRvIGNhcnJ5IHByb21pbmVudCBub3RpY2VzCi0gICAgICAgICAgc3RhdGlu
ZyB0aGF0IFlvdSBjaGFuZ2VkIHRoZSBmaWxlczsgYW5kCi0KLSAgICAgIChjKSBZb3UgbXVzdCBy
ZXRhaW4sIGluIHRoZSBTb3VyY2UgZm9ybSBvZiBhbnkgRGVyaXZhdGl2ZSBXb3JrcwotICAgICAg
ICAgIHRoYXQgWW91IGRpc3RyaWJ1dGUsIGFsbCBjb3B5cmlnaHQsIHBhdGVudCwgdHJhZGVtYXJr
LCBhbmQKLSAgICAgICAgICBhdHRyaWJ1dGlvbiBub3RpY2VzIGZyb20gdGhlIFNvdXJjZSBmb3Jt
IG9mIHRoZSBXb3JrLAotICAgICAgICAgIGV4Y2x1ZGluZyB0aG9zZSBub3RpY2VzIHRoYXQgZG8g
bm90IHBlcnRhaW4gdG8gYW55IHBhcnQgb2YKLSAgICAgICAgICB0aGUgRGVyaXZhdGl2ZSBXb3Jr
czsgYW5kCi0KLSAgICAgIChkKSBJZiB0aGUgV29yayBpbmNsdWRlcyBhICJOT1RJQ0UiIHRleHQg
ZmlsZSBhcyBwYXJ0IG9mIGl0cwotICAgICAgICAgIGRpc3RyaWJ1dGlvbiwgdGhlbiBhbnkgRGVy
aXZhdGl2ZSBXb3JrcyB0aGF0IFlvdSBkaXN0cmlidXRlIG11c3QKLSAgICAgICAgICBpbmNsdWRl
IGEgcmVhZGFibGUgY29weSBvZiB0aGUgYXR0cmlidXRpb24gbm90aWNlcyBjb250YWluZWQKLSAg
ICAgICAgICB3aXRoaW4gc3VjaCBOT1RJQ0UgZmlsZSwgZXhjbHVkaW5nIHRob3NlIG5vdGljZXMg
dGhhdCBkbyBub3QKLSAgICAgICAgICBwZXJ0YWluIHRvIGFueSBwYXJ0IG9mIHRoZSBEZXJpdmF0
aXZlIFdvcmtzLCBpbiBhdCBsZWFzdCBvbmUKLSAgICAgICAgICBvZiB0aGUgZm9sbG93aW5nIHBs
YWNlczogd2l0aGluIGEgTk9USUNFIHRleHQgZmlsZSBkaXN0cmlidXRlZAotICAgICAgICAgIGFz
IHBhcnQgb2YgdGhlIERlcml2YXRpdmUgV29ya3M7IHdpdGhpbiB0aGUgU291cmNlIGZvcm0gb3IK
LSAgICAgICAgICBkb2N1bWVudGF0aW9uLCBpZiBwcm92aWRlZCBhbG9uZyB3aXRoIHRoZSBEZXJp
dmF0aXZlIFdvcmtzOyBvciwKLSAgICAgICAgICB3aXRoaW4gYSBkaXNwbGF5IGdlbmVyYXRlZCBi
eSB0aGUgRGVyaXZhdGl2ZSBXb3JrcywgaWYgYW5kCi0gICAgICAgICAgd2hlcmV2ZXIgc3VjaCB0
aGlyZC1wYXJ0eSBub3RpY2VzIG5vcm1hbGx5IGFwcGVhci4gVGhlIGNvbnRlbnRzCi0gICAgICAg
ICAgb2YgdGhlIE5PVElDRSBmaWxlIGFyZSBmb3IgaW5mb3JtYXRpb25hbCBwdXJwb3NlcyBvbmx5
IGFuZAotICAgICAgICAgIGRvIG5vdCBtb2RpZnkgdGhlIExpY2Vuc2UuIFlvdSBtYXkgYWRkIFlv
dXIgb3duIGF0dHJpYnV0aW9uCi0gICAgICAgICAgbm90aWNlcyB3aXRoaW4gRGVyaXZhdGl2ZSBX
b3JrcyB0aGF0IFlvdSBkaXN0cmlidXRlLCBhbG9uZ3NpZGUKLSAgICAgICAgICBvciBhcyBhbiBh
ZGRlbmR1bSB0byB0aGUgTk9USUNFIHRleHQgZnJvbSB0aGUgV29yaywgcHJvdmlkZWQKLSAgICAg
ICAgICB0aGF0IHN1Y2ggYWRkaXRpb25hbCBhdHRyaWJ1dGlvbiBub3RpY2VzIGNhbm5vdCBiZSBj
b25zdHJ1ZWQKLSAgICAgICAgICBhcyBtb2RpZnlpbmcgdGhlIExpY2Vuc2UuCi0KLSAgICAgIFlv
dSBtYXkgYWRkIFlvdXIgb3duIGNvcHlyaWdodCBzdGF0ZW1lbnQgdG8gWW91ciBtb2RpZmljYXRp
b25zIGFuZAotICAgICAgbWF5IHByb3ZpZGUgYWRkaXRpb25hbCBvciBkaWZmZXJlbnQgbGljZW5z
ZSB0ZXJtcyBhbmQgY29uZGl0aW9ucwotICAgICAgZm9yIHVzZSwgcmVwcm9kdWN0aW9uLCBvciBk
aXN0cmlidXRpb24gb2YgWW91ciBtb2RpZmljYXRpb25zLCBvcgotICAgICAgZm9yIGFueSBzdWNo
IERlcml2YXRpdmUgV29ya3MgYXMgYSB3aG9sZSwgcHJvdmlkZWQgWW91ciB1c2UsCi0gICAgICBy
ZXByb2R1Y3Rpb24sIGFuZCBkaXN0cmlidXRpb24gb2YgdGhlIFdvcmsgb3RoZXJ3aXNlIGNvbXBs
aWVzIHdpdGgKLSAgICAgIHRoZSBjb25kaXRpb25zIHN0YXRlZCBpbiB0aGlzIExpY2Vuc2UuCi0K
LSAgIDUuIFN1Ym1pc3Npb24gb2YgQ29udHJpYnV0aW9ucy4gVW5sZXNzIFlvdSBleHBsaWNpdGx5
IHN0YXRlIG90aGVyd2lzZSwKLSAgICAgIGFueSBDb250cmlidXRpb24gaW50ZW50aW9uYWxseSBz
dWJtaXR0ZWQgZm9yIGluY2x1c2lvbiBpbiB0aGUgV29yawotICAgICAgYnkgWW91IHRvIHRoZSBM
aWNlbnNvciBzaGFsbCBiZSB1bmRlciB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgb2YKLSAgICAg
IHRoaXMgTGljZW5zZSwgd2l0aG91dCBhbnkgYWRkaXRpb25hbCB0ZXJtcyBvciBjb25kaXRpb25z
LgotICAgICAgTm90d2l0aHN0YW5kaW5nIHRoZSBhYm92ZSwgbm90aGluZyBoZXJlaW4gc2hhbGwg
c3VwZXJzZWRlIG9yIG1vZGlmeQotICAgICAgdGhlIHRlcm1zIG9mIGFueSBzZXBhcmF0ZSBsaWNl
bnNlIGFncmVlbWVudCB5b3UgbWF5IGhhdmUgZXhlY3V0ZWQKLSAgICAgIHdpdGggTGljZW5zb3Ig
cmVnYXJkaW5nIHN1Y2ggQ29udHJpYnV0aW9ucy4KLQotICAgNi4gVHJhZGVtYXJrcy4gVGhpcyBM
aWNlbnNlIGRvZXMgbm90IGdyYW50IHBlcm1pc3Npb24gdG8gdXNlIHRoZSB0cmFkZQotICAgICAg
bmFtZXMsIHRyYWRlbWFya3MsIHNlcnZpY2UgbWFya3MsIG9yIHByb2R1Y3QgbmFtZXMgb2YgdGhl
IExpY2Vuc29yLAotICAgICAgZXhjZXB0IGFzIHJlcXVpcmVkIGZvciByZWFzb25hYmxlIGFuZCBj
dXN0b21hcnkgdXNlIGluIGRlc2NyaWJpbmcgdGhlCi0gICAgICBvcmlnaW4gb2YgdGhlIFdvcmsg
YW5kIHJlcHJvZHVjaW5nIHRoZSBjb250ZW50IG9mIHRoZSBOT1RJQ0UgZmlsZS4KLQotICAgNy4g
RGlzY2xhaW1lciBvZiBXYXJyYW50eS4gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3
IG9yCi0gICAgICBhZ3JlZWQgdG8gaW4gd3JpdGluZywgTGljZW5zb3IgcHJvdmlkZXMgdGhlIFdv
cmsgKGFuZCBlYWNoCi0gICAgICBDb250cmlidXRvciBwcm92aWRlcyBpdHMgQ29udHJpYnV0aW9u
cykgb24gYW4gIkFTIElTIiBCQVNJUywKLSAgICAgIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05E
SVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvcgotICAgICAgaW1wbGllZCwgaW5j
bHVkaW5nLCB3aXRob3V0IGxpbWl0YXRpb24sIGFueSB3YXJyYW50aWVzIG9yIGNvbmRpdGlvbnMK
LSAgICAgIG9mIFRJVExFLCBOT04tSU5GUklOR0VNRU5ULCBNRVJDSEFOVEFCSUxJVFksIG9yIEZJ
VE5FU1MgRk9SIEEKLSAgICAgIFBBUlRJQ1VMQVIgUFVSUE9TRS4gWW91IGFyZSBzb2xlbHkgcmVz
cG9uc2libGUgZm9yIGRldGVybWluaW5nIHRoZQotICAgICAgYXBwcm9wcmlhdGVuZXNzIG9mIHVz
aW5nIG9yIHJlZGlzdHJpYnV0aW5nIHRoZSBXb3JrIGFuZCBhc3N1bWUgYW55Ci0gICAgICByaXNr
cyBhc3NvY2lhdGVkIHdpdGggWW91ciBleGVyY2lzZSBvZiBwZXJtaXNzaW9ucyB1bmRlciB0aGlz
IExpY2Vuc2UuCi0KLSAgIDguIExpbWl0YXRpb24gb2YgTGlhYmlsaXR5LiBJbiBubyBldmVudCBh
bmQgdW5kZXIgbm8gbGVnYWwgdGhlb3J5LAotICAgICAgd2hldGhlciBpbiB0b3J0IChpbmNsdWRp
bmcgbmVnbGlnZW5jZSksIGNvbnRyYWN0LCBvciBvdGhlcndpc2UsCi0gICAgICB1bmxlc3MgcmVx
dWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgKHN1Y2ggYXMgZGVsaWJlcmF0ZSBhbmQgZ3Jvc3NseQot
ICAgICAgbmVnbGlnZW50IGFjdHMpIG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzaGFsbCBhbnkg
Q29udHJpYnV0b3IgYmUKLSAgICAgIGxpYWJsZSB0byBZb3UgZm9yIGRhbWFnZXMsIGluY2x1ZGlu
ZyBhbnkgZGlyZWN0LCBpbmRpcmVjdCwgc3BlY2lhbCwKLSAgICAgIGluY2lkZW50YWwsIG9yIGNv
bnNlcXVlbnRpYWwgZGFtYWdlcyBvZiBhbnkgY2hhcmFjdGVyIGFyaXNpbmcgYXMgYQotICAgICAg
cmVzdWx0IG9mIHRoaXMgTGljZW5zZSBvciBvdXQgb2YgdGhlIHVzZSBvciBpbmFiaWxpdHkgdG8g
dXNlIHRoZQotICAgICAgV29yayAoaW5jbHVkaW5nIGJ1dCBub3QgbGltaXRlZCB0byBkYW1hZ2Vz
IGZvciBsb3NzIG9mIGdvb2R3aWxsLAotICAgICAgd29yayBzdG9wcGFnZSwgY29tcHV0ZXIgZmFp
bHVyZSBvciBtYWxmdW5jdGlvbiwgb3IgYW55IGFuZCBhbGwKLSAgICAgIG90aGVyIGNvbW1lcmNp
YWwgZGFtYWdlcyBvciBsb3NzZXMpLCBldmVuIGlmIHN1Y2ggQ29udHJpYnV0b3IKLSAgICAgIGhh
cyBiZWVuIGFkdmlzZWQgb2YgdGhlIHBvc3NpYmlsaXR5IG9mIHN1Y2ggZGFtYWdlcy4KLQotICAg
OS4gQWNjZXB0aW5nIFdhcnJhbnR5IG9yIEFkZGl0aW9uYWwgTGlhYmlsaXR5LiBXaGlsZSByZWRp
c3RyaWJ1dGluZwotICAgICAgdGhlIFdvcmsgb3IgRGVyaXZhdGl2ZSBXb3JrcyB0aGVyZW9mLCBZ
b3UgbWF5IGNob29zZSB0byBvZmZlciwKLSAgICAgIGFuZCBjaGFyZ2UgYSBmZWUgZm9yLCBhY2Nl
cHRhbmNlIG9mIHN1cHBvcnQsIHdhcnJhbnR5LCBpbmRlbW5pdHksCi0gICAgICBvciBvdGhlciBs
aWFiaWxpdHkgb2JsaWdhdGlvbnMgYW5kL29yIHJpZ2h0cyBjb25zaXN0ZW50IHdpdGggdGhpcwot
ICAgICAgTGljZW5zZS4gSG93ZXZlciwgaW4gYWNjZXB0aW5nIHN1Y2ggb2JsaWdhdGlvbnMsIFlv
dSBtYXkgYWN0IG9ubHkKLSAgICAgIG9uIFlvdXIgb3duIGJlaGFsZiBhbmQgb24gWW91ciBzb2xl
IHJlc3BvbnNpYmlsaXR5LCBub3Qgb24gYmVoYWxmCi0gICAgICBvZiBhbnkgb3RoZXIgQ29udHJp
YnV0b3IsIGFuZCBvbmx5IGlmIFlvdSBhZ3JlZSB0byBpbmRlbW5pZnksCi0gICAgICBkZWZlbmQs
IGFuZCBob2xkIGVhY2ggQ29udHJpYnV0b3IgaGFybWxlc3MgZm9yIGFueSBsaWFiaWxpdHkKLSAg
ICAgIGluY3VycmVkIGJ5LCBvciBjbGFpbXMgYXNzZXJ0ZWQgYWdhaW5zdCwgc3VjaCBDb250cmli
dXRvciBieSByZWFzb24KLSAgICAgIG9mIHlvdXIgYWNjZXB0aW5nIGFueSBzdWNoIHdhcnJhbnR5
IG9yIGFkZGl0aW9uYWwgbGlhYmlsaXR5LgotCi0gICBFTkQgT0YgVEVSTVMgQU5EIENPTkRJVElP
TlMKLQotICAgQVBQRU5ESVg6IEhvdyB0byBhcHBseSB0aGUgQXBhY2hlIExpY2Vuc2UgdG8geW91
ciB3b3JrLgotCi0gICAgICBUbyBhcHBseSB0aGUgQXBhY2hlIExpY2Vuc2UgdG8geW91ciB3b3Jr
LCBhdHRhY2ggdGhlIGZvbGxvd2luZwotICAgICAgYm9pbGVycGxhdGUgbm90aWNlLCB3aXRoIHRo
ZSBmaWVsZHMgZW5jbG9zZWQgYnkgYnJhY2tldHMgIltdIgotICAgICAgcmVwbGFjZWQgd2l0aCB5
b3VyIG93biBpZGVudGlmeWluZyBpbmZvcm1hdGlvbi4gKERvbid0IGluY2x1ZGUKLSAgICAgIHRo
ZSBicmFja2V0cyEpICBUaGUgdGV4dCBzaG91bGQgYmUgZW5jbG9zZWQgaW4gdGhlIGFwcHJvcHJp
YXRlCi0gICAgICBjb21tZW50IHN5bnRheCBmb3IgdGhlIGZpbGUgZm9ybWF0LiBXZSBhbHNvIHJl
Y29tbWVuZCB0aGF0IGEKLSAgICAgIGZpbGUgb3IgY2xhc3MgbmFtZSBhbmQgZGVzY3JpcHRpb24g
b2YgcHVycG9zZSBiZSBpbmNsdWRlZCBvbiB0aGUKLSAgICAgIHNhbWUgInByaW50ZWQgcGFnZSIg
YXMgdGhlIGNvcHlyaWdodCBub3RpY2UgZm9yIGVhc2llcgotICAgICAgaWRlbnRpZmljYXRpb24g
d2l0aGluIHRoaXJkLXBhcnR5IGFyY2hpdmVzLgotCi0gICBDb3B5cmlnaHQgW3l5eXldIFtuYW1l
IG9mIGNvcHlyaWdodCBvd25lcl0KLQotICAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNl
bnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7Ci0gICB5b3UgbWF5IG5vdCB1c2UgdGhp
cyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCi0gICBZb3UgbWF5
IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKLQotICAgICAgIGh0dHA6Ly93d3cuYXBh
Y2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAotCi0gICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBw
bGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCi0gICBkaXN0cmli
dXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lT
LAotICAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhl
ciBleHByZXNzIG9yIGltcGxpZWQuCi0gICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZp
YyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCi0gICBsaW1pdGF0aW9ucyB1bmRl
ciB0aGUgTGljZW5zZS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9NYWtlZmlsZSBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC93aWRscHJvYy9NYWtlZmlsZQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggZDUxNzQ2NmU0OGQuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9NYWtl
ZmlsZQorKysgL2Rldi9udWxsCkBAIC0xLDE1OCArMCwwIEBACi0jIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKLSMg
JElkJAotIyBDb3B5cmlnaHQgMjAwOSBBcGxpeCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KLSMgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAo
dGhlICJMaWNlbnNlIik7Ci0jIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNv
bXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KLSMgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRo
ZSBMaWNlbnNlIGF0Ci0jICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5T
RS0yLjAKLSMgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBp
biB3cml0aW5nLCBzb2Z0d2FyZQotIyBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBk
aXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAotIyBXSVRIT1VUIFdBUlJBTlRJRVMgT1Ig
Q09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KLSMgU2Vl
IHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Np
b25zIGFuZAotIyBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KLSMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IwotCi1VTkFNRSA9ICQoc2hlbGwgdW5hbWUpCi1JTkNESVJTID0gJChPQkpESVIpCi1TUkNESVIg
PSBzcmMKLURPQ0RJUiA9IGRvYwotRVhBTVBMRVNESVIgPSBleGFtcGxlcwotT0JKRElSID0gb2Jq
Ci0KLSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIwotIyBMaW51eCBjb25maWd1cmF0aW9uCi0jCi1pZm5lcSAoLCQo
ZmlsdGVyIExpbnV4JSwgJChVTkFNRSkpKSAKLQotQ0ZMQUdTID0gLWcgLVdhbGwgLVdlcnJvciAt
TzAgJChwYXRzdWJzdCAlLCAtSSUsICQoSU5DRElSUykpCi1PQkpTVUZGSVggPSAubwotRVhFU1VG
RklYID0KLSNMSUJTID0gLWxlZmVuY2UKLU9CSk9QVElPTiA9IC1vCi1FWEVPUFRJT04gPSAtbwot
Ci1lbHNlCi0jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKLSMgRGFyd2luIGNvbmZpZ3VyYXRpb24KLSMKLWlmbmVx
ICgsJChmaWx0ZXIgRGFyd2luJSwgJChVTkFNRSkpKSAKLQotQ0ZMQUdTID0gLWcgLVdhbGwgLVdl
cnJvciAtTzIgJChwYXRzdWJzdCAlLCAtSSUsICQoSU5DRElSUykpCi1PQkpTVUZGSVggPSAubwot
RVhFU1VGRklYID0KLU9CSk9QVElPTiA9IC1vCi0jIFRoZSAtbyBpbiB0aGUgZm9sbG93aW5nIGxp
bmUgaGFzIGEgc3BhY2UgYWZ0ZXIgaXQsIHdoaWNoIG11c3Qgbm90IGJlIHJlbW92ZWQuCi1FWEVP
UFRJT04gPSAtbyAKLQotZWxzZQotIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCi0jIFdpbmRvd3MgKGN5Z3dpbiBi
dXQgdXNpbmcgTVMgY29tcGlsZXIpIGNvbmZpZ3VyYXRpb24KLSMKLSMgdGhpcyBpcyBtZXNzeSAt
IHNob3VsZCBwcm9iYWJseSB1c2UgdmN2YXJzLmJhdAotaWZuZXEgKCwkKGZpbHRlciBDWUdXSU4l
LCAkKFVOQU1FKSkpIAotVklTVUFMU1RVRElPRElSID0gJCh3aWxkY2FyZCAvY3lnZHJpdmUvYy9Q
cm9ncmFtKkZpbGVzL01pY3Jvc29mdCpWaXN1YWwqU3R1ZGlvKjgpCi1TREtESVIgPSAkKHdpbGRj
YXJkIC9jeWdkcml2ZS9jL1Byb2dyYW0qRmlsZXMvTWljcm9zb2Z0KlNES3MvV2luZG93cy8qL0xp
YikKLWlmZXEgKCwkKFZJU1VBTFNUVURJT0RJUikpCi1WSVNVQUxTVFVESU9ESVIgPSAkKHdpbGRj
YXJkIC9jeWdkcml2ZS9jL1Byb2dyYW1cIEZpbGVzXCAqL01pY3Jvc29mdCpWaXN1YWwqU3R1ZGlv
KjEwKikKLWVuZGlmCi1pZmVxICgsJChWSVNVQUxTVFVESU9ESVIpKQotVklTVUFMU1RVRElPRElS
ID0gJCh3aWxkY2FyZCAvY3lnZHJpdmUvYy9Qcm9ncmFtXCBGaWxlc1wgKi9NaWNyb3NvZnQqVmlz
dWFsKlN0dWRpbyoxMSopCi1lbmRpZgotIyB0aGlzIGlzIHJldmVsdmFudCBmb3IgdnMyMDEyIGFu
ZCB3aW5kb3dzIDggLSBzZGsgbG9jYXRpb24gaGFzIGNoYW5nZWQKLWlmZXEgKCwkKFNES0RJUikp
Ci1TREtESVIgPSAkKHdpbGRjYXJkIC9jeWdkcml2ZS9jL1Byb2dyYW1cIEZpbGVzXCAqL1dpbmRv
d3MqS2l0cykKLWVuZGlmCi0KLWlmZXEgKCwkKFZJU1VBTFNUVURJT0RJUikpCi0kKGVycm9yIENv
dWxkIG5vdCBmaW5kICBNUyBWaXN1YWwgU3R1ZGlvKSAKLWVsc2UKLVdJTlZJU1VBTFNUVURJT0RJ
UiA9ICQoc2hlbGwgY3lncGF0aCAtdyAnJChWSVNVQUxTVFVESU9ESVIpJykKLVdJTlNES0RJUiA9
ICQoc2hlbGwgY3lncGF0aCAtdyAnJChTREtESVIpJykKLQotIyQoZXJyb3IgJChWSVNVQUxTVFVE
SU9ESVIpKSAKLQotQ0MgPSBcCi0JTGliPSckKFdJTlZJU1VBTFNUVURJT0RJUilcVkNcTElCOyQo
V0lOVklTVUFMU1RVRElPRElSKVxWQ1xQbGF0Zm9ybVNES1xMaWI7JChXSU5TREtESVIpJyBcCi0J
UEFUSD0nJChWSVNVQUxTVFVESU9ESVIpL0NvbW1vbjcvSURFOiQoVklTVUFMU1RVRElPRElSKS9W
Qy9CSU46JChWSVNVQUxTVFVESU9ESVIpL0NvbW1vbjcvVG9vbHM6JChWSVNVQUxTVFVESU9ESVIp
L1NESy92Mi4wL2JpbjokKFZJU1VBTFNUVURJT0RJUikvOC4wL0xpYi93aW44L3VtL3g4NjonJCRQ
QVRIIFwKLQlJbmNsdWRlPSckKFdJTlZJU1VBTFNUVURJT0RJUilcVkNcSU5DTFVERTskKFdJTlZJ
U1VBTFNUVURJT0RJUilcVkNcUGxhdGZvcm1TREtcSW5jbHVkZScgXAotCWNsCi1lbmRpZgotCi1D
RkxBR1MgPSAvbm9sb2dvIC9XWCAvVzMgL3dkNDk5NiAvWmkgL08yICQocGF0c3Vic3QgJSwgL0kl
LCAkKElOQ0RJUlMpKQotT0JKU1VGRklYID0gLm9iagotRVhFU1VGRklYID0gLmV4ZQotT0JKT1BU
SU9OID0gL0ZvCi1FWEVPUFRJT04gPSAvRmUKLQotZW5kaWYKLWVuZGlmCi1lbmRpZgotCi0jIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMKLSMgQ29tbW9uIG1ha2VmaWxlCi0jCi1XSURMUFJPQyA9ICQoT0JKRElSKS93
aWRscHJvYyQoRVhFU1VGRklYKQotRFREID0gJChPQkpESVIpL3dpZGxwcm9jeG1sLmR0ZAotCi1B
TEwgPSAkKFdJRExQUk9DKSAkKERURCkKLWFsbCA6ICQoQUxMKQotCi1TUkNTID0gXAotCWNvbW1l
bnQuYyBcCi0JbGV4LmMgXAotCW1haW4uYyBcCi0JbWlzYy5jIFwKLQlub2RlLmMgXAotCXBhcnNl
LmMgXAotCXByb2Nlc3MuYwotCi1PQkpTID0gJChwYXRzdWJzdCAlLmMsICQoT0JKRElSKS8lJChP
QkpTVUZGSVgpLCAkKFNSQ1MpKQotJChXSURMUFJPQykgOiAkKE9CSlMpCi0JJChDQykgJChDRkxB
R1MpICQoRVhFT1BUSU9OKSRAICReICQoTElCUykKLQotJChPQkpESVIpLyUkKE9CSlNVRkZJWCkg
OiAkKFNSQ0RJUikvJS5jCi0JbWtkaXIgLXAgJChkaXIgJEApCi0JJChDQykgJChDRkxBR1MpICQo
T0JKT1BUSU9OKSRAIC1jICQ8Ci0KLSQoT0JKRElSKS8lLmQgOiAkKFNSQ0RJUikvJS5jCi0JbWtk
aXIgLXAgJChkaXIgJEApCi0JY2MgJChwYXRzdWJzdCAlLCAtSSUsICQoSU5DRElSUykpIC1NTSAt
TUcgLU1UICQocGF0c3Vic3QgJS5kLCAlJChPQkpTVUZGSVgpLCAkQCkgJDwgfCBzZWQgJyQocGF0
c3Vic3QgJSwgc3wgXCglXCl8ICQoT0JKRElSKS9cMXw7LCAkKEFVVE9HRU5IRUFERVJTKSknID4k
QAotCi1pbmNsdWRlICQocGF0c3Vic3QgJS5jLCAkKE9CSkRJUikvJS5kLCAkKFNSQ1MpKQotCi0K
LSQoRFREKSA6ICQoRE9DRElSKS9odG1sdG9kdGQueHNsICQoRE9DRElSKS93aWRscHJvYy5odG1s
Ci0JeHNsdHByb2MgLWh0bWwgJF4gPiRACi0KLWNsZWFuIDoKLQlybSAtZiAkKEFMTCkgJChPQkpT
KQotCi12ZXJ5Y2xlYW4gOgotCXJtIC1yZiAkKE9CSkRJUikKLQotU1ZORklMRVMgPSAkKHNoZWxs
IHRlc3QgLWQgLnN2biAmJiBzdm4gaW5mbyAtUiAuIHwgc2VkIC1uICdzL15QYXRoOiBcKC4qXCkk
JC9cMS9wJykKLVNWTkJSQU5DSCA9ICQoc2hlbGwgdGVzdCAtZCAuc3ZuICYmIHN2biBpbmZvIC4g
fCBzZWQgLW4gJ3N8XlVSTDouKi9cKFteL10qXCkkJHxcMXxwJykKLVNWTlJFViA9ICQoc2hlbGwg
dGVzdCAtZCAuc3ZuICYmIHN2biBpbmZvIC1SIC4gfCBzZWQgLW4gJ3MvXkxhc3QgQ2hhbmdlZCBS
ZXY6IFwoWzAtOV1bMC05XSpcKSQkL1wxL3AnIHwgc29ydCAtZyB8IHRhaWwgLTEpCi0KLVNWTkxP
RyA9IGhpc3RvcnkKLSQoU1ZOTE9HKSA6ICQoU1ZORklMRVMpCi0Jc3ZuIGxvZyAtdnJIRUFEOjMx
MSA+JEAKLQotemlwIDogJChPQkpESVIpL3dpZGxwcm9jLSQoU1ZOQlJBTkNIKSQoU1ZOUkVWKS56
aXAKLSQoT0JKRElSKS93aWRscHJvYy0kKFNWTkJSQU5DSCkkKFNWTlJFVikuemlwIDogJChXSURM
UFJPQykgJChEVEQpICQoRE9DRElSKS93aWRscHJvYy5odG1sICQoU1JDRElSKS93aWRscHJvY3ht
bHRvaHRtbC54c2wgTWFrZWZpbGUgJChTVk5MT0cpCi0Jcm0gLWYgJEAKLQl6aXAgLWogJEAgJF4g
LXggTWFrZWZpbGUKLQl6aXAgJEAgZXhhbXBsZXMvKi53aWRsIGV4YW1wbGVzLyouY3NzIGV4YW1w
bGVzL01ha2VmaWxlIGV4YW1wbGVzL1JFQURNRSBleGFtcGxlcy8qLnhzbCBleGFtcGxlcy8qLmh0
bWwKLQotc3JjemlwIDogd2lkbHByb2Mtc3JjLSQoU1ZOQlJBTkNIKSQoU1ZOUkVWKS56aXAKLQot
d2lkbHByb2Mtc3JjLSUuemlwIDogJChTVk5GSUxFUykgJChTVk5MT0cpCi0JemlwICRAICReIAot
Ci1leGFtcGxlcyA6Ci0JJChNQUtFKSAtQyBleGFtcGxlcyBTUkNESVI9Li4vc3JjIE9CSkRJUj0u
Li9vYmogRVhBTVBMRVNPQkpESVI9Li4vb2JqL2V4YW1wbGVzCi0KLXRlc3QgOiAkKE9CSlMpCi0J
JChNQUtFKSAtQyB0ZXN0IFNSQ0RJUj0uLi9zcmMgT0JKRElSPS4uL29iagotCi0uREVMRVRFX09O
X0VSUk9SOgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL1JFQURNRS5tZCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC93aWRscHJvYy9SRUFETUUubWQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDhl
ZDgyNGU3ZDlkLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvUkVBRE1FLm1k
CisrKyAvZGV2L251bGwKQEAgLTEsNDAgKzAsMCBAQAotIyBVc2VzCi0KLXdpZGxwcm9jIGNhbiBi
ZSB1c2VkIHRvIHZhbGlkYXRlIFdlYklETCBpbiBXM0Mgc3BlY2lmaWNhdGlvbnMuIEl0IHNlcnZl
cyBhcyB0aGUgYmFzaXMgZm9yIHRoZSBbVzNDIFdlYiBJREwgb24tbGluZSBjaGVja2VyXShodHRw
Oi8vd3d3LnczLm9yZy8yMDA5LzA3L3dlYmlkbC1jaGVjaykuCi0KLXdpZGxwcm9jJ3MgZ2VuZXJh
dGVkIFhNTCBpcyB1c2VkIHRvIGdlbmVyYXRlIFt3ZWJpbm9zIEphdmFTY3JpcHQgQVBJcyBzcGVj
aWZpY2F0aW9uc10oaHR0cDovL2Rldi53ZWJpbm9zLm9yZy9zcGVjaWZpY2F0aW9ucy9kcmFmdC8p
LgotCi0jIExpY2Vuc2UKLQotd2lkbHByb2MgaXMgbGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSAy
IExpY2Vuc2UuCi0KLSMgT3RoZXJzCi0KLVNlZSBhbHNvIFt3ZWJpZGwuanNdKGh0dHBzOi8vZ2l0
aHViLmNvbS9kYXJvYmluL3dlYmlkbC5qcyksIGEgSmF2YVNjcmlwdC1iYXNlZCBXZWIgSURMIHBh
cnNlciB1c2VkIGJ5IHZhcmlvdXMgdG9vbHMgaW4gVzNDLgotCi0jIENyZWRpdHMKLQotTW9zdCBv
ZiB0aGUgd29yayBvbiB3aWRscHJvYyB3YXMgZG9uZSBieSBUaW0gUmVub3VmIGFuZCBQYWRkeSBC
eWVycy4gQXBsaXggY29ycG9yYXRpb24gb3ducyB0aGUgY29weXJpZ2h0IG9mIHRoZSBjb2RlIHVw
IHRvIEp1bmUgMjAxMS4KLQotVGhlIHRvb2wgaXMga2VwdCB1cCB0byBkYXRlIHdpdGggdGhlIGNo
YW5nZXMgaW4gdGhlIHNwZWMgYnkgRG9taW5pcXVlIEhhemFlbC1NYXNzaWV1eCwgdGhyb3VnaCBm
dW5kaW5nIGZyb20gdGhlIFt3ZWJpbm9zIHByb2plY3RdKGh0dHA6Ly93ZWJpbm9zLm9yZy8pIHNp
bmNlIEp1bmUgMjAxMS4KLQotIyBEb2N1bWVudGF0aW9uCi0KLVNlZSBkb2Mvd2lkbHByb2MuaHRt
bCBpbiB0aGUgdHJlZS4KLQotIyBCdWlsZCBJbnN0cnVjdGlvbnMKLQotIyMgV2luZG93cwotCi1J
bnN0YWxsIHJlcXVpcmVtZW50cwotKiBDeWd3aW4gLSBtdXN0IGluc3RhbGwgbXVzdCBpbnN0YWxs
IGxpYnMvbGlieHNsdAotKiBWaXN1YWwgU3R1ZGlvIGV4cHJlc3MgMjAxMiBvciAyMDEwIChzZWUg
ZGlmZmVyZW5jZSBiZWxvdykKLQotbWFrZWZpbGUgdXNlcyBjeWd3aW4gbWFrZS4gUmVmZXJlbmNl
cyBhcmUgY29kZWQgaW4gdGhlIG1ha2UgZmlsZSB0byBkZXRlY3QgdGVoIGN1cnJlbnQgdmVyc2lv
biBvZiB2aXN1YWwgc3R1ZGlvIAotCi0jIEZ1dHVyZSB3b3JrCi13aW5kb3dzIGJ1aWxkIGNvdWxk
IGJlIGltcHJvdmVkIHRvIGhhbmRsZSBtdWx0aXBlIHZlcnNpb25zIHdpdGggdmN2YXJzLmJhdAot
aHR0cDovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy82MjAyOS92czIwMDgtY29tbWFuZC1w
cm9tcHQtY3lnd2luCi0KLQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvZG9jL2h0
bWx0b2R0ZC54c2wgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvZG9jL2h0bWx0b2R0ZC54c2wKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQ4YjdmNTk3M2ZiLi4wMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3Qvd2lkbHByb2MvZG9jL2h0bWx0b2R0ZC54c2wKKysrIC9kZXYvbnVsbApAQCAtMSwy
OCArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1cy1hc2NpaSI/PgotPCEt
LT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0kSWQkCi1Db3B5cmlnaHQgMjAwOSBBcGxpeCBDb3Jwb3JhdGlvbi4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KLUxpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVy
c2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOwoteW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNl
cHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgotWW91IG1heSBvYnRhaW4gYSBjb3B5
IG9mIHRoZSBMaWNlbnNlIGF0Ci0gICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJ
Q0VOU0UtMi4wCi1Vbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRv
IGluIHdyaXRpbmcsIHNvZnR3YXJlCi1kaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBk
aXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAotV0lUSE9VVCBXQVJSQU5USUVTIE9SIENP
TkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCi1TZWUgdGhl
IExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMg
YW5kCi1saW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KLQotU3R5bGVzaGVldCB0byBleHRy
YWN0IERURCBmb3Igd2lkbHByb2N4bWwgZnJvbSB3aWRscHJvYy5odG1sCi09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0t
LT4KLTx4c2w6c3R5bGVzaGVldCB4bWxuczp4c2w9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvWFNM
L1RyYW5zZm9ybSIgdmVyc2lvbj0iMS4wIj4KLTx4c2w6b3V0cHV0IG1ldGhvZD0idGV4dCIgZW5j
b2Rpbmc9InVzLWFzY2lpIiBpbmRlbnQ9Im5vIi8+Ci0KLTwhLS0gPHByZSBjbGFzcz0iZHRkIj4g
ZWxlbWVudCAtLT4KLTx4c2w6dGVtcGxhdGUgbWF0Y2g9InByZVtAY2xhc3M9J2R0ZCddIj4KLSAg
ICA8eHNsOnZhbHVlLW9mIHNlbGVjdD0iLiIvPgotPC94c2w6dGVtcGxhdGU+Ci0KLTwhLS1JZ25v
cmUgb3RoZXIgdGV4dC4gLS0+Ci08eHNsOnRlbXBsYXRlIG1hdGNoPSJ0ZXh0KCkiIHByaW9yaXR5
PSItMTAwIi8+Ci0KLTwveHNsOnN0eWxlc2hlZXQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lk
bHByb2MvZG9jL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL2RvYy93M2MtaW1w
b3J0LmxvZwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTc3NDgzY2UzZTkuLjAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9kb2MvdzNjLWltcG9ydC5sb2cKKysrIC9k
ZXYvbnVsbApAQCAtMSwxOSArMCwwIEBACi1UaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2Vy
ZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KLURvIE5PVCBtb2RpZnkgdGhlc2Ug
dGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0
IG9uIHRoZSBXM0MgQ1NTIG9yIFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3czYy9j
c3N3Zy10ZXN0Ci0JaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMKLQot
VGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8g
cmVpbXBvcnQKLQotRG8gTk9UIG1vZGlmeSBvciByZW1vdmUgdGhpcyBmaWxlLgotCi0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0KLVByb3BlcnRpZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKLU5vbmUKLVBy
b3BlcnR5IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgotTm9uZQotLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tCi1MaXN0IG9mIGZpbGVzOgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9kb2MvaHRtbHRvZHRk
LnhzbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9kb2Mvd2lkbHByb2MuaHRtbApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3dpZGxwcm9jL2RvYy93aWRscHJvYy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9j
L2RvYy93aWRscHJvYy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0ZWI0MmMz
OWJiOS4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL2RvYy93aWRscHJvYy5o
dG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTEyNCArMCwwIEBACi08IURPQ1RZUEUgSFRNTCBQVUJM
SUMgIi0vL1czQy8vRFREIEhUTUwgNC4wMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9UUi9odG1s
NC9zdHJpY3QuZHRkIj4KLTwhLS09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotQ29weXJpZ2h0IDIwMDkgQXBsaXggQ29y
cG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi1MaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hl
IExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKLXlvdSBtYXkgbm90IHVzZSB0
aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KLVlvdSBtYXkg
b2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAotICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9y
Zy9saWNlbnNlcy9MSUNFTlNFLTIuMAotVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3
IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQotZGlzdHJpYnV0ZWQgdW5kZXIgdGhl
IExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKLVdJVEhPVVQgV0FS
UkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBs
aWVkLgotU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5n
IHBlcm1pc3Npb25zIGFuZAotbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCi09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0tLT4KLTxodG1sPgotPGhlYWQ+Ci08bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUi
IGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD11cy1hc2NpaSI+Ci08dGl0bGU+d2lkbHByb2M8
L3RpdGxlPgotPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KLSAgICBib2R5IHsgY29sb3I6IGJsYWNr
OyBmb250OiAxMHB0IHZlcmRhbmE7IH0KLSAgICBhOmxpbmsgeyB0ZXh0LWRlY29yYXRpb246IG5v
bmU7IH0KLSAgICBhOnZpc2l0ZWQgeyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH0KLSAgICBhOmhv
dmVyIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH0KLSAgICBkdCB7IG1hcmdpbi10b3A6
IDAuNWVtOyB9Ci0gICAgZGQgeyBtYXJnaW4tbGVmdDogMWVtOyBtYXJnaW4tYm90dG9tOiAwLjVl
bTsgfQotICAgIGxpIHsgbWFyZ2luLWJvdHRvbTogMDsgfQotICAgIGg0IHsgZm9udC1zaXplOiAx
MHB0OyB9Ci0gICAgdGFibGUgeyBib3JkZXI6IDFweCBzb2xpZDsgYm9yZGVyLWNvbGxhcHNlOiBj
b2xsYXBzZTsgfQotICAgIHRkIHsgYm9yZGVyOiAxcHggc29saWQ7IH0KLSAgICB0aCB7IGJvcmRl
cjogMXB4IHNvbGlkOyB9Ci0gICAgY29kZSB7IGJhY2tncm91bmQtY29sb3I6ICNmMGYwZjA7IH0K
LSAgICBwcmUgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmMGYwOyB9Ci0gICAgLmluZGVudCB7IG1h
cmdpbi1sZWZ0OiAzZW07IH0KLSAgICAuaXNzdWUgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBDQ0ND
OyB9Ci08L3N0eWxlPgotPC9oZWFkPgotPGJvZHk+Ci08aDE+d2lkbHByb2M8L2gxPgotCi08cD5U
aW0gUmVub3VmLCBBcGxpeCBDb3JwPC9wPgotPHA+JElkJAotPC9wPgotCi08aDI+SW50cm9kdWN0
aW9uPC9oMj4KLQotPHA+Ci13aWRscHJvYyBpcyBhIHByb2Nlc3NvciB0aGF0IGFjY2VwdHMgYXMg
aW5wdXQKLTxhIGhyZWY9IiN3ZWJpZGwiPldlYiBJREw8L2E+ICh0aGUgMzAgU2VwdGVtYmVyIDIw
MDkgZWRpdG9yJ3MgZHJhZnQpLAotd2l0aCBjb21tZW50cyBpbiBhIHN1YnNldCBvZiB0aGUgZm9y
bWF0IHVzZWQgYnkKLTxhIGhyZWY9IiNkb3h5Z2VuIj5Eb3h5Z2VuPC9hPi4KLVRoZSBmb3JtYXQg
aXQgYWNjZXB0cyBpcyBwcm9wb3NlZCBieSBBcGxpeCBmb3IgYXV0aG9yaW5nCi08YSBocmVmPSIj
Ym9uZGkiPkJPTkRJPC9hPiBpbnRlcmZhY2UgZGVmaW5pdGlvbnMuCi08L3A+Ci0KLTxwPgotVGhl
IG91dHB1dCBvZiB3aWRscHJvYyBpcyBhbiBYTUwgcmVwcmVzZW50YXRpb24gb2YgdGhlCi08YSBo
cmVmPSIjd2ViaWRsIj5XZWIgSURMPC9hPiBpbnB1dCwKLXdpdGggYWRkZWQgWE1MIGVsZW1lbnRz
IHJlcHJlc2VudGluZyB0aGUKLTxhIGhyZWY9IiNkb3h5Z2VuIj5Eb3h5Z2VuPC9hPi1saWtlIGNv
bW1lbnRzLgotPC9wPgotCi08aDI+VXNhZ2U8L2gyPgotCi08cD4KLTxjb2RlPndpZGxwcm9jIDxp
PmZpbGVuYW1lPC9pPjwvY29kZT4KLTwvcD4KLQotPHA+Ci13aWRscHJvYyByZWFkcyB0aGUgZmls
ZSBuYW1lZCA8ZW0+ZmlsZW5hbWU8L2VtPiwgYW5kIAotc2VuZHMgaXRzIFhNTCBvdXRwdXQgZm9y
bWF0IHRvIHN0ZG91dC4KLTwvcD4KLQotPGgyPklucHV0IGZvcm1hdDwvaDI+Ci0KLTxwPgotVGhl
IGlucHV0IGZvcm1hdCBhY2NlcHRlZCBieSB3aWRscHJvYyBpcwotPGEgaHJlZj0iI3dlYmlkbCI+
V2ViIElETDwvYT4KLSh3aXRoIGFuIGV4dGVuc2lvbiB1c2VkIGluIHRoZQotPGEgaHJlZj0iI3cz
Y2dlbyI+VzNDIEdlb2xvY2F0aW9uIEFQSTwvYT4pLAotd2l0aCBjb21tZW50cyBpbiBhIGZvcm1h
dCByZW1pbmlzY2VudCBvZiB0aGF0IHVzZWQgYnkKLTxhIGhyZWY9IiNkb3h5Z2VuIj5Eb3h5Z2Vu
PC9hPi4KLTwvcD4KLQotPGgzPldlYiBJREwgZXh0ZW5zaW9uIGZyb20gVzNDIGdlb2xvY2F0aW9u
IEFQSTwvaDM+Ci0KLTxoND5kb3VibGU8L2g0PgotCi08cD4KLTxjb2RlPmRvdWJsZTwvY29kZT4g
aXMgYWxsb3dlZCBhcyBhIERlY2xhcmF0aW9uVHlwZSBvciBhIEJveGVkVHlwZS4KLTwvcD4KLQot
PGgzPkRveHlnZW4tbGlrZSBjb21tZW50IGludHJvZHVjdGlvbjwvaDM+Ci0KLTxwPgotT25seSBh
IHNtYWxsIHN1YnNldCBvZiBEb3h5Z2VuIGZ1bmN0aW9uYWxpdHkgaXMgc3VwcG9ydGVkIGJ5Ci13
aWRscHJvYywgcGx1cyBhZGRpdGlvbnMgdG8gaGFuZGxlIHRoZSBCT05ESSBjb25jZXB0cyBvZiBB
UEkgZmVhdHVyZXMKLWFuZCBkZXZpY2UgY2FwYWJpbGl0aWVzLgotPC9wPgotCi08cD4KLUluIHBh
cnRpY3VsYXIsIG5vIGxpbmtzIGFyZSBhZGRlZCBhdXRvbWF0aWNhbGx5LiAoVGhpcyBjb3VsZCBi
ZSBhZGRlZAotaW4gdGhlIGZ1dHVyZS4pCi08L3A+Ci0KLTxoMz5Eb3h5Z2VuIGNvbW1lbnQgYmxv
Y2s8L2gzPgotCi08aDQ+Q29tbWVudCByZWZlcnJhbCBwb2ludDwvaDQ+Ci0KLTxwPgotRWFjaCA8
ZW0+RG94eWdlbiBjb21tZW50IGJsb2NrPC9lbT4gcmVmZXJzIHRvIGEgPGVtPmNvbW1lbnQgcmVm
ZXJyYWwKLXBvaW50PC9lbT4gaW4gdGhlIFdlYiBJREwsIG9uZSBvZgotbW9kdWxlLCBpbnRlcmZh
Y2UsIGV4Y2VwdGlvbiwgY29uc3QsIGF0dHJpYnV0ZSwgb3BlcmF0aW9uIG9yIGFyZ3VtZW50Lgot
PC9wPgotCi08aDQ+QmxvY2sgY29tbWVudDwvaDQ+Ci0KLTxwPgotQSBibG9jayBjb21tZW50IChk
ZWxpbWl0ZWQgYnkgPGNvZGU+LyogKi88L2NvZGU+KSB3aG9zZSBmaXJzdCBjaGFyYWN0ZXIKLWFm
dGVyIHRoZSA8Y29kZT4vKjwvY29kZT4gaXMgPGNvZGU+ITwvY29kZT4gb3IgYSBzZWNvbmQgPGNv
ZGU+KjwvY29kZT4KLWlzIGEgPGVtPkRveHlnZW4gY29tbWVudCBibG9jazwvZW0+LgotPC9wPgot
Ci08cD4KLU5vcm1hbGx5IHRoZSBjb21tZW50IGJsb2NrIHJlZmVycyB0byB0aGUgbmV4dCBjb21t
ZW50IHJlZmVycmFsIHBvaW50IGluCi10aGUgV2ViIElETC4KLUlmIHRoZSBmaXJzdCBjaGFyYWN0
ZXIgaXMgPGNvZGU+Jmx0OzwvY29kZT4sIHNvIHRoZSBjb21tZW50IGJsb2NrIGlzIGludHJvZHVj
ZWQKLXdpdGggPGNvZGU+LyoqJmx0OzwvY29kZT4gb3IgPGNvZGU+LyohJmx0OzwvY29kZT4gLCB0
aGVuIHRoZSBjb21tZW50IGJsb2NrCi1yZWZlcnMgYmFjayB0byB0aGUgcHJldmlvdXMgY29tbWVu
dCByZWZlcnJhbCBwb2ludC4KLTwvcD4KLQotPHA+Ci1UaGUgdGV4dCBvZiB0aGUgY29tbWVudCBi
bG9jawotZXhjbHVkZXMgdGhlIGluaXRpYWwgPGNvZGU+ITwvY29kZT4gb3IgPGNvZGU+KjwvY29k
ZT4gKGFuZCB0aGUgPGNvZGU+Jmx0OzwvY29kZT4KLWZvciBhIHJlZmVycmluZyBiYWNrIGJsb2Nr
KSwKLWFuZCBleGNsdWRlcyBhbiBpbml0aWFsIChhZnRlciB3aGl0ZXNwYWNlKSA8Y29kZT4qPC9j
b2RlPgotb24gZWFjaCBsaW5lLAotYW5kLCB3aGVuIG5vdCBpbiBhIDxhIGhyZWY9IiNjb2RlIj48
Y29kZT5cY29kZTwvY29kZT48L2E+IGJsb2NrLAotZXhjbHVkZXMgYW55IGxpbmUgY29uc2lzdGlu
ZyBlbnRpcmVseSBvZiB3aGl0ZXNwYWNlLCB0aGVuIDxjb2RlPio8L2NvZGU+Ci1jaGFyYWN0ZXJz
LCB0aGVuIHdoaXRlc3BhY2UuCi08L3A+Ci0KLTxwPgotd2lkbHByb2MgZG9lcyBub3Qgc3VwcG9y
dCBEb3h5Z2VuIGNvbW1hbmRzIHRvIGZvcmNlIGEgY29tbWVudAotYmxvY2sgdG8gcmVmZXIgdG8g
YSBkaWZmZXJlbnQgcmVmZXJyYWwgcG9pbnQuCi08L3A+Ci0KLTxoND5JbmxpbmUgY29tbWVudHM8
L2g0PgotCi08cD4KLVRoZSBtYXhpbWFsIHNlcXVlbmNlIG9mIGlubGluZSBjb21tZW50cyAoZGVs
aW1pdGVkIGJ5IDxjb2RlPi8vPC9jb2RlPikKLW9uIGFkamFjZW50IGxpbmVzLCB3aGVyZSBhbGwg
b2YgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGhvbGQ6Ci08L3A+Ci08dWw+Ci08bGk+Ci1lYWNo
IGhhcyBhIGZpcnN0IGNoYXJhY3RlciBhZnRlciB0aGUgPGNvZGU+LzwvY29kZT4gb2YgPGNvZGU+
ITwvY29kZT4gb3IKLWEgdGhpcmQgPGNvZGU+LzwvY29kZT47Ci08bGk+Ci1ubyBjb21tZW50IHJl
ZmVycmFsIHBvaW50IGludGVydmVuZXM7Ci08bGk+Ci1laXRoZXIgZWFjaCBjb21tZW50IGluIHRo
ZSBzZXF1ZW5jZSBzdGFydHMgd2l0aCBhIDxjb2RlPiZsdDs8L2NvZGU+Ci0oc2VlIGJlbG93KSwg
b3Igbm9uZSBkb2VzOwotPGxpPgotdGhlIHNlcXVlbmNlIGNvbnRhaW5zIGF0IGxlYXN0IHR3byBp
bmxpbmUgY29tbWVudHMsIG9yLCBpZiBvbmx5IG9uZSwKLXRoZW4gaXQgc3RhcnRzIHdpdGggPGNv
ZGU+Jmx0OzwvY29kZT4gKHNlZSBiZWxvdyk7Ci08L3VsPgotPHA+Ci1mb3JtcyBhIDxlbT5Eb3h5
Z2VuIGNvbW1lbnQgYmxvY2s8L2VtPi4KLTwvcD4KLQotPHA+Ci1Ob3JtYWxseSB0aGUgY29tbWVu
dCBibG9jayByZWZlcnMgdG8gdGhlIG5leHQgY29tbWVudCByZWZlcnJhbCBwb2ludCBpbgotdGhl
IFdlYiBJREwuCi1JZiB0aGUgZmlyc3QgY2hhcmFjdGVyIG9mIGVhY2ggY29tbWVudCBpcyA8Y29k
ZT4mbHQ7PC9jb2RlPiwgc28gZWFjaAotY29tbWVudCBpbiB0aGUgYmxvY2sgaXMgaW50cm9kdWNl
ZAotd2l0aCA8Y29kZT4vLy8mbHQ7PC9jb2RlPiBvciA8Y29kZT4vLyEmbHQ7PC9jb2RlPiAsIHRo
ZW4gdGhlIGNvbW1lbnQgYmxvY2sKLXJlZmVycyBiYWNrIHRvIHRoZSBwcmV2aW91cyBjb21tZW50
IHJlZmVycmFsIHBvaW50LgotPC9wPgotCi08cD4KLVRoZSB0ZXh0IG9mIHRoZSBjb21tZW50IGJs
b2NrCi1leGNsdWRlcyB0aGUgaW5pdGlhbCA8Y29kZT4hPC9jb2RlPiBvciA8Y29kZT4vPC9jb2Rl
PiAoYW5kIHRoZSA8Y29kZT4mbHQ7PC9jb2RlPgotZm9yIGEgcmVmZXJyaW5nIGJhY2sgYmxvY2sp
IG9mIGVhY2ggaW5saW5lIGNvbW1lbnQsCi1hbmQsIHdoZW4gbm90IGluIGEgPGEgaHJlZj0iI2Nv
ZGUiPjxjb2RlPlxjb2RlPC9jb2RlPjwvYT4gYmxvY2ssCi1leGNsdWRlcyBhbnkgbGluZSBjb25z
aXN0aW5nIGVudGlyZWx5IG9mIHdoaXRlc3BhY2UsIHRoZW4gPGNvZGU+LzwvY29kZT4KLWNoYXJh
Y3RlcnMsIHRoZW4gd2hpdGVzcGFjZS4KLTwvcD4KLQotPHA+Ci13aWRscHJvYyBkb2VzIG5vdCBz
dXBwb3J0IERveHlnZW4gY29tbWFuZHMgdG8gZm9yY2UgYSBjb21tZW50Ci1ibG9jayB0byByZWZl
ciB0byBhIGRpZmZlcmVudCByZWZlcnJhbCBwb2ludC4KLTwvcD4KLQotPGgzPlBhcmFncmFwaDwv
aDM+Ci0KLTxwPgotQSBjb21tZW50IGJsb2NrIGlzIGJyb2tlbiBpbnRvIHplcm8gb3IgbW9yZSA8
ZW0+cGFyYWdyYXBoPC9lbT5zLgotT25lIG9yIG1vcmUgYmxhbmsgbGluZXMgYnJlYWsgdGhlIHBh
cmFncmFwaHMgKHVubGVzcyBpbiBhCi08YSBocmVmPSIjY29kZSI+PGNvZGU+XGNvZGU8L2NvZGU+
PC9hPiBibG9jaykuCi08L3A+Ci0KLTxwPgotQ2VydGFpbiBjb21tYW5kcyAoYmVsb3cpIGFsc28g
c3RhcnQgYSBuZXcgcGFyYWdyYXBoLgotPC9wPgotCi08cD4KLUFuCi08YSBocmVmPSIjaHRtbCI+
SFRNTCBibG9jayBlbGVtZW50PC9hPgotaXMgYSBwYXJhZ3JhcGguCi1BIGJsYW5rIGxpbmUgKG90
aGVyIHRoYW4gaW4gYQotPGEgaHJlZj0iI2NvZGUiPjxjb2RlPlxjb2RlPC9jb2RlPjwvYT4gYmxv
Y2spCi1pbXBsaWNpdGx5IGNsb3NlcyBhbnkgb3BlbiBIVE1MIGVsZW1lbnRzLCB0aHVzIGVuZGlu
ZyB0aGUgcGFyYWdyYXBoLgotPC9wPgotCi08aDM+RG94eWdlbi1saWtlIGNvbW1hbmRzPC9oMz4K
LQotPHA+Ci13aWRscHJvYyBzdXBwb3J0cyBhIHNtYWxsIHN1YnNldCBvZiBEb3h5Z2VuIGNvbW1h
bmRzLCBwbHVzIHNvbWUgYWRkaXRpb25zCi10byBoYW5kbGUgQk9OREkgQVBJIGZlYXR1cmVzIGFu
ZCBkZXZpY2UgY2FwYWJpbGl0aWVzLgotPC9wPgotCi08cD4KLUEgY29tbWFuZCBpcyBhbHdheXMg
aW50cm9kdWNlZCB3aXRoIGEgPGNvZGU+XDwvY29kZT4gY2hhcmFjdGVyLgotVGhlIERveHlnZW4g
YWx0ZXJuYXRpdmUgKGZyb20gSmF2YURvYykgb2YgPGNvZGU+QDwvY29kZT4gaXMgbm90Ci1zdXBw
b3J0ZWQuCi08L3A+Ci0KLTxoNCBpZD0iYXBpLWZlYXR1cmUiPlxhcGktZmVhdHVyZTwvaDQ+Ci0K
LTxwPgotU3RhcnRzIGEgbmV3IHBhcmFncmFwaC4gVGhlIGZvbGxvd2luZyB3b3JkIGlzIHRoZSBu
YW1lIG9mIGFuIEFQSSBmZWF0dXJlCi11c2VkIGJ5IHRoZSBtZXRob2QgYmVpbmcgZG9jdW1lbnRl
ZC4gVGhlIHJlbWFpbmRlciBvZiB0aGUgcGFyYWdyYXBoIGlzCi1hbnkgZGVzY3JpcHRpb24gcmVx
dWlyZWQgb2YgaG93IChlZyBpbiB3aGF0IGNpcmN1bXN0YW5jZSkgdGhlIEFQSSBmZWF0dXJlCi1p
cyB1c2VkLgotPC9wPgotCi08aDQ+XG5hbWU8L2g0PgotCi08cD4KLURlY2xhcmVzIGEgbmFtZSBm
b3IgdGhlIGRvY3VtZW50IG5vZGUgYXNzb2NpYXRlZCB3aXRoIHRoZSBjdXJyZW50IHJlZmVycmFs
Ci1wb2ludC4gVGhpcyBpcyB1c2VmdWwgZm9yIHRoZSByb290IGRvY3VtZW50IG5vZGUgdGhhdCBv
dGhlcndpc2UgZG9lcyBub3QgaGF2ZQotYSBXZWJJREwgaWRlbnRpZmllci4KLTwvcD4KLQotPGg0
PlxhdXRob3I8L2g0PgotCi08cD4KLVN0YXJ0cyBhIG5ldyBwYXJhZ3JhcGguIFRoZSByZW1haW5k
ZXIgb2YgdGhlIHBhcmFncmFwaCBjb250YWlucwotaW5mb3JtYXRpb24gYWJvdXQgYSBzaW5nbGUg
YXV0aG9yIG9mIHRoZSBzcGVjaWZpY2F0aW9uLiBNdWx0aXBsZQotPGNvZGU+XGF1dGhvcjwvY29k
ZT4gY29tbWFuZHMgc2hvdWxkIGJlIHVzZWQgZm9yIG11bHRpcGxlIGF1dGhvcnMuCi08L3A+Ci0K
LTxwPgotKEhlcmUgd2lkbHByb2MgZGlmZmVycyBmcm9tIERveHlnZW47IERveHlnZW4gYWxzbyBh
bGxvd3MKLW11bHRpcGxlIGF1dGhvcnMgb24gc2VwYXJhdGUgbGluZXMgdG8gYXBwZWFyIGluIG9u
ZSA8Y29kZT5cYXV0aG9yPC9jb2RlPgotcGFyYWdyYXBoLikKLTwvcD4KLQotPGg0PlxiPC9oND4K
LQotPHA+Ci1UaGlzIHJlbmRlcnMgdGhlIG5leHQgd29yZCBhcyBib2xkLiBJdCBpcyBlcXVpdmFs
ZW50IHRvIGVuY2xvc2luZyB0aGUKLW5leHQgd29yZCB3aXRoIDxjb2RlPiZsdDtiPiAmbHQ7L2I+
PC9jb2RlPi4KLTwvcD4KLQotPGg0PlxicmllZjwvaDQ+Ci0KLTxwPgotU3RhcnRzIGEgbmV3IHBh
cmFncmFwaC4gVGhlIHJlbWFpbmRlciBvZiB0aGUgcGFyYWdyYXBoIGNvbnRhaW5zIGEgYnJpZWYK
LWRlc2NyaXB0aW9uIG9mIHRoZSBlbnRpdHkgYmVpbmcgZG9jdW1lbnRlZC4KLTwvcD4KLQotPGg0
IGlkPSJjb2RlIj5cY29kZSwgXGVuZGNvZGU8L2g0PgotCi08cD4KLTxjb2RlPlxjb2RlPC9jb2Rl
Pgotc3RhcnRzIGEgbmV3IHBhcmFncmFwaCB3aGljaCBpcyBhIDxlbT5jb2RlIGJsb2NrPC9lbT4u
IFRoZSBjb2RlIGJsb2NrCi1lbmRzIGF0IHRoZSBuZXh0IDxjb2RlPlxlbmRjb2RlPC9jb2RlPiBj
b21tYW5kLgotPC9wPgotCi08cD4KLVdpdGhpbiB0aGUgY29kZSBibG9jaywgd2hpdGVzcGFjZSBh
bmQgbmV3bGluZXMgYXJlIHBhc3NlZCB2ZXJiYXRpbSBpbnRvCi10aGUgb3V0cHV0LgotPC9wPgot
Ci08aDQgaWQ9ImRlZi1hcGktZmVhdHVyZSI+XGRlZi1hcGktZmVhdHVyZTwvaDQ+Ci0KLTxwPgot
U3RhcnRzIGEgbmV3IHBhcmFncmFwaC4gVGhlIGZvbGxvd2luZyB3b3JkIGlzIHRoZSBuYW1lIG9m
IHRoZSBBUEkgZmVhdHVyZQotd2hpY2ggaXMgZGVmaW5lZCBoZXJlLiBUaGUgZGVzY3JpcHRpb24g
aXMgYW4gPGVtPmRlZi1hcGktZmVhdHVyZSBibG9jazwvZW0+LAotY29uc2lzdGluZyBvZiB0aGUK
LXJlbWFpbmRlciBvZiB0aGUgcGFyYWdyYXBoLCB0b2dldGhlciB3aXRoCi1mdXJ0aGVyIHBhcmFn
cmFwaHMgaW4gdGhlIHNhbWUgYmxvY2sgY29tbWVudCBlYWNoIG9mIHdoaWNoIGlzIGEgcGxhaW4K
LXBhcmFncmFwaCwgYSBwYXJhZ3JhcGggc3RhcnRlZCBkdWUgdG8gSFRNTCBtYXJrdXAsIGEgPGNv
ZGU+XGJyaWVmPC9jb2RlPgotcGFyYWdyYXBoLCBvciBhCi08YSBocmVmPSIjZGV2aWNlLWNhcCI+
PGNvZGU+XGRldmljZS1jYXA8L2NvZGU+PC9hPgotcGFyYWdyYXBoLgotPC9wPgotCi08aDQgaWQ9
ImRlZi1hcGktZmVhdHVyZS1zZXQiPlxkZWYtYXBpLWZlYXR1cmUtc2V0PC9oND4KLQotPHA+Ci1T
dGFydHMgYSBuZXcgcGFyYWdyYXBoLiBUaGUgZm9sbG93aW5nIHdvcmQgaXMgdGhlIG5hbWUgb2Yg
dGhlIEFQSSBmZWF0dXJlCi1zZXQgd2hpY2ggaXMgZGVmaW5lZCBoZXJlLiBUaGUgZGVzY3JpcHRp
b24gaXMgYW4gPGVtPmRlZi1hcGktZmVhdHVyZS1zZXQgYmxvY2s8L2VtPiwKLWNvbnNpc3Rpbmcg
b2YgdGhlCi1yZW1haW5kZXIgb2YgdGhlIHBhcmFncmFwaCwgdG9nZXRoZXIgd2l0aAotZnVydGhl
ciBwYXJhZ3JhcGhzIGluIHRoZSBzYW1lIGJsb2NrIGNvbW1lbnQgZWFjaCBvZiB3aGljaCBpcyBh
IHBsYWluCi1wYXJhZ3JhcGgsIGEgcGFyYWdyYXBoIHN0YXJ0ZWQgZHVlIHRvIEhUTUwgbWFya3Vw
LCBhIDxjb2RlPlxicmllZjwvY29kZT4KLXBhcmFncmFwaCwgb3IgYQotPGEgaHJlZj0iI2Rldmlj
ZS1jYXAiPjxjb2RlPlxhcGktZmVhdHVyZTwvY29kZT48L2E+Ci1wYXJhZ3JhcGguCi08L3A+Ci0K
LTxoND5cZGVmLWRldmljZS1jYXA8L2g0PgotCi08cD4KLVN0YXJ0cyBhIG5ldyBwYXJhZ3JhcGgu
IFRoZSBmb2xsb3dpbmcgd29yZCBpcyB0aGUgbmFtZSBvZiB0aGUgZGV2aWNlIGNhcGFiaWxpdHkK
LXdoaWNoIGlzIGRlZmluZWQgaGVyZS4gVGhlIGRlc2NyaXB0aW9uIGNvbnNpc3RzIG9mIHRoZQot
cmVtYWluZGVyIG9mIHRoZSBwYXJhZ3JhcGgsIHRvZ2V0aGVyIHdpdGgKLWZ1cnRoZXIgcGFyYWdy
YXBocyBpbiB0aGUgc2FtZSBibG9jayBjb21tZW50IGVhY2ggb2Ygd2hpY2ggaXMgYSBwbGFpbgot
cGFyYWdyYXBoLCBhIHBhcmFncmFwaCBzdGFydGVkIGR1ZSB0byBIVE1MIG1hcmt1cCwgYSA8Y29k
ZT5cYnJpZWY8L2NvZGU+Ci1wYXJhZ3JhcGgsIG9yIGEKLTxhIGhyZWY9IiNwYXJhbSI+PGNvZGU+
XHBhcmFtPC9jb2RlPjwvYT4KLXBhcmFncmFwaC4KLTwvcD4KLQotPGg0IGlkPSJkZWYtaW5zdGFu
dGlhdGVkIj5cZGVmLWluc3RhbnRpYXRlZDwvaDQ+Ci0KLTxwPgotU3RhcnRzIGEgbmV3IHBhcmFn
cmFwaC4gIFRoZSBkZXNjcmlwdGlvbiBpcyBhbiA8ZW0+ZGVmLWluc3RhbnRpYXRlZCBibG9jazwv
ZW0+LAotY29uc2lzdGluZyBvZiB0aGUKLXJlbWFpbmRlciBvZiB0aGUgcGFyYWdyYXBoLCB0b2dl
dGhlciB3aXRoCi1mdXJ0aGVyIHBhcmFncmFwaHMgaW4gdGhlIHNhbWUgYmxvY2sgY29tbWVudCBl
YWNoIG9mIHdoaWNoIGlzIGEgcGxhaW4KLXBhcmFncmFwaCwgYSBwYXJhZ3JhcGggc3RhcnRlZCBk
dWUgdG8gSFRNTCBtYXJrdXAsIGEgPGNvZGU+XGJyaWVmPC9jb2RlPgotcGFyYWdyYXBoLCBvciBh
Ci08YSBocmVmPSIjYXBpLWZlYXR1cmUiPjxjb2RlPlxhcGktZmVhdHVyZTwvY29kZT48L2E+Ci1w
YXJhZ3JhcGguCi08L3A+Ci0KLTxoNCBpZD0iZGV2aWNlLWNhcCI+XGRldmljZS1jYXA8L2g0Pgot
Ci08cD4KLVN0YXJ0cyBhIG5ldyBwYXJhZ3JhcGguCi1UaGlzIGNvbW1hbmQgY2FuIGFwcGVhciBv
bmx5IGluc2lkZSBhbgotPGEgaHJlZj0iI2RlZi1hcGktZmVhdHVyZSI+ZGVmLWFwaS1mZWF0dXJl
IGJsb2NrPC9hPi4KLVRoZSBmb2xsb3dpbmcgd29yZCBpcyB0aGUgbmFtZSBvZiBhIGRldmljZSBj
YXBhYmlsaXR5Ci11c2VkIGJ5IHRoZSBBUEkgZmVhdHVyZSBiZWluZyBkb2N1bWVudGVkLgotVGhl
IHJlbWFpbmRlciBvZiB0aGUgcGFyYWdyYXBoIGlzCi1hbnkgZGVzY3JpcHRpb24gcmVxdWlyZWQg
b2YgaG93IChlZyBpbiB3aGF0IGNpcmN1bXN0YW5jZSkgdGhlIGRldmljZSBjYXBhYmlsaXR5Ci1p
cyB1c2VkLgotPC9wPgotCi08aDQ+XG48L2g0PgotCi08cD4KLUNyZWF0ZXMgYSBsaW5lIGJyZWFr
IGluIHRoZSBvdXRwdXQuCi08L3A+Ci0KLTxoNCBpZD0icGFyYW0iPlxwYXJhbTwvaDQ+Ci0KLTxw
PgotU3RhcnRzIGEgbmV3IHBhcmFncmFwaC4gVGhpcyB0YWtlcyB0aGUgZm9sbG93aW5nIHdvcmQg
YXMgdGhlIG5hbWUgb2YKLWEgcGFyYW1ldGVyIChhcmd1bWVudCkgb2YgdGhlIGVudGl0eSBiZWlu
ZyBkb2N1bWVudGVkLCB0aGVuIG1ha2VzIHRoZQotcmVtYWluZGVyIG9mIHRoZSBwYXJhZ3JhcGgg
cmVmZXIgdG8gdGhhdCBwYXJhbWV0ZXIuCi08L3A+Ci0KLTxoND5ccmV0dXJuPC9oND4KLQotPHA+
Ci1TdGFydHMgYSBuZXcgcGFyYWdyYXBoLiBUaGUgcmVtYWluZGVyIG9mIHRoZSBwYXJhZ3JhcGgg
aXMgbWFkZSB0byByZWZlciB0bwotdGhlIHJldHVybiB0eXBlIG9mIHRoZSBlbnRpdHkgYmVpbmcg
ZG9jdW1lbnRlZC4KLTwvcD4KLQotPGg0Plx0aHJvdzwvaDQ+Ci0KLTxwPgotU3RhcnRzIGEgbmV3
IHBhcmFncmFwaC4gVGhlIG5leHQgd29yZCBpcyB0YWtlbiB0byBiZSB0aGUgbmFtZSBvZiBhbgot
ZXhjZXB0aW9uIHRocm93biBieSB0aGUgZW50aXR5IGJlaW5nIGRvY3VtZW50ZWQsIGFuZCB0aGUg
cmVtYWluZGVyIG9mCi10aGUgcGFyYWdyYXBoIGRvY3VtZW50cyB0aGF0IGV4Y2VwdGlvbiAoaW4g
dGhlIDxjb2RlPnJhaXNlczwvY29kZT4gbGlzdCBvZgotYW4gPGNvZGU+b3BlcmF0aW9uPC9jb2Rl
Piwgb3IgdGhlIDxjb2RlPnNldHJhaXNlczwvY29kZT4KLWNsYXVzZSBvZiBhbiA8Y29kZT5hdHRy
aWJ1dGU8L2NvZGU+KS4KLTwvcD4KLQotPGg0Plx2ZXJzaW9uPC9oND4KLQotPHA+Ci1TdGFydHMg
YSBuZXcgcGFyYWdyYXBoLiBUaGUgcmVtYWluZGVyIG9mIHRoZSBwYXJhZ3JhcGggY29udGFpbnMK
LXZlcnNpb24gbnVtYmVyIGluZm9ybWF0aW9uLgotPC9wPgotCi08aDM+RXNjYXBlIHNlcXVlbmNl
czwvaDM+Ci0KLTxwPgotVGhlIGZvbGxvd2luZyBlc2NhcGUgc2VxdWVuY2VzIGFyZSByZWNvZ25p
emVkIGluIGEgY29tbWVudCBibG9jazoKLTwvcD4KLQotPHRhYmxlPgotPHRyPgotPHRoPmVzY2Fw
ZSBzZXF1ZW5jZQotPHRoPnJlc3VsdAotPHRyPgotPHRkPjxjb2RlPlxcPC9jb2RlPgotPHRkPjxj
b2RlPlw8L2NvZGU+Ci08dHI+Ci08dGQ+PGNvZGU+XCZhbXA7PC9jb2RlPgotPHRkPjxjb2RlPiZh
bXA7PC9jb2RlPiAoZXNjYXBlZCB0byA8Y29kZT4mYW1wO2FtcDs8L2NvZGU+IGluIG91dHB1dCBY
TUwpCi08dHI+Ci08dGQ+PGNvZGU+XCQ8L2NvZGU+Ci08dGQ+PGNvZGU+JDwvY29kZT4KLTx0cj4K
LTx0ZD48Y29kZT5cIzwvY29kZT4KLTx0ZD48Y29kZT4jPC9jb2RlPgotPHRyPgotPHRkPjxjb2Rl
PlwmbHQ7PC9jb2RlPgotPHRkPjxjb2RlPiZsdDs8L2NvZGU+IChlc2NhcGVkIHRvIDxjb2RlPiZh
bXA7bHQ7PC9jb2RlPiBpbiBvdXRwdXQgWE1MKQotPHRyPgotPHRkPjxjb2RlPlw+PC9jb2RlPgot
PHRkPjxjb2RlPj48L2NvZGU+Ci08dHI+Ci08dGQ+PGNvZGU+XCU8L2NvZGU+Ci08dGQ+PGNvZGU+
JTwvY29kZT4KLTwvdGFibGU+Ci0KLTxwPgotU29tZSBvZiB0aGVzZSBlc2NhcGUgc2VxdWVuY2Vz
IGFyZSB1c2VkIHRvIGF2b2lkIERveHlnZW4gZmVhdHVyZXMgdGhhdAotd2lkbHByb2MgZG9lcyBu
b3QgY3VycmVudGx5IGltcGxlbWVudC4gSW4gcGFydGljdWxhciwKLXdpZGxwcm9jIGluc2lzdHMg
b24gYSA8Y29kZT4kPC9jb2RlPiBiZWluZyBlc2NhcGVkLCB0bwotYWxsb3cgZm9yIHBvc3NpYmxl
IGZ1dHVyZSBmdW5jdGlvbmFsaXR5LgotPC9wPgotCi08aDMgaWQ9Imh0bWwiPkhUTUwgaW4gY29t
bWVudHM8L2gzPgotCi08cD4KLXdpZGxwcm9jIGFjY2VwdHMgYSBzbWFsbCBzdWJzZXQgb2YgSFRN
TCBlbGVtZW50cy4KLTwvcD4KLQotPHA+Ci1BbiBIVE1MIGJsb2NrIGVsZW1lbnQgaXMgYSBwYXJh
Z3JhcGguCi1BIGJsYW5rIGxpbmUgKG90aGVyIHRoYW4gaW4gYQotPGEgaHJlZj0iI2NvZGUiPjxj
b2RlPlxjb2RlPC9jb2RlPjwvYT4gYmxvY2spCi1pbXBsaWNpdGx5IGNsb3NlcyBhbnkgb3BlbiBI
VE1MIGVsZW1lbnRzLCB0aHVzIGVuZGluZyB0aGUgcGFyYWdyYXBoLgotPC9wPgotCi08cD4KLVRo
ZSBmb2xsb3dpbmcgSFRNTCBibG9jayBlbGVtZW50cyBhcmUgYWNjZXB0ZWQ6Ci08Y29kZT5kbDwv
Y29kZT4KLTxjb2RlPm9sPC9jb2RlPgotPGNvZGU+cDwvY29kZT4KLTxjb2RlPnRhYmxlPC9jb2Rl
PgotPGNvZGU+dWw8L2NvZGU+Ci08L3A+Ci0KLTxwPgotVGhlIGZvbGxvd2luZyBIVE1MIGlubGlu
ZSBlbGVtZW50cyBhcmUgYWNjZXB0ZWQ6Ci08Y29kZT5hPC9jb2RlPgotPGNvZGU+aW1nPC9jb2Rl
PgotPGNvZGU+YjwvY29kZT4KLTxjb2RlPmJyPC9jb2RlPgotPGNvZGU+ZW08L2NvZGU+Ci08L3A+
Ci0KLTxwPgotVGhlIGZvbGxvd2luZyBIVE1MIGVsZW1lbnRzIGFyZSBhY2NlcHRlZCB3aGVyZSB2
YWxpZCBpbnNpZGUgb25lIG9mIHRoZQotb3RoZXIgZWxlbWVudHM6Ci08Y29kZT5kZDwvY29kZT4K
LTxjb2RlPmR0PC9jb2RlPgotPGNvZGU+bGk8L2NvZGU+Ci08Y29kZT50ZDwvY29kZT4KLTxjb2Rl
PnRoPC9jb2RlPgotPGNvZGU+dHI8L2NvZGU+Ci08L3A+Ci0KLQotPGgyPk91dHB1dCBmb3JtYXQ8
L2gyPgotCi08cD4KLVRoZSBvdXRwdXQgb2Ygd2lkbHByb2MgaXMgYW4gWE1MIHJlcHJlc2VudGF0
aW9uIG9mIHRoZQotPGEgaHJlZj0iI3dlYmlkbCI+V2ViIElETDwvYT4sCi13aXRoIGFkZGVkIFhN
TCBlbGVtZW50cyByZXByZXNlbnRpbmcgdGhlCi08YSBocmVmPSIjZG94eWdlbiI+RG94eWdlbjwv
YT4tbGlrZSBjb21tZW50cy4KLTwvcD4KLQotPGgzPkFubm90YXRlZCBkb2N1bWVudCB0eXBlIGRl
Y2xhcmF0aW9uPC9oMz4KLQotPHByZSBjbGFzcz0iZHRkIj4KLSZsdDshLS0gQXV0b2dlbmVyYXRl
ZCBmcm9tIHdpZGxwcm9jLmh0bWwgOiBkbyBub3QgZWRpdC4gLS0+Ci08L3ByZT4KLQotPGg0PkVu
dGl0aWVzIHVzZWQgZWxzZXdoZXJlPC9oND4KLQotPHByZSBjbGFzcz0iZHRkIj4KLSZsdDshRU5U
SVRZICUgYmxvY2sgJ2RsIHwgcCB8IHRhYmxlIHwgdWwnID4KLSZsdDshRU5USVRZICUgQmxvY2sg
JyglYmxvY2s7KSonID4KLSZsdDshRU5USVRZICUgaW5saW5lICdhIHwgYiB8IGJyIHwgZW0gfCBp
bWcnID4KLSZsdDshRU5USVRZICUgSW5saW5lICcoI1BDREFUQSB8ICVpbmxpbmU7KSonID4KLSZs
dDshRU5USVRZICUgRmxvdyAnKCNQQ0RBVEEgfCAlaW5saW5lOyB8ICVibG9jazspKicgPgotCi0m
bHQ7IUVMRU1FTlQgd2ViaWRsICgjUENEQVRBIHwgcmVmKSogPgotPC9wcmU+Ci0KLTxwPgotVGhl
IDxjb2RlPiZsdDt3ZWJpZGw+PC9jb2RlPiBlbGVtZW50IGNvbnRhaW5zIHRoZSBsaXRlcmFsIHRl
eHQgb2YgdGhlCi1vcmlnaW5hbCBXZWIgSURMIHRoYXQgdGhlIHBhcmVudAotZWxlbWVudCB3YXMg
cGFyc2VkIGZyb20sIG1pbnVzIHRoZSBjb21tZW50cywgd2l0aCBlYWNoIHJlZmVyZW5jZSB0bwot
YW4gaW50ZXJmYWNlIG5hbWUgCi1lbmNsb3NlZCBpbiBhIDxjb2RlPiZsdDtyZWY+PC9jb2RlPi4u
PGNvZGU+Jmx0Oy9yZWY+PC9jb2RlPi4KLTwvcD4KLQotPGg0PkRlZmluaXRpb25zPC9oND4KLQot
PHA+Ci08ZW0+RGVmaW5pdGlvbnM8L2VtPiBpcyB0aGUgcm9vdCBlbGVtZW50IG9mIHRoZSBYTUwg
ZG9jdW1lbnQuCi08L3A+Ci0KLTxwPgotVGhlIDxlbT5FeHRlbmRlZEF0dHJpYnV0ZUxpc3Q8L2Vt
PiBzcGVjaWZpZXMgYW55IGV4dGVuZGVkIGF0dHJpYnV0ZXMKLWZvciB0aGUgIDxlbT5JbnRlcmZh
Y2U8L2VtPiwgPGVtPkRpY3Rpb25hcnk8L2VtPiwgPGVtPkV4Y2VwdGlvbjwvZW0+LAotPGVtPlR5
cGVkZWY8L2VtPiwgPGVtPlZhbHVldHlwZTwvZW0+IG9yIDxlbT5Db25zdDwvZW0+IGluIHRoZQot
PGVtPkRlZmluaXRpb248L2VtPi4KLTwvcD4KLQotPHByZSBjbGFzcz0iZHRkIj4KLSZsdDshRUxF
TUVOVCBEZWZpbml0aW9ucyAoIHdlYmlkbCwgZGVzY3JpcHRpdmU/LCAoSW50ZXJmYWNlIHwgRGlj
dGlvbmFyeSB8IENhbGxiYWNrCi0gICAgfCBFbnVtIHwgRXhjZXB0aW9uIHwgVHlwZWRlZiB8IElt
cGxlbWVudHMpKikgPgotPC9wcmU+Ci0KLTxoND5JbnRlcmZhY2U8L2g0PgotCi08cD4KLUFuIDxl
bT5JbnRlcmZhY2U8L2VtPiByZXByZXNlbnRzIGFuIGludGVyZmFjZS4gVGhlIDxlbT5uYW1lPC9l
bT4KLWF0dHJpYnV0ZSBzcGVjaWZpZXMgdGhlIG5hbWUgb2YgdGhlIGludGVyZmFjZS4gVGhlIDxl
bT5kZXNjcmlwdGl2ZTwvZW0+IGVsZW1lbnQKLXByb3ZpZGVzIGl0cyBkb2N1bWVudGF0aW9uIGlm
IGFueS4KLVRoZSA8ZW0+aWQ8L2VtPiBhdHRyaWJ1dGUgc3BlY2lmaWVzIHRoZSBhYnNvbHV0ZSBz
Y29wZWQgbmFtZSBvZiB0aGUgaW50ZXJmYWNlLgotPC9wPgotCi08cD5UaGUgPGVtPnBhcnRpYWw8
L2VtPiBhdHRyaWJ1dGUgaW5kaWNhdGVzIHRoYXQgdGhlIGRlZmluaXRpb24gb2YgdGhlIGludGVy
ZmFjZSBjb21wbGVtZW50cyBhbiBleGlzdGluZyBkZWZpbml0aW9uLiBUaGUgPGVtPmNhbGxiYWNr
PC9lbT4gYXR0cmlidXRlIHNwZWNpZmljaWVzIHRoYXQgYSBnaXZlbiBpbnRlcmZhY2UgaXMgYSBj
YWxsYmFjayBpbnRlcmZhY2UuPC9wPgotCi08cD4KLVRoZSA8ZW0+SW50ZXJmYWNlSW5oZXJpdGFu
Y2U8L2VtPiBlbGVtZW50IGluZGljYXRlcyB0aGF0IHRoZSBpbnRlcmZhY2UKLWluaGVyaXRzIGZy
b20gb3RoZXIgaW50ZXJmYWNlKHMpLiBFYWNoIDxlbT5OYW1lPC9lbT4gaW4gdGhlCi08ZW0+SW50
ZXJmYWNlSW5oZXJpdGFuY2U8L2VtPiBoYXMgYSA8ZW0+bmFtZTwvZW0+IGF0dHJpYnV0ZSBnaXZp
bmcgdGhlCi1zY29wZWQgbmFtZSBvZiB0aGUgaW50ZXJmYWNlIGJlaW5nIGluaGVyaXRlZCBmcm9t
LgotPC9wPgotCi08cHJlIGNsYXNzPSJkdGQiPgotJmx0OyFFTEVNRU5UIEludGVyZmFjZSAod2Vi
aWRsLCBkZXNjcmlwdGl2ZT8sIEV4dGVuZGVkQXR0cmlidXRlTGlzdD8sCi0gICAgICAgIEludGVy
ZmFjZUluaGVyaXRhbmNlPywgKENvbnN0IHwgQXR0cmlidXRlIHwgT3BlcmF0aW9uIHwgU3RyaW5n
aWZpZXIqIHwgU2VyaWFsaXplciogfCBJdGVyYXRvciB8IEl0ZXJhdG9yT2JqZWN0KSogKSA+Ci0m
bHQ7IUFUVExJU1QgSW50ZXJmYWNlIG5hbWUgQ0RBVEEgI1JFUVVJUkVECi0gICAgICAgICAgICAg
ICAgICAgIHBhcnRpYWwgKHBhcnRpYWwpICNJTVBMSUVECi0gICAgICAgICAgICAgICAgICAgIGNh
bGxiYWNrIChjYWxsYmFjaykgI0lNUExJRUQKLSAgICAgICAgICAgICAgICAgICAgaWQgQ0RBVEEg
I1JFUVVJUkVEID4KLQotJmx0OyFFTEVNRU5UIEludGVyZmFjZUluaGVyaXRhbmNlIChOYW1lKykg
PgotCi0mbHQ7IUVMRU1FTlQgTmFtZSBFTVBUWSA+Ci0mbHQ7IUFUVExJU1QgTmFtZSBuYW1lIENE
QVRBICNSRVFVSVJFRCA+Ci08L3ByZT4KLQotPGg0PkRpY3Rpb25hcnk8L2g0PgotCi08cD4KLUEg
PGVtPkRpY3Rpb25hcnk8L2VtPiByZXByZXNlbnRzIGEgZGljdGlvbmFyeS4gVGhlIDxlbT5uYW1l
PC9lbT4KLWF0dHJpYnV0ZSBzcGVjaWZpZXMgdGhlIG5hbWUgb2YgdGhlIGRpY3Rpb25hcnkuIFRo
ZSA8ZW0+ZGVzY3JpcHRpdmU8L2VtPiBlbGVtZW50Ci1wcm92aWRlcyBpdHMgZG9jdW1lbnRhdGlv
biBpZiBhbnkuCi1UaGUgPGVtPmlkPC9lbT4gYXR0cmlidXRlIHNwZWNpZmllcyB0aGUgYWJzb2x1
dGUgc2NvcGVkIG5hbWUgb2YgdGhlIGRpY3Rpb25hcnkuCi08L3A+Ci0KLTxwPlRoZSA8ZW0+cGFy
dGlhbDwvZW0+IGF0dHJpYnV0ZSBpbmRpY2F0ZXMgdGhhdCB0aGUgZGVmaW5pdGlvbiBvZiB0aGUg
aW50ZXJmYWNlIGNvbXBsZW1lbnRzIGFuIGV4aXN0aW5nIGRlZmluaXRpb24uPC9wPgotCi08cD4K
LVRoZSA8ZW0+RGljdGlvbmFyeUluaGVyaXRhbmNlPC9lbT4gZWxlbWVudCBpbmRpY2F0ZXMgdGhh
dCB0aGUgZGljdGlvbmFyeQotaW5oZXJpdHMgZnJvbSBvdGhlciBkaWN0aW9uYXJ5KHMpLiBFYWNo
IDxlbT5OYW1lPC9lbT4gaW4gdGhlCi08ZW0+RGljdGlvbmFyeUluaGVyaXRhbmNlPC9lbT4gaGFz
IGEgPGVtPm5hbWU8L2VtPiBhdHRyaWJ1dGUgZ2l2aW5nIHRoZQotc2NvcGVkIG5hbWUgb2YgdGhl
IGRpY3Rpb25hcnkgYmVpbmcgaW5oZXJpdGVkIGZyb20uCi08L3A+Ci0KLQotPHByZSBjbGFzcz0i
ZHRkIj4KLSZsdDshRUxFTUVOVCBEaWN0aW9uYXJ5ICh3ZWJpZGwsIGRlc2NyaXB0aXZlPywgRGlj
dGlvbmFyeUluaGVyaXRhbmNlPywgRGljdGlvbmFyeU1lbWJlciogKSA+Ci0mbHQ7IUFUVExJU1Qg
RGljdGlvbmFyeSBuYW1lIENEQVRBICNSRVFVSVJFRAotICAgICAgICAgICAgICAgICAgICBwYXJ0
aWFsIChwYXJ0aWFsKSAjSU1QTElFRAotICAgICAgICAgICAgICAgICAgICBpZCBDREFUQSAjUkVR
VUlSRUQgPgotCi0mbHQ7IUVMRU1FTlQgRGljdGlvbmFyeUluaGVyaXRhbmNlIChOYW1lKykgPgot
PC9wcmU+Ci0KLTxoND5DYWxsYmFjazwvaDQ+Ci0KLTxwPgotQSA8ZW0+Q2FsbGJhY2s8L2VtPiBy
ZXByZXNlbnRzIGEgY2FsbGJhY2sgdHlwZS4gVGhlIDxlbT5uYW1lPC9lbT4KLWF0dHJpYnV0ZSBz
cGVjaWZpZXMgdGhlIG5hbWUgb2YgdGhlIGRpY3Rpb25hcnkuIFRoZSA8ZW0+ZGVzY3JpcHRpdmU8
L2VtPiBlbGVtZW50Ci1wcm92aWRlcyBpdHMgZG9jdW1lbnRhdGlvbiBpZiBhbnkuPC9wPgotCi08
cD5UaGUgPGVtPlR5cGU8L2VtPiBlbGVtZW50IHNwZWNpZmllcyBpdHMgcmV0dXJuIHR5cGUuPC9w
PgotCi08cD4KLUFuIDxlbT5Bcmd1bWVudDwvZW0+IGlzIGFuIGFyZ3VtZW50IHRvIGFuIG9wZXJh
dGlvbi4KLVRoZSA8ZW0+VHlwZTwvZW0+IGVsZW1lbnQgc3BlY2lmaWVzIGl0cyB0eXBlLiBUaGUg
PGVtPm5hbWU8L2VtPgotYXR0cmlidXRlIHNwZWNpZmllcyBpdHMgbmFtZSBpZiBpdCBoYXMgb25l
LgotPC9wPgotCi08cHJlIGNsYXNzPSJkdGQiPgotJmx0OyFFTEVNRU5UIENhbGxiYWNrICh3ZWJp
ZGwsIGRlc2NyaXB0aXZlPywgVHlwZSwgQXJndW1lbnRMaXN0PyApID4KLSZsdDshQVRUTElTVCBD
YWxsYmFjayBuYW1lIENEQVRBICNSRVFVSVJFRAotICAgICAgICAgICAgICAgICAgICAgIGlkIENE
QVRBICNSRVFVSVJFRD4KLTwvcHJlPgotCi0KLTxoND5FbnVtPC9oND4KLQotPHA+Ci1BbiA8ZW0+
RW51bTwvZW0+IHJlcHJlc2VudHMgYW4gZW51bWVyYXRpb24uIFRoZSA8ZW0+bmFtZTwvZW0+Ci1h
dHRyaWJ1dGUgc3BlY2lmaWVzIHRoZSBuYW1lIG9mIHRoZSBlbnVtZXJhdGlvbi4gVGhlIDxlbT5k
ZXNjcmlwdGl2ZTwvZW0+IGVsZW1lbnQKLXByb3ZpZGVzIGl0cyBkb2N1bWVudGF0aW9uIGlmIGFu
eS4KLTwvcD4KLQotPHA+Ci1UaGUgPGVtPkVudW1WYWx1ZTwvZW0+IGVsZW1lbnQgaW5kaWNhdGVz
IHRoZSB2YWx1ZXMgZGVmaW5lZCBmb3IgdGhhdCBlbnVtZXJhdGlvbiBpbiBpdHMgPGVtPnN0cmlu
Z3ZhbHVlPC9lbT4gYXR0cmlidXRlLgotPC9wPgotCi0KLTxwcmUgY2xhc3M9ImR0ZCI+Ci0mbHQ7
IUVMRU1FTlQgRW51bSAod2ViaWRsLCBkZXNjcmlwdGl2ZT8sIEVudW1WYWx1ZSogKSA+Ci0mbHQ7
IUFUVExJU1QgRW51bSBuYW1lIENEQVRBICNSRVFVSVJFRCAKLSAgICAgICAgICAgICAgICAgICAg
aWQgQ0RBVEEgI1JFUVVJUkVEID4KLQotJmx0OyFFTEVNRU5UIEVudW1WYWx1ZSAod2ViaWRsLCBk
ZXNjcmlwdGl2ZT8pID4KLSZsdDshQVRUTElTVCBFbnVtVmFsdWUgc3RyaW5ndmFsdWUgQ0RBVEEg
I1JFUVVJUkVEID4KLTwvcHJlPgotCi0KLQotPGg0PkV4Y2VwdGlvbjwvaDQ+Ci0KLTxwPgotQW4g
PGVtPkV4Y2VwdGlvbjwvZW0+IHJlcHJlc2VudHMgYW4gZXhjZXB0aW9uLgotVGhlIDxlbT5uYW1l
PC9lbT4KLWF0dHJpYnV0ZSBzcGVjaWZpZXMgdGhlIG5hbWUgb2YgdGhlIGV4Y2VwdGlvbi4KLVRo
ZSA8ZW0+ZGVzY3JpcHRpdmU8L2VtPiBlbGVtZW50Ci1wcm92aWRlcyBpdHMgZG9jdW1lbnRhdGlv
biBpZiBhbnkuCi1UaGUgPGVtPmlkPC9lbT4gYXR0cmlidXRlIHNwZWNpZmllcyB0aGUgYWJzb2x1
dGUgc2NvcGVkIG5hbWUgb2YgdGhlIGV4Y2VwdGlvbi4KLTwvcD4KLQotPHA+Ci1BbiA8ZW0+RXhj
ZXB0aW9uRmllbGQ8L2VtPiByZXByZXNlbnRzIGEgZmllbGQgaW4gYW4gZXhjZXB0aW9uLgotVGhl
IDxlbT5uYW1lPC9lbT4KLWF0dHJpYnV0ZSBzcGVjaWZpZXMgdGhlIG5hbWUgb2YgdGhlIGZpZWxk
LgotVGhlIDxlbT5UeXBlPC9lbT4gZWxlbWVudCBzcGVjaWZpZXMgaXRzIHR5cGUuCi1UaGUgPGVt
PmRlc2NyaXB0aXZlPjwvZW0+IGVsZW1lbnQKLXByb3ZpZGVzIGl0cyBkb2N1bWVudGF0aW9uIGlm
IGFueS4KLVRoZSA8ZW0+aWQ8L2VtPiBhdHRyaWJ1dGUgc3BlY2lmaWVzIHRoZSBhYnNvbHV0ZSBz
Y29wZWQgbmFtZSBvZiB0aGUgZmllbGQuCi08L3A+Ci0KLTxwPgotVGhlIDxlbT5FeGNlcHRpb25J
bmhlcml0YW5jZTwvZW0+IGVsZW1lbnQgaW5kaWNhdGVzIHRoYXQgdGhlIGV4Y2VwdGlvbgotaW5o
ZXJpdHMgZnJvbSBhbm90aGVyIGV4Y2VwdGlvbi4gVGhlIDxlbT5OYW1lPC9lbT4gaW4gdGhlCi08
ZW0+RXhjZXB0aW9uSW5oZXJpdGFuY2U8L2VtPiBoYXMgYSA8ZW0+bmFtZTwvZW0+IGF0dHJpYnV0
ZSBnaXZpbmcgdGhlCi1zY29wZWQgbmFtZSBvZiB0aGUgZXhjZXB0aW9uIGJlaW5nIGluaGVyaXRl
ZCBmcm9tLgotPC9wPgotCi0KLTxwcmUgY2xhc3M9ImR0ZCI+Ci0mbHQ7IUVMRU1FTlQgRXhjZXB0
aW9uICh3ZWJpZGwsIGRlc2NyaXB0aXZlPywgRXh0ZW5kZWRBdHRyaWJ1dGVMaXN0PywgRXhjZXB0
aW9uSW5oZXJpdGFuY2U/LAotICAgICAgICAoQ29uc3QgfCBFeGNlcHRpb25GaWVsZCkqICkgPgot
Jmx0OyFBVFRMSVNUIEV4Y2VwdGlvbiBuYW1lIENEQVRBICNSRVFVSVJFRCAKLSAgICAgICAgICAg
ICAgICAgICAgaWQgQ0RBVEEgI1JFUVVJUkVEID4KLQotJmx0OyFFTEVNRU5UIEV4Y2VwdGlvbklu
aGVyaXRhbmNlIChOYW1lKSA+Ci0mbHQ7IUVMRU1FTlQgRXhjZXB0aW9uRmllbGQgKHdlYmlkbCwg
ZGVzY3JpcHRpdmU/LCBFeHRlbmRlZEF0dHJpYnV0ZUxpc3Q/LCAoVHlwZSkpID4KLSZsdDshQVRU
TElTVCBFeGNlcHRpb25GaWVsZCBuYW1lIENEQVRBICNSRVFVSVJFRAotICAgICAgICAgICAgICAg
ICAgICAgICAgIGlkIENEQVRBICNSRVFVSVJFRCA+Ci08L3ByZT4KLQotPGg0PlR5cGVkZWY8L2g0
PgotCi08cD4KLUEgPGVtPlR5cGVkZWY8L2VtPiByZXByZXNlbnRzIGEgdHlwZSBkZWZpbml0aW9u
LgotVGhlIDxlbT5uYW1lPC9lbT4KLWF0dHJpYnV0ZSBzcGVjaWZpZXMgdGhlIG5hbWUgb2YgdGhl
IG5ldyB0eXBlLgotVGhlIDxlbT5UeXBlPC9lbT4gZWxlbWVudCBzcGVjaWZpZXMgaXQgaW4gdGVy
bXMgb2Ygb3RoZXIgdHlwZXMuCi1UaGUgPGVtPmRlc2NyaXB0aXZlPjwvZW0+IGVsZW1lbnQKLXBy
b3ZpZGVzIGl0cyBkb2N1bWVudGF0aW9uIGlmIGFueS4KLVRoZSA8ZW0+aWQ8L2VtPiBhdHRyaWJ1
dGUgc3BlY2lmaWVzIHRoZSBhYnNvbHV0ZSBzY29wZWQgbmFtZSBvZiB0aGUgdHlwZWRlZi4KLTwv
cD4KLQotPHByZSBjbGFzcz0iZHRkIj4KLSZsdDshRUxFTUVOVCBUeXBlZGVmICh3ZWJpZGwsIGRl
c2NyaXB0aXZlPywgRXh0ZW5kZWRBdHRyaWJ1dGVMaXN0PywgKFR5cGUpKSA+Ci0mbHQ7IUFUVExJ
U1QgVHlwZWRlZiBuYW1lIENEQVRBICNSRVFVSVJFRAotICAgICAgICAgICAgICAgICAgaWQgQ0RB
VEEgI1JFUVVJUkVEID4KLTwvcHJlPgotCi08aDQ+SW1wbGVtZW50czwvaDQ+Ci0KLTxwPgotQW4g
PGVtPkltcGxlbWVudHM8L2VtPiByZXByZXNlbnRzIFdlYiBJREwncwotPGNvZGU+PGk+U2NvcGVk
TmFtZTwvaT4gaW1wbGVtZW50cyA8aT5TY29wZWROYW1lPC9pPjs8L2NvZGU+Ci1zeW50YXguIFRo
ZSA8ZW0+bmFtZTE8L2VtPiBhbmQgPGVtPm5hbWUyPC9lbT4gYXR0cmlidXRlcyBnaXZlIHRoZQot
Zmlyc3QgYW5kIHNlY29uZCBzY29wZWQgbmFtZXMgcmVzcGVjdGl2ZWx5LgotVGhlIDxlbT5kZXNj
cmlwdGl2ZT48L2VtPiBlbGVtZW50Ci1wcm92aWRlcyB0aGUgPGVtPkltcGxlbWVudHM8L2VtPidz
IGRvY3VtZW50YXRpb24gaWYgYW55LgotPC9wPgotCi08cHJlIGNsYXNzPSJkdGQiPgotJmx0OyFF
TEVNRU5UIEltcGxlbWVudHMgKHdlYmlkbCwgZGVzY3JpcHRpdmU/LCBFeHRlbmRlZEF0dHJpYnV0
ZUxpc3Q/KSA+Ci0mbHQ7IUFUVExJU1QgSW1wbGVtZW50cyBuYW1lMSBDREFUQSAjUkVRVUlSRUQK
LSAgICAgICAgICAgICAgICAgICAgIG5hbWUyIENEQVRBICNSRVFVSVJFRCA+Ci08L3ByZT4KLQot
PGg0PkNvbnN0PC9oND4KLQotPHA+Ci08ZW0+Q29uc3Q8L2VtPiByZXByZXNlbnRzIFdlYiBJREwn
cwotPGNvZGU+Y29uc3QgPGk+VHlwZTwvaT4gPGk+aWRlbnRpZmllcjwvaT4gPSA8aT5Db25zdEV4
cHI8L2k+OzwvY29kZT4KLXN5bnRheC4KLVRoZSA8ZW0+VHlwZTwvZW0+IHNwZWNpZmllcyB0aGUg
Y29uc3RhbnQncyB0eXBlLCB0aGUKLTxlbT5uYW1lPC9lbT4gYXR0cmlidXRlIHNwZWNpZmllcyB0
aGUgY29uc3RhbnQncyBuYW1lLCBhbmQgdGhlCi08ZW0+dmFsdWU8L2VtPiBhdHRyaWJ1dGUgc3Bl
Y2lmaWVzIGl0cyB2YWx1ZS4KLVRoZSA8ZW0+ZGVzY3JpcHRpdmU+PC9lbT4gZWxlbWVudAotcHJv
dmlkZXMgdGhlIDxlbT5Db25zdDwvZW0+J3MgZG9jdW1lbnRhdGlvbiBpZiBhbnkuCi1UaGUgPGVt
PmlkPC9lbT4gYXR0cmlidXRlIHNwZWNpZmllcyB0aGUgYWJzb2x1dGUgc2NvcGVkIG5hbWUgb2Yg
dGhlIGNvbnN0LgotPC9wPgotCi08cHJlIGNsYXNzPSJkdGQiPgotJmx0OyFFTEVNRU5UIENvbnN0
ICh3ZWJpZGwsIGRlc2NyaXB0aXZlPywgRXh0ZW5kZWRBdHRyaWJ1dGVMaXN0PywgVHlwZSkgPgot
Jmx0OyFBVFRMSVNUIENvbnN0IG5hbWUgQ0RBVEEgI1JFUVVJUkVECi0gICAgICAgICAgICAgICAg
dmFsdWUgQ0RBVEEgI0lNUExJRUQKLSAgICAgICAgICAgICAgICBpZCBDREFUQSAjUkVRVUlSRUQg
PgotPC9wcmU+Ci0KLTxoND5TdHJpbmdpZmllcjwvaDQ+Ci0KLTxwPgotQSA8ZW0+U3RyaW5naWZp
ZXI8L2VtPiByZXByZXNlbnRzIHRoZSBXZWIgSURMIDxjb2RlPnN0cmluZ2lmaWVyOzwvY29kZT4K
LXN5bnRheCBhcyBhbiBpbnRlcmZhY2UgbWVtYmVyLgotVGhlIDxlbT5kZXNjcmlwdGl2ZT48L2Vt
PiBlbGVtZW50Ci1wcm92aWRlcyB0aGUgPGVtPlN0cmluZ2lmaWVyPC9lbT4ncyBkb2N1bWVudGF0
aW9uIGlmIGFueS4KLTwvcD4KLQotPHByZSBjbGFzcz0iZHRkIj4KLSZsdDshRUxFTUVOVCBTdHJp
bmdpZmllciAod2ViaWRsLCBkZXNjcmlwdGl2ZT8sIEV4dGVuZGVkQXR0cmlidXRlTGlzdD8pID4K
LTwvcHJlPgotCi08aDQ+QXR0cmlidXRlPC9oND4KLQotPHA+Ci1BbiA8ZW0+QXR0cmlidXRlPC9l
bT4gcmVwcmVzZW50cyBhbiBhdHRyaWJ1dGUgYXMgYW4gaW50ZXJmYWNlIG1lbWJlci4KLVRoZSA8
ZW0+VHlwZTwvZW0+IGVsZW1lbnQgc3BlY2lmaWVzIGl0cyB0eXBlLiBUaGUgPGVtPm5hbWU8L2Vt
PgotYXR0cmlidXRlIHNwZWNpZmllcyBpdHMgbmFtZS4gRWFjaCBvZiB0aGUgPGVtPnN0cmluZ2lm
aWVyPC9lbT4sIDxlbT5zdGF0aWM8L2VtPiBhbmQKLTxlbT5yZWFkb25seTwvZW0+IGF0dHJpYnV0
ZXMgaXMgc2V0IHRvIGEgdmFsdWUgdGhlIHNhbWUgYXMgdGhlIGF0dHJpYnV0ZQotbmFtZSB3aGVu
IHRoZSBjb3JyZXNwb25kaW5nIGtleXdvcmQgYXBwZWFycyBpbiB0aGUgV2ViIElETCBpbnB1dC4g
VGhlIDxlbT5pbmhlcml0PC9lbT4gYXR0cmlidXRlIGlzIHNldCB0byA8ZW0+aW5oZXJpdDwvZW0+
IHdoZW4gdGhlIGF0dHJpYnV0ZSBpbmhlcml0cyBpdHMgZ2V0dGVyLgotPC9wPgotCi0KLTxwPgot
VGhlIDxlbT5kZXNjcmlwdGl2ZT48L2VtPiBlbGVtZW50IHByb3ZpZGVzIHRoZSBhdHRyaWJ1dGUn
cyBkb2N1bWVudGF0aW9uCi1pZiBhbnkuCi1UaGUgPGVtPmlkPC9lbT4gYXR0cmlidXRlIHNwZWNp
ZmllcyB0aGUgYWJzb2x1dGUgc2NvcGVkIG5hbWUgb2YgdGhlIGF0dHJpYnV0ZS4KLTwvcD4KLQot
PHByZSBjbGFzcz0iZHRkIj4KLSZsdDshRUxFTUVOVCBBdHRyaWJ1dGUgKHdlYmlkbCwgZGVzY3Jp
cHRpdmU/LCBFeHRlbmRlZEF0dHJpYnV0ZUxpc3Q/LCAoVHlwZSkpID4KLSZsdDshQVRUTElTVCBB
dHRyaWJ1dGUgc3RyaW5naWZpZXIgKHN0cmluZ2lmaWVyKSAjSU1QTElFRAotICAgICAgICAgICAg
ICAgICAgICByZWFkb25seSAocmVhZG9ubHkpICNJTVBMSUVECi0gICAgICAgICAgICAgICAgICAg
IGluaGVyaXQgKGluaGVyaXQpICNJTVBMSUVECi0gICAgICAgICAgICAgICAgICAgIHN0YXRpYyAo
c3RhdGljKSAjSU1QTElFRAotICAgICAgICAgICAgICAgICAgICBuYW1lIENEQVRBICNSRVFVSVJF
RAotICAgICAgICAgICAgICAgICAgICBpZCBDREFUQSAjUkVRVUlSRUQgPgotCi08L3ByZT4KLQot
Ci08aDQ+T3BlcmF0aW9uPC9oND4KLQotPHA+Ci1BbiA8ZW0+T3BlcmF0aW9uPC9lbT4gcmVwcmVz
ZW50cyBhIG1ldGhvZCBvbiBpbnRlcmZhY2UuCi1UaGUgPGVtPlR5cGU8L2VtPiBlbGVtZW50IHNw
ZWNpZmllcyBpdHMgcmV0dXJuIHR5cGUuIFRoZSA8ZW0+bmFtZTwvZW0+Ci1hdHRyaWJ1dGUgc3Bl
Y2lmaWVzIGl0cyBuYW1lLgotPC9wPgotCi08cD4KLUVhY2ggb2YgdGhlIDxlbT5zdHJpbmdpZmll
cjwvZW0+LCA8ZW0+c3RhdGljPC9lbT4sIDxlbT5nZXR0ZXI8L2VtPiwKLTxlbT5zZXR0ZXI8L2Vt
PiwgPGVtPmNyZWF0b3I8L2VtPiwgPGVtPmRlbGV0ZXI8L2VtPiBhbmQgPGVtPmxlZ2FjeWNhbGxl
cjwvZW0+LCA8ZW0+c2VyaWFsaXplcjwvZW0+Ci1hdHRyaWJ1dGVzIGlzIHNldCB0byBhIHZhbHVl
IHRoZSBzYW1lIGFzIHRoZSBhdHRyaWJ1dGUKLW5hbWUgd2hlbiB0aGUgY29ycmVzcG9uZGluZyBr
ZXl3b3JkIGFwcGVhcnMgaW4gdGhlIFdlYiBJREwgaW5wdXQuCi08L3A+Ci0KLQotPHA+Ci1UaGUg
PGVtPmRlc2NyaXB0aXZlPjwvZW0+IGVsZW1lbnQgcHJvdmlkZXMgdGhlIGF0dHJpYnV0ZSdzIGRv
Y3VtZW50YXRpb24KLWlmIGFueS4KLVRoZSA8ZW0+aWQ8L2VtPiBhdHRyaWJ1dGUgc3BlY2lmaWVz
IHRoZSBhYnNvbHV0ZSBzY29wZWQgbmFtZSBvZiB0aGUgb3BlcmF0aW9uIGlmIGl0IGhhcyBvbmUu
Ci08L3A+Ci0KLTxwPgotQW4gPGVtPkFyZ3VtZW50PC9lbT4gaXMgYW4gYXJndW1lbnQgdG8gYW4g
b3BlcmF0aW9uLgotVGhlIDxlbT5UeXBlPC9lbT4gZWxlbWVudCBzcGVjaWZpZXMgaXRzIHR5cGUu
IFRoZSA8ZW0+bmFtZTwvZW0+Ci1hdHRyaWJ1dGUgc3BlY2lmaWVzIGl0cyBuYW1lIGlmIGl0IGhh
cyBvbmUuCi08L3A+Ci0KLTxwPgotRWFjaCBvZiB0aGUgPGVtPm9wdGlvbmFsPC9lbT4gYW5kIDxl
bT5lbGxpcHNpczwvZW0+Ci1hdHRyaWJ1dGVzIGlzIHNldCB0byBhIHZhbHVlIHRoZSBzYW1lIGFz
IHRoZSBhdHRyaWJ1dGUKLW5hbWUgd2hlbiB0aGUgY29ycmVzcG9uZGluZyBzeW50YXggYXBwZWFy
cyBpbiB0aGUgV2ViIElETCBpbnB1dC4KLTwvcD4KLQotPHA+VGhlCi08ZW0+dmFsdWU8L2VtPiBh
dHRyaWJ1dGUgdXNlZCBvbiBvcHRpb25hbCBhcmd1bWVudHMgc3BlY2lmaWVzIGRlZmF1bHQgdmFs
dWUgZm9yIG5vbi1zdHJpbmcgdmFsdWVzLCBhbmQgPGVtPnN0cmluZ3ZhbHVlPC9lbT4gZm9yIHN0
cmluZyB2YWx1ZXMuPC9wPgotCi0KLTxwcmUgY2xhc3M9ImR0ZCI+Ci0mbHQ7IUVMRU1FTlQgT3Bl
cmF0aW9uICh3ZWJpZGwsIGRlc2NyaXB0aXZlPywgRXh0ZW5kZWRBdHRyaWJ1dGVMaXN0PywKLSAg
ICAgICAgKFR5cGUpLCBBcmd1bWVudExpc3QpID4KLSZsdDshQVRUTElTVCBPcGVyYXRpb24gc3Ry
aW5naWZpZXIgKHN0cmluZ2lmaWVyKSAjSU1QTElFRAotICAgICAgICAgICAgICAgICAgICBzdGF0
aWMgKHN0YXRpYykgI0lNUExJRUQKLSAgICAgICAgICAgICAgICAgICAgZ2V0dGVyIChnZXR0ZXIp
ICNJTVBMSUVECi0gICAgICAgICAgICAgICAgICAgIHNldHRlciAoc2V0dGVyKSAjSU1QTElFRAot
ICAgICAgICAgICAgICAgICAgICBjcmVhdG9yIChjcmVhdG9yKSAjSU1QTElFRAotICAgICAgICAg
ICAgICAgICAgICBkZWxldGVyIChkZWxldGVyKSAjSU1QTElFRAotICAgICAgICAgICAgICAgICAg
ICBzZXJpYWxpemVyIChzZXJpYWxpemVyKSAjSU1QTElFRAotICAgICAgICAgICAgICAgICAgICBs
ZWdhY3ljYWxsZXIgKGxlZ2FjeWNhbGxlcikgI0lNUExJRUQKLSAgICAgICAgICAgICAgICAgICAg
bmFtZSBOTVRPS0VOICNJTVBMSUVECi0gICAgICAgICAgICAgICAgICAgIGlkIE5NVE9LRU4gI0lN
UExJRUQgPgotCi0KLSZsdDshRUxFTUVOVCBBcmd1bWVudExpc3QgKEFyZ3VtZW50KikgPgotCi0m
bHQ7IUVMRU1FTlQgQXJndW1lbnQgKGRlc2NyaXB0aXZlPywgRXh0ZW5kZWRBdHRyaWJ1dGVMaXN0
PywgKFR5cGUpKSA+Ci0mbHQ7IUFUVExJU1QgQXJndW1lbnQKLSAgICAgICAgICAgICAgICAgICBv
cHRpb25hbCAob3B0aW9uYWwpICNJTVBMSUVECi0gICAgICAgICAgICAgICAgICAgZWxsaXBzaXMg
KGVsbGlwc2lzKSAjSU1QTElFRAotICAgICAgICAgICAgICAgIHZhbHVlIENEQVRBICNJTVBMSUVE
Ci0gICAgICAgICAgICAgICAgc3RyaW5ndmFsdWUgQ0RBVEEgI0lNUExJRUQKLSAgICAgICAgICAg
ICAgICAgICBuYW1lIE5NVE9LRU4gI1JFUVVJUkVEID4KLTwvcHJlPgotCi08aDQ+U2VyaWFsaXpl
cjwvaDQ+Ci08cD5BIDxlbT5TZXJpYWxpemVyPC9lbT4gcmVwcmVzZW50cyBhIHNlcmlhbGl6ZXIg
Zm9yIGFuIGludGVyZmFjZSwgZWl0aGVyIGRlZmluZWQgaW4gdGhlIHByb3NlIG9yIHZpYSBhIHBh
dHRlcm4uPC9wPgotCi08cD5UaGUgPGVtPmRlc2NyaXB0aXZlPC9lbT4gZWxlbWVudCBwcm92aWRl
cyB0aGUgc2VyaWFsaXplcidzIGRvY3VtZW50YXRpb24gaWYgYW55LjwvcD4KLQotCi08cD5UaGUg
PGVtPmF0dHJpYnV0ZTwvZW0+IGF0dHJpYnV0ZSBkZWZpbmVzIHRoZSBhdHRyaWJ1dGUgdGhhdCBp
cyB1c2VkIGZvciBzZXJpYWxpemF0aW9uIGlmIGFueS48L3A+Ci0KLTxwPlRoZSBvcHRpb25hbCA8
ZW0+TWFwPC9lbT4gYW5kIDxlbT5MaXN0PC9lbT4gZWxlbWVudHMgZGVzY3JpYmUgdGhlIHBhdHRl
cm4gKGlmIGFueSkgZm9yIHRoZSBzZXJpYWxpemVyLiBUaGV5IHRha2UgPGVtPlBhdHRlcm5BdHRy
aWJ1dGU8L2VtPiBlbGVtZW50cyB3aXRoIGEgPGVtPm5hbWU8L2VtPiBhdHRyaWJ1dGUgdGhhdCBk
ZXNjcmliZXMgdGhlIGF0dHJpYnV0ZXMgdXNlZCBmb3Igc2VyaWFsaXphdGlvbi48L3A+Ci0KLTxw
PjxlbT5NYXA8L2VtPiBlbGVtZW50cyB0YWtlIGEgPGVtPnBhdHRlcm48L2VtPiBhdHRyaWJ1dGUg
dGhhdCBjYW4gYmUgc2V0IHRvIGVpdGhlciAiZ2V0dGVyIiAoaWYgdGhlIGdldHRlciBpcyB1c2Vk
IGZvciBzZXJpYWxpemF0aW9uKSwgImFsbCIgaWYgYWxsIHNlcmlhbGl6YWJsZSBhdHRyaWJ1dGVz
IGFyZSB0byBiZSB1c2VkLCBvciAic2VsZWN0aW9uIiBpZiB0aGUgYXR0cmlidXRlcyBuYW1lZCBh
cyBjaGlsZHJlbiBlbGVtZW50cyBhcmUgdG8gYmUgdXNlZC4gT3B0aW9uYWxseSwgdGhleSB0YWtl
IGEgPGVtPmluaGVyaXQ8L2VtPiBhdHRyaWJ1dGUgc2V0IHRvICJpbmhlcml0IiBpZiB0aGUgc2Vy
aWFsaXphdGlvbiB0YWtlcyBhbHNvIGludG8gYWNjb3VudCBpbmhlcml0ZWQgYXR0cmlidXRlcy48
L3A+Ci0KLTxwPjxlbT5MaXN0PC9lbT4gZWxlbWVudHMgdGFrZSBhIDxlbT5wYXR0ZXJuPC9lbT4g
YXR0cmlidXRlIHRoYXQgY2FuIGJlIHNldCB0byBlaXRoZXIgImdldHRlciIgKGlmIHRoZSBnZXR0
ZXIgaXMgdXNlZCBmb3Igc2VyaWFsaXphdGlvbiksIG9yICJzZWxlY3Rpb24iIGlmIHRoZSBhdHRy
aWJ1dGVzIG5hbWVkIGFzIGNoaWxkcmVuIGVsZW1lbnRzIGFyZSB0byBiZSB1c2VkLjwvcD4KLQot
PHByZSBjbGFzcz0iZHRkIj4KLSZsdDshRUxFTUVOVCBTZXJpYWxpemVyICh3ZWJpZGwsIGRlc2Ny
aXB0aXZlPywgRXh0ZW5kZWRBdHRyaWJ1dGVMaXN0PywgKE1hcCB8IExpc3QpPykgPgotJmx0OyFB
VFRMSVNUIFNlcmlhbGl6ZXIgYXR0cmlidXRlIENEQVRBICNJTVBMSUVEID4KLQotJmx0OyFFTEVN
RU5UIE1hcCAgKChQYXR0ZXJuQXR0cmlidXRlKikpID4KLQotJmx0OyFBVFRMSVNUIE1hcCBpbmhl
cml0IChpbmhlcml0KSAjSU1QTElFRAotICAgICAgICAgICAgICAgICBwYXR0ZXJuIChnZXR0ZXJ8
YWxsfHNlbGVjdGlvbikgI1JFUVVJUkVEPgotCi0mbHQ7IUVMRU1FTlQgTGlzdCAgKChQYXR0ZXJu
QXR0cmlidXRlKikpID4KLQotJmx0OyFBVFRMSVNUIExpc3QgcGF0dGVybiAoZ2V0dGVyfHNlbGVj
dGlvbikgI1JFUVVJUkVEPgotCi0mbHQ7IUVMRU1FTlQgUGF0dGVybkF0dHJpYnV0ZSBFTVBUWT4K
LSZsdDshQVRUTElTVCBQYXR0ZXJuQXR0cmlidXRlIG5hbWUgQ0RBVEEgI1JFUVVJUkVEPgotCi08
L3ByZT4KLQotPGg0Pkl0ZXJhdG9yPC9oND4KLTxwPkFuIDxlbT5JdGVyYXRvcjwvZW0+IGVsZW1l
bnQgZGVmaW5lcyAgd2hldGhlciB0aGUgaW50ZXJmYWNlIGhhcyBhIGN1c3RvbSBpdGVyYXRvcjsg
dGhlIHR5cGUgb2YgdGhlIGl0ZXJhdGVkIG9iamVjdHMgaXMgZGVmaW5lZCBpbiB0aGUgPGVtPlR5
cGU8L2VtPiBjaGlsZC4gSWYgdGhhdCBpbnRlcmF0b3IgaW1wbGVtZW50cyBhIHBhcnRpY3VsYXIg
aW50ZXJmYWNlLCB0aGUgbmFtZSBvZiB0aGF0IGludGVyZmFjZSBpcyBzZXQgaW4gdGhlIDxlbT5p
bnRlcmZhY2U8L2VtPiBhdHRyaWJ1dGUuPC9wPgotPHByZSBjbGFzcz0iZHRkIj4KLSZsdDshRUxF
TUVOVCBJdGVyYXRvciAod2ViaWRsLCBkZXNjcmlwdGl2ZT8sIEV4dGVuZGVkQXR0cmlidXRlTGlz
dD8sIFR5cGUpID4KLSZsdDshQVRUTElTVCBJdGVyYXRvciBpbnRlcmZhY2UgQ0RBVEEgI0lNUExJ
RUQ+Ci08L3ByZT4KLQotPGg0Pkl0ZXJhdG9yT2JqZWN0PC9oND4KLTxwPkFuIDxlbT5JdGVyYXRv
ck9iamVjdDwvZW0+IGVsZW1lbnQgZGVub3RlcyB0aGF0IHRoZSBpbnRlcmZhY2Ugc2VydmVzIGFz
IGFuIGl0ZXJhdG9yIG9iamVjdCBpbnRlcmZhY2U7IHRoZSB0eXBlIG9mIHRoZSBpdGVyYXRlZCBv
YmplY3RzIGlzIGRlZmluZWQgaW4gdGhlIDxlbT5UeXBlPC9lbT4gY2hpbGQuPC9wPgotCi08cHJl
IGNsYXNzPSJkdGQiPgotJmx0OyFFTEVNRU5UIEl0ZXJhdG9yT2JqZWN0ICh3ZWJpZGwsIGRlc2Ny
aXB0aXZlPywgRXh0ZW5kZWRBdHRyaWJ1dGVMaXN0PywgVHlwZSkgPgotPC9wcmU+Ci0KLQotPGg0
PkRpY3Rpb25hcnlNZW1iZXI8L2g0PgotCi08cD4KLUEgPGVtPkRpY3Rpb25hcnlNZW1iZXI8L2Vt
PiByZXByZXNlbnRzIGEgbWVtYmVyIG9mIGEgZGljdGlvbmFyeS4KLVRoZSA8ZW0+VHlwZTwvZW0+
IGVsZW1lbnQgc3BlY2lmaWVzIGl0cyB0eXBlLiBUaGUgPGVtPm5hbWU8L2VtPgotYXR0cmlidXRl
IHNwZWNpZmllcyBpdHMgbmFtZS4gCi08L3A+Ci0KLTxwPgotVGhlIDxlbT5kZXNjcmlwdGl2ZT48
L2VtPiBlbGVtZW50IHByb3ZpZGVzIHRoZSBkaWN0aW9uYXJ5IG1lbWJlcidzIGRvY3VtZW50YXRp
b24KLWlmIGFueS4KLVRoZSA8ZW0+aWQ8L2VtPiBhdHRyaWJ1dGUgc3BlY2lmaWVzIHRoZSBhYnNv
bHV0ZSBzY29wZWQgbmFtZSBvZiB0aGUgYXR0cmlidXRlLgotPC9wPgotCi08cD5UaGUKLTxlbT52
YWx1ZTwvZW0+IGF0dHJpYnV0ZSBzcGVjaWZpZXMgaXRzIHZhbHVlIGZvciBub24tc3RyaW5nIHZh
bHVlcywgYW5kIDxlbT5zdHJpbmd2YWx1ZTwvZW0+IGZvciBzdHJpbmcgdmFsdWVzLjwvcD4KLQot
PHByZSBjbGFzcz0iZHRkIj4KLSZsdDshRUxFTUVOVCBEaWN0aW9uYXJ5TWVtYmVyICh3ZWJpZGws
IGRlc2NyaXB0aXZlPywgRXh0ZW5kZWRBdHRyaWJ1dGVMaXN0PywgVHlwZSkgPgotJmx0OyFBVFRM
SVNUIERpY3Rpb25hcnlNZW1iZXIgbmFtZSBDREFUQSAjUkVRVUlSRUQKLSAgICAgICAgICAgICAg
ICAgICAgaWQgQ0RBVEEgI1JFUVVJUkVECi0gICAgICAgICAgICAgICAgdmFsdWUgQ0RBVEEgI0lN
UExJRUQKLSAgICAgICAgICAgICAgICBzdHJpbmd2YWx1ZSBDREFUQSAjSU1QTElFRCA+Ci0KLTwv
cHJlPgotCi0KLTxoND5FeHRlbmRlZCBhdHRyaWJ1dGVzPC9oND4KLQotPHA+Ci1BbiA8ZW0+RXh0
ZW5kZWRBdHRyaWJ1dGVMaXN0PC9lbT4gY29udGFpbnMgb25lIG9yIG1vcmUKLTxlbT5FeHRlbmRl
ZEF0dHJpYnV0ZTwvZW0+IGVsZW1lbnQuIEVhY2ggPGVtPkV4dGVuZGVkQXR0cmlidXRlPC9lbT4K
LWhhczoKLTwvcD4KLTx1bD4KLTxsaT4KLWEgPGVtPm5hbWU8L2VtPiBhdHRyaWJ1dGUgZ2l2aW5n
IHRoZSBuYW1lIG9mIHRoZSBleHRlbmRlZCBhdHRyaWJ1dGU7Ci08bGk+Ci1pZiB0aGUgZXh0ZW5k
ZWQgYXR0cmlidXRlIGNvbnRhaW5zIGFuIDxjb2RlPj08L2NvZGU+IHNpZ24gZm9sbG93ZWQgYnkg
YQotdmFsdWUsIGEgPGVtPnZhbHVlPC9lbT4gYXR0cmlidXRlIGdpdmluZyB0aGUgdmFsdWUsIHdo
aWNoIGlzIGEgc2NvcGVkCi1uYW1lIG9yIGFuIGlkZW50aWZpZXI7Ci08bGk+Ci1pZiB0aGUgZXh0
ZW5kZWQgYXR0cmlidXRlIGNvbnRhaW5zIHBhcmVudGhlc2VzIChlaXRoZXIgd2l0aCBvciB3aXRo
b3V0Ci1hbiA8Y29kZT49PC9jb2RlPiBzaWduKSwgYW4gPGVtPkFyZ3VtZW50TGlzdDwvZW0+IGVs
ZW1lbnQgZ2l2aW5nIHRoZQotY29udGVudHMgb2YgdGhlIHBhcmVudGhlc2VzLgotPC91bD4KLTxw
PgotSWYgdGhlIDxlbT52YWx1ZTwvZW0+IGF0dHJpYnV0ZSBhbmQgdGhlIDxlbT5Bcmd1bWVudExp
c3Q8L2VtPiBlbGVtZW50IGFyZQotYm90aCBwcmVzZW50LCB0aGVuIDxlbT52YWx1ZTwvZW0+IG11
c3QgZ2l2ZSBhbiBpZGVudGlmaWVyIHJhdGhlciB0aGFuCi1hIHNjb3BlZCBuYW1lLgotPC9wPgot
Ci08cHJlIGNsYXNzPSJkdGQiPgotJmx0OyFFTEVNRU5UIEV4dGVuZGVkQXR0cmlidXRlTGlzdCAo
RXh0ZW5kZWRBdHRyaWJ1dGUrKSA+Ci0KLSZsdDshRUxFTUVOVCBFeHRlbmRlZEF0dHJpYnV0ZSAo
d2ViaWRsLCBBcmd1bWVudExpc3Q/KSA+Ci0mbHQ7IUFUVExJU1QgRXh0ZW5kZWRBdHRyaWJ1dGUg
bmFtZSBOTVRPS0VOICNSRVFVSVJFRAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVl
IENEQVRBICNJTVBMSUVEID4KLTwvcHJlPgotCi08aDQ+VHlwZTwvaDQ+Ci0KLTxwPgotPGVtPlR5
cGU8L2VtPiByZXByZXNlbnRzIGEgdHlwZS4gSXQgaGFzIG9uZSBvZiB0aGVzZSBmb3JtczoKLTwv
cD4KLTx1bD4KLTxsaT4KLVRoZSA8Y29kZT5hbnk8L2NvZGU+LCA8Y29kZT5vYmplY3Q8L2NvZGU+
IGFuZCA8Y29kZT52b2lkPC9jb2RlPgotdHlwZXMgaGF2ZSB0aGUgYXR0cmlidXRlCi08ZW0+dHlw
ZTwvZW0+IHNldCB0byB0aGUgdHlwZSwgYW5kIG5vIG90aGVyIGF0dHJpYnV0ZXMgb3IgZWxlbWVu
dHMuCi1Ob3RlIHRoYXQgdGhlIDxjb2RlPnZvaWQ8L2NvZGU+IHR5cGUgYXBwZWFycyBvbmx5IHdo
ZW4gdGhlIDxlbT5UeXBlPC9lbT4KLWVsZW1lbnQgaXMgYSBjaGlsZCBvZiA8ZW0+T3BlcmF0aW9u
PC9lbT4uCi08bGk+Ci1BIHR5cGUgdGhhdCBpcyBhbiBpbnRlcmZhY2UgaGFzIHRoZSBhdHRyaWJ1
dGUgPGVtPm5hbWU8L2VtPiBzZXQgdG8gdGhlCi1uYW1lIG9mIHRoYXQgaW50ZXJmYWNlLCBhbmQg
bm8gb3RoZXIgYXR0cmlidXRlcyBvciBlbGVtZW50cy4KLTxsaT4KLUZvciB0aGUgcHJpbWl0aXZl
IHR5cGVzIDxjb2RlPnNob3J0PC9jb2RlPiwgPGNvZGU+dW5zaWduZWQgc2hvcnQ8L2NvZGU+LAot
PGNvZGU+bG9uZzwvY29kZT4sIDxjb2RlPnVuc2lnbmVkIGxvbmc8L2NvZGU+LCA8Y29kZT5sb25n
IGxvbmc8L2NvZGU+LAotPGNvZGU+dW5zaWduZWQgbG9uZyBsb25nPC9jb2RlPiwgPGNvZGU+Zmxv
YXQ8L2NvZGU+LCA8Y29kZT5kb3VibGU8L2NvZGU+LAotPGNvZGU+Ym9vbGVhbjwvY29kZT4sIDxj
b2RlPm9jdGV0PC9jb2RlPiwgPGNvZGU+Ynl0ZTwvY29kZT4gYW5kIDxjb2RlPkRPTVN0cmluZzwv
Y29kZT4sCi10aGVyZSBpcyBhbiBhdHRyaWJ1dGUgPGVtPnR5cGU8L2VtPgotd2hvc2UgdmFsdWUg
aXMgb25lIG9mIHRob3NlIHN0cmluZ3MsIGFuZCBubyBvdGhlciBhdHRyaWJ1dGVzIG9yIGVsZW1l
bnRzLgotSG93ZXZlciwgaWYgdGhlIHR5cGUgd2FzIHNwZWNpZmllZCBpbiB0aGUgV2ViIElETCB3
aXRoIGEgdHJhaWxpbmcgPGNvZGU+PzwvY29kZT4KLXNpZ24sIHRoZW4gdGhlcmUgaXMgYW4gYXR0
cmlidXRlIDxlbT5udWxsYWJsZTwvZW0+IHdpdGggdGhlIHZhbHVlCi08Y29kZT5udWxsYWJsZTwv
Y29kZT4uCi08L3VsPgotPHA+Ci1UaGUgcmVzdHJpY3Rpb25zIG9uIHdoaWNoIGNvbWJpbmF0aW9u
cyBvZiBlbGVtZW50cyBhbmQgYXR0cmlidXRlcyBhcmUKLXBlcm1pdHRlZCBhcmUgbm90IGVuY29k
ZWQgYnkgdGhlIERURC4KLTwvcD4KLTxwPgotVGhlIDxlbT5kZXNjcmlwdGl2ZTwvZW0+IGVsZW1l
bnQgcHJvdmlkZXMgdGhlIGRvY3VtZW50YXRpb24KLWlmIGFueSwgd2hlbiB0aGUgPGVtPlR5cGU8
L2VtPiBpcyBhIGNoaWxkIG9mIDxlbT5PcGVyYXRpb248L2VtPiwgYW5kIHRodXMKLXJlcHJlc2Vu
dGluZyBhbiBvcGVyYXRpb24ncyByZXR1cm4gdHlwZS4KLTwvcD4KLQotPHA+VGhlIDxlbT5FeHRl
bmRlZEF0dHJpYnV0ZUxpc3Q8L2VtPiBlbGVtZW50IHByb3ZpZGVzIHRoZSBvcHRpb25hbCBleHRl
bmRlZCBhdHRyaWJ1dGVzIHRoYXQgY2FuIGJlIGRlZmluZWQgZm9yIGEgdHlwZSB0aHJvdWdoIHR5
cGVkZWYsICZhZ3JhdmU7IGxhIDxjb2RlPnR5cGVkZWYgW0NsYW1wXSBvY3RldCBWYWx1ZTs8L2Nv
ZGU+LjwvcD4KLQotPCEtLSBjYW4ndCB1c2UgZW51bWVyYXRlZCB2YWx1ZXMgZm9yIHRoZSB2YWx1
ZXMgb2YgdHlwZSwgc2luY2UgRFREIGRvbid0IGFsbG93IGVudW1lcmF0ZWQgdmFsdWVzIHRvIGhh
dmUgc3BhY2UgaW4gdGhlbSAod2hpY2ggd291bGQgYmUgbmVlZGVkIGUuZy4gZm9yICJsb25nIGxv
bmciKSAtLT4KLTxwcmUgY2xhc3M9ImR0ZCI+Ci0mbHQ7IUVMRU1FTlQgVHlwZSAoZGVzY3JpcHRp
dmU/LCBFeHRlbmRlZEF0dHJpYnV0ZUxpc3Q/LCBUeXBlKikgPgotJmx0OyFBVFRMSVNUIFR5cGUg
dHlwZSBDREFUQSAjSU1QTElFRAotICAgICAgICAgICAgICAgbmFtZSBOTVRPS0VOICNJTVBMSUVE
Ci0gICAgICAgICAgICAgICBudWxsYWJsZSAobnVsbGFibGUpICNJTVBMSUVEID4KLTwvcHJlPgot
Ci08aDQ+U2VxdWVuY2U8L2g0PgotCi08cD5Gb3IgYSBzZXF1ZW5jZSB0eXBlLCB0aGUgPGVtPlR5
cGU8L2VtPiBlbGVtZW50IHdpdGggYW4gYXR0cmlidXRlIDxlbT50eXBlPC9lbT4gc2V0IHRvIDxl
bT5zZXF1ZW5jZTwvZW0+IGNvbnRhaW5zIGFuIGVsZW1lbnQgPGVtPlR5cGU8L2VtPiBnaXZpbmcg
dGhlIHNlcXVlbmNlIGVsZW1lbnQgdHlwZSwgYW5kIG5vIG90aGVyIGF0dHJpYnV0ZXMgb3IgZWxl
bWVudHMuIElmIHRoZSBzZXF1ZW5jZSBpcyBzcGVjaWZpZWQgaW4gdGhlIFdlYiBJREwgd2l0aCBh
IHRyYWlsaW5nIDxjb2RlPj88L2NvZGU+Ci1zaWduLCB0aGVuIHRoZXJlIGlzIGFuIGF0dHJpYnV0
ZSA8ZW0+bnVsbGFibGU8L2VtPiB3aXRoIHRoZSB2YWx1ZQotPGNvZGU+bnVsbGFibGU8L2NvZGU+
LgotCi0KLTxoND5BcnJheTwvaDQ+Ci0KLTxwPkZvciBhbiBhcnJheSB0eXBlLCB0aGUgPGVtPlR5
cGU8L2VtPiBlbGVtZW50IHdpdGggYW4gYXR0cmlidXRlIDxlbT50eXBlPC9lbT4gc2V0IHRvIDxl
bT5hcnJheTwvZW0+IGNvbnRhaW5zIGFuIGVsZW1lbnQgPGVtPlR5cGU8L2VtPiBnaXZpbmcgdGhl
IGFycmF5IGVsZW1lbnQgdHlwZS4gSWYgdGhlIGFycmF5IGlzIHNwZWNpZmllZCBpbiB0aGUgV2Vi
IElETCB3aXRoIGEgdHJhaWxpbmcgPGNvZGU+PzwvY29kZT4KLXNpZ24sIHRoZW4gdGhlcmUgaXMg
YW4gYXR0cmlidXRlIDxlbT5udWxsYWJsZTwvZW0+IHdpdGggdGhlIHZhbHVlCi08Y29kZT5udWxs
YWJsZTwvY29kZT4uCi0KLTxoND5VbmlvbjwvaDQ+Ci0KLTxwPkZvciBhIHVuaW9uIHR5cGUsIHRo
ZSA8ZW0+VHlwZTwvZW0+IGVsZW1lbnQgd2l0aCBhbiBhdHRyaWJ1dGUgPGVtPnR5cGU8L2VtPiBz
ZXQgdG8gPGVtPnVuaW9uPC9lbT4gY29udGFpbnMgYXQgbGVhc3QgdHdvIGVsZW1lbnQgPGVtPlR5
cGU8L2VtPiBnaXZpbmcgdGhlIHVuaW9uIG1lbWJlcnMgdHlwZS4gSWYgdGhlIHVuaW9uIGlzIHNw
ZWNpZmllZCBpbiB0aGUgV2ViIElETCB3aXRoIGEgdHJhaWxpbmcgPGNvZGU+PzwvY29kZT4KLXNp
Z24sIHRoZW4gdGhlcmUgaXMgYW4gYXR0cmlidXRlIDxlbT5udWxsYWJsZTwvZW0+IHdpdGggdGhl
IHZhbHVlCi08Y29kZT5udWxsYWJsZTwvY29kZT4uCi0KLQotCi08aDQ+RGVzY3JpcHRpdmUgZWxl
bWVudHM8L2g0PgotCi08cD4KLVRoZSBmb2xsb3dpbmcgZWxlbWVudHMgY29udGFpbiBkb2N1bWVu
dGF0aW9uLCBleHRyYWN0ZWQgZnJvbSB0aGUKLURveHlnZW4tbGlrZSBjb21tZW50cyBpbiB0aGUg
aW5wdXQuIDxjb2RlPiZsdDtwYXJhbT48L2NvZGU+Ci1kZXJpdmVzIG9ubHkgZnJvbSBhIDxjb2Rl
PlxwYXJhbTwvY29kZT4gY29tbWFuZCB1c2VkIGluc2lkZSBhCi08Y29kZT5cZGVmLWRldmljZS1j
YXA8L2NvZGU+IGJsb2NrOyBhbnkgb3RoZXIgPGNvZGU+XHBhcmFtPC9jb2RlPiBjb21tYW5kCi1p
cyBsaW5rZWQgdG8gYSBwYXJhbWV0ZXIgKGFyZ3VtZW50KSBvZiB0aGUgbWV0aG9kIGJlaW5nIGRv
Y3VtZW50ZWQuCi08L3A+Ci0KLTxwcmUgY2xhc3M9ImR0ZCI+Ci0mbHQ7IUVMRU1FTlQgZGVzY3Jp
cHRpdmUgKGRlc2NyaXB0aW9uIHwgYnJpZWYgfCB0aHJvdyB8IGF1dGhvcgotICAgIHwgdmVyc2lv
biB8IENvZGUgfCBhcGktZmVhdHVyZSB8IGRldmljZS1jYXAgfCBkZWYtYXBpLWZlYXR1cmUKLSAg
ICB8IGRlZi1hcGktZmVhdHVyZS1zZXQgfCBkZWYtZGV2aWNlLWNhcCB8IGRlZi1pbnN0YW50aWF0
ZWQgfCBwYXJhbSkqID4KLQotJmx0OyFFTEVNRU5UIGRlc2NyaXB0aW9uICVCbG9jazsgPgotCi0m
bHQ7IUVMRU1FTlQgYnJpZWYgJUlubGluZTsgPgotCi0mbHQ7IUVMRU1FTlQgdGhyb3cgJUlubGlu
ZTsgPgotCi0mbHQ7IUVMRU1FTlQgYXV0aG9yICVJbmxpbmU7ID4KLQotJmx0OyFFTEVNRU5UIHZl
cnNpb24gJUlubGluZTsgPgotCi0mbHQ7IUVMRU1FTlQgQ29kZSAlSW5saW5lOyA+Ci0KLSZsdDsh
RUxFTUVOVCBhcGktZmVhdHVyZSAlSW5saW5lOyA+Ci0mbHQ7IUFUVExJU1QgYXBpLWZlYXR1cmUg
aWRlbnRpZmllciBDREFUQSAjUkVRVUlSRUQgPgotCi0mbHQ7IUVMRU1FTlQgZGV2aWNlLWNhcCAl
SW5saW5lOyA+Ci0mbHQ7IUFUVExJU1QgZGV2aWNlLWNhcCBpZGVudGlmaWVyIENEQVRBICNSRVFV
SVJFRCA+Ci0KLSZsdDshRUxFTUVOVCBwYXJhbSAlSW5saW5lOyA+Ci0mbHQ7IUFUVExJU1QgcGFy
YW0gaWRlbnRpZmllciBDREFUQSAjUkVRVUlSRUQgPgotCi0mbHQ7IUVMRU1FTlQgZGVmLWFwaS1m
ZWF0dXJlIChkZXNjcmlwdGl2ZT8pID4KLSZsdDshQVRUTElTVCBkZWYtYXBpLWZlYXR1cmUgaWRl
bnRpZmllciBDREFUQSAjUkVRVUlSRUQgPgotCi0mbHQ7IUVMRU1FTlQgZGVmLWFwaS1mZWF0dXJl
LXNldCAoZGVzY3JpcHRpdmU/KSA+Ci0mbHQ7IUFUVExJU1QgZGVmLWFwaS1mZWF0dXJlLXNldCBp
ZGVudGlmaWVyIENEQVRBICNSRVFVSVJFRCA+Ci0KLSZsdDshRUxFTUVOVCBkZWYtaW5zdGFudGlh
dGVkIChkZXNjcmlwdGl2ZT8pID4KLQotJmx0OyFFTEVNRU5UIGRlZi1kZXZpY2UtY2FwIChkZXNj
cmlwdGl2ZT8pID4KLSZsdDshQVRUTElTVCBkZWYtZGV2aWNlLWNhcCBpZGVudGlmaWVyIENEQVRB
ICNSRVFVSVJFRCA+Ci0KLSZsdDshRUxFTUVOVCByZWYgKCNQQ0RBVEEpID4KLTwvcHJlPgotCi08
aDQ+WEhUTUwgZWxlbWVudHM8L2g0PgotCi08cD4KLVRoZSBmb2xsb3dpbmcgWEhUTUwgZWxlbWVu
dHMgYXJlIHBhcnQgb2Ygd2lkbHByb2N4bWw6Ci08L3A+Ci0KLTxwcmUgY2xhc3M9ImR0ZCI+Ci0m
bHQ7IUVMRU1FTlQgYSAlSW5saW5lOyA+Ci0mbHQ7IUFUVExJU1QgYSBocmVmIENEQVRBICNSRVFV
SVJFRCA+Ci0KLSZsdDshRUxFTUVOVCBiICVJbmxpbmU7ID4KLQotJmx0OyFFTEVNRU5UIGJyIEVN
UFRZID4KLQotJmx0OyFFTEVNRU5UIGRkICVGbG93OyA+Ci0KLSZsdDshRUxFTUVOVCBkbCAoKGR0
IHwgZGQpKikgPgotCi0mbHQ7IUVMRU1FTlQgZHQgJUlubGluZTsgPgotCi0mbHQ7IUVMRU1FTlQg
ZW0gJUlubGluZTsgPgotCi0mbHQ7IUVMRU1FTlQgaW1nICVJbmxpbmU7ID4KLSZsdDshQVRUTElT
VCBpbWcgc3JjIENEQVRBICNSRVFVSVJFRCAKLSAgICAgICAgICAgICAgICAgYWx0IENEQVRBICNJ
TVBMSUVEPgotCi0KLSZsdDshRUxFTUVOVCBsaSAlRmxvdzsgPgotCi0mbHQ7IUVMRU1FTlQgcCAl
SW5saW5lOyA+Ci0KLSZsdDshRUxFTUVOVCB0YWJsZSAodHIqKSA+Ci0KLSZsdDshRUxFTUVOVCB0
ZCAlRmxvdzsgPgotCi0mbHQ7IUVMRU1FTlQgdGggJUZsb3c7ID4KLQotJmx0OyFFTEVNRU5UIHRy
ICgodGggfCB0ZCkqKSA+Ci0KLSZsdDshRUxFTUVOVCB1bCAobGkqKSA+Ci08L3ByZT4KLQotCi08
aDI+QmlibGlvZ3JhcGh5PC9oMj4KLQotPHAgaWQ9ImJvbmRpIj4KLUJPTkRJIC0gYW4gb3BlbiBz
b3VyY2UgaW5kdXN0cnkgY29sbGFib3JhdGlvbiBmb3Igd2lkZ2V0IGFuZCB3ZWIgdGVjaG5vbG9n
aWVzLAotPGEgaHJlZj0iaHR0cDovL2JvbmRpLm9tdHAub3JnLyI+aHR0cDovL2JvbmRpLm9tdHAu
b3JnLzwvYT4KLTwvcD4KLQotPHAgaWQ9ImRveHlnZW4iPgotRG94eWdlbiBTb3VyY2UgY29kZSBk
b2N1bWVudGF0aW9uIGdlbmVyYXRvciB0b29sLAotPGEgaHJlZj0iaHR0cDovL3d3dy5zdGFjay5u
bC9+ZGltaXRyaS9kb3h5Z2VuL2luZGV4Lmh0bWwiPgotaHR0cDovL3d3dy5zdGFjay5ubC9+ZGlt
aXRyaS9kb3h5Z2VuL2luZGV4Lmh0bWw8L2E+Ci08L3A+Ci0KLTxwIGlkPSJ3M2NnZW8iPgotVzND
IEdlb2xvY2F0aW9uIEFQSSBTcGVjaWZpY2F0aW9uIEVkaXRvcidzIERyYWZ0IDMgQXByaWwgMjAw
OSwKLTxhIGhyZWY9Imh0dHA6Ly9kZXYudzMub3JnL2dlby9hcGkvc3BlYy1zb3VyY2UuaHRtbCI+
Ci1odHRwOi8vZGV2LnczLm9yZy9nZW8vYXBpL3NwZWMtc291cmNlLmh0bWw8L2E+Ci08L3A+Ci0K
LTxwIGlkPSJ3ZWJpZGwiPgotV2ViIElETCBXM0MgRWRpdG9yJ3MgRHJhZnQgMyBNYXkgMjAxMSwK
LTxhIGhyZWY9Imh0dHA6Ly9kZXYudzMub3JnLzIwMDYvd2ViYXBpL1dlYklETCI+aHR0cDovL2Rl
di53My5vcmcvMjAwNi93ZWJhcGkvV2ViSURMPC9hPgotPC9wPgotCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvd2lkbHByb2MvZXhhbXBsZXMvTWFrZWZpbGUgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvZXhh
bXBsZXMvTWFrZWZpbGUKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDYxNDQ1M2QyM2Mw
Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvZXhhbXBsZXMvTWFrZWZpbGUK
KysrIC9kZXYvbnVsbApAQCAtMSw3OSArMCwwIEBACi0jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKLSMgJElkJAot
IyBDb3B5cmlnaHQgMjAwOSBBcGxpeCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
LSMgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJM
aWNlbnNlIik7Ci0jIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFu
Y2Ugd2l0aCB0aGUgTGljZW5zZS4KLSMgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNl
bnNlIGF0Ci0jICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAK
LSMgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0
aW5nLCBzb2Z0d2FyZQotIyBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmli
dXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAotIyBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElU
SU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KLSMgU2VlIHRoZSBM
aWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFu
ZAotIyBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KLSMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwotCi1V
TkFNRSA9ICQoc2hlbGwgdW5hbWUpCi1FWEFNUExFU0RJUiA9IC4KLSMgVGhlIHNldHRpbmdzIG9m
IFNSQ0RJUiAod2hlcmUgdG8gZmluZCB0aGUgeHNsIHN0eWxlIHNoZWV0cyksIE9CSkRJUiAod2hl
cmUgdG8KLSMgZmluZCB3aWRscHJvYyBhbmQgd2lkbHByb2N4bWwuZHRkKSBhbmQgRVhBTVBMRVNP
QkpESVIgKHdoZXJlIHRvIHB1dCB0aGUKLSMgcmVzdWx0aW5nIGh0bWwgZmlsZXMgYW5kIGFueSBp
bnRlcm1lZGlhdGUgZmlsZXMpIHJlZmxlY3QgdGhlIGRpcmVjdG9yeQotIyBzdHJ1Y3R1cmUgb2Yg
dGhlIHJlbGVhc2VkIHdpZGxwcm9jLnppcCBmaWxlIHdoZW4gdW56aXBwZWQuIC4uL01ha2VmaWxl
IGNhbGxzCi0jIHRoaXMgTWFrZWZpbGUgd2l0aCB0aGVzZSBzZXR0aW5ncyBvdmVycmlkZGVuIHRv
IHJlZmxlY3QgdGhlIGRpcmVjdG9yeQotIyBzdHJ1Y3R1cmUgaW4gc3ZuLgotU1JDRElSID0gLi4K
LU9CSkRJUiA9IC4uCi1FWEFNUExFU09CSkRJUiA9IG9iagotCi0jIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKLSMg
TGludXggY29uZmlndXJhdGlvbgotIwotaWZuZXEgKCwkKGZpbHRlciBMaW51eCUsICQoVU5BTUUp
KSkgCi0KLUVYRVNVRkZJWCA9Ci0KLWVsc2UKLSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwotIyBEYXJ3aW4gY29u
ZmlndXJhdGlvbgotIwotaWZuZXEgKCwkKGZpbHRlciBEYXJ3aW4lLCAkKFVOQU1FKSkpIAotCi1F
WEVTVUZGSVggPQotCi1lbHNlCi0jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKLSMgV2luZG93cyAoY3lnd2luIGJ1
dCB1c2luZyBNUyBjb21waWxlcikgY29uZmlndXJhdGlvbgotIwotaWZuZXEgKCwkKGZpbHRlciBD
WUdXSU4lLCAkKFVOQU1FKSkpIAotCi1FWEVTVUZGSVggPSAuZXhlCi0KLWVuZGlmCi1lbmRpZgot
ZW5kaWYKLQotIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCi0jIENvbW1vbiBtYWtlZmlsZQotIwotV0lETFBST0Mg
PSAkKE9CSkRJUikvd2lkbHByb2MkKEVYRVNVRkZJWCkKLURURCA9ICQoT0JKRElSKS93aWRscHJv
Y3htbC5kdGQKLQotV0lETFMgPSAkKHBhdHN1YnN0ICQoRVhBTVBMRVNESVIpLyUsICUsICQod2ls
ZGNhcmQgJChFWEFNUExFU0RJUikvKi53aWRsKSkKLQotdGVzdCA6ICQocGF0c3Vic3QgJS53aWRs
LCAkKEVYQU1QTEVTT0JKRElSKS8lLmh0bWwsICQoV0lETFMpKSAkKEVYQU1QTEVTT0JKRElSKS93
aWRsaHRtbC5jc3MKLQlAZWNobyAiJEAgcGFzcyIKLQotJChFWEFNUExFU09CSkRJUikvJS5odG1s
IDogJChFWEFNUExFU09CSkRJUikvJS53aWRscHJvY3htbCAkKFNSQ0RJUikvd2lkbHByb2N4bWx0
b2h0bWwueHNsIE1ha2VmaWxlCi0JY3AgJChTUkNESVIpL3dpZGxwcm9jeG1sdG9odG1sLnhzbCAk
KGRpciAkQCkvCi0JeHNsdHByb2MgJChkaXIgJEApL3dpZGxwcm9jeG1sdG9odG1sLnhzbCAkPCA+
JEAKLQotJChFWEFNUExFU09CSkRJUikvJS53aWRscHJvY3htbCA6ICQoRVhBTVBMRVNESVIpLyUu
d2lkbCAkKFdJRExQUk9DKSAkKERURCkgTWFrZWZpbGUKLQlta2RpciAtcCAkKGRpciAkQCkKLQkk
KFdJRExQUk9DKSAkPCA+JEAKLQljcCAkKE9CSkRJUikvd2lkbHByb2N4bWwuZHRkICQoZGlyICRA
KS8KLQl4bWxsaW50IC0tbm9vdXQgLS1kdGR2YWxpZCAkKERURCkgJEAKLQotJChFWEFNUExFU09C
SkRJUikvd2lkbGh0bWwuY3NzIDogJChFWEFNUExFU0RJUikvd2lkbGh0bWwuY3NzCi0JY3AgJDwg
JEAKLQotLkRFTEVURV9PTl9FUlJPUjoKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9j
L2V4YW1wbGVzL1JFQURNRSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9leGFtcGxlcy9SRUFETUUKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGVmYmI3MmRkYThkLi4wMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvZXhhbXBsZXMvUkVBRE1FCisrKyAvZGV2L251bGwKQEAgLTEs
NDEgKzAsMCBAQAotIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCi0jICRJZCQKLSMgQ29weXJpZ2h0IDIwMDkgQXBs
aXggQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0jIExpY2Vuc2VkIHVuZGVyIHRo
ZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOwotIyB5b3UgbWF5
IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2Uu
Ci0jIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAotIyAgICAgaHR0cDov
L3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCi0jIFVubGVzcyByZXF1aXJlZCBi
eSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKLSMgZGlz
dHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBC
QVNJUywKLSMgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVp
dGhlciBleHByZXNzIG9yIGltcGxpZWQuCi0jIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNp
ZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKLSMgbGltaXRhdGlvbnMgdW5k
ZXIgdGhlIExpY2Vuc2UuCi0jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKLQotVGhpcyBleGFtcGxlcyBkaXJlY3Rv
cnkgY29udGFpbnMgdHdvIG9mIHRoZSBCT05ESSAud2lkbCBmaWxlcywgYSBNYWtlZmlsZQotdGhh
dCBwcm9jZXNzZXMgdGhlbSB0byBnZW5lcmF0ZSBodG1sLCBhbmQgYSAuY3NzIGZpbGUgdGhhdCB0
aGUgcmVzdWx0aW5nCi1odG1sIHVzZXMuCi0KLVRoZSBNYWtlZmlsZSBwcm9jZXNzZXMgdGhlIC53
aWRsIGZpbGVzIGFzIGZvbGxvd3M6Ci0KLSAxLiBGb3IgZWFjaCAud2lkbCwgZ2VuZXJhdGUgdGhl
IC53aWRscHJvY3htbCBmaWxlIChhbiBYTUwgcmVwcmVzZW50YXRpb24KLSAgICBvZiB0aGUgaW5m
b3JtYXRpb24gaW4gdGhlIC53aWRsKSB1c2luZyB3aWRscHJvYy4KLQotIDIuIFZhbGlkYXRlICh1
c2luZyB4bWxsaW50KSBlYWNoIC53aWRscHJvY3htbCBhZ2FpbnN0IHRoZSBEVEQuCi0KLSAzLiBX
ZSB3YW50IGFueSByZWZlcmVuY2UgaW4gdGhlIHJlc3VsdGluZyBodG1sIHRvIGEgdHlwZSBlbHNl
d2hlcmUgaW4gdGhlCi0gICAgQVBJIHRvIGJlIGEgbGluay4gVGhpcyBpcyB3aGVyZSB3ZSBhY2hp
ZXZlIHRoaXMuIEZpcnN0IGdlbmVyYXRlIGEKLSAgICBsaXN0IG9mIGZxaWRzIChmdWxseSBxdWFs
aWZpZWQgaWRlbnRpZmllcnMpIGZyb20gZnFpZCBhdHRyaWJ1dGVzIGluCi0gICAgdGhlIFhNTCBi
eSBydW5uaW5nIGFsbCAud2lkbHByb2N4bWwgZmlsZXMgdGhyb3VnaCB0aGUgc3R5bGUgc2hlZXQK
LSAgICB3aWRscHJvY3htbGZxaWRzLnhzbC4KLQotIDQuIFR1cm4gdGhhdCBsaXN0IG9mIGZxaWRz
IGludG8gYSBzZWQgc2NyaXB0IHRoYXQgdHVybnMgYSA8cmVmPiB0byBhbgotICAgIGZxaWQgaW50
byBhIDxyZWYgcmVmPSIuLiI+IHRvIHRoZSBmcWlkIGluIHRoZSByaWdodCAuaHRtbCBmaWxlLgot
Ci0gNS4gRm9yIGVhY2ggLndpZGxwcm9jeG1sIGZpbGUsIGdlbmVyYXRlIGEgLndpZGxwcm9jeG1s
MiBmaWxlIGJ5IHJ1bm5pbmcKLSAgICBpdCB0aHJvdWdoIHRoZSBzZWQgc2NyaXB0IGdlbmVyYXRl
ZCBhYm92ZS4KLQotIDYuIEZvciBlYWNoIC53aWRscHJvY3htbDIgZmlsZSwgZ2VuZXJhdGUgYSAu
aHRtbCBmaWxlIGJ5IHJ1bm5pbmcgaXQgdGhyb3VnaAotICAgIHRoZSB3aWRscHJvY3htbHRvaHRt
bC54c2wgc3R5bGUgc2hlZXQuCi0KLVNlZSB0aGUgTWFrZWZpbGUgZm9yIGRldGFpbHMuCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvZXhhbXBsZXMvYm9uZGkud2lkbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC93aWRscHJvYy9leGFtcGxlcy9ib25kaS53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAyMDBiOTVmZTljMS4uMDAwMDAwMDAwMDAKR0lUIGJpbmFyeSBwYXRjaApsaXRlcmFsIDAK
SGNtVj9kMDAwMDEKCmxpdGVyYWwgNjgyNwp6Y21iX2hZaX1GNTc1eXYme1NTbnspSFpCcz9RTSVU
UDY5Wnc5akxWPiE/R0lgYnJEY0FsKkRFPG9GIS1NMip2KlEKem9fakI2Rzx0Wkkxe0lMP2lAYzk+
JndYKXdNfDxpPi1QcHdCIUtBOG1ZSXlyX3IqNnUkc31BVmZMc2pMZUB5Z3shCnpJamBvPDg8bmBj
Xm1iZzhfKGRqSG03YVFJPHxaI2dTQ1BuKEZ7KyN5SDVma2hLVkdTYyY1VE5Ja2JCVmRWI15zMAp6
KnF+bVZ8RWVZc3JQSWB3KjV4YD1IcGVnS250b0U9T3RudktLNHJPeUQ7Q35QWFFnczR4JCQ5VTNz
RmMpQUU1QncKek9wR15xVnBNLSNXTmViaUlTQmdNdSVie1VHZ1c5YDJJVkdmckVmMFQpa3x9bzhy
R3x5d2F4U3hVSS1xK0shN2djCnpyMUE1aGJlPDl7O3leZjVAUWJnbVVuNUI1TSR9QVpVbGNtUT9f
KDU+KWllQWUmKEZGKTlqajF7fDgwX3pMUE03dQp6Q0hQNX4oN1JDa3BNaFo1WEIra31qa25LbTdf
TzQmX0B8MTMzeTlraEFqbElwcEJ0WjhLd2ViN2FLWFV0RHdKdyQKelNlIVI9WkY0JFNXTEQ+ODlY
M088S01WKCNlSDk5bSpvalI5V0YxdUQtTXFAQ3okUjdXaDQyWTc0MTdjXkdveXApCnpzKC1sM3Qy
TH0haGBiKWVtemU8ITtHPmBkOXxBLXI9MX1ZPWI0eE5BaGU4WGphTG9SWSokWT82KzEhPE92UzB7
Mwp6ZD8rbH5EfStHd21OLU0wclhORkxsZ2Q+ZnRYXzBVNWRESzYyPXFjaG1JQkM3aUBPNU10M0hA
LWk3ODVPeXVsU0AKempycXs5VWBncylnJlZWRFdKfEhBaTVvZWlLIXNVWjdIQGpKbXpTNVdXPHF0
SHBZfiNZaFRhWCphNEA8JDBqWT15Cnp4SXAmRE9Ka3lMKlVpZzxGUj1xQj9IZjRUK3VRM01haytS
SmR1dH1AQmdnfW1pbm8oMFBiN0o1JD8lWiQyTSQ3Tgp6Q059NUgyQ088S1paUkpUKmVwfHk8MCg/
K0YwQz9mNUh3MG5WTmlNVSNGX3hPQT8+Tm9pX2A4WSthc3FIOD9YTWUKeng3USoySSZATUR5em1+
TzBqKH5GdzxBPVpkPHNlVWR2QzgoRSgheT9SNH42KFI0bT4kTjhUJHIlOXFjN0wrR0RSCnojdWg9
KGdQckR9SShUUU1BbSsycUR6ZiskSnVXRnRgQ2lmSSE9Zn1od1ZlS20pJTxUdCFwIS1vV0pLVFkp
YmpKJAp6NGB8NjtKezM+WTRaaHV9V1JmYCkzRG9oejBqeW0+QG81byVPJjREaXxIK15ZKmhKbXhB
e0s+cD8xeGUrODF3bysKeklLM3Nkd0piRDwhfnxrJW1XXzR0bTRvWGlJeCk1RWV9MFVBZFVxWChL
Z19lbXVeUEJPYykmK1I/WjF8SClrd3RGCnpTMyVoaD49RHg5bn0pWnlDfj1NJF8zWFk8dERHNkdY
VUt8MHAzSjw8c1MxJjhRYjBfSmpFTj5zc3dgV3VTZitYQgp6Kjt5MytKWmU1VEptMmc1M2RjODZC
Xzd6fkY/VVEpWCVmbjdxc3N+ZDA5aHNsS00yblcpKnBpOGVucyNHSykqeGMKel5KZ2JXUmVANVpC
TWQrUnQ+elZ6QlJjVm1kWklvKTJYJDJCTno7e3hzO0V1c3VWfl88IzlQJHRpQFFGZTVGOSF0Cnp3
WVIyZE1gaWRgZ290PjgmcnpAT0smXiFXKWh7WV48SFBmSz57b29WOEp3RHkjKFYxN3w2ZnZHazxj
SGFCdWNxaAp6PGRVVEYjMDJ0cTRPY21WTWk5XlApUGYlQXdaJS0qel9pej9zbWtebzBHO1NIfDE2
aGxfTzkzWVJlWSFyRkxNPjwKenBpXkAoMkMmV0ZSOzUkIzVUU0hCYzheJGojZXV9N2w+MVdESktw
SGpBPll3TzwzUExZMTYrSE5uNW1JbT52VDRmCno/YjFBQllRODlKJWVRNWo7MWFgVEZIc3xMJWdH
R2o1SEcjWHIkKExyZ3dNKDhVLTAzWlh3eGs+cXBHe1VzQ3g0cQp6ZW1+fTRiSWpIUGBPO15hZkxp
VE4rPFlBVFo3fT5pXztQaUJLZkleIyRJbS00aSVSU1V1S2dTPjU+PCZDQzU5PX4KekUqVCtfSkB+
PXFNT0QmdHVJREloZXVufTUhUVVAI2BqPWxXP21zPT1VSlZ7PE9UPldGdHAqVVIhRHg/fXlTNCZw
Cno8KWxsSEp2N1dzOU9uRVQlQ1h5Z3hnSV9hRV5EblQtayl0JUp9ZUJAMkFifVgxVF44RyVJcntj
Y1pFNTdAYWZDJgp6PyZ8KkhwK0J0UTc5VzQhcy17bVVfSiZuU1VeMGJ3RENyTl5vTEtTWTRfbFFD
ZksjWjcwdXUoMXsybmNZKnkhPUAKelpnfkgyKWthTlJgRDUlKD4tangwczRvflJNYTIoaSR7QTxN
OEQpd1RnalN4XkRxY3lHUEc+OXE1cz0mZFhoYjJvCnp5YytaeW0pPEdYXkA9LXA2N199Jmh6eXNf
Qmh9MGYkWnJoalIzOzQ/RXsmSmlxKm1JJHQ5ZThqZ01wclFed00kSgp6enlrSmN2OUBBVSY9X3NB
TyEoSF5WMTFaQG0mSWAxQkFRRyNAfEpvOFpKe0VSRC1mXjMqQDdEN2NIQEx9VHNOQHsKenojcERr
QEt0Qm5xU3tsLXY5ZXc0ZztkdktSO2IyY3sqd3FYY3M3OGkoSnxtY25NK1ItdmQxcmJxcDBFeiF7
fkJoCno3Y3x2ZEdrLXRQU3VrJlZfKWdqU1pWUmp3MSZZYzVrNXdqSlE5ZD9fbVIpYX50K2VYfHN3
X0lBSGk3LWFXOD5pKQp6Qjg2T0IyQEhOe3Nad2MkSDRAOWROb0cwTD5JX2RUYjZhdUBEYmBDTkUl
Y2syZ156V3luJnA4T24tVj4wSkVTNnAKejdraSFgPT5iRGxFe1owfjZKMkJQRiRjcWkzNyRWX15y
Syh2MHUoRGUlfEtDMTk3KFZuVGFXfGA5dEVOWHBZYmt6Cnp3RkItNWJyJi08VSNHIWExZDVWSUQm
O344TF9vZDQ3fnZmXy1XZlpHQ2tMJEJvQz9oVnlrMjV0e3F6blkkQmY0cgp6NjhCMn05cjxmS1Jp
Sk5wIXtVQDkzI09TSEJTNndSSVFPMmdSRyNSPG89b0RYeW5Wc09pSnQ3LWFkTTJ1SHxvKnsKelRG
a2VtVzFPNmtOLUFGN05WYSs+dVYtTzhvMT85IV4kaHtHb3dfdkJmQy1XKWJiYlRjPCZzNHkpdEBM
ViE3KzVlCnpyUjMwc0hoVnRTXkN9NTBGZztfRVkxMjQxLWs4RDVOeEpxYj5MM0N4Nl5QeyYxOHpI
dzR3NnA8TW9yWGVaVE5ZYQp6UyRnLUE+S0hILWtee3tVSklCSk9GOzlffEVSJHpBMnVrXkZFQTlm
aEVJYHJOUj84RDxmUC13PmE2KmtDaHBaMUsKeiF4MERMbXskfnlmWEFBY00rZHhZblF4ak5BJj1G
KlBeN1QpRjR8QTJsWEN3TUA9LW9IJjFUMyRZPSVmZzxmbDlqCnppV008ITgmSmtaQW1NZWcmNjJx
THRlPGEzdVNyRSF2cV5Oc3RFPWNeV0B0alA8MDUkO00tMkh3N3dlP3FLbGJuWQp6dFNhaEB3Zms8
WmNgQjNSUmhJbH4xSjhJISRfcnBJQjVtZyVIcHMpTTt3ak0zPnVJYTJPazk/Xjd0K0QqaEJ3aXEK
ejYxKGB6ST9HO31OWVB8OFVKNWdNKlJLMUNfUzFAPCUrKEEtPWh6XllHKS1reis4UVc9NzFueGNC
Xnc3RlNefGJICnpAa2MjdndQYnhmamVUeURvUWJQNFg/TGl4dC0tZ0p5RStgYkh1USppZm80KyZO
Sn51KVJhN2h8IXMxeWM/Tk1lPgp6Z1ExQj5FXkIjd2t1MGVwTk9ALWhzUn0pfDg0WklDWG19KDlX
V05jOz5ZaFRlU2xMfH1XMD12REoyN05BZlcjVUYKek0qV2BPI19PPzZsdjFEQjtBTXAxVEtXSmp3
RCY3NzV+SD1wcHRVNENDS0dtaUFvRlR2ZHNuTn5ASD1IUlBvR2c4CnpXIzF2eGNYJnErMmRpY0Q4
MkBXVyMmT21pY2s8UlMkdGBPcitaNEBfVGI1PCVZRnlwVVFIU3YmKSVncT5BZW92JApQMV8/b31Q
dm81TTttQ2doZERWa0sKCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvZXhhbXBsZXMv
ZmlsZXN5c3RlbS53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL2V4YW1wbGVzL2ZpbGVzeXN0ZW0u
d2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzVmNjAyYjg1OGEuLjAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9leGFtcGxlcy9maWxlc3lzdGVtLndpZGwKKysr
IC9kZXYvbnVsbApAQCAtMSwxMDM4ICswLDAgQEAKLS8qIAotICogTGljZW5zZWQgdG8gT01UUCBM
dGQuIChPTVRQKSB1bmRlciBvbmUgb3IgbW9yZSBjb250cmlidXRvciBsaWNlbnNlIGFncmVlbWVu
dHMuIAotICogU2VlIHRoZSBOT1RJQ0UgZmlsZSBkaXN0cmlidXRlZCB3aXRoIHRoaXMgd29yayBm
b3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiByZWdhcmRpbmcgCi0gKiBjb3B5cmlnaHQgb3duZXJz
aGlwLiAKLSAqIAotICogVGhlIFJlZmVyZW5jZSBJbXBsZW1lbnRhdGlvbiAoc2F2ZSBmb3Igc3Vj
aCBwYXJ0cyBvZiB0aGUgcmVmZXJlbmNlIGltcGxlbWVudGF0aW9uIG1hZGUgCi0gKiBhdmFpbGFi
bGUgdW5kZXIgc2VwYXJhdGUgdGVybXMgYW5kIGNvbmRpdGlvbnMpIGlzIG1hZGUgYXZhaWxhYmxl
IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgCi0gKiBBcGFjaGUgTGljZW5zZSwgdmVyc2lvbiAyLjAs
IHN1YmplY3QgdG8gdGhlIGNvbmRpdGlvbiB0aGF0IGFueSAiV29ya3MiIGFuZCAiRGVyaXZhdGl2
ZSAKLSAqIFdvcmtzIiB1c2VkIG9yIGRpc3RyaWJ1dGVkIGZvciBjb21tZXJjaWFsIHB1cnBvc2Vz
IG11c3QgYmUgYW5kIHJlbWFpbiBjb21wbGlhbnQgd2l0aCB0aGUKLSAqIEJPTkRJIHNwZWNpZmlj
YXRpb24gYXMgcHJvbXVsZ2F0ZWQgYnkgT01UUCBpbiBlYWNoIHJlbGVhc2UuIFlvdXIgaW1wbGVt
ZW50YXRpb24gb2YgdGhlIAotICogUmVmZXJlbmNlIEltcGxlbWVudGF0aW9uICh3aGV0aGVyIG9i
amVjdCBvciBzb3VyY2UpIG11c3QgbWFpbnRhaW4gdGhlc2UgY29uZGl0aW9ucywgYW5kIAotICog
eW91IG11c3Qgbm90aWZ5IGFueSByZWNpcGllbnQgb2YgdGhpcyBjb25kaXRpb24gaW4gYSBjb25z
cGljdW91cyB3YXkuCi0gKiAKLSAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIEJPTkRJIFJlZmVyZW5j
ZSBJbXBsZW1lbnRhdGlvbiBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLiAK
LSAqIAotICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0IGh0dHA6Ly93
d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMCBvciBhdCAKLSAqIGh0dHA6Ly9ib25k
aS5vbXRwLm9yZy9CT05ESS1MSUNFTlNFLTIuMCAKLSAqLwotCi0vKioKLSAqIFxicmllZiBCT05E
SSBmaWxlc3lzdGVtIEFQSS4KLSAqCi0gKiBUaGUgQk9OREkgZmlsZXN5c3RlbSBBUEkgcHJvdmlk
ZXMgYWNjZXNzIHRvIHRoZSBmaWxlc3lzdGVtIG9mIGEgZGV2aWNlLiBUaGUKLSAqIGZpbGVzeXN0
ZW0gaXMgYWJzdHJhY3RseSByZXByZXNlbnRlZCBhcyBhIGNvbGxlY3Rpb24gb2YgZGlzam9pbnQg
ZmlsZXN5c3RlbQotICogcm9vdCBsb2NhdGlvbnMgZWFjaCBjb3JyZXNwb25kaW5nIHRvIHNvbWUg
c3BlY2lmaWMgbG9jYXRpb24gaW4gdGhlIGRldmljZQotICogZmlsZXN5c3RlbS4gIFRoZSBmaWxl
c3lzdGVtIEFQSSBleHBvc2VzIHRoZSBoaWVyYXJjaGllcyBiZWxvdyB0aGVzZSByb290Ci0gKiBs
b2NhdGlvbnMgYXMgYSBzaW5nbGUgdmlydHVhbCBmaWxlc3lzdGVtIGJ1dCBwcm92aWRlcyBubyBh
Y2Nlc3MgdG8gb3RoZXIKLSAqIHBhcnRzIG9mIHRoZSBkZXZpY2UgZmlsZXN5c3RlbS4KLSAqCi0g
KiBUaGUgcm9vdHMgdGhhdCBhcmUgZXhwb3NlZCBhcmUgZGV0ZXJtaW5lZCBieSB0aGUgcGxhdGZv
cm0gYWxzbyBieSB0aGUKLSAqIGNvbnRleHQgaW4gd2hpY2ggdGhlIGZpbGVzeXN0ZW0gQVBJIGlz
IGludm9rZWQuCi0gKgotICogRWFjaCByb290IGhhcyBhIHN0cmluZyBuYW1lLiBFYWNoIGZpbGUg
b3IgZGlyZWN0b3J5IHdpdGhpbiB0aGUgdmlydHVhbAotICogZmlsZXN5c3RlbSBpcyBhZGRyZXNz
ZWQgdXNpbmcgYSBmdWxseS1xdWFsaWZpZWQgcGF0aCBvZiB0aGUgZm9ybToKLSAqIDxlbT4mbHQ7
cm9vdCBuYW1lJmd0Oy8mbHQ7cGF0aCZndDs8L2VtPiB3aGVyZSA8ZW0+Jmx0O3Jvb3RuYW1lJmd0
OzwvZW0+IGlzCi0gKiB0aGUgbmFtZSBvZiB0aGUgcm9vdCBhbmQgPGVtPiZsdDtwYXRoJmd0Ozwv
ZW0+IGlzIHRoZSBwYXRoIHRvIHRoZSBmaWxlIG9yCi0gKiBkaXJlY3RvcnkgcmVsYXRpdmUgdG8g
dGhhdCByb290LgotICogCi0gKiBUaGUgbGlzdCBvZiB0aGUgc3VwcG9ydGVkIHJvb3QgbG9jYXRp
b25zIGNhbiBiZSByZXRyaWV2ZWQgYnkgY2FsbGluZwotICogZmlsZXN5c3RlbS5nZXRSb290TG9j
YXRpb25zKCkuCi0gKgotICogVGhlIGRlZmF1bHQgbG9jYXRpb24gZm9yIGEgc3BlY2lmaWMgdHlw
ZSBvZiBmaWxlLCBpZiBvbmUgZXhpc3RzLCBjYW4gYmUKLSAqIG9idGFpbmVkIGJ5IGNhbGxpbmcg
dGhlIGZpbGVzeXN0ZW0uZ2V0RGVmYXVsdExvY2F0aW9uKC4uLikgbWV0aG9kLiBBIHNldCBvZgot
ICogcGxhdGZvcm0taW5kZXBlbmRlbnQgc3ltYm9saWMgbmFtZXMgZm9yIG1lZGlhIHR5cGVzIGlz
IGRlZmluZWQuIFRoZSBkZWZhdWx0Ci0gKiBsb2NhdGlvbiBmb3IgYSBnaXZlbiBmaWxlIHR5cGUg
bWF5IGl0c2VsZiBiZSBhIHJvb3QsIG9yIHNvbWUgc3ViZGlyZWN0b3J5IG9mCi0gKiBhIHJvb3Qu
IEFsdGhvdWdoIHRoZSBzZXQgb2Ygcm9vdHMgYXZhaWxhYmxlIG9uIGEgZGV2aWNlIGlzCi0gKiBw
bGF0Zm9ybS1kZXBlbmRlbnQsIHRoZSBnZXREZWZhdWx0TG9jYXRpb24oLi4uKSBmdW5jdGlvbmFs
aXR5IGNhbiBiZSB1c2VkIHRvCi0gKiBlbnN1cmUgdGhhdCB3ZWIgYXBwbGljYXRpb25zIGNhbiBi
ZSB3cml0dGVuIGluIGEgcGxhdGZvcm0taW5kZXBlbmRlbnQgd2F5LgotICoKLSAqIEluIG9yZGVy
IHRvIGFjY2VzcyBzcGVjaWZpYyBsb2NhdGlvbnMgd2hpY2ggYXJlIHByZWZpeGVkIHdpdGggYSB2
YWx1ZQotICogcmV0cmlldmVkIGJ5IGZpbGVzeXN0ZW0uZ2V0RGVmYXVsdExvY2F0aW9uIG9yIHNv
bWUgcm9vdCBsb2NhdGlvbiByZXR1cm5lZCBieQotICogZmlsZXN5c3RlbS5nZXRSb290TG9jYXRp
b25zIGEgRmlsZSBoYW5kbGUgbXVzdCBiZSByZXRyaWV2ZWQgdXNpbmcgdGhlCi0gKiBmaWxlc3lz
dGVtLnJlc29sdmUgY2FsbC4KLSAqCi0gKiBBIEZpbGUgaGFuZGxlIHJlcHJlc2VudHMgZWl0aGVy
IGEgZmlsZSBvciBhIGRpcmVjdG9yeS4gSWYgaXQgaXMgYSBmaWxlIHRoZQotICogaXNGaWxlIGF0
dHJpYnV0ZSB3aWxsIGJlIDxlbT50cnVlPC9lbT4sIG90aGVyd2lzZSB0aGUgaXNEaXJlY3Rvcnkg
YXR0cmlidXRlCi0gKiB3aWxsIGJlIDxlbT50cnVlPC9lbT4uIEEgZmlsZSBjYW4gYmUgb3BlbmVk
IGZvciByZWFkaW5nIGFuZCB3cml0aW5nLCB1c2luZyBhCi0gKiBGaWxlU3RyZWFtIGhhbmRsZS4g
QSBkaXJlY3RvcnkgY2FuIGJlIHVzZWQgdG8gbGlzdCBpdHMgY29udGVudHMgd2hpY2ggaXMgYQot
ICogbGlzdCBvZiBmaWxlcyBhbmQgc3ViLWRpcmVjdG9yaWVzLiBUaGVyZSBpcyBhIHJlc29sdmUg
bWV0aG9kIG9uIGRpcmVjdG9yaWVzCi0gKiBhcyB3ZWxsIGluIG9yZGVyIHRvIHJlc29sdmUgZmls
ZXMgb3Igc3ViLWRpcmVjdG9yaWVzIG1vcmUgY29udmVuaWVudGx5IHRoYW4KLSAqIHByb2Nlc3Np
bmcgZGlyZWN0b3J5IGxpc3RpbmdzLgotICoKLSAqIFRoZSAiLyIgY2hhcmFjdGVyIGlzIHVzZWQg
YXMgdGhlIChwYXRoKSBjb21wb25lbnQgc2VwYXJhdG9yLgotICogVGhlIHVzZSBvZiAiLiIgb3Ig
Ii4uIiBpbiBsb2NhdGlvbiBjb21wb25lbnRzIGlzIG5vdCByZXF1aXJlZCB0byBiZQotICogc3Vw
cG9ydGVkLgotICoKLSAqIEFsbCBwYXRoIGNoYXJhY3RlcnMgbmVlZCB0byBiZSA8YSBocmVmPSJo
dHRwOi8vd3d3LmlldGYub3JnL3JmYy9yZmMyMjc5LnR4dCI+VVRGLTg8L2E+IGVuY29kZWQuCi0g
KgotICogXGNvZGUKLSAqIAlmdW5jdGlvbiBlcnJvckNCKGVycikgewotICogCQlhbGVydCgiQk9O
REkgZmlsZXN5c3RlbSBBUEkgY291bGRuJ3QgYmUgcmVxdWVzdGVkOiAiICsgZXJyLm1lc3NhZ2Up
OwotICogCX0KLSAqCi0gKiAJZnVuY3Rpb24gc3VjY2Vzc0NCKCkgewotICogCQl2YXIgZG9jTG9j
YXRpb24gPSBib25kaS5maWxlc3lzdGVtLmdldERlZmF1bHRMb2NhdGlvbigiZG9jdW1lbnRzIik7
Ci0gKiAJCXZhciBkb2NEaXIgPSBib25kaS5maWxlc3lzdGVtLnJlc29sdmUoZG9jTG9jYXRpb24p
OwotICogCQl2YXIgZG9jRmlsZXMgPSBkb2NEaXIubGlzdEZpbGVzKCk7Ci0gKiAJCWZvcih2YXIg
aSA9IDA7IGkgJmx0OyBkb2NGaWxlcy5sZW5ndGg7IGkrKykgewotICogCQkJLy8gZGlzcGxheXMg
bmFtZSBvZiBlYWNoIGltYWdlIGZpbGUgaW4gaW1hZ2UgZGlyZWN0b3J5Ci0gKiAJCQlhbGVydChk
b2NGaWxlc1tpXS5uYW1lKTsKLSAqIAkJfQotICogCQl2YXIgdGVzdEZpbGUgPSBkb2NEaXIuY3Jl
YXRlRmlsZSgidGVzdC50eHQiKTsKLSAqIAkJdmFyIG91dCA9IHRlc3RGaWxlLm9wZW4oInciLCAi
VVRGLTgiKTsKLSAqIAkJLy8gd3JpdGVzIEhlbGxvIFdvcmxkIHRvIHRlc3QudHh0Ci0gKiAJCW91
dC53cml0ZSgiSGVsbG8gV29ybGQiKTsKLSAqIAkJb3V0LmNsb3NlKCk7Ci0gKiAJfQotICoKLSAq
IAlib25kaS5yZXF1ZXN0RmVhdHVyZShzdWNjZXNzQ0IsIGVycm9yQ0IsICJmaWxlc3lzdGVtIik7
Ci0gKiBcZW5kY29kZQotICogCi0gKiBcZGVmLWFwaS1mZWF0dXJlIGh0dHA6Ly9ib25kaS5vbXRw
Lm9yZy9hcGkvZmlsZXN5c3RlbS5yZWFkCi0gKiBcYnJpZWYgRmlsZXN5c3RlbSByZWFkIG9wZXJh
dGlvbnMsIGluY2x1ZGluZyByZWFkaW5nIGRpcmVjdG9yeSBsaXN0aW5ncywKLSAqICAgICAgICBm
aWxlIGNvbnRlbnRzIGFuZCByZXNvbHZpbmcgcm9vdCBsb2NhdGlvbnMuCi0gKiBcZGV2aWNlLWNh
cCBpby5maWxlLnJlYWQKLSAqCi0gKiBcZGVmLWFwaS1mZWF0dXJlIGh0dHA6Ly9ib25kaS5vbXRw
Lm9yZy9hcGkvZmlsZXN5c3RlbS53cml0ZQotICogXGJyaWVmIEZpbGVzeXN0ZW0gd3JpdGUgb3Bl
cmF0aW9ucywgaW5jbHVkaW5nIGNyZWF0aW5nIGZpbGVzL2RpcmVjdG9yaWVzLAotICogICAgICAg
IHdyaXRpbmcgdG8gZmlsZXMsIGRlbGV0aW5nIGZpbGVzL2RpcmVjdG9yaWVzLCBtb3ZpbmcgYW5k
IGNvcHlpbmcKLSAqICAgICAgICBmaWxlcy4KLSAqIFxkZXZpY2UtY2FwIGlvLmZpbGUud3JpdGUK
LSAqIAotICogXGRlZi1hcGktZmVhdHVyZS1zZXQgaHR0cDovL2JvbmRpLm9tdHAub3JnL2FwaS9m
aWxlc3lzdGVtCi0gKiBcYnJpZWYgQWxsIHRoZSBGaWxlU3lzdGVtIGZlYXR1cmVzCi0gKiBcYXBp
LWZlYXR1cmUgaHR0cDovL2JvbmRpLm9tdHAub3JnL2FwaS9maWxlc3lzdGVtLnJlYWQKLSAqIFxh
cGktZmVhdHVyZSBodHRwOi8vYm9uZGkub210cC5vcmcvYXBpL2ZpbGVzeXN0ZW0ud3JpdGUKLSAq
Ci0gKiBcZGVmLWRldmljZS1jYXAgaW8uZmlsZS5yZWFkCi0gKiBcYnJpZWYgUmVhZCBkaXJlY3Rv
cnkgb3IgZmlsZQotICogXHBhcmFtIG5hbWUgTmFtZSBvZiBkaXJlY3Rvcnkgb3IgZmlsZSwgaW4g
dmlydHVhbCBmaWxlc3lzdGVtLAotICogZS5nLiByb290bG9jYXRpb24vZmlsZW5hbWUKLSAqCi0g
KiBcZGVmLWRldmljZS1jYXAgaW8uZmlsZS53cml0ZQotICogXGJyaWVmIFdyaXRlIGRpcmVjdG9y
eSBvciBmaWxlCi0gKiBccGFyYW0gbmFtZSBOYW1lIG9mIGRpcmVjdG9yeSBvciBmaWxlLCBpbiB2
aXJ0dWFsIGZpbGVzeXN0ZW0sCi0gKiBlLmcuIHJvb3Rsb2NhdGlvbi9maWxlbmFtZQotICoKLSAq
IFxhdXRob3IgUGFkZHkgQnllcnMgJmx0O3BhZGR5QGFwbGl4Y29ycC5jb20mZ3Q7Ci0gKiBcYXV0
aG9yIEFuc2VsbSBSIEdhcmJlICZsdDthbnNlbG1AYXBsaXhjb3JwLmNvbSZndDsKLSAqIFx2ZXJz
aW9uIDEuMQotICovCi1tb2R1bGUgZmlsZXN5c3RlbSB7Ci0KLQkvKioKLQkgKiBcYnJpZWYgQXJy
YXkgb2YgRmlsZSBoYW5kbGVzLgotCSAqCi0JICogVGhpcyBhcnJheSB0eXBlIGlzIHJldHVybmVk
IHdoZW4gZGlyZWN0b3J5IGxpc3RpbmdzIGFyZSByZXF1ZXN0ZWQuCi0JICovCi0JdHlwZWRlZiBz
ZXF1ZW5jZTxGaWxlPiBGaWxlQXJyYXk7Ci0KLQkvKioKLQkgKiBcYnJpZWYgRmlsZSBzeXN0ZW0g
c3BlY2lmaWMgc3VjY2VzcyBjYWxsYmFjay4KLQkgKgotCSAqIFRoaXMgY2FsbGJhY2sgaW50ZXJm
YWNlIHNwZWNpZmllcyBhIHN1Y2Nlc3MgY2FsbGJhY2sgd2l0aCBhIGZ1bmN0aW9uCi0JICogdGFr
aW5nIGEgRmlsZSBvYmplY3QgYXMgaW5wdXQgYXJndW1lbnQuIEl0IGlzIHVzZWQgaW4gYXN5bmNo
cm9ub3VzCi0JICogb3BlcmF0aW9ucyBzdWNoIGFzIGNvcHlpbmcsIG1vdmluZyBhbmQgZGVsZXRp
bmcgZmlsZXMuCi0JICovCi0JW0NhbGxiYWNrPUZ1bmN0aW9uT25seSwgTm9JbnRlcmZhY2VPYmpl
Y3RdIGludGVyZmFjZSBGaWxlU3lzdGVtU3VjY2Vzc0NhbGxiYWNrIHsKLQkgICAvKioKLQkgICAg
KiBcYnJpZWYgTWV0aG9kIGludm9rZWQgd2hlbiB0aGUgYXN5bmNocm9ub3VzIGNhbGwgY29tcGxl
dGVzIHN1Y2Nlc2Z1bGx5Ci0JICAgICoKLQkgICAgKiBccGFyYW0gZmlsZSBUaGUgZmlsZSByZXN1
bHRpbmcgZnJvbSB0aGUgYXN5bmNocm9ub3VzIGNhbGwKLQkgICAgKi8KLQkJdm9pZCBvblN1Y2Nl
c3MoaW4gRmlsZSBmaWxlKTsKLQl9OwotCi0JLyoqCi0JICogXGJyaWVmIE1hbmFnZXIgY2xhc3Mg
ZXhwb3NlZCBhcyB0aGUgZmlsZXN5c3RlbSBtb2R1bGVzIEFQSS4KLQkgKgotCSAqIFRoaXMgbWFu
YWdlciBjbGFzcyBleHBvc2VzIHRoZSBmaWxlc3lzdGVtIGJhc2UgQVBJLCBzdWNoIGFzCi0JICog
ZGV0ZXJtaW5pbmcgcm9vdCBhbmQgZGVmYXVsdCBsb2NhdGlvbnMsIHJlc29sdmluZyBhIGdpdmVu
IGxvY2F0aW9uCi0JICogaW50byBhIEZpbGUgSGFuZGxlIGFuZCByZWdpc3RlcmluZyBmaWxlc3lz
dGVtIGxpc3RlbmVycyBmb3IKLQkgKiBmaWxlc3lzdGVtIGV2ZW50cy4KLQkgKgotCSAqIFxjb2Rl
Ci0JICogCWZ1bmN0aW9uIGVycm9yQ0IoZXJyKSB7Ci0JICogCQlhbGVydCgiQk9OREkgZmlsZXN5
c3RlbSBBUEkgY291bGRuJ3QgYmUgcmVxdWVzdGVkOiAiICsgZXJyLm1lc3NhZ2UpOwotCSAqIAl9
Ci0JICoKLQkgKiAJZnVuY3Rpb24gc3VjY2Vzc0NCKCkgewotCSAqIAkJdmFyIGRvY0xvY2F0aW9u
ID0gYm9uZGkuZmlsZXN5c3RlbS5nZXREZWZhdWx0TG9jYXRpb24oImRvY3VtZW50cyIpOwotCSAq
IAkJdmFyIGRvY0RpciA9IGJvbmRpLmZpbGVzeXN0ZW0ucmVzb2x2ZShkb2NMb2NhdGlvbik7Ci0J
ICogCQl2YXIgZG9jRmlsZXMgPSBkb2NEaXIubGlzdEZpbGVzKCk7Ci0JICogCQlmb3IodmFyIGkg
PSAwOyBpICZsdDsgZG9jRmlsZXMubGVuZ3RoOyBpKyspIHsKLQkgKiAJCQkvLyBkaXNwbGF5cyBu
YW1lIG9mIGVhY2ggaW1hZ2UgZmlsZSBpbiBpbWFnZSBkaXJlY3RvcnkKLQkgKiAJCQlhbGVydChk
b2NGaWxlc1tpXS5uYW1lKTsKLQkgKiAJCX0KLQkgKiAJCXZhciB0ZXN0RmlsZSA9IGRvY0Rpci5j
cmVhdGVGaWxlKCJ0ZXN0LnR4dCIpOwotCSAqIAkJdmFyIG91dCA9IHRlc3RGaWxlLm9wZW4oInci
LCAiVVRGLTgiKTsKLQkgKiAJCS8vIHdyaXRlcyBIZWxsbyBXb3JsZCB0byB0ZXN0LnR4dAotCSAq
IAkJb3V0LndyaXRlKCJIZWxsbyBXb3JsZCIpOwotCSAqIAkJb3V0LmNsb3NlKCk7Ci0JICogCX0K
LQkgKgotCSAqIAlib25kaS5yZXF1ZXN0RmVhdHVyZShzdWNjZXNzQ0IsIGVycm9yQ0IsICJmaWxl
c3lzdGVtIik7Ci0JICogXGVuZGNvZGUKLQkgKi8KLQlpbnRlcmZhY2UgRmlsZVN5c3RlbU1hbmFn
ZXIgewotCi0JCS8qKgotCQkgKiBcYnJpZWYgQ29udGFpbnMgdGhlIHBsYXRmb3JtLWRlcGVuZGVu
dCBtYXhpbXVtIHBhdGggbGVuZ3RoLgotCQkgKgotCQkgKiBSZWFkLW9ubHkuCi0JCSAqCi0JCSAq
IFxjb2RlCi0JCSAqIAlhbGVydChib25kaS5maWxlc3lzdGVtLm1heFBhdGhMZW5ndGgpOwotCQkg
KiBcZW5kY29kZQotCQkgKi8KLQkJcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbWF4
UGF0aExlbmd0aDsKLQotCQkvKioKLQkJICogXGJyaWVmIFJldHVybnMgYSBkZWZhdWx0IGxvY2F0
aW9uIHBhdGggZm9yIHRoZSBnaXZlbiBhcmd1bWVudHMsCi0JCSAqIGluY2x1ZGluZyB0aGUgcm9v
dCBsb2NhdGlvbiBwcmVmaXguCi0JCSAqCi0JCSAqIE9wdGlvbmFsbHkgdGhpcyBtZXRob2QgY2Fu
IGJlIGNhbGxlZCB3aXRoIHRoZSBzcGFjZSBhcmd1bWVudAotCQkgKiBzcGVjaWZ5aW5nIHRoZSBt
aW5pbXVtIGZyZWUgZGlzayBzcGFjZSByZXF1aXJlZC4KLQkJICoKLQkJICogVGhpcyBmdW5jdGlv
biByZXNvbHZlcyBsb2NhdGlvbiBzcGVjaWZpZXJzIHRvIGxvY2F0aW9uIHBhdGhzLgotCQkgKiBU
aGUgZm9sbG93aW5nIGxvY2F0aW9uIHNwZWNpZmllcnMgYXJlIHN1cHBvcnRlZDoKLQkJICogXG4g
IndndDpwYWNrYWdlIiB0aGUgd2lkZ2V0IHBhY2thZ2UgbG9jYXRpb24KLQkJICogXG4gIndndDpw
cml2YXRlIiB0aGUgd2lkZ2V0cyBwcml2YXRlIHN0b3JhZ2UKLQkJICogXG4gIndndDpwdWJsaWMi
ICB0aGUgd2lkZ2V0cyBwdWJsaWMgc3RvcmFnZQotCQkgKiBcbiAid2d0OnRlbXAiICAgIHRoZSB3
aWRnZXRzIHRlbXBvcmFyeSBzdG9yYWdlCi0JCSAqIFxuICJkb2N1bWVudHMiICAgdGhlIGRvY3Vt
ZW50cyBsb2NhdGlvbiwKLQkJICogICAgICAgICAgICAgICAgICAgIGUuZy4gdGhlICJNeSBEb2N1
bWVudHMiIGRpcmVjdG9yeSBvbiBzb21lIHN5c3RlbXMKLQkJICogXG4gImltYWdlcyIgICAgICB0
aGUgaW1hZ2VzIGxvY2F0aW9uLAotCQkgKiAgICAgICAgICAgICAgICAgICAgZS5nLiB0aGUgIk15
IFBpY3R1cmVzIiBkaXJlY3Rvcnkgb24gc29tZSBzeXN0ZW1zCi0JCSAqIFxuICJ2aWRlb3MiICAg
ICAgdGhlIHZpZGVvcyBsb2NhdGlvbiwKLQkJICogICAgICAgICAgICAgICAgICAgIGUuZy4gdGhl
ICJNeSBWaWRlb3MiIGRpcmVjdG9yeSBvbiBzb21lIHN5c3RlbXMKLQkJICogXG4gInRlbXAiICAg
ICAgICB0aGUgdGVtcG9yYXJ5IHN0b3JhZ2UsCi0JCSAqICAgICAgICAgICAgICAgICAgICBlLmcg
cmVzb2x2aW5nIHRvICJUZW1wIgotCQkgKiBcbiAic2RjYXJkIiAgICAgIHRoZSBzZGNhcmQgc3Rv
cmFnZSwgaWYgYW55Ci0JCSAqCi0JCSAqIFxjb2RlCi0JCSAqIAl2YXIgd2d0TG9jYXRpb24gPSBi
b25kaS5maWxlc3lzdGVtLmdldERlZmF1bHRMb2NhdGlvbignd2d0OnBhY2thZ2UnKTsKLQkJICog
XGVuZGNvZGUKLQkJICoKLQkJICogXHBhcmFtIHNwZWNpZmllciAgICB0aGUgbG9jYXRpb24gc3Bl
Y2lmaWVyLCBzZWUgYWJvdmUgZm9yIHN1cHBvcnRlZCBzcGVjaWZpZXJzLgotCQkgKiBccGFyYW0g
bWluRnJlZVNwYWNlIG9wdGlvbmFsLCBtaW5pbXVtIHJlcXVpcmVkIGZyZWUgZGlzayBzcGFjZSBp
biBieXRlcyBmb3IKLQkJICogICAgICAgICAgICAgICAgICAgICB0aGlzIGxvY2F0aW9uLCA8ZW0+
MDwvZW0+IChkZWZhdWx0KSBtZWFucyBubyBsaW1pdGF0aW9uCi0JCSAqIFxyZXR1cm4gdGhlIGxv
Y2F0aW9uIGFzIGEgc3RyaW5nIG9yIDxlbT5udWxsPC9lbT4gaWYgdGhlcmUKLQkJICogICAgICAg
ICBpcyBubyBsb2NhdGlvbiBmb3IgdGhlIGdpdmVuIHNwZWNpZmllciBvciBpZiB0aGVyZSBpcyBu
b3QKLQkJICogICAgICAgICBlbm91Z2ggc3BhY2UgbGVmdCBmb3IgdGhlIHJlcXVlc3RlZCBzcGFj
ZSBpbiBieXRlcy4KLQkJICogXHRocm93IERldmljZUFQSUVycm9yIElOVkFMSURfQVJHVU1FTlRf
RVJST1IgaWYgdGhlCi0JCSAqICAgICAgICBzcGVjaWZpZXIgb3Igc3BhY2UgYXJndW1lbnRzIGFy
ZSBpbnZhbGlkCi0JCSAqLwotCQlET01TdHJpbmcgZ2V0RGVmYXVsdExvY2F0aW9uKGluIERPTVN0
cmluZyBzcGVjaWZpZXIsIGluIHVuc2lnbmVkIGxvbmcgbWluRnJlZVNwYWNlKQotCQkJcmFpc2Vz
KERldmljZUFQSUVycm9yKTsKLQotCQkvKioKLQkJICogXGJyaWVmIFJldHVybnMgYWxsIHJvb3Qg
bG9jYXRpb25zLgotCQkgKgotCQkgKiBUaGUgcm9vdCBsb2NhdGlvbnMgYXJlIHN5bWJvbGljIG5h
bWVzIGZvciBmaWxlc3lzdGVtCi0JCSAqIGxvY2F0aW9ucyB3aGljaCBhcmUgYWNjZXNzaWJsZSBh
bmQgc3VwcG9ydGVkIGJ5IHRoZQotCQkgKiB1bmRlcmx5aW5nIHBsYXRmb3JtLgotCQkgKgotCQkg
KiBVc3VhbGx5IHRoZSBmb2xsb3dpbmcgcm9vdCBsb2NhdGlvbnMgd2lsbCBiZSBzdXBwb3J0ZWQ6
Ci0JCSAqIFxuICJkb2N1bWVudHMiIHJlcHJlc2VudHMgIk15IERvY3VtZW50cyIgb24gc29tZSBw
bGF0Zm9ybXMKLQkJICogXG4gImltYWdlcyIgICAgcmVwcmVzZW50cyAiTXkgUGljdHVyZXMiIG9u
IHNvbWUgcGxhdGZvcm1zCi0JCSAqIFxuICJ2aWRlb3MiICAgIHJlcHJlc2VudHMgIk15IFZpZGVv
cyIgb24gc29tZSBwbGF0Zm9ybXMKLQkJICogXG4gInRlbXAiICAgICAgcmVwcmVzZW50cyAidG1w
IiBvbiBzb21lIHBsYXRmb3JtcwotCQkgKiBcbiAic2RjYXJkIiAgICByZXByZXNlbnRzIHRoZSBz
ZGNhcmQgb24gc29tZSBwbGF0Zm9ybXMKLQkJICoKLQkJICogU2VlIGFsc28gdGhlIGdldERlZmF1
bHRMb2NhdGlvbiBtZXRob2QuCi0JCSAqCi0JCSAqIFxjb2RlCi0JCSAqIAl2YXIgbG9jYXRpb25z
ID0gYm9uZGkuZmlsZXN5c3RlbS5nZXRSb290TG9jYXRpb25zKCk7Ci0JCSAqIAlmb3IodmFyIGkg
PSAwOyBpICZsdDsgbG9jYXRpb25zLmxlbmd0aDsgaSsrKSB7Ci0JCSAqIAkJLy8gbG9jYXRpb25z
W2ldIGlzIGEgcmVzb2x2YWJsZSByb290IGxvY2F0aW9uCi0JCSAqIAl9Ci0JCSAqIFxlbmRjb2Rl
Ci0JCSAqCi0JCSAqIFxyZXR1cm4gc3RyaW5nIGFycmF5IG9mIHJvb3QgbG9jYXRpb25zLgotCQkg
Ki8KLQkJU3RyaW5nQXJyYXkgZ2V0Um9vdExvY2F0aW9ucygpOwotCi0JCS8qKgotCQkgKiBcYnJp
ZWYgUmVzb2x2ZXMgYSBsb2NhdGlvbiB0byBhIEZpbGUgaGFuZGxlLgotCQkgKgotCQkgKiBWYWxp
ZGF0ZXMgYW5kIHJlc29sdmVzIHRoZSBnaXZlbiBsb2NhdGlvbiB0byBhIEZpbGUgaGFuZGxlCi0J
CSAqIGFuZCByZXR1cm5zIGEgaGFuZGxlLiBBIHZhbGlkIGxvY2F0aW9uIGlzIHByZWZpeGVkIHdp
dGggYQotCQkgKiB2YWxpZCByb290IG9yIGRlZmF1bHQgbG9jYXRpb24gYW5kIG11c3QgYWRkcmVz
cyBhbiBleGlzdGluZwotCQkgKiBhbmQgYWNjZXNzaWJsZSBmaWxlLiAgCi0JCSAqCi0JCSAqIFxh
cGktZmVhdHVyZSBodHRwOi8vYm9uZGkub210cC5vcmcvYXBpL2ZpbGVzeXN0ZW0ucmVhZAotCQkg
KgotCQkgKiBcY29kZQotCQkgKiAJdmFyIGxvY2F0aW9uID0gYm9uZGkuZmlsZXN5c3RlbS5nZXRE
ZWZhdWx0TG9jYXRpb24oInRlbXAiKTsKLQkJICogCXZhciB0ZW1wID0gYm9uZGkuZmlsZXN5c3Rl
bS5yZXNvbHZlKGxvY2F0aW9uKTsKLQkJICogCXZhciBkb2N1bWVudHMgPSBib25kaS5maWxlc3lz
dGVtLmdldERlZmF1bHRMb2NhdGlvbigiZG9jdW1lbnRzIik7Ci0JCSAqIAl2YXIgbXlkb2MgPSBi
b25kaS5maWxlc3lzdGVtLnJlc29sdmUoZG9jdW1lbnRzICsgIi9kYXRhLzIwMDkvbXlkb2MudHh0
Iik7Ci0JCSAqIFxlbmRjb2RlCi0JCSAqCi0JCSAqIFxwYXJhbSBsb2NhdGlvbiB0aGUgbG9jYXRp
b24gdG8gcmVzb2x2ZS4gTXVzdCBiZSBhYnNvbHV0ZQotCQkgKiAgICAgICAgcHJlZml4ZWQgYnkg
YSB2YWxpZCByb290IG9yIGRlZmF1bHQgbG9jYXRpb24uCi0JCSAqIFxyZXR1cm4gdGhlIHJlc29s
dmVkIGZpbGUgb2JqZWN0LgotCQkgKiBcdGhyb3cgU2VjdXJpdHlFcnJvciBQRVJNSVNTSU9OX0RF
TklFRF9FUlJPUiB3aGVuCi0JCSAqICAgICAgICBhY2Nlc3MgaXMgZGVuaWVkIGJ5IHRoZSBzZWN1
cml0eSBwb2xpY3kuCi0JCSAqIFx0aHJvdyBEZXZpY2VBUElFcnJvciBJTlZBTElEX0FSR1VNRU5U
X0VSUk9SIGlmIGludmFsaWQgbG9jYXRpb24gd2FzIGdpdmVuLgotCQkgKi8KLQkJRmlsZSByZXNv
bHZlKGluIERPTVN0cmluZyBsb2NhdGlvbikKLQkJCXJhaXNlcyhTZWN1cml0eUVycm9yLCBEZXZp
Y2VBUElFcnJvcik7Ci0KLQkJLyoqCi0JCSAqIFxicmllZiBSZWdpc3RlcnMgYSBmaWxlc3lzdGVt
IGV2ZW50IGxpc3RlbmVyLgotCQkgKgotCQkgKiBGaWxlc3lzdGVtIGV2ZW50IGxpc3RlbmVycyBh
cmUgdXNlZCBpbiBvcmRlciB0byByZXRyaWV2ZQotCQkgKiBub3RpZmljYXRpb25zIGlmIHJvb3Qg
b3IgZGVmYXVsdCBsb2NhdGlvbnMgc3VjaCBhcyBzdG9yYWdlCi0JCSAqIGNhcmRzIGFyZSBtb3Vu
dGVkL3VubW91bnRlZCBpbnRvL2Zyb20gdGhlIGRldmljZSBmaWxlc3lzdGVtLgotCQkgKgotCQkg
KiBcYXBpLWZlYXR1cmUgaHR0cDovL2JvbmRpLm9tdHAub3JnL2FwaS9maWxlc3lzdGVtLnJlYWQK
LQkJICoKLQkJICogXGNvZGUKLQkJICogCXZhciBsaXN0ZW5lciA9IHsgbW91bnRFdmVudDogZnVu
Y3Rpb24obG9jYXRpb24pIHsgYWxlcnQoJ21vdW50ZWQgJyArIGxvY2F0aW9uKTsgfSwKLQkJICog
CSAgICAgICAgICAgICAgICAgdW5tb3VudEV2ZW50OiBmdW5jdGlvbihsb2NhdGlvbikgeyBhbGVy
dCgndW5tb3VudGVkICcgKyBsb2NhdGlvbik7IH07Ci0JCSAqIAlib25kaS5maWxlc3lzdGVtLnJl
Z2lzdGVyRXZlbnRMaXN0ZW5lcihsaXN0ZW5lcik7Ci0JCSAqIFxlbmRjb2RlCi0JCSAqCi0JCSAq
IFxwYXJhbSBsaXN0ZW5lciB0aGUgbGlzdGVuZXIgaW50ZXJmYWNlIGltcGxlbWVudGF0aW9uCi0J
CSAqIFx0aHJvdyBEZXZpY2VBUElFcnJvciBJTlZBTElEX0FSR1VNRU5UX0VSUk9SIGlmIHRoZSBn
aXZlbiBsaXN0ZW5lcgotCQkgKiAgICAgICAgaXMgaW52YWxpZCBvciBub3QgYSBsaXN0ZW5lci4K
LQkJICovCi0JCXZvaWQgcmVnaXN0ZXJFdmVudExpc3RlbmVyKGluIEZpbGVTeXN0ZW1MaXN0ZW5l
ciBsaXN0ZW5lcikKLQkJCXJhaXNlcyhEZXZpY2VBUElFcnJvcik7Ci0KLQkJLyoqCi0JCSAqIFxi
cmllZiBVbnJlZ2lzdGVycyBhIGZpbGVzeXN0ZW0gZXZlbnQgbGlzdGVuZXIuCi0JCSAqCi0JCSAq
IFxjb2RlCi0JCSAqIAlib25kaS5maWxlc3lzdGVtLnVucmVnaXN0ZXJFdmVudExpc3RlbmVyKGxp
c3RlbmVyKTsKLQkJICogXGVuZGNvZGUKLQkJICoKLQkJICogXHBhcmFtIGxpc3RlbmVyIHRoZSBs
aXN0ZW5lciBpbnRlcmZhY2UgaW1wbGVtZW50YXRpb24KLQkJICogXHRocm93IERldmljZUFQSUVy
cm9yIElOVkFMSURfQVJHVU1FTlRfRVJST1IgaWYgdGhlIGdpdmVuIGxpc3RlbmVyCi0JCSAqICAg
ICAgICBpcyBpbnZhbGlkIG9yIG5vdCBhIGxpc3RlbmVyLgotCQkgKi8KLQkJdm9pZCB1bnJlZ2lz
dGVyRXZlbnRMaXN0ZW5lcihpbiBGaWxlU3lzdGVtTGlzdGVuZXIgbGlzdGVuZXIpCi0JCQlyYWlz
ZXMoRGV2aWNlQVBJRXJyb3IpOwotCX07Ci0KLQkvKioKLQkgKiBcYnJpZWYgRmlsZXN5c3RlbSBl
dmVudCBsaXN0ZW5lciBjbGFzcy4KLQkgKgotCSAqIFRoaXMgbGlzdGVuZXIgaW1wbGVtZW50cyB0
d28gbWV0aG9kcyB0byByZXRyaWV2ZSBtb3VudCBhbmQgdW5tb3VudAotCSAqIG5vdGlmaWNhdGlv
bnMgaWYgcm9vdCBvciBkZWZhdWx0IGxvY2F0aW9ucyBvbiBhIHN0b3JhZ2UgY2FyZCBnZXQKLQkg
KiBhdmFpbGFibGUgb3IgdW5hdmFpbGFibGUuCi0JICoKLQkgKiBcY29kZQotCSAqIAl2YXIgZnNF
dmVudEltcGwgPSB7Ci0JICogCQltb3VudEV2ZW50OiBmdW5jdGlvbihsb2NhdGlvbikgewotCSAq
IAkJCS8vIGxvY2F0aW9uIGhhcyBiZWVuIG1vdW50ZWQKLQkgKiAJCX0sCi0JICogCQl1bm1vdW50
RXZlbnQ6IGZ1bmN0aW9uKGxvY2F0aW9uKSB7Ci0JICogCQkJLy8gbG9jYXRpb24gaGFzIGJlZW4g
dW5tb3VudGVkCi0JICogCQl9Ci0JICogCX07Ci0JICogXGVuZGNvZGUKLQkgKi8KLQlpbnRlcmZh
Y2UgRmlsZVN5c3RlbUxpc3RlbmVyIHsKLQotCQkvKioKLQkJICogXGJyaWVmIENhbGxlZCB3aGVu
IGEgbmV3IHJvb3QgbG9jYXRpb24gZ2V0cyBhdmFpbGFibGUuCi0JCSAqCi0JCSAqIEEgbmV3IGxv
Y2F0aW9uIGNvdWxkIGJlIGEgc3RvcmFnZSBjYXJkIGZvciBleGFtcGxlLgotCQkgKgotCQkgKiBc
cGFyYW0gbG9jYXRpb24gdGhlIG5ld2x5IGF2YWlsYWJsZSBsb2NhdGlvbgotCQkgKi8KLQkJdm9p
ZCBtb3VudEV2ZW50KGluIERPTVN0cmluZyBsb2NhdGlvbik7Ci0KLQkJLyoqCi0JCSAqIFxicmll
ZiBDYWxsZWQgd2hlbiBhIGxvY2F0aW9uIGdldHMgdW5hdmFpbGFibGUuCi0JCSAqCi0JCSAqIFN1
Y2ggYSBsb2NhdGlvbiBjb3VsZCBiZSBhIHN0b3JhZ2UgY2FyZCBmb3IgZXhhbXBsZS4KLQkJICoK
LQkJICogXHBhcmFtIGxvY2F0aW9uIHRoZSBsb2NhdGlvbiB3aGljaCBpcyBiZWNvbWluZyB1bmF2
YWlsYWJsZQotCQkgKi8KLQkJdm9pZCB1bm1vdW50RXZlbnQoaW4gRE9NU3RyaW5nIGxvY2F0aW9u
KTsKLQl9OwotCi0JLyoqCi0JICogXGJyaWVmIEZpbGUgY2xhc3MuCi0JICoKLQkgKiBUaGlzIGlu
dGVyZmFjZSByZXByZXNlbnRzIHRoZSBmaWxlIGFic3RyYWN0aW9uIGluIHVzZS4gQSBmaWxlIGhh
bmRsZQotCSAqIGNhbiBhZGRyZXNzIGZpbGVzIG9yIGRpcmVjdG9yaWVzLiAgQSBmaWxlIGhhbmRs
ZSByZXByZXNlbnRzIGEgZmlsZQotCSAqIGlmIHRoZSBpc0ZpbGUgcHJvcGVydHkgaXMgPGVtPnRy
dWU8L2VtPiwgb3RoZXJ3aXNlIGl0IHJlcHJlc2VudHMgYQotCSAqIGRpcmVjdG9yeS4KLQkgKgot
CSAqIEEgZmlsZSBoYW5kbGUgcmVwcmVzZW50aW5nIGEgZmlsZSBjYW4gYmUgb3BlbmVkIGZvciBJ
L08gb3BlcmF0aW9ucwotCSAqIHN1Y2ggYXMgcmVhZGluZyBhbmQgd3JpdGluZy4KLQkgKgotCSAq
IEEgZmlsZSBoYW5kbGUgcmVwcmVzZW50aW5nIGEgZGlyZWN0b3J5IGNhbiBsaXN0IGFsbCBmaWxl
cyBpbiB0aGUKLQkgKiBjdXJyZW50IGRpcmVjdG9yeS4KLQkgKgotCSAqIFxjb2RlCi0JICoKLQkg
KgkvLyBsaXN0IGRpcmVjdG9yeSBjb250ZW50cwotCSAqIAl2YXIgZmlsZXMgPSBkaXIubGlzdEZp
bGVzKCk7Ci0JICogCWZvcih2YXIgaSA9IDA7IGkgJmx0OyBmaWxlcy5sZW5ndGg7IGkrKykgewot
CSAqIAkJLy8gYWxlcnRzIGVhY2ggbmFtZSBvZiBkaXIncyBjb250ZW50cwotCSAqIAkJYWxlcnQo
ZmlsZXNbaV0ubmFtZSk7Ci0JICogCX0KLQkgKiAKLQkgKiAJLy8gb3BlbnMgYSBmaWxlIGZvciB3
cml0aW5nCi0JICogCXZhciBmaWxlID0gZGlyLmNyZWF0ZUZpbGUoInRlc3QudHh0Iik7Ci0JICog
CXZhciBvdXQgID0gZmlsZS5vcGVuKCJ3IiwgIlVURi04Iik7Ci0JICogCS8vIHdyaXRlcyBIZWxs
byBXb3JsZCB0byB0ZXN0LnR4dAotCSAqIAlvdXQud3JpdGUoIkhlbGxvIFdvcmxkIik7Ci0JICog
CW91dC5jbG9zZSgpOwotCSAqIFxlbmRjb2RlCi0JICovCi0JaW50ZXJmYWNlIEZpbGUgewotCi0J
CS8qKgotCQkgKiBcYnJpZWYgUGFyZW50IGRpcmVjdG9yeSBoYW5kbGUuCi0JCSAqCi0JCSAqIFJl
YWQtb25seS4KLQkJICoKLQkJICogPGVtPm51bGw8L2VtPiBpZiB0aGVyZSBpcyBubyBwYXJlbnQg
ZGlyZWN0b3J5LgotCQkgKgotCQkgKiBJZiB0aGVyZSBpcyBubyBwYXJlbnQgZGlyZWN0b3J5LCB0
aGlzIHJlcHJlc2VudHMgYSByb290IGxvY2F0aW9uLgotCQkgKgotCQkgKiBcY29kZQotCQkgKiAJ
dmFyIHBhcmVudCA9IGZpbGUucGFyZW50OwotCQkgKiAJaWYocGFyZW50ICE9IG51bGwpIHsKLQkJ
ICogCQkvLyBwYXJlbnQgZGlyZWN0b3J5IGhhbmRsZQotCQkgKiAJfQotCQkgKiBcZW5kY29kZQot
CQkgKi8KLQkJcmVhZG9ubHkgYXR0cmlidXRlIEZpbGUgcGFyZW50OwotCi0JCS8qKgotCQkgKiBc
YnJpZWYgRmlsZS9kaXJlY3RvcnkgYWNjZXNzIHN0YXRlIGluIHRoZSBmaWxlc3lzdGVtLgotCQkg
KgotCQkgKiBSZWFkLW9ubHkuCi0JCSAqCi0JCSAqIDxlbT5mYWxzZTwvZW0+IGlmIHRoZXJlIGlz
IHdyaXRlIGFjY2Vzcy4KLQkJICoKLQkJICogVGhpcyBhdHRyaWJ1dGUgcmVwcmVzZW50cyB0aGUg
YWN0dWFsIHN0YXRlIG9mIGEKLQkJICogZmlsZS9kaXJlY3RvcnkgaW4gdGhlIGZpbGVzeXN0ZW0u
IEl0IGRvZXMgbm90IGNoZWNrIGlmIHRoZQotCQkgKiBhY2Nlc3NvciBoYXMgaW8uZmlsZS53cml0
ZSBwZXJtaXNzaW9uLgotCQkgKgotCQkgKiBcY29kZQotCQkgKiAJaWYoZmlsZS5yZWFkT25seSkg
ewotCQkgKiAJCS8vIGZpbGUgY2Fubm90IGJlIHdyaXR0ZW4KLQkJICogCX0KLQkJICogXGVuZGNv
ZGUKLQkJICovCi0JCXJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIHJlYWRPbmx5OwotCi0JCS8q
KgotCQkgKiBcYnJpZWYgRmlsZSB0eXBlLgotCQkgKgotCQkgKiBSZWFkLW9ubHkuCi0JCSAqCi0J
CSAqIDxlbT50cnVlPC9lbT4gaWYgdGhpcyBoYW5kbGUgaXMgYSBmaWxlLgotCQkgKiA8ZW0+ZmFs
c2U8L2VtPiBpZiB0aGlzIGhhbmRsZSBpcyBhIGRpcmVjdG9yeS4KLQkJICoKLQkJICogXGNvZGUK
LQkJICogCWlmKGZpbGUuaXNGaWxlKSB7Ci0JCSAqIAkJLy8gaXMgYSBmaWxlCi0JCSAqIAl9Ci0J
CSAqIFxlbmRjb2RlCi0JCSAqLwotCQlyZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiBpc0ZpbGU7
Ci0KLQkJLyoqCi0JCSAqIFxicmllZiBGaWxlIHR5cGUuCi0JCSAqCi0JCSAqIFJlYWQtb25seS4K
LQkJICoKLQkJICogPGVtPnRydWU8L2VtPiBpZiB0aGlzIGhhbmRsZSBpcyBhIGRpcmVjdG9yeS4K
LQkJICogPGVtPmZhbHNlPC9lbT4gaWYgdGhpcyBoYW5kbGUgaXMgYSBmaWxlLgotCQkgKgotCQkg
KiBcY29kZQotCQkgKiAJaWYoZmlsZS5pc0RpcmVjdG9yeSkgewotCQkgKiAJCS8vIGlzIGEgZGly
ZWN0b3J5Ci0JCSAqIAl9Ci0JCSAqIFxlbmRjb2RlCi0JCSAqLwotCQlyZWFkb25seSBhdHRyaWJ1
dGUgYm9vbGVhbiBpc0RpcmVjdG9yeTsKLQotCQkvKioKLQkJICogXGJyaWVmIENyZWF0aW9uIHRp
bWVzdGFtcC4KLQkJICoKLQkJICogUmVhZC1vbmx5LgotCQkgKgotCQkgKiBUaGUgY3JlYXRpb24g
dGltZXN0YW1wIG9mIHRoaXMgZmlsZS4gVGhpcyBpcyB0aGUgdGltZXN0YW1wCi0JCSAqIHdoZW4g
dGhlIGZpbGUgd2FzIGZpcnN0IGNyZWF0ZWQgaW4gdGhlIGZpbGVzeXN0ZW0uIFRoaXMgaXMKLQkJ
ICogZXF1aXZhbGVudCB0byB0aGUgdGltZXN0YW1wIHdoZW4gYSBjYWxsIHRvIGNyZWF0ZUZpbGUo
KQotCQkgKiBzdWNjZWVkcy4KLQkJICoKLQkJICogSXQgaXMgdW5zcGVjaWZpZWQgYW5kIHBsYXRm
b3JtLWRlcGVuZGVudCBpZiB0aGUgY3JlYXRpb24KLQkJICogdGltZXN0YW1wIGNoYW5nZXMgd2hl
biBhIGZpbGUgaXMgbW92ZWQuCi0JCSAqCi0JCSAqIFxjb2RlCi0JCSAqIAlhbGVydChmaWxlLmNy
ZWF0ZWQpOyAvLyBkaXNwbGF5cyB0aGUgY3JlYXRpb24gdGltZXN0YW1wCi0JCSAqIFxlbmRjb2Rl
Ci0JCSAqCi0JCSAqLwotCQlyZWFkb25seSBhdHRyaWJ1dGUgRGF0ZSBjcmVhdGVkOwotCi0JCS8q
KgotCQkgKiBcYnJpZWYgTW9kaWZpY2F0aW9uIHRpbWVzdGFtcC4KLQkJICoKLQkJICogUmVhZC1v
bmx5LgotCQkgKgotCQkgKiBUaGUgbW9kaWZpY2F0aW9uIHRpbWVzdGFtcCBvZiB0aGlzIGZpbGUu
IFRoaXMgaXMgdGhlIHRpbWVzdGFtcAotCQkgKiBvZiB0aGUgbW9zdCByZWNlbnQgbW9kaWZpY2F0
aW9uIHRvIHRoZSBmaWxlLCB1c3VhbGx5IHdoZW4gdGhlIGxhc3QKLQkJICogd3JpdGUgb3BlcmF0
aW9uIHN1Y2NlZWRlZC4gT3BlbmluZyBhIGZpbGUgZm9yIHJlYWRpbmcgZG9lcyBub3QgY2hhbmdl
Ci0JCSAqIHRoZSBtb2RpZmljYXRpb24gdGltZXN0YW1wLgotCQkgKgotCQkgKiBcY29kZQotCQkg
KiAJYWxlcnQoZmlsZS5tb2RpZmllZCk7IC8vIGRpc3BsYXlzIHRoZSBtb2RpZmljYXRpb24gdGlt
ZXN0YW1wCi0JCSAqIFxlbmRjb2RlCi0JCSAqCi0JCSAqLwotCQlyZWFkb25seSBhdHRyaWJ1dGUg
RGF0ZSBtb2RpZmllZDsKLQotCQkvKioKLQkJICogXGJyaWVmIFBhdGggb2YgdGhpcyBmaWxlLCBl
eGNsdWRpbmcgdGhlIGZpbGUgbmFtZS4KLQkJICoKLQkJICogUmVhZC1vbmx5LgotCQkgKgotCQkg
KiBJZiB0aGUgZmlsZSBwYXRoIGlzIDxlbT4vYmF6L2Zvby5iYXI8L2VtPiwgdGhlbgotCQkgKiB0
aGUgcGF0aCBpcyA8ZW0+L2Jhei88L2VtPi4gIAotCQkgKgotCQkgKiBUaGUgZW5jb2Rpbmcgb2Yg
ZmlsZSBwYXRocyBpcyA8YSBocmVmPSJodHRwOi8vd3d3LmlldGYub3JnL3JmYy9yZmMyMjc5LnR4
dCI+VVRGLTg8L2E+LgotCQkgKgotCQkgKiBcY29kZQotCQkgKiAJYWxlcnQoZmlsZS5wYXRoKTsg
Ly8gc2hvdWxkIGJlIC9iYXovIGlmIHRoZSBmaWxlIGlzIC9iYXovZm9vLmJhcgotCQkgKiBcZW5k
Y29kZQotCQkgKi8KLQkJcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBwYXRoOwotCi0JCS8q
KgotCQkgKiBcYnJpZWYgRmlsZSBuYW1lLCBleGNsdWRpbmcgYW55IHBhdGggY29tcG9uZW50cy4K
LQkJICoKLQkJICogUmVhZC1vbmx5LgotCQkgKgotCQkgKiBBc3N1bWVkIHRoZSBmaWxlIHBhdGgg
aXMgPGVtPi9iYXovZm9vLmJhcjwvZW0+LCB0aGVuCi0JCSAqIHRoZSBmaWxlIG5hbWUgaXMgPGVt
PmZvby5iYXI8L2VtPi4KLQkJICoKLQkJICogVGhlIGVuY29kaW5nIG9mIGZpbGUgbmFtZXMgaXMg
PGEgaHJlZj0iaHR0cDovL3d3dy5pZXRmLm9yZy9yZmMvcmZjMjI3OS50eHQiPlVURi04PC9hPi4K
LQkJICoKLQkJICogXGNvZGUKLQkJICogCWFsZXJ0KGZpbGUubmFtZSk7IC8vIHNob3VsZCBiZSBm
b28uYmFyIGlmIHRoZSBmaWxlIHBhdGggaXMgL2Jhei9mb28uYmFyCi0JCSAqIFxlbmRjb2RlCi0J
CSAqLwotCQlyZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIG5hbWU7Ci0KLQkJLyoqCi0JCSAq
IFxicmllZiBBYnNvbHV0ZSBwYXRoIG9mIHRoaXMgZmlsZS4KLQkJICoKLQkJICogUmVhZC1vbmx5
LgotCQkgKgotCQkgKiBBc3N1bWVkIHRoZSBmaWxlIHBhdGggaXMgPGVtPi9iYXovZm9vLmJhcjwv
ZW0+LCB0aGVuIHRoaXMgaXMgdGhlIGFic29sdXRlIHBhdGguCi0JCSAqCi0JCSAqIFRoZSBlbmNv
ZGluZyBvZiBmaWxlIHBhdGhzIGlzIDxhIGhyZWY9Imh0dHA6Ly93d3cuaWV0Zi5vcmcvcmZjL3Jm
YzIyNzkudHh0Ij5VVEYtODwvYT4uCi0JCSAqCi0JCSAqIFxjb2RlCi0JCSAqIAlhbGVydChmaWxl
LmFic29sdXRlUGF0aCk7IC8vIHNob3VsZCBiZSAvYmF6L2Zvby5iYXIgaWYgdGhlIGZpbGUgaXMg
L2Jhei9mb28uYmFyCi0JCSAqIFxlbmRjb2RlCi0JCSAqLwotCQlyZWFkb25seSBhdHRyaWJ1dGUg
RE9NU3RyaW5nIGFic29sdXRlUGF0aDsKLQotCQkvKioKLQkJICogXGJyaWVmIFNpemUgaW4gYnl0
ZXMgb2YgdGhpcyBmaWxlLgotCQkgKgotCQkgKiBSZWFkLW9ubHkuCi0JCSAqCi0JCSAqIElmIGl0
IGlzIGF0dGVtcHRlZCB0byByZWFkIHRoaXMgYXR0cmlidXRlIG9uIGEgZGlyZWN0b3J5LAotCQkg
KiA8ZW0+dW5kZWZpbmVkPC9lbT4gaXMgcmV0dXJuZWQuCi0JCSAqCi0JCSAqIFxjb2RlCi0JCSAq
IAlhbGVydChmaWxlLmZpbGVTaXplKTsgLy8gZGlzcGxheXMgdGhlIGZpbGUgc2l6ZQotCQkgKiBc
ZW5kY29kZQotCQkgKi8KLQkJcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgZmlsZVNp
emU7Ci0KLQkJLyoqCi0JCSAqIFxicmllZiBGaWxlcyBtZXRhZGF0YS4KLQkJICoKLQkJICogVGhl
IGFjdHVhbCBtYXAgY29udGVudHMgYXJlIGltcGxlbWVudGF0aW9uIGRlcGVuZGVudC4KLQkJICoK
LQkJICogXGNvZGUKLQkJICogCS8vIHNob3VsZCBkaXNwbGF5IHRoZSBmaWxlIGF1dGhvciwgaWYg
c3VwcG9ydGVkIGJ5IHRoZQotCQkgKiAJLy8gcGxhdGZvcm0sIHVuZGVmaW5lZCBvdGhlcndpc2UK
LQkJICogCWFsZXJ0KGZpbGUubWV0YWRhdGEuYXV0aG9yKTsKLQkJICogXGVuZGNvZGUKLQkJICov
Ci0JCXJlYWRvbmx5IGF0dHJpYnV0ZSBNYXAgbWV0YWRhdGE7Ci0KLQkJLyoqCi0JCSAqIFxicmll
ZiBSZXR1cm5zIGxpc3Qgb2YgYWxsIGZpbGVzIG9mIHRoaXMgZGlyZWN0b3J5LgotCQkgKgotCQkg
KiBUaGUgbGlzdCBvZiBmaWxlcyBjb250YWlucyBkaXJlY3RvcmllcyBhbmQgZmlsZXMsIGl0IGRv
ZXMKLQkJICogbm90IGNvbnRhaW4gdGhlIGRpcmVjdG9yaWVzICIuIiBhbmQgIi4uIi4KLQkJICoK
LQkJICogXGFwaS1mZWF0dXJlIGh0dHA6Ly9ib25kaS5vbXRwLm9yZy9hcGkvZmlsZXN5c3RlbS5y
ZWFkCi0JCSAqCi0JCSAqIFxjb2RlCi0JCSAqIAl2YXIgZmlsZXMgPSBkaXIubGlzdEZpbGVzKCk7
Ci0JCSAqIAlmb3IodmFyIGkgPSAwOyBpICZsdDsgZmlsZXMubGVuZ3RoOyBpKyspIHsKLQkJICog
CQkvLyBmaWxlc1tpXSBpdGVyYXRlIG92ZXIgYWxsIGZpbGVzIG9mIHRoaXMgZGlyZWN0b3J5Ci0J
CSAqIAl9Ci0JCSAqIFxlbmRjb2RlCi0JCSAqCi0JCSAqIFxyZXR1cm4gYXJyYXkgb2YgY29udGVu
dHMgb2YgdGhpcyBkaXJlY3RvcnkuCi0JCSAqIFx0aHJvdyBTZWN1cml0eUVycm9yIFBFUk1JU1NJ
T05fREVOSUVEX0VSUk9SIHdoZW4KLQkJICogICAgICAgIGFjY2VzcyBpcyBkZW5pZWQgYnkgdGhl
IHNlY3VyaXR5IHBvbGljeS4KLQkJICogXHRocm93IERldmljZUFQSUVycm9yIElPX0VSUk9SIGlm
IHRoaXMgaXMgbm90IGEgZGlyZWN0b3J5LgotCQkgKi8KLQkJRmlsZUFycmF5IGxpc3RGaWxlcygp
Ci0JCQlyYWlzZXMoU2VjdXJpdHlFcnJvciwgRGV2aWNlQVBJRXJyb3IpOwotCi0JCS8qKgotCQkg
KiBcYnJpZWYgT3BlbnMgdGhlIGZpbGUgaW4gdGhlIGdpdmVuIG1vZGUgc3VwcG9ydGluZyB0aGUg
Z2l2ZW4KLQkJICogZW5jb2RpbmcuCi0JCSAqCi0JCSAqIFxhcGktZmVhdHVyZSBodHRwOi8vYm9u
ZGkub210cC5vcmcvYXBpL2ZpbGVzeXN0ZW0ucmVhZAotCQkgKiBcYXBpLWZlYXR1cmUgaHR0cDov
L2JvbmRpLm9tdHAub3JnL2FwaS9maWxlc3lzdGVtLndyaXRlCi0JCSAqCi0JCSAqIFxjb2RlCi0J
CSAqIAkvLyBvcGVucyBmaWxlIGZvciByZWFkaW5nCi0JCSAqIAl2YXIgaW4gPSBmaWxlLm9wZW4o
InIiLCAiVVRGLTgiKTsKLQkJICogXGVuZGNvZGUKLQkJICoKLQkJICogXHBhcmFtIG1vZGUgdGhl
IG1vZGUgZm9yIG9wZW5pbmcgYSBmaWxlCi0JCSAqIFxuICJyIiBmb3IgcmVhZGluZwotCQkgKiBc
biAiYSIgZm9yIGFwcGVuZGluZwotCQkgKiBcbiAidyIgZm9yIFtvdmVyXXdyaXRpbmcKLQkJICog
XHBhcmFtIGVuY29kaW5nIHRoZSBlbmNvZGluZyBmb3IgcmVhZC93cml0ZSBvcGVyYXRpb25zIG9u
IHRoZSBmaWxlLAotCQkgKiAgICAgICAgICAgICAgICAgICBzdXBwb3J0ZWQgZW5jb2RpbmdzIGFy
ZToKLQkJICogXG4gIjxhIGhyZWY9Imh0dHA6Ly93d3cuaWV0Zi5vcmcvcmZjL3JmYzIyNzkudHh0
Ij5VVEYtODwvYT4iIGRlZmF1bHQgZW5jb2RpbmcKLQkJICogXG4gIjxhIGhyZWY9Imh0dHA6Ly9l
bi53aWtpcGVkaWEub3JnL3dpa2kvSVNPL0lFQ184ODU5LTEiPklTTzg4NTktMTwvYT4iIGxhdGlu
MSBlbmNvZGluZwotCQkgKiBccmV0dXJuIGZpbGUgc3RyZWFtIGhhbmRsZSB0byByZWFkL3dyaXRl
IGZyb20vdG8uCi0JCSAqIFx0aHJvdyBTZWN1cml0eUVycm9yIFBFUk1JU1NJT05fREVOSUVEX0VS
Uk9SIHdoZW4KLQkJICogICAgICAgIGFjY2VzcyBpcyBkZW5pZWQgYnkgdGhlIHNlY3VyaXR5IHBv
bGljeS4KLQkJICogXHRocm93IERldmljZUFQSUVycm9yIElOVkFMSURfQVJHVU1FTlRfRVJST1Ig
aWYgaW52YWxpZCBtb2RlCi0JCSAqICAgICAgICBvciB1bnN1cHBvcnRlZCBlbmNvZGluZyBpcyBz
dXBwbGllZC4KLQkJICogXHRocm93IERldmljZUFQSUVycm9yIElPX0VSUk9SIGlmIHRoaXMgaXMg
bm90IGEgZmlsZS4KLQkJICovCi0JCUZpbGVTdHJlYW0gb3BlbihpbiBET01TdHJpbmcgbW9kZSwg
aW4gRE9NU3RyaW5nIGVuY29kaW5nKQotCQkJcmFpc2VzKFNlY3VyaXR5RXJyb3IsIERldmljZUFQ
SUVycm9yKTsKLQotCQkvKioKLQkJICogXGJyaWVmIENvcGllcyB0aGlzIGZpbGUuCi0JCSAqCi0J
CSAqIFRoZSBjb3B5IHdpbGwgYmUgY3JlYXRlZCBpbiB0aGUgZ2l2ZW4gcGF0aC4gSWYgdGhpcyBm
dW5jdGlvbgotCQkgKiBmYWlscyBhbmQgdGhlIGVycm9yIGNhbGxiYWNrIGlzIGNhbGxlZCwgaXQg
d2lsbCBwYXNzIGFuCi0JCSAqIERldmljZUFQSUVycm9yIElPX0VSUk9SIHRvIHRoZSBjYWxsYmFj
ay4KLQkJICoKLQkJICogVGhlIGVuY29kaW5nIG9mIGZpbGUgcGF0aHMgaXMgPGEgaHJlZj0iaHR0
cDovL3d3dy5pZXRmLm9yZy9yZmMvcmZjMjI3OS50eHQiPlVURi04PC9hPi4KLQkJICoKLQkJICog
XGFwaS1mZWF0dXJlIGh0dHA6Ly9ib25kaS5vbXRwLm9yZy9hcGkvZmlsZXN5c3RlbS53cml0ZQot
CQkgKgotCQkgKiBcY29kZQotCQkgKiAJLy8gY29waWVzIHRoaXMgZmlsZSB0byAvdGVtcC9maWxl
LmNvcHkKLQkJICogCXZhciBvcCA9IGZpbGUuY29weVRvKGZ1bmN0aW9uKGNvcGllZEZpbGUpIHsg
YWxlcnQoImZpbGUgY29waWVkIik7IH0sIG51bGwsICIvdGVtcC9maWxlLmNvcHkiLCBmYWxzZSk7
Ci0JCSAqIFxlbmRjb2RlCi0JCSAqCi0JCSAqIFxwYXJhbSBzdWNjZXNzQ2FsbGJhY2sgY2FsbGVk
IHdoZW4gdGhlIGZpbGUgaGFzIGJlZW4gY29waWVkLgotCQkgKiBccGFyYW0gZXJyb3JDYWxsYmFj
ayBjYWxsZWQgaWYgYW4gZXJyb3Igb2NjdXJlZC4KLQkJICogXHBhcmFtIGZpbGVQYXRoIHRoZSBu
ZXcgZmlsZSBwYXRoLCBbYS1aMC05Xy0gL10rIGFyZSBhbGxvd2VkIAotCQkgKiBccGFyYW0gb3Zl
cndyaXRlIDxlbT50cnVlPC9lbT4gZW5mb3JjZXMgb3ZlcndyaXRpbmcgYW4gZXhpc3RpbmcgZmls
ZS4KLQkJICogXHJldHVybiBQZW5kaW5nT3BlcmF0aW9uIGVuYWJsaW5nIHRoZSByZXF1ZXN0ZXIg
dG8gY2FuY2VsIHRoaXMgcmVxdWVzdC4KLQkJICogXHRocm93IFNlY3VyaXR5RXJyb3IgUEVSTUlT
U0lPTl9ERU5JRURfRVJST1Igd2hlbgotCQkgKiAgICAgICAgYWNjZXNzIGlzIGRlbmllZCBieSB0
aGUgc2VjdXJpdHkgcG9saWN5LgotCQkgKiBcdGhyb3cgRGV2aWNlQVBJRXJyb3IgSU9fRVJST1Ig
aWYgaXQgaXMgYXR0ZW1wdGVkIHRvIG1vdmUgdG8gYSBkaXJlY3RvcnkuCi0JCSAqIFx0aHJvdyBE
ZXZpY2VBUElFcnJvciBJT19FUlJPUiBpZiBvdmVyd3JpdGUgaXMgPGVtPmZhbHNlPC9lbT4gYW5k
IHRhcmdldCBmaWxlIGV4aXN0cy4KLQkJICogXHRocm93IERldmljZUFQSUVycm9yIElPX0VSUk9S
IGlmIGFueSBjaGFyYWN0ZXJzIGluIHRoZSBwYXRoIGFyZSBub3Qgc3VwcG9ydGVkLgotCQkgKiBc
dGhyb3cgRGV2aWNlQVBJRXJyb3IgSU9fRVJST1IgaWYgdGhlIGZpbGUgY2Fubm90IGJlIGNvcGll
ZC4KLQkJICovCi0JCVBlbmRpbmdPcGVyYXRpb24gY29weVRvKGluIEZpbGVTeXN0ZW1TdWNjZXNz
Q2FsbGJhY2sgc3VjY2Vzc0NhbGxiYWNrLAotCQkgICAgICAgICAgICAgICAgICAgICAgICBpbiBF
cnJvckNhbGxiYWNrIGVycm9yQ2FsbGJhY2ssCi0JCSAgICAgICAgICAgICAgICAgICAgICAgIGlu
IERPTVN0cmluZyBmaWxlUGF0aCwKLQkJICAgICAgICAgICAgICAgICAgICAgICAgaW4gYm9vbGVh
biBvdmVyd3JpdGUpCi0JCQlyYWlzZXMoU2VjdXJpdHlFcnJvciwgRGV2aWNlQVBJRXJyb3IpOwot
Ci0JCS8qKgotCQkgKiBcYnJpZWYgTW92ZXMgdGhpcyBmaWxlLgotCQkgKgotCQkgKiBUaGUgZmls
ZSB3aWxsIGJlIG1vdmVkIGF0b21pY2FsbHkgdG8gdGhlIGdpdmVuIHBhdGguIFRoaXMgaXMKLQkJ
ICogZGlmZmVyZW50IHRvIGNvcHlUbyBhbmQgZGVsZXRpbmcgdGhlIG9sZCBmaWxlLCBiZWNhdXNl
IHRoaXMKLQkJICogb3BlcmF0aW9uIGRvZXMgbm90IG5lZWQgZXh0cmEgZGlzayBzcGFjZSBvbiBj
ZXJ0YWluIHBsYXRmb3Jtcy4KLQkJICogSWYgdGhpcyBmdW5jdGlvbiBmYWlscyBhbmQgdGhlIGVy
cm9yIGNhbGxiYWNrIGlzIGNhbGxlZCwgaXQKLQkJICogd2lsbCBwYXNzIGFuIERldmljZUFQSUVy
cm9yIElPX0VSUk9SIHRvIHRoZSBjYWxsYmFjay4KLQkJICoKLQkJICogVGhlIGVuY29kaW5nIG9m
IGZpbGUgcGF0aHMgaXMgPGEgaHJlZj0iaHR0cDovL3d3dy5pZXRmLm9yZy9yZmMvcmZjMjI3OS50
eHQiPlVURi04PC9hPi4KLQkJICoKLQkJICogXGFwaS1mZWF0dXJlIGh0dHA6Ly9ib25kaS5vbXRw
Lm9yZy9hcGkvZmlsZXN5c3RlbS53cml0ZQotCQkgKgotCQkgKiBcY29kZQotCQkgKiAJLy8gbW92
ZXMgdGhpcyBmaWxlIHRvIC90ZW1wL2ZpbGUubW92ZQotCQkgKiAJdmFyIG9wID0gZmlsZS5tb3Zl
VG8oZnVuY3Rpb24obW92ZWRGaWxlKSB7IGZpbGUgPSBtb3ZlZEZpbGU7IH0sIG51bGwsICIvdGVt
cC9maWxlLm1vdmUiKTsKLQkJICogXGVuZGNvZGUKLQkJICoKLQkJICogXHBhcmFtIHN1Y2Nlc3ND
YWxsYmFjayBjYWxsZWQgd2hlbiB0aGUgZmlsZSBoYXMgYmVlbiBjb3BpZWQuCi0JCSAqIFxwYXJh
bSBlcnJvckNhbGxiYWNrIGNhbGxlZCBpZiBhbiBlcnJvciBvY2N1cmVkLgotCQkgKiBccGFyYW0g
ZmlsZVBhdGggdGhlIG5ldyBmaWxlIG5hbWUsIFthLVowLTlfLSAvXSsgYXJlIGFsbG93ZWQKLQkJ
ICogXHBhcmFtIG92ZXJ3cml0ZSA8ZW0+dHJ1ZTwvZW0+IGVuZm9yY2VzIG92ZXJ3cml0aW5nIGFu
IGV4aXN0aW5nIGZpbGUuCi0JCSAqIFxyZXR1cm4gUGVuZGluZ09wZXJhdGlvbiBlbmFibGluZyB0
aGUgcmVxdWVzdGVyIHRvIGNhbmNlbCB0aGlzIHJlcXVlc3QuCi0JCSAqIFx0aHJvdyBTZWN1cml0
eUVycm9yIFBFUk1JU1NJT05fREVOSUVEX0VSUk9SIHdoZW4KLQkJICogICAgICAgIGFjY2VzcyBp
cyBkZW5pZWQgYnkgdGhlIHNlY3VyaXR5IHBvbGljeS4KLQkJICogXHRocm93IERldmljZUFQSUVy
cm9yIElPX0VSUk9SIGlmIGl0IGlzIGF0dGVtcHRlZCB0byBtb3ZlIHRvIGEgZGlyZWN0b3J5Lgot
CQkgKiBcdGhyb3cgRGV2aWNlQVBJRXJyb3IgSU9fRVJST1IgaWYgb3ZlcndyaXRlIGlzIDxlbT5m
YWxzZTwvZW0+IGFuZCB0YXJnZXQgZmlsZSBleGlzdHMuCi0JCSAqIFx0aHJvdyBEZXZpY2VBUElF
cnJvciBJT19FUlJPUiBpZiBhbnkgY2hhcmFjdGVycyBpbiB0aGUgcGF0aCBhcmUgbm90IHN1cHBv
cnRlZC4KLQkJICogXHRocm93IERldmljZUFQSUVycm9yIElPX0VSUk9SIGlmIHRoZSBmaWxlIGNh
bm5vdCBiZSBtb3ZlZC4KLQkJICovCi0JCVBlbmRpbmdPcGVyYXRpb24gbW92ZVRvKGluIEZpbGVT
eXN0ZW1TdWNjZXNzQ2FsbGJhY2sgc3VjY2Vzc0NhbGxiYWNrLAotCQkgICAgICAgICAgICAgICAg
ICAgICAgICBpbiBFcnJvckNhbGxiYWNrIGVycm9yQ2FsbGJhY2ssCi0JCSAgICAgICAgICAgICAg
ICAgICAgICAgIGluIERPTVN0cmluZyBmaWxlUGF0aCwKLQkJICAgICAgICAgICAgICAgICAgICAg
ICAgaW4gYm9vbGVhbiBvdmVyd3JpdGUpCi0JCQlyYWlzZXMoU2VjdXJpdHlFcnJvciwgRGV2aWNl
QVBJRXJyb3IpOwotCi0JCS8qKgotCQkgKiBcYnJpZWYgQ3JlYXRlcyBhIGRpcmVjdG9yeS4KLQkJ
ICoKLQkJICogVGhlIG5ldyBkaXJlY3Rvcnkgd2lsbCBiZSBjcmVhdGVkIHJlbGF0aXZlbHkgdG8g
dGhlIGN1cnJlbnQKLQkJICogZGlyZWN0b3J5IHRoaXMgb3BlcmF0aW9uIGlzIHBlcmZvcm1lZCBv
bi4gSXQgd2lsbCBhdHRlbXB0IHRvCi0JCSAqIGNyZWF0ZSBhbGwgbmVjZXNzYXJ5IHN1Yi1kaXJl
Y3RvcmllcyBhcyB3ZWxsLiBUaGUgdXNlIG9mICIuIgotCQkgKiBvciAiLi4iIGluIHBhdGggY29t
cG9uZW50cyBpcyBub3Qgc3VwcG9ydGVkLiBJZiB0aGUKLQkJICogYm90dG9tLW1vc3QgZGlyZWN0
b3J5IGJlaW5nIGNyZWF0ZWQgYWxyZWFkeSBleGlzdHMgdGhpcwotCQkgKiBtZXRob2Qgd2lsbCB0
aHJvdyBhbiBJT19FUlJPUi4KLQkJICoKLQkJICogVGhlIGVuY29kaW5nIG9mIGZpbGUgcGF0aHMg
aXMgPGEgaHJlZj0iaHR0cDovL3d3dy5pZXRmLm9yZy9yZmMvcmZjMjI3OS50eHQiPlVURi04PC9h
Pi4KLQkJICoKLQkJICogXGFwaS1mZWF0dXJlIGh0dHA6Ly9ib25kaS5vbXRwLm9yZy9hcGkvZmls
ZXN5c3RlbS53cml0ZQotCQkgKgotCQkgKiBcY29kZQotCQkgKiAJdmFyIG5ld0RpciA9IGRpci5j
cmVhdGVEaXJlY3RvcnkoIm5ld0RpciIpOwotCQkgKiAJdmFyIGFub3RoZXJOZXdEaXIgPSBkaXIu
Y3JlYXRlRGlyZWN0b3J5KCJuZXdEaXIxL3N1Yk5ld0RpcjEiKTsKLQkJICogXGVuZGNvZGUKLQkJ
ICoKLQkJICogXHBhcmFtIGRpclBhdGggdGhlIG5ldyBkaXJlY3RvcnkgcGF0aCwgaXQgc2hvdWxk
IG9ubHkgY29udGFpbgotCQkgKiAgICAgICAgY2hhcmFjdGVycyBzdXBwb3J0ZWQgYnkgdGhlIHVu
ZGVybHlpbmcgZmlsZXN5c3RlbS4KLQkJICogXHJldHVybiBmaWxlIGhhbmRsZSBvZiB0aGUgbmV3
IGRpcmVjdG9yeQotCQkgKiBcdGhyb3cgU2VjdXJpdHlFcnJvciBQRVJNSVNTSU9OX0RFTklFRF9F
UlJPUiB3aGVuCi0JCSAqICAgICAgICBhY2Nlc3MgaXMgZGVuaWVkIGJ5IHRoZSBzZWN1cml0eSBw
b2xpY3kuCi0JCSAqIFx0aHJvdyBEZXZpY2VBUElFcnJvciBJT19FUlJPUiBpZiB0aGlzIGlzIG5v
dCBhIGRpcmVjdG9yeS4KLQkJICogXHRocm93IERldmljZUFQSUVycm9yIElPX0VSUk9SIGlmIGFu
eSBwYXRoIGNvbXBvbmVudCBkb2VzIG5vdCBleGlzdC4KLQkJICogXHRocm93IERldmljZUFQSUVy
cm9yIElPX0VSUk9SIGlmIGEgZmlsZSB3aXRoIHRoZSBzYW1lIG5hbWUgZXhpc3RzLgotCQkgKiBc
dGhyb3cgRGV2aWNlQVBJRXJyb3IgSU9fRVJST1IgaWYgYW55IGNoYXJhY3RlcnMgaW4gdGhlIHBh
dGggYXJlIG5vdCBzdXBwb3J0ZWQuCi0JCSAqIFx0aHJvdyBEZXZpY2VBUElFcnJvciBJT19FUlJP
UiBpZiB0aGUgZGlyZWN0b3J5IGNhbm5vdCBiZSBjcmVhdGVkLgotCQkgKi8KLQkJRmlsZSBjcmVh
dGVEaXJlY3RvcnkoaW4gRE9NU3RyaW5nIGRpclBhdGgpCi0JCQlyYWlzZXMoU2VjdXJpdHlFcnJv
ciwgRGV2aWNlQVBJRXJyb3IpOwotCi0JCS8qKgotCQkgKiBcYnJpZWYgQ3JlYXRlcyBhIG5ldyBl
bXB0eSBmaWxlLgotCQkgKgotCQkgKiBUaGUgbmV3IGVtcHR5IGZpbGUgaXMgY3JlYXRlZCBpbiB0
aGUgZ2l2ZW4gcGF0aCByZWxhdGl2ZWx5Ci0JCSAqIHRvIHRoZSBjdXJyZW50IGRpcmVjdG9yeSB0
aGUgb3BlcmF0aW9uIGlzIHBlcmZvcm1lZCBvbi4gIFRoZQotCQkgKiB1c2Ugb2YgIi4iIG9yICIu
LiIgaW4gcGF0aCBjb21wb25lbnRzIGlzIG5vdCBzdXBwb3J0ZWQuICBJZgotCQkgKiB0aGUgYm90
dG9tLW1vc3QgZmlsZSBiZWluZyBjcmVhdGVkIGFscmVhZHkgZXhpc3RzIHRoaXMKLQkJICogbWV0
aG9kIHdpbGwgdGhyb3cgYW4gSU9fRVJST1IuICBJZiBhbnkgcGF0aCBjb21wb25lbnQgZG9lcwot
CQkgKiBub3QgZXhpc3QgdGhpcyBtZXRob2Qgd2lsbCB0aHJvdyBhbiBJT19FUlJPUi4KLQkJICoK
LQkJICogVGhlIGVuY29kaW5nIG9mIGZpbGUgcGF0aHMgaXMgPGEgaHJlZj0iaHR0cDovL3d3dy5p
ZXRmLm9yZy9yZmMvcmZjMjI3OS50eHQiPlVURi04PC9hPi4KLQkJICoKLQkJICogXGFwaS1mZWF0
dXJlIGh0dHA6Ly9ib25kaS5vbXRwLm9yZy9hcGkvZmlsZXN5c3RlbS53cml0ZQotCQkgKgotCQkg
KiBcY29kZQotCQkgKiAJdmFyIG5ld0ZpbGUgPSBkaXIuY3JlYXRlRmlsZSgibmV3RmlsZSIpOwot
CQkgKiBcZW5kY29kZQotCQkgKgotCQkgKiBccGFyYW0gZmlsZVBhdGggdGhlIG5ldyBmaWxlIHBh
dGgsIGl0IHNob3VsZCBvbmx5IGNvbnRhaW4KLQkJICogICAgICAgIGNoYXJhY3RlcnMgc3VwcG9y
dGVkIGJ5IHRoZSB1bmRlcmx5aW5nIGZpbGVzeXN0ZW0uCi0JCSAqIFxyZXR1cm4gZmlsZSBoYW5k
bGUgb2YgdGhlIG5ldyBlbXB0eSBmaWxlCi0JCSAqIFx0aHJvdyBTZWN1cml0eUVycm9yIFBFUk1J
U1NJT05fREVOSUVEX0VSUk9SIHdoZW4KLQkJICogICAgICAgIGFjY2VzcyBpcyBkZW5pZWQgYnkg
dGhlIHNlY3VyaXR5IHBvbGljeS4KLQkJICogXHRocm93IERldmljZUFQSUVycm9yIElPX0VSUk9S
IGlmIHRoaXMgaXMgbm90IGEgZGlyZWN0b3J5LgotCQkgKiBcdGhyb3cgRGV2aWNlQVBJRXJyb3Ig
SU9fRVJST1IgaWYgYW55IHBhdGggY29tcG9uZW50IGRvZXMgbm90IGV4aXN0LgotCQkgKiBcdGhy
b3cgRGV2aWNlQVBJRXJyb3IgSU9fRVJST1IgaWYgdGhlIGZpbGUgYWxyZWFkeSBleGlzdHMuCi0J
CSAqIFx0aHJvdyBEZXZpY2VBUElFcnJvciBJT19FUlJPUiBpZiBhbnkgY2hhcmFjdGVycyBpbiB0
aGUgcGF0aCBhcmUgbm90IHN1cHBvcnRlZC4KLQkJICogXHRocm93IERldmljZUFQSUVycm9yIElP
X0VSUk9SIGlmIHRoZSBmaWxlIGNhbm5vdCBiZSBjcmVhdGVkLgotCQkgKi8KLQkJRmlsZSBjcmVh
dGVGaWxlKGluIERPTVN0cmluZyBmaWxlUGF0aCkKLQkJCXJhaXNlcyhTZWN1cml0eUVycm9yLCBE
ZXZpY2VBUElFcnJvcik7Ci0KLQkJLyoqCi0JCSAqIFxicmllZiBSZXNvbHZlcyBhbiBleGlzdGlu
ZyBmaWxlIG9yIGRpcmVjdG9yeSByZWxhdGl2ZWx5IHRvCi0JCSAqIHRoZSBjdXJyZW50IGRpcmVj
dG9yeSB0aGlzIG9wZXJhdGlvbiBpcyBwZXJmb3JtZWQgb247IGFuZAotCQkgKiByZXR1cm5zIGEg
ZmlsZSBoYW5kbGUgZm9yIGl0LgotCQkgKiAKLQkJICogVGhlIGZpbGVQYXRoIGlzIG5vdCBhbGxv
d2VkIHRvIGNvbnRhaW4gdGhlICIuIiBvciAiLi4iIGRpcmVjdG9yaWVzLgotCQkgKgotCQkgKiBU
aGUgZW5jb2Rpbmcgb2YgZmlsZSBwYXRocyBpcyA8YSBocmVmPSJodHRwOi8vd3d3LmlldGYub3Jn
L3JmYy9yZmMyMjc5LnR4dCI+VVRGLTg8L2E+LgotCQkgKgotCQkgKiBcYXBpLWZlYXR1cmUgaHR0
cDovL2JvbmRpLm9tdHAub3JnL2FwaS9maWxlc3lzdGVtLnJlYWQKLQkJICoKLQkJICogXGNvZGUK
LQkJICogCXZhciBoZWxsb2ZpbGUgPSBkaXIucmVzb2x2ZSgiZm9vL2hlbGxvLnR4dCIpOwotCQkg
KiBcZW5kY29kZQotCQkgKgotCQkgKiBccGFyYW0gZmlsZVBhdGggdGhlIHJlbGF0aXZlIGZpbGUv
ZGlyZWN0b3J5IHBhdGggdG8gcmVzb2x2ZS4KLQkJICogXHJldHVybiBmaWxlIGhhbmRsZSBvZiB0
aGUgZmlsZSBvciA8ZW0+bnVsbDwvZW0+IGlmIGl0IGNhbm5vdCBiZSByZXNvbHZlZC4KLQkJICog
XHRocm93IFNlY3VyaXR5RXJyb3IgUEVSTUlTU0lPTl9ERU5JRURfRVJST1Igd2hlbgotCQkgKiAg
ICAgICAgYWNjZXNzIGlzIGRlbmllZCBieSB0aGUgc2VjdXJpdHkgcG9saWN5LgotCQkgKiBcdGhy
b3cgRGV2aWNlQVBJRXJyb3IgSU9fRVJST1IgaWYgdGhpcyBpcyBub3QgYSBkaXJlY3RvcnkuCi0J
CSAqIFx0aHJvdyBEZXZpY2VBUElFcnJvciBJT19FUlJPUiBpZiBhbnkgY2hhcmFjdGVycyBpbiB0
aGUgcGF0aCBhcmUgbm90IHN1cHBvcnRlZC4KLQkJICogXHRocm93IERldmljZUFQSUVycm9yIElP
X0VSUk9SIGlmIHRoZSBmaWxlIG9yIGRpcmVjdG9yeSBjYW5ub3QgYmUgcmVzb2x2ZWQuCi0JCSAq
LwotCQlGaWxlIHJlc29sdmUoaW4gRE9NU3RyaW5nIGZpbGVQYXRoKQotCQkJcmFpc2VzKFNlY3Vy
aXR5RXJyb3IsIERldmljZUFQSUVycm9yKTsKLQotCQkvKioKLQkJICogXGJyaWVmIERlbGV0ZXMg
dGhpcyBkaXJlY3RvcnkuCi0JCSAqCi0JCSAqIFRoaXMgZnVuY3Rpb24gYXR0ZW1wdHMgdG8gZGVs
ZXRlIGEgZGlyZWN0b3J5IG9yIGRpcmVjdG9yeQotCQkgKiB0cmVlIHN5bmNocm9ub3VzbHkgYW5k
IHJldHVybnMgPGVtPnRydWU8L2VtPiBvbiBzdWNjZXNzLAotCQkgKiA8ZW0+ZmFsc2U8L2VtPiBv
dGhlcndpc2UuIEl0IG1heSB0aHJvdyBhbiBJT19FUlJPUiBpZiBhCi0JCSAqIHJlY3Vyc2l2ZSBk
ZWxldGlvbiBwYXJ0aWFsbHkgZmFpbHMgYW5kIGFueSBkZWxldGVkIGRhdGEgc28KLQkJICogZmFy
IGNhbm5vdCBiZSByZWNvdmVyZWQuIFRoaXMgbWlnaHQgaGFwcGVuIGR1ZSB0aGUgbGFjayBvZgot
CQkgKiBmaWxlc3lzdGVtIHBlcm1pc3Npb25zIG9yIGlmIGFueSBkaXJlY3RvcmllcyBvciBmaWxl
cyBhcmUKLQkJICogb3BlbmVuZWQgYnkgb3RoZXIgcHJvY2Vzc2VzLgotCQkgKgotCQkgKiBcYXBp
LWZlYXR1cmUgaHR0cDovL2JvbmRpLm9tdHAub3JnL2FwaS9maWxlc3lzdGVtLndyaXRlCi0JCSAq
Ci0JCSAqIFxjb2RlCi0JCSAqIAl2YXIgZnVsbFBhdGggPSBkaXIuZnVsbFBhdGg7Ci0JCSAqIAlp
ZihkaXIuZGVsZXRlRGlyZWN0b3J5KHRydWUpKSB7Ci0JCSAqIAkJLy8gc3Vic2VxdWVudCBhY2Nl
c3NlcyB0byBkaXIgd2lsbCB0aHJvdyBhbiBlcnJvcgotCQkgKiAJCWFsZXJ0KGZ1bGxQYXRoICsg
JyBkZWxldGVkJyk7Ci0JCSAqIAl9Ci0JCSAqIFxlbmRjb2RlCi0JCSAqCi0JCSAqIFxwYXJhbSBy
ZWN1cnNpdmUgPGVtPnRydWU8L2VtPiBtZWFucyBhIHJlY3Vyc2l2ZSBkZWxldGlvbiwgdGhpcwot
CQkgKiAgICAgICAgd2lsbCBkZXN0cm95IGFsbCBkYXRhIHJlY3Vyc2l2ZWx5LCB1c2Ugd2l0aCBj
YXV0aW9uLgotCQkgKiBccmV0dXJuIDxlbT50cnVlPC9lbT4gb24gc3VjY2VzcwotCQkgKiBcdGhy
b3cgU2VjdXJpdHlFcnJvciBQRVJNSVNTSU9OX0RFTklFRF9FUlJPUiB3aGVuCi0JCSAqICAgICAg
ICBhY2Nlc3MgaXMgZGVuaWVkIGJ5IHRoZSBzZWN1cml0eSBwb2xpY3kuCi0JCSAqIFx0aHJvdyBE
ZXZpY2VBUElFcnJvciBJT19FUlJPUiBpZiB0aGlzIGlzIGEgZmlsZS4KLQkJICogXHRocm93IERl
dmljZUFQSUVycm9yIElPX0VSUk9SIGlmIHRoZSBkaXJlY3RvcnkgaXMgbm90IGVtcHR5IGFuZAot
CQkgKiAgICAgICAgdGhpcyBvcGVyYXRpb24gaXMgbm90IHBlcmZvcm1lZCByZWN1cnNpdmVseS4K
LQkJICogXHRocm93IERldmljZUFQSUVycm9yIElPX0VSUk9SIGlmIHRoZSBkaXJlY3Rvcnkgb3Ig
YW55IGZpbGUgb3Igc3ViLWRpcmVjdG9yeSBjYW5ub3QgYmUgZGVsZXRlZC4KLQkJICovCi0JCWJv
b2xlYW4gZGVsZXRlRGlyZWN0b3J5KGluIGJvb2xlYW4gcmVjdXJzaXZlKQotCQkJcmFpc2VzKFNl
Y3VyaXR5RXJyb3IsIERldmljZUFQSUVycm9yKTsKLQotCQkvKioKLQkJICogXGJyaWVmIERlbGV0
ZXMgdGhpcyBmaWxlLgotCQkgKgotCQkgKiBSZXR1cm5zIDxlbT50cnVlPC9lbT4gb24gc3VjY2Vz
cywgPGVtPmZhbHNlPC9lbT4gb3RoZXJ3aXNlLgotCQkgKgotCQkgKiBcYXBpLWZlYXR1cmUgaHR0
cDovL2JvbmRpLm9tdHAub3JnL2FwaS9maWxlc3lzdGVtLndyaXRlCi0JCSAqCi0JCSAqIFxjb2Rl
Ci0JCSAqIAl2YXIgZnVsbFBhdGggPSBkaXIuZnVsbFBhdGg7Ci0JCSAqIAlpZihkaXIuZGVsZXRl
RmlsZSgpKSB7Ci0JCSAqIAkJLy8gc3Vic2VxdWVudCBhY2Nlc3NlcyB0byBkaXIgd2lsbCB0aHJv
dyBhbiBlcnJvcgotCQkgKiAJCWFsZXJ0KGZ1bGxQYXRoICsgJyBkZWxldGVkJyk7Ci0JCSAqIAl9
Ci0JCSAqIFxlbmRjb2RlCi0JCSAqCi0JCSAqIFxyZXR1cm4gPGVtPnRydWU8L2VtPiBvbiBzdWNj
ZXNzCi0JCSAqIFx0aHJvdyBTZWN1cml0eUVycm9yIFBFUk1JU1NJT05fREVOSUVEX0VSUk9SIHdo
ZW4KLQkJICogICAgICAgIGFjY2VzcyBpcyBkZW5pZWQgYnkgdGhlIHNlY3VyaXR5IHBvbGljeS4K
LQkJICogXHRocm93IERldmljZUFQSUVycm9yIElPX0VSUk9SIGlmIHRoaXMgaXMgYSBkaXJlY3Rv
cnkuCi0JCSAqIFx0aHJvdyBEZXZpY2VBUElFcnJvciBJT19FUlJPUiBpZiB0aGUgZmlsZSBjYW5u
b3QgYmUgZGVsZXRlZCBkdWUKLQkJICogICAgICAgIHRoZSBsYWNrIG9mIGZpbGVzeXN0ZW0gcGVy
bWlzc2lvbnMgb3IgaWYgaXQgaXMgbG9ja2VkIG9yCi0JCSAqICAgICAgICBvcGVuZWQgYnkgYW5v
dGhlciBwcm9jZXNzLgotCQkgKi8KLQkJYm9vbGVhbiBkZWxldGVGaWxlKCkKLQkJCXJhaXNlcyhT
ZWN1cml0eUVycm9yLCBEZXZpY2VBUElFcnJvcik7Ci0JfTsKLQotCS8qKgotCSAqIFxicmllZiBG
aWxlU3RyZWFtIEFQSS4KLQkgKgotCSAqIEEgRmlsZVN0cmVhbSByZXByZXNlbnRzIGEgaGFuZGxl
IHRvIGEgRmlsZSBvcGVuZWQgZm9yIHJlYWQgYW5kL29yCi0JICogd3JpdGUgb3BlcmF0aW9ucy4g
IFJlYWQgYW5kIHdyaXRlIG9wZXJhdGlvbnMgYXJlIHBlcmZvcm1lZCByZWxhdGl2ZQotCSAqIHRv
IGEgZmlsZSBwb2ludGVyIHdoaWNoIHJlcHJlc2VudHMgdGhlIGN1cnJlbnQgcG9zaXRpb24gaW4g
dGhlIGZpbGUuCi0JICogCi0JICogQSBzZXJpZXMgb2YgcmVhZC93cml0ZSBtZXRob2RzIGFyZSBh
dmFpbGFibGUgdGhhdCBwZXJtaXQgYm90aCBiaW5hcnkgYW5kCi0JICogdGV4dCB0byBiZSBwcm9j
ZXNzZWQuCi0JICoKLQkgKiBPbmNlIGEgZmlsZSBzdHJlYW0gaXMgY2xvc2VkLCBhbnkgb3BlcmF0
aW9uIGF0dGVtcHRlZCBvbiB0aGlzIHN0cmVhbQotCSAqIHdpbGwgcmVzdWx0IGluIGEgbm9ybWFs
IEphdmFTY3JpcHQgZXJyb3IuCi0JICovCi0JaW50ZXJmYWNlIEZpbGVTdHJlYW0gewotCi0JCS8q
KgotCQkgKiBcYnJpZWYgSW5kaWNhdGVzIHdoZXRoZXIgb3Igbm90IHRoZSBjdXJyZW50IGZpbGUg
cG9pbnRlciBpcyBhdCB0aGUgZW5kCi0JCSAqIG9mIHRoZSBmaWxlLgotCQkgKiAKLQkJICogPGVt
PnRydWU8L2VtPiBpZiB0aGUgcG9zaXRpb24gaXMgYXQgdGhlIGVuZCBvZiB0aGUgY3VycmVudCBm
aWxlIHN0cmVhbS4KLQkJICoKLQkJICogXGNvZGUKLQkJICogCWlmKHN0cmVhbS5lb2YpIHsKLQkJ
ICogCQkvLyBmaWxlIGhhcyBiZWVuIHJlYWQgY29tcGxldGVseQotCQkgKiAJfQotCQkgKiBcZW5k
Y29kZQotCQkgKi8KLQkJcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gZW9mOwotCi0JCS8qKgot
CQkgKiBcYnJpZWYgR2V0L3NldCBzdHJlYW0gcG9zaXRpb24gZm9yIHJlYWRzL3dyaXRlcy4KLQkJ
ICogCi0JCSAqIFRoZSBzdHJlYW0gcG9zaXRpb24gaXMgYW4gb2Zmc2V0IG9mIGJ5dGVzIGZyb20g
dGhlIHN0YXJ0IG9mCi0JCSAqIHRoZSBmaWxlIHN0cmVhbS4gIFdoZW4gaW52b2tpbmcgYW4gb3Bl
cmF0aW9uIHRoYXQgcmVhZHMgb3IKLQkJICogd3JpdGVzIGZyb20gdGhlIHN0cmVhbSwgdGhlIG9w
ZXJhdGlvbiB3aWxsIHRha2UgcGxhY2UgZnJvbQotCQkgKiB0aGUgcG9zaXRpb24gaW4gdGhlIHBv
c2l0aW9uIGF0dHJpYnV0ZS4KLQkJICoKLQkJICogXGNvZGUKLQkJICogCWFsZXJ0KHN0cmVhbS5w
b3NpdGlvbik7IC8vIGRpc3BsYXlzIGN1cnJlbnQgc3RyZWFtIHBvc2l0aW9uCi0JCSAqIAkvLyBh
bHRlcnMgY3VycmVudCBzdHJlYW0gcG9zaXRpb24gdG8gdGhlIGJlZ2luIG9mIHRoZSBmaWxlLAot
CQkgKiAJLy8gbGlrZSBzZWVrKCkgaW4gQwotCQkgKiAJc3RyZWFtLnBvc2l0aW9uID0gMDsKLQkJ
ICogXGVuZGNvZGUKLQkJICogXHRocm93IERldmljZUFQSUVycm9yIElPX0VSUk9SIGlmIGEgcG9z
aXRpb24gd2FzIGdpdmVuIHRoYXQgaXMgb3V0IG9mIHRoZSBzdHJlYW0gcmFuZ2UuCi0JCSAqLwot
CQlhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBwb3NpdGlvbgotCQkJc2V0cmFpc2VzKERldmljZUFQ
SUVycm9yKTsKLQotCQkvKioKLQkJICogXGJyaWVmIFJldHVybnMgdGhlIG51bWJlciBvZiBieXRl
cyB0aGF0IGFyZSBhdmFpbGFibGUgZm9yCi0JCSAqIHJlYWRpbmcgZnJvbSB0aGUgc3RyZWFtLgot
CQkgKgotCQkgKiBUaGUgbnVtYmVyIG9mIGJ5dGVzIGF2YWlsYWJsZSBmb3IgcmVhZGluZyBpcyB0
aGUgbWF4aW11bQotCQkgKiBhbW91bnQgb2YgYnl0ZXMgdGhhdCBjYW4gYmUgcmVhZCBpbiB0aGUg
bmV4dCByZWFkIG9wZXJhdGlvbi4KLQkJICogCi0JCSAqIC0xIGlmIGVvZiBpcyA8ZW0+dHJ1ZTwv
ZW0+LgotCQkgKgotCQkgKiBcY29kZQotCQkgKiAJYWxlcnQoc3RyZWFtLmJ5dGVzQXZhaWxhYmxl
KTsgLy8gZGlzcGxheXMgdGhlIGF2YWlsYWJsZSBieXRlcyB0byBiZSByZWFkCi0JCSAqIFxlbmRj
b2RlCi0JCSAqLwotCQlyZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBieXRlc0F2YWls
YWJsZTsKLQotCQkvKioKLQkJICogXGJyaWVmIENsb3NlcyB0aGlzIEZpbGVTdHJlYW0uCi0JCSAq
IAotCQkgKiBGbHVzaGVzIGFueSBwZW5kaW5nIGJ1ZmZlcmVkIHdyaXRlcyBhbmQgY2xvc2VzIHRo
ZSBGaWxlLiBBbHdheXMgc3VjY2VlZHMuCi0JCSAqIE5vdGUgdGhhdCBwZW5kaW5nIHdyaXRlcyBt
aWdodCBub3Qgc3VjY2VlZC4KLQkJICoKLQkJICogXGNvZGUKLQkJICogCXN0cmVhbS5jbG9zZSgp
OyAvLyBjbG9zZXMgdGhpcyBzdHJlYW0sIG5vIHN1YnNlcXVlbnQgYWNjZXNzIHRvIHN0cmVhbSBh
bGxvd2VkCi0JCSAqIFxlbmRjb2RlCi0JCSAqLwotCQl2b2lkIGNsb3NlKCk7Ci0KLQkJLyoqCi0J
CSAqIFxicmllZiBSZWFkcyB0aGUgc3BlY2lmaWVkIG51bWJlciBvZiBjaGFyYWN0ZXJzLgotCQkg
KgotCQkgKiBSZWFkcyBzcGVjaWZpZWQgbnVtYmVyIG9mIGNoYXJhY3RlcnMgYW5kIHJldHVybnMg
dGhlbSBhcyBzdHJpbmcuCi0JCSAqIFRoZSByZXN1bHRpbmcgc3RyaW5nIGxlbmd0aCBtaWdodCBi
ZSBzaG9ydGVyIHRoYW4gY2hhckNvdW50IGlmIGVvZgotCQkgKiBpcyA8ZW0+dHJ1ZTwvZW0+Lgot
CQkgKgotCQkgKiBcY29kZQotCQkgKiAJdmFyIHRleHQgPSBzdHJlYW0ucmVhZCgwKTsKLQkJICog
CXN0cmVhbS5jbG9zZSgpOwotCQkgKiBcZW5kY29kZQotCQkgKgotCQkgKiBccGFyYW0gY2hhckNv
dW50IG51bWJlciBvZiBjaGFyYWN0ZXJzIGJlaW5nIHJlYWQsIGlmCi0JCSAqICAgICAgICAgICAg
ICAgICAgICA8ZW0+MDwvZW0+IGl0IHdpbGwgcmVhZCBhcyBsb25nIGFzIGJ5dGVzIGFyZSBhdmFp
bGFibGUuCi0JCSAqIFxyZXR1cm4gdGhlIHJlc3VsdCBvZiByZWFkIGNoYXJhY3RlcnMgYXMgYSBz
dHJpbmcuCi0JCSAqIFx0aHJvdyBEZXZpY2VBUElFcnJvciBJT19FUlJPUiBpZiBhbiBlcnJvciBv
Y2N1cnMgZHVyaW5nIHJlYWQuCi0JCSAqLwotCQlET01TdHJpbmcgcmVhZChpbiB1bnNpZ25lZCBs
b25nIGNoYXJDb3VudCkKLQkJCXJhaXNlcyhEZXZpY2VBUElFcnJvcik7Ci0KLQkJLyoqCi0JCSAq
IFxicmllZiBSZWFkcyB0aGUgc3BlY2lmaWVkIG51bWJlciBvZiBieXRlcyBmcm9tIHRoaXMgRmls
ZVN0cmVhbS4KLQkJICoKLQkJICogSWYgMCBpcyBzdXBwbGllZCBpdCB3aWxsIHJlYWQgYWxsIGF2
YWlsYWJsZSBieXRlcyBpbiBhCi0JCSAqIHNpbmdsZSByZWFkIG9wZXJhdGlvbi4KLQkJICoKLQkJ
ICogXGNvZGUKLQkJICogCS8vIHJlYWRzIHVwIHRvIDI1NiBieXRlcyBmcm9tIHRoZSBzdHJlYW0K
LQkJICogCXZhciByYXcgPSBzdHJlYW0ucmVhZEJ5dGVzKDI1Nik7Ci0JCSAqIAlmb3IodmFyIGkg
PSAwOyBpICZsdDsgcmF3Lmxlbmd0aDsgaSsrKSB7Ci0JCSAqIAkJLy8gcmF3W2ldIGNvbnRhaW5z
IHRoZSBpLXRoIGJ5dGUgb2YgdGhlIGN1cnJlbnQgZGF0YSBjaHVuawotCQkgKiAJfQotCQkgKiBc
ZW5kY29kZQotCQkgKgotCQkgKiBccGFyYW0gYnl0ZUNvdW50IG51bWJlciBvZiBieXRlcyBiZWlu
ZyByZWFkLiBNdXN0IG5vdCBiZSA8ZW0+MDwvZW0+LgotCQkgKiBccmV0dXJuIHRoZSByZXN1bHQg
b2YgcmVhZCBieXRlcyBhcyBhIGJ5dGUgKG9yIG51bWJlcikgYXJyYXkuCi0JCSAqIFx0aHJvdyBE
ZXZpY2VBUElFcnJvciBJT19FUlJPUiBpZiBhbiBlcnJvciBvY2N1cnMgZHVyaW5nIHJlYWRCeXRl
cy4KLQkJICovCi0JCUJ5dGVBcnJheSByZWFkQnl0ZXMoaW4gdW5zaWduZWQgbG9uZyBieXRlQ291
bnQpCi0JCQlyYWlzZXMoRGV2aWNlQVBJRXJyb3IpOwotCi0JCS8qKgotCQkgKiBcYnJpZWYgUmVh
ZHMgdGhlIHNwZWNpZmllZCBudW1iZXIgb2YgYnl0ZXMgZnJvbSB0aGlzIEZpbGVTdHJlYW0sIGVu
Y29kaW5nCi0JCSAqIHRoZSByZXN1bHQgaW4gYmFzZTY0LgotCQkgKgotCQkgKiBJZiAwIGlzIHN1
cHBsaWVkIGl0IHdpbGwgcmVhZCBhbGwgYXZhaWxhYmxlIGJ5dGVzIGluIGEKLQkJICogc2luZ2xl
IHJlYWQgb3BlcmF0aW9uLgotCQkgKgotCQkgKiBcY29kZQotCQkgKiAJLy8gcmVhZHMgdXAgdG8g
MjU2IGJ5dGVzIGZyb20gdGhlIHN0cmVhbQotCQkgKiAJdmFyIGJhc2U2NCA9IHN0cmVhbS5yZWFk
QmFzZTY0KDI1Nik7Ci0JCSAqIFxlbmRjb2RlCi0JCSAqCi0JCSAqIFxwYXJhbSBieXRlQ291bnQg
bnVtYmVyIG9mIGJ5dGVzIGJlaW5nIHJlYWQuIE11c3Qgbm90IGJlIDxlbT4wPC9lbT4uCi0JCSAq
IFxyZXR1cm4gdGhlIHJlc3VsdCBvZiByZWFkIGJ5dGVzIGFzIGJhc2U2NCBlbmNvZGluZyBzdHJp
bmcuCi0JCSAqIFx0aHJvdyBEZXZpY2VBUElFcnJvciBJT19FUlJPUiBpZiBhbiBlcnJvciBvY2N1
cnMgZHVyaW5nIHJlYWRCYXNlNjQuCi0JCSAqLwotCQlET01TdHJpbmcgcmVhZEJhc2U2NChpbiB1
bnNpZ25lZCBsb25nIGJ5dGVDb3VudCkKLQkJCXJhaXNlcyhEZXZpY2VBUElFcnJvcik7Ci0KLQkJ
LyoqCi0JCSAqIFxicmllZiBXcml0ZXMgdGhlIHNwZWNpZmllZCBET01TdHJpbmcgdG8gdGhpcyBG
aWxlU3RyZWFtLgotCQkgKgotCQkgKiBcY29kZQotCQkgKiAJdmFyIHRleHQgPSAiSGVsbG8gd29y
bGQiOwotCQkgKiAJc3RyZWFtLndyaXRlKHRleHQpOwotCQkgKiBcZW5kY29kZQotCQkgKgotCQkg
KiBccGFyYW0gc3RyaW5nRGF0YSB0aGUgYWN0dWFsIHN0cmluZyB0byBiZSB3cml0dGVuLgotCQkg
KiBcdGhyb3cgRGV2aWNlQVBJRXJyb3IgSU9fRVJST1IgaWYgYW4gZXJyb3Igb2NjdXJzIGR1cmlu
ZyB3cml0ZS4KLQkJICovCi0JCXZvaWQgd3JpdGUoaW4gRE9NU3RyaW5nIHN0cmluZ0RhdGEpCi0J
CQlyYWlzZXMoRGV2aWNlQVBJRXJyb3IpOwotCi0JCS8qKgotCQkgKiBcYnJpZWYgV3JpdGVzIHRo
ZSBzcGVjaWZpZWQgYnl0ZXMgdG8gdGhpcyBGaWxlU3RyZWFtLgotCQkgKgotCQkgKiBcY29kZQot
CQkgKiAJdmFyIGJ5dGVzID0gaW4ucmVhZEJ5dGVzKDI1Nik7Ci0JCSAqIAlvdXQud3JpdGVCeXRl
cyhieXRlcyk7IC8vIHdyaXRlcyB0aGUgYnl0ZXMgcmVhZCBmcm9tIGluIHRvIG91dAotCQkgKiBc
ZW5kY29kZQotCQkgKgotCQkgKiBccGFyYW0gYnl0ZURhdGEgdGhlIGJ5dGUgZGF0YSBhcnJheSBi
ZWluZyB3cml0dGVuLgotCQkgKiBcdGhyb3cgRGV2aWNlQVBJRXJyb3IgSU9fRVJST1IgaWYgYW4g
ZXJyb3Igb2NjdXJzIGR1cmluZyB3cml0ZUJ5dGVzLgotCQkgKi8KLQkJdm9pZCB3cml0ZUJ5dGVz
KGluIEJ5dGVBcnJheSBieXRlRGF0YSkKLQkJCXJhaXNlcyhEZXZpY2VBUElFcnJvcik7Ci0KLQkJ
LyoqCi0JCSAqIFxicmllZiBDb252ZXJ0cyB0aGUgc3BlY2lmaWVkIGJhc2U2NCBET01TdHJpbmcg
dG8gYnl0ZXMgYW5kIHdyaXRlcyB0aGUgCi0JCSAqIHJlc3VsdCB0byB0aGlzIEZpbGVTdHJlYW0u
Ci0JCSAqCi0JCSAqIFxjb2RlCi0JCSAqIAl2YXIgYmFzZTY0ID0gaW4ucmVhZEJhc2U2NCgyNTYp
OwotCQkgKiAJb3V0LndyaXRlQmFzZTY0KGJhc2U2NCk7IC8vIHdyaXRlcyB0aGUgYmFzZTY0IGRh
dGEgcmVhZCBmcm9tIGluIHRvIG91dAotCQkgKiBcZW5kY29kZQotCQkgKgotCQkgKiBccGFyYW0g
YmFzZTY0RGF0YSB0aGUgYmFzZTY0IGRhdGEgYmVpbmcgd3JpdHRlbi4KLQkJICogXHRocm93IERl
dmljZUFQSUVycm9yIElPX0VSUk9SIGlmIGFuIGVycm9yIG9jY3VycyBkdXJpbmcgd3JpdGVCYXNl
NjQuCi0JCSAqLwotCQl2b2lkIHdyaXRlQmFzZTY0KGluIERPTVN0cmluZyBiYXNlNjREYXRhKQot
CQkJcmFpc2VzKERldmljZUFQSUVycm9yKTsKLQl9OwotCi0gIC8qKgotICAgKiBcYnJpZWYgU3Bl
Y2lmaWVzIHdoYXQgaXMgaW5zdGFudGlhdGVkIGF0IGZlYXR1cmUgcmVxdWVzdAotICAgKiBcZGVm
LWluc3RhbnRpYXRlZAotICAgKiBcYXBpLWZlYXR1cmUgaHR0cDovL2JvbmRpLm9tdHAub3JnL2Fw
aS9maWxlc3lzdGVtLnJlYWQKLSAgICogXGFwaS1mZWF0dXJlIGh0dHA6Ly9ib25kaS5vbXRwLm9y
Zy9hcGkvZmlsZXN5c3RlbS53cml0ZQotICAgKi8KLQlpbnRlcmZhY2UgRmlsZVN5c3RlbU1hbmFn
ZXJPYmplY3QgewotCQlyZWFkb25seSBhdHRyaWJ1dGUgRmlsZVN5c3RlbU1hbmFnZXIgZmlsZVN5
c3RlbU1hbmFnZXI7IAotCX07Ci0JYm9uZGkgaW1wbGVtZW50cyBGaWxlU3lzdGVtTWFuYWdlck9i
amVjdDsKLQotfTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9leGFtcGxlcy9zcGVj
dG93aWRsLnhzbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9leGFtcGxlcy9zcGVjdG93aWRsLnhzbApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDQyNTI3NzA5NDAuLjAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC93aWRscHJvYy9leGFtcGxlcy9zcGVjdG93aWRsLnhzbAorKysgL2Rldi9u
dWxsCkBAIC0xLDI3ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04
Ij8+Ci08IS0tPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLSRJZCQKLUNvcHlyaWdodCAyMDA5IEFwbGl4IENvcnBvcmF0
aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNl
bnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7Ci15b3UgbWF5IG5vdCB1c2UgdGhpcyBm
aWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCi1Zb3UgbWF5IG9idGFp
biBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKLSAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGlj
ZW5zZXMvTElDRU5TRS0yLjAKLVVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBh
Z3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKLWRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNl
bnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCi1XSVRIT1VUIFdBUlJBTlRJ
RVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4K
LVNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJt
aXNzaW9ucyBhbmQKLWxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgotCi1YU0xUIHN0eWxl
c2hlZXQgdG8gZXh0cmFjdCBXZWIgSURMIHNuaXBwZXRzIGZyb20gV2ViIElETCBzcGVjLiAKLT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PS0tPgotPHhzbDpzdHlsZXNoZWV0IHhtbG5zOnhzbD0iaHR0cDovL3d3dy53My5v
cmcvMTk5OS9YU0wvVHJhbnNmb3JtIiB2ZXJzaW9uPSIxLjAiPgotPHhzbDpvdXRwdXQgbWV0aG9k
PSJ0ZXh0IiBlbmNvZGluZz0idXRmLTgiLz4KLQotPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iY29kZVtA
Y2xhc3M9J2lkbC1jb2RlJ10iPgotICAgIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIuIi8+PHhzbDp0
ZXh0PgotPC94c2w6dGV4dD4KLTwveHNsOnRlbXBsYXRlPgotCi08eHNsOnRlbXBsYXRlIG1hdGNo
PSJ0ZXh0KCkiLz4KLQotPC94c2w6c3R5bGVzaGVldD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93
aWRscHJvYy9leGFtcGxlcy93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9leGFt
cGxlcy93M2MtaW1wb3J0LmxvZwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMWM5YmY1
YWUxMzIuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9leGFtcGxlcy93M2Mt
aW1wb3J0LmxvZworKysgL2Rldi9udWxsCkBAIC0xLDIzICswLDAgQEAKLVRoZSB0ZXN0cyBpbiB0
aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgotRG8g
Tk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVh
dGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFczQyBDU1Mgb3IgV1BUIGdpdGh1YjoKLQlodHRwczov
L2dpdGh1Yi5jb20vdzNjL2Nzc3dnLXRlc3QKLQlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cwotCi1UaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRl
c3RzIGluIFdlYktpdCB0byByZWltcG9ydAotCi1EbyBOT1QgbW9kaWZ5IG9yIHJlbW92ZSB0aGlz
IGZpbGUuCi0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotUHJvcGVydGllcyByZXF1aXJpbmcgdmVuZG9yIHBy
ZWZpeGVzOgotTm9uZQotUHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6
Ci1Ob25lCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLUxpc3Qgb2YgZmlsZXM6Ci0vTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxw
cm9jL2V4YW1wbGVzL01ha2VmaWxlCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL2V4YW1wbGVzL1JFQURN
RQotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC93aWRscHJvYy9leGFtcGxlcy9ib25kaS53aWRsCi0vTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dp
ZGxwcm9jL2V4YW1wbGVzL2ZpbGVzeXN0ZW0ud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9leGFt
cGxlcy9zcGVjdG93aWRsLnhzbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9leGFtcGxlcy93aWRsaHRt
bC5jc3MKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9leGFtcGxlcy93aWRsaHRtbC5j
c3MgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvZXhhbXBsZXMvd2lkbGh0bWwuY3NzCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCA4NTQzMDk3YTNjYy4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3dpZGxwcm9jL2V4YW1wbGVzL3dpZGxodG1sLmNzcworKysgL2Rldi9udWxsCkBAIC0xLDEw
MCArMCwwIEBACi1ib2R5IHsKLSAgcGFkZGluZzogMmVtOwotICBtYXJnaW46IDA7Ci0gIGZvbnQt
ZmFtaWx5OiBzYW5zLXNlcmlmOwotICBjb2xvcjogYmxhY2s7Ci0gIGJhY2tncm91bmQ6IHdoaXRl
OwotICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgbGVmdDsKLSAgYmFja2dyb3VuZC1hdHRhY2ht
ZW50OiBmaXhlZDsKLSAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsKLX0KLTpsaW5rIHsg
Y29sb3I6ICMwMEM7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IH0KLTp2aXNpdGVkIHsgY29sb3I6
ICM2MDk7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IH0KLWE6YWN0aXZlIHsgY29sb3I6ICNDMDA7
IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IH0KLWE6bGluayBpbWcsIGE6dmlzaXRlZCBpbWcgeyBi
b3JkZXItc3R5bGU6IG5vbmUgfSAvKiBubyBib3JkZXIgb24gaW1nIGxpbmtzICovCi0KLWgxLCBo
MiwgaDMsIGg0LCBoNSwgaDYgeyB0ZXh0LWFsaWduOiBsZWZ0IH0KLS8qIGJhY2tncm91bmQgc2hv
dWxkIGJlIHRyYW5zcGFyZW50LCBidXQgV2ViVFYgaGFzIGEgYnVnICovCi1oMSwgaDIsIGgzIHsg
Y29sb3I6ICMwMDkzOTM7IGJhY2tncm91bmQ6IHdoaXRlIH0KLWgxIHsgZm9udDogMTcwJSBzYW5z
LXNlcmlmIH0KLWgyIHsgZm9udDogMTQwJSBzYW5zLXNlcmlmIH0KLWgzIHsgZm9udDogMTIwJSBz
YW5zLXNlcmlmIH0KLWg0IHsgZm9udDogYm9sZCAxMDAlIHNhbnMtc2VyaWYgfQotaDUgeyBmb250
OiBpdGFsaWMgMTAwJSBzYW5zLXNlcmlmIH0KLWg2IHsgZm9udDogc21hbGwtY2FwcyAxMDAlIHNh
bnMtc2VyaWY7IG1hcmdpbi1ib3R0b206IDAgfQotCi0uaGlkZSB7IGRpc3BsYXk6IG5vbmUgfQot
Ci1jb2RlIHsgZm9udC1zaXplOiAxMjAlIH0KLQotdWwudG9jLCBvbC50b2MsIHVsLmF1dGhvcnMg
ewotICBsaXN0LXN0eWxlOiBub25lOwotfQotCi0uaGlkZSB7IGRpc3BsYXk6IG5vbmUgfQotCi1k
aXYuaGVhZCB7IG1hcmdpbi1ib3R0b206IDFlbSB9Ci1kaXYuaGVhZCBoMSB7IG1hcmdpbi10b3A6
IDJlbTsgY2xlYXI6IGJvdGggfQotZGl2LmhlYWQgdGFibGUgeyBtYXJnaW4tbGVmdDogMmVtOyBt
YXJnaW4tdG9wOiAyZW0gfQotZGl2LmNvbnN0cmFpbnQsIGRpdi5pc3N1ZSwgZGl2Lm5vdGUsIGRp
di5ub3RpY2UgICAgIHsgbWFyZ2luLWxlZnQ6IDJlbTsgfQotZGl2LmV4YW1wbGVJbm5lciBwcmUg
eyBtYXJnaW4tbGVmdDogMWVtOyBtYXJnaW4tdG9wOiAwZW07IG1hcmdpbi1ib3R0b206IDBlbX0K
LWRpdi5leGFtcGxlT3V0ZXIge2JvcmRlcjogNHB4IGRvdWJsZSBncmF5OyBtYXJnaW46IDBlbTsg
cGFkZGluZzogMGVtfQotZGl2LmV4YW1wbGVJbm5lciB7IGJhY2tncm91bmQtY29sb3I6ICNkNWRl
ZTM7Ci0gICAgIAkgICAgICAgICAgIGJvcmRlci10b3Atd2lkdGg6IDRweDsKLSAgICAgICAJICAg
ICAgICAgICBib3JkZXItdG9wLXN0eWxlOiBkb3VibGU7Ci0gICAgICAgCSAgICAgICAgICAgYm9y
ZGVyLXRvcC1jb2xvcjogI2QzZDNkMzsKLSAgICAgICAJICAgICAgICAgICBib3JkZXItYm90dG9t
LXdpZHRoOiA0cHg7Ci0gICAgICAgCSAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogZG91
YmxlOwotICAgICAgIAkgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICNkM2QzZDM7Ci0g
ICAgICAgCSAgICAgICAgICAgcGFkZGluZzogNHB4OyBtYXJnaW46IDBlbSB9Ci1kaXYuZXhhbXBs
ZVdyYXBwZXIgeyBtYXJnaW46IDRweCB9Ci1kaXYuZXhhbXBsZUhlYWRlciB7IGZvbnQtd2VpZ2h0
OiBib2xkOyBtYXJnaW46IDRweH0KLWRpdi50ZXJtIHsgZm9udDogMTAwJSBzYW5zLXNlcmlmOyBj
b2xvcjojMDAwMDAwOyBmb250LXdlaWdodDogYm9sZDsgbGluZS1oZWlnaHQ6IDYwJX0gICAKLWRp
di5saXN0IHsgZm9udDogMTAwJSBzYW5zLXNlcmlmOyBjb2xvcjojMDAwMDAwOyBmb250LXdlaWdo
dDogbm9ybWFsOyBsaW5lLWhlaWdodDogNjAlfSAKLQotLm9wdGlvbmFsIHt0ZXh0LWRlY29yYXRp
b246IGxpbmUtdGhyb3VnaDsgZGlzcGxheTogbm9uZTt9Ci0KLS5jb3B5cmlnaHQsLmxlZ2Fsbm90
aWNlIHsgZm9udC1zaXplOiBzbWFsbCB9Ci0uY29weXJpZ2h0IHNtYWxsIHsgZm9udC1zaXplOiBz
bWFsbCB9Ci0KLUBtZWRpYSBzY3JlZW4geyAgLyogaGlkZSBmcm9tIElFMyAqLwotYVtocmVmXTpo
b3ZlciB7IGJhY2tncm91bmQ6ICNmZmEgfQotfQotCi1vbC5lbnVtYXIgICAgICB7IGxpc3Qtc3R5
bGUtdHlwZTogZGVjaW1hbDsgfQotb2wuZW51bWxhICAgICAgeyBsaXN0LXN0eWxlLXR5cGU6IGxv
d2VyLWFscGhhOyB9Ci1vbC5lbnVtbHIgICAgICB7IGxpc3Qtc3R5bGUtdHlwZTogbG93ZXItcm9t
YW47IH0KLW9sLmVudW11YSAgICAgIHsgbGlzdC1zdHlsZS10eXBlOiB1cHBlci1hbHBoYTsgfQot
b2wuZW51bXVyICAgICAgeyBsaXN0LXN0eWxlLXR5cGU6IHVwcGVyLXJvbWFuOyB9Ci0KLS8qIEJP
TkRJIGFkZGl0aW9ucyAqLwotCi0udG9jIHsKLSAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7Ci19
Ci0KLXByZSB7Ci0gIGJhY2tncm91bmQtY29sb3I6I0Q1REVFMzsKLSAgb3ZlcmZsb3c6IGF1dG87
Ci0gIHBhZGRpbmc6IDFlbTsKLX0KLQotLmV4YW1wbGVjb2RlIHsKLSAgICBiYWNrZ3JvdW5kLWNv
bG9yOiAjRUVFOwotfQotCi0uZGVmLWFwaS1mZWF0dXJlLXNldCBkdCwgLmRlZi1hcGktZmVhdHVy
ZSBkdCwgZHQgLmRlZi1kZXZpY2UtY2FwLCBkdC5jb25zdCBjb2RlIHsgZm9udDogYm9sZCAxMDAl
IHNhbnMtc2VyaWY7IH0KLWR0LmF0dHJpYnV0ZSBjb2RlLCBkdC5tZXRob2QgY29kZSB7IGZvbnQ6
IGl0YWxpYyAxMDAlIHNhbnMtc2VyaWY7IH0KLQotLmRlZi1kZXZpY2UtY2FwcyBkZCB7IG1hcmdp
bi1ib3R0b206IDJlbSB9Ci0KLWR0Lm1ldGhvZCB7IG1hcmdpbi10b3A6IDJlbSB9Ci0KLS5zdW1t
YXJ5IHRkIHsKLSAgICB0ZXh0LWFsaWduOiBsZWZ0OwotICAgIGJhY2tncm91bmQtY29sb3I6ICNC
QkREREQ7Ci0gICAgY29sb3I6IGluaGVyaXQ7Ci0gICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsK
LSAgICB3aGl0ZS1zcGFjZTpwcmU7Ci0gICAgcGFkZGluZzogLjNlbSAxZW0gLjNlbSAxZW07Ci19
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mvc3JjL2NvbW1lbnQuYyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC93aWRscHJvYy9zcmMvY29tbWVudC5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2
MjJhN2JlYTdiNC4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3NyYy9jb21t
ZW50LmMKKysrIC9kZXYvbnVsbApAQCAtMSwxODI3ICswLDAgQEAKLS8qKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgot
ICogJElkJAotICogQ29weXJpZ2h0IDIwMDkgQXBsaXggQ29ycG9yYXRpb24uIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCi0gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24g
Mi4wICh0aGUgIkxpY2Vuc2UiKTsKLSAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0
IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KLSAqIFlvdSBtYXkgb2J0YWluIGEgY29w
eSBvZiB0aGUgTGljZW5zZSBhdAotICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNl
cy9MSUNFTlNFLTIuMAotICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFn
cmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQotICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExp
Y2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKLSAqIFdJVEhPVVQgV0FS
UkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBs
aWVkLgotICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJu
aW5nIHBlcm1pc3Npb25zIGFuZAotICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCi0g
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKiovCi0jaW5jbHVkZSA8YXNzZXJ0Lmg+Ci0jaW5jbHVkZSA8c3RyaW5nLmg+
Ci0jaW5jbHVkZSA8c3RkaW8uaD4KLQotI2luY2x1ZGUgImNvbW1lbnQuaCIKLSNpbmNsdWRlICJl
bnRpdGllcy5oIgotI2luY2x1ZGUgImxleC5oIgotI2luY2x1ZGUgIm1pc2MuaCIKLSNpbmNsdWRl
ICJub2RlLmgiCi0jaW5jbHVkZSAib3MuaCIKLSNpbmNsdWRlICJwcm9jZXNzLmgiCi0KLS8qIHN0
cnVjdCBjbm9kZSA6IGEgbm9kZSBpbiB0aGUgY29tbWVudCBwYXJzZSB0cmVlICovCi1zdHJ1Y3Qg
Y25vZGUgewotICAgIHN0cnVjdCBjbm9kZSAqbmV4dDsKLSAgICBzdHJ1Y3QgY25vZGUgKmNoaWxk
cmVuOwotICAgIHN0cnVjdCBjbm9kZSAqcGFyZW50OwotICAgIGNvbnN0IHN0cnVjdCBjbm9kZWZ1
bmNzICpmdW5jczsKLSAgICBjb25zdCBjaGFyICphdHRydGV4dDsKLSAgICBjb25zdCBjaGFyICpm
aWxlbmFtZTsKLSAgICB1bnNpZ25lZCBpbnQgbGluZW51bTsKLX07Ci0KLXN0cnVjdCBjbm9kZWZ1
bmNzIHsKLSAgICBpbnQgaW5kZXNjOyAvKiBub24temVybyBpZiBpdCBvdXRwdXRzIGl0cyBvd24g
eG1sIGVsZW1lbnQgdGhhdCBkb2VzCi0gICAgICAgICAgICAgICAgICAgICAgbm90IHdhbnQgdG8g
YmUgaW5zaWRlIDxkZXNjcmlwdGlvbj4gKi8KLSAgICBpbnQgbmVlZHBhcmE7IC8qIG5vbi16ZXJv
IGlmIHRleHQgbXVzdCBiZSBpbiBhIHBhcmEgbm9kZSB0aGF0IGlzIGEgY2hpbGQKLSAgICAgICAg
ICAgICAgICAgICAgIG9mIHRoaXMgb25lICovCi0gICAgaW50ICgqYXNrZW5kKShzdHJ1Y3QgY25v
ZGUgKmNub2RlLCBjb25zdCBzdHJ1Y3QgY25vZGVmdW5jcyAqdHlwZSk7Ci0gICAgdm9pZCAoKmVu
ZCkoc3RydWN0IGNub2RlICpjbm9kZSk7Ci0gICAgdm9pZCAoKm91dHB1dCkoc3RydWN0IGNub2Rl
ICpjbm9kZSwgdW5zaWduZWQgaW50IGluZGVudCk7Ci19OwotCi1zdHJ1Y3QgcGFyYW1jbm9kZSB7
Ci0gICAgc3RydWN0IGNub2RlIGNuOwotICAgIGludCBpbm91dDsKLSAgICBjaGFyIG5hbWVbMV07
Ci19OwotCi0vKiBzdHJ1Y3QgY29tbWVudCA6IGEgZG94eWdlbiBjb21tZW50ICovCi1zdHJ1Y3Qg
Y29tbWVudCB7Ci0gICAgc3RydWN0IGNvbW1lbnQgKm5leHQ7Ci0gICAgc3RydWN0IG5vZGUgKm5v
ZGU7Ci0gICAgdW5zaWduZWQgaW50IHR5cGU7Ci0gICAgY29uc3QgY2hhciAqZmlsZW5hbWU7Ci0g
ICAgdW5zaWduZWQgaW50IGxpbmVudW07Ci0gICAgc3RydWN0IGNub2RlIHJvb3Q7Ci0gICAgaW50
IGJhY2s7IC8qIFdoZXRoZXIgdGhlIGNvbW1lbnQgcmVmZXJzIGJhY2sgcmF0aGVyIHRoYW4gZm9y
d2FyZC4gKi8KLSAgICBjaGFyICp0ZXh0OwotfTsKLQotCi1zdGF0aWMgc3RydWN0IG5vZGUgKmxh
c3RpZGVudGlmaWVyOwotc3RhdGljIHN0cnVjdCBjb21tZW50ICpjb21tZW50czsKLXN0YXRpYyBp
bnQgaW5jb2RlLCBpbmh0bWxibG9jazsKLXN0YXRpYyBzdHJ1Y3QgY29tbWVudCAqY3VyY29tbWVu
dDsKLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqCi0gKiBodG1sZWxkZXNjcyA6IHRhYmxlIG9mIHJlY25vZ2l6
ZWQgSFRNTCBlbGVtZW50cwotICovCi0jZGVmaW5lIEhUTUxFTF9FTVBUWSAxCi0jZGVmaW5lIEhU
TUxFTF9JTkxJTkUgMgotI2RlZmluZSBIVE1MRUxfQkxPQ0sgNAotI2RlZmluZSBIVE1MRUxfQVVU
T0NMT1NFIDgKLSNkZWZpbmUgSFRNTEVMX0xJIDB4MTAKLSNkZWZpbmUgSFRNTEVMX0RMQ09OVEVO
VFMgMHgyMAotI2RlZmluZSBIVE1MRUxfVEFCTEVDT05URU5UUyAweDQwCi0jZGVmaW5lIEhUTUxF
TF9UUkNPTlRFTlRTIDB4ODAKLQotI2RlZmluZSBIVE1MRUxfRkxPVyAoSFRNTEVMX0JMT0NLIHwg
SFRNTEVMX0lOTElORSkKLQotc3RydWN0IGh0bWxlbGRlc2MgewotICAgIHVuc2lnbmVkIGludCBu
YW1lbGVuOwotICAgIGNvbnN0IGNoYXIgKm5hbWU7Ci0gICAgdW5zaWduZWQgaW50IGZsYWdzOwot
ICAgIHVuc2lnbmVkIGludCBjb250ZW50OwotfTsKLQotc3RhdGljIGNvbnN0IHN0cnVjdCBodG1s
ZWxkZXNjIGh0bWxlbGRlc2NzW10gPSB7Ci0gICAgeyAxLCAiYSIsIEhUTUxFTF9JTkxJTkUsIDAg
fSwKLSAgICB7IDEsICJiIiwgSFRNTEVMX0lOTElORSwgMCB9LAotICAgIHsgMiwgImJyIiwgSFRN
TEVMX0lOTElORSwgSFRNTEVMX0VNUFRZIH0sCi0gICAgeyAzLCAiaW1nIiwgSFRNTEVMX0lOTElO
RSwgSFRNTEVMX0VNUFRZIH0sCi0gICAgeyAyLCAiZGQiLCBIVE1MRUxfRExDT05URU5UUywgSFRN
TEVMX0ZMT1cgfSwKLSAgICB7IDIsICJkbCIsIEhUTUxFTF9CTE9DSywgSFRNTEVMX0RMQ09OVEVO
VFMgfSwKLSAgICB7IDIsICJkdCIsIEhUTUxFTF9ETENPTlRFTlRTLCBIVE1MRUxfSU5MSU5FIH0s
Ci0gICAgeyAyLCAiZW0iLCBIVE1MRUxfSU5MSU5FLCAwIH0sCi0gICAgeyAyLCAibGkiLCBIVE1M
RUxfTEksIEhUTUxFTF9GTE9XIH0sCi0gICAgeyAyLCAib2wiLCBIVE1MRUxfQkxPQ0ssIEhUTUxF
TF9MSSB9LAotICAgIHsgMSwgInAiLCBIVE1MRUxfQkxPQ0ssIEhUTUxFTF9JTkxJTkUgfSwKLSAg
ICB7IDIsICJ0ZCIsIEhUTUxFTF9UUkNPTlRFTlRTIHwgSFRNTEVMX0FVVE9DTE9TRSwgSFRNTEVM
X0ZMT1cgfSwKLSAgICB7IDIsICJ0aCIsIEhUTUxFTF9UUkNPTlRFTlRTIHwgSFRNTEVMX0FVVE9D
TE9TRSwgSFRNTEVMX0ZMT1cgfSwKLSAgICB7IDIsICJ0ciIsIEhUTUxFTF9UQUJMRUNPTlRFTlRT
IHwgSFRNTEVMX0FVVE9DTE9TRSwgSFRNTEVMX1RSQ09OVEVOVFMgfSwKLSAgICB7IDUsICJ0YWJs
ZSIsIEhUTUxFTF9CTE9DSywgSFRNTEVMX1RBQkxFQ09OVEVOVFMgfSwKLSAgICB7IDIsICJ1bCIs
IEhUTUxFTF9CTE9DSywgSFRNTEVMX0xJIH0sCi0gICAgeyAwLCAwLCAwLCAwIH0KLX07Ci0jZGVm
aW5lIEhUTUxFTERFU0NfQiAoaHRtbGVsZGVzY3MgKyAxKQotI2RlZmluZSBIVE1MRUxERVNDX0JS
IChodG1sZWxkZXNjcyArIDIpCi0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogYWRkY29tbWVudCA6IGFk
ZCBhIGNvbW1lbnQgdG8gdGhlIGxpc3Qgb2YgY29tbWVudHMgaWYgaXQgaGFzIGRveHlnZW4gc3lu
dGF4Ci0gKgotICogRW50ZXI6ICAgdG9rIHN0cnVjdAotICovCi12b2lkCi1hZGRjb21tZW50KHN0
cnVjdCB0b2sgKnRvaykKLXsKLSAgICBpZiAodG9rLT5sZW4gPj0gMSAmJiAodG9rLT5zdGFydFsw
XSA9PSAnIScKLSAgICAgICAgfHwgKHRvay0+dHlwZSA9PSBUT0tfQkxPQ0tDT01NRU5UICYmIHRv
ay0+c3RhcnRbMF0gPT0gJyonKQotICAgICAgICB8fCAodG9rLT50eXBlID09IFRPS19JTkxJTkVD
T01NRU5UICYmIHRvay0+c3RhcnRbMF0gPT0gJy8nKSkpCi0gICAgewotICAgICAgICBzdHJ1Y3Qg
Y29tbWVudCAqY29tbWVudDsKLSAgICAgICAgY29tbWVudCA9IG1lbWFsbG9jKHNpemVvZihzdHJ1
Y3QgY29tbWVudCkpOwotICAgICAgICBjb21tZW50LT50ZXh0ID0gbWVtYWxsb2ModG9rLT5sZW4g
KyAxKTsKLSAgICAgICAgbWVtY3B5KGNvbW1lbnQtPnRleHQsIHRvay0+c3RhcnQsIHRvay0+bGVu
KTsKLSAgICAgICAgY29tbWVudC0+dGV4dFt0b2stPmxlbl0gPSAwOwotICAgICAgICBjb21tZW50
LT50eXBlID0gdG9rLT50eXBlOwotICAgICAgICBjb21tZW50LT5maWxlbmFtZSA9IHRvay0+Zmls
ZW5hbWU7Ci0gICAgICAgIGNvbW1lbnQtPmxpbmVudW0gPSB0b2stPmxpbmVudW07Ci0gICAgICAg
IGNvbW1lbnQtPm5vZGUgPSAwOwotICAgICAgICBjb21tZW50LT5iYWNrID0gMDsKLSAgICAgICAg
aWYgKGNvbW1lbnQtPnRleHRbMV0gPT0gJzwnKSB7Ci0gICAgICAgICAgICBjb21tZW50LT5iYWNr
ID0gMTsKLSAgICAgICAgICAgIGlmICghbGFzdGlkZW50aWZpZXIpIHsKLSAgICAgICAgICAgICAg
ICBsb2NlcnJvcmV4aXQoY29tbWVudC0+ZmlsZW5hbWUsIGNvbW1lbnQtPmxpbmVudW0sCi0gICAg
ICAgICAgICAgICAgICAgICJubyBpZGVudGlmaWVyIHRvIGF0dGFjaCBkb3h5Z2VuIGNvbW1lbnQg
dG8iKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGNvbW1lbnQtPm5vZGUgPSBsYXN0aWRl
bnRpZmllcjsKLSAgICAgICAgfQotICAgICAgICBjb21tZW50LT5uZXh0ID0gY29tbWVudHM7Ci0g
ICAgICAgIGNvbW1lbnRzID0gY29tbWVudDsKLSAgICB9Ci19Ci0KLS8qKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgot
ICogc2V0Y29tbWVudG5vZGUgOiBzZXQgcGFyc2Ugbm9kZSB0byBhdHRhY2ggY29tbWVudHMgdG8K
LSAqCi0gKiBFbnRlcjogICBub2RlMiA9IHBhcnNlIG5vZGUgZm9yIGlkZW50aWZpZXIKLSAqLwot
dm9pZAotc2V0Y29tbWVudG5vZGUoc3RydWN0IG5vZGUgKm5vZGUyKQotewotICAgIHN0cnVjdCBj
b21tZW50ICpjb21tZW50ID0gY29tbWVudHM7Ci0gICAgd2hpbGUgKGNvbW1lbnQgJiYgIWNvbW1l
bnQtPm5vZGUpIHsKLSAgICAgICAgY29tbWVudC0+bm9kZSA9IG5vZGUyOwotICAgICAgICBjb21t
ZW50ID0gY29tbWVudC0+bmV4dDsKLSAgICB9Ci0gICAgbGFzdGlkZW50aWZpZXIgPSBub2RlMjsK
LX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqCi0gKiBqb2luaW5saW5lY29tbWVudHMgOiBqb2luIGFkamFj
ZW50IGlubGluZSBjb21tZW50cwotICoKLSAqIEVudGVyOiAgIGNvbW1lbnQgPSBsaXN0IG9mIGNv
bW1lbnQgc3RydWN0cwotICoKLSAqIFJldHVybjogIG5ldyBsaXN0IG9mIGNvbW1lbnQgc3RydWN0
cwotICoKLSAqIFRoaXMgZnVuY3Rpb24gYWxzbyBkaXNjYXJkcyBhbnkgc2luZ2xlIGlubGluZSBj
b21tZW50IHRoYXQgZG9lcyBub3QKLSAqIHJlZmVyIGJhY2suCi0gKi8KLXN0YXRpYyBzdHJ1Y3Qg
Y29tbWVudCAqCi1qb2luaW5saW5lY29tbWVudHMoc3RydWN0IGNvbW1lbnQgKmNvbW1lbnRzKQot
ewotICAgIHN0cnVjdCBjb21tZW50ICoqcGNvbW1lbnQ7Ci0gICAgcGNvbW1lbnQgPSAmY29tbWVu
dHM7Ci0gICAgZm9yICg7OykgewotICAgICAgICBzdHJ1Y3QgY29tbWVudCAqY29tbWVudDsKLSAg
ICAgICAgY29tbWVudCA9ICpwY29tbWVudDsKLSAgICAgICAgaWYgKCFjb21tZW50KQotICAgICAg
ICAgICAgYnJlYWs7Ci0gICAgICAgIGlmIChjb21tZW50LT50eXBlICE9IFRPS19JTkxJTkVDT01N
RU5UKSB7Ci0gICAgICAgICAgICAvKiBLZWVwIGJsb2NrIGNvbW1lbnQgYXMgaXMuICovCi0gICAg
ICAgICAgICBwY29tbWVudCA9ICZjb21tZW50LT5uZXh0OwotICAgICAgICB9IGVsc2UgaWYgKCFj
b21tZW50LT5iYWNrICYmICghY29tbWVudC0+bmV4dAotICAgICAgICAgICAgICAgIHx8IGNvbW1l
bnQtPm5leHQtPnR5cGUgIT0gVE9LX0lOTElORUNPTU1FTlQKLSAgICAgICAgICAgICAgICB8fCBj
b21tZW50LT5uZXh0LT5maWxlbmFtZSAhPSBjb21tZW50LT5maWxlbmFtZQotICAgICAgICAgICAg
ICAgIHx8IGNvbW1lbnQtPm5leHQtPmxpbmVudW0gIT0gY29tbWVudC0+bGluZW51bSArIDEpKQot
ICAgICAgICB7Ci0gICAgICAgICAgICAvKiBEaXNjYXJkIHNpbmdsZSAvLyBjb21tZW50IHRoYXQg
ZG9lcyBub3QgcmVmZXIgYmFjay4gKi8KLSAgICAgICAgICAgICpwY29tbWVudCA9IGNvbW1lbnQt
Pm5leHQ7Ci0KLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIC8qIEZpbmQgc2VxdWVuY2Ug
b2YgYWRqYWNlbnQgLy8gY29tbWVudHMgKGFkamFjZW50IGxpbmVzLAotICAgICAgICAgICAgICog
cmVmZXJyaW5nIHRvIHNhbWUgbm9kZSkgYW5kIGpvaW4gdGhlbS4gV2UgZG8gdGhpcyBpbiB0d28K
LSAgICAgICAgICAgICAqIHBhc3Nlcywgb25lIHRvIGNvdW50IHRoZSBsZW5ndGggb2YgdGhlIGNv
bW1lbnQgYW5kIG9uZQotICAgICAgICAgICAgICogdG8gam9pbi4gTm90ZSB0aGF0IHRoZSBsaXN0
IGlzIHN0aWxsIGluIHJldmVyc2Ugb3JkZXIsCi0gICAgICAgICAgICAgKiBzbyB3ZSBleHBlY3Qg
dGhlIGxpbmUgbnVtYmVyIHRvIGRlY3JlYXNlIGJ5IDEgZWFjaCB0aW1lLiAqLwotICAgICAgICAg
ICAgc3RydWN0IGNvbW1lbnQgKm5ld2NvbW1lbnQgPSAwLCAqY29tbWVudDI7Ci0gICAgICAgICAg
ICBjb25zdCBjaGFyICpmaWxlbmFtZSA9IGNvbW1lbnQtPmZpbGVuYW1lOwotICAgICAgICAgICAg
dW5zaWduZWQgaW50IGxpbmVudW0gPSBjb21tZW50LT5saW5lbnVtOwotICAgICAgICAgICAgZm9y
ICg7OykgewotICAgICAgICAgICAgICAgIGNoYXIgKndwID0gbmV3Y29tbWVudC0+dGV4dDsKLSAg
ICAgICAgICAgICAgICBjb21tZW50MiA9IGNvbW1lbnQ7Ci0gICAgICAgICAgICAgICAgZG8gewot
ICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgbGVuID0gc3RybGVuKGNvbW1lbnQyLT50
ZXh0KTsKLSAgICAgICAgICAgICAgICAgICAgaWYgKG5ld2NvbW1lbnQpCi0gICAgICAgICAgICAg
ICAgICAgICAgICBtZW1jcHkod3AsIGNvbW1lbnQyLT50ZXh0LCBsZW4pOwotICAgICAgICAgICAg
ICAgICAgICB3cCArPSBsZW47Ci0gICAgICAgICAgICAgICAgICAgIGxpbmVudW0tLTsKLSAgICAg
ICAgICAgICAgICAgICAgY29tbWVudDIgPSBjb21tZW50Mi0+bmV4dDsKLSAgICAgICAgICAgICAg
ICB9IHdoaWxlIChjb21tZW50MiAmJiBjb21tZW50Mi0+ZmlsZW5hbWUgPT0gZmlsZW5hbWUKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAmJiBjb21tZW50Mi0+bGluZW51bSA9PSBsaW5lbnVt
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgJiYgY29tbWVudDItPm5vZGUgPT0gY29tbWVu
dC0+bm9kZSk7Ci0gICAgICAgICAgICAgICAgLyogRmluaXNoZWQgYSBwYXNzLiAqLwotICAgICAg
ICAgICAgICAgIGlmIChuZXdjb21tZW50KSB7Ci0gICAgICAgICAgICAgICAgICAgICp3cCA9IDA7
Ci0gICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAg
ICAgICAgICBuZXdjb21tZW50ID0gbWVtYWxsb2Moc2l6ZW9mKHN0cnVjdCBjb21tZW50KQotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICArIHdwIC0gbmV3Y29tbWVudC0+dGV4dCk7Ci0g
ICAgICAgICAgICAgICAgbmV3Y29tbWVudC0+bm9kZSA9IGNvbW1lbnQtPm5vZGU7Ci0gICAgICAg
ICAgICAgICAgbmV3Y29tbWVudC0+dHlwZSA9IGNvbW1lbnQtPnR5cGU7Ci0gICAgICAgICAgICAg
ICAgbmV3Y29tbWVudC0+ZmlsZW5hbWUgPSBmaWxlbmFtZTsKLSAgICAgICAgICAgICAgICBuZXdj
b21tZW50LT5saW5lbnVtID0gbGluZW51bSArIDE7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAg
ICAvKiBSZXBsYWNlIHRoZSBzY2FubmVkIGNvbW1lbnQgc3RydWN0IHdpdGggbmV3Y29tbWVudCBp
biB0aGUKLSAgICAgICAgICAgICAqIGxpc3QuICovCi0gICAgICAgICAgICBuZXdjb21tZW50LT5u
ZXh0ID0gY29tbWVudDI7Ci0gICAgICAgICAgICAqcGNvbW1lbnQgPSBuZXdjb21tZW50OwotICAg
ICAgICAgICAgcGNvbW1lbnQgPSAmbmV3Y29tbWVudC0+bmV4dDsKLSAgICAgICAgfQotICAgIH0K
LSAgICByZXR1cm4gY29tbWVudHM7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogb3V0cHV0Y2hp
bGRyZW4gOiBjYWxsIG91dHB1dCByZWN1cnNpdmVseSBvbiBjaGlsZHJlbiBvZiBjbm9kZQotICoK
LSAqIEVudGVyOiAgIGNub2RlCi0gKiAgICAgICAgICBpbmRlbnQgPSBpbmRlbnQgKG5lc3Rpbmcp
IGxldmVsIG9mIHBhcmVudAotICogICAgICAgICAgaW5kZXNjID0gd2hldGhlciBhbHJlYWR5IGlu
IDxkZXNjcmlwdGlvbj4gb3Igb3RoZXIgdG9wLWxldmVsCi0gKiAgICAgICAgICAgICAgICAgICBk
ZXNjcmlwdGl2ZSBlbGVtZW50Ci0gKi8KLXN0YXRpYyB2b2lkCi1vdXRwdXRjaGlsZHJlbihzdHJ1
Y3QgY25vZGUgKmNub2RlLCB1bnNpZ25lZCBpbnQgaW5kZW50LCBpbnQgaW5kZXNjKQotewotICAg
IGludCBjdXJpbmRlc2MgPSBpbmRlc2M7Ci0gICAgY25vZGUgPSBjbm9kZS0+Y2hpbGRyZW47Ci0g
ICAgd2hpbGUgKGNub2RlKSB7Ci0gICAgICAgIGlmIChjdXJpbmRlc2MgIT0gY25vZGUtPmZ1bmNz
LT5pbmRlc2MpIHsKLSAgICAgICAgICAgIGFzc2VydCghaW5kZXNjKTsKLSAgICAgICAgICAgIHBy
aW50ZigiJSpzPCVzZGVzY3JpcHRpb24+XG4iLCBpbmRlbnQgKyAxLCAiIiwgY3VyaW5kZXNjID8g
Ii8iIDogIiIpOwotICAgICAgICAgICAgY3VyaW5kZXNjID0gIWN1cmluZGVzYzsKLSAgICAgICAg
fQotICAgICAgICAoKmNub2RlLT5mdW5jcy0+b3V0cHV0KShjbm9kZSwgaW5kZW50ICsgMik7Ci0g
ICAgICAgIGNub2RlID0gY25vZGUtPm5leHQ7Ci0gICAgfQotICAgIGlmIChjdXJpbmRlc2MgIT0g
aW5kZXNjKQotICAgICAgICBwcmludGYoIiUqczwlc2Rlc2NyaXB0aW9uPlxuIiwgaW5kZW50ICsg
MSwgIiIsIGN1cmluZGVzYyA/ICIvIiA6ICIiKTsKLX0KLQotLyoqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBk
ZWZhdWx0X2Fza2VuZCA6IGFzayBub2RlIGlmIGl0IHdhbnRzIHRvIGVuZCBhdCBhIHBhcmEgc3Rh
cnQgKGRlZmF1bHQKLSAqICAgICAgICAgICAgICAgICAgaW1wbGVtZW50YXRpb24pCi0gKgotICog
RW50ZXI6ICAgY25vZGUKLSAqICAgICAgICAgIHR5cGUgPSAwIGVsc2UgY25vZGVmdW5jcyBmb3Ig
bmV3bHkgc3RhcnRpbmcgcGFyYQotICoKLSAqIFJldHVybjogIG5vbi16ZXJvIGlmIHRoaXMgbm9k
ZSB3YW50cyB0byBlbmQKLSAqLwotc3RhdGljIGludAotZGVmYXVsdF9hc2tlbmQoc3RydWN0IGNu
b2RlICpjbm9kZSwgY29uc3Qgc3RydWN0IGNub2RlZnVuY3MgKnR5cGUpCi17Ci0gICAgcmV0dXJu
IDE7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKgotICogcm9vdF9hc2tlbmQgOiBhc2sgcm9vdCBub2Rl
IGlmIGl0IHdhbnRzIHRvIGVuZCBhdCBhIHBhcmEgc3RhcnQKLSAqCi0gKiBFbnRlcjogICBjbm9k
ZSBmb3Igcm9vdAotICogICAgICAgICAgdHlwZSA9IDAgZWxzZSBjbm9kZWZ1bmNzIGZvciBuZXds
eSBzdGFydGluZyBwYXJhCi0gKgotICogUmV0dXJuOiAgbm9uLXplcm8gaWYgdGhpcyBub2RlIHdh
bnRzIHRvIGVuZAotICovCi1zdGF0aWMgaW50Ci1yb290X2Fza2VuZChzdHJ1Y3QgY25vZGUgKmNu
b2RlLCBjb25zdCBzdHJ1Y3QgY25vZGVmdW5jcyAqdHlwZSkKLXsKLSAgICByZXR1cm4gMDsKLX0K
LQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqCi0gKiByb290X291dHB1dCA6IG91dHB1dCByb290IGNub2RlCi0g
KgotICogRW50ZXI6ICAgY25vZGUgZm9yIHJvb3QKLSAqICAgICAgICAgIGluZGVudCA9IGluZGVu
dCAobmVzdGluZykgbGV2ZWwKLSAqLwotc3RhdGljIHZvaWQKLXJvb3Rfb3V0cHV0KHN0cnVjdCBj
bm9kZSAqY25vZGUsIHVuc2lnbmVkIGludCBpbmRlbnQpCi17Ci0gICAgb3V0cHV0Y2hpbGRyZW4o
Y25vZGUsIGluZGVudCwgMCk7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogY25vZGUgdHlwZSBy
b290Ci0gKi8KLXN0YXRpYyBjb25zdCBzdHJ1Y3QgY25vZGVmdW5jcyByb290X2Z1bmNzID0gewot
ICAgIDAsIC8qICFpbmRlc2MgKi8KLSAgICAxLCAvKiBuZWVkcGFyYSAqLwotICAgICZyb290X2Fz
a2VuZCwKLSAgICAwLCAvKiBlbmQgKi8KLSAgICAmcm9vdF9vdXRwdXQsCi19OwotCi0vKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioKLSAqIGVuZGNub2RlIDogZW5kIGN1cnJlbnQgY25vZGUKLSAqCi0gKiBFbnRlcjog
ICBjbm9kZSA9IGN1cnJlbnQgY25vZGUKLSAqCi0gKiBSZXR1cm46ICBjbm9kZSA9IG5ldyBjdXJy
ZW50IGNvZGUgKHBhcmVudCBvZiBvbGQgb25lKQotICovCi1zdGF0aWMgc3RydWN0IGNub2RlICoK
LWVuZGNub2RlKHN0cnVjdCBjbm9kZSAqY25vZGUpCi17Ci0gICAgaWYgKGNub2RlLT5mdW5jcy0+
ZW5kKQotICAgICAgICAoKmNub2RlLT5mdW5jcy0+ZW5kKShjbm9kZSk7Ci0gICAgLyogUmV2ZXJz
ZSB0aGUgY2hpbGRyZW4gbGlzdC4gKi8KLSAgICB7Ci0gICAgICAgIHN0cnVjdCBjbm9kZSAqY2hp
bGQgPSBjbm9kZS0+Y2hpbGRyZW47Ci0gICAgICAgIGNub2RlLT5jaGlsZHJlbiA9IDA7Ci0gICAg
ICAgIHdoaWxlIChjaGlsZCkgewotICAgICAgICAgICAgc3RydWN0IGNub2RlICpuZXh0ID0gY2hp
bGQtPm5leHQ7Ci0gICAgICAgICAgICBjaGlsZC0+bmV4dCA9IGNub2RlLT5jaGlsZHJlbjsKLSAg
ICAgICAgICAgIGNub2RlLT5jaGlsZHJlbiA9IGNoaWxkOwotICAgICAgICAgICAgY2hpbGQgPSBu
ZXh0OwotICAgICAgICB9Ci0gICAgfQotICAgIHJldHVybiBjbm9kZS0+cGFyZW50OwotfQotCi0v
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioKLSAqIGVuZHNwZWNpZmljY25vZGUgOiBlbmQgYSBzcGVjaWZpYyB0eXBl
IG9mIGNub2RlCi0gKgotICogRW50ZXI6ICAgY25vZGUgPSBjdXJyZW50IGNub2RlCi0gKiAgICAg
ICAgICB0eXBlID0gdHlwZSBvZiBub2RlIHRvIGVuZAotICogICAgICAgICAgZmlsZW5hbWUsIGxp
bmVudW0gPSBmaWxlbmFtZSBhbmQgbGluZSBudW1iZXIgKGZvciBlcnJvciByZXBvcnRpbmcpCi0g
KgotICogUmV0dXJuOiAgbmV3IGN1cnJlbnQgY25vZGUKLSAqLwotc3RhdGljIHN0cnVjdCBjbm9k
ZSAqCi1lbmRzcGVjaWZpY2Nub2RlKHN0cnVjdCBjbm9kZSAqY25vZGUsIGNvbnN0IHN0cnVjdCBj
bm9kZWZ1bmNzICp0eXBlLAotICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpmaWxlbmFtZSwg
dW5zaWduZWQgaW50IGxpbmVudW0pCi17Ci0gICAgd2hpbGUgKGNub2RlLT5mdW5jcyAhPSB0eXBl
KSB7Ci0gICAgICAgIGlmIChjbm9kZS0+ZnVuY3MgPT0gJnJvb3RfZnVuY3MpCi0gICAgICAgICAg
ICBsb2NlcnJvcmV4aXQoZmlsZW5hbWUsIGxpbmVudW0sICJ1bm1hdGNoZWQgXFxlbmRjb2RlIik7
Ci0gICAgICAgIGNub2RlID0gZW5kY25vZGUoY25vZGUpOwotICAgIH0KLSAgICByZXR1cm4gY25v
ZGU7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKgotICogc3RhcnRjbm9kZSA6IHN0YXJ0IGEgbmV3bHkg
Y3JlYXRlZCBjbm9kZQotICoKLSAqIEVudGVyOiAgIGNub2RlID0gY3VycmVudCBjbm9kZQotICog
ICAgICAgICAgbmV3Y25vZGUgPSBuZXcgY25vZGUgdG8gc3RhcnQKLSAqCi0gKiBSZXR1cm46ICBu
ZXcgY3VycmVudCBjbm9kZSAod2hpY2ggaXMgdGhlIHNhbWUgYXMgbmV3Y25vZGUpCi0gKi8KLXN0
YXRpYyBzdHJ1Y3QgY25vZGUgKgotc3RhcnRjbm9kZShzdHJ1Y3QgY25vZGUgKmNub2RlLCBzdHJ1
Y3QgY25vZGUgKm5ld2Nub2RlKQotewotICAgIG5ld2Nub2RlLT5wYXJlbnQgPSBjbm9kZTsKLSAg
ICBuZXdjbm9kZS0+bmV4dCA9IGNub2RlLT5jaGlsZHJlbjsKLSAgICBjbm9kZS0+Y2hpbGRyZW4g
PSBuZXdjbm9kZTsKLSAgICByZXR1cm4gbmV3Y25vZGU7Ci19Ci0KLS8qKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgot
ICogcGFyYV9vdXRwdXQgOiBvdXRwdXQgcGFyYSBjbm9kZQotICoKLSAqIEVudGVyOiAgIGNub2Rl
IGZvciByb290Ci0gKiAgICAgICAgICBpbmRlbnQgPSBpbmRlbnQgKG5lc3RpbmcpIGxldmVsCi0g
Ki8KLXN0YXRpYyB2b2lkCi1wYXJhX291dHB1dChzdHJ1Y3QgY25vZGUgKmNub2RlLCB1bnNpZ25l
ZCBpbnQgaW5kZW50KQotewotICAgIHByaW50ZigiJSpzPHA+XG4iLCBpbmRlbnQsICIiKTsKLSAg
ICBvdXRwdXRjaGlsZHJlbihjbm9kZSwgaW5kZW50LCAxKTsKLSAgICBwcmludGYoIiUqczwvcD5c
biIsIGluZGVudCwgIiIpOwotfQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIHBhcmFfZW5kIDogZW5k
IGEgcGFyYSBjbm9kZQotICoKLSAqIEVudGVyOiAgIGNub2RlIHN0cnVjdAotICovCi1zdGF0aWMg
dm9pZAotcGFyYV9lbmQoc3RydWN0IGNub2RlICpjbm9kZSkKLXsKLSAgICAvKiBJZiB0aGUgcGFy
YSBjbm9kZSBpcyBlbXB0eSwgcmVtb3ZlIGl0LiAqLwotICAgIGlmICghY25vZGUtPmNoaWxkcmVu
KQotICAgICAgICBjbm9kZS0+cGFyZW50LT5jaGlsZHJlbiA9IGNub2RlLT5uZXh0OwotfQotCi0v
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioKLSAqIGNub2RlIHR5cGUgcGFyYQotICovCi1zdGF0aWMgY29uc3Qgc3Ry
dWN0IGNub2RlZnVuY3MgcGFyYV9mdW5jcyA9IHsKLSAgICAxLCAvKiBpbmRlc2MgKi8KLSAgICAw
LCAvKiAhbmVlZHBhcmEgKi8KLSAgICAmZGVmYXVsdF9hc2tlbmQsCi0gICAgJnBhcmFfZW5kLCAv
KiBlbmQgKi8KLSAgICAmcGFyYV9vdXRwdXQsCi19OwotCi0vKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIGJy
aWVmX291dHB1dCA6IG91dHB1dCBicmllZiBjbm9kZQotICoKLSAqIEVudGVyOiAgIGNub2RlIGZv
ciByb290Ci0gKiAgICAgICAgICBpbmRlbnQgPSBpbmRlbnQgKG5lc3RpbmcpIGxldmVsCi0gKi8K
LXN0YXRpYyB2b2lkCi1icmllZl9vdXRwdXQoc3RydWN0IGNub2RlICpjbm9kZSwgdW5zaWduZWQg
aW50IGluZGVudCkKLXsKLSAgICBwcmludGYoIiUqczxicmllZj5cbiIsIGluZGVudCwgIiIpOwot
ICAgIG91dHB1dGNoaWxkcmVuKGNub2RlLCBpbmRlbnQsIDEpOwotICAgIHByaW50ZigiJSpzPC9i
cmllZj5cbiIsIGluZGVudCwgIiIpOwotfQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIGNub2RlIHR5
cGUgYnJpZWYKLSAqLwotc3RhdGljIGNvbnN0IHN0cnVjdCBjbm9kZWZ1bmNzIGJyaWVmX2Z1bmNz
ID0gewotICAgIDAsIC8qICFpbmRlc2MgKi8KLSAgICAwLCAvKiAhbmVlZHBhcmEgKi8KLSAgICAm
ZGVmYXVsdF9hc2tlbmQsCi0gICAgMCwgLyogZW5kICovCi0gICAgJmJyaWVmX291dHB1dCwKLX07
Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKgotICogcmV0dXJuX291dHB1dCA6IG91dHB1dCByZXR1cm4gY25v
ZGUKLSAqCi0gKiBFbnRlcjogICBjbm9kZSBmb3Igcm9vdAotICogICAgICAgICAgaW5kZW50ID0g
aW5kZW50IChuZXN0aW5nKSBsZXZlbAotICovCi1zdGF0aWMgdm9pZAotcmV0dXJuX291dHB1dChz
dHJ1Y3QgY25vZGUgKmNub2RlLCB1bnNpZ25lZCBpbnQgaW5kZW50KQotewotICAgIHByaW50Zigi
JSpzPGRlc2NyaXB0aW9uPjxwPlxuIiwgaW5kZW50LCAiIik7Ci0gICAgb3V0cHV0Y2hpbGRyZW4o
Y25vZGUsIGluZGVudCwgMSk7Ci0gICAgcHJpbnRmKCIlKnM8L3A+PC9kZXNjcmlwdGlvbj5cbiIs
IGluZGVudCwgIiIpOwotfQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIGNub2RlIHR5cGUgcmV0dXJu
Ci0gKi8KLXN0YXRpYyBjb25zdCBzdHJ1Y3QgY25vZGVmdW5jcyByZXR1cm5fZnVuY3MgPSB7Ci0g
ICAgMCwgLyogIWluZGVzYyAqLwotICAgIDAsIC8qICFuZWVkcGFyYSAqLwotICAgICZkZWZhdWx0
X2Fza2VuZCwKLSAgICAwLCAvKiBlbmQgKi8KLSAgICAmcmV0dXJuX291dHB1dCwKLX07Ci0KLS8q
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKgotICogYXV0aG9yX291dHB1dCA6IG91dHB1dCBuYW1lIGNub2RlCi0gKgot
ICogRW50ZXI6ICAgY25vZGUgZm9yIHJvb3QKLSAqICAgICAgICAgIGluZGVudCA9IGluZGVudCAo
bmVzdGluZykgbGV2ZWwKLSAqLwotc3RhdGljIHZvaWQKLW5hbWVfb3V0cHV0KHN0cnVjdCBjbm9k
ZSAqY25vZGUsIHVuc2lnbmVkIGludCBpbmRlbnQpCi17Ci0gICAgcHJpbnRmKCIlKnM8bmFtZT5c
biIsIGluZGVudCwgIiIpOwotICAgIG91dHB1dGNoaWxkcmVuKGNub2RlLCBpbmRlbnQsIDEpOwot
ICAgIHByaW50ZigiJSpzPC9uYW1lPlxuIiwgaW5kZW50LCAiIik7Ci19Ci0KLS8qKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKgotICogY25vZGUgdHlwZSBuYW1lCi0gKi8KLXN0YXRpYyBjb25zdCBzdHJ1Y3QgY25vZGVm
dW5jcyBuYW1lX2Z1bmNzID0gewotICAgIDAsIC8qICFpbmRlc2MgKi8KLSAgICAwLCAvKiAhbmVl
ZHBhcmEgKi8KLSAgICAmZGVmYXVsdF9hc2tlbmQsCi0gICAgMCwgLyogZW5kICovCi0gICAgJm5h
bWVfb3V0cHV0LAotfTsKLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBhdXRob3Jfb3V0cHV0IDogb3V0
cHV0IGF1dGhvciBjbm9kZQotICoKLSAqIEVudGVyOiAgIGNub2RlIGZvciByb290Ci0gKiAgICAg
ICAgICBpbmRlbnQgPSBpbmRlbnQgKG5lc3RpbmcpIGxldmVsCi0gKi8KLXN0YXRpYyB2b2lkCi1h
dXRob3Jfb3V0cHV0KHN0cnVjdCBjbm9kZSAqY25vZGUsIHVuc2lnbmVkIGludCBpbmRlbnQpCi17
Ci0gICAgcHJpbnRmKCIlKnM8YXV0aG9yPlxuIiwgaW5kZW50LCAiIik7Ci0gICAgb3V0cHV0Y2hp
bGRyZW4oY25vZGUsIGluZGVudCwgMSk7Ci0gICAgcHJpbnRmKCIlKnM8L2F1dGhvcj5cbiIsIGlu
ZGVudCwgIiIpOwotfQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIGNub2RlIHR5cGUgYXV0aG9yCi0g
Ki8KLXN0YXRpYyBjb25zdCBzdHJ1Y3QgY25vZGVmdW5jcyBhdXRob3JfZnVuY3MgPSB7Ci0gICAg
MCwgLyogIWluZGVzYyAqLwotICAgIDAsIC8qICFuZWVkcGFyYSAqLwotICAgICZkZWZhdWx0X2Fz
a2VuZCwKLSAgICAwLCAvKiBlbmQgKi8KLSAgICAmYXV0aG9yX291dHB1dCwKLX07Ci0KLS8qKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKgotICogdmVyc2lvbl9vdXRwdXQgOiBvdXRwdXQgdmVyc2lvbiBjbm9kZQotICoK
LSAqIEVudGVyOiAgIGNub2RlIGZvciByb290Ci0gKiAgICAgICAgICBpbmRlbnQgPSBpbmRlbnQg
KG5lc3RpbmcpIGxldmVsCi0gKi8KLXN0YXRpYyB2b2lkCi12ZXJzaW9uX291dHB1dChzdHJ1Y3Qg
Y25vZGUgKmNub2RlLCB1bnNpZ25lZCBpbnQgaW5kZW50KQotewotICAgIHByaW50ZigiJSpzPHZl
cnNpb24+XG4iLCBpbmRlbnQsICIiKTsKLSAgICBvdXRwdXRjaGlsZHJlbihjbm9kZSwgaW5kZW50
LCAxKTsKLSAgICBwcmludGYoIiUqczwvdmVyc2lvbj5cbiIsIGluZGVudCwgIiIpOwotfQotCi0v
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioKLSAqIGNub2RlIHR5cGUgdmVyc2lvbgotICovCi1zdGF0aWMgY29uc3Qg
c3RydWN0IGNub2RlZnVuY3MgdmVyc2lvbl9mdW5jcyA9IHsKLSAgICAwLCAvKiAhaW5kZXNjICov
Ci0gICAgMCwgLyogIW5lZWRwYXJhICovCi0gICAgJmRlZmF1bHRfYXNrZW5kLAotICAgIDAsIC8q
IGVuZCAqLwotICAgICZ2ZXJzaW9uX291dHB1dCwKLX07Ci0KLS8qKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICog
Y25vZGUgdHlwZSBjb2RlCi0gKi8KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogY29kZV9lbmQgOiBlbmQg
YSBjb2RlIGNub2RlCi0gKgotICogRW50ZXI6ICAgY25vZGUgc3RydWN0Ci0gKi8KLXN0YXRpYyB2
b2lkCi1jb2RlX2VuZChzdHJ1Y3QgY25vZGUgKmNub2RlKQotewotICAgIGlmIChpbmNvZGUpIHsK
LSAgICAgICAgLyogVGhlIGluY29kZSBmbGFnIGhhcyBub3QgYmVlbiBjbGVhcmVkLCBzbyB0aGlz
IGNvZGUgY25vZGUgaXMKLSAgICAgICAgICogYmVpbmcgZW5kZWQgaW1wbGljaXRseS4gV2UgY29t
cGxhaW4gYWJvdXQgdGhhdC4gKi8KLSAgICAgICAgbG9jZXJyb3JleGl0KGNub2RlLT5maWxlbmFt
ZSwgY25vZGUtPmxpbmVudW0sICJtaXNtYXRjaGVkIFxcY29kZSIpOwotICAgIH0KLX0KLQotLyoq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqCi0gKiBjb2RlX291dHB1dCA6IG91dHB1dCBjb2RlIGNub2RlCi0gKgotICog
RW50ZXI6ICAgY25vZGUgZm9yIHJvb3QKLSAqICAgICAgICAgIGluZGVudCA9IGluZGVudCAobmVz
dGluZykgbGV2ZWwKLSAqLwotc3RhdGljIHZvaWQKLWNvZGVfb3V0cHV0KHN0cnVjdCBjbm9kZSAq
Y25vZGUsIHVuc2lnbmVkIGludCBpbmRlbnQpCi17Ci0gICAgLyogTm90ZSBjYXBpdGFsaXphdGlv
biB0byBkaWZmZXJlbnRpYXRlIGl0IGZyb20gSFRNTCBjb2RlIGVsZW1lbnQuICovCi0gICAgaWYo
Y25vZGUtPmF0dHJ0ZXh0KQotCSAgICBwcmludGYoIiUqczxDb2RlICVzPiIsIGluZGVudCwgIiIs
IGNub2RlLT5hdHRydGV4dCk7Ci0JZWxzZQotCSAgICBwcmludGYoIiUqczxDb2RlPiIsIGluZGVu
dCwgIiIpOwotICAgIG91dHB1dGNoaWxkcmVuKGNub2RlLCBpbmRlbnQsIDEpOwotICAgIHByaW50
ZigiPC9Db2RlPlxuIik7Ci19Ci0KLXN0YXRpYyBjb25zdCBzdHJ1Y3QgY25vZGVmdW5jcyBjb2Rl
X2Z1bmNzID0gewotICAgIDAsIC8qIGluZGVzYyAqLwotICAgIDAsIC8qICFuZWVkcGFyYSAqLwot
ICAgICZkZWZhdWx0X2Fza2VuZCwKLSAgICAmY29kZV9lbmQsIC8qIGVuZCAqLwotICAgICZjb2Rl
X291dHB1dCwKLX07Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogc3RhcnRwYXJhIDogc3RhcnQgYSBu
ZXcgcGFyYSBjbm9kZSBpbiB0aGUgcGFyc2UgdHJlZQotICoKLSAqIEVudGVyOiAgIGNub2RlID0g
Y3VycmVudCBjbm9kZQotICogICAgICAgICAgdHlwZSA9IHZ0YWJsZSBmb3IgcGFydGljdWxhciB0
eXBlIG9mIGNub2RlCi0gKgotICogUmV0dXJuOiAgbmV3IGN1cnJlbnQgY25vZGUKLSAqLwotc3Rh
dGljIHN0cnVjdCBjbm9kZSAqCi1zdGFydHBhcmEoc3RydWN0IGNub2RlICpjbm9kZSwgY29uc3Qg
c3RydWN0IGNub2RlZnVuY3MgKnR5cGUpCi17Ci0gICAgc3RydWN0IGNub2RlICpuZXdjbm9kZTsK
LSAgICB3aGlsZSAoKCpjbm9kZS0+ZnVuY3MtPmFza2VuZCkoY25vZGUsIHR5cGUpKQotICAgICAg
ICBjbm9kZSA9IGVuZGNub2RlKGNub2RlKTsKLSAgICBuZXdjbm9kZSA9IG1lbWFsbG9jKHNpemVv
ZihzdHJ1Y3QgY25vZGUpKTsKLSAgICBuZXdjbm9kZS0+ZnVuY3MgPSB0eXBlOwotICAgIHJldHVy
biBzdGFydGNub2RlKGNub2RlLCBuZXdjbm9kZSk7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICog
Y25vZGUgdHlwZSB0ZXh0Ci0gKi8KLXN0cnVjdCB0ZXh0Y25vZGUgewotICAgIHN0cnVjdCBjbm9k
ZSBjbjsKLSAgICB1bnNpZ25lZCBjaGFyICpkYXRhOwotICAgIHVuc2lnbmVkIGludCBsZW47Ci0g
ICAgdW5zaWduZWQgaW50IG1heDsKLX07Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogdGV4dF9lbmQg
OiBlbmQgYSB0ZXh0IGNub2RlCi0gKgotICogRW50ZXI6ICAgY25vZGUgc3RydWN0Ci0gKi8KLXN0
YXRpYyB2b2lkCi10ZXh0X2VuZChzdHJ1Y3QgY25vZGUgKmNub2RlKQotewotICAgIHN0cnVjdCB0
ZXh0Y25vZGUgKnRleHRjbm9kZSA9ICh2b2lkICopY25vZGU7Ci0gICAgdGV4dGNub2RlLT5kYXRh
W3RleHRjbm9kZS0+bGVuXSA9IDA7Ci0gICAgdGV4dGNub2RlLT5tYXggPSB0ZXh0Y25vZGUtPmxl
biArIDE7Ci0gICAgdGV4dGNub2RlLT5kYXRhID0gbWVtcmVhbGxvYyh0ZXh0Y25vZGUtPmRhdGEs
IHRleHRjbm9kZS0+bWF4KTsKLX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiB0ZXh0X291dHB1dCA6
IG91dHB1dCB0ZXh0IGNub2RlCi0gKgotICogRW50ZXI6ICAgY25vZGUgZm9yIHJvb3QKLSAqICAg
ICAgICAgIGluZGVudCA9IGluZGVudCAobmVzdGluZykgbGV2ZWwKLSAqLwotc3RhdGljIHZvaWQK
LXRleHRfb3V0cHV0KHN0cnVjdCBjbm9kZSAqY25vZGUsIHVuc2lnbmVkIGludCBpbmRlbnQpCi17
Ci0gICAgLyogV2UgZG8gbm90IGluZGVudCwgaW4gY2FzZSB0aGlzIGlzIGluc2lkZSBhIGNvZGUg
Y25vZGUuICovCi0gICAgc3RydWN0IHRleHRjbm9kZSAqdGV4dGNub2RlID0gKHZvaWQgKiljbm9k
ZTsKLSAgICB1bnNpZ25lZCBpbnQgbGVuID0gdGV4dGNub2RlLT5sZW47Ci0gICAgdW5zaWduZWQg
Y29uc3QgY2hhciAqcCA9IHRleHRjbm9kZS0+ZGF0YTsKLSAgICB3aGlsZSAobGVuKSB7Ci0gICAg
ICAgIHVuc2lnbmVkIGludCB0aGlzbGVuOwotICAgICAgICBjb25zdCBjaGFyICp0aGlzcHRyOwot
ICAgICAgICB0aGlzbGVuID0gcFswXTsKLSAgICAgICAgLyogKHZvaWQgKikgY2FzdCBpcyB0byBh
dm9pZCBhIHdhcm5pbmcgZnJvbSB0aGUgTVMgY29tcGlsZXIuCi0gICAgICAgICAqIEkgdGhpbmsg
dGhlIHdhcm5pbmcgaXMgd3JvbmcsIGJ1dCBJIGNvdWxkIGJlIHdyb25nLiAqLwotICAgICAgICBt
ZW1jcHkoKHZvaWQgKikmdGhpc3B0ciwgcCArIDEsIHNpemVvZih2b2lkICopKTsKLSAgICAgICAg
cCArPSAxICsgc2l6ZW9mKHZvaWQgKik7Ci0gICAgICAgIGxlbiAtPSAxICsgc2l6ZW9mKHZvaWQg
Kik7Ci0gICAgICAgIHByaW50dGV4dCh0aGlzcHRyLCB0aGlzbGVuLCAwKTsKLSAgICB9Ci19Ci0K
LXN0YXRpYyBjb25zdCBzdHJ1Y3QgY25vZGVmdW5jcyB0ZXh0X2Z1bmNzID0gewotICAgIDEsIC8q
ICFpbmRlc2MgKi8KLSAgICAwLCAvKiAhbmVlZHBhcmEgKi8KLSAgICAmZGVmYXVsdF9hc2tlbmQs
Ci0gICAgJnRleHRfZW5kLCAvKiBlbmQgKi8KLSAgICAmdGV4dF9vdXRwdXQsCi19OwotCi0vKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioKLSAqIGNub2RlIHR5cGUgaHRtbCAoSFRNTCBlbGVtZW50KQotICovCi1zdHJ1
Y3QgaHRtbGNub2RlIHsKLSAgICBzdHJ1Y3QgY25vZGUgY247Ci0gICAgY29uc3Qgc3RydWN0IGh0
bWxlbGRlc2MgKmRlc2M7Ci0gICAgY2hhciBhdHRyc1sxXTsKLX07Ci0KLS8qKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KgotICogaHRtbF9lbmQgOiBlbmQgYW4gaHRtbCBjbm9kZQotICoKLSAqIEVudGVyOiAgIGNub2Rl
IHN0cnVjdAotICovCi1zdGF0aWMgdm9pZAotaHRtbF9lbmQoc3RydWN0IGNub2RlICpjbm9kZSkK
LXsKLSAgICBpZiAoKChzdHJ1Y3QgaHRtbGNub2RlICopY25vZGUpLT5kZXNjLT5mbGFncyAmIEhU
TUxFTF9CTE9DSykKLSAgICAgICAgaW5odG1sYmxvY2stLTsKLX0KLQotLyoqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
Ci0gKiBodG1sX291dHB1dCA6IG91dHB1dCBodG1sIGNub2RlCi0gKgotICogRW50ZXI6ICAgY25v
ZGUgZm9yIHJvb3QKLSAqICAgICAgICAgIGluZGVudCA9IGluZGVudCAobmVzdGluZykgbGV2ZWwK
LSAqLwotc3RhdGljIHZvaWQKLWh0bWxfb3V0cHV0KHN0cnVjdCBjbm9kZSAqY25vZGUsIHVuc2ln
bmVkIGludCBpbmRlbnQpCi17Ci0gICAgc3RydWN0IGh0bWxjbm9kZSAqaHRtbGNub2RlID0gKHZv
aWQgKiljbm9kZTsKLSAgICBpZiAoIShodG1sY25vZGUtPmRlc2MtPmZsYWdzICYgSFRNTEVMX0lO
TElORSkpCi0gICAgICAgIHByaW50ZigiJSpzIiwgaW5kZW50LCAiIik7Ci0gICAgaWYgKGh0bWxj
bm9kZS0+Y24uY2hpbGRyZW4pIHsKLSAgICAgICAgcHJpbnRmKCI8JXMlcz4iLCBodG1sY25vZGUt
PmRlc2MtPm5hbWUsIGh0bWxjbm9kZS0+YXR0cnMpOwotICAgICAgICBpZiAoIShodG1sY25vZGUt
PmRlc2MtPmZsYWdzICYgSFRNTEVMX0lOTElORSkpCi0gICAgICAgICAgICBwdXRjaGFyKCdcbicp
OwotICAgICAgICBvdXRwdXRjaGlsZHJlbigmaHRtbGNub2RlLT5jbiwgaW5kZW50LCAxKTsKLSAg
ICAgICAgaWYgKCEoaHRtbGNub2RlLT5kZXNjLT5mbGFncyAmIEhUTUxFTF9JTkxJTkUpKQotICAg
ICAgICAgICAgcHJpbnRmKCIlKnMiLCBpbmRlbnQsICIiKTsKLSAgICAgICAgcHJpbnRmKCI8LyVz
PiIsIGh0bWxjbm9kZS0+ZGVzYy0+bmFtZSk7Ci0gICAgfSBlbHNlCi0gICAgICAgIHByaW50Zigi
PCVzJXMvPiIsIGh0bWxjbm9kZS0+ZGVzYy0+bmFtZSwgaHRtbGNub2RlLT5hdHRycyk7Ci0gICAg
aWYgKCEoaHRtbGNub2RlLT5kZXNjLT5mbGFncyAmIEhUTUxFTF9JTkxJTkUpKQotICAgICAgICBw
dXRjaGFyKCdcbicpOwotfQotCi1zdGF0aWMgY29uc3Qgc3RydWN0IGNub2RlZnVuY3MgaHRtbF9m
dW5jcyA9IHsKLSAgICAxLCAvKiBpbmRlc2MgKi8KLSAgICAwLCAvKiAhbmVlZHBhcmEgKi8KLSAg
ICAmZGVmYXVsdF9hc2tlbmQsCi0gICAgJmh0bWxfZW5kLCAvKiBlbmQgKi8KLSAgICAmaHRtbF9v
dXRwdXQsCi19OwotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIHN0YXJ0aHRtbGNub2RlIDogc3RhcnQg
YSBuZXcgaHRtbCBjbm9kZQotICoKLSAqIEVudGVyOiAgIGNub2RlID0gY3VycmVudCBjbm9kZQot
ICogICAgICAgICAgaHRtbGVsZGVzYyA9IGh0bWwgZWxlbWVudCBkZXNjcmlwdG9yCi0gKiAgICAg
ICAgICBhdHRycyA9IGF0dHJpYnV0ZXMgdGV4dAotICogICAgICAgICAgYXR0cnNsZW4gPSBsZW5n
dGggb2YgYXR0cmlidXRlcyB0ZXh0Ci0gKiAgICAgICAgICBmaWxlbmFtZQotICogICAgICAgICAg
bGluZW51bSA9IGxpbmUgbnVtYmVyCi0gKgotICogUmV0dXJuOiAgbmV3IGN1cnJlbnQgY25vZGUK
LSAqLwotc3RhdGljIHN0cnVjdCBjbm9kZSAqCi1zdGFydGh0bWxjbm9kZShzdHJ1Y3QgY25vZGUg
KmNub2RlLCBjb25zdCBzdHJ1Y3QgaHRtbGVsZGVzYyAqaHRtbGVsZGVzYywKLSAgICAgICAgICAg
ICAgIGNvbnN0IGNoYXIgKmF0dHJzLCB1bnNpZ25lZCBpbnQgYXR0cnNsZW4sCi0gICAgICAgICAg
ICAgICBjb25zdCBjaGFyICpmaWxlbmFtZSwgdW5zaWduZWQgaW50IGxpbmVudW0pCi17Ci0gICAg
c3RydWN0IGh0bWxjbm9kZSAqaHRtbGNub2RlOwotICAgIC8qIEZpcnN0IGNsb3NlIGVub3VnaCBl
bGVtZW50cyB0byBnZXQgdG8gYSBjb250ZW50Ci0gICAgICogbW9kZWwgdGhhdCB3aWxsIGFjY2Vw
dCB0aGlzIG5ldyBlbGVtZW50LiAqLwotICAgIGZvciAoOzspIHsKLSAgICAgICAgaWYgKGNub2Rl
LT5mdW5jcyAhPSAmaHRtbF9mdW5jcykgewotICAgICAgICAgICAgLyogTm90IGluIGFueSBodG1s
IGVsZW1lbnQuIFdlIGNhbiBhY2NlcHQgYW55IGJsb2NrIGVsZW1lbnQKLSAgICAgICAgICAgICAq
IChpbiB3aGljaCBjYXNlIHdlIG5lZWQgdG8gY2xvc2UgdGhlIGN1cnJlbnQgcGFyYWdyYXBoCi0g
ICAgICAgICAgICAgKiBmaXJzdCkgb3IgYW55IGlubGluZSBlbGVtZW50IChpbiB3aGljaCBjYXNl
IHdlIG5lZWQgdG8KLSAgICAgICAgICAgICAqIGNsb3NlIHRoZSBjdXJyZW50IHRleHQgY25vZGUg
Zmlyc3QpLiAqLwotICAgICAgICAgICAgaWYgKCEoaHRtbGVsZGVzYy0+ZmxhZ3MgJiBIVE1MRUxf
SU5MSU5FKSkgewotICAgICAgICAgICAgICAgIGlmICghKGh0bWxlbGRlc2MtPmZsYWdzICYgSFRN
TEVMX0JMT0NLKSkKLSAgICAgICAgICAgICAgICAgICAgbG9jZXJyb3JleGl0KGZpbGVuYW1lLCBs
aW5lbnVtLCAiPCVzPiBub3QgdmFsaWQgaGVyZSIsIGh0bWxlbGRlc2MtPm5hbWUpOwotICAgICAg
ICAgICAgICAgIHdoaWxlICgoKmNub2RlLT5mdW5jcy0+YXNrZW5kKShjbm9kZSwgMCkpCi0gICAg
ICAgICAgICAgICAgICAgIGNub2RlID0gZW5kY25vZGUoY25vZGUpOwotICAgICAgICAgICAgfSBl
bHNlIHsKLSAgICAgICAgICAgICAgICB3aGlsZSAoY25vZGUtPmZ1bmNzID09ICZ0ZXh0X2Z1bmNz
KQotICAgICAgICAgICAgICAgICAgICBjbm9kZSA9IGVuZGNub2RlKGNub2RlKTsKLSAgICAgICAg
ICAgIH0KLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0gICAgICAgIGh0bWxjbm9kZSA9
IChzdHJ1Y3QgaHRtbGNub2RlICopY25vZGU7Ci0gICAgICAgIGlmICghKGh0bWxlbGRlc2MtPmZs
YWdzICYgaHRtbGNub2RlLT5kZXNjLT5jb250ZW50KSkKLSAgICAgICAgICAgIGxvY2Vycm9yZXhp
dChmaWxlbmFtZSwgbGluZW51bSwgIjwlcz4gbm90IHZhbGlkIGhlcmUiLCBodG1sZWxkZXNjLT5u
YW1lKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgfQotICAgIGlmIChodG1sZWxkZXNjLT5mbGFncyAm
IEhUTUxFTF9CTE9DSykKLSAgICAgICAgaW5odG1sYmxvY2srKzsKLSAgICAvKiBDcmVhdGUgdGhl
IG5ldyBodG1sIGNub2RlLiAqLwotICAgIGh0bWxjbm9kZSA9IG1lbWFsbG9jKHNpemVvZihzdHJ1
Y3QgaHRtbGNub2RlKSArIGF0dHJzbGVuKTsKLSAgICBodG1sY25vZGUtPmRlc2MgPSBodG1sZWxk
ZXNjOwotICAgIGh0bWxjbm9kZS0+Y24uZnVuY3MgPSAmaHRtbF9mdW5jczsKLSAgICBodG1sY25v
ZGUtPmNuLmZpbGVuYW1lID0gZmlsZW5hbWU7Ci0gICAgaHRtbGNub2RlLT5jbi5saW5lbnVtID0g
bGluZW51bTsKLSAgICBtZW1jcHkoaHRtbGNub2RlLT5hdHRycywgYXR0cnMsIGF0dHJzbGVuKTsK
LSAgICBodG1sY25vZGUtPmF0dHJzW2F0dHJzbGVuXSA9IDA7Ci0gICAgLyogU3RhcnQgdGhlIGh0
bWwgY25vZGUuICovCi0gICAgY25vZGUgPSBzdGFydGNub2RlKGNub2RlLCAmaHRtbGNub2RlLT5j
bik7Ci0gICAgcmV0dXJuIGNub2RlOwotfQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIHBhcmFtX291
dHB1dCA6IG91dHB1dCBwYXJhbSBjbm9kZQotICoKLSAqIEVudGVyOiAgIGNub2RlIGZvciBwYXJh
bQotICogICAgICAgICAgaW5kZW50ID0gaW5kZW50IChuZXN0aW5nKSBsZXZlbAotICoKLSAqIFRo
aXMgaXMgb25seSB1c2VkIGZvciBhIFxwYXJhbSBpbnNpZGUgYSBcZGVmLWRldmljZS1jYXAuIEEg
bm9ybWFsCi0gKiBccGFyYW0gdGhhdCBnZXRzIGF0dGFjaGVkIHRvIGEgZnVuY3Rpb24gYXJndW1l
bnQgZ2V0cyBjaGFuZ2VkIHRvCi0gKiBhIFxyZXR1cm4gc28gaXQgZG9lcyBub3QgdXNlIHRoaXMg
b3V0cHV0IGZ1bmN0aW9uLgotICovCi1zdGF0aWMgdm9pZAotcGFyYW1fb3V0cHV0KHN0cnVjdCBj
bm9kZSAqY25vZGUsIHVuc2lnbmVkIGludCBpbmRlbnQpCi17Ci0gICAgc3RydWN0IHBhcmFtY25v
ZGUgKnBhcmFtY25vZGUgPSAodm9pZCAqKWNub2RlOwotICAgIHByaW50ZigiJSpzPHBhcmFtIGlk
ZW50aWZpZXI9XCIlc1wiPlxuIiwgaW5kZW50LCAiIiwgcGFyYW1jbm9kZS0+bmFtZSk7Ci0gICAg
b3V0cHV0Y2hpbGRyZW4oJnBhcmFtY25vZGUtPmNuLCBpbmRlbnQsIDEpOwotICAgIHByaW50Zigi
JSpzPC9wYXJhbT5cbiIsIGluZGVudCwgIiIpOwotfQotCi0vKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIGNu
b2RlIHR5cGUgcGFyYW0KLSAqLwotc3RhdGljIGNvbnN0IHN0cnVjdCBjbm9kZWZ1bmNzIHBhcmFt
X2Z1bmNzID0gewotICAgIDAsIC8qICFpbmRlc2MgKi8KLSAgICAwLCAvKiAhbmVlZHBhcmEgKi8K
LSAgICAmZGVmYXVsdF9hc2tlbmQsCi0gICAgMCwgLyogZW5kICovCi0gICAgJnBhcmFtX291dHB1
dCwKLX07Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKgotICogY25vZGUgdHlwZSB0aHJvdwotICovCi1zdGF0
aWMgY29uc3Qgc3RydWN0IGNub2RlZnVuY3MgdGhyb3dfZnVuY3MgPSB7Ci0gICAgMCwgLyogIWlu
ZGVzYyAqLwotICAgIDAsIC8qICFuZWVkcGFyYSAqLwotICAgICZkZWZhdWx0X2Fza2VuZCwKLSAg
ICAwLCAvKiBlbmQgKi8KLSAgICAmcmV0dXJuX291dHB1dCwKLX07Ci0KLS8qKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KgotICogc3RhcnRwYXJhbWNub2RlIDogc3RhcnQgcGFyYW0gKG9yIHRocm93KSBjbm9kZQotICoK
LSAqIEVudGVyOiAgIGNub2RlID0gY3VycmVudCBjbm9kZQotICogICAgICAgICAgd29yZCA9IG5h
bWUgb2YgcGFyYW0KLSAqICAgICAgICAgIHdvcmRsZW4gPSBsZW5ndGggb2YgbmFtZQotICogICAg
ICAgICAgaW5vdXQgPSBiaXQgMCA9IGluLCBiaXQgMSA9IG91dAotICogICAgICAgICAgdHlwZSA9
ICZwYXJhbV9mdW5jcyBvciAmdGhyb3dfZnVuY3MKLSAqCi0gKiBSZXR1cm46ICBuZXcgY3VycmVu
dCBjbm9kZQotICovCi1zdGF0aWMgc3RydWN0IGNub2RlICoKLXN0YXJ0cGFyYW1jbm9kZShzdHJ1
Y3QgY25vZGUgKmNub2RlLCBjb25zdCBjaGFyICp3b3JkLCB1bnNpZ25lZCBpbnQgd29yZGxlbiwK
LSAgICAgICAgICAgICAgICBpbnQgaW5vdXQsIGNvbnN0IHN0cnVjdCBjbm9kZWZ1bmNzICpmdW5j
cykKLXsKLSAgICBzdHJ1Y3QgcGFyYW1jbm9kZSAqcGFyYW1jbm9kZTsKLSAgICBwYXJhbWNub2Rl
ID0gbWVtYWxsb2Moc2l6ZW9mKHN0cnVjdCBwYXJhbWNub2RlKSArIHdvcmRsZW4pOwotICAgIHBh
cmFtY25vZGUtPmNuLmZ1bmNzID0gZnVuY3M7Ci0gICAgbWVtY3B5KHBhcmFtY25vZGUtPm5hbWUs
IHdvcmQsIHdvcmRsZW4pOwotICAgIHBhcmFtY25vZGUtPm5hbWVbd29yZGxlbl0gPSAwOwotICAg
IHBhcmFtY25vZGUtPmlub3V0ID0gaW5vdXQ7Ci0gICAgcmV0dXJuIHN0YXJ0Y25vZGUoY25vZGUs
ICZwYXJhbWNub2RlLT5jbik7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogYXBpX2ZlYXR1cmVf
b3V0cHV0IDogb3V0cHV0IGFwaS1mZWF0dXJlIGNub2RlCi0gKgotICogRW50ZXI6ICAgY25vZGUg
Zm9yIHJvb3QKLSAqICAgICAgICAgIGluZGVudCA9IGluZGVudCAobmVzdGluZykgbGV2ZWwKLSAq
Lwotc3RhdGljIHZvaWQKLWFwaV9mZWF0dXJlX291dHB1dChzdHJ1Y3QgY25vZGUgKmNub2RlLCB1
bnNpZ25lZCBpbnQgaW5kZW50KQotewotICAgIHN0cnVjdCBwYXJhbWNub2RlICpwYXJhbWNub2Rl
ID0gKHZvaWQgKiljbm9kZTsKLSAgICBwcmludGYoIiUqczxhcGktZmVhdHVyZSBpZGVudGlmaWVy
PVwiJXNcIj5cbiIsIGluZGVudCwgIiIsIHBhcmFtY25vZGUtPm5hbWUpOwotICAgIG91dHB1dGNo
aWxkcmVuKGNub2RlLCBpbmRlbnQsIDEpOwotICAgIHByaW50ZigiJSpzPC9hcGktZmVhdHVyZT5c
biIsIGluZGVudCwgIiIpOwotfQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIGNub2RlIHR5cGUgYXBp
X2ZlYXR1cmUKLSAqLwotc3RhdGljIGNvbnN0IHN0cnVjdCBjbm9kZWZ1bmNzIGFwaV9mZWF0dXJl
X2Z1bmNzID0gewotICAgIDAsIC8qICFpbmRlc2MgKi8KLSAgICAwLCAvKiBuZWVkcGFyYSAqLwot
ICAgICZkZWZhdWx0X2Fza2VuZCwKLSAgICAwLCAvKiBlbmQgKi8KLSAgICAmYXBpX2ZlYXR1cmVf
b3V0cHV0LAotfTsKLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBkZXZpY2VfY2FwX291dHB1dCA6IG91
dHB1dCBkZXZpY2UtY2FwIGNub2RlCi0gKgotICogRW50ZXI6ICAgY25vZGUgZm9yIHJvb3QKLSAq
ICAgICAgICAgIGluZGVudCA9IGluZGVudCAobmVzdGluZykgbGV2ZWwKLSAqLwotc3RhdGljIHZv
aWQKLWRldmljZV9jYXBfb3V0cHV0KHN0cnVjdCBjbm9kZSAqY25vZGUsIHVuc2lnbmVkIGludCBp
bmRlbnQpCi17Ci0gICAgc3RydWN0IHBhcmFtY25vZGUgKnBhcmFtY25vZGUgPSAodm9pZCAqKWNu
b2RlOwotICAgIHByaW50ZigiJSpzPGRldmljZS1jYXAgaWRlbnRpZmllcj1cIiVzXCI+XG4iLCBp
bmRlbnQsICIiLCBwYXJhbWNub2RlLT5uYW1lKTsKLSAgICBvdXRwdXRjaGlsZHJlbihjbm9kZSwg
aW5kZW50LCAxKTsKLSAgICBwcmludGYoIiUqczwvZGV2aWNlLWNhcD5cbiIsIGluZGVudCwgIiIp
OwotfQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioKLSAqIGNub2RlIHR5cGUgZGV2aWNlX2NhcAotICovCi1z
dGF0aWMgY29uc3Qgc3RydWN0IGNub2RlZnVuY3MgZGV2aWNlX2NhcF9mdW5jcyA9IHsKLSAgICAw
LCAvKiAhaW5kZXNjICovCi0gICAgMCwgLyogbmVlZHBhcmEgKi8KLSAgICAmZGVmYXVsdF9hc2tl
bmQsCi0gICAgMCwgLyogZW5kICovCi0gICAgJmRldmljZV9jYXBfb3V0cHV0LAotfTsKLQotLyoq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqCi0gKiBkZWZfYXBpX2ZlYXR1cmVfYXNrZW5kIDogYXNrIGlmIGRlZi1hcGkt
ZmVhdHVyZSBjbm9kZSB3YW50cyB0byBlbmQgYXQgbmV3IHBhcmEKLSAqCi0gKiBFbnRlcjogICBj
bm9kZSBmb3IgZGVmLWFwaS1mZWF0dXJlCi0gKiAgICAgICAgICB0eXBlID0gY25vZGVmdW5jcyBm
b3IgbmV3IHBhcmEgKDAgaWYgaHRtbCBibG9jayBlbGVtZW50KQotICoKLSAqIFJldHVybjogIG5v
bi16ZXJvIHRvIGVuZCB0aGUgZGVmLWFwaS1mZWF0dXJlCi0gKi8KLXN0YXRpYyBpbnQKLWRlZl9h
cGlfZmVhdHVyZV9hc2tlbmQoc3RydWN0IGNub2RlICpjbm9kZSwgY29uc3Qgc3RydWN0IGNub2Rl
ZnVuY3MgKnR5cGUpCi17Ci0gICAgLyogQSBkZWYtYXBpLWZlYXR1cmUgZG9lcyBub3QgZW5kIGF0
IGEgcGxhaW4gcGFyYSwgYW4gaHRtbCBibG9jayBlbGVtZW50LAotICAgICAqIGEgYnJpZWYgcGFy
YSwgb3IgYSBkZXZpY2UtY2FwLiAqLwotICAgIGlmICghdHlwZSB8fCB0eXBlID09ICZwYXJhX2Z1
bmNzIHx8IHR5cGUgPT0gJmRldmljZV9jYXBfZnVuY3MgfHwgdHlwZSA9PSAmYnJpZWZfZnVuY3Mp
Ci0gICAgICAgIHJldHVybiAwOwotICAgIHJldHVybiAxOwotfQotCi0vKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioK
LSAqIGRlZl9hcGlfZmVhdHVyZV9vdXRwdXQgOiBvdXRwdXQgZGVmLWFwaS1mZWF0dXJlIGNub2Rl
Ci0gKgotICogRW50ZXI6ICAgY25vZGUgZm9yIHJvb3QKLSAqICAgICAgICAgIGluZGVudCA9IGlu
ZGVudCAobmVzdGluZykgbGV2ZWwKLSAqLwotc3RhdGljIHZvaWQKLWRlZl9hcGlfZmVhdHVyZV9v
dXRwdXQoc3RydWN0IGNub2RlICpjbm9kZSwgdW5zaWduZWQgaW50IGluZGVudCkKLXsKLSAgICBz
dHJ1Y3QgcGFyYW1jbm9kZSAqcGFyYW1jbm9kZSA9ICh2b2lkICopY25vZGU7Ci0gICAgcHJpbnRm
KCIlKnM8ZGVmLWFwaS1mZWF0dXJlIGlkZW50aWZpZXI9XCIlc1wiPlxuIiwgaW5kZW50LCAiIiwg
cGFyYW1jbm9kZS0+bmFtZSk7Ci0gICAgcHJpbnRmKCIlKnM8ZGVzY3JpcHRpdmU+XG4iLCBpbmRl
bnQgKyAyLCAiIik7Ci0gICAgb3V0cHV0Y2hpbGRyZW4oY25vZGUsIGluZGVudCArIDIsIDApOwot
ICAgIHByaW50ZigiJSpzPC9kZXNjcmlwdGl2ZT5cbiIsIGluZGVudCArIDIsICIiKTsKLSAgICBw
cmludGYoIiUqczwvZGVmLWFwaS1mZWF0dXJlPlxuIiwgaW5kZW50LCAiIik7Ci19Ci0KLS8qKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKgotICogY25vZGUgdHlwZSBkZWZfYXBpX2ZlYXR1cmUKLSAqLwotc3RhdGljIGNv
bnN0IHN0cnVjdCBjbm9kZWZ1bmNzIGRlZl9hcGlfZmVhdHVyZV9mdW5jcyA9IHsKLSAgICAwLCAv
KiAhaW5kZXNjICovCi0gICAgMSwgLyogbmVlZHBhcmEgKi8KLSAgICAmZGVmX2FwaV9mZWF0dXJl
X2Fza2VuZCwKLSAgICAwLCAvKiBlbmQgKi8KLSAgICAmZGVmX2FwaV9mZWF0dXJlX291dHB1dCwK
LX07Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKgotICogZGVmX2FwaV9mZWF0dXJlX3NldF9hc2tlbmQgOiBh
c2sgaWYgZGVmLWFwaS1mZWF0dXJlLXNldCBjbm9kZSB3YW50cyB0byBlbmQgYXQgbmV3IHBhcmEK
LSAqCi0gKiBFbnRlcjogICBjbm9kZSBmb3IgZGVmLWFwaS1mZWF0dXJlLXNldAotICogICAgICAg
ICAgdHlwZSA9IGNub2RlZnVuY3MgZm9yIG5ldyBwYXJhICgwIGlmIGh0bWwgYmxvY2sgZWxlbWVu
dCkKLSAqCi0gKiBSZXR1cm46ICBub24temVybyB0byBlbmQgdGhlIGRlZi1hcGktZmVhdHVyZS1z
ZXQKLSAqLwotc3RhdGljIGludAotZGVmX2FwaV9mZWF0dXJlX3NldF9hc2tlbmQoc3RydWN0IGNu
b2RlICpjbm9kZSwgY29uc3Qgc3RydWN0IGNub2RlZnVuY3MgKnR5cGUpCi17Ci0gICAgLyogQSBk
ZWYtYXBpLWZlYXR1cmUtc2V0IGRvZXMgbm90IGVuZCBhdCBhIHBsYWluIHBhcmEsIGFuIGh0bWwg
YmxvY2sgZWxlbWVudCwKLSAgICAgKiBhIGJyaWVmIHBhcmEsIG9yIGFuIGFwaS1mZWF0dXJlLiAq
LwotICAgIGlmICghdHlwZSB8fCB0eXBlID09ICZwYXJhX2Z1bmNzIHx8IHR5cGUgPT0gJmFwaV9m
ZWF0dXJlX2Z1bmNzIHx8IHR5cGUgPT0gJmJyaWVmX2Z1bmNzKQotICAgICAgICByZXR1cm4gMDsK
LSAgICByZXR1cm4gMTsKLX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBkZWZfYXBpX2ZlYXR1cmVf
c2V0X291dHB1dCA6IG91dHB1dCBkZWYtYXBpLWZlYXR1cmUtc2V0IGNub2RlCi0gKgotICogRW50
ZXI6ICAgY25vZGUgZm9yIHJvb3QKLSAqICAgICAgICAgIGluZGVudCA9IGluZGVudCAobmVzdGlu
ZykgbGV2ZWwKLSAqLwotc3RhdGljIHZvaWQKLWRlZl9hcGlfZmVhdHVyZV9zZXRfb3V0cHV0KHN0
cnVjdCBjbm9kZSAqY25vZGUsIHVuc2lnbmVkIGludCBpbmRlbnQpCi17Ci0gICAgc3RydWN0IHBh
cmFtY25vZGUgKnBhcmFtY25vZGUgPSAodm9pZCAqKWNub2RlOwotICAgIHByaW50ZigiJSpzPGRl
Zi1hcGktZmVhdHVyZS1zZXQgaWRlbnRpZmllcj1cIiVzXCI+XG4iLCBpbmRlbnQsICIiLCBwYXJh
bWNub2RlLT5uYW1lKTsKLSAgICBwcmludGYoIiUqczxkZXNjcmlwdGl2ZT5cbiIsIGluZGVudCAr
IDIsICIiKTsKLSAgICBvdXRwdXRjaGlsZHJlbihjbm9kZSwgaW5kZW50ICsgMiwgMCk7Ci0gICAg
cHJpbnRmKCIlKnM8L2Rlc2NyaXB0aXZlPlxuIiwgaW5kZW50ICsgMiwgIiIpOwotICAgIHByaW50
ZigiJSpzPC9kZWYtYXBpLWZlYXR1cmUtc2V0PlxuIiwgaW5kZW50LCAiIik7Ci19Ci0KLS8qKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKgotICogY25vZGUgdHlwZSBkZWZfYXBpX2ZlYXR1cmVfc2V0Ci0gKi8KLXN0YXRp
YyBjb25zdCBzdHJ1Y3QgY25vZGVmdW5jcyBkZWZfYXBpX2ZlYXR1cmVfc2V0X2Z1bmNzID0gewot
ICAgIDAsIC8qICFpbmRlc2MgKi8KLSAgICAxLCAvKiBuZWVkcGFyYSAqLwotICAgICZkZWZfYXBp
X2ZlYXR1cmVfc2V0X2Fza2VuZCwKLSAgICAwLCAvKiBlbmQgKi8KLSAgICAmZGVmX2FwaV9mZWF0
dXJlX3NldF9vdXRwdXQsCi19OwotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIGRlZl9pbnN0YW50aWF0
ZWRfYXNrZW5kIDogYXNrIGlmIGRlZi1pbnN0YW50aWF0ZWQgY25vZGUgd2FudHMgdG8gZW5kIGF0
IG5ldyBwYXJhCi0gKgotICogRW50ZXI6ICAgY25vZGUgZm9yIGRlZi1pbnN0YW50aWF0ZWQKLSAq
ICAgICAgICAgIHR5cGUgPSBjbm9kZWZ1bmNzIGZvciBuZXcgcGFyYSAoMCBpZiBodG1sIGJsb2Nr
IGVsZW1lbnQpCi0gKgotICogUmV0dXJuOiAgbm9uLXplcm8gdG8gZW5kIHRoZSBkZWYtaW5zdGFu
dGlhdGVkCi0gKi8KLXN0YXRpYyBpbnQKLWRlZl9pbnN0YW50aWF0ZWRfYXNrZW5kKHN0cnVjdCBj
bm9kZSAqY25vZGUsIGNvbnN0IHN0cnVjdCBjbm9kZWZ1bmNzICp0eXBlKQotewotICAgIC8qIEEg
ZGVmLWluc3RhbnRpYXRlZCBkb2VzIG5vdCBlbmQgYXQgYSBwbGFpbiBwYXJhLCBhbiBodG1sIGJs
b2NrIGVsZW1lbnQsCi0gICAgICogYSBicmllZiBwYXJhLCBvciBhbiBhcGktZmVhdHVyZS4gKi8K
LSAgICBpZiAoIXR5cGUgfHwgdHlwZSA9PSAmcGFyYV9mdW5jcyB8fCB0eXBlID09ICZhcGlfZmVh
dHVyZV9mdW5jcyB8fCB0eXBlID09ICZicmllZl9mdW5jcykKLSAgICAgICAgcmV0dXJuIDA7Ci0g
ICAgcmV0dXJuIDE7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogZGVmX2luc3RhbnRpYXRlZF9v
dXRwdXQgOiBvdXRwdXQgZGVmLWluc3RhbnRpYXRlZCBjbm9kZQotICoKLSAqIEVudGVyOiAgIGNu
b2RlIGZvciByb290Ci0gKiAgICAgICAgICBpbmRlbnQgPSBpbmRlbnQgKG5lc3RpbmcpIGxldmVs
Ci0gKi8KLXN0YXRpYyB2b2lkCi1kZWZfaW5zdGFudGlhdGVkX291dHB1dChzdHJ1Y3QgY25vZGUg
KmNub2RlLCB1bnNpZ25lZCBpbnQgaW5kZW50KQotewotICAgIHByaW50ZigiJSpzPGRlZi1pbnN0
YW50aWF0ZWQ+XG4iLCBpbmRlbnQsICIiKTsKLSAgICBwcmludGYoIiUqczxkZXNjcmlwdGl2ZT5c
biIsIGluZGVudCArIDIsICIiKTsKLSAgICBvdXRwdXRjaGlsZHJlbihjbm9kZSwgaW5kZW50ICsg
MiwgMCk7Ci0gICAgcHJpbnRmKCIlKnM8L2Rlc2NyaXB0aXZlPlxuIiwgaW5kZW50ICsgMiwgIiIp
OwotICAgIHByaW50ZigiJSpzPC9kZWYtaW5zdGFudGlhdGVkPlxuIiwgaW5kZW50LCAiIik7Ci19
Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKgotICogY25vZGUgdHlwZSBkZWZfaW5zdGFudGlhdGVkCi0gKi8K
LXN0YXRpYyBjb25zdCBzdHJ1Y3QgY25vZGVmdW5jcyBkZWZfaW5zdGFudGlhdGVkX2Z1bmNzID0g
ewotICAgIDAsIC8qICFpbmRlc2MgKi8KLSAgICAxLCAvKiBuZWVkcGFyYSAqLwotICAgICZkZWZf
aW5zdGFudGlhdGVkX2Fza2VuZCwKLSAgICAwLCAvKiBlbmQgKi8KLSAgICAmZGVmX2luc3RhbnRp
YXRlZF9vdXRwdXQsCi19OwotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIGRlZl9kZXZpY2VfY2FwX2Fz
a2VuZCA6IGFzayBpZiBkZWYtZGV2aWNlLWNhcCBjbm9kZSB3YW50cyB0byBlbmQgYXQgbmV3IHBh
cmEKLSAqCi0gKiBFbnRlcjogICBjbm9kZSBmb3IgZGVmLWRldmljZS1jYXAKLSAqICAgICAgICAg
IHR5cGUgPSBjbm9kZWZ1bmNzIGZvciBuZXcgcGFyYSAoMCBpZiBodG1sIGJsb2NrIGVsZW1lbnQp
Ci0gKgotICogUmV0dXJuOiAgbm9uLXplcm8gdG8gZW5kIHRoZSBkZWYtZGV2aWNlLWNhcAotICov
Ci1zdGF0aWMgaW50Ci1kZWZfZGV2aWNlX2NhcF9hc2tlbmQoc3RydWN0IGNub2RlICpjbm9kZSwg
Y29uc3Qgc3RydWN0IGNub2RlZnVuY3MgKnR5cGUpCi17Ci0gICAgLyogQSBkZWYtZGV2aWNlLWNh
cCBkb2VzIG5vdCBlbmQgYXQgYSBwbGFpbiBwYXJhLCBhbiBodG1sIGJsb2NrIGVsZW1lbnQsCi0g
ICAgICogYSBcYnJpZWYgcGFyYSwgb3IgYSBwYXJhbS4gKi8KLSAgICBpZiAoIXR5cGUgfHwgdHlw
ZSA9PSAmcGFyYV9mdW5jcyB8fCB0eXBlID09ICZwYXJhbV9mdW5jcyB8fCB0eXBlID09ICZicmll
Zl9mdW5jcykKLSAgICAgICAgcmV0dXJuIDA7Ci0gICAgcmV0dXJuIDE7Ci19Ci0KLS8qKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKgotICogZGVmX2RldmljZV9jYXBfb3V0cHV0IDogb3V0cHV0IGRlZl9kZXZpY2UtY2Fw
IGNub2RlCi0gKgotICogRW50ZXI6ICAgY25vZGUgZm9yIHJvb3QKLSAqICAgICAgICAgIGluZGVu
dCA9IGluZGVudCAobmVzdGluZykgbGV2ZWwKLSAqLwotc3RhdGljIHZvaWQKLWRlZl9kZXZpY2Vf
Y2FwX291dHB1dChzdHJ1Y3QgY25vZGUgKmNub2RlLCB1bnNpZ25lZCBpbnQgaW5kZW50KQotewot
ICAgIHN0cnVjdCBwYXJhbWNub2RlICpwYXJhbWNub2RlID0gKHZvaWQgKiljbm9kZTsKLSAgICBw
cmludGYoIiUqczxkZWYtZGV2aWNlLWNhcCBpZGVudGlmaWVyPVwiJXNcIj5cbiIsIGluZGVudCwg
IiIsIHBhcmFtY25vZGUtPm5hbWUpOwotICAgIHByaW50ZigiJSpzPGRlc2NyaXB0aXZlPlxuIiwg
aW5kZW50ICsgMiwgIiIpOwotICAgIG91dHB1dGNoaWxkcmVuKGNub2RlLCBpbmRlbnQgKyAyLCAw
KTsKLSAgICBwcmludGYoIiUqczwvZGVzY3JpcHRpdmU+XG4iLCBpbmRlbnQgKyAyLCAiIik7Ci0g
ICAgcHJpbnRmKCIlKnM8L2RlZi1kZXZpY2UtY2FwPlxuIiwgaW5kZW50LCAiIik7Ci19Ci0KLS8q
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKgotICogY25vZGUgdHlwZSBkZWZfZGV2aWNlX2NhcAotICovCi1zdGF0aWMg
Y29uc3Qgc3RydWN0IGNub2RlZnVuY3MgZGVmX2RldmljZV9jYXBfZnVuY3MgPSB7Ci0gICAgMCwg
LyogIWluZGVzYyAqLwotICAgIDEsIC8qIG5lZWRwYXJhICovCi0gICAgJmRlZl9kZXZpY2VfY2Fw
X2Fza2VuZCwKLSAgICAwLCAvKiBlbmQgKi8KLSAgICAmZGVmX2RldmljZV9jYXBfb3V0cHV0LAot
fTsKLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqCi0gKiBhZGR0ZXh0IDogYWRkIHRleHQgdG8gY3VycmVudCB0
ZXh0IG5vZGUsIHN0YXJ0aW5nIG9uZSBpZiBuZWNlc3NhcnkKLSAqCi0gKiBFbnRlcjogICBjbm9k
ZSA9IGN1cnJlbnQgY25vZGUKLSAqICAgICAgICAgIHRleHQKLSAqICAgICAgICAgIGxlbiA9IGxl
bmd0aCBvZiB0ZXh0Ci0gKgotICogUmV0dXJuOiAgbmV3IGN1cnJlbnQgY25vZGUKLSAqLwotc3Rh
dGljIHN0cnVjdCBjbm9kZSAqCi1hZGR0ZXh0KHN0cnVjdCBjbm9kZSAqY25vZGUsIGNvbnN0IGNo
YXIgKnRleHQsIHVuc2lnbmVkIGludCBsZW4pCi17Ci0gICAgc3RydWN0IHRleHRjbm9kZSAqdGV4
dGNub2RlOwotICAgIGlmICghbGVuKQotICAgICAgICByZXR1cm4gY25vZGU7Ci0gICAgaWYgKGNu
b2RlLT5mdW5jcyAhPSAmdGV4dF9mdW5jcykgewotICAgICAgICAvKiBTdGFydCBuZXcgdGV4dCBj
bm9kZS4gKi8KLSAgICAgICAgdGV4dGNub2RlID0gbWVtYWxsb2Moc2l6ZW9mKHN0cnVjdCB0ZXh0
Y25vZGUpKTsKLSAgICAgICAgdGV4dGNub2RlLT5jbi5mdW5jcyA9ICZ0ZXh0X2Z1bmNzOwotICAg
ICAgICBjbm9kZSA9IHN0YXJ0Y25vZGUoY25vZGUsICZ0ZXh0Y25vZGUtPmNuKTsKLSAgICB9Ci0g
ICAgdGV4dGNub2RlID0gKHZvaWQgKiljbm9kZTsKLSAgICBkbyB7Ci0gICAgICAgIHVuc2lnbmVk
IGNoYXIgYnVmWzEgKyBzaXplb2Yodm9pZCAqKV07Ci0gICAgICAgIHVuc2lnbmVkIGludCB0aGlz
bGVuID0gbGVuOwotICAgICAgICBpZiAodGhpc2xlbiA+IDI1NSkKLSAgICAgICAgICAgIHRoaXNs
ZW4gPSAyNTU7Ci0gICAgICAgIC8qIEVuY29kZSBhIHJlY29yZCBhcyBhIHNpbmdsZSBieXRlIGxl
bmd0aCBmb2xsb3dlZCBieSBhIHBvaW50ZXIuICovCi0gICAgICAgIGJ1ZlswXSA9IHRoaXNsZW47
Ci0gICAgICAgIG1lbWNweShidWYgKyAxLCAmdGV4dCwgc2l6ZW9mKHZvaWQgKikpOwotICAgICAg
ICAvKiBBZGQgdG8gdGhlIHRleHQgY25vZGUncyBkYXRhLiAqLwotICAgICAgICBpZiAodGV4dGNu
b2RlLT5sZW4gKyBzaXplb2YoYnVmKSA+PSB0ZXh0Y25vZGUtPm1heCkgewotICAgICAgICAgICAg
LyogTmVlZCB0byByZWFsbG9jYXRlIChvciBhbGxvY2F0ZSkgZGF0YSBidWZmZXIuICovCi0gICAg
ICAgICAgICB0ZXh0Y25vZGUtPm1heCA9IHRleHRjbm9kZS0+bWF4ID8gMiAqIHRleHRjbm9kZS0+
bWF4IDogMTAyNDsKLSAgICAgICAgICAgIHRleHRjbm9kZS0+ZGF0YSA9IG1lbXJlYWxsb2ModGV4
dGNub2RlLT5kYXRhLCB0ZXh0Y25vZGUtPm1heCk7Ci0gICAgICAgIH0KLSAgICAgICAgbWVtY3B5
KHRleHRjbm9kZS0+ZGF0YSArIHRleHRjbm9kZS0+bGVuLCBidWYsIHNpemVvZihidWYpKTsKLSAg
ICAgICAgdGV4dGNub2RlLT5sZW4gKz0gc2l6ZW9mKGJ1Zik7Ci0gICAgICAgIHRleHQgKz0gdGhp
c2xlbjsKLSAgICAgICAgbGVuIC09IHRoaXNsZW47Ci0gICAgfSB3aGlsZSAobGVuKTsKLSAgICBy
ZXR1cm4gJnRleHRjbm9kZS0+Y247Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogaXN3aGl0ZXNw
YWNlIDogZGV0ZXJtaW5lIGlmIGNoYXJhY3RlciBpcyB3aGl0ZXNwYWNlCi0gKgotICogRW50ZXI6
ICAgY2ggPSBjaGFyYWN0ZXIKLSAqCi0gKiBSZXR1cm46ICAxIGlmIHdoaXRlc3BhY2UKLSAqLwot
c3RhdGljIGlubGluZSBpbnQKLWlzd2hpdGVzcGFjZShpbnQgY2gpCi17Ci0gICAgdW5zaWduZWQg
aW50IGkgPSBjaCAtIDE7Ci0gICAgaWYgKGkgPj0gMzIpCi0gICAgICAgIHJldHVybiAwOwotICAg
IHJldHVybiAweDgwMDAxMTAwID4+IGkgJiAxOwotfQotCi0vKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIHBh
cnNld29yZCA6IHBhcnNlIHRoZSBuZXh0IHdvcmQsIGlnbm9yaW5nIGxlYWRpbmcgd2hpdGVzcGFj
ZQotICoKLSAqIEVudGVyOiAgICpwcCA9IHRleHQgcG9pbnRlcgotICoKLSAqIFJldHVybjogIDAg
ZWxzZSBzdGFydCBvZiB3b3JkICgqcHAgdXBkYXRlZCB0byBqdXN0IGJleW9uZCBlbmQpCi0gKi8K
LXN0YXRpYyBjb25zdCBjaGFyICoKLXBhcnNld29yZChjb25zdCBjaGFyICoqcHApCi17Ci0gICAg
Y29uc3QgY2hhciAqcCA9ICpwcCwgKndvcmQgPSAwOwotICAgIGludCBjaCA9ICpwOwotICAgIHdo
aWxlIChpc3doaXRlc3BhY2UoY2gpKQotICAgICAgICBjaCA9ICorK3A7Ci0gICAgd29yZCA9IHA7
Ci0gICAgd2hpbGUgKCh1bnNpZ25lZCkoKGNoICYgfjB4MjApIC0gJ0EnKSA8PSAnWicgLSAnQScK
LSAgICAgICAgICAgIHx8ICh1bnNpZ25lZCkoY2ggLSAnMCcpIDwgMTAgfHwgY2ggPT0gJ18nIHx8
IGNoID09ICcuJwotICAgICAgICAgICAgfHwgY2ggPT0gJzonIHx8IGNoID09ICcvJyB8fCBjaCA9
PSAnLScpCi0gICAgewotICAgICAgICBjaCA9ICorK3A7Ci0gICAgfQotICAgIGlmIChwID09IHdv
cmQpCi0gICAgICAgIHJldHVybiAwOwotICAgICpwcCA9IHA7Ci0gICAgcmV0dXJuIHdvcmQ7Ci19
Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKgotICogRG94eWdlbiBjb21tYW5kIGhhbmRsZXJzCi0gKgotICog
RW50ZXI6ICAgcCA9IHRleHQganVzdCBhZnRlciBjb21tYW5kCi0gKiAgICAgICAgICAqcGNub2Rl
ID0gcG9pbnRlciB0byBjdXJyZW50IGNub2RlIHN0cnVjdAotICogICAgICAgICAgdHlwZSA9IDAg
ZWxzZSBjbm9kZWZ1bmNzIHBvaW50ZXIgZm9yIHR5cGUgb2Ygbm9kZSB0byBzdGFydAotICogICAg
ICAgICAgZmlsZW5hbWUsIGxpbmVudW0gPSBjdXJyZW50IGZpbGVuYW1lIGFuZCBsaW5lIG51bWJl
ciAoZm9yIGVycm9yIHJlcG9ydGluZykKLSAqCi0gKiBSZXR1cm46ICBwID0gdXBkYXRlZCBpZiBl
eHRyYSB0ZXh0IHdhcyBlYXRlbgotICoKLSAqIE9uIHJldHVybiwgKnBub2RlIGlzIHVwZGF0ZWQg
aWYgYW55IG5vZGUgd2FzIGNsb3NlZCBvciBvcGVuZWQuCi0gKi8KLQotLyoqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
Ci0gKiBEb3h5Z2VuIGNvbW1hbmQgaGFuZGxlciA6IFxiCi0gKi8KLXN0YXRpYyBjb25zdCBjaGFy
ICoKLWRveF9iKGNvbnN0IGNoYXIgKnAsIHN0cnVjdCBjbm9kZSAqKnBjbm9kZSwgY29uc3Qgc3Ry
dWN0IGNub2RlZnVuY3MgKnR5cGUsCi0gICAgICBjb25zdCBjaGFyICpmaWxlbmFtZSwgdW5zaWdu
ZWQgaW50IGxpbmVudW0sIGNvbnN0IGNoYXIgKmNtZG5hbWUpCi17Ci0gICAgc3RydWN0IGNub2Rl
ICpjbm9kZSA9ICpwY25vZGU7Ci0gICAgY29uc3QgY2hhciAqd29yZCA9IHBhcnNld29yZCgmcCk7
Ci0gICAgLyogU2lsZW50bHkgaWdub3JlIFxiIHdpdGggbm8gZm9sbG93aW5nIHdvcmQuICovCi0g
ICAgaWYgKHdvcmQpIHsKLSAgICAgICAgc3RydWN0IGNub2RlICpteWNub2RlOwotICAgICAgICBt
eWNub2RlID0gY25vZGUgPSBzdGFydGh0bWxjbm9kZShjbm9kZSwgSFRNTEVMREVTQ19CLCAwLCAw
LCBmaWxlbmFtZSwgbGluZW51bSk7Ci0gICAgICAgIGNub2RlID0gYWRkdGV4dChjbm9kZSwgd29y
ZCwgcCAtIHdvcmQpOwotICAgICAgICB3aGlsZSAoY25vZGUgIT0gbXljbm9kZSkKLSAgICAgICAg
ICAgIGNub2RlID0gZW5kY25vZGUoY25vZGUpOwotICAgICAgICBjbm9kZSA9IGVuZGNub2RlKGNu
b2RlKTsKLSAgICB9Ci0gICAgKnBjbm9kZSA9IGNub2RlOwotICAgIHJldHVybiBwOwotfQotCi0v
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioKLSAqIERveHlnZW4gY29tbWFuZCBoYW5kbGVyIDogXG4KLSAqLwotc3Rh
dGljIGNvbnN0IGNoYXIgKgotZG94X24oY29uc3QgY2hhciAqcCwgc3RydWN0IGNub2RlICoqcGNu
b2RlLCBjb25zdCBzdHJ1Y3QgY25vZGVmdW5jcyAqdHlwZSwKLSAgICAgIGNvbnN0IGNoYXIgKmZp
bGVuYW1lLCB1bnNpZ25lZCBpbnQgbGluZW51bSwgY29uc3QgY2hhciAqY21kbmFtZSkKLXsKLSAg
ICBzdHJ1Y3QgY25vZGUgKmNub2RlID0gKnBjbm9kZTsKLSAgICBjbm9kZSA9IHN0YXJ0aHRtbGNu
b2RlKGNub2RlLCBIVE1MRUxERVNDX0JSLCAwLCAwLCBmaWxlbmFtZSwgbGluZW51bSk7Ci0gICAg
Y25vZGUgPSBlbmRjbm9kZShjbm9kZSk7Ci0gICAgKnBjbm9kZSA9IGNub2RlOwotICAgIHJldHVy
biBwOwotfQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIERveHlnZW4gY29tbWFuZCBoYW5kbGVyIDog
XGNvZGUKLSAqLwotc3RhdGljIGNvbnN0IGNoYXIgKgotZG94X2NvZGUoY29uc3QgY2hhciAqcCwg
c3RydWN0IGNub2RlICoqcGNub2RlLCBjb25zdCBzdHJ1Y3QgY25vZGVmdW5jcyAqdHlwZSwKLSAg
ICAgICAgIGNvbnN0IGNoYXIgKmZpbGVuYW1lLCB1bnNpZ25lZCBpbnQgbGluZW51bSwgY29uc3Qg
Y2hhciAqY21kbmFtZSkKLXsKLSAgICAqcGNub2RlID0gc3RhcnRwYXJhKCpwY25vZGUsICZjb2Rl
X2Z1bmNzKTsKLSAgICAoKnBjbm9kZSktPmZpbGVuYW1lID0gZmlsZW5hbWU7Ci0gICAgKCpwY25v
ZGUpLT5saW5lbnVtID0gbGluZW51bTsgLyogZm9yIHJlcG9ydGluZyBtaXNtYXRjaGVkIFxjb2Rl
IGVycm9yICovCi0gICAgaW5jb2RlID0gMTsKLSAgICByZXR1cm4gcDsKLX0KLQotLyoqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqCi0gKiBEb3h5Z2VuIGNvbW1hbmQgaGFuZGxlciA6IFxlbmRjb2RlCi0gKi8KLXN0YXRp
YyBjb25zdCBjaGFyICoKLWRveF9lbmRjb2RlKGNvbnN0IGNoYXIgKnAsIHN0cnVjdCBjbm9kZSAq
KnBjbm9kZSwgY29uc3Qgc3RydWN0IGNub2RlZnVuY3MgKnR5cGUsCi0gICAgICAgICAgICBjb25z
dCBjaGFyICpmaWxlbmFtZSwgdW5zaWduZWQgaW50IGxpbmVudW0sIGNvbnN0IGNoYXIgKmNtZG5h
bWUpCi17Ci0gICAgaW5jb2RlID0gMDsKLSAgICAqcGNub2RlID0gZW5kc3BlY2lmaWNjbm9kZSgq
cGNub2RlLCAmY29kZV9mdW5jcywgZmlsZW5hbWUsIGxpbmVudW0pOwotICAgIHJldHVybiBwOwot
fQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioKLSAqIERveHlnZW4gY29tbWFuZCBoYW5kbGVyIDogXHBhcmFt
Ci0gKi8KLXN0YXRpYyBjb25zdCBjaGFyICoKLWRveF9wYXJhbShjb25zdCBjaGFyICpwLCBzdHJ1
Y3QgY25vZGUgKipwY25vZGUsIGNvbnN0IHN0cnVjdCBjbm9kZWZ1bmNzICp0eXBlLAotICAgICAg
ICAgIGNvbnN0IGNoYXIgKmZpbGVuYW1lLCB1bnNpZ25lZCBpbnQgbGluZW51bSwgY29uc3QgY2hh
ciAqY21kbmFtZSkKLXsKLSAgICBzdHJ1Y3QgY25vZGUgKmNub2RlID0gKnBjbm9kZTsKLSAgICB1
bnNpZ25lZCBpbnQgaW5vdXQgPSAwOwotICAgIGNvbnN0IGNoYXIgKndvcmQ7Ci0gICAgLyogQ2hl
Y2sgZm9yICJpbiIsICJvdXQiIG9yIGJvdGggYXMgYXR0cmlidXRlcy4gKi8KLSAgICBpZiAoKnAg
PT0gJ1snKSB7Ci0gICAgICAgIGZvciAoOzspIHsKLSAgICAgICAgICAgIHArKzsKLSAgICAgICAg
ICAgIGlmICghbWVtY21wKHAsICJpbiIsIDIpKSB7Ci0gICAgICAgICAgICAgICAgaW5vdXQgfD0g
MTsKLSAgICAgICAgICAgICAgICBwICs9IDI7Ci0gICAgICAgICAgICB9IGVsc2UgaWYgKCFtZW1j
bXAocCwgIm91dCIsIDMpKSB7Ci0gICAgICAgICAgICAgICAgaW5vdXQgfD0gMjsKLSAgICAgICAg
ICAgICAgICBwICs9IDM7Ci0gICAgICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgICAgICBicmVh
azsKLSAgICAgICAgICAgIGlmICgqcCAhPSAnLCcpCi0gICAgICAgICAgICAgICAgYnJlYWs7Ci0g
ICAgICAgIH0KLSAgICAgICAgaWYgKCpwICE9ICddJykKLSAgICAgICAgICAgIGxvY2Vycm9yZXhp
dChmaWxlbmFtZSwgbGluZW51bSwgImJhZCBhdHRyaWJ1dGVzIG9uIFxccGFyYW0iKTsKLSAgICAg
ICAgcCsrOwotICAgIH0KLSAgICAvKiBHZXQgdGhlIG5leHQgd29yZCBhcyB0aGUgcGFyYW1ldGVy
IG5hbWUuICovCi0gICAgd29yZCA9IHBhcnNld29yZCgmcCk7Ci0gICAgaWYgKCF3b3JkKQotICAg
ICAgICBsb2NlcnJvcmV4aXQoZmlsZW5hbWUsIGxpbmVudW0sICJleHBlY3RlZCB3b3JkIGFmdGVy
IFxccGFyYW0iKTsKLSAgICAvKiBDbG9zZSBhbnkgb3BlbiBub2Rlcy4gKi8KLSAgICB3aGlsZSAo
KCpjbm9kZS0+ZnVuY3MtPmFza2VuZCkoY25vZGUsIHR5cGUpKQotICAgICAgICBjbm9kZSA9IGVu
ZGNub2RlKGNub2RlKTsKLSAgICAvKiBDcmVhdGUgYSBuZXcgcGFyYW0gY25vZGUuICovCi0gICAg
Y25vZGUgPSBzdGFydHBhcmFtY25vZGUoY25vZGUsIHdvcmQsIHAgLSB3b3JkLCBpbm91dCwgdHlw
ZSk7Ci0gICAgY25vZGUtPmZpbGVuYW1lID0gZmlsZW5hbWU7Ci0gICAgY25vZGUtPmxpbmVudW0g
PSBsaW5lbnVtOwotICAgICpwY25vZGUgPSBjbm9kZTsKLSAgICByZXR1cm4gcDsKLX0KLQotLyoq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqCi0gKiBEb3h5Z2VuIGNvbW1hbmQgaGFuZGxlciA6IFxicmllZiwgXHJldHVy
bgotICovCi1zdGF0aWMgY29uc3QgY2hhciAqCi1kb3hfcGFyYShjb25zdCBjaGFyICpwLCBzdHJ1
Y3QgY25vZGUgKipwY25vZGUsIGNvbnN0IHN0cnVjdCBjbm9kZWZ1bmNzICp0eXBlLAotICAgICAg
ICAgY29uc3QgY2hhciAqZmlsZW5hbWUsIHVuc2lnbmVkIGludCBsaW5lbnVtLCBjb25zdCBjaGFy
ICpjbWRuYW1lKQotewotICAgICpwY25vZGUgPSBzdGFydHBhcmEoKnBjbm9kZSwgdHlwZSk7Ci0g
ICAgcmV0dXJuIHA7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogRG94eWdlbiBjb21tYW5kIGhh
bmRsZXIgOiBcdGhyb3cKLSAqLwotc3RhdGljIGNvbnN0IGNoYXIgKgotZG94X3Rocm93KGNvbnN0
IGNoYXIgKnAsIHN0cnVjdCBjbm9kZSAqKnBjbm9kZSwgY29uc3Qgc3RydWN0IGNub2RlZnVuY3Mg
KnR5cGUsCi0gICAgICAgICAgY29uc3QgY2hhciAqZmlsZW5hbWUsIHVuc2lnbmVkIGludCBsaW5l
bnVtLCBjb25zdCBjaGFyICpjbWRuYW1lKQotewotICAgIHN0cnVjdCBjbm9kZSAqY25vZGUgPSAq
cGNub2RlOwotICAgIGNvbnN0IGNoYXIgKndvcmQ7Ci0gICAgLyogR2V0IHRoZSBuZXh0IHdvcmQg
YXMgdGhlIGV4Y2VwdGlvbiBuYW1lLiAqLwotICAgIHdvcmQgPSBwYXJzZXdvcmQoJnApOwotICAg
IGlmICghd29yZCkKLSAgICAgICAgbG9jZXJyb3JleGl0KGZpbGVuYW1lLCBsaW5lbnVtLCAiZXhw
ZWN0ZWQgd29yZCBhZnRlciBcXHRocm93Iik7Ci0gICAgLyogQ2xvc2UgYW55IG9wZW4gbm9kZXMu
ICovCi0gICAgd2hpbGUgKCgqY25vZGUtPmZ1bmNzLT5hc2tlbmQpKGNub2RlLCB0eXBlKSkKLSAg
ICAgICAgY25vZGUgPSBlbmRjbm9kZShjbm9kZSk7Ci0gICAgLyogQ3JlYXRlIGEgbmV3IHRocm93
IGNub2RlLiAqLwotICAgIGNub2RlID0gc3RhcnRwYXJhbWNub2RlKGNub2RlLCB3b3JkLCBwIC0g
d29yZCwgMCwgdHlwZSk7Ci0gICAgY25vZGUtPmZpbGVuYW1lID0gZmlsZW5hbWU7Ci0gICAgY25v
ZGUtPmxpbmVudW0gPSBsaW5lbnVtOwotICAgICpwY25vZGUgPSBjbm9kZTsKLSAgICByZXR1cm4g
cDsKLX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBEb3h5Z2VuIGNvbW1hbmQgaGFuZGxlciA6IFxs
YW5nCi0gKi8KLXN0YXRpYyBjb25zdCBjaGFyICoKLWRveF9hdHRyKGNvbnN0IGNoYXIgKnAsIHN0
cnVjdCBjbm9kZSAqKnBjbm9kZSwgY29uc3Qgc3RydWN0IGNub2RlZnVuY3MgKnR5cGUsCi0gICAg
ICAgICAgY29uc3QgY2hhciAqZmlsZW5hbWUsIHVuc2lnbmVkIGludCBsaW5lbnVtLCBjb25zdCBj
aGFyICpjbWRuYW1lKQotewotICBzdHJ1Y3QgY25vZGUgKmNub2RlID0gKnBjbm9kZTsKLSAgICBj
b25zdCBjaGFyICp3b3JkOwotICAgIGludCBsZW4sIHdvcmRsZW4sIG9mZnNldCA9IDA7Ci0JY2hh
ciAqYXR0cnRleHQ7Ci0gICAgLyogR2V0IHRoZSBuZXh0IHdvcmQgYXMgdGhlIGF0dHJpYnV0ZSB2
YWx1ZS4gKi8KLSAgICB3b3JkID0gcGFyc2V3b3JkKCZwKTsKLSAgICBpZiAoIXdvcmQpCi0gICAg
ICAgIGxvY2Vycm9yZXhpdChmaWxlbmFtZSwgbGluZW51bSwgImV4cGVjdGVkIHdvcmQgYWZ0ZXIg
XFwlcyIsIGNtZG5hbWUpOwotCi0JbGVuID0gc3RybGVuKGNtZG5hbWUpICsgKHdvcmRsZW4gPSBw
LXdvcmQpICsgNDsgLyogcD0id29yZCJcMCAqLwotCWlmKGNub2RlLT5hdHRydGV4dCkKLQkgIGxl
biArPSAob2Zmc2V0ID0gc3RybGVuKGNub2RlLT5hdHRydGV4dCkpICsgMTsgLyogYWRkIHNwYWNl
IGZvciBzcGFjZSAqLwotCWF0dHJ0ZXh0ID0gbWVtYWxsb2MobGVuKTsKLQlpZihvZmZzZXQpIHsK
LQkJbWVtY3B5KGF0dHJ0ZXh0LCBjbm9kZS0+YXR0cnRleHQsIG9mZnNldCk7Ci0JCWF0dHJ0ZXh0
W29mZnNldCsrXSA9ICcgJzsKLQkJbWVtZnJlZSgoKHZvaWQqKWNub2RlLT5hdHRydGV4dCkpOwot
CX0KLQlvZmZzZXQgKz0gc3ByaW50ZigmYXR0cnRleHRbb2Zmc2V0XSwgIiVzPVwiIiwgY21kbmFt
ZSk7Ci0JbWVtY3B5KCZhdHRydGV4dFtvZmZzZXRdLCB3b3JkLCB3b3JkbGVuKTsKLQlzdHJjcHko
JmF0dHJ0ZXh0W29mZnNldCArIHdvcmRsZW5dLCAiXCIiKTsKLQljbm9kZS0+YXR0cnRleHQgPSBh
dHRydGV4dDsKLQkvKiBza2lwIGRlbGltaXRlciBiZWNhdXNlIGl0IHdvbid0IGJlIGRvbmUgb3Ro
ZXJ3aXNlICovCi0JaWYoaW5jb2RlICYmIGlzd2hpdGVzcGFjZSgqcCkpICsrcDsKLSAgICByZXR1
cm4gcDsKLX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBjb21tYW5kcyA6IHRhYmxlIG9mIERveHln
ZW4gY29tbWFuZHMKLSAqLwotc3RydWN0IGNvbW1hbmQgewotICAgIGNvbnN0IGNoYXIgKigqZnVu
YykoY29uc3QgY2hhciAqcCwgc3RydWN0IGNub2RlICoqcGNub2RlLCBjb25zdCBzdHJ1Y3QgY25v
ZGVmdW5jcyAqdHlwZSwgY29uc3QgY2hhciAqZmlsZW5hbWUsIHVuc2lnbmVkIGludCBsaW5lbnVt
LCBjb25zdCBjaGFyICpjbWRuYW1lKTsKLSAgICBjb25zdCBzdHJ1Y3QgY25vZGVmdW5jcyAqdHlw
ZTsKLSAgICB1bnNpZ25lZCBpbnQgbmFtZWxlbjsKLSAgICBjb25zdCBjaGFyICpuYW1lOwotfTsK
LXN0YXRpYyBjb25zdCBzdHJ1Y3QgY29tbWFuZCBjb21tYW5kc1tdID0gewotICAgIHsgJmRveF90
aHJvdywgJmRlZl9hcGlfZmVhdHVyZV9mdW5jcywgMTUsICJkZWYtYXBpLWZlYXR1cmUiIH0sCi0g
ICAgeyAmZG94X3Rocm93LCAmZGVmX2FwaV9mZWF0dXJlX3NldF9mdW5jcywgMTksICJkZWYtYXBp
LWZlYXR1cmUtc2V0IiB9LAotICAgIHsgJmRveF9wYXJhLCAmZGVmX2luc3RhbnRpYXRlZF9mdW5j
cywgMTYsICJkZWYtaW5zdGFudGlhdGVkIiB9LAotICAgIHsgJmRveF9wYXJhLCAmbmFtZV9mdW5j
cywgNCwgIm5hbWUiIH0sCi0gICAgeyAmZG94X3BhcmEsICZhdXRob3JfZnVuY3MsIDYsICJhdXRo
b3IiIH0sCi0gICAgeyAmZG94X2IsIDAsIDEsICJiIiB9LAotICAgIHsgJmRveF9wYXJhLCAmYnJp
ZWZfZnVuY3MsIDUsICJicmllZiIgfSwKLSAgICB7ICZkb3hfY29kZSwgMCwgNCwgImNvZGUiIH0s
Ci0gICAgeyAmZG94X3Rocm93LCAmZGVmX2RldmljZV9jYXBfZnVuY3MsIDE0LCAiZGVmLWRldmlj
ZS1jYXAiIH0sCi0gICAgeyAmZG94X2F0dHIsIDAsIDQsICJsYW5nIiB9LAotICAgIHsgJmRveF9l
bmRjb2RlLCAwLCA3LCAiZW5kY29kZSIgfSwKLSAgICB7ICZkb3hfbiwgMCwgMSwgIm4iIH0sCi0g
ICAgeyAmZG94X3BhcmFtLCAmcGFyYW1fZnVuY3MsIDUsICJwYXJhbSIgfSwKLSAgICB7ICZkb3hf
cGFyYSwgJnJldHVybl9mdW5jcywgNiwgInJldHVybiIgfSwKLSAgICB7ICZkb3hfdGhyb3csICZ0
aHJvd19mdW5jcywgNSwgInRocm93IiB9LAotICAgIHsgJmRveF90aHJvdywgJmFwaV9mZWF0dXJl
X2Z1bmNzLCAxMSwgImFwaS1mZWF0dXJlIiB9LAotICAgIHsgJmRveF90aHJvdywgJmRldmljZV9j
YXBfZnVuY3MsIDEwLCAiZGV2aWNlLWNhcCIgfSwKLSAgICB7ICZkb3hfcGFyYSwgJnZlcnNpb25f
ZnVuY3MsIDcsICJ2ZXJzaW9uIiB9LAotICAgIHsgMCwgMCwgMCB9Ci19OwotCi0vKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioKLSAqIHBhcnNlaHRtbHRhZyA6IHBhcnNlIGh0bWwgdGFnCi0gKgotICogRW50ZXI6ICAg
c3RhcnQgPSBzdGFydCBvZiB0YWcsIHRoZSAnPCcgY2hhcgotICogICAgICAgICAgKnBjbm9kZSA9
IGN1cnJlbnQgY25vZGUKLSAqICAgICAgICAgIGZpbGVuYW1lID0gZmlsZW5hbWUKLSAqICAgICAg
ICAgICpwbGluZW51bSA9IGN1cnJlbnQgbGluZSBudW1iZXIKLSAqCi0gKiBSZXR1cm46ICBqdXN0
IGFmdGVyIHRoZSB0YWcKLSAqICAgICAgICAgICpwY25vZGUgYW5kICpwbGluZW51bSB1cGRhdGVk
IGlmIGFwcGxpY2FibGUKLSAqLwotc3RhdGljIGNvbnN0IGNoYXIgKgotcGFyc2VodG1sdGFnKGNv
bnN0IGNoYXIgKnN0YXJ0LCBzdHJ1Y3QgY25vZGUgKipwY25vZGUsCi0gICAgICAgICAgICAgY29u
c3QgY2hhciAqZmlsZW5hbWUsIHVuc2lnbmVkIGludCAqcGxpbmVudW0pCi17Ci0gICAgc3RydWN0
IGNub2RlICpjbm9kZSA9ICpwY25vZGU7Ci0gICAgY29uc3QgY2hhciAqZW5kID0gc3RhcnQgKyAx
LCAqZW5kbmFtZSA9IDAsICpuYW1lID0gZW5kOwotICAgIGludCBjaCA9ICplbmQ7Ci0gICAgaW50
IHF1b3RlID0gMDsKLSAgICBpbnQgY2xvc2UgPSAwOwotICAgIHVuc2lnbmVkIGludCBsaW5lbnVt
ID0gKnBsaW5lbnVtOwotICAgIGNvbnN0IHN0cnVjdCBodG1sZWxkZXNjICpodG1sZWxkZXNjOwot
ICAgIGlmIChjaCA9PSAnLycpIHsKLSAgICAgICAgY2xvc2UgPSAxOwotICAgICAgICBjaCA9ICor
K2VuZDsKLSAgICAgICAgbmFtZSA9IGVuZDsKLSAgICB9Ci0gICAgLyogRmluZCB0aGUgZW5kIG9m
IHRoZSB0YWcuICovCi0gICAgZm9yICg7OykgewotICAgICAgICBpZiAoIWNoKQotICAgICAgICAg
ICAgbG9jZXJyb3JleGl0KGZpbGVuYW1lLCAqcGxpbmVudW0sICJ1bnRlcm1pbmF0ZWQgSFRNTCB0
YWciKTsKLSAgICAgICAgaWYgKGNoID09ICdcbicpCi0gICAgICAgICAgICBsaW5lbnVtKys7Ci0g
ICAgICAgIGVsc2UgaWYgKGlzd2hpdGVzcGFjZShjaCkgfHwgY2ggPT0gJy8nKSB7Ci0gICAgICAg
ICAgICBpZiAoIWVuZG5hbWUpCi0gICAgICAgICAgICAgICAgZW5kbmFtZSA9IGVuZDsKLSAgICAg
ICAgfSBlbHNlIGlmICghcXVvdGUpIHsKLSAgICAgICAgICAgIGlmIChjaCA9PSAnIicgfHwgY2gg
PT0gJ1wnJykKLSAgICAgICAgICAgICAgICBxdW90ZSA9IGNoOwotICAgICAgICAgICAgZWxzZSBp
ZiAoY2ggPT0gJz4nKQotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9IGVsc2Ugewot
ICAgICAgICAgICAgaWYgKGNoID09IHF1b3RlKQotICAgICAgICAgICAgICAgIHF1b3RlID0gMDsK
LSAgICAgICAgfQotICAgICAgICBjaCA9ICorK2VuZDsKLSAgICB9Ci0gICAgaWYgKCFlbmRuYW1l
KQotICAgICAgICBlbmRuYW1lID0gZW5kOwotICAgIGVuZCsrOwotICAgIC8qIFNlZSBpZiBpdCdz
IGFuIHhtbCBvcGVuLWNsb3NlIHRhZy4gKi8KLSAgICBpZiAoIWNsb3NlICYmIGVuZG5hbWUgIT0g
bmFtZSAmJiBlbmRbLTJdID09ICcvJykKLSAgICAgICAgY2xvc2UgPSAyOwotICAgIC8qIEZpbmQg
dGhlIHRhZyBmcm9tIG91ciBsaXN0LiAqLwotICAgIGh0bWxlbGRlc2MgPSBodG1sZWxkZXNjczsK
LSAgICBmb3IgKDs7KSB7Ci0gICAgICAgIGlmICghaHRtbGVsZGVzYy0+bmFtZWxlbikgewotICAg
ICAgICAgICAgbG9jZXJyb3JleGl0KGZpbGVuYW1lLCAqcGxpbmVudW0sICJ1bnJlY29nbml6ZWQg
SFRNTCB0YWcgJS4qcyIsCi0gICAgICAgICAgICAgICAgICAgIGVuZCAtIHN0YXJ0LCBzdGFydCk7
Ci0gICAgICAgIH0KLSAgICAgICAgaWYgKGh0bWxlbGRlc2MtPm5hbWVsZW4gPT0gZW5kbmFtZSAt
IG5hbWUKLSAgICAgICAgICAgICAgICAmJiAhc3RybmNhc2VjbXAoaHRtbGVsZGVzYy0+bmFtZSwg
bmFtZSwgZW5kbmFtZSAtIG5hbWUpKQotICAgICAgICB7Ci0gICAgICAgICAgICBicmVhazsKLSAg
ICAgICAgfQotICAgICAgICBodG1sZWxkZXNjKys7Ci0gICAgfQotICAgIGlmIChjbG9zZSA9PSAx
KSB7Ci0gICAgICAgIC8qIENsb3NpbmcgdGFnLiBGaW5kIG9wZW4gZWxlbWVudCB0byBjbG9zZS4g
Ki8KLSAgICAgICAgZm9yICg7OykgewotICAgICAgICAgICAgc3RydWN0IGh0bWxjbm9kZSAqaHRt
bGNub2RlOwotICAgICAgICAgICAgaWYgKGNub2RlLT5mdW5jcyAhPSAmdGV4dF9mdW5jcykgewot
ICAgICAgICAgICAgICAgIGlmIChjbm9kZS0+ZnVuY3MgIT0gJmh0bWxfZnVuY3MpIHsKLSAgICAg
ICAgICAgICAgICAgICAgbG9jZXJyb3JleGl0KGZpbGVuYW1lLCAqcGxpbmVudW0sICJtaXNtYXRj
aGVkICUuKnMiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuZCAtIHN0YXJ0LCBzdGFy
dCk7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGh0bWxjbm9kZSA9IChzdHJ1
Y3QgaHRtbGNub2RlICopY25vZGU7Ci0gICAgICAgICAgICAgICAgaWYgKGh0bWxjbm9kZS0+ZGVz
YyA9PSBodG1sZWxkZXNjKQotICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAg
ICAgICBpZiAoIShodG1sY25vZGUtPmRlc2MtPmZsYWdzICYgSFRNTEVMX0FVVE9DTE9TRSkpIHsK
LSAgICAgICAgICAgICAgICAgICAgbG9jZXJyb3JleGl0KGZpbGVuYW1lLCBodG1sY25vZGUtPmNu
LmxpbmVudW0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1pc21hdGNoZWQgPCUuKnM+
IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBodG1sY25vZGUtPmRlc2MtPm5hbWVsZW4s
IGh0bWxjbm9kZS0+ZGVzYy0+bmFtZSk7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAg
fQotICAgICAgICAgICAgY25vZGUgPSBlbmRjbm9kZShjbm9kZSk7Ci0gICAgICAgIH0KLSAgICAg
ICAgY25vZGUgPSBlbmRjbm9kZShjbm9kZSk7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgLyogT3Bl
bmluZyB0YWcuICovCi0gICAgICBpZiAoY2xvc2UgIT0yKQotCSAgIGNub2RlID0gc3RhcnRodG1s
Y25vZGUoY25vZGUsIGh0bWxlbGRlc2MsIGVuZG5hbWUsIGVuZCAtIDEgLSBlbmRuYW1lLCBmaWxl
bmFtZSwgKnBsaW5lbnVtKTsKLSAgICAgIGVsc2UgLy8gZG9uJ3QgaW5jbHVkZSB0aGUgY2xvc2lu
ZyAiLyIgaW4gdGhlIGF0dHJpYnV0ZXMgbGlzdAotCSAgIGNub2RlID0gc3RhcnRodG1sY25vZGUo
Y25vZGUsIGh0bWxlbGRlc2MsIGVuZG5hbWUsIGVuZCAtIDIgLSBlbmRuYW1lLCBmaWxlbmFtZSwg
KnBsaW5lbnVtKTsKLSAgICAgIGlmIChjbG9zZSA9PSAyIHx8IChodG1sZWxkZXNjLT5jb250ZW50
ICYgSFRNTEVMX0VNUFRZKSkgewotCS8qIEVtcHR5IGVsZW1lbnQgLS0gY2xvc2UgaXQgYWdhaW4u
ICovCi0JY25vZGUgPSBlbmRjbm9kZShjbm9kZSk7Ci0gICAgICB9Ci0gICAgfQotICAgICpwY25v
ZGUgPSBjbm9kZTsKLSAgICAqcGxpbmVudW0gPSBsaW5lbnVtOwotICAgIHJldHVybiBlbmQ7Ci19
Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKgotICogcGFyc2Vjb21tZW50IDogcGFyc2Ugb25lIGNvbW1lbnQK
LSAqCi0gKiBFbnRlcjogICBjb21tZW50IHN0cnVjdAotICovCi1zdGF0aWMgdm9pZAotcGFyc2Vj
b21tZW50KHN0cnVjdCBjb21tZW50ICpjb21tZW50KQotewotICAgIHN0cnVjdCBjbm9kZSAqY25v
ZGUgPSAmY29tbWVudC0+cm9vdDsKLSAgICBjb25zdCBjaGFyICpwID0gY29tbWVudC0+dGV4dCAr
IGNvbW1lbnQtPmJhY2s7Ci0gICAgdW5zaWduZWQgaW50IGxpbmVudW0gPSBjb21tZW50LT5saW5l
bnVtIC0gMTsKLSAgICBpbnQgY2g7Ci0gICAgY3VyY29tbWVudCA9IGNvbW1lbnQ7Ci0gICAgaW5j
b2RlID0gMDsKLSAgICBpbmh0bWxibG9jayA9IDA7Ci0gICAgY25vZGUtPmZ1bmNzID0gJnJvb3Rf
ZnVuY3M7Ci0gICAgZm9yICg7OykgewotICAgICAgICAvKiBTdGFydCBvZiBuZXcgbGluZS4gKi8K
LSAgICAgICAgY29uc3QgY2hhciAqc3RhcnR0ZXh0OwotICAgICAgICBjaCA9ICpwOwotICAgICAg
ICBsaW5lbnVtKys7Ci0gICAgICAgIHsKLSAgICAgICAgICAgIC8qIEZpbmQgZmlyc3Qgbm9uLXdo
aXRlc3BhY2UgY2hhcmFjdGVyLiAqLwotICAgICAgICAgICAgY29uc3QgY2hhciAqcDIgPSBwOwot
ICAgICAgICAgICAgaW50IGNoMiA9IGNoOwotICAgICAgICAgICAgd2hpbGUgKGlzd2hpdGVzcGFj
ZShjaDIpKQotICAgICAgICAgICAgICAgIGNoMiA9ICorK3AyOwotICAgICAgICAgICAgaWYgKGNv
bW1lbnQtPnR5cGUgPT0gVE9LX0JMT0NLQ09NTUVOVCAmJiBjaDIgPT0gJyonKSB7Ci0gICAgICAg
ICAgICAgICAgLyogSWdub3JlIGluaXRpYWwgKiBpbiBibG9jayBjb21tZW50IChldmVuIGluIFxj
b2RlIGJsb2NrKS4gKi8KLSAgICAgICAgICAgICAgICBjaDIgPSAqKytwMjsKLSAgICAgICAgICAg
ICAgICBjaCA9IGNoMjsKLSAgICAgICAgICAgICAgICBwID0gcDI7Ci0gICAgICAgICAgICAgICAg
aWYgKGNoID09ICcqJykKLSAgICAgICAgICAgICAgICAgICAgZ290byBjaGVja2ZvcmxpbmVvZnN0
YXJzOwotICAgICAgICAgICAgICAgIHdoaWxlIChpc3doaXRlc3BhY2UoY2gyKSkKLSAgICAgICAg
ICAgICAgICAgICAgY2gyID0gKisrcDI7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBpZiAo
Y29tbWVudC0+dHlwZSA9PSBUT0tfSU5MSU5FQ09NTUVOVCAmJiBjaDIgPT0gJy8nKSB7Ci1jaGVj
a2ZvcmxpbmVvZnN0YXJzOgotICAgICAgICAgICAgICAgIGlmICghaW5jb2RlKSB7Ci0gICAgICAg
ICAgICAgICAgICAgIC8qIElnbm9yZSB3aG9sZSBsaW5lIG9mICogZm9yIGJsb2NrIGNvbW1lbnQg
b3IgLyBmb3IgaW5saW5lCi0gICAgICAgICAgICAgICAgICAgICAqIGNvbW1lbnQgaWYgdGhhdCBp
cyB0aGUgb25seSB0aGluZyBvbiB0aGUgbGluZS4gKi8KLSAgICAgICAgICAgICAgICAgICAgY29u
c3QgY2hhciAqcDMgPSBwMjsKLSAgICAgICAgICAgICAgICAgICAgaW50IGNoMzsKLSAgICAgICAg
ICAgICAgICAgICAgZG8gY2gzID0gKisrcDM7IHdoaWxlIChjaDMgPT0gY2gyKTsKLSAgICAgICAg
ICAgICAgICAgICAgd2hpbGUgKGlzd2hpdGVzcGFjZShjaDMpKSBjaDMgPSAqKytwMzsKLSAgICAg
ICAgICAgICAgICAgICAgaWYgKCFjaDMgfHwgY2gzID09ICdcbicpIHsKLSAgICAgICAgICAgICAg
ICAgICAgICAgIC8qIFJlYWNoZWQgZW5kIG9mIGxpbmUgKG9yIHdob2xlIGNvbW1lbnQpIC0tIHRy
ZWF0IGFzCi0gICAgICAgICAgICAgICAgICAgICAgICAgKiBlbXB0eSBsaW5lLiAqLwotICAgICAg
ICAgICAgICAgICAgICAgICAgY2gyID0gY2gzOwotICAgICAgICAgICAgICAgICAgICAgICAgcDIg
PSBwMzsKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIH0KLSAgICAgICAg
ICAgIH0KLSAgICAgICAgICAgIGlmICghaW5jb2RlKSB7Ci0gICAgICAgICAgICAgICAgLyogT25s
eSBhbGxvdyB3aGl0ZXNwYWNlIG9taXNzaW9uIGFib3ZlIHRvIHRha2UgZWZmZWN0IGlmCi0gICAg
ICAgICAgICAgICAgICogbm90IGluIFxjb2RlIGJsb2NrLiAqLwotICAgICAgICAgICAgICAgIGNo
ID0gY2gyOwotICAgICAgICAgICAgICAgIHAgPSBwMjsKLSAgICAgICAgICAgIH0KLSAgICAgICAg
fQotICAgICAgICBpZiAoIWNoKSB7Ci0gICAgICAgICAgICAvKiBFbmQgb2YgY29tbWVudHMgLS0g
ZmluaXNoLiAqLwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLSAgICAgICAgaWYgKCFp
bmNvZGUgJiYgIWluaHRtbGJsb2NrICYmIGNoID09ICdcbicpIHsKLSAgICAgICAgICAgIC8qIEJs
YW5rIGxpbmUgLS0gZmluaXNoIGFueSBwYXJhLCBidXQgb25seSBpZiBub3QgaW4gY29kZSBhbmQK
LSAgICAgICAgICAgICAqIG5vdCBpbiBhbnkgSFRNTCBibG9jayBlbGVtZW50LiAqLwotICAgICAg
ICAgICAgd2hpbGUgKCgqY25vZGUtPmZ1bmNzLT5hc2tlbmQpKGNub2RlLCAwKSkKLSAgICAgICAg
ICAgICAgICBjbm9kZSA9IGVuZGNub2RlKGNub2RlKTsKLSAgICAgICAgICAgIHArKzsKLSAgICAg
ICAgICAgIGNvbnRpbnVlOwotICAgICAgICB9Ci0gICAgICAgIC8qIFN0YXJ0IG5ldyBwYXJhIGlm
IHRoZXJlIGlzbid0IGFscmVhZHkgb25lIGdvaW5nLiAqLwotICAgICAgICBpZiAoY25vZGUtPmZ1
bmNzLT5uZWVkcGFyYSkKLSAgICAgICAgICAgIGNub2RlID0gc3RhcnRwYXJhKGNub2RlLCAmcGFy
YV9mdW5jcyk7Ci0gICAgICAgIC8qIFByb2Nlc3MgdGV4dCBvbiB0aGUgbGluZS4gKi8KLSAgICAg
ICAgc3RhcnR0ZXh0ID0gcDsKLSAgICAgICAgd2hpbGUgKGNoICYmIGNoICE9ICdcbicpIHsKLSAg
ICAgICAgICAgIGlmIChjaCAhPSAnXFwnICYmIGNoICE9ICc8JyAvKiAmJiBjaCAhPSAnQCcgKi8g
JiYgY2ggIT0gJyQnCi0gICAgICAgICAgICAgICAgICAgICYmIGNoICE9ICcmJyAmJiBjaCAhPSAn
XHInKQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIGNoID0gKisrcDsKLSAgICAgICAg
ICAgICAgICBjb250aW51ZTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIC8qIE91dHB1dCBh
bnkgcGVuZGluZyB0ZXh0LiAqLwotICAgICAgICAgICAgaWYgKHAgLSBzdGFydHRleHQpCi0gICAg
ICAgICAgICAgICAgY25vZGUgPSBhZGR0ZXh0KGNub2RlLCBzdGFydHRleHQsIHAgLSBzdGFydHRl
eHQpOwotCSAgICAvKiBJZ25vcmUgXHIgaW4gRE9TIGxpbmUgcmV0dXJucyAqLwotCSAgICBpZiAo
Y2ggPT0gJ1xyJykgewotCSAgICAgICAgY2ggPSAqKytwOwotICAJICAgICAgICBzdGFydHRleHQg
PSBwOwotCQljb250aW51ZTsKLQkgICAgfQotICAgICAgICAgICAgaWYgKGNoID09ICckJykKLSAg
ICAgICAgICAgICAgICBsb2NlcnJvcmV4aXQoY29tbWVudC0+ZmlsZW5hbWUsIGxpbmVudW0sICJ1
c2UgXFwkIGluc3RlYWQgb2YgJCIpOwotICAgICAgICAgICAgLyogU2VlIGlmIGl0IGlzIGFuIGh0
bWwgbmFtZWQgZW50aXR5LiAqLwotICAgICAgICAgICAgaWYgKGNoID09ICcmJyAmJiBwWzFdICE9
ICcjJykgewotICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmVudGl0eSA9IEVOVElUSUVTOwot
ICAgICAgICAgICAgICAgIC8qIFRoaXMgc2VhcmNoIGNvdWxkIGJlIGZhc3RlciBpZiB0aGUgZW50
aXR5IG5hbWVzIHdlcmUgcHV0Ci0gICAgICAgICAgICAgICAgICogaW4gYSBoYXNoIHRhYmxlIG9y
IHNvbWV0aGluZy4gKi8KLSAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpzZW1pY29sb24gPSBz
dHJjaHIocCwgJzsnKTsKLSAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgbGVuOwotICAgICAg
ICAgICAgICAgIGlmICghc2VtaWNvbG9uKQotICAgICAgICAgICAgICAgICAgICBsb2NlcnJvcmV4
aXQoY29tbWVudC0+ZmlsZW5hbWUsIGxpbmVudW0sICJ1bnRlcm1pbmF0ZWQgSFRNTCBlbnRpdHki
KTsKLSAgICAgICAgICAgICAgICBwKys7Ci0gICAgICAgICAgICAgICAgZm9yICg7OykgewotICAg
ICAgICAgICAgICAgICAgICBsZW4gPSBzdHJsZW4oZW50aXR5KTsKLSAgICAgICAgICAgICAgICAg
ICAgaWYgKCFsZW4pCi0gICAgICAgICAgICAgICAgICAgICAgICBsb2NlcnJvcmV4aXQoY29tbWVu
dC0+ZmlsZW5hbWUsIGxpbmVudW0sICJ1bnJlY29nbmlzZWQgSFRNTCBlbnRpdHkgJiUuKnM7Iiwg
c2VtaWNvbG9uIC0gcCwgcCk7Ci0gICAgICAgICAgICAgICAgICAgIGlmIChsZW4gPT0gc2VtaWNv
bG9uIC0gcCAmJiAhbWVtY21wKHAsIGVudGl0eSwgbGVuKSkKLSAgICAgICAgICAgICAgICAgICAg
ICAgIGJyZWFrOwotICAgICAgICAgICAgICAgICAgICBlbnRpdHkgKz0gbGVuICsgMTsKLSAgICAg
ICAgICAgICAgICAgICAgZW50aXR5ICs9IHN0cmxlbihlbnRpdHkpICsgMTsKLSAgICAgICAgICAg
ICAgICB9Ci0gICAgICAgICAgICAgICAgZW50aXR5ICs9IGxlbiArIDE7Ci0gICAgICAgICAgICAg
ICAgY25vZGUgPSBhZGR0ZXh0KGNub2RlLCBlbnRpdHksIHN0cmxlbihlbnRpdHkpKTsKLSAgICAg
ICAgICAgICAgICBwID0gc2VtaWNvbG9uICsgMTsKLSAgICAgICAgICAgICAgICBjaCA9ICpwOwot
ICAgICAgICAgICAgICAgIHN0YXJ0dGV4dCA9IHA7Ci0gICAgICAgICAgICAgICAgY29udGludWU7
Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICAvKiBTZWUgaWYgaXQgaXMgYSBiYWNrc2xhc2gg
ZXNjYXBlIHNlcXVlbmNlLiAqLwotICAgICAgICAgICAgZWxzZSBpZiAoY2ggPT0gJ1xcJykgewot
ICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKm1hdGNoID0gIlxcQCYkIzw+JSI7Ci0gICAgICAg
ICAgICAgICAgY29uc3QgY2hhciAqcG9zOwotICAgICAgICAgICAgICAgIGNoID0gcFsxXTsKLSAg
ICAgICAgICAgICAgICBwb3MgPSBzdHJjaHIobWF0Y2gsIGNoKTsKLSAgICAgICAgICAgICAgICBp
ZiAocG9zKSB7Ci0gICAgICAgICAgICAgICAgICAgIC8qIEdvdCBhIFwgZXNjYXBlIHNlcXVlbmNl
LiAqLwotICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICp0ZXh0ID0gCi0gICAgICAgICAg
ICAgICAgICAgICAgICAiXFxcMCAgICBAXDAgICAgJmFtcDtcMCRcMCAgICAjXDAgICAgJmx0O1ww
ID5cMCAgICAlIgotICAgICAgICAgICAgICAgICAgICAgICAgKyA2ICogKHBvcyAtIG1hdGNoKTsK
LSAgICAgICAgICAgICAgICAgICAgY25vZGUgPSBhZGR0ZXh0KGNub2RlLCB0ZXh0LCBzdHJsZW4o
dGV4dCkpOwotICAgICAgICAgICAgICAgICAgICBwICs9IDI7Ci0gICAgICAgICAgICAgICAgICAg
IGNoID0gKnA7Ci0gICAgICAgICAgICAgICAgICAgIHN0YXJ0dGV4dCA9IHA7Ci0gICAgICAgICAg
ICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0gZWxz
ZSBpZiAoY2ggPT0gJzwnKSB7Ci0gICAgICAgICAgICAgICAgaWYgKGluY29kZSkgewotICAgICAg
ICAgICAgICAgICAgICBjaCA9ICorK3A7Ci0gICAgICAgICAgICAgICAgICAgIHN0YXJ0dGV4dCA9
IHA7Ci0gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAgICAgICAgIH0KLSAg
ICAgICAgICAgICAgICAvKiBJdCdzIGFuIGh0bWwgdGFnLiAqLwotICAgICAgICAgICAgICAgIHAg
PSBwYXJzZWh0bWx0YWcocCwgJmNub2RlLCBjb21tZW50LT5maWxlbmFtZSwgJmxpbmVudW0pOwot
ICAgICAgICAgICAgICAgIGNoID0gKnA7Ci0gICAgICAgICAgICAgICAgc3RhcnR0ZXh0ID0gcDsK
LSAgICAgICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIHsK
LSAgICAgICAgICAgICAgICAvKiBHb3QgYSBkb3h5Z2VuIGNvbW1hbmQuIEZpcnN0IHdvcmsgb3V0
IGl0cyBsZW5ndGguICovCi0gICAgICAgICAgICAgICAgY29uc3QgY2hhciAqc3RhcnQgPSArK3A7
Ci0gICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IGNtZGxlbjsKLSAgICAgICAgICAgICAgICBj
b25zdCBzdHJ1Y3QgY29tbWFuZCAqY29tbWFuZDsKLSAgICAgICAgICAgICAgICBjaCA9ICpwOwot
ICAgICAgICAgICAgICAgIHdoaWxlICgodW5zaWduZWQpKChjaCAmIH4weDIwKSAtICdBJykgPD0g
J1onIC0gJ0EnCi0gICAgICAgICAgICAgICAgICAgICAgICB8fCAodW5zaWduZWQpKGNoIC0gJzAn
KSA8IDEwIHx8IGNoID09ICdfJyB8fCBjaCA9PSAnLScpCi0gICAgICAgICAgICAgICAgewotICAg
ICAgICAgICAgICAgICAgICBjaCA9ICorK3A7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAg
ICAgICAgIGNtZGxlbiA9IHAgLSBzdGFydDsKLSAgICAgICAgICAgICAgICBpZiAoIWNtZGxlbikK
LSAgICAgICAgICAgICAgICAgICAgbG9jZXJyb3JleGl0KGNvbW1lbnQtPmZpbGVuYW1lLCBsaW5l
bnVtLCAiXFwgb3IgQCB3aXRob3V0IERveHlnZW4gY29tbWFuZCIpOwotICAgICAgICAgICAgICAg
IC8qIExvb2sgaXQgdXAgaW4gdGhlIHRhYmxlLiAqLwotICAgICAgICAgICAgICAgIGNvbW1hbmQg
PSBjb21tYW5kczsKLSAgICAgICAgICAgICAgICBmb3IgKDs7KSB7Ci0gICAgICAgICAgICAgICAg
ICAgIGlmICghY29tbWFuZC0+bmFtZWxlbikgewotICAgICAgICAgICAgICAgICAgICAgICAgbG9j
ZXJyb3JleGl0KGNvbW1lbnQtPmZpbGVuYW1lLCBsaW5lbnVtLCAidW5yZWNvZ25pemVkIERveHln
ZW4gY29tbWFuZCAnJS4qcyciLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbWRs
ZW4gKyAxLCBzdGFydCAtIDEpOwotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAg
ICAgICAgIGlmIChjb21tYW5kLT5uYW1lbGVuID09IGNtZGxlbgotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICYmICFtZW1jbXAoY29tbWFuZC0+bmFtZSwgc3RhcnQsIGNtZGxlbikpCi0gICAg
ICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAg
ICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgIGNvbW1hbmQrKzsKLSAgICAgICAg
ICAgICAgICB9Ci0gICAgICAgICAgICAgICAgcCA9ICgqY29tbWFuZC0+ZnVuYykocCwgJmNub2Rl
LCBjb21tYW5kLT50eXBlLAotICAgICAgICAgICAgICAgICAgICAgICAgY29tbWVudC0+ZmlsZW5h
bWUsIGxpbmVudW0sIGNvbW1hbmQtPm5hbWUpOwotICAgICAgICAgICAgICAgIGNoID0gKnA7Ci0g
ICAgICAgICAgICAgICAgc3RhcnR0ZXh0ID0gcDsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQot
ICAgICAgICBpZiAocCAtIHN0YXJ0dGV4dCkgewotICAgICAgICAgICAgLyogU3RhcnQgbmV3IHBh
cmEgaWYgdGhlcmUgaXNuJ3QgYWxyZWFkeSBvbmUgZ29pbmcuICovCi0gICAgICAgICAgICBpZiAo
Y25vZGUtPmZ1bmNzLT5uZWVkcGFyYSkKLSAgICAgICAgICAgICAgICBjbm9kZSA9IHN0YXJ0cGFy
YShjbm9kZSwgJnBhcmFfZnVuY3MpOwotICAgICAgICAgICAgY25vZGUgPSBhZGR0ZXh0KGNub2Rl
LCBzdGFydHRleHQsIHAgLSBzdGFydHRleHQpOwotICAgICAgICB9Ci0gICAgICAgIGlmICghY2gp
Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgaWYgKGNub2RlLT5mdW5jcyA9PSAmdGV4dF9m
dW5jcykKLSAgICAgICAgICAgIGFkZHRleHQoY25vZGUsICJcbiIsIDEpOwotICAgICAgICBwKys7
Ci0gICAgfQotICAgIC8qIEZpbmlzaCB0aGUgcm9vdCBjbm9kZS4gKi8KLSAgICBkbwotICAgICAg
ICBjbm9kZSA9IGVuZGNub2RlKGNub2RlKTsKLSAgICB3aGlsZSAoY25vZGUpOwotICAgIGFzc2Vy
dCghaW5jb2RlKTsKLSAgICBhc3NlcnQoIWluaHRtbGJsb2NrKTsKLX0KLQotLyoqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqCi0gKiBwYXJzZWNvbW1lbnRzIDogcGFyc2UgY29tbWVudHMKLSAqCi0gKiBFbnRlcjogICBj
b21tZW50ID0gZmlyc3QgY29tbWVudCBpbiBsaXN0Ci0gKi8KLXN0YXRpYyB2b2lkCi1wYXJzZWNv
bW1lbnRzKHN0cnVjdCBjb21tZW50ICpjb21tZW50KQotewotICAgIHdoaWxlIChjb21tZW50KSB7
Ci0gICAgICAgIHBhcnNlY29tbWVudChjb21tZW50KTsKLSAgICAgICAgY29tbWVudCA9IGNvbW1l
bnQtPm5leHQ7Ci0gICAgfQotfQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIGF0dGFjaGNvbW1lbnR0
b25vZGUgOiBhdHRhY2ggY29tbWVudCBzdHJ1Y3QgdG8gbm9kZQotICoKLSAqIEVudGVyOiAgIG5v
ZGUgPSBwYXJzZSBub2RlIGZvciBpZGVudGlmaWVyCi0gKiAgICAgICAgICBjb21tZW50ID0gY29t
bWVudCBzdHJ1Y3QKLSAqLwotc3RhdGljIHZvaWQKLWF0dGFjaGNvbW1lbnR0b25vZGUoc3RydWN0
IG5vZGUgKm5vZGUsIHN0cnVjdCBjb21tZW50ICpjb21tZW50KQotewotICAgIGNvbW1lbnQtPm5l
eHQgPSBub2RlLT5jb21tZW50czsKLSAgICBub2RlLT5jb21tZW50cyA9IGNvbW1lbnQ7Ci19Ci0K
LS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKgotICogYXR0YWNoY29tbWVudHMgOiBhdHRhY2ggY29tbWVudHMgdG8g
YXBwbGljYWJsZSBwYXJzZSBub2RlcwotICoKLSAqIEVudGVyOiAgIGNvbW1lbnQgPSBmaXJzdCBp
biAocmV2ZXJzZWQpIGxpc3Qgb2YgY29tbWVudCBzdHJ1Y3RzCi0gKiAgICAgICAgICByb290ID0g
cm9vdCBwYXJzZSBub2RlIChmb3IgYXR0YWNoaW5nIFxmaWxlIGNvbW1lbnQgYmxvY2tzIHRvKQot
ICovCi1zdGF0aWMgdm9pZAotYXR0YWNoY29tbWVudHMoc3RydWN0IGNvbW1lbnQgKmNvbW1lbnQs
IHN0cnVjdCBub2RlICpyb290KQotewotICAgIHdoaWxlIChjb21tZW50KSB7Ci0gICAgICAgIHN0
cnVjdCBjb21tZW50ICpuZXh0ID0gY29tbWVudC0+bmV4dDsKLSAgICAgICAgLyogU2VlIGlmIHRo
ZXJlIGFyZSBhbnkgXHBhcmFtLCBccmV0dXJuLCBcdGhyb3csIFxkZWYtYXBpLWZlYXR1cmUgb3IK
LSAgICAgICAgICogXGRlZi1kZXZpY2UtY2FwIGNub2RlcyB0byBkZXRhY2ggYW5kIGF0dGFjaAot
ICAgICAgICAgKiBlbHNld2hlcmUuIChUaGlzIG9ubHkgbG9va3MgYXQgdG9wLWxldmVsIG5vZGVz
LCBkaXJlY3QgY2hpbGRyZW4KLSAgICAgICAgICogb2YgdGhlIHJvb3QsIHNvIGRvZXMgbm90IGRl
dGFjaCBhIFxwYXJhbSBpbnNpZGUgYQotICAgICAgICAgKiBcZGVmLWRldmljZS1jYXAuKSAqLwot
ICAgICAgICBzdHJ1Y3QgY25vZGUgKipwY25vZGUgPSAmY29tbWVudC0+cm9vdC5jaGlsZHJlbjsK
LSAgICAgICAgZm9yICg7OykgewotICAgICAgICAgICAgc3RydWN0IGNub2RlICpjbm9kZSA9ICpw
Y25vZGU7Ci0gICAgICAgICAgICBpZiAoIWNub2RlKQotICAgICAgICAgICAgICAgIGJyZWFrOwot
ICAgICAgICAgICAgaWYgKGNub2RlLT5mdW5jcyA9PSAmcGFyYW1fZnVuY3MgfHwgY25vZGUtPmZ1
bmNzID09ICZyZXR1cm5fZnVuY3MKLSAgICAgICAgICAgICAgICAgICAgfHwgY25vZGUtPmZ1bmNz
ID09ICZ0aHJvd19mdW5jcykKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAvKiBGb3Vu
ZCBhIFxwYXJhbSBvciBccmV0dXJuIG9yIFx0aHJvdyB0byBkZXRhY2guIEZpbmQgdGhlCi0gICAg
ICAgICAgICAgICAgICogcGFyYW1ldGVyL2V4Y2VwdGlvbiBvZiB0aGUgc2FtZSBuYW1lLCBvciB0
aGUgcmV0dXJuIHR5cGUuICovCi0gICAgICAgICAgICAgICAgc3RydWN0IG5vZGUgKm5vZGU7Ci0g
ICAgICAgICAgICAgICAgc3RydWN0IGNvbW1lbnQgKm5ld2NvbW1lbnQ7Ci0gICAgICAgICAgICAg
ICAgaWYgKGNub2RlLT5mdW5jcyA9PSAmcGFyYW1fZnVuY3MpIHsKLSAgICAgICAgICAgICAgICAg
ICAgbm9kZSA9IGZpbmRwYXJhbWlkZW50aWZpZXIoY29tbWVudC0+bm9kZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICgoc3RydWN0IHBhcmFtY25vZGUgKiljbm9kZSktPm5hbWUpOwotICAgICAg
ICAgICAgICAgICAgICBpZiAoIW5vZGUpCi0gICAgICAgICAgICAgICAgICAgICAgICBsb2NlcnJv
cmV4aXQoY29tbWVudC0+ZmlsZW5hbWUsIGNub2RlLT5saW5lbnVtLCAibm8gcGFyYW1ldGVyICcl
cycgZm91bmQiLCAoKHN0cnVjdCBwYXJhbWNub2RlICopY25vZGUpLT5uYW1lKTsKLSAgICAgICAg
ICAgICAgICB9IGVsc2UgaWYgKGNub2RlLT5mdW5jcyA9PSAmcmV0dXJuX2Z1bmNzKSB7Ci0gICAg
ICAgICAgICAgICAgICAgIG5vZGUgPSBmaW5kcmV0dXJudHlwZShjb21tZW50LT5ub2RlKTsKLSAg
ICAgICAgICAgICAgICAgICAgaWYgKCFub2RlKQotICAgICAgICAgICAgICAgICAgICAgICAgbG9j
ZXJyb3JleGl0KGNvbW1lbnQtPmZpbGVuYW1lLCBjbm9kZS0+bGluZW51bSwgIm5vIHJldHVybiB0
eXBlIGZvdW5kIik7Ci0gICAgICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAg
ICAgbm9kZSA9IGZpbmR0aHJvd2lkZW50aWZpZXIoY29tbWVudC0+bm9kZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICgoc3RydWN0IHBhcmFtY25vZGUgKiljbm9kZSktPm5hbWUpOwotICAgICAg
ICAgICAgICAgICAgICBpZiAoIW5vZGUpCi0gICAgICAgICAgICAgICAgICAgICAgICBsb2NlcnJv
cmV4aXQoY29tbWVudC0+ZmlsZW5hbWUsIGNub2RlLT5saW5lbnVtLCAibm8gZXhjZXB0aW9uICcl
cycgZm91bmQiLCAoKHN0cnVjdCBwYXJhbWNub2RlICopY25vZGUpLT5uYW1lKTsKLSAgICAgICAg
ICAgICAgICB9Ci0gICAgICAgICAgICAgICAgLyogRGV0YWNoIHRoZSBjbm9kZSBmcm9tIGl0cyBv
bGQgY29tbWVudC4gKi8KLSAgICAgICAgICAgICAgICAqcGNub2RlID0gY25vZGUtPm5leHQ7Ci0g
ICAgICAgICAgICAgICAgLyogQ3JlYXRlIGEgbmV3IGNvbW1lbnQgc3RydWN0IHRvIGNvbnRhaW4g
dGhpcyBjbm9kZS4gKi8KLSAgICAgICAgICAgICAgICBuZXdjb21tZW50ID0gbWVtYWxsb2Moc2l6
ZW9mKHN0cnVjdCBjb21tZW50KSk7Ci0gICAgICAgICAgICAgICAgbmV3Y29tbWVudC0+cm9vdC5m
dW5jcyA9ICZyb290X2Z1bmNzOwotICAgICAgICAgICAgICAgIG5ld2NvbW1lbnQtPmxpbmVudW0g
PSBjbm9kZS0+bGluZW51bTsKLSAgICAgICAgICAgICAgICAvKiBBdHRhY2ggdGhlIGNub2RlLiAq
LwotICAgICAgICAgICAgICAgIG5ld2NvbW1lbnQtPnJvb3QuY2hpbGRyZW4gPSBjbm9kZTsKLSAg
ICAgICAgICAgICAgICBjbm9kZS0+cGFyZW50ID0gJm5ld2NvbW1lbnQtPnJvb3Q7Ci0gICAgICAg
ICAgICAgICAgY25vZGUtPm5leHQgPSAwOwotICAgICAgICAgICAgICAgIC8qIE1ha2UgdGhlIGNu
b2RlIGEgXHJldHVybiBvbmUsIGp1c3Qgc28gZXZlbiBhIFxwYXJhbQotICAgICAgICAgICAgICAg
ICAqIHVzZXMgcmV0dXJuX291dHB1dC4gKi8KLSAgICAgICAgICAgICAgICBjbm9kZS0+ZnVuY3Mg
PSAmcmV0dXJuX2Z1bmNzOwotICAgICAgICAgICAgICAgIC8qIEF0dGFjaCB0aGUgbmV3IGNvbW1l
bnQgc3RydWN0IHRvIHRoZSBwYXJzZSBub2RlLiAqLwotICAgICAgICAgICAgICAgIGF0dGFjaGNv
bW1lbnR0b25vZGUobm9kZSwgbmV3Y29tbWVudCk7Ci0gICAgICAgICAgICB9IGVsc2UgewotICAg
ICAgICAgICAgICAgIHBjbm9kZSA9ICZjbm9kZS0+bmV4dDsKLSAgICAgICAgICAgIH0KLSAgICAg
ICAgfQotICAgICAgICAvKiBOb3cgYXR0YWNoIHRoZSBjb21tZW50IHRvIGl0cyBpZGVudGlmaWVy
IHBhcnNlIG5vZGUuICovCi0gICAgICAgIHsKLSAgICAgICAgICAgIHN0cnVjdCBub2RlICpub2Rl
ID0gY29tbWVudC0+bm9kZTsKLSAgICAgICAgICAgIGlmICghbm9kZSkKLSAgICAgICAgICAgICAg
ICBub2RlID0gcm9vdDsKLSAgICAgICAgICAgIGF0dGFjaGNvbW1lbnR0b25vZGUobm9kZSwgY29t
bWVudCk7Ci0gICAgICAgIH0KLSAgICAgICAgY29tbWVudCA9IG5leHQ7Ci0gICAgfQotfQotCi0v
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioKLSAqIHByb2Nlc3Njb21tZW50cyA6IGpvaW4sIHBhcnNlIGFuZCBhdHRh
Y2ggY29tbWVudHMKLSAqCi0gKiBFbnRlcjogICByb290ID0gcm9vdCBwYXJzZSBub2RlCi0gKi8K
LXZvaWQKLXByb2Nlc3Njb21tZW50cyhzdHJ1Y3Qgbm9kZSAqcm9vdCkKLXsKLSAgICBjb21tZW50
cyA9IGpvaW5pbmxpbmVjb21tZW50cyhjb21tZW50cyk7Ci0gICAgcGFyc2Vjb21tZW50cyhjb21t
ZW50cyk7Ci0gICAgYXR0YWNoY29tbWVudHMoY29tbWVudHMsIHJvb3QpOwotfQotCi0vKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioKLSAqIG91dHB1dGRlc2NyaXB0aXZlIDogb3V0cHV0IGRlc2NyaXB0aXZlIGVsZW1l
bnRzIGZvciBhIG5vZGUKLSAqCi0gKiBFbnRlcjogICBub2RlID0gaWRlbnRpZmllciBub2RlIHRo
YXQgbWlnaHQgaGF2ZSBzb21lIGNvbW1lbnRzCi0gKiAgICAgICAgICBpbmRlbnQgPSBpbmRlbnQg
KG5lc3RpbmcpIGxldmVsCi0gKi8KLXZvaWQKLW91dHB1dGRlc2NyaXB0aXZlKHN0cnVjdCBub2Rl
ICpub2RlLCB1bnNpZ25lZCBpbnQgaW5kZW50KQotewotICAgIHN0cnVjdCBjb21tZW50ICpjb21t
ZW50ID0gbm9kZS0+Y29tbWVudHM7Ci0gICAgaW50IGluZGVzY3JpcHRpdmUgPSAwOwotICAgIHdo
aWxlIChjb21tZW50KSB7Ci0gICAgICAgIHN0cnVjdCBjbm9kZSAqcm9vdCA9ICZjb21tZW50LT5y
b290OwotICAgICAgICBpZiAoIWluZGVzY3JpcHRpdmUpCi0gICAgICAgICAgICBwcmludGYoIiUq
czxkZXNjcmlwdGl2ZT5cbiIsIGluZGVudCwgIiIpOwotICAgICAgICBpbmRlc2NyaXB0aXZlID0g
MTsKLSAgICAgICAgKCpyb290LT5mdW5jcy0+b3V0cHV0KShyb290LCBpbmRlbnQgKyAyKTsKLSAg
ICAgICAgY29tbWVudCA9IGNvbW1lbnQtPm5leHQ7Ci0gICAgfQotICAgIGlmIChpbmRlc2NyaXB0
aXZlKQotICAgICAgICBwcmludGYoIiUqczwvZGVzY3JpcHRpdmU+XG4iLCBpbmRlbnQsICIiKTsK
LX0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9zcmMvY29tbWVudC5oIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3dpZGxwcm9jL3NyYy9jb21tZW50LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDk2ZDE4ZTJjYzhhLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mvc3JjL2Nv
bW1lbnQuaAorKysgL2Rldi9udWxsCkBAIC0xLDI1ICswLDAgQEAKLS8qKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgot
ICogJElkJAotICogQ29weXJpZ2h0IDIwMDkgQXBsaXggQ29ycG9yYXRpb24uIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCi0gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24g
Mi4wICh0aGUgIkxpY2Vuc2UiKTsKLSAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0
IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KLSAqIFlvdSBtYXkgb2J0YWluIGEgY29w
eSBvZiB0aGUgTGljZW5zZSBhdAotICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNl
cy9MSUNFTlNFLTIuMAotICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFn
cmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQotICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExp
Y2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKLSAqIFdJVEhPVVQgV0FS
UkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBs
aWVkLgotICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJu
aW5nIHBlcm1pc3Npb25zIGFuZAotICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCi0g
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKiovCi0jaWZuZGVmIGNvbW1lbnRfaAotI2RlZmluZSBjb21tZW50X2gKLQot
c3RydWN0IHRvazsKLXN0cnVjdCBub2RlOwotCi12b2lkIGFkZGNvbW1lbnQoc3RydWN0IHRvayAq
dG9rKTsKLXZvaWQgc2V0Y29tbWVudG5vZGUoc3RydWN0IG5vZGUgKm5vZGUyKTsKLXZvaWQgcHJv
Y2Vzc2NvbW1lbnRzKHN0cnVjdCBub2RlICpyb290KTsKLXZvaWQgb3V0cHV0ZGVzY3JpcHRpdmUo
c3RydWN0IG5vZGUgKm5vZGUsIHVuc2lnbmVkIGludCBpbmRlbnQpOwotCi0jZW5kaWYgLyogbmRl
ZiBjb21tZW50X2ggKi8KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9zcmMvZW50aXRp
ZXMuaCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9zcmMvZW50aXRpZXMuaApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggZmY3NGMxY2IzYjIuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93
aWRscHJvYy9zcmMvZW50aXRpZXMuaAorKysgL2Rldi9udWxsCkBAIC0xLDI3MSArMCwwIEBACi0v
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioKLSAqICRJZCQKLSAqIENvcHlyaWdodCAyMDA5IEFwbGl4IENvcnBvcmF0
aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBM
aWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7Ci0gKiB5b3UgbWF5IG5vdCB1c2Ug
dGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCi0gKiBZb3Ug
bWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKLSAqICAgICBodHRwOi8vd3d3LmFw
YWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKLSAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBs
aWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKLSAqIGRpc3RyaWJ1
dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMs
Ci0gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVy
IGV4cHJlc3Mgb3IgaW1wbGllZC4KLSAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmlj
IGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKLSAqIGxpbWl0YXRpb25zIHVuZGVy
IHRoZSBMaWNlbnNlLgotICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwotI2lmbmRlZiBlbnRpdGllc19oCi0jZGVm
aW5lIGVudGl0aWVzX2gKLQotI2RlZmluZSBFTlRJVElFUyBcCi0ibmJzcFwwJiMxNjA7XDAiIFwK
LSJpZXhjbFwwJiMxNjE7XDAiIFwKLSJjZW50XDAmIzE2MjtcMCIgXAotInBvdW5kXDAmIzE2Mztc
MCIgXAotImN1cnJlblwwJiMxNjQ7XDAiIFwKLSJ5ZW5cMCYjMTY1O1wwIiBcCi0iYnJ2YmFyXDAm
IzE2NjtcMCIgXAotInNlY3RcMCYjMTY3O1wwIiBcCi0idW1sXDAmIzE2ODtcMCIgXAotImNvcHlc
MCYjMTY5O1wwIiBcCi0ib3JkZlwwJiMxNzA7XDAiIFwKLSJsYXF1b1wwJiMxNzE7XDAiIFwKLSJu
b3RcMCYjMTcyO1wwIiBcCi0ic2h5XDAmIzE3MztcMCIgXAotInJlZ1wwJiMxNzQ7XDAiIFwKLSJt
YWNyXDAmIzE3NTtcMCIgXAotImRlZ1wwJiMxNzY7XDAiIFwKLSJwbHVzbW5cMCYjMTc3O1wwIiBc
Ci0ic3VwMlwwJiMxNzg7XDAiIFwKLSJzdXAzXDAmIzE3OTtcMCIgXAotImFjdXRlXDAmIzE4MDtc
MCIgXAotIm1pY3JvXDAmIzE4MTtcMCIgXAotInBhcmFcMCYjMTgyO1wwIiBcCi0ibWlkZG90XDAm
IzE4MztcMCIgXAotImNlZGlsXDAmIzE4NDtcMCIgXAotInN1cDFcMCYjMTg1O1wwIiBcCi0ib3Jk
bVwwJiMxODY7XDAiIFwKLSJyYXF1b1wwJiMxODc7XDAiIFwKLSJmcmFjMTRcMCYjMTg4O1wwIiBc
Ci0iZnJhYzEyXDAmIzE4OTtcMCIgXAotImZyYWMzNFwwJiMxOTA7XDAiIFwKLSJpcXVlc3RcMCYj
MTkxO1wwIiBcCi0iQWdyYXZlXDAmIzE5MjtcMCIgXAotIkFhY3V0ZVwwJiMxOTM7XDAiIFwKLSJB
Y2lyY1wwJiMxOTQ7XDAiIFwKLSJBdGlsZGVcMCYjMTk1O1wwIiBcCi0iQXVtbFwwJiMxOTY7XDAi
IFwKLSJBcmluZ1wwJiMxOTc7XDAiIFwKLSJBRWxpZ1wwJiMxOTg7XDAiIFwKLSJDY2VkaWxcMCYj
MTk5O1wwIiBcCi0iRWdyYXZlXDAmIzIwMDtcMCIgXAotIkVhY3V0ZVwwJiMyMDE7XDAiIFwKLSJF
Y2lyY1wwJiMyMDI7XDAiIFwKLSJFdW1sXDAmIzIwMztcMCIgXAotIklncmF2ZVwwJiMyMDQ7XDAi
IFwKLSJJYWN1dGVcMCYjMjA1O1wwIiBcCi0iSWNpcmNcMCYjMjA2O1wwIiBcCi0iSXVtbFwwJiMy
MDc7XDAiIFwKLSJFVEhcMCYjMjA4O1wwIiBcCi0iTnRpbGRlXDAmIzIwOTtcMCIgXAotIk9ncmF2
ZVwwJiMyMTA7XDAiIFwKLSJPYWN1dGVcMCYjMjExO1wwIiBcCi0iT2NpcmNcMCYjMjEyO1wwIiBc
Ci0iT3RpbGRlXDAmIzIxMztcMCIgXAotIk91bWxcMCYjMjE0O1wwIiBcCi0idGltZXNcMCYjMjE1
O1wwIiBcCi0iT3NsYXNoXDAmIzIxNjtcMCIgXAotIlVncmF2ZVwwJiMyMTc7XDAiIFwKLSJVYWN1
dGVcMCYjMjE4O1wwIiBcCi0iVWNpcmNcMCYjMjE5O1wwIiBcCi0iVXVtbFwwJiMyMjA7XDAiIFwK
LSJZYWN1dGVcMCYjMjIxO1wwIiBcCi0iVEhPUk5cMCYjMjIyO1wwIiBcCi0ic3psaWdcMCYjMjIz
O1wwIiBcCi0iYWdyYXZlXDAmIzIyNDtcMCIgXAotImFhY3V0ZVwwJiMyMjU7XDAiIFwKLSJhY2ly
Y1wwJiMyMjY7XDAiIFwKLSJhdGlsZGVcMCYjMjI3O1wwIiBcCi0iYXVtbFwwJiMyMjg7XDAiIFwK
LSJhcmluZ1wwJiMyMjk7XDAiIFwKLSJhZWxpZ1wwJiMyMzA7XDAiIFwKLSJjY2VkaWxcMCYjMjMx
O1wwIiBcCi0iZWdyYXZlXDAmIzIzMjtcMCIgXAotImVhY3V0ZVwwJiMyMzM7XDAiIFwKLSJlY2ly
Y1wwJiMyMzQ7XDAiIFwKLSJldW1sXDAmIzIzNTtcMCIgXAotImlncmF2ZVwwJiMyMzY7XDAiIFwK
LSJpYWN1dGVcMCYjMjM3O1wwIiBcCi0iaWNpcmNcMCYjMjM4O1wwIiBcCi0iaXVtbFwwJiMyMzk7
XDAiIFwKLSJldGhcMCYjMjQwO1wwIiBcCi0ibnRpbGRlXDAmIzI0MTtcMCIgXAotIm9ncmF2ZVww
JiMyNDI7XDAiIFwKLSJvYWN1dGVcMCYjMjQzO1wwIiBcCi0ib2NpcmNcMCYjMjQ0O1wwIiBcCi0i
b3RpbGRlXDAmIzI0NTtcMCIgXAotIm91bWxcMCYjMjQ2O1wwIiBcCi0iZGl2aWRlXDAmIzI0Nztc
MCIgXAotIm9zbGFzaFwwJiMyNDg7XDAiIFwKLSJ1Z3JhdmVcMCYjMjQ5O1wwIiBcCi0idWFjdXRl
XDAmIzI1MDtcMCIgXAotInVjaXJjXDAmIzI1MTtcMCIgXAotInV1bWxcMCYjMjUyO1wwIiBcCi0i
eWFjdXRlXDAmIzI1MztcMCIgXAotInRob3JuXDAmIzI1NDtcMCIgXAotInl1bWxcMCYjMjU1O1ww
IiBcCi0iZm5vZlwwJiM0MDI7XDAiIFwKLSJBbHBoYVwwJiM5MTM7XDAiIFwKLSJCZXRhXDAmIzkx
NDtcMCIgXAotIkdhbW1hXDAmIzkxNTtcMCIgXAotIkRlbHRhXDAmIzkxNjtcMCIgXAotIkVwc2ls
b25cMCYjOTE3O1wwIiBcCi0iWmV0YVwwJiM5MTg7XDAiIFwKLSJFdGFcMCYjOTE5O1wwIiBcCi0i
VGhldGFcMCYjOTIwO1wwIiBcCi0iSW90YVwwJiM5MjE7XDAiIFwKLSJLYXBwYVwwJiM5MjI7XDAi
IFwKLSJMYW1iZGFcMCYjOTIzO1wwIiBcCi0iTXVcMCYjOTI0O1wwIiBcCi0iTnVcMCYjOTI1O1ww
IiBcCi0iWGlcMCYjOTI2O1wwIiBcCi0iT21pY3JvblwwJiM5Mjc7XDAiIFwKLSJQaVwwJiM5Mjg7
XDAiIFwKLSJSaG9cMCYjOTI5O1wwIiBcCi0iU2lnbWFcMCYjOTMxO1wwIiBcCi0iVGF1XDAmIzkz
MjtcMCIgXAotIlVwc2lsb25cMCYjOTMzO1wwIiBcCi0iUGhpXDAmIzkzNDtcMCIgXAotIkNoaVww
JiM5MzU7XDAiIFwKLSJQc2lcMCYjOTM2O1wwIiBcCi0iT21lZ2FcMCYjOTM3O1wwIiBcCi0iYWxw
aGFcMCYjOTQ1O1wwIiBcCi0iYmV0YVwwJiM5NDY7XDAiIFwKLSJnYW1tYVwwJiM5NDc7XDAiIFwK
LSJkZWx0YVwwJiM5NDg7XDAiIFwKLSJlcHNpbG9uXDAmIzk0OTtcMCIgXAotInpldGFcMCYjOTUw
O1wwIiBcCi0iZXRhXDAmIzk1MTtcMCIgXAotInRoZXRhXDAmIzk1MjtcMCIgXAotImlvdGFcMCYj
OTUzO1wwIiBcCi0ia2FwcGFcMCYjOTU0O1wwIiBcCi0ibGFtYmRhXDAmIzk1NTtcMCIgXAotIm11
XDAmIzk1NjtcMCIgXAotIm51XDAmIzk1NztcMCIgXAotInhpXDAmIzk1ODtcMCIgXAotIm9taWNy
b25cMCYjOTU5O1wwIiBcCi0icGlcMCYjOTYwO1wwIiBcCi0icmhvXDAmIzk2MTtcMCIgXAotInNp
Z21hZlwwJiM5NjI7XDAiIFwKLSJzaWdtYVwwJiM5NjM7XDAiIFwKLSJ0YXVcMCYjOTY0O1wwIiBc
Ci0idXBzaWxvblwwJiM5NjU7XDAiIFwKLSJwaGlcMCYjOTY2O1wwIiBcCi0iY2hpXDAmIzk2Nztc
MCIgXAotInBzaVwwJiM5Njg7XDAiIFwKLSJvbWVnYVwwJiM5Njk7XDAiIFwKLSJ0aGV0YXN5bVww
JiM5Nzc7XDAiIFwKLSJ1cHNpaFwwJiM5Nzg7XDAiIFwKLSJwaXZcMCYjOTgyO1wwIiBcCi0iYnVs
bFwwJiM4MjI2O1wwIiBcCi0iaGVsbGlwXDAmIzgyMzA7XDAiIFwKLSJwcmltZVwwJiM4MjQyO1ww
IiBcCi0iUHJpbWVcMCYjODI0MztcMCIgXAotIm9saW5lXDAmIzgyNTQ7XDAiIFwKLSJmcmFzbFww
JiM4MjYwO1wwIiBcCi0id2VpZXJwXDAmIzg0NzI7XDAiIFwKLSJpbWFnZVwwJiM4NDY1O1wwIiBc
Ci0icmVhbFwwJiM4NDc2O1wwIiBcCi0idHJhZGVcMCYjODQ4MjtcMCIgXAotImFsZWZzeW1cMCYj
ODUwMTtcMCIgXAotImxhcnJcMCYjODU5MjtcMCIgXAotInVhcnJcMCYjODU5MztcMCIgXAotInJh
cnJcMCYjODU5NDtcMCIgXAotImRhcnJcMCYjODU5NTtcMCIgXAotImhhcnJcMCYjODU5NjtcMCIg
XAotImNyYXJyXDAmIzg2Mjk7XDAiIFwKLSJsQXJyXDAmIzg2NTY7XDAiIFwKLSJ1QXJyXDAmIzg2
NTc7XDAiIFwKLSJyQXJyXDAmIzg2NTg7XDAiIFwKLSJkQXJyXDAmIzg2NTk7XDAiIFwKLSJoQXJy
XDAmIzg2NjA7XDAiIFwKLSJmb3JhbGxcMCYjODcwNDtcMCIgXAotInBhcnRcMCYjODcwNjtcMCIg
XAotImV4aXN0XDAmIzg3MDc7XDAiIFwKLSJlbXB0eVwwJiM4NzA5O1wwIiBcCi0ibmFibGFcMCYj
ODcxMTtcMCIgXAotImlzaW5cMCYjODcxMjtcMCIgXAotIm5vdGluXDAmIzg3MTM7XDAiIFwKLSJu
aVwwJiM4NzE1O1wwIiBcCi0icHJvZFwwJiM4NzE5O1wwIiBcCi0ic3VtXDAmIzg3MjE7XDAiIFwK
LSJtaW51c1wwJiM4NzIyO1wwIiBcCi0ibG93YXN0XDAmIzg3Mjc7XDAiIFwKLSJyYWRpY1wwJiM4
NzMwO1wwIiBcCi0icHJvcFwwJiM4NzMzO1wwIiBcCi0iaW5maW5cMCYjODczNDtcMCIgXAotImFu
Z1wwJiM4NzM2O1wwIiBcCi0iYW5kXDAmIzg3NDM7XDAiIFwKLSJvclwwJiM4NzQ0O1wwIiBcCi0i
Y2FwXDAmIzg3NDU7XDAiIFwKLSJjdXBcMCYjODc0NjtcMCIgXAotImludFwwJiM4NzQ3O1wwIiBc
Ci0idGhlcmU0XDAmIzg3NTY7XDAiIFwKLSJzaW1cMCYjODc2NDtcMCIgXAotImNvbmdcMCYjODc3
MztcMCIgXAotImFzeW1wXDAmIzg3NzY7XDAiIFwKLSJuZVwwJiM4ODAwO1wwIiBcCi0iZXF1aXZc
MCYjODgwMTtcMCIgXAotImxlXDAmIzg4MDQ7XDAiIFwKLSJnZVwwJiM4ODA1O1wwIiBcCi0ic3Vi
XDAmIzg4MzQ7XDAiIFwKLSJzdXBcMCYjODgzNTtcMCIgXAotIm5zdWJcMCYjODgzNjtcMCIgXAot
InN1YmVcMCYjODgzODtcMCIgXAotInN1cGVcMCYjODgzOTtcMCIgXAotIm9wbHVzXDAmIzg4NTM7
XDAiIFwKLSJvdGltZXNcMCYjODg1NTtcMCIgXAotInBlcnBcMCYjODg2OTtcMCIgXAotInNkb3Rc
MCYjODkwMTtcMCIgXAotImxjZWlsXDAmIzg5Njg7XDAiIFwKLSJyY2VpbFwwJiM4OTY5O1wwIiBc
Ci0ibGZsb29yXDAmIzg5NzA7XDAiIFwKLSJyZmxvb3JcMCYjODk3MTtcMCIgXAotImxhbmdcMCYj
OTAwMTtcMCIgXAotInJhbmdcMCYjOTAwMjtcMCIgXAotImxvelwwJiM5Njc0O1wwIiBcCi0ic3Bh
ZGVzXDAmIzk4MjQ7XDAiIFwKLSJjbHVic1wwJiM5ODI3O1wwIiBcCi0iaGVhcnRzXDAmIzk4Mjk7
XDAiIFwKLSJkaWFtc1wwJiM5ODMwO1wwIiBcCi0icXVvdFwwJiMzNDtcMCIgXAotImFtcFwwJiMz
ODtcMCIgXAotImx0XDAmIzYwO1wwIiBcCi0iZ3RcMCYjNjI7XDAiIFwKLSJPRWxpZ1wwJiMzMzg7
XDAiIFwKLSJvZWxpZ1wwJiMzMzk7XDAiIFwKLSJTY2Fyb25cMCYjMzUyO1wwIiBcCi0ic2Nhcm9u
XDAmIzM1MztcMCIgXAotIll1bWxcMCYjMzc2O1wwIiBcCi0iY2lyY1wwJiM3MTA7XDAiIFwKLSJ0
aWxkZVwwJiM3MzI7XDAiIFwKLSJlbnNwXDAmIzgxOTQ7XDAiIFwKLSJlbXNwXDAmIzgxOTU7XDAi
IFwKLSJ0aGluc3BcMCYjODIwMTtcMCIgXAotInp3bmpcMCYjODIwNDtcMCIgXAotInp3alwwJiM4
MjA1O1wwIiBcCi0ibHJtXDAmIzgyMDY7XDAiIFwKLSJybG1cMCYjODIwNztcMCIgXAotIm5kYXNo
XDAmIzgyMTE7XDAiIFwKLSJtZGFzaFwwJiM4MjEyO1wwIiBcCi0ibHNxdW9cMCYjODIxNjtcMCIg
XAotInJzcXVvXDAmIzgyMTc7XDAiIFwKLSJzYnF1b1wwJiM4MjE4O1wwIiBcCi0ibGRxdW9cMCYj
ODIyMDtcMCIgXAotInJkcXVvXDAmIzgyMjE7XDAiIFwKLSJiZHF1b1wwJiM4MjIyO1wwIiBcCi0i
ZGFnZ2VyXDAmIzgyMjQ7XDAiIFwKLSJEYWdnZXJcMCYjODIyNTtcMCIgXAotInBlcm1pbFwwJiM4
MjQwO1wwIiBcCi0ibHNhcXVvXDAmIzgyNDk7XDAiIFwKLSJyc2FxdW9cMCYjODI1MDtcMCIgXAot
ImV1cm9cMCYjODM2NDtcMCIKLQotI2VuZGlmIC8qIG5kZWYgZW50aXRpZXNfaCAqLwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3NyYy9sZXguYyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9z
cmMvbGV4LmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDlmOTEwMzM4NmJkLi4wMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mvc3JjL2xleC5jCisrKyAvZGV2L251bGwK
QEAgLTEsNTYwICswLDAgQEAKLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogJElkJAotICogQ29weXJpZ2h0
IDIwMDkgQXBsaXggQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKiBMaWNlbnNl
ZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsK
LSAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0
aGUgTGljZW5zZS4KLSAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAot
ICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAotICogVW5s
ZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBz
b2Z0d2FyZQotICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQg
b24gYW4gIkFTIElTIiBCQVNJUywKLSAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05T
IE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgotICogU2VlIHRoZSBMaWNl
bnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAot
ICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCi0gKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi0jaW5j
bHVkZSA8YXNzZXJ0Lmg+Ci0jaW5jbHVkZSA8ZXJybm8uaD4KLSNpbmNsdWRlIDxzdGRpby5oPgot
I2luY2x1ZGUgPHN0cmluZy5oPgotI2luY2x1ZGUgImxleC5oIgotI2luY2x1ZGUgIm1pc2MuaCIK
LSNpbmNsdWRlICJub2RlLmgiCi0jaW5jbHVkZSAicHJvY2Vzcy5oIgotCi1zdHJ1Y3QgZmlsZSB7
Ci0gICAgc3RydWN0IGZpbGUgKm5leHQ7Ci0gICAgY29uc3QgY2hhciAqZmlsZW5hbWU7Ci0gICAg
Y2hhciAqYnVmOwotICAgIGNvbnN0IGNoYXIgKnBvcywgKmVuZDsKLSAgICB1bnNpZ25lZCBpbnQg
bGluZW51bTsKLX07Ci0KLWNvbnN0IGNoYXIga2V5d29yZHNbXSA9IEtFWVdPUkRTOwotCi1zdGF0
aWMgc3RydWN0IGZpbGUgKmZpbGUsICpmaXJzdGZpbGU7Ci1zdGF0aWMgc3RydWN0IHRvayB0b2s7
Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKgotICogcmVhZGlucHV0IDogcmVhZCBhbGwgaW5wdXQgZmlsZXMg
aW50byBtZW1vcnkKLSAqCi0gKiBFbnRlcjogICBhcmd2ID0gMC10ZXJtaW5hdGVkIGFycmF5IG9m
IGZpbGVuYW1lcwotICovCi12b2lkCi1yZWFkaW5wdXQoY29uc3QgY2hhciAqY29uc3QgKmFyZ3Yp
Ci17Ci0gICAgc3RydWN0IGZpbGUgKipwZmlsZSA9ICZmaWxlOwotICAgIGZvciAoOzspIHsKLSAg
ICAgICAgc3RydWN0IGZpbGUgKmZpbGU7Ci0gICAgICAgIGNvbnN0IGNoYXIgKmZpbGVuYW1lID0g
KmFyZ3YrKzsKLSAgICAgICAgY2hhciAqYnVmID0gMDsKLSAgICAgICAgaW50IGxlbiA9IDAsIHRo
aXNsZW4sIGlzc3RkaW47Ci0gICAgICAgIEZJTEUgKmhhbmRsZTsKLSAgICAgICAgaWYgKCFmaWxl
bmFtZSkKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAvKiBSZWFkIHRoZSBmaWxlLiAqLwot
ICAgICAgICBpc3N0ZGluID0gIXN0cmNtcChmaWxlbmFtZSwgIi0iKTsKLSAgICAgICAgaWYgKGlz
c3RkaW4pIHsKLSAgICAgICAgICAgIGhhbmRsZSA9IHN0ZGluOwotICAgICAgICAgICAgZmlsZW5h
bWUgPSAiPHN0ZGluPiI7Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICBoYW5kbGUgPSBm
b3BlbihmaWxlbmFtZSwgInJiIik7Ci0gICAgICAgICAgICBpZiAoIWhhbmRsZSkKLSAgICAgICAg
ICAgICAgICBlcnJvcmV4aXQoIiVzOiAlcyIsIGZpbGVuYW1lLCBzdHJlcnJvcihlcnJubykpOwot
ICAgICAgICB9Ci0gICAgICAgIGZvciAoOzspIHsKLSAgICAgICAgICAgIHRoaXNsZW4gPSBsZW4g
PyBsZW4gKiAyIDogNDA5NjsKLSAgICAgICAgICAgIGJ1ZiA9IG1lbXJlYWxsb2MoYnVmLCBsZW4g
KyB0aGlzbGVuICsgMSk7Ci0gICAgICAgICAgICB0aGlzbGVuID0gZnJlYWQoYnVmICsgbGVuLCAx
LCB0aGlzbGVuLCBoYW5kbGUpOwotICAgICAgICAgICAgaWYgKCF0aGlzbGVuKQotICAgICAgICAg
ICAgICAgIGJyZWFrOwotICAgICAgICAgICAgbGVuICs9IHRoaXNsZW47Ci0gICAgICAgIH0KLSAg
ICAgICAgaWYgKGZlcnJvcihoYW5kbGUpKQotICAgICAgICAgICAgZXJyb3JleGl0KCIlczogSS9P
IGVycm9yIiwgZmlsZW5hbWUpOwotICAgICAgICBpZiAoIWlzc3RkaW4pCi0gICAgICAgICAgICBm
Y2xvc2UoaGFuZGxlKTsKLSAgICAgICAgYnVmW2xlbl0gPSAwOwotICAgICAgICBidWYgPSBtZW1y
ZWFsbG9jKGJ1ZiwgbGVuICsgMSk7Ci0gICAgICAgIC8qIENyZWF0ZSB0aGUgZmlsZSBzdHJ1Y3Qg
Zm9yIGl0LiAqLwotICAgICAgICBmaWxlID0gbWVtYWxsb2Moc2l6ZW9mKHN0cnVjdCBmaWxlKSk7
Ci0gICAgICAgICpwZmlsZSA9IGZpbGU7Ci0gICAgICAgIHBmaWxlID0gJmZpbGUtPm5leHQ7Ci0g
ICAgICAgIGZpbGUtPmZpbGVuYW1lID0gZmlsZW5hbWU7Ci0gICAgICAgIGZpbGUtPnBvcyA9IGZp
bGUtPmJ1ZiA9IGJ1ZjsKLSAgICAgICAgZmlsZS0+ZW5kID0gYnVmICsgbGVuOwotICAgICAgICBm
aWxlLT5saW5lbnVtID0gMTsKLSAgICB9Ci0gICAgKnBmaWxlID0gMDsKLSAgICBmaXJzdGZpbGUg
PSBmaWxlOwotfQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIGxleGVycm9yZXhpdCA6IGVycm9yIGFu
ZCBleGl0IHdpdGggbGluZSBudW1iZXIKLSAqLwotc3RhdGljIHZvaWQKLWxleGVycm9yZXhpdChj
b25zdCBjaGFyICpmb3JtYXQsIC4uLikKLXsKLSAgICB2YV9saXN0IGFwOwotICAgIHZhX3N0YXJ0
KGFwLCBmb3JtYXQpOwotICAgIHZsb2NlcnJvcmV4aXQoZmlsZS0+ZmlsZW5hbWUsIGZpbGUtPmxp
bmVudW0sIGZvcm1hdCwgYXApOwotICAgIHZhX2VuZChhcCk7Ci19Ci0KLS8qKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KgotICogbGV4YmxvY2tjb21tZW50IDogbGV4IGEgYmxvY2sgY29tbWVudAotICoKLSAqIEVudGVy
OiAgIHN0YXJ0ID0gc3RhcnQgb2YgY29tbWVudAotICoKLSAqIFJldHVybjogIHRvayBzdHJ1Y3Qs
IGxpZmV0aW1lIHVudGlsIG5leHQgY2FsbCB0byBsZXgKLSAqLwotc3RhdGljIHN0cnVjdCB0b2sg
KgotbGV4YmxvY2tjb21tZW50KGNvbnN0IGNoYXIgKnN0YXJ0KQotewotICAgIGNvbnN0IGNoYXIg
KnAgPSBzdGFydCArIDE7Ci0gICAgdG9rLmZpbGVuYW1lID0gZmlsZS0+ZmlsZW5hbWU7Ci0gICAg
dG9rLmxpbmVudW0gPSBmaWxlLT5saW5lbnVtOwotICAgIGZvciAoOzspIHsKLSAgICAgICAgaW50
IGNoID0gKisrcDsKLSAgICAgICAgaWYgKCFjaCkKLSAgICAgICAgICAgIGxleGVycm9yZXhpdCgi
dW50ZXJtaW5hdGVkIGJsb2NrIGNvbW1lbnQiKTsKLSAgICAgICAgaWYgKGNoICE9ICcqJykgewot
ICAgICAgICAgICAgaWYgKGNoID09ICdcbicpCi0gICAgICAgICAgICAgICAgZmlsZS0+bGluZW51
bSsrOwotICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgIH0KLSAgICAgICAgY2ggPSBwWzFd
OwotICAgICAgICBpZiAoIWNoKQotICAgICAgICAgICAgbGV4ZXJyb3JleGl0KCJ1bnRlcm1pbmF0
ZWQgYmxvY2sgY29tbWVudCIpOwotICAgICAgICBpZiAoY2ggPT0gJy8nKQotICAgICAgICAgICAg
YnJlYWs7Ci0gICAgfQotICAgIHAgKz0gMjsKLSAgICBmaWxlLT5wb3MgPSBwOwotICAgIHRvay50
eXBlID0gVE9LX0JMT0NLQ09NTUVOVDsKLSAgICB0b2suc3RhcnQgPSBzdGFydCArIDI7Ci0gICAg
dG9rLmxlbiA9IHAgLSBzdGFydCAtIDQ7Ci0gICAgcmV0dXJuICZ0b2s7Ci19Ci0KLS8qKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKgotICogbGV4aW5saW5lY29tbWVudCA6IGxleCBhbiBpbmxpbmUgY29tbWVudAotICoK
LSAqIEVudGVyOiAgIHN0YXJ0ID0gc3RhcnQgb2YgY29tbWVudCwgc3RhcnRzIHdpdGggIi8vIgot
ICoKLSAqIFJldHVybjogIHRvayBzdHJ1Y3QsIGxpZmV0aW1lIHVudGlsIG5leHQgY2FsbCB0byBs
ZXgKLSAqLwotc3RhdGljIHN0cnVjdCB0b2sgKgotbGV4aW5saW5lY29tbWVudChjb25zdCBjaGFy
ICpzdGFydCkKLXsKLSAgICBjb25zdCBjaGFyICpwID0gc3RhcnQgKyAyOwotICAgIHAgPSBzdGFy
dCArIDE7Ci0gICAgZm9yICg7OykgewotICAgICAgICBpbnQgY2ggPSAqKytwOwotICAgICAgICBp
ZiAoIWNoIHx8IGNoID09ICdcbicpCi0gICAgICAgICAgICBicmVhazsKLSAgICB9Ci0gICAgcCsr
OwotICAgIGZpbGUtPnBvcyA9IHA7Ci0gICAgdG9rLnR5cGUgPSBUT0tfSU5MSU5FQ09NTUVOVDsK
LSAgICB0b2suc3RhcnQgPSBzdGFydCArIDI7Ci0gICAgdG9rLmxlbiA9IHAgLSBzdGFydCAtIDI7
Ci0gICAgdG9rLmZpbGVuYW1lID0gZmlsZS0+ZmlsZW5hbWU7Ci0gICAgdG9rLmxpbmVudW0gPSBm
aWxlLT5saW5lbnVtKys7Ci0gICAgcmV0dXJuICZ0b2s7Ci19Ci0KLS8qKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgot
ICogbGV4bnVtYmVyIDogbGV4IGEgbnVtYmVyIChvciBqdXN0IGEgJy0nIHN5bWJvbCkKLSAqCi0g
KiBFbnRlcjogICBzdGFydCA9IHN0YXJ0IG9mIHRva2VuCi0gKgotICogUmV0dXJuOiAgdG9rIHN0
cnVjdCwgbGlmZXRpbWUgdW50aWwgbmV4dCBjYWxsIHRvIGxleAotICoKLSAqIFRoZSBJREwgZ3Jh
bW1hciBzZWVtcyB0byBzYXkgdGhhdCBhIGZsb2F0IGNhbid0IHN0YXJ0IHdpdGggYQotICogZGVj
aW1hbCBwb2ludCwgc28gdGhhdCdzIHdoYXQgd2UgaGF2ZSBpbXBsZW1lbnRlZCBoZXJlLgotICov
Ci1zdGF0aWMgc3RydWN0IHRvayAqCi1sZXhudW1iZXIoY29uc3QgY2hhciAqc3RhcnQpCi17Ci0g
ICAgZm9yICg7OykgewotICAgICAgICBjb25zdCBjaGFyICpwID0gc3RhcnQ7Ci0gICAgICAgIGNv
bnN0IGNoYXIgKm9jdGFsZW5kID0gc3RhcnQ7Ci0gICAgICAgIGludCBjaCA9ICpwOwotICAgICAg
ICBlbnVtIHsgU1RBVEVfU1RBUlQsIFNUQVRFX0lOVCwgU1RBVEVfSEVYLCBTVEFURV9PQ1RBTCwg
U1RBVEVfQkFET0NUQUwsCi0gICAgICAgICAgICAgICAgU1RBVEVfRFAsIFNUQVRFX0VYUFNUQVJU
LCBTVEFURV9FWFBTSUdOLCBTVEFURV9FWFAKLSAgICAgICAgICAgICAgICB9IHN0YXRlID0gU1RB
VEVfU1RBUlQ7Ci0gICAgICAgIGlmIChjaCA9PSAnLScpIHsKLSAgICAgICAgICAgIGNoID0gKisr
cDsKLQkgICAgaWYgKGNoID09ICdJJykgeyAvLyBzdGFydHMgb2YgSW5maW5pdHkKLQkgICAgICBj
aGFyICogaW5maW5pdHkgPSAiLUluZmluaXR5IjsKLSAgICAgICAgICAgICAgdW5zaWduZWQgaW50
IGxlbiA9IHN0cmxlbihpbmZpbml0eSk7Ci0JICAgICAgaWYgKCFtZW1jbXAoc3RhcnQsIGluZmlu
aXR5LCBsZW4pKSB7Ci0gICAgICAgICAgICAgICAgdG9rLnR5cGUgPSBUT0tfbWludXNpbmZpbml0
eTsKLQkJdG9rLnN0YXJ0ID0gc3RhcnQ7Ci0JCXRvay5sZW4gPSBsZW47Ci0JCXRvay5maWxlbmFt
ZSA9IGZpbGUtPmZpbGVuYW1lOwotCQl0b2subGluZW51bSA9IGZpbGUtPmxpbmVudW07Ci0JCWZp
bGUtPnBvcyA9IHN0YXJ0ICsgbGVuOwotCQlyZXR1cm4gJnRvazsKLQkgICAgICB9Ci0JICAgIH0K
LQl9Ci0gICAgICAgIGlmIChjaCA9PSAnMCcpIHsKLSAgICAgICAgICAgIHN0YXRlID0gU1RBVEVf
T0NUQUw7Ci0gICAgICAgICAgICBjaCA9ICorK3A7Ci0gICAgICAgICAgICBpZiAoKGNoICYgfjB4
MjApID09ICdYJykgewotICAgICAgICAgICAgICAgIHN0YXRlID0gU1RBVEVfSEVYOwotICAgICAg
ICAgICAgICAgIGNoID0gKisrcDsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQotCi0gICAgICAg
IGZvciAoOzspIHsKLSAgICAgICAgICAgIGlmICgodW5zaWduZWQpKGNoIC0gJzAnKSA+PSA4KSB7
Ci0gICAgICAgICAgICAgICAgaWYgKChjaCAmIC0yKSA9PSAnOCcpIHsKLSAgICAgICAgICAgICAg
ICAgICAgaWYgKHN0YXRlID09IFNUQVRFX09DVEFMKSB7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICBzdGF0ZSA9IFNUQVRFX0JBRE9DVEFMOwotICAgICAgICAgICAgICAgICAgICAgICAgb2N0YWxl
bmQgPSBwOwotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgfSBlbHNlIGlm
ICgodW5zaWduZWQpKChjaCAmIH4weDIwKSAtICdBJykgPD0gJ0YnIC0gJ0EnKSB7Ci0gICAgICAg
ICAgICAgICAgICAgIGlmIChzdGF0ZSAhPSBTVEFURV9IRVgpIHsKLSAgICAgICAgICAgICAgICAg
ICAgICAgIGlmICgoY2ggJiB+MHgyMCkgIT0gJ0UnKQotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGJyZWFrOwotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHN0YXRlID09IFNUQVRFX0hF
WCB8fCBzdGF0ZSA+PSBTVEFURV9FWFBTVEFSVCB8fCBzdGF0ZSA9PSBTVEFURV9TVEFSVCkKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgICAgICAgICAgICAg
IHN0YXRlID0gU1RBVEVfRVhQU1RBUlQ7Ci0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAg
ICAgICAgICB9IGVsc2UgaWYgKGNoID09ICcuJykgewotICAgICAgICAgICAgICAgICAgICBpZiAo
c3RhdGUgPT0gU1RBVEVfSEVYIHx8IHN0YXRlID49IFNUQVRFX0RQKQotICAgICAgICAgICAgICAg
ICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgICAgIHN0YXRlID0gU1RBVEVfRFA7Ci0g
ICAgICAgICAgICAgICAgfSBlbHNlIGlmIChjaCA9PSAnLScpIHsKLSAgICAgICAgICAgICAgICAg
ICAgaWYgKHN0YXRlICE9IFNUQVRFX0VYUFNUQVJUKQotICAgICAgICAgICAgICAgICAgICAgICAg
YnJlYWs7Ci0gICAgICAgICAgICAgICAgICAgIHN0YXRlID0gU1RBVEVfRVhQU0lHTjsKLSAgICAg
ICAgICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAg
ICB9Ci0gICAgICAgICAgICBjaCA9ICorK3A7Ci0gICAgICAgICAgICBpZiAoc3RhdGUgPT0gU1RB
VEVfU1RBUlQpCi0gICAgICAgICAgICAgICAgc3RhdGUgPSBTVEFURV9JTlQ7Ci0gICAgICAgICAg
ICBlbHNlIGlmIChzdGF0ZSA9PSBTVEFURV9FWFBTVEFSVCB8fCBzdGF0ZSA9PSBTVEFURV9FWFBT
SUdOKQotICAgICAgICAgICAgICAgIHN0YXRlID0gU1RBVEVfRVhQOwotICAgICAgICB9Ci0gICAg
ICAgIHN3aXRjaCAoc3RhdGUpIHsKLSAgICAgICAgY2FzZSBTVEFURV9TVEFSVDoKLSAgICAgICAg
ICAgIC8qIE11c3QgaGF2ZSBqdXN0IGJlZW4gYSAtIGNoYXJhY3RlciBieSBpdHNlbGYuICovCi0g
ICAgICAgICAgICB0b2sudHlwZSA9ICctJzsKLSAgICAgICAgICAgIHAgPSBzdGFydCArIDE7Ci0g
ICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSBTVEFURV9CQURPQ1RBTDoKLSAgICAgICAg
ICAgIHAgPSBvY3RhbGVuZDsKLSAgICAgICAgICAgIC8qIGZhbGwgdGhyb3VnaC4uLiAqLwotICAg
ICAgICBjYXNlIFNUQVRFX0lOVDoKLSAgICAgICAgY2FzZSBTVEFURV9PQ1RBTDoKLSAgICAgICAg
ICAgIHRvay50eXBlID0gVE9LX0lOVEVHRVI7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAg
Y2FzZSBTVEFURV9IRVg6Ci0gICAgICAgICAgICBpZiAocCAtIHN0YXJ0ID09IDIgfHwgKHAgLSBz
dGFydCA9PSAzICYmICpzdGFydCA9PSAnLScpKQotICAgICAgICAgICAgICAgIHAgPSBzdGFydCAr
IDE7Ci0gICAgICAgICAgICB0b2sudHlwZSA9IFRPS19JTlRFR0VSOwotICAgICAgICAgICAgYnJl
YWs7Ci0gICAgICAgIGNhc2UgU1RBVEVfRVhQOgotICAgICAgICBjYXNlIFNUQVRFX0RQOgotICAg
ICAgICAgICAgdG9rLnR5cGUgPSBUT0tfRkxPQVQ7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAg
ICAgY2FzZSBTVEFURV9FWFBTSUdOOgotICAgICAgICAgICAgcC0tOwotICAgICAgICAgICAgLyog
ZmFsbCB0aHJvdWdoLi4uICovCi0gICAgICAgIGNhc2UgU1RBVEVfRVhQU1RBUlQ6Ci0gICAgICAg
ICAgICBwLS07Ci0gICAgICAgICAgICB0b2sudHlwZSA9IFRPS19GTE9BVDsKLSAgICAgICAgICAg
IGJyZWFrOwotICAgICAgICB9Ci0gICAgICAgIHRvay5zdGFydCA9IHN0YXJ0OwotICAgICAgICB0
b2subGVuID0gcCAtIHN0YXJ0OwotICAgICAgICB0b2suZmlsZW5hbWUgPSBmaWxlLT5maWxlbmFt
ZTsKLSAgICAgICAgdG9rLmxpbmVudW0gPSBmaWxlLT5saW5lbnVtOwotICAgICAgICBmaWxlLT5w
b3MgPSBwOwotICAgICAgICByZXR1cm4gJnRvazsKLSAgICB9Ci19Ci0KLS8qKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KgotICogbGV4c3RyaW5nIDogbGV4IGEgcXVvdGVkIHN0cmluZwotICoKLSAqIEVudGVyOiAgIHN0
YXJ0ID0gc3RhcnQgb2YgdG9rZW4KLSAqCi0gKiBSZXR1cm46ICB0b2sgc3RydWN0LCBsaWZldGlt
ZSB1bnRpbCBuZXh0IGNhbGwgdG8gbGV4Ci0gKi8KLXN0YXRpYyBzdHJ1Y3QgdG9rICoKLWxleHN0
cmluZyhjb25zdCBjaGFyICpzdGFydCkKLXsKLSAgICBmb3IgKDs7KSB7Ci0gICAgICAgIGNvbnN0
IGNoYXIgKnAgPSBzdGFydCArIDE7Ci0gICAgICAgIGludCBjaCA9ICpwOwotICAgICAgICBmb3Ig
KDs7KSB7Ci0gICAgICAgICAgICBpZiAoIWNoIHx8IGNoID09ICdcbicpCi0gICAgICAgICAgICAg
ICAgbGV4ZXJyb3JleGl0KCJ1bnRlcm1pbmF0ZWQgc3RyaW5nIik7Ci0gICAgICAgICAgICBpZiAo
Y2ggPT0gJyInKSB7Ci0gICAgICAgICAgICAgICAgdG9rLnR5cGUgPSBUT0tfU1RSSU5HOwotICAg
ICAgICAgICAgICAgIHRvay5zdGFydCA9IHN0YXJ0ICsgMTsKLSAgICAgICAgICAgICAgICB0b2su
bGVuID0gcCAtIHN0YXJ0IC0gMTsKLSAgICAgICAgICAgICAgICB0b2suZmlsZW5hbWUgPSBmaWxl
LT5maWxlbmFtZTsKLSAgICAgICAgICAgICAgICB0b2subGluZW51bSA9IGZpbGUtPmxpbmVudW07
Ci0gICAgICAgICAgICAgICAgZmlsZS0+cG9zID0gcCArIDE7Ci0gICAgICAgICAgICAgICAgcmV0
dXJuICZ0b2s7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICAvKiBOb3RlIHRoZSBJREwgc3Bl
YyBkb2Vzbid0IHNlZW0gdG8gYWxsb3cgZm9yIGVzY2FwZSBzZXF1ZW5jZXMKLSAgICAgICAgICAg
ICAqIGluIHN0cmluZ3MuICovCi0gICAgICAgICAgICBjaCA9ICorK3A7Ci0gICAgICAgIH0KLSAg
ICB9Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKgotICogbGV4aWRlbnRpZmllciA6IGxleCBhbiBpZGVu
dGlmaWVyCi0gKgotICogRW50ZXI6ICAgc3RhcnQgPSBzdGFydCBvZiB0b2tlbgotICoKLSAqIFJl
dHVybjogIHRvayBzdHJ1Y3QsIGxpZmV0aW1lIHVudGlsIG5leHQgY2FsbCB0byBsZXgKLSAqLwot
c3RhdGljIHN0cnVjdCB0b2sgKgotbGV4aWRlbnRpZmllcihjb25zdCBjaGFyICpzdGFydCkKLXsK
LSAgICBjb25zdCBjaGFyICpwID0gc3RhcnQgKyAxOwotICAgIGZvciAoOzspIHsKLSAgICAgICAg
aW50IGNoID0gKnA7Ci0gICAgICAgIGlmIChjaCAhPSAnXycgJiYgKHVuc2lnbmVkKShjaCAtICcw
JykgPj0gMTAKLSAgICAgICAgICAgICAgICAmJiAodW5zaWduZWQpKChjaCAmIH4weDIwKSAtICdB
JykgPiAnWicgLSAnQScpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9
Ci0gICAgICAgIHArKzsKLSAgICB9Ci0gICAgdG9rLnR5cGUgPSBUT0tfSURFTlRJRklFUjsKLSAg
ICB0b2suc3RhcnQgPSBzdGFydDsKLSAgICB0b2subGVuID0gcCAtIHN0YXJ0OwotICAgIHRvay5m
aWxlbmFtZSA9IGZpbGUtPmZpbGVuYW1lOwotICAgIHRvay5saW5lbnVtID0gZmlsZS0+bGluZW51
bTsKLSAgICBmaWxlLT5wb3MgPSBwOwotICAgIC8qIFNlZSBpZiB0aGlzIGlzIGEga2V5d29yZC4g
KFRoaXMgc2VhcmNoIGlzIGEgYml0IG4tc3F1YXJlZC4pICovCi0gICAgewotICAgICAgICB1bnNp
Z25lZCBpbnQgdHlwZSA9IFRPS19ET01TdHJpbmc7Ci0gICAgICAgIHAgPSBrZXl3b3JkczsKLSAg
ICAgICAgZm9yICg7OykgewotICAgICAgICAgICAgdW5zaWduZWQgaW50IGxlbiA9IHN0cmxlbihw
KTsKLSAgICAgICAgICAgIGlmICghbGVuKQotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAg
ICAgICAgaWYgKGxlbiA9PSB0b2subGVuICYmICFtZW1jbXAoc3RhcnQsIHAsIGxlbikpIHsKLSAg
ICAgICAgICAgICAgICB0b2sudHlwZSA9IHR5cGU7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0g
ICAgICAgICAgICB9Ci0gICAgICAgICAgICBwICs9IGxlbiArIDE7Ci0gICAgICAgICAgICB0eXBl
Kys7Ci0gICAgICAgIH0KLSAgICB9Ci0gICAgcmV0dXJuICZ0b2s7Ci19Ci0KLS8qKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKgotICogbGV4IDogcmV0cmlldmUgbmV4dCB0b2tlbgotICoKLSAqIFJldHVybjogIHRvayBz
dHJ1Y3QsIGxpZmV0aW1lIHVudGlsIG5leHQgY2FsbCB0byBsZXgKLSAqLwotc3RydWN0IHRvayAq
Ci1sZXgodm9pZCkKLXsKLSAgICBjb25zdCBjaGFyICpwOwotICAgIGludCBjaDsKLSAgICBmb3Ig
KDs7KSB7Ci0gICAgICAgIGlmICghZmlsZSkgewotICAgICAgICAgICAgdG9rLnR5cGUgPSBUT0tf
RU9GOwotICAgICAgICAgICAgdG9rLnN0YXJ0ID0gImVuZCBvZiBmaWxlIjsKLSAgICAgICAgICAg
IHRvay5sZW4gPSBzdHJsZW4odG9rLnN0YXJ0KTsKLSAgICAgICAgICAgIHJldHVybiAmdG9rOwot
ICAgICAgICB9Ci0gICAgICAgIHRvay5wcmVzdGFydCA9IHAgPSBmaWxlLT5wb3M7Ci0gICAgICAg
IC8qIEZsdXNoIHdoaXRlc3BhY2UuICovCi0gICAgICAgIGZvciAoOzspIHsKLSAgICAgICAgICAg
IGNoID0gKnArKzsKLSAgICAgICAgICAgIHN3aXRjaCAoY2gpIHsKLSAgICAgICAgICAgIGNhc2Ug
JyAnOgotICAgICAgICAgICAgY2FzZSAnXHQnOgotICAgICAgICAgICAgY2FzZSAnXHInOgotICAg
ICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAgICAgY2FzZSAnXG4nOgotICAgICAgICAg
ICAgICAgICsrZmlsZS0+bGluZW51bTsKLSAgICAgICAgICAgICAgICB0b2sucHJlc3RhcnQgPSBw
OwotICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAgICAgfQotICAgICAgICAgICAg
YnJlYWs7Ci0gICAgICAgIH0KLSAgICAgICAgcC0tOwotICAgICAgICBpZiAoY2gpCi0gICAgICAg
ICAgICBicmVhazsKLSAgICAgICAgaWYgKHAgIT0gZmlsZS0+ZW5kKQotICAgICAgICAgICAgbGV4
ZXJyb3JleGl0KCJcXDAgYnl0ZSBub3QgYWxsb3dlZCIpOwotICAgICAgICBmaWxlID0gZmlsZS0+
bmV4dDsKLSAgICB9Ci0gICAgLyogU2VlIGlmIHdlIGhhdmUgYSBjb21tZW50LiAqLwotICAgIHRv
ay5zdGFydCA9IHA7Ci0gICAgaWYgKGNoID09ICcvJykgewotICAgICAgICBzd2l0Y2ggKCorK3Ap
IHsKLSAgICAgICAgY2FzZSAnKic6Ci0gICAgICAgICAgICByZXR1cm4gbGV4YmxvY2tjb21tZW50
KHAgLSAxKTsKLSAgICAgICAgY2FzZSAnLyc6Ci0gICAgICAgICAgICByZXR1cm4gbGV4aW5saW5l
Y29tbWVudChwIC0gMSk7Ci0gICAgICAgIH0KLSAgICAgICAgdG9rLnR5cGUgPSAnLyc7Ci0gICAg
fSBlbHNlIHsKLSAgICAgICAgLyogSGFuZGxlIHRoaW5ncyB0aGF0IHN0YXJ0IHdpdGggJy0nLCB3
aGljaCBpcyBlaXRoZXIgJy0nIGFzIGEgdG9rZW4sCi0gICAgICAgICAqIG9yIGEgbnVtYmVyLiBI
YW5kbGUgbnVtYmVycy4gKi8KLSAgICAgICAgaWYgKGNoID09ICctJyB8fCAodW5zaWduZWQpKGNo
IC0gJzAnKSA8IDEwKQotICAgICAgICAgICAgcmV0dXJuIGxleG51bWJlcihwKTsKLSAgICAgICAg
LyogSGFuZGxlIHN0cmluZy4gKi8KLSAgICAgICAgaWYgKGNoID09ICciJykKLSAgICAgICAgICAg
IHJldHVybiBsZXhzdHJpbmcocCk7Ci0gICAgICAgIC8qIEhhbmRsZSBpZGVudGlmaWVyLiAqLwot
ICAgICAgICBpZiAoY2ggPT0gJ18nIHx8ICh1bnNpZ25lZCkoKGNoICYgfjB4MjApIC0gJ0EnKSA8
PSAnWicgLSAnQScpCi0gICAgICAgICAgICByZXR1cm4gbGV4aWRlbnRpZmllcihwKTsKLSAgICAg
ICAgLyogVGhlIG9ubHkgbXVsdGktc3ltYm9sIHRva2VuIGFyZSAuLi4gYW5kIFtdICovCi0gICAg
ICAgIGlmIChjaCA9PSAnLicpIHsKLSAgICAgICAgICAgIHRvay50eXBlID0gJy4nOwotICAgICAg
ICAgICAgaWYgKCorK3AgPT0gJy4nICYmIHBbMV0gPT0gJy4nKSB7Ci0gICAgICAgICAgICAgICAg
dG9rLnR5cGUgPSBUT0tfRUxMSVBTSVM7Ci0gICAgICAgICAgICAgICAgcCArPSAyOwotICAgICAg
ICAgICAgfQotICAgICAgICAgICAgZ290byBkb25lOwotICAgICAgICB9Ci0gICAgICAgIGlmIChj
aCA9PSAnWycpIHsKLSAgICAgICAgICAgIHRvay50eXBlID0gJ1snOwotICAgICAgICAgICAgaWYg
KCorK3AgPT0gJ10nKSB7Ci0gICAgICAgICAgICAgICAgdG9rLnR5cGUgPSBUT0tfRE9VQkxFQlJB
Q0tFVDsKLSAgICAgICAgICAgICAgICBwKys7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBn
b3RvIGRvbmU7Ci0gICAgICAgIH0KLSAgICB9Ci0gICAgLyogU2luZ2xlIHN5bWJvbCB0b2tlbi4g
Ki8KLSAgICB0b2sudHlwZSA9IGNoOwotICAgIHArKzsKLWRvbmU6Ci0gICAgdG9rLmZpbGVuYW1l
ID0gZmlsZS0+ZmlsZW5hbWU7Ci0gICAgdG9rLmxpbmVudW0gPSBmaWxlLT5saW5lbnVtOwotICAg
IHRvay5sZW4gPSBwIC0gdG9rLnN0YXJ0OwotICAgIGZpbGUtPnBvcyA9IHA7Ci0gICAgcmV0dXJu
ICZ0b2s7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogb3V0cHV0d2lkbCA6IG91dHB1dCBsaXRl
cmFsIFdlYiBJREwgaW5wdXQgdGhhdCBub2RlIHdhcyBwYXJzZWQgZnJvbQotICoKLSAqIEVudGVy
OiAgIG5vZGUgPSBwYXJzZSBub2RlIHRvIG91dHB1dCBsaXRlcmFsIFdlYiBJREwgZm9yCi0gKi8K
LXZvaWQKLW91dHB1dHdpZGwoc3RydWN0IG5vZGUgKm5vZGUpCi17Ci0gICAgY29uc3QgY2hhciAq
c3RhcnQgPSBub2RlLT53c3N0YXJ0LCAqZW5kID0gbm9kZS0+ZW5kOwotICAgIC8qIEZpbmQgdGhl
IGZpbGUgdGhhdCBzdGFydCBpcyBpbi4gKi8KLSAgICBzdHJ1Y3QgZmlsZSAqZmlsZSA9IGZpcnN0
ZmlsZTsKLSAgICB3aGlsZSAoc3RhcnQgPCBmaWxlLT5idWYgfHwgc3RhcnQgPj0gZmlsZS0+ZW5k
KSB7Ci0gICAgICAgIGZpbGUgPSBmaWxlLT5uZXh0OwotICAgICAgICBhc3NlcnQoZmlsZSk7Ci0g
ICAgfQotICAgIC8qIEZpbmQgdGhlIChjdXJyZW50IG9yKSBuZXh0IG5vZGUgdGhhdCBoYXMgbm9k
ZS0+c3RhcnQgc2V0LiBBbnkgc3VjaAotICAgICAqIG5vZGUgbmVlZHMgdG8gYmUgcHV0IGluc2lk
ZSBhIDxyZWY+IGVsZW1lbnQuICovCi0gICAgd2hpbGUgKG5vZGUgJiYgIW5vZGUtPnN0YXJ0KQot
ICAgICAgICBub2RlID0gbm9kZXdhbGsobm9kZSk7Ci0gICAgLyogT3V0cHV0IHVudGlsIHdlIGdl
dCB0byB0aGUgZW5kLiBUaGlzIGhhcyB0byBjb3BlIHdpdGggdGhlIHRleHQKLSAgICAgKiBzcGFu
bmluZyBtdWx0aXBsZSBpbnB1dCBmaWxlcy4gKi8KLSAgICBmb3IgKDs7KSB7Ci0gICAgICAgIGlu
dCBmaW5hbCA9IGVuZCA+PSBmaWxlLT5idWYgJiYgZW5kIDw9IGZpbGUtPmVuZDsKLSAgICAgICAg
Y29uc3QgY2hhciAqdGhpc2VuZCA9IGZpbmFsID8gZW5kIDogZmlsZS0+ZW5kOwotICAgICAgICAv
KiBPdXRwdXQgdGhlIFdlYiBJREwsIG9taXR0aW5nIGNvbW1lbnRzLiAqLwotICAgICAgICB3aGls
ZSAoc3RhcnQgIT0gZW5kKSB7Ci0gICAgICAgICAgICBjb25zdCBjaGFyICpwLCAqcDIsICpjb21t
ZW50LCAqZW5kY29tbWVudDsKLSAgICAgICAgICAgIGludCBjaDsKLSAgICAgICAgICAgIGlmIChu
b2RlICYmIHN0YXJ0ID09IG5vZGUtPnN0YXJ0KSB7Ci0gICAgICAgICAgICAgICAgLyogV2UgYXJl
IG9uIHRoZSBzdGFydCBvZiB0aGUgcHJlc2VudCBub2RlIGluIHRoZSB0cmVlCi0gICAgICAgICAg
ICAgICAgICogd2Fsay4gUHV0IGl0IGluIGEgPHJlZj4uICovCi0gICAgICAgICAgICAgICAgZnB1
dHMoIjxyZWY+Iiwgc3Rkb3V0KTsKLSAgICAgICAgICAgICAgICBwcmludHRleHQobm9kZS0+c3Rh
cnQsIG5vZGUtPmVuZCAtIG5vZGUtPnN0YXJ0LCAxKTsKLSAgICAgICAgICAgICAgICBmcHV0cygi
PC9yZWY+Iiwgc3Rkb3V0KTsKLSAgICAgICAgICAgICAgICBzdGFydCA9IG5vZGUtPmVuZDsKLSAg
ICAgICAgICAgICAgICAvKiBTa2lwIHRvIHRoZSBuZXh0IG5vZGUgd2l0aCBub2RlLT5zdGFydCBz
ZXQgaWYgYW55LiAqLwotICAgICAgICAgICAgICAgIGRvCi0gICAgICAgICAgICAgICAgICAgIG5v
ZGUgPSBub2Rld2Fsayhub2RlKTsKLSAgICAgICAgICAgICAgICB3aGlsZSAobm9kZSAmJiAhbm9k
ZS0+c3RhcnQpOwotICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAgICAgfQotICAg
ICAgICAgICAgcDIgPSB0aGlzZW5kOwotICAgICAgICAgICAgaWYgKG5vZGUgJiYgbm9kZS0+c3Rh
cnQgPj0gZmlsZS0+YnVmICYmIG5vZGUtPnN0YXJ0IDwgcDIpCi0gICAgICAgICAgICAgICAgcDIg
PSBub2RlLT5zdGFydDsKLSAgICAgICAgICAgIHAgPSBtZW1jaHIoc3RhcnQsICcvJywgcDIgLSBz
dGFydCk7Ci0gICAgICAgICAgICBpZiAoIXApIHsKLSAgICAgICAgICAgICAgICBwcmludHRleHQo
c3RhcnQsIHAyIC0gc3RhcnQsIDEpOwotICAgICAgICAgICAgICAgIGlmIChwMiAhPSB0aGlzZW5k
KSB7Ci0gICAgICAgICAgICAgICAgICAgIHN0YXJ0ID0gcDI7Ci0gICAgICAgICAgICAgICAgICAg
IGNvbnRpbnVlOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBicmVhazsKLSAg
ICAgICAgICAgIH0KLSAgICAgICAgICAgIC8qIFNlZSBpZiB3ZSdyZSBhdCB0aGUgc3RhcnQgb2Yg
YSBjb21tZW50LiBJZiBzbyBmaW5kIHRoZSBlbmQuICovCi0gICAgICAgICAgICBjb21tZW50ID0g
MDsKLSAgICAgICAgICAgIGlmIChwICsgMSAhPSB0aGlzZW5kKSB7Ci0gICAgICAgICAgICAgICAg
c3dpdGNoIChwWzFdKSB7Ci0gICAgICAgICAgICAgICAgY2FzZSAnKic6Ci0gICAgICAgICAgICAg
ICAgICAgIC8qIEJsb2NrIGNvbW1lbnQuICovCi0gICAgICAgICAgICAgICAgICAgIGNvbW1lbnQg
PSBwOwotICAgICAgICAgICAgICAgICAgICBwKys7Ci0gICAgICAgICAgICAgICAgICAgIGRvIAot
ICAgICAgICAgICAgICAgICAgICAgICAgcCA9IG1lbWNocihwICsgMSwgJyonLCB0aGlzZW5kIC0g
cCAtIDEpOwotICAgICAgICAgICAgICAgICAgICB3aGlsZSAocFsxXSAhPSAnLycpOwotICAgICAg
ICAgICAgICAgICAgICBlbmRjb21tZW50ID0gcCArIDI7Ci0gICAgICAgICAgICAgICAgICAgIGJy
ZWFrOwotICAgICAgICAgICAgICAgIGNhc2UgJy8nOgotICAgICAgICAgICAgICAgICAgICAvKiBJ
bmxpbmUgY29tbWVudC4gKi8KLSAgICAgICAgICAgICAgICAgICAgY29tbWVudCA9IHA7Ci0gICAg
ICAgICAgICAgICAgICAgIHAgPSBtZW1jaHIocCwgJ1xuJywgdGhpc2VuZCAtIHApOwotICAgICAg
ICAgICAgICAgICAgICBpZiAoIXApCi0gICAgICAgICAgICAgICAgICAgICAgICBwID0gdGhpc2Vu
ZDsKLSAgICAgICAgICAgICAgICAgICAgZW5kY29tbWVudCA9IHA7Ci0gICAgICAgICAgICAgICAg
ICAgIGJyZWFrOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0KLSAgICAgICAgICAg
IGlmICghY29tbWVudCkgewotICAgICAgICAgICAgICAgIC8qIE5vdCBhdCBzdGFydCBvZiBjb21t
ZW50LiAqLwotICAgICAgICAgICAgICAgIHArKzsKLSAgICAgICAgICAgICAgICBwcmludHRleHQo
c3RhcnQsIHAgLSBzdGFydCwgMSk7Ci0gICAgICAgICAgICAgICAgc3RhcnQgPSBwOwotICAgICAg
ICAgICAgICAgIGFzc2VydChzdGFydCA8PSBlbmQpOwotICAgICAgICAgICAgICAgIGNvbnRpbnVl
OwotICAgICAgICAgICAgfQotICAgICAgICAgICAgLyogSWYgdGhlIGNvbW1lbnQgaGFzIG9ubHkg
d2hpdGVzcGFjZSBiZWZvcmUgaXQgb24gdGhlIGxpbmUsCi0gICAgICAgICAgICAgKiBlYXQgdGhh
dCB1cC4gKi8KLSAgICAgICAgICAgIHAgPSBjb21tZW50OwotICAgICAgICAgICAgd2hpbGUgKHAg
IT0gc3RhcnQgJiYgKChjaCA9IHBbLTFdKSA9PSAnICcgfHwgY2ggPT0gJ1x0JykpCi0gICAgICAg
ICAgICAgICAgcC0tOwotICAgICAgICAgICAgaWYgKHAgPT0gc3RhcnQgfHwgcFstMV0gPT0gJ1xu
JykgewotICAgICAgICAgICAgICAgIGNvbW1lbnQgPSBwOwotICAgICAgICAgICAgICAgIC8qIElm
IHRoZSBjb21tZW50IGhhcyBvbmx5IHdoaXRlc3BhY2UgYWZ0ZXIgaXQgdG8gdGhlIGVuZAotICAg
ICAgICAgICAgICAgICAqIG9mIHRoZSBsaW5lLCBlYXQgdGhhdCBhbmQgdGhlIG5ld2xpbmUgdXAu
IFRoaXMgYWx3YXlzCi0gICAgICAgICAgICAgICAgICogaGFwcGVucyBmb3IgYW4gaW5saW5lIGNv
bW1lbnQgb24gYSBsaW5lIGJ5IGl0c2VsZi4gKi8KLSAgICAgICAgICAgICAgICBwID0gZW5kY29t
bWVudDsKLSAgICAgICAgICAgICAgICB3aGlsZSAocCAhPSB0aGlzZW5kICYmICgoY2ggPSAqcCkg
PT0gJyAnIHx8IGNoID09ICdcdCcpKQotICAgICAgICAgICAgICAgICAgICBwKys7Ci0gICAgICAg
ICAgICAgICAgaWYgKHAgIT0gdGhpc2VuZCAmJiAqcCA9PSAnXG4nKQotICAgICAgICAgICAgICAg
ICAgICBwKys7Ci0gICAgICAgICAgICAgICAgZW5kY29tbWVudCA9IHA7Ci0gICAgICAgICAgICB9
Ci0gICAgICAgICAgICBwcmludHRleHQoc3RhcnQsIGNvbW1lbnQgLSBzdGFydCwgMSk7Ci0gICAg
ICAgICAgICBzdGFydCA9IGVuZGNvbW1lbnQ7Ci0gICAgICAgICAgICBpZiAoc3RhcnQgPiB0aGlz
ZW5kKQotICAgICAgICAgICAgICAgIHN0YXJ0ID0gdGhpc2VuZDsKLSAgICAgICAgfQotICAgICAg
ICBpZiAoZmluYWwpCi0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgZmlsZSA9IGZpbGUtPm5l
eHQ7Ci0gICAgICAgIGFzc2VydChmaWxlKTsKLSAgICAgICAgc3RhcnQgPSBmaWxlLT5idWY7Ci0g
ICAgfQotfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3NyYy9sZXguaCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC93aWRscHJvYy9zcmMvbGV4LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGUz
MGI3N2IzNjVjLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mvc3JjL2xleC5o
CisrKyAvZGV2L251bGwKQEAgLTEsMTQxICswLDAgQEAKLQotLyoqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiAk
SWQkCi0gKiBDb3B5cmlnaHQgMjAwOSBBcGxpeCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KLSAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAg
KHRoZSAiTGljZW5zZSIpOwotICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4g
Y29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgotICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9m
IHRoZSBMaWNlbnNlIGF0Ci0gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJ
Q0VOU0UtMi4wCi0gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVk
IHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCi0gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5z
ZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAotICogV0lUSE9VVCBXQVJSQU5U
SUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQu
Ci0gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcg
cGVybWlzc2lvbnMgYW5kCi0gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KLSAqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKi8KLSNpZm5kZWYgbGV4X2gKLSNkZWZpbmUgbGV4X2gKLQotLy8gc3RhcnRpbmcg
ZnJvbSAiYXR0cmlidXRlIiBhcmUgdGhlIGxpc3Qgb2YgbmFtZXMgYWxsb3dlZCBhcyBhcmd1bWVu
dHMgaWRlbnRpZmllcgotI2RlZmluZSBLRVlXT1JEUyBcCi0gICAgIkRPTVN0cmluZ1wwIiBcCi0g
ICAgIkJ5dGVTdHJpbmdcMCIgXAotICAgICJEYXRlXDAiIFwKLSAgICAiUmVnRXhwXDAiIFwKLSAg
ICAiZmFsc2VcMCIgXAotICAgICJvYmplY3RcMCIgXAotICAgICJ0cnVlXDAiIFwKLSAgICAiYW55
XDAiIFwKLSAgICAiYm9vbGVhblwwIiBcCi0gICAgImJ5dGVcMCIgXAotICAgICJkb3VibGVcMCIg
XAotICAgICJmbG9hdFwwIiBcCi0gICAgIkluZmluaXR5XDAiIFwKLSAgICAiLUluZmluaXR5XDAi
IFwKLSAgICAiaXRlcmF0b3JcMCIgXAotICAgICJsb25nXDAiIFwKLSAgICAiTmFOXDAiIFwKLSAg
ICAibnVsbFwwIiBcCi0gICAgIm9jdGV0XDAiIFwKLSAgICAib3B0aW9uYWxcMCIgXAotICAgICJv
clwwIiBcCi0gICAgInJlYWRvbmx5XDAiIFwKLSAgICAic2VxdWVuY2VcMCIgXAotICAgICJzaG9y
dFwwIiBcCi0gICAgInVuc2lnbmVkXDAiIFwKLSAgICAidm9pZFwwIiBcCi0gICAgImF0dHJpYnV0
ZVwwIiBcCi0gICAgImNhbGxiYWNrXDAiIFwKLSAgICAiY29uc3RcMCIgXAotICAgICJjcmVhdG9y
XDAiIFwKLSAgICAiZGVsZXRlclwwIiBcCi0gICAgImRpY3Rpb25hcnlcMCIgXAotICAgICJlbnVt
XDAiIFwKLSAgICAiZXhjZXB0aW9uXDAiIFwKLSAgICAiZ2V0dGVyXDAiIFwKLSAgICAiaW1wbGVt
ZW50c1wwIiBcCi0gICAgImluaGVyaXRcMCIgXAotICAgICJpbnRlcmZhY2VcMCIgXAotICAgICJs
ZWdhY3ljYWxsZXJcMCIgXAotICAgICJwYXJ0aWFsXDAiIFwKLSAgICAic2VyaWFsaXplclwwIiBc
Ci0gICAgInNldHRlclwwIiBcCi0gICAgInN0YXRpY1wwIiBcCi0gICAgInN0cmluZ2lmaWVyXDAi
IFwKLSAgICAidHlwZWRlZlwwIiBcCi0gICAgInVucmVzdHJpY3RlZFwwIgotCi0KLWVudW0gdG9r
dHlwZSB7Ci0gICAgVE9LX0VPRiA9IC0xLAotICAgIFRPS19CTE9DS0NPTU1FTlQgPSAweDgwLAot
ICAgIFRPS19JTkxJTkVDT01NRU5ULCBUT0tfSU5URUdFUiwgVE9LX0ZMT0FULCBUT0tfSURFTlRJ
RklFUiwKLSAgICBUT0tfU1RSSU5HLCBUT0tfRUxMSVBTSVMsIFRPS19ET1VCTEVCUkFDS0VULAot
ICAgIC8qIEtleXdvcmRzIG11c3QgYmUgaW4gdGhlIHNhbWUgb3JkZXIgYXMgYWJvdmUuICovCi0g
ICAgVE9LX0RPTVN0cmluZywKLSAgICBUT0tfQnl0ZVN0cmluZywKLSAgICBUT0tfRGF0ZSwKLSAg
ICBUT0tfUmVnRXhwLAotICAgIFRPS19mYWxzZSwKLSAgICBUT0tfb2JqZWN0LAotICAgIFRPS190
cnVlLAotICAgIFRPS19hbnksCi0gICAgVE9LX2Jvb2xlYW4sCi0gICAgVE9LX2J5dGUsCi0gICAg
VE9LX2RvdWJsZSwKLSAgICBUT0tfZmxvYXQsCi0gICAgVE9LX2luZmluaXR5LAotICAgIFRPS19t
aW51c2luZmluaXR5LAotICAgIFRPS19pdGVyYXRvciwKLSAgICBUT0tfbG9uZywKLSAgICBUT0tf
TmFOLAotICAgIFRPS19udWxsLAotICAgIFRPS19vY3RldCwKLSAgICBUT0tfb3B0aW9uYWwsCi0g
ICAgVE9LX29yLAotICAgIFRPS19yZWFkb25seSwKLSAgICBUT0tfc2VxdWVuY2UsCi0gICAgVE9L
X3Nob3J0LAotICAgIFRPS191bnNpZ25lZCwKLSAgICBUT0tfdm9pZCwKLSAgICAvKiBCZWxvdyB0
aGF0IGxpbmUgYXJlIGtleXdvcmRzIHRoYXQgYXJlIGFsbG93ZWQgYXMgYXJndW1lbnRzIG5hbWVz
ICovCi0gICAgVE9LX2F0dHJpYnV0ZSwKLSAgICBUT0tfY2FsbGJhY2ssCi0gICAgVE9LX2NvbnN0
LAotICAgIFRPS19jcmVhdG9yLAotICAgIFRPS19kZWxldGVyLAotICAgIFRPS19kaWN0aW9uYXJ5
LAotICAgIFRPS19lbnVtLAotICAgIFRPS19leGNlcHRpb24sCi0gICAgVE9LX2dldHRlciwKLSAg
ICBUT0tfaW1wbGVtZW50cywKLSAgICBUT0tfaW5oZXJpdCwKLSAgICBUT0tfaW50ZXJmYWNlLAot
ICAgIFRPS19sZWdhY3ljYWxsZXIsCi0gICAgVE9LX3BhcnRpYWwsCi0gICAgVE9LX3NlcmlhbGl6
ZXIsCi0gICAgVE9LX3NldHRlciwKLSAgICBUT0tfc3RhdGljLAotICAgIFRPS19zdHJpbmdpZmll
ciwKLSAgICBUT0tfdHlwZWRlZiwKLSAgICBUT0tfdW5yZXN0cmljdGVkLAotfTsKLQotc3RydWN0
IHRvayB7Ci0gICAgZW51bSB0b2t0eXBlIHR5cGU7Ci0gICAgY29uc3QgY2hhciAqZmlsZW5hbWU7
Ci0gICAgdW5zaWduZWQgaW50IGxpbmVudW07Ci0gICAgY29uc3QgY2hhciAqcHJlc3RhcnQ7Ci0g
ICAgY29uc3QgY2hhciAqc3RhcnQ7Ci0gICAgdW5zaWduZWQgaW50IGxlbjsKLX07Ci0KLWV4dGVy
biBjb25zdCBjaGFyICpmaWxlbmFtZTsKLWV4dGVybiBjb25zdCBjaGFyIGtleXdvcmRzW107Ci0K
LXN0cnVjdCBub2RlOwotCi12b2lkIHJlYWRpbnB1dChjb25zdCBjaGFyICpjb25zdCAqYXJndik7
Ci1zdHJ1Y3QgdG9rICpsZXgodm9pZCk7Ci12b2lkIG91dHB1dHdpZGwoc3RydWN0IG5vZGUgKm5v
ZGUpOwotCi0jZW5kaWYgLyogbmRlZiBsZXhfaCAqLwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dp
ZGxwcm9jL3NyYy9tYWluLmMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mvc3JjL21haW4uYwpkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZGY5MGUzNDdkZTguLjAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC93aWRscHJvYy9zcmMvbWFpbi5jCisrKyAvZGV2L251bGwKQEAgLTEsNjMgKzAsMCBA
QAotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqCi0gKiAkSWQkCi0gKiBDb3B5cmlnaHQgMjAwOSBBcGxpeCBDb3Jw
b3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFj
aGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOwotICogeW91IG1heSBub3Qg
dXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgotICog
WW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0Ci0gKiAgICAgaHR0cDovL3d3
dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCi0gKiBVbmxlc3MgcmVxdWlyZWQgYnkg
YXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCi0gKiBkaXN0
cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJB
U0lTLAotICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVp
dGhlciBleHByZXNzIG9yIGltcGxpZWQuCi0gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVj
aWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCi0gKiBsaW1pdGF0aW9ucyB1
bmRlciB0aGUgTGljZW5zZS4KLSAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLSNpbmNsdWRlIDxzdHJpbmcuaD4K
LSNpbmNsdWRlICJtaXNjLmgiCi0jaW5jbHVkZSAicHJvY2Vzcy5oIgotCi1zdGF0aWMgY29uc3Qg
Y2hhciBub2R0ZG9wdFtdID0gIi1uby1kdGQtcmVmIjsKLWNvbnN0IGNoYXIgKnByb2duYW1lOwot
Ci0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioKLSAqIG9wdGlvbnMgOiBwcm9jZXNzIGNvbW1hbmQgbGluZSBvcHRp
b25zCi0gKgotICogRW50ZXI6ICAgYXJndgotICoKLSAqIFJldHVybjogIGFyZ3Ygc3RlcHBlZCB0
byBwb2ludCB0byBmaXJzdCBub24tb3B0aW9uIGFyZ3VtZW50Ci0gKi8KLXN0YXRpYyBjb25zdCBj
aGFyICpjb25zdCAqCi1vcHRpb25zKGludCBhcmdjLCBjb25zdCBjaGFyICpjb25zdCAqYXJndikK
LXsKLSAgICAvKiBTZXQgcHJvZ25hbWUgZm9yIGVycm9yIG1lc3NhZ2VzIGV0Yy4gKi8KLSAgICB7
Ci0gICAgICAgIGNvbnN0IGNoYXIgKmJhc2U7Ci0gICAgICAgIHByb2duYW1lID0gYXJndlswXTsK
LSAgICAgICAgYmFzZSA9IHN0cnJjaHIocHJvZ25hbWUsICcvJyk7Ci0jaWZkZWYgRElSU0VQCi0g
ICAgICAgIHsKLSAgICAgICAgICAgIGNvbnN0IGNoYXIgKmJhc2UyID0gc3RycmNocihiYXNlLCAn
XFwnKTsKLSAgICAgICAgICAgIGlmIChiYXNlMiA+IGJhc2UpCi0gICAgICAgICAgICAgICAgYmFz
ZSA9IGJhc2UyOwotICAgICAgICB9Ci0jZW5kaWYgLyogZGVmIERJUlNFUCAqLwotICAgICAgICBp
ZiAoYmFzZSkKLSAgICAgICAgICAgIHByb2duYW1lID0gYmFzZSArIDE7Ci0gICAgfQotICAgIHJl
dHVybiAoYXJnYyA+IDEgJiYgc3RybmNtcChhcmd2WzFdLCBub2R0ZG9wdCwgc2l6ZW9mIG5vZHRk
b3B0KSA9PSAwKQotICAgICAgICAgID8gYXJndiArIDIgOiBhcmd2ICsgMTsKLX0KLQotLyoqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqCi0gKiBtYWluIDogbWFpbiBjb2RlIGZvciBib25kaWlkbCBjb21tYW5kCi0gKi8K
LWludAotbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCi17Ci0gICAgY29uc3QgY2hhciAqY29u
c3QgKnBhcmc7Ci0gICAgcGFyZyA9IG9wdGlvbnMoYXJnYywgKGNvbnN0IGNoYXIgKmNvbnN0ICop
YXJndik7Ci0gICAgaWYgKCEqcGFyZykKLSAgICAgICAgZXJyb3JleGl0KCJ1c2FnZTogJXMgWy1u
by1kdGQtcmVmXSA8aW50ZXJmYWNlPi53aWRsIC4uLiIsIHByb2duYW1lKTsKLSAgICBwcm9jZXNz
ZmlsZXMocGFyZywgcGFyZyA9PSAoY29uc3QgY2hhciAqY29uc3QgKilhcmd2ICsgMSk7Ci0gICAg
cmV0dXJuIDA7Ci19Ci0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9zcmMvbWlzYy5j
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3dpZGxwcm9jL3NyYy9taXNjLmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDM3YWZmM2YzNGRiLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mv
c3JjL21pc2MuYworKysgL2Rldi9udWxsCkBAIC0xLDExOSArMCwwIEBACi0vKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioKLSAqICRJZCQKLSAqIENvcHlyaWdodCAyMDA5IEFwbGl4IENvcnBvcmF0aW9uLiBBbGwgcmln
aHRzIHJlc2VydmVkLgotICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJz
aW9uIDIuMCAodGhlICJMaWNlbnNlIik7Ci0gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4
Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCi0gKiBZb3UgbWF5IG9idGFpbiBh
IGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKLSAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGlj
ZW5zZXMvTElDRU5TRS0yLjAKLSAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBv
ciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKLSAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRo
ZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCi0gKiBXSVRIT1VU
IFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3Ig
aW1wbGllZC4KLSAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdv
dmVybmluZyBwZXJtaXNzaW9ucyBhbmQKLSAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNl
LgotICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqLwotI2luY2x1ZGUgPHN0ZGFyZy5oPgotI2luY2x1ZGUgPHN0ZGlv
Lmg+Ci0jaW5jbHVkZSA8c3RkbGliLmg+Ci0jaW5jbHVkZSA8c3RyaW5nLmg+Ci0jaW5jbHVkZSAi
bWlzYy5oIgotI2luY2x1ZGUgIm9zLmgiIC8qIHRvIGdldCB2YV9jb3B5IG9uIHdpbmRvd3MgKi8K
LQotZXh0ZXJuIGNvbnN0IGNoYXIgKnByb2duYW1lOwotCi0vKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIG1l
bW9yeSBhbGxvY2F0aW9uIHdyYXBwZXJzCi0gKi8KLXZvaWQgKgotbWVtYWxsb2Moc2l6ZV90IHNp
emUpCi17Ci0gICAgdm9pZCAqcHRyID0gbWFsbG9jKHNpemUpOwotICAgIGlmICghcHRyKQotICAg
ICAgICBlcnJvcmV4aXQoIm91dCBvZiBtZW1vcnkiKTsKLSAgICAvKiBaZXJvIGluaXRpYWxpc2Ug
bWVtb3J5IGZyb20gbWVtYWxsb2MuICovCi0gICAgbWVtc2V0KHB0ciwgMCwgc2l6ZSk7Ci0gICAg
cmV0dXJuIHB0cjsKLX0KLQotdm9pZCAqCi1tZW1yZWFsbG9jKHZvaWQgKnB0ciwgc2l6ZV90IHNp
emUpCi17Ci0gICAgdm9pZCAqbmV3cHRyID0gcmVhbGxvYyhwdHIsIHNpemUpOwotICAgIGlmICgh
bmV3cHRyKQotICAgICAgICBlcnJvcmV4aXQoIm91dCBvZiBtZW1vcnkiKTsKLSAgICByZXR1cm4g
bmV3cHRyOwotfQotCi12b2lkCi1tZW1mcmVlKHZvaWQgKnB0cikKLXsKLSAgICAqKGludCAqKXB0
ciA9IDB4ZmVmZWZlZmU7Ci0gICAgZnJlZShwdHIpOwotfQotCi0vKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAq
IHZtZW1wcmludGYsIG1lbXByaW50ZiA6IGFsbG9jYXRlIGJ1ZmZlciBhbmQgc3ByaW50ZiBpbnRv
IGl0Ci0gKi8KLWNoYXIgKgotbWVtcHJpbnRmKGNvbnN0IGNoYXIgKmZvcm1hdCwgLi4uKQotewot
ICAgIHZhX2xpc3QgYXA7Ci0gICAgY2hhciAqYnVmOwotICAgIHZhX3N0YXJ0KGFwLCBmb3JtYXQp
OwotICAgIGJ1ZiA9IHZtZW1wcmludGYoZm9ybWF0LCBhcCk7Ci0gICAgdmFfZW5kKGFwKTsKLSAg
ICByZXR1cm4gYnVmOwotfQotCi1jaGFyICoKLXZtZW1wcmludGYoY29uc3QgY2hhciAqZm9ybWF0
LCB2YV9saXN0IGFwKQotewotICAgIGNoYXIgKmJ1ZjsKLSAgICB1bnNpZ25lZCBpbnQgbWF4LCBs
ZW47Ci0gICAgdmFfbGlzdCBhcDI7Ci0gICAgbWF4ID0gMTY7Ci0gICAgZm9yICg7OykgewotICAg
ICAgICB2YV9jb3B5KGFwMiwgYXApOwotICAgICAgICBidWYgPSBtZW1hbGxvYyhtYXgpOwotICAg
ICAgICBsZW4gPSB2c25wcmludGYoYnVmLCBtYXgsIGZvcm1hdCwgYXAyKTsKLSAgICAgICAgdmFf
ZW5kKGFwMik7Ci0gICAgICAgIGlmIChsZW4gPCBtYXgpCi0gICAgICAgICAgICBicmVhazsKLSAg
ICAgICAgbWVtZnJlZShidWYpOwotICAgICAgICBtYXggKj0gMjsKLSAgICB9Ci0gICAgcmV0dXJu
IGJ1ZjsKLX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBlcnJvcmV4aXQgOiBwcmludCBlcnJvciBt
ZXNzYWdlIHRoZW4gZXhpdAotICovCi12b2lkCi12bG9jZXJyb3JleGl0KGNvbnN0IGNoYXIgKmZp
bGVuYW1lLCB1bnNpZ25lZCBpbnQgbGluZW51bSwKLSAgICAgICAgY29uc3QgY2hhciAqZm9ybWF0
LCB2YV9saXN0IGFwKQotewotICAgIGlmIChmaWxlbmFtZSkKLSAgICAgICAgZnByaW50ZihzdGRl
cnIsIGxpbmVudW0gPyAiJXM6ICVpOiAiIDogIiVzOiAiLCBmaWxlbmFtZSwgbGluZW51bSk7Ci0g
ICAgdmZwcmludGYoc3RkZXJyLCBmb3JtYXQsIGFwKTsKLSAgICBmcHV0YygnXG4nLCBzdGRlcnIp
OwotICAgIGV4aXQoMSk7Ci19Ci0KLXZvaWQKLWxvY2Vycm9yZXhpdChjb25zdCBjaGFyICpmaWxl
bmFtZSwgdW5zaWduZWQgaW50IGxpbmVudW0sCi0gICAgICAgIGNvbnN0IGNoYXIgKmZvcm1hdCwg
Li4uKQotewotICAgIHZhX2xpc3QgYXA7Ci0gICAgdmFfc3RhcnQoYXAsIGZvcm1hdCk7Ci0gICAg
dmxvY2Vycm9yZXhpdChmaWxlbmFtZSwgbGluZW51bSwgZm9ybWF0LCBhcCk7Ci0gICAgdmFfZW5k
KGFwKTsKLX0KLQotdm9pZAotZXJyb3JleGl0KGNvbnN0IGNoYXIgKmZvcm1hdCwgLi4uKQotewot
ICAgIHZhX2xpc3QgYXA7Ci0gICAgdmFfc3RhcnQoYXAsIGZvcm1hdCk7Ci0gICAgdmxvY2Vycm9y
ZXhpdCgwLCAwLCBmb3JtYXQsIGFwKTsKLSAgICB2YV9lbmQoYXApOwotfQotCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mvc3JjL21pc2MuaCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9zcmMv
bWlzYy5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMWMzNmQyMThlZC4uMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3NyYy9taXNjLmgKKysrIC9kZXYvbnVsbApA
QCAtMSwzMSArMCwwIEBACi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqICRJZCQKLSAqIENvcHlyaWdodCAy
MDA5IEFwbGl4IENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICogTGljZW5zZWQg
dW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7Ci0g
KiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhl
IExpY2Vuc2UuCi0gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKLSAq
ICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKLSAqIFVubGVz
cyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29m
dHdhcmUKLSAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9u
IGFuICJBUyBJUyIgQkFTSVMsCi0gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBP
RiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KLSAqIFNlZSB0aGUgTGljZW5z
ZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKLSAq
IGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgotICoqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwotI2lmbmRl
ZiBtaXNjX2gKLSNkZWZpbmUgbWlzY19oCi0jaW5jbHVkZSA8c3RkYXJnLmg+Ci0jaW5jbHVkZSA8
c3RkbGliLmg+Ci0KLXZvaWQgKm1lbWFsbG9jKHNpemVfdCBzaXplKTsKLXZvaWQgKm1lbXJlYWxs
b2Modm9pZCAqcHRyLCBzaXplX3Qgc2l6ZSk7Ci12b2lkIG1lbWZyZWUodm9pZCAqcHRyKTsKLQot
Y2hhciAqdm1lbXByaW50Zihjb25zdCBjaGFyICpmb3JtYXQsIHZhX2xpc3QgYXApOwotY2hhciAq
bWVtcHJpbnRmKGNvbnN0IGNoYXIgKmZvcm1hdCwgLi4uKTsKLQotdm9pZCB2bG9jZXJyb3JleGl0
KGNvbnN0IGNoYXIgKmZpbGVuYW1lLCB1bnNpZ25lZCBpbnQgbGluZW51bSwgY29uc3QgY2hhciAq
Zm9ybWF0LCB2YV9saXN0IGFwKTsKLXZvaWQgbG9jZXJyb3JleGl0KGNvbnN0IGNoYXIgKmZpbGVu
YW1lLCB1bnNpZ25lZCBpbnQgbGluZW51bSwgY29uc3QgY2hhciAqZm9ybWF0LCAuLi4pOwotdm9p
ZCBlcnJvcmV4aXQoY29uc3QgY2hhciAqZm9ybWF0LCAuLi4pOwotCi0jZW5kaWYgLyogbmRlZiBt
aXNjX2ggKi8KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3NyYy9ub2RlLmMgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3Qvd2lkbHByb2Mvc3JjL25vZGUuYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggZDhmNzM3OTA5YTQuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9zcmMv
bm9kZS5jCisrKyAvZGV2L251bGwKQEAgLTEsMzMxICswLDAgQEAKLS8qKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgot
ICogJElkJAotICogQ29weXJpZ2h0IDIwMDkgQXBsaXggQ29ycG9yYXRpb24uIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCi0gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24g
Mi4wICh0aGUgIkxpY2Vuc2UiKTsKLSAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0
IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KLSAqIFlvdSBtYXkgb2J0YWluIGEgY29w
eSBvZiB0aGUgTGljZW5zZSBhdAotICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNl
cy9MSUNFTlNFLTIuMAotICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFn
cmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQotICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExp
Y2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKLSAqIFdJVEhPVVQgV0FS
UkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBs
aWVkLgotICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJu
aW5nIHBlcm1pc3Npb25zIGFuZAotICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCi0g
KgotICogTm9kZS1zcGVjaWZpYyBmdW5jdGlvbnMKLSAqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLSNpbmNsdWRl
IDxhc3NlcnQuaD4KLSNpbmNsdWRlIDxzdGRpby5oPgotI2luY2x1ZGUgPHN0cmluZy5oPgotI2lu
Y2x1ZGUgImNvbW1lbnQuaCIKLSNpbmNsdWRlICJsZXguaCIKLSNpbmNsdWRlICJtaXNjLmgiCi0j
aW5jbHVkZSAibm9kZS5oIgotI2luY2x1ZGUgInByb2Nlc3MuaCIKLQotc3RydWN0IG5vZGUgKgot
bmV3ZWxlbWVudChjb25zdCBjaGFyICpuYW1lKQotewotICAgIHN0cnVjdCBlbGVtZW50ICplbGVt
ZW50ID0gbWVtYWxsb2Moc2l6ZW9mKHN0cnVjdCBlbGVtZW50KSk7Ci0gICAgZWxlbWVudC0+bi50
eXBlID0gTk9ERV9FTEVNRU5UOwotICAgIGVsZW1lbnQtPm5hbWUgPSBuYW1lOwotICAgIHJldHVy
biAmZWxlbWVudC0+bjsKLX0KLQotc3RydWN0IG5vZGUgKgotbmV3YXR0cihjb25zdCBjaGFyICpu
YW1lLCBjb25zdCBjaGFyICp2YWwpCi17Ci0gICAgc3RydWN0IGF0dHIgKmF0dHIgPSBtZW1hbGxv
YyhzaXplb2Yoc3RydWN0IGF0dHIpKTsKLSAgICBhdHRyLT5uLnR5cGUgPSBOT0RFX0FUVFI7Ci0g
ICAgYXR0ci0+bmFtZSA9IG5hbWU7Ci0gICAgYXR0ci0+dmFsdWUgPSB2YWw7Ci0gICAgcmV0dXJu
ICZhdHRyLT5uOwotfQotCi1zdHJ1Y3Qgbm9kZSAqCi1uZXdhdHRybGlzdCh2b2lkKQotewotICAg
IHN0cnVjdCBhdHRybGlzdCAqYXR0cmxpc3QgPSBtZW1hbGxvYyhzaXplb2Yoc3RydWN0IGF0dHJs
aXN0KSk7Ci0gICAgYXR0cmxpc3QtPm4udHlwZSA9IE5PREVfQVRUUkxJU1Q7Ci0gICAgcmV0dXJu
ICZhdHRybGlzdC0+bjsKLX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBhZGRub2RlIDogYWRkIG5v
ZGUgYXMgY2hpbGQgb2YgYW5vdGhlciBub2RlCi0gKgotICogRW50ZXI6ICAgcGFyZW50IG5vZGUK
LSAqICAgICAgICAgIGNoaWxkIG5vZGUKLSAqCi0gKiBUaGUgY2hpbGRyZW4gbGlzdCBpcyBjb25z
dHJ1Y3RlZCBiYWNrd2FyZHMuIFRoaXMgaXMgZml4ZWQgbGF0ZXIgd2l0aAotICogYSBjYWxsIHRv
IHJldmVyc2VjaGlsZHJlbi4KLSAqCi0gKiBJZiBjaGlsZCBpcyBhbiBhdHRybGlzdCwgaXRzIGNo
aWxkcmVuIGFyZSBhZGRlZCB0byBwYXJlbnQgYW5kIHRoZQotICogYXR0cmxpc3QgaXMgZnJlZWQu
Ci0gKi8KLXZvaWQKLWFkZG5vZGUoc3RydWN0IG5vZGUgKnBhcmVudCwgc3RydWN0IG5vZGUgKmNo
aWxkKQotewotICAgIGlmICghY2hpbGQpCi0gICAgICAgIHJldHVybjsKLSAgICBpZiAoY2hpbGQt
PnR5cGUgPT0gTk9ERV9BVFRSTElTVCkgewotICAgICAgICAvKiBBZGQgdGhlIGF0dHJzIGluIHRo
ZSBhdHRybGlzdCB0byBwYXJlbnQuICovCi0gICAgICAgIHN0cnVjdCBub2RlICpjaGlsZDI7Ci0g
ICAgICAgIHJldmVyc2VjaGlsZHJlbihjaGlsZCk7Ci0gICAgICAgIGNoaWxkMiA9IGNoaWxkLT5j
aGlsZHJlbjsKLSAgICAgICAgbWVtZnJlZShjaGlsZCk7Ci0gICAgICAgIHdoaWxlIChjaGlsZDIp
IHsKLSAgICAgICAgICAgIHN0cnVjdCBub2RlICpuZXh0ID0gY2hpbGQyLT5uZXh0OwotICAgICAg
ICAgICAgYWRkbm9kZShwYXJlbnQsIGNoaWxkMik7Ci0gICAgICAgICAgICBjaGlsZDIgPSBuZXh0
OwotICAgICAgICB9Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgY2hpbGQtPm5leHQgPSBwYXJlbnQt
PmNoaWxkcmVuOwotICAgICAgICBwYXJlbnQtPmNoaWxkcmVuID0gY2hpbGQ7Ci0gICAgICAgIGNo
aWxkLT5wYXJlbnQgPSBwYXJlbnQ7Ci0gICAgfQotfQotCi0vKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIHJl
dmVyc2VjaGlsZHJlbiA6IHJlY3Vyc2l2ZWx5IHJldmVyc2UgY2hpbGQgbGlzdHMKLSAqCi0gKiBB
bHNvIHNldHMgcGFyZW50IGZpZWxkIG9uIGVhY2ggbm9kZS4KLSAqLwotdm9pZAotcmV2ZXJzZWNo
aWxkcmVuKHN0cnVjdCBub2RlICpub2RlKQotewotICAgIHN0cnVjdCBub2RlICpuZXdsaXN0ID0g
MDsKLSAgICBzdHJ1Y3Qgbm9kZSAqY2hpbGQgPSBub2RlLT5jaGlsZHJlbjsKLSAgICB3aGlsZSAo
Y2hpbGQpIHsKLSAgICAgICAgc3RydWN0IG5vZGUgKm5leHQgPSBjaGlsZC0+bmV4dDsKLSAgICAg
ICAgY2hpbGQtPnBhcmVudCA9IG5vZGU7Ci0gICAgICAgIGNoaWxkLT5uZXh0ID0gbmV3bGlzdDsK
LSAgICAgICAgbmV3bGlzdCA9IGNoaWxkOwotICAgICAgICByZXZlcnNlY2hpbGRyZW4oY2hpbGQp
OwotICAgICAgICBjaGlsZCA9IG5leHQ7Ci0gICAgfQotICAgIG5vZGUtPmNoaWxkcmVuID0gbmV3
bGlzdDsKLX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBub2RlaXNlbXB0eSA6IHRlc3QgaWYgbm9k
ZSBpcyBlbXB0eSAoaGFzIG5vIGNoaWxkcmVuKQotICovCi1pbnQKLW5vZGVpc2VtcHR5KHN0cnVj
dCBub2RlICpub2RlKQotewotICAgIHJldHVybiAhbm9kZS0+Y2hpbGRyZW47Ci19Ci0KLS8qKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKgotICogbm9kZXdhbGsgOiBzaW5nbGUgc3RlcCBvZiBkZXB0aCBsYXN0IHRyYXZl
cnNhbCBvZiBub2RlIHRyZWUKLSAqCi0gKiBSZXR1cm46ICBuZXh0IG5vZGUgaW4gd2FsaywgMCBp
ZiBmaW5pc2hlZAotICovCi1zdHJ1Y3Qgbm9kZSAqCi1ub2Rld2FsayhzdHJ1Y3Qgbm9kZSAqbm9k
ZSkKLXsKLSAgICBpZiAobm9kZS0+Y2hpbGRyZW4pCi0gICAgICAgIHJldHVybiBub2RlLT5jaGls
ZHJlbjsKLSAgICBpZiAobm9kZS0+bmV4dCkKLSAgICAgICAgcmV0dXJuIG5vZGUtPm5leHQ7Ci0g
ICAgZG8gewotICAgICAgICBub2RlID0gbm9kZS0+cGFyZW50OwotICAgICAgICBpZiAoIW5vZGUp
Ci0gICAgICAgICAgICByZXR1cm4gMDsKLSAgICB9IHdoaWxlICghbm9kZS0+bmV4dCk7Ci0gICAg
cmV0dXJuIG5vZGUtPm5leHQ7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogZmluZGNoaWxkZWxl
bWVudCA6IGZpbmQgY2hpbGQgZWxlbWVudCBvZiBhIHBhcnRpY3VsYXIgbmFtZQotICoKLSAqIEVu
dGVyOiAgIG5vZGUgPSBlbGVtZW50Ci0gKiAgICAgICAgICBuYW1lID0gbmFtZSB0byBmaW5kCi0g
KgotICogUmV0dXJuOiAgMCBlbHNlIGNoaWxkIGVsZW1lbnQgb2YgdGhhdCBuYW1lCi0gKi8KLXN0
YXRpYyBzdHJ1Y3Qgbm9kZSAqCi1maW5kY2hpbGRlbGVtZW50KHN0cnVjdCBub2RlICpub2RlLCBj
b25zdCBjaGFyICpuYW1lKQotewotICAgIG5vZGUgPSBub2RlLT5jaGlsZHJlbjsKLSAgICB3aGls
ZSAobm9kZSkgewotICAgICAgICBpZiAobm9kZS0+dHlwZSA9PSBOT0RFX0VMRU1FTlQpIHsKLSAg
ICAgICAgICAgIHN0cnVjdCBlbGVtZW50ICplbGVtZW50ID0gKHZvaWQgKilub2RlOwotICAgICAg
ICAgICAgaWYgKCFzdHJjbXAoZWxlbWVudC0+bmFtZSwgbmFtZSkpCi0gICAgICAgICAgICAgICAg
YnJlYWs7Ci0gICAgICAgIH0KLSAgICAgICAgbm9kZSA9IG5vZGUtPm5leHQ7Ci0gICAgfQotICAg
IHJldHVybiBub2RlOwotfQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIGdldGF0dHIgOiBnZXQgdmFs
dWUgb2YgYXR0cmlidXRlCi0gKgotICogRW50ZXI6ICAgbm9kZSA9IGVsZW1lbnQgdG8gZmluZCBh
dHRyaWJ1dGUgaW4KLSAqICAgICAgICAgIG5hbWUgPSBuYW1lIG9mIGF0dHJpYnV0ZQotICoKLSAq
IFJldHVybjogIDAgaWYgbm90IGZvdW5kLCBlbHNlIDAtdGVybWluYXRlZCBzdHJpbmcgdmFsdWUK
LSAqLwotY29uc3QgY2hhciAqCi1nZXRhdHRyKHN0cnVjdCBub2RlICpub2RlLCBjb25zdCBjaGFy
ICpuYW1lKQotewotICAgIG5vZGUgPSBub2RlLT5jaGlsZHJlbjsKLSAgICB3aGlsZSAobm9kZSkg
ewotICAgICAgICBpZiAobm9kZS0+dHlwZSA9PSBOT0RFX0FUVFIpIHsKLSAgICAgICAgICAgIHN0
cnVjdCBhdHRyICphdHRyID0gKHZvaWQgKilub2RlOwotICAgICAgICAgICAgaWYgKCFzdHJjbXAo
YXR0ci0+bmFtZSwgbmFtZSkpCi0gICAgICAgICAgICAgICAgcmV0dXJuIGF0dHItPnZhbHVlOwot
ICAgICAgICB9Ci0gICAgICAgIG5vZGUgPSBub2RlLT5uZXh0OwotICAgIH0KLSAgICByZXR1cm4g
MDsKLX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBmaW5kY2hpbGRlbGVtZW50d2l0aG5hbWVhdHRy
IDogZmluZCBjaGlsZCBlbGVtZW50IHdpdGggYSBuYW1lIGF0dHJpYnV0ZQotICogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIG9mIGEgcGFydGljdWxhciB2YWx1ZQotICoKLSAqIEVudGVy
OiAgIG5vZGUgPSBlbGVtZW50Ci0gKiAgICAgICAgICBuYW1lID0gbmFtZSB0byBmaW5kCi0gKgot
ICogUmV0dXJuOiAgMCBlbHNlIGNoaWxkIGVsZW1lbnQgd2l0aCBuYW1lIGF0dHIgb2YgdGhhdCB2
YWx1ZQotICovCi1zdGF0aWMgc3RydWN0IG5vZGUgKgotZmluZGNoaWxkZWxlbWVudHdpdGhuYW1l
YXR0cihzdHJ1Y3Qgbm9kZSAqbm9kZSwgY29uc3QgY2hhciAqbmFtZSkKLXsKLSAgICBub2RlID0g
bm9kZS0+Y2hpbGRyZW47Ci0gICAgd2hpbGUgKG5vZGUpIHsKLSAgICAgICAgaWYgKG5vZGUtPnR5
cGUgPT0gTk9ERV9FTEVNRU5UKSB7Ci0gICAgICAgICAgICBjb25zdCBjaGFyICpzID0gZ2V0YXR0
cihub2RlLCAibmFtZSIpOwotICAgICAgICAgICAgaWYgKHMgJiYgIXN0cmNtcChzLCBuYW1lKSkK
LSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgfQotICAgICAgICBub2RlID0gbm9kZS0+
bmV4dDsKLSAgICB9Ci0gICAgcmV0dXJuIG5vZGU7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICog
ZmluZHJldHVybnR5cGUgOiBmaW5kIFR5cGUgcGFyc2Ugbm9kZSBmb3IgcmV0dXJuIHR5cGUKLSAq
Ci0gKiBFbnRlcjogICBub2RlID0gT3BlcmF0aW9uIGVsZW1lbnQKLSAqCi0gKiBSZXR1cm46ICAw
IGlmIG5vdCBmb3VuZCwgZWxzZSBUeXBlIHBhcnNlIG5vZGUgZm9yIHJldHVybiB0eXBlCi0gKi8K
LXN0cnVjdCBub2RlICoKLWZpbmRyZXR1cm50eXBlKHN0cnVjdCBub2RlICpub2RlKQotewotICAg
IHJldHVybiBmaW5kY2hpbGRlbGVtZW50KG5vZGUsICJUeXBlIik7Ci19Ci0KLS8qKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKgotICogZmluZHBhcmFtaWRlbnRpZmllciA6IGZpbmQgaWRlbnRpZmllciBwYXJzZSBub2Rl
IGZvciBwYXJhbWV0ZXIKLSAqCi0gKiBFbnRlcjogICBub2RlID0gT3BlcmF0aW9uIGVsZW1lbnQK
LSAqICAgICAgICAgIG5hbWUgPSBwYXJhbWV0ZXIgbmFtZSB0byBmaW5kCi0gKgotICogUmV0dXJu
OiAgMCBpZiBub3QgZm91bmQsIGVsc2Ugbm9kZSBzdHJ1Y3QgZm9yIHBhcmFtZXRlciBpZGVudGlm
aWVyCi0gKi8KLXN0cnVjdCBub2RlICoKLWZpbmRwYXJhbWlkZW50aWZpZXIoc3RydWN0IG5vZGUg
Km5vZGUsIGNvbnN0IGNoYXIgKm5hbWUpCi17Ci0gICAgbm9kZSA9IGZpbmRjaGlsZGVsZW1lbnQo
bm9kZSwgIkFyZ3VtZW50TGlzdCIpOwotICAgIGlmIChub2RlKQotICAgICAgICBub2RlID0gZmlu
ZGNoaWxkZWxlbWVudHdpdGhuYW1lYXR0cihub2RlLCBuYW1lKTsKLSAgICByZXR1cm4gbm9kZTsK
LX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqCi0gKiBmaW5kdGhyb3dpZGVudGlmaWVyIDogZmluZCBpZGVu
dGlmaWVyIHBhcnNlIG5vZGUgZm9yIGV4Y2VwdGlvbiBuYW1lCi0gKgotICogRW50ZXI6ICAgbm9k
ZSA9IE9wZXJhdGlvbiBlbGVtZW50Ci0gKiAgICAgICAgICBuYW1lID0gZXhjZXB0aW9uIG5hbWUg
dG8gZmluZAotICoKLSAqIFJldHVybjogIDAgaWYgbm90IGZvdW5kLCBlbHNlIG5vZGUgZm9yIE5h
bWUgZWxlbWVudCwgY2hpbGQgb2YgUmFpc2VzCi0gKiAgICAgICAgICAgICAgb3IgU2V0UmFpc2Vz
Ci0gKi8KLXN0cnVjdCBub2RlICoKLWZpbmR0aHJvd2lkZW50aWZpZXIoc3RydWN0IG5vZGUgKm5v
ZGUsIGNvbnN0IGNoYXIgKm5hbWUpCi17Ci0gICAgc3RydWN0IG5vZGUgKm5vZGUyID0gZmluZGNo
aWxkZWxlbWVudChub2RlLCAiUmFpc2VzIik7Ci0gICAgaWYgKG5vZGUyKQotICAgICAgICBub2Rl
MiA9IGZpbmRjaGlsZGVsZW1lbnR3aXRobmFtZWF0dHIobm9kZTIsIG5hbWUpOwotICAgIGlmICgh
bm9kZTIpIHsKLSAgICAgICAgbm9kZTIgPSBmaW5kY2hpbGRlbGVtZW50KG5vZGUsICJTZXRSYWlz
ZXMiKTsKLSAgICAgICAgaWYgKG5vZGUyKQotICAgICAgICAgICAgbm9kZTIgPSBmaW5kY2hpbGRl
bGVtZW50d2l0aG5hbWVhdHRyKG5vZGUyLCBuYW1lKTsKLSAgICB9Ci0gICAgcmV0dXJuIG5vZGUy
OwotfQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioKLSAqIG91dHB1dGlkIDogb3V0cHV0IHRoZSBpZCBvZiBh
IG5vZGUKLSAqLwotc3RhdGljIHZvaWQKLW91dHB1dGlkKHN0cnVjdCBub2RlICpub2RlKQotewot
ICAgIGlmIChub2RlLT5wYXJlbnQpCi0gICAgICAgIG91dHB1dGlkKG5vZGUtPnBhcmVudCk7Ci0g
ICAgaWYgKG5vZGUtPmlkKSB7Ci0gICAgICAgIGZwdXRzKCI6OiIsIHN0ZG91dCk7Ci0gICAgICAg
IHByaW50dGV4dChub2RlLT5pZCwgc3RybGVuKG5vZGUtPmlkKSwgMSk7Ci0gICAgfQotfQotCi0v
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioKLSAqIG91dHB1dG5vZGUgOiBvdXRwdXQgbm9kZSBhbmQgaXRzIGNoaWxk
cmVuCi0gKgotICogRW50ZXI6ICAgbm9kZSA9IG5vZGUgdG8gb3V0cHV0LCBhc3N1bWVkIHRvIGJl
IGFuIGVsZW1lbnQKLSAqICAgICAgICAgIGluZGVudAotICovCi12b2lkCi1vdXRwdXRub2RlKHN0
cnVjdCBub2RlICpub2RlLCB1bnNpZ25lZCBpbnQgaW5kZW50KQotewotICAgIHN0cnVjdCBlbGVt
ZW50ICplbGVtZW50ID0gKHZvaWQgKilub2RlOwotICAgIHN0cnVjdCBub2RlICpjaGlsZDsKLSAg
ICBpbnQgZW1wdHkgPSAxOwotICAgIHByaW50ZigiJSpzPCVzIiwgaW5kZW50LCAiIiwgZWxlbWVu
dC0+bmFtZSk7Ci0gICAgY2hpbGQgPSBlbGVtZW50LT5uLmNoaWxkcmVuOwotICAgIHdoaWxlIChj
aGlsZCkgewotICAgICAgICBzd2l0Y2goY2hpbGQtPnR5cGUpIHsKLSAgICAgICAgY2FzZSBOT0RF
X0VMRU1FTlQ6Ci0gICAgICAgICAgICBlbXB0eSA9IDA7Ci0gICAgICAgICAgICBicmVhazsKLSAg
ICAgICAgY2FzZSBOT0RFX0FUVFI6Ci0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgc3Ry
dWN0IGF0dHIgKmF0dHIgPSAodm9pZCAqKWNoaWxkOwotICAgICAgICAgICAgICAgIHByaW50Zigi
ICVzPVwiIiwgYXR0ci0+bmFtZSk7Ci0gICAgICAgICAgICAgICAgcHJpbnR0ZXh0KGF0dHItPnZh
bHVlLCBzdHJsZW4oYXR0ci0+dmFsdWUpLCAxKTsKLSAgICAgICAgICAgICAgICBwcmludGYoIlwi
Iik7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgfQotICAgICAg
ICBjaGlsZCA9IGNoaWxkLT5uZXh0OwotICAgIH0KLSAgICBpZiAobm9kZS0+aWQpIHsKLSAgICAg
ICAgcHJpbnRmKCIgaWQ9XCIiKTsKLSAgICAgICAgb3V0cHV0aWQobm9kZSk7Ci0gICAgICAgIHBy
aW50ZigiXCIiKTsKLSAgICB9Ci0gICAgaWYgKCFlbXB0eSB8fCBub2RlLT5jb21tZW50cyB8fCBu
b2RlLT53c3N0YXJ0KSB7Ci0gICAgICAgIHByaW50ZigiPlxuIik7Ci0gICAgICAgIGlmIChub2Rl
LT53c3N0YXJ0KSB7Ci0gICAgICAgICAgICBwcmludGYoIiUqcyAgPHdlYmlkbD4iLCBpbmRlbnQs
ICIiKTsKLSAgICAgICAgICAgIG91dHB1dHdpZGwobm9kZSk7Ci0gICAgICAgICAgICBwcmludGYo
Ijwvd2ViaWRsPlxuIik7Ci0gICAgICAgIH0KLSAgICAgICAgb3V0cHV0ZGVzY3JpcHRpdmUobm9k
ZSwgaW5kZW50ICsgMik7Ci0gICAgICAgIGNoaWxkID0gZWxlbWVudC0+bi5jaGlsZHJlbjsKLSAg
ICAgICAgd2hpbGUgKGNoaWxkKSB7Ci0gICAgICAgICAgICBzd2l0Y2goY2hpbGQtPnR5cGUpIHsK
LSAgICAgICAgICAgIGNhc2UgTk9ERV9FTEVNRU5UOgotICAgICAgICAgICAgICAgIG91dHB1dG5v
ZGUoY2hpbGQsIGluZGVudCArIDIpOwotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAg
ICAgfQotICAgICAgICAgICAgY2hpbGQgPSBjaGlsZC0+bmV4dDsKLSAgICAgICAgfQotICAgICAg
ICBwcmludGYoIiUqczwvJXM+XG4iLCBpbmRlbnQsICIiLCBlbGVtZW50LT5uYW1lKTsKLSAgICB9
IGVsc2UKLSAgICAgICAgcHJpbnRmKCIvPlxuIik7Ci19Ci0KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3dpZGxwcm9jL3NyYy9ub2RlLmggYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mvc3JjL25vZGUuaApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMmQ2ZTM4ZTUzMjMuLjAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC93aWRscHJvYy9zcmMvbm9kZS5oCisrKyAvZGV2L251bGwKQEAgLTEsNjUg
KzAsMCBAQAotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqCi0gKiAkSWQkCi0gKiBDb3B5cmlnaHQgMjAwOSBBcGxp
eCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIExpY2Vuc2VkIHVuZGVyIHRo
ZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOwotICogeW91IG1h
eSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNl
LgotICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0Ci0gKiAgICAgaHR0
cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCi0gKiBVbmxlc3MgcmVxdWly
ZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCi0g
KiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMg
SVMiIEJBU0lTLAotICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJ
TkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCi0gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRo
ZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCi0gKiBsaW1pdGF0
aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KLSAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLSNpZm5kZWYgbm9kZV9o
Ci0jZGVmaW5lIG5vZGVfaAotCi0vKiBzdHJ1Y3Qgbm9kZSA6IGEgbm9kZSBpbiB0aGUgcGFyc2Ug
dHJlZSAoZXhjbHVkaW5nIGNvbW1lbnRzKSAqLwotZW51bSB7IE5PREVfRUxFTUVOVCwgTk9ERV9B
VFRSLCBOT0RFX0FUVFJMSVNUIH07Ci1zdHJ1Y3Qgbm9kZSB7Ci0gICAgaW50IHR5cGU7Ci0gICAg
c3RydWN0IG5vZGUgKm5leHQ7Ci0gICAgc3RydWN0IG5vZGUgKnBhcmVudDsKLSAgICBzdHJ1Y3Qg
bm9kZSAqY2hpbGRyZW47Ci0gICAgc3RydWN0IGNvbW1lbnQgKmNvbW1lbnRzOyAvKiBsaXN0IG9m
IGNvbW1lbnRzIGF0dGFjaGVkIHRvIHRoaXMgbm9kZSAqLwotICAgIC8qIElmIHdzc3RhcnQgYW5k
IGVuZCBhcmUgc2V0LCB0aGV5IGdpdmUgdGhlIGxpdGVyYWwgV2ViIElETCB0aGF0IGNhbgotICAg
ICAqIGJlIG91dHB1dCBpbiBhIDx3ZWJpZGw+IGVsZW1lbnQuICovCi0gICAgY29uc3QgY2hhciAq
d3NzdGFydDsKLSAgICAvKiBJZiBzdGFydCBhbmQgZW5kIGFyZSBzZXQsIHRoZXkgZ2l2ZSB0aGUg
dGV4dCBvZiBhIHNjb3BlZCBuYW1lIHRoYXQKLSAgICAgKiBjYW4gYmUgZW5jbG9zZWQgaW4gYSA8
cmVmPiB3aGVuIG91dHB1dHRpbmcgYSA8d2ViaWRsPiBlbGVtZW50IGZvcgotICAgICAqIGFuIGFu
Y2VzdG9yIGVsZW1lbnQuICovCi0gICAgY29uc3QgY2hhciAqc3RhcnQ7Ci0gICAgY29uc3QgY2hh
ciAqZW5kOwotICAgIGNvbnN0IGNoYXIgKmlkOwotfTsKLQotc3RydWN0IGVsZW1lbnQgewotICAg
IHN0cnVjdCBub2RlIG47Ci0gICAgY29uc3QgY2hhciAqbmFtZTsKLX07Ci0KLXN0cnVjdCBhdHRy
IHsKLSAgICBzdHJ1Y3Qgbm9kZSBuOwotICAgIGNvbnN0IGNoYXIgKm5hbWU7Ci0gICAgY29uc3Qg
Y2hhciAqdmFsdWU7Ci19OwotCi1zdHJ1Y3QgYXR0cmxpc3QgewotICAgIHN0cnVjdCBub2RlIG47
Ci19OwotCi1zdHJ1Y3Qgbm9kZSAqbmV3ZWxlbWVudChjb25zdCBjaGFyICpuYW1lKTsKLXN0cnVj
dCBub2RlICpuZXdhdHRyKGNvbnN0IGNoYXIgKm5hbWUsIGNvbnN0IGNoYXIgKnZhbCk7Ci1zdHJ1
Y3Qgbm9kZSAqbmV3YXR0cmxpc3Qodm9pZCk7Ci12b2lkIGFkZG5vZGUoc3RydWN0IG5vZGUgKnBh
cmVudCwgc3RydWN0IG5vZGUgKmNoaWxkKTsKLXZvaWQgcmV2ZXJzZWNoaWxkcmVuKHN0cnVjdCBu
b2RlICpub2RlKTsKLWludCBub2RlaXNlbXB0eShzdHJ1Y3Qgbm9kZSAqbm9kZSk7Ci1jb25zdCBj
aGFyICpnZXRhdHRyKHN0cnVjdCBub2RlICpub2RlLCBjb25zdCBjaGFyICpuYW1lKTsKLXN0cnVj
dCBub2RlICpub2Rld2FsayhzdHJ1Y3Qgbm9kZSAqbm9kZSk7Ci1zdHJ1Y3Qgbm9kZSAqZmluZHJl
dHVybnR5cGUoc3RydWN0IG5vZGUgKm5vZGUpOwotc3RydWN0IG5vZGUgKmZpbmRwYXJhbWlkZW50
aWZpZXIoc3RydWN0IG5vZGUgKm5vZGUsIGNvbnN0IGNoYXIgKm5hbWUpOwotc3RydWN0IG5vZGUg
KmZpbmR0aHJvd2lkZW50aWZpZXIoc3RydWN0IG5vZGUgKm5vZGUsIGNvbnN0IGNoYXIgKm5hbWUp
Owotdm9pZCBvdXRwdXRub2RlKHN0cnVjdCBub2RlICpub2RlLCB1bnNpZ25lZCBpbnQgaW5kZW50
KTsKLQotI2VuZGlmIC8qIG5kZWYgbm9kZV9oICovCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93
aWRscHJvYy9zcmMvb3MuaCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9zcmMvb3MuaApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggYWM4ZjQxODlkMTkuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC93aWRscHJvYy9zcmMvb3MuaAorKysgL2Rldi9udWxsCkBAIC0xLDMxICswLDAgQEAKLS8q
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKgotICogJElkJAotICogQ29weXJpZ2h0IDIwMDkgQXBsaXggQ29ycG9yYXRp
b24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExp
Y2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKLSAqIHlvdSBtYXkgbm90IHVzZSB0
aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KLSAqIFlvdSBt
YXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAotICogICAgIGh0dHA6Ly93d3cuYXBh
Y2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAotICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxp
Y2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQotICogZGlzdHJpYnV0
ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywK
LSAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIg
ZXhwcmVzcyBvciBpbXBsaWVkLgotICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMg
bGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAotICogbGltaXRhdGlvbnMgdW5kZXIg
dGhlIExpY2Vuc2UuCi0gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi0jaWZuZGVmIG9zX2gKLSNkZWZpbmUgb3Nf
aAotCi0vKiBMaW51eCBjb25maWd1cmF0aW9uICovCi0jaWYgZGVmaW5lZChfX2dudV9saW51eF9f
KQotCi0KLS8qIFdpbmRvd3MgY29uZmlndXJhdGlvbiAqLwotI2VsaWYgZGVmaW5lZChfTVNDX1ZF
UikKLQotI2RlZmluZSBpbmxpbmUgX19pbmxpbmUKLSNkZWZpbmUgc3RybmNhc2VjbXAgc3Rybmlj
bXAKLSNkZWZpbmUgc25wcmludGYgX3NucHJpbnRmCi0jZGVmaW5lIHZhX2NvcHkoYSxiKSAoKGEp
PShiKSkKLQotI2VuZGlmCi0KLSNlbmRpZiAvKiBuZGVmIG9zX2ggKi8KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC93aWRscHJvYy9zcmMvcGFyc2UuYyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9zcmMvcGFy
c2UuYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzBlODQ1NGNlYWMuLjAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9zcmMvcGFyc2UuYworKysgL2Rldi9udWxsCkBA
IC0xLDE0MTQgKzAsMCBAQAotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiAkSWQkCi0gKiBDb3B5cmlnaHQg
MjAwOSBBcGxpeCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIExpY2Vuc2Vk
IHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOwot
ICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRo
ZSBMaWNlbnNlLgotICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0Ci0g
KiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCi0gKiBVbmxl
c3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNv
ZnR3YXJlCi0gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBv
biBhbiAiQVMgSVMiIEJBU0lTLAotICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMg
T0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCi0gKiBTZWUgdGhlIExpY2Vu
c2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCi0g
KiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KLSAqCi0gKiBIYW5kLWNyYWZ0ZWQgcmVj
dXJzaXZlIGRlc2NlbnQgcGFyc2VyIGZvciBXZWIgSURMIGdyYW1tYXIuCi0gKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KiovCi0jaW5jbHVkZSA8YXNzZXJ0Lmg+Ci0jaW5jbHVkZSA8c3RkYXJnLmg+Ci0jaW5jbHVkZSA8
c3RkaW8uaD4KLSNpbmNsdWRlIDxzdHJpbmcuaD4KLQotI2luY2x1ZGUgImNvbW1lbnQuaCIKLSNp
bmNsdWRlICJsZXguaCIKLSNpbmNsdWRlICJtaXNjLmgiCi0jaW5jbHVkZSAibm9kZS5oIgotI2lu
Y2x1ZGUgInBhcnNlLmgiCi0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogdG9rZXJyb3JleGl0IDogZXJy
b3IgYW5kIGV4aXQgd2l0aCBsaW5lIG51bWJlciBmcm9tIHRva2VuCi0gKi8KLXN0YXRpYyB2b2lk
Ci10b2tlcnJvcmV4aXQoc3RydWN0IHRvayAqdG9rLCBjb25zdCBjaGFyICpmb3JtYXQsIC4uLikK
LXsKLSAgICB2YV9saXN0IGFwOwotICAgIGNoYXIgKm07Ci0gICAgdmFfc3RhcnQoYXAsIGZvcm1h
dCk7Ci0gICAgbSA9IHZtZW1wcmludGYoZm9ybWF0LCBhcCk7Ci0gICAgaWYgKHRvay0+dHlwZSA9
PSBUT0tfRU9GKQotICAgICAgICBsb2NlcnJvcmV4aXQodG9rLT5maWxlbmFtZSwgdG9rLT5saW5l
bnVtLCAiYXQgZW5kIG9mIGlucHV0OiAlcyIsIG0pOwotICAgIGVsc2UKLSAgICAgICAgbG9jZXJy
b3JleGl0KHRvay0+ZmlsZW5hbWUsIHRvay0+bGluZW51bSwgImF0ICclLipzJzogJXMiLCB0b2st
PmxlbiwgdG9rLT5zdGFydCwgbSk7Ci0gICAgdmFfZW5kKGFwKTsKLX0KLQotLyoqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqCi0gKiBsZXhub2NvbW1lbnQgOiBsZXggbmV4dCB0b2tlbiwgZGlzY2FyZGluZyBvciBzdG9y
aW5nIGNvbW1lbnRzCi0gKgotICogQSBibG9jayBjb21tZW50IHN0YXJ0aW5nIHdpdGggfCoqIG9y
IHwqISBpcyBhIGRveHlnZW4gY29tbWVudC4KLSAqIElmIGl0IHN0YXJ0cyB3aXRoIHwqKjwgb3Ig
fCohPCB0aGVuIGl0IHJlZmVycyB0byB0aGUgcHJldmlvdXMKLSAqIGlkZW50aWZpZXIsIG5vdCB0
aGUgbmV4dCBvbmUuIChJIGFtIHVzaW5nIHwgdG8gcmVwcmVzZW50IC8gb3RoZXJ3aXNlCi0gKiB0
aGlzIGNvbW1lbnQgd291bGQgYmUgaWxsZWdhbC4pCi0gKgotICogQW4gaW5saW5lIGNvbW1lbnQg
c3RhcnRpbmcgd2l0aCAvLy8gb3IgLy8hIGlzIGEgZG94eWdlbiBjb21tZW50LgotICogSWYgaXQg
c3RhcnRzIHdpdGggLy8vPCBvciAvLyE8IHRoZW4gaXQgcmVmZXJzIHRvIHRoZSBwcmV2aW91cwot
ICogaWRlbnRpZmllciwgbm90IHRoZSBuZXh0IG9uZS4KLSAqLwotc3RhdGljIHN0cnVjdCB0b2sg
KgotbGV4bm9jb21tZW50KHZvaWQpCi17Ci0gICAgc3RydWN0IHRvayAqdG9rOwotICAgIGZvciAo
OzspIHsKLSAgICAgICAgdG9rID0gbGV4KCk7Ci0gICAgICAgIGlmICh0b2stPnR5cGUgIT0gVE9L
X0JMT0NLQ09NTUVOVCAmJiB0b2stPnR5cGUgIT0gVE9LX0lOTElORUNPTU1FTlQpCi0gICAgICAg
ICAgICBicmVhazsKLSAgICAgICAgYWRkY29tbWVudCh0b2spOwotICAgIH0KLSAgICByZXR1cm4g
dG9rOwotfQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIGVhdCA6IGNoZWNrIHRva2VuIHRoZW4gcmVh
ZCB0aGUgZm9sbG93aW5nIG9uZQotICoKLSAqIEVudGVyOiAgIHRvayBzdHJ1Y3QKLSAqICAgICAg
ICAgIHR5cGUgPSB0eXBlIG9mIHRva2VuIGV4cGVjdGVkLCBlcnJvciBnaXZlbiBpZiBubyBtYXRj
aAotICoKLSAqIE9uIHJldHVybiwgdG9rIGlzIHVwZGF0ZWQgdG8gdGhlIGZvbGxvd2luZyB0b2tl
bi4KLSAqLwotc3RhdGljIHZvaWQKLWVhdChzdHJ1Y3QgdG9rICp0b2ssIGludCB0eXBlKQotewot
ICAgIGlmICh0b2stPnR5cGUgIT0gdHlwZSkgewotICAgICAgICBjb25zdCBjaGFyICpwOwotICAg
ICAgICBpZiAodHlwZSA8IFRPS19ET01TdHJpbmcpCi0gICAgICAgICAgICB0b2tlcnJvcmV4aXQo
dG9rLCAiZXhwZWN0ZWQgJyVjJyIsIHR5cGUpOwotICAgICAgICBwID0ga2V5d29yZHM7Ci0gICAg
ICAgIHdoaWxlICh0eXBlICE9IFRPS19ET01TdHJpbmcpIHsKLSAgICAgICAgICAgIHAgKz0gc3Ry
bGVuKHApICsgMTsKLSAgICAgICAgICAgIHR5cGUtLTsKLSAgICAgICAgfQotICAgICAgICB0b2tl
cnJvcmV4aXQodG9rLCAiZXhwZWN0ZWQgJyVzJyIsIHApOwotICAgIH0KLSAgICBsZXhub2NvbW1l
bnQoKTsKLX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBzZXRpZCA6IGZsYWcgdGhhdCBhbiBpZCBh
dHRyaWJ1dGUgaXMgcmVxdWlyZWQgb24gbm9kZQotICoKLSAqIEVudGVyOiAgIG5vZGUKLSAqCi0g
KiBub2RlLT5pZCBpcyBzZXQgdG8gdGhlIHZhbHVlIG9mIHRoZSBuYW1lIGF0dHJpYnV0ZS4gVGhp
cyBtYWtlcwotICogb3V0cHV0bm9kZSBnaXZlIGl0IGFuIGlkIGF0dHJpYnV0ZSB3aG9zZSB2YWx1
ZSBpcyB0aGUgaWQgYXR0cmlidXRlCi0gKiBvZiB0aGUgcGFyZW50IGlmIGFueSwgdGhlbiAiOjoi
LCB0aGVuIG5vZGUtPmlkLgotICovCi1zdGF0aWMgdm9pZAotc2V0aWQoc3RydWN0IG5vZGUgKm5v
ZGUpCi17Ci0gICAgbm9kZS0+aWQgPSBnZXRhdHRyKG5vZGUsICJuYW1lIik7Ci19Ci0KLS8qKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKgotICogc2V0aWRlbnRpZmllciA6IGFsbG9jYXRlIDAtdGVybWluYXRlZCBzdHJp
bmcgZm9yIGlkZW50aWZpZXIgdG9rZW4KLSAqCi0gKiBFbnRlcjogICB0b2sgPSB0b2tlbiwgZXJy
b3IgZ2l2ZW4gaWYgbm90IGlkZW50aWZpZXIKLSAqCi0gKiBSZXR1cm46ICBhbGxvY2F0ZWQgMC10
ZXJtaW5hdGVkIHN0cmluZwotICovCi1zdGF0aWMgY2hhciAqCi1zZXRpZGVudGlmaWVyKHN0cnVj
dCB0b2sgKnRvaykKLXsKLSAgICBjaGFyICpzOwotICAgIGlmICh0b2stPnR5cGUgIT0gVE9LX0lE
RU5USUZJRVIpCi0gICAgICAgIHRva2Vycm9yZXhpdCh0b2ssICJleHBlY3RlZCBpZGVudGlmaWVy
Iik7Ci0gICAgcyA9IG1lbXByaW50ZigiJS4qcyIsIHRvay0+bGVuLCB0b2stPnN0YXJ0KTsKLSAg
ICByZXR1cm4gczsKLX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBzZXRhcmd1bWVudG5hbWUgOiBh
bGxvY2F0ZSAwLXRlcm1pbmF0ZWQgc3RyaW5nIGZvciBpZGVudGlmaWVyIHRva2VuCi0gKgotICog
RW50ZXI6ICAgdG9rID0gdG9rZW4sIGVycm9yIGdpdmVuIGlmIG5vdCBpZGVudGlmaWVyCi0gKgot
ICogUmV0dXJuOiAgYWxsb2NhdGVkIDAtdGVybWluYXRlZCBzdHJpbmcKLSAqLwotc3RhdGljIGNo
YXIgKgotc2V0YXJndW1lbnRuYW1lKHN0cnVjdCB0b2sgKnRvaykKLXsKLSAgICBjaGFyICpzOwot
ICAgIGlmICh0b2stPnR5cGUgIT0gVE9LX0lERU5USUZJRVIgJiYgdG9rLT50eXBlIDwgVE9LX2F0
dHJpYnV0ZSkKLSAgICAgICAgdG9rZXJyb3JleGl0KHRvaywgImV4cGVjdGVkIGFyZ3VtZW50IG5h
bWUiKTsKLSAgICBzID0gbWVtcHJpbnRmKCIlLipzIiwgdG9rLT5sZW4sIHRvay0+c3RhcnQpOwot
ICAgIHJldHVybiBzOwotfQotCi0KLS8qIFByb3RvdHlwZXMgZm9yIGZ1bmNzIHRoYXQgaGF2ZSBh
IGZvcndhcmQgcmVmZXJlbmNlLiAqLwotc3RhdGljIHN0cnVjdCBub2RlICpwYXJzZXR5cGUoc3Ry
dWN0IHRvayAqdG9rKTsKLXN0YXRpYyBzdHJ1Y3Qgbm9kZSAqcGFyc2VkZWZhdWx0dmFsdWUoc3Ry
dWN0IHRvayAqdG9rLCBzdHJ1Y3Qgbm9kZSAqcGFyZW50KTsKLXN0YXRpYyBzdHJ1Y3Qgbm9kZSAq
cGFyc2V1bmlvbnR5cGUoc3RydWN0IHRvayAqdG9rKTsKLXN0YXRpYyBzdHJ1Y3Qgbm9kZSAqcGFy
c2Vhcmd1bWVudGxpc3Qoc3RydWN0IHRvayAqdG9rKTsKLXN0YXRpYyB2b2lkIHBhcnNlZGVmaW5p
dGlvbnMoc3RydWN0IHRvayAqdG9rLCBzdHJ1Y3Qgbm9kZSAqcGFyZW50KTsKLXN0YXRpYyBzdHJ1
Y3Qgbm9kZSAqcGFyc2V0eXBlc3VmZml4c3RhcnRpbmd3aXRoYXJyYXkoc3RydWN0IHRvayAqdG9r
LCBzdHJ1Y3Qgbm9kZSAqbm9kZSk7Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogcGFyc2VzY29wZWRu
YW1lIDogcGFyc2UgWzUzXSBTY29wZWROYW1lCi0gKgotICogRW50ZXI6ICAgdG9rID0gbmV4dCB0
b2tlbgotICogICAgICAgICAgbmFtZSA9IG5hbWUgb2YgYXR0cmlidXRlIHRvIHB1dCBzY29wZWQg
bmFtZSBpbgotICogICAgICAgICAgcmVmID0gd2hldGhlciB0byBlbmFibGUgZW5jbG9zaW5nIG9m
IHRoZSBuYW1lIGluIDxyZWY+IGluCi0gKiAgICAgICAgICAgICAgICBvdXRwdXR3aWRsCi0gKgot
ICogUmV0dXJuOiAgbm9kZSBzdHJ1Y3QgZm9yIG5ldyBhdHRyaWJ1dGUKLSAqICAgICAgICAgIHRv
ayB1cGRhdGVkCi0gKi8KLXN0YXRpYyBzdHJ1Y3Qgbm9kZSAqCi1wYXJzZXNjb3BlZG5hbWUoc3Ry
dWN0IHRvayAqdG9rLCBjb25zdCBjaGFyICpuYW1lLCBpbnQgcmVmKQotewotICAgIGNvbnN0IGNo
YXIgKnN0YXJ0ID0gdG9rLT5zdGFydCwgKmVuZDsKLSAgICBzdHJ1Y3Qgbm9kZSAqbm9kZTsKLSAg
ICB1bnNpZ25lZCBpbnQgbGVuID0gMDsKLSAgICBjaGFyICpzID0gbWVtYWxsb2MoMyk7Ci0gICAg
aWYgKHRvay0+dHlwZSAhPSBUT0tfSURFTlRJRklFUikKLSAgICAgICAgdG9rZXJyb3JleGl0KHRv
aywgImV4cGVjdGVkIGlkZW50aWZpZXIiKTsKLSAgICBzID0gbWVtcmVhbGxvYyhzLCBsZW4gKyB0
b2stPmxlbiArIDEpOwotICAgIG1lbWNweShzICsgbGVuLCB0b2stPnN0YXJ0LCB0b2stPmxlbik7
Ci0gICAgbGVuICs9IHRvay0+bGVuOwotICAgIGVuZCA9IHRvay0+c3RhcnQgKyB0b2stPmxlbjsK
LSAgICBsZXhub2NvbW1lbnQoKTsKLSAgICBzW2xlbl0gPSAwOwotICAgIG5vZGUgPSBuZXdhdHRy
KG5hbWUsIHMpOwotICAgIGlmIChyZWYpIHsKLSAgICAgICAgbm9kZS0+c3RhcnQgPSBzdGFydDsK
LSAgICAgICAgbm9kZS0+ZW5kID0gZW5kOwotICAgIH0KLSAgICByZXR1cm4gbm9kZTsKLX0KLQot
LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqCi0gKiBwYXJzZXNjb3BlZG5hbWVsaXN0IDogcGFyc2UgWzUxXSBTY29w
ZWROYW1lTGlzdAotICoKLSAqIEVudGVyOiAgIHRvayA9IG5leHQgdG9rZW4KLSAqICAgICAgICAg
IG5hbWUgPSBuYW1lIG9mIGVsZW1lbnQgZm9yIHNjb3BlZCBuYW1lIGxpc3QKLSAqICAgICAgICAg
IG5hbWUyID0gbmFtZSBvZiBlbGVtZW50IGZvciBlbnRyeSBpbiBsaXN0Ci0gKiAgICAgICAgICBj
b21tZW50ID0gd2hldGhlciB0byBhdHRhY2ggZG9jdW1lbnRhdGlvbiB0byBlYWNoIG5hbWUKLSAq
Ci0gKiBSZXR1cm46ICBub2RlIGZvciBsaXN0IG9mIHNjb3BlZCBuYW1lcwotICogICAgICAgICAg
dG9rIHVwZGF0ZWQKLSAqLwotc3RhdGljIHN0cnVjdCBub2RlICoKLXBhcnNlc2NvcGVkbmFtZWxp
c3Qoc3RydWN0IHRvayAqdG9rLCBjb25zdCBjaGFyICpuYW1lLCBjb25zdCBjaGFyICpuYW1lMiwK
LSAgICAgICAgaW50IGNvbW1lbnQpCi17Ci0gICAgc3RydWN0IG5vZGUgKm5vZGUgPSBuZXdlbGVt
ZW50KG5hbWUpOwotICAgIGZvciAoOzspIHsKLSAgICAgICAgc3RydWN0IG5vZGUgKmF0dHIgPSBw
YXJzZXNjb3BlZG5hbWUodG9rLCAibmFtZSIsIDEpOwotICAgICAgICBzdHJ1Y3Qgbm9kZSAqbiA9
IG5ld2VsZW1lbnQobmFtZTIpOwotICAgICAgICBpZiAoY29tbWVudCkKLSAgICAgICAgICAgIHNl
dGNvbW1lbnRub2RlKG4pOwotICAgICAgICBhZGRub2RlKG4sIGF0dHIpOwotICAgICAgICBhZGRu
b2RlKG5vZGUsIG4pOwotICAgICAgICBpZiAodG9rLT50eXBlICE9ICcsJykKLSAgICAgICAgICAg
IGJyZWFrOwotICAgICAgICBsZXhub2NvbW1lbnQoKTsKLSAgICB9Ci0gICAgcmV0dXJuIG5vZGU7
Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKgotICogcGFyc2VyZXR1cm50eXBlIDogcGFyc2UgWzUwXSBS
ZXR1cm5UeXBlCi0gKgotICogRW50ZXI6ICAgdG9rID0gbmV4dCB0b2tlbgotICoKLSAqIFJldHVy
bjogIG5vZGUgZm9yIHR5cGUKLSAqICAgICAgICAgIHRvayB1cGRhdGVkCi0gKi8KLXN0YXRpYyBz
dHJ1Y3Qgbm9kZSAqCi1wYXJzZXJldHVybnR5cGUoc3RydWN0IHRvayAqdG9rKQotewotICAgIGlm
ICh0b2stPnR5cGUgPT0gVE9LX3ZvaWQpIHsKLSAgICAgICAgc3RydWN0IG5vZGUgKm5vZGUgPSBu
ZXdlbGVtZW50KCJUeXBlIik7Ci0gICAgICAgIGFkZG5vZGUobm9kZSwgbmV3YXR0cigidHlwZSIs
ICJ2b2lkIikpOwotICAgICAgICBsZXhub2NvbW1lbnQoKTsKLSAgICAgICAgcmV0dXJuIG5vZGU7
Ci0gICAgfQotICAgIHJldHVybiBwYXJzZXR5cGUodG9rKTsKLX0KLQotLyoqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
Ci0gKiBwYXJzZXVuc2lnbmVkaW50ZWdlcnR5cGUgOiBwYXJzZSBbNDZdIFVuc2lnbmVkSW50ZWdl
clR5cGUKLSAqCi0gKiBFbnRlcjogICB0b2sgPSBuZXh0IHRva2VuIChvbmUgb2YgInVuc2lnbmVk
IiwgInNob3J0IiBvciAibG9uZyIpCi0gKgotICogUmV0dXJuOiAgMC10ZXJtaW5hdGVkIGNhbm9u
aWNhbCBzdHJpbmcgZm9yIHRoZSB0eXBlCi0gKiAgICAgICAgICB0b2sgdXBkYXRlZCB0byBqdXN0
IHBhc3QgVW5zaWduZWRJbnRlZ2VyVHlwZQotICovCi1zdGF0aWMgY29uc3QgY2hhciAqCi1wYXJz
ZXVuc2lnbmVkaW50ZWdlcnR5cGUoc3RydWN0IHRvayAqdG9rKQotewotICAgIHN0YXRpYyBjb25z
dCBjaGFyICpuYW1lc1tdID0gewotICAgICAgICAic2hvcnQiLCAibG9uZyIsICJsb25nIGxvbmci
LCAwLAotICAgICAgICAidW5zaWduZWQgc2hvcnQiLCAidW5zaWduZWQgbG9uZyIsICJ1bnNpZ25l
ZCBsb25nIGxvbmciIH07Ci0gICAgZW51bSB7IFRZUEVfU0hPUlQsIFRZUEVfTE9ORywgVFlQRV9M
T05HTE9ORywKLSAgICAgICAgICAgVFlQRV9VTlNJR05FRCA9IDQgfTsKLSAgICBpbnQgdHlwZSA9
IDA7Ci0gICAgaWYgKHRvay0+dHlwZSA9PSBUT0tfdW5zaWduZWQpIHsKLSAgICAgICAgdHlwZSA9
IFRZUEVfVU5TSUdORUQ7Ci0gICAgICAgIGxleG5vY29tbWVudCgpOwotICAgIH0KLSAgICBpZiAo
dG9rLT50eXBlID09IFRPS19zaG9ydCkgewotICAgICAgICB0eXBlIHw9IFRZUEVfU0hPUlQ7Ci0g
ICAgICAgIGxleG5vY29tbWVudCgpOwotICAgIH0gZWxzZSBpZiAodG9rLT50eXBlICE9IFRPS19s
b25nKQotICAgICAgICB0b2tlcnJvcmV4aXQodG9rLCAiZXhwZWN0ZWQgJ3Nob3J0JyBvciAnbG9u
ZycgYWZ0ZXIgJ3Vuc2lnbmVkJyIpOwotICAgIGVsc2UgewotICAgICAgICB0eXBlIHw9IFRZUEVf
TE9ORzsKLSAgICAgICAgbGV4bm9jb21tZW50KCk7Ci0gICAgICAgIGlmICh0b2stPnR5cGUgPT0g
VE9LX2xvbmcpIHsKLSAgICAgICAgICAgIHR5cGUgKz0gVFlQRV9MT05HTE9ORyAtIFRZUEVfTE9O
RzsKLSAgICAgICAgICAgIGxleG5vY29tbWVudCgpOwotICAgICAgICB9Ci0gICAgfQotICAgIHJl
dHVybiBuYW1lc1t0eXBlXTsKLX0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogcGFyc2V0eXBlc3VmZml4
IDogcGFyc2UgWzQ0XSBUeXBlU3VmZml4Ci0gKgotICogRW50ZXI6ICAgdG9rID0gbmV4dCB0b2tl
bgotICoKLSAqIFJldHVybjogIG5vZGUgZm9yIHR5cGUKLSAqICAgICAgICAgIHRvayB1cGRhdGVk
Ci0gKi8KLXN0YXRpYyBzdHJ1Y3Qgbm9kZSAqCi1wYXJzZXR5cGVzdWZmaXgoc3RydWN0IHRvayAq
dG9rLCBzdHJ1Y3Qgbm9kZSAqbm9kZSkKLXsKLSAgICBpZiAodG9rLT50eXBlID09IFRPS19ET1VC
TEVCUkFDS0VUKSB7Ci0gICAgICAgIHN0cnVjdCBub2RlICp0eXBlbm9kZSA9IG5vZGU7Ci0Jbm9k
ZSA9IG5ld2VsZW1lbnQoIlR5cGUiKTsKLSAgICAgICAgYWRkbm9kZShub2RlLCBuZXdhdHRyKCJ0
eXBlIiwgImFycmF5IikpOwotICAgICAgICBhZGRub2RlKG5vZGUsIHR5cGVub2RlKTsKLSAgICAg
ICAgbGV4bm9jb21tZW50KCk7Ci0Jbm9kZSA9IHBhcnNldHlwZXN1ZmZpeCh0b2ssIG5vZGUpOwot
ICAgIH0gZWxzZSBpZiAodG9rLT50eXBlID09ICc/JykgewotICAgICAgICBhZGRub2RlKG5vZGUs
IG5ld2F0dHIoIm51bGxhYmxlIiwgIm51bGxhYmxlIikpOwotICAgICAgICBsZXhub2NvbW1lbnQo
KTsKLQlub2RlID0gcGFyc2V0eXBlc3VmZml4c3RhcnRpbmd3aXRoYXJyYXkodG9rLCBub2RlKTsK
LSAgICB9Ci0gICAgcmV0dXJuIG5vZGU7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogcGFyc2V0
eXBlc3VmZml4c3RhcnRpbmd3aXRoYXJyYXkgOiBwYXJzZSBbNDRdIFR5cGVTdWZmaXhTdGFydGlu
Z1dpdGhBcnJheQotICoKLSAqIEVudGVyOiAgIHRvayA9IG5leHQgdG9rZW4KLSAqCi0gKiBSZXR1
cm46ICBub2RlIGZvciB0eXBlCi0gKiAgICAgICAgICB0b2sgdXBkYXRlZAotICovCi1zdGF0aWMg
c3RydWN0IG5vZGUgKgotcGFyc2V0eXBlc3VmZml4c3RhcnRpbmd3aXRoYXJyYXkoc3RydWN0IHRv
ayAqdG9rLCAgc3RydWN0IG5vZGUgKm5vZGUpCi17Ci0gICAgaWYgKHRvay0+dHlwZSA9PSBUT0tf
RE9VQkxFQlJBQ0tFVCkgewotICAgICAgICBzdHJ1Y3Qgbm9kZSAqdHlwZW5vZGUgPSBub2RlOwot
CW5vZGUgPSBuZXdlbGVtZW50KCJUeXBlIik7Ci0gICAgICAgIGFkZG5vZGUobm9kZSwgbmV3YXR0
cigidHlwZSIsICJhcnJheSIpKTsKLSAgICAgICAgYWRkbm9kZShub2RlLCB0eXBlbm9kZSk7Ci0g
ICAgICAgIGxleG5vY29tbWVudCgpOwotCW5vZGUgPSBwYXJzZXR5cGVzdWZmaXgodG9rLCBub2Rl
KTsKLSAgICB9Ci0gICAgcmV0dXJuIG5vZGU7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogcGFy
c2VwcmltaXRpdmVvcnN0cmluZ3R5cGUgOiBwYXJzZSBbNDVdIFByaW1pdGl2ZU9yU3RyaW5nCi0g
KgotICogRW50ZXI6ICAgdG9rID0gbmV4dCB0b2tlbgotICoKLSAqIFJldHVybjogIG5vZGUgZm9y
IHR5cGUKLSAqICAgICAgICAgIHRvayB1cGRhdGVkCi0gKi8KLXN0YXRpYyBzdHJ1Y3Qgbm9kZSAq
Ci1wYXJzZXByaW1pdGl2ZW9yc3RyaW5ndHlwZShzdHJ1Y3QgdG9rICp0b2spCi17Ci0gIHN0cnVj
dCBub2RlICpub2RlOwotICAgIHN3aXRjaCAodG9rLT50eXBlKSB7Ci0gICAgY2FzZSBUT0tfdW5z
aWduZWQ6Ci0gICAgY2FzZSBUT0tfc2hvcnQ6Ci0gICAgY2FzZSBUT0tfbG9uZzoKLSAgICAgICAg
bm9kZSA9IG5ld2VsZW1lbnQoIlR5cGUiKTsKLSAgICAgICAgYWRkbm9kZShub2RlLCBuZXdhdHRy
KCJ0eXBlIiwgcGFyc2V1bnNpZ25lZGludGVnZXJ0eXBlKHRvaykpKTsKLSAgICAgICAgYnJlYWs7
Ci0gICAgZGVmYXVsdDoKLSAgICAgICAgbm9kZSA9IG5ld2VsZW1lbnQoIlR5cGUiKTsKLSAgICAg
ICAgc3dpdGNoICh0b2stPnR5cGUpIHsKLSAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgIHRv
a2Vycm9yZXhpdCh0b2ssICJleHBlY3RlZCB0eXBlIik7Ci0gICAgICAgICAgICBicmVhazsKLQlj
YXNlIFRPS191bnJlc3RyaWN0ZWQ6Ci0JICBsZXhub2NvbW1lbnQoKTsKLQkgIGlmICh0b2stPnR5
cGUgPT0gVE9LX2Zsb2F0KSB7Ci0gICAgICAgICAgICBhZGRub2RlKG5vZGUsIG5ld2F0dHIoInR5
cGUiLCAidW5yZXN0cmljdGVkIGZsb2F0IikpOwotCSAgfSBlbHNlIGlmICh0b2stPnR5cGUgPT0g
VE9LX2RvdWJsZSkgewotICAgICAgICAgICAgYWRkbm9kZShub2RlLCBuZXdhdHRyKCJ0eXBlIiwg
InVucmVzdHJpY3RlZCBkb3VibGUiKSk7Ci0JICB9IGVsc2UgewotICAgICAgICAgICAgdG9rZXJy
b3JleGl0KHRvaywgImV4cGVjdGVkIGZsb2F0IG9yIGRvdWJsZSBhZnRlciB1bnJlc3RyaWN0ZWQi
KTsKLQkgIH0KLQkgIGJyZWFrOwotICAgICAgICBjYXNlIFRPS19ib29sZWFuOgotICAgICAgICAg
ICAgYWRkbm9kZShub2RlLCBuZXdhdHRyKCJ0eXBlIiwgImJvb2xlYW4iKSk7Ci0gICAgICAgICAg
ICBicmVhazsKLSAgICAgICAgY2FzZSBUT0tfYnl0ZToKLSAgICAgICAgICAgIGFkZG5vZGUobm9k
ZSwgbmV3YXR0cigidHlwZSIsICJieXRlIikpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAg
IGNhc2UgVE9LX29jdGV0OgotICAgICAgICAgICAgYWRkbm9kZShub2RlLCBuZXdhdHRyKCJ0eXBl
IiwgIm9jdGV0IikpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgVE9LX2Zsb2F0
OgotICAgICAgICAgICAgYWRkbm9kZShub2RlLCBuZXdhdHRyKCJ0eXBlIiwgImZsb2F0IikpOwot
ICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgVE9LX2RvdWJsZToKLSAgICAgICAgICAg
IGFkZG5vZGUobm9kZSwgbmV3YXR0cigidHlwZSIsICJkb3VibGUiKSk7Ci0gICAgICAgICAgICBi
cmVhazsKLSAgICAgICAgY2FzZSBUT0tfRE9NU3RyaW5nOgotICAgICAgICAgICAgYWRkbm9kZShu
b2RlLCBuZXdhdHRyKCJ0eXBlIiwgIkRPTVN0cmluZyIpKTsKLSAgICAgICAgICAgIGJyZWFrOwot
ICAgICAgICBjYXNlIFRPS19CeXRlU3RyaW5nOgotICAgICAgICAgICAgYWRkbm9kZShub2RlLCBu
ZXdhdHRyKCJ0eXBlIiwgIkJ5dGVTdHJpbmciKSk7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAg
ICAgY2FzZSBUT0tfRGF0ZToKLSAgICAgICAgICAgIGFkZG5vZGUobm9kZSwgbmV3YXR0cigidHlw
ZSIsICJEYXRlIikpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgVE9LX1JlZ0V4
cDoKLSAgICAgICAgICAgIGFkZG5vZGUobm9kZSwgbmV3YXR0cigidHlwZSIsICJSZWdFeHAiKSk7
Ci0gICAgICAgICAgICBicmVhazsKLQotICAgICAgICB9Ci0gICAgICAgIGxleG5vY29tbWVudCgp
OwotICAgIH0KLSAgICByZXR1cm4gbm9kZTsKLX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBwYXJz
ZW5vbmFueXR5cGUgOiBwYXJzZSBOb25BbnlUeXBlCi0gKgotICogRW50ZXI6ICAgdG9rID0gbmV4
dCB0b2tlbgotICoKLSAqIFJldHVybjogIG5vZGUgZm9yIHR5cGUKLSAqICAgICAgICAgIHRvayB1
cGRhdGVkCi0gKi8KLXN0YXRpYyBzdHJ1Y3Qgbm9kZSAqCi1wYXJzZW5vbmFueXR5cGUoc3RydWN0
IHRvayAqdG9rKQotewotICAgIHN0cnVjdCBub2RlICpub2RlOwotICAgIHN3aXRjaCAodG9rLT50
eXBlKSB7Ci0gICAgY2FzZSBUT0tfSURFTlRJRklFUjoKLSAgICAgICAgbm9kZSA9IG5ld2VsZW1l
bnQoIlR5cGUiKTsKLSAgICAgICAgYWRkbm9kZShub2RlLCBwYXJzZXNjb3BlZG5hbWUodG9rLCAi
bmFtZSIsIDEpKTsKLQlub2RlID0gcGFyc2V0eXBlc3VmZml4KHRvaywgbm9kZSk7Ci0gICAgICAg
IGJyZWFrOwotICAgIGNhc2UgVE9LX3NlcXVlbmNlOgotICAgICAgICBub2RlID0gbmV3ZWxlbWVu
dCgiVHlwZSIpOwotICAgICAgICBhZGRub2RlKG5vZGUsIG5ld2F0dHIoInR5cGUiLCAic2VxdWVu
Y2UiKSk7Ci0gICAgICAgIGxleG5vY29tbWVudCgpOwotICAgICAgICBlYXQodG9rLCAnPCcpOwot
ICAgICAgICBhZGRub2RlKG5vZGUsIHBhcnNldHlwZSh0b2spKTsKLSAgICAgICAgZWF0KHRvaywg
Jz4nKTsKLQlpZiAodG9rLT50eXBlID09ICc/JykgewotCSAgYWRkbm9kZShub2RlLCBuZXdhdHRy
KCJudWxsYWJsZSIsICJudWxsYWJsZSIpKTsKLQkgIGxleG5vY29tbWVudCgpOwotCX0KLSAgICAg
ICAgYnJlYWs7Ci0gICAgY2FzZSBUT0tfb2JqZWN0OgotICAgICAgICBub2RlID0gbmV3ZWxlbWVu
dCgiVHlwZSIpOwotICAgICAgICBhZGRub2RlKG5vZGUsIG5ld2F0dHIoInR5cGUiLCAib2JqZWN0
IikpOwotICAgICAgICBsZXhub2NvbW1lbnQoKTsKLQlub2RlID0gcGFyc2V0eXBlc3VmZml4KHRv
aywgbm9kZSk7Ci0gICAgICAgIGJyZWFrOwotICAgIGRlZmF1bHQ6Ci0gICAgICAgIG5vZGUgPSBw
YXJzZXByaW1pdGl2ZW9yc3RyaW5ndHlwZSh0b2spOwotICAgICAgICBub2RlID0gcGFyc2V0eXBl
c3VmZml4KHRvaywgbm9kZSk7Ci0gICAgICAgIGJyZWFrOwotICAgIH0gICAgICAgCi0gICAgcmV0
dXJuIG5vZGU7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogcGFyc2V1bmlvbm1lbWJlcnR5cGU6
IHBhcnNlIFVuaW9uTWVtYmVyVHlwZQotICoKLSAqIEVudGVyOiAgIHRvayA9IG5leHQgdG9rZW4K
LSAqCi0gKiBSZXR1cm46ICBub2RlIGZvciB0eXBlCi0gKiAgICAgICAgICB0b2sgdXBkYXRlZAot
ICovCi1zdGF0aWMgc3RydWN0IG5vZGUgKgotcGFyc2V1bmlvbm1lbWJlcnR5cGUoc3RydWN0IHRv
ayAqdG9rKQotewotICBzdHJ1Y3Qgbm9kZSAqbm9kZTsKLSAgaWYgKHRvay0+dHlwZSA9PSBUT0tf
YW55KSB7Ci0gICAgc3RydWN0IG5vZGUgKnR5cGVub2RlID0gbmV3ZWxlbWVudCgiVHlwZSIpOwot
ICAgIGFkZG5vZGUodHlwZW5vZGUsIG5ld2F0dHIoInR5cGUiLCAiYW55IikpOwotICAgIGxleG5v
Y29tbWVudCgpOwotICAgIGVhdCh0b2ssIFRPS19ET1VCTEVCUkFDS0VUKTsKLSAgICBub2RlID0g
bmV3ZWxlbWVudCgiVHlwZSIpOwotICAgIGFkZG5vZGUobm9kZSwgbmV3YXR0cigidHlwZSIsICJh
cnJheSIpKTsKLSAgICBhZGRub2RlKG5vZGUsIHR5cGVub2RlKTsKLSAgICBsZXhub2NvbW1lbnQo
KTsKLSAgICBub2RlID0gcGFyc2V0eXBlc3VmZml4KHRvaywgbm9kZSk7Ci0gIH0gZWxzZSBpZiAo
dG9rLT50eXBlID09ICcoJykgeyAKLSAgICBub2RlID0gcGFyc2V1bmlvbnR5cGUodG9rKTsKLSAg
fSBlbHNlIHsKLSAgICBub2RlID0gcGFyc2Vub25hbnl0eXBlKHRvayk7Ci0gIH0KLSAgcmV0dXJu
IG5vZGU7Ci19Ci0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBwYXJzZXVuaW9udHlwZSA6IHBhcnNl
IFVuaW9uVHlwZQotICoKLSAqIEVudGVyOiAgIHRvayA9IG5leHQgdG9rZW4KLSAqCi0gKiBSZXR1
cm46ICBub2RlIGZvciB0eXBlCi0gKiAgICAgICAgICB0b2sgdXBkYXRlZAotICovCi1zdGF0aWMg
c3RydWN0IG5vZGUgKgotcGFyc2V1bmlvbnR5cGUoc3RydWN0IHRvayAqdG9rKQotewotICBzdHJ1
Y3Qgbm9kZSAqbm9kZTsKLSAgZWF0KHRvaywgJygnKTsKLSAgbm9kZSA9IG5ld2VsZW1lbnQoIlR5
cGUiKTsKLSAgYWRkbm9kZShub2RlLCBuZXdhdHRyKCJ0eXBlIiwgInVuaW9uIikpOwotICBpZiAo
dG9rLT50eXBlICE9ICcpJykgewotICAgIGZvciAoOzspIHsKLSAgICAgIGFkZG5vZGUobm9kZSwg
cGFyc2V1bmlvbm1lbWJlcnR5cGUodG9rKSk7Ci0gICAgICBpZiAodG9rLT50eXBlICE9IFRPS19v
cikKLQlicmVhazsKLSAgICAgIGxleG5vY29tbWVudCgpOwotICAgIH0KLSAgfQotICBlYXQodG9r
LCAnKScpOwotICBub2RlID0gcGFyc2V0eXBlc3VmZml4KHRvaywgbm9kZSk7ICAgICAgCi0gIHJl
dHVybiBub2RlOwotfQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIHBhcnNldHlwZSA6IHBhcnNlIFs0
NF0gVHlwZQotICoKLSAqIEVudGVyOiAgIHRvayA9IG5leHQgdG9rZW4KLSAqCi0gKiBSZXR1cm46
ICBub2RlIGZvciB0eXBlCi0gKiAgICAgICAgICB0b2sgdXBkYXRlZAotICovCi1zdGF0aWMgc3Ry
dWN0IG5vZGUgKgotcGFyc2V0eXBlKHN0cnVjdCB0b2sgKnRvaykKLXsKLSAgICBzdHJ1Y3Qgbm9k
ZSAqbm9kZTsKLSAgICBpZiAodG9rLT50eXBlID09ICcoJykgewotICAgICAgbm9kZSA9IHBhcnNl
dW5pb250eXBlKHRvayk7Ci0gICAgfSBlbHNlIGlmICh0b2stPnR5cGUgPT0gVE9LX2FueSkgewot
ICAgICAgbm9kZSA9IG5ld2VsZW1lbnQoIlR5cGUiKTsKLSAgICAgIGFkZG5vZGUobm9kZSwgbmV3
YXR0cigidHlwZSIsICJhbnkiKSk7Ci0gICAgICBsZXhub2NvbW1lbnQoKTsKLSAgICAgIG5vZGUg
PSBwYXJzZXR5cGVzdWZmaXhzdGFydGluZ3dpdGhhcnJheSh0b2ssIG5vZGUpOwotICAgIH0gZWxz
ZSB7Ci0gICAgICBub2RlID0gcGFyc2Vub25hbnl0eXBlKHRvayk7CQotICAgIH0KLSAgICByZXR1
cm4gbm9kZTsKLX0KLQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIHBhcnNlZXh0ZW5kZWRhdHRyaWJ1
dGUgOiBwYXJzZSBbMzldIEV4dGVuZGVkQXR0cmlidXRlCi0gKgotICogRW50ZXI6ICAgdG9rID0g
bmV4dCB0b2tlbgotICoKLSAqIFJldHVybjogIG5vZGUgZm9yIGV4dGVuZGVkIGF0dHJpYnV0ZQot
ICoKLSAqIFRoaXMgcGFyc2VzIHRoZSB2YXJpb3VzIGZvcm1zIG9mIGV4dGVuZGVkIGF0dHJpYnV0
ZSwgYXMgaW4KLSAqIHJ1bGVzIFs1N10gWzU4XSBbNTldIFs2MF0gWzYxXS4KLSAqCi0gKiBUaGlz
IGRvZXMgbm90IHNwb3QgdGhlIGVycm9yIHRoYXQgeW91IGNhbm5vdCBoYXZlIGEgU2NvcGVkTmFt
ZQotICogYW5kIGFuIEFyZ3VtZW50TGlzdC4KLSAqLwotc3RhdGljIHN0cnVjdCBub2RlICoKLXBh
cnNlZXh0ZW5kZWRhdHRyaWJ1dGUoc3RydWN0IHRvayAqdG9rKQotewotCWNvbnN0IGNoYXIgKnN0
YXJ0IDsKLSAgICBzdHJ1Y3Qgbm9kZSAqbm9kZSA9IG5ld2VsZW1lbnQoIkV4dGVuZGVkQXR0cmli
dXRlIik7Ci0gICAgY2hhciAqYXR0cm5hbWUgPSBzZXRpZGVudGlmaWVyKHRvayk7Ci0gICAgYWRk
bm9kZShub2RlLCBuZXdhdHRyKCJuYW1lIiwgYXR0cm5hbWUpKTsKLSAgICBzdGFydCA9IHRvay0+
cHJlc3RhcnQ7Ci0gICAgbm9kZS0+d3NzdGFydCA9IHN0YXJ0OwotICAgIG5vZGUtPmVuZCA9IHRv
ay0+c3RhcnQgKyB0b2stPmxlbjsKLSAgICBpZighc3RyY21wKGF0dHJuYW1lLCAiQ29uc3RydWN0
b3IiKSB8fCAhc3RyY21wKGF0dHJuYW1lLCAiTmFtZWRDb25zdHJ1Y3RvciIpKSB7Ci0JICAgIHNl
dGNvbW1lbnRub2RlKG5vZGUpOwotCX0KLSAgICBsZXhub2NvbW1lbnQoKTsKLSAgICBpZiAodG9r
LT50eXBlID09ICc9JykgewotICAgICAgICBsZXhub2NvbW1lbnQoKTsKLSAgICAgICAgYWRkbm9k
ZShub2RlLCBwYXJzZXNjb3BlZG5hbWUodG9rLCAidmFsdWUiLCAwKSk7Ci0gICAgfQotICAgIGlm
ICh0b2stPnR5cGUgPT0gJygnKSB7Ci0gICAgICAgIGxleG5vY29tbWVudCgpOwotICAgICAgICBh
ZGRub2RlKG5vZGUsIHBhcnNlYXJndW1lbnRsaXN0KHRvaykpOwotCSAgICBub2RlLT5lbmQgPSB0
b2stPnN0YXJ0ICsgdG9rLT5sZW47Ci0gICAgICAgIGVhdCh0b2ssICcpJyk7Ci0gICAgfQotICAg
IHJldHVybiBub2RlOwotfQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIHBhcnNlZXh0ZW5kZWRhdHRy
aWJ1dGVsaXN0IDogcGFyc2UgWzM3XSBFeHRlbmRlZEF0dHJpYnV0ZUxpc3QKLSAqCi0gKiBFbnRl
cjogICB0b2sgPSBuZXh0IHRva2VuCi0gKgotICogUmV0dXJuOiAgMCBlbHNlIG5vZGUgZm9yIGV4
dGVuZGVkIGF0dHJpYnV0ZSBsaXN0Ci0gKiAgICAgICAgICB0b2sgdXBkYXRlZCBpZiBhbnl0aGlu
ZyBwYXJzZWQKLSAqLwotc3RhdGljIHN0cnVjdCBub2RlICoKLXBhcnNlZXh0ZW5kZWRhdHRyaWJ1
dGVsaXN0KHN0cnVjdCB0b2sgKnRvaykKLXsKLSAgICBzdHJ1Y3Qgbm9kZSAqbm9kZTsKLSAgICBp
ZiAodG9rLT50eXBlICE9ICdbJykKLSAgICAgICAgcmV0dXJuIDA7Ci0gICAgbm9kZSA9IG5ld2Vs
ZW1lbnQoIkV4dGVuZGVkQXR0cmlidXRlTGlzdCIpOwotICAgIGZvciAoOzspIHsKLSAgICAgICAg
bGV4bm9jb21tZW50KCk7Ci0gICAgICAgIGFkZG5vZGUobm9kZSwgcGFyc2VleHRlbmRlZGF0dHJp
YnV0ZSh0b2spKTsKLSAgICAgICAgaWYgKHRvay0+dHlwZSAhPSAnLCcpCi0gICAgICAgICAgICBi
cmVhazsKLSAgICB9Ci0gICAgaWYgKHRvay0+dHlwZSAhPSAnXScpCi0gICAgICAgIHRva2Vycm9y
ZXhpdCh0b2ssICJleHBlY3RlZCAnLCcgb3IgJ10nIik7Ci0gICAgbGV4bm9jb21tZW50KCk7Ci0g
ICAgcmV0dXJuIG5vZGU7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogcGFyc2VleGNlcHRpb25m
aWVsZCA6IHBhcnNlIFszNl0gRXhjZXB0aW9uRmllbGQKLSAqCi0gKiBFbnRlcjogICB0b2sgPSBu
ZXh0IHRva2VuCi0gKiAgICAgICAgICBlYWwgPSAwIGVsc2UgZXh0ZW5kZWQgYXR0cmlidXRlIGxp
c3Qgbm9kZQotICoKLSAqIFJldHVybjogIG5ldyBub2RlIGZvciB0aGUgZXhjZXB0aW9uZmllbGQK
LSAqICAgICAgICAgIHRvayB1cGRhdGVkCi0gKi8KLXN0YXRpYyBzdHJ1Y3Qgbm9kZSAqCi1wYXJz
ZWV4Y2VwdGlvbmZpZWxkKHN0cnVjdCB0b2sgKnRvaywgc3RydWN0IG5vZGUgKmVhbCkKLXsKLSAg
ICBzdHJ1Y3Qgbm9kZSAqbm9kZSA9IG5ld2VsZW1lbnQoIkV4Y2VwdGlvbkZpZWxkIik7Ci0gICAg
aWYgKGVhbCkgYWRkbm9kZShub2RlLCBlYWwpOwotICAgIHNldGNvbW1lbnRub2RlKG5vZGUpOwot
ICAgIGFkZG5vZGUobm9kZSwgcGFyc2V0eXBlKHRvaykpOwotICAgIGFkZG5vZGUobm9kZSwgbmV3
YXR0cigibmFtZSIsIHNldGlkZW50aWZpZXIodG9rKSkpOwotICAgIHRvayA9IGxleG5vY29tbWVu
dCgpOwotICAgIHJldHVybiBub2RlOwotfQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIHBhcnNlYXJn
dW1lbnQgOiBwYXJzZSBbMzFdIEFyZ3VtZW50Ci0gKgotICogRW50ZXI6ICAgdG9rID0gbmV4dCB0
b2tlbgotICoKLSAqIFJldHVybjogIG5ldyBub2RlCi0gKgotICogdG9rIHVwZGF0ZWQgb24gcmV0
dXJuCi0gKi8KLXN0YXRpYyBzdHJ1Y3Qgbm9kZSAqCi1wYXJzZWFyZ3VtZW50KHN0cnVjdCB0b2sg
KnRvaykKLXsKLSAgICBzdHJ1Y3Qgbm9kZSAqbm9kZSA9IG5ld2VsZW1lbnQoIkFyZ3VtZW50Iik7
Ci0gICAgc3RydWN0IG5vZGUgKmVhbCA9IHBhcnNlZXh0ZW5kZWRhdHRyaWJ1dGVsaXN0KHRvayk7
Ci0gICAgc2V0Y29tbWVudG5vZGUobm9kZSk7Ci0gICAgaWYgKGVhbCkgYWRkbm9kZShub2RlLCBl
YWwpOwotICAgIGlmICh0b2stPnR5cGUgPT0gVE9LX29wdGlvbmFsKSB7Ci0gICAgICAgIGFkZG5v
ZGUobm9kZSwgbmV3YXR0cigib3B0aW9uYWwiLCAib3B0aW9uYWwiKSk7Ci0gICAgICAgIGxleG5v
Y29tbWVudCgpOwotICAgIH0KLSAgICBhZGRub2RlKG5vZGUsIHBhcnNldHlwZSh0b2spKTsKLSAg
ICBpZiAodG9rLT50eXBlID09IFRPS19FTExJUFNJUykgewotICAgICAgICBhZGRub2RlKG5vZGUs
IG5ld2F0dHIoImVsbGlwc2lzIiwgImVsbGlwc2lzIikpOwotICAgICAgICBsZXhub2NvbW1lbnQo
KTsKLSAgICB9Ci0gICAgYWRkbm9kZShub2RlLCBuZXdhdHRyKCJuYW1lIiwgc2V0YXJndW1lbnRu
YW1lKHRvaykpKTsKLSAgICBsZXhub2NvbW1lbnQoKTsKLSAgICAvLyBPcHRpb25hbCBkZWZhdWx0
IHZhbHVlCi0gICAgaWYgKHRvay0+dHlwZSA9PSAnPScpIHsKLSAgICAgIHRvayA9IGxleG5vY29t
bWVudCgpOwotICAgICAgbm9kZSA9IHBhcnNlZGVmYXVsdHZhbHVlKHRvaywgbm9kZSk7Ci0gICAg
fQotICAgIHJldHVybiBub2RlOwotfQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIHBhcnNlYXJndW1l
bnRsaXN0IDogcGFyc2UgWzI5XSBBcmd1bWVudExpc3QKLSAqCi0gKiBFbnRlcjogICB0b2sgPSBu
ZXh0IHRva2VuCi0gKgotICogUmV0dXJuOiAgbmV3IG5vZGUgZm9yIHRoZSBhcmdsaXN0Ci0gKiAg
ICAgICAgICB0b2sgdXBkYXRlZAotICovCi1zdGF0aWMgc3RydWN0IG5vZGUgKgotcGFyc2Vhcmd1
bWVudGxpc3Qoc3RydWN0IHRvayAqdG9rKQotewotICAgIHN0cnVjdCBub2RlICpub2RlID0gbmV3
ZWxlbWVudCgiQXJndW1lbnRMaXN0Iik7Ci0gICAgLyogV2UgcmVseSBvbiB0aGUgZmFjdCB0aGF0
IEFyZ3VtZW50TGlzdCBpcyBhbHdheXMgZm9sbG93ZWQgYnkgJyknLiAqLwotICAgIGlmICh0b2st
PnR5cGUgIT0gJyknKSB7Ci0gICAgICAgIGZvciAoOzspIHsKLSAgICAgICAgICAgIGFkZG5vZGUo
bm9kZSwgcGFyc2Vhcmd1bWVudCh0b2spKTsKLSAgICAgICAgICAgIGlmICh0b2stPnR5cGUgIT0g
JywnKQotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgbGV4bm9jb21tZW50KCk7
Ci0gICAgICAgIH0KLSAgICB9Ci0gICAgcmV0dXJuIG5vZGU7Ci19Ci0KLQotLyoqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqCi0gKiBwYXJzZW9wZXJhdGlvbnJlc3QgOiBwYXJzZSBbMjVdIE9wZXJhdGlvblJlc3QKLSAq
Ci0gKiBFbnRlcjogICB0b2sgPSBuZXh0IHRva2VuCi0gKiAgICAgICAgICBub2RlCi0gKgotICog
UmV0dXJuOiAgbm9kZQotICogICAgICAgICAgdG9rIG9uIHRlcm1pbmF0aW5nICc7JwotICovCi1z
dGF0aWMgc3RydWN0IG5vZGUgKgotcGFyc2VvcGVyYXRpb25yZXN0KHN0cnVjdCB0b2sgKnRvaywg
c3RydWN0IG5vZGUgKm5vZGUpCi17Ci0gICAgaWYgKHRvay0+dHlwZSA9PSBUT0tfSURFTlRJRklF
UikgewotICAgICAgICBhZGRub2RlKG5vZGUsIG5ld2F0dHIoIm5hbWUiLCBzZXRpZGVudGlmaWVy
KHRvaykpKTsKLSAgICAgICAgbGV4bm9jb21tZW50KCk7Ci0gICAgfQotICAgIGVhdCh0b2ssICco
Jyk7Ci0gICAgYWRkbm9kZShub2RlLCBwYXJzZWFyZ3VtZW50bGlzdCh0b2spKTsKLSAgICBlYXQo
dG9rLCAnKScpOwotICAgIHJldHVybiBub2RlOwotfQotCi0vKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIHBh
cnNlcmV0dXJudHlwZWFuZG9wZXJhdGlvbnJlc3Q6IHBhcnNlIFJldHVyblR5cGUgT3BlcmF0aW9u
UmVzdAotICogRW50ZXI6ICAgdG9rID0gbmV4dCB0b2tlbgotICogICAgICAgICAgZWFsCi0gKiAg
ICAgICAgICBhdHRycyBsaXN0IG9mIGF0dHJpYnV0ZXMKLSAqIFJldHVybjogIG5vZGUKLSAqICAg
ICAgICAgIHRvayBvbiB0ZXJtaW5hdGluZyAnOycKLSAqLwotc3RhdGljIHN0cnVjdCBub2RlICoK
LXBhcnNlcmV0dXJudHlwZWFuZG9wZXJhdGlvbnJlc3Qoc3RydWN0IHRvayAqdG9rLCBzdHJ1Y3Qg
bm9kZSAqZWFsLCBzdHJ1Y3Qgbm9kZSAqYXR0cnMpIAotewotICBzdHJ1Y3Qgbm9kZSAqbm9kZSA9
ICBuZXdlbGVtZW50KCJPcGVyYXRpb24iKTsKLSAgc3RydWN0IG5vZGUgKm5vZGVUeXBlID0gcGFy
c2VyZXR1cm50eXBlKHRvayk7Ci0gIGlmIChlYWwpIGFkZG5vZGUobm9kZSwgZWFsKTsKLSAgc2V0
Y29tbWVudG5vZGUobm9kZSk7Ci0gIGFkZG5vZGUobm9kZSwgYXR0cnMpOwotICBhZGRub2RlKG5v
ZGUsIG5vZGVUeXBlKTsKLSAgcmV0dXJuIHBhcnNlb3BlcmF0aW9ucmVzdCh0b2ssIG5vZGUpOwot
fQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioKLSAqIHBhcnNlaXRlcmF0b3JyZXN0IDogcGFyc2UgT3B0aW9u
YWxJdGVyYXRvckludGVyZmFjZQotICoKLSAqIEVudGVyOiAgIHRvayA9IG5leHQgdG9rZW4KLSAq
ICAgICAgICAgIG5vZGUKLSAqCi0gKiBSZXR1cm46ICBub2RlCi0gKiAgICAgICAgICB0b2sgb24g
dGVybWluYXRpbmcgJzsnCi0gKi8KLXN0YXRpYyBzdHJ1Y3Qgbm9kZSAqCi1wYXJzZW9wdGlvbmFs
aXRlcmF0b3JpbnRlcmZhY2Uoc3RydWN0IHRvayAqdG9rLCBzdHJ1Y3Qgbm9kZSAqbm9kZSkKLXsK
LSAgaWYgKHRvay0+dHlwZSA9PSAnPScpIHsKLSAgICBsZXhub2NvbW1lbnQoKTsKLSAgICBhZGRu
b2RlKG5vZGUsIG5ld2F0dHIoImludGVyZmFjZSIsIHNldGlkZW50aWZpZXIodG9rKSkpOwotICAg
IGxleG5vY29tbWVudCgpOwotICB9Ci0gIHJldHVybiBub2RlOwotfQotCi0vKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioKLSAqIHBhcnNlb3BlcmF0aW9ub3JpdGVyYXRvcnJlc3QgOiBwYXJzZSBbMjVdIE9wZXJhdGlv
bk9ySXRlcmF0b3JSZXN0Ci0gKgotICogRW50ZXI6ICAgdG9rID0gbmV4dCB0b2tlbgotICogICAg
ICAgICAgZWFsID0gMCBlbHNlIGV4dGVuZGVkIGF0dHJpYnV0ZSBsaXN0IG5vZGUKLSAqICAgICAg
ICAgIGF0dHJzID0gbGlzdC1vZi1hdHRycyBub2RlIGNvbnRhaW5pbmcgYXR0cnMgdG8gYWRkIHRv
IG5ldyBub2RlCi0gKgotICogUmV0dXJuOiAgbmV3IG5vZGUKLSAqICAgICAgICAgIHRvayBvbiB0
ZXJtaW5hdGluZyAnOycKLSAqLwotc3RhdGljIHN0cnVjdCBub2RlICoKLXBhcnNlb3BlcmF0aW9u
b3JpdGVyYXRvcnJlc3Qoc3RydWN0IHRvayAqdG9rLCBzdHJ1Y3Qgbm9kZSAqZWFsLCBzdHJ1Y3Qg
bm9kZSAqYXR0cnMpCi17Ci0gIHN0cnVjdCBub2RlICpub2RlOwotICBzdHJ1Y3Qgbm9kZSAqbm9k
ZVR5cGUgPSBwYXJzZXJldHVybnR5cGUodG9rKTsKLSAgdW5zaWduZWQgaW50IGlzSXRlcmF0b3Ig
PSAwOwotICBpZiAodG9rLT50eXBlID09IFRPS19pdGVyYXRvcikgewotICAgIGxleG5vY29tbWVu
dCgpOwotICAgIGlmICh0b2stPnR5cGUgPT0gVE9LX29iamVjdCkgewotICAgICAgbGV4bm9jb21t
ZW50KCk7Ci0gICAgICBub2RlID0gbmV3ZWxlbWVudCgiSXRlcmF0b3JPYmplY3QiKTsKLSAgICAg
IGFkZG5vZGUobm9kZSwgbm9kZVR5cGUpOwotICAgICAgcmV0dXJuIG5vZGU7Ci0gICAgfSBlbHNl
IHsKLSAgICAgIG5vZGUgPSBuZXdlbGVtZW50KCJJdGVyYXRvciIpOwotICAgICAgaXNJdGVyYXRv
ciA9IDE7ICAgIAotICAgIH0KLSAgfSBlbHNlIHsKLSAgICBub2RlID0gbmV3ZWxlbWVudCgiT3Bl
cmF0aW9uIik7Ci0gIH0KLSAgaWYgKGVhbCkgYWRkbm9kZShub2RlLCBlYWwpOwotICBzZXRjb21t
ZW50bm9kZShub2RlKTsKLSAgYWRkbm9kZShub2RlLCBhdHRycyk7Ci0gIGFkZG5vZGUobm9kZSwg
bm9kZVR5cGUpOwotICBpZiAoaXNJdGVyYXRvcikKLSAgICByZXR1cm4gcGFyc2VvcHRpb25hbGl0
ZXJhdG9yaW50ZXJmYWNlKHRvaywgbm9kZSk7Ci0gIGVsc2UKLSAgICByZXR1cm4gcGFyc2VvcGVy
YXRpb25yZXN0KHRvaywgbm9kZSk7Ci19Ci0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBwYXJzZWF0
dHJpYnV0ZSA6IHBhcnNlIFsxN10gQXR0cmlidXRlCi0gKgotICogRW50ZXI6ICAgdG9rID0gbmV4
dCB0b2tlbiAoInJlYWRvbmx5IiBvciAiYXR0cmlidXRlIikKLSAqICAgICAgICAgIGVhbCA9IDAg
ZWxzZSBleHRlbmRlZCBhdHRyaWJ1dGUgbGlzdCBub2RlCi0gKiAgICAgICAgICBhdHRycyA9IGxp
c3Qtb2YtYXR0cnMgbm9kZSBjb250YWluaW5nIGF0dHJzIHRvIGFkZCB0byBuZXcgbm9kZQotICoK
LSAqIFJldHVybjogIG5vZGUKLSAqICAgICAgICAgIHRvayBvbiB0ZXJtaW5hdGluZyAnOycKLSAq
Lwotc3RhdGljIHN0cnVjdCBub2RlICoKLXBhcnNlYXR0cmlidXRlKHN0cnVjdCB0b2sgKnRvaywg
c3RydWN0IG5vZGUgKmVhbCwgc3RydWN0IG5vZGUgKmF0dHJzKQotewotICAgIHN0cnVjdCBub2Rl
ICpub2RlID0gbmV3ZWxlbWVudCgiQXR0cmlidXRlIik7Ci0gICAgaWYgKGVhbCkgYWRkbm9kZShu
b2RlLCBlYWwpOwotICAgIHNldGNvbW1lbnRub2RlKG5vZGUpOwotICAgIGFkZG5vZGUobm9kZSwg
YXR0cnMpOwotICAgIGlmICh0b2stPnR5cGUgPT0gVE9LX2luaGVyaXQpIHsKLSAgICAgICAgbGV4
bm9jb21tZW50KCk7Ci0JYWRkbm9kZShub2RlLCBuZXdhdHRyKCJpbmhlcml0IiwgImluaGVyaXQi
KSk7Ci0gICAgfQotICAgIGlmICh0b2stPnR5cGUgPT0gVE9LX3JlYWRvbmx5KSB7Ci0gICAgICAg
IGxleG5vY29tbWVudCgpOwotICAgICAgICBhZGRub2RlKG5vZGUsIG5ld2F0dHIoInJlYWRvbmx5
IiwgInJlYWRvbmx5IikpOwotICAgIH0KLSAgICBlYXQodG9rLCBUT0tfYXR0cmlidXRlKTsKLSAg
ICBhZGRub2RlKG5vZGUsIHBhcnNldHlwZSh0b2spKTsKLSAgICBhZGRub2RlKG5vZGUsIG5ld2F0
dHIoIm5hbWUiLCBzZXRpZGVudGlmaWVyKHRvaykpKTsKLSAgICBsZXhub2NvbW1lbnQoKTsKLSAg
ICByZXR1cm4gbm9kZTsKLX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBwYXJzZXNlcmlhbGl6ZXIg
OiBwYXJzZSBTZXJpYWxpemVyCi0gKgotICogRW50ZXI6ICAgdG9rID0gbmV4dCB0b2tlbgotICog
ICAgICAgICAgZWFsCi0gKgotICogUmV0dXJuOiAgbm9kZSB1cGRhdGVkIHdpdGggdmFsdWUKLSAq
ICAgICAgICAgIHRvayB1cGRhdGVkCi0gKi8KLXN0YXRpYyBzdHJ1Y3Qgbm9kZSAqCi1wYXJzZXNl
cmlhbGl6ZXIgKHN0cnVjdCB0b2sgKnRvaywgc3RydWN0IG5vZGUgKmVhbCkgewotCXN0cnVjdCBu
b2RlICpub2RlQXR0cmlidXRlOwotCXN0cnVjdCBub2RlICpub2RlID0gbmV3ZWxlbWVudCgiU2Vy
aWFsaXplciIpOwotICBpZiAodG9rLT50eXBlID09ICc9JykgewotICAgIGlmIChlYWwpIGFkZG5v
ZGUobm9kZSwgZWFsKTsKLSAgICBsZXhub2NvbW1lbnQoKTsKLSAgICBpZiAodG9rLT50eXBlID09
IFRPS19JREVOVElGSUVSKSB7Ci0gICAgICBhZGRub2RlKG5vZGUsIG5ld2F0dHIoImF0dHJpYnV0
ZSIsIHNldGlkZW50aWZpZXIodG9rKSkpOwotICAgICAgbGV4bm9jb21tZW50KCk7Ci0gICAgfSBl
bHNlIGlmICh0b2stPnR5cGUgPT0gJ3snKSB7Ci0gICAgICB1bnNpZ25lZCBpbnQgZG9uZSA9IDA7
Ci0gICAgICBzdHJ1Y3Qgbm9kZSAqbm9kZU1hcCA9IG5ld2VsZW1lbnQoIk1hcCIpOwotICAgICAg
bGV4bm9jb21tZW50KCk7Ci0gICAgICBpZiAodG9rLT50eXBlID09IFRPS19nZXR0ZXIpIHsKLQlh
ZGRub2RlKG5vZGVNYXAsIG5ld2F0dHIoInBhdHRlcm4iLCAiZ2V0dGVyIikpOwotCWRvbmUgPSAx
OwotICAgICAgfSBlbHNlIGlmICh0b2stPnR5cGUgPT0gVE9LX2F0dHJpYnV0ZSkgewotCWFkZG5v
ZGUobm9kZU1hcCwgbmV3YXR0cigicGF0dGVybiIsICJhbGwiKSk7Ci0JZG9uZSA9IDE7Ci0gICAg
ICB9IGVsc2UgaWYgKHRvay0+dHlwZSA9PSBUT0tfaW5oZXJpdCkgewotCWFkZG5vZGUobm9kZU1h
cCwgbmV3YXR0cigiaW5oZXJpdCIsICJpbmhlcml0IikpOwotCWxleG5vY29tbWVudCgpOwotCWVh
dCh0b2ssICcsJyk7Ci0JaWYgKHRvay0+dHlwZSA9PSBUT0tfYXR0cmlidXRlKSB7Ci0JICBhZGRu
b2RlKG5vZGVNYXAsIG5ld2F0dHIoInBhdHRlcm4iLCAiYWxsIikpOwotCSAgZG9uZSA9IDE7Ci0J
fQotICAgICAgfSBlbHNlIGlmICh0b2stPnR5cGUgIT0gVE9LX0lERU5USUZJRVIpIHsKLQl0b2tl
cnJvcmV4aXQodG9rLCAiZXhwZWN0ZWQgJ2F0dHJpYnV0ZScsICdnZXR0ZXInLCAnaW5oZXJpdCcg
b3IgYXR0cmlidXRlIGlkZW50aWZpZXJzIGluIHNlcmlhbGl6ZXIgbWFwIik7Ci0gICAgICB9Ci0g
ICAgICBpZiAoZG9uZSkgewotCWxleG5vY29tbWVudCgpOwotCWVhdCh0b2ssICd9Jyk7Ci0gICAg
ICB9IGVsc2UgewotCWFkZG5vZGUobm9kZU1hcCwgbmV3YXR0cigicGF0dGVybiIsICJzZWxlY3Rp
b24iKSk7Ci0JZG8gewotCSAgaWYgKHRvay0+dHlwZSAhPSBUT0tfSURFTlRJRklFUikKLQkgICAg
dG9rZXJyb3JleGl0KHRvaywgImV4cGVjdGVkIGF0dHJpYnV0ZSBpZGVudGlmaWVycyBpbiBzZXJp
YWxpemVyIG1hcCAlcyIsIHRvay0+cHJlc3RhcnQpOwotCSAgbm9kZUF0dHJpYnV0ZSA9IG5ld2Vs
ZW1lbnQoIlBhdHRlcm5BdHRyaWJ1dGUiKTsKLQkgIGFkZG5vZGUobm9kZUF0dHJpYnV0ZSwgbmV3
YXR0cigibmFtZSIsIHNldGlkZW50aWZpZXIodG9rKSkpOwotCSAgYWRkbm9kZShub2RlTWFwLCBu
b2RlQXR0cmlidXRlKTsKLQkgIGxleG5vY29tbWVudCgpOwotCSAgaWYgKHRvay0+dHlwZSA9PSAn
LCcpCi0JICAgIGxleG5vY29tbWVudCgpOwotCX0gd2hpbGUgKHRvay0+dHlwZSAhPSAnfScpOwot
CWVhdCh0b2ssICd9Jyk7Ci0gICAgICB9Ci0gICAgICBhZGRub2RlKG5vZGUsIG5vZGVNYXApOwot
ICAgIH0gZWxzZSBpZiAodG9rLT50eXBlID09ICdbJykgewotICAgICAgc3RydWN0IG5vZGUgKm5v
ZGVMaXN0ID0gbmV3ZWxlbWVudCgiTGlzdCIpOwotICAgICAgbGV4bm9jb21tZW50KCk7Ci0gICAg
ICBpZiAodG9rLT50eXBlID09IFRPS19nZXR0ZXIpIHsKLQlhZGRub2RlKG5vZGVMaXN0LCBuZXdh
dHRyKCJwYXR0ZXJuIiwgImdldHRlciIpKTsKLQlsZXhub2NvbW1lbnQoKTsKLQllYXQodG9rLCAn
XScpOwotICAgICAgfSBlbHNlIHsKLQlhZGRub2RlKG5vZGVMaXN0LCBuZXdhdHRyKCJwYXR0ZXJu
IiwgInNlbGVjdGlvbiIpKTsKLQlkbyB7Ci0JICBpZiAodG9rLT50eXBlICE9IFRPS19JREVOVElG
SUVSKQotCSAgICB0b2tlcnJvcmV4aXQodG9rLCAiZXhwZWN0ZWQgYXR0cmlidXRlIGlkZW50aWZp
ZXJzIGluIHNlcmlhbGl6ZXIgbGlzdCIpOwotCSAgbm9kZUF0dHJpYnV0ZSA9IG5ld2VsZW1lbnQo
IlBhdHRlcm5BdHRyaWJ1dGUiKTsKLQkgIGFkZG5vZGUobm9kZUF0dHJpYnV0ZSwgbmV3YXR0cigi
bmFtZSIsIHNldGlkZW50aWZpZXIodG9rKSkpOwotCSAgYWRkbm9kZShub2RlTGlzdCwgbm9kZUF0
dHJpYnV0ZSk7Ci0JICBsZXhub2NvbW1lbnQoKTsKLQkgIGlmICh0b2stPnR5cGUgPT0gJywnKQot
CSAgICBsZXhub2NvbW1lbnQoKTsKLQl9IHdoaWxlICh0b2stPnR5cGUgIT0gJ10nKTsJICAgIAot
CWVhdCh0b2ssICddJyk7Ci0gICAgICB9Ci0gICAgICBhZGRub2RlKG5vZGUsIG5vZGVMaXN0KTsK
LSAgICB9IGVsc2UgewotICAgICAgdG9rZXJyb3JleGl0KHRvaywgIkV4cGVjdGVkICd7JywgJ1sn
IG9yIGFuIGF0dHJpYnV0ZSBpZGVudGlmaWVyIGluIHRoZSBzZXJpYWxpemVyIGRlY2xhcmF0aW9u
Iik7Ci0gICAgfQotICAgIHJldHVybiBub2RlOwotICB9IGVsc2UgewotICAgIGlmIChlYWwpIGFk
ZG5vZGUobm9kZSwgZWFsKTsKLSAgICByZXR1cm4gbm9kZTsKLSAgfQotfQotCi0vKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioKLSAqIHBhcnNlYXR0cmlidXRlb3JvcGVyYXRpb25vcml0ZXJhdG9yIDogcGFyc2UgWzE1
XSBBdHRyaWJ1dGVPck9wZXJhdGlvbk9ySXRlcmF0b3IKLSAqCi0gKiBFbnRlcjogICB0b2sgPSBu
ZXh0IHRva2VuCi0gKiAgICAgICAgICBlYWwgPSAwIGVsc2UgZXh0ZW5kZWQgYXR0cmlidXRlIGxp
c3Qgbm9kZQotICoKLSAqIFJldHVybjogIG5ldyBub2RlCi0gKiAgICAgICAgICB0b2sgb24gdGVy
bWluYXRpbmcgJzsnCi0gKi8KLXN0YXRpYyBzdHJ1Y3Qgbm9kZSAqCi1wYXJzZWF0dHJpYnV0ZW9y
b3BlcmF0aW9ub3JpdGVyYXRvcihzdHJ1Y3QgdG9rICp0b2ssIHN0cnVjdCBub2RlICplYWwpCi17
Ci0JaW50IGFscmVhZHlzZWVuIDsKLSAgICBzdHJ1Y3Qgbm9kZSAqYXR0cnMgPSBuZXdhdHRybGlz
dCgpOwotICAgIGlmICh0b2stPnR5cGUgPT0gVE9LX3NlcmlhbGl6ZXIpIHsKLSAgICAgIGxleG5v
Y29tbWVudCgpOwotICAgICAgaWYgKHRvay0+dHlwZSA9PSAnPScgfHwgdG9rLT50eXBlID09Jzsn
KSB7Ci0JcmV0dXJuIHBhcnNlc2VyaWFsaXplcih0b2ssIGVhbCk7Ci0gICAgICB9IGVsc2Ugewot
CWFkZG5vZGUoYXR0cnMsIG5ld2F0dHIoInNlcmlhbGl6ZXIiLCAic2VyaWFsaXplciIpKTsKLQly
ZXR1cm4gcGFyc2VyZXR1cm50eXBlYW5kb3BlcmF0aW9ucmVzdCh0b2ssIGVhbCwgYXR0cnMpOwot
ICAgICAgfQotICAgIH0KLSAgICBpZiAodG9rLT50eXBlID09IFRPS19zdHJpbmdpZmllcikgewot
ICAgICAgICBhZGRub2RlKGF0dHJzLCBuZXdhdHRyKCJzdHJpbmdpZmllciIsICJzdHJpbmdpZmll
ciIpKTsKLSAgICAgICAgbGV4bm9jb21tZW50KCk7Ci0gICAgICAgIGlmICh0b2stPnR5cGUgPT0g
JzsnKSB7Ci0gICAgICAgICAgICBzdHJ1Y3Qgbm9kZSAqbm9kZSA9IG5ld2VsZW1lbnQoIlN0cmlu
Z2lmaWVyIik7Ci0gICAgICAgICAgICBpZiAoZWFsKSBhZGRub2RlKG5vZGUsIGVhbCk7Ci0gICAg
ICAgICAgICByZXR1cm4gbm9kZTsKLSAgICAgICAgfQotICAgIH0KLSAgICBpZiAodG9rLT50eXBl
ID09IFRPS19zdGF0aWMpIHsKLSAgICAgICAgbGV4bm9jb21tZW50KCk7Ci0gICAgICAgIGFkZG5v
ZGUoYXR0cnMsIG5ld2F0dHIoInN0YXRpYyIsICJzdGF0aWMiKSk7Ci0gICAgfQotICAgIGlmICh0
b2stPnR5cGUgPT0gVE9LX2luaGVyaXQgfHwgdG9rLT50eXBlID09IFRPS19yZWFkb25seSB8fCB0
b2stPnR5cGUgPT0gVE9LX2F0dHJpYnV0ZSkKLSAgICAgICAgcmV0dXJuIHBhcnNlYXR0cmlidXRl
KHRvaywgZWFsLCBhdHRycyk7Ci0gICAgaWYgKCFub2RlaXNlbXB0eShhdHRycykpCi0gCXJldHVy
biBwYXJzZXJldHVybnR5cGVhbmRvcGVyYXRpb25yZXN0KHRvaywgZWFsLCBhdHRycyk7Ci0gICAg
YWxyZWFkeXNlZW4gPSAwOwotICAgIGZvciAoOzspIHsKLSAgICAgIHN0YXRpYyBjb25zdCBpbnQg
dFtdID0geyBUT0tfZ2V0dGVyLAotCQkJICAgICAgIFRPS19zZXR0ZXIsIFRPS19jcmVhdG9yLCBU
T0tfZGVsZXRlciwgVE9LX2xlZ2FjeWNhbGxlciwKLQkJCSAgICAgICAwIH07Ci0gICAgICBjb25z
dCBpbnQgKnR0ID0gdDsKLSAgICAgIGNoYXIgKnM7Ci0gICAgICB3aGlsZSAoKnR0ICYmICp0dCAh
PSB0b2stPnR5cGUpCi0JdHQrKzsKLSAgICAgIGlmICghKnR0KQotCWJyZWFrOwotICAgICAgcyA9
IG1lbXByaW50ZigiJS4qcyIsIHRvay0+bGVuLCB0b2stPnN0YXJ0KTsKLSAgICAgIGlmIChhbHJl
YWR5c2VlbiAmICgxIDw8ICh0dCAtIHQpKSkKLQl0b2tlcnJvcmV4aXQodG9rLCAiJyVzJyBxdWFs
aWZpZXIgY2Fubm90IGJlIHJlcGVhdGVkIiwgcyk7Ci0gICAgICBhbHJlYWR5c2VlbiB8PSAxIDw8
ICh0dCAtIHQpOwotICAgICAgYWRkbm9kZShhdHRycywgbmV3YXR0cihzLCBzKSk7Ci0gICAgICBs
ZXhub2NvbW1lbnQoKTsKLSAgICB9Ci0gICAgaWYgKCFub2RlaXNlbXB0eShhdHRycykpICAgIAot
ICAgICAgcmV0dXJuIHBhcnNlcmV0dXJudHlwZWFuZG9wZXJhdGlvbnJlc3QodG9rLCBlYWwsIGF0
dHJzKTsKLSAgICBlbHNlCi0gICAgICByZXR1cm4gcGFyc2VvcGVyYXRpb25vcml0ZXJhdG9ycmVz
dCh0b2ssIGVhbCwgYXR0cnMpOwotfQotCi0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogcGFyc2Vjb25z
dGV4cHIgOiBwYXJzZSBDb25zdFZhbHVlCi0gKgotICogRW50ZXI6ICAgdG9rID0gbmV4dCB0b2tl
bgotICogICAgICAgICAgbm9kZQotICoKLSAqIFJldHVybjogIG5vZGUgdXBkYXRlZCB3aXRoIHZh
bHVlCi0gKiAgICAgICAgICB0b2sgdXBkYXRlZAotICovCi1zdGF0aWMgc3RydWN0IG5vZGUgKgot
cGFyc2Vjb25zdGV4cHIgKHN0cnVjdCB0b2sgKnRvaywgc3RydWN0IG5vZGUgKm5vZGUpIHsKLSAg
Y2hhciAqczsKLSAgc3dpdGNoKHRvay0+dHlwZSkgewotICBjYXNlIFRPS190cnVlOgotICBjYXNl
IFRPS19mYWxzZToKLSAgY2FzZSBUT0tfbWludXNpbmZpbml0eToKLSAgY2FzZSBUT0tfSU5URUdF
UjoKLSAgY2FzZSBUT0tfRkxPQVQ6Ci0gIGNhc2UgVE9LX251bGw6Ci0gIGNhc2UgVE9LX2luZmlu
aXR5OgotICBjYXNlIFRPS19OYU46Ci0gICAgYnJlYWs7Ci0gIGRlZmF1bHQ6Ci0gICAgdG9rZXJy
b3JleGl0KHRvaywgImV4cGVjdGVkIGNvbnN0YW50IHZhbHVlIik7Ci0gICAgYnJlYWs7Ci0gIH0K
LSAgcyA9IG1lbWFsbG9jKHRvay0+bGVuICsgMSk7Ci0gIG1lbWNweShzLCB0b2stPnN0YXJ0LCB0
b2stPmxlbik7Ci0gIHNbdG9rLT5sZW5dID0gMDsKLSAgaWYgKHRvay0+dHlwZSAhPSBUT0tfU1RS
SU5HKSB7Ci0gICAgYWRkbm9kZShub2RlLCBuZXdhdHRyKCJ2YWx1ZSIsIHMpKTsKLSAgfSBlbHNl
IHsKLSAgICBhZGRub2RlKG5vZGUsIG5ld2F0dHIoInN0cmluZ3ZhbHVlIiwgcykpOwotICB9Ci0g
IGxleG5vY29tbWVudCgpOwotICByZXR1cm4gbm9kZTsKLX0KLQotLyoqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0g
KiBwYXJzZWRlZmF1bHR2YWx1ZSA6IHBhcnNlIERlZmF1bHRWYWx1ZQotICoKLSAqIEVudGVyOiAg
IHRvayA9IG5leHQgdG9rZW4KLSAqICAgICAgICAgIG5vZGUKLSAqCi0gKiBSZXR1cm46ICBub2Rl
IHVwZGF0ZWQgd2l0aCB2YWx1ZQotICogICAgICAgICAgdG9rIHVwZGF0ZWQKLSAqLwotc3RhdGlj
IHN0cnVjdCBub2RlICoKLXBhcnNlZGVmYXVsdHZhbHVlIChzdHJ1Y3QgdG9rICp0b2ssIHN0cnVj
dCBub2RlICpub2RlKSB7Ci0gIGNoYXIgKnM7Ci0gIGlmICh0b2stPnR5cGUgPT0gVE9LX1NUUklO
RykgewotICAgIHMgPSBtZW1hbGxvYyh0b2stPmxlbiArIDEpOwotICAgIG1lbWNweShzLCB0b2st
PnN0YXJ0LCB0b2stPmxlbik7Ci0gICAgc1t0b2stPmxlbl0gPSAwOwotICAgIGFkZG5vZGUobm9k
ZSwgbmV3YXR0cigic3RyaW5ndmFsdWUiLCBzKSk7Ci0gICAgbGV4bm9jb21tZW50KCk7Ci0gICAg
cmV0dXJuIG5vZGU7Ci0gIH0gZWxzZSB7Ci0gICAgcmV0dXJuIHBhcnNlY29uc3RleHByKHRvaywg
bm9kZSk7Ci0gIH0KLX0KLQotCi0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogcGFyc2VkaWN0aW9uYXJ5
bWVtYmVyIDogcGFyc2UgRGljdGlvbmFyeU1lbWJlcgotICoKLSAqIEVudGVyOiAgIHRvayA9IG5l
eHQgdG9rZW4KLSAqICAgICAgICAgIGVhbCA9IDAgZWxzZSBleHRlbmRlZCBhdHRyaWJ1dGUgbGlz
dCBub2RlCi0gKgotICogUmV0dXJuOiAgbmV3IG5vZGUKLSAqICAgICAgICAgIHRvayBvbiB0ZXJt
aW5hdGluZyAnOycKLSAqLwotc3RhdGljIHN0cnVjdCBub2RlICoKLXBhcnNlZGljdGlvbmFyeW1l
bWJlcihzdHJ1Y3QgdG9rICp0b2ssIHN0cnVjdCBub2RlICplYWwpCi17Ci0gICAgc3RydWN0IG5v
ZGUgKm5vZGUgPSBuZXdlbGVtZW50KCJEaWN0aW9uYXJ5TWVtYmVyIik7Ci0gICAgaWYgKGVhbCkg
YWRkbm9kZShub2RlLCBlYWwpOwotICAgIHNldGNvbW1lbnRub2RlKG5vZGUpOwotICAgIGFkZG5v
ZGUobm9kZSwgcGFyc2V0eXBlKHRvaykpOwotICAgIGFkZG5vZGUobm9kZSwgbmV3YXR0cigibmFt
ZSIsIHNldGlkZW50aWZpZXIodG9rKSkpOwotICAgIHRvayA9IGxleG5vY29tbWVudCgpOwotICAg
IC8vIE9wdGlvbmFsIHZhbHVlCi0gICAgaWYgKHRvay0+dHlwZSA9PSAnPScpIHsKLSAgICAgIHRv
ayA9IGxleG5vY29tbWVudCgpOwotICAgICAgbm9kZSA9IHBhcnNlZGVmYXVsdHZhbHVlKHRvaywg
bm9kZSk7Ci0gICAgfQotICAgIHJldHVybiBub2RlOwotfQotCi0vKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAq
IHBhcnNlY29uc3QgOiBwYXJzZSBbMTJdIENvbnN0Ci0gKgotICogRW50ZXI6ICAgdG9rID0gbmV4
dCB0b2tlbiwga25vd24gdG8gYmUgVE9LX2NvbnN0Ci0gKiAgICAgICAgICBlYWwgPSAwIGVsc2Ug
ZXh0ZW5kZWQgYXR0cmlidXRlIGxpc3Qgbm9kZQotICoKLSAqIFJldHVybjogIG5ldyBub2RlIGZv
ciB0aGUgY29uc3QKLSAqICAgICAgICAgIHRvayBvbiB0ZXJtaW5hdGluZyAnOycKLSAqLwotc3Rh
dGljIHN0cnVjdCBub2RlICoKLXBhcnNlY29uc3Qoc3RydWN0IHRvayAqdG9rLCBzdHJ1Y3Qgbm9k
ZSAqZWFsKQotewotICAgIHN0cnVjdCBub2RlICpub2RlID0gbmV3ZWxlbWVudCgiQ29uc3QiKTsK
LSAgICBzZXRjb21tZW50bm9kZShub2RlKTsKLSAgICBpZiAoZWFsKSBhZGRub2RlKG5vZGUsIGVh
bCk7Ci0gICAgdG9rID0gbGV4bm9jb21tZW50KCk7Ci0gICAgc3dpdGNoKHRvay0+dHlwZSkgewot
ICAgIGNhc2UgVE9LX2Jvb2xlYW46Ci0gICAgY2FzZSBUT0tfYnl0ZToKLSAgICBjYXNlIFRPS19v
Y3RldDoKLSAgICBjYXNlIFRPS19mbG9hdDoKLSAgICBjYXNlIFRPS19kb3VibGU6Ci0gICAgY2Fz
ZSBUT0tfdW5zaWduZWQ6Ci0gICAgY2FzZSBUT0tfdW5yZXN0cmljdGVkOgotICAgIGNhc2UgVE9L
X3Nob3J0OgotICAgIGNhc2UgVE9LX2xvbmc6Ci0gICAgICAgIGFkZG5vZGUobm9kZSwgcGFyc2V0
eXBlKHRvaykpOwotCWJyZWFrOwotICAgIGRlZmF1bHQ6Ci0gICAgICAgIHRva2Vycm9yZXhpdCh0
b2ssICJleHBlY3RlZCBhY2NlcHRhYmxlIGNvbnN0YW50IHR5cGUiKTsKLSAgICAgICAgYnJlYWs7
Ci0gICAgfQotICAgIGFkZG5vZGUobm9kZSwgbmV3YXR0cigibmFtZSIsIHNldGlkZW50aWZpZXIo
dG9rKSkpOwotICAgIHRvayA9IGxleG5vY29tbWVudCgpOwotICAgIGVhdCh0b2ssICc9Jyk7Ci0g
ICAgbm9kZSA9IHBhcnNlY29uc3RleHByKHRvaywgbm9kZSk7Ci0gICAgcmV0dXJuIG5vZGU7Ci19
Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKgotICogcGFyc2VpbXBsZW1lbnRzc3RhdGVtZW50IDogcGFyc2Ug
WzExXSBJbXBsZW1lbnRzU3RhdGVtZW50Ci0gKgotICogRW50ZXI6ICAgdG9rID0gbmV4dCB0b2tl
biwga25vd24gdG8gYmUgOjogb3IgVE9LX0lERU5USUZJRVIKLSAqICAgICAgICAgIGVhbCA9IDAg
ZWxzZSBleHRlbmRlZCBhdHRyaWJ1dGUgbGlzdCBub2RlCi0gKgotICogUmV0dXJuOiAgbmV3IG5v
ZGUgZm9yIHRoZSB0eXBlZGVmCi0gKiAgICAgICAgICB0b2sgdXBkYXRlZCB0byB0aGUgdGVybWlu
YXRpbmcgJzsnCi0gKi8KLXN0YXRpYyBzdHJ1Y3Qgbm9kZSAqCi1wYXJzZWltcGxlbWVudHNzdGF0
ZW1lbnQoc3RydWN0IHRvayAqdG9rLCBzdHJ1Y3Qgbm9kZSAqZWFsKQotewotICAgIHN0cnVjdCBu
b2RlICpub2RlID0gbmV3ZWxlbWVudCgiSW1wbGVtZW50cyIpOwotICAgIHNldGNvbW1lbnRub2Rl
KG5vZGUpOwotICAgIGlmIChlYWwpIGFkZG5vZGUobm9kZSwgZWFsKTsKLSAgICBhZGRub2RlKG5v
ZGUsIHBhcnNlc2NvcGVkbmFtZSh0b2ssICJuYW1lMSIsIDEpKTsKLSAgICBlYXQodG9rLCBUT0tf
aW1wbGVtZW50cyk7Ci0gICAgYWRkbm9kZShub2RlLCBwYXJzZXNjb3BlZG5hbWUodG9rLCAibmFt
ZTIiLCAxKSk7Ci0gICAgcmV0dXJuIG5vZGU7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogcGFy
c2V0eXBlZGVmIDogcGFyc2UgWzEwXSBUeXBlZGVmCi0gKgotICogRW50ZXI6ICAgdG9rID0gbmV4
dCB0b2tlbiwga25vd24gdG8gYmUgVE9LX3R5cGVkZWYKLSAqICAgICAgICAgIGVhbCA9IDAgZWxz
ZSBleHRlbmRlZCBhdHRyaWJ1dGUgbGlzdCBub2RlCi0gKgotICogUmV0dXJuOiAgbmV3IG5vZGUg
Zm9yIHRoZSB0eXBlZGVmCi0gKiAgICAgICAgICB0b2sgdXBkYXRlZCB0byB0aGUgdGVybWluYXRp
bmcgJzsnCi0gKi8KLXN0YXRpYyBzdHJ1Y3Qgbm9kZSAqCi1wYXJzZXR5cGVkZWYoc3RydWN0IHRv
ayAqdG9rLCBzdHJ1Y3Qgbm9kZSAqZWFsKQotewotc3RydWN0IG5vZGUgKmVhbHR5cGU7Ci1zdHJ1
Y3Qgbm9kZSAqdHlwZW5vZGU7Ci0gICAgc3RydWN0IG5vZGUgKm5vZGUgPSBuZXdlbGVtZW50KCJU
eXBlZGVmIik7Ci0gICAgc2V0Y29tbWVudG5vZGUobm9kZSk7Ci0gICAgaWYgKGVhbCkgYWRkbm9k
ZShub2RlLCBlYWwpOwotICAgIHRvayA9IGxleG5vY29tbWVudCgpOwotICAgIGVhbHR5cGUgPSBw
YXJzZWV4dGVuZGVkYXR0cmlidXRlbGlzdCh0b2spOwotICAgIHR5cGVub2RlID0gcGFyc2V0eXBl
KHRvayk7Ci0gICAgaWYgKGVhbHR5cGUpIGFkZG5vZGUodHlwZW5vZGUsIGVhbHR5cGUpOwotICAg
IGFkZG5vZGUobm9kZSwgdHlwZW5vZGUpOwotICAgIGFkZG5vZGUobm9kZSwgbmV3YXR0cigibmFt
ZSIsIHNldGlkZW50aWZpZXIodG9rKSkpOwotICAgIHRvayA9IGxleG5vY29tbWVudCgpOwotICAg
IHJldHVybiBub2RlOwotfQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIHBhcnNlZXhjZXB0aW9uIDog
cGFyc2UgWzhdIEV4Y2VwdGlvbgotICoKLSAqIEVudGVyOiAgIHRvayA9IG5leHQgdG9rZW4sIGtu
b3duIHRvIGJlIFRPS19leGNlcHRpb24KLSAqICAgICAgICAgIGVhbCA9IDAgZWxzZSBleHRlbmRl
ZCBhdHRyaWJ1dGUgbGlzdCBub2RlCi0gKgotICogUmV0dXJuOiAgbmV3IG5vZGUgZm9yIHRoZSBl
eGNlcHRpb24KLSAqICAgICAgICAgIHRvayB1cGRhdGVkIHRvIHRoZSB0ZXJtaW5hdGluZyAnOycK
LSAqLwotc3RhdGljIHN0cnVjdCBub2RlICoKLXBhcnNlZXhjZXB0aW9uKHN0cnVjdCB0b2sgKnRv
aywgc3RydWN0IG5vZGUgKmVhbCkKLXsKLSAgICBzdHJ1Y3Qgbm9kZSAqbm9kZSA9IG5ld2VsZW1l
bnQoIkV4Y2VwdGlvbiIpOwotICAgIHNldGNvbW1lbnRub2RlKG5vZGUpOwotICAgIGlmIChlYWwp
IGFkZG5vZGUobm9kZSwgZWFsKTsKLSAgICB0b2sgPSBsZXhub2NvbW1lbnQoKTsKLSAgICBhZGRu
b2RlKG5vZGUsIG5ld2F0dHIoIm5hbWUiLCBzZXRpZGVudGlmaWVyKHRvaykpKTsKLSAgICBsZXhu
b2NvbW1lbnQoKTsKLSAgICBpZiAodG9rLT50eXBlID09ICc6JykgewotICAgICAgICBsZXhub2Nv
bW1lbnQoKTsKLSAgICAgICAgYWRkbm9kZShub2RlLCBwYXJzZXNjb3BlZG5hbWVsaXN0KHRvaywg
IkV4Y2VwdGlvbkluaGVyaXRhbmNlIiwgIk5hbWUiLCAxKSk7Ci0gICAgfQotICAgIGVhdCh0b2ss
ICd7Jyk7Ci0gICAgd2hpbGUgKHRvay0+dHlwZSAhPSAnfScpIHsKLSAgICAgICAgY29uc3QgY2hh
ciAqc3RhcnQgPSB0b2stPnByZXN0YXJ0OwotICAgICAgICBzdHJ1Y3Qgbm9kZSAqbm9kZTI7Ci0g
ICAgICAgIHN0cnVjdCBub2RlICplYWwgPSBwYXJzZWV4dGVuZGVkYXR0cmlidXRlbGlzdCh0b2sp
OwotICAgICAgICBpZiAodG9rLT50eXBlID09IFRPS19jb25zdCkKLSAgICAgICAgICAgIG5vZGUy
ID0gcGFyc2Vjb25zdCh0b2ssIGVhbCk7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIG5vZGUy
ID0gcGFyc2VleGNlcHRpb25maWVsZCh0b2ssIGVhbCk7Ci0gICAgICAgIGFkZG5vZGUobm9kZSwg
bm9kZTIpOwotICAgICAgICBub2RlMi0+d3NzdGFydCA9IHN0YXJ0OwotICAgICAgICBub2RlMi0+
ZW5kID0gdG9rLT5zdGFydCArIHRvay0+bGVuOwotICAgICAgICBzZXRpZChub2RlMik7Ci0gICAg
ICAgIGVhdCh0b2ssICc7Jyk7Ci0gICAgfQotICAgIGxleG5vY29tbWVudCgpOwotICAgIHJldHVy
biBub2RlOwotfQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIHBhcnNlaW50ZXJmYWNlIDogcGFyc2Ug
WzRdIEludGVyZmFjZQotICoKLSAqIEVudGVyOiAgIHRvayA9IG5leHQgdG9rZW4sIGtub3duIHRv
IGJlIFRPS19pbnRlcmZhY2UKLSAqICAgICAgICAgIGVhbCA9IDAgZWxzZSBleHRlbmRlZCBhdHRy
aWJ1dGUgbGlzdCBub2RlCi0gKgotICogUmV0dXJuOiAgbmV3IG5vZGUgZm9yIHRoZSBpbnRlcmZh
Y2UKLSAqICAgICAgICAgIHRvayB1cGRhdGVkIHRvIHRoZSB0ZXJtaW5hdGluZyAnOycKLSAqLwot
c3RhdGljIHN0cnVjdCBub2RlICoKLXBhcnNlaW50ZXJmYWNlKHN0cnVjdCB0b2sgKnRvaywgc3Ry
dWN0IG5vZGUgKmVhbCkKLXsKLSAgICBzdHJ1Y3Qgbm9kZSAqbm9kZSA9IG5ld2VsZW1lbnQoIklu
dGVyZmFjZSIpOwotICAgIGlmIChlYWwpIGFkZG5vZGUobm9kZSwgZWFsKTsKLSAgICBzZXRjb21t
ZW50bm9kZShub2RlKTsKLSAgICB0b2sgPSBsZXhub2NvbW1lbnQoKTsKLSAgICBhZGRub2RlKG5v
ZGUsIG5ld2F0dHIoIm5hbWUiLCBzZXRpZGVudGlmaWVyKHRvaykpKTsKLSAgICB0b2sgPSBsZXhu
b2NvbW1lbnQoKTsKLSAgICBpZiAodG9rLT50eXBlID09ICc6JykgewotICAgICAgICBsZXhub2Nv
bW1lbnQoKTsKLSAgICAgICAgYWRkbm9kZShub2RlLCBwYXJzZXNjb3BlZG5hbWVsaXN0KHRvaywg
IkludGVyZmFjZUluaGVyaXRhbmNlIiwgIk5hbWUiLCAxKSk7Ci0gICAgfQotICAgIGVhdCh0b2ss
ICd7Jyk7Ci0gICAgd2hpbGUgKHRvay0+dHlwZSAhPSAnfScpIHsKLSAgICAgICAgY29uc3QgY2hh
ciAqc3RhcnQgPSB0b2stPnByZXN0YXJ0OwotICAgICAgICBzdHJ1Y3Qgbm9kZSAqZWFsID0gcGFy
c2VleHRlbmRlZGF0dHJpYnV0ZWxpc3QodG9rKTsKLSAgICAgICAgc3RydWN0IG5vZGUgKm5vZGUy
OwotICAgICAgICBpZiAodG9rLT50eXBlID09IFRPS19jb25zdCkKLSAgICAgICAgICAgIGFkZG5v
ZGUobm9kZSwgbm9kZTIgPSBwYXJzZWNvbnN0KHRvaywgZWFsKSk7Ci0gICAgICAgIGVsc2UKLSAg
ICAgICAgICAgIGFkZG5vZGUobm9kZSwgbm9kZTIgPSBwYXJzZWF0dHJpYnV0ZW9yb3BlcmF0aW9u
b3JpdGVyYXRvcih0b2ssIGVhbCkpOwotICAgICAgICBub2RlMi0+d3NzdGFydCA9IHN0YXJ0Owot
ICAgICAgICBub2RlMi0+ZW5kID0gdG9rLT5zdGFydCArIHRvay0+bGVuOwotICAgICAgICBzZXRp
ZChub2RlMik7Ci0gICAgICAgIGVhdCh0b2ssICc7Jyk7Ci0gICAgfQotICAgIGxleG5vY29tbWVu
dCgpOwotICAgIHJldHVybiBub2RlOwotfQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIHBhcnNlY2Fs
bGJhY2sgOiBwYXJzZSBDYWxsYmFjawotICoKLSAqIEVudGVyOiAgIHRvayA9IG5leHQgdG9rZW4s
IGtub3duIHRvIGJlIFRPS19kaWN0aW9uYXJ5Ci0gKiAgICAgICAgICBlYWwgPSAwIGVsc2UgZXh0
ZW5kZWQgYXR0cmlidXRlIGxpc3Qgbm9kZQotICoKLSAqIFJldHVybjogIG5ldyBub2RlIGZvciB0
aGUgZW51bQotICogICAgICAgICAgdG9rIHVwZGF0ZWQgdG8gdGhlIHRlcm1pbmF0aW5nICc7Jwot
ICovCi1zdGF0aWMgc3RydWN0IG5vZGUgKgotcGFyc2VjYWxsYmFjayhzdHJ1Y3QgdG9rICp0b2ss
IHN0cnVjdCBub2RlICplYWwpCi17Ci0gIHN0cnVjdCBub2RlICpub2RlOwotICBpZiAodG9rLT50
eXBlID09IFRPS19pbnRlcmZhY2UpIHsKLSAgICBub2RlID0gcGFyc2VpbnRlcmZhY2UodG9rLCBl
YWwpOwotICAgIGFkZG5vZGUobm9kZSwgbmV3YXR0cigiY2FsbGJhY2siLCAiY2FsbGJhY2siKSk7
ICAgIAotICB9IGVsc2UgewotICAgIG5vZGUgPSBuZXdlbGVtZW50KCJDYWxsYmFjayIpOwotICAg
IGlmIChlYWwpIGFkZG5vZGUobm9kZSwgZWFsKTsKLSAgICBzZXRjb21tZW50bm9kZShub2RlKTsK
LSAgICBhZGRub2RlKG5vZGUsIG5ld2F0dHIoIm5hbWUiLCBzZXRpZGVudGlmaWVyKHRvaykpKTsK
LSAgICB0b2sgPSBsZXhub2NvbW1lbnQoKTsKLSAgICBlYXQodG9rLCAnPScpOwotICAgIGFkZG5v
ZGUobm9kZSwgcGFyc2VyZXR1cm50eXBlKHRvaykpOwotICAgIGVhdCh0b2ssICcoJyk7Ci0gICAg
YWRkbm9kZShub2RlLCBwYXJzZWFyZ3VtZW50bGlzdCh0b2spKTsKLSAgICBlYXQodG9rLCAnKScp
OwotICB9Ci0gIHJldHVybiBub2RlOwotfQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIHBhcnNlZGlj
dGlvbmFyeSA6IHBhcnNlIERpY3Rpb25hcnkKLSAqCi0gKiBFbnRlcjogICB0b2sgPSBuZXh0IHRv
a2VuLCBrbm93biB0byBiZSBUT0tfZGljdGlvbmFyeQotICogICAgICAgICAgZWFsID0gMCBlbHNl
IGV4dGVuZGVkIGF0dHJpYnV0ZSBsaXN0IG5vZGUKLSAqCi0gKiBSZXR1cm46ICBuZXcgbm9kZSBm
b3IgdGhlIGRpY3Rpb25hcnkKLSAqICAgICAgICAgIHRvayB1cGRhdGVkIHRvIHRoZSB0ZXJtaW5h
dGluZyAnOycKLSAqLwotc3RhdGljIHN0cnVjdCBub2RlICoKLXBhcnNlZGljdGlvbmFyeShzdHJ1
Y3QgdG9rICp0b2ssIHN0cnVjdCBub2RlICplYWwpCi17Ci0gICAgc3RydWN0IG5vZGUgKm5vZGUg
PSBuZXdlbGVtZW50KCJEaWN0aW9uYXJ5Iik7Ci0gICAgaWYgKGVhbCkgYWRkbm9kZShub2RlLCBl
YWwpOwotICAgIHNldGNvbW1lbnRub2RlKG5vZGUpOwotICAgIHRvayA9IGxleG5vY29tbWVudCgp
OwotICAgIGFkZG5vZGUobm9kZSwgbmV3YXR0cigibmFtZSIsIHNldGlkZW50aWZpZXIodG9rKSkp
OwotICAgIHRvayA9IGxleG5vY29tbWVudCgpOwotICAgIGlmICh0b2stPnR5cGUgPT0gJzonKSB7
Ci0gICAgICAgIGxleG5vY29tbWVudCgpOwotICAgICAgICBhZGRub2RlKG5vZGUsIHBhcnNlc2Nv
cGVkbmFtZWxpc3QodG9rLCAiRGljdGlvbmFyeUluaGVyaXRhbmNlIiwgIk5hbWUiLCAxKSk7Ci0g
ICAgfQotICAgIGVhdCh0b2ssICd7Jyk7Ci0gICAgd2hpbGUgKHRvay0+dHlwZSAhPSAnfScpIHsK
LSAgICAgICAgY29uc3QgY2hhciAqc3RhcnQgPSB0b2stPnByZXN0YXJ0OwotICAgICAgICBzdHJ1
Y3Qgbm9kZSAqZWFsID0gcGFyc2VleHRlbmRlZGF0dHJpYnV0ZWxpc3QodG9rKTsKLSAgICAgICAg
c3RydWN0IG5vZGUgKm5vZGUyOwotICAgICAgICBpZiAodG9rLT50eXBlID09IFRPS19jb25zdCkK
LSAgICAgICAgICAgIGFkZG5vZGUobm9kZSwgbm9kZTIgPSBwYXJzZWNvbnN0KHRvaywgZWFsKSk7
Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIGFkZG5vZGUobm9kZSwgbm9kZTIgPSBwYXJzZWRp
Y3Rpb25hcnltZW1iZXIodG9rLCBlYWwpKTsKLSAgICAgICAgbm9kZTItPndzc3RhcnQgPSBzdGFy
dDsKLSAgICAgICAgbm9kZTItPmVuZCA9IHRvay0+c3RhcnQgKyB0b2stPmxlbjsKLSAgICAgICAg
c2V0aWQobm9kZTIpOwotICAgICAgICBlYXQodG9rLCAnOycpOwotICAgIH0KLSAgICBsZXhub2Nv
bW1lbnQoKTsKLSAgICByZXR1cm4gbm9kZTsKLX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBwYXJz
ZWVudW0gOiBwYXJzZSBFbnVtCi0gKgotICogRW50ZXI6ICAgdG9rID0gbmV4dCB0b2tlbiwga25v
d24gdG8gYmUgVE9LX2RpY3Rpb25hcnkKLSAqICAgICAgICAgIGVhbCA9IDAgZWxzZSBleHRlbmRl
ZCBhdHRyaWJ1dGUgbGlzdCBub2RlCi0gKgotICogUmV0dXJuOiAgbmV3IG5vZGUgZm9yIHRoZSBl
bnVtCi0gKiAgICAgICAgICB0b2sgdXBkYXRlZCB0byB0aGUgdGVybWluYXRpbmcgJzsnCi0gKi8K
LXN0YXRpYyBzdHJ1Y3Qgbm9kZSAqCi1wYXJzZWVudW0oc3RydWN0IHRvayAqdG9rLCBzdHJ1Y3Qg
bm9kZSAqZWFsKQotewotCWNoYXIgKnM7Ci0gICAgc3RydWN0IG5vZGUgKm5vZGUgPSBuZXdlbGVt
ZW50KCJFbnVtIik7Ci0gICAgaWYgKGVhbCkgYWRkbm9kZShub2RlLCBlYWwpOwotICAgIHNldGNv
bW1lbnRub2RlKG5vZGUpOwotICAgIHRvayA9IGxleG5vY29tbWVudCgpOwotICAgIGFkZG5vZGUo
bm9kZSwgbmV3YXR0cigibmFtZSIsIHNldGlkZW50aWZpZXIodG9rKSkpOwotICAgIHRvayA9IGxl
eG5vY29tbWVudCgpOwotICAgIGVhdCh0b2ssICd7Jyk7Ci0gICAgd2hpbGUgKHRvay0+dHlwZSAh
PSAnfScpIHsKLSAgICAgIGlmICh0b2stPnR5cGUgPT0gVE9LX1NUUklORykgewotCWNvbnN0IGNo
YXIgKnN0YXJ0ID0gdG9rLT5wcmVzdGFydDsKLQlzdHJ1Y3Qgbm9kZSAqbm9kZTIgPSBuZXdlbGVt
ZW50KCJFbnVtVmFsdWUiKTsKLQlzZXRjb21tZW50bm9kZShub2RlMik7Ci0JCi0JcyA9IG1lbWFs
bG9jKHRvay0+bGVuICsgMSk7Ci0JbWVtY3B5KHMsIHRvay0+c3RhcnQsIHRvay0+bGVuKTsKLQlz
W3Rvay0+bGVuXSA9IDA7Ci0JYWRkbm9kZShub2RlMiwgbmV3YXR0cigic3RyaW5ndmFsdWUiLCBz
KSk7Ci0gICAgICAgIG5vZGUyLT53c3N0YXJ0ID0gc3RhcnQ7Ci0gICAgICAgIG5vZGUyLT5lbmQg
PSB0b2stPnN0YXJ0ICsgdG9rLT5sZW47Ci0gICAgICAgIHNldGlkKG5vZGUyKTsKLQlhZGRub2Rl
KG5vZGUsIG5vZGUyKTsKLSAgICAgIH0gZWxzZSB7Ci0JdG9rZXJyb3JleGl0KHRvaywgImV4cGVj
dGVkIHN0cmluZyBpbiBlbnVtIik7Ci0gICAgICB9Ci0gICAgICBsZXhub2NvbW1lbnQoKTsKLSAg
ICAgIGlmICh0b2stPnR5cGUgPT0gJywnKSB7Ci0JbGV4bm9jb21tZW50KCk7Ci0gICAgICB9Ci0g
ICAgfQotICAgIGVhdCh0b2ssICd9Jyk7Ci0gICAgcmV0dXJuIG5vZGU7Ci19Ci0KLS8qKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKgotICogcGFyc2VkZWZpbml0aW9ucyA6IHBhcnNlIFsxXSBEZWZpbml0aW9ucwotICoK
LSAqIEVudGVyOiAgIHRvayA9IG5leHQgdG9rZW4KLSAqICAgICAgICAgIHBhcmVudCA9IHBhcmVu
dCBub2RlIHRvIGFkZCBkZWZpbml0aW9ucyB0bwotICoKLSAqIE9uIHJldHVybiwgdG9rIGhhcyBi
ZWVuIHVwZGF0ZWQuCi0gKi8KLXN0YXRpYyB2b2lkCi1wYXJzZWRlZmluaXRpb25zKHN0cnVjdCB0
b2sgKnRvaywgc3RydWN0IG5vZGUgKnBhcmVudCkKLXsKLSAgICBwYXJlbnQtPndzc3RhcnQgPSB0
b2stPnByZXN0YXJ0OwotICAgIGZvciAoOzspIHsKLSAgICAgICAgY29uc3QgY2hhciAqd3NzdGFy
dCA9IHRvay0+cHJlc3RhcnQ7Ci0gICAgICAgIHN0cnVjdCBub2RlICplYWwgPSBwYXJzZWV4dGVu
ZGVkYXR0cmlidXRlbGlzdCh0b2spOwotICAgICAgICBzdHJ1Y3Qgbm9kZSAqbm9kZTsKLSAgICAg
ICAgc3dpdGNoICh0b2stPnR5cGUpIHsKLSAgICAgICAgY2FzZSBUT0tfcGFydGlhbDoKLQkgICAg
ZWF0KHRvaywgVE9LX3BhcnRpYWwpOwotCSAgICBpZiAodG9rLT50eXBlID09IFRPS19kaWN0aW9u
YXJ5KSB7Ci0JICAgICAgbm9kZSA9IHBhcnNlZGljdGlvbmFyeSh0b2ssIGVhbCk7Ci0JICAgIH0g
ZWxzZSB7Ci0JICAgICAgbm9kZSA9IHBhcnNlaW50ZXJmYWNlKHRvaywgZWFsKTsKLQkgICAgfQot
CSAgICBhZGRub2RlKG5vZGUsIG5ld2F0dHIoInBhcnRpYWwiLCAicGFydGlhbCIpKTsKLSAgICAg
ICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlIFRPS19pbnRlcmZhY2U6Ci0gIAkgICAgbm9kZSA9
IHBhcnNlaW50ZXJmYWNlKHRvaywgZWFsKTsKLSAgICAgICAgICAgIGJyZWFrOwotCWNhc2UgVE9L
X2NhbGxiYWNrOgotCSAgICBlYXQodG9rLCBUT0tfY2FsbGJhY2spOwotCSAgICBub2RlID0gcGFy
c2VjYWxsYmFjayh0b2ssIGVhbCk7Ci0gICAgICAgICAgICBicmVhazsKLQljYXNlIFRPS19kaWN0
aW9uYXJ5OgotICAgICAgICAgICAgbm9kZSA9IHBhcnNlZGljdGlvbmFyeSh0b2ssIGVhbCk7Ci0g
ICAgICAgICAgICBicmVhazsJICAKLQljYXNlIFRPS19lbnVtOgotICAgICAgICAgICAgbm9kZSA9
IHBhcnNlZW51bSh0b2ssIGVhbCk7Ci0gICAgICAgICAgICBicmVhazsJICAKLSAgICAgICAgY2Fz
ZSBUT0tfZXhjZXB0aW9uOgotICAgICAgICAgICAgbm9kZSA9IHBhcnNlZXhjZXB0aW9uKHRvaywg
ZWFsKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlIFRPS190eXBlZGVmOgotICAg
ICAgICAgICAgbm9kZSA9IHBhcnNldHlwZWRlZih0b2ssIGVhbCk7Ci0gICAgICAgICAgICBicmVh
azsKLSAgICAgICAgY2FzZSBUT0tfSURFTlRJRklFUjoKLSAgICAgICAgICAgIG5vZGUgPSBwYXJz
ZWltcGxlbWVudHNzdGF0ZW1lbnQodG9rLCBlYWwpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAg
ICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICBpZiAoZWFsKQotICAgICAgICAgICAgICAgIHRva2Vy
cm9yZXhpdCh0b2ssICJleHBlY3RlZCBkZWZpbml0aW9uIGFmdGVyIGV4dGVuZGVkIGF0dHJpYnV0
ZSBsaXN0Iik7Ci0gICAgICAgICAgICBub2RlID0gMDsKLSAgICAgICAgICAgIGJyZWFrOwotICAg
ICAgICB9Ci0gICAgICAgIGlmICghbm9kZSkKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBu
b2RlLT53c3N0YXJ0ID0gd3NzdGFydDsKLSAgICAgICAgbm9kZS0+ZW5kID0gdG9rLT5zdGFydCAr
IHRvay0+bGVuOwotICAgICAgICBlYXQodG9rLCAnOycpOwotICAgICAgICBhZGRub2RlKHBhcmVu
dCwgbm9kZSk7Ci0gICAgICAgIHNldGlkKG5vZGUpOwotICAgICAgICBwYXJlbnQtPmVuZCA9IG5v
ZGUtPmVuZDsKLSAgICB9Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogcGFyc2UKLSAqCi0gKiBS
ZXR1cm46ICByb290IGVsZW1lbnQgY29udGFpbmluZyAocG9zc2libHkgZW1wdHkpIGxpc3Qgb2Yg
ZGVmaW5pdGlvbnMKLSAqLwotc3RydWN0IG5vZGUgKgotcGFyc2Uodm9pZCkKLXsKLQlzdHJ1Y3Qg
dG9rICp0b2s7IAotICAgIHN0cnVjdCBub2RlICpyb290ID0gbmV3ZWxlbWVudCgiRGVmaW5pdGlv
bnMiKTsKLSAgICBzZXRjb21tZW50bm9kZShyb290KTsKLSAgICB0b2sgPSBsZXhub2NvbW1lbnQo
KTsKLSAgICBwYXJzZWRlZmluaXRpb25zKHRvaywgcm9vdCk7Ci0gICAgaWYgKHRvay0+dHlwZSAh
PSBUT0tfRU9GKQotICAgICAgICB0b2tlcnJvcmV4aXQodG9rLCAiZXhwZWN0ZWQgZW5kIG9mIGlu
cHV0Iik7Ci0gICAgcmV2ZXJzZWNoaWxkcmVuKHJvb3QpOwotICAgIHJldHVybiByb290OwotfQot
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mvc3JjL3BhcnNlLmggYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
d2lkbHByb2Mvc3JjL3BhcnNlLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGFkOTA3
MWI0NTNlLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mvc3JjL3BhcnNlLmgK
KysrIC9kZXYvbnVsbApAQCAtMSwxOSArMCwwIEBACi0vKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqICRJZCQK
LSAqIENvcHlyaWdodCAyMDA5IEFwbGl4IENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgotICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhl
ICJMaWNlbnNlIik7Ci0gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21w
bGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCi0gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhl
IExpY2Vuc2UgYXQKLSAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5T
RS0yLjAKLSAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8g
aW4gd3JpdGluZywgc29mdHdhcmUKLSAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlz
IGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCi0gKiBXSVRIT1VUIFdBUlJBTlRJRVMg
T1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KLSAq
IFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJt
aXNzaW9ucyBhbmQKLSAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgotICoqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqLwotI2lmbmRlZiBwYXJzZV9oCi0jZGVmaW5lIHBhcnNlX2gKLQotc3RydWN0IG5vZGUg
KnBhcnNlKHZvaWQpOwotCi0jZW5kaWYgLyogbmRlZiBwYXJzZV9oICovCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3Qvd2lkbHByb2Mvc3JjL3Byb2Nlc3MuYyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9zcmMv
cHJvY2Vzcy5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkNmEzNDNiOGFhMC4uMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3NyYy9wcm9jZXNzLmMKKysrIC9kZXYv
bnVsbApAQCAtMSwzMTkgKzAsMCBAQAotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiAkSWQkCi0gKiBDb3B5
cmlnaHQgMjAwOSBBcGxpeCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIExp
Y2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5z
ZSIpOwotICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3
aXRoIHRoZSBMaWNlbnNlLgotICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNl
IGF0Ci0gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCi0g
KiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRp
bmcsIHNvZnR3YXJlCi0gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmli
dXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAotICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJ
VElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCi0gKiBTZWUgdGhl
IExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMg
YW5kCi0gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KLSAqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8K
LSNpbmNsdWRlIDxhc3NlcnQuaD4KLSNpbmNsdWRlIDxzdGRpby5oPgotI2luY2x1ZGUgPHN0cmlu
Zy5oPgotI2luY2x1ZGUgImNvbW1lbnQuaCIKLSNpbmNsdWRlICJsZXguaCIKLSNpbmNsdWRlICJt
aXNjLmgiCi0jaW5jbHVkZSAibm9kZS5oIgotI2luY2x1ZGUgIm9zLmgiCi0jaW5jbHVkZSAicGFy
c2UuaCIKLSNpbmNsdWRlICJwcm9jZXNzLmgiCi0KLSNpZiAwCi1zdGF0aWMgY29uc3QgY2hhciBu
dG5hbWVzW10gPSB7IE5UTkFNRVMgfTsKLSNlbmRpZiAvKjAqLwotCi0vKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioK
LSAqIHByaW50dGV4dCA6IHByaW50IHRleHQgd2l0aCB4bWwgZW50aXR5IGVzY2FwZXMKLSAqCi0g
KiBFbnRlcjogICBzID0gdGV4dAotICogICAgICAgICAgbGVuID0gbnVtYmVyIG9mIGJ5dGVzCi0g
KiAgICAgICAgICBlc2NhbXAgPSB3aGV0aGVyIHRvIGVzY2FwZSAmCi0gKgotICogVGhpcyBhbHNv
IGVzY2FwZXMgZG91YmxlIHF1b3RlIG1hcmsgc28gaXQgY2FuIGJlIHVzZWQgZm9yIGFuCi0gKiBh
dHRyaWJ1dGUgdmFsdWUuIEl0IGFsc28gdHVybnMgYSB0YWIgaW50byBzcGFjZXMuCi0gKi8KLXZv
aWQKLXByaW50dGV4dChjb25zdCBjaGFyICpzLCB1bnNpZ25lZCBpbnQgbGVuLCBpbnQgZXNjYW1w
KQotewotICAgIGNvbnN0IGNoYXIgKnAgPSBzLCAqZW5kID0gcyArIGxlbjsKLSAgICB1bnNpZ25l
ZCBpbnQgY291bnQgPSAwOwotICAgIHdoaWxlIChwICE9IGVuZCkgewotICAgICAgICBpbnQgY2gg
PSAqcDsKLSAgICAgICAgY2hhciBidWZbOV07Ci0gICAgICAgIGNvbnN0IGNoYXIgKnNlcSA9IDA7
Ci0gICAgICAgIGNvdW50Kys7Ci0gICAgICAgIHN3aXRjaCAoY2gpIHsKLSAgICAgICAgY2FzZSAn
PCc6Ci0gICAgICAgICAgICBzZXEgPSAiJmx0OyI7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAg
ICAgY2FzZSAnJic6Ci0gICAgICAgICAgICBzZXEgPSBlc2NhbXAgPyAiJmFtcDsiIDogIiYiOwot
ICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgJyInOgotICAgICAgICAgICAgc2VxID0g
IiZxdW90OyI7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSAnXG4nOgotICAgICAg
ICAgICAgcCsrOwotICAgICAgICAgICAgY291bnQgPSAwOwotICAgICAgICAgICAgY29udGludWU7
Ci0gICAgICAgIGNhc2UgJ1x0JzoKLSAgICAgICAgICAgIHNlcSA9ICIgICAgICAgICIgKyAoKGNv
dW50IC0gMSkgJiA3KTsKLSAgICAgICAgICAgIGNvdW50ID0gMDsKLSAgICAgICAgICAgIGJyZWFr
OwotICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgaWYgKCh1bnNpZ25lZCBjaGFyKWNoID49
IDB4MjApIHsKLSAgICAgICAgICAgICAgICBwKys7Ci0gICAgICAgICAgICAgICAgY29udGludWU7
Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBzbnByaW50ZihidWYsIDksICImIyVpOyIsIGNo
KTsKLSAgICAgICAgICAgIHNlcSA9IGJ1ZjsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9
Ci0gICAgICAgIGlmIChwIC0gcyAhPSBmd3JpdGUocywgMSwgcCAtIHMsIHN0ZG91dCkpCi0gICAg
ICAgICAgICBlcnJvcmV4aXQoIndyaXRlIGVycm9yIik7Ci0gICAgICAgIGZwdXRzKHNlcSwgc3Rk
b3V0KTsKLSAgICAgICAgcyA9ICsrcDsKLSAgICB9Ci0gICAgaWYgKHAgLSBzICE9IGZ3cml0ZShz
LCAxLCBwIC0gcywgc3Rkb3V0KSkKLSAgICAgICAgZXJyb3JleGl0KCJ3cml0ZSBlcnJvciIpOwot
fQotCi0jaWYgMAotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBvdXRwdXRub2RlYXN0ZXh0IDogb3V0cHV0
IHBhcnNlIG5vZGUgYW5kIGRlc2NlbmRhbnRzIGFzIGRlcGFyc2VkIHRleHQKLSAqCi0gKiBFbnRl
cjogICBub2RlID0gcGFyc2Ugbm9kZQotICogICAgICAgICAgbmVlZHNwYWNlID0gdHJ1ZSBpZiBs
YXN0IG91dHB1dCBjaGFyIHdhcyBhbiBpZGVudGlmaWVyIGNoYXIKLSAqCi0gKiBSZXR1cm46ICB1
cGRhdGVkIG5lZWRzcGFjZSB2YWx1ZQotICovCi1zdGF0aWMgaW50Ci1vdXRwdXRub2RlYXN0ZXh0
KHN0cnVjdCBub2RlICpub2RlLCBpbnQgbmVlZHNwYWNlKQotewotICAgIGlmIChub2RlLT50eXBl
ID49IE5UX1NUQVJUKSB7Ci0gICAgICAgIHN0cnVjdCBub2RlICpjaGlsZCA9IG5vZGUtPmNoaWxk
cmVuOwotICAgICAgICB3aGlsZSAoY2hpbGQpIHsKLSAgICAgICAgICAgIG5lZWRzcGFjZSA9IG91
dHB1dG5vZGVhc3RleHQoY2hpbGQsIG5lZWRzcGFjZSk7Ci0gICAgICAgICAgICBjaGlsZCA9IGNo
aWxkLT5uZXh0OwotICAgICAgICB9Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgdW5zaWduZWQgaW50
IGxlbiA9IHN0cmxlbihub2RlLT5uYW1lKTsKLSAgICAgICAgaWYgKGxlbikgewotICAgICAgICAg
ICAgaW50IGNoID0gbm9kZS0+bmFtZVswXTsKLSAgICAgICAgICAgIGlmIChjaCA9PSAnXycgfHwg
KCh1bnNpZ25lZCkoY2ggLSAnMCcpIDwgMTAKLSAgICAgICAgICAgICAgICAgICAgfHwgKHVuc2ln
bmVkKSgoY2ggJiB+MHgyMCkgLSAnQScpIDwgMjYpKQotICAgICAgICAgICAgewotICAgICAgICAg
ICAgICAgIGlmIChuZWVkc3BhY2UpIHB1dGNoYXIoJyAnKTsKLSAgICAgICAgICAgIH0KLSAgICAg
ICAgICAgIGNoID0gbm9kZS0+bmFtZVtsZW4gLSAxXTsKLSAgICAgICAgICAgIGlmIChjaCA9PSAn
XycgfHwgKCh1bnNpZ25lZCkoY2ggLSAnMCcpIDwgMTAKLSAgICAgICAgICAgICAgICAgICAgfHwg
KHVuc2lnbmVkKSgoY2ggJiB+MHgyMCkgLSAnQScpIDwgMjYpKQotICAgICAgICAgICAgewotICAg
ICAgICAgICAgICAgIG5lZWRzcGFjZSA9IDE7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBw
cmludHRleHQobm9kZS0+bmFtZSwgbGVuLCAxKTsKLSAgICAgICAgfQotICAgIH0KLSAgICByZXR1
cm4gbmVlZHNwYWNlOwotfQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIHByaW50ZnFpZCA6IHByaW50
IGZ1bGx5LXF1YWxpZmllZCBpZAotICoKLSAqIEVudGVyOiAgIG5vZGUgc3RydWN0Ci0gKgotICog
UmV0dXJuOiAgd2hldGhlciBhbnl0aGluZyBwcmludGVkCi0gKi8KLXN0YXRpYyBpbnQKLXByaW50
ZnFpZChzdHJ1Y3Qgbm9kZSAqbm9kZSkKLXsKLSAgICBpbnQgYW55ID0gMDsKLSAgICBzdHJ1Y3Qg
bm9kZSAqaWRlbnRpZmllcjsKLSAgICBpZiAobm9kZS0+cGFyZW50KSB7Ci0gICAgICAgIGFueSA9
IHByaW50ZnFpZChub2RlLT5wYXJlbnQpOwotICAgIH0KLSAgICBzd2l0Y2ggKG5vZGUtPnR5cGUp
IHsKLSAgICBjYXNlIE5UX01vZHVsZToKLSAgICBjYXNlIE5UX0ludGVyZmFjZToKLSAgICBjYXNl
IE5UX1R5cGVkZWY6Ci0gICAgY2FzZSBOVF9PcGVyYXRpb246Ci0gICAgY2FzZSBOVF9BdHRyaWJ1
dGU6Ci0gICAgY2FzZSBOVF9Db25zdDoKLSAgICAgICAgaWYgKGFueSkKLSAgICAgICAgICAgIHBy
aW50ZigiOiIpOwotICAgICAgICAvKiBGaW5kIGlkZW50aWZpZXIgY2hpbGQgaWYgYW55LiAqLwot
ICAgICAgICBpZGVudGlmaWVyID0gbm9kZS0+Y2hpbGRyZW47Ci0gICAgICAgIHdoaWxlIChpZGVu
dGlmaWVyKSB7Ci0gICAgICAgICAgICBpZiAoaWRlbnRpZmllci0+dHlwZSA9PSBUT0tfSURFTlRJ
RklFUikKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGlmIChpZGVudGlmaWVy
LT50eXBlID09IE5UX1R5cGVkZWZSZXN0KSB7Ci0gICAgICAgICAgICAgICAgaWRlbnRpZmllciA9
IGlkZW50aWZpZXItPmNoaWxkcmVuOwotICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAg
ICAgICAgfQotICAgICAgICAgICAgaWRlbnRpZmllciA9IGlkZW50aWZpZXItPm5leHQ7Ci0gICAg
ICAgIH0KLSAgICAgICAgaWYgKGlkZW50aWZpZXIpIHsKLSAgICAgICAgICAgIHByaW50dGV4dChp
ZGVudGlmaWVyLT5uYW1lLCBzdHJsZW4oaWRlbnRpZmllci0+bmFtZSksIDEpOwotICAgICAgICAg
ICAgYW55ID0gMTsKLSAgICAgICAgfQotICAgICAgICBicmVhazsKLSAgICB9Ci0gICAgcmV0dXJu
IGFueTsKLX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBvdXRwdXQgOiBvdXRwdXQgc3VidHJlZSBv
ZiBwYXJzZSB0cmVlCi0gKgotICogRW50ZXI6ICAgbm9kZSA9IHJvb3Qgb2Ygc3VidHJlZQotICog
ICAgICAgICAgZXh0ZW5kZWRhdHRyaWJ1dGVsaXN0ID0gMCBlbHNlIGV4dGVuZGVkIGF0dHJpYnV0
ZSBsaXN0IG5vZGUKLSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFwcGx5aW5n
IHRvIG5vZGUKLSAqICAgICAgICAgIGluZGVudCA9IGluZGVudCAobmVzdGluZykgbGV2ZWwKLSAq
Lwotc3RhdGljIHZvaWQgb3V0cHV0Y2hpbGRyZW4oc3RydWN0IG5vZGUgKm5vZGUsIHN0cnVjdCBu
b2RlICppZGVudGlmaWVyLCB1bnNpZ25lZCBpbnQgaW5kZW50KTsKLQotc3RhdGljIHZvaWQKLW91
dHB1dChzdHJ1Y3Qgbm9kZSAqbm9kZSwgc3RydWN0IG5vZGUgKmV4dGVuZGVkYXR0cmlidXRlbGlz
dCwKLSAgICAgICB1bnNpZ25lZCBpbnQgaW5kZW50KQotewotICAgIGlmIChleHRlbmRlZGF0dHJp
YnV0ZWxpc3QpIHsKLSAgICAgICAgbm9kZS0+d3NzdGFydCA9IGV4dGVuZGVkYXR0cmlidXRlbGlz
dC0+d3NzdGFydDsKLSAgICAgICAgbm9kZS0+c3RhcnQgPSBleHRlbmRlZGF0dHJpYnV0ZWxpc3Qt
PnN0YXJ0OwotICAgIH0KLSAgICBpZiAobm9kZS0+dHlwZSA9PSBOVF9FeHRlbmRlZEF0dHJpYnV0
ZSkgewotICAgICAgICBwcmludGYoIiUqczxFeHRlbmRlZEF0dHJpYnV0ZSB2YWx1ZT1cIiIsIGlu
ZGVudCwgIiIpOwotICAgICAgICBvdXRwdXRub2RlYXN0ZXh0KG5vZGUsIDApOwotICAgICAgICBw
cmludGYoIlwiLz5cbiIpOwotICAgIH0gZWxzZSBpZiAobm9kZS0+dHlwZSA9PSBOVF9Cb29sZWFu
TGl0ZXJhbCkgewotICAgICAgICBwcmludGYoIiUqczxCb29sZWFuTGl0ZXJhbCB2YWx1ZT1cIiVz
XCIvPiIsIGluZGVudCwgIiIsCi0gICAgICAgICAgICBub2RlLT5jaGlsZHJlbi0+bmFtZSk7Ci0g
ICAgfSBlbHNlIGlmIChub2RlLT50eXBlID09IE5UX1JlYWRPbmx5KSB7Ci0gICAgICAgIHByaW50
ZigiJSpzPFJlYWRPbmx5Lz5cbiIsIGluZGVudCwgIiIpOwotICAgIH0gZWxzZSBpZiAobm9kZS0+
dHlwZSA+PSBOVF9TVEFSVCkgewotICAgICAgICBjb25zdCBjaGFyICpudG5hbWU7Ci0gICAgICAg
IC8qIEZpbmQgaWRlbnRpZmllciBjaGlsZCBpZiBhbnkuICovCi0gICAgICAgIHN0cnVjdCBub2Rl
ICppZGVudGlmaWVyID0gbm9kZS0+Y2hpbGRyZW47Ci0gICAgICAgIHdoaWxlIChpZGVudGlmaWVy
KSB7Ci0gICAgICAgICAgICBpZiAoaWRlbnRpZmllci0+dHlwZSA9PSBUT0tfSURFTlRJRklFUikK
LSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGlkZW50aWZpZXIgPSBpZGVudGlm
aWVyLT5uZXh0OwotICAgICAgICB9Ci0gICAgICAgIC8qIEZpbmQgbm9udGVybWluYWwgbmFtZS4g
Ki8KLSAgICAgICAgbnRuYW1lID0gbnRuYW1lcyArIDI7Ci0gICAgICAgIHdoaWxlIChub2RlLT50
eXBlIC0gTlRfU1RBUlQgIT0gKCh1bnNpZ25lZCBjaGFyKW50bmFtZVstMl0gfCAodW5zaWduZWQg
Y2hhciludG5hbWVbLTFdIDw8IDgpKQotICAgICAgICAgICAgbnRuYW1lICs9IHN0cmxlbihudG5h
bWUpICsgMzsKLSAgICAgICAgLyogT3V0cHV0IHN0YXJ0IG9mIGVsZW1lbnQuICovCi0gICAgICAg
IHByaW50ZigiJSpzPCVzIiwgaW5kZW50LCAiIiwgbnRuYW1lKTsKLSAgICAgICAgLyogT3V0cHV0
IGlkZW50aWZpZXIgaWYgYW55IGFzIGF0dHJpYnV0ZS4gKi8KLSAgICAgICAgaWYgKGlkZW50aWZp
ZXIpIHsKLSAgICAgICAgICAgIHByaW50ZigiIGlkZW50aWZpZXI9XCIiKTsKLSAgICAgICAgICAg
IHByaW50dGV4dChpZGVudGlmaWVyLT5uYW1lLCBzdHJsZW4oaWRlbnRpZmllci0+bmFtZSksIDEp
OwotICAgICAgICAgICAgcHJpbnRmKCJcIiIpOwotICAgICAgICB9Ci0gICAgICAgIHN3aXRjaCAo
bm9kZS0+dHlwZSkgewotICAgICAgICBjYXNlIE5UX01vZHVsZToKLSAgICAgICAgY2FzZSBOVF9J
bnRlcmZhY2U6Ci0gICAgICAgIGNhc2UgTlRfVHlwZWRlZjoKLSAgICAgICAgY2FzZSBOVF9Db25z
dDoKLSAgICAgICAgICAgIC8qIE91dHB1dCBmdWxseSBxdWFsaWZpZWQgaWQuICovCi0gICAgICAg
ICAgICBwcmludGYoIiBmcWlkPVwiIik7Ci0gICAgICAgICAgICBwcmludGZxaWQobm9kZSk7Ci0g
ICAgICAgICAgICBwcmludGYoIlwiIik7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgfQot
ICAgICAgICBpZiAoIWlkZW50aWZpZXIgJiYgIWV4dGVuZGVkYXR0cmlidXRlbGlzdCAmJiAhbm9k
ZS0+Y2hpbGRyZW4gJiYgIW5vZGUtPmNvbW1lbnRzKQotICAgICAgICAgICAgcHJpbnRmKCIvPlxu
Iik7Ci0gICAgICAgIGVsc2UgewotICAgICAgICAgICAgcHJpbnRmKCI+XG4iKTsKLSAgICAgICAg
ICAgIC8qIE91dHB1dCBkZXNjcmlwdGl2ZSBlbGVtZW50cyAoZG94eWdlbiBjb21tZW50cykgZm9y
IG5vZGUuICovCi0gICAgICAgICAgICBvdXRwdXRkZXNjcmlwdGl2ZShub2RlLCBpbmRlbnQgKyAy
KTsKLSAgICAgICAgICAgIC8qIE91dHB1dCBkZXNjcmlwdGl2ZSBlbGVtZW50cyAoZG94eWdlbiBj
b21tZW50cykgZm9yIGlkZW50aWZpZXIuICovCi0gICAgICAgICAgICBpZiAoaWRlbnRpZmllcikK
LSAgICAgICAgICAgICAgICBvdXRwdXRkZXNjcmlwdGl2ZShpZGVudGlmaWVyLCBpbmRlbnQgKyAy
KTsKLSAgICAgICAgICAgIC8qIE91dHB1dCBleHRlbmRlZCBhdHRyaWJ1dGUgbGlzdC4gKi8KLSAg
ICAgICAgICAgIGlmIChleHRlbmRlZGF0dHJpYnV0ZWxpc3QpCi0gICAgICAgICAgICAgICAgb3V0
cHV0KGV4dGVuZGVkYXR0cmlidXRlbGlzdCwgMCwgaW5kZW50ICsgMik7Ci0gICAgICAgICAgICAv
KiBPdXRwdXQgY2hpbGRyZW4gKGV4Y2x1ZGluZyBpZGVudGlmaWVyIGNoaWxkKS4gKi8KLSAgICAg
ICAgICAgIG91dHB1dGNoaWxkcmVuKG5vZGUsIGlkZW50aWZpZXIsIGluZGVudCArIDIpOwotICAg
ICAgICAgICAgcHJpbnRmKCIlKnM8LyVzPlxuIiwgaW5kZW50LCAiIiwgbnRuYW1lKTsKLSAgICAg
ICAgfQotICAgIH0gZWxzZSBzd2l0Y2ggKG5vZGUtPnR5cGUpIHsKLSAgICBjYXNlIFRPS19ET01T
dHJpbmc6Ci0gICAgY2FzZSBUT0tfYW55OgotICAgIGNhc2UgVE9LX2Jvb2xlYW46Ci0gICAgY2Fz
ZSBUT0tfb2N0ZXQ6Ci0gICAgY2FzZSBUT0tfZmxvYXQ6Ci0gICAgY2FzZSBUT0tfZG91YmxlOgot
ICAgIGNhc2UgVE9LX09iamVjdDoKLSAgICBjYXNlIFRPS191bnNpZ25lZDoKLSAgICBjYXNlIFRP
S19zaG9ydDoKLSAgICBjYXNlIFRPS19sb25nOgotICAgIGNhc2UgVE9LX3ZvaWQ6Ci0gICAgICAg
IHByaW50ZigiJSpzPCVzLz5cbiIsIGluZGVudCwgIiIsIG5vZGUtPm5hbWUpOwotICAgICAgICBi
cmVhazsKLSAgICBjYXNlIFRPS19JTlRFR0VSOgotICAgICAgICBwcmludGYoIiUqczxpbnRlZ2Vy
IHZhbHVlPVwiIiwgaW5kZW50LCAiIik7Ci0gICAgICAgIHByaW50dGV4dChub2RlLT5uYW1lLCBz
dHJsZW4obm9kZS0+bmFtZSksIDEpOwotICAgICAgICBwcmludGYoIlwiLz5cbiIpOwotICAgICAg
ICBicmVhazsKLSAgICBjYXNlIFRPS19GTE9BVDoKLSAgICAgICAgcHJpbnRmKCIlKnM8RmxvYXQg
dmFsdWU9XCIiLCBpbmRlbnQsICIiKTsKLSAgICAgICAgcHJpbnR0ZXh0KG5vZGUtPm5hbWUsIHN0
cmxlbihub2RlLT5uYW1lKSwgMSk7Ci0gICAgICAgIHByaW50ZigiXCIvPlxuIik7Ci0gICAgICAg
IGJyZWFrOwotICAgIGNhc2UgVE9LX1NUUklORzoKLSAgICAgICAgcHJpbnRmKCIlKnM8c3RyaW5n
IHZhbHVlPVwiIiwgaW5kZW50LCAiIik7Ci0gICAgICAgIHByaW50dGV4dChub2RlLT5uYW1lLCBz
dHJsZW4obm9kZS0+bmFtZSksIDEpOwotICAgICAgICBwcmludGYoIlwiLz5cbiIpOwotICAgICAg
ICBicmVhazsKLSAgICB9Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogb3V0cHV0Y2hpbGRyZW4g
OiBjYWxsIG91dHB1dCBmb3IgZWFjaCBjaGlsZCBvZiBub2RlCi0gKgotICogRW50ZXI6ICAgbm9k
ZQotICogICAgICAgICAgaWRlbnRpZmllciA9IGNoaWxkIG5vZGUgdG8gb21pdCBmcm9tIG91dHB1
dAotICogICAgICAgICAgaW5kZW50ID0gaW5kZW50IChuZXN0aW5nKSBsZXZlbAotICovCi1zdGF0
aWMgdm9pZAotb3V0cHV0Y2hpbGRyZW4oc3RydWN0IG5vZGUgKm5vZGUsIHN0cnVjdCBub2RlICpp
ZGVudGlmaWVyLCB1bnNpZ25lZCBpbnQgaW5kZW50KQotewotICAgIHN0cnVjdCBub2RlICpleHRl
bmRlZGF0dHJpYnV0ZWxpc3Q7Ci0gICAgc3RydWN0IG5vZGUgKmNoaWxkOwotICAgIGNoaWxkID0g
bm9kZS0+Y2hpbGRyZW47Ci0gICAgZXh0ZW5kZWRhdHRyaWJ1dGVsaXN0ID0gMDsKLSAgICB3aGls
ZSAoY2hpbGQpIHsKLSAgICAgICAgaWYgKGNoaWxkLT50eXBlID09IE5UX0V4dGVuZGVkQXR0cmli
dXRlTGlzdCAmJiBub2RlLT50eXBlICE9IE5UX0FyZ3VtZW50KQotICAgICAgICAgICAgZXh0ZW5k
ZWRhdHRyaWJ1dGVsaXN0ID0gY2hpbGQ7Ci0gICAgICAgIGVsc2UgewotICAgICAgICAgICAgaWYg
KGlkZW50aWZpZXIgIT0gY2hpbGQpCi0gICAgICAgICAgICAgICAgb3V0cHV0KGNoaWxkLCBleHRl
bmRlZGF0dHJpYnV0ZWxpc3QsIGluZGVudCk7Ci0gICAgICAgICAgICBleHRlbmRlZGF0dHJpYnV0
ZWxpc3QgPSAwOwotICAgICAgICB9Ci0gICAgICAgIGNoaWxkID0gY2hpbGQtPm5leHQ7Ci0gICAg
fQotfQotI2VuZGlmIC8qMCovCi0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogcHJvY2Vzc2ZpbGVzIDog
cHJvY2VzcyBpbnB1dCBmaWxlcwotICoKLSAqIEVudGVyOiAgIG5hbWUgPSBmaWxlbmFtZQotICov
Ci12b2lkCi1wcm9jZXNzZmlsZXMoY29uc3QgY2hhciAqY29uc3QgKm5hbWVzLCBpbnQgZHRkcmVm
KQotewotICAgIHN0cnVjdCBub2RlICpyb290OwotICAgIHJlYWRpbnB1dChuYW1lcyk7Ci0gICAg
cm9vdCA9IHBhcnNlKCk7Ci0gICAgcHJvY2Vzc2NvbW1lbnRzKHJvb3QpOwotICAgIHByaW50Zigi
PD94bWwgdmVyc2lvbj1cIjEuMFwiIGVuY29kaW5nPVwiVVRGLThcIj8+XG4iKTsKLSAgICBpZihk
dGRyZWYpCi0gICAgICAgIHByaW50ZigiPCFET0NUWVBFIERlZmluaXRpb25zIFNZU1RFTSBcIndp
ZGxwcm9jeG1sLmR0ZFwiPlxuIik7Ci0gICAgb3V0cHV0bm9kZShyb290LCAwKTsKLX0KLQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3NyYy9wcm9jZXNzLmggYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lk
bHByb2Mvc3JjL3Byb2Nlc3MuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYmI5MmIy
MmNlMTMuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9zcmMvcHJvY2Vzcy5o
CisrKyAvZGV2L251bGwKQEAgLTEsMjcgKzAsMCBAQAotLyoqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiAkSWQk
Ci0gKiBDb3B5cmlnaHQgMjAwOSBBcGxpeCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KLSAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRo
ZSAiTGljZW5zZSIpOwotICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29t
cGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgotICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRo
ZSBMaWNlbnNlIGF0Ci0gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VO
U0UtMi4wCi0gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRv
IGluIHdyaXRpbmcsIHNvZnR3YXJlCi0gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBp
cyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAotICogV0lUSE9VVCBXQVJSQU5USUVT
IE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCi0g
KiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVy
bWlzc2lvbnMgYW5kCi0gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KLSAqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKi8KLSNpZm5kZWYgcHJvY2Vzc19oCi0jZGVmaW5lIHByb2Nlc3NfaAotCi0jaWYgMAot
I2RlZmluZSBOVF9TVEFSVCAweDEwMAotI2luY2x1ZGUgIm5vbnRlcm1pbmFscy5oIgotI2VuZGlm
LyowKi8KLQotdm9pZCBwcmludHRleHQoY29uc3QgY2hhciAqcywgdW5zaWduZWQgaW50IGxlbiwg
aW50IGVzY2FtcCk7Ci0KLXZvaWQgcHJvY2Vzc2ZpbGVzKGNvbnN0IGNoYXIgKmNvbnN0ICpuYW1l
cywgaW50IGR0ZHJlZik7Ci0KLSNlbmRpZiAvKiBuZGVmIHByb2Nlc3NfaCAqLwotCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mvc3JjL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dp
ZGxwcm9jL3NyYy93M2MtaW1wb3J0LmxvZwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
YjRlZWVlZjhmYzIuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9zcmMvdzNj
LWltcG9ydC5sb2cKKysrIC9kZXYvbnVsbApAQCAtMSwzMyArMCwwIEBACi1UaGUgdGVzdHMgaW4g
dGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KLURv
IE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVhZCwgY3Jl
YXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXM0MgQ1NTIG9yIFdQVCBnaXRodWI6Ci0JaHR0cHM6
Ly9naXRodWIuY29tL3czYy9jc3N3Zy10ZXN0Ci0JaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMKLQotVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10
ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKLQotRG8gTk9UIG1vZGlmeSBvciByZW1vdmUgdGhp
cyBmaWxlLgotCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLVByb3BlcnRpZXMgcmVxdWlyaW5nIHZlbmRvciBw
cmVmaXhlczoKLU5vbmUKLVByb3BlcnR5IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVz
OgotTm9uZQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1MaXN0IG9mIGZpbGVzOgotL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRs
cHJvYy9zcmMvY29tbWVudC5jCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3NyYy9jb21tZW50LmgKLS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3Qvd2lkbHByb2Mvc3JjL2VudGl0aWVzLmgKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mvc3Jj
L2xleC5jCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3NyYy9sZXguaAotL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJv
Yy9zcmMvbWFpbi5jCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3NyYy9taXNjLmMKLS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
d2lkbHByb2Mvc3JjL21pc2MuaAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9zcmMvbm9kZS5jCi0vTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L3dpZGxwcm9jL3NyYy9ub2RlLmgKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mvc3JjL29zLmgK
LS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mvc3JjL3BhcnNlLmMKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mvc3Jj
L3BhcnNlLmgKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mvc3JjL3Byb2Nlc3MuYwotL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93
aWRscHJvYy9zcmMvcHJvY2Vzcy5oCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3NyYy93aWRscHJvY3ht
bHRvaHRtbC54c2wKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9zcmMvd2lkbHByb2N4
bWx0b2h0bWwueHNsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3NyYy93aWRscHJvY3htbHRvaHRtbC54
c2wKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDJiNTgzMzcxZTdkLi4wMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mvc3JjL3dpZGxwcm9jeG1sdG9odG1sLnhzbAorKysg
L2Rldi9udWxsCkBAIC0xLDgyOCArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5n
PSJ1dGYtOCI/PgotPCEtLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0kSWQ6IHdpZGxwcm9jeG1sdG9odG1sLnhzbCA0
MDcgMjAwOS0xMC0yNiAxMzo0ODo0OFogdHByICQKLUNvcHlyaWdodCAyMDA5IEFwbGl4IENvcnBv
cmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBM
aWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7Ci15b3UgbWF5IG5vdCB1c2UgdGhp
cyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCi1Zb3UgbWF5IG9i
dGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKLSAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcv
bGljZW5zZXMvTElDRU5TRS0yLjAKLVVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBv
ciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKLWRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBM
aWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCi1XSVRIT1VUIFdBUlJB
TlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGll
ZC4KLVNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBw
ZXJtaXNzaW9ucyBhbmQKLWxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgotCi1YU0xUIHN0
eWxlc2hlZXQgdG8gY29udmVydCB3aWRscHJvY3htbCBpbnRvIGh0bWwgZG9jdW1lbnRhdGlvbi4K
LT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PS0tPgotPHhzbDpzdHlsZXNoZWV0IHhtbG5zOnhzbD0iaHR0cDovL3d3dy53
My5vcmcvMTk5OS9YU0wvVHJhbnNmb3JtIiB2ZXJzaW9uPSIxLjAiPgotPHhzbDpvdXRwdXQgbWV0
aG9kPSJodG1sIiBlbmNvZGluZz0idXRmLTgiIGluZGVudD0ieWVzIiBkb2N0eXBlLXB1YmxpYz0i
aHRtbCIvPgotCi08eHNsOnBhcmFtIG5hbWU9ImRhdGUiIHNlbGVjdD0iJ2Vycm9yOiBtaXNzaW5n
IGRhdGUnIi8+Ci0KLTx4c2w6dmFyaWFibGUgbmFtZT0idGl0bGUiIHNlbGVjdD0iY29uY2F0KCdU
aGUgJywvRGVmaW5pdGlvbnMvZGVzY3JpcHRpdmUvbmFtZSwnIE1vZHVsZSAtIFZlcnNpb24gJywv
RGVmaW5pdGlvbnMvZGVzY3JpcHRpdmUvdmVyc2lvbikiLz4KLQotPCEtLVJvb3Qgb2YgZG9jdW1l
bnQuLS0+Ci08eHNsOnRlbXBsYXRlIG1hdGNoPSIvIj4KLSAgICA8aHRtbD4KLSAgICAgICAgPGhl
YWQ+Ci0gICAgICAgICAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBo
cmVmPSJ3aWRsaHRtbC5jc3MiIG1lZGlhPSJzY3JlZW4iLz4KLSAgICAgICAgICAgIDx0aXRsZT4K
LSAgICAgICAgICAgICAgICA8eHNsOnZhbHVlLW9mIHNlbGVjdD0iJHRpdGxlIi8+Ci0gICAgICAg
ICAgICA8L3RpdGxlPgotICAgICAgICA8L2hlYWQ+Ci0gICAgICAgIDxib2R5PgotICAgICAgICAg
ICAgPHhzbDphcHBseS10ZW1wbGF0ZXMvPgotICAgICAgICA8L2JvZHk+Ci0gICAgPC9odG1sPgot
PC94c2w6dGVtcGxhdGU+Ci0KLTwhLS1Sb290IG9mIERlZmluaXRpb25zLi0tPgotPHhzbDp0ZW1w
bGF0ZSBtYXRjaD0iRGVmaW5pdGlvbnMiPgotICAgIDxkaXYgY2xhc3M9ImFwaSIgaWQ9IntAaWR9
Ij4KLSAgICAgICAgPGEgaHJlZj0iaHR0cDovL2JvbmRpLm9tdHAub3JnIj48aW1nIHNyYz0iaHR0
cDovL3d3dy5vbXRwLm9yZy9pbWFnZXMvQm9uZGlTbWFsbC5qcGciIGFsdD0iQm9uZGkgbG9nbyIv
PjwvYT4KLSAgICAgICAgPGgxPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIkdGl0bGUiLz48L2gxPgot
ICAgICAgICA8aDM+MTIgTWF5IDIwMDk8L2gzPgotCi0gICAgICAgIDxoMj5BdXRob3JzPC9oMj4K
LSAgICAgICAgPHVsIGNsYXNzPSJhdXRob3JzIj4KLSAgICAgICAgICA8eHNsOmFwcGx5LXRlbXBs
YXRlcyBzZWxlY3Q9ImRlc2NyaXB0aXZlL2F1dGhvciIvPgotICAgICAgICA8L3VsPgotCi0gICAg
ICAgIDxwIGNsYXNzPSJjb3B5cmlnaHQiPjxzbWFsbD7CqSBUaGUgYXV0aG9ycywgMjAxMi4gQWxs
IHJpZ2h0cyByZXNlcnZlZC48L3NtYWxsPjwvcD4KLQotICAgICAgICA8aHIvPgotCi0gICAgICAg
IDxoMj5BYnN0cmFjdDwvaDI+Ci0KLSAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0
PSJkZXNjcmlwdGl2ZS9icmllZiIvPgotICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxl
Y3Q9ImRlc2NyaXB0aXZlL2Rlc2NyaXB0aW9uIi8+Ci0gICAgICAgIDx4c2w6YXBwbHktdGVtcGxh
dGVzIHNlbGVjdD0iZGVzY3JpcHRpdmUvQ29kZSIvPgotCi0gICAgICAgIDxoMj5UYWJsZSBvZiBD
b250ZW50czwvaDI+Ci0gICAgICAgIDx1bCBjbGFzcz0idG9jIj4KLSAgICAgICAgICA8bGk+PGEg
aHJlZj0iI2ludHJvIj5JbnRyb2R1Y3Rpb248L2E+Ci0gICAgICAgICAgPHVsPgotICAgICAgICAg
ICAgPHhzbDppZiB0ZXN0PSJkZXNjcmlwdGl2ZS9kZWYtYXBpLWZlYXR1cmUtc2V0Ij4KLSAgICAg
ICAgICAgICAgPGxpPjxhIGhyZWY9IiNkZWYtYXBpLWZlYXR1cmUtc2V0cyI+RmVhdHVyZSBzZXQ8
L2E+PC9saT4KLSAgICAgICAgICAgIDwveHNsOmlmPgotICAgICAgICAgICAgPHhzbDppZiB0ZXN0
PSJkZXNjcmlwdGl2ZS9kZWYtYXBpLWZlYXR1cmUiPgotICAgICAgICAgICAgICA8bGk+PGEgaHJl
Zj0iI2RlZi1hcGktZmVhdHVyZXMiPkZlYXR1cmVzPC9hPjwvbGk+Ci0gICAgICAgICAgICA8L3hz
bDppZj4KLSAgICAgICAgICAgIDx4c2w6aWYgdGVzdD0iZGVzY3JpcHRpdmUvZGVmLWRldmljZS1j
YXAiPgotICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iI2RlZi1kZXZpY2UtY2FwcyI+RGV2aWNl
IENhcGFiaWxpdGllczwvYT48L2xpPgotICAgICAgICAgICAgPC94c2w6aWY+Ci0gICAgICAgICAg
PC91bD4KLSAgICAgICAgICA8L2xpPgotICAgICAgICAgIDx4c2w6aWYgdGVzdD0iVHlwZWRlZiI+
Ci0gICAgICAgICAgICA8bGk+PGEgaHJlZj0iI3R5cGVkZWZzIj5UeXBlIERlZmluaXRpb25zPC9h
PgotICAgICAgICAgICAgPHVsIGNsYXNzPSJ0b2MiPgotICAgICAgICAgICAgICA8eHNsOmZvci1l
YWNoIHNlbGVjdD0iVHlwZWRlZltkZXNjcmlwdGl2ZV0iPgotICAgICAgICAgICAgICAgIDxsaT48
YSBocmVmPSIje0BpZH0iPjxjb2RlPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAbmFtZSIvPjwvY29k
ZT48L2E+PC9saT4KLSAgICAgICAgICAgICAgPC94c2w6Zm9yLWVhY2g+Ci0gICAgICAgICAgICA8
L3VsPgotICAgICAgICAgICAgPC9saT4KLSAgICAgICAgICA8L3hzbDppZj4KLSAgICAgICAgICA8
eHNsOmlmIHRlc3Q9IkludGVyZmFjZSI+Ci0JICAgICAgICAgIDxsaT48YSBocmVmPSIjaW50ZXJm
YWNlcyI+SW50ZXJmYWNlczwvYT4KLQkgICAgICAgICAgPHVsIGNsYXNzPSJ0b2MiPgotCSAgICAg
ICAgICA8eHNsOmZvci1lYWNoIHNlbGVjdD0iSW50ZXJmYWNlW2Rlc2NyaXB0aXZlXSI+Ci0JICAg
ICAgICAgICAgPGxpPjxhIGhyZWY9IiN7QGlkfSI+PGNvZGU+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9
IkBuYW1lIi8+PC9jb2RlPjwvYT48L2xpPgotCSAgICAgICAgICA8L3hzbDpmb3ItZWFjaD4KLQkg
ICAgICAgICAgPC91bD4KLQkgICAgICAgICAgPC9saT4KLSAgICAgICAgICA8L3hzbDppZj4KLSAg
ICAgICAgICA8eHNsOmlmIHRlc3Q9IkRpY3Rpb25hcnkiPgotCSAgICAgICAgICA8bGk+PGEgaHJl
Zj0iI2RpY3Rpb25hcmllcyI+RGljdGlvbmFyeSB0eXBlczwvYT4KLQkgICAgICAgICAgPHVsIGNs
YXNzPSJ0b2MiPgotCSAgICAgICAgICA8eHNsOmZvci1lYWNoIHNlbGVjdD0iRGljdGlvbmFyeVtk
ZXNjcmlwdGl2ZV0iPgotCSAgICAgICAgICAgIDxsaT48YSBocmVmPSIje0BpZH0iPjxjb2RlPjx4
c2w6dmFsdWUtb2Ygc2VsZWN0PSJAbmFtZSIvPjwvY29kZT48L2E+PC9saT4KLQkgICAgICAgICAg
PC94c2w6Zm9yLWVhY2g+Ci0JICAgICAgICAgIDwvdWw+Ci0JICAgICAgICAgIDwvbGk+Ci0gICAg
ICAgICAgPC94c2w6aWY+Ci0gICAgICAgICAgPHhzbDppZiB0ZXN0PSJDYWxsYmFjayI+Ci0JICAg
ICAgICAgIDxsaT48YSBocmVmPSIjY2FsbGJhY2tzIj5DYWxsYmFja3M8L2E+Ci0JICAgICAgICAg
IDx1bCBjbGFzcz0idG9jIj4KLQkgICAgICAgICAgPHhzbDpmb3ItZWFjaCBzZWxlY3Q9IkNhbGxi
YWNrW2Rlc2NyaXB0aXZlXSI+Ci0JICAgICAgICAgICAgPGxpPjxhIGhyZWY9IiN7QGlkfSI+PGNv
ZGU+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBuYW1lIi8+PC9jb2RlPjwvYT48L2xpPgotCSAgICAg
ICAgICA8L3hzbDpmb3ItZWFjaD4KLQkgICAgICAgICAgPC91bD4KLQkgICAgICAgICAgPC9saT4K
LSAgICAgICAgICA8L3hzbDppZj4KLSAgICAgICAgICA8eHNsOmlmIHRlc3Q9IkVudW0iPgotCSAg
ICAgICAgICA8bGk+PGEgaHJlZj0iI2VudW1zIj5FbnVtczwvYT4KLQkgICAgICAgICAgPHVsIGNs
YXNzPSJ0b2MiPgotCSAgICAgICAgICA8eHNsOmZvci1lYWNoIHNlbGVjdD0iRW51bVtkZXNjcmlw
dGl2ZV0iPgotCSAgICAgICAgICAgIDxsaT48YSBocmVmPSIje0BpZH0iPjxjb2RlPjx4c2w6dmFs
dWUtb2Ygc2VsZWN0PSJAbmFtZSIvPjwvY29kZT48L2E+PC9saT4KLQkgICAgICAgICAgPC94c2w6
Zm9yLWVhY2g+Ci0JICAgICAgICAgIDwvdWw+Ci0JICAgICAgICAgIDwvbGk+Ci0gICAgICAgICAg
PC94c2w6aWY+Ci0gICAgICAgIDwvdWw+Ci0KLSAgICAgICAgPGhyLz4KLQotICAgICAgICA8aDI+
U3VtbWFyeSBvZiBNZXRob2RzPC9oMj4KLSAgICAgICAgPHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9
InN1bW1hcnkiLz4KLSAgICAgICAgCi0gICAgICAgIDxoMiBpZD0iaW50cm8iPkludHJvZHVjdGlv
bjwvaDI+Ci0KLSAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJkZXNjcmlwdGl2
ZS9kZXNjcmlwdGlvbiIvPgotICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9ImRl
c2NyaXB0aXZlL0NvZGUiLz4KLQotICAgICAgICA8eHNsOmlmIHRlc3Q9ImRlc2NyaXB0aXZlL2Rl
Zi1hcGktZmVhdHVyZS1zZXQiPgotICAgICAgICAgICAgPGRpdiBpZD0iZGVmLWFwaS1mZWF0dXJl
LXNldHMiIGNsYXNzPSJkZWYtYXBpLWZlYXR1cmUtc2V0cyI+Ci0gICAgICAgICAgICAgICAgPGgz
IGlkPSJmZWF0dXJlcyI+RmVhdHVyZSBzZXQ8L2gzPgotICAgICAgICAgICAgICAgIDxwPlRoaXMg
aXMgdGhlIFVSSSB1c2VkIHRvIGRlY2xhcmUgdGhpcyBBUEkncyBmZWF0dXJlIHNldCwgZm9yIHVz
ZSBpbiBib25kaS5yZXF1ZXN0RmVhdHVyZS4gRm9yIHRoZSBVUkwsIHRoZSBsaXN0IG9mIGZlYXR1
cmVzIGluY2x1ZGVkIGJ5IHRoZSBmZWF0dXJlIHNldCBpcyBwcm92aWRlZC48L3A+Ci0gICAgICAg
ICAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJkZXNjcmlwdGl2ZS9kZWYtYXBp
LWZlYXR1cmUtc2V0Ii8+Ci0gICAgICAgICAgICA8L2Rpdj4KLSAgICAgICAgPC94c2w6aWY+Ci0g
ICAgICAgIDx4c2w6aWYgdGVzdD0iZGVzY3JpcHRpdmUvZGVmLWFwaS1mZWF0dXJlIj4KLSAgICAg
ICAgICAgIDxkaXYgaWQ9ImRlZi1hcGktZmVhdHVyZXMiIGNsYXNzPSJkZWYtYXBpLWZlYXR1cmVz
Ij4KLSAgICAgICAgICAgICAgICA8aDMgaWQ9ImZlYXR1cmVzIj5GZWF0dXJlczwvaDM+Ci0gICAg
ICAgICAgICAgICAgPHA+VGhpcyBpcyB0aGUgbGlzdCBvZiBVUklzIHVzZWQgdG8gZGVjbGFyZSB0
aGlzIEFQSSdzIGZlYXR1cmVzLCBmb3IgdXNlIGluIGJvbmRpLnJlcXVlc3RGZWF0dXJlLiBGb3Ig
ZWFjaCBVUkwsIHRoZSBsaXN0IG9mIGZ1bmN0aW9ucyBjb3ZlcmVkIGlzIHByb3ZpZGVkLjwvcD4K
LSAgICAgICAgICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9IkludGVyZmFjZS9k
ZXNjcmlwdGl2ZS9kZWYtaW5zdGFudGlhdGVkIi8+Ci0gICAgICAgICAgICAgICAgPHhzbDphcHBs
eS10ZW1wbGF0ZXMgc2VsZWN0PSJkZXNjcmlwdGl2ZS9kZWYtYXBpLWZlYXR1cmUiLz4KLSAgICAg
ICAgICAgIDwvZGl2PgotICAgICAgICA8L3hzbDppZj4KLSAgICAgICAgPHhzbDppZiB0ZXN0PSJk
ZXNjcmlwdGl2ZS9kZWYtZGV2aWNlLWNhcCI+Ci0gICAgICAgICAgICA8ZGl2IGNsYXNzPSJkZWYt
ZGV2aWNlLWNhcHMiIGlkPSJkZWYtZGV2aWNlLWNhcHMiPgotICAgICAgICAgICAgICAgIDxoMz5E
ZXZpY2UgY2FwYWJpbGl0aWVzPC9oMz4KLSAgICAgICAgICAgICAgICA8ZGw+Ci0gICAgICAgICAg
ICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9ImRlc2NyaXB0aXZlL2RlZi1kZXZp
Y2UtY2FwIi8+Ci0gICAgICAgICAgICAgICAgPC9kbD4KLSAgICAgICAgICAgIDwvZGl2PgotICAg
ICAgICA8L3hzbDppZj4KLSAgICAgICAgPHhzbDppZiB0ZXN0PSJUeXBlZGVmIj4KLSAgICAgICAg
ICAgIDxkaXYgY2xhc3M9InR5cGVkZWZzIiBpZD0idHlwZWRlZnMiPgotICAgICAgICAgICAgICAg
IDxoMj5UeXBlIERlZmluaXRpb25zPC9oMj4KLSAgICAgICAgICAgICAgICA8eHNsOmFwcGx5LXRl
bXBsYXRlcyBzZWxlY3Q9IlR5cGVkZWZbZGVzY3JpcHRpdmVdIi8+Ci0gICAgICAgICAgICA8L2Rp
dj4KLSAgICAgICAgPC94c2w6aWY+Ci0gICAgICAgIDx4c2w6aWYgdGVzdD0iSW50ZXJmYWNlIj4K
LSAgICAgICAgICAgIDxkaXYgY2xhc3M9ImludGVyZmFjZXMiIGlkPSJpbnRlcmZhY2VzIj4KLQkJ
ICAgICAgICA8aDI+SW50ZXJmYWNlczwvaDI+Ci0gICAgICAgCQkgICAgPHhzbDphcHBseS10ZW1w
bGF0ZXMgc2VsZWN0PSJJbnRlcmZhY2UiLz4KLSAgICAgICAgICAgIDwvZGl2PgotICAgICAgICA8
L3hzbDppZj4KLSAgICAgICAgPHhzbDppZiB0ZXN0PSJEaWN0aW9uYXJ5Ij4KLSAgICAgICAgICAg
IDxkaXYgY2xhc3M9ImRpY3Rpb25hcmllcyIgaWQ9ImRpY3Rpb25hcmllcyI+Ci0gICAgICAgIAkJ
PGgyPkRpY3Rpb25hcnkgdHlwZXM8L2gyPgotICAgICAgICAJCTx4c2w6YXBwbHktdGVtcGxhdGVz
IHNlbGVjdD0iRGljdGlvbmFyeSIvPgotICAgICAgICAgICAgPC9kaXY+Ci0gICAgICAgIDwveHNs
OmlmPgotICAgICAgICA8eHNsOmlmIHRlc3Q9IkNhbGxiYWNrIj4KLSAgICAgICAgICAgIDxkaXYg
Y2xhc3M9ImNhbGxiYWNrcyIgaWQ9ImNhbGxiYWNrcyI+Ci0gICAgICAgIAkJPGgyPkNhbGxiYWNr
czwvaDI+Ci0gICAgICAgIAkJPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJDYWxsYmFjayIv
PgotICAgICAgICAgICAgPC9kaXY+Ci0gICAgICAgIDwveHNsOmlmPgotICAgICAgICA8eHNsOmlm
IHRlc3Q9IkVudW0iPgotICAgICAgICAgICAgPGRpdiBjbGFzcz0iZW51bXMiIGlkPSJlbnVtcyI+
Ci0gICAgICAgIAkJPGgyPkVudW1zPC9oMj4KLSAgICAgICAgCQk8eHNsOmFwcGx5LXRlbXBsYXRl
cyBzZWxlY3Q9IkVudW0iLz4KLSAgICAgICAgICAgIDwvZGl2PgotICAgICAgICA8L3hzbDppZj4K
LSAgICA8L2Rpdj4KLTwveHNsOnRlbXBsYXRlPgotCi08IS0tZGVmLWFwaS1mZWF0dXJlLXNldC0t
PgotPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iZGVmLWFwaS1mZWF0dXJlLXNldCI+Ci0gICAgICA8ZGwg
Y2xhc3M9ImRlZi1hcGktZmVhdHVyZS1zZXQiPgotICAgICAgICAgIDxkdD48eHNsOnZhbHVlLW9m
IHNlbGVjdD0iQGlkZW50aWZpZXIiLz48L2R0PgotICAgICAgICAgIDxkZD4KLSAgICAgICAgICAg
IDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iZGVzY3JpcHRpdmUvYnJpZWYiLz4KLSAgICAg
ICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iZGVzY3JpcHRpdmUiLz4KLSAgICAg
ICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iZGVzY3JpcHRpdmUvQ29kZSIvPgot
ICAgICAgICAgICAgPHhzbDppZiB0ZXN0PSJkZXNjcmlwdGl2ZS9hcGktZmVhdHVyZSI+Ci0gICAg
ICAgICAgICAgIDxkaXYgY2xhc3M9ImFwaS1mZWF0dXJlcyI+Ci0gICAgICAgICAgICAgICAgPHA+
Ci0gICAgICAgICAgICAgICAgICBJbmNsdWRlcyBBUEkgZmVhdHVyZXM6Ci0gICAgICAgICAgICAg
ICAgPC9wPgotICAgICAgICAgICAgICAgIDx1bD4KLSAgICAgICAgICAgICAgICAgIDx4c2w6Zm9y
LWVhY2ggc2VsZWN0PSJkZXNjcmlwdGl2ZS9hcGktZmVhdHVyZSI+Ci0gICAgICAgICAgICAgICAg
ICAgIDxsaT48Y29kZT48eHNsOnZhbHVlLW9mIHNlbGVjdD0iQGlkZW50aWZpZXIiLz48L2NvZGU+
PC9saT4KLSAgICAgICAgICAgICAgICAgIDwveHNsOmZvci1lYWNoPgotICAgICAgICAgICAgICAg
IDwvdWw+Ci0gICAgICAgICAgICAgIDwvZGl2PgotICAgICAgICAgICAgPC94c2w6aWY+Ci0gICAg
ICAgICAgPC9kZD4KLSAgICAgIDwvZGw+Ci08L3hzbDp0ZW1wbGF0ZT4KLQotPCEtLWRlZi1hcGkt
ZmVhdHVyZS0tPgotPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iZGVmLWFwaS1mZWF0dXJlIj4KLSAgICAg
IDxkbCBjbGFzcz0iZGVmLWFwaS1mZWF0dXJlIj4KLSAgICAgICAgICA8ZHQ+PHhzbDp2YWx1ZS1v
ZiBzZWxlY3Q9IkBpZGVudGlmaWVyIi8+PC9kdD4KLSAgICAgICAgICA8ZGQ+Ci0gICAgICAgICAg
ICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9ImRlc2NyaXB0aXZlL2JyaWVmIi8+Ci0gICAg
ICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9ImRlc2NyaXB0aXZlIi8+Ci0gICAg
ICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9ImRlc2NyaXB0aXZlL0NvZGUiLz4K
LSAgICAgICAgICAgIDx4c2w6aWYgdGVzdD0iZGVzY3JpcHRpdmUvZGV2aWNlLWNhcCI+Ci0gICAg
ICAgICAgICAgIDxkaXYgY2xhc3M9ImRldmljZS1jYXBzIj4KLSAgICAgICAgICAgICAgICA8cD4K
LSAgICAgICAgICAgICAgICAgIERldmljZSBjYXBhYmlsaXRpZXM6Ci0gICAgICAgICAgICAgICAg
PC9wPgotICAgICAgICAgICAgICAgIDx1bD4KLSAgICAgICAgICAgICAgICAgIDx4c2w6Zm9yLWVh
Y2ggc2VsZWN0PSJkZXNjcmlwdGl2ZS9kZXZpY2UtY2FwIj4KLSAgICAgICAgICAgICAgICAgICAg
PGxpPjxjb2RlPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAaWRlbnRpZmllciIvPjwvY29kZT48L2xp
PgotICAgICAgICAgICAgICAgICAgPC94c2w6Zm9yLWVhY2g+Ci0gICAgICAgICAgICAgICAgPC91
bD4KLSAgICAgICAgICAgICAgPC9kaXY+Ci0gICAgICAgICAgICA8L3hzbDppZj4KLSAgICAgICAg
ICA8L2RkPgotICAgICAgPC9kbD4KLTwveHNsOnRlbXBsYXRlPgotCi08IS0tZGVmLWRldmljZS1j
YXAtLT4KLTx4c2w6dGVtcGxhdGUgbWF0Y2g9ImRlZi1kZXZpY2UtY2FwIj4KLSAgICA8ZHQgY2xh
c3M9ImRlZi1kZXZpY2UtY2FwIj48Y29kZT48eHNsOnZhbHVlLW9mIHNlbGVjdD0iQGlkZW50aWZp
ZXIiLz48L2NvZGU+PC9kdD4KLSAgICA8ZGQ+Ci0gICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBz
ZWxlY3Q9ImRlc2NyaXB0aXZlL2JyaWVmIi8+Ci0gICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBz
ZWxlY3Q9ImRlc2NyaXB0aXZlIi8+Ci0gICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9
ImRlc2NyaXB0aXZlL0NvZGUiLz4KLSAgICAgIDx4c2w6aWYgdGVzdD0iZGVzY3JpcHRpdmUvcGFy
YW0iPgotICAgICAgICA8ZGl2IGNsYXNzPSJkZXZpY2UtY2FwcyI+Ci0gICAgICAgICAgPHA+U2Vj
dXJpdHkgcGFyYW1ldGVyczo8L3A+Ci0gICAgICAgICAgPHVsPgotICAgICAgICAgICAgPHhzbDph
cHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJkZXNjcmlwdGl2ZS9wYXJhbSIvPgotICAgICAgICAgIDwv
dWw+Ci0gICAgICAgIDwvZGl2PgotICAgICAgPC94c2w6aWY+Ci0gICAgPC9kZD4KLTwveHNsOnRl
bXBsYXRlPgotCi08IS0tRXhjZXB0aW9uOiBub3QgaW1wbGVtZW50ZWQtLT4KLTwhLS1WYWx1ZXR5
cGU6IG5vdCBpbXBsZW1lbnRlZC0tPgotPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iRXhjZXB0aW9ufFZh
bHVldHlwZXxDb25zdCI+Ci0gICAgPHhzbDppZiB0ZXN0PSJkZXNjcmlwdGl2ZSI+Ci0gICAgICAg
IDx4c2w6bWVzc2FnZSB0ZXJtaW5hdGU9InllcyI+ZWxlbWVudCA8eHNsOnZhbHVlLW9mIHNlbGVj
dD0ibmFtZSgpIi8+IG5vdCBzdXBwb3J0ZWQ8L3hzbDptZXNzYWdlPgotICAgIDwveHNsOmlmPgot
PC94c2w6dGVtcGxhdGU+Ci0KLTwhLS1UeXBlZGVmLi0tPgotPHhzbDp0ZW1wbGF0ZSBtYXRjaD0i
VHlwZWRlZltkZXNjcmlwdGl2ZV0iPgotICAgIDxkaXYgY2xhc3M9InR5cGVkZWYiIGlkPSJ7QGlk
fSI+Ci0gICAgICAgIDxoMz4yLjx4c2w6bnVtYmVyIHZhbHVlPSJwb3NpdGlvbigpIi8+LiA8Y29k
ZT48eHNsOnZhbHVlLW9mIHNlbGVjdD0iQG5hbWUiLz48L2NvZGU+PC9oMz4KLSAgICAgICAgPHhz
bDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJkZXNjcmlwdGl2ZS9icmllZiIvPgotICAgICAgICA8
eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9IndlYmlkbCIvPgotICAgICAgICA8eHNsOmFwcGx5
LXRlbXBsYXRlcyBzZWxlY3Q9ImRlc2NyaXB0aXZlIi8+Ci0gICAgICAgIDx4c2w6YXBwbHktdGVt
cGxhdGVzIHNlbGVjdD0iZGVzY3JpcHRpdmUvQ29kZSIvPgotICAgIDwvZGl2PgotPC94c2w6dGVt
cGxhdGU+Ci0KLTwhLS1JbnRlcmZhY2UuLS0+Ci08eHNsOnRlbXBsYXRlIG1hdGNoPSJJbnRlcmZh
Y2VbZGVzY3JpcHRpdmVdIj4KLSAgICA8eHNsOnZhcmlhYmxlIG5hbWU9Im5hbWUiIHNlbGVjdD0i
QG5hbWUiLz4KLSAgICA8ZGl2IGNsYXNzPSJpbnRlcmZhY2UiIGlkPSJ7QGlkfSI+Ci0gICAgICAg
IDxoMz48Y29kZT48eHNsOnZhbHVlLW9mIHNlbGVjdD0iQG5hbWUiLz48L2NvZGU+PC9oMz4KLSAg
ICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJkZXNjcmlwdGl2ZS9icmllZiIvPgot
ICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9IndlYmlkbCIvPgotICAgICAgICA8
eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9Ii4uL0ltcGxlbWVudHNbQG5hbWUyPSRuYW1lXS93
ZWJpZGwiLz4KLSAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJkZXNjcmlwdGl2
ZSIvPgotICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9ImRlc2NyaXB0aXZlL0Nv
ZGUiLz4KLSAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJJbnRlcmZhY2VJbmhl
cml0YW5jZSIvPgotICAgICAgICA8eHNsOmlmIHRlc3Q9IkNvbnN0L2Rlc2NyaXB0aXZlIj4KLSAg
ICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnN0cyI+Ci0gICAgICAgICAgICAgICAgPGg0PkNvbnN0
YW50czwvaDQ+Ci0gICAgICAgICAgICAgICAgPGRsPgotICAgICAgICAgICAgICAgICAgPHhzbDph
cHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJDb25zdCIvPgotICAgICAgICAgICAgICAgIDwvZGw+Ci0g
ICAgICAgICAgICA8L2Rpdj4KLSAgICAgICAgPC94c2w6aWY+Ci0gICAgICAgIDx4c2w6aWYgdGVz
dD0iRXh0ZW5kZWRBdHRyaWJ1dGVMaXN0L0V4dGVuZGVkQXR0cmlidXRlL2Rlc2NyaXB0aXZlIj4K
LSAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnN0cnVjdG9ycyI+Ci0gICAgICAgICAgICAgICAg
PGg0PkNvbnN0cnVjdG9yczwvaDQ+Ci0gICAgICAgICAgICAgICAgPGRsPgotICAgICAgICAgICAg
ICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJFeHRlbmRlZEF0dHJpYnV0ZUxpc3Qv
RXh0ZW5kZWRBdHRyaWJ1dGUiLz4KLSAgICAgICAgICAgICAgICA8L2RsPgotICAgICAgICAgICAg
PC9kaXY+Ci0gICAgICAgIDwveHNsOmlmPgotICAgICAgICA8eHNsOmlmIHRlc3Q9IkF0dHJpYnV0
ZS9kZXNjcmlwdGl2ZSI+Ci0gICAgICAgICAgICA8ZGl2IGNsYXNzPSJhdHRyaWJ1dGVzIj4KLSAg
ICAgICAgICAgICAgICA8aDQ+QXR0cmlidXRlczwvaDQ+Ci0gICAgICAgICAgICAgICAgPGRsPgot
ICAgICAgICAgICAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJBdHRyaWJ1dGUi
Lz4KLSAgICAgICAgICAgICAgICA8L2RsPgotICAgICAgICAgICAgPC9kaXY+Ci0gICAgICAgIDwv
eHNsOmlmPgotICAgICAgICA8eHNsOmlmIHRlc3Q9Ik9wZXJhdGlvbi9kZXNjcmlwdGl2ZSI+Ci0g
ICAgICAgICAgICA8ZGl2IGNsYXNzPSJtZXRob2RzIj4KLSAgICAgICAgICAgICAgICA8aDQ+TWV0
aG9kczwvaDQ+Ci0gICAgICAgICAgICAgICAgPGRsPgotICAgICAgICAgICAgICAgICAgPHhzbDph
cHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJPcGVyYXRpb24iLz4KLSAgICAgICAgICAgICAgICA8L2Rs
PgotICAgICAgICAgICAgPC9kaXY+Ci0gICAgICAgIDwveHNsOmlmPgotICAgIDwvZGl2PgotPC94
c2w6dGVtcGxhdGU+Ci08eHNsOnRlbXBsYXRlIG1hdGNoPSJJbnRlcmZhY2Vbbm90KGRlc2NyaXB0
aXZlKV0iPgotPC94c2w6dGVtcGxhdGU+Ci0KLTwhLS1EaWN0aW9uYXJ5Li0tPgotPHhzbDp0ZW1w
bGF0ZSBtYXRjaD0iRGljdGlvbmFyeVtkZXNjcmlwdGl2ZV0iPgotICAgIDx4c2w6dmFyaWFibGUg
bmFtZT0ibmFtZSIgc2VsZWN0PSJAbmFtZSIvPgotICAgIDxkaXYgY2xhc3M9ImRpY3Rpb25hcnki
IGlkPSJ7QGlkfSI+Ci0gICAgICAgIDxoMz48Y29kZT48eHNsOnZhbHVlLW9mIHNlbGVjdD0iQG5h
bWUiLz48L2NvZGU+PC9oMz4KLSAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJk
ZXNjcmlwdGl2ZS9icmllZiIvPgotICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9
IndlYmlkbCIvPgotICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9ImRlc2NyaXB0
aXZlIi8+Ci0gICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iZGVzY3JpcHRpdmUv
Q29kZSIvPgotICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9IkludGVyZmFjZUlu
aGVyaXRhbmNlIi8+Ci0gICAgICAgIDx4c2w6aWYgdGVzdD0iQ29uc3QvZGVzY3JpcHRpdmUiPgot
ICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29uc3RzIj4KLSAgICAgICAgICAgICAgICA8aDQ+Q29u
c3RhbnRzPC9oND4KLSAgICAgICAgICAgICAgICA8ZGw+Ci0gICAgICAgICAgICAgICAgICA8eHNs
OmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9IkNvbnN0Ii8+Ci0gICAgICAgICAgICAgICAgPC9kbD4K
LSAgICAgICAgICAgIDwvZGl2PgotICAgICAgICA8L3hzbDppZj4KLSAgICAgICAgPHhzbDppZiB0
ZXN0PSJBdHRyaWJ1dGUvZGVzY3JpcHRpdmUiPgotICAgICAgICAgICAgPGRpdiBjbGFzcz0iYXR0
cmlidXRlcyI+Ci0gICAgICAgICAgICAgICAgPGg0PkF0dHJpYnV0ZXM8L2g0PgotICAgICAgICAg
ICAgICAgIDxkbD4KLSAgICAgICAgICAgICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVj
dD0iQXR0cmlidXRlIi8+Ci0gICAgICAgICAgICAgICAgPC9kbD4KLSAgICAgICAgICAgIDwvZGl2
PgotICAgICAgICA8L3hzbDppZj4KLSAgICA8L2Rpdj4KLTwveHNsOnRlbXBsYXRlPgotPHhzbDp0
ZW1wbGF0ZSBtYXRjaD0iRGljdGlvbmFyeVtub3QoZGVzY3JpcHRpdmUpXSI+Ci08L3hzbDp0ZW1w
bGF0ZT4KLQotPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iSW50ZXJmYWNlSW5oZXJpdGFuY2UvU2NvcGVk
TmFtZUxpc3QiPgotICAgICAgICAgICAgICA8cD4KLSAgICAgICAgICAgICAgICA8eHNsOnRleHQ+
VGhpcyBpbnRlcmZhY2UgaW5oZXJpdHMgZnJvbTogPC94c2w6dGV4dD4KLSAgICAgICAgICAgICAg
ICA8eHNsOmZvci1lYWNoIHNlbGVjdD0iTmFtZSI+Ci0gICAgICAgICAgICAgICAgICA8Y29kZT48
eHNsOnZhbHVlLW9mIHNlbGVjdD0iQG5hbWUiLz48L2NvZGU+Ci0gICAgICAgICAgICAgICAgICA8
eHNsOmlmIHRlc3Q9InBvc2l0aW9uIT1sYXN0KCkiPiwgPC94c2w6aWY+Ci0gICAgICAgICAgICAg
ICAgPC94c2w6Zm9yLWVhY2g+Ci0gICAgICAgICAgICAgIDwvcD4KLTwveHNsOnRlbXBsYXRlPgot
Ci08IS0tQXR0cmlidXRlLS0+Ci08eHNsOnRlbXBsYXRlIG1hdGNoPSJBdHRyaWJ1dGUiPgotICAg
IDxkdCBjbGFzcz0iYXR0cmlidXRlIiBpZD0ie0BuYW1lfSI+Ci0gICAgICAgIDxjb2RlPgotICAg
ICAgICAgICAgPHhzbDppZiB0ZXN0PSJAc3RyaW5naWZpZXIiPgotICAgICAgICAgICAgICAgIHN0
cmluZ2lmaWVyCi0gICAgICAgICAgICA8L3hzbDppZj4KLSAgICAgICAgICAgIDx4c2w6aWYgdGVz
dD0iQHJlYWRvbmx5Ij4KLSAgICAgICAgICAgICAgICByZWFkb25seQotICAgICAgICAgICAgPC94
c2w6aWY+Ci0gICAgICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9IlR5cGUiLz4K
LSAgICAgICAgICAgIDx4c2w6dGV4dD4gPC94c2w6dGV4dD4KLSAgICAgICAgICAgIDx4c2w6dmFs
dWUtb2Ygc2VsZWN0PSJAbmFtZSIvPgotICAgICAgICA8L2NvZGU+PC9kdD4KLSAgICAgICAgPGRk
PgotICAgICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iZGVzY3JpcHRpdmUvYnJp
ZWYiLz4KLSAgICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9ImRlc2NyaXB0aXZl
Ii8+Ci0gICAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJHZXRSYWlzZXMiLz4K
LSAgICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9IlNldFJhaXNlcyIvPgotICAg
ICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iZGVzY3JpcHRpdmUvQ29kZSIvPgot
ICAgICAgICA8L2RkPgotPC94c2w6dGVtcGxhdGU+Ci0KLTwhLS1Db25zdC0tPgotPHhzbDp0ZW1w
bGF0ZSBtYXRjaD0iQ29uc3QiPgotICA8ZHQgY2xhc3M9ImNvbnN0IiBpZD0ie0BpZH0iPgotICAg
IDxjb2RlPgotICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJUeXBlIi8+Ci0gICAg
ICA8eHNsOnRleHQ+IDwveHNsOnRleHQ+Ci0gICAgICA8eHNsOnZhbHVlLW9mIHNlbGVjdD0iQG5h
bWUiLz4KLSAgICA8L2NvZGU+Ci0gIDwvZHQ+Ci0gIDxkZD4KLSAgICA8eHNsOmFwcGx5LXRlbXBs
YXRlcyBzZWxlY3Q9ImRlc2NyaXB0aXZlL2JyaWVmIi8+Ci0gICAgPHhzbDphcHBseS10ZW1wbGF0
ZXMgc2VsZWN0PSJkZXNjcmlwdGl2ZSIvPgotICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVj
dD0iZGVzY3JpcHRpdmUvQ29kZSIvPgotICA8L2RkPgotPC94c2w6dGVtcGxhdGU+Ci0KLTwhLS1F
eHRlbmRlZEF0dHJpYnV0ZSBuYW1lPT1Db25zdHJ1Y3RvciB8fCBuYW1lPT1OYW1lZENvbnN0cnVj
dG9yLS0+Ci08eHNsOnRlbXBsYXRlIG1hdGNoPSJFeHRlbmRlZEF0dHJpYnV0ZUxpc3QvRXh0ZW5k
ZWRBdHRyaWJ1dGUiPgotICAgIDxkdCBjbGFzcz0iY29uc3RydWN0b3IiIGlkPSJ7Y29uY2F0KEBu
YW1lLGdlbmVyYXRlLWlkKC4pKX0iPgotICAgICAgICA8Y29kZT4KLSAgICAgICAgICAgIDx4c2w6
dmFsdWUtb2Ygc2VsZWN0PSIuLi8uLi9AbmFtZSIvPgotICAgICAgICAgICAgIDx4c2w6dGV4dD4o
PC94c2w6dGV4dD4KLSAgICAgICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iQXJn
dW1lbnRMaXN0Ij4KLSAgICAgICAgICAgICAgICA8eHNsOndpdGgtcGFyYW0gbmFtZT0ibm9kZXNj
IiBzZWxlY3Q9IjEiLz4KLSAgICAgICAgICAgIDwveHNsOmFwcGx5LXRlbXBsYXRlcz4KLSAgICAg
ICAgICAgIDx4c2w6dGV4dD4pOzwveHNsOnRleHQ+Ci0gICAgICAgIDwvY29kZT4KLSAgICA8L2R0
PgotICAgIDxkZD4KLSAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJkZXNjcmlw
dGl2ZS9icmllZiIvPgotICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9ImRlc2Ny
aXB0aXZlIi8+Ci0gICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iQXJndW1lbnRM
aXN0Ii8+Ci0gICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iUmFpc2VzIi8+Ci0g
ICAgICAgIDx4c2w6aWYgdGVzdD0iZGVzY3JpcHRpdmUvYXBpLWZlYXR1cmUiPgotICAgICAgICAg
ICAgPGRpdiBjbGFzcz0iYXBpLWZlYXR1cmVzIj4KLSAgICAgICAgICAgICAgICA8aDY+QVBJIGZl
YXR1cmVzPC9oNj4KLSAgICAgICAgICAgICAgICA8ZGw+Ci0gICAgICAgICAgICAgICAgICAgIDx4
c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iZGVzY3JpcHRpdmUvYXBpLWZlYXR1cmUiLz4KLSAg
ICAgICAgICAgICAgICA8L2RsPgotICAgICAgICAgICAgPC9kaXY+Ci0gICAgICAgIDwveHNsOmlm
PgotICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9IndlYmlkbCIvPgotICAgICAg
ICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9ImRlc2NyaXB0aXZlL0NvZGUiLz4KLSAgICA8
L2RkPgotPC94c2w6dGVtcGxhdGU+Ci0KLTwhLS1PcGVyYXRpb24tLT4KLTx4c2w6dGVtcGxhdGUg
bWF0Y2g9Ik9wZXJhdGlvbiI+Ci0gICAgPGR0IGNsYXNzPSJtZXRob2QiIGlkPSJ7Y29uY2F0KEBu
YW1lLGdlbmVyYXRlLWlkKC4pKX0iPgotICAgICAgICA8Y29kZT4KLSAgICAgICAgICAgIDx4c2w6
aWYgdGVzdD0iQHN0cmluZ2lmaWVyIj4KLSAgICAgICAgICAgICAgICA8eHNsOnZhbHVlLW9mIHNl
bGVjdD0iY29uY2F0KEBzdHJpbmdpZmllciwgJyAnKSIvPgotICAgICAgICAgICAgPC94c2w6aWY+
Ci0gICAgICAgICAgICA8eHNsOmlmIHRlc3Q9IkBvbWl0dGFibGUiPgotICAgICAgICAgICAgICAg
IDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJjb25jYXQoQG9taXR0YWJsZSwgJyAnKSIvPgotICAgICAg
ICAgICAgPC94c2w6aWY+Ci0gICAgICAgICAgICA8eHNsOmlmIHRlc3Q9IkBnZXR0ZXIiPgotICAg
ICAgICAgICAgICAgIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJjb25jYXQoQGdldHRlciwgJyAnKSIv
PgotICAgICAgICAgICAgPC94c2w6aWY+Ci0gICAgICAgICAgICA8eHNsOmlmIHRlc3Q9IkBzZXR0
ZXIiPgotICAgICAgICAgICAgICAgIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJjb25jYXQoQHNldHRl
ciwgJyAnKSIvPgotICAgICAgICAgICAgPC94c2w6aWY+Ci0gICAgICAgICAgICA8eHNsOmlmIHRl
c3Q9IkBjcmVhdG9yIj4KLSAgICAgICAgICAgIAk8eHNsOnZhbHVlLW9mIHNlbGVjdD0iY29uY2F0
KEBjcmVhdG9yLCAnICcpIi8+Ci0gICAgICAgICAgICA8L3hzbDppZj4KLSAgICAgICAgICAgIDx4
c2w6aWYgdGVzdD0iQGRlbGV0ZXIiPgotICAgICAgICAgICAgICAgIDx4c2w6dmFsdWUtb2Ygc2Vs
ZWN0PSJjb25jYXQoQGRlbGV0ZXIsICcgJykiLz4KLSAgICAgICAgICAgIDwveHNsOmlmPgotICAg
ICAgICAgICAgPHhzbDppZiB0ZXN0PSJAY2FsbGVyIj4KLSAgICAgICAgICAgICAgICA8eHNsOnZh
bHVlLW9mIHNlbGVjdD0iY29uY2F0KEBjYWxsZXIsICcgJykiLz4KLSAgICAgICAgICAgIDwveHNs
OmlmPgotICAgICAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJUeXBlIi8+Ci0g
ICAgICAgICAgICA8eHNsOnRleHQ+IDwveHNsOnRleHQ+Ci0gICAgICAgICAgICA8eHNsOnZhbHVl
LW9mIHNlbGVjdD0iQG5hbWUiLz4KLSAgICAgICAgICAgIDx4c2w6dGV4dD4oPC94c2w6dGV4dD4K
LSAgICAgICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iQXJndW1lbnRMaXN0Ij4K
LSAgICAgICAgICAgICAgICA8eHNsOndpdGgtcGFyYW0gbmFtZT0ibm9kZXNjIiBzZWxlY3Q9IjEi
Lz4KLSAgICAgICAgICAgIDwveHNsOmFwcGx5LXRlbXBsYXRlcz4KLSAgICAgICAgICAgIDx4c2w6
dGV4dD4pOzwveHNsOnRleHQ+Ci0gICAgICAgIDwvY29kZT4KLSAgICA8L2R0PgotICAgIDxkZD4K
LSAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJkZXNjcmlwdGl2ZS9icmllZiIv
PgotICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9IndlYmlkbCIvPgotICAgICAg
ICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9ImRlc2NyaXB0aXZlL0NvZGUiLz4KLSAgICAg
ICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJkZXNjcmlwdGl2ZSIvPgotICAgICAgICA8
eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9IkFyZ3VtZW50TGlzdCIvPgotICAgICAgICA8eHNs
OmlmIHRlc3Q9IlR5cGUvZGVzY3JpcHRpdmUiPgotICAgICAgICAgIDxkaXYgY2xhc3M9InJldHVy
bnR5cGUiPgotICAgICAgICAgICAgPGg1PlJldHVybiB2YWx1ZTwvaDU+Ci0gICAgICAgICAgICA8
eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9IlR5cGUvZGVzY3JpcHRpdmUiLz4KLSAgICAgICAg
ICA8L2Rpdj4KLSAgICAgICAgPC94c2w6aWY+Ci0gICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVz
IHNlbGVjdD0iUmFpc2VzIi8+Ci0gICAgICAgIDx4c2w6aWYgdGVzdD0iZGVzY3JpcHRpdmUvYXBp
LWZlYXR1cmUiPgotICAgICAgICAgICAgPGRpdiBjbGFzcz0iYXBpLWZlYXR1cmVzIj4KLSAgICAg
ICAgICAgICAgICA8aDY+QVBJIGZlYXR1cmVzPC9oNj4KLSAgICAgICAgICAgICAgICA8ZGw+Ci0g
ICAgICAgICAgICAgICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iZGVzY3JpcHRp
dmUvYXBpLWZlYXR1cmUiLz4KLSAgICAgICAgICAgICAgICA8L2RsPgotICAgICAgICAgICAgPC9k
aXY+Ci0gICAgICAgIDwveHNsOmlmPgotICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxl
Y3Q9ImRlc2NyaXB0aXZlL0NvZGUiLz4KLSAgICA8L2RkPgotPC94c2w6dGVtcGxhdGU+Ci0KLTwh
LS1DYWxsYmFjay0tPgotPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iQ2FsbGJhY2siPgotICAgIDx4c2w6
dmFyaWFibGUgbmFtZT0ibmFtZSIgc2VsZWN0PSJAbmFtZSIvPgotICAgIDxkaXYgY2xhc3M9ImNh
bGxiYWNrIiBpZD0ie0BpZH0iPgotICAgICAgICA8aDM+PGNvZGU+PHhzbDp2YWx1ZS1vZiBzZWxl
Y3Q9IkBuYW1lIi8+PC9jb2RlPjwvaDM+Ci0KLQkgICAgPGRkPgotCSAgICAgICAgPHhzbDphcHBs
eS10ZW1wbGF0ZXMgc2VsZWN0PSJkZXNjcmlwdGl2ZS9icmllZiIvPgotCSAgICAgICAgPHhzbDph
cHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJ3ZWJpZGwiLz4KLQkgICAgICAgIDx4c2w6YXBwbHktdGVt
cGxhdGVzIHNlbGVjdD0iZGVzY3JpcHRpdmUiLz4KLQkgICAgICAgIDxkaXYgY2xhc3M9InN5bm9w
c2lzIj4KLQkgICAgICAgICAgICA8aDY+U2lnbmF0dXJlPC9oNj4KLQkgICAgICAgICAgICA8cHJl
PgotCSAgICAgICAgICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9IlR5cGUiLz4K
LQkgICAgICAgICAgICAgICAgPHhzbDp0ZXh0PiA8L3hzbDp0ZXh0PgotCSAgICAgICAgICAgICAg
ICA8eHNsOnZhbHVlLW9mIHNlbGVjdD0iQG5hbWUiLz4KLQkgICAgICAgICAgICAgICAgPHhzbDp0
ZXh0Pig8L3hzbDp0ZXh0PgotCSAgICAgICAgICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBz
ZWxlY3Q9IkFyZ3VtZW50TGlzdCI+Ci0JICAgICAgICAgICAgICAgICAgICA8eHNsOndpdGgtcGFy
YW0gbmFtZT0ibm9kZXNjIiBzZWxlY3Q9IjEiLz4KLQkgICAgICAgICAgICAgICAgPC94c2w6YXBw
bHktdGVtcGxhdGVzPgotCSAgICAgICAgICAgICAgICA8eHNsOnRleHQ+KTsKLTwveHNsOnRleHQ+
PC9wcmU+Ci0JICAgICAgICA8L2Rpdj4KLQkgICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNl
bGVjdD0iZGVzY3JpcHRpdmUiLz4KLQkgICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVj
dD0iQXJndW1lbnRMaXN0Ii8+Ci0JICAgICAgICA8eHNsOmlmIHRlc3Q9IlR5cGUvZGVzY3JpcHRp
dmUiPgotCSAgICAgICAgICA8ZGl2IGNsYXNzPSJyZXR1cm50eXBlIj4KLQkgICAgICAgICAgICA8
aDU+UmV0dXJuIHZhbHVlPC9oNT4KLQkgICAgICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBz
ZWxlY3Q9IlR5cGUvZGVzY3JpcHRpdmUiLz4KLQkgICAgICAgICAgPC9kaXY+Ci0JICAgICAgICA8
L3hzbDppZj4KLQkgICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iZGVzY3JpcHRp
dmUvQ29kZSIvPgotCSAgICA8L2RkPgotCTwvZGl2PgotPC94c2w6dGVtcGxhdGU+Ci0KLTwhLS1B
cmd1bWVudExpc3QuIFRoaXMgaXMgcGFzc2VkICRub2Rlc2M9dHJ1ZSB0byBvdXRwdXQganVzdCB0
aGUgYXJndW1lbnQKLSAgICB0eXBlcyBhbmQgbmFtZXMsIGFuZCBub3QgYW55IGRvY3VtZW50YXRp
b24gZm9yIHRoZW0uLS0+Ci08eHNsOnRlbXBsYXRlIG1hdGNoPSJBcmd1bWVudExpc3QiPgotICAg
IDx4c2w6cGFyYW0gbmFtZT0ibm9kZXNjIi8+Ci0gICAgPHhzbDpjaG9vc2U+Ci0gICAgICAgIDx4
c2w6d2hlbiB0ZXN0PSIkbm9kZXNjIj4KLSAgICAgICAgICAgIDwhLS0kbm9kZXNjIGlzIHRydWU6
IGp1c3Qgb3V0cHV0IHRoZSB0eXBlcyBhbmQgbmFtZXMtLT4KLSAgICAgICAgICAgIDx4c2w6YXBw
bHktdGVtcGxhdGVzIHNlbGVjdD0iQXJndW1lbnRbMV0iPgotICAgICAgICAgICAgICAgIDx4c2w6
d2l0aC1wYXJhbSBuYW1lPSJub2Rlc2MiIHNlbGVjdD0iJ25vY29tbWEnIi8+Ci0gICAgICAgICAg
ICA8L3hzbDphcHBseS10ZW1wbGF0ZXM+Ci0gICAgICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRl
cyBzZWxlY3Q9IkFyZ3VtZW50W3Bvc2l0aW9uKCkgIT0gMV0iPgotICAgICAgICAgICAgICAgIDx4
c2w6d2l0aC1wYXJhbSBuYW1lPSJub2Rlc2MiIHNlbGVjdD0iJ2NvbW1hJyIvPgotICAgICAgICAg
ICAgPC94c2w6YXBwbHktdGVtcGxhdGVzPgotICAgICAgICA8L3hzbDp3aGVuPgotICAgICAgICA8
eHNsOndoZW4gdGVzdD0iQXJndW1lbnQiPgotICAgICAgICAgICAgPCEtLSRub2Rlc2MgaXMgZmFs
c2U6IG91dHB1dCB0aGUgZG9jdW1lbnRhdGlvbi0tPgotICAgICAgICAgICAgPGRpdiBjbGFzcz0i
cGFyYW1ldGVycyI+Ci0gICAgICAgICAgICAgICAgPGg2PlBhcmFtZXRlcnM8L2g2PgotICAgICAg
ICAgICAgICAgIDx1bD4KLSAgICAgICAgICAgICAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMv
PgotICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICA8L2Rpdj4KLSAgICAgICAgPC94
c2w6d2hlbj4KLSAgICA8L3hzbDpjaG9vc2U+Ci08L3hzbDp0ZW1wbGF0ZT4KLQotPCEtLUFyZ3Vt
ZW50LiBUaGlzIGlzIHBhc3NlZCAkbm9kZXNjPWZhbHNlIHRvIG91dHB1dCB0aGUgZG9jdW1lbnRh
dGlvbiwKLSAgICBvciAkbm9kZXNjPSJub2NvbW1hIiB0byBvdXRwdXQgdGhlIHR5cGUgYW5kIG5h
bWUsIG9yICRub2Rlc2M9ImNvbW1hIgotICAgIHRvIG91dHB1dCBhIGNvbW1hIHRoZW4gdGhlIHR5
cGUgYW5kIG5hbWUuIC0tPgotPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iQXJndW1lbnQiPgotICAgIDx4
c2w6cGFyYW0gbmFtZT0ibm9kZXNjIi8+Ci0gICAgPHhzbDpjaG9vc2U+Ci0gICAgICAgIDx4c2w6
d2hlbiB0ZXN0PSIkbm9kZXNjIj4KLSAgICAgICAgICAgIDwhLS0kbm9kZXNjIGlzIHRydWU6IGp1
c3Qgb3V0cHV0IHRoZSB0eXBlcyBhbmQgbmFtZXMtLT4KLSAgICAgICAgICAgIDx4c2w6aWYgdGVz
dD0iJG5vZGVzYyA9ICdjb21tYSciPgotICAgICAgICAgICAgICAgIDwhLS1OZWVkIGEgY29tbWEg
Zmlyc3QuLS0+Ci0gICAgICAgICAgICAgICAgPHhzbDp0ZXh0PiwgPC94c2w6dGV4dD4KLSAgICAg
ICAgICAgIDwveHNsOmlmPgotICAgICAgICAgICAgPHhzbDppZiB0ZXN0PSJAaW4iPjx4c2w6dmFs
dWUtb2Ygc2VsZWN0PSJjb25jYXQoQGluLCAnICcpIi8+PC94c2w6aWY+Ci0gICAgICAgICAgICA8
eHNsOmlmIHRlc3Q9IkBvcHRpb25hbCI+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9ImNvbmNhdChAb3B0
aW9uYWwsICcgJykiLz48L3hzbDppZj4KLSAgICAgICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVz
IHNlbGVjdD0iVHlwZSIvPgotICAgICAgICAgICAgPHhzbDppZiB0ZXN0PSJAZWxsaXBzaXMiPjx4
c2w6dGV4dD4uLi48L3hzbDp0ZXh0PjwveHNsOmlmPgotICAgICAgICAgICAgPHhzbDp0ZXh0PiA8
L3hzbDp0ZXh0PgotICAgICAgICAgICAgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBuYW1lIi8+Ci0J
ICAgIDx4c2w6aWYgdGVzdD0iQHZhbHVlIj4KLQkgICAgICA8eHNsOnRleHQ+RGVmYXVsdCB2YWx1
ZTogPC94c2w6dGV4dD48eHNsOnZhbHVlLW9mIHNlbGVjdD0iQHZhbHVlIi8+Ci0JICAgIDwveHNs
OmlmPgotCSAgICA8eHNsOmlmIHRlc3Q9IkBzdHJpbmd2YWx1ZSI+Ci0JICAgICAgPHhzbDp0ZXh0
PkRlZmF1bHQgdmFsdWU6ICI8L3hzbDp0ZXh0Pjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAc3RyaW5n
dmFsdWUiLz48eHNsOnRleHQ+IjwveHNsOnRleHQ+Ci0JICAgIDwveHNsOmlmPgkgICAgCi0gICAg
ICAgIDwveHNsOndoZW4+Ci0gICAgICAgIDx4c2w6b3RoZXJ3aXNlPgotICAgICAgICAgICAgPCEt
LSRub2Rlc2MgaXMgZmFsc2U6IG91dHB1dCB0aGUgZG9jdW1lbnRhdGlvbi0tPgotICAgICAgICAg
ICAgPGxpIGNsYXNzPSJwYXJhbSI+Ci0gICAgICAgICAgICAgICAgPHhzbDp2YWx1ZS1vZiBzZWxl
Y3Q9IkBuYW1lIi8+OgotICAgICAgICAgICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVj
dD0iZGVzY3JpcHRpdmUiLz4KLSAgICAgICAgICAgIDwvbGk+Ci0gICAgICAgIDwveHNsOm90aGVy
d2lzZT4KLSAgICA8L3hzbDpjaG9vc2U+Ci08L3hzbDp0ZW1wbGF0ZT4KLQotPCEtLVJhaXNlcyAo
Zm9yIGFuIE9wZXJhdGlvbikuIEl0IGlzIGFscmVhZHkga25vd24gdGhhdCB0aGUgbGlzdAotICAg
IGlzIG5vdCBlbXB0eS4tLT4KLTx4c2w6dGVtcGxhdGUgbWF0Y2g9IlJhaXNlcyI+Ci0gICAgPGRp
diBjbGFzcz0iZXhjZXB0aW9ubGlzdCI+Ci0gICAgICAgIDxoNT5FeGNlcHRpb25zPC9oNT4KLSAg
ICAgICAgPHVsPgotICAgICAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMvPgotICAgICAgICA8
L3VsPgotICAgIDwvZGl2PgotPC94c2w6dGVtcGxhdGU+Ci0KLTwhLS1SYWlzZUV4Y2VwdGlvbiwg
dGhlIG5hbWUgb2YgYW4gZXhjZXB0aW9uIGluIGEgUmFpc2VzLi0tPgotPHhzbDp0ZW1wbGF0ZSBt
YXRjaD0iUmFpc2VFeGNlcHRpb24iPgotICAgIDxsaSBjbGFzcz0iZXhjZXB0aW9uIj4KLSAgICAg
ICAgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBuYW1lIi8+OgotICAgICAgICA8eHNsOmFwcGx5LXRl
bXBsYXRlcyBzZWxlY3Q9ImRlc2NyaXB0aXZlIi8+Ci0gICAgPC9saT4KLTwveHNsOnRlbXBsYXRl
PgotCi08IS0tVHlwZS4tLT4KLTx4c2w6dGVtcGxhdGUgbWF0Y2g9IlR5cGUiPgotICAgIDx4c2w6
Y2hvb3NlPgotICAgICAgICA8eHNsOndoZW4gdGVzdD0iVHlwZSI+Ci0gICAgICAgICAgICA8eHNs
OnRleHQ+c2VxdWVuY2UgJmx0OzwveHNsOnRleHQ+Ci0gICAgICAgICAgICA8eHNsOmFwcGx5LXRl
bXBsYXRlcy8+Ci0gICAgICAgICAgICA8eHNsOnRleHQ+PjwveHNsOnRleHQ+Ci0gICAgICAgIDwv
eHNsOndoZW4+Ci0gICAgICAgIDx4c2w6b3RoZXJ3aXNlPgotICAgICAgICAgICAgPHhzbDp2YWx1
ZS1vZiBzZWxlY3Q9IkBuYW1lIi8+Ci0gICAgICAgICAgICA8eHNsOnZhbHVlLW9mIHNlbGVjdD0i
QHR5cGUiLz4KLSAgICAgICAgICAgIDx4c2w6aWYgdGVzdD0iQG51bGxhYmxlIj4KLSAgICAgICAg
ICAgICAgICA8eHNsOnRleHQ+PzwveHNsOnRleHQ+Ci0gICAgICAgICAgICA8L3hzbDppZj4KLSAg
ICAgICAgPC94c2w6b3RoZXJ3aXNlPgotICAgIDwveHNsOmNob29zZT4KLTwveHNsOnRlbXBsYXRl
PgotCi08IS0tRW51bS4tLT4KLTx4c2w6dGVtcGxhdGUgbWF0Y2g9IkVudW1bZGVzY3JpcHRpdmVd
Ij4KLSAgICA8eHNsOnZhcmlhYmxlIG5hbWU9Im5hbWUiIHNlbGVjdD0iQG5hbWUiLz4KLSAgICA8
ZGl2IGNsYXNzPSJlbnVtIiBpZD0ie0BpZH0iPgotICAgICAgICA8aDM+PGNvZGU+PHhzbDp2YWx1
ZS1vZiBzZWxlY3Q9IkBuYW1lIi8+PC9jb2RlPjwvaDM+Ci0gICAgICAgIDx4c2w6YXBwbHktdGVt
cGxhdGVzIHNlbGVjdD0iZGVzY3JpcHRpdmUvYnJpZWYiLz4KLSAgICAgICAgPHhzbDphcHBseS10
ZW1wbGF0ZXMgc2VsZWN0PSJ3ZWJpZGwiLz4KLSAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMg
c2VsZWN0PSJkZXNjcmlwdGl2ZSIvPgotICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxl
Y3Q9ImRlc2NyaXB0aXZlL0NvZGUiLz4KLSAgICAgICAgPGRpdiBjbGFzcz0iZW51bXZhbHVlcyI+
Ci0gICAgICAgICAgICA8aDQ+VmFsdWVzPC9oND4KLSAgICAgICAgICAgIDxkbD4KLSAgICAgICAg
ICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJFbnVtVmFsdWUiLz4KLSAgICAgICAg
ICAgIDwvZGw+Ci0gICAgICAgIDwvZGl2PgotICAgIDwvZGl2PgotPC94c2w6dGVtcGxhdGU+Ci08
eHNsOnRlbXBsYXRlIG1hdGNoPSJFbnVtW25vdChkZXNjcmlwdGl2ZSldIj4KLTwveHNsOnRlbXBs
YXRlPgotCi08IS0tRW51bVZhbHVlLS0+Ci08eHNsOnRlbXBsYXRlIG1hdGNoPSJFbnVtVmFsdWUi
PgotICA8ZHQgY2xhc3M9ImVudW12YWx1ZSIgaWQ9IntAaWR9Ij4KLSAgICA8Y29kZT4KLSAgICAg
IDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAc3RyaW5ndmFsdWUiLz4KLSAgICA8L2NvZGU+Ci0gIDwv
ZHQ+Ci0gIDxkZD4KLSAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9ImRlc2NyaXB0aXZl
L2JyaWVmIi8+Ci0gICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJkZXNjcmlwdGl2ZSIv
PgotICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iZGVzY3JpcHRpdmUvQ29kZSIvPgot
ICA8L2RkPgotPC94c2w6dGVtcGxhdGU+Ci0KLTx4c2w6dGVtcGxhdGUgbWF0Y2g9ImRlc2NyaXB0
aXZlW25vdChhdXRob3IpXSI+Ci0gIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0idmVyc2lv
biIvPgotICA8eHNsOmlmIHRlc3Q9ImF1dGhvciI+Ci0gIDwveHNsOmlmPgotICA8eHNsOmFwcGx5
LXRlbXBsYXRlcyBzZWxlY3Q9ImRlc2NyaXB0aW9uIi8+Ci08L3hzbDp0ZW1wbGF0ZT4KLQotPCEt
LWJyaWVmLS0+Ci08eHNsOnRlbXBsYXRlIG1hdGNoPSJicmllZiI+Ci0gICAgPGRpdiBjbGFzcz0i
YnJpZWYiPgotICAgICAgICA8cD4KLSAgICAgICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzLz4K
LSAgICAgICAgPC9wPgotICAgIDwvZGl2PgotPC94c2w6dGVtcGxhdGU+Ci0KLTwhLS1kZXNjcmlw
dGlvbiBpbiBSZXR1cm5UeXBlIG9yIEFyZ3VtZW50IG9yIFNjb3BlZE5hbWUtLT4KLTx4c2w6dGVt
cGxhdGUgbWF0Y2g9IlR5cGUvZGVzY3JpcHRpdmUvZGVzY3JpcHRpb258QXJndW1lbnQvZGVzY3Jp
cHRpdmUvZGVzY3JpcHRpb258TmFtZS9kZXNjcmlwdGl2ZS9kZXNjcmlwdGlvbiI+Ci0gICAgPCEt
LUlmIHRoZSBkZXNjcmlwdGlvbiBjb250YWlucyBqdXN0IGEgc2luZ2xlIDxwPiB0aGVuIHdlIG9t
aXQKLSAgICAgICAgdGhlIDxwPiBhbmQganVzdCBkbyBpdHMgY29udGVudHMuLS0+Ci0gICAgPHhz
bDpjaG9vc2U+Ci0gICAgICAgIDx4c2w6d2hlbiB0ZXN0PSJwIGFuZCBjb3VudCgqKSA9IDEiPgot
ICAgICAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJwLyp8cC90ZXh0KCkiLz4K
LSAgICAgICAgPC94c2w6d2hlbj4KLSAgICAgICAgPHhzbDpvdGhlcndpc2U+Ci0gICAgICAgICAg
ICA8ZGl2IGNsYXNzPSJkZXNjcmlwdGlvbiI+Ci0gICAgICAgICAgICAgICAgPHhzbDphcHBseS10
ZW1wbGF0ZXMvPgotICAgICAgICAgICAgPC9kaXY+Ci0gICAgICAgIDwveHNsOm90aGVyd2lzZT4K
LSAgICA8L3hzbDpjaG9vc2U+Ci08L3hzbDp0ZW1wbGF0ZT4KLQotPCEtLU90aGVyIGRlc2NyaXB0
aW9uLS0+Ci08eHNsOnRlbXBsYXRlIG1hdGNoPSJkZXNjcmlwdGlvbiI+Ci0gICAgPGRpdiBjbGFz
cz0iZGVzY3JpcHRpb24iPgotICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcy8+Ci0gICAgPC9k
aXY+Ci08L3hzbDp0ZW1wbGF0ZT4KLQotPCEtLUNvZGUtLT4KLTx4c2w6dGVtcGxhdGUgbWF0Y2g9
IkNvZGUiPgotICAgIDxkaXYgY2xhc3M9ImV4YW1wbGUiPgotICAgIAk8eHNsOmNob29zZT4KLSAg
ICAgICAgCTx4c2w6d2hlbiB0ZXN0PSJAbGFuZyI+Ci0JICAgICAgIAkJPGg1Pjx4c2w6dmFsdWUt
b2Ygc2VsZWN0PSJAbGFuZyIvPjwvaDU+Ci0gICAgICAgIAk8L3hzbDp3aGVuPgotICAgICAgICAJ
PHhzbDpvdGhlcndpc2U+Ci0JICAgICAgIAkJPGg1PkNvZGUgZXhhbXBsZTwvaDU+Ci0gICAgICAg
IAk8L3hzbDpvdGhlcndpc2U+Ci0gICAgCTwveHNsOmNob29zZT4KLSAgICAgICAgPHByZSBjbGFz
cz0iZXhhbXBsZWNvZGUiPjx4c2w6YXBwbHktdGVtcGxhdGVzLz48L3ByZT4KLSAgICA8L2Rpdj4K
LTwveHNsOnRlbXBsYXRlPgotCi08IS0td2ViaWRsIDogbGl0ZXJhbCBXZWIgSURMIGZyb20gaW5w
dXQtLT4KLTx4c2w6dGVtcGxhdGUgbWF0Y2g9IndlYmlkbCI+Ci0gICAgPGg1PldlYklETDwvaDU+
Ci0gICAgPHByZSBjbGFzcz0id2ViaWRsIj48eHNsOmFwcGx5LXRlbXBsYXRlcy8+PC9wcmU+Ci08
L3hzbDp0ZW1wbGF0ZT4KLQotPCEtLWF1dGhvci0tPgotPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iYXV0
aG9yIj4KLSAgICA8bGkgY2xhc3M9ImF1dGhvciI+PHhzbDphcHBseS10ZW1wbGF0ZXMvPjwvbGk+
Ci08L3hzbDp0ZW1wbGF0ZT4KLQotPCEtLXZlcnNpb24tLT4KLTx4c2w6dGVtcGxhdGUgbWF0Y2g9
InZlcnNpb24iPgotICAgIDxkaXYgY2xhc3M9InZlcnNpb24iPgotICAgICAgICA8aDI+Ci0gICAg
ICAgICAgICBWZXJzaW9uOiA8eHNsOmFwcGx5LXRlbXBsYXRlcy8+Ci0gICAgICAgIDwvaDI+Ci0g
ICAgPC9kaXY+Ci08L3hzbDp0ZW1wbGF0ZT4KLQotPCEtLWFwaS1mZWF0dXJlLS0+Ci08eHNsOnRl
bXBsYXRlIG1hdGNoPSJhcGktZmVhdHVyZSI+Ci0gICAgPGR0PgotICAgICAgICA8eHNsOnZhbHVl
LW9mIHNlbGVjdD0iQGlkZW50aWZpZXIiLz4KLSAgICA8L2R0PgotICAgIDxkZD4KLSAgICAgICAg
PHhzbDphcHBseS10ZW1wbGF0ZXMvPgotICAgIDwvZGQ+Ci08L3hzbDp0ZW1wbGF0ZT4KLQotPCEt
LXBhcmFtLS0+Ci08eHNsOnRlbXBsYXRlIG1hdGNoPSJwYXJhbSI+Ci0gICAgPGxpPgotICAgICAg
ICA8Y29kZT48eHNsOnZhbHVlLW9mIHNlbGVjdD0iQGlkZW50aWZpZXIiLz48L2NvZGU+OgotICAg
ICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcy8+Ci0gICAgPC9saT4KLTwveHNsOnRlbXBsYXRlPgot
Ci08IS0tZGVmLWluc3RhbnRpYXRlZC4KLSAgICBUaGlzIGFzc3VtZXMgdGhhdCBvbmx5IG9uZSBp
bnRlcmZhY2UgaW4gdGhlIG1vZHVsZSBoYXMgYSBkZWYtaW5zdGFudGlhdGVkLAotICAgIGFuZCB0
aGF0IGludGVyZmFjZSBjb250YWlucyBqdXN0IG9uZSBhdHRyaWJ1dGUuLS0+Ci08eHNsOnRlbXBs
YXRlIG1hdGNoPSJkZWYtaW5zdGFudGlhdGVkIj4KLSAgICA8eHNsOnZhcmlhYmxlIG5hbWU9Imlm
YWNlbmFtZSIgc2VsZWN0PSIuLi8uLi9AbmFtZSIvPgotICAgIDxwPgotICAgICAgICA8eHNsOmNo
b29zZT4KLSAgICAgICAgICAgIDx4c2w6d2hlbiB0ZXN0PSJjb3VudChkZXNjcmlwdGl2ZS9hcGkt
ZmVhdHVyZSk9MSI+Ci0gICAgICAgICAgICAgICAgV2hlbiB0aGUgZmVhdHVyZQotICAgICAgICAg
ICAgPC94c2w6d2hlbj4KLSAgICAgICAgICAgIDx4c2w6b3RoZXJ3aXNlPgotICAgICAgICAgICAg
ICAgIFdoZW4gYW55IG9mIHRoZSBmZWF0dXJlcwotICAgICAgICAgICAgPC94c2w6b3RoZXJ3aXNl
PgotICAgICAgICA8L3hzbDpjaG9vc2U+Ci0gICAgPC9wPgotICAgIDx1bD4KLSAgICAgICAgPHhz
bDpmb3ItZWFjaCBzZWxlY3Q9ImRlc2NyaXB0aXZlL2FwaS1mZWF0dXJlIj4KLSAgICAgICAgICAg
IDxsaT48Y29kZT4KLSAgICAgICAgICAgICAgICA8eHNsOnZhbHVlLW9mIHNlbGVjdD0iQGlkZW50
aWZpZXIiLz4KLSAgICAgICAgICAgIDwvY29kZT48L2xpPgotICAgICAgICA8L3hzbDpmb3ItZWFj
aD4KLSAgICA8L3VsPgotICAgIDxwPgotICAgICAgICBpcyBzdWNjZXNzZnVsbHkgcmVxdWVzdGVk
LCB0aGUgaW50ZXJmYWNlCi0gICAgICAgIDxjb2RlPjx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVj
dD0iLi4vLi4vQXR0cmlidXRlL1R5cGUiLz48L2NvZGU+Ci0gICAgICAgIGlzIGluc3RhbnRpYXRl
ZCwgYW5kIHRoZSByZXN1bHRpbmcgb2JqZWN0IGFwcGVhcnMgaW4gdGhlIGdsb2JhbAotICAgICAg
ICBuYW1lc3BhY2UgYXMKLSAgICAgICAgPGNvZGU+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9Ii4uLy4u
Ly4uL0ltcGxlbWVudHNbQG5hbWUyPSRpZmFjZW5hbWVdL0BuYW1lMSIvPi48eHNsOnZhbHVlLW9m
IHNlbGVjdD0iLi4vLi4vQXR0cmlidXRlL0BuYW1lIi8+PC9jb2RlPi4KLSAgICA8L3A+Ci08L3hz
bDp0ZW1wbGF0ZT4KLQotCi0KLTwhLS1odG1sIGVsZW1lbnRzLS0+Ci08eHNsOnRlbXBsYXRlIG1h
dGNoPSJhfGJ8YnJ8ZGR8ZGx8ZHR8ZW18bGl8cHx0YWJsZXx0ZHx0aHx0cnx1bCI+Ci0gICAgPHhz
bDplbGVtZW50IG5hbWU9IntuYW1lKCl9Ij48eHNsOmZvci1lYWNoIHNlbGVjdD0iQCoiPjx4c2w6
YXR0cmlidXRlIG5hbWU9IntuYW1lKCl9Ij48eHNsOnZhbHVlLW9mIHNlbGVjdD0iLiIvPjwveHNs
OmF0dHJpYnV0ZT48L3hzbDpmb3ItZWFjaD48eHNsOmFwcGx5LXRlbXBsYXRlcy8+PC94c2w6ZWxl
bWVudD4KLTwveHNsOnRlbXBsYXRlPgotCi08eHNsOnRlbXBsYXRlIG5hbWU9InN1bW1hcnkiPgot
ICA8dGFibGUgY2xhc3M9InN1bW1hcnkiPgotICAgIDx0aGVhZD4KLSAgICAgIDx0cj48dGg+SW50
ZXJmYWNlPC90aD48dGg+TWV0aG9kPC90aD48L3RyPgotICAgIDwvdGhlYWQ+Ci0gICAgPHRib2R5
PgotICAgICAgPHhzbDpmb3ItZWFjaCBzZWxlY3Q9IkludGVyZmFjZVtkZXNjcmlwdGl2ZV0iPgot
ICAgICAgICA8dHI+PHRkPjxhIGhyZWY9IiN7QGlkfSI+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBu
YW1lIi8+PC9hPjwvdGQ+Ci0gICAgICAgIDx0ZD4KLSAgICAgICAgICA8eHNsOmZvci1lYWNoIHNl
bGVjdD0iT3BlcmF0aW9uIj4KLQotICAgICAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2Vs
ZWN0PSJUeXBlIi8+Ci0gICAgICAgICAgICA8eHNsOnRleHQ+IDwveHNsOnRleHQ+Ci0gICAgICAg
ICAgICA8YSBocmVmPSIje2NvbmNhdChAbmFtZSxnZW5lcmF0ZS1pZCguKSl9Ij48eHNsOnZhbHVl
LW9mIHNlbGVjdD0iQG5hbWUiLz48L2E+Ci0gICAgICAgICAgICA8eHNsOnRleHQ+KDwveHNsOnRl
eHQ+Ci0gICAgICAgICAgICA8eHNsOmZvci1lYWNoIHNlbGVjdD0iQXJndW1lbnRMaXN0L0FyZ3Vt
ZW50Ij4KLSAgICAgICAgICAgICAgPHhzbDp2YXJpYWJsZSBuYW1lPSJ0eXBlIj48eHNsOmFwcGx5
LXRlbXBsYXRlcyBzZWxlY3Q9IlR5cGUiLz48L3hzbDp2YXJpYWJsZT4KLSAgICAgICAgICAgICAg
PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9ImNvbmNhdChub3JtYWxpemUtc3BhY2UoJHR5cGUpLCcgJyxA
bmFtZSkiLz4KLSAgICAgICAgICAgICAgPHhzbDppZiB0ZXN0PSJwb3NpdGlvbigpICE9IGxhc3Qo
KSI+LCA8L3hzbDppZj4KLSAgICAgICAgICAgIDwveHNsOmZvci1lYWNoPgotICAgICAgICAgICAg
PHhzbDp0ZXh0Pik8L3hzbDp0ZXh0PgotICAgICAgICAgICAgPHhzbDppZiB0ZXN0PSJwb3NpdGlv
bigpIT1sYXN0KCkiPjxici8+PC94c2w6aWY+Ci0gICAgICAgICAgPC94c2w6Zm9yLWVhY2g+Ci0g
ICAgICAgIDwvdGQ+Ci0gICAgICAgIDwvdHI+Ci0gICAgICA8L3hzbDpmb3ItZWFjaD4KLSAgICA8
L3Rib2R5PgotICA8L3RhYmxlPgotPC94c2w6dGVtcGxhdGU+Ci0KLTwhLS08cmVmPiBlbGVtZW50
IGluIGxpdGVyYWwgV2ViIElETC4tLT4KLTx4c2w6dGVtcGxhdGUgbWF0Y2g9InJlZltAcmVmXSI+
Ci0gICAgPGEgaHJlZj0ie0ByZWZ9Ij4KLSAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMvPgot
ICAgIDwvYT4KLTwveHNsOnRlbXBsYXRlPgotCi08L3hzbDpzdHlsZXNoZWV0PgotCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9NYWtlZmlsZSBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJv
Yy90ZXN0L01ha2VmaWxlCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjNDA5MzllMzZm
Yy4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvTWFrZWZpbGUKKysr
IC9kZXYvbnVsbApAQCAtMSw5MSArMCwwIEBACi0jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKLSMgJElkOiBNYWtl
ZmlsZSA0MTggMjAxMC0wNi0xNiAxNToyNjo1MVogdHByICQKLSMgQ29weXJpZ2h0IDIwMDkgQXBs
aXggQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0jIExpY2Vuc2VkIHVuZGVyIHRo
ZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOwotIyB5b3UgbWF5
IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2Uu
Ci0jIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAotIyAgICAgaHR0cDov
L3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCi0jIFVubGVzcyByZXF1aXJlZCBi
eSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKLSMgZGlz
dHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBC
QVNJUywKLSMgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVp
dGhlciBleHByZXNzIG9yIGltcGxpZWQuCi0jIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNp
ZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKLSMgbGltaXRhdGlvbnMgdW5k
ZXIgdGhlIExpY2Vuc2UuCi0jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKLQotVU5BTUUgPSAkKHNoZWxsIHVuYW1l
KQotVkFMSURURVNURElSID0gdmFsaWQvaWRsCi1WQUxJRFRFU1RSRUZESVIgPSB2YWxpZC94bWwK
LVZBTElEVEVTVE9CSkRJUiA9IHZhbGlkL29iagotSU5WQUxJRFRFU1RESVIgPSBpbnZhbGlkL2lk
bAotSU5WQUxJRFRFU1RSRUZESVIgPSBpbnZhbGlkL2Vycm9yCi1JTlZBTElEVEVTVE9CSkRJUiA9
IGludmFsaWQvb2JqCi0KLSMgVGhlIHNldHRpbmdzIG9mIFNSQ0RJUiAod2hlcmUgdG8gZmluZCB0
aGUgeHNsIHN0eWxlIHNoZWV0cyksIE9CSkRJUiAod2hlcmUgdG8KLSMgZmluZCB3aWRscHJvYyBh
bmQgd2lkbHByb2N4bWwuZHRkKSBhbmQgVkFMRFRFU1RPQkpESVIgKHdoZXJlIHRvIHB1dCB0aGUK
LSMgcmVzdWx0aW5nIFhNTCBmaWxlcykgcmVmbGVjdCB0aGUgZGlyZWN0b3J5Ci0jIHN0cnVjdHVy
ZSBvZiB0aGUgcmVsZWFzZWQgd2lkbHByb2MuemlwIGZpbGUgd2hlbiB1bnppcHBlZC4gLi4vTWFr
ZWZpbGUgY2FsbHMKLSMgdGhpcyBNYWtlZmlsZSB3aXRoIHRoZXNlIHNldHRpbmdzIG92ZXJyaWRk
ZW4gdG8gcmVmbGVjdCB0aGUgZGlyZWN0b3J5Ci0jIHN0cnVjdHVyZSBpbiBzdm4uCi1TUkNESVIg
PSAuLgotT0JKRElSID0gLi4KLQotIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCi0jIExpbnV4IGNvbmZpZ3VyYXRp
b24KLSMKLWlmbmVxICgsJChmaWx0ZXIgTGludXglLCAkKFVOQU1FKSkpIAotCi1FWEVTVUZGSVgg
PQotCi1lbHNlCi0jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKLSMgRGFyd2luIGNvbmZpZ3VyYXRpb24KLSMKLWlm
bmVxICgsJChmaWx0ZXIgRGFyd2luJSwgJChVTkFNRSkpKSAKLQotRVhFU1VGRklYID0KLQotZWxz
ZQotIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjCi0jIFdpbmRvd3MgKGN5Z3dpbiBidXQgdXNpbmcgTVMgY29tcGls
ZXIpIGNvbmZpZ3VyYXRpb24KLSMKLWlmbmVxICgsJChmaWx0ZXIgQ1lHV0lOJSwgJChVTkFNRSkp
KSAKLQotRVhFU1VGRklYID0gLmV4ZQotCi1lbmRpZgotZW5kaWYKLWVuZGlmCi0KLSMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIwotIyBDb21tb24gbWFrZWZpbGUKLSMKLVdJRExQUk9DID0gJChPQkpESVIpL3dpZGxw
cm9jJChFWEVTVUZGSVgpCi1EVEQgPSAkKE9CSkRJUikvd2lkbHByb2N4bWwuZHRkCi0KLVZBTElE
X1dJRExTID0gJChwYXRzdWJzdCAkKFZBTElEVEVTVERJUikvJSwgJSwgJCh3aWxkY2FyZCAkKFZB
TElEVEVTVERJUikvKi53aWRsKSkKLUlOVkFMSURfV0lETFMgPSAkKHBhdHN1YnN0ICQoSU5WQUxJ
RFRFU1RESVIpLyUsICUsICQod2lsZGNhcmQgJChJTlZBTElEVEVTVERJUikvKi53aWRsKSkKLQot
dGVzdCA6ICQocGF0c3Vic3QgJS53aWRsLCAkKFZBTElEVEVTVE9CSkRJUikvJS53aWRscHJvY3ht
bCwgJChWQUxJRF9XSURMUykpICQocGF0c3Vic3QgJS53aWRsLCAkKElOVkFMSURURVNUT0JKRElS
KS8lLnR4dCwgJChJTlZBTElEX1dJRExTKSkgJChXSURMUFJPQykgCi0JQGVjaG8gIiRAIHBhc3Mi
Ci0KLSMkKEVYQU1QTEVTT0JKRElSKS8lLmh0bWwgOiAkKEVYQU1QTEVTT0JKRElSKS8lLndpZGxw
cm9jeG1sICQoU1JDRElSKS93aWRscHJvY3htbHRvaHRtbC54c2wgTWFrZWZpbGUKLSMJY3AgJChT
UkNESVIpL3dpZGxwcm9jeG1sdG9odG1sLnhzbCAkKGRpciAkQCkvCi0jCXhzbHRwcm9jICQoZGly
ICRAKS93aWRscHJvY3htbHRvaHRtbC54c2wgJDwgPiRACi0KLQotJChWQUxJRFRFU1RPQkpESVIp
LyUud2lkbHByb2N4bWwgOiAkKFZBTElEVEVTVERJUikvJS53aWRsICQoV0lETFBST0MpICQoRFRE
KSBNYWtlZmlsZSAkKHBhdHN1YnN0ICUud2lkbCwgJChWQUxJRFRFU1RSRUZESVIpLyUud2lkbHBy
b2N4bWwsICQoVkFMSURfV0lETFMpKQotCW1rZGlyIC1wICQoZGlyICRAKQotCSQoV0lETFBST0Mp
ICQ8ID4kQAotCWNwICQoT0JKRElSKS93aWRscHJvY3htbC5kdGQgJChkaXIgJEApLwotCXhtbGxp
bnQgLS1ub291dCAtLWR0ZHZhbGlkICQoRFREKSAkQAotCWRpZmYgJEAgJChWQUxJRFRFU1RSRUZE
SVIpL2BiYXNlbmFtZSAkQGAKLQotJChJTlZBTElEVEVTVE9CSkRJUikvJS50eHQgOiAkKElOVkFM
SURURVNURElSKS8lLndpZGwgJChXSURMUFJPQykgTWFrZWZpbGUgJChwYXRzdWJzdCAlLndpZGws
ICQoSU5WQUxJRFRFU1RSRUZESVIpLyUudHh0LCAkKElOVkFMSURfV0lETFMpKQotCW1rZGlyIC1w
ICQoZGlyICRAKQotCS0kKFdJRExQUk9DKSAkPCAgPiRAIDI+JjEKLQlkaWZmICRAICQoSU5WQUxJ
RFRFU1RSRUZESVIpL2BiYXNlbmFtZSAkQGAKLQotCi0KLS5ERUxFVEVfT05fRVJST1I6Ci0KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L2ludmFsaWQvZXJyb3IvZW51bS50eHQg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9pbnZhbGlkL2Vycm9yL2VudW0udHh0CmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2ZjhiYThlZWY0Ni4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L3dpZGxwcm9jL3Rlc3QvaW52YWxpZC9lcnJvci9lbnVtLnR4dAorKysgL2Rldi9udWxs
CkBAIC0xICswLDAgQEAKLWludmFsaWQvaWRsL2VudW0ud2lkbDogMTogYXQgJzEnOiBleHBlY3Rl
ZCBzdHJpbmcgaW4gZW51bQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvaW52
YWxpZC9lcnJvci9tb2R1bGUudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvaW52YWxpZC9l
cnJvci9tb2R1bGUudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3ZTUwNDMxNmU1
MS4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvaW52YWxpZC9lcnJv
ci9tb2R1bGUudHh0CisrKyAvZGV2L251bGwKQEAgLTEgKzAsMCBAQAotaW52YWxpZC9pZGwvbW9k
dWxlLndpZGw6IDI6IGF0ICdnZngnOiBleHBlY3RlZCAnaW1wbGVtZW50cycKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L2ludmFsaWQvZXJyb3Ivbm9ubnVsbGFibGVhbnkudHh0
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvaW52YWxpZC9lcnJvci9ub25udWxsYWJsZWFueS50
eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGVlZWIyNWYxMmFiLi4wMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9pbnZhbGlkL2Vycm9yL25vbm51bGxhYmxl
YW55LnR4dAorKysgL2Rldi9udWxsCkBAIC0xICswLDAgQEAKLWludmFsaWQvaWRsL25vbm51bGxh
YmxlYW55LndpZGw6IDI6IGF0ICc/JzogZXhwZWN0ZWQgaWRlbnRpZmllcgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvaW52YWxpZC9lcnJvci9ub25udWxsYWJsZW9iamVjdHMu
dHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvaW52YWxpZC9lcnJvci9ub25udWxsYWJsZW9i
amVjdHMudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1MjY2MjI1OTliNy4uMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvaW52YWxpZC9lcnJvci9ub25u
dWxsYWJsZW9iamVjdHMudHh0CisrKyAvZGV2L251bGwKQEAgLTEgKzAsMCBAQAotaW52YWxpZC9p
ZGwvbm9ubnVsbGFibGVvYmplY3RzLndpZGw6IDQ6IGF0ICc/JzogZXhwZWN0ZWQgaWRlbnRpZmll
cgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvaW52YWxpZC9lcnJvci9zY29w
ZWRuYW1lLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L2ludmFsaWQvZXJyb3Ivc2NvcGVk
bmFtZS50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDU2NDY2MDhjZDM3Li4wMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9pbnZhbGlkL2Vycm9yL3Njb3Bl
ZG5hbWUudHh0CisrKyAvZGV2L251bGwKQEAgLTEgKzAsMCBAQAotaW52YWxpZC9pZGwvc2NvcGVk
bmFtZS53aWRsOiAyOiBhdCAnOic6IGV4cGVjdGVkIGlkZW50aWZpZXIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC93aWRscHJvYy90ZXN0L2ludmFsaWQvZXJyb3Ivc2VxdWVuY2VBc0F0dHJpYnV0ZS50
eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9pbnZhbGlkL2Vycm9yL3NlcXVlbmNlQXNBdHRy
aWJ1dGUudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxNTk2MGNiOGI1Zi4uMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvaW52YWxpZC9lcnJvci9zZXF1
ZW5jZUFzQXR0cmlidXRlLnR4dAorKysgL2Rldi9udWxsCkBAIC0xICswLDAgQEAKLWludmFsaWQv
aWRsL3NlcXVlbmNlQXNBdHRyaWJ1dGUud2lkbDogMjogYXQgJ3NlcXVlbmNlJzogZXhwZWN0ZWQg
dHlwZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvaW52YWxpZC9lcnJvci9z
dHJpbmdjb25zdGFudHMuaWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvaW52YWxpZC9lcnJv
ci9zdHJpbmdjb25zdGFudHMuaWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxNTVh
ODkyYzU1YS4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvaW52YWxp
ZC9lcnJvci9zdHJpbmdjb25zdGFudHMuaWRsCisrKyAvZGV2L251bGwKQEAgLTEgKzAsMCBAQAot
aW52YWxpZC9pZGwvc3RyaW5nY29uc3RhbnRzLmlkbDogMjogYXQgJ0RPTVN0cmluZyc6IGV4cGVj
dGVkIGFjY2VwdGFibGUgY29uc3RhbnQgdHlwZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxw
cm9jL3Rlc3QvaW52YWxpZC9lcnJvci93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJv
Yy90ZXN0L2ludmFsaWQvZXJyb3IvdzNjLWltcG9ydC5sb2cKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDZjZTg1NWNhYjY5Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHBy
b2MvdGVzdC9pbnZhbGlkL2Vycm9yL3czYy1pbXBvcnQubG9nCisrKyAvZGV2L251bGwKQEAgLTEs
MjQgKzAsMCBAQAotVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJv
bSB0aGUgVzNDIHJlcG9zaXRvcnkuCi1EbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5
IGluIFdlYktpdC4KLUluc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgVzNDIENT
UyBvciBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0aHViLmNvbS93M2MvY3Nzd2ctdGVzdAotCWh0
dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCi0KLVRoZW4gcnVuIHRoZSBU
b29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0Ci0KLURv
IE5PVCBtb2RpZnkgb3IgcmVtb3ZlIHRoaXMgZmlsZS4KLQotLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1Qcm9w
ZXJ0aWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6Ci1Ob25lCi1Qcm9wZXJ0eSB2YWx1ZXMg
cmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKLU5vbmUKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotTGlzdCBv
ZiBmaWxlczoKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9pbnZhbGlkL2Vycm9yL2VudW0udHh0
Ci0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvaW52YWxpZC9lcnJvci9tb2R1bGUudHh0Ci0vTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L3dpZGxwcm9jL3Rlc3QvaW52YWxpZC9lcnJvci9ub25udWxsYWJsZWFueS50eHQKLS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9pbnZhbGlkL2Vycm9yL25vbm51bGxhYmxlb2JqZWN0cy50
eHQKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9pbnZhbGlkL2Vycm9yL3Njb3BlZG5hbWUudHh0
Ci0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvaW52YWxpZC9lcnJvci9zZXF1ZW5jZUFzQXR0cmli
dXRlLnR4dAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L2ludmFsaWQvZXJyb3Ivc3RyaW5nY29u
c3RhbnRzLmlkbApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvaW52YWxpZC9p
ZGwvZW51bS53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvaW52YWxpZC9pZGwvZW51bS53
aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjMzU1YzMyNTFjMC4uMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvaW52YWxpZC9pZGwvZW51bS53aWRsCisr
KyAvZGV2L251bGwKQEAgLTEgKzAsMCBAQAotZW51bSBmb28geyAxLCAyLCAzfTsKXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9p
bnZhbGlkL2lkbC9tb2R1bGUud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L2ludmFsaWQv
aWRsL21vZHVsZS53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhNGM3OWZkZjE1
NS4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvaW52YWxpZC9pZGwv
bW9kdWxlLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSwyNSArMCwwIEBACi0vLyBFeHRyYWN0ZWQg
ZnJvbSBodHRwOi8vZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJJREwvIG9uIDIwMTEtMDUtMDYK
LW1vZHVsZSBnZnggewotCi0gIG1vZHVsZSBnZW9tIHsKLSAgICBpbnRlcmZhY2UgU2hhcGUgeyAv
KiAuLi4gKi8gfTsKLSAgICBpbnRlcmZhY2UgUmVjdGFuZ2xlIDogU2hhcGUgeyAvKiAuLi4gKi8g
fTsKLSAgICBpbnRlcmZhY2UgUGF0aCA6IFNoYXBlIHsgLyogLi4uICovIH07Ci0gIH07Ci0KLSAg
aW50ZXJmYWNlIEdyYXBoaWNzQ29udGV4dCB7Ci0gICAgdm9pZCBmaWxsU2hhcGUoZ2VvbTo6U2hh
cGUgcyk7Ci0gICAgdm9pZCBzdHJva2VTaGFwZShnZW9tOjpTaGFwZSBzKTsKLSAgfTsKLX07Ci0K
LW1vZHVsZSBndWkgewotCi0gIGludGVyZmFjZSBXaWRnZXQgeyAvKiAuLi4gKi8gIH07Ci0KLSAg
aW50ZXJmYWNlIFdpbmRvdyA6IFdpZGdldCB7Ci0gICAgZ2Z4OjpHcmFwaGljc0NvbnRleHQgZ2V0
R3JhcGhpY3NDb250ZXh0KCk7Ci0gIH07Ci0KLSAgaW50ZXJmYWNlIEJ1dHRvbiA6IFdpZGdldCB7
IC8qIC4uLiAqLyAgfTsKLX07ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvaW52YWxpZC9pZGwvbm9ubnVsbGFibGVhbnkud2lk
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L2ludmFsaWQvaWRsL25vbm51bGxhYmxlYW55Lndp
ZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDM4OTU3NjU1NTIzLi4wMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9pbnZhbGlkL2lkbC9ub25udWxsYWJsZWFu
eS53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsMyArMCwwIEBACi1pbnRlcmZhY2UgTm9uTnVsbGFi
bGUgewotICBhdHRyaWJ1dGUgYW55PyBmb287Ci19OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L2ludmFsaWQvaWRsL25vbm51
bGxhYmxlb2JqZWN0cy53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvaW52YWxpZC9pZGwv
bm9ubnVsbGFibGVvYmplY3RzLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDFk
ZWFjNWFlZWM5Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9pbnZh
bGlkL2lkbC9ub25udWxsYWJsZW9iamVjdHMud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDUgKzAs
MCBAQAotaW50ZXJmYWNlIEZvbyB7fTsKLQotaW50ZXJmYWNlIE5vbk51bGxhYmxlIHsKLSAgYXR0
cmlidXRlIEZvbz8/IGZvbzsKLX07ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvaW52YWxpZC9pZGwvcmFpc2VzLndpZGwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9pbnZhbGlkL2lkbC9yYWlzZXMud2lkbApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggZmY2NTUyMmYyYjMuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC93aWRscHJvYy90ZXN0L2ludmFsaWQvaWRsL3JhaXNlcy53aWRsCisrKyAvZGV2L251bGwK
QEAgLTEsMTggKzAsMCBAQAotLy8gZ2V0cmFpc2VzIGFuZCBzZXRyYWlzZXMgYXJlIG5vdCBsb25n
ZXIgdmFsaWQgV2ViIElETAotaW50ZXJmYWNlIFBlcnNvbiB7Ci0KLSAgLy8gQW4gYXR0cmlidXRl
IHRoYXQgY2FuIHJhaXNlIGFuIGV4Y2VwdGlvbiBpZiBpdCBpcyBzZXQgdG8gYW4gaW52YWxpZCB2
YWx1ZS4KLSAgYXR0cmlidXRlIERPTVN0cmluZyBuYW1lIHNldHJhaXNlcyAoSW52YWxpZE5hbWUp
OwotCi0gIC8vIEFuIGF0dHJpYnV0ZSB3aG9zZSB2YWx1ZSBjYW5ub3QgYmUgYXNzaWduZWQgdG8s
IGFuZCB3aGljaCBjYW4gcmFpc2UgYW4KLSAgLy8gZXhjZXB0aW9uIHNvbWUgY2lyY3Vtc3RhbmNl
cy4KLSAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBwZXROYW1lIGdldHJhaXNlcyAoTm9T
dWNoUGV0KTsKLX07Ci0KLWV4Y2VwdGlvbiBTb21lRXhjZXB0aW9uIHsKLX07Ci0KLWludGVyZmFj
ZSBFeGNlcHRpb25UaHJvd2VyIHsKLSAgLy8gVGhpcyBhdHRyaWJ1dGUgYWx3YXlzIHRocm93cyBh
IFNvbWVFeGNlcHRpb24gYW5kIG5ldmVyIHJldHVybnMgYSB2YWx1ZS4KLSAgYXR0cmlidXRlIGxv
bmcgdmFsdWVPZiBnZXRyYWlzZXMoU29tZUV4Y2VwdGlvbik7Ci19OwpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L2ludmFsaWQv
aWRsL3Njb3BlZG5hbWUud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L2ludmFsaWQvaWRs
L3Njb3BlZG5hbWUud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggY2ZjYjFjY2M5
MzkuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L2ludmFsaWQvaWRs
L3Njb3BlZG5hbWUud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDIgKzAsMCBAQAotLy8gc2NvcGVk
IG5hbWVzIGFyZSBubyBsb25nZXIgdmFsaWQgaW4gV2ViSURMCi0gIHR5cGVkZWYgZ2Z4OjpnZW9t
OjpnZW9tMmQ6OlBvaW50IFBvaW50OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rl
c3QvaW52YWxpZC9pZGwvc2VxdWVuY2VBc0F0dHJpYnV0ZS53aWRsIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxw
cm9jL3Rlc3QvaW52YWxpZC9pZGwvc2VxdWVuY2VBc0F0dHJpYnV0ZS53aWRsCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCBjMjNkYTgyYWMyMi4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3dpZGxwcm9jL3Rlc3QvaW52YWxpZC9pZGwvc2VxdWVuY2VBc0F0dHJpYnV0ZS53aWRsCisr
KyAvZGV2L251bGwKQEAgLTEsMyArMCwwIEBACi1pbnRlcmZhY2Ugc2VxdWVuY2VBc0F0dHJpYnV0
ZSB7Ci0gIGF0dHJpYnV0ZSBzZXF1ZW5jZTxzaG9ydD4gaW52YWxpZDsKLX07ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvaW52
YWxpZC9pZGwvc3BlY2lhbC1vbWl0dGFibGUud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0
L2ludmFsaWQvaWRsL3NwZWNpYWwtb21pdHRhYmxlLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IGJkZmJmYTcwOTczLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHBy
b2MvdGVzdC9pbnZhbGlkL2lkbC9zcGVjaWFsLW9taXR0YWJsZS53aWRsCisrKyAvZGV2L251bGwK
QEAgLTEsOCArMCwwIEBACi0vLyBFeHRyYWN0ZWQgZnJvbSBodHRwOi8vZGV2LnczLm9yZy8yMDA2
L3dlYmFwaS9XZWJJREwvIG9uIDIwMTEtMDUtMDYKLS8vIG9taXR0YWJsZSBpcyBubyBsb25nZXIg
YSByZWNvZ25pemVkIGtleXdvYXJkIGFzIG9mIDIwMTEwOTA1Ci1pbnRlcmZhY2UgRGljdGlvbmFy
eSB7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIHByb3BlcnR5Q291bnQ7Ci0K
LSAgb21pdHRhYmxlIGdldHRlciBmbG9hdCBnZXRQcm9wZXJ0eShET01TdHJpbmcgcHJvcGVydHlO
YW1lKTsKLSAgb21pdHRhYmxlIHNldHRlciB2b2lkIHNldFByb3BlcnR5KERPTVN0cmluZyBwcm9w
ZXJ0eU5hbWUsIGZsb2F0IHByb3BlcnR5VmFsdWUpOwotfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9pbnZhbGlkL2lkbC9z
dHJpbmdjb25zdGFudHMuaWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvaW52YWxpZC9pZGwv
c3RyaW5nY29uc3RhbnRzLmlkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDRmZDNm
ZjEzNmUuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L2ludmFsaWQv
aWRsL3N0cmluZ2NvbnN0YW50cy5pZGwKKysrIC9kZXYvbnVsbApAQCAtMSwzICswLDAgQEAKLWlu
dGVyZmFjZSBVdGlsIHsKLSAgY29uc3QgRE9NU3RyaW5nIGhlbGxvID0gIndvcmxkIjsKLX07Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9j
L3Rlc3QvaW52YWxpZC9pZGwvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVz
dC9pbnZhbGlkL2lkbC93M2MtaW1wb3J0LmxvZwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggYzFlMWMyMjQ4Y2UuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0
L2ludmFsaWQvaWRsL3czYy1pbXBvcnQubG9nCisrKyAvZGV2L251bGwKQEAgLTEsMjYgKzAsMCBA
QAotVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzND
IHJlcG9zaXRvcnkuCi1EbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktp
dC4KLUluc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgVzNDIENTUyBvciBXUFQg
Z2l0aHViOgotCWh0dHBzOi8vZ2l0aHViLmNvbS93M2MvY3Nzd2ctdGVzdAotCWh0dHBzOi8vZ2l0
aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCi0KLVRoZW4gcnVuIHRoZSBUb29scy9TY3Jp
cHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0Ci0KLURvIE5PVCBtb2Rp
Znkgb3IgcmVtb3ZlIHRoaXMgZmlsZS4KLQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1Qcm9wZXJ0aWVzIHJl
cXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6Ci1Ob25lCi1Qcm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5n
IHZlbmRvciBwcmVmaXhlczoKLU5vbmUKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotTGlzdCBvZiBmaWxlczoK
LS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC9pbnZhbGlkL2lkbC9lbnVtLndpZGwKLS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvd2lkbHByb2MvdGVzdC9pbnZhbGlkL2lkbC9tb2R1bGUud2lkbAotL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRs
cHJvYy90ZXN0L2ludmFsaWQvaWRsL25vbm51bGxhYmxlYW55LndpZGwKLS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lk
bHByb2MvdGVzdC9pbnZhbGlkL2lkbC9ub25udWxsYWJsZW9iamVjdHMud2lkbAotL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC93aWRscHJvYy90ZXN0L2ludmFsaWQvaWRsL3JhaXNlcy53aWRsCi0vTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxw
cm9jL3Rlc3QvaW52YWxpZC9pZGwvc2NvcGVkbmFtZS53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9j
L3Rlc3QvaW52YWxpZC9pZGwvc2VxdWVuY2VBc0F0dHJpYnV0ZS53aWRsCi0vTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dp
ZGxwcm9jL3Rlc3QvaW52YWxpZC9pZGwvc3BlY2lhbC1vbWl0dGFibGUud2lkbAotL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC93aWRscHJvYy90ZXN0L2ludmFsaWQvaWRsL3N0cmluZ2NvbnN0YW50cy5pZGwKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9hbGxvd2FueS53aWRsIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL2FsbG93YW55LndpZGwKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDIzNDNiYjk2Mzc0Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvYWxsb3dhbnkud2lkbAorKysgL2Rldi9udWxsCkBA
IC0xLDYgKzAsMCBAQAotLy8gRXh0cmFjdGVkIGZyb20gaHR0cDovL2Rldi53My5vcmcvMjAwNi93
ZWJhcGkvV2ViSURMLyBvbiAyMDExLTA1LTA2Ci1pbnRlcmZhY2UgQiB7Ci0gIHZvaWQgZygpOwot
ICB2b2lkIGcoQiBiKTsKLSAgdm9pZCBnKFtBbGxvd0FueV0gRE9NU3RyaW5nIHMpOwotfTsKXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mv
dGVzdC92YWxpZC9pZGwvYXJyYXkud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlk
L2lkbC9hcnJheS53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyMmUyMWZiNjU2
NC4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL2Fy
cmF5LndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSw1ICswLDAgQEAKLS8vIEV4dHJhY3RlZCBmcm9t
IGh0dHA6Ly9kZXYudzMub3JnLzIwMDYvd2ViYXBpL1dlYklETC8gb24gMjAxMS0wNS0wNgotW0Nv
bnN0cnVjdG9yXQotaW50ZXJmYWNlIExvdHRlcnlSZXN1bHRzIHsKLSAgcmVhZG9ubHkgYXR0cmli
dXRlIHVuc2lnbmVkIHNob3J0W11bXSBudW1iZXJzOwotfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvYXR0
cmlidXRlcy53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL2F0dHJpYnV0
ZXMud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggN2UxZDY5MWNiZTIuLjAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9hdHRyaWJ1dGVz
LndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSwxNCArMCwwIEBACi0vLyBFeHRyYWN0ZWQgZnJvbSBo
dHRwOi8vZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJJREwvIG9uIDIwMTEtMDUtMDYKLWV4Y2Vw
dGlvbiBJbnZhbGlkTmFtZSB7Ci0gIERPTVN0cmluZyByZWFzb247Ci19OwotCi1leGNlcHRpb24g
Tm9TdWNoUGV0IHsgfTsKLQotaW50ZXJmYWNlIFBlcnNvbiB7Ci0KLSAgLy8gQSBzaW1wbGUgYXR0
cmlidXRlIHRoYXQgY2FuIGJlIHNldCB0byBhbnkgdmFsdWUgdGhlIHJhbmdlIGFuIHVuc2lnbmVk
Ci0gIC8vIHNob3J0IGNhbiB0YWtlLgotICBhdHRyaWJ1dGUgdW5zaWduZWQgc2hvcnQgYWdlOwot
Ci19OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93
aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9jYWxsYmFjay53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9j
L3Rlc3QvdmFsaWQvaWRsL2NhbGxiYWNrLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IGQ5MmY2YTE4YzBhLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVz
dC92YWxpZC9pZGwvY2FsbGJhY2sud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDUgKzAsMCBAQAot
Y2FsbGJhY2sgQXN5bmNPcGVyYXRpb25DYWxsYmFjayA9IHZvaWQgKERPTVN0cmluZyBzdGF0dXMp
OwotCi1jYWxsYmFjayBpbnRlcmZhY2UgRXZlbnRIYW5kbGVyIHsKLSAgdm9pZCBldmVudE9jY3Vy
cmVkKERPTVN0cmluZyBkZXRhaWxzKTsKLX07ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL2NhbGxlci53aWRs
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL2NhbGxlci53aWRsCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5MmFjYjFjMDE3Ni4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL2NhbGxlci53aWRsCisrKyAvZGV2L251bGwK
QEAgLTEsNSArMCwwIEBACi0vLyBFeHRyYWN0ZWQgZnJvbSBodHRwOi8vZGV2LnczLm9yZy8yMDA2
L3dlYmFwaS9XZWJJREwvIG9uIDIwMTEtMDUtMDYKLWludGVyZmFjZSBOdW1iZXJRdWFkcnVwbGVy
IHsKLSAgLy8gVGhpcyBvcGVyYXRpb24gc2ltcGx5IHJldHVybnMgZm91ciB0aW1lcyB0aGUgZ2l2
ZW4gbnVtYmVyIHguCi0gIGxlZ2FjeWNhbGxlciBmbG9hdCBjb21wdXRlKGZsb2F0IHgpOwotfTsK
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHBy
b2MvdGVzdC92YWxpZC9pZGwvY29uc3RhbnRzLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVz
dC92YWxpZC9pZGwvY29uc3RhbnRzLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDVlMjhhZTljMTE2Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92
YWxpZC9pZGwvY29uc3RhbnRzLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSwxOCArMCwwIEBACi0v
LyBFeHRyYWN0ZWQgZnJvbSBodHRwOi8vZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJJREwvIG9u
IDIwMTEtMDUtMDYKLWludGVyZmFjZSBVdGlsIHsKLSAgY29uc3QgYm9vbGVhbiBERUJVRyA9IGZh
bHNlOwotICBjb25zdCBzaG9ydCBuZWdhdGl2ZSA9IC0xOwotICBjb25zdCBvY3RldCBMRiA9IDEw
OwotICBjb25zdCB1bnNpZ25lZCBsb25nIEJJVF9NQVNLID0gMHgwMDAwZmMwMDsKLSAgY29uc3Qg
ZmxvYXQgQVZPR0FEUk8gPSA2LjAyMmUyMzsKLSAgY29uc3QgdW5yZXN0cmljdGVkIGZsb2F0IHNv
YmlnID0gSW5maW5pdHk7Ci0gIGNvbnN0IHVucmVzdHJpY3RlZCBkb3VibGUgbWludXNvbmVkaXZp
ZGVkYnl6ZXJvID0gLUluZmluaXR5OwotICBjb25zdCBzaG9ydCBub3RhbnVtYmVyID0gTmFOOwot
fTsKLQotZXhjZXB0aW9uIEVycm9yIHsKLSAgY29uc3Qgc2hvcnQgRVJSX1VOS05PV04gPSAwOwot
ICBjb25zdCBzaG9ydCBFUlJfT1VUX09GX01FTU9SWSA9IDE7Ci0KLSAgc2hvcnQgZXJyb3JDb2Rl
OwotfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
d2lkbHByb2MvdGVzdC92YWxpZC9pZGwvY29uc3RydWN0b3Iud2lkbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRs
cHJvYy90ZXN0L3ZhbGlkL2lkbC9jb25zdHJ1Y3Rvci53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCBmOTNlYzA4YTZlNi4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxw
cm9jL3Rlc3QvdmFsaWQvaWRsL2NvbnN0cnVjdG9yLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSw5
ICswLDAgQEAKLS8vIEV4dHJhY3RlZCBmcm9tIGh0dHA6Ly9kZXYudzMub3JnLzIwMDYvd2ViYXBp
L1dlYklETC8gb24gMjAxMS0wNS0wNgotW0NvbnN0cnVjdG9yLAotIENvbnN0cnVjdG9yKGZsb2F0
IHJhZGl1cyldCi1pbnRlcmZhY2UgQ2lyY2xlIHsKLSAgYXR0cmlidXRlIGZsb2F0IHI7Ci0gIGF0
dHJpYnV0ZSBmbG9hdCBjeDsKLSAgYXR0cmlidXRlIGZsb2F0IGN5OwotICByZWFkb25seSBhdHRy
aWJ1dGUgZmxvYXQgY2lyY3VtZmVyZW5jZTsKLX07ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL2RpY3Rpb25h
cnktaW5oZXJpdHMud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9kaWN0
aW9uYXJ5LWluaGVyaXRzLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ4Zjhh
MGZkY2ViLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9p
ZGwvZGljdGlvbmFyeS1pbmhlcml0cy53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsOSArMCwwIEBA
Ci1kaWN0aW9uYXJ5IFBhaW50T3B0aW9ucyB7Ci0gIERPTVN0cmluZz8gZmlsbFBhdHRlcm4gPSAi
YmxhY2siOwotICBET01TdHJpbmc/IHN0cm9rZVBhdHRlcm4gPSBudWxsOwotICBQb2ludCBwb3Np
dGlvbjsKLX07Ci0KLWRpY3Rpb25hcnkgV2V0UGFpbnRPcHRpb25zIDogUGFpbnRPcHRpb25zIHsK
LSAgZmxvYXQgaHlkcm9tZXRyeTsKLX07ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL2RpY3Rpb25hcnkud2lk
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9kaWN0aW9uYXJ5LndpZGwKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGY0NmI3YmE3ODA2Li4wMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvZGljdGlvbmFyeS53aWRsCisrKyAv
ZGV2L251bGwKQEAgLTEsMTEgKzAsMCBAQAotLy8gRXh0cmFjdGVkIGZyb20gV2ViIElETCBlZGl0
b3JzIGRyYWZ0IE1heSAzMSAyMDExCi1kaWN0aW9uYXJ5IFBhaW50T3B0aW9ucyB7Ci0gIERPTVN0
cmluZz8gZmlsbFBhdHRlcm4gPSAiYmxhY2siOwotICBET01TdHJpbmc/IHN0cm9rZVBhdHRlcm4g
PSBudWxsOwotICBQb2ludCBwb3NpdGlvbjsKLX07Ci0KLXBhcnRpYWwgZGljdGlvbmFyeSBBIHsK
LSAgbG9uZyBoOwotICBsb25nIGQ7Ci19OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9kb2N1bWVudGF0aW9u
LWRvcy53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL2RvY3VtZW50YXRp
b24tZG9zLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGZiODAxMTAxZjE0Li4w
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvZG9jdW1l
bnRhdGlvbi1kb3Mud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDMzICswLDAgQEAKLS8qKgotKiBc
YnJpZWYgVGVzdGluZyBkb2N1bWVudGF0aW9uIGZlYXR1cmVzCi0qCi0qIFRoaXMgaXMgYQotKiBz
aW5nbGUgcGFyYWdyYXBoCi0qCi0qIDxwPlRoaXMgaXMgdmFsaWQuPC9wPgotKiA8cD5UaGlzIGlz
IDxlbT52YWxpZDwvZW0+LjwvcD4KLSogPHA+VGhpcyBpcyA8Yj52YWxpZDwvYj4uPC9wPgotKiA8
cD5UaGlzIGlzIDxhIGhyZWY9Jyc+dmFsaWQ8L2E+LjwvcD4KLSogPHVsPgotKiA8bGk+VGhpczwv
bGk+Ci0qIDxsaT5pczwvbGk+Ci0qIDxsaT52YWxpZDwvbGk+Ci0qIDwvdWw+Ci0qIDxkbD4KLSog
PGR0PlRoaXM8L2R0PgotKiA8ZGQ+dmFsaWQ8L2RkPgotKiA8L2RsPgotKiA8dGFibGU+Ci0qIDx0
cj4KLSogPHRkPnRoaXM8L3RkPgotKiA8dGQ+aXM8L3RkPgotKiA8L3RyPgotKiA8dHI+Ci0qIDx0
ZD52YWxpZDwvdGQ+Ci0qIDwvdHI+Ci0qIDwvdGFibGU+Ci0qIDxwPlRoaXMgaXMgPGJyPiB2YWxp
ZC48L3A+Ci0qIDxwPlRoaXMgaXMgPGJyIC8+IHZhbGlkLjwvcD4KLSogPHA+VGhpcyBpcyA8YnIv
PiB2YWxpZC48L3A+Ci0qLwotaW50ZXJmYWNlIERvY3VtZW50YXRpb24ge307ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFs
aWQvaWRsL2RvY3VtZW50YXRpb24ud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlk
L2lkbC9kb2N1bWVudGF0aW9uLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
M2U5MjI2ZjY3Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxp
ZC9pZGwvZG9jdW1lbnRhdGlvbi53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsMzQgKzAsMCBAQAot
LyoqCi0qIFxicmllZiBUZXN0aW5nIGRvY3VtZW50YXRpb24gZmVhdHVyZXMKLSoKLSogVGhpcyBp
cyBhCi0qIHNpbmdsZSBwYXJhZ3JhcGgKLSoKLSogPHA+VGhpcyBpcyB2YWxpZC48L3A+Ci0qIDxw
PlRoaXMgaXMgPGVtPnZhbGlkPC9lbT4uPC9wPgotKiA8cD5UaGlzIGlzIDxiPnZhbGlkPC9iPi48
L3A+Ci0qIDxwPlRoaXMgaXMgPGEgaHJlZj0nJz52YWxpZDwvYT4uPC9wPgotKiA8dWw+Ci0qIDxs
aT5UaGlzPC9saT4KLSogPGxpPmlzPC9saT4KLSogPGxpPnZhbGlkPC9saT4KLSogPC91bD4KLSog
PGRsPgotKiA8ZHQ+VGhpczwvZHQ+Ci0qIDxkZD52YWxpZDwvZGQ+Ci0qIDwvZGw+Ci0qIDx0YWJs
ZT4KLSogPHRyPgotKiA8dGQ+dGhpczwvdGQ+Ci0qIDx0ZD5pczwvdGQ+Ci0qIDwvdHI+Ci0qIDx0
cj4KLSogPHRkPnZhbGlkPC90ZD4KLSogPC90cj4KLSogPC90YWJsZT4KLSogPHA+VGhpcyBpcyA8
YnI+IHZhbGlkLjwvcD4KLSogPHA+VGhpcyBpcyA8YnIgLz4gdmFsaWQuPC9wPgotKiA8cD5UaGlz
IGlzIDxici8+IHZhbGlkLjwvcD4KLSogPHA+PGltZyBzcmM9ImZvby5wbmciIGFsdD0iVmFsaWQi
Lz48L3A+Ci0qLwotaW50ZXJmYWNlIERvY3VtZW50YXRpb24ge307ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRs
L2VudW0ud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9lbnVtLndpZGwK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg1MWZjYTJlNmY2Li4wMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvZW51bS53aWRsCisrKyAvZGV2
L251bGwKQEAgLTEsOCArMCwwIEBACi1lbnVtIE1lYWxUeXBlIHsgInJpY2UiLCAibm9vZGxlcyIs
ICJvdGhlciIgfTsKLQotaW50ZXJmYWNlIE1lYWwgewotICBhdHRyaWJ1dGUgTWVhbFR5cGUgdHlw
ZTsKLSAgYXR0cmlidXRlIGZsb2F0IHNpemU7ICAgICAvLyBpbiBncmFtcwotCi0gIHZvaWQgaW5p
dGlhbGl6ZShNZWFsVHlwZSB0eXBlLCBmbG9hdCBzaXplKTsKLX07ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRs
L2VxdWl2YWxlbnQtZGVjbC53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRs
L2VxdWl2YWxlbnQtZGVjbC53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2YjNl
MGVkYTI4NC4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQv
aWRsL2VxdWl2YWxlbnQtZGVjbC53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsMTggKzAsMCBAQAot
Ly8gRXh0cmFjdGVkIGZyb20gaHR0cDovL2Rldi53My5vcmcvMjAwNi93ZWJhcGkvV2ViSURMLyBv
biAyMDExLTA1LTA2Ci1pbnRlcmZhY2UgRGljdGlvbmFyeSB7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0
ZSB1bnNpZ25lZCBsb25nIHByb3BlcnR5Q291bnQ7Ci0KLSAgZ2V0dGVyIGZsb2F0IGdldFByb3Bl
cnR5KERPTVN0cmluZyBwcm9wZXJ0eU5hbWUpOwotICBzZXR0ZXIgdm9pZCBzZXRQcm9wZXJ0eShE
T01TdHJpbmcgcHJvcGVydHlOYW1lLCBmbG9hdCBwcm9wZXJ0eVZhbHVlKTsKLX07Ci0KLQotaW50
ZXJmYWNlIERpY3Rpb25hcnkgewotICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBw
cm9wZXJ0eUNvdW50OwotCi0gIGZsb2F0IGdldFByb3BlcnR5KERPTVN0cmluZyBwcm9wZXJ0eU5h
bWUpOwotICB2b2lkIHNldFByb3BlcnR5KERPTVN0cmluZyBwcm9wZXJ0eU5hbWUsIGZsb2F0IHBy
b3BlcnR5VmFsdWUpOwotCi0gIGdldHRlciBmbG9hdCAoRE9NU3RyaW5nIHByb3BlcnR5TmFtZSk7
Ci0gIHNldHRlciB2b2lkIChET01TdHJpbmcgcHJvcGVydHlOYW1lLCBmbG9hdCBwcm9wZXJ0eVZh
bHVlKTsKLX07ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL2V4Y2VwdGlvbi1pbmhlcml0YW5jZS53aWRsIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL2V4Y2VwdGlvbi1pbmhlcml0YW5jZS53
aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyNThmZGViYTZmNC4uMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL2V4Y2VwdGlvbi1pbmhl
cml0YW5jZS53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsNyArMCwwIEBACi0vLyBmcm9tIGh0dHA6
Ly9saXN0cy53My5vcmcvQXJjaGl2ZXMvUHVibGljL3B1YmxpYy1zY3JpcHQtY29vcmQvMjAxME9j
dERlYy8wMTEyLmh0bWwKLSAgZXhjZXB0aW9uIERPTUV4Y2VwdGlvbiB7Ci0gICAgdW5zaWduZWQg
c2hvcnQgY29kZTsKLSAgfTsKLQotICBleGNlcHRpb24gSGllcmFyY2h5UmVxdWVzdEVycm9yIDog
RE9NRXhjZXB0aW9uIHsgfTsKLSAgZXhjZXB0aW9uIE5vTW9kaWZpY2F0aW9uQWxsb3dlZEVycm9y
IDogRE9NRXhjZXB0aW9uIHsgfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvZXhjZXB0aW9uLndpZGwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvZXhjZXB0aW9uLndpZGwKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IGY0YjZhZTI5ZTEwLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvZXhjZXB0aW9uLndpZGwKKysrIC9kZXYvbnVs
bApAQCAtMSw4ICswLDAgQEAKLS8vIEV4dHJhY3RlZCBmcm9tIGh0dHA6Ly9kZXYudzMub3JnLzIw
MDYvd2ViYXBpL1dlYklETC8gb24gMjAxMS0wNS0wNgotaW50ZXJmYWNlIERhaHV0IHsKLSAgYXR0
cmlidXRlIERPTVN0cmluZyB0eXBlOwotfTsKLQotZXhjZXB0aW9uIFNvbWVFeGNlcHRpb24gewot
fTsKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL2dldHRl
ci1zZXR0ZXIud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9nZXR0ZXIt
c2V0dGVyLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGJkZjg3ZTFjN2M3Li4w
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvZ2V0dGVy
LXNldHRlci53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsNyArMCwwIEBACi0vLyBFeHRyYWN0ZWQg
ZnJvbSBodHRwOi8vZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJJREwvIG9uIDIwMTEtMDUtMDYK
LWludGVyZmFjZSBEaWN0aW9uYXJ5IHsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxv
bmcgcHJvcGVydHlDb3VudDsKLQotICBnZXR0ZXIgZmxvYXQgKERPTVN0cmluZyBwcm9wZXJ0eU5h
bWUpOwotICBzZXR0ZXIgdm9pZCAoRE9NU3RyaW5nIHByb3BlcnR5TmFtZSwgZmxvYXQgcHJvcGVy
dHlWYWx1ZSk7Ci19OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9pZGVudGlmaWVyLXF1YWxpZmllZC1uYW1l
cy53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL2lkZW50aWZpZXItcXVh
bGlmaWVkLW5hbWVzLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDMzODkzZDRj
NjQ0Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwv
aWRlbnRpZmllci1xdWFsaWZpZWQtbmFtZXMud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDQ0ICsw
LDAgQEAKLS8vIEV4dHJhY3RlZCBmcm9tIGh0dHA6Ly9kZXYudzMub3JnLzIwMDYvd2ViYXBpL1dl
YklETC8gb24gMjAxMS0wNS0wNgotICAvLyBUeXBlZGVmIGlkZW50aWZpZXI6ICJudW1iZXIiCi0g
IC8vIFF1YWxpZmllZCBuYW1lOiAgICAiOjpmcmFtZXdvcms6Om51bWJlciIKLSAgdHlwZWRlZiBm
bG9hdCBudW1iZXI7Ci0KLSAgLy8gRXhjZXB0aW9uIGlkZW50aWZpZXI6ICJGcmFtZXdvcmtFeGNl
cHRpb24iCi0gIC8vIFF1YWxpZmllZCBuYW1lOiAgICAgICAiOjpmcmFtZXdvcms6OkZyYW1ld29y
a0V4Y2VwdGlvbiIKLSAgZXhjZXB0aW9uIEZyYW1ld29ya0V4Y2VwdGlvbiB7Ci0KLSAgICAvLyBD
b25zdGFudCBpZGVudGlmaWVyOiAiRVJSX05PVF9GT1VORCIKLSAgICAvLyBRdWFsaWZpZWQgbmFt
ZTogICAgICAiOjpmcmFtZXdvcms6OkZyYW1ld29ya0V4Y2VwdGlvbjo6RVJSX05PVF9GT1VORCIK
LSAgICBjb25zdCBsb25nIEVSUl9OT1RfRk9VTkQgPSAxOwotCi0gICAgLy8gRXhjZXB0aW9uIGZp
ZWxkIGlkZW50aWZpZXI6ICJjb2RlIgotICAgIGxvbmcgY29kZTsKLSAgfTsKLQotICAvLyBJbnRl
cmZhY2UgaWRlbnRpZmllcjogIlN5c3RlbSIKLSAgLy8gUXVhbGlmaWVkIG5hbWU6ICAgICAgICI6
OmZyYW1ld29yazo6U3lzdGVtIgotICBpbnRlcmZhY2UgU3lzdGVtIHsKLQotICAgIC8vIE9wZXJh
dGlvbiBpZGVudGlmaWVyOiAgICAgICAgICAiY3JlYXRlT2JqZWN0IgotICAgIC8vIE9wZXJhdGlv
biBhcmd1bWVudCBpZGVudGlmaWVyOiAiaW50ZXJmYWNlIgotICAgIG9iamVjdCBjcmVhdGVPYmpl
Y3QoRE9NU3RyaW5nIF9pbnRlcmZhY2UpOwotCi0gICAgLy8gT3BlcmF0aW9uIGhhcyBubyBpZGVu
dGlmaWVyOyBpdCBkZWNsYXJlcyBhIGdldHRlci4KLSAgICBnZXR0ZXIgRE9NU3RyaW5nIChET01T
dHJpbmcga2V5TmFtZSk7Ci0gIH07Ci0KLSAgICAKLSAgICAvLyBJbnRlcmZhY2UgaWRlbnRpZmll
cjogIlRleHRGaWVsZCIKLSAgICAvLyBRdWFsaWZpZWQgbmFtZTogICAgICAgIjo6ZnJhbWV3b3Jr
OjpndWk6OlRleHRGaWVsZCIKLSAgICBpbnRlcmZhY2UgVGV4dEZpZWxkIHsKLQotICAgICAgLy8g
QXR0cmlidXRlIGlkZW50aWZpZXI6ICJjb25zdCIKLSAgICAgIGF0dHJpYnV0ZSBib29sZWFuIF9j
b25zdDsKLQotICAgICAgLy8gQXR0cmlidXRlIGlkZW50aWZpZXI6ICJ2YWx1ZSIKLSAgICAgIGF0
dHJpYnV0ZSBET01TdHJpbmc/IF92YWx1ZTsKLSAgICB9OwotCi1pbnRlcmZhY2UgRm9vIHsKLSB2
b2lkIG9wKG9iamVjdCBpbnRlcmZhY2UpOwotfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvaW1wbGVtZW50
cy53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL2ltcGxlbWVudHMud2lk
bApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggN2EzMTA5MjZmMWMuLjAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9pbXBsZW1lbnRzLndpZGwK
KysrIC9kZXYvbnVsbApAQCAtMSwxNCArMCwwIEBACi0vLyBFeHRyYWN0ZWQgZnJvbSBodHRwOi8v
ZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJJREwvIG9uIDIwMTEtMDUtMDYKLSAgaW50ZXJmYWNl
IE5vZGUgewotICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBzaG9ydCBub2RlVHlwZTsK
LSAgICAvLyAuLi4KLSAgfTsKLQotICBpbnRlcmZhY2UgRXZlbnRUYXJnZXQgewotICAgIHZvaWQg
YWRkRXZlbnRMaXN0ZW5lcihET01TdHJpbmcgdHlwZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgRXZlbnRMaXN0ZW5lciBsaXN0ZW5lciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgYm9v
bGVhbiB1c2VDYXB0dXJlKTsKLSAgICAvLyAuLi4KLSAgfTsKLQotICBOb2RlIGltcGxlbWVudHMg
RXZlbnRUYXJnZXQ7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9p
ZGwvaW5kZXhlZC1wcm9wZXJ0aWVzLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxp
ZC9pZGwvaW5kZXhlZC1wcm9wZXJ0aWVzLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IGFjZjBlZDNiZjg0Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVz
dC92YWxpZC9pZGwvaW5kZXhlZC1wcm9wZXJ0aWVzLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSwx
MiArMCwwIEBACi0vLyBFeHRyYWN0ZWQgZnJvbSBodHRwOi8vZGV2LnczLm9yZy8yMDA2L3dlYmFw
aS9XZWJJREwvIG9uIDIwMTEtMDUtMDYKLWludGVyZmFjZSBPcmRlcmVkTWFwIHsKLSAgcmVhZG9u
bHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgc2l6ZTsKLQotICBnZXR0ZXIgYW55IGdldEJ5SW5k
ZXgodW5zaWduZWQgbG9uZyBpbmRleCk7Ci0gIHNldHRlciB2b2lkIHNldEJ5SW5kZXgodW5zaWdu
ZWQgbG9uZyBpbmRleCwgYW55IHZhbHVlKTsKLSAgZGVsZXRlciB2b2lkIHJlbW92ZUJ5SW5kZXgo
dW5zaWduZWQgbG9uZyBpbmRleCk7Ci0KLSAgZ2V0dGVyIGFueSBnZXQoRE9NU3RyaW5nIG5hbWUp
OwotICBzZXR0ZXIgY3JlYXRvciB2b2lkIHNldChET01TdHJpbmcgbmFtZSwgYW55IHZhbHVlKTsK
LSAgZGVsZXRlciB2b2lkIHJlbW92ZShET01TdHJpbmcgbmFtZSk7Ci19OwpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlk
L2lkbC9pbmhlcml0cy1nZXR0ZXIud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlk
L2lkbC9pbmhlcml0cy1nZXR0ZXIud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
NTU4ZTgxMTY0OTQuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3Zh
bGlkL2lkbC9pbmhlcml0cy1nZXR0ZXIud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDE2ICswLDAg
QEAKLWludGVyZmFjZSBBbmltYWwgewotCi0gIC8vIEEgc2ltcGxlIGF0dHJpYnV0ZSB0aGF0IGNh
biBiZSBzZXQgdG8gYW55IHN0cmluZyB2YWx1ZS4KLSAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0
cmluZyBuYW1lOwotfTsKLQotaW50ZXJmYWNlIFBlcnNvbiA6IEFuaW1hbCB7Ci0KLSAgLy8gQW4g
YXR0cmlidXRlIHdob3NlIHZhbHVlIGNhbm5vdCBiZSBhc3NpZ25lZCB0by4KLSAgcmVhZG9ubHkg
YXR0cmlidXRlIHVuc2lnbmVkIHNob3J0IGFnZTsKLQotICAvLyBBbiBhdHRyaWJ1dGUgdGhhdCBj
YW4gcmFpc2UgYW4gZXhjZXB0aW9uIGlmIGl0IGlzIHNldCB0byBhbiBpbnZhbGlkIHZhbHVlLgot
ICAvLyBJdHMgZ2V0dGVyIGJlaGF2aW9yIGlzIGluaGVyaXRlZCBmcm9tIEFuaW1hbCwgYW5kIG5l
ZWQgbm90IGJlIHNwZWNpZmllZAotICAvLyB0aGUgZGVzY3JpcHRpb24gb2YgUGVyc29uLgotICBp
bmhlcml0IGF0dHJpYnV0ZSBET01TdHJpbmcgbmFtZTsKLX07ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL2lu
dGVyZmFjZS1pbmhlcml0cy53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRs
L2ludGVyZmFjZS1pbmhlcml0cy53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3
OTIxZGVmNzcyNy4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFs
aWQvaWRsL2ludGVyZmFjZS1pbmhlcml0cy53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsMTIgKzAs
MCBAQAotLy8gRXh0cmFjdGVkIGZyb20gaHR0cDovL2Rldi53My5vcmcvMjAwNi93ZWJhcGkvV2Vi
SURMLyBvbiAyMDExLTA1LTA2Ci1pbnRlcmZhY2UgQW5pbWFsIHsKLSAgYXR0cmlidXRlIERPTVN0
cmluZyBuYW1lOwotfTsKLQotaW50ZXJmYWNlIEh1bWFuIDogQW5pbWFsIHsKLSAgYXR0cmlidXRl
IERvZyBwZXQ7Ci19OwotCi1pbnRlcmZhY2UgRG9nIDogQW5pbWFsIHsKLSAgYXR0cmlidXRlIEh1
bWFuIG93bmVyOwotfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvaXRlcmF0b3Iud2lkbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9pdGVyYXRvci53aWRsCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAzYmYxYjM2ZGVjNi4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dp
ZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL2l0ZXJhdG9yLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSwz
NSArMCwwIEBACi1pbnRlcmZhY2UgU2Vzc2lvbk1hbmFnZXIgewotICBTZXNzaW9uIGdldFNlc3Np
b25Gb3JVc2VyKERPTVN0cmluZyB1c2VybmFtZSk7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNp
Z25lZCBsb25nIHNlc3Npb25Db3VudDsKLQotICBTZXNzaW9uIGl0ZXJhdG9yOwotfTsKLQotaW50
ZXJmYWNlIFNlc3Npb24gewotICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHVzZXJuYW1l
OwotICAvLyAuLi4KLX07Ci0KLWludGVyZmFjZSBTZXNzaW9uTWFuYWdlcjIgewotICBTZXNzaW9u
MiBnZXRTZXNzaW9uRm9yVXNlcihET01TdHJpbmcgdXNlcm5hbWUpOwotICByZWFkb25seSBhdHRy
aWJ1dGUgdW5zaWduZWQgbG9uZyBzZXNzaW9uQ291bnQ7Ci0KLSAgU2Vzc2lvbjIgaXRlcmF0b3Ig
PSBTZXNzaW9uSXRlcmF0b3I7Ci19OwotCi1pbnRlcmZhY2UgU2Vzc2lvbjIgewotICByZWFkb25s
eSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHVzZXJuYW1lOwotICAvLyAuLi4KLX07Ci0KLWludGVyZmFj
ZSBTZXNzaW9uSXRlcmF0b3IgewotICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBy
ZW1haW5pbmdTZXNzaW9uczsKLX07Ci0KLSAgICAgaW50ZXJmYWNlIE5vZGVMaXN0IHsKLSAgICAg
ICBOb2RlIGl0ZXJhdG9yID0gTm9kZUl0ZXJhdG9yOwotICAgICB9OwotCi0gICAgIGludGVyZmFj
ZSBOb2RlSXRlcmF0b3IgewotICAgICAgIE5vZGUgaXRlcmF0b3Igb2JqZWN0OwotICAgICB9Owpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJv
Yy90ZXN0L3ZhbGlkL2lkbC9uYW1lZGNvbnN0cnVjdG9yLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHBy
b2MvdGVzdC92YWxpZC9pZGwvbmFtZWRjb25zdHJ1Y3Rvci53aWRsCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCBjNDY4Yjc4ZjhlMS4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dp
ZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL25hbWVkY29uc3RydWN0b3Iud2lkbAorKysgL2Rldi9udWxs
CkBAIC0xLDYgKzAsMCBAQAotLy8gRXh0cmFjdGVkIGZyb20gaHR0cDovL2Rldi53My5vcmcvMjAw
Ni93ZWJhcGkvV2ViSURMLyBvbiAyMDExLTA1LTA2Ci1bTmFtZWRDb25zdHJ1Y3Rvcj1BdWRpbywK
LSBOYW1lZENvbnN0cnVjdG9yPUF1ZGlvKERPTVN0cmluZyBzcmMpXQotaW50ZXJmYWNlIEhUTUxB
dWRpb0VsZW1lbnQgOiBIVE1MTWVkaWFFbGVtZW50IHsKLSAgLy8gLi4uCi19OwpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3Zh
bGlkL2lkbC9ub2ludGVyZmFjZW9iamVjdC53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3Qv
dmFsaWQvaWRsL25vaW50ZXJmYWNlb2JqZWN0LndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IGMxN2Q3NWZmOGZkLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mv
dGVzdC92YWxpZC9pZGwvbm9pbnRlcmZhY2VvYmplY3Qud2lkbAorKysgL2Rldi9udWxsCkBAIC0x
LDUgKzAsMCBAQAotLy8gRXh0cmFjdGVkIGZyb20gaHR0cDovL2Rldi53My5vcmcvMjAwNi93ZWJh
cGkvV2ViSURMLyBvbiAyMDExLTA1LTA2Ci1bTm9JbnRlcmZhY2VPYmplY3RdCi1pbnRlcmZhY2Ug
UXVlcnkgewotICBhbnkgbG9va3VwRW50cnkodW5zaWduZWQgbG9uZyBrZXkpOwotfTsKXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVz
dC92YWxpZC9pZGwvbnVsbGFibGUud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlk
L2lkbC9udWxsYWJsZS53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjY2JmNjI1
ZmY4YS4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRs
L251bGxhYmxlLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSw5ICswLDAgQEAKLS8vIEV4dHJhY3Rl
ZCBmcm9tIGh0dHA6Ly9kZXYudzMub3JnLzIwMDYvd2ViYXBpL1dlYklETC8gb24gMjAxMS0wNS0w
NgotaW50ZXJmYWNlIE15Q29uc3RhbnRzIHsKLSAgY29uc3QgYm9vbGVhbj8gQVJFX1dFX1RIRVJF
X1lFVCA9IGZhbHNlOwotfTsKLQotaW50ZXJmYWNlIE5vZGUgewotICByZWFkb25seSBhdHRyaWJ1
dGUgRE9NU3RyaW5nPyBuYW1lc3BhY2VVUkk7Ci0gIC8vIC4uLgotfTsKXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9p
ZGwvbnVsbGFibGVvYmplY3RzLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9p
ZGwvbnVsbGFibGVvYmplY3RzLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDgz
ZDFkNDBiMmFjLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxp
ZC9pZGwvbnVsbGFibGVvYmplY3RzLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSwxMyArMCwwIEBA
Ci0vLyBFeHRyYWN0ZWQgZnJvbSBXZWJJREwgc3BlYyAyMDExLTA1LTIzCi0KLWludGVyZmFjZSBB
IHsKLSAgLy8gLi4uCi19OwotaW50ZXJmYWNlIEIgewotICAvLyAuLi4KLX07Ci1pbnRlcmZhY2Ug
QyB7Ci0gIHZvaWQgZihBPyB4KTsKLSAgdm9pZCBmKEI/IHgpOwotCi19OwpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlk
L2lkbC9vcGVyYXRpb24tb3B0aW9uYWwtYXJnLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVz
dC92YWxpZC9pZGwvb3BlcmF0aW9uLW9wdGlvbmFsLWFyZy53aWRsCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAzNzkwNTNiNDVmMS4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dp
ZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL29wZXJhdGlvbi1vcHRpb25hbC1hcmcud2lkbAorKysgL2Rl
di9udWxsCkBAIC0xLDQgKzAsMCBAQAotLy8gRXh0cmFjdGVkIGZyb20gaHR0cDovL2Rldi53My5v
cmcvMjAwNi93ZWJhcGkvV2ViSURMLyBvbiAyMDExLTA1LTA2Ci1pbnRlcmZhY2UgQ29sb3JDcmVh
dG9yIHsKLSAgb2JqZWN0IGNyZWF0ZUNvbG9yKGZsb2F0IHYxLCBmbG9hdCB2MiwgZmxvYXQgdjMs
IG9wdGlvbmFsIGZsb2F0IGFscGhhID0gMy41KTsKLX07ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL292ZXJs
b2FkaW5nLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvb3ZlcmxvYWRp
bmcud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZWYxMjg4YTg4NzcuLjAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9vdmVybG9hZGlu
Zy53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsMjAgKzAsMCBAQAotLy8gRXh0cmFjdGVkIGZyb20g
aHR0cDovL2Rldi53My5vcmcvMjAwNi93ZWJhcGkvV2ViSURMLyBvbiAyMDExLTA1LTA2Ci1pbnRl
cmZhY2UgQSB7Ci0gIC8vIC4uLgotfTsKLQotaW50ZXJmYWNlIEIgewotICAvLyAuLi4KLX07Ci0K
LWludGVyZmFjZSBDIHsKLSAgdm9pZCBmKEEgeCk7Ci0gIHZvaWQgZihCIHgpOwotfTsKLQotaW50
ZXJmYWNlIEEgewotICAvKiBmMSAqLyB2b2lkIGYoRE9NU3RyaW5nIGEpOwotICAvKiBmMiAqLyB2
b2lkIGYoW0FsbG93QW55XSBET01TdHJpbmcgYSwgRE9NU3RyaW5nIGIsIGZsb2F0Li4uIGMpOwot
ICAvKiBmMyAqLyB2b2lkIGYoKTsKLSAgLyogZjQgKi8gdm9pZCBmKGxvbmcgYSwgRE9NU3RyaW5n
IGIsIG9wdGlvbmFsIERPTVN0cmluZyBjLCBmbG9hdC4uLiBkKTsKLX07ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQv
aWRsL292ZXJyaWRlYnVpbHRpbnMud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlk
L2lkbC9vdmVycmlkZWJ1aWx0aW5zLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDc5MjExYzI5ZTg0Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92
YWxpZC9pZGwvb3ZlcnJpZGVidWlsdGlucy53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsNiArMCww
IEBACi0vLyBFeHRyYWN0ZWQgZnJvbSBodHRwOi8vZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJJ
REwvIG9uIDIwMTEtMDUtMDYKLVtPdmVycmlkZUJ1aWx0aW5zXQotaW50ZXJmYWNlIFN0cmluZ01h
cDIgewotICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBsZW5ndGg7Ci0gIGdldHRl
ciBET01TdHJpbmcgbG9va3VwKERPTVN0cmluZyBrZXkpOwotfTsKXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwv
cGFydGlhbC1pbnRlcmZhY2Uud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lk
bC9wYXJ0aWFsLWludGVyZmFjZS53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5
MGU3ZTBlYTQyMS4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFs
aWQvaWRsL3BhcnRpYWwtaW50ZXJmYWNlLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSw3ICswLDAg
QEAKLWludGVyZmFjZSBGb28gewotICBhdHRyaWJ1dGUgRE9NU3RyaW5nIGJhcjsKLX07Ci0KLXBh
cnRpYWwgaW50ZXJmYWNlIEZvbyB7Ci0gIGF0dHJpYnV0ZSBET01TdHJpbmcgcXV1eDsKLX07Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9j
L3Rlc3QvdmFsaWQvaWRsL3ByaW1pdGl2ZXMud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0
L3ZhbGlkL2lkbC9wcmltaXRpdmVzLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDkyOTM5NjAxYTFhLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92
YWxpZC9pZGwvcHJpbWl0aXZlcy53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsMTkgKzAsMCBAQAot
aW50ZXJmYWNlIFByaW1pdGl2ZXMgewotICBhdHRyaWJ1dGUgYm9vbGVhbiB0cnV0aDsKLSAgYXR0
cmlidXRlIGJ5dGUgY2hhcmFjdGVyOwotICBhdHRyaWJ1dGUgb2N0ZXQgdmFsdWU7Ci0gIGF0dHJp
YnV0ZSBzaG9ydCBudW1iZXI7Ci0gIGF0dHJpYnV0ZSB1bnNpZ25lZCBzaG9ydCBwb3NpdGl2ZTsK
LSAgYXR0cmlidXRlIGxvbmcgYmlnOwotICBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBiaWdwb3Np
dGl2ZTsKLSAgYXR0cmlidXRlIGxvbmcgbG9uZyBiaWdiaWc7Ci0gIGF0dHJpYnV0ZSAgdW5zaWdu
ZWQgbG9uZyBsb25nIGJpZ2JpZ3Bvc2l0aXZlOwotICBhdHRyaWJ1dGUgZmxvYXQgcmVhbDsKLSAg
YXR0cmlidXRlIGRvdWJsZSBiaWdyZWFsOyAKLSAgYXR0cmlidXRlIHVucmVzdHJpY3RlZCBmbG9h
dCByZWFsd2l0aGluZmluaXR5OwotICBhdHRyaWJ1dGUgdW5yZXN0cmljdGVkIGRvdWJsZSBiaWdy
ZWFsd2l0aGluZmluaXR5OyAKLSAgYXR0cmlidXRlIERPTVN0cmluZyBzdHJpbmc7IAotICBhdHRy
aWJ1dGUgQnl0ZVN0cmluZyBieXRlczsgCi0gIGF0dHJpYnV0ZSBEYXRlIGRhdGU7Ci0gIGF0dHJp
YnV0ZSBSZWdFeHAgcmVnZXhwOwotfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvcHJvdG90eXBlcm9vdC53
aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3Byb3RvdHlwZXJvb3Qud2lk
bApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzBkZDVjYmNhMTMuLjAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9wcm90b3R5cGVyb290Lndp
ZGwKKysrIC9kZXYvbnVsbApAQCAtMSw1ICswLDAgQEAKLS8vIEV4dHJhY3RlZCBmcm9tIGh0dHA6
Ly9kZXYudzMub3JnLzIwMDYvd2ViYXBpL1dlYklETC8gb24gMjAxMS0wNS0wNgotW1Byb3RvdHlw
ZVJvb3RdCi1pbnRlcmZhY2UgTm9kZSB7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBz
aG9ydCBub2RlVHlwZTsKLX07ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3B1dGZvcndhcmRzLndpZGwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvcHV0Zm9yd2FyZHMud2lkbApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMWU1MGE0ZWUzOTQuLjAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9wdXRmb3J3YXJkcy53aWRsCisrKyAvZGV2
L251bGwKQEAgLTEsNSArMCwwIEBACi0vLyBFeHRyYWN0ZWQgZnJvbSBodHRwOi8vZGV2LnczLm9y
Zy8yMDA2L3dlYmFwaS9XZWJJREwvIG9uIDIwMTEtMDUtMDYKLWludGVyZmFjZSBQZXJzb24gewot
ICBbUHV0Rm9yd2FyZHM9ZnVsbF0gcmVhZG9ubHkgYXR0cmlidXRlIE5hbWUgbmFtZTsKLSAgYXR0
cmlidXRlIHVuc2lnbmVkIHNob3J0IGFnZTsKLX07ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3JlZy1vcGVy
YXRpb25zLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvcmVnLW9wZXJh
dGlvbnMud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTM5OTdjYjFkMTIuLjAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9yZWctb3Bl
cmF0aW9ucy53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsMTcgKzAsMCBAQAotLy8gRXh0cmFjdGVk
IGZyb20gaHR0cDovL2Rldi53My5vcmcvMjAwNi93ZWJhcGkvV2ViSURMLyBvbiAyMDExLTA1LTA2
Ci1pbnRlcmZhY2UgRGltZW5zaW9ucyB7Ci0gIGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIHdpZHRo
OwotICBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBoZWlnaHQ7Ci19OwotCi1leGNlcHRpb24gTm9Q
b2ludGVyRGV2aWNlIHsgfTsKLQotaW50ZXJmYWNlIEJ1dHRvbiB7Ci0KLSAgLy8gQW4gb3BlcmF0
aW9uIHRoYXQgdGFrZXMgbm8gYXJndW1lbnRzLCByZXR1cm5zIGEgYm9vbGVhbgotICBib29sZWFu
IGlzTW91c2VPdmVyKCk7Ci0KLSAgLy8gT3ZlcmxvYWRlZCBvcGVyYXRpb25zLgotICB2b2lkIHNl
dERpbWVuc2lvbnMoRGltZW5zaW9ucyBzaXplKTsKLSAgdm9pZCBzZXREaW1lbnNpb25zKHVuc2ln
bmVkIGxvbmcgd2lkdGgsIHVuc2lnbmVkIGxvbmcgaGVpZ2h0KTsKLX07ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQv
aWRsL3JlcGxhY2VhYmxlLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwv
cmVwbGFjZWFibGUud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzE0ZDBjMzc2
ODkuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9y
ZXBsYWNlYWJsZS53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsNSArMCwwIEBACi0vLyBFeHRyYWN0
ZWQgZnJvbSBodHRwOi8vZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJJREwvIG9uIDIwMTEtMDUt
MDYKLWludGVyZmFjZSBDb3VudGVyIHsKLSAgW1JlcGxhY2VhYmxlXSByZWFkb25seSBhdHRyaWJ1
dGUgdW5zaWduZWQgbG9uZyB2YWx1ZTsKLSAgdm9pZCBpbmNyZW1lbnQoKTsKLX07ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3Qv
dmFsaWQvaWRsL3NlcXVlbmNlLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9p
ZGwvc2VxdWVuY2Uud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTFhYTkzMWY1
ZjAuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9z
ZXF1ZW5jZS53aWRsCisrKyAvZGV2L251bGwKQEAgLTEsNyArMCwwIEBACi0vLyBFeHRyYWN0ZWQg
ZnJvbSBodHRwOi8vZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJJREwvIG9uIDIwMTEtMDUtMDYK
LS8vIGVkaXRlZCB0byByZW1vdmUgc2VxdWVuY2UgYXMgYXR0cmlidXRlcywgbm93IGludmFsaWQK
LWludGVyZmFjZSBDYW52YXMgewotICB2b2lkIGRyYXdQb2x5Z29uKHNlcXVlbmNlPGZsb2F0PiBj
b29yZGluYXRlcyk7Ci0gIHNlcXVlbmNlPGZsb2F0PiBnZXRJbmZsZWN0aW9uUG9pbnRzKCk7Ci0g
IC8vIC4uLgotfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvc2VyaWFsaXplci53aWRsIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3NlcmlhbGl6ZXIud2lkbApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggNmY2Y2NkMGU4ZDUuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93
aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9zZXJpYWxpemVyLndpZGwKKysrIC9kZXYvbnVsbApAQCAt
MSw2NCArMCwwIEBACi1pbnRlcmZhY2UgVHJhbnNhY3Rpb24gewotICByZWFkb25seSBhdHRyaWJ1
dGUgQWNjb3VudCBmcm9tOwotICByZWFkb25seSBhdHRyaWJ1dGUgQWNjb3VudCB0bzsKLSAgcmVh
ZG9ubHkgYXR0cmlidXRlIGZsb2F0IGFtb3VudDsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0
cmluZyBkZXNjcmlwdGlvbjsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbnVt
YmVyOwotCi0gIHNlcmlhbGl6ZXI7Ci19OwotCi1pbnRlcmZhY2UgQWNjb3VudCB7Ci0gIGF0dHJp
YnV0ZSBET01TdHJpbmcgbmFtZTsKLSAgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbnVtYmVyOwot
ICBzZXJpYWxpemVyIERPTVN0cmluZyBzZXJpYWxpemUoKTsKLX07Ci0KLWludGVyZmFjZSBUcmFu
c2FjdGlvbjIgewotICByZWFkb25seSBhdHRyaWJ1dGUgQWNjb3VudDIgZnJvbTsKLSAgcmVhZG9u
bHkgYXR0cmlidXRlIEFjY291bnQyIHRvOwotICByZWFkb25seSBhdHRyaWJ1dGUgZmxvYXQgYW1v
dW50OwotICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGRlc2NyaXB0aW9uOwotICByZWFk
b25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBudW1iZXI7Ci0KLSAgc2VyaWFsaXplciA9IHsg
ZnJvbSwgdG8sIGFtb3VudCwgZGVzY3JpcHRpb24gfTsKLX07Ci0KLWludGVyZmFjZSBBY2NvdW50
MiB7Ci0gIGF0dHJpYnV0ZSBET01TdHJpbmcgbmFtZTsKLSAgYXR0cmlidXRlIHVuc2lnbmVkIGxv
bmcgbnVtYmVyOwotICBzZXJpYWxpemVyID0gbnVtYmVyOwotfTsKLQotaW50ZXJmYWNlIEFjY291
bnQzIHsKLSAgYXR0cmlidXRlIERPTVN0cmluZyBuYW1lOwotICBhdHRyaWJ1dGUgdW5zaWduZWQg
bG9uZyBudW1iZXI7Ci0KLSAgc2VyaWFsaXplciA9IHsgYXR0cmlidXRlIH07Ci19OwotCi1pbnRl
cmZhY2UgQWNjb3VudDQgewotICBnZXR0ZXIgb2JqZWN0IGdldEl0ZW0odW5zaWduZWQgbG9uZyBp
bmRleCk7Ci0gIHNlcmlhbGl6ZXIgPSB7IGdldHRlciB9OwotfTsKLQotaW50ZXJmYWNlIEFjY291
bnQ1IDogQWNjb3VudCB7Ci0gIGF0dHJpYnV0ZSBET01TdHJpbmcgc2Vjb25kbmFtZTsKLSAgc2Vy
aWFsaXplciA9IHsgaW5oZXJpdCwgc2Vjb25kbmFtZSB9OwotfTsKLQotaW50ZXJmYWNlIEFjY291
bnQ2IDogQWNjb3VudCB7Ci0gIGF0dHJpYnV0ZSBET01TdHJpbmcgc2Vjb25kbmFtZTsKLSAgc2Vy
aWFsaXplciA9IHsgaW5oZXJpdCwgYXR0cmlidXRlIH07Ci19OwotCi1pbnRlcmZhY2UgQWNjb3Vu
dDcgewotICBhdHRyaWJ1dGUgRE9NU3RyaW5nIG5hbWU7Ci0gIGF0dHJpYnV0ZSB1bnNpZ25lZCBs
b25nIG51bWJlcjsKLSAgc2VyaWFsaXplciA9IFsgbmFtZSwgbnVtYmVyIF07Ci19OwotCi1pbnRl
cmZhY2UgQWNjb3VudDggewotICBnZXR0ZXIgb2JqZWN0IGdldEl0ZW0odW5zaWduZWQgbG9uZyBp
bmRleCk7Ci0gIHNlcmlhbGl6ZXIgPSBbIGdldHRlciBdOwotfTsKXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwv
c3RhdGljLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvc3RhdGljLndp
ZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDViMmNkMzY1OTBmLi4wMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvc3RhdGljLndpZGwKKysr
IC9kZXYvbnVsbApAQCAtMSwxMSArMCwwIEBACi0vLyBFeHRyYWN0ZWQgZnJvbSBodHRwOi8vZGV2
LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJJREwvIG9uIDIwMTEtMDUtMDYKLWludGVyZmFjZSBQb2lu
dCB7IC8qIC4uLiAqLyB9OwotCi1pbnRlcmZhY2UgQ2lyY2xlIHsKLSAgYXR0cmlidXRlIGZsb2F0
IGN4OwotICBhdHRyaWJ1dGUgZmxvYXQgY3k7Ci0gIGF0dHJpYnV0ZSBmbG9hdCByYWRpdXM7Ci0K
LSAgc3RhdGljIHJlYWRvbmx5IGF0dHJpYnV0ZSBsb25nIHRyaWFuZ3VsYXRpb25Db3VudDsKLSAg
c3RhdGljIFBvaW50IHRyaWFuZ3VsYXRlKENpcmNsZSBjMSwgQ2lyY2xlIGMyLCBDaXJjbGUgYzMp
OwotfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
d2lkbHByb2MvdGVzdC92YWxpZC9pZGwvc3RyaW5naWZpZXItYXR0cmlidXRlLndpZGwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvc3RyaW5naWZpZXItYXR0cmlidXRlLndpZGwK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM5NjRlY2I5M2U2Li4wMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvc3RyaW5naWZpZXItYXR0cmli
dXRlLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSw2ICswLDAgQEAKLS8vIEV4dHJhY3RlZCBmcm9t
IGh0dHA6Ly9kZXYudzMub3JnLzIwMDYvd2ViYXBpL1dlYklETC8gb24gMjAxMS0wNS0wNgotW0Nv
bnN0cnVjdG9yXQotaW50ZXJmYWNlIFN0dWRlbnQgewotICBhdHRyaWJ1dGUgdW5zaWduZWQgbG9u
ZyBpZDsKLSAgc3RyaW5naWZpZXIgYXR0cmlidXRlIERPTVN0cmluZyBuYW1lOwotfTsKXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVz
dC92YWxpZC9pZGwvc3RyaW5naWZpZXItY3VzdG9tLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mv
dGVzdC92YWxpZC9pZGwvc3RyaW5naWZpZXItY3VzdG9tLndpZGwKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IGI1ZDdjODdlN2Y0Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lk
bHByb2MvdGVzdC92YWxpZC9pZGwvc3RyaW5naWZpZXItY3VzdG9tLndpZGwKKysrIC9kZXYvbnVs
bApAQCAtMSw5ICswLDAgQEAKLS8vIEV4dHJhY3RlZCBmcm9tIGh0dHA6Ly9kZXYudzMub3JnLzIw
MDYvd2ViYXBpL1dlYklETC8gb24gMjAxMS0wNS0wNgotW0NvbnN0cnVjdG9yXQotaW50ZXJmYWNl
IFN0dWRlbnQgewotICBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBpZDsKLSAgYXR0cmlidXRlIERP
TVN0cmluZz8gZmFtaWx5TmFtZTsKLSAgYXR0cmlidXRlIERPTVN0cmluZyBnaXZlbk5hbWU7Ci0K
LSAgc3RyaW5naWZpZXIgRE9NU3RyaW5nICgpOwotfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvc3RyaW5n
aWZpZXIud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9zdHJpbmdpZmll
ci53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0ZWI0ODNkOWI1My4uMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3N0cmluZ2lmaWVy
LndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSw4ICswLDAgQEAKLS8vIEV4dHJhY3RlZCBmcm9tIGh0
dHA6Ly9kZXYudzMub3JnLzIwMDYvd2ViYXBpL1dlYklETC8gb24gMjAxMS0wNS0wNgotaW50ZXJm
YWNlIEEgewotICBzdHJpbmdpZmllciBET01TdHJpbmcgKCk7Ci19OwotCi1pbnRlcmZhY2UgQSB7
Ci0gIHN0cmluZ2lmaWVyOwotfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvdHJlYXRhc251bGwud2lkbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC90cmVhdGFzbnVsbC53aWRsCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkM2M1NWIwMDhjMC4uMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3RyZWF0YXNudWxsLndpZGwKKysrIC9k
ZXYvbnVsbApAQCAtMSw3ICswLDAgQEAKLS8vIEV4dHJhY3RlZCBmcm9tIGh0dHA6Ly9kZXYudzMu
b3JnLzIwMDYvd2ViYXBpL1dlYklETC8gb24gMjAxMS0wNS0wNgotaW50ZXJmYWNlIERvZyB7Ci0g
IGF0dHJpYnV0ZSBET01TdHJpbmcgbmFtZTsKLSAgYXR0cmlidXRlIERPTVN0cmluZyBvd25lcjsK
LQotICBib29sZWFuIGlzTWVtYmVyT2ZCcmVlZChbVHJlYXROdWxsQXM9RW1wdHlTdHJpbmddIERP
TVN0cmluZyBicmVlZE5hbWUpOwotfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvdHJlYXRhc3VuZGVmaW5l
ZC53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3RyZWF0YXN1bmRlZmlu
ZWQud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTMwMDUwZjg0MTMuLjAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC90cmVhdGFzdW5k
ZWZpbmVkLndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSw3ICswLDAgQEAKLS8vIEV4dHJhY3RlZCBm
cm9tIGh0dHA6Ly9kZXYudzMub3JnLzIwMDYvd2ViYXBpL1dlYklETC8gb24gMjAxMS0wNS0wNgot
aW50ZXJmYWNlIENhdCB7Ci0gIGF0dHJpYnV0ZSBET01TdHJpbmcgbmFtZTsKLSAgYXR0cmlidXRl
IERPTVN0cmluZyBvd25lcjsKLQotICBib29sZWFuIGlzTWVtYmVyT2ZCcmVlZChbVHJlYXRVbmRl
ZmluZWRBcz1FbXB0eVN0cmluZ10gRE9NU3RyaW5nIGJyZWVkTmFtZSk7Ci19OwpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3Zh
bGlkL2lkbC90eXBlZGVmLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwv
dHlwZWRlZi53aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiNGMxN2Q4ZDM2YS4u
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3R5cGVk
ZWYud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDIyICswLDAgQEAKLS8vIEV4dHJhY3RlZCBmcm9t
IGh0dHA6Ly9kZXYudzMub3JnLzIwMDYvd2ViYXBpL1dlYklETC8gb24gMjAxMS0wNS0wNgotICAg
ICAgaW50ZXJmYWNlIFBvaW50IHsKLSAgICAgICAgYXR0cmlidXRlIGZsb2F0IHg7Ci0gICAgICAg
IGF0dHJpYnV0ZSBmbG9hdCB5OwotICAgICAgfTsKLQotICAgICAgdHlwZWRlZiBzZXF1ZW5jZTxQ
b2ludD4gUG9pbnRTZXF1ZW5jZTsKLQotICAgICAgaW50ZXJmYWNlIFJlY3QgewotICAgICAgICBh
dHRyaWJ1dGUgUG9pbnQgdG9wbGVmdDsKLSAgICAgICAgYXR0cmlidXRlIFBvaW50IGJvdHRvbXJp
Z2h0OwotICAgICAgfTsKLQotICBpbnRlcmZhY2UgV2lkZ2V0IHsKLQotICAgIHJlYWRvbmx5IGF0
dHJpYnV0ZSBSZWN0IGJvdW5kczsKLQotICAgIGJvb2xlYW4gcG9pbnRXaXRoaW5Cb3VuZHMoUG9p
bnQgcCk7Ci0gICAgYm9vbGVhbiBhbGxQb2ludHNXaXRoaW5Cb3VuZHMoUG9pbnRTZXF1ZW5jZSBw
cyk7Ci0gIH07Ci0KLSAgdHlwZWRlZiBbQ2xhbXBdIG9jdGV0IHZhbHVlOwpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlk
L2lkbC90eXBlc3VmZml4ZXMud2lkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lk
bC90eXBlc3VmZml4ZXMud2lkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTVlMzFj
MTY5MDIuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lk
bC90eXBlc3VmZml4ZXMud2lkbAorKysgL2Rldi9udWxsCkBAIC0xLDMgKzAsMCBAQAotaW50ZXJm
YWNlIFN1ZmZpeGVzIHsKLSAgdm9pZCB0ZXN0KHNlcXVlbmNlPERPTVN0cmluZ1tdPz4/IGZvbyk7
Ci19OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3VuaW9u
dHlwZS53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3VuaW9udHlwZS53
aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0ZDk5ZjAxOTYzMC4uMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3VuaW9udHlwZS53aWRs
CisrKyAvZGV2L251bGwKQEAgLTEsMyArMCwwIEBACi1pbnRlcmZhY2UgVW5pb24gewotIGF0dHJp
YnV0ZSAoZmxvYXQgb3IgKERhdGUgb3IgRXZlbnQpIG9yIChOb2RlIG9yIERPTVN0cmluZyk/KSB0
ZXN0OwotfTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvdmFyaWFkaWMtb3BlcmF0aW9ucy53aWRsIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3ZhcmlhZGljLW9wZXJhdGlvbnMud2lkbApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTFmYWU0Y2MxZWEuLjAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC92YXJpYWRpYy1vcGVyYXRpb25z
LndpZGwKKysrIC9kZXYvbnVsbApAQCAtMSw3ICswLDAgQEAKLS8vIEV4dHJhY3RlZCBmcm9tIGh0
dHA6Ly9kZXYudzMub3JnLzIwMDYvd2ViYXBpL1dlYklETC8gb24gMjAxMS0wNS0wNgotaW50ZXJm
YWNlIEludGVnZXJTZXQgewotICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBjYXJk
aW5hbGl0eTsKLQotICB2b2lkIHVuaW9uKGxvbmcuLi4gaW50cyk7Ci0gIHZvaWQgaW50ZXJzZWN0
aW9uKGxvbmcuLi4gaW50cyk7Ci19OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC93M2MtaW1wb3J0LmxvZyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC93M2MtaW1wb3J0LmxvZwpkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzI1MDliOTRkNzguLjAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC93M2MtaW1wb3J0LmxvZworKysgL2Rldi9u
dWxsCkBAIC0xLDY0ICswLDAgQEAKLVRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGlt
cG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgotRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0
cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24g
dGhlIFczQyBDU1Mgb3IgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20vdzNjL2Nzc3dn
LXRlc3QKLQlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cwotCi1UaGVu
IHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWlt
cG9ydAotCi1EbyBOT1QgbW9kaWZ5IG9yIHJlbW92ZSB0aGlzIGZpbGUuCi0KLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLQotUHJvcGVydGllcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgotTm9uZQotUHJvcGVy
dHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6Ci1Ob25lCi0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0KLUxpc3Qgb2YgZmlsZXM6Ci0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL2Fs
bG93YW55LndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvYXJyYXkud2lk
bAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9hdHRyaWJ1dGVzLndpZGwKLS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvY2FsbGJhY2sud2lkbAotL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9jYWxsZXIud2lkbAotL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJv
Yy90ZXN0L3ZhbGlkL2lkbC9jb25zdGFudHMud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0
L3ZhbGlkL2lkbC9jb25zdHJ1Y3Rvci53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFs
aWQvaWRsL2RpY3Rpb25hcnktaW5oZXJpdHMud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0
L3ZhbGlkL2lkbC9kaWN0aW9uYXJ5LndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxp
ZC9pZGwvZG9jdW1lbnRhdGlvbi1kb3Mud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3Zh
bGlkL2lkbC9kb2N1bWVudGF0aW9uLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxp
ZC9pZGwvZW51bS53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL2VxdWl2
YWxlbnQtZGVjbC53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL2V4Y2Vw
dGlvbi1pbmhlcml0YW5jZS53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRs
L2V4Y2VwdGlvbi53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL2dldHRl
ci1zZXR0ZXIud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9pZGVudGlm
aWVyLXF1YWxpZmllZC1uYW1lcy53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQv
aWRsL2ltcGxlbWVudHMud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9p
bmRleGVkLXByb3BlcnRpZXMud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lk
bC9pbmhlcml0cy1nZXR0ZXIud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lk
bC9pbnRlcmZhY2UtaW5oZXJpdHMud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlk
L2lkbC9pdGVyYXRvci53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL25h
bWVkY29uc3RydWN0b3Iud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9u
b2ludGVyZmFjZW9iamVjdC53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRs
L251bGxhYmxlLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvbnVsbGFi
bGVvYmplY3RzLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvb3BlcmF0
aW9uLW9wdGlvbmFsLWFyZy53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRs
L292ZXJsb2FkaW5nLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvb3Zl
cnJpZGVidWlsdGlucy53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3Bh
cnRpYWwtaW50ZXJmYWNlLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwv
cHJpbWl0aXZlcy53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3Byb3Rv
dHlwZXJvb3Qud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9wdXRmb3J3
YXJkcy53aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3JlZy1vcGVyYXRp
b25zLndpZGwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC9pZGwvcmVwbGFjZWFibGUu
d2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9zZXF1ZW5jZS53aWRsCi0v
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3NlcmlhbGl6ZXIud2lkbAotL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9zdGF0aWMud2lkbAotL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRs
cHJvYy90ZXN0L3ZhbGlkL2lkbC9zdHJpbmdpZmllci1hdHRyaWJ1dGUud2lkbAotL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9zdHJpbmdpZmllci1jdXN0b20ud2lkbAotL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL2lkbC9zdHJpbmdpZmllci53aWRsCi0vTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3dpZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3RyZWF0YXNudWxsLndpZGwKLS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lk
bHByb2MvdGVzdC92YWxpZC9pZGwvdHJlYXRhc3VuZGVmaW5lZC53aWRsCi0vTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dp
ZGxwcm9jL3Rlc3QvdmFsaWQvaWRsL3R5cGVkZWYud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90
ZXN0L3ZhbGlkL2lkbC90eXBlc3VmZml4ZXMud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0
L3ZhbGlkL2lkbC91bmlvbnR5cGUud2lkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlk
L2lkbC92YXJpYWRpYy1vcGVyYXRpb25zLndpZGwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRs
cHJvYy90ZXN0L3ZhbGlkL3htbC9hbGxvd2FueS53aWRscHJvY3htbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRs
cHJvYy90ZXN0L3ZhbGlkL3htbC9hbGxvd2FueS53aWRscHJvY3htbApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggN2RhNTA4YmNiNWMuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93
aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9hbGxvd2FueS53aWRscHJvY3htbAorKysgL2Rldi9udWxs
CkBAIC0xLDQ0ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+
Ci08IURPQ1RZUEUgRGVmaW5pdGlvbnMgU1lTVEVNICJ3aWRscHJvY3htbC5kdGQiPgotPERlZmlu
aXRpb25zPgotICA8d2ViaWRsPmludGVyZmFjZSBCIHsKLSAgdm9pZCBnKCk7Ci0gIHZvaWQgZyg8
cmVmPkI8L3JlZj4gYik7Ci0gIHZvaWQgZyhbQWxsb3dBbnldIERPTVN0cmluZyBzKTsKLX07PC93
ZWJpZGw+Ci0gIDxJbnRlcmZhY2UgbmFtZT0iQiIgaWQ9Ijo6QiI+Ci0gICAgPHdlYmlkbD5pbnRl
cmZhY2UgQiB7Ci0gIHZvaWQgZygpOwotICB2b2lkIGcoPHJlZj5CPC9yZWY+IGIpOwotICB2b2lk
IGcoW0FsbG93QW55XSBET01TdHJpbmcgcyk7Ci19Ozwvd2ViaWRsPgotICAgIDxPcGVyYXRpb24g
bmFtZT0iZyIgaWQ9Ijo6Qjo6ZyI+Ci0gICAgICA8d2ViaWRsPiAgdm9pZCBnKCk7PC93ZWJpZGw+
Ci0gICAgICA8VHlwZSB0eXBlPSJ2b2lkIi8+Ci0gICAgICA8QXJndW1lbnRMaXN0Lz4KLSAgICA8
L09wZXJhdGlvbj4KLSAgICA8T3BlcmF0aW9uIG5hbWU9ImciIGlkPSI6OkI6OmciPgotICAgICAg
PHdlYmlkbD4gIHZvaWQgZyg8cmVmPkI8L3JlZj4gYik7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0
eXBlPSJ2b2lkIi8+Ci0gICAgICA8QXJndW1lbnRMaXN0PgotICAgICAgICA8QXJndW1lbnQgbmFt
ZT0iYiI+Ci0gICAgICAgICAgPFR5cGUgbmFtZT0iQiIvPgotICAgICAgICA8L0FyZ3VtZW50Pgot
ICAgICAgPC9Bcmd1bWVudExpc3Q+Ci0gICAgPC9PcGVyYXRpb24+Ci0gICAgPE9wZXJhdGlvbiBu
YW1lPSJnIiBpZD0iOjpCOjpnIj4KLSAgICAgIDx3ZWJpZGw+ICB2b2lkIGcoW0FsbG93QW55XSBE
T01TdHJpbmcgcyk7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJ2b2lkIi8+Ci0gICAgICA8
QXJndW1lbnRMaXN0PgotICAgICAgICA8QXJndW1lbnQgbmFtZT0icyI+Ci0gICAgICAgICAgPEV4
dGVuZGVkQXR0cmlidXRlTGlzdD4KLSAgICAgICAgICAgIDxFeHRlbmRlZEF0dHJpYnV0ZSBuYW1l
PSJBbGxvd0FueSI+Ci0gICAgICAgICAgICAgIDx3ZWJpZGw+QWxsb3dBbnk8L3dlYmlkbD4KLSAg
ICAgICAgICAgIDwvRXh0ZW5kZWRBdHRyaWJ1dGU+Ci0gICAgICAgICAgPC9FeHRlbmRlZEF0dHJp
YnV0ZUxpc3Q+Ci0gICAgICAgICAgPFR5cGUgdHlwZT0iRE9NU3RyaW5nIi8+Ci0gICAgICAgIDwv
QXJndW1lbnQ+Ci0gICAgICA8L0FyZ3VtZW50TGlzdD4KLSAgICA8L09wZXJhdGlvbj4KLSAgPC9J
bnRlcmZhY2U+Ci08L0RlZmluaXRpb25zPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9j
L3Rlc3QvdmFsaWQveG1sL2FycmF5LndpZGxwcm9jeG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rl
c3QvdmFsaWQveG1sL2FycmF5LndpZGxwcm9jeG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAzZGY3MmZmMTYwOC4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rl
c3QvdmFsaWQveG1sL2FycmF5LndpZGxwcm9jeG1sCisrKyAvZGV2L251bGwKQEAgLTEsMjcgKzAs
MCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KLTwhRE9DVFlQRSBE
ZWZpbml0aW9ucyBTWVNURU0gIndpZGxwcm9jeG1sLmR0ZCI+Ci08RGVmaW5pdGlvbnM+Ci0gIDx3
ZWJpZGw+W0NvbnN0cnVjdG9yXQotaW50ZXJmYWNlIExvdHRlcnlSZXN1bHRzIHsKLSAgcmVhZG9u
bHkgYXR0cmlidXRlIHVuc2lnbmVkIHNob3J0W11bXSBudW1iZXJzOwotfTs8L3dlYmlkbD4KLSAg
PEludGVyZmFjZSBuYW1lPSJMb3R0ZXJ5UmVzdWx0cyIgaWQ9Ijo6TG90dGVyeVJlc3VsdHMiPgot
ICAgIDx3ZWJpZGw+W0NvbnN0cnVjdG9yXQotaW50ZXJmYWNlIExvdHRlcnlSZXN1bHRzIHsKLSAg
cmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIHNob3J0W11bXSBudW1iZXJzOwotfTs8L3dlYmlk
bD4KLSAgICA8RXh0ZW5kZWRBdHRyaWJ1dGVMaXN0PgotICAgICAgPEV4dGVuZGVkQXR0cmlidXRl
IG5hbWU9IkNvbnN0cnVjdG9yIj4KLSAgICAgICAgPHdlYmlkbD5Db25zdHJ1Y3Rvcjwvd2ViaWRs
PgotICAgICAgPC9FeHRlbmRlZEF0dHJpYnV0ZT4KLSAgICA8L0V4dGVuZGVkQXR0cmlidXRlTGlz
dD4KLSAgICA8QXR0cmlidXRlIHJlYWRvbmx5PSJyZWFkb25seSIgbmFtZT0ibnVtYmVycyIgaWQ9
Ijo6TG90dGVyeVJlc3VsdHM6Om51bWJlcnMiPgotICAgICAgPHdlYmlkbD4gIHJlYWRvbmx5IGF0
dHJpYnV0ZSB1bnNpZ25lZCBzaG9ydFtdW10gbnVtYmVyczs8L3dlYmlkbD4KLSAgICAgIDxUeXBl
IHR5cGU9ImFycmF5Ij4KLSAgICAgICAgPFR5cGUgdHlwZT0iYXJyYXkiPgotICAgICAgICAgIDxU
eXBlIHR5cGU9InVuc2lnbmVkIHNob3J0Ii8+Ci0gICAgICAgIDwvVHlwZT4KLSAgICAgIDwvVHlw
ZT4KLSAgICA8L0F0dHJpYnV0ZT4KLSAgPC9JbnRlcmZhY2U+Ci08L0RlZmluaXRpb25zPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL2F0dHJpYnV0ZXMud2lk
bHByb2N4bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvYXR0cmlidXRlcy53
aWRscHJvY3htbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODliZDhhYzliMDEuLjAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9hdHRyaWJ1
dGVzLndpZGxwcm9jeG1sCisrKyAvZGV2L251bGwKQEAgLTEsMzggKzAsMCBAQAotPD94bWwgdmVy
c2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KLTwhRE9DVFlQRSBEZWZpbml0aW9ucyBTWVNU
RU0gIndpZGxwcm9jeG1sLmR0ZCI+Ci08RGVmaW5pdGlvbnM+Ci0gIDx3ZWJpZGw+ZXhjZXB0aW9u
IEludmFsaWROYW1lIHsKLSAgRE9NU3RyaW5nIHJlYXNvbjsKLX07Ci0KLWV4Y2VwdGlvbiBOb1N1
Y2hQZXQgeyB9OwotCi1pbnRlcmZhY2UgUGVyc29uIHsKLQotICBhdHRyaWJ1dGUgdW5zaWduZWQg
c2hvcnQgYWdlOwotCi19Ozwvd2ViaWRsPgotICA8RXhjZXB0aW9uIG5hbWU9IkludmFsaWROYW1l
IiBpZD0iOjpJbnZhbGlkTmFtZSI+Ci0gICAgPHdlYmlkbD5leGNlcHRpb24gSW52YWxpZE5hbWUg
ewotICBET01TdHJpbmcgcmVhc29uOwotfTs8L3dlYmlkbD4KLSAgICA8RXhjZXB0aW9uRmllbGQg
bmFtZT0icmVhc29uIiBpZD0iOjpJbnZhbGlkTmFtZTo6cmVhc29uIj4KLSAgICAgIDx3ZWJpZGw+
ICBET01TdHJpbmcgcmVhc29uOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0iRE9NU3RyaW5n
Ii8+Ci0gICAgPC9FeGNlcHRpb25GaWVsZD4KLSAgPC9FeGNlcHRpb24+Ci0gIDxFeGNlcHRpb24g
bmFtZT0iTm9TdWNoUGV0IiBpZD0iOjpOb1N1Y2hQZXQiPgotICAgIDx3ZWJpZGw+ZXhjZXB0aW9u
IE5vU3VjaFBldCB7IH07PC93ZWJpZGw+Ci0gIDwvRXhjZXB0aW9uPgotICA8SW50ZXJmYWNlIG5h
bWU9IlBlcnNvbiIgaWQ9Ijo6UGVyc29uIj4KLSAgICA8d2ViaWRsPmludGVyZmFjZSBQZXJzb24g
ewotCi0gIGF0dHJpYnV0ZSB1bnNpZ25lZCBzaG9ydCBhZ2U7Ci0KLX07PC93ZWJpZGw+Ci0gICAg
PEF0dHJpYnV0ZSBuYW1lPSJhZ2UiIGlkPSI6OlBlcnNvbjo6YWdlIj4KLSAgICAgIDx3ZWJpZGw+
ICBhdHRyaWJ1dGUgdW5zaWduZWQgc2hvcnQgYWdlOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlw
ZT0idW5zaWduZWQgc2hvcnQiLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAgPC9JbnRlcmZhY2U+Ci08
L0RlZmluaXRpb25zPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQv
eG1sL2NhbGxiYWNrLndpZGxwcm9jeG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQv
eG1sL2NhbGxiYWNrLndpZGxwcm9jeG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5
ZWFjMDZjZTI3OS4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFs
aWQveG1sL2NhbGxiYWNrLndpZGxwcm9jeG1sCisrKyAvZGV2L251bGwKQEAgLTEsMzIgKzAsMCBA
QAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KLTwhRE9DVFlQRSBEZWZp
bml0aW9ucyBTWVNURU0gIndpZGxwcm9jeG1sLmR0ZCI+Ci08RGVmaW5pdGlvbnM+Ci0gIDx3ZWJp
ZGw+Y2FsbGJhY2sgQXN5bmNPcGVyYXRpb25DYWxsYmFjayA9IHZvaWQgKERPTVN0cmluZyBzdGF0
dXMpOwotCi1jYWxsYmFjayBpbnRlcmZhY2UgRXZlbnRIYW5kbGVyIHsKLSAgdm9pZCBldmVudE9j
Y3VycmVkKERPTVN0cmluZyBkZXRhaWxzKTsKLX07PC93ZWJpZGw+Ci0gIDxDYWxsYmFjayBuYW1l
PSJBc3luY09wZXJhdGlvbkNhbGxiYWNrIiBpZD0iOjpBc3luY09wZXJhdGlvbkNhbGxiYWNrIj4K
LSAgICA8d2ViaWRsPmNhbGxiYWNrIEFzeW5jT3BlcmF0aW9uQ2FsbGJhY2sgPSB2b2lkIChET01T
dHJpbmcgc3RhdHVzKTs8L3dlYmlkbD4KLSAgICA8VHlwZSB0eXBlPSJ2b2lkIi8+Ci0gICAgPEFy
Z3VtZW50TGlzdD4KLSAgICAgIDxBcmd1bWVudCBuYW1lPSJzdGF0dXMiPgotICAgICAgICA8VHlw
ZSB0eXBlPSJET01TdHJpbmciLz4KLSAgICAgIDwvQXJndW1lbnQ+Ci0gICAgPC9Bcmd1bWVudExp
c3Q+Ci0gIDwvQ2FsbGJhY2s+Ci0gIDxJbnRlcmZhY2UgbmFtZT0iRXZlbnRIYW5kbGVyIiBjYWxs
YmFjaz0iY2FsbGJhY2siIGlkPSI6OkV2ZW50SGFuZGxlciI+Ci0gICAgPHdlYmlkbD5jYWxsYmFj
ayBpbnRlcmZhY2UgRXZlbnRIYW5kbGVyIHsKLSAgdm9pZCBldmVudE9jY3VycmVkKERPTVN0cmlu
ZyBkZXRhaWxzKTsKLX07PC93ZWJpZGw+Ci0gICAgPE9wZXJhdGlvbiBuYW1lPSJldmVudE9jY3Vy
cmVkIiBpZD0iOjpFdmVudEhhbmRsZXI6OmV2ZW50T2NjdXJyZWQiPgotICAgICAgPHdlYmlkbD4g
IHZvaWQgZXZlbnRPY2N1cnJlZChET01TdHJpbmcgZGV0YWlscyk7PC93ZWJpZGw+Ci0gICAgICA8
VHlwZSB0eXBlPSJ2b2lkIi8+Ci0gICAgICA8QXJndW1lbnRMaXN0PgotICAgICAgICA8QXJndW1l
bnQgbmFtZT0iZGV0YWlscyI+Ci0gICAgICAgICAgPFR5cGUgdHlwZT0iRE9NU3RyaW5nIi8+Ci0g
ICAgICAgIDwvQXJndW1lbnQ+Ci0gICAgICA8L0FyZ3VtZW50TGlzdD4KLSAgICA8L09wZXJhdGlv
bj4KLSAgPC9JbnRlcmZhY2U+Ci08L0RlZmluaXRpb25zPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL2NhbGxlci53aWRscHJvY3htbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93
aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9jYWxsZXIud2lkbHByb2N4bWwKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDk3NTRkNGUwMjY4Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
d2lkbHByb2MvdGVzdC92YWxpZC94bWwvY2FsbGVyLndpZGxwcm9jeG1sCisrKyAvZGV2L251bGwK
QEAgLTEsMjEgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4K
LTwhRE9DVFlQRSBEZWZpbml0aW9ucyBTWVNURU0gIndpZGxwcm9jeG1sLmR0ZCI+Ci08RGVmaW5p
dGlvbnM+Ci0gIDx3ZWJpZGw+aW50ZXJmYWNlIE51bWJlclF1YWRydXBsZXIgewotICBsZWdhY3lj
YWxsZXIgZmxvYXQgY29tcHV0ZShmbG9hdCB4KTsKLX07PC93ZWJpZGw+Ci0gIDxJbnRlcmZhY2Ug
bmFtZT0iTnVtYmVyUXVhZHJ1cGxlciIgaWQ9Ijo6TnVtYmVyUXVhZHJ1cGxlciI+Ci0gICAgPHdl
YmlkbD5pbnRlcmZhY2UgTnVtYmVyUXVhZHJ1cGxlciB7Ci0gIGxlZ2FjeWNhbGxlciBmbG9hdCBj
b21wdXRlKGZsb2F0IHgpOwotfTs8L3dlYmlkbD4KLSAgICA8T3BlcmF0aW9uIGxlZ2FjeWNhbGxl
cj0ibGVnYWN5Y2FsbGVyIiBuYW1lPSJjb21wdXRlIiBpZD0iOjpOdW1iZXJRdWFkcnVwbGVyOjpj
b21wdXRlIj4KLSAgICAgIDx3ZWJpZGw+ICBsZWdhY3ljYWxsZXIgZmxvYXQgY29tcHV0ZShmbG9h
dCB4KTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9ImZsb2F0Ii8+Ci0gICAgICA8QXJndW1l
bnRMaXN0PgotICAgICAgICA8QXJndW1lbnQgbmFtZT0ieCI+Ci0gICAgICAgICAgPFR5cGUgdHlw
ZT0iZmxvYXQiLz4KLSAgICAgICAgPC9Bcmd1bWVudD4KLSAgICAgIDwvQXJndW1lbnRMaXN0Pgot
ICAgIDwvT3BlcmF0aW9uPgotICA8L0ludGVyZmFjZT4KLTwvRGVmaW5pdGlvbnM+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvY29uc3RhbnRzLndpZGxwcm9j
eG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL2NvbnN0YW50cy53aWRscHJv
Y3htbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTFjYjQzMzFmNzUuLjAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9jb25zdGFudHMud2lk
bHByb2N4bWwKKysrIC9kZXYvbnVsbApAQCAtMSw4NSArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIx
LjAiIGVuY29kaW5nPSJVVEYtOCI/PgotPCFET0NUWVBFIERlZmluaXRpb25zIFNZU1RFTSAid2lk
bHByb2N4bWwuZHRkIj4KLTxEZWZpbml0aW9ucz4KLSAgPHdlYmlkbD5pbnRlcmZhY2UgVXRpbCB7
Ci0gIGNvbnN0IGJvb2xlYW4gREVCVUcgPSBmYWxzZTsKLSAgY29uc3Qgc2hvcnQgbmVnYXRpdmUg
PSAtMTsKLSAgY29uc3Qgb2N0ZXQgTEYgPSAxMDsKLSAgY29uc3QgdW5zaWduZWQgbG9uZyBCSVRf
TUFTSyA9IDB4MDAwMGZjMDA7Ci0gIGNvbnN0IGZsb2F0IEFWT0dBRFJPID0gNi4wMjJlMjM7Ci0g
IGNvbnN0IHVucmVzdHJpY3RlZCBmbG9hdCBzb2JpZyA9IEluZmluaXR5OwotICBjb25zdCB1bnJl
c3RyaWN0ZWQgZG91YmxlIG1pbnVzb25lZGl2aWRlZGJ5emVybyA9IC1JbmZpbml0eTsKLSAgY29u
c3Qgc2hvcnQgbm90YW51bWJlciA9IE5hTjsKLX07Ci0KLWV4Y2VwdGlvbiBFcnJvciB7Ci0gIGNv
bnN0IHNob3J0IEVSUl9VTktOT1dOID0gMDsKLSAgY29uc3Qgc2hvcnQgRVJSX09VVF9PRl9NRU1P
UlkgPSAxOwotCi0gIHNob3J0IGVycm9yQ29kZTsKLX07PC93ZWJpZGw+Ci0gIDxJbnRlcmZhY2Ug
bmFtZT0iVXRpbCIgaWQ9Ijo6VXRpbCI+Ci0gICAgPHdlYmlkbD5pbnRlcmZhY2UgVXRpbCB7Ci0g
IGNvbnN0IGJvb2xlYW4gREVCVUcgPSBmYWxzZTsKLSAgY29uc3Qgc2hvcnQgbmVnYXRpdmUgPSAt
MTsKLSAgY29uc3Qgb2N0ZXQgTEYgPSAxMDsKLSAgY29uc3QgdW5zaWduZWQgbG9uZyBCSVRfTUFT
SyA9IDB4MDAwMGZjMDA7Ci0gIGNvbnN0IGZsb2F0IEFWT0dBRFJPID0gNi4wMjJlMjM7Ci0gIGNv
bnN0IHVucmVzdHJpY3RlZCBmbG9hdCBzb2JpZyA9IEluZmluaXR5OwotICBjb25zdCB1bnJlc3Ry
aWN0ZWQgZG91YmxlIG1pbnVzb25lZGl2aWRlZGJ5emVybyA9IC1JbmZpbml0eTsKLSAgY29uc3Qg
c2hvcnQgbm90YW51bWJlciA9IE5hTjsKLX07PC93ZWJpZGw+Ci0gICAgPENvbnN0IG5hbWU9IkRF
QlVHIiB2YWx1ZT0iZmFsc2UiIGlkPSI6OlV0aWw6OkRFQlVHIj4KLSAgICAgIDx3ZWJpZGw+ICBj
b25zdCBib29sZWFuIERFQlVHID0gZmFsc2U7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJi
b29sZWFuIi8+Ci0gICAgPC9Db25zdD4KLSAgICA8Q29uc3QgbmFtZT0ibmVnYXRpdmUiIHZhbHVl
PSItMSIgaWQ9Ijo6VXRpbDo6bmVnYXRpdmUiPgotICAgICAgPHdlYmlkbD4gIGNvbnN0IHNob3J0
IG5lZ2F0aXZlID0gLTE7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJzaG9ydCIvPgotICAg
IDwvQ29uc3Q+Ci0gICAgPENvbnN0IG5hbWU9IkxGIiB2YWx1ZT0iMTAiIGlkPSI6OlV0aWw6OkxG
Ij4KLSAgICAgIDx3ZWJpZGw+ICBjb25zdCBvY3RldCBMRiA9IDEwOzwvd2ViaWRsPgotICAgICAg
PFR5cGUgdHlwZT0ib2N0ZXQiLz4KLSAgICA8L0NvbnN0PgotICAgIDxDb25zdCBuYW1lPSJCSVRf
TUFTSyIgdmFsdWU9IjB4MDAwMGZjMDAiIGlkPSI6OlV0aWw6OkJJVF9NQVNLIj4KLSAgICAgIDx3
ZWJpZGw+ICBjb25zdCB1bnNpZ25lZCBsb25nIEJJVF9NQVNLID0gMHgwMDAwZmMwMDs8L3dlYmlk
bD4KLSAgICAgIDxUeXBlIHR5cGU9InVuc2lnbmVkIGxvbmciLz4KLSAgICA8L0NvbnN0PgotICAg
IDxDb25zdCBuYW1lPSJBVk9HQURSTyIgdmFsdWU9IjYuMDIyZTIzIiBpZD0iOjpVdGlsOjpBVk9H
QURSTyI+Ci0gICAgICA8d2ViaWRsPiAgY29uc3QgZmxvYXQgQVZPR0FEUk8gPSA2LjAyMmUyMzs8
L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9ImZsb2F0Ii8+Ci0gICAgPC9Db25zdD4KLSAgICA8
Q29uc3QgbmFtZT0ic29iaWciIHZhbHVlPSJJbmZpbml0eSIgaWQ9Ijo6VXRpbDo6c29iaWciPgot
ICAgICAgPHdlYmlkbD4gIGNvbnN0IHVucmVzdHJpY3RlZCBmbG9hdCBzb2JpZyA9IEluZmluaXR5
Ozwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0idW5yZXN0cmljdGVkIGZsb2F0Ii8+Ci0gICAg
PC9Db25zdD4KLSAgICA8Q29uc3QgbmFtZT0ibWludXNvbmVkaXZpZGVkYnl6ZXJvIiB2YWx1ZT0i
LUluZmluaXR5IiBpZD0iOjpVdGlsOjptaW51c29uZWRpdmlkZWRieXplcm8iPgotICAgICAgPHdl
YmlkbD4gIGNvbnN0IHVucmVzdHJpY3RlZCBkb3VibGUgbWludXNvbmVkaXZpZGVkYnl6ZXJvID0g
LUluZmluaXR5Ozwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0idW5yZXN0cmljdGVkIGRvdWJs
ZSIvPgotICAgIDwvQ29uc3Q+Ci0gICAgPENvbnN0IG5hbWU9Im5vdGFudW1iZXIiIHZhbHVlPSJO
YU4iIGlkPSI6OlV0aWw6Om5vdGFudW1iZXIiPgotICAgICAgPHdlYmlkbD4gIGNvbnN0IHNob3J0
IG5vdGFudW1iZXIgPSBOYU47PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJzaG9ydCIvPgot
ICAgIDwvQ29uc3Q+Ci0gIDwvSW50ZXJmYWNlPgotICA8RXhjZXB0aW9uIG5hbWU9IkVycm9yIiBp
ZD0iOjpFcnJvciI+Ci0gICAgPHdlYmlkbD5leGNlcHRpb24gRXJyb3IgewotICBjb25zdCBzaG9y
dCBFUlJfVU5LTk9XTiA9IDA7Ci0gIGNvbnN0IHNob3J0IEVSUl9PVVRfT0ZfTUVNT1JZID0gMTsK
LQotICBzaG9ydCBlcnJvckNvZGU7Ci19Ozwvd2ViaWRsPgotICAgIDxDb25zdCBuYW1lPSJFUlJf
VU5LTk9XTiIgdmFsdWU9IjAiIGlkPSI6OkVycm9yOjpFUlJfVU5LTk9XTiI+Ci0gICAgICA8d2Vi
aWRsPiAgY29uc3Qgc2hvcnQgRVJSX1VOS05PV04gPSAwOzwvd2ViaWRsPgotICAgICAgPFR5cGUg
dHlwZT0ic2hvcnQiLz4KLSAgICA8L0NvbnN0PgotICAgIDxDb25zdCBuYW1lPSJFUlJfT1VUX09G
X01FTU9SWSIgdmFsdWU9IjEiIGlkPSI6OkVycm9yOjpFUlJfT1VUX09GX01FTU9SWSI+Ci0gICAg
ICA8d2ViaWRsPiAgY29uc3Qgc2hvcnQgRVJSX09VVF9PRl9NRU1PUlkgPSAxOzwvd2ViaWRsPgot
ICAgICAgPFR5cGUgdHlwZT0ic2hvcnQiLz4KLSAgICA8L0NvbnN0PgotICAgIDxFeGNlcHRpb25G
aWVsZCBuYW1lPSJlcnJvckNvZGUiIGlkPSI6OkVycm9yOjplcnJvckNvZGUiPgotICAgICAgPHdl
YmlkbD4gIHNob3J0IGVycm9yQ29kZTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9InNob3J0
Ii8+Ci0gICAgPC9FeGNlcHRpb25GaWVsZD4KLSAgPC9FeGNlcHRpb24+Ci08L0RlZmluaXRpb25z
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL2NvbnN0cnVj
dG9yLndpZGxwcm9jeG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL2NvbnN0
cnVjdG9yLndpZGxwcm9jeG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4ZTc4ZmJh
YjM2NS4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1s
L2NvbnN0cnVjdG9yLndpZGxwcm9jeG1sCisrKyAvZGV2L251bGwKQEAgLTEsNTEgKzAsMCBAQAot
PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KLTwhRE9DVFlQRSBEZWZpbml0
aW9ucyBTWVNURU0gIndpZGxwcm9jeG1sLmR0ZCI+Ci08RGVmaW5pdGlvbnM+Ci0gIDx3ZWJpZGw+
W0NvbnN0cnVjdG9yLAotIENvbnN0cnVjdG9yKGZsb2F0IHJhZGl1cyldCi1pbnRlcmZhY2UgQ2ly
Y2xlIHsKLSAgYXR0cmlidXRlIGZsb2F0IHI7Ci0gIGF0dHJpYnV0ZSBmbG9hdCBjeDsKLSAgYXR0
cmlidXRlIGZsb2F0IGN5OwotICByZWFkb25seSBhdHRyaWJ1dGUgZmxvYXQgY2lyY3VtZmVyZW5j
ZTsKLX07PC93ZWJpZGw+Ci0gIDxJbnRlcmZhY2UgbmFtZT0iQ2lyY2xlIiBpZD0iOjpDaXJjbGUi
PgotICAgIDx3ZWJpZGw+W0NvbnN0cnVjdG9yLAotIENvbnN0cnVjdG9yKGZsb2F0IHJhZGl1cyld
Ci1pbnRlcmZhY2UgQ2lyY2xlIHsKLSAgYXR0cmlidXRlIGZsb2F0IHI7Ci0gIGF0dHJpYnV0ZSBm
bG9hdCBjeDsKLSAgYXR0cmlidXRlIGZsb2F0IGN5OwotICByZWFkb25seSBhdHRyaWJ1dGUgZmxv
YXQgY2lyY3VtZmVyZW5jZTsKLX07PC93ZWJpZGw+Ci0gICAgPEV4dGVuZGVkQXR0cmlidXRlTGlz
dD4KLSAgICAgIDxFeHRlbmRlZEF0dHJpYnV0ZSBuYW1lPSJDb25zdHJ1Y3RvciI+Ci0gICAgICAg
IDx3ZWJpZGw+Q29uc3RydWN0b3I8L3dlYmlkbD4KLSAgICAgIDwvRXh0ZW5kZWRBdHRyaWJ1dGU+
Ci0gICAgICA8RXh0ZW5kZWRBdHRyaWJ1dGUgbmFtZT0iQ29uc3RydWN0b3IiPgotICAgICAgICA8
d2ViaWRsPiBDb25zdHJ1Y3RvcihmbG9hdCByYWRpdXMpPC93ZWJpZGw+Ci0gICAgICAgIDxBcmd1
bWVudExpc3Q+Ci0gICAgICAgICAgPEFyZ3VtZW50IG5hbWU9InJhZGl1cyI+Ci0gICAgICAgICAg
ICA8VHlwZSB0eXBlPSJmbG9hdCIvPgotICAgICAgICAgIDwvQXJndW1lbnQ+Ci0gICAgICAgIDwv
QXJndW1lbnRMaXN0PgotICAgICAgPC9FeHRlbmRlZEF0dHJpYnV0ZT4KLSAgICA8L0V4dGVuZGVk
QXR0cmlidXRlTGlzdD4KLSAgICA8QXR0cmlidXRlIG5hbWU9InIiIGlkPSI6OkNpcmNsZTo6ciI+
Ci0gICAgICA8d2ViaWRsPiAgYXR0cmlidXRlIGZsb2F0IHI7PC93ZWJpZGw+Ci0gICAgICA8VHlw
ZSB0eXBlPSJmbG9hdCIvPgotICAgIDwvQXR0cmlidXRlPgotICAgIDxBdHRyaWJ1dGUgbmFtZT0i
Y3giIGlkPSI6OkNpcmNsZTo6Y3giPgotICAgICAgPHdlYmlkbD4gIGF0dHJpYnV0ZSBmbG9hdCBj
eDs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9ImZsb2F0Ii8+Ci0gICAgPC9BdHRyaWJ1dGU+
Ci0gICAgPEF0dHJpYnV0ZSBuYW1lPSJjeSIgaWQ9Ijo6Q2lyY2xlOjpjeSI+Ci0gICAgICA8d2Vi
aWRsPiAgYXR0cmlidXRlIGZsb2F0IGN5Ozwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0iZmxv
YXQiLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAgICA8QXR0cmlidXRlIHJlYWRvbmx5PSJyZWFkb25s
eSIgbmFtZT0iY2lyY3VtZmVyZW5jZSIgaWQ9Ijo6Q2lyY2xlOjpjaXJjdW1mZXJlbmNlIj4KLSAg
ICAgIDx3ZWJpZGw+ICByZWFkb25seSBhdHRyaWJ1dGUgZmxvYXQgY2lyY3VtZmVyZW5jZTs8L3dl
YmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9ImZsb2F0Ii8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gIDwv
SW50ZXJmYWNlPgotPC9EZWZpbml0aW9ucz4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJv
Yy90ZXN0L3ZhbGlkL3htbC9kaWN0aW9uYXJ5LWluaGVyaXRzLndpZGxwcm9jeG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL2RpY3Rpb25hcnktaW5oZXJpdHMud2lkbHByb2N4
bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI2OWE4M2NkODQ5Li4wMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvZGljdGlvbmFyeS1pbmhl
cml0cy53aWRscHJvY3htbAorKysgL2Rldi9udWxsCkBAIC0xLDQ0ICswLDAgQEAKLTw/eG1sIHZl
cnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Ci08IURPQ1RZUEUgRGVmaW5pdGlvbnMgU1lT
VEVNICJ3aWRscHJvY3htbC5kdGQiPgotPERlZmluaXRpb25zPgotICA8d2ViaWRsPmRpY3Rpb25h
cnkgUGFpbnRPcHRpb25zIHsKLSAgRE9NU3RyaW5nPyBmaWxsUGF0dGVybiA9ICZxdW90O2JsYWNr
JnF1b3Q7OwotICBET01TdHJpbmc/IHN0cm9rZVBhdHRlcm4gPSBudWxsOwotICA8cmVmPlBvaW50
PC9yZWY+IHBvc2l0aW9uOwotfTsKLQotZGljdGlvbmFyeSBXZXRQYWludE9wdGlvbnMgOiA8cmVm
PlBhaW50T3B0aW9uczwvcmVmPiB7Ci0gIGZsb2F0IGh5ZHJvbWV0cnk7Ci19Ozwvd2ViaWRsPgot
ICA8RGljdGlvbmFyeSBuYW1lPSJQYWludE9wdGlvbnMiIGlkPSI6OlBhaW50T3B0aW9ucyI+Ci0g
ICAgPHdlYmlkbD5kaWN0aW9uYXJ5IFBhaW50T3B0aW9ucyB7Ci0gIERPTVN0cmluZz8gZmlsbFBh
dHRlcm4gPSAmcXVvdDtibGFjayZxdW90OzsKLSAgRE9NU3RyaW5nPyBzdHJva2VQYXR0ZXJuID0g
bnVsbDsKLSAgPHJlZj5Qb2ludDwvcmVmPiBwb3NpdGlvbjsKLX07PC93ZWJpZGw+Ci0gICAgPERp
Y3Rpb25hcnlNZW1iZXIgbmFtZT0iZmlsbFBhdHRlcm4iIHN0cmluZ3ZhbHVlPSJibGFjayIgaWQ9
Ijo6UGFpbnRPcHRpb25zOjpmaWxsUGF0dGVybiI+Ci0gICAgICA8d2ViaWRsPiAgRE9NU3RyaW5n
PyBmaWxsUGF0dGVybiA9ICZxdW90O2JsYWNrJnF1b3Q7Ozwvd2ViaWRsPgotICAgICAgPFR5cGUg
dHlwZT0iRE9NU3RyaW5nIiBudWxsYWJsZT0ibnVsbGFibGUiLz4KLSAgICA8L0RpY3Rpb25hcnlN
ZW1iZXI+Ci0gICAgPERpY3Rpb25hcnlNZW1iZXIgbmFtZT0ic3Ryb2tlUGF0dGVybiIgdmFsdWU9
Im51bGwiIGlkPSI6OlBhaW50T3B0aW9uczo6c3Ryb2tlUGF0dGVybiI+Ci0gICAgICA8d2ViaWRs
PiAgRE9NU3RyaW5nPyBzdHJva2VQYXR0ZXJuID0gbnVsbDs8L3dlYmlkbD4KLSAgICAgIDxUeXBl
IHR5cGU9IkRPTVN0cmluZyIgbnVsbGFibGU9Im51bGxhYmxlIi8+Ci0gICAgPC9EaWN0aW9uYXJ5
TWVtYmVyPgotICAgIDxEaWN0aW9uYXJ5TWVtYmVyIG5hbWU9InBvc2l0aW9uIiBpZD0iOjpQYWlu
dE9wdGlvbnM6OnBvc2l0aW9uIj4KLSAgICAgIDx3ZWJpZGw+ICA8cmVmPlBvaW50PC9yZWY+IHBv
c2l0aW9uOzwvd2ViaWRsPgotICAgICAgPFR5cGUgbmFtZT0iUG9pbnQiLz4KLSAgICA8L0RpY3Rp
b25hcnlNZW1iZXI+Ci0gIDwvRGljdGlvbmFyeT4KLSAgPERpY3Rpb25hcnkgbmFtZT0iV2V0UGFp
bnRPcHRpb25zIiBpZD0iOjpXZXRQYWludE9wdGlvbnMiPgotICAgIDx3ZWJpZGw+ZGljdGlvbmFy
eSBXZXRQYWludE9wdGlvbnMgOiA8cmVmPlBhaW50T3B0aW9uczwvcmVmPiB7Ci0gIGZsb2F0IGh5
ZHJvbWV0cnk7Ci19Ozwvd2ViaWRsPgotICAgIDxEaWN0aW9uYXJ5SW5oZXJpdGFuY2U+Ci0gICAg
ICA8TmFtZSBuYW1lPSJQYWludE9wdGlvbnMiLz4KLSAgICA8L0RpY3Rpb25hcnlJbmhlcml0YW5j
ZT4KLSAgICA8RGljdGlvbmFyeU1lbWJlciBuYW1lPSJoeWRyb21ldHJ5IiBpZD0iOjpXZXRQYWlu
dE9wdGlvbnM6Omh5ZHJvbWV0cnkiPgotICAgICAgPHdlYmlkbD4gIGZsb2F0IGh5ZHJvbWV0cnk7
PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJmbG9hdCIvPgotICAgIDwvRGljdGlvbmFyeU1l
bWJlcj4KLSAgPC9EaWN0aW9uYXJ5PgotPC9EZWZpbml0aW9ucz4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIv
dGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9kaWN0aW9uYXJ5LndpZGxwcm9jeG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL2RpY3Rpb25hcnkud2lkbHByb2N4bWwKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDk3OGNjYjRlMjcxLi4wMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvZGljdGlvbmFyeS53aWRscHJvY3ht
bAorKysgL2Rldi9udWxsCkBAIC0xLDQ3ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5j
b2Rpbmc9IlVURi04Ij8+Ci08IURPQ1RZUEUgRGVmaW5pdGlvbnMgU1lTVEVNICJ3aWRscHJvY3ht
bC5kdGQiPgotPERlZmluaXRpb25zPgotICA8d2ViaWRsPmRpY3Rpb25hcnkgUGFpbnRPcHRpb25z
IHsKLSAgRE9NU3RyaW5nPyBmaWxsUGF0dGVybiA9ICZxdW90O2JsYWNrJnF1b3Q7OwotICBET01T
dHJpbmc/IHN0cm9rZVBhdHRlcm4gPSBudWxsOwotICA8cmVmPlBvaW50PC9yZWY+IHBvc2l0aW9u
OwotfTsKLQotcGFydGlhbCBkaWN0aW9uYXJ5IEEgewotICBsb25nIGg7Ci0gIGxvbmcgZDsKLX07
PC93ZWJpZGw+Ci0gIDxEaWN0aW9uYXJ5IG5hbWU9IlBhaW50T3B0aW9ucyIgaWQ9Ijo6UGFpbnRP
cHRpb25zIj4KLSAgICA8d2ViaWRsPmRpY3Rpb25hcnkgUGFpbnRPcHRpb25zIHsKLSAgRE9NU3Ry
aW5nPyBmaWxsUGF0dGVybiA9ICZxdW90O2JsYWNrJnF1b3Q7OwotICBET01TdHJpbmc/IHN0cm9r
ZVBhdHRlcm4gPSBudWxsOwotICA8cmVmPlBvaW50PC9yZWY+IHBvc2l0aW9uOwotfTs8L3dlYmlk
bD4KLSAgICA8RGljdGlvbmFyeU1lbWJlciBuYW1lPSJmaWxsUGF0dGVybiIgc3RyaW5ndmFsdWU9
ImJsYWNrIiBpZD0iOjpQYWludE9wdGlvbnM6OmZpbGxQYXR0ZXJuIj4KLSAgICAgIDx3ZWJpZGw+
ICBET01TdHJpbmc/IGZpbGxQYXR0ZXJuID0gJnF1b3Q7YmxhY2smcXVvdDs7PC93ZWJpZGw+Ci0g
ICAgICA8VHlwZSB0eXBlPSJET01TdHJpbmciIG51bGxhYmxlPSJudWxsYWJsZSIvPgotICAgIDwv
RGljdGlvbmFyeU1lbWJlcj4KLSAgICA8RGljdGlvbmFyeU1lbWJlciBuYW1lPSJzdHJva2VQYXR0
ZXJuIiB2YWx1ZT0ibnVsbCIgaWQ9Ijo6UGFpbnRPcHRpb25zOjpzdHJva2VQYXR0ZXJuIj4KLSAg
ICAgIDx3ZWJpZGw+ICBET01TdHJpbmc/IHN0cm9rZVBhdHRlcm4gPSBudWxsOzwvd2ViaWRsPgot
ICAgICAgPFR5cGUgdHlwZT0iRE9NU3RyaW5nIiBudWxsYWJsZT0ibnVsbGFibGUiLz4KLSAgICA8
L0RpY3Rpb25hcnlNZW1iZXI+Ci0gICAgPERpY3Rpb25hcnlNZW1iZXIgbmFtZT0icG9zaXRpb24i
IGlkPSI6OlBhaW50T3B0aW9uczo6cG9zaXRpb24iPgotICAgICAgPHdlYmlkbD4gIDxyZWY+UG9p
bnQ8L3JlZj4gcG9zaXRpb247PC93ZWJpZGw+Ci0gICAgICA8VHlwZSBuYW1lPSJQb2ludCIvPgot
ICAgIDwvRGljdGlvbmFyeU1lbWJlcj4KLSAgPC9EaWN0aW9uYXJ5PgotICA8RGljdGlvbmFyeSBu
YW1lPSJBIiBwYXJ0aWFsPSJwYXJ0aWFsIiBpZD0iOjpBIj4KLSAgICA8d2ViaWRsPnBhcnRpYWwg
ZGljdGlvbmFyeSBBIHsKLSAgbG9uZyBoOwotICBsb25nIGQ7Ci19Ozwvd2ViaWRsPgotICAgIDxE
aWN0aW9uYXJ5TWVtYmVyIG5hbWU9ImgiIGlkPSI6OkE6OmgiPgotICAgICAgPHdlYmlkbD4gIGxv
bmcgaDs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9ImxvbmciLz4KLSAgICA8L0RpY3Rpb25h
cnlNZW1iZXI+Ci0gICAgPERpY3Rpb25hcnlNZW1iZXIgbmFtZT0iZCIgaWQ9Ijo6QTo6ZCI+Ci0g
ICAgICA8d2ViaWRsPiAgbG9uZyBkOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0ibG9uZyIv
PgotICAgIDwvRGljdGlvbmFyeU1lbWJlcj4KLSAgPC9EaWN0aW9uYXJ5PgotPC9EZWZpbml0aW9u
cz4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9kb2N1bWVu
dGF0aW9uLWRvcy53aWRscHJvY3htbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3ht
bC9kb2N1bWVudGF0aW9uLWRvcy53aWRscHJvY3htbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMTYxMWYwZTU3NmEuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90
ZXN0L3ZhbGlkL3htbC9kb2N1bWVudGF0aW9uLWRvcy53aWRscHJvY3htbAorKysgL2Rldi9udWxs
CkBAIC0xLDU5ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+
Ci08IURPQ1RZUEUgRGVmaW5pdGlvbnMgU1lTVEVNICJ3aWRscHJvY3htbC5kdGQiPgotPERlZmlu
aXRpb25zPgotICA8d2ViaWRsPmludGVyZmFjZSBEb2N1bWVudGF0aW9uIHt9Ozwvd2ViaWRsPgot
ICA8SW50ZXJmYWNlIG5hbWU9IkRvY3VtZW50YXRpb24iIGlkPSI6OkRvY3VtZW50YXRpb24iPgot
ICAgIDx3ZWJpZGw+aW50ZXJmYWNlIERvY3VtZW50YXRpb24ge307PC93ZWJpZGw+Ci0gICAgPGRl
c2NyaXB0aXZlPgotICAgICAgICA8YnJpZWY+Ci0gVGVzdGluZyBkb2N1bWVudGF0aW9uIGZlYXR1
cmVzCi0gICAgICAgIDwvYnJpZWY+Ci0gICAgICAgPGRlc2NyaXB0aW9uPgotICAgICAgICA8cD4K
LVRoaXMgaXMgYQotc2luZ2xlIHBhcmFncmFwaAotICAgICAgICA8L3A+Ci0gICAgICAgIDxwPgot
VGhpcyBpcyB2YWxpZC4gICAgICAgIDwvcD4KLSAgICAgICAgPHA+Ci1UaGlzIGlzIDxlbT52YWxp
ZDwvZW0+LiAgICAgICAgPC9wPgotICAgICAgICA8cD4KLVRoaXMgaXMgPGI+dmFsaWQ8L2I+LiAg
ICAgICAgPC9wPgotICAgICAgICA8cD4KLVRoaXMgaXMgPGEgaHJlZj0nJz52YWxpZDwvYT4uICAg
ICAgICA8L3A+Ci0gICAgICAgIDx1bD4KLSAgICAgICAgICA8bGk+Ci1UaGlzICAgICAgICAgIDwv
bGk+Ci0gICAgICAgICAgPGxpPgotaXMgICAgICAgICAgPC9saT4KLSAgICAgICAgICA8bGk+Ci12
YWxpZCAgICAgICAgICA8L2xpPgotICAgICAgICA8L3VsPgotICAgICAgICA8ZGw+Ci0gICAgICAg
ICAgPGR0PgotVGhpcyAgICAgICAgICA8L2R0PgotICAgICAgICAgIDxkZD4KLXZhbGlkICAgICAg
ICAgIDwvZGQ+Ci0gICAgICAgIDwvZGw+Ci0gICAgICAgIDx0YWJsZT4KLSAgICAgICAgICA8dHI+
Ci0gICAgICAgICAgICA8dGQ+Ci10aGlzICAgICAgICAgICAgPC90ZD4KLSAgICAgICAgICAgIDx0
ZD4KLWlzICAgICAgICAgICAgPC90ZD4KLSAgICAgICAgICA8L3RyPgotICAgICAgICAgIDx0cj4K
LSAgICAgICAgICAgIDx0ZD4KLXZhbGlkICAgICAgICAgICAgPC90ZD4KLSAgICAgICAgICA8L3Ry
PgotICAgICAgICA8L3RhYmxlPgotICAgICAgICA8cD4KLVRoaXMgaXMgPGJyLz4gdmFsaWQuICAg
ICAgICA8L3A+Ci0gICAgICAgIDxwPgotVGhpcyBpcyA8YnIgLz4gdmFsaWQuICAgICAgICA8L3A+
Ci0gICAgICAgIDxwPgotVGhpcyBpcyA8YnIvPiB2YWxpZC4gICAgICAgIDwvcD4KLSAgICAgICA8
L2Rlc2NyaXB0aW9uPgotICAgIDwvZGVzY3JpcHRpdmU+Ci0gIDwvSW50ZXJmYWNlPgotPC9EZWZp
bml0aW9ucz4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9k
b2N1bWVudGF0aW9uLndpZGxwcm9jeG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQv
eG1sL2RvY3VtZW50YXRpb24ud2lkbHByb2N4bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IGFmZTQ1MjdjMjIxLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVz
dC92YWxpZC94bWwvZG9jdW1lbnRhdGlvbi53aWRscHJvY3htbAorKysgL2Rldi9udWxsCkBAIC0x
LDYxICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Ci08IURP
Q1RZUEUgRGVmaW5pdGlvbnMgU1lTVEVNICJ3aWRscHJvY3htbC5kdGQiPgotPERlZmluaXRpb25z
PgotICA8d2ViaWRsPmludGVyZmFjZSBEb2N1bWVudGF0aW9uIHt9Ozwvd2ViaWRsPgotICA8SW50
ZXJmYWNlIG5hbWU9IkRvY3VtZW50YXRpb24iIGlkPSI6OkRvY3VtZW50YXRpb24iPgotICAgIDx3
ZWJpZGw+aW50ZXJmYWNlIERvY3VtZW50YXRpb24ge307PC93ZWJpZGw+Ci0gICAgPGRlc2NyaXB0
aXZlPgotICAgICAgICA8YnJpZWY+Ci0gVGVzdGluZyBkb2N1bWVudGF0aW9uIGZlYXR1cmVzCi0g
ICAgICAgIDwvYnJpZWY+Ci0gICAgICAgPGRlc2NyaXB0aW9uPgotICAgICAgICA8cD4KLVRoaXMg
aXMgYQotc2luZ2xlIHBhcmFncmFwaAotICAgICAgICA8L3A+Ci0gICAgICAgIDxwPgotVGhpcyBp
cyB2YWxpZC4gICAgICAgIDwvcD4KLSAgICAgICAgPHA+Ci1UaGlzIGlzIDxlbT52YWxpZDwvZW0+
LiAgICAgICAgPC9wPgotICAgICAgICA8cD4KLVRoaXMgaXMgPGI+dmFsaWQ8L2I+LiAgICAgICAg
PC9wPgotICAgICAgICA8cD4KLVRoaXMgaXMgPGEgaHJlZj0nJz52YWxpZDwvYT4uICAgICAgICA8
L3A+Ci0gICAgICAgIDx1bD4KLSAgICAgICAgICA8bGk+Ci1UaGlzICAgICAgICAgIDwvbGk+Ci0g
ICAgICAgICAgPGxpPgotaXMgICAgICAgICAgPC9saT4KLSAgICAgICAgICA8bGk+Ci12YWxpZCAg
ICAgICAgICA8L2xpPgotICAgICAgICA8L3VsPgotICAgICAgICA8ZGw+Ci0gICAgICAgICAgPGR0
PgotVGhpcyAgICAgICAgICA8L2R0PgotICAgICAgICAgIDxkZD4KLXZhbGlkICAgICAgICAgIDwv
ZGQ+Ci0gICAgICAgIDwvZGw+Ci0gICAgICAgIDx0YWJsZT4KLSAgICAgICAgICA8dHI+Ci0gICAg
ICAgICAgICA8dGQ+Ci10aGlzICAgICAgICAgICAgPC90ZD4KLSAgICAgICAgICAgIDx0ZD4KLWlz
ICAgICAgICAgICAgPC90ZD4KLSAgICAgICAgICA8L3RyPgotICAgICAgICAgIDx0cj4KLSAgICAg
ICAgICAgIDx0ZD4KLXZhbGlkICAgICAgICAgICAgPC90ZD4KLSAgICAgICAgICA8L3RyPgotICAg
ICAgICA8L3RhYmxlPgotICAgICAgICA8cD4KLVRoaXMgaXMgPGJyLz4gdmFsaWQuICAgICAgICA8
L3A+Ci0gICAgICAgIDxwPgotVGhpcyBpcyA8YnIgLz4gdmFsaWQuICAgICAgICA8L3A+Ci0gICAg
ICAgIDxwPgotVGhpcyBpcyA8YnIvPiB2YWxpZC4gICAgICAgIDwvcD4KLSAgICAgICAgPHA+Ci08
aW1nIHNyYz0iZm9vLnBuZyIgYWx0PSJWYWxpZCIvPiAgICAgICAgPC9wPgotICAgICAgIDwvZGVz
Y3JpcHRpb24+Ci0gICAgPC9kZXNjcmlwdGl2ZT4KLSAgPC9JbnRlcmZhY2U+Ci08L0RlZmluaXRp
b25zPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL2VudW0u
d2lkbHByb2N4bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvZW51bS53aWRs
cHJvY3htbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTFlODI1OGZiZDAuLjAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9lbnVtLndpZGxw
cm9jeG1sCisrKyAvZGV2L251bGwKQEAgLTEsNTIgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4w
IiBlbmNvZGluZz0iVVRGLTgiPz4KLTwhRE9DVFlQRSBEZWZpbml0aW9ucyBTWVNURU0gIndpZGxw
cm9jeG1sLmR0ZCI+Ci08RGVmaW5pdGlvbnM+Ci0gIDx3ZWJpZGw+ZW51bSBNZWFsVHlwZSB7ICZx
dW90O3JpY2UmcXVvdDssICZxdW90O25vb2RsZXMmcXVvdDssICZxdW90O290aGVyJnF1b3Q7IH07
Ci0KLWludGVyZmFjZSBNZWFsIHsKLSAgYXR0cmlidXRlIDxyZWY+TWVhbFR5cGU8L3JlZj4gdHlw
ZTsKLSAgYXR0cmlidXRlIGZsb2F0IHNpemU7ICAgICAKLQotICB2b2lkIGluaXRpYWxpemUoPHJl
Zj5NZWFsVHlwZTwvcmVmPiB0eXBlLCBmbG9hdCBzaXplKTsKLX07PC93ZWJpZGw+Ci0gIDxFbnVt
IG5hbWU9Ik1lYWxUeXBlIiBpZD0iOjpNZWFsVHlwZSI+Ci0gICAgPHdlYmlkbD5lbnVtIE1lYWxU
eXBlIHsgJnF1b3Q7cmljZSZxdW90OywgJnF1b3Q7bm9vZGxlcyZxdW90OywgJnF1b3Q7b3RoZXIm
cXVvdDsgfTs8L3dlYmlkbD4KLSAgICA8RW51bVZhbHVlIHN0cmluZ3ZhbHVlPSJyaWNlIj4KLSAg
ICAgIDx3ZWJpZGw+ICZxdW90O3JpY2U8L3dlYmlkbD4KLSAgICA8L0VudW1WYWx1ZT4KLSAgICA8
RW51bVZhbHVlIHN0cmluZ3ZhbHVlPSJub29kbGVzIj4KLSAgICAgIDx3ZWJpZGw+ICZxdW90O25v
b2RsZXM8L3dlYmlkbD4KLSAgICA8L0VudW1WYWx1ZT4KLSAgICA8RW51bVZhbHVlIHN0cmluZ3Zh
bHVlPSJvdGhlciI+Ci0gICAgICA8d2ViaWRsPiAmcXVvdDtvdGhlcjwvd2ViaWRsPgotICAgIDwv
RW51bVZhbHVlPgotICA8L0VudW0+Ci0gIDxJbnRlcmZhY2UgbmFtZT0iTWVhbCIgaWQ9Ijo6TWVh
bCI+Ci0gICAgPHdlYmlkbD5pbnRlcmZhY2UgTWVhbCB7Ci0gIGF0dHJpYnV0ZSA8cmVmPk1lYWxU
eXBlPC9yZWY+IHR5cGU7Ci0gIGF0dHJpYnV0ZSBmbG9hdCBzaXplOyAgICAgCi0KLSAgdm9pZCBp
bml0aWFsaXplKDxyZWY+TWVhbFR5cGU8L3JlZj4gdHlwZSwgZmxvYXQgc2l6ZSk7Ci19Ozwvd2Vi
aWRsPgotICAgIDxBdHRyaWJ1dGUgbmFtZT0idHlwZSIgaWQ9Ijo6TWVhbDo6dHlwZSI+Ci0gICAg
ICA8d2ViaWRsPiAgYXR0cmlidXRlIDxyZWY+TWVhbFR5cGU8L3JlZj4gdHlwZTs8L3dlYmlkbD4K
LSAgICAgIDxUeXBlIG5hbWU9Ik1lYWxUeXBlIi8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gICAgPEF0
dHJpYnV0ZSBuYW1lPSJzaXplIiBpZD0iOjpNZWFsOjpzaXplIj4KLSAgICAgIDx3ZWJpZGw+ICBh
dHRyaWJ1dGUgZmxvYXQgc2l6ZTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9ImZsb2F0Ii8+
Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gICAgPE9wZXJhdGlvbiBuYW1lPSJpbml0aWFsaXplIiBpZD0i
OjpNZWFsOjppbml0aWFsaXplIj4KLSAgICAgIDx3ZWJpZGw+ICB2b2lkIGluaXRpYWxpemUoPHJl
Zj5NZWFsVHlwZTwvcmVmPiB0eXBlLCBmbG9hdCBzaXplKTs8L3dlYmlkbD4KLSAgICAgIDxUeXBl
IHR5cGU9InZvaWQiLz4KLSAgICAgIDxBcmd1bWVudExpc3Q+Ci0gICAgICAgIDxBcmd1bWVudCBu
YW1lPSJ0eXBlIj4KLSAgICAgICAgICA8VHlwZSBuYW1lPSJNZWFsVHlwZSIvPgotICAgICAgICA8
L0FyZ3VtZW50PgotICAgICAgICA8QXJndW1lbnQgbmFtZT0ic2l6ZSI+Ci0gICAgICAgICAgPFR5
cGUgdHlwZT0iZmxvYXQiLz4KLSAgICAgICAgPC9Bcmd1bWVudD4KLSAgICAgIDwvQXJndW1lbnRM
aXN0PgotICAgIDwvT3BlcmF0aW9uPgotICA8L0ludGVyZmFjZT4KLTwvRGVmaW5pdGlvbnM+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvZXF1aXZhbGVudC1k
ZWNsLndpZGxwcm9jeG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL2VxdWl2
YWxlbnQtZGVjbC53aWRscHJvY3htbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzMy
MmQwYTVlMjIuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlk
L3htbC9lcXVpdmFsZW50LWRlY2wud2lkbHByb2N4bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxMTEg
KzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KLTwhRE9DVFlQ
RSBEZWZpbml0aW9ucyBTWVNURU0gIndpZGxwcm9jeG1sLmR0ZCI+Ci08RGVmaW5pdGlvbnM+Ci0g
IDx3ZWJpZGw+aW50ZXJmYWNlIERpY3Rpb25hcnkgewotICByZWFkb25seSBhdHRyaWJ1dGUgdW5z
aWduZWQgbG9uZyBwcm9wZXJ0eUNvdW50OwotCi0gIGdldHRlciBmbG9hdCBnZXRQcm9wZXJ0eShE
T01TdHJpbmcgcHJvcGVydHlOYW1lKTsKLSAgc2V0dGVyIHZvaWQgc2V0UHJvcGVydHkoRE9NU3Ry
aW5nIHByb3BlcnR5TmFtZSwgZmxvYXQgcHJvcGVydHlWYWx1ZSk7Ci19OwotCi0KLWludGVyZmFj
ZSBEaWN0aW9uYXJ5IHsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgcHJvcGVy
dHlDb3VudDsKLQotICBmbG9hdCBnZXRQcm9wZXJ0eShET01TdHJpbmcgcHJvcGVydHlOYW1lKTsK
LSAgdm9pZCBzZXRQcm9wZXJ0eShET01TdHJpbmcgcHJvcGVydHlOYW1lLCBmbG9hdCBwcm9wZXJ0
eVZhbHVlKTsKLQotICBnZXR0ZXIgZmxvYXQgKERPTVN0cmluZyBwcm9wZXJ0eU5hbWUpOwotICBz
ZXR0ZXIgdm9pZCAoRE9NU3RyaW5nIHByb3BlcnR5TmFtZSwgZmxvYXQgcHJvcGVydHlWYWx1ZSk7
Ci19Ozwvd2ViaWRsPgotICA8SW50ZXJmYWNlIG5hbWU9IkRpY3Rpb25hcnkiIGlkPSI6OkRpY3Rp
b25hcnkiPgotICAgIDx3ZWJpZGw+aW50ZXJmYWNlIERpY3Rpb25hcnkgewotICByZWFkb25seSBh
dHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBwcm9wZXJ0eUNvdW50OwotCi0gIGdldHRlciBmbG9hdCBn
ZXRQcm9wZXJ0eShET01TdHJpbmcgcHJvcGVydHlOYW1lKTsKLSAgc2V0dGVyIHZvaWQgc2V0UHJv
cGVydHkoRE9NU3RyaW5nIHByb3BlcnR5TmFtZSwgZmxvYXQgcHJvcGVydHlWYWx1ZSk7Ci19Ozwv
d2ViaWRsPgotICAgIDxBdHRyaWJ1dGUgcmVhZG9ubHk9InJlYWRvbmx5IiBuYW1lPSJwcm9wZXJ0
eUNvdW50IiBpZD0iOjpEaWN0aW9uYXJ5Ojpwcm9wZXJ0eUNvdW50Ij4KLSAgICAgIDx3ZWJpZGw+
ICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBwcm9wZXJ0eUNvdW50Ozwvd2ViaWRs
PgotICAgICAgPFR5cGUgdHlwZT0idW5zaWduZWQgbG9uZyIvPgotICAgIDwvQXR0cmlidXRlPgot
ICAgIDxPcGVyYXRpb24gZ2V0dGVyPSJnZXR0ZXIiIG5hbWU9ImdldFByb3BlcnR5IiBpZD0iOjpE
aWN0aW9uYXJ5OjpnZXRQcm9wZXJ0eSI+Ci0gICAgICA8d2ViaWRsPiAgZ2V0dGVyIGZsb2F0IGdl
dFByb3BlcnR5KERPTVN0cmluZyBwcm9wZXJ0eU5hbWUpOzwvd2ViaWRsPgotICAgICAgPFR5cGUg
dHlwZT0iZmxvYXQiLz4KLSAgICAgIDxBcmd1bWVudExpc3Q+Ci0gICAgICAgIDxBcmd1bWVudCBu
YW1lPSJwcm9wZXJ0eU5hbWUiPgotICAgICAgICAgIDxUeXBlIHR5cGU9IkRPTVN0cmluZyIvPgot
ICAgICAgICA8L0FyZ3VtZW50PgotICAgICAgPC9Bcmd1bWVudExpc3Q+Ci0gICAgPC9PcGVyYXRp
b24+Ci0gICAgPE9wZXJhdGlvbiBzZXR0ZXI9InNldHRlciIgbmFtZT0ic2V0UHJvcGVydHkiIGlk
PSI6OkRpY3Rpb25hcnk6OnNldFByb3BlcnR5Ij4KLSAgICAgIDx3ZWJpZGw+ICBzZXR0ZXIgdm9p
ZCBzZXRQcm9wZXJ0eShET01TdHJpbmcgcHJvcGVydHlOYW1lLCBmbG9hdCBwcm9wZXJ0eVZhbHVl
KTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9InZvaWQiLz4KLSAgICAgIDxBcmd1bWVudExp
c3Q+Ci0gICAgICAgIDxBcmd1bWVudCBuYW1lPSJwcm9wZXJ0eU5hbWUiPgotICAgICAgICAgIDxU
eXBlIHR5cGU9IkRPTVN0cmluZyIvPgotICAgICAgICA8L0FyZ3VtZW50PgotICAgICAgICA8QXJn
dW1lbnQgbmFtZT0icHJvcGVydHlWYWx1ZSI+Ci0gICAgICAgICAgPFR5cGUgdHlwZT0iZmxvYXQi
Lz4KLSAgICAgICAgPC9Bcmd1bWVudD4KLSAgICAgIDwvQXJndW1lbnRMaXN0PgotICAgIDwvT3Bl
cmF0aW9uPgotICA8L0ludGVyZmFjZT4KLSAgPEludGVyZmFjZSBuYW1lPSJEaWN0aW9uYXJ5IiBp
ZD0iOjpEaWN0aW9uYXJ5Ij4KLSAgICA8d2ViaWRsPmludGVyZmFjZSBEaWN0aW9uYXJ5IHsKLSAg
cmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgcHJvcGVydHlDb3VudDsKLQotICBmbG9h
dCBnZXRQcm9wZXJ0eShET01TdHJpbmcgcHJvcGVydHlOYW1lKTsKLSAgdm9pZCBzZXRQcm9wZXJ0
eShET01TdHJpbmcgcHJvcGVydHlOYW1lLCBmbG9hdCBwcm9wZXJ0eVZhbHVlKTsKLQotICBnZXR0
ZXIgZmxvYXQgKERPTVN0cmluZyBwcm9wZXJ0eU5hbWUpOwotICBzZXR0ZXIgdm9pZCAoRE9NU3Ry
aW5nIHByb3BlcnR5TmFtZSwgZmxvYXQgcHJvcGVydHlWYWx1ZSk7Ci19Ozwvd2ViaWRsPgotICAg
IDxBdHRyaWJ1dGUgcmVhZG9ubHk9InJlYWRvbmx5IiBuYW1lPSJwcm9wZXJ0eUNvdW50IiBpZD0i
OjpEaWN0aW9uYXJ5Ojpwcm9wZXJ0eUNvdW50Ij4KLSAgICAgIDx3ZWJpZGw+ICByZWFkb25seSBh
dHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBwcm9wZXJ0eUNvdW50Ozwvd2ViaWRsPgotICAgICAgPFR5
cGUgdHlwZT0idW5zaWduZWQgbG9uZyIvPgotICAgIDwvQXR0cmlidXRlPgotICAgIDxPcGVyYXRp
b24gbmFtZT0iZ2V0UHJvcGVydHkiIGlkPSI6OkRpY3Rpb25hcnk6OmdldFByb3BlcnR5Ij4KLSAg
ICAgIDx3ZWJpZGw+ICBmbG9hdCBnZXRQcm9wZXJ0eShET01TdHJpbmcgcHJvcGVydHlOYW1lKTs8
L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9ImZsb2F0Ii8+Ci0gICAgICA8QXJndW1lbnRMaXN0
PgotICAgICAgICA8QXJndW1lbnQgbmFtZT0icHJvcGVydHlOYW1lIj4KLSAgICAgICAgICA8VHlw
ZSB0eXBlPSJET01TdHJpbmciLz4KLSAgICAgICAgPC9Bcmd1bWVudD4KLSAgICAgIDwvQXJndW1l
bnRMaXN0PgotICAgIDwvT3BlcmF0aW9uPgotICAgIDxPcGVyYXRpb24gbmFtZT0ic2V0UHJvcGVy
dHkiIGlkPSI6OkRpY3Rpb25hcnk6OnNldFByb3BlcnR5Ij4KLSAgICAgIDx3ZWJpZGw+ICB2b2lk
IHNldFByb3BlcnR5KERPTVN0cmluZyBwcm9wZXJ0eU5hbWUsIGZsb2F0IHByb3BlcnR5VmFsdWUp
Ozwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0idm9pZCIvPgotICAgICAgPEFyZ3VtZW50TGlz
dD4KLSAgICAgICAgPEFyZ3VtZW50IG5hbWU9InByb3BlcnR5TmFtZSI+Ci0gICAgICAgICAgPFR5
cGUgdHlwZT0iRE9NU3RyaW5nIi8+Ci0gICAgICAgIDwvQXJndW1lbnQ+Ci0gICAgICAgIDxBcmd1
bWVudCBuYW1lPSJwcm9wZXJ0eVZhbHVlIj4KLSAgICAgICAgICA8VHlwZSB0eXBlPSJmbG9hdCIv
PgotICAgICAgICA8L0FyZ3VtZW50PgotICAgICAgPC9Bcmd1bWVudExpc3Q+Ci0gICAgPC9PcGVy
YXRpb24+Ci0gICAgPE9wZXJhdGlvbiBnZXR0ZXI9ImdldHRlciI+Ci0gICAgICA8d2ViaWRsPiAg
Z2V0dGVyIGZsb2F0IChET01TdHJpbmcgcHJvcGVydHlOYW1lKTs8L3dlYmlkbD4KLSAgICAgIDxU
eXBlIHR5cGU9ImZsb2F0Ii8+Ci0gICAgICA8QXJndW1lbnRMaXN0PgotICAgICAgICA8QXJndW1l
bnQgbmFtZT0icHJvcGVydHlOYW1lIj4KLSAgICAgICAgICA8VHlwZSB0eXBlPSJET01TdHJpbmci
Lz4KLSAgICAgICAgPC9Bcmd1bWVudD4KLSAgICAgIDwvQXJndW1lbnRMaXN0PgotICAgIDwvT3Bl
cmF0aW9uPgotICAgIDxPcGVyYXRpb24gc2V0dGVyPSJzZXR0ZXIiPgotICAgICAgPHdlYmlkbD4g
IHNldHRlciB2b2lkIChET01TdHJpbmcgcHJvcGVydHlOYW1lLCBmbG9hdCBwcm9wZXJ0eVZhbHVl
KTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9InZvaWQiLz4KLSAgICAgIDxBcmd1bWVudExp
c3Q+Ci0gICAgICAgIDxBcmd1bWVudCBuYW1lPSJwcm9wZXJ0eU5hbWUiPgotICAgICAgICAgIDxU
eXBlIHR5cGU9IkRPTVN0cmluZyIvPgotICAgICAgICA8L0FyZ3VtZW50PgotICAgICAgICA8QXJn
dW1lbnQgbmFtZT0icHJvcGVydHlWYWx1ZSI+Ci0gICAgICAgICAgPFR5cGUgdHlwZT0iZmxvYXQi
Lz4KLSAgICAgICAgPC9Bcmd1bWVudD4KLSAgICAgIDwvQXJndW1lbnRMaXN0PgotICAgIDwvT3Bl
cmF0aW9uPgotICA8L0ludGVyZmFjZT4KLTwvRGVmaW5pdGlvbnM+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvZXhjZXB0aW9uLWluaGVyaXRhbmNlLndpZGxw
cm9jeG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL2V4Y2VwdGlvbi1pbmhl
cml0YW5jZS53aWRscHJvY3htbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggM2ExZjg2
OGE0YjQuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3ht
bC9leGNlcHRpb24taW5oZXJpdGFuY2Uud2lkbHByb2N4bWwKKysrIC9kZXYvbnVsbApAQCAtMSwz
MSArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgotPCFET0NU
WVBFIERlZmluaXRpb25zIFNZU1RFTSAid2lkbHByb2N4bWwuZHRkIj4KLTxEZWZpbml0aW9ucz4K
LSAgPHdlYmlkbD4gIGV4Y2VwdGlvbiBET01FeGNlcHRpb24gewotICAgIHVuc2lnbmVkIHNob3J0
IGNvZGU7Ci0gIH07Ci0KLSAgZXhjZXB0aW9uIEhpZXJhcmNoeVJlcXVlc3RFcnJvciA6IDxyZWY+
RE9NRXhjZXB0aW9uPC9yZWY+IHsgfTsKLSAgZXhjZXB0aW9uIE5vTW9kaWZpY2F0aW9uQWxsb3dl
ZEVycm9yIDogPHJlZj5ET01FeGNlcHRpb248L3JlZj4geyB9Ozwvd2ViaWRsPgotICA8RXhjZXB0
aW9uIG5hbWU9IkRPTUV4Y2VwdGlvbiIgaWQ9Ijo6RE9NRXhjZXB0aW9uIj4KLSAgICA8d2ViaWRs
PiAgZXhjZXB0aW9uIERPTUV4Y2VwdGlvbiB7Ci0gICAgdW5zaWduZWQgc2hvcnQgY29kZTsKLSAg
fTs8L3dlYmlkbD4KLSAgICA8RXhjZXB0aW9uRmllbGQgbmFtZT0iY29kZSIgaWQ9Ijo6RE9NRXhj
ZXB0aW9uOjpjb2RlIj4KLSAgICAgIDx3ZWJpZGw+ICAgIHVuc2lnbmVkIHNob3J0IGNvZGU7PC93
ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJ1bnNpZ25lZCBzaG9ydCIvPgotICAgIDwvRXhjZXB0
aW9uRmllbGQ+Ci0gIDwvRXhjZXB0aW9uPgotICA8RXhjZXB0aW9uIG5hbWU9IkhpZXJhcmNoeVJl
cXVlc3RFcnJvciIgaWQ9Ijo6SGllcmFyY2h5UmVxdWVzdEVycm9yIj4KLSAgICA8d2ViaWRsPiAg
ZXhjZXB0aW9uIEhpZXJhcmNoeVJlcXVlc3RFcnJvciA6IDxyZWY+RE9NRXhjZXB0aW9uPC9yZWY+
IHsgfTs8L3dlYmlkbD4KLSAgICA8RXhjZXB0aW9uSW5oZXJpdGFuY2U+Ci0gICAgICA8TmFtZSBu
YW1lPSJET01FeGNlcHRpb24iLz4KLSAgICA8L0V4Y2VwdGlvbkluaGVyaXRhbmNlPgotICA8L0V4
Y2VwdGlvbj4KLSAgPEV4Y2VwdGlvbiBuYW1lPSJOb01vZGlmaWNhdGlvbkFsbG93ZWRFcnJvciIg
aWQ9Ijo6Tm9Nb2RpZmljYXRpb25BbGxvd2VkRXJyb3IiPgotICAgIDx3ZWJpZGw+ICBleGNlcHRp
b24gTm9Nb2RpZmljYXRpb25BbGxvd2VkRXJyb3IgOiA8cmVmPkRPTUV4Y2VwdGlvbjwvcmVmPiB7
IH07PC93ZWJpZGw+Ci0gICAgPEV4Y2VwdGlvbkluaGVyaXRhbmNlPgotICAgICAgPE5hbWUgbmFt
ZT0iRE9NRXhjZXB0aW9uIi8+Ci0gICAgPC9FeGNlcHRpb25Jbmhlcml0YW5jZT4KLSAgPC9FeGNl
cHRpb24+Ci08L0RlZmluaXRpb25zPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rl
c3QvdmFsaWQveG1sL2V4Y2VwdGlvbi53aWRscHJvY3htbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90
ZXN0L3ZhbGlkL3htbC9leGNlcHRpb24ud2lkbHByb2N4bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IGFjOTMzMjBmZTE2Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHBy
b2MvdGVzdC92YWxpZC94bWwvZXhjZXB0aW9uLndpZGxwcm9jeG1sCisrKyAvZGV2L251bGwKQEAg
LTEsMjMgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KLTwh
RE9DVFlQRSBEZWZpbml0aW9ucyBTWVNURU0gIndpZGxwcm9jeG1sLmR0ZCI+Ci08RGVmaW5pdGlv
bnM+Ci0gIDx3ZWJpZGw+aW50ZXJmYWNlIERhaHV0IHsKLSAgYXR0cmlidXRlIERPTVN0cmluZyB0
eXBlOwotfTsKLQotZXhjZXB0aW9uIFNvbWVFeGNlcHRpb24gewotfTs8L3dlYmlkbD4KLSAgPElu
dGVyZmFjZSBuYW1lPSJEYWh1dCIgaWQ9Ijo6RGFodXQiPgotICAgIDx3ZWJpZGw+aW50ZXJmYWNl
IERhaHV0IHsKLSAgYXR0cmlidXRlIERPTVN0cmluZyB0eXBlOwotfTs8L3dlYmlkbD4KLSAgICA8
QXR0cmlidXRlIG5hbWU9InR5cGUiIGlkPSI6OkRhaHV0Ojp0eXBlIj4KLSAgICAgIDx3ZWJpZGw+
ICBhdHRyaWJ1dGUgRE9NU3RyaW5nIHR5cGU7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJE
T01TdHJpbmciLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAgPC9JbnRlcmZhY2U+Ci0gIDxFeGNlcHRp
b24gbmFtZT0iU29tZUV4Y2VwdGlvbiIgaWQ9Ijo6U29tZUV4Y2VwdGlvbiI+Ci0gICAgPHdlYmlk
bD5leGNlcHRpb24gU29tZUV4Y2VwdGlvbiB7Ci19Ozwvd2ViaWRsPgotICA8L0V4Y2VwdGlvbj4K
LTwvRGVmaW5pdGlvbnM+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxp
ZC94bWwvZ2V0dGVyLXNldHRlci53aWRscHJvY3htbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0
L3ZhbGlkL3htbC9nZXR0ZXItc2V0dGVyLndpZGxwcm9jeG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCA3NmFmYzA1OGM2OC4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxw
cm9jL3Rlc3QvdmFsaWQveG1sL2dldHRlci1zZXR0ZXIud2lkbHByb2N4bWwKKysrIC9kZXYvbnVs
bApAQCAtMSw0MyArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/
PgotPCFET0NUWVBFIERlZmluaXRpb25zIFNZU1RFTSAid2lkbHByb2N4bWwuZHRkIj4KLTxEZWZp
bml0aW9ucz4KLSAgPHdlYmlkbD5pbnRlcmZhY2UgRGljdGlvbmFyeSB7Ci0gIHJlYWRvbmx5IGF0
dHJpYnV0ZSB1bnNpZ25lZCBsb25nIHByb3BlcnR5Q291bnQ7Ci0KLSAgZ2V0dGVyIGZsb2F0IChE
T01TdHJpbmcgcHJvcGVydHlOYW1lKTsKLSAgc2V0dGVyIHZvaWQgKERPTVN0cmluZyBwcm9wZXJ0
eU5hbWUsIGZsb2F0IHByb3BlcnR5VmFsdWUpOwotfTs8L3dlYmlkbD4KLSAgPEludGVyZmFjZSBu
YW1lPSJEaWN0aW9uYXJ5IiBpZD0iOjpEaWN0aW9uYXJ5Ij4KLSAgICA8d2ViaWRsPmludGVyZmFj
ZSBEaWN0aW9uYXJ5IHsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgcHJvcGVy
dHlDb3VudDsKLQotICBnZXR0ZXIgZmxvYXQgKERPTVN0cmluZyBwcm9wZXJ0eU5hbWUpOwotICBz
ZXR0ZXIgdm9pZCAoRE9NU3RyaW5nIHByb3BlcnR5TmFtZSwgZmxvYXQgcHJvcGVydHlWYWx1ZSk7
Ci19Ozwvd2ViaWRsPgotICAgIDxBdHRyaWJ1dGUgcmVhZG9ubHk9InJlYWRvbmx5IiBuYW1lPSJw
cm9wZXJ0eUNvdW50IiBpZD0iOjpEaWN0aW9uYXJ5Ojpwcm9wZXJ0eUNvdW50Ij4KLSAgICAgIDx3
ZWJpZGw+ICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBwcm9wZXJ0eUNvdW50Ozwv
d2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0idW5zaWduZWQgbG9uZyIvPgotICAgIDwvQXR0cmli
dXRlPgotICAgIDxPcGVyYXRpb24gZ2V0dGVyPSJnZXR0ZXIiPgotICAgICAgPHdlYmlkbD4gIGdl
dHRlciBmbG9hdCAoRE9NU3RyaW5nIHByb3BlcnR5TmFtZSk7PC93ZWJpZGw+Ci0gICAgICA8VHlw
ZSB0eXBlPSJmbG9hdCIvPgotICAgICAgPEFyZ3VtZW50TGlzdD4KLSAgICAgICAgPEFyZ3VtZW50
IG5hbWU9InByb3BlcnR5TmFtZSI+Ci0gICAgICAgICAgPFR5cGUgdHlwZT0iRE9NU3RyaW5nIi8+
Ci0gICAgICAgIDwvQXJndW1lbnQ+Ci0gICAgICA8L0FyZ3VtZW50TGlzdD4KLSAgICA8L09wZXJh
dGlvbj4KLSAgICA8T3BlcmF0aW9uIHNldHRlcj0ic2V0dGVyIj4KLSAgICAgIDx3ZWJpZGw+ICBz
ZXR0ZXIgdm9pZCAoRE9NU3RyaW5nIHByb3BlcnR5TmFtZSwgZmxvYXQgcHJvcGVydHlWYWx1ZSk7
PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJ2b2lkIi8+Ci0gICAgICA8QXJndW1lbnRMaXN0
PgotICAgICAgICA8QXJndW1lbnQgbmFtZT0icHJvcGVydHlOYW1lIj4KLSAgICAgICAgICA8VHlw
ZSB0eXBlPSJET01TdHJpbmciLz4KLSAgICAgICAgPC9Bcmd1bWVudD4KLSAgICAgICAgPEFyZ3Vt
ZW50IG5hbWU9InByb3BlcnR5VmFsdWUiPgotICAgICAgICAgIDxUeXBlIHR5cGU9ImZsb2F0Ii8+
Ci0gICAgICAgIDwvQXJndW1lbnQ+Ci0gICAgICA8L0FyZ3VtZW50TGlzdD4KLSAgICA8L09wZXJh
dGlvbj4KLSAgPC9JbnRlcmZhY2U+Ci08L0RlZmluaXRpb25zPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL2lkZW50aWZpZXItcXVhbGlmaWVkLW5hbWVzLndp
ZGxwcm9jeG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL2lkZW50aWZpZXIt
cXVhbGlmaWVkLW5hbWVzLndpZGxwcm9jeG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCBiNjAyNGU1ZmY2OC4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3Qv
dmFsaWQveG1sL2lkZW50aWZpZXItcXVhbGlmaWVkLW5hbWVzLndpZGxwcm9jeG1sCisrKyAvZGV2
L251bGwKQEAgLTEsMTA3ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVU
Ri04Ij8+Ci08IURPQ1RZUEUgRGVmaW5pdGlvbnMgU1lTVEVNICJ3aWRscHJvY3htbC5kdGQiPgot
PERlZmluaXRpb25zPgotICA8d2ViaWRsPiAgdHlwZWRlZiBmbG9hdCBudW1iZXI7Ci0KLSAgZXhj
ZXB0aW9uIEZyYW1ld29ya0V4Y2VwdGlvbiB7Ci0KLSAgICBjb25zdCBsb25nIEVSUl9OT1RfRk9V
TkQgPSAxOwotCi0gICAgbG9uZyBjb2RlOwotICB9OwotCi0gIGludGVyZmFjZSBTeXN0ZW0gewot
Ci0gICAgb2JqZWN0IGNyZWF0ZU9iamVjdChET01TdHJpbmcgX2ludGVyZmFjZSk7Ci0KLSAgICBn
ZXR0ZXIgRE9NU3RyaW5nIChET01TdHJpbmcga2V5TmFtZSk7Ci0gIH07Ci0KLSAgICAKLSAgICBp
bnRlcmZhY2UgVGV4dEZpZWxkIHsKLQotICAgICAgYXR0cmlidXRlIGJvb2xlYW4gX2NvbnN0Owot
Ci0gICAgICBhdHRyaWJ1dGUgRE9NU3RyaW5nPyBfdmFsdWU7Ci0gICAgfTsKLQotaW50ZXJmYWNl
IEZvbyB7Ci0gdm9pZCBvcChvYmplY3QgaW50ZXJmYWNlKTsKLX07PC93ZWJpZGw+Ci0gIDxUeXBl
ZGVmIG5hbWU9Im51bWJlciIgaWQ9Ijo6bnVtYmVyIj4KLSAgICA8d2ViaWRsPiAgdHlwZWRlZiBm
bG9hdCBudW1iZXI7PC93ZWJpZGw+Ci0gICAgPFR5cGUgdHlwZT0iZmxvYXQiLz4KLSAgPC9UeXBl
ZGVmPgotICA8RXhjZXB0aW9uIG5hbWU9IkZyYW1ld29ya0V4Y2VwdGlvbiIgaWQ9Ijo6RnJhbWV3
b3JrRXhjZXB0aW9uIj4KLSAgICA8d2ViaWRsPiAgZXhjZXB0aW9uIEZyYW1ld29ya0V4Y2VwdGlv
biB7Ci0KLSAgICBjb25zdCBsb25nIEVSUl9OT1RfRk9VTkQgPSAxOwotCi0gICAgbG9uZyBjb2Rl
OwotICB9Ozwvd2ViaWRsPgotICAgIDxDb25zdCBuYW1lPSJFUlJfTk9UX0ZPVU5EIiB2YWx1ZT0i
MSIgaWQ9Ijo6RnJhbWV3b3JrRXhjZXB0aW9uOjpFUlJfTk9UX0ZPVU5EIj4KLSAgICAgIDx3ZWJp
ZGw+ICAgIGNvbnN0IGxvbmcgRVJSX05PVF9GT1VORCA9IDE7PC93ZWJpZGw+Ci0gICAgICA8VHlw
ZSB0eXBlPSJsb25nIi8+Ci0gICAgPC9Db25zdD4KLSAgICA8RXhjZXB0aW9uRmllbGQgbmFtZT0i
Y29kZSIgaWQ9Ijo6RnJhbWV3b3JrRXhjZXB0aW9uOjpjb2RlIj4KLSAgICAgIDx3ZWJpZGw+ICAg
IGxvbmcgY29kZTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9ImxvbmciLz4KLSAgICA8L0V4
Y2VwdGlvbkZpZWxkPgotICA8L0V4Y2VwdGlvbj4KLSAgPEludGVyZmFjZSBuYW1lPSJTeXN0ZW0i
IGlkPSI6OlN5c3RlbSI+Ci0gICAgPHdlYmlkbD4gIGludGVyZmFjZSBTeXN0ZW0gewotCi0gICAg
b2JqZWN0IGNyZWF0ZU9iamVjdChET01TdHJpbmcgX2ludGVyZmFjZSk7Ci0KLSAgICBnZXR0ZXIg
RE9NU3RyaW5nIChET01TdHJpbmcga2V5TmFtZSk7Ci0gIH07PC93ZWJpZGw+Ci0gICAgPE9wZXJh
dGlvbiBuYW1lPSJjcmVhdGVPYmplY3QiIGlkPSI6OlN5c3RlbTo6Y3JlYXRlT2JqZWN0Ij4KLSAg
ICAgIDx3ZWJpZGw+ICAgIG9iamVjdCBjcmVhdGVPYmplY3QoRE9NU3RyaW5nIF9pbnRlcmZhY2Up
Ozwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0ib2JqZWN0Ii8+Ci0gICAgICA8QXJndW1lbnRM
aXN0PgotICAgICAgICA8QXJndW1lbnQgbmFtZT0iX2ludGVyZmFjZSI+Ci0gICAgICAgICAgPFR5
cGUgdHlwZT0iRE9NU3RyaW5nIi8+Ci0gICAgICAgIDwvQXJndW1lbnQ+Ci0gICAgICA8L0FyZ3Vt
ZW50TGlzdD4KLSAgICA8L09wZXJhdGlvbj4KLSAgICA8T3BlcmF0aW9uIGdldHRlcj0iZ2V0dGVy
Ij4KLSAgICAgIDx3ZWJpZGw+ICAgIGdldHRlciBET01TdHJpbmcgKERPTVN0cmluZyBrZXlOYW1l
KTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9IkRPTVN0cmluZyIvPgotICAgICAgPEFyZ3Vt
ZW50TGlzdD4KLSAgICAgICAgPEFyZ3VtZW50IG5hbWU9ImtleU5hbWUiPgotICAgICAgICAgIDxU
eXBlIHR5cGU9IkRPTVN0cmluZyIvPgotICAgICAgICA8L0FyZ3VtZW50PgotICAgICAgPC9Bcmd1
bWVudExpc3Q+Ci0gICAgPC9PcGVyYXRpb24+Ci0gIDwvSW50ZXJmYWNlPgotICA8SW50ZXJmYWNl
IG5hbWU9IlRleHRGaWVsZCIgaWQ9Ijo6VGV4dEZpZWxkIj4KLSAgICA8d2ViaWRsPiAgICBpbnRl
cmZhY2UgVGV4dEZpZWxkIHsKLQotICAgICAgYXR0cmlidXRlIGJvb2xlYW4gX2NvbnN0OwotCi0g
ICAgICBhdHRyaWJ1dGUgRE9NU3RyaW5nPyBfdmFsdWU7Ci0gICAgfTs8L3dlYmlkbD4KLSAgICA8
QXR0cmlidXRlIG5hbWU9Il9jb25zdCIgaWQ9Ijo6VGV4dEZpZWxkOjpfY29uc3QiPgotICAgICAg
PHdlYmlkbD4gICAgICBhdHRyaWJ1dGUgYm9vbGVhbiBfY29uc3Q7PC93ZWJpZGw+Ci0gICAgICA8
VHlwZSB0eXBlPSJib29sZWFuIi8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gICAgPEF0dHJpYnV0ZSBu
YW1lPSJfdmFsdWUiIGlkPSI6OlRleHRGaWVsZDo6X3ZhbHVlIj4KLSAgICAgIDx3ZWJpZGw+ICAg
ICAgYXR0cmlidXRlIERPTVN0cmluZz8gX3ZhbHVlOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlw
ZT0iRE9NU3RyaW5nIiBudWxsYWJsZT0ibnVsbGFibGUiLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAg
PC9JbnRlcmZhY2U+Ci0gIDxJbnRlcmZhY2UgbmFtZT0iRm9vIiBpZD0iOjpGb28iPgotICAgIDx3
ZWJpZGw+aW50ZXJmYWNlIEZvbyB7Ci0gdm9pZCBvcChvYmplY3QgaW50ZXJmYWNlKTsKLX07PC93
ZWJpZGw+Ci0gICAgPE9wZXJhdGlvbiBuYW1lPSJvcCIgaWQ9Ijo6Rm9vOjpvcCI+Ci0gICAgICA8
d2ViaWRsPiB2b2lkIG9wKG9iamVjdCBpbnRlcmZhY2UpOzwvd2ViaWRsPgotICAgICAgPFR5cGUg
dHlwZT0idm9pZCIvPgotICAgICAgPEFyZ3VtZW50TGlzdD4KLSAgICAgICAgPEFyZ3VtZW50IG5h
bWU9ImludGVyZmFjZSI+Ci0gICAgICAgICAgPFR5cGUgdHlwZT0ib2JqZWN0Ii8+Ci0gICAgICAg
IDwvQXJndW1lbnQ+Ci0gICAgICA8L0FyZ3VtZW50TGlzdD4KLSAgICA8L09wZXJhdGlvbj4KLSAg
PC9JbnRlcmZhY2U+Ci08L0RlZmluaXRpb25zPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxw
cm9jL3Rlc3QvdmFsaWQveG1sL2ltcGxlbWVudHMud2lkbHByb2N4bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lk
bHByb2MvdGVzdC92YWxpZC94bWwvaW1wbGVtZW50cy53aWRscHJvY3htbApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggM2QxYzFhYjg0NzguLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9pbXBsZW1lbnRzLndpZGxwcm9jeG1sCisrKyAvZGV2
L251bGwKQEAgLTEsNTEgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRG
LTgiPz4KLTwhRE9DVFlQRSBEZWZpbml0aW9ucyBTWVNURU0gIndpZGxwcm9jeG1sLmR0ZCI+Ci08
RGVmaW5pdGlvbnM+Ci0gIDx3ZWJpZGw+ICBpbnRlcmZhY2UgTm9kZSB7Ci0gICAgcmVhZG9ubHkg
YXR0cmlidXRlIHVuc2lnbmVkIHNob3J0IG5vZGVUeXBlOwotICB9OwotCi0gIGludGVyZmFjZSBF
dmVudFRhcmdldCB7Ci0gICAgdm9pZCBhZGRFdmVudExpc3RlbmVyKERPTVN0cmluZyB0eXBlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVmPkV2ZW50TGlzdGVuZXI8L3JlZj4gbGlzdGVu
ZXIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2xlYW4gdXNlQ2FwdHVyZSk7Ci0gIH07
Ci0KLSAgPHJlZj5Ob2RlPC9yZWY+IGltcGxlbWVudHMgPHJlZj5FdmVudFRhcmdldDwvcmVmPjs8
L3dlYmlkbD4KLSAgPEludGVyZmFjZSBuYW1lPSJOb2RlIiBpZD0iOjpOb2RlIj4KLSAgICA8d2Vi
aWRsPiAgaW50ZXJmYWNlIE5vZGUgewotICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBz
aG9ydCBub2RlVHlwZTsKLSAgfTs8L3dlYmlkbD4KLSAgICA8QXR0cmlidXRlIHJlYWRvbmx5PSJy
ZWFkb25seSIgbmFtZT0ibm9kZVR5cGUiIGlkPSI6Ok5vZGU6Om5vZGVUeXBlIj4KLSAgICAgIDx3
ZWJpZGw+ICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBzaG9ydCBub2RlVHlwZTs8L3dl
YmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9InVuc2lnbmVkIHNob3J0Ii8+Ci0gICAgPC9BdHRyaWJ1
dGU+Ci0gIDwvSW50ZXJmYWNlPgotICA8SW50ZXJmYWNlIG5hbWU9IkV2ZW50VGFyZ2V0IiBpZD0i
OjpFdmVudFRhcmdldCI+Ci0gICAgPHdlYmlkbD4gIGludGVyZmFjZSBFdmVudFRhcmdldCB7Ci0g
ICAgdm9pZCBhZGRFdmVudExpc3RlbmVyKERPTVN0cmluZyB0eXBlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICA8cmVmPkV2ZW50TGlzdGVuZXI8L3JlZj4gbGlzdGVuZXIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgIGJvb2xlYW4gdXNlQ2FwdHVyZSk7Ci0gIH07PC93ZWJpZGw+Ci0gICAg
PE9wZXJhdGlvbiBuYW1lPSJhZGRFdmVudExpc3RlbmVyIiBpZD0iOjpFdmVudFRhcmdldDo6YWRk
RXZlbnRMaXN0ZW5lciI+Ci0gICAgICA8d2ViaWRsPiAgICB2b2lkIGFkZEV2ZW50TGlzdGVuZXIo
RE9NU3RyaW5nIHR5cGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWY+RXZlbnRMaXN0
ZW5lcjwvcmVmPiBsaXN0ZW5lciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbGVhbiB1
c2VDYXB0dXJlKTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9InZvaWQiLz4KLSAgICAgIDxB
cmd1bWVudExpc3Q+Ci0gICAgICAgIDxBcmd1bWVudCBuYW1lPSJ0eXBlIj4KLSAgICAgICAgICA8
VHlwZSB0eXBlPSJET01TdHJpbmciLz4KLSAgICAgICAgPC9Bcmd1bWVudD4KLSAgICAgICAgPEFy
Z3VtZW50IG5hbWU9Imxpc3RlbmVyIj4KLSAgICAgICAgICA8VHlwZSBuYW1lPSJFdmVudExpc3Rl
bmVyIi8+Ci0gICAgICAgIDwvQXJndW1lbnQ+Ci0gICAgICAgIDxBcmd1bWVudCBuYW1lPSJ1c2VD
YXB0dXJlIj4KLSAgICAgICAgICA8VHlwZSB0eXBlPSJib29sZWFuIi8+Ci0gICAgICAgIDwvQXJn
dW1lbnQ+Ci0gICAgICA8L0FyZ3VtZW50TGlzdD4KLSAgICA8L09wZXJhdGlvbj4KLSAgPC9JbnRl
cmZhY2U+Ci0gIDxJbXBsZW1lbnRzIG5hbWUxPSJOb2RlIiBuYW1lMj0iRXZlbnRUYXJnZXQiPgot
ICAgIDx3ZWJpZGw+ICA8cmVmPk5vZGU8L3JlZj4gaW1wbGVtZW50cyA8cmVmPkV2ZW50VGFyZ2V0
PC9yZWY+Ozwvd2ViaWRsPgotICA8L0ltcGxlbWVudHM+Ci08L0RlZmluaXRpb25zPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL2luZGV4ZWQtcHJvcGVydGll
cy53aWRscHJvY3htbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9pbmRleGVk
LXByb3BlcnRpZXMud2lkbHByb2N4bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGZi
ODM2MjFiNjBkLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxp
ZC94bWwvaW5kZXhlZC1wcm9wZXJ0aWVzLndpZGxwcm9jeG1sCisrKyAvZGV2L251bGwKQEAgLTEs
OTIgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KLTwhRE9D
VFlQRSBEZWZpbml0aW9ucyBTWVNURU0gIndpZGxwcm9jeG1sLmR0ZCI+Ci08RGVmaW5pdGlvbnM+
Ci0gIDx3ZWJpZGw+aW50ZXJmYWNlIE9yZGVyZWRNYXAgewotICByZWFkb25seSBhdHRyaWJ1dGUg
dW5zaWduZWQgbG9uZyBzaXplOwotCi0gIGdldHRlciBhbnkgZ2V0QnlJbmRleCh1bnNpZ25lZCBs
b25nIGluZGV4KTsKLSAgc2V0dGVyIHZvaWQgc2V0QnlJbmRleCh1bnNpZ25lZCBsb25nIGluZGV4
LCBhbnkgdmFsdWUpOwotICBkZWxldGVyIHZvaWQgcmVtb3ZlQnlJbmRleCh1bnNpZ25lZCBsb25n
IGluZGV4KTsKLQotICBnZXR0ZXIgYW55IGdldChET01TdHJpbmcgbmFtZSk7Ci0gIHNldHRlciBj
cmVhdG9yIHZvaWQgc2V0KERPTVN0cmluZyBuYW1lLCBhbnkgdmFsdWUpOwotICBkZWxldGVyIHZv
aWQgcmVtb3ZlKERPTVN0cmluZyBuYW1lKTsKLX07PC93ZWJpZGw+Ci0gIDxJbnRlcmZhY2UgbmFt
ZT0iT3JkZXJlZE1hcCIgaWQ9Ijo6T3JkZXJlZE1hcCI+Ci0gICAgPHdlYmlkbD5pbnRlcmZhY2Ug
T3JkZXJlZE1hcCB7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIHNpemU7Ci0K
LSAgZ2V0dGVyIGFueSBnZXRCeUluZGV4KHVuc2lnbmVkIGxvbmcgaW5kZXgpOwotICBzZXR0ZXIg
dm9pZCBzZXRCeUluZGV4KHVuc2lnbmVkIGxvbmcgaW5kZXgsIGFueSB2YWx1ZSk7Ci0gIGRlbGV0
ZXIgdm9pZCByZW1vdmVCeUluZGV4KHVuc2lnbmVkIGxvbmcgaW5kZXgpOwotCi0gIGdldHRlciBh
bnkgZ2V0KERPTVN0cmluZyBuYW1lKTsKLSAgc2V0dGVyIGNyZWF0b3Igdm9pZCBzZXQoRE9NU3Ry
aW5nIG5hbWUsIGFueSB2YWx1ZSk7Ci0gIGRlbGV0ZXIgdm9pZCByZW1vdmUoRE9NU3RyaW5nIG5h
bWUpOwotfTs8L3dlYmlkbD4KLSAgICA8QXR0cmlidXRlIHJlYWRvbmx5PSJyZWFkb25seSIgbmFt
ZT0ic2l6ZSIgaWQ9Ijo6T3JkZXJlZE1hcDo6c2l6ZSI+Ci0gICAgICA8d2ViaWRsPiAgcmVhZG9u
bHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgc2l6ZTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5
cGU9InVuc2lnbmVkIGxvbmciLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAgICA8T3BlcmF0aW9uIGdl
dHRlcj0iZ2V0dGVyIiBuYW1lPSJnZXRCeUluZGV4IiBpZD0iOjpPcmRlcmVkTWFwOjpnZXRCeUlu
ZGV4Ij4KLSAgICAgIDx3ZWJpZGw+ICBnZXR0ZXIgYW55IGdldEJ5SW5kZXgodW5zaWduZWQgbG9u
ZyBpbmRleCk7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJhbnkiLz4KLSAgICAgIDxBcmd1
bWVudExpc3Q+Ci0gICAgICAgIDxBcmd1bWVudCBuYW1lPSJpbmRleCI+Ci0gICAgICAgICAgPFR5
cGUgdHlwZT0idW5zaWduZWQgbG9uZyIvPgotICAgICAgICA8L0FyZ3VtZW50PgotICAgICAgPC9B
cmd1bWVudExpc3Q+Ci0gICAgPC9PcGVyYXRpb24+Ci0gICAgPE9wZXJhdGlvbiBzZXR0ZXI9InNl
dHRlciIgbmFtZT0ic2V0QnlJbmRleCIgaWQ9Ijo6T3JkZXJlZE1hcDo6c2V0QnlJbmRleCI+Ci0g
ICAgICA8d2ViaWRsPiAgc2V0dGVyIHZvaWQgc2V0QnlJbmRleCh1bnNpZ25lZCBsb25nIGluZGV4
LCBhbnkgdmFsdWUpOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0idm9pZCIvPgotICAgICAg
PEFyZ3VtZW50TGlzdD4KLSAgICAgICAgPEFyZ3VtZW50IG5hbWU9ImluZGV4Ij4KLSAgICAgICAg
ICA8VHlwZSB0eXBlPSJ1bnNpZ25lZCBsb25nIi8+Ci0gICAgICAgIDwvQXJndW1lbnQ+Ci0gICAg
ICAgIDxBcmd1bWVudCBuYW1lPSJ2YWx1ZSI+Ci0gICAgICAgICAgPFR5cGUgdHlwZT0iYW55Ii8+
Ci0gICAgICAgIDwvQXJndW1lbnQ+Ci0gICAgICA8L0FyZ3VtZW50TGlzdD4KLSAgICA8L09wZXJh
dGlvbj4KLSAgICA8T3BlcmF0aW9uIGRlbGV0ZXI9ImRlbGV0ZXIiIG5hbWU9InJlbW92ZUJ5SW5k
ZXgiIGlkPSI6Ok9yZGVyZWRNYXA6OnJlbW92ZUJ5SW5kZXgiPgotICAgICAgPHdlYmlkbD4gIGRl
bGV0ZXIgdm9pZCByZW1vdmVCeUluZGV4KHVuc2lnbmVkIGxvbmcgaW5kZXgpOzwvd2ViaWRsPgot
ICAgICAgPFR5cGUgdHlwZT0idm9pZCIvPgotICAgICAgPEFyZ3VtZW50TGlzdD4KLSAgICAgICAg
PEFyZ3VtZW50IG5hbWU9ImluZGV4Ij4KLSAgICAgICAgICA8VHlwZSB0eXBlPSJ1bnNpZ25lZCBs
b25nIi8+Ci0gICAgICAgIDwvQXJndW1lbnQ+Ci0gICAgICA8L0FyZ3VtZW50TGlzdD4KLSAgICA8
L09wZXJhdGlvbj4KLSAgICA8T3BlcmF0aW9uIGdldHRlcj0iZ2V0dGVyIiBuYW1lPSJnZXQiIGlk
PSI6Ok9yZGVyZWRNYXA6OmdldCI+Ci0gICAgICA8d2ViaWRsPiAgZ2V0dGVyIGFueSBnZXQoRE9N
U3RyaW5nIG5hbWUpOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0iYW55Ii8+Ci0gICAgICA8
QXJndW1lbnRMaXN0PgotICAgICAgICA8QXJndW1lbnQgbmFtZT0ibmFtZSI+Ci0gICAgICAgICAg
PFR5cGUgdHlwZT0iRE9NU3RyaW5nIi8+Ci0gICAgICAgIDwvQXJndW1lbnQ+Ci0gICAgICA8L0Fy
Z3VtZW50TGlzdD4KLSAgICA8L09wZXJhdGlvbj4KLSAgICA8T3BlcmF0aW9uIHNldHRlcj0ic2V0
dGVyIiBjcmVhdG9yPSJjcmVhdG9yIiBuYW1lPSJzZXQiIGlkPSI6Ok9yZGVyZWRNYXA6OnNldCI+
Ci0gICAgICA8d2ViaWRsPiAgc2V0dGVyIGNyZWF0b3Igdm9pZCBzZXQoRE9NU3RyaW5nIG5hbWUs
IGFueSB2YWx1ZSk7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJ2b2lkIi8+Ci0gICAgICA8
QXJndW1lbnRMaXN0PgotICAgICAgICA8QXJndW1lbnQgbmFtZT0ibmFtZSI+Ci0gICAgICAgICAg
PFR5cGUgdHlwZT0iRE9NU3RyaW5nIi8+Ci0gICAgICAgIDwvQXJndW1lbnQ+Ci0gICAgICAgIDxB
cmd1bWVudCBuYW1lPSJ2YWx1ZSI+Ci0gICAgICAgICAgPFR5cGUgdHlwZT0iYW55Ii8+Ci0gICAg
ICAgIDwvQXJndW1lbnQ+Ci0gICAgICA8L0FyZ3VtZW50TGlzdD4KLSAgICA8L09wZXJhdGlvbj4K
LSAgICA8T3BlcmF0aW9uIGRlbGV0ZXI9ImRlbGV0ZXIiIG5hbWU9InJlbW92ZSIgaWQ9Ijo6T3Jk
ZXJlZE1hcDo6cmVtb3ZlIj4KLSAgICAgIDx3ZWJpZGw+ICBkZWxldGVyIHZvaWQgcmVtb3ZlKERP
TVN0cmluZyBuYW1lKTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9InZvaWQiLz4KLSAgICAg
IDxBcmd1bWVudExpc3Q+Ci0gICAgICAgIDxBcmd1bWVudCBuYW1lPSJuYW1lIj4KLSAgICAgICAg
ICA8VHlwZSB0eXBlPSJET01TdHJpbmciLz4KLSAgICAgICAgPC9Bcmd1bWVudD4KLSAgICAgIDwv
QXJndW1lbnRMaXN0PgotICAgIDwvT3BlcmF0aW9uPgotICA8L0ludGVyZmFjZT4KLTwvRGVmaW5p
dGlvbnM+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvaW5o
ZXJpdHMtZ2V0dGVyLndpZGxwcm9jeG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQv
eG1sL2luaGVyaXRzLWdldHRlci53aWRscHJvY3htbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggNTVlN2EzMTdmZDkuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90
ZXN0L3ZhbGlkL3htbC9pbmhlcml0cy1nZXR0ZXIud2lkbHByb2N4bWwKKysrIC9kZXYvbnVsbApA
QCAtMSw0NCArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/Pgot
PCFET0NUWVBFIERlZmluaXRpb25zIFNZU1RFTSAid2lkbHByb2N4bWwuZHRkIj4KLTxEZWZpbml0
aW9ucz4KLSAgPHdlYmlkbD5pbnRlcmZhY2UgQW5pbWFsIHsKLQotICByZWFkb25seSBhdHRyaWJ1
dGUgRE9NU3RyaW5nIG5hbWU7Ci19OwotCi1pbnRlcmZhY2UgUGVyc29uIDogPHJlZj5BbmltYWw8
L3JlZj4gewotCi0gIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBzaG9ydCBhZ2U7Ci0KLSAg
aW5oZXJpdCBhdHRyaWJ1dGUgRE9NU3RyaW5nIG5hbWU7Ci19Ozwvd2ViaWRsPgotICA8SW50ZXJm
YWNlIG5hbWU9IkFuaW1hbCIgaWQ9Ijo6QW5pbWFsIj4KLSAgICA8d2ViaWRsPmludGVyZmFjZSBB
bmltYWwgewotCi0gIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgbmFtZTsKLX07PC93ZWJp
ZGw+Ci0gICAgPEF0dHJpYnV0ZSByZWFkb25seT0icmVhZG9ubHkiIG5hbWU9Im5hbWUiIGlkPSI6
OkFuaW1hbDo6bmFtZSI+Ci0gICAgICA8d2ViaWRsPiAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0
cmluZyBuYW1lOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0iRE9NU3RyaW5nIi8+Ci0gICAg
PC9BdHRyaWJ1dGU+Ci0gIDwvSW50ZXJmYWNlPgotICA8SW50ZXJmYWNlIG5hbWU9IlBlcnNvbiIg
aWQ9Ijo6UGVyc29uIj4KLSAgICA8d2ViaWRsPmludGVyZmFjZSBQZXJzb24gOiA8cmVmPkFuaW1h
bDwvcmVmPiB7Ci0KLSAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIHNob3J0IGFnZTsKLQot
ICBpbmhlcml0IGF0dHJpYnV0ZSBET01TdHJpbmcgbmFtZTsKLX07PC93ZWJpZGw+Ci0gICAgPElu
dGVyZmFjZUluaGVyaXRhbmNlPgotICAgICAgPE5hbWUgbmFtZT0iQW5pbWFsIi8+Ci0gICAgPC9J
bnRlcmZhY2VJbmhlcml0YW5jZT4KLSAgICA8QXR0cmlidXRlIHJlYWRvbmx5PSJyZWFkb25seSIg
bmFtZT0iYWdlIiBpZD0iOjpQZXJzb246OmFnZSI+Ci0gICAgICA8d2ViaWRsPiAgcmVhZG9ubHkg
YXR0cmlidXRlIHVuc2lnbmVkIHNob3J0IGFnZTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9
InVuc2lnbmVkIHNob3J0Ii8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gICAgPEF0dHJpYnV0ZSBpbmhl
cml0PSJpbmhlcml0IiBuYW1lPSJuYW1lIiBpZD0iOjpQZXJzb246Om5hbWUiPgotICAgICAgPHdl
YmlkbD4gIGluaGVyaXQgYXR0cmlidXRlIERPTVN0cmluZyBuYW1lOzwvd2ViaWRsPgotICAgICAg
PFR5cGUgdHlwZT0iRE9NU3RyaW5nIi8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gIDwvSW50ZXJmYWNl
PgotPC9EZWZpbml0aW9ucz4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3Zh
bGlkL3htbC9pbnRlcmZhY2UtaW5oZXJpdHMud2lkbHByb2N4bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHBy
b2MvdGVzdC92YWxpZC94bWwvaW50ZXJmYWNlLWluaGVyaXRzLndpZGxwcm9jeG1sCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5NGYwZTI5ZGYwNS4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL2ludGVyZmFjZS1pbmhlcml0cy53aWRscHJv
Y3htbAorKysgL2Rldi9udWxsCkBAIC0xLDQ4ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIg
ZW5jb2Rpbmc9IlVURi04Ij8+Ci08IURPQ1RZUEUgRGVmaW5pdGlvbnMgU1lTVEVNICJ3aWRscHJv
Y3htbC5kdGQiPgotPERlZmluaXRpb25zPgotICA8d2ViaWRsPmludGVyZmFjZSBBbmltYWwgewot
ICBhdHRyaWJ1dGUgRE9NU3RyaW5nIG5hbWU7Ci19OwotCi1pbnRlcmZhY2UgSHVtYW4gOiA8cmVm
PkFuaW1hbDwvcmVmPiB7Ci0gIGF0dHJpYnV0ZSA8cmVmPkRvZzwvcmVmPiBwZXQ7Ci19OwotCi1p
bnRlcmZhY2UgRG9nIDogPHJlZj5BbmltYWw8L3JlZj4gewotICBhdHRyaWJ1dGUgPHJlZj5IdW1h
bjwvcmVmPiBvd25lcjsKLX07PC93ZWJpZGw+Ci0gIDxJbnRlcmZhY2UgbmFtZT0iQW5pbWFsIiBp
ZD0iOjpBbmltYWwiPgotICAgIDx3ZWJpZGw+aW50ZXJmYWNlIEFuaW1hbCB7Ci0gIGF0dHJpYnV0
ZSBET01TdHJpbmcgbmFtZTsKLX07PC93ZWJpZGw+Ci0gICAgPEF0dHJpYnV0ZSBuYW1lPSJuYW1l
IiBpZD0iOjpBbmltYWw6Om5hbWUiPgotICAgICAgPHdlYmlkbD4gIGF0dHJpYnV0ZSBET01TdHJp
bmcgbmFtZTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9IkRPTVN0cmluZyIvPgotICAgIDwv
QXR0cmlidXRlPgotICA8L0ludGVyZmFjZT4KLSAgPEludGVyZmFjZSBuYW1lPSJIdW1hbiIgaWQ9
Ijo6SHVtYW4iPgotICAgIDx3ZWJpZGw+aW50ZXJmYWNlIEh1bWFuIDogPHJlZj5BbmltYWw8L3Jl
Zj4gewotICBhdHRyaWJ1dGUgPHJlZj5Eb2c8L3JlZj4gcGV0OwotfTs8L3dlYmlkbD4KLSAgICA8
SW50ZXJmYWNlSW5oZXJpdGFuY2U+Ci0gICAgICA8TmFtZSBuYW1lPSJBbmltYWwiLz4KLSAgICA8
L0ludGVyZmFjZUluaGVyaXRhbmNlPgotICAgIDxBdHRyaWJ1dGUgbmFtZT0icGV0IiBpZD0iOjpI
dW1hbjo6cGV0Ij4KLSAgICAgIDx3ZWJpZGw+ICBhdHRyaWJ1dGUgPHJlZj5Eb2c8L3JlZj4gcGV0
Ozwvd2ViaWRsPgotICAgICAgPFR5cGUgbmFtZT0iRG9nIi8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0g
IDwvSW50ZXJmYWNlPgotICA8SW50ZXJmYWNlIG5hbWU9IkRvZyIgaWQ9Ijo6RG9nIj4KLSAgICA8
d2ViaWRsPmludGVyZmFjZSBEb2cgOiA8cmVmPkFuaW1hbDwvcmVmPiB7Ci0gIGF0dHJpYnV0ZSA8
cmVmPkh1bWFuPC9yZWY+IG93bmVyOwotfTs8L3dlYmlkbD4KLSAgICA8SW50ZXJmYWNlSW5oZXJp
dGFuY2U+Ci0gICAgICA8TmFtZSBuYW1lPSJBbmltYWwiLz4KLSAgICA8L0ludGVyZmFjZUluaGVy
aXRhbmNlPgotICAgIDxBdHRyaWJ1dGUgbmFtZT0ib3duZXIiIGlkPSI6OkRvZzo6b3duZXIiPgot
ICAgICAgPHdlYmlkbD4gIGF0dHJpYnV0ZSA8cmVmPkh1bWFuPC9yZWY+IG93bmVyOzwvd2ViaWRs
PgotICAgICAgPFR5cGUgbmFtZT0iSHVtYW4iLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAgPC9JbnRl
cmZhY2U+Ci08L0RlZmluaXRpb25zPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rl
c3QvdmFsaWQveG1sL2l0ZXJhdG9yLndpZGxwcm9jeG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rl
c3QvdmFsaWQveG1sL2l0ZXJhdG9yLndpZGxwcm9jeG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCA4Y2E5NWZiYmQxNy4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9j
L3Rlc3QvdmFsaWQveG1sL2l0ZXJhdG9yLndpZGxwcm9jeG1sCisrKyAvZGV2L251bGwKQEAgLTEs
MTMyICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Ci08IURP
Q1RZUEUgRGVmaW5pdGlvbnMgU1lTVEVNICJ3aWRscHJvY3htbC5kdGQiPgotPERlZmluaXRpb25z
PgotICA8d2ViaWRsPmludGVyZmFjZSBTZXNzaW9uTWFuYWdlciB7Ci0gIDxyZWY+U2Vzc2lvbjwv
cmVmPiBnZXRTZXNzaW9uRm9yVXNlcihET01TdHJpbmcgdXNlcm5hbWUpOwotICByZWFkb25seSBh
dHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBzZXNzaW9uQ291bnQ7Ci0KLSAgPHJlZj5TZXNzaW9uPC9y
ZWY+IGl0ZXJhdG9yOwotfTsKLQotaW50ZXJmYWNlIFNlc3Npb24gewotICByZWFkb25seSBhdHRy
aWJ1dGUgRE9NU3RyaW5nIHVzZXJuYW1lOwotfTsKLQotaW50ZXJmYWNlIFNlc3Npb25NYW5hZ2Vy
MiB7Ci0gIDxyZWY+U2Vzc2lvbjI8L3JlZj4gZ2V0U2Vzc2lvbkZvclVzZXIoRE9NU3RyaW5nIHVz
ZXJuYW1lKTsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgc2Vzc2lvbkNvdW50
OwotCi0gIDxyZWY+U2Vzc2lvbjI8L3JlZj4gaXRlcmF0b3IgPSBTZXNzaW9uSXRlcmF0b3I7Ci19
OwotCi1pbnRlcmZhY2UgU2Vzc2lvbjIgewotICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5n
IHVzZXJuYW1lOwotfTsKLQotaW50ZXJmYWNlIFNlc3Npb25JdGVyYXRvciB7Ci0gIHJlYWRvbmx5
IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIHJlbWFpbmluZ1Nlc3Npb25zOwotfTsKLQotICAgICBp
bnRlcmZhY2UgTm9kZUxpc3QgewotICAgICAgIDxyZWY+Tm9kZTwvcmVmPiBpdGVyYXRvciA9IE5v
ZGVJdGVyYXRvcjsKLSAgICAgfTsKLQotICAgICBpbnRlcmZhY2UgTm9kZUl0ZXJhdG9yIHsKLSAg
ICAgICA8cmVmPk5vZGU8L3JlZj4gaXRlcmF0b3Igb2JqZWN0OwotICAgICB9Ozwvd2ViaWRsPgot
ICA8SW50ZXJmYWNlIG5hbWU9IlNlc3Npb25NYW5hZ2VyIiBpZD0iOjpTZXNzaW9uTWFuYWdlciI+
Ci0gICAgPHdlYmlkbD5pbnRlcmZhY2UgU2Vzc2lvbk1hbmFnZXIgewotICA8cmVmPlNlc3Npb248
L3JlZj4gZ2V0U2Vzc2lvbkZvclVzZXIoRE9NU3RyaW5nIHVzZXJuYW1lKTsKLSAgcmVhZG9ubHkg
YXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgc2Vzc2lvbkNvdW50OwotCi0gIDxyZWY+U2Vzc2lvbjwv
cmVmPiBpdGVyYXRvcjsKLX07PC93ZWJpZGw+Ci0gICAgPE9wZXJhdGlvbiBuYW1lPSJnZXRTZXNz
aW9uRm9yVXNlciIgaWQ9Ijo6U2Vzc2lvbk1hbmFnZXI6OmdldFNlc3Npb25Gb3JVc2VyIj4KLSAg
ICAgIDx3ZWJpZGw+ICA8cmVmPlNlc3Npb248L3JlZj4gZ2V0U2Vzc2lvbkZvclVzZXIoRE9NU3Ry
aW5nIHVzZXJuYW1lKTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIG5hbWU9IlNlc3Npb24iLz4KLSAg
ICAgIDxBcmd1bWVudExpc3Q+Ci0gICAgICAgIDxBcmd1bWVudCBuYW1lPSJ1c2VybmFtZSI+Ci0g
ICAgICAgICAgPFR5cGUgdHlwZT0iRE9NU3RyaW5nIi8+Ci0gICAgICAgIDwvQXJndW1lbnQ+Ci0g
ICAgICA8L0FyZ3VtZW50TGlzdD4KLSAgICA8L09wZXJhdGlvbj4KLSAgICA8QXR0cmlidXRlIHJl
YWRvbmx5PSJyZWFkb25seSIgbmFtZT0ic2Vzc2lvbkNvdW50IiBpZD0iOjpTZXNzaW9uTWFuYWdl
cjo6c2Vzc2lvbkNvdW50Ij4KLSAgICAgIDx3ZWJpZGw+ICByZWFkb25seSBhdHRyaWJ1dGUgdW5z
aWduZWQgbG9uZyBzZXNzaW9uQ291bnQ7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJ1bnNp
Z25lZCBsb25nIi8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gICAgPEl0ZXJhdG9yPgotICAgICAgPHdl
YmlkbD4gIDxyZWY+U2Vzc2lvbjwvcmVmPiBpdGVyYXRvcjs8L3dlYmlkbD4KLSAgICAgIDxUeXBl
IG5hbWU9IlNlc3Npb24iLz4KLSAgICA8L0l0ZXJhdG9yPgotICA8L0ludGVyZmFjZT4KLSAgPElu
dGVyZmFjZSBuYW1lPSJTZXNzaW9uIiBpZD0iOjpTZXNzaW9uIj4KLSAgICA8d2ViaWRsPmludGVy
ZmFjZSBTZXNzaW9uIHsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyB1c2VybmFtZTsK
LX07PC93ZWJpZGw+Ci0gICAgPEF0dHJpYnV0ZSByZWFkb25seT0icmVhZG9ubHkiIG5hbWU9InVz
ZXJuYW1lIiBpZD0iOjpTZXNzaW9uOjp1c2VybmFtZSI+Ci0gICAgICA8d2ViaWRsPiAgcmVhZG9u
bHkgYXR0cmlidXRlIERPTVN0cmluZyB1c2VybmFtZTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5
cGU9IkRPTVN0cmluZyIvPgotICAgIDwvQXR0cmlidXRlPgotICA8L0ludGVyZmFjZT4KLSAgPElu
dGVyZmFjZSBuYW1lPSJTZXNzaW9uTWFuYWdlcjIiIGlkPSI6OlNlc3Npb25NYW5hZ2VyMiI+Ci0g
ICAgPHdlYmlkbD5pbnRlcmZhY2UgU2Vzc2lvbk1hbmFnZXIyIHsKLSAgPHJlZj5TZXNzaW9uMjwv
cmVmPiBnZXRTZXNzaW9uRm9yVXNlcihET01TdHJpbmcgdXNlcm5hbWUpOwotICByZWFkb25seSBh
dHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBzZXNzaW9uQ291bnQ7Ci0KLSAgPHJlZj5TZXNzaW9uMjwv
cmVmPiBpdGVyYXRvciA9IFNlc3Npb25JdGVyYXRvcjsKLX07PC93ZWJpZGw+Ci0gICAgPE9wZXJh
dGlvbiBuYW1lPSJnZXRTZXNzaW9uRm9yVXNlciIgaWQ9Ijo6U2Vzc2lvbk1hbmFnZXIyOjpnZXRT
ZXNzaW9uRm9yVXNlciI+Ci0gICAgICA8d2ViaWRsPiAgPHJlZj5TZXNzaW9uMjwvcmVmPiBnZXRT
ZXNzaW9uRm9yVXNlcihET01TdHJpbmcgdXNlcm5hbWUpOzwvd2ViaWRsPgotICAgICAgPFR5cGUg
bmFtZT0iU2Vzc2lvbjIiLz4KLSAgICAgIDxBcmd1bWVudExpc3Q+Ci0gICAgICAgIDxBcmd1bWVu
dCBuYW1lPSJ1c2VybmFtZSI+Ci0gICAgICAgICAgPFR5cGUgdHlwZT0iRE9NU3RyaW5nIi8+Ci0g
ICAgICAgIDwvQXJndW1lbnQ+Ci0gICAgICA8L0FyZ3VtZW50TGlzdD4KLSAgICA8L09wZXJhdGlv
bj4KLSAgICA8QXR0cmlidXRlIHJlYWRvbmx5PSJyZWFkb25seSIgbmFtZT0ic2Vzc2lvbkNvdW50
IiBpZD0iOjpTZXNzaW9uTWFuYWdlcjI6OnNlc3Npb25Db3VudCI+Ci0gICAgICA8d2ViaWRsPiAg
cmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgc2Vzc2lvbkNvdW50Ozwvd2ViaWRsPgot
ICAgICAgPFR5cGUgdHlwZT0idW5zaWduZWQgbG9uZyIvPgotICAgIDwvQXR0cmlidXRlPgotICAg
IDxJdGVyYXRvciBpbnRlcmZhY2U9IlNlc3Npb25JdGVyYXRvciI+Ci0gICAgICA8d2ViaWRsPiAg
PHJlZj5TZXNzaW9uMjwvcmVmPiBpdGVyYXRvciA9IFNlc3Npb25JdGVyYXRvcjs8L3dlYmlkbD4K
LSAgICAgIDxUeXBlIG5hbWU9IlNlc3Npb24yIi8+Ci0gICAgPC9JdGVyYXRvcj4KLSAgPC9JbnRl
cmZhY2U+Ci0gIDxJbnRlcmZhY2UgbmFtZT0iU2Vzc2lvbjIiIGlkPSI6OlNlc3Npb24yIj4KLSAg
ICA8d2ViaWRsPmludGVyZmFjZSBTZXNzaW9uMiB7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01T
dHJpbmcgdXNlcm5hbWU7Ci19Ozwvd2ViaWRsPgotICAgIDxBdHRyaWJ1dGUgcmVhZG9ubHk9InJl
YWRvbmx5IiBuYW1lPSJ1c2VybmFtZSIgaWQ9Ijo6U2Vzc2lvbjI6OnVzZXJuYW1lIj4KLSAgICAg
IDx3ZWJpZGw+ICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHVzZXJuYW1lOzwvd2ViaWRs
PgotICAgICAgPFR5cGUgdHlwZT0iRE9NU3RyaW5nIi8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gIDwv
SW50ZXJmYWNlPgotICA8SW50ZXJmYWNlIG5hbWU9IlNlc3Npb25JdGVyYXRvciIgaWQ9Ijo6U2Vz
c2lvbkl0ZXJhdG9yIj4KLSAgICA8d2ViaWRsPmludGVyZmFjZSBTZXNzaW9uSXRlcmF0b3Igewot
ICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyByZW1haW5pbmdTZXNzaW9uczsKLX07
PC93ZWJpZGw+Ci0gICAgPEF0dHJpYnV0ZSByZWFkb25seT0icmVhZG9ubHkiIG5hbWU9InJlbWFp
bmluZ1Nlc3Npb25zIiBpZD0iOjpTZXNzaW9uSXRlcmF0b3I6OnJlbWFpbmluZ1Nlc3Npb25zIj4K
LSAgICAgIDx3ZWJpZGw+ICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyByZW1haW5p
bmdTZXNzaW9uczs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9InVuc2lnbmVkIGxvbmciLz4K
LSAgICA8L0F0dHJpYnV0ZT4KLSAgPC9JbnRlcmZhY2U+Ci0gIDxJbnRlcmZhY2UgbmFtZT0iTm9k
ZUxpc3QiIGlkPSI6Ok5vZGVMaXN0Ij4KLSAgICA8d2ViaWRsPiAgICAgaW50ZXJmYWNlIE5vZGVM
aXN0IHsKLSAgICAgICA8cmVmPk5vZGU8L3JlZj4gaXRlcmF0b3IgPSBOb2RlSXRlcmF0b3I7Ci0g
ICAgIH07PC93ZWJpZGw+Ci0gICAgPEl0ZXJhdG9yIGludGVyZmFjZT0iTm9kZUl0ZXJhdG9yIj4K
LSAgICAgIDx3ZWJpZGw+ICAgICAgIDxyZWY+Tm9kZTwvcmVmPiBpdGVyYXRvciA9IE5vZGVJdGVy
YXRvcjs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIG5hbWU9Ik5vZGUiLz4KLSAgICA8L0l0ZXJhdG9y
PgotICA8L0ludGVyZmFjZT4KLSAgPEludGVyZmFjZSBuYW1lPSJOb2RlSXRlcmF0b3IiIGlkPSI6
Ok5vZGVJdGVyYXRvciI+Ci0gICAgPHdlYmlkbD4gICAgIGludGVyZmFjZSBOb2RlSXRlcmF0b3Ig
ewotICAgICAgIDxyZWY+Tm9kZTwvcmVmPiBpdGVyYXRvciBvYmplY3Q7Ci0gICAgIH07PC93ZWJp
ZGw+Ci0gICAgPEl0ZXJhdG9yT2JqZWN0PgotICAgICAgPHdlYmlkbD4gICAgICAgPHJlZj5Ob2Rl
PC9yZWY+IGl0ZXJhdG9yIG9iamVjdDs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIG5hbWU9Ik5vZGUi
Lz4KLSAgICA8L0l0ZXJhdG9yT2JqZWN0PgotICA8L0ludGVyZmFjZT4KLTwvRGVmaW5pdGlvbnM+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvbW9kdWxlLndp
ZGxwcm9jeG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL21vZHVsZS53aWRs
cHJvY3htbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjU3NWI4NzA1YWYuLjAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9tb2R1bGUud2lk
bHByb2N4bWwKKysrIC9kZXYvbnVsbApAQCAtMSw5OSArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIx
LjAiIGVuY29kaW5nPSJVVEYtOCI/PgotPCFET0NUWVBFIERlZmluaXRpb25zIFNZU1RFTSAid2lk
bHByb2N4bWwuZHRkIj4KLTxEZWZpbml0aW9ucz4KLSAgPE1vZHVsZSBuYW1lPSJnZngiIGlkPSI6
OmdmeCI+Ci0gICAgPHdlYmlkbD5tb2R1bGUgZ2Z4IHsKLQotICBtb2R1bGUgZ2VvbSB7Ci0gICAg
aW50ZXJmYWNlIFNoYXBlIHsgIH07Ci0gICAgaW50ZXJmYWNlIFJlY3RhbmdsZSA6IDxyZWY+U2hh
cGU8L3JlZj4geyAgfTsKLSAgICBpbnRlcmZhY2UgUGF0aCA6IDxyZWY+U2hhcGU8L3JlZj4geyAg
fTsKLSAgfTsKLQotICBpbnRlcmZhY2UgR3JhcGhpY3NDb250ZXh0IHsKLSAgICB2b2lkIGZpbGxT
aGFwZSg8cmVmPmdlb206OlNoYXBlPC9yZWY+IHMpOwotICAgIHZvaWQgc3Ryb2tlU2hhcGUoPHJl
Zj5nZW9tOjpTaGFwZTwvcmVmPiBzKTsKLSAgfTsKLX07PC93ZWJpZGw+Ci0gICAgPE1vZHVsZSBu
YW1lPSJnZW9tIiBpZD0iOjpnZng6Omdlb20iPgotICAgICAgPHdlYmlkbD4gIG1vZHVsZSBnZW9t
IHsKLSAgICBpbnRlcmZhY2UgU2hhcGUgeyAgfTsKLSAgICBpbnRlcmZhY2UgUmVjdGFuZ2xlIDog
PHJlZj5TaGFwZTwvcmVmPiB7ICB9OwotICAgIGludGVyZmFjZSBQYXRoIDogPHJlZj5TaGFwZTwv
cmVmPiB7ICB9OwotICB9Ozwvd2ViaWRsPgotICAgICAgPEludGVyZmFjZSBuYW1lPSJTaGFwZSIg
aWQ9Ijo6Z2Z4OjpnZW9tOjpTaGFwZSI+Ci0gICAgICAgIDx3ZWJpZGw+ICAgIGludGVyZmFjZSBT
aGFwZSB7ICB9Ozwvd2ViaWRsPgotICAgICAgPC9JbnRlcmZhY2U+Ci0gICAgICA8SW50ZXJmYWNl
IG5hbWU9IlJlY3RhbmdsZSIgaWQ9Ijo6Z2Z4OjpnZW9tOjpSZWN0YW5nbGUiPgotICAgICAgICA8
d2ViaWRsPiAgICBpbnRlcmZhY2UgUmVjdGFuZ2xlIDogPHJlZj5TaGFwZTwvcmVmPiB7ICB9Ozwv
d2ViaWRsPgotICAgICAgICA8SW50ZXJmYWNlSW5oZXJpdGFuY2U+Ci0gICAgICAgICAgPE5hbWUg
bmFtZT0iU2hhcGUiLz4KLSAgICAgICAgPC9JbnRlcmZhY2VJbmhlcml0YW5jZT4KLSAgICAgIDwv
SW50ZXJmYWNlPgotICAgICAgPEludGVyZmFjZSBuYW1lPSJQYXRoIiBpZD0iOjpnZng6Omdlb206
OlBhdGgiPgotICAgICAgICA8d2ViaWRsPiAgICBpbnRlcmZhY2UgUGF0aCA6IDxyZWY+U2hhcGU8
L3JlZj4geyAgfTs8L3dlYmlkbD4KLSAgICAgICAgPEludGVyZmFjZUluaGVyaXRhbmNlPgotICAg
ICAgICAgIDxOYW1lIG5hbWU9IlNoYXBlIi8+Ci0gICAgICAgIDwvSW50ZXJmYWNlSW5oZXJpdGFu
Y2U+Ci0gICAgICA8L0ludGVyZmFjZT4KLSAgICA8L01vZHVsZT4KLSAgICA8SW50ZXJmYWNlIG5h
bWU9IkdyYXBoaWNzQ29udGV4dCIgaWQ9Ijo6Z2Z4OjpHcmFwaGljc0NvbnRleHQiPgotICAgICAg
PHdlYmlkbD4gIGludGVyZmFjZSBHcmFwaGljc0NvbnRleHQgewotICAgIHZvaWQgZmlsbFNoYXBl
KDxyZWY+Z2VvbTo6U2hhcGU8L3JlZj4gcyk7Ci0gICAgdm9pZCBzdHJva2VTaGFwZSg8cmVmPmdl
b206OlNoYXBlPC9yZWY+IHMpOwotICB9Ozwvd2ViaWRsPgotICAgICAgPE9wZXJhdGlvbiBuYW1l
PSJmaWxsU2hhcGUiIGlkPSI6OmdmeDo6R3JhcGhpY3NDb250ZXh0OjpmaWxsU2hhcGUiPgotICAg
ICAgICA8d2ViaWRsPiAgICB2b2lkIGZpbGxTaGFwZSg8cmVmPmdlb206OlNoYXBlPC9yZWY+IHMp
Ozwvd2ViaWRsPgotICAgICAgICA8VHlwZSB0eXBlPSJ2b2lkIi8+Ci0gICAgICAgIDxBcmd1bWVu
dExpc3Q+Ci0gICAgICAgICAgPEFyZ3VtZW50IG5hbWU9InMiPgotICAgICAgICAgICAgPFR5cGUg
bmFtZT0iZ2VvbTo6U2hhcGUiLz4KLSAgICAgICAgICA8L0FyZ3VtZW50PgotICAgICAgICA8L0Fy
Z3VtZW50TGlzdD4KLSAgICAgIDwvT3BlcmF0aW9uPgotICAgICAgPE9wZXJhdGlvbiBuYW1lPSJz
dHJva2VTaGFwZSIgaWQ9Ijo6Z2Z4OjpHcmFwaGljc0NvbnRleHQ6OnN0cm9rZVNoYXBlIj4KLSAg
ICAgICAgPHdlYmlkbD4gICAgdm9pZCBzdHJva2VTaGFwZSg8cmVmPmdlb206OlNoYXBlPC9yZWY+
IHMpOzwvd2ViaWRsPgotICAgICAgICA8VHlwZSB0eXBlPSJ2b2lkIi8+Ci0gICAgICAgIDxBcmd1
bWVudExpc3Q+Ci0gICAgICAgICAgPEFyZ3VtZW50IG5hbWU9InMiPgotICAgICAgICAgICAgPFR5
cGUgbmFtZT0iZ2VvbTo6U2hhcGUiLz4KLSAgICAgICAgICA8L0FyZ3VtZW50PgotICAgICAgICA8
L0FyZ3VtZW50TGlzdD4KLSAgICAgIDwvT3BlcmF0aW9uPgotICAgIDwvSW50ZXJmYWNlPgotICA8
L01vZHVsZT4KLSAgPE1vZHVsZSBuYW1lPSJndWkiIGlkPSI6Omd1aSI+Ci0gICAgPHdlYmlkbD5t
b2R1bGUgZ3VpIHsKLQotICBpbnRlcmZhY2UgV2lkZ2V0IHsgICB9OwotCi0gIGludGVyZmFjZSBX
aW5kb3cgOiA8cmVmPldpZGdldDwvcmVmPiB7Ci0gICAgPHJlZj5nZng6OkdyYXBoaWNzQ29udGV4
dDwvcmVmPiBnZXRHcmFwaGljc0NvbnRleHQoKTsKLSAgfTsKLQotICBpbnRlcmZhY2UgQnV0dG9u
IDogPHJlZj5XaWRnZXQ8L3JlZj4geyAgIH07Ci19Ozwvd2ViaWRsPgotICAgIDxJbnRlcmZhY2Ug
bmFtZT0iV2lkZ2V0IiBpZD0iOjpndWk6OldpZGdldCI+Ci0gICAgICA8d2ViaWRsPiAgaW50ZXJm
YWNlIFdpZGdldCB7ICAgfTs8L3dlYmlkbD4KLSAgICA8L0ludGVyZmFjZT4KLSAgICA8SW50ZXJm
YWNlIG5hbWU9IldpbmRvdyIgaWQ9Ijo6Z3VpOjpXaW5kb3ciPgotICAgICAgPHdlYmlkbD4gIGlu
dGVyZmFjZSBXaW5kb3cgOiA8cmVmPldpZGdldDwvcmVmPiB7Ci0gICAgPHJlZj5nZng6OkdyYXBo
aWNzQ29udGV4dDwvcmVmPiBnZXRHcmFwaGljc0NvbnRleHQoKTsKLSAgfTs8L3dlYmlkbD4KLSAg
ICAgIDxJbnRlcmZhY2VJbmhlcml0YW5jZT4KLSAgICAgICAgPE5hbWUgbmFtZT0iV2lkZ2V0Ii8+
Ci0gICAgICA8L0ludGVyZmFjZUluaGVyaXRhbmNlPgotICAgICAgPE9wZXJhdGlvbiBuYW1lPSJn
ZXRHcmFwaGljc0NvbnRleHQiIGlkPSI6Omd1aTo6V2luZG93OjpnZXRHcmFwaGljc0NvbnRleHQi
PgotICAgICAgICA8d2ViaWRsPiAgICA8cmVmPmdmeDo6R3JhcGhpY3NDb250ZXh0PC9yZWY+IGdl
dEdyYXBoaWNzQ29udGV4dCgpOzwvd2ViaWRsPgotICAgICAgICA8VHlwZSBuYW1lPSJnZng6Okdy
YXBoaWNzQ29udGV4dCIvPgotICAgICAgICA8QXJndW1lbnRMaXN0Lz4KLSAgICAgIDwvT3BlcmF0
aW9uPgotICAgIDwvSW50ZXJmYWNlPgotICAgIDxJbnRlcmZhY2UgbmFtZT0iQnV0dG9uIiBpZD0i
OjpndWk6OkJ1dHRvbiI+Ci0gICAgICA8d2ViaWRsPiAgaW50ZXJmYWNlIEJ1dHRvbiA6IDxyZWY+
V2lkZ2V0PC9yZWY+IHsgICB9Ozwvd2ViaWRsPgotICAgICAgPEludGVyZmFjZUluaGVyaXRhbmNl
PgotICAgICAgICA8TmFtZSBuYW1lPSJXaWRnZXQiLz4KLSAgICAgIDwvSW50ZXJmYWNlSW5oZXJp
dGFuY2U+Ci0gICAgPC9JbnRlcmZhY2U+Ci0gIDwvTW9kdWxlPgotPC9EZWZpbml0aW9ucz4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9uYW1lZGNvbnN0cnVj
dG9yLndpZGxwcm9jeG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL25hbWVk
Y29uc3RydWN0b3Iud2lkbHByb2N4bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDlm
NjYxNjEyODc5Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxp
ZC94bWwvbmFtZWRjb25zdHJ1Y3Rvci53aWRscHJvY3htbAorKysgL2Rldi9udWxsCkBAIC0xLDMw
ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Ci08IURPQ1RZ
UEUgRGVmaW5pdGlvbnMgU1lTVEVNICJ3aWRscHJvY3htbC5kdGQiPgotPERlZmluaXRpb25zPgot
ICA8d2ViaWRsPltOYW1lZENvbnN0cnVjdG9yPUF1ZGlvLAotIE5hbWVkQ29uc3RydWN0b3I9QXVk
aW8oRE9NU3RyaW5nIHNyYyldCi1pbnRlcmZhY2UgSFRNTEF1ZGlvRWxlbWVudCA6IDxyZWY+SFRN
TE1lZGlhRWxlbWVudDwvcmVmPiB7Ci19Ozwvd2ViaWRsPgotICA8SW50ZXJmYWNlIG5hbWU9IkhU
TUxBdWRpb0VsZW1lbnQiIGlkPSI6OkhUTUxBdWRpb0VsZW1lbnQiPgotICAgIDx3ZWJpZGw+W05h
bWVkQ29uc3RydWN0b3I9QXVkaW8sCi0gTmFtZWRDb25zdHJ1Y3Rvcj1BdWRpbyhET01TdHJpbmcg
c3JjKV0KLWludGVyZmFjZSBIVE1MQXVkaW9FbGVtZW50IDogPHJlZj5IVE1MTWVkaWFFbGVtZW50
PC9yZWY+IHsKLX07PC93ZWJpZGw+Ci0gICAgPEV4dGVuZGVkQXR0cmlidXRlTGlzdD4KLSAgICAg
IDxFeHRlbmRlZEF0dHJpYnV0ZSBuYW1lPSJOYW1lZENvbnN0cnVjdG9yIiB2YWx1ZT0iQXVkaW8i
PgotICAgICAgICA8d2ViaWRsPk5hbWVkQ29uc3RydWN0b3I8L3dlYmlkbD4KLSAgICAgIDwvRXh0
ZW5kZWRBdHRyaWJ1dGU+Ci0gICAgICA8RXh0ZW5kZWRBdHRyaWJ1dGUgbmFtZT0iTmFtZWRDb25z
dHJ1Y3RvciIgdmFsdWU9IkF1ZGlvIj4KLSAgICAgICAgPHdlYmlkbD4gTmFtZWRDb25zdHJ1Y3Rv
cj1BdWRpbyhET01TdHJpbmcgc3JjKTwvd2ViaWRsPgotICAgICAgICA8QXJndW1lbnRMaXN0Pgot
ICAgICAgICAgIDxBcmd1bWVudCBuYW1lPSJzcmMiPgotICAgICAgICAgICAgPFR5cGUgdHlwZT0i
RE9NU3RyaW5nIi8+Ci0gICAgICAgICAgPC9Bcmd1bWVudD4KLSAgICAgICAgPC9Bcmd1bWVudExp
c3Q+Ci0gICAgICA8L0V4dGVuZGVkQXR0cmlidXRlPgotICAgIDwvRXh0ZW5kZWRBdHRyaWJ1dGVM
aXN0PgotICAgIDxJbnRlcmZhY2VJbmhlcml0YW5jZT4KLSAgICAgIDxOYW1lIG5hbWU9IkhUTUxN
ZWRpYUVsZW1lbnQiLz4KLSAgICA8L0ludGVyZmFjZUluaGVyaXRhbmNlPgotICA8L0ludGVyZmFj
ZT4KLTwvRGVmaW5pdGlvbnM+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92
YWxpZC94bWwvbmFtZXNwYWNlb2JqZWN0LndpZGxwcm9jeG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9j
L3Rlc3QvdmFsaWQveG1sL25hbWVzcGFjZW9iamVjdC53aWRscHJvY3htbApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggYWYwY2RlOTM3MTkuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9uYW1lc3BhY2VvYmplY3Qud2lkbHByb2N4bWwKKysr
IC9kZXYvbnVsbApAQCAtMSw2MCArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5n
PSJVVEYtOCI/PgotPCFET0NUWVBFIERlZmluaXRpb25zIFNZU1RFTSAid2lkbHByb2N4bWwuZHRk
Ij4KLTxEZWZpbml0aW9ucz4KLSAgPE1vZHVsZSBuYW1lPSJhY21lIiBpZD0iOjphY21lIj4KLSAg
ICA8d2ViaWRsPltOYW1lc3BhY2VPYmplY3RdCi1tb2R1bGUgYWNtZSB7Ci0gIAotICBleGNlcHRp
b24gRGV2aWNlRXhjZXB0aW9uIHsgfTsKLQotICBtb2R1bGUgcGltIHsKLQotICAgIFtDb25zdHJ1
Y3Rvcl0KLSAgICBpbnRlcmZhY2UgQ29udGFjdCB7IH07Ci0KLSAgICBbQ29uc3RydWN0b3IsCi0g
ICAgIE5hbWVkQ29uc3RydWN0b3I9UmVjdXJyaW5nRXZlbnQobG9uZyBmcmVxKV0KLSAgICBpbnRl
cmZhY2UgQ2FsZW5kYXJFdmVudCB7IH07Ci0gIH07Ci19Ozwvd2ViaWRsPgotICAgIDxFeHRlbmRl
ZEF0dHJpYnV0ZUxpc3Q+Ci0gICAgICA8RXh0ZW5kZWRBdHRyaWJ1dGUgbmFtZT0iTmFtZXNwYWNl
T2JqZWN0Ii8+Ci0gICAgPC9FeHRlbmRlZEF0dHJpYnV0ZUxpc3Q+Ci0gICAgPEV4Y2VwdGlvbiBu
YW1lPSJEZXZpY2VFeGNlcHRpb24iIGlkPSI6OmFjbWU6OkRldmljZUV4Y2VwdGlvbiI+Ci0gICAg
ICA8d2ViaWRsPiAgZXhjZXB0aW9uIERldmljZUV4Y2VwdGlvbiB7IH07PC93ZWJpZGw+Ci0gICAg
PC9FeGNlcHRpb24+Ci0gICAgPE1vZHVsZSBuYW1lPSJwaW0iIGlkPSI6OmFjbWU6OnBpbSI+Ci0g
ICAgICA8d2ViaWRsPiAgbW9kdWxlIHBpbSB7Ci0KLSAgICBbQ29uc3RydWN0b3JdCi0gICAgaW50
ZXJmYWNlIENvbnRhY3QgeyB9OwotCi0gICAgW0NvbnN0cnVjdG9yLAotICAgICBOYW1lZENvbnN0
cnVjdG9yPVJlY3VycmluZ0V2ZW50KGxvbmcgZnJlcSldCi0gICAgaW50ZXJmYWNlIENhbGVuZGFy
RXZlbnQgeyB9OwotICB9Ozwvd2ViaWRsPgotICAgICAgPEludGVyZmFjZSBuYW1lPSJDb250YWN0
IiBpZD0iOjphY21lOjpwaW06OkNvbnRhY3QiPgotICAgICAgICA8d2ViaWRsPiAgICBbQ29uc3Ry
dWN0b3JdCi0gICAgaW50ZXJmYWNlIENvbnRhY3QgeyB9Ozwvd2ViaWRsPgotICAgICAgICA8RXh0
ZW5kZWRBdHRyaWJ1dGVMaXN0PgotICAgICAgICAgIDxFeHRlbmRlZEF0dHJpYnV0ZSBuYW1lPSJD
b25zdHJ1Y3RvciIvPgotICAgICAgICA8L0V4dGVuZGVkQXR0cmlidXRlTGlzdD4KLSAgICAgIDwv
SW50ZXJmYWNlPgotICAgICAgPEludGVyZmFjZSBuYW1lPSJDYWxlbmRhckV2ZW50IiBpZD0iOjph
Y21lOjpwaW06OkNhbGVuZGFyRXZlbnQiPgotICAgICAgICA8d2ViaWRsPiAgICBbQ29uc3RydWN0
b3IsCi0gICAgIE5hbWVkQ29uc3RydWN0b3I9UmVjdXJyaW5nRXZlbnQobG9uZyBmcmVxKV0KLSAg
ICBpbnRlcmZhY2UgQ2FsZW5kYXJFdmVudCB7IH07PC93ZWJpZGw+Ci0gICAgICAgIDxFeHRlbmRl
ZEF0dHJpYnV0ZUxpc3Q+Ci0gICAgICAgICAgPEV4dGVuZGVkQXR0cmlidXRlIG5hbWU9IkNvbnN0
cnVjdG9yIi8+Ci0gICAgICAgICAgPEV4dGVuZGVkQXR0cmlidXRlIG5hbWU9Ik5hbWVkQ29uc3Ry
dWN0b3IiIHZhbHVlPSJSZWN1cnJpbmdFdmVudCI+Ci0gICAgICAgICAgICA8QXJndW1lbnRMaXN0
PgotICAgICAgICAgICAgICA8QXJndW1lbnQgbmFtZT0iZnJlcSI+Ci0gICAgICAgICAgICAgICAg
PFR5cGUgdHlwZT0ibG9uZyIvPgotICAgICAgICAgICAgICA8L0FyZ3VtZW50PgotICAgICAgICAg
ICAgPC9Bcmd1bWVudExpc3Q+Ci0gICAgICAgICAgPC9FeHRlbmRlZEF0dHJpYnV0ZT4KLSAgICAg
ICAgPC9FeHRlbmRlZEF0dHJpYnV0ZUxpc3Q+Ci0gICAgICA8L0ludGVyZmFjZT4KLSAgICA8L01v
ZHVsZT4KLSAgPC9Nb2R1bGU+Ci08L0RlZmluaXRpb25zPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL25vaW50ZXJmYWNlb2JqZWN0LndpZGxwcm9jeG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL25vaW50ZXJmYWNlb2JqZWN0LndpZGxw
cm9jeG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmNjRmMTE2YjYwZi4uMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL25vaW50ZXJmYWNl
b2JqZWN0LndpZGxwcm9jeG1sCisrKyAvZGV2L251bGwKQEAgLTEsMjggKzAsMCBAQAotPD94bWwg
dmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KLTwhRE9DVFlQRSBEZWZpbml0aW9ucyBT
WVNURU0gIndpZGxwcm9jeG1sLmR0ZCI+Ci08RGVmaW5pdGlvbnM+Ci0gIDx3ZWJpZGw+W05vSW50
ZXJmYWNlT2JqZWN0XQotaW50ZXJmYWNlIFF1ZXJ5IHsKLSAgYW55IGxvb2t1cEVudHJ5KHVuc2ln
bmVkIGxvbmcga2V5KTsKLX07PC93ZWJpZGw+Ci0gIDxJbnRlcmZhY2UgbmFtZT0iUXVlcnkiIGlk
PSI6OlF1ZXJ5Ij4KLSAgICA8d2ViaWRsPltOb0ludGVyZmFjZU9iamVjdF0KLWludGVyZmFjZSBR
dWVyeSB7Ci0gIGFueSBsb29rdXBFbnRyeSh1bnNpZ25lZCBsb25nIGtleSk7Ci19Ozwvd2ViaWRs
PgotICAgIDxFeHRlbmRlZEF0dHJpYnV0ZUxpc3Q+Ci0gICAgICA8RXh0ZW5kZWRBdHRyaWJ1dGUg
bmFtZT0iTm9JbnRlcmZhY2VPYmplY3QiPgotICAgICAgICA8d2ViaWRsPk5vSW50ZXJmYWNlT2Jq
ZWN0PC93ZWJpZGw+Ci0gICAgICA8L0V4dGVuZGVkQXR0cmlidXRlPgotICAgIDwvRXh0ZW5kZWRB
dHRyaWJ1dGVMaXN0PgotICAgIDxPcGVyYXRpb24gbmFtZT0ibG9va3VwRW50cnkiIGlkPSI6OlF1
ZXJ5Ojpsb29rdXBFbnRyeSI+Ci0gICAgICA8d2ViaWRsPiAgYW55IGxvb2t1cEVudHJ5KHVuc2ln
bmVkIGxvbmcga2V5KTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9ImFueSIvPgotICAgICAg
PEFyZ3VtZW50TGlzdD4KLSAgICAgICAgPEFyZ3VtZW50IG5hbWU9ImtleSI+Ci0gICAgICAgICAg
PFR5cGUgdHlwZT0idW5zaWduZWQgbG9uZyIvPgotICAgICAgICA8L0FyZ3VtZW50PgotICAgICAg
PC9Bcmd1bWVudExpc3Q+Ci0gICAgPC9PcGVyYXRpb24+Ci0gIDwvSW50ZXJmYWNlPgotPC9EZWZp
bml0aW9ucz4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9u
dWxsYWJsZS53aWRscHJvY3htbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9u
dWxsYWJsZS53aWRscHJvY3htbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODczOWU0
NDMyNjIuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3ht
bC9udWxsYWJsZS53aWRscHJvY3htbAorKysgL2Rldi9udWxsCkBAIC0xLDI5ICswLDAgQEAKLTw/
eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Ci08IURPQ1RZUEUgRGVmaW5pdGlv
bnMgU1lTVEVNICJ3aWRscHJvY3htbC5kdGQiPgotPERlZmluaXRpb25zPgotICA8d2ViaWRsPmlu
dGVyZmFjZSBNeUNvbnN0YW50cyB7Ci0gIGNvbnN0IGJvb2xlYW4/IEFSRV9XRV9USEVSRV9ZRVQg
PSBmYWxzZTsKLX07Ci0KLWludGVyZmFjZSBOb2RlIHsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIERP
TVN0cmluZz8gbmFtZXNwYWNlVVJJOwotfTs8L3dlYmlkbD4KLSAgPEludGVyZmFjZSBuYW1lPSJN
eUNvbnN0YW50cyIgaWQ9Ijo6TXlDb25zdGFudHMiPgotICAgIDx3ZWJpZGw+aW50ZXJmYWNlIE15
Q29uc3RhbnRzIHsKLSAgY29uc3QgYm9vbGVhbj8gQVJFX1dFX1RIRVJFX1lFVCA9IGZhbHNlOwot
fTs8L3dlYmlkbD4KLSAgICA8Q29uc3QgbmFtZT0iQVJFX1dFX1RIRVJFX1lFVCIgdmFsdWU9ImZh
bHNlIiBpZD0iOjpNeUNvbnN0YW50czo6QVJFX1dFX1RIRVJFX1lFVCI+Ci0gICAgICA8d2ViaWRs
PiAgY29uc3QgYm9vbGVhbj8gQVJFX1dFX1RIRVJFX1lFVCA9IGZhbHNlOzwvd2ViaWRsPgotICAg
ICAgPFR5cGUgdHlwZT0iYm9vbGVhbiIgbnVsbGFibGU9Im51bGxhYmxlIi8+Ci0gICAgPC9Db25z
dD4KLSAgPC9JbnRlcmZhY2U+Ci0gIDxJbnRlcmZhY2UgbmFtZT0iTm9kZSIgaWQ9Ijo6Tm9kZSI+
Ci0gICAgPHdlYmlkbD5pbnRlcmZhY2UgTm9kZSB7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01T
dHJpbmc/IG5hbWVzcGFjZVVSSTsKLX07PC93ZWJpZGw+Ci0gICAgPEF0dHJpYnV0ZSByZWFkb25s
eT0icmVhZG9ubHkiIG5hbWU9Im5hbWVzcGFjZVVSSSIgaWQ9Ijo6Tm9kZTo6bmFtZXNwYWNlVVJJ
Ij4KLSAgICAgIDx3ZWJpZGw+ICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nPyBuYW1lc3Bh
Y2VVUkk7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJET01TdHJpbmciIG51bGxhYmxlPSJu
dWxsYWJsZSIvPgotICAgIDwvQXR0cmlidXRlPgotICA8L0ludGVyZmFjZT4KLTwvRGVmaW5pdGlv
bnM+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvbnVsbGFi
bGVvYmplY3RzLndpZGxwcm9jeG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1s
L251bGxhYmxlb2JqZWN0cy53aWRscHJvY3htbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMjJkOWZkZDI1ZDYuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0
L3ZhbGlkL3htbC9udWxsYWJsZW9iamVjdHMud2lkbHByb2N4bWwKKysrIC9kZXYvbnVsbApAQCAt
MSw0NiArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgotPCFE
T0NUWVBFIERlZmluaXRpb25zIFNZU1RFTSAid2lkbHByb2N4bWwuZHRkIj4KLTxEZWZpbml0aW9u
cz4KLSAgPHdlYmlkbD5pbnRlcmZhY2UgQSB7Ci19OwotaW50ZXJmYWNlIEIgewotfTsKLWludGVy
ZmFjZSBDIHsKLSAgdm9pZCBmKDxyZWY+QTwvcmVmPj8geCk7Ci0gIHZvaWQgZig8cmVmPkI8L3Jl
Zj4/IHgpOwotCi19Ozwvd2ViaWRsPgotICA8SW50ZXJmYWNlIG5hbWU9IkEiIGlkPSI6OkEiPgot
ICAgIDx3ZWJpZGw+aW50ZXJmYWNlIEEgewotfTs8L3dlYmlkbD4KLSAgPC9JbnRlcmZhY2U+Ci0g
IDxJbnRlcmZhY2UgbmFtZT0iQiIgaWQ9Ijo6QiI+Ci0gICAgPHdlYmlkbD5pbnRlcmZhY2UgQiB7
Ci19Ozwvd2ViaWRsPgotICA8L0ludGVyZmFjZT4KLSAgPEludGVyZmFjZSBuYW1lPSJDIiBpZD0i
OjpDIj4KLSAgICA8d2ViaWRsPmludGVyZmFjZSBDIHsKLSAgdm9pZCBmKDxyZWY+QTwvcmVmPj8g
eCk7Ci0gIHZvaWQgZig8cmVmPkI8L3JlZj4/IHgpOwotCi19Ozwvd2ViaWRsPgotICAgIDxPcGVy
YXRpb24gbmFtZT0iZiIgaWQ9Ijo6Qzo6ZiI+Ci0gICAgICA8d2ViaWRsPiAgdm9pZCBmKDxyZWY+
QTwvcmVmPj8geCk7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJ2b2lkIi8+Ci0gICAgICA8
QXJndW1lbnRMaXN0PgotICAgICAgICA8QXJndW1lbnQgbmFtZT0ieCI+Ci0gICAgICAgICAgPFR5
cGUgbmFtZT0iQSIgbnVsbGFibGU9Im51bGxhYmxlIi8+Ci0gICAgICAgIDwvQXJndW1lbnQ+Ci0g
ICAgICA8L0FyZ3VtZW50TGlzdD4KLSAgICA8L09wZXJhdGlvbj4KLSAgICA8T3BlcmF0aW9uIG5h
bWU9ImYiIGlkPSI6OkM6OmYiPgotICAgICAgPHdlYmlkbD4gIHZvaWQgZig8cmVmPkI8L3JlZj4/
IHgpOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0idm9pZCIvPgotICAgICAgPEFyZ3VtZW50
TGlzdD4KLSAgICAgICAgPEFyZ3VtZW50IG5hbWU9IngiPgotICAgICAgICAgIDxUeXBlIG5hbWU9
IkIiIG51bGxhYmxlPSJudWxsYWJsZSIvPgotICAgICAgICA8L0FyZ3VtZW50PgotICAgICAgPC9B
cmd1bWVudExpc3Q+Ci0gICAgPC9PcGVyYXRpb24+Ci0gIDwvSW50ZXJmYWNlPgotPC9EZWZpbml0
aW9ucz4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9vcGVy
YXRpb24tb3B0aW9uYWwtYXJnLndpZGxwcm9jeG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3Qv
dmFsaWQveG1sL29wZXJhdGlvbi1vcHRpb25hbC1hcmcud2lkbHByb2N4bWwKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDU0YWVmMWY4N2UzLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvb3BlcmF0aW9uLW9wdGlvbmFsLWFyZy53aWRscHJv
Y3htbAorKysgL2Rldi9udWxsCkBAIC0xLDMwICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIg
ZW5jb2Rpbmc9IlVURi04Ij8+Ci08IURPQ1RZUEUgRGVmaW5pdGlvbnMgU1lTVEVNICJ3aWRscHJv
Y3htbC5kdGQiPgotPERlZmluaXRpb25zPgotICA8d2ViaWRsPmludGVyZmFjZSBDb2xvckNyZWF0
b3IgewotICBvYmplY3QgY3JlYXRlQ29sb3IoZmxvYXQgdjEsIGZsb2F0IHYyLCBmbG9hdCB2Mywg
b3B0aW9uYWwgZmxvYXQgYWxwaGEgPSAzLjUpOwotfTs8L3dlYmlkbD4KLSAgPEludGVyZmFjZSBu
YW1lPSJDb2xvckNyZWF0b3IiIGlkPSI6OkNvbG9yQ3JlYXRvciI+Ci0gICAgPHdlYmlkbD5pbnRl
cmZhY2UgQ29sb3JDcmVhdG9yIHsKLSAgb2JqZWN0IGNyZWF0ZUNvbG9yKGZsb2F0IHYxLCBmbG9h
dCB2MiwgZmxvYXQgdjMsIG9wdGlvbmFsIGZsb2F0IGFscGhhID0gMy41KTsKLX07PC93ZWJpZGw+
Ci0gICAgPE9wZXJhdGlvbiBuYW1lPSJjcmVhdGVDb2xvciIgaWQ9Ijo6Q29sb3JDcmVhdG9yOjpj
cmVhdGVDb2xvciI+Ci0gICAgICA8d2ViaWRsPiAgb2JqZWN0IGNyZWF0ZUNvbG9yKGZsb2F0IHYx
LCBmbG9hdCB2MiwgZmxvYXQgdjMsIG9wdGlvbmFsIGZsb2F0IGFscGhhID0gMy41KTs8L3dlYmlk
bD4KLSAgICAgIDxUeXBlIHR5cGU9Im9iamVjdCIvPgotICAgICAgPEFyZ3VtZW50TGlzdD4KLSAg
ICAgICAgPEFyZ3VtZW50IG5hbWU9InYxIj4KLSAgICAgICAgICA8VHlwZSB0eXBlPSJmbG9hdCIv
PgotICAgICAgICA8L0FyZ3VtZW50PgotICAgICAgICA8QXJndW1lbnQgbmFtZT0idjIiPgotICAg
ICAgICAgIDxUeXBlIHR5cGU9ImZsb2F0Ii8+Ci0gICAgICAgIDwvQXJndW1lbnQ+Ci0gICAgICAg
IDxBcmd1bWVudCBuYW1lPSJ2MyI+Ci0gICAgICAgICAgPFR5cGUgdHlwZT0iZmxvYXQiLz4KLSAg
ICAgICAgPC9Bcmd1bWVudD4KLSAgICAgICAgPEFyZ3VtZW50IG9wdGlvbmFsPSJvcHRpb25hbCIg
bmFtZT0iYWxwaGEiIHZhbHVlPSIzLjUiPgotICAgICAgICAgIDxUeXBlIHR5cGU9ImZsb2F0Ii8+
Ci0gICAgICAgIDwvQXJndW1lbnQ+Ci0gICAgICA8L0FyZ3VtZW50TGlzdD4KLSAgICA8L09wZXJh
dGlvbj4KLSAgPC9JbnRlcmZhY2U+Ci08L0RlZmluaXRpb25zPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL292ZXJsb2FkaW5nLndpZGxwcm9jeG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL292ZXJsb2FkaW5nLndpZGxwcm9jeG1sCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkYjZkYTdhNjhjNy4uMDAwMDAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL292ZXJsb2FkaW5nLndpZGxwcm9j
eG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTEzICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIg
ZW5jb2Rpbmc9IlVURi04Ij8+Ci08IURPQ1RZUEUgRGVmaW5pdGlvbnMgU1lTVEVNICJ3aWRscHJv
Y3htbC5kdGQiPgotPERlZmluaXRpb25zPgotICA8d2ViaWRsPmludGVyZmFjZSBBIHsKLX07Ci0K
LWludGVyZmFjZSBCIHsKLX07Ci0KLWludGVyZmFjZSBDIHsKLSAgdm9pZCBmKDxyZWY+QTwvcmVm
PiB4KTsKLSAgdm9pZCBmKDxyZWY+QjwvcmVmPiB4KTsKLX07Ci0KLWludGVyZmFjZSBBIHsKLXZv
aWQgZihET01TdHJpbmcgYSk7Ci12b2lkIGYoW0FsbG93QW55XSBET01TdHJpbmcgYSwgRE9NU3Ry
aW5nIGIsIGZsb2F0Li4uIGMpOwotdm9pZCBmKCk7Ci12b2lkIGYobG9uZyBhLCBET01TdHJpbmcg
Yiwgb3B0aW9uYWwgRE9NU3RyaW5nIGMsIGZsb2F0Li4uIGQpOwotfTs8L3dlYmlkbD4KLSAgPElu
dGVyZmFjZSBuYW1lPSJBIiBpZD0iOjpBIj4KLSAgICA8d2ViaWRsPmludGVyZmFjZSBBIHsKLX07
PC93ZWJpZGw+Ci0gIDwvSW50ZXJmYWNlPgotICA8SW50ZXJmYWNlIG5hbWU9IkIiIGlkPSI6OkIi
PgotICAgIDx3ZWJpZGw+aW50ZXJmYWNlIEIgewotfTs8L3dlYmlkbD4KLSAgPC9JbnRlcmZhY2U+
Ci0gIDxJbnRlcmZhY2UgbmFtZT0iQyIgaWQ9Ijo6QyI+Ci0gICAgPHdlYmlkbD5pbnRlcmZhY2Ug
QyB7Ci0gIHZvaWQgZig8cmVmPkE8L3JlZj4geCk7Ci0gIHZvaWQgZig8cmVmPkI8L3JlZj4geCk7
Ci19Ozwvd2ViaWRsPgotICAgIDxPcGVyYXRpb24gbmFtZT0iZiIgaWQ9Ijo6Qzo6ZiI+Ci0gICAg
ICA8d2ViaWRsPiAgdm9pZCBmKDxyZWY+QTwvcmVmPiB4KTs8L3dlYmlkbD4KLSAgICAgIDxUeXBl
IHR5cGU9InZvaWQiLz4KLSAgICAgIDxBcmd1bWVudExpc3Q+Ci0gICAgICAgIDxBcmd1bWVudCBu
YW1lPSJ4Ij4KLSAgICAgICAgICA8VHlwZSBuYW1lPSJBIi8+Ci0gICAgICAgIDwvQXJndW1lbnQ+
Ci0gICAgICA8L0FyZ3VtZW50TGlzdD4KLSAgICA8L09wZXJhdGlvbj4KLSAgICA8T3BlcmF0aW9u
IG5hbWU9ImYiIGlkPSI6OkM6OmYiPgotICAgICAgPHdlYmlkbD4gIHZvaWQgZig8cmVmPkI8L3Jl
Zj4geCk7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJ2b2lkIi8+Ci0gICAgICA8QXJndW1l
bnRMaXN0PgotICAgICAgICA8QXJndW1lbnQgbmFtZT0ieCI+Ci0gICAgICAgICAgPFR5cGUgbmFt
ZT0iQiIvPgotICAgICAgICA8L0FyZ3VtZW50PgotICAgICAgPC9Bcmd1bWVudExpc3Q+Ci0gICAg
PC9PcGVyYXRpb24+Ci0gIDwvSW50ZXJmYWNlPgotICA8SW50ZXJmYWNlIG5hbWU9IkEiIGlkPSI6
OkEiPgotICAgIDx3ZWJpZGw+aW50ZXJmYWNlIEEgewotdm9pZCBmKERPTVN0cmluZyBhKTsKLXZv
aWQgZihbQWxsb3dBbnldIERPTVN0cmluZyBhLCBET01TdHJpbmcgYiwgZmxvYXQuLi4gYyk7Ci12
b2lkIGYoKTsKLXZvaWQgZihsb25nIGEsIERPTVN0cmluZyBiLCBvcHRpb25hbCBET01TdHJpbmcg
YywgZmxvYXQuLi4gZCk7Ci19Ozwvd2ViaWRsPgotICAgIDxPcGVyYXRpb24gbmFtZT0iZiIgaWQ9
Ijo6QTo6ZiI+Ci0gICAgICA8d2ViaWRsPiB2b2lkIGYoRE9NU3RyaW5nIGEpOzwvd2ViaWRsPgot
ICAgICAgPFR5cGUgdHlwZT0idm9pZCIvPgotICAgICAgPEFyZ3VtZW50TGlzdD4KLSAgICAgICAg
PEFyZ3VtZW50IG5hbWU9ImEiPgotICAgICAgICAgIDxUeXBlIHR5cGU9IkRPTVN0cmluZyIvPgot
ICAgICAgICA8L0FyZ3VtZW50PgotICAgICAgPC9Bcmd1bWVudExpc3Q+Ci0gICAgPC9PcGVyYXRp
b24+Ci0gICAgPE9wZXJhdGlvbiBuYW1lPSJmIiBpZD0iOjpBOjpmIj4KLSAgICAgIDx3ZWJpZGw+
IHZvaWQgZihbQWxsb3dBbnldIERPTVN0cmluZyBhLCBET01TdHJpbmcgYiwgZmxvYXQuLi4gYyk7
PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJ2b2lkIi8+Ci0gICAgICA8QXJndW1lbnRMaXN0
PgotICAgICAgICA8QXJndW1lbnQgbmFtZT0iYSI+Ci0gICAgICAgICAgPEV4dGVuZGVkQXR0cmli
dXRlTGlzdD4KLSAgICAgICAgICAgIDxFeHRlbmRlZEF0dHJpYnV0ZSBuYW1lPSJBbGxvd0FueSI+
Ci0gICAgICAgICAgICAgIDx3ZWJpZGw+QWxsb3dBbnk8L3dlYmlkbD4KLSAgICAgICAgICAgIDwv
RXh0ZW5kZWRBdHRyaWJ1dGU+Ci0gICAgICAgICAgPC9FeHRlbmRlZEF0dHJpYnV0ZUxpc3Q+Ci0g
ICAgICAgICAgPFR5cGUgdHlwZT0iRE9NU3RyaW5nIi8+Ci0gICAgICAgIDwvQXJndW1lbnQ+Ci0g
ICAgICAgIDxBcmd1bWVudCBuYW1lPSJiIj4KLSAgICAgICAgICA8VHlwZSB0eXBlPSJET01TdHJp
bmciLz4KLSAgICAgICAgPC9Bcmd1bWVudD4KLSAgICAgICAgPEFyZ3VtZW50IGVsbGlwc2lzPSJl
bGxpcHNpcyIgbmFtZT0iYyI+Ci0gICAgICAgICAgPFR5cGUgdHlwZT0iZmxvYXQiLz4KLSAgICAg
ICAgPC9Bcmd1bWVudD4KLSAgICAgIDwvQXJndW1lbnRMaXN0PgotICAgIDwvT3BlcmF0aW9uPgot
ICAgIDxPcGVyYXRpb24gbmFtZT0iZiIgaWQ9Ijo6QTo6ZiI+Ci0gICAgICA8d2ViaWRsPiB2b2lk
IGYoKTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9InZvaWQiLz4KLSAgICAgIDxBcmd1bWVu
dExpc3QvPgotICAgIDwvT3BlcmF0aW9uPgotICAgIDxPcGVyYXRpb24gbmFtZT0iZiIgaWQ9Ijo6
QTo6ZiI+Ci0gICAgICA8d2ViaWRsPiB2b2lkIGYobG9uZyBhLCBET01TdHJpbmcgYiwgb3B0aW9u
YWwgRE9NU3RyaW5nIGMsIGZsb2F0Li4uIGQpOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0i
dm9pZCIvPgotICAgICAgPEFyZ3VtZW50TGlzdD4KLSAgICAgICAgPEFyZ3VtZW50IG5hbWU9ImEi
PgotICAgICAgICAgIDxUeXBlIHR5cGU9ImxvbmciLz4KLSAgICAgICAgPC9Bcmd1bWVudD4KLSAg
ICAgICAgPEFyZ3VtZW50IG5hbWU9ImIiPgotICAgICAgICAgIDxUeXBlIHR5cGU9IkRPTVN0cmlu
ZyIvPgotICAgICAgICA8L0FyZ3VtZW50PgotICAgICAgICA8QXJndW1lbnQgb3B0aW9uYWw9Im9w
dGlvbmFsIiBuYW1lPSJjIj4KLSAgICAgICAgICA8VHlwZSB0eXBlPSJET01TdHJpbmciLz4KLSAg
ICAgICAgPC9Bcmd1bWVudD4KLSAgICAgICAgPEFyZ3VtZW50IGVsbGlwc2lzPSJlbGxpcHNpcyIg
bmFtZT0iZCI+Ci0gICAgICAgICAgPFR5cGUgdHlwZT0iZmxvYXQiLz4KLSAgICAgICAgPC9Bcmd1
bWVudD4KLSAgICAgIDwvQXJndW1lbnRMaXN0PgotICAgIDwvT3BlcmF0aW9uPgotICA8L0ludGVy
ZmFjZT4KLTwvRGVmaW5pdGlvbnM+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVz
dC92YWxpZC94bWwvb3ZlcnJpZGVidWlsdGlucy53aWRscHJvY3htbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRs
cHJvYy90ZXN0L3ZhbGlkL3htbC9vdmVycmlkZWJ1aWx0aW5zLndpZGxwcm9jeG1sCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1NmM5MjUxN2JlYi4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL292ZXJyaWRlYnVpbHRpbnMud2lkbHByb2N4
bWwKKysrIC9kZXYvbnVsbApAQCAtMSwzNCArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVu
Y29kaW5nPSJVVEYtOCI/PgotPCFET0NUWVBFIERlZmluaXRpb25zIFNZU1RFTSAid2lkbHByb2N4
bWwuZHRkIj4KLTxEZWZpbml0aW9ucz4KLSAgPHdlYmlkbD5bT3ZlcnJpZGVCdWlsdGluc10KLWlu
dGVyZmFjZSBTdHJpbmdNYXAyIHsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcg
bGVuZ3RoOwotICBnZXR0ZXIgRE9NU3RyaW5nIGxvb2t1cChET01TdHJpbmcga2V5KTsKLX07PC93
ZWJpZGw+Ci0gIDxJbnRlcmZhY2UgbmFtZT0iU3RyaW5nTWFwMiIgaWQ9Ijo6U3RyaW5nTWFwMiI+
Ci0gICAgPHdlYmlkbD5bT3ZlcnJpZGVCdWlsdGluc10KLWludGVyZmFjZSBTdHJpbmdNYXAyIHsK
LSAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbGVuZ3RoOwotICBnZXR0ZXIgRE9N
U3RyaW5nIGxvb2t1cChET01TdHJpbmcga2V5KTsKLX07PC93ZWJpZGw+Ci0gICAgPEV4dGVuZGVk
QXR0cmlidXRlTGlzdD4KLSAgICAgIDxFeHRlbmRlZEF0dHJpYnV0ZSBuYW1lPSJPdmVycmlkZUJ1
aWx0aW5zIj4KLSAgICAgICAgPHdlYmlkbD5PdmVycmlkZUJ1aWx0aW5zPC93ZWJpZGw+Ci0gICAg
ICA8L0V4dGVuZGVkQXR0cmlidXRlPgotICAgIDwvRXh0ZW5kZWRBdHRyaWJ1dGVMaXN0PgotICAg
IDxBdHRyaWJ1dGUgcmVhZG9ubHk9InJlYWRvbmx5IiBuYW1lPSJsZW5ndGgiIGlkPSI6OlN0cmlu
Z01hcDI6Omxlbmd0aCI+Ci0gICAgICA8d2ViaWRsPiAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2ln
bmVkIGxvbmcgbGVuZ3RoOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0idW5zaWduZWQgbG9u
ZyIvPgotICAgIDwvQXR0cmlidXRlPgotICAgIDxPcGVyYXRpb24gZ2V0dGVyPSJnZXR0ZXIiIG5h
bWU9Imxvb2t1cCIgaWQ9Ijo6U3RyaW5nTWFwMjo6bG9va3VwIj4KLSAgICAgIDx3ZWJpZGw+ICBn
ZXR0ZXIgRE9NU3RyaW5nIGxvb2t1cChET01TdHJpbmcga2V5KTs8L3dlYmlkbD4KLSAgICAgIDxU
eXBlIHR5cGU9IkRPTVN0cmluZyIvPgotICAgICAgPEFyZ3VtZW50TGlzdD4KLSAgICAgICAgPEFy
Z3VtZW50IG5hbWU9ImtleSI+Ci0gICAgICAgICAgPFR5cGUgdHlwZT0iRE9NU3RyaW5nIi8+Ci0g
ICAgICAgIDwvQXJndW1lbnQ+Ci0gICAgICA8L0FyZ3VtZW50TGlzdD4KLSAgICA8L09wZXJhdGlv
bj4KLSAgPC9JbnRlcmZhY2U+Ci08L0RlZmluaXRpb25zPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL3BhcnRpYWwtaW50ZXJmYWNlLndpZGxwcm9jeG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL3BhcnRpYWwtaW50ZXJmYWNlLndpZGxw
cm9jeG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4ZDdkY2I0ZTRmNy4uMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL3BhcnRpYWwtaW50
ZXJmYWNlLndpZGxwcm9jeG1sCisrKyAvZGV2L251bGwKQEAgLTEsMjkgKzAsMCBAQAotPD94bWwg
dmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KLTwhRE9DVFlQRSBEZWZpbml0aW9ucyBT
WVNURU0gIndpZGxwcm9jeG1sLmR0ZCI+Ci08RGVmaW5pdGlvbnM+Ci0gIDx3ZWJpZGw+aW50ZXJm
YWNlIEZvbyB7Ci0gIGF0dHJpYnV0ZSBET01TdHJpbmcgYmFyOwotfTsKLQotcGFydGlhbCBpbnRl
cmZhY2UgRm9vIHsKLSAgYXR0cmlidXRlIERPTVN0cmluZyBxdXV4OwotfTs8L3dlYmlkbD4KLSAg
PEludGVyZmFjZSBuYW1lPSJGb28iIGlkPSI6OkZvbyI+Ci0gICAgPHdlYmlkbD5pbnRlcmZhY2Ug
Rm9vIHsKLSAgYXR0cmlidXRlIERPTVN0cmluZyBiYXI7Ci19Ozwvd2ViaWRsPgotICAgIDxBdHRy
aWJ1dGUgbmFtZT0iYmFyIiBpZD0iOjpGb286OmJhciI+Ci0gICAgICA8d2ViaWRsPiAgYXR0cmli
dXRlIERPTVN0cmluZyBiYXI7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJET01TdHJpbmci
Lz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAgPC9JbnRlcmZhY2U+Ci0gIDxJbnRlcmZhY2UgbmFtZT0i
Rm9vIiBwYXJ0aWFsPSJwYXJ0aWFsIiBpZD0iOjpGb28iPgotICAgIDx3ZWJpZGw+cGFydGlhbCBp
bnRlcmZhY2UgRm9vIHsKLSAgYXR0cmlidXRlIERPTVN0cmluZyBxdXV4OwotfTs8L3dlYmlkbD4K
LSAgICA8QXR0cmlidXRlIG5hbWU9InF1dXgiIGlkPSI6OkZvbzo6cXV1eCI+Ci0gICAgICA8d2Vi
aWRsPiAgYXR0cmlidXRlIERPTVN0cmluZyBxdXV4Ozwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlw
ZT0iRE9NU3RyaW5nIi8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gIDwvSW50ZXJmYWNlPgotPC9EZWZp
bml0aW9ucz4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9w
cmltaXRpdmVzLndpZGxwcm9jeG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1s
L3ByaW1pdGl2ZXMud2lkbHByb2N4bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ2
OTc3YTJkNzRlLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxp
ZC94bWwvcHJpbWl0aXZlcy53aWRscHJvY3htbAorKysgL2Rldi9udWxsCkBAIC0xLDExMiArMCww
IEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgotPCFET0NUWVBFIERl
ZmluaXRpb25zIFNZU1RFTSAid2lkbHByb2N4bWwuZHRkIj4KLTxEZWZpbml0aW9ucz4KLSAgPHdl
YmlkbD5pbnRlcmZhY2UgUHJpbWl0aXZlcyB7Ci0gIGF0dHJpYnV0ZSBib29sZWFuIHRydXRoOwot
ICBhdHRyaWJ1dGUgYnl0ZSBjaGFyYWN0ZXI7Ci0gIGF0dHJpYnV0ZSBvY3RldCB2YWx1ZTsKLSAg
YXR0cmlidXRlIHNob3J0IG51bWJlcjsKLSAgYXR0cmlidXRlIHVuc2lnbmVkIHNob3J0IHBvc2l0
aXZlOwotICBhdHRyaWJ1dGUgbG9uZyBiaWc7Ci0gIGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGJp
Z3Bvc2l0aXZlOwotICBhdHRyaWJ1dGUgbG9uZyBsb25nIGJpZ2JpZzsKLSAgYXR0cmlidXRlICB1
bnNpZ25lZCBsb25nIGxvbmcgYmlnYmlncG9zaXRpdmU7Ci0gIGF0dHJpYnV0ZSBmbG9hdCByZWFs
OwotICBhdHRyaWJ1dGUgZG91YmxlIGJpZ3JlYWw7IAotICBhdHRyaWJ1dGUgdW5yZXN0cmljdGVk
IGZsb2F0IHJlYWx3aXRoaW5maW5pdHk7Ci0gIGF0dHJpYnV0ZSB1bnJlc3RyaWN0ZWQgZG91Ymxl
IGJpZ3JlYWx3aXRoaW5maW5pdHk7IAotICBhdHRyaWJ1dGUgRE9NU3RyaW5nIHN0cmluZzsgCi0g
IGF0dHJpYnV0ZSBCeXRlU3RyaW5nIGJ5dGVzOyAKLSAgYXR0cmlidXRlIERhdGUgZGF0ZTsKLSAg
YXR0cmlidXRlIFJlZ0V4cCByZWdleHA7Ci19Ozwvd2ViaWRsPgotICA8SW50ZXJmYWNlIG5hbWU9
IlByaW1pdGl2ZXMiIGlkPSI6OlByaW1pdGl2ZXMiPgotICAgIDx3ZWJpZGw+aW50ZXJmYWNlIFBy
aW1pdGl2ZXMgewotICBhdHRyaWJ1dGUgYm9vbGVhbiB0cnV0aDsKLSAgYXR0cmlidXRlIGJ5dGUg
Y2hhcmFjdGVyOwotICBhdHRyaWJ1dGUgb2N0ZXQgdmFsdWU7Ci0gIGF0dHJpYnV0ZSBzaG9ydCBu
dW1iZXI7Ci0gIGF0dHJpYnV0ZSB1bnNpZ25lZCBzaG9ydCBwb3NpdGl2ZTsKLSAgYXR0cmlidXRl
IGxvbmcgYmlnOwotICBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBiaWdwb3NpdGl2ZTsKLSAgYXR0
cmlidXRlIGxvbmcgbG9uZyBiaWdiaWc7Ci0gIGF0dHJpYnV0ZSAgdW5zaWduZWQgbG9uZyBsb25n
IGJpZ2JpZ3Bvc2l0aXZlOwotICBhdHRyaWJ1dGUgZmxvYXQgcmVhbDsKLSAgYXR0cmlidXRlIGRv
dWJsZSBiaWdyZWFsOyAKLSAgYXR0cmlidXRlIHVucmVzdHJpY3RlZCBmbG9hdCByZWFsd2l0aGlu
ZmluaXR5OwotICBhdHRyaWJ1dGUgdW5yZXN0cmljdGVkIGRvdWJsZSBiaWdyZWFsd2l0aGluZmlu
aXR5OyAKLSAgYXR0cmlidXRlIERPTVN0cmluZyBzdHJpbmc7IAotICBhdHRyaWJ1dGUgQnl0ZVN0
cmluZyBieXRlczsgCi0gIGF0dHJpYnV0ZSBEYXRlIGRhdGU7Ci0gIGF0dHJpYnV0ZSBSZWdFeHAg
cmVnZXhwOwotfTs8L3dlYmlkbD4KLSAgICA8QXR0cmlidXRlIG5hbWU9InRydXRoIiBpZD0iOjpQ
cmltaXRpdmVzOjp0cnV0aCI+Ci0gICAgICA8d2ViaWRsPiAgYXR0cmlidXRlIGJvb2xlYW4gdHJ1
dGg7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJib29sZWFuIi8+Ci0gICAgPC9BdHRyaWJ1
dGU+Ci0gICAgPEF0dHJpYnV0ZSBuYW1lPSJjaGFyYWN0ZXIiIGlkPSI6OlByaW1pdGl2ZXM6OmNo
YXJhY3RlciI+Ci0gICAgICA8d2ViaWRsPiAgYXR0cmlidXRlIGJ5dGUgY2hhcmFjdGVyOzwvd2Vi
aWRsPgotICAgICAgPFR5cGUgdHlwZT0iYnl0ZSIvPgotICAgIDwvQXR0cmlidXRlPgotICAgIDxB
dHRyaWJ1dGUgbmFtZT0idmFsdWUiIGlkPSI6OlByaW1pdGl2ZXM6OnZhbHVlIj4KLSAgICAgIDx3
ZWJpZGw+ICBhdHRyaWJ1dGUgb2N0ZXQgdmFsdWU7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBl
PSJvY3RldCIvPgotICAgIDwvQXR0cmlidXRlPgotICAgIDxBdHRyaWJ1dGUgbmFtZT0ibnVtYmVy
IiBpZD0iOjpQcmltaXRpdmVzOjpudW1iZXIiPgotICAgICAgPHdlYmlkbD4gIGF0dHJpYnV0ZSBz
aG9ydCBudW1iZXI7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJzaG9ydCIvPgotICAgIDwv
QXR0cmlidXRlPgotICAgIDxBdHRyaWJ1dGUgbmFtZT0icG9zaXRpdmUiIGlkPSI6OlByaW1pdGl2
ZXM6OnBvc2l0aXZlIj4KLSAgICAgIDx3ZWJpZGw+ICBhdHRyaWJ1dGUgdW5zaWduZWQgc2hvcnQg
cG9zaXRpdmU7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJ1bnNpZ25lZCBzaG9ydCIvPgot
ICAgIDwvQXR0cmlidXRlPgotICAgIDxBdHRyaWJ1dGUgbmFtZT0iYmlnIiBpZD0iOjpQcmltaXRp
dmVzOjpiaWciPgotICAgICAgPHdlYmlkbD4gIGF0dHJpYnV0ZSBsb25nIGJpZzs8L3dlYmlkbD4K
LSAgICAgIDxUeXBlIHR5cGU9ImxvbmciLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAgICA8QXR0cmli
dXRlIG5hbWU9ImJpZ3Bvc2l0aXZlIiBpZD0iOjpQcmltaXRpdmVzOjpiaWdwb3NpdGl2ZSI+Ci0g
ICAgICA8d2ViaWRsPiAgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgYmlncG9zaXRpdmU7PC93ZWJp
ZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJ1bnNpZ25lZCBsb25nIi8+Ci0gICAgPC9BdHRyaWJ1dGU+
Ci0gICAgPEF0dHJpYnV0ZSBuYW1lPSJiaWdiaWciIGlkPSI6OlByaW1pdGl2ZXM6OmJpZ2JpZyI+
Ci0gICAgICA8d2ViaWRsPiAgYXR0cmlidXRlIGxvbmcgbG9uZyBiaWdiaWc7PC93ZWJpZGw+Ci0g
ICAgICA8VHlwZSB0eXBlPSJsb25nIGxvbmciLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAgICA8QXR0
cmlidXRlIG5hbWU9ImJpZ2JpZ3Bvc2l0aXZlIiBpZD0iOjpQcmltaXRpdmVzOjpiaWdiaWdwb3Np
dGl2ZSI+Ci0gICAgICA8d2ViaWRsPiAgYXR0cmlidXRlICB1bnNpZ25lZCBsb25nIGxvbmcgYmln
YmlncG9zaXRpdmU7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJ1bnNpZ25lZCBsb25nIGxv
bmciLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAgICA8QXR0cmlidXRlIG5hbWU9InJlYWwiIGlkPSI6
OlByaW1pdGl2ZXM6OnJlYWwiPgotICAgICAgPHdlYmlkbD4gIGF0dHJpYnV0ZSBmbG9hdCByZWFs
Ozwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0iZmxvYXQiLz4KLSAgICA8L0F0dHJpYnV0ZT4K
LSAgICA8QXR0cmlidXRlIG5hbWU9ImJpZ3JlYWwiIGlkPSI6OlByaW1pdGl2ZXM6OmJpZ3JlYWwi
PgotICAgICAgPHdlYmlkbD4gIGF0dHJpYnV0ZSBkb3VibGUgYmlncmVhbDs8L3dlYmlkbD4KLSAg
ICAgIDxUeXBlIHR5cGU9ImRvdWJsZSIvPgotICAgIDwvQXR0cmlidXRlPgotICAgIDxBdHRyaWJ1
dGUgbmFtZT0icmVhbHdpdGhpbmZpbml0eSIgaWQ9Ijo6UHJpbWl0aXZlczo6cmVhbHdpdGhpbmZp
bml0eSI+Ci0gICAgICA8d2ViaWRsPiAgYXR0cmlidXRlIHVucmVzdHJpY3RlZCBmbG9hdCByZWFs
d2l0aGluZmluaXR5Ozwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0idW5yZXN0cmljdGVkIGZs
b2F0Ii8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gICAgPEF0dHJpYnV0ZSBuYW1lPSJiaWdyZWFsd2l0
aGluZmluaXR5IiBpZD0iOjpQcmltaXRpdmVzOjpiaWdyZWFsd2l0aGluZmluaXR5Ij4KLSAgICAg
IDx3ZWJpZGw+ICBhdHRyaWJ1dGUgdW5yZXN0cmljdGVkIGRvdWJsZSBiaWdyZWFsd2l0aGluZmlu
aXR5Ozwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0idW5yZXN0cmljdGVkIGRvdWJsZSIvPgot
ICAgIDwvQXR0cmlidXRlPgotICAgIDxBdHRyaWJ1dGUgbmFtZT0ic3RyaW5nIiBpZD0iOjpQcmlt
aXRpdmVzOjpzdHJpbmciPgotICAgICAgPHdlYmlkbD4gIGF0dHJpYnV0ZSBET01TdHJpbmcgc3Ry
aW5nOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0iRE9NU3RyaW5nIi8+Ci0gICAgPC9BdHRy
aWJ1dGU+Ci0gICAgPEF0dHJpYnV0ZSBuYW1lPSJieXRlcyIgaWQ9Ijo6UHJpbWl0aXZlczo6Ynl0
ZXMiPgotICAgICAgPHdlYmlkbD4gIGF0dHJpYnV0ZSBCeXRlU3RyaW5nIGJ5dGVzOzwvd2ViaWRs
PgotICAgICAgPFR5cGUgdHlwZT0iQnl0ZVN0cmluZyIvPgotICAgIDwvQXR0cmlidXRlPgotICAg
IDxBdHRyaWJ1dGUgbmFtZT0iZGF0ZSIgaWQ9Ijo6UHJpbWl0aXZlczo6ZGF0ZSI+Ci0gICAgICA8
d2ViaWRsPiAgYXR0cmlidXRlIERhdGUgZGF0ZTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9
IkRhdGUiLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAgICA8QXR0cmlidXRlIG5hbWU9InJlZ2V4cCIg
aWQ9Ijo6UHJpbWl0aXZlczo6cmVnZXhwIj4KLSAgICAgIDx3ZWJpZGw+ICBhdHRyaWJ1dGUgUmVn
RXhwIHJlZ2V4cDs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9IlJlZ0V4cCIvPgotICAgIDwv
QXR0cmlidXRlPgotICA8L0ludGVyZmFjZT4KLTwvRGVmaW5pdGlvbnM+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvcHJvdG90eXBlcm9vdC53aWRscHJvY3ht
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9wcm90b3R5cGVyb290LndpZGxw
cm9jeG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyZTU2Y2Q3NWVjMy4uMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL3Byb3RvdHlwZXJv
b3Qud2lkbHByb2N4bWwKKysrIC9kZXYvbnVsbApAQCAtMSwyMyArMCwwIEBACi08P3htbCB2ZXJz
aW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgotPCFET0NUWVBFIERlZmluaXRpb25zIFNZU1RF
TSAid2lkbHByb2N4bWwuZHRkIj4KLTxEZWZpbml0aW9ucz4KLSAgPHdlYmlkbD5bUHJvdG90eXBl
Um9vdF0KLWludGVyZmFjZSBOb2RlIHsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIHNo
b3J0IG5vZGVUeXBlOwotfTs8L3dlYmlkbD4KLSAgPEludGVyZmFjZSBuYW1lPSJOb2RlIiBpZD0i
OjpOb2RlIj4KLSAgICA8d2ViaWRsPltQcm90b3R5cGVSb290XQotaW50ZXJmYWNlIE5vZGUgewot
ICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgc2hvcnQgbm9kZVR5cGU7Ci19Ozwvd2ViaWRs
PgotICAgIDxFeHRlbmRlZEF0dHJpYnV0ZUxpc3Q+Ci0gICAgICA8RXh0ZW5kZWRBdHRyaWJ1dGUg
bmFtZT0iUHJvdG90eXBlUm9vdCI+Ci0gICAgICAgIDx3ZWJpZGw+UHJvdG90eXBlUm9vdDwvd2Vi
aWRsPgotICAgICAgPC9FeHRlbmRlZEF0dHJpYnV0ZT4KLSAgICA8L0V4dGVuZGVkQXR0cmlidXRl
TGlzdD4KLSAgICA8QXR0cmlidXRlIHJlYWRvbmx5PSJyZWFkb25seSIgbmFtZT0ibm9kZVR5cGUi
IGlkPSI6Ok5vZGU6Om5vZGVUeXBlIj4KLSAgICAgIDx3ZWJpZGw+ICByZWFkb25seSBhdHRyaWJ1
dGUgdW5zaWduZWQgc2hvcnQgbm9kZVR5cGU7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJ1
bnNpZ25lZCBzaG9ydCIvPgotICAgIDwvQXR0cmlidXRlPgotICA8L0ludGVyZmFjZT4KLTwvRGVm
aW5pdGlvbnM+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwv
cHV0Zm9yd2FyZHMud2lkbHByb2N4bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94
bWwvcHV0Zm9yd2FyZHMud2lkbHByb2N4bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDYzNGZhZDU1YTU2Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92
YWxpZC94bWwvcHV0Zm9yd2FyZHMud2lkbHByb2N4bWwKKysrIC9kZXYvbnVsbApAQCAtMSwyNyAr
MCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgotPCFET0NUWVBF
IERlZmluaXRpb25zIFNZU1RFTSAid2lkbHByb2N4bWwuZHRkIj4KLTxEZWZpbml0aW9ucz4KLSAg
PHdlYmlkbD5pbnRlcmZhY2UgUGVyc29uIHsKLSAgW1B1dEZvcndhcmRzPWZ1bGxdIHJlYWRvbmx5
IGF0dHJpYnV0ZSA8cmVmPk5hbWU8L3JlZj4gbmFtZTsKLSAgYXR0cmlidXRlIHVuc2lnbmVkIHNo
b3J0IGFnZTsKLX07PC93ZWJpZGw+Ci0gIDxJbnRlcmZhY2UgbmFtZT0iUGVyc29uIiBpZD0iOjpQ
ZXJzb24iPgotICAgIDx3ZWJpZGw+aW50ZXJmYWNlIFBlcnNvbiB7Ci0gIFtQdXRGb3J3YXJkcz1m
dWxsXSByZWFkb25seSBhdHRyaWJ1dGUgPHJlZj5OYW1lPC9yZWY+IG5hbWU7Ci0gIGF0dHJpYnV0
ZSB1bnNpZ25lZCBzaG9ydCBhZ2U7Ci19Ozwvd2ViaWRsPgotICAgIDxBdHRyaWJ1dGUgcmVhZG9u
bHk9InJlYWRvbmx5IiBuYW1lPSJuYW1lIiBpZD0iOjpQZXJzb246Om5hbWUiPgotICAgICAgPHdl
YmlkbD4gIFtQdXRGb3J3YXJkcz1mdWxsXSByZWFkb25seSBhdHRyaWJ1dGUgPHJlZj5OYW1lPC9y
ZWY+IG5hbWU7PC93ZWJpZGw+Ci0gICAgICA8RXh0ZW5kZWRBdHRyaWJ1dGVMaXN0PgotICAgICAg
ICA8RXh0ZW5kZWRBdHRyaWJ1dGUgbmFtZT0iUHV0Rm9yd2FyZHMiIHZhbHVlPSJmdWxsIj4KLSAg
ICAgICAgICA8d2ViaWRsPlB1dEZvcndhcmRzPC93ZWJpZGw+Ci0gICAgICAgIDwvRXh0ZW5kZWRB
dHRyaWJ1dGU+Ci0gICAgICA8L0V4dGVuZGVkQXR0cmlidXRlTGlzdD4KLSAgICAgIDxUeXBlIG5h
bWU9Ik5hbWUiLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAgICA8QXR0cmlidXRlIG5hbWU9ImFnZSIg
aWQ9Ijo6UGVyc29uOjphZ2UiPgotICAgICAgPHdlYmlkbD4gIGF0dHJpYnV0ZSB1bnNpZ25lZCBz
aG9ydCBhZ2U7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJ1bnNpZ25lZCBzaG9ydCIvPgot
ICAgIDwvQXR0cmlidXRlPgotICA8L0ludGVyZmFjZT4KLTwvRGVmaW5pdGlvbnM+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvcmVnLW9wZXJhdGlvbnMud2lk
bHByb2N4bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvcmVnLW9wZXJhdGlv
bnMud2lkbHByb2N4bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDNiNzU2ZWQ2OGQ4
Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvcmVn
LW9wZXJhdGlvbnMud2lkbHByb2N4bWwKKysrIC9kZXYvbnVsbApAQCAtMSw3MCArMCwwIEBACi08
P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgotPCFET0NUWVBFIERlZmluaXRp
b25zIFNZU1RFTSAid2lkbHByb2N4bWwuZHRkIj4KLTxEZWZpbml0aW9ucz4KLSAgPHdlYmlkbD5p
bnRlcmZhY2UgRGltZW5zaW9ucyB7Ci0gIGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIHdpZHRoOwot
ICBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBoZWlnaHQ7Ci19OwotCi1leGNlcHRpb24gTm9Qb2lu
dGVyRGV2aWNlIHsgfTsKLQotaW50ZXJmYWNlIEJ1dHRvbiB7Ci0KLSAgYm9vbGVhbiBpc01vdXNl
T3ZlcigpOwotCi0gIHZvaWQgc2V0RGltZW5zaW9ucyg8cmVmPkRpbWVuc2lvbnM8L3JlZj4gc2l6
ZSk7Ci0gIHZvaWQgc2V0RGltZW5zaW9ucyh1bnNpZ25lZCBsb25nIHdpZHRoLCB1bnNpZ25lZCBs
b25nIGhlaWdodCk7Ci19Ozwvd2ViaWRsPgotICA8SW50ZXJmYWNlIG5hbWU9IkRpbWVuc2lvbnMi
IGlkPSI6OkRpbWVuc2lvbnMiPgotICAgIDx3ZWJpZGw+aW50ZXJmYWNlIERpbWVuc2lvbnMgewot
ICBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyB3aWR0aDsKLSAgYXR0cmlidXRlIHVuc2lnbmVkIGxv
bmcgaGVpZ2h0OwotfTs8L3dlYmlkbD4KLSAgICA8QXR0cmlidXRlIG5hbWU9IndpZHRoIiBpZD0i
OjpEaW1lbnNpb25zOjp3aWR0aCI+Ci0gICAgICA8d2ViaWRsPiAgYXR0cmlidXRlIHVuc2lnbmVk
IGxvbmcgd2lkdGg7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJ1bnNpZ25lZCBsb25nIi8+
Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gICAgPEF0dHJpYnV0ZSBuYW1lPSJoZWlnaHQiIGlkPSI6OkRp
bWVuc2lvbnM6OmhlaWdodCI+Ci0gICAgICA8d2ViaWRsPiAgYXR0cmlidXRlIHVuc2lnbmVkIGxv
bmcgaGVpZ2h0Ozwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0idW5zaWduZWQgbG9uZyIvPgot
ICAgIDwvQXR0cmlidXRlPgotICA8L0ludGVyZmFjZT4KLSAgPEV4Y2VwdGlvbiBuYW1lPSJOb1Bv
aW50ZXJEZXZpY2UiIGlkPSI6Ok5vUG9pbnRlckRldmljZSI+Ci0gICAgPHdlYmlkbD5leGNlcHRp
b24gTm9Qb2ludGVyRGV2aWNlIHsgfTs8L3dlYmlkbD4KLSAgPC9FeGNlcHRpb24+Ci0gIDxJbnRl
cmZhY2UgbmFtZT0iQnV0dG9uIiBpZD0iOjpCdXR0b24iPgotICAgIDx3ZWJpZGw+aW50ZXJmYWNl
IEJ1dHRvbiB7Ci0KLSAgYm9vbGVhbiBpc01vdXNlT3ZlcigpOwotCi0gIHZvaWQgc2V0RGltZW5z
aW9ucyg8cmVmPkRpbWVuc2lvbnM8L3JlZj4gc2l6ZSk7Ci0gIHZvaWQgc2V0RGltZW5zaW9ucyh1
bnNpZ25lZCBsb25nIHdpZHRoLCB1bnNpZ25lZCBsb25nIGhlaWdodCk7Ci19Ozwvd2ViaWRsPgot
ICAgIDxPcGVyYXRpb24gbmFtZT0iaXNNb3VzZU92ZXIiIGlkPSI6OkJ1dHRvbjo6aXNNb3VzZU92
ZXIiPgotICAgICAgPHdlYmlkbD4gIGJvb2xlYW4gaXNNb3VzZU92ZXIoKTs8L3dlYmlkbD4KLSAg
ICAgIDxUeXBlIHR5cGU9ImJvb2xlYW4iLz4KLSAgICAgIDxBcmd1bWVudExpc3QvPgotICAgIDwv
T3BlcmF0aW9uPgotICAgIDxPcGVyYXRpb24gbmFtZT0ic2V0RGltZW5zaW9ucyIgaWQ9Ijo6QnV0
dG9uOjpzZXREaW1lbnNpb25zIj4KLSAgICAgIDx3ZWJpZGw+ICB2b2lkIHNldERpbWVuc2lvbnMo
PHJlZj5EaW1lbnNpb25zPC9yZWY+IHNpemUpOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0i
dm9pZCIvPgotICAgICAgPEFyZ3VtZW50TGlzdD4KLSAgICAgICAgPEFyZ3VtZW50IG5hbWU9InNp
emUiPgotICAgICAgICAgIDxUeXBlIG5hbWU9IkRpbWVuc2lvbnMiLz4KLSAgICAgICAgPC9Bcmd1
bWVudD4KLSAgICAgIDwvQXJndW1lbnRMaXN0PgotICAgIDwvT3BlcmF0aW9uPgotICAgIDxPcGVy
YXRpb24gbmFtZT0ic2V0RGltZW5zaW9ucyIgaWQ9Ijo6QnV0dG9uOjpzZXREaW1lbnNpb25zIj4K
LSAgICAgIDx3ZWJpZGw+ICB2b2lkIHNldERpbWVuc2lvbnModW5zaWduZWQgbG9uZyB3aWR0aCwg
dW5zaWduZWQgbG9uZyBoZWlnaHQpOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0idm9pZCIv
PgotICAgICAgPEFyZ3VtZW50TGlzdD4KLSAgICAgICAgPEFyZ3VtZW50IG5hbWU9IndpZHRoIj4K
LSAgICAgICAgICA8VHlwZSB0eXBlPSJ1bnNpZ25lZCBsb25nIi8+Ci0gICAgICAgIDwvQXJndW1l
bnQ+Ci0gICAgICAgIDxBcmd1bWVudCBuYW1lPSJoZWlnaHQiPgotICAgICAgICAgIDxUeXBlIHR5
cGU9InVuc2lnbmVkIGxvbmciLz4KLSAgICAgICAgPC9Bcmd1bWVudD4KLSAgICAgIDwvQXJndW1l
bnRMaXN0PgotICAgIDwvT3BlcmF0aW9uPgotICA8L0ludGVyZmFjZT4KLTwvRGVmaW5pdGlvbnM+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvcmVwbGFjZWFi
bGUud2lkbHByb2N4bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvcmVwbGFj
ZWFibGUud2lkbHByb2N4bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGY5NzYyMTY2
ODI1Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwv
cmVwbGFjZWFibGUud2lkbHByb2N4bWwKKysrIC9kZXYvbnVsbApAQCAtMSwyOCArMCwwIEBACi08
P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgotPCFET0NUWVBFIERlZmluaXRp
b25zIFNZU1RFTSAid2lkbHByb2N4bWwuZHRkIj4KLTxEZWZpbml0aW9ucz4KLSAgPHdlYmlkbD5p
bnRlcmZhY2UgQ291bnRlciB7Ci0gIFtSZXBsYWNlYWJsZV0gcmVhZG9ubHkgYXR0cmlidXRlIHVu
c2lnbmVkIGxvbmcgdmFsdWU7Ci0gIHZvaWQgaW5jcmVtZW50KCk7Ci19Ozwvd2ViaWRsPgotICA8
SW50ZXJmYWNlIG5hbWU9IkNvdW50ZXIiIGlkPSI6OkNvdW50ZXIiPgotICAgIDx3ZWJpZGw+aW50
ZXJmYWNlIENvdW50ZXIgewotICBbUmVwbGFjZWFibGVdIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNp
Z25lZCBsb25nIHZhbHVlOwotICB2b2lkIGluY3JlbWVudCgpOwotfTs8L3dlYmlkbD4KLSAgICA8
QXR0cmlidXRlIHJlYWRvbmx5PSJyZWFkb25seSIgbmFtZT0idmFsdWUiIGlkPSI6OkNvdW50ZXI6
OnZhbHVlIj4KLSAgICAgIDx3ZWJpZGw+ICBbUmVwbGFjZWFibGVdIHJlYWRvbmx5IGF0dHJpYnV0
ZSB1bnNpZ25lZCBsb25nIHZhbHVlOzwvd2ViaWRsPgotICAgICAgPEV4dGVuZGVkQXR0cmlidXRl
TGlzdD4KLSAgICAgICAgPEV4dGVuZGVkQXR0cmlidXRlIG5hbWU9IlJlcGxhY2VhYmxlIj4KLSAg
ICAgICAgICA8d2ViaWRsPlJlcGxhY2VhYmxlPC93ZWJpZGw+Ci0gICAgICAgIDwvRXh0ZW5kZWRB
dHRyaWJ1dGU+Ci0gICAgICA8L0V4dGVuZGVkQXR0cmlidXRlTGlzdD4KLSAgICAgIDxUeXBlIHR5
cGU9InVuc2lnbmVkIGxvbmciLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAgICA8T3BlcmF0aW9uIG5h
bWU9ImluY3JlbWVudCIgaWQ9Ijo6Q291bnRlcjo6aW5jcmVtZW50Ij4KLSAgICAgIDx3ZWJpZGw+
ICB2b2lkIGluY3JlbWVudCgpOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0idm9pZCIvPgot
ICAgICAgPEFyZ3VtZW50TGlzdC8+Ci0gICAgPC9PcGVyYXRpb24+Ci0gIDwvSW50ZXJmYWNlPgot
PC9EZWZpbml0aW9ucz4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlk
L3htbC9zZXF1ZW5jZS53aWRscHJvY3htbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlk
L3htbC9zZXF1ZW5jZS53aWRscHJvY3htbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
ZDVmNDU2NDE3NWIuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3Zh
bGlkL3htbC9zZXF1ZW5jZS53aWRscHJvY3htbAorKysgL2Rldi9udWxsCkBAIC0xLDMyICswLDAg
QEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Ci08IURPQ1RZUEUgRGVm
aW5pdGlvbnMgU1lTVEVNICJ3aWRscHJvY3htbC5kdGQiPgotPERlZmluaXRpb25zPgotICA8d2Vi
aWRsPmludGVyZmFjZSBDYW52YXMgewotICB2b2lkIGRyYXdQb2x5Z29uKHNlcXVlbmNlJmx0O2Zs
b2F0PiBjb29yZGluYXRlcyk7Ci0gIHNlcXVlbmNlJmx0O2Zsb2F0PiBnZXRJbmZsZWN0aW9uUG9p
bnRzKCk7Ci19Ozwvd2ViaWRsPgotICA8SW50ZXJmYWNlIG5hbWU9IkNhbnZhcyIgaWQ9Ijo6Q2Fu
dmFzIj4KLSAgICA8d2ViaWRsPmludGVyZmFjZSBDYW52YXMgewotICB2b2lkIGRyYXdQb2x5Z29u
KHNlcXVlbmNlJmx0O2Zsb2F0PiBjb29yZGluYXRlcyk7Ci0gIHNlcXVlbmNlJmx0O2Zsb2F0PiBn
ZXRJbmZsZWN0aW9uUG9pbnRzKCk7Ci19Ozwvd2ViaWRsPgotICAgIDxPcGVyYXRpb24gbmFtZT0i
ZHJhd1BvbHlnb24iIGlkPSI6OkNhbnZhczo6ZHJhd1BvbHlnb24iPgotICAgICAgPHdlYmlkbD4g
IHZvaWQgZHJhd1BvbHlnb24oc2VxdWVuY2UmbHQ7ZmxvYXQ+IGNvb3JkaW5hdGVzKTs8L3dlYmlk
bD4KLSAgICAgIDxUeXBlIHR5cGU9InZvaWQiLz4KLSAgICAgIDxBcmd1bWVudExpc3Q+Ci0gICAg
ICAgIDxBcmd1bWVudCBuYW1lPSJjb29yZGluYXRlcyI+Ci0gICAgICAgICAgPFR5cGUgdHlwZT0i
c2VxdWVuY2UiPgotICAgICAgICAgICAgPFR5cGUgdHlwZT0iZmxvYXQiLz4KLSAgICAgICAgICA8
L1R5cGU+Ci0gICAgICAgIDwvQXJndW1lbnQ+Ci0gICAgICA8L0FyZ3VtZW50TGlzdD4KLSAgICA8
L09wZXJhdGlvbj4KLSAgICA8T3BlcmF0aW9uIG5hbWU9ImdldEluZmxlY3Rpb25Qb2ludHMiIGlk
PSI6OkNhbnZhczo6Z2V0SW5mbGVjdGlvblBvaW50cyI+Ci0gICAgICA8d2ViaWRsPiAgc2VxdWVu
Y2UmbHQ7ZmxvYXQ+IGdldEluZmxlY3Rpb25Qb2ludHMoKTs8L3dlYmlkbD4KLSAgICAgIDxUeXBl
IHR5cGU9InNlcXVlbmNlIj4KLSAgICAgICAgPFR5cGUgdHlwZT0iZmxvYXQiLz4KLSAgICAgIDwv
VHlwZT4KLSAgICAgIDxBcmd1bWVudExpc3QvPgotICAgIDwvT3BlcmF0aW9uPgotICA8L0ludGVy
ZmFjZT4KLTwvRGVmaW5pdGlvbnM+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVz
dC92YWxpZC94bWwvc2VyaWFsaXplci53aWRscHJvY3htbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90
ZXN0L3ZhbGlkL3htbC9zZXJpYWxpemVyLndpZGxwcm9jeG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCBlYjQyMTlmOGE1ZS4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxw
cm9jL3Rlc3QvdmFsaWQveG1sL3NlcmlhbGl6ZXIud2lkbHByb2N4bWwKKysrIC9kZXYvbnVsbApA
QCAtMSwyOTYgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4K
LTwhRE9DVFlQRSBEZWZpbml0aW9ucyBTWVNURU0gIndpZGxwcm9jeG1sLmR0ZCI+Ci08RGVmaW5p
dGlvbnM+Ci0gIDx3ZWJpZGw+aW50ZXJmYWNlIFRyYW5zYWN0aW9uIHsKLSAgcmVhZG9ubHkgYXR0
cmlidXRlIDxyZWY+QWNjb3VudDwvcmVmPiBmcm9tOwotICByZWFkb25seSBhdHRyaWJ1dGUgPHJl
Zj5BY2NvdW50PC9yZWY+IHRvOwotICByZWFkb25seSBhdHRyaWJ1dGUgZmxvYXQgYW1vdW50Owot
ICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGRlc2NyaXB0aW9uOwotICByZWFkb25seSBh
dHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBudW1iZXI7Ci0KLSAgc2VyaWFsaXplcjsKLX07Ci0KLWlu
dGVyZmFjZSBBY2NvdW50IHsKLSAgYXR0cmlidXRlIERPTVN0cmluZyBuYW1lOwotICBhdHRyaWJ1
dGUgdW5zaWduZWQgbG9uZyBudW1iZXI7Ci0gIHNlcmlhbGl6ZXIgRE9NU3RyaW5nIHNlcmlhbGl6
ZSgpOwotfTsKLQotaW50ZXJmYWNlIFRyYW5zYWN0aW9uMiB7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0
ZSA8cmVmPkFjY291bnQyPC9yZWY+IGZyb207Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSA8cmVmPkFj
Y291bnQyPC9yZWY+IHRvOwotICByZWFkb25seSBhdHRyaWJ1dGUgZmxvYXQgYW1vdW50OwotICBy
ZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGRlc2NyaXB0aW9uOwotICByZWFkb25seSBhdHRy
aWJ1dGUgdW5zaWduZWQgbG9uZyBudW1iZXI7Ci0KLSAgc2VyaWFsaXplciA9IHsgZnJvbSwgdG8s
IGFtb3VudCwgZGVzY3JpcHRpb24gfTsKLX07Ci0KLWludGVyZmFjZSBBY2NvdW50MiB7Ci0gIGF0
dHJpYnV0ZSBET01TdHJpbmcgbmFtZTsKLSAgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbnVtYmVy
OwotICBzZXJpYWxpemVyID0gbnVtYmVyOwotfTsKLQotaW50ZXJmYWNlIEFjY291bnQzIHsKLSAg
YXR0cmlidXRlIERPTVN0cmluZyBuYW1lOwotICBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBudW1i
ZXI7Ci0KLSAgc2VyaWFsaXplciA9IHsgYXR0cmlidXRlIH07Ci19OwotCi1pbnRlcmZhY2UgQWNj
b3VudDQgewotICBnZXR0ZXIgb2JqZWN0IGdldEl0ZW0odW5zaWduZWQgbG9uZyBpbmRleCk7Ci0g
IHNlcmlhbGl6ZXIgPSB7IGdldHRlciB9OwotfTsKLQotaW50ZXJmYWNlIEFjY291bnQ1IDogPHJl
Zj5BY2NvdW50PC9yZWY+IHsKLSAgYXR0cmlidXRlIERPTVN0cmluZyBzZWNvbmRuYW1lOwotICBz
ZXJpYWxpemVyID0geyBpbmhlcml0LCBzZWNvbmRuYW1lIH07Ci19OwotCi1pbnRlcmZhY2UgQWNj
b3VudDYgOiA8cmVmPkFjY291bnQ8L3JlZj4gewotICBhdHRyaWJ1dGUgRE9NU3RyaW5nIHNlY29u
ZG5hbWU7Ci0gIHNlcmlhbGl6ZXIgPSB7IGluaGVyaXQsIGF0dHJpYnV0ZSB9OwotfTsKLQotaW50
ZXJmYWNlIEFjY291bnQ3IHsKLSAgYXR0cmlidXRlIERPTVN0cmluZyBuYW1lOwotICBhdHRyaWJ1
dGUgdW5zaWduZWQgbG9uZyBudW1iZXI7Ci0gIHNlcmlhbGl6ZXIgPSBbIG5hbWUsIG51bWJlciBd
OwotfTsKLQotaW50ZXJmYWNlIEFjY291bnQ4IHsKLSAgZ2V0dGVyIG9iamVjdCBnZXRJdGVtKHVu
c2lnbmVkIGxvbmcgaW5kZXgpOwotICBzZXJpYWxpemVyID0gWyBnZXR0ZXIgXTsKLX07PC93ZWJp
ZGw+Ci0gIDxJbnRlcmZhY2UgbmFtZT0iVHJhbnNhY3Rpb24iIGlkPSI6OlRyYW5zYWN0aW9uIj4K
LSAgICA8d2ViaWRsPmludGVyZmFjZSBUcmFuc2FjdGlvbiB7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0
ZSA8cmVmPkFjY291bnQ8L3JlZj4gZnJvbTsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIDxyZWY+QWNj
b3VudDwvcmVmPiB0bzsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIGZsb2F0IGFtb3VudDsKLSAgcmVh
ZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBkZXNjcmlwdGlvbjsKLSAgcmVhZG9ubHkgYXR0cmli
dXRlIHVuc2lnbmVkIGxvbmcgbnVtYmVyOwotCi0gIHNlcmlhbGl6ZXI7Ci19Ozwvd2ViaWRsPgot
ICAgIDxBdHRyaWJ1dGUgcmVhZG9ubHk9InJlYWRvbmx5IiBuYW1lPSJmcm9tIiBpZD0iOjpUcmFu
c2FjdGlvbjo6ZnJvbSI+Ci0gICAgICA8d2ViaWRsPiAgcmVhZG9ubHkgYXR0cmlidXRlIDxyZWY+
QWNjb3VudDwvcmVmPiBmcm9tOzwvd2ViaWRsPgotICAgICAgPFR5cGUgbmFtZT0iQWNjb3VudCIv
PgotICAgIDwvQXR0cmlidXRlPgotICAgIDxBdHRyaWJ1dGUgcmVhZG9ubHk9InJlYWRvbmx5IiBu
YW1lPSJ0byIgaWQ9Ijo6VHJhbnNhY3Rpb246OnRvIj4KLSAgICAgIDx3ZWJpZGw+ICByZWFkb25s
eSBhdHRyaWJ1dGUgPHJlZj5BY2NvdW50PC9yZWY+IHRvOzwvd2ViaWRsPgotICAgICAgPFR5cGUg
bmFtZT0iQWNjb3VudCIvPgotICAgIDwvQXR0cmlidXRlPgotICAgIDxBdHRyaWJ1dGUgcmVhZG9u
bHk9InJlYWRvbmx5IiBuYW1lPSJhbW91bnQiIGlkPSI6OlRyYW5zYWN0aW9uOjphbW91bnQiPgot
ICAgICAgPHdlYmlkbD4gIHJlYWRvbmx5IGF0dHJpYnV0ZSBmbG9hdCBhbW91bnQ7PC93ZWJpZGw+
Ci0gICAgICA8VHlwZSB0eXBlPSJmbG9hdCIvPgotICAgIDwvQXR0cmlidXRlPgotICAgIDxBdHRy
aWJ1dGUgcmVhZG9ubHk9InJlYWRvbmx5IiBuYW1lPSJkZXNjcmlwdGlvbiIgaWQ9Ijo6VHJhbnNh
Y3Rpb246OmRlc2NyaXB0aW9uIj4KLSAgICAgIDx3ZWJpZGw+ICByZWFkb25seSBhdHRyaWJ1dGUg
RE9NU3RyaW5nIGRlc2NyaXB0aW9uOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0iRE9NU3Ry
aW5nIi8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gICAgPEF0dHJpYnV0ZSByZWFkb25seT0icmVhZG9u
bHkiIG5hbWU9Im51bWJlciIgaWQ9Ijo6VHJhbnNhY3Rpb246Om51bWJlciI+Ci0gICAgICA8d2Vi
aWRsPiAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbnVtYmVyOzwvd2ViaWRsPgot
ICAgICAgPFR5cGUgdHlwZT0idW5zaWduZWQgbG9uZyIvPgotICAgIDwvQXR0cmlidXRlPgotICAg
IDxTZXJpYWxpemVyPgotICAgICAgPHdlYmlkbD4gIHNlcmlhbGl6ZXI7PC93ZWJpZGw+Ci0gICAg
PC9TZXJpYWxpemVyPgotICA8L0ludGVyZmFjZT4KLSAgPEludGVyZmFjZSBuYW1lPSJBY2NvdW50
IiBpZD0iOjpBY2NvdW50Ij4KLSAgICA8d2ViaWRsPmludGVyZmFjZSBBY2NvdW50IHsKLSAgYXR0
cmlidXRlIERPTVN0cmluZyBuYW1lOwotICBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBudW1iZXI7
Ci0gIHNlcmlhbGl6ZXIgRE9NU3RyaW5nIHNlcmlhbGl6ZSgpOwotfTs8L3dlYmlkbD4KLSAgICA8
QXR0cmlidXRlIG5hbWU9Im5hbWUiIGlkPSI6OkFjY291bnQ6Om5hbWUiPgotICAgICAgPHdlYmlk
bD4gIGF0dHJpYnV0ZSBET01TdHJpbmcgbmFtZTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9
IkRPTVN0cmluZyIvPgotICAgIDwvQXR0cmlidXRlPgotICAgIDxBdHRyaWJ1dGUgbmFtZT0ibnVt
YmVyIiBpZD0iOjpBY2NvdW50OjpudW1iZXIiPgotICAgICAgPHdlYmlkbD4gIGF0dHJpYnV0ZSB1
bnNpZ25lZCBsb25nIG51bWJlcjs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9InVuc2lnbmVk
IGxvbmciLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAgICA8T3BlcmF0aW9uIHNlcmlhbGl6ZXI9InNl
cmlhbGl6ZXIiIG5hbWU9InNlcmlhbGl6ZSIgaWQ9Ijo6QWNjb3VudDo6c2VyaWFsaXplIj4KLSAg
ICAgIDx3ZWJpZGw+ICBzZXJpYWxpemVyIERPTVN0cmluZyBzZXJpYWxpemUoKTs8L3dlYmlkbD4K
LSAgICAgIDxUeXBlIHR5cGU9IkRPTVN0cmluZyIvPgotICAgICAgPEFyZ3VtZW50TGlzdC8+Ci0g
ICAgPC9PcGVyYXRpb24+Ci0gIDwvSW50ZXJmYWNlPgotICA8SW50ZXJmYWNlIG5hbWU9IlRyYW5z
YWN0aW9uMiIgaWQ9Ijo6VHJhbnNhY3Rpb24yIj4KLSAgICA8d2ViaWRsPmludGVyZmFjZSBUcmFu
c2FjdGlvbjIgewotICByZWFkb25seSBhdHRyaWJ1dGUgPHJlZj5BY2NvdW50MjwvcmVmPiBmcm9t
OwotICByZWFkb25seSBhdHRyaWJ1dGUgPHJlZj5BY2NvdW50MjwvcmVmPiB0bzsKLSAgcmVhZG9u
bHkgYXR0cmlidXRlIGZsb2F0IGFtb3VudDsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmlu
ZyBkZXNjcmlwdGlvbjsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbnVtYmVy
OwotCi0gIHNlcmlhbGl6ZXIgPSB7IGZyb20sIHRvLCBhbW91bnQsIGRlc2NyaXB0aW9uIH07Ci19
Ozwvd2ViaWRsPgotICAgIDxBdHRyaWJ1dGUgcmVhZG9ubHk9InJlYWRvbmx5IiBuYW1lPSJmcm9t
IiBpZD0iOjpUcmFuc2FjdGlvbjI6OmZyb20iPgotICAgICAgPHdlYmlkbD4gIHJlYWRvbmx5IGF0
dHJpYnV0ZSA8cmVmPkFjY291bnQyPC9yZWY+IGZyb207PC93ZWJpZGw+Ci0gICAgICA8VHlwZSBu
YW1lPSJBY2NvdW50MiIvPgotICAgIDwvQXR0cmlidXRlPgotICAgIDxBdHRyaWJ1dGUgcmVhZG9u
bHk9InJlYWRvbmx5IiBuYW1lPSJ0byIgaWQ9Ijo6VHJhbnNhY3Rpb24yOjp0byI+Ci0gICAgICA8
d2ViaWRsPiAgcmVhZG9ubHkgYXR0cmlidXRlIDxyZWY+QWNjb3VudDI8L3JlZj4gdG87PC93ZWJp
ZGw+Ci0gICAgICA8VHlwZSBuYW1lPSJBY2NvdW50MiIvPgotICAgIDwvQXR0cmlidXRlPgotICAg
IDxBdHRyaWJ1dGUgcmVhZG9ubHk9InJlYWRvbmx5IiBuYW1lPSJhbW91bnQiIGlkPSI6OlRyYW5z
YWN0aW9uMjo6YW1vdW50Ij4KLSAgICAgIDx3ZWJpZGw+ICByZWFkb25seSBhdHRyaWJ1dGUgZmxv
YXQgYW1vdW50Ozwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0iZmxvYXQiLz4KLSAgICA8L0F0
dHJpYnV0ZT4KLSAgICA8QXR0cmlidXRlIHJlYWRvbmx5PSJyZWFkb25seSIgbmFtZT0iZGVzY3Jp
cHRpb24iIGlkPSI6OlRyYW5zYWN0aW9uMjo6ZGVzY3JpcHRpb24iPgotICAgICAgPHdlYmlkbD4g
IHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgZGVzY3JpcHRpb247PC93ZWJpZGw+Ci0gICAg
ICA8VHlwZSB0eXBlPSJET01TdHJpbmciLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAgICA8QXR0cmli
dXRlIHJlYWRvbmx5PSJyZWFkb25seSIgbmFtZT0ibnVtYmVyIiBpZD0iOjpUcmFuc2FjdGlvbjI6
Om51bWJlciI+Ci0gICAgICA8d2ViaWRsPiAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxv
bmcgbnVtYmVyOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0idW5zaWduZWQgbG9uZyIvPgot
ICAgIDwvQXR0cmlidXRlPgotICAgIDxTZXJpYWxpemVyPgotICAgICAgPHdlYmlkbD4gIHNlcmlh
bGl6ZXIgPSB7IGZyb20sIHRvLCBhbW91bnQsIGRlc2NyaXB0aW9uIH07PC93ZWJpZGw+Ci0gICAg
ICA8TWFwIHBhdHRlcm49InNlbGVjdGlvbiI+Ci0gICAgICAgIDxQYXR0ZXJuQXR0cmlidXRlIG5h
bWU9ImZyb20iLz4KLSAgICAgICAgPFBhdHRlcm5BdHRyaWJ1dGUgbmFtZT0idG8iLz4KLSAgICAg
ICAgPFBhdHRlcm5BdHRyaWJ1dGUgbmFtZT0iYW1vdW50Ii8+Ci0gICAgICAgIDxQYXR0ZXJuQXR0
cmlidXRlIG5hbWU9ImRlc2NyaXB0aW9uIi8+Ci0gICAgICA8L01hcD4KLSAgICA8L1NlcmlhbGl6
ZXI+Ci0gIDwvSW50ZXJmYWNlPgotICA8SW50ZXJmYWNlIG5hbWU9IkFjY291bnQyIiBpZD0iOjpB
Y2NvdW50MiI+Ci0gICAgPHdlYmlkbD5pbnRlcmZhY2UgQWNjb3VudDIgewotICBhdHRyaWJ1dGUg
RE9NU3RyaW5nIG5hbWU7Ci0gIGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIG51bWJlcjsKLSAgc2Vy
aWFsaXplciA9IG51bWJlcjsKLX07PC93ZWJpZGw+Ci0gICAgPEF0dHJpYnV0ZSBuYW1lPSJuYW1l
IiBpZD0iOjpBY2NvdW50Mjo6bmFtZSI+Ci0gICAgICA8d2ViaWRsPiAgYXR0cmlidXRlIERPTVN0
cmluZyBuYW1lOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0iRE9NU3RyaW5nIi8+Ci0gICAg
PC9BdHRyaWJ1dGU+Ci0gICAgPEF0dHJpYnV0ZSBuYW1lPSJudW1iZXIiIGlkPSI6OkFjY291bnQy
OjpudW1iZXIiPgotICAgICAgPHdlYmlkbD4gIGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIG51bWJl
cjs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9InVuc2lnbmVkIGxvbmciLz4KLSAgICA8L0F0
dHJpYnV0ZT4KLSAgICA8U2VyaWFsaXplciBhdHRyaWJ1dGU9Im51bWJlciI+Ci0gICAgICA8d2Vi
aWRsPiAgc2VyaWFsaXplciA9IG51bWJlcjs8L3dlYmlkbD4KLSAgICA8L1NlcmlhbGl6ZXI+Ci0g
IDwvSW50ZXJmYWNlPgotICA8SW50ZXJmYWNlIG5hbWU9IkFjY291bnQzIiBpZD0iOjpBY2NvdW50
MyI+Ci0gICAgPHdlYmlkbD5pbnRlcmZhY2UgQWNjb3VudDMgewotICBhdHRyaWJ1dGUgRE9NU3Ry
aW5nIG5hbWU7Ci0gIGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIG51bWJlcjsKLQotICBzZXJpYWxp
emVyID0geyBhdHRyaWJ1dGUgfTsKLX07PC93ZWJpZGw+Ci0gICAgPEF0dHJpYnV0ZSBuYW1lPSJu
YW1lIiBpZD0iOjpBY2NvdW50Mzo6bmFtZSI+Ci0gICAgICA8d2ViaWRsPiAgYXR0cmlidXRlIERP
TVN0cmluZyBuYW1lOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0iRE9NU3RyaW5nIi8+Ci0g
ICAgPC9BdHRyaWJ1dGU+Ci0gICAgPEF0dHJpYnV0ZSBuYW1lPSJudW1iZXIiIGlkPSI6OkFjY291
bnQzOjpudW1iZXIiPgotICAgICAgPHdlYmlkbD4gIGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIG51
bWJlcjs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9InVuc2lnbmVkIGxvbmciLz4KLSAgICA8
L0F0dHJpYnV0ZT4KLSAgICA8U2VyaWFsaXplcj4KLSAgICAgIDx3ZWJpZGw+ICBzZXJpYWxpemVy
ID0geyBhdHRyaWJ1dGUgfTs8L3dlYmlkbD4KLSAgICAgIDxNYXAgcGF0dGVybj0iYWxsIi8+Ci0g
ICAgPC9TZXJpYWxpemVyPgotICA8L0ludGVyZmFjZT4KLSAgPEludGVyZmFjZSBuYW1lPSJBY2Nv
dW50NCIgaWQ9Ijo6QWNjb3VudDQiPgotICAgIDx3ZWJpZGw+aW50ZXJmYWNlIEFjY291bnQ0IHsK
LSAgZ2V0dGVyIG9iamVjdCBnZXRJdGVtKHVuc2lnbmVkIGxvbmcgaW5kZXgpOwotICBzZXJpYWxp
emVyID0geyBnZXR0ZXIgfTsKLX07PC93ZWJpZGw+Ci0gICAgPE9wZXJhdGlvbiBnZXR0ZXI9Imdl
dHRlciIgbmFtZT0iZ2V0SXRlbSIgaWQ9Ijo6QWNjb3VudDQ6OmdldEl0ZW0iPgotICAgICAgPHdl
YmlkbD4gIGdldHRlciBvYmplY3QgZ2V0SXRlbSh1bnNpZ25lZCBsb25nIGluZGV4KTs8L3dlYmlk
bD4KLSAgICAgIDxUeXBlIHR5cGU9Im9iamVjdCIvPgotICAgICAgPEFyZ3VtZW50TGlzdD4KLSAg
ICAgICAgPEFyZ3VtZW50IG5hbWU9ImluZGV4Ij4KLSAgICAgICAgICA8VHlwZSB0eXBlPSJ1bnNp
Z25lZCBsb25nIi8+Ci0gICAgICAgIDwvQXJndW1lbnQ+Ci0gICAgICA8L0FyZ3VtZW50TGlzdD4K
LSAgICA8L09wZXJhdGlvbj4KLSAgICA8U2VyaWFsaXplcj4KLSAgICAgIDx3ZWJpZGw+ICBzZXJp
YWxpemVyID0geyBnZXR0ZXIgfTs8L3dlYmlkbD4KLSAgICAgIDxNYXAgcGF0dGVybj0iZ2V0dGVy
Ii8+Ci0gICAgPC9TZXJpYWxpemVyPgotICA8L0ludGVyZmFjZT4KLSAgPEludGVyZmFjZSBuYW1l
PSJBY2NvdW50NSIgaWQ9Ijo6QWNjb3VudDUiPgotICAgIDx3ZWJpZGw+aW50ZXJmYWNlIEFjY291
bnQ1IDogPHJlZj5BY2NvdW50PC9yZWY+IHsKLSAgYXR0cmlidXRlIERPTVN0cmluZyBzZWNvbmRu
YW1lOwotICBzZXJpYWxpemVyID0geyBpbmhlcml0LCBzZWNvbmRuYW1lIH07Ci19Ozwvd2ViaWRs
PgotICAgIDxJbnRlcmZhY2VJbmhlcml0YW5jZT4KLSAgICAgIDxOYW1lIG5hbWU9IkFjY291bnQi
Lz4KLSAgICA8L0ludGVyZmFjZUluaGVyaXRhbmNlPgotICAgIDxBdHRyaWJ1dGUgbmFtZT0ic2Vj
b25kbmFtZSIgaWQ9Ijo6QWNjb3VudDU6OnNlY29uZG5hbWUiPgotICAgICAgPHdlYmlkbD4gIGF0
dHJpYnV0ZSBET01TdHJpbmcgc2Vjb25kbmFtZTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9
IkRPTVN0cmluZyIvPgotICAgIDwvQXR0cmlidXRlPgotICAgIDxTZXJpYWxpemVyPgotICAgICAg
PHdlYmlkbD4gIHNlcmlhbGl6ZXIgPSB7IGluaGVyaXQsIHNlY29uZG5hbWUgfTs8L3dlYmlkbD4K
LSAgICAgIDxNYXAgaW5oZXJpdD0iaW5oZXJpdCIgcGF0dGVybj0ic2VsZWN0aW9uIj4KLSAgICAg
ICAgPFBhdHRlcm5BdHRyaWJ1dGUgbmFtZT0ic2Vjb25kbmFtZSIvPgotICAgICAgPC9NYXA+Ci0g
ICAgPC9TZXJpYWxpemVyPgotICA8L0ludGVyZmFjZT4KLSAgPEludGVyZmFjZSBuYW1lPSJBY2Nv
dW50NiIgaWQ9Ijo6QWNjb3VudDYiPgotICAgIDx3ZWJpZGw+aW50ZXJmYWNlIEFjY291bnQ2IDog
PHJlZj5BY2NvdW50PC9yZWY+IHsKLSAgYXR0cmlidXRlIERPTVN0cmluZyBzZWNvbmRuYW1lOwot
ICBzZXJpYWxpemVyID0geyBpbmhlcml0LCBhdHRyaWJ1dGUgfTsKLX07PC93ZWJpZGw+Ci0gICAg
PEludGVyZmFjZUluaGVyaXRhbmNlPgotICAgICAgPE5hbWUgbmFtZT0iQWNjb3VudCIvPgotICAg
IDwvSW50ZXJmYWNlSW5oZXJpdGFuY2U+Ci0gICAgPEF0dHJpYnV0ZSBuYW1lPSJzZWNvbmRuYW1l
IiBpZD0iOjpBY2NvdW50Njo6c2Vjb25kbmFtZSI+Ci0gICAgICA8d2ViaWRsPiAgYXR0cmlidXRl
IERPTVN0cmluZyBzZWNvbmRuYW1lOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0iRE9NU3Ry
aW5nIi8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gICAgPFNlcmlhbGl6ZXI+Ci0gICAgICA8d2ViaWRs
PiAgc2VyaWFsaXplciA9IHsgaW5oZXJpdCwgYXR0cmlidXRlIH07PC93ZWJpZGw+Ci0gICAgICA8
TWFwIGluaGVyaXQ9ImluaGVyaXQiIHBhdHRlcm49ImFsbCIvPgotICAgIDwvU2VyaWFsaXplcj4K
LSAgPC9JbnRlcmZhY2U+Ci0gIDxJbnRlcmZhY2UgbmFtZT0iQWNjb3VudDciIGlkPSI6OkFjY291
bnQ3Ij4KLSAgICA8d2ViaWRsPmludGVyZmFjZSBBY2NvdW50NyB7Ci0gIGF0dHJpYnV0ZSBET01T
dHJpbmcgbmFtZTsKLSAgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbnVtYmVyOwotICBzZXJpYWxp
emVyID0gWyBuYW1lLCBudW1iZXIgXTsKLX07PC93ZWJpZGw+Ci0gICAgPEF0dHJpYnV0ZSBuYW1l
PSJuYW1lIiBpZD0iOjpBY2NvdW50Nzo6bmFtZSI+Ci0gICAgICA8d2ViaWRsPiAgYXR0cmlidXRl
IERPTVN0cmluZyBuYW1lOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0iRE9NU3RyaW5nIi8+
Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gICAgPEF0dHJpYnV0ZSBuYW1lPSJudW1iZXIiIGlkPSI6OkFj
Y291bnQ3OjpudW1iZXIiPgotICAgICAgPHdlYmlkbD4gIGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25n
IG51bWJlcjs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9InVuc2lnbmVkIGxvbmciLz4KLSAg
ICA8L0F0dHJpYnV0ZT4KLSAgICA8U2VyaWFsaXplcj4KLSAgICAgIDx3ZWJpZGw+ICBzZXJpYWxp
emVyID0gWyBuYW1lLCBudW1iZXIgXTs8L3dlYmlkbD4KLSAgICAgIDxMaXN0IHBhdHRlcm49InNl
bGVjdGlvbiI+Ci0gICAgICAgIDxQYXR0ZXJuQXR0cmlidXRlIG5hbWU9Im5hbWUiLz4KLSAgICAg
ICAgPFBhdHRlcm5BdHRyaWJ1dGUgbmFtZT0ibnVtYmVyIi8+Ci0gICAgICA8L0xpc3Q+Ci0gICAg
PC9TZXJpYWxpemVyPgotICA8L0ludGVyZmFjZT4KLSAgPEludGVyZmFjZSBuYW1lPSJBY2NvdW50
OCIgaWQ9Ijo6QWNjb3VudDgiPgotICAgIDx3ZWJpZGw+aW50ZXJmYWNlIEFjY291bnQ4IHsKLSAg
Z2V0dGVyIG9iamVjdCBnZXRJdGVtKHVuc2lnbmVkIGxvbmcgaW5kZXgpOwotICBzZXJpYWxpemVy
ID0gWyBnZXR0ZXIgXTsKLX07PC93ZWJpZGw+Ci0gICAgPE9wZXJhdGlvbiBnZXR0ZXI9ImdldHRl
ciIgbmFtZT0iZ2V0SXRlbSIgaWQ9Ijo6QWNjb3VudDg6OmdldEl0ZW0iPgotICAgICAgPHdlYmlk
bD4gIGdldHRlciBvYmplY3QgZ2V0SXRlbSh1bnNpZ25lZCBsb25nIGluZGV4KTs8L3dlYmlkbD4K
LSAgICAgIDxUeXBlIHR5cGU9Im9iamVjdCIvPgotICAgICAgPEFyZ3VtZW50TGlzdD4KLSAgICAg
ICAgPEFyZ3VtZW50IG5hbWU9ImluZGV4Ij4KLSAgICAgICAgICA8VHlwZSB0eXBlPSJ1bnNpZ25l
ZCBsb25nIi8+Ci0gICAgICAgIDwvQXJndW1lbnQ+Ci0gICAgICA8L0FyZ3VtZW50TGlzdD4KLSAg
ICA8L09wZXJhdGlvbj4KLSAgICA8U2VyaWFsaXplcj4KLSAgICAgIDx3ZWJpZGw+ICBzZXJpYWxp
emVyID0gWyBnZXR0ZXIgXTs8L3dlYmlkbD4KLSAgICAgIDxMaXN0IHBhdHRlcm49ImdldHRlciIv
PgotICAgIDwvU2VyaWFsaXplcj4KLSAgPC9JbnRlcmZhY2U+Ci08L0RlZmluaXRpb25zPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL3NwZWNpYWwtb21pdHRh
YmxlLndpZGxwcm9jeG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL3NwZWNp
YWwtb21pdHRhYmxlLndpZGxwcm9jeG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAx
OTg2ZDE5MGE4MC4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFs
aWQveG1sL3NwZWNpYWwtb21pdHRhYmxlLndpZGxwcm9jeG1sCisrKyAvZGV2L251bGwKQEAgLTEs
MzcgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KLTwhRE9D
VFlQRSBEZWZpbml0aW9ucyBTWVNURU0gIndpZGxwcm9jeG1sLmR0ZCI+Ci08RGVmaW5pdGlvbnM+
Ci0gIDxJbnRlcmZhY2UgbmFtZT0iRGljdGlvbmFyeSIgaWQ9Ijo6RGljdGlvbmFyeSI+Ci0gICAg
PHdlYmlkbD5pbnRlcmZhY2UgRGljdGlvbmFyeSB7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNp
Z25lZCBsb25nIHByb3BlcnR5Q291bnQ7Ci0KLSAgb21pdHRhYmxlIGdldHRlciBmbG9hdCBnZXRQ
cm9wZXJ0eShET01TdHJpbmcgcHJvcGVydHlOYW1lKTsKLSAgb21pdHRhYmxlIHNldHRlciB2b2lk
IHNldFByb3BlcnR5KERPTVN0cmluZyBwcm9wZXJ0eU5hbWUsIGZsb2F0IHByb3BlcnR5VmFsdWUp
OwotfTs8L3dlYmlkbD4KLSAgICA8QXR0cmlidXRlIHJlYWRvbmx5PSJyZWFkb25seSIgbmFtZT0i
cHJvcGVydHlDb3VudCIgaWQ9Ijo6RGljdGlvbmFyeTo6cHJvcGVydHlDb3VudCI+Ci0gICAgICA8
d2ViaWRsPiAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgcHJvcGVydHlDb3VudDs8
L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9InVuc2lnbmVkIGxvbmciLz4KLSAgICA8L0F0dHJp
YnV0ZT4KLSAgICA8T3BlcmF0aW9uIG9taXR0YWJsZT0ib21pdHRhYmxlIiBnZXR0ZXI9ImdldHRl
ciIgbmFtZT0iZ2V0UHJvcGVydHkiIGlkPSI6OkRpY3Rpb25hcnk6OmdldFByb3BlcnR5Ij4KLSAg
ICAgIDx3ZWJpZGw+ICBvbWl0dGFibGUgZ2V0dGVyIGZsb2F0IGdldFByb3BlcnR5KERPTVN0cmlu
ZyBwcm9wZXJ0eU5hbWUpOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0iZmxvYXQiLz4KLSAg
ICAgIDxBcmd1bWVudExpc3Q+Ci0gICAgICAgIDxBcmd1bWVudCBuYW1lPSJwcm9wZXJ0eU5hbWUi
PgotICAgICAgICAgIDxUeXBlIHR5cGU9IkRPTVN0cmluZyIvPgotICAgICAgICA8L0FyZ3VtZW50
PgotICAgICAgPC9Bcmd1bWVudExpc3Q+Ci0gICAgPC9PcGVyYXRpb24+Ci0gICAgPE9wZXJhdGlv
biBvbWl0dGFibGU9Im9taXR0YWJsZSIgc2V0dGVyPSJzZXR0ZXIiIG5hbWU9InNldFByb3BlcnR5
IiBpZD0iOjpEaWN0aW9uYXJ5OjpzZXRQcm9wZXJ0eSI+Ci0gICAgICA8d2ViaWRsPiAgb21pdHRh
YmxlIHNldHRlciB2b2lkIHNldFByb3BlcnR5KERPTVN0cmluZyBwcm9wZXJ0eU5hbWUsIGZsb2F0
IHByb3BlcnR5VmFsdWUpOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0idm9pZCIvPgotICAg
ICAgPEFyZ3VtZW50TGlzdD4KLSAgICAgICAgPEFyZ3VtZW50IG5hbWU9InByb3BlcnR5TmFtZSI+
Ci0gICAgICAgICAgPFR5cGUgdHlwZT0iRE9NU3RyaW5nIi8+Ci0gICAgICAgIDwvQXJndW1lbnQ+
Ci0gICAgICAgIDxBcmd1bWVudCBuYW1lPSJwcm9wZXJ0eVZhbHVlIj4KLSAgICAgICAgICA8VHlw
ZSB0eXBlPSJmbG9hdCIvPgotICAgICAgICA8L0FyZ3VtZW50PgotICAgICAgPC9Bcmd1bWVudExp
c3Q+Ci0gICAgPC9PcGVyYXRpb24+Ci0gIDwvSW50ZXJmYWNlPgotPC9EZWZpbml0aW9ucz4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9zdGF0aWMud2lkbHBy
b2N4bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvc3RhdGljLndpZGxwcm9j
eG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwM2MxNGUxNmViYS4uMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL3N0YXRpYy53aWRscHJv
Y3htbAorKysgL2Rldi9udWxsCkBAIC0xLDU4ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIg
ZW5jb2Rpbmc9IlVURi04Ij8+Ci08IURPQ1RZUEUgRGVmaW5pdGlvbnMgU1lTVEVNICJ3aWRscHJv
Y3htbC5kdGQiPgotPERlZmluaXRpb25zPgotICA8d2ViaWRsPmludGVyZmFjZSBQb2ludCB7ICB9
OwotCi1pbnRlcmZhY2UgQ2lyY2xlIHsKLSAgYXR0cmlidXRlIGZsb2F0IGN4OwotICBhdHRyaWJ1
dGUgZmxvYXQgY3k7Ci0gIGF0dHJpYnV0ZSBmbG9hdCByYWRpdXM7Ci0KLSAgc3RhdGljIHJlYWRv
bmx5IGF0dHJpYnV0ZSBsb25nIHRyaWFuZ3VsYXRpb25Db3VudDsKLSAgc3RhdGljIDxyZWY+UG9p
bnQ8L3JlZj4gdHJpYW5ndWxhdGUoPHJlZj5DaXJjbGU8L3JlZj4gYzEsIDxyZWY+Q2lyY2xlPC9y
ZWY+IGMyLCA8cmVmPkNpcmNsZTwvcmVmPiBjMyk7Ci19Ozwvd2ViaWRsPgotICA8SW50ZXJmYWNl
IG5hbWU9IlBvaW50IiBpZD0iOjpQb2ludCI+Ci0gICAgPHdlYmlkbD5pbnRlcmZhY2UgUG9pbnQg
eyAgfTs8L3dlYmlkbD4KLSAgPC9JbnRlcmZhY2U+Ci0gIDxJbnRlcmZhY2UgbmFtZT0iQ2lyY2xl
IiBpZD0iOjpDaXJjbGUiPgotICAgIDx3ZWJpZGw+aW50ZXJmYWNlIENpcmNsZSB7Ci0gIGF0dHJp
YnV0ZSBmbG9hdCBjeDsKLSAgYXR0cmlidXRlIGZsb2F0IGN5OwotICBhdHRyaWJ1dGUgZmxvYXQg
cmFkaXVzOwotCi0gIHN0YXRpYyByZWFkb25seSBhdHRyaWJ1dGUgbG9uZyB0cmlhbmd1bGF0aW9u
Q291bnQ7Ci0gIHN0YXRpYyA8cmVmPlBvaW50PC9yZWY+IHRyaWFuZ3VsYXRlKDxyZWY+Q2lyY2xl
PC9yZWY+IGMxLCA8cmVmPkNpcmNsZTwvcmVmPiBjMiwgPHJlZj5DaXJjbGU8L3JlZj4gYzMpOwot
fTs8L3dlYmlkbD4KLSAgICA8QXR0cmlidXRlIG5hbWU9ImN4IiBpZD0iOjpDaXJjbGU6OmN4Ij4K
LSAgICAgIDx3ZWJpZGw+ICBhdHRyaWJ1dGUgZmxvYXQgY3g7PC93ZWJpZGw+Ci0gICAgICA8VHlw
ZSB0eXBlPSJmbG9hdCIvPgotICAgIDwvQXR0cmlidXRlPgotICAgIDxBdHRyaWJ1dGUgbmFtZT0i
Y3kiIGlkPSI6OkNpcmNsZTo6Y3kiPgotICAgICAgPHdlYmlkbD4gIGF0dHJpYnV0ZSBmbG9hdCBj
eTs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9ImZsb2F0Ii8+Ci0gICAgPC9BdHRyaWJ1dGU+
Ci0gICAgPEF0dHJpYnV0ZSBuYW1lPSJyYWRpdXMiIGlkPSI6OkNpcmNsZTo6cmFkaXVzIj4KLSAg
ICAgIDx3ZWJpZGw+ICBhdHRyaWJ1dGUgZmxvYXQgcmFkaXVzOzwvd2ViaWRsPgotICAgICAgPFR5
cGUgdHlwZT0iZmxvYXQiLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAgICA8QXR0cmlidXRlIHN0YXRp
Yz0ic3RhdGljIiByZWFkb25seT0icmVhZG9ubHkiIG5hbWU9InRyaWFuZ3VsYXRpb25Db3VudCIg
aWQ9Ijo6Q2lyY2xlOjp0cmlhbmd1bGF0aW9uQ291bnQiPgotICAgICAgPHdlYmlkbD4gIHN0YXRp
YyByZWFkb25seSBhdHRyaWJ1dGUgbG9uZyB0cmlhbmd1bGF0aW9uQ291bnQ7PC93ZWJpZGw+Ci0g
ICAgICA8VHlwZSB0eXBlPSJsb25nIi8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gICAgPE9wZXJhdGlv
biBzdGF0aWM9InN0YXRpYyIgbmFtZT0idHJpYW5ndWxhdGUiIGlkPSI6OkNpcmNsZTo6dHJpYW5n
dWxhdGUiPgotICAgICAgPHdlYmlkbD4gIHN0YXRpYyA8cmVmPlBvaW50PC9yZWY+IHRyaWFuZ3Vs
YXRlKDxyZWY+Q2lyY2xlPC9yZWY+IGMxLCA8cmVmPkNpcmNsZTwvcmVmPiBjMiwgPHJlZj5DaXJj
bGU8L3JlZj4gYzMpOzwvd2ViaWRsPgotICAgICAgPFR5cGUgbmFtZT0iUG9pbnQiLz4KLSAgICAg
IDxBcmd1bWVudExpc3Q+Ci0gICAgICAgIDxBcmd1bWVudCBuYW1lPSJjMSI+Ci0gICAgICAgICAg
PFR5cGUgbmFtZT0iQ2lyY2xlIi8+Ci0gICAgICAgIDwvQXJndW1lbnQ+Ci0gICAgICAgIDxBcmd1
bWVudCBuYW1lPSJjMiI+Ci0gICAgICAgICAgPFR5cGUgbmFtZT0iQ2lyY2xlIi8+Ci0gICAgICAg
IDwvQXJndW1lbnQ+Ci0gICAgICAgIDxBcmd1bWVudCBuYW1lPSJjMyI+Ci0gICAgICAgICAgPFR5
cGUgbmFtZT0iQ2lyY2xlIi8+Ci0gICAgICAgIDwvQXJndW1lbnQ+Ci0gICAgICA8L0FyZ3VtZW50
TGlzdD4KLSAgICA8L09wZXJhdGlvbj4KLSAgPC9JbnRlcmZhY2U+Ci08L0RlZmluaXRpb25zPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL3N0cmluZ2lmaWVy
LWF0dHJpYnV0ZS53aWRscHJvY3htbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3ht
bC9zdHJpbmdpZmllci1hdHRyaWJ1dGUud2lkbHByb2N4bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDA4MmNlNGQzNDFiLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHBy
b2MvdGVzdC92YWxpZC94bWwvc3RyaW5naWZpZXItYXR0cmlidXRlLndpZGxwcm9jeG1sCisrKyAv
ZGV2L251bGwKQEAgLTEsMjkgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0i
VVRGLTgiPz4KLTwhRE9DVFlQRSBEZWZpbml0aW9ucyBTWVNURU0gIndpZGxwcm9jeG1sLmR0ZCI+
Ci08RGVmaW5pdGlvbnM+Ci0gIDx3ZWJpZGw+W0NvbnN0cnVjdG9yXQotaW50ZXJmYWNlIFN0dWRl
bnQgewotICBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBpZDsKLSAgc3RyaW5naWZpZXIgYXR0cmli
dXRlIERPTVN0cmluZyBuYW1lOwotfTs8L3dlYmlkbD4KLSAgPEludGVyZmFjZSBuYW1lPSJTdHVk
ZW50IiBpZD0iOjpTdHVkZW50Ij4KLSAgICA8d2ViaWRsPltDb25zdHJ1Y3Rvcl0KLWludGVyZmFj
ZSBTdHVkZW50IHsKLSAgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgaWQ7Ci0gIHN0cmluZ2lmaWVy
IGF0dHJpYnV0ZSBET01TdHJpbmcgbmFtZTsKLX07PC93ZWJpZGw+Ci0gICAgPEV4dGVuZGVkQXR0
cmlidXRlTGlzdD4KLSAgICAgIDxFeHRlbmRlZEF0dHJpYnV0ZSBuYW1lPSJDb25zdHJ1Y3RvciI+
Ci0gICAgICAgIDx3ZWJpZGw+Q29uc3RydWN0b3I8L3dlYmlkbD4KLSAgICAgIDwvRXh0ZW5kZWRB
dHRyaWJ1dGU+Ci0gICAgPC9FeHRlbmRlZEF0dHJpYnV0ZUxpc3Q+Ci0gICAgPEF0dHJpYnV0ZSBu
YW1lPSJpZCIgaWQ9Ijo6U3R1ZGVudDo6aWQiPgotICAgICAgPHdlYmlkbD4gIGF0dHJpYnV0ZSB1
bnNpZ25lZCBsb25nIGlkOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0idW5zaWduZWQgbG9u
ZyIvPgotICAgIDwvQXR0cmlidXRlPgotICAgIDxBdHRyaWJ1dGUgc3RyaW5naWZpZXI9InN0cmlu
Z2lmaWVyIiBuYW1lPSJuYW1lIiBpZD0iOjpTdHVkZW50OjpuYW1lIj4KLSAgICAgIDx3ZWJpZGw+
ICBzdHJpbmdpZmllciBhdHRyaWJ1dGUgRE9NU3RyaW5nIG5hbWU7PC93ZWJpZGw+Ci0gICAgICA8
VHlwZSB0eXBlPSJET01TdHJpbmciLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAgPC9JbnRlcmZhY2U+
Ci08L0RlZmluaXRpb25zPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFs
aWQveG1sL3N0cmluZ2lmaWVyLWN1c3RvbS53aWRscHJvY3htbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJv
Yy90ZXN0L3ZhbGlkL3htbC9zdHJpbmdpZmllci1jdXN0b20ud2lkbHByb2N4bWwKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IGNkYWIxY2NmYzM3Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvc3RyaW5naWZpZXItY3VzdG9tLndpZGxwcm9j
eG1sCisrKyAvZGV2L251bGwKQEAgLTEsNDQgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBl
bmNvZGluZz0iVVRGLTgiPz4KLTwhRE9DVFlQRSBEZWZpbml0aW9ucyBTWVNURU0gIndpZGxwcm9j
eG1sLmR0ZCI+Ci08RGVmaW5pdGlvbnM+Ci0gIDx3ZWJpZGw+W0NvbnN0cnVjdG9yXQotaW50ZXJm
YWNlIFN0dWRlbnQgewotICBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBpZDsKLSAgYXR0cmlidXRl
IERPTVN0cmluZz8gZmFtaWx5TmFtZTsKLSAgYXR0cmlidXRlIERPTVN0cmluZyBnaXZlbk5hbWU7
Ci0KLSAgc3RyaW5naWZpZXIgRE9NU3RyaW5nICgpOwotfTs8L3dlYmlkbD4KLSAgPEludGVyZmFj
ZSBuYW1lPSJTdHVkZW50IiBpZD0iOjpTdHVkZW50Ij4KLSAgICA8d2ViaWRsPltDb25zdHJ1Y3Rv
cl0KLWludGVyZmFjZSBTdHVkZW50IHsKLSAgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgaWQ7Ci0g
IGF0dHJpYnV0ZSBET01TdHJpbmc/IGZhbWlseU5hbWU7Ci0gIGF0dHJpYnV0ZSBET01TdHJpbmcg
Z2l2ZW5OYW1lOwotCi0gIHN0cmluZ2lmaWVyIERPTVN0cmluZyAoKTsKLX07PC93ZWJpZGw+Ci0g
ICAgPEV4dGVuZGVkQXR0cmlidXRlTGlzdD4KLSAgICAgIDxFeHRlbmRlZEF0dHJpYnV0ZSBuYW1l
PSJDb25zdHJ1Y3RvciI+Ci0gICAgICAgIDx3ZWJpZGw+Q29uc3RydWN0b3I8L3dlYmlkbD4KLSAg
ICAgIDwvRXh0ZW5kZWRBdHRyaWJ1dGU+Ci0gICAgPC9FeHRlbmRlZEF0dHJpYnV0ZUxpc3Q+Ci0g
ICAgPEF0dHJpYnV0ZSBuYW1lPSJpZCIgaWQ9Ijo6U3R1ZGVudDo6aWQiPgotICAgICAgPHdlYmlk
bD4gIGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGlkOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlw
ZT0idW5zaWduZWQgbG9uZyIvPgotICAgIDwvQXR0cmlidXRlPgotICAgIDxBdHRyaWJ1dGUgbmFt
ZT0iZmFtaWx5TmFtZSIgaWQ9Ijo6U3R1ZGVudDo6ZmFtaWx5TmFtZSI+Ci0gICAgICA8d2ViaWRs
PiAgYXR0cmlidXRlIERPTVN0cmluZz8gZmFtaWx5TmFtZTs8L3dlYmlkbD4KLSAgICAgIDxUeXBl
IHR5cGU9IkRPTVN0cmluZyIgbnVsbGFibGU9Im51bGxhYmxlIi8+Ci0gICAgPC9BdHRyaWJ1dGU+
Ci0gICAgPEF0dHJpYnV0ZSBuYW1lPSJnaXZlbk5hbWUiIGlkPSI6OlN0dWRlbnQ6OmdpdmVuTmFt
ZSI+Ci0gICAgICA8d2ViaWRsPiAgYXR0cmlidXRlIERPTVN0cmluZyBnaXZlbk5hbWU7PC93ZWJp
ZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJET01TdHJpbmciLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAg
ICA8T3BlcmF0aW9uIHN0cmluZ2lmaWVyPSJzdHJpbmdpZmllciI+Ci0gICAgICA8d2ViaWRsPiAg
c3RyaW5naWZpZXIgRE9NU3RyaW5nICgpOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0iRE9N
U3RyaW5nIi8+Ci0gICAgICA8QXJndW1lbnRMaXN0Lz4KLSAgICA8L09wZXJhdGlvbj4KLSAgPC9J
bnRlcmZhY2U+Ci08L0RlZmluaXRpb25zPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9j
L3Rlc3QvdmFsaWQveG1sL3N0cmluZ2lmaWVyLndpZGxwcm9jeG1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxw
cm9jL3Rlc3QvdmFsaWQveG1sL3N0cmluZ2lmaWVyLndpZGxwcm9jeG1sCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCA0YTE4YjgwYjcwNC4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL3N0cmluZ2lmaWVyLndpZGxwcm9jeG1sCisrKyAvZGV2
L251bGwKQEAgLTEsMjkgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRG
LTgiPz4KLTwhRE9DVFlQRSBEZWZpbml0aW9ucyBTWVNURU0gIndpZGxwcm9jeG1sLmR0ZCI+Ci08
RGVmaW5pdGlvbnM+Ci0gIDx3ZWJpZGw+aW50ZXJmYWNlIEEgewotICBzdHJpbmdpZmllciBET01T
dHJpbmcgKCk7Ci19OwotCi1pbnRlcmZhY2UgQSB7Ci0gIHN0cmluZ2lmaWVyOwotfTs8L3dlYmlk
bD4KLSAgPEludGVyZmFjZSBuYW1lPSJBIiBpZD0iOjpBIj4KLSAgICA8d2ViaWRsPmludGVyZmFj
ZSBBIHsKLSAgc3RyaW5naWZpZXIgRE9NU3RyaW5nICgpOwotfTs8L3dlYmlkbD4KLSAgICA8T3Bl
cmF0aW9uIHN0cmluZ2lmaWVyPSJzdHJpbmdpZmllciI+Ci0gICAgICA8d2ViaWRsPiAgc3RyaW5n
aWZpZXIgRE9NU3RyaW5nICgpOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0iRE9NU3RyaW5n
Ii8+Ci0gICAgICA8QXJndW1lbnRMaXN0Lz4KLSAgICA8L09wZXJhdGlvbj4KLSAgPC9JbnRlcmZh
Y2U+Ci0gIDxJbnRlcmZhY2UgbmFtZT0iQSIgaWQ9Ijo6QSI+Ci0gICAgPHdlYmlkbD5pbnRlcmZh
Y2UgQSB7Ci0gIHN0cmluZ2lmaWVyOwotfTs8L3dlYmlkbD4KLSAgICA8U3RyaW5naWZpZXI+Ci0g
ICAgICA8d2ViaWRsPiAgc3RyaW5naWZpZXI7PC93ZWJpZGw+Ci0gICAgPC9TdHJpbmdpZmllcj4K
LSAgPC9JbnRlcmZhY2U+Ci08L0RlZmluaXRpb25zPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dp
ZGxwcm9jL3Rlc3QvdmFsaWQveG1sL3RyZWF0YXNudWxsLndpZGxwcm9jeG1sIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL3RyZWF0YXNudWxsLndpZGxwcm9jeG1sCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhNTdhZTE2M2YwYi4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL3RyZWF0YXNudWxsLndpZGxwcm9jeG1sCisr
KyAvZGV2L251bGwKQEAgLTEsNDAgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGlu
Zz0iVVRGLTgiPz4KLTwhRE9DVFlQRSBEZWZpbml0aW9ucyBTWVNURU0gIndpZGxwcm9jeG1sLmR0
ZCI+Ci08RGVmaW5pdGlvbnM+Ci0gIDx3ZWJpZGw+aW50ZXJmYWNlIERvZyB7Ci0gIGF0dHJpYnV0
ZSBET01TdHJpbmcgbmFtZTsKLSAgYXR0cmlidXRlIERPTVN0cmluZyBvd25lcjsKLQotICBib29s
ZWFuIGlzTWVtYmVyT2ZCcmVlZChbVHJlYXROdWxsQXM9RW1wdHlTdHJpbmddIERPTVN0cmluZyBi
cmVlZE5hbWUpOwotfTs8L3dlYmlkbD4KLSAgPEludGVyZmFjZSBuYW1lPSJEb2ciIGlkPSI6OkRv
ZyI+Ci0gICAgPHdlYmlkbD5pbnRlcmZhY2UgRG9nIHsKLSAgYXR0cmlidXRlIERPTVN0cmluZyBu
YW1lOwotICBhdHRyaWJ1dGUgRE9NU3RyaW5nIG93bmVyOwotCi0gIGJvb2xlYW4gaXNNZW1iZXJP
ZkJyZWVkKFtUcmVhdE51bGxBcz1FbXB0eVN0cmluZ10gRE9NU3RyaW5nIGJyZWVkTmFtZSk7Ci19
Ozwvd2ViaWRsPgotICAgIDxBdHRyaWJ1dGUgbmFtZT0ibmFtZSIgaWQ9Ijo6RG9nOjpuYW1lIj4K
LSAgICAgIDx3ZWJpZGw+ICBhdHRyaWJ1dGUgRE9NU3RyaW5nIG5hbWU7PC93ZWJpZGw+Ci0gICAg
ICA8VHlwZSB0eXBlPSJET01TdHJpbmciLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAgICA8QXR0cmli
dXRlIG5hbWU9Im93bmVyIiBpZD0iOjpEb2c6Om93bmVyIj4KLSAgICAgIDx3ZWJpZGw+ICBhdHRy
aWJ1dGUgRE9NU3RyaW5nIG93bmVyOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0iRE9NU3Ry
aW5nIi8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gICAgPE9wZXJhdGlvbiBuYW1lPSJpc01lbWJlck9m
QnJlZWQiIGlkPSI6OkRvZzo6aXNNZW1iZXJPZkJyZWVkIj4KLSAgICAgIDx3ZWJpZGw+ICBib29s
ZWFuIGlzTWVtYmVyT2ZCcmVlZChbVHJlYXROdWxsQXM9RW1wdHlTdHJpbmddIERPTVN0cmluZyBi
cmVlZE5hbWUpOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0iYm9vbGVhbiIvPgotICAgICAg
PEFyZ3VtZW50TGlzdD4KLSAgICAgICAgPEFyZ3VtZW50IG5hbWU9ImJyZWVkTmFtZSI+Ci0gICAg
ICAgICAgPEV4dGVuZGVkQXR0cmlidXRlTGlzdD4KLSAgICAgICAgICAgIDxFeHRlbmRlZEF0dHJp
YnV0ZSBuYW1lPSJUcmVhdE51bGxBcyIgdmFsdWU9IkVtcHR5U3RyaW5nIj4KLSAgICAgICAgICAg
ICAgPHdlYmlkbD5UcmVhdE51bGxBczwvd2ViaWRsPgotICAgICAgICAgICAgPC9FeHRlbmRlZEF0
dHJpYnV0ZT4KLSAgICAgICAgICA8L0V4dGVuZGVkQXR0cmlidXRlTGlzdD4KLSAgICAgICAgICA8
VHlwZSB0eXBlPSJET01TdHJpbmciLz4KLSAgICAgICAgPC9Bcmd1bWVudD4KLSAgICAgIDwvQXJn
dW1lbnRMaXN0PgotICAgIDwvT3BlcmF0aW9uPgotICA8L0ludGVyZmFjZT4KLTwvRGVmaW5pdGlv
bnM+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvdHJlYXRh
c3VuZGVmaW5lZC53aWRscHJvY3htbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3ht
bC90cmVhdGFzdW5kZWZpbmVkLndpZGxwcm9jeG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAxN2U3MTA4MWRhMC4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rl
c3QvdmFsaWQveG1sL3RyZWF0YXN1bmRlZmluZWQud2lkbHByb2N4bWwKKysrIC9kZXYvbnVsbApA
QCAtMSw0MCArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/Pgot
PCFET0NUWVBFIERlZmluaXRpb25zIFNZU1RFTSAid2lkbHByb2N4bWwuZHRkIj4KLTxEZWZpbml0
aW9ucz4KLSAgPHdlYmlkbD5pbnRlcmZhY2UgQ2F0IHsKLSAgYXR0cmlidXRlIERPTVN0cmluZyBu
YW1lOwotICBhdHRyaWJ1dGUgRE9NU3RyaW5nIG93bmVyOwotCi0gIGJvb2xlYW4gaXNNZW1iZXJP
ZkJyZWVkKFtUcmVhdFVuZGVmaW5lZEFzPUVtcHR5U3RyaW5nXSBET01TdHJpbmcgYnJlZWROYW1l
KTsKLX07PC93ZWJpZGw+Ci0gIDxJbnRlcmZhY2UgbmFtZT0iQ2F0IiBpZD0iOjpDYXQiPgotICAg
IDx3ZWJpZGw+aW50ZXJmYWNlIENhdCB7Ci0gIGF0dHJpYnV0ZSBET01TdHJpbmcgbmFtZTsKLSAg
YXR0cmlidXRlIERPTVN0cmluZyBvd25lcjsKLQotICBib29sZWFuIGlzTWVtYmVyT2ZCcmVlZChb
VHJlYXRVbmRlZmluZWRBcz1FbXB0eVN0cmluZ10gRE9NU3RyaW5nIGJyZWVkTmFtZSk7Ci19Ozwv
d2ViaWRsPgotICAgIDxBdHRyaWJ1dGUgbmFtZT0ibmFtZSIgaWQ9Ijo6Q2F0OjpuYW1lIj4KLSAg
ICAgIDx3ZWJpZGw+ICBhdHRyaWJ1dGUgRE9NU3RyaW5nIG5hbWU7PC93ZWJpZGw+Ci0gICAgICA8
VHlwZSB0eXBlPSJET01TdHJpbmciLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAgICA8QXR0cmlidXRl
IG5hbWU9Im93bmVyIiBpZD0iOjpDYXQ6Om93bmVyIj4KLSAgICAgIDx3ZWJpZGw+ICBhdHRyaWJ1
dGUgRE9NU3RyaW5nIG93bmVyOzwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0iRE9NU3RyaW5n
Ii8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gICAgPE9wZXJhdGlvbiBuYW1lPSJpc01lbWJlck9mQnJl
ZWQiIGlkPSI6OkNhdDo6aXNNZW1iZXJPZkJyZWVkIj4KLSAgICAgIDx3ZWJpZGw+ICBib29sZWFu
IGlzTWVtYmVyT2ZCcmVlZChbVHJlYXRVbmRlZmluZWRBcz1FbXB0eVN0cmluZ10gRE9NU3RyaW5n
IGJyZWVkTmFtZSk7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJib29sZWFuIi8+Ci0gICAg
ICA8QXJndW1lbnRMaXN0PgotICAgICAgICA8QXJndW1lbnQgbmFtZT0iYnJlZWROYW1lIj4KLSAg
ICAgICAgICA8RXh0ZW5kZWRBdHRyaWJ1dGVMaXN0PgotICAgICAgICAgICAgPEV4dGVuZGVkQXR0
cmlidXRlIG5hbWU9IlRyZWF0VW5kZWZpbmVkQXMiIHZhbHVlPSJFbXB0eVN0cmluZyI+Ci0gICAg
ICAgICAgICAgIDx3ZWJpZGw+VHJlYXRVbmRlZmluZWRBczwvd2ViaWRsPgotICAgICAgICAgICAg
PC9FeHRlbmRlZEF0dHJpYnV0ZT4KLSAgICAgICAgICA8L0V4dGVuZGVkQXR0cmlidXRlTGlzdD4K
LSAgICAgICAgICA8VHlwZSB0eXBlPSJET01TdHJpbmciLz4KLSAgICAgICAgPC9Bcmd1bWVudD4K
LSAgICAgIDwvQXJndW1lbnRMaXN0PgotICAgIDwvT3BlcmF0aW9uPgotICA8L0ludGVyZmFjZT4K
LTwvRGVmaW5pdGlvbnM+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxp
ZC94bWwvdHlwZWRlZi53aWRscHJvY3htbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlk
L3htbC90eXBlZGVmLndpZGxwcm9jeG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3
ODVmNjcwNmU2ZC4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFs
aWQveG1sL3R5cGVkZWYud2lkbHByb2N4bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxMDAgKzAsMCBA
QAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KLTwhRE9DVFlQRSBEZWZp
bml0aW9ucyBTWVNURU0gIndpZGxwcm9jeG1sLmR0ZCI+Ci08RGVmaW5pdGlvbnM+Ci0gIDx3ZWJp
ZGw+ICAgICAgaW50ZXJmYWNlIFBvaW50IHsKLSAgICAgICAgYXR0cmlidXRlIGZsb2F0IHg7Ci0g
ICAgICAgIGF0dHJpYnV0ZSBmbG9hdCB5OwotICAgICAgfTsKLQotICAgICAgdHlwZWRlZiBzZXF1
ZW5jZSZsdDs8cmVmPlBvaW50PC9yZWY+PiBQb2ludFNlcXVlbmNlOwotCi0gICAgICBpbnRlcmZh
Y2UgUmVjdCB7Ci0gICAgICAgIGF0dHJpYnV0ZSA8cmVmPlBvaW50PC9yZWY+IHRvcGxlZnQ7Ci0g
ICAgICAgIGF0dHJpYnV0ZSA8cmVmPlBvaW50PC9yZWY+IGJvdHRvbXJpZ2h0OwotICAgICAgfTsK
LQotICBpbnRlcmZhY2UgV2lkZ2V0IHsKLQotICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSA8cmVmPlJl
Y3Q8L3JlZj4gYm91bmRzOwotCi0gICAgYm9vbGVhbiBwb2ludFdpdGhpbkJvdW5kcyg8cmVmPlBv
aW50PC9yZWY+IHApOwotICAgIGJvb2xlYW4gYWxsUG9pbnRzV2l0aGluQm91bmRzKDxyZWY+UG9p
bnRTZXF1ZW5jZTwvcmVmPiBwcyk7Ci0gIH07Ci0KLSAgdHlwZWRlZiBbQ2xhbXBdIG9jdGV0IHZh
bHVlOzwvd2ViaWRsPgotICA8SW50ZXJmYWNlIG5hbWU9IlBvaW50IiBpZD0iOjpQb2ludCI+Ci0g
ICAgPHdlYmlkbD4gICAgICBpbnRlcmZhY2UgUG9pbnQgewotICAgICAgICBhdHRyaWJ1dGUgZmxv
YXQgeDsKLSAgICAgICAgYXR0cmlidXRlIGZsb2F0IHk7Ci0gICAgICB9Ozwvd2ViaWRsPgotICAg
IDxBdHRyaWJ1dGUgbmFtZT0ieCIgaWQ9Ijo6UG9pbnQ6OngiPgotICAgICAgPHdlYmlkbD4gICAg
ICAgIGF0dHJpYnV0ZSBmbG9hdCB4Ozwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0iZmxvYXQi
Lz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAgICA8QXR0cmlidXRlIG5hbWU9InkiIGlkPSI6OlBvaW50
Ojp5Ij4KLSAgICAgIDx3ZWJpZGw+ICAgICAgICBhdHRyaWJ1dGUgZmxvYXQgeTs8L3dlYmlkbD4K
LSAgICAgIDxUeXBlIHR5cGU9ImZsb2F0Ii8+Ci0gICAgPC9BdHRyaWJ1dGU+Ci0gIDwvSW50ZXJm
YWNlPgotICA8VHlwZWRlZiBuYW1lPSJQb2ludFNlcXVlbmNlIiBpZD0iOjpQb2ludFNlcXVlbmNl
Ij4KLSAgICA8d2ViaWRsPiAgICAgIHR5cGVkZWYgc2VxdWVuY2UmbHQ7PHJlZj5Qb2ludDwvcmVm
Pj4gUG9pbnRTZXF1ZW5jZTs8L3dlYmlkbD4KLSAgICA8VHlwZSB0eXBlPSJzZXF1ZW5jZSI+Ci0g
ICAgICA8VHlwZSBuYW1lPSJQb2ludCIvPgotICAgIDwvVHlwZT4KLSAgPC9UeXBlZGVmPgotICA8
SW50ZXJmYWNlIG5hbWU9IlJlY3QiIGlkPSI6OlJlY3QiPgotICAgIDx3ZWJpZGw+ICAgICAgaW50
ZXJmYWNlIFJlY3QgewotICAgICAgICBhdHRyaWJ1dGUgPHJlZj5Qb2ludDwvcmVmPiB0b3BsZWZ0
OwotICAgICAgICBhdHRyaWJ1dGUgPHJlZj5Qb2ludDwvcmVmPiBib3R0b21yaWdodDsKLSAgICAg
IH07PC93ZWJpZGw+Ci0gICAgPEF0dHJpYnV0ZSBuYW1lPSJ0b3BsZWZ0IiBpZD0iOjpSZWN0Ojp0
b3BsZWZ0Ij4KLSAgICAgIDx3ZWJpZGw+ICAgICAgICBhdHRyaWJ1dGUgPHJlZj5Qb2ludDwvcmVm
PiB0b3BsZWZ0Ozwvd2ViaWRsPgotICAgICAgPFR5cGUgbmFtZT0iUG9pbnQiLz4KLSAgICA8L0F0
dHJpYnV0ZT4KLSAgICA8QXR0cmlidXRlIG5hbWU9ImJvdHRvbXJpZ2h0IiBpZD0iOjpSZWN0Ojpi
b3R0b21yaWdodCI+Ci0gICAgICA8d2ViaWRsPiAgICAgICAgYXR0cmlidXRlIDxyZWY+UG9pbnQ8
L3JlZj4gYm90dG9tcmlnaHQ7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSBuYW1lPSJQb2ludCIvPgot
ICAgIDwvQXR0cmlidXRlPgotICA8L0ludGVyZmFjZT4KLSAgPEludGVyZmFjZSBuYW1lPSJXaWRn
ZXQiIGlkPSI6OldpZGdldCI+Ci0gICAgPHdlYmlkbD4gIGludGVyZmFjZSBXaWRnZXQgewotCi0g
ICAgcmVhZG9ubHkgYXR0cmlidXRlIDxyZWY+UmVjdDwvcmVmPiBib3VuZHM7Ci0KLSAgICBib29s
ZWFuIHBvaW50V2l0aGluQm91bmRzKDxyZWY+UG9pbnQ8L3JlZj4gcCk7Ci0gICAgYm9vbGVhbiBh
bGxQb2ludHNXaXRoaW5Cb3VuZHMoPHJlZj5Qb2ludFNlcXVlbmNlPC9yZWY+IHBzKTsKLSAgfTs8
L3dlYmlkbD4KLSAgICA8QXR0cmlidXRlIHJlYWRvbmx5PSJyZWFkb25seSIgbmFtZT0iYm91bmRz
IiBpZD0iOjpXaWRnZXQ6OmJvdW5kcyI+Ci0gICAgICA8d2ViaWRsPiAgICByZWFkb25seSBhdHRy
aWJ1dGUgPHJlZj5SZWN0PC9yZWY+IGJvdW5kczs8L3dlYmlkbD4KLSAgICAgIDxUeXBlIG5hbWU9
IlJlY3QiLz4KLSAgICA8L0F0dHJpYnV0ZT4KLSAgICA8T3BlcmF0aW9uIG5hbWU9InBvaW50V2l0
aGluQm91bmRzIiBpZD0iOjpXaWRnZXQ6OnBvaW50V2l0aGluQm91bmRzIj4KLSAgICAgIDx3ZWJp
ZGw+ICAgIGJvb2xlYW4gcG9pbnRXaXRoaW5Cb3VuZHMoPHJlZj5Qb2ludDwvcmVmPiBwKTs8L3dl
YmlkbD4KLSAgICAgIDxUeXBlIHR5cGU9ImJvb2xlYW4iLz4KLSAgICAgIDxBcmd1bWVudExpc3Q+
Ci0gICAgICAgIDxBcmd1bWVudCBuYW1lPSJwIj4KLSAgICAgICAgICA8VHlwZSBuYW1lPSJQb2lu
dCIvPgotICAgICAgICA8L0FyZ3VtZW50PgotICAgICAgPC9Bcmd1bWVudExpc3Q+Ci0gICAgPC9P
cGVyYXRpb24+Ci0gICAgPE9wZXJhdGlvbiBuYW1lPSJhbGxQb2ludHNXaXRoaW5Cb3VuZHMiIGlk
PSI6OldpZGdldDo6YWxsUG9pbnRzV2l0aGluQm91bmRzIj4KLSAgICAgIDx3ZWJpZGw+ICAgIGJv
b2xlYW4gYWxsUG9pbnRzV2l0aGluQm91bmRzKDxyZWY+UG9pbnRTZXF1ZW5jZTwvcmVmPiBwcyk7
PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJib29sZWFuIi8+Ci0gICAgICA8QXJndW1lbnRM
aXN0PgotICAgICAgICA8QXJndW1lbnQgbmFtZT0icHMiPgotICAgICAgICAgIDxUeXBlIG5hbWU9
IlBvaW50U2VxdWVuY2UiLz4KLSAgICAgICAgPC9Bcmd1bWVudD4KLSAgICAgIDwvQXJndW1lbnRM
aXN0PgotICAgIDwvT3BlcmF0aW9uPgotICA8L0ludGVyZmFjZT4KLSAgPFR5cGVkZWYgbmFtZT0i
dmFsdWUiIGlkPSI6OnZhbHVlIj4KLSAgICA8d2ViaWRsPiAgdHlwZWRlZiBbQ2xhbXBdIG9jdGV0
IHZhbHVlOzwvd2ViaWRsPgotICAgIDxUeXBlIHR5cGU9Im9jdGV0Ij4KLSAgICAgIDxFeHRlbmRl
ZEF0dHJpYnV0ZUxpc3Q+Ci0gICAgICAgIDxFeHRlbmRlZEF0dHJpYnV0ZSBuYW1lPSJDbGFtcCI+
Ci0gICAgICAgICAgPHdlYmlkbD5DbGFtcDwvd2ViaWRsPgotICAgICAgICA8L0V4dGVuZGVkQXR0
cmlidXRlPgotICAgICAgPC9FeHRlbmRlZEF0dHJpYnV0ZUxpc3Q+Ci0gICAgPC9UeXBlPgotICA8
L1R5cGVkZWY+Ci08L0RlZmluaXRpb25zPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9j
L3Rlc3QvdmFsaWQveG1sL3R5cGVzdWZmaXhlcy53aWRscHJvY3htbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRs
cHJvYy90ZXN0L3ZhbGlkL3htbC90eXBlc3VmZml4ZXMud2lkbHByb2N4bWwKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDgzMGZlNjJiYzBkLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvdHlwZXN1ZmZpeGVzLndpZGxwcm9jeG1sCisrKyAv
ZGV2L251bGwKQEAgLTEsMjUgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0i
VVRGLTgiPz4KLTwhRE9DVFlQRSBEZWZpbml0aW9ucyBTWVNURU0gIndpZGxwcm9jeG1sLmR0ZCI+
Ci08RGVmaW5pdGlvbnM+Ci0gIDx3ZWJpZGw+aW50ZXJmYWNlIFN1ZmZpeGVzIHsKLSAgdm9pZCB0
ZXN0KHNlcXVlbmNlJmx0O0RPTVN0cmluZ1tdPz4/IGZvbyk7Ci19Ozwvd2ViaWRsPgotICA8SW50
ZXJmYWNlIG5hbWU9IlN1ZmZpeGVzIiBpZD0iOjpTdWZmaXhlcyI+Ci0gICAgPHdlYmlkbD5pbnRl
cmZhY2UgU3VmZml4ZXMgewotICB2b2lkIHRlc3Qoc2VxdWVuY2UmbHQ7RE9NU3RyaW5nW10/Pj8g
Zm9vKTsKLX07PC93ZWJpZGw+Ci0gICAgPE9wZXJhdGlvbiBuYW1lPSJ0ZXN0IiBpZD0iOjpTdWZm
aXhlczo6dGVzdCI+Ci0gICAgICA8d2ViaWRsPiAgdm9pZCB0ZXN0KHNlcXVlbmNlJmx0O0RPTVN0
cmluZ1tdPz4/IGZvbyk7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJ2b2lkIi8+Ci0gICAg
ICA8QXJndW1lbnRMaXN0PgotICAgICAgICA8QXJndW1lbnQgbmFtZT0iZm9vIj4KLSAgICAgICAg
ICA8VHlwZSB0eXBlPSJzZXF1ZW5jZSIgbnVsbGFibGU9Im51bGxhYmxlIj4KLSAgICAgICAgICAg
IDxUeXBlIHR5cGU9ImFycmF5IiBudWxsYWJsZT0ibnVsbGFibGUiPgotICAgICAgICAgICAgICA8
VHlwZSB0eXBlPSJET01TdHJpbmciLz4KLSAgICAgICAgICAgIDwvVHlwZT4KLSAgICAgICAgICA8
L1R5cGU+Ci0gICAgICAgIDwvQXJndW1lbnQ+Ci0gICAgICA8L0FyZ3VtZW50TGlzdD4KLSAgICA8
L09wZXJhdGlvbj4KLSAgPC9JbnRlcmZhY2U+Ci08L0RlZmluaXRpb25zPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2Vi
aWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL3VuaW9udHlwZS53aWRscHJvY3htbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC91bmlvbnR5cGUud2lkbHByb2N4bWwK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDdkMDg4MDc5OTU2Li4wMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvdW5pb250eXBlLndpZGxwcm9j
eG1sCisrKyAvZGV2L251bGwKQEAgLTEsMjYgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBl
bmNvZGluZz0iVVRGLTgiPz4KLTwhRE9DVFlQRSBEZWZpbml0aW9ucyBTWVNURU0gIndpZGxwcm9j
eG1sLmR0ZCI+Ci08RGVmaW5pdGlvbnM+Ci0gIDx3ZWJpZGw+aW50ZXJmYWNlIFVuaW9uIHsKLSBh
dHRyaWJ1dGUgKGZsb2F0IG9yIChEYXRlIG9yIDxyZWY+RXZlbnQ8L3JlZj4pIG9yICg8cmVmPk5v
ZGU8L3JlZj4gb3IgRE9NU3RyaW5nKT8pIHRlc3Q7Ci19Ozwvd2ViaWRsPgotICA8SW50ZXJmYWNl
IG5hbWU9IlVuaW9uIiBpZD0iOjpVbmlvbiI+Ci0gICAgPHdlYmlkbD5pbnRlcmZhY2UgVW5pb24g
ewotIGF0dHJpYnV0ZSAoZmxvYXQgb3IgKERhdGUgb3IgPHJlZj5FdmVudDwvcmVmPikgb3IgKDxy
ZWY+Tm9kZTwvcmVmPiBvciBET01TdHJpbmcpPykgdGVzdDsKLX07PC93ZWJpZGw+Ci0gICAgPEF0
dHJpYnV0ZSBuYW1lPSJ0ZXN0IiBpZD0iOjpVbmlvbjo6dGVzdCI+Ci0gICAgICA8d2ViaWRsPiBh
dHRyaWJ1dGUgKGZsb2F0IG9yIChEYXRlIG9yIDxyZWY+RXZlbnQ8L3JlZj4pIG9yICg8cmVmPk5v
ZGU8L3JlZj4gb3IgRE9NU3RyaW5nKT8pIHRlc3Q7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBl
PSJ1bmlvbiI+Ci0gICAgICAgIDxUeXBlIHR5cGU9ImZsb2F0Ii8+Ci0gICAgICAgIDxUeXBlIHR5
cGU9InVuaW9uIj4KLSAgICAgICAgICA8VHlwZSB0eXBlPSJEYXRlIi8+Ci0gICAgICAgICAgPFR5
cGUgbmFtZT0iRXZlbnQiLz4KLSAgICAgICAgPC9UeXBlPgotICAgICAgICA8VHlwZSB0eXBlPSJ1
bmlvbiIgbnVsbGFibGU9Im51bGxhYmxlIj4KLSAgICAgICAgICA8VHlwZSBuYW1lPSJOb2RlIi8+
Ci0gICAgICAgICAgPFR5cGUgdHlwZT0iRE9NU3RyaW5nIi8+Ci0gICAgICAgIDwvVHlwZT4KLSAg
ICAgIDwvVHlwZT4KLSAgICA8L0F0dHJpYnV0ZT4KLSAgPC9JbnRlcmZhY2U+Ci08L0RlZmluaXRp
b25zPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL3Zhcmlh
ZGljLW9wZXJhdGlvbnMud2lkbHByb2N4bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxp
ZC94bWwvdmFyaWFkaWMtb3BlcmF0aW9ucy53aWRscHJvY3htbApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMGJjOWY3ODQ0MTMuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRs
cHJvYy90ZXN0L3ZhbGlkL3htbC92YXJpYWRpYy1vcGVyYXRpb25zLndpZGxwcm9jeG1sCisrKyAv
ZGV2L251bGwKQEAgLTEsNDAgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0i
VVRGLTgiPz4KLTwhRE9DVFlQRSBEZWZpbml0aW9ucyBTWVNURU0gIndpZGxwcm9jeG1sLmR0ZCI+
Ci08RGVmaW5pdGlvbnM+Ci0gIDx3ZWJpZGw+aW50ZXJmYWNlIEludGVnZXJTZXQgewotICByZWFk
b25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBjYXJkaW5hbGl0eTsKLQotICB2b2lkIHVuaW9u
KGxvbmcuLi4gaW50cyk7Ci0gIHZvaWQgaW50ZXJzZWN0aW9uKGxvbmcuLi4gaW50cyk7Ci19Ozwv
d2ViaWRsPgotICA8SW50ZXJmYWNlIG5hbWU9IkludGVnZXJTZXQiIGlkPSI6OkludGVnZXJTZXQi
PgotICAgIDx3ZWJpZGw+aW50ZXJmYWNlIEludGVnZXJTZXQgewotICByZWFkb25seSBhdHRyaWJ1
dGUgdW5zaWduZWQgbG9uZyBjYXJkaW5hbGl0eTsKLQotICB2b2lkIHVuaW9uKGxvbmcuLi4gaW50
cyk7Ci0gIHZvaWQgaW50ZXJzZWN0aW9uKGxvbmcuLi4gaW50cyk7Ci19Ozwvd2ViaWRsPgotICAg
IDxBdHRyaWJ1dGUgcmVhZG9ubHk9InJlYWRvbmx5IiBuYW1lPSJjYXJkaW5hbGl0eSIgaWQ9Ijo6
SW50ZWdlclNldDo6Y2FyZGluYWxpdHkiPgotICAgICAgPHdlYmlkbD4gIHJlYWRvbmx5IGF0dHJp
YnV0ZSB1bnNpZ25lZCBsb25nIGNhcmRpbmFsaXR5Ozwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlw
ZT0idW5zaWduZWQgbG9uZyIvPgotICAgIDwvQXR0cmlidXRlPgotICAgIDxPcGVyYXRpb24gbmFt
ZT0idW5pb24iIGlkPSI6OkludGVnZXJTZXQ6OnVuaW9uIj4KLSAgICAgIDx3ZWJpZGw+ICB2b2lk
IHVuaW9uKGxvbmcuLi4gaW50cyk7PC93ZWJpZGw+Ci0gICAgICA8VHlwZSB0eXBlPSJ2b2lkIi8+
Ci0gICAgICA8QXJndW1lbnRMaXN0PgotICAgICAgICA8QXJndW1lbnQgZWxsaXBzaXM9ImVsbGlw
c2lzIiBuYW1lPSJpbnRzIj4KLSAgICAgICAgICA8VHlwZSB0eXBlPSJsb25nIi8+Ci0gICAgICAg
IDwvQXJndW1lbnQ+Ci0gICAgICA8L0FyZ3VtZW50TGlzdD4KLSAgICA8L09wZXJhdGlvbj4KLSAg
ICA8T3BlcmF0aW9uIG5hbWU9ImludGVyc2VjdGlvbiIgaWQ9Ijo6SW50ZWdlclNldDo6aW50ZXJz
ZWN0aW9uIj4KLSAgICAgIDx3ZWJpZGw+ICB2b2lkIGludGVyc2VjdGlvbihsb25nLi4uIGludHMp
Ozwvd2ViaWRsPgotICAgICAgPFR5cGUgdHlwZT0idm9pZCIvPgotICAgICAgPEFyZ3VtZW50TGlz
dD4KLSAgICAgICAgPEFyZ3VtZW50IGVsbGlwc2lzPSJlbGxpcHNpcyIgbmFtZT0iaW50cyI+Ci0g
ICAgICAgICAgPFR5cGUgdHlwZT0ibG9uZyIvPgotICAgICAgICA8L0FyZ3VtZW50PgotICAgICAg
PC9Bcmd1bWVudExpc3Q+Ci0gICAgPC9PcGVyYXRpb24+Ci0gIDwvSW50ZXJmYWNlPgotPC9EZWZp
bml0aW9ucz4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC93
M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC93M2MtaW1w
b3J0LmxvZwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjRkMTIzZWUxZWYuLjAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC93M2MtaW1wb3J0
LmxvZworKysgL2Rldi9udWxsCkBAIC0xLDY3ICswLDAgQEAKLVRoZSB0ZXN0cyBpbiB0aGlzIGRp
cmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgotRG8gTk9UIG1v
ZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBw
dWxsIHJlcXVlc3Qgb24gdGhlIFczQyBDU1Mgb3IgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1
Yi5jb20vdzNjL2Nzc3dnLXRlc3QKLQlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cwotCi1UaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGlu
IFdlYktpdCB0byByZWltcG9ydAotCi1EbyBOT1QgbW9kaWZ5IG9yIHJlbW92ZSB0aGlzIGZpbGUu
Ci0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLQotUHJvcGVydGllcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVz
OgotTm9uZQotUHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6Ci1Ob25l
Ci0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0KLUxpc3Qgb2YgZmlsZXM6Ci0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rl
c3QvdmFsaWQveG1sL2FsbG93YW55LndpZGxwcm9jeG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rl
c3QvdmFsaWQveG1sL2FycmF5LndpZGxwcm9jeG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3Qv
dmFsaWQveG1sL2F0dHJpYnV0ZXMud2lkbHByb2N4bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVz
dC92YWxpZC94bWwvY2FsbGJhY2sud2lkbHByb2N4bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVz
dC92YWxpZC94bWwvY2FsbGVyLndpZGxwcm9jeG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3Qv
dmFsaWQveG1sL2NvbnN0YW50cy53aWRscHJvY3htbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0
L3ZhbGlkL3htbC9jb25zdHJ1Y3Rvci53aWRscHJvY3htbAotL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90
ZXN0L3ZhbGlkL3htbC9kaWN0aW9uYXJ5LWluaGVyaXRzLndpZGxwcm9jeG1sCi0vTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL2RpY3Rpb25hcnkud2lkbHByb2N4bWwKLS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvZG9jdW1lbnRhdGlvbi1kb3Mud2lkbHByb2N4bWwK
LS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvZG9jdW1lbnRhdGlvbi53aWRscHJv
Y3htbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9lbnVtLndpZGxwcm9jeG1s
Ci0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL2VxdWl2YWxlbnQtZGVjbC53aWRs
cHJvY3htbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9leGNlcHRpb24taW5o
ZXJpdGFuY2Uud2lkbHByb2N4bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwv
ZXhjZXB0aW9uLndpZGxwcm9jeG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1s
L2dldHRlci1zZXR0ZXIud2lkbHByb2N4bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxp
ZC94bWwvaWRlbnRpZmllci1xdWFsaWZpZWQtbmFtZXMud2lkbHByb2N4bWwKLS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
d2lkbHByb2MvdGVzdC92YWxpZC94bWwvaW1wbGVtZW50cy53aWRscHJvY3htbAotL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVz
dC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9pbmRleGVkLXByb3BlcnRpZXMud2lkbHByb2N4bWwK
LS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvaW5oZXJpdHMtZ2V0dGVyLndpZGxw
cm9jeG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL2ludGVyZmFjZS1pbmhl
cml0cy53aWRscHJvY3htbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9pdGVy
YXRvci53aWRscHJvY3htbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9tb2R1
bGUud2lkbHByb2N4bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvbmFtZWRj
b25zdHJ1Y3Rvci53aWRscHJvY3htbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3ht
bC9uYW1lc3BhY2VvYmplY3Qud2lkbHByb2N4bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92
YWxpZC94bWwvbm9pbnRlcmZhY2VvYmplY3Qud2lkbHByb2N4bWwKLS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHBy
b2MvdGVzdC92YWxpZC94bWwvbnVsbGFibGUud2lkbHByb2N4bWwKLS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHBy
b2MvdGVzdC92YWxpZC94bWwvbnVsbGFibGVvYmplY3RzLndpZGxwcm9jeG1sCi0vTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL29wZXJhdGlvbi1vcHRpb25hbC1hcmcud2lkbHByb2N4
bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvb3ZlcmxvYWRpbmcud2lkbHBy
b2N4bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvb3ZlcnJpZGVidWlsdGlu
cy53aWRscHJvY3htbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9wYXJ0aWFs
LWludGVyZmFjZS53aWRscHJvY3htbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3ht
bC9wcmltaXRpdmVzLndpZGxwcm9jeG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQv
eG1sL3Byb3RvdHlwZXJvb3Qud2lkbHByb2N4bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92
YWxpZC94bWwvcHV0Zm9yd2FyZHMud2lkbHByb2N4bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVz
dC92YWxpZC94bWwvcmVnLW9wZXJhdGlvbnMud2lkbHByb2N4bWwKLS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHBy
b2MvdGVzdC92YWxpZC94bWwvcmVwbGFjZWFibGUud2lkbHByb2N4bWwKLS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lk
bHByb2MvdGVzdC92YWxpZC94bWwvc2VxdWVuY2Uud2lkbHByb2N4bWwKLS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lk
bHByb2MvdGVzdC92YWxpZC94bWwvc2VyaWFsaXplci53aWRscHJvY3htbAotL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93
aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9zcGVjaWFsLW9taXR0YWJsZS53aWRscHJvY3htbAotL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9zdGF0aWMud2lkbHByb2N4bWwKLS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwy
L3Rlc3Qvd2lkbHByb2MvdGVzdC92YWxpZC94bWwvc3RyaW5naWZpZXItYXR0cmlidXRlLndpZGxw
cm9jeG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdmFsaWQveG1sL3N0cmluZ2lmaWVyLWN1
c3RvbS53aWRscHJvY3htbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC9zdHJp
bmdpZmllci53aWRscHJvY3htbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3htbC90
cmVhdGFzbnVsbC53aWRscHJvY3htbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90ZXN0L3ZhbGlkL3ht
bC90cmVhdGFzdW5kZWZpbmVkLndpZGxwcm9jeG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3Qv
dmFsaWQveG1sL3R5cGVkZWYud2lkbHByb2N4bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC92
YWxpZC94bWwvdHlwZXN1ZmZpeGVzLndpZGxwcm9jeG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rl
c3QvdmFsaWQveG1sL3VuaW9udHlwZS53aWRscHJvY3htbAotL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy90
ZXN0L3ZhbGlkL3htbC92YXJpYWRpYy1vcGVyYXRpb25zLndpZGxwcm9jeG1sCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93
ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdGVzdC93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRs
cHJvYy90ZXN0L3czYy1pbXBvcnQubG9nCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBl
NGRmYjE3YTE5MS4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL3Rlc3QvdzNj
LWltcG9ydC5sb2cKKysrIC9kZXYvbnVsbApAQCAtMSwxOCArMCwwIEBACi1UaGUgdGVzdHMgaW4g
dGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KLURv
IE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVhZCwgY3Jl
YXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXM0MgQ1NTIG9yIFdQVCBnaXRodWI6Ci0JaHR0cHM6
Ly9naXRodWIuY29tL3czYy9jc3N3Zy10ZXN0Ci0JaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMKLQotVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10
ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKLQotRG8gTk9UIG1vZGlmeSBvciByZW1vdmUgdGhp
cyBmaWxlLgotCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLVByb3BlcnRpZXMgcmVxdWlyaW5nIHZlbmRvciBw
cmVmaXhlczoKLU5vbmUKLVByb3BlcnR5IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVz
OgotTm9uZQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1MaXN0IG9mIGZpbGVzOgotL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRs
cHJvYy90ZXN0L01ha2VmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdzNjLWlt
cG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvdzNjLWltcG9ydC5sb2cKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDdmZDE0MTRkNzYzLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rl
c3Qvd2lkbHByb2MvdzNjLWltcG9ydC5sb2cKKysrIC9kZXYvbnVsbApAQCAtMSwyMCArMCwwIEBA
Ci1UaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0Mg
cmVwb3NpdG9yeS4KLURvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0
LgotSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXM0MgQ1NTIG9yIFdQVCBn
aXRodWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy10ZXN0Ci0JaHR0cHM6Ly9naXRo
dWIuY29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMKLQotVGhlbiBydW4gdGhlIFRvb2xzL1Njcmlw
dHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKLQotRG8gTk9UIG1vZGlm
eSBvciByZW1vdmUgdGhpcyBmaWxlLgotCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLVByb3BlcnRpZXMgcmVx
dWlyaW5nIHZlbmRvciBwcmVmaXhlczoKLU5vbmUKLVByb3BlcnR5IHZhbHVlcyByZXF1aXJpbmcg
dmVuZG9yIHByZWZpeGVzOgotTm9uZQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1MaXN0IG9mIGZpbGVzOgot
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC93aWRscHJvYy9MSUNFTlNFCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL01ha2VmaWxl
Ci0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3dpZGxwcm9jL1JFQURNRS5tZApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dy
aXRlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC93cml0ZXIuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IGU4NDA3NmI0ZjI4Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd3JpdGVyLmpzCisr
KyAvZGV2L251bGwKQEAgLTEsMjMgKzAsMCBAQAotInVzZSBzdHJpY3QiOwotCi1jb25zdCB7IGNv
bGxlY3QgfSA9IHJlcXVpcmUoIi4vdXRpbC9jb2xsZWN0Iik7Ci1jb25zdCB3cCA9IHJlcXVpcmUo
Ii4uL2xpYi93ZWJpZGwyIik7Ci1jb25zdCB3cml0ZXIgPSByZXF1aXJlKCIuLi9saWIvd3JpdGVy
Iik7Ci1jb25zdCBleHBlY3QgPSByZXF1aXJlKCJleHBlY3QiKTsKLWNvbnN0IGRlYnVnID0gdHJ1
ZTsKLQotZGVzY3JpYmUoIlJld3JpdGUgYW5kIHBhcnNlcyBhbGwgb2YgdGhlIElETHMgdG8gcHJv
ZHVjZSB0aGUgc2FtZSBBU1RzIiwgKCkgPT4gewotICBmb3IgKGNvbnN0IHRlc3Qgb2YgY29sbGVj
dCgic3ludGF4IikpIHsKLSAgICBpdChgc2hvdWxkIHByb2R1Y2UgdGhlIHNhbWUgQVNUIGZvciAk
e3Rlc3QucGF0aH1gLCAoKSA9PiB7Ci0gICAgICB0cnkgewotICAgICAgICBjb25zdCBkaWZmID0g
dGVzdC5kaWZmKHdwLnBhcnNlKHdyaXRlci53cml0ZSh0ZXN0LmFzdCksIHRlc3Qub3B0KSk7Ci0g
ICAgICAgIGlmIChkaWZmICYmIGRlYnVnKSBjb25zb2xlLmxvZyhKU09OLnN0cmluZ2lmeShkaWZm
LCBudWxsLCA0KSk7Ci0gICAgICAgIGV4cGVjdChkaWZmKS50b0JlKHVuZGVmaW5lZCk7Ci0gICAg
ICB9Ci0gICAgICBjYXRjaCAoZSkgewotICAgICAgICBjb25zb2xlLmxvZyhlLnRvU3RyaW5nKCkp
OwotICAgICAgICB0aHJvdyBlOwotICAgICAgfQotICAgIH0pOwotICB9Ci19KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3czYy1pbXBvcnQubG9nCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCA4MjQ1OWVjMjU3OC4uMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi93
M2MtaW1wb3J0LmxvZworKysgL2Rldi9udWxsCkBAIC0xLDIzICswLDAgQEAKLVRoZSB0ZXN0cyBp
biB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5Lgot
RG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBj
cmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRodWIu
Y29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQKLQotVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMv
aW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKLQotRG8gTk9UIG1vZGlmeSBv
ciByZW1vdmUgdGhpcyBmaWxlLgotCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLVByb3BlcnRpZXMgcmVxdWly
aW5nIHZlbmRvciBwcmVmaXhlczoKLU5vbmUKLVByb3BlcnR5IHZhbHVlcyByZXF1aXJpbmcgdmVu
ZG9yIHByZWZpeGVzOgotTm9uZQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1MaXN0IG9mIGZpbGVzOgotL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvQ0hBTkdFTE9HLm1kCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi9MSUNFTlNFCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi9SRUFETUUubWQKLS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL2Nv
dmVyYWdlLmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL2luZGV4LmpzCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi9wYWNrYWdlLWxvY2suanNvbgotL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvcGFja2FnZS5qc29uCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>